From a430f9f2251719b6c01986fd20b4194dba923b06 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Sat, 24 Feb 2024 00:13:40 +0000 Subject: [PATCH 001/168] Remove generated code --- ebcc/codegen/GCC2.py | 610 -- ebcc/codegen/GCC3.py | 440 -- ebcc/codegen/GCCD.py | 238 - ebcc/codegen/GCCSD.py | 1838 ------ ebcc/codegen/GCCSDT.py | 1692 ------ ebcc/codegen/GCCSDTQ.py | 3160 ---------- ebcc/codegen/GCCSD_SD_1_1.py | 1598 ----- ebcc/codegen/GCCSD_SD_1_2.py | 2137 ------- ebcc/codegen/GCCSD_S_1_1.py | 1502 ----- ebcc/codegen/GCCSDt.py | 1550 ----- ebcc/codegen/GCCSDtp.py | 966 --- ebcc/codegen/GCCSDxTx.py | 235 - ebcc/codegen/GMP2.py | 13 - ebcc/codegen/GMP3.py | 22 - ebcc/codegen/GQCISD.py | 101 - ebcc/codegen/RCC2.py | 1308 ----- ebcc/codegen/RCC3.py | 568 -- ebcc/codegen/RCCD.py | 518 -- ebcc/codegen/RCCSD.py | 1499 ----- ebcc/codegen/RCCSDT.py | 6763 --------------------- ebcc/codegen/RCCSD_SD_1_1.py | 2150 ------- ebcc/codegen/RCCSD_SD_1_2.py | 2708 --------- ebcc/codegen/RCCSD_S_1_1.py | 2072 ------- ebcc/codegen/RCCSDt.py | 3121 ---------- ebcc/codegen/RCCSDtp.py | 987 ---- ebcc/codegen/RCCSDxTx.py | 418 -- ebcc/codegen/RDCD.py | 92 - ebcc/codegen/RDCSD.py | 293 - ebcc/codegen/RDFCC2.py | 1396 ----- ebcc/codegen/RDFCCD.py | 266 - ebcc/codegen/RDFCCSD.py | 1618 ----- ebcc/codegen/RDFDCD.py | 106 - ebcc/codegen/RDFDCSD.py | 342 -- ebcc/codegen/RDFQCISD.py | 172 - ebcc/codegen/RMP2.py | 17 - ebcc/codegen/RMP3.py | 50 - ebcc/codegen/RQCISD.py | 141 - ebcc/codegen/UCC2.py | 2275 ------- ebcc/codegen/UCC3.py | 1785 ------ ebcc/codegen/UCCD.py | 953 --- ebcc/codegen/UCCSD.py | 7377 ----------------------- ebcc/codegen/UCCSDT.py | 9150 ----------------------------- ebcc/codegen/UCCSD_SD_1_1.py | 6108 ------------------- ebcc/codegen/UCCSD_SD_1_2.py | 7430 ----------------------- ebcc/codegen/UCCSD_S_1_1.py | 5962 ------------------- ebcc/codegen/UCCSDt.py | 10413 --------------------------------- ebcc/codegen/UCCSDtp.py | 7454 ----------------------- ebcc/codegen/UCCSDxTx.py | 1029 ---- ebcc/codegen/UDCD.py | 254 - ebcc/codegen/UDCSD.py | 785 --- ebcc/codegen/UDFCC2.py | 2363 -------- ebcc/codegen/UDFCCD.py | 661 --- ebcc/codegen/UDFCCSD.py | 2898 --------- ebcc/codegen/UDFDCD.py | 263 - ebcc/codegen/UDFDCSD.py | 836 --- ebcc/codegen/UDFQCISD.py | 438 -- ebcc/codegen/UMP2.py | 15 - ebcc/codegen/UMP3.py | 56 - ebcc/codegen/UQCISD.py | 373 -- 59 files changed, 111585 deletions(-) delete mode 100644 ebcc/codegen/GCC2.py delete mode 100644 ebcc/codegen/GCC3.py delete mode 100644 ebcc/codegen/GCCD.py delete mode 100644 ebcc/codegen/GCCSD.py delete mode 100644 ebcc/codegen/GCCSDT.py delete mode 100644 ebcc/codegen/GCCSDTQ.py delete mode 100644 ebcc/codegen/GCCSD_SD_1_1.py delete mode 100644 ebcc/codegen/GCCSD_SD_1_2.py delete mode 100644 ebcc/codegen/GCCSD_S_1_1.py delete mode 100644 ebcc/codegen/GCCSDt.py delete mode 100644 ebcc/codegen/GCCSDtp.py delete mode 100644 ebcc/codegen/GCCSDxTx.py delete mode 100644 ebcc/codegen/GMP2.py delete mode 100644 ebcc/codegen/GMP3.py delete mode 100644 ebcc/codegen/GQCISD.py delete mode 100644 ebcc/codegen/RCC2.py delete mode 100644 ebcc/codegen/RCC3.py delete mode 100644 ebcc/codegen/RCCD.py delete mode 100644 ebcc/codegen/RCCSD.py delete mode 100644 ebcc/codegen/RCCSDT.py delete mode 100644 ebcc/codegen/RCCSD_SD_1_1.py delete mode 100644 ebcc/codegen/RCCSD_SD_1_2.py delete mode 100644 ebcc/codegen/RCCSD_S_1_1.py delete mode 100644 ebcc/codegen/RCCSDt.py delete mode 100644 ebcc/codegen/RCCSDtp.py delete mode 100644 ebcc/codegen/RCCSDxTx.py delete mode 100644 ebcc/codegen/RDCD.py delete mode 100644 ebcc/codegen/RDCSD.py delete mode 100644 ebcc/codegen/RDFCC2.py delete mode 100644 ebcc/codegen/RDFCCD.py delete mode 100644 ebcc/codegen/RDFCCSD.py delete mode 100644 ebcc/codegen/RDFDCD.py delete mode 100644 ebcc/codegen/RDFDCSD.py delete mode 100644 ebcc/codegen/RDFQCISD.py delete mode 100644 ebcc/codegen/RMP2.py delete mode 100644 ebcc/codegen/RMP3.py delete mode 100644 ebcc/codegen/RQCISD.py delete mode 100644 ebcc/codegen/UCC2.py delete mode 100644 ebcc/codegen/UCC3.py delete mode 100644 ebcc/codegen/UCCD.py delete mode 100644 ebcc/codegen/UCCSD.py delete mode 100644 ebcc/codegen/UCCSDT.py delete mode 100644 ebcc/codegen/UCCSD_SD_1_1.py delete mode 100644 ebcc/codegen/UCCSD_SD_1_2.py delete mode 100644 ebcc/codegen/UCCSD_S_1_1.py delete mode 100644 ebcc/codegen/UCCSDt.py delete mode 100644 ebcc/codegen/UCCSDtp.py delete mode 100644 ebcc/codegen/UCCSDxTx.py delete mode 100644 ebcc/codegen/UDCD.py delete mode 100644 ebcc/codegen/UDCSD.py delete mode 100644 ebcc/codegen/UDFCC2.py delete mode 100644 ebcc/codegen/UDFCCD.py delete mode 100644 ebcc/codegen/UDFCCSD.py delete mode 100644 ebcc/codegen/UDFDCD.py delete mode 100644 ebcc/codegen/UDFDCSD.py delete mode 100644 ebcc/codegen/UDFQCISD.py delete mode 100644 ebcc/codegen/UMP2.py delete mode 100644 ebcc/codegen/UMP3.py delete mode 100644 ebcc/codegen/UQCISD.py diff --git a/ebcc/codegen/GCC2.py b/ebcc/codegen/GCC2.py deleted file mode 100644 index 078713ab..00000000 --- a/ebcc/codegen/GCC2.py +++ /dev/null @@ -1,610 +0,0 @@ -# Code generated for ebcc. - -from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, Namespace -from ebcc.precision import types - -def energy(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, **kwargs): - # energy - e_cc = 0 - e_cc += einsum(f.ov, (0, 1), t1, (0, 1), ()) - x0 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x0 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - x0 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) * 2.0 - e_cc += einsum(v.oovv, (0, 1, 2, 3), x0, (0, 1, 2, 3), ()) * 0.25 - del x0 - - return e_cc - -def update_amps(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, **kwargs): - # T amplitudes - t1new = np.zeros((nocc, nvir), dtype=types[float]) - t1new += einsum(f.vv, (0, 1), t1, (2, 1), (2, 0)) - t1new += einsum(f.ov, (0, 1), (0, 1)) - t1new += einsum(t1, (0, 1), v.ovov, (2, 1, 0, 3), (2, 3)) * -1.0 - t2new = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - t2new += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new += einsum(t1, (0, 1), v.ooov, (2, 3, 0, 4), (2, 3, 1, 4)) * -1.0 - x0 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x0 += einsum(t1, (0, 1), v.oovv, (2, 3, 4, 1), (0, 2, 3, 4)) - x1 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x1 += einsum(v.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - x1 += einsum(x0, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - t1new += einsum(t2, (0, 1, 2, 3), x1, (4, 0, 1, 3), (4, 2)) * 0.5 - del x1 - x2 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x2 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - x2 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) * 2.0 - t1new += einsum(v.ovvv, (0, 1, 2, 3), x2, (0, 4, 2, 3), (4, 1)) * 0.5 - x3 = np.zeros((nocc, nvir), dtype=types[float]) - x3 += einsum(f.ov, (0, 1), (0, 1)) - x3 += einsum(t1, (0, 1), v.oovv, (2, 0, 3, 1), (2, 3)) - t1new += einsum(x3, (0, 1), t2, (2, 0, 3, 1), (2, 3)) - del x3 - x4 = np.zeros((nocc, nocc), dtype=types[float]) - x4 += einsum(f.ov, (0, 1), t1, (2, 1), (0, 2)) - x5 = np.zeros((nocc, nocc), dtype=types[float]) - x5 += einsum(f.oo, (0, 1), (0, 1)) - x5 += einsum(x4, (0, 1), (0, 1)) - x5 += einsum(t1, (0, 1), v.ooov, (2, 0, 3, 1), (2, 3)) - x5 += einsum(v.oovv, (0, 1, 2, 3), x2, (1, 4, 2, 3), (0, 4)) * -0.5 - del x2 - t1new += einsum(t1, (0, 1), x5, (0, 2), (2, 1)) * -1.0 - del x5 - x6 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x6 += einsum(t1, (0, 1), v.vvvv, (2, 3, 4, 1), (0, 2, 3, 4)) - t2new += einsum(t1, (0, 1), x6, (2, 3, 4, 1), (0, 2, 4, 3)) * -1.0 - del x6 - x7 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x7 += einsum(f.vv, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4)) - t2new += einsum(x7, (0, 1, 2, 3), (1, 0, 2, 3)) - t2new += einsum(x7, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x7 - x8 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x8 += einsum(t1, (0, 1), v.ovvv, (2, 1, 3, 4), (0, 2, 3, 4)) - x9 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x9 += einsum(t1, (0, 1), v.ooov, (2, 3, 4, 1), (0, 2, 3, 4)) - x10 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x10 += einsum(t1, (0, 1), x9, (2, 0, 3, 4), (2, 3, 4, 1)) * -1.0 - del x9 - x11 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x11 += einsum(t1, (0, 1), x10, (2, 0, 3, 4), (2, 3, 4, 1)) * -1.0 - del x10 - x12 = np.zeros((nocc, nocc), dtype=types[float]) - x12 += einsum(f.oo, (0, 1), (0, 1)) - x12 += einsum(x4, (0, 1), (0, 1)) - del x4 - x13 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x13 += einsum(x12, (0, 1), t2, (2, 0, 3, 4), (2, 1, 3, 4)) * -1.0 - del x12 - x14 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x14 += einsum(x8, (0, 1, 2, 3), (0, 1, 3, 2)) - del x8 - x14 += einsum(x11, (0, 1, 2, 3), (0, 1, 3, 2)) - del x11 - x14 += einsum(x13, (0, 1, 2, 3), (1, 0, 3, 2)) - del x13 - t2new += einsum(x14, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new += einsum(x14, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x14 - x15 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x15 += einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), (0, 2, 3, 4)) - x16 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x16 += einsum(t1, (0, 1), v.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) - x17 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x17 += einsum(t1, (0, 1), x16, (2, 3, 4, 1), (2, 0, 3, 4)) * -1.0 - del x16 - x18 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x18 += einsum(x15, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x15 - x18 += einsum(x17, (0, 1, 2, 3), (2, 1, 0, 3)) - del x17 - x19 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x19 += einsum(t1, (0, 1), x18, (0, 2, 3, 4), (2, 3, 1, 4)) - del x18 - t2new += einsum(x19, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - t2new += einsum(x19, (0, 1, 2, 3), (1, 0, 3, 2)) - del x19 - x20 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x20 += einsum(t1, (0, 1), v.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) - x21 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x21 += einsum(t1, (0, 1), x20, (2, 0, 3, 4), (2, 3, 1, 4)) - del x20 - t2new += einsum(x21, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new += einsum(x21, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new += einsum(x21, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - t2new += einsum(x21, (0, 1, 2, 3), (1, 0, 3, 2)) - del x21 - x22 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x22 += einsum(v.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x22 += einsum(t1, (0, 1), x0, (2, 3, 4, 1), (4, 3, 0, 2)) * -1.0 - del x0 - x23 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x23 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x23 += einsum(t1, (0, 1), x22, (0, 2, 3, 4), (3, 4, 2, 1)) - del x22 - t2new += einsum(t1, (0, 1), x23, (2, 3, 0, 4), (3, 2, 4, 1)) * -1.0 - del x23 - - return {"t1new": t1new, "t2new": t2new} - -def update_lams(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, l1=None, l2=None, **kwargs): - # L amplitudes - l1new = np.zeros((nvir, nocc), dtype=types[float]) - l1new += einsum(f.ov, (0, 1), (1, 0)) - l1new += einsum(l1, (0, 1), v.ovov, (2, 0, 1, 3), (3, 2)) * -1.0 - l2new = np.zeros((nvir, nvir, nocc, nocc), dtype=types[float]) - l2new += einsum(v.oovv, (0, 1, 2, 3), (2, 3, 0, 1)) - l2new += einsum(l2, (0, 1, 2, 3), v.vvvv, (4, 5, 0, 1), (4, 5, 2, 3)) * 0.5 - x0 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x0 += einsum(l2, (0, 1, 2, 3), t2, (4, 5, 0, 1), (2, 3, 4, 5)) - l1new += einsum(v.ooov, (0, 1, 2, 3), x0, (4, 2, 0, 1), (3, 4)) * -0.25 - x1 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x1 += einsum(t1, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2)) - l1new += einsum(v.ovov, (0, 1, 2, 3), x1, (4, 2, 0, 1), (3, 4)) * -1.0 - l2new += einsum(v.ovvv, (0, 1, 2, 3), x1, (4, 5, 0, 1), (2, 3, 4, 5)) - x2 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x2 += einsum(t1, (0, 1), x1, (2, 3, 4, 1), (3, 2, 4, 0)) - l1new += einsum(v.ooov, (0, 1, 2, 3), x2, (4, 2, 0, 1), (3, 4)) * -0.5 - l2new += einsum(v.oovv, (0, 1, 2, 3), x2, (4, 5, 1, 0), (2, 3, 5, 4)) * 0.5 - x3 = np.zeros((nocc, nvir), dtype=types[float]) - x3 += einsum(t1, (0, 1), v.oovv, (2, 0, 3, 1), (2, 3)) - x4 = np.zeros((nocc, nocc), dtype=types[float]) - x4 += einsum(l1, (0, 1), t1, (2, 0), (1, 2)) - l1new += einsum(x3, (0, 1), x4, (2, 0), (1, 2)) * -1.0 - x5 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x5 += einsum(l2, (0, 1, 2, 3), t2, (4, 3, 5, 1), (2, 4, 0, 5)) - l1new += einsum(v.ovvv, (0, 1, 2, 3), x5, (4, 0, 1, 3), (2, 4)) * -1.0 - del x5 - x6 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x6 += einsum(t1, (0, 1), v.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) - l1new += einsum(x1, (0, 1, 2, 3), x6, (1, 2, 3, 4), (4, 0)) - x7 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x7 += einsum(t1, (0, 1), v.oovv, (2, 3, 4, 1), (0, 2, 3, 4)) - x8 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x8 += einsum(v.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - x8 += einsum(x7, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x9 = np.zeros((nocc, nvir), dtype=types[float]) - x9 += einsum(f.ov, (0, 1), (0, 1)) - x9 += einsum(x3, (0, 1), (0, 1)) - x10 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x10 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x10 += einsum(x6, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.5 - x11 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x11 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x11 += einsum(x7, (0, 1, 2, 3), (2, 1, 0, 3)) * 0.5 - x12 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x12 += einsum(v.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - x12 += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 2, 3), (4, 5, 0, 1)) * -1.0 - x12 += einsum(t1, (0, 1), x11, (2, 3, 4, 1), (3, 2, 0, 4)) * -4.0 - x13 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x13 += einsum(v.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - x13 += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 2, 3), (4, 0, 1, 5)) * -0.5 - x13 += einsum(t2, (0, 1, 2, 3), x8, (4, 1, 5, 3), (5, 0, 4, 2)) * 2.0 - x13 += einsum(x9, (0, 1), t2, (2, 3, 4, 1), (0, 2, 3, 4)) - x13 += einsum(t1, (0, 1), x10, (2, 3, 1, 4), (3, 2, 0, 4)) * -2.0 - del x10 - x13 += einsum(t1, (0, 1), x12, (0, 2, 3, 4), (2, 4, 3, 1)) * -0.5 - del x12 - l1new += einsum(l2, (0, 1, 2, 3), x13, (4, 2, 3, 1), (0, 4)) * 0.5 - del x13 - x14 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x14 += einsum(v.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) - x14 += einsum(t1, (0, 1), v.vvvv, (2, 1, 3, 4), (0, 2, 3, 4)) * -1.0 - l1new += einsum(l2, (0, 1, 2, 3), x14, (3, 4, 0, 1), (4, 2)) * -0.5 - del x14 - x15 = np.zeros((nocc, nocc), dtype=types[float]) - x15 += einsum(l2, (0, 1, 2, 3), t2, (4, 3, 0, 1), (2, 4)) - x16 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x16 += einsum(x0, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x0 - x16 += einsum(x2, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - del x2 - x17 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x17 += einsum(l1, (0, 1), t2, (2, 3, 4, 0), (1, 2, 3, 4)) * 2.0 - x17 += einsum(t1, (0, 1), x15, (2, 3), (2, 0, 3, 1)) * 2.0 - x17 += einsum(t2, (0, 1, 2, 3), x1, (4, 1, 5, 3), (4, 0, 5, 2)) * -4.0 - x17 += einsum(t1, (0, 1), x16, (0, 2, 3, 4), (2, 4, 3, 1)) * -1.0 - del x16 - l1new += einsum(v.oovv, (0, 1, 2, 3), x17, (4, 0, 1, 3), (2, 4)) * 0.25 - del x17 - x18 = np.zeros((nvir, nvir), dtype=types[float]) - x18 += einsum(l1, (0, 1), t1, (1, 2), (0, 2)) * 2.0 - x18 += einsum(l2, (0, 1, 2, 3), t2, (2, 3, 4, 1), (0, 4)) - l1new += einsum(x18, (0, 1), v.ovvv, (2, 0, 3, 1), (3, 2)) * 0.5 - del x18 - x19 = np.zeros((nocc, nocc), dtype=types[float]) - x19 += einsum(x4, (0, 1), (0, 1)) - x19 += einsum(x15, (0, 1), (0, 1)) * 0.5 - l1new += einsum(x19, (0, 1), v.ooov, (2, 1, 0, 3), (3, 2)) - x20 = np.zeros((nocc, nvir), dtype=types[float]) - x20 += einsum(t1, (0, 1), (0, 1)) * -1.0 - x20 += einsum(l1, (0, 1), t2, (2, 1, 3, 0), (2, 3)) * -1.0 - x20 += einsum(t2, (0, 1, 2, 3), x1, (1, 0, 4, 3), (4, 2)) * 0.5 - x20 += einsum(t1, (0, 1), x19, (0, 2), (2, 1)) - del x19 - l1new += einsum(x20, (0, 1), v.oovv, (2, 0, 3, 1), (3, 2)) * -1.0 - del x20 - x21 = np.zeros((nvir, nvir), dtype=types[float]) - x21 += einsum(t1, (0, 1), v.ovvv, (0, 2, 3, 1), (2, 3)) - x22 = np.zeros((nvir, nvir), dtype=types[float]) - x22 += einsum(f.vv, (0, 1), (0, 1)) - x22 += einsum(x21, (0, 1), (0, 1)) * -1.0 - l1new += einsum(l1, (0, 1), x22, (0, 2), (2, 1)) - del x22 - x23 = np.zeros((nocc, nocc), dtype=types[float]) - x23 += einsum(t1, (0, 1), v.ooov, (2, 0, 3, 1), (2, 3)) - x24 = np.zeros((nocc, nocc), dtype=types[float]) - x24 += einsum(f.oo, (0, 1), (0, 1)) - x24 += einsum(x23, (0, 1), (1, 0)) - x24 += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 2, 3), (0, 4)) * 0.5 - x24 += einsum(t1, (0, 1), x9, (2, 1), (0, 2)) - del x9 - l1new += einsum(l1, (0, 1), x24, (1, 2), (0, 2)) * -1.0 - del x24 - x25 = np.zeros((nocc, nocc), dtype=types[float]) - x25 += einsum(x4, (0, 1), (0, 1)) * 2.0 - x25 += einsum(x15, (0, 1), (0, 1)) - del x15 - l1new += einsum(f.ov, (0, 1), x25, (2, 0), (1, 2)) * -0.5 - del x25 - x26 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x26 += einsum(f.vv, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2)) - x27 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x27 += einsum(f.ov, (0, 1), x1, (2, 3, 0, 4), (2, 3, 1, 4)) - x28 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x28 += einsum(x21, (0, 1), l2, (2, 0, 3, 4), (3, 4, 2, 1)) - del x21 - x29 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x29 += einsum(x3, (0, 1), x1, (2, 3, 0, 4), (2, 3, 4, 1)) - x30 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x30 += einsum(l1, (0, 1), x8, (1, 2, 3, 4), (2, 3, 4, 0)) - del x8 - x31 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x31 += einsum(x26, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x26 - x31 += einsum(x27, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x27 - x31 += einsum(x28, (0, 1, 2, 3), (0, 1, 2, 3)) - del x28 - x31 += einsum(x29, (0, 1, 2, 3), (0, 1, 2, 3)) - del x29 - x31 += einsum(x30, (0, 1, 2, 3), (1, 0, 3, 2)) - del x30 - l2new += einsum(x31, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 - l2new += einsum(x31, (0, 1, 2, 3), (3, 2, 0, 1)) - del x31 - x32 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x32 += einsum(f.oo, (0, 1), l2, (2, 3, 4, 1), (0, 4, 2, 3)) - x33 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x33 += einsum(l1, (0, 1), v.ovvv, (2, 0, 3, 4), (1, 2, 3, 4)) - x34 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x34 += einsum(x32, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x32 - x34 += einsum(x33, (0, 1, 2, 3), (0, 1, 3, 2)) - del x33 - l2new += einsum(x34, (0, 1, 2, 3), (2, 3, 0, 1)) - l2new += einsum(x34, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 - del x34 - x35 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x35 += einsum(v.ooov, (0, 1, 2, 3), x1, (4, 2, 1, 5), (4, 0, 5, 3)) - x36 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x36 += einsum(x1, (0, 1, 2, 3), x7, (0, 4, 2, 5), (1, 4, 3, 5)) * -1.0 - del x1, x7 - x37 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x37 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x37 += einsum(x6, (0, 1, 2, 3), (0, 1, 2, 3)) - del x6 - x38 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x38 += einsum(l2, (0, 1, 2, 3), x37, (3, 4, 1, 5), (4, 2, 5, 0)) - del x37 - x39 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x39 += einsum(f.ov, (0, 1), l1, (2, 3), (0, 3, 1, 2)) - x39 += einsum(l1, (0, 1), x3, (2, 3), (1, 2, 0, 3)) - x39 += einsum(x35, (0, 1, 2, 3), (0, 1, 2, 3)) - del x35 - x39 += einsum(x36, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x36 - x39 += einsum(x38, (0, 1, 2, 3), (1, 0, 3, 2)) - del x38 - l2new += einsum(x39, (0, 1, 2, 3), (2, 3, 0, 1)) - l2new += einsum(x39, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - l2new += einsum(x39, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 - l2new += einsum(x39, (0, 1, 2, 3), (3, 2, 1, 0)) - del x39 - x40 = np.zeros((nocc, nocc), dtype=types[float]) - x40 += einsum(f.ov, (0, 1), t1, (2, 1), (0, 2)) - x41 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x41 += einsum(x40, (0, 1), l2, (2, 3, 4, 1), (0, 4, 2, 3)) - del x40 - x42 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x42 += einsum(x4, (0, 1), v.oovv, (2, 1, 3, 4), (0, 2, 3, 4)) - del x4 - x43 = np.zeros((nocc, nocc), dtype=types[float]) - x43 += einsum(t1, (0, 1), x3, (2, 1), (0, 2)) - del x3 - x44 = np.zeros((nocc, nocc), dtype=types[float]) - x44 += einsum(x23, (0, 1), (0, 1)) - del x23 - x44 += einsum(x43, (0, 1), (1, 0)) - del x43 - x45 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x45 += einsum(x44, (0, 1), l2, (2, 3, 4, 1), (0, 4, 2, 3)) * -1.0 - del x44 - x46 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x46 += einsum(x41, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x41 - x46 += einsum(x42, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x42 - x46 += einsum(x45, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x45 - l2new += einsum(x46, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - l2new += einsum(x46, (0, 1, 2, 3), (3, 2, 1, 0)) - del x46 - x47 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x47 += einsum(v.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - x47 += einsum(t1, (0, 1), x11, (2, 3, 4, 1), (4, 0, 3, 2)) * -1.0 - del x11 - l2new += einsum(l2, (0, 1, 2, 3), x47, (2, 3, 4, 5), (0, 1, 4, 5)) - del x47 - - return {"l1new": l1new, "l2new": l2new} - -def make_rdm1_f(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, l1=None, l2=None, **kwargs): - delta = Namespace(oo=np.eye(nocc), vv=np.eye(nvir)) - - # RDM1 - rdm1_f_oo = np.zeros((nocc, nocc), dtype=types[float]) - rdm1_f_oo += einsum(delta.oo, (0, 1), (0, 1)) - rdm1_f_ov = np.zeros((nocc, nvir), dtype=types[float]) - rdm1_f_ov += einsum(t1, (0, 1), (0, 1)) - rdm1_f_ov += einsum(l1, (0, 1), t2, (2, 1, 3, 0), (2, 3)) - rdm1_f_vo = np.zeros((nvir, nocc), dtype=types[float]) - rdm1_f_vo += einsum(l1, (0, 1), (0, 1)) - rdm1_f_vv = np.zeros((nvir, nvir), dtype=types[float]) - rdm1_f_vv += einsum(l2, (0, 1, 2, 3), t2, (2, 3, 4, 1), (0, 4)) * 0.5 - rdm1_f_vv += einsum(l1, (0, 1), t1, (1, 2), (0, 2)) - x0 = np.zeros((nocc, nocc), dtype=types[float]) - x0 += einsum(l1, (0, 1), t1, (2, 0), (1, 2)) - rdm1_f_oo += einsum(x0, (0, 1), (1, 0)) * -1.0 - x1 = np.zeros((nocc, nocc), dtype=types[float]) - x1 += einsum(l2, (0, 1, 2, 3), t2, (4, 3, 0, 1), (2, 4)) - rdm1_f_oo += einsum(x1, (0, 1), (1, 0)) * -0.5 - x2 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x2 += einsum(t1, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2)) - rdm1_f_ov += einsum(t2, (0, 1, 2, 3), x2, (0, 1, 4, 3), (4, 2)) * 0.5 - del x2 - x3 = np.zeros((nocc, nocc), dtype=types[float]) - x3 += einsum(x0, (0, 1), (0, 1)) * 2.0 - del x0 - x3 += einsum(x1, (0, 1), (0, 1)) - del x1 - rdm1_f_ov += einsum(t1, (0, 1), x3, (0, 2), (2, 1)) * -0.5 - del x3 - - rdm1_f = np.block([[rdm1_f_oo, rdm1_f_ov], [rdm1_f_vo, rdm1_f_vv]]) - - return rdm1_f - -def make_rdm2_f(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, l1=None, l2=None, **kwargs): - delta = Namespace(oo=np.eye(nocc), vv=np.eye(nvir)) - - # RDM2 - rdm2_f_oooo = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - rdm2_f_oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (0, 2, 1, 3)) - rdm2_f_oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_ovoo = np.zeros((nocc, nvir, nocc, nocc), dtype=types[float]) - rdm2_f_ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (0, 2, 1, 3)) - rdm2_f_ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_vooo = np.zeros((nvir, nocc, nocc, nocc), dtype=types[float]) - rdm2_f_vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 0, 3, 1)) - rdm2_f_oovv = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - rdm2_f_oovv += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_oovv += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) - rdm2_f_ovov = np.zeros((nocc, nvir, nocc, nvir), dtype=types[float]) - rdm2_f_ovov += einsum(l1, (0, 1), t1, (2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_ovvo = np.zeros((nocc, nvir, nvir, nocc), dtype=types[float]) - rdm2_f_ovvo += einsum(l1, (0, 1), t1, (2, 3), (2, 0, 3, 1)) - rdm2_f_voov = np.zeros((nvir, nocc, nocc, nvir), dtype=types[float]) - rdm2_f_voov += einsum(l1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) - rdm2_f_vovo = np.zeros((nvir, nocc, nvir, nocc), dtype=types[float]) - rdm2_f_vovo += einsum(l1, (0, 1), t1, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_vvoo = np.zeros((nvir, nvir, nocc, nocc), dtype=types[float]) - rdm2_f_vvoo += einsum(l2, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_vvvv = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) - rdm2_f_vvvv += einsum(l2, (0, 1, 2, 3), t2, (2, 3, 4, 5), (0, 1, 4, 5)) * 0.5 - x0 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x0 += einsum(l2, (0, 1, 2, 3), t2, (4, 5, 0, 1), (2, 3, 4, 5)) - rdm2_f_oooo += einsum(x0, (0, 1, 2, 3), (3, 2, 1, 0)) * 0.5 - x1 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x1 += einsum(t1, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2)) - rdm2_f_ovoo += einsum(x1, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 - rdm2_f_vooo += einsum(x1, (0, 1, 2, 3), (3, 2, 1, 0)) - x2 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x2 += einsum(t1, (0, 1), x1, (2, 3, 4, 1), (2, 3, 0, 4)) - rdm2_f_oooo += einsum(x2, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 - x3 = np.zeros((nocc, nocc), dtype=types[float]) - x3 += einsum(l2, (0, 1, 2, 3), t2, (4, 3, 0, 1), (2, 4)) - rdm2_f_oooo += einsum(delta.oo, (0, 1), x3, (2, 3), (0, 3, 1, 2)) * -0.5 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x3, (2, 3), (0, 3, 2, 1)) * 0.5 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x3, (2, 3), (3, 0, 1, 2)) * 0.5 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x3, (2, 3), (3, 0, 2, 1)) * -0.5 - x4 = np.zeros((nocc, nocc), dtype=types[float]) - x4 += einsum(l1, (0, 1), t1, (2, 0), (1, 2)) - rdm2_f_oooo += einsum(delta.oo, (0, 1), x4, (2, 3), (0, 3, 1, 2)) * -1.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x4, (2, 3), (3, 0, 1, 2)) - rdm2_f_oooo += einsum(delta.oo, (0, 1), x4, (2, 3), (0, 3, 2, 1)) - rdm2_f_oooo += einsum(delta.oo, (0, 1), x4, (2, 3), (3, 0, 2, 1)) * -1.0 - x5 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x5 += einsum(l1, (0, 1), t2, (2, 3, 4, 0), (1, 2, 3, 4)) - rdm2_f_ooov = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - rdm2_f_ooov += einsum(x5, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_oovo = np.zeros((nocc, nocc, nvir, nocc), dtype=types[float]) - rdm2_f_oovo += einsum(x5, (0, 1, 2, 3), (2, 1, 3, 0)) - x6 = np.zeros((nocc, nvir), dtype=types[float]) - x6 += einsum(l1, (0, 1), t2, (2, 1, 3, 0), (2, 3)) - x7 = np.zeros((nocc, nvir), dtype=types[float]) - x7 += einsum(t2, (0, 1, 2, 3), x1, (0, 1, 4, 3), (4, 2)) * -1.0 - x8 = np.zeros((nocc, nocc), dtype=types[float]) - x8 += einsum(x4, (0, 1), (0, 1)) - x8 += einsum(x3, (0, 1), (0, 1)) * 0.5 - x9 = np.zeros((nocc, nvir), dtype=types[float]) - x9 += einsum(t1, (0, 1), x8, (0, 2), (2, 1)) - x10 = np.zeros((nocc, nvir), dtype=types[float]) - x10 += einsum(x6, (0, 1), (0, 1)) * -1.0 - del x6 - x10 += einsum(x7, (0, 1), (0, 1)) * 0.5 - del x7 - x10 += einsum(x9, (0, 1), (0, 1)) - del x9 - rdm2_f_ooov += einsum(delta.oo, (0, 1), x10, (2, 3), (0, 2, 1, 3)) * -1.0 - rdm2_f_ooov += einsum(delta.oo, (0, 1), x10, (2, 3), (2, 0, 1, 3)) - rdm2_f_oovo += einsum(delta.oo, (0, 1), x10, (2, 3), (0, 2, 3, 1)) - rdm2_f_oovo += einsum(delta.oo, (0, 1), x10, (2, 3), (2, 0, 3, 1)) * -1.0 - x11 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x11 += einsum(t2, (0, 1, 2, 3), x1, (4, 1, 5, 3), (4, 5, 0, 2)) * -1.0 - x12 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x12 += einsum(delta.oo, (0, 1), t1, (2, 3), (0, 1, 2, 3)) - x12 += einsum(x11, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x12 += einsum(t1, (0, 1), x8, (2, 3), (0, 2, 3, 1)) - del x8 - rdm2_f_ooov += einsum(x12, (0, 1, 2, 3), (0, 2, 1, 3)) - rdm2_f_ooov += einsum(x12, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_oovo += einsum(x12, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_oovo += einsum(x12, (0, 1, 2, 3), (2, 0, 3, 1)) - del x12 - x13 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x13 += einsum(x0, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x0 - x13 += einsum(x2, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - del x2 - rdm2_f_oovv += einsum(t2, (0, 1, 2, 3), x13, (0, 1, 4, 5), (5, 4, 2, 3)) * 0.25 - x14 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x14 += einsum(t1, (0, 1), x13, (0, 2, 3, 4), (2, 3, 4, 1)) * 0.5 - del x13 - rdm2_f_ooov += einsum(x14, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_oovo += einsum(x14, (0, 1, 2, 3), (2, 1, 3, 0)) - rdm2_f_oovv += einsum(t1, (0, 1), x14, (0, 2, 3, 4), (3, 2, 4, 1)) - del x14 - x15 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x15 += einsum(t1, (0, 1), x11, (0, 2, 3, 4), (2, 3, 1, 4)) - del x11 - x16 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x16 += einsum(x15, (0, 1, 2, 3), (0, 1, 2, 3)) - del x15 - x16 += einsum(t1, (0, 1), x10, (2, 3), (0, 2, 1, 3)) - del x10 - rdm2_f_oovv += einsum(x16, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - rdm2_f_oovv += einsum(x16, (0, 1, 2, 3), (0, 1, 3, 2)) - rdm2_f_oovv += einsum(x16, (0, 1, 2, 3), (1, 0, 2, 3)) - rdm2_f_oovv += einsum(x16, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x16 - x17 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x17 += einsum(x4, (0, 1), t2, (2, 0, 3, 4), (1, 2, 3, 4)) - del x4 - x18 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x18 += einsum(x3, (0, 1), t2, (2, 0, 3, 4), (2, 1, 3, 4)) - del x3 - x19 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x19 += einsum(x17, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x17 - x19 += einsum(x18, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.5 - del x18 - rdm2_f_oovv += einsum(x19, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(x19, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x19 - x20 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x20 += einsum(t1, (0, 1), x5, (0, 2, 3, 4), (2, 3, 1, 4)) - del x5 - x21 = np.zeros((nvir, nvir), dtype=types[float]) - x21 += einsum(l2, (0, 1, 2, 3), t2, (2, 3, 4, 1), (0, 4)) - x22 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x22 += einsum(x21, (0, 1), t2, (2, 3, 4, 0), (2, 3, 4, 1)) - x23 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x23 += einsum(l2, (0, 1, 2, 3), t2, (4, 3, 5, 1), (2, 4, 0, 5)) - rdm2_f_ovov += einsum(x23, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_ovvo += einsum(x23, (0, 1, 2, 3), (1, 2, 3, 0)) - rdm2_f_voov += einsum(x23, (0, 1, 2, 3), (2, 1, 0, 3)) - rdm2_f_vovo += einsum(x23, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - x24 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x24 += einsum(t2, (0, 1, 2, 3), x23, (1, 4, 3, 5), (0, 4, 2, 5)) - x25 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x25 += einsum(x20, (0, 1, 2, 3), (0, 1, 2, 3)) - del x20 - x25 += einsum(x22, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - del x22 - x25 += einsum(x24, (0, 1, 2, 3), (0, 1, 2, 3)) - del x24 - rdm2_f_oovv += einsum(x25, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(x25, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x25 - x26 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x26 += einsum(t1, (0, 1), x1, (2, 0, 3, 4), (2, 3, 4, 1)) - rdm2_f_ovov += einsum(x26, (0, 1, 2, 3), (1, 2, 0, 3)) - rdm2_f_ovvo += einsum(x26, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - rdm2_f_voov += einsum(x26, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_vovo += einsum(x26, (0, 1, 2, 3), (2, 1, 3, 0)) - x27 = np.zeros((nvir, nvir), dtype=types[float]) - x27 += einsum(l1, (0, 1), t1, (1, 2), (0, 2)) - x28 = np.zeros((nvir, nvir), dtype=types[float]) - x28 += einsum(x27, (0, 1), (0, 1)) * 2.0 - x28 += einsum(x21, (0, 1), (0, 1)) - rdm2_f_ovov += einsum(delta.oo, (0, 1), x28, (2, 3), (0, 2, 1, 3)) * 0.5 - rdm2_f_ovvo += einsum(delta.oo, (0, 1), x28, (2, 3), (0, 2, 3, 1)) * -0.5 - rdm2_f_voov += einsum(delta.oo, (0, 1), x28, (2, 3), (2, 0, 1, 3)) * -0.5 - rdm2_f_vovo += einsum(delta.oo, (0, 1), x28, (2, 3), (2, 0, 3, 1)) * 0.5 - del x28 - x29 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x29 += einsum(l1, (0, 1), t2, (2, 1, 3, 4), (2, 0, 3, 4)) - rdm2_f_ovvv = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - rdm2_f_ovvv += einsum(x29, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_vovv = np.zeros((nvir, nocc, nvir, nvir), dtype=types[float]) - rdm2_f_vovv += einsum(x29, (0, 1, 2, 3), (1, 0, 3, 2)) - del x29 - x30 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x30 += einsum(t2, (0, 1, 2, 3), x1, (0, 1, 4, 5), (4, 5, 2, 3)) - del x1 - rdm2_f_ovvv += einsum(x30, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.5 - rdm2_f_vovv += einsum(x30, (0, 1, 2, 3), (1, 0, 3, 2)) * 0.5 - del x30 - x31 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x31 += einsum(t1, (0, 1), x26, (0, 2, 3, 4), (2, 3, 4, 1)) * -1.0 - del x26 - rdm2_f_ovvv += einsum(x31, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_vovv += einsum(x31, (0, 1, 2, 3), (1, 0, 3, 2)) - del x31 - x32 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x32 += einsum(t1, (0, 1), x23, (0, 2, 3, 4), (2, 3, 1, 4)) - del x23 - x33 = np.zeros((nvir, nvir), dtype=types[float]) - x33 += einsum(x27, (0, 1), (0, 1)) - del x27 - x33 += einsum(x21, (0, 1), (0, 1)) * 0.5 - del x21 - x34 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x34 += einsum(x32, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x32 - x34 += einsum(t1, (0, 1), x33, (2, 3), (0, 2, 1, 3)) - del x33 - rdm2_f_ovvv += einsum(x34, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_ovvv += einsum(x34, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_vovv += einsum(x34, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - rdm2_f_vovv += einsum(x34, (0, 1, 2, 3), (1, 0, 3, 2)) - del x34 - x35 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x35 += einsum(t1, (0, 1), l2, (2, 3, 4, 0), (4, 2, 3, 1)) - rdm2_f_vvov = np.zeros((nvir, nvir, nocc, nvir), dtype=types[float]) - rdm2_f_vvov += einsum(x35, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_vvvo = np.zeros((nvir, nvir, nvir, nocc), dtype=types[float]) - rdm2_f_vvvo += einsum(x35, (0, 1, 2, 3), (2, 1, 3, 0)) - rdm2_f_vvvv += einsum(t1, (0, 1), x35, (0, 2, 3, 4), (2, 3, 1, 4)) - del x35 - - rdm2_f = pack_2e(rdm2_f_oooo, rdm2_f_ooov, rdm2_f_oovo, rdm2_f_ovoo, rdm2_f_vooo, rdm2_f_oovv, rdm2_f_ovov, rdm2_f_ovvo, rdm2_f_voov, rdm2_f_vovo, rdm2_f_vvoo, rdm2_f_ovvv, rdm2_f_vovv, rdm2_f_vvov, rdm2_f_vvvo, rdm2_f_vvvv) - - rdm2_f = rdm2_f.swapaxes(1, 2) - - return rdm2_f - diff --git a/ebcc/codegen/GCC3.py b/ebcc/codegen/GCC3.py deleted file mode 100644 index 5bbc2d2b..00000000 --- a/ebcc/codegen/GCC3.py +++ /dev/null @@ -1,440 +0,0 @@ -# Code generated for ebcc. - -from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, Namespace -from ebcc.precision import types - -def energy(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, t3=None, **kwargs): - # energy - e_cc = 0 - e_cc += einsum(f.ov, (0, 1), t1, (0, 1), ()) - x0 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x0 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - x0 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) * 2.0 - e_cc += einsum(v.oovv, (0, 1, 2, 3), x0, (0, 1, 2, 3), ()) * 0.25 - del x0 - - return e_cc - -def update_amps(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, t3=None, **kwargs): - # T amplitudes - t1new = np.zeros((nocc, nvir), dtype=types[float]) - t1new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 0, 1, 5, 2, 3), (4, 5)) * 0.25 - t1new += einsum(t1, (0, 1), v.ovov, (2, 1, 0, 3), (2, 3)) * -1.0 - t1new += einsum(f.vv, (0, 1), t1, (2, 1), (2, 0)) - t1new += einsum(f.ov, (0, 1), (0, 1)) - t2new = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - t2new += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) - x0 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x0 += einsum(t1, (0, 1), v.oovv, (2, 3, 4, 1), (0, 2, 3, 4)) - x1 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x1 += einsum(v.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - x1 += einsum(x0, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - t1new += einsum(t2, (0, 1, 2, 3), x1, (4, 1, 0, 3), (4, 2)) * -0.5 - del x1 - x2 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x2 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - x2 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) * 2.0 - t1new += einsum(v.ovvv, (0, 1, 2, 3), x2, (0, 4, 3, 2), (4, 1)) * -0.5 - x3 = np.zeros((nocc, nvir), dtype=types[float]) - x3 += einsum(t1, (0, 1), v.oovv, (2, 0, 3, 1), (2, 3)) - x4 = np.zeros((nocc, nvir), dtype=types[float]) - x4 += einsum(f.ov, (0, 1), (0, 1)) - x4 += einsum(x3, (0, 1), (0, 1)) - del x3 - t1new += einsum(x4, (0, 1), t2, (2, 0, 3, 1), (2, 3)) - t2new += einsum(x4, (0, 1), t3, (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) - x5 = np.zeros((nocc, nocc), dtype=types[float]) - x5 += einsum(f.ov, (0, 1), t1, (2, 1), (0, 2)) - x6 = np.zeros((nocc, nocc), dtype=types[float]) - x6 += einsum(t1, (0, 1), v.ooov, (2, 0, 3, 1), (2, 3)) - x7 = np.zeros((nocc, nocc), dtype=types[float]) - x7 += einsum(f.oo, (0, 1), (0, 1)) * 2.0 - x7 += einsum(x5, (0, 1), (0, 1)) * 2.0 - x7 += einsum(x6, (0, 1), (0, 1)) * 2.0 - x7 += einsum(v.oovv, (0, 1, 2, 3), x2, (1, 4, 2, 3), (0, 4)) * -1.0 - t1new += einsum(t1, (0, 1), x7, (0, 2), (2, 1)) * -0.5 - del x7 - x8 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x8 += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 0, 6, 2, 3), (4, 5, 6, 1)) - x9 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x9 += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 3), (0, 4, 2, 5)) - x10 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x10 += einsum(t2, (0, 1, 2, 3), x9, (4, 1, 5, 3), (4, 0, 5, 2)) - del x9 - x11 = np.zeros((nvir, nvir), dtype=types[float]) - x11 += einsum(t1, (0, 1), v.ovvv, (0, 2, 3, 1), (2, 3)) - x12 = np.zeros((nvir, nvir), dtype=types[float]) - x12 += einsum(t2, (0, 1, 2, 3), v.oovv, (0, 1, 4, 3), (2, 4)) - x13 = np.zeros((nvir, nvir), dtype=types[float]) - x13 += einsum(x11, (0, 1), (0, 1)) - del x11 - x13 += einsum(x12, (0, 1), (0, 1)) * 0.5 - del x12 - x14 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x14 += einsum(x13, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4)) * -1.0 - del x13 - x15 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x15 += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 1, 6, 2, 3), (4, 5, 0, 6)) - x16 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x16 += einsum(v.ovvv, (0, 1, 2, 3), x2, (4, 5, 2, 3), (0, 4, 5, 1)) * 0.5 - x17 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x17 += einsum(x4, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4)) * -1.0 - x18 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x18 += einsum(x15, (0, 1, 2, 3), (2, 1, 0, 3)) * -0.5 - del x15 - x18 += einsum(x16, (0, 1, 2, 3), (0, 2, 1, 3)) - del x16 - x18 += einsum(x17, (0, 1, 2, 3), (2, 1, 0, 3)) - del x17 - x19 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x19 += einsum(t1, (0, 1), x18, (0, 2, 3, 4), (2, 3, 4, 1)) - del x18 - x20 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x20 += einsum(x8, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - del x8 - x20 += einsum(x10, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x10 - x20 += einsum(x14, (0, 1, 2, 3), (1, 0, 3, 2)) - del x14 - x20 += einsum(x19, (0, 1, 2, 3), (1, 0, 3, 2)) - del x19 - t2new += einsum(x20, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new += einsum(x20, (0, 1, 2, 3), (0, 1, 3, 2)) - del x20 - x21 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x21 += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 3, 1, 5), (0, 4, 2, 5)) - x22 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x22 += einsum(t1, (0, 1), v.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) - x23 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x23 += einsum(t2, (0, 1, 2, 3), x22, (4, 1, 5, 3), (4, 0, 2, 5)) * -1.0 - x24 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x24 += einsum(t1, (0, 1), v.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) - x25 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x25 += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 1, 5, 3), (0, 4, 5, 2)) - x26 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x26 += einsum(t2, (0, 1, 2, 3), x0, (4, 1, 5, 3), (4, 0, 5, 2)) - x27 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x27 += einsum(x24, (0, 1, 2, 3), (0, 1, 2, 3)) - x27 += einsum(x25, (0, 1, 2, 3), (0, 1, 2, 3)) - del x25 - x27 += einsum(x26, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x26 - x28 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x28 += einsum(t1, (0, 1), x27, (2, 0, 3, 4), (2, 3, 4, 1)) - del x27 - x29 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x29 += einsum(x21, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x21 - x29 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) - del x23 - x29 += einsum(x28, (0, 1, 2, 3), (0, 1, 3, 2)) - del x28 - t2new += einsum(x29, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new += einsum(x29, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new += einsum(x29, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - t2new += einsum(x29, (0, 1, 2, 3), (1, 0, 3, 2)) - del x29 - x30 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x30 += einsum(t1, (0, 1), v.ooov, (2, 3, 0, 4), (2, 3, 1, 4)) - x31 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x31 += einsum(f.vv, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4)) - x32 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x32 += einsum(x30, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x30 - x32 += einsum(x31, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x31 - t2new += einsum(x32, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new += einsum(x32, (0, 1, 2, 3), (0, 1, 3, 2)) - del x32 - x33 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x33 += einsum(t1, (0, 1), v.ovvv, (2, 1, 3, 4), (0, 2, 3, 4)) - x34 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x34 += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 0, 1, 5, 6, 3), (4, 2, 5, 6)) - x35 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x35 += einsum(x0, (0, 1, 2, 3), t3, (4, 2, 1, 5, 6, 3), (0, 4, 5, 6)) - x36 = np.zeros((nocc, nocc), dtype=types[float]) - x36 += einsum(t1, (0, 1), x4, (2, 1), (0, 2)) - del x4 - x37 = np.zeros((nocc, nocc), dtype=types[float]) - x37 += einsum(f.oo, (0, 1), (0, 1)) - x37 += einsum(x36, (0, 1), (0, 1)) - del x36 - x38 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x38 += einsum(x37, (0, 1), t2, (2, 1, 3, 4), (0, 2, 3, 4)) * -1.0 - del x37 - x39 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x39 += einsum(t1, (0, 1), v.ooov, (2, 3, 4, 1), (0, 2, 3, 4)) - x40 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x40 += einsum(x2, (0, 1, 2, 3), x39, (4, 0, 1, 5), (4, 5, 2, 3)) * 0.5 - x41 = np.zeros((nocc, nocc), dtype=types[float]) - x41 += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 2, 3), (0, 4)) - x42 = np.zeros((nocc, nocc), dtype=types[float]) - x42 += einsum(x6, (0, 1), (0, 1)) - del x6 - x42 += einsum(x41, (0, 1), (1, 0)) * 0.5 - del x41 - x43 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x43 += einsum(x42, (0, 1), t2, (2, 0, 3, 4), (1, 2, 3, 4)) * -1.0 - del x42 - x44 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x44 += einsum(x33, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x33 - x44 += einsum(x34, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.5 - del x34 - x44 += einsum(x35, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.5 - del x35 - x44 += einsum(x38, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x38 - x44 += einsum(x40, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x40 - x44 += einsum(x43, (0, 1, 2, 3), (1, 0, 3, 2)) - del x43 - t2new += einsum(x44, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new += einsum(x44, (0, 1, 2, 3), (1, 0, 2, 3)) - del x44 - x45 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x45 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - x45 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) - t2new += einsum(v.vvvv, (0, 1, 2, 3), x45, (4, 5, 2, 3), (5, 4, 0, 1)) * -1.0 - del x45 - x46 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x46 += einsum(v.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x46 += einsum(v.oovv, (0, 1, 2, 3), x2, (4, 5, 2, 3), (0, 1, 5, 4)) * -0.5 - t2new += einsum(x2, (0, 1, 2, 3), x46, (0, 1, 4, 5), (4, 5, 3, 2)) * -0.5 - del x2, x46 - x47 = np.zeros((nvir, nvir), dtype=types[float]) - x47 += einsum(f.ov, (0, 1), t1, (0, 2), (1, 2)) - x48 = np.zeros((nvir, nvir), dtype=types[float]) - x48 += einsum(f.vv, (0, 1), (0, 1)) - x48 += einsum(x47, (0, 1), (0, 1)) * -1.0 - del x47 - x49 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x49 += einsum(x48, (0, 1), t3, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) - del x48 - t3new = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - t3new += einsum(x49, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) - t3new += einsum(x49, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * -1.0 - t3new += einsum(x49, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) - del x49 - x50 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x50 += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 3, 5, 6), (0, 1, 4, 2, 5, 6)) - x51 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x51 += einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), (0, 2, 3, 4)) - x52 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x52 += einsum(t1, (0, 1), x0, (2, 3, 4, 1), (2, 0, 4, 3)) - x53 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x53 += einsum(t1, (0, 1), x52, (2, 3, 4, 0), (2, 3, 4, 1)) - del x52 - x54 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x54 += einsum(x51, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - del x51 - x54 += einsum(x53, (0, 1, 2, 3), (0, 1, 2, 3)) - del x53 - x55 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x55 += einsum(t2, (0, 1, 2, 3), x54, (4, 5, 1, 6), (4, 5, 0, 6, 2, 3)) * -1.0 - del x54 - x56 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x56 += einsum(x50, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 - del x50 - x56 += einsum(x55, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 - del x55 - t3new += einsum(x56, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - t3new += einsum(x56, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) - t3new += einsum(x56, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -1.0 - t3new += einsum(x56, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) - t3new += einsum(x56, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -1.0 - t3new += einsum(x56, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - t3new += einsum(x56, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) - t3new += einsum(x56, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -1.0 - t3new += einsum(x56, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) - del x56 - x57 = np.zeros((nocc, nocc), dtype=types[float]) - x57 += einsum(f.oo, (0, 1), (0, 1)) - x57 += einsum(x5, (0, 1), (0, 1)) - del x5 - x58 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x58 += einsum(x57, (0, 1), t3, (2, 3, 0, 4, 5, 6), (1, 2, 3, 4, 5, 6)) - del x57 - t3new += einsum(x58, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - t3new += einsum(x58, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) * -1.0 - t3new += einsum(x58, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) - del x58 - x59 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x59 += einsum(t2, (0, 1, 2, 3), x24, (4, 1, 5, 6), (4, 0, 5, 2, 3, 6)) - del x24 - t3new += einsum(x59, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) - t3new += einsum(x59, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -1.0 - t3new += einsum(x59, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) - t3new += einsum(x59, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -1.0 - t3new += einsum(x59, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - t3new += einsum(x59, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -1.0 - t3new += einsum(x59, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 - t3new += einsum(x59, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) - t3new += einsum(x59, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -1.0 - t3new += einsum(x59, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) - t3new += einsum(x59, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * -1.0 - t3new += einsum(x59, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) - t3new += einsum(x59, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) - t3new += einsum(x59, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 - t3new += einsum(x59, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) - t3new += einsum(x59, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -1.0 - t3new += einsum(x59, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) - t3new += einsum(x59, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -1.0 - del x59 - x60 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x60 += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 5, 6, 3), (0, 1, 4, 6, 2, 5)) - x61 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x61 += einsum(t1, (0, 1), x60, (2, 3, 0, 4, 5, 6), (2, 3, 4, 1, 5, 6)) - del x60 - t3new += einsum(x61, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - t3new += einsum(x61, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - t3new += einsum(x61, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) - t3new += einsum(x61, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -1.0 - t3new += einsum(x61, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -1.0 - t3new += einsum(x61, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) - t3new += einsum(x61, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) - t3new += einsum(x61, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - t3new += einsum(x61, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -1.0 - t3new += einsum(x61, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) - t3new += einsum(x61, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - t3new += einsum(x61, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -1.0 - t3new += einsum(x61, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) - t3new += einsum(x61, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -1.0 - t3new += einsum(x61, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -1.0 - t3new += einsum(x61, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) - t3new += einsum(x61, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) - t3new += einsum(x61, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -1.0 - del x61 - x62 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x62 += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 1, 6), (0, 4, 5, 2, 3, 6)) - x63 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x63 += einsum(t2, (0, 1, 2, 3), x0, (4, 5, 6, 3), (4, 0, 1, 6, 5, 2)) - del x0 - x64 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x64 += einsum(t1, (0, 1), x63, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x63 - x65 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x65 += einsum(t1, (0, 1), x64, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 1, 6)) * -1.0 - del x64 - x66 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x66 += einsum(x62, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) - del x62 - x66 += einsum(x65, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) - del x65 - t3new += einsum(x66, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - t3new += einsum(x66, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - t3new += einsum(x66, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -1.0 - t3new += einsum(x66, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) * -1.0 - t3new += einsum(x66, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) - t3new += einsum(x66, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 - t3new += einsum(x66, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) - t3new += einsum(x66, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -1.0 - t3new += einsum(x66, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) - del x66 - x67 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x67 += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), (0, 1, 4, 5, 6, 2)) - x68 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x68 += einsum(t1, (0, 1), x67, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 1, 6)) - del x67 - x69 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x69 += einsum(t1, (0, 1), x68, (2, 3, 0, 4, 5, 6), (2, 3, 4, 5, 1, 6)) * -1.0 - del x68 - x70 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x70 += einsum(t1, (0, 1), x22, (2, 3, 4, 1), (2, 0, 3, 4)) * -1.0 - x71 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x71 += einsum(t2, (0, 1, 2, 3), x70, (4, 5, 1, 6), (5, 4, 0, 2, 3, 6)) * -1.0 - del x70 - x72 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x72 += einsum(x69, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - del x69 - x72 += einsum(x71, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - del x71 - t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -1.0 - t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) - t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) - t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) - t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -1.0 - t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) - del x72 - x73 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x73 += einsum(t2, (0, 1, 2, 3), x22, (4, 5, 6, 3), (4, 0, 1, 5, 2, 6)) * -1.0 - del x22 - x74 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x74 += einsum(t1, (0, 1), x73, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) - del x73 - t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) - t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -1.0 - t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) - t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -1.0 - t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) - t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * -1.0 - t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 - t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) - t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) - t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -1.0 - t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) * -1.0 - t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) - t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) - t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -1.0 - t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 - t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) - del x74 - x75 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x75 += einsum(t1, (0, 1), v.oooo, (2, 3, 4, 0), (2, 3, 4, 1)) - x76 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x76 += einsum(t2, (0, 1, 2, 3), x75, (4, 5, 1, 6), (0, 4, 5, 6, 2, 3)) * -1.0 - del x75 - x77 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x77 += einsum(t1, (0, 1), v.vvvv, (2, 3, 4, 1), (0, 2, 3, 4)) - x78 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x78 += einsum(t2, (0, 1, 2, 3), x77, (4, 5, 6, 3), (4, 0, 1, 2, 5, 6)) * -1.0 - del x77 - x79 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x79 += einsum(x76, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - del x76 - x79 += einsum(x78, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - del x78 - t3new += einsum(x79, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - t3new += einsum(x79, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) - t3new += einsum(x79, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -1.0 - t3new += einsum(x79, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) * -1.0 - t3new += einsum(x79, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) - t3new += einsum(x79, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * -1.0 - t3new += einsum(x79, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) - t3new += einsum(x79, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -1.0 - t3new += einsum(x79, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) - del x79 - x80 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x80 += einsum(t1, (0, 1), x39, (2, 0, 3, 4), (2, 3, 4, 1)) * -1.0 - del x39 - x81 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x81 += einsum(t2, (0, 1, 2, 3), x80, (4, 1, 5, 6), (4, 0, 5, 6, 2, 3)) * -1.0 - del x80 - t3new += einsum(x81, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - t3new += einsum(x81, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -1.0 - t3new += einsum(x81, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) - t3new += einsum(x81, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - t3new += einsum(x81, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) - t3new += einsum(x81, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -1.0 - t3new += einsum(x81, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * -1.0 - t3new += einsum(x81, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) - t3new += einsum(x81, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -1.0 - t3new += einsum(x81, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) - t3new += einsum(x81, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 - t3new += einsum(x81, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) - t3new += einsum(x81, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) - t3new += einsum(x81, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -1.0 - t3new += einsum(x81, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) - t3new += einsum(x81, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -1.0 - t3new += einsum(x81, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) - t3new += einsum(x81, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -1.0 - del x81 - - return {"t1new": t1new, "t2new": t2new, "t3new": t3new} - diff --git a/ebcc/codegen/GCCD.py b/ebcc/codegen/GCCD.py deleted file mode 100644 index 3dfcdd70..00000000 --- a/ebcc/codegen/GCCD.py +++ /dev/null @@ -1,238 +0,0 @@ -# Code generated for ebcc. - -from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, Namespace -from ebcc.precision import types - -def energy(f=None, v=None, nocc=None, nvir=None, t2=None, **kwargs): - # energy - e_cc = 0 - e_cc += einsum(t2, (0, 1, 2, 3), v.oovv, (0, 1, 2, 3), ()) * 0.25 - - return e_cc - -def update_amps(f=None, v=None, nocc=None, nvir=None, t2=None, **kwargs): - # T amplitudes - t2new = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - t2new += einsum(t2, (0, 1, 2, 3), v.vvvv, (4, 5, 2, 3), (0, 1, 4, 5)) * 0.5 - t2new += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) - x0 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x0 += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 3, 1, 5), (0, 4, 2, 5)) - t2new += einsum(x0, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new += einsum(x0, (0, 1, 2, 3), (0, 1, 3, 2)) - t2new += einsum(x0, (0, 1, 2, 3), (1, 0, 2, 3)) - t2new += einsum(x0, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x0 - x1 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x1 += einsum(f.oo, (0, 1), t2, (2, 1, 3, 4), (0, 2, 3, 4)) - x2 = np.zeros((nocc, nocc), dtype=types[float]) - x2 += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 2, 3), (0, 4)) - x3 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x3 += einsum(x2, (0, 1), t2, (2, 1, 3, 4), (2, 0, 3, 4)) - del x2 - x4 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x4 += einsum(x1, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x1 - x4 += einsum(x3, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.5 - del x3 - t2new += einsum(x4, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new += einsum(x4, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x4 - x5 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x5 += einsum(f.vv, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4)) - t2new += einsum(x5, (0, 1, 2, 3), (1, 0, 2, 3)) - t2new += einsum(x5, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x5 - x6 = np.zeros((nvir, nvir), dtype=types[float]) - x6 += einsum(t2, (0, 1, 2, 3), v.oovv, (0, 1, 4, 3), (2, 4)) - x7 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x7 += einsum(x6, (0, 1), t2, (2, 3, 4, 1), (2, 3, 4, 0)) - del x6 - x8 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x8 += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 3), (0, 4, 2, 5)) - x9 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x9 += einsum(t2, (0, 1, 2, 3), x8, (4, 1, 5, 3), (4, 0, 5, 2)) - del x8 - x10 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x10 += einsum(x7, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - del x7 - x10 += einsum(x9, (0, 1, 2, 3), (0, 1, 2, 3)) - del x9 - t2new += einsum(x10, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new += einsum(x10, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x10 - x11 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x11 += einsum(v.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x11 += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 2, 3), (4, 5, 0, 1)) * 0.5 - t2new += einsum(t2, (0, 1, 2, 3), x11, (0, 1, 4, 5), (4, 5, 2, 3)) * 0.5 - del x11 - - return {"t2new": t2new} - -def update_lams(f=None, v=None, nocc=None, nvir=None, t2=None, l2=None, **kwargs): - # L amplitudes - l2new = np.zeros((nvir, nvir, nocc, nocc), dtype=types[float]) - l2new += einsum(l2, (0, 1, 2, 3), v.vvvv, (4, 5, 0, 1), (4, 5, 2, 3)) * 0.5 - l2new += einsum(v.oovv, (0, 1, 2, 3), (2, 3, 0, 1)) - x0 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x0 += einsum(l2, (0, 1, 2, 3), t2, (4, 5, 0, 1), (2, 3, 4, 5)) - l2new += einsum(v.oovv, (0, 1, 2, 3), x0, (4, 5, 0, 1), (2, 3, 4, 5)) * 0.25 - del x0 - x1 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x1 += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 3), (0, 4, 2, 5)) - x2 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x2 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x2 += einsum(x1, (0, 1, 2, 3), (0, 1, 2, 3)) - del x1 - x3 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x3 += einsum(l2, (0, 1, 2, 3), x2, (3, 4, 1, 5), (2, 4, 0, 5)) - del x2 - l2new += einsum(x3, (0, 1, 2, 3), (2, 3, 0, 1)) - l2new += einsum(x3, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - l2new += einsum(x3, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 - l2new += einsum(x3, (0, 1, 2, 3), (3, 2, 1, 0)) - del x3 - x4 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x4 += einsum(f.oo, (0, 1), l2, (2, 3, 4, 1), (0, 4, 2, 3)) - l2new += einsum(x4, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - l2new += einsum(x4, (0, 1, 2, 3), (3, 2, 1, 0)) - del x4 - x5 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x5 += einsum(f.vv, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2)) - x6 = np.zeros((nvir, nvir), dtype=types[float]) - x6 += einsum(t2, (0, 1, 2, 3), v.oovv, (0, 1, 4, 3), (2, 4)) - x7 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x7 += einsum(x6, (0, 1), l2, (2, 0, 3, 4), (3, 4, 2, 1)) - del x6 - x8 = np.zeros((nvir, nvir), dtype=types[float]) - x8 += einsum(l2, (0, 1, 2, 3), t2, (2, 3, 4, 1), (0, 4)) - x9 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x9 += einsum(x8, (0, 1), v.oovv, (2, 3, 4, 1), (2, 3, 0, 4)) * -1.0 - del x8 - x10 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x10 += einsum(x5, (0, 1, 2, 3), (1, 0, 2, 3)) - del x5 - x10 += einsum(x7, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - del x7 - x10 += einsum(x9, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - del x9 - l2new += einsum(x10, (0, 1, 2, 3), (2, 3, 0, 1)) - l2new += einsum(x10, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - del x10 - x11 = np.zeros((nocc, nocc), dtype=types[float]) - x11 += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 2, 3), (0, 4)) - x12 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x12 += einsum(x11, (0, 1), l2, (2, 3, 4, 0), (4, 1, 2, 3)) - del x11 - x13 = np.zeros((nocc, nocc), dtype=types[float]) - x13 += einsum(l2, (0, 1, 2, 3), t2, (4, 3, 0, 1), (2, 4)) - x14 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x14 += einsum(x13, (0, 1), v.oovv, (2, 1, 3, 4), (0, 2, 3, 4)) * -1.0 - del x13 - x15 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x15 += einsum(x12, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.5 - del x12 - x15 += einsum(x14, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.5 - del x14 - l2new += einsum(x15, (0, 1, 2, 3), (3, 2, 0, 1)) - l2new += einsum(x15, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 - del x15 - x16 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x16 += einsum(v.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x16 += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 2, 3), (0, 1, 4, 5)) * 0.5 - l2new += einsum(l2, (0, 1, 2, 3), x16, (3, 2, 4, 5), (0, 1, 4, 5)) * -0.5 - del x16 - - return {"l2new": l2new} - -def make_rdm1_f(f=None, v=None, nocc=None, nvir=None, t2=None, l2=None, **kwargs): - delta = Namespace(oo=np.eye(nocc), vv=np.eye(nvir)) - - # RDM1 - rdm1_f_oo = np.zeros((nocc, nocc), dtype=types[float]) - rdm1_f_oo += einsum(delta.oo, (0, 1), (0, 1)) - rdm1_f_oo += einsum(l2, (0, 1, 2, 3), t2, (4, 3, 0, 1), (4, 2)) * -0.5 - rdm1_f_vv = np.zeros((nvir, nvir), dtype=types[float]) - rdm1_f_vv += einsum(l2, (0, 1, 2, 3), t2, (2, 3, 4, 1), (0, 4)) * 0.5 - rdm1_f_ov = np.zeros((nocc, nvir), dtype=types[float]) - rdm1_f_vo = np.zeros((nvir, nocc), dtype=types[float]) - - rdm1_f = np.block([[rdm1_f_oo, rdm1_f_ov], [rdm1_f_vo, rdm1_f_vv]]) - - return rdm1_f - -def make_rdm2_f(f=None, v=None, nocc=None, nvir=None, t2=None, l2=None, **kwargs): - delta = Namespace(oo=np.eye(nocc), vv=np.eye(nvir)) - - # RDM2 - rdm2_f_oooo = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - rdm2_f_oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (0, 2, 1, 3)) - rdm2_f_oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_oovv = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - rdm2_f_oovv += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_vvoo = np.zeros((nvir, nvir, nocc, nocc), dtype=types[float]) - rdm2_f_vvoo += einsum(l2, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_vvvv = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) - rdm2_f_vvvv += einsum(l2, (0, 1, 2, 3), t2, (2, 3, 4, 5), (0, 1, 4, 5)) * 0.5 - x0 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x0 += einsum(l2, (0, 1, 2, 3), t2, (4, 5, 0, 1), (2, 3, 4, 5)) - rdm2_f_oooo += einsum(x0, (0, 1, 2, 3), (3, 2, 1, 0)) * 0.5 - rdm2_f_oovv += einsum(t2, (0, 1, 2, 3), x0, (0, 1, 4, 5), (5, 4, 2, 3)) * -0.25 - del x0 - x1 = np.zeros((nocc, nocc), dtype=types[float]) - x1 += einsum(l2, (0, 1, 2, 3), t2, (4, 3, 0, 1), (2, 4)) - rdm2_f_oooo += einsum(delta.oo, (0, 1), x1, (2, 3), (0, 3, 1, 2)) * -0.5 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x1, (2, 3), (0, 3, 2, 1)) * 0.5 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x1, (2, 3), (3, 0, 1, 2)) * 0.5 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x1, (2, 3), (3, 0, 2, 1)) * -0.5 - x2 = np.zeros((nvir, nvir), dtype=types[float]) - x2 += einsum(l2, (0, 1, 2, 3), t2, (2, 3, 4, 1), (0, 4)) - rdm2_f_ovov = np.zeros((nocc, nvir, nocc, nvir), dtype=types[float]) - rdm2_f_ovov += einsum(delta.oo, (0, 1), x2, (2, 3), (0, 2, 1, 3)) * 0.5 - rdm2_f_ovvo = np.zeros((nocc, nvir, nvir, nocc), dtype=types[float]) - rdm2_f_ovvo += einsum(delta.oo, (0, 1), x2, (2, 3), (0, 2, 3, 1)) * -0.5 - rdm2_f_voov = np.zeros((nvir, nocc, nocc, nvir), dtype=types[float]) - rdm2_f_voov += einsum(delta.oo, (0, 1), x2, (2, 3), (2, 0, 1, 3)) * -0.5 - rdm2_f_vovo = np.zeros((nvir, nocc, nvir, nocc), dtype=types[float]) - rdm2_f_vovo += einsum(delta.oo, (0, 1), x2, (2, 3), (2, 0, 3, 1)) * 0.5 - x3 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x3 += einsum(x2, (0, 1), t2, (2, 3, 4, 0), (2, 3, 4, 1)) - del x2 - x4 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x4 += einsum(l2, (0, 1, 2, 3), t2, (4, 3, 5, 1), (2, 4, 0, 5)) - rdm2_f_ovov += einsum(x4, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_ovvo += einsum(x4, (0, 1, 2, 3), (1, 2, 3, 0)) - rdm2_f_voov += einsum(x4, (0, 1, 2, 3), (2, 1, 0, 3)) - rdm2_f_vovo += einsum(x4, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - x5 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x5 += einsum(t2, (0, 1, 2, 3), x4, (1, 4, 3, 5), (4, 0, 5, 2)) - del x4 - x6 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x6 += einsum(x3, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - del x3 - x6 += einsum(x5, (0, 1, 2, 3), (0, 1, 2, 3)) - del x5 - rdm2_f_oovv += einsum(x6, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(x6, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x6 - x7 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x7 += einsum(x1, (0, 1), t2, (2, 0, 3, 4), (2, 1, 3, 4)) - del x1 - rdm2_f_oovv += einsum(x7, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.5 - rdm2_f_oovv += einsum(x7, (0, 1, 2, 3), (1, 0, 3, 2)) * -0.5 - del x7 - rdm2_f_ooov = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - rdm2_f_oovo = np.zeros((nocc, nocc, nvir, nocc), dtype=types[float]) - rdm2_f_ovoo = np.zeros((nocc, nvir, nocc, nocc), dtype=types[float]) - rdm2_f_vooo = np.zeros((nvir, nocc, nocc, nocc), dtype=types[float]) - rdm2_f_ovvv = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - rdm2_f_vovv = np.zeros((nvir, nocc, nvir, nvir), dtype=types[float]) - rdm2_f_vvov = np.zeros((nvir, nvir, nocc, nvir), dtype=types[float]) - rdm2_f_vvvo = np.zeros((nvir, nvir, nvir, nocc), dtype=types[float]) - - rdm2_f = pack_2e(rdm2_f_oooo, rdm2_f_ooov, rdm2_f_oovo, rdm2_f_ovoo, rdm2_f_vooo, rdm2_f_oovv, rdm2_f_ovov, rdm2_f_ovvo, rdm2_f_voov, rdm2_f_vovo, rdm2_f_vvoo, rdm2_f_ovvv, rdm2_f_vovv, rdm2_f_vvov, rdm2_f_vvvo, rdm2_f_vvvv) - - rdm2_f = rdm2_f.swapaxes(1, 2) - - return rdm2_f - diff --git a/ebcc/codegen/GCCSD.py b/ebcc/codegen/GCCSD.py deleted file mode 100644 index 66ea8405..00000000 --- a/ebcc/codegen/GCCSD.py +++ /dev/null @@ -1,1838 +0,0 @@ -# Code generated by qwick. - -from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, Namespace -from ebcc.precision import types - -def energy(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, **kwargs): - # energy - e_cc = 0 - e_cc += einsum(f.ov, (0, 1), t1, (0, 1), ()) - x0 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x0 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - x0 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) * 2.0 - e_cc += einsum(v.oovv, (0, 1, 2, 3), x0, (0, 1, 2, 3), ()) * 0.25 - del x0 - - return e_cc - -def update_amps(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, **kwargs): - # T amplitudes - t1new = np.zeros((nocc, nvir), dtype=types[float]) - t1new += einsum(t1, (0, 1), v.ovov, (2, 1, 0, 3), (2, 3)) * -1.0 - t1new += einsum(f.ov, (0, 1), (0, 1)) - t1new += einsum(f.vv, (0, 1), t1, (2, 1), (2, 0)) - t2new = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - t2new += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) - x0 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x0 += einsum(t1, (0, 1), v.oovv, (2, 3, 4, 1), (0, 2, 3, 4)) - x1 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x1 += einsum(v.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - x1 += einsum(x0, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - t1new += einsum(t2, (0, 1, 2, 3), x1, (4, 0, 1, 3), (4, 2)) * 0.5 - del x1 - x2 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x2 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - x2 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) * 2.0 - t1new += einsum(v.ovvv, (0, 1, 2, 3), x2, (0, 4, 2, 3), (4, 1)) * 0.5 - t2new += einsum(v.vvvv, (0, 1, 2, 3), x2, (4, 5, 2, 3), (5, 4, 0, 1)) * -0.5 - x3 = np.zeros((nocc, nvir), dtype=types[float]) - x3 += einsum(t1, (0, 1), v.oovv, (2, 0, 3, 1), (2, 3)) - x4 = np.zeros((nocc, nvir), dtype=types[float]) - x4 += einsum(f.ov, (0, 1), (0, 1)) - x4 += einsum(x3, (0, 1), (0, 1)) - del x3 - t1new += einsum(x4, (0, 1), t2, (2, 0, 3, 1), (2, 3)) - x5 = np.zeros((nocc, nocc), dtype=types[float]) - x5 += einsum(t1, (0, 1), v.ooov, (2, 0, 3, 1), (2, 3)) - x6 = np.zeros((nocc, nocc), dtype=types[float]) - x6 += einsum(f.oo, (0, 1), (0, 1)) - x6 += einsum(f.ov, (0, 1), t1, (2, 1), (0, 2)) - x6 += einsum(x5, (0, 1), (0, 1)) - x6 += einsum(v.oovv, (0, 1, 2, 3), x2, (1, 4, 2, 3), (0, 4)) * -0.5 - t1new += einsum(t1, (0, 1), x6, (0, 2), (2, 1)) * -1.0 - del x6 - x7 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x7 += einsum(t1, (0, 1), v.ovvv, (2, 1, 3, 4), (0, 2, 3, 4)) - x8 = np.zeros((nocc, nocc), dtype=types[float]) - x8 += einsum(t1, (0, 1), x4, (2, 1), (0, 2)) - x9 = np.zeros((nocc, nocc), dtype=types[float]) - x9 += einsum(f.oo, (0, 1), (0, 1)) - x9 += einsum(x8, (0, 1), (0, 1)) - del x8 - x10 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x10 += einsum(x9, (0, 1), t2, (2, 1, 3, 4), (0, 2, 3, 4)) * -1.0 - del x9 - x11 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x11 += einsum(t1, (0, 1), v.ooov, (2, 3, 4, 1), (0, 2, 3, 4)) - x12 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x12 += einsum(x11, (0, 1, 2, 3), x2, (1, 2, 4, 5), (0, 3, 4, 5)) * 0.5 - del x11 - x13 = np.zeros((nocc, nocc), dtype=types[float]) - x13 += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 2, 3), (0, 4)) - x14 = np.zeros((nocc, nocc), dtype=types[float]) - x14 += einsum(x5, (0, 1), (0, 1)) - del x5 - x14 += einsum(x13, (0, 1), (1, 0)) * 0.5 - del x13 - x15 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x15 += einsum(x14, (0, 1), t2, (2, 0, 3, 4), (1, 2, 3, 4)) * -1.0 - del x14 - x16 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x16 += einsum(x7, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x7 - x16 += einsum(x10, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x10 - x16 += einsum(x12, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x12 - x16 += einsum(x15, (0, 1, 2, 3), (1, 0, 3, 2)) - del x15 - t2new += einsum(x16, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new += einsum(x16, (0, 1, 2, 3), (1, 0, 2, 3)) - del x16 - x17 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x17 += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 3, 1, 5), (0, 4, 2, 5)) - x18 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x18 += einsum(t1, (0, 1), v.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) - x19 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x19 += einsum(t2, (0, 1, 2, 3), x18, (4, 1, 5, 3), (4, 0, 2, 5)) * -1.0 - del x18 - x20 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x20 += einsum(t1, (0, 1), v.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) - x21 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x21 += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 1, 5, 3), (0, 4, 5, 2)) - x22 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x22 += einsum(t2, (0, 1, 2, 3), x0, (4, 1, 5, 3), (4, 0, 5, 2)) - del x0 - x23 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x23 += einsum(x20, (0, 1, 2, 3), (0, 1, 2, 3)) - del x20 - x23 += einsum(x21, (0, 1, 2, 3), (0, 1, 2, 3)) - del x21 - x23 += einsum(x22, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x22 - x24 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x24 += einsum(t1, (0, 1), x23, (2, 0, 3, 4), (2, 3, 4, 1)) - del x23 - x25 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x25 += einsum(x17, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x17 - x25 += einsum(x19, (0, 1, 2, 3), (0, 1, 2, 3)) - del x19 - x25 += einsum(x24, (0, 1, 2, 3), (0, 1, 3, 2)) - del x24 - t2new += einsum(x25, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new += einsum(x25, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new += einsum(x25, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - t2new += einsum(x25, (0, 1, 2, 3), (1, 0, 3, 2)) - del x25 - x26 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x26 += einsum(t1, (0, 1), v.ooov, (2, 3, 0, 4), (2, 3, 1, 4)) - x27 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x27 += einsum(f.vv, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4)) - x28 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x28 += einsum(x26, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x26 - x28 += einsum(x27, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x27 - t2new += einsum(x28, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new += einsum(x28, (0, 1, 2, 3), (0, 1, 3, 2)) - del x28 - x29 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x29 += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 3), (0, 4, 2, 5)) - x30 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x30 += einsum(t2, (0, 1, 2, 3), x29, (4, 1, 5, 3), (4, 0, 5, 2)) - del x29 - x31 = np.zeros((nvir, nvir), dtype=types[float]) - x31 += einsum(t1, (0, 1), v.ovvv, (0, 2, 3, 1), (2, 3)) - x32 = np.zeros((nvir, nvir), dtype=types[float]) - x32 += einsum(t2, (0, 1, 2, 3), v.oovv, (0, 1, 4, 3), (2, 4)) - x33 = np.zeros((nvir, nvir), dtype=types[float]) - x33 += einsum(x31, (0, 1), (0, 1)) - del x31 - x33 += einsum(x32, (0, 1), (0, 1)) * 0.5 - del x32 - x34 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x34 += einsum(x33, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4)) * -1.0 - del x33 - x35 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x35 += einsum(v.ovvv, (0, 1, 2, 3), x2, (4, 5, 2, 3), (0, 4, 5, 1)) * 0.5 - x36 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x36 += einsum(x4, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4)) * -1.0 - del x4 - x37 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x37 += einsum(x35, (0, 1, 2, 3), (0, 2, 1, 3)) - del x35 - x37 += einsum(x36, (0, 1, 2, 3), (2, 1, 0, 3)) - del x36 - x38 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x38 += einsum(t1, (0, 1), x37, (0, 2, 3, 4), (2, 3, 4, 1)) - del x37 - x39 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x39 += einsum(x30, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x30 - x39 += einsum(x34, (0, 1, 2, 3), (1, 0, 3, 2)) - del x34 - x39 += einsum(x38, (0, 1, 2, 3), (1, 0, 3, 2)) - del x38 - t2new += einsum(x39, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new += einsum(x39, (0, 1, 2, 3), (0, 1, 3, 2)) - del x39 - x40 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x40 += einsum(v.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x40 += einsum(v.oovv, (0, 1, 2, 3), x2, (4, 5, 2, 3), (0, 1, 5, 4)) * -0.5 - t2new += einsum(x2, (0, 1, 2, 3), x40, (0, 1, 4, 5), (4, 5, 3, 2)) * -0.5 - del x2, x40 - - return {"t1new": t1new, "t2new": t2new} - -def update_lams(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, l1=None, l2=None, **kwargs): - # L amplitudes - l1new = np.zeros((nvir, nocc), dtype=types[float]) - l1new += einsum(l1, (0, 1), v.ovov, (2, 0, 1, 3), (3, 2)) * -1.0 - l1new += einsum(f.ov, (0, 1), (1, 0)) - l2new = np.zeros((nvir, nvir, nocc, nocc), dtype=types[float]) - l2new += einsum(l2, (0, 1, 2, 3), v.vvvv, (4, 5, 0, 1), (4, 5, 2, 3)) * 0.5 - l2new += einsum(v.oovv, (0, 1, 2, 3), (2, 3, 0, 1)) - x0 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x0 += einsum(l2, (0, 1, 2, 3), t2, (4, 5, 0, 1), (2, 3, 4, 5)) - l1new += einsum(v.ooov, (0, 1, 2, 3), x0, (4, 2, 0, 1), (3, 4)) * -0.25 - x1 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x1 += einsum(t1, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2)) - l1new += einsum(v.ovov, (0, 1, 2, 3), x1, (4, 2, 0, 1), (3, 4)) * -1.0 - l2new += einsum(v.ovvv, (0, 1, 2, 3), x1, (4, 5, 0, 1), (2, 3, 4, 5)) - x2 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x2 += einsum(t1, (0, 1), x1, (2, 3, 4, 1), (2, 3, 0, 4)) - l1new += einsum(v.ooov, (0, 1, 2, 3), x2, (4, 2, 0, 1), (3, 4)) * -0.5 - x3 = np.zeros((nocc, nvir), dtype=types[float]) - x3 += einsum(t1, (0, 1), v.oovv, (2, 0, 3, 1), (2, 3)) - x4 = np.zeros((nocc, nocc), dtype=types[float]) - x4 += einsum(l1, (0, 1), t1, (2, 0), (1, 2)) - l1new += einsum(x3, (0, 1), x4, (2, 0), (1, 2)) * -1.0 - x5 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x5 += einsum(l2, (0, 1, 2, 3), t2, (4, 3, 5, 1), (2, 4, 0, 5)) - l1new += einsum(v.ovvv, (0, 1, 2, 3), x5, (4, 0, 1, 3), (2, 4)) * -1.0 - del x5 - x6 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x6 += einsum(t1, (0, 1), v.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) - l1new += einsum(x1, (0, 1, 2, 3), x6, (1, 2, 3, 4), (4, 0)) - x7 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x7 += einsum(t1, (0, 1), v.oovv, (2, 3, 4, 1), (0, 2, 3, 4)) - x8 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x8 += einsum(v.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - x8 += einsum(x7, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x9 = np.zeros((nocc, nvir), dtype=types[float]) - x9 += einsum(f.ov, (0, 1), (0, 1)) - x9 += einsum(x3, (0, 1), (0, 1)) - x10 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x10 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x10 += einsum(x6, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.5 - x11 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x11 += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 2, 3), (0, 1, 4, 5)) - x12 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x12 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x12 += einsum(x7, (0, 1, 2, 3), (2, 1, 0, 3)) * 0.5 - x13 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x13 += einsum(v.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - x13 += einsum(x11, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 - x13 += einsum(t1, (0, 1), x12, (2, 3, 4, 1), (3, 2, 0, 4)) * -4.0 - x14 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x14 += einsum(v.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) * -0.5 - x14 += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 2, 3), (4, 0, 1, 5)) * -0.25 - x14 += einsum(t2, (0, 1, 2, 3), x8, (4, 1, 5, 3), (5, 0, 4, 2)) - x14 += einsum(x9, (0, 1), t2, (2, 3, 4, 1), (0, 2, 3, 4)) * 0.5 - x14 += einsum(t1, (0, 1), x10, (2, 3, 1, 4), (3, 2, 0, 4)) * -1.0 - del x10 - x14 += einsum(t1, (0, 1), x13, (0, 2, 3, 4), (2, 4, 3, 1)) * -0.25 - del x13 - l1new += einsum(l2, (0, 1, 2, 3), x14, (4, 2, 3, 1), (0, 4)) - del x14 - x15 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x15 += einsum(v.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) - x15 += einsum(t1, (0, 1), v.vvvv, (2, 1, 3, 4), (0, 2, 3, 4)) * -1.0 - l1new += einsum(l2, (0, 1, 2, 3), x15, (3, 4, 0, 1), (4, 2)) * -0.5 - del x15 - x16 = np.zeros((nocc, nocc), dtype=types[float]) - x16 += einsum(l2, (0, 1, 2, 3), t2, (4, 3, 0, 1), (2, 4)) - x17 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x17 += einsum(x0, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x0 - x17 += einsum(x2, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - del x2 - l2new += einsum(v.oovv, (0, 1, 2, 3), x17, (4, 5, 0, 1), (2, 3, 5, 4)) * 0.25 - x18 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x18 += einsum(l1, (0, 1), t2, (2, 3, 4, 0), (1, 2, 3, 4)) * 2.0 - x18 += einsum(t1, (0, 1), x16, (2, 3), (2, 0, 3, 1)) * 2.0 - x18 += einsum(t2, (0, 1, 2, 3), x1, (4, 1, 5, 3), (4, 0, 5, 2)) * -4.0 - x18 += einsum(t1, (0, 1), x17, (0, 2, 3, 4), (2, 4, 3, 1)) * -1.0 - del x17 - l1new += einsum(v.oovv, (0, 1, 2, 3), x18, (4, 0, 1, 3), (2, 4)) * 0.25 - del x18 - x19 = np.zeros((nvir, nvir), dtype=types[float]) - x19 += einsum(l2, (0, 1, 2, 3), t2, (2, 3, 4, 1), (0, 4)) - x20 = np.zeros((nvir, nvir), dtype=types[float]) - x20 += einsum(l1, (0, 1), t1, (1, 2), (0, 2)) - x20 += einsum(x19, (0, 1), (0, 1)) * 0.5 - l1new += einsum(x20, (0, 1), v.ovvv, (2, 0, 3, 1), (3, 2)) - del x20 - x21 = np.zeros((nocc, nocc), dtype=types[float]) - x21 += einsum(x4, (0, 1), (0, 1)) - x21 += einsum(x16, (0, 1), (0, 1)) * 0.5 - l1new += einsum(f.ov, (0, 1), x21, (2, 0), (1, 2)) * -1.0 - x22 = np.zeros((nocc, nvir), dtype=types[float]) - x22 += einsum(t1, (0, 1), (0, 1)) * -1.0 - x22 += einsum(l1, (0, 1), t2, (2, 1, 3, 0), (2, 3)) * -1.0 - x22 += einsum(t2, (0, 1, 2, 3), x1, (1, 0, 4, 3), (4, 2)) * 0.5 - x22 += einsum(t1, (0, 1), x21, (0, 2), (2, 1)) - l1new += einsum(x22, (0, 1), v.oovv, (2, 0, 3, 1), (3, 2)) * -1.0 - del x22 - x23 = np.zeros((nocc, nocc), dtype=types[float]) - x23 += einsum(x4, (0, 1), (0, 1)) * 2.0 - del x4 - x23 += einsum(x16, (0, 1), (0, 1)) - del x16 - l1new += einsum(x23, (0, 1), v.ooov, (2, 1, 0, 3), (3, 2)) * 0.5 - del x23 - x24 = np.zeros((nvir, nvir), dtype=types[float]) - x24 += einsum(t1, (0, 1), v.ovvv, (0, 2, 3, 1), (2, 3)) - x25 = np.zeros((nvir, nvir), dtype=types[float]) - x25 += einsum(f.vv, (0, 1), (0, 1)) - x25 += einsum(x24, (0, 1), (0, 1)) * -1.0 - l1new += einsum(l1, (0, 1), x25, (0, 2), (2, 1)) - del x25 - x26 = np.zeros((nocc, nocc), dtype=types[float]) - x26 += einsum(t1, (0, 1), v.ooov, (2, 0, 3, 1), (2, 3)) - x27 = np.zeros((nocc, nocc), dtype=types[float]) - x27 += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 2, 3), (0, 4)) - x28 = np.zeros((nocc, nocc), dtype=types[float]) - x28 += einsum(f.oo, (0, 1), (0, 1)) - x28 += einsum(x26, (0, 1), (1, 0)) - x28 += einsum(x27, (0, 1), (0, 1)) * 0.5 - x28 += einsum(t1, (0, 1), x9, (2, 1), (0, 2)) - del x9 - l1new += einsum(l1, (0, 1), x28, (1, 2), (0, 2)) * -1.0 - del x28 - x29 = np.zeros((nocc, nocc), dtype=types[float]) - x29 += einsum(f.ov, (0, 1), t1, (2, 1), (0, 2)) - x30 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x30 += einsum(x29, (0, 1), l2, (2, 3, 4, 1), (0, 4, 2, 3)) - del x29 - x31 = np.zeros((nocc, nocc), dtype=types[float]) - x31 += einsum(t1, (0, 1), x3, (2, 1), (0, 2)) - x32 = np.zeros((nocc, nocc), dtype=types[float]) - x32 += einsum(x26, (0, 1), (0, 1)) - del x26 - x32 += einsum(x27, (0, 1), (1, 0)) * 0.5 - del x27 - x32 += einsum(x31, (0, 1), (1, 0)) - del x31 - x33 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x33 += einsum(x32, (0, 1), l2, (2, 3, 4, 1), (0, 4, 2, 3)) * -1.0 - del x32 - x34 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x34 += einsum(x21, (0, 1), v.oovv, (2, 1, 3, 4), (0, 2, 3, 4)) * -1.0 - del x21 - x35 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x35 += einsum(x30, (0, 1, 2, 3), (0, 1, 3, 2)) - del x30 - x35 += einsum(x33, (0, 1, 2, 3), (1, 0, 3, 2)) - del x33 - x35 += einsum(x34, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x34 - l2new += einsum(x35, (0, 1, 2, 3), (3, 2, 0, 1)) - l2new += einsum(x35, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 - del x35 - x36 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x36 += einsum(v.ooov, (0, 1, 2, 3), x1, (4, 2, 1, 5), (4, 0, 5, 3)) - x37 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x37 += einsum(x1, (0, 1, 2, 3), x7, (0, 4, 2, 5), (1, 4, 3, 5)) * -1.0 - del x7 - x38 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x38 += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 3), (0, 4, 2, 5)) - x39 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x39 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x39 += einsum(x6, (0, 1, 2, 3), (0, 1, 2, 3)) - del x6 - x39 += einsum(x38, (0, 1, 2, 3), (0, 1, 2, 3)) - del x38 - x40 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x40 += einsum(l2, (0, 1, 2, 3), x39, (3, 4, 1, 5), (4, 2, 5, 0)) - del x39 - x41 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x41 += einsum(f.ov, (0, 1), l1, (2, 3), (0, 3, 1, 2)) - x41 += einsum(l1, (0, 1), x3, (2, 3), (1, 2, 0, 3)) - x41 += einsum(x36, (0, 1, 2, 3), (0, 1, 2, 3)) - del x36 - x41 += einsum(x37, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x37 - x41 += einsum(x40, (0, 1, 2, 3), (1, 0, 3, 2)) - del x40 - l2new += einsum(x41, (0, 1, 2, 3), (2, 3, 0, 1)) - l2new += einsum(x41, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - l2new += einsum(x41, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 - l2new += einsum(x41, (0, 1, 2, 3), (3, 2, 1, 0)) - del x41 - x42 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x42 += einsum(f.vv, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2)) - x43 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x43 += einsum(f.ov, (0, 1), x1, (2, 3, 0, 4), (2, 3, 1, 4)) - x44 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x44 += einsum(x19, (0, 1), v.oovv, (2, 3, 4, 1), (2, 3, 0, 4)) * -1.0 - del x19 - x45 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x45 += einsum(x3, (0, 1), x1, (2, 3, 0, 4), (2, 3, 4, 1)) - del x1, x3 - x46 = np.zeros((nvir, nvir), dtype=types[float]) - x46 += einsum(t2, (0, 1, 2, 3), v.oovv, (0, 1, 4, 3), (2, 4)) - x47 = np.zeros((nvir, nvir), dtype=types[float]) - x47 += einsum(x24, (0, 1), (0, 1)) - del x24 - x47 += einsum(x46, (0, 1), (0, 1)) * 0.5 - del x46 - x48 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x48 += einsum(x47, (0, 1), l2, (2, 0, 3, 4), (3, 4, 1, 2)) * -1.0 - del x47 - x49 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x49 += einsum(l1, (0, 1), x8, (1, 2, 3, 4), (2, 3, 4, 0)) - del x8 - x50 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x50 += einsum(x42, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x42 - x50 += einsum(x43, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x43 - x50 += einsum(x44, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - del x44 - x50 += einsum(x45, (0, 1, 2, 3), (0, 1, 2, 3)) - del x45 - x50 += einsum(x48, (0, 1, 2, 3), (1, 0, 3, 2)) - del x48 - x50 += einsum(x49, (0, 1, 2, 3), (1, 0, 3, 2)) - del x49 - l2new += einsum(x50, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 - l2new += einsum(x50, (0, 1, 2, 3), (3, 2, 0, 1)) - del x50 - x51 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x51 += einsum(f.oo, (0, 1), l2, (2, 3, 4, 1), (0, 4, 2, 3)) - x52 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x52 += einsum(l1, (0, 1), v.ovvv, (2, 0, 3, 4), (1, 2, 3, 4)) - x53 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x53 += einsum(x51, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x51 - x53 += einsum(x52, (0, 1, 2, 3), (0, 1, 3, 2)) - del x52 - l2new += einsum(x53, (0, 1, 2, 3), (2, 3, 0, 1)) - l2new += einsum(x53, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 - del x53 - x54 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x54 += einsum(v.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - x54 += einsum(x11, (0, 1, 2, 3), (1, 0, 3, 2)) * 0.25 - del x11 - x54 += einsum(t1, (0, 1), x12, (2, 3, 4, 1), (4, 0, 3, 2)) * -1.0 - del x12 - l2new += einsum(l2, (0, 1, 2, 3), x54, (2, 3, 4, 5), (0, 1, 4, 5)) - del x54 - - return {"l1new": l1new, "l2new": l2new} - -def make_rdm1_f(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, l1=None, l2=None, **kwargs): - delta = Namespace(oo=np.eye(nocc), vv=np.eye(nvir)) - - # RDM1 - rdm1_f_oo = np.zeros((nocc, nocc), dtype=types[float]) - rdm1_f_oo += einsum(delta.oo, (0, 1), (0, 1)) - rdm1_f_ov = np.zeros((nocc, nvir), dtype=types[float]) - rdm1_f_ov += einsum(t1, (0, 1), (0, 1)) - rdm1_f_ov += einsum(l1, (0, 1), t2, (2, 1, 3, 0), (2, 3)) - rdm1_f_vo = np.zeros((nvir, nocc), dtype=types[float]) - rdm1_f_vo += einsum(l1, (0, 1), (0, 1)) - rdm1_f_vv = np.zeros((nvir, nvir), dtype=types[float]) - rdm1_f_vv += einsum(l1, (0, 1), t1, (1, 2), (0, 2)) - rdm1_f_vv += einsum(l2, (0, 1, 2, 3), t2, (2, 3, 4, 1), (0, 4)) * 0.5 - x0 = np.zeros((nocc, nocc), dtype=types[float]) - x0 += einsum(l2, (0, 1, 2, 3), t2, (4, 3, 0, 1), (2, 4)) - rdm1_f_oo += einsum(x0, (0, 1), (1, 0)) * -0.5 - x1 = np.zeros((nocc, nocc), dtype=types[float]) - x1 += einsum(l1, (0, 1), t1, (2, 0), (1, 2)) - rdm1_f_oo += einsum(x1, (0, 1), (1, 0)) * -1.0 - x2 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x2 += einsum(t1, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2)) - rdm1_f_ov += einsum(t2, (0, 1, 2, 3), x2, (0, 1, 4, 3), (4, 2)) * 0.5 - del x2 - x3 = np.zeros((nocc, nocc), dtype=types[float]) - x3 += einsum(x1, (0, 1), (0, 1)) * 2.0 - del x1 - x3 += einsum(x0, (0, 1), (0, 1)) - del x0 - rdm1_f_ov += einsum(t1, (0, 1), x3, (0, 2), (2, 1)) * -0.5 - del x3 - - rdm1_f = np.block([[rdm1_f_oo, rdm1_f_ov], [rdm1_f_vo, rdm1_f_vv]]) - - return rdm1_f - -def make_rdm2_f(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, l1=None, l2=None, **kwargs): - delta = Namespace(oo=np.eye(nocc), vv=np.eye(nvir)) - - # RDM2 - rdm2_f_oooo = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - rdm2_f_oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (0, 2, 1, 3)) - rdm2_f_oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_ovoo = np.zeros((nocc, nvir, nocc, nocc), dtype=types[float]) - rdm2_f_ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (0, 2, 1, 3)) - rdm2_f_ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_vooo = np.zeros((nvir, nocc, nocc, nocc), dtype=types[float]) - rdm2_f_vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 0, 3, 1)) - rdm2_f_oovv = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - rdm2_f_oovv += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_oovv += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) - rdm2_f_ovov = np.zeros((nocc, nvir, nocc, nvir), dtype=types[float]) - rdm2_f_ovov += einsum(l1, (0, 1), t1, (2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_ovvo = np.zeros((nocc, nvir, nvir, nocc), dtype=types[float]) - rdm2_f_ovvo += einsum(l1, (0, 1), t1, (2, 3), (2, 0, 3, 1)) - rdm2_f_voov = np.zeros((nvir, nocc, nocc, nvir), dtype=types[float]) - rdm2_f_voov += einsum(l1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) - rdm2_f_vovo = np.zeros((nvir, nocc, nvir, nocc), dtype=types[float]) - rdm2_f_vovo += einsum(l1, (0, 1), t1, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_vvoo = np.zeros((nvir, nvir, nocc, nocc), dtype=types[float]) - rdm2_f_vvoo += einsum(l2, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_vvvv = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) - rdm2_f_vvvv += einsum(l2, (0, 1, 2, 3), t2, (2, 3, 4, 5), (0, 1, 4, 5)) * 0.5 - x0 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x0 += einsum(l2, (0, 1, 2, 3), t2, (4, 5, 0, 1), (2, 3, 4, 5)) - rdm2_f_oooo += einsum(x0, (0, 1, 2, 3), (3, 2, 1, 0)) * 0.5 - x1 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x1 += einsum(t1, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2)) - rdm2_f_ovoo += einsum(x1, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 - rdm2_f_vooo += einsum(x1, (0, 1, 2, 3), (3, 2, 1, 0)) - x2 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x2 += einsum(t1, (0, 1), x1, (2, 3, 4, 1), (2, 3, 0, 4)) - rdm2_f_oooo += einsum(x2, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 - x3 = np.zeros((nocc, nocc), dtype=types[float]) - x3 += einsum(l2, (0, 1, 2, 3), t2, (4, 3, 0, 1), (2, 4)) - rdm2_f_oooo += einsum(delta.oo, (0, 1), x3, (2, 3), (0, 3, 1, 2)) * -0.5 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x3, (2, 3), (0, 3, 2, 1)) * 0.5 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x3, (2, 3), (3, 0, 1, 2)) * 0.5 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x3, (2, 3), (3, 0, 2, 1)) * -0.5 - x4 = np.zeros((nocc, nocc), dtype=types[float]) - x4 += einsum(l1, (0, 1), t1, (2, 0), (1, 2)) - rdm2_f_oooo += einsum(delta.oo, (0, 1), x4, (2, 3), (0, 3, 1, 2)) * -1.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x4, (2, 3), (3, 0, 1, 2)) - rdm2_f_oooo += einsum(delta.oo, (0, 1), x4, (2, 3), (0, 3, 2, 1)) - rdm2_f_oooo += einsum(delta.oo, (0, 1), x4, (2, 3), (3, 0, 2, 1)) * -1.0 - x5 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x5 += einsum(l1, (0, 1), t2, (2, 3, 4, 0), (1, 2, 3, 4)) - rdm2_f_ooov = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - rdm2_f_ooov += einsum(x5, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_oovo = np.zeros((nocc, nocc, nvir, nocc), dtype=types[float]) - rdm2_f_oovo += einsum(x5, (0, 1, 2, 3), (2, 1, 3, 0)) - x6 = np.zeros((nocc, nvir), dtype=types[float]) - x6 += einsum(l1, (0, 1), t2, (2, 1, 3, 0), (2, 3)) - x7 = np.zeros((nocc, nvir), dtype=types[float]) - x7 += einsum(t2, (0, 1, 2, 3), x1, (0, 1, 4, 3), (4, 2)) * -1.0 - x8 = np.zeros((nocc, nocc), dtype=types[float]) - x8 += einsum(x4, (0, 1), (0, 1)) - x8 += einsum(x3, (0, 1), (0, 1)) * 0.5 - x9 = np.zeros((nocc, nvir), dtype=types[float]) - x9 += einsum(t1, (0, 1), x8, (0, 2), (2, 1)) - x10 = np.zeros((nocc, nvir), dtype=types[float]) - x10 += einsum(x6, (0, 1), (0, 1)) * -1.0 - del x6 - x10 += einsum(x7, (0, 1), (0, 1)) * 0.5 - del x7 - x10 += einsum(x9, (0, 1), (0, 1)) - del x9 - rdm2_f_ooov += einsum(delta.oo, (0, 1), x10, (2, 3), (0, 2, 1, 3)) * -1.0 - rdm2_f_ooov += einsum(delta.oo, (0, 1), x10, (2, 3), (2, 0, 1, 3)) - rdm2_f_oovo += einsum(delta.oo, (0, 1), x10, (2, 3), (0, 2, 3, 1)) - rdm2_f_oovo += einsum(delta.oo, (0, 1), x10, (2, 3), (2, 0, 3, 1)) * -1.0 - x11 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x11 += einsum(t2, (0, 1, 2, 3), x1, (4, 1, 5, 3), (4, 5, 0, 2)) * -1.0 - x12 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x12 += einsum(delta.oo, (0, 1), t1, (2, 3), (0, 1, 2, 3)) - x12 += einsum(x11, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x12 += einsum(t1, (0, 1), x8, (2, 3), (0, 2, 3, 1)) - del x8 - rdm2_f_ooov += einsum(x12, (0, 1, 2, 3), (0, 2, 1, 3)) - rdm2_f_ooov += einsum(x12, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_oovo += einsum(x12, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_oovo += einsum(x12, (0, 1, 2, 3), (2, 0, 3, 1)) - del x12 - x13 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x13 += einsum(x0, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x0 - x13 += einsum(x2, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - del x2 - rdm2_f_oovv += einsum(t2, (0, 1, 2, 3), x13, (0, 1, 4, 5), (5, 4, 2, 3)) * 0.25 - x14 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x14 += einsum(t1, (0, 1), x13, (0, 2, 3, 4), (2, 3, 4, 1)) * 0.5 - del x13 - rdm2_f_ooov += einsum(x14, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_oovo += einsum(x14, (0, 1, 2, 3), (2, 1, 3, 0)) - rdm2_f_oovv += einsum(t1, (0, 1), x14, (0, 2, 3, 4), (3, 2, 4, 1)) - del x14 - x15 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x15 += einsum(t1, (0, 1), x11, (0, 2, 3, 4), (2, 3, 1, 4)) - del x11 - x16 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x16 += einsum(x15, (0, 1, 2, 3), (0, 1, 2, 3)) - del x15 - x16 += einsum(t1, (0, 1), x10, (2, 3), (0, 2, 1, 3)) - del x10 - rdm2_f_oovv += einsum(x16, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - rdm2_f_oovv += einsum(x16, (0, 1, 2, 3), (0, 1, 3, 2)) - rdm2_f_oovv += einsum(x16, (0, 1, 2, 3), (1, 0, 2, 3)) - rdm2_f_oovv += einsum(x16, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x16 - x17 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x17 += einsum(x4, (0, 1), t2, (2, 0, 3, 4), (1, 2, 3, 4)) - del x4 - x18 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x18 += einsum(x3, (0, 1), t2, (2, 0, 3, 4), (2, 1, 3, 4)) - del x3 - x19 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x19 += einsum(x17, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x17 - x19 += einsum(x18, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.5 - del x18 - rdm2_f_oovv += einsum(x19, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(x19, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x19 - x20 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x20 += einsum(t1, (0, 1), x5, (0, 2, 3, 4), (2, 3, 1, 4)) - del x5 - x21 = np.zeros((nvir, nvir), dtype=types[float]) - x21 += einsum(l2, (0, 1, 2, 3), t2, (2, 3, 4, 1), (0, 4)) - x22 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x22 += einsum(x21, (0, 1), t2, (2, 3, 4, 0), (2, 3, 4, 1)) - x23 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x23 += einsum(l2, (0, 1, 2, 3), t2, (4, 3, 5, 1), (2, 4, 0, 5)) - rdm2_f_ovov += einsum(x23, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_ovvo += einsum(x23, (0, 1, 2, 3), (1, 2, 3, 0)) - rdm2_f_voov += einsum(x23, (0, 1, 2, 3), (2, 1, 0, 3)) - rdm2_f_vovo += einsum(x23, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - x24 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x24 += einsum(t2, (0, 1, 2, 3), x23, (1, 4, 3, 5), (4, 0, 5, 2)) - x25 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x25 += einsum(x20, (0, 1, 2, 3), (0, 1, 2, 3)) - del x20 - x25 += einsum(x22, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - del x22 - x25 += einsum(x24, (0, 1, 2, 3), (0, 1, 2, 3)) - del x24 - rdm2_f_oovv += einsum(x25, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(x25, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x25 - x26 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x26 += einsum(t1, (0, 1), x1, (2, 0, 3, 4), (2, 3, 4, 1)) - rdm2_f_ovov += einsum(x26, (0, 1, 2, 3), (1, 2, 0, 3)) - rdm2_f_ovvo += einsum(x26, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - rdm2_f_voov += einsum(x26, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_vovo += einsum(x26, (0, 1, 2, 3), (2, 1, 3, 0)) - x27 = np.zeros((nvir, nvir), dtype=types[float]) - x27 += einsum(l1, (0, 1), t1, (1, 2), (0, 2)) - x28 = np.zeros((nvir, nvir), dtype=types[float]) - x28 += einsum(x27, (0, 1), (0, 1)) * 2.0 - x28 += einsum(x21, (0, 1), (0, 1)) - rdm2_f_ovov += einsum(delta.oo, (0, 1), x28, (2, 3), (0, 2, 1, 3)) * 0.5 - rdm2_f_ovvo += einsum(delta.oo, (0, 1), x28, (2, 3), (0, 2, 3, 1)) * -0.5 - rdm2_f_voov += einsum(delta.oo, (0, 1), x28, (2, 3), (2, 0, 1, 3)) * -0.5 - rdm2_f_vovo += einsum(delta.oo, (0, 1), x28, (2, 3), (2, 0, 3, 1)) * 0.5 - del x28 - x29 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x29 += einsum(t2, (0, 1, 2, 3), x1, (0, 1, 4, 5), (4, 5, 2, 3)) - del x1 - rdm2_f_ovvv = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - rdm2_f_ovvv += einsum(x29, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.5 - rdm2_f_vovv = np.zeros((nvir, nocc, nvir, nvir), dtype=types[float]) - rdm2_f_vovv += einsum(x29, (0, 1, 2, 3), (1, 0, 3, 2)) * 0.5 - del x29 - x30 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x30 += einsum(t1, (0, 1), x26, (0, 2, 3, 4), (2, 3, 4, 1)) * -1.0 - del x26 - rdm2_f_ovvv += einsum(x30, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_vovv += einsum(x30, (0, 1, 2, 3), (1, 0, 3, 2)) - del x30 - x31 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x31 += einsum(l1, (0, 1), t2, (2, 1, 3, 4), (2, 0, 3, 4)) - rdm2_f_ovvv += einsum(x31, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_vovv += einsum(x31, (0, 1, 2, 3), (1, 0, 3, 2)) - del x31 - x32 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x32 += einsum(t1, (0, 1), x23, (0, 2, 3, 4), (2, 3, 1, 4)) - del x23 - x33 = np.zeros((nvir, nvir), dtype=types[float]) - x33 += einsum(x27, (0, 1), (0, 1)) - del x27 - x33 += einsum(x21, (0, 1), (0, 1)) * 0.5 - del x21 - x34 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x34 += einsum(x32, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x32 - x34 += einsum(t1, (0, 1), x33, (2, 3), (0, 2, 1, 3)) - del x33 - rdm2_f_ovvv += einsum(x34, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_ovvv += einsum(x34, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_vovv += einsum(x34, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - rdm2_f_vovv += einsum(x34, (0, 1, 2, 3), (1, 0, 3, 2)) - del x34 - x35 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x35 += einsum(t1, (0, 1), l2, (2, 3, 4, 0), (4, 2, 3, 1)) - rdm2_f_vvov = np.zeros((nvir, nvir, nocc, nvir), dtype=types[float]) - rdm2_f_vvov += einsum(x35, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_vvvo = np.zeros((nvir, nvir, nvir, nocc), dtype=types[float]) - rdm2_f_vvvo += einsum(x35, (0, 1, 2, 3), (2, 1, 3, 0)) - rdm2_f_vvvv += einsum(t1, (0, 1), x35, (0, 2, 3, 4), (2, 3, 1, 4)) - del x35 - - rdm2_f = pack_2e(rdm2_f_oooo, rdm2_f_ooov, rdm2_f_oovo, rdm2_f_ovoo, rdm2_f_vooo, rdm2_f_oovv, rdm2_f_ovov, rdm2_f_ovvo, rdm2_f_voov, rdm2_f_vovo, rdm2_f_vvoo, rdm2_f_ovvv, rdm2_f_vovv, rdm2_f_vvov, rdm2_f_vvvo, rdm2_f_vvvv) - - rdm2_f = rdm2_f.swapaxes(1, 2) - - return rdm2_f - -def make_ip_mom_kets(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, l1=None, l2=None, **kwargs): - delta_oo = np.eye(nocc) - delta_vv = np.eye(nvir) - - ket2_o = np.zeros((nocc, nocc, nvir, nocc), dtype=types[float]) - ket1_o = np.zeros((nocc, nocc), dtype=types[float]) - ket1_o += einsum("ij->ji", delta_oo) - ket1_v = np.zeros((nocc, nvir), dtype=types[float]) - ket1_v += einsum("ia->ia", t1) - ket2_v = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - ket2_v -= einsum("ijab->jiba", t2) - - ket1 = np.concatenate([ket1_o, ket1_v], axis=1) - ket2 = np.concatenate([ket2_o, ket2_v], axis=3) - - return ket1, ket2 - -def make_ea_mom_kets(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, l1=None, l2=None, **kwargs): - delta_oo = np.eye(nocc) - delta_vv = np.eye(nvir) - - ket2_v = np.zeros((nvir, nvir, nocc, nvir), dtype=types[float]) - ket1_o = np.zeros((nvir, nocc), dtype=types[float]) - ket1_o -= einsum("ia->ai", t1) - ket1_v = np.zeros((nvir, nvir), dtype=types[float]) - ket1_v += einsum("ab->ba", delta_vv) - ket2_o = np.zeros((nvir, nvir, nocc, nocc), dtype=types[float]) - ket2_o += einsum("ijab->baji", t2) - - ket1 = np.concatenate([ket1_o, ket1_v], axis=1) - ket2 = np.concatenate([ket2_o, ket2_v], axis=3) - - return ket1, ket2 - -def make_ip_mom_bras(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, l1=None, l2=None, **kwargs): - delta_oo = np.eye(nocc) - delta_vv = np.eye(nvir) - - bra1_o = np.zeros((nocc, nocc), dtype=types[float]) - bra1_o += einsum("abij,kjab->ki", l2, t2) * -0.5 - bra1_o += einsum("ij->ji", delta_oo) - bra1_o -= einsum("ai,ja->ji", l1, t1) - bra1_v = np.zeros((nvir, nocc), dtype=types[float]) - bra1_v += einsum("ai->ai", l1) - bra2_o = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - bra2_o -= einsum("ia,bajk->ikjb", t1, l2) - bra2_o += einsum("ij,ak->jika", delta_oo, l1) - bra2_o -= einsum("ij,ak->jkia", delta_oo, l1) - bra2_v = np.zeros((nvir, nocc, nocc, nvir), dtype=types[float]) - bra2_v += einsum("abij->bjia", l2) - - bra1 = np.concatenate([bra1_o, bra1_v], axis=0) - bra2 = np.concatenate([bra2_o, bra2_v], axis=0) - - return bra1, bra2 - -def make_ea_mom_bras(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, l1=None, l2=None, **kwargs): - delta_oo = np.eye(nocc) - delta_vv = np.eye(nvir) - - bra1_o = np.zeros((nocc, nvir), dtype=types[float]) - bra1_o -= einsum("ai->ia", l1) - bra1_v = np.zeros((nvir, nvir), dtype=types[float]) - bra1_v += einsum("ab->ba", delta_vv) - bra1_v -= einsum("ai,ib->ba", l1, t1) - bra1_v += einsum("abij,ijcb->ca", l2, t2) * -0.5 - bra2_o = np.zeros((nocc, nvir, nvir, nocc), dtype=types[float]) - bra2_o -= einsum("abij->jbai", l2) - bra2_v = np.zeros((nvir, nvir, nvir, nocc), dtype=types[float]) - bra2_v -= einsum("ia,bcji->acbj", t1, l2) - bra2_v += einsum("ab,ci->baci", delta_vv, l1) - bra2_v -= einsum("ab,ci->bcai", delta_vv, l1) - - bra1 = np.concatenate([bra1_o, bra1_v], axis=0) - bra2 = np.concatenate([bra2_o, bra2_v], axis=0) - - return bra1, bra2 - -def hbar_matvec_ip(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, l1=None, l2=None, r1=None, r2=None, **kwargs): - x0 = np.zeros((nocc, nvir, nvir), dtype=types[float]) - x0 += einsum("i,jiab->jab", r1, v.oovv) - x47 = np.zeros((nocc, nocc, nvir), dtype=types[float]) - x47 += einsum("ia,jba->ijb", t1, x0) - x48 = np.zeros((nocc, nocc, nvir), dtype=types[float]) - x48 += einsum("ija,kjba->ikb", x47, t2) - x60 = np.zeros((nocc, nocc, nvir), dtype=types[float]) - x60 += einsum("ija->ija", x48) - del x48 - x63 = np.zeros((nocc, nocc, nocc), dtype=types[float]) - x63 += einsum("ia,jka->kij", t1, x47) - del x47 - r1new = np.zeros((nocc), dtype=types[float]) - r1new += einsum("iab,jiab->j", x0, t2) * 0.5 - del x0 - x1 = np.zeros((nocc, nocc, nvir), dtype=types[float]) - x1 += einsum("ija->ija", r2) - x1 += einsum("i,ja->ija", r1, t1) * 2 - x6 = np.zeros((nvir), dtype=types[float]) - x6 += einsum("ija,jiab->b", x1, v.oovv) * 0.5 - x7 = np.zeros((nvir), dtype=types[float]) - x7 += einsum("a->a", x6) - del x6 - x61 = np.zeros((nvir, nvir, nvir), dtype=types[float]) - x61 += einsum("ija,jibc->acb", x1, v.oovv) * 0.5 - r1new += einsum("ija,jika->k", x1, v.ooov) * 0.5 - del x1 - x2 = np.zeros((nocc, nvir), dtype=types[float]) - x2 += einsum("ia,jiba->jb", t1, v.oovv) - x3 = np.zeros((nocc, nvir), dtype=types[float]) - x3 += einsum("ia->ia", x2) - x50 = np.zeros((nocc, nvir), dtype=types[float]) - x50 += einsum("ia->ia", x2) - del x2 - x3 += einsum("ia->ia", f.ov) - x4 = np.zeros((nocc, nocc, nvir), dtype=types[float]) - x4 += einsum("ija->ija", r2) - x4 += einsum("ija->jia", r2) * -1 - x30 = np.zeros((nocc, nocc, nocc), dtype=types[float]) - x30 += einsum("ija,ikla->klj", x4, v.ooov) - x31 = np.zeros((nocc, nocc, nvir), dtype=types[float]) - x31 += einsum("ia,ijk->kja", t1, x30) * 0.5 - del x30 - x40 = np.zeros((nocc, nocc, nvir), dtype=types[float]) - x40 += einsum("ija->ija", x31) - del x31 - r1new += einsum("ia,ija->j", x3, x4) * -0.5 - del x3 - del x4 - x5 = np.zeros((nvir), dtype=types[float]) - x5 += einsum("i,ia->a", r1, f.ov) - x7 += einsum("a->a", x5) - del x5 - r1new += einsum("a,ia->i", x7, t1) * -1 - r2new = np.zeros((nocc, nocc, nvir), dtype=types[float]) - r2new += einsum("a,ijab->jib", x7, t2) - del x7 - x8 = np.zeros((nvir, nvir, nvir), dtype=types[float]) - x8 += einsum("i,iabc->abc", r1, v.ovvv) - x9 = np.zeros((nocc, nvir, nvir), dtype=types[float]) - x9 += einsum("ia,bca->ibc", t1, x8) - r2new -= einsum("ia,jba->ijb", t1, x9) - del x9 - x61 += einsum("abc->acb", x8) - del x8 - r2new += einsum("abc,ijbc->jia", x61, t2) * -0.5 - del x61 - x10 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x10 += einsum("ia,jkla->ijkl", t1, v.ooov) - x11 = np.zeros((nocc, nocc, nvir), dtype=types[float]) - x11 -= einsum("ija,kjil->kla", r2, x10) - del x10 - x40 += einsum("ija->ija", x11) * 0.5 - del x11 - x12 = np.zeros((nocc, nocc, nvir), dtype=types[float]) - x12 += einsum("ija->ija", r2) * -1 - x12 += einsum("ija->jia", r2) - x16 = np.zeros((nocc, nocc, nvir), dtype=types[float]) - x16 += einsum("ija,jkab->ikb", x12, v.oovv) - x32 = np.zeros((nocc, nocc, nvir), dtype=types[float]) - x32 += einsum("ij,ika->kja", f.oo, x12) * 0.5 - x40 += einsum("ija->jia", x32) * -1 - del x32 - x13 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x13 += einsum("ia,jbca->ijbc", t1, v.ovvv) - x14 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x14 += einsum("ijab->jiab", x13) * -1 - del x13 - x14 += einsum("iajb->ijab", v.ovov) - x15 = np.zeros((nocc, nocc, nvir), dtype=types[float]) - x15 += einsum("ija,jkba->ikb", x12, x14) * 0.5 - del x14 - x40 += einsum("ija->ija", x15) * -1 - del x15 - x17 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x17 += einsum("ijab->jiba", t2) - x17 += einsum("ia,jb->ijba", t1, t1) * -1 - x18 = np.zeros((nocc, nocc, nvir), dtype=types[float]) - x18 += einsum("ija,jkab->ikb", x16, x17) * -0.5 - del x16 - del x17 - x40 += einsum("ija->ija", x18) * -1 - del x18 - x19 = np.zeros((nvir, nvir), dtype=types[float]) - x19 += einsum("ia,ib->ab", f.ov, t1) - x23 = np.zeros((nvir, nvir), dtype=types[float]) - x23 += einsum("ab->ba", x19) - del x19 - x20 = np.zeros((nvir, nvir), dtype=types[float]) - x20 -= einsum("ia,ibac->bc", t1, v.ovvv) - x23 += einsum("ab->ab", x20) - x52 = np.zeros((nvir, nvir), dtype=types[float]) - x52 -= einsum("ab->ab", x20) - del x20 - x21 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x21 += einsum("ijab->jiba", t2) - x21 += einsum("ia,jb->ijab", t1, t1) * 2 - x22 = np.zeros((nvir, nvir), dtype=types[float]) - x22 += einsum("ijab,ijac->cb", v.oovv, x21) * 0.5 - x23 += einsum("ab->ab", x22) - del x22 - x27 = np.zeros((nocc, nocc), dtype=types[float]) - x27 += einsum("ijab,ikab->kj", v.oovv, x21) * 0.5 - del x21 - x28 = np.zeros((nocc, nocc), dtype=types[float]) - x28 += einsum("ij->ji", x27) - del x27 - x23 += einsum("ab->ab", f.vv) * -1 - x24 = np.zeros((nocc, nocc, nvir), dtype=types[float]) - x24 += einsum("ab,ijb->ija", x23, r2) * 0.5 - del x23 - x40 += einsum("ija->ija", x24) - del x24 - x25 = np.zeros((nocc, nocc), dtype=types[float]) - x25 += einsum("ia,ja->ij", f.ov, t1) - x28 += einsum("ij->ij", x25) - del x25 - x26 = np.zeros((nocc, nocc), dtype=types[float]) - x26 -= einsum("ia,ijka->jk", t1, v.ooov) - x28 += einsum("ij->ij", x26) - x29 = np.zeros((nocc, nocc, nvir), dtype=types[float]) - x29 += einsum("ij,kia->kja", x28, x12) * 0.5 - del x12 - del x28 - x40 += einsum("ija->ija", x29) * -1 - del x29 - x55 = np.zeros((nocc, nocc), dtype=types[float]) - x55 += einsum("ij->ij", x26) - del x26 - x33 = np.zeros((nocc, nvir), dtype=types[float]) - x33 += einsum("ijab,jcab->ic", t2, v.ovvv) - x39 = np.zeros((nocc, nvir), dtype=types[float]) - x39 += einsum("ia->ia", x33) - del x33 - x34 = np.zeros((nocc, nocc), dtype=types[float]) - x34 -= einsum("ijab,jkab->ik", t2, v.oovv) - x35 = np.zeros((nocc, nvir), dtype=types[float]) - x35 += einsum("ia,ji->ja", t1, x34) - del x34 - x39 += einsum("ia->ia", x35) - del x35 - x36 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x36 += einsum("ia,jkba->ijkb", t1, v.oovv) - x37 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x37 += einsum("ijka->ikja", x36) * -1 - x62 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x62 += einsum("ia,jkla->lkij", t1, x36) * -1 - del x36 - x37 += einsum("ijka->kjia", v.ooov) - x38 = np.zeros((nocc, nvir), dtype=types[float]) - x38 += einsum("ijab,kija->kb", t2, x37) - del x37 - x39 += einsum("ia->ia", x38) - del x38 - x40 += einsum("i,ja->ija", r1, x39) * 0.5 - del x39 - r2new += einsum("ija->ija", x40) * -1 - r2new += einsum("ija->jia", x40) - del x40 - x41 = np.zeros((nocc, nvir, nvir), dtype=types[float]) - x41 += einsum("i,iajb->jab", r1, v.ovov) - x42 = np.zeros((nocc, nocc, nvir), dtype=types[float]) - x42 += einsum("ia,jba->ijb", t1, x41) - del x41 - x60 -= einsum("ija->ija", x42) - del x42 - x43 = np.zeros((nocc, nocc, nvir), dtype=types[float]) - x43 += einsum("i,jika->jka", r1, v.ooov) - x44 = np.zeros((nocc, nocc, nvir), dtype=types[float]) - x44 -= einsum("ija,kiba->kjb", x43, t2) - x60 -= einsum("ija->ija", x44) - del x44 - x45 = np.zeros((nocc, nocc, nocc), dtype=types[float]) - x45 += einsum("ia,jka->ijk", t1, x43) - del x43 - x46 = np.zeros((nocc, nocc, nvir), dtype=types[float]) - x46 -= einsum("ia,jik->jka", t1, x45) - del x45 - x60 += einsum("ija->ija", x46) - del x46 - x49 = np.zeros((nocc, nvir), dtype=types[float]) - x49 += einsum("ia,ibja->jb", t1, v.ovov) - x57 = np.zeros((nocc, nvir), dtype=types[float]) - x57 += einsum("ia->ia", x49) - del x49 - x50 += einsum("ia->ia", f.ov) - x51 = np.zeros((nocc, nvir), dtype=types[float]) - x51 += einsum("ia,ijab->jb", x50, t2) - x57 -= einsum("ia->ia", x51) - del x51 - x54 = np.zeros((nocc, nocc), dtype=types[float]) - x54 += einsum("ia,ja->ji", t1, x50) - del x50 - x55 += einsum("ij->ij", x54) - del x54 - x56 = np.zeros((nocc, nvir), dtype=types[float]) - x56 += einsum("ia,ij->ja", t1, x55) - del x55 - x57 += einsum("ia->ia", x56) - del x56 - x52 += einsum("ab->ab", f.vv) - x53 = np.zeros((nocc, nvir), dtype=types[float]) - x53 += einsum("ia,ba->ib", t1, x52) - del x52 - x57 -= einsum("ia->ia", x53) - del x53 - x60 += einsum("i,ja->ija", r1, x57) - del x57 - x58 = np.zeros((nocc, nvir), dtype=types[float]) - x58 += einsum("ij,ia->ja", f.oo, t1) - x59 = np.zeros((nocc, nvir), dtype=types[float]) - x59 -= einsum("ia->ia", x58) - del x58 - x59 += einsum("ai->ia", f.vo) - x60 += einsum("i,ja->jia", r1, x59) - del x59 - r2new -= einsum("ija->ija", x60) - r2new += einsum("ija->jia", x60) - del x60 - x62 += einsum("ijkl->jilk", v.oooo) - r2new += einsum("ija,jikl->lka", r2, x62) * 0.5 - del x62 - x63 -= einsum("i,jikl->jlk", r1, v.oooo) - r2new += einsum("ia,ijk->kja", t1, x63) - del x63 - r1new -= einsum("i,ij->j", r1, f.oo) - r2new += einsum("i,iajk->kja", r1, v.ovoo) - - return r1new, r2new - -def hbar_matvec_ea(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, l1=None, l2=None, r1=None, r2=None, **kwargs): - r2 = -r2 - - x0 = np.zeros((nocc, nocc, nvir), dtype=types[float]) - x0 += einsum("a,ijba->ijb", r1, v.oovv) - x12 = np.zeros((nocc, nocc, nvir), dtype=types[float]) - x12 += einsum("ija,kiba->kjb", x0, t2) - x13 = np.zeros((nocc, nocc, nvir), dtype=types[float]) - x13 += einsum("ija->jia", x12) - del x12 - r1new = np.zeros((nvir), dtype=types[float]) - r1new += einsum("ija,ijba->b", x0, t2) * 0.5 - del x0 - x1 = np.zeros((nocc, nvir, nvir), dtype=types[float]) - x1 += einsum("a,ib->iab", r1, t1) * 2 - x1 += einsum("abi->iab", r2) * -1 - x6 = np.zeros((nocc), dtype=types[float]) - x6 += einsum("iab,ijba->j", x1, v.oovv) * 0.5 - x7 = np.zeros((nocc), dtype=types[float]) - x7 += einsum("i->i", x6) - del x6 - r1new += einsum("iab,icba->c", x1, v.ovvv) * 0.5 - del x1 - x2 = np.zeros((nocc, nvir), dtype=types[float]) - x2 += einsum("ia,jiba->jb", t1, v.oovv) - x3 = np.zeros((nocc, nvir), dtype=types[float]) - x3 += einsum("ia->ia", x2) - x18 = np.zeros((nocc, nvir), dtype=types[float]) - x18 += einsum("ia->ia", x2) - del x2 - x3 += einsum("ia->ia", f.ov) - x4 = np.zeros((nocc, nvir, nvir), dtype=types[float]) - x4 += einsum("abi->iab", r2) - x4 += einsum("abi->iba", r2) * -1 - r1new += einsum("ia,iba->b", x3, x4) * -0.5 - del x3 - del x4 - x5 = np.zeros((nocc), dtype=types[float]) - x5 += einsum("a,ia->i", r1, f.ov) - x7 += einsum("i->i", x5) - del x5 - r1new += einsum("i,ia->a", x7, t1) * -1 - r2new = np.zeros((nvir, nvir, nocc), dtype=types[float]) - r2new += einsum("i,ijab->baj", x7, t2) - del x7 - x8 = np.zeros((nocc, nvir, nvir), dtype=types[float]) - x8 += einsum("a,ibca->ibc", r1, v.ovvv) - x9 = np.zeros((nocc, nvir, nvir), dtype=types[float]) - x9 -= einsum("iab,jicb->jca", x8, t2) - x27 = np.zeros((nocc, nvir, nvir), dtype=types[float]) - x27 -= einsum("iab->iab", x9) - del x9 - x11 = np.zeros((nocc, nocc, nvir), dtype=types[float]) - x11 -= einsum("ia,jba->ijb", t1, x8) - del x8 - x13 += einsum("ija->jia", x11) - del x11 - x10 = np.zeros((nocc, nocc, nvir), dtype=types[float]) - x10 += einsum("a,ibja->ijb", r1, v.ovov) - x13 -= einsum("ija->ija", x10) - del x10 - x14 = np.zeros((nocc, nvir, nvir), dtype=types[float]) - x14 += einsum("ia,ijb->jba", t1, x13) - del x13 - x27 += einsum("iab->iba", x14) - del x14 - x15 = np.zeros((nocc, nvir), dtype=types[float]) - x15 += einsum("ia,ibja->jb", t1, v.ovov) - x24 = np.zeros((nocc, nvir), dtype=types[float]) - x24 += einsum("ia->ia", x15) - del x15 - x16 = np.zeros((nvir, nvir), dtype=types[float]) - x16 -= einsum("ia,ibac->bc", t1, v.ovvv) - x17 = np.zeros((nocc, nvir), dtype=types[float]) - x17 += einsum("ia,ba->ib", t1, x16) - x24 += einsum("ia->ia", x17) - del x17 - x42 = np.zeros((nvir, nvir), dtype=types[float]) - x42 += einsum("ab->ab", x16) - del x16 - x18 += einsum("ia->ia", f.ov) - x19 = np.zeros((nocc, nvir), dtype=types[float]) - x19 += einsum("ia,ijab->jb", x18, t2) - x24 -= einsum("ia->ia", x19) - del x19 - x21 = np.zeros((nocc, nocc), dtype=types[float]) - x21 += einsum("ia,ja->ji", t1, x18) - del x18 - x22 = np.zeros((nocc, nocc), dtype=types[float]) - x22 += einsum("ij->ij", x21) - del x21 - x20 = np.zeros((nocc, nocc), dtype=types[float]) - x20 -= einsum("ia,ijka->jk", t1, v.ooov) - x22 += einsum("ij->ij", x20) - x46 = np.zeros((nocc, nocc), dtype=types[float]) - x46 += einsum("ij->ij", x20) - del x20 - x22 += einsum("ij->ij", f.oo) - x23 = np.zeros((nocc, nvir), dtype=types[float]) - x23 += einsum("ia,ij->ja", t1, x22) - del x22 - x24 += einsum("ia->ia", x23) - del x23 - x27 += einsum("a,ib->iab", r1, x24) - del x24 - x25 = np.zeros((nocc, nvir), dtype=types[float]) - x25 += einsum("ab,ib->ia", f.vv, t1) - x26 = np.zeros((nocc, nvir), dtype=types[float]) - x26 += einsum("ia->ia", x25) - del x25 - x26 += einsum("ai->ia", f.vo) - x27 += einsum("a,ib->iba", r1, x26) - del x26 - r2new -= einsum("iab->abi", x27) - r2new += einsum("iab->bai", x27) - del x27 - x28 = np.zeros((nocc, nocc, nvir), dtype=types[float]) - x28 += einsum("abi,jcab->ijc", r2, v.ovvv) - x29 = np.zeros((nocc, nvir, nvir), dtype=types[float]) - x29 += einsum("ia,jib->jab", t1, x28) - del x28 - x54 = np.zeros((nocc, nvir, nvir), dtype=types[float]) - x54 += einsum("iab->iab", x29) * 0.5 - del x29 - x30 = np.zeros((nocc, nvir, nvir), dtype=types[float]) - x30 += einsum("abi->iab", r2) * -1 - x30 += einsum("abi->iba", r2) - x37 = np.zeros((nocc, nvir, nvir), dtype=types[float]) - x37 += einsum("iab,ijbc->jac", x30, v.oovv) - x38 = np.zeros((nocc, nvir, nvir), dtype=types[float]) - x38 += einsum("iab,ijbc->jac", x37, t2) * -0.5 - del x37 - x54 += einsum("iab->iab", x38) * -1 - del x38 - x48 = np.zeros((nocc, nvir, nvir), dtype=types[float]) - x48 += einsum("ab,icb->ica", f.vv, x30) * 0.5 - x54 += einsum("iab->iba", x48) * -1 - del x48 - x31 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x31 += einsum("ia,jbca->ijbc", t1, v.ovvv) - x35 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x35 += einsum("ijab->ijab", x31) - del x31 - x32 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x32 += einsum("ia,jkba->ijkb", t1, v.oovv) - x33 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x33 += einsum("ijka->ikja", x32) * -1 - del x32 - x33 += einsum("ijka->kjia", v.ooov) - x34 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x34 += einsum("ia,jikb->jkba", t1, x33) - x35 += einsum("ijab->ijba", x34) - del x34 - x52 = np.zeros((nocc, nvir), dtype=types[float]) - x52 += einsum("ijab,kija->kb", t2, x33) - del x33 - x53 = np.zeros((nocc, nvir), dtype=types[float]) - x53 += einsum("ia->ia", x52) - del x52 - x35 += einsum("iajb->jiab", v.ovov) * -1 - x36 = np.zeros((nocc, nvir, nvir), dtype=types[float]) - x36 += einsum("iab,jicb->jac", x30, x35) * 0.5 - del x35 - x54 += einsum("iab->iab", x36) - del x36 - x39 = np.zeros((nvir, nvir), dtype=types[float]) - x39 += einsum("ia,ib->ab", f.ov, t1) - x42 += einsum("ab->ba", x39) - del x39 - x40 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x40 += einsum("ijab->jiba", t2) - x40 += einsum("ia,jb->ijab", t1, t1) * 2 - x41 = np.zeros((nvir, nvir), dtype=types[float]) - x41 += einsum("ijab,ijac->cb", v.oovv, x40) * 0.5 - x42 += einsum("ab->ab", x41) - del x41 - x43 = np.zeros((nocc, nvir, nvir), dtype=types[float]) - x43 += einsum("ab,icb->ica", x42, x30) * 0.5 - del x42 - del x30 - x54 += einsum("iab->iab", x43) * -1 - del x43 - x45 = np.zeros((nocc, nocc), dtype=types[float]) - x45 += einsum("ijab,ikab->kj", v.oovv, x40) * 0.5 - x46 += einsum("ij->ji", x45) - del x45 - x44 = np.zeros((nocc, nocc), dtype=types[float]) - x44 += einsum("ia,ja->ij", f.ov, t1) - x46 += einsum("ij->ij", x44) - del x44 - x46 += einsum("ij->ij", f.oo) - x47 = np.zeros((nocc, nvir, nvir), dtype=types[float]) - x47 += einsum("ij,abi->jab", x46, r2) * 0.5 - del x46 - x54 += einsum("iab->iab", x47) - del x47 - x49 = np.zeros((nocc, nvir), dtype=types[float]) - x49 += einsum("ijab,jcab->ic", t2, v.ovvv) - x53 += einsum("ia->ia", x49) - del x49 - x50 = np.zeros((nocc, nocc), dtype=types[float]) - x50 -= einsum("ijab,jkab->ik", t2, v.oovv) - x51 = np.zeros((nocc, nvir), dtype=types[float]) - x51 += einsum("ia,ji->ja", t1, x50) - del x50 - x53 += einsum("ia->ia", x51) - del x51 - x54 += einsum("a,ib->iab", r1, x53) * -0.5 - del x53 - r2new += einsum("iab->abi", x54) - r2new += einsum("iab->bai", x54) * -1 - del x54 - x55 = np.zeros((nocc, nvir, nvir), dtype=types[float]) - x55 += einsum("abi->iab", r2) - x55 += einsum("a,ib->iba", r1, t1) * 2 - x56 = np.zeros((nocc, nocc, nocc), dtype=types[float]) - x56 += einsum("iab,jkab->kji", x55, v.oovv) * -0.5 - r2new += einsum("iab,cdab->dci", x55, v.vvvv) * 0.5 - del x55 - x56 += einsum("a,ijka->jik", r1, v.ooov) * -1 - r2new += einsum("ijk,ijab->bak", x56, x40) * 0.5 - del x40 - del x56 - r1new += einsum("a,ba->b", r1, f.vv) - r2new += einsum("a,bcia->cbi", r1, v.vvov) - - return r1new, r2new - -def make_ee_mom_kets(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, l1=None, l2=None, **kwargs): - delta_oo = np.eye(nocc) - delta_vv = np.eye(nvir) - - ketee1_oo = np.zeros((nocc, nvir, nocc, nocc), dtype=types[float]) - ketee1_oo -= einsum("ij,ka->jaki", delta_oo, t1) - ketee1_ov = np.zeros((nocc, nvir, nocc, nvir), dtype=types[float]) - ketee1_ov -= einsum("ia,jb->iajb", t1, t1) - ketee1_ov += einsum("ijab->jbia", t2) - ketee1_vo = np.zeros((nocc, nvir, nvir, nocc), dtype=types[float]) - ketee1_vo += einsum("ab,ij->jbai", delta_vv, delta_oo) - ketee1_vv = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - ketee1_vv += einsum("ab,ic->ibac", delta_vv, t1) - ketee2_oo = np.zeros((nocc, nocc, nvir, nvir, nocc, nocc), dtype=types[float]) - ketee2_oo += einsum("ij,klab->jlbaki", delta_oo, t2) - ketee2_oo -= einsum("ij,klab->ljbaki", delta_oo, t2) - ketee2_ov = np.zeros((nocc, nocc, nvir, nvir, nocc, nvir), dtype=types[float]) - ketee2_ov += einsum("ia,jkbc->ikcbja", t1, t2) - ketee2_ov -= einsum("ia,jkbc->kicbja", t1, t2) - ketee2_ov += einsum("ia,jkbc->kjacib", t1, t2) - ketee2_ov -= einsum("ia,jkbc->kjcaib", t1, t2) - ketee2_vv = np.zeros((nocc, nocc, nvir, nvir, nvir, nvir), dtype=types[float]) - ketee2_vv -= einsum("ab,ijcd->jibdac", delta_vv, t2) - ketee2_vv += einsum("ab,ijcd->jidbac", delta_vv, t2) - - ketee2_vo = np.zeros((nocc, nocc, nvir, nvir, nvir, nocc), dtype=types[float]) - - ketee1 = np.concatenate([np.concatenate([ketee1_oo, ketee1_ov], axis=-1), np.concatenate([ketee1_vo, ketee1_vv], axis=-1)], axis=-2) - ketee2 = np.concatenate([np.concatenate([ketee2_oo, ketee2_ov], axis=-1), np.concatenate([ketee2_vo, ketee2_vv], axis=-1)], axis=-2) - - return ketee1, ketee2 - -def make_ee_mom_bras(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, l1=None, l2=None, **kwargs): - delta_oo = np.eye(nocc) - delta_vv = np.eye(nvir) - - x0 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x0 += einsum("ia,bajk->jkib", t1, l2) - x5 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x5 -= einsum("ijka->jika", x0) - braee1_oo = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - braee1_oo -= einsum("ijka->kjia", x0) - del x0 - x1 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x1 += einsum("ijab->jiba", t2) - x1 -= einsum("ia,jb->ijba", t1, t1) - braee1_ov = np.zeros((nocc, nvir, nocc, nvir), dtype=types[float]) - braee1_ov += einsum("abij,ikac->kcjb", l2, x1) - del x1 - x2 = np.zeros((nvir, nvir), dtype=types[float]) - x2 += einsum("ab->ba", delta_vv) * -2 - x2 += einsum("ai,ib->ab", l1, t1) * 2 - x2 += einsum("abij,ijcb->ac", l2, t2) - braee1_ov += einsum("ij,ab->jbia", delta_oo, x2) * -0.5 - del x2 - x3 = np.zeros((nocc, nocc), dtype=types[float]) - x3 += einsum("ai,ja->ij", l1, t1) * 2 - x3 += einsum("abij,kjab->ik", l2, t2) - braee1_ov += einsum("ab,ij->jbia", delta_vv, x3) * -0.5 - del x3 - x4 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x4 += einsum("ia,bcji->jbca", t1, l2) - braee1_vv = np.zeros((nvir, nvir, nocc, nvir), dtype=types[float]) - braee1_vv += einsum("iabc->bcia", x4) - braee2_ov = np.zeros((nocc, nvir, nocc, nocc, nvir, nvir), dtype=types[float]) - braee2_ov -= einsum("ij,kabc->icjkba", delta_oo, x4) - braee2_ov += einsum("ij,kabc->ickjba", delta_oo, x4) - del x4 - x5 += einsum("ij,ak->jkia", delta_oo, l1) - x5 -= einsum("ij,ak->kjia", delta_oo, l1) - braee2_ov -= einsum("ab,ijkc->kbjiac", delta_vv, x5) - braee2_ov += einsum("ab,ijkc->kbjica", delta_vv, x5) - del x5 - braee1_oo += einsum("ij,ak->jika", delta_oo, l1) - braee1_oo -= einsum("ij,ak->jkia", delta_oo, l1) - braee1_ov += einsum("ai,jb->jbia", l1, t1) - braee1_vo = np.zeros((nvir, nocc, nocc, nvir), dtype=types[float]) - braee1_vo += einsum("abij->bjia", l2) - braee1_vv += einsum("ab,ci->cbia", delta_vv, l1) - braee2_oo = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - braee2_oo += einsum("ij,abkl->jilkba", delta_oo, l2) - braee2_oo -= einsum("ij,abkl->jlikba", delta_oo, l2) - braee2_oo += einsum("ij,abkl->jlkiba", delta_oo, l2) - braee2_ov += einsum("ia,bcjk->iakjcb", t1, l2) - braee2_vv = np.zeros((nvir, nvir, nocc, nocc, nvir, nvir), dtype=types[float]) - braee2_vv += einsum("ab,cdij->dbjiac", delta_vv, l2) - braee2_vv -= einsum("ab,cdij->dbjica", delta_vv, l2) - - braee2_vo = np.zeros((nvir, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - - braee1 = np.concatenate([np.concatenate([braee1_oo, braee1_ov], axis=1), np.concatenate([braee1_vo, braee1_vv], axis=1)], axis=0) - braee2 = np.concatenate([np.concatenate([braee2_oo, braee2_ov], axis=1), np.concatenate([braee2_vo, braee2_vv], axis=1)], axis=0) - - return braee1, braee2 - -def hbar_matvec_ee(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, l1=None, l2=None, r1=None, r2=None, **kwargs): - x0 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x0 += einsum("ijab->ijab", r2) - x0 += einsum("ijab->jiab", r2) * -1 - x105 = np.zeros((nocc, nocc), dtype=types[float]) - x105 += einsum("ijab,ikab->jk", v.oovv, x0) - x106 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x106 += einsum("ij,ikab->kjab", x105, t2) * 0.25 - del x105 - x107 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x107 += einsum("ijab->jiba", x106) - del x106 - ree1new = np.zeros((nocc, nvir), dtype=types[float]) - ree1new += einsum("iabc,ijbc->ja", v.ovvv, x0) * 0.25 - del x0 - x1 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x1 += einsum("ijab->ijab", r2) * -1 - x1 += einsum("ijab->ijba", r2) - x87 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x87 += einsum("ab,ijcb->ijac", f.vv, x1) * 0.25 - x94 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x94 += einsum("ijab->ijab", x87) * -1 - del x87 - ree1new += einsum("ijka,jiba->kb", v.ooov, x1) * -0.25 - x2 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x2 += einsum("ijab->ijab", r2) - x2 += einsum("ijab->ijba", r2) * -1 - x2 += einsum("ijab->jiab", r2) * -1 - x2 += einsum("ijab->jiba", r2) - x3 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x3 += einsum("ijab,kiac->jkbc", v.oovv, x2) - x78 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x78 += einsum("ia,jkab->ikjb", t1, x3) * -1 - x79 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x79 += einsum("ijka->kjia", x78) - del x78 - ree1new += einsum("ia,ijab->jb", t1, x3) * -0.25 - del x3 - x83 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x83 += einsum("iabc,jibd->jacd", v.ovvv, x2) - x84 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x84 += einsum("ia,jbac->ijcb", t1, x83) * 0.25 - del x83 - x94 += einsum("ijab->jiab", x84) - del x84 - x4 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x4 += einsum("ijab->ijab", r2) * -1 - x4 += einsum("ijab->ijba", r2) - x4 += einsum("ijab->jiab", r2) - x4 += einsum("ijab->jiba", r2) * -1 - x76 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x76 += einsum("ijka,ilba->jklb", v.ooov, x4) - x79 += einsum("ijka->ikja", x76) * -1 - del x76 - ree1new += einsum("ia,ijba->jb", f.ov, x4) * 0.25 - del x4 - x5 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x5 += einsum("ijab,jkbc->ikac", t2, v.oovv) - x6 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x6 -= einsum("ijab->jiab", x5) - x44 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x44 += einsum("ijab->ijab", x5) - x48 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x48 += einsum("ijab->ijab", x5) - x74 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x74 += einsum("ijab->ijab", x5) - del x5 - x6 += einsum("iajb->ijab", v.ovov) - x55 = np.zeros((nocc, nvir), dtype=types[float]) - x55 += einsum("ia,ijba->jb", t1, x6) - x56 = np.zeros((nocc, nvir), dtype=types[float]) - x56 += einsum("ia->ia", x55) - del x55 - ree1new -= einsum("ia,ijba->jb", r1, x6) - del x6 - x7 = np.zeros((nocc, nocc), dtype=types[float]) - x7 -= einsum("ia,ijka->jk", r1, v.ooov) - x13 = np.zeros((nocc, nocc), dtype=types[float]) - x13 += einsum("ij->ij", x7) - x58 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x58 -= einsum("ij,kiab->kjab", x7, t2) - del x7 - x69 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x69 -= einsum("ijab->ijba", x58) - del x58 - x8 = np.zeros((nocc, nvir), dtype=types[float]) - x8 += einsum("ia,ijab->jb", r1, v.oovv) - x9 = np.zeros((nocc, nocc), dtype=types[float]) - x9 -= einsum("ia,ja->ij", t1, x8) - x13 += einsum("ij->ji", x9) * -1 - x63 = np.zeros((nocc, nocc), dtype=types[float]) - x63 -= einsum("ij->ij", x9) - del x9 - x26 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x26 -= einsum("ia,jkba->jkib", x8, t2) - del x8 - x27 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x27 -= einsum("ia,jkib->jkab", t1, x26) - del x26 - x38 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x38 += einsum("ijab->ijab", x27) - del x27 - x10 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x10 += einsum("ijab->ijab", r2) * -1 - x10 += einsum("ijab->jiab", r2) - x13 += einsum("ijab,kiab->jk", v.oovv, x10) * 0.25 - x88 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x88 += einsum("ij,ikab->jkab", f.oo, x10) * 0.25 - x94 += einsum("ijab->ijab", x88) * -1 - del x88 - x11 = np.zeros((nocc, nvir), dtype=types[float]) - x11 += einsum("ia,ijab->jb", t1, v.oovv) - x12 = np.zeros((nocc, nvir), dtype=types[float]) - x12 += einsum("ia->ia", x11) - x30 = np.zeros((nocc, nvir), dtype=types[float]) - x30 += einsum("ia->ia", x11) - x53 = np.zeros((nocc, nocc), dtype=types[float]) - x53 += einsum("ia,ja->ij", t1, x11) - del x11 - x54 = np.zeros((nocc, nvir), dtype=types[float]) - x54 += einsum("ia,ji->ja", t1, x53) - del x53 - x56 += einsum("ia->ia", x54) - del x54 - x12 += einsum("ia->ia", f.ov) - x13 += einsum("ia,ja->ji", r1, x12) - ree1new += einsum("ia,ij->ja", t1, x13) * -1 - del x13 - x22 = np.zeros((nocc, nocc), dtype=types[float]) - x22 += einsum("ia,ja->ij", t1, x12) - x23 = np.zeros((nocc, nocc), dtype=types[float]) - x23 += einsum("ij->ji", x22) - x85 = np.zeros((nocc, nocc), dtype=types[float]) - x85 += einsum("ij->ji", x22) - del x22 - x77 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x77 += einsum("ia,jkba->jkib", x12, x1) - del x1 - del x12 - x79 += einsum("ijka->kija", x77) * -1 - del x77 - x80 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x80 += einsum("ia,ijkb->jkab", t1, x79) * 0.25 - del x79 - x94 += einsum("ijab->ijba", x80) - del x80 - x14 = np.zeros((nvir, nvir), dtype=types[float]) - x14 -= einsum("ia,ibac->bc", r1, v.ovvv) - x16 = np.zeros((nvir, nvir), dtype=types[float]) - x16 += einsum("ab->ab", x14) - x25 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x25 -= einsum("ab,ijcb->ijca", x14, t2) - del x14 - x38 += einsum("ijab->ijab", x25) - del x25 - x15 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x15 += einsum("ijab->ijab", r2) - x15 += einsum("ijab->ijba", r2) * -1 - x16 += einsum("ijab,jiac->cb", v.oovv, x15) * -0.25 - ree1new += einsum("ia,ba->ib", t1, x16) * -1 - del x16 - x114 = np.zeros((nvir, nvir), dtype=types[float]) - x114 += einsum("ijab,jiac->bc", v.oovv, x15) - x115 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x115 += einsum("ab,ijac->ijcb", x114, t2) * -0.25 - del x114 - x120 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x120 += einsum("ijab->jiba", x115) - del x115 - x17 = np.zeros((nvir, nvir), dtype=types[float]) - x17 -= einsum("ia,ibac->bc", t1, v.ovvv) - x19 = np.zeros((nvir, nvir), dtype=types[float]) - x19 += einsum("ab->ab", x17) - x52 = np.zeros((nocc, nvir), dtype=types[float]) - x52 += einsum("ia,ba->ib", t1, x17) - x56 += einsum("ia->ia", x52) - del x52 - x81 = np.zeros((nvir, nvir), dtype=types[float]) - x81 += einsum("ab->ab", x17) - del x17 - x18 = np.zeros((nvir, nvir), dtype=types[float]) - x18 -= einsum("ijab,ijbc->ac", t2, v.oovv) - x19 += einsum("ab->ab", x18) * 0.5 - x81 += einsum("ab->ab", x18) * 0.5 - x82 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x82 += einsum("ab,ijbc->ijca", x81, x15) * 0.25 - del x81 - del x15 - x94 += einsum("ijab->ijab", x82) * -1 - del x82 - x91 = np.zeros((nocc, nvir), dtype=types[float]) - x91 += einsum("ia,ba->ib", t1, x18) - del x18 - x93 = np.zeros((nocc, nvir), dtype=types[float]) - x93 += einsum("ia->ia", x91) - del x91 - x19 += einsum("ab->ab", f.vv) * -1 - ree1new += einsum("ia,ba->ib", r1, x19) * -1 - del x19 - x20 = np.zeros((nocc, nocc), dtype=types[float]) - x20 -= einsum("ia,ijka->jk", t1, v.ooov) - x23 += einsum("ij->ij", x20) - x85 += einsum("ij->ij", x20) - x123 = np.zeros((nocc, nocc), dtype=types[float]) - x123 += einsum("ij->ij", x20) - del x20 - x21 = np.zeros((nocc, nocc), dtype=types[float]) - x21 -= einsum("ijab,jkab->ik", t2, v.oovv) - x23 += einsum("ij->ji", x21) * 0.5 - x85 += einsum("ij->ji", x21) * 0.5 - x86 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x86 += einsum("ij,kiab->kjab", x85, x10) * 0.25 - del x10 - del x85 - x94 += einsum("ijab->ijab", x86) * -1 - del x86 - x92 = np.zeros((nocc, nvir), dtype=types[float]) - x92 += einsum("ia,ji->ja", t1, x21) - del x21 - x93 += einsum("ia->ia", x92) - del x92 - x23 += einsum("ij->ij", f.oo) - ree1new += einsum("ia,ij->ja", r1, x23) * -1 - del x23 - x24 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x24 -= einsum("ijab,jikl->klab", r2, v.oooo) - ree2new = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - ree2new += einsum("ijab->jiab", x24) * -0.25 - ree2new += einsum("ijab->jiba", x24) * 0.25 - del x24 - x28 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x28 -= einsum("ia,jbac->ijbc", t1, v.ovvv) - x29 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x29 -= einsum("ia,jkba->jikb", t1, x28) - x36 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x36 += einsum("ijka->kjia", x29) - del x29 - x48 += einsum("ijab->ijab", x28) - del x28 - x30 += einsum("ia->ia", f.ov) - x31 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x31 += einsum("ia,jkab->jkib", x30, t2) - x36 += einsum("ijka->kjia", x31) - del x31 - x62 = np.zeros((nocc, nocc), dtype=types[float]) - x62 += einsum("ia,ja->ij", r1, x30) - del x30 - x63 += einsum("ij->ij", x62) - del x62 - x64 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x64 += einsum("ij,jkab->kiab", x63, t2) - del x63 - x69 += einsum("ijab->jiba", x64) - del x64 - x32 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x32 -= einsum("ia,jkab->ijkb", t1, v.oovv) - x33 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x33 += einsum("ia,jkla->jilk", t1, x32) - x34 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x34 -= einsum("ijkl->klji", x33) - del x33 - x65 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x65 += einsum("ijka->kjia", x32) - del x32 - x34 += einsum("ijkl->jilk", v.oooo) - x35 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x35 += einsum("ia,ijkl->jkla", t1, x34) - del x34 - x36 += einsum("ijka->ikja", x35) - del x35 - x37 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x37 += einsum("ia,ijkb->jkab", r1, x36) - del x36 - x38 -= einsum("ijab->jiab", x37) - del x37 - ree2new += einsum("ijab->ijab", x38) - ree2new -= einsum("ijab->ijba", x38) - del x38 - x39 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x39 -= einsum("ijab,jcbd->iacd", t2, v.ovvv) - x40 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x40 += einsum("ia,jbca->ijbc", r1, x39) - del x39 - x57 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x57 -= einsum("ijab->ijab", x40) - del x40 - x41 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x41 -= einsum("ijab,jklb->ikla", t2, v.ooov) - x46 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x46 += einsum("ijka->ijka", x41) - del x41 - x42 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x42 += einsum("ia,jkla->ijkl", t1, v.ooov) - x43 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x43 -= einsum("ia,jikl->jkla", t1, x42) - del x42 - x46 -= einsum("ijka->ijka", x43) - del x43 - x44 -= einsum("iajb->jiab", v.ovov) - x45 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x45 += einsum("ia,jkba->ijkb", t1, x44) - del x44 - x46 -= einsum("ijka->ikja", x45) - del x45 - x47 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x47 += einsum("ia,jikb->jkab", r1, x46) - del x46 - x57 -= einsum("ijab->ijab", x47) - del x47 - x48 -= einsum("iajb->jiab", v.ovov) - x49 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x49 += einsum("ia,jkba->ijkb", r1, x48) - del x48 - x50 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x50 += einsum("ia,jkib->jkab", t1, x49) - del x49 - x57 += einsum("ijab->ijab", x50) - del x50 - x51 = np.zeros((nocc, nvir), dtype=types[float]) - x51 += einsum("ia,jiba->jb", f.ov, t2) - x56 -= einsum("ia->ia", x51) - del x51 - x57 += einsum("ia,jb->ijab", r1, x56) - del x56 - ree2new -= einsum("ijab->ijab", x57) - ree2new += einsum("ijab->ijba", x57) - ree2new += einsum("ijab->jiab", x57) - ree2new -= einsum("ijab->jiba", x57) - del x57 - x59 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x59 -= einsum("ia,bcad->ibcd", t1, v.vvvv) - x60 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x60 += einsum("iabc->ibac", x59) - del x59 - x60 -= einsum("abic->ibac", v.vvov) - x61 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x61 += einsum("ia,jbca->ijbc", r1, x60) - del x60 - x69 += einsum("ijab->ijba", x61) - del x61 - x65 -= einsum("ijka->jika", v.ooov) - x66 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x66 += einsum("ia,jkla->ijkl", r1, x65) - del x65 - x67 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x67 -= einsum("ia,jkil->jkla", t1, x66) - del x66 - x68 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x68 -= einsum("ia,jikb->jkab", t1, x67) - del x67 - x69 -= einsum("ijab->ijab", x68) - del x68 - ree2new += einsum("ijab->ijab", x69) - ree2new -= einsum("ijab->jiab", x69) - del x69 - x70 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x70 -= einsum("ijab,jikc->kabc", r2, v.ooov) - x71 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x71 += einsum("ia,jbca->ijbc", t1, x70) - del x70 - x94 += einsum("ijab->ijab", x71) * 0.25 - del x71 - x72 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x72 += einsum("ijab,kcab->ijkc", r2, v.ovvv) - x73 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x73 += einsum("ia,jkib->jkab", t1, x72) - del x72 - x94 += einsum("ijab->ijab", x73) * 0.25 - del x73 - x74 += einsum("iajb->jiab", v.ovov) * -1 - x75 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x75 += einsum("ijab,kjca->ikbc", x2, x74) * 0.25 - del x2 - del x74 - x94 += einsum("ijab->ijab", x75) - del x75 - x89 = np.zeros((nocc, nvir), dtype=types[float]) - x89 += einsum("ijab,ijkb->ka", t2, v.ooov) - x93 += einsum("ia->ia", x89) - del x89 - x90 = np.zeros((nocc, nvir), dtype=types[float]) - x90 += einsum("ijab,jcab->ic", t2, v.ovvv) - x93 += einsum("ia->ia", x90) - del x90 - x94 += einsum("ia,jb->ijab", r1, x93) * 0.5 - del x93 - ree2new += einsum("ijab->ijab", x94) * -1 - ree2new += einsum("ijab->ijba", x94) - ree2new += einsum("ijab->jiab", x94) - ree2new += einsum("ijab->jiba", x94) * -1 - del x94 - x95 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x95 += einsum("ijab,cdab->ijcd", r2, v.vvvv) - x107 += einsum("ijab->ijba", x95) * -0.25 - del x95 - x96 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x96 += einsum("ijab,klab->ijkl", r2, v.oovv) - x97 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x97 += einsum("ijab,klij->klab", t2, x96) - x107 += einsum("ijab->ijba", x97) * -0.125 - del x97 - x98 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x98 -= einsum("ia,jkil->jkla", t1, x96) - del x96 - x99 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x99 -= einsum("ia,jkib->jkba", t1, x98) - del x98 - x107 += einsum("ijab->ijba", x99) * -0.25 - del x99 - x100 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x100 += einsum("ijab,ijkc->kabc", t2, v.ooov) - x103 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x103 += einsum("iabc->ibac", x100) * -1 - del x100 - x101 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) - x101 += einsum("ijab,ijcd->abcd", t2, v.oovv) - x102 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x102 -= einsum("ia,bcad->ibcd", t1, x101) - del x101 - x103 += einsum("iabc->ibac", x102) - del x102 - x104 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x104 += einsum("ia,jbca->ijbc", r1, x103) * 0.5 - del x103 - x107 += einsum("ijab->ijba", x104) - del x104 - ree2new += einsum("ijab->ijab", x107) - ree2new += einsum("ijab->jiab", x107) * -1 - del x107 - x108 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x108 += einsum("ia,ibjk->jkab", r1, v.ovoo) - ree2new += einsum("ijab->jiab", x108) - ree2new -= einsum("ijab->jiba", x108) - del x108 - x109 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x109 += einsum("ijab,klab->ijkl", t2, v.oovv) - x110 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x110 += einsum("ijab,klji->lkab", r2, x109) - x120 += einsum("ijab->ijab", x110) * 0.125 - del x110 - x117 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x117 -= einsum("ia,jkil->jkla", t1, x109) - del x109 - x118 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x118 += einsum("ijka->ijka", x117) * -1 - del x117 - x111 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) - x111 -= einsum("ijab,jicd->abcd", r2, v.oovv) - x112 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x112 -= einsum("ia,bcad->ibcd", t1, x111) - del x111 - x113 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x113 += einsum("ia,jbca->ijbc", t1, x112) - del x112 - x120 += einsum("ijab->ijab", x113) * 0.25 - del x113 - x116 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x116 += einsum("ijab,kcab->ijkc", t2, v.ovvv) - x118 += einsum("ijka->jika", x116) * -1 - del x116 - x119 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x119 += einsum("ia,jkib->jkab", r1, x118) * 0.5 - del x118 - x120 += einsum("ijab->jiab", x119) - del x119 - ree2new += einsum("ijab->ijab", x120) - ree2new += einsum("ijab->ijba", x120) * -1 - del x120 - x121 = np.zeros((nocc, nvir), dtype=types[float]) - x121 += einsum("ab,ib->ia", f.vv, t1) - x125 = np.zeros((nocc, nvir), dtype=types[float]) - x125 -= einsum("ia->ia", x121) - del x121 - x122 = np.zeros((nocc, nocc), dtype=types[float]) - x122 += einsum("ia,ja->ij", f.ov, t1) - x123 += einsum("ij->ij", x122) - del x122 - x123 += einsum("ij->ij", f.oo) - x124 = np.zeros((nocc, nvir), dtype=types[float]) - x124 += einsum("ia,ij->ja", t1, x123) - del x123 - x125 += einsum("ia->ia", x124) - del x124 - x125 -= einsum("ai->ia", f.vo) - ree2new -= einsum("ia,jb->ijab", r1, x125) - ree2new -= einsum("ia,jb->jiba", r1, x125) - ree2new += einsum("ia,jb->ijba", r1, x125) - ree2new += einsum("ia,jb->jiab", r1, x125) - del x125 - - return ree1new, ree2new - diff --git a/ebcc/codegen/GCCSDT.py b/ebcc/codegen/GCCSDT.py deleted file mode 100644 index f7c26061..00000000 --- a/ebcc/codegen/GCCSDT.py +++ /dev/null @@ -1,1692 +0,0 @@ -# Code generated for ebcc. - -from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, Namespace -from ebcc.precision import types - -def energy(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, t3=None, **kwargs): - # energy - e_cc = 0 - e_cc += einsum(f.ov, (0, 1), t1, (0, 1), ()) - x0 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x0 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - x0 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) * 2.0 - e_cc += einsum(v.oovv, (0, 1, 2, 3), x0, (0, 1, 2, 3), ()) * 0.25 - del x0 - - return e_cc - -def update_amps(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, t3=None, **kwargs): - # T amplitudes - t1new = np.zeros((nocc, nvir), dtype=types[float]) - t1new += einsum(f.vv, (0, 1), t1, (2, 1), (2, 0)) - t1new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 0, 1, 5, 2, 3), (4, 5)) * 0.25 - t1new += einsum(f.ov, (0, 1), (0, 1)) - t1new += einsum(t1, (0, 1), v.ovov, (2, 1, 0, 3), (2, 3)) * -1.0 - t2new = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - t2new += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) - x0 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x0 += einsum(t1, (0, 1), v.oovv, (2, 3, 4, 1), (0, 2, 3, 4)) - x1 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x1 += einsum(v.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - x1 += einsum(x0, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - t1new += einsum(t2, (0, 1, 2, 3), x1, (4, 1, 0, 3), (4, 2)) * -0.5 - del x1 - x2 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x2 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - x2 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) * 2.0 - t1new += einsum(v.ovvv, (0, 1, 2, 3), x2, (0, 4, 2, 3), (4, 1)) * 0.5 - x3 = np.zeros((nocc, nvir), dtype=types[float]) - x3 += einsum(t1, (0, 1), v.oovv, (2, 0, 3, 1), (2, 3)) - x4 = np.zeros((nocc, nvir), dtype=types[float]) - x4 += einsum(f.ov, (0, 1), (0, 1)) - x4 += einsum(x3, (0, 1), (0, 1)) - del x3 - t1new += einsum(x4, (0, 1), t2, (2, 0, 3, 1), (2, 3)) - t2new += einsum(x4, (0, 1), t3, (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) - x5 = np.zeros((nocc, nocc), dtype=types[float]) - x5 += einsum(f.ov, (0, 1), t1, (2, 1), (0, 2)) - x6 = np.zeros((nocc, nocc), dtype=types[float]) - x6 += einsum(t1, (0, 1), v.ooov, (2, 0, 3, 1), (2, 3)) - x7 = np.zeros((nocc, nocc), dtype=types[float]) - x7 += einsum(v.oovv, (0, 1, 2, 3), x2, (1, 4, 2, 3), (4, 0)) * -1.0 - x8 = np.zeros((nocc, nocc), dtype=types[float]) - x8 += einsum(f.oo, (0, 1), (0, 1)) * 2.0 - x8 += einsum(x5, (0, 1), (0, 1)) * 2.0 - x8 += einsum(x6, (0, 1), (0, 1)) * 2.0 - x8 += einsum(x7, (0, 1), (1, 0)) - t1new += einsum(t1, (0, 1), x8, (0, 2), (2, 1)) * -0.5 - del x8 - x9 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x9 += einsum(t1, (0, 1), v.ovvv, (2, 1, 3, 4), (0, 2, 3, 4)) - x10 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x10 += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 0, 1, 5, 6, 3), (4, 2, 5, 6)) - x11 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x11 += einsum(x0, (0, 1, 2, 3), t3, (4, 2, 1, 5, 6, 3), (0, 4, 5, 6)) - x12 = np.zeros((nocc, nocc), dtype=types[float]) - x12 += einsum(t1, (0, 1), x4, (2, 1), (2, 0)) - x13 = np.zeros((nocc, nocc), dtype=types[float]) - x13 += einsum(f.oo, (0, 1), (0, 1)) - x13 += einsum(x12, (0, 1), (1, 0)) - del x12 - x14 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x14 += einsum(x13, (0, 1), t2, (2, 1, 3, 4), (2, 0, 3, 4)) * -1.0 - del x13 - x15 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x15 += einsum(t1, (0, 1), v.ooov, (2, 3, 4, 1), (0, 2, 3, 4)) - x16 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x16 += einsum(x15, (0, 1, 2, 3), x2, (1, 2, 4, 5), (0, 3, 4, 5)) * 0.5 - x17 = np.zeros((nocc, nocc), dtype=types[float]) - x17 += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 2, 3), (0, 4)) - x18 = np.zeros((nocc, nocc), dtype=types[float]) - x18 += einsum(x6, (0, 1), (0, 1)) - x18 += einsum(x17, (0, 1), (1, 0)) * 0.5 - del x17 - x19 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x19 += einsum(x18, (0, 1), t2, (2, 0, 3, 4), (2, 1, 3, 4)) * -1.0 - del x18 - x20 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x20 += einsum(x9, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x9 - x20 += einsum(x10, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.5 - del x10 - x20 += einsum(x11, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.5 - del x11 - x20 += einsum(x14, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x14 - x20 += einsum(x16, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x16 - x20 += einsum(x19, (0, 1, 2, 3), (0, 1, 3, 2)) - del x19 - t2new += einsum(x20, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new += einsum(x20, (0, 1, 2, 3), (1, 0, 2, 3)) - del x20 - x21 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x21 += einsum(t1, (0, 1), v.ooov, (2, 3, 0, 4), (2, 3, 1, 4)) - x22 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x22 += einsum(f.vv, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4)) - x23 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x23 += einsum(x21, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x21 - x23 += einsum(x22, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x22 - t2new += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new += einsum(x23, (0, 1, 2, 3), (0, 1, 3, 2)) - del x23 - x24 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x24 += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 0, 6, 2, 3), (4, 5, 6, 1)) - x25 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x25 += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 3), (0, 4, 2, 5)) - x26 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x26 += einsum(t2, (0, 1, 2, 3), x25, (4, 1, 5, 3), (0, 4, 2, 5)) - x27 = np.zeros((nvir, nvir), dtype=types[float]) - x27 += einsum(t1, (0, 1), v.ovvv, (0, 2, 3, 1), (2, 3)) - x28 = np.zeros((nvir, nvir), dtype=types[float]) - x28 += einsum(t2, (0, 1, 2, 3), v.oovv, (0, 1, 4, 3), (2, 4)) - x29 = np.zeros((nvir, nvir), dtype=types[float]) - x29 += einsum(x27, (0, 1), (0, 1)) - x29 += einsum(x28, (0, 1), (0, 1)) * 0.5 - del x28 - x30 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x30 += einsum(x29, (0, 1), t2, (2, 3, 4, 1), (2, 3, 4, 0)) * -1.0 - del x29 - x31 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x31 += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 1, 6, 2, 3), (4, 5, 0, 6)) - x32 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x32 += einsum(v.ovvv, (0, 1, 2, 3), x2, (4, 5, 2, 3), (0, 4, 5, 1)) * 0.5 - x33 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x33 += einsum(x4, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4)) * -1.0 - x34 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x34 += einsum(x31, (0, 1, 2, 3), (2, 1, 0, 3)) * -0.5 - x34 += einsum(x32, (0, 1, 2, 3), (0, 2, 1, 3)) - del x32 - x34 += einsum(x33, (0, 1, 2, 3), (2, 1, 0, 3)) - del x33 - x35 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x35 += einsum(t1, (0, 1), x34, (0, 2, 3, 4), (2, 3, 4, 1)) - del x34 - x36 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x36 += einsum(x24, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - del x24 - x36 += einsum(x26, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x26 - x36 += einsum(x30, (0, 1, 2, 3), (1, 0, 2, 3)) - del x30 - x36 += einsum(x35, (0, 1, 2, 3), (1, 0, 3, 2)) - del x35 - t2new += einsum(x36, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new += einsum(x36, (0, 1, 2, 3), (0, 1, 3, 2)) - del x36 - x37 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x37 += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 3, 1, 5), (0, 4, 2, 5)) - x38 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x38 += einsum(t1, (0, 1), v.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) - x39 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x39 += einsum(t2, (0, 1, 2, 3), x38, (4, 1, 5, 3), (4, 0, 2, 5)) * -1.0 - x40 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x40 += einsum(t1, (0, 1), v.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) - x41 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x41 += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 1, 5, 3), (0, 4, 5, 2)) - x42 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x42 += einsum(t2, (0, 1, 2, 3), x0, (4, 1, 5, 3), (4, 0, 5, 2)) - x43 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x43 += einsum(x40, (0, 1, 2, 3), (0, 1, 2, 3)) - x43 += einsum(x41, (0, 1, 2, 3), (0, 1, 2, 3)) - x43 += einsum(x42, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x44 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x44 += einsum(t1, (0, 1), x43, (2, 0, 3, 4), (2, 3, 4, 1)) - del x43 - x45 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x45 += einsum(x37, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x37 - x45 += einsum(x39, (0, 1, 2, 3), (0, 1, 2, 3)) - del x39 - x45 += einsum(x44, (0, 1, 2, 3), (0, 1, 3, 2)) - del x44 - t2new += einsum(x45, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new += einsum(x45, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new += einsum(x45, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - t2new += einsum(x45, (0, 1, 2, 3), (1, 0, 3, 2)) - del x45 - x46 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x46 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - x46 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) - t2new += einsum(v.vvvv, (0, 1, 2, 3), x46, (4, 5, 2, 3), (5, 4, 0, 1)) * -1.0 - del x46 - x47 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x47 += einsum(v.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x47 += einsum(v.oovv, (0, 1, 2, 3), x2, (4, 5, 2, 3), (0, 1, 5, 4)) * -1.0 - t2new += einsum(x2, (0, 1, 2, 3), x47, (0, 1, 4, 5), (4, 5, 3, 2)) * -0.25 - del x47 - x48 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x48 += einsum(x15, (0, 1, 2, 3), t3, (4, 1, 2, 5, 6, 7), (0, 4, 3, 5, 6, 7)) - t3new = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - t3new += einsum(x48, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 0.5 - t3new += einsum(x48, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -0.5 - t3new += einsum(x48, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -0.5 - t3new += einsum(x48, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * 0.5 - t3new += einsum(x48, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 0.5 - t3new += einsum(x48, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -0.5 - del x48 - x49 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x49 += einsum(v.ovov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 1), (4, 5, 0, 6, 7, 3)) - x50 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x50 += einsum(v.ooov, (0, 1, 2, 3), x2, (0, 1, 4, 5), (2, 3, 4, 5)) - x51 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x51 += einsum(t2, (0, 1, 2, 3), x50, (4, 3, 5, 6), (0, 1, 4, 2, 6, 5)) * 0.5 - del x50 - x52 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x52 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 3, 1)) * 2.0 - x52 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x53 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x53 += einsum(v.ovvv, (0, 1, 2, 3), x52, (4, 5, 2, 3), (0, 4, 5, 1)) - x54 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x54 += einsum(t2, (0, 1, 2, 3), x53, (1, 4, 5, 6), (0, 5, 4, 2, 3, 6)) * 0.5 - del x53 - x55 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x55 += einsum(x49, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - del x49 - x55 += einsum(x51, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -1.0 - del x51 - x55 += einsum(x54, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) - del x54 - t3new += einsum(x55, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - t3new += einsum(x55, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - t3new += einsum(x55, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -1.0 - t3new += einsum(x55, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) - t3new += einsum(x55, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - t3new += einsum(x55, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) - t3new += einsum(x55, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) - t3new += einsum(x55, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -1.0 - t3new += einsum(x55, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) - del x55 - x56 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x56 += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 0, 1, 5, 6, 3), (4, 5, 6, 2)) - x57 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x57 += einsum(x4, (0, 1), t2, (2, 0, 3, 4), (2, 3, 4, 1)) * -1.0 - del x4 - x58 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x58 += einsum(v.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) - x58 += einsum(x56, (0, 1, 2, 3), (0, 2, 1, 3)) * 0.5 - del x56 - x58 += einsum(x57, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x57 - x59 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x59 += einsum(t2, (0, 1, 2, 3), x58, (4, 5, 6, 3), (0, 1, 4, 2, 5, 6)) * -1.0 - del x58 - x60 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x60 += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (4, 5, 0, 2, 6, 7)) - x61 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x61 += einsum(v.oovv, (0, 1, 2, 3), x52, (4, 5, 2, 3), (0, 1, 4, 5)) - del x52 - x62 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x62 += einsum(t2, (0, 1, 2, 3), x61, (4, 1, 5, 6), (0, 6, 5, 4, 2, 3)) * -0.5 - x63 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x63 += einsum(x60, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 - del x60 - x63 += einsum(x62, (0, 1, 2, 3, 4, 5), (2, 1, 3, 0, 5, 4)) * -1.0 - del x62 - x64 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x64 += einsum(t1, (0, 1), x63, (2, 3, 0, 4, 5, 6), (2, 3, 4, 5, 6, 1)) - del x63 - x65 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x65 += einsum(x59, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * -1.0 - del x59 - x65 += einsum(x64, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -1.0 - del x64 - t3new += einsum(x65, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - t3new += einsum(x65, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) - t3new += einsum(x65, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -1.0 - t3new += einsum(x65, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) - t3new += einsum(x65, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -1.0 - t3new += einsum(x65, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - t3new += einsum(x65, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) - t3new += einsum(x65, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -1.0 - t3new += einsum(x65, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) - del x65 - x66 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x66 += einsum(x6, (0, 1), t3, (2, 3, 0, 4, 5, 6), (2, 3, 1, 4, 5, 6)) * -1.0 - del x6 - x67 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x67 += einsum(x61, (0, 1, 2, 3), t3, (4, 1, 0, 5, 6, 7), (4, 3, 2, 5, 6, 7)) * -0.25 - del x61 - x68 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x68 += einsum(x66, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) - del x66 - x68 += einsum(x67, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -1.0 - del x67 - t3new += einsum(x68, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) - t3new += einsum(x68, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -1.0 - t3new += einsum(x68, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * -1.0 - del x68 - x69 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x69 += einsum(t2, (0, 1, 2, 3), x41, (4, 1, 5, 6), (0, 4, 5, 2, 3, 6)) - del x41 - x70 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x70 += einsum(x40, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x40 - x70 += einsum(x42, (0, 1, 2, 3), (0, 1, 2, 3)) - del x42 - x71 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x71 += einsum(t2, (0, 1, 2, 3), x70, (4, 5, 1, 6), (0, 4, 5, 2, 3, 6)) * -1.0 - del x70 - x72 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x72 += einsum(x69, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - del x69 - x72 += einsum(x71, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) - del x71 - t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 - t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) - t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 - t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -1.0 - t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * -1.0 - t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) - t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 - t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) - t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) * -1.0 - t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) - t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) - t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -1.0 - t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) - t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -1.0 - t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) - t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * -1.0 - del x72 - x73 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x73 += einsum(t1, (0, 1), x15, (2, 0, 3, 4), (2, 3, 4, 1)) * -1.0 - del x15 - x74 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x74 += einsum(t2, (0, 1, 2, 3), x73, (4, 1, 5, 6), (4, 0, 5, 6, 2, 3)) * -1.0 - del x73 - t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -1.0 - t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) - t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) - t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -1.0 - t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * -1.0 - t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) - t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -1.0 - t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) - t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 - t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) - t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) - t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -1.0 - t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) - t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -1.0 - t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) - t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -1.0 - del x74 - x75 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x75 += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 2, 3), (4, 5, 6, 0, 7, 1)) - x76 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x76 += einsum(t1, (0, 1), x75, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) - del x75 - t3new += einsum(x76, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 0.5 - t3new += einsum(x76, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -0.5 - t3new += einsum(x76, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -0.5 - t3new += einsum(x76, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * 0.5 - t3new += einsum(x76, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 0.5 - t3new += einsum(x76, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -0.5 - del x76 - x77 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x77 += einsum(x38, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (0, 4, 5, 6, 7, 2)) * -1.0 - x78 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x78 += einsum(x0, (0, 1, 2, 3), x2, (1, 2, 4, 5), (0, 3, 4, 5)) - del x0 - x79 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x79 += einsum(t2, (0, 1, 2, 3), x78, (4, 3, 5, 6), (0, 1, 4, 2, 6, 5)) * 0.5 - del x78 - x80 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x80 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x80 += einsum(x31, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - del x31 - x81 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x81 += einsum(t2, (0, 1, 2, 3), x80, (4, 5, 1, 6), (0, 4, 5, 2, 3, 6)) * -1.0 - del x80 - x82 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x82 += einsum(x77, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) - del x77 - x82 += einsum(x79, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) - del x79 - x82 += einsum(x81, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - del x81 - t3new += einsum(x82, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - t3new += einsum(x82, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - t3new += einsum(x82, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -1.0 - t3new += einsum(x82, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) * -1.0 - t3new += einsum(x82, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) - t3new += einsum(x82, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 - t3new += einsum(x82, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) - t3new += einsum(x82, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -1.0 - t3new += einsum(x82, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) - del x82 - x83 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x83 += einsum(x27, (0, 1), t3, (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 6, 0)) * -1.0 - del x27 - x84 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x84 += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 2, 3), (4, 5, 6, 0, 1, 7)) - x85 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x85 += einsum(x2, (0, 1, 2, 3), x84, (4, 5, 6, 0, 1, 7), (4, 5, 6, 2, 3, 7)) * 0.25 - del x84 - x86 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x86 += einsum(x83, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - del x83 - x86 += einsum(x85, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - del x85 - t3new += einsum(x86, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - t3new += einsum(x86, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 - t3new += einsum(x86, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) - del x86 - x87 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x87 += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 3), (0, 2, 4, 5)) - x88 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x88 += einsum(t2, (0, 1, 2, 3), x87, (4, 5, 6, 3), (0, 1, 4, 2, 5, 6)) - del x87 - x89 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x89 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x89 += einsum(x25, (0, 1, 2, 3), (0, 1, 2, 3)) - del x25 - x90 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x90 += einsum(t2, (0, 1, 2, 3), x89, (4, 5, 6, 3), (0, 1, 4, 5, 2, 6)) * -1.0 - del x89 - x91 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x91 += einsum(t1, (0, 1), x90, (2, 3, 4, 0, 5, 6), (3, 2, 4, 5, 6, 1)) * -1.0 - del x90 - x92 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x92 += einsum(x88, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x88 - x92 += einsum(x91, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -1.0 - del x91 - t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 - t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) - t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) - t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -1.0 - t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 - t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) - t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -1.0 - t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 - t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) - t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -1.0 - t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) - t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) - t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * -1.0 - t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -1.0 - t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) - del x92 - x93 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x93 += einsum(t2, (0, 1, 2, 3), x38, (4, 5, 6, 3), (4, 0, 1, 5, 2, 6)) * -1.0 - del x38 - x94 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x94 += einsum(t1, (0, 1), x93, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) - del x93 - t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) - t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -1.0 - t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) - t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -1.0 - t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) - t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * -1.0 - t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 - t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) - t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) - t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -1.0 - t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) * -1.0 - t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) - t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) - t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -1.0 - t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 - t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) - del x94 - x95 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x95 += einsum(v.vvvv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 2, 3), (4, 5, 6, 7, 0, 1)) - x96 = np.zeros((nvir, nvir), dtype=types[float]) - x96 += einsum(f.ov, (0, 1), t1, (0, 2), (1, 2)) - x97 = np.zeros((nvir, nvir), dtype=types[float]) - x97 += einsum(v.oovv, (0, 1, 2, 3), x2, (0, 1, 3, 4), (4, 2)) * -1.0 - del x2 - x98 = np.zeros((nvir, nvir), dtype=types[float]) - x98 += einsum(f.vv, (0, 1), (0, 1)) * -2.0 - x98 += einsum(x96, (0, 1), (0, 1)) * 2.0 - del x96 - x98 += einsum(x97, (0, 1), (1, 0)) - del x97 - x99 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x99 += einsum(x98, (0, 1), t3, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 6, 1)) * 0.5 - del x98 - x100 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x100 += einsum(x95, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -0.5 - del x95 - x100 += einsum(x99, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -1.0 - del x99 - t3new += einsum(x100, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - t3new += einsum(x100, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - t3new += einsum(x100, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) - del x100 - x101 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x101 += einsum(t1, (0, 1), v.oooo, (2, 3, 4, 0), (2, 3, 4, 1)) - x102 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x102 += einsum(t2, (0, 1, 2, 3), x101, (4, 5, 1, 6), (0, 4, 5, 6, 2, 3)) * -1.0 - del x101 - x103 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x103 += einsum(t1, (0, 1), v.vvvv, (2, 3, 4, 1), (0, 2, 3, 4)) - x104 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x104 += einsum(t2, (0, 1, 2, 3), x103, (4, 5, 6, 3), (4, 0, 1, 2, 5, 6)) * -1.0 - del x103 - x105 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x105 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - x105 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 3, 1)) * -0.99999999999999 - x106 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x106 += einsum(v.oovv, (0, 1, 2, 3), x105, (1, 4, 3, 5), (0, 4, 2, 5)) - del x105 - x107 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x107 += einsum(x106, (0, 1, 2, 3), t3, (4, 5, 0, 6, 7, 2), (4, 5, 1, 6, 7, 3)) * 1.00000000000001 - del x106 - x108 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x108 += einsum(x102, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - del x102 - x108 += einsum(x104, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - del x104 - x108 += einsum(x107, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 - del x107 - t3new += einsum(x108, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - t3new += einsum(x108, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) - t3new += einsum(x108, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -1.0 - t3new += einsum(x108, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) * -1.0 - t3new += einsum(x108, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) - t3new += einsum(x108, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * -1.0 - t3new += einsum(x108, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) - t3new += einsum(x108, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -1.0 - t3new += einsum(x108, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) - del x108 - x109 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x109 += einsum(v.oooo, (0, 1, 2, 3), t3, (4, 2, 3, 5, 6, 7), (4, 0, 1, 5, 6, 7)) - x110 = np.zeros((nocc, nocc), dtype=types[float]) - x110 += einsum(f.oo, (0, 1), (0, 1)) * 2.0 - x110 += einsum(x5, (0, 1), (0, 1)) * 2.0 - del x5 - x110 += einsum(x7, (0, 1), (1, 0)) - del x7 - x111 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x111 += einsum(x110, (0, 1), t3, (2, 3, 0, 4, 5, 6), (2, 3, 1, 4, 5, 6)) * 0.5 - del x110 - x112 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x112 += einsum(x109, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -0.5 - del x109 - x112 += einsum(x111, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * -1.0 - del x111 - t3new += einsum(x112, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) - t3new += einsum(x112, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) - t3new += einsum(x112, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * -1.0 - del x112 - - return {"t1new": t1new, "t2new": t2new, "t3new": t3new} - -def update_lams(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, t3=None, l1=None, l2=None, l3=None, **kwargs): - # L amplitudes - l1new = np.zeros((nvir, nocc), dtype=types[float]) - l1new += einsum(l2, (0, 1, 2, 3), v.ovvv, (3, 4, 0, 1), (4, 2)) * -0.5 - l1new += einsum(f.ov, (0, 1), (1, 0)) - l1new += einsum(l1, (0, 1), v.ovov, (2, 0, 1, 3), (3, 2)) * -1.0 - l2new = np.zeros((nvir, nvir, nocc, nocc), dtype=types[float]) - l2new += einsum(v.oovv, (0, 1, 2, 3), (2, 3, 0, 1)) - l2new += einsum(l2, (0, 1, 2, 3), v.vvvv, (4, 5, 0, 1), (4, 5, 2, 3)) * 0.5 - x0 = np.zeros((nocc, nocc), dtype=types[float]) - x0 += einsum(l1, (0, 1), t1, (2, 0), (1, 2)) - x1 = np.zeros((nocc, nvir), dtype=types[float]) - x1 += einsum(t1, (0, 1), v.oovv, (2, 0, 3, 1), (2, 3)) - l1new += einsum(x0, (0, 1), x1, (1, 2), (2, 0)) * -1.0 - l3new = np.zeros((nvir, nvir, nvir, nocc, nocc, nocc), dtype=types[float]) - l3new += einsum(x1, (0, 1), l2, (2, 3, 4, 5), (2, 3, 1, 4, 5, 0)) - l3new += einsum(x1, (0, 1), l2, (2, 3, 4, 5), (2, 1, 3, 4, 5, 0)) * -1.0 - l3new += einsum(x1, (0, 1), l2, (2, 3, 4, 5), (1, 2, 3, 4, 5, 0)) - l3new += einsum(x1, (0, 1), l2, (2, 3, 4, 5), (2, 3, 1, 4, 0, 5)) * -1.0 - l3new += einsum(x1, (0, 1), l2, (2, 3, 4, 5), (2, 1, 3, 4, 0, 5)) - l3new += einsum(x1, (0, 1), l2, (2, 3, 4, 5), (1, 2, 3, 4, 0, 5)) * -1.0 - l3new += einsum(x1, (0, 1), l2, (2, 3, 4, 5), (2, 3, 1, 0, 4, 5)) - l3new += einsum(x1, (0, 1), l2, (2, 3, 4, 5), (2, 1, 3, 0, 4, 5)) * -1.0 - l3new += einsum(x1, (0, 1), l2, (2, 3, 4, 5), (1, 2, 3, 0, 4, 5)) - x2 = np.zeros((nvir, nvir), dtype=types[float]) - x2 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (3, 4, 5, 6, 1, 2), (0, 6)) - l1new += einsum(x2, (0, 1), v.ovvv, (2, 0, 3, 1), (3, 2)) * 0.08333333333333 - x3 = np.zeros((nocc, nocc), dtype=types[float]) - x3 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 4, 5, 0, 1, 2), (3, 6)) - l1new += einsum(x3, (0, 1), v.ooov, (2, 1, 0, 3), (3, 2)) * 0.08333333333333 - x4 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x4 += einsum(t1, (0, 1), v.oovv, (2, 3, 4, 1), (0, 2, 3, 4)) - x5 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x5 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x5 += einsum(x4, (0, 1, 2, 3), (2, 1, 0, 3)) - x6 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x6 += einsum(t1, (0, 1), v.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) - x7 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x7 += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 3), (0, 4, 2, 5)) - x8 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x8 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x8 += einsum(x6, (0, 1, 2, 3), (0, 1, 2, 3)) - x8 += einsum(x7, (0, 1, 2, 3), (0, 1, 2, 3)) - x9 = np.zeros((nocc, nvir), dtype=types[float]) - x9 += einsum(f.ov, (0, 1), (0, 1)) - x9 += einsum(x1, (0, 1), (0, 1)) - x10 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x10 += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 2, 3), (0, 1, 4, 5)) - x11 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x11 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x11 += einsum(x4, (0, 1, 2, 3), (2, 1, 0, 3)) * 0.5 - x12 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x12 += einsum(t1, (0, 1), x11, (2, 3, 4, 1), (0, 2, 3, 4)) * 4.0 - del x11 - x13 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x13 += einsum(v.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x13 += einsum(x10, (0, 1, 2, 3), (3, 2, 1, 0)) - x13 += einsum(x12, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - x14 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x14 += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 2, 3), (4, 5, 6, 0, 1, 7)) - l2new += einsum(l3, (0, 1, 2, 3, 4, 5), x14, (3, 4, 5, 6, 7, 2), (0, 1, 6, 7)) * 0.08333333333333 - x15 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x15 += einsum(v.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - x15 += einsum(x4, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x16 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x16 += einsum(x14, (0, 1, 2, 3, 4, 5), (0, 1, 4, 3, 2, 5)) * 0.16666666666666 - del x14 - x16 += einsum(t2, (0, 1, 2, 3), x15, (4, 5, 6, 3), (0, 1, 6, 5, 4, 2)) - x17 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x17 += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 2, 3), (0, 4, 5, 6, 7, 1)) * 0.66666666666664 - x17 += einsum(x5, (0, 1, 2, 3), t3, (4, 5, 0, 6, 7, 3), (1, 4, 2, 5, 6, 7)) * -2.0 - x17 += einsum(t2, (0, 1, 2, 3), x8, (4, 5, 6, 3), (5, 0, 4, 1, 2, 6)) * -4.0 - del x8 - x17 += einsum(x9, (0, 1), t3, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) * -0.66666666666664 - x17 += einsum(t2, (0, 1, 2, 3), x13, (1, 4, 5, 6), (4, 0, 6, 5, 2, 3)) * -1.0 - x17 += einsum(t1, (0, 1), x16, (2, 3, 4, 0, 5, 6), (4, 3, 5, 2, 6, 1)) * 4.0 - del x16 - l1new += einsum(l3, (0, 1, 2, 3, 4, 5), x17, (6, 3, 4, 5, 2, 1), (0, 6)) * -0.125 - del x17 - x18 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x18 += einsum(t2, (0, 1, 2, 3), l3, (4, 5, 3, 6, 0, 1), (6, 4, 5, 2)) - l2new += einsum(x18, (0, 1, 2, 3), x5, (4, 5, 0, 3), (1, 2, 5, 4)) * -0.5 - x19 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x19 += einsum(t1, (0, 1), l2, (2, 3, 4, 0), (4, 2, 3, 1)) * 2.0 - x19 += einsum(x18, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - l1new += einsum(v.vvvv, (0, 1, 2, 3), x19, (4, 3, 2, 1), (0, 4)) * -0.25 - del x19 - x20 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x20 += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 2, 3), (0, 1, 4, 5)) - x21 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x21 += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 1, 6, 2, 3), (4, 5, 0, 6)) - x22 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x22 += einsum(t2, (0, 1, 2, 3), x15, (4, 1, 5, 3), (0, 4, 5, 2)) * 2.0 - x23 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x23 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x23 += einsum(x6, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.5 - x24 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x24 += einsum(v.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - x24 += einsum(x10, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 - x24 += einsum(x12, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - x25 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x25 += einsum(v.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - x25 += einsum(x20, (0, 1, 2, 3), (2, 1, 0, 3)) * 0.5 - x25 += einsum(x21, (0, 1, 2, 3), (2, 1, 0, 3)) * -0.5 - x25 += einsum(x22, (0, 1, 2, 3), (2, 0, 1, 3)) - x25 += einsum(x9, (0, 1), t2, (2, 3, 4, 1), (0, 2, 3, 4)) - x25 += einsum(t1, (0, 1), x23, (2, 3, 1, 4), (3, 2, 0, 4)) * -2.0 - del x23 - x25 += einsum(t1, (0, 1), x24, (0, 2, 3, 4), (2, 4, 3, 1)) * -0.5 - del x24 - l1new += einsum(l2, (0, 1, 2, 3), x25, (4, 2, 3, 1), (0, 4)) * 0.5 - del x25 - x26 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x26 += einsum(t1, (0, 1), l3, (2, 3, 1, 4, 5, 6), (4, 5, 6, 0, 2, 3)) - x27 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x27 += einsum(t1, (0, 1), x26, (2, 3, 4, 5, 6, 1), (2, 3, 4, 0, 5, 6)) - x28 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x28 += einsum(t1, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2)) - x29 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x29 += einsum(t2, (0, 1, 2, 3), l3, (4, 2, 3, 5, 6, 1), (5, 6, 0, 4)) - x30 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x30 += einsum(x28, (0, 1, 2, 3), (1, 0, 2, 3)) - x30 += einsum(x29, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - l2new += einsum(v.ovvv, (0, 1, 2, 3), x30, (4, 5, 0, 1), (2, 3, 4, 5)) * -1.0 - x31 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x31 += einsum(l2, (0, 1, 2, 3), t2, (4, 5, 0, 1), (2, 3, 4, 5)) - x32 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x32 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 7, 5, 0, 1, 2), (3, 4, 6, 7)) - x33 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x33 += einsum(x28, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x33 += einsum(x29, (0, 1, 2, 3), (0, 1, 2, 3)) - x34 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x34 += einsum(x31, (0, 1, 2, 3), (1, 0, 3, 2)) * -3.00000000000012 - x34 += einsum(x32, (0, 1, 2, 3), (0, 1, 3, 2)) - x34 += einsum(t1, (0, 1), x33, (2, 3, 4, 1), (2, 3, 0, 4)) * -6.00000000000024 - x35 = np.zeros((nocc, nocc), dtype=types[float]) - x35 += einsum(l2, (0, 1, 2, 3), t2, (4, 3, 0, 1), (2, 4)) - x36 = np.zeros((nocc, nocc), dtype=types[float]) - x36 += einsum(x35, (0, 1), (0, 1)) - x36 += einsum(x3, (0, 1), (0, 1)) * 0.16666666666666 - x37 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x37 += einsum(l1, (0, 1), t2, (2, 3, 4, 0), (1, 2, 3, 4)) - x37 += einsum(l2, (0, 1, 2, 3), t3, (4, 5, 3, 6, 0, 1), (2, 4, 5, 6)) * 0.5 - x37 += einsum(t3, (0, 1, 2, 3, 4, 5), x26, (6, 1, 2, 7, 5, 4), (6, 0, 7, 3)) * -0.5 - x37 += einsum(t2, (0, 1, 2, 3), x18, (4, 3, 2, 5), (4, 0, 1, 5)) * -0.25 - x37 += einsum(t2, (0, 1, 2, 3), x27, (4, 0, 1, 5, 6, 3), (4, 6, 5, 2)) * -0.5 - x37 += einsum(t2, (0, 1, 2, 3), x30, (4, 1, 5, 3), (4, 0, 5, 2)) * 2.0 - x37 += einsum(t1, (0, 1), x34, (0, 2, 3, 4), (2, 4, 3, 1)) * -0.16666666666666 - del x34 - x37 += einsum(t1, (0, 1), x36, (2, 3), (2, 0, 3, 1)) - del x36 - l1new += einsum(v.oovv, (0, 1, 2, 3), x37, (4, 0, 1, 3), (2, 4)) * 0.5 - del x37 - x38 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x38 += einsum(t2, (0, 1, 2, 3), x26, (4, 0, 1, 5, 3, 6), (4, 5, 6, 2)) - x39 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x39 += einsum(x28, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x39 += einsum(x29, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - l1new += einsum(v.ovov, (0, 1, 2, 3), x39, (0, 4, 2, 3), (1, 4)) - x40 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x40 += einsum(x38, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - x40 += einsum(t1, (0, 1), x39, (0, 2, 3, 4), (2, 3, 4, 1)) * -1.0 - l1new += einsum(v.ovvv, (0, 1, 2, 3), x40, (4, 0, 1, 3), (2, 4)) - del x40 - x41 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x41 += einsum(l2, (0, 1, 2, 3), t2, (4, 3, 5, 1), (2, 4, 0, 5)) - x42 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x42 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 4, 5, 7, 1, 2), (3, 6, 0, 7)) - x43 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x43 += einsum(x41, (0, 1, 2, 3), (0, 1, 2, 3)) - x43 += einsum(x42, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.25 - l1new += einsum(v.ovvv, (0, 1, 2, 3), x43, (4, 0, 1, 3), (2, 4)) * -1.0 - del x43 - x44 = np.zeros((nocc, nocc), dtype=types[float]) - x44 += einsum(x0, (0, 1), (0, 1)) * 12.00000000000048 - x44 += einsum(x35, (0, 1), (0, 1)) * 6.00000000000024 - x44 += einsum(x3, (0, 1), (0, 1)) - x45 = np.zeros((nocc, nvir), dtype=types[float]) - x45 += einsum(t1, (0, 1), (0, 1)) * -1.0 - x45 += einsum(l1, (0, 1), t2, (2, 1, 3, 0), (2, 3)) * -1.0 - x45 += einsum(l2, (0, 1, 2, 3), t3, (4, 2, 3, 5, 0, 1), (4, 5)) * -0.25 - x45 += einsum(t3, (0, 1, 2, 3, 4, 5), x26, (2, 0, 1, 6, 5, 4), (6, 3)) * -0.08333333333333 - x45 += einsum(t2, (0, 1, 2, 3), x39, (0, 1, 4, 3), (4, 2)) * -0.5 - x45 += einsum(t1, (0, 1), x44, (0, 2), (2, 1)) * 0.08333333333333 - l1new += einsum(x45, (0, 1), v.oovv, (2, 0, 3, 1), (3, 2)) * -1.0 - del x45 - x46 = np.zeros((nvir, nvir), dtype=types[float]) - x46 += einsum(l2, (0, 1, 2, 3), t2, (2, 3, 4, 1), (0, 4)) - x47 = np.zeros((nvir, nvir), dtype=types[float]) - x47 += einsum(l1, (0, 1), t1, (1, 2), (0, 2)) - x47 += einsum(x46, (0, 1), (0, 1)) * 0.5 - l1new += einsum(x47, (0, 1), v.ovvv, (2, 0, 3, 1), (3, 2)) - del x47 - x48 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x48 += einsum(x31, (0, 1, 2, 3), (1, 0, 3, 2)) * 3.00000000000012 - x48 += einsum(x32, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - l1new += einsum(v.ooov, (0, 1, 2, 3), x48, (2, 4, 0, 1), (3, 4)) * 0.08333333333333 - del x48 - x49 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x49 += einsum(t1, (0, 1), x33, (2, 3, 4, 1), (3, 2, 4, 0)) - l1new += einsum(v.ooov, (0, 1, 2, 3), x49, (4, 2, 0, 1), (3, 4)) * -0.5 - del x49 - x50 = np.zeros((nocc, nocc), dtype=types[float]) - x50 += einsum(x0, (0, 1), (0, 1)) * 2.0 - x50 += einsum(x35, (0, 1), (0, 1)) - l1new += einsum(x50, (0, 1), v.ooov, (2, 1, 0, 3), (3, 2)) * 0.5 - del x50 - x51 = np.zeros((nvir, nvir), dtype=types[float]) - x51 += einsum(t1, (0, 1), v.ovvv, (0, 2, 3, 1), (2, 3)) - x52 = np.zeros((nvir, nvir), dtype=types[float]) - x52 += einsum(f.vv, (0, 1), (0, 1)) - x52 += einsum(x51, (0, 1), (0, 1)) * -1.0 - l1new += einsum(l1, (0, 1), x52, (0, 2), (2, 1)) - del x52 - x53 = np.zeros((nocc, nocc), dtype=types[float]) - x53 += einsum(t1, (0, 1), v.ooov, (2, 0, 3, 1), (2, 3)) - x54 = np.zeros((nocc, nocc), dtype=types[float]) - x54 += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 2, 3), (0, 4)) - x55 = np.zeros((nocc, nocc), dtype=types[float]) - x55 += einsum(f.oo, (0, 1), (0, 1)) * 2.0 - x55 += einsum(x53, (0, 1), (1, 0)) * 2.0 - x55 += einsum(x54, (0, 1), (0, 1)) - x55 += einsum(t1, (0, 1), x9, (2, 1), (0, 2)) * 2.0 - del x9 - l1new += einsum(l1, (0, 1), x55, (1, 2), (0, 2)) * -0.5 - del x55 - x56 = np.zeros((nocc, nocc), dtype=types[float]) - x56 += einsum(x0, (0, 1), (0, 1)) * 2.0 - del x0 - x56 += einsum(x35, (0, 1), (0, 1)) - del x35 - x56 += einsum(x3, (0, 1), (0, 1)) * 0.16666666666666 - del x3 - l1new += einsum(f.ov, (0, 1), x56, (2, 0), (1, 2)) * -0.5 - del x56 - x57 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x57 += einsum(f.vv, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2)) - x58 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x58 += einsum(t1, (0, 1), v.vvvv, (2, 3, 4, 1), (0, 2, 3, 4)) - x59 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x59 += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 3), (0, 2, 4, 5)) - x60 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x60 += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 0, 1, 5, 6, 3), (4, 5, 6, 2)) - x61 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x61 += einsum(t2, (0, 1, 2, 3), x5, (0, 1, 4, 5), (4, 2, 3, 5)) * 0.5 - del x5 - x62 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x62 += einsum(v.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x62 += einsum(x58, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x58 - x62 += einsum(x59, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x59 - x62 += einsum(x60, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.49999999999998 - del x60 - x62 += einsum(x61, (0, 1, 2, 3), (0, 2, 1, 3)) - del x61 - x63 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x63 += einsum(x62, (0, 1, 2, 3), l3, (4, 1, 2, 5, 6, 0), (5, 6, 4, 3)) * -0.5 - del x62 - x64 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x64 += einsum(t1, (0, 1), v.ooov, (2, 0, 3, 4), (2, 3, 1, 4)) - x65 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x65 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x65 += einsum(x64, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.5 - del x64 - x65 += einsum(x7, (0, 1, 2, 3), (0, 1, 2, 3)) - x66 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x66 += einsum(x65, (0, 1, 2, 3), x26, (4, 5, 0, 1, 2, 6), (4, 5, 6, 3)) - del x65 - x67 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x67 += einsum(t1, (0, 1), x4, (2, 3, 0, 4), (2, 3, 1, 4)) - x68 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x68 += einsum(x6, (0, 1, 2, 3), (0, 1, 2, 3)) - x68 += einsum(x67, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - del x67 - x69 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x69 += einsum(x68, (0, 1, 2, 3), x26, (4, 5, 0, 1, 2, 6), (4, 5, 6, 3)) - del x68 - x70 = np.zeros((nvir, nvir), dtype=types[float]) - x70 += einsum(x46, (0, 1), (0, 1)) - del x46 - x70 += einsum(x2, (0, 1), (0, 1)) * 0.16666666666666 - del x2 - x71 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x71 += einsum(x70, (0, 1), v.oovv, (2, 3, 4, 1), (2, 3, 0, 4)) * -0.5 - del x70 - x72 = np.zeros((nvir, nvir), dtype=types[float]) - x72 += einsum(t2, (0, 1, 2, 3), v.oovv, (0, 1, 4, 3), (2, 4)) - x73 = np.zeros((nvir, nvir), dtype=types[float]) - x73 += einsum(x51, (0, 1), (0, 1)) - del x51 - x73 += einsum(x72, (0, 1), (0, 1)) * 0.5 - del x72 - x74 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x74 += einsum(x73, (0, 1), l2, (2, 0, 3, 4), (3, 4, 2, 1)) * -1.0 - x75 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x75 += einsum(l1, (0, 1), x15, (1, 2, 3, 4), (2, 3, 0, 4)) - del x15 - x76 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x76 += einsum(f.ov, (0, 1), x39, (2, 3, 0, 4), (2, 3, 4, 1)) - x77 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x77 += einsum(x1, (0, 1), x39, (2, 3, 0, 4), (2, 3, 4, 1)) - del x39 - x78 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x78 += einsum(x57, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x57 - x78 += einsum(x63, (0, 1, 2, 3), (0, 1, 2, 3)) - del x63 - x78 += einsum(x66, (0, 1, 2, 3), (0, 1, 2, 3)) - del x66 - x78 += einsum(x69, (0, 1, 2, 3), (0, 1, 2, 3)) - del x69 - x78 += einsum(x71, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x71 - x78 += einsum(x74, (0, 1, 2, 3), (1, 0, 2, 3)) - del x74 - x78 += einsum(x75, (0, 1, 2, 3), (1, 0, 2, 3)) - del x75 - x78 += einsum(x76, (0, 1, 2, 3), (1, 0, 3, 2)) - del x76 - x78 += einsum(x77, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x77 - l2new += einsum(x78, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 - l2new += einsum(x78, (0, 1, 2, 3), (3, 2, 0, 1)) - del x78 - x79 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x79 += einsum(x28, (0, 1, 2, 3), x4, (0, 4, 2, 5), (1, 4, 3, 5)) * -1.0 - x80 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x80 += einsum(v.ovvv, (0, 1, 2, 3), x18, (4, 5, 1, 3), (4, 0, 5, 2)) - x81 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x81 += einsum(t1, (0, 1), x29, (0, 2, 3, 4), (2, 3, 4, 1)) * -1.0 - x82 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x82 += einsum(x41, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - del x41 - x82 += einsum(x42, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.49999999999998 - del x42 - x82 += einsum(x38, (0, 1, 2, 3), (0, 1, 2, 3)) - del x38 - x82 += einsum(x81, (0, 1, 2, 3), (0, 1, 2, 3)) - del x81 - x83 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x83 += einsum(v.oovv, (0, 1, 2, 3), x82, (4, 1, 5, 3), (4, 0, 5, 2)) * 0.5 - del x82 - x84 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x84 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x84 += einsum(x6, (0, 1, 2, 3), (0, 1, 2, 3)) - x85 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x85 += einsum(l2, (0, 1, 2, 3), x84, (3, 4, 1, 5), (2, 4, 0, 5)) - del x84 - x86 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x86 += einsum(v.ooov, (0, 1, 2, 3), x30, (4, 2, 1, 5), (0, 4, 3, 5)) * -1.0 - del x30 - x87 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x87 += einsum(f.ov, (0, 1), l1, (2, 3), (0, 3, 1, 2)) - x87 += einsum(l1, (0, 1), x1, (2, 3), (1, 2, 0, 3)) - x87 += einsum(x79, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x79 - x87 += einsum(x80, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - del x80 - x87 += einsum(x83, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x83 - x87 += einsum(x85, (0, 1, 2, 3), (0, 1, 2, 3)) - del x85 - x87 += einsum(x86, (0, 1, 2, 3), (1, 0, 3, 2)) - del x86 - l2new += einsum(x87, (0, 1, 2, 3), (2, 3, 0, 1)) - l2new += einsum(x87, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - l2new += einsum(x87, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 - l2new += einsum(x87, (0, 1, 2, 3), (3, 2, 1, 0)) - del x87 - x88 = np.zeros((nocc, nocc), dtype=types[float]) - x88 += einsum(f.ov, (0, 1), t1, (2, 1), (0, 2)) - x89 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x89 += einsum(x88, (0, 1), l2, (2, 3, 4, 1), (0, 4, 2, 3)) - x90 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x90 += einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), (0, 2, 3, 4)) - x91 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x91 += einsum(x90, (0, 1, 2, 3), l3, (4, 5, 3, 6, 2, 1), (0, 6, 4, 5)) - del x90 - x92 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x92 += einsum(x1, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4)) * -1.0 - x93 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x93 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x93 += einsum(x6, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.5 - x94 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x94 += einsum(t1, (0, 1), x93, (2, 3, 4, 1), (0, 2, 3, 4)) * 2.0 - del x93 - x95 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x95 += einsum(t1, (0, 1), x13, (0, 2, 3, 4), (2, 3, 4, 1)) * 0.5 - del x13 - x96 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x96 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x96 += einsum(x20, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.5 - del x20 - x96 += einsum(x21, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.49999999999998 - del x21 - x96 += einsum(x92, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x92 - x96 += einsum(x22, (0, 1, 2, 3), (0, 1, 2, 3)) - del x22 - x96 += einsum(x94, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - del x94 - x96 += einsum(x95, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - del x95 - x97 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x97 += einsum(x96, (0, 1, 2, 3), l3, (4, 5, 3, 6, 0, 1), (6, 2, 4, 5)) * -0.5 - del x96 - x98 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x98 += einsum(x44, (0, 1), v.oovv, (2, 1, 3, 4), (0, 2, 3, 4)) * -0.08333333333333 - del x44 - x99 = np.zeros((nocc, nocc), dtype=types[float]) - x99 += einsum(t1, (0, 1), x1, (2, 1), (0, 2)) - x100 = np.zeros((nocc, nocc), dtype=types[float]) - x100 += einsum(x53, (0, 1), (0, 1)) - del x53 - x100 += einsum(x54, (0, 1), (1, 0)) * 0.5 - del x54 - x100 += einsum(x99, (0, 1), (1, 0)) - del x99 - x101 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x101 += einsum(x100, (0, 1), l2, (2, 3, 4, 1), (4, 0, 2, 3)) * -1.0 - x102 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x102 += einsum(x89, (0, 1, 2, 3), (0, 1, 3, 2)) - del x89 - x102 += einsum(x91, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.5 - del x91 - x102 += einsum(x97, (0, 1, 2, 3), (0, 1, 2, 3)) - del x97 - x102 += einsum(x98, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x98 - x102 += einsum(x101, (0, 1, 2, 3), (0, 1, 3, 2)) - del x101 - l2new += einsum(x102, (0, 1, 2, 3), (3, 2, 0, 1)) - l2new += einsum(x102, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 - del x102 - x103 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x103 += einsum(f.oo, (0, 1), l2, (2, 3, 4, 1), (0, 4, 2, 3)) - x104 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x104 += einsum(l1, (0, 1), v.ovvv, (2, 0, 3, 4), (1, 2, 3, 4)) - x105 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x105 += einsum(x103, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x103 - x105 += einsum(x104, (0, 1, 2, 3), (0, 1, 3, 2)) - del x104 - l2new += einsum(x105, (0, 1, 2, 3), (2, 3, 0, 1)) - l2new += einsum(x105, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 - del x105 - x106 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x106 += einsum(v.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x106 += einsum(x10, (0, 1, 2, 3), (1, 0, 3, 2)) - del x10 - x106 += einsum(x12, (0, 1, 2, 3), (3, 0, 2, 1)) * -1.0 - del x12 - l2new += einsum(l2, (0, 1, 2, 3), x106, (2, 3, 4, 5), (0, 1, 4, 5)) * 0.25 - x107 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x107 += einsum(x31, (0, 1, 2, 3), (1, 0, 3, 2)) - del x31 - x107 += einsum(x32, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.33333333333332 - del x32 - x107 += einsum(t1, (0, 1), x33, (2, 3, 4, 1), (3, 2, 4, 0)) * 2.0 - del x33 - l2new += einsum(v.oovv, (0, 1, 2, 3), x107, (4, 5, 0, 1), (2, 3, 5, 4)) * -0.25 - del x107 - x108 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x108 += einsum(x106, (0, 1, 2, 3), l3, (4, 5, 6, 7, 0, 1), (7, 2, 3, 4, 5, 6)) * -0.25 - del x106 - x109 = np.zeros((nocc, nocc), dtype=types[float]) - x109 += einsum(f.oo, (0, 1), (0, 1)) - x109 += einsum(x88, (0, 1), (1, 0)) - del x88 - x110 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x110 += einsum(x109, (0, 1), l3, (2, 3, 4, 5, 6, 0), (5, 6, 1, 2, 3, 4)) - del x109 - x111 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x111 += einsum(x108, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) - del x108 - x111 += einsum(x110, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) - del x110 - l3new += einsum(x111, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 1, 2)) * -1.0 - l3new += einsum(x111, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 0, 2)) - l3new += einsum(x111, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) * -1.0 - del x111 - x112 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x112 += einsum(x100, (0, 1), l3, (2, 3, 4, 5, 6, 1), (5, 6, 0, 2, 3, 4)) - del x100 - l3new += einsum(x112, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) - l3new += einsum(x112, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) * -1.0 - l3new += einsum(x112, (0, 1, 2, 3, 4, 5), (5, 3, 4, 2, 1, 0)) - del x112 - x113 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x113 += einsum(v.ooov, (0, 1, 2, 3), x26, (4, 2, 5, 1, 6, 7), (4, 5, 0, 6, 7, 3)) * -1.0 - x114 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x114 += einsum(x4, (0, 1, 2, 3), x26, (0, 4, 5, 2, 6, 7), (5, 4, 1, 6, 7, 3)) * -1.0 - x115 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x115 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x115 += einsum(x6, (0, 1, 2, 3), (0, 1, 2, 3)) - del x6 - x115 += einsum(x7, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.00000000000001 - del x7 - x116 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x116 += einsum(x115, (0, 1, 2, 3), l3, (4, 5, 2, 6, 7, 0), (6, 7, 1, 4, 5, 3)) - del x115 - x117 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x117 += einsum(x113, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - del x113 - x117 += einsum(x114, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) - del x114 - x117 += einsum(x116, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x116 - l3new += einsum(x117, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 0, 2)) - l3new += einsum(x117, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 0, 2)) * -1.0 - l3new += einsum(x117, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) * -1.0 - l3new += einsum(x117, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 2, 0)) * -1.0 - l3new += einsum(x117, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) - l3new += einsum(x117, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) - l3new += einsum(x117, (0, 1, 2, 3, 4, 5), (4, 3, 5, 2, 1, 0)) - l3new += einsum(x117, (0, 1, 2, 3, 4, 5), (4, 5, 3, 2, 1, 0)) * -1.0 - l3new += einsum(x117, (0, 1, 2, 3, 4, 5), (5, 3, 4, 2, 1, 0)) * -1.0 - del x117 - x118 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x118 += einsum(f.vv, (0, 1), l3, (2, 3, 1, 4, 5, 6), (4, 5, 6, 0, 2, 3)) - x119 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x119 += einsum(f.ov, (0, 1), x26, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) - x120 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x120 += einsum(v.vvvv, (0, 1, 2, 3), l3, (4, 2, 3, 5, 6, 7), (5, 6, 7, 4, 0, 1)) - x121 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x121 += einsum(v.ovvv, (0, 1, 2, 3), x26, (4, 5, 6, 0, 7, 1), (4, 5, 6, 7, 2, 3)) * -1.0 - x122 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x122 += einsum(t2, (0, 1, 2, 3), l3, (4, 2, 3, 5, 6, 7), (5, 6, 7, 0, 1, 4)) - x123 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x123 += einsum(x122, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - del x122 - x123 += einsum(x27, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -2.0 - del x27 - x124 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x124 += einsum(v.oovv, (0, 1, 2, 3), x123, (4, 5, 6, 0, 1, 7), (4, 5, 6, 7, 2, 3)) * 0.25 - del x123 - x125 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x125 += einsum(x118, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 - del x118 - x125 += einsum(x119, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - del x119 - x125 += einsum(x120, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -0.5 - del x120 - x125 += einsum(x121, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - del x121 - x125 += einsum(x124, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 - del x124 - l3new += einsum(x125, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 2, 0)) - l3new += einsum(x125, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) - l3new += einsum(x125, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 2, 0)) * -1.0 - del x125 - x126 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x126 += einsum(x1, (0, 1), x26, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 6, 1)) - del x1, x26 - x127 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x127 += einsum(x73, (0, 1), l3, (2, 3, 0, 4, 5, 6), (4, 5, 6, 2, 3, 1)) - del x73 - x128 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x128 += einsum(x126, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - del x126 - x128 += einsum(x127, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) - del x127 - l3new += einsum(x128, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 2, 0)) - l3new += einsum(x128, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) * -1.0 - l3new += einsum(x128, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) * -1.0 - del x128 - x129 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x129 += einsum(l2, (0, 1, 2, 3), v.ovvv, (4, 1, 5, 6), (2, 3, 4, 0, 5, 6)) - x130 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x130 += einsum(v.oovv, (0, 1, 2, 3), x29, (4, 5, 1, 6), (5, 4, 0, 6, 2, 3)) - del x29 - x131 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x131 += einsum(x129, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 - del x129 - x131 += einsum(x130, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -0.5 - del x130 - l3new += einsum(x131, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 0, 2)) - l3new += einsum(x131, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) - l3new += einsum(x131, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 0, 2)) * -1.0 - l3new += einsum(x131, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 2, 0)) * -1.0 - l3new += einsum(x131, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) * -1.0 - l3new += einsum(x131, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 2, 0)) - l3new += einsum(x131, (0, 1, 2, 3, 4, 5), (3, 4, 5, 2, 1, 0)) - l3new += einsum(x131, (0, 1, 2, 3, 4, 5), (5, 3, 4, 2, 1, 0)) - l3new += einsum(x131, (0, 1, 2, 3, 4, 5), (5, 4, 3, 2, 1, 0)) * -1.0 - del x131 - x132 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x132 += einsum(l2, (0, 1, 2, 3), v.ooov, (4, 5, 3, 6), (2, 4, 5, 0, 1, 6)) - x133 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x133 += einsum(v.oovv, (0, 1, 2, 3), x18, (4, 5, 6, 3), (4, 0, 1, 6, 5, 2)) - del x18 - x134 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x134 += einsum(x132, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) - del x132 - x134 += einsum(x133, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 0.5 - del x133 - l3new += einsum(x134, (0, 1, 2, 3, 4, 5), (4, 3, 5, 0, 1, 2)) - l3new += einsum(x134, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 1, 2)) * -1.0 - l3new += einsum(x134, (0, 1, 2, 3, 4, 5), (5, 3, 4, 0, 1, 2)) * -1.0 - l3new += einsum(x134, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 0, 2)) * -1.0 - l3new += einsum(x134, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 0, 2)) - l3new += einsum(x134, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) - l3new += einsum(x134, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 2, 0)) - l3new += einsum(x134, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) * -1.0 - l3new += einsum(x134, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) * -1.0 - del x134 - x135 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x135 += einsum(f.ov, (0, 1), l2, (2, 3, 4, 5), (0, 4, 5, 1, 2, 3)) - x135 += einsum(l1, (0, 1), v.oovv, (2, 3, 4, 5), (1, 2, 3, 0, 4, 5)) - l3new += einsum(x135, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 1, 2)) - l3new += einsum(x135, (0, 1, 2, 3, 4, 5), (4, 3, 5, 0, 1, 2)) * -1.0 - l3new += einsum(x135, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 1, 2)) - l3new += einsum(x135, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 0, 2)) * -1.0 - l3new += einsum(x135, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 0, 2)) - l3new += einsum(x135, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 0, 2)) * -1.0 - l3new += einsum(x135, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 2, 0)) - l3new += einsum(x135, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 2, 0)) * -1.0 - l3new += einsum(x135, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) - del x135 - x136 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x136 += einsum(l2, (0, 1, 2, 3), x4, (3, 4, 5, 6), (2, 5, 4, 0, 1, 6)) * -1.0 - del x4 - l3new += einsum(x136, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 2, 1)) * -1.0 - l3new += einsum(x136, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) * -1.0 - l3new += einsum(x136, (0, 1, 2, 3, 4, 5), (5, 4, 3, 0, 2, 1)) - l3new += einsum(x136, (0, 1, 2, 3, 4, 5), (3, 4, 5, 2, 0, 1)) - l3new += einsum(x136, (0, 1, 2, 3, 4, 5), (4, 5, 3, 2, 0, 1)) - l3new += einsum(x136, (0, 1, 2, 3, 4, 5), (5, 4, 3, 2, 0, 1)) * -1.0 - l3new += einsum(x136, (0, 1, 2, 3, 4, 5), (3, 4, 5, 2, 1, 0)) * -1.0 - l3new += einsum(x136, (0, 1, 2, 3, 4, 5), (4, 5, 3, 2, 1, 0)) * -1.0 - l3new += einsum(x136, (0, 1, 2, 3, 4, 5), (5, 4, 3, 2, 1, 0)) - del x136 - x137 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x137 += einsum(v.oovv, (0, 1, 2, 3), x28, (4, 5, 1, 6), (4, 5, 0, 6, 2, 3)) - del x28 - l3new += einsum(x137, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 0, 2)) - l3new += einsum(x137, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) * -1.0 - l3new += einsum(x137, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 0, 2)) * -1.0 - l3new += einsum(x137, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 2, 0)) * -1.0 - l3new += einsum(x137, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) - l3new += einsum(x137, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) - l3new += einsum(x137, (0, 1, 2, 3, 4, 5), (3, 5, 4, 2, 1, 0)) - l3new += einsum(x137, (0, 1, 2, 3, 4, 5), (5, 3, 4, 2, 1, 0)) * -1.0 - l3new += einsum(x137, (0, 1, 2, 3, 4, 5), (4, 5, 3, 2, 1, 0)) * -1.0 - del x137 - - return {"l1new": l1new, "l2new": l2new, "l3new": l3new} - -def make_rdm1_f(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, t3=None, l1=None, l2=None, l3=None, **kwargs): - delta = Namespace(oo=np.eye(nocc), vv=np.eye(nvir)) - - # RDM1 - rdm1_f_oo = np.zeros((nocc, nocc), dtype=types[float]) - rdm1_f_oo += einsum(delta.oo, (0, 1), (0, 1)) - rdm1_f_ov = np.zeros((nocc, nvir), dtype=types[float]) - rdm1_f_ov += einsum(t1, (0, 1), (0, 1)) - rdm1_f_ov += einsum(l2, (0, 1, 2, 3), t3, (4, 2, 3, 5, 0, 1), (4, 5)) * 0.25 - rdm1_f_ov += einsum(l1, (0, 1), t2, (2, 1, 3, 0), (2, 3)) - rdm1_f_vo = np.zeros((nvir, nocc), dtype=types[float]) - rdm1_f_vo += einsum(l1, (0, 1), (0, 1)) - rdm1_f_vv = np.zeros((nvir, nvir), dtype=types[float]) - rdm1_f_vv += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (3, 4, 5, 6, 1, 2), (0, 6)) * 0.08333333333333 - rdm1_f_vv += einsum(l2, (0, 1, 2, 3), t2, (2, 3, 4, 1), (0, 4)) * 0.5 - rdm1_f_vv += einsum(l1, (0, 1), t1, (1, 2), (0, 2)) - x0 = np.zeros((nocc, nocc), dtype=types[float]) - x0 += einsum(l2, (0, 1, 2, 3), t2, (4, 3, 0, 1), (2, 4)) - rdm1_f_oo += einsum(x0, (0, 1), (1, 0)) * -0.5 - x1 = np.zeros((nocc, nocc), dtype=types[float]) - x1 += einsum(l1, (0, 1), t1, (2, 0), (1, 2)) - rdm1_f_oo += einsum(x1, (0, 1), (1, 0)) * -1.0 - x2 = np.zeros((nocc, nocc), dtype=types[float]) - x2 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 4, 5, 0, 1, 2), (3, 6)) - rdm1_f_oo += einsum(x2, (0, 1), (1, 0)) * -0.08333333333333 - x3 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x3 += einsum(t1, (0, 1), l3, (2, 3, 1, 4, 5, 6), (4, 5, 6, 0, 2, 3)) - rdm1_f_ov += einsum(t3, (0, 1, 2, 3, 4, 5), x3, (0, 1, 2, 6, 5, 4), (6, 3)) * 0.08333333333333 - del x3 - x4 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x4 += einsum(t1, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2)) - x4 += einsum(t2, (0, 1, 2, 3), l3, (4, 2, 3, 5, 6, 1), (5, 6, 0, 4)) * 0.5 - rdm1_f_ov += einsum(t2, (0, 1, 2, 3), x4, (0, 1, 4, 3), (4, 2)) * 0.5 - del x4 - x5 = np.zeros((nocc, nocc), dtype=types[float]) - x5 += einsum(x1, (0, 1), (0, 1)) - del x1 - x5 += einsum(x0, (0, 1), (0, 1)) * 0.5 - del x0 - x5 += einsum(x2, (0, 1), (0, 1)) * 0.08333333333333 - del x2 - rdm1_f_ov += einsum(t1, (0, 1), x5, (0, 2), (2, 1)) * -1.0 - del x5 - - rdm1_f = np.block([[rdm1_f_oo, rdm1_f_ov], [rdm1_f_vo, rdm1_f_vv]]) - - return rdm1_f - -def make_rdm2_f(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, t3=None, l1=None, l2=None, l3=None, **kwargs): - delta = Namespace(oo=np.eye(nocc), vv=np.eye(nvir)) - - # RDM2 - rdm2_f_oooo = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - rdm2_f_oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (0, 2, 1, 3)) - rdm2_f_oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_ovoo = np.zeros((nocc, nvir, nocc, nocc), dtype=types[float]) - rdm2_f_ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (0, 2, 1, 3)) - rdm2_f_ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_vooo = np.zeros((nvir, nocc, nocc, nocc), dtype=types[float]) - rdm2_f_vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 0, 3, 1)) - rdm2_f_oovv = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - rdm2_f_oovv += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(l1, (0, 1), t3, (2, 3, 1, 4, 5, 0), (2, 3, 4, 5)) - rdm2_f_oovv += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_oovv += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) - rdm2_f_ovov = np.zeros((nocc, nvir, nocc, nvir), dtype=types[float]) - rdm2_f_ovov += einsum(l1, (0, 1), t1, (2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_ovvo = np.zeros((nocc, nvir, nvir, nocc), dtype=types[float]) - rdm2_f_ovvo += einsum(l1, (0, 1), t1, (2, 3), (2, 0, 3, 1)) - rdm2_f_voov = np.zeros((nvir, nocc, nocc, nvir), dtype=types[float]) - rdm2_f_voov += einsum(l1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) - rdm2_f_vovo = np.zeros((nvir, nocc, nvir, nocc), dtype=types[float]) - rdm2_f_vovo += einsum(l1, (0, 1), t1, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_vvoo = np.zeros((nvir, nvir, nocc, nocc), dtype=types[float]) - rdm2_f_vvoo += einsum(l2, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_vvvv = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) - rdm2_f_vvvv += einsum(l2, (0, 1, 2, 3), t2, (2, 3, 4, 5), (0, 1, 4, 5)) * 0.5 - rdm2_f_vvvv += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (3, 4, 5, 6, 7, 2), (0, 1, 6, 7)) * 0.16666666666667 - x0 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x0 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 7, 5, 0, 1, 2), (3, 4, 6, 7)) - rdm2_f_oooo += einsum(x0, (0, 1, 2, 3), (2, 3, 1, 0)) * -0.16666666666667 - x1 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x1 += einsum(l2, (0, 1, 2, 3), t2, (4, 5, 0, 1), (2, 3, 4, 5)) - rdm2_f_oooo += einsum(x1, (0, 1, 2, 3), (3, 2, 1, 0)) * 0.5 - x2 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x2 += einsum(t1, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2)) - rdm2_f_ovoo += einsum(x2, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 - rdm2_f_vooo += einsum(x2, (0, 1, 2, 3), (3, 2, 1, 0)) - x3 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x3 += einsum(t1, (0, 1), x2, (2, 3, 4, 1), (2, 3, 0, 4)) - rdm2_f_oooo += einsum(x3, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 - x4 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x4 += einsum(t2, (0, 1, 2, 3), l3, (4, 2, 3, 5, 6, 1), (5, 6, 0, 4)) - rdm2_f_ovoo += einsum(x4, (0, 1, 2, 3), (2, 3, 1, 0)) * -0.5 - rdm2_f_vooo += einsum(x4, (0, 1, 2, 3), (3, 2, 1, 0)) * 0.5 - x5 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x5 += einsum(t1, (0, 1), x4, (2, 3, 4, 1), (2, 3, 0, 4)) - rdm2_f_oooo += einsum(x5, (0, 1, 2, 3), (2, 3, 1, 0)) * -0.5 - rdm2_f_oooo += einsum(x5, (0, 1, 2, 3), (3, 2, 1, 0)) * 0.5 - x6 = np.zeros((nocc, nocc), dtype=types[float]) - x6 += einsum(l2, (0, 1, 2, 3), t2, (4, 3, 0, 1), (2, 4)) - x7 = np.zeros((nocc, nocc), dtype=types[float]) - x7 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 4, 5, 0, 1, 2), (3, 6)) - x8 = np.zeros((nocc, nocc), dtype=types[float]) - x8 += einsum(x6, (0, 1), (0, 1)) - x8 += einsum(x7, (0, 1), (0, 1)) * 0.16666666666666 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x8, (2, 3), (0, 3, 1, 2)) * -0.5 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x8, (2, 3), (0, 3, 2, 1)) * 0.5 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x8, (2, 3), (3, 0, 1, 2)) * 0.5 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x8, (2, 3), (3, 0, 2, 1)) * -0.5 - del x8 - x9 = np.zeros((nocc, nocc), dtype=types[float]) - x9 += einsum(l1, (0, 1), t1, (2, 0), (1, 2)) - rdm2_f_oooo += einsum(delta.oo, (0, 1), x9, (2, 3), (0, 3, 1, 2)) * -1.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x9, (2, 3), (3, 0, 1, 2)) - rdm2_f_oooo += einsum(delta.oo, (0, 1), x9, (2, 3), (0, 3, 2, 1)) - rdm2_f_oooo += einsum(delta.oo, (0, 1), x9, (2, 3), (3, 0, 2, 1)) * -1.0 - x10 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x10 += einsum(l1, (0, 1), t2, (2, 3, 4, 0), (1, 2, 3, 4)) - rdm2_f_ooov = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - rdm2_f_ooov += einsum(x10, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_oovo = np.zeros((nocc, nocc, nvir, nocc), dtype=types[float]) - rdm2_f_oovo += einsum(x10, (0, 1, 2, 3), (2, 1, 3, 0)) - x11 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x11 += einsum(l2, (0, 1, 2, 3), t3, (4, 5, 3, 6, 0, 1), (2, 4, 5, 6)) - rdm2_f_ooov += einsum(x11, (0, 1, 2, 3), (1, 2, 0, 3)) * 0.5 - rdm2_f_oovo += einsum(x11, (0, 1, 2, 3), (1, 2, 3, 0)) * -0.5 - x12 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x12 += einsum(t2, (0, 1, 2, 3), l3, (4, 5, 3, 6, 0, 1), (6, 4, 5, 2)) - rdm2_f_vvov = np.zeros((nvir, nvir, nocc, nvir), dtype=types[float]) - rdm2_f_vvov += einsum(x12, (0, 1, 2, 3), (1, 2, 0, 3)) * 0.5 - rdm2_f_vvvo = np.zeros((nvir, nvir, nvir, nocc), dtype=types[float]) - rdm2_f_vvvo += einsum(x12, (0, 1, 2, 3), (1, 2, 3, 0)) * -0.5 - x13 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x13 += einsum(t2, (0, 1, 2, 3), x12, (4, 3, 2, 5), (4, 0, 1, 5)) * -1.0 - rdm2_f_ooov += einsum(x13, (0, 1, 2, 3), (1, 2, 0, 3)) * 0.25 - rdm2_f_oovo += einsum(x13, (0, 1, 2, 3), (1, 2, 3, 0)) * -0.25 - x14 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x14 += einsum(t1, (0, 1), l3, (2, 3, 1, 4, 5, 6), (4, 5, 6, 0, 2, 3)) - x15 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x15 += einsum(t1, (0, 1), x14, (2, 3, 4, 5, 1, 6), (2, 3, 4, 5, 0, 6)) - x16 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x16 += einsum(t2, (0, 1, 2, 3), x15, (4, 1, 0, 5, 6, 3), (4, 6, 5, 2)) - rdm2_f_ooov += einsum(x16, (0, 1, 2, 3), (1, 2, 0, 3)) * 0.5 - rdm2_f_oovo += einsum(x16, (0, 1, 2, 3), (1, 2, 3, 0)) * -0.5 - x17 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x17 += einsum(t3, (0, 1, 2, 3, 4, 5), x14, (6, 1, 2, 7, 4, 5), (6, 7, 0, 3)) - x18 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x18 += einsum(t1, (0, 1), x5, (0, 2, 3, 4), (2, 3, 4, 1)) * -1.0 - x19 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x19 += einsum(x2, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x19 += einsum(x4, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - x20 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x20 += einsum(t2, (0, 1, 2, 3), x19, (1, 4, 5, 3), (4, 5, 0, 2)) - x21 = np.zeros((nocc, nocc), dtype=types[float]) - x21 += einsum(x9, (0, 1), (0, 1)) * 12.00000000000048 - x21 += einsum(x6, (0, 1), (0, 1)) * 6.00000000000024 - x21 += einsum(x7, (0, 1), (0, 1)) - x22 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x22 += einsum(delta.oo, (0, 1), t1, (2, 3), (0, 1, 2, 3)) - x22 += einsum(x17, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.25 - x22 += einsum(x18, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.5 - del x18 - x22 += einsum(x20, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x20 - x22 += einsum(t1, (0, 1), x21, (2, 3), (0, 2, 3, 1)) * 0.08333333333333 - rdm2_f_ooov += einsum(x22, (0, 1, 2, 3), (0, 2, 1, 3)) - rdm2_f_ooov += einsum(x22, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_oovo += einsum(x22, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_oovo += einsum(x22, (0, 1, 2, 3), (2, 0, 3, 1)) - del x22 - x23 = np.zeros((nocc, nvir), dtype=types[float]) - x23 += einsum(l1, (0, 1), t2, (2, 1, 3, 0), (2, 3)) - x24 = np.zeros((nocc, nvir), dtype=types[float]) - x24 += einsum(l2, (0, 1, 2, 3), t3, (4, 2, 3, 5, 0, 1), (4, 5)) - x25 = np.zeros((nocc, nvir), dtype=types[float]) - x25 += einsum(t3, (0, 1, 2, 3, 4, 5), x14, (0, 1, 2, 6, 4, 5), (6, 3)) - x26 = np.zeros((nocc, nvir), dtype=types[float]) - x26 += einsum(t2, (0, 1, 2, 3), x19, (0, 1, 4, 3), (4, 2)) * -0.5 - x27 = np.zeros((nocc, nvir), dtype=types[float]) - x27 += einsum(t1, (0, 1), x21, (0, 2), (2, 1)) * 0.08333333333333 - del x21 - x28 = np.zeros((nocc, nvir), dtype=types[float]) - x28 += einsum(x23, (0, 1), (0, 1)) * -1.0 - del x23 - x28 += einsum(x24, (0, 1), (0, 1)) * -0.25 - del x24 - x28 += einsum(x25, (0, 1), (0, 1)) * 0.08333333333333 - del x25 - x28 += einsum(x26, (0, 1), (0, 1)) - del x26 - x28 += einsum(x27, (0, 1), (0, 1)) - del x27 - rdm2_f_ooov += einsum(delta.oo, (0, 1), x28, (2, 3), (0, 2, 1, 3)) * -1.0 - rdm2_f_ooov += einsum(delta.oo, (0, 1), x28, (2, 3), (2, 0, 1, 3)) - rdm2_f_oovo += einsum(delta.oo, (0, 1), x28, (2, 3), (0, 2, 3, 1)) - rdm2_f_oovo += einsum(delta.oo, (0, 1), x28, (2, 3), (2, 0, 3, 1)) * -1.0 - x29 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x29 += einsum(x1, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - x29 += einsum(x3, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - x29 += einsum(x0, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.33333333333334 - x30 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x30 += einsum(t1, (0, 1), x29, (0, 2, 3, 4), (2, 3, 4, 1)) * 0.5 - del x29 - rdm2_f_ooov += einsum(x30, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_oovo += einsum(x30, (0, 1, 2, 3), (2, 1, 3, 0)) - del x30 - x31 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x31 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 4, 5, 7, 1, 2), (3, 6, 0, 7)) - rdm2_f_ovov += einsum(x31, (0, 1, 2, 3), (1, 2, 0, 3)) * -0.25 - rdm2_f_ovvo += einsum(x31, (0, 1, 2, 3), (1, 2, 3, 0)) * 0.25 - rdm2_f_voov += einsum(x31, (0, 1, 2, 3), (2, 1, 0, 3)) * 0.25 - rdm2_f_vovo += einsum(x31, (0, 1, 2, 3), (2, 1, 3, 0)) * -0.25 - x32 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x32 += einsum(t2, (0, 1, 2, 3), x31, (1, 4, 3, 5), (0, 4, 2, 5)) - x33 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x33 += einsum(t2, (0, 1, 2, 3), x14, (4, 1, 0, 5, 6, 3), (4, 5, 6, 2)) - rdm2_f_ovov += einsum(x33, (0, 1, 2, 3), (1, 2, 0, 3)) * 0.5 - rdm2_f_ovvo += einsum(x33, (0, 1, 2, 3), (1, 2, 3, 0)) * -0.5 - rdm2_f_voov += einsum(x33, (0, 1, 2, 3), (2, 1, 0, 3)) * -0.5 - rdm2_f_vovo += einsum(x33, (0, 1, 2, 3), (2, 1, 3, 0)) * 0.5 - x34 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x34 += einsum(t1, (0, 1), x4, (0, 2, 3, 4), (2, 3, 4, 1)) * -1.0 - x35 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x35 += einsum(x33, (0, 1, 2, 3), (0, 1, 2, 3)) - x35 += einsum(x34, (0, 1, 2, 3), (0, 1, 2, 3)) - del x34 - x36 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x36 += einsum(t2, (0, 1, 2, 3), x35, (1, 4, 3, 5), (4, 0, 5, 2)) * 0.5 - del x35 - x37 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x37 += einsum(t2, (0, 1, 2, 3), x2, (4, 1, 5, 3), (4, 5, 0, 2)) * -1.0 - x38 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x38 += einsum(x37, (0, 1, 2, 3), (0, 1, 2, 3)) - del x37 - x38 += einsum(x17, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.25 - del x17 - x39 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x39 += einsum(t1, (0, 1), x38, (0, 2, 3, 4), (2, 3, 1, 4)) - del x38 - x40 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x40 += einsum(x32, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.25 - del x32 - x40 += einsum(x36, (0, 1, 2, 3), (0, 1, 2, 3)) - del x36 - x40 += einsum(x39, (0, 1, 2, 3), (0, 1, 2, 3)) - del x39 - x40 += einsum(t1, (0, 1), x28, (2, 3), (0, 2, 1, 3)) - del x28 - rdm2_f_oovv += einsum(x40, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - rdm2_f_oovv += einsum(x40, (0, 1, 2, 3), (0, 1, 3, 2)) - rdm2_f_oovv += einsum(x40, (0, 1, 2, 3), (1, 0, 2, 3)) - rdm2_f_oovv += einsum(x40, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x40 - x41 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x41 += einsum(x7, (0, 1), t2, (2, 0, 3, 4), (2, 1, 3, 4)) - del x7 - x42 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x42 += einsum(x4, (0, 1, 2, 3), t3, (4, 0, 1, 5, 6, 3), (2, 4, 5, 6)) - x43 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x43 += einsum(x41, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.08333333333333 - del x41 - x43 += einsum(x42, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.25 - del x42 - rdm2_f_oovv += einsum(x43, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - rdm2_f_oovv += einsum(x43, (0, 1, 2, 3), (1, 0, 2, 3)) - del x43 - x44 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x44 += einsum(l2, (0, 1, 2, 3), t2, (4, 3, 5, 1), (2, 4, 0, 5)) - rdm2_f_ovov += einsum(x44, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_ovvo += einsum(x44, (0, 1, 2, 3), (1, 2, 3, 0)) - rdm2_f_voov += einsum(x44, (0, 1, 2, 3), (2, 1, 0, 3)) - rdm2_f_vovo += einsum(x44, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - x45 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x45 += einsum(t2, (0, 1, 2, 3), x44, (1, 4, 3, 5), (4, 0, 5, 2)) - x46 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x46 += einsum(x12, (0, 1, 2, 3), t3, (4, 5, 0, 6, 1, 2), (4, 5, 3, 6)) - x47 = np.zeros((nvir, nvir), dtype=types[float]) - x47 += einsum(l2, (0, 1, 2, 3), t2, (2, 3, 4, 1), (0, 4)) - x48 = np.zeros((nvir, nvir), dtype=types[float]) - x48 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (3, 4, 5, 6, 1, 2), (0, 6)) - x49 = np.zeros((nvir, nvir), dtype=types[float]) - x49 += einsum(x47, (0, 1), (0, 1)) - x49 += einsum(x48, (0, 1), (0, 1)) * 0.16666666666666 - x50 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x50 += einsum(x49, (0, 1), t2, (2, 3, 4, 0), (2, 3, 1, 4)) * -0.5 - del x49 - x51 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x51 += einsum(x10, (0, 1, 2, 3), (0, 2, 1, 3)) - del x10 - x51 += einsum(x11, (0, 1, 2, 3), (0, 2, 1, 3)) * 0.5 - del x11 - x51 += einsum(x13, (0, 1, 2, 3), (0, 2, 1, 3)) * 0.25 - del x13 - x51 += einsum(x16, (0, 1, 2, 3), (0, 2, 1, 3)) * 0.5 - del x16 - x52 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x52 += einsum(t1, (0, 1), x51, (0, 2, 3, 4), (2, 3, 1, 4)) - del x51 - x53 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x53 += einsum(x45, (0, 1, 2, 3), (0, 1, 2, 3)) - del x45 - x53 += einsum(x46, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.25 - del x46 - x53 += einsum(x50, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x50 - x53 += einsum(x52, (0, 1, 2, 3), (1, 0, 2, 3)) - del x52 - rdm2_f_oovv += einsum(x53, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(x53, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x53 - x54 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x54 += einsum(x9, (0, 1), t2, (2, 0, 3, 4), (1, 2, 3, 4)) - del x9 - x55 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x55 += einsum(x2, (0, 1, 2, 3), t3, (4, 1, 0, 5, 6, 3), (2, 4, 5, 6)) - x56 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x56 += einsum(x6, (0, 1), t2, (2, 0, 3, 4), (2, 1, 3, 4)) - del x6 - x57 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x57 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 3, 1)) * 2.0 - x57 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x58 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x58 += einsum(x5, (0, 1, 2, 3), x57, (0, 1, 4, 5), (2, 3, 4, 5)) * 0.25 - del x5, x57 - x59 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x59 += einsum(x54, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x54 - x59 += einsum(x55, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.5 - del x55 - x59 += einsum(x56, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.5 - del x56 - x59 += einsum(x58, (0, 1, 2, 3), (0, 1, 3, 2)) - del x58 - rdm2_f_oovv += einsum(x59, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(x59, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x59 - x60 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x60 += einsum(t2, (0, 1, 2, 3), l3, (4, 2, 3, 5, 6, 7), (5, 6, 7, 0, 1, 4)) - x60 += einsum(x15, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -2.00000000000012 - del x15 - rdm2_f_oovv += einsum(t3, (0, 1, 2, 3, 4, 5), x60, (0, 1, 2, 6, 7, 5), (6, 7, 3, 4)) * 0.08333333333333 - del x60 - x61 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x61 += einsum(x1, (0, 1, 2, 3), (1, 0, 3, 2)) * -3.00000000000012 - x61 += einsum(x3, (0, 1, 2, 3), (0, 1, 3, 2)) * 6.00000000000024 - x61 += einsum(x0, (0, 1, 2, 3), (0, 1, 3, 2)) - rdm2_f_oovv += einsum(t2, (0, 1, 2, 3), x61, (0, 1, 4, 5), (5, 4, 2, 3)) * 0.08333333333333 - del x61 - x62 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x62 += einsum(x1, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.99999999999994 - del x1 - x62 += einsum(x3, (0, 1, 2, 3), (0, 1, 3, 2)) * 5.99999999999988 - del x3 - x62 += einsum(x0, (0, 1, 2, 3), (0, 1, 3, 2)) - del x0 - x63 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x63 += einsum(t1, (0, 1), x62, (0, 2, 3, 4), (2, 4, 3, 1)) * -0.16666666666667 - del x62 - rdm2_f_oovv += einsum(t1, (0, 1), x63, (0, 2, 3, 4), (2, 3, 4, 1)) * -1.0 - del x63 - x64 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x64 += einsum(x2, (0, 1, 2, 3), (1, 0, 2, 3)) * -2.0 - del x2 - x64 += einsum(x4, (0, 1, 2, 3), (0, 1, 2, 3)) - del x4 - x65 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x65 += einsum(t1, (0, 1), x64, (0, 2, 3, 4), (2, 3, 1, 4)) * 0.5 - del x64 - rdm2_f_ovov += einsum(x65, (0, 1, 2, 3), (1, 3, 0, 2)) * -1.0 - rdm2_f_ovvo += einsum(x65, (0, 1, 2, 3), (1, 3, 2, 0)) - rdm2_f_voov += einsum(x65, (0, 1, 2, 3), (3, 1, 0, 2)) - rdm2_f_vovo += einsum(x65, (0, 1, 2, 3), (3, 1, 2, 0)) * -1.0 - del x65 - x66 = np.zeros((nvir, nvir), dtype=types[float]) - x66 += einsum(l1, (0, 1), t1, (1, 2), (0, 2)) - x67 = np.zeros((nvir, nvir), dtype=types[float]) - x67 += einsum(x66, (0, 1), (0, 1)) * 12.00000000000048 - x67 += einsum(x47, (0, 1), (0, 1)) * 6.00000000000024 - x67 += einsum(x48, (0, 1), (0, 1)) - rdm2_f_ovov += einsum(delta.oo, (0, 1), x67, (2, 3), (0, 2, 1, 3)) * 0.08333333333333 - rdm2_f_voov += einsum(delta.oo, (0, 1), x67, (2, 3), (2, 0, 1, 3)) * -0.08333333333333 - del x67 - x68 = np.zeros((nvir, nvir), dtype=types[float]) - x68 += einsum(x66, (0, 1), (0, 1)) * 2.0 - x68 += einsum(x47, (0, 1), (0, 1)) - x68 += einsum(x48, (0, 1), (0, 1)) * 0.16666666666666 - rdm2_f_ovvo += einsum(delta.oo, (0, 1), x68, (2, 3), (0, 2, 3, 1)) * -0.5 - rdm2_f_vovo += einsum(delta.oo, (0, 1), x68, (2, 3), (2, 0, 3, 1)) * 0.5 - del x68 - x69 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x69 += einsum(l2, (0, 1, 2, 3), t3, (4, 2, 3, 5, 6, 1), (4, 0, 5, 6)) - rdm2_f_ovvv = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - rdm2_f_ovvv += einsum(x69, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.5 - rdm2_f_vovv = np.zeros((nvir, nocc, nvir, nvir), dtype=types[float]) - rdm2_f_vovv += einsum(x69, (0, 1, 2, 3), (1, 0, 3, 2)) * 0.5 - del x69 - x70 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x70 += einsum(t3, (0, 1, 2, 3, 4, 5), x14, (0, 1, 2, 6, 7, 5), (6, 7, 3, 4)) * -1.0 - del x14 - rdm2_f_ovvv += einsum(x70, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.16666666666667 - rdm2_f_vovv += einsum(x70, (0, 1, 2, 3), (1, 0, 3, 2)) * 0.16666666666667 - del x70 - x71 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x71 += einsum(l1, (0, 1), t2, (2, 1, 3, 4), (2, 0, 3, 4)) - rdm2_f_ovvv += einsum(x71, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_vovv += einsum(x71, (0, 1, 2, 3), (1, 0, 3, 2)) - del x71 - x72 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x72 += einsum(t2, (0, 1, 2, 3), x12, (1, 4, 3, 5), (0, 4, 5, 2)) * -1.0 - x73 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x73 += einsum(x44, (0, 1, 2, 3), (0, 1, 2, 3)) - del x44 - x73 += einsum(x31, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.25 - del x31 - x73 += einsum(x33, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - del x33 - x74 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x74 += einsum(t1, (0, 1), x73, (0, 2, 3, 4), (2, 1, 3, 4)) - del x73 - x75 = np.zeros((nvir, nvir), dtype=types[float]) - x75 += einsum(x66, (0, 1), (0, 1)) - del x66 - x75 += einsum(x47, (0, 1), (0, 1)) * 0.5 - del x47 - x75 += einsum(x48, (0, 1), (0, 1)) * 0.08333333333333 - del x48 - x76 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x76 += einsum(x72, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - del x72 - x76 += einsum(x74, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x74 - x76 += einsum(t1, (0, 1), x75, (2, 3), (0, 2, 1, 3)) - del x75 - rdm2_f_ovvv += einsum(x76, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_ovvv += einsum(x76, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_vovv += einsum(x76, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - rdm2_f_vovv += einsum(x76, (0, 1, 2, 3), (1, 0, 3, 2)) - del x76 - x77 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x77 += einsum(t2, (0, 1, 2, 3), x19, (0, 1, 4, 5), (4, 5, 2, 3)) * 0.5 - rdm2_f_ovvv += einsum(x77, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_vovv += einsum(x77, (0, 1, 2, 3), (1, 0, 3, 2)) - del x77 - x78 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x78 += einsum(t1, (0, 1), x19, (0, 2, 3, 4), (2, 3, 4, 1)) * -1.0 - rdm2_f_ovvv += einsum(t1, (0, 1), x78, (0, 2, 3, 4), (2, 3, 1, 4)) - del x78 - x79 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x79 += einsum(t1, (0, 1), x19, (0, 2, 3, 4), (2, 3, 4, 1)) * -2.0 - del x19 - rdm2_f_vovv += einsum(t1, (0, 1), x79, (0, 2, 3, 4), (3, 2, 4, 1)) * 0.5 - del x79 - x80 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x80 += einsum(t1, (0, 1), l2, (2, 3, 4, 0), (4, 2, 3, 1)) - rdm2_f_vvov += einsum(x80, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_vvvo += einsum(x80, (0, 1, 2, 3), (2, 1, 3, 0)) - rdm2_f_vvvv += einsum(t1, (0, 1), x80, (0, 2, 3, 4), (2, 3, 1, 4)) - del x80 - x81 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) - x81 += einsum(t1, (0, 1), x12, (0, 2, 3, 4), (3, 2, 1, 4)) * -1.0 - del x12 - rdm2_f_vvvv += einsum(x81, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - rdm2_f_vvvv += einsum(x81, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.5 - del x81 - - rdm2_f = pack_2e(rdm2_f_oooo, rdm2_f_ooov, rdm2_f_oovo, rdm2_f_ovoo, rdm2_f_vooo, rdm2_f_oovv, rdm2_f_ovov, rdm2_f_ovvo, rdm2_f_voov, rdm2_f_vovo, rdm2_f_vvoo, rdm2_f_ovvv, rdm2_f_vovv, rdm2_f_vvov, rdm2_f_vvvo, rdm2_f_vvvv) - - rdm2_f = rdm2_f.swapaxes(1, 2) - - return rdm2_f - diff --git a/ebcc/codegen/GCCSDTQ.py b/ebcc/codegen/GCCSDTQ.py deleted file mode 100644 index 768f25af..00000000 --- a/ebcc/codegen/GCCSDTQ.py +++ /dev/null @@ -1,3160 +0,0 @@ -# Code generated for ebcc. - -from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, Namespace -from ebcc.precision import types - -def energy(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, t3=None, t4=None, **kwargs): - # energy - e_cc = 0 - e_cc += einsum(t1, (0, 1), f.ov, (0, 1), ()) - x0 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x0 += einsum(t2, (0, 1, 2, 3), (1, 0, 3, 2)) - x0 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) * 2.0 - e_cc += einsum(v.oovv, (0, 1, 2, 3), x0, (0, 1, 2, 3), ()) * 0.25 - - return e_cc - -def update_amps(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, t3=None, t4=None, **kwargs): - # T amplitudes - t1new = np.zeros((nocc, nvir), dtype=types[float]) - t1new += einsum(f.ov, (0, 1), (0, 1)) - t1new += einsum(f.oo, (0, 1), t1, (1, 2), (0, 2)) * -1.0 - t1new += einsum(f.vv, (0, 1), t1, (2, 1), (2, 0)) - t1new += einsum(f.ov, (0, 1), t2, (2, 0, 3, 1), (2, 3)) - t1new += einsum(t1, (0, 1), v.ovov, (2, 1, 0, 3), (2, 3)) * -1.0 - t1new += einsum(t2, (0, 1, 2, 3), v.ooov, (0, 1, 4, 3), (4, 2)) * -0.5 - t1new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 2, 3), (0, 4)) * -0.5 - t1new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 0, 1, 5, 2, 3), (4, 5)) * 0.25 - t1new += einsum(f.ov, (0, 1), t1, (2, 1), t1, (0, 3), (2, 3)) * -1.0 - t1new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (0, 2, 4, 1), (4, 3)) - t1new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (2, 4, 1, 3), (0, 4)) * -1.0 - t1new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (2, 3, 1, 5), (0, 4)) * -0.5 - t1new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 4, 5), (2, 1)) * -0.5 - t1new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 1, 5), (2, 4)) - t1new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.oovv, (2, 4, 1, 3), (0, 5)) - t2new = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - t2new += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new += einsum(f.oo, (0, 1), t2, (2, 1, 3, 4), (0, 2, 3, 4)) - t2new += einsum(f.oo, (0, 1), t2, (2, 1, 3, 4), (2, 0, 3, 4)) * -1.0 - t2new += einsum(f.vv, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4)) * -1.0 - t2new += einsum(f.vv, (0, 1), t2, (2, 3, 4, 1), (2, 3, 4, 0)) - t2new += einsum(t1, (0, 1), v.ooov, (2, 3, 0, 4), (2, 3, 1, 4)) * -1.0 - t2new += einsum(t1, (0, 1), v.ooov, (2, 3, 0, 4), (2, 3, 4, 1)) - t2new += einsum(t1, (0, 1), v.ovvv, (2, 1, 3, 4), (0, 2, 3, 4)) * -1.0 - t2new += einsum(t1, (0, 1), v.ovvv, (2, 1, 3, 4), (2, 0, 3, 4)) - t2new += einsum(f.ov, (0, 1), t3, (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) - t2new += einsum(t2, (0, 1, 2, 3), v.oooo, (4, 5, 0, 1), (4, 5, 2, 3)) * 0.5 - t2new += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 3, 1, 5), (0, 4, 2, 5)) * -1.0 - t2new += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 3, 1, 5), (0, 4, 5, 2)) - t2new += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 3, 1, 5), (4, 0, 2, 5)) - t2new += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 3, 1, 5), (4, 0, 5, 2)) * -1.0 - t2new += einsum(t2, (0, 1, 2, 3), v.vvvv, (4, 5, 2, 3), (0, 1, 4, 5)) * 0.5 - t2new += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 0, 1, 5, 6, 3), (2, 4, 5, 6)) * 0.5 - t2new += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 0, 1, 5, 6, 3), (4, 2, 5, 6)) * -0.5 - t2new += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 0, 6, 2, 3), (4, 5, 1, 6)) * 0.5 - t2new += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 0, 6, 2, 3), (4, 5, 6, 1)) * -0.5 - t2new += einsum(v.oovv, (0, 1, 2, 3), t4, (4, 5, 0, 1, 6, 7, 2, 3), (4, 5, 6, 7)) * 0.25 - t2new += einsum(f.ov, (0, 1), t1, (2, 1), t2, (3, 0, 4, 5), (2, 3, 4, 5)) - t2new += einsum(f.ov, (0, 1), t1, (2, 1), t2, (3, 0, 4, 5), (3, 2, 4, 5)) * -1.0 - t2new += einsum(f.ov, (0, 1), t1, (0, 2), t2, (3, 4, 5, 1), (3, 4, 2, 5)) - t2new += einsum(f.ov, (0, 1), t1, (0, 2), t2, (3, 4, 5, 1), (3, 4, 5, 2)) * -1.0 - t2new += einsum(t1, (0, 1), t1, (2, 3), v.oooo, (4, 5, 0, 2), (4, 5, 1, 3)) - t2new += einsum(t1, (0, 1), t1, (2, 3), v.ovov, (4, 1, 2, 5), (0, 4, 3, 5)) - t2new += einsum(t1, (0, 1), t1, (2, 3), v.ovov, (4, 1, 2, 5), (0, 4, 5, 3)) * -1.0 - t2new += einsum(t1, (0, 1), t1, (2, 3), v.ovov, (4, 1, 2, 5), (4, 0, 3, 5)) * -1.0 - t2new += einsum(t1, (0, 1), t1, (2, 3), v.ovov, (4, 1, 2, 5), (4, 0, 5, 3)) - t2new += einsum(t1, (0, 1), t1, (2, 3), v.vvvv, (4, 5, 1, 3), (0, 2, 4, 5)) - t2new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ooov, (2, 3, 6, 1), (0, 6, 4, 5)) * -0.5 - t2new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ooov, (2, 3, 6, 1), (6, 0, 4, 5)) * 0.5 - t2new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ooov, (0, 3, 6, 5), (2, 6, 1, 4)) - t2new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ooov, (0, 3, 6, 5), (6, 2, 1, 4)) * -1.0 - t2new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ooov, (0, 3, 6, 5), (2, 6, 4, 1)) * -1.0 - t2new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ooov, (0, 3, 6, 5), (6, 2, 4, 1)) - t2new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ooov, (0, 3, 6, 1), (2, 6, 4, 5)) - t2new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ooov, (0, 3, 6, 1), (6, 2, 4, 5)) * -1.0 - t2new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ovvv, (3, 6, 1, 5), (0, 2, 6, 4)) * -1.0 - t2new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ovvv, (3, 6, 1, 5), (0, 2, 4, 6)) - t2new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ovvv, (3, 6, 1, 5), (2, 0, 6, 4)) - t2new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ovvv, (3, 6, 1, 5), (2, 0, 4, 6)) * -1.0 - t2new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ovvv, (0, 6, 4, 5), (2, 3, 1, 6)) * -0.5 - t2new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ovvv, (0, 6, 4, 5), (2, 3, 6, 1)) * 0.5 - t2new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ovvv, (0, 6, 1, 5), (2, 3, 6, 4)) * -1.0 - t2new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ovvv, (0, 6, 1, 5), (2, 3, 4, 6)) - t2new += einsum(t1, (0, 1), v.oovv, (2, 3, 1, 4), t3, (5, 2, 3, 6, 7, 4), (0, 5, 6, 7)) * 0.5 - t2new += einsum(t1, (0, 1), v.oovv, (2, 3, 1, 4), t3, (5, 2, 3, 6, 7, 4), (5, 0, 6, 7)) * -0.5 - t2new += einsum(t1, (0, 1), v.oovv, (0, 2, 3, 4), t3, (5, 6, 2, 7, 3, 4), (5, 6, 1, 7)) * 0.5 - t2new += einsum(t1, (0, 1), v.oovv, (0, 2, 3, 4), t3, (5, 6, 2, 7, 3, 4), (5, 6, 7, 1)) * -0.5 - t2new += einsum(t1, (0, 1), v.oovv, (0, 2, 1, 3), t3, (4, 5, 2, 6, 7, 3), (4, 5, 6, 7)) - t2new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.oovv, (1, 5, 3, 7), (0, 4, 2, 6)) - t2new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.oovv, (1, 5, 6, 7), (0, 4, 2, 3)) * -0.5 - t2new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.oovv, (1, 5, 3, 7), (0, 4, 6, 2)) * -1.0 - t2new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.oovv, (1, 5, 2, 3), (0, 4, 6, 7)) * -0.5 - t2new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.oovv, (4, 5, 3, 7), (0, 1, 2, 6)) * -0.5 - t2new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.oovv, (4, 5, 3, 7), (0, 1, 6, 2)) * 0.5 - t2new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.oovv, (4, 5, 2, 3), (0, 1, 6, 7)) * 0.25 - t2new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.ooov, (2, 4, 6, 1), (0, 6, 3, 5)) * -1.0 - t2new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.ooov, (2, 4, 6, 1), (6, 0, 3, 5)) - t2new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.ovvv, (4, 6, 1, 3), (0, 2, 5, 6)) * -1.0 - t2new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.ovvv, (4, 6, 1, 3), (0, 2, 6, 5)) - t2new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.oovv, (4, 5, 1, 3), (0, 2, 6, 7)) * 0.5 - t2new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.oovv, (2, 5, 1, 7), (0, 4, 3, 6)) * -1.0 - t2new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.oovv, (2, 5, 1, 7), (0, 4, 6, 3)) - t2new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.oovv, (2, 5, 1, 3), (0, 4, 6, 7)) * -1.0 - t2new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.oovv, (2, 5, 1, 7), (4, 0, 3, 6)) - t2new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.oovv, (2, 5, 1, 7), (4, 0, 6, 3)) * -1.0 - t2new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.oovv, (2, 5, 1, 3), (4, 0, 6, 7)) - t2new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.oovv, (0, 2, 6, 7), (4, 5, 1, 3)) * 0.5 - t2new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.oovv, (0, 2, 1, 7), (4, 5, 3, 6)) - t2new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.oovv, (0, 2, 1, 7), (4, 5, 6, 3)) * -1.0 - t2new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), t1, (6, 7), v.oovv, (4, 6, 1, 3), (0, 2, 5, 7)) - t3new = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - t3new += einsum(f.oo, (0, 1), t3, (2, 3, 1, 4, 5, 6), (0, 2, 3, 4, 5, 6)) * -1.0 - t3new += einsum(f.oo, (0, 1), t3, (2, 3, 1, 4, 5, 6), (2, 0, 3, 4, 5, 6)) - t3new += einsum(f.oo, (0, 1), t3, (2, 3, 1, 4, 5, 6), (2, 3, 0, 4, 5, 6)) * -1.0 - t3new += einsum(f.vv, (0, 1), t3, (2, 3, 4, 5, 6, 1), (2, 3, 4, 0, 5, 6)) - t3new += einsum(f.vv, (0, 1), t3, (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 0, 6)) * -1.0 - t3new += einsum(f.vv, (0, 1), t3, (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 6, 0)) - t3new += einsum(f.ov, (0, 1), t4, (2, 3, 4, 0, 5, 6, 7, 1), (2, 3, 4, 5, 6, 7)) - t3new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 1, 6), (0, 4, 5, 2, 3, 6)) * -1.0 - t3new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 1, 6), (0, 4, 5, 2, 6, 3)) - t3new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 1, 6), (0, 4, 5, 6, 2, 3)) * -1.0 - t3new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 1, 6), (4, 0, 5, 2, 3, 6)) - t3new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 1, 6), (4, 0, 5, 2, 6, 3)) * -1.0 - t3new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 1, 6), (4, 0, 5, 6, 2, 3)) - t3new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 1, 6), (4, 5, 0, 2, 3, 6)) * -1.0 - t3new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 1, 6), (4, 5, 0, 2, 6, 3)) - t3new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 1, 6), (4, 5, 0, 6, 2, 3)) * -1.0 - t3new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 3, 5, 6), (0, 4, 1, 2, 5, 6)) - t3new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 3, 5, 6), (0, 4, 1, 5, 2, 6)) * -1.0 - t3new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 3, 5, 6), (0, 4, 1, 5, 6, 2)) - t3new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 3, 5, 6), (0, 1, 4, 2, 5, 6)) * -1.0 - t3new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 3, 5, 6), (0, 1, 4, 5, 2, 6)) - t3new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 3, 5, 6), (0, 1, 4, 5, 6, 2)) * -1.0 - t3new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 3, 5, 6), (4, 0, 1, 2, 5, 6)) * -1.0 - t3new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 3, 5, 6), (4, 0, 1, 5, 2, 6)) - t3new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 3, 5, 6), (4, 0, 1, 5, 6, 2)) * -1.0 - t3new += einsum(v.oooo, (0, 1, 2, 3), t3, (4, 2, 3, 5, 6, 7), (0, 1, 4, 5, 6, 7)) * 0.5 - t3new += einsum(v.oooo, (0, 1, 2, 3), t3, (4, 2, 3, 5, 6, 7), (0, 4, 1, 5, 6, 7)) * -0.5 - t3new += einsum(v.oooo, (0, 1, 2, 3), t3, (4, 2, 3, 5, 6, 7), (4, 0, 1, 5, 6, 7)) * 0.5 - t3new += einsum(v.ovov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 1), (0, 4, 5, 3, 6, 7)) * -1.0 - t3new += einsum(v.ovov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 1), (0, 4, 5, 6, 3, 7)) - t3new += einsum(v.ovov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 1), (0, 4, 5, 6, 7, 3)) * -1.0 - t3new += einsum(v.ovov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 1), (4, 0, 5, 3, 6, 7)) - t3new += einsum(v.ovov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 1), (4, 0, 5, 6, 3, 7)) * -1.0 - t3new += einsum(v.ovov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 1), (4, 0, 5, 6, 7, 3)) - t3new += einsum(v.ovov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 1), (4, 5, 0, 3, 6, 7)) * -1.0 - t3new += einsum(v.ovov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 1), (4, 5, 0, 6, 3, 7)) - t3new += einsum(v.ovov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 1), (4, 5, 0, 6, 7, 3)) * -1.0 - t3new += einsum(v.vvvv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 2, 3), (4, 5, 6, 0, 1, 7)) * 0.5 - t3new += einsum(v.vvvv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 2, 3), (4, 5, 6, 0, 7, 1)) * -0.5 - t3new += einsum(v.vvvv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 2, 3), (4, 5, 6, 7, 0, 1)) * 0.5 - t3new += einsum(v.ooov, (0, 1, 2, 3), t4, (4, 5, 0, 1, 6, 7, 8, 3), (2, 4, 5, 6, 7, 8)) * -0.5 - t3new += einsum(v.ooov, (0, 1, 2, 3), t4, (4, 5, 0, 1, 6, 7, 8, 3), (4, 2, 5, 6, 7, 8)) * 0.5 - t3new += einsum(v.ooov, (0, 1, 2, 3), t4, (4, 5, 0, 1, 6, 7, 8, 3), (4, 5, 2, 6, 7, 8)) * -0.5 - t3new += einsum(v.ovvv, (0, 1, 2, 3), t4, (4, 5, 6, 0, 7, 8, 2, 3), (4, 5, 6, 1, 7, 8)) * -0.5 - t3new += einsum(v.ovvv, (0, 1, 2, 3), t4, (4, 5, 6, 0, 7, 8, 2, 3), (4, 5, 6, 7, 1, 8)) * 0.5 - t3new += einsum(v.ovvv, (0, 1, 2, 3), t4, (4, 5, 6, 0, 7, 8, 2, 3), (4, 5, 6, 7, 8, 1)) * -0.5 - t3new += einsum(f.ov, (0, 1), t1, (2, 1), t3, (3, 4, 0, 5, 6, 7), (2, 3, 4, 5, 6, 7)) * -1.0 - t3new += einsum(f.ov, (0, 1), t1, (2, 1), t3, (3, 4, 0, 5, 6, 7), (3, 2, 4, 5, 6, 7)) - t3new += einsum(f.ov, (0, 1), t1, (2, 1), t3, (3, 4, 0, 5, 6, 7), (3, 4, 2, 5, 6, 7)) * -1.0 - t3new += einsum(f.ov, (0, 1), t1, (0, 2), t3, (3, 4, 5, 6, 7, 1), (3, 4, 5, 2, 6, 7)) * -1.0 - t3new += einsum(f.ov, (0, 1), t1, (0, 2), t3, (3, 4, 5, 6, 7, 1), (3, 4, 5, 6, 2, 7)) - t3new += einsum(f.ov, (0, 1), t1, (0, 2), t3, (3, 4, 5, 6, 7, 1), (3, 4, 5, 6, 7, 2)) * -1.0 - t3new += einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), t2, (5, 0, 6, 7), (2, 5, 3, 4, 6, 7)) * -1.0 - t3new += einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), t2, (5, 0, 6, 7), (2, 5, 3, 6, 4, 7)) - t3new += einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), t2, (5, 0, 6, 7), (2, 5, 3, 6, 7, 4)) * -1.0 - t3new += einsum(f.ov, (0, 1), t2, (2, 0, 3, 4), t2, (5, 6, 7, 1), (2, 5, 6, 3, 7, 4)) * -1.0 - t3new += einsum(f.ov, (0, 1), t2, (2, 0, 3, 4), t2, (5, 6, 7, 1), (2, 5, 6, 3, 4, 7)) - t3new += einsum(f.ov, (0, 1), t2, (2, 0, 3, 4), t2, (5, 6, 7, 1), (2, 5, 6, 7, 3, 4)) - t3new += einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), t2, (5, 0, 6, 7), (2, 3, 5, 4, 6, 7)) - t3new += einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), t2, (5, 0, 6, 7), (2, 3, 5, 6, 4, 7)) * -1.0 - t3new += einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), t2, (5, 0, 6, 7), (2, 3, 5, 6, 7, 4)) - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oooo, (6, 7, 0, 3), (2, 6, 7, 1, 4, 5)) * -1.0 - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oooo, (6, 7, 0, 3), (6, 2, 7, 1, 4, 5)) - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oooo, (6, 7, 0, 3), (6, 7, 2, 1, 4, 5)) * -1.0 - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oooo, (6, 7, 0, 3), (2, 6, 7, 4, 1, 5)) - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oooo, (6, 7, 0, 3), (6, 2, 7, 4, 1, 5)) * -1.0 - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oooo, (6, 7, 0, 3), (6, 7, 2, 4, 1, 5)) - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oooo, (6, 7, 0, 3), (2, 6, 7, 4, 5, 1)) * -1.0 - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oooo, (6, 7, 0, 3), (6, 2, 7, 4, 5, 1)) - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oooo, (6, 7, 0, 3), (6, 7, 2, 4, 5, 1)) * -1.0 - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ovov, (6, 1, 3, 7), (0, 2, 6, 4, 5, 7)) * -1.0 - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ovov, (6, 1, 3, 7), (0, 2, 6, 4, 7, 5)) - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ovov, (6, 1, 3, 7), (0, 2, 6, 7, 4, 5)) * -1.0 - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ovov, (6, 1, 3, 7), (0, 6, 2, 4, 5, 7)) - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ovov, (6, 1, 3, 7), (0, 6, 2, 4, 7, 5)) * -1.0 - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ovov, (6, 1, 3, 7), (0, 6, 2, 7, 4, 5)) - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ovov, (6, 1, 3, 7), (2, 0, 6, 4, 5, 7)) - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ovov, (6, 1, 3, 7), (2, 0, 6, 4, 7, 5)) * -1.0 - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ovov, (6, 1, 3, 7), (2, 0, 6, 7, 4, 5)) - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ovov, (6, 1, 3, 7), (6, 0, 2, 4, 5, 7)) * -1.0 - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ovov, (6, 1, 3, 7), (6, 0, 2, 4, 7, 5)) - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ovov, (6, 1, 3, 7), (6, 0, 2, 7, 4, 5)) * -1.0 - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ovov, (6, 1, 3, 7), (2, 6, 0, 4, 5, 7)) * -1.0 - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ovov, (6, 1, 3, 7), (2, 6, 0, 4, 7, 5)) - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ovov, (6, 1, 3, 7), (2, 6, 0, 7, 4, 5)) * -1.0 - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ovov, (6, 1, 3, 7), (6, 2, 0, 4, 5, 7)) - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ovov, (6, 1, 3, 7), (6, 2, 0, 4, 7, 5)) * -1.0 - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ovov, (6, 1, 3, 7), (6, 2, 0, 7, 4, 5)) - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ovov, (6, 5, 0, 7), (2, 6, 3, 1, 4, 7)) - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ovov, (6, 5, 0, 7), (2, 6, 3, 1, 7, 4)) * -1.0 - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ovov, (6, 5, 0, 7), (2, 3, 6, 1, 4, 7)) * -1.0 - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ovov, (6, 5, 0, 7), (2, 3, 6, 1, 7, 4)) - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ovov, (6, 5, 0, 7), (6, 2, 3, 1, 4, 7)) * -1.0 - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ovov, (6, 5, 0, 7), (6, 2, 3, 1, 7, 4)) - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ovov, (6, 5, 0, 7), (2, 6, 3, 4, 1, 7)) * -1.0 - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ovov, (6, 5, 0, 7), (2, 6, 3, 7, 1, 4)) - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ovov, (6, 5, 0, 7), (2, 3, 6, 4, 1, 7)) - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ovov, (6, 5, 0, 7), (2, 3, 6, 7, 1, 4)) * -1.0 - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ovov, (6, 5, 0, 7), (6, 2, 3, 4, 1, 7)) - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ovov, (6, 5, 0, 7), (6, 2, 3, 7, 1, 4)) * -1.0 - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ovov, (6, 5, 0, 7), (2, 6, 3, 4, 7, 1)) - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ovov, (6, 5, 0, 7), (2, 6, 3, 7, 4, 1)) * -1.0 - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ovov, (6, 5, 0, 7), (2, 3, 6, 4, 7, 1)) * -1.0 - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ovov, (6, 5, 0, 7), (2, 3, 6, 7, 4, 1)) - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ovov, (6, 5, 0, 7), (6, 2, 3, 4, 7, 1)) * -1.0 - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ovov, (6, 5, 0, 7), (6, 2, 3, 7, 4, 1)) - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.vvvv, (6, 7, 1, 5), (0, 2, 3, 6, 7, 4)) * -1.0 - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.vvvv, (6, 7, 1, 5), (0, 2, 3, 6, 4, 7)) - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.vvvv, (6, 7, 1, 5), (0, 2, 3, 4, 6, 7)) * -1.0 - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.vvvv, (6, 7, 1, 5), (2, 0, 3, 6, 7, 4)) - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.vvvv, (6, 7, 1, 5), (2, 0, 3, 6, 4, 7)) * -1.0 - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.vvvv, (6, 7, 1, 5), (2, 0, 3, 4, 6, 7)) - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.vvvv, (6, 7, 1, 5), (2, 3, 0, 6, 7, 4)) * -1.0 - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.vvvv, (6, 7, 1, 5), (2, 3, 0, 6, 4, 7)) - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.vvvv, (6, 7, 1, 5), (2, 3, 0, 4, 6, 7)) * -1.0 - t3new += einsum(t1, (0, 1), v.ooov, (2, 3, 4, 1), t3, (5, 2, 3, 6, 7, 8), (0, 4, 5, 6, 7, 8)) * -0.5 - t3new += einsum(t1, (0, 1), v.ooov, (2, 3, 4, 1), t3, (5, 2, 3, 6, 7, 8), (0, 5, 4, 6, 7, 8)) * 0.5 - t3new += einsum(t1, (0, 1), v.ooov, (2, 3, 4, 1), t3, (5, 2, 3, 6, 7, 8), (4, 0, 5, 6, 7, 8)) * 0.5 - t3new += einsum(t1, (0, 1), v.ooov, (2, 3, 4, 1), t3, (5, 2, 3, 6, 7, 8), (5, 0, 4, 6, 7, 8)) * -0.5 - t3new += einsum(t1, (0, 1), v.ooov, (2, 3, 4, 1), t3, (5, 2, 3, 6, 7, 8), (4, 5, 0, 6, 7, 8)) * -0.5 - t3new += einsum(t1, (0, 1), v.ooov, (2, 3, 4, 1), t3, (5, 2, 3, 6, 7, 8), (5, 4, 0, 6, 7, 8)) * 0.5 - t3new += einsum(t1, (0, 1), v.ooov, (0, 2, 3, 4), t3, (5, 6, 2, 7, 8, 4), (3, 5, 6, 1, 7, 8)) * -1.0 - t3new += einsum(t1, (0, 1), v.ooov, (0, 2, 3, 4), t3, (5, 6, 2, 7, 8, 4), (5, 3, 6, 1, 7, 8)) - t3new += einsum(t1, (0, 1), v.ooov, (0, 2, 3, 4), t3, (5, 6, 2, 7, 8, 4), (5, 6, 3, 1, 7, 8)) * -1.0 - t3new += einsum(t1, (0, 1), v.ooov, (0, 2, 3, 4), t3, (5, 6, 2, 7, 8, 4), (3, 5, 6, 7, 1, 8)) - t3new += einsum(t1, (0, 1), v.ooov, (0, 2, 3, 4), t3, (5, 6, 2, 7, 8, 4), (5, 3, 6, 7, 1, 8)) * -1.0 - t3new += einsum(t1, (0, 1), v.ooov, (0, 2, 3, 4), t3, (5, 6, 2, 7, 8, 4), (5, 6, 3, 7, 1, 8)) - t3new += einsum(t1, (0, 1), v.ooov, (0, 2, 3, 4), t3, (5, 6, 2, 7, 8, 4), (3, 5, 6, 7, 8, 1)) * -1.0 - t3new += einsum(t1, (0, 1), v.ooov, (0, 2, 3, 4), t3, (5, 6, 2, 7, 8, 4), (5, 3, 6, 7, 8, 1)) - t3new += einsum(t1, (0, 1), v.ooov, (0, 2, 3, 4), t3, (5, 6, 2, 7, 8, 4), (5, 6, 3, 7, 8, 1)) * -1.0 - t3new += einsum(t1, (0, 1), v.ooov, (0, 2, 3, 1), t3, (4, 5, 2, 6, 7, 8), (3, 4, 5, 6, 7, 8)) - t3new += einsum(t1, (0, 1), v.ooov, (0, 2, 3, 1), t3, (4, 5, 2, 6, 7, 8), (4, 3, 5, 6, 7, 8)) * -1.0 - t3new += einsum(t1, (0, 1), v.ooov, (0, 2, 3, 1), t3, (4, 5, 2, 6, 7, 8), (4, 5, 3, 6, 7, 8)) - t3new += einsum(t1, (0, 1), v.ovvv, (2, 3, 1, 4), t3, (5, 6, 2, 7, 8, 4), (0, 5, 6, 3, 7, 8)) * -1.0 - t3new += einsum(t1, (0, 1), v.ovvv, (2, 3, 1, 4), t3, (5, 6, 2, 7, 8, 4), (0, 5, 6, 7, 3, 8)) - t3new += einsum(t1, (0, 1), v.ovvv, (2, 3, 1, 4), t3, (5, 6, 2, 7, 8, 4), (0, 5, 6, 7, 8, 3)) * -1.0 - t3new += einsum(t1, (0, 1), v.ovvv, (2, 3, 1, 4), t3, (5, 6, 2, 7, 8, 4), (5, 0, 6, 3, 7, 8)) - t3new += einsum(t1, (0, 1), v.ovvv, (2, 3, 1, 4), t3, (5, 6, 2, 7, 8, 4), (5, 0, 6, 7, 3, 8)) * -1.0 - t3new += einsum(t1, (0, 1), v.ovvv, (2, 3, 1, 4), t3, (5, 6, 2, 7, 8, 4), (5, 0, 6, 7, 8, 3)) - t3new += einsum(t1, (0, 1), v.ovvv, (2, 3, 1, 4), t3, (5, 6, 2, 7, 8, 4), (5, 6, 0, 3, 7, 8)) * -1.0 - t3new += einsum(t1, (0, 1), v.ovvv, (2, 3, 1, 4), t3, (5, 6, 2, 7, 8, 4), (5, 6, 0, 7, 3, 8)) - t3new += einsum(t1, (0, 1), v.ovvv, (2, 3, 1, 4), t3, (5, 6, 2, 7, 8, 4), (5, 6, 0, 7, 8, 3)) * -1.0 - t3new += einsum(t1, (0, 1), v.ovvv, (0, 2, 3, 4), t3, (5, 6, 7, 8, 3, 4), (5, 6, 7, 1, 2, 8)) * -0.5 - t3new += einsum(t1, (0, 1), v.ovvv, (0, 2, 3, 4), t3, (5, 6, 7, 8, 3, 4), (5, 6, 7, 1, 8, 2)) * 0.5 - t3new += einsum(t1, (0, 1), v.ovvv, (0, 2, 3, 4), t3, (5, 6, 7, 8, 3, 4), (5, 6, 7, 2, 1, 8)) * 0.5 - t3new += einsum(t1, (0, 1), v.ovvv, (0, 2, 3, 4), t3, (5, 6, 7, 8, 3, 4), (5, 6, 7, 8, 1, 2)) * -0.5 - t3new += einsum(t1, (0, 1), v.ovvv, (0, 2, 3, 4), t3, (5, 6, 7, 8, 3, 4), (5, 6, 7, 2, 8, 1)) * -0.5 - t3new += einsum(t1, (0, 1), v.ovvv, (0, 2, 3, 4), t3, (5, 6, 7, 8, 3, 4), (5, 6, 7, 8, 2, 1)) * 0.5 - t3new += einsum(t1, (0, 1), v.ovvv, (0, 2, 1, 3), t3, (4, 5, 6, 7, 8, 3), (4, 5, 6, 2, 7, 8)) - t3new += einsum(t1, (0, 1), v.ovvv, (0, 2, 1, 3), t3, (4, 5, 6, 7, 8, 3), (4, 5, 6, 7, 2, 8)) * -1.0 - t3new += einsum(t1, (0, 1), v.ovvv, (0, 2, 1, 3), t3, (4, 5, 6, 7, 8, 3), (4, 5, 6, 7, 8, 2)) - t3new += einsum(t1, (0, 1), v.oovv, (2, 3, 1, 4), t4, (5, 6, 2, 3, 7, 8, 9, 4), (0, 5, 6, 7, 8, 9)) * -0.5 - t3new += einsum(t1, (0, 1), v.oovv, (2, 3, 1, 4), t4, (5, 6, 2, 3, 7, 8, 9, 4), (5, 0, 6, 7, 8, 9)) * 0.5 - t3new += einsum(t1, (0, 1), v.oovv, (2, 3, 1, 4), t4, (5, 6, 2, 3, 7, 8, 9, 4), (5, 6, 0, 7, 8, 9)) * -0.5 - t3new += einsum(t1, (0, 1), v.oovv, (0, 2, 3, 4), t4, (5, 6, 7, 2, 8, 9, 3, 4), (5, 6, 7, 1, 8, 9)) * -0.5 - t3new += einsum(t1, (0, 1), v.oovv, (0, 2, 3, 4), t4, (5, 6, 7, 2, 8, 9, 3, 4), (5, 6, 7, 8, 1, 9)) * 0.5 - t3new += einsum(t1, (0, 1), v.oovv, (0, 2, 3, 4), t4, (5, 6, 7, 2, 8, 9, 3, 4), (5, 6, 7, 8, 9, 1)) * -0.5 - t3new += einsum(t1, (0, 1), v.oovv, (0, 2, 1, 3), t4, (4, 5, 6, 2, 7, 8, 9, 3), (4, 5, 6, 7, 8, 9)) - t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ooov, (1, 5, 8, 7), (0, 4, 8, 2, 6, 3)) * -1.0 - t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ooov, (1, 5, 8, 3), (0, 4, 8, 2, 6, 7)) - t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ooov, (1, 5, 8, 7), (0, 4, 8, 2, 3, 6)) - t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ooov, (1, 5, 8, 7), (0, 4, 8, 6, 2, 3)) - t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ooov, (1, 5, 8, 3), (0, 4, 8, 6, 2, 7)) * -1.0 - t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ooov, (1, 5, 8, 3), (0, 4, 8, 6, 7, 2)) - t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ooov, (1, 5, 8, 7), (0, 8, 4, 2, 6, 3)) - t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ooov, (1, 5, 8, 3), (0, 8, 4, 2, 6, 7)) * -1.0 - t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ooov, (1, 5, 8, 7), (0, 8, 4, 2, 3, 6)) * -1.0 - t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ooov, (1, 5, 8, 7), (0, 8, 4, 6, 2, 3)) * -1.0 - t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ooov, (1, 5, 8, 3), (0, 8, 4, 6, 2, 7)) - t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ooov, (1, 5, 8, 3), (0, 8, 4, 6, 7, 2)) * -1.0 - t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ooov, (4, 5, 8, 3), (0, 1, 8, 2, 6, 7)) * -0.5 - t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ooov, (4, 5, 8, 3), (0, 1, 8, 6, 2, 7)) * 0.5 - t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ooov, (4, 5, 8, 3), (0, 1, 8, 6, 7, 2)) * -0.5 - t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ooov, (4, 5, 8, 3), (0, 8, 1, 2, 6, 7)) * 0.5 - t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ooov, (4, 5, 8, 3), (0, 8, 1, 6, 2, 7)) * -0.5 - t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ooov, (4, 5, 8, 3), (0, 8, 1, 6, 7, 2)) * 0.5 - t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ooov, (1, 5, 8, 7), (8, 0, 4, 2, 6, 3)) * -1.0 - t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ooov, (1, 5, 8, 3), (8, 0, 4, 2, 6, 7)) - t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ooov, (1, 5, 8, 7), (8, 0, 4, 2, 3, 6)) - t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ooov, (1, 5, 8, 7), (8, 0, 4, 6, 2, 3)) - t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ooov, (1, 5, 8, 3), (8, 0, 4, 6, 2, 7)) * -1.0 - t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ooov, (1, 5, 8, 3), (8, 0, 4, 6, 7, 2)) - t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ooov, (4, 5, 8, 3), (8, 0, 1, 2, 6, 7)) * -0.5 - t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ooov, (4, 5, 8, 3), (8, 0, 1, 6, 2, 7)) * 0.5 - t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ooov, (4, 5, 8, 3), (8, 0, 1, 6, 7, 2)) * -0.5 - t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovvv, (5, 8, 3, 7), (0, 4, 1, 8, 2, 6)) * -1.0 - t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovvv, (5, 8, 3, 7), (0, 4, 1, 8, 6, 2)) - t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovvv, (5, 8, 2, 3), (0, 4, 1, 8, 6, 7)) * 0.5 - t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovvv, (5, 8, 3, 7), (0, 4, 1, 2, 8, 6)) - t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovvv, (5, 8, 3, 7), (0, 4, 1, 6, 8, 2)) * -1.0 - t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovvv, (5, 8, 2, 3), (0, 4, 1, 6, 8, 7)) * -0.5 - t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovvv, (5, 8, 3, 7), (0, 4, 1, 2, 6, 8)) * -1.0 - t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovvv, (5, 8, 3, 7), (0, 4, 1, 6, 2, 8)) - t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovvv, (5, 8, 2, 3), (0, 4, 1, 6, 7, 8)) * 0.5 - t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovvv, (1, 8, 3, 7), (0, 4, 5, 8, 2, 6)) - t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovvv, (1, 8, 6, 7), (0, 4, 5, 8, 2, 3)) * -0.5 - t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovvv, (1, 8, 3, 7), (0, 4, 5, 8, 6, 2)) * -1.0 - t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovvv, (1, 8, 3, 7), (0, 4, 5, 2, 8, 6)) * -1.0 - t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovvv, (1, 8, 6, 7), (0, 4, 5, 2, 8, 3)) * 0.5 - t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovvv, (1, 8, 3, 7), (0, 4, 5, 6, 8, 2)) - t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovvv, (1, 8, 3, 7), (0, 4, 5, 2, 6, 8)) - t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovvv, (1, 8, 6, 7), (0, 4, 5, 2, 3, 8)) * -0.5 - t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovvv, (1, 8, 3, 7), (0, 4, 5, 6, 2, 8)) * -1.0 - t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovvv, (5, 8, 3, 7), (0, 1, 4, 8, 2, 6)) - t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovvv, (5, 8, 3, 7), (0, 1, 4, 8, 6, 2)) * -1.0 - t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovvv, (5, 8, 2, 3), (0, 1, 4, 8, 6, 7)) * -0.5 - t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovvv, (5, 8, 3, 7), (0, 1, 4, 2, 8, 6)) * -1.0 - t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovvv, (5, 8, 3, 7), (0, 1, 4, 6, 8, 2)) - t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovvv, (5, 8, 2, 3), (0, 1, 4, 6, 8, 7)) * 0.5 - t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovvv, (5, 8, 3, 7), (0, 1, 4, 2, 6, 8)) - t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovvv, (5, 8, 3, 7), (0, 1, 4, 6, 2, 8)) * -1.0 - t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovvv, (5, 8, 2, 3), (0, 1, 4, 6, 7, 8)) * -0.5 - t3new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 3, 6), t3, (7, 4, 5, 8, 9, 6), (0, 1, 7, 2, 8, 9)) * 0.5 - t3new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 3, 6), t3, (7, 4, 5, 8, 9, 6), (0, 1, 7, 8, 2, 9)) * -0.5 - t3new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 3, 6), t3, (7, 4, 5, 8, 9, 6), (0, 1, 7, 8, 9, 2)) * 0.5 - t3new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 2, 3), t3, (6, 4, 5, 7, 8, 9), (0, 1, 6, 7, 8, 9)) * 0.25 - t3new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 3, 6), t3, (7, 4, 5, 8, 9, 6), (0, 7, 1, 2, 8, 9)) * -0.5 - t3new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 3, 6), t3, (7, 4, 5, 8, 9, 6), (0, 7, 1, 8, 2, 9)) * 0.5 - t3new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 3, 6), t3, (7, 4, 5, 8, 9, 6), (0, 7, 1, 8, 9, 2)) * -0.5 - t3new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 2, 3), t3, (6, 4, 5, 7, 8, 9), (0, 6, 1, 7, 8, 9)) * -0.25 - t3new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 5, 6), t3, (7, 8, 4, 9, 5, 6), (0, 7, 8, 2, 3, 9)) * 0.5 - t3new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 5, 6), t3, (7, 8, 4, 9, 5, 6), (0, 7, 8, 2, 9, 3)) * -0.5 - t3new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 3, 5), t3, (6, 7, 4, 8, 9, 5), (0, 6, 7, 2, 8, 9)) - t3new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 5, 6), t3, (7, 8, 4, 9, 5, 6), (0, 7, 8, 9, 2, 3)) * 0.5 - t3new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 3, 5), t3, (6, 7, 4, 8, 9, 5), (0, 6, 7, 8, 2, 9)) * -1.0 - t3new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 3, 5), t3, (6, 7, 4, 8, 9, 5), (0, 6, 7, 8, 9, 2)) - t3new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 2, 3), t3, (5, 6, 4, 7, 8, 9), (0, 5, 6, 7, 8, 9)) * 0.5 - t3new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 3, 6), t3, (7, 4, 5, 8, 9, 6), (7, 0, 1, 2, 8, 9)) * 0.5 - t3new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 3, 6), t3, (7, 4, 5, 8, 9, 6), (7, 0, 1, 8, 2, 9)) * -0.5 - t3new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 3, 6), t3, (7, 4, 5, 8, 9, 6), (7, 0, 1, 8, 9, 2)) * 0.5 - t3new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 2, 3), t3, (6, 4, 5, 7, 8, 9), (6, 0, 1, 7, 8, 9)) * 0.25 - t3new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 5, 6), t3, (7, 8, 4, 9, 5, 6), (7, 0, 8, 2, 3, 9)) * -0.5 - t3new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 5, 6), t3, (7, 8, 4, 9, 5, 6), (7, 0, 8, 2, 9, 3)) * 0.5 - t3new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 3, 5), t3, (6, 7, 4, 8, 9, 5), (6, 0, 7, 2, 8, 9)) * -1.0 - t3new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 5, 6), t3, (7, 8, 4, 9, 5, 6), (7, 0, 8, 9, 2, 3)) * -0.5 - t3new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 3, 5), t3, (6, 7, 4, 8, 9, 5), (6, 0, 7, 8, 2, 9)) - t3new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 3, 5), t3, (6, 7, 4, 8, 9, 5), (6, 0, 7, 8, 9, 2)) * -1.0 - t3new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 2, 3), t3, (5, 6, 4, 7, 8, 9), (5, 0, 6, 7, 8, 9)) * -0.5 - t3new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 5, 6), t3, (7, 8, 4, 9, 5, 6), (7, 8, 0, 2, 3, 9)) * 0.5 - t3new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 5, 6), t3, (7, 8, 4, 9, 5, 6), (7, 8, 0, 2, 9, 3)) * -0.5 - t3new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 3, 5), t3, (6, 7, 4, 8, 9, 5), (6, 7, 0, 2, 8, 9)) - t3new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 5, 6), t3, (7, 8, 4, 9, 5, 6), (7, 8, 0, 9, 2, 3)) * 0.5 - t3new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 3, 5), t3, (6, 7, 4, 8, 9, 5), (6, 7, 0, 8, 2, 9)) * -1.0 - t3new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 3, 5), t3, (6, 7, 4, 8, 9, 5), (6, 7, 0, 8, 9, 2)) - t3new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 2, 3), t3, (5, 6, 4, 7, 8, 9), (5, 6, 0, 7, 8, 9)) * 0.5 - t3new += einsum(t2, (0, 1, 2, 3), v.oovv, (0, 1, 4, 5), t3, (6, 7, 8, 9, 4, 5), (6, 7, 8, 2, 3, 9)) * 0.25 - t3new += einsum(t2, (0, 1, 2, 3), v.oovv, (0, 1, 4, 5), t3, (6, 7, 8, 9, 4, 5), (6, 7, 8, 2, 9, 3)) * -0.25 - t3new += einsum(t2, (0, 1, 2, 3), v.oovv, (0, 1, 3, 4), t3, (5, 6, 7, 8, 9, 4), (5, 6, 7, 2, 8, 9)) * 0.5 - t3new += einsum(t2, (0, 1, 2, 3), v.oovv, (0, 1, 4, 5), t3, (6, 7, 8, 9, 4, 5), (6, 7, 8, 9, 2, 3)) * 0.25 - t3new += einsum(t2, (0, 1, 2, 3), v.oovv, (0, 1, 3, 4), t3, (5, 6, 7, 8, 9, 4), (5, 6, 7, 8, 2, 9)) * -0.5 - t3new += einsum(t2, (0, 1, 2, 3), v.oovv, (0, 1, 3, 4), t3, (5, 6, 7, 8, 9, 4), (5, 6, 7, 8, 9, 2)) * 0.5 - t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ooov, (2, 5, 8, 1), (0, 4, 8, 3, 6, 7)) * -1.0 - t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ooov, (2, 5, 8, 1), (0, 8, 4, 3, 6, 7)) - t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ooov, (2, 5, 8, 1), (0, 4, 8, 6, 3, 7)) - t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ooov, (2, 5, 8, 1), (0, 8, 4, 6, 3, 7)) * -1.0 - t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ooov, (2, 5, 8, 1), (0, 4, 8, 6, 7, 3)) * -1.0 - t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ooov, (2, 5, 8, 1), (0, 8, 4, 6, 7, 3)) - t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ooov, (2, 5, 8, 1), (4, 0, 8, 3, 6, 7)) - t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ooov, (2, 5, 8, 1), (8, 0, 4, 3, 6, 7)) * -1.0 - t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ooov, (2, 5, 8, 1), (4, 0, 8, 6, 3, 7)) * -1.0 - t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ooov, (2, 5, 8, 1), (8, 0, 4, 6, 3, 7)) - t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ooov, (2, 5, 8, 1), (4, 0, 8, 6, 7, 3)) - t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ooov, (2, 5, 8, 1), (8, 0, 4, 6, 7, 3)) * -1.0 - t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ooov, (2, 5, 8, 1), (4, 8, 0, 3, 6, 7)) * -1.0 - t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ooov, (2, 5, 8, 1), (8, 4, 0, 3, 6, 7)) - t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ooov, (2, 5, 8, 1), (4, 8, 0, 6, 3, 7)) - t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ooov, (2, 5, 8, 1), (8, 4, 0, 6, 3, 7)) * -1.0 - t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ooov, (2, 5, 8, 1), (4, 8, 0, 6, 7, 3)) * -1.0 - t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ooov, (2, 5, 8, 1), (8, 4, 0, 6, 7, 3)) - t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ooov, (0, 2, 8, 7), (4, 5, 8, 1, 3, 6)) * -1.0 - t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ooov, (0, 2, 8, 7), (4, 8, 5, 1, 3, 6)) - t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ooov, (0, 2, 8, 7), (8, 4, 5, 1, 3, 6)) * -1.0 - t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ooov, (0, 2, 8, 7), (4, 5, 8, 1, 6, 3)) - t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ooov, (0, 2, 8, 7), (4, 8, 5, 1, 6, 3)) * -1.0 - t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ooov, (0, 2, 8, 7), (8, 4, 5, 1, 6, 3)) - t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ooov, (0, 2, 8, 7), (4, 5, 8, 6, 1, 3)) * -1.0 - t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ooov, (0, 2, 8, 7), (4, 8, 5, 6, 1, 3)) - t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ooov, (0, 2, 8, 7), (8, 4, 5, 6, 1, 3)) * -1.0 - t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ovvv, (5, 8, 1, 3), (0, 2, 4, 8, 6, 7)) * -1.0 - t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ovvv, (5, 8, 1, 3), (0, 2, 4, 6, 8, 7)) - t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ovvv, (5, 8, 1, 3), (0, 2, 4, 6, 7, 8)) * -1.0 - t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ovvv, (5, 8, 1, 3), (0, 4, 2, 8, 6, 7)) - t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ovvv, (5, 8, 1, 3), (0, 4, 2, 6, 8, 7)) * -1.0 - t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ovvv, (5, 8, 1, 3), (0, 4, 2, 6, 7, 8)) - t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ovvv, (2, 8, 1, 7), (0, 4, 5, 3, 8, 6)) - t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ovvv, (2, 8, 1, 7), (0, 4, 5, 3, 6, 8)) * -1.0 - t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ovvv, (2, 8, 1, 7), (0, 4, 5, 8, 3, 6)) * -1.0 - t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ovvv, (2, 8, 1, 7), (0, 4, 5, 6, 3, 8)) - t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ovvv, (2, 8, 1, 7), (0, 4, 5, 8, 6, 3)) - t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ovvv, (2, 8, 1, 7), (0, 4, 5, 6, 8, 3)) * -1.0 - t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ovvv, (5, 8, 1, 3), (4, 0, 2, 8, 6, 7)) * -1.0 - t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ovvv, (5, 8, 1, 3), (4, 0, 2, 6, 8, 7)) - t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ovvv, (5, 8, 1, 3), (4, 0, 2, 6, 7, 8)) * -1.0 - t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ovvv, (2, 8, 1, 7), (4, 0, 5, 3, 8, 6)) * -1.0 - t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ovvv, (2, 8, 1, 7), (4, 0, 5, 3, 6, 8)) - t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ovvv, (2, 8, 1, 7), (4, 0, 5, 8, 3, 6)) - t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ovvv, (2, 8, 1, 7), (4, 0, 5, 6, 3, 8)) * -1.0 - t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ovvv, (2, 8, 1, 7), (4, 0, 5, 8, 6, 3)) * -1.0 - t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ovvv, (2, 8, 1, 7), (4, 0, 5, 6, 8, 3)) - t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ovvv, (2, 8, 1, 7), (4, 5, 0, 3, 8, 6)) - t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ovvv, (2, 8, 1, 7), (4, 5, 0, 3, 6, 8)) * -1.0 - t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ovvv, (2, 8, 1, 7), (4, 5, 0, 8, 3, 6)) * -1.0 - t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ovvv, (2, 8, 1, 7), (4, 5, 0, 6, 3, 8)) - t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ovvv, (2, 8, 1, 7), (4, 5, 0, 8, 6, 3)) - t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ovvv, (2, 8, 1, 7), (4, 5, 0, 6, 8, 3)) * -1.0 - t3new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (4, 5, 1, 3), t3, (6, 4, 5, 7, 8, 9), (0, 2, 6, 7, 8, 9)) * 0.5 - t3new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (4, 5, 1, 3), t3, (6, 4, 5, 7, 8, 9), (0, 6, 2, 7, 8, 9)) * -0.5 - t3new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (2, 4, 1, 5), t3, (6, 7, 4, 8, 9, 5), (0, 6, 7, 3, 8, 9)) * -1.0 - t3new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (2, 4, 1, 5), t3, (6, 7, 4, 8, 9, 5), (0, 6, 7, 8, 3, 9)) - t3new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (2, 4, 1, 5), t3, (6, 7, 4, 8, 9, 5), (0, 6, 7, 8, 9, 3)) * -1.0 - t3new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (2, 4, 1, 3), t3, (5, 6, 4, 7, 8, 9), (0, 5, 6, 7, 8, 9)) - t3new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (4, 5, 1, 3), t3, (6, 4, 5, 7, 8, 9), (6, 0, 2, 7, 8, 9)) * 0.5 - t3new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (2, 4, 1, 5), t3, (6, 7, 4, 8, 9, 5), (6, 0, 7, 3, 8, 9)) - t3new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (2, 4, 1, 5), t3, (6, 7, 4, 8, 9, 5), (6, 0, 7, 8, 3, 9)) * -1.0 - t3new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (2, 4, 1, 5), t3, (6, 7, 4, 8, 9, 5), (6, 0, 7, 8, 9, 3)) - t3new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (2, 4, 1, 3), t3, (5, 6, 4, 7, 8, 9), (5, 0, 6, 7, 8, 9)) * -1.0 - t3new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (2, 4, 1, 5), t3, (6, 7, 4, 8, 9, 5), (6, 7, 0, 3, 8, 9)) * -1.0 - t3new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (2, 4, 1, 5), t3, (6, 7, 4, 8, 9, 5), (6, 7, 0, 8, 3, 9)) - t3new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (2, 4, 1, 5), t3, (6, 7, 4, 8, 9, 5), (6, 7, 0, 8, 9, 3)) * -1.0 - t3new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (2, 4, 1, 3), t3, (5, 6, 4, 7, 8, 9), (5, 6, 0, 7, 8, 9)) - t3new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (0, 2, 4, 5), t3, (6, 7, 8, 9, 4, 5), (6, 7, 8, 1, 3, 9)) * 0.5 - t3new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (0, 2, 4, 5), t3, (6, 7, 8, 9, 4, 5), (6, 7, 8, 1, 9, 3)) * -0.5 - t3new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (0, 2, 4, 5), t3, (6, 7, 8, 9, 4, 5), (6, 7, 8, 9, 1, 3)) * 0.5 - t3new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (0, 2, 1, 4), t3, (5, 6, 7, 8, 9, 4), (5, 6, 7, 3, 8, 9)) * -1.0 - t3new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (0, 2, 1, 4), t3, (5, 6, 7, 8, 9, 4), (5, 6, 7, 8, 3, 9)) - t3new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (0, 2, 1, 4), t3, (5, 6, 7, 8, 9, 4), (5, 6, 7, 8, 9, 3)) * -1.0 - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (3, 7, 1, 9), (0, 2, 6, 4, 8, 5)) * -1.0 - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (3, 7, 1, 5), (0, 2, 6, 4, 8, 9)) - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (3, 7, 1, 9), (0, 2, 6, 4, 5, 8)) - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (3, 7, 1, 9), (0, 2, 6, 8, 4, 5)) - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (3, 7, 1, 5), (0, 2, 6, 8, 4, 9)) * -1.0 - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (3, 7, 1, 5), (0, 2, 6, 8, 9, 4)) - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (6, 7, 1, 5), (0, 2, 3, 4, 8, 9)) * -0.5 - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (6, 7, 1, 5), (0, 2, 3, 8, 4, 9)) * 0.5 - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (6, 7, 1, 5), (0, 2, 3, 8, 9, 4)) * -0.5 - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (3, 7, 1, 9), (2, 0, 6, 4, 8, 5)) - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (3, 7, 1, 5), (2, 0, 6, 4, 8, 9)) * -1.0 - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (3, 7, 1, 9), (2, 0, 6, 4, 5, 8)) * -1.0 - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (3, 7, 1, 9), (2, 0, 6, 8, 4, 5)) * -1.0 - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (3, 7, 1, 5), (2, 0, 6, 8, 4, 9)) - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (3, 7, 1, 5), (2, 0, 6, 8, 9, 4)) * -1.0 - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (6, 7, 1, 5), (2, 0, 3, 4, 8, 9)) * 0.5 - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (6, 7, 1, 5), (2, 0, 3, 8, 4, 9)) * -0.5 - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (6, 7, 1, 5), (2, 0, 3, 8, 9, 4)) * 0.5 - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (3, 7, 1, 9), (2, 6, 0, 4, 8, 5)) * -1.0 - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (3, 7, 1, 5), (2, 6, 0, 4, 8, 9)) - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (3, 7, 1, 9), (2, 6, 0, 4, 5, 8)) - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (3, 7, 1, 9), (2, 6, 0, 8, 4, 5)) - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (3, 7, 1, 5), (2, 6, 0, 8, 4, 9)) * -1.0 - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (3, 7, 1, 5), (2, 6, 0, 8, 9, 4)) - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (6, 7, 1, 5), (2, 3, 0, 4, 8, 9)) * -0.5 - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (6, 7, 1, 5), (2, 3, 0, 8, 4, 9)) * 0.5 - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (6, 7, 1, 5), (2, 3, 0, 8, 9, 4)) * -0.5 - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (0, 7, 5, 9), (2, 6, 3, 1, 4, 8)) * -1.0 - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (0, 7, 5, 9), (2, 6, 3, 1, 8, 4)) - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (0, 7, 4, 5), (2, 6, 3, 1, 8, 9)) * 0.5 - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (0, 3, 5, 9), (2, 6, 7, 1, 4, 8)) - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (0, 3, 8, 9), (2, 6, 7, 1, 4, 5)) * -0.5 - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (0, 3, 5, 9), (2, 6, 7, 1, 8, 4)) * -1.0 - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (0, 7, 5, 9), (2, 3, 6, 1, 4, 8)) - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (0, 7, 5, 9), (2, 3, 6, 1, 8, 4)) * -1.0 - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (0, 7, 4, 5), (2, 3, 6, 1, 8, 9)) * -0.5 - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (0, 7, 5, 9), (2, 6, 3, 4, 1, 8)) - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (0, 7, 5, 9), (2, 6, 3, 8, 1, 4)) * -1.0 - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (0, 7, 4, 5), (2, 6, 3, 8, 1, 9)) * -0.5 - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (0, 3, 5, 9), (2, 6, 7, 4, 1, 8)) * -1.0 - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (0, 3, 8, 9), (2, 6, 7, 4, 1, 5)) * 0.5 - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (0, 3, 5, 9), (2, 6, 7, 8, 1, 4)) - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (0, 7, 5, 9), (2, 3, 6, 4, 1, 8)) * -1.0 - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (0, 7, 5, 9), (2, 3, 6, 8, 1, 4)) - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (0, 7, 4, 5), (2, 3, 6, 8, 1, 9)) * 0.5 - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (0, 7, 5, 9), (2, 6, 3, 4, 8, 1)) * -1.0 - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (0, 7, 5, 9), (2, 6, 3, 8, 4, 1)) - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (0, 7, 4, 5), (2, 6, 3, 8, 9, 1)) * 0.5 - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (0, 3, 5, 9), (2, 6, 7, 4, 8, 1)) - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (0, 3, 8, 9), (2, 6, 7, 4, 5, 1)) * -0.5 - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (0, 3, 5, 9), (2, 6, 7, 8, 4, 1)) * -1.0 - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (0, 7, 5, 9), (2, 3, 6, 4, 8, 1)) - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (0, 7, 5, 9), (2, 3, 6, 8, 4, 1)) * -1.0 - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (0, 7, 4, 5), (2, 3, 6, 8, 9, 1)) * -0.5 - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (0, 7, 1, 5), (2, 6, 3, 4, 8, 9)) * -1.0 - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (0, 7, 1, 5), (2, 6, 3, 8, 4, 9)) - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (0, 7, 1, 5), (2, 6, 3, 8, 9, 4)) * -1.0 - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (0, 3, 1, 9), (2, 6, 7, 4, 8, 5)) * -1.0 - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (0, 3, 1, 9), (2, 6, 7, 4, 5, 8)) - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (0, 3, 1, 9), (2, 6, 7, 8, 4, 5)) - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (0, 7, 1, 5), (2, 3, 6, 4, 8, 9)) - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (0, 7, 1, 5), (2, 3, 6, 8, 4, 9)) * -1.0 - t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (0, 7, 1, 5), (2, 3, 6, 8, 9, 4)) - t3new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), t2, (6, 7, 8, 9), v.oovv, (4, 7, 1, 3), (0, 2, 6, 5, 8, 9)) * -1.0 - t3new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), t2, (6, 7, 8, 9), v.oovv, (4, 7, 1, 3), (0, 2, 6, 8, 5, 9)) - t3new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), t2, (6, 7, 8, 9), v.oovv, (4, 7, 1, 3), (0, 2, 6, 8, 9, 5)) * -1.0 - t3new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), t2, (6, 7, 8, 9), v.oovv, (4, 7, 1, 3), (0, 6, 2, 5, 8, 9)) - t3new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), t2, (6, 7, 8, 9), v.oovv, (4, 7, 1, 3), (0, 6, 2, 8, 5, 9)) * -1.0 - t3new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), t2, (6, 7, 8, 9), v.oovv, (4, 7, 1, 3), (0, 6, 2, 8, 9, 5)) - t3new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), t2, (6, 7, 8, 9), v.oovv, (2, 4, 1, 9), (0, 6, 7, 3, 5, 8)) * -1.0 - t3new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), t2, (6, 7, 8, 9), v.oovv, (2, 4, 1, 9), (0, 6, 7, 3, 8, 5)) - t3new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), t2, (6, 7, 8, 9), v.oovv, (2, 4, 1, 9), (0, 6, 7, 8, 3, 5)) * -1.0 - t3new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), t2, (6, 7, 8, 9), v.oovv, (4, 7, 1, 3), (6, 0, 2, 5, 8, 9)) * -1.0 - t3new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), t2, (6, 7, 8, 9), v.oovv, (4, 7, 1, 3), (6, 0, 2, 8, 5, 9)) - t3new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), t2, (6, 7, 8, 9), v.oovv, (4, 7, 1, 3), (6, 0, 2, 8, 9, 5)) * -1.0 - t3new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), t2, (6, 7, 8, 9), v.oovv, (2, 4, 1, 9), (6, 0, 7, 3, 5, 8)) - t3new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), t2, (6, 7, 8, 9), v.oovv, (2, 4, 1, 9), (6, 0, 7, 3, 8, 5)) * -1.0 - t3new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), t2, (6, 7, 8, 9), v.oovv, (2, 4, 1, 9), (6, 0, 7, 8, 3, 5)) - t3new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), t2, (6, 7, 8, 9), v.oovv, (2, 4, 1, 9), (6, 7, 0, 3, 5, 8)) * -1.0 - t3new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), t2, (6, 7, 8, 9), v.oovv, (2, 4, 1, 9), (6, 7, 0, 3, 8, 5)) - t3new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), t2, (6, 7, 8, 9), v.oovv, (2, 4, 1, 9), (6, 7, 0, 8, 3, 5)) * -1.0 - t4new = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir, nvir, nvir), dtype=types[float]) - t4new += einsum(f.oo, (0, 1), t4, (2, 3, 4, 1, 5, 6, 7, 8), (0, 2, 3, 4, 5, 6, 7, 8)) - t4new += einsum(f.oo, (0, 1), t4, (2, 3, 4, 1, 5, 6, 7, 8), (2, 0, 3, 4, 5, 6, 7, 8)) * -1.0 - t4new += einsum(f.oo, (0, 1), t4, (2, 3, 4, 1, 5, 6, 7, 8), (2, 3, 0, 4, 5, 6, 7, 8)) - t4new += einsum(f.oo, (0, 1), t4, (2, 3, 4, 1, 5, 6, 7, 8), (2, 3, 4, 0, 5, 6, 7, 8)) * -1.0 - t4new += einsum(f.vv, (0, 1), t4, (2, 3, 4, 5, 6, 7, 8, 1), (2, 3, 4, 5, 0, 6, 7, 8)) * -1.0 - t4new += einsum(f.vv, (0, 1), t4, (2, 3, 4, 5, 6, 7, 8, 1), (2, 3, 4, 5, 6, 0, 7, 8)) - t4new += einsum(f.vv, (0, 1), t4, (2, 3, 4, 5, 6, 7, 8, 1), (2, 3, 4, 5, 6, 7, 0, 8)) * -1.0 - t4new += einsum(f.vv, (0, 1), t4, (2, 3, 4, 5, 6, 7, 8, 1), (2, 3, 4, 5, 6, 7, 8, 0)) - t4new += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 8), (0, 1, 4, 5, 3, 6, 7, 8)) - t4new += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 8), (0, 1, 4, 5, 6, 3, 7, 8)) * -1.0 - t4new += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 8), (0, 1, 4, 5, 6, 7, 3, 8)) - t4new += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 8), (0, 1, 4, 5, 6, 7, 8, 3)) * -1.0 - t4new += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 8), (0, 4, 1, 5, 3, 6, 7, 8)) * -1.0 - t4new += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 8), (0, 4, 1, 5, 6, 3, 7, 8)) - t4new += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 8), (0, 4, 1, 5, 6, 7, 3, 8)) * -1.0 - t4new += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 8), (0, 4, 1, 5, 6, 7, 8, 3)) - t4new += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 8), (0, 4, 5, 1, 3, 6, 7, 8)) - t4new += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 8), (0, 4, 5, 1, 6, 3, 7, 8)) * -1.0 - t4new += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 8), (0, 4, 5, 1, 6, 7, 3, 8)) - t4new += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 8), (0, 4, 5, 1, 6, 7, 8, 3)) * -1.0 - t4new += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 8), (4, 0, 1, 5, 3, 6, 7, 8)) - t4new += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 8), (4, 0, 1, 5, 6, 3, 7, 8)) * -1.0 - t4new += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 8), (4, 0, 1, 5, 6, 7, 3, 8)) - t4new += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 8), (4, 0, 1, 5, 6, 7, 8, 3)) * -1.0 - t4new += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 8), (4, 0, 5, 1, 3, 6, 7, 8)) * -1.0 - t4new += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 8), (4, 0, 5, 1, 6, 3, 7, 8)) - t4new += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 8), (4, 0, 5, 1, 6, 7, 3, 8)) * -1.0 - t4new += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 8), (4, 0, 5, 1, 6, 7, 8, 3)) - t4new += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 8), (4, 5, 0, 1, 3, 6, 7, 8)) - t4new += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 8), (4, 5, 0, 1, 6, 3, 7, 8)) * -1.0 - t4new += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 8), (4, 5, 0, 1, 6, 7, 3, 8)) - t4new += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 8), (4, 5, 0, 1, 6, 7, 8, 3)) * -1.0 - t4new += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 8, 1), (0, 4, 5, 6, 2, 3, 7, 8)) - t4new += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 8, 1), (0, 4, 5, 6, 2, 7, 3, 8)) * -1.0 - t4new += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 8, 1), (0, 4, 5, 6, 2, 7, 8, 3)) - t4new += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 8, 1), (0, 4, 5, 6, 7, 2, 3, 8)) - t4new += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 8, 1), (0, 4, 5, 6, 7, 2, 8, 3)) * -1.0 - t4new += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 8, 1), (0, 4, 5, 6, 7, 8, 2, 3)) - t4new += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 8, 1), (4, 0, 5, 6, 2, 3, 7, 8)) * -1.0 - t4new += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 8, 1), (4, 0, 5, 6, 2, 7, 3, 8)) - t4new += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 8, 1), (4, 0, 5, 6, 2, 7, 8, 3)) * -1.0 - t4new += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 8, 1), (4, 0, 5, 6, 7, 2, 3, 8)) * -1.0 - t4new += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 8, 1), (4, 0, 5, 6, 7, 2, 8, 3)) - t4new += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 8, 1), (4, 0, 5, 6, 7, 8, 2, 3)) * -1.0 - t4new += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 8, 1), (4, 5, 0, 6, 2, 3, 7, 8)) - t4new += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 8, 1), (4, 5, 0, 6, 2, 7, 3, 8)) * -1.0 - t4new += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 8, 1), (4, 5, 0, 6, 2, 7, 8, 3)) - t4new += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 8, 1), (4, 5, 0, 6, 7, 2, 3, 8)) - t4new += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 8, 1), (4, 5, 0, 6, 7, 2, 8, 3)) * -1.0 - t4new += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 8, 1), (4, 5, 0, 6, 7, 8, 2, 3)) - t4new += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 8, 1), (4, 5, 6, 0, 2, 3, 7, 8)) * -1.0 - t4new += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 8, 1), (4, 5, 6, 0, 2, 7, 3, 8)) - t4new += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 8, 1), (4, 5, 6, 0, 2, 7, 8, 3)) * -1.0 - t4new += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 8, 1), (4, 5, 6, 0, 7, 2, 3, 8)) * -1.0 - t4new += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 8, 1), (4, 5, 6, 0, 7, 2, 8, 3)) - t4new += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 8, 1), (4, 5, 6, 0, 7, 8, 2, 3)) * -1.0 - t4new += einsum(v.oooo, (0, 1, 2, 3), t4, (4, 5, 2, 3, 6, 7, 8, 9), (0, 1, 4, 5, 6, 7, 8, 9)) * 0.5 - t4new += einsum(v.oooo, (0, 1, 2, 3), t4, (4, 5, 2, 3, 6, 7, 8, 9), (0, 4, 1, 5, 6, 7, 8, 9)) * -0.5 - t4new += einsum(v.oooo, (0, 1, 2, 3), t4, (4, 5, 2, 3, 6, 7, 8, 9), (0, 4, 5, 1, 6, 7, 8, 9)) * 0.5 - t4new += einsum(v.oooo, (0, 1, 2, 3), t4, (4, 5, 2, 3, 6, 7, 8, 9), (4, 0, 1, 5, 6, 7, 8, 9)) * 0.5 - t4new += einsum(v.oooo, (0, 1, 2, 3), t4, (4, 5, 2, 3, 6, 7, 8, 9), (4, 0, 5, 1, 6, 7, 8, 9)) * -0.5 - t4new += einsum(v.oooo, (0, 1, 2, 3), t4, (4, 5, 2, 3, 6, 7, 8, 9), (4, 5, 0, 1, 6, 7, 8, 9)) * 0.5 - t4new += einsum(v.ovov, (0, 1, 2, 3), t4, (4, 5, 6, 2, 7, 8, 9, 1), (0, 4, 5, 6, 3, 7, 8, 9)) * -1.0 - t4new += einsum(v.ovov, (0, 1, 2, 3), t4, (4, 5, 6, 2, 7, 8, 9, 1), (0, 4, 5, 6, 7, 3, 8, 9)) - t4new += einsum(v.ovov, (0, 1, 2, 3), t4, (4, 5, 6, 2, 7, 8, 9, 1), (0, 4, 5, 6, 7, 8, 3, 9)) * -1.0 - t4new += einsum(v.ovov, (0, 1, 2, 3), t4, (4, 5, 6, 2, 7, 8, 9, 1), (0, 4, 5, 6, 7, 8, 9, 3)) - t4new += einsum(v.ovov, (0, 1, 2, 3), t4, (4, 5, 6, 2, 7, 8, 9, 1), (4, 0, 5, 6, 3, 7, 8, 9)) - t4new += einsum(v.ovov, (0, 1, 2, 3), t4, (4, 5, 6, 2, 7, 8, 9, 1), (4, 0, 5, 6, 7, 3, 8, 9)) * -1.0 - t4new += einsum(v.ovov, (0, 1, 2, 3), t4, (4, 5, 6, 2, 7, 8, 9, 1), (4, 0, 5, 6, 7, 8, 3, 9)) - t4new += einsum(v.ovov, (0, 1, 2, 3), t4, (4, 5, 6, 2, 7, 8, 9, 1), (4, 0, 5, 6, 7, 8, 9, 3)) * -1.0 - t4new += einsum(v.ovov, (0, 1, 2, 3), t4, (4, 5, 6, 2, 7, 8, 9, 1), (4, 5, 0, 6, 3, 7, 8, 9)) * -1.0 - t4new += einsum(v.ovov, (0, 1, 2, 3), t4, (4, 5, 6, 2, 7, 8, 9, 1), (4, 5, 0, 6, 7, 3, 8, 9)) - t4new += einsum(v.ovov, (0, 1, 2, 3), t4, (4, 5, 6, 2, 7, 8, 9, 1), (4, 5, 0, 6, 7, 8, 3, 9)) * -1.0 - t4new += einsum(v.ovov, (0, 1, 2, 3), t4, (4, 5, 6, 2, 7, 8, 9, 1), (4, 5, 0, 6, 7, 8, 9, 3)) - t4new += einsum(v.ovov, (0, 1, 2, 3), t4, (4, 5, 6, 2, 7, 8, 9, 1), (4, 5, 6, 0, 3, 7, 8, 9)) - t4new += einsum(v.ovov, (0, 1, 2, 3), t4, (4, 5, 6, 2, 7, 8, 9, 1), (4, 5, 6, 0, 7, 3, 8, 9)) * -1.0 - t4new += einsum(v.ovov, (0, 1, 2, 3), t4, (4, 5, 6, 2, 7, 8, 9, 1), (4, 5, 6, 0, 7, 8, 3, 9)) - t4new += einsum(v.ovov, (0, 1, 2, 3), t4, (4, 5, 6, 2, 7, 8, 9, 1), (4, 5, 6, 0, 7, 8, 9, 3)) * -1.0 - t4new += einsum(v.vvvv, (0, 1, 2, 3), t4, (4, 5, 6, 7, 8, 9, 2, 3), (4, 5, 6, 7, 0, 1, 8, 9)) * 0.5 - t4new += einsum(v.vvvv, (0, 1, 2, 3), t4, (4, 5, 6, 7, 8, 9, 2, 3), (4, 5, 6, 7, 0, 8, 1, 9)) * -0.5 - t4new += einsum(v.vvvv, (0, 1, 2, 3), t4, (4, 5, 6, 7, 8, 9, 2, 3), (4, 5, 6, 7, 0, 8, 9, 1)) * 0.5 - t4new += einsum(v.vvvv, (0, 1, 2, 3), t4, (4, 5, 6, 7, 8, 9, 2, 3), (4, 5, 6, 7, 8, 0, 1, 9)) * 0.5 - t4new += einsum(v.vvvv, (0, 1, 2, 3), t4, (4, 5, 6, 7, 8, 9, 2, 3), (4, 5, 6, 7, 8, 0, 9, 1)) * -0.5 - t4new += einsum(v.vvvv, (0, 1, 2, 3), t4, (4, 5, 6, 7, 8, 9, 2, 3), (4, 5, 6, 7, 8, 9, 0, 1)) * 0.5 - t4new += einsum(f.ov, (0, 1), t1, (2, 1), t4, (3, 4, 5, 0, 6, 7, 8, 9), (2, 3, 4, 5, 6, 7, 8, 9)) - t4new += einsum(f.ov, (0, 1), t1, (2, 1), t4, (3, 4, 5, 0, 6, 7, 8, 9), (3, 2, 4, 5, 6, 7, 8, 9)) * -1.0 - t4new += einsum(f.ov, (0, 1), t1, (2, 1), t4, (3, 4, 5, 0, 6, 7, 8, 9), (3, 4, 2, 5, 6, 7, 8, 9)) - t4new += einsum(f.ov, (0, 1), t1, (2, 1), t4, (3, 4, 5, 0, 6, 7, 8, 9), (3, 4, 5, 2, 6, 7, 8, 9)) * -1.0 - t4new += einsum(f.ov, (0, 1), t1, (0, 2), t4, (3, 4, 5, 6, 7, 8, 9, 1), (3, 4, 5, 6, 2, 7, 8, 9)) - t4new += einsum(f.ov, (0, 1), t1, (0, 2), t4, (3, 4, 5, 6, 7, 8, 9, 1), (3, 4, 5, 6, 7, 2, 8, 9)) * -1.0 - t4new += einsum(f.ov, (0, 1), t1, (0, 2), t4, (3, 4, 5, 6, 7, 8, 9, 1), (3, 4, 5, 6, 7, 8, 2, 9)) - t4new += einsum(f.ov, (0, 1), t1, (0, 2), t4, (3, 4, 5, 6, 7, 8, 9, 1), (3, 4, 5, 6, 7, 8, 9, 2)) * -1.0 - t4new += einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), t3, (5, 6, 0, 7, 8, 9), (2, 3, 5, 6, 4, 7, 8, 9)) * -1.0 - t4new += einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), t3, (5, 6, 0, 7, 8, 9), (2, 3, 5, 6, 7, 4, 8, 9)) - t4new += einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), t3, (5, 6, 0, 7, 8, 9), (2, 3, 5, 6, 7, 8, 4, 9)) * -1.0 - t4new += einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), t3, (5, 6, 0, 7, 8, 9), (2, 3, 5, 6, 7, 8, 9, 4)) - t4new += einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), t3, (5, 6, 0, 7, 8, 9), (2, 5, 3, 6, 4, 7, 8, 9)) - t4new += einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), t3, (5, 6, 0, 7, 8, 9), (2, 5, 3, 6, 7, 4, 8, 9)) * -1.0 - t4new += einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), t3, (5, 6, 0, 7, 8, 9), (2, 5, 3, 6, 7, 8, 4, 9)) - t4new += einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), t3, (5, 6, 0, 7, 8, 9), (2, 5, 3, 6, 7, 8, 9, 4)) * -1.0 - t4new += einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), t3, (5, 6, 0, 7, 8, 9), (2, 5, 6, 3, 4, 7, 8, 9)) * -1.0 - t4new += einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), t3, (5, 6, 0, 7, 8, 9), (2, 5, 6, 3, 7, 4, 8, 9)) - t4new += einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), t3, (5, 6, 0, 7, 8, 9), (2, 5, 6, 3, 7, 8, 4, 9)) * -1.0 - t4new += einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), t3, (5, 6, 0, 7, 8, 9), (2, 5, 6, 3, 7, 8, 9, 4)) - t4new += einsum(f.ov, (0, 1), t2, (2, 0, 3, 4), t3, (5, 6, 7, 8, 9, 1), (2, 5, 6, 7, 3, 4, 8, 9)) * -1.0 - t4new += einsum(f.ov, (0, 1), t2, (2, 0, 3, 4), t3, (5, 6, 7, 8, 9, 1), (2, 5, 6, 7, 3, 8, 4, 9)) - t4new += einsum(f.ov, (0, 1), t2, (2, 0, 3, 4), t3, (5, 6, 7, 8, 9, 1), (2, 5, 6, 7, 3, 8, 9, 4)) * -1.0 - t4new += einsum(f.ov, (0, 1), t2, (2, 0, 3, 4), t3, (5, 6, 7, 8, 9, 1), (2, 5, 6, 7, 8, 3, 4, 9)) * -1.0 - t4new += einsum(f.ov, (0, 1), t2, (2, 0, 3, 4), t3, (5, 6, 7, 8, 9, 1), (2, 5, 6, 7, 8, 3, 9, 4)) - t4new += einsum(f.ov, (0, 1), t2, (2, 0, 3, 4), t3, (5, 6, 7, 8, 9, 1), (2, 5, 6, 7, 8, 9, 3, 4)) * -1.0 - t4new += einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), t3, (5, 6, 0, 7, 8, 9), (5, 2, 3, 6, 4, 7, 8, 9)) * -1.0 - t4new += einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), t3, (5, 6, 0, 7, 8, 9), (5, 2, 3, 6, 7, 4, 8, 9)) - t4new += einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), t3, (5, 6, 0, 7, 8, 9), (5, 2, 3, 6, 7, 8, 4, 9)) * -1.0 - t4new += einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), t3, (5, 6, 0, 7, 8, 9), (5, 2, 3, 6, 7, 8, 9, 4)) - t4new += einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), t3, (5, 6, 0, 7, 8, 9), (5, 2, 6, 3, 4, 7, 8, 9)) - t4new += einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), t3, (5, 6, 0, 7, 8, 9), (5, 2, 6, 3, 7, 4, 8, 9)) * -1.0 - t4new += einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), t3, (5, 6, 0, 7, 8, 9), (5, 2, 6, 3, 7, 8, 4, 9)) - t4new += einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), t3, (5, 6, 0, 7, 8, 9), (5, 2, 6, 3, 7, 8, 9, 4)) * -1.0 - t4new += einsum(f.ov, (0, 1), t2, (2, 0, 3, 4), t3, (5, 6, 7, 8, 9, 1), (5, 2, 6, 7, 3, 4, 8, 9)) - t4new += einsum(f.ov, (0, 1), t2, (2, 0, 3, 4), t3, (5, 6, 7, 8, 9, 1), (5, 2, 6, 7, 3, 8, 4, 9)) * -1.0 - t4new += einsum(f.ov, (0, 1), t2, (2, 0, 3, 4), t3, (5, 6, 7, 8, 9, 1), (5, 2, 6, 7, 3, 8, 9, 4)) - t4new += einsum(f.ov, (0, 1), t2, (2, 0, 3, 4), t3, (5, 6, 7, 8, 9, 1), (5, 2, 6, 7, 8, 3, 4, 9)) - t4new += einsum(f.ov, (0, 1), t2, (2, 0, 3, 4), t3, (5, 6, 7, 8, 9, 1), (5, 2, 6, 7, 8, 3, 9, 4)) * -1.0 - t4new += einsum(f.ov, (0, 1), t2, (2, 0, 3, 4), t3, (5, 6, 7, 8, 9, 1), (5, 2, 6, 7, 8, 9, 3, 4)) - t4new += einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), t3, (5, 6, 0, 7, 8, 9), (5, 6, 2, 3, 4, 7, 8, 9)) * -1.0 - t4new += einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), t3, (5, 6, 0, 7, 8, 9), (5, 6, 2, 3, 7, 4, 8, 9)) - t4new += einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), t3, (5, 6, 0, 7, 8, 9), (5, 6, 2, 3, 7, 8, 4, 9)) * -1.0 - t4new += einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), t3, (5, 6, 0, 7, 8, 9), (5, 6, 2, 3, 7, 8, 9, 4)) - t4new += einsum(f.ov, (0, 1), t2, (2, 0, 3, 4), t3, (5, 6, 7, 8, 9, 1), (5, 6, 2, 7, 3, 4, 8, 9)) * -1.0 - t4new += einsum(f.ov, (0, 1), t2, (2, 0, 3, 4), t3, (5, 6, 7, 8, 9, 1), (5, 6, 2, 7, 3, 8, 4, 9)) - t4new += einsum(f.ov, (0, 1), t2, (2, 0, 3, 4), t3, (5, 6, 7, 8, 9, 1), (5, 6, 2, 7, 3, 8, 9, 4)) * -1.0 - t4new += einsum(f.ov, (0, 1), t2, (2, 0, 3, 4), t3, (5, 6, 7, 8, 9, 1), (5, 6, 2, 7, 8, 3, 4, 9)) * -1.0 - t4new += einsum(f.ov, (0, 1), t2, (2, 0, 3, 4), t3, (5, 6, 7, 8, 9, 1), (5, 6, 2, 7, 8, 3, 9, 4)) - t4new += einsum(f.ov, (0, 1), t2, (2, 0, 3, 4), t3, (5, 6, 7, 8, 9, 1), (5, 6, 2, 7, 8, 9, 3, 4)) * -1.0 - t4new += einsum(f.ov, (0, 1), t2, (2, 0, 3, 4), t3, (5, 6, 7, 8, 9, 1), (5, 6, 7, 2, 3, 4, 8, 9)) - t4new += einsum(f.ov, (0, 1), t2, (2, 0, 3, 4), t3, (5, 6, 7, 8, 9, 1), (5, 6, 7, 2, 3, 8, 4, 9)) * -1.0 - t4new += einsum(f.ov, (0, 1), t2, (2, 0, 3, 4), t3, (5, 6, 7, 8, 9, 1), (5, 6, 7, 2, 3, 8, 9, 4)) - t4new += einsum(f.ov, (0, 1), t2, (2, 0, 3, 4), t3, (5, 6, 7, 8, 9, 1), (5, 6, 7, 2, 8, 3, 4, 9)) - t4new += einsum(f.ov, (0, 1), t2, (2, 0, 3, 4), t3, (5, 6, 7, 8, 9, 1), (5, 6, 7, 2, 8, 3, 9, 4)) * -1.0 - t4new += einsum(f.ov, (0, 1), t2, (2, 0, 3, 4), t3, (5, 6, 7, 8, 9, 1), (5, 6, 7, 2, 8, 9, 3, 4)) - t4new += einsum(t1, (0, 1), v.oooo, (2, 3, 0, 4), t3, (5, 6, 4, 7, 8, 9), (2, 3, 5, 6, 1, 7, 8, 9)) - t4new += einsum(t1, (0, 1), v.oooo, (2, 3, 0, 4), t3, (5, 6, 4, 7, 8, 9), (2, 5, 3, 6, 1, 7, 8, 9)) * -1.0 - t4new += einsum(t1, (0, 1), v.oooo, (2, 3, 0, 4), t3, (5, 6, 4, 7, 8, 9), (2, 5, 6, 3, 1, 7, 8, 9)) - t4new += einsum(t1, (0, 1), v.oooo, (2, 3, 0, 4), t3, (5, 6, 4, 7, 8, 9), (5, 2, 3, 6, 1, 7, 8, 9)) - t4new += einsum(t1, (0, 1), v.oooo, (2, 3, 0, 4), t3, (5, 6, 4, 7, 8, 9), (5, 2, 6, 3, 1, 7, 8, 9)) * -1.0 - t4new += einsum(t1, (0, 1), v.oooo, (2, 3, 0, 4), t3, (5, 6, 4, 7, 8, 9), (5, 6, 2, 3, 1, 7, 8, 9)) - t4new += einsum(t1, (0, 1), v.oooo, (2, 3, 0, 4), t3, (5, 6, 4, 7, 8, 9), (2, 3, 5, 6, 7, 1, 8, 9)) * -1.0 - t4new += einsum(t1, (0, 1), v.oooo, (2, 3, 0, 4), t3, (5, 6, 4, 7, 8, 9), (2, 5, 3, 6, 7, 1, 8, 9)) - t4new += einsum(t1, (0, 1), v.oooo, (2, 3, 0, 4), t3, (5, 6, 4, 7, 8, 9), (2, 5, 6, 3, 7, 1, 8, 9)) * -1.0 - t4new += einsum(t1, (0, 1), v.oooo, (2, 3, 0, 4), t3, (5, 6, 4, 7, 8, 9), (5, 2, 3, 6, 7, 1, 8, 9)) * -1.0 - t4new += einsum(t1, (0, 1), v.oooo, (2, 3, 0, 4), t3, (5, 6, 4, 7, 8, 9), (5, 2, 6, 3, 7, 1, 8, 9)) - t4new += einsum(t1, (0, 1), v.oooo, (2, 3, 0, 4), t3, (5, 6, 4, 7, 8, 9), (5, 6, 2, 3, 7, 1, 8, 9)) * -1.0 - t4new += einsum(t1, (0, 1), v.oooo, (2, 3, 0, 4), t3, (5, 6, 4, 7, 8, 9), (2, 3, 5, 6, 7, 8, 1, 9)) - t4new += einsum(t1, (0, 1), v.oooo, (2, 3, 0, 4), t3, (5, 6, 4, 7, 8, 9), (2, 5, 3, 6, 7, 8, 1, 9)) * -1.0 - t4new += einsum(t1, (0, 1), v.oooo, (2, 3, 0, 4), t3, (5, 6, 4, 7, 8, 9), (2, 5, 6, 3, 7, 8, 1, 9)) - t4new += einsum(t1, (0, 1), v.oooo, (2, 3, 0, 4), t3, (5, 6, 4, 7, 8, 9), (5, 2, 3, 6, 7, 8, 1, 9)) - t4new += einsum(t1, (0, 1), v.oooo, (2, 3, 0, 4), t3, (5, 6, 4, 7, 8, 9), (5, 2, 6, 3, 7, 8, 1, 9)) * -1.0 - t4new += einsum(t1, (0, 1), v.oooo, (2, 3, 0, 4), t3, (5, 6, 4, 7, 8, 9), (5, 6, 2, 3, 7, 8, 1, 9)) - t4new += einsum(t1, (0, 1), v.oooo, (2, 3, 0, 4), t3, (5, 6, 4, 7, 8, 9), (2, 3, 5, 6, 7, 8, 9, 1)) * -1.0 - t4new += einsum(t1, (0, 1), v.oooo, (2, 3, 0, 4), t3, (5, 6, 4, 7, 8, 9), (2, 5, 3, 6, 7, 8, 9, 1)) - t4new += einsum(t1, (0, 1), v.oooo, (2, 3, 0, 4), t3, (5, 6, 4, 7, 8, 9), (2, 5, 6, 3, 7, 8, 9, 1)) * -1.0 - t4new += einsum(t1, (0, 1), v.oooo, (2, 3, 0, 4), t3, (5, 6, 4, 7, 8, 9), (5, 2, 3, 6, 7, 8, 9, 1)) * -1.0 - t4new += einsum(t1, (0, 1), v.oooo, (2, 3, 0, 4), t3, (5, 6, 4, 7, 8, 9), (5, 2, 6, 3, 7, 8, 9, 1)) - t4new += einsum(t1, (0, 1), v.oooo, (2, 3, 0, 4), t3, (5, 6, 4, 7, 8, 9), (5, 6, 2, 3, 7, 8, 9, 1)) * -1.0 - t4new += einsum(t1, (0, 1), v.ovov, (2, 1, 3, 4), t3, (5, 6, 3, 7, 8, 9), (0, 2, 5, 6, 4, 7, 8, 9)) * -1.0 - t4new += einsum(t1, (0, 1), v.ovov, (2, 1, 3, 4), t3, (5, 6, 3, 7, 8, 9), (0, 2, 5, 6, 7, 4, 8, 9)) - t4new += einsum(t1, (0, 1), v.ovov, (2, 1, 3, 4), t3, (5, 6, 3, 7, 8, 9), (0, 2, 5, 6, 7, 8, 4, 9)) * -1.0 - t4new += einsum(t1, (0, 1), v.ovov, (2, 1, 3, 4), t3, (5, 6, 3, 7, 8, 9), (0, 2, 5, 6, 7, 8, 9, 4)) - t4new += einsum(t1, (0, 1), v.ovov, (2, 1, 3, 4), t3, (5, 6, 3, 7, 8, 9), (0, 5, 2, 6, 4, 7, 8, 9)) - t4new += einsum(t1, (0, 1), v.ovov, (2, 1, 3, 4), t3, (5, 6, 3, 7, 8, 9), (0, 5, 2, 6, 7, 4, 8, 9)) * -1.0 - t4new += einsum(t1, (0, 1), v.ovov, (2, 1, 3, 4), t3, (5, 6, 3, 7, 8, 9), (0, 5, 2, 6, 7, 8, 4, 9)) - t4new += einsum(t1, (0, 1), v.ovov, (2, 1, 3, 4), t3, (5, 6, 3, 7, 8, 9), (0, 5, 2, 6, 7, 8, 9, 4)) * -1.0 - t4new += einsum(t1, (0, 1), v.ovov, (2, 1, 3, 4), t3, (5, 6, 3, 7, 8, 9), (0, 5, 6, 2, 4, 7, 8, 9)) * -1.0 - t4new += einsum(t1, (0, 1), v.ovov, (2, 1, 3, 4), t3, (5, 6, 3, 7, 8, 9), (0, 5, 6, 2, 7, 4, 8, 9)) - t4new += einsum(t1, (0, 1), v.ovov, (2, 1, 3, 4), t3, (5, 6, 3, 7, 8, 9), (0, 5, 6, 2, 7, 8, 4, 9)) * -1.0 - t4new += einsum(t1, (0, 1), v.ovov, (2, 1, 3, 4), t3, (5, 6, 3, 7, 8, 9), (0, 5, 6, 2, 7, 8, 9, 4)) - t4new += einsum(t1, (0, 1), v.ovov, (2, 1, 3, 4), t3, (5, 6, 3, 7, 8, 9), (2, 0, 5, 6, 4, 7, 8, 9)) - t4new += einsum(t1, (0, 1), v.ovov, (2, 1, 3, 4), t3, (5, 6, 3, 7, 8, 9), (2, 0, 5, 6, 7, 4, 8, 9)) * -1.0 - t4new += einsum(t1, (0, 1), v.ovov, (2, 1, 3, 4), t3, (5, 6, 3, 7, 8, 9), (2, 0, 5, 6, 7, 8, 4, 9)) - t4new += einsum(t1, (0, 1), v.ovov, (2, 1, 3, 4), t3, (5, 6, 3, 7, 8, 9), (2, 0, 5, 6, 7, 8, 9, 4)) * -1.0 - t4new += einsum(t1, (0, 1), v.ovov, (2, 1, 3, 4), t3, (5, 6, 3, 7, 8, 9), (5, 0, 2, 6, 4, 7, 8, 9)) * -1.0 - t4new += einsum(t1, (0, 1), v.ovov, (2, 1, 3, 4), t3, (5, 6, 3, 7, 8, 9), (5, 0, 2, 6, 7, 4, 8, 9)) - t4new += einsum(t1, (0, 1), v.ovov, (2, 1, 3, 4), t3, (5, 6, 3, 7, 8, 9), (5, 0, 2, 6, 7, 8, 4, 9)) * -1.0 - t4new += einsum(t1, (0, 1), v.ovov, (2, 1, 3, 4), t3, (5, 6, 3, 7, 8, 9), (5, 0, 2, 6, 7, 8, 9, 4)) - t4new += einsum(t1, (0, 1), v.ovov, (2, 1, 3, 4), t3, (5, 6, 3, 7, 8, 9), (5, 0, 6, 2, 4, 7, 8, 9)) - t4new += einsum(t1, (0, 1), v.ovov, (2, 1, 3, 4), t3, (5, 6, 3, 7, 8, 9), (5, 0, 6, 2, 7, 4, 8, 9)) * -1.0 - t4new += einsum(t1, (0, 1), v.ovov, (2, 1, 3, 4), t3, (5, 6, 3, 7, 8, 9), (5, 0, 6, 2, 7, 8, 4, 9)) - t4new += einsum(t1, (0, 1), v.ovov, (2, 1, 3, 4), t3, (5, 6, 3, 7, 8, 9), (5, 0, 6, 2, 7, 8, 9, 4)) * -1.0 - t4new += einsum(t1, (0, 1), v.ovov, (2, 1, 3, 4), t3, (5, 6, 3, 7, 8, 9), (2, 5, 0, 6, 4, 7, 8, 9)) * -1.0 - t4new += einsum(t1, (0, 1), v.ovov, (2, 1, 3, 4), t3, (5, 6, 3, 7, 8, 9), (2, 5, 0, 6, 7, 4, 8, 9)) - t4new += einsum(t1, (0, 1), v.ovov, (2, 1, 3, 4), t3, (5, 6, 3, 7, 8, 9), (2, 5, 0, 6, 7, 8, 4, 9)) * -1.0 - t4new += einsum(t1, (0, 1), v.ovov, (2, 1, 3, 4), t3, (5, 6, 3, 7, 8, 9), (2, 5, 0, 6, 7, 8, 9, 4)) - t4new += einsum(t1, (0, 1), v.ovov, (2, 1, 3, 4), t3, (5, 6, 3, 7, 8, 9), (5, 2, 0, 6, 4, 7, 8, 9)) - t4new += einsum(t1, (0, 1), v.ovov, (2, 1, 3, 4), t3, (5, 6, 3, 7, 8, 9), (5, 2, 0, 6, 7, 4, 8, 9)) * -1.0 - t4new += einsum(t1, (0, 1), v.ovov, (2, 1, 3, 4), t3, (5, 6, 3, 7, 8, 9), (5, 2, 0, 6, 7, 8, 4, 9)) - t4new += einsum(t1, (0, 1), v.ovov, (2, 1, 3, 4), t3, (5, 6, 3, 7, 8, 9), (5, 2, 0, 6, 7, 8, 9, 4)) * -1.0 - t4new += einsum(t1, (0, 1), v.ovov, (2, 1, 3, 4), t3, (5, 6, 3, 7, 8, 9), (5, 6, 0, 2, 4, 7, 8, 9)) * -1.0 - t4new += einsum(t1, (0, 1), v.ovov, (2, 1, 3, 4), t3, (5, 6, 3, 7, 8, 9), (5, 6, 0, 2, 7, 4, 8, 9)) - t4new += einsum(t1, (0, 1), v.ovov, (2, 1, 3, 4), t3, (5, 6, 3, 7, 8, 9), (5, 6, 0, 2, 7, 8, 4, 9)) * -1.0 - t4new += einsum(t1, (0, 1), v.ovov, (2, 1, 3, 4), t3, (5, 6, 3, 7, 8, 9), (5, 6, 0, 2, 7, 8, 9, 4)) - t4new += einsum(t1, (0, 1), v.ovov, (2, 1, 3, 4), t3, (5, 6, 3, 7, 8, 9), (2, 5, 6, 0, 4, 7, 8, 9)) - t4new += einsum(t1, (0, 1), v.ovov, (2, 1, 3, 4), t3, (5, 6, 3, 7, 8, 9), (2, 5, 6, 0, 7, 4, 8, 9)) * -1.0 - t4new += einsum(t1, (0, 1), v.ovov, (2, 1, 3, 4), t3, (5, 6, 3, 7, 8, 9), (2, 5, 6, 0, 7, 8, 4, 9)) - t4new += einsum(t1, (0, 1), v.ovov, (2, 1, 3, 4), t3, (5, 6, 3, 7, 8, 9), (2, 5, 6, 0, 7, 8, 9, 4)) * -1.0 - t4new += einsum(t1, (0, 1), v.ovov, (2, 1, 3, 4), t3, (5, 6, 3, 7, 8, 9), (5, 2, 6, 0, 4, 7, 8, 9)) * -1.0 - t4new += einsum(t1, (0, 1), v.ovov, (2, 1, 3, 4), t3, (5, 6, 3, 7, 8, 9), (5, 2, 6, 0, 7, 4, 8, 9)) - t4new += einsum(t1, (0, 1), v.ovov, (2, 1, 3, 4), t3, (5, 6, 3, 7, 8, 9), (5, 2, 6, 0, 7, 8, 4, 9)) * -1.0 - t4new += einsum(t1, (0, 1), v.ovov, (2, 1, 3, 4), t3, (5, 6, 3, 7, 8, 9), (5, 2, 6, 0, 7, 8, 9, 4)) - t4new += einsum(t1, (0, 1), v.ovov, (2, 1, 3, 4), t3, (5, 6, 3, 7, 8, 9), (5, 6, 2, 0, 4, 7, 8, 9)) - t4new += einsum(t1, (0, 1), v.ovov, (2, 1, 3, 4), t3, (5, 6, 3, 7, 8, 9), (5, 6, 2, 0, 7, 4, 8, 9)) * -1.0 - t4new += einsum(t1, (0, 1), v.ovov, (2, 1, 3, 4), t3, (5, 6, 3, 7, 8, 9), (5, 6, 2, 0, 7, 8, 4, 9)) - t4new += einsum(t1, (0, 1), v.ovov, (2, 1, 3, 4), t3, (5, 6, 3, 7, 8, 9), (5, 6, 2, 0, 7, 8, 9, 4)) * -1.0 - t4new += einsum(t1, (0, 1), v.ovov, (2, 3, 0, 4), t3, (5, 6, 7, 8, 9, 3), (2, 5, 6, 7, 1, 4, 8, 9)) * -1.0 - t4new += einsum(t1, (0, 1), v.ovov, (2, 3, 0, 4), t3, (5, 6, 7, 8, 9, 3), (2, 5, 6, 7, 1, 8, 4, 9)) - t4new += einsum(t1, (0, 1), v.ovov, (2, 3, 0, 4), t3, (5, 6, 7, 8, 9, 3), (2, 5, 6, 7, 1, 8, 9, 4)) * -1.0 - t4new += einsum(t1, (0, 1), v.ovov, (2, 3, 0, 4), t3, (5, 6, 7, 8, 9, 3), (5, 2, 6, 7, 1, 4, 8, 9)) - t4new += einsum(t1, (0, 1), v.ovov, (2, 3, 0, 4), t3, (5, 6, 7, 8, 9, 3), (5, 2, 6, 7, 1, 8, 4, 9)) * -1.0 - t4new += einsum(t1, (0, 1), v.ovov, (2, 3, 0, 4), t3, (5, 6, 7, 8, 9, 3), (5, 2, 6, 7, 1, 8, 9, 4)) - t4new += einsum(t1, (0, 1), v.ovov, (2, 3, 0, 4), t3, (5, 6, 7, 8, 9, 3), (5, 6, 2, 7, 1, 4, 8, 9)) * -1.0 - t4new += einsum(t1, (0, 1), v.ovov, (2, 3, 0, 4), t3, (5, 6, 7, 8, 9, 3), (5, 6, 2, 7, 1, 8, 4, 9)) - t4new += einsum(t1, (0, 1), v.ovov, (2, 3, 0, 4), t3, (5, 6, 7, 8, 9, 3), (5, 6, 2, 7, 1, 8, 9, 4)) * -1.0 - t4new += einsum(t1, (0, 1), v.ovov, (2, 3, 0, 4), t3, (5, 6, 7, 8, 9, 3), (5, 6, 7, 2, 1, 4, 8, 9)) - t4new += einsum(t1, (0, 1), v.ovov, (2, 3, 0, 4), t3, (5, 6, 7, 8, 9, 3), (5, 6, 7, 2, 1, 8, 4, 9)) * -1.0 - t4new += einsum(t1, (0, 1), v.ovov, (2, 3, 0, 4), t3, (5, 6, 7, 8, 9, 3), (5, 6, 7, 2, 1, 8, 9, 4)) - t4new += einsum(t1, (0, 1), v.ovov, (2, 3, 0, 4), t3, (5, 6, 7, 8, 9, 3), (2, 5, 6, 7, 4, 1, 8, 9)) - t4new += einsum(t1, (0, 1), v.ovov, (2, 3, 0, 4), t3, (5, 6, 7, 8, 9, 3), (2, 5, 6, 7, 8, 1, 4, 9)) * -1.0 - t4new += einsum(t1, (0, 1), v.ovov, (2, 3, 0, 4), t3, (5, 6, 7, 8, 9, 3), (2, 5, 6, 7, 8, 1, 9, 4)) - t4new += einsum(t1, (0, 1), v.ovov, (2, 3, 0, 4), t3, (5, 6, 7, 8, 9, 3), (5, 2, 6, 7, 4, 1, 8, 9)) * -1.0 - t4new += einsum(t1, (0, 1), v.ovov, (2, 3, 0, 4), t3, (5, 6, 7, 8, 9, 3), (5, 2, 6, 7, 8, 1, 4, 9)) - t4new += einsum(t1, (0, 1), v.ovov, (2, 3, 0, 4), t3, (5, 6, 7, 8, 9, 3), (5, 2, 6, 7, 8, 1, 9, 4)) * -1.0 - t4new += einsum(t1, (0, 1), v.ovov, (2, 3, 0, 4), t3, (5, 6, 7, 8, 9, 3), (5, 6, 2, 7, 4, 1, 8, 9)) - t4new += einsum(t1, (0, 1), v.ovov, (2, 3, 0, 4), t3, (5, 6, 7, 8, 9, 3), (5, 6, 2, 7, 8, 1, 4, 9)) * -1.0 - t4new += einsum(t1, (0, 1), v.ovov, (2, 3, 0, 4), t3, (5, 6, 7, 8, 9, 3), (5, 6, 2, 7, 8, 1, 9, 4)) - t4new += einsum(t1, (0, 1), v.ovov, (2, 3, 0, 4), t3, (5, 6, 7, 8, 9, 3), (5, 6, 7, 2, 4, 1, 8, 9)) * -1.0 - t4new += einsum(t1, (0, 1), v.ovov, (2, 3, 0, 4), t3, (5, 6, 7, 8, 9, 3), (5, 6, 7, 2, 8, 1, 4, 9)) - t4new += einsum(t1, (0, 1), v.ovov, (2, 3, 0, 4), t3, (5, 6, 7, 8, 9, 3), (5, 6, 7, 2, 8, 1, 9, 4)) * -1.0 - t4new += einsum(t1, (0, 1), v.ovov, (2, 3, 0, 4), t3, (5, 6, 7, 8, 9, 3), (2, 5, 6, 7, 4, 8, 1, 9)) * -1.0 - t4new += einsum(t1, (0, 1), v.ovov, (2, 3, 0, 4), t3, (5, 6, 7, 8, 9, 3), (2, 5, 6, 7, 8, 4, 1, 9)) - t4new += einsum(t1, (0, 1), v.ovov, (2, 3, 0, 4), t3, (5, 6, 7, 8, 9, 3), (2, 5, 6, 7, 8, 9, 1, 4)) * -1.0 - t4new += einsum(t1, (0, 1), v.ovov, (2, 3, 0, 4), t3, (5, 6, 7, 8, 9, 3), (5, 2, 6, 7, 4, 8, 1, 9)) - t4new += einsum(t1, (0, 1), v.ovov, (2, 3, 0, 4), t3, (5, 6, 7, 8, 9, 3), (5, 2, 6, 7, 8, 4, 1, 9)) * -1.0 - t4new += einsum(t1, (0, 1), v.ovov, (2, 3, 0, 4), t3, (5, 6, 7, 8, 9, 3), (5, 2, 6, 7, 8, 9, 1, 4)) - t4new += einsum(t1, (0, 1), v.ovov, (2, 3, 0, 4), t3, (5, 6, 7, 8, 9, 3), (5, 6, 2, 7, 4, 8, 1, 9)) * -1.0 - t4new += einsum(t1, (0, 1), v.ovov, (2, 3, 0, 4), t3, (5, 6, 7, 8, 9, 3), (5, 6, 2, 7, 8, 4, 1, 9)) - t4new += einsum(t1, (0, 1), v.ovov, (2, 3, 0, 4), t3, (5, 6, 7, 8, 9, 3), (5, 6, 2, 7, 8, 9, 1, 4)) * -1.0 - t4new += einsum(t1, (0, 1), v.ovov, (2, 3, 0, 4), t3, (5, 6, 7, 8, 9, 3), (5, 6, 7, 2, 4, 8, 1, 9)) - t4new += einsum(t1, (0, 1), v.ovov, (2, 3, 0, 4), t3, (5, 6, 7, 8, 9, 3), (5, 6, 7, 2, 8, 4, 1, 9)) * -1.0 - t4new += einsum(t1, (0, 1), v.ovov, (2, 3, 0, 4), t3, (5, 6, 7, 8, 9, 3), (5, 6, 7, 2, 8, 9, 1, 4)) - t4new += einsum(t1, (0, 1), v.ovov, (2, 3, 0, 4), t3, (5, 6, 7, 8, 9, 3), (2, 5, 6, 7, 4, 8, 9, 1)) - t4new += einsum(t1, (0, 1), v.ovov, (2, 3, 0, 4), t3, (5, 6, 7, 8, 9, 3), (2, 5, 6, 7, 8, 4, 9, 1)) * -1.0 - t4new += einsum(t1, (0, 1), v.ovov, (2, 3, 0, 4), t3, (5, 6, 7, 8, 9, 3), (2, 5, 6, 7, 8, 9, 4, 1)) - t4new += einsum(t1, (0, 1), v.ovov, (2, 3, 0, 4), t3, (5, 6, 7, 8, 9, 3), (5, 2, 6, 7, 4, 8, 9, 1)) * -1.0 - t4new += einsum(t1, (0, 1), v.ovov, (2, 3, 0, 4), t3, (5, 6, 7, 8, 9, 3), (5, 2, 6, 7, 8, 4, 9, 1)) - t4new += einsum(t1, (0, 1), v.ovov, (2, 3, 0, 4), t3, (5, 6, 7, 8, 9, 3), (5, 2, 6, 7, 8, 9, 4, 1)) * -1.0 - t4new += einsum(t1, (0, 1), v.ovov, (2, 3, 0, 4), t3, (5, 6, 7, 8, 9, 3), (5, 6, 2, 7, 4, 8, 9, 1)) - t4new += einsum(t1, (0, 1), v.ovov, (2, 3, 0, 4), t3, (5, 6, 7, 8, 9, 3), (5, 6, 2, 7, 8, 4, 9, 1)) * -1.0 - t4new += einsum(t1, (0, 1), v.ovov, (2, 3, 0, 4), t3, (5, 6, 7, 8, 9, 3), (5, 6, 2, 7, 8, 9, 4, 1)) - t4new += einsum(t1, (0, 1), v.ovov, (2, 3, 0, 4), t3, (5, 6, 7, 8, 9, 3), (5, 6, 7, 2, 4, 8, 9, 1)) * -1.0 - t4new += einsum(t1, (0, 1), v.ovov, (2, 3, 0, 4), t3, (5, 6, 7, 8, 9, 3), (5, 6, 7, 2, 8, 4, 9, 1)) - t4new += einsum(t1, (0, 1), v.ovov, (2, 3, 0, 4), t3, (5, 6, 7, 8, 9, 3), (5, 6, 7, 2, 8, 9, 4, 1)) * -1.0 - t4new += einsum(t1, (0, 1), v.vvvv, (2, 3, 1, 4), t3, (5, 6, 7, 8, 9, 4), (0, 5, 6, 7, 2, 3, 8, 9)) - t4new += einsum(t1, (0, 1), v.vvvv, (2, 3, 1, 4), t3, (5, 6, 7, 8, 9, 4), (0, 5, 6, 7, 2, 8, 3, 9)) * -1.0 - t4new += einsum(t1, (0, 1), v.vvvv, (2, 3, 1, 4), t3, (5, 6, 7, 8, 9, 4), (0, 5, 6, 7, 2, 8, 9, 3)) - t4new += einsum(t1, (0, 1), v.vvvv, (2, 3, 1, 4), t3, (5, 6, 7, 8, 9, 4), (0, 5, 6, 7, 8, 2, 3, 9)) - t4new += einsum(t1, (0, 1), v.vvvv, (2, 3, 1, 4), t3, (5, 6, 7, 8, 9, 4), (0, 5, 6, 7, 8, 2, 9, 3)) * -1.0 - t4new += einsum(t1, (0, 1), v.vvvv, (2, 3, 1, 4), t3, (5, 6, 7, 8, 9, 4), (0, 5, 6, 7, 8, 9, 2, 3)) - t4new += einsum(t1, (0, 1), v.vvvv, (2, 3, 1, 4), t3, (5, 6, 7, 8, 9, 4), (5, 0, 6, 7, 2, 3, 8, 9)) * -1.0 - t4new += einsum(t1, (0, 1), v.vvvv, (2, 3, 1, 4), t3, (5, 6, 7, 8, 9, 4), (5, 0, 6, 7, 2, 8, 3, 9)) - t4new += einsum(t1, (0, 1), v.vvvv, (2, 3, 1, 4), t3, (5, 6, 7, 8, 9, 4), (5, 0, 6, 7, 2, 8, 9, 3)) * -1.0 - t4new += einsum(t1, (0, 1), v.vvvv, (2, 3, 1, 4), t3, (5, 6, 7, 8, 9, 4), (5, 0, 6, 7, 8, 2, 3, 9)) * -1.0 - t4new += einsum(t1, (0, 1), v.vvvv, (2, 3, 1, 4), t3, (5, 6, 7, 8, 9, 4), (5, 0, 6, 7, 8, 2, 9, 3)) - t4new += einsum(t1, (0, 1), v.vvvv, (2, 3, 1, 4), t3, (5, 6, 7, 8, 9, 4), (5, 0, 6, 7, 8, 9, 2, 3)) * -1.0 - t4new += einsum(t1, (0, 1), v.vvvv, (2, 3, 1, 4), t3, (5, 6, 7, 8, 9, 4), (5, 6, 0, 7, 2, 3, 8, 9)) - t4new += einsum(t1, (0, 1), v.vvvv, (2, 3, 1, 4), t3, (5, 6, 7, 8, 9, 4), (5, 6, 0, 7, 2, 8, 3, 9)) * -1.0 - t4new += einsum(t1, (0, 1), v.vvvv, (2, 3, 1, 4), t3, (5, 6, 7, 8, 9, 4), (5, 6, 0, 7, 2, 8, 9, 3)) - t4new += einsum(t1, (0, 1), v.vvvv, (2, 3, 1, 4), t3, (5, 6, 7, 8, 9, 4), (5, 6, 0, 7, 8, 2, 3, 9)) - t4new += einsum(t1, (0, 1), v.vvvv, (2, 3, 1, 4), t3, (5, 6, 7, 8, 9, 4), (5, 6, 0, 7, 8, 2, 9, 3)) * -1.0 - t4new += einsum(t1, (0, 1), v.vvvv, (2, 3, 1, 4), t3, (5, 6, 7, 8, 9, 4), (5, 6, 0, 7, 8, 9, 2, 3)) - t4new += einsum(t1, (0, 1), v.vvvv, (2, 3, 1, 4), t3, (5, 6, 7, 8, 9, 4), (5, 6, 7, 0, 2, 3, 8, 9)) * -1.0 - t4new += einsum(t1, (0, 1), v.vvvv, (2, 3, 1, 4), t3, (5, 6, 7, 8, 9, 4), (5, 6, 7, 0, 2, 8, 3, 9)) - t4new += einsum(t1, (0, 1), v.vvvv, (2, 3, 1, 4), t3, (5, 6, 7, 8, 9, 4), (5, 6, 7, 0, 2, 8, 9, 3)) * -1.0 - t4new += einsum(t1, (0, 1), v.vvvv, (2, 3, 1, 4), t3, (5, 6, 7, 8, 9, 4), (5, 6, 7, 0, 8, 2, 3, 9)) * -1.0 - t4new += einsum(t1, (0, 1), v.vvvv, (2, 3, 1, 4), t3, (5, 6, 7, 8, 9, 4), (5, 6, 7, 0, 8, 2, 9, 3)) - t4new += einsum(t1, (0, 1), v.vvvv, (2, 3, 1, 4), t3, (5, 6, 7, 8, 9, 4), (5, 6, 7, 0, 8, 9, 2, 3)) * -1.0 - t4new += einsum(t1, (0, 1), v.ooov, (2, 3, 4, 1), t4, (5, 6, 2, 3, 7, 8, 9, 10), (0, 4, 5, 6, 7, 8, 9, 10)) * -0.5 - t4new += einsum(t1, (0, 1), v.ooov, (2, 3, 4, 1), t4, (5, 6, 2, 3, 7, 8, 9, 10), (0, 5, 4, 6, 7, 8, 9, 10)) * 0.5 - t4new += einsum(t1, (0, 1), v.ooov, (2, 3, 4, 1), t4, (5, 6, 2, 3, 7, 8, 9, 10), (0, 5, 6, 4, 7, 8, 9, 10)) * -0.5 - t4new += einsum(t1, (0, 1), v.ooov, (2, 3, 4, 1), t4, (5, 6, 2, 3, 7, 8, 9, 10), (4, 0, 5, 6, 7, 8, 9, 10)) * 0.5 - t4new += einsum(t1, (0, 1), v.ooov, (2, 3, 4, 1), t4, (5, 6, 2, 3, 7, 8, 9, 10), (5, 0, 4, 6, 7, 8, 9, 10)) * -0.5 - t4new += einsum(t1, (0, 1), v.ooov, (2, 3, 4, 1), t4, (5, 6, 2, 3, 7, 8, 9, 10), (5, 0, 6, 4, 7, 8, 9, 10)) * 0.5 - t4new += einsum(t1, (0, 1), v.ooov, (2, 3, 4, 1), t4, (5, 6, 2, 3, 7, 8, 9, 10), (4, 5, 0, 6, 7, 8, 9, 10)) * -0.5 - t4new += einsum(t1, (0, 1), v.ooov, (2, 3, 4, 1), t4, (5, 6, 2, 3, 7, 8, 9, 10), (5, 4, 0, 6, 7, 8, 9, 10)) * 0.5 - t4new += einsum(t1, (0, 1), v.ooov, (2, 3, 4, 1), t4, (5, 6, 2, 3, 7, 8, 9, 10), (5, 6, 0, 4, 7, 8, 9, 10)) * -0.5 - t4new += einsum(t1, (0, 1), v.ooov, (2, 3, 4, 1), t4, (5, 6, 2, 3, 7, 8, 9, 10), (4, 5, 6, 0, 7, 8, 9, 10)) * 0.5 - t4new += einsum(t1, (0, 1), v.ooov, (2, 3, 4, 1), t4, (5, 6, 2, 3, 7, 8, 9, 10), (5, 4, 6, 0, 7, 8, 9, 10)) * -0.5 - t4new += einsum(t1, (0, 1), v.ooov, (2, 3, 4, 1), t4, (5, 6, 2, 3, 7, 8, 9, 10), (5, 6, 4, 0, 7, 8, 9, 10)) * 0.5 - t4new += einsum(t1, (0, 1), v.ooov, (0, 2, 3, 4), t4, (5, 6, 7, 2, 8, 9, 10, 4), (3, 5, 6, 7, 1, 8, 9, 10)) * -1.0 - t4new += einsum(t1, (0, 1), v.ooov, (0, 2, 3, 4), t4, (5, 6, 7, 2, 8, 9, 10, 4), (5, 3, 6, 7, 1, 8, 9, 10)) - t4new += einsum(t1, (0, 1), v.ooov, (0, 2, 3, 4), t4, (5, 6, 7, 2, 8, 9, 10, 4), (5, 6, 3, 7, 1, 8, 9, 10)) * -1.0 - t4new += einsum(t1, (0, 1), v.ooov, (0, 2, 3, 4), t4, (5, 6, 7, 2, 8, 9, 10, 4), (5, 6, 7, 3, 1, 8, 9, 10)) - t4new += einsum(t1, (0, 1), v.ooov, (0, 2, 3, 4), t4, (5, 6, 7, 2, 8, 9, 10, 4), (3, 5, 6, 7, 8, 1, 9, 10)) - t4new += einsum(t1, (0, 1), v.ooov, (0, 2, 3, 4), t4, (5, 6, 7, 2, 8, 9, 10, 4), (5, 3, 6, 7, 8, 1, 9, 10)) * -1.0 - t4new += einsum(t1, (0, 1), v.ooov, (0, 2, 3, 4), t4, (5, 6, 7, 2, 8, 9, 10, 4), (5, 6, 3, 7, 8, 1, 9, 10)) - t4new += einsum(t1, (0, 1), v.ooov, (0, 2, 3, 4), t4, (5, 6, 7, 2, 8, 9, 10, 4), (5, 6, 7, 3, 8, 1, 9, 10)) * -1.0 - t4new += einsum(t1, (0, 1), v.ooov, (0, 2, 3, 4), t4, (5, 6, 7, 2, 8, 9, 10, 4), (3, 5, 6, 7, 8, 9, 1, 10)) * -1.0 - t4new += einsum(t1, (0, 1), v.ooov, (0, 2, 3, 4), t4, (5, 6, 7, 2, 8, 9, 10, 4), (5, 3, 6, 7, 8, 9, 1, 10)) - t4new += einsum(t1, (0, 1), v.ooov, (0, 2, 3, 4), t4, (5, 6, 7, 2, 8, 9, 10, 4), (5, 6, 3, 7, 8, 9, 1, 10)) * -1.0 - t4new += einsum(t1, (0, 1), v.ooov, (0, 2, 3, 4), t4, (5, 6, 7, 2, 8, 9, 10, 4), (5, 6, 7, 3, 8, 9, 1, 10)) - t4new += einsum(t1, (0, 1), v.ooov, (0, 2, 3, 4), t4, (5, 6, 7, 2, 8, 9, 10, 4), (3, 5, 6, 7, 8, 9, 10, 1)) - t4new += einsum(t1, (0, 1), v.ooov, (0, 2, 3, 4), t4, (5, 6, 7, 2, 8, 9, 10, 4), (5, 3, 6, 7, 8, 9, 10, 1)) * -1.0 - t4new += einsum(t1, (0, 1), v.ooov, (0, 2, 3, 4), t4, (5, 6, 7, 2, 8, 9, 10, 4), (5, 6, 3, 7, 8, 9, 10, 1)) - t4new += einsum(t1, (0, 1), v.ooov, (0, 2, 3, 4), t4, (5, 6, 7, 2, 8, 9, 10, 4), (5, 6, 7, 3, 8, 9, 10, 1)) * -1.0 - t4new += einsum(t1, (0, 1), v.ooov, (0, 2, 3, 1), t4, (4, 5, 6, 2, 7, 8, 9, 10), (3, 4, 5, 6, 7, 8, 9, 10)) * -1.0 - t4new += einsum(t1, (0, 1), v.ooov, (0, 2, 3, 1), t4, (4, 5, 6, 2, 7, 8, 9, 10), (4, 3, 5, 6, 7, 8, 9, 10)) - t4new += einsum(t1, (0, 1), v.ooov, (0, 2, 3, 1), t4, (4, 5, 6, 2, 7, 8, 9, 10), (4, 5, 3, 6, 7, 8, 9, 10)) * -1.0 - t4new += einsum(t1, (0, 1), v.ooov, (0, 2, 3, 1), t4, (4, 5, 6, 2, 7, 8, 9, 10), (4, 5, 6, 3, 7, 8, 9, 10)) - t4new += einsum(t1, (0, 1), v.ovvv, (2, 3, 1, 4), t4, (5, 6, 7, 2, 8, 9, 10, 4), (0, 5, 6, 7, 3, 8, 9, 10)) * -1.0 - t4new += einsum(t1, (0, 1), v.ovvv, (2, 3, 1, 4), t4, (5, 6, 7, 2, 8, 9, 10, 4), (0, 5, 6, 7, 8, 3, 9, 10)) - t4new += einsum(t1, (0, 1), v.ovvv, (2, 3, 1, 4), t4, (5, 6, 7, 2, 8, 9, 10, 4), (0, 5, 6, 7, 8, 9, 3, 10)) * -1.0 - t4new += einsum(t1, (0, 1), v.ovvv, (2, 3, 1, 4), t4, (5, 6, 7, 2, 8, 9, 10, 4), (0, 5, 6, 7, 8, 9, 10, 3)) - t4new += einsum(t1, (0, 1), v.ovvv, (2, 3, 1, 4), t4, (5, 6, 7, 2, 8, 9, 10, 4), (5, 0, 6, 7, 3, 8, 9, 10)) - t4new += einsum(t1, (0, 1), v.ovvv, (2, 3, 1, 4), t4, (5, 6, 7, 2, 8, 9, 10, 4), (5, 0, 6, 7, 8, 3, 9, 10)) * -1.0 - t4new += einsum(t1, (0, 1), v.ovvv, (2, 3, 1, 4), t4, (5, 6, 7, 2, 8, 9, 10, 4), (5, 0, 6, 7, 8, 9, 3, 10)) - t4new += einsum(t1, (0, 1), v.ovvv, (2, 3, 1, 4), t4, (5, 6, 7, 2, 8, 9, 10, 4), (5, 0, 6, 7, 8, 9, 10, 3)) * -1.0 - t4new += einsum(t1, (0, 1), v.ovvv, (2, 3, 1, 4), t4, (5, 6, 7, 2, 8, 9, 10, 4), (5, 6, 0, 7, 3, 8, 9, 10)) * -1.0 - t4new += einsum(t1, (0, 1), v.ovvv, (2, 3, 1, 4), t4, (5, 6, 7, 2, 8, 9, 10, 4), (5, 6, 0, 7, 8, 3, 9, 10)) - t4new += einsum(t1, (0, 1), v.ovvv, (2, 3, 1, 4), t4, (5, 6, 7, 2, 8, 9, 10, 4), (5, 6, 0, 7, 8, 9, 3, 10)) * -1.0 - t4new += einsum(t1, (0, 1), v.ovvv, (2, 3, 1, 4), t4, (5, 6, 7, 2, 8, 9, 10, 4), (5, 6, 0, 7, 8, 9, 10, 3)) - t4new += einsum(t1, (0, 1), v.ovvv, (2, 3, 1, 4), t4, (5, 6, 7, 2, 8, 9, 10, 4), (5, 6, 7, 0, 3, 8, 9, 10)) - t4new += einsum(t1, (0, 1), v.ovvv, (2, 3, 1, 4), t4, (5, 6, 7, 2, 8, 9, 10, 4), (5, 6, 7, 0, 8, 3, 9, 10)) * -1.0 - t4new += einsum(t1, (0, 1), v.ovvv, (2, 3, 1, 4), t4, (5, 6, 7, 2, 8, 9, 10, 4), (5, 6, 7, 0, 8, 9, 3, 10)) - t4new += einsum(t1, (0, 1), v.ovvv, (2, 3, 1, 4), t4, (5, 6, 7, 2, 8, 9, 10, 4), (5, 6, 7, 0, 8, 9, 10, 3)) * -1.0 - t4new += einsum(t1, (0, 1), v.ovvv, (0, 2, 3, 4), t4, (5, 6, 7, 8, 9, 10, 3, 4), (5, 6, 7, 8, 1, 2, 9, 10)) * -0.5 - t4new += einsum(t1, (0, 1), v.ovvv, (0, 2, 3, 4), t4, (5, 6, 7, 8, 9, 10, 3, 4), (5, 6, 7, 8, 1, 9, 2, 10)) * 0.5 - t4new += einsum(t1, (0, 1), v.ovvv, (0, 2, 3, 4), t4, (5, 6, 7, 8, 9, 10, 3, 4), (5, 6, 7, 8, 1, 9, 10, 2)) * -0.5 - t4new += einsum(t1, (0, 1), v.ovvv, (0, 2, 3, 4), t4, (5, 6, 7, 8, 9, 10, 3, 4), (5, 6, 7, 8, 2, 1, 9, 10)) * 0.5 - t4new += einsum(t1, (0, 1), v.ovvv, (0, 2, 3, 4), t4, (5, 6, 7, 8, 9, 10, 3, 4), (5, 6, 7, 8, 9, 1, 2, 10)) * -0.5 - t4new += einsum(t1, (0, 1), v.ovvv, (0, 2, 3, 4), t4, (5, 6, 7, 8, 9, 10, 3, 4), (5, 6, 7, 8, 9, 1, 10, 2)) * 0.5 - t4new += einsum(t1, (0, 1), v.ovvv, (0, 2, 3, 4), t4, (5, 6, 7, 8, 9, 10, 3, 4), (5, 6, 7, 8, 2, 9, 1, 10)) * -0.5 - t4new += einsum(t1, (0, 1), v.ovvv, (0, 2, 3, 4), t4, (5, 6, 7, 8, 9, 10, 3, 4), (5, 6, 7, 8, 9, 2, 1, 10)) * 0.5 - t4new += einsum(t1, (0, 1), v.ovvv, (0, 2, 3, 4), t4, (5, 6, 7, 8, 9, 10, 3, 4), (5, 6, 7, 8, 9, 10, 1, 2)) * -0.5 - t4new += einsum(t1, (0, 1), v.ovvv, (0, 2, 3, 4), t4, (5, 6, 7, 8, 9, 10, 3, 4), (5, 6, 7, 8, 2, 9, 10, 1)) * 0.5 - t4new += einsum(t1, (0, 1), v.ovvv, (0, 2, 3, 4), t4, (5, 6, 7, 8, 9, 10, 3, 4), (5, 6, 7, 8, 9, 2, 10, 1)) * -0.5 - t4new += einsum(t1, (0, 1), v.ovvv, (0, 2, 3, 4), t4, (5, 6, 7, 8, 9, 10, 3, 4), (5, 6, 7, 8, 9, 10, 2, 1)) * 0.5 - t4new += einsum(t1, (0, 1), v.ovvv, (0, 2, 1, 3), t4, (4, 5, 6, 7, 8, 9, 10, 3), (4, 5, 6, 7, 2, 8, 9, 10)) * -1.0 - t4new += einsum(t1, (0, 1), v.ovvv, (0, 2, 1, 3), t4, (4, 5, 6, 7, 8, 9, 10, 3), (4, 5, 6, 7, 8, 2, 9, 10)) - t4new += einsum(t1, (0, 1), v.ovvv, (0, 2, 1, 3), t4, (4, 5, 6, 7, 8, 9, 10, 3), (4, 5, 6, 7, 8, 9, 2, 10)) * -1.0 - t4new += einsum(t1, (0, 1), v.ovvv, (0, 2, 1, 3), t4, (4, 5, 6, 7, 8, 9, 10, 3), (4, 5, 6, 7, 8, 9, 10, 2)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.oooo, (8, 9, 1, 5), (0, 4, 8, 9, 2, 6, 3, 7)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.oooo, (8, 9, 1, 5), (0, 4, 8, 9, 2, 6, 7, 3)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.oooo, (8, 9, 1, 5), (0, 4, 8, 9, 2, 3, 6, 7)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.oooo, (8, 9, 1, 5), (0, 4, 8, 9, 6, 2, 3, 7)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.oooo, (8, 9, 1, 5), (0, 4, 8, 9, 6, 2, 7, 3)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.oooo, (8, 9, 1, 5), (0, 4, 8, 9, 6, 7, 2, 3)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.oooo, (8, 9, 1, 5), (0, 8, 4, 9, 2, 6, 3, 7)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.oooo, (8, 9, 1, 5), (0, 8, 4, 9, 2, 6, 7, 3)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.oooo, (8, 9, 1, 5), (0, 8, 4, 9, 2, 3, 6, 7)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.oooo, (8, 9, 1, 5), (0, 8, 4, 9, 6, 2, 3, 7)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.oooo, (8, 9, 1, 5), (0, 8, 4, 9, 6, 2, 7, 3)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.oooo, (8, 9, 1, 5), (0, 8, 4, 9, 6, 7, 2, 3)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.oooo, (8, 9, 1, 5), (0, 8, 9, 4, 2, 6, 3, 7)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.oooo, (8, 9, 1, 5), (0, 8, 9, 4, 2, 6, 7, 3)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.oooo, (8, 9, 1, 5), (0, 8, 9, 4, 2, 3, 6, 7)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.oooo, (8, 9, 1, 5), (0, 8, 9, 4, 6, 2, 3, 7)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.oooo, (8, 9, 1, 5), (0, 8, 9, 4, 6, 2, 7, 3)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.oooo, (8, 9, 1, 5), (0, 8, 9, 4, 6, 7, 2, 3)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.oooo, (8, 9, 1, 5), (8, 0, 4, 9, 2, 6, 3, 7)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.oooo, (8, 9, 1, 5), (8, 0, 4, 9, 2, 6, 7, 3)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.oooo, (8, 9, 1, 5), (8, 0, 4, 9, 2, 3, 6, 7)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.oooo, (8, 9, 1, 5), (8, 0, 4, 9, 6, 2, 3, 7)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.oooo, (8, 9, 1, 5), (8, 0, 4, 9, 6, 2, 7, 3)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.oooo, (8, 9, 1, 5), (8, 0, 4, 9, 6, 7, 2, 3)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.oooo, (8, 9, 1, 5), (8, 0, 9, 4, 2, 6, 3, 7)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.oooo, (8, 9, 1, 5), (8, 0, 9, 4, 2, 6, 7, 3)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.oooo, (8, 9, 1, 5), (8, 0, 9, 4, 2, 3, 6, 7)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.oooo, (8, 9, 1, 5), (8, 0, 9, 4, 6, 2, 3, 7)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.oooo, (8, 9, 1, 5), (8, 0, 9, 4, 6, 2, 7, 3)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.oooo, (8, 9, 1, 5), (8, 0, 9, 4, 6, 7, 2, 3)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.oooo, (8, 9, 1, 5), (8, 9, 0, 4, 2, 6, 3, 7)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.oooo, (8, 9, 1, 5), (8, 9, 0, 4, 2, 6, 7, 3)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.oooo, (8, 9, 1, 5), (8, 9, 0, 4, 2, 3, 6, 7)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.oooo, (8, 9, 1, 5), (8, 9, 0, 4, 6, 2, 3, 7)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.oooo, (8, 9, 1, 5), (8, 9, 0, 4, 6, 2, 7, 3)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.oooo, (8, 9, 1, 5), (8, 9, 0, 4, 6, 7, 2, 3)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 4, 8, 1, 2, 6, 7, 9)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 4, 8, 1, 2, 6, 9, 7)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 4, 8, 1, 2, 9, 6, 7)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 4, 8, 1, 6, 2, 7, 9)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 4, 8, 1, 6, 2, 9, 7)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 4, 8, 1, 9, 2, 6, 7)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 4, 8, 1, 6, 7, 2, 9)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 4, 8, 1, 6, 9, 2, 7)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 4, 8, 1, 9, 6, 2, 7)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 4, 8, 1, 6, 7, 9, 2)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 4, 8, 1, 6, 9, 7, 2)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 4, 8, 1, 9, 6, 7, 2)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 7, 1, 9), (0, 4, 8, 5, 2, 6, 3, 9)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 7, 1, 9), (0, 4, 8, 5, 2, 6, 9, 3)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 7, 1, 9), (0, 4, 8, 5, 2, 3, 6, 9)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 7, 1, 9), (0, 4, 8, 5, 2, 9, 6, 3)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 7, 1, 9), (0, 4, 8, 5, 2, 3, 9, 6)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 7, 1, 9), (0, 4, 8, 5, 2, 9, 3, 6)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 7, 1, 9), (0, 4, 8, 5, 6, 2, 3, 9)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 7, 1, 9), (0, 4, 8, 5, 6, 2, 9, 3)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 7, 1, 9), (0, 4, 8, 5, 9, 2, 6, 3)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 7, 1, 9), (0, 4, 8, 5, 9, 2, 3, 6)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 7, 1, 9), (0, 4, 8, 5, 6, 9, 2, 3)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 7, 1, 9), (0, 4, 8, 5, 9, 6, 2, 3)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 4, 1, 8, 2, 6, 7, 9)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 4, 1, 8, 2, 6, 9, 7)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 4, 1, 8, 2, 9, 6, 7)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 4, 1, 8, 6, 2, 7, 9)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 4, 1, 8, 6, 2, 9, 7)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 4, 1, 8, 9, 2, 6, 7)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 4, 1, 8, 6, 7, 2, 9)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 4, 1, 8, 6, 9, 2, 7)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 4, 1, 8, 9, 6, 2, 7)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 4, 1, 8, 6, 7, 9, 2)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 4, 1, 8, 6, 9, 7, 2)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 4, 1, 8, 9, 6, 7, 2)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 7, 1, 9), (0, 4, 5, 8, 2, 6, 3, 9)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 7, 1, 9), (0, 4, 5, 8, 2, 6, 9, 3)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 7, 1, 9), (0, 4, 5, 8, 2, 3, 6, 9)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 7, 1, 9), (0, 4, 5, 8, 2, 9, 6, 3)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 7, 1, 9), (0, 4, 5, 8, 2, 3, 9, 6)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 7, 1, 9), (0, 4, 5, 8, 2, 9, 3, 6)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 7, 1, 9), (0, 4, 5, 8, 6, 2, 3, 9)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 7, 1, 9), (0, 4, 5, 8, 6, 2, 9, 3)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 7, 1, 9), (0, 4, 5, 8, 9, 2, 6, 3)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 7, 1, 9), (0, 4, 5, 8, 9, 2, 3, 6)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 7, 1, 9), (0, 4, 5, 8, 6, 9, 2, 3)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 7, 1, 9), (0, 4, 5, 8, 9, 6, 2, 3)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 8, 4, 1, 2, 6, 7, 9)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 8, 4, 1, 2, 6, 9, 7)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 8, 4, 1, 2, 9, 6, 7)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 8, 4, 1, 6, 2, 7, 9)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 8, 4, 1, 6, 2, 9, 7)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 8, 4, 1, 9, 2, 6, 7)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 8, 4, 1, 6, 7, 2, 9)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 8, 4, 1, 6, 9, 2, 7)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 8, 4, 1, 9, 6, 2, 7)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 8, 4, 1, 6, 7, 9, 2)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 8, 4, 1, 6, 9, 7, 2)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 8, 4, 1, 9, 6, 7, 2)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 7, 1, 9), (0, 8, 4, 5, 2, 6, 3, 9)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 7, 1, 9), (0, 8, 4, 5, 2, 6, 9, 3)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 7, 1, 9), (0, 8, 4, 5, 2, 3, 6, 9)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 7, 1, 9), (0, 8, 4, 5, 2, 9, 6, 3)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 7, 1, 9), (0, 8, 4, 5, 2, 3, 9, 6)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 7, 1, 9), (0, 8, 4, 5, 2, 9, 3, 6)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 7, 1, 9), (0, 8, 4, 5, 6, 2, 3, 9)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 7, 1, 9), (0, 8, 4, 5, 6, 2, 9, 3)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 7, 1, 9), (0, 8, 4, 5, 9, 2, 6, 3)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 7, 1, 9), (0, 8, 4, 5, 9, 2, 3, 6)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 7, 1, 9), (0, 8, 4, 5, 6, 9, 2, 3)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 7, 1, 9), (0, 8, 4, 5, 9, 6, 2, 3)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 1, 4, 8, 2, 6, 7, 9)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 1, 4, 8, 2, 6, 9, 7)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 1, 4, 8, 2, 9, 6, 7)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 1, 4, 8, 6, 2, 7, 9)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 1, 4, 8, 6, 2, 9, 7)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 1, 4, 8, 9, 2, 6, 7)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 1, 4, 8, 6, 7, 2, 9)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 1, 4, 8, 6, 9, 2, 7)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 1, 4, 8, 9, 6, 2, 7)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 1, 4, 8, 6, 7, 9, 2)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 1, 4, 8, 6, 9, 7, 2)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 1, 4, 8, 9, 6, 7, 2)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 8, 1, 4, 2, 6, 7, 9)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 8, 1, 4, 2, 6, 9, 7)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 8, 1, 4, 2, 9, 6, 7)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 8, 1, 4, 6, 2, 7, 9)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 8, 1, 4, 6, 2, 9, 7)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 8, 1, 4, 9, 2, 6, 7)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 8, 1, 4, 6, 7, 2, 9)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 8, 1, 4, 6, 9, 2, 7)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 8, 1, 4, 9, 6, 2, 7)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 8, 1, 4, 6, 7, 9, 2)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 8, 1, 4, 6, 9, 7, 2)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 8, 1, 4, 9, 6, 7, 2)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 1, 8, 4, 2, 6, 7, 9)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 1, 8, 4, 2, 6, 9, 7)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 1, 8, 4, 2, 9, 6, 7)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 1, 8, 4, 6, 2, 7, 9)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 1, 8, 4, 6, 2, 9, 7)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 1, 8, 4, 9, 2, 6, 7)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 1, 8, 4, 6, 7, 2, 9)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 1, 8, 4, 6, 9, 2, 7)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 1, 8, 4, 9, 6, 2, 7)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 1, 8, 4, 6, 7, 9, 2)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 1, 8, 4, 6, 9, 7, 2)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 1, 8, 4, 9, 6, 7, 2)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (8, 0, 4, 1, 2, 6, 7, 9)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (8, 0, 4, 1, 2, 6, 9, 7)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (8, 0, 4, 1, 2, 9, 6, 7)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (8, 0, 4, 1, 6, 2, 7, 9)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (8, 0, 4, 1, 6, 2, 9, 7)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (8, 0, 4, 1, 9, 2, 6, 7)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (8, 0, 4, 1, 6, 7, 2, 9)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (8, 0, 4, 1, 6, 9, 2, 7)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (8, 0, 4, 1, 9, 6, 2, 7)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (8, 0, 4, 1, 6, 7, 9, 2)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (8, 0, 4, 1, 6, 9, 7, 2)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (8, 0, 4, 1, 9, 6, 7, 2)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 7, 1, 9), (8, 0, 4, 5, 2, 6, 3, 9)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 7, 1, 9), (8, 0, 4, 5, 2, 6, 9, 3)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 7, 1, 9), (8, 0, 4, 5, 2, 3, 6, 9)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 7, 1, 9), (8, 0, 4, 5, 2, 9, 6, 3)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 7, 1, 9), (8, 0, 4, 5, 2, 3, 9, 6)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 7, 1, 9), (8, 0, 4, 5, 2, 9, 3, 6)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 7, 1, 9), (8, 0, 4, 5, 6, 2, 3, 9)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 7, 1, 9), (8, 0, 4, 5, 6, 2, 9, 3)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 7, 1, 9), (8, 0, 4, 5, 9, 2, 6, 3)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 7, 1, 9), (8, 0, 4, 5, 9, 2, 3, 6)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 7, 1, 9), (8, 0, 4, 5, 6, 9, 2, 3)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 7, 1, 9), (8, 0, 4, 5, 9, 6, 2, 3)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (8, 0, 1, 4, 2, 6, 7, 9)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (8, 0, 1, 4, 2, 6, 9, 7)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (8, 0, 1, 4, 2, 9, 6, 7)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (8, 0, 1, 4, 6, 2, 7, 9)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (8, 0, 1, 4, 6, 2, 9, 7)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (8, 0, 1, 4, 9, 2, 6, 7)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (8, 0, 1, 4, 6, 7, 2, 9)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (8, 0, 1, 4, 6, 9, 2, 7)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (8, 0, 1, 4, 9, 6, 2, 7)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (8, 0, 1, 4, 6, 7, 9, 2)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (8, 0, 1, 4, 6, 9, 7, 2)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (8, 0, 1, 4, 9, 6, 7, 2)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.vvvv, (8, 9, 3, 7), (0, 4, 1, 5, 8, 9, 2, 6)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.vvvv, (8, 9, 3, 7), (0, 4, 1, 5, 8, 9, 6, 2)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.vvvv, (8, 9, 3, 7), (0, 4, 1, 5, 8, 2, 9, 6)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.vvvv, (8, 9, 3, 7), (0, 4, 1, 5, 8, 6, 9, 2)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.vvvv, (8, 9, 3, 7), (0, 4, 1, 5, 8, 2, 6, 9)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.vvvv, (8, 9, 3, 7), (0, 4, 1, 5, 8, 6, 2, 9)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.vvvv, (8, 9, 3, 7), (0, 4, 5, 1, 8, 9, 2, 6)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.vvvv, (8, 9, 3, 7), (0, 4, 5, 1, 8, 9, 6, 2)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.vvvv, (8, 9, 3, 7), (0, 4, 5, 1, 8, 2, 9, 6)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.vvvv, (8, 9, 3, 7), (0, 4, 5, 1, 8, 6, 9, 2)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.vvvv, (8, 9, 3, 7), (0, 4, 5, 1, 8, 2, 6, 9)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.vvvv, (8, 9, 3, 7), (0, 4, 5, 1, 8, 6, 2, 9)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.vvvv, (8, 9, 3, 7), (0, 4, 1, 5, 2, 8, 9, 6)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.vvvv, (8, 9, 3, 7), (0, 4, 1, 5, 6, 8, 9, 2)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.vvvv, (8, 9, 3, 7), (0, 4, 1, 5, 2, 8, 6, 9)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.vvvv, (8, 9, 3, 7), (0, 4, 1, 5, 6, 8, 2, 9)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.vvvv, (8, 9, 3, 7), (0, 4, 5, 1, 2, 8, 9, 6)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.vvvv, (8, 9, 3, 7), (0, 4, 5, 1, 6, 8, 9, 2)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.vvvv, (8, 9, 3, 7), (0, 4, 5, 1, 2, 8, 6, 9)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.vvvv, (8, 9, 3, 7), (0, 4, 5, 1, 6, 8, 2, 9)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.vvvv, (8, 9, 3, 7), (0, 4, 1, 5, 2, 6, 8, 9)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.vvvv, (8, 9, 3, 7), (0, 4, 1, 5, 6, 2, 8, 9)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.vvvv, (8, 9, 3, 7), (0, 4, 5, 1, 2, 6, 8, 9)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.vvvv, (8, 9, 3, 7), (0, 4, 5, 1, 6, 2, 8, 9)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.vvvv, (8, 9, 3, 7), (0, 1, 4, 5, 8, 9, 2, 6)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.vvvv, (8, 9, 3, 7), (0, 1, 4, 5, 8, 9, 6, 2)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.vvvv, (8, 9, 3, 7), (0, 1, 4, 5, 8, 2, 9, 6)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.vvvv, (8, 9, 3, 7), (0, 1, 4, 5, 8, 6, 9, 2)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.vvvv, (8, 9, 3, 7), (0, 1, 4, 5, 8, 2, 6, 9)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.vvvv, (8, 9, 3, 7), (0, 1, 4, 5, 8, 6, 2, 9)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.vvvv, (8, 9, 3, 7), (0, 1, 4, 5, 2, 8, 9, 6)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.vvvv, (8, 9, 3, 7), (0, 1, 4, 5, 6, 8, 9, 2)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.vvvv, (8, 9, 3, 7), (0, 1, 4, 5, 2, 8, 6, 9)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.vvvv, (8, 9, 3, 7), (0, 1, 4, 5, 6, 8, 2, 9)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.vvvv, (8, 9, 3, 7), (0, 1, 4, 5, 2, 6, 8, 9)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.vvvv, (8, 9, 3, 7), (0, 1, 4, 5, 6, 2, 8, 9)) - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), t3, (7, 4, 5, 8, 9, 10), (0, 1, 6, 7, 2, 8, 9, 10)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), t3, (7, 4, 5, 8, 9, 10), (0, 1, 7, 6, 2, 8, 9, 10)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), t3, (7, 4, 5, 8, 9, 10), (0, 1, 6, 7, 8, 2, 9, 10)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), t3, (7, 4, 5, 8, 9, 10), (0, 1, 7, 6, 8, 2, 9, 10)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), t3, (7, 4, 5, 8, 9, 10), (0, 1, 6, 7, 8, 9, 2, 10)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), t3, (7, 4, 5, 8, 9, 10), (0, 1, 7, 6, 8, 9, 2, 10)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), t3, (7, 4, 5, 8, 9, 10), (0, 1, 6, 7, 8, 9, 10, 2)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), t3, (7, 4, 5, 8, 9, 10), (0, 1, 7, 6, 8, 9, 10, 2)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), t3, (7, 4, 5, 8, 9, 10), (0, 6, 1, 7, 2, 8, 9, 10)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), t3, (7, 4, 5, 8, 9, 10), (0, 7, 1, 6, 2, 8, 9, 10)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), t3, (7, 4, 5, 8, 9, 10), (0, 6, 1, 7, 8, 2, 9, 10)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), t3, (7, 4, 5, 8, 9, 10), (0, 7, 1, 6, 8, 2, 9, 10)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), t3, (7, 4, 5, 8, 9, 10), (0, 6, 1, 7, 8, 9, 2, 10)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), t3, (7, 4, 5, 8, 9, 10), (0, 7, 1, 6, 8, 9, 2, 10)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), t3, (7, 4, 5, 8, 9, 10), (0, 6, 1, 7, 8, 9, 10, 2)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), t3, (7, 4, 5, 8, 9, 10), (0, 7, 1, 6, 8, 9, 10, 2)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), t3, (7, 4, 5, 8, 9, 10), (0, 6, 7, 1, 2, 8, 9, 10)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), t3, (7, 4, 5, 8, 9, 10), (0, 7, 6, 1, 2, 8, 9, 10)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), t3, (7, 4, 5, 8, 9, 10), (0, 6, 7, 1, 8, 2, 9, 10)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), t3, (7, 4, 5, 8, 9, 10), (0, 7, 6, 1, 8, 2, 9, 10)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), t3, (7, 4, 5, 8, 9, 10), (0, 6, 7, 1, 8, 9, 2, 10)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), t3, (7, 4, 5, 8, 9, 10), (0, 7, 6, 1, 8, 9, 2, 10)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), t3, (7, 4, 5, 8, 9, 10), (0, 6, 7, 1, 8, 9, 10, 2)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), t3, (7, 4, 5, 8, 9, 10), (0, 7, 6, 1, 8, 9, 10, 2)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (0, 5, 7, 8, 2, 3, 9, 10)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (0, 5, 7, 8, 2, 9, 3, 10)) - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (0, 5, 7, 8, 2, 9, 10, 3)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 3), t3, (6, 7, 4, 8, 9, 10), (0, 5, 6, 7, 2, 8, 9, 10)) - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (0, 7, 5, 8, 2, 3, 9, 10)) - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (0, 7, 5, 8, 2, 9, 3, 10)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (0, 7, 5, 8, 2, 9, 10, 3)) - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 3), t3, (6, 7, 4, 8, 9, 10), (0, 6, 5, 7, 2, 8, 9, 10)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (0, 7, 8, 5, 2, 3, 9, 10)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (0, 7, 8, 5, 2, 9, 3, 10)) - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (0, 7, 8, 5, 2, 9, 10, 3)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 3), t3, (6, 7, 4, 8, 9, 10), (0, 6, 7, 5, 2, 8, 9, 10)) - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (0, 5, 7, 8, 9, 2, 3, 10)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (0, 5, 7, 8, 9, 2, 10, 3)) - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 3), t3, (6, 7, 4, 8, 9, 10), (0, 5, 6, 7, 8, 2, 9, 10)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (0, 7, 5, 8, 9, 2, 3, 10)) - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (0, 7, 5, 8, 9, 2, 10, 3)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 3), t3, (6, 7, 4, 8, 9, 10), (0, 6, 5, 7, 8, 2, 9, 10)) - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (0, 7, 8, 5, 9, 2, 3, 10)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (0, 7, 8, 5, 9, 2, 10, 3)) - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 3), t3, (6, 7, 4, 8, 9, 10), (0, 6, 7, 5, 8, 2, 9, 10)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (0, 5, 7, 8, 9, 10, 2, 3)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 3), t3, (6, 7, 4, 8, 9, 10), (0, 5, 6, 7, 8, 9, 2, 10)) - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (0, 7, 5, 8, 9, 10, 2, 3)) - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 3), t3, (6, 7, 4, 8, 9, 10), (0, 6, 5, 7, 8, 9, 2, 10)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (0, 7, 8, 5, 9, 10, 2, 3)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 3), t3, (6, 7, 4, 8, 9, 10), (0, 6, 7, 5, 8, 9, 2, 10)) - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 3), t3, (6, 7, 4, 8, 9, 10), (0, 5, 6, 7, 8, 9, 10, 2)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 3), t3, (6, 7, 4, 8, 9, 10), (0, 6, 5, 7, 8, 9, 10, 2)) - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 3), t3, (6, 7, 4, 8, 9, 10), (0, 6, 7, 5, 8, 9, 10, 2)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), t3, (7, 4, 5, 8, 9, 10), (6, 0, 1, 7, 2, 8, 9, 10)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), t3, (7, 4, 5, 8, 9, 10), (7, 0, 1, 6, 2, 8, 9, 10)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), t3, (7, 4, 5, 8, 9, 10), (6, 0, 1, 7, 8, 2, 9, 10)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), t3, (7, 4, 5, 8, 9, 10), (7, 0, 1, 6, 8, 2, 9, 10)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), t3, (7, 4, 5, 8, 9, 10), (6, 0, 1, 7, 8, 9, 2, 10)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), t3, (7, 4, 5, 8, 9, 10), (7, 0, 1, 6, 8, 9, 2, 10)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), t3, (7, 4, 5, 8, 9, 10), (6, 0, 1, 7, 8, 9, 10, 2)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), t3, (7, 4, 5, 8, 9, 10), (7, 0, 1, 6, 8, 9, 10, 2)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), t3, (7, 4, 5, 8, 9, 10), (6, 0, 7, 1, 2, 8, 9, 10)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), t3, (7, 4, 5, 8, 9, 10), (7, 0, 6, 1, 2, 8, 9, 10)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), t3, (7, 4, 5, 8, 9, 10), (6, 0, 7, 1, 8, 2, 9, 10)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), t3, (7, 4, 5, 8, 9, 10), (7, 0, 6, 1, 8, 2, 9, 10)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), t3, (7, 4, 5, 8, 9, 10), (6, 0, 7, 1, 8, 9, 2, 10)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), t3, (7, 4, 5, 8, 9, 10), (7, 0, 6, 1, 8, 9, 2, 10)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), t3, (7, 4, 5, 8, 9, 10), (6, 0, 7, 1, 8, 9, 10, 2)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), t3, (7, 4, 5, 8, 9, 10), (7, 0, 6, 1, 8, 9, 10, 2)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (5, 0, 7, 8, 2, 3, 9, 10)) - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (5, 0, 7, 8, 2, 9, 3, 10)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (5, 0, 7, 8, 2, 9, 10, 3)) - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 3), t3, (6, 7, 4, 8, 9, 10), (5, 0, 6, 7, 2, 8, 9, 10)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (7, 0, 5, 8, 2, 3, 9, 10)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (7, 0, 5, 8, 2, 9, 3, 10)) - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (7, 0, 5, 8, 2, 9, 10, 3)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 3), t3, (6, 7, 4, 8, 9, 10), (6, 0, 5, 7, 2, 8, 9, 10)) - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (7, 0, 8, 5, 2, 3, 9, 10)) - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (7, 0, 8, 5, 2, 9, 3, 10)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (7, 0, 8, 5, 2, 9, 10, 3)) - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 3), t3, (6, 7, 4, 8, 9, 10), (6, 0, 7, 5, 2, 8, 9, 10)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (5, 0, 7, 8, 9, 2, 3, 10)) - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (5, 0, 7, 8, 9, 2, 10, 3)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 3), t3, (6, 7, 4, 8, 9, 10), (5, 0, 6, 7, 8, 2, 9, 10)) - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (7, 0, 5, 8, 9, 2, 3, 10)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (7, 0, 5, 8, 9, 2, 10, 3)) - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 3), t3, (6, 7, 4, 8, 9, 10), (6, 0, 5, 7, 8, 2, 9, 10)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (7, 0, 8, 5, 9, 2, 3, 10)) - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (7, 0, 8, 5, 9, 2, 10, 3)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 3), t3, (6, 7, 4, 8, 9, 10), (6, 0, 7, 5, 8, 2, 9, 10)) - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (5, 0, 7, 8, 9, 10, 2, 3)) - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 3), t3, (6, 7, 4, 8, 9, 10), (5, 0, 6, 7, 8, 9, 2, 10)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (7, 0, 5, 8, 9, 10, 2, 3)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 3), t3, (6, 7, 4, 8, 9, 10), (6, 0, 5, 7, 8, 9, 2, 10)) - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (7, 0, 8, 5, 9, 10, 2, 3)) - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 3), t3, (6, 7, 4, 8, 9, 10), (6, 0, 7, 5, 8, 9, 2, 10)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 3), t3, (6, 7, 4, 8, 9, 10), (5, 0, 6, 7, 8, 9, 10, 2)) - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 3), t3, (6, 7, 4, 8, 9, 10), (6, 0, 5, 7, 8, 9, 10, 2)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 3), t3, (6, 7, 4, 8, 9, 10), (6, 0, 7, 5, 8, 9, 10, 2)) - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), t3, (7, 4, 5, 8, 9, 10), (6, 7, 0, 1, 2, 8, 9, 10)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), t3, (7, 4, 5, 8, 9, 10), (7, 6, 0, 1, 2, 8, 9, 10)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), t3, (7, 4, 5, 8, 9, 10), (6, 7, 0, 1, 8, 2, 9, 10)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), t3, (7, 4, 5, 8, 9, 10), (7, 6, 0, 1, 8, 2, 9, 10)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), t3, (7, 4, 5, 8, 9, 10), (6, 7, 0, 1, 8, 9, 2, 10)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), t3, (7, 4, 5, 8, 9, 10), (7, 6, 0, 1, 8, 9, 2, 10)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), t3, (7, 4, 5, 8, 9, 10), (6, 7, 0, 1, 8, 9, 10, 2)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), t3, (7, 4, 5, 8, 9, 10), (7, 6, 0, 1, 8, 9, 10, 2)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (5, 7, 0, 8, 2, 3, 9, 10)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (5, 7, 0, 8, 2, 9, 3, 10)) - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (5, 7, 0, 8, 2, 9, 10, 3)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 3), t3, (6, 7, 4, 8, 9, 10), (5, 6, 0, 7, 2, 8, 9, 10)) - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (7, 5, 0, 8, 2, 3, 9, 10)) - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (7, 5, 0, 8, 2, 9, 3, 10)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (7, 5, 0, 8, 2, 9, 10, 3)) - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 3), t3, (6, 7, 4, 8, 9, 10), (6, 5, 0, 7, 2, 8, 9, 10)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (7, 8, 0, 5, 2, 3, 9, 10)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (7, 8, 0, 5, 2, 9, 3, 10)) - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (7, 8, 0, 5, 2, 9, 10, 3)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 3), t3, (6, 7, 4, 8, 9, 10), (6, 7, 0, 5, 2, 8, 9, 10)) - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (5, 7, 0, 8, 9, 2, 3, 10)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (5, 7, 0, 8, 9, 2, 10, 3)) - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 3), t3, (6, 7, 4, 8, 9, 10), (5, 6, 0, 7, 8, 2, 9, 10)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (7, 5, 0, 8, 9, 2, 3, 10)) - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (7, 5, 0, 8, 9, 2, 10, 3)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 3), t3, (6, 7, 4, 8, 9, 10), (6, 5, 0, 7, 8, 2, 9, 10)) - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (7, 8, 0, 5, 9, 2, 3, 10)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (7, 8, 0, 5, 9, 2, 10, 3)) - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 3), t3, (6, 7, 4, 8, 9, 10), (6, 7, 0, 5, 8, 2, 9, 10)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (5, 7, 0, 8, 9, 10, 2, 3)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 3), t3, (6, 7, 4, 8, 9, 10), (5, 6, 0, 7, 8, 9, 2, 10)) - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (7, 5, 0, 8, 9, 10, 2, 3)) - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 3), t3, (6, 7, 4, 8, 9, 10), (6, 5, 0, 7, 8, 9, 2, 10)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (7, 8, 0, 5, 9, 10, 2, 3)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 3), t3, (6, 7, 4, 8, 9, 10), (6, 7, 0, 5, 8, 9, 2, 10)) - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 3), t3, (6, 7, 4, 8, 9, 10), (5, 6, 0, 7, 8, 9, 10, 2)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 3), t3, (6, 7, 4, 8, 9, 10), (6, 5, 0, 7, 8, 9, 10, 2)) - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 3), t3, (6, 7, 4, 8, 9, 10), (6, 7, 0, 5, 8, 9, 10, 2)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (5, 7, 8, 0, 2, 3, 9, 10)) - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (5, 7, 8, 0, 2, 9, 3, 10)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (5, 7, 8, 0, 2, 9, 10, 3)) - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 3), t3, (6, 7, 4, 8, 9, 10), (5, 6, 7, 0, 2, 8, 9, 10)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (7, 5, 8, 0, 2, 3, 9, 10)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (7, 5, 8, 0, 2, 9, 3, 10)) - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (7, 5, 8, 0, 2, 9, 10, 3)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 3), t3, (6, 7, 4, 8, 9, 10), (6, 5, 7, 0, 2, 8, 9, 10)) - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (7, 8, 5, 0, 2, 3, 9, 10)) - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (7, 8, 5, 0, 2, 9, 3, 10)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (7, 8, 5, 0, 2, 9, 10, 3)) - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 3), t3, (6, 7, 4, 8, 9, 10), (6, 7, 5, 0, 2, 8, 9, 10)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (5, 7, 8, 0, 9, 2, 3, 10)) - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (5, 7, 8, 0, 9, 2, 10, 3)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 3), t3, (6, 7, 4, 8, 9, 10), (5, 6, 7, 0, 8, 2, 9, 10)) - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (7, 5, 8, 0, 9, 2, 3, 10)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (7, 5, 8, 0, 9, 2, 10, 3)) - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 3), t3, (6, 7, 4, 8, 9, 10), (6, 5, 7, 0, 8, 2, 9, 10)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (7, 8, 5, 0, 9, 2, 3, 10)) - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (7, 8, 5, 0, 9, 2, 10, 3)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 3), t3, (6, 7, 4, 8, 9, 10), (6, 7, 5, 0, 8, 2, 9, 10)) - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (5, 7, 8, 0, 9, 10, 2, 3)) - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 3), t3, (6, 7, 4, 8, 9, 10), (5, 6, 7, 0, 8, 9, 2, 10)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (7, 5, 8, 0, 9, 10, 2, 3)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 3), t3, (6, 7, 4, 8, 9, 10), (6, 5, 7, 0, 8, 9, 2, 10)) - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (7, 8, 5, 0, 9, 10, 2, 3)) - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 3), t3, (6, 7, 4, 8, 9, 10), (6, 7, 5, 0, 8, 9, 2, 10)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 3), t3, (6, 7, 4, 8, 9, 10), (5, 6, 7, 0, 8, 9, 10, 2)) - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 3), t3, (6, 7, 4, 8, 9, 10), (6, 5, 7, 0, 8, 9, 10, 2)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 3), t3, (6, 7, 4, 8, 9, 10), (6, 7, 5, 0, 8, 9, 10, 2)) - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (0, 1, 4, 5), t3, (6, 7, 8, 9, 10, 5), (4, 6, 7, 8, 2, 3, 9, 10)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (0, 1, 4, 5), t3, (6, 7, 8, 9, 10, 5), (4, 6, 7, 8, 2, 9, 3, 10)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (0, 1, 4, 5), t3, (6, 7, 8, 9, 10, 5), (4, 6, 7, 8, 2, 9, 10, 3)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (0, 1, 4, 5), t3, (6, 7, 8, 9, 10, 5), (6, 4, 7, 8, 2, 3, 9, 10)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (0, 1, 4, 5), t3, (6, 7, 8, 9, 10, 5), (6, 4, 7, 8, 2, 9, 3, 10)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (0, 1, 4, 5), t3, (6, 7, 8, 9, 10, 5), (6, 4, 7, 8, 2, 9, 10, 3)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (0, 1, 4, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 4, 8, 2, 3, 9, 10)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (0, 1, 4, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 4, 8, 2, 9, 3, 10)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (0, 1, 4, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 4, 8, 2, 9, 10, 3)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (0, 1, 4, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 8, 4, 2, 3, 9, 10)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (0, 1, 4, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 8, 4, 2, 9, 3, 10)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (0, 1, 4, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 8, 4, 2, 9, 10, 3)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (0, 1, 4, 5), t3, (6, 7, 8, 9, 10, 5), (4, 6, 7, 8, 9, 2, 3, 10)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (0, 1, 4, 5), t3, (6, 7, 8, 9, 10, 5), (4, 6, 7, 8, 9, 2, 10, 3)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (0, 1, 4, 5), t3, (6, 7, 8, 9, 10, 5), (6, 4, 7, 8, 9, 2, 3, 10)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (0, 1, 4, 5), t3, (6, 7, 8, 9, 10, 5), (6, 4, 7, 8, 9, 2, 10, 3)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (0, 1, 4, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 4, 8, 9, 2, 3, 10)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (0, 1, 4, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 4, 8, 9, 2, 10, 3)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (0, 1, 4, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 8, 4, 9, 2, 3, 10)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (0, 1, 4, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 8, 4, 9, 2, 10, 3)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (0, 1, 4, 5), t3, (6, 7, 8, 9, 10, 5), (4, 6, 7, 8, 9, 10, 2, 3)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (0, 1, 4, 5), t3, (6, 7, 8, 9, 10, 5), (6, 4, 7, 8, 9, 10, 2, 3)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (0, 1, 4, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 4, 8, 9, 10, 2, 3)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (0, 1, 4, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 8, 4, 9, 10, 2, 3)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (0, 1, 7, 8, 5, 2, 9, 10)) - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (0, 1, 7, 8, 5, 9, 2, 10)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (0, 1, 7, 8, 5, 9, 10, 2)) - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 2, 3), t3, (6, 7, 4, 8, 9, 10), (0, 1, 6, 7, 5, 8, 9, 10)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (0, 1, 7, 8, 2, 5, 9, 10)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (0, 1, 7, 8, 9, 5, 2, 10)) - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (0, 1, 7, 8, 9, 5, 10, 2)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 2, 3), t3, (6, 7, 4, 8, 9, 10), (0, 1, 6, 7, 8, 5, 9, 10)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (0, 1, 7, 8, 2, 9, 5, 10)) - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (0, 1, 7, 8, 9, 2, 5, 10)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (0, 1, 7, 8, 9, 10, 5, 2)) - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 2, 3), t3, (6, 7, 4, 8, 9, 10), (0, 1, 6, 7, 8, 9, 5, 10)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (0, 1, 7, 8, 2, 9, 10, 5)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (0, 1, 7, 8, 9, 2, 10, 5)) - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (0, 1, 7, 8, 9, 10, 2, 5)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 2, 3), t3, (6, 7, 4, 8, 9, 10), (0, 1, 6, 7, 8, 9, 10, 5)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (0, 7, 1, 8, 5, 2, 9, 10)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (0, 7, 1, 8, 5, 9, 2, 10)) - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (0, 7, 1, 8, 5, 9, 10, 2)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 2, 3), t3, (6, 7, 4, 8, 9, 10), (0, 6, 1, 7, 5, 8, 9, 10)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (0, 7, 1, 8, 2, 5, 9, 10)) - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (0, 7, 1, 8, 9, 5, 2, 10)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (0, 7, 1, 8, 9, 5, 10, 2)) - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 2, 3), t3, (6, 7, 4, 8, 9, 10), (0, 6, 1, 7, 8, 5, 9, 10)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (0, 7, 1, 8, 2, 9, 5, 10)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (0, 7, 1, 8, 9, 2, 5, 10)) - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (0, 7, 1, 8, 9, 10, 5, 2)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 2, 3), t3, (6, 7, 4, 8, 9, 10), (0, 6, 1, 7, 8, 9, 5, 10)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (0, 7, 1, 8, 2, 9, 10, 5)) - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (0, 7, 1, 8, 9, 2, 10, 5)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (0, 7, 1, 8, 9, 10, 2, 5)) - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 2, 3), t3, (6, 7, 4, 8, 9, 10), (0, 6, 1, 7, 8, 9, 10, 5)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (0, 7, 8, 1, 5, 2, 9, 10)) - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (0, 7, 8, 1, 5, 9, 2, 10)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (0, 7, 8, 1, 5, 9, 10, 2)) - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 2, 3), t3, (6, 7, 4, 8, 9, 10), (0, 6, 7, 1, 5, 8, 9, 10)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (0, 7, 8, 1, 2, 5, 9, 10)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (0, 7, 8, 1, 9, 5, 2, 10)) - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (0, 7, 8, 1, 9, 5, 10, 2)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 2, 3), t3, (6, 7, 4, 8, 9, 10), (0, 6, 7, 1, 8, 5, 9, 10)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (0, 7, 8, 1, 2, 9, 5, 10)) - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (0, 7, 8, 1, 9, 2, 5, 10)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (0, 7, 8, 1, 9, 10, 5, 2)) - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 2, 3), t3, (6, 7, 4, 8, 9, 10), (0, 6, 7, 1, 8, 9, 5, 10)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (0, 7, 8, 1, 2, 9, 10, 5)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (0, 7, 8, 1, 9, 2, 10, 5)) - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (0, 7, 8, 1, 9, 10, 2, 5)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 2, 3), t3, (6, 7, 4, 8, 9, 10), (0, 6, 7, 1, 8, 9, 10, 5)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 6), t3, (7, 8, 9, 10, 5, 6), (0, 7, 8, 9, 4, 2, 3, 10)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 6), t3, (7, 8, 9, 10, 5, 6), (0, 7, 8, 9, 4, 2, 10, 3)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 3, 5), t3, (6, 7, 8, 9, 10, 5), (0, 6, 7, 8, 4, 2, 9, 10)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 6), t3, (7, 8, 9, 10, 5, 6), (0, 7, 8, 9, 4, 10, 2, 3)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 3, 5), t3, (6, 7, 8, 9, 10, 5), (0, 6, 7, 8, 4, 9, 2, 10)) - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 3, 5), t3, (6, 7, 8, 9, 10, 5), (0, 6, 7, 8, 4, 9, 10, 2)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 6), t3, (7, 8, 9, 10, 5, 6), (0, 7, 8, 9, 2, 4, 3, 10)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 6), t3, (7, 8, 9, 10, 5, 6), (0, 7, 8, 9, 2, 4, 10, 3)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 3, 5), t3, (6, 7, 8, 9, 10, 5), (0, 6, 7, 8, 2, 4, 9, 10)) - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 6), t3, (7, 8, 9, 10, 5, 6), (0, 7, 8, 9, 10, 4, 2, 3)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 3, 5), t3, (6, 7, 8, 9, 10, 5), (0, 6, 7, 8, 9, 4, 2, 10)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 3, 5), t3, (6, 7, 8, 9, 10, 5), (0, 6, 7, 8, 9, 4, 10, 2)) - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 6), t3, (7, 8, 9, 10, 5, 6), (0, 7, 8, 9, 2, 3, 4, 10)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 6), t3, (7, 8, 9, 10, 5, 6), (0, 7, 8, 9, 2, 10, 4, 3)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 3, 5), t3, (6, 7, 8, 9, 10, 5), (0, 6, 7, 8, 2, 9, 4, 10)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 6), t3, (7, 8, 9, 10, 5, 6), (0, 7, 8, 9, 10, 2, 4, 3)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 3, 5), t3, (6, 7, 8, 9, 10, 5), (0, 6, 7, 8, 9, 2, 4, 10)) - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 3, 5), t3, (6, 7, 8, 9, 10, 5), (0, 6, 7, 8, 9, 10, 4, 2)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 6), t3, (7, 8, 9, 10, 5, 6), (0, 7, 8, 9, 2, 3, 10, 4)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 6), t3, (7, 8, 9, 10, 5, 6), (0, 7, 8, 9, 2, 10, 3, 4)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 3, 5), t3, (6, 7, 8, 9, 10, 5), (0, 6, 7, 8, 2, 9, 10, 4)) - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 6), t3, (7, 8, 9, 10, 5, 6), (0, 7, 8, 9, 10, 2, 3, 4)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 3, 5), t3, (6, 7, 8, 9, 10, 5), (0, 6, 7, 8, 9, 2, 10, 4)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 3, 5), t3, (6, 7, 8, 9, 10, 5), (0, 6, 7, 8, 9, 10, 2, 4)) - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (7, 0, 1, 8, 5, 2, 9, 10)) - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (7, 0, 1, 8, 5, 9, 2, 10)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (7, 0, 1, 8, 5, 9, 10, 2)) - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 2, 3), t3, (6, 7, 4, 8, 9, 10), (6, 0, 1, 7, 5, 8, 9, 10)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (7, 0, 1, 8, 2, 5, 9, 10)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (7, 0, 1, 8, 9, 5, 2, 10)) - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (7, 0, 1, 8, 9, 5, 10, 2)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 2, 3), t3, (6, 7, 4, 8, 9, 10), (6, 0, 1, 7, 8, 5, 9, 10)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (7, 0, 1, 8, 2, 9, 5, 10)) - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (7, 0, 1, 8, 9, 2, 5, 10)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (7, 0, 1, 8, 9, 10, 5, 2)) - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 2, 3), t3, (6, 7, 4, 8, 9, 10), (6, 0, 1, 7, 8, 9, 5, 10)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (7, 0, 1, 8, 2, 9, 10, 5)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (7, 0, 1, 8, 9, 2, 10, 5)) - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (7, 0, 1, 8, 9, 10, 2, 5)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 2, 3), t3, (6, 7, 4, 8, 9, 10), (6, 0, 1, 7, 8, 9, 10, 5)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (7, 0, 8, 1, 5, 2, 9, 10)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (7, 0, 8, 1, 5, 9, 2, 10)) - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (7, 0, 8, 1, 5, 9, 10, 2)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 2, 3), t3, (6, 7, 4, 8, 9, 10), (6, 0, 7, 1, 5, 8, 9, 10)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (7, 0, 8, 1, 2, 5, 9, 10)) - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (7, 0, 8, 1, 9, 5, 2, 10)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (7, 0, 8, 1, 9, 5, 10, 2)) - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 2, 3), t3, (6, 7, 4, 8, 9, 10), (6, 0, 7, 1, 8, 5, 9, 10)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (7, 0, 8, 1, 2, 9, 5, 10)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (7, 0, 8, 1, 9, 2, 5, 10)) - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (7, 0, 8, 1, 9, 10, 5, 2)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 2, 3), t3, (6, 7, 4, 8, 9, 10), (6, 0, 7, 1, 8, 9, 5, 10)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (7, 0, 8, 1, 2, 9, 10, 5)) - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (7, 0, 8, 1, 9, 2, 10, 5)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (7, 0, 8, 1, 9, 10, 2, 5)) - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 2, 3), t3, (6, 7, 4, 8, 9, 10), (6, 0, 7, 1, 8, 9, 10, 5)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 6), t3, (7, 8, 9, 10, 5, 6), (7, 0, 8, 9, 4, 2, 3, 10)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 6), t3, (7, 8, 9, 10, 5, 6), (7, 0, 8, 9, 4, 2, 10, 3)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 3, 5), t3, (6, 7, 8, 9, 10, 5), (6, 0, 7, 8, 4, 2, 9, 10)) - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 6), t3, (7, 8, 9, 10, 5, 6), (7, 0, 8, 9, 4, 10, 2, 3)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 3, 5), t3, (6, 7, 8, 9, 10, 5), (6, 0, 7, 8, 4, 9, 2, 10)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 3, 5), t3, (6, 7, 8, 9, 10, 5), (6, 0, 7, 8, 4, 9, 10, 2)) - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 6), t3, (7, 8, 9, 10, 5, 6), (7, 0, 8, 9, 2, 4, 3, 10)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 6), t3, (7, 8, 9, 10, 5, 6), (7, 0, 8, 9, 2, 4, 10, 3)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 3, 5), t3, (6, 7, 8, 9, 10, 5), (6, 0, 7, 8, 2, 4, 9, 10)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 6), t3, (7, 8, 9, 10, 5, 6), (7, 0, 8, 9, 10, 4, 2, 3)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 3, 5), t3, (6, 7, 8, 9, 10, 5), (6, 0, 7, 8, 9, 4, 2, 10)) - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 3, 5), t3, (6, 7, 8, 9, 10, 5), (6, 0, 7, 8, 9, 4, 10, 2)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 6), t3, (7, 8, 9, 10, 5, 6), (7, 0, 8, 9, 2, 3, 4, 10)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 6), t3, (7, 8, 9, 10, 5, 6), (7, 0, 8, 9, 2, 10, 4, 3)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 3, 5), t3, (6, 7, 8, 9, 10, 5), (6, 0, 7, 8, 2, 9, 4, 10)) - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 6), t3, (7, 8, 9, 10, 5, 6), (7, 0, 8, 9, 10, 2, 4, 3)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 3, 5), t3, (6, 7, 8, 9, 10, 5), (6, 0, 7, 8, 9, 2, 4, 10)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 3, 5), t3, (6, 7, 8, 9, 10, 5), (6, 0, 7, 8, 9, 10, 4, 2)) - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 6), t3, (7, 8, 9, 10, 5, 6), (7, 0, 8, 9, 2, 3, 10, 4)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 6), t3, (7, 8, 9, 10, 5, 6), (7, 0, 8, 9, 2, 10, 3, 4)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 3, 5), t3, (6, 7, 8, 9, 10, 5), (6, 0, 7, 8, 2, 9, 10, 4)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 6), t3, (7, 8, 9, 10, 5, 6), (7, 0, 8, 9, 10, 2, 3, 4)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 3, 5), t3, (6, 7, 8, 9, 10, 5), (6, 0, 7, 8, 9, 2, 10, 4)) - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 3, 5), t3, (6, 7, 8, 9, 10, 5), (6, 0, 7, 8, 9, 10, 2, 4)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (7, 8, 0, 1, 5, 2, 9, 10)) - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (7, 8, 0, 1, 5, 9, 2, 10)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (7, 8, 0, 1, 5, 9, 10, 2)) - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 2, 3), t3, (6, 7, 4, 8, 9, 10), (6, 7, 0, 1, 5, 8, 9, 10)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (7, 8, 0, 1, 2, 5, 9, 10)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (7, 8, 0, 1, 9, 5, 2, 10)) - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (7, 8, 0, 1, 9, 5, 10, 2)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 2, 3), t3, (6, 7, 4, 8, 9, 10), (6, 7, 0, 1, 8, 5, 9, 10)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (7, 8, 0, 1, 2, 9, 5, 10)) - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (7, 8, 0, 1, 9, 2, 5, 10)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (7, 8, 0, 1, 9, 10, 5, 2)) - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 2, 3), t3, (6, 7, 4, 8, 9, 10), (6, 7, 0, 1, 8, 9, 5, 10)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (7, 8, 0, 1, 2, 9, 10, 5)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (7, 8, 0, 1, 9, 2, 10, 5)) - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (7, 8, 0, 1, 9, 10, 2, 5)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 2, 3), t3, (6, 7, 4, 8, 9, 10), (6, 7, 0, 1, 8, 9, 10, 5)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 6), t3, (7, 8, 9, 10, 5, 6), (7, 8, 0, 9, 4, 2, 3, 10)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 6), t3, (7, 8, 9, 10, 5, 6), (7, 8, 0, 9, 4, 2, 10, 3)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 3, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 0, 8, 4, 2, 9, 10)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 6), t3, (7, 8, 9, 10, 5, 6), (7, 8, 0, 9, 4, 10, 2, 3)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 3, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 0, 8, 4, 9, 2, 10)) - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 3, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 0, 8, 4, 9, 10, 2)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 6), t3, (7, 8, 9, 10, 5, 6), (7, 8, 0, 9, 2, 4, 3, 10)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 6), t3, (7, 8, 9, 10, 5, 6), (7, 8, 0, 9, 2, 4, 10, 3)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 3, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 0, 8, 2, 4, 9, 10)) - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 6), t3, (7, 8, 9, 10, 5, 6), (7, 8, 0, 9, 10, 4, 2, 3)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 3, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 0, 8, 9, 4, 2, 10)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 3, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 0, 8, 9, 4, 10, 2)) - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 6), t3, (7, 8, 9, 10, 5, 6), (7, 8, 0, 9, 2, 3, 4, 10)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 6), t3, (7, 8, 9, 10, 5, 6), (7, 8, 0, 9, 2, 10, 4, 3)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 3, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 0, 8, 2, 9, 4, 10)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 6), t3, (7, 8, 9, 10, 5, 6), (7, 8, 0, 9, 10, 2, 4, 3)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 3, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 0, 8, 9, 2, 4, 10)) - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 3, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 0, 8, 9, 10, 4, 2)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 6), t3, (7, 8, 9, 10, 5, 6), (7, 8, 0, 9, 2, 3, 10, 4)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 6), t3, (7, 8, 9, 10, 5, 6), (7, 8, 0, 9, 2, 10, 3, 4)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 3, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 0, 8, 2, 9, 10, 4)) - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 6), t3, (7, 8, 9, 10, 5, 6), (7, 8, 0, 9, 10, 2, 3, 4)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 3, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 0, 8, 9, 2, 10, 4)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 3, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 0, 8, 9, 10, 2, 4)) - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 6), t3, (7, 8, 9, 10, 5, 6), (7, 8, 9, 0, 4, 2, 3, 10)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 6), t3, (7, 8, 9, 10, 5, 6), (7, 8, 9, 0, 4, 2, 10, 3)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 3, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 8, 0, 4, 2, 9, 10)) - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 6), t3, (7, 8, 9, 10, 5, 6), (7, 8, 9, 0, 4, 10, 2, 3)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 3, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 8, 0, 4, 9, 2, 10)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 3, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 8, 0, 4, 9, 10, 2)) - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 6), t3, (7, 8, 9, 10, 5, 6), (7, 8, 9, 0, 2, 4, 3, 10)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 6), t3, (7, 8, 9, 10, 5, 6), (7, 8, 9, 0, 2, 4, 10, 3)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 3, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 8, 0, 2, 4, 9, 10)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 6), t3, (7, 8, 9, 10, 5, 6), (7, 8, 9, 0, 10, 4, 2, 3)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 3, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 8, 0, 9, 4, 2, 10)) - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 3, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 8, 0, 9, 4, 10, 2)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 6), t3, (7, 8, 9, 10, 5, 6), (7, 8, 9, 0, 2, 3, 4, 10)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 6), t3, (7, 8, 9, 10, 5, 6), (7, 8, 9, 0, 2, 10, 4, 3)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 3, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 8, 0, 2, 9, 4, 10)) - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 6), t3, (7, 8, 9, 10, 5, 6), (7, 8, 9, 0, 10, 2, 4, 3)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 3, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 8, 0, 9, 2, 4, 10)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 3, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 8, 0, 9, 10, 4, 2)) - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 6), t3, (7, 8, 9, 10, 5, 6), (7, 8, 9, 0, 2, 3, 10, 4)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 6), t3, (7, 8, 9, 10, 5, 6), (7, 8, 9, 0, 2, 10, 3, 4)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 3, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 8, 0, 2, 9, 10, 4)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 6), t3, (7, 8, 9, 10, 5, 6), (7, 8, 9, 0, 10, 2, 3, 4)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 3, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 8, 0, 9, 2, 10, 4)) - t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 3, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 8, 0, 9, 10, 2, 4)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 3, 6), t4, (7, 8, 4, 5, 9, 10, 11, 6), (0, 1, 7, 8, 2, 9, 10, 11)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 3, 6), t4, (7, 8, 4, 5, 9, 10, 11, 6), (0, 1, 7, 8, 9, 2, 10, 11)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 3, 6), t4, (7, 8, 4, 5, 9, 10, 11, 6), (0, 1, 7, 8, 9, 10, 2, 11)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 3, 6), t4, (7, 8, 4, 5, 9, 10, 11, 6), (0, 1, 7, 8, 9, 10, 11, 2)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 2, 3), t4, (6, 7, 4, 5, 8, 9, 10, 11), (0, 1, 6, 7, 8, 9, 10, 11)) * 0.25 - t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 3, 6), t4, (7, 8, 4, 5, 9, 10, 11, 6), (0, 7, 1, 8, 2, 9, 10, 11)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 3, 6), t4, (7, 8, 4, 5, 9, 10, 11, 6), (0, 7, 1, 8, 9, 2, 10, 11)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 3, 6), t4, (7, 8, 4, 5, 9, 10, 11, 6), (0, 7, 1, 8, 9, 10, 2, 11)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 3, 6), t4, (7, 8, 4, 5, 9, 10, 11, 6), (0, 7, 1, 8, 9, 10, 11, 2)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 2, 3), t4, (6, 7, 4, 5, 8, 9, 10, 11), (0, 6, 1, 7, 8, 9, 10, 11)) * -0.25 - t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 3, 6), t4, (7, 8, 4, 5, 9, 10, 11, 6), (0, 7, 8, 1, 2, 9, 10, 11)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 3, 6), t4, (7, 8, 4, 5, 9, 10, 11, 6), (0, 7, 8, 1, 9, 2, 10, 11)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 3, 6), t4, (7, 8, 4, 5, 9, 10, 11, 6), (0, 7, 8, 1, 9, 10, 2, 11)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 3, 6), t4, (7, 8, 4, 5, 9, 10, 11, 6), (0, 7, 8, 1, 9, 10, 11, 2)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 2, 3), t4, (6, 7, 4, 5, 8, 9, 10, 11), (0, 6, 7, 1, 8, 9, 10, 11)) * 0.25 - t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 5, 6), t4, (7, 8, 9, 4, 10, 11, 5, 6), (0, 7, 8, 9, 2, 3, 10, 11)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 5, 6), t4, (7, 8, 9, 4, 10, 11, 5, 6), (0, 7, 8, 9, 2, 10, 3, 11)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 5, 6), t4, (7, 8, 9, 4, 10, 11, 5, 6), (0, 7, 8, 9, 2, 10, 11, 3)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 3, 5), t4, (6, 7, 8, 4, 9, 10, 11, 5), (0, 6, 7, 8, 2, 9, 10, 11)) - t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 5, 6), t4, (7, 8, 9, 4, 10, 11, 5, 6), (0, 7, 8, 9, 10, 2, 3, 11)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 5, 6), t4, (7, 8, 9, 4, 10, 11, 5, 6), (0, 7, 8, 9, 10, 2, 11, 3)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 3, 5), t4, (6, 7, 8, 4, 9, 10, 11, 5), (0, 6, 7, 8, 9, 2, 10, 11)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 5, 6), t4, (7, 8, 9, 4, 10, 11, 5, 6), (0, 7, 8, 9, 10, 11, 2, 3)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 3, 5), t4, (6, 7, 8, 4, 9, 10, 11, 5), (0, 6, 7, 8, 9, 10, 2, 11)) - t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 3, 5), t4, (6, 7, 8, 4, 9, 10, 11, 5), (0, 6, 7, 8, 9, 10, 11, 2)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 2, 3), t4, (5, 6, 7, 4, 8, 9, 10, 11), (0, 5, 6, 7, 8, 9, 10, 11)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 3, 6), t4, (7, 8, 4, 5, 9, 10, 11, 6), (7, 0, 1, 8, 2, 9, 10, 11)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 3, 6), t4, (7, 8, 4, 5, 9, 10, 11, 6), (7, 0, 1, 8, 9, 2, 10, 11)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 3, 6), t4, (7, 8, 4, 5, 9, 10, 11, 6), (7, 0, 1, 8, 9, 10, 2, 11)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 3, 6), t4, (7, 8, 4, 5, 9, 10, 11, 6), (7, 0, 1, 8, 9, 10, 11, 2)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 2, 3), t4, (6, 7, 4, 5, 8, 9, 10, 11), (6, 0, 1, 7, 8, 9, 10, 11)) * 0.25 - t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 3, 6), t4, (7, 8, 4, 5, 9, 10, 11, 6), (7, 0, 8, 1, 2, 9, 10, 11)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 3, 6), t4, (7, 8, 4, 5, 9, 10, 11, 6), (7, 0, 8, 1, 9, 2, 10, 11)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 3, 6), t4, (7, 8, 4, 5, 9, 10, 11, 6), (7, 0, 8, 1, 9, 10, 2, 11)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 3, 6), t4, (7, 8, 4, 5, 9, 10, 11, 6), (7, 0, 8, 1, 9, 10, 11, 2)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 2, 3), t4, (6, 7, 4, 5, 8, 9, 10, 11), (6, 0, 7, 1, 8, 9, 10, 11)) * -0.25 - t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 5, 6), t4, (7, 8, 9, 4, 10, 11, 5, 6), (7, 0, 8, 9, 2, 3, 10, 11)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 5, 6), t4, (7, 8, 9, 4, 10, 11, 5, 6), (7, 0, 8, 9, 2, 10, 3, 11)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 5, 6), t4, (7, 8, 9, 4, 10, 11, 5, 6), (7, 0, 8, 9, 2, 10, 11, 3)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 3, 5), t4, (6, 7, 8, 4, 9, 10, 11, 5), (6, 0, 7, 8, 2, 9, 10, 11)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 5, 6), t4, (7, 8, 9, 4, 10, 11, 5, 6), (7, 0, 8, 9, 10, 2, 3, 11)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 5, 6), t4, (7, 8, 9, 4, 10, 11, 5, 6), (7, 0, 8, 9, 10, 2, 11, 3)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 3, 5), t4, (6, 7, 8, 4, 9, 10, 11, 5), (6, 0, 7, 8, 9, 2, 10, 11)) - t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 5, 6), t4, (7, 8, 9, 4, 10, 11, 5, 6), (7, 0, 8, 9, 10, 11, 2, 3)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 3, 5), t4, (6, 7, 8, 4, 9, 10, 11, 5), (6, 0, 7, 8, 9, 10, 2, 11)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 3, 5), t4, (6, 7, 8, 4, 9, 10, 11, 5), (6, 0, 7, 8, 9, 10, 11, 2)) - t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 2, 3), t4, (5, 6, 7, 4, 8, 9, 10, 11), (5, 0, 6, 7, 8, 9, 10, 11)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 3, 6), t4, (7, 8, 4, 5, 9, 10, 11, 6), (7, 8, 0, 1, 2, 9, 10, 11)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 3, 6), t4, (7, 8, 4, 5, 9, 10, 11, 6), (7, 8, 0, 1, 9, 2, 10, 11)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 3, 6), t4, (7, 8, 4, 5, 9, 10, 11, 6), (7, 8, 0, 1, 9, 10, 2, 11)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 3, 6), t4, (7, 8, 4, 5, 9, 10, 11, 6), (7, 8, 0, 1, 9, 10, 11, 2)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 2, 3), t4, (6, 7, 4, 5, 8, 9, 10, 11), (6, 7, 0, 1, 8, 9, 10, 11)) * 0.25 - t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 5, 6), t4, (7, 8, 9, 4, 10, 11, 5, 6), (7, 8, 0, 9, 2, 3, 10, 11)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 5, 6), t4, (7, 8, 9, 4, 10, 11, 5, 6), (7, 8, 0, 9, 2, 10, 3, 11)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 5, 6), t4, (7, 8, 9, 4, 10, 11, 5, 6), (7, 8, 0, 9, 2, 10, 11, 3)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 3, 5), t4, (6, 7, 8, 4, 9, 10, 11, 5), (6, 7, 0, 8, 2, 9, 10, 11)) - t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 5, 6), t4, (7, 8, 9, 4, 10, 11, 5, 6), (7, 8, 0, 9, 10, 2, 3, 11)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 5, 6), t4, (7, 8, 9, 4, 10, 11, 5, 6), (7, 8, 0, 9, 10, 2, 11, 3)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 3, 5), t4, (6, 7, 8, 4, 9, 10, 11, 5), (6, 7, 0, 8, 9, 2, 10, 11)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 5, 6), t4, (7, 8, 9, 4, 10, 11, 5, 6), (7, 8, 0, 9, 10, 11, 2, 3)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 3, 5), t4, (6, 7, 8, 4, 9, 10, 11, 5), (6, 7, 0, 8, 9, 10, 2, 11)) - t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 3, 5), t4, (6, 7, 8, 4, 9, 10, 11, 5), (6, 7, 0, 8, 9, 10, 11, 2)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 2, 3), t4, (5, 6, 7, 4, 8, 9, 10, 11), (5, 6, 0, 7, 8, 9, 10, 11)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 5, 6), t4, (7, 8, 9, 4, 10, 11, 5, 6), (7, 8, 9, 0, 2, 3, 10, 11)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 5, 6), t4, (7, 8, 9, 4, 10, 11, 5, 6), (7, 8, 9, 0, 2, 10, 3, 11)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 5, 6), t4, (7, 8, 9, 4, 10, 11, 5, 6), (7, 8, 9, 0, 2, 10, 11, 3)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 3, 5), t4, (6, 7, 8, 4, 9, 10, 11, 5), (6, 7, 8, 0, 2, 9, 10, 11)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 5, 6), t4, (7, 8, 9, 4, 10, 11, 5, 6), (7, 8, 9, 0, 10, 2, 3, 11)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 5, 6), t4, (7, 8, 9, 4, 10, 11, 5, 6), (7, 8, 9, 0, 10, 2, 11, 3)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 3, 5), t4, (6, 7, 8, 4, 9, 10, 11, 5), (6, 7, 8, 0, 9, 2, 10, 11)) - t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 5, 6), t4, (7, 8, 9, 4, 10, 11, 5, 6), (7, 8, 9, 0, 10, 11, 2, 3)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 3, 5), t4, (6, 7, 8, 4, 9, 10, 11, 5), (6, 7, 8, 0, 9, 10, 2, 11)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 3, 5), t4, (6, 7, 8, 4, 9, 10, 11, 5), (6, 7, 8, 0, 9, 10, 11, 2)) - t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 2, 3), t4, (5, 6, 7, 4, 8, 9, 10, 11), (5, 6, 7, 0, 8, 9, 10, 11)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (0, 1, 4, 5), t4, (6, 7, 8, 9, 10, 11, 4, 5), (6, 7, 8, 9, 2, 3, 10, 11)) * 0.25 - t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (0, 1, 4, 5), t4, (6, 7, 8, 9, 10, 11, 4, 5), (6, 7, 8, 9, 2, 10, 3, 11)) * -0.25 - t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (0, 1, 4, 5), t4, (6, 7, 8, 9, 10, 11, 4, 5), (6, 7, 8, 9, 2, 10, 11, 3)) * 0.25 - t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (0, 1, 3, 4), t4, (5, 6, 7, 8, 9, 10, 11, 4), (5, 6, 7, 8, 2, 9, 10, 11)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (0, 1, 4, 5), t4, (6, 7, 8, 9, 10, 11, 4, 5), (6, 7, 8, 9, 10, 2, 3, 11)) * 0.25 - t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (0, 1, 4, 5), t4, (6, 7, 8, 9, 10, 11, 4, 5), (6, 7, 8, 9, 10, 2, 11, 3)) * -0.25 - t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (0, 1, 3, 4), t4, (5, 6, 7, 8, 9, 10, 11, 4), (5, 6, 7, 8, 9, 2, 10, 11)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (0, 1, 4, 5), t4, (6, 7, 8, 9, 10, 11, 4, 5), (6, 7, 8, 9, 10, 11, 2, 3)) * 0.25 - t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (0, 1, 3, 4), t4, (5, 6, 7, 8, 9, 10, 11, 4), (5, 6, 7, 8, 9, 10, 2, 11)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (0, 1, 3, 4), t4, (5, 6, 7, 8, 9, 10, 11, 4), (5, 6, 7, 8, 9, 10, 11, 2)) * 0.5 - t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 0, 6, 7, 2), t3, (8, 9, 1, 10, 11, 3), (4, 8, 5, 9, 6, 10, 7, 11)) - t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 0, 6, 7, 2), t3, (8, 9, 1, 10, 11, 3), (4, 8, 5, 9, 6, 10, 11, 7)) * -1.0 - t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 0, 6, 2, 3), t3, (7, 8, 1, 9, 10, 11), (4, 7, 5, 8, 6, 9, 10, 11)) * -0.5 - t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 0, 6, 7, 2), t3, (8, 9, 1, 10, 11, 3), (4, 8, 5, 9, 6, 7, 10, 11)) * -1.0 - t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 0, 6, 2, 3), t3, (7, 8, 1, 9, 10, 11), (4, 7, 5, 8, 9, 6, 10, 11)) * 0.5 - t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 0, 6, 2, 3), t3, (7, 8, 1, 9, 10, 11), (4, 7, 5, 8, 9, 10, 6, 11)) * -0.5 - t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 0, 6, 2, 3), t3, (7, 8, 1, 9, 10, 11), (4, 7, 5, 8, 9, 10, 11, 6)) * 0.5 - t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 8), t3, (9, 10, 0, 11, 2, 3), (4, 9, 5, 10, 6, 11, 7, 8)) * 0.5 - t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 8), t3, (9, 10, 0, 11, 2, 3), (4, 9, 5, 10, 6, 7, 11, 8)) * -0.5 - t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 8), t3, (9, 10, 0, 11, 2, 3), (4, 9, 5, 10, 6, 7, 8, 11)) * 0.5 - t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), t3, (8, 9, 0, 10, 11, 2), (4, 8, 5, 9, 10, 6, 7, 11)) * -1.0 - t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 8), t3, (9, 10, 0, 11, 2, 3), (4, 9, 5, 10, 11, 6, 7, 8)) * -0.5 - t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), t3, (8, 9, 0, 10, 11, 2), (4, 8, 5, 9, 10, 6, 11, 7)) - t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), t3, (8, 9, 0, 10, 11, 2), (4, 8, 5, 9, 10, 11, 6, 7)) * -1.0 - t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 8, 2), t3, (9, 0, 1, 10, 11, 3), (4, 9, 5, 6, 7, 10, 8, 11)) * -0.5 - t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 8, 2), t3, (9, 0, 1, 10, 11, 3), (4, 9, 5, 6, 7, 10, 11, 8)) * 0.5 - t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 2, 3), t3, (8, 0, 1, 9, 10, 11), (4, 8, 5, 6, 7, 9, 10, 11)) * 0.25 - t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 8, 2), t3, (9, 0, 1, 10, 11, 3), (4, 9, 5, 6, 7, 8, 10, 11)) * 0.5 - t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 8, 3), t3, (9, 0, 1, 10, 11, 2), (4, 9, 5, 6, 10, 7, 8, 11)) * -0.5 - t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 8, 3), t3, (9, 0, 1, 10, 11, 2), (4, 9, 5, 6, 10, 7, 11, 8)) * 0.5 - t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 2, 3), t3, (8, 0, 1, 9, 10, 11), (4, 8, 5, 6, 9, 7, 10, 11)) * -0.25 - t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 8, 3), t3, (9, 0, 1, 10, 11, 2), (4, 9, 5, 6, 10, 11, 7, 8)) * -0.5 - t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 2, 3), t3, (8, 0, 1, 9, 10, 11), (4, 8, 5, 6, 9, 10, 7, 11)) * 0.25 - t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 2, 3), t3, (8, 0, 1, 9, 10, 11), (4, 8, 5, 6, 9, 10, 11, 7)) * -0.25 - t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 0, 6, 7, 2), t3, (8, 9, 1, 10, 11, 3), (4, 8, 9, 5, 6, 10, 7, 11)) * -1.0 - t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 0, 6, 7, 2), t3, (8, 9, 1, 10, 11, 3), (4, 8, 9, 5, 6, 10, 11, 7)) - t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 0, 6, 2, 3), t3, (7, 8, 1, 9, 10, 11), (4, 7, 8, 5, 6, 9, 10, 11)) * 0.5 - t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 0, 6, 7, 2), t3, (8, 9, 1, 10, 11, 3), (4, 8, 9, 5, 6, 7, 10, 11)) - t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 0, 6, 2, 3), t3, (7, 8, 1, 9, 10, 11), (4, 7, 8, 5, 9, 6, 10, 11)) * -0.5 - t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 0, 6, 2, 3), t3, (7, 8, 1, 9, 10, 11), (4, 7, 8, 5, 9, 10, 6, 11)) * 0.5 - t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 0, 6, 2, 3), t3, (7, 8, 1, 9, 10, 11), (4, 7, 8, 5, 9, 10, 11, 6)) * -0.5 - t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 8), t3, (9, 10, 0, 11, 2, 3), (4, 9, 10, 5, 6, 11, 7, 8)) * -0.5 - t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 8), t3, (9, 10, 0, 11, 2, 3), (4, 9, 10, 5, 6, 7, 11, 8)) * 0.5 - t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 8), t3, (9, 10, 0, 11, 2, 3), (4, 9, 10, 5, 6, 7, 8, 11)) * -0.5 - t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), t3, (8, 9, 0, 10, 11, 2), (4, 8, 9, 5, 10, 6, 7, 11)) - t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 8), t3, (9, 10, 0, 11, 2, 3), (4, 9, 10, 5, 11, 6, 7, 8)) * 0.5 - t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), t3, (8, 9, 0, 10, 11, 2), (4, 8, 9, 5, 10, 6, 11, 7)) * -1.0 - t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), t3, (8, 9, 0, 10, 11, 2), (4, 8, 9, 5, 10, 11, 6, 7)) - t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 0, 1, 5, 6, 2), t3, (7, 8, 9, 10, 11, 3), (4, 7, 8, 9, 5, 10, 6, 11)) * -0.5 - t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 0, 1, 5, 6, 7), t3, (8, 9, 10, 11, 2, 3), (4, 8, 9, 10, 5, 11, 6, 7)) * 0.25 - t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 0, 1, 5, 6, 2), t3, (7, 8, 9, 10, 11, 3), (4, 7, 8, 9, 5, 10, 11, 6)) * 0.5 - t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 0, 1, 5, 6, 2), t3, (7, 8, 9, 10, 11, 3), (4, 7, 8, 9, 5, 6, 10, 11)) * 0.5 - t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 0, 1, 5, 6, 7), t3, (8, 9, 10, 11, 2, 3), (4, 8, 9, 10, 5, 6, 11, 7)) * -0.25 - t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 0, 1, 5, 6, 7), t3, (8, 9, 10, 11, 2, 3), (4, 8, 9, 10, 5, 6, 7, 11)) * 0.25 - t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 0, 1, 5, 6, 3), t3, (7, 8, 9, 10, 11, 2), (4, 7, 8, 9, 10, 5, 6, 11)) * -0.5 - t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 0, 1, 5, 6, 7), t3, (8, 9, 10, 11, 2, 3), (4, 8, 9, 10, 11, 5, 6, 7)) * -0.25 - t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 0, 1, 5, 6, 3), t3, (7, 8, 9, 10, 11, 2), (4, 7, 8, 9, 10, 5, 11, 6)) * 0.5 - t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 0, 1, 5, 6, 3), t3, (7, 8, 9, 10, 11, 2), (4, 7, 8, 9, 10, 11, 5, 6)) * -0.5 - t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 0, 6, 7, 2), t3, (8, 9, 1, 10, 11, 3), (4, 5, 8, 9, 6, 10, 7, 11)) * -1.0 - t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 0, 6, 7, 2), t3, (8, 9, 1, 10, 11, 3), (4, 5, 8, 9, 6, 10, 11, 7)) - t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 0, 6, 2, 3), t3, (7, 8, 1, 9, 10, 11), (4, 5, 7, 8, 6, 9, 10, 11)) * 0.5 - t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 0, 6, 7, 2), t3, (8, 9, 1, 10, 11, 3), (4, 5, 8, 9, 6, 7, 10, 11)) - t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 0, 6, 2, 3), t3, (7, 8, 1, 9, 10, 11), (4, 5, 7, 8, 9, 6, 10, 11)) * -0.5 - t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 0, 6, 2, 3), t3, (7, 8, 1, 9, 10, 11), (4, 5, 7, 8, 9, 10, 6, 11)) * 0.5 - t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 0, 6, 2, 3), t3, (7, 8, 1, 9, 10, 11), (4, 5, 7, 8, 9, 10, 11, 6)) * -0.5 - t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 8), t3, (9, 10, 0, 11, 2, 3), (4, 5, 9, 10, 6, 11, 7, 8)) * -0.5 - t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 8), t3, (9, 10, 0, 11, 2, 3), (4, 5, 9, 10, 6, 7, 11, 8)) * 0.5 - t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 8), t3, (9, 10, 0, 11, 2, 3), (4, 5, 9, 10, 6, 7, 8, 11)) * -0.5 - t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), t3, (8, 9, 0, 10, 11, 2), (4, 5, 8, 9, 10, 6, 7, 11)) - t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 8), t3, (9, 10, 0, 11, 2, 3), (4, 5, 9, 10, 11, 6, 7, 8)) * 0.5 - t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), t3, (8, 9, 0, 10, 11, 2), (4, 5, 8, 9, 10, 6, 11, 7)) * -1.0 - t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), t3, (8, 9, 0, 10, 11, 2), (4, 5, 8, 9, 10, 11, 6, 7)) - t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 8, 2), t3, (9, 0, 1, 10, 11, 3), (4, 5, 9, 6, 7, 10, 8, 11)) * 0.5 - t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 8, 2), t3, (9, 0, 1, 10, 11, 3), (4, 5, 9, 6, 7, 10, 11, 8)) * -0.5 - t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 2, 3), t3, (8, 0, 1, 9, 10, 11), (4, 5, 8, 6, 7, 9, 10, 11)) * -0.25 - t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 8, 2), t3, (9, 0, 1, 10, 11, 3), (4, 5, 9, 6, 7, 8, 10, 11)) * -0.5 - t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 8, 3), t3, (9, 0, 1, 10, 11, 2), (4, 5, 9, 6, 10, 7, 8, 11)) * 0.5 - t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 8, 3), t3, (9, 0, 1, 10, 11, 2), (4, 5, 9, 6, 10, 7, 11, 8)) * -0.5 - t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 2, 3), t3, (8, 0, 1, 9, 10, 11), (4, 5, 8, 6, 9, 7, 10, 11)) * 0.25 - t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 8, 3), t3, (9, 0, 1, 10, 11, 2), (4, 5, 9, 6, 10, 11, 7, 8)) * 0.5 - t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 2, 3), t3, (8, 0, 1, 9, 10, 11), (4, 5, 8, 6, 9, 10, 7, 11)) * -0.25 - t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 2, 3), t3, (8, 0, 1, 9, 10, 11), (4, 5, 8, 6, 9, 10, 11, 7)) * 0.25 - t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 8, 2), t3, (9, 0, 1, 10, 11, 3), (4, 5, 6, 9, 7, 10, 8, 11)) * -0.5 - t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 8, 2), t3, (9, 0, 1, 10, 11, 3), (4, 5, 6, 9, 7, 10, 11, 8)) * 0.5 - t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 2, 3), t3, (8, 0, 1, 9, 10, 11), (4, 5, 6, 8, 7, 9, 10, 11)) * 0.25 - t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 8, 2), t3, (9, 0, 1, 10, 11, 3), (4, 5, 6, 9, 7, 8, 10, 11)) * 0.5 - t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 8, 3), t3, (9, 0, 1, 10, 11, 2), (4, 5, 6, 9, 10, 7, 8, 11)) * -0.5 - t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 8, 3), t3, (9, 0, 1, 10, 11, 2), (4, 5, 6, 9, 10, 7, 11, 8)) * 0.5 - t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 2, 3), t3, (8, 0, 1, 9, 10, 11), (4, 5, 6, 8, 9, 7, 10, 11)) * -0.25 - t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 8, 3), t3, (9, 0, 1, 10, 11, 2), (4, 5, 6, 9, 10, 11, 7, 8)) * -0.5 - t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 2, 3), t3, (8, 0, 1, 9, 10, 11), (4, 5, 6, 8, 9, 10, 7, 11)) * 0.25 - t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 2, 3), t3, (8, 0, 1, 9, 10, 11), (4, 5, 6, 8, 9, 10, 11, 7)) * -0.25 - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (2, 4, 5, 1), t3, (6, 7, 4, 8, 9, 10), (0, 5, 6, 7, 3, 8, 9, 10)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (2, 4, 5, 1), t3, (6, 7, 4, 8, 9, 10), (0, 6, 5, 7, 3, 8, 9, 10)) - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (2, 4, 5, 1), t3, (6, 7, 4, 8, 9, 10), (0, 6, 7, 5, 3, 8, 9, 10)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (2, 4, 5, 1), t3, (6, 7, 4, 8, 9, 10), (0, 5, 6, 7, 8, 3, 9, 10)) - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (2, 4, 5, 1), t3, (6, 7, 4, 8, 9, 10), (0, 6, 5, 7, 8, 3, 9, 10)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (2, 4, 5, 1), t3, (6, 7, 4, 8, 9, 10), (0, 6, 7, 5, 8, 3, 9, 10)) - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (2, 4, 5, 1), t3, (6, 7, 4, 8, 9, 10), (0, 5, 6, 7, 8, 9, 3, 10)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (2, 4, 5, 1), t3, (6, 7, 4, 8, 9, 10), (0, 6, 5, 7, 8, 9, 3, 10)) - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (2, 4, 5, 1), t3, (6, 7, 4, 8, 9, 10), (0, 6, 7, 5, 8, 9, 3, 10)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (2, 4, 5, 1), t3, (6, 7, 4, 8, 9, 10), (0, 5, 6, 7, 8, 9, 10, 3)) - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (2, 4, 5, 1), t3, (6, 7, 4, 8, 9, 10), (0, 6, 5, 7, 8, 9, 10, 3)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (2, 4, 5, 1), t3, (6, 7, 4, 8, 9, 10), (0, 6, 7, 5, 8, 9, 10, 3)) - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (2, 4, 5, 1), t3, (6, 7, 4, 8, 9, 10), (5, 0, 6, 7, 3, 8, 9, 10)) - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (2, 4, 5, 1), t3, (6, 7, 4, 8, 9, 10), (6, 0, 5, 7, 3, 8, 9, 10)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (2, 4, 5, 1), t3, (6, 7, 4, 8, 9, 10), (6, 0, 7, 5, 3, 8, 9, 10)) - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (2, 4, 5, 1), t3, (6, 7, 4, 8, 9, 10), (5, 0, 6, 7, 8, 3, 9, 10)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (2, 4, 5, 1), t3, (6, 7, 4, 8, 9, 10), (6, 0, 5, 7, 8, 3, 9, 10)) - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (2, 4, 5, 1), t3, (6, 7, 4, 8, 9, 10), (6, 0, 7, 5, 8, 3, 9, 10)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (2, 4, 5, 1), t3, (6, 7, 4, 8, 9, 10), (5, 0, 6, 7, 8, 9, 3, 10)) - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (2, 4, 5, 1), t3, (6, 7, 4, 8, 9, 10), (6, 0, 5, 7, 8, 9, 3, 10)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (2, 4, 5, 1), t3, (6, 7, 4, 8, 9, 10), (6, 0, 7, 5, 8, 9, 3, 10)) - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (2, 4, 5, 1), t3, (6, 7, 4, 8, 9, 10), (5, 0, 6, 7, 8, 9, 10, 3)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (2, 4, 5, 1), t3, (6, 7, 4, 8, 9, 10), (6, 0, 5, 7, 8, 9, 10, 3)) - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (2, 4, 5, 1), t3, (6, 7, 4, 8, 9, 10), (6, 0, 7, 5, 8, 9, 10, 3)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (2, 4, 5, 1), t3, (6, 7, 4, 8, 9, 10), (5, 6, 0, 7, 3, 8, 9, 10)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (2, 4, 5, 1), t3, (6, 7, 4, 8, 9, 10), (6, 5, 0, 7, 3, 8, 9, 10)) - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (2, 4, 5, 1), t3, (6, 7, 4, 8, 9, 10), (6, 7, 0, 5, 3, 8, 9, 10)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (2, 4, 5, 1), t3, (6, 7, 4, 8, 9, 10), (5, 6, 0, 7, 8, 3, 9, 10)) - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (2, 4, 5, 1), t3, (6, 7, 4, 8, 9, 10), (6, 5, 0, 7, 8, 3, 9, 10)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (2, 4, 5, 1), t3, (6, 7, 4, 8, 9, 10), (6, 7, 0, 5, 8, 3, 9, 10)) - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (2, 4, 5, 1), t3, (6, 7, 4, 8, 9, 10), (5, 6, 0, 7, 8, 9, 3, 10)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (2, 4, 5, 1), t3, (6, 7, 4, 8, 9, 10), (6, 5, 0, 7, 8, 9, 3, 10)) - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (2, 4, 5, 1), t3, (6, 7, 4, 8, 9, 10), (6, 7, 0, 5, 8, 9, 3, 10)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (2, 4, 5, 1), t3, (6, 7, 4, 8, 9, 10), (5, 6, 0, 7, 8, 9, 10, 3)) - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (2, 4, 5, 1), t3, (6, 7, 4, 8, 9, 10), (6, 5, 0, 7, 8, 9, 10, 3)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (2, 4, 5, 1), t3, (6, 7, 4, 8, 9, 10), (6, 7, 0, 5, 8, 9, 10, 3)) - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (2, 4, 5, 1), t3, (6, 7, 4, 8, 9, 10), (5, 6, 7, 0, 3, 8, 9, 10)) - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (2, 4, 5, 1), t3, (6, 7, 4, 8, 9, 10), (6, 5, 7, 0, 3, 8, 9, 10)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (2, 4, 5, 1), t3, (6, 7, 4, 8, 9, 10), (6, 7, 5, 0, 3, 8, 9, 10)) - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (2, 4, 5, 1), t3, (6, 7, 4, 8, 9, 10), (5, 6, 7, 0, 8, 3, 9, 10)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (2, 4, 5, 1), t3, (6, 7, 4, 8, 9, 10), (6, 5, 7, 0, 8, 3, 9, 10)) - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (2, 4, 5, 1), t3, (6, 7, 4, 8, 9, 10), (6, 7, 5, 0, 8, 3, 9, 10)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (2, 4, 5, 1), t3, (6, 7, 4, 8, 9, 10), (5, 6, 7, 0, 8, 9, 3, 10)) - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (2, 4, 5, 1), t3, (6, 7, 4, 8, 9, 10), (6, 5, 7, 0, 8, 9, 3, 10)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (2, 4, 5, 1), t3, (6, 7, 4, 8, 9, 10), (6, 7, 5, 0, 8, 9, 3, 10)) - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (2, 4, 5, 1), t3, (6, 7, 4, 8, 9, 10), (5, 6, 7, 0, 8, 9, 10, 3)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (2, 4, 5, 1), t3, (6, 7, 4, 8, 9, 10), (6, 5, 7, 0, 8, 9, 10, 3)) - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (2, 4, 5, 1), t3, (6, 7, 4, 8, 9, 10), (6, 7, 5, 0, 8, 9, 10, 3)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (0, 2, 4, 5), t3, (6, 7, 8, 9, 10, 5), (4, 6, 7, 8, 1, 3, 9, 10)) - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (0, 2, 4, 5), t3, (6, 7, 8, 9, 10, 5), (6, 4, 7, 8, 1, 3, 9, 10)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (0, 2, 4, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 4, 8, 1, 3, 9, 10)) - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (0, 2, 4, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 8, 4, 1, 3, 9, 10)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (0, 2, 4, 5), t3, (6, 7, 8, 9, 10, 5), (4, 6, 7, 8, 1, 9, 3, 10)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (0, 2, 4, 5), t3, (6, 7, 8, 9, 10, 5), (6, 4, 7, 8, 1, 9, 3, 10)) - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (0, 2, 4, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 4, 8, 1, 9, 3, 10)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (0, 2, 4, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 8, 4, 1, 9, 3, 10)) - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (0, 2, 4, 5), t3, (6, 7, 8, 9, 10, 5), (4, 6, 7, 8, 1, 9, 10, 3)) - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (0, 2, 4, 5), t3, (6, 7, 8, 9, 10, 5), (6, 4, 7, 8, 1, 9, 10, 3)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (0, 2, 4, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 4, 8, 1, 9, 10, 3)) - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (0, 2, 4, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 8, 4, 1, 9, 10, 3)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (0, 2, 4, 5), t3, (6, 7, 8, 9, 10, 5), (4, 6, 7, 8, 9, 1, 3, 10)) - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (0, 2, 4, 5), t3, (6, 7, 8, 9, 10, 5), (6, 4, 7, 8, 9, 1, 3, 10)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (0, 2, 4, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 4, 8, 9, 1, 3, 10)) - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (0, 2, 4, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 8, 4, 9, 1, 3, 10)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (0, 2, 4, 5), t3, (6, 7, 8, 9, 10, 5), (4, 6, 7, 8, 9, 1, 10, 3)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (0, 2, 4, 5), t3, (6, 7, 8, 9, 10, 5), (6, 4, 7, 8, 9, 1, 10, 3)) - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (0, 2, 4, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 4, 8, 9, 1, 10, 3)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (0, 2, 4, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 8, 4, 9, 1, 10, 3)) - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (0, 2, 4, 5), t3, (6, 7, 8, 9, 10, 5), (4, 6, 7, 8, 9, 10, 1, 3)) - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (0, 2, 4, 5), t3, (6, 7, 8, 9, 10, 5), (6, 4, 7, 8, 9, 10, 1, 3)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (0, 2, 4, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 4, 8, 9, 10, 1, 3)) - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (0, 2, 4, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 8, 4, 9, 10, 1, 3)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (4, 5, 1, 3), t3, (6, 7, 4, 8, 9, 10), (0, 2, 6, 7, 5, 8, 9, 10)) - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (4, 5, 1, 3), t3, (6, 7, 4, 8, 9, 10), (0, 2, 6, 7, 8, 5, 9, 10)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (4, 5, 1, 3), t3, (6, 7, 4, 8, 9, 10), (0, 2, 6, 7, 8, 9, 5, 10)) - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (4, 5, 1, 3), t3, (6, 7, 4, 8, 9, 10), (0, 2, 6, 7, 8, 9, 10, 5)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (4, 5, 1, 3), t3, (6, 7, 4, 8, 9, 10), (0, 6, 2, 7, 5, 8, 9, 10)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (4, 5, 1, 3), t3, (6, 7, 4, 8, 9, 10), (0, 6, 2, 7, 8, 5, 9, 10)) - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (4, 5, 1, 3), t3, (6, 7, 4, 8, 9, 10), (0, 6, 2, 7, 8, 9, 5, 10)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (4, 5, 1, 3), t3, (6, 7, 4, 8, 9, 10), (0, 6, 2, 7, 8, 9, 10, 5)) - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (4, 5, 1, 3), t3, (6, 7, 4, 8, 9, 10), (0, 6, 7, 2, 5, 8, 9, 10)) - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (4, 5, 1, 3), t3, (6, 7, 4, 8, 9, 10), (0, 6, 7, 2, 8, 5, 9, 10)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (4, 5, 1, 3), t3, (6, 7, 4, 8, 9, 10), (0, 6, 7, 2, 8, 9, 5, 10)) - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (4, 5, 1, 3), t3, (6, 7, 4, 8, 9, 10), (0, 6, 7, 2, 8, 9, 10, 5)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (2, 4, 1, 5), t3, (6, 7, 8, 9, 10, 5), (0, 6, 7, 8, 3, 4, 9, 10)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (2, 4, 1, 5), t3, (6, 7, 8, 9, 10, 5), (0, 6, 7, 8, 3, 9, 4, 10)) - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (2, 4, 1, 5), t3, (6, 7, 8, 9, 10, 5), (0, 6, 7, 8, 3, 9, 10, 4)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (2, 4, 1, 5), t3, (6, 7, 8, 9, 10, 5), (0, 6, 7, 8, 4, 3, 9, 10)) - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (2, 4, 1, 5), t3, (6, 7, 8, 9, 10, 5), (0, 6, 7, 8, 9, 3, 4, 10)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (2, 4, 1, 5), t3, (6, 7, 8, 9, 10, 5), (0, 6, 7, 8, 9, 3, 10, 4)) - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (2, 4, 1, 5), t3, (6, 7, 8, 9, 10, 5), (0, 6, 7, 8, 4, 9, 3, 10)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (2, 4, 1, 5), t3, (6, 7, 8, 9, 10, 5), (0, 6, 7, 8, 9, 4, 3, 10)) - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (2, 4, 1, 5), t3, (6, 7, 8, 9, 10, 5), (0, 6, 7, 8, 9, 10, 3, 4)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (2, 4, 1, 5), t3, (6, 7, 8, 9, 10, 5), (0, 6, 7, 8, 4, 9, 10, 3)) - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (2, 4, 1, 5), t3, (6, 7, 8, 9, 10, 5), (0, 6, 7, 8, 9, 4, 10, 3)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (2, 4, 1, 5), t3, (6, 7, 8, 9, 10, 5), (0, 6, 7, 8, 9, 10, 4, 3)) - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (4, 5, 1, 3), t3, (6, 7, 4, 8, 9, 10), (6, 0, 2, 7, 5, 8, 9, 10)) - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (4, 5, 1, 3), t3, (6, 7, 4, 8, 9, 10), (6, 0, 2, 7, 8, 5, 9, 10)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (4, 5, 1, 3), t3, (6, 7, 4, 8, 9, 10), (6, 0, 2, 7, 8, 9, 5, 10)) - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (4, 5, 1, 3), t3, (6, 7, 4, 8, 9, 10), (6, 0, 2, 7, 8, 9, 10, 5)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (4, 5, 1, 3), t3, (6, 7, 4, 8, 9, 10), (6, 0, 7, 2, 5, 8, 9, 10)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (4, 5, 1, 3), t3, (6, 7, 4, 8, 9, 10), (6, 0, 7, 2, 8, 5, 9, 10)) - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (4, 5, 1, 3), t3, (6, 7, 4, 8, 9, 10), (6, 0, 7, 2, 8, 9, 5, 10)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (4, 5, 1, 3), t3, (6, 7, 4, 8, 9, 10), (6, 0, 7, 2, 8, 9, 10, 5)) - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (2, 4, 1, 5), t3, (6, 7, 8, 9, 10, 5), (6, 0, 7, 8, 3, 4, 9, 10)) - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (2, 4, 1, 5), t3, (6, 7, 8, 9, 10, 5), (6, 0, 7, 8, 3, 9, 4, 10)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (2, 4, 1, 5), t3, (6, 7, 8, 9, 10, 5), (6, 0, 7, 8, 3, 9, 10, 4)) - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (2, 4, 1, 5), t3, (6, 7, 8, 9, 10, 5), (6, 0, 7, 8, 4, 3, 9, 10)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (2, 4, 1, 5), t3, (6, 7, 8, 9, 10, 5), (6, 0, 7, 8, 9, 3, 4, 10)) - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (2, 4, 1, 5), t3, (6, 7, 8, 9, 10, 5), (6, 0, 7, 8, 9, 3, 10, 4)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (2, 4, 1, 5), t3, (6, 7, 8, 9, 10, 5), (6, 0, 7, 8, 4, 9, 3, 10)) - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (2, 4, 1, 5), t3, (6, 7, 8, 9, 10, 5), (6, 0, 7, 8, 9, 4, 3, 10)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (2, 4, 1, 5), t3, (6, 7, 8, 9, 10, 5), (6, 0, 7, 8, 9, 10, 3, 4)) - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (2, 4, 1, 5), t3, (6, 7, 8, 9, 10, 5), (6, 0, 7, 8, 4, 9, 10, 3)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (2, 4, 1, 5), t3, (6, 7, 8, 9, 10, 5), (6, 0, 7, 8, 9, 4, 10, 3)) - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (2, 4, 1, 5), t3, (6, 7, 8, 9, 10, 5), (6, 0, 7, 8, 9, 10, 4, 3)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (4, 5, 1, 3), t3, (6, 7, 4, 8, 9, 10), (6, 7, 0, 2, 5, 8, 9, 10)) - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (4, 5, 1, 3), t3, (6, 7, 4, 8, 9, 10), (6, 7, 0, 2, 8, 5, 9, 10)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (4, 5, 1, 3), t3, (6, 7, 4, 8, 9, 10), (6, 7, 0, 2, 8, 9, 5, 10)) - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (4, 5, 1, 3), t3, (6, 7, 4, 8, 9, 10), (6, 7, 0, 2, 8, 9, 10, 5)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (2, 4, 1, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 0, 8, 3, 4, 9, 10)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (2, 4, 1, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 0, 8, 3, 9, 4, 10)) - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (2, 4, 1, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 0, 8, 3, 9, 10, 4)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (2, 4, 1, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 0, 8, 4, 3, 9, 10)) - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (2, 4, 1, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 0, 8, 9, 3, 4, 10)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (2, 4, 1, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 0, 8, 9, 3, 10, 4)) - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (2, 4, 1, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 0, 8, 4, 9, 3, 10)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (2, 4, 1, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 0, 8, 9, 4, 3, 10)) - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (2, 4, 1, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 0, 8, 9, 10, 3, 4)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (2, 4, 1, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 0, 8, 4, 9, 10, 3)) - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (2, 4, 1, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 0, 8, 9, 4, 10, 3)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (2, 4, 1, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 0, 8, 9, 10, 4, 3)) - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (2, 4, 1, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 8, 0, 3, 4, 9, 10)) - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (2, 4, 1, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 8, 0, 3, 9, 4, 10)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (2, 4, 1, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 8, 0, 3, 9, 10, 4)) - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (2, 4, 1, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 8, 0, 4, 3, 9, 10)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (2, 4, 1, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 8, 0, 9, 3, 4, 10)) - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (2, 4, 1, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 8, 0, 9, 3, 10, 4)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (2, 4, 1, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 8, 0, 4, 9, 3, 10)) - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (2, 4, 1, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 8, 0, 9, 4, 3, 10)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (2, 4, 1, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 8, 0, 9, 10, 3, 4)) - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (2, 4, 1, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 8, 0, 4, 9, 10, 3)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (2, 4, 1, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 8, 0, 9, 4, 10, 3)) - t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (2, 4, 1, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 8, 0, 9, 10, 4, 3)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (4, 5, 1, 3), t4, (6, 7, 4, 5, 8, 9, 10, 11), (0, 2, 6, 7, 8, 9, 10, 11)) * 0.5 - t4new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (4, 5, 1, 3), t4, (6, 7, 4, 5, 8, 9, 10, 11), (0, 6, 2, 7, 8, 9, 10, 11)) * -0.5 - t4new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (4, 5, 1, 3), t4, (6, 7, 4, 5, 8, 9, 10, 11), (0, 6, 7, 2, 8, 9, 10, 11)) * 0.5 - t4new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (2, 4, 1, 5), t4, (6, 7, 8, 4, 9, 10, 11, 5), (0, 6, 7, 8, 3, 9, 10, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (2, 4, 1, 5), t4, (6, 7, 8, 4, 9, 10, 11, 5), (0, 6, 7, 8, 9, 3, 10, 11)) - t4new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (2, 4, 1, 5), t4, (6, 7, 8, 4, 9, 10, 11, 5), (0, 6, 7, 8, 9, 10, 3, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (2, 4, 1, 5), t4, (6, 7, 8, 4, 9, 10, 11, 5), (0, 6, 7, 8, 9, 10, 11, 3)) - t4new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (2, 4, 1, 3), t4, (5, 6, 7, 4, 8, 9, 10, 11), (0, 5, 6, 7, 8, 9, 10, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (4, 5, 1, 3), t4, (6, 7, 4, 5, 8, 9, 10, 11), (6, 0, 2, 7, 8, 9, 10, 11)) * 0.5 - t4new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (4, 5, 1, 3), t4, (6, 7, 4, 5, 8, 9, 10, 11), (6, 0, 7, 2, 8, 9, 10, 11)) * -0.5 - t4new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (2, 4, 1, 5), t4, (6, 7, 8, 4, 9, 10, 11, 5), (6, 0, 7, 8, 3, 9, 10, 11)) - t4new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (2, 4, 1, 5), t4, (6, 7, 8, 4, 9, 10, 11, 5), (6, 0, 7, 8, 9, 3, 10, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (2, 4, 1, 5), t4, (6, 7, 8, 4, 9, 10, 11, 5), (6, 0, 7, 8, 9, 10, 3, 11)) - t4new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (2, 4, 1, 5), t4, (6, 7, 8, 4, 9, 10, 11, 5), (6, 0, 7, 8, 9, 10, 11, 3)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (2, 4, 1, 3), t4, (5, 6, 7, 4, 8, 9, 10, 11), (5, 0, 6, 7, 8, 9, 10, 11)) - t4new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (4, 5, 1, 3), t4, (6, 7, 4, 5, 8, 9, 10, 11), (6, 7, 0, 2, 8, 9, 10, 11)) * 0.5 - t4new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (2, 4, 1, 5), t4, (6, 7, 8, 4, 9, 10, 11, 5), (6, 7, 0, 8, 3, 9, 10, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (2, 4, 1, 5), t4, (6, 7, 8, 4, 9, 10, 11, 5), (6, 7, 0, 8, 9, 3, 10, 11)) - t4new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (2, 4, 1, 5), t4, (6, 7, 8, 4, 9, 10, 11, 5), (6, 7, 0, 8, 9, 10, 3, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (2, 4, 1, 5), t4, (6, 7, 8, 4, 9, 10, 11, 5), (6, 7, 0, 8, 9, 10, 11, 3)) - t4new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (2, 4, 1, 3), t4, (5, 6, 7, 4, 8, 9, 10, 11), (5, 6, 0, 7, 8, 9, 10, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (2, 4, 1, 5), t4, (6, 7, 8, 4, 9, 10, 11, 5), (6, 7, 8, 0, 3, 9, 10, 11)) - t4new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (2, 4, 1, 5), t4, (6, 7, 8, 4, 9, 10, 11, 5), (6, 7, 8, 0, 9, 3, 10, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (2, 4, 1, 5), t4, (6, 7, 8, 4, 9, 10, 11, 5), (6, 7, 8, 0, 9, 10, 3, 11)) - t4new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (2, 4, 1, 5), t4, (6, 7, 8, 4, 9, 10, 11, 5), (6, 7, 8, 0, 9, 10, 11, 3)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (2, 4, 1, 3), t4, (5, 6, 7, 4, 8, 9, 10, 11), (5, 6, 7, 0, 8, 9, 10, 11)) - t4new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (0, 2, 4, 5), t4, (6, 7, 8, 9, 10, 11, 4, 5), (6, 7, 8, 9, 1, 3, 10, 11)) * 0.5 - t4new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (0, 2, 4, 5), t4, (6, 7, 8, 9, 10, 11, 4, 5), (6, 7, 8, 9, 1, 10, 3, 11)) * -0.5 - t4new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (0, 2, 4, 5), t4, (6, 7, 8, 9, 10, 11, 4, 5), (6, 7, 8, 9, 1, 10, 11, 3)) * 0.5 - t4new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (0, 2, 4, 5), t4, (6, 7, 8, 9, 10, 11, 4, 5), (6, 7, 8, 9, 10, 1, 3, 11)) * 0.5 - t4new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (0, 2, 4, 5), t4, (6, 7, 8, 9, 10, 11, 4, 5), (6, 7, 8, 9, 10, 1, 11, 3)) * -0.5 - t4new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (0, 2, 4, 5), t4, (6, 7, 8, 9, 10, 11, 4, 5), (6, 7, 8, 9, 10, 11, 1, 3)) * 0.5 - t4new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (0, 2, 1, 4), t4, (5, 6, 7, 8, 9, 10, 11, 4), (5, 6, 7, 8, 3, 9, 10, 11)) - t4new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (0, 2, 1, 4), t4, (5, 6, 7, 8, 9, 10, 11, 4), (5, 6, 7, 8, 9, 3, 10, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (0, 2, 1, 4), t4, (5, 6, 7, 8, 9, 10, 11, 4), (5, 6, 7, 8, 9, 10, 3, 11)) - t4new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (0, 2, 1, 4), t4, (5, 6, 7, 8, 9, 10, 11, 4), (5, 6, 7, 8, 9, 10, 11, 3)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (0, 2, 6, 10, 4, 8, 5, 9)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (0, 2, 6, 10, 4, 8, 9, 5)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (0, 2, 6, 10, 4, 5, 8, 9)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (0, 2, 6, 10, 8, 4, 5, 9)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (0, 2, 6, 10, 8, 4, 9, 5)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (0, 2, 6, 10, 8, 9, 4, 5)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (0, 2, 10, 6, 4, 8, 5, 9)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (0, 2, 10, 6, 4, 8, 9, 5)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (0, 2, 10, 6, 4, 5, 8, 9)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (0, 2, 10, 6, 8, 4, 5, 9)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (0, 2, 10, 6, 8, 4, 9, 5)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (0, 2, 10, 6, 8, 9, 4, 5)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (0, 10, 2, 6, 4, 8, 5, 9)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (0, 10, 2, 6, 4, 8, 9, 5)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (0, 10, 2, 6, 4, 5, 8, 9)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (0, 10, 2, 6, 8, 4, 5, 9)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (0, 10, 2, 6, 8, 4, 9, 5)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (0, 10, 2, 6, 8, 9, 4, 5)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (2, 0, 6, 10, 4, 8, 5, 9)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (2, 0, 6, 10, 4, 8, 9, 5)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (2, 0, 6, 10, 4, 5, 8, 9)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (2, 0, 6, 10, 8, 4, 5, 9)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (2, 0, 6, 10, 8, 4, 9, 5)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (2, 0, 6, 10, 8, 9, 4, 5)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (2, 0, 10, 6, 4, 8, 5, 9)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (2, 0, 10, 6, 4, 8, 9, 5)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (2, 0, 10, 6, 4, 5, 8, 9)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (2, 0, 10, 6, 8, 4, 5, 9)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (2, 0, 10, 6, 8, 4, 9, 5)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (2, 0, 10, 6, 8, 9, 4, 5)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (10, 0, 2, 6, 4, 8, 5, 9)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (10, 0, 2, 6, 4, 8, 9, 5)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (10, 0, 2, 6, 4, 5, 8, 9)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (10, 0, 2, 6, 8, 4, 5, 9)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (10, 0, 2, 6, 8, 4, 9, 5)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (10, 0, 2, 6, 8, 9, 4, 5)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (2, 6, 0, 10, 4, 8, 5, 9)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (2, 6, 0, 10, 4, 8, 9, 5)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (2, 6, 0, 10, 4, 5, 8, 9)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (2, 6, 0, 10, 8, 4, 5, 9)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (2, 6, 0, 10, 8, 4, 9, 5)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (2, 6, 0, 10, 8, 9, 4, 5)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (2, 10, 0, 6, 4, 8, 5, 9)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (2, 10, 0, 6, 4, 8, 9, 5)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (2, 10, 0, 6, 4, 5, 8, 9)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (2, 10, 0, 6, 8, 4, 5, 9)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (2, 10, 0, 6, 8, 4, 9, 5)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (2, 10, 0, 6, 8, 9, 4, 5)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (10, 2, 0, 6, 4, 8, 5, 9)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (10, 2, 0, 6, 4, 8, 9, 5)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (10, 2, 0, 6, 4, 5, 8, 9)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (10, 2, 0, 6, 8, 4, 5, 9)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (10, 2, 0, 6, 8, 4, 9, 5)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (10, 2, 0, 6, 8, 9, 4, 5)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (2, 6, 10, 0, 4, 8, 5, 9)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (2, 6, 10, 0, 4, 8, 9, 5)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (2, 6, 10, 0, 4, 5, 8, 9)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (2, 6, 10, 0, 8, 4, 5, 9)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (2, 6, 10, 0, 8, 4, 9, 5)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (2, 6, 10, 0, 8, 9, 4, 5)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (2, 10, 6, 0, 4, 8, 5, 9)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (2, 10, 6, 0, 4, 8, 9, 5)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (2, 10, 6, 0, 4, 5, 8, 9)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (2, 10, 6, 0, 8, 4, 5, 9)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (2, 10, 6, 0, 8, 4, 9, 5)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (2, 10, 6, 0, 8, 9, 4, 5)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (10, 2, 6, 0, 4, 8, 5, 9)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (10, 2, 6, 0, 4, 8, 9, 5)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (10, 2, 6, 0, 4, 5, 8, 9)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (10, 2, 6, 0, 8, 4, 5, 9)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (10, 2, 6, 0, 8, 4, 9, 5)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (10, 2, 6, 0, 8, 9, 4, 5)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 6, 3, 10, 1, 4, 8, 9)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 6, 3, 10, 1, 8, 4, 9)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 6, 3, 10, 1, 8, 9, 4)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 6, 10, 3, 1, 4, 8, 9)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 6, 10, 3, 1, 8, 4, 9)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 6, 10, 3, 1, 8, 9, 4)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 3, 10, 9), (2, 6, 7, 10, 1, 4, 8, 5)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 3, 10, 9), (2, 6, 7, 10, 1, 4, 5, 8)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 3, 10, 9), (2, 6, 7, 10, 1, 8, 4, 5)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 3, 10, 9), (2, 6, 10, 7, 1, 4, 8, 5)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 3, 10, 9), (2, 6, 10, 7, 1, 4, 5, 8)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 3, 10, 9), (2, 6, 10, 7, 1, 8, 4, 5)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 3, 6, 10, 1, 4, 8, 9)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 3, 6, 10, 1, 8, 4, 9)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 3, 6, 10, 1, 8, 9, 4)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 10, 6, 3, 1, 4, 8, 9)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 10, 6, 3, 1, 8, 4, 9)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 10, 6, 3, 1, 8, 9, 4)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 3, 10, 9), (2, 10, 6, 7, 1, 4, 8, 5)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 3, 10, 9), (2, 10, 6, 7, 1, 4, 5, 8)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 3, 10, 9), (2, 10, 6, 7, 1, 8, 4, 5)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 3, 10, 6, 1, 4, 8, 9)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 3, 10, 6, 1, 8, 4, 9)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 3, 10, 6, 1, 8, 9, 4)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 10, 3, 6, 1, 4, 8, 9)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 10, 3, 6, 1, 8, 4, 9)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 10, 3, 6, 1, 8, 9, 4)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (10, 2, 6, 3, 1, 4, 8, 9)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (10, 2, 6, 3, 1, 8, 4, 9)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (10, 2, 6, 3, 1, 8, 9, 4)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 3, 10, 9), (10, 2, 6, 7, 1, 4, 8, 5)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 3, 10, 9), (10, 2, 6, 7, 1, 4, 5, 8)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 3, 10, 9), (10, 2, 6, 7, 1, 8, 4, 5)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (10, 2, 3, 6, 1, 4, 8, 9)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (10, 2, 3, 6, 1, 8, 4, 9)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (10, 2, 3, 6, 1, 8, 9, 4)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 6, 3, 10, 4, 1, 8, 9)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 6, 3, 10, 8, 1, 4, 9)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 6, 3, 10, 8, 1, 9, 4)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 6, 10, 3, 4, 1, 8, 9)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 6, 10, 3, 8, 1, 4, 9)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 6, 10, 3, 8, 1, 9, 4)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 3, 10, 9), (2, 6, 7, 10, 4, 1, 8, 5)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 3, 10, 9), (2, 6, 7, 10, 4, 1, 5, 8)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 3, 10, 9), (2, 6, 7, 10, 8, 1, 4, 5)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 3, 10, 9), (2, 6, 10, 7, 4, 1, 8, 5)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 3, 10, 9), (2, 6, 10, 7, 4, 1, 5, 8)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 3, 10, 9), (2, 6, 10, 7, 8, 1, 4, 5)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 3, 6, 10, 4, 1, 8, 9)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 3, 6, 10, 8, 1, 4, 9)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 3, 6, 10, 8, 1, 9, 4)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 10, 6, 3, 4, 1, 8, 9)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 10, 6, 3, 8, 1, 4, 9)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 10, 6, 3, 8, 1, 9, 4)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 3, 10, 9), (2, 10, 6, 7, 4, 1, 8, 5)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 3, 10, 9), (2, 10, 6, 7, 4, 1, 5, 8)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 3, 10, 9), (2, 10, 6, 7, 8, 1, 4, 5)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 3, 10, 6, 4, 1, 8, 9)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 3, 10, 6, 8, 1, 4, 9)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 3, 10, 6, 8, 1, 9, 4)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 10, 3, 6, 4, 1, 8, 9)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 10, 3, 6, 8, 1, 4, 9)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 10, 3, 6, 8, 1, 9, 4)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (10, 2, 6, 3, 4, 1, 8, 9)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (10, 2, 6, 3, 8, 1, 4, 9)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (10, 2, 6, 3, 8, 1, 9, 4)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 3, 10, 9), (10, 2, 6, 7, 4, 1, 8, 5)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 3, 10, 9), (10, 2, 6, 7, 4, 1, 5, 8)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 3, 10, 9), (10, 2, 6, 7, 8, 1, 4, 5)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (10, 2, 3, 6, 4, 1, 8, 9)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (10, 2, 3, 6, 8, 1, 4, 9)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (10, 2, 3, 6, 8, 1, 9, 4)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 6, 3, 10, 4, 8, 1, 9)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 6, 3, 10, 8, 4, 1, 9)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 6, 3, 10, 8, 9, 1, 4)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 6, 10, 3, 4, 8, 1, 9)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 6, 10, 3, 8, 4, 1, 9)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 6, 10, 3, 8, 9, 1, 4)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 3, 10, 9), (2, 6, 7, 10, 4, 8, 1, 5)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 3, 10, 9), (2, 6, 7, 10, 4, 5, 1, 8)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 3, 10, 9), (2, 6, 7, 10, 8, 4, 1, 5)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 3, 10, 9), (2, 6, 10, 7, 4, 8, 1, 5)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 3, 10, 9), (2, 6, 10, 7, 4, 5, 1, 8)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 3, 10, 9), (2, 6, 10, 7, 8, 4, 1, 5)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 3, 6, 10, 4, 8, 1, 9)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 3, 6, 10, 8, 4, 1, 9)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 3, 6, 10, 8, 9, 1, 4)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 10, 6, 3, 4, 8, 1, 9)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 10, 6, 3, 8, 4, 1, 9)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 10, 6, 3, 8, 9, 1, 4)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 3, 10, 9), (2, 10, 6, 7, 4, 8, 1, 5)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 3, 10, 9), (2, 10, 6, 7, 4, 5, 1, 8)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 3, 10, 9), (2, 10, 6, 7, 8, 4, 1, 5)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 3, 10, 6, 4, 8, 1, 9)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 3, 10, 6, 8, 4, 1, 9)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 3, 10, 6, 8, 9, 1, 4)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 10, 3, 6, 4, 8, 1, 9)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 10, 3, 6, 8, 4, 1, 9)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 10, 3, 6, 8, 9, 1, 4)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (10, 2, 6, 3, 4, 8, 1, 9)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (10, 2, 6, 3, 8, 4, 1, 9)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (10, 2, 6, 3, 8, 9, 1, 4)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 3, 10, 9), (10, 2, 6, 7, 4, 8, 1, 5)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 3, 10, 9), (10, 2, 6, 7, 4, 5, 1, 8)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 3, 10, 9), (10, 2, 6, 7, 8, 4, 1, 5)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (10, 2, 3, 6, 4, 8, 1, 9)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (10, 2, 3, 6, 8, 4, 1, 9)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (10, 2, 3, 6, 8, 9, 1, 4)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 6, 3, 10, 4, 8, 9, 1)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 6, 3, 10, 8, 4, 9, 1)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 6, 3, 10, 8, 9, 4, 1)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 6, 10, 3, 4, 8, 9, 1)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 6, 10, 3, 8, 4, 9, 1)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 6, 10, 3, 8, 9, 4, 1)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 3, 10, 9), (2, 6, 7, 10, 4, 8, 5, 1)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 3, 10, 9), (2, 6, 7, 10, 4, 5, 8, 1)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 3, 10, 9), (2, 6, 7, 10, 8, 4, 5, 1)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 3, 10, 9), (2, 6, 10, 7, 4, 8, 5, 1)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 3, 10, 9), (2, 6, 10, 7, 4, 5, 8, 1)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 3, 10, 9), (2, 6, 10, 7, 8, 4, 5, 1)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 3, 6, 10, 4, 8, 9, 1)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 3, 6, 10, 8, 4, 9, 1)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 3, 6, 10, 8, 9, 4, 1)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 10, 6, 3, 4, 8, 9, 1)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 10, 6, 3, 8, 4, 9, 1)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 10, 6, 3, 8, 9, 4, 1)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 3, 10, 9), (2, 10, 6, 7, 4, 8, 5, 1)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 3, 10, 9), (2, 10, 6, 7, 4, 5, 8, 1)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 3, 10, 9), (2, 10, 6, 7, 8, 4, 5, 1)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 3, 10, 6, 4, 8, 9, 1)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 3, 10, 6, 8, 4, 9, 1)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 3, 10, 6, 8, 9, 4, 1)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 10, 3, 6, 4, 8, 9, 1)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 10, 3, 6, 8, 4, 9, 1)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 10, 3, 6, 8, 9, 4, 1)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (10, 2, 6, 3, 4, 8, 9, 1)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (10, 2, 6, 3, 8, 4, 9, 1)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (10, 2, 6, 3, 8, 9, 4, 1)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 3, 10, 9), (10, 2, 6, 7, 4, 8, 5, 1)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 3, 10, 9), (10, 2, 6, 7, 4, 5, 8, 1)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 3, 10, 9), (10, 2, 6, 7, 8, 4, 5, 1)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (10, 2, 3, 6, 4, 8, 9, 1)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (10, 2, 3, 6, 8, 4, 9, 1)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (10, 2, 3, 6, 8, 9, 4, 1)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (0, 2, 6, 3, 10, 4, 8, 9)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (0, 2, 6, 3, 10, 8, 4, 9)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (0, 2, 6, 3, 10, 8, 9, 4)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (0, 2, 6, 3, 4, 10, 8, 9)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (0, 2, 6, 3, 8, 10, 4, 9)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (0, 2, 6, 3, 8, 10, 9, 4)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (0, 2, 6, 3, 4, 8, 10, 9)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (0, 2, 6, 3, 8, 4, 10, 9)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (0, 2, 6, 3, 8, 9, 10, 4)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (0, 2, 6, 3, 4, 8, 9, 10)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (0, 2, 6, 3, 8, 4, 9, 10)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (0, 2, 6, 3, 8, 9, 4, 10)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (3, 10, 1, 9), (0, 2, 6, 7, 10, 4, 8, 5)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (3, 10, 1, 9), (0, 2, 6, 7, 10, 4, 5, 8)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (3, 10, 1, 9), (0, 2, 6, 7, 10, 8, 4, 5)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (3, 10, 1, 9), (0, 2, 6, 7, 4, 10, 8, 5)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (3, 10, 1, 9), (0, 2, 6, 7, 4, 10, 5, 8)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (3, 10, 1, 9), (0, 2, 6, 7, 8, 10, 4, 5)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (3, 10, 1, 9), (0, 2, 6, 7, 4, 8, 10, 5)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (3, 10, 1, 9), (0, 2, 6, 7, 4, 5, 10, 8)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (3, 10, 1, 9), (0, 2, 6, 7, 8, 4, 10, 5)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (3, 10, 1, 9), (0, 2, 6, 7, 4, 8, 5, 10)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (3, 10, 1, 9), (0, 2, 6, 7, 4, 5, 8, 10)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (3, 10, 1, 9), (0, 2, 6, 7, 8, 4, 5, 10)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (0, 2, 3, 6, 10, 4, 8, 9)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (0, 2, 3, 6, 10, 8, 4, 9)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (0, 2, 3, 6, 10, 8, 9, 4)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (0, 2, 3, 6, 4, 10, 8, 9)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (0, 2, 3, 6, 8, 10, 4, 9)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (0, 2, 3, 6, 8, 10, 9, 4)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (0, 2, 3, 6, 4, 8, 10, 9)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (0, 2, 3, 6, 8, 4, 10, 9)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (0, 2, 3, 6, 8, 9, 10, 4)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (0, 2, 3, 6, 4, 8, 9, 10)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (0, 2, 3, 6, 8, 4, 9, 10)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (0, 2, 3, 6, 8, 9, 4, 10)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 0, 6, 3, 10, 4, 8, 9)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 0, 6, 3, 10, 8, 4, 9)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 0, 6, 3, 10, 8, 9, 4)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 0, 6, 3, 4, 10, 8, 9)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 0, 6, 3, 8, 10, 4, 9)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 0, 6, 3, 8, 10, 9, 4)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 0, 6, 3, 4, 8, 10, 9)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 0, 6, 3, 8, 4, 10, 9)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 0, 6, 3, 8, 9, 10, 4)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 0, 6, 3, 4, 8, 9, 10)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 0, 6, 3, 8, 4, 9, 10)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 0, 6, 3, 8, 9, 4, 10)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (3, 10, 1, 9), (2, 0, 6, 7, 10, 4, 8, 5)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (3, 10, 1, 9), (2, 0, 6, 7, 10, 4, 5, 8)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (3, 10, 1, 9), (2, 0, 6, 7, 10, 8, 4, 5)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (3, 10, 1, 9), (2, 0, 6, 7, 4, 10, 8, 5)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (3, 10, 1, 9), (2, 0, 6, 7, 4, 10, 5, 8)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (3, 10, 1, 9), (2, 0, 6, 7, 8, 10, 4, 5)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (3, 10, 1, 9), (2, 0, 6, 7, 4, 8, 10, 5)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (3, 10, 1, 9), (2, 0, 6, 7, 4, 5, 10, 8)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (3, 10, 1, 9), (2, 0, 6, 7, 8, 4, 10, 5)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (3, 10, 1, 9), (2, 0, 6, 7, 4, 8, 5, 10)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (3, 10, 1, 9), (2, 0, 6, 7, 4, 5, 8, 10)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (3, 10, 1, 9), (2, 0, 6, 7, 8, 4, 5, 10)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 0, 3, 6, 10, 4, 8, 9)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 0, 3, 6, 10, 8, 4, 9)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 0, 3, 6, 10, 8, 9, 4)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 0, 3, 6, 4, 10, 8, 9)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 0, 3, 6, 8, 10, 4, 9)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 0, 3, 6, 8, 10, 9, 4)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 0, 3, 6, 4, 8, 10, 9)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 0, 3, 6, 8, 4, 10, 9)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 0, 3, 6, 8, 9, 10, 4)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 0, 3, 6, 4, 8, 9, 10)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 0, 3, 6, 8, 4, 9, 10)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 0, 3, 6, 8, 9, 4, 10)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 6, 0, 3, 10, 4, 8, 9)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 6, 0, 3, 10, 8, 4, 9)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 6, 0, 3, 10, 8, 9, 4)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 6, 0, 3, 4, 10, 8, 9)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 6, 0, 3, 8, 10, 4, 9)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 6, 0, 3, 8, 10, 9, 4)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 6, 0, 3, 4, 8, 10, 9)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 6, 0, 3, 8, 4, 10, 9)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 6, 0, 3, 8, 9, 10, 4)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 6, 0, 3, 4, 8, 9, 10)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 6, 0, 3, 8, 4, 9, 10)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 6, 0, 3, 8, 9, 4, 10)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (3, 10, 1, 9), (2, 6, 0, 7, 10, 4, 8, 5)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (3, 10, 1, 9), (2, 6, 0, 7, 10, 4, 5, 8)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (3, 10, 1, 9), (2, 6, 0, 7, 10, 8, 4, 5)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (3, 10, 1, 9), (2, 6, 0, 7, 4, 10, 8, 5)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (3, 10, 1, 9), (2, 6, 0, 7, 4, 10, 5, 8)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (3, 10, 1, 9), (2, 6, 0, 7, 8, 10, 4, 5)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (3, 10, 1, 9), (2, 6, 0, 7, 4, 8, 10, 5)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (3, 10, 1, 9), (2, 6, 0, 7, 4, 5, 10, 8)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (3, 10, 1, 9), (2, 6, 0, 7, 8, 4, 10, 5)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (3, 10, 1, 9), (2, 6, 0, 7, 4, 8, 5, 10)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (3, 10, 1, 9), (2, 6, 0, 7, 4, 5, 8, 10)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (3, 10, 1, 9), (2, 6, 0, 7, 8, 4, 5, 10)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 3, 0, 6, 10, 4, 8, 9)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 3, 0, 6, 10, 8, 4, 9)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 3, 0, 6, 10, 8, 9, 4)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 3, 0, 6, 4, 10, 8, 9)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 3, 0, 6, 8, 10, 4, 9)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 3, 0, 6, 8, 10, 9, 4)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 3, 0, 6, 4, 8, 10, 9)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 3, 0, 6, 8, 4, 10, 9)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 3, 0, 6, 8, 9, 10, 4)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 3, 0, 6, 4, 8, 9, 10)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 3, 0, 6, 8, 4, 9, 10)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 3, 0, 6, 8, 9, 4, 10)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 6, 3, 0, 10, 4, 8, 9)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 6, 3, 0, 10, 8, 4, 9)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 6, 3, 0, 10, 8, 9, 4)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 6, 3, 0, 4, 10, 8, 9)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 6, 3, 0, 8, 10, 4, 9)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 6, 3, 0, 8, 10, 9, 4)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 6, 3, 0, 4, 8, 10, 9)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 6, 3, 0, 8, 4, 10, 9)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 6, 3, 0, 8, 9, 10, 4)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 6, 3, 0, 4, 8, 9, 10)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 6, 3, 0, 8, 4, 9, 10)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 6, 3, 0, 8, 9, 4, 10)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (3, 10, 1, 9), (2, 6, 7, 0, 10, 4, 8, 5)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (3, 10, 1, 9), (2, 6, 7, 0, 10, 4, 5, 8)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (3, 10, 1, 9), (2, 6, 7, 0, 10, 8, 4, 5)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (3, 10, 1, 9), (2, 6, 7, 0, 4, 10, 8, 5)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (3, 10, 1, 9), (2, 6, 7, 0, 4, 10, 5, 8)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (3, 10, 1, 9), (2, 6, 7, 0, 8, 10, 4, 5)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (3, 10, 1, 9), (2, 6, 7, 0, 4, 8, 10, 5)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (3, 10, 1, 9), (2, 6, 7, 0, 4, 5, 10, 8)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (3, 10, 1, 9), (2, 6, 7, 0, 8, 4, 10, 5)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (3, 10, 1, 9), (2, 6, 7, 0, 4, 8, 5, 10)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (3, 10, 1, 9), (2, 6, 7, 0, 4, 5, 8, 10)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (3, 10, 1, 9), (2, 6, 7, 0, 8, 4, 5, 10)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 3, 6, 0, 10, 4, 8, 9)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 3, 6, 0, 10, 8, 4, 9)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 3, 6, 0, 10, 8, 9, 4)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 3, 6, 0, 4, 10, 8, 9)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 3, 6, 0, 8, 10, 4, 9)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 3, 6, 0, 8, 10, 9, 4)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 3, 6, 0, 4, 8, 10, 9)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 3, 6, 0, 8, 4, 10, 9)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 3, 6, 0, 8, 9, 10, 4)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 3, 6, 0, 4, 8, 9, 10)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 3, 6, 0, 8, 4, 9, 10)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 3, 6, 0, 8, 9, 4, 10)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 6, 3, 7, 1, 10, 4, 8)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 6, 3, 7, 1, 10, 8, 4)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 6, 3, 7, 1, 4, 10, 8)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 6, 3, 7, 1, 8, 10, 4)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 6, 3, 7, 1, 4, 8, 10)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 6, 3, 7, 1, 8, 4, 10)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 6, 7, 3, 1, 10, 4, 8)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 6, 7, 3, 1, 10, 8, 4)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 6, 7, 3, 1, 4, 10, 8)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 6, 7, 3, 1, 8, 10, 4)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 6, 7, 3, 1, 4, 8, 10)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 6, 7, 3, 1, 8, 4, 10)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 3, 6, 7, 1, 10, 4, 8)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 3, 6, 7, 1, 10, 8, 4)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 3, 6, 7, 1, 4, 10, 8)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 3, 6, 7, 1, 8, 10, 4)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 3, 6, 7, 1, 4, 8, 10)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 3, 6, 7, 1, 8, 4, 10)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 6, 3, 7, 10, 1, 4, 8)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 6, 3, 7, 10, 1, 8, 4)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 6, 3, 7, 4, 1, 10, 8)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 6, 3, 7, 8, 1, 10, 4)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 6, 3, 7, 4, 1, 8, 10)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 6, 3, 7, 8, 1, 4, 10)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 6, 7, 3, 10, 1, 4, 8)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 6, 7, 3, 10, 1, 8, 4)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 6, 7, 3, 4, 1, 10, 8)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 6, 7, 3, 8, 1, 10, 4)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 6, 7, 3, 4, 1, 8, 10)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 6, 7, 3, 8, 1, 4, 10)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 3, 6, 7, 10, 1, 4, 8)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 3, 6, 7, 10, 1, 8, 4)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 3, 6, 7, 4, 1, 10, 8)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 3, 6, 7, 8, 1, 10, 4)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 3, 6, 7, 4, 1, 8, 10)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 3, 6, 7, 8, 1, 4, 10)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 6, 3, 7, 10, 4, 1, 8)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 6, 3, 7, 10, 8, 1, 4)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 6, 3, 7, 4, 10, 1, 8)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 6, 3, 7, 8, 10, 1, 4)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 6, 3, 7, 4, 8, 1, 10)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 6, 3, 7, 8, 4, 1, 10)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 6, 7, 3, 10, 4, 1, 8)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 6, 7, 3, 10, 8, 1, 4)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 6, 7, 3, 4, 10, 1, 8)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 6, 7, 3, 8, 10, 1, 4)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 6, 7, 3, 4, 8, 1, 10)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 6, 7, 3, 8, 4, 1, 10)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 3, 6, 7, 10, 4, 1, 8)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 3, 6, 7, 10, 8, 1, 4)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 3, 6, 7, 4, 10, 1, 8)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 3, 6, 7, 8, 10, 1, 4)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 3, 6, 7, 4, 8, 1, 10)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 3, 6, 7, 8, 4, 1, 10)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 6, 3, 7, 10, 4, 8, 1)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 6, 3, 7, 10, 8, 4, 1)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 6, 3, 7, 4, 10, 8, 1)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 6, 3, 7, 8, 10, 4, 1)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 6, 3, 7, 4, 8, 10, 1)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 6, 3, 7, 8, 4, 10, 1)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 6, 7, 3, 10, 4, 8, 1)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 6, 7, 3, 10, 8, 4, 1)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 6, 7, 3, 4, 10, 8, 1)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 6, 7, 3, 8, 10, 4, 1)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 6, 7, 3, 4, 8, 10, 1)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 6, 7, 3, 8, 4, 10, 1)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 3, 6, 7, 10, 4, 8, 1)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 3, 6, 7, 10, 8, 4, 1)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 3, 6, 7, 4, 10, 8, 1)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 3, 6, 7, 8, 10, 4, 1)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 3, 6, 7, 4, 8, 10, 1)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 3, 6, 7, 8, 4, 10, 1)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (6, 7, 1, 5), t3, (8, 6, 7, 9, 10, 11), (0, 2, 3, 8, 4, 9, 10, 11)) * -0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (6, 7, 1, 5), t3, (8, 6, 7, 9, 10, 11), (0, 2, 3, 8, 9, 4, 10, 11)) * 0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (6, 7, 1, 5), t3, (8, 6, 7, 9, 10, 11), (0, 2, 3, 8, 9, 10, 4, 11)) * -0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (6, 7, 1, 5), t3, (8, 6, 7, 9, 10, 11), (0, 2, 3, 8, 9, 10, 11, 4)) * 0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (6, 7, 1, 5), t3, (8, 6, 7, 9, 10, 11), (0, 2, 8, 3, 4, 9, 10, 11)) * 0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (6, 7, 1, 5), t3, (8, 6, 7, 9, 10, 11), (0, 2, 8, 3, 9, 4, 10, 11)) * -0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (6, 7, 1, 5), t3, (8, 6, 7, 9, 10, 11), (0, 2, 8, 3, 9, 10, 4, 11)) * 0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (6, 7, 1, 5), t3, (8, 6, 7, 9, 10, 11), (0, 2, 8, 3, 9, 10, 11, 4)) * -0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (0, 2, 8, 9, 4, 5, 10, 11)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (0, 2, 8, 9, 4, 10, 5, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (0, 2, 8, 9, 4, 10, 11, 5)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (0, 2, 7, 8, 4, 9, 10, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (0, 2, 8, 9, 10, 4, 5, 11)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (0, 2, 8, 9, 10, 4, 11, 5)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (0, 2, 7, 8, 9, 4, 10, 11)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (0, 2, 8, 9, 10, 11, 4, 5)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (0, 2, 7, 8, 9, 10, 4, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (0, 2, 7, 8, 9, 10, 11, 4)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (6, 7, 1, 5), t3, (8, 6, 7, 9, 10, 11), (0, 8, 2, 3, 4, 9, 10, 11)) * -0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (6, 7, 1, 5), t3, (8, 6, 7, 9, 10, 11), (0, 8, 2, 3, 9, 4, 10, 11)) * 0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (6, 7, 1, 5), t3, (8, 6, 7, 9, 10, 11), (0, 8, 2, 3, 9, 10, 4, 11)) * -0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (6, 7, 1, 5), t3, (8, 6, 7, 9, 10, 11), (0, 8, 2, 3, 9, 10, 11, 4)) * 0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (0, 8, 2, 9, 4, 5, 10, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (0, 8, 2, 9, 4, 10, 5, 11)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (0, 8, 2, 9, 4, 10, 11, 5)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (0, 7, 2, 8, 4, 9, 10, 11)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (0, 8, 2, 9, 10, 4, 5, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (0, 8, 2, 9, 10, 4, 11, 5)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (0, 7, 2, 8, 9, 4, 10, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (0, 8, 2, 9, 10, 11, 4, 5)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (0, 7, 2, 8, 9, 10, 4, 11)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (0, 7, 2, 8, 9, 10, 11, 4)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (0, 8, 9, 2, 4, 5, 10, 11)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (0, 8, 9, 2, 4, 10, 5, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (0, 8, 9, 2, 4, 10, 11, 5)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (0, 7, 8, 2, 4, 9, 10, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (0, 8, 9, 2, 10, 4, 5, 11)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (0, 8, 9, 2, 10, 4, 11, 5)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (0, 7, 8, 2, 9, 4, 10, 11)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (0, 8, 9, 2, 10, 11, 4, 5)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (0, 7, 8, 2, 9, 10, 4, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (0, 7, 8, 2, 9, 10, 11, 4)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (2, 3, 1, 6), t3, (7, 8, 9, 10, 11, 6), (0, 7, 8, 9, 4, 5, 10, 11)) * 0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (2, 3, 1, 6), t3, (7, 8, 9, 10, 11, 6), (0, 7, 8, 9, 4, 10, 5, 11)) * -0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (2, 3, 1, 6), t3, (7, 8, 9, 10, 11, 6), (0, 7, 8, 9, 4, 10, 11, 5)) * 0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (2, 3, 1, 6), t3, (7, 8, 9, 10, 11, 6), (0, 7, 8, 9, 10, 4, 5, 11)) * 0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (2, 3, 1, 6), t3, (7, 8, 9, 10, 11, 6), (0, 7, 8, 9, 10, 4, 11, 5)) * -0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (2, 3, 1, 6), t3, (7, 8, 9, 10, 11, 6), (0, 7, 8, 9, 10, 11, 4, 5)) * 0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (6, 7, 1, 5), t3, (8, 6, 7, 9, 10, 11), (2, 0, 3, 8, 4, 9, 10, 11)) * 0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (6, 7, 1, 5), t3, (8, 6, 7, 9, 10, 11), (2, 0, 3, 8, 9, 4, 10, 11)) * -0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (6, 7, 1, 5), t3, (8, 6, 7, 9, 10, 11), (2, 0, 3, 8, 9, 10, 4, 11)) * 0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (6, 7, 1, 5), t3, (8, 6, 7, 9, 10, 11), (2, 0, 3, 8, 9, 10, 11, 4)) * -0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (6, 7, 1, 5), t3, (8, 6, 7, 9, 10, 11), (2, 0, 8, 3, 4, 9, 10, 11)) * -0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (6, 7, 1, 5), t3, (8, 6, 7, 9, 10, 11), (2, 0, 8, 3, 9, 4, 10, 11)) * 0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (6, 7, 1, 5), t3, (8, 6, 7, 9, 10, 11), (2, 0, 8, 3, 9, 10, 4, 11)) * -0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (6, 7, 1, 5), t3, (8, 6, 7, 9, 10, 11), (2, 0, 8, 3, 9, 10, 11, 4)) * 0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (2, 0, 8, 9, 4, 5, 10, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (2, 0, 8, 9, 4, 10, 5, 11)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (2, 0, 8, 9, 4, 10, 11, 5)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (2, 0, 7, 8, 4, 9, 10, 11)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (2, 0, 8, 9, 10, 4, 5, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (2, 0, 8, 9, 10, 4, 11, 5)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (2, 0, 7, 8, 9, 4, 10, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (2, 0, 8, 9, 10, 11, 4, 5)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (2, 0, 7, 8, 9, 10, 4, 11)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (2, 0, 7, 8, 9, 10, 11, 4)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (6, 7, 1, 5), t3, (8, 6, 7, 9, 10, 11), (8, 0, 2, 3, 4, 9, 10, 11)) * 0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (6, 7, 1, 5), t3, (8, 6, 7, 9, 10, 11), (8, 0, 2, 3, 9, 4, 10, 11)) * -0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (6, 7, 1, 5), t3, (8, 6, 7, 9, 10, 11), (8, 0, 2, 3, 9, 10, 4, 11)) * 0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (6, 7, 1, 5), t3, (8, 6, 7, 9, 10, 11), (8, 0, 2, 3, 9, 10, 11, 4)) * -0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (8, 0, 2, 9, 4, 5, 10, 11)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (8, 0, 2, 9, 4, 10, 5, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (8, 0, 2, 9, 4, 10, 11, 5)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (7, 0, 2, 8, 4, 9, 10, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (8, 0, 2, 9, 10, 4, 5, 11)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (8, 0, 2, 9, 10, 4, 11, 5)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (7, 0, 2, 8, 9, 4, 10, 11)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (8, 0, 2, 9, 10, 11, 4, 5)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (7, 0, 2, 8, 9, 10, 4, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (7, 0, 2, 8, 9, 10, 11, 4)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (8, 0, 9, 2, 4, 5, 10, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (8, 0, 9, 2, 4, 10, 5, 11)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (8, 0, 9, 2, 4, 10, 11, 5)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (7, 0, 8, 2, 4, 9, 10, 11)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (8, 0, 9, 2, 10, 4, 5, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (8, 0, 9, 2, 10, 4, 11, 5)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (7, 0, 8, 2, 9, 4, 10, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (8, 0, 9, 2, 10, 11, 4, 5)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (7, 0, 8, 2, 9, 10, 4, 11)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (7, 0, 8, 2, 9, 10, 11, 4)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (2, 3, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 0, 8, 9, 4, 5, 10, 11)) * -0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (2, 3, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 0, 8, 9, 4, 10, 5, 11)) * 0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (2, 3, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 0, 8, 9, 4, 10, 11, 5)) * -0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (2, 3, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 0, 8, 9, 10, 4, 5, 11)) * -0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (2, 3, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 0, 8, 9, 10, 4, 11, 5)) * 0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (2, 3, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 0, 8, 9, 10, 11, 4, 5)) * -0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (6, 7, 1, 5), t3, (8, 6, 7, 9, 10, 11), (2, 3, 0, 8, 4, 9, 10, 11)) * -0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (6, 7, 1, 5), t3, (8, 6, 7, 9, 10, 11), (2, 3, 0, 8, 9, 4, 10, 11)) * 0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (6, 7, 1, 5), t3, (8, 6, 7, 9, 10, 11), (2, 3, 0, 8, 9, 10, 4, 11)) * -0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (6, 7, 1, 5), t3, (8, 6, 7, 9, 10, 11), (2, 3, 0, 8, 9, 10, 11, 4)) * 0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (6, 7, 1, 5), t3, (8, 6, 7, 9, 10, 11), (2, 8, 0, 3, 4, 9, 10, 11)) * 0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (6, 7, 1, 5), t3, (8, 6, 7, 9, 10, 11), (2, 8, 0, 3, 9, 4, 10, 11)) * -0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (6, 7, 1, 5), t3, (8, 6, 7, 9, 10, 11), (2, 8, 0, 3, 9, 10, 4, 11)) * 0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (6, 7, 1, 5), t3, (8, 6, 7, 9, 10, 11), (2, 8, 0, 3, 9, 10, 11, 4)) * -0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (2, 8, 0, 9, 4, 5, 10, 11)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (2, 8, 0, 9, 4, 10, 5, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (2, 8, 0, 9, 4, 10, 11, 5)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (2, 7, 0, 8, 4, 9, 10, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (2, 8, 0, 9, 10, 4, 5, 11)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (2, 8, 0, 9, 10, 4, 11, 5)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (2, 7, 0, 8, 9, 4, 10, 11)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (2, 8, 0, 9, 10, 11, 4, 5)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (2, 7, 0, 8, 9, 10, 4, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (2, 7, 0, 8, 9, 10, 11, 4)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (6, 7, 1, 5), t3, (8, 6, 7, 9, 10, 11), (8, 2, 0, 3, 4, 9, 10, 11)) * -0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (6, 7, 1, 5), t3, (8, 6, 7, 9, 10, 11), (8, 2, 0, 3, 9, 4, 10, 11)) * 0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (6, 7, 1, 5), t3, (8, 6, 7, 9, 10, 11), (8, 2, 0, 3, 9, 10, 4, 11)) * -0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (6, 7, 1, 5), t3, (8, 6, 7, 9, 10, 11), (8, 2, 0, 3, 9, 10, 11, 4)) * 0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (8, 2, 0, 9, 4, 5, 10, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (8, 2, 0, 9, 4, 10, 5, 11)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (8, 2, 0, 9, 4, 10, 11, 5)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (7, 2, 0, 8, 4, 9, 10, 11)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (8, 2, 0, 9, 10, 4, 5, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (8, 2, 0, 9, 10, 4, 11, 5)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (7, 2, 0, 8, 9, 4, 10, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (8, 2, 0, 9, 10, 11, 4, 5)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (7, 2, 0, 8, 9, 10, 4, 11)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (7, 2, 0, 8, 9, 10, 11, 4)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (8, 9, 0, 2, 4, 5, 10, 11)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (8, 9, 0, 2, 4, 10, 5, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (8, 9, 0, 2, 4, 10, 11, 5)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (7, 8, 0, 2, 4, 9, 10, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (8, 9, 0, 2, 10, 4, 5, 11)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (8, 9, 0, 2, 10, 4, 11, 5)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (7, 8, 0, 2, 9, 4, 10, 11)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (8, 9, 0, 2, 10, 11, 4, 5)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (7, 8, 0, 2, 9, 10, 4, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (7, 8, 0, 2, 9, 10, 11, 4)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (2, 3, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 0, 9, 4, 5, 10, 11)) * 0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (2, 3, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 0, 9, 4, 10, 5, 11)) * -0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (2, 3, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 0, 9, 4, 10, 11, 5)) * 0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (2, 3, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 0, 9, 10, 4, 5, 11)) * 0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (2, 3, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 0, 9, 10, 4, 11, 5)) * -0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (2, 3, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 0, 9, 10, 11, 4, 5)) * 0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (6, 7, 1, 5), t3, (8, 6, 7, 9, 10, 11), (2, 3, 8, 0, 4, 9, 10, 11)) * 0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (6, 7, 1, 5), t3, (8, 6, 7, 9, 10, 11), (2, 3, 8, 0, 9, 4, 10, 11)) * -0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (6, 7, 1, 5), t3, (8, 6, 7, 9, 10, 11), (2, 3, 8, 0, 9, 10, 4, 11)) * 0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (6, 7, 1, 5), t3, (8, 6, 7, 9, 10, 11), (2, 3, 8, 0, 9, 10, 11, 4)) * -0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (6, 7, 1, 5), t3, (8, 6, 7, 9, 10, 11), (2, 8, 3, 0, 4, 9, 10, 11)) * -0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (6, 7, 1, 5), t3, (8, 6, 7, 9, 10, 11), (2, 8, 3, 0, 9, 4, 10, 11)) * 0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (6, 7, 1, 5), t3, (8, 6, 7, 9, 10, 11), (2, 8, 3, 0, 9, 10, 4, 11)) * -0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (6, 7, 1, 5), t3, (8, 6, 7, 9, 10, 11), (2, 8, 3, 0, 9, 10, 11, 4)) * 0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (2, 8, 9, 0, 4, 5, 10, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (2, 8, 9, 0, 4, 10, 5, 11)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (2, 8, 9, 0, 4, 10, 11, 5)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (2, 7, 8, 0, 4, 9, 10, 11)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (2, 8, 9, 0, 10, 4, 5, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (2, 8, 9, 0, 10, 4, 11, 5)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (2, 7, 8, 0, 9, 4, 10, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (2, 8, 9, 0, 10, 11, 4, 5)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (2, 7, 8, 0, 9, 10, 4, 11)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (2, 7, 8, 0, 9, 10, 11, 4)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (6, 7, 1, 5), t3, (8, 6, 7, 9, 10, 11), (8, 2, 3, 0, 4, 9, 10, 11)) * 0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (6, 7, 1, 5), t3, (8, 6, 7, 9, 10, 11), (8, 2, 3, 0, 9, 4, 10, 11)) * -0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (6, 7, 1, 5), t3, (8, 6, 7, 9, 10, 11), (8, 2, 3, 0, 9, 10, 4, 11)) * 0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (6, 7, 1, 5), t3, (8, 6, 7, 9, 10, 11), (8, 2, 3, 0, 9, 10, 11, 4)) * -0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (8, 2, 9, 0, 4, 5, 10, 11)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (8, 2, 9, 0, 4, 10, 5, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (8, 2, 9, 0, 4, 10, 11, 5)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (7, 2, 8, 0, 4, 9, 10, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (8, 2, 9, 0, 10, 4, 5, 11)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (8, 2, 9, 0, 10, 4, 11, 5)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (7, 2, 8, 0, 9, 4, 10, 11)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (8, 2, 9, 0, 10, 11, 4, 5)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (7, 2, 8, 0, 9, 10, 4, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (7, 2, 8, 0, 9, 10, 11, 4)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (8, 9, 2, 0, 4, 5, 10, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (8, 9, 2, 0, 4, 10, 5, 11)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (8, 9, 2, 0, 4, 10, 11, 5)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (7, 8, 2, 0, 4, 9, 10, 11)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (8, 9, 2, 0, 10, 4, 5, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (8, 9, 2, 0, 10, 4, 11, 5)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (7, 8, 2, 0, 9, 4, 10, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (8, 9, 2, 0, 10, 11, 4, 5)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (7, 8, 2, 0, 9, 10, 4, 11)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (7, 8, 2, 0, 9, 10, 11, 4)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (2, 3, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 9, 0, 4, 5, 10, 11)) * -0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (2, 3, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 9, 0, 4, 10, 5, 11)) * 0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (2, 3, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 9, 0, 4, 10, 11, 5)) * -0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (2, 3, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 9, 0, 10, 4, 5, 11)) * -0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (2, 3, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 9, 0, 10, 4, 11, 5)) * 0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (2, 3, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 9, 0, 10, 11, 4, 5)) * -0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (2, 3, 8, 9, 1, 4, 10, 11)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (2, 3, 8, 9, 1, 10, 4, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (2, 3, 8, 9, 1, 10, 11, 4)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 4, 5), t3, (7, 8, 6, 9, 10, 11), (2, 3, 7, 8, 1, 9, 10, 11)) * 0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (2, 8, 3, 9, 1, 4, 10, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (2, 8, 3, 9, 1, 10, 4, 11)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (2, 8, 3, 9, 1, 10, 11, 4)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 4, 5), t3, (7, 8, 6, 9, 10, 11), (2, 7, 3, 8, 1, 9, 10, 11)) * -0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (2, 8, 9, 3, 1, 4, 10, 11)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (2, 8, 9, 3, 1, 10, 4, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (2, 8, 9, 3, 1, 10, 11, 4)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 4, 5), t3, (7, 8, 6, 9, 10, 11), (2, 7, 8, 3, 1, 9, 10, 11)) * 0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 6, 7), t3, (8, 9, 10, 11, 6, 7), (2, 8, 9, 10, 1, 4, 5, 11)) * -0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 6, 7), t3, (8, 9, 10, 11, 6, 7), (2, 8, 9, 10, 1, 4, 11, 5)) * 0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 5, 6), t3, (7, 8, 9, 10, 11, 6), (2, 7, 8, 9, 1, 4, 10, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 6, 7), t3, (8, 9, 10, 11, 6, 7), (2, 8, 9, 10, 1, 11, 4, 5)) * -0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 5, 6), t3, (7, 8, 9, 10, 11, 6), (2, 7, 8, 9, 1, 10, 4, 11)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 5, 6), t3, (7, 8, 9, 10, 11, 6), (2, 7, 8, 9, 1, 10, 11, 4)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (8, 2, 3, 9, 1, 4, 10, 11)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (8, 2, 3, 9, 1, 10, 4, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (8, 2, 3, 9, 1, 10, 11, 4)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 4, 5), t3, (7, 8, 6, 9, 10, 11), (7, 2, 3, 8, 1, 9, 10, 11)) * 0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (8, 2, 9, 3, 1, 4, 10, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (8, 2, 9, 3, 1, 10, 4, 11)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (8, 2, 9, 3, 1, 10, 11, 4)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 4, 5), t3, (7, 8, 6, 9, 10, 11), (7, 2, 8, 3, 1, 9, 10, 11)) * -0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 6, 7), t3, (8, 9, 10, 11, 6, 7), (8, 2, 9, 10, 1, 4, 5, 11)) * 0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 6, 7), t3, (8, 9, 10, 11, 6, 7), (8, 2, 9, 10, 1, 4, 11, 5)) * -0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 5, 6), t3, (7, 8, 9, 10, 11, 6), (7, 2, 8, 9, 1, 4, 10, 11)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 6, 7), t3, (8, 9, 10, 11, 6, 7), (8, 2, 9, 10, 1, 11, 4, 5)) * 0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 5, 6), t3, (7, 8, 9, 10, 11, 6), (7, 2, 8, 9, 1, 10, 4, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 5, 6), t3, (7, 8, 9, 10, 11, 6), (7, 2, 8, 9, 1, 10, 11, 4)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (8, 9, 2, 3, 1, 4, 10, 11)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (8, 9, 2, 3, 1, 10, 4, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (8, 9, 2, 3, 1, 10, 11, 4)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 4, 5), t3, (7, 8, 6, 9, 10, 11), (7, 8, 2, 3, 1, 9, 10, 11)) * 0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 6, 7), t3, (8, 9, 10, 11, 6, 7), (8, 9, 2, 10, 1, 4, 5, 11)) * -0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 6, 7), t3, (8, 9, 10, 11, 6, 7), (8, 9, 2, 10, 1, 4, 11, 5)) * 0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 5, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 2, 9, 1, 4, 10, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 6, 7), t3, (8, 9, 10, 11, 6, 7), (8, 9, 2, 10, 1, 11, 4, 5)) * -0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 5, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 2, 9, 1, 10, 4, 11)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 5, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 2, 9, 1, 10, 11, 4)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 6, 7), t3, (8, 9, 10, 11, 6, 7), (8, 9, 10, 2, 1, 4, 5, 11)) * 0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 6, 7), t3, (8, 9, 10, 11, 6, 7), (8, 9, 10, 2, 1, 4, 11, 5)) * -0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 5, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 9, 2, 1, 4, 10, 11)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 6, 7), t3, (8, 9, 10, 11, 6, 7), (8, 9, 10, 2, 1, 11, 4, 5)) * 0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 5, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 9, 2, 1, 10, 4, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 5, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 9, 2, 1, 10, 11, 4)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (2, 3, 8, 9, 4, 1, 10, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (2, 3, 8, 9, 10, 1, 4, 11)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (2, 3, 8, 9, 10, 1, 11, 4)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 4, 5), t3, (7, 8, 6, 9, 10, 11), (2, 3, 7, 8, 9, 1, 10, 11)) * -0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (2, 8, 3, 9, 4, 1, 10, 11)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (2, 8, 3, 9, 10, 1, 4, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (2, 8, 3, 9, 10, 1, 11, 4)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 4, 5), t3, (7, 8, 6, 9, 10, 11), (2, 7, 3, 8, 9, 1, 10, 11)) * 0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (2, 8, 9, 3, 4, 1, 10, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (2, 8, 9, 3, 10, 1, 4, 11)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (2, 8, 9, 3, 10, 1, 11, 4)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 4, 5), t3, (7, 8, 6, 9, 10, 11), (2, 7, 8, 3, 9, 1, 10, 11)) * -0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 6, 7), t3, (8, 9, 10, 11, 6, 7), (2, 8, 9, 10, 4, 1, 5, 11)) * 0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 6, 7), t3, (8, 9, 10, 11, 6, 7), (2, 8, 9, 10, 4, 1, 11, 5)) * -0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 5, 6), t3, (7, 8, 9, 10, 11, 6), (2, 7, 8, 9, 4, 1, 10, 11)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 6, 7), t3, (8, 9, 10, 11, 6, 7), (2, 8, 9, 10, 11, 1, 4, 5)) * 0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 5, 6), t3, (7, 8, 9, 10, 11, 6), (2, 7, 8, 9, 10, 1, 4, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 5, 6), t3, (7, 8, 9, 10, 11, 6), (2, 7, 8, 9, 10, 1, 11, 4)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (8, 2, 3, 9, 4, 1, 10, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (8, 2, 3, 9, 10, 1, 4, 11)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (8, 2, 3, 9, 10, 1, 11, 4)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 4, 5), t3, (7, 8, 6, 9, 10, 11), (7, 2, 3, 8, 9, 1, 10, 11)) * -0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (8, 2, 9, 3, 4, 1, 10, 11)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (8, 2, 9, 3, 10, 1, 4, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (8, 2, 9, 3, 10, 1, 11, 4)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 4, 5), t3, (7, 8, 6, 9, 10, 11), (7, 2, 8, 3, 9, 1, 10, 11)) * 0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 6, 7), t3, (8, 9, 10, 11, 6, 7), (8, 2, 9, 10, 4, 1, 5, 11)) * -0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 6, 7), t3, (8, 9, 10, 11, 6, 7), (8, 2, 9, 10, 4, 1, 11, 5)) * 0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 5, 6), t3, (7, 8, 9, 10, 11, 6), (7, 2, 8, 9, 4, 1, 10, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 6, 7), t3, (8, 9, 10, 11, 6, 7), (8, 2, 9, 10, 11, 1, 4, 5)) * -0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 5, 6), t3, (7, 8, 9, 10, 11, 6), (7, 2, 8, 9, 10, 1, 4, 11)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 5, 6), t3, (7, 8, 9, 10, 11, 6), (7, 2, 8, 9, 10, 1, 11, 4)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (8, 9, 2, 3, 4, 1, 10, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (8, 9, 2, 3, 10, 1, 4, 11)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (8, 9, 2, 3, 10, 1, 11, 4)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 4, 5), t3, (7, 8, 6, 9, 10, 11), (7, 8, 2, 3, 9, 1, 10, 11)) * -0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 6, 7), t3, (8, 9, 10, 11, 6, 7), (8, 9, 2, 10, 4, 1, 5, 11)) * 0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 6, 7), t3, (8, 9, 10, 11, 6, 7), (8, 9, 2, 10, 4, 1, 11, 5)) * -0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 5, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 2, 9, 4, 1, 10, 11)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 6, 7), t3, (8, 9, 10, 11, 6, 7), (8, 9, 2, 10, 11, 1, 4, 5)) * 0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 5, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 2, 9, 10, 1, 4, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 5, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 2, 9, 10, 1, 11, 4)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 6, 7), t3, (8, 9, 10, 11, 6, 7), (8, 9, 10, 2, 4, 1, 5, 11)) * -0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 6, 7), t3, (8, 9, 10, 11, 6, 7), (8, 9, 10, 2, 4, 1, 11, 5)) * 0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 5, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 9, 2, 4, 1, 10, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 6, 7), t3, (8, 9, 10, 11, 6, 7), (8, 9, 10, 2, 11, 1, 4, 5)) * -0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 5, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 9, 2, 10, 1, 4, 11)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 5, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 9, 2, 10, 1, 11, 4)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (2, 3, 8, 9, 4, 10, 1, 11)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (2, 3, 8, 9, 10, 4, 1, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (2, 3, 8, 9, 10, 11, 1, 4)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 4, 5), t3, (7, 8, 6, 9, 10, 11), (2, 3, 7, 8, 9, 10, 1, 11)) * 0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (2, 8, 3, 9, 4, 10, 1, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (2, 8, 3, 9, 10, 4, 1, 11)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (2, 8, 3, 9, 10, 11, 1, 4)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 4, 5), t3, (7, 8, 6, 9, 10, 11), (2, 7, 3, 8, 9, 10, 1, 11)) * -0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (2, 8, 9, 3, 4, 10, 1, 11)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (2, 8, 9, 3, 10, 4, 1, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (2, 8, 9, 3, 10, 11, 1, 4)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 4, 5), t3, (7, 8, 6, 9, 10, 11), (2, 7, 8, 3, 9, 10, 1, 11)) * 0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 6, 7), t3, (8, 9, 10, 11, 6, 7), (2, 8, 9, 10, 4, 5, 1, 11)) * -0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 6, 7), t3, (8, 9, 10, 11, 6, 7), (2, 8, 9, 10, 4, 11, 1, 5)) * 0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 5, 6), t3, (7, 8, 9, 10, 11, 6), (2, 7, 8, 9, 4, 10, 1, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 6, 7), t3, (8, 9, 10, 11, 6, 7), (2, 8, 9, 10, 11, 4, 1, 5)) * -0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 5, 6), t3, (7, 8, 9, 10, 11, 6), (2, 7, 8, 9, 10, 4, 1, 11)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 5, 6), t3, (7, 8, 9, 10, 11, 6), (2, 7, 8, 9, 10, 11, 1, 4)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (8, 2, 3, 9, 4, 10, 1, 11)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (8, 2, 3, 9, 10, 4, 1, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (8, 2, 3, 9, 10, 11, 1, 4)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 4, 5), t3, (7, 8, 6, 9, 10, 11), (7, 2, 3, 8, 9, 10, 1, 11)) * 0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (8, 2, 9, 3, 4, 10, 1, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (8, 2, 9, 3, 10, 4, 1, 11)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (8, 2, 9, 3, 10, 11, 1, 4)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 4, 5), t3, (7, 8, 6, 9, 10, 11), (7, 2, 8, 3, 9, 10, 1, 11)) * -0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 6, 7), t3, (8, 9, 10, 11, 6, 7), (8, 2, 9, 10, 4, 5, 1, 11)) * 0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 6, 7), t3, (8, 9, 10, 11, 6, 7), (8, 2, 9, 10, 4, 11, 1, 5)) * -0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 5, 6), t3, (7, 8, 9, 10, 11, 6), (7, 2, 8, 9, 4, 10, 1, 11)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 6, 7), t3, (8, 9, 10, 11, 6, 7), (8, 2, 9, 10, 11, 4, 1, 5)) * 0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 5, 6), t3, (7, 8, 9, 10, 11, 6), (7, 2, 8, 9, 10, 4, 1, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 5, 6), t3, (7, 8, 9, 10, 11, 6), (7, 2, 8, 9, 10, 11, 1, 4)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (8, 9, 2, 3, 4, 10, 1, 11)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (8, 9, 2, 3, 10, 4, 1, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (8, 9, 2, 3, 10, 11, 1, 4)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 4, 5), t3, (7, 8, 6, 9, 10, 11), (7, 8, 2, 3, 9, 10, 1, 11)) * 0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 6, 7), t3, (8, 9, 10, 11, 6, 7), (8, 9, 2, 10, 4, 5, 1, 11)) * -0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 6, 7), t3, (8, 9, 10, 11, 6, 7), (8, 9, 2, 10, 4, 11, 1, 5)) * 0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 5, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 2, 9, 4, 10, 1, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 6, 7), t3, (8, 9, 10, 11, 6, 7), (8, 9, 2, 10, 11, 4, 1, 5)) * -0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 5, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 2, 9, 10, 4, 1, 11)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 5, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 2, 9, 10, 11, 1, 4)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 6, 7), t3, (8, 9, 10, 11, 6, 7), (8, 9, 10, 2, 4, 5, 1, 11)) * 0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 6, 7), t3, (8, 9, 10, 11, 6, 7), (8, 9, 10, 2, 4, 11, 1, 5)) * -0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 5, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 9, 2, 4, 10, 1, 11)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 6, 7), t3, (8, 9, 10, 11, 6, 7), (8, 9, 10, 2, 11, 4, 1, 5)) * 0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 5, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 9, 2, 10, 4, 1, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 5, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 9, 2, 10, 11, 1, 4)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (2, 3, 8, 9, 4, 10, 11, 1)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (2, 3, 8, 9, 10, 4, 11, 1)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (2, 3, 8, 9, 10, 11, 4, 1)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 4, 5), t3, (7, 8, 6, 9, 10, 11), (2, 3, 7, 8, 9, 10, 11, 1)) * -0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (2, 8, 3, 9, 4, 10, 11, 1)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (2, 8, 3, 9, 10, 4, 11, 1)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (2, 8, 3, 9, 10, 11, 4, 1)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 4, 5), t3, (7, 8, 6, 9, 10, 11), (2, 7, 3, 8, 9, 10, 11, 1)) * 0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (2, 8, 9, 3, 4, 10, 11, 1)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (2, 8, 9, 3, 10, 4, 11, 1)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (2, 8, 9, 3, 10, 11, 4, 1)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 4, 5), t3, (7, 8, 6, 9, 10, 11), (2, 7, 8, 3, 9, 10, 11, 1)) * -0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 6, 7), t3, (8, 9, 10, 11, 6, 7), (2, 8, 9, 10, 4, 5, 11, 1)) * 0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 6, 7), t3, (8, 9, 10, 11, 6, 7), (2, 8, 9, 10, 4, 11, 5, 1)) * -0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 5, 6), t3, (7, 8, 9, 10, 11, 6), (2, 7, 8, 9, 4, 10, 11, 1)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 6, 7), t3, (8, 9, 10, 11, 6, 7), (2, 8, 9, 10, 11, 4, 5, 1)) * 0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 5, 6), t3, (7, 8, 9, 10, 11, 6), (2, 7, 8, 9, 10, 4, 11, 1)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 5, 6), t3, (7, 8, 9, 10, 11, 6), (2, 7, 8, 9, 10, 11, 4, 1)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (8, 2, 3, 9, 4, 10, 11, 1)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (8, 2, 3, 9, 10, 4, 11, 1)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (8, 2, 3, 9, 10, 11, 4, 1)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 4, 5), t3, (7, 8, 6, 9, 10, 11), (7, 2, 3, 8, 9, 10, 11, 1)) * -0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (8, 2, 9, 3, 4, 10, 11, 1)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (8, 2, 9, 3, 10, 4, 11, 1)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (8, 2, 9, 3, 10, 11, 4, 1)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 4, 5), t3, (7, 8, 6, 9, 10, 11), (7, 2, 8, 3, 9, 10, 11, 1)) * 0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 6, 7), t3, (8, 9, 10, 11, 6, 7), (8, 2, 9, 10, 4, 5, 11, 1)) * -0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 6, 7), t3, (8, 9, 10, 11, 6, 7), (8, 2, 9, 10, 4, 11, 5, 1)) * 0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 5, 6), t3, (7, 8, 9, 10, 11, 6), (7, 2, 8, 9, 4, 10, 11, 1)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 6, 7), t3, (8, 9, 10, 11, 6, 7), (8, 2, 9, 10, 11, 4, 5, 1)) * -0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 5, 6), t3, (7, 8, 9, 10, 11, 6), (7, 2, 8, 9, 10, 4, 11, 1)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 5, 6), t3, (7, 8, 9, 10, 11, 6), (7, 2, 8, 9, 10, 11, 4, 1)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (8, 9, 2, 3, 4, 10, 11, 1)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (8, 9, 2, 3, 10, 4, 11, 1)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (8, 9, 2, 3, 10, 11, 4, 1)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 4, 5), t3, (7, 8, 6, 9, 10, 11), (7, 8, 2, 3, 9, 10, 11, 1)) * -0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 6, 7), t3, (8, 9, 10, 11, 6, 7), (8, 9, 2, 10, 4, 5, 11, 1)) * 0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 6, 7), t3, (8, 9, 10, 11, 6, 7), (8, 9, 2, 10, 4, 11, 5, 1)) * -0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 5, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 2, 9, 4, 10, 11, 1)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 6, 7), t3, (8, 9, 10, 11, 6, 7), (8, 9, 2, 10, 11, 4, 5, 1)) * 0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 5, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 2, 9, 10, 4, 11, 1)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 5, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 2, 9, 10, 11, 4, 1)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 6, 7), t3, (8, 9, 10, 11, 6, 7), (8, 9, 10, 2, 4, 5, 11, 1)) * -0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 6, 7), t3, (8, 9, 10, 11, 6, 7), (8, 9, 10, 2, 4, 11, 5, 1)) * 0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 5, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 9, 2, 4, 10, 11, 1)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 6, 7), t3, (8, 9, 10, 11, 6, 7), (8, 9, 10, 2, 11, 4, 5, 1)) * -0.5 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 5, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 9, 2, 10, 4, 11, 1)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 5, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 9, 2, 10, 11, 4, 1)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (2, 3, 7, 8, 4, 9, 10, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (2, 3, 7, 8, 9, 4, 10, 11)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (2, 3, 7, 8, 9, 10, 4, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (2, 3, 7, 8, 9, 10, 11, 4)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (2, 7, 3, 8, 4, 9, 10, 11)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (2, 7, 3, 8, 9, 4, 10, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (2, 7, 3, 8, 9, 10, 4, 11)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (2, 7, 3, 8, 9, 10, 11, 4)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (2, 7, 8, 3, 4, 9, 10, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (2, 7, 8, 3, 9, 4, 10, 11)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (2, 7, 8, 3, 9, 10, 4, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (2, 7, 8, 3, 9, 10, 11, 4)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 1, 6), t3, (7, 8, 9, 10, 11, 6), (2, 7, 8, 9, 4, 5, 10, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 1, 6), t3, (7, 8, 9, 10, 11, 6), (2, 7, 8, 9, 4, 10, 5, 11)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 1, 6), t3, (7, 8, 9, 10, 11, 6), (2, 7, 8, 9, 4, 10, 11, 5)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 1, 6), t3, (7, 8, 9, 10, 11, 6), (2, 7, 8, 9, 10, 4, 5, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 1, 6), t3, (7, 8, 9, 10, 11, 6), (2, 7, 8, 9, 10, 4, 11, 5)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 1, 6), t3, (7, 8, 9, 10, 11, 6), (2, 7, 8, 9, 10, 11, 4, 5)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (7, 2, 3, 8, 4, 9, 10, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (7, 2, 3, 8, 9, 4, 10, 11)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (7, 2, 3, 8, 9, 10, 4, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (7, 2, 3, 8, 9, 10, 11, 4)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (7, 2, 8, 3, 4, 9, 10, 11)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (7, 2, 8, 3, 9, 4, 10, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (7, 2, 8, 3, 9, 10, 4, 11)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (7, 2, 8, 3, 9, 10, 11, 4)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 2, 8, 9, 4, 5, 10, 11)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 2, 8, 9, 4, 10, 5, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 2, 8, 9, 4, 10, 11, 5)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 2, 8, 9, 10, 4, 5, 11)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 2, 8, 9, 10, 4, 11, 5)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 2, 8, 9, 10, 11, 4, 5)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (7, 8, 2, 3, 4, 9, 10, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (7, 8, 2, 3, 9, 4, 10, 11)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (7, 8, 2, 3, 9, 10, 4, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (7, 8, 2, 3, 9, 10, 11, 4)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 2, 9, 4, 5, 10, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 2, 9, 4, 10, 5, 11)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 2, 9, 4, 10, 11, 5)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 2, 9, 10, 4, 5, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 2, 9, 10, 4, 11, 5)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 2, 9, 10, 11, 4, 5)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 9, 2, 4, 5, 10, 11)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 9, 2, 4, 10, 5, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 9, 2, 4, 10, 11, 5)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 9, 2, 10, 4, 5, 11)) - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 9, 2, 10, 4, 11, 5)) * -1.0 - t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 9, 2, 10, 11, 4, 5)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 11), (0, 4, 8, 1, 2, 6, 10, 7)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 7), (0, 4, 8, 1, 2, 6, 10, 11)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 11), (0, 4, 8, 1, 2, 6, 7, 10)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 11), (0, 4, 8, 1, 2, 10, 6, 7)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 7), (0, 4, 8, 1, 2, 10, 6, 11)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 7), (0, 4, 8, 1, 2, 10, 11, 6)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 11), (0, 4, 8, 1, 6, 2, 10, 7)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 7), (0, 4, 8, 1, 6, 2, 10, 11)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 11), (0, 4, 8, 1, 6, 2, 7, 10)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 11), (0, 4, 8, 1, 10, 2, 6, 7)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 7), (0, 4, 8, 1, 10, 2, 6, 11)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 7), (0, 4, 8, 1, 10, 2, 11, 6)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 11), (0, 4, 8, 1, 6, 10, 2, 7)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 7), (0, 4, 8, 1, 6, 10, 2, 11)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 11), (0, 4, 8, 1, 6, 7, 2, 10)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 11), (0, 4, 8, 1, 10, 6, 2, 7)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 7), (0, 4, 8, 1, 10, 6, 2, 11)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 7), (0, 4, 8, 1, 10, 11, 2, 6)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 11), (0, 4, 8, 1, 6, 10, 7, 2)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 7), (0, 4, 8, 1, 6, 10, 11, 2)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 11), (0, 4, 8, 1, 6, 7, 10, 2)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 11), (0, 4, 8, 1, 10, 6, 7, 2)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 7), (0, 4, 8, 1, 10, 6, 11, 2)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 7), (0, 4, 8, 1, 10, 11, 6, 2)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 2, 3), (0, 4, 8, 1, 6, 10, 7, 11)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 2, 3), (0, 4, 8, 1, 6, 10, 11, 7)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 2, 3), (0, 4, 8, 1, 6, 7, 10, 11)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 2, 3), (0, 4, 8, 1, 10, 6, 7, 11)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 2, 3), (0, 4, 8, 1, 10, 6, 11, 7)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 2, 3), (0, 4, 8, 1, 10, 11, 6, 7)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 7, 11), (0, 4, 8, 5, 2, 6, 10, 3)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 3, 7), (0, 4, 8, 5, 2, 6, 10, 11)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 7, 11), (0, 4, 8, 5, 2, 6, 3, 10)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 7, 11), (0, 4, 8, 5, 2, 10, 6, 3)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 3, 7), (0, 4, 8, 5, 2, 10, 6, 11)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 7, 11), (0, 4, 8, 5, 2, 3, 6, 10)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 7, 11), (0, 4, 8, 5, 2, 10, 3, 6)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 3, 7), (0, 4, 8, 5, 2, 10, 11, 6)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 7, 11), (0, 4, 8, 5, 2, 3, 10, 6)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 6, 7), (0, 4, 8, 5, 2, 10, 3, 11)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 6, 7), (0, 4, 8, 5, 2, 10, 11, 3)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 6, 7), (0, 4, 8, 5, 2, 3, 10, 11)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 7, 11), (0, 4, 8, 5, 6, 2, 10, 3)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 3, 7), (0, 4, 8, 5, 6, 2, 10, 11)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 7, 11), (0, 4, 8, 5, 6, 2, 3, 10)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 7, 11), (0, 4, 8, 5, 10, 2, 6, 3)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 3, 7), (0, 4, 8, 5, 10, 2, 6, 11)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 7, 11), (0, 4, 8, 5, 10, 2, 3, 6)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 3, 7), (0, 4, 8, 5, 10, 2, 11, 6)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 6, 7), (0, 4, 8, 5, 10, 2, 3, 11)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 6, 7), (0, 4, 8, 5, 10, 2, 11, 3)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 7, 11), (0, 4, 8, 5, 6, 10, 2, 3)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 3, 7), (0, 4, 8, 5, 6, 10, 2, 11)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 7, 11), (0, 4, 8, 5, 10, 6, 2, 3)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 3, 7), (0, 4, 8, 5, 10, 6, 2, 11)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 3, 7), (0, 4, 8, 5, 10, 11, 2, 6)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 6, 7), (0, 4, 8, 5, 10, 11, 2, 3)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 3, 7), (0, 4, 8, 5, 6, 10, 11, 2)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 3, 7), (0, 4, 8, 5, 10, 6, 11, 2)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 3, 7), (0, 4, 8, 5, 10, 11, 6, 2)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 5, 7, 11), (0, 4, 8, 9, 2, 6, 10, 3)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 5, 3, 11), (0, 4, 8, 9, 2, 6, 10, 7)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 5, 7, 11), (0, 4, 8, 9, 2, 6, 3, 10)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 5, 3, 11), (0, 4, 8, 9, 2, 6, 7, 10)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 5, 10, 11), (0, 4, 8, 9, 2, 6, 3, 7)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 5, 10, 11), (0, 4, 8, 9, 2, 6, 7, 3)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 5, 7, 11), (0, 4, 8, 9, 2, 10, 6, 3)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 5, 3, 11), (0, 4, 8, 9, 2, 10, 6, 7)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 5, 7, 11), (0, 4, 8, 9, 2, 3, 6, 10)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 5, 10, 11), (0, 4, 8, 9, 2, 3, 6, 7)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 5, 7, 11), (0, 4, 8, 9, 2, 10, 3, 6)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 5, 7, 11), (0, 4, 8, 9, 2, 3, 10, 6)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 5, 7, 11), (0, 4, 8, 9, 6, 2, 10, 3)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 5, 3, 11), (0, 4, 8, 9, 6, 2, 10, 7)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 5, 7, 11), (0, 4, 8, 9, 6, 2, 3, 10)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 5, 3, 11), (0, 4, 8, 9, 6, 2, 7, 10)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 5, 10, 11), (0, 4, 8, 9, 6, 2, 3, 7)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 5, 10, 11), (0, 4, 8, 9, 6, 2, 7, 3)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 5, 7, 11), (0, 4, 8, 9, 10, 2, 6, 3)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 5, 3, 11), (0, 4, 8, 9, 10, 2, 6, 7)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 5, 7, 11), (0, 4, 8, 9, 10, 2, 3, 6)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 5, 7, 11), (0, 4, 8, 9, 6, 10, 2, 3)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 5, 3, 11), (0, 4, 8, 9, 6, 10, 2, 7)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 5, 3, 11), (0, 4, 8, 9, 6, 7, 2, 10)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 5, 10, 11), (0, 4, 8, 9, 6, 7, 2, 3)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 5, 7, 11), (0, 4, 8, 9, 10, 6, 2, 3)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 5, 3, 11), (0, 4, 8, 9, 10, 6, 2, 7)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 5, 3, 11), (0, 4, 8, 9, 6, 10, 7, 2)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 5, 3, 11), (0, 4, 8, 9, 6, 7, 10, 2)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 5, 3, 11), (0, 4, 8, 9, 10, 6, 7, 2)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 11), (0, 4, 1, 8, 2, 6, 10, 7)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 7), (0, 4, 1, 8, 2, 6, 10, 11)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 11), (0, 4, 1, 8, 2, 6, 7, 10)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 11), (0, 4, 1, 8, 2, 10, 6, 7)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 7), (0, 4, 1, 8, 2, 10, 6, 11)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 7), (0, 4, 1, 8, 2, 10, 11, 6)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 11), (0, 4, 1, 8, 6, 2, 10, 7)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 7), (0, 4, 1, 8, 6, 2, 10, 11)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 11), (0, 4, 1, 8, 6, 2, 7, 10)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 11), (0, 4, 1, 8, 10, 2, 6, 7)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 7), (0, 4, 1, 8, 10, 2, 6, 11)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 7), (0, 4, 1, 8, 10, 2, 11, 6)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 11), (0, 4, 1, 8, 6, 10, 2, 7)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 7), (0, 4, 1, 8, 6, 10, 2, 11)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 11), (0, 4, 1, 8, 6, 7, 2, 10)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 11), (0, 4, 1, 8, 10, 6, 2, 7)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 7), (0, 4, 1, 8, 10, 6, 2, 11)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 7), (0, 4, 1, 8, 10, 11, 2, 6)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 11), (0, 4, 1, 8, 6, 10, 7, 2)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 7), (0, 4, 1, 8, 6, 10, 11, 2)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 11), (0, 4, 1, 8, 6, 7, 10, 2)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 11), (0, 4, 1, 8, 10, 6, 7, 2)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 7), (0, 4, 1, 8, 10, 6, 11, 2)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 7), (0, 4, 1, 8, 10, 11, 6, 2)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 2, 3), (0, 4, 1, 8, 6, 10, 7, 11)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 2, 3), (0, 4, 1, 8, 6, 10, 11, 7)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 2, 3), (0, 4, 1, 8, 6, 7, 10, 11)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 2, 3), (0, 4, 1, 8, 10, 6, 7, 11)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 2, 3), (0, 4, 1, 8, 10, 6, 11, 7)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 2, 3), (0, 4, 1, 8, 10, 11, 6, 7)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 7, 11), (0, 4, 5, 8, 2, 6, 10, 3)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 3, 7), (0, 4, 5, 8, 2, 6, 10, 11)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 7, 11), (0, 4, 5, 8, 2, 6, 3, 10)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 7, 11), (0, 4, 5, 8, 2, 10, 6, 3)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 3, 7), (0, 4, 5, 8, 2, 10, 6, 11)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 7, 11), (0, 4, 5, 8, 2, 3, 6, 10)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 7, 11), (0, 4, 5, 8, 2, 10, 3, 6)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 3, 7), (0, 4, 5, 8, 2, 10, 11, 6)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 7, 11), (0, 4, 5, 8, 2, 3, 10, 6)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 6, 7), (0, 4, 5, 8, 2, 10, 3, 11)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 6, 7), (0, 4, 5, 8, 2, 10, 11, 3)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 6, 7), (0, 4, 5, 8, 2, 3, 10, 11)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 7, 11), (0, 4, 5, 8, 6, 2, 10, 3)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 3, 7), (0, 4, 5, 8, 6, 2, 10, 11)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 7, 11), (0, 4, 5, 8, 6, 2, 3, 10)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 7, 11), (0, 4, 5, 8, 10, 2, 6, 3)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 3, 7), (0, 4, 5, 8, 10, 2, 6, 11)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 7, 11), (0, 4, 5, 8, 10, 2, 3, 6)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 3, 7), (0, 4, 5, 8, 10, 2, 11, 6)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 6, 7), (0, 4, 5, 8, 10, 2, 3, 11)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 6, 7), (0, 4, 5, 8, 10, 2, 11, 3)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 7, 11), (0, 4, 5, 8, 6, 10, 2, 3)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 3, 7), (0, 4, 5, 8, 6, 10, 2, 11)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 7, 11), (0, 4, 5, 8, 10, 6, 2, 3)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 3, 7), (0, 4, 5, 8, 10, 6, 2, 11)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 3, 7), (0, 4, 5, 8, 10, 11, 2, 6)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 6, 7), (0, 4, 5, 8, 10, 11, 2, 3)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 3, 7), (0, 4, 5, 8, 6, 10, 11, 2)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 3, 7), (0, 4, 5, 8, 10, 6, 11, 2)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 3, 7), (0, 4, 5, 8, 10, 11, 6, 2)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (8, 9, 3, 7), (0, 4, 1, 5, 2, 6, 10, 11)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (8, 9, 3, 7), (0, 4, 1, 5, 2, 10, 6, 11)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (8, 9, 3, 7), (0, 4, 1, 5, 2, 10, 11, 6)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (8, 9, 3, 7), (0, 4, 1, 5, 6, 2, 10, 11)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (8, 9, 3, 7), (0, 4, 1, 5, 10, 2, 6, 11)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (8, 9, 3, 7), (0, 4, 1, 5, 10, 2, 11, 6)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (8, 9, 3, 7), (0, 4, 1, 5, 6, 10, 2, 11)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (8, 9, 3, 7), (0, 4, 1, 5, 10, 6, 2, 11)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (8, 9, 3, 7), (0, 4, 1, 5, 10, 11, 2, 6)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (8, 9, 3, 7), (0, 4, 1, 5, 6, 10, 11, 2)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (8, 9, 3, 7), (0, 4, 1, 5, 10, 6, 11, 2)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (8, 9, 3, 7), (0, 4, 1, 5, 10, 11, 6, 2)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (8, 9, 3, 7), (0, 4, 5, 1, 2, 6, 10, 11)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (8, 9, 3, 7), (0, 4, 5, 1, 2, 10, 6, 11)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (8, 9, 3, 7), (0, 4, 5, 1, 2, 10, 11, 6)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (8, 9, 3, 7), (0, 4, 5, 1, 6, 2, 10, 11)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (8, 9, 3, 7), (0, 4, 5, 1, 10, 2, 6, 11)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (8, 9, 3, 7), (0, 4, 5, 1, 10, 2, 11, 6)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (8, 9, 3, 7), (0, 4, 5, 1, 6, 10, 2, 11)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (8, 9, 3, 7), (0, 4, 5, 1, 10, 6, 2, 11)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (8, 9, 3, 7), (0, 4, 5, 1, 10, 11, 2, 6)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (8, 9, 3, 7), (0, 4, 5, 1, 6, 10, 11, 2)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (8, 9, 3, 7), (0, 4, 5, 1, 10, 6, 11, 2)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (8, 9, 3, 7), (0, 4, 5, 1, 10, 11, 6, 2)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 11), (0, 1, 4, 8, 2, 6, 10, 7)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 7), (0, 1, 4, 8, 2, 6, 10, 11)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 11), (0, 1, 4, 8, 2, 6, 7, 10)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 11), (0, 1, 4, 8, 2, 10, 6, 7)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 7), (0, 1, 4, 8, 2, 10, 6, 11)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 7), (0, 1, 4, 8, 2, 10, 11, 6)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 11), (0, 1, 4, 8, 6, 2, 10, 7)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 7), (0, 1, 4, 8, 6, 2, 10, 11)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 11), (0, 1, 4, 8, 6, 2, 7, 10)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 11), (0, 1, 4, 8, 10, 2, 6, 7)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 7), (0, 1, 4, 8, 10, 2, 6, 11)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 7), (0, 1, 4, 8, 10, 2, 11, 6)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 11), (0, 1, 4, 8, 6, 10, 2, 7)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 7), (0, 1, 4, 8, 6, 10, 2, 11)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 11), (0, 1, 4, 8, 6, 7, 2, 10)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 11), (0, 1, 4, 8, 10, 6, 2, 7)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 7), (0, 1, 4, 8, 10, 6, 2, 11)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 7), (0, 1, 4, 8, 10, 11, 2, 6)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 11), (0, 1, 4, 8, 6, 10, 7, 2)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 7), (0, 1, 4, 8, 6, 10, 11, 2)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 11), (0, 1, 4, 8, 6, 7, 10, 2)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 11), (0, 1, 4, 8, 10, 6, 7, 2)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 7), (0, 1, 4, 8, 10, 6, 11, 2)) - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 7), (0, 1, 4, 8, 10, 11, 6, 2)) * -1.0 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 2, 3), (0, 1, 4, 8, 6, 10, 7, 11)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 2, 3), (0, 1, 4, 8, 6, 10, 11, 7)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 2, 3), (0, 1, 4, 8, 6, 7, 10, 11)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 2, 3), (0, 1, 4, 8, 10, 6, 7, 11)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 2, 3), (0, 1, 4, 8, 10, 6, 11, 7)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 2, 3), (0, 1, 4, 8, 10, 11, 6, 7)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (8, 9, 3, 7), (0, 1, 4, 5, 2, 6, 10, 11)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (8, 9, 3, 7), (0, 1, 4, 5, 2, 10, 6, 11)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (8, 9, 3, 7), (0, 1, 4, 5, 2, 10, 11, 6)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (8, 9, 3, 7), (0, 1, 4, 5, 6, 2, 10, 11)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (8, 9, 3, 7), (0, 1, 4, 5, 10, 2, 6, 11)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (8, 9, 3, 7), (0, 1, 4, 5, 10, 2, 11, 6)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (8, 9, 3, 7), (0, 1, 4, 5, 6, 10, 2, 11)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (8, 9, 3, 7), (0, 1, 4, 5, 10, 6, 2, 11)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (8, 9, 3, 7), (0, 1, 4, 5, 10, 11, 2, 6)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (8, 9, 3, 7), (0, 1, 4, 5, 6, 10, 11, 2)) * 0.5 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (8, 9, 3, 7), (0, 1, 4, 5, 10, 6, 11, 2)) * -0.5 - t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (8, 9, 3, 7), (0, 1, 4, 5, 10, 11, 6, 2)) * 0.5 - t4new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.oovv, (4, 6, 1, 3), t3, (7, 8, 6, 9, 10, 11), (0, 2, 7, 8, 5, 9, 10, 11)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.oovv, (4, 6, 1, 3), t3, (7, 8, 6, 9, 10, 11), (0, 2, 7, 8, 9, 5, 10, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.oovv, (4, 6, 1, 3), t3, (7, 8, 6, 9, 10, 11), (0, 2, 7, 8, 9, 10, 5, 11)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.oovv, (4, 6, 1, 3), t3, (7, 8, 6, 9, 10, 11), (0, 2, 7, 8, 9, 10, 11, 5)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.oovv, (4, 6, 1, 3), t3, (7, 8, 6, 9, 10, 11), (0, 7, 2, 8, 5, 9, 10, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.oovv, (4, 6, 1, 3), t3, (7, 8, 6, 9, 10, 11), (0, 7, 2, 8, 9, 5, 10, 11)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.oovv, (4, 6, 1, 3), t3, (7, 8, 6, 9, 10, 11), (0, 7, 2, 8, 9, 10, 5, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.oovv, (4, 6, 1, 3), t3, (7, 8, 6, 9, 10, 11), (0, 7, 2, 8, 9, 10, 11, 5)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.oovv, (4, 6, 1, 3), t3, (7, 8, 6, 9, 10, 11), (0, 7, 8, 2, 5, 9, 10, 11)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.oovv, (4, 6, 1, 3), t3, (7, 8, 6, 9, 10, 11), (0, 7, 8, 2, 9, 5, 10, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.oovv, (4, 6, 1, 3), t3, (7, 8, 6, 9, 10, 11), (0, 7, 8, 2, 9, 10, 5, 11)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.oovv, (4, 6, 1, 3), t3, (7, 8, 6, 9, 10, 11), (0, 7, 8, 2, 9, 10, 11, 5)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.oovv, (2, 4, 1, 6), t3, (7, 8, 9, 10, 11, 6), (0, 7, 8, 9, 3, 5, 10, 11)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.oovv, (2, 4, 1, 6), t3, (7, 8, 9, 10, 11, 6), (0, 7, 8, 9, 3, 10, 5, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.oovv, (2, 4, 1, 6), t3, (7, 8, 9, 10, 11, 6), (0, 7, 8, 9, 3, 10, 11, 5)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.oovv, (2, 4, 1, 6), t3, (7, 8, 9, 10, 11, 6), (0, 7, 8, 9, 10, 3, 5, 11)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.oovv, (2, 4, 1, 6), t3, (7, 8, 9, 10, 11, 6), (0, 7, 8, 9, 10, 3, 11, 5)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.oovv, (2, 4, 1, 6), t3, (7, 8, 9, 10, 11, 6), (0, 7, 8, 9, 10, 11, 3, 5)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.oovv, (4, 6, 1, 3), t3, (7, 8, 6, 9, 10, 11), (7, 0, 2, 8, 5, 9, 10, 11)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.oovv, (4, 6, 1, 3), t3, (7, 8, 6, 9, 10, 11), (7, 0, 2, 8, 9, 5, 10, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.oovv, (4, 6, 1, 3), t3, (7, 8, 6, 9, 10, 11), (7, 0, 2, 8, 9, 10, 5, 11)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.oovv, (4, 6, 1, 3), t3, (7, 8, 6, 9, 10, 11), (7, 0, 2, 8, 9, 10, 11, 5)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.oovv, (4, 6, 1, 3), t3, (7, 8, 6, 9, 10, 11), (7, 0, 8, 2, 5, 9, 10, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.oovv, (4, 6, 1, 3), t3, (7, 8, 6, 9, 10, 11), (7, 0, 8, 2, 9, 5, 10, 11)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.oovv, (4, 6, 1, 3), t3, (7, 8, 6, 9, 10, 11), (7, 0, 8, 2, 9, 10, 5, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.oovv, (4, 6, 1, 3), t3, (7, 8, 6, 9, 10, 11), (7, 0, 8, 2, 9, 10, 11, 5)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.oovv, (2, 4, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 0, 8, 9, 3, 5, 10, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.oovv, (2, 4, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 0, 8, 9, 3, 10, 5, 11)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.oovv, (2, 4, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 0, 8, 9, 3, 10, 11, 5)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.oovv, (2, 4, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 0, 8, 9, 10, 3, 5, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.oovv, (2, 4, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 0, 8, 9, 10, 3, 11, 5)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.oovv, (2, 4, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 0, 8, 9, 10, 11, 3, 5)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.oovv, (4, 6, 1, 3), t3, (7, 8, 6, 9, 10, 11), (7, 8, 0, 2, 5, 9, 10, 11)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.oovv, (4, 6, 1, 3), t3, (7, 8, 6, 9, 10, 11), (7, 8, 0, 2, 9, 5, 10, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.oovv, (4, 6, 1, 3), t3, (7, 8, 6, 9, 10, 11), (7, 8, 0, 2, 9, 10, 5, 11)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.oovv, (4, 6, 1, 3), t3, (7, 8, 6, 9, 10, 11), (7, 8, 0, 2, 9, 10, 11, 5)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.oovv, (2, 4, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 0, 9, 3, 5, 10, 11)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.oovv, (2, 4, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 0, 9, 3, 10, 5, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.oovv, (2, 4, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 0, 9, 3, 10, 11, 5)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.oovv, (2, 4, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 0, 9, 10, 3, 5, 11)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.oovv, (2, 4, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 0, 9, 10, 3, 11, 5)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.oovv, (2, 4, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 0, 9, 10, 11, 3, 5)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.oovv, (2, 4, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 9, 0, 3, 5, 10, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.oovv, (2, 4, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 9, 0, 3, 10, 5, 11)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.oovv, (2, 4, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 9, 0, 3, 10, 11, 5)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.oovv, (2, 4, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 9, 0, 10, 3, 5, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.oovv, (2, 4, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 9, 0, 10, 3, 11, 5)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.oovv, (2, 4, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 9, 0, 10, 11, 3, 5)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 1, 3), (0, 2, 4, 8, 6, 10, 7, 11)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 1, 3), (0, 2, 4, 8, 6, 10, 11, 7)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 1, 3), (0, 2, 4, 8, 6, 7, 10, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 1, 3), (0, 2, 4, 8, 10, 6, 7, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 1, 3), (0, 2, 4, 8, 10, 6, 11, 7)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 1, 3), (0, 2, 4, 8, 10, 11, 6, 7)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 1, 3), (0, 4, 2, 8, 6, 10, 7, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 1, 3), (0, 4, 2, 8, 6, 10, 11, 7)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 1, 3), (0, 4, 2, 8, 6, 7, 10, 11)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 1, 3), (0, 4, 2, 8, 10, 6, 7, 11)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 1, 3), (0, 4, 2, 8, 10, 6, 11, 7)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 1, 3), (0, 4, 2, 8, 10, 11, 6, 7)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 1, 3), (0, 4, 8, 2, 6, 10, 7, 11)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 1, 3), (0, 4, 8, 2, 6, 10, 11, 7)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 1, 3), (0, 4, 8, 2, 6, 7, 10, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 1, 3), (0, 4, 8, 2, 10, 6, 7, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 1, 3), (0, 4, 8, 2, 10, 6, 11, 7)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 1, 3), (0, 4, 8, 2, 10, 11, 6, 7)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (0, 4, 8, 5, 3, 6, 10, 11)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (0, 4, 8, 5, 3, 10, 6, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (0, 4, 8, 5, 3, 10, 11, 6)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 5, 1, 11), (0, 4, 8, 9, 3, 6, 10, 7)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 5, 1, 11), (0, 4, 8, 9, 3, 6, 7, 10)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 5, 1, 11), (0, 4, 8, 9, 3, 10, 6, 7)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (0, 4, 5, 8, 3, 6, 10, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (0, 4, 5, 8, 3, 10, 6, 11)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (0, 4, 5, 8, 3, 10, 11, 6)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (0, 4, 8, 5, 6, 3, 10, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (0, 4, 8, 5, 10, 3, 6, 11)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (0, 4, 8, 5, 10, 3, 11, 6)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 5, 1, 11), (0, 4, 8, 9, 6, 3, 10, 7)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 5, 1, 11), (0, 4, 8, 9, 6, 3, 7, 10)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 5, 1, 11), (0, 4, 8, 9, 10, 3, 6, 7)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (0, 4, 5, 8, 6, 3, 10, 11)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (0, 4, 5, 8, 10, 3, 6, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (0, 4, 5, 8, 10, 3, 11, 6)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (0, 4, 8, 5, 6, 10, 3, 11)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (0, 4, 8, 5, 10, 6, 3, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (0, 4, 8, 5, 10, 11, 3, 6)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 5, 1, 11), (0, 4, 8, 9, 6, 10, 3, 7)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 5, 1, 11), (0, 4, 8, 9, 6, 7, 3, 10)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 5, 1, 11), (0, 4, 8, 9, 10, 6, 3, 7)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (0, 4, 5, 8, 6, 10, 3, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (0, 4, 5, 8, 10, 6, 3, 11)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (0, 4, 5, 8, 10, 11, 3, 6)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (0, 4, 8, 5, 6, 10, 11, 3)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (0, 4, 8, 5, 10, 6, 11, 3)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (0, 4, 8, 5, 10, 11, 6, 3)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 5, 1, 11), (0, 4, 8, 9, 6, 10, 7, 3)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 5, 1, 11), (0, 4, 8, 9, 6, 7, 10, 3)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 5, 1, 11), (0, 4, 8, 9, 10, 6, 7, 3)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (0, 4, 5, 8, 6, 10, 11, 3)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (0, 4, 5, 8, 10, 6, 11, 3)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (0, 4, 5, 8, 10, 11, 6, 3)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 1, 3), (4, 0, 2, 8, 6, 10, 7, 11)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 1, 3), (4, 0, 2, 8, 6, 10, 11, 7)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 1, 3), (4, 0, 2, 8, 6, 7, 10, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 1, 3), (4, 0, 2, 8, 10, 6, 7, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 1, 3), (4, 0, 2, 8, 10, 6, 11, 7)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 1, 3), (4, 0, 2, 8, 10, 11, 6, 7)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 1, 3), (4, 0, 8, 2, 6, 10, 7, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 1, 3), (4, 0, 8, 2, 6, 10, 11, 7)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 1, 3), (4, 0, 8, 2, 6, 7, 10, 11)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 1, 3), (4, 0, 8, 2, 10, 6, 7, 11)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 1, 3), (4, 0, 8, 2, 10, 6, 11, 7)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 1, 3), (4, 0, 8, 2, 10, 11, 6, 7)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 0, 8, 5, 3, 6, 10, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 0, 8, 5, 3, 10, 6, 11)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 0, 8, 5, 3, 10, 11, 6)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 5, 1, 11), (4, 0, 8, 9, 3, 6, 10, 7)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 5, 1, 11), (4, 0, 8, 9, 3, 6, 7, 10)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 5, 1, 11), (4, 0, 8, 9, 3, 10, 6, 7)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 0, 5, 8, 3, 6, 10, 11)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 0, 5, 8, 3, 10, 6, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 0, 5, 8, 3, 10, 11, 6)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 0, 8, 5, 6, 3, 10, 11)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 0, 8, 5, 10, 3, 6, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 0, 8, 5, 10, 3, 11, 6)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 5, 1, 11), (4, 0, 8, 9, 6, 3, 10, 7)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 5, 1, 11), (4, 0, 8, 9, 6, 3, 7, 10)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 5, 1, 11), (4, 0, 8, 9, 10, 3, 6, 7)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 0, 5, 8, 6, 3, 10, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 0, 5, 8, 10, 3, 6, 11)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 0, 5, 8, 10, 3, 11, 6)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 0, 8, 5, 6, 10, 3, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 0, 8, 5, 10, 6, 3, 11)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 0, 8, 5, 10, 11, 3, 6)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 5, 1, 11), (4, 0, 8, 9, 6, 10, 3, 7)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 5, 1, 11), (4, 0, 8, 9, 6, 7, 3, 10)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 5, 1, 11), (4, 0, 8, 9, 10, 6, 3, 7)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 0, 5, 8, 6, 10, 3, 11)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 0, 5, 8, 10, 6, 3, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 0, 5, 8, 10, 11, 3, 6)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 0, 8, 5, 6, 10, 11, 3)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 0, 8, 5, 10, 6, 11, 3)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 0, 8, 5, 10, 11, 6, 3)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 5, 1, 11), (4, 0, 8, 9, 6, 10, 7, 3)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 5, 1, 11), (4, 0, 8, 9, 6, 7, 10, 3)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 5, 1, 11), (4, 0, 8, 9, 10, 6, 7, 3)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 0, 5, 8, 6, 10, 11, 3)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 0, 5, 8, 10, 6, 11, 3)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 0, 5, 8, 10, 11, 6, 3)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 1, 3), (4, 8, 0, 2, 6, 10, 7, 11)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 1, 3), (4, 8, 0, 2, 6, 10, 11, 7)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 1, 3), (4, 8, 0, 2, 6, 7, 10, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 1, 3), (4, 8, 0, 2, 10, 6, 7, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 1, 3), (4, 8, 0, 2, 10, 6, 11, 7)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 1, 3), (4, 8, 0, 2, 10, 11, 6, 7)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 8, 0, 5, 3, 6, 10, 11)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 8, 0, 5, 3, 10, 6, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 8, 0, 5, 3, 10, 11, 6)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 5, 1, 11), (4, 8, 0, 9, 3, 6, 10, 7)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 5, 1, 11), (4, 8, 0, 9, 3, 6, 7, 10)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 5, 1, 11), (4, 8, 0, 9, 3, 10, 6, 7)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 5, 0, 8, 3, 6, 10, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 5, 0, 8, 3, 10, 6, 11)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 5, 0, 8, 3, 10, 11, 6)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 8, 0, 5, 6, 3, 10, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 8, 0, 5, 10, 3, 6, 11)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 8, 0, 5, 10, 3, 11, 6)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 5, 1, 11), (4, 8, 0, 9, 6, 3, 10, 7)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 5, 1, 11), (4, 8, 0, 9, 6, 3, 7, 10)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 5, 1, 11), (4, 8, 0, 9, 10, 3, 6, 7)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 5, 0, 8, 6, 3, 10, 11)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 5, 0, 8, 10, 3, 6, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 5, 0, 8, 10, 3, 11, 6)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 8, 0, 5, 6, 10, 3, 11)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 8, 0, 5, 10, 6, 3, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 8, 0, 5, 10, 11, 3, 6)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 5, 1, 11), (4, 8, 0, 9, 6, 10, 3, 7)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 5, 1, 11), (4, 8, 0, 9, 6, 7, 3, 10)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 5, 1, 11), (4, 8, 0, 9, 10, 6, 3, 7)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 5, 0, 8, 6, 10, 3, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 5, 0, 8, 10, 6, 3, 11)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 5, 0, 8, 10, 11, 3, 6)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 8, 0, 5, 6, 10, 11, 3)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 8, 0, 5, 10, 6, 11, 3)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 8, 0, 5, 10, 11, 6, 3)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 5, 1, 11), (4, 8, 0, 9, 6, 10, 7, 3)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 5, 1, 11), (4, 8, 0, 9, 6, 7, 10, 3)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 5, 1, 11), (4, 8, 0, 9, 10, 6, 7, 3)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 5, 0, 8, 6, 10, 11, 3)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 5, 0, 8, 10, 6, 11, 3)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 5, 0, 8, 10, 11, 6, 3)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 8, 5, 0, 3, 6, 10, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 8, 5, 0, 3, 10, 6, 11)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 8, 5, 0, 3, 10, 11, 6)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 5, 1, 11), (4, 8, 9, 0, 3, 6, 10, 7)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 5, 1, 11), (4, 8, 9, 0, 3, 6, 7, 10)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 5, 1, 11), (4, 8, 9, 0, 3, 10, 6, 7)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 5, 8, 0, 3, 6, 10, 11)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 5, 8, 0, 3, 10, 6, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 5, 8, 0, 3, 10, 11, 6)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 8, 5, 0, 6, 3, 10, 11)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 8, 5, 0, 10, 3, 6, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 8, 5, 0, 10, 3, 11, 6)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 5, 1, 11), (4, 8, 9, 0, 6, 3, 10, 7)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 5, 1, 11), (4, 8, 9, 0, 6, 3, 7, 10)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 5, 1, 11), (4, 8, 9, 0, 10, 3, 6, 7)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 5, 8, 0, 6, 3, 10, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 5, 8, 0, 10, 3, 6, 11)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 5, 8, 0, 10, 3, 11, 6)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 8, 5, 0, 6, 10, 3, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 8, 5, 0, 10, 6, 3, 11)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 8, 5, 0, 10, 11, 3, 6)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 5, 1, 11), (4, 8, 9, 0, 6, 10, 3, 7)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 5, 1, 11), (4, 8, 9, 0, 6, 7, 3, 10)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 5, 1, 11), (4, 8, 9, 0, 10, 6, 3, 7)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 5, 8, 0, 6, 10, 3, 11)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 5, 8, 0, 10, 6, 3, 11)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 5, 8, 0, 10, 11, 3, 6)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 8, 5, 0, 6, 10, 11, 3)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 8, 5, 0, 10, 6, 11, 3)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 8, 5, 0, 10, 11, 6, 3)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 5, 1, 11), (4, 8, 9, 0, 6, 10, 7, 3)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 5, 1, 11), (4, 8, 9, 0, 6, 7, 10, 3)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 5, 1, 11), (4, 8, 9, 0, 10, 6, 7, 3)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 5, 8, 0, 6, 10, 11, 3)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 5, 8, 0, 10, 6, 11, 3)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 5, 8, 0, 10, 11, 6, 3)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (0, 2, 7, 11), (4, 8, 5, 9, 1, 3, 6, 10)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (0, 2, 7, 11), (4, 8, 5, 9, 1, 3, 10, 6)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (0, 2, 7, 11), (4, 8, 9, 5, 1, 3, 6, 10)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (0, 2, 7, 11), (4, 8, 9, 5, 1, 3, 10, 6)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (0, 2, 7, 11), (4, 5, 8, 9, 1, 3, 6, 10)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (0, 2, 7, 11), (4, 5, 8, 9, 1, 3, 10, 6)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (0, 2, 7, 11), (4, 8, 5, 9, 1, 6, 3, 10)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (0, 2, 7, 11), (4, 8, 5, 9, 1, 10, 3, 6)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (0, 2, 7, 11), (4, 8, 9, 5, 1, 6, 3, 10)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (0, 2, 7, 11), (4, 8, 9, 5, 1, 10, 3, 6)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (0, 2, 7, 11), (4, 5, 8, 9, 1, 6, 3, 10)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (0, 2, 7, 11), (4, 5, 8, 9, 1, 10, 3, 6)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (0, 2, 7, 11), (4, 8, 5, 9, 1, 6, 10, 3)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (0, 2, 7, 11), (4, 8, 5, 9, 1, 10, 6, 3)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (0, 2, 7, 11), (4, 8, 9, 5, 1, 6, 10, 3)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (0, 2, 7, 11), (4, 8, 9, 5, 1, 10, 6, 3)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (0, 2, 7, 11), (4, 5, 8, 9, 1, 6, 10, 3)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (0, 2, 7, 11), (4, 5, 8, 9, 1, 10, 6, 3)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (0, 2, 7, 11), (4, 8, 5, 9, 6, 1, 3, 10)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (0, 2, 7, 11), (4, 8, 5, 9, 10, 1, 3, 6)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (0, 2, 7, 11), (4, 8, 9, 5, 6, 1, 3, 10)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (0, 2, 7, 11), (4, 8, 9, 5, 10, 1, 3, 6)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (0, 2, 7, 11), (4, 5, 8, 9, 6, 1, 3, 10)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (0, 2, 7, 11), (4, 5, 8, 9, 10, 1, 3, 6)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (0, 2, 7, 11), (4, 8, 5, 9, 6, 1, 10, 3)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (0, 2, 7, 11), (4, 8, 5, 9, 10, 1, 6, 3)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (0, 2, 7, 11), (4, 8, 9, 5, 6, 1, 10, 3)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (0, 2, 7, 11), (4, 8, 9, 5, 10, 1, 6, 3)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (0, 2, 7, 11), (4, 5, 8, 9, 6, 1, 10, 3)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (0, 2, 7, 11), (4, 5, 8, 9, 10, 1, 6, 3)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (0, 2, 7, 11), (4, 8, 5, 9, 6, 10, 1, 3)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (0, 2, 7, 11), (4, 8, 5, 9, 10, 6, 1, 3)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (0, 2, 7, 11), (4, 8, 9, 5, 6, 10, 1, 3)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (0, 2, 7, 11), (4, 8, 9, 5, 10, 6, 1, 3)) - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (0, 2, 7, 11), (4, 5, 8, 9, 6, 10, 1, 3)) * -1.0 - t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (0, 2, 7, 11), (4, 5, 8, 9, 10, 6, 1, 3)) - - return {"t1new": t1new, "t2new": t2new, "t3new": t3new, "t4new": t4new} - diff --git a/ebcc/codegen/GCCSD_SD_1_1.py b/ebcc/codegen/GCCSD_SD_1_1.py deleted file mode 100644 index d4ae569f..00000000 --- a/ebcc/codegen/GCCSD_SD_1_1.py +++ /dev/null @@ -1,1598 +0,0 @@ -# Code generated for ebcc. - -from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, Namespace -from ebcc.precision import types - -def energy(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, s2=None, u11=None, **kwargs): - # Energy - x0 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x0 += einsum("ijab->jiba", t2) - x0 += einsum("ia,jb->ijab", t1, t1) * 2 - e_cc = 0 - e_cc += einsum("ijab,ijab->", v.oovv, x0) * 0.25 - del x0 - x1 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x1 += einsum("wia->wia", u11) - x1 += einsum("w,ia->wia", s1, t1) - e_cc += einsum("wia,wia->", g.bov, x1) - del x1 - e_cc += einsum("ia,ia->", f.ov, t1) - e_cc += einsum("w,w->", G, s1) - - return e_cc - -def update_amps(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, s2=None, u11=None, **kwargs): - # Get boson coupling creation array: - gc = Namespace( - boo=g.boo.transpose(0, 2, 1), - bov=g.bvo.transpose(0, 2, 1), - bvo=g.bov.transpose(0, 2, 1), - bvv=g.bvv.transpose(0, 2, 1), - ) - - # T1, T2, S1, S2 and U11 amplitudes - x0 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x0 += einsum("ia,jkba->ijkb", t1, v.oovv) - x1 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x1 += einsum("ijka->ikja", x0) * -1 - x30 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x30 += einsum("ijab,kjlb->kila", t2, x0) - x31 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x31 -= einsum("ijka->ikja", x30) - del x30 - x65 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x65 += einsum("ia,jkla->jilk", t1, x0) - del x0 - x66 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x66 += einsum("ijkl->klji", x65) * -1 - x67 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x67 += einsum("ijkl->klji", x65) * -1 - del x65 - x1 += einsum("ijka->kjia", v.ooov) - t1new = np.zeros((nocc, nvir), dtype=types[float]) - t1new += einsum("ijab,kija->kb", t2, x1) * -0.5 - del x1 - x2 = np.zeros((nocc, nvir), dtype=types[float]) - x2 += einsum("w,wia->ia", s1, g.bov) - x4 = np.zeros((nocc, nvir), dtype=types[float]) - x4 += einsum("ia->ia", x2) - x11 = np.zeros((nocc, nvir), dtype=types[float]) - x11 += einsum("ia->ia", x2) - x78 = np.zeros((nocc, nvir), dtype=types[float]) - x78 += einsum("ia->ia", x2) - del x2 - x3 = np.zeros((nocc, nvir), dtype=types[float]) - x3 += einsum("ia,jiba->jb", t1, v.oovv) - x4 += einsum("ia->ia", x3) - x11 += einsum("ia->ia", x3) - x77 = np.zeros((nvir, nvir), dtype=types[float]) - x77 += einsum("ia,ib->ab", t1, x3) - del x3 - x4 += einsum("ia->ia", f.ov) - x38 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x38 += einsum("ia,jkab->jkib", x4, t2) - x39 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x39 += einsum("ijka->kjia", x38) - del x38 - x54 = np.zeros((nocc, nocc), dtype=types[float]) - x54 += einsum("ia,ja->ij", t1, x4) - x55 = np.zeros((nocc, nocc), dtype=types[float]) - x55 += einsum("ij->ij", x54) - del x54 - t1new += einsum("ia,ijab->jb", x4, t2) - s1new = np.zeros((nbos), dtype=types[float]) - s1new += einsum("ia,wia->w", x4, u11) - del x4 - x5 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x5 += einsum("ia,wja->wji", t1, g.bov) - x6 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x6 += einsum("wij->wij", x5) - del x5 - x6 += einsum("wij->wij", g.boo) - x25 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x25 += einsum("ia,wij->wja", t1, x6) - x26 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x26 -= einsum("wia->wia", x25) - del x25 - t1new -= einsum("wia,wij->ja", u11, x6) - del x6 - x7 = np.zeros((nocc, nocc), dtype=types[float]) - x7 += einsum("w,wij->ij", s1, g.boo) - x13 = np.zeros((nocc, nocc), dtype=types[float]) - x13 += einsum("ij->ij", x7) - x55 += einsum("ij->ji", x7) - del x7 - x8 = np.zeros((nocc, nocc), dtype=types[float]) - x8 += einsum("wia,wja->ij", g.bov, u11) - x13 += einsum("ij->ij", x8) - x57 = np.zeros((nocc, nocc), dtype=types[float]) - x57 += einsum("ij->ij", x8) - del x8 - x9 = np.zeros((nocc, nocc), dtype=types[float]) - x9 -= einsum("ia,ijka->jk", t1, v.ooov) - x13 += einsum("ij->ij", x9) - x57 += einsum("ij->ij", x9) - del x9 - x58 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x58 += einsum("ij,ikab->kjab", x57, t2) - del x57 - x59 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x59 -= einsum("ijab->ijba", x58) - del x58 - x10 = np.zeros((nocc, nocc), dtype=types[float]) - x10 -= einsum("ijab,jkab->ik", t2, v.oovv) - x13 += einsum("ij->ji", x10) * 0.5 - x62 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x62 += einsum("ij,kjab->kiab", x10, t2) - del x10 - x63 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x63 += einsum("ijab->ijba", x62) * -0.5 - del x62 - x11 += einsum("ia->ia", f.ov) - x12 = np.zeros((nocc, nocc), dtype=types[float]) - x12 += einsum("ia,ja->ij", t1, x11) - del x11 - x13 += einsum("ij->ji", x12) - del x12 - x13 += einsum("ij->ij", f.oo) - t1new += einsum("ia,ij->ja", t1, x13) * -1 - u11new = np.zeros((nbos, nocc, nvir), dtype=types[float]) - u11new += einsum("ij,wia->wja", x13, u11) * -1 - del x13 - x14 = np.zeros((nvir, nvir), dtype=types[float]) - x14 += einsum("w,wab->ab", s1, g.bvv) - x16 = np.zeros((nvir, nvir), dtype=types[float]) - x16 += einsum("ab->ab", x14) - x34 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x34 += einsum("ab,ijcb->ijac", x14, t2) - x44 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x44 += einsum("ijab->ijab", x34) - del x34 - x77 += einsum("ab->ab", x14) * -1 - del x14 - x15 = np.zeros((nvir, nvir), dtype=types[float]) - x15 -= einsum("ia,ibac->bc", t1, v.ovvv) - x16 -= einsum("ab->ab", x15) - x42 = np.zeros((nvir, nvir), dtype=types[float]) - x42 += einsum("ab->ab", x15) - x77 += einsum("ab->ab", x15) - del x15 - x16 += einsum("ab->ab", f.vv) - t1new += einsum("ia,ba->ib", t1, x16) - del x16 - x17 = np.zeros((nbos), dtype=types[float]) - x17 += einsum("ia,wia->w", t1, g.bov) - x18 = np.zeros((nbos), dtype=types[float]) - x18 += einsum("w->w", x17) - del x17 - x18 += einsum("w->w", G) - t1new += einsum("w,wia->ia", x18, u11) - s1new += einsum("w,wx->x", x18, s2) - del x18 - x19 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x19 += einsum("ia,bcda->ibcd", t1, v.vvvv) - t2new = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - t2new -= einsum("ia,jbca->ijcb", t1, x19) - del x19 - x20 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x20 += einsum("ijab,jckb->ikac", t2, v.ovov) - x33 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x33 -= einsum("ijab->ijab", x20) - del x20 - x21 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x21 += einsum("ia,jbca->ijbc", t1, v.ovvv) - x22 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x22 -= einsum("ijab,kjcb->kiac", t2, x21) - x33 += einsum("ijab->ijab", x22) - del x22 - x37 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x37 -= einsum("ia,jkba->jikb", t1, x21) - del x21 - x39 += einsum("ijka->kjia", x37) - del x37 - x40 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x40 += einsum("ia,ijkb->jkab", t1, x39) - del x39 - x44 += einsum("ijab->jiab", x40) - del x40 - x23 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x23 += einsum("ia,wba->wib", t1, g.bvv) - x26 += einsum("wia->wia", x23) - del x23 - x24 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x24 += einsum("wia,jiba->wjb", g.bov, t2) - x26 += einsum("wia->wia", x24) - del x24 - x26 += einsum("wai->wia", g.bvo) - x27 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x27 += einsum("wia,wjb->ijab", u11, x26) - del x26 - x33 += einsum("ijab->jiba", x27) - del x27 - x28 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x28 += einsum("ia,jbka->ijkb", t1, v.ovov) - x31 += einsum("ijka->ijka", x28) - del x28 - x29 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x29 -= einsum("ijab,jklb->ikla", t2, v.ooov) - x31 += einsum("ijka->ijka", x29) - del x29 - x32 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x32 += einsum("ia,jikb->jkab", t1, x31) - del x31 - x33 += einsum("ijab->ijab", x32) - del x32 - t2new += einsum("ijab->ijab", x33) - t2new -= einsum("ijab->ijba", x33) - t2new -= einsum("ijab->jiab", x33) - t2new += einsum("ijab->jiba", x33) - del x33 - x35 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x35 += einsum("ijab,jkbc->ikac", t2, v.oovv) - x36 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x36 += einsum("ijab,kjcb->kica", t2, x35) - del x35 - x44 -= einsum("ijab->ijab", x36) - del x36 - x41 = np.zeros((nvir, nvir), dtype=types[float]) - x41 += einsum("wia,wib->ab", g.bov, u11) - x42 += einsum("ab->ba", x41) - x43 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x43 += einsum("ab,ijbc->ijca", x42, t2) - del x42 - x44 += einsum("ijab->jiab", x43) - del x43 - t2new -= einsum("ijab->ijab", x44) - t2new += einsum("ijab->ijba", x44) - del x44 - x77 += einsum("ab->ba", x41) - del x41 - x45 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x45 += einsum("ijab,kcab->ijkc", t2, v.ovvv) - x46 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x46 += einsum("ia,jkib->jkab", t1, x45) - del x45 - x49 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x49 += einsum("ijab->ijab", x46) * 0.5 - del x46 - x47 = np.zeros((nvir, nvir), dtype=types[float]) - x47 -= einsum("ijab,ijbc->ac", t2, v.oovv) - x48 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x48 += einsum("ab,ijcb->ijca", x47, t2) - x49 += einsum("ijab->ijab", x48) * 0.5 - del x48 - t2new += einsum("ijab->ijab", x49) * -1 - t2new += einsum("ijab->ijba", x49) - del x49 - x77 += einsum("ab->ab", x47) * 0.5 - del x47 - x50 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x50 += einsum("ia,bcja->ijbc", t1, v.vvov) - x59 += einsum("ijab->ijba", x50) - del x50 - x51 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x51 += einsum("ia,jkla->ijkl", t1, v.ooov) - x52 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x52 += einsum("ia,jkil->jkla", t1, x51) - x53 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x53 -= einsum("ia,jikb->jkba", t1, x52) - del x52 - x59 += einsum("ijab->ijba", x53) - del x53 - x61 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x61 += einsum("ijab,kijl->klab", t2, x51) - del x51 - x63 += einsum("ijab->ijba", x61) * -0.5 - del x61 - t2new += einsum("ijab->ijab", x63) * -1 - t2new += einsum("ijab->jiab", x63) - del x63 - x55 += einsum("ij->ji", f.oo) - x56 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x56 += einsum("ij,jkab->kiab", x55, t2) - del x55 - x59 += einsum("ijab->jiba", x56) - del x56 - t2new += einsum("ijab->ijab", x59) - t2new -= einsum("ijab->jiab", x59) - del x59 - x60 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x60 += einsum("ab,ijcb->ijac", f.vv, t2) - t2new += einsum("ijab->jiab", x60) - t2new -= einsum("ijab->jiba", x60) - del x60 - x64 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x64 += einsum("ijab,klab->ijkl", t2, v.oovv) - x66 += einsum("ijkl->lkji", x64) * 0.5 - x67 += einsum("ijkl->lkji", x64) * 0.5000000000000003 - del x64 - x66 += einsum("ijkl->jilk", v.oooo) - t2new += einsum("ijab,ijkl->lkba", t2, x66) * 0.5 - del x66 - x67 += einsum("ijkl->jilk", v.oooo) - x68 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x68 += einsum("ia,ijkl->lkja", t1, x67) - del x67 - x68 += einsum("iajk->kjia", v.ovoo) - t2new += einsum("ia,jkib->jkab", t1, x68) - del x68 - x69 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x69 += einsum("wia,ijab->wjb", u11, v.oovv) - x76 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x76 += einsum("wia->wia", x69) - s2new = np.zeros((nbos, nbos), dtype=types[float]) - s2new += einsum("wia,xia->wx", u11, x69) - del x69 - x70 = np.zeros((nbos, nbos), dtype=types[float]) - x70 += einsum("wia,xia->wx", gc.bov, u11) - x74 = np.zeros((nbos, nbos), dtype=types[float]) - x74 += einsum("wx->wx", x70) - del x70 - x71 = np.zeros((nbos, nbos), dtype=types[float]) - x71 += einsum("wia,xia->wx", g.bov, u11) - x72 = np.zeros((nbos, nbos), dtype=types[float]) - x72 += einsum("wx->xw", x71) - del x71 - x72 += einsum("wx->wx", w) - x73 = np.zeros((nbos, nbos), dtype=types[float]) - x73 += einsum("wx,yw->xy", s2, x72) - x74 += einsum("wx->wx", x73) - del x73 - s2new += einsum("wx->wx", x74) - s2new += einsum("wx->xw", x74) - del x74 - u11new += einsum("wx,xia->wia", x72, u11) - del x72 - x75 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x75 += einsum("wx,xia->wia", s2, g.bov) - x76 += einsum("wia->wia", x75) - del x75 - x76 += einsum("wia->wia", gc.bov) - x79 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x79 += einsum("ia,wja->wji", t1, x76) - u11new += einsum("wia,ijab->wjb", x76, t2) - del x76 - x77 += einsum("ab->ab", f.vv) * -1 - u11new += einsum("ab,wib->wia", x77, u11) * -1 - del x77 - x78 += einsum("ia->ia", f.ov) - x79 += einsum("ia,wja->wij", x78, u11) - del x78 - x79 += einsum("wij->wij", gc.boo) - x79 += einsum("wx,xij->wij", s2, g.boo) - x79 -= einsum("wia,ijka->wjk", u11, v.ooov) - u11new -= einsum("ia,wij->wja", t1, x79) - del x79 - x80 = np.zeros((nbos, nvir, nvir), dtype=types[float]) - x80 += einsum("wab->wab", gc.bvv) - x80 += einsum("wx,xab->wab", s2, g.bvv) - x80 += einsum("wia,ibac->wbc", u11, v.ovvv) - u11new += einsum("ia,wba->wib", t1, x80) - del x80 - t1new += einsum("w,wai->ia", s1, g.bvo) - t1new += einsum("ijab,jcab->ic", t2, v.ovvv) * -0.5 - t1new -= einsum("ia,ibja->jb", t1, v.ovov) - t1new += einsum("ai->ia", f.vo) - t1new += einsum("wab,wib->ia", g.bvv, u11) - t2new -= einsum("ia,ibjk->kjba", t1, v.ovoo) - t2new += einsum("abij->jiba", v.vvoo) - t2new += einsum("ijab,cdab->jidc", t2, v.vvvv) * 0.5 - s1new += einsum("w,xw->x", s1, w) - s1new += einsum("w->w", G) - s1new += einsum("ia,wia->w", t1, gc.bov) - u11new += einsum("wx,xai->wia", s2, g.bvo) - u11new -= einsum("wia,ibja->wjb", u11, v.ovov) - u11new += einsum("wai->wia", gc.bvo) - - return {"t1new": t1new, "t2new": t2new, "s1new": s1new, "s2new": s2new, "u11new": u11new} - -def update_lams(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, s2=None, u11=None, l1=None, l2=None, ls1=None, ls2=None, lu11=None, **kwargs): - # Get boson coupling creation array: - gc = Namespace( - boo=g.boo.transpose(0, 2, 1), - bov=g.bvo.transpose(0, 2, 1), - bvo=g.bov.transpose(0, 2, 1), - bvv=g.bvv.transpose(0, 2, 1), - ) - - # L1, L2, LS1 , LS2 and LU11 amplitudes - x0 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x0 += einsum("ia,bajk->jkib", t1, l2) - x5 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x5 += einsum("ia,jkla->jkil", t1, x0) - x18 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x18 += einsum("ijkl->ijlk", x5) * 2.0000000000000013 - x121 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x121 += einsum("ijkl->ijlk", x5) * 2 - l1new = np.zeros((nvir, nocc), dtype=types[float]) - l1new += einsum("ijka,lkji->al", v.ooov, x5) * 0.5 - del x5 - x19 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x19 += einsum("ijab,kjlb->kila", t2, x0) * -4 - x49 = np.zeros((nocc, nvir), dtype=types[float]) - x49 += einsum("ijab,ijka->kb", t2, x0) - x53 = np.zeros((nocc, nvir), dtype=types[float]) - x53 += einsum("ia->ia", x49) * 0.5 - del x49 - x95 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x95 -= einsum("ijka,kljb->liba", v.ooov, x0) - x102 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x102 += einsum("ijab->ijab", x95) - del x95 - l1new -= einsum("iajb,kjia->bk", v.ovov, x0) - l2new = np.zeros((nvir, nvir, nocc, nocc), dtype=types[float]) - l2new += einsum("iabc,jkia->cbkj", v.ovvv, x0) - x1 = np.zeros((nocc, nocc), dtype=types[float]) - x1 -= einsum("abij,jkab->ik", l2, t2) - x19 += einsum("ia,jk->jika", t1, x1) * 2 - x51 = np.zeros((nocc, nocc), dtype=types[float]) - x51 += einsum("ij->ij", x1) - x63 = np.zeros((nocc, nocc), dtype=types[float]) - x63 += einsum("ij->ij", x1) * 0.5 - x66 = np.zeros((nocc, nocc), dtype=types[float]) - x66 += einsum("ij->ij", x1) * 0.5 - x103 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x103 -= einsum("ij,kjab->ikab", x1, v.oovv) - x105 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x105 += einsum("ijab->ijba", x103) * -0.5 - del x103 - x123 = np.zeros((nocc, nocc), dtype=types[float]) - x123 += einsum("ij->ij", x1) - l1new += einsum("ia,ji->aj", f.ov, x1) * -0.5 - del x1 - x2 = np.zeros((nocc, nocc), dtype=types[float]) - x2 += einsum("ai,ja->ij", l1, t1) - x51 += einsum("ij->ij", x2) * 2 - x63 += einsum("ij->ij", x2) - x77 = np.zeros((nocc, nocc), dtype=types[float]) - x77 += einsum("ij->ij", x2) - ls1new = np.zeros((nbos), dtype=types[float]) - ls1new -= einsum("ij,wji->w", x2, g.boo) - x3 = np.zeros((nocc, nvir), dtype=types[float]) - x3 += einsum("w,wia->ia", s1, g.bov) - x12 = np.zeros((nocc, nvir), dtype=types[float]) - x12 += einsum("ia->ia", x3) - x58 = np.zeros((nocc, nvir), dtype=types[float]) - x58 += einsum("ia->ia", x3) - x84 = np.zeros((nocc, nvir), dtype=types[float]) - x84 += einsum("ia->ia", x3) - l1new -= einsum("ij,ja->ai", x2, x3) - del x2 - del x3 - x4 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x4 += einsum("abij,klab->ijkl", l2, t2) - x18 += einsum("ijkl->jilk", x4) * -1 - x19 += einsum("ia,ijkl->jlka", t1, x18) * -1 - del x18 - x121 += einsum("ijkl->jilk", x4) * -1 - l2new += einsum("ijab,klij->balk", v.oovv, x121) * -0.25 - del x121 - l1new += einsum("ijka,lkij->al", v.ooov, x4) * -0.25 - del x4 - x6 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x6 += einsum("abij,jkbc->ikac", l2, t2) - l1new -= einsum("iabc,jiac->bj", v.ovvv, x6) - del x6 - x7 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x7 += einsum("ia,jbca->ijbc", t1, v.ovvv) - x16 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x16 += einsum("ijab->jiab", x7) * -0.5 - x98 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x98 += einsum("ijab->ijab", x7) - l1new += einsum("ijka,jkab->bi", x0, x7) - del x7 - x8 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x8 -= einsum("wia,abji->wjb", u11, l2) - x65 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x65 += einsum("wia->wia", x8) - x100 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x100 += einsum("wia->wia", x8) - l1new += einsum("wab,wia->bi", g.bvv, x8) - x9 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x9 += einsum("ia,jkba->ijkb", t1, v.oovv) - x10 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x10 += einsum("ijka->ikja", x9) * -1 - x14 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x14 += einsum("ijka->kjia", x9) * 0.5000000000000003 - x96 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x96 += einsum("ijka,jlkb->ilab", x0, x9) - x102 -= einsum("ijab->ijab", x96) - del x96 - x110 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x110 -= einsum("ai,ijkb->kjab", l1, x9) - x118 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x118 += einsum("ijab->ijab", x110) - del x110 - x119 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x119 += einsum("ijka->kjia", x9) * 0.5 - del x9 - x10 += einsum("ijka->kjia", v.ooov) - x17 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x17 += einsum("ijab,kila->ljkb", t2, x10) - x25 = np.zeros((nocc, nvir), dtype=types[float]) - x25 += einsum("ijab,kija->kb", t2, x10) * 0.5 - del x10 - x44 = np.zeros((nocc, nvir), dtype=types[float]) - x44 += einsum("ia->ia", x25) - del x25 - x11 = np.zeros((nocc, nvir), dtype=types[float]) - x11 -= einsum("ia,ijba->jb", t1, v.oovv) - x12 += einsum("ia->ia", x11) - x58 += einsum("ia->ia", x11) - x78 = np.zeros((nocc, nvir), dtype=types[float]) - x78 += einsum("ia->ia", x11) - x89 = np.zeros((nocc, nocc), dtype=types[float]) - x89 += einsum("ia,ja->ij", t1, x11) - x90 = np.zeros((nocc, nocc), dtype=types[float]) - x90 += einsum("ij->ji", x89) - del x89 - x102 += einsum("ai,jb->ijab", l1, x11) - x113 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x113 -= einsum("ia,jkib->kjba", x11, x0) - del x11 - x118 -= einsum("ijab->ijab", x113) - del x113 - x12 += einsum("ia->ia", f.ov) - x17 += einsum("ia,jkab->ikjb", x12, t2) * 0.5 - x26 = np.zeros((nocc, nvir), dtype=types[float]) - x26 += einsum("ia,ijab->jb", x12, t2) - x44 += einsum("ia->ia", x26) * -1 - del x26 - x34 = np.zeros((nocc, nocc), dtype=types[float]) - x34 += einsum("ia,ja->ij", t1, x12) - x35 = np.zeros((nocc, nocc), dtype=types[float]) - x35 += einsum("ij->ji", x34) - del x34 - lu11new = np.zeros((nbos, nvir, nocc), dtype=types[float]) - lu11new += einsum("w,ia->wai", ls1, x12) * 2 - del x12 - x13 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x13 += einsum("ijab,klab->ijkl", t2, v.oovv) - x15 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x15 += einsum("ijkl->lkji", x13) * -1 - x120 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x120 += einsum("ijkl->lkji", x13) * 0.5 - del x13 - x14 += einsum("ijka->jika", v.ooov) * -1 - x15 += einsum("ia,jkla->kjil", t1, x14) * -4 - del x14 - x15 += einsum("ijkl->jilk", v.oooo) * -2 - x17 += einsum("ia,ijkl->jlka", t1, x15) * -0.25 - del x15 - x16 += einsum("iajb->ijab", v.ovov) - x17 += einsum("ia,jkba->jkib", t1, x16) * -1 - del x16 - x17 += einsum("iajk->ikja", v.ovoo) * 0.5 - x17 += einsum("ijab,kcab->kjic", t2, v.ovvv) * 0.25 - l1new += einsum("abij,kija->bk", l2, x17) * -1 - del x17 - x19 += einsum("ai,jkba->ikjb", l1, t2) * -2 - l1new += einsum("ijab,kija->bk", v.oovv, x19) * -0.25 - del x19 - x20 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x20 += einsum("abic->ibac", v.vvov) * -1 - x20 += einsum("ia,bcda->icbd", t1, v.vvvv) - l1new += einsum("abij,iabc->cj", l2, x20) * 0.5 - del x20 - x21 = np.zeros((nocc, nvir), dtype=types[float]) - x21 += einsum("w,wai->ia", s1, g.bvo) - x44 += einsum("ia->ia", x21) * -1 - del x21 - x22 = np.zeros((nocc, nvir), dtype=types[float]) - x22 += einsum("wab,wib->ia", g.bvv, u11) - x44 += einsum("ia->ia", x22) * -1 - del x22 - x23 = np.zeros((nocc, nvir), dtype=types[float]) - x23 += einsum("ia,ibja->jb", t1, v.ovov) - x44 += einsum("ia->ia", x23) - del x23 - x24 = np.zeros((nocc, nvir), dtype=types[float]) - x24 -= einsum("ijab,icab->jc", t2, v.ovvv) - x44 += einsum("ia->ia", x24) * 0.5 - del x24 - x27 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x27 += einsum("ia,wja->wji", t1, g.bov) - x28 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x28 += einsum("wij->wij", x27) - x68 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x68 += einsum("wij->wij", x27) - del x27 - x28 += einsum("wij->wij", g.boo) - x29 = np.zeros((nocc, nvir), dtype=types[float]) - x29 += einsum("wia,wij->ja", u11, x28) - del x28 - x44 += einsum("ia->ia", x29) - del x29 - x30 = np.zeros((nocc, nocc), dtype=types[float]) - x30 += einsum("w,wij->ij", s1, g.boo) - x35 += einsum("ij->ij", x30) - x86 = np.zeros((nocc, nocc), dtype=types[float]) - x86 += einsum("ij->ij", x30) - del x30 - x31 = np.zeros((nocc, nocc), dtype=types[float]) - x31 += einsum("wia,wja->ij", g.bov, u11) - x35 += einsum("ij->ij", x31) - x86 += einsum("ij->ij", x31) - del x31 - x32 = np.zeros((nocc, nocc), dtype=types[float]) - x32 -= einsum("ia,ijka->jk", t1, v.ooov) - x35 += einsum("ij->ij", x32) - x90 += einsum("ij->ij", x32) - del x32 - x91 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x91 += einsum("ij,abjk->kiab", x90, l2) - del x90 - x92 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x92 -= einsum("ijab->ijba", x91) - del x91 - x33 = np.zeros((nocc, nocc), dtype=types[float]) - x33 -= einsum("ijab,kiab->jk", t2, v.oovv) - x35 += einsum("ij->ji", x33) * 0.5 - x104 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x104 += einsum("ij,abki->kjab", x33, l2) - del x33 - x105 += einsum("ijab->ijba", x104) * -0.5 - del x104 - l2new += einsum("ijab->abij", x105) * -1 - l2new += einsum("ijab->abji", x105) - del x105 - x35 += einsum("ij->ij", f.oo) - x36 = np.zeros((nocc, nvir), dtype=types[float]) - x36 += einsum("ia,ij->ja", t1, x35) - x44 += einsum("ia->ia", x36) - del x36 - l1new += einsum("ai,ji->aj", l1, x35) * -1 - del x35 - x37 = np.zeros((nvir, nvir), dtype=types[float]) - x37 += einsum("w,wab->ab", s1, g.bvv) - x39 = np.zeros((nvir, nvir), dtype=types[float]) - x39 += einsum("ab->ab", x37) - x70 = np.zeros((nvir, nvir), dtype=types[float]) - x70 += einsum("ab->ab", x37) - x115 = np.zeros((nvir, nvir), dtype=types[float]) - x115 += einsum("ab->ab", x37) - del x37 - x38 = np.zeros((nvir, nvir), dtype=types[float]) - x38 -= einsum("ia,ibac->bc", t1, v.ovvv) - x39 += einsum("ab->ab", x38) * -1 - x70 -= einsum("ab->ab", x38) - x112 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x112 -= einsum("ab,caij->jicb", x38, l2) - del x38 - x118 -= einsum("ijab->ijab", x112) - del x112 - x39 += einsum("ab->ab", f.vv) - x40 = np.zeros((nocc, nvir), dtype=types[float]) - x40 += einsum("ia,ba->ib", t1, x39) - del x39 - x44 += einsum("ia->ia", x40) * -1 - del x40 - x41 = np.zeros((nbos), dtype=types[float]) - x41 += einsum("ia,wia->w", t1, g.bov) - x42 = np.zeros((nbos), dtype=types[float]) - x42 += einsum("w->w", x41) - x74 = np.zeros((nbos), dtype=types[float]) - x74 += einsum("w->w", x41) - del x41 - x42 += einsum("w->w", G) - x43 = np.zeros((nocc, nvir), dtype=types[float]) - x43 += einsum("w,wia->ia", x42, u11) - del x42 - x44 += einsum("ia->ia", x43) * -1 - del x43 - x44 += einsum("ai->ia", f.vo) * -1 - l1new += einsum("ia,abij->bj", x44, l2) * -1 - ls1new += einsum("ia,wai->w", x44, lu11) * -1 - del x44 - x45 = np.zeros((nocc, nvir), dtype=types[float]) - x45 += einsum("w,wia->ia", ls1, u11) - x53 += einsum("ia->ia", x45) * -1 - del x45 - x46 = np.zeros((nocc, nvir), dtype=types[float]) - x46 += einsum("ai,jiba->jb", l1, t2) - x53 += einsum("ia->ia", x46) * -1 - del x46 - x47 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x47 += einsum("ia,waj->wji", t1, lu11) - x48 = np.zeros((nocc, nvir), dtype=types[float]) - x48 += einsum("wia,wij->ja", u11, x47) - x53 += einsum("ia->ia", x48) - del x48 - x50 = np.zeros((nocc, nocc), dtype=types[float]) - x50 += einsum("wai,wja->ij", lu11, u11) - x51 += einsum("ij->ij", x50) * 2 - x52 = np.zeros((nocc, nvir), dtype=types[float]) - x52 += einsum("ia,ij->ja", t1, x51) * 0.5 - del x51 - x53 += einsum("ia->ia", x52) - del x52 - x63 += einsum("ij->ij", x50) - l1new += einsum("ij,jkia->ak", x63, v.ooov) * -1 - del x63 - x66 += einsum("ij->ij", x50) - x67 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x67 += einsum("w,ij->wij", s1, x66) - del x66 - x77 += einsum("ij->ij", x50) - x88 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x88 += einsum("ij,jkab->kiab", x77, v.oovv) - x92 += einsum("ijab->jiba", x88) - del x88 - x123 += einsum("ij->ij", x50) * 2 - del x50 - ls1new += einsum("ij,wji->w", x123, g.boo) * -0.5 - del x123 - x53 += einsum("ia->ia", t1) * -1 - l1new += einsum("ia,ijab->bj", x53, v.oovv) * -1 - ls1new += einsum("ia,wia->w", x53, g.bov) * -1 - del x53 - x54 = np.zeros((nvir, nvir), dtype=types[float]) - x54 += einsum("ai,ib->ab", l1, t1) - x57 = np.zeros((nvir, nvir), dtype=types[float]) - x57 += einsum("ab->ab", x54) - ls1new += einsum("ab,wab->w", x54, g.bvv) - del x54 - x55 = np.zeros((nvir, nvir), dtype=types[float]) - x55 += einsum("wai,wib->ab", lu11, u11) - x57 += einsum("ab->ab", x55) - x111 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x111 -= einsum("ab,ijcb->jiac", x55, v.oovv) - x118 += einsum("ijab->ijab", x111) - del x111 - x122 = np.zeros((nvir, nvir), dtype=types[float]) - x122 += einsum("ab->ab", x55) - del x55 - x56 = np.zeros((nvir, nvir), dtype=types[float]) - x56 -= einsum("abij,ijbc->ac", l2, t2) - x57 += einsum("ab->ab", x56) * 0.5 - l1new += einsum("ab,iabc->ci", x57, v.ovvv) * -1 - del x57 - x108 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x108 -= einsum("ab,ijcb->ijac", x56, v.oovv) - x109 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x109 += einsum("ijab->ijab", x108) * 0.5 - del x108 - x122 += einsum("ab->ab", x56) * 0.5 - del x56 - ls1new += einsum("ab,wab->w", x122, g.bvv) - del x122 - x58 += einsum("ia->ia", f.ov) - x61 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x61 += einsum("ia,wja->wij", x58, u11) - x73 = np.zeros((nbos), dtype=types[float]) - x73 += einsum("ia,wia->w", x58, u11) - del x58 - x76 = np.zeros((nbos), dtype=types[float]) - x76 += einsum("w->w", x73) - del x73 - x59 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x59 += einsum("wia,ijab->wjb", u11, v.oovv) - x60 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x60 += einsum("wia->wia", x59) - x69 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x69 += einsum("wia->wia", x59) - x94 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x94 += einsum("wai,wjb->ijab", lu11, x59) - del x59 - x102 += einsum("ijab->ijab", x94) - del x94 - x60 += einsum("wia->wia", gc.bov) - x60 += einsum("wx,wia->xia", s2, g.bov) - x61 += einsum("ia,wja->wji", t1, x60) - del x60 - x61 += einsum("wij->wij", gc.boo) - x61 += einsum("wx,wij->xij", s2, g.boo) - x61 += einsum("wia,jika->wjk", u11, v.ooov) - l1new -= einsum("wai,wji->aj", lu11, x61) - del x61 - x62 = np.zeros((nbos, nvir, nvir), dtype=types[float]) - x62 += einsum("wab->wab", gc.bvv) - x62 += einsum("wx,wab->xab", s2, g.bvv) - x62 -= einsum("wia,ibca->wbc", u11, v.ovvv) - l1new += einsum("wai,wab->bi", lu11, x62) - del x62 - x64 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x64 += einsum("wx,xai->wia", s2, lu11) - x65 += einsum("wia->wia", x64) - x67 += einsum("ia,wja->wji", t1, x65) - del x65 - x100 += einsum("wia->wia", x64) - del x64 - x101 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x101 += einsum("wia,wjb->ijab", g.bov, x100) - del x100 - x102 += einsum("ijab->ijab", x101) - del x101 - x67 += einsum("ai,wja->wij", l1, u11) - l1new += einsum("wia,wji->aj", g.bov, x67) * -1 - del x67 - x68 += einsum("wij->wij", g.boo) - x129 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x129 += einsum("ia,wij->wja", t1, x68) - x130 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x130 -= einsum("wia->wia", x129) - del x129 - l1new -= einsum("wij,wja->ai", x68, x8) - del x8 - del x68 - x69 += einsum("wia->wia", gc.bov) - l1new -= einsum("wij,wja->ai", x47, x69) - del x69 - del x47 - x70 += einsum("ab->ab", f.vv) - l1new += einsum("ai,ab->bi", l1, x70) - del x70 - x71 = np.zeros((nbos), dtype=types[float]) - x71 += einsum("w,xw->x", s1, w) - x76 += einsum("w->w", x71) - del x71 - x72 = np.zeros((nbos), dtype=types[float]) - x72 += einsum("ia,wia->w", t1, gc.bov) - x76 += einsum("w->w", x72) - del x72 - x74 += einsum("w->w", G) - x75 = np.zeros((nbos), dtype=types[float]) - x75 += einsum("w,wx->x", x74, s2) - x76 += einsum("w->w", x75) - del x75 - x132 = np.zeros((nbos, nbos), dtype=types[float]) - x132 += einsum("w,x->xw", ls1, x74) - del x74 - x76 += einsum("w->w", G) - l1new += einsum("w,wai->ai", x76, lu11) - ls1new += einsum("w,wx->x", x76, ls2) - del x76 - x78 += einsum("ia->ia", f.ov) - l1new -= einsum("ij,ja->ai", x77, x78) - del x77 - del x78 - x79 = np.zeros((nbos), dtype=types[float]) - x79 += einsum("w->w", s1) - x79 += einsum("w,xw->x", ls1, s2) - x79 += einsum("ai,wia->w", l1, u11) - l1new += einsum("w,wia->ai", x79, g.bov) - del x79 - x80 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x80 += einsum("ai,jkib->jkab", l1, v.ooov) - x82 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x82 -= einsum("ijab->jiab", x80) - del x80 - x81 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x81 += einsum("ab,caij->ijbc", f.vv, l2) - x82 -= einsum("ijab->jiab", x81) - del x81 - l2new -= einsum("ijab->abij", x82) - l2new += einsum("ijab->baij", x82) - del x82 - x83 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x83 += einsum("ai,jabc->ijbc", l1, v.ovvv) - x92 += einsum("ijab->ijba", x83) - del x83 - x84 += einsum("ia->ia", f.ov) - x85 = np.zeros((nocc, nocc), dtype=types[float]) - x85 += einsum("ia,ja->ij", t1, x84) - x86 += einsum("ij->ji", x85) - del x85 - x102 += einsum("ai,jb->jiba", l1, x84) - x117 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x117 += einsum("ia,jkib->jkba", x84, x0) - del x0 - del x84 - x118 -= einsum("ijab->jiba", x117) - del x117 - x86 += einsum("ij->ij", f.oo) - x87 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x87 += einsum("ij,abjk->kiab", x86, l2) - del x86 - x92 += einsum("ijab->jiba", x87) - del x87 - l2new += einsum("ijab->abij", x92) - l2new -= einsum("ijab->abji", x92) - del x92 - x93 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x93 += einsum("wia,wbj->ijab", gc.bov, lu11) - x102 += einsum("ijab->ijab", x93) - del x93 - x97 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x97 += einsum("ijab,kica->jkbc", t2, v.oovv) - x98 += einsum("ijab->ijab", x97) - del x97 - x98 -= einsum("iajb->jiab", v.ovov) - x99 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x99 += einsum("abij,ikac->jkbc", l2, x98) - del x98 - x102 += einsum("ijab->ijab", x99) - del x99 - l2new += einsum("ijab->abij", x102) - l2new -= einsum("ijab->baij", x102) - l2new -= einsum("ijab->abji", x102) - l2new += einsum("ijab->baji", x102) - del x102 - x106 = np.zeros((nvir, nvir), dtype=types[float]) - x106 -= einsum("ijab,ijca->bc", t2, v.oovv) - x107 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x107 -= einsum("ab,caij->jicb", x106, l2) - del x106 - x109 += einsum("ijab->ijab", x107) * 0.5 - del x107 - l2new += einsum("ijab->abij", x109) * -1 - l2new += einsum("ijab->baij", x109) - del x109 - x114 = np.zeros((nvir, nvir), dtype=types[float]) - x114 += einsum("wia,wib->ab", g.bov, u11) - x115 -= einsum("ab->ba", x114) - del x114 - x116 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x116 += einsum("ab,acij->ijcb", x115, l2) - del x115 - x118 -= einsum("ijab->jiba", x116) - del x116 - l2new += einsum("ijab->abij", x118) - l2new -= einsum("ijab->baij", x118) - del x118 - x119 += einsum("ijka->jika", v.ooov) * -1 - x120 += einsum("ia,jkla->kjli", t1, x119) * -2 - del x119 - x120 += einsum("ijkl->jilk", v.oooo) - l2new += einsum("abij,klij->balk", l2, x120) * 0.5 - del x120 - x124 = np.zeros((nbos, nbos), dtype=types[float]) - x124 += einsum("wx,xy->wy", ls2, w) - x132 += einsum("wx->wx", x124) - del x124 - x125 = np.zeros((nbos, nbos), dtype=types[float]) - x125 += einsum("wia,xia->wx", g.bov, u11) - x126 = np.zeros((nbos, nbos), dtype=types[float]) - x126 += einsum("wx,yx->yw", ls2, x125) - del x125 - x132 += einsum("wx->wx", x126) - del x126 - x127 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x127 += einsum("ia,wba->wib", t1, g.bvv) - x130 += einsum("wia->wia", x127) - del x127 - x128 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x128 += einsum("wia,jiba->wjb", g.bov, t2) - x130 += einsum("wia->wia", x128) - del x128 - x130 += einsum("wai->wia", g.bvo) - x131 = np.zeros((nbos, nbos), dtype=types[float]) - x131 += einsum("wai,xia->wx", lu11, x130) - del x130 - x132 += einsum("wx->xw", x131) - del x131 - ls2new = np.zeros((nbos, nbos), dtype=types[float]) - ls2new += einsum("wx->wx", x132) - ls2new += einsum("wx->xw", x132) - del x132 - l1new += einsum("ia->ai", f.ov) - l1new += einsum("w,wia->ai", ls1, gc.bov) - l1new -= einsum("ai,jaib->bj", l1, v.ovov) - l2new += einsum("abij,abcd->dcji", l2, v.vvvv) * 0.5 - l2new += einsum("ijab->baji", v.oovv) - ls1new += einsum("w,wx->x", ls1, w) - ls1new += einsum("ai,wai->w", l1, g.bvo) - ls1new += einsum("w->w", G) - lu11new += einsum("wx,xia->wai", ls2, gc.bov) - lu11new += einsum("wx,wai->xai", w, lu11) - lu11new -= einsum("ij,waj->wai", f.oo, lu11) - lu11new -= einsum("ai,wji->waj", l1, g.boo) - lu11new += einsum("wia->wai", g.bov) - lu11new += einsum("ab,wai->wbi", f.vv, lu11) - lu11new += einsum("ai,wab->wbi", l1, g.bvv) - lu11new += einsum("wai,baji->wbj", g.bvo, l2) - lu11new -= einsum("wai,jaib->wbj", lu11, v.ovov) - - return {"l1new": l1new, "l2new": l2new, "ls1new": ls1new, "ls2new": ls2new, "lu11new": lu11new} - -def make_rdm1_f(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, s2=None, u11=None, l1=None, l2=None, ls1=None, ls2=None, lu11=None, **kwargs): - # Get boson coupling creation array: - gc = Namespace( - boo=g.boo.transpose(0, 2, 1), - bov=g.bvo.transpose(0, 2, 1), - bvo=g.bov.transpose(0, 2, 1), - bvv=g.bvv.transpose(0, 2, 1), - ) - - delta_oo = np.eye(nocc) - delta_vv = np.eye(nvir) - - # 1RDM - x0 = np.zeros((nocc, nocc), dtype=types[float]) - x0 += einsum("ai,ja->ij", l1, t1) - x5 = np.zeros((nocc, nocc), dtype=types[float]) - x5 += einsum("ij->ij", x0) - rdm1_f_oo = np.zeros((nocc, nocc), dtype=types[float]) - rdm1_f_oo -= einsum("ij->ij", x0) - del x0 - x1 = np.zeros((nocc, nocc), dtype=types[float]) - x1 += einsum("wai,wja->ij", lu11, u11) - x5 += einsum("ij->ij", x1) - rdm1_f_oo -= einsum("ij->ij", x1) - del x1 - x2 = np.zeros((nocc, nocc), dtype=types[float]) - x2 += einsum("abij,kjab->ik", l2, t2) - x5 += einsum("ij->ij", x2) * 0.5 - rdm1_f_vo = np.zeros((nvir, nocc), dtype=types[float]) - rdm1_f_vo += einsum("ia,ij->aj", t1, x5) * -1 - del x5 - rdm1_f_oo += einsum("ij->ij", x2) * -0.5 - del x2 - x3 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x3 += einsum("ia,waj->wji", t1, lu11) - rdm1_f_vo -= einsum("wia,wij->aj", u11, x3) - del x3 - x4 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x4 += einsum("ia,bajk->jkib", t1, l2) - rdm1_f_vo += einsum("ijab,ijkb->ak", t2, x4) * 0.5 - del x4 - rdm1_f_oo += einsum("ij->ji", delta_oo) - rdm1_f_ov = np.zeros((nocc, nvir), dtype=types[float]) - rdm1_f_ov += einsum("ai->ia", l1) - rdm1_f_vo += einsum("ai,jiba->bj", l1, t2) - rdm1_f_vo += einsum("w,wia->ai", ls1, u11) - rdm1_f_vo += einsum("ia->ai", t1) - rdm1_f_vv = np.zeros((nvir, nvir), dtype=types[float]) - rdm1_f_vv += einsum("wai,wib->ba", lu11, u11) - rdm1_f_vv += einsum("ai,ib->ba", l1, t1) - rdm1_f_vv += einsum("abij,ijca->cb", l2, t2) * -0.5 - - rdm1_f = np.block([[rdm1_f_oo, rdm1_f_ov], [rdm1_f_vo, rdm1_f_vv]]) - - return rdm1_f - -def make_rdm2_f(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, s2=None, u11=None, l1=None, l2=None, ls1=None, ls2=None, lu11=None, **kwargs): - # Get boson coupling creation array: - gc = Namespace( - boo=g.boo.transpose(0, 2, 1), - bov=g.bvo.transpose(0, 2, 1), - bvo=g.bov.transpose(0, 2, 1), - bvv=g.bvv.transpose(0, 2, 1), - ) - - delta_oo = np.eye(nocc) - delta_vv = np.eye(nvir) - - # 2RDM - x0 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x0 += einsum("abij,klab->ijkl", l2, t2) - x20 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x20 += einsum("ijkl->jilk", x0) * -1 - x51 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x51 += einsum("ijkl->jilk", x0) * -1 - x52 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x52 += einsum("ijkl->jilk", x0) * -1 - rdm2_f_oooo = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - rdm2_f_oooo += einsum("ijkl->jilk", x0) * 0.5 - del x0 - x1 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x1 += einsum("ia,bajk->jkib", t1, l2) - x2 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x2 += einsum("ia,jkla->jkil", t1, x1) - x20 += einsum("ijkl->ijlk", x2) * 2 - x21 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x21 += einsum("ia,ijkl->jkla", t1, x20) * 0.5 - del x20 - rdm2_f_ovoo = np.zeros((nocc, nvir, nocc, nocc), dtype=types[float]) - rdm2_f_ovoo += einsum("ijka->iakj", x21) * -1 - rdm2_f_vooo = np.zeros((nvir, nocc, nocc, nocc), dtype=types[float]) - rdm2_f_vooo += einsum("ijka->aikj", x21) - del x21 - x51 += einsum("ijkl->ijlk", x2) * 2.0000000000000013 - rdm2_f_vvoo = np.zeros((nvir, nvir, nocc, nocc), dtype=types[float]) - rdm2_f_vvoo += einsum("ijab,ijkl->balk", t2, x51) * -0.25 - del x51 - x52 += einsum("ijkl->ijlk", x2) * 1.9999999999999987 - x53 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x53 += einsum("ia,ijkl->jlka", t1, x52) * -1 - del x52 - rdm2_f_vvoo += einsum("ia,ijkb->abkj", t1, x53) * -0.5000000000000003 - del x53 - rdm2_f_oooo -= einsum("ijkl->ijlk", x2) - del x2 - x9 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x9 -= einsum("ijab,kjlb->klia", t2, x1) - x15 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x15 += einsum("ijka->ijka", x9) - x25 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x25 -= einsum("ijka->ijka", x9) - x34 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x34 += einsum("ia,ijkb->jkab", t1, x9) - del x9 - x39 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x39 -= einsum("ijab->ijab", x34) - del x34 - x16 = np.zeros((nocc, nvir), dtype=types[float]) - x16 -= einsum("ijab,ijkb->ka", t2, x1) - x18 = np.zeros((nocc, nvir), dtype=types[float]) - x18 += einsum("ia->ia", x16) - del x16 - x28 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x28 += einsum("ia,jikb->jkba", t1, x1) - x59 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x59 -= einsum("ia,ijbc->jbca", t1, x28) - rdm2_f_vvov = np.zeros((nvir, nvir, nocc, nvir), dtype=types[float]) - rdm2_f_vvov -= einsum("iabc->cbia", x59) - rdm2_f_vvvo = np.zeros((nvir, nvir, nvir, nocc), dtype=types[float]) - rdm2_f_vvvo += einsum("iabc->cbai", x59) - del x59 - rdm2_f_ovov = np.zeros((nocc, nvir, nocc, nvir), dtype=types[float]) - rdm2_f_ovov += einsum("ijab->ibja", x28) - rdm2_f_ovvo = np.zeros((nocc, nvir, nvir, nocc), dtype=types[float]) - rdm2_f_ovvo -= einsum("ijab->ibaj", x28) - rdm2_f_voov = np.zeros((nvir, nocc, nocc, nvir), dtype=types[float]) - rdm2_f_voov -= einsum("ijab->bija", x28) - rdm2_f_vovo = np.zeros((nvir, nocc, nvir, nocc), dtype=types[float]) - rdm2_f_vovo += einsum("ijab->biaj", x28) - del x28 - x58 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x58 += einsum("ijab,ijkc->kcab", t2, x1) - rdm2_f_vvov += einsum("iabc->bcia", x58) * 0.5 - rdm2_f_vvvo += einsum("iabc->bcai", x58) * -0.5 - del x58 - rdm2_f_ooov = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - rdm2_f_ooov -= einsum("ijka->jika", x1) - rdm2_f_oovo = np.zeros((nocc, nocc, nvir, nocc), dtype=types[float]) - rdm2_f_oovo += einsum("ijka->jiak", x1) - del x1 - x3 = np.zeros((nocc, nocc), dtype=types[float]) - x3 += einsum("abij,kjab->ik", l2, t2) - x17 = np.zeros((nocc, nvir), dtype=types[float]) - x17 += einsum("ia,ij->ja", t1, x3) - x18 += einsum("ia->ia", x17) - del x17 - x19 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x19 += einsum("ij,ka->jika", delta_oo, x18) * 0.5 - rdm2_f_vooo += einsum("ij,ka->aijk", delta_oo, x18) * 0.5 - rdm2_f_vooo += einsum("ij,ka->aikj", delta_oo, x18) * -0.5 - rdm2_f_vvoo += einsum("ia,jb->abij", t1, x18) * -0.5000000000000003 - rdm2_f_vvoo += einsum("ia,jb->baij", t1, x18) * 0.5000000000000003 - rdm2_f_vvoo += einsum("ia,jb->abji", t1, x18) * 0.5000000000000003 - rdm2_f_vvoo += einsum("ia,jb->baji", t1, x18) * -0.5000000000000003 - del x18 - x19 += einsum("ia,jk->jika", t1, x3) * -0.5 - rdm2_f_ovoo += einsum("ijka->iajk", x19) * -1 - rdm2_f_ovoo += einsum("ijka->iakj", x19) - del x19 - x50 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x50 += einsum("ij,kiab->kjab", x3, t2) - rdm2_f_vvoo += einsum("ijab->abij", x50) * -0.5 - rdm2_f_vvoo += einsum("ijab->abji", x50) * 0.5 - del x50 - rdm2_f_oooo += einsum("ij,kl->ikjl", delta_oo, x3) * -0.5 - rdm2_f_oooo += einsum("ij,kl->iklj", delta_oo, x3) * 0.5 - rdm2_f_oooo += einsum("ij,kl->kjil", delta_oo, x3) * 0.5 - rdm2_f_oooo += einsum("ij,kl->kjli", delta_oo, x3) * -0.5 - rdm2_f_vooo += einsum("ia,jk->ajik", t1, x3) * -0.5 - rdm2_f_vooo += einsum("ia,jk->ajki", t1, x3) * 0.5 - del x3 - x4 = np.zeros((nocc, nocc), dtype=types[float]) - x4 += einsum("ai,ja->ij", l1, t1) - x14 = np.zeros((nocc, nocc), dtype=types[float]) - x14 += einsum("ij->ij", x4) - x23 = np.zeros((nocc, nvir), dtype=types[float]) - x23 += einsum("ia,ij->ja", t1, x4) - x24 = np.zeros((nocc, nvir), dtype=types[float]) - x24 -= einsum("ia->ia", x23) - del x23 - x44 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x44 += einsum("ij,kiab->jkab", x4, t2) - x46 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x46 -= einsum("ijab->ijba", x44) - del x44 - rdm2_f_oooo -= einsum("ij,kl->jkil", delta_oo, x4) - rdm2_f_oooo += einsum("ij,kl->kjil", delta_oo, x4) - rdm2_f_oooo += einsum("ij,kl->jkli", delta_oo, x4) - rdm2_f_oooo -= einsum("ij,kl->kjli", delta_oo, x4) - del x4 - x5 = np.zeros((nocc, nocc), dtype=types[float]) - x5 += einsum("wai,wja->ij", lu11, u11) - x12 = np.zeros((nocc, nvir), dtype=types[float]) - x12 += einsum("ia,ij->ja", t1, x5) - x13 = np.zeros((nocc, nvir), dtype=types[float]) - x13 += einsum("ia->ia", x12) - del x12 - x14 += einsum("ij->ij", x5) - x15 -= einsum("ia,jk->jika", t1, x14) - x25 += einsum("ia,jk->jika", t1, x14) - x54 = np.zeros((nocc, nvir), dtype=types[float]) - x54 += einsum("ia,ij->ja", t1, x14) - del x14 - x55 = np.zeros((nocc, nvir), dtype=types[float]) - x55 += einsum("ia->ia", x54) - x56 = np.zeros((nocc, nvir), dtype=types[float]) - x56 += einsum("ia->ia", x54) - del x54 - x45 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x45 += einsum("ij,kiab->kjab", x5, t2) - x46 += einsum("ijab->ijba", x45) - del x45 - rdm2_f_vvoo -= einsum("ijab->baij", x46) - rdm2_f_vvoo += einsum("ijab->baji", x46) - del x46 - rdm2_f_oooo -= einsum("ij,kl->ikjl", delta_oo, x5) - rdm2_f_oooo += einsum("ij,kl->iklj", delta_oo, x5) - rdm2_f_oooo += einsum("ij,kl->kjil", delta_oo, x5) - rdm2_f_oooo -= einsum("ij,kl->kjli", delta_oo, x5) - del x5 - x6 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x6 += einsum("ai,jkba->ijkb", l1, t2) - x40 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x40 += einsum("ia,ijkb->jkab", t1, x6) - x43 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x43 += einsum("ijab->ijab", x40) - del x40 - rdm2_f_ovoo -= einsum("ijka->iakj", x6) - rdm2_f_vooo += einsum("ijka->aikj", x6) - del x6 - x7 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x7 += einsum("ia,waj->wji", t1, lu11) - x8 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x8 += einsum("wia,wjk->jkia", u11, x7) - x15 += einsum("ijka->ijka", x8) - x25 -= einsum("ijka->ijka", x8) - del x8 - rdm2_f_vooo -= einsum("ijka->aijk", x25) - rdm2_f_vooo += einsum("ijka->aikj", x25) - del x25 - x11 = np.zeros((nocc, nvir), dtype=types[float]) - x11 += einsum("wia,wij->ja", u11, x7) - x13 += einsum("ia->ia", x11) - x55 += einsum("ia->ia", x11) - x56 += einsum("ia->ia", x11) - del x11 - x36 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x36 += einsum("ia,wij->wja", t1, x7) - del x7 - x37 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x37 -= einsum("wia->wia", x36) - del x36 - x10 = np.zeros((nocc, nvir), dtype=types[float]) - x10 += einsum("ai,jiba->jb", l1, t2) - x13 -= einsum("ia->ia", x10) - x15 += einsum("ij,ka->jika", delta_oo, x13) - rdm2_f_ovoo -= einsum("ijka->iajk", x15) - rdm2_f_ovoo += einsum("ijka->iakj", x15) - del x15 - rdm2_f_vooo += einsum("ij,ka->aijk", delta_oo, x13) - rdm2_f_vooo -= einsum("ij,ka->aikj", delta_oo, x13) - del x13 - x39 += einsum("ia,jb->ijab", t1, x10) - del x10 - x22 = np.zeros((nocc, nvir), dtype=types[float]) - x22 += einsum("w,wia->ia", ls1, u11) - x24 += einsum("ia->ia", x22) - x55 -= einsum("ia->ia", x22) - x56 -= einsum("ia->ia", x22) - del x22 - rdm2_f_vvoo += einsum("ia,jb->abji", t1, x56) - rdm2_f_vvoo -= einsum("ia,jb->baji", t1, x56) - del x56 - x24 += einsum("ia->ia", t1) - rdm2_f_ovoo += einsum("ij,ka->jaik", delta_oo, x24) - rdm2_f_ovoo -= einsum("ij,ka->jaki", delta_oo, x24) - rdm2_f_vooo += einsum("ij,ka->ajki", delta_oo, x24) - rdm2_f_vooo -= einsum("ij,ka->ajik", delta_oo, x24) - del x24 - x26 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x26 += einsum("wai,wjb->ijab", lu11, u11) - rdm2_f_ovov -= einsum("ijab->ibja", x26) - rdm2_f_ovvo += einsum("ijab->ibaj", x26) - rdm2_f_voov += einsum("ijab->bija", x26) - rdm2_f_vovo -= einsum("ijab->biaj", x26) - del x26 - x27 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x27 -= einsum("abij,kjca->ikbc", l2, t2) - x42 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x42 += einsum("ijab,jkbc->ikac", t2, x27) - x43 += einsum("ijab->ijab", x42) - del x42 - x63 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x63 += einsum("ia,ijbc->jbac", t1, x27) - x65 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x65 -= einsum("iabc->iabc", x63) - del x63 - rdm2_f_ovov -= einsum("ijab->ibja", x27) - rdm2_f_ovvo += einsum("ijab->ibaj", x27) - rdm2_f_voov += einsum("ijab->bija", x27) - rdm2_f_vovo -= einsum("ijab->biaj", x27) - del x27 - x29 = np.zeros((nvir, nvir), dtype=types[float]) - x29 += einsum("ai,ib->ab", l1, t1) - x32 = np.zeros((nvir, nvir), dtype=types[float]) - x32 += einsum("ab->ab", x29) - x33 = np.zeros((nvir, nvir), dtype=types[float]) - x33 += einsum("ab->ab", x29) * 2 - x64 = np.zeros((nvir, nvir), dtype=types[float]) - x64 += einsum("ab->ab", x29) - del x29 - x30 = np.zeros((nvir, nvir), dtype=types[float]) - x30 += einsum("wai,wib->ab", lu11, u11) - x32 += einsum("ab->ab", x30) - x33 += einsum("ab->ab", x30) * 2 - x41 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x41 += einsum("ab,ijca->ijcb", x30, t2) - x43 -= einsum("ijab->ijab", x41) - del x41 - rdm2_f_vvoo -= einsum("ijab->abji", x43) - rdm2_f_vvoo += einsum("ijab->baji", x43) - del x43 - x64 += einsum("ab->ab", x30) - del x30 - x65 += einsum("ia,bc->ibac", t1, x64) - del x64 - x31 = np.zeros((nvir, nvir), dtype=types[float]) - x31 -= einsum("abij,ijca->bc", l2, t2) - x32 += einsum("ab->ab", x31) * 0.5 - rdm2_f_ovov += einsum("ij,ab->jbia", delta_oo, x32) - rdm2_f_voov += einsum("ij,ab->bjia", delta_oo, x32) * -1 - del x32 - x33 += einsum("ab->ab", x31) - rdm2_f_ovvo += einsum("ij,ab->jbai", delta_oo, x33) * -0.5 - rdm2_f_vovo += einsum("ij,ab->bjai", delta_oo, x33) * 0.5 - del x33 - x49 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x49 += einsum("ab,ijca->ijcb", x31, t2) - rdm2_f_vvoo += einsum("ijab->abji", x49) * 0.5 - rdm2_f_vvoo += einsum("ijab->baji", x49) * -0.5 - del x49 - rdm2_f_vvov += einsum("ia,bc->acib", t1, x31) * 0.5 - rdm2_f_vvov += einsum("ia,bc->caib", t1, x31) * -0.5 - rdm2_f_vvvo += einsum("ia,bc->acbi", t1, x31) * -0.5 - rdm2_f_vvvo += einsum("ia,bc->cabi", t1, x31) * 0.5 - del x31 - x35 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x35 += einsum("wai,jiba->wjb", lu11, t2) - x37 += einsum("wia->wia", x35) - del x35 - x38 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x38 += einsum("wia,wjb->jiba", u11, x37) - del x37 - x39 += einsum("ijab->ijab", x38) - del x38 - rdm2_f_vvoo += einsum("ijab->abij", x39) - rdm2_f_vvoo -= einsum("ijab->baij", x39) - rdm2_f_vvoo -= einsum("ijab->abji", x39) - rdm2_f_vvoo += einsum("ijab->baji", x39) - del x39 - x47 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x47 += einsum("wx,xia->wia", ls2, u11) - x48 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x48 += einsum("wia,wjb->jiba", u11, x47) - del x47 - rdm2_f_vvoo -= einsum("ijab->baij", x48) - rdm2_f_vvoo += einsum("ijab->baji", x48) - del x48 - x55 -= einsum("ia->ia", t1) - rdm2_f_vvoo += einsum("ia,jb->baij", t1, x55) - rdm2_f_vvoo -= einsum("ia,jb->abij", t1, x55) - del x55 - x57 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x57 += einsum("ia,bcji->jbca", t1, l2) - rdm2_f_ovvv = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - rdm2_f_ovvv -= einsum("iabc->icba", x57) - rdm2_f_vovv = np.zeros((nvir, nocc, nvir, nvir), dtype=types[float]) - rdm2_f_vovv += einsum("iabc->ciba", x57) - rdm2_f_vvvv = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) - rdm2_f_vvvv -= einsum("ia,ibcd->adcb", t1, x57) - del x57 - x60 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x60 += einsum("ai,jibc->jabc", l1, t2) - rdm2_f_vvov -= einsum("iabc->cbia", x60) - rdm2_f_vvvo += einsum("iabc->cbai", x60) - del x60 - x61 = np.zeros((nbos, nvir, nvir), dtype=types[float]) - x61 += einsum("ia,wbi->wba", t1, lu11) - x62 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x62 += einsum("wia,wbc->ibca", u11, x61) - del x61 - x65 -= einsum("iabc->iabc", x62) - del x62 - rdm2_f_vvov += einsum("iabc->bcia", x65) - rdm2_f_vvov -= einsum("iabc->cbia", x65) - rdm2_f_vvvo -= einsum("iabc->bcai", x65) - rdm2_f_vvvo += einsum("iabc->cbai", x65) - del x65 - rdm2_f_oooo += einsum("ij,kl->jlik", delta_oo, delta_oo) - rdm2_f_oooo -= einsum("ij,kl->lijk", delta_oo, delta_oo) - rdm2_f_ooov += einsum("ij,ak->jkia", delta_oo, l1) - rdm2_f_ooov -= einsum("ij,ak->kjia", delta_oo, l1) - rdm2_f_oovo -= einsum("ij,ak->jkai", delta_oo, l1) - rdm2_f_oovo += einsum("ij,ak->kjai", delta_oo, l1) - rdm2_f_oovv = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - rdm2_f_oovv += einsum("abij->jiba", l2) - rdm2_f_ovov -= einsum("ai,jb->ibja", l1, t1) - rdm2_f_ovvo += einsum("ai,jb->ibaj", l1, t1) - rdm2_f_voov += einsum("ai,jb->bija", l1, t1) - rdm2_f_vovo -= einsum("ai,jb->biaj", l1, t1) - rdm2_f_vvoo += einsum("ijab->baji", t2) - rdm2_f_vvvv += einsum("abij,ijcd->dcba", l2, t2) * 0.5 - - rdm2_f = pack_2e(rdm2_f_oooo, rdm2_f_ooov, rdm2_f_oovo, rdm2_f_ovoo, rdm2_f_vooo, rdm2_f_oovv, rdm2_f_ovov, rdm2_f_ovvo, rdm2_f_voov, rdm2_f_vovo, rdm2_f_vvoo, rdm2_f_ovvv, rdm2_f_vovv, rdm2_f_vvov, rdm2_f_vvvo, rdm2_f_vvvv) - - rdm2_f = rdm2_f.transpose(0, 2, 1, 3) - - return rdm2_f - -def make_sing_b_dm(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, s2=None, u11=None, l1=None, l2=None, ls1=None, ls2=None, lu11=None, **kwargs): - # Get boson coupling creation array: - gc = Namespace( - boo=g.boo.transpose(0, 2, 1), - bov=g.bvo.transpose(0, 2, 1), - bvo=g.bov.transpose(0, 2, 1), - bvv=g.bvv.transpose(0, 2, 1), - ) - - # Single boson DM - dm_b_cre = np.zeros((nbos), dtype=types[float]) - dm_b_cre += einsum("w->w", ls1) - dm_b_des = np.zeros((nbos), dtype=types[float]) - dm_b_des += einsum("w,xw->x", ls1, s2) - dm_b_des += einsum("ai,wia->w", l1, u11) - dm_b_des += einsum("w->w", s1) - - dm_b = np.array([dm_b_cre, dm_b_des]) - - return dm_b - -def make_rdm1_b(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, s2=None, u11=None, l1=None, l2=None, ls1=None, ls2=None, lu11=None, **kwargs): - # Get boson coupling creation array: - gc = Namespace( - boo=g.boo.transpose(0, 2, 1), - bov=g.bvo.transpose(0, 2, 1), - bvo=g.bov.transpose(0, 2, 1), - bvv=g.bvv.transpose(0, 2, 1), - ) - - # Boson 1RDM - rdm1_b = np.zeros((nbos, nbos), dtype=types[float]) - rdm1_b += einsum("wx,yx->wy", ls2, s2) - rdm1_b += einsum("w,x->wx", ls1, s1) - rdm1_b += einsum("wai,xia->wx", lu11, u11) - - return rdm1_b - -def make_eb_coup_rdm(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, s2=None, u11=None, l1=None, l2=None, ls1=None, ls2=None, lu11=None, **kwargs): - # Get boson coupling creation array: - gc = Namespace( - boo=g.boo.transpose(0, 2, 1), - bov=g.bvo.transpose(0, 2, 1), - bvo=g.bov.transpose(0, 2, 1), - bvv=g.bvv.transpose(0, 2, 1), - ) - - delta_oo = np.eye(nocc) - delta_vv = np.eye(nvir) - - # Boson-fermion coupling RDM - x0 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x0 += einsum("ia,waj->wji", t1, lu11) - x21 = np.zeros((nocc, nvir), dtype=types[float]) - x21 += einsum("wia,wij->ja", u11, x0) - rdm_eb_cre_oo = np.zeros((nbos, nocc, nocc), dtype=types[float]) - rdm_eb_cre_oo -= einsum("wij->wji", x0) - rdm_eb_cre_ov = np.zeros((nbos, nocc, nvir), dtype=types[float]) - rdm_eb_cre_ov -= einsum("ia,wij->wja", t1, x0) - del x0 - x1 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x1 += einsum("ai,wja->wij", l1, u11) - x17 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x17 += einsum("wij->wij", x1) - rdm_eb_des_oo = np.zeros((nbos, nocc, nocc), dtype=types[float]) - rdm_eb_des_oo -= einsum("wij->wji", x1) - del x1 - x2 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x2 += einsum("wx,xai->wia", s2, lu11) - x4 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x4 += einsum("wia->wia", x2) - rdm_eb_des_vo = np.zeros((nbos, nvir, nocc), dtype=types[float]) - rdm_eb_des_vo += einsum("wia->wai", x2) - del x2 - x3 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x3 -= einsum("wia,abji->wjb", u11, l2) - x4 += einsum("wia->wia", x3) - x5 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x5 += einsum("ia,wja->wij", t1, x4) - x17 += einsum("wij->wji", x5) - rdm_eb_des_ov = np.zeros((nbos, nocc, nvir), dtype=types[float]) - rdm_eb_des_ov -= einsum("ia,wij->wja", t1, x17) - del x17 - rdm_eb_des_oo -= einsum("wij->wij", x5) - del x5 - rdm_eb_des_ov += einsum("wia,ijab->wjb", x4, t2) - rdm_eb_des_vv = np.zeros((nbos, nvir, nvir), dtype=types[float]) - rdm_eb_des_vv += einsum("ia,wib->wba", t1, x4) - del x4 - rdm_eb_des_vo += einsum("wia->wai", x3) - del x3 - x6 = np.zeros((nocc, nocc), dtype=types[float]) - x6 += einsum("ai,ja->ij", l1, t1) - x9 = np.zeros((nocc, nocc), dtype=types[float]) - x9 += einsum("ij->ij", x6) * 2 - x16 = np.zeros((nocc, nocc), dtype=types[float]) - x16 += einsum("ij->ij", x6) - x20 = np.zeros((nocc, nocc), dtype=types[float]) - x20 += einsum("ij->ij", x6) * 1.9999999999999987 - del x6 - x7 = np.zeros((nocc, nocc), dtype=types[float]) - x7 += einsum("wai,wja->ij", lu11, u11) - x9 += einsum("ij->ij", x7) * 2 - x16 += einsum("ij->ij", x7) - x20 += einsum("ij->ij", x7) * 1.9999999999999987 - del x7 - x8 = np.zeros((nocc, nocc), dtype=types[float]) - x8 += einsum("abij,kjab->ik", l2, t2) - x9 += einsum("ij->ij", x8) - x16 += einsum("ij->ij", x8) * 0.5 - rdm_eb_des_ov += einsum("ij,wia->wja", x16, u11) * -1 - del x16 - x20 += einsum("ij->ij", x8) - del x8 - x21 += einsum("ia,ij->ja", t1, x20) * 0.5000000000000003 - del x20 - x9 += einsum("ij->ji", delta_oo) * -2 - rdm_eb_des_oo += einsum("w,ij->wji", s1, x9) * -0.5 - del x9 - x10 = np.zeros((nbos), dtype=types[float]) - x10 += einsum("w,xw->x", ls1, s2) - x12 = np.zeros((nbos), dtype=types[float]) - x12 += einsum("w->w", x10) - del x10 - x11 = np.zeros((nbos), dtype=types[float]) - x11 += einsum("ai,wia->w", l1, u11) - x12 += einsum("w->w", x11) - del x11 - rdm_eb_des_oo += einsum("w,ij->wji", x12, delta_oo) - rdm_eb_des_ov += einsum("w,ia->wia", x12, t1) - del x12 - x13 = np.zeros((nvir, nvir), dtype=types[float]) - x13 += einsum("wai,wib->ab", lu11, u11) - x15 = np.zeros((nvir, nvir), dtype=types[float]) - x15 += einsum("ab->ab", x13) * 2 - x22 = np.zeros((nvir, nvir), dtype=types[float]) - x22 += einsum("ab->ab", x13) - del x13 - x14 = np.zeros((nvir, nvir), dtype=types[float]) - x14 -= einsum("abij,ijca->bc", l2, t2) - x15 += einsum("ab->ab", x14) - rdm_eb_des_ov += einsum("ab,wia->wib", x15, u11) * -0.5 - del x15 - x22 += einsum("ab->ab", x14) * 0.5 - del x14 - x18 = np.zeros((nbos, nbos), dtype=types[float]) - x18 += einsum("wx,yx->wy", ls2, s2) - x18 += einsum("wai,xia->wx", lu11, u11) - rdm_eb_des_ov += einsum("wx,wia->xia", x18, u11) - del x18 - x19 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x19 += einsum("ia,bajk->jkib", t1, l2) - x21 += einsum("ijab,ijkb->ka", t2, x19) * -0.5000000000000003 - del x19 - x21 += einsum("ia->ia", t1) * -1 - x21 += einsum("w,wia->ia", ls1, u11) * -1 - x21 += einsum("ai,jiba->jb", l1, t2) * -1 - rdm_eb_des_ov += einsum("w,ia->wia", s1, x21) * -1 - del x21 - x22 += einsum("ai,ib->ab", l1, t1) - rdm_eb_des_vv += einsum("w,ab->wab", s1, x22) - del x22 - rdm_eb_cre_oo += einsum("w,ij->wji", ls1, delta_oo) - rdm_eb_cre_ov += einsum("wx,xia->wia", ls2, u11) - rdm_eb_cre_ov += einsum("wai,jiba->wjb", lu11, t2) - rdm_eb_cre_ov += einsum("w,ia->wia", ls1, t1) - rdm_eb_cre_vo = np.zeros((nbos, nvir, nocc), dtype=types[float]) - rdm_eb_cre_vo += einsum("wai->wai", lu11) - rdm_eb_cre_vv = np.zeros((nbos, nvir, nvir), dtype=types[float]) - rdm_eb_cre_vv += einsum("ia,wbi->wba", t1, lu11) - rdm_eb_des_ov += einsum("wia->wia", u11) - rdm_eb_des_vo += einsum("w,ai->wai", s1, l1) - rdm_eb_des_vv += einsum("ai,wib->wab", l1, u11) - - rdm_eb = np.array([ - np.block([[rdm_eb_cre_oo, rdm_eb_cre_ov], [rdm_eb_cre_vo, rdm_eb_cre_vv]]), - np.block([[rdm_eb_des_oo, rdm_eb_des_ov], [rdm_eb_des_vo, rdm_eb_des_vv]]), - ]) - - return rdm_eb - diff --git a/ebcc/codegen/GCCSD_SD_1_2.py b/ebcc/codegen/GCCSD_SD_1_2.py deleted file mode 100644 index 48424b22..00000000 --- a/ebcc/codegen/GCCSD_SD_1_2.py +++ /dev/null @@ -1,2137 +0,0 @@ -# Code generated for ebcc. - -from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, Namespace -from ebcc.precision import types - -def energy(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, s2=None, u11=None, u12=None, **kwargs): - # Energy - x0 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x0 += einsum("ijab->jiba", t2) - x0 += einsum("ia,jb->ijab", t1, t1) * 2 - e_cc = 0 - e_cc += einsum("ijab,ijab->", v.oovv, x0) * 0.25 - del x0 - x1 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x1 += einsum("wia->wia", u11) - x1 += einsum("w,ia->wia", s1, t1) - e_cc += einsum("wia,wia->", g.bov, x1) - del x1 - e_cc += einsum("ia,ia->", f.ov, t1) - e_cc += einsum("w,w->", G, s1) - - return e_cc - -def update_amps(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, s2=None, u11=None, u12=None, **kwargs): - # Get boson coupling creation array: - gc = Namespace( - boo=g.boo.transpose(0, 2, 1), - bov=g.bvo.transpose(0, 2, 1), - bvo=g.bov.transpose(0, 2, 1), - bvv=g.bvv.transpose(0, 2, 1), - ) - - # T1, T2, S1, S2, U11 and U12 amplitudes - x0 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x0 += einsum("ia,jkba->ijkb", t1, v.oovv) - x1 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x1 += einsum("ijka->ikja", x0) * -1 - x40 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x40 += einsum("ijab,kjlb->kila", t2, x0) - x41 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x41 -= einsum("ijka->ikja", x40) - del x40 - x65 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x65 += einsum("ia,jkla->jilk", t1, x0) - x66 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x66 += einsum("ijkl->klji", x65) * -2.0000000000000013 - x67 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x67 += einsum("ijkl->klji", x65) * -1 - del x65 - x110 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x110 += einsum("ijka->kjia", x0) - del x0 - x1 += einsum("ijka->kjia", v.ooov) - t1new = np.zeros((nocc, nvir), dtype=types[float]) - t1new += einsum("ijab,kija->kb", t2, x1) * -0.5 - del x1 - x2 = np.zeros((nocc, nvir), dtype=types[float]) - x2 += einsum("w,wia->ia", s1, g.bov) - x4 = np.zeros((nocc, nvir), dtype=types[float]) - x4 += einsum("ia->ia", x2) - x11 = np.zeros((nocc, nvir), dtype=types[float]) - x11 += einsum("ia->ia", x2) - x81 = np.zeros((nocc, nvir), dtype=types[float]) - x81 += einsum("ia->ia", x2) - del x2 - x3 = np.zeros((nocc, nvir), dtype=types[float]) - x3 += einsum("ia,jiba->jb", t1, v.oovv) - x4 += einsum("ia->ia", x3) - x11 += einsum("ia->ia", x3) - x77 = np.zeros((nvir, nvir), dtype=types[float]) - x77 += einsum("ia,ib->ab", t1, x3) * 2 - del x3 - x4 += einsum("ia->ia", f.ov) - x24 = np.zeros((nocc, nocc), dtype=types[float]) - x24 += einsum("ia,ja->ij", t1, x4) - x25 = np.zeros((nocc, nocc), dtype=types[float]) - x25 += einsum("ij->ij", x24) - del x24 - x48 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x48 += einsum("ia,jkab->jkib", x4, t2) - x49 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x49 += einsum("ijka->kjia", x48) - del x48 - x91 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x91 += einsum("ia,wja->wji", x4, u11) - x94 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x94 += einsum("wij->wji", x91) - del x91 - x111 = np.zeros((nbos, nbos, nocc, nocc), dtype=types[float]) - x111 += einsum("ia,wxja->xwij", x4, u12) - t1new += einsum("ia,ijab->jb", x4, t2) - s1new = np.zeros((nbos), dtype=types[float]) - s1new += einsum("ia,wia->w", x4, u11) - s2new = np.zeros((nbos, nbos), dtype=types[float]) - s2new += einsum("ia,wxia->xw", x4, u12) - del x4 - x5 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x5 += einsum("ia,wja->wji", t1, g.bov) - x6 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x6 += einsum("wij->wij", x5) - del x5 - x6 += einsum("wij->wij", g.boo) - x35 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x35 += einsum("ia,wij->wja", t1, x6) - x36 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x36 -= einsum("wia->wia", x35) - del x35 - t1new -= einsum("wia,wij->ja", u11, x6) - u11new = np.zeros((nbos, nocc, nvir), dtype=types[float]) - u11new -= einsum("wij,wxia->xja", x6, u12) - del x6 - x7 = np.zeros((nocc, nocc), dtype=types[float]) - x7 += einsum("w,wij->ij", s1, g.boo) - x13 = np.zeros((nocc, nocc), dtype=types[float]) - x13 += einsum("ij->ij", x7) - x25 += einsum("ij->ji", x7) - x83 = np.zeros((nocc, nocc), dtype=types[float]) - x83 += einsum("ij->ij", x7) * 2 - del x7 - x8 = np.zeros((nocc, nocc), dtype=types[float]) - x8 += einsum("wia,wja->ij", g.bov, u11) - x13 += einsum("ij->ij", x8) - x27 = np.zeros((nocc, nocc), dtype=types[float]) - x27 += einsum("ij->ij", x8) - x83 += einsum("ij->ij", x8) * 2 - del x8 - x9 = np.zeros((nocc, nocc), dtype=types[float]) - x9 -= einsum("ia,ijka->jk", t1, v.ooov) - x13 += einsum("ij->ij", x9) - x27 += einsum("ij->ij", x9) - x28 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x28 += einsum("ij,ikab->kjab", x27, t2) - del x27 - x29 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x29 -= einsum("ijab->ijba", x28) - del x28 - x83 += einsum("ij->ij", x9) * 2 - del x9 - x10 = np.zeros((nocc, nocc), dtype=types[float]) - x10 -= einsum("ijab,jkab->ik", t2, v.oovv) - x13 += einsum("ij->ji", x10) * 0.5 - x61 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x61 += einsum("ij,kjab->kiab", x10, t2) - x62 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x62 += einsum("ijab->ijba", x61) * -0.5 - del x61 - x83 += einsum("ij->ji", x10) - del x10 - x11 += einsum("ia->ia", f.ov) - x12 = np.zeros((nocc, nocc), dtype=types[float]) - x12 += einsum("ia,ja->ij", t1, x11) - x13 += einsum("ij->ji", x12) - del x12 - x83 += einsum("ia,ja->ji", t1, x11) * 2 - del x11 - x13 += einsum("ij->ij", f.oo) - t1new += einsum("ia,ij->ja", t1, x13) * -1 - u12new = np.zeros((nbos, nbos, nocc, nvir), dtype=types[float]) - u12new += einsum("ij,wxia->xwja", x13, u12) * -1 - del x13 - x14 = np.zeros((nvir, nvir), dtype=types[float]) - x14 += einsum("w,wab->ab", s1, g.bvv) - x16 = np.zeros((nvir, nvir), dtype=types[float]) - x16 += einsum("ab->ab", x14) - x44 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x44 += einsum("ab,ijcb->ijac", x14, t2) - x54 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x54 += einsum("ijab->ijab", x44) - del x44 - x77 += einsum("ab->ab", x14) * -2 - x109 = np.zeros((nvir, nvir), dtype=types[float]) - x109 += einsum("ab->ab", x14) * -2 - del x14 - x15 = np.zeros((nvir, nvir), dtype=types[float]) - x15 -= einsum("ia,ibac->bc", t1, v.ovvv) - x16 -= einsum("ab->ab", x15) - x52 = np.zeros((nvir, nvir), dtype=types[float]) - x52 += einsum("ab->ab", x15) - x77 += einsum("ab->ab", x15) * 2 - x109 += einsum("ab->ab", x15) * 2 - del x15 - x16 += einsum("ab->ab", f.vv) - t1new += einsum("ia,ba->ib", t1, x16) - del x16 - x17 = np.zeros((nbos), dtype=types[float]) - x17 += einsum("ia,wia->w", t1, g.bov) - x18 = np.zeros((nbos), dtype=types[float]) - x18 += einsum("w->w", x17) - del x17 - x18 += einsum("w->w", G) - t1new += einsum("w,wia->ia", x18, u11) - s1new += einsum("w,wx->x", x18, s2) - u11new += einsum("w,wxia->xia", x18, u12) - del x18 - x19 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x19 += einsum("ia,bcda->ibcd", t1, v.vvvv) - t2new = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - t2new -= einsum("ia,jbca->ijcb", t1, x19) - del x19 - x20 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x20 += einsum("ia,bcja->ijbc", t1, v.vvov) - x29 += einsum("ijab->ijba", x20) - del x20 - x21 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x21 += einsum("ia,jkla->ijkl", t1, v.ooov) - x22 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x22 += einsum("ia,jkil->jkla", t1, x21) - x23 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x23 -= einsum("ia,jikb->jkba", t1, x22) - del x22 - x29 += einsum("ijab->ijba", x23) - del x23 - x60 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x60 += einsum("ijab,kijl->klab", t2, x21) - del x21 - x62 += einsum("ijab->ijba", x60) * -0.5 - del x60 - t2new += einsum("ijab->ijab", x62) * -1 - t2new += einsum("ijab->jiab", x62) - del x62 - x25 += einsum("ij->ji", f.oo) - x26 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x26 += einsum("ij,jkab->kiab", x25, t2) - del x25 - x29 += einsum("ijab->jiba", x26) - del x26 - t2new += einsum("ijab->ijab", x29) - t2new -= einsum("ijab->jiab", x29) - del x29 - x30 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x30 += einsum("ijab,jckb->ikac", t2, v.ovov) - x43 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x43 -= einsum("ijab->ijab", x30) - del x30 - x31 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x31 += einsum("ia,jbca->ijbc", t1, v.ovvv) - x32 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x32 -= einsum("ijab,kjcb->kiac", t2, x31) - x43 += einsum("ijab->ijab", x32) - del x32 - x47 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x47 -= einsum("ia,jkba->jikb", t1, x31) - x49 += einsum("ijka->kjia", x47) - del x47 - x50 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x50 += einsum("ia,ijkb->jkab", t1, x49) - del x49 - x54 += einsum("ijab->jiab", x50) - del x50 - x108 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x108 -= einsum("ijab->jiab", x31) - del x31 - x33 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x33 += einsum("ia,wba->wib", t1, g.bvv) - x36 += einsum("wia->wia", x33) - del x33 - x34 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x34 += einsum("wia,jiba->wjb", g.bov, t2) - x36 += einsum("wia->wia", x34) - del x34 - x36 += einsum("wai->wia", g.bvo) - x37 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x37 += einsum("wia,wjb->ijab", u11, x36) - del x36 - x43 += einsum("ijab->jiba", x37) - del x37 - x38 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x38 += einsum("ia,jbka->ijkb", t1, v.ovov) - x41 += einsum("ijka->ijka", x38) - del x38 - x39 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x39 -= einsum("ijab,jklb->ikla", t2, v.ooov) - x41 += einsum("ijka->ijka", x39) - del x39 - x42 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x42 += einsum("ia,jikb->jkab", t1, x41) - del x41 - x43 += einsum("ijab->ijab", x42) - del x42 - t2new += einsum("ijab->ijab", x43) - t2new -= einsum("ijab->ijba", x43) - t2new -= einsum("ijab->jiab", x43) - t2new += einsum("ijab->jiba", x43) - del x43 - x45 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x45 += einsum("ijab,jkbc->ikac", t2, v.oovv) - x46 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x46 += einsum("ijab,kjcb->kica", t2, x45) - del x45 - x54 -= einsum("ijab->ijab", x46) - del x46 - x51 = np.zeros((nvir, nvir), dtype=types[float]) - x51 += einsum("wia,wib->ab", g.bov, u11) - x52 += einsum("ab->ba", x51) - x53 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x53 += einsum("ab,ijbc->ijca", x52, t2) - del x52 - x54 += einsum("ijab->jiab", x53) - del x53 - t2new -= einsum("ijab->ijab", x54) - t2new += einsum("ijab->ijba", x54) - del x54 - x77 += einsum("ab->ba", x51) * 2 - x109 += einsum("ab->ba", x51) * 2 - del x51 - x55 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x55 += einsum("ijab,kcab->ijkc", t2, v.ovvv) - x56 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x56 += einsum("ia,jkib->jkab", t1, x55) - del x55 - x59 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x59 += einsum("ijab->ijab", x56) * 0.5 - del x56 - x57 = np.zeros((nvir, nvir), dtype=types[float]) - x57 -= einsum("ijab,ijbc->ac", t2, v.oovv) - x58 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x58 += einsum("ab,ijcb->ijca", x57, t2) - x59 += einsum("ijab->ijab", x58) * 0.5 - del x58 - t2new += einsum("ijab->ijab", x59) * -1 - t2new += einsum("ijab->ijba", x59) - del x59 - x77 += einsum("ab->ab", x57) - x109 += einsum("ab->ab", x57) - del x57 - x63 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x63 += einsum("ab,ijcb->ijac", f.vv, t2) - t2new += einsum("ijab->jiab", x63) - t2new -= einsum("ijab->jiba", x63) - del x63 - x64 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x64 += einsum("ijab,klab->ijkl", t2, v.oovv) - x66 += einsum("ijkl->lkji", x64) - x67 += einsum("ijkl->lkji", x64) * 0.5000000000000003 - del x64 - x66 += einsum("ijkl->jilk", v.oooo) * 2 - t2new += einsum("ijab,ijkl->lkba", t2, x66) * 0.25 - del x66 - x67 += einsum("ijkl->jilk", v.oooo) - x68 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x68 += einsum("ia,ijkl->lkja", t1, x67) - del x67 - x68 += einsum("iajk->kjia", v.ovoo) - t2new += einsum("ia,jkib->jkab", t1, x68) - del x68 - x69 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x69 += einsum("wia,ijab->wjb", u11, v.oovv) - x76 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x76 += einsum("wia->wia", x69) - x97 = np.zeros((nbos, nvir, nvir), dtype=types[float]) - x97 += einsum("ia,wib->wab", t1, x69) - x98 = np.zeros((nbos, nvir, nvir), dtype=types[float]) - x98 += einsum("wab->wba", x97) - del x97 - x102 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x102 += einsum("ia,wja->wij", t1, x69) - x103 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x103 += einsum("wij->wji", x102) - del x102 - s2new += einsum("wia,xia->wx", u11, x69) - del x69 - x70 = np.zeros((nbos, nbos), dtype=types[float]) - x70 += einsum("wia,xia->wx", gc.bov, u11) - x74 = np.zeros((nbos, nbos), dtype=types[float]) - x74 += einsum("wx->wx", x70) - del x70 - x71 = np.zeros((nbos, nbos), dtype=types[float]) - x71 += einsum("wia,xia->wx", g.bov, u11) - x72 = np.zeros((nbos, nbos), dtype=types[float]) - x72 += einsum("wx->xw", x71) - x90 = np.zeros((nbos, nbos, nocc, nvir), dtype=types[float]) - x90 += einsum("wx,ywia->xyia", x71, u12) - del x71 - x107 = np.zeros((nbos, nbos, nocc, nvir), dtype=types[float]) - x107 -= einsum("wxia->wxia", x90) - del x90 - x72 += einsum("wx->wx", w) - x73 = np.zeros((nbos, nbos), dtype=types[float]) - x73 += einsum("wx,yw->xy", s2, x72) - x74 += einsum("wx->wx", x73) - del x73 - s2new += einsum("wx->wx", x74) - s2new += einsum("wx->xw", x74) - del x74 - u11new += einsum("wx,xia->wia", x72, u11) - del x72 - x75 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x75 += einsum("wx,xia->wia", s2, g.bov) - x76 += einsum("wia->wia", x75) - x92 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x92 += einsum("wia->wia", x75) - del x75 - x76 += einsum("wia->wia", gc.bov) - x82 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x82 += einsum("ia,wja->wji", t1, x76) - u11new += einsum("wia,ijab->wjb", x76, t2) - del x76 - x77 += einsum("ab->ab", f.vv) * -2 - u11new += einsum("ab,wib->wia", x77, u11) * -0.5 - del x77 - x78 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x78 += einsum("wx,xij->wij", s2, g.boo) - x82 += einsum("wij->wij", x78) - x94 += einsum("wij->wij", x78) - del x78 - x79 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x79 += einsum("wia,xwja->xij", g.bov, u12) - x82 += einsum("wij->wij", x79) - x103 += einsum("wij->wij", x79) - del x79 - x80 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x80 -= einsum("wia,ijka->wjk", u11, v.ooov) - x82 += einsum("wij->wij", x80) - x103 += einsum("wij->wij", x80) - del x80 - x104 = np.zeros((nbos, nbos, nocc, nvir), dtype=types[float]) - x104 += einsum("wia,xij->wxja", u11, x103) - del x103 - x107 += einsum("wxia->wxia", x104) - del x104 - x81 += einsum("ia->ia", f.ov) - x82 += einsum("ia,wja->wij", x81, u11) - del x81 - x82 += einsum("wij->wij", gc.boo) - u11new -= einsum("ia,wij->wja", t1, x82) - del x82 - x83 += einsum("ij->ij", f.oo) * 2 - u11new += einsum("ij,wia->wja", x83, u11) * -0.5 - del x83 - x84 = np.zeros((nbos, nvir, nvir), dtype=types[float]) - x84 += einsum("wx,xab->wab", s2, g.bvv) - x86 = np.zeros((nbos, nvir, nvir), dtype=types[float]) - x86 += einsum("wab->wab", x84) - x100 = np.zeros((nbos, nvir, nvir), dtype=types[float]) - x100 += einsum("wab->wab", x84) - del x84 - x85 = np.zeros((nbos, nvir, nvir), dtype=types[float]) - x85 -= einsum("wia,ibac->wbc", u11, v.ovvv) - x86 -= einsum("wab->wab", x85) - x98 += einsum("wab->wba", x85) - del x85 - x86 += einsum("wab->wab", gc.bvv) - u11new += einsum("ia,wba->wib", t1, x86) - del x86 - x87 = np.zeros((nbos, nbos, nocc, nvir), dtype=types[float]) - x87 += einsum("wxia,ijab->wxjb", u12, v.oovv) - u12new += einsum("ijab,wxjb->xwia", t2, x87) - del x87 - x88 = np.zeros((nbos, nbos, nbos), dtype=types[float]) - x88 += einsum("wia,xyia->wxy", g.bov, u12) - u12new += einsum("wia,wxy->yxia", u11, x88) - del x88 - x89 = np.zeros((nbos, nbos, nocc, nvir), dtype=types[float]) - x89 += einsum("wx,yxia->ywia", w, u12) - x107 -= einsum("wxia->wxia", x89) - del x89 - x92 += einsum("wia->wia", gc.bov) - x93 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x93 += einsum("ia,wja->wij", t1, x92) - x94 += einsum("wij->wji", x93) - del x93 - x105 = np.zeros((nbos, nbos, nocc, nocc), dtype=types[float]) - x105 += einsum("wia,xja->wxij", u11, x92) - del x92 - x106 = np.zeros((nbos, nbos, nocc, nvir), dtype=types[float]) - x106 += einsum("ia,wxji->xwja", t1, x105) - del x105 - x107 += einsum("wxia->wxia", x106) - del x106 - x94 += einsum("wij->wij", gc.boo) - x95 = np.zeros((nbos, nbos, nocc, nvir), dtype=types[float]) - x95 += einsum("wia,xij->wxja", u11, x94) - del x94 - x107 += einsum("wxia->xwia", x95) - del x95 - x96 = np.zeros((nbos, nvir, nvir), dtype=types[float]) - x96 += einsum("wia,xwib->xab", g.bov, u12) - x98 += einsum("wab->wab", x96) - del x96 - x99 = np.zeros((nbos, nbos, nocc, nvir), dtype=types[float]) - x99 += einsum("wia,xab->wxib", u11, x98) - del x98 - x107 += einsum("wxia->wxia", x99) - del x99 - x100 += einsum("wab->wab", gc.bvv) - x101 = np.zeros((nbos, nbos, nocc, nvir), dtype=types[float]) - x101 += einsum("wia,xba->wxib", u11, x100) - del x100 - x107 -= einsum("wxia->xwia", x101) - del x101 - u12new -= einsum("wxia->wxia", x107) - u12new -= einsum("wxia->xwia", x107) - del x107 - x108 += einsum("iajb->ijab", v.ovov) - u12new -= einsum("wxia,ijba->xwjb", u12, x108) - del x108 - x109 += einsum("ab->ab", f.vv) * -2 - u12new += einsum("ab,wxib->xwia", x109, u12) * -0.5 - del x109 - x110 -= einsum("ijka->jika", v.ooov) - x111 -= einsum("wxia,ijka->xwjk", u12, x110) - del x110 - u12new -= einsum("ia,wxij->xwja", t1, x111) - del x111 - t1new += einsum("w,wai->ia", s1, g.bvo) - t1new += einsum("ai->ia", f.vo) - t1new += einsum("ijab,jcab->ic", t2, v.ovvv) * -0.5 - t1new -= einsum("ia,ibja->jb", t1, v.ovov) - t1new += einsum("wab,wib->ia", g.bvv, u11) - t2new -= einsum("ia,ibjk->kjba", t1, v.ovoo) - t2new += einsum("abij->jiba", v.vvoo) - t2new += einsum("ijab,cdab->jidc", t2, v.vvvv) * 0.5 - s1new += einsum("w,xw->x", s1, w) - s1new += einsum("ia,wia->w", t1, gc.bov) - s1new += einsum("w->w", G) - s1new += einsum("wia,xwia->x", g.bov, u12) - u11new += einsum("wx,xai->wia", s2, g.bvo) - u11new += einsum("wai->wia", gc.bvo) - u11new -= einsum("wia,ibja->wjb", u11, v.ovov) - u11new += einsum("wab,xwib->xia", g.bvv, u12) - - return {"t1new": t1new, "t2new": t2new, "s1new": s1new, "s2new": s2new, "u11new": u11new, "u12new": u12new} - -def update_lams(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, s2=None, u11=None, u12=None, l1=None, l2=None, ls1=None, ls2=None, lu11=None, lu12=None, **kwargs): - # Get boson coupling creation array: - gc = Namespace( - boo=g.boo.transpose(0, 2, 1), - bov=g.bvo.transpose(0, 2, 1), - bvo=g.bov.transpose(0, 2, 1), - bvv=g.bvv.transpose(0, 2, 1), - ) - - # L1, L2, LS1, LS2, LU11 and LU12 amplitudes - x0 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x0 += einsum("abij,klab->ijkl", l2, t2) - x15 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x15 += einsum("ijkl->jilk", x0) * -1 - x134 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x134 += einsum("ijkl->jilk", x0) * -0.5 - l1new = np.zeros((nvir, nocc), dtype=types[float]) - l1new += einsum("ijka,lkij->al", v.ooov, x0) * -0.25 - del x0 - x1 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x1 += einsum("ia,bajk->jkib", t1, l2) - x2 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x2 += einsum("ia,jkla->jkil", t1, x1) - x15 += einsum("ijkl->ijlk", x2) * 2.0000000000000013 - x16 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x16 += einsum("ia,ijkl->jlka", t1, x15) * -0.5 - del x15 - x134 += einsum("ijkl->ijlk", x2) - l2new = np.zeros((nvir, nvir, nocc, nocc), dtype=types[float]) - l2new += einsum("ijab,klij->balk", v.oovv, x134) * -0.5 - del x134 - l1new += einsum("ijka,lkji->al", v.ooov, x2) * 0.5 - del x2 - x16 += einsum("ijab,kjlb->klia", t2, x1) * 2 - x47 = np.zeros((nocc, nvir), dtype=types[float]) - x47 += einsum("ijab,ijka->kb", t2, x1) - x56 = np.zeros((nocc, nvir), dtype=types[float]) - x56 += einsum("ia->ia", x47) * 0.5 - x149 = np.zeros((nocc, nvir), dtype=types[float]) - x149 += einsum("ia->ia", x47) - del x47 - l2new += einsum("iabc,jkia->cbkj", v.ovvv, x1) - x3 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x3 += einsum("ia,jkba->ijkb", t1, v.oovv) - x4 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x4 += einsum("ijka->ikja", x3) * -1 - x9 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x9 += einsum("ijka->kjia", x3) * 0.5000000000000003 - x20 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x20 += einsum("ijka->kjia", x3) - x89 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x89 -= einsum("ai,ijkb->kjab", l1, x3) - x98 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x98 += einsum("ijab->ijab", x89) - del x89 - x104 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x104 -= einsum("ijka->ikja", x3) - x132 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x132 += einsum("ijka->kjia", x3) * 0.5 - x4 += einsum("ijka->kjia", v.ooov) - x13 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x13 += einsum("ijab,kila->lkjb", t2, x4) - x42 = np.zeros((nocc, nvir), dtype=types[float]) - x42 += einsum("ijab,kija->kb", t2, x4) - x142 = np.zeros((nocc, nvir), dtype=types[float]) - x142 += einsum("ijab,kija->kb", t2, x4) * 0.5 - del x4 - x148 = np.zeros((nocc, nvir), dtype=types[float]) - x148 += einsum("ia->ia", x142) - del x142 - x5 = np.zeros((nocc, nvir), dtype=types[float]) - x5 += einsum("w,wia->ia", s1, g.bov) - x7 = np.zeros((nocc, nvir), dtype=types[float]) - x7 += einsum("ia->ia", x5) - x64 = np.zeros((nocc, nvir), dtype=types[float]) - x64 += einsum("ia->ia", x5) - x96 = np.zeros((nocc, nvir), dtype=types[float]) - x96 += einsum("ia->ia", x5) - del x5 - x6 = np.zeros((nocc, nvir), dtype=types[float]) - x6 += einsum("ia,jiba->jb", t1, v.oovv) - x7 += einsum("ia->ia", x6) - x64 += einsum("ia->ia", x6) - x92 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x92 -= einsum("ia,jkib->kjba", x6, x1) - x98 -= einsum("ijab->ijab", x92) - del x92 - x107 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x107 += einsum("ai,jb->ijab", l1, x6) - x114 = np.zeros((nocc, nocc), dtype=types[float]) - x114 += einsum("ia,ja->ij", t1, x6) - del x6 - x115 = np.zeros((nocc, nocc), dtype=types[float]) - x115 += einsum("ij->ji", x114) - del x114 - x7 += einsum("ia->ia", f.ov) - x13 += einsum("ia,jkab->ikjb", x7, t2) * -0.5 - x24 = np.zeros((nbos, nbos, nocc, nocc), dtype=types[float]) - x24 += einsum("ia,wxja->xwij", x7, u12) * 0.5 - x35 = np.zeros((nocc, nocc), dtype=types[float]) - x35 += einsum("ia,ja->ij", t1, x7) - x36 = np.zeros((nocc, nocc), dtype=types[float]) - x36 += einsum("ij->ji", x35) - del x35 - x42 += einsum("ia,ijab->jb", x7, t2) * -2 - x74 = np.zeros((nbos, nbos), dtype=types[float]) - x74 += einsum("ia,wxia->xw", x7, u12) - x137 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x137 += einsum("ia,wja->wij", x7, u11) - x143 = np.zeros((nocc, nvir), dtype=types[float]) - x143 += einsum("ia,ijab->jb", x7, t2) - x148 += einsum("ia->ia", x143) * -1 - del x143 - lu11new = np.zeros((nbos, nvir, nocc), dtype=types[float]) - lu11new += einsum("w,ia->wai", ls1, x7) * 2 - lu12new = np.zeros((nbos, nbos, nvir, nocc), dtype=types[float]) - lu12new += einsum("wx,ia->xwai", ls2, x7) * 2 - del x7 - x8 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x8 += einsum("ijab,klab->ijkl", t2, v.oovv) - x10 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x10 += einsum("ijkl->lkji", x8) - x133 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x133 += einsum("ijkl->lkji", x8) - del x8 - x9 += einsum("ijka->jika", v.ooov) * -1 - x10 += einsum("ia,jkla->kjli", t1, x9) * -4 - del x9 - x10 += einsum("ijkl->jilk", v.oooo) * 2 - x13 += einsum("ia,ijkl->jlka", t1, x10) * -0.25 - del x10 - x11 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x11 += einsum("ia,jbca->ijbc", t1, v.ovvv) - x12 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x12 += einsum("ijab->jiab", x11) * -0.5 - x19 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x19 -= einsum("ijab->jiab", x11) - x102 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x102 += einsum("ijab->ijab", x11) - del x11 - x12 += einsum("iajb->ijab", v.ovov) - x13 += einsum("ia,jkba->jikb", t1, x12) * -1 - del x12 - x13 += einsum("iajk->ikja", v.ovoo) * -0.5 - x13 += einsum("ijab,kcab->kjic", t2, v.ovvv) * -0.25 - l1new += einsum("abij,kija->bk", l2, x13) - del x13 - x14 = np.zeros((nbos, nbos, nocc, nocc), dtype=types[float]) - x14 += einsum("ia,wxaj->wxji", t1, lu12) - x16 += einsum("wxia,wxjk->jkia", u12, x14) * -1 - x46 = np.zeros((nocc, nvir), dtype=types[float]) - x46 += einsum("wxia,wxij->ja", u12, x14) - x56 += einsum("ia->ia", x46) * 0.5 - x149 += einsum("ia->ia", x46) - del x46 - x155 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x155 += einsum("wia,xwij->xja", u11, x14) - x156 = np.zeros((nbos, nbos), dtype=types[float]) - x156 += einsum("wia,xia->wx", g.bov, x155) - del x155 - x162 = np.zeros((nbos, nbos), dtype=types[float]) - x162 -= einsum("wx->wx", x156) - del x156 - lu12new += einsum("ijka,wxkj->xwai", v.ooov, x14) - lu12new -= einsum("wxij,ikja->xwak", x14, x3) - del x3 - x16 += einsum("ai,jkba->ikjb", l1, t2) * -1 - l1new += einsum("ijab,kija->bk", v.oovv, x16) * -0.5 - del x16 - x17 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x17 += einsum("wxai,wxjb->ijab", lu12, u12) - x17 += einsum("abij,kicb->jkac", l2, t2) * -2 - l1new += einsum("iabc,jiab->cj", v.ovvv, x17) * 0.5 - del x17 - x18 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x18 += einsum("abic->ibac", v.vvov) * -1 - x18 += einsum("ia,bcda->icbd", t1, v.vvvv) - l1new += einsum("abij,iabc->cj", l2, x18) * 0.5 - del x18 - x19 += einsum("iajb->ijab", v.ovov) - l1new += einsum("ijka,kiab->bj", x1, x19) - lu12new -= einsum("wxai,jiab->xwbj", lu12, x19) - del x19 - x20 += einsum("ijka->jika", v.ooov) * -1 - x24 += einsum("wxia,ijka->xwjk", u12, x20) * -0.5 - del x20 - x21 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x21 += einsum("wx,wia->xia", s2, g.bov) - x23 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x23 += einsum("wia->wia", x21) - del x21 - x22 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x22 += einsum("wia,jiba->wjb", u11, v.oovv) - x23 += einsum("wia->wia", x22) - x65 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x65 += einsum("wia->wia", x22) - x71 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x71 += einsum("wia->wia", x22) * 0.5 - x100 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x100 += einsum("wai,wjb->ijab", lu11, x22) - x107 += einsum("ijab->ijab", x100) - del x100 - x136 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x136 += einsum("wia->wia", x22) - del x22 - x23 += einsum("wia->wia", gc.bov) - x24 += einsum("wia,xja->wxji", u11, x23) - l1new += einsum("wxai,wxji->aj", lu12, x24) * -1 - del x24 - x141 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x141 += einsum("wia,ijab->wjb", x23, t2) - del x23 - x25 = np.zeros((nocc, nvir), dtype=types[float]) - x25 += einsum("w,wai->ia", s1, g.bvo) - x42 += einsum("ia->ia", x25) * -2 - x148 += einsum("ia->ia", x25) * -1 - del x25 - x26 = np.zeros((nocc, nvir), dtype=types[float]) - x26 += einsum("wab,wib->ia", g.bvv, u11) - x42 += einsum("ia->ia", x26) * -2 - x148 += einsum("ia->ia", x26) * -1 - del x26 - x27 = np.zeros((nocc, nvir), dtype=types[float]) - x27 += einsum("ia,ibja->jb", t1, v.ovov) - x42 += einsum("ia->ia", x27) * 2 - x148 += einsum("ia->ia", x27) - del x27 - x28 = np.zeros((nocc, nvir), dtype=types[float]) - x28 -= einsum("ijab,icab->jc", t2, v.ovvv) - x42 += einsum("ia->ia", x28) - x148 += einsum("ia->ia", x28) * 0.5 - del x28 - x29 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x29 += einsum("ia,wja->wji", t1, g.bov) - x30 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x30 += einsum("wij->wij", x29) - x66 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x66 += einsum("wij->wij", x29) - del x29 - x30 += einsum("wij->wij", g.boo) - x42 += einsum("wia,wij->ja", u11, x30) * 2 - x137 += einsum("wx,wij->xij", s2, x30) - x141 += einsum("wij,wxia->xja", x30, u12) * -1 - x144 = np.zeros((nocc, nvir), dtype=types[float]) - x144 += einsum("wia,wij->ja", u11, x30) - del x30 - x148 += einsum("ia->ia", x144) - del x144 - x31 = np.zeros((nocc, nocc), dtype=types[float]) - x31 += einsum("w,wij->ij", s1, g.boo) - x36 += einsum("ij->ij", x31) - x110 = np.zeros((nocc, nocc), dtype=types[float]) - x110 += einsum("ij->ij", x31) - del x31 - x32 = np.zeros((nocc, nocc), dtype=types[float]) - x32 += einsum("wia,wja->ij", g.bov, u11) - x36 += einsum("ij->ij", x32) - x110 += einsum("ij->ij", x32) - del x32 - x33 = np.zeros((nocc, nocc), dtype=types[float]) - x33 += einsum("ia,jika->jk", t1, v.ooov) - x36 += einsum("ij->ij", x33) - x115 += einsum("ij->ij", x33) - del x33 - x116 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x116 += einsum("ij,abjk->kiab", x115, l2) - del x115 - x117 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x117 -= einsum("ijab->ijba", x116) - del x116 - x34 = np.zeros((nocc, nocc), dtype=types[float]) - x34 += einsum("ijab,ikab->jk", t2, v.oovv) - x36 += einsum("ij->ji", x34) * 0.5 - x121 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x121 += einsum("ij,abki->kjab", x34, l2) - del x34 - x124 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x124 += einsum("ijab->ijba", x121) * -0.5 - del x121 - x36 += einsum("ij->ij", f.oo) - x42 += einsum("ia,ij->ja", t1, x36) * 2 - x141 += einsum("ij,wia->wja", x36, u11) * -1 - x145 = np.zeros((nocc, nvir), dtype=types[float]) - x145 += einsum("ia,ij->ja", t1, x36) - x148 += einsum("ia->ia", x145) - del x145 - l1new += einsum("ai,ji->aj", l1, x36) * -1 - lu12new += einsum("ij,wxaj->xwai", x36, lu12) * -1 - del x36 - x37 = np.zeros((nvir, nvir), dtype=types[float]) - x37 += einsum("w,wab->ab", s1, g.bvv) - x39 = np.zeros((nvir, nvir), dtype=types[float]) - x39 += einsum("ab->ab", x37) - x80 = np.zeros((nvir, nvir), dtype=types[float]) - x80 += einsum("ab->ab", x37) - x94 = np.zeros((nvir, nvir), dtype=types[float]) - x94 += einsum("ab->ab", x37) - x135 = np.zeros((nvir, nvir), dtype=types[float]) - x135 += einsum("ab->ab", x37) * -1 - del x37 - x38 = np.zeros((nvir, nvir), dtype=types[float]) - x38 += einsum("ia,ibca->bc", t1, v.ovvv) - x39 += einsum("ab->ab", x38) * -1 - x80 -= einsum("ab->ab", x38) - x91 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x91 -= einsum("ab,caij->jicb", x38, l2) - x98 -= einsum("ijab->ijab", x91) - del x91 - x135 += einsum("ab->ab", x38) - del x38 - x39 += einsum("ab->ab", f.vv) - x42 += einsum("ia,ba->ib", t1, x39) * -2 - x146 = np.zeros((nocc, nvir), dtype=types[float]) - x146 += einsum("ia,ba->ib", t1, x39) - del x39 - x148 += einsum("ia->ia", x146) * -1 - del x146 - x40 = np.zeros((nbos), dtype=types[float]) - x40 += einsum("ia,wia->w", t1, g.bov) - x41 = np.zeros((nbos), dtype=types[float]) - x41 += einsum("w->w", x40) - x85 = np.zeros((nbos), dtype=types[float]) - x85 += einsum("w->w", x40) - del x40 - x41 += einsum("w->w", G) - x42 += einsum("w,wia->ia", x41, u11) * -2 - x141 += einsum("w,wxia->xia", x41, u12) - x147 = np.zeros((nocc, nvir), dtype=types[float]) - x147 += einsum("w,wia->ia", x41, u11) - del x41 - x148 += einsum("ia->ia", x147) * -1 - del x147 - x42 += einsum("ai->ia", f.vo) * -2 - l1new += einsum("ia,abij->bj", x42, l2) * -0.5 - del x42 - x43 = np.zeros((nocc, nvir), dtype=types[float]) - x43 += einsum("w,wia->ia", ls1, u11) - x56 += einsum("ia->ia", x43) * -1 - x149 += einsum("ia->ia", x43) * -2 - del x43 - x44 = np.zeros((nocc, nvir), dtype=types[float]) - x44 += einsum("wx,wxia->ia", ls2, u12) - x56 += einsum("ia->ia", x44) * -0.5 - x149 += einsum("ia->ia", x44) * -1 - del x44 - x45 = np.zeros((nocc, nvir), dtype=types[float]) - x45 += einsum("ai,jiba->jb", l1, t2) - x56 += einsum("ia->ia", x45) * -1 - x149 += einsum("ia->ia", x45) * -2 - del x45 - x48 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x48 += einsum("ia,waj->wji", t1, lu11) - x50 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x50 += einsum("wij->wij", x48) - x69 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x69 += einsum("wij->wij", x48) - x49 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x49 += einsum("wia,wxaj->xji", u11, lu12) - x50 += einsum("wij->wij", x49) - x56 += einsum("wia,wij->ja", u11, x50) - x149 += einsum("wia,wij->ja", u11, x50) * 2 - del x50 - x69 += einsum("wij->wij", x49) - x70 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x70 += einsum("wx,wij->xij", s2, x69) - x170 = np.zeros((nbos, nbos, nocc, nvir), dtype=types[float]) - x170 += einsum("wia,xji->wxja", g.bov, x69) - x171 = np.zeros((nbos, nbos, nocc, nvir), dtype=types[float]) - x171 += einsum("wxia->wxia", x170) - del x170 - x51 = np.zeros((nocc, nocc), dtype=types[float]) - x51 += einsum("ai,ja->ij", l1, t1) - x55 = np.zeros((nocc, nocc), dtype=types[float]) - x55 += einsum("ij->ij", x51) * 2 - x79 = np.zeros((nocc, nocc), dtype=types[float]) - x79 += einsum("ij->ij", x51) - x112 = np.zeros((nocc, nocc), dtype=types[float]) - x112 += einsum("ij->ij", x51) - del x51 - x52 = np.zeros((nocc, nocc), dtype=types[float]) - x52 += einsum("wai,wja->ij", lu11, u11) - x55 += einsum("ij->ij", x52) * 2 - x79 += einsum("ij->ij", x52) - x112 += einsum("ij->ij", x52) - del x52 - x113 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x113 += einsum("ij,jkab->kiab", x112, v.oovv) - del x112 - x117 += einsum("ijab->jiba", x113) - del x113 - x53 = np.zeros((nocc, nocc), dtype=types[float]) - x53 += einsum("wxai,wxja->ij", lu12, u12) - x55 += einsum("ij->ij", x53) - x79 += einsum("ij->ij", x53) * 0.5 - x122 = np.zeros((nocc, nocc), dtype=types[float]) - x122 += einsum("ij->ij", x53) - del x53 - x54 = np.zeros((nocc, nocc), dtype=types[float]) - x54 += einsum("abij,ikab->jk", l2, t2) - x55 += einsum("ij->ij", x54) - x56 += einsum("ia,ij->ja", t1, x55) * 0.5 - x149 += einsum("ia,ij->ja", t1, x55) - l1new += einsum("ij,jkia->ak", x55, v.ooov) * -0.5 - ls1new = np.zeros((nbos), dtype=types[float]) - ls1new += einsum("ij,wji->w", x55, g.boo) * -0.5 - del x55 - x79 += einsum("ij->ij", x54) * 0.5 - x122 += einsum("ij->ij", x54) - del x54 - x123 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x123 += einsum("ij,jkab->kiab", x122, v.oovv) * 0.5 - del x122 - x124 += einsum("ijab->jiba", x123) * -1 - del x123 - l2new += einsum("ijab->abij", x124) * -1 - l2new += einsum("ijab->abji", x124) - del x124 - x56 += einsum("ia->ia", t1) * -1 - l1new += einsum("ia,ijab->bj", x56, v.oovv) * -1 - del x56 - x57 = np.zeros((nvir, nvir), dtype=types[float]) - x57 += einsum("ai,ib->ab", l1, t1) - x61 = np.zeros((nvir, nvir), dtype=types[float]) - x61 += einsum("ab->ab", x57) - ls1new += einsum("ab,wab->w", x57, g.bvv) - del x57 - x58 = np.zeros((nvir, nvir), dtype=types[float]) - x58 += einsum("wai,wib->ab", lu11, u11) - x61 += einsum("ab->ab", x58) - x90 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x90 -= einsum("ab,ijcb->jiac", x58, v.oovv) - x98 += einsum("ijab->ijab", x90) - del x90 - x150 = np.zeros((nvir, nvir), dtype=types[float]) - x150 += einsum("ab->ab", x58) * 2 - del x58 - x59 = np.zeros((nvir, nvir), dtype=types[float]) - x59 += einsum("wxai,wxib->ab", lu12, u12) - x61 += einsum("ab->ab", x59) * 0.5 - x127 = np.zeros((nvir, nvir), dtype=types[float]) - x127 += einsum("ab->ab", x59) - x150 += einsum("ab->ab", x59) - del x59 - x60 = np.zeros((nvir, nvir), dtype=types[float]) - x60 -= einsum("abij,ijbc->ac", l2, t2) - x61 += einsum("ab->ab", x60) * 0.5 - l1new += einsum("ab,iabc->ci", x61, v.ovvv) * -1 - del x61 - x127 += einsum("ab->ab", x60) - x128 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x128 += einsum("ab,ijbc->ijca", x127, v.oovv) * 0.5 - del x127 - x129 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x129 += einsum("ijab->jiba", x128) * -1 - del x128 - x150 += einsum("ab->ab", x60) - del x60 - ls1new += einsum("ab,wab->w", x150, g.bvv) * 0.5 - del x150 - x62 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x62 += einsum("wia,wxja->xij", g.bov, u12) - x67 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x67 += einsum("wij->wij", x62) - x137 += einsum("wij->wij", x62) - del x62 - x63 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x63 += einsum("wia,jika->wjk", u11, v.ooov) - x67 += einsum("wij->wij", x63) - x137 += einsum("wij->wij", x63) - del x63 - x64 += einsum("ia->ia", f.ov) - x67 += einsum("ia,wja->wij", x64, u11) - x84 = np.zeros((nbos), dtype=types[float]) - x84 += einsum("ia,wia->w", x64, u11) - x87 = np.zeros((nbos), dtype=types[float]) - x87 += einsum("w->w", x84) - del x84 - l1new += einsum("ia,ji->aj", x64, x79) * -1 - del x79 - lu12new -= einsum("ia,wxji->xwaj", x64, x14) - del x64 - del x14 - x65 += einsum("wia->wia", gc.bov) - x67 += einsum("ia,wja->wji", t1, x65) - l1new -= einsum("wia,wji->aj", x65, x69) - del x65 - del x69 - x66 += einsum("wij->wij", g.boo) - x67 += einsum("wx,wij->xij", s2, x66) - x160 = np.zeros((nbos, nbos), dtype=types[float]) - x160 += einsum("wij,xji->wx", x48, x66) - del x48 - x162 -= einsum("wx->xw", x160) - del x160 - x161 = np.zeros((nbos, nbos), dtype=types[float]) - x161 += einsum("wij,xji->wx", x49, x66) - del x49 - x162 -= einsum("wx->xw", x161) - del x161 - x169 = np.zeros((nbos, nbos, nocc, nvir), dtype=types[float]) - x169 += einsum("wai,xji->wxja", lu11, x66) - x171 += einsum("wxia->xwia", x169) - del x169 - x67 += einsum("wij->wij", gc.boo) - l1new -= einsum("wai,wji->aj", lu11, x67) - del x67 - x68 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x68 += einsum("wia,baji->wjb", u11, l2) - x70 += einsum("ia,wja->wji", t1, x68) - x76 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x76 += einsum("wia->wia", x68) - l1new -= einsum("wij,wja->ai", x66, x68) - del x66 - del x68 - x70 += einsum("ai,wja->wij", l1, u11) - x70 += einsum("wai,wxja->xij", lu11, u12) - l1new -= einsum("wia,wji->aj", g.bov, x70) - del x70 - x71 += einsum("wia->wia", gc.bov) - x74 += einsum("wia,xia->xw", u11, x71) * 2 - del x71 - x72 = np.zeros((nbos, nbos), dtype=types[float]) - x72 += einsum("wia,xia->wx", g.bov, u11) - x73 = np.zeros((nbos, nbos), dtype=types[float]) - x73 += einsum("wx->xw", x72) - x152 = np.zeros((nbos, nbos), dtype=types[float]) - x152 += einsum("wx,yx->yw", ls2, x72) - x162 += einsum("wx->wx", x152) - del x152 - x168 = np.zeros((nbos, nbos, nocc, nvir), dtype=types[float]) - x168 += einsum("wx,xyai->wyia", x72, lu12) - del x72 - x171 -= einsum("wxia->wxia", x168) - del x168 - x73 += einsum("wx->wx", w) - x74 += einsum("wx,yw->xy", s2, x73) * 2 - l1new += einsum("wx,xwai->ai", x74, lu12) * 0.5 - del x74 - x141 += einsum("wx,xia->wia", x73, u11) - del x73 - x75 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x75 += einsum("wx,xai->wia", s2, lu11) - x76 += einsum("wia->wia", x75) - del x75 - x106 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x106 += einsum("wia,wjb->ijab", g.bov, x76) - x107 += einsum("ijab->ijab", x106) - del x106 - l1new += einsum("wab,wia->bi", g.bvv, x76) - del x76 - x77 = np.zeros((nbos, nvir, nvir), dtype=types[float]) - x77 += einsum("wia,ibca->wbc", u11, v.ovvv) - x78 = np.zeros((nbos, nvir, nvir), dtype=types[float]) - x78 -= einsum("wab->wab", x77) - x138 = np.zeros((nbos, nvir, nvir), dtype=types[float]) - x138 += einsum("wab->wab", x77) * -1 - del x77 - x78 += einsum("wab->wab", gc.bvv) - l1new += einsum("wai,wab->bi", lu11, x78) - del x78 - x80 += einsum("ab->ab", f.vv) - l1new += einsum("ai,ab->bi", l1, x80) - del x80 - x81 = np.zeros((nbos), dtype=types[float]) - x81 += einsum("w,xw->x", s1, w) - x87 += einsum("w->w", x81) - del x81 - x82 = np.zeros((nbos), dtype=types[float]) - x82 += einsum("ia,wia->w", t1, gc.bov) - x87 += einsum("w->w", x82) - del x82 - x83 = np.zeros((nbos), dtype=types[float]) - x83 += einsum("wia,wxia->x", g.bov, u12) - x87 += einsum("w->w", x83) - del x83 - x85 += einsum("w->w", G) - x86 = np.zeros((nbos), dtype=types[float]) - x86 += einsum("w,wx->x", x85, s2) - x87 += einsum("w->w", x86) - del x86 - x162 += einsum("w,x->xw", ls1, x85) - del x85 - x87 += einsum("w->w", G) - l1new += einsum("w,wai->ai", x87, lu11) - ls1new += einsum("w,wx->x", x87, ls2) - del x87 - x88 = np.zeros((nbos), dtype=types[float]) - x88 += einsum("w->w", s1) - x88 += einsum("w,xw->x", ls1, s2) - x88 += einsum("ai,wia->w", l1, u11) - x88 += einsum("wai,wxia->x", lu11, u12) - l1new += einsum("w,wia->ai", x88, g.bov) - del x88 - x93 = np.zeros((nvir, nvir), dtype=types[float]) - x93 += einsum("wia,wib->ab", g.bov, u11) - x94 -= einsum("ab->ba", x93) - x95 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x95 += einsum("ab,acij->ijcb", x94, l2) - del x94 - x98 -= einsum("ijab->jiba", x95) - del x95 - x135 += einsum("ab->ba", x93) - del x93 - x96 += einsum("ia->ia", f.ov) - x97 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x97 += einsum("ia,jkib->jkba", x96, x1) - x98 -= einsum("ijab->jiba", x97) - del x97 - l2new += einsum("ijab->abij", x98) - l2new -= einsum("ijab->baij", x98) - del x98 - x107 += einsum("ai,jb->jiba", l1, x96) - x109 = np.zeros((nocc, nocc), dtype=types[float]) - x109 += einsum("ia,ja->ij", t1, x96) - del x96 - x110 += einsum("ij->ji", x109) - del x109 - x99 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x99 += einsum("wia,wbj->ijab", gc.bov, lu11) - x107 += einsum("ijab->ijab", x99) - del x99 - x101 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x101 -= einsum("ijab,ikca->jkbc", t2, v.oovv) - x102 += einsum("ijab->ijab", x101) - del x101 - x102 -= einsum("iajb->jiab", v.ovov) - x103 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x103 += einsum("abij,ikac->jkbc", l2, x102) - del x102 - x107 += einsum("ijab->ijab", x103) - del x103 - x104 += einsum("ijka->kjia", v.ooov) - x105 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x105 += einsum("ijka,iklb->jlab", x1, x104) - del x104 - del x1 - x107 -= einsum("ijab->ijab", x105) - del x105 - l2new += einsum("ijab->abij", x107) - l2new -= einsum("ijab->baij", x107) - l2new -= einsum("ijab->abji", x107) - l2new += einsum("ijab->baji", x107) - del x107 - x108 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x108 += einsum("ai,jabc->ijbc", l1, v.ovvv) - x117 += einsum("ijab->ijba", x108) - del x108 - x110 += einsum("ij->ij", f.oo) - x111 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x111 += einsum("ij,abjk->kiab", x110, l2) - del x110 - x117 += einsum("ijab->jiba", x111) - del x111 - l2new += einsum("ijab->abij", x117) - l2new -= einsum("ijab->abji", x117) - del x117 - x118 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x118 += einsum("ai,jkib->jkab", l1, v.ooov) - x120 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x120 -= einsum("ijab->jiab", x118) - del x118 - x119 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x119 += einsum("ab,caij->ijbc", f.vv, l2) - x120 -= einsum("ijab->jiab", x119) - del x119 - l2new -= einsum("ijab->abij", x120) - l2new += einsum("ijab->baij", x120) - del x120 - x125 = np.zeros((nvir, nvir), dtype=types[float]) - x125 += einsum("ijab,ijac->bc", t2, v.oovv) - x126 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x126 -= einsum("ab,caij->jicb", x125, l2) - x129 += einsum("ijab->ijab", x126) * 0.5 - del x126 - l2new += einsum("ijab->abij", x129) * -1 - l2new += einsum("ijab->baij", x129) - del x129 - x135 += einsum("ab->ab", x125) * 0.5 - del x125 - x130 = np.zeros((nbos, nbos, nocc, nvir), dtype=types[float]) - x130 += einsum("wxia,ijab->wxjb", u12, v.oovv) - x131 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x131 += einsum("wxai,wxjb->ijab", lu12, x130) - del x130 - l2new += einsum("ijab->abij", x131) * 0.5 - l2new += einsum("ijab->baij", x131) * -0.5 - l2new += einsum("ijab->abji", x131) * -0.5 - l2new += einsum("ijab->baji", x131) * 0.5 - del x131 - x132 += einsum("ijka->jika", v.ooov) * -1 - x133 += einsum("ia,jkla->kjli", t1, x132) * -4 - del x132 - x133 += einsum("ijkl->jilk", v.oooo) * 2 - l2new += einsum("abij,klij->balk", l2, x133) * 0.25 - del x133 - x135 += einsum("ab->ab", f.vv) * -1 - x141 += einsum("ab,wib->wia", x135, u11) * -1 - lu12new += einsum("ab,wxai->xwbi", x135, lu12) * -1 - del x135 - x136 += einsum("wia->wia", gc.bov) - x137 += einsum("ia,wja->wji", t1, x136) - del x136 - x137 += einsum("wij->wij", gc.boo) - x141 += einsum("ia,wij->wja", t1, x137) * -1 - del x137 - x138 += einsum("wab->wab", gc.bvv) - x141 += einsum("ia,wba->wib", t1, x138) - del x138 - x139 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x139 += einsum("ia,wba->wib", t1, g.bvv) - x140 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x140 += einsum("wia->wia", x139) - x158 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x158 += einsum("wia->wia", x139) - del x139 - x140 += einsum("wai->wia", g.bvo) - x141 += einsum("wx,wia->xia", s2, x140) - del x140 - x141 += einsum("wai->wia", gc.bvo) - x141 += einsum("wab,wxib->xia", g.bvv, u12) - x141 += einsum("wia,ibja->wjb", u11, v.ovov) * -1 - ls1new += einsum("wia,wxai->x", x141, lu12) - del x141 - x148 += einsum("ai->ia", f.vo) * -1 - ls1new += einsum("ia,wai->w", x148, lu11) * -1 - ls2new = np.zeros((nbos, nbos), dtype=types[float]) - ls2new += einsum("ia,wxai->xw", x148, lu12) * -1 - del x148 - x149 += einsum("ia->ia", t1) * -2 - ls1new += einsum("ia,wia->w", x149, g.bov) * -0.5 - del x149 - x151 = np.zeros((nbos, nbos), dtype=types[float]) - x151 += einsum("wx,xy->wy", ls2, w) - x162 += einsum("wx->wx", x151) - del x151 - x153 = np.zeros((nbos, nvir, nvir), dtype=types[float]) - x153 += einsum("wia,wxbi->xba", u11, lu12) - x154 = np.zeros((nbos, nbos), dtype=types[float]) - x154 += einsum("wab,xab->wx", g.bvv, x153) - x162 += einsum("wx->wx", x154) - del x154 - x167 = np.zeros((nbos, nbos, nocc, nvir), dtype=types[float]) - x167 += einsum("wia,xba->wxib", g.bov, x153) - del x153 - x171 += einsum("wxia->wxia", x167) - del x167 - x157 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x157 += einsum("wia,jiba->wjb", g.bov, t2) - x158 += einsum("wia->wia", x157) - del x157 - x158 += einsum("wai->wia", g.bvo) - x159 = np.zeros((nbos, nbos), dtype=types[float]) - x159 += einsum("wai,xia->wx", lu11, x158) - del x158 - x162 += einsum("wx->xw", x159) - del x159 - ls2new += einsum("wx->wx", x162) - ls2new += einsum("wx->xw", x162) - del x162 - x163 = np.zeros((nbos, nbos, nocc, nvir), dtype=types[float]) - x163 += einsum("wxai,ijab->wxjb", lu12, t2) - lu12new += einsum("ijab,wxia->xwbj", v.oovv, x163) - del x163 - x164 = np.zeros((nbos, nbos, nbos), dtype=types[float]) - x164 += einsum("wia,xyai->xyw", u11, lu12) - lu12new += einsum("wia,xyw->yxai", g.bov, x164) - del x164 - x165 = np.zeros((nbos, nbos, nocc, nvir), dtype=types[float]) - x165 += einsum("wx,wyai->yxia", w, lu12) - x171 -= einsum("wxia->wxia", x165) - del x165 - x166 = np.zeros((nbos, nbos, nocc, nvir), dtype=types[float]) - x166 += einsum("wab,xai->wxib", g.bvv, lu11) - x171 -= einsum("wxia->wxia", x166) - del x166 - lu12new -= einsum("wxia->wxai", x171) - lu12new -= einsum("wxia->xwai", x171) - del x171 - l1new += einsum("w,wia->ai", ls1, gc.bov) - l1new -= einsum("ai,jaib->bj", l1, v.ovov) - l1new += einsum("ia->ai", f.ov) - l2new += einsum("abij,abcd->dcji", l2, v.vvvv) * 0.5 - l2new += einsum("ijab->baji", v.oovv) - ls1new += einsum("ai,wai->w", l1, g.bvo) - ls1new += einsum("w->w", G) - ls1new += einsum("w,wx->x", ls1, w) - lu11new -= einsum("wij,xwaj->xai", gc.boo, lu12) - lu11new += einsum("wia->wai", g.bov) - lu11new += einsum("wai,baji->wbj", g.bvo, l2) - lu11new -= einsum("wai,jaib->wbj", lu11, v.ovov) - lu11new += einsum("wab,xwai->xbi", gc.bvv, lu12) - lu11new += einsum("ab,wai->wbi", f.vv, lu11) - lu11new += einsum("ai,wab->wbi", l1, g.bvv) - lu11new -= einsum("ij,waj->wai", f.oo, lu11) - lu11new -= einsum("ai,wji->waj", l1, g.boo) - lu11new += einsum("w,xwai->xai", G, lu12) - lu11new += einsum("wx,xia->wai", ls2, gc.bov) - lu11new += einsum("wx,wai->xai", w, lu11) - - return {"l1new": l1new, "l2new": l2new, "ls1new": ls1new, "ls2new": ls2new, "lu11new": lu11new, "lu12new": lu12new} - -def make_rdm1_f(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, s2=None, u11=None, u12=None, l1=None, l2=None, ls1=None, ls2=None, lu11=None, lu12=None, **kwargs): - # Get boson coupling creation array: - gc = Namespace( - boo=g.boo.transpose(0, 2, 1), - bov=g.bvo.transpose(0, 2, 1), - bvo=g.bov.transpose(0, 2, 1), - bvv=g.bvv.transpose(0, 2, 1), - ) - - delta_oo = np.eye(nocc) - delta_vv = np.eye(nvir) - - # 1RDM - x0 = np.zeros((nocc, nocc), dtype=types[float]) - x0 += einsum("wai,wja->ij", lu11, u11) - x7 = np.zeros((nocc, nocc), dtype=types[float]) - x7 += einsum("ij->ij", x0) * 2 - rdm1_f_oo = np.zeros((nocc, nocc), dtype=types[float]) - rdm1_f_oo -= einsum("ij->ij", x0) - del x0 - x1 = np.zeros((nocc, nocc), dtype=types[float]) - x1 += einsum("ai,ja->ij", l1, t1) - x7 += einsum("ij->ij", x1) * 2 - rdm1_f_oo -= einsum("ij->ij", x1) - del x1 - x2 = np.zeros((nocc, nocc), dtype=types[float]) - x2 += einsum("abij,kjab->ik", l2, t2) - x7 += einsum("ij->ij", x2) - rdm1_f_oo += einsum("ij->ij", x2) * -0.5 - del x2 - x3 = np.zeros((nocc, nocc), dtype=types[float]) - x3 += einsum("wxai,wxja->ij", lu12, u12) - x7 += einsum("ij->ij", x3) - rdm1_f_vo = np.zeros((nvir, nocc), dtype=types[float]) - rdm1_f_vo += einsum("ia,ij->aj", t1, x7) * -0.5 - del x7 - rdm1_f_oo += einsum("ij->ij", x3) * -0.5 - del x3 - x4 = np.zeros((nbos, nbos, nocc, nocc), dtype=types[float]) - x4 += einsum("ia,wxaj->wxji", t1, lu12) - rdm1_f_vo += einsum("wxia,wxij->aj", u12, x4) * -0.5 - del x4 - x5 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x5 += einsum("ia,bajk->jkib", t1, l2) - rdm1_f_vo += einsum("ijab,ijkb->ak", t2, x5) * 0.5 - del x5 - x6 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x6 += einsum("ia,waj->wji", t1, lu11) - x6 += einsum("wia,wxaj->xji", u11, lu12) - rdm1_f_vo -= einsum("wia,wij->aj", u11, x6) - del x6 - rdm1_f_oo += einsum("ij->ji", delta_oo) - rdm1_f_ov = np.zeros((nocc, nvir), dtype=types[float]) - rdm1_f_ov += einsum("ai->ia", l1) - rdm1_f_vo += einsum("ai,jiba->bj", l1, t2) - rdm1_f_vo += einsum("ia->ai", t1) - rdm1_f_vo += einsum("w,wia->ai", ls1, u11) - rdm1_f_vo += einsum("wx,wxia->ai", ls2, u12) * 0.5 - rdm1_f_vv = np.zeros((nvir, nvir), dtype=types[float]) - rdm1_f_vv += einsum("ai,ib->ba", l1, t1) - rdm1_f_vv += einsum("wai,wib->ba", lu11, u11) - rdm1_f_vv += einsum("abij,ijca->cb", l2, t2) * -0.5 - rdm1_f_vv += einsum("wxai,wxib->ba", lu12, u12) * 0.5 - - rdm1_f = np.block([[rdm1_f_oo, rdm1_f_ov], [rdm1_f_vo, rdm1_f_vv]]) - - return rdm1_f - -def make_rdm2_f(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, s2=None, u11=None, u12=None, l1=None, l2=None, ls1=None, ls2=None, lu11=None, lu12=None, **kwargs): - # Get boson coupling creation array: - gc = Namespace( - boo=g.boo.transpose(0, 2, 1), - bov=g.bvo.transpose(0, 2, 1), - bvo=g.bov.transpose(0, 2, 1), - bvv=g.bvv.transpose(0, 2, 1), - ) - - delta_oo = np.eye(nocc) - delta_vv = np.eye(nvir) - - # 2RDM - x0 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x0 += einsum("abij,klab->ijkl", l2, t2) - x28 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x28 += einsum("ijkl->jilk", x0) * -1 - x77 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x77 += einsum("ijkl->jilk", x0) * -1 - x78 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x78 += einsum("ijkl->jilk", x0) * -1 - rdm2_f_oooo = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - rdm2_f_oooo += einsum("ijkl->jilk", x0) * 0.5 - del x0 - x1 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x1 += einsum("ia,bajk->jkib", t1, l2) - x2 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x2 += einsum("ia,jkla->jkil", t1, x1) - x28 += einsum("ijkl->ijlk", x2) * 2 - x29 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x29 += einsum("ia,ijkl->jkla", t1, x28) * 0.5 - del x28 - rdm2_f_ovoo = np.zeros((nocc, nvir, nocc, nocc), dtype=types[float]) - rdm2_f_ovoo += einsum("ijka->iakj", x29) * -1 - rdm2_f_vooo = np.zeros((nvir, nocc, nocc, nocc), dtype=types[float]) - rdm2_f_vooo += einsum("ijka->aikj", x29) - del x29 - x77 += einsum("ijkl->ijlk", x2) * 2.0000000000000013 - rdm2_f_vvoo = np.zeros((nvir, nvir, nocc, nocc), dtype=types[float]) - rdm2_f_vvoo += einsum("ijab,ijkl->balk", t2, x77) * -0.25 - del x77 - x78 += einsum("ijkl->ijlk", x2) * 1.9999999999999987 - x79 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x79 += einsum("ia,ijkl->jlka", t1, x78) * -1 - del x78 - rdm2_f_vvoo += einsum("ia,ijkb->bakj", t1, x79) * 0.5000000000000003 - del x79 - rdm2_f_oooo -= einsum("ijkl->ijlk", x2) - del x2 - x13 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x13 -= einsum("ijab,kjlb->klia", t2, x1) - x20 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x20 += einsum("ijka->ijka", x13) - x34 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x34 -= einsum("ijka->ijka", x13) - x60 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x60 += einsum("ia,ijkb->jkab", t1, x13) - del x13 - x67 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x67 -= einsum("ijab->ijab", x60) - del x60 - x24 = np.zeros((nocc, nvir), dtype=types[float]) - x24 -= einsum("ijab,ijkb->ka", t2, x1) - x26 = np.zeros((nocc, nvir), dtype=types[float]) - x26 += einsum("ia->ia", x24) - x53 = np.zeros((nocc, nvir), dtype=types[float]) - x53 += einsum("ia->ia", x24) - del x24 - x37 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x37 += einsum("ia,jikb->jkba", t1, x1) - x88 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x88 -= einsum("ia,ijbc->jbca", t1, x37) - rdm2_f_vvov = np.zeros((nvir, nvir, nocc, nvir), dtype=types[float]) - rdm2_f_vvov -= einsum("iabc->cbia", x88) - rdm2_f_vvvo = np.zeros((nvir, nvir, nvir, nocc), dtype=types[float]) - rdm2_f_vvvo += einsum("iabc->cbai", x88) - del x88 - rdm2_f_ovov = np.zeros((nocc, nvir, nocc, nvir), dtype=types[float]) - rdm2_f_ovov += einsum("ijab->ibja", x37) - rdm2_f_ovvo = np.zeros((nocc, nvir, nvir, nocc), dtype=types[float]) - rdm2_f_ovvo -= einsum("ijab->ibaj", x37) - rdm2_f_voov = np.zeros((nvir, nocc, nocc, nvir), dtype=types[float]) - rdm2_f_voov -= einsum("ijab->bija", x37) - rdm2_f_vovo = np.zeros((nvir, nocc, nvir, nocc), dtype=types[float]) - rdm2_f_vovo += einsum("ijab->biaj", x37) - del x37 - x87 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x87 += einsum("ijab,ijkc->kcab", t2, x1) - rdm2_f_vvov += einsum("iabc->bcia", x87) * 0.5 - rdm2_f_vvvo += einsum("iabc->bcai", x87) * -0.5 - del x87 - rdm2_f_ooov = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - rdm2_f_ooov -= einsum("ijka->jika", x1) - rdm2_f_oovo = np.zeros((nocc, nocc, nvir, nocc), dtype=types[float]) - rdm2_f_oovo += einsum("ijka->jiak", x1) - del x1 - x3 = np.zeros((nocc, nocc), dtype=types[float]) - x3 += einsum("wai,wja->ij", lu11, u11) - x15 = np.zeros((nocc, nvir), dtype=types[float]) - x15 += einsum("ia,ij->ja", t1, x3) - x18 = np.zeros((nocc, nvir), dtype=types[float]) - x18 += einsum("ia->ia", x15) - del x15 - x19 = np.zeros((nocc, nocc), dtype=types[float]) - x19 += einsum("ij->ij", x3) - x75 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x75 += einsum("ij,kiab->kjab", x3, t2) - x76 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x76 += einsum("ijab->ijba", x75) - del x75 - x81 = np.zeros((nocc, nocc), dtype=types[float]) - x81 += einsum("ij->ij", x3) - rdm2_f_oooo -= einsum("ij,kl->ikjl", delta_oo, x3) - rdm2_f_oooo += einsum("ij,kl->iklj", delta_oo, x3) - rdm2_f_oooo += einsum("ij,kl->kjil", delta_oo, x3) - rdm2_f_oooo -= einsum("ij,kl->kjli", delta_oo, x3) - del x3 - x4 = np.zeros((nocc, nocc), dtype=types[float]) - x4 += einsum("wxai,wxja->ij", lu12, u12) - x6 = np.zeros((nocc, nocc), dtype=types[float]) - x6 += einsum("ij->ij", x4) - x51 = np.zeros((nocc, nocc), dtype=types[float]) - x51 += einsum("ij->ij", x4) - del x4 - x5 = np.zeros((nocc, nocc), dtype=types[float]) - x5 += einsum("abij,kjab->ik", l2, t2) - x6 += einsum("ij->ij", x5) - x25 = np.zeros((nocc, nvir), dtype=types[float]) - x25 += einsum("ia,ij->ja", t1, x6) - x26 += einsum("ia->ia", x25) - del x25 - x27 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x27 += einsum("ia,jk->jika", t1, x6) * -0.5 - x35 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x35 += einsum("ia,jk->jika", t1, x6) * 0.5 - x55 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x55 += einsum("ij,ikab->jkab", x6, t2) * 0.5 - rdm2_f_vvoo += einsum("ijab->abji", x55) - rdm2_f_vvoo += einsum("ijab->abij", x55) * -1 - del x55 - rdm2_f_oooo += einsum("ij,kl->jkil", delta_oo, x6) * -0.5 - rdm2_f_oooo += einsum("ij,kl->jkli", delta_oo, x6) * 0.5 - rdm2_f_oooo += einsum("ij,kl->kijl", delta_oo, x6) * 0.5 - rdm2_f_oooo += einsum("ij,kl->kilj", delta_oo, x6) * -0.5 - del x6 - x51 += einsum("ij->ij", x5) - del x5 - x52 = np.zeros((nocc, nvir), dtype=types[float]) - x52 += einsum("ia,ij->ja", t1, x51) - del x51 - x53 += einsum("ia->ia", x52) - del x52 - x7 = np.zeros((nocc, nocc), dtype=types[float]) - x7 += einsum("ai,ja->ij", l1, t1) - x19 += einsum("ij->ij", x7) - x20 -= einsum("ia,jk->jika", t1, x19) - x34 += einsum("ia,jk->jika", t1, x19) - del x19 - x32 = np.zeros((nocc, nvir), dtype=types[float]) - x32 += einsum("ia,ij->ja", t1, x7) - x33 = np.zeros((nocc, nvir), dtype=types[float]) - x33 += einsum("ia->ia", x32) * -1 - del x32 - x74 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x74 += einsum("ij,kiab->jkab", x7, t2) - x76 -= einsum("ijab->ijba", x74) - del x74 - rdm2_f_vvoo -= einsum("ijab->baij", x76) - rdm2_f_vvoo += einsum("ijab->baji", x76) - del x76 - x81 += einsum("ij->ij", x7) - x82 = np.zeros((nocc, nvir), dtype=types[float]) - x82 += einsum("ia,ij->ja", t1, x81) - x83 = np.zeros((nocc, nvir), dtype=types[float]) - x83 += einsum("ia->ia", x82) - del x82 - x84 = np.zeros((nocc, nvir), dtype=types[float]) - x84 += einsum("ia,ij->ja", t1, x81) * 2 - del x81 - x85 = np.zeros((nocc, nvir), dtype=types[float]) - x85 += einsum("ia->ia", x84) - del x84 - rdm2_f_oooo -= einsum("ij,kl->jkil", delta_oo, x7) - rdm2_f_oooo += einsum("ij,kl->kjil", delta_oo, x7) - rdm2_f_oooo += einsum("ij,kl->jkli", delta_oo, x7) - rdm2_f_oooo -= einsum("ij,kl->kjli", delta_oo, x7) - del x7 - x8 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x8 += einsum("ai,jkba->ijkb", l1, t2) - x70 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x70 += einsum("ia,ijkb->jkab", t1, x8) - x73 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x73 += einsum("ijab->ijab", x70) - del x70 - rdm2_f_ovoo -= einsum("ijka->iakj", x8) - rdm2_f_vooo += einsum("ijka->aikj", x8) - del x8 - x9 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x9 += einsum("ia,waj->wji", t1, lu11) - x10 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x10 += einsum("wia,wjk->jkia", u11, x9) - x20 += einsum("ijka->ijka", x10) - x34 -= einsum("ijka->ijka", x10) - del x10 - x16 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x16 += einsum("wij->wij", x9) - x62 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x62 += einsum("ia,wij->wja", t1, x9) - x63 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x63 -= einsum("wia->wia", x62) - del x62 - x80 = np.zeros((nocc, nvir), dtype=types[float]) - x80 += einsum("wia,wij->ja", u11, x9) - del x9 - x83 += einsum("ia->ia", x80) - x85 += einsum("ia->ia", x80) * 2 - del x80 - x11 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x11 += einsum("wia,wxaj->xji", u11, lu12) - x12 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x12 += einsum("wia,wjk->jika", u11, x11) - x20 -= einsum("ijka->ijka", x12) - x34 += einsum("ijka->ijka", x12) - del x12 - rdm2_f_vooo -= einsum("ijka->aijk", x34) - rdm2_f_vooo += einsum("ijka->aikj", x34) - del x34 - x16 += einsum("wij->wij", x11) - x17 = np.zeros((nocc, nvir), dtype=types[float]) - x17 += einsum("wia,wij->ja", u11, x16) - del x16 - x18 += einsum("ia->ia", x17) - del x17 - x58 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x58 += einsum("ia,wij->wja", t1, x11) - x59 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x59 += einsum("wia,wjb->ijba", u11, x58) - del x58 - x67 += einsum("ijab->ijab", x59) - del x59 - x65 = np.zeros((nocc, nvir), dtype=types[float]) - x65 += einsum("wia,wij->ja", u11, x11) - del x11 - x66 = np.zeros((nocc, nvir), dtype=types[float]) - x66 -= einsum("ia->ia", x65) - del x65 - x14 = np.zeros((nocc, nvir), dtype=types[float]) - x14 += einsum("ai,jiba->jb", l1, t2) - x18 -= einsum("ia->ia", x14) - x20 += einsum("ij,ka->jika", delta_oo, x18) - rdm2_f_ovoo -= einsum("ijka->iajk", x20) - rdm2_f_ovoo += einsum("ijka->iakj", x20) - del x20 - rdm2_f_vooo += einsum("ij,ka->aijk", delta_oo, x18) - rdm2_f_vooo -= einsum("ij,ka->aikj", delta_oo, x18) - del x18 - x66 += einsum("ia->ia", x14) - del x14 - x67 += einsum("ia,jb->ijab", t1, x66) - del x66 - x21 = np.zeros((nbos, nbos, nocc, nocc), dtype=types[float]) - x21 += einsum("ia,wxaj->wxji", t1, lu12) - x22 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x22 += einsum("wxia,wxjk->jkia", u12, x21) - x27 += einsum("ijka->ijka", x22) * 0.5 - x35 += einsum("ijka->ijka", x22) * -0.5 - rdm2_f_vooo += einsum("ijka->aijk", x35) * -1 - rdm2_f_vooo += einsum("ijka->aikj", x35) - del x35 - x50 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x50 += einsum("ia,ijkb->jkab", t1, x22) - del x22 - x54 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x54 += einsum("ijab->ijab", x50) * 0.5 - del x50 - x23 = np.zeros((nocc, nvir), dtype=types[float]) - x23 += einsum("wxia,wxij->ja", u12, x21) - x26 += einsum("ia->ia", x23) - x27 += einsum("ij,ka->jika", delta_oo, x26) * 0.5 - rdm2_f_ovoo += einsum("ijka->iajk", x27) * -1 - rdm2_f_ovoo += einsum("ijka->iakj", x27) - del x27 - rdm2_f_vooo += einsum("ij,ka->aijk", delta_oo, x26) * 0.5 - rdm2_f_vooo += einsum("ij,ka->aikj", delta_oo, x26) * -0.5 - del x26 - x53 += einsum("ia->ia", x23) - del x23 - x54 += einsum("ia,jb->ijab", t1, x53) * 0.5 - del x53 - x56 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x56 += einsum("wia,wxij->xja", u11, x21) - del x21 - x57 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x57 += einsum("wia,wjb->jiab", u11, x56) - del x56 - x67 += einsum("ijab->ijab", x57) - del x57 - x30 = np.zeros((nocc, nvir), dtype=types[float]) - x30 += einsum("w,wia->ia", ls1, u11) - x33 += einsum("ia->ia", x30) - x83 += einsum("ia->ia", x30) * -1 - x85 += einsum("ia->ia", x30) * -2 - del x30 - x31 = np.zeros((nocc, nvir), dtype=types[float]) - x31 += einsum("wx,wxia->ia", ls2, u12) - x33 += einsum("ia->ia", x31) * 0.5 - x83 += einsum("ia->ia", x31) * -0.5 - x85 += einsum("ia->ia", x31) * -1 - del x31 - rdm2_f_vvoo += einsum("ia,jb->baij", t1, x85) * 0.5 - rdm2_f_vvoo += einsum("ia,jb->abij", t1, x85) * -0.5 - del x85 - x33 += einsum("ia->ia", t1) - rdm2_f_ovoo += einsum("ij,ka->jaki", delta_oo, x33) * -1 - rdm2_f_ovoo += einsum("ij,ka->jaik", delta_oo, x33) - rdm2_f_vooo += einsum("ij,ka->ajik", delta_oo, x33) * -1 - rdm2_f_vooo += einsum("ij,ka->ajki", delta_oo, x33) - del x33 - x36 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x36 -= einsum("abij,kjca->ikbc", l2, t2) - x72 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x72 += einsum("ijab,jkbc->ikac", t2, x36) - x73 += einsum("ijab->ijab", x72) - del x72 - x94 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x94 += einsum("ia,ijbc->jbac", t1, x36) - x96 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x96 -= einsum("iabc->iabc", x94) - del x94 - rdm2_f_ovov -= einsum("ijab->ibja", x36) - rdm2_f_ovvo += einsum("ijab->ibaj", x36) - rdm2_f_voov += einsum("ijab->bija", x36) - rdm2_f_vovo -= einsum("ijab->biaj", x36) - del x36 - x38 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x38 += einsum("wai,wjb->ijab", lu11, u11) - rdm2_f_ovov -= einsum("ijab->ibja", x38) - rdm2_f_ovvo += einsum("ijab->ibaj", x38) - rdm2_f_voov += einsum("ijab->bija", x38) - rdm2_f_vovo -= einsum("ijab->biaj", x38) - del x38 - x39 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x39 += einsum("wxai,wxjb->ijab", lu12, u12) - x97 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x97 += einsum("ia,ijbc->jbac", t1, x39) - x98 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x98 += einsum("iabc->iabc", x97) * -0.5 - del x97 - rdm2_f_ovov += einsum("ijab->ibja", x39) * -0.5 - rdm2_f_ovvo += einsum("ijab->ibaj", x39) * 0.5 - rdm2_f_voov += einsum("ijab->bija", x39) * 0.5 - rdm2_f_vovo += einsum("ijab->biaj", x39) * -0.5 - del x39 - x40 = np.zeros((nvir, nvir), dtype=types[float]) - x40 += einsum("ai,ib->ab", l1, t1) - x44 = np.zeros((nvir, nvir), dtype=types[float]) - x44 += einsum("ab->ab", x40) * 2 - x45 = np.zeros((nvir, nvir), dtype=types[float]) - x45 += einsum("ab->ab", x40) - x95 = np.zeros((nvir, nvir), dtype=types[float]) - x95 += einsum("ab->ab", x40) - del x40 - x41 = np.zeros((nvir, nvir), dtype=types[float]) - x41 += einsum("wai,wib->ab", lu11, u11) - x44 += einsum("ab->ab", x41) * 2 - x45 += einsum("ab->ab", x41) - x71 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x71 += einsum("ab,ijca->ijcb", x41, t2) - x73 -= einsum("ijab->ijab", x71) - del x71 - rdm2_f_vvoo -= einsum("ijab->abji", x73) - rdm2_f_vvoo += einsum("ijab->baji", x73) - del x73 - x95 += einsum("ab->ab", x41) - del x41 - x96 += einsum("ia,bc->ibac", t1, x95) - del x95 - x42 = np.zeros((nvir, nvir), dtype=types[float]) - x42 += einsum("wxai,wxib->ab", lu12, u12) - x44 += einsum("ab->ab", x42) - x45 += einsum("ab->ab", x42) * 0.5 - x46 = np.zeros((nvir, nvir), dtype=types[float]) - x46 += einsum("ab->ab", x42) - del x42 - x43 = np.zeros((nvir, nvir), dtype=types[float]) - x43 -= einsum("abij,ijca->bc", l2, t2) - x44 += einsum("ab->ab", x43) - rdm2_f_ovov += einsum("ij,ab->jbia", delta_oo, x44) * 0.5 - rdm2_f_voov += einsum("ij,ab->bjia", delta_oo, x44) * -0.5 - del x44 - x45 += einsum("ab->ab", x43) * 0.5 - rdm2_f_ovvo += einsum("ij,ab->jbai", delta_oo, x45) * -1 - rdm2_f_vovo += einsum("ij,ab->bjai", delta_oo, x45) - del x45 - x46 += einsum("ab->ab", x43) - del x43 - x47 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x47 += einsum("ab,ijac->ijbc", x46, t2) * 0.5 - rdm2_f_vvoo += einsum("ijab->baij", x47) - rdm2_f_vvoo += einsum("ijab->abij", x47) * -1 - del x47 - x98 += einsum("ia,bc->ibac", t1, x46) * 0.5 - del x46 - rdm2_f_vvov += einsum("iabc->bcia", x98) - rdm2_f_vvov += einsum("iabc->cbia", x98) * -1 - rdm2_f_vvvo += einsum("iabc->bcai", x98) * -1 - rdm2_f_vvvo += einsum("iabc->cbai", x98) - del x98 - x48 = np.zeros((nbos, nbos, nocc, nvir), dtype=types[float]) - x48 += einsum("wxai,jiba->wxjb", lu12, t2) - x49 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x49 += einsum("wxia,wxjb->jiba", u12, x48) - del x48 - x54 += einsum("ijab->ijab", x49) * -0.5 - del x49 - rdm2_f_vvoo += einsum("ijab->abij", x54) * -1 - rdm2_f_vvoo += einsum("ijab->baij", x54) - rdm2_f_vvoo += einsum("ijab->abji", x54) - rdm2_f_vvoo += einsum("ijab->baji", x54) * -1 - del x54 - x61 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x61 += einsum("wai,jiba->wjb", lu11, t2) - x63 += einsum("wia->wia", x61) - del x61 - x64 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x64 += einsum("wia,wjb->jiba", u11, x63) - del x63 - x67 += einsum("ijab->ijab", x64) - del x64 - rdm2_f_vvoo += einsum("ijab->abij", x67) - rdm2_f_vvoo -= einsum("ijab->baij", x67) - rdm2_f_vvoo -= einsum("ijab->abji", x67) - rdm2_f_vvoo += einsum("ijab->baji", x67) - del x67 - x68 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x68 += einsum("wx,xia->wia", ls2, u11) - x69 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x69 += einsum("wia,wjb->jiba", u11, x68) - del x68 - rdm2_f_vvoo -= einsum("ijab->baij", x69) - rdm2_f_vvoo += einsum("ijab->baji", x69) - del x69 - x83 += einsum("ia->ia", t1) * -1 - rdm2_f_vvoo += einsum("ia,jb->abji", t1, x83) - rdm2_f_vvoo += einsum("ia,jb->baji", t1, x83) * -1 - del x83 - x86 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x86 += einsum("ia,bcji->jbca", t1, l2) - rdm2_f_ovvv = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - rdm2_f_ovvv -= einsum("iabc->icba", x86) - rdm2_f_vovv = np.zeros((nvir, nocc, nvir, nvir), dtype=types[float]) - rdm2_f_vovv += einsum("iabc->ciba", x86) - rdm2_f_vvvv = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) - rdm2_f_vvvv -= einsum("ia,ibcd->adcb", t1, x86) - del x86 - x89 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x89 += einsum("ai,jibc->jabc", l1, t2) - rdm2_f_vvov -= einsum("iabc->cbia", x89) - rdm2_f_vvvo += einsum("iabc->cbai", x89) - del x89 - x90 = np.zeros((nbos, nvir, nvir), dtype=types[float]) - x90 += einsum("ia,wbi->wba", t1, lu11) - x91 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x91 += einsum("wia,wbc->ibca", u11, x90) - del x90 - x96 -= einsum("iabc->iabc", x91) - del x91 - x92 = np.zeros((nbos, nvir, nvir), dtype=types[float]) - x92 += einsum("wia,xwbi->xba", u11, lu12) - x93 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x93 += einsum("wia,wbc->ibac", u11, x92) - del x92 - x96 += einsum("iabc->iabc", x93) - del x93 - rdm2_f_vvov += einsum("iabc->bcia", x96) - rdm2_f_vvov -= einsum("iabc->cbia", x96) - rdm2_f_vvvo -= einsum("iabc->bcai", x96) - rdm2_f_vvvo += einsum("iabc->cbai", x96) - del x96 - rdm2_f_oooo += einsum("ij,kl->jlik", delta_oo, delta_oo) - rdm2_f_oooo -= einsum("ij,kl->lijk", delta_oo, delta_oo) - rdm2_f_ooov += einsum("ij,ak->jkia", delta_oo, l1) - rdm2_f_ooov -= einsum("ij,ak->kjia", delta_oo, l1) - rdm2_f_oovo -= einsum("ij,ak->jkai", delta_oo, l1) - rdm2_f_oovo += einsum("ij,ak->kjai", delta_oo, l1) - rdm2_f_oovv = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - rdm2_f_oovv += einsum("abij->jiba", l2) - rdm2_f_ovov -= einsum("ai,jb->ibja", l1, t1) - rdm2_f_ovvo += einsum("ai,jb->ibaj", l1, t1) - rdm2_f_voov += einsum("ai,jb->bija", l1, t1) - rdm2_f_vovo -= einsum("ai,jb->biaj", l1, t1) - rdm2_f_vvoo += einsum("ijab->baji", t2) - rdm2_f_vvvv += einsum("abij,ijcd->dcba", l2, t2) * 0.5 - - rdm2_f = pack_2e(rdm2_f_oooo, rdm2_f_ooov, rdm2_f_oovo, rdm2_f_ovoo, rdm2_f_vooo, rdm2_f_oovv, rdm2_f_ovov, rdm2_f_ovvo, rdm2_f_voov, rdm2_f_vovo, rdm2_f_vvoo, rdm2_f_ovvv, rdm2_f_vovv, rdm2_f_vvov, rdm2_f_vvvo, rdm2_f_vvvv) - - rdm2_f = rdm2_f.transpose(0, 2, 1, 3) - - return rdm2_f - -def make_sing_b_dm(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, s2=None, u11=None, u12=None, l1=None, l2=None, ls1=None, ls2=None, lu11=None, lu12=None, **kwargs): - # Get boson coupling creation array: - gc = Namespace( - boo=g.boo.transpose(0, 2, 1), - bov=g.bvo.transpose(0, 2, 1), - bvo=g.bov.transpose(0, 2, 1), - bvv=g.bvv.transpose(0, 2, 1), - ) - - # Single boson DM - dm_b_cre = np.zeros((nbos), dtype=types[float]) - dm_b_cre += einsum("w->w", ls1) - dm_b_des = np.zeros((nbos), dtype=types[float]) - dm_b_des += einsum("wai,xwia->x", lu11, u12) - dm_b_des += einsum("ai,wia->w", l1, u11) - dm_b_des += einsum("w,xw->x", ls1, s2) - dm_b_des += einsum("w->w", s1) - - dm_b = np.array([dm_b_cre, dm_b_des]) - - return dm_b - -def make_rdm1_b(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, s2=None, u11=None, u12=None, l1=None, l2=None, ls1=None, ls2=None, lu11=None, lu12=None, **kwargs): - # Get boson coupling creation array: - gc = Namespace( - boo=g.boo.transpose(0, 2, 1), - bov=g.bvo.transpose(0, 2, 1), - bvo=g.bov.transpose(0, 2, 1), - bvv=g.bvv.transpose(0, 2, 1), - ) - - # Boson 1RDM - rdm1_b = np.zeros((nbos, nbos), dtype=types[float]) - rdm1_b += einsum("w,x->wx", ls1, s1) - rdm1_b += einsum("wai,xia->wx", lu11, u11) - rdm1_b += einsum("wx,yx->wy", ls2, s2) - rdm1_b += einsum("wxai,yxia->wy", lu12, u12) - - return rdm1_b - -def make_eb_coup_rdm(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, s2=None, u11=None, u12=None, l1=None, l2=None, ls1=None, ls2=None, lu11=None, lu12=None, **kwargs): - # Get boson coupling creation array: - gc = Namespace( - boo=g.boo.transpose(0, 2, 1), - bov=g.bvo.transpose(0, 2, 1), - bvo=g.bov.transpose(0, 2, 1), - bvv=g.bvv.transpose(0, 2, 1), - ) - - delta_oo = np.eye(nocc) - delta_vv = np.eye(nvir) - - # Boson-fermion coupling RDM - x0 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x0 += einsum("wia,xwaj->xji", u11, lu12) - x4 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x4 += einsum("wij->wij", x0) - x8 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x8 += einsum("wx,xij->wij", s2, x0) - x27 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x27 += einsum("wij->wij", x8) - rdm_eb_des_oo = np.zeros((nbos, nocc, nocc), dtype=types[float]) - rdm_eb_des_oo -= einsum("wij->wji", x8) - del x8 - x31 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x31 += einsum("wij->wij", x0) - rdm_eb_cre_oo = np.zeros((nbos, nocc, nocc), dtype=types[float]) - rdm_eb_cre_oo -= einsum("wij->wji", x0) - del x0 - x1 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x1 += einsum("ia,waj->wji", t1, lu11) - x4 += einsum("wij->wij", x1) - rdm_eb_cre_ov = np.zeros((nbos, nocc, nvir), dtype=types[float]) - rdm_eb_cre_ov -= einsum("ia,wij->wja", t1, x4) - rdm_eb_des_ov = np.zeros((nbos, nocc, nvir), dtype=types[float]) - rdm_eb_des_ov -= einsum("wij,wxia->xja", x4, u12) - del x4 - x31 += einsum("wij->wij", x1) - x33 = np.zeros((nocc, nvir), dtype=types[float]) - x33 += einsum("wia,wij->ja", u11, x31) - del x31 - rdm_eb_cre_oo -= einsum("wij->wji", x1) - del x1 - x2 = np.zeros((nbos, nbos, nocc, nocc), dtype=types[float]) - x2 += einsum("ia,wxaj->wxji", t1, lu12) - x3 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x3 += einsum("wia,xwij->xja", u11, x2) - rdm_eb_cre_ov -= einsum("wia->wia", x3) - rdm_eb_des_ov -= einsum("wx,xia->wia", s2, x3) - del x3 - x33 += einsum("wxia,wxij->ja", u12, x2) * 0.5 - del x2 - x5 = np.zeros((nbos, nvir, nvir), dtype=types[float]) - x5 += einsum("wia,xwbi->xba", u11, lu12) - rdm_eb_cre_vv = np.zeros((nbos, nvir, nvir), dtype=types[float]) - rdm_eb_cre_vv += einsum("wab->wab", x5) - rdm_eb_des_ov -= einsum("wab,xwia->xib", x5, u12) - rdm_eb_des_vv = np.zeros((nbos, nvir, nvir), dtype=types[float]) - rdm_eb_des_vv += einsum("wx,xab->wab", s2, x5) - del x5 - x6 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x6 += einsum("wai,xwja->xij", lu11, u12) - x27 += einsum("wij->wij", x6) - rdm_eb_des_oo -= einsum("wij->wji", x6) - del x6 - x7 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x7 += einsum("ai,wja->wij", l1, u11) - x27 += einsum("wij->wij", x7) - rdm_eb_des_oo -= einsum("wij->wji", x7) - del x7 - x9 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x9 += einsum("wx,xai->wia", s2, lu11) - x11 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x11 += einsum("wia->wia", x9) - rdm_eb_des_vo = np.zeros((nbos, nvir, nocc), dtype=types[float]) - rdm_eb_des_vo += einsum("wia->wai", x9) - del x9 - x10 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x10 -= einsum("wia,abji->wjb", u11, l2) - x11 += einsum("wia->wia", x10) - x12 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x12 += einsum("ia,wja->wij", t1, x11) - x27 += einsum("wij->wji", x12) - rdm_eb_des_ov -= einsum("ia,wij->wja", t1, x27) - del x27 - rdm_eb_des_oo -= einsum("wij->wij", x12) - del x12 - rdm_eb_des_ov += einsum("wia,ijab->wjb", x11, t2) - rdm_eb_des_vv += einsum("ia,wib->wba", t1, x11) - del x11 - rdm_eb_des_vo += einsum("wia->wai", x10) - del x10 - x13 = np.zeros((nocc, nocc), dtype=types[float]) - x13 += einsum("ai,ja->ij", l1, t1) - x17 = np.zeros((nocc, nocc), dtype=types[float]) - x17 += einsum("ij->ij", x13) - x28 = np.zeros((nocc, nocc), dtype=types[float]) - x28 += einsum("ij->ij", x13) - x32 = np.zeros((nocc, nocc), dtype=types[float]) - x32 += einsum("ij->ij", x13) * 2 - del x13 - x14 = np.zeros((nocc, nocc), dtype=types[float]) - x14 += einsum("wai,wja->ij", lu11, u11) - x17 += einsum("ij->ij", x14) - x28 += einsum("ij->ij", x14) - x32 += einsum("ij->ij", x14) * 2 - del x14 - x15 = np.zeros((nocc, nocc), dtype=types[float]) - x15 += einsum("wxai,wxja->ij", lu12, u12) - x17 += einsum("ij->ij", x15) * 0.5 - x28 += einsum("ij->ij", x15) * 0.5 - x32 += einsum("ij->ij", x15) - del x15 - x16 = np.zeros((nocc, nocc), dtype=types[float]) - x16 += einsum("abij,kjab->ik", l2, t2) - x17 += einsum("ij->ij", x16) * 0.5 - x28 += einsum("ij->ij", x16) * 0.5 - rdm_eb_des_ov += einsum("ij,wia->wja", x28, u11) * -1 - del x28 - x32 += einsum("ij->ij", x16) - del x16 - x33 += einsum("ia,ij->ja", t1, x32) * 0.5 - del x32 - x17 += einsum("ij->ji", delta_oo) * -1 - rdm_eb_des_oo += einsum("w,ij->wji", s1, x17) * -1 - del x17 - x18 = np.zeros((nbos), dtype=types[float]) - x18 += einsum("w,xw->x", ls1, s2) - x21 = np.zeros((nbos), dtype=types[float]) - x21 += einsum("w->w", x18) - del x18 - x19 = np.zeros((nbos), dtype=types[float]) - x19 += einsum("ai,wia->w", l1, u11) - x21 += einsum("w->w", x19) - del x19 - x20 = np.zeros((nbos), dtype=types[float]) - x20 += einsum("wai,xwia->x", lu11, u12) - x21 += einsum("w->w", x20) - del x20 - rdm_eb_des_oo += einsum("w,ij->wji", x21, delta_oo) - rdm_eb_des_ov += einsum("w,ia->wia", x21, t1) - del x21 - x22 = np.zeros((nbos, nbos, nbos), dtype=types[float]) - x22 += einsum("wia,xyai->xyw", u11, lu12) - rdm_eb_des_ov += einsum("wxy,wxia->yia", x22, u12) * 0.5 - del x22 - x23 = np.zeros((nvir, nvir), dtype=types[float]) - x23 += einsum("wai,wib->ab", lu11, u11) - x26 = np.zeros((nvir, nvir), dtype=types[float]) - x26 += einsum("ab->ab", x23) - x34 = np.zeros((nvir, nvir), dtype=types[float]) - x34 += einsum("ab->ab", x23) - del x23 - x24 = np.zeros((nvir, nvir), dtype=types[float]) - x24 += einsum("wxai,wxib->ab", lu12, u12) - x26 += einsum("ab->ab", x24) * 0.5 - x34 += einsum("ab->ab", x24) * 0.5 - del x24 - x25 = np.zeros((nvir, nvir), dtype=types[float]) - x25 -= einsum("abij,ijca->bc", l2, t2) - x26 += einsum("ab->ab", x25) * 0.5 - rdm_eb_des_ov += einsum("ab,wia->wib", x26, u11) * -1 - del x26 - x34 += einsum("ab->ab", x25) * 0.5 - del x25 - x29 = np.zeros((nbos, nbos), dtype=types[float]) - x29 += einsum("wx,yw->xy", ls2, s2) - x29 += einsum("wai,xia->wx", lu11, u11) - x29 += einsum("wxai,ywia->xy", lu12, u12) - rdm_eb_des_ov += einsum("wx,wia->xia", x29, u11) - del x29 - x30 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x30 += einsum("ia,bajk->jkib", t1, l2) - x33 += einsum("ijab,ijkb->ka", t2, x30) * -0.5000000000000003 - del x30 - x33 += einsum("ia->ia", t1) * -1 - x33 += einsum("w,wia->ia", ls1, u11) * -1 - x33 += einsum("wx,wxia->ia", ls2, u12) * -0.5 - x33 += einsum("ai,jiba->jb", l1, t2) * -1 - rdm_eb_des_ov += einsum("w,ia->wia", s1, x33) * -1 - del x33 - x34 += einsum("ai,ib->ab", l1, t1) - rdm_eb_des_vv += einsum("w,ab->wab", s1, x34) - del x34 - rdm_eb_cre_oo += einsum("w,ij->wji", ls1, delta_oo) - rdm_eb_cre_ov += einsum("w,ia->wia", ls1, t1) - rdm_eb_cre_ov += einsum("wx,xia->wia", ls2, u11) - rdm_eb_cre_ov += einsum("wai,jiba->wjb", lu11, t2) - rdm_eb_cre_vo = np.zeros((nbos, nvir, nocc), dtype=types[float]) - rdm_eb_cre_vo += einsum("wai->wai", lu11) - rdm_eb_cre_vv += einsum("ia,wbi->wba", t1, lu11) - rdm_eb_des_ov += einsum("wia->wia", u11) - rdm_eb_des_ov += einsum("w,xwia->xia", ls1, u12) - rdm_eb_des_vo += einsum("w,ai->wai", s1, l1) - rdm_eb_des_vv += einsum("ai,wib->wab", l1, u11) - rdm_eb_des_vv += einsum("wai,xwib->xab", lu11, u12) - - rdm_eb = np.array([ - np.block([[rdm_eb_cre_oo, rdm_eb_cre_ov], [rdm_eb_cre_vo, rdm_eb_cre_vv]]), - np.block([[rdm_eb_des_oo, rdm_eb_des_ov], [rdm_eb_des_vo, rdm_eb_des_vv]]), - ]) - - return rdm_eb - diff --git a/ebcc/codegen/GCCSD_S_1_1.py b/ebcc/codegen/GCCSD_S_1_1.py deleted file mode 100644 index 72af5c75..00000000 --- a/ebcc/codegen/GCCSD_S_1_1.py +++ /dev/null @@ -1,1502 +0,0 @@ -# Code generated for ebcc. - -from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, Namespace -from ebcc.precision import types - -def energy(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, u11=None, **kwargs): - # Energy - x0 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x0 += einsum("ijab->jiba", t2) - x0 += einsum("ia,jb->ijab", t1, t1) * 2 - e_cc = 0 - e_cc += einsum("ijab,ijab->", v.oovv, x0) * 0.25 - del x0 - x1 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x1 += einsum("wia->wia", u11) - x1 += einsum("w,ia->wia", s1, t1) - e_cc += einsum("wia,wia->", g.bov, x1) - del x1 - e_cc += einsum("ia,ia->", f.ov, t1) - e_cc += einsum("w,w->", G, s1) - - return e_cc - -def update_amps(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, u11=None, **kwargs): - # Get boson coupling creation array: - gc = Namespace( - boo=g.boo.transpose(0, 2, 1), - bov=g.bvo.transpose(0, 2, 1), - bvo=g.bov.transpose(0, 2, 1), - bvv=g.bvv.transpose(0, 2, 1), - ) - - # T1, T2, S1 and U11 amplitudes - x0 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x0 += einsum("ia,jkba->ijkb", t1, v.oovv) - x1 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x1 += einsum("ijka->ikja", x0) * -1 - x29 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x29 += einsum("ijab,kjlb->kila", t2, x0) - x30 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x30 -= einsum("ijka->ikja", x29) - del x29 - x64 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x64 += einsum("ia,jkla->jilk", t1, x0) - del x0 - x65 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x65 += einsum("ijkl->klji", x64) * -1 - x66 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x66 += einsum("ijkl->klji", x64) * -1 - del x64 - x1 += einsum("ijka->kjia", v.ooov) - t1new = np.zeros((nocc, nvir), dtype=types[float]) - t1new += einsum("ijab,kija->kb", t2, x1) * -0.5 - del x1 - x2 = np.zeros((nocc, nvir), dtype=types[float]) - x2 += einsum("w,wia->ia", s1, g.bov) - x4 = np.zeros((nocc, nvir), dtype=types[float]) - x4 += einsum("ia->ia", x2) - x11 = np.zeros((nocc, nvir), dtype=types[float]) - x11 += einsum("ia->ia", x2) - x71 = np.zeros((nocc, nvir), dtype=types[float]) - x71 += einsum("ia->ia", x2) - del x2 - x3 = np.zeros((nocc, nvir), dtype=types[float]) - x3 += einsum("ia,jiba->jb", t1, v.oovv) - x4 += einsum("ia->ia", x3) - x11 += einsum("ia->ia", x3) - x70 = np.zeros((nvir, nvir), dtype=types[float]) - x70 += einsum("ia,ib->ab", t1, x3) - del x3 - x4 += einsum("ia->ia", f.ov) - x37 = np.zeros((nocc, nocc), dtype=types[float]) - x37 += einsum("ia,ja->ij", t1, x4) - x38 = np.zeros((nocc, nocc), dtype=types[float]) - x38 += einsum("ij->ij", x37) - del x37 - x51 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x51 += einsum("ia,jkab->jkib", x4, t2) - x52 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x52 += einsum("ijka->kjia", x51) - del x51 - t1new += einsum("ia,ijab->jb", x4, t2) - s1new = np.zeros((nbos), dtype=types[float]) - s1new += einsum("ia,wia->w", x4, u11) - del x4 - x5 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x5 += einsum("ia,wja->wji", t1, g.bov) - x6 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x6 += einsum("wij->wij", x5) - del x5 - x6 += einsum("wij->wij", g.boo) - x24 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x24 += einsum("ia,wij->wja", t1, x6) - x25 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x25 -= einsum("wia->wia", x24) - del x24 - t1new -= einsum("wia,wij->ja", u11, x6) - del x6 - x7 = np.zeros((nocc, nocc), dtype=types[float]) - x7 += einsum("w,wij->ij", s1, g.boo) - x13 = np.zeros((nocc, nocc), dtype=types[float]) - x13 += einsum("ij->ij", x7) - x38 += einsum("ij->ji", x7) - del x7 - x8 = np.zeros((nocc, nocc), dtype=types[float]) - x8 += einsum("wia,wja->ij", g.bov, u11) - x13 += einsum("ij->ij", x8) - x40 = np.zeros((nocc, nocc), dtype=types[float]) - x40 += einsum("ij->ij", x8) - del x8 - x9 = np.zeros((nocc, nocc), dtype=types[float]) - x9 -= einsum("ia,ijka->jk", t1, v.ooov) - x13 += einsum("ij->ij", x9) - x40 += einsum("ij->ij", x9) - del x9 - x41 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x41 += einsum("ij,ikab->kjab", x40, t2) - del x40 - x42 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x42 -= einsum("ijab->ijba", x41) - del x41 - x10 = np.zeros((nocc, nocc), dtype=types[float]) - x10 -= einsum("ijab,jkab->ik", t2, v.oovv) - x13 += einsum("ij->ji", x10) * 0.5 - x44 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x44 += einsum("ij,kjab->kiab", x10, t2) - del x10 - x45 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x45 += einsum("ijab->ijba", x44) * -0.5 - del x44 - x11 += einsum("ia->ia", f.ov) - x12 = np.zeros((nocc, nocc), dtype=types[float]) - x12 += einsum("ia,ja->ij", t1, x11) - del x11 - x13 += einsum("ij->ji", x12) - del x12 - x13 += einsum("ij->ij", f.oo) - t1new += einsum("ia,ij->ja", t1, x13) * -1 - u11new = np.zeros((nbos, nocc, nvir), dtype=types[float]) - u11new += einsum("ij,wia->wja", x13, u11) * -1 - del x13 - x14 = np.zeros((nvir, nvir), dtype=types[float]) - x14 += einsum("w,wab->ab", s1, g.bvv) - x16 = np.zeros((nvir, nvir), dtype=types[float]) - x16 += einsum("ab->ab", x14) - x47 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x47 += einsum("ab,ijcb->ijac", x14, t2) - x57 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x57 += einsum("ijab->ijab", x47) - del x47 - x70 += einsum("ab->ab", x14) * -1 - del x14 - x15 = np.zeros((nvir, nvir), dtype=types[float]) - x15 -= einsum("ia,ibac->bc", t1, v.ovvv) - x16 -= einsum("ab->ab", x15) - x55 = np.zeros((nvir, nvir), dtype=types[float]) - x55 += einsum("ab->ab", x15) - x70 += einsum("ab->ab", x15) - del x15 - x16 += einsum("ab->ab", f.vv) - t1new += einsum("ia,ba->ib", t1, x16) - del x16 - x17 = np.zeros((nbos), dtype=types[float]) - x17 += einsum("w->w", G) - x17 += einsum("ia,wia->w", t1, g.bov) - t1new += einsum("w,wia->ia", x17, u11) - del x17 - x18 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x18 += einsum("ia,bcda->ibcd", t1, v.vvvv) - t2new = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - t2new -= einsum("ia,jbca->ijcb", t1, x18) - del x18 - x19 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x19 += einsum("ijab,jckb->ikac", t2, v.ovov) - x32 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x32 -= einsum("ijab->ijab", x19) - del x19 - x20 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x20 += einsum("ia,jbca->ijbc", t1, v.ovvv) - x21 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x21 -= einsum("ijab,kjcb->kiac", t2, x20) - x32 += einsum("ijab->ijab", x21) - del x21 - x50 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x50 -= einsum("ia,jkba->jikb", t1, x20) - del x20 - x52 += einsum("ijka->kjia", x50) - del x50 - x53 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x53 += einsum("ia,ijkb->jkab", t1, x52) - del x52 - x57 += einsum("ijab->jiab", x53) - del x53 - x22 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x22 += einsum("ia,wba->wib", t1, g.bvv) - x25 += einsum("wia->wia", x22) - del x22 - x23 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x23 += einsum("wia,jiba->wjb", g.bov, t2) - x25 += einsum("wia->wia", x23) - del x23 - x25 += einsum("wai->wia", g.bvo) - x26 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x26 += einsum("wia,wjb->ijab", u11, x25) - del x25 - x32 += einsum("ijab->jiba", x26) - del x26 - x27 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x27 += einsum("ia,jbka->ijkb", t1, v.ovov) - x30 += einsum("ijka->ijka", x27) - del x27 - x28 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x28 -= einsum("ijab,jklb->ikla", t2, v.ooov) - x30 += einsum("ijka->ijka", x28) - del x28 - x31 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x31 += einsum("ia,jikb->jkab", t1, x30) - del x30 - x32 += einsum("ijab->ijab", x31) - del x31 - t2new += einsum("ijab->ijab", x32) - t2new -= einsum("ijab->ijba", x32) - t2new -= einsum("ijab->jiab", x32) - t2new += einsum("ijab->jiba", x32) - del x32 - x33 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x33 += einsum("ia,bcja->ijbc", t1, v.vvov) - x42 += einsum("ijab->ijba", x33) - del x33 - x34 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x34 += einsum("ia,jkla->ijkl", t1, v.ooov) - x35 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x35 += einsum("ia,jkil->jkla", t1, x34) - x36 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x36 -= einsum("ia,jikb->jkba", t1, x35) - del x35 - x42 += einsum("ijab->ijba", x36) - del x36 - x43 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x43 += einsum("ijab,kijl->klab", t2, x34) - del x34 - x45 += einsum("ijab->ijba", x43) * -0.5 - del x43 - t2new += einsum("ijab->ijab", x45) * -1 - t2new += einsum("ijab->jiab", x45) - del x45 - x38 += einsum("ij->ji", f.oo) - x39 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x39 += einsum("ij,jkab->kiab", x38, t2) - del x38 - x42 += einsum("ijab->jiba", x39) - del x39 - t2new += einsum("ijab->ijab", x42) - t2new -= einsum("ijab->jiab", x42) - del x42 - x46 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x46 += einsum("ab,ijcb->ijac", f.vv, t2) - t2new += einsum("ijab->jiab", x46) - t2new -= einsum("ijab->jiba", x46) - del x46 - x48 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x48 += einsum("ijab,jkbc->ikac", t2, v.oovv) - x49 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x49 += einsum("ijab,kjcb->ikac", t2, x48) - del x48 - x57 -= einsum("ijab->ijab", x49) - del x49 - x54 = np.zeros((nvir, nvir), dtype=types[float]) - x54 += einsum("wia,wib->ab", g.bov, u11) - x55 += einsum("ab->ba", x54) - x56 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x56 += einsum("ab,ijbc->ijca", x55, t2) - del x55 - x57 += einsum("ijab->jiab", x56) - del x56 - t2new -= einsum("ijab->ijab", x57) - t2new += einsum("ijab->ijba", x57) - del x57 - x70 += einsum("ab->ba", x54) - del x54 - x58 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x58 += einsum("ijab,kcab->ijkc", t2, v.ovvv) - x59 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x59 += einsum("ia,jkib->jkab", t1, x58) - del x58 - x62 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x62 += einsum("ijab->ijab", x59) * 0.5 - del x59 - x60 = np.zeros((nvir, nvir), dtype=types[float]) - x60 -= einsum("ijab,ijbc->ac", t2, v.oovv) - x61 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x61 += einsum("ab,ijcb->ijca", x60, t2) - x62 += einsum("ijab->ijab", x61) * 0.5 - del x61 - t2new += einsum("ijab->ijab", x62) * -1 - t2new += einsum("ijab->ijba", x62) - del x62 - x70 += einsum("ab->ab", x60) * 0.5 - del x60 - x63 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x63 += einsum("ijab,klab->ijkl", t2, v.oovv) - x65 += einsum("ijkl->lkji", x63) * 0.49999999999999967 - x66 += einsum("ijkl->lkji", x63) * 0.5000000000000003 - del x63 - x65 += einsum("ijkl->jilk", v.oooo) * 0.9999999999999993 - t2new += einsum("ijab,ijkl->lkba", t2, x65) * 0.5000000000000003 - del x65 - x66 += einsum("ijkl->jilk", v.oooo) - x67 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x67 += einsum("ia,ijkl->lkja", t1, x66) - del x66 - x67 += einsum("iajk->kjia", v.ovoo) - t2new += einsum("ia,jkib->jkab", t1, x67) - del x67 - x68 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x68 += einsum("wia,ijab->wjb", u11, v.oovv) - x69 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x69 += einsum("wia->wia", x68) - del x68 - x69 += einsum("wia->wia", gc.bov) - x72 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x72 += einsum("ia,wja->wji", t1, x69) - u11new += einsum("wia,ijab->wjb", x69, t2) - del x69 - x70 += einsum("ab->ab", f.vv) * -1 - u11new += einsum("ab,wib->wia", x70, u11) * -1 - del x70 - x71 += einsum("ia->ia", f.ov) - x72 += einsum("ia,wja->wij", x71, u11) - del x71 - x72 += einsum("wij->wij", gc.boo) - x72 -= einsum("wia,ijka->wjk", u11, v.ooov) - u11new -= einsum("ia,wij->wja", t1, x72) - del x72 - x73 = np.zeros((nbos, nvir, nvir), dtype=types[float]) - x73 += einsum("wab->wab", gc.bvv) - x73 += einsum("wia,ibac->wbc", u11, v.ovvv) - u11new += einsum("ia,wba->wib", t1, x73) - del x73 - x74 = np.zeros((nbos, nbos), dtype=types[float]) - x74 += einsum("wx->wx", w) - x74 += einsum("wia,xia->xw", g.bov, u11) - u11new += einsum("wx,xia->wia", x74, u11) - del x74 - t1new += einsum("wab,wib->ia", g.bvv, u11) - t1new += einsum("ai->ia", f.vo) - t1new += einsum("w,wai->ia", s1, g.bvo) - t1new += einsum("ijab,jcab->ic", t2, v.ovvv) * -0.5 - t1new -= einsum("ia,ibja->jb", t1, v.ovov) - t2new -= einsum("ia,ibjk->kjba", t1, v.ovoo) - t2new += einsum("abij->jiba", v.vvoo) - t2new += einsum("ijab,cdab->jidc", t2, v.vvvv) * 0.5 - s1new += einsum("w,xw->x", s1, w) - s1new += einsum("ia,wia->w", t1, gc.bov) - s1new += einsum("w->w", G) - u11new += einsum("wai->wia", gc.bvo) - u11new -= einsum("wia,ibja->wjb", u11, v.ovov) - - return {"t1new": t1new, "t2new": t2new, "s1new": s1new, "u11new": u11new} - -def update_lams(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, u11=None, l1=None, l2=None, ls1=None, lu11=None, **kwargs): - # Get boson coupling creation array: - gc = Namespace( - boo=g.boo.transpose(0, 2, 1), - bov=g.bvo.transpose(0, 2, 1), - bvo=g.bov.transpose(0, 2, 1), - bvv=g.bvv.transpose(0, 2, 1), - ) - - # L1, L2, LS1 and LU11 amplitudes - x0 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x0 += einsum("abij,klab->ijkl", l2, t2) - x18 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x18 += einsum("ijkl->jilk", x0) * -1 - x112 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x112 += einsum("ijkl->jilk", x0) * -0.5 - l1new = np.zeros((nvir, nocc), dtype=types[float]) - l1new += einsum("ijka,lkij->al", v.ooov, x0) * -0.25 - del x0 - x1 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x1 += einsum("ia,bajk->jkib", t1, l2) - x2 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x2 += einsum("ia,jkla->jkil", t1, x1) - x18 += einsum("ijkl->ijlk", x2) * 2.0000000000000013 - x19 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x19 += einsum("ia,ijkl->jlka", t1, x18) * -0.5 - del x18 - x112 += einsum("ijkl->ijlk", x2) - l2new = np.zeros((nvir, nvir, nocc, nocc), dtype=types[float]) - l2new += einsum("ijab,klij->balk", v.oovv, x112) * -0.5 - del x112 - l1new += einsum("ijka,lkji->al", v.ooov, x2) * 0.5 - del x2 - x19 += einsum("ijab,kjlb->klia", t2, x1) * 2 - x50 = np.zeros((nocc, nvir), dtype=types[float]) - x50 += einsum("ijab,ijka->kb", t2, x1) - x54 = np.zeros((nocc, nvir), dtype=types[float]) - x54 += einsum("ia->ia", x50) * 0.5 - del x50 - l2new += einsum("iabc,jkia->cbkj", v.ovvv, x1) - x3 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x3 -= einsum("wia,abji->wjb", u11, l2) - x65 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x65 += einsum("ia,wja->wji", t1, x3) - x73 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x73 += einsum("wia,wjb->ijab", g.bov, x3) - x81 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x81 += einsum("ijab->ijab", x73) - del x73 - l1new += einsum("wab,wia->bi", g.bvv, x3) - x4 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x4 -= einsum("abij,kicb->jkac", l2, t2) - l1new -= einsum("iabc,jiac->bj", v.ovvv, x4) - del x4 - x5 = np.zeros((nocc, nvir), dtype=types[float]) - x5 += einsum("w,wia->ia", s1, g.bov) - x11 = np.zeros((nocc, nvir), dtype=types[float]) - x11 += einsum("ia->ia", x5) - x59 = np.zeros((nocc, nvir), dtype=types[float]) - x59 += einsum("ia->ia", x5) - x80 = np.zeros((nocc, nvir), dtype=types[float]) - x80 += einsum("ia->ia", x5) - x6 = np.zeros((nocc, nocc), dtype=types[float]) - x6 += einsum("ai,ja->ij", l1, t1) - x52 = np.zeros((nocc, nocc), dtype=types[float]) - x52 += einsum("ij->ij", x6) * 2 - x68 = np.zeros((nocc, nocc), dtype=types[float]) - x68 += einsum("ij->ij", x6) - x120 = np.zeros((nocc, nocc), dtype=types[float]) - x120 += einsum("ij->ij", x6) - l1new -= einsum("ia,ji->aj", x5, x6) - del x5 - ls1new = np.zeros((nbos), dtype=types[float]) - ls1new -= einsum("ij,wji->w", x6, g.boo) - del x6 - x7 = np.zeros((nocc, nocc), dtype=types[float]) - x7 += einsum("abij,ikab->jk", l2, t2) - x19 += einsum("ia,jk->jkia", t1, x7) * -1 - x52 += einsum("ij->ij", x7) - x64 = np.zeros((nocc, nocc), dtype=types[float]) - x64 += einsum("ij->ij", x7) * 0.5 - x83 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x83 -= einsum("ij,kjab->ikab", x7, v.oovv) - x84 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x84 += einsum("ijab->ijba", x83) * -0.5 - del x83 - x120 += einsum("ij->ij", x7) * 0.5 - l1new += einsum("ia,ji->aj", f.ov, x7) * -0.5 - del x7 - x8 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x8 += einsum("ia,jkba->ijkb", t1, v.oovv) - x9 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x9 += einsum("ijka->ikja", x8) * -1 - x13 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x13 += einsum("ijka->kjia", x8) * 0.5000000000000003 - x78 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x78 -= einsum("ijka->ikja", x8) - x98 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x98 -= einsum("ai,ijkb->kjab", l1, x8) - x106 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x106 += einsum("ijab->ijab", x98) - del x98 - x110 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x110 += einsum("ijka->kjia", x8) * 0.5 - del x8 - x9 += einsum("ijka->kjia", v.ooov) - x17 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x17 += einsum("ijab,kila->lkjb", t2, x9) * 2 - x26 = np.zeros((nocc, nvir), dtype=types[float]) - x26 += einsum("ijab,kija->kb", t2, x9) * 0.5 - del x9 - x45 = np.zeros((nocc, nvir), dtype=types[float]) - x45 += einsum("ia->ia", x26) - del x26 - x10 = np.zeros((nocc, nvir), dtype=types[float]) - x10 += einsum("ia,jiba->jb", t1, v.oovv) - x11 += einsum("ia->ia", x10) - x59 += einsum("ia->ia", x10) - x69 = np.zeros((nocc, nvir), dtype=types[float]) - x69 += einsum("ia->ia", x10) - x81 += einsum("ai,jb->ijab", l1, x10) - x94 = np.zeros((nocc, nocc), dtype=types[float]) - x94 += einsum("ia,ja->ij", t1, x10) - x95 = np.zeros((nocc, nocc), dtype=types[float]) - x95 += einsum("ij->ji", x94) - del x94 - x101 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x101 -= einsum("ia,jkib->kjba", x10, x1) - x106 -= einsum("ijab->ijab", x101) - del x101 - x118 = np.zeros((nvir, nvir), dtype=types[float]) - x118 += einsum("ia,ib->ab", t1, x10) - del x10 - x11 += einsum("ia->ia", f.ov) - x17 += einsum("ia,jkab->ikjb", x11, t2) * -1 - x27 = np.zeros((nocc, nvir), dtype=types[float]) - x27 += einsum("ia,ijab->jb", x11, t2) - x45 += einsum("ia->ia", x27) * -1 - del x27 - x35 = np.zeros((nocc, nocc), dtype=types[float]) - x35 += einsum("ia,ja->ij", t1, x11) - x36 = np.zeros((nocc, nocc), dtype=types[float]) - x36 += einsum("ij->ji", x35) - del x35 - lu11new = np.zeros((nbos, nvir, nocc), dtype=types[float]) - lu11new += einsum("w,ia->wai", ls1, x11) * 2 - del x11 - x12 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x12 += einsum("ijab,klab->ijkl", t2, v.oovv) - x14 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x14 += einsum("ijkl->lkji", x12) - x111 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x111 += einsum("ijkl->lkji", x12) - del x12 - x13 += einsum("ijka->jika", v.ooov) * -1 - x14 += einsum("ia,jkla->kjli", t1, x13) * -4 - del x13 - x14 += einsum("ijkl->jilk", v.oooo) * 2 - x17 += einsum("ia,ijkl->jlka", t1, x14) * -0.5 - del x14 - x15 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x15 += einsum("ia,jbca->ijbc", t1, v.ovvv) - x16 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x16 += einsum("ijab->jiab", x15) * -0.5 - x21 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x21 -= einsum("ijab->jiab", x15) - x76 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x76 += einsum("ijab->ijab", x15) - del x15 - x16 += einsum("iajb->ijab", v.ovov) - x17 += einsum("ia,jkba->jikb", t1, x16) * -2 - del x16 - x17 += einsum("iajk->ikja", v.ovoo) * -1 - x17 += einsum("ijab,kcab->kjic", t2, v.ovvv) * -0.5 - l1new += einsum("abij,kija->bk", l2, x17) * 0.5 - del x17 - x19 += einsum("ai,jkba->ikjb", l1, t2) * -1 - l1new += einsum("ijab,kija->bk", v.oovv, x19) * -0.5 - del x19 - x20 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x20 += einsum("abic->ibac", v.vvov) * -1 - x20 += einsum("ia,bcda->icbd", t1, v.vvvv) - l1new += einsum("abij,iabc->cj", l2, x20) * 0.5 - del x20 - x21 += einsum("iajb->ijab", v.ovov) - l1new += einsum("ijka,kiab->bj", x1, x21) - del x21 - x22 = np.zeros((nocc, nvir), dtype=types[float]) - x22 += einsum("w,wai->ia", s1, g.bvo) - x45 += einsum("ia->ia", x22) * -1 - del x22 - x23 = np.zeros((nocc, nvir), dtype=types[float]) - x23 += einsum("wab,wib->ia", g.bvv, u11) - x45 += einsum("ia->ia", x23) * -1 - del x23 - x24 = np.zeros((nocc, nvir), dtype=types[float]) - x24 += einsum("ia,ibja->jb", t1, v.ovov) - x45 += einsum("ia->ia", x24) - del x24 - x25 = np.zeros((nocc, nvir), dtype=types[float]) - x25 -= einsum("ijab,icab->jc", t2, v.ovvv) - x45 += einsum("ia->ia", x25) * 0.5 - del x25 - x28 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x28 += einsum("ia,wja->wji", t1, g.bov) - x29 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x29 += einsum("wij->wij", x28) - x66 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x66 += einsum("wij->wij", x28) - del x28 - x29 += einsum("wij->wij", g.boo) - x30 = np.zeros((nocc, nvir), dtype=types[float]) - x30 += einsum("wia,wij->ja", u11, x29) - del x29 - x45 += einsum("ia->ia", x30) - del x30 - x31 = np.zeros((nocc, nocc), dtype=types[float]) - x31 += einsum("w,wij->ij", s1, g.boo) - x36 += einsum("ij->ij", x31) - x91 = np.zeros((nocc, nocc), dtype=types[float]) - x91 += einsum("ij->ij", x31) - del x31 - x32 = np.zeros((nocc, nocc), dtype=types[float]) - x32 += einsum("wia,wja->ij", g.bov, u11) - x36 += einsum("ij->ij", x32) - x91 += einsum("ij->ij", x32) - del x32 - x33 = np.zeros((nocc, nocc), dtype=types[float]) - x33 -= einsum("ia,ijka->jk", t1, v.ooov) - x36 += einsum("ij->ij", x33) - x95 += einsum("ij->ij", x33) - del x33 - x96 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x96 += einsum("ij,abjk->kiab", x95, l2) - del x95 - x97 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x97 -= einsum("ijab->ijba", x96) - del x96 - x34 = np.zeros((nocc, nocc), dtype=types[float]) - x34 += einsum("ijab,ikab->jk", t2, v.oovv) - x36 += einsum("ij->ji", x34) * 0.5 - x82 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x82 += einsum("ij,abki->kjab", x34, l2) - del x34 - x84 += einsum("ijab->ijba", x82) * -0.5 - del x82 - l2new += einsum("ijab->abij", x84) * -1 - l2new += einsum("ijab->abji", x84) - del x84 - x36 += einsum("ij->ij", f.oo) - x37 = np.zeros((nocc, nvir), dtype=types[float]) - x37 += einsum("ia,ij->ja", t1, x36) - x45 += einsum("ia->ia", x37) - del x37 - l1new += einsum("ai,ji->aj", l1, x36) * -1 - lu11new += einsum("ij,waj->wai", x36, lu11) * -1 - del x36 - x38 = np.zeros((nvir, nvir), dtype=types[float]) - x38 += einsum("w,wab->ab", s1, g.bvv) - x40 = np.zeros((nvir, nvir), dtype=types[float]) - x40 += einsum("ab->ab", x38) - x67 = np.zeros((nvir, nvir), dtype=types[float]) - x67 += einsum("ab->ab", x38) - x103 = np.zeros((nvir, nvir), dtype=types[float]) - x103 += einsum("ab->ab", x38) - x118 += einsum("ab->ab", x38) * -1 - del x38 - x39 = np.zeros((nvir, nvir), dtype=types[float]) - x39 -= einsum("ia,ibac->bc", t1, v.ovvv) - x40 += einsum("ab->ab", x39) * -1 - x67 -= einsum("ab->ab", x39) - x100 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x100 -= einsum("ab,caij->jicb", x39, l2) - x106 -= einsum("ijab->ijab", x100) - del x100 - x118 += einsum("ab->ab", x39) - del x39 - x40 += einsum("ab->ab", f.vv) - x41 = np.zeros((nocc, nvir), dtype=types[float]) - x41 += einsum("ia,ba->ib", t1, x40) - del x40 - x45 += einsum("ia->ia", x41) * -1 - del x41 - x42 = np.zeros((nbos), dtype=types[float]) - x42 += einsum("ia,wia->w", t1, g.bov) - x43 = np.zeros((nbos), dtype=types[float]) - x43 += einsum("w->w", x42) - del x42 - x43 += einsum("w->w", G) - x44 = np.zeros((nocc, nvir), dtype=types[float]) - x44 += einsum("w,wia->ia", x43, u11) - del x43 - x45 += einsum("ia->ia", x44) * -1 - del x44 - x45 += einsum("ai->ia", f.vo) * -1 - l1new += einsum("ia,abij->bj", x45, l2) * -1 - ls1new += einsum("ia,wai->w", x45, lu11) * -1 - del x45 - x46 = np.zeros((nocc, nvir), dtype=types[float]) - x46 += einsum("w,wia->ia", ls1, u11) - x54 += einsum("ia->ia", x46) * -1 - del x46 - x47 = np.zeros((nocc, nvir), dtype=types[float]) - x47 += einsum("ai,jiba->jb", l1, t2) - x54 += einsum("ia->ia", x47) * -1 - del x47 - x48 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x48 += einsum("ia,waj->wji", t1, lu11) - x49 = np.zeros((nocc, nvir), dtype=types[float]) - x49 += einsum("wia,wij->ja", u11, x48) - x54 += einsum("ia->ia", x49) - del x49 - x117 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x117 -= einsum("ia,wij->wja", t1, x48) - lu11new += einsum("wij,kjia->wak", x48, v.ooov) - x51 = np.zeros((nocc, nocc), dtype=types[float]) - x51 += einsum("wai,wja->ij", lu11, u11) - x52 += einsum("ij->ij", x51) * 2 - x53 = np.zeros((nocc, nvir), dtype=types[float]) - x53 += einsum("ia,ij->ja", t1, x52) * 0.5 - x54 += einsum("ia->ia", x53) - del x53 - l1new += einsum("ij,jkia->ak", x52, v.ooov) * -0.5 - del x52 - x64 += einsum("ij->ij", x51) - x65 += einsum("w,ij->wij", s1, x64) - ls1new += einsum("ij,wji->w", x64, g.boo) * -1 - del x64 - x68 += einsum("ij->ij", x51) - x93 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x93 += einsum("ij,jkab->kiab", x68, v.oovv) - x97 += einsum("ijab->jiba", x93) - del x93 - x120 += einsum("ij->ij", x51) - del x51 - lu11new += einsum("ij,wja->wai", x120, g.bov) * -1 - del x120 - x54 += einsum("ia->ia", t1) * -1 - l1new += einsum("ia,ijab->bj", x54, v.oovv) * -1 - ls1new += einsum("ia,wia->w", x54, g.bov) * -1 - del x54 - x55 = np.zeros((nvir, nvir), dtype=types[float]) - x55 += einsum("ai,ib->ab", l1, t1) - x58 = np.zeros((nvir, nvir), dtype=types[float]) - x58 += einsum("ab->ab", x55) - ls1new += einsum("ab,wab->w", x55, g.bvv) - del x55 - x56 = np.zeros((nvir, nvir), dtype=types[float]) - x56 += einsum("wai,wib->ab", lu11, u11) - x58 += einsum("ab->ab", x56) - x99 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x99 -= einsum("ab,ijcb->jiac", x56, v.oovv) - x106 += einsum("ijab->ijab", x99) - del x99 - x113 = np.zeros((nvir, nvir), dtype=types[float]) - x113 += einsum("ab->ab", x56) * 2 - x119 = np.zeros((nvir, nvir), dtype=types[float]) - x119 += einsum("ab->ab", x56) - del x56 - x57 = np.zeros((nvir, nvir), dtype=types[float]) - x57 -= einsum("abij,ijbc->ac", l2, t2) - x58 += einsum("ab->ab", x57) * 0.5 - l1new += einsum("ab,iabc->ci", x58, v.ovvv) * -1 - del x58 - x85 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x85 += einsum("ab,ijcb->jiac", x57, v.oovv) - x88 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x88 += einsum("ijab->ijab", x85) * 0.5 - del x85 - x113 += einsum("ab->ab", x57) - ls1new += einsum("ab,wab->w", x113, g.bvv) * 0.5 - del x113 - x119 += einsum("ab->ab", x57) * 0.5 - del x57 - lu11new += einsum("ab,wib->wai", x119, g.bov) * -1 - del x119 - x59 += einsum("ia->ia", f.ov) - x62 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x62 += einsum("ia,wja->wij", x59, u11) - x70 = np.zeros((nbos), dtype=types[float]) - x70 += einsum("ia,wia->w", x59, u11) - del x59 - x60 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x60 += einsum("wia,ijab->wjb", u11, v.oovv) - x61 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x61 += einsum("wia->wia", x60) - x74 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x74 += einsum("wai,wjb->ijab", lu11, x60) - del x60 - x81 += einsum("ijab->ijab", x74) - del x74 - x61 += einsum("wia->wia", gc.bov) - x62 += einsum("ia,wja->wji", t1, x61) - l1new -= einsum("wij,wja->ai", x48, x61) - del x61 - x62 += einsum("wij->wij", gc.boo) - x62 += einsum("wia,jika->wjk", u11, v.ooov) - l1new -= einsum("wai,wji->aj", lu11, x62) - del x62 - x63 = np.zeros((nbos, nvir, nvir), dtype=types[float]) - x63 += einsum("wab->wab", gc.bvv) - x63 -= einsum("wia,ibca->wbc", u11, v.ovvv) - l1new += einsum("wai,wab->bi", lu11, x63) - del x63 - x65 += einsum("ai,wja->wij", l1, u11) - l1new += einsum("wia,wji->aj", g.bov, x65) * -1 - del x65 - x66 += einsum("wij->wij", g.boo) - x116 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x116 -= einsum("ia,wij->wja", t1, x66) - l1new -= einsum("wia,wji->aj", x3, x66) - del x3 - lu11new -= einsum("ai,wji->waj", l1, x66) - del x66 - x67 += einsum("ab->ab", f.vv) - l1new += einsum("ai,ab->bi", l1, x67) - del x67 - x69 += einsum("ia->ia", f.ov) - l1new -= einsum("ij,ja->ai", x68, x69) - del x68 - del x69 - x70 += einsum("w->w", G) - x70 += einsum("w,xw->x", s1, w) - x70 += einsum("ia,wia->w", t1, gc.bov) - l1new += einsum("w,wai->ai", x70, lu11) - del x70 - x71 = np.zeros((nbos), dtype=types[float]) - x71 += einsum("w->w", s1) - x71 += einsum("ai,wia->w", l1, u11) - l1new += einsum("w,wia->ai", x71, g.bov) - del x71 - x72 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x72 += einsum("wia,wbj->ijab", gc.bov, lu11) - x81 += einsum("ijab->ijab", x72) - del x72 - x75 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x75 -= einsum("ijab,ikca->jkbc", t2, v.oovv) - x76 += einsum("ijab->ijab", x75) - del x75 - x76 -= einsum("iajb->jiab", v.ovov) - x77 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x77 += einsum("abij,ikac->jkbc", l2, x76) - del x76 - x81 += einsum("ijab->ijab", x77) - del x77 - x78 += einsum("ijka->kjia", v.ooov) - x79 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x79 += einsum("ijka,iklb->jlab", x1, x78) - del x78 - x81 -= einsum("ijab->ijab", x79) - del x79 - x80 += einsum("ia->ia", f.ov) - x81 += einsum("ai,jb->jiba", l1, x80) - l2new += einsum("ijab->abij", x81) - l2new -= einsum("ijab->baij", x81) - l2new -= einsum("ijab->abji", x81) - l2new += einsum("ijab->baji", x81) - del x81 - x90 = np.zeros((nocc, nocc), dtype=types[float]) - x90 += einsum("ia,ja->ij", t1, x80) - x91 += einsum("ij->ji", x90) - del x90 - x105 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x105 += einsum("ia,jkib->jkba", x80, x1) - del x1 - x106 -= einsum("ijab->jiba", x105) - del x105 - lu11new -= einsum("ia,wji->waj", x80, x48) - del x48 - del x80 - x86 = np.zeros((nvir, nvir), dtype=types[float]) - x86 += einsum("ijab,ijac->bc", t2, v.oovv) - x87 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x87 -= einsum("ab,caij->jicb", x86, l2) - x88 += einsum("ijab->ijab", x87) * 0.5 - del x87 - l2new += einsum("ijab->abij", x88) * -1 - l2new += einsum("ijab->baij", x88) - del x88 - x118 += einsum("ab->ab", x86) * 0.5 - del x86 - x89 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x89 += einsum("ai,jabc->ijbc", l1, v.ovvv) - x97 += einsum("ijab->ijba", x89) - del x89 - x91 += einsum("ij->ij", f.oo) - x92 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x92 += einsum("ij,abjk->kiab", x91, l2) - del x91 - x97 += einsum("ijab->jiba", x92) - del x92 - l2new += einsum("ijab->abij", x97) - l2new -= einsum("ijab->abji", x97) - del x97 - x102 = np.zeros((nvir, nvir), dtype=types[float]) - x102 += einsum("wia,wib->ab", g.bov, u11) - x103 -= einsum("ab->ba", x102) - x104 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x104 += einsum("ab,acij->ijcb", x103, l2) - del x103 - x106 -= einsum("ijab->jiba", x104) - del x104 - l2new += einsum("ijab->abij", x106) - l2new -= einsum("ijab->baij", x106) - del x106 - x118 += einsum("ab->ba", x102) - del x102 - x107 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x107 += einsum("ai,jkib->jkab", l1, v.ooov) - x109 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x109 -= einsum("ijab->jiab", x107) - del x107 - x108 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x108 += einsum("ab,caij->ijbc", f.vv, l2) - x109 -= einsum("ijab->jiab", x108) - del x108 - l2new -= einsum("ijab->abij", x109) - l2new += einsum("ijab->baij", x109) - del x109 - x110 += einsum("ijka->jika", v.ooov) * -1 - x111 += einsum("ia,jkla->kjli", t1, x110) * -4 - del x110 - x111 += einsum("ijkl->jilk", v.oooo) * 2 - l2new += einsum("abij,klij->balk", l2, x111) * 0.25 - del x111 - x114 = np.zeros((nbos, nbos), dtype=types[float]) - x114 += einsum("wai,xia->wx", lu11, u11) - lu11new += einsum("wx,xia->wai", x114, g.bov) - del x114 - x115 = np.zeros((nbos, nvir, nvir), dtype=types[float]) - x115 += einsum("ia,wbi->wba", t1, lu11) - lu11new += einsum("wab,iacb->wci", x115, v.ovvv) - del x115 - x116 += einsum("wai->wia", g.bvo) - x116 += einsum("ia,wba->wib", t1, g.bvv) - x116 += einsum("wia,jiba->wjb", g.bov, t2) - lu11new += einsum("wia,abij->wbj", x116, l2) - del x116 - x117 += einsum("wai,ijab->wjb", lu11, t2) - lu11new += einsum("wia,ijab->wbj", x117, v.oovv) - del x117 - x118 += einsum("ab->ab", f.vv) * -1 - lu11new += einsum("ab,wai->wbi", x118, lu11) * -1 - del x118 - x121 = np.zeros((nbos, nbos), dtype=types[float]) - x121 += einsum("wx->wx", w) - x121 += einsum("wia,xia->xw", g.bov, u11) - lu11new += einsum("wx,wai->xai", x121, lu11) - del x121 - l1new -= einsum("ai,jaib->bj", l1, v.ovov) - l1new += einsum("ia->ai", f.ov) - l1new += einsum("w,wia->ai", ls1, gc.bov) - l2new += einsum("abij,abcd->dcji", l2, v.vvvv) * 0.5 - l2new += einsum("ijab->baji", v.oovv) - ls1new += einsum("ai,wai->w", l1, g.bvo) - ls1new += einsum("w->w", G) - ls1new += einsum("w,wx->x", ls1, w) - lu11new += einsum("wia->wai", g.bov) - lu11new -= einsum("wai,jaib->wbj", lu11, v.ovov) - lu11new += einsum("ai,wab->wbi", l1, g.bvv) - - return {"l1new": l1new, "l2new": l2new, "ls1new": ls1new, "lu11new": lu11new} - -def make_rdm1_f(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, u11=None, l1=None, l2=None, ls1=None, lu11=None, **kwargs): - # Get boson coupling creation array: - gc = Namespace( - boo=g.boo.transpose(0, 2, 1), - bov=g.bvo.transpose(0, 2, 1), - bvo=g.bov.transpose(0, 2, 1), - bvv=g.bvv.transpose(0, 2, 1), - ) - - delta_oo = np.eye(nocc) - delta_vv = np.eye(nvir) - - # 1RDM - x0 = np.zeros((nocc, nocc), dtype=types[float]) - x0 += einsum("ai,ja->ij", l1, t1) - x5 = np.zeros((nocc, nocc), dtype=types[float]) - x5 += einsum("ij->ij", x0) - rdm1_f_oo = np.zeros((nocc, nocc), dtype=types[float]) - rdm1_f_oo -= einsum("ij->ij", x0) - del x0 - x1 = np.zeros((nocc, nocc), dtype=types[float]) - x1 += einsum("wai,wja->ij", lu11, u11) - x5 += einsum("ij->ij", x1) - rdm1_f_oo -= einsum("ij->ij", x1) - del x1 - x2 = np.zeros((nocc, nocc), dtype=types[float]) - x2 += einsum("abij,kjab->ik", l2, t2) - x5 += einsum("ij->ij", x2) * 0.5 - rdm1_f_vo = np.zeros((nvir, nocc), dtype=types[float]) - rdm1_f_vo += einsum("ia,ij->aj", t1, x5) * -1 - del x5 - rdm1_f_oo += einsum("ij->ij", x2) * -0.5 - del x2 - x3 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x3 += einsum("ia,waj->wji", t1, lu11) - rdm1_f_vo -= einsum("wia,wij->aj", u11, x3) - del x3 - x4 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x4 += einsum("ia,bajk->jkib", t1, l2) - rdm1_f_vo += einsum("ijab,ijkb->ak", t2, x4) * 0.5 - del x4 - rdm1_f_oo += einsum("ij->ji", delta_oo) - rdm1_f_ov = np.zeros((nocc, nvir), dtype=types[float]) - rdm1_f_ov += einsum("ai->ia", l1) - rdm1_f_vo += einsum("w,wia->ai", ls1, u11) - rdm1_f_vo += einsum("ia->ai", t1) - rdm1_f_vo += einsum("ai,jiba->bj", l1, t2) - rdm1_f_vv = np.zeros((nvir, nvir), dtype=types[float]) - rdm1_f_vv += einsum("ai,ib->ba", l1, t1) - rdm1_f_vv += einsum("wai,wib->ba", lu11, u11) - rdm1_f_vv += einsum("abij,ijca->cb", l2, t2) * -0.5 - - rdm1_f = np.block([[rdm1_f_oo, rdm1_f_ov], [rdm1_f_vo, rdm1_f_vv]]) - - return rdm1_f - -def make_rdm2_f(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, u11=None, l1=None, l2=None, ls1=None, lu11=None, **kwargs): - # Get boson coupling creation array: - gc = Namespace( - boo=g.boo.transpose(0, 2, 1), - bov=g.bvo.transpose(0, 2, 1), - bvo=g.bov.transpose(0, 2, 1), - bvv=g.bvv.transpose(0, 2, 1), - ) - - delta_oo = np.eye(nocc) - delta_vv = np.eye(nvir) - - # 2RDM - x0 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x0 += einsum("abij,klab->ijkl", l2, t2) - x20 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x20 += einsum("ijkl->jilk", x0) * -1 - x48 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x48 += einsum("ijkl->jilk", x0) * -1 - x49 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x49 += einsum("ijkl->jilk", x0) * -1 - rdm2_f_oooo = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - rdm2_f_oooo += einsum("ijkl->jilk", x0) * 0.5 - del x0 - x1 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x1 += einsum("ia,bajk->jkib", t1, l2) - x2 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x2 += einsum("ia,jkla->jkil", t1, x1) - x20 += einsum("ijkl->ijlk", x2) * 2 - x21 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x21 += einsum("ia,ijkl->jkla", t1, x20) * 0.5 - del x20 - rdm2_f_ovoo = np.zeros((nocc, nvir, nocc, nocc), dtype=types[float]) - rdm2_f_ovoo += einsum("ijka->iakj", x21) * -1 - rdm2_f_vooo = np.zeros((nvir, nocc, nocc, nocc), dtype=types[float]) - rdm2_f_vooo += einsum("ijka->aikj", x21) - del x21 - x48 += einsum("ijkl->ijlk", x2) * 2.0000000000000013 - rdm2_f_vvoo = np.zeros((nvir, nvir, nocc, nocc), dtype=types[float]) - rdm2_f_vvoo += einsum("ijab,ijkl->balk", t2, x48) * -0.25 - del x48 - x49 += einsum("ijkl->ijlk", x2) * 1.9999999999999987 - x50 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x50 += einsum("ia,ijkl->jlka", t1, x49) * -1 - del x49 - rdm2_f_vvoo += einsum("ia,ijkb->abkj", t1, x50) * -0.5000000000000003 - del x50 - rdm2_f_oooo -= einsum("ijkl->ijlk", x2) - del x2 - x9 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x9 -= einsum("ijab,kjlb->klia", t2, x1) - x15 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x15 += einsum("ijka->ijka", x9) - x25 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x25 -= einsum("ijka->ijka", x9) - x33 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x33 += einsum("ia,ijkb->jkab", t1, x9) - del x9 - x38 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x38 -= einsum("ijab->ijab", x33) - del x33 - x16 = np.zeros((nocc, nvir), dtype=types[float]) - x16 -= einsum("ijab,ijkb->ka", t2, x1) - x18 = np.zeros((nocc, nvir), dtype=types[float]) - x18 += einsum("ia->ia", x16) - del x16 - x28 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x28 += einsum("ia,jikb->jkba", t1, x1) - x56 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x56 -= einsum("ia,ijbc->jbca", t1, x28) - rdm2_f_vvov = np.zeros((nvir, nvir, nocc, nvir), dtype=types[float]) - rdm2_f_vvov -= einsum("iabc->cbia", x56) - rdm2_f_vvvo = np.zeros((nvir, nvir, nvir, nocc), dtype=types[float]) - rdm2_f_vvvo += einsum("iabc->cbai", x56) - del x56 - rdm2_f_ovov = np.zeros((nocc, nvir, nocc, nvir), dtype=types[float]) - rdm2_f_ovov += einsum("ijab->ibja", x28) - rdm2_f_ovvo = np.zeros((nocc, nvir, nvir, nocc), dtype=types[float]) - rdm2_f_ovvo -= einsum("ijab->ibaj", x28) - rdm2_f_voov = np.zeros((nvir, nocc, nocc, nvir), dtype=types[float]) - rdm2_f_voov -= einsum("ijab->bija", x28) - rdm2_f_vovo = np.zeros((nvir, nocc, nvir, nocc), dtype=types[float]) - rdm2_f_vovo += einsum("ijab->biaj", x28) - del x28 - x55 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x55 += einsum("ijab,ijkc->kcab", t2, x1) - rdm2_f_vvov += einsum("iabc->bcia", x55) * 0.5 - rdm2_f_vvvo += einsum("iabc->bcai", x55) * -0.5 - del x55 - rdm2_f_ooov = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - rdm2_f_ooov -= einsum("ijka->jika", x1) - rdm2_f_oovo = np.zeros((nocc, nocc, nvir, nocc), dtype=types[float]) - rdm2_f_oovo += einsum("ijka->jiak", x1) - del x1 - x3 = np.zeros((nocc, nocc), dtype=types[float]) - x3 += einsum("ai,ja->ij", l1, t1) - x14 = np.zeros((nocc, nocc), dtype=types[float]) - x14 += einsum("ij->ij", x3) - x23 = np.zeros((nocc, nvir), dtype=types[float]) - x23 += einsum("ia,ij->ja", t1, x3) - x24 = np.zeros((nocc, nvir), dtype=types[float]) - x24 -= einsum("ia->ia", x23) - del x23 - x43 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x43 += einsum("ij,kiab->jkab", x3, t2) - x45 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x45 -= einsum("ijab->ijba", x43) - del x43 - rdm2_f_oooo -= einsum("ij,kl->jkil", delta_oo, x3) - rdm2_f_oooo += einsum("ij,kl->kjil", delta_oo, x3) - rdm2_f_oooo += einsum("ij,kl->jkli", delta_oo, x3) - rdm2_f_oooo -= einsum("ij,kl->kjli", delta_oo, x3) - del x3 - x4 = np.zeros((nocc, nocc), dtype=types[float]) - x4 += einsum("abij,kjab->ik", l2, t2) - x17 = np.zeros((nocc, nvir), dtype=types[float]) - x17 += einsum("ia,ij->ja", t1, x4) - x18 += einsum("ia->ia", x17) - del x17 - x19 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x19 += einsum("ij,ka->jika", delta_oo, x18) * 0.5 - rdm2_f_vooo += einsum("ij,ka->aijk", delta_oo, x18) * 0.5 - rdm2_f_vooo += einsum("ij,ka->aikj", delta_oo, x18) * -0.5 - rdm2_f_vvoo += einsum("ia,jb->abij", t1, x18) * -0.5000000000000003 - rdm2_f_vvoo += einsum("ia,jb->baij", t1, x18) * 0.5000000000000003 - rdm2_f_vvoo += einsum("ia,jb->abji", t1, x18) * 0.5000000000000003 - rdm2_f_vvoo += einsum("ia,jb->baji", t1, x18) * -0.5000000000000003 - del x18 - x19 += einsum("ia,jk->jika", t1, x4) * -0.5 - rdm2_f_ovoo += einsum("ijka->iajk", x19) * -1 - rdm2_f_ovoo += einsum("ijka->iakj", x19) - del x19 - x47 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x47 += einsum("ij,kiab->kjab", x4, t2) - rdm2_f_vvoo += einsum("ijab->abij", x47) * -0.5 - rdm2_f_vvoo += einsum("ijab->abji", x47) * 0.5 - del x47 - rdm2_f_oooo += einsum("ij,kl->ikjl", delta_oo, x4) * -0.5 - rdm2_f_oooo += einsum("ij,kl->iklj", delta_oo, x4) * 0.5 - rdm2_f_oooo += einsum("ij,kl->kjil", delta_oo, x4) * 0.5 - rdm2_f_oooo += einsum("ij,kl->kjli", delta_oo, x4) * -0.5 - rdm2_f_vooo += einsum("ia,jk->ajik", t1, x4) * -0.5 - rdm2_f_vooo += einsum("ia,jk->ajki", t1, x4) * 0.5 - del x4 - x5 = np.zeros((nocc, nocc), dtype=types[float]) - x5 += einsum("wai,wja->ij", lu11, u11) - x12 = np.zeros((nocc, nvir), dtype=types[float]) - x12 += einsum("ia,ij->ja", t1, x5) - x13 = np.zeros((nocc, nvir), dtype=types[float]) - x13 += einsum("ia->ia", x12) - del x12 - x14 += einsum("ij->ij", x5) - x15 -= einsum("ia,jk->jika", t1, x14) - x25 += einsum("ia,jk->jika", t1, x14) - x51 = np.zeros((nocc, nvir), dtype=types[float]) - x51 += einsum("ia,ij->ja", t1, x14) - del x14 - x52 = np.zeros((nocc, nvir), dtype=types[float]) - x52 += einsum("ia->ia", x51) - x53 = np.zeros((nocc, nvir), dtype=types[float]) - x53 += einsum("ia->ia", x51) - del x51 - x44 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x44 += einsum("ij,kiab->kjab", x5, t2) - x45 += einsum("ijab->ijba", x44) - del x44 - rdm2_f_vvoo -= einsum("ijab->baij", x45) - rdm2_f_vvoo += einsum("ijab->baji", x45) - del x45 - rdm2_f_oooo -= einsum("ij,kl->ikjl", delta_oo, x5) - rdm2_f_oooo += einsum("ij,kl->iklj", delta_oo, x5) - rdm2_f_oooo += einsum("ij,kl->kjil", delta_oo, x5) - rdm2_f_oooo -= einsum("ij,kl->kjli", delta_oo, x5) - del x5 - x6 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x6 += einsum("ai,jkba->ijkb", l1, t2) - x39 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x39 += einsum("ia,ijkb->jkab", t1, x6) - x42 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x42 += einsum("ijab->ijab", x39) - del x39 - rdm2_f_ovoo -= einsum("ijka->iakj", x6) - rdm2_f_vooo += einsum("ijka->aikj", x6) - del x6 - x7 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x7 += einsum("ia,waj->wji", t1, lu11) - x8 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x8 += einsum("wia,wjk->jkia", u11, x7) - x15 += einsum("ijka->ijka", x8) - x25 -= einsum("ijka->ijka", x8) - del x8 - rdm2_f_vooo -= einsum("ijka->aijk", x25) - rdm2_f_vooo += einsum("ijka->aikj", x25) - del x25 - x11 = np.zeros((nocc, nvir), dtype=types[float]) - x11 += einsum("wia,wij->ja", u11, x7) - x13 += einsum("ia->ia", x11) - x52 += einsum("ia->ia", x11) - x53 += einsum("ia->ia", x11) - del x11 - x35 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x35 += einsum("ia,wij->wja", t1, x7) - del x7 - x36 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x36 -= einsum("wia->wia", x35) - del x35 - x10 = np.zeros((nocc, nvir), dtype=types[float]) - x10 += einsum("ai,jiba->jb", l1, t2) - x13 -= einsum("ia->ia", x10) - x15 += einsum("ij,ka->jika", delta_oo, x13) - rdm2_f_ovoo -= einsum("ijka->iajk", x15) - rdm2_f_ovoo += einsum("ijka->iakj", x15) - del x15 - rdm2_f_vooo += einsum("ij,ka->aijk", delta_oo, x13) - rdm2_f_vooo -= einsum("ij,ka->aikj", delta_oo, x13) - del x13 - x38 += einsum("ia,jb->ijab", t1, x10) - del x10 - x22 = np.zeros((nocc, nvir), dtype=types[float]) - x22 += einsum("w,wia->ia", ls1, u11) - x24 += einsum("ia->ia", x22) - x52 -= einsum("ia->ia", x22) - x53 -= einsum("ia->ia", x22) - del x22 - rdm2_f_vvoo += einsum("ia,jb->abji", t1, x53) - rdm2_f_vvoo -= einsum("ia,jb->baji", t1, x53) - del x53 - x24 += einsum("ia->ia", t1) - rdm2_f_ovoo -= einsum("ij,ka->jaki", delta_oo, x24) - rdm2_f_ovoo += einsum("ij,ka->jaik", delta_oo, x24) - rdm2_f_vooo -= einsum("ij,ka->ajik", delta_oo, x24) - rdm2_f_vooo += einsum("ij,ka->ajki", delta_oo, x24) - del x24 - x26 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x26 += einsum("wai,wjb->ijab", lu11, u11) - rdm2_f_ovov -= einsum("ijab->ibja", x26) - rdm2_f_ovvo += einsum("ijab->ibaj", x26) - rdm2_f_voov += einsum("ijab->bija", x26) - rdm2_f_vovo -= einsum("ijab->biaj", x26) - del x26 - x27 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x27 -= einsum("abij,kjca->ikbc", l2, t2) - x41 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x41 += einsum("ijab,jkbc->ikac", t2, x27) - x42 += einsum("ijab->ijab", x41) - del x41 - x60 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x60 += einsum("ia,ijbc->jbac", t1, x27) - x62 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x62 -= einsum("iabc->iabc", x60) - del x60 - rdm2_f_ovov -= einsum("ijab->ibja", x27) - rdm2_f_ovvo += einsum("ijab->ibaj", x27) - rdm2_f_voov += einsum("ijab->bija", x27) - rdm2_f_vovo -= einsum("ijab->biaj", x27) - del x27 - x29 = np.zeros((nvir, nvir), dtype=types[float]) - x29 += einsum("ai,ib->ab", l1, t1) - x32 = np.zeros((nvir, nvir), dtype=types[float]) - x32 += einsum("ab->ab", x29) - x61 = np.zeros((nvir, nvir), dtype=types[float]) - x61 += einsum("ab->ab", x29) - del x29 - x30 = np.zeros((nvir, nvir), dtype=types[float]) - x30 += einsum("wai,wib->ab", lu11, u11) - x32 += einsum("ab->ab", x30) - x40 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x40 += einsum("ab,ijca->ijcb", x30, t2) - x42 -= einsum("ijab->ijab", x40) - del x40 - rdm2_f_vvoo -= einsum("ijab->abji", x42) - rdm2_f_vvoo += einsum("ijab->baji", x42) - del x42 - x61 += einsum("ab->ab", x30) - del x30 - x62 += einsum("ia,bc->ibac", t1, x61) - del x61 - x31 = np.zeros((nvir, nvir), dtype=types[float]) - x31 -= einsum("abij,ijca->bc", l2, t2) - x32 += einsum("ab->ab", x31) * 0.5 - rdm2_f_ovov += einsum("ij,ab->jbia", delta_oo, x32) - rdm2_f_ovvo += einsum("ij,ab->jbai", delta_oo, x32) * -1 - rdm2_f_voov += einsum("ij,ab->bjia", delta_oo, x32) * -1 - rdm2_f_vovo += einsum("ij,ab->bjai", delta_oo, x32) - del x32 - x46 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x46 += einsum("ab,ijca->ijcb", x31, t2) - rdm2_f_vvoo += einsum("ijab->abji", x46) * 0.5 - rdm2_f_vvoo += einsum("ijab->baji", x46) * -0.5 - del x46 - rdm2_f_vvov += einsum("ia,bc->acib", t1, x31) * 0.5 - rdm2_f_vvov += einsum("ia,bc->caib", t1, x31) * -0.5 - rdm2_f_vvvo += einsum("ia,bc->acbi", t1, x31) * -0.5 - rdm2_f_vvvo += einsum("ia,bc->cabi", t1, x31) * 0.5 - del x31 - x34 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x34 += einsum("wai,jiba->wjb", lu11, t2) - x36 += einsum("wia->wia", x34) - del x34 - x37 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x37 += einsum("wia,wjb->jiba", u11, x36) - del x36 - x38 += einsum("ijab->ijab", x37) - del x37 - rdm2_f_vvoo += einsum("ijab->abij", x38) - rdm2_f_vvoo -= einsum("ijab->baij", x38) - rdm2_f_vvoo -= einsum("ijab->abji", x38) - rdm2_f_vvoo += einsum("ijab->baji", x38) - del x38 - x52 -= einsum("ia->ia", t1) - rdm2_f_vvoo += einsum("ia,jb->baij", t1, x52) - rdm2_f_vvoo -= einsum("ia,jb->abij", t1, x52) - del x52 - x54 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x54 += einsum("ia,bcji->jbca", t1, l2) - rdm2_f_ovvv = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - rdm2_f_ovvv -= einsum("iabc->icba", x54) - rdm2_f_vovv = np.zeros((nvir, nocc, nvir, nvir), dtype=types[float]) - rdm2_f_vovv += einsum("iabc->ciba", x54) - rdm2_f_vvvv = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) - rdm2_f_vvvv -= einsum("ia,ibcd->adcb", t1, x54) - del x54 - x57 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x57 += einsum("ai,jibc->jabc", l1, t2) - rdm2_f_vvov -= einsum("iabc->cbia", x57) - rdm2_f_vvvo += einsum("iabc->cbai", x57) - del x57 - x58 = np.zeros((nbos, nvir, nvir), dtype=types[float]) - x58 += einsum("ia,wbi->wba", t1, lu11) - x59 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x59 += einsum("wia,wbc->ibca", u11, x58) - del x58 - x62 -= einsum("iabc->iabc", x59) - del x59 - rdm2_f_vvov += einsum("iabc->bcia", x62) - rdm2_f_vvov -= einsum("iabc->cbia", x62) - rdm2_f_vvvo -= einsum("iabc->bcai", x62) - rdm2_f_vvvo += einsum("iabc->cbai", x62) - del x62 - rdm2_f_oooo += einsum("ij,kl->jlik", delta_oo, delta_oo) - rdm2_f_oooo -= einsum("ij,kl->lijk", delta_oo, delta_oo) - rdm2_f_ooov += einsum("ij,ak->jkia", delta_oo, l1) - rdm2_f_ooov -= einsum("ij,ak->kjia", delta_oo, l1) - rdm2_f_oovo -= einsum("ij,ak->jkai", delta_oo, l1) - rdm2_f_oovo += einsum("ij,ak->kjai", delta_oo, l1) - rdm2_f_oovv = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - rdm2_f_oovv += einsum("abij->jiba", l2) - rdm2_f_ovov -= einsum("ai,jb->ibja", l1, t1) - rdm2_f_ovvo += einsum("ai,jb->ibaj", l1, t1) - rdm2_f_voov += einsum("ai,jb->bija", l1, t1) - rdm2_f_vovo -= einsum("ai,jb->biaj", l1, t1) - rdm2_f_vvoo += einsum("ijab->baji", t2) - rdm2_f_vvvv += einsum("abij,ijcd->dcba", l2, t2) * 0.5 - - rdm2_f = pack_2e(rdm2_f_oooo, rdm2_f_ooov, rdm2_f_oovo, rdm2_f_ovoo, rdm2_f_vooo, rdm2_f_oovv, rdm2_f_ovov, rdm2_f_ovvo, rdm2_f_voov, rdm2_f_vovo, rdm2_f_vvoo, rdm2_f_ovvv, rdm2_f_vovv, rdm2_f_vvov, rdm2_f_vvvo, rdm2_f_vvvv) - - rdm2_f = rdm2_f.transpose(0, 2, 1, 3) - - return rdm2_f - -def make_sing_b_dm(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, u11=None, l1=None, l2=None, ls1=None, lu11=None, **kwargs): - # Get boson coupling creation array: - gc = Namespace( - boo=g.boo.transpose(0, 2, 1), - bov=g.bvo.transpose(0, 2, 1), - bvo=g.bov.transpose(0, 2, 1), - bvv=g.bvv.transpose(0, 2, 1), - ) - - # Single boson DM - dm_b_cre = np.zeros((nbos), dtype=types[float]) - dm_b_cre += einsum("w->w", ls1) - dm_b_des = np.zeros((nbos), dtype=types[float]) - dm_b_des += einsum("ai,wia->w", l1, u11) - dm_b_des += einsum("w->w", s1) - - dm_b = np.array([dm_b_cre, dm_b_des]) - - return dm_b - -def make_rdm1_b(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, u11=None, l1=None, l2=None, ls1=None, lu11=None, **kwargs): - # Get boson coupling creation array: - gc = Namespace( - boo=g.boo.transpose(0, 2, 1), - bov=g.bvo.transpose(0, 2, 1), - bvo=g.bov.transpose(0, 2, 1), - bvv=g.bvv.transpose(0, 2, 1), - ) - - # Boson 1RDM - rdm1_b = np.zeros((nbos, nbos), dtype=types[float]) - rdm1_b += einsum("wai,xia->wx", lu11, u11) - rdm1_b += einsum("w,x->wx", ls1, s1) - - return rdm1_b - -def make_eb_coup_rdm(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, u11=None, l1=None, l2=None, ls1=None, lu11=None, **kwargs): - # Get boson coupling creation array: - gc = Namespace( - boo=g.boo.transpose(0, 2, 1), - bov=g.bvo.transpose(0, 2, 1), - bvo=g.bov.transpose(0, 2, 1), - bvv=g.bvv.transpose(0, 2, 1), - ) - - delta_oo = np.eye(nocc) - delta_vv = np.eye(nvir) - - # Boson-fermion coupling RDM - x0 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x0 += einsum("ia,waj->wji", t1, lu11) - x17 = np.zeros((nocc, nvir), dtype=types[float]) - x17 += einsum("wia,wij->ja", u11, x0) - rdm_eb_cre_oo = np.zeros((nbos, nocc, nocc), dtype=types[float]) - rdm_eb_cre_oo -= einsum("wij->wji", x0) - rdm_eb_cre_ov = np.zeros((nbos, nocc, nvir), dtype=types[float]) - rdm_eb_cre_ov -= einsum("ia,wij->wja", t1, x0) - del x0 - x1 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x1 += einsum("ai,wja->wij", l1, u11) - x14 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x14 += einsum("wij->wij", x1) - rdm_eb_des_oo = np.zeros((nbos, nocc, nocc), dtype=types[float]) - rdm_eb_des_oo -= einsum("wij->wji", x1) - del x1 - x2 = np.zeros((nbos), dtype=types[float]) - x2 += einsum("ai,wia->w", l1, u11) - rdm_eb_des_oo += einsum("w,ij->wji", x2, delta_oo) - rdm_eb_des_ov = np.zeros((nbos, nocc, nvir), dtype=types[float]) - rdm_eb_des_ov += einsum("w,ia->wia", x2, t1) - del x2 - x3 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x3 -= einsum("wia,abji->wjb", u11, l2) - x4 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x4 += einsum("ia,wja->wji", t1, x3) - x14 += einsum("wij->wij", x4) - rdm_eb_des_ov -= einsum("ia,wij->wja", t1, x14) - del x14 - rdm_eb_des_oo -= einsum("wij->wji", x4) - del x4 - rdm_eb_des_ov += einsum("wia,jiba->wjb", x3, t2) - rdm_eb_des_vo = np.zeros((nbos, nvir, nocc), dtype=types[float]) - rdm_eb_des_vo += einsum("wia->wai", x3) - rdm_eb_des_vv = np.zeros((nbos, nvir, nvir), dtype=types[float]) - rdm_eb_des_vv += einsum("ia,wib->wba", t1, x3) - del x3 - x5 = np.zeros((nocc, nocc), dtype=types[float]) - x5 += einsum("ai,ja->ij", l1, t1) - x8 = np.zeros((nocc, nocc), dtype=types[float]) - x8 += einsum("ij->ij", x5) - x13 = np.zeros((nocc, nocc), dtype=types[float]) - x13 += einsum("ij->ij", x5) - x16 = np.zeros((nocc, nocc), dtype=types[float]) - x16 += einsum("ij->ij", x5) * 1.9999999999999987 - del x5 - x6 = np.zeros((nocc, nocc), dtype=types[float]) - x6 += einsum("wai,wja->ij", lu11, u11) - x8 += einsum("ij->ij", x6) - x13 += einsum("ij->ij", x6) - x16 += einsum("ij->ij", x6) * 1.9999999999999987 - del x6 - x7 = np.zeros((nocc, nocc), dtype=types[float]) - x7 += einsum("abij,kjab->ik", l2, t2) - x8 += einsum("ij->ij", x7) * 0.5 - x13 += einsum("ij->ij", x7) * 0.5 - rdm_eb_des_ov += einsum("ij,wia->wja", x13, u11) * -1 - del x13 - x16 += einsum("ij->ij", x7) - del x7 - x17 += einsum("ia,ij->ja", t1, x16) * 0.5000000000000003 - del x16 - x8 += einsum("ij->ji", delta_oo) * -1 - rdm_eb_des_oo += einsum("w,ij->wji", s1, x8) * -1 - del x8 - x9 = np.zeros((nbos, nbos), dtype=types[float]) - x9 += einsum("wai,xia->wx", lu11, u11) - rdm_eb_des_ov += einsum("wx,wia->xia", x9, u11) - del x9 - x10 = np.zeros((nvir, nvir), dtype=types[float]) - x10 += einsum("wai,wib->ab", lu11, u11) - x12 = np.zeros((nvir, nvir), dtype=types[float]) - x12 += einsum("ab->ab", x10) * 2 - x18 = np.zeros((nvir, nvir), dtype=types[float]) - x18 += einsum("ab->ab", x10) - del x10 - x11 = np.zeros((nvir, nvir), dtype=types[float]) - x11 -= einsum("abij,ijca->bc", l2, t2) - x12 += einsum("ab->ab", x11) - rdm_eb_des_ov += einsum("ab,wia->wib", x12, u11) * -0.5 - del x12 - x18 += einsum("ab->ab", x11) * 0.5 - del x11 - x15 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x15 += einsum("ia,bajk->jkib", t1, l2) - x17 += einsum("ijab,ijkb->ka", t2, x15) * -0.5000000000000003 - del x15 - x17 += einsum("ia->ia", t1) * -1 - x17 += einsum("w,wia->ia", ls1, u11) * -1 - x17 += einsum("ai,jiba->jb", l1, t2) * -1 - rdm_eb_des_ov += einsum("w,ia->wia", s1, x17) * -1 - del x17 - x18 += einsum("ai,ib->ab", l1, t1) - rdm_eb_des_vv += einsum("w,ab->wab", s1, x18) - del x18 - rdm_eb_cre_oo += einsum("w,ij->wji", ls1, delta_oo) - rdm_eb_cre_ov += einsum("w,ia->wia", ls1, t1) - rdm_eb_cre_ov += einsum("wai,jiba->wjb", lu11, t2) - rdm_eb_cre_vo = np.zeros((nbos, nvir, nocc), dtype=types[float]) - rdm_eb_cre_vo += einsum("wai->wai", lu11) - rdm_eb_cre_vv = np.zeros((nbos, nvir, nvir), dtype=types[float]) - rdm_eb_cre_vv += einsum("ia,wbi->wba", t1, lu11) - rdm_eb_des_ov += einsum("wia->wia", u11) - rdm_eb_des_vo += einsum("w,ai->wai", s1, l1) - rdm_eb_des_vv += einsum("ai,wib->wab", l1, u11) - - rdm_eb = np.array([ - np.block([[rdm_eb_cre_oo, rdm_eb_cre_ov], [rdm_eb_cre_vo, rdm_eb_cre_vv]]), - np.block([[rdm_eb_des_oo, rdm_eb_des_ov], [rdm_eb_des_vo, rdm_eb_des_vv]]), - ]) - - return rdm_eb - diff --git a/ebcc/codegen/GCCSDt.py b/ebcc/codegen/GCCSDt.py deleted file mode 100644 index d5152aba..00000000 --- a/ebcc/codegen/GCCSDt.py +++ /dev/null @@ -1,1550 +0,0 @@ -# Code generated for ebcc. - -from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, Namespace -from ebcc.precision import types - -def energy(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, t3=None, **kwargs): - # energy - e_cc = 0 - e_cc += einsum(f.ov, (0, 1), t1, (0, 1), ()) - x0 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x0 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - x0 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) * 2.0 - e_cc += einsum(v.oovv, (0, 1, 2, 3), x0, (0, 1, 2, 3), ()) * 0.25 - del x0 - - return e_cc - -def update_amps(f=None, v=None, space=None, t1=None, t2=None, t3=None, **kwargs): - nocc = space.ncocc - nvir = space.ncvir - naocc = space.naocc - navir = space.navir - so = np.ones((nocc,), dtype=bool) - sv = np.ones((nvir,), dtype=bool) - sO = space.active[space.correlated][space.occupied[space.correlated]] - sV = space.active[space.correlated][space.virtual[space.correlated]] - sOf = np.ones((naocc,), dtype=bool) - sVf = np.ones((navir,), dtype=bool) - - # T amplitudes - t1new = np.zeros((nocc, nvir), dtype=types[float]) - t1new[np.ix_(so,sv)] += einsum(f.ov, (0, 1), (0, 1)) - t1new[np.ix_(so,sv)] += einsum(f.oo, (0, 1), t1[np.ix_(so,sv)], (1, 2), (0, 2)) * -1.0 - t1new[np.ix_(so,sv)] += einsum(f.vv, (0, 1), t1[np.ix_(so,sv)], (2, 1), (2, 0)) - t1new[np.ix_(so,sv)] += einsum(f.ov, (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 0, 3, 1), (2, 3)) - t1new[np.ix_(so,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), v.ovov, (2, 1, 0, 3), (2, 3)) * -1.0 - t1new[np.ix_(so,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.ooov, (0, 1, 4, 3), (4, 2)) * -0.5 - t1new[np.ix_(so,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.ovvv, (1, 4, 2, 3), (0, 4)) * -0.5 - t1new[np.ix_(so,sv)] += einsum(v.oOvV, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 0, 1, 5, 2, 3), (4, 5)) * 0.25 - t2new = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - t2new[np.ix_(so,so,sv,sv)] += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new[np.ix_(so,so,sv,sv)] += einsum(f.OV, (0, 1), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) - t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.oooo, (4, 5, 0, 1), (4, 5, 2, 3)) * 0.5 - t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.vvvv, (4, 5, 2, 3), (0, 1, 4, 5)) * 0.5 - t3new = np.zeros((nocc, nocc, naocc, nvir, nvir, navir), dtype=types[float]) - t3new += einsum(f.OO, (0, 1), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (2, 3, 1, 4, 5, 6), (2, 3, 0, 4, 5, 6)) * -1.0 - t3new += einsum(f.VV, (0, 1), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 6, 0)) - t3new += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), v.oooV, (4, 5, 0, 6), (4, 5, 1, 2, 3, 6)) - t3new += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), v.vvvO, (4, 5, 2, 6), (0, 1, 6, 4, 5, 3)) * -1.0 - t3new += einsum(v.oooo, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (2, 3, 4, 5, 6, 7), (0, 1, 4, 5, 6, 7)) * 0.5 - t3new += einsum(v.OVOV, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 5, 2, 6, 7, 1), (4, 5, 0, 6, 7, 3)) * -1.0 - t3new += einsum(v.vvvv, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 5, 6, 2, 3, 7), (4, 5, 6, 0, 1, 7)) * 0.5 - x0 = np.zeros((nocc, nocc), dtype=types[float]) - x0 += einsum(f.ov, (0, 1), t1[np.ix_(so,sv)], (2, 1), (0, 2)) - t1new[np.ix_(so,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), x0, (0, 2), (2, 1)) * -1.0 - x1 = np.zeros((nocc, nocc), dtype=types[float]) - x1 += einsum(t1[np.ix_(so,sv)], (0, 1), v.ooov, (2, 0, 3, 1), (2, 3)) - t1new[np.ix_(so,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), x1, (0, 2), (2, 1)) * -1.0 - x2 = np.zeros((nvir, nvir), dtype=types[float]) - x2 += einsum(t1[np.ix_(so,sv)], (0, 1), v.ovvv, (0, 2, 3, 1), (2, 3)) - t1new[np.ix_(so,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), x2, (2, 1), (0, 2)) * -1.0 - x3 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x3 += einsum(t1[np.ix_(so,sv)], (0, 1), v.oovv, (2, 3, 4, 1), (0, 2, 3, 4)) - t1new[np.ix_(so,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x3, (4, 0, 1, 3), (4, 2)) * 0.5 - x4 = np.zeros((nocc, nocc), dtype=types[float]) - x4 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.oovv, (4, 1, 2, 3), (0, 4)) - t1new[np.ix_(so,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), x4, (2, 0), (2, 1)) * -0.5 - x5 = np.zeros((nocc, nvir), dtype=types[float]) - x5 += einsum(t1[np.ix_(so,sv)], (0, 1), v.oovv, (2, 0, 3, 1), (2, 3)) - t1new[np.ix_(so,sv)] += einsum(x5, (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 0, 3, 1), (2, 3)) - x6 = np.zeros((nocc, nocc), dtype=types[float]) - x6 += einsum(t1[np.ix_(so,sv)], (0, 1), x5, (2, 1), (0, 2)) - t1new[np.ix_(so,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), x6, (2, 0), (2, 1)) * -1.0 - x7 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x7 += einsum(f.oo, (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 1, 3, 4), (0, 2, 3, 4)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x7, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(x7, (0, 1, 2, 3), (1, 0, 3, 2)) - del x7 - x8 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x8 += einsum(f.vv, (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 1), (2, 3, 0, 4)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x8, (0, 1, 2, 3), (1, 0, 2, 3)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x8, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x8 - x9 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x9 += einsum(t1[np.ix_(so,sv)], (0, 1), v.ooov, (2, 3, 0, 4), (2, 3, 1, 4)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x9, (0, 1, 2, 3), (1, 0, 2, 3)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x9, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x9 - x10 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x10 += einsum(t1[np.ix_(so,sv)], (0, 1), v.ovvv, (2, 1, 3, 4), (0, 2, 3, 4)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x10, (0, 1, 2, 3), (0, 1, 3, 2)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x10, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x10 - x11 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x11 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.ovov, (4, 3, 1, 5), (0, 4, 2, 5)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x11, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(x11, (0, 1, 2, 3), (0, 1, 3, 2)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x11, (0, 1, 2, 3), (1, 0, 2, 3)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x11, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x11 - x12 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x12 += einsum(v.oOoV, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 0, 1, 5, 6, 3), (4, 2, 5, 6)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x12, (0, 1, 2, 3), (1, 0, 3, 2)) * -0.5 - t2new[np.ix_(so,so,sv,sv)] += einsum(x12, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.5 - del x12 - x13 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x13 += einsum(v.vOvV, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 5, 1, 6, 2, 3), (4, 5, 6, 0)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x13, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.5 - t2new[np.ix_(so,so,sv,sv)] += einsum(x13, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - del x13 - x14 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x14 += einsum(x0, (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 0, 3, 4), (1, 2, 3, 4)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x14, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(x14, (0, 1, 2, 3), (1, 0, 3, 2)) - del x14 - x15 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x15 += einsum(f.ov, (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 1), (0, 2, 3, 4)) - x16 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x16 += einsum(t1[np.ix_(so,sv)], (0, 1), x15, (0, 2, 3, 4), (2, 3, 1, 4)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x16, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x16, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x16 - x17 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x17 += einsum(t1[np.ix_(so,sv)], (0, 1), v.oooo, (2, 3, 4, 0), (2, 3, 4, 1)) - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), x17, (2, 3, 0, 4), (2, 3, 1, 4)) - del x17 - x18 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x18 += einsum(t1[np.ix_(so,sv)], (0, 1), v.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) - x19 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x19 += einsum(t1[np.ix_(so,sv)], (0, 1), x18, (2, 0, 3, 4), (2, 3, 1, 4)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x19, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x19, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(x19, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(x19, (0, 1, 2, 3), (1, 0, 3, 2)) - del x19 - x20 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x20 += einsum(t1[np.ix_(so,sv)], (0, 1), v.vvvv, (2, 3, 4, 1), (0, 2, 3, 4)) - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), x20, (2, 3, 4, 1), (0, 2, 4, 3)) * -1.0 - del x20 - x21 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x21 += einsum(t1[np.ix_(so,sv)], (0, 1), v.ooov, (2, 3, 4, 1), (0, 2, 3, 4)) - x22 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x22 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x21, (4, 0, 1, 5), (4, 5, 2, 3)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x22, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.5 - t2new[np.ix_(so,so,sv,sv)] += einsum(x22, (0, 1, 2, 3), (1, 0, 3, 2)) * -0.5 - del x22 - x23 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x23 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.ooov, (4, 1, 5, 3), (0, 4, 5, 2)) - x24 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x24 += einsum(t1[np.ix_(so,sv)], (0, 1), x23, (2, 0, 3, 4), (2, 3, 1, 4)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x24, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x24, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(x24, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(x24, (0, 1, 2, 3), (1, 0, 3, 2)) - del x24 - x25 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x25 += einsum(x1, (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 0, 3, 4), (2, 1, 3, 4)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(x25, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(x25, (0, 1, 2, 3), (1, 0, 3, 2)) - del x25 - x26 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x26 += einsum(t1[np.ix_(so,sv)], (0, 1), v.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) - x27 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x27 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x26, (4, 1, 5, 3), (4, 0, 2, 5)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(x27, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(x27, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x27, (0, 1, 2, 3), (1, 0, 3, 2)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x27, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x27 - x28 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x28 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.ovvv, (4, 5, 2, 3), (0, 1, 4, 5)) - x29 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x29 += einsum(t1[np.ix_(so,sv)], (0, 1), x28, (2, 3, 0, 4), (2, 3, 1, 4)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x29, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - t2new[np.ix_(so,so,sv,sv)] += einsum(x29, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.5 - del x29 - x30 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x30 += einsum(x2, (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 1), (2, 3, 4, 0)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(x30, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(x30, (0, 1, 2, 3), (0, 1, 2, 3)) - del x30 - x31 = np.zeros((naocc, navir, nocc, nocc), dtype=types[float]) - x31 += einsum(t1[np.ix_(so,sv)], (0, 1), v.oOvV, (2, 3, 1, 4), (3, 4, 0, 2)) - x32 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x32 += einsum(x31, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 3, 0, 5, 6, 1), (2, 4, 5, 6)) - del x31 - t2new[np.ix_(so,so,sv,sv)] += einsum(x32, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.5 - t2new[np.ix_(so,so,sv,sv)] += einsum(x32, (0, 1, 2, 3), (1, 0, 3, 2)) * 0.5 - del x32 - x33 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x33 += einsum(v.oOvV, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 5, 1, 6, 2, 3), (4, 5, 0, 6)) - x34 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x34 += einsum(t1[np.ix_(so,sv)], (0, 1), x33, (2, 3, 0, 4), (2, 3, 1, 4)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x34, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - t2new[np.ix_(so,so,sv,sv)] += einsum(x34, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.5 - del x34 - x35 = np.zeros((naocc, navir), dtype=types[float]) - x35 += einsum(t1[np.ix_(so,sv)], (0, 1), v.oOvV, (0, 2, 1, 3), (2, 3)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x35, (0, 1), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) - del x35 - x36 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x36 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.oovv, (4, 1, 5, 3), (0, 4, 2, 5)) - x37 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x37 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x36, (4, 1, 5, 3), (4, 0, 5, 2)) - del x36 - t2new[np.ix_(so,so,sv,sv)] += einsum(x37, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x37, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x37 - x38 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x38 += einsum(x4, (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 1, 3, 4), (2, 0, 3, 4)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x38, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.5 - t2new[np.ix_(so,so,sv,sv)] += einsum(x38, (0, 1, 2, 3), (1, 0, 3, 2)) * -0.5 - del x38 - x39 = np.zeros((nvir, nvir), dtype=types[float]) - x39 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.oovv, (0, 1, 4, 3), (2, 4)) - x40 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x40 += einsum(x39, (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 1), (2, 3, 4, 0)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x40, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - t2new[np.ix_(so,so,sv,sv)] += einsum(x40, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.5 - del x40 - x41 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x41 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.oovv, (4, 5, 2, 3), (0, 1, 4, 5)) - t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x41, (4, 5, 0, 1), (5, 4, 2, 3)) * -0.25 - t3new += einsum(x41, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (2, 3, 4, 5, 6, 7), (1, 0, 4, 5, 6, 7)) * -0.25 - x42 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x42 += einsum(t1[np.ix_(so,sv)], (0, 1), x21, (2, 0, 3, 4), (2, 3, 4, 1)) * -1.0 - x43 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x43 += einsum(t1[np.ix_(so,sv)], (0, 1), x42, (2, 0, 3, 4), (2, 3, 4, 1)) * -1.0 - del x42 - t2new[np.ix_(so,so,sv,sv)] += einsum(x43, (0, 1, 2, 3), (0, 1, 3, 2)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x43, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x43 - x44 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x44 += einsum(t1[np.ix_(so,sv)], (0, 1), x26, (2, 3, 4, 1), (2, 0, 3, 4)) * -1.0 - x45 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x45 += einsum(t1[np.ix_(so,sv)], (0, 1), x44, (2, 3, 0, 4), (3, 2, 1, 4)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(x45, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(x45, (0, 1, 2, 3), (0, 1, 3, 2)) - del x45 - x46 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x46 += einsum(t1[np.ix_(so,sv)], (0, 1), x3, (2, 3, 4, 1), (2, 0, 4, 3)) - t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x46, (4, 5, 0, 1), (5, 4, 2, 3)) * -0.5 - t3new += einsum(x46, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (2, 3, 4, 5, 6, 7), (1, 0, 4, 5, 6, 7)) * -0.5 - x47 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x47 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x3, (4, 1, 5, 3), (4, 0, 5, 2)) - x48 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x48 += einsum(t1[np.ix_(so,sv)], (0, 1), x47, (2, 3, 0, 4), (2, 3, 1, 4)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x48, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(x48, (0, 1, 2, 3), (0, 1, 3, 2)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x48, (0, 1, 2, 3), (1, 0, 2, 3)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x48, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x48 - x49 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x49 += einsum(x6, (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 1, 3, 4), (0, 2, 3, 4)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(x49, (0, 1, 2, 3), (0, 1, 3, 2)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x49, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x49 - x50 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x50 += einsum(t1[np.ix_(so,sv)], (0, 1), x41, (2, 3, 0, 4), (2, 3, 4, 1)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), x50, (2, 3, 0, 4), (2, 3, 1, 4)) * 0.5 - del x50 - x51 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x51 += einsum(x5, (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 1), (2, 3, 0, 4)) * -1.0 - x52 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x52 += einsum(t1[np.ix_(so,sv)], (0, 1), x51, (2, 3, 0, 4), (2, 3, 1, 4)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x52, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(x52, (0, 1, 2, 3), (0, 1, 3, 2)) - del x52 - x53 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x53 += einsum(t1[np.ix_(so,sv)], (0, 1), x46, (2, 3, 4, 0), (2, 3, 4, 1)) - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), x53, (2, 3, 0, 4), (3, 2, 1, 4)) * -1.0 - del x53 - x54 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x54 += einsum(f.oo, (0, 1), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (2, 1, 3, 4, 5, 6), (3, 6, 0, 2, 4, 5)) - t3new += einsum(x54, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -1.0 - t3new += einsum(x54, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) - del x54 - x55 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x55 += einsum(f.vv, (0, 1), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (2, 3, 4, 5, 1, 6), (4, 6, 2, 3, 0, 5)) - t3new += einsum(x55, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -1.0 - t3new += einsum(x55, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) - del x55 - x56 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x56 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), v.ovoO, (1, 4, 5, 6), (6, 3, 0, 5, 2, 4)) - t3new += einsum(x56, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -1.0 - t3new += einsum(x56, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) - t3new += einsum(x56, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) - t3new += einsum(x56, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -1.0 - del x56 - x57 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x57 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.oOoV, (4, 5, 1, 6), (5, 6, 0, 4, 2, 3)) - t3new += einsum(x57, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) - t3new += einsum(x57, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -1.0 - del x57 - x58 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x58 += einsum(t2[np.ix_(so,sO,sv,sV)], (0, 1, 2, 3), v.ooov, (4, 5, 0, 6), (1, 3, 4, 5, 2, 6)) - t3new += einsum(x58, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -1.0 - t3new += einsum(x58, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) - del x58 - x59 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x59 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), v.ovvV, (4, 3, 5, 6), (1, 6, 0, 4, 2, 5)) - t3new += einsum(x59, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) - t3new += einsum(x59, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -1.0 - t3new += einsum(x59, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -1.0 - t3new += einsum(x59, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) - del x59 - x60 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x60 += einsum(t2[np.ix_(so,sO,sv,sV)], (0, 1, 2, 3), v.ovvv, (4, 2, 5, 6), (1, 3, 0, 4, 5, 6)) - t3new += einsum(x60, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) - t3new += einsum(x60, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -1.0 - del x60 - x61 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x61 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.vOvV, (3, 4, 5, 6), (4, 6, 0, 1, 2, 5)) - t3new += einsum(x61, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) - t3new += einsum(x61, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -1.0 - del x61 - x62 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x62 += einsum(v.oOoO, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 2, 3, 5, 6, 7), (1, 7, 4, 0, 5, 6)) - t3new += einsum(x62, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 0.5 - t3new += einsum(x62, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -0.5 - del x62 - x63 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x63 += einsum(v.ovov, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 2, 5, 6, 1, 7), (5, 7, 4, 0, 6, 3)) - t3new += einsum(x63, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -1.0 - t3new += einsum(x63, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) - t3new += einsum(x63, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) - t3new += einsum(x63, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -1.0 - del x63 - x64 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x64 += einsum(v.oVoV, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 2, 5, 6, 7, 1), (5, 3, 4, 0, 6, 7)) - t3new += einsum(x64, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -1.0 - t3new += einsum(x64, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) - del x64 - x65 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x65 += einsum(v.vOvO, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 5, 1, 6, 2, 7), (3, 7, 4, 5, 6, 0)) - t3new += einsum(x65, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) - t3new += einsum(x65, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -1.0 - del x65 - x66 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x66 += einsum(v.vVvV, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 5, 6, 7, 2, 3), (6, 1, 4, 5, 7, 0)) - t3new += einsum(x66, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -0.5 - t3new += einsum(x66, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 0.5 - del x66 - x67 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x67 += einsum(x0, (0, 1), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (2, 0, 3, 4, 5, 6), (3, 6, 1, 2, 4, 5)) - del x0 - t3new += einsum(x67, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -1.0 - t3new += einsum(x67, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) - del x67 - x68 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x68 += einsum(f.ov, (0, 1), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (2, 3, 4, 5, 1, 6), (4, 6, 0, 2, 3, 5)) - x69 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x69 += einsum(t1[np.ix_(so,sv)], (0, 1), x68, (2, 3, 0, 4, 5, 6), (2, 3, 4, 5, 1, 6)) - del x68 - t3new += einsum(x69, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) - t3new += einsum(x69, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -1.0 - del x69 - x70 = np.zeros((navir, navir), dtype=types[float]) - x70 += einsum(f.oV, (0, 1), t1[np.ix_(so,sV)], (0, 2), (1, 2)) - t3new += einsum(x70, (0, 1), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 6, 1)) * -1.0 - del x70 - x71 = np.zeros((naocc, naocc), dtype=types[float]) - x71 += einsum(f.vO, (0, 1), t1[np.ix_(sO,sv)], (2, 0), (1, 2)) - t3new += einsum(x71, (0, 1), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (2, 3, 0, 4, 5, 6), (2, 3, 1, 4, 5, 6)) * -1.0 - del x71 - x72 = np.zeros((naocc, navir, nocc, nocc), dtype=types[float]) - x72 += einsum(f.ov, (0, 1), t2[np.ix_(so,sO,sv,sV)], (2, 3, 1, 4), (3, 4, 0, 2)) - x73 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x73 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x72, (4, 5, 1, 6), (4, 5, 6, 0, 2, 3)) - del x72 - t3new += einsum(x73, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) - t3new += einsum(x73, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -1.0 - del x73 - x74 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x74 += einsum(t2[np.ix_(so,sO,sv,sV)], (0, 1, 2, 3), x15, (0, 4, 5, 6), (1, 3, 4, 5, 2, 6)) - del x15 - t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -1.0 - t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) - del x74 - x75 = np.zeros((naocc, nocc, nocc, nvir), dtype=types[float]) - x75 += einsum(f.ov, (0, 1), t2[np.ix_(so,sO,sv,sv)], (2, 3, 4, 1), (3, 0, 2, 4)) * -1.0 - x76 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x76 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x75, (4, 1, 5, 6), (4, 3, 5, 0, 6, 2)) * -1.0 - del x75 - t3new += einsum(x76, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -1.0 - t3new += einsum(x76, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) - t3new += einsum(x76, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) - t3new += einsum(x76, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -1.0 - del x76 - x77 = np.zeros((navir, nocc, nocc, nocc), dtype=types[float]) - x77 += einsum(f.ov, (0, 1), t2[np.ix_(so,so,sv,sV)], (2, 3, 1, 4), (4, 0, 2, 3)) * -1.0 - t3new += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x77, (4, 0, 5, 6), (5, 6, 1, 2, 3, 4)) * -1.0 - del x77 - x78 = np.zeros((naocc, nocc, nocc, nvir), dtype=types[float]) - x78 += einsum(t1[np.ix_(so,sv)], (0, 1), v.oooO, (2, 0, 3, 4), (4, 3, 2, 1)) * -1.0 - x79 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x79 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x78, (4, 5, 1, 6), (4, 3, 0, 5, 6, 2)) - del x78 - t3new += einsum(x79, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -1.0 - t3new += einsum(x79, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) - t3new += einsum(x79, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) - t3new += einsum(x79, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -1.0 - del x79 - x80 = np.zeros((naocc, nocc, nocc, nvir), dtype=types[float]) - x80 += einsum(t1[np.ix_(so,sv)], (0, 1), v.ovvO, (2, 3, 1, 4), (4, 0, 2, 3)) * -1.0 - x81 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x81 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x80, (4, 5, 1, 6), (4, 3, 5, 0, 2, 6)) * -1.0 - del x80 - t3new += einsum(x81, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) - t3new += einsum(x81, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -1.0 - t3new += einsum(x81, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -1.0 - t3new += einsum(x81, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) - del x81 - x82 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x82 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), v.ovvO, (4, 5, 2, 6), (6, 3, 0, 1, 4, 5)) - x83 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x83 += einsum(t1[np.ix_(so,sv)], (0, 1), x82, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x82 - t3new += einsum(x83, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) - t3new += einsum(x83, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -1.0 - del x83 - x84 = np.zeros((naocc, navir, nocc, nocc), dtype=types[float]) - x84 += einsum(t1[np.ix_(so,sv)], (0, 1), v.oVvO, (2, 3, 1, 4), (4, 3, 0, 2)) - x85 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x85 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x84, (4, 5, 6, 1), (4, 5, 6, 0, 2, 3)) - del x84 - t3new += einsum(x85, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -1.0 - t3new += einsum(x85, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) - del x85 - x86 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x86 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.oVvO, (4, 5, 3, 6), (6, 5, 0, 1, 4, 2)) - x87 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x87 += einsum(t1[np.ix_(so,sv)], (0, 1), x86, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x86 - t3new += einsum(x87, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) - t3new += einsum(x87, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -1.0 - del x87 - x88 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x88 += einsum(t2[np.ix_(so,sO,sv,sV)], (0, 1, 2, 3), v.oooo, (4, 5, 6, 0), (1, 3, 4, 5, 6, 2)) - x89 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x89 += einsum(t1[np.ix_(so,sv)], (0, 1), x88, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x88 - t3new += einsum(x89, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) - t3new += einsum(x89, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -1.0 - del x89 - x90 = np.zeros((navir, nocc, nocc, nocc), dtype=types[float]) - x90 += einsum(t1[np.ix_(so,sv)], (0, 1), v.ovoV, (2, 1, 3, 4), (4, 0, 3, 2)) * -1.0 - x91 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x91 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x90, (4, 5, 0, 6), (1, 4, 5, 6, 2, 3)) * -1.0 - del x90 - t3new += einsum(x91, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) - t3new += einsum(x91, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -1.0 - del x91 - x92 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x92 += einsum(t2[np.ix_(so,sO,sv,sV)], (0, 1, 2, 3), x18, (4, 0, 5, 6), (1, 3, 4, 5, 2, 6)) - del x18 - t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) - t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -1.0 - t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -1.0 - t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) - del x92 - x93 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x93 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), v.ovoV, (4, 3, 5, 6), (1, 6, 0, 5, 4, 2)) - x94 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x94 += einsum(t1[np.ix_(so,sv)], (0, 1), x93, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 1, 6)) - del x93 - t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) - t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -1.0 - t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -1.0 - t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) - del x94 - x95 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x95 += einsum(t2[np.ix_(so,sO,sv,sV)], (0, 1, 2, 3), v.ovov, (4, 5, 6, 2), (1, 3, 0, 4, 6, 5)) - x96 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x96 += einsum(t1[np.ix_(so,sv)], (0, 1), x95, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 1, 6)) - del x95 - t3new += einsum(x96, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) - t3new += einsum(x96, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -1.0 - t3new += einsum(x96, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -1.0 - t3new += einsum(x96, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) - del x96 - x97 = np.zeros((naocc, navir, nocc, nocc), dtype=types[float]) - x97 += einsum(t1[np.ix_(so,sV)], (0, 1), v.oooO, (2, 0, 3, 4), (4, 1, 3, 2)) * -1.0 - x98 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x98 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x97, (4, 5, 6, 1), (4, 5, 0, 6, 2, 3)) * -1.0 - del x97 - t3new += einsum(x98, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -1.0 - t3new += einsum(x98, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) - del x98 - x99 = np.zeros((naocc, navir, nvir, nvir), dtype=types[float]) - x99 += einsum(t1[np.ix_(so,sV)], (0, 1), v.ovvO, (0, 2, 3, 4), (4, 1, 3, 2)) * -1.0 - x100 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x100 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x99, (4, 5, 3, 6), (4, 5, 0, 1, 2, 6)) - del x99 - t3new += einsum(x100, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) - t3new += einsum(x100, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -1.0 - del x100 - x101 = np.zeros((navir, nocc, nocc, nocc), dtype=types[float]) - x101 += einsum(t1[np.ix_(so,sV)], (0, 1), v.oooo, (2, 3, 4, 0), (1, 2, 3, 4)) - t3new += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x101, (4, 5, 6, 0), (5, 6, 1, 2, 3, 4)) * -1.0 - del x101 - x102 = np.zeros((navir, nocc, nvir, nvir), dtype=types[float]) - x102 += einsum(t1[np.ix_(so,sV)], (0, 1), v.ovov, (2, 3, 0, 4), (1, 2, 3, 4)) - x103 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x103 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x102, (4, 5, 3, 6), (1, 4, 0, 5, 2, 6)) * -1.0 - del x102 - t3new += einsum(x103, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -1.0 - t3new += einsum(x103, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) - t3new += einsum(x103, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) - t3new += einsum(x103, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -1.0 - del x103 - x104 = np.zeros((navir, nocc, nvir, nvir), dtype=types[float]) - x104 += einsum(t1[np.ix_(so,sv)], (0, 1), v.vvvV, (2, 1, 3, 4), (4, 0, 3, 2)) * -1.0 - x105 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x105 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x104, (4, 5, 6, 3), (1, 4, 5, 0, 2, 6)) - del x104 - t3new += einsum(x105, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -1.0 - t3new += einsum(x105, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) - t3new += einsum(x105, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) - t3new += einsum(x105, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -1.0 - del x105 - x106 = np.zeros((naocc, navir, nocc, nvir, nvir, nvir), dtype=types[float]) - x106 += einsum(t2[np.ix_(so,sO,sv,sV)], (0, 1, 2, 3), v.vvvv, (4, 5, 6, 2), (1, 3, 0, 4, 5, 6)) - x107 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x107 += einsum(t1[np.ix_(so,sv)], (0, 1), x106, (2, 3, 4, 5, 6, 1), (2, 3, 0, 4, 5, 6)) - del x106 - t3new += einsum(x107, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -1.0 - t3new += einsum(x107, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) - del x107 - x108 = np.zeros((naocc, navir, nocc, nocc), dtype=types[float]) - x108 += einsum(t1[np.ix_(sO,sv)], (0, 1), v.ovoV, (2, 1, 3, 4), (0, 4, 3, 2)) * -1.0 - x109 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x109 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x108, (4, 5, 1, 6), (4, 5, 0, 6, 2, 3)) - del x108 - t3new += einsum(x109, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -1.0 - t3new += einsum(x109, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) - del x109 - x110 = np.zeros((naocc, nocc, nocc, nvir), dtype=types[float]) - x110 += einsum(t1[np.ix_(sO,sv)], (0, 1), v.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) - x111 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x111 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x110, (4, 1, 5, 6), (4, 3, 0, 5, 2, 6)) * -1.0 - del x110 - t3new += einsum(x111, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -1.0 - t3new += einsum(x111, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) - t3new += einsum(x111, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) - t3new += einsum(x111, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -1.0 - del x111 - x112 = np.zeros((naocc, navir, nvir, nvir), dtype=types[float]) - x112 += einsum(t1[np.ix_(sO,sv)], (0, 1), v.vvvV, (2, 1, 3, 4), (0, 4, 3, 2)) * -1.0 - x113 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x113 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x112, (4, 5, 6, 3), (4, 5, 0, 1, 2, 6)) * -1.0 - del x112 - t3new += einsum(x113, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) - t3new += einsum(x113, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -1.0 - del x113 - x114 = np.zeros((naocc, nvir, nvir, nvir), dtype=types[float]) - x114 += einsum(t1[np.ix_(sO,sv)], (0, 1), v.vvvv, (2, 3, 4, 1), (0, 2, 3, 4)) - t3new += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x114, (4, 5, 6, 2), (0, 1, 4, 6, 5, 3)) - del x114 - x115 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x115 += einsum(x21, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (1, 2, 4, 5, 6, 7), (4, 7, 0, 3, 5, 6)) - t3new += einsum(x115, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 0.5 - t3new += einsum(x115, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -0.5 - del x115 - x116 = np.zeros((naocc, naocc, nocc, nocc), dtype=types[float]) - x116 += einsum(t1[np.ix_(so,sv)], (0, 1), v.oOvO, (2, 3, 1, 4), (3, 4, 0, 2)) - x117 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x117 += einsum(x116, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 3, 0, 5, 6, 7), (1, 7, 2, 4, 5, 6)) - del x116 - t3new += einsum(x117, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 0.5 - t3new += einsum(x117, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -0.5 - del x117 - x118 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x118 += einsum(v.ooov, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 1, 5, 6, 3, 7), (5, 7, 4, 0, 2, 6)) - x119 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x119 += einsum(t1[np.ix_(so,sv)], (0, 1), x118, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 1, 6)) - del x118 - t3new += einsum(x119, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -1.0 - t3new += einsum(x119, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) - t3new += einsum(x119, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) - t3new += einsum(x119, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -1.0 - del x119 - x120 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x120 += einsum(x1, (0, 1), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (2, 0, 3, 4, 5, 6), (3, 6, 2, 1, 4, 5)) * -1.0 - del x1 - t3new += einsum(x120, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) - t3new += einsum(x120, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -1.0 - del x120 - x121 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x121 += einsum(v.oOvO, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 5, 1, 6, 2, 7), (3, 7, 4, 5, 0, 6)) - x122 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x122 += einsum(t1[np.ix_(so,sv)], (0, 1), x121, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x121 - t3new += einsum(x122, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -1.0 - t3new += einsum(x122, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) - del x122 - x123 = np.zeros((naocc, naocc), dtype=types[float]) - x123 += einsum(t1[np.ix_(so,sv)], (0, 1), v.oOvO, (0, 2, 1, 3), (2, 3)) - t3new += einsum(x123, (0, 1), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (2, 3, 0, 4, 5, 6), (2, 3, 1, 4, 5, 6)) * -1.0 - del x123 - x124 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x124 += einsum(x26, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 1, 5, 6, 3, 7), (5, 7, 0, 4, 6, 2)) * -1.0 - del x26 - t3new += einsum(x124, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -1.0 - t3new += einsum(x124, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) - t3new += einsum(x124, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) - t3new += einsum(x124, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -1.0 - del x124 - x125 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x125 += einsum(v.ovvv, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 5, 6, 2, 3, 7), (6, 7, 4, 5, 0, 1)) - x126 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x126 += einsum(t1[np.ix_(so,sv)], (0, 1), x125, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x125 - t3new += einsum(x126, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -0.5 - t3new += einsum(x126, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 0.5 - del x126 - x127 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x127 += einsum(x2, (0, 1), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (2, 3, 4, 5, 1, 6), (4, 6, 2, 3, 5, 0)) * -1.0 - del x2 - t3new += einsum(x127, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -1.0 - t3new += einsum(x127, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) - del x127 - x128 = np.zeros((navir, navir, nocc, nocc), dtype=types[float]) - x128 += einsum(t1[np.ix_(so,sv)], (0, 1), v.oVvV, (2, 3, 1, 4), (3, 4, 0, 2)) - x129 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x129 += einsum(x128, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 3, 5, 6, 7, 1), (5, 0, 2, 4, 6, 7)) - del x128 - t3new += einsum(x129, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -1.0 - t3new += einsum(x129, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) - del x129 - x130 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x130 += einsum(v.oVvV, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 5, 6, 7, 2, 3), (6, 1, 4, 5, 0, 7)) - x131 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x131 += einsum(t1[np.ix_(so,sv)], (0, 1), x130, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x130 - t3new += einsum(x131, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 0.5 - t3new += einsum(x131, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -0.5 - del x131 - x132 = np.zeros((navir, navir), dtype=types[float]) - x132 += einsum(t1[np.ix_(so,sv)], (0, 1), v.oVvV, (0, 2, 1, 3), (2, 3)) - t3new += einsum(x132, (0, 1), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 6, 0)) - del x132 - x133 = np.zeros((navir, navir, nocc, nocc), dtype=types[float]) - x133 += einsum(t1[np.ix_(so,sV)], (0, 1), v.oooV, (2, 0, 3, 4), (1, 4, 3, 2)) * -1.0 - x134 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x134 += einsum(x133, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 3, 5, 6, 7, 1), (5, 0, 4, 2, 6, 7)) * -1.0 - del x133 - t3new += einsum(x134, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) - t3new += einsum(x134, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -1.0 - del x134 - x135 = np.zeros((naocc, naocc, navir, navir), dtype=types[float]) - x135 += einsum(t1[np.ix_(so,sV)], (0, 1), v.oOOV, (0, 2, 3, 4), (3, 2, 1, 4)) * -1.0 - t3new += einsum(x135, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 5, 1, 6, 7, 3), (4, 5, 0, 6, 7, 2)) - del x135 - x136 = np.zeros((navir, navir, nvir, nvir), dtype=types[float]) - x136 += einsum(t1[np.ix_(so,sV)], (0, 1), v.ovvV, (0, 2, 3, 4), (1, 4, 3, 2)) * -1.0 - x137 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x137 += einsum(x136, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 5, 6, 7, 2, 1), (6, 0, 4, 5, 7, 3)) - del x136 - t3new += einsum(x137, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 0.5 - t3new += einsum(x137, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -0.5 - del x137 - x138 = np.zeros((naocc, naocc, nocc, nocc), dtype=types[float]) - x138 += einsum(t1[np.ix_(sO,sv)], (0, 1), v.ovoO, (2, 1, 3, 4), (0, 4, 3, 2)) * -1.0 - x139 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x139 += einsum(x138, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 2, 1, 5, 6, 7), (0, 7, 4, 3, 5, 6)) - del x138 - t3new += einsum(x139, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -0.5 - t3new += einsum(x139, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 0.5 - del x139 - x140 = np.zeros((naocc, naocc, nvir, nvir), dtype=types[float]) - x140 += einsum(t1[np.ix_(sO,sv)], (0, 1), v.vvvO, (2, 1, 3, 4), (0, 4, 3, 2)) * -1.0 - x141 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x141 += einsum(x140, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 5, 1, 6, 3, 7), (0, 7, 4, 5, 6, 2)) * -1.0 - del x140 - t3new += einsum(x141, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) - t3new += einsum(x141, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -1.0 - del x141 - x142 = np.zeros((naocc, naocc, navir, navir), dtype=types[float]) - x142 += einsum(t1[np.ix_(sO,sv)], (0, 1), v.vVOV, (1, 2, 3, 4), (0, 3, 4, 2)) * -1.0 - t3new += einsum(x142, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 5, 1, 6, 7, 3), (4, 5, 0, 6, 7, 2)) - del x142 - x143 = np.zeros((naocc, nocc, nocc, nvir), dtype=types[float]) - x143 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.oovO, (4, 1, 3, 5), (5, 0, 4, 2)) * -1.0 - x144 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x144 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x143, (4, 5, 1, 6), (4, 3, 0, 5, 2, 6)) * -1.0 - del x143 - t3new += einsum(x144, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) - t3new += einsum(x144, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -1.0 - t3new += einsum(x144, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -1.0 - t3new += einsum(x144, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) - del x144 - x145 = np.zeros((naocc, navir, nocc, nocc), dtype=types[float]) - x145 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), v.oovO, (4, 1, 2, 5), (5, 3, 0, 4)) - x146 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x146 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x145, (4, 5, 6, 1), (4, 5, 6, 0, 2, 3)) * -1.0 - del x145 - t3new += einsum(x146, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) - t3new += einsum(x146, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -1.0 - del x146 - x147 = np.zeros((naocc, navir, nvir, nvir), dtype=types[float]) - x147 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), v.oovO, (0, 1, 4, 5), (5, 3, 2, 4)) - x148 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x148 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x147, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) - del x147 - t3new += einsum(x148, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 0.5 - t3new += einsum(x148, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -0.5 - del x148 - x149 = np.zeros((naocc, nvir, nvir, nvir), dtype=types[float]) - x149 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.oovO, (0, 1, 4, 5), (5, 2, 3, 4)) * -1.0 - t3new += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x149, (4, 5, 6, 2), (0, 1, 4, 6, 5, 3)) * -0.5 - del x149 - x150 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x150 += einsum(t2[np.ix_(so,sO,sv,sV)], (0, 1, 2, 3), x23, (4, 0, 5, 6), (1, 3, 4, 5, 2, 6)) - del x23 - t3new += einsum(x150, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -1.0 - t3new += einsum(x150, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) - t3new += einsum(x150, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) - t3new += einsum(x150, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -1.0 - del x150 - x151 = np.zeros((naocc, navir, nocc, nocc), dtype=types[float]) - x151 += einsum(t2[np.ix_(so,sO,sv,sV)], (0, 1, 2, 3), v.ooov, (4, 0, 5, 2), (1, 3, 4, 5)) - x152 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x152 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x151, (4, 5, 1, 6), (4, 5, 0, 6, 2, 3)) * -1.0 - del x151 - t3new += einsum(x152, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -1.0 - t3new += einsum(x152, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) - del x152 - x153 = np.zeros((naocc, navir, nocc, nocc, nocc, nocc), dtype=types[float]) - x153 += einsum(t2[np.ix_(so,sO,sv,sV)], (0, 1, 2, 3), v.ooov, (4, 5, 6, 2), (1, 3, 0, 4, 5, 6)) - x154 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x154 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x153, (4, 5, 6, 1, 0, 7), (4, 5, 6, 7, 2, 3)) * -1.0 - t3new += einsum(x154, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 0.5 - t3new += einsum(x154, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -0.5 - del x154 - x155 = np.zeros((naocc, nocc, nocc, nvir), dtype=types[float]) - x155 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), v.ooov, (4, 0, 5, 3), (1, 4, 5, 2)) * -1.0 - x156 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x156 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x155, (4, 1, 5, 6), (4, 3, 0, 5, 6, 2)) - del x155 - t3new += einsum(x156, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) - t3new += einsum(x156, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -1.0 - t3new += einsum(x156, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -1.0 - t3new += einsum(x156, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) - del x156 - x157 = np.zeros((navir, nocc, nocc, nocc), dtype=types[float]) - x157 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), v.ooov, (4, 1, 5, 2), (3, 0, 4, 5)) * -1.0 - x158 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x158 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x157, (4, 5, 0, 6), (1, 4, 5, 6, 2, 3)) * -1.0 - del x157 - t3new += einsum(x158, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -1.0 - t3new += einsum(x158, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) - del x158 - x159 = np.zeros((navir, nocc, nvir, nvir), dtype=types[float]) - x159 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), v.ooov, (0, 1, 4, 5), (3, 4, 2, 5)) * -1.0 - x160 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x160 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x159, (4, 5, 6, 3), (1, 4, 0, 5, 2, 6)) * -1.0 - del x159 - t3new += einsum(x160, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -0.5 - t3new += einsum(x160, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 0.5 - t3new += einsum(x160, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 0.5 - t3new += einsum(x160, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -0.5 - del x160 - x161 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x161 += einsum(t2[np.ix_(so,sO,sv,sV)], (0, 1, 2, 3), v.ovvv, (4, 5, 6, 2), (1, 3, 0, 4, 5, 6)) - x162 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x162 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x161, (4, 5, 6, 1, 7, 3), (4, 5, 6, 0, 2, 7)) * -1.0 - t3new += einsum(x162, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) - t3new += einsum(x162, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -1.0 - t3new += einsum(x162, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -1.0 - t3new += einsum(x162, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) - del x162 - x163 = np.zeros((naocc, navir, nvir, nvir), dtype=types[float]) - x163 += einsum(t2[np.ix_(so,sO,sv,sV)], (0, 1, 2, 3), v.ovvv, (0, 4, 5, 2), (1, 3, 4, 5)) - x164 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x164 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x163, (4, 5, 6, 3), (4, 5, 0, 1, 2, 6)) * -1.0 - del x163 - t3new += einsum(x164, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -1.0 - t3new += einsum(x164, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) - del x164 - x165 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x165 += einsum(t2[np.ix_(so,sO,sv,sV)], (0, 1, 2, 3), x28, (4, 5, 0, 6), (1, 3, 4, 5, 2, 6)) - del x28 - t3new += einsum(x165, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 0.5 - t3new += einsum(x165, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -0.5 - del x165 - x166 = np.zeros((naocc, nocc, nocc, nvir), dtype=types[float]) - x166 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), v.ovvv, (4, 5, 2, 3), (1, 0, 4, 5)) * -1.0 - x167 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x167 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x166, (4, 5, 1, 6), (4, 3, 5, 0, 2, 6)) * -1.0 - del x166 - t3new += einsum(x167, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -0.5 - t3new += einsum(x167, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 0.5 - t3new += einsum(x167, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 0.5 - t3new += einsum(x167, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -0.5 - del x167 - x168 = np.zeros((navir, nocc, nvir, nvir), dtype=types[float]) - x168 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), v.ovvv, (1, 4, 5, 2), (3, 0, 4, 5)) * -1.0 - x169 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x169 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x168, (4, 5, 6, 3), (1, 4, 0, 5, 2, 6)) * -1.0 - del x168 - t3new += einsum(x169, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -1.0 - t3new += einsum(x169, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) - t3new += einsum(x169, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) - t3new += einsum(x169, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -1.0 - del x169 - x170 = np.zeros((naocc, nvir, nvir, nvir), dtype=types[float]) - x170 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), v.ovvv, (0, 4, 5, 3), (1, 2, 4, 5)) * -1.0 - x171 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x171 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x170, (4, 5, 6, 2), (4, 3, 0, 1, 5, 6)) - del x170 - t3new += einsum(x171, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) - t3new += einsum(x171, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -1.0 - del x171 - x172 = np.zeros((navir, nocc, nvir, nvir), dtype=types[float]) - x172 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.oVvv, (1, 4, 5, 3), (4, 0, 2, 5)) * -1.0 - x173 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x173 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x172, (4, 5, 6, 3), (1, 4, 0, 5, 2, 6)) * -1.0 - del x172 - t3new += einsum(x173, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -1.0 - t3new += einsum(x173, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) - t3new += einsum(x173, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) - t3new += einsum(x173, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -1.0 - del x173 - x174 = np.zeros((naocc, navir, nocc, nocc), dtype=types[float]) - x174 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), v.oVvv, (4, 5, 2, 3), (1, 5, 0, 4)) - x175 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x175 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x174, (4, 5, 6, 1), (4, 5, 6, 0, 2, 3)) - del x174 - t3new += einsum(x175, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 0.5 - t3new += einsum(x175, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -0.5 - del x175 - x176 = np.zeros((naocc, navir, nvir, nvir), dtype=types[float]) - x176 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), v.oVvv, (0, 4, 5, 3), (1, 4, 2, 5)) - x177 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x177 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x176, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) * -1.0 - del x176 - t3new += einsum(x177, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) - t3new += einsum(x177, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -1.0 - del x177 - x178 = np.zeros((navir, nocc, nocc, nocc), dtype=types[float]) - x178 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.oVvv, (4, 5, 2, 3), (5, 0, 1, 4)) * -1.0 - t3new += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x178, (4, 5, 6, 0), (5, 6, 1, 2, 3, 4)) * -0.5 - del x178 - x179 = np.zeros((naocc, navir, nvir, nvir), dtype=types[float]) - x179 += einsum(v.oovv, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (0, 1, 4, 5, 3, 6), (4, 6, 5, 2)) - x180 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x180 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x179, (4, 5, 6, 3), (4, 5, 0, 1, 2, 6)) - del x179 - t3new += einsum(x180, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -0.5 - t3new += einsum(x180, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 0.5 - del x180 - x181 = np.zeros((naocc, navir, nocc, nocc), dtype=types[float]) - x181 += einsum(v.oovv, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 1, 5, 2, 3, 6), (5, 6, 4, 0)) - x182 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x182 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x181, (4, 5, 6, 1), (4, 5, 0, 6, 2, 3)) - del x181 - t3new += einsum(x182, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 0.5 - t3new += einsum(x182, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -0.5 - del x182 - x183 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x183 += einsum(v.oovv, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 1, 5, 6, 3, 7), (5, 7, 4, 0, 6, 2)) - x184 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x184 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x183, (4, 5, 6, 1, 7, 3), (4, 5, 0, 6, 2, 7)) - del x183 - t3new += einsum(x184, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) - t3new += einsum(x184, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -1.0 - t3new += einsum(x184, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -1.0 - t3new += einsum(x184, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) - del x184 - x185 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x185 += einsum(x4, (0, 1), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (2, 1, 3, 4, 5, 6), (3, 6, 0, 2, 4, 5)) * -1.0 - del x4 - t3new += einsum(x185, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 0.5 - t3new += einsum(x185, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -0.5 - del x185 - x186 = np.zeros((naocc, navir, nocc, nocc, nocc, nocc), dtype=types[float]) - x186 += einsum(v.oovv, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 5, 6, 2, 3, 7), (6, 7, 4, 5, 0, 1)) - t3new += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x186, (4, 5, 6, 7, 0, 1), (6, 7, 4, 2, 3, 5)) * 0.25 - x187 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x187 += einsum(x39, (0, 1), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (2, 3, 4, 5, 1, 6), (4, 6, 2, 3, 0, 5)) * -1.0 - del x39 - t3new += einsum(x187, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -0.5 - t3new += einsum(x187, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 0.5 - del x187 - x188 = np.zeros((naocc, nvir, nvir, nvir), dtype=types[float]) - x188 += einsum(v.oovV, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (0, 1, 4, 5, 6, 3), (4, 5, 6, 2)) * -1.0 - t3new += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x188, (4, 5, 6, 2), (0, 1, 4, 5, 6, 3)) * 0.5 - del x188 - x189 = np.zeros((naocc, nocc, nocc, nvir), dtype=types[float]) - x189 += einsum(v.oovV, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 1, 5, 6, 2, 3), (5, 4, 0, 6)) * -1.0 - x190 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x190 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x189, (4, 5, 1, 6), (4, 3, 0, 5, 2, 6)) * -1.0 - del x189 - t3new += einsum(x190, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 0.5 - t3new += einsum(x190, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -0.5 - t3new += einsum(x190, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -0.5 - t3new += einsum(x190, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 0.5 - del x190 - x191 = np.zeros((navir, navir, nocc, nocc), dtype=types[float]) - x191 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), v.oovV, (4, 1, 2, 5), (3, 5, 0, 4)) - x192 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x192 += einsum(x191, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 3, 5, 6, 7, 1), (5, 0, 2, 4, 6, 7)) * -1.0 - del x191 - t3new += einsum(x192, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -1.0 - t3new += einsum(x192, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) - del x192 - x193 = np.zeros((navir, navir, nvir, nvir), dtype=types[float]) - x193 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), v.oovV, (0, 1, 4, 5), (3, 5, 2, 4)) - x194 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x194 += einsum(x193, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 5, 6, 7, 3, 1), (6, 0, 4, 5, 2, 7)) - del x193 - t3new += einsum(x194, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -0.25 - t3new += einsum(x194, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 0.25 - del x194 - x195 = np.zeros((navir, navir), dtype=types[float]) - x195 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), v.oovV, (0, 1, 2, 4), (3, 4)) - t3new += einsum(x195, (0, 1), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 6, 0)) * -0.5 - del x195 - x196 = np.zeros((navir, nocc, nvir, nvir), dtype=types[float]) - x196 += einsum(v.oOvv, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 0, 1, 5, 3, 6), (6, 4, 5, 2)) * -1.0 - x197 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x197 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x196, (4, 5, 6, 3), (1, 4, 0, 5, 2, 6)) * -1.0 - del x196 - t3new += einsum(x197, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 0.5 - t3new += einsum(x197, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -0.5 - t3new += einsum(x197, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -0.5 - t3new += einsum(x197, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 0.5 - del x197 - x198 = np.zeros((naocc, naocc, nocc, nocc), dtype=types[float]) - x198 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), v.oOvv, (4, 5, 2, 3), (1, 5, 0, 4)) - x199 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x199 += einsum(x198, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 3, 1, 5, 6, 7), (0, 7, 2, 4, 5, 6)) - del x198 - t3new += einsum(x199, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 0.25 - t3new += einsum(x199, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -0.25 - del x199 - x200 = np.zeros((navir, nocc, nocc, nocc), dtype=types[float]) - x200 += einsum(v.oOvv, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 5, 1, 2, 3, 6), (6, 4, 5, 0)) * -1.0 - t3new += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x200, (4, 5, 6, 0), (5, 6, 1, 2, 3, 4)) * 0.5 - del x200 - x201 = np.zeros((naocc, naocc, nvir, nvir), dtype=types[float]) - x201 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), v.oOvv, (0, 4, 5, 3), (1, 4, 2, 5)) - x202 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x202 += einsum(x201, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 5, 1, 6, 3, 7), (0, 7, 4, 5, 2, 6)) * -1.0 - del x201 - t3new += einsum(x202, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) - t3new += einsum(x202, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -1.0 - del x202 - x203 = np.zeros((naocc, naocc), dtype=types[float]) - x203 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), v.oOvv, (0, 4, 2, 3), (1, 4)) - t3new += einsum(x203, (0, 1), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (2, 3, 1, 4, 5, 6), (2, 3, 0, 4, 5, 6)) * -0.5 - del x203 - x204 = np.zeros((naocc, naocc, navir, navir, nocc, nocc), dtype=types[float]) - x204 += einsum(t2[np.ix_(so,sO,sv,sV)], (0, 1, 2, 3), v.oOvV, (4, 5, 2, 6), (1, 5, 3, 6, 0, 4)) - x205 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x205 += einsum(t3[np.ix_(so,so,sOf,sv,sv,sVf)], (0, 1, 2, 3, 4, 5), x204, (6, 2, 7, 5, 8, 1), (6, 7, 8, 0, 3, 4)) - del x204 - t3new += einsum(x205, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -0.5 - t3new += einsum(x205, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 0.5 - del x205 - x206 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x206 += einsum(t2[np.ix_(so,sO,sv,sV)], (0, 1, 2, 3), x33, (4, 5, 0, 6), (1, 3, 4, 5, 2, 6)) - del x33 - t3new += einsum(x206, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 0.5 - t3new += einsum(x206, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -0.5 - del x206 - x207 = np.zeros((naocc, naocc, navir, navir), dtype=types[float]) - x207 += einsum(t2[np.ix_(so,sO,sv,sV)], (0, 1, 2, 3), v.oOvV, (0, 4, 2, 5), (1, 4, 3, 5)) - t3new += einsum(x207, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 5, 1, 6, 7, 3), (4, 5, 0, 6, 7, 2)) - del x207 - x208 = np.zeros((naocc, nocc, nocc, nocc), dtype=types[float]) - x208 += einsum(t1[np.ix_(so,sv)], (0, 1), v.oovO, (2, 3, 1, 4), (4, 0, 2, 3)) * -1.0 - x209 = np.zeros((naocc, nocc, nocc, nvir), dtype=types[float]) - x209 += einsum(t1[np.ix_(so,sv)], (0, 1), x208, (2, 3, 4, 0), (2, 3, 4, 1)) - del x208 - x210 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x210 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x209, (4, 5, 1, 6), (4, 3, 5, 0, 6, 2)) - del x209 - t3new += einsum(x210, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) - t3new += einsum(x210, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -1.0 - t3new += einsum(x210, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -1.0 - t3new += einsum(x210, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) - del x210 - x211 = np.zeros((naocc, navir, nocc, nocc, nocc, nocc), dtype=types[float]) - x211 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), v.oovO, (4, 5, 2, 6), (6, 3, 0, 1, 4, 5)) - x212 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x212 += einsum(t1[np.ix_(so,sv)], (0, 1), x211, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 6, 1)) - del x211 - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), x212, (2, 3, 4, 5, 0, 6), (4, 5, 2, 1, 6, 3)) * -1.0 - del x212 - x213 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x213 += einsum(t2[np.ix_(so,sO,sv,sV)], (0, 1, 2, 3), x21, (4, 0, 5, 6), (1, 3, 4, 5, 6, 2)) * -1.0 - del x21 - x214 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x214 += einsum(t1[np.ix_(so,sv)], (0, 1), x213, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 1, 6)) - del x213 - t3new += einsum(x214, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -1.0 - t3new += einsum(x214, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) - t3new += einsum(x214, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) - t3new += einsum(x214, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -1.0 - del x214 - x215 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x215 += einsum(t1[np.ix_(so,sv)], (0, 1), x153, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 6, 1)) - del x153 - x216 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x216 += einsum(t1[np.ix_(so,sv)], (0, 1), x215, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 6, 1)) * -1.0 - del x215 - t3new += einsum(x216, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) - t3new += einsum(x216, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -1.0 - del x216 - x217 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x217 += einsum(t2[np.ix_(so,sO,sv,sV)], (0, 1, 2, 3), x44, (4, 5, 0, 6), (1, 3, 5, 4, 2, 6)) * -1.0 - del x44 - t3new += einsum(x217, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) - t3new += einsum(x217, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -1.0 - del x217 - x218 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x218 += einsum(t1[np.ix_(so,sv)], (0, 1), x161, (2, 3, 4, 5, 6, 1), (2, 3, 0, 4, 5, 6)) - del x161 - x219 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x219 += einsum(t1[np.ix_(so,sv)], (0, 1), x218, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x218 - t3new += einsum(x219, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -1.0 - t3new += einsum(x219, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) - t3new += einsum(x219, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) - t3new += einsum(x219, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -1.0 - del x219 - x220 = np.zeros((navir, nocc, nocc, nvir), dtype=types[float]) - x220 += einsum(t1[np.ix_(so,sv)], (0, 1), v.oVvv, (2, 3, 4, 1), (3, 0, 2, 4)) * -1.0 - x221 = np.zeros((navir, nocc, nocc, nocc), dtype=types[float]) - x221 += einsum(t1[np.ix_(so,sv)], (0, 1), x220, (2, 3, 4, 1), (2, 3, 0, 4)) * -1.0 - t3new += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x221, (4, 5, 6, 0), (5, 6, 1, 2, 3, 4)) * -1.0 - del x221 - x222 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x222 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x220, (4, 5, 6, 3), (1, 4, 5, 0, 6, 2)) - del x220 - x223 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x223 += einsum(t1[np.ix_(so,sv)], (0, 1), x222, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x222 - t3new += einsum(x223, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -1.0 - t3new += einsum(x223, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) - t3new += einsum(x223, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) - t3new += einsum(x223, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -1.0 - del x223 - x224 = np.zeros((naocc, navir, nocc, nvir), dtype=types[float]) - x224 += einsum(t1[np.ix_(so,sV)], (0, 1), v.oovO, (2, 0, 3, 4), (4, 1, 2, 3)) * -1.0 - x225 = np.zeros((naocc, navir, nocc, nocc), dtype=types[float]) - x225 += einsum(t1[np.ix_(so,sv)], (0, 1), x224, (2, 3, 4, 1), (2, 3, 0, 4)) - x226 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x226 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x225, (4, 5, 6, 1), (4, 5, 6, 0, 2, 3)) * -1.0 - del x225 - t3new += einsum(x226, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) - t3new += einsum(x226, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -1.0 - del x226 - x227 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x227 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x224, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) - del x224 - x228 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x228 += einsum(t1[np.ix_(so,sv)], (0, 1), x227, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) * -1.0 - del x227 - t3new += einsum(x228, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -1.0 - t3new += einsum(x228, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) - del x228 - x229 = np.zeros((navir, nocc, nocc, nvir), dtype=types[float]) - x229 += einsum(t1[np.ix_(so,sV)], (0, 1), v.ooov, (2, 0, 3, 4), (1, 2, 3, 4)) - x230 = np.zeros((navir, nocc, nocc, nocc), dtype=types[float]) - x230 += einsum(t1[np.ix_(so,sv)], (0, 1), x229, (2, 3, 4, 1), (2, 0, 3, 4)) - x231 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x231 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x230, (4, 5, 0, 6), (1, 4, 5, 6, 2, 3)) - del x230 - t3new += einsum(x231, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -1.0 - t3new += einsum(x231, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) - del x231 - x232 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x232 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x229, (4, 5, 6, 3), (1, 4, 0, 5, 6, 2)) * -1.0 - del x229 - x233 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x233 += einsum(t1[np.ix_(so,sv)], (0, 1), x232, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 1, 6)) * -1.0 - del x232 - t3new += einsum(x233, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -1.0 - t3new += einsum(x233, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) - t3new += einsum(x233, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) - t3new += einsum(x233, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -1.0 - del x233 - x234 = np.zeros((navir, nvir, nvir, nvir), dtype=types[float]) - x234 += einsum(t1[np.ix_(so,sV)], (0, 1), v.ovvv, (0, 2, 3, 4), (1, 2, 3, 4)) - x235 = np.zeros((navir, nocc, nvir, nvir), dtype=types[float]) - x235 += einsum(t1[np.ix_(so,sv)], (0, 1), x234, (2, 3, 4, 1), (2, 0, 3, 4)) - del x234 - x236 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x236 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x235, (4, 5, 6, 3), (1, 4, 5, 0, 2, 6)) - del x235 - t3new += einsum(x236, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -1.0 - t3new += einsum(x236, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) - t3new += einsum(x236, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) - t3new += einsum(x236, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -1.0 - del x236 - x237 = np.zeros((naocc, nocc, nocc, nocc), dtype=types[float]) - x237 += einsum(t1[np.ix_(sO,sv)], (0, 1), v.ooov, (2, 3, 4, 1), (0, 2, 3, 4)) - x238 = np.zeros((naocc, nocc, nocc, nvir), dtype=types[float]) - x238 += einsum(t1[np.ix_(so,sv)], (0, 1), x237, (2, 3, 0, 4), (2, 3, 4, 1)) - del x237 - x239 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x239 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x238, (4, 1, 5, 6), (4, 3, 0, 5, 6, 2)) - del x238 - t3new += einsum(x239, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) - t3new += einsum(x239, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -1.0 - t3new += einsum(x239, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -1.0 - t3new += einsum(x239, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) - del x239 - x240 = np.zeros((naocc, nocc, nvir, nvir), dtype=types[float]) - x240 += einsum(t1[np.ix_(sO,sv)], (0, 1), v.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) - x241 = np.zeros((naocc, nocc, nocc, nvir), dtype=types[float]) - x241 += einsum(t1[np.ix_(so,sv)], (0, 1), x240, (2, 3, 4, 1), (2, 0, 3, 4)) * -1.0 - x242 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x242 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x241, (4, 5, 1, 6), (4, 3, 5, 0, 2, 6)) * -1.0 - del x241 - t3new += einsum(x242, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) - t3new += einsum(x242, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -1.0 - t3new += einsum(x242, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -1.0 - t3new += einsum(x242, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) - del x242 - x243 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x243 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x240, (4, 5, 6, 2), (4, 3, 0, 1, 5, 6)) - del x240 - x244 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x244 += einsum(t1[np.ix_(so,sv)], (0, 1), x243, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x243 - t3new += einsum(x244, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) - t3new += einsum(x244, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -1.0 - del x244 - x245 = np.zeros((naocc, navir, nocc, nvir), dtype=types[float]) - x245 += einsum(t1[np.ix_(sO,sv)], (0, 1), v.oVvv, (2, 3, 4, 1), (0, 3, 2, 4)) * -1.0 - x246 = np.zeros((naocc, navir, nocc, nocc), dtype=types[float]) - x246 += einsum(t1[np.ix_(so,sv)], (0, 1), x245, (2, 3, 4, 1), (2, 3, 0, 4)) * -1.0 - x247 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x247 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x246, (4, 5, 6, 1), (4, 5, 6, 0, 2, 3)) - del x246 - t3new += einsum(x247, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -1.0 - t3new += einsum(x247, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) - del x247 - x248 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x248 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x245, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) * -1.0 - del x245 - x249 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x249 += einsum(t1[np.ix_(so,sv)], (0, 1), x248, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x248 - t3new += einsum(x249, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) - t3new += einsum(x249, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -1.0 - del x249 - x250 = np.zeros((naocc, navir, nocc, nocc), dtype=types[float]) - x250 += einsum(t1[np.ix_(so,sV)], (0, 1), t1[np.ix_(sO,sv)], (2, 3), v.ooov, (4, 0, 5, 3), (2, 1, 4, 5)) - x251 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x251 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x250, (4, 5, 1, 6), (4, 5, 0, 6, 2, 3)) * -1.0 - del x250 - t3new += einsum(x251, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) - t3new += einsum(x251, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -1.0 - del x251 - x252 = np.zeros((naocc, navir, nvir, nvir), dtype=types[float]) - x252 += einsum(t1[np.ix_(so,sV)], (0, 1), t1[np.ix_(sO,sv)], (2, 3), v.ovvv, (0, 4, 5, 3), (2, 1, 4, 5)) - x253 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x253 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x252, (4, 5, 6, 3), (4, 5, 0, 1, 2, 6)) * -1.0 - del x252 - t3new += einsum(x253, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) - t3new += einsum(x253, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -1.0 - del x253 - x254 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x254 += einsum(x3, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 1, 5, 6, 3, 7), (5, 7, 0, 4, 2, 6)) - x255 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x255 += einsum(t1[np.ix_(so,sv)], (0, 1), x254, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x254 - t3new += einsum(x255, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -1.0 - t3new += einsum(x255, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) - t3new += einsum(x255, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) - t3new += einsum(x255, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -1.0 - del x255 - x256 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x256 += einsum(x6, (0, 1), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (2, 1, 3, 4, 5, 6), (3, 6, 0, 2, 4, 5)) * -1.0 - del x6 - t3new += einsum(x256, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) - t3new += einsum(x256, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -1.0 - del x256 - x257 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x257 += einsum(t1[np.ix_(so,sv)], (0, 1), x186, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 6, 1)) - del x186 - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), x257, (2, 3, 4, 5, 0, 6), (4, 5, 2, 1, 6, 3)) * 0.5 - del x257 - x258 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x258 += einsum(x5, (0, 1), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (2, 3, 4, 5, 1, 6), (4, 6, 2, 3, 0, 5)) * -1.0 - x259 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x259 += einsum(t1[np.ix_(so,sv)], (0, 1), x258, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x258 - t3new += einsum(x259, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -1.0 - t3new += einsum(x259, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) - del x259 - x260 = np.zeros((navir, navir, nocc, nvir), dtype=types[float]) - x260 += einsum(t1[np.ix_(so,sV)], (0, 1), v.oovV, (2, 0, 3, 4), (1, 4, 2, 3)) * -1.0 - x261 = np.zeros((navir, navir, nocc, nocc), dtype=types[float]) - x261 += einsum(t1[np.ix_(so,sv)], (0, 1), x260, (2, 3, 4, 1), (2, 3, 0, 4)) - x262 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x262 += einsum(x261, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 3, 5, 6, 7, 1), (5, 0, 2, 4, 6, 7)) * -1.0 - del x261 - t3new += einsum(x262, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) - t3new += einsum(x262, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -1.0 - del x262 - x263 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x263 += einsum(x260, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 5, 6, 7, 3, 1), (6, 0, 4, 5, 2, 7)) - del x260 - x264 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x264 += einsum(t1[np.ix_(so,sv)], (0, 1), x263, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) * -1.0 - del x263 - t3new += einsum(x264, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -0.5 - t3new += einsum(x264, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 0.5 - del x264 - x265 = np.zeros((navir, nocc), dtype=types[float]) - x265 += einsum(t1[np.ix_(so,sv)], (0, 1), v.oovV, (2, 0, 1, 3), (3, 2)) * -1.0 - x266 = np.zeros((navir, navir), dtype=types[float]) - x266 += einsum(t1[np.ix_(so,sV)], (0, 1), x265, (2, 0), (1, 2)) - del x265 - t3new += einsum(x266, (0, 1), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 6, 0)) * -1.0 - del x266 - x267 = np.zeros((naocc, naocc, nocc, nvir), dtype=types[float]) - x267 += einsum(t1[np.ix_(sO,sv)], (0, 1), v.oOvv, (2, 3, 4, 1), (0, 3, 2, 4)) * -1.0 - x268 = np.zeros((naocc, naocc, nocc, nocc), dtype=types[float]) - x268 += einsum(t1[np.ix_(so,sv)], (0, 1), x267, (2, 3, 4, 1), (2, 3, 0, 4)) * -1.0 - x269 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x269 += einsum(x268, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 3, 1, 5, 6, 7), (0, 7, 2, 4, 5, 6)) - del x268 - t3new += einsum(x269, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 0.5 - t3new += einsum(x269, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -0.5 - del x269 - x270 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x270 += einsum(x267, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 5, 1, 6, 3, 7), (0, 7, 4, 5, 2, 6)) * -1.0 - del x267 - x271 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x271 += einsum(t1[np.ix_(so,sv)], (0, 1), x270, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x270 - t3new += einsum(x271, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -1.0 - t3new += einsum(x271, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) - del x271 - x272 = np.zeros((naocc, nvir), dtype=types[float]) - x272 += einsum(t1[np.ix_(so,sv)], (0, 1), v.oOvv, (0, 2, 3, 1), (2, 3)) * -1.0 - x273 = np.zeros((naocc, naocc), dtype=types[float]) - x273 += einsum(t1[np.ix_(sO,sv)], (0, 1), x272, (2, 1), (0, 2)) - del x272 - t3new += einsum(x273, (0, 1), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (2, 3, 1, 4, 5, 6), (2, 3, 0, 4, 5, 6)) * -1.0 - del x273 - x274 = np.zeros((naocc, naocc, navir, nocc), dtype=types[float]) - x274 += einsum(t1[np.ix_(sO,sv)], (0, 1), v.oOvV, (2, 3, 1, 4), (0, 3, 4, 2)) - x275 = np.zeros((naocc, naocc, navir, navir), dtype=types[float]) - x275 += einsum(t1[np.ix_(so,sV)], (0, 1), x274, (2, 3, 4, 0), (2, 3, 1, 4)) - del x274 - t3new += einsum(x275, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 5, 1, 6, 7, 3), (4, 5, 0, 6, 7, 2)) * -1.0 - del x275 - x276 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x276 += einsum(t2[np.ix_(so,sO,sv,sV)], (0, 1, 2, 3), x47, (4, 5, 0, 6), (1, 3, 4, 5, 2, 6)) - del x47 - t3new += einsum(x276, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) - t3new += einsum(x276, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -1.0 - t3new += einsum(x276, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -1.0 - t3new += einsum(x276, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) - del x276 - x277 = np.zeros((naocc, navir, nocc, nvir), dtype=types[float]) - x277 += einsum(t2[np.ix_(so,sO,sv,sV)], (0, 1, 2, 3), v.oovv, (4, 0, 5, 2), (1, 3, 4, 5)) - x278 = np.zeros((naocc, navir, nocc, nocc), dtype=types[float]) - x278 += einsum(t1[np.ix_(so,sv)], (0, 1), x277, (2, 3, 4, 1), (2, 3, 0, 4)) - x279 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x279 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x278, (4, 5, 6, 1), (4, 5, 6, 0, 2, 3)) * -1.0 - del x278 - t3new += einsum(x279, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) - t3new += einsum(x279, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -1.0 - del x279 - x280 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x280 += einsum(t2[np.ix_(so,sO,sv,sV)], (0, 1, 2, 3), v.oovv, (4, 5, 6, 2), (1, 3, 0, 4, 5, 6)) - x281 = np.zeros((naocc, navir, nocc, nocc, nocc, nocc), dtype=types[float]) - x281 += einsum(t1[np.ix_(so,sv)], (0, 1), x280, (2, 3, 4, 5, 6, 1), (2, 3, 0, 4, 6, 5)) * -1.0 - x282 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x282 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x281, (4, 5, 6, 7, 0, 1), (4, 5, 6, 7, 2, 3)) - t3new += einsum(x282, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -0.5 - t3new += einsum(x282, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 0.5 - del x282 - x283 = np.zeros((naocc, nocc, nocc, nvir), dtype=types[float]) - x283 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x3, (4, 0, 5, 3), (1, 4, 5, 2)) * -1.0 - x284 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x284 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x283, (4, 5, 1, 6), (4, 3, 5, 0, 6, 2)) - del x283 - t3new += einsum(x284, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -1.0 - t3new += einsum(x284, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) - t3new += einsum(x284, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) - t3new += einsum(x284, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -1.0 - del x284 - x285 = np.zeros((navir, nocc, nocc, nvir), dtype=types[float]) - x285 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), v.oovv, (4, 1, 5, 2), (3, 0, 4, 5)) * -1.0 - x286 = np.zeros((navir, nocc, nocc, nocc), dtype=types[float]) - x286 += einsum(t1[np.ix_(so,sv)], (0, 1), x285, (2, 3, 4, 1), (2, 0, 3, 4)) - x287 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x287 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x286, (4, 5, 6, 0), (1, 4, 5, 6, 2, 3)) * -1.0 - del x286 - t3new += einsum(x287, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) - t3new += einsum(x287, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -1.0 - del x287 - x288 = np.zeros((navir, nocc, nvir, nvir), dtype=types[float]) - x288 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x3, (4, 0, 1, 5), (3, 4, 2, 5)) * -1.0 - del x3 - x289 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x289 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x288, (4, 5, 6, 3), (1, 4, 5, 0, 2, 6)) - del x288 - t3new += einsum(x289, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 0.5 - t3new += einsum(x289, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -0.5 - t3new += einsum(x289, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -0.5 - t3new += einsum(x289, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 0.5 - del x289 - x290 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x290 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x280, (4, 5, 6, 7, 1, 3), (4, 5, 6, 0, 7, 2)) * -1.0 - del x280 - x291 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x291 += einsum(t1[np.ix_(so,sv)], (0, 1), x290, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x290 - t3new += einsum(x291, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) - t3new += einsum(x291, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -1.0 - t3new += einsum(x291, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -1.0 - t3new += einsum(x291, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) - del x291 - x292 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x292 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x277, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) * -1.0 - del x277 - x293 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x293 += einsum(t1[np.ix_(so,sv)], (0, 1), x292, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x292 - t3new += einsum(x293, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -1.0 - t3new += einsum(x293, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) - del x293 - x294 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x294 += einsum(t2[np.ix_(so,sO,sv,sV)], (0, 1, 2, 3), x41, (4, 5, 0, 6), (1, 3, 4, 5, 6, 2)) * -1.0 - del x41 - x295 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x295 += einsum(t1[np.ix_(so,sv)], (0, 1), x294, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x294 - t3new += einsum(x295, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 0.5 - t3new += einsum(x295, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -0.5 - del x295 - x296 = np.zeros((naocc, nocc, nocc, nocc), dtype=types[float]) - x296 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), v.oovv, (4, 5, 2, 3), (1, 0, 4, 5)) * -1.0 - x297 = np.zeros((naocc, nocc, nocc, nvir), dtype=types[float]) - x297 += einsum(t1[np.ix_(so,sv)], (0, 1), x296, (2, 3, 4, 0), (2, 3, 4, 1)) - del x296 - x298 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x298 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x297, (4, 5, 1, 6), (4, 3, 5, 0, 6, 2)) - del x297 - t3new += einsum(x298, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -0.5 - t3new += einsum(x298, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 0.5 - t3new += einsum(x298, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 0.5 - t3new += einsum(x298, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -0.5 - del x298 - x299 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x299 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x285, (4, 5, 6, 3), (1, 4, 0, 5, 6, 2)) * -1.0 - del x285 - x300 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x300 += einsum(t1[np.ix_(so,sv)], (0, 1), x299, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x299 - t3new += einsum(x300, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -1.0 - t3new += einsum(x300, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) - t3new += einsum(x300, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) - t3new += einsum(x300, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -1.0 - del x300 - x301 = np.zeros((naocc, nocc, nvir, nvir), dtype=types[float]) - x301 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), v.oovv, (4, 0, 5, 3), (1, 4, 2, 5)) * -1.0 - x302 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x302 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x301, (4, 5, 6, 2), (4, 3, 0, 1, 5, 6)) - del x301 - x303 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x303 += einsum(t1[np.ix_(so,sv)], (0, 1), x302, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x302 - t3new += einsum(x303, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) - t3new += einsum(x303, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -1.0 - del x303 - x304 = np.zeros((naocc, navir, nocc, nocc), dtype=types[float]) - x304 += einsum(x5, (0, 1), t2[np.ix_(so,sO,sv,sV)], (2, 3, 1, 4), (3, 4, 2, 0)) * -1.0 - x305 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x305 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x304, (4, 5, 6, 1), (4, 5, 6, 0, 2, 3)) * -1.0 - del x304 - t3new += einsum(x305, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) - t3new += einsum(x305, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -1.0 - del x305 - x306 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x306 += einsum(t2[np.ix_(so,sO,sv,sV)], (0, 1, 2, 3), x51, (4, 5, 0, 6), (1, 3, 4, 5, 2, 6)) * -1.0 - del x51 - t3new += einsum(x306, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -1.0 - t3new += einsum(x306, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) - del x306 - x307 = np.zeros((naocc, nocc, nocc, nvir), dtype=types[float]) - x307 += einsum(x5, (0, 1), t2[np.ix_(so,sO,sv,sv)], (2, 3, 4, 1), (3, 2, 0, 4)) - x308 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x308 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x307, (4, 5, 1, 6), (4, 3, 5, 0, 6, 2)) - del x307 - t3new += einsum(x308, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -1.0 - t3new += einsum(x308, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) - t3new += einsum(x308, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) - t3new += einsum(x308, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -1.0 - del x308 - x309 = np.zeros((navir, nocc, nocc, nocc), dtype=types[float]) - x309 += einsum(x5, (0, 1), t2[np.ix_(so,so,sv,sV)], (2, 3, 1, 4), (4, 2, 3, 0)) - del x5 - t3new += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x309, (4, 5, 6, 0), (5, 6, 1, 2, 3, 4)) - del x309 - x310 = np.zeros((navir, nocc, nvir, nvir), dtype=types[float]) - x310 += einsum(t1[np.ix_(so,sV)], (0, 1), v.oovv, (2, 0, 3, 4), (1, 2, 3, 4)) - x311 = np.zeros((navir, nocc, nvir, nvir), dtype=types[float]) - x311 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x310, (4, 1, 3, 5), (4, 0, 2, 5)) - x312 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x312 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x311, (4, 5, 6, 3), (1, 4, 0, 5, 2, 6)) * -1.0 - del x311 - t3new += einsum(x312, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) - t3new += einsum(x312, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -1.0 - t3new += einsum(x312, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -1.0 - t3new += einsum(x312, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) - del x312 - x313 = np.zeros((naocc, navir, nocc, nocc), dtype=types[float]) - x313 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x310, (4, 5, 2, 3), (1, 4, 0, 5)) * -1.0 - x314 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x314 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x313, (4, 5, 6, 1), (4, 5, 6, 0, 2, 3)) * -1.0 - del x313 - t3new += einsum(x314, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -0.5 - t3new += einsum(x314, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 0.5 - del x314 - x315 = np.zeros((naocc, navir, nvir, nvir), dtype=types[float]) - x315 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x310, (4, 0, 3, 5), (1, 4, 2, 5)) * -1.0 - x316 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x316 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x315, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) * -1.0 - del x315 - t3new += einsum(x316, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -1.0 - t3new += einsum(x316, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) - del x316 - x317 = np.zeros((navir, nocc, nocc, nocc), dtype=types[float]) - x317 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x310, (4, 5, 2, 3), (4, 0, 1, 5)) - t3new += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x317, (4, 5, 6, 0), (5, 6, 1, 2, 3, 4)) * -0.5 - del x317 - x318 = np.zeros((naocc, nocc, nocc, nvir), dtype=types[float]) - x318 += einsum(t1[np.ix_(sO,sv)], (0, 1), v.oovv, (2, 3, 4, 1), (0, 2, 3, 4)) - x319 = np.zeros((naocc, nocc, nocc, nvir), dtype=types[float]) - x319 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x318, (4, 1, 5, 3), (4, 0, 5, 2)) - x320 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x320 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x319, (4, 5, 1, 6), (4, 3, 0, 5, 2, 6)) * -1.0 - del x319 - t3new += einsum(x320, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) - t3new += einsum(x320, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -1.0 - t3new += einsum(x320, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -1.0 - t3new += einsum(x320, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) - del x320 - x321 = np.zeros((naocc, navir, nocc, nocc), dtype=types[float]) - x321 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x318, (4, 1, 5, 2), (4, 3, 0, 5)) * -1.0 - x322 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x322 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x321, (4, 5, 6, 1), (4, 5, 6, 0, 2, 3)) * -1.0 - del x321 - t3new += einsum(x322, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) - t3new += einsum(x322, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -1.0 - del x322 - x323 = np.zeros((naocc, navir, nvir, nvir), dtype=types[float]) - x323 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x318, (4, 0, 1, 5), (4, 3, 2, 5)) * -1.0 - x324 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x324 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x323, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) * -1.0 - del x323 - t3new += einsum(x324, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 0.5 - t3new += einsum(x324, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -0.5 - del x324 - x325 = np.zeros((naocc, nvir, nvir, nvir), dtype=types[float]) - x325 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x318, (4, 0, 1, 5), (4, 2, 3, 5)) - t3new += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x325, (4, 5, 6, 2), (0, 1, 4, 5, 6, 3)) * -0.5 - del x325 - x326 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x326 += einsum(t2[np.ix_(so,sO,sv,sV)], (0, 1, 2, 3), x46, (4, 5, 6, 0), (1, 3, 4, 5, 6, 2)) - del x46 - x327 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x327 += einsum(t1[np.ix_(so,sv)], (0, 1), x326, (2, 3, 4, 5, 0, 6), (2, 3, 5, 4, 1, 6)) * -1.0 - del x326 - t3new += einsum(x327, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) - t3new += einsum(x327, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -1.0 - del x327 - x328 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x328 += einsum(t1[np.ix_(so,sv)], (0, 1), x281, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 6, 1)) - del x281 - x329 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x329 += einsum(t1[np.ix_(so,sv)], (0, 1), x328, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 6, 1)) * -1.0 - del x328 - t3new += einsum(x329, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -1.0 - t3new += einsum(x329, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) - del x329 - x330 = np.zeros((navir, nocc, nocc, nvir), dtype=types[float]) - x330 += einsum(t1[np.ix_(so,sv)], (0, 1), x310, (2, 3, 1, 4), (2, 0, 3, 4)) * -1.0 - del x310 - x331 = np.zeros((navir, nocc, nocc, nocc), dtype=types[float]) - x331 += einsum(t1[np.ix_(so,sv)], (0, 1), x330, (2, 3, 4, 1), (2, 3, 0, 4)) * -1.0 - t3new += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x331, (4, 5, 6, 0), (5, 6, 1, 2, 3, 4)) * -1.0 - del x331 - x332 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x332 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x330, (4, 5, 6, 3), (1, 4, 5, 0, 6, 2)) - del x330 - x333 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x333 += einsum(t1[np.ix_(so,sv)], (0, 1), x332, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) * -1.0 - del x332 - t3new += einsum(x333, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) - t3new += einsum(x333, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -1.0 - t3new += einsum(x333, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -1.0 - t3new += einsum(x333, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) - del x333 - x334 = np.zeros((naocc, nocc, nocc, nocc), dtype=types[float]) - x334 += einsum(t1[np.ix_(so,sv)], (0, 1), x318, (2, 3, 4, 1), (2, 0, 4, 3)) - x335 = np.zeros((naocc, nocc, nocc, nvir), dtype=types[float]) - x335 += einsum(t1[np.ix_(so,sv)], (0, 1), x334, (2, 3, 0, 4), (2, 3, 4, 1)) * -1.0 - del x334 - x336 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x336 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x335, (4, 5, 1, 6), (4, 3, 5, 0, 6, 2)) - del x335 - t3new += einsum(x336, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) - t3new += einsum(x336, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -1.0 - t3new += einsum(x336, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -1.0 - t3new += einsum(x336, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) - del x336 - x337 = np.zeros((naocc, navir, nocc, nocc, nocc, nocc), dtype=types[float]) - x337 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x318, (4, 5, 6, 2), (4, 3, 0, 1, 6, 5)) * -1.0 - del x318 - x338 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x338 += einsum(t1[np.ix_(so,sv)], (0, 1), x337, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 6, 1)) - del x337 - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), x338, (2, 3, 4, 5, 0, 6), (4, 5, 2, 1, 6, 3)) * -1.0 - del x338 - x339 = np.zeros((naocc, navir, nocc, nvir), dtype=types[float]) - x339 += einsum(t1[np.ix_(so,sV)], (0, 1), t1[np.ix_(sO,sv)], (2, 3), v.oovv, (4, 0, 5, 3), (2, 1, 4, 5)) - x340 = np.zeros((naocc, navir, nocc, nocc), dtype=types[float]) - x340 += einsum(t1[np.ix_(so,sv)], (0, 1), x339, (2, 3, 4, 1), (2, 3, 0, 4)) * -1.0 - x341 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x341 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x340, (4, 5, 6, 1), (4, 5, 6, 0, 2, 3)) * -1.0 - del x340 - t3new += einsum(x341, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) - t3new += einsum(x341, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -1.0 - del x341 - x342 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x342 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x339, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) * -1.0 - del x339 - x343 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x343 += einsum(t1[np.ix_(so,sv)], (0, 1), x342, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) * -1.0 - del x342 - t3new += einsum(x343, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -1.0 - t3new += einsum(x343, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) - del x343 - - return {"t1new": t1new, "t2new": t2new, "t3new": t3new} - diff --git a/ebcc/codegen/GCCSDtp.py b/ebcc/codegen/GCCSDtp.py deleted file mode 100644 index 3ee98066..00000000 --- a/ebcc/codegen/GCCSDtp.py +++ /dev/null @@ -1,966 +0,0 @@ -# Code generated for ebcc. - -from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, Namespace -from ebcc.precision import types - -def energy(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, t3=None, **kwargs): - # energy - e_cc = 0 - e_cc += einsum(f.ov, (0, 1), t1, (0, 1), ()) - x0 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x0 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - x0 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) * 2.0 - e_cc += einsum(v.oovv, (0, 1, 2, 3), x0, (0, 1, 2, 3), ()) * 0.25 - del x0 - - return e_cc - -def update_amps(f=None, v=None, space=None, t1=None, t2=None, t3=None, **kwargs): - nocc = space.ncocc - nvir = space.ncvir - naocc = space.naocc - navir = space.navir - so = np.ones((nocc,), dtype=bool) - sv = np.ones((nvir,), dtype=bool) - sO = space.active[space.correlated][space.occupied[space.correlated]] - sV = space.active[space.correlated][space.virtual[space.correlated]] - - # T amplitudes - t1new = np.zeros(((nocc, nvir)), dtype=types[float]) - t1new[np.ix_(so,sv)] += einsum(f.ov, (0, 1), (0, 1)) - t1new[np.ix_(so,sv)] += einsum(f.oo, (0, 1), t1[np.ix_(so,sv)], (1, 2), (0, 2)) * -1.0 - t1new[np.ix_(so,sv)] += einsum(f.vv, (0, 1), t1[np.ix_(so,sv)], (2, 1), (2, 0)) - t1new[np.ix_(so,sv)] += einsum(f.ov, (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 0, 3, 1), (2, 3)) - t1new[np.ix_(so,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), v.ovov, (2, 1, 0, 3), (2, 3)) * -1.0 - t1new[np.ix_(so,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.ooov, (0, 1, 4, 3), (4, 2)) * -0.5 - t1new[np.ix_(so,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.ovvv, (1, 4, 2, 3), (0, 4)) * -0.5 - t1new[np.ix_(sO,sV)] += einsum(v.OOVV, (0, 1, 2, 3), t3, (4, 0, 1, 5, 2, 3), (4, 5)) * 0.25 - t2new = np.zeros(((nocc, nocc, nvir, nvir)), dtype=types[float]) - t2new[np.ix_(so,so,sv,sv)] += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new[np.ix_(sO,sO,sV,sV)] += einsum(f.OV, (0, 1), t3, (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) - t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.oooo, (4, 5, 0, 1), (4, 5, 2, 3)) * 0.5 - t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.vvvv, (4, 5, 2, 3), (0, 1, 4, 5)) * 0.5 - x0 = np.zeros((nocc, nocc), dtype=types[float]) - x0 += einsum(f.ov, (0, 1), t1[np.ix_(so,sv)], (2, 1), (0, 2)) - t1new[np.ix_(so,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), x0, (0, 2), (2, 1)) * -1.0 - x1 = np.zeros((nocc, nocc), dtype=types[float]) - x1 += einsum(t1[np.ix_(so,sv)], (0, 1), v.ooov, (2, 0, 3, 1), (2, 3)) - t1new[np.ix_(so,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), x1, (0, 2), (2, 1)) * -1.0 - x2 = np.zeros((nvir, nvir), dtype=types[float]) - x2 += einsum(t1[np.ix_(so,sv)], (0, 1), v.ovvv, (0, 2, 3, 1), (2, 3)) - t1new[np.ix_(so,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), x2, (2, 1), (0, 2)) * -1.0 - x3 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x3 += einsum(t1[np.ix_(so,sv)], (0, 1), v.oovv, (2, 3, 4, 1), (0, 2, 3, 4)) - t1new[np.ix_(so,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x3, (4, 0, 1, 3), (4, 2)) * 0.5 - x4 = np.zeros((nocc, nocc), dtype=types[float]) - x4 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.oovv, (4, 1, 2, 3), (0, 4)) - t1new[np.ix_(so,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), x4, (2, 0), (2, 1)) * -0.5 - x5 = np.zeros((nocc, nvir), dtype=types[float]) - x5 += einsum(t1[np.ix_(so,sv)], (0, 1), v.oovv, (2, 0, 3, 1), (2, 3)) - t1new[np.ix_(so,sv)] += einsum(x5, (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 0, 3, 1), (2, 3)) - x6 = np.zeros((nocc, nocc), dtype=types[float]) - x6 += einsum(t1[np.ix_(so,sv)], (0, 1), x5, (2, 1), (0, 2)) - t1new[np.ix_(so,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), x6, (2, 0), (2, 1)) * -1.0 - x7 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x7 += einsum(f.oo, (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 1, 3, 4), (0, 2, 3, 4)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x7, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(x7, (0, 1, 2, 3), (1, 0, 3, 2)) - del x7 - x8 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x8 += einsum(f.vv, (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 1), (2, 3, 0, 4)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x8, (0, 1, 2, 3), (1, 0, 2, 3)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x8, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x8 - x9 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x9 += einsum(t1[np.ix_(so,sv)], (0, 1), v.ooov, (2, 3, 0, 4), (2, 3, 1, 4)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x9, (0, 1, 2, 3), (1, 0, 2, 3)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x9, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x9 - x10 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x10 += einsum(t1[np.ix_(so,sv)], (0, 1), v.ovvv, (2, 1, 3, 4), (0, 2, 3, 4)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x10, (0, 1, 2, 3), (0, 1, 3, 2)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x10, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x10 - x11 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x11 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.ovov, (4, 3, 1, 5), (0, 4, 2, 5)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x11, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(x11, (0, 1, 2, 3), (0, 1, 3, 2)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x11, (0, 1, 2, 3), (1, 0, 2, 3)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x11, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x11 - x12 = np.zeros((naocc, navir, navir, nocc), dtype=types[float]) - x12 += einsum(v.oVOO, (0, 1, 2, 3), t3, (4, 2, 3, 5, 6, 1), (4, 5, 6, 0)) * -1.0 - t2new[np.ix_(so,sO,sV,sV)] += einsum(x12, (0, 1, 2, 3), (3, 0, 2, 1)) * 0.5 - t2new[np.ix_(sO,so,sV,sV)] += einsum(x12, (0, 1, 2, 3), (0, 3, 2, 1)) * -0.5 - del x12 - x13 = np.zeros((naocc, naocc, navir, nvir), dtype=types[float]) - x13 += einsum(v.vOVV, (0, 1, 2, 3), t3, (4, 5, 1, 6, 2, 3), (4, 5, 6, 0)) * -1.0 - t2new[np.ix_(sO,sO,sv,sV)] += einsum(x13, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.5 - t2new[np.ix_(sO,sO,sV,sv)] += einsum(x13, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - del x13 - x14 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x14 += einsum(x0, (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 0, 3, 4), (1, 2, 3, 4)) - del x0 - t2new[np.ix_(so,so,sv,sv)] += einsum(x14, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(x14, (0, 1, 2, 3), (1, 0, 3, 2)) - del x14 - x15 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x15 += einsum(f.ov, (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 1), (0, 2, 3, 4)) - x16 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x16 += einsum(t1[np.ix_(so,sv)], (0, 1), x15, (0, 2, 3, 4), (2, 3, 1, 4)) - del x15 - t2new[np.ix_(so,so,sv,sv)] += einsum(x16, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x16, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x16 - x17 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x17 += einsum(t1[np.ix_(so,sv)], (0, 1), v.oooo, (2, 3, 4, 0), (2, 3, 4, 1)) - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), x17, (2, 3, 0, 4), (2, 3, 1, 4)) - del x17 - x18 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x18 += einsum(t1[np.ix_(so,sv)], (0, 1), v.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) - x19 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x19 += einsum(t1[np.ix_(so,sv)], (0, 1), x18, (2, 0, 3, 4), (2, 3, 1, 4)) - del x18 - t2new[np.ix_(so,so,sv,sv)] += einsum(x19, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x19, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(x19, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(x19, (0, 1, 2, 3), (1, 0, 3, 2)) - del x19 - x20 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x20 += einsum(t1[np.ix_(so,sv)], (0, 1), v.vvvv, (2, 3, 4, 1), (0, 2, 3, 4)) - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), x20, (2, 3, 4, 1), (0, 2, 4, 3)) * -1.0 - del x20 - x21 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x21 += einsum(t1[np.ix_(so,sv)], (0, 1), v.ooov, (2, 3, 4, 1), (0, 2, 3, 4)) - x22 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x22 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x21, (4, 0, 1, 5), (4, 5, 2, 3)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x22, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.5 - t2new[np.ix_(so,so,sv,sv)] += einsum(x22, (0, 1, 2, 3), (1, 0, 3, 2)) * -0.5 - del x22 - x23 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x23 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.ooov, (4, 1, 5, 3), (0, 4, 5, 2)) - x24 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x24 += einsum(t1[np.ix_(so,sv)], (0, 1), x23, (2, 0, 3, 4), (2, 3, 1, 4)) - del x23 - t2new[np.ix_(so,so,sv,sv)] += einsum(x24, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x24, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(x24, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(x24, (0, 1, 2, 3), (1, 0, 3, 2)) - del x24 - x25 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x25 += einsum(x1, (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 0, 3, 4), (2, 1, 3, 4)) * -1.0 - del x1 - t2new[np.ix_(so,so,sv,sv)] += einsum(x25, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(x25, (0, 1, 2, 3), (1, 0, 3, 2)) - del x25 - x26 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x26 += einsum(t1[np.ix_(so,sv)], (0, 1), v.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) - x27 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x27 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x26, (4, 1, 5, 3), (4, 0, 2, 5)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(x27, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(x27, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x27, (0, 1, 2, 3), (1, 0, 3, 2)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x27, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x27 - x28 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x28 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.ovvv, (4, 5, 2, 3), (0, 1, 4, 5)) - x29 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x29 += einsum(t1[np.ix_(so,sv)], (0, 1), x28, (2, 3, 0, 4), (2, 3, 1, 4)) - del x28 - t2new[np.ix_(so,so,sv,sv)] += einsum(x29, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - t2new[np.ix_(so,so,sv,sv)] += einsum(x29, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.5 - del x29 - x30 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x30 += einsum(x2, (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 1), (2, 3, 4, 0)) * -1.0 - del x2 - t2new[np.ix_(so,so,sv,sv)] += einsum(x30, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(x30, (0, 1, 2, 3), (0, 1, 2, 3)) - del x30 - x31 = np.zeros((naocc, naocc, navir, nocc), dtype=types[float]) - x31 += einsum(t1[np.ix_(so,sv)], (0, 1), v.vVOO, (1, 2, 3, 4), (3, 4, 2, 0)) * -1.0 - x32 = np.zeros((naocc, navir, navir, nocc), dtype=types[float]) - x32 += einsum(x31, (0, 1, 2, 3), t3, (4, 0, 1, 5, 6, 2), (4, 5, 6, 3)) - del x31 - t2new[np.ix_(so,sO,sV,sV)] += einsum(x32, (0, 1, 2, 3), (3, 0, 2, 1)) * 0.5 - t2new[np.ix_(sO,so,sV,sV)] += einsum(x32, (0, 1, 2, 3), (0, 3, 2, 1)) * -0.5 - del x32 - x33 = np.zeros((naocc, naocc, navir, nocc), dtype=types[float]) - x33 += einsum(v.oOVV, (0, 1, 2, 3), t3, (4, 5, 1, 6, 2, 3), (4, 5, 6, 0)) * -1.0 - x34 = np.zeros((naocc, naocc, navir, nvir), dtype=types[float]) - x34 += einsum(t1[np.ix_(so,sv)], (0, 1), x33, (2, 3, 4, 0), (3, 2, 4, 1)) * -1.0 - del x33 - t2new[np.ix_(sO,sO,sv,sV)] += einsum(x34, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.5 - t2new[np.ix_(sO,sO,sV,sv)] += einsum(x34, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - del x34 - x35 = np.zeros((naocc, navir), dtype=types[float]) - x35 += einsum(t1[np.ix_(so,sv)], (0, 1), v.oOvV, (0, 2, 1, 3), (2, 3)) - t2new[np.ix_(sO,sO,sV,sV)] += einsum(x35, (0, 1), t3, (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) - del x35 - x36 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x36 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.oovv, (4, 1, 5, 3), (0, 4, 2, 5)) - x37 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x37 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x36, (4, 1, 5, 3), (4, 0, 5, 2)) - del x36 - t2new[np.ix_(so,so,sv,sv)] += einsum(x37, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x37, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x37 - x38 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x38 += einsum(x4, (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 1, 3, 4), (2, 0, 3, 4)) - del x4 - t2new[np.ix_(so,so,sv,sv)] += einsum(x38, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.5 - t2new[np.ix_(so,so,sv,sv)] += einsum(x38, (0, 1, 2, 3), (1, 0, 3, 2)) * -0.5 - del x38 - x39 = np.zeros((nvir, nvir), dtype=types[float]) - x39 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.oovv, (0, 1, 4, 3), (2, 4)) - x40 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x40 += einsum(x39, (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 1), (2, 3, 4, 0)) - del x39 - t2new[np.ix_(so,so,sv,sv)] += einsum(x40, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - t2new[np.ix_(so,so,sv,sv)] += einsum(x40, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.5 - del x40 - x41 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x41 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.oovv, (4, 5, 2, 3), (0, 1, 4, 5)) - t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x41, (4, 5, 0, 1), (5, 4, 2, 3)) * -0.25 - x42 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x42 += einsum(t1[np.ix_(so,sv)], (0, 1), x21, (2, 0, 3, 4), (2, 3, 4, 1)) * -1.0 - del x21 - x43 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x43 += einsum(t1[np.ix_(so,sv)], (0, 1), x42, (2, 0, 3, 4), (2, 3, 4, 1)) * -1.0 - del x42 - t2new[np.ix_(so,so,sv,sv)] += einsum(x43, (0, 1, 2, 3), (0, 1, 3, 2)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x43, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x43 - x44 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x44 += einsum(t1[np.ix_(so,sv)], (0, 1), x26, (2, 3, 4, 1), (2, 0, 3, 4)) * -1.0 - del x26 - x45 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x45 += einsum(t1[np.ix_(so,sv)], (0, 1), x44, (2, 3, 0, 4), (3, 2, 1, 4)) * -1.0 - del x44 - t2new[np.ix_(so,so,sv,sv)] += einsum(x45, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(x45, (0, 1, 2, 3), (0, 1, 3, 2)) - del x45 - x46 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x46 += einsum(t1[np.ix_(so,sv)], (0, 1), x3, (2, 3, 4, 1), (2, 0, 4, 3)) - t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x46, (4, 5, 0, 1), (5, 4, 2, 3)) * -0.5 - x47 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x47 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x3, (4, 1, 5, 3), (4, 0, 5, 2)) - del x3 - x48 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x48 += einsum(t1[np.ix_(so,sv)], (0, 1), x47, (2, 3, 0, 4), (2, 3, 1, 4)) - del x47 - t2new[np.ix_(so,so,sv,sv)] += einsum(x48, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(x48, (0, 1, 2, 3), (0, 1, 3, 2)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x48, (0, 1, 2, 3), (1, 0, 2, 3)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x48, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x48 - x49 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x49 += einsum(x6, (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 1, 3, 4), (0, 2, 3, 4)) * -1.0 - del x6 - t2new[np.ix_(so,so,sv,sv)] += einsum(x49, (0, 1, 2, 3), (0, 1, 3, 2)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x49, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x49 - x50 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x50 += einsum(t1[np.ix_(so,sv)], (0, 1), x41, (2, 3, 0, 4), (2, 3, 4, 1)) * -1.0 - del x41 - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), x50, (2, 3, 0, 4), (2, 3, 1, 4)) * 0.5 - del x50 - x51 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x51 += einsum(x5, (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 1), (2, 3, 0, 4)) * -1.0 - x52 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x52 += einsum(t1[np.ix_(so,sv)], (0, 1), x51, (2, 3, 0, 4), (2, 3, 1, 4)) - del x51 - t2new[np.ix_(so,so,sv,sv)] += einsum(x52, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(x52, (0, 1, 2, 3), (0, 1, 3, 2)) - del x52 - x53 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x53 += einsum(t1[np.ix_(so,sv)], (0, 1), x46, (2, 3, 4, 0), (2, 3, 4, 1)) - del x46 - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), x53, (2, 3, 0, 4), (3, 2, 1, 4)) * -1.0 - del x53 - x54 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) - x54 += einsum(f.OO, (0, 1), t3, (2, 3, 1, 4, 5, 6), (0, 2, 3, 4, 5, 6)) - t3new = np.zeros(((naocc, naocc, naocc, navir, navir, navir)), dtype=types[float]) - t3new += einsum(x54, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - t3new += einsum(x54, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) - t3new += einsum(x54, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 - del x54 - x55 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) - x55 += einsum(f.VV, (0, 1), t3, (2, 3, 4, 5, 6, 1), (2, 3, 4, 0, 5, 6)) - t3new += einsum(x55, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 - t3new += einsum(x55, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) - t3new += einsum(x55, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -1.0 - del x55 - x56 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) - x56 += einsum(t2[np.ix_(so,sO,sV,sV)], (0, 1, 2, 3), v.oVOO, (0, 4, 5, 6), (1, 5, 6, 2, 3, 4)) - t3new += einsum(x56, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) - t3new += einsum(x56, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 - t3new += einsum(x56, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) - t3new += einsum(x56, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) - t3new += einsum(x56, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -1.0 - t3new += einsum(x56, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) - t3new += einsum(x56, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * -1.0 - t3new += einsum(x56, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) - t3new += einsum(x56, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -1.0 - del x56 - x57 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) - x57 += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), v.vOVV, (2, 4, 5, 6), (0, 1, 4, 3, 5, 6)) - t3new += einsum(x57, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - t3new += einsum(x57, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) - t3new += einsum(x57, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -1.0 - t3new += einsum(x57, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - t3new += einsum(x57, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -1.0 - t3new += einsum(x57, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) - t3new += einsum(x57, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -1.0 - t3new += einsum(x57, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) - t3new += einsum(x57, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -1.0 - del x57 - x58 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) - x58 += einsum(v.OOOO, (0, 1, 2, 3), t3, (4, 2, 3, 5, 6, 7), (4, 0, 1, 5, 6, 7)) - t3new += einsum(x58, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 0.5 - t3new += einsum(x58, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -0.5 - t3new += einsum(x58, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -0.5 - del x58 - x59 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) - x59 += einsum(v.OVOV, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 1), (4, 5, 0, 6, 7, 3)) - t3new += einsum(x59, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -1.0 - t3new += einsum(x59, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) - t3new += einsum(x59, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -1.0 - t3new += einsum(x59, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -1.0 - t3new += einsum(x59, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - t3new += einsum(x59, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -1.0 - t3new += einsum(x59, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) - t3new += einsum(x59, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -1.0 - t3new += einsum(x59, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) - del x59 - x60 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) - x60 += einsum(v.VVVV, (0, 1, 2, 3), t3, (4, 5, 6, 7, 2, 3), (4, 5, 6, 7, 0, 1)) - t3new += einsum(x60, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -0.5 - t3new += einsum(x60, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * 0.5 - t3new += einsum(x60, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -0.5 - del x60 - x61 = np.zeros((naocc, naocc), dtype=types[float]) - x61 += einsum(f.vO, (0, 1), t1[np.ix_(sO,sv)], (2, 0), (1, 2)) - x62 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) - x62 += einsum(x61, (0, 1), t3, (2, 3, 0, 4, 5, 6), (1, 2, 3, 4, 5, 6)) - del x61 - t3new += einsum(x62, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - t3new += einsum(x62, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) - t3new += einsum(x62, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 - del x62 - x63 = np.zeros((navir, navir), dtype=types[float]) - x63 += einsum(f.oV, (0, 1), t1[np.ix_(so,sV)], (0, 2), (1, 2)) - x64 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) - x64 += einsum(x63, (0, 1), t3, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) - del x63 - t3new += einsum(x64, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - t3new += einsum(x64, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -1.0 - t3new += einsum(x64, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) - del x64 - x65 = np.zeros((naocc, naocc, navir, nocc), dtype=types[float]) - x65 += einsum(f.ov, (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 1, 4), (2, 3, 4, 0)) * -1.0 - x66 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) - x66 += einsum(t2[np.ix_(so,sO,sV,sV)], (0, 1, 2, 3), x65, (4, 5, 6, 0), (5, 4, 1, 6, 2, 3)) - del x65 - t3new += einsum(x66, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - t3new += einsum(x66, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -1.0 - t3new += einsum(x66, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) - t3new += einsum(x66, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * -1.0 - t3new += einsum(x66, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) - t3new += einsum(x66, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) - t3new += einsum(x66, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 - t3new += einsum(x66, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) - t3new += einsum(x66, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -1.0 - del x66 - x67 = np.zeros((naocc, naocc, naocc, navir, navir, nocc), dtype=types[float]) - x67 += einsum(t2[np.ix_(so,sO,sV,sV)], (0, 1, 2, 3), v.ooOO, (4, 0, 5, 6), (1, 5, 6, 2, 3, 4)) * -1.0 - x68 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) - x68 += einsum(t1[np.ix_(so,sV)], (0, 1), x67, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) - del x67 - t3new += einsum(x68, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - t3new += einsum(x68, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * -1.0 - t3new += einsum(x68, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) - t3new += einsum(x68, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) - t3new += einsum(x68, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) - t3new += einsum(x68, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -1.0 - t3new += einsum(x68, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -1.0 - t3new += einsum(x68, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -1.0 - t3new += einsum(x68, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) - del x68 - x69 = np.zeros((naocc, naocc, navir, nocc), dtype=types[float]) - x69 += einsum(t1[np.ix_(sO,sv)], (0, 1), v.oVvO, (2, 3, 1, 4), (0, 4, 3, 2)) - x70 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) - x70 += einsum(t2[np.ix_(so,sO,sV,sV)], (0, 1, 2, 3), x69, (4, 5, 6, 0), (4, 1, 5, 2, 3, 6)) * -1.0 - del x69 - t3new += einsum(x70, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - t3new += einsum(x70, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) - t3new += einsum(x70, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -1.0 - t3new += einsum(x70, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) - t3new += einsum(x70, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 - t3new += einsum(x70, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) - t3new += einsum(x70, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) - t3new += einsum(x70, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -1.0 - t3new += einsum(x70, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) - t3new += einsum(x70, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -1.0 - t3new += einsum(x70, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) - t3new += einsum(x70, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) * -1.0 - t3new += einsum(x70, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * -1.0 - t3new += einsum(x70, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) - t3new += einsum(x70, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -1.0 - t3new += einsum(x70, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) - t3new += einsum(x70, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -1.0 - t3new += einsum(x70, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) - del x70 - x71 = np.zeros((naocc, naocc, naocc, navir, navir, nocc), dtype=types[float]) - x71 += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), v.oVvO, (4, 5, 2, 6), (0, 1, 6, 3, 5, 4)) * -1.0 - x72 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) - x72 += einsum(t1[np.ix_(so,sV)], (0, 1), x71, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) - del x71 - t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 - t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 - t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -1.0 - t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) - t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) - t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -1.0 - t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) - t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) - t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * -1.0 - t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 - t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) - t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) - t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -1.0 - t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -1.0 - t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) - del x72 - x73 = np.zeros((naocc, naocc, navir, navir, navir, nvir), dtype=types[float]) - x73 += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), v.vvVV, (4, 2, 5, 6), (0, 1, 3, 5, 6, 4)) * -1.0 - x74 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) - x74 += einsum(t1[np.ix_(sO,sv)], (0, 1), x73, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) - del x73 - t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -1.0 - t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) - t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -1.0 - t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) - t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * -1.0 - t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) - t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -1.0 - t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) - del x74 - x75 = np.zeros((naocc, naocc, naocc, naocc), dtype=types[float]) - x75 += einsum(t1[np.ix_(sO,sv)], (0, 1), v.vOOO, (1, 2, 3, 4), (0, 3, 4, 2)) * -1.0 - x76 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) - x76 += einsum(x75, (0, 1, 2, 3), t3, (4, 2, 1, 5, 6, 7), (0, 4, 3, 5, 6, 7)) * -1.0 - del x75 - t3new += einsum(x76, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -0.5 - t3new += einsum(x76, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 0.5 - t3new += einsum(x76, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * 0.5 - t3new += einsum(x76, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -0.5 - t3new += einsum(x76, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -0.5 - t3new += einsum(x76, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 0.5 - del x76 - x77 = np.zeros((naocc, naocc, navir, navir), dtype=types[float]) - x77 += einsum(t1[np.ix_(so,sV)], (0, 1), v.oOOV, (0, 2, 3, 4), (3, 2, 1, 4)) * -1.0 - x78 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) - x78 += einsum(x77, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (4, 5, 0, 2, 6, 7)) - del x77 - t3new += einsum(x78, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) - t3new += einsum(x78, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - t3new += einsum(x78, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 - t3new += einsum(x78, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * -1.0 - t3new += einsum(x78, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -1.0 - t3new += einsum(x78, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) - t3new += einsum(x78, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) - t3new += einsum(x78, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) - t3new += einsum(x78, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -1.0 - del x78 - x79 = np.zeros((naocc, naocc), dtype=types[float]) - x79 += einsum(t1[np.ix_(so,sv)], (0, 1), v.oOvO, (0, 2, 1, 3), (2, 3)) - x80 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) - x80 += einsum(x79, (0, 1), t3, (2, 3, 0, 4, 5, 6), (2, 3, 1, 4, 5, 6)) - del x79 - t3new += einsum(x80, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) - t3new += einsum(x80, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - t3new += einsum(x80, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -1.0 - del x80 - x81 = np.zeros((naocc, naocc, navir, navir), dtype=types[float]) - x81 += einsum(t1[np.ix_(sO,sv)], (0, 1), v.vVOV, (1, 2, 3, 4), (0, 3, 4, 2)) * -1.0 - x82 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) - x82 += einsum(x81, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (0, 4, 5, 6, 7, 2)) - del x81 - t3new += einsum(x82, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) - t3new += einsum(x82, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 - t3new += einsum(x82, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) - t3new += einsum(x82, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) - t3new += einsum(x82, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -1.0 - t3new += einsum(x82, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) - t3new += einsum(x82, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -1.0 - t3new += einsum(x82, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) - t3new += einsum(x82, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * -1.0 - del x82 - x83 = np.zeros((navir, navir, navir, navir), dtype=types[float]) - x83 += einsum(t1[np.ix_(so,sV)], (0, 1), v.oVVV, (0, 2, 3, 4), (1, 3, 4, 2)) * -1.0 - x84 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) - x84 += einsum(x83, (0, 1, 2, 3), t3, (4, 5, 6, 7, 1, 2), (4, 5, 6, 0, 7, 3)) - del x83 - t3new += einsum(x84, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 0.5 - t3new += einsum(x84, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -0.5 - t3new += einsum(x84, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -0.5 - t3new += einsum(x84, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 0.5 - t3new += einsum(x84, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 0.5 - t3new += einsum(x84, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -0.5 - del x84 - x85 = np.zeros((navir, navir), dtype=types[float]) - x85 += einsum(t1[np.ix_(so,sv)], (0, 1), v.oVvV, (0, 2, 1, 3), (2, 3)) - x86 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) - x86 += einsum(x85, (0, 1), t3, (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 6, 0)) - del x85 - t3new += einsum(x86, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -1.0 - t3new += einsum(x86, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) - t3new += einsum(x86, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - del x86 - x87 = np.zeros((naocc, naocc, navir, nocc), dtype=types[float]) - x87 += einsum(t2[np.ix_(so,sO,sv,sV)], (0, 1, 2, 3), v.oovO, (4, 0, 2, 5), (1, 5, 3, 4)) * -1.0 - x88 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) - x88 += einsum(t2[np.ix_(so,sO,sV,sV)], (0, 1, 2, 3), x87, (4, 5, 6, 0), (1, 4, 5, 2, 3, 6)) * -1.0 - del x87 - t3new += einsum(x88, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) - t3new += einsum(x88, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) - t3new += einsum(x88, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - t3new += einsum(x88, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -1.0 - t3new += einsum(x88, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -1.0 - t3new += einsum(x88, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) - t3new += einsum(x88, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 - t3new += einsum(x88, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -1.0 - t3new += einsum(x88, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) - t3new += einsum(x88, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) - t3new += einsum(x88, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) - t3new += einsum(x88, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * -1.0 - t3new += einsum(x88, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) - t3new += einsum(x88, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) - t3new += einsum(x88, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -1.0 - t3new += einsum(x88, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) * -1.0 - t3new += einsum(x88, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -1.0 - t3new += einsum(x88, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) - del x88 - x89 = np.zeros((naocc, navir, navir, nvir), dtype=types[float]) - x89 += einsum(t2[np.ix_(so,so,sV,sV)], (0, 1, 2, 3), v.oovO, (0, 1, 4, 5), (5, 2, 3, 4)) * -1.0 - x90 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) - x90 += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), x89, (4, 5, 6, 2), (0, 1, 4, 3, 5, 6)) * -1.0 - del x89 - t3new += einsum(x90, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 0.5 - t3new += einsum(x90, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -0.5 - t3new += einsum(x90, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 0.5 - t3new += einsum(x90, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -0.5 - t3new += einsum(x90, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 0.5 - t3new += einsum(x90, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -0.5 - t3new += einsum(x90, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -0.5 - t3new += einsum(x90, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * 0.5 - t3new += einsum(x90, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -0.5 - del x90 - x91 = np.zeros((naocc, navir, navir, nvir), dtype=types[float]) - x91 += einsum(t2[np.ix_(so,sO,sv,sV)], (0, 1, 2, 3), v.oVvv, (0, 4, 5, 2), (1, 3, 4, 5)) * -1.0 - x92 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) - x92 += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), x91, (4, 5, 6, 2), (0, 1, 4, 3, 5, 6)) * -1.0 - del x91 - t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) - t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -1.0 - t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) - t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -1.0 - t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -1.0 - t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) - t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) - t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -1.0 - t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -1.0 - t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) - t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -1.0 - t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) - t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -1.0 - t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) - del x92 - x93 = np.zeros((naocc, naocc, navir, nocc), dtype=types[float]) - x93 += einsum(t2[np.ix_(sO,sO,sv,sv)], (0, 1, 2, 3), v.oVvv, (4, 5, 2, 3), (0, 1, 5, 4)) * -1.0 - x94 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) - x94 += einsum(t2[np.ix_(so,sO,sV,sV)], (0, 1, 2, 3), x93, (4, 5, 6, 0), (5, 4, 1, 2, 3, 6)) - del x93 - t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 0.5 - t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -0.5 - t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 0.5 - t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * 0.5 - t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -0.5 - t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * 0.5 - t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -0.5 - t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 0.5 - t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -0.5 - del x94 - x95 = np.zeros((naocc, naocc, naocc, naocc, navir, navir), dtype=types[float]) - x95 += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), v.vVOO, (2, 4, 5, 6), (0, 1, 5, 6, 3, 4)) - x96 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) - x96 += einsum(t3, (0, 1, 2, 3, 4, 5), x95, (6, 7, 1, 2, 8, 5), (7, 6, 0, 8, 3, 4)) * -1.0 - del x95 - t3new += einsum(x96, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 0.5 - t3new += einsum(x96, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -0.5 - t3new += einsum(x96, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 0.5 - t3new += einsum(x96, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -0.5 - t3new += einsum(x96, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 0.5 - t3new += einsum(x96, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -0.5 - t3new += einsum(x96, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -0.5 - t3new += einsum(x96, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * 0.5 - t3new += einsum(x96, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -0.5 - del x96 - x97 = np.zeros((naocc, naocc, naocc, naocc), dtype=types[float]) - x97 += einsum(t2[np.ix_(sO,sO,sv,sv)], (0, 1, 2, 3), v.vvOO, (2, 3, 4, 5), (0, 1, 4, 5)) - x98 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) - x98 += einsum(x97, (0, 1, 2, 3), t3, (4, 2, 3, 5, 6, 7), (1, 0, 4, 5, 6, 7)) * -1.0 - del x97 - t3new += einsum(x98, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 0.25 - t3new += einsum(x98, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -0.25 - t3new += einsum(x98, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -0.25 - del x98 - x99 = np.zeros((naocc, naocc, navir, navir, navir, navir), dtype=types[float]) - x99 += einsum(t2[np.ix_(so,sO,sV,sV)], (0, 1, 2, 3), v.oOVV, (0, 4, 5, 6), (1, 4, 2, 3, 5, 6)) - x100 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) - x100 += einsum(t3, (0, 1, 2, 3, 4, 5), x99, (6, 2, 7, 8, 4, 5), (6, 0, 1, 7, 8, 3)) - del x99 - t3new += einsum(x100, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -0.5 - t3new += einsum(x100, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 0.5 - t3new += einsum(x100, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -0.5 - t3new += einsum(x100, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -0.5 - t3new += einsum(x100, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * 0.5 - t3new += einsum(x100, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -0.5 - t3new += einsum(x100, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * 0.5 - t3new += einsum(x100, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -0.5 - t3new += einsum(x100, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * 0.5 - del x100 - x101 = np.zeros((naocc, naocc, navir, navir), dtype=types[float]) - x101 += einsum(t2[np.ix_(so,sO,sv,sV)], (0, 1, 2, 3), v.oOvV, (0, 4, 2, 5), (1, 4, 3, 5)) - x102 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) - x102 += einsum(x101, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (0, 4, 5, 2, 6, 7)) - del x101 - t3new += einsum(x102, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 1.00000000000001 - t3new += einsum(x102, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -1.00000000000001 - t3new += einsum(x102, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 1.00000000000001 - t3new += einsum(x102, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * 1.00000000000001 - t3new += einsum(x102, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.00000000000001 - t3new += einsum(x102, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * 1.00000000000001 - t3new += einsum(x102, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -1.00000000000001 - t3new += einsum(x102, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * 1.00000000000001 - t3new += einsum(x102, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -1.00000000000001 - del x102 - x103 = np.zeros((naocc, naocc), dtype=types[float]) - x103 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), v.oOvv, (0, 4, 2, 3), (1, 4)) - x104 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) - x104 += einsum(x103, (0, 1), t3, (2, 3, 1, 4, 5, 6), (0, 2, 3, 4, 5, 6)) - del x103 - t3new += einsum(x104, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 0.5 - t3new += einsum(x104, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * 0.5 - t3new += einsum(x104, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -0.5 - del x104 - x105 = np.zeros((navir, navir, navir, navir), dtype=types[float]) - x105 += einsum(t2[np.ix_(so,so,sV,sV)], (0, 1, 2, 3), v.ooVV, (0, 1, 4, 5), (2, 3, 4, 5)) - x106 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) - x106 += einsum(x105, (0, 1, 2, 3), t3, (4, 5, 6, 7, 3, 2), (4, 5, 6, 1, 0, 7)) - del x105 - t3new += einsum(x106, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -0.25 - t3new += einsum(x106, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 0.25 - t3new += einsum(x106, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -0.25 - del x106 - x107 = np.zeros((navir, navir), dtype=types[float]) - x107 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), v.oovV, (0, 1, 2, 4), (3, 4)) - x108 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) - x108 += einsum(x107, (0, 1), t3, (2, 3, 4, 5, 6, 1), (2, 3, 4, 0, 5, 6)) - del x107 - t3new += einsum(x108, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 0.5 - t3new += einsum(x108, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -0.5 - t3new += einsum(x108, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 0.5 - del x108 - x109 = np.zeros((naocc, naocc, navir, navir, navir, nvir), dtype=types[float]) - x109 += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(so,sO,sV,sV)], (2, 3, 4, 5), v.oovO, (2, 0, 6, 7), (3, 7, 1, 4, 5, 6)) * -1.0 - x110 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) - x110 += einsum(t1[np.ix_(sO,sv)], (0, 1), x109, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) - del x109 - t3new += einsum(x110, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - t3new += einsum(x110, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - t3new += einsum(x110, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -1.0 - t3new += einsum(x110, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) - t3new += einsum(x110, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) - t3new += einsum(x110, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -1.0 - t3new += einsum(x110, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * -1.0 - t3new += einsum(x110, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) - t3new += einsum(x110, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) - t3new += einsum(x110, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 - t3new += einsum(x110, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -1.0 - t3new += einsum(x110, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) - t3new += einsum(x110, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) - t3new += einsum(x110, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -1.0 - t3new += einsum(x110, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -1.0 - t3new += einsum(x110, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) - t3new += einsum(x110, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) - t3new += einsum(x110, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -1.0 - del x110 - x111 = np.zeros((naocc, navir, navir, nvir), dtype=types[float]) - x111 += einsum(t1[np.ix_(so,sV)], (0, 1), t1[np.ix_(so,sV)], (2, 3), v.oovO, (0, 2, 4, 5), (5, 1, 3, 4)) * -1.0 - x112 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) - x112 += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), x111, (4, 5, 6, 2), (0, 1, 4, 6, 5, 3)) - del x111 - t3new += einsum(x112, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) - t3new += einsum(x112, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -1.0 - t3new += einsum(x112, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -1.0 - t3new += einsum(x112, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -1.0 - t3new += einsum(x112, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - t3new += einsum(x112, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) - t3new += einsum(x112, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) - t3new += einsum(x112, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -1.0 - t3new += einsum(x112, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -1.0 - del x112 - x113 = np.zeros((naocc, naocc, navir, navir, navir, nvir), dtype=types[float]) - x113 += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(so,sO,sV,sV)], (2, 3, 4, 5), v.oVvv, (2, 6, 7, 1), (0, 3, 4, 5, 6, 7)) - x114 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) - x114 += einsum(t1[np.ix_(sO,sv)], (0, 1), x113, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) - del x113 - t3new += einsum(x114, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -1.0 - t3new += einsum(x114, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) - t3new += einsum(x114, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - t3new += einsum(x114, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) - t3new += einsum(x114, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 - t3new += einsum(x114, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) - t3new += einsum(x114, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) - t3new += einsum(x114, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -1.0 - t3new += einsum(x114, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) - del x114 - x115 = np.zeros((naocc, naocc, navir, navir, navir, nvir), dtype=types[float]) - x115 += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), v.oVvv, (0, 6, 7, 4), (2, 3, 1, 5, 6, 7)) - x116 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) - x116 += einsum(t1[np.ix_(sO,sv)], (0, 1), x115, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) - del x115 - t3new += einsum(x116, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - t3new += einsum(x116, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 - t3new += einsum(x116, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -1.0 - t3new += einsum(x116, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) - t3new += einsum(x116, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) - t3new += einsum(x116, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 - t3new += einsum(x116, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) - t3new += einsum(x116, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * -1.0 - t3new += einsum(x116, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 - t3new += einsum(x116, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) - t3new += einsum(x116, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) - t3new += einsum(x116, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -1.0 - t3new += einsum(x116, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -1.0 - t3new += einsum(x116, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) - t3new += einsum(x116, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) - t3new += einsum(x116, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * -1.0 - t3new += einsum(x116, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -1.0 - t3new += einsum(x116, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) - del x116 - x117 = np.zeros((naocc, naocc, naocc, nvir), dtype=types[float]) - x117 += einsum(t1[np.ix_(sO,sv)], (0, 1), v.vvOO, (2, 1, 3, 4), (0, 3, 4, 2)) - x118 = np.zeros((naocc, naocc, naocc, naocc), dtype=types[float]) - x118 += einsum(t1[np.ix_(sO,sv)], (0, 1), x117, (2, 3, 4, 1), (2, 0, 4, 3)) - del x117 - x119 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) - x119 += einsum(x118, (0, 1, 2, 3), t3, (4, 2, 3, 5, 6, 7), (1, 0, 4, 5, 6, 7)) * -1.0 - del x118 - t3new += einsum(x119, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 0.5 - t3new += einsum(x119, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -0.5 - t3new += einsum(x119, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -0.5 - del x119 - x120 = np.zeros((naocc, naocc, navir, nocc), dtype=types[float]) - x120 += einsum(t1[np.ix_(sO,sv)], (0, 1), v.oOvV, (2, 3, 1, 4), (0, 3, 4, 2)) - x121 = np.zeros((naocc, naocc, navir, navir), dtype=types[float]) - x121 += einsum(t1[np.ix_(so,sV)], (0, 1), x120, (2, 3, 4, 0), (2, 3, 1, 4)) - del x120 - x122 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) - x122 += einsum(x121, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (0, 4, 5, 2, 6, 7)) - del x121 - t3new += einsum(x122, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - t3new += einsum(x122, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) - t3new += einsum(x122, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -1.0 - t3new += einsum(x122, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * -1.0 - t3new += einsum(x122, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) - t3new += einsum(x122, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -1.0 - t3new += einsum(x122, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) - t3new += einsum(x122, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -1.0 - t3new += einsum(x122, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) - del x122 - x123 = np.zeros((naocc, nvir), dtype=types[float]) - x123 += einsum(t1[np.ix_(so,sv)], (0, 1), v.oOvv, (0, 2, 3, 1), (2, 3)) * -1.0 - x124 = np.zeros((naocc, naocc), dtype=types[float]) - x124 += einsum(t1[np.ix_(sO,sv)], (0, 1), x123, (2, 1), (0, 2)) - del x123 - x125 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) - x125 += einsum(x124, (0, 1), t3, (2, 3, 1, 4, 5, 6), (0, 2, 3, 4, 5, 6)) - del x124 - t3new += einsum(x125, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - t3new += einsum(x125, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) - t3new += einsum(x125, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 - del x125 - x126 = np.zeros((navir, navir, navir, nocc), dtype=types[float]) - x126 += einsum(t1[np.ix_(so,sV)], (0, 1), v.ooVV, (2, 0, 3, 4), (1, 3, 4, 2)) - x127 = np.zeros((navir, navir, navir, navir), dtype=types[float]) - x127 += einsum(t1[np.ix_(so,sV)], (0, 1), x126, (2, 3, 4, 0), (2, 1, 4, 3)) - del x126 - x128 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) - x128 += einsum(x127, (0, 1, 2, 3), t3, (4, 5, 6, 7, 2, 3), (4, 5, 6, 1, 0, 7)) * -1.0 - del x127 - t3new += einsum(x128, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -0.5 - t3new += einsum(x128, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 0.5 - t3new += einsum(x128, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -0.5 - del x128 - x129 = np.zeros((navir, nocc), dtype=types[float]) - x129 += einsum(t1[np.ix_(so,sv)], (0, 1), v.oovV, (2, 0, 1, 3), (3, 2)) * -1.0 - x130 = np.zeros((navir, navir), dtype=types[float]) - x130 += einsum(t1[np.ix_(so,sV)], (0, 1), x129, (2, 0), (1, 2)) - del x129 - x131 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) - x131 += einsum(x130, (0, 1), t3, (2, 3, 4, 5, 6, 1), (2, 3, 4, 0, 5, 6)) - del x130 - t3new += einsum(x131, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - t3new += einsum(x131, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -1.0 - t3new += einsum(x131, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) - del x131 - x132 = np.zeros((naocc, navir, nocc, nvir), dtype=types[float]) - x132 += einsum(t2[np.ix_(so,sO,sv,sV)], (0, 1, 2, 3), v.oovv, (4, 0, 5, 2), (1, 3, 4, 5)) - x133 = np.zeros((naocc, naocc, navir, nocc), dtype=types[float]) - x133 += einsum(t1[np.ix_(sO,sv)], (0, 1), x132, (2, 3, 4, 1), (0, 2, 3, 4)) - x134 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) - x134 += einsum(t2[np.ix_(so,sO,sV,sV)], (0, 1, 2, 3), x133, (4, 5, 6, 0), (4, 1, 5, 2, 3, 6)) * -1.0 - del x133 - t3new += einsum(x134, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) - t3new += einsum(x134, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) - t3new += einsum(x134, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - t3new += einsum(x134, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -1.0 - t3new += einsum(x134, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 - t3new += einsum(x134, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) - t3new += einsum(x134, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -1.0 - t3new += einsum(x134, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) * -1.0 - t3new += einsum(x134, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) - t3new += einsum(x134, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) - t3new += einsum(x134, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) - t3new += einsum(x134, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -1.0 - t3new += einsum(x134, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) - t3new += einsum(x134, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) - t3new += einsum(x134, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * -1.0 - t3new += einsum(x134, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -1.0 - t3new += einsum(x134, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -1.0 - t3new += einsum(x134, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) - del x134 - x135 = np.zeros((naocc, naocc, naocc, navir, nocc, nocc), dtype=types[float]) - x135 += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), v.oovv, (6, 7, 4, 1), (0, 2, 3, 5, 6, 7)) - x136 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) - x136 += einsum(t2[np.ix_(so,so,sV,sV)], (0, 1, 2, 3), x135, (4, 5, 6, 7, 1, 0), (4, 5, 6, 7, 2, 3)) * -1.0 - del x135 - t3new += einsum(x136, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -0.5 - t3new += einsum(x136, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 0.5 - t3new += einsum(x136, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -0.5 - t3new += einsum(x136, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * -0.5 - t3new += einsum(x136, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 0.5 - t3new += einsum(x136, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -0.5 - t3new += einsum(x136, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * 0.5 - t3new += einsum(x136, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -0.5 - t3new += einsum(x136, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * 0.5 - del x136 - x137 = np.zeros((naocc, naocc, naocc, navir, navir, nocc), dtype=types[float]) - x137 += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), x132, (4, 5, 6, 2), (0, 1, 4, 3, 5, 6)) * -1.0 - del x132 - x138 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) - x138 += einsum(t1[np.ix_(so,sV)], (0, 1), x137, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) - del x137 - t3new += einsum(x138, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 - t3new += einsum(x138, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - t3new += einsum(x138, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) - t3new += einsum(x138, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -1.0 - t3new += einsum(x138, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - t3new += einsum(x138, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 - t3new += einsum(x138, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) - t3new += einsum(x138, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -1.0 - t3new += einsum(x138, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * -1.0 - t3new += einsum(x138, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) - t3new += einsum(x138, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - t3new += einsum(x138, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) - t3new += einsum(x138, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 - t3new += einsum(x138, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) - t3new += einsum(x138, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) - t3new += einsum(x138, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -1.0 - t3new += einsum(x138, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) - t3new += einsum(x138, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -1.0 - del x138 - x139 = np.zeros((naocc, naocc, nocc, nocc), dtype=types[float]) - x139 += einsum(t2[np.ix_(sO,sO,sv,sv)], (0, 1, 2, 3), v.oovv, (4, 5, 2, 3), (0, 1, 4, 5)) - x140 = np.zeros((naocc, naocc, naocc, navir, navir, nocc), dtype=types[float]) - x140 += einsum(t2[np.ix_(so,sO,sV,sV)], (0, 1, 2, 3), x139, (4, 5, 0, 6), (4, 5, 1, 2, 3, 6)) - del x139 - x141 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) - x141 += einsum(t1[np.ix_(so,sV)], (0, 1), x140, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) - del x140 - t3new += einsum(x141, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -0.5 - t3new += einsum(x141, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -0.5 - t3new += einsum(x141, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 0.5 - t3new += einsum(x141, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 0.5 - t3new += einsum(x141, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * 0.5 - t3new += einsum(x141, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -0.5 - t3new += einsum(x141, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -0.5 - t3new += einsum(x141, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -0.5 - t3new += einsum(x141, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 0.5 - del x141 - x142 = np.zeros((naocc, naocc, navir, nocc), dtype=types[float]) - x142 += einsum(x5, (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 1, 4), (2, 3, 4, 0)) - del x5 - x143 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) - x143 += einsum(t2[np.ix_(so,sO,sV,sV)], (0, 1, 2, 3), x142, (4, 5, 6, 0), (5, 4, 1, 6, 2, 3)) * -1.0 - del x142 - t3new += einsum(x143, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - t3new += einsum(x143, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -1.0 - t3new += einsum(x143, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) - t3new += einsum(x143, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * -1.0 - t3new += einsum(x143, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) - t3new += einsum(x143, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) - t3new += einsum(x143, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 - t3new += einsum(x143, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) - t3new += einsum(x143, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -1.0 - del x143 - x144 = np.zeros((naocc, naocc, navir, navir, nocc, nvir), dtype=types[float]) - x144 += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(so,sO,sV,sV)], (2, 3, 4, 5), v.oovv, (6, 2, 7, 1), (0, 3, 4, 5, 6, 7)) * -1.0 - x145 = np.zeros((naocc, naocc, naocc, navir, navir, nocc), dtype=types[float]) - x145 += einsum(t1[np.ix_(sO,sv)], (0, 1), x144, (2, 3, 4, 5, 6, 1), (2, 0, 3, 4, 5, 6)) * -1.0 - del x144 - x146 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) - x146 += einsum(t1[np.ix_(so,sV)], (0, 1), x145, (2, 3, 4, 5, 6, 0), (3, 2, 4, 1, 5, 6)) * -1.0 - del x145 - t3new += einsum(x146, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - t3new += einsum(x146, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -1.0 - t3new += einsum(x146, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) - t3new += einsum(x146, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - t3new += einsum(x146, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) - t3new += einsum(x146, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -1.0 - t3new += einsum(x146, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -1.0 - t3new += einsum(x146, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) - t3new += einsum(x146, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -1.0 - del x146 - x147 = np.zeros((naocc, naocc, navir, navir, nocc, nvir), dtype=types[float]) - x147 += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), v.oovv, (6, 0, 7, 4), (2, 3, 1, 5, 6, 7)) * -1.0 - x148 = np.zeros((naocc, naocc, naocc, navir, navir, nocc), dtype=types[float]) - x148 += einsum(t1[np.ix_(sO,sv)], (0, 1), x147, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) - del x147 - x149 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) - x149 += einsum(t1[np.ix_(so,sV)], (0, 1), x148, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 1, 6)) * -1.0 - del x148 - t3new += einsum(x149, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -1.0 - t3new += einsum(x149, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - t3new += einsum(x149, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -1.0 - t3new += einsum(x149, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 - t3new += einsum(x149, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) - t3new += einsum(x149, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -1.0 - t3new += einsum(x149, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) - t3new += einsum(x149, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 - t3new += einsum(x149, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) - del x149 - - return {"t1new": t1new, "t2new": t2new, "t3new": t3new} - diff --git a/ebcc/codegen/GCCSDxTx.py b/ebcc/codegen/GCCSDxTx.py deleted file mode 100644 index e9d9393b..00000000 --- a/ebcc/codegen/GCCSDxTx.py +++ /dev/null @@ -1,235 +0,0 @@ -# Code generated for ebcc. - -from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, direct_sum, Namespace -from ebcc.precision import types - -def energy(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, **kwargs): - # energy - e_cc = 0 - e_cc += einsum(f.ov, (0, 1), t1, (0, 1), ()) - x0 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x0 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - x0 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) * 2.0 - e_cc += einsum(v.oovv, (0, 1, 2, 3), x0, (0, 1, 2, 3), ()) * 0.25 - del x0 - - return e_cc - -def update_amps(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, **kwargs): - # T amplitudes - t1new = np.zeros((nocc, nvir), dtype=types[float]) - t1new += einsum(f.vv, (0, 1), t1, (2, 1), (2, 0)) - t1new += einsum(f.ov, (0, 1), (0, 1)) - t1new += einsum(t1, (0, 1), v.ovov, (2, 1, 0, 3), (2, 3)) * -1.0 - t2new = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - t2new += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) - x0 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x0 += einsum(t1, (0, 1), v.oovv, (2, 3, 4, 1), (0, 2, 3, 4)) - x1 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x1 += einsum(v.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - x1 += einsum(x0, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - t1new += einsum(t2, (0, 1, 2, 3), x1, (4, 0, 1, 3), (4, 2)) * 0.5 - del x1 - x2 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x2 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - x2 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) * 2.0 - t1new += einsum(v.ovvv, (0, 1, 2, 3), x2, (0, 4, 2, 3), (4, 1)) * 0.5 - t2new += einsum(v.vvvv, (0, 1, 2, 3), x2, (4, 5, 2, 3), (5, 4, 0, 1)) * -0.5 - x3 = np.zeros((nocc, nvir), dtype=types[float]) - x3 += einsum(t1, (0, 1), v.oovv, (2, 0, 3, 1), (2, 3)) - x4 = np.zeros((nocc, nvir), dtype=types[float]) - x4 += einsum(f.ov, (0, 1), (0, 1)) - x4 += einsum(x3, (0, 1), (0, 1)) - del x3 - t1new += einsum(x4, (0, 1), t2, (2, 0, 3, 1), (2, 3)) - x5 = np.zeros((nocc, nocc), dtype=types[float]) - x5 += einsum(t1, (0, 1), v.ooov, (2, 0, 3, 1), (2, 3)) - x6 = np.zeros((nocc, nocc), dtype=types[float]) - x6 += einsum(f.oo, (0, 1), (0, 1)) * 2.0 - x6 += einsum(f.ov, (0, 1), t1, (2, 1), (0, 2)) * 2.0 - x6 += einsum(x5, (0, 1), (0, 1)) * 2.0 - x6 += einsum(v.oovv, (0, 1, 2, 3), x2, (1, 4, 2, 3), (0, 4)) * -1.0 - t1new += einsum(t1, (0, 1), x6, (0, 2), (2, 1)) * -0.5 - del x6 - x7 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x7 += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 3, 1, 5), (0, 4, 2, 5)) - x8 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x8 += einsum(t1, (0, 1), v.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) - x9 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x9 += einsum(t2, (0, 1, 2, 3), x8, (4, 1, 5, 3), (4, 0, 2, 5)) * -1.0 - del x8 - x10 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x10 += einsum(t1, (0, 1), v.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) - x11 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x11 += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 1, 5, 3), (0, 4, 5, 2)) - x12 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x12 += einsum(t2, (0, 1, 2, 3), x0, (4, 1, 5, 3), (4, 0, 5, 2)) - del x0 - x13 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x13 += einsum(x10, (0, 1, 2, 3), (0, 1, 2, 3)) - del x10 - x13 += einsum(x11, (0, 1, 2, 3), (0, 1, 2, 3)) - del x11 - x13 += einsum(x12, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x12 - x14 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x14 += einsum(t1, (0, 1), x13, (2, 0, 3, 4), (2, 3, 4, 1)) - del x13 - x15 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x15 += einsum(x7, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x7 - x15 += einsum(x9, (0, 1, 2, 3), (0, 1, 2, 3)) - del x9 - x15 += einsum(x14, (0, 1, 2, 3), (0, 1, 3, 2)) - del x14 - t2new += einsum(x15, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new += einsum(x15, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new += einsum(x15, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - t2new += einsum(x15, (0, 1, 2, 3), (1, 0, 3, 2)) - del x15 - x16 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x16 += einsum(t1, (0, 1), v.ovvv, (2, 1, 3, 4), (0, 2, 3, 4)) - x17 = np.zeros((nocc, nocc), dtype=types[float]) - x17 += einsum(t1, (0, 1), x4, (2, 1), (0, 2)) - x18 = np.zeros((nocc, nocc), dtype=types[float]) - x18 += einsum(f.oo, (0, 1), (0, 1)) - x18 += einsum(x17, (0, 1), (0, 1)) - del x17 - x19 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x19 += einsum(x18, (0, 1), t2, (2, 1, 3, 4), (0, 2, 3, 4)) * -1.0 - del x18 - x20 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x20 += einsum(t1, (0, 1), v.ooov, (2, 3, 4, 1), (0, 2, 3, 4)) - x21 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x21 += einsum(x2, (0, 1, 2, 3), x20, (4, 0, 1, 5), (4, 5, 2, 3)) * 0.5 - del x20 - x22 = np.zeros((nocc, nocc), dtype=types[float]) - x22 += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 2, 3), (0, 4)) - x23 = np.zeros((nocc, nocc), dtype=types[float]) - x23 += einsum(x5, (0, 1), (0, 1)) - del x5 - x23 += einsum(x22, (0, 1), (1, 0)) * 0.5 - del x22 - x24 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x24 += einsum(x23, (0, 1), t2, (2, 0, 3, 4), (1, 2, 3, 4)) * -1.0 - del x23 - x25 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x25 += einsum(x16, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x16 - x25 += einsum(x19, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x19 - x25 += einsum(x21, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x21 - x25 += einsum(x24, (0, 1, 2, 3), (1, 0, 3, 2)) - del x24 - t2new += einsum(x25, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new += einsum(x25, (0, 1, 2, 3), (1, 0, 2, 3)) - del x25 - x26 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x26 += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 3), (0, 4, 2, 5)) - x27 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x27 += einsum(t2, (0, 1, 2, 3), x26, (4, 1, 5, 3), (4, 0, 5, 2)) - del x26 - x28 = np.zeros((nvir, nvir), dtype=types[float]) - x28 += einsum(t1, (0, 1), v.ovvv, (0, 2, 3, 1), (2, 3)) - x29 = np.zeros((nvir, nvir), dtype=types[float]) - x29 += einsum(t2, (0, 1, 2, 3), v.oovv, (0, 1, 4, 3), (2, 4)) - x30 = np.zeros((nvir, nvir), dtype=types[float]) - x30 += einsum(x28, (0, 1), (0, 1)) - del x28 - x30 += einsum(x29, (0, 1), (0, 1)) * 0.5 - del x29 - x31 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x31 += einsum(x30, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4)) * -1.0 - del x30 - x32 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x32 += einsum(v.ovvv, (0, 1, 2, 3), x2, (4, 5, 2, 3), (0, 4, 5, 1)) * 0.5 - x33 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x33 += einsum(x4, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4)) * -1.0 - del x4 - x34 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x34 += einsum(x32, (0, 1, 2, 3), (0, 2, 1, 3)) - del x32 - x34 += einsum(x33, (0, 1, 2, 3), (2, 1, 0, 3)) - del x33 - x35 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x35 += einsum(t1, (0, 1), x34, (0, 2, 3, 4), (2, 3, 4, 1)) - del x34 - x36 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x36 += einsum(x27, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x27 - x36 += einsum(x31, (0, 1, 2, 3), (1, 0, 3, 2)) - del x31 - x36 += einsum(x35, (0, 1, 2, 3), (1, 0, 3, 2)) - del x35 - t2new += einsum(x36, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new += einsum(x36, (0, 1, 2, 3), (0, 1, 3, 2)) - del x36 - x37 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x37 += einsum(t1, (0, 1), v.ooov, (2, 3, 0, 4), (2, 3, 1, 4)) - x38 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x38 += einsum(f.vv, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4)) - x39 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x39 += einsum(x37, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x37 - x39 += einsum(x38, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x38 - t2new += einsum(x39, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new += einsum(x39, (0, 1, 2, 3), (0, 1, 3, 2)) - del x39 - x40 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x40 += einsum(v.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x40 += einsum(v.oovv, (0, 1, 2, 3), x2, (4, 5, 2, 3), (0, 1, 5, 4)) * -0.5 - t2new += einsum(x2, (0, 1, 2, 3), x40, (0, 1, 4, 5), (4, 5, 3, 2)) * -0.5 - del x2, x40 - - return {"t1new": t1new, "t2new": t2new} - -def energy_perturbative(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, l1=None, l2=None, **kwargs): - # T3 amplitude - x0 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x0 += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 1, 6), (0, 4, 5, 2, 3, 6)) - t3 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - t3 += einsum(x0, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -1.0 - t3 += einsum(x0, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - t3 += einsum(x0, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -1.0 - t3 += einsum(x0, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 - t3 += einsum(x0, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) - t3 += einsum(x0, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -1.0 - t3 += einsum(x0, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) - t3 += einsum(x0, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 - t3 += einsum(x0, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) - del x0 - x1 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x1 += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 3, 5, 6), (0, 1, 4, 2, 5, 6)) - t3 += einsum(x1, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - t3 += einsum(x1, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -1.0 - t3 += einsum(x1, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) - t3 += einsum(x1, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - t3 += einsum(x1, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) - t3 += einsum(x1, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -1.0 - t3 += einsum(x1, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -1.0 - t3 += einsum(x1, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) - t3 += einsum(x1, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -1.0 - del x1 - e_ia = direct_sum("i-a->ia", np.diag(f.oo), np.diag(f.vv)) - t3 /= direct_sum("ia+jb+kc->ijkabc", e_ia, e_ia, e_ia) - - # energy - x0 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x0 += einsum(l2, (0, 1, 2, 3), t3, (4, 5, 3, 6, 0, 1), (2, 4, 5, 6)) - e_pert = 0 - e_pert += einsum(v.ooov, (0, 1, 2, 3), x0, (2, 0, 1, 3), ()) * 0.25 - del x0 - x1 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x1 += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 0, 6, 2, 3), (4, 5, 6, 1)) - e_pert += einsum(l2, (0, 1, 2, 3), x1, (3, 2, 1, 0), ()) * -0.25 - del x1 - x2 = np.zeros((nocc, nvir), dtype=types[float]) - x2 += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 0, 1, 5, 2, 3), (4, 5)) - e_pert += einsum(l1, (0, 1), x2, (1, 0), ()) * 0.25 - del x2 - - return e_pert - diff --git a/ebcc/codegen/GMP2.py b/ebcc/codegen/GMP2.py deleted file mode 100644 index 7ca1cfe5..00000000 --- a/ebcc/codegen/GMP2.py +++ /dev/null @@ -1,13 +0,0 @@ -# Code generated for ebcc. - -from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, direct_sum, Namespace -from ebcc.precision import types - -def energy(f=None, v=None, nocc=None, nvir=None, t2=None, **kwargs): - # energy - e_mp = 0 - e_mp += einsum(t2, (0, 1, 2, 3), v.oovv, (0, 1, 2, 3), ()) * 0.25 - - return e_mp - diff --git a/ebcc/codegen/GMP3.py b/ebcc/codegen/GMP3.py deleted file mode 100644 index 7bf7298c..00000000 --- a/ebcc/codegen/GMP3.py +++ /dev/null @@ -1,22 +0,0 @@ -# Code generated for ebcc. - -from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, direct_sum, Namespace -from ebcc.precision import types - -def energy(f=None, v=None, nocc=None, nvir=None, t2=None, **kwargs): - # energy - x0 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x0 += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 2, 3), (0, 4, 5, 1)) - e_mp = 0 - e_mp += einsum(v.oooo, (0, 1, 2, 3), x0, (0, 2, 3, 1), ()) * 0.125 - del x0 - x1 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x1 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x1 += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 3, 1, 5), (4, 0, 5, 2)) * -8.0 - x1 += einsum(t2, (0, 1, 2, 3), v.vvvv, (4, 5, 2, 3), (0, 1, 4, 5)) - e_mp += einsum(t2, (0, 1, 2, 3), x1, (0, 1, 2, 3), ()) * 0.125 - del x1 - - return e_mp - diff --git a/ebcc/codegen/GQCISD.py b/ebcc/codegen/GQCISD.py deleted file mode 100644 index 5da31622..00000000 --- a/ebcc/codegen/GQCISD.py +++ /dev/null @@ -1,101 +0,0 @@ -# Code generated for ebcc. - -from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, Namespace -from ebcc.precision import types - -def energy(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, **kwargs): - # energy - e_cc = 0 - e_cc += einsum(t2, (0, 1, 2, 3), v.oovv, (0, 1, 2, 3), ()) * 0.25 - - return e_cc - -def update_amps(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, **kwargs): - # T amplitudes - t1new = np.zeros((nocc, nvir), dtype=types[float]) - t1new += einsum(t1, (0, 1), v.ovov, (2, 1, 0, 3), (2, 3)) * -1.0 - t1new += einsum(f.vv, (0, 1), t1, (2, 1), (2, 0)) - t1new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 2, 3), (0, 4)) * -0.5 - t2new = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - t2new += einsum(t2, (0, 1, 2, 3), v.vvvv, (4, 5, 2, 3), (0, 1, 4, 5)) * 0.5 - t2new += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) - x0 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x0 += einsum(v.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - x0 += einsum(t1, (0, 1), v.oovv, (2, 3, 4, 1), (0, 2, 3, 4)) - t1new += einsum(t2, (0, 1, 2, 3), x0, (4, 0, 1, 3), (4, 2)) * 0.5 - del x0 - x1 = np.zeros((nocc, nvir), dtype=types[float]) - x1 += einsum(f.ov, (0, 1), (0, 1)) - x1 += einsum(t1, (0, 1), v.oovv, (2, 0, 3, 1), (2, 3)) - t1new += einsum(x1, (0, 1), t2, (2, 0, 3, 1), (2, 3)) - del x1 - x2 = np.zeros((nocc, nocc), dtype=types[float]) - x2 += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 2, 3), (0, 4)) - x3 = np.zeros((nocc, nocc), dtype=types[float]) - x3 += einsum(f.oo, (0, 1), (0, 1)) - x3 += einsum(x2, (0, 1), (1, 0)) * 0.5 - t1new += einsum(t1, (0, 1), x3, (0, 2), (2, 1)) * -1.0 - del x3 - x4 = np.zeros((nvir, nvir), dtype=types[float]) - x4 += einsum(t2, (0, 1, 2, 3), v.oovv, (0, 1, 4, 3), (2, 4)) - x5 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x5 += einsum(x4, (0, 1), t2, (2, 3, 4, 1), (2, 3, 4, 0)) - del x4 - x6 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x6 += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 3), (0, 4, 2, 5)) - x7 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x7 += einsum(t2, (0, 1, 2, 3), x6, (4, 1, 5, 3), (4, 0, 5, 2)) - del x6 - x8 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x8 += einsum(x5, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - del x5 - x8 += einsum(x7, (0, 1, 2, 3), (0, 1, 2, 3)) - del x7 - t2new += einsum(x8, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new += einsum(x8, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x8 - x9 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x9 += einsum(f.oo, (0, 1), t2, (2, 1, 3, 4), (0, 2, 3, 4)) - x10 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x10 += einsum(t1, (0, 1), v.ovvv, (2, 1, 3, 4), (0, 2, 3, 4)) - x11 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x11 += einsum(x2, (0, 1), t2, (2, 1, 3, 4), (2, 0, 3, 4)) - del x2 - x12 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x12 += einsum(x9, (0, 1, 2, 3), (0, 1, 3, 2)) - del x9 - x12 += einsum(x10, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x10 - x12 += einsum(x11, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.5 - del x11 - t2new += einsum(x12, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new += einsum(x12, (0, 1, 2, 3), (1, 0, 2, 3)) - del x12 - x13 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x13 += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 3, 1, 5), (0, 4, 2, 5)) - t2new += einsum(x13, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new += einsum(x13, (0, 1, 2, 3), (0, 1, 3, 2)) - t2new += einsum(x13, (0, 1, 2, 3), (1, 0, 2, 3)) - t2new += einsum(x13, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x13 - x14 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x14 += einsum(t1, (0, 1), v.ooov, (2, 3, 0, 4), (2, 3, 1, 4)) - x15 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x15 += einsum(f.vv, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4)) - x16 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x16 += einsum(x14, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x14 - x16 += einsum(x15, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x15 - t2new += einsum(x16, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new += einsum(x16, (0, 1, 2, 3), (0, 1, 3, 2)) - del x16 - x17 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x17 += einsum(v.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x17 += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 2, 3), (4, 5, 0, 1)) - t2new += einsum(t2, (0, 1, 2, 3), x17, (0, 1, 4, 5), (4, 5, 2, 3)) * 0.25 - del x17 - - return {"t1new": t1new, "t2new": t2new} - diff --git a/ebcc/codegen/RCC2.py b/ebcc/codegen/RCC2.py deleted file mode 100644 index 530d316d..00000000 --- a/ebcc/codegen/RCC2.py +++ /dev/null @@ -1,1308 +0,0 @@ -# Code generated for ebcc. - -from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, Namespace -from ebcc.precision import types - -def energy(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, **kwargs): - # energy - e_cc = 0 - e_cc += einsum(f.ov, (0, 1), t1, (0, 1), ()) * 2.0 - x0 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x0 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x0 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 - x1 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x1 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - x1 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) - e_cc += einsum(x0, (0, 1, 2, 3), x1, (0, 1, 3, 2), ()) * 2.0 - del x0, x1 - - return e_cc - -def update_amps(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, **kwargs): - # T amplitudes - t1new = np.zeros((nocc, nvir), dtype=types[float]) - t1new += einsum(f.ov, (0, 1), (0, 1)) - t2new = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - t2new += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - t2new += einsum(t1, (0, 1), v.ooov, (2, 0, 3, 4), (3, 2, 4, 1)) * -1.0 - x0 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x0 += einsum(v.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x0 += einsum(v.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) - t1new += einsum(t2, (0, 1, 2, 3), x0, (1, 2, 3, 4), (0, 4)) * 2.0 - x1 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x1 += einsum(t1, (0, 1), v.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) - x2 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x2 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x2 += einsum(v.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x2 += einsum(x1, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x2 += einsum(x1, (0, 1, 2, 3), (0, 2, 1, 3)) * 2.0 - t1new += einsum(t2, (0, 1, 2, 3), x2, (4, 1, 0, 2), (4, 3)) * -1.0 - del x2 - x3 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x3 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x3 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 - x4 = np.zeros((nocc, nvir), dtype=types[float]) - x4 += einsum(t1, (0, 1), x3, (0, 2, 3, 1), (2, 3)) * 2.0 - x5 = np.zeros((nocc, nvir), dtype=types[float]) - x5 += einsum(f.ov, (0, 1), (0, 1)) - x5 += einsum(x4, (0, 1), (0, 1)) - del x4 - x6 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x6 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) - x6 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - t1new += einsum(x5, (0, 1), x6, (0, 2, 3, 1), (2, 3)) * 2.0 - del x6 - x7 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x7 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x7 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - t1new += einsum(t1, (0, 1), x7, (0, 2, 1, 3), (2, 3)) * 2.0 - del x7 - x8 = np.zeros((nvir, nvir), dtype=types[float]) - x8 += einsum(f.vv, (0, 1), (0, 1)) * 0.5 - x8 += einsum(t1, (0, 1), x0, (0, 2, 1, 3), (2, 3)) - del x0 - t1new += einsum(t1, (0, 1), x8, (1, 2), (0, 2)) * 2.0 - del x8 - x9 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x9 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x9 += einsum(v.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 - x10 = np.zeros((nocc, nocc), dtype=types[float]) - x10 += einsum(f.oo, (0, 1), (0, 1)) - x10 += einsum(t2, (0, 1, 2, 3), x3, (1, 4, 2, 3), (4, 0)) * 2.0 - del x3 - x10 += einsum(t1, (0, 1), x9, (2, 3, 0, 1), (3, 2)) * 2.0 - del x9 - x10 += einsum(t1, (0, 1), x5, (2, 1), (2, 0)) - del x5 - t1new += einsum(t1, (0, 1), x10, (0, 2), (2, 1)) * -1.0 - del x10 - x11 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x11 += einsum(t1, (0, 1), v.vvvv, (2, 3, 4, 1), (0, 2, 3, 4)) - t2new += einsum(t1, (0, 1), x11, (2, 3, 1, 4), (0, 2, 3, 4)) - del x11 - x12 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x12 += einsum(f.vv, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4)) - x13 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x13 += einsum(t1, (0, 1), v.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) - x14 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x14 += einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), (0, 2, 3, 4)) - x15 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x15 += einsum(t1, (0, 1), v.oovv, (2, 3, 4, 1), (0, 2, 3, 4)) - x16 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x16 += einsum(t1, (0, 1), v.ooov, (2, 3, 4, 1), (0, 2, 3, 4)) - x17 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x17 += einsum(t1, (0, 1), x16, (2, 3, 4, 0), (2, 4, 3, 1)) - del x16 - x18 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x18 += einsum(x14, (0, 1, 2, 3), (0, 1, 2, 3)) - del x14 - x18 += einsum(x15, (0, 1, 2, 3), (2, 0, 1, 3)) - del x15 - x18 += einsum(x17, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x17 - x19 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x19 += einsum(t1, (0, 1), x18, (0, 2, 3, 4), (2, 3, 4, 1)) - del x18 - x20 = np.zeros((nocc, nocc), dtype=types[float]) - x20 += einsum(f.ov, (0, 1), t1, (2, 1), (0, 2)) - x21 = np.zeros((nocc, nocc), dtype=types[float]) - x21 += einsum(f.oo, (0, 1), (0, 1)) - x21 += einsum(x20, (0, 1), (0, 1)) - del x20 - x22 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x22 += einsum(x21, (0, 1), t2, (2, 0, 3, 4), (1, 2, 4, 3)) - del x21 - x23 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x23 += einsum(x12, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x12 - x23 += einsum(x13, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x23 += einsum(x19, (0, 1, 2, 3), (0, 1, 3, 2)) - del x19 - x23 += einsum(x22, (0, 1, 2, 3), (0, 1, 3, 2)) - del x22 - t2new += einsum(x23, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new += einsum(x23, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x23 - x24 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x24 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x24 += einsum(x13, (0, 1, 2, 3), (1, 0, 2, 3)) - del x13 - x25 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x25 += einsum(t1, (0, 1), x24, (2, 3, 1, 4), (2, 3, 0, 4)) - del x24 - x26 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x26 += einsum(t1, (0, 1), x25, (0, 2, 3, 4), (3, 2, 4, 1)) - del x25 - t2new += einsum(x26, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new += einsum(x26, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x26 - x27 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x27 += einsum(v.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x27 += einsum(t1, (0, 1), x1, (2, 3, 4, 1), (3, 0, 2, 4)) - del x1 - x28 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x28 += einsum(v.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x28 += einsum(t1, (0, 1), x27, (0, 2, 3, 4), (3, 2, 4, 1)) - del x27 - t2new += einsum(t1, (0, 1), x28, (2, 3, 0, 4), (2, 3, 1, 4)) - del x28 - - return {"t1new": t1new, "t2new": t2new} - -def update_lams(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, l1=None, l2=None, **kwargs): - # L amplitudes - l1new = np.zeros((nvir, nocc), dtype=types[float]) - l1new += einsum(f.ov, (0, 1), (1, 0)) - l2new = np.zeros((nvir, nvir, nocc, nocc), dtype=types[float]) - l2new += einsum(l2, (0, 1, 2, 3), v.vvvv, (4, 1, 5, 0), (4, 5, 3, 2)) - l2new += einsum(v.ovov, (0, 1, 2, 3), (1, 3, 0, 2)) - l2new += einsum(l2, (0, 1, 2, 3), v.oooo, (4, 2, 5, 3), (0, 1, 4, 5)) - x0 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x0 += einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), (0, 2, 3, 4)) - x1 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x1 += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 2, 5, 3), (0, 1, 4, 5)) - x2 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x2 += einsum(t1, (0, 1), v.ovvv, (2, 1, 3, 4), (0, 2, 3, 4)) - x3 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x3 += einsum(t1, (0, 1), x2, (2, 3, 4, 1), (2, 0, 3, 4)) - x4 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x4 += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 2, 5, 3), (0, 1, 4, 5)) - x5 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x5 += einsum(t1, (0, 1), v.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) - x6 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x6 += einsum(t1, (0, 1), x5, (2, 3, 4, 1), (0, 2, 3, 4)) - l2new += einsum(l2, (0, 1, 2, 3), x6, (2, 3, 4, 5), (0, 1, 4, 5)) - x7 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x7 += einsum(x4, (0, 1, 2, 3), (1, 0, 3, 2)) - del x4 - x7 += einsum(x6, (0, 1, 2, 3), (0, 1, 2, 3)) - del x6 - x8 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x8 += einsum(t1, (0, 1), x7, (2, 3, 0, 4), (2, 3, 4, 1)) * 2.0 - del x7 - x9 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x9 += einsum(x1, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x1 - x9 += einsum(x3, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x3 - x9 += einsum(x8, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x8 - x10 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x10 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x10 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 - x11 = np.zeros((nocc, nvir), dtype=types[float]) - x11 += einsum(t1, (0, 1), x10, (0, 2, 3, 1), (2, 3)) - x12 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x12 += einsum(x11, (0, 1), t2, (2, 3, 1, 4), (2, 3, 0, 4)) * 2.0 - x13 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x13 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x13 += einsum(v.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * 2.0 - x13 += einsum(x5, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x13 += einsum(x5, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x14 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x14 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.5 - x14 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - x15 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x15 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * 2.0 - x15 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x16 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x16 += einsum(t1, (0, 1), v.ooov, (2, 3, 4, 1), (0, 2, 3, 4)) - x17 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x17 += einsum(v.oooo, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 - x17 += einsum(v.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x17 += einsum(x16, (0, 1, 2, 3), (2, 1, 0, 3)) - x17 += einsum(x16, (0, 1, 2, 3), (3, 2, 0, 1)) * -0.5 - x18 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x18 += einsum(v.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -2.0 - x18 += einsum(v.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) - x18 += einsum(x0, (0, 1, 2, 3), (1, 2, 0, 3)) - x18 += einsum(x0, (0, 1, 2, 3), (2, 1, 0, 3)) * -2.0 - del x0 - x18 += einsum(x9, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x18 += einsum(x9, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.5 - del x9 - x18 += einsum(x12, (0, 1, 2, 3), (1, 0, 2, 3)) - x18 += einsum(x12, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - del x12 - x18 += einsum(x13, (0, 1, 2, 3), x14, (1, 4, 3, 5), (0, 4, 2, 5)) * -2.0 - del x13 - x18 += einsum(t1, (0, 1), x15, (2, 3, 1, 4), (0, 3, 2, 4)) * -1.0 - del x15 - x18 += einsum(t1, (0, 1), x17, (0, 2, 3, 4), (3, 2, 4, 1)) * 2.0 - del x17 - l1new += einsum(l2, (0, 1, 2, 3), x18, (2, 3, 4, 1), (0, 4)) - del x18 - x19 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x19 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - x19 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x20 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x20 += einsum(t1, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2)) - x21 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x21 += einsum(x20, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x21 += einsum(x20, (0, 1, 2, 3), (1, 0, 2, 3)) - x22 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x22 += einsum(l2, (0, 1, 2, 3), x14, (3, 4, 1, 5), (2, 4, 0, 5)) * 2.0 - x22 += einsum(l2, (0, 1, 2, 3), x19, (2, 4, 1, 5), (3, 4, 0, 5)) - x22 += einsum(t1, (0, 1), x21, (2, 0, 3, 4), (2, 3, 1, 4)) * 2.0 - l1new += einsum(v.ovvv, (0, 1, 2, 3), x22, (4, 0, 3, 2), (1, 4)) * -1.0 - del x22 - x23 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x23 += einsum(t1, (0, 1), l2, (2, 3, 4, 0), (4, 2, 3, 1)) - x24 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) - x24 += einsum(v.vvvv, (0, 1, 2, 3), (0, 2, 3, 1)) * -0.5 - x24 += einsum(v.vvvv, (0, 1, 2, 3), (0, 1, 2, 3)) - l1new += einsum(x23, (0, 1, 2, 3), x24, (1, 4, 2, 3), (4, 0)) * 2.0 - del x23, x24 - x25 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x25 += einsum(l2, (0, 1, 2, 3), (3, 2, 0, 1)) * -0.5 - x25 += einsum(l2, (0, 1, 2, 3), (2, 3, 0, 1)) - x26 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x26 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x26 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x27 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x27 += einsum(l2, (0, 1, 2, 3), (3, 2, 0, 1)) - x27 += einsum(x25, (0, 1, 2, 3), x26, (0, 4, 2, 5), (1, 4, 3, 5)) * -2.0 - del x25, x26 - l1new += einsum(v.ovvv, (0, 1, 2, 3), x27, (4, 0, 3, 1), (2, 4)) * -1.0 - del x27 - x28 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x28 += einsum(l1, (0, 1), t2, (2, 3, 4, 0), (1, 2, 3, 4)) - x29 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x29 += einsum(l2, (0, 1, 2, 3), t2, (4, 5, 1, 0), (3, 2, 4, 5)) - x30 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x30 += einsum(t1, (0, 1), x20, (2, 3, 4, 1), (3, 2, 4, 0)) - l2new += einsum(v.ovov, (0, 1, 2, 3), x30, (4, 5, 0, 2), (3, 1, 5, 4)) - x31 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x31 += einsum(x29, (0, 1, 2, 3), (1, 0, 3, 2)) - x31 += einsum(x30, (0, 1, 2, 3), (0, 1, 2, 3)) - x32 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x32 += einsum(t1, (0, 1), x31, (0, 2, 3, 4), (2, 3, 4, 1)) * 0.5 - del x31 - x33 = np.zeros((nocc, nocc), dtype=types[float]) - x33 += einsum(l2, (0, 1, 2, 3), x14, (2, 4, 0, 1), (3, 4)) * 2.0 - x34 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x34 += einsum(x28, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x34 += einsum(x28, (0, 1, 2, 3), (0, 2, 1, 3)) * 0.5 - del x28 - x34 += einsum(x20, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - x34 += einsum(x20, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x34 += einsum(x32, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x34 += einsum(x32, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x32 - x34 += einsum(x19, (0, 1, 2, 3), x21, (4, 0, 5, 3), (4, 1, 5, 2)) * -1.0 - x34 += einsum(t1, (0, 1), x33, (2, 3), (2, 0, 3, 1)) * -1.0 - l1new += einsum(v.ovov, (0, 1, 2, 3), x34, (4, 0, 2, 1), (3, 4)) * 2.0 - del x34 - x35 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x35 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x35 += einsum(v.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) - x35 += einsum(x5, (0, 1, 2, 3), (0, 1, 2, 3)) - x35 += einsum(x5, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 - x36 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x36 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x36 += einsum(v.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x36 += einsum(x5, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x36 += einsum(x5, (0, 1, 2, 3), (0, 2, 1, 3)) * 2.0 - x37 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x37 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x37 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x38 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x38 += einsum(x16, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 - x38 += einsum(x16, (0, 1, 2, 3), (0, 3, 2, 1)) - x39 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x39 += einsum(t2, (0, 1, 2, 3), x35, (4, 1, 5, 3), (4, 0, 5, 2)) - del x35 - x39 += einsum(t2, (0, 1, 2, 3), x36, (4, 1, 5, 2), (4, 0, 5, 3)) * 0.5 - del x36 - x39 += einsum(t1, (0, 1), x37, (2, 3, 1, 4), (0, 3, 2, 4)) * -0.5 - del x37 - x39 += einsum(t1, (0, 1), x38, (2, 0, 3, 4), (2, 3, 4, 1)) - del x38 - l1new += einsum(l2, (0, 1, 2, 3), x39, (3, 2, 4, 1), (0, 4)) * 2.0 - del x39 - x40 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x40 += einsum(x20, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x40 += einsum(x20, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x41 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x41 += einsum(l2, (0, 1, 2, 3), (2, 3, 0, 1)) - x41 += einsum(t1, (0, 1), x40, (2, 0, 3, 4), (2, 3, 4, 1)) * -0.5 - l1new += einsum(v.ovvv, (0, 1, 2, 3), x41, (4, 0, 3, 1), (2, 4)) * 2.0 - del x41 - x42 = np.zeros((nocc, nocc), dtype=types[float]) - x42 += einsum(l2, (0, 1, 2, 3), x14, (2, 4, 0, 1), (3, 4)) - x43 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x43 += einsum(t2, (0, 1, 2, 3), x21, (4, 1, 5, 3), (4, 0, 5, 2)) * 2.0 - del x21 - x43 += einsum(t2, (0, 1, 2, 3), x40, (4, 1, 5, 2), (4, 0, 5, 3)) - x43 += einsum(t1, (0, 1), x42, (2, 3), (2, 0, 3, 1)) * 2.0 - del x42 - l1new += einsum(v.ovov, (0, 1, 2, 3), x43, (4, 0, 2, 3), (1, 4)) - del x43 - x44 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x44 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) - x44 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x45 = np.zeros((nvir, nvir), dtype=types[float]) - x45 += einsum(l1, (0, 1), t1, (1, 2), (0, 2)) - x45 += einsum(l2, (0, 1, 2, 3), x44, (2, 3, 1, 4), (0, 4)) * 2.0 - x46 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x46 += einsum(v.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x46 += einsum(v.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) - l1new += einsum(x45, (0, 1), x46, (2, 1, 0, 3), (3, 2)) * 2.0 - del x45 - x47 = np.zeros((nocc, nocc), dtype=types[float]) - x47 += einsum(l1, (0, 1), t1, (2, 0), (1, 2)) - l1new += einsum(x11, (0, 1), x47, (2, 0), (1, 2)) * -2.0 - x48 = np.zeros((nocc, nocc), dtype=types[float]) - x48 += einsum(x47, (0, 1), (0, 1)) - x48 += einsum(x33, (0, 1), (0, 1)) - del x33 - l1new += einsum(f.ov, (0, 1), x48, (2, 0), (1, 2)) * -1.0 - x49 = np.zeros((nocc, nvir), dtype=types[float]) - x49 += einsum(t1, (0, 1), (0, 1)) * -1.0 - x49 += einsum(x14, (0, 1, 2, 3), x20, (0, 1, 4, 2), (4, 3)) * 2.0 - del x14 - x49 += einsum(l1, (0, 1), x19, (1, 2, 3, 0), (2, 3)) * -1.0 - del x19 - x49 += einsum(t1, (0, 1), x48, (0, 2), (2, 1)) - l1new += einsum(x49, (0, 1), x10, (0, 2, 3, 1), (3, 2)) * -2.0 - del x49 - x50 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x50 += einsum(x20, (0, 1, 2, 3), (0, 1, 2, 3)) - x50 += einsum(x20, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.5 - l1new += einsum(v.oovv, (0, 1, 2, 3), x50, (4, 0, 1, 3), (2, 4)) * -2.0 - del x50 - x51 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x51 += einsum(x30, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x51 += einsum(x30, (0, 1, 2, 3), (0, 1, 3, 2)) - del x30 - l1new += einsum(v.ooov, (0, 1, 2, 3), x51, (4, 0, 1, 2), (3, 4)) * 2.0 - del x51 - x52 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x52 += einsum(x29, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 - x52 += einsum(x29, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x29 - l1new += einsum(v.ooov, (0, 1, 2, 3), x52, (1, 4, 2, 0), (3, 4)) - del x52 - x53 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x53 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x53 += einsum(v.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * 2.0 - l1new += einsum(x48, (0, 1), x53, (0, 2, 1, 3), (3, 2)) * -1.0 - del x48, x53 - x54 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x54 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x54 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - l1new += einsum(l1, (0, 1), x54, (1, 2, 0, 3), (3, 2)) * 2.0 - del x54 - x55 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x55 += einsum(v.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x55 += einsum(v.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) - x56 = np.zeros((nvir, nvir), dtype=types[float]) - x56 += einsum(f.vv, (0, 1), (0, 1)) * 0.5 - x56 += einsum(t1, (0, 1), x55, (0, 2, 1, 3), (3, 2)) - l1new += einsum(l1, (0, 1), x56, (0, 2), (2, 1)) * 2.0 - del x56 - x57 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x57 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x57 += einsum(v.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) * -0.5 - x58 = np.zeros((nocc, nvir), dtype=types[float]) - x58 += einsum(t1, (0, 1), x10, (0, 2, 3, 1), (2, 3)) * 2.0 - del x10 - x59 = np.zeros((nocc, nvir), dtype=types[float]) - x59 += einsum(f.ov, (0, 1), (0, 1)) - x59 += einsum(x58, (0, 1), (0, 1)) - x60 = np.zeros((nocc, nocc), dtype=types[float]) - x60 += einsum(f.oo, (0, 1), (0, 1)) - x60 += einsum(v.ovov, (0, 1, 2, 3), x44, (2, 4, 1, 3), (4, 0)) * 2.0 - del x44 - x60 += einsum(t1, (0, 1), x57, (2, 3, 0, 1), (3, 2)) * 2.0 - x60 += einsum(t1, (0, 1), x59, (2, 1), (0, 2)) - del x59 - l1new += einsum(l1, (0, 1), x60, (1, 2), (0, 2)) * -1.0 - del x60 - x61 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x61 += einsum(l1, (0, 1), v.ooov, (2, 1, 3, 4), (2, 3, 0, 4)) - x62 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x62 += einsum(v.ooov, (0, 1, 2, 3), x20, (4, 1, 2, 5), (4, 0, 5, 3)) - x63 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x63 += einsum(v.ovvv, (0, 1, 2, 3), x20, (4, 5, 0, 3), (5, 4, 1, 2)) - x64 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x64 += einsum(x20, (0, 1, 2, 3), x5, (1, 2, 4, 5), (0, 4, 3, 5)) - x65 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x65 += einsum(t1, (0, 1), x46, (2, 1, 3, 4), (0, 2, 3, 4)) * 2.0 - del x46 - x66 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x66 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * 2.0 - x66 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x66 += einsum(x65, (0, 1, 2, 3), (0, 1, 3, 2)) - del x65 - x67 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x67 += einsum(l2, (0, 1, 2, 3), x66, (3, 4, 5, 1), (2, 4, 0, 5)) - del x66 - x68 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x68 += einsum(t1, (0, 1), v.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) - x69 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x69 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x69 += einsum(x68, (0, 1, 2, 3), (0, 1, 2, 3)) - del x68 - x70 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x70 += einsum(l2, (0, 1, 2, 3), x69, (2, 4, 5, 1), (3, 4, 0, 5)) - del x69 - x71 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x71 += einsum(v.ooov, (0, 1, 2, 3), x40, (4, 0, 1, 5), (2, 4, 3, 5)) - del x40 - x72 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x72 += einsum(x20, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x72 += einsum(x20, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 - x73 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x73 += einsum(x5, (0, 1, 2, 3), x72, (0, 4, 2, 5), (1, 4, 3, 5)) - del x72 - x74 = np.zeros((nvir, nvir), dtype=types[float]) - x74 += einsum(t1, (0, 1), x55, (0, 2, 1, 3), (2, 3)) * 2.0 - del x55 - x75 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x75 += einsum(x74, (0, 1), l2, (2, 1, 3, 4), (4, 3, 2, 0)) - del x74 - x76 = np.zeros((nocc, nocc), dtype=types[float]) - x76 += einsum(t1, (0, 1), x57, (2, 3, 0, 1), (2, 3)) - del x57 - x77 = np.zeros((nocc, nocc), dtype=types[float]) - x77 += einsum(t1, (0, 1), x11, (2, 1), (0, 2)) - x78 = np.zeros((nocc, nocc), dtype=types[float]) - x78 += einsum(x76, (0, 1), (1, 0)) - del x76 - x78 += einsum(x77, (0, 1), (0, 1)) - del x77 - x79 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x79 += einsum(x78, (0, 1), l2, (2, 3, 0, 4), (4, 1, 2, 3)) * 2.0 - del x78 - x80 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x80 += einsum(x11, (0, 1), x20, (2, 3, 0, 4), (2, 3, 4, 1)) * 2.0 - del x11 - x81 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x81 += einsum(f.ov, (0, 1), l1, (2, 3), (0, 3, 1, 2)) * -1.0 - x81 += einsum(x61, (0, 1, 2, 3), (0, 1, 2, 3)) - del x61 - x81 += einsum(x62, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x62 - x81 += einsum(x63, (0, 1, 2, 3), (0, 1, 2, 3)) - del x63 - x81 += einsum(x64, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x64 - x81 += einsum(x67, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x67 - x81 += einsum(x70, (0, 1, 2, 3), (0, 1, 2, 3)) - del x70 - x81 += einsum(x71, (0, 1, 2, 3), (1, 0, 3, 2)) - del x71 - x81 += einsum(x73, (0, 1, 2, 3), (1, 0, 3, 2)) - del x73 - x81 += einsum(x75, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x75 - x81 += einsum(x79, (0, 1, 2, 3), (0, 1, 3, 2)) - del x79 - x81 += einsum(x80, (0, 1, 2, 3), (0, 1, 2, 3)) - del x80 - x81 += einsum(l1, (0, 1), x58, (2, 3), (1, 2, 0, 3)) * -1.0 - del x58 - l2new += einsum(x81, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 - l2new += einsum(x81, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 - del x81 - x82 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x82 += einsum(f.vv, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2)) - x83 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x83 += einsum(l1, (0, 1), v.ovvv, (2, 3, 4, 0), (1, 2, 3, 4)) - x84 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x84 += einsum(f.ov, (0, 1), x20, (2, 3, 0, 4), (2, 3, 1, 4)) - x85 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x85 += einsum(l1, (0, 1), x5, (1, 2, 3, 4), (2, 3, 0, 4)) - x86 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x86 += einsum(x47, (0, 1), v.ovov, (2, 3, 1, 4), (0, 2, 3, 4)) - del x47 - x87 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x87 += einsum(l2, (0, 1, 2, 3), x16, (2, 4, 3, 5), (4, 5, 0, 1)) - del x16 - x88 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x88 += einsum(v.ooov, (0, 1, 2, 3), x20, (1, 4, 2, 5), (4, 0, 5, 3)) - x89 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x89 += einsum(x20, (0, 1, 2, 3), x5, (0, 2, 4, 5), (1, 4, 3, 5)) - del x5, x20 - x90 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x90 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) - x90 += einsum(x2, (0, 1, 2, 3), (0, 1, 3, 2)) - del x2 - x91 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x91 += einsum(l2, (0, 1, 2, 3), x90, (2, 4, 1, 5), (3, 4, 0, 5)) - del x90 - x92 = np.zeros((nocc, nocc), dtype=types[float]) - x92 += einsum(f.ov, (0, 1), t1, (2, 1), (0, 2)) - x93 = np.zeros((nocc, nocc), dtype=types[float]) - x93 += einsum(f.oo, (0, 1), (0, 1)) - x93 += einsum(x92, (0, 1), (1, 0)) - del x92 - x94 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x94 += einsum(x93, (0, 1), l2, (2, 3, 0, 4), (4, 1, 2, 3)) - del x93 - x95 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x95 += einsum(x82, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x82 - x95 += einsum(x83, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x83 - x95 += einsum(x84, (0, 1, 2, 3), (0, 1, 2, 3)) - del x84 - x95 += einsum(x85, (0, 1, 2, 3), (0, 1, 2, 3)) - del x85 - x95 += einsum(x86, (0, 1, 2, 3), (0, 1, 2, 3)) - del x86 - x95 += einsum(x87, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x87 - x95 += einsum(x88, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x88 - x95 += einsum(x89, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x89 - x95 += einsum(x91, (0, 1, 2, 3), (0, 1, 2, 3)) - del x91 - x95 += einsum(x94, (0, 1, 2, 3), (1, 0, 3, 2)) - del x94 - l2new += einsum(x95, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - l2new += einsum(x95, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 - del x95 - - return {"l1new": l1new, "l2new": l2new} - -def make_rdm1_f(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, l1=None, l2=None, **kwargs): - delta = Namespace(oo=np.eye(nocc), vv=np.eye(nvir)) - - # RDM1 - rdm1_f_oo = np.zeros((nocc, nocc), dtype=types[float]) - rdm1_f_oo += einsum(delta.oo, (0, 1), (0, 1)) * 2.0 - rdm1_f_ov = np.zeros((nocc, nvir), dtype=types[float]) - rdm1_f_ov += einsum(t1, (0, 1), (0, 1)) * 2.0 - rdm1_f_vo = np.zeros((nvir, nocc), dtype=types[float]) - rdm1_f_vo += einsum(l1, (0, 1), (0, 1)) * 2.0 - rdm1_f_vv = np.zeros((nvir, nvir), dtype=types[float]) - rdm1_f_vv += einsum(l1, (0, 1), t1, (1, 2), (0, 2)) * 2.0 - x0 = np.zeros((nocc, nocc), dtype=types[float]) - x0 += einsum(l1, (0, 1), t1, (2, 0), (1, 2)) - rdm1_f_oo += einsum(x0, (0, 1), (1, 0)) * -2.0 - x1 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x1 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x1 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - rdm1_f_oo += einsum(l2, (0, 1, 2, 3), x1, (2, 4, 0, 1), (4, 3)) * -2.0 - del x1 - x2 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x2 += einsum(t1, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2)) - x3 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x3 += einsum(x2, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x3 += einsum(x2, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 - del x2 - rdm1_f_ov += einsum(t2, (0, 1, 2, 3), x3, (1, 0, 4, 2), (4, 3)) * -2.0 - del x3 - x4 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x4 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) - x4 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - rdm1_f_ov += einsum(l1, (0, 1), x4, (1, 2, 3, 0), (2, 3)) * 4.0 - del x4 - x5 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x5 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.5 - x5 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - x6 = np.zeros((nocc, nocc), dtype=types[float]) - x6 += einsum(x0, (0, 1), (0, 1)) * 0.5 - del x0 - x6 += einsum(l2, (0, 1, 2, 3), x5, (2, 4, 0, 1), (3, 4)) - del x5 - rdm1_f_ov += einsum(t1, (0, 1), x6, (0, 2), (2, 1)) * -4.0 - del x6 - x7 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x7 += einsum(l2, (0, 1, 2, 3), (3, 2, 0, 1)) - x7 += einsum(l2, (0, 1, 2, 3), (2, 3, 0, 1)) * -0.5 - rdm1_f_vv += einsum(t2, (0, 1, 2, 3), x7, (0, 1, 4, 2), (4, 3)) * 4.0 - del x7 - - rdm1_f = np.block([[rdm1_f_oo, rdm1_f_ov], [rdm1_f_vo, rdm1_f_vv]]) - - return rdm1_f - -def make_rdm2_f(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, l1=None, l2=None, **kwargs): - delta = Namespace(oo=np.eye(nocc), vv=np.eye(nvir)) - - # RDM2 - rdm2_f_oooo = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - rdm2_f_oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (0, 2, 1, 3)) - rdm2_f_oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (0, 2, 1, 3)) - rdm2_f_oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (0, 2, 1, 3)) - rdm2_f_oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (0, 2, 1, 3)) - rdm2_f_oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_ovoo = np.zeros((nocc, nvir, nocc, nocc), dtype=types[float]) - rdm2_f_ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (0, 2, 1, 3)) - rdm2_f_ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (0, 2, 1, 3)) - rdm2_f_ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (0, 2, 1, 3)) - rdm2_f_ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (0, 2, 1, 3)) - rdm2_f_ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_vooo = np.zeros((nvir, nocc, nocc, nocc), dtype=types[float]) - rdm2_f_vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 0, 3, 1)) - rdm2_f_vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 0, 3, 1)) - rdm2_f_vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 0, 3, 1)) - rdm2_f_vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 0, 3, 1)) - rdm2_f_oovv = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - rdm2_f_oovv += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_ovov = np.zeros((nocc, nvir, nocc, nvir), dtype=types[float]) - rdm2_f_ovov += einsum(l1, (0, 1), t1, (2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_ovov += einsum(l1, (0, 1), t1, (2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_ovvo = np.zeros((nocc, nvir, nvir, nocc), dtype=types[float]) - rdm2_f_ovvo += einsum(l1, (0, 1), t1, (2, 3), (2, 0, 3, 1)) - rdm2_f_ovvo += einsum(l1, (0, 1), t1, (2, 3), (2, 0, 3, 1)) - rdm2_f_ovvo += einsum(l1, (0, 1), t1, (2, 3), (2, 0, 3, 1)) - rdm2_f_ovvo += einsum(l1, (0, 1), t1, (2, 3), (2, 0, 3, 1)) - rdm2_f_voov = np.zeros((nvir, nocc, nocc, nvir), dtype=types[float]) - rdm2_f_voov += einsum(l1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) - rdm2_f_voov += einsum(l1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) - rdm2_f_voov += einsum(l1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) - rdm2_f_voov += einsum(l1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) - rdm2_f_vovo = np.zeros((nvir, nocc, nvir, nocc), dtype=types[float]) - rdm2_f_vovo += einsum(l1, (0, 1), t1, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_vovo += einsum(l1, (0, 1), t1, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_vvoo = np.zeros((nvir, nvir, nocc, nocc), dtype=types[float]) - rdm2_f_vvoo += einsum(l2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_vvoo += einsum(l2, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_vvoo += einsum(l2, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_vvoo += einsum(l2, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_vvoo += einsum(l2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_vvoo += einsum(l2, (0, 1, 2, 3), (0, 1, 2, 3)) - x0 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x0 += einsum(l2, (0, 1, 2, 3), t2, (4, 5, 1, 0), (3, 2, 4, 5)) - rdm2_f_oooo += einsum(x0, (0, 1, 2, 3), (3, 2, 1, 0)) - rdm2_f_oooo += einsum(x0, (0, 1, 2, 3), (3, 2, 1, 0)) - x1 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x1 += einsum(t1, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2)) - rdm2_f_ovoo += einsum(x1, (0, 1, 2, 3), (2, 3, 0, 1)) - rdm2_f_ovoo += einsum(x1, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 - rdm2_f_ovoo += einsum(x1, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 - rdm2_f_ovoo += einsum(x1, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 - rdm2_f_ovoo += einsum(x1, (0, 1, 2, 3), (2, 3, 0, 1)) - rdm2_f_ovoo += einsum(x1, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 - rdm2_f_vooo += einsum(x1, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - rdm2_f_vooo += einsum(x1, (0, 1, 2, 3), (3, 2, 1, 0)) - rdm2_f_vooo += einsum(x1, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - rdm2_f_vooo += einsum(x1, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - rdm2_f_vooo += einsum(x1, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - rdm2_f_vooo += einsum(x1, (0, 1, 2, 3), (3, 2, 1, 0)) - x2 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x2 += einsum(t1, (0, 1), x1, (2, 3, 4, 1), (2, 3, 0, 4)) - rdm2_f_oooo += einsum(x2, (0, 1, 2, 3), (3, 2, 1, 0)) - rdm2_f_oooo += einsum(x2, (0, 1, 2, 3), (3, 2, 1, 0)) - x3 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x3 += einsum(x0, (0, 1, 2, 3), (1, 0, 3, 2)) - x3 += einsum(x2, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oooo += einsum(x3, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - rdm2_f_oooo += einsum(x3, (0, 1, 2, 3), (2, 3, 0, 1)) - rdm2_f_oooo += einsum(x3, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - rdm2_f_oooo += einsum(x3, (0, 1, 2, 3), (2, 3, 0, 1)) - x4 = np.zeros((nocc, nocc), dtype=types[float]) - x4 += einsum(l1, (0, 1), t1, (2, 0), (1, 2)) - rdm2_f_oooo += einsum(delta.oo, (0, 1), x4, (2, 3), (0, 3, 1, 2)) * -1.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x4, (2, 3), (3, 0, 1, 2)) - rdm2_f_oooo += einsum(delta.oo, (0, 1), x4, (2, 3), (0, 3, 2, 1)) - rdm2_f_oooo += einsum(delta.oo, (0, 1), x4, (2, 3), (3, 0, 2, 1)) * -1.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x4, (2, 3), (0, 3, 1, 2)) * -1.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x4, (2, 3), (3, 0, 2, 1)) * -1.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x4, (2, 3), (0, 3, 1, 2)) * -1.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x4, (2, 3), (3, 0, 2, 1)) * -1.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x4, (2, 3), (0, 3, 1, 2)) * -1.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x4, (2, 3), (3, 0, 1, 2)) - rdm2_f_oooo += einsum(delta.oo, (0, 1), x4, (2, 3), (0, 3, 2, 1)) - rdm2_f_oooo += einsum(delta.oo, (0, 1), x4, (2, 3), (3, 0, 2, 1)) * -1.0 - x5 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x5 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.5 - x5 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - x6 = np.zeros((nocc, nocc), dtype=types[float]) - x6 += einsum(l2, (0, 1, 2, 3), x5, (2, 4, 0, 1), (3, 4)) - rdm2_f_oooo += einsum(delta.oo, (0, 1), x6, (2, 3), (0, 3, 1, 2)) * -2.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x6, (2, 3), (0, 3, 2, 1)) * 2.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x6, (2, 3), (3, 0, 1, 2)) * 2.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x6, (2, 3), (3, 0, 2, 1)) * -2.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x6, (2, 3), (0, 3, 1, 2)) * -2.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x6, (2, 3), (3, 0, 2, 1)) * -2.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x6, (2, 3), (0, 3, 1, 2)) * -2.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x6, (2, 3), (3, 0, 2, 1)) * -2.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x6, (2, 3), (0, 3, 1, 2)) * -2.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x6, (2, 3), (0, 3, 2, 1)) * 2.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x6, (2, 3), (3, 0, 1, 2)) * 2.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x6, (2, 3), (3, 0, 2, 1)) * -2.0 - x7 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x7 += einsum(x1, (0, 1, 2, 3), (0, 1, 2, 3)) - x7 += einsum(x1, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.5 - x8 = np.zeros((nocc, nvir), dtype=types[float]) - x8 += einsum(t2, (0, 1, 2, 3), x7, (1, 0, 4, 3), (4, 2)) * 2.0 - x9 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x9 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - x9 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x10 = np.zeros((nocc, nvir), dtype=types[float]) - x10 += einsum(l1, (0, 1), x9, (1, 2, 3, 0), (2, 3)) - x11 = np.zeros((nocc, nocc), dtype=types[float]) - x11 += einsum(l2, (0, 1, 2, 3), x5, (2, 4, 0, 1), (3, 4)) * 2.0 - x12 = np.zeros((nocc, nocc), dtype=types[float]) - x12 += einsum(x4, (0, 1), (0, 1)) - x12 += einsum(x11, (0, 1), (0, 1)) - rdm2_f_ooov = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - rdm2_f_ooov += einsum(t1, (0, 1), x12, (2, 3), (3, 0, 2, 1)) * -1.0 - rdm2_f_ooov += einsum(t1, (0, 1), x12, (2, 3), (3, 0, 2, 1)) * -1.0 - rdm2_f_oovo = np.zeros((nocc, nocc, nvir, nocc), dtype=types[float]) - rdm2_f_oovo += einsum(t1, (0, 1), x12, (2, 3), (0, 3, 1, 2)) * -1.0 - rdm2_f_oovo += einsum(t1, (0, 1), x12, (2, 3), (0, 3, 1, 2)) * -1.0 - x13 = np.zeros((nocc, nvir), dtype=types[float]) - x13 += einsum(t1, (0, 1), x12, (0, 2), (2, 1)) - x14 = np.zeros((nocc, nvir), dtype=types[float]) - x14 += einsum(x8, (0, 1), (0, 1)) - x14 += einsum(x10, (0, 1), (0, 1)) * -1.0 - x14 += einsum(x13, (0, 1), (0, 1)) - rdm2_f_ooov += einsum(delta.oo, (0, 1), x14, (2, 3), (0, 2, 1, 3)) * -1.0 - rdm2_f_ooov += einsum(delta.oo, (0, 1), x14, (2, 3), (2, 0, 1, 3)) - rdm2_f_ooov += einsum(delta.oo, (0, 1), x14, (2, 3), (0, 2, 1, 3)) * -1.0 - rdm2_f_ooov += einsum(delta.oo, (0, 1), x14, (2, 3), (2, 0, 1, 3)) - rdm2_f_oovo += einsum(delta.oo, (0, 1), x14, (2, 3), (0, 2, 3, 1)) - rdm2_f_oovo += einsum(delta.oo, (0, 1), x14, (2, 3), (2, 0, 3, 1)) * -1.0 - rdm2_f_oovo += einsum(delta.oo, (0, 1), x14, (2, 3), (0, 2, 3, 1)) - rdm2_f_oovo += einsum(delta.oo, (0, 1), x14, (2, 3), (2, 0, 3, 1)) * -1.0 - del x14 - x15 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x15 += einsum(l1, (0, 1), t2, (2, 3, 4, 0), (1, 2, 3, 4)) - rdm2_f_ooov += einsum(x15, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_ooov += einsum(x15, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_oovo += einsum(x15, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - rdm2_f_oovo += einsum(x15, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - x16 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x16 += einsum(x1, (0, 1, 2, 3), (0, 1, 2, 3)) - x16 += einsum(x1, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x17 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x17 += einsum(t2, (0, 1, 2, 3), x16, (4, 1, 5, 2), (4, 5, 0, 3)) - x18 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x18 += einsum(x1, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x18 += einsum(x1, (0, 1, 2, 3), (1, 0, 2, 3)) - x19 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x19 += einsum(t2, (0, 1, 2, 3), x18, (4, 1, 5, 3), (4, 5, 0, 2)) * 2.0 - del x18 - x20 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x20 += einsum(t1, (0, 1), x3, (0, 2, 3, 4), (2, 3, 4, 1)) - del x3 - rdm2_f_ooov += einsum(x20, (0, 1, 2, 3), (2, 1, 0, 3)) - rdm2_f_ooov += einsum(x20, (0, 1, 2, 3), (2, 1, 0, 3)) - rdm2_f_oovo += einsum(x20, (0, 1, 2, 3), (1, 2, 3, 0)) - rdm2_f_oovo += einsum(x20, (0, 1, 2, 3), (1, 2, 3, 0)) - x21 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x21 += einsum(delta.oo, (0, 1), t1, (2, 3), (0, 1, 2, 3)) - x21 += einsum(x15, (0, 1, 2, 3), (1, 0, 2, 3)) - x21 += einsum(x17, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x21 += einsum(x19, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x21 += einsum(x20, (0, 1, 2, 3), (2, 0, 1, 3)) - x21 += einsum(t1, (0, 1), x12, (2, 3), (0, 2, 3, 1)) - rdm2_f_ooov += einsum(x21, (0, 1, 2, 3), (0, 2, 1, 3)) - rdm2_f_ooov += einsum(x21, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_ooov += einsum(x21, (0, 1, 2, 3), (0, 2, 1, 3)) - rdm2_f_ooov += einsum(x21, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_oovo += einsum(x21, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_oovo += einsum(x21, (0, 1, 2, 3), (2, 0, 3, 1)) - rdm2_f_oovo += einsum(x21, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_oovo += einsum(x21, (0, 1, 2, 3), (2, 0, 3, 1)) - del x21 - x22 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x22 += einsum(t2, (0, 1, 2, 3), x1, (1, 4, 5, 2), (4, 5, 0, 3)) - rdm2_f_ooov += einsum(x22, (0, 1, 2, 3), (1, 2, 0, 3)) - rdm2_f_ooov += einsum(x22, (0, 1, 2, 3), (1, 2, 0, 3)) - rdm2_f_oovo += einsum(x22, (0, 1, 2, 3), (2, 1, 3, 0)) - rdm2_f_oovo += einsum(x22, (0, 1, 2, 3), (2, 1, 3, 0)) - del x22 - x23 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x23 += einsum(t2, (0, 1, 2, 3), x1, (4, 1, 5, 2), (4, 5, 0, 3)) - rdm2_f_ooov += einsum(x23, (0, 1, 2, 3), (2, 1, 0, 3)) - rdm2_f_ooov += einsum(x23, (0, 1, 2, 3), (2, 1, 0, 3)) - rdm2_f_oovo += einsum(x23, (0, 1, 2, 3), (1, 2, 3, 0)) - rdm2_f_oovo += einsum(x23, (0, 1, 2, 3), (1, 2, 3, 0)) - x24 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x24 += einsum(x1, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x24 += einsum(x1, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 - x25 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x25 += einsum(t2, (0, 1, 2, 3), x24, (4, 1, 5, 3), (4, 5, 0, 2)) - del x24 - rdm2_f_ooov += einsum(x25, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_ooov += einsum(x25, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - del x25 - x26 = np.zeros((nocc, nvir), dtype=types[float]) - x26 += einsum(t1, (0, 1), (0, 1)) * -1.0 - x26 += einsum(x8, (0, 1), (0, 1)) - del x8 - x26 += einsum(x10, (0, 1), (0, 1)) * -1.0 - del x10 - x26 += einsum(x13, (0, 1), (0, 1)) - del x13 - rdm2_f_ooov += einsum(delta.oo, (0, 1), x26, (2, 3), (0, 2, 1, 3)) * -1.0 - rdm2_f_ooov += einsum(delta.oo, (0, 1), x26, (2, 3), (0, 2, 1, 3)) * -1.0 - rdm2_f_oovo += einsum(delta.oo, (0, 1), x26, (2, 3), (2, 0, 3, 1)) * -1.0 - rdm2_f_oovo += einsum(delta.oo, (0, 1), x26, (2, 3), (2, 0, 3, 1)) * -1.0 - del x26 - x27 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x27 += einsum(x1, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x27 += einsum(x1, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x28 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x28 += einsum(t2, (0, 1, 2, 3), x27, (1, 4, 5, 3), (4, 5, 0, 2)) - del x27 - rdm2_f_oovo += einsum(x28, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - rdm2_f_oovo += einsum(x28, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - del x28 - x29 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x29 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - x29 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) - rdm2_f_oovv += einsum(x29, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_oovv += einsum(x29, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(x29, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_oovv += einsum(x29, (0, 1, 2, 3), (0, 1, 2, 3)) - del x29 - x30 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x30 += einsum(x4, (0, 1), t2, (2, 0, 3, 4), (1, 2, 3, 4)) - x31 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x31 += einsum(l2, (0, 1, 2, 3), (3, 2, 0, 1)) * -0.5 - x31 += einsum(l2, (0, 1, 2, 3), (2, 3, 0, 1)) - x32 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x32 += einsum(t2, (0, 1, 2, 3), x31, (1, 4, 2, 5), (4, 0, 5, 3)) * 2.0 - x33 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x33 += einsum(t2, (0, 1, 2, 3), x32, (1, 4, 3, 5), (4, 0, 5, 2)) - del x32 - x34 = np.zeros((nvir, nvir), dtype=types[float]) - x34 += einsum(t2, (0, 1, 2, 3), x31, (0, 1, 4, 3), (4, 2)) * 2.0 - x35 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x35 += einsum(x34, (0, 1), t2, (2, 3, 0, 4), (2, 3, 1, 4)) - x36 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x36 += einsum(x15, (0, 1, 2, 3), (0, 1, 2, 3)) - x36 += einsum(x17, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x17 - x36 += einsum(x19, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x19 - x37 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x37 += einsum(t1, (0, 1), x36, (0, 2, 3, 4), (2, 3, 4, 1)) - del x36 - x38 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x38 += einsum(x11, (0, 1), t2, (2, 0, 3, 4), (1, 2, 4, 3)) - del x11 - x39 = np.zeros((nocc, nvir), dtype=types[float]) - x39 += einsum(t2, (0, 1, 2, 3), x7, (1, 0, 4, 3), (4, 2)) - del x7 - x40 = np.zeros((nocc, nvir), dtype=types[float]) - x40 += einsum(l1, (0, 1), x9, (1, 2, 3, 0), (2, 3)) * 0.5 - x41 = np.zeros((nocc, nvir), dtype=types[float]) - x41 += einsum(t1, (0, 1), x12, (0, 2), (2, 1)) * 0.5 - del x12 - x42 = np.zeros((nocc, nvir), dtype=types[float]) - x42 += einsum(x39, (0, 1), (0, 1)) - x42 += einsum(x40, (0, 1), (0, 1)) * -1.0 - x42 += einsum(x41, (0, 1), (0, 1)) - del x41 - x43 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x43 += einsum(x30, (0, 1, 2, 3), (0, 1, 2, 3)) - x43 += einsum(x33, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - x43 += einsum(x35, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - x43 += einsum(x37, (0, 1, 2, 3), (0, 1, 3, 2)) - del x37 - x43 += einsum(x38, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - x43 += einsum(t1, (0, 1), x42, (2, 3), (0, 2, 1, 3)) * -2.0 - del x42 - rdm2_f_oovv += einsum(x43, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(x43, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_oovv += einsum(x43, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - rdm2_f_oovv += einsum(x43, (0, 1, 2, 3), (1, 0, 3, 2)) - rdm2_f_oovv += einsum(x43, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(x43, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_oovv += einsum(x43, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - rdm2_f_oovv += einsum(x43, (0, 1, 2, 3), (1, 0, 3, 2)) - del x43 - x44 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x44 += einsum(t2, (0, 1, 2, 3), x0, (0, 1, 4, 5), (4, 5, 2, 3)) - del x0 - rdm2_f_oovv += einsum(x44, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(x44, (0, 1, 2, 3), (0, 1, 2, 3)) - x45 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x45 += einsum(t2, (0, 1, 2, 3), x2, (1, 0, 4, 5), (4, 5, 3, 2)) - del x2 - rdm2_f_oovv += einsum(x45, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(x45, (0, 1, 2, 3), (0, 1, 2, 3)) - x46 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x46 += einsum(t2, (0, 1, 2, 3), x31, (1, 4, 3, 5), (4, 0, 5, 2)) - x47 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x47 += einsum(t2, (0, 1, 2, 3), x46, (1, 4, 3, 5), (4, 0, 5, 2)) * 4.0 - del x46 - x48 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x48 += einsum(l2, (0, 1, 2, 3), (3, 2, 0, 1)) - x48 += einsum(l2, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 - x49 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x49 += einsum(t2, (0, 1, 2, 3), x48, (1, 4, 2, 5), (4, 0, 5, 3)) - x50 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x50 += einsum(t2, (0, 1, 2, 3), x49, (1, 4, 2, 5), (4, 0, 5, 3)) * -1.0 - del x49 - x51 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x51 += einsum(t1, (0, 1), x20, (0, 2, 3, 4), (3, 2, 4, 1)) - del x20 - rdm2_f_oovv += einsum(x51, (0, 1, 2, 3), (0, 1, 3, 2)) - rdm2_f_oovv += einsum(x51, (0, 1, 2, 3), (0, 1, 3, 2)) - x52 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x52 += einsum(x44, (0, 1, 2, 3), (0, 1, 2, 3)) - del x44 - x52 += einsum(x45, (0, 1, 2, 3), (0, 1, 2, 3)) - del x45 - x52 += einsum(x47, (0, 1, 2, 3), (0, 1, 2, 3)) - del x47 - x52 += einsum(x50, (0, 1, 2, 3), (1, 0, 3, 2)) - del x50 - x52 += einsum(x51, (0, 1, 2, 3), (0, 1, 3, 2)) - del x51 - rdm2_f_oovv += einsum(x52, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(x52, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_oovv += einsum(x52, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(x52, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x52 - x53 = np.zeros((nocc, nvir), dtype=types[float]) - x53 += einsum(t1, (0, 1), x4, (0, 2), (2, 1)) - del x4 - rdm2_f_oovv += einsum(t1, (0, 1), x53, (2, 3), (2, 0, 3, 1)) * -1.0 - rdm2_f_oovv += einsum(t1, (0, 1), x53, (2, 3), (2, 0, 3, 1)) * -1.0 - x54 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x54 += einsum(l2, (0, 1, 2, 3), t2, (4, 3, 1, 5), (2, 4, 0, 5)) - x55 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x55 += einsum(t2, (0, 1, 2, 3), x54, (1, 4, 2, 5), (4, 0, 5, 3)) - del x54 - rdm2_f_oovv += einsum(x55, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(x55, (0, 1, 2, 3), (0, 1, 2, 3)) - del x55 - x56 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x56 += einsum(l2, (0, 1, 2, 3), t2, (4, 2, 1, 5), (3, 4, 0, 5)) - rdm2_f_ovov += einsum(x56, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_ovov += einsum(x56, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_vovo += einsum(x56, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - rdm2_f_vovo += einsum(x56, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - x57 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x57 += einsum(t2, (0, 1, 2, 3), x56, (1, 4, 2, 5), (4, 0, 5, 3)) - rdm2_f_oovv += einsum(x57, (0, 1, 2, 3), (0, 1, 3, 2)) - rdm2_f_oovv += einsum(x57, (0, 1, 2, 3), (0, 1, 3, 2)) - del x57 - x58 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x58 += einsum(t2, (0, 1, 2, 3), x1, (4, 1, 5, 3), (4, 5, 0, 2)) - x59 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x59 += einsum(x1, (0, 1, 2, 3), x9, (0, 4, 5, 3), (4, 1, 2, 5)) - x60 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x60 += einsum(x58, (0, 1, 2, 3), (0, 1, 2, 3)) - del x58 - x60 += einsum(x59, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - del x59 - x61 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x61 += einsum(t1, (0, 1), x60, (0, 2, 3, 4), (2, 3, 4, 1)) - del x60 - x62 = np.zeros((nocc, nvir), dtype=types[float]) - x62 += einsum(t1, (0, 1), x6, (0, 2), (2, 1)) - del x6 - x63 = np.zeros((nocc, nvir), dtype=types[float]) - x63 += einsum(x39, (0, 1), (0, 1)) - del x39 - x63 += einsum(x40, (0, 1), (0, 1)) * -1.0 - del x40 - x63 += einsum(x62, (0, 1), (0, 1)) - del x62 - x64 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x64 += einsum(x33, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x33 - x64 += einsum(x35, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x35 - x64 += einsum(x61, (0, 1, 2, 3), (0, 1, 3, 2)) - del x61 - x64 += einsum(x38, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x38 - x64 += einsum(t1, (0, 1), x63, (2, 3), (0, 2, 1, 3)) * -2.0 - del x63 - rdm2_f_oovv += einsum(x64, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(x64, (0, 1, 2, 3), (1, 0, 3, 2)) - rdm2_f_oovv += einsum(x64, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(x64, (0, 1, 2, 3), (1, 0, 3, 2)) - del x64 - x65 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x65 += einsum(x15, (0, 1, 2, 3), (0, 1, 2, 3)) - del x15 - x65 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x23 - x66 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x66 += einsum(t1, (0, 1), x65, (0, 2, 3, 4), (2, 3, 4, 1)) - del x65 - x67 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x67 += einsum(x30, (0, 1, 2, 3), (0, 1, 2, 3)) - del x30 - x67 += einsum(x66, (0, 1, 2, 3), (0, 1, 3, 2)) - del x66 - rdm2_f_oovv += einsum(x67, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_oovv += einsum(x67, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - rdm2_f_oovv += einsum(x67, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_oovv += einsum(x67, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x67 - x68 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x68 += einsum(t2, (0, 1, 2, 3), x31, (1, 4, 3, 5), (4, 0, 5, 2)) * 2.0 - x69 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x69 += einsum(t2, (0, 1, 2, 3), x68, (1, 4, 3, 5), (4, 0, 5, 2)) * 2.0 - del x68 - rdm2_f_oovv += einsum(x69, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(x69, (0, 1, 2, 3), (0, 1, 2, 3)) - del x69 - x70 = np.zeros((nocc, nvir), dtype=types[float]) - x70 += einsum(t1, (0, 1), (0, 1)) * -1.0 - x70 += einsum(x53, (0, 1), (0, 1)) - del x53 - rdm2_f_oovv += einsum(t1, (0, 1), x70, (2, 3), (0, 2, 1, 3)) * -1.0 - rdm2_f_oovv += einsum(t1, (0, 1), x70, (2, 3), (0, 2, 1, 3)) * -1.0 - del x70 - x71 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x71 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) - x71 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x72 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x72 += einsum(l2, (0, 1, 2, 3), x71, (2, 4, 1, 5), (4, 3, 5, 0)) - rdm2_f_ovov += einsum(x72, (0, 1, 2, 3), (0, 3, 1, 2)) * -1.0 - rdm2_f_ovov += einsum(x72, (0, 1, 2, 3), (0, 3, 1, 2)) * -1.0 - del x72 - x73 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x73 += einsum(l2, (0, 1, 2, 3), x5, (3, 4, 1, 5), (2, 4, 0, 5)) * 2.0 - del x5 - rdm2_f_ovov += einsum(x73, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_ovov += einsum(x73, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_voov += einsum(x73, (0, 1, 2, 3), (2, 1, 0, 3)) - rdm2_f_voov += einsum(x73, (0, 1, 2, 3), (2, 1, 0, 3)) - del x73 - x74 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x74 += einsum(x1, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x74 += einsum(x1, (0, 1, 2, 3), (1, 0, 2, 3)) - x75 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x75 += einsum(t1, (0, 1), x74, (2, 0, 3, 4), (2, 3, 4, 1)) - del x74 - rdm2_f_ovov += einsum(x75, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_ovov += einsum(x75, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_vovo += einsum(x75, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - rdm2_f_vovo += einsum(x75, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - del x75 - x76 = np.zeros((nvir, nvir), dtype=types[float]) - x76 += einsum(l1, (0, 1), t1, (1, 2), (0, 2)) - x77 = np.zeros((nvir, nvir), dtype=types[float]) - x77 += einsum(t2, (0, 1, 2, 3), x31, (0, 1, 4, 3), (4, 2)) - del x31 - x78 = np.zeros((nvir, nvir), dtype=types[float]) - x78 += einsum(x76, (0, 1), (0, 1)) * 0.5 - x78 += einsum(x77, (0, 1), (0, 1)) - del x77 - rdm2_f_ovov += einsum(delta.oo, (0, 1), x78, (2, 3), (0, 2, 1, 3)) * 2.0 - rdm2_f_ovov += einsum(delta.oo, (0, 1), x78, (2, 3), (0, 2, 1, 3)) * 2.0 - rdm2_f_ovov += einsum(delta.oo, (0, 1), x78, (2, 3), (0, 2, 1, 3)) * 2.0 - rdm2_f_ovov += einsum(delta.oo, (0, 1), x78, (2, 3), (0, 2, 1, 3)) * 2.0 - rdm2_f_ovvv = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - rdm2_f_ovvv += einsum(t1, (0, 1), x78, (2, 3), (0, 2, 1, 3)) * 2.0 - rdm2_f_ovvv += einsum(t1, (0, 1), x78, (2, 3), (0, 2, 1, 3)) * 2.0 - del x78 - x79 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x79 += einsum(t1, (0, 1), x1, (0, 2, 3, 4), (2, 3, 4, 1)) - rdm2_f_ovov += einsum(x79, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_ovov += einsum(x79, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_vovo += einsum(x79, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - rdm2_f_vovo += einsum(x79, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - del x79 - x80 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x80 += einsum(t2, (0, 1, 2, 3), x48, (1, 4, 5, 2), (4, 0, 5, 3)) - del x48 - rdm2_f_ovvo += einsum(x80, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - rdm2_f_ovvo += einsum(x80, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - rdm2_f_vovo += einsum(x80, (0, 1, 2, 3), (2, 1, 3, 0)) - rdm2_f_vovo += einsum(x80, (0, 1, 2, 3), (2, 1, 3, 0)) - del x80 - x81 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x81 += einsum(l2, (0, 1, 2, 3), (3, 2, 0, 1)) * 2.0 - x81 += einsum(l2, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 - x82 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x82 += einsum(t2, (0, 1, 2, 3), x81, (1, 4, 5, 3), (4, 0, 5, 2)) - del x81 - rdm2_f_ovvo += einsum(x82, (0, 1, 2, 3), (1, 2, 3, 0)) - rdm2_f_ovvo += einsum(x82, (0, 1, 2, 3), (1, 2, 3, 0)) - rdm2_f_vovo += einsum(x82, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - rdm2_f_vovo += einsum(x82, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - del x82 - x83 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x83 += einsum(t1, (0, 1), x16, (2, 0, 3, 4), (2, 3, 4, 1)) - del x16 - rdm2_f_ovvo += einsum(x83, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - rdm2_f_ovvo += einsum(x83, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - rdm2_f_voov += einsum(x83, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_voov += einsum(x83, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - del x83 - x84 = np.zeros((nvir, nvir), dtype=types[float]) - x84 += einsum(x76, (0, 1), (0, 1)) - del x76 - x84 += einsum(x34, (0, 1), (0, 1)) - del x34 - rdm2_f_ovvo += einsum(delta.oo, (0, 1), x84, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_ovvo += einsum(delta.oo, (0, 1), x84, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_voov += einsum(delta.oo, (0, 1), x84, (2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_voov += einsum(delta.oo, (0, 1), x84, (2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_vovo += einsum(delta.oo, (0, 1), x84, (2, 3), (2, 0, 3, 1)) - rdm2_f_vovo += einsum(delta.oo, (0, 1), x84, (2, 3), (2, 0, 3, 1)) - rdm2_f_vovo += einsum(delta.oo, (0, 1), x84, (2, 3), (2, 0, 3, 1)) - rdm2_f_vovo += einsum(delta.oo, (0, 1), x84, (2, 3), (2, 0, 3, 1)) - rdm2_f_vovv = np.zeros((nvir, nocc, nvir, nvir), dtype=types[float]) - rdm2_f_vovv += einsum(t1, (0, 1), x84, (2, 3), (2, 0, 3, 1)) - rdm2_f_vovv += einsum(t1, (0, 1), x84, (2, 3), (2, 0, 3, 1)) - x85 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x85 += einsum(l2, (0, 1, 2, 3), t2, (4, 2, 5, 1), (3, 4, 0, 5)) - rdm2_f_ovvo += einsum(x85, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - rdm2_f_ovvo += einsum(x85, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - rdm2_f_voov += einsum(x85, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_voov += einsum(x85, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - x86 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x86 += einsum(t1, (0, 1), x1, (2, 0, 3, 4), (2, 3, 4, 1)) - rdm2_f_ovvo += einsum(x86, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - rdm2_f_ovvo += einsum(x86, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - rdm2_f_voov += einsum(x86, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_voov += einsum(x86, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - x87 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x87 += einsum(l2, (0, 1, 2, 3), x9, (3, 4, 5, 1), (4, 2, 5, 0)) - del x9 - rdm2_f_ovvo += einsum(x87, (0, 1, 2, 3), (0, 3, 2, 1)) - rdm2_f_ovvo += einsum(x87, (0, 1, 2, 3), (0, 3, 2, 1)) - rdm2_f_voov += einsum(x87, (0, 1, 2, 3), (3, 0, 1, 2)) - rdm2_f_voov += einsum(x87, (0, 1, 2, 3), (3, 0, 1, 2)) - del x87 - x88 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x88 += einsum(l2, (0, 1, 2, 3), x71, (2, 4, 5, 1), (4, 3, 5, 0)) - del x71 - rdm2_f_voov += einsum(x88, (0, 1, 2, 3), (3, 0, 1, 2)) * -1.0 - rdm2_f_voov += einsum(x88, (0, 1, 2, 3), (3, 0, 1, 2)) * -1.0 - del x88 - x89 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x89 += einsum(l1, (0, 1), t2, (2, 1, 3, 4), (2, 0, 3, 4)) - rdm2_f_ovvv += einsum(x89, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_ovvv += einsum(x89, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_vovv += einsum(x89, (0, 1, 2, 3), (1, 0, 3, 2)) - rdm2_f_vovv += einsum(x89, (0, 1, 2, 3), (1, 0, 3, 2)) - x90 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x90 += einsum(t2, (0, 1, 2, 3), x1, (0, 1, 4, 5), (4, 5, 2, 3)) - del x1 - rdm2_f_ovvv += einsum(x90, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_ovvv += einsum(x90, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_vovv += einsum(x90, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - rdm2_f_vovv += einsum(x90, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x91 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x91 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x91 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x92 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x92 += einsum(l2, (0, 1, 2, 3), x91, (3, 4, 1, 5), (4, 2, 5, 0)) - x93 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x93 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x93 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - x94 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x94 += einsum(l2, (0, 1, 2, 3), x93, (2, 4, 1, 5), (4, 3, 5, 0)) - del x93 - x95 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x95 += einsum(x86, (0, 1, 2, 3), (0, 1, 2, 3)) - x95 += einsum(x92, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - x95 += einsum(x94, (0, 1, 2, 3), (1, 0, 3, 2)) - del x94 - x96 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x96 += einsum(t1, (0, 1), x95, (0, 2, 3, 4), (2, 3, 4, 1)) - del x95 - x97 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x97 += einsum(x89, (0, 1, 2, 3), (0, 1, 2, 3)) - del x89 - x97 += einsum(x90, (0, 1, 2, 3), (0, 1, 2, 3)) - del x90 - x97 += einsum(x96, (0, 1, 2, 3), (0, 1, 3, 2)) - del x96 - x97 += einsum(t1, (0, 1), x84, (2, 3), (0, 2, 1, 3)) - del x84 - rdm2_f_ovvv += einsum(x97, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_ovvv += einsum(x97, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_ovvv += einsum(x97, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_ovvv += einsum(x97, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_vovv += einsum(x97, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - rdm2_f_vovv += einsum(x97, (0, 1, 2, 3), (1, 0, 3, 2)) - rdm2_f_vovv += einsum(x97, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - rdm2_f_vovv += einsum(x97, (0, 1, 2, 3), (1, 0, 3, 2)) - del x97 - x98 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x98 += einsum(t1, (0, 1), x56, (0, 2, 3, 4), (2, 3, 1, 4)) - del x56 - rdm2_f_ovvv += einsum(x98, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - rdm2_f_ovvv += einsum(x98, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - rdm2_f_vovv += einsum(x98, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - rdm2_f_vovv += einsum(x98, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x98 - x99 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x99 += einsum(x85, (0, 1, 2, 3), (0, 1, 2, 3)) - x99 += einsum(x86, (0, 1, 2, 3), (0, 1, 2, 3)) - x99 += einsum(x92, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x92 - x100 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x100 += einsum(t1, (0, 1), x99, (0, 2, 3, 4), (2, 3, 4, 1)) - del x99 - rdm2_f_ovvv += einsum(x100, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - rdm2_f_ovvv += einsum(x100, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x100 - x101 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x101 += einsum(l2, (0, 1, 2, 3), x91, (3, 4, 1, 5), (4, 2, 5, 0)) * 0.5 - del x91 - x102 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x102 += einsum(x85, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - del x85 - x102 += einsum(x86, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - del x86 - x102 += einsum(x101, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x101 - x103 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x103 += einsum(t1, (0, 1), x102, (0, 2, 3, 4), (2, 3, 4, 1)) * 2.0 - del x102 - rdm2_f_vovv += einsum(x103, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - rdm2_f_vovv += einsum(x103, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x103 - x104 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x104 += einsum(t1, (0, 1), l2, (2, 3, 4, 0), (4, 2, 3, 1)) - rdm2_f_vvov = np.zeros((nvir, nvir, nocc, nvir), dtype=types[float]) - rdm2_f_vvov += einsum(x104, (0, 1, 2, 3), (1, 2, 0, 3)) - rdm2_f_vvov += einsum(x104, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_vvov += einsum(x104, (0, 1, 2, 3), (1, 2, 0, 3)) - rdm2_f_vvov += einsum(x104, (0, 1, 2, 3), (1, 2, 0, 3)) - rdm2_f_vvov += einsum(x104, (0, 1, 2, 3), (1, 2, 0, 3)) - rdm2_f_vvov += einsum(x104, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_vvvo = np.zeros((nvir, nvir, nvir, nocc), dtype=types[float]) - rdm2_f_vvvo += einsum(x104, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - rdm2_f_vvvo += einsum(x104, (0, 1, 2, 3), (2, 1, 3, 0)) - rdm2_f_vvvo += einsum(x104, (0, 1, 2, 3), (2, 1, 3, 0)) - rdm2_f_vvvo += einsum(x104, (0, 1, 2, 3), (2, 1, 3, 0)) - rdm2_f_vvvo += einsum(x104, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - rdm2_f_vvvo += einsum(x104, (0, 1, 2, 3), (2, 1, 3, 0)) - x105 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) - x105 += einsum(l2, (0, 1, 2, 3), t2, (2, 3, 4, 5), (0, 1, 4, 5)) - rdm2_f_vvvv = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) - rdm2_f_vvvv += einsum(x105, (0, 1, 2, 3), (1, 0, 3, 2)) - rdm2_f_vvvv += einsum(x105, (0, 1, 2, 3), (1, 0, 3, 2)) - x106 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) - x106 += einsum(t1, (0, 1), x104, (0, 2, 3, 4), (3, 2, 4, 1)) - del x104 - rdm2_f_vvvv += einsum(x106, (0, 1, 2, 3), (1, 0, 3, 2)) - rdm2_f_vvvv += einsum(x106, (0, 1, 2, 3), (1, 0, 3, 2)) - x107 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) - x107 += einsum(x105, (0, 1, 2, 3), (1, 0, 3, 2)) - del x105 - x107 += einsum(x106, (0, 1, 2, 3), (1, 0, 3, 2)) - del x106 - rdm2_f_vvvv += einsum(x107, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_vvvv += einsum(x107, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_vvvv += einsum(x107, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_vvvv += einsum(x107, (0, 1, 2, 3), (0, 1, 2, 3)) - del x107 - - rdm2_f = pack_2e(rdm2_f_oooo, rdm2_f_ooov, rdm2_f_oovo, rdm2_f_ovoo, rdm2_f_vooo, rdm2_f_oovv, rdm2_f_ovov, rdm2_f_ovvo, rdm2_f_voov, rdm2_f_vovo, rdm2_f_vvoo, rdm2_f_ovvv, rdm2_f_vovv, rdm2_f_vvov, rdm2_f_vvvo, rdm2_f_vvvv) - - rdm2_f = rdm2_f.swapaxes(1, 2) - - return rdm2_f - diff --git a/ebcc/codegen/RCC3.py b/ebcc/codegen/RCC3.py deleted file mode 100644 index dc475ece..00000000 --- a/ebcc/codegen/RCC3.py +++ /dev/null @@ -1,568 +0,0 @@ -# Code generated for ebcc. - -from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, Namespace -from ebcc.precision import types - -def energy(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, t3=None, **kwargs): - # energy - x0 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x0 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x0 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 - e_cc = 0 - e_cc += einsum(t2, (0, 1, 2, 3), x0, (0, 1, 3, 2), ()) * 2.0 - del x0 - x1 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x1 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -0.5 - x1 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x2 = np.zeros((nocc, nvir), dtype=types[float]) - x2 += einsum(f.ov, (0, 1), (0, 1)) - x2 += einsum(t1, (0, 1), x1, (0, 2, 1, 3), (2, 3)) - del x1 - e_cc += einsum(t1, (0, 1), x2, (0, 1), ()) * 2.0 - del x2 - - return e_cc - -def update_amps(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, t3=None, **kwargs): - # T amplitudes - t1new = np.zeros((nocc, nvir), dtype=types[float]) - t1new += einsum(f.ov, (0, 1), (0, 1)) - t1new += einsum(f.vv, (0, 1), t1, (2, 1), (2, 0)) - t2new = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - t2new += einsum(t1, (0, 1), v.ooov, (2, 0, 3, 4), (3, 2, 4, 1)) * -1.0 - t2new += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 5, 1, 3), (0, 4, 2, 5)) * 2.0 - t2new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 2), (0, 4, 5, 3)) * -1.0 - t2new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 3), (0, 4, 2, 5)) * -1.0 - t2new += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x0 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x0 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x0 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x1 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x1 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - x1 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) - t1new += einsum(x0, (0, 1, 2, 3), x1, (0, 1, 4, 3, 2, 5), (4, 5)) * -0.25 - del x1 - x2 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x2 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x2 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.3333333333333333 - t1new += einsum(x2, (0, 1, 2, 3), t3, (4, 1, 0, 5, 2, 3), (4, 5)) * 1.5 - del x2 - x3 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x3 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - x3 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) - t2new += einsum(v.vvvv, (0, 1, 2, 3), x3, (4, 5, 3, 1), (5, 4, 0, 2)) - x4 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x4 += einsum(v.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) - x4 += einsum(v.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 - t1new += einsum(x3, (0, 1, 2, 3), x4, (0, 2, 3, 4), (1, 4)) * 2.0 - x5 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x5 += einsum(t1, (0, 1), v.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) - x6 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x6 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x6 += einsum(v.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x6 += einsum(x5, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x6 += einsum(x5, (0, 1, 2, 3), (0, 2, 1, 3)) * 2.0 - t1new += einsum(t2, (0, 1, 2, 3), x6, (4, 0, 1, 3), (4, 2)) * -1.0 - del x6 - x7 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x7 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -0.5 - x7 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x8 = np.zeros((nocc, nvir), dtype=types[float]) - x8 += einsum(t1, (0, 1), x7, (0, 2, 1, 3), (2, 3)) * 2.0 - x9 = np.zeros((nocc, nvir), dtype=types[float]) - x9 += einsum(f.ov, (0, 1), (0, 1)) - x9 += einsum(x8, (0, 1), (0, 1)) - del x8 - x10 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x10 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.5 - x10 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - t1new += einsum(x9, (0, 1), x10, (0, 2, 1, 3), (2, 3)) * 2.0 - del x10 - x11 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x11 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x11 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - t1new += einsum(t1, (0, 1), x11, (0, 2, 1, 3), (2, 3)) * 2.0 - del x11 - x12 = np.zeros((nocc, nocc), dtype=types[float]) - x12 += einsum(f.ov, (0, 1), t1, (2, 1), (0, 2)) - x13 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x13 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x13 += einsum(v.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 - x14 = np.zeros((nocc, nocc), dtype=types[float]) - x14 += einsum(f.oo, (0, 1), (0, 1)) - x14 += einsum(x12, (0, 1), (0, 1)) - x14 += einsum(x3, (0, 1, 2, 3), x7, (0, 4, 2, 3), (4, 1)) * 2.0 - x14 += einsum(t1, (0, 1), x13, (2, 3, 0, 1), (3, 2)) * 2.0 - t1new += einsum(t1, (0, 1), x14, (0, 2), (2, 1)) * -1.0 - del x14 - x15 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x15 += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 5, 1, 2), (0, 4, 3, 5)) - t2new += einsum(x15, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x16 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x16 += einsum(f.vv, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4)) - x17 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x17 += einsum(t1, (0, 1), v.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) - x18 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x18 += einsum(t1, (0, 1), v.ooov, (2, 3, 4, 1), (0, 2, 3, 4)) - x19 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x19 += einsum(t2, (0, 1, 2, 3), x18, (4, 5, 1, 0), (4, 5, 3, 2)) - x20 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x20 += einsum(t2, (0, 1, 2, 3), x17, (4, 1, 2, 5), (4, 0, 3, 5)) - x21 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x21 += einsum(x5, (0, 1, 2, 3), t3, (4, 2, 1, 5, 6, 3), (0, 4, 5, 6)) - x22 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x22 += einsum(v.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) - x22 += einsum(v.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x23 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x23 += einsum(x22, (0, 1, 2, 3), t3, (4, 5, 0, 2, 6, 1), (4, 5, 6, 3)) * 0.5 - del x22 - x24 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x24 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x24 += einsum(v.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) - x25 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x25 += einsum(x24, (0, 1, 2, 3), t3, (2, 4, 0, 3, 5, 6), (4, 1, 6, 5)) * 0.5 - del x24 - x26 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x26 += einsum(t1, (0, 1), x4, (2, 3, 1, 4), (0, 2, 3, 4)) * 2.0 - del x4 - x27 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x27 += einsum(t2, (0, 1, 2, 3), x26, (4, 1, 3, 5), (0, 4, 2, 5)) - del x26 - x28 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x28 += einsum(t1, (0, 1), v.oovv, (2, 3, 4, 1), (0, 2, 3, 4)) - x29 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x29 += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 1, 5, 3), (0, 4, 5, 2)) - x30 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x30 += einsum(v.ovov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 1, 3), (4, 5, 0, 6)) - x31 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x31 += einsum(t2, (0, 1, 2, 3), x5, (4, 5, 1, 2), (4, 0, 5, 3)) - x32 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x32 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) * 0.5 - x32 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x32 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - x33 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x33 += einsum(v.ooov, (0, 1, 2, 3), x32, (2, 4, 5, 3), (0, 1, 4, 5)) * 2.0 - del x32 - x34 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x34 += einsum(x9, (0, 1), t2, (2, 3, 1, 4), (2, 3, 0, 4)) - x35 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x35 += einsum(x28, (0, 1, 2, 3), (2, 0, 1, 3)) - x35 += einsum(x29, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - del x29 - x35 += einsum(x30, (0, 1, 2, 3), (2, 0, 1, 3)) - del x30 - x35 += einsum(x31, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - del x31 - x35 += einsum(x33, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - del x33 - x35 += einsum(x34, (0, 1, 2, 3), (2, 1, 0, 3)) - del x34 - x36 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x36 += einsum(t1, (0, 1), x35, (0, 2, 3, 4), (2, 3, 1, 4)) - del x35 - x37 = np.zeros((nocc, nocc), dtype=types[float]) - x37 += einsum(t1, (0, 1), x9, (2, 1), (0, 2)) * 0.5 - del x9 - x38 = np.zeros((nocc, nocc), dtype=types[float]) - x38 += einsum(f.oo, (0, 1), (0, 1)) * 0.5 - x38 += einsum(x37, (0, 1), (0, 1)) - del x37 - x39 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x39 += einsum(x38, (0, 1), t2, (2, 1, 3, 4), (2, 0, 4, 3)) * 2.0 - del x38 - x40 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x40 += einsum(x16, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x16 - x40 += einsum(x17, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x40 += einsum(x19, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x19 - x40 += einsum(x20, (0, 1, 2, 3), (0, 1, 2, 3)) - del x20 - x40 += einsum(x21, (0, 1, 2, 3), (0, 1, 2, 3)) - del x21 - x40 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x23 - x40 += einsum(x25, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x25 - x40 += einsum(x27, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x27 - x40 += einsum(x36, (0, 1, 2, 3), (0, 1, 2, 3)) - del x36 - x40 += einsum(x39, (0, 1, 2, 3), (1, 0, 3, 2)) - del x39 - t2new += einsum(x40, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new += einsum(x40, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x40 - x41 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x41 += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 1, 2, 5, 6, 3), (4, 0, 5, 6)) - x42 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x42 += einsum(x5, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x42 += einsum(x5, (0, 1, 2, 3), (0, 2, 1, 3)) - x43 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x43 += einsum(x42, (0, 1, 2, 3), t3, (1, 4, 2, 3, 5, 6), (4, 0, 6, 5)) * 0.5 - del x42 - x44 = np.zeros((nocc, nvir), dtype=types[float]) - x44 += einsum(t1, (0, 1), x7, (0, 2, 1, 3), (2, 3)) - x45 = np.zeros((nocc, nvir), dtype=types[float]) - x45 += einsum(f.ov, (0, 1), (0, 1)) * 0.5 - x45 += einsum(x44, (0, 1), (0, 1)) - del x44 - x46 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x46 += einsum(x45, (0, 1), t3, (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) * 2.0 - del x45 - x47 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x47 += einsum(t1, (0, 1), x5, (2, 3, 0, 4), (2, 3, 1, 4)) - x48 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x48 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x48 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * 2.0 - x49 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x49 += einsum(t2, (0, 1, 2, 3), x48, (1, 4, 3, 5), (0, 4, 2, 5)) * 0.5 - del x48 - x50 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x50 += einsum(x47, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - del x47 - x50 += einsum(x49, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x49 - x51 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x51 += einsum(t2, (0, 1, 2, 3), x50, (4, 1, 5, 2), (0, 4, 3, 5)) * 2.0 - del x50 - x52 = np.zeros((nvir, nvir), dtype=types[float]) - x52 += einsum(t2, (0, 1, 2, 3), x7, (0, 1, 4, 3), (2, 4)) * 2.0 - x53 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x53 += einsum(v.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x53 += einsum(v.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) * 2.0 - x54 = np.zeros((nvir, nvir), dtype=types[float]) - x54 += einsum(t1, (0, 1), x53, (0, 2, 1, 3), (2, 3)) - del x53 - x55 = np.zeros((nvir, nvir), dtype=types[float]) - x55 += einsum(x52, (0, 1), (1, 0)) - del x52 - x55 += einsum(x54, (0, 1), (0, 1)) * -1.0 - del x54 - x56 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x56 += einsum(x55, (0, 1), t2, (2, 3, 0, 4), (2, 3, 4, 1)) - del x55 - x57 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x57 += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 1, 5, 2), (0, 4, 5, 3)) - x58 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x58 += einsum(x0, (0, 1, 2, 3), t3, (4, 5, 0, 2, 6, 3), (4, 5, 1, 6)) * 0.5 - del x0 - x59 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x59 += einsum(x5, (0, 1, 2, 3), (0, 1, 2, 3)) - x59 += einsum(x5, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 - x60 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x60 += einsum(t2, (0, 1, 2, 3), x59, (4, 1, 5, 3), (0, 4, 5, 2)) * 2.0 - del x59 - x61 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x61 += einsum(v.ovvv, (0, 1, 2, 3), x3, (4, 5, 3, 1), (0, 4, 5, 2)) - x62 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x62 += einsum(x5, (0, 1, 2, 3), (0, 1, 2, 3)) - x62 += einsum(x57, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x57 - x62 += einsum(x58, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x58 - x62 += einsum(x60, (0, 1, 2, 3), (1, 0, 2, 3)) - del x60 - x62 += einsum(x61, (0, 1, 2, 3), (2, 1, 0, 3)) - del x61 - x63 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x63 += einsum(t1, (0, 1), x62, (2, 3, 0, 4), (2, 3, 1, 4)) - del x62 - x64 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x64 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - x64 += einsum(t1, (0, 1), t2, (2, 3, 4, 5), (2, 0, 3, 1, 4, 5)) * -1.0 - x65 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x65 += einsum(v.ovvv, (0, 1, 2, 3), x64, (0, 4, 5, 1, 6, 3), (4, 5, 2, 6)) - del x64 - x66 = np.zeros((nocc, nocc), dtype=types[float]) - x66 += einsum(t2, (0, 1, 2, 3), x7, (1, 4, 3, 2), (0, 4)) - x67 = np.zeros((nocc, nocc), dtype=types[float]) - x67 += einsum(t1, (0, 1), x13, (2, 3, 0, 1), (2, 3)) - del x13 - x68 = np.zeros((nocc, nocc), dtype=types[float]) - x68 += einsum(x66, (0, 1), (1, 0)) - del x66 - x68 += einsum(x67, (0, 1), (1, 0)) - del x67 - x69 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x69 += einsum(x68, (0, 1), t2, (2, 0, 3, 4), (2, 1, 4, 3)) * 2.0 - del x68 - x70 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x70 += einsum(x41, (0, 1, 2, 3), (0, 1, 2, 3)) - del x41 - x70 += einsum(x43, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x43 - x70 += einsum(x46, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x46 - x70 += einsum(x51, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x51 - x70 += einsum(x56, (0, 1, 2, 3), (1, 0, 2, 3)) - del x56 - x70 += einsum(x63, (0, 1, 2, 3), (0, 1, 2, 3)) - del x63 - x70 += einsum(x65, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x65 - x70 += einsum(x69, (0, 1, 2, 3), (0, 1, 3, 2)) - del x69 - t2new += einsum(x70, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new += einsum(x70, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x70 - x71 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x71 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * 0.5 - x71 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.25 - x71 += einsum(t2, (0, 1, 2, 3), x7, (1, 4, 3, 5), (0, 4, 2, 5)) - del x7 - t2new += einsum(t2, (0, 1, 2, 3), x71, (4, 1, 5, 3), (4, 0, 5, 2)) * 4.0 - del x71 - x72 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x72 += einsum(v.ovov, (0, 1, 2, 3), x3, (4, 5, 1, 3), (4, 5, 0, 2)) - del x3 - x73 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x73 += einsum(v.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x73 += einsum(x72, (0, 1, 2, 3), (3, 1, 0, 2)) - del x72 - t2new += einsum(t2, (0, 1, 2, 3), x73, (0, 4, 5, 1), (5, 4, 3, 2)) - x74 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x74 += einsum(v.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x74 += einsum(t1, (0, 1), x73, (0, 2, 3, 4), (3, 2, 4, 1)) - del x73 - t2new += einsum(t1, (0, 1), x74, (2, 3, 0, 4), (2, 3, 1, 4)) - del x74 - x75 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x75 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x75 += einsum(x15, (0, 1, 2, 3), (0, 1, 2, 3)) - del x15 - t2new += einsum(t2, (0, 1, 2, 3), x75, (4, 1, 5, 2), (4, 0, 5, 3)) - del x75 - x76 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x76 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x76 += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 2, 1, 5), (0, 4, 3, 5)) - t2new += einsum(t2, (0, 1, 2, 3), x76, (4, 1, 5, 2), (4, 0, 3, 5)) - del x76 - x77 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x77 += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 1, 5, 6), (0, 4, 5, 2, 3, 6)) - x78 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x78 += einsum(t2, (0, 1, 2, 3), x18, (4, 5, 1, 6), (4, 0, 5, 6, 2, 3)) - x79 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x79 += einsum(t1, (0, 1), v.ovvv, (2, 1, 3, 4), (0, 2, 3, 4)) - x80 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x80 += einsum(t2, (0, 1, 2, 3), x79, (4, 5, 6, 3), (4, 0, 1, 5, 2, 6)) - del x79 - x81 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x81 += einsum(x78, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x78 - x81 += einsum(x80, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - del x80 - x82 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x82 += einsum(t1, (0, 1), x81, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) - del x81 - x83 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x83 += einsum(x77, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x77 - x83 += einsum(x82, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - del x82 - t3new = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - t3new += einsum(x83, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - t3new += einsum(x83, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) - t3new += einsum(x83, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - t3new += einsum(x83, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - t3new += einsum(x83, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 - t3new += einsum(x83, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) - t3new += einsum(x83, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) - t3new += einsum(x83, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 - t3new += einsum(x83, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) - t3new += einsum(x83, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 - t3new += einsum(x83, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) - t3new += einsum(x83, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -1.0 - del x83 - x84 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x84 += einsum(t2, (0, 1, 2, 3), x18, (4, 5, 6, 1), (4, 0, 6, 5, 2, 3)) - del x18 - x85 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x85 += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), (0, 1, 4, 5, 6, 2)) - x86 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x86 += einsum(t1, (0, 1), x85, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x85 - x87 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x87 += einsum(t2, (0, 1, 2, 3), x17, (4, 5, 3, 6), (4, 0, 1, 5, 2, 6)) - x88 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x88 += einsum(x84, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) - del x84 - x88 += einsum(x86, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) - del x86 - x88 += einsum(x87, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 - del x87 - x89 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x89 += einsum(t1, (0, 1), x88, (2, 3, 0, 4, 5, 6), (2, 3, 4, 1, 5, 6)) - del x88 - t3new += einsum(x89, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - t3new += einsum(x89, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) - t3new += einsum(x89, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -1.0 - t3new += einsum(x89, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) - t3new += einsum(x89, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * -1.0 - t3new += einsum(x89, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) - t3new += einsum(x89, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) - t3new += einsum(x89, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * -1.0 - t3new += einsum(x89, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) - t3new += einsum(x89, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -1.0 - t3new += einsum(x89, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) - t3new += einsum(x89, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -1.0 - del x89 - x90 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x90 += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 6, 3), (0, 1, 4, 2, 5, 6)) - x91 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x91 += einsum(t2, (0, 1, 2, 3), x5, (4, 5, 6, 3), (4, 0, 1, 6, 5, 2)) - x92 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x92 += einsum(t1, (0, 1), x91, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x91 - x93 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x93 += einsum(t1, (0, 1), x92, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) - del x92 - x94 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x94 += einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), (0, 2, 3, 4)) - x95 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x95 += einsum(t1, (0, 1), x5, (2, 3, 4, 1), (2, 0, 4, 3)) - x96 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x96 += einsum(t1, (0, 1), x95, (2, 3, 0, 4), (3, 2, 4, 1)) - del x95 - x97 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x97 += einsum(x94, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - del x94 - x97 += einsum(x96, (0, 1, 2, 3), (0, 1, 2, 3)) - del x96 - x98 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x98 += einsum(t2, (0, 1, 2, 3), x97, (4, 5, 1, 6), (0, 4, 5, 3, 2, 6)) - del x97 - x99 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x99 += einsum(x90, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x90 - x99 += einsum(x93, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x93 - x99 += einsum(x98, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) - del x98 - t3new += einsum(x99, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - t3new += einsum(x99, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -1.0 - t3new += einsum(x99, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) - t3new += einsum(x99, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -1.0 - t3new += einsum(x99, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 - t3new += einsum(x99, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) - t3new += einsum(x99, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) - t3new += einsum(x99, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 - t3new += einsum(x99, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) * -1.0 - t3new += einsum(x99, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) - t3new += einsum(x99, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -1.0 - t3new += einsum(x99, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) - del x99 - x100 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x100 += einsum(t2, (0, 1, 2, 3), x5, (4, 5, 1, 6), (4, 0, 5, 2, 3, 6)) - del x5 - x101 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x101 += einsum(t1, (0, 1), v.vvvv, (2, 3, 4, 1), (0, 2, 3, 4)) - x102 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x102 += einsum(t2, (0, 1, 2, 3), x101, (4, 5, 3, 6), (4, 0, 1, 2, 6, 5)) - del x101 - x103 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x103 += einsum(t2, (0, 1, 2, 3), v.oooo, (4, 5, 6, 1), (0, 4, 5, 6, 2, 3)) - x104 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x104 += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 5, 6, 3), (0, 1, 4, 6, 2, 5)) - x105 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x105 += einsum(x103, (0, 1, 2, 3, 4, 5), (0, 2, 3, 1, 4, 5)) * -1.0 - del x103 - x105 += einsum(x104, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x104 - x106 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x106 += einsum(t1, (0, 1), x105, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) - del x105 - x107 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x107 += einsum(x100, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - del x100 - x107 += einsum(x102, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x102 - x107 += einsum(x106, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - del x106 - t3new += einsum(x107, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) - t3new += einsum(x107, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -1.0 - t3new += einsum(x107, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - t3new += einsum(x107, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - t3new += einsum(x107, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) - t3new += einsum(x107, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -1.0 - t3new += einsum(x107, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) * -1.0 - t3new += einsum(x107, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) - t3new += einsum(x107, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) - t3new += einsum(x107, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 - t3new += einsum(x107, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -1.0 - t3new += einsum(x107, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) - del x107 - x108 = np.zeros((nvir, nvir), dtype=types[float]) - x108 += einsum(f.ov, (0, 1), t1, (0, 2), (1, 2)) - x109 = np.zeros((nvir, nvir), dtype=types[float]) - x109 += einsum(f.vv, (0, 1), (0, 1)) - x109 += einsum(x108, (0, 1), (0, 1)) * -1.0 - del x108 - t3new += einsum(x109, (0, 1), t3, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - x110 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x110 += einsum(x109, (0, 1), t3, (2, 3, 4, 0, 5, 6), (2, 4, 3, 6, 5, 1)) - del x109 - t3new += einsum(x110, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -1.0 - t3new += einsum(x110, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) - del x110 - x111 = np.zeros((nocc, nocc), dtype=types[float]) - x111 += einsum(f.oo, (0, 1), (0, 1)) - x111 += einsum(x12, (0, 1), (0, 1)) - del x12 - t3new += einsum(x111, (0, 1), t3, (2, 0, 3, 4, 5, 6), (2, 1, 3, 4, 5, 6)) * -1.0 - x112 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x112 += einsum(x111, (0, 1), t3, (2, 3, 0, 4, 5, 6), (2, 3, 1, 6, 4, 5)) - del x111 - t3new += einsum(x112, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) - t3new += einsum(x112, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -1.0 - del x112 - x113 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x113 += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 6, 3), (0, 1, 4, 5, 2, 6)) - x114 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x114 += einsum(t1, (0, 1), x113, (2, 3, 0, 4, 5, 6), (2, 3, 4, 1, 5, 6)) - del x113 - x115 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x115 += einsum(t1, (0, 1), x17, (2, 3, 1, 4), (0, 2, 3, 4)) - del x17 - x116 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x116 += einsum(t2, (0, 1, 2, 3), x115, (4, 5, 1, 6), (4, 5, 0, 2, 3, 6)) - del x115 - x117 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x117 += einsum(x114, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x114 - x117 += einsum(x116, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x116 - t3new += einsum(x117, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - t3new += einsum(x117, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -1.0 - t3new += einsum(x117, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -1.0 - t3new += einsum(x117, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) - t3new += einsum(x117, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) - t3new += einsum(x117, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -1.0 - t3new += einsum(x117, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) * -1.0 - t3new += einsum(x117, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) - t3new += einsum(x117, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) - t3new += einsum(x117, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -1.0 - t3new += einsum(x117, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -1.0 - t3new += einsum(x117, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) - del x117 - x118 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x118 += einsum(t2, (0, 1, 2, 3), x28, (4, 5, 1, 6), (4, 0, 5, 2, 3, 6)) - del x28 - t3new += einsum(x118, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) - t3new += einsum(x118, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -1.0 - t3new += einsum(x118, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) - t3new += einsum(x118, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -1.0 - t3new += einsum(x118, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * -1.0 - t3new += einsum(x118, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) - t3new += einsum(x118, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) - t3new += einsum(x118, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * -1.0 - t3new += einsum(x118, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) * -1.0 - t3new += einsum(x118, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) - t3new += einsum(x118, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -1.0 - t3new += einsum(x118, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) - del x118 - - return {"t1new": t1new, "t2new": t2new, "t3new": t3new} - diff --git a/ebcc/codegen/RCCD.py b/ebcc/codegen/RCCD.py deleted file mode 100644 index c46c5188..00000000 --- a/ebcc/codegen/RCCD.py +++ /dev/null @@ -1,518 +0,0 @@ -# Code generated for ebcc. - -from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, Namespace -from ebcc.precision import types - -def energy(f=None, v=None, nocc=None, nvir=None, t2=None, **kwargs): - # energy - x0 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x0 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -0.5 - x0 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - e_cc = 0 - e_cc += einsum(t2, (0, 1, 2, 3), x0, (0, 1, 2, 3), ()) * 2.0 - del x0 - - return e_cc - -def update_amps(f=None, v=None, nocc=None, nvir=None, t2=None, **kwargs): - # T amplitudes - t2new = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - t2new += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 5, 1, 3), (4, 0, 5, 2)) * 2.0 - t2new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 2), (4, 0, 3, 5)) * -1.0 - t2new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 3), (4, 0, 5, 2)) * -1.0 - t2new += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - t2new += einsum(t2, (0, 1, 2, 3), v.vvvv, (4, 2, 5, 3), (0, 1, 4, 5)) - x0 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x0 += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 5, 1, 2), (0, 4, 3, 5)) - t2new += einsum(x0, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - x1 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x1 += einsum(f.oo, (0, 1), t2, (2, 1, 3, 4), (0, 2, 3, 4)) - x2 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x2 += einsum(f.vv, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4)) - x3 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x3 += einsum(x1, (0, 1, 2, 3), (0, 1, 2, 3)) - del x1 - x3 += einsum(x2, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x2 - t2new += einsum(x3, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new += einsum(x3, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x3 - x4 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x4 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x4 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 - x5 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x5 += einsum(t2, (0, 1, 2, 3), x4, (1, 4, 5, 2), (0, 4, 3, 5)) - x6 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x6 += einsum(t2, (0, 1, 2, 3), x5, (4, 1, 5, 3), (0, 4, 2, 5)) * 2.0 - del x5 - x7 = np.zeros((nvir, nvir), dtype=types[float]) - x7 += einsum(t2, (0, 1, 2, 3), x4, (0, 1, 3, 4), (2, 4)) - x8 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x8 += einsum(x7, (0, 1), t2, (2, 3, 1, 4), (2, 3, 4, 0)) * 2.0 - del x7 - x9 = np.zeros((nocc, nocc), dtype=types[float]) - x9 += einsum(t2, (0, 1, 2, 3), x4, (1, 4, 2, 3), (0, 4)) - x10 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x10 += einsum(x9, (0, 1), t2, (2, 1, 3, 4), (2, 0, 4, 3)) * 2.0 - del x9 - x11 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x11 += einsum(x6, (0, 1, 2, 3), (0, 1, 2, 3)) - del x6 - x11 += einsum(x8, (0, 1, 2, 3), (1, 0, 2, 3)) - del x8 - x11 += einsum(x10, (0, 1, 2, 3), (0, 1, 3, 2)) - del x10 - t2new += einsum(x11, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new += einsum(x11, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x11 - x12 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x12 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x12 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x12 += einsum(t2, (0, 1, 2, 3), x4, (1, 4, 5, 3), (0, 4, 2, 5)) * 2.0 - del x4 - t2new += einsum(t2, (0, 1, 2, 3), x12, (4, 1, 5, 3), (0, 4, 2, 5)) * 2.0 - del x12 - x13 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x13 += einsum(v.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x13 += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 2, 5, 3), (4, 0, 1, 5)) - t2new += einsum(t2, (0, 1, 2, 3), x13, (0, 4, 5, 1), (5, 4, 3, 2)) - del x13 - x14 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x14 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x14 += einsum(x0, (0, 1, 2, 3), (0, 1, 2, 3)) - del x0 - t2new += einsum(t2, (0, 1, 2, 3), x14, (4, 1, 5, 2), (0, 4, 3, 5)) - del x14 - x15 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x15 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x15 += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 2, 1, 5), (0, 4, 3, 5)) - t2new += einsum(t2, (0, 1, 2, 3), x15, (4, 1, 5, 2), (0, 4, 5, 3)) - del x15 - - return {"t2new": t2new} - -def update_lams(f=None, v=None, nocc=None, nvir=None, t2=None, l2=None, **kwargs): - # L amplitudes - l2new = np.zeros((nvir, nvir, nocc, nocc), dtype=types[float]) - l2new += einsum(v.ovov, (0, 1, 2, 3), (1, 3, 0, 2)) - l2new += einsum(l2, (0, 1, 2, 3), v.oooo, (4, 2, 5, 3), (0, 1, 4, 5)) - l2new += einsum(l2, (0, 1, 2, 3), v.vvvv, (4, 0, 5, 1), (4, 5, 2, 3)) - x0 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x0 += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 2, 5, 3), (0, 1, 4, 5)) - l2new += einsum(l2, (0, 1, 2, 3), x0, (2, 3, 4, 5), (0, 1, 4, 5)) - del x0 - x1 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x1 += einsum(l2, (0, 1, 2, 3), t2, (4, 5, 0, 1), (2, 3, 4, 5)) - l2new += einsum(v.ovov, (0, 1, 2, 3), x1, (4, 5, 0, 2), (1, 3, 4, 5)) - del x1 - x2 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x2 += einsum(f.oo, (0, 1), l2, (2, 3, 4, 1), (0, 4, 2, 3)) - x3 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x3 += einsum(f.vv, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2)) - x4 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x4 += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 2, 1, 5), (0, 4, 3, 5)) - x5 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x5 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x5 += einsum(x4, (0, 1, 2, 3), (0, 1, 2, 3)) - del x4 - x6 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x6 += einsum(l2, (0, 1, 2, 3), x5, (2, 4, 1, 5), (3, 4, 0, 5)) - del x5 - x7 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x7 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) - x7 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x8 = np.zeros((nvir, nvir), dtype=types[float]) - x8 += einsum(l2, (0, 1, 2, 3), x7, (2, 3, 1, 4), (0, 4)) - x9 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x9 += einsum(x8, (0, 1), v.ovov, (2, 1, 3, 4), (2, 3, 0, 4)) * 2.0 - del x8 - x10 = np.zeros((nocc, nocc), dtype=types[float]) - x10 += einsum(l2, (0, 1, 2, 3), x7, (3, 4, 0, 1), (2, 4)) - x11 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x11 += einsum(x10, (0, 1), v.ovov, (2, 3, 1, 4), (0, 2, 4, 3)) * 2.0 - del x10 - x12 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x12 += einsum(x2, (0, 1, 2, 3), (0, 1, 2, 3)) - del x2 - x12 += einsum(x3, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x3 - x12 += einsum(x6, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x6 - x12 += einsum(x9, (0, 1, 2, 3), (1, 0, 2, 3)) - del x9 - x12 += einsum(x11, (0, 1, 2, 3), (0, 1, 3, 2)) - del x11 - l2new += einsum(x12, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - l2new += einsum(x12, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 - del x12 - x13 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x13 += einsum(l2, (0, 1, 2, 3), t2, (4, 2, 5, 1), (3, 4, 0, 5)) - x14 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x14 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x14 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x15 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x15 += einsum(l2, (0, 1, 2, 3), x14, (3, 4, 1, 5), (2, 4, 0, 5)) * 0.5 - del x14 - x16 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x16 += einsum(x13, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - del x13 - x16 += einsum(x15, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x15 - x17 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x17 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x17 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 - x18 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x18 += einsum(x16, (0, 1, 2, 3), x17, (1, 4, 5, 3), (0, 4, 2, 5)) * 4.0 - del x16, x17 - x19 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x19 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * 2.0 - x19 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x20 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x20 += einsum(l2, (0, 1, 2, 3), x19, (3, 4, 1, 5), (2, 4, 0, 5)) - del x19 - x21 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x21 += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 5, 1, 2), (0, 4, 3, 5)) - x22 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x22 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x22 += einsum(x21, (0, 1, 2, 3), (0, 1, 2, 3)) - del x21 - x23 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x23 += einsum(l2, (0, 1, 2, 3), x22, (2, 4, 1, 5), (3, 4, 0, 5)) - del x22 - x24 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x24 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.5 - x24 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - x25 = np.zeros((nvir, nvir), dtype=types[float]) - x25 += einsum(v.ovov, (0, 1, 2, 3), x24, (0, 2, 4, 3), (1, 4)) - del x24 - x26 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x26 += einsum(x25, (0, 1), l2, (2, 1, 3, 4), (4, 3, 2, 0)) * 2.0 - del x25 - x27 = np.zeros((nocc, nocc), dtype=types[float]) - x27 += einsum(v.ovov, (0, 1, 2, 3), x7, (2, 4, 1, 3), (4, 0)) - del x7 - x28 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x28 += einsum(x27, (0, 1), l2, (2, 3, 0, 4), (4, 1, 2, 3)) * 2.0 - del x27 - x29 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x29 += einsum(x18, (0, 1, 2, 3), (0, 1, 2, 3)) - del x18 - x29 += einsum(x20, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x20 - x29 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x23 - x29 += einsum(x26, (0, 1, 2, 3), (1, 0, 2, 3)) - del x26 - x29 += einsum(x28, (0, 1, 2, 3), (0, 1, 3, 2)) - del x28 - l2new += einsum(x29, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 - l2new += einsum(x29, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 - del x29 - - return {"l2new": l2new} - -def make_rdm1_f(f=None, v=None, nocc=None, nvir=None, t2=None, l2=None, **kwargs): - delta = Namespace(oo=np.eye(nocc), vv=np.eye(nvir)) - - # RDM1 - rdm1_f_oo = np.zeros((nocc, nocc), dtype=types[float]) - rdm1_f_oo += einsum(delta.oo, (0, 1), (0, 1)) * 2.0 - x0 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x0 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - x0 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - rdm1_f_oo += einsum(l2, (0, 1, 2, 3), x0, (3, 4, 0, 1), (4, 2)) * -2.0 - del x0 - x1 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x1 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) - x1 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - rdm1_f_vv = np.zeros((nvir, nvir), dtype=types[float]) - rdm1_f_vv += einsum(l2, (0, 1, 2, 3), x1, (2, 3, 1, 4), (0, 4)) * 4.0 - del x1 - rdm1_f_ov = np.zeros((nocc, nvir), dtype=types[float]) - rdm1_f_vo = np.zeros((nvir, nocc), dtype=types[float]) - - rdm1_f = np.block([[rdm1_f_oo, rdm1_f_ov], [rdm1_f_vo, rdm1_f_vv]]) - - return rdm1_f - -def make_rdm2_f(f=None, v=None, nocc=None, nvir=None, t2=None, l2=None, **kwargs): - delta = Namespace(oo=np.eye(nocc), vv=np.eye(nvir)) - - # RDM2 - rdm2_f_oooo = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - rdm2_f_oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (0, 2, 1, 3)) - rdm2_f_oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (0, 2, 1, 3)) - rdm2_f_oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (0, 2, 1, 3)) - rdm2_f_oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (0, 2, 1, 3)) - rdm2_f_oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_oovv = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - rdm2_f_oovv += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_oovv += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_oovv += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_vvoo = np.zeros((nvir, nvir, nocc, nocc), dtype=types[float]) - rdm2_f_vvoo += einsum(l2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_vvoo += einsum(l2, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_vvoo += einsum(l2, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_vvoo += einsum(l2, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_vvoo += einsum(l2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_vvoo += einsum(l2, (0, 1, 2, 3), (0, 1, 2, 3)) - x0 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x0 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) - x0 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x1 = np.zeros((nocc, nocc), dtype=types[float]) - x1 += einsum(l2, (0, 1, 2, 3), x0, (3, 4, 0, 1), (2, 4)) - rdm2_f_oooo += einsum(delta.oo, (0, 1), x1, (2, 3), (0, 3, 1, 2)) * -2.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x1, (2, 3), (0, 3, 2, 1)) * 2.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x1, (2, 3), (3, 0, 1, 2)) * 2.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x1, (2, 3), (3, 0, 2, 1)) * -2.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x1, (2, 3), (0, 3, 1, 2)) * -2.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x1, (2, 3), (3, 0, 2, 1)) * -2.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x1, (2, 3), (0, 3, 1, 2)) * -2.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x1, (2, 3), (3, 0, 2, 1)) * -2.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x1, (2, 3), (0, 3, 1, 2)) * -2.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x1, (2, 3), (0, 3, 2, 1)) * 2.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x1, (2, 3), (3, 0, 1, 2)) * 2.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x1, (2, 3), (3, 0, 2, 1)) * -2.0 - x2 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x2 += einsum(l2, (0, 1, 2, 3), t2, (4, 5, 0, 1), (2, 3, 4, 5)) - rdm2_f_oooo += einsum(x2, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 - rdm2_f_oooo += einsum(x2, (0, 1, 2, 3), (3, 2, 1, 0)) - rdm2_f_oooo += einsum(x2, (0, 1, 2, 3), (3, 2, 1, 0)) - rdm2_f_oooo += einsum(x2, (0, 1, 2, 3), (3, 2, 1, 0)) - rdm2_f_oooo += einsum(x2, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 - rdm2_f_oooo += einsum(x2, (0, 1, 2, 3), (3, 2, 1, 0)) - x3 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x3 += einsum(t2, (0, 1, 2, 3), x2, (0, 1, 4, 5), (5, 4, 3, 2)) - del x2 - rdm2_f_oovv += einsum(x3, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(x3, (0, 1, 2, 3), (0, 1, 2, 3)) - x4 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x4 += einsum(l2, (0, 1, 2, 3), (3, 2, 0, 1)) - x4 += einsum(l2, (0, 1, 2, 3), (2, 3, 0, 1)) * -0.5 - x5 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x5 += einsum(t2, (0, 1, 2, 3), x4, (1, 4, 5, 3), (4, 0, 5, 2)) - x6 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x6 += einsum(t2, (0, 1, 2, 3), x5, (1, 4, 3, 5), (4, 0, 5, 2)) * 4.0 - del x5 - x7 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x7 += einsum(l2, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - x7 += einsum(l2, (0, 1, 2, 3), (2, 3, 0, 1)) - x8 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x8 += einsum(t2, (0, 1, 2, 3), x7, (1, 4, 5, 2), (0, 4, 3, 5)) - del x7 - x9 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x9 += einsum(t2, (0, 1, 2, 3), x8, (4, 1, 5, 2), (4, 0, 5, 3)) * -1.0 - del x8 - x10 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x10 += einsum(x3, (0, 1, 2, 3), (0, 1, 2, 3)) - del x3 - x10 += einsum(x6, (0, 1, 2, 3), (0, 1, 2, 3)) - del x6 - x10 += einsum(x9, (0, 1, 2, 3), (1, 0, 3, 2)) - del x9 - rdm2_f_oovv += einsum(x10, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(x10, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_oovv += einsum(x10, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(x10, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x10 - x11 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x11 += einsum(t2, (0, 1, 2, 3), x4, (1, 4, 5, 2), (4, 0, 5, 3)) - x12 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x12 += einsum(t2, (0, 1, 2, 3), x11, (1, 4, 3, 5), (0, 4, 2, 5)) * 2.0 - del x11 - x13 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x13 += einsum(l2, (0, 1, 2, 3), (3, 2, 0, 1)) * -0.5 - x13 += einsum(l2, (0, 1, 2, 3), (2, 3, 0, 1)) - x14 = np.zeros((nvir, nvir), dtype=types[float]) - x14 += einsum(t2, (0, 1, 2, 3), x13, (0, 1, 4, 3), (2, 4)) - rdm2_f_ovov = np.zeros((nocc, nvir, nocc, nvir), dtype=types[float]) - rdm2_f_ovov += einsum(delta.oo, (0, 1), x14, (2, 3), (0, 3, 1, 2)) * 2.0 - rdm2_f_ovov += einsum(delta.oo, (0, 1), x14, (2, 3), (0, 3, 1, 2)) * 2.0 - rdm2_f_ovov += einsum(delta.oo, (0, 1), x14, (2, 3), (0, 3, 1, 2)) * 2.0 - rdm2_f_ovov += einsum(delta.oo, (0, 1), x14, (2, 3), (0, 3, 1, 2)) * 2.0 - rdm2_f_vovo = np.zeros((nvir, nocc, nvir, nocc), dtype=types[float]) - rdm2_f_vovo += einsum(delta.oo, (0, 1), x14, (2, 3), (3, 0, 2, 1)) * 2.0 - rdm2_f_vovo += einsum(delta.oo, (0, 1), x14, (2, 3), (3, 0, 2, 1)) * 2.0 - rdm2_f_vovo += einsum(delta.oo, (0, 1), x14, (2, 3), (3, 0, 2, 1)) * 2.0 - rdm2_f_vovo += einsum(delta.oo, (0, 1), x14, (2, 3), (3, 0, 2, 1)) * 2.0 - x15 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x15 += einsum(x14, (0, 1), t2, (2, 3, 1, 4), (2, 3, 4, 0)) * 2.0 - del x14 - x16 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x16 += einsum(x1, (0, 1), t2, (2, 0, 3, 4), (1, 2, 4, 3)) * 2.0 - del x1 - x17 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x17 += einsum(x12, (0, 1, 2, 3), (0, 1, 2, 3)) - del x12 - x17 += einsum(x15, (0, 1, 2, 3), (1, 0, 2, 3)) - del x15 - x17 += einsum(x16, (0, 1, 2, 3), (1, 0, 3, 2)) - del x16 - rdm2_f_oovv += einsum(x17, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - rdm2_f_oovv += einsum(x17, (0, 1, 2, 3), (0, 1, 3, 2)) - rdm2_f_oovv += einsum(x17, (0, 1, 2, 3), (1, 0, 2, 3)) - rdm2_f_oovv += einsum(x17, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - rdm2_f_oovv += einsum(x17, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - rdm2_f_oovv += einsum(x17, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - rdm2_f_oovv += einsum(x17, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - rdm2_f_oovv += einsum(x17, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - rdm2_f_oovv += einsum(x17, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - rdm2_f_oovv += einsum(x17, (0, 1, 2, 3), (0, 1, 3, 2)) - rdm2_f_oovv += einsum(x17, (0, 1, 2, 3), (1, 0, 2, 3)) - rdm2_f_oovv += einsum(x17, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x17 - x18 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x18 += einsum(l2, (0, 1, 2, 3), t2, (4, 3, 1, 5), (2, 4, 0, 5)) - x19 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x19 += einsum(t2, (0, 1, 2, 3), x18, (1, 4, 2, 5), (4, 0, 5, 3)) - del x18 - rdm2_f_oovv += einsum(x19, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(x19, (0, 1, 2, 3), (0, 1, 2, 3)) - del x19 - x20 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x20 += einsum(l2, (0, 1, 2, 3), t2, (4, 2, 1, 5), (3, 4, 0, 5)) - rdm2_f_ovov += einsum(x20, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_ovov += einsum(x20, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_vovo += einsum(x20, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - rdm2_f_vovo += einsum(x20, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - x21 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x21 += einsum(t2, (0, 1, 2, 3), x20, (1, 4, 2, 5), (4, 0, 5, 3)) - del x20 - rdm2_f_oovv += einsum(x21, (0, 1, 2, 3), (0, 1, 3, 2)) - rdm2_f_oovv += einsum(x21, (0, 1, 2, 3), (0, 1, 3, 2)) - del x21 - x22 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x22 += einsum(t2, (0, 1, 2, 3), x4, (1, 4, 5, 3), (4, 0, 5, 2)) * 2.0 - del x4 - x23 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x23 += einsum(t2, (0, 1, 2, 3), x22, (1, 4, 3, 5), (0, 4, 2, 5)) * 2.0 - del x22 - rdm2_f_oovv += einsum(x23, (0, 1, 2, 3), (1, 0, 3, 2)) - rdm2_f_oovv += einsum(x23, (0, 1, 2, 3), (1, 0, 3, 2)) - del x23 - x24 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x24 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x24 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - x25 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x25 += einsum(l2, (0, 1, 2, 3), x24, (2, 4, 5, 1), (3, 4, 0, 5)) - rdm2_f_ovov += einsum(x25, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_ovov += einsum(x25, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - del x25 - x26 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x26 += einsum(l2, (0, 1, 2, 3), x0, (3, 4, 5, 1), (2, 4, 0, 5)) * 2.0 - del x0 - rdm2_f_ovov += einsum(x26, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_ovov += einsum(x26, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_voov = np.zeros((nvir, nocc, nocc, nvir), dtype=types[float]) - rdm2_f_voov += einsum(x26, (0, 1, 2, 3), (2, 1, 0, 3)) - rdm2_f_voov += einsum(x26, (0, 1, 2, 3), (2, 1, 0, 3)) - del x26 - x27 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x27 += einsum(l2, (0, 1, 2, 3), (3, 2, 0, 1)) - x27 += einsum(l2, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 - x28 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x28 += einsum(t2, (0, 1, 2, 3), x27, (1, 4, 5, 2), (0, 4, 3, 5)) - del x27 - rdm2_f_ovvo = np.zeros((nocc, nvir, nvir, nocc), dtype=types[float]) - rdm2_f_ovvo += einsum(x28, (0, 1, 2, 3), (0, 3, 2, 1)) * -1.0 - rdm2_f_ovvo += einsum(x28, (0, 1, 2, 3), (0, 3, 2, 1)) * -1.0 - rdm2_f_vovo += einsum(x28, (0, 1, 2, 3), (3, 0, 2, 1)) - rdm2_f_vovo += einsum(x28, (0, 1, 2, 3), (3, 0, 2, 1)) - del x28 - x29 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x29 += einsum(l2, (0, 1, 2, 3), (3, 2, 0, 1)) * 2.0 - x29 += einsum(l2, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 - x30 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x30 += einsum(t2, (0, 1, 2, 3), x29, (1, 4, 5, 3), (0, 4, 2, 5)) - del x29 - rdm2_f_ovvo += einsum(x30, (0, 1, 2, 3), (0, 3, 2, 1)) - rdm2_f_ovvo += einsum(x30, (0, 1, 2, 3), (0, 3, 2, 1)) - rdm2_f_vovo += einsum(x30, (0, 1, 2, 3), (3, 0, 2, 1)) * -1.0 - rdm2_f_vovo += einsum(x30, (0, 1, 2, 3), (3, 0, 2, 1)) * -1.0 - del x30 - x31 = np.zeros((nvir, nvir), dtype=types[float]) - x31 += einsum(t2, (0, 1, 2, 3), x13, (0, 1, 4, 3), (2, 4)) * 2.0 - del x13 - rdm2_f_ovvo += einsum(delta.oo, (0, 1), x31, (2, 3), (0, 3, 2, 1)) * -1.0 - rdm2_f_ovvo += einsum(delta.oo, (0, 1), x31, (2, 3), (0, 3, 2, 1)) * -1.0 - rdm2_f_voov += einsum(delta.oo, (0, 1), x31, (2, 3), (3, 0, 1, 2)) * -1.0 - rdm2_f_voov += einsum(delta.oo, (0, 1), x31, (2, 3), (3, 0, 1, 2)) * -1.0 - del x31 - x32 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x32 += einsum(l2, (0, 1, 2, 3), t2, (4, 2, 5, 1), (3, 4, 0, 5)) - rdm2_f_ovvo += einsum(x32, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - rdm2_f_ovvo += einsum(x32, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - rdm2_f_voov += einsum(x32, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_voov += einsum(x32, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - del x32 - x33 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x33 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x33 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x34 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x34 += einsum(l2, (0, 1, 2, 3), x33, (3, 4, 1, 5), (2, 4, 0, 5)) - del x33 - rdm2_f_ovvo += einsum(x34, (0, 1, 2, 3), (1, 2, 3, 0)) - rdm2_f_ovvo += einsum(x34, (0, 1, 2, 3), (1, 2, 3, 0)) - rdm2_f_voov += einsum(x34, (0, 1, 2, 3), (2, 1, 0, 3)) - rdm2_f_voov += einsum(x34, (0, 1, 2, 3), (2, 1, 0, 3)) - del x34 - x35 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x35 += einsum(l2, (0, 1, 2, 3), x24, (2, 4, 1, 5), (3, 4, 0, 5)) - del x24 - rdm2_f_voov += einsum(x35, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_voov += einsum(x35, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - del x35 - x36 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) - x36 += einsum(l2, (0, 1, 2, 3), t2, (2, 3, 4, 5), (0, 1, 4, 5)) - rdm2_f_vvvv = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) - rdm2_f_vvvv += einsum(x36, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - rdm2_f_vvvv += einsum(x36, (0, 1, 2, 3), (1, 0, 3, 2)) - rdm2_f_vvvv += einsum(x36, (0, 1, 2, 3), (1, 0, 3, 2)) - rdm2_f_vvvv += einsum(x36, (0, 1, 2, 3), (1, 0, 3, 2)) - rdm2_f_vvvv += einsum(x36, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - rdm2_f_vvvv += einsum(x36, (0, 1, 2, 3), (1, 0, 3, 2)) - del x36 - rdm2_f_ooov = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - rdm2_f_ooov = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - rdm2_f_ooov = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - rdm2_f_ooov = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - rdm2_f_oovo = np.zeros((nocc, nocc, nvir, nocc), dtype=types[float]) - rdm2_f_oovo = np.zeros((nocc, nocc, nvir, nocc), dtype=types[float]) - rdm2_f_oovo = np.zeros((nocc, nocc, nvir, nocc), dtype=types[float]) - rdm2_f_oovo = np.zeros((nocc, nocc, nvir, nocc), dtype=types[float]) - rdm2_f_ovoo = np.zeros((nocc, nvir, nocc, nocc), dtype=types[float]) - rdm2_f_ovoo = np.zeros((nocc, nvir, nocc, nocc), dtype=types[float]) - rdm2_f_ovoo = np.zeros((nocc, nvir, nocc, nocc), dtype=types[float]) - rdm2_f_ovoo = np.zeros((nocc, nvir, nocc, nocc), dtype=types[float]) - rdm2_f_vooo = np.zeros((nvir, nocc, nocc, nocc), dtype=types[float]) - rdm2_f_vooo = np.zeros((nvir, nocc, nocc, nocc), dtype=types[float]) - rdm2_f_vooo = np.zeros((nvir, nocc, nocc, nocc), dtype=types[float]) - rdm2_f_vooo = np.zeros((nvir, nocc, nocc, nocc), dtype=types[float]) - rdm2_f_ovvv = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - rdm2_f_ovvv = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - rdm2_f_ovvv = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - rdm2_f_ovvv = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - rdm2_f_vovv = np.zeros((nvir, nocc, nvir, nvir), dtype=types[float]) - rdm2_f_vovv = np.zeros((nvir, nocc, nvir, nvir), dtype=types[float]) - rdm2_f_vovv = np.zeros((nvir, nocc, nvir, nvir), dtype=types[float]) - rdm2_f_vovv = np.zeros((nvir, nocc, nvir, nvir), dtype=types[float]) - rdm2_f_vvov = np.zeros((nvir, nvir, nocc, nvir), dtype=types[float]) - rdm2_f_vvov = np.zeros((nvir, nvir, nocc, nvir), dtype=types[float]) - rdm2_f_vvov = np.zeros((nvir, nvir, nocc, nvir), dtype=types[float]) - rdm2_f_vvov = np.zeros((nvir, nvir, nocc, nvir), dtype=types[float]) - rdm2_f_vvvo = np.zeros((nvir, nvir, nvir, nocc), dtype=types[float]) - rdm2_f_vvvo = np.zeros((nvir, nvir, nvir, nocc), dtype=types[float]) - rdm2_f_vvvo = np.zeros((nvir, nvir, nvir, nocc), dtype=types[float]) - rdm2_f_vvvo = np.zeros((nvir, nvir, nvir, nocc), dtype=types[float]) - - rdm2_f = pack_2e(rdm2_f_oooo, rdm2_f_ooov, rdm2_f_oovo, rdm2_f_ovoo, rdm2_f_vooo, rdm2_f_oovv, rdm2_f_ovov, rdm2_f_ovvo, rdm2_f_voov, rdm2_f_vovo, rdm2_f_vvoo, rdm2_f_ovvv, rdm2_f_vovv, rdm2_f_vvov, rdm2_f_vvvo, rdm2_f_vvvv) - - rdm2_f = rdm2_f.swapaxes(1, 2) - - return rdm2_f - diff --git a/ebcc/codegen/RCCSD.py b/ebcc/codegen/RCCSD.py deleted file mode 100644 index d727bc54..00000000 --- a/ebcc/codegen/RCCSD.py +++ /dev/null @@ -1,1499 +0,0 @@ -# Code generated by qwick. - -from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, Namespace -from ebcc.precision import types -from ebcc.precision import types - -def energy(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, **kwargs): - # energy - x0 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x0 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -0.5 - x0 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - e_cc = 0 - e_cc += einsum(t2, (0, 1, 2, 3), x0, (0, 1, 2, 3), ()) * 2.0 - del x0 - x1 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x1 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x1 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 - x2 = np.zeros((nocc, nvir), dtype=types[float]) - x2 += einsum(f.ov, (0, 1), (0, 1)) - x2 += einsum(t1, (0, 1), x1, (0, 2, 3, 1), (2, 3)) - del x1 - e_cc += einsum(t1, (0, 1), x2, (0, 1), ()) * 2.0 - del x2 - - return e_cc - -def update_amps(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, **kwargs): - # T amplitudes - t1new = np.zeros((nocc, nvir), dtype=types[float]) - t1new += einsum(f.ov, (0, 1), (0, 1)) - t2new = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - t2new += einsum(t1, (0, 1), v.ooov, (2, 0, 3, 4), (3, 2, 4, 1)) * -1.0 - t2new += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 5, 1, 3), (0, 4, 2, 5)) * 2.0 - t2new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 2), (0, 4, 5, 3)) * -1.0 - t2new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 3), (0, 4, 2, 5)) * -1.0 - t2new += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x0 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x0 += einsum(v.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x0 += einsum(v.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) - t1new += einsum(t2, (0, 1, 2, 3), x0, (1, 2, 3, 4), (0, 4)) * 2.0 - x1 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x1 += einsum(t1, (0, 1), v.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) - x2 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x2 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x2 += einsum(v.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x2 += einsum(x1, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x2 += einsum(x1, (0, 1, 2, 3), (0, 2, 1, 3)) * 2.0 - t1new += einsum(t2, (0, 1, 2, 3), x2, (4, 0, 1, 3), (4, 2)) * -1.0 - del x2 - x3 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x3 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x3 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 - x4 = np.zeros((nocc, nvir), dtype=types[float]) - x4 += einsum(t1, (0, 1), x3, (0, 2, 3, 1), (2, 3)) * 2.0 - x5 = np.zeros((nocc, nvir), dtype=types[float]) - x5 += einsum(f.ov, (0, 1), (0, 1)) - x5 += einsum(x4, (0, 1), (0, 1)) - del x4 - x6 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x6 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - x6 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t1new += einsum(x5, (0, 1), x6, (0, 2, 3, 1), (2, 3)) - del x6 - x7 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x7 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x7 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - t1new += einsum(t1, (0, 1), x7, (0, 2, 1, 3), (2, 3)) * 2.0 - del x7 - x8 = np.zeros((nvir, nvir), dtype=types[float]) - x8 += einsum(f.vv, (0, 1), (0, 1)) - x8 += einsum(t1, (0, 1), x0, (0, 2, 1, 3), (2, 3)) * 2.0 - del x0 - t1new += einsum(t1, (0, 1), x8, (1, 2), (0, 2)) - del x8 - x9 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x9 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x9 += einsum(v.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 - x10 = np.zeros((nocc, nocc), dtype=types[float]) - x10 += einsum(t1, (0, 1), x5, (2, 1), (2, 0)) - del x5 - x11 = np.zeros((nocc, nocc), dtype=types[float]) - x11 += einsum(f.oo, (0, 1), (0, 1)) - x11 += einsum(t2, (0, 1, 2, 3), x3, (1, 4, 2, 3), (4, 0)) * 2.0 - x11 += einsum(t1, (0, 1), x9, (2, 3, 0, 1), (3, 2)) * 2.0 - x11 += einsum(x10, (0, 1), (0, 1)) - t1new += einsum(t1, (0, 1), x11, (0, 2), (2, 1)) * -1.0 - del x11 - x12 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x12 += einsum(t1, (0, 1), x1, (2, 3, 4, 1), (2, 0, 4, 3)) - t2new += einsum(t2, (0, 1, 2, 3), x12, (4, 5, 1, 0), (5, 4, 2, 3)) - x13 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x13 += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 5, 1, 2), (0, 4, 3, 5)) - t2new += einsum(x13, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x14 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x14 += einsum(t1, (0, 1), v.ovvv, (2, 1, 3, 4), (0, 2, 3, 4)) - x15 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x15 += einsum(t2, (0, 1, 2, 3), x14, (4, 1, 5, 2), (4, 0, 3, 5)) - x16 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x16 += einsum(t1, (0, 1), x1, (2, 3, 0, 4), (2, 3, 1, 4)) - x17 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x17 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x17 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * 2.0 - x18 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x18 += einsum(t2, (0, 1, 2, 3), x17, (1, 4, 3, 5), (4, 0, 5, 2)) * 0.5 - del x17 - x19 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x19 += einsum(x16, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - del x16 - x19 += einsum(x18, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x18 - x20 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x20 += einsum(t2, (0, 1, 2, 3), x19, (4, 1, 5, 2), (4, 0, 5, 3)) * 2.0 - del x19 - x21 = np.zeros((nvir, nvir), dtype=types[float]) - x21 += einsum(t2, (0, 1, 2, 3), x3, (0, 1, 4, 2), (4, 3)) * 2.0 - x22 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x22 += einsum(v.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x22 += einsum(v.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) * 2.0 - x23 = np.zeros((nvir, nvir), dtype=types[float]) - x23 += einsum(t1, (0, 1), x22, (0, 2, 1, 3), (2, 3)) - del x22 - x24 = np.zeros((nvir, nvir), dtype=types[float]) - x24 += einsum(x21, (0, 1), (0, 1)) - del x21 - x24 += einsum(x23, (0, 1), (0, 1)) * -1.0 - del x23 - x25 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x25 += einsum(x24, (0, 1), t2, (2, 3, 0, 4), (2, 3, 1, 4)) - del x24 - x26 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x26 += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 1, 5, 2), (0, 4, 5, 3)) - x27 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x27 += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 2, 5, 3), (0, 1, 4, 5)) - x28 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x28 += einsum(x1, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x28 += einsum(x1, (0, 1, 2, 3), (0, 2, 1, 3)) - x29 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x29 += einsum(t2, (0, 1, 2, 3), x28, (4, 5, 1, 3), (4, 5, 0, 2)) * 2.0 - del x28 - x30 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x30 += einsum(t1, (0, 1), v.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) - x31 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x31 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x31 += einsum(x30, (0, 1, 2, 3), (1, 0, 2, 3)) - x32 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x32 += einsum(t1, (0, 1), x31, (2, 3, 1, 4), (2, 3, 0, 4)) - del x31 - x33 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x33 += einsum(x26, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x26 - x33 += einsum(x27, (0, 1, 2, 3), (0, 1, 2, 3)) - del x27 - x33 += einsum(x29, (0, 1, 2, 3), (0, 2, 1, 3)) - del x29 - x33 += einsum(x32, (0, 1, 2, 3), (2, 1, 0, 3)) - del x32 - x34 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x34 += einsum(t1, (0, 1), x33, (2, 3, 0, 4), (2, 3, 4, 1)) - del x33 - x35 = np.zeros((nocc, nocc), dtype=types[float]) - x35 += einsum(t2, (0, 1, 2, 3), x3, (1, 4, 2, 3), (4, 0)) - x36 = np.zeros((nocc, nocc), dtype=types[float]) - x36 += einsum(t1, (0, 1), x9, (2, 3, 0, 1), (2, 3)) - del x9 - x37 = np.zeros((nocc, nocc), dtype=types[float]) - x37 += einsum(x35, (0, 1), (0, 1)) - del x35 - x37 += einsum(x36, (0, 1), (1, 0)) - del x36 - x38 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x38 += einsum(x37, (0, 1), t2, (2, 0, 3, 4), (1, 2, 4, 3)) * 2.0 - del x37 - x39 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x39 += einsum(x15, (0, 1, 2, 3), (0, 1, 2, 3)) - del x15 - x39 += einsum(x20, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x20 - x39 += einsum(x25, (0, 1, 2, 3), (1, 0, 3, 2)) - del x25 - x39 += einsum(x34, (0, 1, 2, 3), (0, 1, 3, 2)) - del x34 - x39 += einsum(x38, (0, 1, 2, 3), (1, 0, 3, 2)) - del x38 - t2new += einsum(x39, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new += einsum(x39, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x39 - x40 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x40 += einsum(f.vv, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4)) - x41 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x41 += einsum(t1, (0, 1), v.ooov, (2, 3, 4, 1), (0, 2, 3, 4)) - x42 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x42 += einsum(t2, (0, 1, 2, 3), x41, (4, 5, 0, 1), (4, 5, 2, 3)) - del x41 - x43 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x43 += einsum(t2, (0, 1, 2, 3), x14, (4, 1, 5, 3), (4, 0, 2, 5)) - del x14 - x44 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x44 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) - x44 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x45 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x45 += einsum(x30, (0, 1, 2, 3), x44, (1, 4, 5, 2), (4, 0, 5, 3)) * 2.0 - del x44 - x46 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x46 += einsum(t1, (0, 1), v.oovv, (2, 3, 4, 1), (0, 2, 3, 4)) - x47 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x47 += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 1, 5, 3), (0, 4, 5, 2)) - x48 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x48 += einsum(t2, (0, 1, 2, 3), x1, (4, 5, 1, 2), (4, 0, 5, 3)) - del x1 - x49 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x49 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) * 0.5 - x49 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x49 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - x50 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x50 += einsum(v.ooov, (0, 1, 2, 3), x49, (2, 4, 5, 3), (0, 1, 4, 5)) * 2.0 - del x49 - x51 = np.zeros((nocc, nvir), dtype=types[float]) - x51 += einsum(t1, (0, 1), x3, (0, 2, 3, 1), (2, 3)) - del x3 - x52 = np.zeros((nocc, nvir), dtype=types[float]) - x52 += einsum(f.ov, (0, 1), (0, 1)) * 0.5 - x52 += einsum(x51, (0, 1), (0, 1)) - del x51 - x53 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x53 += einsum(x52, (0, 1), t2, (2, 3, 1, 4), (0, 2, 3, 4)) * 2.0 - del x52 - x54 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x54 += einsum(x46, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - del x46 - x54 += einsum(x47, (0, 1, 2, 3), (2, 0, 1, 3)) - del x47 - x54 += einsum(x48, (0, 1, 2, 3), (2, 0, 1, 3)) - del x48 - x54 += einsum(x50, (0, 1, 2, 3), (1, 2, 0, 3)) - del x50 - x54 += einsum(x53, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x53 - x55 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x55 += einsum(t1, (0, 1), x54, (0, 2, 3, 4), (2, 3, 4, 1)) - del x54 - x56 = np.zeros((nocc, nocc), dtype=types[float]) - x56 += einsum(f.oo, (0, 1), (0, 1)) - x56 += einsum(x10, (0, 1), (1, 0)) - del x10 - x57 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x57 += einsum(x56, (0, 1), t2, (2, 1, 3, 4), (0, 2, 4, 3)) - del x56 - x58 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x58 += einsum(x40, (0, 1, 2, 3), (0, 1, 2, 3)) - del x40 - x58 += einsum(x30, (0, 1, 2, 3), (0, 1, 2, 3)) - del x30 - x58 += einsum(x42, (0, 1, 2, 3), (0, 1, 2, 3)) - del x42 - x58 += einsum(x43, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x43 - x58 += einsum(x45, (0, 1, 2, 3), (1, 0, 2, 3)) - del x45 - x58 += einsum(x55, (0, 1, 2, 3), (0, 1, 3, 2)) - del x55 - x58 += einsum(x57, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x57 - t2new += einsum(x58, (0, 1, 2, 3), (0, 1, 3, 2)) - t2new += einsum(x58, (0, 1, 2, 3), (1, 0, 2, 3)) - del x58 - x59 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x59 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -0.5 - x59 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x60 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x60 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * 2.0 - x60 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x60 += einsum(t2, (0, 1, 2, 3), x59, (1, 4, 3, 5), (0, 4, 2, 5)) * 4.0 - del x59 - t2new += einsum(t2, (0, 1, 2, 3), x60, (4, 1, 5, 3), (4, 0, 5, 2)) - del x60 - x61 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x61 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - x61 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) - t2new += einsum(v.vvvv, (0, 1, 2, 3), x61, (4, 5, 3, 1), (5, 4, 0, 2)) - x62 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x62 += einsum(v.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x62 += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 2, 5, 3), (4, 0, 1, 5)) - t2new += einsum(x61, (0, 1, 2, 3), x62, (0, 4, 5, 1), (5, 4, 3, 2)) - del x61, x62 - x63 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x63 += einsum(v.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x63 += einsum(t1, (0, 1), x12, (2, 3, 0, 4), (3, 2, 4, 1)) - del x12 - t2new += einsum(t1, (0, 1), x63, (2, 3, 0, 4), (2, 3, 1, 4)) - del x63 - x64 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x64 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x64 += einsum(x13, (0, 1, 2, 3), (0, 1, 2, 3)) - del x13 - t2new += einsum(t2, (0, 1, 2, 3), x64, (4, 1, 5, 2), (4, 0, 5, 3)) - del x64 - x65 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x65 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x65 += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 2, 1, 5), (0, 4, 3, 5)) - t2new += einsum(t2, (0, 1, 2, 3), x65, (4, 1, 5, 2), (4, 0, 3, 5)) - del x65 - - return {"t1new": t1new, "t2new": t2new} - -def update_lams(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, l1=None, l2=None, **kwargs): - # L amplitudes - l1new = np.zeros((nvir, nocc), dtype=types[float]) - l1new += einsum(f.ov, (0, 1), (1, 0)) - l2new = np.zeros((nvir, nvir, nocc, nocc), dtype=types[float]) - l2new += einsum(l2, (0, 1, 2, 3), v.oooo, (4, 2, 5, 3), (0, 1, 4, 5)) - l2new += einsum(v.ovov, (0, 1, 2, 3), (1, 3, 0, 2)) - l2new += einsum(l2, (0, 1, 2, 3), v.vvvv, (4, 1, 5, 0), (4, 5, 3, 2)) - x0 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x0 += einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), (0, 2, 3, 4)) - x1 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x1 += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 2, 5, 3), (0, 1, 4, 5)) - x2 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x2 += einsum(t1, (0, 1), v.ovvv, (2, 1, 3, 4), (0, 2, 3, 4)) - x3 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x3 += einsum(t1, (0, 1), x2, (2, 3, 4, 1), (2, 0, 3, 4)) - x4 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x4 += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 2, 5, 3), (0, 1, 4, 5)) - x5 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x5 += einsum(t1, (0, 1), v.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) - x6 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x6 += einsum(t1, (0, 1), x5, (2, 3, 4, 1), (0, 2, 3, 4)) - x7 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x7 += einsum(x4, (0, 1, 2, 3), (1, 0, 3, 2)) - del x4 - x7 += einsum(x6, (0, 1, 2, 3), (0, 1, 2, 3)) - del x6 - l2new += einsum(l2, (0, 1, 2, 3), x7, (3, 2, 4, 5), (0, 1, 5, 4)) - x8 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x8 += einsum(t1, (0, 1), x7, (2, 3, 0, 4), (2, 3, 4, 1)) * 2.0 - del x7 - x9 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x9 += einsum(x1, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x1 - x9 += einsum(x3, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x3 - x9 += einsum(x8, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x8 - x10 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x10 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x10 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 - x11 = np.zeros((nocc, nvir), dtype=types[float]) - x11 += einsum(t1, (0, 1), x10, (0, 2, 3, 1), (2, 3)) - x12 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x12 += einsum(x11, (0, 1), t2, (2, 3, 1, 4), (2, 3, 0, 4)) * 2.0 - x13 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x13 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x13 += einsum(v.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * 2.0 - x13 += einsum(x5, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x13 += einsum(x5, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x14 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x14 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) - x14 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x15 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x15 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * 2.0 - x15 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x16 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x16 += einsum(t1, (0, 1), v.ooov, (2, 3, 4, 1), (0, 2, 3, 4)) - x17 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x17 += einsum(v.oooo, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 - x17 += einsum(v.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x17 += einsum(x16, (0, 1, 2, 3), (2, 1, 0, 3)) - x17 += einsum(x16, (0, 1, 2, 3), (3, 2, 0, 1)) * -0.5 - x18 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x18 += einsum(v.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -2.0 - x18 += einsum(v.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) - x18 += einsum(x0, (0, 1, 2, 3), (1, 2, 0, 3)) - x18 += einsum(x0, (0, 1, 2, 3), (2, 1, 0, 3)) * -2.0 - del x0 - x18 += einsum(x9, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x18 += einsum(x9, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.5 - del x9 - x18 += einsum(x12, (0, 1, 2, 3), (1, 0, 2, 3)) - x18 += einsum(x12, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - del x12 - x18 += einsum(x13, (0, 1, 2, 3), x14, (1, 4, 5, 3), (0, 4, 2, 5)) * -2.0 - x18 += einsum(t1, (0, 1), x15, (2, 3, 1, 4), (0, 3, 2, 4)) * -1.0 - del x15 - x18 += einsum(t1, (0, 1), x17, (0, 2, 3, 4), (3, 2, 4, 1)) * 2.0 - del x17 - l1new += einsum(l2, (0, 1, 2, 3), x18, (2, 3, 4, 1), (0, 4)) - del x18 - x19 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x19 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.5 - x19 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - x20 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x20 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - x20 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x21 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x21 += einsum(t1, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2)) - x22 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x22 += einsum(x21, (0, 1, 2, 3), (0, 1, 2, 3)) - x22 += einsum(x21, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.5 - l1new += einsum(v.oovv, (0, 1, 2, 3), x22, (4, 0, 1, 3), (2, 4)) * -2.0 - x23 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x23 += einsum(l2, (0, 1, 2, 3), x19, (3, 4, 1, 5), (2, 4, 0, 5)) * 2.0 - x23 += einsum(l2, (0, 1, 2, 3), x20, (2, 4, 1, 5), (3, 4, 0, 5)) - x23 += einsum(t1, (0, 1), x22, (0, 2, 3, 4), (2, 3, 1, 4)) * 2.0 - l1new += einsum(v.ovvv, (0, 1, 2, 3), x23, (4, 0, 3, 2), (1, 4)) * -1.0 - del x23 - x24 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x24 += einsum(t1, (0, 1), l2, (2, 3, 4, 0), (4, 2, 3, 1)) - x25 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) - x25 += einsum(v.vvvv, (0, 1, 2, 3), (0, 2, 1, 3)) - x25 += einsum(v.vvvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - l1new += einsum(x24, (0, 1, 2, 3), x25, (1, 3, 4, 2), (4, 0)) * 2.0 - del x24, x25 - x26 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x26 += einsum(l2, (0, 1, 2, 3), (3, 2, 0, 1)) * -0.5 - x26 += einsum(l2, (0, 1, 2, 3), (2, 3, 0, 1)) - x27 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x27 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x27 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x28 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x28 += einsum(l2, (0, 1, 2, 3), (3, 2, 0, 1)) * 0.5 - x28 += einsum(x26, (0, 1, 2, 3), x27, (0, 4, 2, 5), (1, 4, 3, 5)) * -1.0 - del x26, x27 - l1new += einsum(v.ovvv, (0, 1, 2, 3), x28, (4, 0, 3, 1), (2, 4)) * -2.0 - del x28 - x29 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x29 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x29 += einsum(v.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 - x29 += einsum(x5, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x29 += einsum(x5, (0, 1, 2, 3), (0, 2, 1, 3)) - x30 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x30 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x30 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x31 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x31 += einsum(x16, (0, 1, 2, 3), (0, 2, 1, 3)) - x31 += einsum(x16, (0, 1, 2, 3), (0, 3, 2, 1)) * -0.5 - x32 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x32 += einsum(t2, (0, 1, 2, 3), x29, (4, 5, 1, 3), (4, 0, 5, 2)) * 2.0 - del x29 - x32 += einsum(t2, (0, 1, 2, 3), x13, (4, 5, 1, 2), (4, 0, 5, 3)) - del x13 - x32 += einsum(t1, (0, 1), x30, (2, 3, 1, 4), (0, 3, 2, 4)) * -1.0 - del x30 - x32 += einsum(t1, (0, 1), x31, (2, 3, 4, 0), (2, 4, 3, 1)) * 2.0 - del x31 - l1new += einsum(l2, (0, 1, 2, 3), x32, (3, 2, 4, 1), (0, 4)) - del x32 - x33 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x33 += einsum(x21, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x33 += einsum(x21, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x34 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x34 += einsum(l2, (0, 1, 2, 3), (2, 3, 0, 1)) - x34 += einsum(t1, (0, 1), x33, (2, 0, 3, 4), (2, 3, 4, 1)) * -0.5 - l1new += einsum(v.ovvv, (0, 1, 2, 3), x34, (4, 0, 3, 1), (2, 4)) * 2.0 - del x34 - x35 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x35 += einsum(l1, (0, 1), t2, (2, 3, 4, 0), (1, 2, 3, 4)) - x36 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x36 += einsum(t1, (0, 1), x21, (2, 3, 4, 1), (3, 2, 4, 0)) - l2new += einsum(v.ovov, (0, 1, 2, 3), x36, (4, 5, 0, 2), (3, 1, 5, 4)) - x37 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x37 += einsum(t1, (0, 1), x36, (0, 2, 3, 4), (2, 4, 3, 1)) - x38 = np.zeros((nocc, nocc), dtype=types[float]) - x38 += einsum(l2, (0, 1, 2, 3), x19, (2, 4, 0, 1), (3, 4)) - x39 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x39 += einsum(x35, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x39 += einsum(x35, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x35 - x39 += einsum(x21, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x39 += einsum(x21, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 - x39 += einsum(x37, (0, 1, 2, 3), (0, 1, 2, 3)) - x39 += einsum(x37, (0, 1, 2, 3), (0, 2, 1, 3)) * -2.0 - del x37 - x39 += einsum(x14, (0, 1, 2, 3), x22, (0, 4, 5, 3), (4, 1, 5, 2)) * 4.0 - x39 += einsum(t1, (0, 1), x38, (2, 3), (2, 0, 3, 1)) * 4.0 - l1new += einsum(v.ovov, (0, 1, 2, 3), x39, (4, 0, 2, 1), (3, 4)) * -1.0 - del x39 - x40 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x40 += einsum(l2, (0, 1, 2, 3), t2, (4, 5, 1, 0), (3, 2, 4, 5)) - l2new += einsum(v.ovov, (0, 1, 2, 3), x40, (4, 5, 0, 2), (1, 3, 4, 5)) - x41 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x41 += einsum(t1, (0, 1), x40, (2, 0, 3, 4), (2, 3, 4, 1)) - x42 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x42 += einsum(x21, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x42 += einsum(x21, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 - x43 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x43 += einsum(x41, (0, 1, 2, 3), (0, 1, 2, 3)) - x43 += einsum(x41, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 - del x41 - x43 += einsum(t2, (0, 1, 2, 3), x22, (1, 4, 5, 3), (4, 0, 5, 2)) - del x22 - x43 += einsum(t2, (0, 1, 2, 3), x42, (1, 4, 5, 2), (4, 0, 5, 3)) * 0.5 - x43 += einsum(t1, (0, 1), x38, (2, 3), (2, 0, 3, 1)) - del x38 - l1new += einsum(v.ovov, (0, 1, 2, 3), x43, (4, 0, 2, 3), (1, 4)) * 2.0 - del x43 - x44 = np.zeros((nvir, nvir), dtype=types[float]) - x44 += einsum(l1, (0, 1), t1, (1, 2), (0, 2)) - x44 += einsum(l2, (0, 1, 2, 3), x14, (2, 3, 1, 4), (0, 4)) * 2.0 - x45 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x45 += einsum(v.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x45 += einsum(v.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - l1new += einsum(x44, (0, 1), x45, (2, 3, 1, 0), (3, 2)) - del x44, x45 - x46 = np.zeros((nocc, nocc), dtype=types[float]) - x46 += einsum(l1, (0, 1), t1, (2, 0), (1, 2)) - l1new += einsum(x11, (0, 1), x46, (2, 0), (1, 2)) * -2.0 - x47 = np.zeros((nocc, nocc), dtype=types[float]) - x47 += einsum(l2, (0, 1, 2, 3), x19, (2, 4, 0, 1), (3, 4)) * 2.0 - x48 = np.zeros((nocc, nocc), dtype=types[float]) - x48 += einsum(x46, (0, 1), (0, 1)) - del x46 - x48 += einsum(x47, (0, 1), (0, 1)) - del x47 - l1new += einsum(f.ov, (0, 1), x48, (2, 0), (1, 2)) * -1.0 - x49 = np.zeros((nocc, nvir), dtype=types[float]) - x49 += einsum(t1, (0, 1), (0, 1)) * -1.0 - x49 += einsum(x14, (0, 1, 2, 3), x21, (0, 1, 4, 3), (4, 2)) * 2.0 - x49 += einsum(l1, (0, 1), x20, (1, 2, 3, 0), (2, 3)) * -1.0 - x49 += einsum(t1, (0, 1), x48, (0, 2), (2, 1)) - x50 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x50 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * 2.0 - x50 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - l1new += einsum(x49, (0, 1), x50, (0, 2, 3, 1), (3, 2)) * -1.0 - del x49, x50 - x51 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x51 += einsum(x40, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.5 - x51 += einsum(x40, (0, 1, 2, 3), (1, 0, 3, 2)) - del x40 - x51 += einsum(x36, (0, 1, 2, 3), (2, 1, 0, 3)) - x51 += einsum(x36, (0, 1, 2, 3), (3, 1, 0, 2)) * -0.5 - del x36 - l1new += einsum(v.ooov, (0, 1, 2, 3), x51, (1, 4, 0, 2), (3, 4)) * 2.0 - del x51 - x52 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x52 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x52 += einsum(v.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * 2.0 - l1new += einsum(x48, (0, 1), x52, (0, 2, 1, 3), (3, 2)) * -1.0 - del x52 - x53 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x53 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x53 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - l1new += einsum(l1, (0, 1), x53, (1, 2, 0, 3), (3, 2)) * 2.0 - del x53 - x54 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x54 += einsum(v.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) - x54 += einsum(v.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 - x55 = np.zeros((nvir, nvir), dtype=types[float]) - x55 += einsum(f.vv, (0, 1), (0, 1)) - x55 += einsum(t1, (0, 1), x54, (0, 1, 2, 3), (3, 2)) * 2.0 - del x54 - l1new += einsum(l1, (0, 1), x55, (0, 2), (2, 1)) - del x55 - x56 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x56 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x56 += einsum(v.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) * -0.5 - x57 = np.zeros((nocc, nvir), dtype=types[float]) - x57 += einsum(t1, (0, 1), x10, (0, 2, 3, 1), (2, 3)) * 2.0 - del x10 - x58 = np.zeros((nocc, nvir), dtype=types[float]) - x58 += einsum(f.ov, (0, 1), (0, 1)) - x58 += einsum(x57, (0, 1), (0, 1)) - x59 = np.zeros((nocc, nocc), dtype=types[float]) - x59 += einsum(f.oo, (0, 1), (0, 1)) - x59 += einsum(v.ovov, (0, 1, 2, 3), x14, (2, 4, 1, 3), (4, 0)) * 2.0 - x59 += einsum(t1, (0, 1), x56, (2, 3, 0, 1), (3, 2)) * 2.0 - x59 += einsum(t1, (0, 1), x58, (2, 1), (0, 2)) - del x58 - l1new += einsum(l1, (0, 1), x59, (1, 2), (0, 2)) * -1.0 - del x59 - x60 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x60 += einsum(l1, (0, 1), v.ooov, (2, 1, 3, 4), (2, 3, 0, 4)) - x61 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x61 += einsum(v.ooov, (0, 1, 2, 3), x21, (4, 1, 2, 5), (4, 0, 5, 3)) - x62 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x62 += einsum(v.ovvv, (0, 1, 2, 3), x21, (4, 5, 0, 3), (5, 4, 1, 2)) - x63 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x63 += einsum(x21, (0, 1, 2, 3), x5, (1, 2, 4, 5), (0, 4, 3, 5)) - x64 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x64 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -0.5 - x64 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x65 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x65 += einsum(x19, (0, 1, 2, 3), x64, (0, 4, 2, 5), (1, 4, 3, 5)) * 4.0 - del x64 - x66 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x66 += einsum(v.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x66 += einsum(v.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) - x67 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x67 += einsum(t1, (0, 1), x66, (2, 1, 3, 4), (0, 2, 3, 4)) * 2.0 - del x66 - x68 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x68 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * 2.0 - x68 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x68 += einsum(x65, (0, 1, 2, 3), (0, 1, 2, 3)) - del x65 - x68 += einsum(x67, (0, 1, 2, 3), (0, 1, 3, 2)) - del x67 - x69 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x69 += einsum(l2, (0, 1, 2, 3), x68, (3, 4, 1, 5), (2, 4, 0, 5)) - del x68 - x70 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x70 += einsum(t1, (0, 1), v.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) - x71 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x71 += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 3, 1, 5), (0, 4, 2, 5)) - x72 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x72 += einsum(v.ovov, (0, 1, 2, 3), x20, (2, 4, 5, 3), (0, 4, 1, 5)) - del x20 - x73 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x73 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x73 += einsum(x70, (0, 1, 2, 3), (0, 1, 3, 2)) - del x70 - x73 += einsum(x71, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x71 - x73 += einsum(x72, (0, 1, 2, 3), (1, 0, 3, 2)) - del x72 - x74 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x74 += einsum(l2, (0, 1, 2, 3), x73, (2, 4, 1, 5), (3, 4, 0, 5)) - del x73 - x75 = np.zeros((nvir, nvir), dtype=types[float]) - x75 += einsum(v.ovov, (0, 1, 2, 3), x19, (0, 2, 1, 4), (3, 4)) * 2.0 - del x19 - x76 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x76 += einsum(v.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x76 += einsum(v.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) * 2.0 - x77 = np.zeros((nvir, nvir), dtype=types[float]) - x77 += einsum(t1, (0, 1), x76, (0, 2, 1, 3), (2, 3)) - del x76 - x78 = np.zeros((nvir, nvir), dtype=types[float]) - x78 += einsum(x75, (0, 1), (0, 1)) - del x75 - x78 += einsum(x77, (0, 1), (0, 1)) * -1.0 - del x77 - x79 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x79 += einsum(x78, (0, 1), l2, (2, 1, 3, 4), (4, 3, 2, 0)) - del x78 - x80 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x80 += einsum(v.ooov, (0, 1, 2, 3), x33, (4, 0, 1, 5), (2, 4, 3, 5)) - del x33 - x81 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x81 += einsum(x42, (0, 1, 2, 3), x5, (0, 4, 2, 5), (4, 1, 5, 3)) - del x42 - x82 = np.zeros((nocc, nocc), dtype=types[float]) - x82 += einsum(v.ovov, (0, 1, 2, 3), x14, (2, 4, 1, 3), (0, 4)) - x83 = np.zeros((nocc, nocc), dtype=types[float]) - x83 += einsum(t1, (0, 1), x56, (2, 3, 0, 1), (2, 3)) - del x56 - x84 = np.zeros((nocc, nocc), dtype=types[float]) - x84 += einsum(t1, (0, 1), x11, (2, 1), (0, 2)) - x85 = np.zeros((nocc, nocc), dtype=types[float]) - x85 += einsum(x82, (0, 1), (1, 0)) - del x82 - x85 += einsum(x83, (0, 1), (1, 0)) - del x83 - x85 += einsum(x84, (0, 1), (0, 1)) - del x84 - x86 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x86 += einsum(x85, (0, 1), l2, (2, 3, 0, 4), (4, 1, 2, 3)) * 2.0 - del x85 - x87 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x87 += einsum(x11, (0, 1), x21, (2, 3, 0, 4), (2, 3, 4, 1)) * 2.0 - del x11 - x88 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x88 += einsum(f.ov, (0, 1), l1, (2, 3), (0, 3, 1, 2)) * -1.0 - x88 += einsum(x60, (0, 1, 2, 3), (0, 1, 2, 3)) - del x60 - x88 += einsum(x61, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x61 - x88 += einsum(x62, (0, 1, 2, 3), (0, 1, 2, 3)) - del x62 - x88 += einsum(x63, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x63 - x88 += einsum(x69, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x69 - x88 += einsum(x74, (0, 1, 2, 3), (0, 1, 2, 3)) - del x74 - x88 += einsum(x79, (0, 1, 2, 3), (1, 0, 2, 3)) - del x79 - x88 += einsum(x80, (0, 1, 2, 3), (1, 0, 3, 2)) - del x80 - x88 += einsum(x81, (0, 1, 2, 3), (1, 0, 3, 2)) - del x81 - x88 += einsum(x86, (0, 1, 2, 3), (0, 1, 3, 2)) - del x86 - x88 += einsum(x87, (0, 1, 2, 3), (0, 1, 2, 3)) - del x87 - x88 += einsum(l1, (0, 1), x57, (2, 3), (1, 2, 0, 3)) * -1.0 - del x57 - l2new += einsum(x88, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 - l2new += einsum(x88, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 - del x88 - x89 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x89 += einsum(f.vv, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2)) - x90 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x90 += einsum(l1, (0, 1), v.ovvv, (2, 3, 4, 0), (1, 2, 3, 4)) - x91 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x91 += einsum(f.ov, (0, 1), x21, (2, 3, 0, 4), (2, 3, 1, 4)) - x92 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x92 += einsum(l1, (0, 1), x5, (1, 2, 3, 4), (2, 3, 0, 4)) - x93 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x93 += einsum(l2, (0, 1, 2, 3), x16, (2, 4, 3, 5), (4, 5, 0, 1)) - del x16 - x94 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x94 += einsum(v.ooov, (0, 1, 2, 3), x21, (1, 4, 2, 5), (4, 0, 5, 3)) - x95 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x95 += einsum(x21, (0, 1, 2, 3), x5, (0, 2, 4, 5), (1, 4, 3, 5)) - del x5, x21 - x96 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x96 += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 2, 1, 5), (0, 4, 3, 5)) - x97 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x97 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) - x97 += einsum(x2, (0, 1, 2, 3), (0, 1, 3, 2)) - del x2 - x97 += einsum(x96, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x96 - x98 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x98 += einsum(l2, (0, 1, 2, 3), x97, (2, 4, 1, 5), (3, 4, 0, 5)) - del x97 - x99 = np.zeros((nvir, nvir), dtype=types[float]) - x99 += einsum(l2, (0, 1, 2, 3), x14, (2, 3, 1, 4), (0, 4)) - del x14 - x100 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x100 += einsum(x99, (0, 1), v.ovov, (2, 1, 3, 4), (2, 3, 4, 0)) * 2.0 - del x99 - x101 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x101 += einsum(x48, (0, 1), v.ovov, (2, 3, 1, 4), (2, 0, 4, 3)) - del x48 - x102 = np.zeros((nocc, nocc), dtype=types[float]) - x102 += einsum(f.ov, (0, 1), t1, (2, 1), (0, 2)) - x103 = np.zeros((nocc, nocc), dtype=types[float]) - x103 += einsum(f.oo, (0, 1), (0, 1)) - x103 += einsum(x102, (0, 1), (1, 0)) - del x102 - x104 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x104 += einsum(x103, (0, 1), l2, (2, 3, 0, 4), (4, 1, 2, 3)) - del x103 - x105 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x105 += einsum(x89, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x89 - x105 += einsum(x90, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x90 - x105 += einsum(x91, (0, 1, 2, 3), (0, 1, 2, 3)) - del x91 - x105 += einsum(x92, (0, 1, 2, 3), (0, 1, 2, 3)) - del x92 - x105 += einsum(x93, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x93 - x105 += einsum(x94, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x94 - x105 += einsum(x95, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x95 - x105 += einsum(x98, (0, 1, 2, 3), (0, 1, 2, 3)) - del x98 - x105 += einsum(x100, (0, 1, 2, 3), (1, 0, 3, 2)) - del x100 - x105 += einsum(x101, (0, 1, 2, 3), (1, 0, 3, 2)) - del x101 - x105 += einsum(x104, (0, 1, 2, 3), (1, 0, 3, 2)) - del x104 - l2new += einsum(x105, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - l2new += einsum(x105, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 - del x105 - - return {"l1new": l1new, "l2new": l2new} - -def make_rdm1_f(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, l1=None, l2=None, **kwargs): - delta = Namespace(oo=np.eye(nocc), vv=np.eye(nvir)) - - # RDM1 - rdm1_f_oo = np.zeros((nocc, nocc), dtype=types[float]) - rdm1_f_oo += einsum(delta.oo, (0, 1), (0, 1)) * 2.0 - rdm1_f_ov = np.zeros((nocc, nvir), dtype=types[float]) - rdm1_f_ov += einsum(t1, (0, 1), (0, 1)) * 2.0 - rdm1_f_vo = np.zeros((nvir, nocc), dtype=types[float]) - rdm1_f_vo += einsum(l1, (0, 1), (0, 1)) * 2.0 - rdm1_f_vv = np.zeros((nvir, nvir), dtype=types[float]) - rdm1_f_vv += einsum(l1, (0, 1), t1, (1, 2), (0, 2)) * 2.0 - x0 = np.zeros((nocc, nocc), dtype=types[float]) - x0 += einsum(l1, (0, 1), t1, (2, 0), (1, 2)) - rdm1_f_oo += einsum(x0, (0, 1), (1, 0)) * -2.0 - x1 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x1 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x1 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - rdm1_f_oo += einsum(l2, (0, 1, 2, 3), x1, (2, 4, 0, 1), (4, 3)) * -2.0 - del x1 - x2 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x2 += einsum(t1, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2)) - x3 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x3 += einsum(x2, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x3 += einsum(x2, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x2 - rdm1_f_ov += einsum(t2, (0, 1, 2, 3), x3, (0, 1, 4, 2), (4, 3)) * -2.0 - del x3 - x4 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x4 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) - x4 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - rdm1_f_ov += einsum(l1, (0, 1), x4, (1, 2, 3, 0), (2, 3)) * 4.0 - x5 = np.zeros((nocc, nocc), dtype=types[float]) - x5 += einsum(x0, (0, 1), (0, 1)) - del x0 - x5 += einsum(l2, (0, 1, 2, 3), x4, (3, 4, 0, 1), (2, 4)) * 2.0 - del x4 - rdm1_f_ov += einsum(t1, (0, 1), x5, (0, 2), (2, 1)) * -2.0 - del x5 - x6 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x6 += einsum(l2, (0, 1, 2, 3), (3, 2, 0, 1)) - x6 += einsum(l2, (0, 1, 2, 3), (2, 3, 0, 1)) * -0.5 - rdm1_f_vv += einsum(t2, (0, 1, 2, 3), x6, (0, 1, 4, 2), (4, 3)) * 4.0 - del x6 - - rdm1_f = np.block([[rdm1_f_oo, rdm1_f_ov], [rdm1_f_vo, rdm1_f_vv]]) - - return rdm1_f - -def make_rdm2_f(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, l1=None, l2=None, **kwargs): - delta = Namespace(oo=np.eye(nocc), vv=np.eye(nvir)) - - # RDM2 - rdm2_f_oooo = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - rdm2_f_oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (0, 2, 1, 3)) - rdm2_f_oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (0, 2, 1, 3)) - rdm2_f_oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (0, 2, 1, 3)) - rdm2_f_oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (0, 2, 1, 3)) - rdm2_f_oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_ovoo = np.zeros((nocc, nvir, nocc, nocc), dtype=types[float]) - rdm2_f_ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (0, 2, 1, 3)) - rdm2_f_ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (0, 2, 1, 3)) - rdm2_f_ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (0, 2, 1, 3)) - rdm2_f_ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (0, 2, 1, 3)) - rdm2_f_ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_vooo = np.zeros((nvir, nocc, nocc, nocc), dtype=types[float]) - rdm2_f_vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 0, 3, 1)) - rdm2_f_vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 0, 3, 1)) - rdm2_f_vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 0, 3, 1)) - rdm2_f_vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 0, 3, 1)) - rdm2_f_oovv = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - rdm2_f_oovv += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_ovov = np.zeros((nocc, nvir, nocc, nvir), dtype=types[float]) - rdm2_f_ovov += einsum(l1, (0, 1), t1, (2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_ovov += einsum(l1, (0, 1), t1, (2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_ovvo = np.zeros((nocc, nvir, nvir, nocc), dtype=types[float]) - rdm2_f_ovvo += einsum(l1, (0, 1), t1, (2, 3), (2, 0, 3, 1)) - rdm2_f_ovvo += einsum(l1, (0, 1), t1, (2, 3), (2, 0, 3, 1)) - rdm2_f_ovvo += einsum(l1, (0, 1), t1, (2, 3), (2, 0, 3, 1)) - rdm2_f_ovvo += einsum(l1, (0, 1), t1, (2, 3), (2, 0, 3, 1)) - rdm2_f_voov = np.zeros((nvir, nocc, nocc, nvir), dtype=types[float]) - rdm2_f_voov += einsum(l1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) - rdm2_f_voov += einsum(l1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) - rdm2_f_voov += einsum(l1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) - rdm2_f_voov += einsum(l1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) - rdm2_f_vovo = np.zeros((nvir, nocc, nvir, nocc), dtype=types[float]) - rdm2_f_vovo += einsum(l1, (0, 1), t1, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_vovo += einsum(l1, (0, 1), t1, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_vvoo = np.zeros((nvir, nvir, nocc, nocc), dtype=types[float]) - rdm2_f_vvoo += einsum(l2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_vvoo += einsum(l2, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_vvoo += einsum(l2, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_vvoo += einsum(l2, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_vvoo += einsum(l2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_vvoo += einsum(l2, (0, 1, 2, 3), (0, 1, 2, 3)) - x0 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x0 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) - x0 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x1 = np.zeros((nocc, nocc), dtype=types[float]) - x1 += einsum(l2, (0, 1, 2, 3), x0, (3, 4, 0, 1), (2, 4)) - rdm2_f_oooo += einsum(delta.oo, (0, 1), x1, (2, 3), (0, 3, 1, 2)) * -2.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x1, (2, 3), (0, 3, 2, 1)) * 2.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x1, (2, 3), (3, 0, 1, 2)) * 2.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x1, (2, 3), (3, 0, 2, 1)) * -2.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x1, (2, 3), (0, 3, 1, 2)) * -2.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x1, (2, 3), (3, 0, 2, 1)) * -2.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x1, (2, 3), (0, 3, 1, 2)) * -2.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x1, (2, 3), (3, 0, 2, 1)) * -2.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x1, (2, 3), (0, 3, 1, 2)) * -2.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x1, (2, 3), (0, 3, 2, 1)) * 2.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x1, (2, 3), (3, 0, 1, 2)) * 2.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x1, (2, 3), (3, 0, 2, 1)) * -2.0 - x2 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x2 += einsum(l2, (0, 1, 2, 3), t2, (4, 5, 0, 1), (2, 3, 4, 5)) - rdm2_f_oooo += einsum(x2, (0, 1, 2, 3), (3, 2, 1, 0)) - rdm2_f_oooo += einsum(x2, (0, 1, 2, 3), (3, 2, 1, 0)) - x3 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x3 += einsum(t1, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2)) - rdm2_f_ovoo += einsum(x3, (0, 1, 2, 3), (2, 3, 0, 1)) - rdm2_f_ovoo += einsum(x3, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 - rdm2_f_ovoo += einsum(x3, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 - rdm2_f_ovoo += einsum(x3, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 - rdm2_f_ovoo += einsum(x3, (0, 1, 2, 3), (2, 3, 0, 1)) - rdm2_f_ovoo += einsum(x3, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 - rdm2_f_vooo += einsum(x3, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - rdm2_f_vooo += einsum(x3, (0, 1, 2, 3), (3, 2, 1, 0)) - rdm2_f_vooo += einsum(x3, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - rdm2_f_vooo += einsum(x3, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - rdm2_f_vooo += einsum(x3, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - rdm2_f_vooo += einsum(x3, (0, 1, 2, 3), (3, 2, 1, 0)) - x4 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x4 += einsum(t1, (0, 1), x3, (2, 3, 4, 1), (2, 3, 0, 4)) - rdm2_f_oooo += einsum(x4, (0, 1, 2, 3), (3, 2, 1, 0)) - rdm2_f_oooo += einsum(x4, (0, 1, 2, 3), (3, 2, 1, 0)) - x5 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x5 += einsum(x2, (0, 1, 2, 3), (1, 0, 3, 2)) - x5 += einsum(x4, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oooo += einsum(x5, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - rdm2_f_oooo += einsum(x5, (0, 1, 2, 3), (2, 3, 0, 1)) - rdm2_f_oooo += einsum(x5, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - rdm2_f_oooo += einsum(x5, (0, 1, 2, 3), (2, 3, 0, 1)) - x6 = np.zeros((nocc, nocc), dtype=types[float]) - x6 += einsum(l1, (0, 1), t1, (2, 0), (1, 2)) - rdm2_f_oooo += einsum(delta.oo, (0, 1), x6, (2, 3), (0, 3, 1, 2)) * -1.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x6, (2, 3), (3, 0, 1, 2)) - rdm2_f_oooo += einsum(delta.oo, (0, 1), x6, (2, 3), (0, 3, 2, 1)) - rdm2_f_oooo += einsum(delta.oo, (0, 1), x6, (2, 3), (3, 0, 2, 1)) * -1.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x6, (2, 3), (0, 3, 1, 2)) * -1.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x6, (2, 3), (3, 0, 2, 1)) * -1.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x6, (2, 3), (0, 3, 1, 2)) * -1.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x6, (2, 3), (3, 0, 2, 1)) * -1.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x6, (2, 3), (0, 3, 1, 2)) * -1.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x6, (2, 3), (3, 0, 1, 2)) - rdm2_f_oooo += einsum(delta.oo, (0, 1), x6, (2, 3), (0, 3, 2, 1)) - rdm2_f_oooo += einsum(delta.oo, (0, 1), x6, (2, 3), (3, 0, 2, 1)) * -1.0 - x7 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x7 += einsum(x3, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x7 += einsum(x3, (0, 1, 2, 3), (1, 0, 2, 3)) - x8 = np.zeros((nocc, nvir), dtype=types[float]) - x8 += einsum(t2, (0, 1, 2, 3), x7, (0, 1, 4, 3), (4, 2)) * 2.0 - x9 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x9 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - x9 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x10 = np.zeros((nocc, nvir), dtype=types[float]) - x10 += einsum(l1, (0, 1), x9, (1, 2, 3, 0), (2, 3)) - x11 = np.zeros((nocc, nocc), dtype=types[float]) - x11 += einsum(l2, (0, 1, 2, 3), x0, (3, 4, 0, 1), (2, 4)) * 2.0 - x12 = np.zeros((nocc, nocc), dtype=types[float]) - x12 += einsum(x6, (0, 1), (0, 1)) - x12 += einsum(x11, (0, 1), (0, 1)) - rdm2_f_ooov = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - rdm2_f_ooov += einsum(t1, (0, 1), x12, (2, 3), (3, 0, 2, 1)) * -1.0 - rdm2_f_ooov += einsum(t1, (0, 1), x12, (2, 3), (3, 0, 2, 1)) * -1.0 - rdm2_f_oovo = np.zeros((nocc, nocc, nvir, nocc), dtype=types[float]) - rdm2_f_oovo += einsum(t1, (0, 1), x12, (2, 3), (0, 3, 1, 2)) * -1.0 - rdm2_f_oovo += einsum(t1, (0, 1), x12, (2, 3), (0, 3, 1, 2)) * -1.0 - x13 = np.zeros((nocc, nvir), dtype=types[float]) - x13 += einsum(t1, (0, 1), x12, (0, 2), (2, 1)) - x14 = np.zeros((nocc, nvir), dtype=types[float]) - x14 += einsum(x8, (0, 1), (0, 1)) - del x8 - x14 += einsum(x10, (0, 1), (0, 1)) * -1.0 - del x10 - x14 += einsum(x13, (0, 1), (0, 1)) - del x13 - rdm2_f_ooov += einsum(delta.oo, (0, 1), x14, (2, 3), (0, 2, 1, 3)) * -1.0 - rdm2_f_ooov += einsum(delta.oo, (0, 1), x14, (2, 3), (2, 0, 1, 3)) - rdm2_f_ooov += einsum(delta.oo, (0, 1), x14, (2, 3), (0, 2, 1, 3)) * -1.0 - rdm2_f_ooov += einsum(delta.oo, (0, 1), x14, (2, 3), (2, 0, 1, 3)) - rdm2_f_oovo += einsum(delta.oo, (0, 1), x14, (2, 3), (0, 2, 3, 1)) - rdm2_f_oovo += einsum(delta.oo, (0, 1), x14, (2, 3), (2, 0, 3, 1)) * -1.0 - rdm2_f_oovo += einsum(delta.oo, (0, 1), x14, (2, 3), (0, 2, 3, 1)) - rdm2_f_oovo += einsum(delta.oo, (0, 1), x14, (2, 3), (2, 0, 3, 1)) * -1.0 - del x14 - x15 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x15 += einsum(l1, (0, 1), t2, (2, 3, 4, 0), (1, 2, 3, 4)) - rdm2_f_ooov += einsum(x15, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_ooov += einsum(x15, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_oovo += einsum(x15, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - rdm2_f_oovo += einsum(x15, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - x16 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x16 += einsum(x3, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x16 += einsum(x3, (0, 1, 2, 3), (1, 0, 2, 3)) - x17 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x17 += einsum(t2, (0, 1, 2, 3), x16, (1, 4, 5, 2), (4, 5, 0, 3)) - x18 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x18 += einsum(x3, (0, 1, 2, 3), (0, 1, 2, 3)) - x18 += einsum(x3, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.5 - x19 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x19 += einsum(t2, (0, 1, 2, 3), x18, (1, 4, 5, 3), (4, 5, 0, 2)) * 2.0 - del x18 - x20 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x20 += einsum(t1, (0, 1), x5, (0, 2, 3, 4), (2, 3, 4, 1)) - del x5 - rdm2_f_ooov += einsum(x20, (0, 1, 2, 3), (2, 1, 0, 3)) - rdm2_f_ooov += einsum(x20, (0, 1, 2, 3), (2, 1, 0, 3)) - rdm2_f_oovo += einsum(x20, (0, 1, 2, 3), (1, 2, 3, 0)) - rdm2_f_oovo += einsum(x20, (0, 1, 2, 3), (1, 2, 3, 0)) - x21 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x21 += einsum(delta.oo, (0, 1), t1, (2, 3), (0, 1, 2, 3)) - x21 += einsum(x15, (0, 1, 2, 3), (1, 0, 2, 3)) - x21 += einsum(x17, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x21 += einsum(x19, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x21 += einsum(x20, (0, 1, 2, 3), (2, 0, 1, 3)) - del x20 - x21 += einsum(t1, (0, 1), x12, (2, 3), (0, 2, 3, 1)) - rdm2_f_ooov += einsum(x21, (0, 1, 2, 3), (0, 2, 1, 3)) - rdm2_f_ooov += einsum(x21, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_ooov += einsum(x21, (0, 1, 2, 3), (0, 2, 1, 3)) - rdm2_f_ooov += einsum(x21, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_oovo += einsum(x21, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_oovo += einsum(x21, (0, 1, 2, 3), (2, 0, 3, 1)) - rdm2_f_oovo += einsum(x21, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_oovo += einsum(x21, (0, 1, 2, 3), (2, 0, 3, 1)) - del x21 - x22 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x22 += einsum(t2, (0, 1, 2, 3), x3, (1, 4, 5, 2), (4, 5, 0, 3)) - rdm2_f_ooov += einsum(x22, (0, 1, 2, 3), (1, 2, 0, 3)) - rdm2_f_ooov += einsum(x22, (0, 1, 2, 3), (1, 2, 0, 3)) - rdm2_f_oovo += einsum(x22, (0, 1, 2, 3), (2, 1, 3, 0)) - rdm2_f_oovo += einsum(x22, (0, 1, 2, 3), (2, 1, 3, 0)) - del x22 - x23 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x23 += einsum(t2, (0, 1, 2, 3), x3, (4, 1, 5, 2), (4, 5, 0, 3)) - rdm2_f_ooov += einsum(x23, (0, 1, 2, 3), (2, 1, 0, 3)) - rdm2_f_ooov += einsum(x23, (0, 1, 2, 3), (2, 1, 0, 3)) - rdm2_f_oovo += einsum(x23, (0, 1, 2, 3), (1, 2, 3, 0)) - rdm2_f_oovo += einsum(x23, (0, 1, 2, 3), (1, 2, 3, 0)) - x24 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x24 += einsum(x3, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x24 += einsum(x3, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x25 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x25 += einsum(t2, (0, 1, 2, 3), x24, (1, 4, 5, 3), (4, 5, 0, 2)) - del x24 - rdm2_f_ooov += einsum(x25, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_ooov += einsum(x25, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - del x25 - x26 = np.zeros((nocc, nvir), dtype=types[float]) - x26 += einsum(t2, (0, 1, 2, 3), x7, (0, 1, 4, 3), (4, 2)) - del x7 - x27 = np.zeros((nocc, nvir), dtype=types[float]) - x27 += einsum(l1, (0, 1), x9, (1, 2, 3, 0), (2, 3)) * 0.5 - x28 = np.zeros((nocc, nvir), dtype=types[float]) - x28 += einsum(t1, (0, 1), x12, (0, 2), (2, 1)) * 0.5 - del x12 - x29 = np.zeros((nocc, nvir), dtype=types[float]) - x29 += einsum(t1, (0, 1), (0, 1)) * -0.5 - x29 += einsum(x26, (0, 1), (0, 1)) - x29 += einsum(x27, (0, 1), (0, 1)) * -1.0 - x29 += einsum(x28, (0, 1), (0, 1)) - rdm2_f_ooov += einsum(delta.oo, (0, 1), x29, (2, 3), (0, 2, 1, 3)) * -2.0 - rdm2_f_ooov += einsum(delta.oo, (0, 1), x29, (2, 3), (0, 2, 1, 3)) * -2.0 - rdm2_f_oovo += einsum(delta.oo, (0, 1), x29, (2, 3), (2, 0, 3, 1)) * -2.0 - rdm2_f_oovo += einsum(delta.oo, (0, 1), x29, (2, 3), (2, 0, 3, 1)) * -2.0 - del x29 - x30 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x30 += einsum(x3, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x30 += einsum(x3, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 - x31 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x31 += einsum(t2, (0, 1, 2, 3), x30, (4, 1, 5, 3), (4, 5, 0, 2)) - del x30 - rdm2_f_oovo += einsum(x31, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - rdm2_f_oovo += einsum(x31, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - del x31 - x32 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x32 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - x32 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) - rdm2_f_oovv += einsum(x32, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_oovv += einsum(x32, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(x32, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_oovv += einsum(x32, (0, 1, 2, 3), (0, 1, 2, 3)) - x33 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x33 += einsum(t2, (0, 1, 2, 3), x4, (0, 1, 4, 5), (5, 4, 3, 2)) - rdm2_f_oovv += einsum(x33, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(x33, (0, 1, 2, 3), (0, 1, 2, 3)) - x34 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x34 += einsum(t1, (0, 1), x4, (0, 2, 3, 4), (2, 4, 3, 1)) - del x4 - x35 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x35 += einsum(t1, (0, 1), x34, (0, 2, 3, 4), (2, 3, 1, 4)) - del x34 - rdm2_f_oovv += einsum(x35, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(x35, (0, 1, 2, 3), (0, 1, 2, 3)) - x36 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x36 += einsum(l2, (0, 1, 2, 3), (3, 2, 0, 1)) * -0.5 - x36 += einsum(l2, (0, 1, 2, 3), (2, 3, 0, 1)) - x37 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x37 += einsum(t2, (0, 1, 2, 3), x36, (1, 4, 3, 5), (4, 0, 5, 2)) - x38 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x38 += einsum(t2, (0, 1, 2, 3), x37, (1, 4, 3, 5), (4, 0, 5, 2)) * 4.0 - del x37 - rdm2_f_oovv += einsum(x38, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(x38, (0, 1, 2, 3), (0, 1, 2, 3)) - x39 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x39 += einsum(l2, (0, 1, 2, 3), (3, 2, 0, 1)) - x39 += einsum(l2, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 - x40 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x40 += einsum(t2, (0, 1, 2, 3), x39, (1, 4, 2, 5), (4, 0, 5, 3)) - del x39 - x41 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x41 += einsum(t2, (0, 1, 2, 3), x40, (1, 4, 2, 5), (4, 0, 5, 3)) * -1.0 - del x40 - x42 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x42 += einsum(x2, (0, 1, 2, 3), x32, (0, 1, 4, 5), (2, 3, 4, 5)) - del x2, x32 - rdm2_f_oovv += einsum(x42, (0, 1, 2, 3), (1, 0, 3, 2)) - rdm2_f_oovv += einsum(x42, (0, 1, 2, 3), (1, 0, 3, 2)) - x43 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x43 += einsum(x33, (0, 1, 2, 3), (0, 1, 2, 3)) - del x33 - x43 += einsum(x35, (0, 1, 2, 3), (0, 1, 2, 3)) - del x35 - x43 += einsum(x38, (0, 1, 2, 3), (1, 0, 3, 2)) - del x38 - x43 += einsum(x41, (0, 1, 2, 3), (0, 1, 2, 3)) - del x41 - x43 += einsum(x42, (0, 1, 2, 3), (1, 0, 3, 2)) - del x42 - rdm2_f_oovv += einsum(x43, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(x43, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_oovv += einsum(x43, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(x43, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x43 - x44 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x44 += einsum(x6, (0, 1), t2, (2, 0, 3, 4), (1, 2, 3, 4)) - x45 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x45 += einsum(t2, (0, 1, 2, 3), x36, (1, 4, 3, 5), (4, 0, 5, 2)) * 2.0 - del x36 - x46 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x46 += einsum(t2, (0, 1, 2, 3), x45, (1, 4, 2, 5), (4, 0, 5, 3)) - del x45 - x47 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x47 += einsum(l2, (0, 1, 2, 3), (3, 2, 0, 1)) - x47 += einsum(l2, (0, 1, 2, 3), (2, 3, 0, 1)) * -0.5 - x48 = np.zeros((nvir, nvir), dtype=types[float]) - x48 += einsum(t2, (0, 1, 2, 3), x47, (0, 1, 3, 4), (4, 2)) * 2.0 - x49 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x49 += einsum(x48, (0, 1), t2, (2, 3, 0, 4), (2, 3, 1, 4)) - x50 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x50 += einsum(x15, (0, 1, 2, 3), (0, 1, 2, 3)) - x50 += einsum(x17, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x17 - x50 += einsum(x19, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x19 - x51 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x51 += einsum(t1, (0, 1), x50, (0, 2, 3, 4), (2, 3, 4, 1)) - del x50 - x52 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x52 += einsum(x11, (0, 1), t2, (2, 0, 3, 4), (1, 2, 4, 3)) - del x11 - x53 = np.zeros((nocc, nvir), dtype=types[float]) - x53 += einsum(x26, (0, 1), (0, 1)) - x53 += einsum(x27, (0, 1), (0, 1)) * -1.0 - x53 += einsum(x28, (0, 1), (0, 1)) - del x28 - x54 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x54 += einsum(x44, (0, 1, 2, 3), (0, 1, 2, 3)) - x54 += einsum(x46, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x54 += einsum(x49, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - x54 += einsum(x51, (0, 1, 2, 3), (0, 1, 3, 2)) - del x51 - x54 += einsum(x52, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - x54 += einsum(t1, (0, 1), x53, (2, 3), (0, 2, 1, 3)) * -2.0 - del x53 - rdm2_f_oovv += einsum(x54, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(x54, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_oovv += einsum(x54, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - rdm2_f_oovv += einsum(x54, (0, 1, 2, 3), (1, 0, 3, 2)) - rdm2_f_oovv += einsum(x54, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(x54, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_oovv += einsum(x54, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - rdm2_f_oovv += einsum(x54, (0, 1, 2, 3), (1, 0, 3, 2)) - del x54 - x55 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x55 += einsum(l2, (0, 1, 2, 3), t2, (4, 3, 1, 5), (2, 4, 0, 5)) - x56 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x56 += einsum(t2, (0, 1, 2, 3), x55, (1, 4, 2, 5), (0, 4, 3, 5)) - del x55 - rdm2_f_oovv += einsum(x56, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(x56, (0, 1, 2, 3), (0, 1, 2, 3)) - del x56 - x57 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x57 += einsum(l2, (0, 1, 2, 3), t2, (4, 2, 1, 5), (3, 4, 0, 5)) - rdm2_f_ovov += einsum(x57, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_ovov += einsum(x57, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_vovo += einsum(x57, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - rdm2_f_vovo += einsum(x57, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - x58 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x58 += einsum(t2, (0, 1, 2, 3), x57, (1, 4, 2, 5), (0, 4, 3, 5)) - rdm2_f_oovv += einsum(x58, (0, 1, 2, 3), (0, 1, 3, 2)) - rdm2_f_oovv += einsum(x58, (0, 1, 2, 3), (0, 1, 3, 2)) - del x58 - x59 = np.zeros((nocc, nvir), dtype=types[float]) - x59 += einsum(t1, (0, 1), x6, (0, 2), (2, 1)) - del x6 - rdm2_f_oovv += einsum(t1, (0, 1), x59, (2, 3), (2, 0, 3, 1)) * -1.0 - rdm2_f_oovv += einsum(t1, (0, 1), x59, (2, 3), (2, 0, 3, 1)) * -1.0 - x60 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x60 += einsum(t2, (0, 1, 2, 3), x3, (4, 1, 5, 3), (4, 5, 0, 2)) - x61 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x61 += einsum(x3, (0, 1, 2, 3), x9, (0, 4, 5, 3), (4, 1, 2, 5)) - x62 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x62 += einsum(x60, (0, 1, 2, 3), (0, 1, 2, 3)) - del x60 - x62 += einsum(x61, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - del x61 - x63 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x63 += einsum(t1, (0, 1), x62, (0, 2, 3, 4), (2, 3, 4, 1)) - del x62 - x64 = np.zeros((nocc, nvir), dtype=types[float]) - x64 += einsum(t1, (0, 1), x1, (0, 2), (2, 1)) - del x1 - x65 = np.zeros((nocc, nvir), dtype=types[float]) - x65 += einsum(x26, (0, 1), (0, 1)) - del x26 - x65 += einsum(x27, (0, 1), (0, 1)) * -1.0 - del x27 - x65 += einsum(x64, (0, 1), (0, 1)) - del x64 - x66 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x66 += einsum(x46, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x46 - x66 += einsum(x49, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x49 - x66 += einsum(x63, (0, 1, 2, 3), (0, 1, 3, 2)) - del x63 - x66 += einsum(x52, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x52 - x66 += einsum(t1, (0, 1), x65, (2, 3), (0, 2, 1, 3)) * -2.0 - del x65 - rdm2_f_oovv += einsum(x66, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(x66, (0, 1, 2, 3), (1, 0, 3, 2)) - rdm2_f_oovv += einsum(x66, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(x66, (0, 1, 2, 3), (1, 0, 3, 2)) - del x66 - x67 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x67 += einsum(x15, (0, 1, 2, 3), (0, 1, 2, 3)) - del x15 - x67 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x23 - x68 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x68 += einsum(t1, (0, 1), x67, (0, 2, 3, 4), (2, 3, 4, 1)) - del x67 - x69 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x69 += einsum(x44, (0, 1, 2, 3), (0, 1, 2, 3)) - del x44 - x69 += einsum(x68, (0, 1, 2, 3), (0, 1, 3, 2)) - del x68 - rdm2_f_oovv += einsum(x69, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_oovv += einsum(x69, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - rdm2_f_oovv += einsum(x69, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_oovv += einsum(x69, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x69 - x70 = np.zeros((nocc, nvir), dtype=types[float]) - x70 += einsum(t1, (0, 1), (0, 1)) * -1.0 - x70 += einsum(x59, (0, 1), (0, 1)) - del x59 - rdm2_f_oovv += einsum(t1, (0, 1), x70, (2, 3), (0, 2, 1, 3)) * -1.0 - rdm2_f_oovv += einsum(t1, (0, 1), x70, (2, 3), (0, 2, 1, 3)) * -1.0 - del x70 - x71 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x71 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x71 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - x72 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x72 += einsum(l2, (0, 1, 2, 3), x71, (2, 4, 5, 1), (4, 3, 5, 0)) - rdm2_f_ovov += einsum(x72, (0, 1, 2, 3), (0, 3, 1, 2)) * -1.0 - rdm2_f_ovov += einsum(x72, (0, 1, 2, 3), (0, 3, 1, 2)) * -1.0 - del x72 - x73 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x73 += einsum(l2, (0, 1, 2, 3), x0, (3, 4, 5, 1), (2, 4, 0, 5)) * 2.0 - del x0 - rdm2_f_ovov += einsum(x73, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_ovov += einsum(x73, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_voov += einsum(x73, (0, 1, 2, 3), (2, 1, 0, 3)) - rdm2_f_voov += einsum(x73, (0, 1, 2, 3), (2, 1, 0, 3)) - del x73 - x74 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x74 += einsum(t1, (0, 1), x16, (2, 0, 3, 4), (2, 3, 4, 1)) - del x16 - rdm2_f_ovov += einsum(x74, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_ovov += einsum(x74, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_vovo += einsum(x74, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - rdm2_f_vovo += einsum(x74, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - del x74 - x75 = np.zeros((nvir, nvir), dtype=types[float]) - x75 += einsum(l1, (0, 1), t1, (1, 2), (0, 2)) - x76 = np.zeros((nvir, nvir), dtype=types[float]) - x76 += einsum(x75, (0, 1), (0, 1)) - x76 += einsum(x48, (0, 1), (0, 1)) - del x48 - rdm2_f_ovov += einsum(delta.oo, (0, 1), x76, (2, 3), (0, 2, 1, 3)) - rdm2_f_ovov += einsum(delta.oo, (0, 1), x76, (2, 3), (0, 2, 1, 3)) - rdm2_f_voov += einsum(delta.oo, (0, 1), x76, (2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_voov += einsum(delta.oo, (0, 1), x76, (2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_vovo += einsum(delta.oo, (0, 1), x76, (2, 3), (2, 0, 3, 1)) - rdm2_f_vovo += einsum(delta.oo, (0, 1), x76, (2, 3), (2, 0, 3, 1)) - rdm2_f_vovo += einsum(delta.oo, (0, 1), x76, (2, 3), (2, 0, 3, 1)) - rdm2_f_vovo += einsum(delta.oo, (0, 1), x76, (2, 3), (2, 0, 3, 1)) - rdm2_f_ovvv = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - rdm2_f_ovvv += einsum(t1, (0, 1), x76, (2, 3), (0, 2, 1, 3)) - rdm2_f_ovvv += einsum(t1, (0, 1), x76, (2, 3), (0, 2, 1, 3)) - rdm2_f_vovv = np.zeros((nvir, nocc, nvir, nvir), dtype=types[float]) - rdm2_f_vovv += einsum(t1, (0, 1), x76, (2, 3), (2, 0, 3, 1)) - rdm2_f_vovv += einsum(t1, (0, 1), x76, (2, 3), (2, 0, 3, 1)) - x77 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x77 += einsum(t1, (0, 1), x3, (0, 2, 3, 4), (2, 3, 4, 1)) - rdm2_f_ovov += einsum(x77, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_ovov += einsum(x77, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_vovo += einsum(x77, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - rdm2_f_vovo += einsum(x77, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - del x77 - x78 = np.zeros((nvir, nvir), dtype=types[float]) - x78 += einsum(t2, (0, 1, 2, 3), x47, (0, 1, 3, 4), (4, 2)) - del x47 - x79 = np.zeros((nvir, nvir), dtype=types[float]) - x79 += einsum(x75, (0, 1), (0, 1)) * 0.5 - del x75 - x79 += einsum(x78, (0, 1), (0, 1)) - del x78 - rdm2_f_ovov += einsum(delta.oo, (0, 1), x79, (2, 3), (0, 2, 1, 3)) * 2.0 - rdm2_f_ovov += einsum(delta.oo, (0, 1), x79, (2, 3), (0, 2, 1, 3)) * 2.0 - rdm2_f_ovvo += einsum(delta.oo, (0, 1), x79, (2, 3), (0, 2, 3, 1)) * -2.0 - rdm2_f_ovvo += einsum(delta.oo, (0, 1), x79, (2, 3), (0, 2, 3, 1)) * -2.0 - del x79 - x80 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x80 += einsum(l2, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - x80 += einsum(l2, (0, 1, 2, 3), (2, 3, 0, 1)) - x81 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x81 += einsum(t2, (0, 1, 2, 3), x80, (1, 4, 2, 5), (4, 0, 5, 3)) - del x80 - rdm2_f_ovvo += einsum(x81, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - rdm2_f_ovvo += einsum(x81, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - rdm2_f_vovo += einsum(x81, (0, 1, 2, 3), (2, 1, 3, 0)) - rdm2_f_vovo += einsum(x81, (0, 1, 2, 3), (2, 1, 3, 0)) - del x81 - x82 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x82 += einsum(l2, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - x82 += einsum(l2, (0, 1, 2, 3), (2, 3, 0, 1)) * 2.0 - x83 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x83 += einsum(t2, (0, 1, 2, 3), x82, (1, 4, 3, 5), (4, 0, 5, 2)) - del x82 - rdm2_f_ovvo += einsum(x83, (0, 1, 2, 3), (1, 2, 3, 0)) - rdm2_f_ovvo += einsum(x83, (0, 1, 2, 3), (1, 2, 3, 0)) - rdm2_f_vovo += einsum(x83, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - rdm2_f_vovo += einsum(x83, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - del x83 - x84 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x84 += einsum(x3, (0, 1, 2, 3), (0, 1, 2, 3)) - x84 += einsum(x3, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x85 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x85 += einsum(t1, (0, 1), x84, (2, 0, 3, 4), (2, 3, 4, 1)) - del x84 - rdm2_f_ovvo += einsum(x85, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - rdm2_f_ovvo += einsum(x85, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - rdm2_f_voov += einsum(x85, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_voov += einsum(x85, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - del x85 - x86 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x86 += einsum(l2, (0, 1, 2, 3), t2, (4, 2, 5, 1), (3, 4, 0, 5)) - rdm2_f_ovvo += einsum(x86, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - rdm2_f_ovvo += einsum(x86, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - rdm2_f_voov += einsum(x86, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_voov += einsum(x86, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - x87 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x87 += einsum(t1, (0, 1), x3, (2, 0, 3, 4), (2, 3, 4, 1)) - rdm2_f_ovvo += einsum(x87, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - rdm2_f_ovvo += einsum(x87, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - rdm2_f_voov += einsum(x87, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_voov += einsum(x87, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - x88 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x88 += einsum(l2, (0, 1, 2, 3), x9, (3, 4, 5, 1), (4, 2, 5, 0)) - del x9 - rdm2_f_ovvo += einsum(x88, (0, 1, 2, 3), (0, 3, 2, 1)) - rdm2_f_ovvo += einsum(x88, (0, 1, 2, 3), (0, 3, 2, 1)) - rdm2_f_voov += einsum(x88, (0, 1, 2, 3), (3, 0, 1, 2)) - rdm2_f_voov += einsum(x88, (0, 1, 2, 3), (3, 0, 1, 2)) - del x88 - x89 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x89 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) - x89 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x90 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x90 += einsum(l2, (0, 1, 2, 3), x89, (2, 4, 5, 1), (4, 3, 5, 0)) - del x89 - rdm2_f_voov += einsum(x90, (0, 1, 2, 3), (3, 0, 1, 2)) * -1.0 - rdm2_f_voov += einsum(x90, (0, 1, 2, 3), (3, 0, 1, 2)) * -1.0 - del x90 - x91 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x91 += einsum(l1, (0, 1), t2, (2, 1, 3, 4), (2, 0, 3, 4)) - rdm2_f_ovvv += einsum(x91, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_ovvv += einsum(x91, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_vovv += einsum(x91, (0, 1, 2, 3), (1, 0, 3, 2)) - rdm2_f_vovv += einsum(x91, (0, 1, 2, 3), (1, 0, 3, 2)) - x92 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x92 += einsum(t2, (0, 1, 2, 3), x3, (1, 0, 4, 5), (4, 5, 3, 2)) - del x3 - rdm2_f_ovvv += einsum(x92, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_ovvv += einsum(x92, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_vovv += einsum(x92, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - rdm2_f_vovv += einsum(x92, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x93 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x93 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x93 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x94 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x94 += einsum(l2, (0, 1, 2, 3), x93, (3, 4, 1, 5), (4, 2, 5, 0)) - x95 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x95 += einsum(l2, (0, 1, 2, 3), x71, (2, 4, 1, 5), (4, 3, 5, 0)) - del x71 - x96 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x96 += einsum(x87, (0, 1, 2, 3), (0, 1, 2, 3)) - x96 += einsum(x94, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - x96 += einsum(x95, (0, 1, 2, 3), (1, 0, 3, 2)) - del x95 - x97 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x97 += einsum(t1, (0, 1), x96, (0, 2, 3, 4), (2, 3, 4, 1)) - del x96 - x98 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x98 += einsum(x91, (0, 1, 2, 3), (0, 1, 2, 3)) - del x91 - x98 += einsum(x92, (0, 1, 2, 3), (0, 1, 2, 3)) - del x92 - x98 += einsum(x97, (0, 1, 2, 3), (0, 1, 3, 2)) - del x97 - x98 += einsum(t1, (0, 1), x76, (2, 3), (0, 2, 1, 3)) - del x76 - rdm2_f_ovvv += einsum(x98, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_ovvv += einsum(x98, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_ovvv += einsum(x98, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_ovvv += einsum(x98, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_vovv += einsum(x98, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - rdm2_f_vovv += einsum(x98, (0, 1, 2, 3), (1, 0, 3, 2)) - rdm2_f_vovv += einsum(x98, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - rdm2_f_vovv += einsum(x98, (0, 1, 2, 3), (1, 0, 3, 2)) - del x98 - x99 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x99 += einsum(t1, (0, 1), x57, (0, 2, 3, 4), (2, 3, 1, 4)) - del x57 - rdm2_f_ovvv += einsum(x99, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - rdm2_f_ovvv += einsum(x99, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - rdm2_f_vovv += einsum(x99, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - rdm2_f_vovv += einsum(x99, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x99 - x100 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x100 += einsum(x86, (0, 1, 2, 3), (0, 1, 2, 3)) - x100 += einsum(x87, (0, 1, 2, 3), (0, 1, 2, 3)) - x100 += einsum(x94, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x94 - x101 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x101 += einsum(t1, (0, 1), x100, (0, 2, 3, 4), (2, 3, 4, 1)) - del x100 - rdm2_f_ovvv += einsum(x101, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - rdm2_f_ovvv += einsum(x101, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x101 - x102 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x102 += einsum(l2, (0, 1, 2, 3), x93, (3, 4, 1, 5), (4, 2, 5, 0)) * 0.5 - del x93 - x103 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x103 += einsum(x86, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - del x86 - x103 += einsum(x87, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - del x87 - x103 += einsum(x102, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x102 - x104 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x104 += einsum(t1, (0, 1), x103, (0, 2, 3, 4), (2, 3, 4, 1)) * 2.0 - del x103 - rdm2_f_vovv += einsum(x104, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - rdm2_f_vovv += einsum(x104, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x104 - x105 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x105 += einsum(t1, (0, 1), l2, (2, 3, 4, 0), (4, 2, 3, 1)) - rdm2_f_vvov = np.zeros((nvir, nvir, nocc, nvir), dtype=types[float]) - rdm2_f_vvov += einsum(x105, (0, 1, 2, 3), (1, 2, 0, 3)) - rdm2_f_vvov += einsum(x105, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_vvov += einsum(x105, (0, 1, 2, 3), (1, 2, 0, 3)) - rdm2_f_vvov += einsum(x105, (0, 1, 2, 3), (1, 2, 0, 3)) - rdm2_f_vvov += einsum(x105, (0, 1, 2, 3), (1, 2, 0, 3)) - rdm2_f_vvov += einsum(x105, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_vvvo = np.zeros((nvir, nvir, nvir, nocc), dtype=types[float]) - rdm2_f_vvvo += einsum(x105, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - rdm2_f_vvvo += einsum(x105, (0, 1, 2, 3), (2, 1, 3, 0)) - rdm2_f_vvvo += einsum(x105, (0, 1, 2, 3), (2, 1, 3, 0)) - rdm2_f_vvvo += einsum(x105, (0, 1, 2, 3), (2, 1, 3, 0)) - rdm2_f_vvvo += einsum(x105, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - rdm2_f_vvvo += einsum(x105, (0, 1, 2, 3), (2, 1, 3, 0)) - x106 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) - x106 += einsum(l2, (0, 1, 2, 3), t2, (2, 3, 4, 5), (0, 1, 4, 5)) - rdm2_f_vvvv = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) - rdm2_f_vvvv += einsum(x106, (0, 1, 2, 3), (1, 0, 3, 2)) - rdm2_f_vvvv += einsum(x106, (0, 1, 2, 3), (1, 0, 3, 2)) - x107 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) - x107 += einsum(t1, (0, 1), x105, (0, 2, 3, 4), (3, 2, 4, 1)) - del x105 - rdm2_f_vvvv += einsum(x107, (0, 1, 2, 3), (1, 0, 3, 2)) - rdm2_f_vvvv += einsum(x107, (0, 1, 2, 3), (1, 0, 3, 2)) - x108 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) - x108 += einsum(x106, (0, 1, 2, 3), (1, 0, 3, 2)) - del x106 - x108 += einsum(x107, (0, 1, 2, 3), (1, 0, 3, 2)) - del x107 - rdm2_f_vvvv += einsum(x108, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_vvvv += einsum(x108, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_vvvv += einsum(x108, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_vvvv += einsum(x108, (0, 1, 2, 3), (0, 1, 2, 3)) - del x108 - - rdm2_f = pack_2e(rdm2_f_oooo, rdm2_f_ooov, rdm2_f_oovo, rdm2_f_ovoo, rdm2_f_vooo, rdm2_f_oovv, rdm2_f_ovov, rdm2_f_ovvo, rdm2_f_voov, rdm2_f_vovo, rdm2_f_vvoo, rdm2_f_ovvv, rdm2_f_vovv, rdm2_f_vvov, rdm2_f_vvvo, rdm2_f_vvvv) - - rdm2_f = rdm2_f.swapaxes(1, 2) - - return rdm2_f - diff --git a/ebcc/codegen/RCCSDT.py b/ebcc/codegen/RCCSDT.py deleted file mode 100644 index ec6e556a..00000000 --- a/ebcc/codegen/RCCSDT.py +++ /dev/null @@ -1,6763 +0,0 @@ -# Code generated for ebcc. - -from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, Namespace -from ebcc.precision import types - -def energy(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, t3=None, **kwargs): - # energy - e_cc = 0 - e_cc += einsum(f.ov, (0, 1), t1, (0, 1), ()) * 2.0 - x0 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x0 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -0.5 - x0 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x1 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x1 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - x1 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) - e_cc += einsum(x0, (0, 1, 2, 3), x1, (0, 1, 2, 3), ()) * 2.0 - del x0, x1 - - return e_cc - -def update_amps(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, t3=None, **kwargs): - # T amplitudes - t1new = np.zeros((nocc, nvir), dtype=types[float]) - t1new += einsum(f.ov, (0, 1), (0, 1)) - t1new += einsum(f.vv, (0, 1), t1, (2, 1), (2, 0)) - t2new = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - t2new += einsum(t2, (0, 1, 2, 3), v.vvvv, (4, 2, 5, 3), (0, 1, 4, 5)) - t2new += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - t2new += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 5, 1, 3), (4, 0, 5, 2)) * 2.0 - t2new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 2), (4, 0, 3, 5)) * -1.0 - t2new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 3), (4, 0, 5, 2)) * -1.0 - x0 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x0 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x0 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x1 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x1 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - x1 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) - t1new += einsum(x0, (0, 1, 2, 3), x1, (1, 4, 0, 2, 3, 5), (4, 5)) * -0.25 - del x1 - x2 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x2 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -0.3333333333333333 - x2 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - t1new += einsum(x2, (0, 1, 2, 3), t3, (4, 0, 1, 5, 2, 3), (4, 5)) * 1.5 - x3 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x3 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - x3 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) - x4 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x4 += einsum(v.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) - x4 += einsum(v.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 - t1new += einsum(x3, (0, 1, 2, 3), x4, (0, 2, 3, 4), (1, 4)) * 2.0 - x5 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x5 += einsum(t1, (0, 1), v.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) - x6 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x6 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x6 += einsum(v.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x6 += einsum(x5, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x6 += einsum(x5, (0, 1, 2, 3), (0, 2, 1, 3)) * 2.0 - t1new += einsum(t2, (0, 1, 2, 3), x6, (4, 0, 1, 3), (4, 2)) * -1.0 - del x6 - x7 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x7 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -0.5 - x7 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x8 = np.zeros((nocc, nvir), dtype=types[float]) - x8 += einsum(t1, (0, 1), x7, (0, 2, 1, 3), (2, 3)) - x9 = np.zeros((nocc, nvir), dtype=types[float]) - x9 += einsum(f.ov, (0, 1), (0, 1)) * 0.5 - x9 += einsum(x8, (0, 1), (0, 1)) - x10 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x10 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - x10 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t1new += einsum(x9, (0, 1), x10, (0, 2, 3, 1), (2, 3)) * 2.0 - del x10 - x11 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x11 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x11 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - t1new += einsum(t1, (0, 1), x11, (0, 2, 1, 3), (2, 3)) * 2.0 - del x11 - x12 = np.zeros((nocc, nocc), dtype=types[float]) - x12 += einsum(f.ov, (0, 1), t1, (2, 1), (0, 2)) - x13 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x13 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x13 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 - x14 = np.zeros((nocc, nocc), dtype=types[float]) - x14 += einsum(x13, (0, 1, 2, 3), x3, (0, 4, 3, 2), (4, 1)) * 2.0 - x15 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x15 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x15 += einsum(v.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 - x16 = np.zeros((nocc, nocc), dtype=types[float]) - x16 += einsum(t1, (0, 1), x15, (2, 3, 0, 1), (2, 3)) * 2.0 - x17 = np.zeros((nocc, nocc), dtype=types[float]) - x17 += einsum(f.oo, (0, 1), (0, 1)) - x17 += einsum(x12, (0, 1), (0, 1)) - x17 += einsum(x14, (0, 1), (1, 0)) - x17 += einsum(x16, (0, 1), (1, 0)) - del x16 - t1new += einsum(t1, (0, 1), x17, (0, 2), (2, 1)) * -1.0 - t3new = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - t3new += einsum(x17, (0, 1), t3, (2, 0, 3, 4, 5, 6), (2, 1, 3, 4, 5, 6)) * -1.0 - del x17 - x18 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x18 += einsum(t1, (0, 1), v.ooov, (2, 0, 3, 4), (2, 3, 1, 4)) - t2new += einsum(x18, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - x19 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x19 += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 2, 5, 3), (0, 1, 4, 5)) - t2new += einsum(t2, (0, 1, 2, 3), x19, (4, 5, 0, 1), (5, 4, 3, 2)) - x20 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x20 += einsum(t1, (0, 1), v.vvvv, (2, 3, 4, 1), (0, 2, 3, 4)) - t2new += einsum(t1, (0, 1), x20, (2, 3, 1, 4), (0, 2, 3, 4)) - x21 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x21 += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 5, 1, 2), (0, 4, 3, 5)) - t2new += einsum(x21, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x22 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x22 += einsum(f.vv, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4)) - x23 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x23 += einsum(t1, (0, 1), v.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) - x24 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x24 += einsum(t1, (0, 1), v.ooov, (2, 3, 4, 1), (0, 2, 3, 4)) - x25 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x25 += einsum(t2, (0, 1, 2, 3), x24, (4, 5, 0, 1), (4, 5, 2, 3)) - x26 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x26 += einsum(t2, (0, 1, 2, 3), x23, (4, 1, 2, 5), (4, 0, 3, 5)) - x27 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x27 += einsum(x5, (0, 1, 2, 3), t3, (4, 2, 1, 5, 6, 3), (0, 4, 5, 6)) - x28 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x28 += einsum(v.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x28 += einsum(v.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) - x29 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x29 += einsum(x28, (0, 1, 2, 3), t3, (4, 5, 0, 1, 6, 2), (4, 5, 6, 3)) * 0.5 - del x28 - x30 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x30 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x30 += einsum(v.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) - x31 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x31 += einsum(x30, (0, 1, 2, 3), t3, (0, 4, 2, 5, 6, 3), (4, 1, 5, 6)) * 0.5 - del x30 - x32 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x32 += einsum(t1, (0, 1), x4, (2, 3, 1, 4), (0, 2, 3, 4)) * 2.0 - del x4 - x33 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x33 += einsum(t2, (0, 1, 2, 3), x32, (4, 1, 3, 5), (0, 4, 2, 5)) - del x32 - x34 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x34 += einsum(t1, (0, 1), v.oovv, (2, 3, 4, 1), (0, 2, 3, 4)) - x35 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x35 += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 1, 5, 3), (0, 4, 5, 2)) - x36 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x36 += einsum(v.ovov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 1, 3), (4, 5, 0, 6)) - x37 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x37 += einsum(t2, (0, 1, 2, 3), x5, (4, 5, 1, 2), (4, 0, 5, 3)) - x38 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x38 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) * 0.5 - x38 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x38 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - x39 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x39 += einsum(v.ooov, (0, 1, 2, 3), x38, (2, 4, 5, 3), (0, 1, 4, 5)) * 2.0 - x40 = np.zeros((nocc, nvir), dtype=types[float]) - x40 += einsum(t1, (0, 1), x7, (0, 2, 1, 3), (2, 3)) * 2.0 - x41 = np.zeros((nocc, nvir), dtype=types[float]) - x41 += einsum(f.ov, (0, 1), (0, 1)) - x41 += einsum(x40, (0, 1), (0, 1)) - del x40 - x42 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x42 += einsum(x41, (0, 1), t2, (2, 3, 1, 4), (2, 3, 0, 4)) - x43 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x43 += einsum(x34, (0, 1, 2, 3), (2, 0, 1, 3)) - x43 += einsum(x35, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - del x35 - x43 += einsum(x36, (0, 1, 2, 3), (2, 0, 1, 3)) - x43 += einsum(x37, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - x43 += einsum(x39, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - del x39 - x43 += einsum(x42, (0, 1, 2, 3), (2, 1, 0, 3)) - del x42 - x44 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x44 += einsum(t1, (0, 1), x43, (0, 2, 3, 4), (2, 3, 1, 4)) - del x43 - x45 = np.zeros((nocc, nocc), dtype=types[float]) - x45 += einsum(t1, (0, 1), x41, (2, 1), (0, 2)) * 0.5 - del x41 - x46 = np.zeros((nocc, nocc), dtype=types[float]) - x46 += einsum(f.oo, (0, 1), (0, 1)) * 0.5 - x46 += einsum(x45, (0, 1), (0, 1)) - del x45 - x47 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x47 += einsum(x46, (0, 1), t2, (2, 1, 3, 4), (2, 0, 4, 3)) * 2.0 - del x46 - x48 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x48 += einsum(x22, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x22 - x48 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x48 += einsum(x25, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x25 - x48 += einsum(x26, (0, 1, 2, 3), (0, 1, 2, 3)) - del x26 - x48 += einsum(x27, (0, 1, 2, 3), (0, 1, 2, 3)) - del x27 - x48 += einsum(x29, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x29 - x48 += einsum(x31, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x31 - x48 += einsum(x33, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x33 - x48 += einsum(x44, (0, 1, 2, 3), (0, 1, 2, 3)) - del x44 - x48 += einsum(x47, (0, 1, 2, 3), (1, 0, 3, 2)) - del x47 - t2new += einsum(x48, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new += einsum(x48, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x48 - x49 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x49 += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 1, 2, 5, 6, 3), (4, 0, 5, 6)) - x50 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x50 += einsum(x5, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x50 += einsum(x5, (0, 1, 2, 3), (0, 2, 1, 3)) - x51 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x51 += einsum(x50, (0, 1, 2, 3), t3, (2, 4, 1, 5, 6, 3), (4, 0, 5, 6)) * 0.5 - del x50 - x52 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x52 += einsum(x9, (0, 1), t3, (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) * 2.0 - x53 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x53 += einsum(t1, (0, 1), x5, (2, 3, 0, 4), (2, 3, 1, 4)) - x54 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x54 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x54 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * 2.0 - x55 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x55 += einsum(t2, (0, 1, 2, 3), x54, (1, 4, 3, 5), (0, 4, 2, 5)) * 0.5 - x56 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x56 += einsum(x53, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - x56 += einsum(x55, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x55 - x57 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x57 += einsum(t2, (0, 1, 2, 3), x56, (4, 1, 5, 2), (0, 4, 3, 5)) * 2.0 - del x56 - x58 = np.zeros((nvir, nvir), dtype=types[float]) - x58 += einsum(t2, (0, 1, 2, 3), x7, (0, 1, 2, 4), (3, 4)) * 2.0 - x59 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x59 += einsum(v.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x59 += einsum(v.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x60 = np.zeros((nvir, nvir), dtype=types[float]) - x60 += einsum(t1, (0, 1), x59, (0, 1, 2, 3), (2, 3)) - del x59 - x61 = np.zeros((nvir, nvir), dtype=types[float]) - x61 += einsum(x58, (0, 1), (1, 0)) - del x58 - x61 += einsum(x60, (0, 1), (1, 0)) * -1.0 - x62 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x62 += einsum(x61, (0, 1), t2, (2, 3, 0, 4), (2, 3, 4, 1)) - del x61 - x63 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x63 += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 1, 5, 2), (0, 4, 5, 3)) - x64 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x64 += einsum(x0, (0, 1, 2, 3), t3, (4, 5, 0, 3, 6, 2), (4, 5, 1, 6)) * 0.5 - x65 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x65 += einsum(x5, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x65 += einsum(x5, (0, 1, 2, 3), (0, 2, 1, 3)) - x66 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x66 += einsum(t2, (0, 1, 2, 3), x65, (4, 5, 1, 3), (0, 4, 5, 2)) * 2.0 - del x65 - x67 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x67 += einsum(v.ovvv, (0, 1, 2, 3), x3, (4, 5, 3, 1), (0, 4, 5, 2)) - x68 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x68 += einsum(x5, (0, 1, 2, 3), (0, 1, 2, 3)) - x68 += einsum(x63, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x68 += einsum(x64, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x64 - x68 += einsum(x66, (0, 1, 2, 3), (1, 0, 2, 3)) - x68 += einsum(x67, (0, 1, 2, 3), (2, 1, 0, 3)) - del x67 - x69 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x69 += einsum(t1, (0, 1), x68, (2, 3, 0, 4), (2, 3, 1, 4)) - del x68 - x70 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x70 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - x70 += einsum(t1, (0, 1), t2, (2, 3, 4, 5), (2, 0, 3, 1, 4, 5)) * -1.0 - x71 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x71 += einsum(v.ovvv, (0, 1, 2, 3), x70, (0, 4, 5, 1, 6, 3), (4, 5, 2, 6)) - del x70 - x72 = np.zeros((nocc, nocc), dtype=types[float]) - x72 += einsum(t2, (0, 1, 2, 3), x13, (1, 4, 2, 3), (0, 4)) - x73 = np.zeros((nocc, nocc), dtype=types[float]) - x73 += einsum(t1, (0, 1), x15, (2, 3, 0, 1), (2, 3)) - del x15 - x74 = np.zeros((nocc, nocc), dtype=types[float]) - x74 += einsum(x72, (0, 1), (1, 0)) - del x72 - x74 += einsum(x73, (0, 1), (1, 0)) - x75 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x75 += einsum(x74, (0, 1), t2, (2, 0, 3, 4), (2, 1, 4, 3)) * 2.0 - del x74 - x76 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x76 += einsum(x49, (0, 1, 2, 3), (0, 1, 2, 3)) - del x49 - x76 += einsum(x51, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x51 - x76 += einsum(x52, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x52 - x76 += einsum(x57, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x57 - x76 += einsum(x62, (0, 1, 2, 3), (1, 0, 2, 3)) - del x62 - x76 += einsum(x69, (0, 1, 2, 3), (0, 1, 2, 3)) - del x69 - x76 += einsum(x71, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x71 - x76 += einsum(x75, (0, 1, 2, 3), (0, 1, 3, 2)) - del x75 - t2new += einsum(x76, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new += einsum(x76, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x76 - x77 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x77 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x77 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x77 += einsum(t2, (0, 1, 2, 3), x7, (1, 4, 3, 5), (0, 4, 2, 5)) * 2.0 - t2new += einsum(t2, (0, 1, 2, 3), x77, (4, 1, 5, 3), (0, 4, 2, 5)) * 2.0 - del x77 - x78 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x78 += einsum(t1, (0, 1), x5, (2, 3, 4, 1), (2, 0, 4, 3)) - x79 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x79 += einsum(v.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x79 += einsum(x78, (0, 1, 2, 3), (3, 1, 2, 0)) - t2new += einsum(t2, (0, 1, 2, 3), x79, (1, 4, 0, 5), (4, 5, 3, 2)) - del x79 - x80 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x80 += einsum(v.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x80 += einsum(x19, (0, 1, 2, 3), (3, 1, 0, 2)) - x80 += einsum(x78, (0, 1, 2, 3), (3, 1, 0, 2)) - x81 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x81 += einsum(v.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x81 += einsum(t1, (0, 1), x80, (0, 2, 3, 4), (3, 2, 4, 1)) - del x80 - t2new += einsum(t1, (0, 1), x81, (2, 3, 0, 4), (2, 3, 1, 4)) - del x81 - x82 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x82 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x82 += einsum(x21, (0, 1, 2, 3), (0, 1, 2, 3)) - del x21 - t2new += einsum(t2, (0, 1, 2, 3), x82, (4, 1, 5, 2), (4, 0, 5, 3)) - del x82 - x83 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x83 += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 2, 1, 5), (0, 4, 3, 5)) - x84 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x84 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x84 += einsum(x83, (0, 1, 2, 3), (0, 1, 2, 3)) - del x83 - t2new += einsum(t2, (0, 1, 2, 3), x84, (4, 1, 5, 2), (0, 4, 5, 3)) - x85 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x85 += einsum(v.oooo, (0, 1, 2, 3), t3, (3, 4, 1, 5, 6, 7), (4, 0, 2, 7, 5, 6)) - x86 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x86 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - x86 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) * 0.99999999999999 - x87 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x87 += einsum(v.ovov, (0, 1, 2, 3), x86, (2, 4, 5, 1), (4, 0, 5, 3)) - x88 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x88 += einsum(x87, (0, 1, 2, 3), t3, (4, 1, 5, 6, 7, 3), (4, 5, 0, 6, 7, 2)) * 1.00000000000001 - x89 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x89 += einsum(x85, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -0.5 - del x85 - x89 += einsum(x88, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) - del x88 - t3new += einsum(x89, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * -1.0 - t3new += einsum(x89, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) - del x89 - x90 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x90 += einsum(v.oooo, (0, 1, 2, 3), t3, (4, 3, 1, 5, 6, 7), (4, 0, 2, 5, 7, 6)) - x91 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x91 += einsum(x24, (0, 1, 2, 3), t3, (4, 2, 3, 5, 6, 7), (0, 4, 1, 5, 7, 6)) - x92 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x92 += einsum(t1, (0, 1), v.ovvv, (2, 1, 3, 4), (0, 2, 3, 4)) - x93 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x93 += einsum(x92, (0, 1, 2, 3), t3, (4, 5, 1, 6, 3, 7), (0, 4, 5, 6, 7, 2)) - x94 = np.zeros((nocc, nocc), dtype=types[float]) - x94 += einsum(f.oo, (0, 1), (0, 1)) - x94 += einsum(x12, (0, 1), (0, 1)) - del x12 - x94 += einsum(x14, (0, 1), (1, 0)) - del x14 - x95 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x95 += einsum(x94, (0, 1), t3, (2, 3, 0, 4, 5, 6), (2, 3, 1, 6, 4, 5)) - del x94 - x96 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x96 += einsum(x90, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x90 - x96 += einsum(x91, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - del x91 - x96 += einsum(x93, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x93 - x96 += einsum(x95, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) - del x95 - t3new += einsum(x96, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - t3new += einsum(x96, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -1.0 - del x96 - x97 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x97 += einsum(v.ovov, (0, 1, 2, 3), x86, (2, 4, 5, 1), (4, 0, 5, 3)) * 1.00000000000001 - x98 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x98 += einsum(x97, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (4, 5, 0, 6, 7, 2)) - x99 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x99 += einsum(t2, (0, 1, 2, 3), v.oooo, (4, 5, 6, 1), (0, 4, 5, 6, 2, 3)) - x100 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x100 += einsum(t2, (0, 1, 2, 3), x24, (4, 5, 1, 6), (4, 0, 5, 6, 2, 3)) - x101 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x101 += einsum(x99, (0, 1, 2, 3, 4, 5), (0, 2, 3, 1, 4, 5)) * -1.0 - del x99 - x101 += einsum(x100, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x100 - x102 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x102 += einsum(t1, (0, 1), x101, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) - del x101 - x103 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x103 += einsum(x98, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) - del x98 - x103 += einsum(x102, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x102 - t3new += einsum(x103, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - t3new += einsum(x103, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 - t3new += einsum(x103, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -1.0 - t3new += einsum(x103, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) - del x103 - x104 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x104 += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (4, 5, 0, 6, 7, 2)) - x105 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x105 += einsum(v.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x105 += einsum(x63, (0, 1, 2, 3), (0, 1, 2, 3)) - del x63 - x106 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x106 += einsum(t2, (0, 1, 2, 3), x105, (4, 5, 1, 6), (0, 4, 5, 3, 2, 6)) - del x105 - x107 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x107 += einsum(x104, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x104 - x107 += einsum(x106, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - del x106 - t3new += einsum(x107, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - t3new += einsum(x107, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) - t3new += einsum(x107, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) - t3new += einsum(x107, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -1.0 - del x107 - x108 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x108 += einsum(v.vvvv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 3, 1), (4, 6, 5, 7, 0, 2)) - x109 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x109 += einsum(x19, (0, 1, 2, 3), t3, (3, 4, 2, 5, 6, 7), (1, 0, 4, 5, 7, 6)) - x110 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x110 += einsum(v.ovov, (0, 1, 2, 3), t3, (4, 5, 6, 1, 7, 3), (4, 6, 5, 0, 2, 7)) - x111 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x111 += einsum(t2, (0, 1, 2, 3), x110, (4, 5, 6, 0, 1, 7), (4, 5, 6, 2, 3, 7)) - x112 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x112 += einsum(x78, (0, 1, 2, 3), t3, (2, 4, 3, 5, 6, 7), (1, 0, 4, 7, 5, 6)) - del x78 - x113 = np.zeros((nvir, nvir), dtype=types[float]) - x113 += einsum(f.ov, (0, 1), t1, (0, 2), (1, 2)) - x114 = np.zeros((nvir, nvir), dtype=types[float]) - x114 += einsum(x3, (0, 1, 2, 3), x7, (0, 1, 2, 4), (3, 4)) * 2.0 - del x7 - x115 = np.zeros((nvir, nvir), dtype=types[float]) - x115 += einsum(f.vv, (0, 1), (0, 1)) * -1.0 - x115 += einsum(x113, (0, 1), (0, 1)) - x115 += einsum(x114, (0, 1), (1, 0)) - x116 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x116 += einsum(x115, (0, 1), t3, (2, 3, 4, 0, 5, 6), (2, 4, 3, 6, 5, 1)) - del x115 - x117 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x117 += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 1, 5, 6, 7, 3), (4, 5, 0, 2, 6, 7)) - x118 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x118 += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 3, 1), (4, 6, 5, 0, 7, 2)) - x119 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x119 += einsum(t1, (0, 1), x110, (2, 3, 4, 0, 5, 6), (3, 2, 4, 5, 1, 6)) - del x110 - x120 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x120 += einsum(x117, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - del x117 - x120 += einsum(x118, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x118 - x120 += einsum(x119, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 0.5 - del x119 - x121 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x121 += einsum(t1, (0, 1), x120, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) - del x120 - x122 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x122 += einsum(x108, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x108 - x122 += einsum(x109, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 0.5 - del x109 - x122 += einsum(x111, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 0.5 - del x111 - x122 += einsum(x112, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 0.5 - del x112 - x122 += einsum(x116, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) - del x116 - x122 += einsum(x121, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x121 - t3new += einsum(x122, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - t3new += einsum(x122, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 - del x122 - x123 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x123 += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 3), (0, 2, 4, 5)) - x124 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x124 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x124 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x125 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x125 += einsum(v.ovvv, (0, 1, 2, 3), x124, (0, 4, 1, 5), (4, 2, 3, 5)) - x126 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x126 += einsum(v.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) - x126 += einsum(x123, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x123 - x126 += einsum(x125, (0, 1, 2, 3), (0, 3, 2, 1)) - del x125 - x127 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x127 += einsum(t2, (0, 1, 2, 3), x126, (4, 5, 2, 6), (0, 1, 4, 3, 5, 6)) - del x126 - x128 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x128 += einsum(t2, (0, 1, 2, 3), x5, (4, 0, 1, 5), (4, 2, 3, 5)) - x129 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x129 += einsum(t1, (0, 1), x53, (2, 0, 3, 4), (2, 1, 3, 4)) - del x53 - x130 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x130 += einsum(x128, (0, 1, 2, 3), (0, 1, 2, 3)) - del x128 - x130 += einsum(x129, (0, 1, 2, 3), (0, 1, 2, 3)) - del x129 - x131 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x131 += einsum(t2, (0, 1, 2, 3), x130, (4, 5, 6, 2), (0, 1, 4, 3, 5, 6)) - del x130 - x132 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x132 += einsum(x127, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) - del x127 - x132 += einsum(x131, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) - del x131 - t3new += einsum(x132, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - t3new += einsum(x132, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -1.0 - t3new += einsum(x132, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) - t3new += einsum(x132, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -1.0 - t3new += einsum(x132, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 - t3new += einsum(x132, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) - t3new += einsum(x132, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) - t3new += einsum(x132, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 - t3new += einsum(x132, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) * -1.0 - t3new += einsum(x132, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) - t3new += einsum(x132, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -1.0 - t3new += einsum(x132, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) - del x132 - x133 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x133 += einsum(t2, (0, 1, 2, 3), x54, (1, 4, 3, 5), (0, 4, 2, 5)) - del x54 - x134 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x134 += einsum(v.ovov, (0, 1, 2, 3), x86, (2, 4, 5, 3), (4, 0, 5, 1)) - del x86 - x135 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x135 += einsum(x133, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x133 - x135 += einsum(x134, (0, 1, 2, 3), (0, 1, 2, 3)) - del x134 - x136 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x136 += einsum(x135, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (4, 5, 0, 6, 7, 2)) * 1.00000000000001 - del x135 - x137 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x137 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x137 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x138 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x138 += einsum(x137, (0, 1, 2, 3), t3, (0, 4, 1, 5, 6, 2), (4, 5, 6, 3)) - del x137 - x139 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x139 += einsum(t2, (0, 1, 2, 3), x138, (4, 5, 6, 2), (0, 1, 4, 3, 5, 6)) * -0.5 - del x138 - x140 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x140 += einsum(x0, (0, 1, 2, 3), t3, (4, 5, 0, 3, 6, 2), (4, 5, 1, 6)) - del x0 - x141 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x141 += einsum(t2, (0, 1, 2, 3), x140, (4, 5, 1, 6), (0, 4, 5, 3, 2, 6)) * -0.5 - del x140 - x142 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x142 += einsum(x136, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) - del x136 - x142 += einsum(x139, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) - del x139 - x142 += einsum(x141, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) - del x141 - t3new += einsum(x142, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - t3new += einsum(x142, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) - t3new += einsum(x142, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - t3new += einsum(x142, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - t3new += einsum(x142, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) - t3new += einsum(x142, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 - t3new += einsum(x142, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) - t3new += einsum(x142, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -1.0 - del x142 - x143 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x143 += einsum(v.ovov, (0, 1, 2, 3), t3, (4, 0, 2, 5, 6, 1), (4, 5, 6, 3)) - x144 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x144 += einsum(t2, (0, 1, 2, 3), x143, (4, 5, 6, 3), (0, 1, 4, 2, 5, 6)) - del x143 - x145 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x145 += einsum(v.ovov, (0, 1, 2, 3), t3, (4, 2, 5, 1, 6, 3), (4, 5, 0, 6)) - x146 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x146 += einsum(t2, (0, 1, 2, 3), x145, (4, 5, 1, 6), (0, 4, 5, 2, 3, 6)) - del x145 - x147 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x147 += einsum(x144, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 0.5 - del x144 - x147 += einsum(x146, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -0.5 - del x146 - t3new += einsum(x147, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 - t3new += einsum(x147, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) - t3new += einsum(x147, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) - t3new += einsum(x147, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 - del x147 - x148 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x148 += einsum(v.ovov, (0, 1, 2, 3), t3, (4, 0, 2, 5, 6, 3), (4, 5, 6, 1)) - x149 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x149 += einsum(t2, (0, 1, 2, 3), x148, (4, 5, 6, 3), (0, 1, 4, 2, 5, 6)) - del x148 - t3new += einsum(x149, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 - t3new += einsum(x149, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) - t3new += einsum(x149, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 - t3new += einsum(x149, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) - t3new += einsum(x149, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 0.5 - t3new += einsum(x149, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -0.5 - t3new += einsum(x149, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -0.5 - t3new += einsum(x149, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * 0.5 - t3new += einsum(x149, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) - t3new += einsum(x149, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -1.0 - t3new += einsum(x149, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) - t3new += einsum(x149, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -1.0 - del x149 - x150 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x150 += einsum(x2, (0, 1, 2, 3), t3, (4, 0, 1, 5, 2, 6), (4, 6, 5, 3)) - del x2 - x151 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x151 += einsum(t2, (0, 1, 2, 3), x150, (4, 5, 6, 2), (0, 1, 4, 3, 6, 5)) * 1.5 - del x150 - t3new += einsum(x151, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) - t3new += einsum(x151, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -1.0 - del x151 - x152 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x152 += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 1, 6, 3, 7), (4, 5, 0, 6, 7, 2)) - x153 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x153 += einsum(v.ovov, (0, 1, 2, 3), x3, (4, 5, 1, 3), (4, 5, 0, 2)) - x154 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x154 += einsum(x153, (0, 1, 2, 3), t3, (4, 3, 2, 5, 6, 7), (4, 1, 0, 7, 5, 6)) - x155 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x155 += einsum(x73, (0, 1), t3, (2, 3, 1, 4, 5, 6), (2, 3, 0, 6, 4, 5)) * 2.0 - del x73 - x156 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x156 += einsum(x152, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x152 - x156 += einsum(x154, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) - del x154 - x156 += einsum(x155, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) - del x155 - t3new += einsum(x156, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 - t3new += einsum(x156, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) - del x156 - x157 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x157 += einsum(t2, (0, 1, 2, 3), x36, (4, 5, 1, 6), (0, 4, 5, 2, 3, 6)) - del x36 - t3new += einsum(x157, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 - t3new += einsum(x157, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) - t3new += einsum(x157, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 - t3new += einsum(x157, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) - t3new += einsum(x157, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) - t3new += einsum(x157, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -1.0 - t3new += einsum(x157, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) - t3new += einsum(x157, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -1.0 - del x157 - x158 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x158 += einsum(x13, (0, 1, 2, 3), t3, (4, 0, 5, 2, 3, 6), (4, 5, 1, 6)) - del x13 - x159 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x159 += einsum(t2, (0, 1, 2, 3), x158, (4, 5, 1, 6), (0, 5, 4, 3, 2, 6)) * 2.0 - del x158 - t3new += einsum(x159, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) - t3new += einsum(x159, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -1.0 - del x159 - x160 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x160 += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 1, 5, 6, 7, 3), (4, 5, 0, 6, 7, 2)) - x161 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x161 += einsum(v.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) - x161 += einsum(v.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) * -0.5 - x162 = np.zeros((nvir, nvir), dtype=types[float]) - x162 += einsum(t1, (0, 1), x161, (0, 1, 2, 3), (2, 3)) * 2.0 - del x161 - x163 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x163 += einsum(x162, (0, 1), t3, (2, 3, 4, 1, 5, 6), (2, 4, 3, 6, 5, 0)) - del x162 - x164 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x164 += einsum(v.ovov, (0, 1, 2, 3), t3, (4, 5, 6, 7, 3, 1), (4, 6, 5, 0, 2, 7)) - x165 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x165 += einsum(x3, (0, 1, 2, 3), x164, (4, 5, 6, 1, 0, 7), (4, 5, 6, 2, 3, 7)) - del x3, x164 - x166 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x166 += einsum(x160, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x160 - x166 += einsum(x163, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * -1.0 - del x163 - x166 += einsum(x165, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) - del x165 - t3new += einsum(x166, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 - t3new += einsum(x166, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) - del x166 - x167 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x167 += einsum(x87, (0, 1, 2, 3), t3, (4, 5, 1, 6, 3, 7), (4, 5, 0, 7, 6, 2)) * 1.00000000000001 - del x87 - t3new += einsum(x167, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -1.0 - t3new += einsum(x167, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) - del x167 - x168 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x168 += einsum(x92, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (0, 4, 5, 6, 7, 2)) - x169 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x169 += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 6, 1, 7, 3), (4, 6, 5, 0, 7, 2)) - x170 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x170 += einsum(t1, (0, 1), x169, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) - del x169 - x171 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x171 += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 1, 2), (0, 4, 5, 3)) - x172 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x172 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x172 += einsum(v.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x173 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x173 += einsum(t2, (0, 1, 2, 3), x172, (4, 5, 1, 3), (0, 4, 5, 2)) - del x172 - x174 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x174 += einsum(x171, (0, 1, 2, 3), (0, 2, 1, 3)) - del x171 - x174 += einsum(x173, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x173 - x175 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x175 += einsum(t2, (0, 1, 2, 3), x174, (4, 1, 5, 6), (0, 4, 5, 3, 2, 6)) - del x174 - x176 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x176 += einsum(x34, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x176 += einsum(x37, (0, 1, 2, 3), (0, 1, 2, 3)) - del x37 - x177 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x177 += einsum(t2, (0, 1, 2, 3), x176, (4, 5, 1, 6), (0, 4, 5, 3, 2, 6)) - del x176 - x178 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x178 += einsum(x168, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x168 - x178 += einsum(x170, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -0.5 - del x170 - x178 += einsum(x175, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) - del x175 - x178 += einsum(x177, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 - del x177 - t3new += einsum(x178, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) - t3new += einsum(x178, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -1.0 - t3new += einsum(x178, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) * -1.0 - t3new += einsum(x178, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) - del x178 - x179 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x179 += einsum(t1, (0, 1), x23, (2, 3, 1, 4), (0, 2, 3, 4)) - x180 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x180 += einsum(t2, (0, 1, 2, 3), x179, (4, 5, 1, 6), (4, 5, 0, 2, 3, 6)) - del x179 - x181 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x181 += einsum(t2, (0, 1, 2, 3), x5, (4, 1, 5, 2), (4, 0, 5, 3)) - x182 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x182 += einsum(x5, (0, 1, 2, 3), (0, 1, 2, 3)) - x182 += einsum(x181, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x181 - x182 += einsum(x66, (0, 1, 2, 3), (1, 0, 2, 3)) - del x66 - x183 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x183 += einsum(t2, (0, 1, 2, 3), x182, (4, 5, 1, 6), (0, 4, 5, 3, 2, 6)) - del x182 - x184 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x184 += einsum(x180, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x180 - x184 += einsum(x183, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 - del x183 - t3new += einsum(x184, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) - t3new += einsum(x184, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -1.0 - t3new += einsum(x184, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) * -1.0 - t3new += einsum(x184, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) - del x184 - x185 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x185 += einsum(x24, (0, 1, 2, 3), t3, (3, 4, 2, 5, 6, 7), (0, 4, 1, 7, 5, 6)) - x186 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x186 += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (4, 5, 0, 2, 6, 7)) - x187 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x187 += einsum(t1, (0, 1), x186, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) - del x186 - x188 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x188 += einsum(x9, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4)) * 2.0 - x189 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x189 += einsum(t1, (0, 1), x153, (2, 3, 4, 0), (3, 2, 4, 1)) - del x153 - x190 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x190 += einsum(x188, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x188 - x190 += einsum(x189, (0, 1, 2, 3), (1, 0, 2, 3)) - del x189 - x191 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x191 += einsum(t2, (0, 1, 2, 3), x190, (4, 5, 1, 6), (0, 4, 5, 3, 2, 6)) - del x190 - x192 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x192 += einsum(x185, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 0.5 - del x185 - x192 += einsum(x187, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x187 - x192 += einsum(x191, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -1.0 - del x191 - t3new += einsum(x192, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 - t3new += einsum(x192, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) - t3new += einsum(x192, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) - t3new += einsum(x192, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -1.0 - del x192 - x193 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x193 += einsum(t2, (0, 1, 2, 3), x20, (4, 5, 3, 6), (4, 0, 1, 2, 6, 5)) - del x20 - x194 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x194 += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 3, 1, 5), (0, 4, 2, 5)) - x195 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x195 += einsum(v.ovov, (0, 1, 2, 3), x124, (2, 4, 3, 5), (4, 0, 5, 1)) - del x124 - x196 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x196 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x196 += einsum(x194, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x196 += einsum(x195, (0, 1, 2, 3), (0, 1, 2, 3)) - del x195 - x197 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x197 += einsum(t2, (0, 1, 2, 3), x196, (4, 5, 6, 2), (0, 1, 4, 5, 3, 6)) - del x196 - x198 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x198 += einsum(t1, (0, 1), x197, (2, 3, 4, 0, 5, 6), (3, 2, 4, 1, 5, 6)) - del x197 - x199 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x199 += einsum(x193, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x193 - x199 += einsum(x198, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - del x198 - t3new += einsum(x199, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) - t3new += einsum(x199, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -1.0 - t3new += einsum(x199, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - t3new += einsum(x199, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - t3new += einsum(x199, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) - t3new += einsum(x199, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -1.0 - t3new += einsum(x199, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) * -1.0 - t3new += einsum(x199, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) - t3new += einsum(x199, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) - t3new += einsum(x199, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 - t3new += einsum(x199, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -1.0 - t3new += einsum(x199, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) - del x199 - x200 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x200 += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 2, 5, 3), (0, 1, 4, 5)) - x201 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x201 += einsum(t2, (0, 1, 2, 3), x200, (4, 5, 1, 6), (4, 5, 0, 2, 3, 6)) - del x200 - x202 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x202 += einsum(t2, (0, 1, 2, 3), x84, (4, 5, 6, 2), (0, 1, 4, 5, 3, 6)) - del x84 - x203 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x203 += einsum(t1, (0, 1), x202, (2, 3, 4, 0, 5, 6), (3, 2, 4, 1, 5, 6)) * -1.0 - del x202 - x204 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x204 += einsum(x201, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x201 - x204 += einsum(x203, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x203 - t3new += einsum(x204, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - t3new += einsum(x204, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -1.0 - t3new += einsum(x204, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -1.0 - t3new += einsum(x204, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) - t3new += einsum(x204, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) - t3new += einsum(x204, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -1.0 - t3new += einsum(x204, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) * -1.0 - t3new += einsum(x204, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) - t3new += einsum(x204, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) - t3new += einsum(x204, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -1.0 - t3new += einsum(x204, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -1.0 - t3new += einsum(x204, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) - del x204 - x205 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x205 += einsum(x23, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 2), (0, 4, 5, 6, 7, 3)) - t3new += einsum(x205, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - t3new += einsum(x205, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) - t3new += einsum(x205, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 - t3new += einsum(x205, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) - t3new += einsum(x205, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) - t3new += einsum(x205, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -1.0 - t3new += einsum(x205, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) - t3new += einsum(x205, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * -1.0 - del x205 - x206 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x206 += einsum(x92, (0, 1, 2, 3), t3, (4, 1, 5, 6, 7, 3), (0, 4, 5, 6, 7, 2)) - t3new += einsum(x206, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * -1.0 - t3new += einsum(x206, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) - del x206 - x207 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x207 += einsum(v.vvvv, (0, 1, 2, 3), t3, (4, 5, 6, 1, 7, 3), (4, 6, 5, 7, 0, 2)) - x208 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x208 += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 1, 3), (4, 6, 5, 0, 7, 2)) - x209 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x209 += einsum(t1, (0, 1), x208, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) - del x208 - x210 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x210 += einsum(x207, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -0.5 - del x207 - x210 += einsum(x209, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x209 - t3new += einsum(x210, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -1.0 - t3new += einsum(x210, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) - del x210 - x211 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x211 += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 2), (0, 3, 4, 5)) - x212 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x212 += einsum(t2, (0, 1, 2, 3), x211, (4, 5, 3, 6), (0, 1, 4, 2, 5, 6)) - del x211 - x213 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x213 += einsum(t2, (0, 1, 2, 3), x92, (4, 5, 6, 3), (4, 0, 1, 5, 2, 6)) - x214 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x214 += einsum(t1, (0, 1), x213, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) - del x213 - x215 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x215 += einsum(x212, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x212 - x215 += einsum(x214, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x214 - t3new += einsum(x215, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - t3new += einsum(x215, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) - t3new += einsum(x215, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - t3new += einsum(x215, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - t3new += einsum(x215, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 - t3new += einsum(x215, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) - t3new += einsum(x215, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) - t3new += einsum(x215, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 - t3new += einsum(x215, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) - t3new += einsum(x215, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 - t3new += einsum(x215, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) - t3new += einsum(x215, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -1.0 - del x215 - x216 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x216 += einsum(t2, (0, 1, 2, 3), x23, (4, 5, 3, 6), (4, 0, 1, 5, 2, 6)) - x217 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x217 += einsum(t1, (0, 1), x216, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) - del x216 - x218 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x218 += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 0, 1, 5), (4, 2, 3, 5)) - x219 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x219 += einsum(t1, (0, 1), v.ooov, (2, 3, 0, 4), (2, 3, 1, 4)) - x220 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x220 += einsum(t1, (0, 1), x219, (2, 0, 3, 4), (2, 1, 3, 4)) - x221 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x221 += einsum(x218, (0, 1, 2, 3), (0, 1, 2, 3)) - del x218 - x221 += einsum(x220, (0, 1, 2, 3), (0, 1, 2, 3)) - del x220 - x222 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x222 += einsum(t2, (0, 1, 2, 3), x221, (4, 5, 6, 2), (0, 1, 4, 3, 5, 6)) - del x221 - x223 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x223 += einsum(x217, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - del x217 - x223 += einsum(x222, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) - del x222 - t3new += einsum(x223, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - t3new += einsum(x223, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) - t3new += einsum(x223, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -1.0 - t3new += einsum(x223, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) - t3new += einsum(x223, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * -1.0 - t3new += einsum(x223, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) - t3new += einsum(x223, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) - t3new += einsum(x223, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * -1.0 - t3new += einsum(x223, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) - t3new += einsum(x223, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -1.0 - t3new += einsum(x223, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) - t3new += einsum(x223, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -1.0 - del x223 - x224 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x224 += einsum(x24, (0, 1, 2, 3), t3, (4, 3, 2, 5, 6, 7), (0, 4, 1, 5, 7, 6)) - t3new += einsum(x224, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) - t3new += einsum(x224, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) * -1.0 - del x224 - x225 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x225 += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 3), (4, 5, 0, 1, 6, 7)) - x226 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x226 += einsum(t1, (0, 1), x225, (2, 3, 0, 4, 5, 6), (2, 3, 4, 1, 5, 6)) - del x225 - t3new += einsum(x226, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - t3new += einsum(x226, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -1.0 - t3new += einsum(x226, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) - t3new += einsum(x226, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -1.0 - t3new += einsum(x226, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) * -1.0 - t3new += einsum(x226, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) - t3new += einsum(x226, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -1.0 - t3new += einsum(x226, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) - del x226 - x227 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x227 += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 5, 1, 6, 3, 7), (4, 5, 0, 2, 6, 7)) - x228 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x228 += einsum(t1, (0, 1), x227, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) - del x227 - t3new += einsum(x228, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) - t3new += einsum(x228, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -1.0 - del x228 - x229 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x229 += einsum(t1, (0, 1), x24, (2, 3, 0, 4), (2, 3, 4, 1)) - x230 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x230 += einsum(t2, (0, 1, 2, 3), x229, (4, 5, 1, 6), (4, 0, 5, 6, 2, 3)) - del x229 - t3new += einsum(x230, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * -1.0 - t3new += einsum(x230, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) - t3new += einsum(x230, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) - t3new += einsum(x230, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * -1.0 - del x230 - x231 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x231 += einsum(v.ovov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 3), (4, 5, 0, 6, 7, 1)) - t3new += einsum(x231, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - t3new += einsum(x231, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -1.0 - t3new += einsum(x231, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) - t3new += einsum(x231, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 - t3new += einsum(x231, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -1.0 - t3new += einsum(x231, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) - t3new += einsum(x231, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -1.0 - t3new += einsum(x231, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) - del x231 - x232 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x232 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) * 0.499999999999995 - x232 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x232 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - x233 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x233 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x233 += einsum(x18, (0, 1, 2, 3), (1, 0, 3, 2)) - del x18 - x233 += einsum(x23, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x233 += einsum(x194, (0, 1, 2, 3), (1, 0, 3, 2)) * 1.00000000000001 - del x194 - x233 += einsum(v.ovov, (0, 1, 2, 3), x232, (2, 4, 5, 3), (0, 4, 1, 5)) * 2.00000000000002 - del x232 - x234 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x234 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - x234 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 - x234 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) - x234 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -1.0 - t3new += einsum(x233, (0, 1, 2, 3), x234, (0, 4, 5, 2, 6, 7), (4, 1, 5, 7, 3, 6)) - del x233, x234 - x235 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x235 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x235 += einsum(x219, (0, 1, 2, 3), (1, 0, 3, 2)) - del x219 - x235 += einsum(x92, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - x235 += einsum(x97, (0, 1, 2, 3), (1, 0, 3, 2)) - del x97 - t3new += einsum(x235, (0, 1, 2, 3), t3, (4, 0, 5, 6, 2, 7), (4, 1, 5, 6, 3, 7)) - del x235 - x236 = np.zeros((nvir, nvir), dtype=types[float]) - x236 += einsum(f.vv, (0, 1), (0, 1)) * -1.0 - x236 += einsum(x113, (0, 1), (0, 1)) - del x113 - x236 += einsum(x114, (0, 1), (1, 0)) - del x114 - x236 += einsum(x60, (0, 1), (1, 0)) * -1.0 - del x60 - t3new += einsum(x236, (0, 1), t3, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) * -1.0 - del x236 - x237 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x237 += einsum(v.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) - x237 += einsum(x5, (0, 1, 2, 3), (0, 1, 2, 3)) - x238 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x238 += einsum(x237, (0, 1, 2, 3), x38, (1, 4, 5, 3), (4, 0, 2, 5)) - x239 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x239 += einsum(t2, (0, 1, 2, 3), x237, (4, 5, 1, 3), (0, 4, 5, 2)) * 0.5 - x240 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x240 += einsum(t2, (0, 1, 2, 3), x237, (4, 5, 1, 2), (0, 4, 5, 3)) * 0.5 - del x237 - x241 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x241 += einsum(x9, (0, 1), t2, (2, 3, 1, 4), (2, 3, 0, 4)) - del x9 - x242 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x242 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) - x242 += einsum(x92, (0, 1, 2, 3), (0, 1, 3, 2)) - del x92 - x243 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x243 += einsum(t1, (0, 1), x242, (2, 3, 1, 4), (0, 2, 3, 4)) * 0.5 - del x242 - x244 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x244 += einsum(v.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x244 += einsum(x24, (0, 1, 2, 3), (2, 1, 0, 3)) - x244 += einsum(x19, (0, 1, 2, 3), (3, 1, 0, 2)) - x245 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x245 += einsum(t1, (0, 1), x244, (0, 2, 3, 4), (2, 3, 4, 1)) * 0.5 - del x244 - x246 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x246 += einsum(v.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) * -0.5 - x246 += einsum(x5, (0, 1, 2, 3), (1, 2, 0, 3)) * -0.5 - x246 += einsum(x238, (0, 1, 2, 3), (0, 2, 1, 3)) - del x238 - x246 += einsum(x239, (0, 1, 2, 3), (0, 2, 1, 3)) - del x239 - x246 += einsum(x240, (0, 1, 2, 3), (1, 2, 0, 3)) - del x240 - x246 += einsum(x241, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - del x241 - x246 += einsum(x243, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x243 - x246 += einsum(x245, (0, 1, 2, 3), (0, 2, 1, 3)) - del x245 - x247 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x247 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x247 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - t3new += einsum(x246, (0, 1, 2, 3), x247, (1, 4, 5, 6), (4, 0, 2, 5, 3, 6)) * -2.0 - x248 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x248 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) - x248 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t3new += einsum(x246, (0, 1, 2, 3), x248, (1, 4, 5, 6), (2, 0, 4, 5, 3, 6)) * -2.0 - del x246 - x249 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x249 += einsum(v.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x249 += einsum(x24, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 - x250 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x250 += einsum(t1, (0, 1), x249, (0, 2, 3, 4), (2, 3, 4, 1)) - del x249 - x251 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x251 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x251 += einsum(x250, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - del x250 - x252 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x252 += einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), (0, 2, 3, 4)) - x253 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x253 += einsum(t1, (0, 1), x19, (2, 3, 4, 0), (2, 3, 4, 1)) - del x19 - x254 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x254 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) - x254 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x254 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - x255 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x255 += einsum(v.ooov, (0, 1, 2, 3), x254, (1, 4, 5, 3), (0, 2, 4, 5)) - del x254 - x256 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x256 += einsum(x38, (0, 1, 2, 3), x5, (4, 0, 5, 3), (4, 5, 1, 2)) * 2.0 - del x38 - x257 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x257 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) - x257 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x258 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x258 += einsum(v.ooov, (0, 1, 2, 3), x257, (2, 4, 5, 3), (0, 1, 4, 5)) * 2.0 - del x257 - x259 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x259 += einsum(x247, (0, 1, 2, 3), x5, (4, 5, 0, 3), (4, 5, 1, 2)) - del x247 - x260 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x260 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x260 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x260 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) - x261 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x261 += einsum(t1, (0, 1), x260, (2, 3, 1, 4), (0, 2, 3, 4)) - del x260 - x262 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x262 += einsum(x8, (0, 1), t2, (2, 3, 1, 4), (2, 3, 0, 4)) * 2.0 - del x8 - x263 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x263 += einsum(x253, (0, 1, 2, 3), (0, 2, 1, 3)) - x263 += einsum(x255, (0, 1, 2, 3), (2, 1, 0, 3)) - x263 += einsum(x256, (0, 1, 2, 3), (0, 1, 2, 3)) - x263 += einsum(x258, (0, 1, 2, 3), (2, 1, 0, 3)) - x263 += einsum(x259, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x259 - x263 += einsum(x261, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x261 - x263 += einsum(x262, (0, 1, 2, 3), (1, 2, 0, 3)) - x264 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x264 += einsum(x251, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x264 += einsum(x251, (0, 1, 2, 3), (0, 2, 1, 3)) - del x251 - x264 += einsum(x252, (0, 1, 2, 3), (0, 1, 2, 3)) - x264 += einsum(x252, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x264 += einsum(x263, (0, 1, 2, 3), (1, 0, 2, 3)) - x264 += einsum(x263, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - del x263 - t3new += einsum(t2, (0, 1, 2, 3), x264, (1, 4, 5, 6), (4, 0, 5, 6, 2, 3)) * -1.0 - del x264 - x265 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x265 += einsum(t1, (0, 1), v.oooo, (2, 3, 4, 0), (2, 3, 4, 1)) - x266 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x266 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x266 += einsum(x265, (0, 1, 2, 3), (1, 0, 2, 3)) - del x265 - x266 += einsum(x252, (0, 1, 2, 3), (1, 0, 2, 3)) - del x252 - x267 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x267 += einsum(x34, (0, 1, 2, 3), (0, 2, 1, 3)) - del x34 - x267 += einsum(x258, (0, 1, 2, 3), (2, 1, 0, 3)) - del x258 - x268 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x268 += einsum(x248, (0, 1, 2, 3), x5, (4, 5, 0, 2), (4, 5, 1, 3)) - del x5, x248 - x269 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x269 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x269 += einsum(x23, (0, 1, 2, 3), (1, 0, 2, 3)) - del x23 - x270 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x270 += einsum(t1, (0, 1), x269, (2, 3, 1, 4), (0, 2, 3, 4)) - del x269 - x271 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x271 += einsum(x253, (0, 1, 2, 3), (0, 1, 2, 3)) - del x253 - x271 += einsum(x255, (0, 1, 2, 3), (2, 0, 1, 3)) - del x255 - x271 += einsum(x256, (0, 1, 2, 3), (0, 2, 1, 3)) - del x256 - x271 += einsum(x268, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x268 - x271 += einsum(x262, (0, 1, 2, 3), (1, 0, 2, 3)) - del x262 - x271 += einsum(x270, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x270 - x272 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x272 += einsum(t1, (0, 1), x24, (2, 3, 4, 0), (2, 4, 3, 1)) - del x24 - x273 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x273 += einsum(x266, (0, 1, 2, 3), (0, 2, 1, 3)) - x273 += einsum(x266, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - del x266 - x273 += einsum(x267, (0, 1, 2, 3), (0, 1, 2, 3)) - x273 += einsum(x267, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x267 - x273 += einsum(x271, (0, 1, 2, 3), (0, 1, 2, 3)) - x273 += einsum(x271, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x271 - x273 += einsum(x272, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x273 += einsum(x272, (0, 1, 2, 3), (1, 0, 2, 3)) - del x272 - t3new += einsum(t2, (0, 1, 2, 3), x273, (4, 5, 1, 6), (5, 0, 4, 3, 2, 6)) * -1.0 - del x273 - - return {"t1new": t1new, "t2new": t2new, "t3new": t3new} - -def update_lams(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, t3=None, l1=None, l2=None, l3=None, **kwargs): - # L amplitudes - l1new = np.zeros((nvir, nocc), dtype=types[float]) - l1new += einsum(f.ov, (0, 1), (1, 0)) - l2new = np.zeros((nvir, nvir, nocc, nocc), dtype=types[float]) - l2new += einsum(l2, (0, 1, 2, 3), v.vvvv, (4, 1, 5, 0), (4, 5, 3, 2)) - l2new += einsum(v.ovov, (0, 1, 2, 3), (1, 3, 0, 2)) - l2new += einsum(l2, (0, 1, 2, 3), v.oooo, (4, 2, 5, 3), (0, 1, 4, 5)) - l3new = np.zeros((nvir, nvir, nvir, nocc, nocc, nocc), dtype=types[float]) - l3new += einsum(l1, (0, 1), v.ovov, (2, 3, 4, 5), (0, 3, 5, 1, 2, 4)) - l3new += einsum(l1, (0, 1), v.ovov, (2, 3, 4, 5), (5, 3, 0, 1, 2, 4)) * -1.0 - l3new += einsum(l1, (0, 1), v.ovov, (2, 3, 4, 5), (5, 0, 3, 2, 1, 4)) * -1.0 - l3new += einsum(l1, (0, 1), v.ovov, (2, 3, 4, 5), (3, 0, 5, 2, 1, 4)) - l3new += einsum(l1, (0, 1), v.ovov, (2, 3, 4, 5), (0, 5, 3, 2, 4, 1)) * -1.0 - l3new += einsum(l1, (0, 1), v.ovov, (2, 3, 4, 5), (3, 5, 0, 2, 4, 1)) - x0 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x0 += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 3), (4, 5, 0, 1, 6, 7)) - x1 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x1 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x1 += einsum(v.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - x2 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x2 += einsum(x1, (0, 1, 2, 3), t3, (4, 5, 0, 6, 3, 7), (4, 5, 1, 2, 7, 6)) * 0.25 - x3 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x3 += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (4, 5, 0, 2, 6, 7)) - x4 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x4 += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 2, 5, 6, 3, 7), (4, 5, 0, 1, 6, 7)) - x5 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x5 += einsum(t1, (0, 1), v.ooov, (2, 3, 4, 1), (0, 2, 3, 4)) - x6 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x6 += einsum(t2, (0, 1, 2, 3), x5, (4, 5, 1, 6), (4, 0, 5, 6, 2, 3)) - x7 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x7 += einsum(t2, (0, 1, 2, 3), x5, (4, 5, 6, 1), (4, 0, 5, 6, 2, 3)) - x8 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x8 += einsum(t1, (0, 1), v.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) - x9 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x9 += einsum(x8, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (0, 4, 5, 2, 6, 7)) - x10 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x10 += einsum(x8, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x10 += einsum(x8, (0, 1, 2, 3), (0, 2, 1, 3)) - x11 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x11 += einsum(x10, (0, 1, 2, 3), t3, (4, 5, 1, 6, 3, 7), (4, 5, 0, 2, 7, 6)) * 0.25 - x12 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x12 += einsum(x8, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 3), (0, 4, 5, 1, 6, 7)) - x13 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x13 += einsum(x8, (0, 1, 2, 3), t3, (4, 1, 5, 6, 3, 7), (0, 4, 5, 2, 6, 7)) - x14 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x14 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -0.5 - x14 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x15 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x15 += einsum(t2, (0, 1, 2, 3), x14, (1, 4, 3, 5), (0, 4, 2, 5)) - x16 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x16 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x16 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x17 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x17 += einsum(t2, (0, 1, 2, 3), x16, (1, 4, 2, 5), (0, 4, 3, 5)) * 0.5 - x18 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x18 += einsum(x15, (0, 1, 2, 3), (0, 1, 2, 3)) - x18 += einsum(x17, (0, 1, 2, 3), (0, 1, 2, 3)) - x19 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x19 += einsum(t2, (0, 1, 2, 3), x18, (4, 5, 6, 2), (0, 1, 4, 5, 3, 6)) * 2.0 - x20 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x20 += einsum(t1, (0, 1), x8, (2, 3, 4, 1), (0, 2, 3, 4)) - x21 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x21 += einsum(t2, (0, 1, 2, 3), x20, (4, 5, 1, 6), (5, 4, 0, 6, 2, 3)) - x22 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x22 += einsum(v.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x22 += einsum(v.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) - x23 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x23 += einsum(t1, (0, 1), x22, (2, 3, 1, 4), (0, 2, 3, 4)) * -1.0 - x24 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x24 += einsum(t2, (0, 1, 2, 3), x8, (4, 5, 6, 3), (4, 0, 1, 6, 5, 2)) - x25 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x25 += einsum(x24, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - x25 += einsum(x24, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) - x26 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x26 += einsum(x0, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) * 1.25 - x26 += einsum(x0, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) * -0.25 - x26 += einsum(x0, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -0.25 - x26 += einsum(x0, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * 1.25 - del x0 - x26 += einsum(x2, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) - x26 += einsum(x2, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -1.0 - del x2 - x26 += einsum(x3, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) * -0.25 - x26 += einsum(x3, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) * 0.25 - x26 += einsum(x3, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * 0.25 - x26 += einsum(x3, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -1.25 - del x3 - x26 += einsum(x4, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -0.25 - x26 += einsum(x4, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * 0.25 - del x4 - x26 += einsum(x6, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * 0.5 - x26 += einsum(x6, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.5 - x26 += einsum(x7, (0, 1, 2, 3, 4, 5), (0, 3, 1, 2, 4, 5)) * -0.5 - x26 += einsum(x7, (0, 1, 2, 3, 4, 5), (0, 3, 1, 2, 5, 4)) * 0.5 - x26 += einsum(x9, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 1.25 - x26 += einsum(x9, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -0.25 - x26 += einsum(x9, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -0.25 - x26 += einsum(x9, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 1.25 - del x9 - x26 += einsum(x11, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) - x26 += einsum(x11, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -1.0 - del x11 - x26 += einsum(x12, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -0.25 - x26 += einsum(x12, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 0.25 - x26 += einsum(x12, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * 0.25 - x26 += einsum(x12, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.25 - del x12 - x26 += einsum(x13, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -0.25 - x26 += einsum(x13, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 0.25 - del x13 - x26 += einsum(x19, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -1.0 - x26 += einsum(x19, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) * 0.5 - del x19 - x26 += einsum(x21, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 0.5 - x26 += einsum(x21, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.5 - x26 += einsum(x21, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * -0.5 - x26 += einsum(x21, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * 0.5 - x26 += einsum(t2, (0, 1, 2, 3), x23, (4, 5, 3, 6), (4, 0, 1, 5, 2, 6)) * -1.0 - del x23 - x26 += einsum(t1, (0, 1), x25, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 6, 1)) * -1.0 - del x25 - l1new += einsum(l3, (0, 1, 2, 3, 4, 5), x26, (3, 4, 5, 6, 1, 2), (0, 6)) * -1.0 - del x26 - x27 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x27 += einsum(f.ov, (0, 1), t3, (2, 3, 4, 5, 6, 1), (0, 2, 4, 3, 5, 6)) - x28 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x28 += einsum(f.ov, (0, 1), t3, (2, 3, 4, 5, 1, 6), (0, 2, 4, 3, 5, 6)) - x29 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x29 += einsum(x1, (0, 1, 2, 3), t3, (4, 5, 0, 6, 7, 3), (4, 5, 1, 2, 6, 7)) * 1.00000000000004 - x30 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x30 += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 6, 1, 7, 3), (4, 6, 5, 0, 7, 2)) - x31 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x31 += einsum(t2, (0, 1, 2, 3), x18, (4, 5, 6, 2), (0, 1, 4, 5, 3, 6)) * 2.00000000000008 - del x18 - x32 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x32 += einsum(x30, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - x32 += einsum(x31, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) - del x31 - x33 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x33 += einsum(x10, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (4, 5, 0, 2, 6, 7)) * 1.00000000000004 - x34 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x34 += einsum(v.ovov, (0, 1, 2, 3), t3, (4, 5, 6, 1, 7, 3), (4, 6, 5, 0, 2, 7)) - x35 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x35 += einsum(t1, (0, 1), x34, (2, 3, 4, 0, 5, 6), (3, 2, 4, 5, 1, 6)) - del x34 - x36 = np.zeros((nocc, nvir), dtype=types[float]) - x36 += einsum(t1, (0, 1), x14, (0, 2, 1, 3), (2, 3)) - x37 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x37 += einsum(x36, (0, 1), t3, (2, 3, 4, 5, 1, 6), (2, 4, 3, 0, 5, 6)) * 0.6666666666666666 - x38 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x38 += einsum(x36, (0, 1), t3, (2, 3, 4, 1, 5, 6), (2, 4, 3, 0, 6, 5)) * 0.6666666666666666 - x39 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x39 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x39 += einsum(v.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - x39 += einsum(x8, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x39 += einsum(x8, (0, 1, 2, 3), (2, 0, 1, 3)) - x40 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x40 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x40 += einsum(x8, (0, 1, 2, 3), (0, 2, 1, 3)) - x41 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x41 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x41 += einsum(x8, (0, 1, 2, 3), (2, 0, 1, 3)) - x42 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x42 += einsum(x27, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -0.3333333333333333 - x42 += einsum(x27, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * 2.333333333333333 - x42 += einsum(x27, (0, 1, 2, 3, 4, 5), (2, 3, 0, 1, 4, 5)) * 0.3333333333333333 - x42 += einsum(x27, (0, 1, 2, 3, 4, 5), (2, 3, 0, 1, 5, 4)) * -0.3333333333333333 - x42 += einsum(x28, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * 0.3333333333333333 - x42 += einsum(x28, (0, 1, 2, 3, 4, 5), (1, 3, 0, 2, 5, 4)) * -0.3333333333333333 - del x28 - x42 += einsum(x29, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) - x42 += einsum(x29, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -1.0 - del x29 - x42 += einsum(x32, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) - x42 += einsum(x32, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) * -1.0 - del x32 - x42 += einsum(x33, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) - x42 += einsum(x33, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -1.0 - del x33 - x42 += einsum(x35, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -1.0 - x42 += einsum(x35, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 5, 4)) - x42 += einsum(x37, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) - x42 += einsum(x37, (0, 1, 2, 3, 4, 5), (1, 2, 3, 0, 4, 5)) * -1.0 - del x37 - x42 += einsum(x38, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 - x42 += einsum(x38, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * 6.999999999999999 - x42 += einsum(x38, (0, 1, 2, 3, 4, 5), (0, 2, 3, 1, 4, 5)) - x42 += einsum(x38, (0, 1, 2, 3, 4, 5), (0, 2, 3, 1, 5, 4)) * -1.0 - del x38 - x42 += einsum(x39, (0, 1, 2, 3), t3, (4, 5, 0, 6, 3, 7), (4, 5, 2, 1, 6, 7)) * -1.00000000000004 - del x39 - x42 += einsum(x40, (0, 1, 2, 3), t3, (4, 2, 5, 6, 3, 7), (4, 5, 1, 0, 7, 6)) * 1.00000000000004 - x42 += einsum(x41, (0, 1, 2, 3), t3, (4, 0, 5, 3, 6, 7), (4, 5, 2, 1, 6, 7)) * -2.00000000000008 - l1new += einsum(l3, (0, 1, 2, 3, 4, 5), x42, (3, 5, 6, 4, 1, 2), (0, 6)) * -0.24999999999999 - del x42 - x43 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x43 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x43 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * 2.0 - x44 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x44 += einsum(t2, (0, 1, 2, 3), x43, (1, 4, 3, 5), (0, 4, 2, 5)) * 1.5000000000000002 - x45 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x45 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x45 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * 3.0000000000000004 - x46 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x46 += einsum(t2, (0, 1, 2, 3), x45, (1, 4, 2, 5), (0, 4, 3, 5)) * 0.5 - del x45 - x47 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x47 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) - x47 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -2.0 - x47 += einsum(x44, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x44 - x47 += einsum(x46, (0, 1, 2, 3), (0, 1, 2, 3)) - del x46 - x48 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x48 += einsum(t2, (0, 1, 2, 3), x47, (4, 5, 6, 2), (0, 1, 4, 5, 3, 6)) * 6.00000000000024 - del x47 - x49 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x49 += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), (0, 1, 4, 5, 6, 2)) - x50 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x50 += einsum(x49, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -0.5 - x50 += einsum(x49, (0, 1, 2, 3, 4, 5), (0, 1, 3, 4, 2, 5)) - x51 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x51 += einsum(t1, (0, 1), x50, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) * 12.00000000000048 - del x50 - x52 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x52 += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 1, 3), (4, 6, 5, 0, 7, 2)) - x53 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x53 += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 3, 1), (4, 6, 5, 0, 7, 2)) - x54 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x54 += einsum(v.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) - x54 += einsum(v.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 - x55 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x55 += einsum(t1, (0, 1), x54, (2, 3, 1, 4), (0, 2, 3, 4)) - x56 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x56 += einsum(t2, (0, 1, 2, 3), x55, (4, 5, 2, 6), (0, 1, 4, 5, 3, 6)) * 12.00000000000048 - del x55 - x57 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x57 += einsum(v.ovov, (0, 1, 2, 3), t3, (4, 5, 6, 7, 3, 1), (4, 6, 5, 0, 2, 7)) - x58 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x58 += einsum(t1, (0, 1), x57, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - x59 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x59 += einsum(t1, (0, 1), x57, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 1, 6)) - x60 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x60 += einsum(x24, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - x60 += einsum(x24, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -0.5 - x61 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x61 += einsum(t1, (0, 1), x60, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 1, 6)) * 12.00000000000048 - del x60 - x62 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x62 += einsum(x48, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) - x62 += einsum(x48, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 - del x48 - x62 += einsum(x51, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) - x62 += einsum(x51, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 5, 4)) * -1.0 - del x51 - x62 += einsum(x52, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * 2.0 - x62 += einsum(x52, (0, 1, 2, 3, 4, 5), (2, 1, 3, 0, 4, 5)) * -2.0 - x62 += einsum(x30, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 - x62 += einsum(x30, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) - x62 += einsum(x30, (0, 1, 2, 3, 4, 5), (2, 0, 3, 1, 4, 5)) * -1.0 - x62 += einsum(x30, (0, 1, 2, 3, 4, 5), (2, 1, 3, 0, 4, 5)) - x62 += einsum(x53, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -8.0 - x62 += einsum(x53, (0, 1, 2, 3, 4, 5), (2, 1, 3, 0, 4, 5)) * 2.0 - del x53 - x62 += einsum(x56, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) * -1.0 - x62 += einsum(x56, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) - del x56 - x62 += einsum(x58, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * 8.0 - x62 += einsum(x58, (0, 1, 2, 3, 4, 5), (2, 1, 3, 0, 5, 4)) * -2.0 - del x58 - x62 += einsum(x35, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) - x62 += einsum(x35, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 5, 4)) * -1.0 - x62 += einsum(x35, (0, 1, 2, 3, 4, 5), (2, 0, 3, 1, 5, 4)) - x62 += einsum(x35, (0, 1, 2, 3, 4, 5), (2, 1, 3, 0, 5, 4)) * -1.0 - x62 += einsum(x59, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -2.0 - x62 += einsum(x59, (0, 1, 2, 3, 4, 5), (2, 1, 3, 0, 5, 4)) * 2.0 - x62 += einsum(x61, (0, 1, 2, 3, 4, 5), (1, 2, 3, 0, 5, 4)) - x62 += einsum(x61, (0, 1, 2, 3, 4, 5), (2, 1, 3, 0, 5, 4)) * -1.0 - del x61 - l1new += einsum(l3, (0, 1, 2, 3, 4, 5), x62, (5, 3, 6, 4, 2, 1), (0, 6)) * 0.08333333333333 - del x62 - x63 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x63 += einsum(t2, (0, 1, 2, 3), v.oooo, (4, 5, 6, 1), (0, 4, 5, 6, 2, 3)) - x64 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x64 += einsum(x36, (0, 1), t3, (2, 3, 4, 1, 5, 6), (2, 4, 3, 0, 6, 5)) * 0.11111111111110666 - x65 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x65 += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 2, 5, 3), (0, 1, 4, 5)) - x66 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x66 += einsum(t2, (0, 1, 2, 3), x65, (4, 5, 6, 1), (4, 5, 0, 6, 2, 3)) - x67 = np.zeros((nocc, nvir), dtype=types[float]) - x67 += einsum(t1, (0, 1), x14, (0, 2, 1, 3), (2, 3)) * 2.0 - x68 = np.zeros((nocc, nvir), dtype=types[float]) - x68 += einsum(f.ov, (0, 1), (0, 1)) - x68 += einsum(x67, (0, 1), (0, 1)) - l3new += einsum(x68, (0, 1), l2, (2, 3, 4, 5), (1, 2, 3, 0, 4, 5)) - l3new += einsum(x68, (0, 1), l2, (2, 3, 4, 5), (2, 3, 1, 4, 5, 0)) - l3new += einsum(x68, (0, 1), l2, (2, 3, 4, 5), (2, 3, 1, 0, 5, 4)) * -1.0 - l3new += einsum(x68, (0, 1), l2, (2, 3, 4, 5), (1, 2, 3, 5, 4, 0)) * -1.0 - x69 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x69 += einsum(x63, (0, 1, 2, 3, 4, 5), (1, 2, 3, 0, 4, 5)) * 0.3333333333333333 - x69 += einsum(x63, (0, 1, 2, 3, 4, 5), (1, 2, 3, 0, 5, 4)) * -1.0 - x69 += einsum(x63, (0, 1, 2, 3, 4, 5), (1, 3, 2, 0, 4, 5)) * -0.3333333333333333 - x69 += einsum(x63, (0, 1, 2, 3, 4, 5), (1, 3, 2, 0, 5, 4)) * 0.3333333333333333 - x69 += einsum(x27, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -0.05555555555555333 - x69 += einsum(x27, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 0.05555555555555333 - del x27 - x69 += einsum(x7, (0, 1, 2, 3, 4, 5), (2, 3, 0, 1, 4, 5)) * 0.3333333333333333 - x69 += einsum(x7, (0, 1, 2, 3, 4, 5), (2, 3, 0, 1, 5, 4)) * -1.0 - x69 += einsum(x6, (0, 1, 2, 3, 4, 5), (3, 2, 0, 1, 4, 5)) * -0.3333333333333333 - x69 += einsum(x6, (0, 1, 2, 3, 4, 5), (3, 2, 0, 1, 5, 4)) * 0.3333333333333333 - x69 += einsum(x64, (0, 1, 2, 3, 4, 5), (3, 1, 0, 2, 4, 5)) * -1.0 - x69 += einsum(x64, (0, 1, 2, 3, 4, 5), (3, 1, 0, 2, 5, 4)) - del x64 - x69 += einsum(x66, (0, 1, 2, 3, 4, 5), (3, 0, 1, 2, 4, 5)) * 0.3333333333333333 - x69 += einsum(x66, (0, 1, 2, 3, 4, 5), (3, 0, 1, 2, 5, 4)) * -1.0 - x69 += einsum(x66, (0, 1, 2, 3, 4, 5), (3, 1, 0, 2, 4, 5)) * -0.3333333333333333 - x69 += einsum(x66, (0, 1, 2, 3, 4, 5), (3, 1, 0, 2, 5, 4)) * 0.3333333333333333 - x69 += einsum(x68, (0, 1), t3, (2, 3, 4, 5, 1, 6), (0, 2, 4, 3, 5, 6)) * 0.05555555555555333 - l1new += einsum(l3, (0, 1, 2, 3, 4, 5), x69, (6, 5, 4, 3, 1, 2), (0, 6)) * 1.5 - del x69 - x70 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x70 += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 2, 1, 5), (0, 4, 3, 5)) - x71 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x71 += einsum(t2, (0, 1, 2, 3), x70, (4, 5, 6, 3), (0, 1, 4, 5, 2, 6)) - x72 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x72 += einsum(t1, (0, 1), x49, (2, 3, 4, 5, 0, 6), (2, 3, 5, 4, 1, 6)) - x73 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x73 += einsum(t1, (0, 1), x24, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - x74 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x74 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - x74 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) - x74 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) - x75 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x75 += einsum(x71, (0, 1, 2, 3, 4, 5), (3, 1, 0, 2, 4, 5)) * 2.0 - x75 += einsum(x66, (0, 1, 2, 3, 4, 5), (3, 2, 1, 0, 5, 4)) * 2.0 - del x66 - x75 += einsum(x59, (0, 1, 2, 3, 4, 5), (3, 0, 1, 2, 5, 4)) * -1.9999999999999198 - del x59 - x75 += einsum(x72, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) * -2.0 - x75 += einsum(x72, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * 2.0 - x75 += einsum(x73, (0, 1, 2, 3, 4, 5), (3, 1, 2, 0, 5, 4)) * -2.0 - x75 += einsum(x73, (0, 1, 2, 3, 4, 5), (3, 2, 1, 0, 5, 4)) * 2.0 - x75 += einsum(x40, (0, 1, 2, 3), x74, (2, 4, 5, 3, 6, 7), (1, 5, 4, 0, 7, 6)) - del x74 - x75 += einsum(x41, (0, 1, 2, 3), t3, (4, 0, 5, 6, 3, 7), (2, 4, 5, 1, 6, 7)) * -1.0 - del x41 - x75 += einsum(x68, (0, 1), t3, (2, 3, 4, 5, 1, 6), (0, 2, 4, 3, 5, 6)) * 0.99999999999996 - l1new += einsum(l3, (0, 1, 2, 3, 4, 5), x75, (6, 3, 5, 4, 0, 2), (1, 6)) * -0.25 - del x75 - x76 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x76 += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 3, 1, 5), (0, 4, 2, 5)) - x77 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x77 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x77 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x78 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x78 += einsum(v.ovov, (0, 1, 2, 3), x77, (2, 4, 3, 5), (0, 4, 1, 5)) * 0.5 - x79 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x79 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x79 += einsum(x76, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x79 += einsum(x78, (0, 1, 2, 3), (1, 0, 3, 2)) - del x78 - x80 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x80 += einsum(t2, (0, 1, 2, 3), x79, (4, 5, 6, 2), (0, 1, 4, 5, 3, 6)) - del x79 - x81 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x81 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) - x81 += einsum(x70, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x82 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x82 += einsum(t2, (0, 1, 2, 3), x81, (4, 5, 6, 2), (0, 1, 4, 5, 3, 6)) * 2.0 - del x81 - x83 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x83 += einsum(t1, (0, 1), x49, (2, 3, 0, 4, 5, 6), (2, 3, 4, 5, 1, 6)) - x84 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x84 += einsum(x80, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) - x84 += einsum(x80, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 - del x80 - x84 += einsum(x82, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) * -1.0 - x84 += einsum(x82, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * 0.5 - del x82 - x84 += einsum(x72, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * 2.0 - x84 += einsum(x72, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 5, 4)) * -1.0 - del x72 - x84 += einsum(x83, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -1.0 - x84 += einsum(x83, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 5, 4)) - l1new += einsum(l3, (0, 1, 2, 3, 4, 5), x84, (3, 4, 6, 5, 2, 1), (0, 6)) * -1.0 - del x84 - x85 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x85 += einsum(x5, (0, 1, 2, 3), (0, 2, 1, 3)) - x85 += einsum(x5, (0, 1, 2, 3), (0, 3, 2, 1)) * -1.0 - x86 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x86 += einsum(t2, (0, 1, 2, 3), x85, (4, 1, 5, 6), (0, 4, 5, 6, 3, 2)) * 6.0 - del x85 - x87 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x87 += einsum(x65, (0, 1, 2, 3), (1, 0, 3, 2)) - x87 += einsum(x20, (0, 1, 2, 3), (0, 1, 2, 3)) - l2new += einsum(l2, (0, 1, 2, 3), x87, (3, 2, 4, 5), (0, 1, 5, 4)) - x88 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x88 += einsum(t2, (0, 1, 2, 3), x87, (4, 5, 1, 6), (0, 4, 5, 6, 3, 2)) * 3.0 - x89 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x89 += einsum(x63, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * -3.0 - x89 += einsum(x63, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) - x89 += einsum(x63, (0, 1, 2, 3, 4, 5), (3, 0, 2, 1, 4, 5)) * 3.0 - x89 += einsum(x63, (0, 1, 2, 3, 4, 5), (3, 0, 2, 1, 5, 4)) * -1.0 - x89 += einsum(x86, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 5, 4)) * -1.0 - x89 += einsum(x86, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) * 0.3333333333333333 - del x86 - x89 += einsum(x88, (0, 1, 2, 3, 4, 5), (2, 0, 3, 1, 5, 4)) * -1.0 - x89 += einsum(x88, (0, 1, 2, 3, 4, 5), (2, 0, 3, 1, 4, 5)) * 0.3333333333333333 - x89 += einsum(x88, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 5, 4)) - x89 += einsum(x88, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) * -0.3333333333333333 - del x88 - l1new += einsum(l3, (0, 1, 2, 3, 4, 5), x89, (3, 4, 6, 5, 1, 2), (0, 6)) * -0.25 - del x89 - x90 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x90 += einsum(t1, (0, 1), v.ovvv, (2, 1, 3, 4), (0, 2, 3, 4)) - x91 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x91 += einsum(t2, (0, 1, 2, 3), x90, (4, 5, 6, 3), (4, 0, 1, 5, 2, 6)) - x92 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x92 += einsum(v.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x92 += einsum(x5, (0, 1, 2, 3), (2, 1, 0, 3)) - x92 += einsum(x65, (0, 1, 2, 3), (3, 1, 0, 2)) - x93 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x93 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) - x93 += einsum(x90, (0, 1, 2, 3), (0, 1, 3, 2)) - x93 += einsum(x70, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x94 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x94 += einsum(x63, (0, 1, 2, 3, 4, 5), (3, 0, 2, 1, 5, 4)) * -1.0000000000000402 - del x63 - x94 += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 6, 2), (0, 1, 4, 5, 6, 3)) * 1.0000000000000402 - x94 += einsum(x6, (0, 1, 2, 3, 4, 5), (2, 1, 3, 0, 5, 4)) * -1.0000000000000402 - del x6 - x94 += einsum(x52, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -1.0 - del x52 - x94 += einsum(x91, (0, 1, 2, 3, 4, 5), (2, 1, 3, 0, 5, 4)) * 1.0000000000000402 - x94 += einsum(x40, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 3), (4, 5, 1, 0, 6, 7)) * 0.5000000000000201 - x94 += einsum(t2, (0, 1, 2, 3), x92, (1, 4, 5, 6), (4, 0, 6, 5, 2, 3)) * 1.0000000000000402 - del x92 - x94 += einsum(t2, (0, 1, 2, 3), x93, (4, 5, 6, 3), (0, 1, 5, 4, 6, 2)) * -1.0000000000000402 - del x93 - l1new += einsum(l3, (0, 1, 2, 3, 4, 5), x94, (5, 3, 6, 4, 0, 2), (1, 6)) * 0.49999999999997996 - del x94 - x95 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x95 += einsum(t1, (0, 1), x24, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 1, 6)) - del x24 - x96 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x96 += einsum(v.ovov, (0, 1, 2, 3), x77, (2, 4, 3, 5), (0, 4, 1, 5)) - x97 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x97 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x97 += einsum(x76, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x97 += einsum(x96, (0, 1, 2, 3), (1, 0, 3, 2)) - x98 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x98 += einsum(x8, (0, 1, 2, 3), t3, (4, 5, 2, 6, 3, 7), (4, 5, 0, 1, 6, 7)) - x98 += einsum(x95, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * 2.0 - x98 += einsum(x7, (0, 1, 2, 3, 4, 5), (1, 3, 0, 2, 4, 5)) - x98 += einsum(x7, (0, 1, 2, 3, 4, 5), (1, 3, 0, 2, 5, 4)) * -1.0 - del x7 - x98 += einsum(x21, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) - x98 += einsum(x21, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) * -1.0 - del x21 - x98 += einsum(t2, (0, 1, 2, 3), x97, (4, 5, 6, 3), (0, 1, 4, 5, 2, 6)) * -2.0 - del x97 - l1new += einsum(l3, (0, 1, 2, 3, 4, 5), x98, (3, 4, 5, 6, 0, 2), (1, 6)) * 0.5 - del x98 - x99 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x99 += einsum(t1, (0, 1), v.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) - x100 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x100 += einsum(t2, (0, 1, 2, 3), x99, (4, 5, 3, 6), (4, 0, 1, 5, 2, 6)) - x101 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x101 += einsum(x71, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 0.25 - del x71 - x101 += einsum(x100, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) * 0.5 - x101 += einsum(x100, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -0.5 - x101 += einsum(x91, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) * -1.0 - x101 += einsum(x91, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * 0.5 - del x91 - x101 += einsum(x73, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) - x101 += einsum(x73, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -0.5 - del x73 - x101 += einsum(x95, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -0.5 - x101 += einsum(x95, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * 0.5 - del x95 - l1new += einsum(l3, (0, 1, 2, 3, 4, 5), x101, (5, 4, 3, 6, 2, 1), (0, 6)) * 2.0 - del x101 - x102 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x102 += einsum(v.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) - x102 += einsum(v.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x103 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x103 += einsum(x57, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - x103 += einsum(x57, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) - x104 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x104 += einsum(x30, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - x104 += einsum(x30, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * -1.0 - del x30 - x104 += einsum(x35, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 - x104 += einsum(x35, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) - del x35 - x104 += einsum(x102, (0, 1, 2, 3), t3, (4, 5, 6, 7, 1, 2), (4, 6, 5, 0, 7, 3)) * -2.0 - del x102 - x104 += einsum(t1, (0, 1), x103, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 6, 1)) * -2.0 - del x103 - l1new += einsum(l3, (0, 1, 2, 3, 4, 5), x104, (5, 4, 3, 6, 2, 1), (0, 6)) * 0.08333333333333 - del x104 - x105 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x105 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x105 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x105 += einsum(x15, (0, 1, 2, 3), (0, 1, 2, 3)) - del x15 - x105 += einsum(x17, (0, 1, 2, 3), (0, 1, 2, 3)) - del x17 - x106 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x106 += einsum(x49, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 - x106 += einsum(x49, (0, 1, 2, 3, 4, 5), (0, 1, 3, 4, 2, 5)) - del x49 - x107 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x107 += einsum(t2, (0, 1, 2, 3), x105, (4, 5, 6, 3), (0, 1, 5, 4, 2, 6)) * 2.0 - del x105 - x107 += einsum(t1, (0, 1), x106, (2, 3, 4, 5, 0, 6), (2, 3, 5, 4, 6, 1)) * -2.0 - del x106 - l1new += einsum(l3, (0, 1, 2, 3, 4, 5), x107, (4, 3, 6, 5, 1, 2), (0, 6)) * -0.5 - del x107 - x108 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x108 += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 5, 1, 6, 3, 7), (4, 5, 0, 2, 6, 7)) * 0.5 - x108 += einsum(x83, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - del x83 - x108 += einsum(x100, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) - del x100 - l1new += einsum(l3, (0, 1, 2, 3, 4, 5), x108, (3, 4, 5, 6, 0, 2), (1, 6)) - del x108 - x109 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x109 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (3, 6, 5, 7, 1, 2), (4, 6, 0, 7)) - x110 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x110 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 4, 3, 2, 7, 0), (5, 6, 1, 7)) - x111 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x111 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (3, 6, 5, 0, 7, 2), (4, 6, 1, 7)) - x112 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x112 += einsum(t1, (0, 1), l3, (2, 3, 1, 4, 5, 6), (4, 6, 5, 0, 2, 3)) - l3new += einsum(v.ooov, (0, 1, 2, 3), x112, (4, 5, 1, 0, 6, 7), (6, 3, 7, 4, 2, 5)) - x113 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x113 += einsum(t2, (0, 1, 2, 3), x112, (0, 4, 1, 5, 6, 3), (4, 5, 6, 2)) - x114 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x114 += einsum(t2, (0, 1, 2, 3), x112, (0, 4, 1, 5, 2, 6), (4, 5, 6, 3)) - x115 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x115 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) - x115 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 5.0 - x115 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 - x115 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 - x115 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * -1.0 - x115 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) - x116 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x116 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - x116 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - x116 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) - x117 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x117 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) - x117 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x118 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x118 += einsum(t1, (0, 1), l3, (2, 1, 3, 4, 5, 6), (4, 6, 5, 0, 2, 3)) - l3new += einsum(x8, (0, 1, 2, 3), x118, (4, 5, 0, 1, 6, 7), (7, 3, 6, 5, 2, 4)) - l3new += einsum(x68, (0, 1), x118, (2, 3, 4, 0, 5, 6), (6, 1, 5, 3, 4, 2)) * -1.0 - x119 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x119 += einsum(x118, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - x119 += einsum(x118, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) - x120 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x120 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.5 - x120 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - x121 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x121 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - x121 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x122 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x122 += einsum(t1, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2)) - x123 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x123 += einsum(t2, (0, 1, 2, 3), l3, (4, 2, 3, 1, 5, 6), (6, 5, 0, 4)) - x124 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x124 += einsum(t2, (0, 1, 2, 3), l3, (4, 3, 2, 1, 5, 6), (6, 5, 0, 4)) - x125 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x125 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.3333333333333333 - x125 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - x126 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x126 += einsum(x125, (0, 1, 2, 3), l3, (4, 2, 3, 5, 0, 6), (6, 5, 1, 4)) * 0.75 - x127 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x127 += einsum(x122, (0, 1, 2, 3), (0, 1, 2, 3)) - x127 += einsum(x122, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.5 - x127 += einsum(x123, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.75 - x127 += einsum(x123, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.25 - x127 += einsum(x124, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.25 - x127 += einsum(x124, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.25 - x127 += einsum(x126, (0, 1, 2, 3), (1, 0, 2, 3)) - x127 += einsum(x117, (0, 1, 2, 3), l3, (2, 4, 3, 0, 5, 6), (5, 6, 1, 4)) * -0.25 - x128 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x128 += einsum(x109, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x128 += einsum(x110, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x128 += einsum(x111, (0, 1, 2, 3), (0, 1, 2, 3)) - x128 += einsum(x113, (0, 1, 2, 3), (0, 1, 3, 2)) * 4.0 - x128 += einsum(x114, (0, 1, 2, 3), (0, 1, 3, 2)) * 4.0 - x128 += einsum(l3, (0, 1, 2, 3, 4, 5), x115, (5, 6, 4, 2, 7, 1), (3, 6, 0, 7)) - x128 += einsum(l3, (0, 1, 2, 3, 4, 5), x116, (3, 6, 5, 1, 7, 2), (4, 6, 0, 7)) - x128 += einsum(x117, (0, 1, 2, 3), x119, (0, 1, 4, 5, 6, 3), (4, 5, 2, 6)) * -4.0 - del x119 - x128 += einsum(l2, (0, 1, 2, 3), x120, (3, 4, 1, 5), (2, 4, 0, 5)) * 8.0 - x128 += einsum(l2, (0, 1, 2, 3), x121, (2, 4, 1, 5), (3, 4, 0, 5)) * 4.0 - x128 += einsum(t1, (0, 1), x127, (0, 2, 3, 4), (2, 3, 1, 4)) * 8.0 - del x127 - l1new += einsum(v.ovvv, (0, 1, 2, 3), x128, (4, 0, 3, 2), (1, 4)) * -0.25 - del x128 - x129 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x129 += einsum(t1, (0, 1), l2, (2, 3, 4, 0), (4, 2, 3, 1)) - x130 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x130 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x130 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - x131 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x131 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * -1.0 - x131 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) * 0.3333333333333333 - x131 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 3, 5, 0, 1, 2)) * 0.3333333333333333 - x132 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x132 += einsum(x129, (0, 1, 2, 3), (0, 1, 2, 3)) - x132 += einsum(x130, (0, 1, 2, 3), l3, (4, 5, 2, 1, 6, 0), (6, 4, 5, 3)) * -0.125 - x132 += einsum(t2, (0, 1, 2, 3), x131, (0, 4, 1, 5, 2, 6), (4, 5, 6, 3)) * 0.75 - del x131 - l1new += einsum(v.vvvv, (0, 1, 2, 3), x132, (4, 1, 2, 3), (0, 4)) * 2.0 - del x132 - x133 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x133 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * -1.0 - x133 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) - x133 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 3, 5, 0, 1, 2)) - x134 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x134 += einsum(x129, (0, 1, 2, 3), (0, 1, 2, 3)) - del x129 - x134 += einsum(x130, (0, 1, 2, 3), l3, (4, 5, 2, 1, 6, 0), (6, 4, 5, 3)) * -0.75 - x134 += einsum(t2, (0, 1, 2, 3), x133, (0, 4, 1, 5, 2, 6), (4, 5, 6, 3)) * 0.5 - del x133 - l1new += einsum(v.vvvv, (0, 1, 2, 3), x134, (4, 2, 1, 3), (0, 4)) * -1.0 - del x134 - x135 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x135 += einsum(l2, (0, 1, 2, 3), t3, (4, 5, 3, 6, 0, 1), (2, 4, 5, 6)) - x136 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x136 += einsum(l1, (0, 1), t2, (2, 3, 4, 0), (1, 2, 3, 4)) - x137 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x137 += einsum(t1, (0, 1), x122, (2, 3, 4, 1), (3, 2, 4, 0)) - l2new += einsum(v.ovov, (0, 1, 2, 3), x137, (4, 5, 0, 2), (3, 1, 5, 4)) - x138 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x138 += einsum(t1, (0, 1), x137, (0, 2, 3, 4), (2, 4, 3, 1)) - x139 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x139 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 4, 7, 0, 1, 2), (3, 5, 6, 7)) - x140 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x140 += einsum(t1, (0, 1), x139, (0, 2, 3, 4), (2, 4, 3, 1)) - x141 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x141 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * -1.0 - x141 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) - x142 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x142 += einsum(t1, (0, 1), x141, (2, 3, 4, 1, 5, 6), (0, 2, 3, 4, 5, 6)) - l3new += einsum(x8, (0, 1, 2, 3), x142, (2, 4, 5, 0, 6, 7), (6, 3, 7, 5, 1, 4)) * -1.0 - x143 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x143 += einsum(t1, (0, 1), x142, (2, 3, 4, 5, 1, 6), (0, 4, 3, 5, 2, 6)) * -1.0 - del x142 - x144 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x144 += einsum(t2, (0, 1, 2, 3), x143, (4, 5, 0, 1, 6, 3), (5, 4, 6, 2)) * -0.25 - del x143 - x145 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x145 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 3, 4, 0, 1, 2)) - x145 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) - x146 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x146 += einsum(t2, (0, 1, 2, 3), x145, (1, 4, 0, 5, 2, 6), (4, 3, 5, 6)) - del x145 - x147 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x147 += einsum(t2, (0, 1, 2, 3), x146, (4, 5, 3, 2), (0, 1, 4, 5)) * 0.25 - del x146 - x148 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x148 += einsum(x140, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.124999999999995 - del x140 - x148 += einsum(x144, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x144 - x148 += einsum(x147, (0, 1, 2, 3), (2, 1, 0, 3)) - del x147 - x149 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x149 += einsum(t2, (0, 1, 2, 3), l3, (4, 5, 2, 0, 1, 6), (6, 4, 5, 3)) - x150 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x150 += einsum(t2, (0, 1, 2, 3), x149, (4, 2, 3, 5), (4, 0, 1, 5)) - x151 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x151 += einsum(t1, (0, 1), x118, (2, 3, 4, 5, 6, 1), (2, 3, 4, 0, 5, 6)) - x152 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x152 += einsum(t2, (0, 1, 2, 3), x151, (1, 4, 0, 5, 6, 3), (4, 5, 6, 2)) - x153 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x153 += einsum(x150, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.25 - del x150 - x153 += einsum(x152, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.25 - del x152 - x154 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x154 += einsum(x130, (0, 1, 2, 3), x151, (0, 1, 4, 5, 6, 2), (4, 5, 6, 3)) * 0.375 - x155 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x155 += einsum(x117, (0, 1, 2, 3), l3, (4, 5, 2, 1, 6, 0), (6, 4, 5, 3)) - x156 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x156 += einsum(t2, (0, 1, 2, 3), x155, (4, 3, 2, 5), (0, 1, 4, 5)) * -0.375 - x157 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x157 += einsum(x154, (0, 1, 2, 3), (0, 1, 2, 3)) - del x154 - x157 += einsum(x156, (0, 1, 2, 3), (2, 1, 0, 3)) - del x156 - x158 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x158 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 0.2 - x158 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - x158 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -0.2 - x158 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -0.2 - x158 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 0.2 - x158 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -0.2 - x158 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * -0.2 - x158 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) - x159 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x159 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) - x159 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 0, 2)) - x160 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x160 += einsum(t1, (0, 1), x159, (2, 3, 4, 1, 5, 6), (0, 2, 3, 4, 5, 6)) - x161 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x161 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - x161 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) - x161 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) - x162 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x162 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * -0.3333333333333333 - x162 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) * 0.3333333333333333 - x162 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 0, 2)) - x162 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 0, 2)) * -0.3333333333333333 - x163 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x163 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) - x163 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) * -1.0 - x163 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 0, 2)) * -1.0 - x163 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 0, 2)) * 3.0 - x164 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x164 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) - x164 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.0 - x164 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 - x165 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x165 += einsum(t2, (0, 1, 2, 3), l3, (4, 2, 3, 5, 6, 1), (5, 6, 0, 4)) - x166 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x166 += einsum(x125, (0, 1, 2, 3), l3, (4, 2, 3, 5, 0, 6), (6, 5, 1, 4)) * 0.1875 - x167 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x167 += einsum(t2, (0, 1, 2, 3), l3, (4, 3, 2, 5, 6, 1), (5, 6, 0, 4)) - x168 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x168 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * 1.3333333333333333 - x168 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) * -1.0 - x169 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x169 += einsum(x122, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - x169 += einsum(x122, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x169 += einsum(x165, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.0625 - x169 += einsum(x165, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.75 - x169 += einsum(x166, (0, 1, 2, 3), (1, 0, 2, 3)) - x169 += einsum(x166, (0, 1, 2, 3), (0, 1, 2, 3)) * -3.0 - del x166 - x169 += einsum(x167, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.0625 - x169 += einsum(x167, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.25 - x169 += einsum(x117, (0, 1, 2, 3), x168, (0, 4, 5, 2, 3, 6), (4, 5, 1, 6)) * 0.1875 - x170 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x170 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 7, 4, 1, 0, 2), (5, 3, 6, 7)) - x171 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x171 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 7, 3, 2, 1, 0), (5, 4, 6, 7)) - x172 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x172 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 7, 3, 2, 0, 1), (5, 4, 6, 7)) - x173 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x173 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 7, 3, 1, 2, 0), (5, 4, 6, 7)) - x174 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x174 += einsum(t1, (0, 1), x167, (2, 3, 4, 1), (2, 3, 0, 4)) - x175 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x175 += einsum(x172, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.16666666666666 - x175 += einsum(x173, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.16666666666666 - x175 += einsum(x174, (0, 1, 2, 3), (0, 1, 2, 3)) - del x174 - x176 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x176 += einsum(t1, (0, 1), x165, (2, 3, 4, 1), (2, 3, 0, 4)) - x177 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x177 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - x177 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - x178 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x178 += einsum(l3, (0, 1, 2, 3, 4, 5), x177, (4, 6, 7, 0, 2, 1), (3, 5, 6, 7)) * 0.16666666666666 - x179 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x179 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x179 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0 - x180 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x180 += einsum(x179, (0, 1, 2, 3), l3, (4, 2, 3, 5, 0, 6), (5, 6, 1, 4)) * 0.3333333333333333 - x180 += einsum(x130, (0, 1, 2, 3), l3, (3, 4, 2, 5, 6, 0), (6, 5, 1, 4)) * 0.3333333333333333 - x181 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x181 += einsum(x170, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.16666666666666 - x181 += einsum(x171, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.16666666666662 - x181 += einsum(x171, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.16666666666666 - x181 += einsum(x175, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x181 += einsum(x175, (0, 1, 2, 3), (1, 0, 2, 3)) - x181 += einsum(x176, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0 - x181 += einsum(x176, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x181 += einsum(x178, (0, 1, 2, 3), (1, 0, 2, 3)) - x181 += einsum(t1, (0, 1), x180, (2, 3, 4, 1), (2, 3, 0, 4)) * 3.0 - del x180 - x182 = np.zeros((nocc, nocc), dtype=types[float]) - x182 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (3, 6, 5, 0, 1, 2), (4, 6)) - x183 = np.zeros((nocc, nocc), dtype=types[float]) - x183 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 4, 3, 1, 2, 0), (5, 6)) - x184 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x184 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * -1.0 - x184 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 2, 1)) - x185 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x185 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - x185 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 - x186 = np.zeros((nocc, nocc), dtype=types[float]) - x186 += einsum(x184, (0, 1, 2, 3, 4, 5), x185, (1, 6, 0, 3, 4, 5), (2, 6)) * 0.041666666666665 - x187 = np.zeros((nocc, nocc), dtype=types[float]) - x187 += einsum(t3, (0, 1, 2, 3, 4, 5), x184, (1, 2, 6, 5, 4, 3), (0, 6)) * 0.041666666666665 - x188 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x188 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - x188 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -0.14285714285714288 - x189 = np.zeros((nocc, nocc), dtype=types[float]) - x189 += einsum(l3, (0, 1, 2, 3, 4, 5), x188, (3, 6, 4, 0, 2, 1), (5, 6)) * 0.291666666666655 - x190 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x190 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) - x190 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x191 = np.zeros((nocc, nocc), dtype=types[float]) - x191 += einsum(l2, (0, 1, 2, 3), x190, (3, 4, 0, 1), (2, 4)) - x192 = np.zeros((nocc, nocc), dtype=types[float]) - x192 += einsum(x182, (0, 1), (0, 1)) * 0.124999999999995 - x192 += einsum(x183, (0, 1), (0, 1)) * -0.041666666666665 - x192 += einsum(x186, (0, 1), (0, 1)) * -1.0 - del x186 - x192 += einsum(x187, (0, 1), (1, 0)) - del x187 - x192 += einsum(x189, (0, 1), (0, 1)) - del x189 - x192 += einsum(x191, (0, 1), (0, 1)) - x193 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x193 += einsum(x135, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.75 - x193 += einsum(t3, (0, 1, 2, 3, 4, 5), x112, (1, 2, 6, 7, 4, 5), (6, 0, 7, 3)) * -0.125 - x193 += einsum(t3, (0, 1, 2, 3, 4, 5), x118, (1, 2, 6, 7, 5, 4), (6, 0, 7, 3)) * -0.125 - x193 += einsum(x136, (0, 1, 2, 3), (0, 1, 2, 3)) - x193 += einsum(x136, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 - del x136 - x193 += einsum(x122, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x193 += einsum(x122, (0, 1, 2, 3), (1, 0, 2, 3)) - x193 += einsum(x138, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - x193 += einsum(x138, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x138 - x193 += einsum(x148, (0, 1, 2, 3), (0, 1, 2, 3)) - x193 += einsum(x148, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x148 - x193 += einsum(x153, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x193 += einsum(x153, (0, 1, 2, 3), (0, 2, 1, 3)) * 3.0 - del x153 - x193 += einsum(x157, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x193 += einsum(x157, (0, 1, 2, 3), (0, 2, 1, 3)) * 0.3333333333333333 - del x157 - x193 += einsum(x112, (0, 1, 2, 3, 4, 5), x158, (0, 6, 2, 4, 7, 5), (1, 6, 3, 7)) * 0.625 - x193 += einsum(x160, (0, 1, 2, 3, 4, 5), x161, (1, 6, 2, 5, 4, 7), (3, 6, 0, 7)) * 0.125 - x193 += einsum(t2, (0, 1, 2, 3), x162, (1, 4, 5, 2, 3, 6), (4, 5, 0, 6)) * 0.75 - del x162 - x193 += einsum(t2, (0, 1, 2, 3), x163, (1, 4, 5, 3, 2, 6), (4, 5, 0, 6)) * 0.25 - del x163 - x193 += einsum(l2, (0, 1, 2, 3), x164, (2, 4, 5, 1, 6, 0), (3, 4, 5, 6)) * -0.125 - del x164 - x193 += einsum(x120, (0, 1, 2, 3), x169, (4, 0, 5, 2), (4, 1, 5, 3)) * -2.0 - del x169 - x193 += einsum(t1, (0, 1), x181, (2, 0, 3, 4), (2, 4, 3, 1)) * -0.25 - del x181 - x193 += einsum(t1, (0, 1), x192, (2, 3), (2, 0, 3, 1)) * 2.0 - l1new += einsum(v.ovov, (0, 1, 2, 3), x193, (4, 0, 2, 1), (3, 4)) * -2.0 - del x193 - x194 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x194 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 5, 3, 7, 2, 1), (4, 6, 0, 7)) - x195 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x195 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 3, 5, 7, 2, 0), (4, 6, 1, 7)) - x196 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x196 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - x196 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) - x197 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x197 += einsum(l2, (0, 1, 2, 3), (3, 2, 0, 1)) * -0.5 - x197 += einsum(l2, (0, 1, 2, 3), (2, 3, 0, 1)) - x198 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x198 += einsum(l2, (0, 1, 2, 3), (2, 3, 0, 1)) * 8.0 - x198 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (3, 6, 5, 2, 7, 1), (4, 6, 0, 7)) - x198 += einsum(x111, (0, 1, 2, 3), (0, 1, 2, 3)) - del x111 - x198 += einsum(x194, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x198 += einsum(x195, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x198 += einsum(l3, (0, 1, 2, 3, 4, 5), x158, (5, 6, 4, 2, 7, 1), (3, 6, 0, 7)) * 5.0 - del x158 - x198 += einsum(x159, (0, 1, 2, 3, 4, 5), x196, (1, 6, 0, 3, 4, 7), (2, 6, 5, 7)) - x198 += einsum(x120, (0, 1, 2, 3), x197, (0, 4, 2, 5), (4, 1, 5, 3)) * 16.0 - l1new += einsum(v.ovvv, (0, 1, 2, 3), x198, (4, 0, 3, 1), (2, 4)) * 0.25 - del x198 - x199 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x199 += einsum(x117, (0, 1, 2, 3), l3, (2, 4, 3, 0, 5, 6), (6, 5, 1, 4)) * 0.5 - x200 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x200 += einsum(x122, (0, 1, 2, 3), (0, 1, 2, 3)) - x200 += einsum(x122, (0, 1, 2, 3), (1, 0, 2, 3)) * -2.0 - x200 += einsum(x123, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x200 += einsum(x123, (0, 1, 2, 3), (1, 0, 2, 3)) * 1.5 - x200 += einsum(x124, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - x200 += einsum(x124, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.5 - x200 += einsum(x125, (0, 1, 2, 3), l3, (4, 2, 3, 5, 0, 6), (5, 6, 1, 4)) * 1.5 - x200 += einsum(x199, (0, 1, 2, 3), (0, 1, 2, 3)) - x201 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x201 += einsum(l2, (0, 1, 2, 3), (3, 2, 0, 1)) * -2.0 - x201 += einsum(x113, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x113 - x201 += einsum(x130, (0, 1, 2, 3), x160, (4, 1, 0, 5, 2, 6), (5, 4, 6, 3)) * -1.0 - del x160 - x201 += einsum(x190, (0, 1, 2, 3), x118, (4, 1, 0, 5, 2, 6), (4, 5, 6, 3)) * 4.0 - x201 += einsum(t1, (0, 1), x200, (0, 2, 3, 4), (2, 3, 4, 1)) * 2.0 - del x200 - l1new += einsum(v.ovvv, (0, 1, 2, 3), x201, (4, 0, 3, 1), (2, 4)) * 0.5 - del x201 - x202 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x202 += einsum(l2, (0, 1, 2, 3), t3, (4, 3, 5, 6, 1, 0), (2, 4, 5, 6)) - x203 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x203 += einsum(l2, (0, 1, 2, 3), t2, (4, 5, 0, 1), (2, 3, 4, 5)) - l2new += einsum(v.ovov, (0, 1, 2, 3), x203, (4, 5, 0, 2), (1, 3, 4, 5)) - x204 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x204 += einsum(t1, (0, 1), x203, (2, 0, 3, 4), (2, 3, 4, 1)) - x205 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x205 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - x205 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - x205 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) - x205 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 2.0 - x206 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x206 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) - x206 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 0.6666666666666666 - x206 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 - x207 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x207 += einsum(x124, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.75 - del x124 - x207 += einsum(x126, (0, 1, 2, 3), (1, 0, 2, 3)) - x207 += einsum(x126, (0, 1, 2, 3), (0, 1, 2, 3)) * -3.0 - x207 += einsum(x167, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.25 - x207 += einsum(x167, (0, 1, 2, 3), (1, 0, 2, 3)) - x208 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x208 += einsum(t2, (0, 1, 2, 3), l3, (3, 4, 2, 1, 5, 6), (6, 5, 0, 4)) - x209 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x209 += einsum(x208, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.25 - x209 += einsum(x122, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x209 += einsum(x122, (0, 1, 2, 3), (1, 0, 2, 3)) - x209 += einsum(x165, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.0625 - x209 += einsum(x165, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.75 - x209 += einsum(t2, (0, 1, 2, 3), x168, (1, 4, 5, 2, 3, 6), (4, 5, 0, 6)) * -0.1875 - del x168 - x210 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x210 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * 0.4444444444444444 - x210 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 0, 2)) - x211 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x211 += einsum(x208, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.5 - x211 += einsum(x122, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - x211 += einsum(x122, (0, 1, 2, 3), (1, 0, 2, 3)) - x211 += einsum(x165, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.375 - x211 += einsum(x165, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.5 - x211 += einsum(t2, (0, 1, 2, 3), x210, (1, 4, 5, 2, 3, 6), (5, 4, 0, 6)) * 1.125 - del x210 - x212 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x212 += einsum(x117, (0, 1, 2, 3), l3, (2, 4, 3, 0, 5, 6), (6, 5, 1, 4)) - x213 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x213 += einsum(x125, (0, 1, 2, 3), l3, (4, 2, 3, 5, 0, 6), (5, 6, 1, 4)) * 3.0 - x213 += einsum(x212, (0, 1, 2, 3), (0, 1, 2, 3)) - x214 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x214 += einsum(x170, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.16666666666666 - x214 += einsum(x171, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.16666666666666 - x214 += einsum(x171, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.16666666666662 - x214 += einsum(x175, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x214 += einsum(x175, (0, 1, 2, 3), (1, 0, 2, 3)) - del x175 - x214 += einsum(x176, (0, 1, 2, 3), (0, 1, 2, 3)) - x214 += einsum(x176, (0, 1, 2, 3), (1, 0, 2, 3)) * -3.0 - x214 += einsum(x178, (0, 1, 2, 3), (1, 0, 2, 3)) - del x178 - x214 += einsum(t1, (0, 1), x213, (2, 3, 4, 1), (2, 3, 0, 4)) - del x213 - x215 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x215 += einsum(x135, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.0 - del x135 - x215 += einsum(t3, (0, 1, 2, 3, 4, 5), x118, (6, 2, 1, 7, 3, 5), (6, 0, 7, 4)) * 4.0 - x215 += einsum(t3, (0, 1, 2, 3, 4, 5), x118, (2, 0, 6, 7, 5, 3), (6, 1, 7, 4)) * 2.0 - x215 += einsum(x202, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.0 - x215 += einsum(x202, (0, 1, 2, 3), (0, 2, 1, 3)) * -4.0 - del x202 - x215 += einsum(x204, (0, 1, 2, 3), (0, 1, 2, 3)) * 16.0 - x215 += einsum(x204, (0, 1, 2, 3), (0, 2, 1, 3)) * -8.0 - del x204 - x215 += einsum(x112, (0, 1, 2, 3, 4, 5), x115, (0, 6, 2, 4, 7, 5), (1, 6, 3, 7)) * 2.0 - del x115 - x215 += einsum(x112, (0, 1, 2, 3, 4, 5), x205, (1, 6, 0, 5, 7, 4), (2, 6, 3, 7)) * 2.0 - del x205 - x215 += einsum(l2, (0, 1, 2, 3), x206, (2, 4, 5, 1, 6, 0), (3, 4, 5, 6)) * -6.0 - del x206 - x215 += einsum(x117, (0, 1, 2, 3), x207, (4, 0, 5, 2), (4, 1, 5, 3)) * 4.0 - del x207 - x215 += einsum(t2, (0, 1, 2, 3), x209, (4, 1, 5, 3), (4, 0, 5, 2)) * 16.0 - del x209 - x215 += einsum(t2, (0, 1, 2, 3), x211, (4, 1, 5, 2), (4, 0, 5, 3)) * -8.0 - del x211 - x215 += einsum(t1, (0, 1), x214, (2, 0, 3, 4), (2, 4, 3, 1)) * -4.0 - del x214 - x215 += einsum(t1, (0, 1), x192, (2, 3), (2, 0, 3, 1)) * 16.0 - del x192 - l1new += einsum(v.ovov, (0, 1, 2, 3), x215, (4, 0, 2, 3), (1, 4)) * 0.125 - del x215 - x216 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x216 += einsum(v.ovov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 1, 3), (4, 5, 0, 6)) - x217 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x217 += einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), (0, 2, 3, 4)) - x218 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x218 += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 2, 5, 3), (0, 1, 4, 5)) - x219 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x219 += einsum(t1, (0, 1), x90, (2, 3, 4, 1), (2, 0, 3, 4)) - x220 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x220 += einsum(t1, (0, 1), x87, (2, 3, 0, 4), (2, 3, 4, 1)) - del x87 - x221 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x221 += einsum(x218, (0, 1, 2, 3), (0, 1, 2, 3)) - x221 += einsum(x219, (0, 1, 2, 3), (0, 1, 2, 3)) - x221 += einsum(x220, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x220 - x222 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x222 += einsum(v.ovov, (0, 1, 2, 3), t3, (4, 2, 5, 6, 3, 1), (4, 5, 0, 6)) - x223 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x223 += einsum(x36, (0, 1), t2, (2, 3, 1, 4), (2, 3, 0, 4)) - x224 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x224 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -1.5 - x224 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 1.5 - x224 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) - x225 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x225 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x225 += einsum(v.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x225 += einsum(x8, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x225 += einsum(x8, (0, 1, 2, 3), (0, 2, 1, 3)) * 2.0 - x226 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x226 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * 2.0 - x226 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x227 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x227 += einsum(v.oooo, (0, 1, 2, 3), (0, 2, 3, 1)) - x227 += einsum(v.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x227 += einsum(x5, (0, 1, 2, 3), (2, 0, 3, 1)) - x227 += einsum(x5, (0, 1, 2, 3), (3, 0, 2, 1)) * -0.5 - x228 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x228 += einsum(x216, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.25 - x228 += einsum(v.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x228 += einsum(v.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) * 0.5 - x228 += einsum(x217, (0, 1, 2, 3), (1, 2, 0, 3)) * 0.5 - x228 += einsum(x217, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - x228 += einsum(x221, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x228 += einsum(x221, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.5 - del x221 - x228 += einsum(x222, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.25 - x228 += einsum(x222, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.25 - del x222 - x228 += einsum(x223, (0, 1, 2, 3), (1, 0, 2, 3)) - x228 += einsum(x223, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - x228 += einsum(v.ovov, (0, 1, 2, 3), x224, (2, 4, 5, 3, 1, 6), (4, 5, 0, 6)) * -0.25 - del x224 - x228 += einsum(x120, (0, 1, 2, 3), x225, (4, 5, 0, 2), (4, 1, 5, 3)) * -1.0 - x228 += einsum(t1, (0, 1), x226, (2, 3, 1, 4), (0, 3, 2, 4)) * -0.5 - del x226 - x228 += einsum(t1, (0, 1), x227, (0, 2, 3, 4), (2, 4, 3, 1)) - del x227 - l1new += einsum(l2, (0, 1, 2, 3), x228, (2, 3, 4, 1), (0, 4)) * 2.0 - del x228 - x229 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x229 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -0.5 - x229 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 0.5 - x229 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) - x230 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x230 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x230 += einsum(v.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) - x230 += einsum(x8, (0, 1, 2, 3), (0, 1, 2, 3)) - x230 += einsum(x8, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 - x231 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x231 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) - x231 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 - x232 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x232 += einsum(x5, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x232 += einsum(x5, (0, 1, 2, 3), (0, 3, 2, 1)) * 2.0 - x233 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x233 += einsum(x216, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.5 - x233 += einsum(v.ovov, (0, 1, 2, 3), x229, (2, 4, 5, 3, 1, 6), (4, 5, 0, 6)) * -0.5 - del x229 - x233 += einsum(t2, (0, 1, 2, 3), x225, (4, 5, 1, 3), (4, 0, 5, 2)) * -1.0 - del x225 - x233 += einsum(t2, (0, 1, 2, 3), x230, (4, 5, 1, 2), (4, 0, 5, 3)) * -2.0 - del x230 - x233 += einsum(t1, (0, 1), x231, (2, 3, 1, 4), (0, 3, 2, 4)) * 2.0 - del x231 - x233 += einsum(t1, (0, 1), x232, (2, 0, 3, 4), (2, 3, 4, 1)) * -1.0 - del x232 - l1new += einsum(l2, (0, 1, 2, 3), x233, (3, 2, 4, 1), (0, 4)) * -1.0 - del x233 - x234 = np.zeros((nvir, nvir), dtype=types[float]) - x234 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (3, 4, 5, 0, 6, 2), (1, 6)) - x235 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x235 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -0.14285714285714288 - x235 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 0.14285714285714288 - x235 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) - x235 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 0.14285714285714288 - x235 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -0.14285714285714288 - x235 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -0.14285714285714288 - x236 = np.zeros((nvir, nvir), dtype=types[float]) - x236 += einsum(x234, (0, 1), (0, 1)) * 3.0 - x236 += einsum(l3, (0, 1, 2, 3, 4, 5), x235, (3, 5, 4, 6, 1, 2), (0, 6)) * 6.999999999999999 - x236 += einsum(l3, (0, 1, 2, 3, 4, 5), x116, (3, 4, 5, 6, 1, 2), (0, 6)) * -1.0 - x237 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x237 += einsum(v.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) - x237 += einsum(v.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) * -0.5 - l1new += einsum(x236, (0, 1), x237, (2, 3, 0, 1), (3, 2)) * 0.16666666666666 - del x236, x237 - x238 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x238 += einsum(x130, (0, 1, 2, 3), x159, (0, 4, 5, 2, 3, 6), (1, 4, 5, 6)) * 0.5 - x239 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x239 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) - x239 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.3333333333333333 - x240 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x240 += einsum(x122, (0, 1, 2, 3), (0, 1, 2, 3)) - x240 += einsum(x122, (0, 1, 2, 3), (1, 0, 2, 3)) * -2.0 - x240 += einsum(x238, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - x240 += einsum(x179, (0, 1, 2, 3), l3, (4, 2, 3, 5, 0, 6), (5, 6, 1, 4)) * 0.5 - x240 += einsum(x239, (0, 1, 2, 3), l3, (4, 2, 3, 0, 5, 6), (5, 6, 1, 4)) * 1.5 - l1new += einsum(v.oovv, (0, 1, 2, 3), x240, (0, 4, 1, 3), (2, 4)) - del x240 - x241 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x241 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - x241 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 6.999999999999999 - x241 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) - x241 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) - x241 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -1.0 - x241 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 - x242 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x242 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) - x242 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - x242 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 - x243 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x243 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) - x243 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 6.0 - x243 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 - x243 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -1.0 - x243 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - x244 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x244 += einsum(x122, (0, 1, 2, 3), (0, 1, 2, 3)) - x244 += einsum(x239, (0, 1, 2, 3), l3, (4, 2, 3, 5, 6, 0), (5, 6, 1, 4)) * 0.75 - x245 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x245 += einsum(x122, (0, 1, 2, 3), (0, 1, 2, 3)) - x245 += einsum(x126, (0, 1, 2, 3), (1, 0, 2, 3)) - x245 += einsum(x126, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x126 - x245 += einsum(x238, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - del x238 - x246 = np.zeros((nocc, nocc), dtype=types[float]) - x246 += einsum(l1, (0, 1), t1, (2, 0), (1, 2)) - l1new += einsum(x246, (0, 1), x36, (1, 2), (2, 0)) * -2.0 - x247 = np.zeros((nocc, nocc), dtype=types[float]) - x247 += einsum(x246, (0, 1), (0, 1)) - x247 += einsum(x182, (0, 1), (0, 1)) * 0.24999999999999 - x247 += einsum(x183, (0, 1), (0, 1)) * -0.08333333333333 - x247 += einsum(x184, (0, 1, 2, 3, 4, 5), x185, (1, 6, 0, 3, 4, 5), (2, 6)) * -0.08333333333333 - x247 += einsum(t3, (0, 1, 2, 3, 4, 5), x184, (1, 2, 6, 5, 4, 3), (6, 0)) * 0.08333333333333 - x247 += einsum(l3, (0, 1, 2, 3, 4, 5), x188, (3, 6, 4, 0, 2, 1), (5, 6)) * 0.58333333333331 - x247 += einsum(l2, (0, 1, 2, 3), x190, (2, 4, 1, 0), (3, 4)) * 2.0 - x248 = np.zeros((nocc, nvir), dtype=types[float]) - x248 += einsum(t1, (0, 1), (0, 1)) * -4.0 - x248 += einsum(l2, (0, 1, 2, 3), t3, (4, 2, 3, 5, 1, 0), (4, 5)) * 2.0 - x248 += einsum(t3, (0, 1, 2, 3, 4, 5), x118, (2, 0, 1, 6, 5, 3), (6, 4)) * 0.99999999999996 - x248 += einsum(x112, (0, 1, 2, 3, 4, 5), x241, (0, 1, 2, 5, 6, 4), (3, 6)) * 0.33333333333332 - del x241 - x248 += einsum(x112, (0, 1, 2, 3, 4, 5), x242, (0, 2, 1, 4, 6, 5), (3, 6)) * -0.33333333333332 - del x242 - x248 += einsum(l2, (0, 1, 2, 3), x243, (3, 4, 2, 1, 5, 0), (4, 5)) * -1.0 - del x243 - x248 += einsum(t2, (0, 1, 2, 3), x244, (0, 1, 4, 2), (4, 3)) * 8.0 - del x244 - x248 += einsum(t2, (0, 1, 2, 3), x245, (0, 1, 4, 3), (4, 2)) * -4.0 - del x245 - x248 += einsum(l1, (0, 1), x121, (1, 2, 3, 0), (2, 3)) * -4.0 - del x121 - x248 += einsum(t1, (0, 1), x247, (0, 2), (2, 1)) * 4.0 - del x247 - x249 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x249 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * 2.0 - x249 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - l1new += einsum(x248, (0, 1), x249, (0, 2, 3, 1), (3, 2)) * -0.25 - del x248, x249 - x250 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x250 += einsum(x172, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.041666666666665 - x250 += einsum(x173, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.041666666666665 - x251 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x251 += einsum(x130, (0, 1, 2, 3), x159, (0, 4, 5, 2, 3, 6), (4, 5, 1, 6)) * -1.0 - del x159 - x251 += einsum(x179, (0, 1, 2, 3), l3, (4, 2, 3, 5, 0, 6), (5, 6, 1, 4)) - del x179 - x251 += einsum(x239, (0, 1, 2, 3), l3, (4, 2, 3, 0, 5, 6), (5, 6, 1, 4)) * 3.0 - del x239 - x252 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x252 += einsum(x170, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.041666666666665 - x252 += einsum(x203, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.5 - x252 += einsum(x203, (0, 1, 2, 3), (1, 0, 3, 2)) - del x203 - x252 += einsum(x137, (0, 1, 2, 3), (0, 2, 3, 1)) * -0.5 - x252 += einsum(x137, (0, 1, 2, 3), (0, 3, 2, 1)) - del x137 - x252 += einsum(x171, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.291666666666655 - x252 += einsum(x171, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.041666666666665 - x252 += einsum(x250, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x252 += einsum(x250, (0, 1, 2, 3), (1, 0, 2, 3)) - del x250 - x252 += einsum(l3, (0, 1, 2, 3, 4, 5), x177, (4, 6, 7, 0, 2, 1), (5, 3, 6, 7)) * 0.041666666666665 - x252 += einsum(t1, (0, 1), x251, (2, 3, 4, 1), (2, 0, 4, 3)) * -0.25 - del x251 - l1new += einsum(v.ooov, (0, 1, 2, 3), x252, (4, 1, 2, 0), (3, 4)) * 2.0 - del x252 - x253 = np.zeros((nvir, nvir), dtype=types[float]) - x253 += einsum(l1, (0, 1), t1, (1, 2), (0, 2)) * 0.5 - x253 += einsum(l2, (0, 1, 2, 3), x120, (2, 3, 4, 1), (0, 4)) - x254 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x254 += einsum(v.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x254 += einsum(v.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) - l1new += einsum(x253, (0, 1), x254, (2, 1, 0, 3), (3, 2)) * 4.0 - del x253, x254 - x255 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x255 += einsum(x172, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.14285714285714288 - del x172 - x255 += einsum(x173, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.14285714285714288 - del x173 - x256 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x256 += einsum(x170, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.14285714285714288 - del x170 - x256 += einsum(x171, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.14285714285714288 - x256 += einsum(x171, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x256 += einsum(x139, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.4285714285714286 - x256 += einsum(x139, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.4285714285714286 - del x139 - x256 += einsum(x255, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x256 += einsum(x255, (0, 1, 2, 3), (1, 0, 2, 3)) - del x255 - x256 += einsum(l3, (0, 1, 2, 3, 4, 5), x177, (4, 6, 7, 0, 2, 1), (5, 3, 6, 7)) * 0.14285714285714288 - del x177 - l1new += einsum(v.ooov, (0, 1, 2, 3), x256, (4, 1, 0, 2), (3, 4)) * -0.58333333333331 - del x256 - x257 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x257 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * 0.3333333333333333 - x257 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) * -0.3333333333333333 - x257 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 4, 3, 0, 2, 1)) - x257 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) * -0.3333333333333333 - x258 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x258 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * -1.0 - x258 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) - x258 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 4, 3, 0, 2, 1)) * -1.0 - x258 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) * 3.0 - x259 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x259 += einsum(t2, (0, 1, 2, 3), x257, (1, 4, 5, 6, 3, 2), (5, 4, 0, 6)) - del x257 - x259 += einsum(t2, (0, 1, 2, 3), x258, (1, 4, 5, 6, 2, 3), (5, 4, 0, 6)) * 0.3333333333333333 - del x258 - x260 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x260 += einsum(t1, (0, 1), x259, (2, 3, 4, 1), (2, 3, 0, 4)) * 3.0 - del x259 - l1new += einsum(v.ooov, (0, 1, 2, 3), x260, (4, 0, 2, 1), (3, 4)) * 0.5 - del x260 - x261 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x261 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 3.0 - x261 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) - x261 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -1.0 - x262 = np.zeros((nocc, nocc), dtype=types[float]) - x262 += einsum(x246, (0, 1), (0, 1)) * 0.5 - x262 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 3, 5, 1, 2, 0), (4, 6)) * -0.041666666666665 - x262 += einsum(l3, (0, 1, 2, 3, 4, 5), x261, (3, 5, 6, 0, 2, 1), (4, 6)) * 0.041666666666665 - del x261 - x262 += einsum(x191, (0, 1), (0, 1)) - del x191 - x263 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x263 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x263 += einsum(v.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * 2.0 - l1new += einsum(x262, (0, 1), x263, (0, 2, 1, 3), (3, 2)) * -2.0 - del x262 - x264 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x264 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - x264 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - x264 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 6.999999999999999 - x264 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 - x265 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x265 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - x265 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) - x266 = np.zeros((nocc, nocc), dtype=types[float]) - x266 += einsum(l3, (0, 1, 2, 3, 4, 5), x264, (4, 6, 3, 0, 2, 1), (5, 6)) - del x264 - x266 += einsum(l3, (0, 1, 2, 3, 4, 5), x265, (4, 6, 3, 0, 1, 2), (5, 6)) * -1.0 - x267 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x267 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x267 += einsum(v.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) - l1new += einsum(x266, (0, 1), x267, (0, 2, 1, 3), (3, 2)) * -0.16666666666666 - del x266, x267 - x268 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x268 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x268 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - l1new += einsum(l1, (0, 1), x268, (1, 2, 0, 3), (3, 2)) * 2.0 - del x268 - x269 = np.zeros((nocc, nocc), dtype=types[float]) - x269 += einsum(x246, (0, 1), (0, 1)) * 1.714285714285783 - x269 += einsum(x182, (0, 1), (0, 1)) * 0.4285714285714286 - x269 += einsum(x183, (0, 1), (0, 1)) * -0.14285714285714288 - x269 += einsum(x184, (0, 1, 2, 3, 4, 5), x185, (1, 6, 0, 3, 4, 5), (2, 6)) * -0.14285714285714288 - x269 += einsum(t3, (0, 1, 2, 3, 4, 5), x184, (1, 2, 6, 5, 4, 3), (6, 0)) * 0.14285714285714288 - x269 += einsum(l3, (0, 1, 2, 3, 4, 5), x188, (3, 6, 4, 0, 2, 1), (5, 6)) - x269 += einsum(l2, (0, 1, 2, 3), x190, (2, 4, 1, 0), (3, 4)) * 3.428571428571566 - l1new += einsum(f.ov, (0, 1), x269, (2, 0), (1, 2)) * -0.58333333333331 - del x269 - x270 = np.zeros((nvir, nvir), dtype=types[float]) - x270 += einsum(f.vv, (0, 1), (0, 1)) * 0.5 - x270 += einsum(t1, (0, 1), x54, (0, 1, 2, 3), (3, 2)) - l1new += einsum(l1, (0, 1), x270, (0, 2), (2, 1)) * 2.0 - del x270 - x271 = np.zeros((nocc, nocc), dtype=types[float]) - x271 += einsum(v.ovov, (0, 1, 2, 3), x190, (2, 4, 1, 3), (0, 4)) * 2.0 - x272 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x272 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x272 += einsum(v.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) * -0.5 - x273 = np.zeros((nocc, nocc), dtype=types[float]) - x273 += einsum(t1, (0, 1), x272, (2, 3, 0, 1), (2, 3)) * 2.0 - del x272 - x274 = np.zeros((nocc, nocc), dtype=types[float]) - x274 += einsum(t1, (0, 1), x68, (2, 1), (0, 2)) - x275 = np.zeros((nocc, nocc), dtype=types[float]) - x275 += einsum(f.oo, (0, 1), (0, 1)) - x275 += einsum(x271, (0, 1), (1, 0)) - x275 += einsum(x273, (0, 1), (1, 0)) - x275 += einsum(x274, (0, 1), (0, 1)) - del x274 - l1new += einsum(l1, (0, 1), x275, (1, 2), (0, 2)) * -1.0 - l3new += einsum(x275, (0, 1), l3, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) * -1.0 - del x275 - x276 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x276 += einsum(f.vv, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2)) - x277 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x277 += einsum(l1, (0, 1), v.ovvv, (2, 3, 4, 0), (1, 2, 3, 4)) - x278 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x278 += einsum(l1, (0, 1), x8, (1, 2, 3, 4), (2, 3, 0, 4)) - x279 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x279 += einsum(l2, (0, 1, 2, 3), x5, (2, 4, 3, 5), (4, 5, 0, 1)) - x280 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x280 += einsum(x217, (0, 1, 2, 3), l3, (4, 5, 3, 6, 2, 1), (0, 6, 4, 5)) - x281 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x281 += einsum(x122, (0, 1, 2, 3), x8, (0, 2, 4, 5), (1, 4, 3, 5)) - x282 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x282 += einsum(v.ovvv, (0, 1, 2, 3), x123, (4, 5, 0, 3), (4, 5, 1, 2)) - x283 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x283 += einsum(t1, (0, 1), v.vvvv, (2, 3, 4, 1), (0, 2, 3, 4)) - x284 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x284 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x284 += einsum(x8, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x285 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x285 += einsum(t2, (0, 1, 2, 3), x284, (0, 4, 1, 5), (4, 2, 3, 5)) - del x284 - x286 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x286 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x286 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x287 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x287 += einsum(x286, (0, 1, 2, 3), t3, (4, 1, 0, 5, 6, 2), (4, 5, 6, 3)) * 0.49999999999998 - del x286 - x288 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x288 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x288 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.3333333333333333 - x289 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x289 += einsum(x288, (0, 1, 2, 3), t3, (4, 1, 0, 5, 2, 6), (4, 6, 5, 3)) * 1.49999999999994 - del x288 - x290 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x290 += einsum(v.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) - x290 += einsum(v.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x290 += einsum(x283, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x290 += einsum(x283, (0, 1, 2, 3), (0, 3, 2, 1)) - x290 += einsum(x285, (0, 1, 2, 3), (0, 1, 2, 3)) - x290 += einsum(x285, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x285 - x290 += einsum(x287, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x287 - x290 += einsum(x289, (0, 1, 2, 3), (0, 1, 2, 3)) - del x289 - x291 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x291 += einsum(x290, (0, 1, 2, 3), l3, (2, 4, 1, 0, 5, 6), (6, 5, 4, 3)) * 0.5 - del x290 - x292 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x292 += einsum(x16, (0, 1, 2, 3), t3, (4, 1, 0, 5, 6, 2), (4, 5, 6, 3)) * 0.24999999999999 - x293 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x293 += einsum(v.ovvv, (0, 1, 2, 3), x120, (0, 4, 1, 5), (4, 2, 3, 5)) * 2.0 - x294 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x294 += einsum(v.ovvv, (0, 1, 2, 3), x117, (0, 4, 3, 5), (4, 1, 2, 5)) - x295 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x295 += einsum(x292, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x292 - x295 += einsum(x293, (0, 1, 2, 3), (0, 2, 3, 1)) - del x293 - x295 += einsum(x294, (0, 1, 2, 3), (0, 2, 3, 1)) - del x294 - x296 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x296 += einsum(x295, (0, 1, 2, 3), l3, (1, 4, 2, 0, 5, 6), (6, 5, 4, 3)) - del x295 - x297 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x297 += einsum(t1, (0, 1), v.oooo, (2, 3, 4, 0), (2, 3, 4, 1)) - x298 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x298 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - x298 += einsum(x297, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.5 - del x297 - x299 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x299 += einsum(t1, (0, 1), x65, (2, 3, 0, 4), (3, 2, 4, 1)) - x300 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x300 += einsum(x218, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x300 += einsum(x299, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - del x299 - x300 += einsum(x223, (0, 1, 2, 3), (1, 0, 2, 3)) - del x223 - x301 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x301 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -0.5 - x301 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 0.5 - x301 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) - x301 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) - x302 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x302 += einsum(v.ovov, (0, 1, 2, 3), x301, (2, 4, 5, 3, 1, 6), (0, 4, 5, 6)) * 0.49999999999998 - del x301 - x303 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x303 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x303 += einsum(v.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - x304 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x304 += einsum(t2, (0, 1, 2, 3), x303, (4, 5, 1, 3), (0, 4, 5, 2)) - del x303 - x305 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x305 += einsum(t2, (0, 1, 2, 3), x1, (4, 5, 1, 2), (0, 4, 5, 3)) - x306 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x306 += einsum(x216, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.49999999999998 - x306 += einsum(x298, (0, 1, 2, 3), (0, 2, 1, 3)) - x306 += einsum(x298, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - del x298 - x306 += einsum(x300, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x306 += einsum(x300, (0, 1, 2, 3), (1, 0, 2, 3)) - del x300 - x306 += einsum(x302, (0, 1, 2, 3), (1, 2, 0, 3)) - del x302 - x306 += einsum(x304, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x304 - x306 += einsum(x305, (0, 1, 2, 3), (0, 2, 1, 3)) - del x305 - x307 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x307 += einsum(x306, (0, 1, 2, 3), l3, (4, 5, 3, 0, 6, 1), (6, 2, 4, 5)) - del x306 - x308 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x308 += einsum(t1, (0, 1), x20, (2, 3, 4, 0), (2, 3, 4, 1)) - x309 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x309 += einsum(x219, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - del x219 - x309 += einsum(x308, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - del x308 - x310 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x310 += einsum(x8, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x310 += einsum(x8, (0, 1, 2, 3), (0, 2, 1, 3)) - x311 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x311 += einsum(t2, (0, 1, 2, 3), x310, (4, 5, 1, 3), (0, 4, 5, 2)) * 2.0 - del x310 - x312 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x312 += einsum(x8, (0, 1, 2, 3), (0, 1, 2, 3)) - x312 += einsum(x8, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x313 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x313 += einsum(t2, (0, 1, 2, 3), x312, (4, 5, 1, 2), (0, 4, 5, 3)) - del x312 - x314 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x314 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) - x314 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x315 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x315 += einsum(t1, (0, 1), x314, (2, 3, 1, 4), (0, 2, 3, 4)) - del x314 - x316 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x316 += einsum(x5, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x316 += einsum(x5, (0, 1, 2, 3), (0, 3, 2, 1)) - x317 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x317 += einsum(t1, (0, 1), x316, (2, 3, 4, 0), (2, 3, 4, 1)) - del x316 - x318 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x318 += einsum(x309, (0, 1, 2, 3), (0, 1, 2, 3)) - x318 += einsum(x309, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x309 - x318 += einsum(x311, (0, 1, 2, 3), (1, 0, 2, 3)) - del x311 - x318 += einsum(x313, (0, 1, 2, 3), (1, 0, 2, 3)) - del x313 - x318 += einsum(x315, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x315 - x318 += einsum(x317, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x317 - x319 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x319 += einsum(x318, (0, 1, 2, 3), l3, (4, 5, 3, 0, 6, 1), (6, 2, 4, 5)) - del x318 - x320 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x320 += einsum(t2, (0, 1, 2, 3), x14, (1, 4, 3, 5), (0, 4, 2, 5)) * 2.0 - del x14 - x321 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x321 += einsum(t2, (0, 1, 2, 3), x16, (1, 4, 2, 5), (0, 4, 3, 5)) - del x16 - x322 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x322 += einsum(t1, (0, 1), x1, (0, 2, 3, 4), (2, 3, 1, 4)) * 0.5 - del x1 - x323 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x323 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x323 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x323 += einsum(x320, (0, 1, 2, 3), (0, 1, 2, 3)) - del x320 - x323 += einsum(x321, (0, 1, 2, 3), (0, 1, 2, 3)) - del x321 - x323 += einsum(x322, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x322 - x324 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x324 += einsum(x323, (0, 1, 2, 3), x112, (0, 4, 5, 1, 2, 6), (4, 5, 6, 3)) - del x323 - x325 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x325 += einsum(t1, (0, 1), x22, (2, 1, 3, 4), (0, 2, 3, 4)) - del x22 - x326 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x326 += einsum(t1, (0, 1), x10, (2, 3, 0, 4), (2, 3, 1, 4)) * 0.5 - del x10 - x327 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x327 += einsum(x325, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x325 - x327 += einsum(x326, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x326 - x328 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x328 += einsum(x327, (0, 1, 2, 3), x112, (0, 4, 5, 1, 2, 6), (4, 5, 6, 3)) - del x327 - x329 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x329 += einsum(x130, (0, 1, 2, 3), l3, (4, 5, 2, 1, 6, 0), (6, 4, 5, 3)) - x330 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x330 += einsum(x149, (0, 1, 2, 3), (0, 2, 1, 3)) * 2.0 - x330 += einsum(x329, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x329 - x331 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x331 += einsum(v.ovvv, (0, 1, 2, 3), x330, (4, 5, 3, 1), (0, 4, 2, 5)) * 0.5 - del x330 - x332 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x332 += einsum(l2, (0, 1, 2, 3), t2, (4, 2, 1, 5), (3, 4, 0, 5)) - x333 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x333 += einsum(x130, (0, 1, 2, 3), x118, (0, 1, 4, 5, 6, 2), (4, 5, 6, 3)) - del x130 - x334 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x334 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * -0.5 - x334 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 0, 2)) - x335 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x335 += einsum(t2, (0, 1, 2, 3), x334, (1, 4, 5, 2, 3, 6), (0, 4, 5, 6)) * 2.0 - del x334 - x336 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x336 += einsum(x208, (0, 1, 2, 3), (1, 0, 2, 3)) - del x208 - x336 += einsum(x335, (0, 1, 2, 3), (2, 1, 0, 3)) - del x335 - x337 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x337 += einsum(t1, (0, 1), x336, (0, 2, 3, 4), (2, 3, 1, 4)) - x338 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x338 += einsum(x332, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x332 - x338 += einsum(x109, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.99999999999996 - del x109 - x338 += einsum(x110, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.99999999999996 - del x110 - x338 += einsum(x114, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x114 - x338 += einsum(x333, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x333 - x338 += einsum(x337, (0, 1, 2, 3), (0, 1, 3, 2)) - del x337 - x339 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x339 += einsum(v.ovov, (0, 1, 2, 3), x338, (4, 2, 5, 1), (0, 4, 3, 5)) * 0.5 - del x338 - x340 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x340 += einsum(x155, (0, 1, 2, 3), x40, (0, 4, 5, 3), (4, 5, 1, 2)) * -0.5 - x341 = np.zeros((nvir, nvir), dtype=types[float]) - x341 += einsum(l3, (0, 1, 2, 3, 4, 5), x235, (3, 5, 4, 6, 1, 2), (0, 6)) * 2.333333333333333 - del x235 - x342 = np.zeros((nvir, nvir), dtype=types[float]) - x342 += einsum(l3, (0, 1, 2, 3, 4, 5), x116, (3, 4, 5, 6, 1, 2), (0, 6)) * 0.3333333333333333 - del x116 - x343 = np.zeros((nvir, nvir), dtype=types[float]) - x343 += einsum(l2, (0, 1, 2, 3), x120, (2, 3, 4, 1), (0, 4)) * 8.00000000000032 - del x120 - x344 = np.zeros((nvir, nvir), dtype=types[float]) - x344 += einsum(x234, (0, 1), (0, 1)) - del x234 - x344 += einsum(x341, (0, 1), (0, 1)) - del x341 - x344 += einsum(x342, (0, 1), (0, 1)) * -1.0 - del x342 - x344 += einsum(x343, (0, 1), (0, 1)) - del x343 - x345 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x345 += einsum(x344, (0, 1), v.ovov, (2, 1, 3, 4), (2, 3, 4, 0)) * 0.24999999999999 - del x344 - x346 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x346 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) - x346 += einsum(x90, (0, 1, 2, 3), (0, 1, 3, 2)) - x347 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x347 += einsum(l2, (0, 1, 2, 3), x346, (2, 4, 1, 5), (3, 4, 0, 5)) - del x346 - x348 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x348 += einsum(x122, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x348 += einsum(x123, (0, 1, 2, 3), (0, 1, 2, 3)) - del x123 - x348 += einsum(x199, (0, 1, 2, 3), (1, 0, 2, 3)) - x349 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x349 += einsum(v.ooov, (0, 1, 2, 3), x348, (1, 4, 2, 5), (0, 4, 3, 5)) - del x348 - x350 = np.zeros((nocc, nocc), dtype=types[float]) - x350 += einsum(x184, (0, 1, 2, 3, 4, 5), x185, (1, 6, 0, 3, 4, 5), (2, 6)) * 0.3333333333333333 - del x185 - x351 = np.zeros((nocc, nocc), dtype=types[float]) - x351 += einsum(t3, (0, 1, 2, 3, 4, 5), x184, (1, 2, 6, 5, 4, 3), (0, 6)) * 0.3333333333333333 - del x184 - x352 = np.zeros((nocc, nocc), dtype=types[float]) - x352 += einsum(l3, (0, 1, 2, 3, 4, 5), x188, (3, 6, 4, 0, 2, 1), (5, 6)) * 2.333333333333333 - del x188 - x353 = np.zeros((nocc, nocc), dtype=types[float]) - x353 += einsum(l2, (0, 1, 2, 3), x190, (3, 4, 0, 1), (2, 4)) * 8.00000000000032 - x354 = np.zeros((nocc, nocc), dtype=types[float]) - x354 += einsum(x246, (0, 1), (0, 1)) * 4.00000000000016 - del x246 - x354 += einsum(x182, (0, 1), (0, 1)) - del x182 - x354 += einsum(x183, (0, 1), (0, 1)) * -0.3333333333333333 - del x183 - x354 += einsum(x350, (0, 1), (0, 1)) * -1.0 - del x350 - x354 += einsum(x351, (0, 1), (1, 0)) - del x351 - x354 += einsum(x352, (0, 1), (0, 1)) - del x352 - x354 += einsum(x353, (0, 1), (0, 1)) - del x353 - x355 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x355 += einsum(x354, (0, 1), v.ovov, (2, 3, 1, 4), (2, 0, 4, 3)) * 0.24999999999999 - del x354 - x356 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x356 += einsum(t1, (0, 1), x212, (2, 3, 4, 1), (0, 2, 3, 4)) * -1.0 - x357 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x357 += einsum(v.ovov, (0, 1, 2, 3), x356, (0, 4, 5, 2), (4, 5, 3, 1)) * 0.5 - del x356 - x358 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x358 += einsum(x36, (0, 1), x212, (2, 3, 0, 4), (2, 3, 1, 4)) * -1.0 - x359 = np.zeros((nocc, nocc), dtype=types[float]) - x359 += einsum(f.ov, (0, 1), t1, (2, 1), (0, 2)) - x360 = np.zeros((nocc, nocc), dtype=types[float]) - x360 += einsum(f.oo, (0, 1), (0, 1)) - x360 += einsum(x359, (0, 1), (1, 0)) - del x359 - x361 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x361 += einsum(x360, (0, 1), l2, (2, 3, 0, 4), (4, 1, 2, 3)) - x362 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x362 += einsum(x122, (0, 1, 2, 3), (0, 1, 2, 3)) - x362 += einsum(x165, (0, 1, 2, 3), (0, 1, 2, 3)) - x363 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x363 += einsum(f.ov, (0, 1), x362, (2, 3, 0, 4), (2, 3, 4, 1)) - x364 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x364 += einsum(x276, (0, 1, 2, 3), (0, 1, 2, 3)) - del x276 - x364 += einsum(x277, (0, 1, 2, 3), (0, 1, 2, 3)) - del x277 - x364 += einsum(x278, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x278 - x364 += einsum(x279, (0, 1, 2, 3), (0, 1, 2, 3)) - del x279 - x364 += einsum(x280, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x280 - x364 += einsum(x281, (0, 1, 2, 3), (0, 1, 2, 3)) - del x281 - x364 += einsum(x282, (0, 1, 2, 3), (0, 1, 2, 3)) - del x282 - x364 += einsum(x291, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x291 - x364 += einsum(x296, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x296 - x364 += einsum(x307, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x307 - x364 += einsum(x319, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x319 - x364 += einsum(x324, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x324 - x364 += einsum(x328, (0, 1, 2, 3), (0, 1, 2, 3)) - del x328 - x364 += einsum(x331, (0, 1, 2, 3), (1, 0, 3, 2)) - del x331 - x364 += einsum(x339, (0, 1, 2, 3), (1, 0, 3, 2)) - del x339 - x364 += einsum(x340, (0, 1, 2, 3), (0, 1, 2, 3)) - del x340 - x364 += einsum(x345, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x345 - x364 += einsum(x347, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x347 - x364 += einsum(x349, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x349 - x364 += einsum(x355, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x355 - x364 += einsum(x357, (0, 1, 2, 3), (0, 1, 3, 2)) - del x357 - x364 += einsum(x358, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x358 - x364 += einsum(x361, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x361 - x364 += einsum(x363, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x363 - l2new += einsum(x364, (0, 1, 2, 3), (3, 2, 0, 1)) - l2new += einsum(x364, (0, 1, 2, 3), (2, 3, 1, 0)) - del x364 - x365 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x365 += einsum(l1, (0, 1), v.ooov, (2, 1, 3, 4), (2, 3, 0, 4)) - x366 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x366 += einsum(l2, (0, 1, 2, 3), x99, (2, 4, 5, 1), (3, 4, 0, 5)) - x367 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x367 += einsum(x122, (0, 1, 2, 3), x8, (1, 2, 4, 5), (0, 4, 3, 5)) - x368 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x368 += einsum(v.ooov, (0, 1, 2, 3), x165, (4, 1, 2, 5), (4, 0, 5, 3)) - x369 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x369 += einsum(v.ooov, (0, 1, 2, 3), x149, (1, 4, 5, 3), (0, 2, 4, 5)) - del x149 - x370 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x370 += einsum(x99, (0, 1, 2, 3), x118, (0, 4, 5, 1, 3, 6), (4, 5, 6, 2)) - x371 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x371 += einsum(l3, (0, 1, 2, 3, 4, 5), x57, (5, 3, 4, 6, 7, 2), (6, 7, 0, 1)) - del x57 - x372 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x372 += einsum(t2, (0, 1, 2, 3), l3, (4, 5, 2, 6, 1, 0), (6, 4, 5, 3)) - x373 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x373 += einsum(x372, (0, 1, 2, 3), x8, (0, 4, 5, 3), (5, 4, 1, 2)) - x374 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x374 += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 0, 1, 5), (4, 2, 3, 5)) - x375 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x375 += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 2), (0, 3, 4, 5)) - x376 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x376 += einsum(v.ovov, (0, 1, 2, 3), t3, (4, 0, 2, 5, 6, 3), (4, 5, 6, 1)) - x377 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x377 += einsum(t2, (0, 1, 2, 3), x8, (4, 0, 1, 5), (4, 2, 3, 5)) - x378 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x378 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -1.0 - x378 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - x379 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x379 += einsum(v.ovov, (0, 1, 2, 3), x378, (0, 2, 4, 5, 3, 6), (4, 1, 5, 6)) * 0.49999999999998 - x380 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x380 += einsum(v.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) - x380 += einsum(x283, (0, 1, 2, 3), (0, 3, 2, 1)) - del x283 - x380 += einsum(x374, (0, 1, 2, 3), (0, 1, 2, 3)) - del x374 - x380 += einsum(x375, (0, 1, 2, 3), (0, 3, 1, 2)) * -1.0 - del x375 - x380 += einsum(x376, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.99999999999996 - del x376 - x380 += einsum(x377, (0, 1, 2, 3), (0, 2, 1, 3)) - del x377 - x380 += einsum(x379, (0, 1, 2, 3), (0, 3, 2, 1)) * -1.0 - del x379 - x381 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x381 += einsum(x380, (0, 1, 2, 3), l3, (4, 2, 1, 5, 6, 0), (5, 6, 4, 3)) - del x380 - x382 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x382 += einsum(v.ovov, (0, 1, 2, 3), x378, (2, 4, 5, 3, 1, 6), (0, 4, 5, 6)) * 0.49999999999998 - del x378 - x383 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x383 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x383 += einsum(v.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * 2.0 - x383 += einsum(x8, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x383 += einsum(x8, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x384 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x384 += einsum(t2, (0, 1, 2, 3), x383, (4, 1, 5, 3), (0, 4, 5, 2)) - del x383 - x385 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x385 += einsum(v.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) - x385 += einsum(x8, (0, 1, 2, 3), (0, 1, 2, 3)) - x386 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x386 += einsum(t2, (0, 1, 2, 3), x385, (4, 1, 5, 2), (0, 4, 5, 3)) - x387 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x387 += einsum(x67, (0, 1), t2, (2, 3, 1, 4), (2, 3, 0, 4)) - x388 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x388 += einsum(v.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x388 += einsum(x5, (0, 1, 2, 3), (2, 1, 3, 0)) - x388 += einsum(x65, (0, 1, 2, 3), (3, 1, 2, 0)) - x389 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x389 += einsum(t1, (0, 1), x388, (0, 2, 3, 4), (2, 3, 4, 1)) - del x388 - x390 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x390 += einsum(v.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - x390 += einsum(x8, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x390 += einsum(x218, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x218 - x390 += einsum(x216, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.99999999999996 - del x216 - x390 += einsum(x382, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - del x382 - x390 += einsum(x384, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x384 - x390 += einsum(x386, (0, 1, 2, 3), (0, 1, 2, 3)) - del x386 - x390 += einsum(x387, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x387 - x390 += einsum(x389, (0, 1, 2, 3), (0, 2, 1, 3)) - del x389 - x391 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x391 += einsum(x390, (0, 1, 2, 3), l3, (4, 5, 3, 6, 1, 0), (6, 2, 4, 5)) - del x390 - x392 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x392 += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 2, 4, 5), (0, 3, 4, 5)) - x393 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x393 += einsum(v.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x393 += einsum(v.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x394 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x394 += einsum(t2, (0, 1, 2, 3), x393, (1, 3, 4, 5), (0, 2, 4, 5)) * 0.5 - x395 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x395 += einsum(x392, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.5 - del x392 - x395 += einsum(x394, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x394 - x396 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x396 += einsum(x395, (0, 1, 2, 3), l3, (4, 3, 1, 5, 6, 0), (5, 6, 4, 2)) * 2.0 - del x395 - x397 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x397 += einsum(t2, (0, 1, 2, 3), x385, (4, 5, 1, 2), (0, 4, 5, 3)) - del x385 - x398 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x398 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) - x398 += einsum(x90, (0, 1, 2, 3), (1, 0, 3, 2)) - x399 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x399 += einsum(t1, (0, 1), x398, (2, 3, 1, 4), (0, 2, 3, 4)) - del x398 - x400 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x400 += einsum(t1, (0, 1), x40, (2, 3, 4, 1), (0, 2, 3, 4)) - del x40 - x401 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x401 += einsum(t1, (0, 1), x400, (2, 3, 4, 0), (2, 4, 3, 1)) - del x400 - x402 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x402 += einsum(x397, (0, 1, 2, 3), (1, 0, 2, 3)) - del x397 - x402 += einsum(x399, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x399 - x402 += einsum(x401, (0, 1, 2, 3), (0, 2, 1, 3)) - del x401 - x403 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x403 += einsum(x402, (0, 1, 2, 3), l3, (4, 5, 3, 6, 1, 0), (6, 2, 4, 5)) - del x402 - x404 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x404 += einsum(t1, (0, 1), v.ooov, (2, 0, 3, 4), (2, 3, 1, 4)) - x405 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x405 += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 5, 1, 2), (0, 4, 3, 5)) - x406 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x406 += einsum(t2, (0, 1, 2, 3), x43, (1, 4, 3, 5), (0, 4, 2, 5)) - del x43 - x407 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x407 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x407 += einsum(x404, (0, 1, 2, 3), (0, 1, 2, 3)) - del x404 - x407 += einsum(x405, (0, 1, 2, 3), (0, 1, 2, 3)) - del x405 - x407 += einsum(x406, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x406 - x408 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x408 += einsum(x407, (0, 1, 2, 3), x118, (4, 0, 5, 1, 6, 2), (4, 5, 6, 3)) - del x407 - x409 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x409 += einsum(t2, (0, 1, 2, 3), l3, (4, 5, 3, 1, 6, 0), (6, 4, 5, 2)) - x410 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x410 += einsum(t2, (0, 1, 2, 3), l3, (4, 2, 5, 1, 6, 0), (6, 4, 5, 3)) - x411 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x411 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) - x411 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) * -1.0 - x411 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 1, 2)) * 0.5 - x411 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 0, 2)) * 2.0 - x412 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x412 += einsum(t2, (0, 1, 2, 3), x411, (0, 4, 1, 2, 5, 6), (4, 3, 5, 6)) - del x411 - x413 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x413 += einsum(x409, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 - del x409 - x413 += einsum(x410, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - x413 += einsum(x410, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 - x413 += einsum(x412, (0, 1, 2, 3), (0, 2, 3, 1)) - del x412 - x414 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x414 += einsum(v.ovvv, (0, 1, 2, 3), x413, (4, 5, 2, 3), (0, 4, 1, 5)) - del x413 - x415 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x415 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 5.0 - x415 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 - x415 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -1.0 - x415 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - x415 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 - x415 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 5.0 - x416 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x416 += einsum(l3, (0, 1, 2, 3, 4, 5), x415, (5, 6, 4, 2, 7, 1), (3, 6, 0, 7)) - del x415 - x417 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x417 += einsum(l3, (0, 1, 2, 3, 4, 5), x161, (5, 6, 3, 0, 2, 7), (4, 6, 1, 7)) - del x161 - x418 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x418 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) - x418 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 1, 2)) * -1.0 - x419 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x419 += einsum(t3, (0, 1, 2, 3, 4, 5), x418, (1, 2, 6, 5, 7, 4), (0, 6, 3, 7)) - del x418 - x420 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x420 += einsum(l3, (0, 1, 2, 3, 4, 5), x265, (5, 6, 4, 2, 1, 7), (3, 6, 0, 7)) - del x265 - x421 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x421 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - x421 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) - x422 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x422 += einsum(l3, (0, 1, 2, 3, 4, 5), x421, (3, 6, 5, 2, 1, 7), (4, 6, 0, 7)) - del x421 - x423 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x423 += einsum(x118, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 0.5 - x423 += einsum(x112, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -0.5 - x423 += einsum(x112, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) - x423 += einsum(x112, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) * -0.25 - x423 += einsum(x112, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) * 0.25 - x424 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x424 += einsum(t2, (0, 1, 2, 3), x423, (4, 0, 1, 5, 6, 2), (4, 5, 3, 6)) * 8.00000000000032 - del x423 - x425 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x425 += einsum(x112, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - x425 += einsum(x112, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - x426 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x426 += einsum(t2, (0, 1, 2, 3), x425, (0, 1, 4, 5, 6, 3), (4, 5, 2, 6)) * 2.00000000000008 - del x425 - x427 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x427 += einsum(x197, (0, 1, 2, 3), x77, (0, 4, 2, 5), (4, 1, 5, 3)) * 8.00000000000032 - del x197 - x428 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x428 += einsum(x125, (0, 1, 2, 3), l3, (4, 2, 3, 5, 0, 6), (6, 5, 1, 4)) - del x125 - x429 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x429 += einsum(x117, (0, 1, 2, 3), l3, (2, 4, 3, 0, 5, 6), (6, 5, 1, 4)) * 0.3333333333333333 - x430 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x430 += einsum(x165, (0, 1, 2, 3), (0, 1, 2, 3)) - x430 += einsum(x165, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.3333333333333333 - x430 += einsum(x167, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.3333333333333333 - x430 += einsum(x167, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.3333333333333333 - x430 += einsum(x428, (0, 1, 2, 3), (1, 0, 2, 3)) - x430 += einsum(x429, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x429 - x431 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x431 += einsum(t1, (0, 1), x430, (2, 0, 3, 4), (2, 3, 1, 4)) * 6.00000000000024 - del x430 - x432 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x432 += einsum(x194, (0, 1, 2, 3), (0, 1, 2, 3)) - del x194 - x432 += einsum(l2, (0, 1, 2, 3), (3, 2, 0, 1)) * 4.00000000000016 - x432 += einsum(l2, (0, 1, 2, 3), (2, 3, 0, 1)) * -8.00000000000032 - x432 += einsum(x416, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x416 - x432 += einsum(x417, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x417 - x432 += einsum(x419, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x419 - x432 += einsum(x420, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x420 - x432 += einsum(x422, (0, 1, 2, 3), (0, 1, 2, 3)) - del x422 - x432 += einsum(x424, (0, 1, 2, 3), (0, 1, 3, 2)) - del x424 - x432 += einsum(x426, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x426 - x432 += einsum(x427, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x427 - x432 += einsum(x431, (0, 1, 2, 3), (0, 1, 3, 2)) - del x431 - x433 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x433 += einsum(v.ovov, (0, 1, 2, 3), x432, (4, 2, 5, 3), (0, 4, 1, 5)) * 0.24999999999999 - del x432 - x434 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x434 += einsum(l2, (0, 1, 2, 3), t2, (4, 2, 5, 1), (3, 4, 0, 5)) - x435 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x435 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (3, 6, 5, 1, 7, 2), (4, 6, 0, 7)) - x436 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x436 += einsum(t2, (0, 1, 2, 3), x118, (4, 0, 1, 5, 6, 2), (4, 5, 6, 3)) - x437 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x437 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 4.0 - x437 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -1.0 - x437 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - x438 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x438 += einsum(l3, (0, 1, 2, 3, 4, 5), x437, (4, 6, 5, 1, 7, 2), (3, 6, 0, 7)) - del x437 - x439 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x439 += einsum(l3, (0, 1, 2, 3, 4, 5), x196, (5, 6, 3, 0, 2, 7), (4, 6, 1, 7)) - del x196 - x440 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x440 += einsum(x117, (0, 1, 2, 3), x112, (0, 1, 4, 5, 2, 6), (4, 5, 6, 3)) * 2.00000000000008 - x441 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x441 += einsum(l2, (0, 1, 2, 3), x77, (3, 4, 1, 5), (2, 4, 0, 5)) * 4.00000000000016 - x442 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x442 += einsum(t1, (0, 1), x336, (2, 0, 3, 4), (2, 3, 1, 4)) * 2.00000000000008 - del x336 - x443 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x443 += einsum(x434, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.00000000000016 - del x434 - x443 += einsum(x435, (0, 1, 2, 3), (0, 1, 2, 3)) - del x435 - x443 += einsum(x195, (0, 1, 2, 3), (0, 1, 2, 3)) - del x195 - x443 += einsum(x436, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.00000000000016 - del x436 - x443 += einsum(x438, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x438 - x443 += einsum(x439, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x439 - x443 += einsum(x440, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x440 - x443 += einsum(x441, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x441 - x443 += einsum(x442, (0, 1, 2, 3), (0, 1, 3, 2)) - del x442 - x444 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x444 += einsum(v.ovov, (0, 1, 2, 3), x443, (4, 2, 5, 1), (0, 4, 3, 5)) * 0.24999999999999 - del x443 - x445 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x445 += einsum(x217, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x445 += einsum(x217, (0, 1, 2, 3), (0, 2, 1, 3)) - del x217 - x446 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x446 += einsum(x445, (0, 1, 2, 3), l3, (4, 5, 3, 1, 6, 2), (6, 0, 4, 5)) * 0.5 - del x445 - x447 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x447 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x447 += einsum(x70, (0, 1, 2, 3), (0, 1, 2, 3)) - x448 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x448 += einsum(x447, (0, 1, 2, 3), x112, (4, 0, 5, 1, 6, 2), (4, 5, 6, 3)) - del x447 - x449 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x449 += einsum(x117, (0, 1, 2, 3), l3, (4, 5, 2, 1, 6, 0), (6, 4, 5, 3)) * 0.5 - del x117 - x450 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x450 += einsum(x372, (0, 1, 2, 3), (0, 1, 2, 3)) - x450 += einsum(x449, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x449 - x451 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x451 += einsum(v.ovvv, (0, 1, 2, 3), x450, (4, 5, 3, 1), (0, 4, 2, 5)) - del x450 - x452 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x452 += einsum(t1, (0, 1), x8, (2, 0, 3, 4), (2, 3, 1, 4)) - x453 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x453 += einsum(x90, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x453 += einsum(x452, (0, 1, 2, 3), (0, 1, 2, 3)) - del x452 - x454 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x454 += einsum(x453, (0, 1, 2, 3), x112, (4, 0, 5, 1, 6, 2), (4, 5, 6, 3)) - del x453 - x455 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x455 += einsum(x122, (0, 1, 2, 3), (1, 0, 2, 3)) - x455 += einsum(x199, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x199 - x456 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x456 += einsum(v.ovvv, (0, 1, 2, 3), x455, (4, 5, 0, 3), (4, 5, 1, 2)) - del x455 - x457 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x457 += einsum(v.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x457 += einsum(v.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) * 2.0 - x458 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x458 += einsum(t1, (0, 1), x457, (2, 1, 3, 4), (0, 2, 3, 4)) - del x457 - x459 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x459 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) - x459 += einsum(x458, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x458 - x460 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x460 += einsum(l2, (0, 1, 2, 3), x459, (3, 4, 5, 1), (2, 4, 0, 5)) - del x459 - x461 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x461 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x461 += einsum(v.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) - x462 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x462 += einsum(x212, (0, 1, 2, 3), x461, (0, 4, 2, 5), (1, 4, 3, 5)) * -0.5 - del x461 - x463 = np.zeros((nvir, nvir), dtype=types[float]) - x463 += einsum(v.ovov, (0, 1, 2, 3), x190, (0, 2, 4, 1), (3, 4)) - x464 = np.zeros((nvir, nvir), dtype=types[float]) - x464 += einsum(t1, (0, 1), x393, (0, 1, 2, 3), (2, 3)) * 0.5 - x465 = np.zeros((nvir, nvir), dtype=types[float]) - x465 += einsum(x463, (0, 1), (0, 1)) - del x463 - x465 += einsum(x464, (0, 1), (1, 0)) * -1.0 - del x464 - x466 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x466 += einsum(x465, (0, 1), l2, (2, 1, 3, 4), (4, 3, 2, 0)) * 2.0 - del x465 - x467 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x467 += einsum(x171, (0, 1, 2, 3), (0, 1, 2, 3)) - del x171 - x467 += einsum(x176, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0000000000000804 - del x176 - x468 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x468 += einsum(v.ovov, (0, 1, 2, 3), x467, (4, 5, 0, 2), (4, 5, 3, 1)) * 0.49999999999997996 - del x467 - x469 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x469 += einsum(x122, (0, 1, 2, 3), x263, (1, 4, 2, 5), (0, 4, 3, 5)) - del x263 - x470 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x470 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) - x470 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 4, 3, 0, 2, 1)) - x470 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) * -3.0 - x471 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x471 += einsum(t2, (0, 1, 2, 3), x470, (1, 4, 5, 6, 2, 3), (0, 4, 5, 6)) - del x470 - x472 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x472 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * 0.3333333333333333 - x472 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 4, 3, 0, 2, 1)) - x472 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) * -0.3333333333333333 - x473 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x473 += einsum(t2, (0, 1, 2, 3), x472, (1, 4, 5, 6, 3, 2), (0, 4, 5, 6)) * 3.0 - del x472 - x474 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x474 += einsum(x122, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 - x474 += einsum(x471, (0, 1, 2, 3), (2, 1, 0, 3)) - del x471 - x474 += einsum(x473, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - del x473 - x475 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x475 += einsum(v.ooov, (0, 1, 2, 3), x474, (4, 0, 1, 5), (2, 4, 3, 5)) * 0.5 - del x474 - x476 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x476 += einsum(x122, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x476 += einsum(x122, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 - x477 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x477 += einsum(x476, (0, 1, 2, 3), x8, (0, 4, 2, 5), (4, 1, 5, 3)) - del x476 - x478 = np.zeros((nocc, nocc), dtype=types[float]) - x478 += einsum(t1, (0, 1), x36, (2, 1), (0, 2)) * 2.0 - x479 = np.zeros((nocc, nocc), dtype=types[float]) - x479 += einsum(x271, (0, 1), (1, 0)) - del x271 - x479 += einsum(x273, (0, 1), (1, 0)) - del x273 - x479 += einsum(x478, (0, 1), (0, 1)) - del x478 - x480 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x480 += einsum(x479, (0, 1), l2, (2, 3, 0, 4), (4, 1, 2, 3)) - x481 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x481 += einsum(x67, (0, 1), x362, (2, 3, 0, 4), (2, 3, 4, 1)) - del x67, x362 - x482 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x482 += einsum(f.ov, (0, 1), x212, (2, 3, 0, 4), (2, 3, 4, 1)) * -0.5 - x483 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x483 += einsum(f.ov, (0, 1), l1, (2, 3), (0, 3, 1, 2)) - x483 += einsum(x365, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x365 - x483 += einsum(x366, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x366 - x483 += einsum(x367, (0, 1, 2, 3), (0, 1, 2, 3)) - del x367 - x483 += einsum(x368, (0, 1, 2, 3), (0, 1, 2, 3)) - del x368 - x483 += einsum(x369, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x369 - x483 += einsum(x370, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x370 - x483 += einsum(x371, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.49999999999997996 - del x371 - x483 += einsum(x373, (0, 1, 2, 3), (0, 1, 2, 3)) - del x373 - x483 += einsum(x381, (0, 1, 2, 3), (0, 1, 2, 3)) - del x381 - x483 += einsum(x391, (0, 1, 2, 3), (0, 1, 2, 3)) - del x391 - x483 += einsum(x396, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x396 - x483 += einsum(x403, (0, 1, 2, 3), (0, 1, 2, 3)) - del x403 - x483 += einsum(x408, (0, 1, 2, 3), (0, 1, 2, 3)) - del x408 - x483 += einsum(x414, (0, 1, 2, 3), (1, 0, 3, 2)) - del x414 - x483 += einsum(x433, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x433 - x483 += einsum(x444, (0, 1, 2, 3), (1, 0, 3, 2)) - del x444 - x483 += einsum(x446, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x446 - x483 += einsum(x448, (0, 1, 2, 3), (0, 1, 2, 3)) - del x448 - x483 += einsum(x451, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x451 - x483 += einsum(x454, (0, 1, 2, 3), (0, 1, 2, 3)) - del x454 - x483 += einsum(x456, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x456 - x483 += einsum(x460, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x460 - x483 += einsum(x462, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x462 - x483 += einsum(x466, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x466 - x483 += einsum(x468, (0, 1, 2, 3), (0, 1, 3, 2)) - del x468 - x483 += einsum(x469, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x469 - x483 += einsum(x475, (0, 1, 2, 3), (1, 0, 3, 2)) - del x475 - x483 += einsum(x477, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x477 - x483 += einsum(x480, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x480 - x483 += einsum(x481, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x481 - x483 += einsum(x482, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x482 - x483 += einsum(l1, (0, 1), x36, (2, 3), (1, 2, 0, 3)) * 2.0 - l2new += einsum(x483, (0, 1, 2, 3), (2, 3, 0, 1)) - l2new += einsum(x483, (0, 1, 2, 3), (3, 2, 1, 0)) - del x483 - x484 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x484 += einsum(v.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x484 += einsum(x65, (0, 1, 2, 3), (1, 3, 0, 2)) - x484 += einsum(x20, (0, 1, 2, 3), (0, 2, 1, 3)) - x485 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x485 += einsum(x484, (0, 1, 2, 3), l3, (4, 5, 6, 0, 7, 2), (7, 1, 3, 4, 6, 5)) * 0.5 - del x484 - l3new += einsum(x485, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 0, 2)) * -1.0 - l3new += einsum(x485, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 0, 2)) - del x485 - x486 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x486 += einsum(x20, (0, 1, 2, 3), l3, (4, 5, 6, 7, 1, 0), (7, 2, 3, 4, 6, 5)) - del x20 - x487 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x487 += einsum(v.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x487 += einsum(x5, (0, 1, 2, 3), (2, 1, 0, 3)) - x487 += einsum(x65, (0, 1, 2, 3), (1, 3, 0, 2)) - del x65 - x488 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x488 += einsum(x487, (0, 1, 2, 3), l3, (4, 5, 6, 0, 2, 7), (7, 1, 3, 4, 6, 5)) - del x487 - x489 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x489 += einsum(x360, (0, 1), l3, (2, 3, 4, 0, 5, 6), (6, 5, 1, 2, 4, 3)) - del x360 - x490 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x490 += einsum(x486, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x486 - x490 += einsum(x488, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) - del x488 - x490 += einsum(x489, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) - del x489 - l3new += einsum(x490, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) - l3new += einsum(x490, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 2, 0)) * -1.0 - del x490 - x491 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x491 += einsum(l2, (0, 1, 2, 3), v.ooov, (4, 3, 5, 6), (2, 4, 5, 0, 1, 6)) - l3new += einsum(x491, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 1, 2)) * -1.0 - l3new += einsum(x491, (0, 1, 2, 3, 4, 5), (5, 4, 3, 0, 1, 2)) - l3new += einsum(x491, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * -1.0 - l3new += einsum(x491, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) - l3new += einsum(x491, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 0, 2)) * -1.0 - l3new += einsum(x491, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) - l3new += einsum(x491, (0, 1, 2, 3, 4, 5), (4, 3, 5, 2, 0, 1)) - l3new += einsum(x491, (0, 1, 2, 3, 4, 5), (5, 3, 4, 2, 0, 1)) * -1.0 - l3new += einsum(x491, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 2, 0)) - l3new += einsum(x491, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) * -1.0 - l3new += einsum(x491, (0, 1, 2, 3, 4, 5), (3, 4, 5, 2, 1, 0)) - l3new += einsum(x491, (0, 1, 2, 3, 4, 5), (5, 4, 3, 2, 1, 0)) * -1.0 - del x491 - x492 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x492 += einsum(f.vv, (0, 1), l3, (2, 3, 1, 4, 5, 6), (4, 6, 5, 0, 2, 3)) - x493 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x493 += einsum(f.ov, (0, 1), x112, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) - x494 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x494 += einsum(v.vvvv, (0, 1, 2, 3), l3, (4, 3, 1, 5, 6, 7), (5, 7, 6, 4, 0, 2)) - x495 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x495 += einsum(v.ovvv, (0, 1, 2, 3), x112, (4, 5, 6, 0, 7, 3), (4, 5, 6, 7, 1, 2)) - x496 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x496 += einsum(t2, (0, 1, 2, 3), l3, (4, 3, 2, 5, 6, 7), (5, 7, 6, 0, 1, 4)) - x497 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x497 += einsum(x496, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x496 - x497 += einsum(x151, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x151 - x498 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x498 += einsum(v.ovov, (0, 1, 2, 3), x497, (4, 5, 6, 2, 0, 7), (4, 5, 6, 1, 3, 7)) - del x497 - x499 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x499 += einsum(x492, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - del x492 - x499 += einsum(x493, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x493 - x499 += einsum(x494, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x494 - x499 += einsum(x495, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - del x495 - x499 += einsum(x498, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) - del x498 - l3new += einsum(x499, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) - l3new += einsum(x499, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) * -1.0 - del x499 - x500 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x500 += einsum(l2, (0, 1, 2, 3), v.ovvv, (4, 5, 6, 1), (2, 3, 4, 0, 5, 6)) - x501 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x501 += einsum(l2, (0, 1, 2, 3), x8, (3, 4, 5, 6), (2, 4, 5, 0, 1, 6)) - x502 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x502 += einsum(v.ovov, (0, 1, 2, 3), x122, (4, 5, 2, 6), (4, 5, 0, 6, 1, 3)) - del x122 - x503 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x503 += einsum(x500, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - del x500 - x503 += einsum(x501, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x501 - x503 += einsum(x502, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x502 - l3new += einsum(x503, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 1, 2)) * -1.0 - l3new += einsum(x503, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 1, 2)) - l3new += einsum(x503, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 2, 1)) * -1.0 - l3new += einsum(x503, (0, 1, 2, 3, 4, 5), (5, 4, 3, 0, 2, 1)) - l3new += einsum(x503, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 0, 2)) - l3new += einsum(x503, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) * -1.0 - l3new += einsum(x503, (0, 1, 2, 3, 4, 5), (4, 3, 5, 2, 0, 1)) * -1.0 - l3new += einsum(x503, (0, 1, 2, 3, 4, 5), (5, 3, 4, 2, 0, 1)) - l3new += einsum(x503, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 2, 0)) - l3new += einsum(x503, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 2, 0)) * -1.0 - l3new += einsum(x503, (0, 1, 2, 3, 4, 5), (3, 5, 4, 2, 1, 0)) - l3new += einsum(x503, (0, 1, 2, 3, 4, 5), (4, 5, 3, 2, 1, 0)) * -1.0 - del x503 - x504 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x504 += einsum(v.vvvv, (0, 1, 2, 3), l3, (1, 4, 3, 5, 6, 7), (5, 7, 6, 4, 0, 2)) - x505 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x505 += einsum(t2, (0, 1, 2, 3), l3, (2, 4, 3, 5, 6, 7), (5, 7, 6, 0, 1, 4)) - x506 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x506 += einsum(t1, (0, 1), x112, (2, 3, 4, 5, 1, 6), (2, 3, 4, 0, 5, 6)) - x507 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x507 += einsum(x505, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x505 - x507 += einsum(x506, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x506 - x508 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x508 += einsum(v.ovov, (0, 1, 2, 3), x507, (4, 5, 6, 2, 0, 7), (4, 5, 6, 1, 3, 7)) * 0.5 - del x507 - x509 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x509 += einsum(x504, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 0.5 - del x504 - x509 += einsum(x508, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) - del x508 - l3new += einsum(x509, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 2, 0)) * -1.0 - l3new += einsum(x509, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) - del x509 - x510 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x510 += einsum(v.ovov, (0, 1, 2, 3), x212, (4, 5, 2, 6), (0, 4, 5, 3, 1, 6)) * -0.5 - del x212 - l3new += einsum(x510, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) - l3new += einsum(x510, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 2, 0)) * -1.0 - l3new += einsum(x510, (0, 1, 2, 3, 4, 5), (5, 3, 4, 2, 1, 0)) * -1.0 - l3new += einsum(x510, (0, 1, 2, 3, 4, 5), (4, 3, 5, 2, 1, 0)) - l3new += einsum(x510, (0, 1, 2, 3, 4, 5), (5, 3, 4, 0, 1, 2)) - l3new += einsum(x510, (0, 1, 2, 3, 4, 5), (4, 3, 5, 0, 1, 2)) * -1.0 - l3new += einsum(x510, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) * -1.0 - l3new += einsum(x510, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) - del x510 - x511 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x511 += einsum(v.ovov, (0, 1, 2, 3), x165, (4, 5, 2, 6), (4, 5, 0, 6, 1, 3)) - del x165 - l3new += einsum(x511, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 1, 2)) * -1.0 - l3new += einsum(x511, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 1, 2)) - l3new += einsum(x511, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 2, 1)) * -0.5 - l3new += einsum(x511, (0, 1, 2, 3, 4, 5), (5, 4, 3, 0, 2, 1)) * 0.5 - l3new += einsum(x511, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 0, 2)) - l3new += einsum(x511, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) * -1.0 - l3new += einsum(x511, (0, 1, 2, 3, 4, 5), (4, 3, 5, 2, 0, 1)) * -1.0 - l3new += einsum(x511, (0, 1, 2, 3, 4, 5), (5, 3, 4, 2, 0, 1)) - l3new += einsum(x511, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 2, 0)) * 0.5 - l3new += einsum(x511, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 2, 0)) * -0.5 - l3new += einsum(x511, (0, 1, 2, 3, 4, 5), (3, 5, 4, 2, 1, 0)) - l3new += einsum(x511, (0, 1, 2, 3, 4, 5), (4, 5, 3, 2, 1, 0)) * -1.0 - del x511 - x512 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x512 += einsum(v.ooov, (0, 1, 2, 3), x112, (4, 5, 1, 2, 6, 7), (4, 5, 0, 6, 7, 3)) - x513 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x513 += einsum(v.ovvv, (0, 1, 2, 3), x118, (4, 5, 6, 0, 3, 7), (5, 4, 6, 7, 1, 2)) - x514 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x514 += einsum(x8, (0, 1, 2, 3), x112, (4, 5, 0, 1, 6, 7), (4, 5, 2, 6, 7, 3)) - x515 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x515 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) - x515 += einsum(x90, (0, 1, 2, 3), (0, 1, 3, 2)) - del x90 - x515 += einsum(x70, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.00000000000001 - del x70 - l3new += einsum(x515, (0, 1, 2, 3), l3, (4, 2, 5, 6, 0, 7), (4, 3, 5, 6, 1, 7)) * -1.0 - x516 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x516 += einsum(x515, (0, 1, 2, 3), l3, (4, 5, 2, 6, 0, 7), (7, 6, 1, 4, 5, 3)) - x517 = np.zeros((nvir, nvir), dtype=types[float]) - x517 += einsum(v.ovov, (0, 1, 2, 3), x190, (0, 2, 4, 1), (3, 4)) * 2.0 - del x190 - x518 = np.zeros((nvir, nvir), dtype=types[float]) - x518 += einsum(t1, (0, 1), x393, (0, 1, 2, 3), (2, 3)) - del x393 - x519 = np.zeros((nvir, nvir), dtype=types[float]) - x519 += einsum(x517, (0, 1), (0, 1)) - del x517 - x519 += einsum(x518, (0, 1), (1, 0)) * -1.0 - del x518 - x520 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x520 += einsum(x519, (0, 1), l3, (2, 3, 1, 4, 5, 6), (6, 4, 5, 2, 3, 0)) - del x519 - x521 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x521 += einsum(x36, (0, 1), x112, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 6, 1)) * 2.0 - del x36 - x522 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x522 += einsum(v.ovov, (0, 1, 2, 3), x428, (4, 5, 2, 6), (0, 5, 4, 3, 1, 6)) * 1.5 - del x428 - x523 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x523 += einsum(x512, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - del x512 - x523 += einsum(x513, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x513 - x523 += einsum(x514, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - del x514 - x523 += einsum(x516, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) - del x516 - x523 += einsum(x520, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) - del x520 - x523 += einsum(x521, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x521 - x523 += einsum(x522, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) - del x522 - l3new += einsum(x523, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 2, 1)) * -1.0 - l3new += einsum(x523, (0, 1, 2, 3, 4, 5), (5, 4, 3, 0, 2, 1)) - del x523 - x524 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x524 += einsum(v.ovov, (0, 1, 2, 3), x155, (4, 5, 6, 1), (0, 2, 4, 3, 5, 6)) * -0.5 - del x155 - l3new += einsum(x524, (0, 1, 2, 3, 4, 5), (5, 4, 3, 2, 0, 1)) * -1.0 - l3new += einsum(x524, (0, 1, 2, 3, 4, 5), (3, 4, 5, 2, 0, 1)) - l3new += einsum(x524, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) - l3new += einsum(x524, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 2, 0)) * -1.0 - l3new += einsum(x524, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) * -1.0 - l3new += einsum(x524, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) - l3new += einsum(x524, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 0, 2)) - l3new += einsum(x524, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 0, 2)) * -1.0 - del x524 - x525 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x525 += einsum(v.ovov, (0, 1, 2, 3), x410, (4, 5, 6, 3), (4, 0, 2, 6, 5, 1)) - del x410 - l3new += einsum(x525, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 1, 2)) * 0.5 - l3new += einsum(x525, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 1, 2)) * -0.5 - l3new += einsum(x525, (0, 1, 2, 3, 4, 5), (3, 5, 4, 2, 1, 0)) * -0.5 - l3new += einsum(x525, (0, 1, 2, 3, 4, 5), (4, 5, 3, 2, 1, 0)) * 0.5 - del x525 - x526 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x526 += einsum(v.ovov, (0, 1, 2, 3), x167, (4, 5, 2, 6), (4, 5, 0, 6, 1, 3)) - del x167 - l3new += einsum(x526, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 2, 1)) * 0.5 - l3new += einsum(x526, (0, 1, 2, 3, 4, 5), (5, 4, 3, 0, 2, 1)) * -0.5 - l3new += einsum(x526, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 2, 0)) * -0.5 - l3new += einsum(x526, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 2, 0)) * 0.5 - del x526 - x527 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x527 += einsum(x5, (0, 1, 2, 3), l3, (4, 5, 6, 7, 2, 0), (7, 1, 3, 4, 6, 5)) - x528 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x528 += einsum(v.ooov, (0, 1, 2, 3), x118, (4, 1, 5, 2, 6, 7), (4, 5, 0, 6, 7, 3)) - x529 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x529 += einsum(x8, (0, 1, 2, 3), x118, (0, 4, 5, 1, 6, 7), (4, 5, 2, 7, 6, 3)) - x530 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x530 += einsum(x515, (0, 1, 2, 3), l3, (4, 2, 5, 0, 6, 7), (7, 6, 1, 4, 5, 3)) - x531 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x531 += einsum(x479, (0, 1), l3, (2, 3, 4, 0, 5, 6), (6, 5, 1, 2, 4, 3)) - del x479 - x532 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x532 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * -0.5 - x532 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) - x533 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x533 += einsum(t2, (0, 1, 2, 3), x532, (0, 4, 1, 5, 6, 2), (4, 3, 5, 6)) * 2.0 - del x532 - x534 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x534 += einsum(v.ovov, (0, 1, 2, 3), x533, (4, 1, 5, 6), (0, 2, 4, 3, 6, 5)) - del x533 - x535 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x535 += einsum(x527, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x527 - x535 += einsum(x528, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x528 - x535 += einsum(x529, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x529 - x535 += einsum(x530, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - del x530 - x535 += einsum(x531, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - del x531 - x535 += einsum(x534, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -1.0 - del x534 - l3new += einsum(x535, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 1, 2)) - l3new += einsum(x535, (0, 1, 2, 3, 4, 5), (3, 5, 4, 2, 1, 0)) * -1.0 - del x535 - x536 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x536 += einsum(v.ovov, (0, 1, 2, 3), x372, (4, 5, 6, 3), (4, 0, 2, 5, 6, 1)) - del x372 - l3new += einsum(x536, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 2, 1)) * -1.0 - l3new += einsum(x536, (0, 1, 2, 3, 4, 5), (5, 4, 3, 0, 2, 1)) - l3new += einsum(x536, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 0, 2)) - l3new += einsum(x536, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) * -1.0 - l3new += einsum(x536, (0, 1, 2, 3, 4, 5), (4, 3, 5, 2, 0, 1)) * -1.0 - l3new += einsum(x536, (0, 1, 2, 3, 4, 5), (5, 3, 4, 2, 0, 1)) - l3new += einsum(x536, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 2, 0)) - l3new += einsum(x536, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 2, 0)) * -1.0 - del x536 - x537 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x537 += einsum(v.ooov, (0, 1, 2, 3), x112, (4, 0, 5, 1, 6, 7), (4, 5, 2, 6, 7, 3)) - x538 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x538 += einsum(x8, (0, 1, 2, 3), x112, (4, 0, 5, 2, 6, 7), (4, 5, 1, 6, 7, 3)) - x539 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x539 += einsum(v.ovov, (0, 1, 2, 3), x77, (2, 4, 3, 5), (0, 4, 1, 5)) * 1.00000000000001 - x540 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x540 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x540 += einsum(x99, (0, 1, 2, 3), (0, 1, 3, 2)) - x540 += einsum(x76, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.00000000000001 - x540 += einsum(x539, (0, 1, 2, 3), (1, 0, 3, 2)) - del x539 - x541 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x541 += einsum(x540, (0, 1, 2, 3), l3, (4, 5, 2, 6, 7, 0), (6, 7, 1, 4, 5, 3)) - del x540 - x542 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x542 += einsum(x537, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x537 - x542 += einsum(x538, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x538 - x542 += einsum(x541, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - del x541 - l3new += einsum(x542, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 1, 2)) * -1.0 - l3new += einsum(x542, (0, 1, 2, 3, 4, 5), (5, 4, 3, 0, 1, 2)) - l3new += einsum(x542, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * -1.0 - l3new += einsum(x542, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 0, 2)) * -1.0 - l3new += einsum(x542, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) - l3new += einsum(x542, (0, 1, 2, 3, 4, 5), (4, 3, 5, 2, 0, 1)) - l3new += einsum(x542, (0, 1, 2, 3, 4, 5), (5, 3, 4, 2, 0, 1)) * -1.0 - l3new += einsum(x542, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 2, 0)) - l3new += einsum(x542, (0, 1, 2, 3, 4, 5), (3, 4, 5, 2, 1, 0)) - l3new += einsum(x542, (0, 1, 2, 3, 4, 5), (5, 4, 3, 2, 1, 0)) * -1.0 - del x542 - x543 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x543 += einsum(v.ooov, (0, 1, 2, 3), x112, (4, 1, 5, 2, 6, 7), (4, 5, 0, 6, 7, 3)) - x544 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x544 += einsum(x8, (0, 1, 2, 3), x112, (4, 0, 5, 1, 6, 7), (4, 5, 2, 6, 7, 3)) - del x8 - x545 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x545 += einsum(x515, (0, 1, 2, 3), l3, (4, 5, 2, 6, 7, 0), (6, 7, 1, 4, 5, 3)) - del x515 - x546 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x546 += einsum(x543, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x543 - x546 += einsum(x544, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x544 - x546 += einsum(x545, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - del x545 - l3new += einsum(x546, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 1, 2)) - l3new += einsum(x546, (0, 1, 2, 3, 4, 5), (5, 4, 3, 0, 1, 2)) * -1.0 - l3new += einsum(x546, (0, 1, 2, 3, 4, 5), (3, 4, 5, 2, 1, 0)) * -1.0 - l3new += einsum(x546, (0, 1, 2, 3, 4, 5), (5, 4, 3, 2, 1, 0)) - del x546 - x547 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x547 += einsum(v.ovvv, (0, 1, 2, 3), x112, (4, 5, 6, 0, 3, 7), (5, 4, 6, 7, 1, 2)) - del x112 - l3new += einsum(x547, (0, 1, 2, 3, 4, 5), (4, 3, 5, 0, 2, 1)) * -1.0 - l3new += einsum(x547, (0, 1, 2, 3, 4, 5), (5, 3, 4, 0, 2, 1)) - del x547 - x548 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x548 += einsum(x5, (0, 1, 2, 3), l3, (4, 5, 6, 0, 7, 2), (7, 1, 3, 4, 6, 5)) - del x5 - l3new += einsum(x548, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 0, 2)) * -1.0 - l3new += einsum(x548, (0, 1, 2, 3, 4, 5), (3, 5, 4, 2, 0, 1)) - del x548 - x549 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x549 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * 0.99999999999999 - x549 += einsum(x99, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.99999999999999 - del x99 - x549 += einsum(x76, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x76 - x549 += einsum(x96, (0, 1, 2, 3), (1, 0, 3, 2)) - del x96 - l3new += einsum(x549, (0, 1, 2, 3), x141, (4, 5, 0, 2, 6, 7), (6, 3, 7, 5, 1, 4)) * 1.00000000000001 - del x141, x549 - x550 = np.zeros((nvir, nvir), dtype=types[float]) - x550 += einsum(f.vv, (0, 1), (0, 1)) - x550 += einsum(v.ovov, (0, 1, 2, 3), x77, (0, 2, 1, 4), (4, 3)) * -1.0 - del x77 - x550 += einsum(t1, (0, 1), x54, (0, 1, 2, 3), (3, 2)) * 2.0 - del x54 - l3new += einsum(x550, (0, 1), l3, (2, 0, 3, 4, 5, 6), (2, 1, 3, 4, 5, 6)) - del x550 - x551 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x551 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x551 += einsum(v.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - l3new += einsum(x551, (0, 1, 2, 3), x118, (4, 5, 0, 1, 6, 7), (7, 3, 6, 5, 2, 4)) * -1.0 - del x118, x551 - x552 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x552 += einsum(l2, (0, 1, 2, 3), (3, 2, 0, 1)) - x552 += einsum(l2, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 - l3new += einsum(x68, (0, 1), x552, (2, 3, 4, 5), (5, 1, 4, 3, 0, 2)) * -1.0 - del x68, x552 - - return {"l1new": l1new, "l2new": l2new, "l3new": l3new} - -def make_rdm1_f(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, t3=None, l1=None, l2=None, l3=None, **kwargs): - delta = Namespace(oo=np.eye(nocc), vv=np.eye(nvir)) - - # RDM1 - rdm1_f_oo = np.zeros((nocc, nocc), dtype=types[float]) - rdm1_f_oo += einsum(delta.oo, (0, 1), (0, 1)) * 2.0 - rdm1_f_oo += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 5, 3, 1, 0, 2), (6, 4)) * 0.16666666666666 - rdm1_f_ov = np.zeros((nocc, nvir), dtype=types[float]) - rdm1_f_ov += einsum(t1, (0, 1), (0, 1)) * 2.0 - rdm1_f_vo = np.zeros((nvir, nocc), dtype=types[float]) - rdm1_f_vo += einsum(l1, (0, 1), (0, 1)) * 2.0 - rdm1_f_vv = np.zeros((nvir, nvir), dtype=types[float]) - rdm1_f_vv += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (3, 4, 5, 0, 6, 2), (1, 6)) * 0.49999999999998 - rdm1_f_vv += einsum(l1, (0, 1), t1, (1, 2), (0, 2)) * 2.0 - x0 = np.zeros((nocc, nocc), dtype=types[float]) - x0 += einsum(l1, (0, 1), t1, (2, 0), (1, 2)) - rdm1_f_oo += einsum(x0, (0, 1), (1, 0)) * -2.0 - x1 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x1 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -0.14285714285714288 - x1 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 0.14285714285714288 - x1 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) - x1 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -0.14285714285714288 - rdm1_f_oo += einsum(l3, (0, 1, 2, 3, 4, 5), x1, (4, 6, 3, 0, 2, 1), (6, 5)) * -1.16666666666662 - del x1 - x2 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x2 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 3.0 - x2 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) - x2 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -1.0 - rdm1_f_oo += einsum(l3, (0, 1, 2, 3, 4, 5), x2, (3, 5, 6, 0, 2, 1), (6, 4)) * -0.16666666666666 - del x2 - x3 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x3 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - x3 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 - rdm1_f_oo += einsum(l3, (0, 1, 2, 3, 4, 5), x3, (3, 6, 4, 0, 1, 2), (6, 5)) * 0.16666666666666 - del x3 - x4 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x4 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x4 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - rdm1_f_oo += einsum(l2, (0, 1, 2, 3), x4, (2, 4, 0, 1), (4, 3)) * -2.0 - del x4 - x5 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x5 += einsum(t1, (0, 1), l3, (2, 1, 3, 4, 5, 6), (4, 6, 5, 0, 2, 3)) - rdm1_f_ov += einsum(t3, (0, 1, 2, 3, 4, 5), x5, (0, 2, 1, 6, 3, 5), (6, 4)) * -0.49999999999998 - del x5 - x6 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x6 += einsum(t1, (0, 1), l3, (2, 3, 1, 4, 5, 6), (4, 6, 5, 0, 2, 3)) - x7 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x7 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - x7 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 6.999999999999999 - x7 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) - x7 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) - x7 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -1.0 - x7 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 - rdm1_f_ov += einsum(x6, (0, 1, 2, 3, 4, 5), x7, (0, 1, 2, 5, 6, 4), (3, 6)) * -0.16666666666666 - del x7 - x8 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x8 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - x8 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 - x8 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) - rdm1_f_ov += einsum(x6, (0, 1, 2, 3, 4, 5), x8, (0, 2, 1, 5, 4, 6), (3, 6)) * 0.16666666666666 - del x6, x8 - x9 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x9 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - x9 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 6.0 - x9 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) - x9 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 - rdm1_f_ov += einsum(l2, (0, 1, 2, 3), x9, (2, 4, 3, 1, 0, 5), (4, 5)) * 0.5 - del x9 - x10 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x10 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - x10 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 2.0 - rdm1_f_ov += einsum(l2, (0, 1, 2, 3), x10, (3, 4, 2, 1, 0, 5), (4, 5)) * -0.5 - del x10 - x11 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x11 += einsum(t1, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2)) - x12 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x12 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.3333333333333333 - x12 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - x13 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x13 += einsum(x12, (0, 1, 2, 3), l3, (4, 2, 3, 5, 0, 6), (1, 6, 5, 4)) * 0.75 - del x12 - x14 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x14 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) - x14 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.3333333333333333 - x15 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x15 += einsum(x11, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x15 += einsum(x11, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x11 - x15 += einsum(x13, (0, 1, 2, 3), (2, 1, 0, 3)) - x15 += einsum(x13, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - del x13 - x15 += einsum(x14, (0, 1, 2, 3), l3, (4, 2, 3, 5, 6, 0), (5, 6, 1, 4)) * 1.5 - del x14 - rdm1_f_ov += einsum(t2, (0, 1, 2, 3), x15, (0, 1, 4, 2), (4, 3)) * -2.0 - del x15 - x16 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x16 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 3, 4, 0, 2, 1)) * -1.0 - x16 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) - x16 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 0, 2)) - x17 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x17 += einsum(t2, (0, 1, 2, 3), l3, (4, 2, 3, 5, 6, 1), (5, 6, 0, 4)) * -1.0 - x17 += einsum(t2, (0, 1, 2, 3), x16, (1, 4, 5, 3, 2, 6), (4, 5, 0, 6)) - del x16 - rdm1_f_ov += einsum(t2, (0, 1, 2, 3), x17, (0, 1, 4, 3), (4, 2)) * -1.0 - del x17 - x18 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x18 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.5 - x18 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm1_f_ov += einsum(l1, (0, 1), x18, (1, 2, 0, 3), (2, 3)) * 4.0 - del x18 - x19 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x19 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - x19 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - x19 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 6.999999999999999 - x19 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 - x20 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x20 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - x20 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - x20 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 3.0 - x21 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x21 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) - x21 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 4, 3, 0, 2, 1)) - x22 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x22 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) - x22 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x23 = np.zeros((nocc, nocc), dtype=types[float]) - x23 += einsum(x0, (0, 1), (0, 1)) - del x0 - x23 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 5, 4, 1, 0, 2), (3, 6)) * 0.08333333333333 - x23 += einsum(l3, (0, 1, 2, 3, 4, 5), x19, (4, 6, 5, 2, 0, 1), (3, 6)) * 0.08333333333333 - del x19 - x23 += einsum(l3, (0, 1, 2, 3, 4, 5), x20, (3, 6, 5, 1, 0, 2), (4, 6)) * 0.08333333333333 - del x20 - x23 += einsum(t3, (0, 1, 2, 3, 4, 5), x21, (2, 6, 1, 5, 4, 3), (6, 0)) * -0.08333333333333 - del x21 - x23 += einsum(l2, (0, 1, 2, 3), x22, (2, 4, 1, 0), (3, 4)) * 2.0 - del x22 - rdm1_f_ov += einsum(t1, (0, 1), x23, (0, 2), (2, 1)) * -2.0 - del x23 - x24 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x24 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 0.14285714285714288 - x24 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -0.14285714285714288 - x24 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) - x24 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -0.14285714285714288 - x24 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * 0.14285714285714288 - x24 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -0.14285714285714288 - rdm1_f_vv += einsum(l3, (0, 1, 2, 3, 4, 5), x24, (5, 3, 4, 1, 2, 6), (0, 6)) * 1.16666666666662 - del x24 - x25 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x25 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - x25 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - x25 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) - rdm1_f_vv += einsum(l3, (0, 1, 2, 3, 4, 5), x25, (5, 4, 3, 1, 6, 2), (0, 6)) * -0.16666666666666 - del x25 - x26 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x26 += einsum(l2, (0, 1, 2, 3), (3, 2, 0, 1)) * -0.5 - x26 += einsum(l2, (0, 1, 2, 3), (2, 3, 0, 1)) - rdm1_f_vv += einsum(t2, (0, 1, 2, 3), x26, (0, 1, 2, 4), (4, 3)) * 4.0 - del x26 - - rdm1_f = np.block([[rdm1_f_oo, rdm1_f_ov], [rdm1_f_vo, rdm1_f_vv]]) - - return rdm1_f - -def make_rdm2_f(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, t3=None, l1=None, l2=None, l3=None, **kwargs): - delta = Namespace(oo=np.eye(nocc), vv=np.eye(nvir)) - - # RDM2 - rdm2_f_oooo = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - rdm2_f_oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (0, 2, 1, 3)) - rdm2_f_oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (0, 2, 1, 3)) - rdm2_f_oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (0, 2, 1, 3)) - rdm2_f_oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (0, 2, 1, 3)) - rdm2_f_oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_ovoo = np.zeros((nocc, nvir, nocc, nocc), dtype=types[float]) - rdm2_f_ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (0, 2, 1, 3)) - rdm2_f_ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (0, 2, 1, 3)) - rdm2_f_ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (0, 2, 1, 3)) - rdm2_f_ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (0, 2, 1, 3)) - rdm2_f_ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_vooo = np.zeros((nvir, nocc, nocc, nocc), dtype=types[float]) - rdm2_f_vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 0, 3, 1)) - rdm2_f_vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 0, 3, 1)) - rdm2_f_vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 0, 3, 1)) - rdm2_f_vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 0, 3, 1)) - rdm2_f_oovv = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - rdm2_f_oovv += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_ovov = np.zeros((nocc, nvir, nocc, nvir), dtype=types[float]) - rdm2_f_ovov += einsum(l1, (0, 1), t1, (2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_ovov += einsum(l1, (0, 1), t1, (2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_ovvo = np.zeros((nocc, nvir, nvir, nocc), dtype=types[float]) - rdm2_f_ovvo += einsum(l1, (0, 1), t1, (2, 3), (2, 0, 3, 1)) - rdm2_f_ovvo += einsum(l1, (0, 1), t1, (2, 3), (2, 0, 3, 1)) - rdm2_f_ovvo += einsum(l1, (0, 1), t1, (2, 3), (2, 0, 3, 1)) - rdm2_f_ovvo += einsum(l1, (0, 1), t1, (2, 3), (2, 0, 3, 1)) - rdm2_f_voov = np.zeros((nvir, nocc, nocc, nvir), dtype=types[float]) - rdm2_f_voov += einsum(l1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) - rdm2_f_voov += einsum(l1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) - rdm2_f_voov += einsum(l1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) - rdm2_f_voov += einsum(l1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) - rdm2_f_vovo = np.zeros((nvir, nocc, nvir, nocc), dtype=types[float]) - rdm2_f_vovo += einsum(l1, (0, 1), t1, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_vovo += einsum(l1, (0, 1), t1, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_vvoo = np.zeros((nvir, nvir, nocc, nocc), dtype=types[float]) - rdm2_f_vvoo += einsum(l2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_vvoo += einsum(l2, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_vvoo += einsum(l2, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_vvoo += einsum(l2, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_vvoo += einsum(l2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_vvoo += einsum(l2, (0, 1, 2, 3), (0, 1, 2, 3)) - x0 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x0 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 7, 4, 1, 2, 0), (3, 5, 6, 7)) - rdm2_f_oooo += einsum(x0, (0, 1, 2, 3), (3, 2, 1, 0)) * -0.16666666666667 - rdm2_f_oooo += einsum(x0, (0, 1, 2, 3), (3, 2, 1, 0)) * -0.16666666666667 - del x0 - x1 = np.zeros((nocc, nocc), dtype=types[float]) - x1 += einsum(l1, (0, 1), t1, (2, 0), (1, 2)) - rdm2_f_oooo += einsum(delta.oo, (0, 1), x1, (2, 3), (0, 3, 1, 2)) * -1.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x1, (2, 3), (3, 0, 1, 2)) - rdm2_f_oooo += einsum(delta.oo, (0, 1), x1, (2, 3), (0, 3, 2, 1)) - rdm2_f_oooo += einsum(delta.oo, (0, 1), x1, (2, 3), (3, 0, 2, 1)) * -1.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x1, (2, 3), (0, 3, 1, 2)) * -1.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x1, (2, 3), (3, 0, 2, 1)) * -1.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x1, (2, 3), (0, 3, 1, 2)) * -1.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x1, (2, 3), (3, 0, 2, 1)) * -1.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x1, (2, 3), (0, 3, 1, 2)) * -1.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x1, (2, 3), (3, 0, 1, 2)) - rdm2_f_oooo += einsum(delta.oo, (0, 1), x1, (2, 3), (0, 3, 2, 1)) - rdm2_f_oooo += einsum(delta.oo, (0, 1), x1, (2, 3), (3, 0, 2, 1)) * -1.0 - x2 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x2 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 7, 5, 1, 0, 2), (3, 4, 6, 7)) - x3 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x3 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - x3 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - x4 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x4 += einsum(l3, (0, 1, 2, 3, 4, 5), x3, (5, 6, 7, 1, 0, 2), (3, 4, 6, 7)) * 0.16666666666667 - x5 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x5 += einsum(x2, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.16666666666667 - x5 += einsum(x4, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x4 - rdm2_f_oooo += einsum(x5, (0, 1, 2, 3), (3, 2, 0, 1)) - rdm2_f_oooo += einsum(x5, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 - rdm2_f_oooo += einsum(x5, (0, 1, 2, 3), (3, 2, 0, 1)) - rdm2_f_oooo += einsum(x5, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 - del x5 - x6 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x6 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) - x6 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x7 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x7 += einsum(x6, (0, 1, 2, 3), l3, (4, 2, 3, 5, 6, 0), (5, 6, 1, 4)) - x8 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x8 += einsum(t1, (0, 1), x7, (2, 3, 4, 1), (0, 2, 3, 4)) * -0.5 - rdm2_f_oooo += einsum(x8, (0, 1, 2, 3), (0, 3, 1, 2)) * -1.0 - rdm2_f_oooo += einsum(x8, (0, 1, 2, 3), (3, 0, 1, 2)) - rdm2_f_oooo += einsum(x8, (0, 1, 2, 3), (0, 3, 2, 1)) - rdm2_f_oooo += einsum(x8, (0, 1, 2, 3), (3, 0, 2, 1)) * -1.0 - rdm2_f_oooo += einsum(x8, (0, 1, 2, 3), (0, 3, 1, 2)) * -1.0 - rdm2_f_oooo += einsum(x8, (0, 1, 2, 3), (3, 0, 1, 2)) - rdm2_f_oooo += einsum(x8, (0, 1, 2, 3), (0, 3, 2, 1)) - rdm2_f_oooo += einsum(x8, (0, 1, 2, 3), (3, 0, 2, 1)) * -1.0 - del x8 - x9 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x9 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.3333333333333333 - x9 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - x10 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x10 += einsum(x9, (0, 1, 2, 3), l3, (4, 2, 3, 5, 0, 6), (6, 5, 1, 4)) - x11 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x11 += einsum(t1, (0, 1), x10, (2, 3, 4, 1), (0, 3, 2, 4)) * 1.5 - rdm2_f_oooo += einsum(x11, (0, 1, 2, 3), (0, 3, 1, 2)) - rdm2_f_oooo += einsum(x11, (0, 1, 2, 3), (3, 0, 1, 2)) * -1.0 - rdm2_f_oooo += einsum(x11, (0, 1, 2, 3), (0, 3, 1, 2)) - rdm2_f_oooo += einsum(x11, (0, 1, 2, 3), (3, 0, 1, 2)) * -1.0 - del x11 - x12 = np.zeros((nocc, nocc), dtype=types[float]) - x12 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 5, 4, 1, 0, 2), (3, 6)) - x13 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x13 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - x13 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 6.999999999999999 - x13 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) - x13 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 - x14 = np.zeros((nocc, nocc), dtype=types[float]) - x14 += einsum(l3, (0, 1, 2, 3, 4, 5), x13, (3, 6, 4, 1, 2, 0), (5, 6)) * 0.041666666666665 - x15 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x15 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - x15 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 - x15 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * 3.0 - x16 = np.zeros((nocc, nocc), dtype=types[float]) - x16 += einsum(l3, (0, 1, 2, 3, 4, 5), x15, (5, 6, 3, 0, 2, 1), (4, 6)) * 0.041666666666665 - x17 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x17 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) - x17 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 3, 5, 0, 2, 1)) - x18 = np.zeros((nocc, nocc), dtype=types[float]) - x18 += einsum(t3, (0, 1, 2, 3, 4, 5), x17, (1, 2, 6, 5, 4, 3), (0, 6)) * 0.041666666666665 - x19 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x19 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) - x19 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x20 = np.zeros((nocc, nocc), dtype=types[float]) - x20 += einsum(l2, (0, 1, 2, 3), x19, (3, 4, 0, 1), (2, 4)) - x21 = np.zeros((nocc, nocc), dtype=types[float]) - x21 += einsum(x12, (0, 1), (0, 1)) * 0.041666666666665 - x21 += einsum(x14, (0, 1), (0, 1)) - del x14 - x21 += einsum(x16, (0, 1), (0, 1)) - del x16 - x21 += einsum(x18, (0, 1), (1, 0)) * -1.0 - del x18 - x21 += einsum(x20, (0, 1), (0, 1)) - del x20 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x21, (2, 3), (0, 3, 1, 2)) * -2.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x21, (2, 3), (0, 3, 2, 1)) * 2.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x21, (2, 3), (3, 0, 1, 2)) * 2.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x21, (2, 3), (3, 0, 2, 1)) * -2.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x21, (2, 3), (0, 3, 1, 2)) * -2.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x21, (2, 3), (3, 0, 2, 1)) * -2.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x21, (2, 3), (0, 3, 1, 2)) * -2.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x21, (2, 3), (3, 0, 2, 1)) * -2.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x21, (2, 3), (0, 3, 1, 2)) * -2.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x21, (2, 3), (0, 3, 2, 1)) * 2.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x21, (2, 3), (3, 0, 1, 2)) * 2.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x21, (2, 3), (3, 0, 2, 1)) * -2.0 - x22 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x22 += einsum(l2, (0, 1, 2, 3), t2, (4, 5, 0, 1), (2, 3, 4, 5)) - rdm2_f_oooo += einsum(x22, (0, 1, 2, 3), (3, 2, 1, 0)) - rdm2_f_oooo += einsum(x22, (0, 1, 2, 3), (3, 2, 1, 0)) - x23 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x23 += einsum(t1, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2)) - rdm2_f_ovoo += einsum(x23, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 - rdm2_f_ovoo += einsum(x23, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 - rdm2_f_vooo += einsum(x23, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - rdm2_f_vooo += einsum(x23, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - x24 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x24 += einsum(t1, (0, 1), x23, (2, 3, 4, 1), (2, 3, 0, 4)) - rdm2_f_oooo += einsum(x24, (0, 1, 2, 3), (3, 2, 1, 0)) - rdm2_f_oooo += einsum(x24, (0, 1, 2, 3), (3, 2, 1, 0)) - x25 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x25 += einsum(x22, (0, 1, 2, 3), (1, 0, 3, 2)) - x25 += einsum(x24, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oooo += einsum(x25, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - rdm2_f_oooo += einsum(x25, (0, 1, 2, 3), (2, 3, 0, 1)) - rdm2_f_oooo += einsum(x25, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - rdm2_f_oooo += einsum(x25, (0, 1, 2, 3), (2, 3, 0, 1)) - x26 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x26 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -0.3333333333333333 - x26 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 0.3333333333333333 - x26 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) - x27 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x27 += einsum(l3, (0, 1, 2, 3, 4, 5), x26, (4, 6, 7, 1, 0, 2), (5, 3, 6, 7)) * 0.50000000000001 - del x26 - rdm2_f_oooo += einsum(x27, (0, 1, 2, 3), (3, 2, 1, 0)) - rdm2_f_oooo += einsum(x27, (0, 1, 2, 3), (3, 2, 1, 0)) - del x27 - x28 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x28 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 7, 5, 0, 1, 2), (3, 4, 6, 7)) - x29 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x29 += einsum(t2, (0, 1, 2, 3), l3, (4, 2, 3, 5, 6, 1), (5, 6, 0, 4)) - rdm2_f_ovoo += einsum(x29, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 - rdm2_f_ovoo += einsum(x29, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 - rdm2_f_vooo += einsum(x29, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - rdm2_f_vooo += einsum(x29, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - x30 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x30 += einsum(t1, (0, 1), x29, (2, 3, 4, 1), (2, 3, 0, 4)) - x31 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x31 += einsum(x28, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.50000000000001 - x31 += einsum(x30, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oooo += einsum(x31, (0, 1, 2, 3), (2, 3, 0, 1)) - rdm2_f_oooo += einsum(x31, (0, 1, 2, 3), (3, 2, 1, 0)) - rdm2_f_oooo += einsum(x31, (0, 1, 2, 3), (2, 3, 0, 1)) - rdm2_f_oooo += einsum(x31, (0, 1, 2, 3), (3, 2, 1, 0)) - x32 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x32 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x32 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - x33 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x33 += einsum(x32, (0, 1, 2, 3), l3, (2, 4, 3, 5, 6, 0), (5, 6, 1, 4)) - x34 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x34 += einsum(t1, (0, 1), x33, (2, 3, 4, 1), (0, 2, 3, 4)) * -0.5 - rdm2_f_oooo += einsum(x34, (0, 1, 2, 3), (3, 0, 1, 2)) - rdm2_f_oooo += einsum(x34, (0, 1, 2, 3), (0, 3, 2, 1)) - rdm2_f_oooo += einsum(x34, (0, 1, 2, 3), (3, 0, 1, 2)) - rdm2_f_oooo += einsum(x34, (0, 1, 2, 3), (0, 3, 2, 1)) - x35 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x35 += einsum(t1, (0, 1), l3, (2, 1, 3, 4, 5, 6), (4, 6, 5, 0, 2, 3)) - x36 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x36 += einsum(t1, (0, 1), x35, (2, 3, 4, 5, 6, 1), (2, 3, 4, 0, 5, 6)) - x37 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x37 += einsum(t2, (0, 1, 2, 3), x36, (0, 4, 1, 5, 6, 2), (4, 5, 6, 3)) - rdm2_f_ooov = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - rdm2_f_ooov += einsum(x37, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_ooov += einsum(x37, (0, 1, 2, 3), (1, 2, 0, 3)) - rdm2_f_ooov += einsum(x37, (0, 1, 2, 3), (1, 2, 0, 3)) - rdm2_f_ooov += einsum(x37, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_oovo = np.zeros((nocc, nocc, nvir, nocc), dtype=types[float]) - rdm2_f_oovo += einsum(x37, (0, 1, 2, 3), (2, 1, 3, 0)) - rdm2_f_oovo += einsum(x37, (0, 1, 2, 3), (2, 1, 3, 0)) - rdm2_f_oovo += einsum(x37, (0, 1, 2, 3), (2, 1, 3, 0)) - rdm2_f_oovo += einsum(x37, (0, 1, 2, 3), (2, 1, 3, 0)) - x38 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x38 += einsum(l1, (0, 1), t2, (2, 3, 4, 0), (1, 2, 3, 4)) - rdm2_f_ooov += einsum(x38, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_ooov += einsum(x38, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_oovo += einsum(x38, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - rdm2_f_oovo += einsum(x38, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - x39 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x39 += einsum(l2, (0, 1, 2, 3), t3, (4, 3, 5, 0, 6, 1), (2, 4, 5, 6)) - x40 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x40 += einsum(t3, (0, 1, 2, 3, 4, 5), x35, (0, 2, 6, 7, 3, 5), (6, 7, 1, 4)) - x41 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x41 += einsum(t2, (0, 1, 2, 3), x29, (1, 4, 5, 2), (4, 0, 5, 3)) - x42 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x42 += einsum(t1, (0, 1), l3, (2, 3, 1, 4, 5, 6), (4, 6, 5, 0, 2, 3)) - x43 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x43 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -1.0 - x43 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - x43 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - x43 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 5.0 - x43 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) - x43 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 - x44 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x44 += einsum(x42, (0, 1, 2, 3, 4, 5), x43, (2, 6, 0, 4, 7, 5), (1, 3, 6, 7)) * 0.25 - del x43 - x45 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x45 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - x45 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - x45 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) - x46 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x46 += einsum(x42, (0, 1, 2, 3, 4, 5), x45, (0, 6, 1, 5, 7, 4), (2, 3, 6, 7)) * 0.25 - x47 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x47 += einsum(t2, (0, 1, 2, 3), l3, (4, 5, 3, 1, 0, 6), (6, 4, 5, 2)) - x48 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x48 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) - x48 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 0, 2)) - x48 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 0, 2)) * 0.5 - x48 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 0, 2)) * -0.5 - x49 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x49 += einsum(t2, (0, 1, 2, 3), x48, (1, 4, 0, 5, 6, 2), (4, 3, 5, 6)) - del x48 - x50 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x50 += einsum(x47, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x50 += einsum(x49, (0, 1, 2, 3), (0, 3, 2, 1)) - del x49 - x51 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x51 += einsum(t2, (0, 1, 2, 3), x50, (4, 3, 2, 5), (0, 1, 4, 5)) * 0.5 - del x50 - x52 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x52 += einsum(t2, (0, 1, 2, 3), l3, (4, 3, 2, 5, 1, 6), (5, 6, 0, 4)) - x53 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x53 += einsum(t2, (0, 1, 2, 3), l3, (4, 3, 2, 5, 6, 1), (5, 6, 0, 4)) - x54 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x54 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * -1.0 - x54 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) - x55 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x55 += einsum(t2, (0, 1, 2, 3), x54, (1, 4, 5, 3, 6, 2), (0, 4, 5, 6)) - del x54 - x56 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x56 += einsum(x52, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0 - del x52 - x56 += einsum(x53, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x56 += einsum(x53, (0, 1, 2, 3), (1, 0, 2, 3)) - x56 += einsum(x55, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - del x55 - x57 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x57 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) - x57 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x57 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - x58 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x58 += einsum(x56, (0, 1, 2, 3), x57, (1, 4, 5, 3), (0, 2, 4, 5)) * 0.5 - del x57 - x59 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x59 += einsum(x6, (0, 1, 2, 3), l3, (2, 4, 3, 5, 6, 0), (5, 6, 1, 4)) - x60 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x60 += einsum(x29, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0 - x60 += einsum(x59, (0, 1, 2, 3), (1, 0, 2, 3)) - x61 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x61 += einsum(t2, (0, 1, 2, 3), x60, (1, 4, 5, 3), (0, 4, 5, 2)) * 0.5 - del x60 - x62 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x62 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x62 += einsum(x23, (0, 1, 2, 3), (1, 0, 2, 3)) - x63 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x63 += einsum(t2, (0, 1, 2, 3), x62, (1, 4, 5, 2), (0, 4, 5, 3)) - del x62 - x64 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x64 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) - x64 += einsum(x23, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.5 - x65 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x65 += einsum(t2, (0, 1, 2, 3), x64, (1, 4, 5, 3), (0, 4, 5, 2)) * 2.0 - del x64 - x66 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x66 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) - x66 += einsum(x29, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.5 - x67 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x67 += einsum(t1, (0, 1), x66, (2, 3, 4, 1), (0, 2, 3, 4)) - del x66 - x68 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x68 += einsum(x22, (0, 1, 2, 3), (1, 0, 3, 2)) - x68 += einsum(x67, (0, 1, 2, 3), (2, 1, 3, 0)) - del x67 - x69 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x69 += einsum(t1, (0, 1), x68, (0, 2, 3, 4), (2, 3, 4, 1)) - del x68 - x70 = np.zeros((nocc, nocc), dtype=types[float]) - x70 += einsum(l3, (0, 1, 2, 3, 4, 5), x13, (3, 6, 4, 1, 2, 0), (5, 6)) * 0.08333333333333 - del x13 - x71 = np.zeros((nocc, nocc), dtype=types[float]) - x71 += einsum(l3, (0, 1, 2, 3, 4, 5), x15, (5, 6, 3, 0, 2, 1), (4, 6)) * 0.08333333333333 - del x15 - x72 = np.zeros((nocc, nocc), dtype=types[float]) - x72 += einsum(t3, (0, 1, 2, 3, 4, 5), x17, (1, 2, 6, 5, 4, 3), (0, 6)) * 0.08333333333333 - del x17 - x73 = np.zeros((nocc, nocc), dtype=types[float]) - x73 += einsum(l2, (0, 1, 2, 3), x19, (3, 4, 0, 1), (2, 4)) * 2.0 - x74 = np.zeros((nocc, nocc), dtype=types[float]) - x74 += einsum(x1, (0, 1), (0, 1)) - x74 += einsum(x12, (0, 1), (0, 1)) * 0.08333333333333 - x74 += einsum(x70, (0, 1), (0, 1)) - x74 += einsum(x71, (0, 1), (0, 1)) - x74 += einsum(x72, (0, 1), (1, 0)) * -1.0 - x74 += einsum(x73, (0, 1), (0, 1)) - rdm2_f_ooov += einsum(t1, (0, 1), x74, (2, 3), (3, 0, 2, 1)) * -1.0 - rdm2_f_ooov += einsum(t1, (0, 1), x74, (2, 3), (3, 0, 2, 1)) * -1.0 - rdm2_f_oovo += einsum(t1, (0, 1), x74, (2, 3), (0, 3, 1, 2)) * -1.0 - rdm2_f_oovo += einsum(t1, (0, 1), x74, (2, 3), (0, 3, 1, 2)) * -1.0 - x75 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x75 += einsum(delta.oo, (0, 1), t1, (2, 3), (0, 1, 2, 3)) - x75 += einsum(x38, (0, 1, 2, 3), (1, 0, 2, 3)) - x75 += einsum(x39, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.5 - x75 += einsum(x40, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.25 - x75 += einsum(x41, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.5 - x75 += einsum(x44, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x75 += einsum(x46, (0, 1, 2, 3), (1, 0, 2, 3)) - x75 += einsum(x51, (0, 1, 2, 3), (1, 2, 0, 3)) - x75 += einsum(x58, (0, 1, 2, 3), (2, 0, 1, 3)) - del x58 - x75 += einsum(x61, (0, 1, 2, 3), (0, 1, 2, 3)) - x75 += einsum(x63, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - del x63 - x75 += einsum(x65, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - del x65 - x75 += einsum(x69, (0, 1, 2, 3), (2, 0, 1, 3)) - del x69 - x75 += einsum(t1, (0, 1), x74, (2, 3), (0, 2, 3, 1)) - rdm2_f_ooov += einsum(x75, (0, 1, 2, 3), (0, 2, 1, 3)) - rdm2_f_ooov += einsum(x75, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_ooov += einsum(x75, (0, 1, 2, 3), (0, 2, 1, 3)) - rdm2_f_ooov += einsum(x75, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_oovo += einsum(x75, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_oovo += einsum(x75, (0, 1, 2, 3), (2, 0, 3, 1)) - rdm2_f_oovo += einsum(x75, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_oovo += einsum(x75, (0, 1, 2, 3), (2, 0, 3, 1)) - del x75 - x76 = np.zeros((nocc, nvir), dtype=types[float]) - x76 += einsum(t3, (0, 1, 2, 3, 4, 5), x35, (2, 0, 1, 6, 5, 3), (6, 4)) - x77 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x77 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - x77 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 - x77 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 6.999999999999999 - x77 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 - x77 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) - x77 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -1.0 - x78 = np.zeros((nocc, nvir), dtype=types[float]) - x78 += einsum(x42, (0, 1, 2, 3, 4, 5), x77, (0, 1, 2, 5, 4, 6), (3, 6)) * 0.08333333333333 - x79 = np.zeros((nocc, nvir), dtype=types[float]) - x79 += einsum(x42, (0, 1, 2, 3, 4, 5), x45, (2, 0, 1, 6, 5, 4), (3, 6)) * 0.08333333333333 - x80 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x80 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) - x80 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - x80 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) - x80 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * 6.0 - x81 = np.zeros((nocc, nvir), dtype=types[float]) - x81 += einsum(l2, (0, 1, 2, 3), x80, (2, 3, 4, 1, 0, 5), (4, 5)) * 0.25 - x82 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x82 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 0.5 - x82 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - x83 = np.zeros((nocc, nvir), dtype=types[float]) - x83 += einsum(l2, (0, 1, 2, 3), x82, (3, 4, 2, 0, 5, 1), (4, 5)) * 0.5 - x84 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x84 += einsum(x9, (0, 1, 2, 3), l3, (4, 2, 3, 5, 0, 6), (6, 5, 1, 4)) * 0.375 - x85 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x85 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) - x85 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 1, 2)) * -1.0 - x86 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x86 += einsum(x6, (0, 1, 2, 3), x85, (0, 4, 5, 3, 2, 6), (1, 4, 5, 6)) * 0.25 - del x85 - x87 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x87 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x87 += einsum(x23, (0, 1, 2, 3), (1, 0, 2, 3)) - x87 += einsum(x84, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x87 += einsum(x84, (0, 1, 2, 3), (0, 1, 2, 3)) - del x84 - x87 += einsum(x86, (0, 1, 2, 3), (1, 2, 0, 3)) - x88 = np.zeros((nocc, nvir), dtype=types[float]) - x88 += einsum(t2, (0, 1, 2, 3), x87, (0, 1, 4, 3), (4, 2)) * 2.0 - x89 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x89 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) - x89 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.3333333333333333 - x90 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x90 += einsum(x89, (0, 1, 2, 3), l3, (4, 2, 3, 5, 6, 0), (5, 6, 1, 4)) * 3.0 - x91 = np.zeros((nocc, nvir), dtype=types[float]) - x91 += einsum(t2, (0, 1, 2, 3), x90, (0, 1, 4, 2), (4, 3)) * 0.5 - x92 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x92 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - x92 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x93 = np.zeros((nocc, nvir), dtype=types[float]) - x93 += einsum(l1, (0, 1), x92, (1, 2, 3, 0), (2, 3)) - x94 = np.zeros((nocc, nvir), dtype=types[float]) - x94 += einsum(t1, (0, 1), x74, (0, 2), (2, 1)) - x95 = np.zeros((nocc, nvir), dtype=types[float]) - x95 += einsum(x76, (0, 1), (0, 1)) * 0.24999999999999 - x95 += einsum(x78, (0, 1), (0, 1)) - x95 += einsum(x79, (0, 1), (0, 1)) * -1.0 - x95 += einsum(x81, (0, 1), (0, 1)) * -1.0 - x95 += einsum(x83, (0, 1), (0, 1)) - x95 += einsum(x88, (0, 1), (0, 1)) - x95 += einsum(x91, (0, 1), (0, 1)) - x95 += einsum(x93, (0, 1), (0, 1)) * -1.0 - x95 += einsum(x94, (0, 1), (0, 1)) - rdm2_f_ooov += einsum(delta.oo, (0, 1), x95, (2, 3), (0, 2, 1, 3)) * -1.0 - rdm2_f_ooov += einsum(delta.oo, (0, 1), x95, (2, 3), (2, 0, 1, 3)) - rdm2_f_ooov += einsum(delta.oo, (0, 1), x95, (2, 3), (0, 2, 1, 3)) * -1.0 - rdm2_f_ooov += einsum(delta.oo, (0, 1), x95, (2, 3), (2, 0, 1, 3)) - rdm2_f_oovo += einsum(delta.oo, (0, 1), x95, (2, 3), (0, 2, 3, 1)) - rdm2_f_oovo += einsum(delta.oo, (0, 1), x95, (2, 3), (2, 0, 3, 1)) * -1.0 - rdm2_f_oovo += einsum(delta.oo, (0, 1), x95, (2, 3), (0, 2, 3, 1)) - rdm2_f_oovo += einsum(delta.oo, (0, 1), x95, (2, 3), (2, 0, 3, 1)) * -1.0 - del x95 - x96 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x96 += einsum(l2, (0, 1, 2, 3), (3, 2, 0, 1)) * -0.5 - x96 += einsum(l2, (0, 1, 2, 3), (2, 3, 0, 1)) - x97 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x97 += einsum(x96, (0, 1, 2, 3), t3, (4, 0, 5, 3, 2, 6), (4, 5, 1, 6)) * 2.0 - rdm2_f_ooov += einsum(x97, (0, 1, 2, 3), (1, 0, 2, 3)) - rdm2_f_ooov += einsum(x97, (0, 1, 2, 3), (1, 0, 2, 3)) - rdm2_f_oovo += einsum(x97, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - rdm2_f_oovo += einsum(x97, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x97 - x98 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x98 += einsum(t1, (0, 1), x42, (2, 3, 4, 5, 1, 6), (3, 2, 4, 5, 0, 6)) - x99 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x99 += einsum(x98, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 2.0 - x99 += einsum(x36, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 2.0 - x99 += einsum(x36, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 - x99 += einsum(x36, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) - x100 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x100 += einsum(t2, (0, 1, 2, 3), x99, (1, 4, 0, 5, 6, 2), (4, 5, 6, 3)) * 0.5 - del x99 - rdm2_f_ooov += einsum(x100, (0, 1, 2, 3), (2, 1, 0, 3)) - rdm2_f_ooov += einsum(x100, (0, 1, 2, 3), (2, 1, 0, 3)) - rdm2_f_oovo += einsum(x100, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - rdm2_f_oovo += einsum(x100, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - del x100 - x101 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x101 += einsum(l3, (0, 1, 2, 3, 4, 5), x3, (5, 6, 7, 1, 0, 2), (3, 4, 6, 7)) - x102 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x102 += einsum(x2, (0, 1, 2, 3), (0, 1, 2, 3)) - del x2 - x102 += einsum(x101, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x101 - x103 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x103 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -0.3333333333333333 - x103 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) - x104 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x104 += einsum(l3, (0, 1, 2, 3, 4, 5), x103, (4, 6, 7, 0, 1, 2), (3, 5, 6, 7)) * 3.0 - del x103 - x105 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x105 += einsum(l3, (0, 1, 2, 3, 4, 5), x3, (4, 6, 7, 1, 0, 2), (5, 3, 6, 7)) - x106 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x106 += einsum(x102, (0, 1, 2, 3), (0, 1, 2, 3)) - x106 += einsum(x102, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x106 += einsum(x104, (0, 1, 2, 3), (1, 0, 2, 3)) - x106 += einsum(x105, (0, 1, 2, 3), (1, 0, 2, 3)) - del x105 - x107 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x107 += einsum(t1, (0, 1), x106, (2, 0, 3, 4), (2, 3, 4, 1)) * 0.16666666666667 - del x106 - rdm2_f_ooov += einsum(x107, (0, 1, 2, 3), (2, 1, 0, 3)) - rdm2_f_ooov += einsum(x107, (0, 1, 2, 3), (2, 1, 0, 3)) - rdm2_f_oovo += einsum(x107, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - rdm2_f_oovo += einsum(x107, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - del x107 - x108 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x108 += einsum(l2, (0, 1, 2, 3), t3, (4, 5, 3, 6, 0, 1), (2, 4, 5, 6)) - rdm2_f_ooov += einsum(x108, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_ooov += einsum(x108, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_oovo += einsum(x108, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - rdm2_f_oovo += einsum(x108, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - x109 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x109 += einsum(t3, (0, 1, 2, 3, 4, 5), x42, (0, 2, 6, 7, 3, 4), (6, 7, 1, 5)) - rdm2_f_ooov += einsum(x109, (0, 1, 2, 3), (2, 1, 0, 3)) * 0.5 - rdm2_f_ooov += einsum(x109, (0, 1, 2, 3), (2, 1, 0, 3)) * 0.5 - rdm2_f_oovo += einsum(x109, (0, 1, 2, 3), (1, 2, 3, 0)) * 0.5 - rdm2_f_oovo += einsum(x109, (0, 1, 2, 3), (1, 2, 3, 0)) * 0.5 - x110 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x110 += einsum(t3, (0, 1, 2, 3, 4, 5), x35, (2, 6, 1, 7, 5, 3), (6, 7, 0, 4)) - rdm2_f_ooov += einsum(x110, (0, 1, 2, 3), (2, 1, 0, 3)) * 0.5 - rdm2_f_ooov += einsum(x110, (0, 1, 2, 3), (2, 1, 0, 3)) * 0.5 - rdm2_f_oovo += einsum(x110, (0, 1, 2, 3), (1, 2, 3, 0)) * 0.5 - rdm2_f_oovo += einsum(x110, (0, 1, 2, 3), (1, 2, 3, 0)) * 0.5 - x111 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x111 += einsum(t3, (0, 1, 2, 3, 4, 5), x42, (0, 2, 6, 7, 5, 3), (6, 7, 1, 4)) - rdm2_f_ooov += einsum(x111, (0, 1, 2, 3), (1, 2, 0, 3)) * -0.25 - rdm2_f_ooov += einsum(x111, (0, 1, 2, 3), (1, 2, 0, 3)) * -0.25 - rdm2_f_oovo += einsum(x111, (0, 1, 2, 3), (2, 1, 3, 0)) * -0.25 - rdm2_f_oovo += einsum(x111, (0, 1, 2, 3), (2, 1, 3, 0)) * -0.25 - x112 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x112 += einsum(t3, (0, 1, 2, 3, 4, 5), x35, (2, 1, 6, 7, 5, 4), (6, 7, 0, 3)) - rdm2_f_ooov += einsum(x112, (0, 1, 2, 3), (1, 2, 0, 3)) * -0.25 - rdm2_f_ooov += einsum(x112, (0, 1, 2, 3), (1, 2, 0, 3)) * -0.25 - del x112 - x113 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x113 += einsum(t2, (0, 1, 2, 3), x47, (4, 2, 3, 5), (4, 0, 1, 5)) - rdm2_f_ooov += einsum(x113, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_ooov += einsum(x113, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_oovo += einsum(x113, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - rdm2_f_oovo += einsum(x113, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - x114 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x114 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) - x114 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - x114 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 4.0 - x115 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x115 += einsum(x114, (0, 1, 2, 3, 4, 5), x42, (1, 6, 0, 7, 3, 4), (6, 7, 2, 5)) * 0.25 - del x114 - rdm2_f_ooov += einsum(x115, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_ooov += einsum(x115, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - del x115 - x116 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x116 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) - x116 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - x117 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x117 += einsum(x116, (0, 1, 2, 3, 4, 5), x35, (2, 0, 6, 7, 3, 5), (6, 7, 1, 4)) * 0.25 - del x116 - rdm2_f_ooov += einsum(x117, (0, 1, 2, 3), (1, 2, 0, 3)) - rdm2_f_ooov += einsum(x117, (0, 1, 2, 3), (1, 2, 0, 3)) - del x117 - x118 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x118 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) - x118 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - x119 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x119 += einsum(l2, (0, 1, 2, 3), x118, (3, 4, 5, 0, 1, 6), (2, 4, 5, 6)) * 0.5 - del x118 - rdm2_f_ooov += einsum(x119, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_ooov += einsum(x119, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - del x119 - x120 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x120 += einsum(x36, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - x120 += einsum(x36, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) - x121 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x121 += einsum(t2, (0, 1, 2, 3), x120, (1, 0, 4, 5, 6, 2), (4, 5, 6, 3)) * 0.5 - rdm2_f_ooov += einsum(x121, (0, 1, 2, 3), (2, 1, 0, 3)) - rdm2_f_ooov += einsum(x121, (0, 1, 2, 3), (2, 1, 0, 3)) - del x121 - x122 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x122 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x122 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0 - x123 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x123 += einsum(x122, (0, 1, 2, 3), l3, (4, 2, 3, 5, 0, 6), (6, 5, 1, 4)) * 0.5 - rdm2_f_vooo += einsum(x123, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 - rdm2_f_vooo += einsum(x123, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 - x124 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x124 += einsum(x32, (0, 1, 2, 3), l3, (2, 4, 3, 5, 6, 0), (5, 6, 1, 4)) * 0.5 - x125 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x125 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x125 += einsum(x23, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 - x125 += einsum(x53, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - x125 += einsum(x53, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.5 - x125 += einsum(x29, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x125 += einsum(x29, (0, 1, 2, 3), (1, 0, 2, 3)) * 1.5 - x125 += einsum(x123, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x125 += einsum(x124, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x126 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x126 += einsum(t2, (0, 1, 2, 3), x125, (4, 1, 5, 3), (0, 4, 5, 2)) - del x125 - rdm2_f_ooov += einsum(x126, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_ooov += einsum(x126, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_oovo += einsum(x126, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_oovo += einsum(x126, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - del x126 - x127 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x127 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 3, 4, 0, 2, 1)) * -1.0 - x127 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) - x128 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x128 += einsum(t2, (0, 1, 2, 3), x127, (0, 1, 4, 5, 2, 6), (4, 3, 5, 6)) - x129 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x129 += einsum(t2, (0, 1, 2, 3), x128, (4, 5, 2, 3), (0, 1, 4, 5)) * -0.5 - rdm2_f_ooov += einsum(x129, (0, 1, 2, 3), (1, 0, 2, 3)) - rdm2_f_ooov += einsum(x129, (0, 1, 2, 3), (1, 0, 2, 3)) - del x129 - x130 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x130 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x130 += einsum(x29, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x130 += einsum(x59, (0, 1, 2, 3), (1, 0, 2, 3)) - x131 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x131 += einsum(t2, (0, 1, 2, 3), x130, (1, 4, 5, 2), (0, 4, 5, 3)) * 0.5 - rdm2_f_ooov += einsum(x131, (0, 1, 2, 3), (2, 0, 1, 3)) - rdm2_f_ooov += einsum(x131, (0, 1, 2, 3), (2, 0, 1, 3)) - del x131 - x132 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x132 += einsum(t2, (0, 1, 2, 3), l3, (2, 4, 3, 1, 5, 6), (6, 5, 0, 4)) - x133 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x133 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) - x133 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 0, 2)) * -0.5 - x134 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x134 += einsum(t2, (0, 1, 2, 3), x133, (1, 4, 5, 6, 3, 2), (0, 4, 5, 6)) - x135 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x135 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x135 += einsum(x132, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.5 - x135 += einsum(x134, (0, 1, 2, 3), (1, 2, 0, 3)) - del x134 - x136 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x136 += einsum(t2, (0, 1, 2, 3), x135, (4, 1, 5, 2), (0, 4, 5, 3)) - del x135 - rdm2_f_ooov += einsum(x136, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - rdm2_f_ooov += einsum(x136, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - rdm2_f_oovo += einsum(x136, (0, 1, 2, 3), (2, 0, 3, 1)) * -1.0 - rdm2_f_oovo += einsum(x136, (0, 1, 2, 3), (2, 0, 3, 1)) * -1.0 - del x136 - x137 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x137 += einsum(x22, (0, 1, 2, 3), (1, 0, 3, 2)) - x137 += einsum(x24, (0, 1, 2, 3), (0, 1, 2, 3)) - x137 += einsum(x31, (0, 1, 2, 3), (0, 1, 2, 3)) - x137 += einsum(x31, (0, 1, 2, 3), (1, 0, 3, 2)) - del x31 - x137 += einsum(x34, (0, 1, 2, 3), (1, 2, 3, 0)) - x137 += einsum(x34, (0, 1, 2, 3), (2, 1, 0, 3)) - del x34 - x138 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x138 += einsum(t1, (0, 1), x137, (0, 2, 3, 4), (2, 3, 4, 1)) - del x137 - rdm2_f_ooov += einsum(x138, (0, 1, 2, 3), (2, 1, 0, 3)) - rdm2_f_ooov += einsum(x138, (0, 1, 2, 3), (2, 1, 0, 3)) - rdm2_f_oovo += einsum(x138, (0, 1, 2, 3), (1, 2, 3, 0)) - rdm2_f_oovo += einsum(x138, (0, 1, 2, 3), (1, 2, 3, 0)) - del x138 - x139 = np.zeros((nocc, nvir), dtype=types[float]) - x139 += einsum(t1, (0, 1), (0, 1)) * -1.0 - x139 += einsum(x76, (0, 1), (0, 1)) * 0.24999999999999 - x139 += einsum(x78, (0, 1), (0, 1)) - del x78 - x139 += einsum(x79, (0, 1), (0, 1)) * -1.0 - del x79 - x139 += einsum(x81, (0, 1), (0, 1)) * -1.0 - del x81 - x139 += einsum(x83, (0, 1), (0, 1)) - del x83 - x139 += einsum(x88, (0, 1), (0, 1)) - del x88 - x139 += einsum(x91, (0, 1), (0, 1)) - del x91 - x139 += einsum(x93, (0, 1), (0, 1)) * -1.0 - del x93 - x139 += einsum(x94, (0, 1), (0, 1)) - del x94 - rdm2_f_ooov += einsum(delta.oo, (0, 1), x139, (2, 3), (0, 2, 1, 3)) * -1.0 - rdm2_f_ooov += einsum(delta.oo, (0, 1), x139, (2, 3), (0, 2, 1, 3)) * -1.0 - del x139 - x140 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x140 += einsum(t3, (0, 1, 2, 3, 4, 5), x35, (2, 1, 6, 7, 5, 3), (6, 7, 0, 4)) - rdm2_f_oovo += einsum(x140, (0, 1, 2, 3), (2, 1, 3, 0)) * 0.25 - rdm2_f_oovo += einsum(x140, (0, 1, 2, 3), (2, 1, 3, 0)) * 0.25 - x141 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x141 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -1.0 - x141 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - x141 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 4.0 - x142 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x142 += einsum(x141, (0, 1, 2, 3, 4, 5), x42, (1, 6, 0, 7, 4, 3), (6, 7, 2, 5)) * 0.25 - del x141 - rdm2_f_oovo += einsum(x142, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - rdm2_f_oovo += einsum(x142, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - del x142 - x143 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x143 += einsum(x35, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - x143 += einsum(x35, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 - x144 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x144 += einsum(t3, (0, 1, 2, 3, 4, 5), x143, (1, 2, 6, 7, 4, 5), (0, 6, 7, 3)) * 0.25 - rdm2_f_oovo += einsum(x144, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_oovo += einsum(x144, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - del x144 - x145 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x145 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -1.0 - x145 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - x146 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x146 += einsum(l2, (0, 1, 2, 3), x145, (2, 4, 5, 0, 1, 6), (3, 4, 5, 6)) * 0.5 - rdm2_f_oovo += einsum(x146, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - rdm2_f_oovo += einsum(x146, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - del x146 - x147 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x147 += einsum(x36, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - x147 += einsum(x36, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * -1.0 - x148 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x148 += einsum(t2, (0, 1, 2, 3), x147, (1, 0, 4, 5, 6, 2), (4, 5, 6, 3)) * 0.5 - del x147 - rdm2_f_oovo += einsum(x148, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - rdm2_f_oovo += einsum(x148, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - del x148 - x149 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x149 += einsum(t2, (0, 1, 2, 3), x128, (4, 5, 3, 2), (0, 1, 4, 5)) * -0.5 - rdm2_f_oovo += einsum(x149, (0, 1, 2, 3), (1, 0, 3, 2)) - rdm2_f_oovo += einsum(x149, (0, 1, 2, 3), (1, 0, 3, 2)) - x150 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x150 += einsum(x6, (0, 1, 2, 3), l3, (2, 4, 3, 5, 6, 0), (5, 6, 1, 4)) * 0.5 - rdm2_f_ovoo += einsum(x150, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 - rdm2_f_ovoo += einsum(x150, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 - rdm2_f_vooo += einsum(x150, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 - rdm2_f_vooo += einsum(x150, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 - x151 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x151 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) - x151 += einsum(x29, (0, 1, 2, 3), (0, 1, 2, 3)) - x151 += einsum(x150, (0, 1, 2, 3), (1, 0, 2, 3)) - del x150 - x152 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x152 += einsum(t2, (0, 1, 2, 3), x151, (1, 4, 5, 2), (0, 4, 5, 3)) - rdm2_f_oovo += einsum(x152, (0, 1, 2, 3), (0, 2, 3, 1)) - rdm2_f_oovo += einsum(x152, (0, 1, 2, 3), (0, 2, 3, 1)) - del x152 - x153 = np.zeros((nocc, nvir), dtype=types[float]) - x153 += einsum(x42, (0, 1, 2, 3, 4, 5), x77, (0, 1, 2, 5, 4, 6), (3, 6)) - x154 = np.zeros((nocc, nvir), dtype=types[float]) - x154 += einsum(x42, (0, 1, 2, 3, 4, 5), x45, (2, 0, 1, 6, 5, 4), (3, 6)) - x155 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x155 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) - x155 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - x155 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) - x155 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * 6.000000000000001 - x156 = np.zeros((nocc, nvir), dtype=types[float]) - x156 += einsum(l2, (0, 1, 2, 3), x155, (2, 3, 4, 1, 0, 5), (4, 5)) * 3.00000000000012 - del x155 - x157 = np.zeros((nocc, nvir), dtype=types[float]) - x157 += einsum(l2, (0, 1, 2, 3), x82, (3, 4, 2, 0, 5, 1), (4, 5)) * 6.00000000000024 - x158 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x158 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.33333333333333326 - x158 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - x159 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x159 += einsum(x158, (0, 1, 2, 3), l3, (4, 2, 3, 5, 0, 6), (6, 5, 1, 4)) * 0.37500000000000006 - del x158 - x160 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x160 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x160 += einsum(x23, (0, 1, 2, 3), (1, 0, 2, 3)) - x160 += einsum(x159, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x160 += einsum(x159, (0, 1, 2, 3), (0, 1, 2, 3)) - del x159 - x160 += einsum(x86, (0, 1, 2, 3), (1, 2, 0, 3)) - del x86 - x161 = np.zeros((nocc, nvir), dtype=types[float]) - x161 += einsum(t2, (0, 1, 2, 3), x160, (1, 0, 4, 2), (4, 3)) * 24.00000000000096 - del x160 - x162 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x162 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) - x162 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.33333333333333326 - x163 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x163 += einsum(x162, (0, 1, 2, 3), l3, (4, 2, 3, 5, 6, 0), (5, 6, 1, 4)) * 3.0000000000000004 - del x162 - x164 = np.zeros((nocc, nvir), dtype=types[float]) - x164 += einsum(t2, (0, 1, 2, 3), x163, (0, 1, 4, 2), (4, 3)) * 6.00000000000024 - del x163 - x165 = np.zeros((nocc, nvir), dtype=types[float]) - x165 += einsum(l1, (0, 1), x92, (1, 2, 3, 0), (2, 3)) * 12.00000000000048 - x166 = np.zeros((nocc, nvir), dtype=types[float]) - x166 += einsum(t1, (0, 1), x74, (0, 2), (2, 1)) * 12.00000000000048 - x167 = np.zeros((nocc, nvir), dtype=types[float]) - x167 += einsum(t1, (0, 1), (0, 1)) * -12.00000000000048 - x167 += einsum(x76, (0, 1), (0, 1)) * 3.0 - x167 += einsum(x153, (0, 1), (0, 1)) - del x153 - x167 += einsum(x154, (0, 1), (0, 1)) * -1.0 - del x154 - x167 += einsum(x156, (0, 1), (0, 1)) * -1.0 - del x156 - x167 += einsum(x157, (0, 1), (0, 1)) - del x157 - x167 += einsum(x161, (0, 1), (0, 1)) - del x161 - x167 += einsum(x164, (0, 1), (0, 1)) - del x164 - x167 += einsum(x165, (0, 1), (0, 1)) * -1.0 - del x165 - x167 += einsum(x166, (0, 1), (0, 1)) - del x166 - rdm2_f_oovo += einsum(delta.oo, (0, 1), x167, (2, 3), (2, 0, 3, 1)) * -0.08333333333333 - rdm2_f_oovo += einsum(delta.oo, (0, 1), x167, (2, 3), (2, 0, 3, 1)) * -0.08333333333333 - del x167 - x168 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x168 += einsum(x32, (0, 1, 2, 3), l3, (4, 2, 3, 5, 6, 0), (5, 6, 1, 4)) * 0.5 - x169 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x169 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) - x169 += einsum(x168, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - rdm2_f_ovoo += einsum(x169, (0, 1, 2, 3), (2, 3, 0, 1)) - rdm2_f_ovoo += einsum(x169, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 - rdm2_f_ovoo += einsum(x169, (0, 1, 2, 3), (2, 3, 0, 1)) - rdm2_f_ovoo += einsum(x169, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 - rdm2_f_vooo += einsum(x169, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - rdm2_f_vooo += einsum(x169, (0, 1, 2, 3), (3, 2, 1, 0)) - rdm2_f_vooo += einsum(x169, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - rdm2_f_vooo += einsum(x169, (0, 1, 2, 3), (3, 2, 1, 0)) - del x169 - x170 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x170 += einsum(x9, (0, 1, 2, 3), l3, (4, 2, 3, 5, 0, 6), (6, 5, 1, 4)) * 1.5 - rdm2_f_ovoo += einsum(x170, (0, 1, 2, 3), (2, 3, 1, 0)) - rdm2_f_ovoo += einsum(x170, (0, 1, 2, 3), (2, 3, 1, 0)) - del x170 - x171 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x171 += einsum(t3, (0, 1, 2, 3, 4, 5), x36, (1, 0, 2, 6, 7, 4), (6, 7, 3, 5)) - rdm2_f_oovv += einsum(x171, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.16666666666667 - rdm2_f_oovv += einsum(x171, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.16666666666667 - del x171 - x172 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x172 += einsum(t3, (0, 1, 2, 3, 4, 5), x36, (0, 1, 2, 6, 7, 4), (6, 7, 3, 5)) - rdm2_f_oovv += einsum(x172, (0, 1, 2, 3), (1, 0, 3, 2)) * -0.16666666666667 - rdm2_f_oovv += einsum(x172, (0, 1, 2, 3), (1, 0, 3, 2)) * -0.16666666666667 - del x172 - x173 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x173 += einsum(x1, (0, 1), t2, (2, 0, 3, 4), (1, 2, 3, 4)) - x174 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x174 += einsum(t2, (0, 1, 2, 3), l3, (4, 3, 2, 5, 6, 7), (5, 7, 6, 0, 1, 4)) - x175 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x175 += einsum(t3, (0, 1, 2, 3, 4, 5), x174, (0, 1, 2, 6, 7, 3), (6, 7, 5, 4)) - x176 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x176 += einsum(t2, (0, 1, 2, 3), x35, (4, 1, 0, 5, 6, 3), (4, 5, 6, 2)) - rdm2_f_ovvo += einsum(x176, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - rdm2_f_ovvo += einsum(x176, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - rdm2_f_voov += einsum(x176, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_voov += einsum(x176, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - x177 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x177 += einsum(t2, (0, 1, 2, 3), x176, (1, 4, 3, 5), (4, 0, 2, 5)) - x178 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x178 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - x178 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 - x179 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x179 += einsum(x174, (0, 1, 2, 3, 4, 5), x178, (1, 2, 0, 6, 5, 7), (3, 4, 6, 7)) * 0.08333333333333 - x180 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x180 += einsum(x122, (0, 1, 2, 3), l3, (4, 2, 3, 5, 0, 6), (5, 6, 1, 4)) * 0.5 - del x122 - x181 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x181 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x181 += einsum(x23, (0, 1, 2, 3), (1, 0, 2, 3)) - x181 += einsum(x168, (0, 1, 2, 3), (0, 1, 2, 3)) - x181 += einsum(x180, (0, 1, 2, 3), (1, 0, 2, 3)) - del x180 - x182 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x182 += einsum(x181, (0, 1, 2, 3), t3, (4, 0, 1, 5, 6, 3), (4, 2, 5, 6)) * 0.5 - del x181 - x183 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x183 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (5, 6, 3, 1, 7, 2), (4, 6, 0, 7)) - x184 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x184 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 3, 5, 7, 2, 1), (4, 6, 0, 7)) - rdm2_f_vovo += einsum(x184, (0, 1, 2, 3), (2, 1, 3, 0)) * -0.25 - rdm2_f_vovo += einsum(x184, (0, 1, 2, 3), (2, 1, 3, 0)) * -0.25 - x185 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x185 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 0.2 - x185 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - x185 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -0.2 - x185 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -0.2 - x185 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 0.2 - x185 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -0.2 - x185 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * -0.2 - x185 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) - x186 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x186 += einsum(l3, (0, 1, 2, 3, 4, 5), x185, (5, 6, 4, 2, 7, 1), (3, 6, 0, 7)) * 1.25 - del x185 - x187 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x187 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) - x187 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 0, 2)) - x188 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x188 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - x188 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) - x189 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x189 += einsum(x187, (0, 1, 2, 3, 4, 5), x188, (1, 6, 0, 5, 4, 7), (2, 6, 3, 7)) * 0.25 - del x187 - x190 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x190 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - x190 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) - x191 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x191 += einsum(l3, (0, 1, 2, 3, 4, 5), x190, (3, 5, 6, 0, 2, 7), (4, 6, 1, 7)) * 0.25 - del x190 - x192 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x192 += einsum(l2, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - x192 += einsum(l2, (0, 1, 2, 3), (2, 3, 0, 1)) * 2.0 - x193 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x193 += einsum(t2, (0, 1, 2, 3), x192, (1, 4, 2, 5), (0, 4, 3, 5)) - x194 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x194 += einsum(x183, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.25 - x194 += einsum(x184, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.25 - del x184 - x194 += einsum(x186, (0, 1, 2, 3), (0, 1, 2, 3)) - del x186 - x194 += einsum(x189, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x189 - x194 += einsum(x191, (0, 1, 2, 3), (0, 1, 2, 3)) - del x191 - x194 += einsum(x193, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x193 - x195 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x195 += einsum(t2, (0, 1, 2, 3), x194, (1, 4, 3, 5), (0, 4, 2, 5)) - del x194 - x196 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x196 += einsum(x7, (0, 1, 2, 3), t3, (4, 1, 0, 5, 6, 3), (4, 2, 5, 6)) * -0.25 - x197 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x197 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (3, 6, 5, 0, 7, 2), (4, 6, 1, 7)) - rdm2_f_ovov += einsum(x197, (0, 1, 2, 3), (1, 2, 0, 3)) * -0.25 - rdm2_f_ovov += einsum(x197, (0, 1, 2, 3), (1, 2, 0, 3)) * -0.25 - rdm2_f_ovvo += einsum(x197, (0, 1, 2, 3), (1, 2, 3, 0)) * 0.25 - rdm2_f_ovvo += einsum(x197, (0, 1, 2, 3), (1, 2, 3, 0)) * 0.25 - rdm2_f_voov += einsum(x197, (0, 1, 2, 3), (2, 1, 0, 3)) * 0.25 - rdm2_f_voov += einsum(x197, (0, 1, 2, 3), (2, 1, 0, 3)) * 0.25 - rdm2_f_vovo += einsum(x197, (0, 1, 2, 3), (2, 1, 3, 0)) * -0.25 - rdm2_f_vovo += einsum(x197, (0, 1, 2, 3), (2, 1, 3, 0)) * -0.25 - x198 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x198 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) - x198 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 5.0 - x198 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 - x198 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 - x198 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * -1.0 - x198 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) - x199 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x199 += einsum(l3, (0, 1, 2, 3, 4, 5), x198, (5, 6, 4, 2, 7, 1), (3, 6, 0, 7)) - x200 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x200 += einsum(l3, (0, 1, 2, 3, 4, 5), x45, (5, 6, 3, 1, 7, 2), (4, 6, 0, 7)) - x201 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x201 += einsum(x197, (0, 1, 2, 3), (0, 1, 2, 3)) - x201 += einsum(x199, (0, 1, 2, 3), (0, 1, 2, 3)) - del x199 - x201 += einsum(x200, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x200 - x202 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x202 += einsum(t2, (0, 1, 2, 3), x201, (1, 4, 2, 5), (0, 4, 3, 5)) * 0.25 - del x201 - x203 = np.zeros((nvir, nvir), dtype=types[float]) - x203 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (3, 4, 5, 0, 6, 2), (1, 6)) - x204 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x204 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - x204 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 - x204 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 - x204 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 - x204 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) - x204 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 6.999999999999999 - x205 = np.zeros((nvir, nvir), dtype=types[float]) - x205 += einsum(l3, (0, 1, 2, 3, 4, 5), x204, (4, 3, 5, 1, 6, 2), (0, 6)) * 0.08333333333333 - x206 = np.zeros((nvir, nvir), dtype=types[float]) - x206 += einsum(l3, (0, 1, 2, 3, 4, 5), x45, (4, 5, 3, 6, 1, 2), (0, 6)) * 0.08333333333333 - x207 = np.zeros((nvir, nvir), dtype=types[float]) - x207 += einsum(t2, (0, 1, 2, 3), x96, (0, 1, 2, 4), (3, 4)) * 2.0 - x208 = np.zeros((nvir, nvir), dtype=types[float]) - x208 += einsum(x203, (0, 1), (0, 1)) * 0.24999999999999 - x208 += einsum(x205, (0, 1), (0, 1)) - x208 += einsum(x206, (0, 1), (0, 1)) * -1.0 - x208 += einsum(x207, (0, 1), (1, 0)) - x209 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x209 += einsum(x208, (0, 1), t2, (2, 3, 0, 4), (2, 3, 4, 1)) - del x208 - x210 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x210 += einsum(t1, (0, 1), x56, (0, 2, 3, 4), (2, 3, 1, 4)) - del x56 - x211 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x211 += einsum(x210, (0, 1, 2, 3), x32, (0, 4, 5, 3), (4, 1, 5, 2)) * 0.5 - del x210 - x212 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x212 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) - x212 += einsum(x23, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x213 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x213 += einsum(t2, (0, 1, 2, 3), x212, (4, 1, 5, 2), (0, 4, 5, 3)) - del x212 - x214 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x214 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x214 += einsum(x23, (0, 1, 2, 3), (1, 0, 2, 3)) - x215 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x215 += einsum(t2, (0, 1, 2, 3), x214, (4, 1, 5, 3), (0, 4, 5, 2)) * 2.0 - del x214 - x216 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x216 += einsum(t1, (0, 1), x7, (2, 3, 4, 1), (0, 2, 3, 4)) * -1.0 - x217 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x217 += einsum(t1, (0, 1), x216, (2, 3, 0, 4), (3, 2, 4, 1)) * 0.5 - del x216 - x218 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x218 += einsum(x38, (0, 1, 2, 3), (0, 1, 2, 3)) - x218 += einsum(x39, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - del x39 - x218 += einsum(x40, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.25 - del x40 - x218 += einsum(x41, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - del x41 - x218 += einsum(x44, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x44 - x218 += einsum(x46, (0, 1, 2, 3), (0, 1, 2, 3)) - del x46 - x218 += einsum(x51, (0, 1, 2, 3), (2, 1, 0, 3)) - del x51 - x218 += einsum(x61, (0, 1, 2, 3), (1, 0, 2, 3)) - del x61 - x218 += einsum(x213, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - del x213 - x218 += einsum(x215, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - del x215 - x218 += einsum(x217, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x217 - x219 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x219 += einsum(t1, (0, 1), x218, (0, 2, 3, 4), (2, 3, 1, 4)) - del x218 - x220 = np.zeros((nocc, nocc), dtype=types[float]) - x220 += einsum(x12, (0, 1), (0, 1)) * 0.08333333333333 - del x12 - x220 += einsum(x70, (0, 1), (0, 1)) - del x70 - x220 += einsum(x71, (0, 1), (0, 1)) - del x71 - x220 += einsum(x72, (0, 1), (1, 0)) * -1.0 - del x72 - x220 += einsum(x73, (0, 1), (0, 1)) - del x73 - x221 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x221 += einsum(x220, (0, 1), t2, (2, 0, 3, 4), (2, 1, 4, 3)) - del x220 - x222 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x222 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * -1.0 - x222 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 1, 2)) - x223 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x223 += einsum(t2, (0, 1, 2, 3), x222, (1, 4, 5, 6, 2, 3), (4, 5, 0, 6)) - x224 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x224 += einsum(t1, (0, 1), x223, (2, 3, 4, 1), (2, 3, 4, 0)) * -1.0 - del x223 - x225 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x225 += einsum(t2, (0, 1, 2, 3), x224, (0, 1, 4, 5), (5, 4, 3, 2)) * 0.5 - del x224 - x226 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x226 += einsum(t1, (0, 1), x10, (2, 3, 4, 1), (0, 3, 2, 4)) * 3.0 - x227 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x227 += einsum(t2, (0, 1, 2, 3), x226, (4, 0, 1, 5), (4, 5, 2, 3)) * 0.25 - del x226 - x228 = np.zeros((nocc, nvir), dtype=types[float]) - x228 += einsum(x42, (0, 1, 2, 3, 4, 5), x77, (0, 1, 2, 5, 4, 6), (3, 6)) * 0.041666666666665 - del x77 - x229 = np.zeros((nocc, nvir), dtype=types[float]) - x229 += einsum(x42, (0, 1, 2, 3, 4, 5), x45, (2, 0, 1, 6, 5, 4), (3, 6)) * 0.041666666666665 - x230 = np.zeros((nocc, nvir), dtype=types[float]) - x230 += einsum(l2, (0, 1, 2, 3), x80, (2, 3, 4, 1, 0, 5), (4, 5)) * 0.125 - del x80 - x231 = np.zeros((nocc, nvir), dtype=types[float]) - x231 += einsum(l2, (0, 1, 2, 3), x82, (3, 4, 2, 0, 5, 1), (4, 5)) * 0.25 - del x82 - x232 = np.zeros((nocc, nvir), dtype=types[float]) - x232 += einsum(t2, (0, 1, 2, 3), x87, (0, 1, 4, 3), (4, 2)) - del x87 - x233 = np.zeros((nocc, nvir), dtype=types[float]) - x233 += einsum(t2, (0, 1, 2, 3), x90, (0, 1, 4, 2), (4, 3)) * 0.25 - del x90 - x234 = np.zeros((nocc, nvir), dtype=types[float]) - x234 += einsum(l1, (0, 1), x92, (1, 2, 3, 0), (2, 3)) * 0.5 - x235 = np.zeros((nocc, nvir), dtype=types[float]) - x235 += einsum(t1, (0, 1), x74, (0, 2), (2, 1)) * 0.5 - del x74 - x236 = np.zeros((nocc, nvir), dtype=types[float]) - x236 += einsum(x76, (0, 1), (0, 1)) * 0.124999999999995 - x236 += einsum(x228, (0, 1), (0, 1)) - x236 += einsum(x229, (0, 1), (0, 1)) * -1.0 - x236 += einsum(x230, (0, 1), (0, 1)) * -1.0 - x236 += einsum(x231, (0, 1), (0, 1)) - x236 += einsum(x232, (0, 1), (0, 1)) - x236 += einsum(x233, (0, 1), (0, 1)) - x236 += einsum(x234, (0, 1), (0, 1)) * -1.0 - x236 += einsum(x235, (0, 1), (0, 1)) - del x235 - x237 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x237 += einsum(x173, (0, 1, 2, 3), (0, 1, 2, 3)) - x237 += einsum(x175, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.08333333333333 - del x175 - x237 += einsum(x177, (0, 1, 2, 3), (0, 1, 2, 3)) - x237 += einsum(x179, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x179 - x237 += einsum(x182, (0, 1, 2, 3), (1, 0, 2, 3)) - del x182 - x237 += einsum(x195, (0, 1, 2, 3), (0, 1, 2, 3)) - x237 += einsum(x196, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x196 - x237 += einsum(x202, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x202 - x237 += einsum(x209, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x237 += einsum(x211, (0, 1, 2, 3), (0, 1, 3, 2)) - del x211 - x237 += einsum(x219, (0, 1, 2, 3), (0, 1, 2, 3)) - del x219 - x237 += einsum(x221, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x237 += einsum(x225, (0, 1, 2, 3), (0, 1, 3, 2)) - del x225 - x237 += einsum(x227, (0, 1, 2, 3), (0, 1, 2, 3)) - del x227 - x237 += einsum(t1, (0, 1), x236, (2, 3), (0, 2, 1, 3)) * -2.0 - del x236 - rdm2_f_oovv += einsum(x237, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(x237, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_oovv += einsum(x237, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - rdm2_f_oovv += einsum(x237, (0, 1, 2, 3), (1, 0, 3, 2)) - rdm2_f_oovv += einsum(x237, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(x237, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_oovv += einsum(x237, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - rdm2_f_oovv += einsum(x237, (0, 1, 2, 3), (1, 0, 3, 2)) - del x237 - x238 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x238 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - x238 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - x239 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x239 += einsum(x174, (0, 1, 2, 3, 4, 5), x238, (1, 2, 0, 6, 7, 5), (3, 4, 6, 7)) * 0.08333333333333 - x240 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x240 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * 5.000000000000001 - x240 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x241 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x241 += einsum(x240, (0, 1, 2, 3), l3, (4, 2, 3, 5, 6, 0), (1, 5, 6, 4)) * 0.16666666666666666 - del x240 - x242 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x242 += einsum(x9, (0, 1, 2, 3), l3, (4, 2, 3, 5, 0, 6), (5, 6, 1, 4)) * 0.5 - x243 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x243 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) - x243 += einsum(x23, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.3333333333333333 - x243 += einsum(x241, (0, 1, 2, 3), (1, 2, 0, 3)) - del x241 - x243 += einsum(x242, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x242 - x244 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x244 += einsum(x243, (0, 1, 2, 3), t3, (4, 0, 1, 5, 3, 6), (2, 4, 6, 5)) * 1.5 - del x243 - x245 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x245 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * 2.0 - x245 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 1, 2)) * -1.0 - x246 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x246 += einsum(x6, (0, 1, 2, 3), x245, (0, 4, 5, 3, 2, 6), (4, 5, 1, 6)) - del x245 - x247 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x247 += einsum(x246, (0, 1, 2, 3), t3, (4, 1, 0, 5, 3, 6), (2, 4, 6, 5)) * 0.25 - del x246 - x248 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x248 += einsum(x6, (0, 1, 2, 3), x42, (1, 4, 0, 5, 2, 6), (4, 5, 6, 3)) - x249 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x249 += einsum(x248, (0, 1, 2, 3), x32, (0, 4, 5, 2), (1, 4, 3, 5)) * -1.0 - x250 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x250 += einsum(x42, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - x250 += einsum(x42, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * -1.0 - x251 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x251 += einsum(t2, (0, 1, 2, 3), x250, (0, 1, 4, 5, 3, 6), (4, 5, 6, 2)) - x252 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x252 += einsum(t2, (0, 1, 2, 3), x251, (1, 4, 2, 5), (4, 0, 5, 3)) * -0.5 - x253 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x253 += einsum(x239, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x239 - x253 += einsum(x244, (0, 1, 2, 3), (0, 1, 3, 2)) - del x244 - x253 += einsum(x247, (0, 1, 2, 3), (0, 1, 3, 2)) - del x247 - x253 += einsum(x249, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x249 - x253 += einsum(x252, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x252 - rdm2_f_oovv += einsum(x253, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(x253, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - rdm2_f_oovv += einsum(x253, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(x253, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x253 - x254 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x254 += einsum(l1, (0, 1), t3, (2, 3, 1, 4, 5, 0), (2, 3, 4, 5)) - x255 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x255 += einsum(t2, (0, 1, 2, 3), x24, (1, 0, 4, 5), (5, 4, 2, 3)) - rdm2_f_oovv += einsum(x255, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(x255, (0, 1, 2, 3), (0, 1, 2, 3)) - x256 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x256 += einsum(t2, (0, 1, 2, 3), l3, (2, 4, 3, 5, 6, 7), (5, 7, 6, 0, 1, 4)) - x257 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x257 += einsum(t3, (0, 1, 2, 3, 4, 5), x256, (2, 0, 1, 6, 7, 4), (6, 7, 5, 3)) - del x256 - x258 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x258 += einsum(t2, (0, 1, 2, 3), l3, (4, 2, 5, 6, 0, 1), (6, 4, 5, 3)) - x259 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x259 += einsum(x258, (0, 1, 2, 3), t3, (4, 0, 5, 2, 6, 1), (4, 5, 3, 6)) - x260 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x260 += einsum(x89, (0, 1, 2, 3), l3, (4, 5, 2, 6, 0, 1), (6, 4, 5, 3)) * 6.0 - del x89 - x261 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x261 += einsum(x258, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x261 += einsum(x258, (0, 1, 2, 3), (0, 2, 1, 3)) * -2.0 - x261 += einsum(x260, (0, 1, 2, 3), (0, 1, 2, 3)) - del x260 - x261 += einsum(x128, (0, 1, 2, 3), (0, 2, 3, 1)) - x262 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x262 += einsum(x261, (0, 1, 2, 3), t3, (4, 0, 5, 2, 1, 6), (4, 5, 3, 6)) * 0.25 - del x261 - x263 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x263 += einsum(t2, (0, 1, 2, 3), l3, (4, 5, 3, 6, 0, 1), (6, 4, 5, 2)) - rdm2_f_vvov = np.zeros((nvir, nvir, nocc, nvir), dtype=types[float]) - rdm2_f_vvov += einsum(x263, (0, 1, 2, 3), (1, 2, 0, 3)) - rdm2_f_vvov += einsum(x263, (0, 1, 2, 3), (1, 2, 0, 3)) - rdm2_f_vvvo = np.zeros((nvir, nvir, nvir, nocc), dtype=types[float]) - rdm2_f_vvvo += einsum(x263, (0, 1, 2, 3), (2, 1, 3, 0)) - rdm2_f_vvvo += einsum(x263, (0, 1, 2, 3), (2, 1, 3, 0)) - x264 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x264 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 3, 4, 0, 2, 1)) * 1.5 - x264 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * -1.5 - x264 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) - x265 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x265 += einsum(t2, (0, 1, 2, 3), x264, (0, 1, 4, 5, 2, 6), (4, 5, 6, 3)) * 0.6666666666666666 - del x264 - x266 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x266 += einsum(x263, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.6666666666666666 - x266 += einsum(x265, (0, 1, 2, 3), (0, 1, 2, 3)) - del x265 - x267 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x267 += einsum(x266, (0, 1, 2, 3), t3, (4, 0, 5, 1, 2, 6), (4, 5, 3, 6)) * 0.75 - del x266 - x268 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x268 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 3, 4, 0, 2, 1)) * 0.5 - x268 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * -0.5 - x268 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) - x269 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x269 += einsum(t2, (0, 1, 2, 3), x268, (0, 1, 4, 5, 2, 6), (4, 5, 6, 3)) * 2.0 - del x268 - x270 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x270 += einsum(x263, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - x270 += einsum(x269, (0, 1, 2, 3), (0, 1, 2, 3)) - del x269 - x271 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x271 += einsum(x270, (0, 1, 2, 3), t3, (4, 0, 5, 2, 6, 1), (4, 5, 3, 6)) * 0.25 - x272 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x272 += einsum(t2, (0, 1, 2, 3), x96, (1, 4, 3, 5), (0, 4, 2, 5)) - x273 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x273 += einsum(t2, (0, 1, 2, 3), x272, (4, 1, 5, 3), (4, 0, 5, 2)) * 4.0 - del x272 - x274 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x274 += einsum(l2, (0, 1, 2, 3), (3, 2, 0, 1)) - x274 += einsum(l2, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 - x275 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x275 += einsum(t2, (0, 1, 2, 3), x274, (1, 4, 2, 5), (4, 0, 5, 3)) - x276 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x276 += einsum(t2, (0, 1, 2, 3), x275, (1, 4, 2, 5), (4, 0, 5, 3)) * -1.0 - del x275 - x277 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x277 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 4, 7, 2, 1, 0), (5, 3, 6, 7)) - x278 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x278 += einsum(x22, (0, 1, 2, 3), (1, 0, 3, 2)) - x278 += einsum(x277, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.24999999999999 - del x277 - x279 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x279 += einsum(t2, (0, 1, 2, 3), x278, (0, 1, 4, 5), (4, 5, 2, 3)) - del x278 - x280 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x280 += einsum(t2, (0, 1, 2, 3), x98, (1, 4, 0, 5, 6, 2), (4, 6, 5, 3)) - del x98 - x281 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x281 += einsum(x96, (0, 1, 2, 3), t3, (4, 0, 5, 3, 2, 6), (4, 5, 1, 6)) - x282 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x282 += einsum(t1, (0, 1), x25, (0, 2, 3, 4), (2, 3, 4, 1)) * 0.5 - del x25 - x283 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x283 += einsum(x280, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - del x280 - x283 += einsum(x281, (0, 1, 2, 3), (2, 1, 0, 3)) - del x281 - x283 += einsum(x282, (0, 1, 2, 3), (0, 2, 1, 3)) - del x282 - x284 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x284 += einsum(t1, (0, 1), x283, (0, 2, 3, 4), (2, 3, 4, 1)) * 2.0 - del x283 - x285 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x285 += einsum(x254, (0, 1, 2, 3), (0, 1, 2, 3)) - x285 += einsum(x255, (0, 1, 2, 3), (0, 1, 2, 3)) - del x255 - x285 += einsum(x257, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.24999999999999 - del x257 - x285 += einsum(x259, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - del x259 - x285 += einsum(x262, (0, 1, 2, 3), (1, 0, 2, 3)) - del x262 - x285 += einsum(x267, (0, 1, 2, 3), (1, 0, 2, 3)) - del x267 - x285 += einsum(x271, (0, 1, 2, 3), (1, 0, 2, 3)) - del x271 - x285 += einsum(x273, (0, 1, 2, 3), (0, 1, 2, 3)) - del x273 - x285 += einsum(x276, (0, 1, 2, 3), (1, 0, 3, 2)) - del x276 - x285 += einsum(x279, (0, 1, 2, 3), (1, 0, 3, 2)) - del x279 - x285 += einsum(x284, (0, 1, 2, 3), (0, 1, 3, 2)) - del x284 - rdm2_f_oovv += einsum(x285, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(x285, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_oovv += einsum(x285, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(x285, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x285 - x286 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x286 += einsum(t3, (0, 1, 2, 3, 4, 5), x174, (0, 1, 2, 6, 7, 4), (6, 7, 3, 5)) - x287 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x287 += einsum(x42, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - x287 += einsum(x42, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * -1.0 - x287 += einsum(x42, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) * 2.0 - x288 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x288 += einsum(t2, (0, 1, 2, 3), x287, (0, 1, 4, 5, 6, 3), (4, 5, 6, 2)) * 0.5 - x289 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x289 += einsum(x288, (0, 1, 2, 3), x6, (0, 4, 5, 2), (1, 4, 3, 5)) - del x288 - x290 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x290 += einsum(t1, (0, 1), x10, (2, 3, 4, 1), (0, 3, 2, 4)) - x291 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x291 += einsum(t1, (0, 1), x290, (2, 3, 0, 4), (3, 2, 4, 1)) * 3.0 - del x290 - x292 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x292 += einsum(t1, (0, 1), x291, (0, 2, 3, 4), (2, 3, 4, 1)) * 0.5 - del x291 - x293 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x293 += einsum(x286, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.08333333333333 - del x286 - x293 += einsum(x289, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x289 - x293 += einsum(x292, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x292 - rdm2_f_oovv += einsum(x293, (0, 1, 2, 3), (0, 1, 3, 2)) - rdm2_f_oovv += einsum(x293, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - rdm2_f_oovv += einsum(x293, (0, 1, 2, 3), (0, 1, 3, 2)) - rdm2_f_oovv += einsum(x293, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x293 - x294 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x294 += einsum(t3, (0, 1, 2, 3, 4, 5), x36, (0, 1, 2, 6, 7, 3), (6, 7, 5, 4)) - x295 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x295 += einsum(x178, (0, 1, 2, 3, 4, 5), x36, (1, 0, 2, 6, 7, 4), (6, 7, 3, 5)) * 0.16666666666667 - x296 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x296 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) - x296 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) * -0.5 - x297 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x297 += einsum(x296, (0, 1, 2, 3, 4, 5), x3, (0, 6, 7, 5, 4, 3), (1, 2, 6, 7)) - del x3, x296 - x298 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x298 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * 0.5 - x298 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 3, 5, 0, 2, 1)) - x299 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x299 += einsum(t3, (0, 1, 2, 3, 4, 5), x298, (6, 7, 2, 4, 5, 3), (6, 7, 0, 1)) - del x298 - x300 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x300 += einsum(x297, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x297 - x300 += einsum(x299, (0, 1, 2, 3), (1, 0, 2, 3)) - del x299 - x301 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x301 += einsum(t2, (0, 1, 2, 3), x300, (0, 1, 4, 5), (4, 5, 2, 3)) * 0.16666666666666 - del x300 - x302 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x302 += einsum(x36, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - x302 += einsum(x36, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -0.5 - x302 += einsum(x36, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) * 0.5 - x303 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x303 += einsum(t2, (0, 1, 2, 3), x302, (0, 4, 1, 5, 6, 3), (4, 5, 6, 2)) * 5.99999999999988 - del x302 - x304 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x304 += einsum(t1, (0, 1), x102, (2, 0, 3, 4), (2, 3, 4, 1)) - del x102 - x305 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x305 += einsum(x37, (0, 1, 2, 3), (0, 1, 2, 3)) * -5.99999999999988 - x305 += einsum(x303, (0, 1, 2, 3), (0, 1, 2, 3)) - del x303 - x305 += einsum(x304, (0, 1, 2, 3), (0, 1, 2, 3)) - del x304 - x306 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x306 += einsum(t1, (0, 1), x305, (0, 2, 3, 4), (2, 3, 4, 1)) * 0.16666666666667 - del x305 - x307 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x307 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x307 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) * -1.0 - x307 += einsum(x294, (0, 1, 2, 3), (1, 0, 3, 2)) * 0.16666666666667 - del x294 - x307 += einsum(x295, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x295 - x307 += einsum(x301, (0, 1, 2, 3), (1, 0, 3, 2)) - del x301 - x307 += einsum(x306, (0, 1, 2, 3), (1, 0, 2, 3)) - del x306 - rdm2_f_oovv += einsum(x307, (0, 1, 2, 3), (0, 1, 3, 2)) - rdm2_f_oovv += einsum(x307, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - rdm2_f_oovv += einsum(x307, (0, 1, 2, 3), (0, 1, 3, 2)) - rdm2_f_oovv += einsum(x307, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x307 - x308 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x308 += einsum(t2, (0, 1, 2, 3), x251, (1, 4, 3, 5), (4, 0, 5, 2)) * -1.0 - rdm2_f_oovv += einsum(x308, (0, 1, 2, 3), (0, 1, 3, 2)) - rdm2_f_oovv += einsum(x308, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - rdm2_f_oovv += einsum(x308, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - rdm2_f_oovv += einsum(x308, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.5 - rdm2_f_oovv += einsum(x308, (0, 1, 2, 3), (0, 1, 3, 2)) - rdm2_f_oovv += einsum(x308, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - rdm2_f_oovv += einsum(x308, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - rdm2_f_oovv += einsum(x308, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.5 - del x308 - x309 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x309 += einsum(t2, (0, 1, 2, 3), x42, (1, 4, 0, 5, 6, 2), (4, 5, 6, 3)) - x310 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x310 += einsum(x309, (0, 1, 2, 3), x32, (0, 4, 5, 2), (4, 1, 5, 3)) - rdm2_f_oovv += einsum(x310, (0, 1, 2, 3), (1, 0, 2, 3)) - rdm2_f_oovv += einsum(x310, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 - rdm2_f_oovv += einsum(x310, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - rdm2_f_oovv += einsum(x310, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - rdm2_f_oovv += einsum(x310, (0, 1, 2, 3), (1, 0, 2, 3)) - rdm2_f_oovv += einsum(x310, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 - rdm2_f_oovv += einsum(x310, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - rdm2_f_oovv += einsum(x310, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - del x310 - x311 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x311 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) - x311 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 0, 2)) * 0.3333333333333333 - x312 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x312 += einsum(t1, (0, 1), x311, (2, 3, 4, 1, 5, 6), (0, 2, 3, 4, 5, 6)) * 3.0 - del x311 - x313 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x313 += einsum(t1, (0, 1), x312, (2, 3, 4, 5, 1, 6), (0, 4, 3, 5, 2, 6)) * 0.3333333333333333 - del x312 - x314 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x314 += einsum(t3, (0, 1, 2, 3, 4, 5), x313, (6, 0, 2, 1, 7, 4), (6, 7, 5, 3)) * 0.50000000000001 - del x313 - rdm2_f_oovv += einsum(x314, (0, 1, 2, 3), (1, 0, 2, 3)) - rdm2_f_oovv += einsum(x314, (0, 1, 2, 3), (1, 0, 2, 3)) - del x314 - x315 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x315 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - x315 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) - x316 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x316 += einsum(l1, (0, 1), x315, (2, 3, 1, 4, 5, 0), (2, 3, 4, 5)) - rdm2_f_oovv += einsum(x316, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - rdm2_f_oovv += einsum(x316, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x316 - x317 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x317 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - x317 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 - x318 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x318 += einsum(l3, (0, 1, 2, 3, 4, 5), x317, (4, 6, 7, 1, 2, 0), (3, 5, 6, 7)) - x319 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x319 += einsum(x318, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x318 - x319 += einsum(x104, (0, 1, 2, 3), (1, 0, 2, 3)) - del x104 - x320 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x320 += einsum(t1, (0, 1), x319, (0, 2, 3, 4), (2, 3, 4, 1)) - del x319 - x321 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x321 += einsum(t1, (0, 1), x320, (0, 2, 3, 4), (2, 3, 1, 4)) * 0.16666666666667 - del x320 - rdm2_f_oovv += einsum(x321, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - rdm2_f_oovv += einsum(x321, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x321 - x322 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x322 += einsum(t2, (0, 1, 2, 3), x42, (4, 0, 1, 5, 2, 6), (4, 5, 6, 3)) - x323 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x323 += einsum(t2, (0, 1, 2, 3), x322, (1, 4, 2, 5), (4, 0, 3, 5)) - del x322 - rdm2_f_oovv += einsum(x323, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - rdm2_f_oovv += einsum(x323, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x323 - x324 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x324 += einsum(l2, (0, 1, 2, 3), t2, (4, 3, 1, 5), (2, 4, 0, 5)) - x325 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x325 += einsum(t2, (0, 1, 2, 3), x324, (1, 4, 2, 5), (4, 0, 5, 3)) - del x324 - rdm2_f_oovv += einsum(x325, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(x325, (0, 1, 2, 3), (0, 1, 2, 3)) - del x325 - x326 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x326 += einsum(t1, (0, 1), x24, (0, 2, 3, 4), (2, 4, 3, 1)) - del x24 - x327 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x327 += einsum(t1, (0, 1), x326, (0, 2, 3, 4), (2, 3, 1, 4)) - del x326 - rdm2_f_oovv += einsum(x327, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(x327, (0, 1, 2, 3), (0, 1, 2, 3)) - del x327 - x328 = np.zeros((nocc, nvir), dtype=types[float]) - x328 += einsum(t1, (0, 1), x1, (0, 2), (2, 1)) - del x1 - rdm2_f_oovv += einsum(t1, (0, 1), x328, (2, 3), (0, 2, 1, 3)) * -1.0 - rdm2_f_oovv += einsum(t1, (0, 1), x328, (2, 3), (0, 2, 1, 3)) * -1.0 - x329 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x329 += einsum(t2, (0, 1, 2, 3), x28, (0, 1, 4, 5), (4, 5, 2, 3)) - x330 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x330 += einsum(x258, (0, 1, 2, 3), t3, (4, 5, 0, 2, 6, 1), (4, 5, 3, 6)) - x331 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x331 += einsum(t2, (0, 1, 2, 3), l3, (4, 2, 3, 1, 5, 6), (6, 5, 0, 4)) - x332 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x332 += einsum(t1, (0, 1), x331, (2, 3, 4, 1), (2, 3, 0, 4)) - x333 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x333 += einsum(t2, (0, 1, 2, 3), x332, (1, 0, 4, 5), (4, 5, 3, 2)) - del x332 - x334 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x334 += einsum(x270, (0, 1, 2, 3), t3, (4, 5, 0, 1, 6, 2), (4, 5, 3, 6)) * 0.25 - x335 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x335 += einsum(x174, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x174 - x335 += einsum(x36, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 1.0000000000000602 - del x36 - x336 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x336 += einsum(t3, (0, 1, 2, 3, 4, 5), x335, (0, 2, 1, 6, 7, 3), (6, 7, 5, 4)) * 0.49999999999997996 - del x335 - x337 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x337 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) - x337 += einsum(x23, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x337 += einsum(x168, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x168 - x337 += einsum(x123, (0, 1, 2, 3), (1, 0, 2, 3)) - del x123 - x338 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x338 += einsum(x337, (0, 1, 2, 3), t3, (0, 4, 1, 3, 5, 6), (2, 4, 6, 5)) * 0.5 - del x337 - x339 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x339 += einsum(x7, (0, 1, 2, 3), t3, (0, 4, 1, 5, 6, 3), (4, 2, 5, 6)) * -0.25 - del x7 - x340 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x340 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 3, 5, 7, 0, 2), (4, 6, 1, 7)) - x341 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x341 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - x341 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -0.25 - x341 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 0.25 - x342 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x342 += einsum(l3, (0, 1, 2, 3, 4, 5), x341, (4, 6, 5, 1, 7, 2), (6, 3, 7, 0)) - del x341 - rdm2_f_ovvo += einsum(x342, (0, 1, 2, 3), (0, 3, 2, 1)) - rdm2_f_ovvo += einsum(x342, (0, 1, 2, 3), (0, 3, 2, 1)) - x343 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x343 += einsum(l3, (0, 1, 2, 3, 4, 5), x188, (3, 6, 5, 0, 2, 7), (4, 6, 1, 7)) * 0.25 - del x188 - x344 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x344 += einsum(x183, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.25 - x344 += einsum(x340, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.25 - del x340 - x344 += einsum(x342, (0, 1, 2, 3), (1, 0, 3, 2)) - del x342 - x344 += einsum(x343, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x343 - x345 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x345 += einsum(t2, (0, 1, 2, 3), x344, (1, 4, 2, 5), (4, 0, 5, 3)) - del x344 - x346 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x346 += einsum(t2, (0, 1, 2, 3), x143, (0, 1, 4, 5, 6, 2), (4, 5, 3, 6)) - x347 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x347 += einsum(t2, (0, 1, 2, 3), x346, (1, 4, 5, 2), (4, 0, 5, 3)) * -0.5 - del x346 - x348 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x348 += einsum(t2, (0, 1, 2, 3), x23, (4, 1, 5, 3), (4, 5, 0, 2)) - x349 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x349 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 4.0 - x349 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -1.0 - x349 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - x350 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x350 += einsum(x349, (0, 1, 2, 3, 4, 5), x42, (2, 6, 0, 7, 5, 3), (1, 6, 7, 4)) * 0.5 - x351 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x351 += einsum(x35, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - x351 += einsum(x35, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - x352 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x352 += einsum(t3, (0, 1, 2, 3, 4, 5), x351, (1, 2, 6, 7, 4, 5), (6, 7, 0, 3)) * 0.5 - del x351 - x353 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x353 += einsum(l2, (0, 1, 2, 3), x145, (2, 4, 5, 0, 1, 6), (3, 4, 5, 6)) - del x145 - x354 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x354 += einsum(t2, (0, 1, 2, 3), x133, (1, 4, 5, 6, 3, 2), (0, 4, 5, 6)) * 2.0 - del x133 - x355 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x355 += einsum(x132, (0, 1, 2, 3), (1, 0, 2, 3)) - del x132 - x355 += einsum(x354, (0, 1, 2, 3), (1, 2, 0, 3)) - del x354 - x356 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x356 += einsum(t2, (0, 1, 2, 3), x355, (4, 1, 5, 2), (4, 5, 0, 3)) - del x355 - x357 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x357 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x357 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x358 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x358 += einsum(x23, (0, 1, 2, 3), x357, (0, 4, 3, 5), (4, 1, 2, 5)) * 2.0 - x359 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x359 += einsum(x28, (0, 1, 2, 3), (0, 1, 2, 3)) - del x28 - x359 += einsum(x30, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.99999999999996 - del x30 - x360 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x360 += einsum(t1, (0, 1), x359, (2, 0, 3, 4), (2, 3, 4, 1)) * 1.00000000000002 - del x359 - x361 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x361 += einsum(x348, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x348 - x361 += einsum(x140, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - del x140 - x361 += einsum(x113, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - del x113 - x361 += einsum(x111, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - del x111 - x361 += einsum(x37, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x37 - x361 += einsum(x350, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - del x350 - x361 += einsum(x352, (0, 1, 2, 3), (0, 1, 2, 3)) - del x352 - x361 += einsum(x353, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x353 - x361 += einsum(x356, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x356 - x361 += einsum(x358, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - del x358 - x361 += einsum(x360, (0, 1, 2, 3), (0, 1, 2, 3)) - del x360 - x362 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x362 += einsum(t1, (0, 1), x361, (0, 2, 3, 4), (2, 3, 4, 1)) * 0.5 - del x361 - x363 = np.zeros((nocc, nvir), dtype=types[float]) - x363 += einsum(t1, (0, 1), x21, (0, 2), (2, 1)) - del x21 - x364 = np.zeros((nocc, nvir), dtype=types[float]) - x364 += einsum(x76, (0, 1), (0, 1)) * 0.124999999999995 - del x76 - x364 += einsum(x228, (0, 1), (0, 1)) - del x228 - x364 += einsum(x229, (0, 1), (0, 1)) * -1.0 - del x229 - x364 += einsum(x230, (0, 1), (0, 1)) * -1.0 - del x230 - x364 += einsum(x231, (0, 1), (0, 1)) - del x231 - x364 += einsum(x232, (0, 1), (0, 1)) - del x232 - x364 += einsum(x233, (0, 1), (0, 1)) - del x233 - x364 += einsum(x234, (0, 1), (0, 1)) * -1.0 - del x234 - x364 += einsum(x363, (0, 1), (0, 1)) - del x363 - x365 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x365 += einsum(x254, (0, 1, 2, 3), (0, 1, 2, 3)) - del x254 - x365 += einsum(x329, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.49999999999997996 - del x329 - x365 += einsum(x330, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - del x330 - x365 += einsum(x333, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x333 - x365 += einsum(x334, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x334 - x365 += einsum(x336, (0, 1, 2, 3), (0, 1, 2, 3)) - del x336 - x365 += einsum(x338, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x338 - x365 += einsum(x195, (0, 1, 2, 3), (0, 1, 2, 3)) - del x195 - x365 += einsum(x339, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x339 - x365 += einsum(x345, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x345 - x365 += einsum(x209, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x209 - x365 += einsum(x347, (0, 1, 2, 3), (0, 1, 3, 2)) - del x347 - x365 += einsum(x362, (0, 1, 2, 3), (0, 1, 3, 2)) - del x362 - x365 += einsum(x221, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x221 - x365 += einsum(t1, (0, 1), x364, (2, 3), (0, 2, 1, 3)) * -2.0 - del x364 - rdm2_f_oovv += einsum(x365, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(x365, (0, 1, 2, 3), (1, 0, 3, 2)) - rdm2_f_oovv += einsum(x365, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(x365, (0, 1, 2, 3), (1, 0, 3, 2)) - del x365 - x366 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x366 += einsum(x29, (0, 1, 2, 3), t3, (4, 1, 0, 5, 6, 3), (2, 4, 5, 6)) - x367 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x367 += einsum(x263, (0, 1, 2, 3), t3, (4, 5, 0, 6, 2, 1), (4, 5, 3, 6)) - x368 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x368 += einsum(x128, (0, 1, 2, 3), t3, (4, 5, 0, 6, 2, 3), (4, 5, 6, 1)) * -0.5 - x369 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x369 += einsum(x23, (0, 1, 2, 3), (1, 0, 2, 3)) - x369 += einsum(x124, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x124 - x370 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x370 += einsum(x369, (0, 1, 2, 3), t3, (4, 0, 1, 5, 6, 3), (2, 4, 5, 6)) - del x369 - x371 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x371 += einsum(t2, (0, 1, 2, 3), x250, (0, 1, 4, 5, 3, 6), (4, 5, 6, 2)) * 0.5 - x372 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x372 += einsum(x176, (0, 1, 2, 3), (0, 1, 2, 3)) - x372 += einsum(x371, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x371 - x373 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x373 += einsum(t2, (0, 1, 2, 3), x372, (1, 4, 2, 5), (4, 0, 5, 3)) - del x372 - x374 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x374 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (5, 6, 3, 2, 1, 7), (4, 6, 0, 7)) - rdm2_f_ovov += einsum(x374, (0, 1, 2, 3), (1, 2, 0, 3)) * -0.5 - rdm2_f_ovov += einsum(x374, (0, 1, 2, 3), (1, 2, 0, 3)) * -0.5 - rdm2_f_vovo += einsum(x374, (0, 1, 2, 3), (2, 1, 3, 0)) * -0.5 - rdm2_f_vovo += einsum(x374, (0, 1, 2, 3), (2, 1, 3, 0)) * -0.5 - x375 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x375 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 4, 5, 0, 7, 2), (3, 6, 1, 7)) - rdm2_f_ovov += einsum(x375, (0, 1, 2, 3), (1, 2, 0, 3)) * -0.5 - rdm2_f_ovov += einsum(x375, (0, 1, 2, 3), (1, 2, 0, 3)) * -0.5 - rdm2_f_vovo += einsum(x375, (0, 1, 2, 3), (2, 1, 3, 0)) * -0.5 - rdm2_f_vovo += einsum(x375, (0, 1, 2, 3), (2, 1, 3, 0)) * -0.5 - x376 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x376 += einsum(x374, (0, 1, 2, 3), (0, 1, 2, 3)) - x376 += einsum(x375, (0, 1, 2, 3), (0, 1, 2, 3)) - x377 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x377 += einsum(t2, (0, 1, 2, 3), x376, (1, 4, 2, 5), (4, 0, 5, 3)) * 0.5 - del x376 - x378 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x378 += einsum(x9, (0, 1, 2, 3), l3, (4, 2, 3, 5, 0, 6), (6, 5, 1, 4)) * 3.0 - del x9 - x379 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x379 += einsum(x29, (0, 1, 2, 3), (0, 1, 2, 3)) - x379 += einsum(x29, (0, 1, 2, 3), (1, 0, 2, 3)) * -3.0 - x379 += einsum(x53, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x379 += einsum(x53, (0, 1, 2, 3), (1, 0, 2, 3)) - del x53 - x379 += einsum(x378, (0, 1, 2, 3), (1, 0, 2, 3)) - x379 += einsum(x59, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x380 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x380 += einsum(t1, (0, 1), x379, (0, 2, 3, 4), (2, 3, 4, 1)) - del x379 - x381 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x381 += einsum(t2, (0, 1, 2, 3), x380, (1, 4, 3, 5), (4, 0, 5, 2)) * 0.5 - del x380 - x382 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x382 += einsum(t2, (0, 1, 2, 3), x23, (4, 1, 5, 2), (4, 5, 0, 3)) - x383 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x383 += einsum(t2, (0, 1, 2, 3), x120, (0, 1, 4, 5, 6, 2), (4, 5, 6, 3)) * 0.5 - del x120 - x384 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x384 += einsum(x29, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x29 - x384 += einsum(x59, (0, 1, 2, 3), (1, 0, 2, 3)) - del x59 - x385 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x385 += einsum(t2, (0, 1, 2, 3), x384, (1, 4, 5, 2), (4, 5, 0, 3)) * 0.5 - del x384 - x386 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x386 += einsum(t1, (0, 1), x33, (2, 3, 4, 1), (0, 2, 3, 4)) * -1.0 - x387 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x387 += einsum(t1, (0, 1), x386, (2, 3, 0, 4), (3, 2, 4, 1)) * 0.5 - x388 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x388 += einsum(x38, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x38 - x388 += einsum(x108, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x108 - x388 += einsum(x382, (0, 1, 2, 3), (0, 1, 2, 3)) - del x382 - x388 += einsum(x110, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - del x110 - x388 += einsum(x109, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - del x109 - x388 += einsum(x383, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x383 - x388 += einsum(x149, (0, 1, 2, 3), (2, 1, 0, 3)) - del x149 - x388 += einsum(x385, (0, 1, 2, 3), (0, 2, 1, 3)) - del x385 - x388 += einsum(x387, (0, 1, 2, 3), (0, 1, 2, 3)) - del x387 - x389 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x389 += einsum(t1, (0, 1), x388, (0, 2, 3, 4), (2, 3, 4, 1)) - del x388 - x390 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x390 += einsum(t2, (0, 1, 2, 3), x386, (4, 0, 1, 5), (4, 5, 3, 2)) * 0.5 - del x386 - x391 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x391 += einsum(x173, (0, 1, 2, 3), (0, 1, 2, 3)) - del x173 - x391 += einsum(x366, (0, 1, 2, 3), (0, 1, 2, 3)) - del x366 - x391 += einsum(x367, (0, 1, 2, 3), (0, 1, 2, 3)) - del x367 - x391 += einsum(x177, (0, 1, 2, 3), (0, 1, 2, 3)) - del x177 - x391 += einsum(x368, (0, 1, 2, 3), (0, 1, 3, 2)) - del x368 - x391 += einsum(x370, (0, 1, 2, 3), (0, 1, 2, 3)) - del x370 - x391 += einsum(x373, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x373 - x391 += einsum(x377, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x377 - x391 += einsum(x381, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x381 - x391 += einsum(x389, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x389 - x391 += einsum(x390, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x390 - rdm2_f_oovv += einsum(x391, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_oovv += einsum(x391, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - rdm2_f_oovv += einsum(x391, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_oovv += einsum(x391, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x391 - x392 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x392 += einsum(t2, (0, 1, 2, 3), x251, (1, 4, 3, 5), (4, 0, 5, 2)) * -0.5 - del x251 - rdm2_f_oovv += einsum(x392, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - rdm2_f_oovv += einsum(x392, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 - rdm2_f_oovv += einsum(x392, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - rdm2_f_oovv += einsum(x392, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 - del x392 - x393 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x393 += einsum(t2, (0, 1, 2, 3), x309, (1, 4, 3, 5), (4, 0, 2, 5)) - del x309 - rdm2_f_oovv += einsum(x393, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - rdm2_f_oovv += einsum(x393, (0, 1, 2, 3), (1, 0, 2, 3)) - rdm2_f_oovv += einsum(x393, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - rdm2_f_oovv += einsum(x393, (0, 1, 2, 3), (1, 0, 2, 3)) - del x393 - x394 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x394 += einsum(t2, (0, 1, 2, 3), x287, (0, 1, 4, 5, 6, 3), (4, 5, 6, 2)) * 0.25 - del x287 - x395 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x395 += einsum(t2, (0, 1, 2, 3), x192, (1, 4, 3, 5), (0, 4, 2, 5)) - del x192 - x396 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x396 += einsum(x394, (0, 1, 2, 3), (0, 1, 2, 3)) - del x394 - x396 += einsum(x395, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x395 - x397 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x397 += einsum(t2, (0, 1, 2, 3), x396, (1, 4, 3, 5), (4, 0, 5, 2)) * 2.0 - del x396 - rdm2_f_oovv += einsum(x397, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - rdm2_f_oovv += einsum(x397, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x397 - x398 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x398 += einsum(t2, (0, 1, 2, 3), x248, (1, 4, 3, 5), (4, 0, 5, 2)) * -1.0 - del x248 - rdm2_f_oovv += einsum(x398, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - rdm2_f_oovv += einsum(x398, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x398 - x399 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x399 += einsum(l2, (0, 1, 2, 3), t2, (4, 2, 1, 5), (3, 4, 0, 5)) - rdm2_f_ovov += einsum(x399, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_ovov += einsum(x399, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_vovo += einsum(x399, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - rdm2_f_vovo += einsum(x399, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - x400 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x400 += einsum(t2, (0, 1, 2, 3), x42, (0, 4, 1, 5, 2, 6), (4, 5, 6, 3)) - rdm2_f_ovov += einsum(x400, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_ovov += einsum(x400, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_vovo += einsum(x400, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - rdm2_f_vovo += einsum(x400, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - x401 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x401 += einsum(x399, (0, 1, 2, 3), (0, 1, 2, 3)) - x401 += einsum(x400, (0, 1, 2, 3), (0, 1, 2, 3)) - x402 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x402 += einsum(t2, (0, 1, 2, 3), x401, (1, 4, 2, 5), (4, 0, 5, 3)) - del x401 - rdm2_f_oovv += einsum(x402, (0, 1, 2, 3), (1, 0, 2, 3)) - rdm2_f_oovv += einsum(x402, (0, 1, 2, 3), (1, 0, 2, 3)) - del x402 - x403 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x403 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - x403 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) - x404 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x404 += einsum(x22, (0, 1, 2, 3), x403, (0, 1, 4, 5), (2, 3, 4, 5)) - del x22, x403 - rdm2_f_oovv += einsum(x404, (0, 1, 2, 3), (1, 0, 3, 2)) - rdm2_f_oovv += einsum(x404, (0, 1, 2, 3), (1, 0, 3, 2)) - del x404 - x405 = np.zeros((nocc, nvir), dtype=types[float]) - x405 += einsum(t1, (0, 1), (0, 1)) - x405 += einsum(x328, (0, 1), (0, 1)) * -1.0 - del x328 - rdm2_f_oovv += einsum(t1, (0, 1), x405, (2, 3), (2, 0, 3, 1)) - rdm2_f_oovv += einsum(t1, (0, 1), x405, (2, 3), (2, 0, 3, 1)) - del x405 - x406 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x406 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 5, 4, 1, 7, 2), (3, 6, 0, 7)) - rdm2_f_ovov += einsum(x406, (0, 1, 2, 3), (1, 2, 0, 3)) * -0.25 - rdm2_f_ovov += einsum(x406, (0, 1, 2, 3), (1, 2, 0, 3)) * -0.25 - rdm2_f_voov += einsum(x406, (0, 1, 2, 3), (2, 1, 0, 3)) * 0.25 - rdm2_f_voov += einsum(x406, (0, 1, 2, 3), (2, 1, 0, 3)) * 0.25 - del x406 - x407 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x407 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 0.2 - x407 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -0.2 - x407 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -0.2 - x407 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) - x408 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x408 += einsum(l3, (0, 1, 2, 3, 4, 5), x407, (4, 6, 5, 1, 7, 2), (6, 3, 7, 0)) * 1.25 - del x407 - rdm2_f_ovov += einsum(x408, (0, 1, 2, 3), (0, 3, 1, 2)) * -1.0 - rdm2_f_ovov += einsum(x408, (0, 1, 2, 3), (0, 3, 1, 2)) * -1.0 - del x408 - x409 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x409 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * -1.0 - x409 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 2, 1)) - x410 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x410 += einsum(t3, (0, 1, 2, 3, 4, 5), x409, (2, 1, 6, 5, 7, 3), (6, 0, 7, 4)) * 0.25 - del x409 - rdm2_f_ovov += einsum(x410, (0, 1, 2, 3), (1, 2, 0, 3)) - rdm2_f_ovov += einsum(x410, (0, 1, 2, 3), (1, 2, 0, 3)) - del x410 - x411 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x411 += einsum(l3, (0, 1, 2, 3, 4, 5), x317, (5, 6, 3, 1, 7, 2), (4, 6, 0, 7)) * 0.25 - rdm2_f_ovov += einsum(x411, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_ovov += einsum(x411, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_ovvo += einsum(x411, (0, 1, 2, 3), (1, 2, 3, 0)) - rdm2_f_ovvo += einsum(x411, (0, 1, 2, 3), (1, 2, 3, 0)) - del x411 - x412 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x412 += einsum(t2, (0, 1, 2, 3), x250, (0, 1, 4, 5, 6, 2), (4, 5, 6, 3)) * 0.5 - rdm2_f_ovov += einsum(x412, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_ovov += einsum(x412, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_vovo += einsum(x412, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - rdm2_f_vovo += einsum(x412, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - del x412 - x413 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x413 += einsum(x42, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 2.0 - x413 += einsum(x42, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 - x414 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x414 += einsum(t2, (0, 1, 2, 3), x413, (4, 0, 1, 5, 6, 3), (4, 5, 6, 2)) - del x413 - rdm2_f_ovov += einsum(x414, (0, 1, 2, 3), (1, 2, 0, 3)) - rdm2_f_ovov += einsum(x414, (0, 1, 2, 3), (1, 2, 0, 3)) - rdm2_f_ovvo += einsum(x414, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - rdm2_f_ovvo += einsum(x414, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - del x414 - x415 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x415 += einsum(l2, (0, 1, 2, 3), x32, (2, 4, 5, 1), (3, 4, 0, 5)) - rdm2_f_ovov += einsum(x415, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_ovov += einsum(x415, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - del x415 - x416 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x416 += einsum(l2, (0, 1, 2, 3), x19, (3, 4, 5, 1), (2, 4, 0, 5)) * 2.0 - del x19 - rdm2_f_ovov += einsum(x416, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_ovov += einsum(x416, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_voov += einsum(x416, (0, 1, 2, 3), (2, 1, 0, 3)) - rdm2_f_voov += einsum(x416, (0, 1, 2, 3), (2, 1, 0, 3)) - del x416 - x417 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x417 += einsum(x32, (0, 1, 2, 3), l3, (4, 2, 3, 5, 6, 0), (5, 6, 1, 4)) - x418 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x418 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x418 += einsum(x417, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x417 - x419 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x419 += einsum(x418, (0, 1, 2, 3), (0, 1, 2, 3)) - x419 += einsum(x418, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x419 += einsum(x378, (0, 1, 2, 3), (1, 0, 2, 3)) - x420 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x420 += einsum(t1, (0, 1), x419, (2, 0, 3, 4), (2, 3, 4, 1)) * 0.5 - del x419 - rdm2_f_ovov += einsum(x420, (0, 1, 2, 3), (1, 2, 0, 3)) - rdm2_f_ovov += einsum(x420, (0, 1, 2, 3), (1, 2, 0, 3)) - rdm2_f_ovvo += einsum(x420, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - rdm2_f_ovvo += einsum(x420, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - rdm2_f_voov += einsum(x420, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_voov += einsum(x420, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_vovo += einsum(x420, (0, 1, 2, 3), (2, 1, 3, 0)) - rdm2_f_vovo += einsum(x420, (0, 1, 2, 3), (2, 1, 3, 0)) - del x420 - x421 = np.zeros((nvir, nvir), dtype=types[float]) - x421 += einsum(l1, (0, 1), t1, (1, 2), (0, 2)) - x422 = np.zeros((nvir, nvir), dtype=types[float]) - x422 += einsum(x421, (0, 1), (0, 1)) - x422 += einsum(x203, (0, 1), (0, 1)) * 0.24999999999999 - x422 += einsum(x205, (0, 1), (0, 1)) - del x205 - x422 += einsum(x206, (0, 1), (0, 1)) * -1.0 - del x206 - x422 += einsum(x207, (0, 1), (1, 0)) - del x207 - rdm2_f_ovov += einsum(delta.oo, (0, 1), x422, (2, 3), (0, 2, 1, 3)) - rdm2_f_ovov += einsum(delta.oo, (0, 1), x422, (2, 3), (0, 2, 1, 3)) - rdm2_f_ovov += einsum(delta.oo, (0, 1), x422, (2, 3), (0, 2, 1, 3)) - rdm2_f_ovov += einsum(delta.oo, (0, 1), x422, (2, 3), (0, 2, 1, 3)) - rdm2_f_ovvo += einsum(delta.oo, (0, 1), x422, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_ovvo += einsum(delta.oo, (0, 1), x422, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_voov += einsum(delta.oo, (0, 1), x422, (2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_voov += einsum(delta.oo, (0, 1), x422, (2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_vovo += einsum(delta.oo, (0, 1), x422, (2, 3), (2, 0, 3, 1)) - rdm2_f_vovo += einsum(delta.oo, (0, 1), x422, (2, 3), (2, 0, 3, 1)) - rdm2_f_vovo += einsum(delta.oo, (0, 1), x422, (2, 3), (2, 0, 3, 1)) - rdm2_f_vovo += einsum(delta.oo, (0, 1), x422, (2, 3), (2, 0, 3, 1)) - x423 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x423 += einsum(t2, (0, 1, 2, 3), x143, (0, 1, 4, 5, 2, 6), (4, 5, 3, 6)) * 0.5 - rdm2_f_ovov += einsum(x423, (0, 1, 2, 3), (1, 3, 0, 2)) * -1.0 - rdm2_f_ovov += einsum(x423, (0, 1, 2, 3), (1, 3, 0, 2)) * -1.0 - rdm2_f_vovo += einsum(x423, (0, 1, 2, 3), (3, 1, 2, 0)) * -1.0 - rdm2_f_vovo += einsum(x423, (0, 1, 2, 3), (3, 1, 2, 0)) * -1.0 - del x423 - x424 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x424 += einsum(t1, (0, 1), x151, (0, 2, 3, 4), (2, 3, 1, 4)) - rdm2_f_ovov += einsum(x424, (0, 1, 2, 3), (1, 3, 0, 2)) * -1.0 - rdm2_f_ovov += einsum(x424, (0, 1, 2, 3), (1, 3, 0, 2)) * -1.0 - del x424 - x425 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x425 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 3, 5, 1, 7, 2), (4, 6, 0, 7)) - rdm2_f_ovvo += einsum(x425, (0, 1, 2, 3), (1, 2, 3, 0)) * 0.25 - rdm2_f_ovvo += einsum(x425, (0, 1, 2, 3), (1, 2, 3, 0)) * 0.25 - rdm2_f_vovo += einsum(x425, (0, 1, 2, 3), (2, 1, 3, 0)) * -0.25 - rdm2_f_vovo += einsum(x425, (0, 1, 2, 3), (2, 1, 3, 0)) * -0.25 - del x425 - x426 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x426 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - x426 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 - x426 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 - x426 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 5.0 - x427 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x427 += einsum(l3, (0, 1, 2, 3, 4, 5), x426, (4, 6, 5, 1, 7, 2), (6, 3, 7, 0)) * 0.25 - del x426 - rdm2_f_ovvo += einsum(x427, (0, 1, 2, 3), (0, 3, 2, 1)) - rdm2_f_ovvo += einsum(x427, (0, 1, 2, 3), (0, 3, 2, 1)) - rdm2_f_voov += einsum(x427, (0, 1, 2, 3), (3, 0, 1, 2)) - rdm2_f_voov += einsum(x427, (0, 1, 2, 3), (3, 0, 1, 2)) - del x427 - x428 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x428 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - x428 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 - x429 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x429 += einsum(l3, (0, 1, 2, 3, 4, 5), x428, (5, 6, 4, 2, 1, 7), (6, 3, 7, 0)) * 0.25 - del x428 - rdm2_f_ovvo += einsum(x429, (0, 1, 2, 3), (0, 3, 2, 1)) * -1.0 - rdm2_f_ovvo += einsum(x429, (0, 1, 2, 3), (0, 3, 2, 1)) * -1.0 - del x429 - x430 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x430 += einsum(x42, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - x430 += einsum(x42, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) - x431 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x431 += einsum(t2, (0, 1, 2, 3), x430, (0, 1, 4, 5, 6, 2), (4, 5, 6, 3)) * 0.5 - del x430 - rdm2_f_ovvo += einsum(x431, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - rdm2_f_ovvo += einsum(x431, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - rdm2_f_voov += einsum(x431, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_voov += einsum(x431, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - del x431 - x432 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x432 += einsum(t2, (0, 1, 2, 3), x274, (1, 4, 5, 2), (4, 0, 5, 3)) - rdm2_f_ovvo += einsum(x432, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - rdm2_f_ovvo += einsum(x432, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - rdm2_f_vovo += einsum(x432, (0, 1, 2, 3), (2, 1, 3, 0)) - rdm2_f_vovo += einsum(x432, (0, 1, 2, 3), (2, 1, 3, 0)) - del x432 - x433 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x433 += einsum(l2, (0, 1, 2, 3), (3, 2, 0, 1)) * 2.0 - x433 += einsum(l2, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 - x434 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x434 += einsum(t2, (0, 1, 2, 3), x433, (1, 4, 5, 3), (4, 0, 5, 2)) - del x433 - rdm2_f_ovvo += einsum(x434, (0, 1, 2, 3), (1, 2, 3, 0)) - rdm2_f_ovvo += einsum(x434, (0, 1, 2, 3), (1, 2, 3, 0)) - rdm2_f_vovo += einsum(x434, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - rdm2_f_vovo += einsum(x434, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - del x434 - x435 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x435 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 3, 5, 0, 7, 2), (4, 6, 1, 7)) - rdm2_f_ovvo += einsum(x435, (0, 1, 2, 3), (1, 2, 3, 0)) * -0.25 - rdm2_f_ovvo += einsum(x435, (0, 1, 2, 3), (1, 2, 3, 0)) * -0.25 - rdm2_f_voov += einsum(x435, (0, 1, 2, 3), (2, 1, 0, 3)) * -0.25 - rdm2_f_voov += einsum(x435, (0, 1, 2, 3), (2, 1, 0, 3)) * -0.25 - x436 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x436 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (3, 6, 5, 1, 7, 2), (4, 6, 0, 7)) - rdm2_f_ovvo += einsum(x436, (0, 1, 2, 3), (1, 2, 3, 0)) * -0.25 - rdm2_f_ovvo += einsum(x436, (0, 1, 2, 3), (1, 2, 3, 0)) * -0.25 - rdm2_f_voov += einsum(x436, (0, 1, 2, 3), (2, 1, 0, 3)) * -0.25 - rdm2_f_voov += einsum(x436, (0, 1, 2, 3), (2, 1, 0, 3)) * -0.25 - del x436 - x437 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x437 += einsum(l2, (0, 1, 2, 3), t2, (4, 2, 5, 1), (3, 4, 0, 5)) - rdm2_f_ovvo += einsum(x437, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - rdm2_f_ovvo += einsum(x437, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - rdm2_f_voov += einsum(x437, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_voov += einsum(x437, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - x438 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x438 += einsum(t3, (0, 1, 2, 3, 4, 5), x127, (1, 2, 6, 5, 4, 7), (0, 6, 3, 7)) * 0.25 - rdm2_f_ovvo += einsum(x438, (0, 1, 2, 3), (0, 3, 2, 1)) * -1.0 - rdm2_f_ovvo += einsum(x438, (0, 1, 2, 3), (0, 3, 2, 1)) * -1.0 - rdm2_f_voov += einsum(x438, (0, 1, 2, 3), (3, 0, 1, 2)) * -1.0 - rdm2_f_voov += einsum(x438, (0, 1, 2, 3), (3, 0, 1, 2)) * -1.0 - del x438 - x439 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x439 += einsum(t2, (0, 1, 2, 3), x250, (0, 1, 4, 5, 2, 6), (4, 5, 6, 3)) * 0.5 - rdm2_f_ovvo += einsum(x439, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - rdm2_f_ovvo += einsum(x439, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - rdm2_f_voov += einsum(x439, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_voov += einsum(x439, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - del x439 - x440 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x440 += einsum(l2, (0, 1, 2, 3), x92, (3, 4, 5, 1), (2, 4, 0, 5)) - del x92 - rdm2_f_ovvo += einsum(x440, (0, 1, 2, 3), (1, 2, 3, 0)) - rdm2_f_ovvo += einsum(x440, (0, 1, 2, 3), (1, 2, 3, 0)) - rdm2_f_voov += einsum(x440, (0, 1, 2, 3), (2, 1, 0, 3)) - rdm2_f_voov += einsum(x440, (0, 1, 2, 3), (2, 1, 0, 3)) - del x440 - x441 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x441 += einsum(t1, (0, 1), x130, (2, 0, 3, 4), (2, 3, 1, 4)) * 0.5 - rdm2_f_ovvo += einsum(x441, (0, 1, 2, 3), (1, 3, 2, 0)) * -1.0 - rdm2_f_ovvo += einsum(x441, (0, 1, 2, 3), (1, 3, 2, 0)) * -1.0 - del x441 - x442 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x442 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) - x442 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 2, 1)) * -1.0 - x443 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x443 += einsum(t3, (0, 1, 2, 3, 4, 5), x442, (2, 1, 6, 5, 7, 3), (6, 0, 7, 4)) * 0.25 - del x442 - rdm2_f_voov += einsum(x443, (0, 1, 2, 3), (2, 1, 0, 3)) - rdm2_f_voov += einsum(x443, (0, 1, 2, 3), (2, 1, 0, 3)) - del x443 - x444 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x444 += einsum(l3, (0, 1, 2, 3, 4, 5), x317, (5, 6, 3, 2, 7, 1), (4, 6, 0, 7)) * 0.25 - del x317 - rdm2_f_voov += einsum(x444, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_voov += einsum(x444, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - del x444 - x445 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x445 += einsum(x42, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -0.5 - x445 += einsum(x42, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) - x446 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x446 += einsum(t2, (0, 1, 2, 3), x445, (4, 0, 1, 5, 6, 2), (4, 5, 6, 3)) * 2.0 - del x445 - rdm2_f_voov += einsum(x446, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_voov += einsum(x446, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_vovo += einsum(x446, (0, 1, 2, 3), (2, 1, 3, 0)) - rdm2_f_vovo += einsum(x446, (0, 1, 2, 3), (2, 1, 3, 0)) - del x446 - x447 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x447 += einsum(l2, (0, 1, 2, 3), x6, (2, 4, 5, 1), (3, 4, 0, 5)) - rdm2_f_voov += einsum(x447, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_voov += einsum(x447, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - del x447 - x448 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x448 += einsum(l3, (0, 1, 2, 3, 4, 5), x349, (4, 6, 5, 1, 7, 2), (6, 3, 7, 0)) * 0.25 - rdm2_f_voov += einsum(x448, (0, 1, 2, 3), (3, 0, 1, 2)) - rdm2_f_voov += einsum(x448, (0, 1, 2, 3), (3, 0, 1, 2)) - del x448 - x449 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x449 += einsum(t1, (0, 1), x151, (2, 0, 3, 4), (2, 3, 1, 4)) - del x151 - rdm2_f_voov += einsum(x449, (0, 1, 2, 3), (3, 1, 0, 2)) * -1.0 - rdm2_f_voov += einsum(x449, (0, 1, 2, 3), (3, 1, 0, 2)) * -1.0 - del x449 - x450 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x450 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * 5.0 - x450 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 2, 1)) * -1.0 - x451 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x451 += einsum(t3, (0, 1, 2, 3, 4, 5), x450, (2, 6, 1, 5, 7, 4), (6, 0, 7, 3)) * 0.25 - del x450 - rdm2_f_vovo += einsum(x451, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - rdm2_f_vovo += einsum(x451, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - del x451 - x452 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x452 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - x452 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - x452 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) - x453 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x453 += einsum(l3, (0, 1, 2, 3, 4, 5), x452, (4, 6, 5, 1, 7, 2), (6, 3, 7, 0)) * 0.25 - del x452 - rdm2_f_vovo += einsum(x453, (0, 1, 2, 3), (3, 0, 2, 1)) - rdm2_f_vovo += einsum(x453, (0, 1, 2, 3), (3, 0, 2, 1)) - del x453 - x454 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x454 += einsum(l3, (0, 1, 2, 3, 4, 5), x315, (5, 6, 4, 2, 1, 7), (3, 6, 0, 7)) * 0.25 - del x315 - rdm2_f_vovo += einsum(x454, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - rdm2_f_vovo += einsum(x454, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - del x454 - x455 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x455 += einsum(t1, (0, 1), x130, (0, 2, 3, 4), (2, 3, 1, 4)) * 0.5 - rdm2_f_vovo += einsum(x455, (0, 1, 2, 3), (3, 1, 2, 0)) * -1.0 - rdm2_f_vovo += einsum(x455, (0, 1, 2, 3), (3, 1, 2, 0)) * -1.0 - del x455 - x456 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x456 += einsum(t3, (0, 1, 2, 3, 4, 5), x42, (2, 0, 1, 6, 7, 4), (6, 7, 5, 3)) - rdm2_f_ovvv = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - rdm2_f_ovvv += einsum(x456, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.50000000000001 - rdm2_f_ovvv += einsum(x456, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.50000000000001 - rdm2_f_vovv = np.zeros((nvir, nocc, nvir, nvir), dtype=types[float]) - rdm2_f_vovv += einsum(x456, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.50000000000001 - rdm2_f_vovv += einsum(x456, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.50000000000001 - del x456 - x457 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x457 += einsum(t3, (0, 1, 2, 3, 4, 5), x35, (0, 1, 2, 6, 4, 7), (6, 7, 3, 5)) - rdm2_f_ovvv += einsum(x457, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.16666666666667 - rdm2_f_ovvv += einsum(x457, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.16666666666667 - rdm2_f_vovv += einsum(x457, (0, 1, 2, 3), (1, 0, 3, 2)) * -0.16666666666667 - rdm2_f_vovv += einsum(x457, (0, 1, 2, 3), (1, 0, 3, 2)) * -0.16666666666667 - del x457 - x458 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x458 += einsum(l1, (0, 1), t2, (2, 1, 3, 4), (2, 0, 3, 4)) - rdm2_f_ovvv += einsum(x458, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_ovvv += einsum(x458, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_vovv += einsum(x458, (0, 1, 2, 3), (1, 0, 3, 2)) - rdm2_f_vovv += einsum(x458, (0, 1, 2, 3), (1, 0, 3, 2)) - x459 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x459 += einsum(t2, (0, 1, 2, 3), x263, (1, 3, 4, 5), (0, 4, 2, 5)) - x460 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x460 += einsum(t3, (0, 1, 2, 3, 4, 5), x35, (0, 1, 2, 6, 3, 7), (6, 7, 5, 4)) - x461 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x461 += einsum(x238, (0, 1, 2, 3, 4, 5), x35, (0, 1, 2, 6, 7, 4), (6, 3, 5, 7)) * 0.16666666666667 - x462 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x462 += einsum(l2, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - x462 += einsum(l2, (0, 1, 2, 3), (2, 3, 0, 1)) - x463 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x463 += einsum(x462, (0, 1, 2, 3), t3, (4, 1, 0, 5, 6, 3), (4, 2, 5, 6)) * 0.5 - del x462 - x464 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x464 += einsum(l3, (0, 1, 2, 3, 4, 5), x198, (5, 6, 4, 2, 7, 1), (3, 6, 0, 7)) * 0.25 - del x198 - x465 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x465 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) - x465 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - x465 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 - x466 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x466 += einsum(l3, (0, 1, 2, 3, 4, 5), x465, (5, 6, 3, 2, 7, 1), (6, 4, 7, 0)) * 0.25 - del x465 - x467 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x467 += einsum(x42, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - x467 += einsum(x35, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - x467 += einsum(x35, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * 0.5 - x467 += einsum(x35, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -0.5 - x468 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x468 += einsum(t2, (0, 1, 2, 3), x467, (4, 1, 0, 5, 6, 2), (4, 5, 6, 3)) - del x467 - x469 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x469 += einsum(l2, (0, 1, 2, 3), x357, (3, 4, 1, 5), (4, 2, 5, 0)) - x470 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x470 += einsum(l2, (0, 1, 2, 3), x32, (2, 4, 1, 5), (3, 4, 0, 5)) - x471 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x471 += einsum(t1, (0, 1), x418, (2, 0, 3, 4), (2, 3, 4, 1)) * 0.5 - del x418 - x472 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x472 += einsum(x197, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.25 - del x197 - x472 += einsum(x176, (0, 1, 2, 3), (0, 1, 2, 3)) - x472 += einsum(x464, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x464 - x472 += einsum(x466, (0, 1, 2, 3), (1, 0, 3, 2)) - del x466 - x472 += einsum(x468, (0, 1, 2, 3), (0, 1, 2, 3)) - del x468 - x472 += einsum(x469, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x469 - x472 += einsum(x470, (0, 1, 2, 3), (0, 1, 2, 3)) - del x470 - x472 += einsum(x471, (0, 1, 2, 3), (0, 1, 2, 3)) - del x471 - x473 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x473 += einsum(t1, (0, 1), x472, (0, 2, 3, 4), (2, 3, 4, 1)) - del x472 - x474 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x474 += einsum(t2, (0, 1, 2, 3), x222, (1, 4, 5, 6, 2, 3), (4, 5, 0, 6)) * 0.5 - del x222 - x475 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x475 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) - x475 += einsum(x474, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x474 - x476 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x476 += einsum(t2, (0, 1, 2, 3), x475, (1, 0, 4, 5), (4, 5, 2, 3)) - del x475 - x477 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x477 += einsum(t2, (0, 1, 2, 3), x378, (1, 0, 4, 5), (4, 5, 2, 3)) * 0.25 - del x378 - x478 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x478 += einsum(x458, (0, 1, 2, 3), (0, 1, 2, 3)) - del x458 - x478 += einsum(x459, (0, 1, 2, 3), (0, 1, 2, 3)) - del x459 - x478 += einsum(x460, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.16666666666667 - del x460 - x478 += einsum(x461, (0, 1, 2, 3), (0, 3, 1, 2)) * -1.0 - del x461 - x478 += einsum(x463, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x463 - x478 += einsum(x473, (0, 1, 2, 3), (0, 1, 3, 2)) - del x473 - x478 += einsum(x476, (0, 1, 2, 3), (0, 1, 3, 2)) - del x476 - x478 += einsum(x477, (0, 1, 2, 3), (0, 1, 2, 3)) - del x477 - x478 += einsum(t1, (0, 1), x422, (2, 3), (0, 2, 1, 3)) - del x422 - rdm2_f_ovvv += einsum(x478, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_ovvv += einsum(x478, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_ovvv += einsum(x478, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_ovvv += einsum(x478, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_vovv += einsum(x478, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - rdm2_f_vovv += einsum(x478, (0, 1, 2, 3), (1, 0, 3, 2)) - rdm2_f_vovv += einsum(x478, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - rdm2_f_vovv += einsum(x478, (0, 1, 2, 3), (1, 0, 3, 2)) - del x478 - x479 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x479 += einsum(t2, (0, 1, 2, 3), x128, (1, 4, 5, 3), (0, 2, 5, 4)) * -1.0 - rdm2_f_ovvv += einsum(x479, (0, 1, 2, 3), (0, 2, 1, 3)) - rdm2_f_ovvv += einsum(x479, (0, 1, 2, 3), (0, 2, 3, 1)) * -0.5 - rdm2_f_ovvv += einsum(x479, (0, 1, 2, 3), (0, 2, 1, 3)) - rdm2_f_ovvv += einsum(x479, (0, 1, 2, 3), (0, 2, 3, 1)) * -0.5 - rdm2_f_vovv += einsum(x479, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_vovv += einsum(x479, (0, 1, 2, 3), (2, 0, 3, 1)) * 0.5 - rdm2_f_vovv += einsum(x479, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_vovv += einsum(x479, (0, 1, 2, 3), (2, 0, 3, 1)) * 0.5 - del x479 - x480 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x480 += einsum(x258, (0, 1, 2, 3), x6, (0, 4, 2, 5), (4, 1, 3, 5)) - rdm2_f_ovvv += einsum(x480, (0, 1, 2, 3), (0, 1, 3, 2)) - rdm2_f_ovvv += einsum(x480, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - rdm2_f_ovvv += einsum(x480, (0, 1, 2, 3), (0, 1, 3, 2)) - rdm2_f_ovvv += einsum(x480, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - rdm2_f_vovv += einsum(x480, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - rdm2_f_vovv += einsum(x480, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 - rdm2_f_vovv += einsum(x480, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - rdm2_f_vovv += einsum(x480, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 - del x480 - x481 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x481 += einsum(x238, (0, 1, 2, 3, 4, 5), x35, (0, 2, 1, 6, 7, 5), (6, 3, 4, 7)) * 0.16666666666667 - rdm2_f_ovvv += einsum(x481, (0, 1, 2, 3), (0, 3, 1, 2)) * -1.0 - rdm2_f_ovvv += einsum(x481, (0, 1, 2, 3), (0, 3, 1, 2)) * -1.0 - del x481 - x482 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x482 += einsum(l2, (0, 1, 2, 3), (3, 2, 0, 1)) * -0.3333333333333333 - x482 += einsum(l2, (0, 1, 2, 3), (2, 3, 0, 1)) - x483 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x483 += einsum(x482, (0, 1, 2, 3), t3, (4, 1, 0, 5, 3, 6), (4, 2, 6, 5)) * 1.5 - del x482 - rdm2_f_ovvv += einsum(x483, (0, 1, 2, 3), (0, 1, 3, 2)) - rdm2_f_ovvv += einsum(x483, (0, 1, 2, 3), (0, 1, 3, 2)) - del x483 - x484 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x484 += einsum(t2, (0, 1, 2, 3), l3, (4, 3, 5, 6, 0, 1), (6, 4, 5, 2)) - x485 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x485 += einsum(t2, (0, 1, 2, 3), l3, (4, 3, 5, 0, 6, 1), (6, 4, 5, 2)) - x486 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x486 += einsum(x484, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x486 += einsum(x485, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x486 += einsum(x485, (0, 1, 2, 3), (0, 2, 1, 3)) - x487 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x487 += einsum(x32, (0, 1, 2, 3), x486, (0, 4, 3, 5), (1, 4, 5, 2)) * 0.5 - del x486 - rdm2_f_ovvv += einsum(x487, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_ovvv += einsum(x487, (0, 1, 2, 3), (0, 1, 2, 3)) - del x487 - x488 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x488 += einsum(t2, (0, 1, 2, 3), x270, (1, 4, 2, 5), (0, 4, 5, 3)) * 0.5 - del x270 - rdm2_f_ovvv += einsum(x488, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_ovvv += einsum(x488, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x488 - x489 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x489 += einsum(x6, (0, 1, 2, 3), l3, (4, 5, 2, 6, 0, 1), (6, 4, 5, 3)) - x490 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x490 += einsum(t2, (0, 1, 2, 3), x489, (1, 4, 3, 5), (0, 4, 5, 2)) * -1.0 - rdm2_f_ovvv += einsum(x490, (0, 1, 2, 3), (0, 1, 3, 2)) - rdm2_f_ovvv += einsum(x490, (0, 1, 2, 3), (0, 1, 3, 2)) - del x490 - x491 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x491 += einsum(t1, (0, 1), x10, (2, 0, 3, 4), (2, 3, 1, 4)) * 3.0 - x492 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x492 += einsum(t1, (0, 1), x491, (0, 2, 3, 4), (2, 4, 3, 1)) * 0.5 - del x491 - rdm2_f_ovvv += einsum(x492, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_ovvv += einsum(x492, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x492 - x493 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x493 += einsum(l2, (0, 1, 2, 3), t3, (4, 2, 3, 5, 6, 1), (4, 0, 5, 6)) - rdm2_f_ovvv += einsum(x493, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_ovvv += einsum(x493, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_vovv += einsum(x493, (0, 1, 2, 3), (1, 0, 3, 2)) - rdm2_f_vovv += einsum(x493, (0, 1, 2, 3), (1, 0, 3, 2)) - del x493 - x494 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x494 += einsum(t3, (0, 1, 2, 3, 4, 5), x42, (2, 0, 1, 6, 5, 7), (6, 7, 3, 4)) - del x42 - rdm2_f_ovvv += einsum(x494, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.50000000000001 - rdm2_f_ovvv += einsum(x494, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.50000000000001 - rdm2_f_vovv += einsum(x494, (0, 1, 2, 3), (1, 0, 3, 2)) * -0.50000000000001 - rdm2_f_vovv += einsum(x494, (0, 1, 2, 3), (1, 0, 3, 2)) * -0.50000000000001 - del x494 - x495 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x495 += einsum(t3, (0, 1, 2, 3, 4, 5), x35, (0, 2, 1, 6, 7, 5), (6, 7, 3, 4)) - rdm2_f_ovvv += einsum(x495, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.50000000000001 - rdm2_f_ovvv += einsum(x495, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.50000000000001 - rdm2_f_vovv += einsum(x495, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.50000000000001 - rdm2_f_vovv += einsum(x495, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.50000000000001 - del x495 - x496 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x496 += einsum(x274, (0, 1, 2, 3), t3, (0, 4, 1, 5, 6, 3), (4, 2, 5, 6)) * 0.5 - del x274 - rdm2_f_ovvv += einsum(x496, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_ovvv += einsum(x496, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_vovv += einsum(x496, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - rdm2_f_vovv += einsum(x496, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x496 - x497 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x497 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 3, 4, 0, 2, 1)) - x497 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * -1.0 - x497 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) - x497 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 1, 2)) * -1.0 - x498 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x498 += einsum(t2, (0, 1, 2, 3), x497, (0, 1, 4, 5, 2, 6), (4, 5, 6, 3)) - del x497 - x499 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x499 += einsum(x263, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x499 += einsum(x263, (0, 1, 2, 3), (0, 2, 1, 3)) - x499 += einsum(x498, (0, 1, 2, 3), (0, 1, 2, 3)) - del x498 - x500 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x500 += einsum(t2, (0, 1, 2, 3), x499, (1, 4, 3, 5), (0, 4, 5, 2)) - del x499 - rdm2_f_ovvv += einsum(x500, (0, 1, 2, 3), (0, 1, 3, 2)) - rdm2_f_ovvv += einsum(x500, (0, 1, 2, 3), (0, 1, 3, 2)) - del x500 - x501 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x501 += einsum(t2, (0, 1, 2, 3), x127, (0, 1, 4, 5, 2, 6), (4, 3, 5, 6)) * 0.5 - del x127 - rdm2_f_vvov += einsum(x501, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - rdm2_f_vvov += einsum(x501, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - rdm2_f_vvvo += einsum(x501, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 - rdm2_f_vvvo += einsum(x501, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 - x502 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x502 += einsum(x263, (0, 1, 2, 3), (0, 1, 2, 3)) - x502 += einsum(x501, (0, 1, 2, 3), (0, 3, 2, 1)) * -1.0 - del x501 - x503 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x503 += einsum(t2, (0, 1, 2, 3), x502, (1, 4, 2, 5), (0, 4, 5, 3)) - rdm2_f_ovvv += einsum(x503, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - rdm2_f_ovvv += einsum(x503, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x503 - x504 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x504 += einsum(x263, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x504 += einsum(x128, (0, 1, 2, 3), (0, 3, 2, 1)) * -1.0 - x505 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x505 += einsum(t2, (0, 1, 2, 3), x504, (1, 2, 4, 5), (0, 4, 5, 3)) * 0.5 - del x504 - rdm2_f_ovvv += einsum(x505, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_ovvv += einsum(x505, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x505 - x506 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x506 += einsum(l3, (0, 1, 2, 3, 4, 5), x349, (4, 6, 5, 1, 7, 2), (6, 3, 7, 0)) * 0.125 - del x349 - x507 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x507 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 3, 4, 0, 2, 1)) - x507 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * -1.0 - x508 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x508 += einsum(t3, (0, 1, 2, 3, 4, 5), x507, (1, 2, 6, 4, 5, 7), (6, 0, 7, 3)) * 0.125 - x509 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x509 += einsum(t2, (0, 1, 2, 3), x250, (0, 1, 4, 5, 3, 6), (4, 5, 6, 2)) * 0.25 - del x250 - x510 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x510 += einsum(l2, (0, 1, 2, 3), x357, (3, 4, 1, 5), (4, 2, 5, 0)) * 0.5 - x511 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x511 += einsum(t1, (0, 1), x130, (2, 0, 3, 4), (2, 3, 1, 4)) * 0.25 - del x130 - x512 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x512 += einsum(x437, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - del x437 - x512 += einsum(x435, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.125 - del x435 - x512 += einsum(x183, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.125 - del x183 - x512 += einsum(x176, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - del x176 - x512 += einsum(x506, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x506 - x512 += einsum(x508, (0, 1, 2, 3), (0, 1, 2, 3)) - del x508 - x512 += einsum(x509, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x509 - x512 += einsum(x510, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x510 - x512 += einsum(x511, (0, 1, 2, 3), (0, 1, 3, 2)) - del x511 - x513 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x513 += einsum(t1, (0, 1), x512, (0, 2, 3, 4), (2, 3, 4, 1)) * 2.0 - del x512 - rdm2_f_ovvv += einsum(x513, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - rdm2_f_ovvv += einsum(x513, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - rdm2_f_vovv += einsum(x513, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - rdm2_f_vovv += einsum(x513, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x513 - x514 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x514 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) - del x23 - x514 += einsum(x331, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x331 - x515 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x515 += einsum(t2, (0, 1, 2, 3), x514, (0, 1, 4, 5), (4, 5, 3, 2)) - del x514 - rdm2_f_ovvv += einsum(x515, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - rdm2_f_ovvv += einsum(x515, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - rdm2_f_vovv += einsum(x515, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - rdm2_f_vovv += einsum(x515, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x515 - x516 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x516 += einsum(t2, (0, 1, 2, 3), x33, (0, 1, 4, 5), (4, 3, 2, 5)) * -0.5 - del x33 - rdm2_f_ovvv += einsum(x516, (0, 1, 2, 3), (0, 3, 2, 1)) * -1.0 - rdm2_f_ovvv += einsum(x516, (0, 1, 2, 3), (0, 3, 2, 1)) * -1.0 - rdm2_f_vovv += einsum(x516, (0, 1, 2, 3), (3, 0, 1, 2)) * -1.0 - rdm2_f_vovv += einsum(x516, (0, 1, 2, 3), (3, 0, 1, 2)) * -1.0 - del x516 - x517 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x517 += einsum(t2, (0, 1, 2, 3), x143, (0, 1, 4, 5, 6, 2), (4, 5, 3, 6)) * 0.5 - del x143 - x518 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x518 += einsum(x399, (0, 1, 2, 3), (0, 1, 2, 3)) - del x399 - x518 += einsum(x374, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - del x374 - x518 += einsum(x375, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - del x375 - x518 += einsum(x400, (0, 1, 2, 3), (0, 1, 2, 3)) - del x400 - x518 += einsum(x517, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x517 - x519 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x519 += einsum(t1, (0, 1), x518, (0, 2, 3, 4), (2, 3, 4, 1)) - del x518 - rdm2_f_ovvv += einsum(x519, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_ovvv += einsum(x519, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_vovv += einsum(x519, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - rdm2_f_vovv += einsum(x519, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x519 - x520 = np.zeros((nvir, nvir), dtype=types[float]) - x520 += einsum(l3, (0, 1, 2, 3, 4, 5), x204, (4, 3, 5, 1, 6, 2), (0, 6)) * 0.041666666666665 - del x204 - x521 = np.zeros((nvir, nvir), dtype=types[float]) - x521 += einsum(l3, (0, 1, 2, 3, 4, 5), x45, (4, 5, 3, 6, 1, 2), (0, 6)) * 0.041666666666665 - del x45 - x522 = np.zeros((nvir, nvir), dtype=types[float]) - x522 += einsum(t2, (0, 1, 2, 3), x96, (0, 1, 2, 4), (3, 4)) - del x96 - x523 = np.zeros((nvir, nvir), dtype=types[float]) - x523 += einsum(x421, (0, 1), (0, 1)) * 0.5 - del x421 - x523 += einsum(x203, (0, 1), (0, 1)) * 0.124999999999995 - del x203 - x523 += einsum(x520, (0, 1), (0, 1)) - del x520 - x523 += einsum(x521, (0, 1), (0, 1)) * -1.0 - del x521 - x523 += einsum(x522, (0, 1), (1, 0)) - del x522 - rdm2_f_ovvv += einsum(t1, (0, 1), x523, (2, 3), (0, 2, 1, 3)) * 2.0 - rdm2_f_ovvv += einsum(t1, (0, 1), x523, (2, 3), (0, 2, 1, 3)) * 2.0 - rdm2_f_vovv += einsum(t1, (0, 1), x523, (2, 3), (2, 0, 3, 1)) * 2.0 - rdm2_f_vovv += einsum(t1, (0, 1), x523, (2, 3), (2, 0, 3, 1)) * 2.0 - del x523 - x524 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x524 += einsum(x178, (0, 1, 2, 3, 4, 5), x35, (0, 2, 1, 6, 7, 5), (6, 7, 3, 4)) * 0.16666666666667 - del x35, x178 - rdm2_f_vovv += einsum(x524, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - rdm2_f_vovv += einsum(x524, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x524 - x525 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x525 += einsum(l2, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - x525 += einsum(l2, (0, 1, 2, 3), (2, 3, 0, 1)) * 3.0 - x526 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x526 += einsum(x525, (0, 1, 2, 3), t3, (4, 1, 0, 5, 3, 6), (4, 2, 6, 5)) * 0.5 - del x525 - rdm2_f_vovv += einsum(x526, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - rdm2_f_vovv += einsum(x526, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x526 - x527 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x527 += einsum(x484, (0, 1, 2, 3), (0, 1, 2, 3)) - del x484 - x527 += einsum(x485, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x527 += einsum(x485, (0, 1, 2, 3), (0, 2, 1, 3)) * 0.5 - x528 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x528 += einsum(x32, (0, 1, 2, 3), x527, (0, 4, 3, 5), (1, 4, 5, 2)) - del x527 - rdm2_f_vovv += einsum(x528, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - rdm2_f_vovv += einsum(x528, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x528 - x529 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x529 += einsum(x489, (0, 1, 2, 3), x6, (0, 4, 2, 5), (4, 1, 3, 5)) * -1.0 - del x6, x489 - rdm2_f_vovv += einsum(x529, (0, 1, 2, 3), (1, 0, 3, 2)) - rdm2_f_vovv += einsum(x529, (0, 1, 2, 3), (1, 0, 3, 2)) - del x529 - x530 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x530 += einsum(t2, (0, 1, 2, 3), x128, (1, 4, 5, 2), (0, 3, 5, 4)) * -0.5 - rdm2_f_vovv += einsum(x530, (0, 1, 2, 3), (2, 0, 1, 3)) - rdm2_f_vovv += einsum(x530, (0, 1, 2, 3), (2, 0, 1, 3)) - del x530 - x531 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x531 += einsum(t1, (0, 1), x10, (2, 0, 3, 4), (2, 3, 1, 4)) - del x10 - x532 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x532 += einsum(t1, (0, 1), x531, (0, 2, 3, 4), (2, 4, 3, 1)) * 1.5 - del x531 - rdm2_f_vovv += einsum(x532, (0, 1, 2, 3), (1, 0, 3, 2)) - rdm2_f_vovv += einsum(x532, (0, 1, 2, 3), (1, 0, 3, 2)) - del x532 - x533 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x533 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 3, 4, 0, 2, 1)) - x533 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * -1.0 - x533 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 0, 2)) * 4.0 - x534 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x534 += einsum(t2, (0, 1, 2, 3), x533, (0, 1, 4, 2, 5, 6), (4, 5, 6, 3)) - del x533 - x535 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x535 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 3, 4, 0, 1, 2)) - x535 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) - x536 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x536 += einsum(t2, (0, 1, 2, 3), x535, (1, 4, 0, 5, 6, 3), (4, 5, 6, 2)) * 2.0 - del x535 - x537 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x537 += einsum(x485, (0, 1, 2, 3), (0, 1, 2, 3)) - x537 += einsum(x485, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x537 += einsum(x534, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x534 - x537 += einsum(x536, (0, 1, 2, 3), (0, 1, 2, 3)) - del x536 - x538 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x538 += einsum(t2, (0, 1, 2, 3), x537, (1, 3, 4, 5), (0, 4, 5, 2)) * 0.5 - del x537 - rdm2_f_vovv += einsum(x538, (0, 1, 2, 3), (1, 0, 2, 3)) - rdm2_f_vovv += einsum(x538, (0, 1, 2, 3), (1, 0, 2, 3)) - del x538 - x539 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x539 += einsum(t2, (0, 1, 2, 3), x507, (0, 1, 4, 5, 2, 6), (4, 5, 6, 3)) - x540 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x540 += einsum(x47, (0, 1, 2, 3), (0, 2, 1, 3)) * 2.0 - del x47 - x540 += einsum(x539, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x539 - x541 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x541 += einsum(t2, (0, 1, 2, 3), x540, (1, 2, 4, 5), (0, 4, 5, 3)) * 0.5 - del x540 - rdm2_f_vovv += einsum(x541, (0, 1, 2, 3), (1, 0, 3, 2)) - rdm2_f_vovv += einsum(x541, (0, 1, 2, 3), (1, 0, 3, 2)) - del x541 - x542 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x542 += einsum(t2, (0, 1, 2, 3), x502, (1, 2, 4, 5), (0, 4, 5, 3)) - del x502 - rdm2_f_vovv += einsum(x542, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - rdm2_f_vovv += einsum(x542, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x542 - x543 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x543 += einsum(t1, (0, 1), l2, (2, 3, 4, 0), (4, 2, 3, 1)) - rdm2_f_vvov += einsum(x543, (0, 1, 2, 3), (1, 2, 0, 3)) - rdm2_f_vvov += einsum(x543, (0, 1, 2, 3), (1, 2, 0, 3)) - rdm2_f_vvvo += einsum(x543, (0, 1, 2, 3), (2, 1, 3, 0)) - rdm2_f_vvvo += einsum(x543, (0, 1, 2, 3), (2, 1, 3, 0)) - x544 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x544 += einsum(x543, (0, 1, 2, 3), (0, 1, 2, 3)) - x544 += einsum(x485, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - del x485 - rdm2_f_vvov += einsum(x544, (0, 1, 2, 3), (1, 2, 0, 3)) - rdm2_f_vvov += einsum(x544, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_vvov += einsum(x544, (0, 1, 2, 3), (1, 2, 0, 3)) - rdm2_f_vvov += einsum(x544, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_vvvo += einsum(x544, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - rdm2_f_vvvo += einsum(x544, (0, 1, 2, 3), (2, 1, 3, 0)) - rdm2_f_vvvo += einsum(x544, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - rdm2_f_vvvo += einsum(x544, (0, 1, 2, 3), (2, 1, 3, 0)) - del x544 - x545 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x545 += einsum(x357, (0, 1, 2, 3), l3, (4, 2, 5, 1, 0, 6), (6, 3, 4, 5)) - del x357 - rdm2_f_vvov += einsum(x545, (0, 1, 2, 3), (3, 2, 0, 1)) - rdm2_f_vvov += einsum(x545, (0, 1, 2, 3), (3, 2, 0, 1)) - rdm2_f_vvvo += einsum(x545, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 - rdm2_f_vvvo += einsum(x545, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 - del x545 - x546 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) - x546 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (3, 4, 5, 6, 1, 7), (0, 2, 6, 7)) - rdm2_f_vvvv = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) - rdm2_f_vvvv += einsum(x546, (0, 1, 2, 3), (1, 0, 3, 2)) * 0.50000000000001 - rdm2_f_vvvv += einsum(x546, (0, 1, 2, 3), (1, 0, 3, 2)) * 0.50000000000001 - del x546 - x547 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) - x547 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (5, 3, 4, 6, 2, 7), (0, 1, 6, 7)) - rdm2_f_vvvv += einsum(x547, (0, 1, 2, 3), (1, 0, 3, 2)) * -0.16666666666667 - rdm2_f_vvvv += einsum(x547, (0, 1, 2, 3), (1, 0, 3, 2)) * -0.16666666666667 - del x547 - x548 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) - x548 += einsum(l2, (0, 1, 2, 3), t2, (2, 3, 4, 5), (0, 1, 4, 5)) - rdm2_f_vvvv += einsum(x548, (0, 1, 2, 3), (1, 0, 3, 2)) - rdm2_f_vvvv += einsum(x548, (0, 1, 2, 3), (1, 0, 3, 2)) - x549 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) - x549 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (5, 3, 4, 2, 6, 7), (0, 1, 7, 6)) - x550 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) - x550 += einsum(l3, (0, 1, 2, 3, 4, 5), x238, (3, 5, 4, 6, 2, 7), (6, 7, 0, 1)) * 0.16666666666667 - x551 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x551 += einsum(x32, (0, 1, 2, 3), l3, (4, 5, 2, 6, 0, 1), (6, 4, 5, 3)) - del x32 - x552 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x552 += einsum(t2, (0, 1, 2, 3), x507, (0, 1, 4, 5, 2, 6), (4, 5, 6, 3)) * 0.5 - del x507 - x553 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x553 += einsum(x543, (0, 1, 2, 3), (0, 1, 2, 3)) - x553 += einsum(x551, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x551 - x553 += einsum(x552, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x552 - x554 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) - x554 += einsum(t1, (0, 1), x553, (0, 2, 3, 4), (2, 3, 4, 1)) - del x553 - x555 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) - x555 += einsum(x548, (0, 1, 2, 3), (1, 0, 3, 2)) - del x548 - x555 += einsum(x549, (0, 1, 2, 3), (1, 0, 3, 2)) * -0.16666666666667 - del x549 - x555 += einsum(x550, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 - del x550 - x555 += einsum(x554, (0, 1, 2, 3), (1, 0, 2, 3)) - del x554 - rdm2_f_vvvv += einsum(x555, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_vvvv += einsum(x555, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_vvvv += einsum(x555, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_vvvv += einsum(x555, (0, 1, 2, 3), (0, 1, 2, 3)) - del x555 - x556 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) - x556 += einsum(t1, (0, 1), x258, (0, 2, 3, 4), (2, 3, 1, 4)) - del x258 - rdm2_f_vvvv += einsum(x556, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_vvvv += einsum(x556, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_vvvv += einsum(x556, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_vvvv += einsum(x556, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x556 - x557 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) - x557 += einsum(l3, (0, 1, 2, 3, 4, 5), x238, (3, 5, 4, 6, 7, 2), (6, 7, 0, 1)) * 0.16666666666667 - del x238 - rdm2_f_vvvv += einsum(x557, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - rdm2_f_vvvv += einsum(x557, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - del x557 - x558 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) - x558 += einsum(t1, (0, 1), x543, (0, 2, 3, 4), (3, 2, 4, 1)) - del x543 - rdm2_f_vvvv += einsum(x558, (0, 1, 2, 3), (1, 0, 3, 2)) - rdm2_f_vvvv += einsum(x558, (0, 1, 2, 3), (1, 0, 3, 2)) - del x558 - x559 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) - x559 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (3, 4, 5, 6, 7, 2), (0, 1, 6, 7)) - x560 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) - x560 += einsum(t1, (0, 1), x263, (0, 2, 3, 4), (2, 3, 1, 4)) - del x263 - x561 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) - x561 += einsum(x559, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.50000000000001 - del x559 - x561 += einsum(x560, (0, 1, 2, 3), (0, 1, 2, 3)) - del x560 - rdm2_f_vvvv += einsum(x561, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_vvvv += einsum(x561, (0, 1, 2, 3), (1, 0, 3, 2)) - rdm2_f_vvvv += einsum(x561, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_vvvv += einsum(x561, (0, 1, 2, 3), (1, 0, 3, 2)) - del x561 - x562 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) - x562 += einsum(t1, (0, 1), x128, (0, 2, 3, 4), (1, 3, 4, 2)) * -0.5 - del x128 - rdm2_f_vvvv += einsum(x562, (0, 1, 2, 3), (1, 2, 3, 0)) - rdm2_f_vvvv += einsum(x562, (0, 1, 2, 3), (2, 1, 0, 3)) - rdm2_f_vvvv += einsum(x562, (0, 1, 2, 3), (1, 2, 3, 0)) - rdm2_f_vvvv += einsum(x562, (0, 1, 2, 3), (2, 1, 0, 3)) - del x562 - - rdm2_f = pack_2e(rdm2_f_oooo, rdm2_f_ooov, rdm2_f_oovo, rdm2_f_ovoo, rdm2_f_vooo, rdm2_f_oovv, rdm2_f_ovov, rdm2_f_ovvo, rdm2_f_voov, rdm2_f_vovo, rdm2_f_vvoo, rdm2_f_ovvv, rdm2_f_vovv, rdm2_f_vvov, rdm2_f_vvvo, rdm2_f_vvvv) - - rdm2_f = rdm2_f.swapaxes(1, 2) - - return rdm2_f - diff --git a/ebcc/codegen/RCCSD_SD_1_1.py b/ebcc/codegen/RCCSD_SD_1_1.py deleted file mode 100644 index 616bb75f..00000000 --- a/ebcc/codegen/RCCSD_SD_1_1.py +++ /dev/null @@ -1,2150 +0,0 @@ -# Code generated for ebcc. - -from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, Namespace -from ebcc.precision import types - -def energy(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, s2=None, u11=None, **kwargs): - # Energy - x0 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x0 += einsum("iajb->jiab", v.ovov) * -0.5 - x0 += einsum("iajb->jiba", v.ovov) - x1 = np.zeros((nocc, nvir), dtype=types[float]) - x1 += einsum("ia,ijab->jb", t1, x0) - e_cc = 0 - e_cc += einsum("ijab,ijab->", t2, x0) * 2 - del x0 - x1 += einsum("ia->ia", f.ov) - e_cc += einsum("ia,ia->", t1, x1) * 2 - del x1 - x2 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x2 += einsum("wia->wia", u11) - x2 += einsum("w,ia->wia", s1, t1) - e_cc += einsum("wia,wia->", g.bov, x2) * 2 - del x2 - e_cc += einsum("w,w->", G, s1) - - return e_cc - -def update_amps(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, s2=None, u11=None, **kwargs): - # Get boson coupling creation array: - gc = Namespace( - boo=g.boo.transpose(0, 2, 1), - bov=g.bvo.transpose(0, 2, 1), - bvo=g.bov.transpose(0, 2, 1), - bvv=g.bvv.transpose(0, 2, 1), - ) - - # T1, T2, S1, S2 and U11 amplitudes - x0 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x0 += einsum("ia,jbka->ijkb", t1, v.ovov) - x1 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x1 += einsum("ijka->ijka", x0) * 2 - x1 += einsum("ijka->ikja", x0) * -1 - x34 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x34 += einsum("ijab,kjla->kilb", t2, x0) - x40 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x40 -= einsum("ijka->ikja", x34) - del x34 - x35 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x35 -= einsum("ijka->ijka", x0) - x35 += einsum("ijka->ikja", x0) * 2 - x36 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x36 += einsum("ijab,klia->jklb", t2, x35) - del x35 - x40 += einsum("ijka->jkia", x36) - del x36 - x64 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x64 += einsum("ijab,klja->kilb", t2, x0) - x67 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x67 -= einsum("ijka->kija", x64) - del x64 - x86 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x86 += einsum("ia,jkla->jilk", t1, x0) - del x0 - x87 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x87 += einsum("ijkl->lkji", x86) - x88 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x88 += einsum("ijkl->lkji", x86) - del x86 - x1 += einsum("ijka->jika", v.ooov) * -1 - x1 += einsum("ijka->jkia", v.ooov) * 2 - t1new = np.zeros((nocc, nvir), dtype=types[float]) - t1new += einsum("ijab,kjib->ka", t2, x1) * -1 - del x1 - x2 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x2 += einsum("iabc->ibac", v.ovvv) * -0.5 - x2 += einsum("iabc->ibca", v.ovvv) - t1new += einsum("ijab,icba->jc", t2, x2) * 2 - del x2 - x3 = np.zeros((nocc, nvir), dtype=types[float]) - x3 += einsum("w,wia->ia", s1, g.bov) - x6 = np.zeros((nocc, nvir), dtype=types[float]) - x6 += einsum("ia->ia", x3) - x18 = np.zeros((nocc, nvir), dtype=types[float]) - x18 += einsum("ia->ia", x3) * 0.5 - x104 = np.zeros((nocc, nvir), dtype=types[float]) - x104 += einsum("ia->ia", x3) - del x3 - x4 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x4 += einsum("iajb->jiab", v.ovov) * 2 - x4 -= einsum("iajb->jiba", v.ovov) - x5 = np.zeros((nocc, nvir), dtype=types[float]) - x5 += einsum("ia,ijba->jb", t1, x4) - x6 += einsum("ia->ia", x5) - del x5 - x97 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x97 += einsum("wia,ijba->wjb", u11, x4) - del x4 - x99 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x99 += einsum("wia->wia", x97) - s2new = np.zeros((nbos, nbos), dtype=types[float]) - s2new += einsum("wia,xia->xw", u11, x97) * 2 - del x97 - x6 += einsum("ia->ia", f.ov) - x66 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x66 += einsum("ia,jkab->jkib", x6, t2) - x67 += einsum("ijka->kjia", x66) - del x66 - x69 = np.zeros((nocc, nocc), dtype=types[float]) - x69 += einsum("ia,ja->ij", t1, x6) - x70 = np.zeros((nocc, nocc), dtype=types[float]) - x70 += einsum("ij->ij", x69) - del x69 - s1new = np.zeros((nbos), dtype=types[float]) - s1new += einsum("ia,wia->w", x6, u11) * 2 - x7 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x7 += einsum("ijab->jiab", t2) * 2 - x7 -= einsum("ijab->jiba", t2) - x46 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x46 += einsum("wia,ijba->wjb", g.bov, x7) - x48 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x48 += einsum("wia->wia", x46) - del x46 - t1new += einsum("ia,ijba->jb", x6, x7) - del x6 - x8 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x8 += einsum("iabj->ijba", v.ovvo) * 2 - x8 -= einsum("ijab->ijab", v.oovv) - t1new += einsum("ia,ijba->jb", t1, x8) - u11new = np.zeros((nbos, nocc, nvir), dtype=types[float]) - u11new += einsum("wia,ijba->wjb", u11, x8) - del x8 - x9 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x9 += einsum("ia,wja->wji", t1, g.bov) - x10 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x10 += einsum("wij->wij", x9) - del x9 - x10 += einsum("wij->wij", g.boo) - x47 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x47 += einsum("ia,wij->wja", t1, x10) - x48 -= einsum("wia->wia", x47) - del x47 - t1new -= einsum("wia,wij->ja", u11, x10) - del x10 - x11 = np.zeros((nocc, nocc), dtype=types[float]) - x11 += einsum("w,wij->ij", s1, g.boo) - x20 = np.zeros((nocc, nocc), dtype=types[float]) - x20 += einsum("ij->ij", x11) - x70 += einsum("ij->ji", x11) - del x11 - x12 = np.zeros((nocc, nocc), dtype=types[float]) - x12 += einsum("wia,wja->ij", g.bov, u11) - x20 += einsum("ij->ij", x12) - x52 = np.zeros((nocc, nocc), dtype=types[float]) - x52 += einsum("ij->ij", x12) - del x12 - x13 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x13 += einsum("iajb->jiab", v.ovov) - x13 += einsum("iajb->jiba", v.ovov) * -0.5 - x14 = np.zeros((nocc, nocc), dtype=types[float]) - x14 += einsum("ijab,ikba->jk", t2, x13) * 2 - x20 += einsum("ij->ji", x14) - del x14 - x17 = np.zeros((nocc, nvir), dtype=types[float]) - x17 += einsum("ia,ijba->jb", t1, x13) - x18 += einsum("ia->ia", x17) - del x17 - x78 = np.zeros((nvir, nvir), dtype=types[float]) - x78 += einsum("ijab,ijbc->ac", t2, x13) - x79 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x79 += einsum("ab,ijbc->ijca", x78, t2) * 2 - del x78 - x83 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x83 += einsum("ijab->jiab", x79) - del x79 - x102 = np.zeros((nocc, nvir), dtype=types[float]) - x102 += einsum("ia,ijba->jb", t1, x13) * 2 - del x13 - x103 = np.zeros((nvir, nvir), dtype=types[float]) - x103 += einsum("ia,ib->ab", t1, x102) * -1 - del x102 - x15 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x15 += einsum("ijka->ikja", v.ooov) - x15 += einsum("ijka->kija", v.ooov) * -0.5 - x16 = np.zeros((nocc, nocc), dtype=types[float]) - x16 += einsum("ia,jika->jk", t1, x15) * 2 - del x15 - x20 += einsum("ij->ij", x16) - del x16 - x18 += einsum("ia->ia", f.ov) * 0.5 - x19 = np.zeros((nocc, nocc), dtype=types[float]) - x19 += einsum("ia,ja->ij", t1, x18) * 2 - del x18 - x20 += einsum("ij->ji", x19) - del x19 - x20 += einsum("ij->ij", f.oo) - t1new += einsum("ia,ij->ja", t1, x20) * -1 - u11new += einsum("ij,wia->wja", x20, u11) * -1 - del x20 - x21 = np.zeros((nvir, nvir), dtype=types[float]) - x21 += einsum("w,wab->ab", s1, g.bvv) - x24 = np.zeros((nvir, nvir), dtype=types[float]) - x24 += einsum("ab->ab", x21) - x72 = np.zeros((nvir, nvir), dtype=types[float]) - x72 += einsum("ab->ab", x21) - x103 += einsum("ab->ab", x21) - del x21 - x22 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x22 += einsum("iabc->ibac", v.ovvv) * 2 - x22 -= einsum("iabc->ibca", v.ovvv) - x23 = np.zeros((nvir, nvir), dtype=types[float]) - x23 += einsum("ia,ibac->bc", t1, x22) - x24 += einsum("ab->ab", x23) - x43 = np.zeros((nvir, nvir), dtype=types[float]) - x43 -= einsum("ab->ab", x23) - del x23 - x106 = np.zeros((nbos, nvir, nvir), dtype=types[float]) - x106 += einsum("wia,ibac->wbc", u11, x22) - del x22 - x24 += einsum("ab->ab", f.vv) - t1new += einsum("ia,ba->ib", t1, x24) - del x24 - x25 = np.zeros((nbos), dtype=types[float]) - x25 += einsum("ia,wia->w", t1, g.bov) - x26 = np.zeros((nbos), dtype=types[float]) - x26 += einsum("w->w", x25) * 2 - del x25 - x26 += einsum("w->w", G) - t1new += einsum("w,wia->ia", x26, u11) - s1new += einsum("w,wx->x", x26, s2) - del x26 - x27 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x27 += einsum("ia,bcda->ibdc", t1, v.vvvv) - t2new = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - t2new += einsum("ia,jbca->ijbc", t1, x27) - del x27 - x28 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x28 += einsum("ia,jabc->ijbc", t1, v.ovvv) - x29 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x29 += einsum("ijab,kjca->kibc", t2, x28) - del x28 - x54 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x54 += einsum("ijab->ijab", x29) - del x29 - x30 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x30 -= einsum("iajb->jiab", v.ovov) - x30 += einsum("iajb->jiba", v.ovov) * 2 - x31 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x31 += einsum("ijab,ikbc->jkac", t2, x30) - x32 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x32 += einsum("ijab,kica->jkbc", t2, x31) - del x31 - x54 += einsum("ijab->ijab", x32) - del x32 - x84 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x84 += einsum("ijab,ikac->jkbc", t2, x30) * 2 - del x30 - x33 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x33 += einsum("ijab,jkla->ilkb", t2, v.ooov) - x40 -= einsum("ijka->ijka", x33) - del x33 - x37 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x37 += einsum("ia,jbca->ijcb", t1, v.ovvv) - x38 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x38 += einsum("ijab->jiab", x37) - x56 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x56 += einsum("ijab,kjca->kibc", t2, x37) - del x37 - x74 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x74 += einsum("ijab->ijab", x56) - del x56 - x38 += einsum("iabj->ijba", v.ovvo) - x39 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x39 += einsum("ia,jkba->ijkb", t1, x38) - del x38 - x40 += einsum("ijka->ijka", x39) - del x39 - x41 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x41 += einsum("ia,jikb->jkab", t1, x40) - del x40 - x54 += einsum("ijab->ijab", x41) - del x41 - x42 = np.zeros((nvir, nvir), dtype=types[float]) - x42 += einsum("wia,wib->ab", g.bov, u11) - x43 += einsum("ab->ba", x42) - x44 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x44 += einsum("ab,ijbc->ijca", x43, t2) - del x43 - x54 += einsum("ijab->jiab", x44) - del x44 - x103 += einsum("ab->ba", x42) * -1 - del x42 - x45 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x45 += einsum("ia,wba->wib", t1, g.bvv) - x48 += einsum("wia->wia", x45) - del x45 - x48 += einsum("wai->wia", g.bvo) - x49 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x49 += einsum("wia,wjb->ijab", u11, x48) - del x48 - x54 -= einsum("ijab->jiba", x49) - del x49 - x50 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x50 += einsum("ijka->ikja", v.ooov) * 2 - x50 -= einsum("ijka->kija", v.ooov) - x51 = np.zeros((nocc, nocc), dtype=types[float]) - x51 += einsum("ia,jika->jk", t1, x50) - x52 += einsum("ij->ij", x51) - del x51 - x53 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x53 += einsum("ij,ikab->kjab", x52, t2) - del x52 - x54 += einsum("ijab->ijba", x53) - del x53 - t2new -= einsum("ijab->ijab", x54) - t2new -= einsum("ijab->jiba", x54) - del x54 - x65 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x65 += einsum("ijab,kila->jklb", t2, x50) - x67 += einsum("ijka->jika", x65) - del x65 - x105 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x105 += einsum("wia,jika->wjk", u11, x50) - del x50 - x55 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x55 += einsum("ia,bjca->ijbc", t1, v.vovv) - x74 -= einsum("ijab->ijab", x55) - del x55 - x57 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x57 -= einsum("iabc->ibac", v.ovvv) - x57 += einsum("iabc->ibca", v.ovvv) * 2 - x58 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x58 += einsum("ia,jbac->ijbc", t1, x57) - del x57 - x59 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x59 += einsum("ijab,kica->jkbc", t2, x58) - del x58 - x74 -= einsum("ijab->jiab", x59) - del x59 - x60 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x60 += einsum("ia,jkba->ijkb", t1, v.oovv) - x67 += einsum("ijka->jika", x60) - del x60 - x61 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x61 += einsum("ijab,klja->iklb", t2, v.ooov) - x67 -= einsum("ijka->jika", x61) - del x61 - x62 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x62 += einsum("ia,jkla->ijlk", t1, v.ooov) - x63 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x63 += einsum("ia,jkil->jkla", t1, x62) - x67 -= einsum("ijka->jika", x63) - del x63 - x68 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x68 += einsum("ia,ijkb->jkab", t1, x67) - del x67 - x74 += einsum("ijab->ijab", x68) - del x68 - x75 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x75 += einsum("ijab,kijl->klab", t2, x62) - del x62 - t2new += einsum("ijab->ijba", x75) - t2new += einsum("ijab->jiab", x75) - del x75 - x70 += einsum("ij->ji", f.oo) - x71 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x71 += einsum("ij,jkab->kiab", x70, t2) - del x70 - x74 += einsum("ijab->jiba", x71) - del x71 - x72 += einsum("ab->ab", f.vv) - x73 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x73 += einsum("ab,ijbc->ijca", x72, t2) - del x72 - x74 -= einsum("ijab->jiba", x73) - del x73 - t2new -= einsum("ijab->ijba", x74) - t2new -= einsum("ijab->jiab", x74) - del x74 - x76 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x76 += einsum("ijab,kbca->jikc", t2, v.ovvv) - x77 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x77 += einsum("ia,jkib->jkab", t1, x76) - del x76 - x83 += einsum("ijab->ijab", x77) - del x77 - x80 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x80 += einsum("iajb->jiab", v.ovov) * -0.5 - x80 += einsum("iajb->jiba", v.ovov) - x81 = np.zeros((nocc, nocc), dtype=types[float]) - x81 += einsum("ijab,ikab->jk", t2, x80) - del x80 - x82 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x82 += einsum("ij,jkab->kiab", x81, t2) * 2 - del x81 - x83 += einsum("ijab->ijba", x82) - del x82 - t2new += einsum("ijab->ijab", x83) * -1 - t2new += einsum("ijab->jiba", x83) * -1 - del x83 - x84 += einsum("iabj->jiba", v.ovvo) * 2 - x84 -= einsum("ijab->jiab", v.oovv) - t2new += einsum("ijab,kica->kjcb", t2, x84) - del x84 - x85 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x85 += einsum("ijab,kbla->ijlk", t2, v.ovov) - x87 += einsum("ijkl->lkji", x85) * 0.9999999999999993 - x88 += einsum("ijkl->lkji", x85) - del x85 - x87 += einsum("ijkl->kilj", v.oooo) * 0.9999999999999993 - t2new += einsum("ijab,ijkl->klab", t2, x87) - del x87 - x88 += einsum("ijkl->kilj", v.oooo) - x89 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x89 += einsum("ia,ijkl->lkja", t1, x88) - del x88 - x89 += einsum("ijak->jkia", v.oovo) * -1 - t2new += einsum("ia,jkib->jkab", t1, x89) - del x89 - x90 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x90 -= einsum("iabj->jiba", v.ovvo) - x90 += einsum("ijab,jakc->ikbc", t2, v.ovov) - t2new += einsum("ijab,kicb->jkac", t2, x90) - del x90 - x91 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x91 -= einsum("ijab->jiab", v.oovv) - x91 += einsum("ijab,jcka->ikbc", t2, v.ovov) - t2new += einsum("ijab,kicb->jkca", t2, x91) - del x91 - x92 = np.zeros((nbos, nbos), dtype=types[float]) - x92 += einsum("wia,xia->wx", gc.bov, u11) - x96 = np.zeros((nbos, nbos), dtype=types[float]) - x96 += einsum("wx->wx", x92) * 2 - del x92 - x93 = np.zeros((nbos, nbos), dtype=types[float]) - x93 += einsum("wia,xia->wx", g.bov, u11) - x94 = np.zeros((nbos, nbos), dtype=types[float]) - x94 += einsum("wx->wx", x93) * 2 - del x93 - x94 += einsum("wx->wx", w) - x95 = np.zeros((nbos, nbos), dtype=types[float]) - x95 += einsum("wx,wy->xy", s2, x94) - x96 += einsum("wx->wx", x95) - del x95 - s2new += einsum("wx->wx", x96) - s2new += einsum("wx->xw", x96) - del x96 - u11new += einsum("wx,wia->xia", x94, u11) - del x94 - x98 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x98 += einsum("wx,xia->wia", s2, g.bov) - x99 += einsum("wia->wia", x98) - del x98 - x99 += einsum("wia->wia", gc.bov) - x105 += einsum("ia,wja->wji", t1, x99) - u11new += einsum("wia,ijba->wjb", x99, x7) - del x99 - del x7 - x100 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x100 += einsum("iajb->jiab", v.ovov) * -1 - x100 += einsum("iajb->jiba", v.ovov) * 2 - x103 += einsum("ijab,ijcb->ac", t2, x100) * -1 - del x100 - x101 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x101 += einsum("iabc->ibac", v.ovvv) - x101 += einsum("iabc->ibca", v.ovvv) * -0.5 - x103 += einsum("ia,ibac->bc", t1, x101) * 2 - del x101 - x103 += einsum("ab->ab", f.vv) - u11new += einsum("ab,wib->wia", x103, u11) - del x103 - x104 += einsum("ia->ia", f.ov) - x105 += einsum("ia,wja->wij", x104, u11) - del x104 - x105 += einsum("wij->wij", gc.boo) - x105 += einsum("wx,xij->wij", s2, g.boo) - u11new -= einsum("ia,wij->wja", t1, x105) - del x105 - x106 += einsum("wab->wab", gc.bvv) - x106 += einsum("wx,xab->wab", s2, g.bvv) - u11new += einsum("ia,wba->wib", t1, x106) - del x106 - t1new += einsum("w,wai->ia", s1, g.bvo) - t1new += einsum("ai->ia", f.vo) - t1new += einsum("wab,wib->ia", g.bvv, u11) - t2new -= einsum("ijab,jack->kicb", t2, v.ovvo) - t2new -= einsum("ijab,jkca->kibc", t2, v.oovv) - t2new -= einsum("ijab,jkcb->ikac", t2, v.oovv) - t2new += einsum("ijab,jbck->ikac", t2, v.ovvo) * 2 - t2new += einsum("ijab,cadb->jidc", t2, v.vvvv) - t2new += einsum("aibj->jiba", v.vovo) - t2new -= einsum("ia,ijbk->kjba", t1, v.oovo) - s1new += einsum("ia,wia->w", t1, gc.bov) * 2 - s1new += einsum("w,wx->x", s1, w) - s1new += einsum("w->w", G) - u11new += einsum("wx,xai->wia", s2, g.bvo) - u11new += einsum("wai->wia", gc.bvo) - - return {"t1new": t1new, "t2new": t2new, "s1new": s1new, "s2new": s2new, "u11new": u11new} - -def update_lams(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, s2=None, u11=None, l1=None, l2=None, ls1=None, ls2=None, lu11=None, **kwargs): - # Get boson coupling creation array: - gc = Namespace( - boo=g.boo.transpose(0, 2, 1), - bov=g.bvo.transpose(0, 2, 1), - bvo=g.bov.transpose(0, 2, 1), - bvv=g.bvv.transpose(0, 2, 1), - ) - - # L1, L2, LS1 , LS2 and LU11 amplitudes - x0 = np.zeros((nocc, nvir), dtype=types[float]) - x0 += einsum("w,wia->ia", s1, g.bov) - x1 = np.zeros((nocc, nvir), dtype=types[float]) - x1 += einsum("ia->ia", x0) - x57 = np.zeros((nocc, nvir), dtype=types[float]) - x57 += einsum("ia->ia", x0) - x67 = np.zeros((nocc, nvir), dtype=types[float]) - x67 += einsum("ia->ia", x0) * 0.5 - x100 = np.zeros((nocc, nvir), dtype=types[float]) - x100 += einsum("ia->ia", x0) - x136 = np.zeros((nocc, nvir), dtype=types[float]) - x136 += einsum("ia->ia", x0) - del x0 - x1 += einsum("ia->ia", f.ov) - x2 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x2 += einsum("ia,jkab->jkib", x1, t2) * 0.25 - del x1 - x20 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x20 += einsum("ijka->jkia", x2) - x20 += einsum("ijka->ikja", x2) * -2 - del x2 - x3 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x3 += einsum("ijab,kacb->ijkc", t2, v.ovvv) - x11 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x11 += einsum("ijka->ijka", x3) * -0.5 - del x3 - x4 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x4 += einsum("ia,jabc->ijbc", t1, v.ovvv) - x5 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x5 += einsum("ia,jkba->jikb", t1, x4) - x11 += einsum("ijka->ijka", x5) * -0.5 - del x5 - x131 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x131 += einsum("ijab->ijab", x4) - del x4 - x6 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x6 += einsum("ijab,kbla->ijlk", t2, v.ovov) - x9 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x9 += einsum("ijkl->jilk", x6) - x178 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x178 += einsum("ijkl->lkji", x6) - del x6 - x7 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x7 += einsum("ia,jakb->ikjb", t1, v.ovov) - x8 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x8 += einsum("ia,jkla->ijkl", t1, x7) - x9 += einsum("ijkl->ijkl", x8) - x10 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x10 += einsum("ia,jkil->jkla", t1, x9) * 0.5 - del x9 - x11 += einsum("ijka->jika", x10) - del x10 - x20 += einsum("ijka->ikja", x11) - x20 += einsum("ijka->jkia", x11) * -0.5 - del x11 - x178 += einsum("ijkl->lkji", x8) - del x8 - x15 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x15 += einsum("ijka->ijka", x7) * -1 - x15 += einsum("ijka->ikja", x7) * 2 - x24 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x24 += einsum("ijka->ijka", x7) * 2 - x24 -= einsum("ijka->ikja", x7) - x25 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x25 -= einsum("ijka->ijka", x7) - x25 += einsum("ijka->ikja", x7) * 2 - x55 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x55 += einsum("ijka->jkia", x7) * -1 - x55 += einsum("ijka->kjia", x7) * 2 - x125 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x125 += einsum("ai,ijkb->jkab", l1, x7) - x143 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x143 += einsum("ijab->ijab", x125) - del x125 - x12 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x12 += einsum("iajb->jiab", v.ovov) - x12 += einsum("iajb->jiba", v.ovov) * -0.5 - x13 = np.zeros((nocc, nvir), dtype=types[float]) - x13 += einsum("ia,ijba->jb", t1, x12) - x14 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x14 += einsum("ia,jkab->jkib", x13, t2) * 0.5 - x20 += einsum("ijka->jkia", x14) - x20 += einsum("ijka->ikja", x14) * -2 - del x14 - x67 += einsum("ia->ia", x13) - del x13 - x56 = np.zeros((nocc, nvir), dtype=types[float]) - x56 += einsum("ia,ijba->jb", t1, x12) * 2 - x57 += einsum("ia->ia", x56) - del x56 - x175 = np.zeros((nocc, nocc), dtype=types[float]) - x175 += einsum("ijab,ikba->jk", t2, x12) - del x12 - x176 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x176 += einsum("ij,abik->kjab", x175, l2) * 2 - del x175 - x177 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x177 += einsum("ijab->ijba", x176) - del x176 - x15 += einsum("ijka->jika", v.ooov) * 2 - x15 += einsum("ijka->jkia", v.ooov) * -1 - x16 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x16 += einsum("ijab->jiab", t2) - x16 += einsum("ijab->jiba", t2) * -0.5 - x20 += einsum("ijka,klba->ijlb", x15, x16) * -0.5 - del x15 - x33 = np.zeros((nocc, nocc), dtype=types[float]) - x33 += einsum("abij,ikba->jk", l2, x16) * 2 - x34 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x34 += einsum("ia,jk->jkia", t1, x33) * -0.5 - x95 = np.zeros((nocc, nocc), dtype=types[float]) - x95 += einsum("ij->ij", x33) - x108 = np.zeros((nocc, nocc), dtype=types[float]) - x108 += einsum("ij->ij", x33) - del x33 - x76 = np.zeros((nocc, nvir), dtype=types[float]) - x76 += einsum("iabc,ijca->jb", v.ovvv, x16) - x86 = np.zeros((nocc, nocc), dtype=types[float]) - x86 += einsum("abij,ikba->jk", l2, x16) - x87 = np.zeros((nocc, nocc), dtype=types[float]) - x87 += einsum("ij->ij", x86) - x171 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x171 += einsum("ij,jakb->kiab", x86, v.ovov) * 2 - del x86 - x172 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x172 += einsum("ijab->jiba", x171) - del x171 - x92 = np.zeros((nvir, nvir), dtype=types[float]) - x92 += einsum("abij,ijca->bc", l2, x16) - x93 = np.zeros((nvir, nvir), dtype=types[float]) - x93 += einsum("ab->ab", x92) - x170 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x170 += einsum("ab,ibjc->ijca", x92, v.ovov) * 2 - x172 += einsum("ijab->jiba", x170) - del x170 - l2new = np.zeros((nvir, nvir, nocc, nocc), dtype=types[float]) - l2new += einsum("ijab->baij", x172) * -1 - l2new += einsum("ijab->abji", x172) * -1 - del x172 - x180 = np.zeros((nvir, nvir), dtype=types[float]) - x180 += einsum("ab->ab", x92) - del x92 - x179 = np.zeros((nocc, nvir), dtype=types[float]) - x179 += einsum("iabc,ijca->jb", v.ovvv, x16) * 2 - x17 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x17 += einsum("iabj->ijba", v.ovvo) * 2 - x17 += einsum("ijab->ijab", v.oovv) * -1 - x20 += einsum("ia,jkba->ijkb", t1, x17) * -0.25 - del x17 - x18 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x18 += einsum("ia,jkla->ijlk", t1, v.ooov) - x19 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x19 += einsum("ijkl->jkli", x18) - x19 += einsum("ijkl->kjli", x18) * -0.5 - x27 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x27 -= einsum("ijkl->ijkl", x18) - x27 += einsum("ijkl->ikjl", x18) * 2 - x28 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x28 += einsum("ia,jikl->jkla", t1, x27) - del x27 - x128 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x128 += einsum("abij,jkli->klba", l2, x18) - del x18 - x143 -= einsum("ijab->ijab", x128) - del x128 - x19 += einsum("ijkl->kijl", v.oooo) * -0.5 - x19 += einsum("ijkl->kilj", v.oooo) - x20 += einsum("ia,ijkl->ljka", t1, x19) * 0.5 - del x19 - x20 += einsum("ijak->jika", v.oovo) * -0.5 - x20 += einsum("ijak->kija", v.oovo) * 0.25 - l1new = np.zeros((nvir, nocc), dtype=types[float]) - l1new += einsum("abij,jkia->bk", l2, x20) * 4 - del x20 - x21 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x21 -= einsum("ijab->jiab", t2) - x21 += einsum("ijab->jiba", t2) * 2 - x22 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x22 -= einsum("abij,ikac->jkbc", l2, x21) - del x21 - x22 += einsum("abij,jkac->ikbc", l2, t2) - x23 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x23 -= einsum("iabc->ibca", v.ovvv) - x23 += einsum("iabc->ibac", v.ovvv) * 2 - l1new -= einsum("ijab,jabc->ci", x22, x23) - del x22 - del x23 - x24 -= einsum("ijka->jika", v.ooov) - x24 += einsum("ijka->jkia", v.ooov) * 2 - x28 += einsum("ijab,kila->kljb", t2, x24) - del x24 - x25 += einsum("ijka->jika", v.ooov) * 2 - x25 -= einsum("ijka->jkia", v.ooov) - x28 += einsum("ijab,kilb->klja", t2, x25) - del x25 - x26 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x26 -= einsum("iabj->ijba", v.ovvo) - x26 += einsum("ijab->ijab", v.oovv) * 2 - x28 -= einsum("ia,jkba->ijkb", t1, x26) - del x26 - l1new += einsum("abij,jkib->ak", l2, x28) - del x28 - x29 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x29 += einsum("ia,bacd->icbd", t1, v.vvvv) - x30 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x30 += einsum("iabc->iabc", x29) - x30 += einsum("iabc->ibac", x29) * -0.5 - del x29 - x30 += einsum("aibc->iabc", v.vovv) * -0.5 - x30 += einsum("aibc->ibac", v.vovv) - l1new += einsum("abij,ibac->cj", l2, x30) * 2 - del x30 - x31 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x31 += einsum("ia,abjk->kjib", t1, l2) - x32 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x32 += einsum("ijka->ijka", x31) * 2 - x32 += einsum("ijka->jika", x31) * -1 - x34 += einsum("ijab,ikla->kljb", t2, x32) * -0.5 - del x32 - x34 += einsum("ijab,jkla->klib", t2, x31) * 0.5 - x36 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x36 -= einsum("ijka->ijka", x31) - x36 += einsum("ijka->jika", x31) * 2 - x37 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x37 += einsum("ia,ijkb->jkba", t1, x36) - l1new -= einsum("iabc,jiba->cj", v.ovvv, x37) - del x37 - l1new -= einsum("iabj,kjib->ak", v.ovvo, x36) - del x36 - x38 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x38 += einsum("ijka->ijka", x31) * 2 - x38 -= einsum("ijka->jika", x31) - x39 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x39 += einsum("ia,ijkb->jkba", t1, x38) - l1new -= einsum("iabc,jibc->aj", v.ovvv, x39) - del x39 - x157 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x157 += einsum("ijka,jlkb->liba", x38, x7) - x169 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x169 -= einsum("ijab->jiba", x157) - del x157 - l1new -= einsum("ijab,kjia->bk", v.oovv, x38) - del x38 - x42 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x42 += einsum("ijab,kjla->klib", t2, x31) - x45 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x45 += einsum("ijka->ijka", x42) - x49 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x49 += einsum("ijka->ijka", x42) - del x42 - x47 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x47 += einsum("ia,jkla->kjli", t1, x31) - x48 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x48 += einsum("ia,ijkl->jlka", t1, x47) - x49 += einsum("ijka->ijka", x48) * -2.0000000000000013 - x49 += einsum("ijka->ikja", x48) - del x48 - x51 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x51 += einsum("ijkl->ijkl", x47) - x51 += einsum("ijkl->ijlk", x47) * -0.5 - l1new += einsum("ijka,ljki->al", v.ooov, x51) * 2 - del x51 - l2new += einsum("iajb,klij->abkl", v.ovov, x47) - del x47 - x81 = np.zeros((nocc, nvir), dtype=types[float]) - x81 += einsum("ijab,ijkb->ka", x16, x31) - x89 = np.zeros((nocc, nvir), dtype=types[float]) - x89 += einsum("ia->ia", x81) - del x81 - x127 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x127 += einsum("ijka,jlkb->liba", v.ooov, x31) - x143 -= einsum("ijab->ijab", x127) - del x127 - x129 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x129 += einsum("ijka,iklb->jlab", x31, x7) - x143 -= einsum("ijab->ijab", x129) - del x129 - x146 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x146 += einsum("ijka,jlib->lkba", v.ooov, x31) - x169 += einsum("ijab->ijab", x146) - del x146 - x147 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x147 += einsum("iabc,jkib->kjac", v.ovvv, x31) - x169 -= einsum("ijab->ijab", x147) - del x147 - x148 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x148 += einsum("ijka,jklb->ilab", x31, x7) - del x7 - x169 += einsum("ijab->ijab", x148) - del x148 - x35 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x35 -= einsum("iajb->jiab", v.ovov) - x35 += einsum("iajb->jiba", v.ovov) * 2 - l1new += einsum("ijka,kjab->bi", x34, x35) * 2 - del x34 - x40 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x40 += einsum("abij,jkca->ikbc", l2, t2) - x41 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x41 += einsum("iabc->ibca", v.ovvv) * 2 - x41 -= einsum("iabc->ibac", v.ovvv) - x104 = np.zeros((nbos, nvir, nvir), dtype=types[float]) - x104 += einsum("wia,ibca->wbc", u11, x41) - x115 = np.zeros((nvir, nvir), dtype=types[float]) - x115 += einsum("ia,ibca->bc", t1, x41) - x116 = np.zeros((nvir, nvir), dtype=types[float]) - x116 += einsum("ab->ab", x115) - x164 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x164 += einsum("ab,acij->ijcb", x115, l2) - del x115 - x169 += einsum("ijab->jiab", x164) - del x164 - l1new -= einsum("ijab,jabc->ci", x40, x41) - del x40 - del x41 - x43 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x43 += einsum("abij,klab->ijkl", l2, t2) - x44 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x44 += einsum("ia,jikl->jkla", t1, x43) - x45 += einsum("ijka->ijka", x44) * -0.5 - x45 += einsum("ijka->ikja", x44) - del x44 - l1new += einsum("iajb,kjib->ak", v.ovov, x45) * 2 - del x45 - x50 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x50 += einsum("ijkl->jikl", x43) * -0.5 - x50 += einsum("ijkl->jilk", x43) - l1new += einsum("ijka,jlik->al", v.ooov, x50) * 2 - del x50 - l2new += einsum("iajb,klij->balk", v.ovov, x43) - del x43 - x46 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x46 += einsum("ai,jkab->ikjb", l1, t2) - x49 += einsum("ijka->ijka", x46) * -1 - x49 += einsum("ijka->ikja", x46) * 2 - del x46 - l1new += einsum("iajb,kjia->bk", v.ovov, x49) * -1 - del x49 - x52 = np.zeros((nocc, nvir), dtype=types[float]) - x52 += einsum("w,wai->ia", s1, g.bvo) - x76 += einsum("ia->ia", x52) * 0.5 - x179 += einsum("ia->ia", x52) - del x52 - x53 = np.zeros((nocc, nvir), dtype=types[float]) - x53 += einsum("wab,wib->ia", g.bvv, u11) - x76 += einsum("ia->ia", x53) * 0.5 - x179 += einsum("ia->ia", x53) - del x53 - x54 = np.zeros((nocc, nvir), dtype=types[float]) - x54 += einsum("ijab,ikja->kb", t2, v.ooov) - x76 += einsum("ia->ia", x54) * 0.5 - x179 += einsum("ia->ia", x54) - del x54 - x55 += einsum("ijka->ikja", v.ooov) * 2 - x76 += einsum("ijab,ijkb->ka", t2, x55) * -0.5 - x179 += einsum("ijab,ijkb->ka", t2, x55) * -1 - del x55 - x57 += einsum("ia->ia", f.ov) - x76 += einsum("ia,ijba->jb", x57, x16) - x179 += einsum("ia,ijba->jb", x57, x16) * 2 - del x16 - lu11new = np.zeros((nbos, nvir, nocc), dtype=types[float]) - lu11new += einsum("w,ia->wai", ls1, x57) * 2 - del x57 - x58 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x58 += einsum("iabj->ijba", v.ovvo) - x58 += einsum("ijab->ijab", v.oovv) * -0.5 - x76 += einsum("ia,ijba->jb", t1, x58) - x179 += einsum("ia,ijba->jb", t1, x58) * 2 - del x58 - x59 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x59 += einsum("ia,wja->wji", t1, g.bov) - x60 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x60 += einsum("wij->wij", x59) - x110 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x110 += einsum("wij->wij", x59) - del x59 - x60 += einsum("wij->wij", g.boo) - x76 += einsum("wia,wij->ja", u11, x60) * -0.5 - x179 += einsum("wia,wij->ja", u11, x60) * -1 - del x60 - x61 = np.zeros((nocc, nocc), dtype=types[float]) - x61 += einsum("w,wij->ij", s1, g.boo) - x69 = np.zeros((nocc, nocc), dtype=types[float]) - x69 += einsum("ij->ij", x61) - x138 = np.zeros((nocc, nocc), dtype=types[float]) - x138 += einsum("ij->ij", x61) - del x61 - x62 = np.zeros((nocc, nocc), dtype=types[float]) - x62 += einsum("wia,wja->ij", g.bov, u11) - x69 += einsum("ij->ij", x62) - x138 += einsum("ij->ij", x62) - del x62 - x63 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x63 += einsum("iajb->jiab", v.ovov) * -0.5 - x63 += einsum("iajb->jiba", v.ovov) - x64 = np.zeros((nocc, nocc), dtype=types[float]) - x64 += einsum("ijab,ikab->jk", t2, x63) * 2 - x69 += einsum("ij->ji", x64) - del x64 - x173 = np.zeros((nvir, nvir), dtype=types[float]) - x173 += einsum("ijab,ijcb->ac", t2, x63) - del x63 - x174 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x174 += einsum("ab,acij->ijcb", x173, l2) * 2 - del x173 - x177 += einsum("ijab->jiab", x174) - del x174 - l2new += einsum("ijab->abij", x177) * -1 - l2new += einsum("ijab->baji", x177) * -1 - del x177 - x65 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x65 += einsum("ijka->ikja", v.ooov) * -0.5 - x65 += einsum("ijka->kija", v.ooov) - x66 = np.zeros((nocc, nocc), dtype=types[float]) - x66 += einsum("ia,ijka->jk", t1, x65) * 2 - del x65 - x69 += einsum("ij->ij", x66) - del x66 - x67 += einsum("ia->ia", f.ov) * 0.5 - x68 = np.zeros((nocc, nocc), dtype=types[float]) - x68 += einsum("ia,ja->ij", t1, x67) * 2 - del x67 - x69 += einsum("ij->ji", x68) - del x68 - x69 += einsum("ij->ij", f.oo) - x76 += einsum("ia,ij->ja", t1, x69) * -0.5 - x179 += einsum("ia,ij->ja", t1, x69) * -1 - l1new += einsum("ai,ji->aj", l1, x69) * -1 - del x69 - x70 = np.zeros((nvir, nvir), dtype=types[float]) - x70 += einsum("w,wab->ab", s1, g.bvv) - x73 = np.zeros((nvir, nvir), dtype=types[float]) - x73 += einsum("ab->ab", x70) - x116 += einsum("ab->ab", x70) - x134 = np.zeros((nvir, nvir), dtype=types[float]) - x134 += einsum("ab->ab", x70) - del x70 - x71 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x71 += einsum("iabc->ibca", v.ovvv) - x71 += einsum("iabc->ibac", v.ovvv) * -0.5 - x72 = np.zeros((nvir, nvir), dtype=types[float]) - x72 += einsum("ia,ibca->bc", t1, x71) * 2 - del x71 - x73 += einsum("ab->ab", x72) - del x72 - x73 += einsum("ab->ab", f.vv) - x76 += einsum("ia,ba->ib", t1, x73) * 0.5 - x179 += einsum("ia,ba->ib", t1, x73) - del x73 - x74 = np.zeros((nbos), dtype=types[float]) - x74 += einsum("ia,wia->w", t1, g.bov) - x75 = np.zeros((nbos), dtype=types[float]) - x75 += einsum("w->w", x74) * 2 - x120 = np.zeros((nbos), dtype=types[float]) - x120 += einsum("w->w", x74) * 2 - del x74 - x75 += einsum("w->w", G) - x76 += einsum("w,wia->ia", x75, u11) * 0.5 - x179 += einsum("w,wia->ia", x75, u11) - del x75 - x76 += einsum("ai->ia", f.vo) * 0.5 - x77 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x77 += einsum("abij->jiab", l2) * -1 - x77 += einsum("abij->jiba", l2) * 2 - l1new += einsum("ia,ijab->bj", x76, x77) * 2 - del x76 - del x77 - x78 = np.zeros((nocc, nvir), dtype=types[float]) - x78 += einsum("w,wia->ia", ls1, u11) - x89 += einsum("ia->ia", x78) * -0.5 - del x78 - x79 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x79 += einsum("ia,waj->wji", t1, lu11) - x80 = np.zeros((nocc, nvir), dtype=types[float]) - x80 += einsum("wia,wij->ja", u11, x79) - x89 += einsum("ia->ia", x80) * 0.5 - del x80 - x82 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x82 += einsum("ijab->jiab", t2) * -1 - x82 += einsum("ijab->jiba", t2) * 2 - x83 = np.zeros((nocc, nvir), dtype=types[float]) - x83 += einsum("ai,ijab->jb", l1, x82) * 0.5 - del x82 - x89 += einsum("ia->ia", x83) * -1 - del x83 - x84 = np.zeros((nocc, nocc), dtype=types[float]) - x84 += einsum("ai,ja->ij", l1, t1) - x87 += einsum("ij->ij", x84) * 0.5 - x95 += einsum("ij->ij", x84) - x140 = np.zeros((nocc, nocc), dtype=types[float]) - x140 += einsum("ij->ij", x84) - x85 = np.zeros((nocc, nocc), dtype=types[float]) - x85 += einsum("wai,wja->ij", lu11, u11) - x87 += einsum("ij->ij", x85) * 0.5 - x88 = np.zeros((nocc, nvir), dtype=types[float]) - x88 += einsum("ia,ij->ja", t1, x87) - del x87 - x89 += einsum("ia->ia", x88) - del x88 - x95 += einsum("ij->ij", x85) - ls1new = np.zeros((nbos), dtype=types[float]) - ls1new += einsum("ij,wji->w", x95, g.boo) * -2 - x108 += einsum("ij->ij", x85) - x109 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x109 += einsum("w,ij->wij", s1, x108) - l1new += einsum("ia,ji->aj", f.ov, x108) * -1 - del x108 - x140 += einsum("ij->ij", x85) - x141 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x141 += einsum("ij,jakb->kiab", x140, v.ovov) - del x140 - x143 += einsum("ijab->jiba", x141) - del x141 - x89 += einsum("ia->ia", t1) * -0.5 - l1new += einsum("ia,ijab->bj", x89, x35) * -2 - del x35 - ls1new += einsum("ia,wia->w", x89, g.bov) * -4 - del x89 - x90 = np.zeros((nvir, nvir), dtype=types[float]) - x90 += einsum("ai,ib->ab", l1, t1) - x93 += einsum("ab->ab", x90) * 0.5 - ls1new += einsum("ab,wab->w", x90, g.bvv) * 2 - del x90 - x91 = np.zeros((nvir, nvir), dtype=types[float]) - x91 += einsum("wai,wib->ab", lu11, u11) - x93 += einsum("ab->ab", x91) * 0.5 - x126 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x126 += einsum("ab,icjb->ijac", x91, v.ovov) - x143 += einsum("ijab->ijab", x126) - del x126 - x180 += einsum("ab->ab", x91) * 0.5 - del x91 - ls1new += einsum("ab,wab->w", x180, g.bvv) * 4 - del x180 - x94 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x94 += einsum("iabc->ibca", v.ovvv) * 2 - x94 += einsum("iabc->ibac", v.ovvv) * -1 - l1new += einsum("ab,iabc->ci", x93, x94) * 2 - del x93 - del x94 - x96 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x96 += einsum("ijka->ikja", v.ooov) * 2 - x96 += einsum("ijka->kija", v.ooov) * -1 - l1new += einsum("ij,jkia->ak", x95, x96) * -1 - del x96 - del x95 - x97 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x97 -= einsum("ijka->ikja", v.ooov) - x97 += einsum("ijka->kija", v.ooov) * 2 - x103 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x103 += einsum("wia,ijka->wjk", u11, x97) - x160 = np.zeros((nocc, nocc), dtype=types[float]) - x160 += einsum("ia,ijka->jk", t1, x97) - del x97 - x162 = np.zeros((nocc, nocc), dtype=types[float]) - x162 += einsum("ij->ij", x160) - del x160 - x98 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x98 += einsum("iajb->jiab", v.ovov) * 2 - x98 -= einsum("iajb->jiba", v.ovov) - x99 = np.zeros((nocc, nvir), dtype=types[float]) - x99 += einsum("ia,ijba->jb", t1, x98) - x100 += einsum("ia->ia", x99) - x161 = np.zeros((nocc, nocc), dtype=types[float]) - x161 += einsum("ia,ja->ij", t1, x99) - x162 += einsum("ij->ji", x161) - del x161 - x163 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x163 += einsum("ij,abjk->kiab", x162, l2) - del x162 - x169 -= einsum("ijab->ijba", x163) - del x163 - x167 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x167 += einsum("ia,jkib->jkba", x99, x31) - x169 -= einsum("ijab->ijab", x167) - del x167 - x169 += einsum("ai,jb->ijab", l1, x99) - l1new -= einsum("ij,ja->ai", x85, x99) - del x99 - del x85 - x101 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x101 += einsum("wia,ijba->wjb", u11, x98) - del x98 - x102 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x102 += einsum("wia->wia", x101) - x114 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x114 += einsum("wia->wia", x101) - x168 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x168 += einsum("wai,wjb->ijab", lu11, x101) - del x101 - x169 += einsum("ijab->ijab", x168) - del x168 - x100 += einsum("ia->ia", f.ov) - x103 += einsum("ia,wja->wij", x100, u11) - x119 = np.zeros((nbos), dtype=types[float]) - x119 += einsum("ia,wia->w", x100, u11) - x122 = np.zeros((nbos), dtype=types[float]) - x122 += einsum("w->w", x119) * 2 - del x119 - l1new -= einsum("ia,ji->aj", x100, x84) - del x100 - del x84 - x102 += einsum("wia->wia", gc.bov) - x102 += einsum("wx,wia->xia", s2, g.bov) - x103 += einsum("ia,wja->wji", t1, x102) - del x102 - x103 += einsum("wij->wij", gc.boo) - x103 += einsum("wx,wij->xij", s2, g.boo) - l1new -= einsum("wai,wji->aj", lu11, x103) - del x103 - x104 += einsum("wab->wab", gc.bvv) - x104 += einsum("wx,wab->xab", s2, g.bvv) - l1new += einsum("wai,wab->bi", lu11, x104) - del x104 - x105 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x105 += einsum("wx,xai->wia", s2, lu11) - x107 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x107 += einsum("wia->wia", x105) - x165 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x165 += einsum("wia->wia", x105) - del x105 - x106 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x106 += einsum("abij->jiab", l2) - x106 += einsum("abij->jiba", l2) * -0.5 - x107 += einsum("wia,ijba->wjb", u11, x106) * 2 - del x106 - x109 += einsum("ia,wja->wji", t1, x107) - del x107 - x109 += einsum("ai,wja->wij", l1, u11) - l1new += einsum("wia,wji->aj", g.bov, x109) * -1 - del x109 - x110 += einsum("wij->wij", g.boo) - x186 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x186 += einsum("ia,wij->wja", t1, x110) - x187 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x187 -= einsum("wia->wia", x186) - del x186 - x111 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x111 += einsum("abij->jiab", l2) * 2 - x111 -= einsum("abij->jiba", l2) - x112 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x112 += einsum("wia,ijba->wjb", u11, x111) - del x111 - x165 += einsum("wia->wia", x112) - x166 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x166 += einsum("wia,wjb->ijab", g.bov, x165) - del x165 - x169 += einsum("ijab->ijab", x166) - del x166 - l1new -= einsum("wij,wja->ai", x110, x112) - del x110 - l1new += einsum("wab,wia->bi", g.bvv, x112) - del x112 - x113 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x113 += einsum("iabj->ijba", v.ovvo) * 2 - x113 -= einsum("ijab->ijab", v.oovv) - l1new += einsum("ai,jiab->bj", l1, x113) - lu11new += einsum("wai,jiab->wbj", lu11, x113) - del x113 - x114 += einsum("wia->wia", gc.bov) - l1new -= einsum("wia,wji->aj", x114, x79) - del x114 - del x79 - x116 += einsum("ab->ab", f.vv) - l1new += einsum("ai,ab->bi", l1, x116) - del x116 - x117 = np.zeros((nbos), dtype=types[float]) - x117 += einsum("w,wx->x", s1, w) - x122 += einsum("w->w", x117) - del x117 - x118 = np.zeros((nbos), dtype=types[float]) - x118 += einsum("ia,wia->w", t1, gc.bov) - x122 += einsum("w->w", x118) * 2 - del x118 - x120 += einsum("w->w", G) - x121 = np.zeros((nbos), dtype=types[float]) - x121 += einsum("w,wx->x", x120, s2) - x122 += einsum("w->w", x121) - del x121 - x189 = np.zeros((nbos, nbos), dtype=types[float]) - x189 += einsum("w,x->xw", ls1, x120) - del x120 - x122 += einsum("w->w", G) - l1new += einsum("w,wai->ai", x122, lu11) - ls1new += einsum("w,wx->x", x122, ls2) - del x122 - x123 = np.zeros((nbos), dtype=types[float]) - x123 += einsum("w->w", s1) - x123 += einsum("w,xw->x", ls1, s2) - x123 += einsum("ai,wia->w", l1, u11) * 2 - l1new += einsum("w,wia->ai", x123, g.bov) - del x123 - x124 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x124 += einsum("ai,jbac->ijbc", l1, v.ovvv) - x143 -= einsum("ijab->ijab", x124) - del x124 - x130 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x130 += einsum("ijab,kbic->jkac", t2, v.ovov) - x131 -= einsum("ijab->ijab", x130) - del x130 - x131 += einsum("ijab->jiab", v.oovv) - x132 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x132 += einsum("abij,ikbc->jkac", l2, x131) - x143 += einsum("ijab->ijab", x132) - del x132 - x156 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x156 += einsum("abij,ikac->jkbc", l2, x131) - del x131 - x169 -= einsum("ijab->ijab", x156) - del x156 - x133 = np.zeros((nvir, nvir), dtype=types[float]) - x133 += einsum("wia,wib->ab", g.bov, u11) - x134 -= einsum("ab->ba", x133) - del x133 - x134 += einsum("ab->ab", f.vv) - x135 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x135 += einsum("ab,acij->ijcb", x134, l2) - del x134 - x143 -= einsum("ijab->jiba", x135) - del x135 - x136 += einsum("ia->ia", f.ov) - x137 = np.zeros((nocc, nocc), dtype=types[float]) - x137 += einsum("ia,ja->ij", t1, x136) - x138 += einsum("ij->ji", x137) - del x137 - x142 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x142 += einsum("ia,jkib->jkba", x136, x31) - x143 += einsum("ijab->ijba", x142) - del x142 - x169 += einsum("ai,jb->jiba", l1, x136) - del x136 - x138 += einsum("ij->ij", f.oo) - x139 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x139 += einsum("ij,abjk->kiab", x138, l2) - del x138 - x143 += einsum("ijab->jiba", x139) - del x139 - l2new -= einsum("ijab->baij", x143) - l2new -= einsum("ijab->abji", x143) - del x143 - x144 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x144 += einsum("wia,wbj->ijab", gc.bov, lu11) - x169 += einsum("ijab->ijab", x144) - del x144 - x145 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x145 += einsum("ai,jikb->jkab", l1, v.ooov) - x169 -= einsum("ijab->ijab", x145) - del x145 - x149 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x149 -= einsum("abij->jiab", l2) - x149 += einsum("abij->jiba", l2) * 2 - lu11new += einsum("wai,ijab->wbj", g.bvo, x149) - x150 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x150 += einsum("ia,jbca->ijcb", t1, v.ovvv) - x154 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x154 += einsum("ijab->ijab", x150) - del x150 - x151 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x151 += einsum("ijab,kaic->jkbc", t2, v.ovov) - x154 -= einsum("ijab->ijab", x151) - del x151 - x152 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x152 += einsum("ijab->jiab", t2) * 2 - x152 -= einsum("ijab->jiba", t2) - x153 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x153 += einsum("iajb,ikca->jkbc", v.ovov, x152) - x154 += einsum("ijab->jiba", x153) - del x153 - x185 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x185 += einsum("wia,ijba->wjb", g.bov, x152) - del x152 - x187 += einsum("wia->wia", x185) - del x185 - x154 += einsum("iabj->jiba", v.ovvo) - x155 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x155 += einsum("ijab,ikac->jkbc", x149, x154) - del x154 - del x149 - x169 += einsum("ijab->ijab", x155) - del x155 - x158 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x158 += einsum("ijka->ikja", v.ooov) * 2 - x158 -= einsum("ijka->kija", v.ooov) - x159 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x159 += einsum("ijka,lkib->ljba", x158, x31) - del x158 - del x31 - x169 -= einsum("ijab->ijab", x159) - del x159 - l2new += einsum("ijab->abij", x169) - l2new += einsum("ijab->baji", x169) - del x169 - x178 += einsum("ijkl->kilj", v.oooo) - l2new += einsum("abij,klji->ablk", l2, x178) - del x178 - x179 += einsum("ai->ia", f.vo) - ls1new += einsum("ia,wai->w", x179, lu11) * 2 - del x179 - x181 = np.zeros((nbos, nbos), dtype=types[float]) - x181 += einsum("wx,yx->wy", ls2, w) - x189 += einsum("wx->wx", x181) - del x181 - x182 = np.zeros((nbos, nbos), dtype=types[float]) - x182 += einsum("wia,xia->wx", g.bov, u11) - x183 = np.zeros((nbos, nbos), dtype=types[float]) - x183 += einsum("wx,yx->yw", ls2, x182) - del x182 - x189 += einsum("wx->wx", x183) * 2 - del x183 - x184 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x184 += einsum("ia,wba->wib", t1, g.bvv) - x187 += einsum("wia->wia", x184) - del x184 - x187 += einsum("wai->wia", g.bvo) - x188 = np.zeros((nbos, nbos), dtype=types[float]) - x188 += einsum("wai,xia->wx", lu11, x187) - del x187 - x189 += einsum("wx->xw", x188) * 2 - del x188 - ls2new = np.zeros((nbos, nbos), dtype=types[float]) - ls2new += einsum("wx->wx", x189) - ls2new += einsum("wx->xw", x189) - del x189 - l1new += einsum("ia->ai", f.ov) - l1new += einsum("w,wia->ai", ls1, gc.bov) - l2new += einsum("abij,bcad->cdji", l2, v.vvvv) - l2new += einsum("iajb->baji", v.ovov) - ls1new += einsum("ai,wai->w", l1, g.bvo) * 2 - ls1new += einsum("w,xw->x", ls1, w) - ls1new += einsum("w->w", G) - lu11new -= einsum("ij,waj->wai", f.oo, lu11) - lu11new -= einsum("ai,wji->waj", l1, g.boo) - lu11new += einsum("wx,xia->wai", ls2, gc.bov) - lu11new += einsum("wx,xai->wai", w, lu11) - lu11new += einsum("wia->wai", g.bov) - lu11new += einsum("ab,wai->wbi", f.vv, lu11) - lu11new += einsum("ai,wab->wbi", l1, g.bvv) - - return {"l1new": l1new, "l2new": l2new, "ls1new": ls1new, "ls2new": ls2new, "lu11new": lu11new} - -def make_rdm1_f(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, s2=None, u11=None, l1=None, l2=None, ls1=None, ls2=None, lu11=None, **kwargs): - # Get boson coupling creation array: - gc = Namespace( - boo=g.boo.transpose(0, 2, 1), - bov=g.bvo.transpose(0, 2, 1), - bvo=g.bov.transpose(0, 2, 1), - bvv=g.bvv.transpose(0, 2, 1), - ) - - delta_oo = np.eye(nocc) - delta_vv = np.eye(nvir) - - # 1RDM - x0 = np.zeros((nocc, nocc), dtype=types[float]) - x0 += einsum("ai,ja->ij", l1, t1) - x8 = np.zeros((nocc, nocc), dtype=types[float]) - x8 += einsum("ij->ij", x0) - rdm1_f_oo = np.zeros((nocc, nocc), dtype=types[float]) - rdm1_f_oo -= einsum("ij->ij", x0) * 2 - del x0 - x1 = np.zeros((nocc, nocc), dtype=types[float]) - x1 += einsum("wai,wja->ij", lu11, u11) - x8 += einsum("ij->ij", x1) - rdm1_f_oo -= einsum("ij->ij", x1) * 2 - del x1 - x2 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x2 += einsum("ijab->jiab", t2) * 2 - x2 += einsum("ijab->jiba", t2) * -1 - rdm1_f_oo += einsum("abij,ikba->jk", l2, x2) * -2 - del x2 - x3 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x3 += einsum("ia,waj->wji", t1, lu11) - rdm1_f_vo = np.zeros((nvir, nocc), dtype=types[float]) - rdm1_f_vo -= einsum("wia,wij->aj", u11, x3) * 2 - del x3 - x4 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x4 += einsum("ia,abjk->kjib", t1, l2) - x5 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x5 += einsum("ijka->ijka", x4) * -1 - x5 += einsum("ijka->jika", x4) * 2 - del x4 - rdm1_f_vo += einsum("ijab,jika->bk", t2, x5) * -2 - del x5 - x6 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x6 += einsum("ijab->jiab", t2) * 2 - x6 -= einsum("ijab->jiba", t2) - rdm1_f_vo += einsum("ai,ijba->bj", l1, x6) * 2 - del x6 - x7 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x7 += einsum("ijab->jiab", t2) * -0.5 - x7 += einsum("ijab->jiba", t2) - x8 += einsum("abij,ikab->jk", l2, x7) * 2 - del x7 - rdm1_f_vo += einsum("ia,ij->aj", t1, x8) * -2 - del x8 - x9 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x9 += einsum("abij->jiab", l2) * -0.5 - x9 += einsum("abij->jiba", l2) - rdm1_f_vv = np.zeros((nvir, nvir), dtype=types[float]) - rdm1_f_vv += einsum("ijab,ijac->bc", t2, x9) * 4 - del x9 - rdm1_f_oo += einsum("ij->ji", delta_oo) * 2 - rdm1_f_ov = np.zeros((nocc, nvir), dtype=types[float]) - rdm1_f_ov += einsum("ai->ia", l1) * 2 - rdm1_f_vo += einsum("ia->ai", t1) * 2 - rdm1_f_vo += einsum("w,wia->ai", ls1, u11) * 2 - rdm1_f_vv += einsum("wai,wib->ba", lu11, u11) * 2 - rdm1_f_vv += einsum("ai,ib->ba", l1, t1) * 2 - - rdm1_f = np.block([[rdm1_f_oo, rdm1_f_ov], [rdm1_f_vo, rdm1_f_vv]]) - - return rdm1_f - -def make_rdm2_f(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, s2=None, u11=None, l1=None, l2=None, ls1=None, ls2=None, lu11=None, **kwargs): - # Get boson coupling creation array: - gc = Namespace( - boo=g.boo.transpose(0, 2, 1), - bov=g.bvo.transpose(0, 2, 1), - bvo=g.bov.transpose(0, 2, 1), - bvv=g.bvv.transpose(0, 2, 1), - ) - - delta_oo = np.eye(nocc) - delta_vv = np.eye(nvir) - - # 2RDM - x0 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x0 += einsum("abij,klab->ijkl", l2, t2) - x23 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x23 += einsum("ia,jikl->jkla", t1, x0) - x28 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x28 += einsum("ijka->ijka", x23) * 4 - rdm2_f_vooo = np.zeros((nvir, nocc, nocc, nocc), dtype=types[float]) - rdm2_f_vooo += einsum("ijka->ajik", x23) * -2 - rdm2_f_vooo += einsum("ijka->akij", x23) * 4 - del x23 - rdm2_f_oooo = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - rdm2_f_oooo += einsum("ijkl->jkil", x0) * -2 - rdm2_f_oooo += einsum("ijkl->jlik", x0) * 4 - x1 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x1 += einsum("ia,abjk->kjib", t1, l2) - x2 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x2 += einsum("ia,jkla->jkil", t1, x1) - x10 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x10 += einsum("ia,ijkl->jlka", t1, x2) - x18 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x18 -= einsum("ijka->ijka", x10) - x35 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x35 += einsum("ijka->ijka", x10) - x67 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x67 += einsum("ia,ijkb->jkab", t1, x10) - del x10 - x69 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x69 += einsum("ijab->ijab", x67) - del x67 - x75 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x75 += einsum("ijab,jikl->lkab", t2, x2) - x78 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x78 += einsum("ijab->ijab", x75) * 2.0000000000000013 - del x75 - rdm2_f_oooo += einsum("ijkl->ikjl", x2) * 4 - rdm2_f_oooo -= einsum("ijkl->iljk", x2) * 2 - del x2 - x9 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x9 += einsum("ijab,jkla->klib", t2, x1) - x18 -= einsum("ijka->ijka", x9) - del x9 - x11 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x11 += einsum("ijka->ijka", x1) * 2 - x11 -= einsum("ijka->jika", x1) - x12 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x12 += einsum("ijab,ikla->kljb", t2, x11) - x18 += einsum("ijka->ijka", x12) - del x12 - x51 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x51 += einsum("ia,jikb->jkba", t1, x11) - del x11 - rdm2_f_ovvo = np.zeros((nocc, nvir, nvir, nocc), dtype=types[float]) - rdm2_f_ovvo -= einsum("ijab->iabj", x51) * 2 - rdm2_f_voov = np.zeros((nvir, nocc, nocc, nvir), dtype=types[float]) - rdm2_f_voov -= einsum("ijab->bjia", x51) * 2 - del x51 - x20 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x20 += einsum("ijab,kjla->klib", t2, x1) - x22 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x22 -= einsum("ijka->ijka", x20) - x80 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x80 -= einsum("ijka->ijka", x20) - del x20 - x24 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x24 += einsum("ijka->ijka", x1) - x24 += einsum("ijka->jika", x1) * -0.5 - x25 = np.zeros((nocc, nvir), dtype=types[float]) - x25 += einsum("ijab,jikb->ka", t2, x24) * 2 - x27 = np.zeros((nocc, nvir), dtype=types[float]) - x27 += einsum("ia->ia", x25) - del x25 - x36 = np.zeros((nocc, nvir), dtype=types[float]) - x36 += einsum("ijab,jikb->ka", t2, x24) - del x24 - x38 = np.zeros((nocc, nvir), dtype=types[float]) - x38 += einsum("ia->ia", x36) - del x36 - x32 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x32 += einsum("ijab,kjlb->klia", t2, x1) - x35 += einsum("ijka->ijka", x32) - x58 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x58 += einsum("ijka->ijka", x32) - del x32 - x43 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x43 -= einsum("ijka->ijka", x1) - x43 += einsum("ijka->jika", x1) * 2 - x44 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x44 += einsum("ia,jikb->jkba", t1, x43) - del x43 - rdm2_f_oovv = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - rdm2_f_oovv -= einsum("ijab->ijba", x44) * 2 - rdm2_f_vvoo = np.zeros((nvir, nvir, nocc, nocc), dtype=types[float]) - rdm2_f_vvoo -= einsum("ijab->baij", x44) * 2 - del x44 - x92 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x92 += einsum("ia,jikb->jkba", t1, x1) - x93 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x93 += einsum("ijab->ijab", x92) - del x92 - x100 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x100 += einsum("ijab,ijkc->kcab", t2, x1) - rdm2_f_vovv = np.zeros((nvir, nocc, nvir, nvir), dtype=types[float]) - rdm2_f_vovv += einsum("iabc->bica", x100) * 2 - rdm2_f_vovv += einsum("iabc->ciba", x100) * -4 - rdm2_f_vvvo = np.zeros((nvir, nvir, nvir, nocc), dtype=types[float]) - rdm2_f_vvvo += einsum("iabc->baci", x100) * -4 - rdm2_f_vvvo += einsum("iabc->cabi", x100) * 2 - del x100 - rdm2_f_ooov = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - rdm2_f_ooov += einsum("ijka->ikja", x1) * 2 - rdm2_f_ooov -= einsum("ijka->jkia", x1) * 4 - rdm2_f_ovoo = np.zeros((nocc, nvir, nocc, nocc), dtype=types[float]) - rdm2_f_ovoo -= einsum("ijka->iajk", x1) * 4 - rdm2_f_ovoo += einsum("ijka->jaik", x1) * 2 - x3 = np.zeros((nocc, nocc), dtype=types[float]) - x3 += einsum("ai,ja->ij", l1, t1) - x21 = np.zeros((nocc, nocc), dtype=types[float]) - x21 += einsum("ij->ij", x3) - x30 = np.zeros((nocc, nvir), dtype=types[float]) - x30 += einsum("ia,ij->ja", t1, x3) - x31 = np.zeros((nocc, nvir), dtype=types[float]) - x31 -= einsum("ia->ia", x30) - del x30 - x79 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x79 += einsum("ij,kiab->jkab", x3, t2) - x82 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x82 += einsum("ijab->ijab", x79) - del x79 - rdm2_f_oooo -= einsum("ij,kl->jikl", delta_oo, x3) * 4 - rdm2_f_oooo += einsum("ij,kl->kijl", delta_oo, x3) * 2 - rdm2_f_oooo += einsum("ij,kl->jlki", delta_oo, x3) * 2 - rdm2_f_oooo -= einsum("ij,kl->klji", delta_oo, x3) * 4 - del x3 - x4 = np.zeros((nocc, nocc), dtype=types[float]) - x4 += einsum("wai,wja->ij", lu11, u11) - x14 = np.zeros((nocc, nvir), dtype=types[float]) - x14 += einsum("ia,ij->ja", t1, x4) - x17 = np.zeros((nocc, nvir), dtype=types[float]) - x17 += einsum("ia->ia", x14) - del x14 - x21 += einsum("ij->ij", x4) - x22 += einsum("ia,jk->jika", t1, x21) - x85 = np.zeros((nocc, nvir), dtype=types[float]) - x85 += einsum("ia,ij->ja", t1, x21) - del x21 - x86 = np.zeros((nocc, nvir), dtype=types[float]) - x86 += einsum("ia->ia", x85) - x87 = np.zeros((nocc, nvir), dtype=types[float]) - x87 += einsum("ia->ia", x85) - del x85 - x56 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x56 += einsum("ij,kiab->kjab", x4, t2) - x64 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x64 += einsum("ijab->ijab", x56) - del x56 - rdm2_f_oooo -= einsum("ij,kl->ijkl", delta_oo, x4) * 4 - rdm2_f_oooo += einsum("ij,kl->ilkj", delta_oo, x4) * 2 - rdm2_f_oooo += einsum("ij,kl->kijl", delta_oo, x4) * 2 - rdm2_f_oooo -= einsum("ij,kl->klji", delta_oo, x4) * 4 - del x4 - x5 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x5 += einsum("ijab->jiab", t2) - x5 += einsum("ijab->jiba", t2) * -0.5 - x6 = np.zeros((nocc, nocc), dtype=types[float]) - x6 += einsum("abij,ikba->kj", l2, x5) - del x5 - x26 = np.zeros((nocc, nvir), dtype=types[float]) - x26 += einsum("ia,ji->ja", t1, x6) * 2 - x27 += einsum("ia->ia", x26) - del x26 - x28 += einsum("ij,ka->jika", delta_oo, x27) * -4 - del x27 - rdm2_f_oovo = np.zeros((nocc, nocc, nvir, nocc), dtype=types[float]) - rdm2_f_oovo += einsum("ijka->ijak", x28) - rdm2_f_oovo += einsum("ijka->ikaj", x28) * -0.5 - del x28 - x37 = np.zeros((nocc, nvir), dtype=types[float]) - x37 += einsum("ia,ji->ja", t1, x6) - x38 += einsum("ia->ia", x37) - del x37 - x74 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x74 += einsum("ia,jb->ijab", t1, x38) * 8.000000000000005 - rdm2_f_vooo += einsum("ij,ka->ajik", delta_oo, x38) * 4 - rdm2_f_vooo += einsum("ij,ka->akij", delta_oo, x38) * -8 - del x38 - x73 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x73 += einsum("ij,jkab->ikab", x6, t2) * 8 - x74 += einsum("ijab->jiba", x73) - del x73 - rdm2_f_oooo += einsum("ij,kl->jilk", delta_oo, x6) * -8 - rdm2_f_oooo += einsum("ij,kl->jkli", delta_oo, x6) * 4 - rdm2_f_oooo += einsum("ij,kl->ljik", delta_oo, x6) * 4 - rdm2_f_oooo += einsum("ij,kl->lkij", delta_oo, x6) * -8 - rdm2_f_oovo += einsum("ia,jk->kiaj", t1, x6) * 4 - rdm2_f_oovo += einsum("ia,jk->kjai", t1, x6) * -8 - rdm2_f_vooo += einsum("ia,jk->aikj", t1, x6) * -8 - rdm2_f_vooo += einsum("ia,jk->ajki", t1, x6) * 4 - del x6 - x7 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x7 += einsum("ia,waj->wji", t1, lu11) - x8 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x8 += einsum("wia,wjk->jkia", u11, x7) - x18 += einsum("ijka->ijka", x8) - x35 -= einsum("ijka->ijka", x8) - del x8 - x13 = np.zeros((nocc, nvir), dtype=types[float]) - x13 += einsum("wia,wij->ja", u11, x7) - x17 += einsum("ia->ia", x13) - x86 += einsum("ia->ia", x13) - x87 += einsum("ia->ia", x13) - del x13 - x60 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x60 += einsum("ia,wij->wja", t1, x7) - del x7 - x62 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x62 += einsum("wia->wia", x60) - del x60 - x15 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x15 -= einsum("ijab->jiab", t2) - x15 += einsum("ijab->jiba", t2) * 2 - x16 = np.zeros((nocc, nvir), dtype=types[float]) - x16 += einsum("ai,ijab->jb", l1, x15) - x17 -= einsum("ia->ia", x16) - x18 += einsum("ij,ka->jika", delta_oo, x17) - rdm2_f_oovo -= einsum("ijka->ijak", x18) * 4 - rdm2_f_oovo += einsum("ijka->ikaj", x18) * 2 - del x18 - rdm2_f_vooo += einsum("ij,ka->ajik", delta_oo, x17) * 2 - rdm2_f_vooo -= einsum("ij,ka->akij", delta_oo, x17) * 4 - del x17 - x64 -= einsum("ia,jb->ijab", t1, x16) - del x16 - x54 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x54 += einsum("abij,ikac->kjcb", l2, x15) - x93 -= einsum("ijab->jiba", x54) - rdm2_f_vvoo -= einsum("ijab->abji", x54) * 2 - del x54 - x61 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x61 += einsum("wai,ijab->wjb", lu11, x15) - x62 -= einsum("wia->wia", x61) - del x61 - x63 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x63 += einsum("wia,wjb->ijab", u11, x62) - del x62 - x64 += einsum("ijab->jiba", x63) - del x63 - x19 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x19 += einsum("ai,jkab->ikjb", l1, t2) - x22 += einsum("ijka->ijka", x19) - rdm2_f_oovo += einsum("ijka->ijak", x22) * 2 - rdm2_f_oovo -= einsum("ijka->ikaj", x22) * 4 - rdm2_f_vooo -= einsum("ijka->ajik", x22) * 4 - rdm2_f_vooo += einsum("ijka->akij", x22) * 2 - del x22 - x80 += einsum("ijka->ijka", x19) - del x19 - x81 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x81 += einsum("ia,ijkb->jkba", t1, x80) - del x80 - x82 += einsum("ijab->ijba", x81) - del x81 - rdm2_f_vovo = np.zeros((nvir, nocc, nvir, nocc), dtype=types[float]) - rdm2_f_vovo += einsum("ijab->aibj", x82) * 2 - rdm2_f_vovo -= einsum("ijab->biaj", x82) * 4 - rdm2_f_vovo -= einsum("ijab->ajbi", x82) * 4 - rdm2_f_vovo += einsum("ijab->bjai", x82) * 2 - del x82 - x29 = np.zeros((nocc, nvir), dtype=types[float]) - x29 += einsum("w,wia->ia", ls1, u11) - x31 += einsum("ia->ia", x29) - x86 -= einsum("ia->ia", x29) - x87 -= einsum("ia->ia", x29) - del x29 - rdm2_f_vovo -= einsum("ia,jb->aibj", t1, x87) * 4 - rdm2_f_vovo += einsum("ia,jb->biaj", t1, x87) * 2 - del x87 - x31 += einsum("ia->ia", t1) - rdm2_f_oovo -= einsum("ij,ka->jkai", delta_oo, x31) * 2 - rdm2_f_oovo += einsum("ij,ka->jiak", delta_oo, x31) * 4 - rdm2_f_vooo += einsum("ij,ka->akji", delta_oo, x31) * 4 - rdm2_f_vooo -= einsum("ij,ka->aijk", delta_oo, x31) * 2 - del x31 - x33 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x33 += einsum("ijab->jiab", t2) * 2 - x33 -= einsum("ijab->jiba", t2) - x34 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x34 += einsum("ijka,ilba->ljkb", x1, x33) - del x1 - x35 -= einsum("ijka->jkia", x34) - rdm2_f_vooo -= einsum("ijka->ajik", x35) * 2 - rdm2_f_vooo += einsum("ijka->akij", x35) * 4 - del x35 - x58 -= einsum("ijka->jkia", x34) - del x34 - x59 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x59 += einsum("ia,ijkb->jkba", t1, x58) - del x58 - x64 -= einsum("ijab->ijba", x59) - del x59 - rdm2_f_vvoo -= einsum("abij,ikbc->cajk", l2, x33) * 2 - del x33 - x39 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x39 += einsum("wai,wjb->ijab", lu11, u11) - rdm2_f_oovv -= einsum("ijab->ijba", x39) * 2 - rdm2_f_ovvo += einsum("ijab->iabj", x39) * 4 - rdm2_f_voov += einsum("ijab->bjia", x39) * 4 - rdm2_f_vvoo -= einsum("ijab->baij", x39) * 2 - del x39 - x40 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x40 -= einsum("abij->jiab", l2) - x40 += einsum("abij->jiba", l2) * 2 - x41 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x41 += einsum("ijab,ikac->kjcb", t2, x40) - x57 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x57 += einsum("ijab,ikbc->kjca", t2, x41) - x64 += einsum("ijab->ijab", x57) - del x57 - x68 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x68 += einsum("ijab,ikac->kjcb", t2, x41) - x69 += einsum("ijab->ijab", x68) * 2 - del x68 - rdm2_f_oovv -= einsum("ijab->ijba", x41) * 2 - del x41 - x50 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x50 += einsum("ijab,ikac->jkbc", x15, x40) - del x40 - del x15 - rdm2_f_ovvo += einsum("ijab->jbai", x50) * 2 - rdm2_f_voov += einsum("ijab->aijb", x50) * 2 - del x50 - x42 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x42 += einsum("abij->jiab", l2) * 2 - x42 -= einsum("abij->jiba", l2) - rdm2_f_oovv -= einsum("ijab,ikbc->kjac", t2, x42) * 2 - del x42 - x45 = np.zeros((nvir, nvir), dtype=types[float]) - x45 += einsum("ai,ib->ab", l1, t1) - x49 = np.zeros((nvir, nvir), dtype=types[float]) - x49 += einsum("ab->ab", x45) * 0.5 - x53 = np.zeros((nvir, nvir), dtype=types[float]) - x53 += einsum("ab->ab", x45) - x98 = np.zeros((nvir, nvir), dtype=types[float]) - x98 += einsum("ab->ab", x45) - del x45 - x46 = np.zeros((nvir, nvir), dtype=types[float]) - x46 += einsum("wai,wib->ab", lu11, u11) - x49 += einsum("ab->ab", x46) * 0.5 - x53 += einsum("ab->ab", x46) - x55 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x55 += einsum("ab,ijca->ijcb", x46, t2) - x64 += einsum("ijab->ijab", x55) - del x55 - rdm2_f_vovo -= einsum("ijab->aibj", x64) * 4 - rdm2_f_vovo += einsum("ijab->biaj", x64) * 2 - rdm2_f_vovo += einsum("ijab->ajbi", x64) * 2 - rdm2_f_vovo -= einsum("ijab->bjai", x64) * 4 - del x64 - x98 += einsum("ab->ab", x46) - del x46 - x99 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x99 += einsum("ia,bc->ibac", t1, x98) - del x98 - x47 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x47 += einsum("abij->jiab", l2) - x47 += einsum("abij->jiba", l2) * -0.5 - x48 = np.zeros((nvir, nvir), dtype=types[float]) - x48 += einsum("ijab,ijbc->ca", t2, x47) - x49 += einsum("ab->ab", x48) - rdm2_f_oovv += einsum("ij,ab->jiba", delta_oo, x49) * 8 - del x49 - x72 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x72 += einsum("ab,ijac->ijbc", x48, t2) * 8 - x74 += einsum("ijab->jiba", x72) - del x72 - rdm2_f_vovo += einsum("ijab->aibj", x74) * -1 - rdm2_f_vovo += einsum("ijab->biaj", x74) * 0.5 - rdm2_f_vovo += einsum("ijab->ajbi", x74) * 0.5 - rdm2_f_vovo += einsum("ijab->bjai", x74) * -1 - del x74 - rdm2_f_vovv += einsum("ia,bc->aicb", t1, x48) * 8 - rdm2_f_vovv += einsum("ia,bc->ciab", t1, x48) * -4 - rdm2_f_vvvo += einsum("ia,bc->abci", t1, x48) * -4 - rdm2_f_vvvo += einsum("ia,bc->cbai", t1, x48) * 8 - del x48 - x52 = np.zeros((nvir, nvir), dtype=types[float]) - x52 += einsum("ijab,ijbc->ca", t2, x47) * 2 - del x47 - x53 += einsum("ab->ab", x52) - del x52 - rdm2_f_ovvo += einsum("ij,ab->jabi", delta_oo, x53) * -2 - rdm2_f_voov += einsum("ij,ab->bija", delta_oo, x53) * -2 - rdm2_f_vvoo += einsum("ij,ab->baji", delta_oo, x53) * 4 - del x53 - x65 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x65 += einsum("abij,kjbc->ikac", l2, t2) - x66 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x66 += einsum("ijab,jkac->ikbc", t2, x65) - del x65 - x69 += einsum("ijab->ijab", x66) - del x66 - x69 += einsum("ijab->jiba", t2) - rdm2_f_vovo -= einsum("ijab->biaj", x69) * 2 - rdm2_f_vovo += einsum("ijab->aibj", x69) * 4 - del x69 - x70 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x70 += einsum("abij,kjac->ikbc", l2, t2) - x71 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x71 += einsum("ijab,jkac->ikbc", t2, x70) - rdm2_f_vovo += einsum("ijab->ajbi", x71) * 4 - rdm2_f_vovo -= einsum("ijab->bjai", x71) * 2 - del x71 - x97 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x97 += einsum("ia,ijbc->jbac", t1, x70) - del x70 - x99 -= einsum("iabc->iabc", x97) - del x97 - x76 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x76 += einsum("ijab->jiba", t2) - x76 += einsum("ia,jb->ijab", t1, t1) - x77 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x77 += einsum("ijkl,ijab->klab", x0, x76) * 2 - del x0 - del x76 - x78 += einsum("ijab->jiba", x77) - del x77 - rdm2_f_vovo += einsum("ijab->ajbi", x78) * -1 - rdm2_f_vovo += einsum("ijab->bjai", x78) * 2 - del x78 - x83 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x83 += einsum("wx,xia->wia", ls2, u11) - x84 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x84 += einsum("wia,wjb->jiba", u11, x83) - del x83 - rdm2_f_vovo -= einsum("ijab->biaj", x84) * 2 - rdm2_f_vovo += einsum("ijab->bjai", x84) * 4 - del x84 - x86 -= einsum("ia->ia", t1) - rdm2_f_vovo -= einsum("ia,jb->bjai", t1, x86) * 4 - rdm2_f_vovo += einsum("ia,jb->ajbi", t1, x86) * 2 - del x86 - x88 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x88 += einsum("ia,bcji->jbca", t1, l2) - x102 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) - x102 += einsum("ia,ibcd->cbda", t1, x88) - rdm2_f_vvvv = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) - rdm2_f_vvvv -= einsum("abcd->cbda", x102) * 2 - rdm2_f_vvvv += einsum("abcd->dbca", x102) * 4 - del x102 - rdm2_f_ovvv = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - rdm2_f_ovvv += einsum("iabc->iacb", x88) * 4 - rdm2_f_ovvv -= einsum("iabc->ibca", x88) * 2 - rdm2_f_vvov = np.zeros((nvir, nvir, nocc, nvir), dtype=types[float]) - rdm2_f_vvov -= einsum("iabc->caib", x88) * 2 - rdm2_f_vvov += einsum("iabc->cbia", x88) * 4 - del x88 - x89 = np.zeros((nbos, nvir, nvir), dtype=types[float]) - x89 += einsum("ia,wbi->wba", t1, lu11) - x90 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x90 += einsum("wia,wbc->ibca", u11, x89) - del x89 - x95 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x95 -= einsum("iabc->iabc", x90) - del x90 - x91 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x91 += einsum("abij,kjca->ikbc", l2, t2) - x93 += einsum("ijab->ijab", x91) - del x91 - x94 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x94 += einsum("ia,ijbc->jbca", t1, x93) - del x93 - x95 += einsum("iabc->iacb", x94) - del x94 - rdm2_f_vovv += einsum("iabc->bica", x95) * 2 - rdm2_f_vovv -= einsum("iabc->ciba", x95) * 4 - rdm2_f_vvvo -= einsum("iabc->baci", x95) * 4 - rdm2_f_vvvo += einsum("iabc->cabi", x95) * 2 - del x95 - x96 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x96 += einsum("ai,jibc->jabc", l1, t2) - x99 += einsum("iabc->iabc", x96) - del x96 - rdm2_f_vovv += einsum("iabc->bica", x99) * 4 - rdm2_f_vovv -= einsum("iabc->ciba", x99) * 2 - rdm2_f_vvvo -= einsum("iabc->baci", x99) * 2 - rdm2_f_vvvo += einsum("iabc->cabi", x99) * 4 - del x99 - x101 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) - x101 += einsum("abij,ijcd->abcd", l2, t2) - rdm2_f_vvvv += einsum("abcd->cbda", x101) * -2 - rdm2_f_vvvv += einsum("abcd->dbca", x101) * 4 - del x101 - rdm2_f_oooo += einsum("ij,kl->jilk", delta_oo, delta_oo) * 4 - rdm2_f_oooo -= einsum("ij,kl->ljik", delta_oo, delta_oo) * 2 - rdm2_f_ooov += einsum("ij,ak->jika", delta_oo, l1) * 4 - rdm2_f_ooov -= einsum("ij,ak->kija", delta_oo, l1) * 2 - rdm2_f_ovoo -= einsum("ij,ak->jaki", delta_oo, l1) * 2 - rdm2_f_ovoo += einsum("ij,ak->kaji", delta_oo, l1) * 4 - rdm2_f_ovov = np.zeros((nocc, nvir, nocc, nvir), dtype=types[float]) - rdm2_f_ovov -= einsum("abij->jaib", l2) * 2 - rdm2_f_ovov += einsum("abij->jbia", l2) * 4 - rdm2_f_oovv -= einsum("ai,jb->ijba", l1, t1) * 2 - rdm2_f_ovvo += einsum("ai,jb->iabj", l1, t1) * 4 - rdm2_f_voov += einsum("ai,jb->bjia", l1, t1) * 4 - rdm2_f_vvoo -= einsum("ai,jb->baij", l1, t1) * 2 - - rdm2_f = pack_2e(rdm2_f_oooo, rdm2_f_ooov, rdm2_f_oovo, rdm2_f_ovoo, rdm2_f_vooo, rdm2_f_oovv, rdm2_f_ovov, rdm2_f_ovvo, rdm2_f_voov, rdm2_f_vovo, rdm2_f_vvoo, rdm2_f_ovvv, rdm2_f_vovv, rdm2_f_vvov, rdm2_f_vvvo, rdm2_f_vvvv) - - return rdm2_f - -def make_sing_b_dm(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, s2=None, u11=None, l1=None, l2=None, ls1=None, ls2=None, lu11=None, **kwargs): - # Get boson coupling creation array: - gc = Namespace( - boo=g.boo.transpose(0, 2, 1), - bov=g.bvo.transpose(0, 2, 1), - bvo=g.bov.transpose(0, 2, 1), - bvv=g.bvv.transpose(0, 2, 1), - ) - - # Single boson DM - dm_b_cre = np.zeros((nbos), dtype=types[float]) - dm_b_cre += einsum("w->w", ls1) - dm_b_des = np.zeros((nbos), dtype=types[float]) - dm_b_des += einsum("w->w", s1) - dm_b_des += einsum("ai,wia->w", l1, u11) * 2 - dm_b_des += einsum("w,xw->x", ls1, s2) - - dm_b = np.array([dm_b_cre, dm_b_des]) - - return dm_b - -def make_rdm1_b(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, s2=None, u11=None, l1=None, l2=None, ls1=None, ls2=None, lu11=None, **kwargs): - # Get boson coupling creation array: - gc = Namespace( - boo=g.boo.transpose(0, 2, 1), - bov=g.bvo.transpose(0, 2, 1), - bvo=g.bov.transpose(0, 2, 1), - bvv=g.bvv.transpose(0, 2, 1), - ) - - # Boson 1RDM - rdm1_b = np.zeros((nbos, nbos), dtype=types[float]) - rdm1_b += einsum("w,x->wx", ls1, s1) - rdm1_b += einsum("wx,yx->wy", ls2, s2) - rdm1_b += einsum("wai,xia->wx", lu11, u11) * 2 - - return rdm1_b - -def make_eb_coup_rdm(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, s2=None, u11=None, l1=None, l2=None, ls1=None, ls2=None, lu11=None, **kwargs): - # Get boson coupling creation array: - gc = Namespace( - boo=g.boo.transpose(0, 2, 1), - bov=g.bvo.transpose(0, 2, 1), - bvo=g.bov.transpose(0, 2, 1), - bvv=g.bvv.transpose(0, 2, 1), - ) - - delta_oo = np.eye(nocc) - delta_vv = np.eye(nvir) - - # Boson-fermion coupling RDM - x0 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x0 += einsum("ia,waj->wji", t1, lu11) - x27 = np.zeros((nocc, nvir), dtype=types[float]) - x27 += einsum("wia,wij->ja", u11, x0) - rdm_eb_cre_oo = np.zeros((nbos, nocc, nocc), dtype=types[float]) - rdm_eb_cre_oo -= einsum("wij->wji", x0) * 2 - rdm_eb_cre_ov = np.zeros((nbos, nocc, nvir), dtype=types[float]) - rdm_eb_cre_ov -= einsum("ia,wij->wja", t1, x0) * 2 - del x0 - x1 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x1 += einsum("ijab->jiab", t2) * 2 - x1 -= einsum("ijab->jiba", t2) - rdm_eb_cre_ov += einsum("wai,ijba->wjb", lu11, x1) * 2 - x2 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x2 += einsum("ai,wja->wij", l1, u11) - x21 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x21 += einsum("wij->wij", x2) - rdm_eb_des_oo = np.zeros((nbos, nocc, nocc), dtype=types[float]) - rdm_eb_des_oo -= einsum("wij->wji", x2) * 2 - del x2 - x3 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x3 += einsum("wx,xai->wia", s2, lu11) - x6 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x6 += einsum("wia->wia", x3) - rdm_eb_des_vo = np.zeros((nbos, nvir, nocc), dtype=types[float]) - rdm_eb_des_vo += einsum("wia->wai", x3) * 2 - del x3 - x4 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x4 += einsum("abij->jiab", l2) * 2 - x4 -= einsum("abij->jiba", l2) - x5 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x5 += einsum("wia,ijba->wjb", u11, x4) - del x4 - x6 += einsum("wia->wia", x5) - x7 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x7 += einsum("ia,wja->wij", t1, x6) - x21 += einsum("wij->wji", x7) - rdm_eb_des_ov = np.zeros((nbos, nocc, nvir), dtype=types[float]) - rdm_eb_des_ov -= einsum("ia,wij->wja", t1, x21) * 2 - del x21 - rdm_eb_des_oo -= einsum("wij->wij", x7) * 2 - del x7 - rdm_eb_des_ov += einsum("wia,ijba->wjb", x6, x1) * 2 - del x1 - rdm_eb_des_vv = np.zeros((nbos, nvir, nvir), dtype=types[float]) - rdm_eb_des_vv += einsum("ia,wib->wba", t1, x6) * 2 - del x6 - rdm_eb_des_vo += einsum("wia->wai", x5) * 2 - del x5 - x8 = np.zeros((nocc, nocc), dtype=types[float]) - x8 += einsum("ai,ja->ij", l1, t1) - x11 = np.zeros((nocc, nocc), dtype=types[float]) - x11 += einsum("ij->ij", x8) - x20 = np.zeros((nocc, nocc), dtype=types[float]) - x20 += einsum("ij->ij", x8) * 0.5 - x26 = np.zeros((nocc, nocc), dtype=types[float]) - x26 += einsum("ij->ij", x8) * 0.49999999999999967 - del x8 - x9 = np.zeros((nocc, nocc), dtype=types[float]) - x9 += einsum("wai,wja->ij", lu11, u11) - x11 += einsum("ij->ij", x9) - x20 += einsum("ij->ij", x9) * 0.5 - x26 += einsum("ij->ij", x9) * 0.49999999999999967 - del x9 - x10 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x10 += einsum("ijab->jiab", t2) * -0.5 - x10 += einsum("ijab->jiba", t2) - x11 += einsum("abij,ikab->jk", l2, x10) * 2 - x19 = np.zeros((nocc, nocc), dtype=types[float]) - x19 += einsum("abij,ikab->jk", l2, x10) - del x10 - x20 += einsum("ij->ij", x19) - rdm_eb_des_ov += einsum("ij,wia->wja", x20, u11) * -4 - del x20 - x26 += einsum("ij->ij", x19) - del x19 - x27 += einsum("ia,ij->ja", t1, x26) * 2.0000000000000013 - del x26 - x11 += einsum("ij->ji", delta_oo) * -1 - rdm_eb_des_oo += einsum("w,ij->wji", s1, x11) * -2 - del x11 - x12 = np.zeros((nbos), dtype=types[float]) - x12 += einsum("w,xw->x", ls1, s2) - x14 = np.zeros((nbos), dtype=types[float]) - x14 += einsum("w->w", x12) - del x12 - x13 = np.zeros((nbos), dtype=types[float]) - x13 += einsum("ai,wia->w", l1, u11) - x14 += einsum("w->w", x13) * 2 - del x13 - rdm_eb_des_oo += einsum("w,ij->wji", x14, delta_oo) * 2 - rdm_eb_des_ov += einsum("w,ia->wia", x14, t1) * 2 - del x14 - x15 = np.zeros((nvir, nvir), dtype=types[float]) - x15 += einsum("wai,wib->ab", lu11, u11) - x18 = np.zeros((nvir, nvir), dtype=types[float]) - x18 += einsum("ab->ab", x15) - x28 = np.zeros((nvir, nvir), dtype=types[float]) - x28 += einsum("ab->ab", x15) - del x15 - x16 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x16 += einsum("abij->jiab", l2) * -0.5 - x16 += einsum("abij->jiba", l2) - x17 = np.zeros((nvir, nvir), dtype=types[float]) - x17 += einsum("ijab,ijac->cb", t2, x16) * 2 - del x16 - x18 += einsum("ab->ab", x17) - rdm_eb_des_ov += einsum("ab,wia->wib", x18, u11) * -2 - del x18 - x28 += einsum("ab->ab", x17) - del x17 - x22 = np.zeros((nbos, nbos), dtype=types[float]) - x22 += einsum("wx,yw->xy", ls2, s2) - x22 += einsum("wai,xia->wx", lu11, u11) * 2 - rdm_eb_des_ov += einsum("wx,wia->xia", x22, u11) * 2 - del x22 - x23 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x23 += einsum("ia,abjk->kjib", t1, l2) - x24 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x24 += einsum("ijka->ijka", x23) * -0.5 - x24 += einsum("ijka->jika", x23) - del x23 - x27 += einsum("ijab,jika->kb", t2, x24) * 2.0000000000000013 - del x24 - x25 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x25 += einsum("ijab->jiab", t2) * 2 - x25 += einsum("ijab->jiba", t2) * -1 - x27 += einsum("ai,ijba->jb", l1, x25) * -1 - del x25 - x27 += einsum("ia->ia", t1) * -1 - x27 += einsum("w,wia->ia", ls1, u11) * -1 - rdm_eb_des_ov += einsum("w,ia->wia", s1, x27) * -2 - del x27 - x28 += einsum("ai,ib->ab", l1, t1) - rdm_eb_des_vv += einsum("w,ab->wab", s1, x28) * 2 - del x28 - rdm_eb_cre_oo += einsum("w,ij->wji", ls1, delta_oo) * 2 - rdm_eb_cre_ov += einsum("w,ia->wia", ls1, t1) * 2 - rdm_eb_cre_ov += einsum("wx,xia->wia", ls2, u11) * 2 - rdm_eb_cre_vo = np.zeros((nbos, nvir, nocc), dtype=types[float]) - rdm_eb_cre_vo += einsum("wai->wai", lu11) * 2 - rdm_eb_cre_vv = np.zeros((nbos, nvir, nvir), dtype=types[float]) - rdm_eb_cre_vv += einsum("ia,wbi->wba", t1, lu11) * 2 - rdm_eb_des_ov += einsum("wia->wia", u11) * 2 - rdm_eb_des_vo += einsum("w,ai->wai", s1, l1) * 2 - rdm_eb_des_vv += einsum("ai,wib->wab", l1, u11) * 2 - - rdm_eb = np.array([ - np.block([[rdm_eb_cre_oo, rdm_eb_cre_ov], [rdm_eb_cre_vo, rdm_eb_cre_vv]]), - np.block([[rdm_eb_des_oo, rdm_eb_des_ov], [rdm_eb_des_vo, rdm_eb_des_vv]]), - ]) - - return rdm_eb - diff --git a/ebcc/codegen/RCCSD_SD_1_2.py b/ebcc/codegen/RCCSD_SD_1_2.py deleted file mode 100644 index 9d2e2984..00000000 --- a/ebcc/codegen/RCCSD_SD_1_2.py +++ /dev/null @@ -1,2708 +0,0 @@ -# Code generated for ebcc. - -from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, Namespace -from ebcc.precision import types - -def energy(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, s2=None, u11=None, u12=None, **kwargs): - # Energy - x0 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x0 += einsum("iajb->jiab", v.ovov) - x0 += einsum("iajb->jiba", v.ovov) * -0.5 - x1 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x1 += einsum("ijab->jiba", t2) - x1 += einsum("ia,jb->ijab", t1, t1) - e_cc = 0 - e_cc += einsum("ijab,ijba->", x0, x1) * 2 - del x0 - del x1 - x2 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x2 += einsum("wia->wia", u11) - x2 += einsum("w,ia->wia", s1, t1) - e_cc += einsum("wia,wia->", g.bov, x2) * 2 - del x2 - e_cc += einsum("ia,ia->", f.ov, t1) * 2 - e_cc += einsum("w,w->", G, s1) - - return e_cc - -def update_amps(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, s2=None, u11=None, u12=None, **kwargs): - # Get boson coupling creation array: - gc = Namespace( - boo=g.boo.transpose(0, 2, 1), - bov=g.bvo.transpose(0, 2, 1), - bvo=g.bov.transpose(0, 2, 1), - bvv=g.bvv.transpose(0, 2, 1), - ) - - # T1, T2, S1, S2, U11 and U12 amplitudes - x0 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x0 += einsum("ia,jbka->ijkb", t1, v.ovov) - x1 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x1 += einsum("ijka->ijka", x0) * 2 - x1 += einsum("ijka->ikja", x0) * -1 - x28 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x28 += einsum("ia,jkla->jilk", t1, x0) - x88 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x88 += einsum("ijkl->lkji", x28) - t2new = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - t2new += einsum("ijab,klij->lkba", t2, x28) - del x28 - x35 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x35 += einsum("ijab,kjla->kilb", t2, x0) - x41 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x41 -= einsum("ijka->ikja", x35) - del x35 - x36 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x36 += einsum("ijka->ijka", x0) * 2 - x36 -= einsum("ijka->ikja", x0) - x37 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x37 += einsum("ijab,kila->jklb", t2, x36) - del x36 - x41 += einsum("ijka->jkia", x37) - del x37 - x65 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x65 += einsum("ijab,klja->kilb", t2, x0) - x69 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x69 -= einsum("ijka->kija", x65) - del x65 - x136 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x136 -= einsum("ijka->jkia", x0) - x136 += einsum("ijka->kjia", x0) * 2 - del x0 - x1 += einsum("ijka->jika", v.ooov) * -1 - x1 += einsum("ijka->jkia", v.ooov) * 2 - t1new = np.zeros((nocc, nvir), dtype=types[float]) - t1new += einsum("ijab,kjib->ka", t2, x1) * -1 - del x1 - x2 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x2 += einsum("iabc->ibac", v.ovvv) - x2 += einsum("iabc->ibca", v.ovvv) * -0.5 - x102 = np.zeros((nvir, nvir), dtype=types[float]) - x102 += einsum("ia,ibac->bc", t1, x2) * 2 - x104 = np.zeros((nvir, nvir), dtype=types[float]) - x104 += einsum("ab->ab", x102) - x135 = np.zeros((nvir, nvir), dtype=types[float]) - x135 += einsum("ab->ab", x102) - del x102 - t1new += einsum("ijab,icab->jc", t2, x2) * 2 - del x2 - x3 = np.zeros((nocc, nvir), dtype=types[float]) - x3 += einsum("w,wia->ia", s1, g.bov) - x6 = np.zeros((nocc, nvir), dtype=types[float]) - x6 += einsum("ia->ia", x3) - x18 = np.zeros((nocc, nvir), dtype=types[float]) - x18 += einsum("ia->ia", x3) * 0.5 - x108 = np.zeros((nocc, nvir), dtype=types[float]) - x108 += einsum("ia->ia", x3) - del x3 - x4 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x4 += einsum("iajb->jiab", v.ovov) * 2 - x4 -= einsum("iajb->jiba", v.ovov) - x5 = np.zeros((nocc, nvir), dtype=types[float]) - x5 += einsum("ia,ijba->jb", t1, x4) - x6 += einsum("ia->ia", x5) - del x5 - x97 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x97 += einsum("wia,ijba->wjb", u11, x4) - x99 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x99 += einsum("wia->wia", x97) - x117 = np.zeros((nbos, nvir, nvir), dtype=types[float]) - x117 += einsum("ia,wib->wab", t1, x97) - x118 = np.zeros((nbos, nvir, nvir), dtype=types[float]) - x118 += einsum("wab->wba", x117) - del x117 - x125 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x125 += einsum("ia,wja->wij", t1, x97) - x126 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x126 += einsum("wij->wji", x125) - del x125 - s2new = np.zeros((nbos, nbos), dtype=types[float]) - s2new += einsum("wia,xia->wx", u11, x97) * 2 - del x97 - x133 = np.zeros((nbos, nbos, nocc, nvir), dtype=types[float]) - x133 += einsum("wxia,ijba->xwjb", u12, x4) - del x4 - x6 += einsum("ia->ia", f.ov) - x68 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x68 += einsum("ia,jkab->jkib", x6, t2) - x69 += einsum("ijka->kjia", x68) - del x68 - x71 = np.zeros((nocc, nocc), dtype=types[float]) - x71 += einsum("ia,ja->ij", t1, x6) - x72 = np.zeros((nocc, nocc), dtype=types[float]) - x72 += einsum("ij->ij", x71) - del x71 - x120 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x120 += einsum("ia,wja->wji", x6, u11) - x123 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x123 += einsum("wij->wji", x120) - del x120 - x137 = np.zeros((nbos, nbos, nocc, nocc), dtype=types[float]) - x137 += einsum("ia,wxja->xwij", x6, u12) - s1new = np.zeros((nbos), dtype=types[float]) - s1new += einsum("ia,wia->w", x6, u11) * 2 - s2new += einsum("ia,wxia->xw", x6, u12) * 2 - x7 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x7 += einsum("ijab->jiab", t2) * 2 - x7 -= einsum("ijab->jiba", t2) - x47 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x47 += einsum("wia,ijba->wjb", g.bov, x7) - x49 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x49 += einsum("wia->wia", x47) - del x47 - t1new += einsum("ia,ijba->jb", x6, x7) - del x6 - u12new = np.zeros((nbos, nbos, nocc, nvir), dtype=types[float]) - u12new += einsum("wxia,ijba->xwjb", x133, x7) - del x133 - x8 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x8 += einsum("iabj->ijba", v.ovvo) * 2 - x8 -= einsum("ijab->ijab", v.oovv) - t1new += einsum("ia,ijba->jb", t1, x8) - u11new = np.zeros((nbos, nocc, nvir), dtype=types[float]) - u11new += einsum("wia,ijba->wjb", u11, x8) - del x8 - x9 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x9 += einsum("ia,wja->wji", t1, g.bov) - x10 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x10 += einsum("wij->wij", x9) - del x9 - x10 += einsum("wij->wij", g.boo) - x48 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x48 += einsum("ia,wij->wja", t1, x10) - x49 -= einsum("wia->wia", x48) - del x48 - t1new -= einsum("wia,wij->ja", u11, x10) - u11new -= einsum("wij,wxia->xja", x10, u12) - del x10 - x11 = np.zeros((nocc, nocc), dtype=types[float]) - x11 += einsum("w,wij->ij", s1, g.boo) - x20 = np.zeros((nocc, nocc), dtype=types[float]) - x20 += einsum("ij->ij", x11) - x72 += einsum("ij->ji", x11) - del x11 - x12 = np.zeros((nocc, nocc), dtype=types[float]) - x12 += einsum("wia,wja->ij", g.bov, u11) - x20 += einsum("ij->ij", x12) - x53 = np.zeros((nocc, nocc), dtype=types[float]) - x53 += einsum("ij->ij", x12) - del x12 - x13 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x13 += einsum("iajb->jiab", v.ovov) - x13 += einsum("iajb->jiba", v.ovov) * -0.5 - x14 = np.zeros((nocc, nocc), dtype=types[float]) - x14 += einsum("ijab,ikba->jk", t2, x13) * 2 - x20 += einsum("ij->ji", x14) - del x14 - x17 = np.zeros((nocc, nvir), dtype=types[float]) - x17 += einsum("ia,ijba->jb", t1, x13) - x18 += einsum("ia->ia", x17) - del x17 - x79 = np.zeros((nvir, nvir), dtype=types[float]) - x79 += einsum("ijab,ijbc->ac", t2, x13) - x80 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x80 += einsum("ab,ijbc->ijca", x79, t2) * 2 - del x79 - x83 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x83 += einsum("ijab->jiab", x80) - del x80 - x81 = np.zeros((nocc, nocc), dtype=types[float]) - x81 += einsum("ijab,ikba->jk", t2, x13) - x82 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x82 += einsum("ij,jkab->kiab", x81, t2) * 2 - del x81 - x83 += einsum("ijab->ijba", x82) - del x82 - x103 = np.zeros((nocc, nvir), dtype=types[float]) - x103 += einsum("ia,ijba->jb", t1, x13) * 2 - del x13 - x104 += einsum("ia,ib->ab", t1, x103) * -1 - del x103 - x15 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x15 += einsum("ijka->ikja", v.ooov) - x15 += einsum("ijka->kija", v.ooov) * -0.5 - x16 = np.zeros((nocc, nocc), dtype=types[float]) - x16 += einsum("ia,jika->jk", t1, x15) * 2 - del x15 - x20 += einsum("ij->ij", x16) - del x16 - x18 += einsum("ia->ia", f.ov) * 0.5 - x19 = np.zeros((nocc, nocc), dtype=types[float]) - x19 += einsum("ia,ja->ij", t1, x18) * 2 - del x18 - x20 += einsum("ij->ji", x19) - del x19 - x20 += einsum("ij->ij", f.oo) - t1new += einsum("ia,ij->ja", t1, x20) * -1 - u11new += einsum("ij,wia->wja", x20, u11) * -1 - u12new += einsum("ij,wxia->xwja", x20, u12) * -1 - del x20 - x21 = np.zeros((nvir, nvir), dtype=types[float]) - x21 += einsum("w,wab->ab", s1, g.bvv) - x24 = np.zeros((nvir, nvir), dtype=types[float]) - x24 += einsum("ab->ab", x21) - x74 = np.zeros((nvir, nvir), dtype=types[float]) - x74 += einsum("ab->ab", x21) - x104 += einsum("ab->ab", x21) - x135 += einsum("ab->ab", x21) - del x21 - x22 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x22 -= einsum("iabc->ibac", v.ovvv) - x22 += einsum("iabc->ibca", v.ovvv) * 2 - x23 = np.zeros((nvir, nvir), dtype=types[float]) - x23 += einsum("ia,ibca->bc", t1, x22) - x24 += einsum("ab->ab", x23) - x44 = np.zeros((nvir, nvir), dtype=types[float]) - x44 -= einsum("ab->ab", x23) - del x23 - x111 = np.zeros((nbos, nvir, nvir), dtype=types[float]) - x111 += einsum("wia,ibca->wbc", u11, x22) - del x22 - x112 = np.zeros((nbos, nvir, nvir), dtype=types[float]) - x112 += einsum("wab->wab", x111) - x118 -= einsum("wab->wba", x111) - del x111 - x24 += einsum("ab->ab", f.vv) - t1new += einsum("ia,ba->ib", t1, x24) - del x24 - x25 = np.zeros((nbos), dtype=types[float]) - x25 += einsum("ia,wia->w", t1, g.bov) - x26 = np.zeros((nbos), dtype=types[float]) - x26 += einsum("w->w", x25) * 2 - del x25 - x26 += einsum("w->w", G) - t1new += einsum("w,wia->ia", x26, u11) - s1new += einsum("w,wx->x", x26, s2) - u11new += einsum("w,wxia->xia", x26, u12) - del x26 - x27 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x27 += einsum("ia,bacd->icbd", t1, v.vvvv) - t2new += einsum("ia,jbca->ijbc", t1, x27) - del x27 - x29 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x29 += einsum("ia,jabc->ijbc", t1, v.ovvv) - x30 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x30 += einsum("ijab,kjca->kibc", t2, x29) - del x29 - x55 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x55 += einsum("ijab->ijab", x30) - del x30 - x31 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x31 -= einsum("iajb->jiab", v.ovov) - x31 += einsum("iajb->jiba", v.ovov) * 2 - x32 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x32 += einsum("ijab,ikbc->jkac", t2, x31) - x33 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x33 += einsum("ijab,kica->jkbc", t2, x32) - del x32 - x55 += einsum("ijab->ijab", x33) - del x33 - x85 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x85 += einsum("ijab,ikac->jkbc", t2, x31) * 2 - del x31 - x34 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x34 += einsum("ijab,jkla->ilkb", t2, v.ooov) - x41 -= einsum("ijka->ijka", x34) - del x34 - x38 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x38 += einsum("ia,jbca->ijcb", t1, v.ovvv) - x39 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x39 += einsum("ijab->jiab", x38) - x57 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x57 += einsum("ijab,kjca->kibc", t2, x38) - del x38 - x76 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x76 += einsum("ijab->ijab", x57) - del x57 - x39 += einsum("iabj->ijba", v.ovvo) - x40 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x40 += einsum("ia,jkba->ijkb", t1, x39) - del x39 - x41 += einsum("ijka->ijka", x40) - del x40 - x42 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x42 += einsum("ia,jikb->jkab", t1, x41) - del x41 - x55 += einsum("ijab->ijab", x42) - del x42 - x43 = np.zeros((nvir, nvir), dtype=types[float]) - x43 += einsum("wia,wib->ab", g.bov, u11) - x44 += einsum("ab->ba", x43) - x45 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x45 += einsum("ab,ijbc->ijca", x44, t2) - del x44 - x55 += einsum("ijab->jiab", x45) - del x45 - x104 += einsum("ab->ba", x43) * -1 - x135 += einsum("ab->ba", x43) * -1 - del x43 - x46 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x46 += einsum("ia,wba->wib", t1, g.bvv) - x49 += einsum("wia->wia", x46) - del x46 - x49 += einsum("wai->wia", g.bvo) - x50 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x50 += einsum("wia,wjb->ijab", u11, x49) - del x49 - x55 -= einsum("ijab->jiba", x50) - del x50 - x51 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x51 += einsum("ijka->ikja", v.ooov) * 2 - x51 -= einsum("ijka->kija", v.ooov) - x52 = np.zeros((nocc, nocc), dtype=types[float]) - x52 += einsum("ia,jika->jk", t1, x51) - x53 += einsum("ij->ij", x52) - del x52 - x54 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x54 += einsum("ij,ikab->kjab", x53, t2) - del x53 - x55 += einsum("ijab->ijba", x54) - del x54 - t2new -= einsum("ijab->ijab", x55) - t2new -= einsum("ijab->jiba", x55) - del x55 - x107 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x107 += einsum("wia,jika->wjk", u11, x51) - del x51 - x109 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x109 += einsum("wij->wij", x107) - x126 += einsum("wij->wij", x107) - del x107 - x56 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x56 += einsum("ia,bjca->ijbc", t1, v.vovv) - x76 -= einsum("ijab->ijab", x56) - del x56 - x58 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x58 += einsum("iabc->ibac", v.ovvv) * 2 - x58 -= einsum("iabc->ibca", v.ovvv) - x59 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x59 += einsum("ia,jbca->ijbc", t1, x58) - del x58 - x60 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x60 += einsum("ijab,kica->jkbc", t2, x59) - x76 -= einsum("ijab->jiab", x60) - del x60 - x134 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x134 += einsum("ijab->jiab", x59) - del x59 - x61 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x61 += einsum("ia,jkba->ijkb", t1, v.oovv) - x69 += einsum("ijka->jika", x61) - del x61 - x62 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x62 += einsum("ijab,klja->iklb", t2, v.ooov) - x69 -= einsum("ijka->jika", x62) - del x62 - x63 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x63 += einsum("ia,jkla->ijlk", t1, v.ooov) - x64 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x64 += einsum("ia,jkil->jkla", t1, x63) - x69 -= einsum("ijka->jika", x64) - del x64 - x84 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x84 += einsum("ijab,kjil->klba", t2, x63) - del x63 - t2new += einsum("ijab->ijba", x84) - t2new += einsum("ijab->jiab", x84) - del x84 - x66 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x66 -= einsum("ijka->ikja", v.ooov) - x66 += einsum("ijka->kija", v.ooov) * 2 - x67 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x67 += einsum("ijab,ikla->jklb", t2, x66) - del x66 - x69 += einsum("ijka->jika", x67) - del x67 - x70 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x70 += einsum("ia,ijkb->jkab", t1, x69) - del x69 - x76 += einsum("ijab->ijab", x70) - del x70 - x72 += einsum("ij->ji", f.oo) - x73 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x73 += einsum("ij,jkab->kiab", x72, t2) - del x72 - x76 += einsum("ijab->jiba", x73) - del x73 - x74 += einsum("ab->ab", f.vv) - x75 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x75 += einsum("ab,ijbc->ijca", x74, t2) - del x74 - x76 -= einsum("ijab->jiba", x75) - del x75 - t2new -= einsum("ijab->ijba", x76) - t2new -= einsum("ijab->jiab", x76) - del x76 - x77 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x77 += einsum("ijab,kacb->ijkc", t2, v.ovvv) - x78 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x78 += einsum("ia,jkib->jkab", t1, x77) - del x77 - x83 += einsum("ijab->ijab", x78) - del x78 - t2new += einsum("ijab->ijab", x83) * -1 - t2new += einsum("ijab->jiba", x83) * -1 - del x83 - x85 += einsum("iabj->jiba", v.ovvo) * 2 - x85 -= einsum("ijab->jiab", v.oovv) - t2new += einsum("ijab,kica->kjcb", t2, x85) - del x85 - x86 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x86 += einsum("ijab,kbla->ijlk", t2, v.ovov) - x87 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x87 += einsum("ijkl->lkji", x86) - x88 += einsum("ijkl->lkji", x86) - del x86 - x87 += einsum("ijkl->kilj", v.oooo) - t2new += einsum("ijab,ijkl->klab", t2, x87) - del x87 - x88 += einsum("ijkl->kilj", v.oooo) - x89 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x89 += einsum("ia,ijkl->lkja", t1, x88) - del x88 - x89 += einsum("ijak->jkia", v.oovo) * -1 - t2new += einsum("ia,jkib->jkab", t1, x89) - del x89 - x90 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x90 -= einsum("iabj->jiba", v.ovvo) - x90 += einsum("ijab,jakc->ikbc", t2, v.ovov) - t2new += einsum("ijab,kicb->jkac", t2, x90) - del x90 - x91 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x91 -= einsum("ijab->jiab", v.oovv) - x91 += einsum("ijab,jcka->ikbc", t2, v.ovov) - t2new += einsum("ijab,kicb->jkca", t2, x91) - del x91 - x92 = np.zeros((nbos, nbos), dtype=types[float]) - x92 += einsum("wia,xia->wx", gc.bov, u11) - x96 = np.zeros((nbos, nbos), dtype=types[float]) - x96 += einsum("wx->wx", x92) * 2 - del x92 - x93 = np.zeros((nbos, nbos), dtype=types[float]) - x93 += einsum("wia,xia->wx", g.bov, u11) - x94 = np.zeros((nbos, nbos), dtype=types[float]) - x94 += einsum("wx->wx", x93) * 2 - x115 = np.zeros((nbos, nbos, nocc, nvir), dtype=types[float]) - x115 += einsum("wx,ywia->xyia", x93, u12) - del x93 - x132 = np.zeros((nbos, nbos, nocc, nvir), dtype=types[float]) - x132 -= einsum("wxia->wxia", x115) * 2 - del x115 - x94 += einsum("wx->wx", w) - x95 = np.zeros((nbos, nbos), dtype=types[float]) - x95 += einsum("wx,wy->xy", s2, x94) - x96 += einsum("wx->wx", x95) - del x95 - s2new += einsum("wx->wx", x96) - s2new += einsum("wx->xw", x96) - del x96 - u11new += einsum("wx,wia->xia", x94, u11) - del x94 - x98 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x98 += einsum("wx,xia->wia", s2, g.bov) - x99 += einsum("wia->wia", x98) - x121 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x121 += einsum("wia->wia", x98) - del x98 - x99 += einsum("wia->wia", gc.bov) - x109 += einsum("ia,wja->wji", t1, x99) - u11new += einsum("wia,ijba->wjb", x99, x7) - del x99 - del x7 - x100 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x100 += einsum("iajb->jiab", v.ovov) * -1 - x100 += einsum("iajb->jiba", v.ovov) * 2 - x101 = np.zeros((nvir, nvir), dtype=types[float]) - x101 += einsum("ijab,ijcb->ac", t2, x100) - del x100 - x104 += einsum("ab->ab", x101) * -1 - x135 += einsum("ab->ab", x101) * -1 - del x101 - x104 += einsum("ab->ab", f.vv) - u11new += einsum("ab,wib->wia", x104, u11) - del x104 - x105 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x105 += einsum("wx,xij->wij", s2, g.boo) - x109 += einsum("wij->wij", x105) - x123 += einsum("wij->wij", x105) - del x105 - x106 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x106 += einsum("wia,xwja->xij", g.bov, u12) - x109 += einsum("wij->wij", x106) - x126 += einsum("wij->wij", x106) - del x106 - x127 = np.zeros((nbos, nbos, nocc, nvir), dtype=types[float]) - x127 += einsum("wia,xij->wxja", u11, x126) - del x126 - x132 += einsum("wxia->wxia", x127) - del x127 - x108 += einsum("ia->ia", f.ov) - x109 += einsum("ia,wja->wij", x108, u11) - del x108 - x109 += einsum("wij->wij", gc.boo) - u11new -= einsum("ia,wij->wja", t1, x109) - del x109 - x110 = np.zeros((nbos, nvir, nvir), dtype=types[float]) - x110 += einsum("wx,xab->wab", s2, g.bvv) - x112 += einsum("wab->wab", x110) - x128 = np.zeros((nbos, nvir, nvir), dtype=types[float]) - x128 += einsum("wab->wab", x110) - del x110 - x112 += einsum("wab->wab", gc.bvv) - u11new += einsum("ia,wba->wib", t1, x112) - del x112 - x113 = np.zeros((nbos, nbos, nbos), dtype=types[float]) - x113 += einsum("wia,xyia->wxy", g.bov, u12) - u12new += einsum("wia,wxy->yxia", u11, x113) * 2 - del x113 - x114 = np.zeros((nbos, nbos, nocc, nvir), dtype=types[float]) - x114 += einsum("wx,ywia->yxia", w, u12) - x132 -= einsum("wxia->wxia", x114) - del x114 - x116 = np.zeros((nbos, nvir, nvir), dtype=types[float]) - x116 += einsum("wia,xwib->xab", g.bov, u12) - x118 += einsum("wab->wab", x116) - del x116 - x119 = np.zeros((nbos, nbos, nocc, nvir), dtype=types[float]) - x119 += einsum("wia,xab->wxib", u11, x118) - del x118 - x132 += einsum("wxia->wxia", x119) - del x119 - x121 += einsum("wia->wia", gc.bov) - x122 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x122 += einsum("ia,wja->wij", t1, x121) - x123 += einsum("wij->wji", x122) - del x122 - x130 = np.zeros((nbos, nbos, nocc, nocc), dtype=types[float]) - x130 += einsum("wia,xja->wxij", u11, x121) - del x121 - x131 = np.zeros((nbos, nbos, nocc, nvir), dtype=types[float]) - x131 += einsum("ia,wxji->xwja", t1, x130) - del x130 - x132 += einsum("wxia->wxia", x131) - del x131 - x123 += einsum("wij->wij", gc.boo) - x124 = np.zeros((nbos, nbos, nocc, nvir), dtype=types[float]) - x124 += einsum("wia,xij->wxja", u11, x123) - del x123 - x132 += einsum("wxia->xwia", x124) - del x124 - x128 += einsum("wab->wab", gc.bvv) - x129 = np.zeros((nbos, nbos, nocc, nvir), dtype=types[float]) - x129 += einsum("wia,xba->wxib", u11, x128) - del x128 - x132 -= einsum("wxia->xwia", x129) - del x129 - u12new -= einsum("wxia->wxia", x132) - u12new -= einsum("wxia->xwia", x132) - del x132 - x134 += einsum("iabj->ijba", v.ovvo) * 2 - x134 -= einsum("ijab->ijab", v.oovv) - u12new += einsum("wxia,ijba->xwjb", u12, x134) - del x134 - x135 += einsum("ab->ab", f.vv) - u12new += einsum("ab,wxib->xwia", x135, u12) - del x135 - x136 += einsum("ijka->ikja", v.ooov) * 2 - x136 -= einsum("ijka->kija", v.ooov) - x137 += einsum("wxia,jika->xwjk", u12, x136) - del x136 - u12new -= einsum("ia,wxij->xwja", t1, x137) - del x137 - t1new += einsum("w,wai->ia", s1, g.bvo) - t1new += einsum("ai->ia", f.vo) - t1new += einsum("wab,wib->ia", g.bvv, u11) - t2new -= einsum("ijab,jack->kicb", t2, v.ovvo) - t2new -= einsum("ijab,jkca->kibc", t2, v.oovv) - t2new -= einsum("ijab,jkcb->ikac", t2, v.oovv) - t2new += einsum("ijab,jbck->ikac", t2, v.ovvo) * 2 - t2new += einsum("ijab,cadb->jidc", t2, v.vvvv) - t2new += einsum("aibj->jiba", v.vovo) - t2new -= einsum("ia,ijbk->kjba", t1, v.oovo) - s1new += einsum("wia,xwia->x", g.bov, u12) * 2 - s1new += einsum("w,wx->x", s1, w) - s1new += einsum("w->w", G) - s1new += einsum("ia,wia->w", t1, gc.bov) * 2 - u11new += einsum("wab,xwib->xia", g.bvv, u12) - u11new += einsum("wx,xai->wia", s2, g.bvo) - u11new += einsum("wai->wia", gc.bvo) - - return {"t1new": t1new, "t2new": t2new, "s1new": s1new, "s2new": s2new, "u11new": u11new, "u12new": u12new} - -def update_lams(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, s2=None, u11=None, u12=None, l1=None, l2=None, ls1=None, ls2=None, lu11=None, lu12=None, **kwargs): - # Get boson coupling creation array: - gc = Namespace( - boo=g.boo.transpose(0, 2, 1), - bov=g.bvo.transpose(0, 2, 1), - bvo=g.bov.transpose(0, 2, 1), - bvv=g.bvv.transpose(0, 2, 1), - ) - - # L1, L2, LS1, LS2, LU11 and LU12 amplitudes - x0 = np.zeros((nocc, nvir), dtype=types[float]) - x0 += einsum("w,wia->ia", s1, g.bov) - x1 = np.zeros((nocc, nvir), dtype=types[float]) - x1 += einsum("ia->ia", x0) - x52 = np.zeros((nocc, nvir), dtype=types[float]) - x52 += einsum("ia->ia", x0) * 0.5 - x64 = np.zeros((nocc, nvir), dtype=types[float]) - x64 += einsum("ia->ia", x0) - x112 = np.zeros((nocc, nvir), dtype=types[float]) - x112 += einsum("ia->ia", x0) - x163 = np.zeros((nocc, nvir), dtype=types[float]) - x163 += einsum("ia->ia", x0) - del x0 - x1 += einsum("ia->ia", f.ov) - x2 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x2 += einsum("ia,jkab->jkib", x1, t2) * 0.5 - del x1 - x20 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x20 += einsum("ijka->ikja", x2) - x20 += einsum("ijka->jkia", x2) * -2 - del x2 - x3 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x3 += einsum("ijab,kbca->jikc", t2, v.ovvv) - x11 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x11 += einsum("ijka->ijka", x3) * -1 - del x3 - x4 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x4 += einsum("ia,jbca->ijcb", t1, v.ovvv) - x5 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x5 += einsum("ia,jkba->ijkb", t1, x4) - x11 += einsum("ijka->ijka", x5) * -1 - del x5 - x37 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x37 += einsum("ijab->jiab", x4) - x178 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x178 += einsum("ijab->ijab", x4) - del x4 - x6 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x6 += einsum("ijab,kalb->ijkl", t2, v.ovov) - x9 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x9 += einsum("ijkl->jilk", x6) - x192 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x192 += einsum("ijkl->lkji", x6) - del x6 - x7 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x7 += einsum("ia,jbka->ijkb", t1, v.ovov) - x8 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x8 += einsum("ia,jkla->ijkl", t1, x7) - x9 += einsum("ijkl->ijkl", x8) - x10 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x10 += einsum("ia,jkil->jkla", t1, x9) - del x9 - x11 += einsum("ijka->jika", x10) - del x10 - x20 += einsum("ijka->jkia", x11) - x20 += einsum("ijka->ikja", x11) * -0.5 - del x11 - x192 += einsum("ijkl->lkji", x8) - del x8 - x15 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x15 += einsum("ijka->ikja", x7) * -0.5 - x15 += einsum("ijka->ijka", x7) - x16 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x16 += einsum("ijka->ikja", x7) * 2 - x16 += einsum("ijka->ijka", x7) * -1 - x24 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x24 += einsum("ijka->ikja", x7) * 2 - x24 -= einsum("ijka->ijka", x7) - x51 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x51 += einsum("ijka->jkia", x7) * -0.5 - x51 += einsum("ijka->kjia", x7) - x62 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x62 += einsum("ijka->jkia", x7) * -1 - x62 += einsum("ijka->kjia", x7) * 2 - x152 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x152 += einsum("ai,ijkb->jkab", l1, x7) - x170 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x170 += einsum("ijab->ijab", x152) - del x152 - x158 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x158 += einsum("ijka->ijka", x7) - x239 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x239 -= einsum("ijka->ikja", x7) - x239 += einsum("ijka->ijka", x7) * 2 - del x7 - x12 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x12 += einsum("iajb->jiab", v.ovov) - x12 += einsum("iajb->jiba", v.ovov) * -0.5 - x13 = np.zeros((nocc, nvir), dtype=types[float]) - x13 += einsum("ia,ijba->jb", t1, x12) - x14 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x14 += einsum("ia,jkab->jkib", x13, t2) - x20 += einsum("ijka->ikja", x14) - x20 += einsum("ijka->jkia", x14) * -2 - del x14 - x52 += einsum("ia->ia", x13) - del x13 - x54 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x54 += einsum("wia,ijba->wjb", u11, x12) - x63 = np.zeros((nocc, nvir), dtype=types[float]) - x63 += einsum("ia,ijba->jb", t1, x12) * 2 - x64 += einsum("ia->ia", x63) - del x63 - x124 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x124 += einsum("wia,ijba->wjb", u11, x12) * 2 - x125 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x125 += einsum("wia->wia", x124) - x194 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x194 += einsum("wia->wia", x124) - x199 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x199 += einsum("wia->wia", x124) - del x124 - x139 = np.zeros((nbos, nbos, nocc, nvir), dtype=types[float]) - x139 += einsum("wxia,ijba->wxjb", u12, x12) - del x12 - x140 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x140 += einsum("wxai,xwjb->jiba", lu12, x139) - del x139 - x145 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x145 += einsum("ijab->jiba", x140) - del x140 - x15 += einsum("ijka->jkia", v.ooov) - x15 += einsum("ijka->jika", v.ooov) * -0.5 - x20 += einsum("ijab,kila->kljb", t2, x15) - del x15 - x16 += einsum("ijka->jkia", v.ooov) * -1 - x16 += einsum("ijka->jika", v.ooov) * 2 - x20 += einsum("ijab,kilb->klja", t2, x16) * 0.5 - del x16 - x17 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x17 += einsum("ijab->ijab", v.oovv) * 2 - x17 += einsum("iabj->ijba", v.ovvo) * -1 - x20 += einsum("ia,jkba->ijkb", t1, x17) * -0.5 - del x17 - x18 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x18 += einsum("ia,jkla->ijlk", t1, v.ooov) - x19 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x19 += einsum("ijkl->jkil", x18) * -0.5 - x19 += einsum("ijkl->kjil", x18) - x27 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x27 -= einsum("ijkl->ikjl", x18) - x27 += einsum("ijkl->ijkl", x18) * 2 - x28 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x28 += einsum("ia,jikl->jkla", t1, x27) - del x27 - x154 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x154 += einsum("abij,jkli->klba", l2, x18) - del x18 - x170 -= einsum("ijab->ijab", x154) - del x154 - x19 += einsum("ijkl->kijl", v.oooo) * -0.5 - x19 += einsum("ijkl->kilj", v.oooo) - x20 += einsum("ia,ijkl->kjla", t1, x19) - del x19 - x20 += einsum("ijak->kija", v.oovo) * -1 - x20 += einsum("ijak->jika", v.oovo) * 0.5 - l1new = np.zeros((nvir, nocc), dtype=types[float]) - l1new += einsum("abij,ikja->bk", l2, x20) * 2 - del x20 - x21 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x21 += einsum("abij->jiab", l2) * -1 - x21 += einsum("abij->jiba", l2) * 2 - x22 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x22 += einsum("ijab,ikac->kjcb", t2, x21) * -1 - del x21 - x22 += einsum("wxai,wxjb->ijab", lu12, u12) * -0.5 - x22 += einsum("abij,kjbc->ikac", l2, t2) - x23 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x23 -= einsum("iabc->ibac", v.ovvv) - x23 += einsum("iabc->ibca", v.ovvv) * 2 - x123 = np.zeros((nbos, nvir, nvir), dtype=types[float]) - x123 += einsum("wia,ibca->wbc", u11, x23) - x129 = np.zeros((nvir, nvir), dtype=types[float]) - x129 += einsum("ia,ibca->bc", t1, x23) - x130 = np.zeros((nvir, nvir), dtype=types[float]) - x130 += einsum("ab->ab", x129) - x187 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x187 += einsum("ab,acij->ijbc", x129, l2) - del x129 - x191 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x191 += einsum("ijab->jiba", x187) - del x187 - l1new += einsum("ijab,jacb->ci", x22, x23) * -1 - del x22 - del x23 - x24 -= einsum("ijka->jkia", v.ooov) - x24 += einsum("ijka->jika", v.ooov) * 2 - x25 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x25 += einsum("ijab->jiab", t2) * 2 - x25 -= einsum("ijab->jiba", t2) - x28 -= einsum("ijka,klba->ijlb", x24, x25) - del x24 - x224 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x224 += einsum("wia,ijba->wjb", g.bov, x25) - x225 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x225 += einsum("wia->wia", x224) - del x224 - x237 = np.zeros((nbos, nbos, nocc, nvir), dtype=types[float]) - x237 += einsum("wxai,ijba->xwjb", lu12, x25) - del x25 - x26 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x26 += einsum("iabj->ijba", v.ovvo) * 2 - x26 -= einsum("ijab->ijab", v.oovv) - x28 -= einsum("ia,jkba->ijkb", t1, x26) - l1new += einsum("abij,ikjb->ak", l2, x28) - del x28 - l1new += einsum("ai,jiab->bj", l1, x26) - lu11new = np.zeros((nbos, nvir, nocc), dtype=types[float]) - lu11new += einsum("wai,jiab->wbj", lu11, x26) - del x26 - x29 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x29 += einsum("ia,bcda->ibdc", t1, v.vvvv) - x30 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x30 += einsum("iabc->iabc", x29) - x30 += einsum("iabc->ibac", x29) * -0.5 - del x29 - x30 += einsum("aibc->iabc", v.vovv) * -0.5 - x30 += einsum("aibc->ibac", v.vovv) - l1new += einsum("abij,ibac->cj", l2, x30) * 2 - del x30 - x31 = np.zeros((nbos, nbos, nocc, nocc), dtype=types[float]) - x31 += einsum("ia,wxaj->wxji", t1, lu12) - x34 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x34 += einsum("wxia,wxjk->jkia", u12, x31) * -0.25 - x86 = np.zeros((nocc, nvir), dtype=types[float]) - x86 += einsum("wxia,wxij->ja", u12, x31) - x99 = np.zeros((nocc, nvir), dtype=types[float]) - x99 += einsum("ia->ia", x86) * 0.5 - del x86 - x221 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x221 += einsum("wia,xwij->xja", u11, x31) - x222 = np.zeros((nbos, nbos), dtype=types[float]) - x222 += einsum("wia,xia->wx", g.bov, x221) - del x221 - x228 = np.zeros((nbos, nbos), dtype=types[float]) - x228 -= einsum("wx->wx", x222) * 2 - del x222 - lu12new = np.zeros((nbos, nbos, nvir, nocc), dtype=types[float]) - lu12new -= einsum("ijka,wxik->xwaj", x239, x31) - del x239 - x32 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x32 += einsum("ia,bajk->jkib", t1, l2) - x34 += einsum("ijab,kjlb->klia", t2, x32) * 0.5 - x36 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x36 -= einsum("ijka->ijka", x32) - x36 += einsum("ijka->jika", x32) * 2 - x38 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x38 += einsum("ijka->ijka", x32) * 2 - x38 -= einsum("ijka->jika", x32) - x43 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x43 += einsum("ijab,kjla->klib", t2, x32) - x45 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x45 += einsum("ijka->ijka", x43) * 2 - x50 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x50 += einsum("ijka->ijka", x43) - del x43 - x47 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x47 += einsum("ia,jkla->jkil", t1, x32) - x48 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x48 += einsum("ijkl->ijkl", x47) - x57 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x57 += einsum("ijkl->ijkl", x47) * 2 - x57 += einsum("ijkl->ijlk", x47) * -1 - l1new += einsum("ijka,ljki->al", v.ooov, x57) - del x57 - x193 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x193 += einsum("ijkl->ijkl", x47) - del x47 - x173 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x173 += einsum("iabc,jkib->kjac", v.ovvv, x32) - x191 -= einsum("ijab->ijab", x173) - del x173 - x33 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x33 += einsum("ijab->jiab", t2) * 2 - x33 += einsum("ijab->jiba", t2) * -1 - x34 += einsum("ijka,ilba->jklb", x32, x33) * -0.5 - x88 = np.zeros((nocc, nvir), dtype=types[float]) - x88 += einsum("ai,ijba->jb", l1, x33) - x99 += einsum("ia->ia", x88) * -1 - del x88 - x35 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x35 -= einsum("iajb->jiab", v.ovov) - x35 += einsum("iajb->jiba", v.ovov) * 2 - l1new += einsum("ijka,jkba->bi", x34, x35) * 2 - del x34 - del x35 - x37 += einsum("iabj->ijba", v.ovvo) - l1new -= einsum("ijka,kjab->bi", x36, x37) - del x36 - del x37 - x39 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x39 += einsum("ia,jabc->ijbc", t1, v.ovvv) - x40 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x40 += einsum("ijab->jiab", x39) - x156 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x156 += einsum("ijab->ijab", x39) - del x39 - x40 += einsum("ijab->ijab", v.oovv) - l1new -= einsum("ijka,kjab->bi", x38, x40) - del x40 - x41 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x41 += einsum("iabc->ibac", v.ovvv) * 2 - x41 -= einsum("iabc->ibca", v.ovvv) - x238 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x238 += einsum("ia,jbca->jibc", t1, x41) - x42 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x42 += einsum("abij,kjac->ikbc", l2, t2) - l1new -= einsum("iabc,jiac->bj", x41, x42) - del x41 - del x42 - x44 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x44 += einsum("ai,jkba->ijkb", l1, t2) - x45 += einsum("ijka->ikja", x44) - x45 += einsum("ijka->ijka", x44) * -2 - del x44 - l1new += einsum("iajb,kija->bk", v.ovov, x45) - del x45 - x46 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x46 += einsum("abij,klba->ijlk", l2, t2) - x48 += einsum("ijkl->jilk", x46) - x49 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x49 += einsum("ia,ijkl->jkla", t1, x48) - del x48 - x50 += einsum("ijka->ijka", x49) - x50 += einsum("ijka->ikja", x49) * -2 - del x49 - l1new += einsum("iajb,kijb->ak", v.ovov, x50) * -1 - del x50 - x56 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x56 += einsum("ijkl->jikl", x46) * 2 - x56 += einsum("ijkl->jilk", x46) * -1 - l1new += einsum("ijka,jlki->al", v.ooov, x56) - del x56 - x193 += einsum("ijkl->jilk", x46) - del x46 - l2new = np.zeros((nvir, nvir, nocc, nocc), dtype=types[float]) - l2new += einsum("iajb,klji->ablk", v.ovov, x193) - del x193 - x51 += einsum("ijka->ikja", v.ooov) - x51 += einsum("ijka->kija", v.ooov) * -0.5 - x55 = np.zeros((nbos, nbos, nocc, nocc), dtype=types[float]) - x55 += einsum("wxia,jika->xwjk", u12, x51) - del x51 - x52 += einsum("ia->ia", f.ov) * 0.5 - x55 += einsum("ia,wxja->xwij", x52, u12) - x74 = np.zeros((nocc, nocc), dtype=types[float]) - x74 += einsum("ia,ja->ji", t1, x52) * 2 - x75 = np.zeros((nocc, nocc), dtype=types[float]) - x75 += einsum("ij->ij", x74) - del x74 - x128 = np.zeros((nbos, nbos), dtype=types[float]) - x128 += einsum("ia,wxia->xw", x52, u12) * 2 - x200 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x200 += einsum("ia,wja->wij", x52, u11) * 2 - lu11new += einsum("w,ia->wai", ls1, x52) * 4 - del x52 - x53 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x53 += einsum("wx,xia->wia", s2, g.bov) - x54 += einsum("wia->wia", x53) * 0.5 - x194 += einsum("wia->wia", x53) - del x53 - x54 += einsum("wia->wia", gc.bov) * 0.5 - x55 += einsum("wia,xja->wxji", u11, x54) * 2 - del x54 - l1new += einsum("wxai,wxji->aj", lu12, x55) * -1 - del x55 - x58 = np.zeros((nocc, nvir), dtype=types[float]) - x58 += einsum("w,wai->ia", s1, g.bvo) - x82 = np.zeros((nocc, nvir), dtype=types[float]) - x82 += einsum("ia->ia", x58) - x213 = np.zeros((nocc, nvir), dtype=types[float]) - x213 += einsum("ia->ia", x58) * 0.5 - del x58 - x59 = np.zeros((nocc, nvir), dtype=types[float]) - x59 += einsum("wab,wib->ia", g.bvv, u11) - x82 += einsum("ia->ia", x59) - x213 += einsum("ia->ia", x59) * 0.5 - del x59 - x60 = np.zeros((nocc, nvir), dtype=types[float]) - x60 += einsum("ijab,jkib->ka", t2, v.ooov) - x82 += einsum("ia->ia", x60) - x213 += einsum("ia->ia", x60) * 0.5 - del x60 - x61 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x61 += einsum("ijab->jiab", t2) * -0.5 - x61 += einsum("ijab->jiba", t2) - x71 = np.zeros((nocc, nocc), dtype=types[float]) - x71 += einsum("iajb,ikab->kj", v.ovov, x61) * 2 - x75 += einsum("ij->ji", x71) - del x71 - x82 += einsum("iabc,ijac->jb", v.ovvv, x61) * 2 - x96 = np.zeros((nocc, nocc), dtype=types[float]) - x96 += einsum("abij,ikab->kj", l2, x61) * 2 - x97 = np.zeros((nocc, nocc), dtype=types[float]) - x97 += einsum("ij->ji", x96) - x148 = np.zeros((nocc, nocc), dtype=types[float]) - x148 += einsum("ij->ji", x96) - x215 = np.zeros((nocc, nocc), dtype=types[float]) - x215 += einsum("ij->ji", x96) - del x96 - x104 = np.zeros((nvir, nvir), dtype=types[float]) - x104 += einsum("abij,ijac->cb", l2, x61) * 2 - x105 = np.zeros((nvir, nvir), dtype=types[float]) - x105 += einsum("ab->ba", x104) - x146 = np.zeros((nvir, nvir), dtype=types[float]) - x146 += einsum("ab->ba", x104) - del x104 - x141 = np.zeros((nvir, nvir), dtype=types[float]) - x141 += einsum("iajb,ijcb->ca", v.ovov, x61) * 2 - x142 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x142 += einsum("ab,acij->ijbc", x141, l2) - del x141 - x145 += einsum("ijab->jiba", x142) * -1 - del x142 - x205 = np.zeros((nocc, nvir), dtype=types[float]) - x205 += einsum("iabc,ijac->jb", v.ovvv, x61) - x213 += einsum("ia->ia", x205) - del x205 - x214 = np.zeros((nvir, nvir), dtype=types[float]) - x214 += einsum("abij,ijac->bc", l2, x61) * 4 - del x61 - x62 += einsum("ijka->ikja", v.ooov) * 2 - x82 += einsum("ijab,ijkb->ka", t2, x62) * -1 - x206 = np.zeros((nocc, nvir), dtype=types[float]) - x206 += einsum("ijab,ijkb->ka", t2, x62) * 0.5 - del x62 - x213 += einsum("ia->ia", x206) * -1 - del x206 - x64 += einsum("ia->ia", f.ov) - lu12new += einsum("wx,ia->xwai", ls2, x64) * 2 - x65 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x65 += einsum("ijab->jiab", t2) - x65 += einsum("ijab->jiba", t2) * -0.5 - x82 += einsum("ia,ijba->jb", x64, x65) * 2 - x87 = np.zeros((nocc, nvir), dtype=types[float]) - x87 += einsum("ijka,ijba->kb", x32, x65) * 2 - x99 += einsum("ia->ia", x87) - del x87 - x143 = np.zeros((nocc, nocc), dtype=types[float]) - x143 += einsum("iajb,ikba->kj", v.ovov, x65) * 2 - x144 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x144 += einsum("ij,abik->jkab", x143, l2) - del x143 - x145 += einsum("ijab->jiba", x144) * -1 - del x144 - l2new += einsum("ijab->abij", x145) - l2new += einsum("ijab->baji", x145) - del x145 - x207 = np.zeros((nocc, nvir), dtype=types[float]) - x207 += einsum("ia,ijba->jb", x64, x65) - del x65 - x213 += einsum("ia->ia", x207) - del x207 - x66 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x66 += einsum("iabj->ijba", v.ovvo) - x66 += einsum("ijab->ijab", v.oovv) * -0.5 - x82 += einsum("ia,ijba->jb", t1, x66) * 2 - x208 = np.zeros((nocc, nvir), dtype=types[float]) - x208 += einsum("ia,ijba->jb", t1, x66) - del x66 - x213 += einsum("ia->ia", x208) - del x208 - x67 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x67 += einsum("ia,wja->wji", t1, g.bov) - x68 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x68 += einsum("wij->wij", x67) - x115 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x115 += einsum("wij->wij", x67) - x68 += einsum("wij->wij", g.boo) - x82 += einsum("wia,wij->ja", u11, x68) * -1 - x200 += einsum("wx,wij->xij", s2, x68) - x204 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x204 += einsum("wij,wxia->xja", x68, u12) - x209 = np.zeros((nocc, nvir), dtype=types[float]) - x209 += einsum("wia,wij->ja", u11, x68) * 0.5 - del x68 - x213 += einsum("ia->ia", x209) * -1 - del x209 - x69 = np.zeros((nocc, nocc), dtype=types[float]) - x69 += einsum("w,wij->ij", s1, g.boo) - x75 += einsum("ij->ij", x69) - x165 = np.zeros((nocc, nocc), dtype=types[float]) - x165 += einsum("ij->ij", x69) - del x69 - x70 = np.zeros((nocc, nocc), dtype=types[float]) - x70 += einsum("wia,wja->ij", g.bov, u11) - x75 += einsum("ij->ij", x70) - x165 += einsum("ij->ij", x70) - del x70 - x72 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x72 += einsum("ijka->ikja", v.ooov) - x72 += einsum("ijka->kija", v.ooov) * -0.5 - x73 = np.zeros((nocc, nocc), dtype=types[float]) - x73 += einsum("ia,jika->jk", t1, x72) * 2 - x75 += einsum("ij->ij", x73) - del x73 - x200 += einsum("wia,jika->wjk", u11, x72) * 2 - del x72 - x75 += einsum("ij->ij", f.oo) - x82 += einsum("ia,ij->ja", t1, x75) * -1 - x204 += einsum("ij,wia->wja", x75, u11) - x210 = np.zeros((nocc, nvir), dtype=types[float]) - x210 += einsum("ia,ij->ja", t1, x75) * 0.5 - x213 += einsum("ia->ia", x210) * -1 - del x210 - l1new += einsum("ai,ji->aj", l1, x75) * -1 - lu12new += einsum("ij,wxaj->xwai", x75, lu12) * -1 - del x75 - x76 = np.zeros((nvir, nvir), dtype=types[float]) - x76 += einsum("w,wab->ab", s1, g.bvv) - x79 = np.zeros((nvir, nvir), dtype=types[float]) - x79 += einsum("ab->ab", x76) - x130 += einsum("ab->ab", x76) - x161 = np.zeros((nvir, nvir), dtype=types[float]) - x161 += einsum("ab->ab", x76) - x198 = np.zeros((nvir, nvir), dtype=types[float]) - x198 += einsum("ab->ab", x76) - del x76 - x77 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x77 += einsum("iabc->ibac", v.ovvv) * -0.5 - x77 += einsum("iabc->ibca", v.ovvv) - x78 = np.zeros((nvir, nvir), dtype=types[float]) - x78 += einsum("ia,ibca->bc", t1, x77) * 2 - x79 += einsum("ab->ab", x78) - x198 += einsum("ab->ab", x78) - del x78 - x201 = np.zeros((nbos, nvir, nvir), dtype=types[float]) - x201 += einsum("wia,ibca->wbc", u11, x77) * 2 - del x77 - x79 += einsum("ab->ab", f.vv) - x82 += einsum("ia,ba->ib", t1, x79) - x211 = np.zeros((nocc, nvir), dtype=types[float]) - x211 += einsum("ia,ba->ib", t1, x79) * 0.5 - del x79 - x213 += einsum("ia->ia", x211) - del x211 - x80 = np.zeros((nbos), dtype=types[float]) - x80 += einsum("ia,wia->w", t1, g.bov) - x81 = np.zeros((nbos), dtype=types[float]) - x81 += einsum("w->w", x80) * 2 - x135 = np.zeros((nbos), dtype=types[float]) - x135 += einsum("w->w", x80) * 2 - del x80 - x81 += einsum("w->w", G) - x82 += einsum("w,wia->ia", x81, u11) - x204 += einsum("w,wxia->xia", x81, u12) * -1 - x212 = np.zeros((nocc, nvir), dtype=types[float]) - x212 += einsum("w,wia->ia", x81, u11) * 0.5 - del x81 - x213 += einsum("ia->ia", x212) - del x212 - x82 += einsum("ai->ia", f.vo) - x83 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x83 += einsum("abij->jiab", l2) * 2 - x83 += einsum("abij->jiba", l2) * -1 - l1new += einsum("ia,ijba->bj", x82, x83) - del x82 - del x83 - x84 = np.zeros((nocc, nvir), dtype=types[float]) - x84 += einsum("w,wia->ia", ls1, u11) - x99 += einsum("ia->ia", x84) * -1 - del x84 - x85 = np.zeros((nocc, nvir), dtype=types[float]) - x85 += einsum("wx,wxia->ia", ls2, u12) - x99 += einsum("ia->ia", x85) * -0.5 - del x85 - x89 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x89 += einsum("ia,waj->wji", t1, lu11) - x91 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x91 += einsum("wij->wij", x89) - x119 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x119 += einsum("wij->wij", x89) - x90 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x90 += einsum("wia,wxaj->xji", u11, lu12) - x91 += einsum("wij->wij", x90) - x92 = np.zeros((nocc, nvir), dtype=types[float]) - x92 += einsum("wia,wij->ja", u11, x91) - del x91 - x99 += einsum("ia->ia", x92) - del x92 - x119 += einsum("wij->wij", x90) - x120 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x120 += einsum("wx,wij->xij", s2, x119) - x235 = np.zeros((nbos, nbos, nocc, nvir), dtype=types[float]) - x235 += einsum("wia,xji->xwja", g.bov, x119) - x236 = np.zeros((nbos, nbos, nocc, nvir), dtype=types[float]) - x236 += einsum("wxia->xwia", x235) - del x235 - x218 = np.zeros((nbos, nbos), dtype=types[float]) - x218 += einsum("wij,xji->wx", g.boo, x90) - x228 -= einsum("wx->wx", x218) * 2 - del x218 - x223 = np.zeros((nbos, nbos), dtype=types[float]) - x223 += einsum("wij,xji->wx", x67, x90) - del x90 - del x67 - x228 -= einsum("wx->wx", x223) * 2 - del x223 - x93 = np.zeros((nocc, nocc), dtype=types[float]) - x93 += einsum("ai,ja->ij", l1, t1) - x97 += einsum("ij->ij", x93) - x167 = np.zeros((nocc, nocc), dtype=types[float]) - x167 += einsum("ij->ij", x93) - ls1new = np.zeros((nbos), dtype=types[float]) - ls1new -= einsum("ij,wji->w", x93, g.boo) * 2 - del x93 - x94 = np.zeros((nocc, nocc), dtype=types[float]) - x94 += einsum("wai,wja->ij", lu11, u11) - x97 += einsum("ij->ij", x94) - x167 += einsum("ij->ij", x94) - x168 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x168 += einsum("ij,jakb->ikab", x167, v.ovov) - del x167 - x170 += einsum("ijab->ijba", x168) - del x168 - x215 += einsum("ij->ij", x94) - del x94 - x95 = np.zeros((nocc, nocc), dtype=types[float]) - x95 += einsum("wxai,wxja->ij", lu12, u12) - x97 += einsum("ij->ij", x95) * 0.5 - x98 = np.zeros((nocc, nvir), dtype=types[float]) - x98 += einsum("ia,ij->ja", t1, x97) - x99 += einsum("ia->ia", x98) - del x98 - l1new += einsum("ia,ji->aj", x64, x97) * -1 - del x64 - x148 += einsum("ij->ij", x95) * 0.5 - x149 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x149 += einsum("ij,jakb->ikab", x148, v.ovov) - del x148 - x150 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x150 += einsum("ijab->ijba", x149) - del x149 - x215 += einsum("ij->ij", x95) * 0.5 - del x95 - ls1new += einsum("ij,wji->w", x215, g.boo) * -2 - del x215 - x99 += einsum("ia->ia", t1) * -1 - ls1new += einsum("ia,wia->w", x99, g.bov) * -2 - x100 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x100 += einsum("iajb->jiab", v.ovov) * 2 - x100 += einsum("iajb->jiba", v.ovov) * -1 - l1new += einsum("ia,ijba->bj", x99, x100) * -1 - del x99 - del x100 - x101 = np.zeros((nvir, nvir), dtype=types[float]) - x101 += einsum("ai,ib->ab", l1, t1) - x105 += einsum("ab->ab", x101) - ls1new += einsum("ab,wab->w", x101, g.bvv) * 2 - del x101 - x102 = np.zeros((nvir, nvir), dtype=types[float]) - x102 += einsum("wai,wib->ab", lu11, u11) - x105 += einsum("ab->ab", x102) - x153 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x153 += einsum("ab,icjb->ijac", x102, v.ovov) - x170 += einsum("ijab->ijab", x153) - del x153 - x214 += einsum("ab->ab", x102) * 2 - del x102 - x103 = np.zeros((nvir, nvir), dtype=types[float]) - x103 += einsum("wxai,wxib->ab", lu12, u12) - x105 += einsum("ab->ab", x103) * 0.5 - x146 += einsum("ab->ab", x103) * 0.5 - x147 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x147 += einsum("ab,ibjc->ijac", x146, v.ovov) - del x146 - x150 += einsum("ijab->jiab", x147) - del x147 - l2new += einsum("ijab->baij", x150) * -1 - l2new += einsum("ijab->abji", x150) * -1 - del x150 - x214 += einsum("ab->ab", x103) - del x103 - ls1new += einsum("ab,wab->w", x214, g.bvv) - del x214 - x106 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x106 += einsum("iabc->ibac", v.ovvv) * -1 - x106 += einsum("iabc->ibca", v.ovvv) * 2 - l1new += einsum("ab,iabc->ci", x105, x106) - del x105 - del x106 - x107 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x107 -= einsum("ijka->ikja", v.ooov) - x107 += einsum("ijka->kija", v.ooov) * 2 - l1new += einsum("ij,kjia->ak", x97, x107) * -1 - del x97 - del x107 - x108 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x108 += einsum("wia,wxja->xij", g.bov, u12) - x116 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x116 += einsum("wij->wij", x108) - x200 += einsum("wij->wij", x108) - del x108 - x109 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x109 += einsum("ijka->ikja", v.ooov) * 2 - x109 -= einsum("ijka->kija", v.ooov) - x116 += einsum("wia,jika->wjk", u11, x109) - x183 = np.zeros((nocc, nocc), dtype=types[float]) - x183 += einsum("ia,jika->jk", t1, x109) - x185 = np.zeros((nocc, nocc), dtype=types[float]) - x185 += einsum("ij->ij", x183) - del x183 - lu12new -= einsum("ijka,wxki->xwaj", x109, x31) - del x109 - x110 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x110 += einsum("iajb->jiab", v.ovov) * 2 - x110 -= einsum("iajb->jiba", v.ovov) - x111 = np.zeros((nocc, nvir), dtype=types[float]) - x111 += einsum("ia,ijba->jb", t1, x110) - x112 += einsum("ia->ia", x111) - x184 = np.zeros((nocc, nocc), dtype=types[float]) - x184 += einsum("ia,ja->ji", t1, x111) - x185 += einsum("ij->ij", x184) - del x184 - x186 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x186 += einsum("ij,abjk->ikab", x185, l2) - del x185 - x191 -= einsum("ijab->jiba", x186) - del x186 - x189 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x189 += einsum("ia,jkib->jkab", x111, x32) - x191 -= einsum("ijab->ijba", x189) - del x189 - x191 += einsum("ai,jb->ijab", l1, x111) - del x111 - x113 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x113 += einsum("wia,ijba->wjb", u11, x110) - x114 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x114 += einsum("wia->wia", x113) - x190 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x190 += einsum("wai,wjb->jiba", lu11, x113) - del x113 - x191 += einsum("ijab->jiba", x190) - del x190 - lu12new += einsum("ijab,wxib->xwaj", x110, x237) - del x237 - del x110 - x112 += einsum("ia->ia", f.ov) - x116 += einsum("ia,wja->wij", x112, u11) - x134 = np.zeros((nbos), dtype=types[float]) - x134 += einsum("ia,wia->w", x112, u11) - x137 = np.zeros((nbos), dtype=types[float]) - x137 += einsum("w->w", x134) * 2 - del x134 - lu12new -= einsum("ia,wxji->xwaj", x112, x31) - del x112 - del x31 - x114 += einsum("wia->wia", gc.bov) - x116 += einsum("ia,wja->wji", t1, x114) - l1new -= einsum("wia,wji->aj", x114, x119) - del x114 - del x119 - x115 += einsum("wij->wij", g.boo) - x116 += einsum("wx,wij->xij", s2, x115) - x227 = np.zeros((nbos, nbos), dtype=types[float]) - x227 += einsum("wij,xji->wx", x115, x89) - del x89 - x228 -= einsum("wx->wx", x227) * 2 - del x227 - x234 = np.zeros((nbos, nbos, nocc, nvir), dtype=types[float]) - x234 += einsum("wai,xji->xwja", lu11, x115) - x236 += einsum("wxia->wxia", x234) - del x234 - x116 += einsum("wij->wij", gc.boo) - l1new -= einsum("wai,wji->aj", lu11, x116) - del x116 - x117 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x117 += einsum("abij->jiab", l2) * 2 - x117 -= einsum("abij->jiba", l2) - x118 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x118 += einsum("wia,ijba->wjb", u11, x117) - x120 += einsum("ia,wja->wji", t1, x118) - x122 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x122 += einsum("wia->wia", x118) - l1new -= einsum("wij,wja->ai", x115, x118) - del x115 - del x118 - lu11new += einsum("wai,ijba->wbj", g.bvo, x117) - del x117 - x120 += einsum("ai,wja->wij", l1, u11) - x120 += einsum("wai,wxja->xij", lu11, u12) - l1new -= einsum("wia,wji->aj", g.bov, x120) - del x120 - x121 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x121 += einsum("wx,wai->xia", s2, lu11) - x122 += einsum("wia->wia", x121) - del x121 - x188 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x188 += einsum("wia,wjb->jiba", g.bov, x122) - x191 += einsum("ijab->jiba", x188) - del x188 - l1new += einsum("wab,wia->bi", g.bvv, x122) - del x122 - x123 += einsum("wab->wab", gc.bvv) - l1new += einsum("wai,wab->bi", lu11, x123) - del x123 - x125 += einsum("wia->wia", gc.bov) * 2 - x128 += einsum("wia,xia->xw", u11, x125) - del x125 - x126 = np.zeros((nbos, nbos), dtype=types[float]) - x126 += einsum("wia,xia->wx", g.bov, u11) - x127 = np.zeros((nbos, nbos), dtype=types[float]) - x127 += einsum("wx->wx", x126) * 2 - x217 = np.zeros((nbos, nbos), dtype=types[float]) - x217 += einsum("wx,yx->yw", ls2, x126) - x228 += einsum("wx->wx", x217) * 2 - del x217 - x233 = np.zeros((nbos, nbos, nocc, nvir), dtype=types[float]) - x233 += einsum("wx,xyai->wyia", x126, lu12) - del x126 - x236 -= einsum("wxia->wxia", x233) * 2 - del x233 - x127 += einsum("wx->wx", w) - x128 += einsum("wx,wy->xy", s2, x127) - l1new += einsum("wx,xwai->ai", x128, lu12) - del x128 - x204 += einsum("wx,wia->xia", x127, u11) * -1 - del x127 - x130 += einsum("ab->ab", f.vv) - l1new += einsum("ai,ab->bi", l1, x130) - del x130 - x131 = np.zeros((nbos), dtype=types[float]) - x131 += einsum("w,wx->x", s1, w) - x137 += einsum("w->w", x131) - del x131 - x132 = np.zeros((nbos), dtype=types[float]) - x132 += einsum("ia,wia->w", t1, gc.bov) - x137 += einsum("w->w", x132) * 2 - del x132 - x133 = np.zeros((nbos), dtype=types[float]) - x133 += einsum("wia,wxia->x", g.bov, u12) - x137 += einsum("w->w", x133) * 2 - del x133 - x135 += einsum("w->w", G) - x136 = np.zeros((nbos), dtype=types[float]) - x136 += einsum("w,wx->x", x135, s2) - x137 += einsum("w->w", x136) - del x136 - x228 += einsum("w,x->xw", ls1, x135) - del x135 - x137 += einsum("w->w", G) - l1new += einsum("w,wai->ai", x137, lu11) - ls1new += einsum("w,wx->x", x137, ls2) - del x137 - x138 = np.zeros((nbos), dtype=types[float]) - x138 += einsum("w->w", s1) - x138 += einsum("w,xw->x", ls1, s2) - x138 += einsum("ai,wia->w", l1, u11) * 2 - x138 += einsum("wai,wxia->x", lu11, u12) * 2 - l1new += einsum("w,wia->ai", x138, g.bov) - del x138 - x151 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x151 += einsum("ai,jbac->ijbc", l1, v.ovvv) - x170 -= einsum("ijab->ijab", x151) - del x151 - x155 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x155 += einsum("ijab,kbic->jkac", t2, v.ovov) - x156 -= einsum("ijab->ijab", x155) - del x155 - x156 += einsum("ijab->jiab", v.oovv) - x157 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x157 += einsum("abij,ikbc->kjca", l2, x156) - x170 += einsum("ijab->jiba", x157) - del x157 - x180 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x180 += einsum("abij,ikac->kjcb", l2, x156) - del x156 - x191 -= einsum("ijab->jiba", x180) - del x180 - x158 += einsum("ijka->jkia", v.ooov) - x159 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x159 += einsum("ijka,iljb->klab", x158, x32) - x170 -= einsum("ijab->jiba", x159) - del x159 - x181 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x181 += einsum("ijka,likb->ljba", x158, x38) - del x38 - x191 -= einsum("ijab->ijab", x181) - del x181 - x182 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x182 += einsum("ijka,lijb->klab", x158, x32) - del x158 - x191 += einsum("ijab->jiba", x182) - del x182 - x160 = np.zeros((nvir, nvir), dtype=types[float]) - x160 += einsum("wia,wib->ab", g.bov, u11) - x161 -= einsum("ab->ba", x160) - x198 += einsum("ab->ba", x160) * -1 - del x160 - x161 += einsum("ab->ab", f.vv) - x162 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x162 += einsum("ab,acij->ijbc", x161, l2) - del x161 - x170 -= einsum("ijab->jiab", x162) - del x162 - x163 += einsum("ia->ia", f.ov) - x164 = np.zeros((nocc, nocc), dtype=types[float]) - x164 += einsum("ia,ja->ji", t1, x163) - x165 += einsum("ij->ij", x164) - del x164 - x169 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x169 += einsum("ia,jkib->jkab", x163, x32) - del x32 - x170 += einsum("ijab->ijab", x169) - del x169 - x191 += einsum("ai,jb->jiba", l1, x163) - del x163 - x165 += einsum("ij->ij", f.oo) - x166 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x166 += einsum("ij,abjk->ikab", x165, l2) - del x165 - x170 += einsum("ijab->ijba", x166) - del x166 - l2new -= einsum("ijab->baij", x170) - l2new -= einsum("ijab->abji", x170) - del x170 - x171 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x171 += einsum("wia,wbj->ijab", gc.bov, lu11) - x191 += einsum("ijab->ijab", x171) - del x171 - x172 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x172 += einsum("ai,jikb->jkab", l1, v.ooov) - x191 -= einsum("ijab->ijab", x172) - del x172 - x174 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x174 -= einsum("abij->jiab", l2) - x174 += einsum("abij->jiba", l2) * 2 - x175 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x175 += einsum("ijab,kaic->jkbc", t2, v.ovov) - x178 -= einsum("ijab->ijab", x175) - del x175 - x176 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x176 -= einsum("ijab->jiab", t2) - x176 += einsum("ijab->jiba", t2) * 2 - x177 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x177 += einsum("iajb,ikac->kjcb", v.ovov, x176) - del x176 - x178 += einsum("ijab->ijab", x177) - del x177 - x178 += einsum("iabj->jiba", v.ovvo) - x179 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x179 += einsum("ijab,ikac->jkbc", x174, x178) - del x178 - del x174 - x191 += einsum("ijab->ijab", x179) - del x179 - l2new += einsum("ijab->abij", x191) - l2new += einsum("ijab->baji", x191) - del x191 - x192 += einsum("ijkl->kilj", v.oooo) - l2new += einsum("abij,klij->balk", l2, x192) - del x192 - x194 += einsum("wia->wia", gc.bov) - x204 += einsum("wia,ijba->wjb", x194, x33) * -1 - del x33 - del x194 - x195 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x195 += einsum("iabj->ijba", v.ovvo) * 2 - x195 += einsum("ijab->ijab", v.oovv) * -1 - x204 += einsum("wia,ijba->wjb", u11, x195) * -1 - del x195 - x196 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x196 += einsum("ijab->jiab", t2) * -1 - x196 += einsum("ijab->jiba", t2) * 2 - x197 = np.zeros((nvir, nvir), dtype=types[float]) - x197 += einsum("iajb,ijcb->ca", v.ovov, x196) - del x196 - x198 += einsum("ab->ab", x197) * -1 - del x197 - x198 += einsum("ab->ab", f.vv) - x204 += einsum("ab,wib->wia", x198, u11) * -1 - lu12new += einsum("ab,wxai->xwbi", x198, lu12) - del x198 - x199 += einsum("wia->wia", gc.bov) - x200 += einsum("ia,wja->wji", t1, x199) - del x199 - x200 += einsum("wij->wij", gc.boo) - x204 += einsum("ia,wij->wja", t1, x200) - del x200 - x201 += einsum("wab->wab", gc.bvv) - x204 += einsum("ia,wba->wib", t1, x201) * -1 - del x201 - x202 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x202 += einsum("ia,wba->wib", t1, g.bvv) - x203 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x203 += einsum("wia->wia", x202) - x225 += einsum("wia->wia", x202) - del x202 - x203 += einsum("wai->wia", g.bvo) - x204 += einsum("wx,wia->xia", s2, x203) * -1 - del x203 - x204 += einsum("wai->wia", gc.bvo) * -1 - x204 += einsum("wab,wxib->xia", g.bvv, u12) * -1 - ls1new += einsum("wia,wxai->x", x204, lu12) * -2 - del x204 - x213 += einsum("ai->ia", f.vo) * 0.5 - ls1new += einsum("ia,wai->w", x213, lu11) * 4 - ls2new = np.zeros((nbos, nbos), dtype=types[float]) - ls2new += einsum("ia,wxai->xw", x213, lu12) * 4 - del x213 - x216 = np.zeros((nbos, nbos), dtype=types[float]) - x216 += einsum("wx,yx->wy", ls2, w) - x228 += einsum("wx->wx", x216) - del x216 - x219 = np.zeros((nbos, nvir, nvir), dtype=types[float]) - x219 += einsum("wia,wxbi->xba", u11, lu12) - x220 = np.zeros((nbos, nbos), dtype=types[float]) - x220 += einsum("wab,xab->wx", g.bvv, x219) - x228 += einsum("wx->wx", x220) * 2 - del x220 - x232 = np.zeros((nbos, nbos, nocc, nvir), dtype=types[float]) - x232 += einsum("wia,xba->wxib", g.bov, x219) - del x219 - x236 += einsum("wxia->wxia", x232) - del x232 - x225 += einsum("wai->wia", g.bvo) - x226 = np.zeros((nbos, nbos), dtype=types[float]) - x226 += einsum("wai,xia->xw", lu11, x225) - del x225 - x228 += einsum("wx->wx", x226) * 2 - del x226 - ls2new += einsum("wx->wx", x228) - ls2new += einsum("wx->xw", x228) - del x228 - x229 = np.zeros((nbos, nbos, nbos), dtype=types[float]) - x229 += einsum("wia,xyai->xyw", u11, lu12) - lu12new += einsum("wia,xyw->yxai", g.bov, x229) * 2 - del x229 - x230 = np.zeros((nbos, nbos, nocc, nvir), dtype=types[float]) - x230 += einsum("wx,xyai->ywia", w, lu12) - x236 -= einsum("wxia->wxia", x230) - del x230 - x231 = np.zeros((nbos, nbos, nocc, nvir), dtype=types[float]) - x231 += einsum("wab,xai->wxib", g.bvv, lu11) - x236 -= einsum("wxia->wxia", x231) - del x231 - lu12new -= einsum("wxia->wxai", x236) - lu12new -= einsum("wxia->xwai", x236) - del x236 - x238 += einsum("iabj->ijba", v.ovvo) * 2 - x238 -= einsum("ijab->ijab", v.oovv) - lu12new += einsum("wxai,jiab->xwbj", lu12, x238) - del x238 - l1new += einsum("ia->ai", f.ov) - l1new += einsum("w,wia->ai", ls1, gc.bov) - l2new += einsum("abij,acbd->dcji", l2, v.vvvv) - l2new += einsum("iajb->baji", v.ovov) - ls1new += einsum("w->w", G) - ls1new += einsum("w,xw->x", ls1, w) - ls1new += einsum("ai,wai->w", l1, g.bvo) * 2 - lu11new -= einsum("ij,waj->wai", f.oo, lu11) - lu11new -= einsum("ai,wji->waj", l1, g.boo) - lu11new -= einsum("wij,xwaj->xai", gc.boo, lu12) - lu11new += einsum("wab,xwai->xbi", gc.bvv, lu12) - lu11new += einsum("ab,wai->wbi", f.vv, lu11) - lu11new += einsum("ai,wab->wbi", l1, g.bvv) - lu11new += einsum("wia->wai", g.bov) - lu11new += einsum("w,xwai->xai", G, lu12) - lu11new += einsum("wx,xia->wai", ls2, gc.bov) - lu11new += einsum("wx,xai->wai", w, lu11) - - return {"l1new": l1new, "l2new": l2new, "ls1new": ls1new, "ls2new": ls2new, "lu11new": lu11new, "lu12new": lu12new} - -def make_rdm1_f(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, s2=None, u11=None, u12=None, l1=None, l2=None, ls1=None, ls2=None, lu11=None, lu12=None, **kwargs): - # Get boson coupling creation array: - gc = Namespace( - boo=g.boo.transpose(0, 2, 1), - bov=g.bvo.transpose(0, 2, 1), - bvo=g.bov.transpose(0, 2, 1), - bvv=g.bvv.transpose(0, 2, 1), - ) - - delta_oo = np.eye(nocc) - delta_vv = np.eye(nvir) - - # 1RDM - x0 = np.zeros((nocc, nocc), dtype=types[float]) - x0 += einsum("wxai,wxja->ij", lu12, u12) - x10 = np.zeros((nocc, nocc), dtype=types[float]) - x10 += einsum("ij->ij", x0) * 0.5 - rdm1_f_oo = np.zeros((nocc, nocc), dtype=types[float]) - rdm1_f_oo += einsum("ij->ij", x0) * -1 - del x0 - x1 = np.zeros((nocc, nocc), dtype=types[float]) - x1 += einsum("wai,wja->ij", lu11, u11) - x10 += einsum("ij->ij", x1) - rdm1_f_oo -= einsum("ij->ij", x1) * 2 - del x1 - x2 = np.zeros((nocc, nocc), dtype=types[float]) - x2 += einsum("ai,ja->ij", l1, t1) - x10 += einsum("ij->ij", x2) - rdm1_f_oo -= einsum("ij->ij", x2) * 2 - del x2 - x3 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x3 += einsum("ijab->jiab", t2) * -1 - x3 += einsum("ijab->jiba", t2) * 2 - rdm1_f_oo += einsum("abij,ikab->jk", l2, x3) * -2 - del x3 - x4 = np.zeros((nbos, nbos, nocc, nocc), dtype=types[float]) - x4 += einsum("ia,wxaj->wxji", t1, lu12) - rdm1_f_vo = np.zeros((nvir, nocc), dtype=types[float]) - rdm1_f_vo += einsum("wxia,wxij->aj", u12, x4) * -1 - del x4 - x5 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x5 += einsum("ia,bajk->jkib", t1, l2) - x6 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x6 += einsum("ijka->ijka", x5) * 2 - x6 += einsum("ijka->jika", x5) * -1 - del x5 - rdm1_f_vo += einsum("ijab,jikb->ak", t2, x6) * -2 - del x6 - x7 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x7 -= einsum("ijab->jiab", t2) - x7 += einsum("ijab->jiba", t2) * 2 - rdm1_f_vo += einsum("ai,ijab->bj", l1, x7) * 2 - del x7 - x8 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x8 += einsum("ia,waj->wji", t1, lu11) - x8 += einsum("wia,wxaj->xji", u11, lu12) - rdm1_f_vo -= einsum("wia,wij->aj", u11, x8) * 2 - del x8 - x9 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x9 += einsum("ijab->jiab", t2) - x9 += einsum("ijab->jiba", t2) * -0.5 - x10 += einsum("abij,ikba->jk", l2, x9) * 2 - del x9 - rdm1_f_vo += einsum("ia,ij->aj", t1, x10) * -2 - del x10 - x11 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x11 += einsum("abij->jiab", l2) - x11 += einsum("abij->jiba", l2) * -0.5 - rdm1_f_vv = np.zeros((nvir, nvir), dtype=types[float]) - rdm1_f_vv += einsum("ijab,ijbc->ac", t2, x11) * 4 - del x11 - rdm1_f_oo += einsum("ij->ji", delta_oo) * 2 - rdm1_f_ov = np.zeros((nocc, nvir), dtype=types[float]) - rdm1_f_ov += einsum("ai->ia", l1) * 2 - rdm1_f_vo += einsum("wx,wxia->ai", ls2, u12) - rdm1_f_vo += einsum("w,wia->ai", ls1, u11) * 2 - rdm1_f_vo += einsum("ia->ai", t1) * 2 - rdm1_f_vv += einsum("wxai,wxib->ba", lu12, u12) - rdm1_f_vv += einsum("wai,wib->ba", lu11, u11) * 2 - rdm1_f_vv += einsum("ai,ib->ba", l1, t1) * 2 - - rdm1_f = np.block([[rdm1_f_oo, rdm1_f_ov], [rdm1_f_vo, rdm1_f_vv]]) - - return rdm1_f - -def make_rdm2_f(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, s2=None, u11=None, u12=None, l1=None, l2=None, ls1=None, ls2=None, lu11=None, lu12=None, **kwargs): - # Get boson coupling creation array: - gc = Namespace( - boo=g.boo.transpose(0, 2, 1), - bov=g.bvo.transpose(0, 2, 1), - bvo=g.bov.transpose(0, 2, 1), - bvv=g.bvv.transpose(0, 2, 1), - ) - - delta_oo = np.eye(nocc) - delta_vv = np.eye(nvir) - - # 2RDM - x0 = np.zeros((nocc, nocc), dtype=types[float]) - x0 += einsum("wai,wja->ij", lu11, u11) - x13 = np.zeros((nocc, nocc), dtype=types[float]) - x13 += einsum("ij->ij", x0) - x32 = np.zeros((nocc, nvir), dtype=types[float]) - x32 += einsum("ia,ij->ja", t1, x0) - x37 = np.zeros((nocc, nvir), dtype=types[float]) - x37 += einsum("ia->ia", x32) - del x32 - x65 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x65 += einsum("ij,kiab->kjab", x0, t2) - x76 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x76 += einsum("ijab->ijab", x65) - del x65 - x111 = np.zeros((nocc, nocc), dtype=types[float]) - x111 += einsum("ij->ij", x0) - rdm2_f_oooo = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - rdm2_f_oooo -= einsum("ij,kl->ijkl", delta_oo, x0) * 4 - rdm2_f_oooo += einsum("ij,kl->ilkj", delta_oo, x0) * 2 - rdm2_f_oooo += einsum("ij,kl->kijl", delta_oo, x0) * 2 - rdm2_f_oooo -= einsum("ij,kl->klji", delta_oo, x0) * 4 - del x0 - x1 = np.zeros((nocc, nocc), dtype=types[float]) - x1 += einsum("ai,ja->ij", l1, t1) - x13 += einsum("ij->ij", x1) - x14 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x14 += einsum("ia,jk->jika", t1, x13) - del x13 - x41 = np.zeros((nocc, nvir), dtype=types[float]) - x41 += einsum("ia,ij->ja", t1, x1) - x42 = np.zeros((nocc, nvir), dtype=types[float]) - x42 += einsum("ia->ia", x41) * -1 - del x41 - x79 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x79 += einsum("ij,kiab->jkab", x1, t2) - x86 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x86 += einsum("ijab->ijab", x79) - del x79 - x111 += einsum("ij->ij", x1) - x112 = np.zeros((nocc, nvir), dtype=types[float]) - x112 += einsum("ia,ij->ja", t1, x111) - del x111 - x113 = np.zeros((nocc, nvir), dtype=types[float]) - x113 += einsum("ia->ia", x112) - x114 = np.zeros((nocc, nvir), dtype=types[float]) - x114 += einsum("ia->ia", x112) - del x112 - rdm2_f_oooo -= einsum("ij,kl->jikl", delta_oo, x1) * 4 - rdm2_f_oooo += einsum("ij,kl->kijl", delta_oo, x1) * 2 - rdm2_f_oooo += einsum("ij,kl->jlki", delta_oo, x1) * 2 - rdm2_f_oooo -= einsum("ij,kl->klji", delta_oo, x1) * 4 - del x1 - x2 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x2 += einsum("abij,klba->ijlk", l2, t2) - x19 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x19 += einsum("ia,jikl->jkla", t1, x2) - x25 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x25 += einsum("ijka->ijka", x19) * -4 - x43 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x43 += einsum("ijka->ijka", x19) * 2 - x106 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x106 += einsum("ia,ijkb->kjba", t1, x19) - del x19 - x109 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x109 += einsum("ijab->ijab", x106) * 2.0000000000000013 - del x106 - x107 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x107 += einsum("ijkl->jilk", x2) - rdm2_f_oooo += einsum("ijkl->jkil", x2) * -2 - rdm2_f_oooo += einsum("ijkl->jlik", x2) * 4 - del x2 - x3 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x3 += einsum("ia,bajk->jkib", t1, l2) - x4 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x4 += einsum("ia,jkla->kjli", t1, x3) - x29 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x29 += einsum("ia,ijkl->jlka", t1, x4) - x38 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x38 -= einsum("ijka->ijka", x29) - x47 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x47 += einsum("ijka->ijka", x29) - x89 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x89 += einsum("ia,ijkb->jkab", t1, x29) - del x29 - x91 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x91 += einsum("ijab->ijab", x89) - del x89 - x107 += einsum("ijkl->ijkl", x4) - x108 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x108 += einsum("ijab,ijkl->klab", t2, x107) * 2 - del x107 - x109 += einsum("ijab->ijab", x108) - del x108 - rdm2_f_vovo = np.zeros((nvir, nocc, nvir, nocc), dtype=types[float]) - rdm2_f_vovo += einsum("ijab->ajbi", x109) * -1 - rdm2_f_vovo += einsum("ijab->bjai", x109) * 2 - del x109 - rdm2_f_oooo += einsum("ijkl->ikjl", x4) * 4 - rdm2_f_oooo -= einsum("ijkl->iljk", x4) * 2 - del x4 - x12 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x12 += einsum("ijab,kjla->klib", t2, x3) - x14 -= einsum("ijka->ijka", x12) - x84 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x84 -= einsum("ijka->ijka", x12) - del x12 - x21 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x21 += einsum("ijka->ijka", x3) - x21 += einsum("ijka->jika", x3) * -0.5 - x22 = np.zeros((nocc, nvir), dtype=types[float]) - x22 += einsum("ijab,ijka->kb", t2, x21) * 4 - x24 = np.zeros((nocc, nvir), dtype=types[float]) - x24 += einsum("ia->ia", x22) - del x22 - x99 = np.zeros((nocc, nvir), dtype=types[float]) - x99 += einsum("ijab,ijka->kb", t2, x21) * 4.000000000000003 - del x21 - x102 = np.zeros((nocc, nvir), dtype=types[float]) - x102 += einsum("ia->ia", x99) - del x99 - x28 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x28 += einsum("ijab,jkla->klib", t2, x3) - x38 -= einsum("ijka->ijka", x28) - del x28 - x30 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x30 -= einsum("ijka->ijka", x3) - x30 += einsum("ijka->jika", x3) * 2 - x31 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x31 += einsum("ijab,kila->kljb", t2, x30) - x38 += einsum("ijka->ijka", x31) - del x31 - x61 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x61 += einsum("ia,ijkb->jkab", t1, x30) - del x30 - rdm2_f_ovvo = np.zeros((nocc, nvir, nvir, nocc), dtype=types[float]) - rdm2_f_ovvo -= einsum("ijab->ibaj", x61) * 2 - rdm2_f_voov = np.zeros((nvir, nocc, nocc, nvir), dtype=types[float]) - rdm2_f_voov -= einsum("ijab->ajib", x61) * 2 - del x61 - x44 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x44 += einsum("ijab,kjlb->klia", t2, x3) - x47 += einsum("ijka->ijka", x44) - x68 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x68 += einsum("ijka->ijka", x44) - del x44 - x52 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x52 += einsum("ijka->ijka", x3) * 2 - x52 -= einsum("ijka->jika", x3) - x53 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x53 += einsum("ia,ijkb->jkab", t1, x52) - del x52 - rdm2_f_oovv = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - rdm2_f_oovv -= einsum("ijab->ijab", x53) * 2 - rdm2_f_vvoo = np.zeros((nvir, nvir, nocc, nocc), dtype=types[float]) - rdm2_f_vvoo -= einsum("ijab->abij", x53) * 2 - del x53 - x119 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x119 += einsum("ia,jikb->jkba", t1, x3) - x121 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x121 += einsum("ijab->ijab", x119) - del x119 - x131 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x131 += einsum("ijab,ijkc->kcab", t2, x3) - x132 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x132 += einsum("iabc->iabc", x131) * 2 - x133 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x133 += einsum("iabc->iabc", x131) * 4 - del x131 - rdm2_f_ooov = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - rdm2_f_ooov += einsum("ijka->ikja", x3) * 2 - rdm2_f_ooov -= einsum("ijka->jkia", x3) * 4 - rdm2_f_ovoo = np.zeros((nocc, nvir, nocc, nocc), dtype=types[float]) - rdm2_f_ovoo -= einsum("ijka->iajk", x3) * 4 - rdm2_f_ovoo += einsum("ijka->jaik", x3) * 2 - x5 = np.zeros((nocc, nocc), dtype=types[float]) - x5 += einsum("wxai,wxja->ij", lu12, u12) - x8 = np.zeros((nocc, nocc), dtype=types[float]) - x8 += einsum("ij->ij", x5) - x16 = np.zeros((nocc, nocc), dtype=types[float]) - x16 += einsum("ij->ij", x5) * 0.5 - x100 = np.zeros((nocc, nocc), dtype=types[float]) - x100 += einsum("ij->ij", x5) * 0.49999999999999967 - del x5 - x6 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x6 += einsum("ijab->jiab", t2) - x6 += einsum("ijab->jiba", t2) * -0.5 - x7 = np.zeros((nocc, nocc), dtype=types[float]) - x7 += einsum("abij,ikba->kj", l2, x6) * 4 - x8 += einsum("ij->ji", x7) - del x7 - rdm2_f_oooo += einsum("ij,kl->jikl", delta_oo, x8) * -2 - rdm2_f_oooo += einsum("ij,kl->jlki", delta_oo, x8) - rdm2_f_oooo += einsum("ij,kl->kjil", delta_oo, x8) - rdm2_f_oooo += einsum("ij,kl->klij", delta_oo, x8) * -2 - del x8 - x15 = np.zeros((nocc, nocc), dtype=types[float]) - x15 += einsum("abij,ikba->kj", l2, x6) * 2 - x16 += einsum("ij->ji", x15) - x23 = np.zeros((nocc, nvir), dtype=types[float]) - x23 += einsum("ia,ij->ja", t1, x16) * 2 - x24 += einsum("ia->ia", x23) - del x23 - x98 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x98 += einsum("ij,ikab->jkab", x16, t2) * 4 - x103 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x103 += einsum("ijab->jiba", x98) - del x98 - rdm2_f_oovo = np.zeros((nocc, nocc, nvir, nocc), dtype=types[float]) - rdm2_f_oovo += einsum("ia,jk->jiak", t1, x16) * 2 - rdm2_f_oovo += einsum("ia,jk->jkai", t1, x16) * -4 - rdm2_f_vooo = np.zeros((nvir, nocc, nocc, nocc), dtype=types[float]) - rdm2_f_vooo += einsum("ia,jk->aijk", t1, x16) * -4 - rdm2_f_vooo += einsum("ia,jk->akji", t1, x16) * 2 - del x16 - x100 += einsum("ij->ji", x15) - del x15 - x101 = np.zeros((nocc, nvir), dtype=types[float]) - x101 += einsum("ia,ij->ja", t1, x100) * 2.0000000000000013 - del x100 - x102 += einsum("ia->ia", x101) - del x101 - x93 = np.zeros((nbos, nbos, nocc, nvir), dtype=types[float]) - x93 += einsum("wxai,ijba->wxjb", lu12, x6) * 2 - del x6 - x94 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x94 += einsum("wxia,xwjb->ijab", u12, x93) * 2 - del x93 - x103 += einsum("ijab->jiba", x94) * -1 - del x94 - x9 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x9 += einsum("ai,jkba->ijkb", l1, t2) - x14 += einsum("ijka->ijka", x9) - x84 += einsum("ijka->ijka", x9) - del x9 - x85 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x85 += einsum("ia,ijkb->jkab", t1, x84) - del x84 - x86 += einsum("ijab->ijab", x85) - del x85 - x10 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x10 += einsum("wia,wxaj->xji", u11, lu12) - x11 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x11 += einsum("wia,wjk->jika", u11, x10) - x14 += einsum("ijka->ijka", x11) - del x11 - rdm2_f_oovo += einsum("ijka->ijak", x14) * 2 - rdm2_f_oovo -= einsum("ijka->ikaj", x14) * 4 - rdm2_f_vooo -= einsum("ijka->ajik", x14) * 4 - rdm2_f_vooo += einsum("ijka->akij", x14) * 2 - del x14 - x35 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x35 += einsum("wij->wij", x10) - x74 = np.zeros((nocc, nvir), dtype=types[float]) - x74 += einsum("wia,wij->ja", u11, x10) - x75 = np.zeros((nocc, nvir), dtype=types[float]) - x75 += einsum("ia->ia", x74) - del x74 - x82 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x82 += einsum("ia,wij->wja", t1, x10) - del x10 - x83 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x83 += einsum("wia,wjb->ijba", u11, x82) - del x82 - x86 += einsum("ijab->ijab", x83) - del x83 - x17 = np.zeros((nbos, nbos, nocc, nocc), dtype=types[float]) - x17 += einsum("ia,wxaj->wxji", t1, lu12) - x18 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x18 += einsum("wxia,wxjk->jkia", u12, x17) - x25 += einsum("ijka->ijka", x18) * 2 - x43 += einsum("ijka->ijka", x18) * -1 - rdm2_f_vooo += einsum("ijka->ajik", x43) * -1 - rdm2_f_vooo += einsum("ijka->akij", x43) * 2 - del x43 - x92 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x92 += einsum("ia,ijkb->jkab", t1, x18) - del x18 - x103 += einsum("ijab->ijab", x92) * 2 - del x92 - x20 = np.zeros((nocc, nvir), dtype=types[float]) - x20 += einsum("wxia,wxij->ja", u12, x17) - x24 += einsum("ia->ia", x20) - x25 += einsum("ij,ka->jika", delta_oo, x24) * 2 - rdm2_f_oovo += einsum("ijka->ijak", x25) * -1 - rdm2_f_oovo += einsum("ijka->ikaj", x25) * 0.5 - del x25 - rdm2_f_vooo += einsum("ij,ka->ajik", delta_oo, x24) - rdm2_f_vooo += einsum("ij,ka->akij", delta_oo, x24) * -2 - del x24 - x102 += einsum("ia->ia", x20) - del x20 - x103 += einsum("ia,jb->ijab", t1, x102) * 2 - del x102 - x80 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x80 += einsum("wia,wxij->xja", u11, x17) - del x17 - x81 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x81 += einsum("wia,wjb->jiab", u11, x80) - del x80 - x86 += einsum("ijab->ijab", x81) - del x81 - rdm2_f_vovo += einsum("ijab->aibj", x86) * 2 - rdm2_f_vovo -= einsum("ijab->biaj", x86) * 4 - rdm2_f_vovo -= einsum("ijab->ajbi", x86) * 4 - rdm2_f_vovo += einsum("ijab->bjai", x86) * 2 - del x86 - x26 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x26 += einsum("ia,waj->wji", t1, lu11) - x27 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x27 += einsum("wia,wjk->jkia", u11, x26) - x38 += einsum("ijka->ijka", x27) - x47 -= einsum("ijka->ijka", x27) - del x27 - x35 += einsum("wij->wij", x26) - x36 = np.zeros((nocc, nvir), dtype=types[float]) - x36 += einsum("wia,wij->ja", u11, x35) - del x35 - x37 += einsum("ia->ia", x36) - del x36 - x70 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x70 += einsum("ia,wij->wja", t1, x26) - x72 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x72 += einsum("wia->wia", x70) - del x70 - x110 = np.zeros((nocc, nvir), dtype=types[float]) - x110 += einsum("wia,wij->ja", u11, x26) - del x26 - x113 += einsum("ia->ia", x110) - x114 += einsum("ia->ia", x110) - del x110 - x33 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x33 -= einsum("ijab->jiab", t2) - x33 += einsum("ijab->jiba", t2) * 2 - x34 = np.zeros((nocc, nvir), dtype=types[float]) - x34 += einsum("ai,ijab->jb", l1, x33) - x37 -= einsum("ia->ia", x34) - x38 += einsum("ij,ka->jika", delta_oo, x37) - rdm2_f_oovo -= einsum("ijka->ijak", x38) * 4 - rdm2_f_oovo += einsum("ijka->ikaj", x38) * 2 - del x38 - rdm2_f_vooo += einsum("ij,ka->ajik", delta_oo, x37) * 2 - rdm2_f_vooo -= einsum("ij,ka->akij", delta_oo, x37) * 4 - del x37 - x75 -= einsum("ia->ia", x34) - del x34 - x76 += einsum("ia,jb->ijab", t1, x75) - del x75 - x71 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x71 += einsum("wai,ijab->wjb", lu11, x33) - x72 -= einsum("wia->wia", x71) - del x71 - x73 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x73 += einsum("wia,wjb->ijab", u11, x72) - del x72 - x76 += einsum("ijab->jiba", x73) - del x73 - x120 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x120 += einsum("abij,ikac->kjcb", l2, x33) - x121 -= einsum("ijab->jiba", x120) - del x120 - rdm2_f_vvoo -= einsum("abij,ikcb->cajk", l2, x33) * 2 - del x33 - x39 = np.zeros((nocc, nvir), dtype=types[float]) - x39 += einsum("w,wia->ia", ls1, u11) - x42 += einsum("ia->ia", x39) - x113 += einsum("ia->ia", x39) * -1 - x114 += einsum("ia->ia", x39) * -1 - del x39 - x40 = np.zeros((nocc, nvir), dtype=types[float]) - x40 += einsum("wx,wxia->ia", ls2, u12) - x42 += einsum("ia->ia", x40) * 0.5 - x113 += einsum("ia->ia", x40) * -0.5 - x114 += einsum("ia->ia", x40) * -0.5 - del x40 - rdm2_f_vovo += einsum("ia,jb->bjai", t1, x114) * -4 - rdm2_f_vovo += einsum("ia,jb->ajbi", t1, x114) * 2 - del x114 - x42 += einsum("ia->ia", t1) - rdm2_f_oovo += einsum("ij,ka->jkai", delta_oo, x42) * -2 - rdm2_f_oovo += einsum("ij,ka->jiak", delta_oo, x42) * 4 - rdm2_f_vooo += einsum("ij,ka->aijk", delta_oo, x42) * -2 - rdm2_f_vooo += einsum("ij,ka->akji", delta_oo, x42) * 4 - del x42 - x45 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x45 += einsum("ijab->jiab", t2) * 2 - x45 -= einsum("ijab->jiba", t2) - x46 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x46 += einsum("ijka,ilba->ljkb", x3, x45) - del x3 - x47 -= einsum("ijka->jkia", x46) - rdm2_f_vooo -= einsum("ijka->ajik", x47) * 2 - rdm2_f_vooo += einsum("ijka->akij", x47) * 4 - del x47 - x68 -= einsum("ijka->jkia", x46) - del x46 - x69 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x69 += einsum("ia,ijkb->jkab", t1, x68) - del x68 - x76 -= einsum("ijab->ijab", x69) - del x69 - rdm2_f_vvoo -= einsum("abij,ikca->cbjk", l2, x45) * 2 - x48 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x48 += einsum("wxai,wxjb->ijab", lu12, u12) - x130 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x130 += einsum("ia,ijbc->jbac", t1, x48) - x132 += einsum("iabc->iabc", x130) * -1 - rdm2_f_vovv = np.zeros((nvir, nocc, nvir, nvir), dtype=types[float]) - rdm2_f_vovv += einsum("iabc->bica", x132) - rdm2_f_vovv += einsum("iabc->ciba", x132) * -2 - del x132 - x133 += einsum("iabc->iabc", x130) * -2 - del x130 - rdm2_f_vvvo = np.zeros((nvir, nvir, nvir, nocc), dtype=types[float]) - rdm2_f_vvvo += einsum("iabc->baci", x133) * -1 - rdm2_f_vvvo += einsum("iabc->cabi", x133) * 0.5 - del x133 - rdm2_f_oovv += einsum("ijab->ijba", x48) * -1 - rdm2_f_ovvo += einsum("ijab->iabj", x48) * 2 - rdm2_f_voov += einsum("ijab->bjia", x48) * 2 - rdm2_f_vvoo += einsum("ijab->baij", x48) * -1 - del x48 - x49 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x49 += einsum("wai,wjb->ijab", lu11, u11) - rdm2_f_oovv -= einsum("ijab->ijba", x49) * 2 - rdm2_f_ovvo += einsum("ijab->iabj", x49) * 4 - rdm2_f_voov += einsum("ijab->bjia", x49) * 4 - rdm2_f_vvoo -= einsum("ijab->baij", x49) * 2 - del x49 - x50 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x50 -= einsum("abij->jiab", l2) - x50 += einsum("abij->jiba", l2) * 2 - x60 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x60 += einsum("ijab,ikbc->jkac", x45, x50) - del x45 - rdm2_f_ovvo += einsum("ijab->jbai", x60) * 2 - rdm2_f_voov += einsum("ijab->aijb", x60) * 2 - del x60 - rdm2_f_oovv -= einsum("ijab,ikac->kjbc", t2, x50) * 2 - del x50 - x51 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x51 += einsum("abij->jiab", l2) * 2 - x51 -= einsum("abij->jiba", l2) - x66 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x66 += einsum("ijab,ikca->kjcb", t2, x51) - x67 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x67 += einsum("ijab,ikbc->kjca", t2, x66) - x76 += einsum("ijab->ijab", x67) - del x67 - x90 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x90 += einsum("ijab,ikac->kjcb", t2, x66) - del x66 - x91 += einsum("ijab->ijab", x90) * 2 - del x90 - rdm2_f_oovv -= einsum("ijab,ikbc->kjac", t2, x51) * 2 - del x51 - x54 = np.zeros((nvir, nvir), dtype=types[float]) - x54 += einsum("ai,ib->ab", l1, t1) - x59 = np.zeros((nvir, nvir), dtype=types[float]) - x59 += einsum("ab->ab", x54) * 0.5 - x63 = np.zeros((nvir, nvir), dtype=types[float]) - x63 += einsum("ab->ab", x54) - x128 = np.zeros((nvir, nvir), dtype=types[float]) - x128 += einsum("ab->ab", x54) - del x54 - x55 = np.zeros((nvir, nvir), dtype=types[float]) - x55 += einsum("wai,wib->ab", lu11, u11) - x59 += einsum("ab->ab", x55) * 0.5 - x63 += einsum("ab->ab", x55) - x64 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x64 += einsum("ab,ijac->jicb", x55, t2) - x76 += einsum("ijab->ijab", x64) - del x64 - rdm2_f_vovo -= einsum("ijab->aibj", x76) * 4 - rdm2_f_vovo += einsum("ijab->biaj", x76) * 2 - rdm2_f_vovo += einsum("ijab->ajbi", x76) * 2 - rdm2_f_vovo -= einsum("ijab->bjai", x76) * 4 - del x76 - x128 += einsum("ab->ab", x55) - del x55 - x129 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x129 += einsum("ia,bc->ibac", t1, x128) - del x128 - x56 = np.zeros((nvir, nvir), dtype=types[float]) - x56 += einsum("wxai,wxib->ab", lu12, u12) - x59 += einsum("ab->ab", x56) * 0.25 - x63 += einsum("ab->ab", x56) * 0.5 - x96 = np.zeros((nvir, nvir), dtype=types[float]) - x96 += einsum("ab->ab", x56) - del x56 - x57 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x57 += einsum("abij->jiab", l2) - x57 += einsum("abij->jiba", l2) * -0.5 - x58 = np.zeros((nvir, nvir), dtype=types[float]) - x58 += einsum("ijab,ijca->cb", t2, x57) - x59 += einsum("ab->ab", x58) - del x58 - rdm2_f_oovv += einsum("ij,ab->jiba", delta_oo, x59) * 8 - rdm2_f_vvoo += einsum("ij,ab->baji", delta_oo, x59) * 8 - del x59 - x62 = np.zeros((nvir, nvir), dtype=types[float]) - x62 += einsum("ijab,ijca->cb", t2, x57) * 2 - x63 += einsum("ab->ab", x62) - del x62 - rdm2_f_ovvo += einsum("ij,ab->jabi", delta_oo, x63) * -2 - rdm2_f_voov += einsum("ij,ab->bija", delta_oo, x63) * -2 - del x63 - x95 = np.zeros((nvir, nvir), dtype=types[float]) - x95 += einsum("ijab,ijca->cb", t2, x57) * 4 - del x57 - x96 += einsum("ab->ab", x95) - del x95 - x97 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x97 += einsum("ab,ijac->ijbc", x96, t2) * 2 - x103 += einsum("ijab->jiba", x97) - del x97 - rdm2_f_vovo += einsum("ijab->aibj", x103) * -1 - rdm2_f_vovo += einsum("ijab->biaj", x103) * 0.5 - rdm2_f_vovo += einsum("ijab->ajbi", x103) * 0.5 - rdm2_f_vovo += einsum("ijab->bjai", x103) * -1 - del x103 - rdm2_f_vovv += einsum("ia,bc->aicb", t1, x96) * 2 - rdm2_f_vovv += einsum("ia,bc->ciab", t1, x96) * -1 - rdm2_f_vvvo += einsum("ia,bc->abci", t1, x96) * -1 - rdm2_f_vvvo += einsum("ia,bc->cbai", t1, x96) * 2 - del x96 - x77 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x77 += einsum("wx,xia->wia", ls2, u11) - x78 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x78 += einsum("wia,wjb->jiba", u11, x77) - del x77 - rdm2_f_vovo -= einsum("ijab->biaj", x78) * 2 - rdm2_f_vovo += einsum("ijab->bjai", x78) * 4 - del x78 - x87 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x87 += einsum("abij,kjbc->ikac", l2, t2) - x88 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x88 += einsum("ijab,jkac->ikbc", t2, x87) - del x87 - x91 += einsum("ijab->ijab", x88) - del x88 - x91 += einsum("ijab->jiba", t2) - rdm2_f_vovo -= einsum("ijab->biaj", x91) * 2 - rdm2_f_vovo += einsum("ijab->aibj", x91) * 4 - del x91 - x104 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x104 += einsum("abij,kjac->ikbc", l2, t2) - x105 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x105 += einsum("ijab,jkac->ikbc", t2, x104) - rdm2_f_vovo += einsum("ijab->ajbi", x105) * 4 - rdm2_f_vovo -= einsum("ijab->bjai", x105) * 2 - del x105 - x127 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x127 += einsum("ia,ijbc->jbac", t1, x104) - del x104 - x129 -= einsum("iabc->iabc", x127) - del x127 - x113 += einsum("ia->ia", t1) * -1 - rdm2_f_vovo += einsum("ia,jb->aibj", t1, x113) * -4 - rdm2_f_vovo += einsum("ia,jb->biaj", t1, x113) * 2 - del x113 - x115 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x115 += einsum("ia,bcji->jbca", t1, l2) - x135 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) - x135 += einsum("ia,ibcd->cbda", t1, x115) - rdm2_f_vvvv = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) - rdm2_f_vvvv -= einsum("abcd->cbda", x135) * 2 - rdm2_f_vvvv += einsum("abcd->dbca", x135) * 4 - del x135 - rdm2_f_ovvv = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - rdm2_f_ovvv += einsum("iabc->iacb", x115) * 4 - rdm2_f_ovvv -= einsum("iabc->ibca", x115) * 2 - rdm2_f_vvov = np.zeros((nvir, nvir, nocc, nvir), dtype=types[float]) - rdm2_f_vvov -= einsum("iabc->caib", x115) * 2 - rdm2_f_vvov += einsum("iabc->cbia", x115) * 4 - del x115 - x116 = np.zeros((nbos, nvir, nvir), dtype=types[float]) - x116 += einsum("ia,wbi->wba", t1, lu11) - x117 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x117 += einsum("wia,wbc->ibca", u11, x116) - del x116 - x123 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x123 -= einsum("iabc->iabc", x117) - del x117 - x118 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x118 += einsum("abij,kjca->ikbc", l2, t2) - x121 += einsum("ijab->ijab", x118) - del x118 - x122 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x122 += einsum("ia,ijbc->jabc", t1, x121) - del x121 - x123 += einsum("iabc->ibac", x122) - del x122 - rdm2_f_vovv += einsum("iabc->bica", x123) * 2 - rdm2_f_vovv -= einsum("iabc->ciba", x123) * 4 - rdm2_f_vvvo -= einsum("iabc->baci", x123) * 4 - rdm2_f_vvvo += einsum("iabc->cabi", x123) * 2 - del x123 - x124 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x124 += einsum("ai,jibc->jabc", l1, t2) - x129 += einsum("iabc->iabc", x124) - del x124 - x125 = np.zeros((nbos, nvir, nvir), dtype=types[float]) - x125 += einsum("wia,xwbi->xba", u11, lu12) - x126 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x126 += einsum("wia,wbc->ibac", u11, x125) - del x125 - x129 += einsum("iabc->iabc", x126) - del x126 - rdm2_f_vovv += einsum("iabc->bica", x129) * 4 - rdm2_f_vovv -= einsum("iabc->ciba", x129) * 2 - rdm2_f_vvvo -= einsum("iabc->baci", x129) * 2 - rdm2_f_vvvo += einsum("iabc->cabi", x129) * 4 - del x129 - x134 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) - x134 += einsum("abij,ijcd->abcd", l2, t2) - rdm2_f_vvvv += einsum("abcd->cbda", x134) * -2 - rdm2_f_vvvv += einsum("abcd->dbca", x134) * 4 - del x134 - rdm2_f_oooo += einsum("ij,kl->jilk", delta_oo, delta_oo) * 4 - rdm2_f_oooo -= einsum("ij,kl->ljik", delta_oo, delta_oo) * 2 - rdm2_f_ooov += einsum("ij,ak->jika", delta_oo, l1) * 4 - rdm2_f_ooov -= einsum("ij,ak->kija", delta_oo, l1) * 2 - rdm2_f_ovoo -= einsum("ij,ak->jaki", delta_oo, l1) * 2 - rdm2_f_ovoo += einsum("ij,ak->kaji", delta_oo, l1) * 4 - rdm2_f_ovov = np.zeros((nocc, nvir, nocc, nvir), dtype=types[float]) - rdm2_f_ovov -= einsum("abij->jaib", l2) * 2 - rdm2_f_ovov += einsum("abij->jbia", l2) * 4 - rdm2_f_oovv -= einsum("ai,jb->ijba", l1, t1) * 2 - rdm2_f_ovvo += einsum("ai,jb->iabj", l1, t1) * 4 - rdm2_f_voov += einsum("ai,jb->bjia", l1, t1) * 4 - rdm2_f_vvoo -= einsum("ai,jb->baij", l1, t1) * 2 - - rdm2_f = pack_2e(rdm2_f_oooo, rdm2_f_ooov, rdm2_f_oovo, rdm2_f_ovoo, rdm2_f_vooo, rdm2_f_oovv, rdm2_f_ovov, rdm2_f_ovvo, rdm2_f_voov, rdm2_f_vovo, rdm2_f_vvoo, rdm2_f_ovvv, rdm2_f_vovv, rdm2_f_vvov, rdm2_f_vvvo, rdm2_f_vvvv) - - return rdm2_f - -def make_sing_b_dm(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, s2=None, u11=None, u12=None, l1=None, l2=None, ls1=None, ls2=None, lu11=None, lu12=None, **kwargs): - # Get boson coupling creation array: - gc = Namespace( - boo=g.boo.transpose(0, 2, 1), - bov=g.bvo.transpose(0, 2, 1), - bvo=g.bov.transpose(0, 2, 1), - bvv=g.bvv.transpose(0, 2, 1), - ) - - # Single boson DM - dm_b_cre = np.zeros((nbos), dtype=types[float]) - dm_b_cre += einsum("w->w", ls1) - dm_b_des = np.zeros((nbos), dtype=types[float]) - dm_b_des += einsum("wai,xwia->x", lu11, u12) * 2 - dm_b_des += einsum("w,xw->x", ls1, s2) - dm_b_des += einsum("w->w", s1) - dm_b_des += einsum("ai,wia->w", l1, u11) * 2 - - dm_b = np.array([dm_b_cre, dm_b_des]) - - return dm_b - -def make_rdm1_b(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, s2=None, u11=None, u12=None, l1=None, l2=None, ls1=None, ls2=None, lu11=None, lu12=None, **kwargs): - # Get boson coupling creation array: - gc = Namespace( - boo=g.boo.transpose(0, 2, 1), - bov=g.bvo.transpose(0, 2, 1), - bvo=g.bov.transpose(0, 2, 1), - bvv=g.bvv.transpose(0, 2, 1), - ) - - # Boson 1RDM - rdm1_b = np.zeros((nbos, nbos), dtype=types[float]) - rdm1_b += einsum("wxai,yxia->wy", lu12, u12) * 2 - rdm1_b += einsum("wx,yx->wy", ls2, s2) - rdm1_b += einsum("w,x->wx", ls1, s1) - rdm1_b += einsum("wai,xia->wx", lu11, u11) * 2 - - return rdm1_b - -def make_eb_coup_rdm(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, s2=None, u11=None, u12=None, l1=None, l2=None, ls1=None, ls2=None, lu11=None, lu12=None, **kwargs): - # Get boson coupling creation array: - gc = Namespace( - boo=g.boo.transpose(0, 2, 1), - bov=g.bvo.transpose(0, 2, 1), - bvo=g.bov.transpose(0, 2, 1), - bvv=g.bvv.transpose(0, 2, 1), - ) - - delta_oo = np.eye(nocc) - delta_vv = np.eye(nvir) - - # Boson-fermion coupling RDM - x0 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x0 += einsum("wia,xwaj->xji", u11, lu12) - x5 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x5 += einsum("wij->wij", x0) - x8 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x8 += einsum("wx,xij->wij", s2, x0) - x30 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x30 += einsum("wij->wij", x8) - rdm_eb_des_oo = np.zeros((nbos, nocc, nocc), dtype=types[float]) - rdm_eb_des_oo -= einsum("wij->wji", x8) * 2 - del x8 - x36 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x36 += einsum("wij->wij", x0) - rdm_eb_cre_oo = np.zeros((nbos, nocc, nocc), dtype=types[float]) - rdm_eb_cre_oo -= einsum("wij->wji", x0) * 2 - del x0 - x1 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x1 += einsum("ia,waj->wji", t1, lu11) - x5 += einsum("wij->wij", x1) - rdm_eb_cre_ov = np.zeros((nbos, nocc, nvir), dtype=types[float]) - rdm_eb_cre_ov -= einsum("ia,wij->wja", t1, x5) * 2 - rdm_eb_des_ov = np.zeros((nbos, nocc, nvir), dtype=types[float]) - rdm_eb_des_ov -= einsum("wij,wxia->xja", x5, u12) * 2 - del x5 - x36 += einsum("wij->wij", x1) - x38 = np.zeros((nocc, nvir), dtype=types[float]) - x38 += einsum("wia,wij->ja", u11, x36) * 0.9999999999999993 - del x36 - rdm_eb_cre_oo -= einsum("wij->wji", x1) * 2 - del x1 - x2 = np.zeros((nbos, nbos, nocc, nocc), dtype=types[float]) - x2 += einsum("ia,wxaj->wxji", t1, lu12) - x3 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x3 += einsum("wia,xwij->xja", u11, x2) - rdm_eb_cre_ov -= einsum("wia->wia", x3) * 2 - rdm_eb_des_ov -= einsum("wx,xia->wia", s2, x3) * 2 - del x3 - x38 += einsum("wxia,wxij->ja", u12, x2) * 0.49999999999999967 - del x2 - x4 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x4 -= einsum("ijab->jiab", t2) - x4 += einsum("ijab->jiba", t2) * 2 - rdm_eb_cre_ov += einsum("wai,ijab->wjb", lu11, x4) * 2 - x6 = np.zeros((nbos, nvir, nvir), dtype=types[float]) - x6 += einsum("wia,xwbi->xba", u11, lu12) - rdm_eb_cre_vv = np.zeros((nbos, nvir, nvir), dtype=types[float]) - rdm_eb_cre_vv += einsum("wab->wab", x6) * 2 - rdm_eb_des_ov -= einsum("wab,xwia->xib", x6, u12) * 2 - rdm_eb_des_vv = np.zeros((nbos, nvir, nvir), dtype=types[float]) - rdm_eb_des_vv += einsum("wx,xab->wab", s2, x6) * 2 - del x6 - x7 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x7 += einsum("wai,xwja->xij", lu11, u12) - x30 += einsum("wij->wij", x7) - rdm_eb_des_oo -= einsum("wij->wji", x7) * 2 - del x7 - x9 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x9 += einsum("ai,wja->wij", l1, u11) - x30 += einsum("wij->wij", x9) - rdm_eb_des_oo -= einsum("wij->wji", x9) * 2 - del x9 - x10 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x10 += einsum("wx,xai->wia", s2, lu11) - x13 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x13 += einsum("wia->wia", x10) - rdm_eb_des_vo = np.zeros((nbos, nvir, nocc), dtype=types[float]) - rdm_eb_des_vo += einsum("wia->wai", x10) * 2 - del x10 - x11 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x11 += einsum("abij->jiab", l2) * 2 - x11 -= einsum("abij->jiba", l2) - x12 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x12 += einsum("wia,ijba->wjb", u11, x11) - del x11 - x13 += einsum("wia->wia", x12) - del x12 - x14 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x14 += einsum("ia,wja->wji", t1, x13) - x30 += einsum("wij->wij", x14) - rdm_eb_des_ov -= einsum("ia,wij->wja", t1, x30) * 2 - del x30 - rdm_eb_des_oo -= einsum("wij->wji", x14) * 2 - del x14 - rdm_eb_des_ov += einsum("wia,ijab->wjb", x13, x4) * 2 - del x4 - rdm_eb_des_vv += einsum("ia,wib->wba", t1, x13) * 2 - del x13 - x15 = np.zeros((nocc, nocc), dtype=types[float]) - x15 += einsum("ai,ja->ij", l1, t1) - x20 = np.zeros((nocc, nocc), dtype=types[float]) - x20 += einsum("ij->ij", x15) - x31 = np.zeros((nocc, nocc), dtype=types[float]) - x31 += einsum("ij->ij", x15) - x37 = np.zeros((nocc, nocc), dtype=types[float]) - x37 += einsum("ij->ij", x15) - del x15 - x16 = np.zeros((nocc, nocc), dtype=types[float]) - x16 += einsum("wai,wja->ij", lu11, u11) - x20 += einsum("ij->ij", x16) - x31 += einsum("ij->ij", x16) - x37 += einsum("ij->ij", x16) - del x16 - x17 = np.zeros((nocc, nocc), dtype=types[float]) - x17 += einsum("wxai,wxja->ij", lu12, u12) - x20 += einsum("ij->ij", x17) * 0.5 - x31 += einsum("ij->ij", x17) * 0.5 - x37 += einsum("ij->ij", x17) * 0.5 - del x17 - x18 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x18 += einsum("ijab->jiab", t2) - x18 += einsum("ijab->jiba", t2) * -0.5 - x19 = np.zeros((nocc, nocc), dtype=types[float]) - x19 += einsum("abij,ikba->jk", l2, x18) * 2 - x20 += einsum("ij->ij", x19) - x31 += einsum("ij->ij", x19) - del x19 - rdm_eb_des_ov += einsum("ij,wia->wja", x31, u11) * -2 - del x31 - x37 += einsum("abij,ikba->jk", l2, x18) * 2.0000000000000013 - del x18 - x38 += einsum("ia,ij->ja", t1, x37) * 0.9999999999999993 - del x37 - x20 += einsum("ij->ji", delta_oo) * -1 - rdm_eb_des_oo += einsum("w,ij->wji", s1, x20) * -2 - del x20 - x21 = np.zeros((nbos), dtype=types[float]) - x21 += einsum("w,xw->x", ls1, s2) - x24 = np.zeros((nbos), dtype=types[float]) - x24 += einsum("w->w", x21) - del x21 - x22 = np.zeros((nbos), dtype=types[float]) - x22 += einsum("ai,wia->w", l1, u11) - x24 += einsum("w->w", x22) * 2 - del x22 - x23 = np.zeros((nbos), dtype=types[float]) - x23 += einsum("wai,xwia->x", lu11, u12) - x24 += einsum("w->w", x23) * 2 - del x23 - rdm_eb_des_oo += einsum("w,ij->wji", x24, delta_oo) * 2 - rdm_eb_des_ov += einsum("w,ia->wia", x24, t1) * 2 - del x24 - x25 = np.zeros((nbos, nbos, nbos), dtype=types[float]) - x25 += einsum("wia,xyai->xyw", u11, lu12) - rdm_eb_des_ov += einsum("wxy,wxia->yia", x25, u12) * 2 - del x25 - x26 = np.zeros((nvir, nvir), dtype=types[float]) - x26 += einsum("wai,wib->ab", lu11, u11) - x29 = np.zeros((nvir, nvir), dtype=types[float]) - x29 += einsum("ab->ab", x26) - x40 = np.zeros((nvir, nvir), dtype=types[float]) - x40 += einsum("ab->ab", x26) * 2 - del x26 - x27 = np.zeros((nvir, nvir), dtype=types[float]) - x27 += einsum("wxai,wxib->ab", lu12, u12) - x29 += einsum("ab->ab", x27) * 0.5 - x40 += einsum("ab->ab", x27) - del x27 - x28 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x28 += einsum("abij->jiab", l2) * -0.5 - x28 += einsum("abij->jiba", l2) - x29 += einsum("ijab,ijcb->ca", t2, x28) * 2 - rdm_eb_des_ov += einsum("ab,wia->wib", x29, u11) * -2 - del x29 - x40 += einsum("ijab,ijcb->ca", t2, x28) * 4 - del x28 - x32 = np.zeros((nbos, nbos), dtype=types[float]) - x32 += einsum("wx,yw->xy", ls2, s2) - x32 += einsum("wai,xia->wx", lu11, u11) * 2 - x32 += einsum("wxai,ywia->xy", lu12, u12) * 2 - rdm_eb_des_ov += einsum("wx,wia->xia", x32, u11) * 2 - del x32 - x33 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x33 += einsum("ia,abjk->kjib", t1, l2) - x34 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x34 += einsum("ijka->ijka", x33) * -0.5 - x34 += einsum("ijka->jika", x33) - del x33 - x38 += einsum("ijab,ijkb->ka", t2, x34) * 2 - del x34 - x35 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x35 += einsum("ijab->jiab", t2) * -1 - x35 += einsum("ijab->jiba", t2) * 2 - x38 += einsum("ai,ijab->jb", l1, x35) * -0.9999999999999993 - del x35 - x38 += einsum("ia->ia", t1) * -0.9999999999999993 - x38 += einsum("w,wia->ia", ls1, u11) * -0.9999999999999993 - x38 += einsum("wx,wxia->ia", ls2, u12) * -0.49999999999999967 - rdm_eb_des_ov += einsum("w,ia->wia", s1, x38) * -2.0000000000000013 - del x38 - x39 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x39 -= einsum("abij->jiab", l2) - x39 += einsum("abij->jiba", l2) * 2 - rdm_eb_des_vo += einsum("wia,ijab->wbj", u11, x39) * 2 - del x39 - x40 += einsum("ai,ib->ab", l1, t1) * 2 - rdm_eb_des_vv += einsum("w,ab->wab", s1, x40) - del x40 - rdm_eb_cre_oo += einsum("w,ij->wji", ls1, delta_oo) * 2 - rdm_eb_cre_ov += einsum("wx,xia->wia", ls2, u11) * 2 - rdm_eb_cre_ov += einsum("w,ia->wia", ls1, t1) * 2 - rdm_eb_cre_vo = np.zeros((nbos, nvir, nocc), dtype=types[float]) - rdm_eb_cre_vo += einsum("wai->wai", lu11) * 2 - rdm_eb_cre_vv += einsum("ia,wbi->wba", t1, lu11) * 2 - rdm_eb_des_ov += einsum("wia->wia", u11) * 2 - rdm_eb_des_ov += einsum("w,xwia->xia", ls1, u12) * 2 - rdm_eb_des_vo += einsum("w,ai->wai", s1, l1) * 2 - rdm_eb_des_vv += einsum("wai,xwib->xab", lu11, u12) * 2 - rdm_eb_des_vv += einsum("ai,wib->wab", l1, u11) * 2 - - rdm_eb = np.array([ - np.block([[rdm_eb_cre_oo, rdm_eb_cre_ov], [rdm_eb_cre_vo, rdm_eb_cre_vv]]), - np.block([[rdm_eb_des_oo, rdm_eb_des_ov], [rdm_eb_des_vo, rdm_eb_des_vv]]), - ]) - - return rdm_eb - diff --git a/ebcc/codegen/RCCSD_S_1_1.py b/ebcc/codegen/RCCSD_S_1_1.py deleted file mode 100644 index 33607528..00000000 --- a/ebcc/codegen/RCCSD_S_1_1.py +++ /dev/null @@ -1,2072 +0,0 @@ -# Code generated for ebcc. - -from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, Namespace -from ebcc.precision import types - -def energy(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, u11=None, **kwargs): - # Energy - x0 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x0 += einsum("iajb->jiab", v.ovov) - x0 += einsum("iajb->jiba", v.ovov) * -0.5 - e_cc = 0 - e_cc += einsum("ijab,ijba->", t2, x0) * 2 - del x0 - x1 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x1 += einsum("iajb->jiab", v.ovov) * -0.5 - x1 += einsum("iajb->jiba", v.ovov) - x2 = np.zeros((nocc, nvir), dtype=types[float]) - x2 += einsum("ia,ijab->jb", t1, x1) - del x1 - x2 += einsum("ia->ia", f.ov) - e_cc += einsum("ia,ia->", t1, x2) * 2 - del x2 - x3 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x3 += einsum("wia->wia", u11) - x3 += einsum("w,ia->wia", s1, t1) - e_cc += einsum("wia,wia->", g.bov, x3) * 2 - del x3 - e_cc += einsum("w,w->", G, s1) - - return e_cc - -def update_amps(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, u11=None, **kwargs): - # Get boson coupling creation array: - gc = Namespace( - boo=g.boo.transpose(0, 2, 1), - bov=g.bvo.transpose(0, 2, 1), - bvo=g.bov.transpose(0, 2, 1), - bvv=g.bvv.transpose(0, 2, 1), - ) - - # T1, T2, S1 and U11 amplitudes - x0 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x0 += einsum("ia,jakb->ikjb", t1, v.ovov) - x1 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x1 += einsum("ijka->ijka", x0) * 2 - x1 += einsum("ijka->ikja", x0) * -1 - x27 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x27 += einsum("ia,jkla->jilk", t1, x0) - x88 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x88 += einsum("ijkl->lkji", x27) - t2new = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - t2new += einsum("ijab,klji->lkab", t2, x27) - del x27 - x35 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x35 += einsum("ijab,kjla->kilb", t2, x0) - x41 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x41 -= einsum("ijka->ikja", x35) - del x35 - x36 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x36 -= einsum("ijka->ijka", x0) - x36 += einsum("ijka->ikja", x0) * 2 - x37 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x37 += einsum("ijab,klia->jklb", t2, x36) - del x36 - x41 += einsum("ijka->jkia", x37) - del x37 - x65 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x65 += einsum("ijab,klja->kilb", t2, x0) - del x0 - x69 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x69 -= einsum("ijka->kija", x65) - del x65 - x1 += einsum("ijka->jika", v.ooov) * -1 - x1 += einsum("ijka->jkia", v.ooov) * 2 - t1new = np.zeros((nocc, nvir), dtype=types[float]) - t1new += einsum("ijab,kija->kb", t2, x1) * -2 - del x1 - x2 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x2 += einsum("iabc->ibac", v.ovvv) * -0.5 - x2 += einsum("iabc->ibca", v.ovvv) - t1new += einsum("ijab,icba->jc", t2, x2) * 4 - del x2 - x3 = np.zeros((nocc, nvir), dtype=types[float]) - x3 += einsum("w,wia->ia", s1, g.bov) - x6 = np.zeros((nocc, nvir), dtype=types[float]) - x6 += einsum("ia->ia", x3) - x19 = np.zeros((nocc, nvir), dtype=types[float]) - x19 += einsum("ia->ia", x3) * 0.5 - x98 = np.zeros((nocc, nvir), dtype=types[float]) - x98 += einsum("ia->ia", x3) - del x3 - x4 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x4 += einsum("iajb->jiab", v.ovov) * 2 - x4 -= einsum("iajb->jiba", v.ovov) - x5 = np.zeros((nocc, nvir), dtype=types[float]) - x5 += einsum("ia,ijba->jb", t1, x4) - x6 += einsum("ia->ia", x5) - del x5 - x92 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x92 += einsum("wia,ijba->wjb", u11, x4) - del x4 - x93 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x93 += einsum("wia->wia", x92) - del x92 - x6 += einsum("ia->ia", f.ov) - x68 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x68 += einsum("ia,jkab->jkib", x6, t2) - x69 += einsum("ijka->kjia", x68) - del x68 - x71 = np.zeros((nocc, nocc), dtype=types[float]) - x71 += einsum("ia,ja->ij", t1, x6) - x72 = np.zeros((nocc, nocc), dtype=types[float]) - x72 += einsum("ij->ij", x71) - del x71 - s1new = np.zeros((nbos), dtype=types[float]) - s1new += einsum("ia,wia->w", x6, u11) * 2 - x7 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x7 -= einsum("ijab->jiab", t2) - x7 += einsum("ijab->jiba", t2) * 2 - t1new += einsum("ia,ijab->jb", x6, x7) * 2 - del x6 - x8 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x8 += einsum("iabj->ijba", v.ovvo) * 2 - x8 -= einsum("ijab->ijab", v.oovv) - t1new += einsum("ia,ijba->jb", t1, x8) * 2 - u11new = np.zeros((nbos, nocc, nvir), dtype=types[float]) - u11new += einsum("wia,ijba->wjb", u11, x8) - del x8 - x9 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x9 += einsum("ia,wja->wji", t1, g.bov) - x10 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x10 += einsum("wij->wij", x9) - del x9 - x10 += einsum("wij->wij", g.boo) - x49 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x49 += einsum("ia,wij->wja", t1, x10) - x50 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x50 -= einsum("wia->wia", x49) - del x49 - t1new -= einsum("wia,wij->ja", u11, x10) * 2 - del x10 - x11 = np.zeros((nocc, nocc), dtype=types[float]) - x11 += einsum("w,wij->ij", s1, g.boo) - x21 = np.zeros((nocc, nocc), dtype=types[float]) - x21 += einsum("ij->ij", x11) - x72 += einsum("ij->ji", x11) - del x11 - x12 = np.zeros((nocc, nocc), dtype=types[float]) - x12 += einsum("wia,wja->ij", g.bov, u11) - x21 += einsum("ij->ij", x12) - x54 = np.zeros((nocc, nocc), dtype=types[float]) - x54 += einsum("ij->ij", x12) - del x12 - x13 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x13 += einsum("iajb->jiab", v.ovov) * -0.5 - x13 += einsum("iajb->jiba", v.ovov) - x14 = np.zeros((nocc, nocc), dtype=types[float]) - x14 += einsum("ijab,ikab->jk", t2, x13) * 2 - x21 += einsum("ij->ji", x14) - del x14 - x80 = np.zeros((nvir, nvir), dtype=types[float]) - x80 += einsum("ijab,ijac->bc", t2, x13) - x81 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x81 += einsum("ab,ijbc->ijca", x80, t2) * 2 - del x80 - x84 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x84 += einsum("ijab->jiab", x81) - del x81 - x82 = np.zeros((nocc, nocc), dtype=types[float]) - x82 += einsum("ijab,ikab->jk", t2, x13) - del x13 - x83 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x83 += einsum("ij,jkab->kiab", x82, t2) * 2 - del x82 - x84 += einsum("ijab->ijba", x83) - del x83 - x15 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x15 += einsum("ijka->ikja", v.ooov) - x15 += einsum("ijka->kija", v.ooov) * -0.5 - x16 = np.zeros((nocc, nocc), dtype=types[float]) - x16 += einsum("ia,jika->jk", t1, x15) * 2 - del x15 - x21 += einsum("ij->ij", x16) - del x16 - x17 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x17 += einsum("iajb->jiab", v.ovov) - x17 += einsum("iajb->jiba", v.ovov) * -0.5 - x18 = np.zeros((nocc, nvir), dtype=types[float]) - x18 += einsum("ia,ijba->jb", t1, x17) - x19 += einsum("ia->ia", x18) - del x18 - x96 = np.zeros((nocc, nvir), dtype=types[float]) - x96 += einsum("ia,ijba->jb", t1, x17) * 2 - del x17 - x97 = np.zeros((nvir, nvir), dtype=types[float]) - x97 += einsum("ia,ib->ab", t1, x96) * -1 - del x96 - x19 += einsum("ia->ia", f.ov) * 0.5 - x20 = np.zeros((nocc, nocc), dtype=types[float]) - x20 += einsum("ia,ja->ij", t1, x19) * 2 - del x19 - x21 += einsum("ij->ji", x20) - del x20 - x21 += einsum("ij->ij", f.oo) - t1new += einsum("ia,ij->ja", t1, x21) * -2 - u11new += einsum("ij,wia->wja", x21, u11) * -1 - del x21 - x22 = np.zeros((nvir, nvir), dtype=types[float]) - x22 += einsum("w,wab->ab", s1, g.bvv) - x25 = np.zeros((nvir, nvir), dtype=types[float]) - x25 += einsum("ab->ab", x22) - x74 = np.zeros((nvir, nvir), dtype=types[float]) - x74 += einsum("ab->ab", x22) - x97 += einsum("ab->ab", x22) - del x22 - x23 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x23 -= einsum("iabc->ibac", v.ovvv) - x23 += einsum("iabc->ibca", v.ovvv) * 2 - x24 = np.zeros((nvir, nvir), dtype=types[float]) - x24 += einsum("ia,ibca->bc", t1, x23) - x25 += einsum("ab->ab", x24) - x44 = np.zeros((nvir, nvir), dtype=types[float]) - x44 -= einsum("ab->ab", x24) - del x24 - x59 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x59 += einsum("ia,jbac->ijbc", t1, x23) - x60 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x60 += einsum("ijab,kica->jkbc", t2, x59) - del x59 - x76 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x76 -= einsum("ijab->jiab", x60) - del x60 - x100 = np.zeros((nbos, nvir, nvir), dtype=types[float]) - x100 += einsum("wia,ibca->wbc", u11, x23) - del x23 - x25 += einsum("ab->ab", f.vv) - t1new += einsum("ia,ba->ib", t1, x25) * 2 - del x25 - x26 = np.zeros((nbos), dtype=types[float]) - x26 += einsum("w->w", G) - x26 += einsum("ia,wia->w", t1, g.bov) * 2 - t1new += einsum("w,wia->ia", x26, u11) * 2 - del x26 - x28 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x28 += einsum("ia,bacd->icbd", t1, v.vvvv) - t2new += einsum("ia,jbca->ijbc", t1, x28) - del x28 - x29 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x29 += einsum("ia,jabc->ijbc", t1, v.ovvv) - x30 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x30 += einsum("ijab,kjca->kibc", t2, x29) - del x29 - x56 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x56 += einsum("ijab->ijab", x30) - del x30 - x31 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x31 -= einsum("iajb->jiab", v.ovov) - x31 += einsum("iajb->jiba", v.ovov) * 2 - x32 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x32 += einsum("ijab,ikbc->jkac", t2, x31) - x33 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x33 += einsum("ijab,kica->jkbc", t2, x32) - del x32 - x56 += einsum("ijab->ijab", x33) - del x33 - x85 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x85 += einsum("ijab,ikac->jkbc", t2, x31) * 2 - del x31 - x34 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x34 += einsum("ijab,jkla->ilkb", t2, v.ooov) - x41 -= einsum("ijka->ijka", x34) - del x34 - x38 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x38 += einsum("ia,jbca->ijcb", t1, v.ovvv) - x39 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x39 += einsum("ijab->jiab", x38) - x58 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x58 += einsum("ijab,kjca->kibc", t2, x38) - del x38 - x76 += einsum("ijab->ijab", x58) - del x58 - x39 += einsum("iabj->ijba", v.ovvo) - x40 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x40 += einsum("ia,jkba->ijkb", t1, x39) - del x39 - x41 += einsum("ijka->ijka", x40) - del x40 - x42 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x42 += einsum("ia,jikb->jkab", t1, x41) - del x41 - x56 += einsum("ijab->ijab", x42) - del x42 - x43 = np.zeros((nvir, nvir), dtype=types[float]) - x43 += einsum("wia,wib->ab", g.bov, u11) - x44 += einsum("ab->ba", x43) - x45 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x45 += einsum("ab,ijbc->ijca", x44, t2) - del x44 - x56 += einsum("ijab->jiab", x45) - del x45 - x97 += einsum("ab->ba", x43) * -1 - del x43 - x46 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x46 += einsum("ia,wba->wib", t1, g.bvv) - x50 += einsum("wia->wia", x46) - del x46 - x47 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x47 += einsum("ijab->jiab", t2) * 2 - x47 -= einsum("ijab->jiba", t2) - x48 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x48 += einsum("wia,ijba->wjb", g.bov, x47) - del x47 - x50 += einsum("wia->wia", x48) - del x48 - x50 += einsum("wai->wia", g.bvo) - x51 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x51 += einsum("wia,wjb->ijab", u11, x50) - del x50 - x56 -= einsum("ijab->jiba", x51) - del x51 - x52 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x52 += einsum("ijka->ikja", v.ooov) * 2 - x52 -= einsum("ijka->kija", v.ooov) - x53 = np.zeros((nocc, nocc), dtype=types[float]) - x53 += einsum("ia,jika->jk", t1, x52) - x54 += einsum("ij->ij", x53) - del x53 - x55 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x55 += einsum("ij,ikab->kjab", x54, t2) - del x54 - x56 += einsum("ijab->ijba", x55) - del x55 - t2new -= einsum("ijab->ijab", x56) - t2new -= einsum("ijab->jiba", x56) - del x56 - x99 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x99 += einsum("wia,jika->wjk", u11, x52) - del x52 - x57 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x57 += einsum("ia,bjca->ijbc", t1, v.vovv) - x76 -= einsum("ijab->ijab", x57) - del x57 - x61 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x61 += einsum("ia,jkba->ijkb", t1, v.oovv) - x69 += einsum("ijka->jika", x61) - del x61 - x62 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x62 += einsum("ijab,klja->iklb", t2, v.ooov) - x69 -= einsum("ijka->jika", x62) - del x62 - x63 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x63 += einsum("ia,jkla->ijlk", t1, v.ooov) - x64 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x64 += einsum("ia,jkil->jkla", t1, x63) - x69 -= einsum("ijka->jika", x64) - del x64 - x77 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x77 += einsum("ijab,kijl->klab", t2, x63) - del x63 - t2new += einsum("ijab->ijba", x77) - t2new += einsum("ijab->jiab", x77) - del x77 - x66 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x66 -= einsum("ijka->ikja", v.ooov) - x66 += einsum("ijka->kija", v.ooov) * 2 - x67 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x67 += einsum("ijab,ikla->jklb", t2, x66) - del x66 - x69 += einsum("ijka->jika", x67) - del x67 - x70 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x70 += einsum("ia,ijkb->jkab", t1, x69) - del x69 - x76 += einsum("ijab->ijab", x70) - del x70 - x72 += einsum("ij->ji", f.oo) - x73 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x73 += einsum("ij,jkab->kiab", x72, t2) - del x72 - x76 += einsum("ijab->jiba", x73) - del x73 - x74 += einsum("ab->ab", f.vv) - x75 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x75 += einsum("ab,ijbc->ijca", x74, t2) - del x74 - x76 -= einsum("ijab->jiba", x75) - del x75 - t2new -= einsum("ijab->ijba", x76) - t2new -= einsum("ijab->jiab", x76) - del x76 - x78 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x78 += einsum("ijab,kacb->ijkc", t2, v.ovvv) - x79 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x79 += einsum("ia,jkib->jkab", t1, x78) - del x78 - x84 += einsum("ijab->ijab", x79) - del x79 - t2new += einsum("ijab->ijab", x84) * -1 - t2new += einsum("ijab->jiba", x84) * -1 - del x84 - x85 += einsum("iabj->jiba", v.ovvo) * 2 - x85 -= einsum("ijab->jiab", v.oovv) - t2new += einsum("ijab,kica->kjcb", t2, x85) - del x85 - x86 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x86 += einsum("ijab,kalb->ijkl", t2, v.ovov) - x87 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x87 += einsum("ijkl->lkji", x86) - x88 += einsum("ijkl->lkji", x86) - del x86 - x87 += einsum("ijkl->kilj", v.oooo) - t2new += einsum("ijab,ijkl->lkba", t2, x87) - del x87 - x88 += einsum("ijkl->kilj", v.oooo) - x89 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x89 += einsum("ia,ijkl->lkja", t1, x88) * 0.9999999999999993 - del x88 - x89 += einsum("ijak->jkia", v.oovo) * -0.9999999999999993 - t2new += einsum("ia,jkib->jkab", t1, x89) - del x89 - x90 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x90 -= einsum("iabj->jiba", v.ovvo) - x90 += einsum("ijab,jakc->ikbc", t2, v.ovov) - t2new += einsum("ijab,kicb->jkac", t2, x90) - del x90 - x91 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x91 -= einsum("ijab->jiab", v.oovv) - x91 += einsum("ijab,jcka->ikbc", t2, v.ovov) - t2new += einsum("ijab,kicb->jkca", t2, x91) - del x91 - x93 += einsum("wia->wia", gc.bov) - x99 += einsum("ia,wja->wji", t1, x93) - u11new += einsum("wia,ijab->wjb", x93, x7) - del x93 - del x7 - x94 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x94 += einsum("iajb->jiab", v.ovov) * -1 - x94 += einsum("iajb->jiba", v.ovov) * 2 - x97 += einsum("ijab,ijac->bc", t2, x94) * -1 - del x94 - x95 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x95 += einsum("iabc->ibac", v.ovvv) - x95 += einsum("iabc->ibca", v.ovvv) * -0.5 - x97 += einsum("ia,ibac->bc", t1, x95) * 2 - del x95 - x97 += einsum("ab->ab", f.vv) - u11new += einsum("ab,wib->wia", x97, u11) - del x97 - x98 += einsum("ia->ia", f.ov) - x99 += einsum("ia,wja->wij", x98, u11) - del x98 - x99 += einsum("wij->wij", gc.boo) - u11new -= einsum("ia,wij->wja", t1, x99) - del x99 - x100 += einsum("wab->wab", gc.bvv) - u11new += einsum("ia,wba->wib", t1, x100) - del x100 - x101 = np.zeros((nbos, nbos), dtype=types[float]) - x101 += einsum("wx->wx", w) - x101 += einsum("wia,xia->wx", g.bov, u11) * 2 - u11new += einsum("wx,wia->xia", x101, u11) - del x101 - t1new += einsum("wab,wib->ia", g.bvv, u11) * 2 - t1new += einsum("w,wai->ia", s1, g.bvo) * 2 - t1new += einsum("ai->ia", f.vo) * 2 - t2new -= einsum("ijab,jack->kicb", t2, v.ovvo) - t2new -= einsum("ijab,jkca->kibc", t2, v.oovv) - t2new -= einsum("ijab,jkcb->ikac", t2, v.oovv) - t2new += einsum("ijab,jbck->ikac", t2, v.ovvo) * 2 - t2new += einsum("ijab,cadb->jidc", t2, v.vvvv) - t2new -= einsum("ia,ijbk->kjba", t1, v.oovo) - t2new += einsum("aibj->jiba", v.vovo) - s1new += einsum("ia,wia->w", t1, gc.bov) * 2 - s1new += einsum("w,wx->x", s1, w) - s1new += einsum("w->w", G) - u11new += einsum("wai->wia", gc.bvo) - - return {"t1new": t1new, "t2new": t2new, "s1new": s1new, "u11new": u11new} - -def update_lams(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, u11=None, l1=None, l2=None, ls1=None, lu11=None, **kwargs): - # Get boson coupling creation array: - gc = Namespace( - boo=g.boo.transpose(0, 2, 1), - bov=g.bvo.transpose(0, 2, 1), - bvo=g.bov.transpose(0, 2, 1), - bvv=g.bvv.transpose(0, 2, 1), - ) - - # L1, L2, LS1 and LU11 amplitudes - x0 = np.zeros((nocc, nocc), dtype=types[float]) - x0 += einsum("ai,ja->ij", l1, t1) - x87 = np.zeros((nocc, nocc), dtype=types[float]) - x87 += einsum("ij->ij", x0) * 0.5 - x95 = np.zeros((nocc, nocc), dtype=types[float]) - x95 += einsum("ij->ij", x0) - x114 = np.zeros((nocc, nocc), dtype=types[float]) - x114 += einsum("ij->ij", x0) - ls1new = np.zeros((nbos), dtype=types[float]) - ls1new -= einsum("ij,wji->w", x0, g.boo) * 2 - x1 = np.zeros((nocc, nvir), dtype=types[float]) - x1 += einsum("w,wia->ia", s1, g.bov) - x2 = np.zeros((nocc, nvir), dtype=types[float]) - x2 += einsum("ia->ia", x1) - x60 = np.zeros((nocc, nvir), dtype=types[float]) - x60 += einsum("ia->ia", x1) - x69 = np.zeros((nocc, nvir), dtype=types[float]) - x69 += einsum("ia->ia", x1) * 0.5 - x99 = np.zeros((nocc, nvir), dtype=types[float]) - x99 += einsum("ia->ia", x1) - x141 = np.zeros((nocc, nvir), dtype=types[float]) - x141 += einsum("ia->ia", x1) - l1new = np.zeros((nvir, nocc), dtype=types[float]) - l1new -= einsum("ij,ja->ai", x0, x1) - del x0 - del x1 - x2 += einsum("ia->ia", f.ov) - x3 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x3 += einsum("ia,jkab->jkib", x2, t2) * 2 - del x2 - x17 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x17 += einsum("ijka->jkia", x3) * -1 - x17 += einsum("ijka->ikja", x3) * 0.5 - del x3 - x4 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x4 += einsum("ijab,kbca->jikc", t2, v.ovvv) - x7 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x7 += einsum("ijka->ijka", x4) - del x4 - x5 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x5 += einsum("ijab,kalb->ijkl", t2, v.ovov) - x6 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x6 += einsum("ia,jkli->jkla", t1, x5) - x7 += einsum("ijka->ijka", x6) * -1 - del x6 - x17 += einsum("ijka->ikja", x7) - x17 += einsum("ijka->jkia", x7) * -2 - del x7 - x169 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x169 += einsum("ijkl->lkji", x5) - del x5 - x8 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x8 += einsum("iajb->jiba", v.ovov) - x8 += einsum("iajb->jiab", v.ovov) * -0.5 - x9 = np.zeros((nocc, nvir), dtype=types[float]) - x9 += einsum("ia,ijab->jb", t1, x8) - x10 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x10 += einsum("ia,jkab->jkib", x9, t2) * 4 - x17 += einsum("ijka->jkia", x10) * -1 - x17 += einsum("ijka->ikja", x10) * 0.5 - del x10 - x69 += einsum("ia->ia", x9) - del x9 - x59 = np.zeros((nocc, nvir), dtype=types[float]) - x59 += einsum("ia,ijab->jb", t1, x8) * 2 - x60 += einsum("ia->ia", x59) - x177 = np.zeros((nvir, nvir), dtype=types[float]) - x177 += einsum("ia,ib->ab", t1, x59) * -1 - del x59 - x66 = np.zeros((nocc, nocc), dtype=types[float]) - x66 += einsum("ijab,ikab->jk", t2, x8) * 2 - x71 = np.zeros((nocc, nocc), dtype=types[float]) - x71 += einsum("ij->ji", x66) - del x66 - x159 = np.zeros((nvir, nvir), dtype=types[float]) - x159 += einsum("ijab,ijac->bc", t2, x8) - del x8 - x160 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x160 += einsum("ab,acij->ijcb", x159, l2) * 2 - del x159 - x164 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x164 += einsum("ijab->jiab", x160) - del x160 - x11 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x11 += einsum("ia,jbka->ijkb", t1, v.ovov) - x12 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x12 += einsum("ijka->ijka", x11) * -0.5 - x12 += einsum("ijka->ikja", x11) - x13 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x13 += einsum("ijka->ijka", x11) * 2 - x13 += einsum("ijka->ikja", x11) * -1 - x20 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x20 += einsum("ia,jkla->jilk", t1, x11) - x21 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x21 += einsum("ia,jkil->kjla", t1, x20) - x22 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x22 += einsum("ijka->ijka", x21) * 2.0000000000000013 - del x21 - l2new = np.zeros((nvir, nvir, nocc, nocc), dtype=types[float]) - l2new += einsum("abij,ijkl->abkl", l2, x20) - del x20 - x23 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x23 += einsum("ijka->ijka", x11) - x23 += einsum("ijka->ikja", x11) * -0.5 - x58 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x58 += einsum("ijka->jkia", x11) * -1 - x58 += einsum("ijka->kjia", x11) * 2 - x144 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x144 += einsum("ai,ijkb->jkab", l1, x11) - x158 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x158 += einsum("ijab->ijab", x144) - del x144 - x12 += einsum("ijka->jika", v.ooov) - x12 += einsum("ijka->jkia", v.ooov) * -0.5 - x17 += einsum("ijab,kilb->klja", t2, x12) * 2 - del x12 - x13 += einsum("ijka->jika", v.ooov) * -1 - x13 += einsum("ijka->jkia", v.ooov) * 2 - x17 += einsum("ijab,kila->kljb", t2, x13) - del x13 - x14 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x14 += einsum("ijab->ijab", v.oovv) * 2 - x14 += einsum("iabj->ijba", v.ovvo) * -1 - x17 += einsum("ia,jkba->ijkb", t1, x14) * -1 - del x14 - x15 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x15 += einsum("ia,jkla->ijlk", t1, v.ooov) - x16 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x16 += einsum("ijkl->jkil", x15) * -0.5 - x16 += einsum("ijkl->kjil", x15) - x26 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x26 += einsum("ijkl->ijkl", x15) - x26 += einsum("ijkl->ikjl", x15) * -0.5 - x27 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x27 += einsum("ia,jikl->jkla", t1, x26) * 2 - del x26 - x146 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x146 += einsum("abij,jkli->klba", l2, x15) - del x15 - x158 -= einsum("ijab->ijab", x146) - del x146 - x16 += einsum("ijkl->kilj", v.oooo) - x16 += einsum("ijkl->kijl", v.oooo) * -0.5 - x17 += einsum("ia,ijkl->kjla", t1, x16) * 2 - del x16 - x17 += einsum("ijak->jika", v.oovo) - x17 += einsum("ijak->kija", v.oovo) * -2 - l1new += einsum("abij,jkib->ak", l2, x17) - del x17 - x18 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x18 += einsum("ia,jabc->ijbc", t1, v.ovvv) - x19 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x19 += einsum("ia,jkba->jikb", t1, x18) - x22 += einsum("ijka->ijka", x19) * -2 - del x19 - x27 += einsum("ijka->ikja", x22) - x27 += einsum("ijka->jkia", x22) * -0.5 - del x22 - x129 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x129 += einsum("ijab->ijab", x18) - del x18 - x23 += einsum("ijka->jika", v.ooov) * -0.5 - x23 += einsum("ijka->jkia", v.ooov) - x24 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x24 += einsum("ijab->jiba", t2) * -1 - x24 += einsum("ijab->jiab", t2) * 2 - x27 += einsum("ijka,jlba->iklb", x23, x24) * -2 - del x23 - x25 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x25 += einsum("iabj->ijba", v.ovvo) * 2 - x25 += einsum("ijab->ijab", v.oovv) * -1 - x27 += einsum("ia,jkba->ijkb", t1, x25) * -1 - del x25 - l1new += einsum("abij,jkia->bk", l2, x27) - del x27 - x28 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x28 += einsum("ijab->jiba", t2) * 2 - x28 -= einsum("ijab->jiab", t2) - x29 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x29 -= einsum("abij,ikac->jkbc", l2, x28) - x125 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x125 += einsum("iajb,ikac->jkbc", v.ovov, x28) - x126 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x126 += einsum("ijab->jiba", x125) - del x125 - x173 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x173 += einsum("wia,ijab->wjb", g.bov, x28) - x174 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x174 -= einsum("wai,ijab->wjb", lu11, x28) - del x28 - x29 += einsum("abij,kicb->jkac", l2, t2) - x30 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x30 -= einsum("iabc->ibac", v.ovvv) - x30 += einsum("iabc->ibca", v.ovvv) * 2 - l1new -= einsum("ijab,jacb->ci", x29, x30) - del x29 - del x30 - x31 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x31 += einsum("ia,bacd->icbd", t1, v.vvvv) - x32 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x32 += einsum("iabc->ibac", x31) * -0.5 - x32 += einsum("iabc->iabc", x31) - del x31 - x32 += einsum("aibc->ibac", v.vovv) - x32 += einsum("aibc->iabc", v.vovv) * -0.5 - l1new += einsum("abij,ibac->cj", l2, x32) * 2 - del x32 - x33 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x33 += einsum("ai,jkba->ijkb", l1, t2) - x41 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x41 += einsum("ijka->ijka", x33) * -2 - x41 += einsum("ijka->ikja", x33) - del x33 - x34 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x34 += einsum("ia,abjk->kjib", t1, l2) - x35 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x35 += einsum("ia,jkla->jkil", t1, x34) - x36 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x36 += einsum("ia,jikl->jkla", t1, x35) - x41 += einsum("ijka->ijka", x36) * -1 - x41 += einsum("ijka->ikja", x36) * 2.0000000000000013 - del x36 - x52 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x52 += einsum("ijkl->ijlk", x35) * 2 - x52 += einsum("ijkl->ijkl", x35) * -1 - l1new += einsum("ijka,ljik->al", v.ooov, x52) - del x52 - l2new += einsum("iajb,klij->balk", v.ovov, x35) - del x35 - x37 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x37 += einsum("ijka->ijka", x34) * -0.5 - x37 += einsum("ijka->jika", x34) - x41 += einsum("ijab,kila->kljb", t2, x37) * 2 - x45 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x45 += einsum("ijab,kilb->klja", x24, x37) * -1 - del x24 - del x37 - x38 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x38 += einsum("ijka->ijka", x34) * 2 - x38 += einsum("ijka->jika", x34) * -1 - x41 += einsum("ijab,kilb->klja", t2, x38) - del x38 - x46 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x46 += einsum("ijka->ijka", x34) * 2 - x46 -= einsum("ijka->jika", x34) - x47 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x47 += einsum("ia,ijkb->jkba", t1, x46) - l1new -= einsum("iabc,jibc->aj", v.ovvv, x47) - del x47 - x131 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x131 += einsum("ijka,likb->jlab", x11, x46) - x142 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x142 -= einsum("ijab->jiba", x131) - del x131 - l1new -= einsum("iabj,jkib->ak", v.ovvo, x46) - del x46 - x48 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x48 -= einsum("ijka->ijka", x34) - x48 += einsum("ijka->jika", x34) * 2 - x49 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x49 += einsum("ia,ijkb->jkba", t1, x48) - l1new -= einsum("iabc,jiba->cj", v.ovvv, x49) - del x49 - l1new -= einsum("ijab,jkia->bk", v.oovv, x48) - del x48 - x120 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x120 += einsum("ijka,jlib->lkba", v.ooov, x34) - x142 += einsum("ijab->ijab", x120) - del x120 - x121 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x121 += einsum("iabc,jkib->kjac", v.ovvv, x34) - x142 -= einsum("ijab->ijab", x121) - del x121 - x122 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x122 += einsum("ijka,lijb->lkba", x11, x34) - x142 += einsum("ijab->ijab", x122) - del x122 - x147 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x147 += einsum("ijka,jlkb->liba", v.ooov, x34) - x158 -= einsum("ijab->ijab", x147) - del x147 - x148 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x148 += einsum("ijka,iljb->lkba", x11, x34) - del x11 - x158 -= einsum("ijab->ijab", x148) - del x148 - x39 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x39 += einsum("ijab->jiba", t2) - x39 += einsum("ijab->jiab", t2) * -0.5 - x40 = np.zeros((nocc, nocc), dtype=types[float]) - x40 += einsum("abij,ikab->jk", l2, x39) - x41 += einsum("ia,jk->jkia", t1, x40) * 2 - l1new += einsum("iajb,kjib->ak", v.ovov, x41) - del x41 - x87 += einsum("ij->ij", x40) - x167 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x167 += einsum("ij,jakb->kiab", x40, v.ovov) * 2 - x168 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x168 += einsum("ijab->jiba", x167) - del x167 - x171 = np.zeros((nocc, nocc), dtype=types[float]) - x171 += einsum("ij->ij", x40) - l1new += einsum("ia,ji->aj", f.ov, x40) * -2 - del x40 - x44 = np.zeros((nocc, nocc), dtype=types[float]) - x44 += einsum("abij,ikab->jk", l2, x39) * 2 - x45 += einsum("ia,jk->jkia", t1, x44) * -1 - x95 += einsum("ij->ij", x44) - x110 = np.zeros((nocc, nocc), dtype=types[float]) - x110 += einsum("ij->ij", x44) - del x44 - x83 = np.zeros((nocc, nvir), dtype=types[float]) - x83 += einsum("ijka,jiba->kb", x34, x39) - x89 = np.zeros((nocc, nvir), dtype=types[float]) - x89 += einsum("ia->ia", x83) - del x83 - x42 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x42 += einsum("abij,klab->ijkl", l2, t2) - x43 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x43 += einsum("ia,jikl->jkla", t1, x42) - x45 += einsum("ijka->ijka", x43) - x45 += einsum("ijka->ikja", x43) * -0.5 - del x43 - l1new += einsum("iajb,kjia->bk", v.ovov, x45) * 2 - del x45 - x53 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x53 += einsum("ijkl->jilk", x42) - x53 += einsum("ijkl->jikl", x42) * -0.5 - l1new += einsum("ijka,jlik->al", v.ooov, x53) * 2 - del x53 - l2new += einsum("iajb,klji->ablk", v.ovov, x42) - del x42 - x50 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x50 += einsum("abij,kibc->jkac", l2, t2) - x51 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x51 += einsum("iabc->ibac", v.ovvv) * 2 - x51 -= einsum("iabc->ibca", v.ovvv) - x103 = np.zeros((nbos, nvir, nvir), dtype=types[float]) - x103 += einsum("wia,ibac->wbc", u11, x51) - x112 = np.zeros((nvir, nvir), dtype=types[float]) - x112 += einsum("ia,ibac->bc", t1, x51) - x113 = np.zeros((nvir, nvir), dtype=types[float]) - x113 += einsum("ab->ab", x112) - x137 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x137 += einsum("ab,acij->ijcb", x112, l2) - del x112 - x142 += einsum("ijab->jiab", x137) - del x137 - l1new -= einsum("ijab,jacb->ci", x50, x51) - del x50 - x54 = np.zeros((nocc, nvir), dtype=types[float]) - x54 += einsum("w,wai->ia", s1, g.bvo) - x78 = np.zeros((nocc, nvir), dtype=types[float]) - x78 += einsum("ia->ia", x54) * 0.5 - x170 = np.zeros((nocc, nvir), dtype=types[float]) - x170 += einsum("ia->ia", x54) - del x54 - x55 = np.zeros((nocc, nvir), dtype=types[float]) - x55 += einsum("wab,wib->ia", g.bvv, u11) - x78 += einsum("ia->ia", x55) * 0.5 - x170 += einsum("ia->ia", x55) - del x55 - x56 = np.zeros((nocc, nvir), dtype=types[float]) - x56 += einsum("ijab,jkib->ka", t2, v.ooov) - x78 += einsum("ia->ia", x56) * 0.5 - x170 += einsum("ia->ia", x56) - del x56 - x57 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x57 += einsum("ijab->jiba", t2) * -0.5 - x57 += einsum("ijab->jiab", t2) - x78 += einsum("iabc,ijca->jb", v.ovvv, x57) - x93 = np.zeros((nvir, nvir), dtype=types[float]) - x93 += einsum("abij,ijbc->ac", l2, x57) * 2 - x94 = np.zeros((nvir, nvir), dtype=types[float]) - x94 += einsum("ab->ab", x93) - x178 = np.zeros((nvir, nvir), dtype=types[float]) - x178 += einsum("ab->ab", x93) - del x93 - x165 = np.zeros((nvir, nvir), dtype=types[float]) - x165 += einsum("abij,ijbc->ac", l2, x57) - x166 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x166 += einsum("ab,ibjc->ijca", x165, v.ovov) * 2 - del x165 - x168 += einsum("ijab->jiba", x166) - del x166 - l2new += einsum("ijab->baij", x168) * -1 - l2new += einsum("ijab->abji", x168) * -1 - del x168 - x170 += einsum("iabc,ijca->jb", v.ovvv, x57) * 2 - del x57 - x58 += einsum("ijka->ikja", v.ooov) * 2 - x78 += einsum("ijab,jika->kb", t2, x58) * -0.5 - x170 += einsum("ijab,jika->kb", t2, x58) * -1 - del x58 - x60 += einsum("ia->ia", f.ov) - x78 += einsum("ia,ijab->jb", x60, x39) - x170 += einsum("ia,ijab->jb", x60, x39) * 2 - del x60 - del x39 - x61 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x61 += einsum("iabj->ijba", v.ovvo) - x61 += einsum("ijab->ijab", v.oovv) * -0.5 - x78 += einsum("ia,ijba->jb", t1, x61) - x170 += einsum("ia,ijba->jb", t1, x61) * 2 - del x61 - x62 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x62 += einsum("ia,wja->wji", t1, g.bov) - x63 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x63 += einsum("wij->wij", x62) - x104 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x104 += einsum("wij->wij", x62) - del x62 - x63 += einsum("wij->wij", g.boo) - x78 += einsum("wia,wij->ja", u11, x63) * -0.5 - x170 += einsum("wia,wij->ja", u11, x63) * -1 - del x63 - x64 = np.zeros((nocc, nocc), dtype=types[float]) - x64 += einsum("w,wij->ij", s1, g.boo) - x71 += einsum("ij->ij", x64) - x154 = np.zeros((nocc, nocc), dtype=types[float]) - x154 += einsum("ij->ij", x64) - del x64 - x65 = np.zeros((nocc, nocc), dtype=types[float]) - x65 += einsum("wia,wja->ij", g.bov, u11) - x71 += einsum("ij->ij", x65) - x154 += einsum("ij->ij", x65) - del x65 - x67 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x67 += einsum("ijka->ikja", v.ooov) * -0.5 - x67 += einsum("ijka->kija", v.ooov) - x68 = np.zeros((nocc, nocc), dtype=types[float]) - x68 += einsum("ia,ijka->jk", t1, x67) * 2 - del x67 - x71 += einsum("ij->ij", x68) - del x68 - x69 += einsum("ia->ia", f.ov) * 0.5 - x70 = np.zeros((nocc, nocc), dtype=types[float]) - x70 += einsum("ia,ja->ij", t1, x69) * 2 - x71 += einsum("ij->ji", x70) - del x70 - lu11new = np.zeros((nbos, nvir, nocc), dtype=types[float]) - lu11new += einsum("w,ia->wai", ls1, x69) * 4 - del x69 - x71 += einsum("ij->ij", f.oo) - x78 += einsum("ia,ij->ja", t1, x71) * -0.5 - x170 += einsum("ia,ij->ja", t1, x71) * -1 - l1new += einsum("ai,ji->aj", l1, x71) * -1 - lu11new += einsum("ij,waj->wai", x71, lu11) * -1 - del x71 - x72 = np.zeros((nvir, nvir), dtype=types[float]) - x72 += einsum("w,wab->ab", s1, g.bvv) - x75 = np.zeros((nvir, nvir), dtype=types[float]) - x75 += einsum("ab->ab", x72) - x113 += einsum("ab->ab", x72) - x151 = np.zeros((nvir, nvir), dtype=types[float]) - x151 += einsum("ab->ab", x72) - x177 += einsum("ab->ab", x72) - del x72 - x73 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x73 += einsum("iabc->ibac", v.ovvv) - x73 += einsum("iabc->ibca", v.ovvv) * -0.5 - x74 = np.zeros((nvir, nvir), dtype=types[float]) - x74 += einsum("ia,ibac->bc", t1, x73) * 2 - del x73 - x75 += einsum("ab->ab", x74) - x177 += einsum("ab->ab", x74) - del x74 - x75 += einsum("ab->ab", f.vv) - x78 += einsum("ia,ba->ib", t1, x75) * 0.5 - x170 += einsum("ia,ba->ib", t1, x75) - del x75 - x76 = np.zeros((nbos), dtype=types[float]) - x76 += einsum("ia,wia->w", t1, g.bov) - x77 = np.zeros((nbos), dtype=types[float]) - x77 += einsum("w->w", x76) * 2 - del x76 - x77 += einsum("w->w", G) - x78 += einsum("w,wia->ia", x77, u11) * 0.5 - x170 += einsum("w,wia->ia", x77, u11) - del x77 - x78 += einsum("ai->ia", f.vo) * 0.5 - x79 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x79 += einsum("abij->jiba", l2) * 2 - x79 += einsum("abij->jiab", l2) * -1 - l1new += einsum("ia,ijab->bj", x78, x79) * 2 - del x78 - del x79 - x80 = np.zeros((nocc, nvir), dtype=types[float]) - x80 += einsum("w,wia->ia", ls1, u11) - x89 += einsum("ia->ia", x80) * -0.5 - del x80 - x81 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x81 += einsum("ia,waj->wji", t1, lu11) - x82 = np.zeros((nocc, nvir), dtype=types[float]) - x82 += einsum("wia,wij->ja", u11, x81) - x89 += einsum("ia->ia", x82) * 0.5 - del x82 - x174 += einsum("ia,wij->wja", t1, x81) - x84 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x84 += einsum("ijab->jiba", t2) * 2 - x84 += einsum("ijab->jiab", t2) * -1 - x85 = np.zeros((nocc, nvir), dtype=types[float]) - x85 += einsum("ai,ijab->jb", l1, x84) * 0.5 - del x84 - x89 += einsum("ia->ia", x85) * -1 - del x85 - x86 = np.zeros((nocc, nocc), dtype=types[float]) - x86 += einsum("wai,wja->ij", lu11, u11) - x87 += einsum("ij->ij", x86) * 0.5 - x88 = np.zeros((nocc, nvir), dtype=types[float]) - x88 += einsum("ia,ij->ja", t1, x87) - del x87 - x89 += einsum("ia->ia", x88) - del x88 - x95 += einsum("ij->ij", x86) - lu11new += einsum("ij,wja->wai", x95, g.bov) * -1 - x110 += einsum("ij->ij", x86) - x111 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x111 += einsum("w,ij->wij", s1, x110) * 0.5 - del x110 - x114 += einsum("ij->ij", x86) - x156 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x156 += einsum("ij,jakb->kiab", x114, v.ovov) - x158 += einsum("ijab->jiba", x156) - del x156 - x171 += einsum("ij->ij", x86) * 0.5 - del x86 - ls1new += einsum("ij,wji->w", x171, g.boo) * -4 - del x171 - x89 += einsum("ia->ia", t1) * -0.5 - ls1new += einsum("ia,wia->w", x89, g.bov) * -4 - x90 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x90 += einsum("iajb->jiba", v.ovov) * 2 - x90 -= einsum("iajb->jiab", v.ovov) - x98 = np.zeros((nocc, nvir), dtype=types[float]) - x98 += einsum("ia,ijab->jb", t1, x90) - x99 += einsum("ia->ia", x98) - x115 = np.zeros((nocc, nvir), dtype=types[float]) - x115 += einsum("ia->ia", x98) - x134 = np.zeros((nocc, nocc), dtype=types[float]) - x134 += einsum("ia,ja->ij", t1, x98) - x135 = np.zeros((nocc, nocc), dtype=types[float]) - x135 += einsum("ij->ji", x134) - del x134 - x138 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x138 += einsum("ia,jkib->jkba", x98, x34) - x142 -= einsum("ijab->ijab", x138) - del x138 - x142 += einsum("ai,jb->ijab", l1, x98) - del x98 - x100 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x100 += einsum("wia,ijab->wjb", u11, x90) - x101 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x101 += einsum("wia->wia", x100) - x139 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x139 += einsum("wai,wjb->ijab", lu11, x100) - del x100 - x142 += einsum("ijab->ijab", x139) - del x139 - l1new += einsum("ia,ijab->bj", x89, x90) * -2 - del x89 - lu11new -= einsum("wia,ijab->wbj", x174, x90) - del x90 - del x174 - x91 = np.zeros((nvir, nvir), dtype=types[float]) - x91 += einsum("ai,ib->ab", l1, t1) - x94 += einsum("ab->ab", x91) - del x91 - x92 = np.zeros((nvir, nvir), dtype=types[float]) - x92 += einsum("wai,wib->ab", lu11, u11) - x94 += einsum("ab->ab", x92) - l1new += einsum("ab,iacb->ci", x94, x51) - ls1new += einsum("ab,wab->w", x94, g.bvv) * 2 - del x94 - x145 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x145 += einsum("ab,ibjc->jiac", x92, v.ovov) - x158 += einsum("ijab->ijab", x145) - del x145 - x178 += einsum("ab->ab", x92) - del x92 - lu11new += einsum("ab,wib->wai", x178, g.bov) * -1 - del x178 - x96 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x96 += einsum("ijka->ikja", v.ooov) * 2 - x96 -= einsum("ijka->kija", v.ooov) - l1new += einsum("ij,jkia->ak", x95, x96) * -1 - del x95 - lu11new -= einsum("wij,jkia->wak", x81, x96) - del x96 - x97 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x97 -= einsum("ijka->ikja", v.ooov) - x97 += einsum("ijka->kija", v.ooov) * 2 - x102 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x102 += einsum("wia,ijka->wjk", u11, x97) - x132 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x132 += einsum("ijka,lkjb->ilab", x34, x97) - x142 -= einsum("ijab->ijab", x132) - del x132 - x133 = np.zeros((nocc, nocc), dtype=types[float]) - x133 += einsum("ia,ijka->jk", t1, x97) - del x97 - x135 += einsum("ij->ij", x133) - del x133 - x136 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x136 += einsum("ij,abjk->kiab", x135, l2) - del x135 - x142 -= einsum("ijab->ijba", x136) - del x136 - x99 += einsum("ia->ia", f.ov) - x102 += einsum("ia,wja->wij", x99, u11) - x116 = np.zeros((nbos), dtype=types[float]) - x116 += einsum("ia,wia->w", x99, u11) * 2 - del x99 - x101 += einsum("wia->wia", gc.bov) - x102 += einsum("ia,wja->wji", t1, x101) - l1new -= einsum("wia,wji->aj", x101, x81) - del x101 - x102 += einsum("wij->wij", gc.boo) - l1new -= einsum("wai,wji->aj", lu11, x102) - del x102 - x103 += einsum("wab->wab", gc.bvv) - l1new += einsum("wai,wab->bi", lu11, x103) - del x103 - x104 += einsum("wij->wij", g.boo) - x173 -= einsum("ia,wij->wja", t1, x104) - lu11new -= einsum("ai,wji->waj", l1, x104) - x105 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x105 += einsum("abij->jiba", l2) * 2 - x105 -= einsum("abij->jiab", l2) - x106 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x106 += einsum("wia,ijab->wjb", u11, x105) - x140 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x140 += einsum("wia,wjb->ijab", g.bov, x106) - x142 += einsum("ijab->ijab", x140) - del x140 - l1new -= einsum("wij,wja->ai", x104, x106) - del x104 - l1new += einsum("wab,wia->bi", g.bvv, x106) - del x106 - x107 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x107 += einsum("iabj->ijba", v.ovvo) * 2 - x107 -= einsum("ijab->ijab", v.oovv) - l1new += einsum("ai,jiab->bj", l1, x107) - lu11new += einsum("wai,jiab->wbj", lu11, x107) - del x107 - x108 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x108 += einsum("abij->jiba", l2) - x108 += einsum("abij->jiab", l2) * -0.5 - x109 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x109 += einsum("wia,ijab->wjb", u11, x108) - del x108 - x111 += einsum("ia,wja->wji", t1, x109) - del x109 - x111 += einsum("ai,wja->wij", l1, u11) * 0.5 - l1new += einsum("wia,wji->aj", g.bov, x111) * -2 - del x111 - x113 += einsum("ab->ab", f.vv) - l1new += einsum("ai,ab->bi", l1, x113) - del x113 - x115 += einsum("ia->ia", f.ov) - l1new -= einsum("ij,ja->ai", x114, x115) - del x114 - del x115 - x116 += einsum("w->w", G) - x116 += einsum("w,wx->x", s1, w) - x116 += einsum("ia,wia->w", t1, gc.bov) * 2 - l1new += einsum("w,wai->ai", x116, lu11) - del x116 - x117 = np.zeros((nbos), dtype=types[float]) - x117 += einsum("w->w", s1) - x117 += einsum("ai,wia->w", l1, u11) * 2 - l1new += einsum("w,wia->ai", x117, g.bov) - del x117 - x118 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x118 += einsum("wia,wbj->ijab", gc.bov, lu11) - x142 += einsum("ijab->ijab", x118) - del x118 - x119 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x119 += einsum("ai,jikb->jkab", l1, v.ooov) - x142 -= einsum("ijab->ijab", x119) - del x119 - x123 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x123 += einsum("ia,jbca->ijcb", t1, v.ovvv) - x126 += einsum("ijab->ijab", x123) - del x123 - x124 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x124 += einsum("ijab,icka->jkbc", t2, v.ovov) - x126 -= einsum("ijab->ijab", x124) - del x124 - x126 += einsum("iabj->jiba", v.ovvo) - x127 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x127 += einsum("ijab,ikac->jkbc", x105, x126) - del x126 - x142 += einsum("ijab->ijab", x127) - del x127 - x128 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x128 += einsum("ijab,kbic->jkac", t2, v.ovov) - x129 -= einsum("ijab->ijab", x128) - del x128 - x129 += einsum("ijab->jiab", v.oovv) - x130 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x130 += einsum("abij,ikac->jkbc", l2, x129) - x142 -= einsum("ijab->ijab", x130) - del x130 - x149 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x149 += einsum("abij,ikbc->jkac", l2, x129) - del x129 - x158 += einsum("ijab->ijab", x149) - del x149 - x141 += einsum("ia->ia", f.ov) - x142 += einsum("ai,jb->jiba", l1, x141) - l2new += einsum("ijab->abij", x142) - l2new += einsum("ijab->baji", x142) - del x142 - x153 = np.zeros((nocc, nocc), dtype=types[float]) - x153 += einsum("ia,ja->ij", t1, x141) - x154 += einsum("ij->ji", x153) - del x153 - x157 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x157 += einsum("ia,jkib->jkba", x141, x34) - del x34 - x158 += einsum("ijab->ijba", x157) - del x157 - lu11new -= einsum("ia,wji->waj", x141, x81) - del x81 - del x141 - x143 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x143 += einsum("ai,jbac->ijbc", l1, v.ovvv) - x158 -= einsum("ijab->ijab", x143) - del x143 - x150 = np.zeros((nvir, nvir), dtype=types[float]) - x150 += einsum("wia,wib->ab", g.bov, u11) - x151 -= einsum("ab->ba", x150) - x177 += einsum("ab->ba", x150) * -1 - del x150 - x151 += einsum("ab->ab", f.vv) - x152 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x152 += einsum("ab,acij->ijcb", x151, l2) - del x151 - x158 -= einsum("ijab->jiba", x152) - del x152 - x154 += einsum("ij->ij", f.oo) - x155 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x155 += einsum("ij,abjk->kiab", x154, l2) - del x154 - x158 += einsum("ijab->jiba", x155) - del x155 - l2new -= einsum("ijab->baij", x158) - l2new -= einsum("ijab->abji", x158) - del x158 - x161 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x161 += einsum("iajb->jiba", v.ovov) * -0.5 - x161 += einsum("iajb->jiab", v.ovov) - x162 = np.zeros((nocc, nocc), dtype=types[float]) - x162 += einsum("ijab,ikba->jk", t2, x161) - del x161 - x163 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x163 += einsum("ij,abik->kjab", x162, l2) * 2 - del x162 - x164 += einsum("ijab->ijba", x163) - del x163 - l2new += einsum("ijab->abij", x164) * -1 - l2new += einsum("ijab->baji", x164) * -1 - del x164 - x169 += einsum("ijkl->kilj", v.oooo) - l2new += einsum("abij,klji->ablk", l2, x169) - del x169 - x170 += einsum("ai->ia", f.vo) - ls1new += einsum("ia,wai->w", x170, lu11) * 2 - del x170 - x172 = np.zeros((nbos, nbos), dtype=types[float]) - x172 += einsum("wai,xia->wx", lu11, u11) - lu11new += einsum("wx,xia->wai", x172, g.bov) * 2 - del x172 - x173 += einsum("wai->wia", g.bvo) - x173 += einsum("ia,wba->wib", t1, g.bvv) - lu11new += einsum("wia,ijab->wbj", x173, x105) - del x105 - del x173 - x175 = np.zeros((nbos, nvir, nvir), dtype=types[float]) - x175 += einsum("ia,wbi->wba", t1, lu11) - lu11new += einsum("wab,iacb->wci", x175, x51) - del x51 - del x175 - x176 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x176 += einsum("iajb->jiba", v.ovov) * 2 - x176 += einsum("iajb->jiab", v.ovov) * -1 - x177 += einsum("ijab,ijac->bc", t2, x176) * -1 - del x176 - x177 += einsum("ab->ab", f.vv) - lu11new += einsum("ab,wai->wbi", x177, lu11) - del x177 - x179 = np.zeros((nbos, nbos), dtype=types[float]) - x179 += einsum("wx->wx", w) - x179 += einsum("wia,xia->wx", g.bov, u11) * 2 - lu11new += einsum("wx,xai->wai", x179, lu11) - del x179 - l1new += einsum("w,wia->ai", ls1, gc.bov) - l1new += einsum("ia->ai", f.ov) - l2new += einsum("iajb->baji", v.ovov) - l2new += einsum("abij,bcad->cdji", l2, v.vvvv) - ls1new += einsum("ai,wai->w", l1, g.bvo) * 2 - ls1new += einsum("w,xw->x", ls1, w) - ls1new += einsum("w->w", G) - lu11new += einsum("ai,wab->wbi", l1, g.bvv) - lu11new += einsum("wia->wai", g.bov) - - return {"l1new": l1new, "l2new": l2new, "ls1new": ls1new, "lu11new": lu11new} - -def make_rdm1_f(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, u11=None, l1=None, l2=None, ls1=None, lu11=None, **kwargs): - # Get boson coupling creation array: - gc = Namespace( - boo=g.boo.transpose(0, 2, 1), - bov=g.bvo.transpose(0, 2, 1), - bvo=g.bov.transpose(0, 2, 1), - bvv=g.bvv.transpose(0, 2, 1), - ) - - delta_oo = np.eye(nocc) - delta_vv = np.eye(nvir) - - # 1RDM - x0 = np.zeros((nocc, nocc), dtype=types[float]) - x0 += einsum("wai,wja->ij", lu11, u11) - x8 = np.zeros((nocc, nocc), dtype=types[float]) - x8 += einsum("ij->ij", x0) - rdm1_f_oo = np.zeros((nocc, nocc), dtype=types[float]) - rdm1_f_oo -= einsum("ij->ij", x0) * 2 - del x0 - x1 = np.zeros((nocc, nocc), dtype=types[float]) - x1 += einsum("ai,ja->ij", l1, t1) - x8 += einsum("ij->ij", x1) - rdm1_f_oo -= einsum("ij->ij", x1) * 2 - del x1 - x2 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x2 += einsum("ijab->jiab", t2) * 2 - x2 += einsum("ijab->jiba", t2) * -1 - rdm1_f_oo += einsum("abij,ikba->jk", l2, x2) * -2 - del x2 - x3 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x3 += einsum("ia,waj->wji", t1, lu11) - rdm1_f_vo = np.zeros((nvir, nocc), dtype=types[float]) - rdm1_f_vo -= einsum("wia,wij->aj", u11, x3) * 2 - del x3 - x4 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x4 += einsum("ia,bajk->jkib", t1, l2) - x5 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x5 += einsum("ijka->ijka", x4) * -1 - x5 += einsum("ijka->jika", x4) * 2 - del x4 - rdm1_f_vo += einsum("ijab,ijkb->ak", t2, x5) * -2 - del x5 - x6 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x6 -= einsum("ijab->jiab", t2) - x6 += einsum("ijab->jiba", t2) * 2 - rdm1_f_vo += einsum("ai,ijab->bj", l1, x6) * 2 - del x6 - x7 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x7 += einsum("ijab->jiab", t2) - x7 += einsum("ijab->jiba", t2) * -0.5 - x8 += einsum("abij,ikba->jk", l2, x7) * 2 - del x7 - rdm1_f_vo += einsum("ia,ij->aj", t1, x8) * -2 - del x8 - x9 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x9 += einsum("abij->jiab", l2) * -0.5 - x9 += einsum("abij->jiba", l2) - rdm1_f_vv = np.zeros((nvir, nvir), dtype=types[float]) - rdm1_f_vv += einsum("ijab,ijcb->ac", t2, x9) * 4 - del x9 - rdm1_f_oo += einsum("ij->ji", delta_oo) * 2 - rdm1_f_ov = np.zeros((nocc, nvir), dtype=types[float]) - rdm1_f_ov += einsum("ai->ia", l1) * 2 - rdm1_f_vo += einsum("ia->ai", t1) * 2 - rdm1_f_vo += einsum("w,wia->ai", ls1, u11) * 2 - rdm1_f_vv += einsum("ai,ib->ba", l1, t1) * 2 - rdm1_f_vv += einsum("wai,wib->ba", lu11, u11) * 2 - - rdm1_f = np.block([[rdm1_f_oo, rdm1_f_ov], [rdm1_f_vo, rdm1_f_vv]]) - - return rdm1_f - -def make_rdm2_f(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, u11=None, l1=None, l2=None, ls1=None, lu11=None, **kwargs): - # Get boson coupling creation array: - gc = Namespace( - boo=g.boo.transpose(0, 2, 1), - bov=g.bvo.transpose(0, 2, 1), - bvo=g.bov.transpose(0, 2, 1), - bvv=g.bvv.transpose(0, 2, 1), - ) - - delta_oo = np.eye(nocc) - delta_vv = np.eye(nvir) - - # 2RDM - x0 = np.zeros((nocc, nocc), dtype=types[float]) - x0 += einsum("wai,wja->ij", lu11, u11) - x15 = np.zeros((nocc, nocc), dtype=types[float]) - x15 += einsum("ij->ij", x0) - x24 = np.zeros((nocc, nvir), dtype=types[float]) - x24 += einsum("ia,ij->ja", t1, x0) - x27 = np.zeros((nocc, nvir), dtype=types[float]) - x27 += einsum("ia->ia", x24) - del x24 - x55 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x55 += einsum("ij,kiab->kjab", x0, t2) - x64 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x64 += einsum("ijab->ijab", x55) - del x55 - rdm2_f_oooo = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - rdm2_f_oooo -= einsum("ij,kl->ijkl", delta_oo, x0) * 4 - rdm2_f_oooo += einsum("ij,kl->ilkj", delta_oo, x0) * 2 - rdm2_f_oooo += einsum("ij,kl->kijl", delta_oo, x0) * 2 - rdm2_f_oooo -= einsum("ij,kl->klji", delta_oo, x0) * 4 - del x0 - x1 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x1 += einsum("ijab->jiab", t2) * -0.5 - x1 += einsum("ijab->jiba", t2) - x2 = np.zeros((nocc, nocc), dtype=types[float]) - x2 += einsum("abij,ikab->kj", l2, x1) - del x1 - x10 = np.zeros((nocc, nvir), dtype=types[float]) - x10 += einsum("ia,ji->ja", t1, x2) * 2 - x11 = np.zeros((nocc, nvir), dtype=types[float]) - x11 += einsum("ia->ia", x10) - del x10 - x33 = np.zeros((nocc, nvir), dtype=types[float]) - x33 += einsum("ia,ji->ja", t1, x2) - x34 = np.zeros((nocc, nvir), dtype=types[float]) - x34 += einsum("ia->ia", x33) - del x33 - x77 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x77 += einsum("ij,jkab->ikab", x2, t2) * 8 - x78 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x78 += einsum("ijab->jiba", x77) - del x77 - rdm2_f_oooo += einsum("ij,kl->jilk", delta_oo, x2) * -8 - rdm2_f_oooo += einsum("ij,kl->jkli", delta_oo, x2) * 4 - rdm2_f_oooo += einsum("ij,kl->ljik", delta_oo, x2) * 4 - rdm2_f_oooo += einsum("ij,kl->lkij", delta_oo, x2) * -8 - rdm2_f_oovo = np.zeros((nocc, nocc, nvir, nocc), dtype=types[float]) - rdm2_f_oovo += einsum("ia,jk->kiaj", t1, x2) * 4 - rdm2_f_oovo += einsum("ia,jk->kjai", t1, x2) * -8 - rdm2_f_vooo = np.zeros((nvir, nocc, nocc, nocc), dtype=types[float]) - rdm2_f_vooo += einsum("ia,jk->aikj", t1, x2) * -8 - rdm2_f_vooo += einsum("ia,jk->ajki", t1, x2) * 4 - del x2 - x3 = np.zeros((nocc, nocc), dtype=types[float]) - x3 += einsum("ai,ja->ij", l1, t1) - x15 += einsum("ij->ij", x3) - x16 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x16 += einsum("ia,jk->jika", t1, x15) - x83 = np.zeros((nocc, nvir), dtype=types[float]) - x83 += einsum("ia,ij->ja", t1, x15) - del x15 - x84 = np.zeros((nocc, nvir), dtype=types[float]) - x84 += einsum("ia->ia", x83) - x85 = np.zeros((nocc, nvir), dtype=types[float]) - x85 += einsum("ia->ia", x83) - del x83 - x30 = np.zeros((nocc, nvir), dtype=types[float]) - x30 += einsum("ia,ij->ja", t1, x3) - x31 = np.zeros((nocc, nvir), dtype=types[float]) - x31 -= einsum("ia->ia", x30) - del x30 - x65 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x65 += einsum("ij,kiab->jkab", x3, t2) - x68 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x68 += einsum("ijab->ijab", x65) - del x65 - rdm2_f_oooo -= einsum("ij,kl->jikl", delta_oo, x3) * 4 - rdm2_f_oooo += einsum("ij,kl->kijl", delta_oo, x3) * 2 - rdm2_f_oooo += einsum("ij,kl->jlki", delta_oo, x3) * 2 - rdm2_f_oooo -= einsum("ij,kl->klji", delta_oo, x3) * 4 - del x3 - x4 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x4 += einsum("abij,klab->ijkl", l2, t2) - x7 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x7 += einsum("ia,jikl->jkla", t1, x4) - x12 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x12 += einsum("ijka->ijka", x7) * 4 - x79 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x79 += einsum("ia,ijkb->kjba", t1, x7) - x82 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x82 += einsum("ijab->ijab", x79) * 2.0000000000000013 - del x79 - rdm2_f_vooo += einsum("ijka->ajik", x7) * -2 - rdm2_f_vooo += einsum("ijka->akij", x7) * 4 - del x7 - x80 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x80 += einsum("ijkl->jilk", x4) - rdm2_f_oooo += einsum("ijkl->jkil", x4) * -2 - rdm2_f_oooo += einsum("ijkl->jlik", x4) * 4 - del x4 - x5 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x5 += einsum("ia,bajk->jkib", t1, l2) - x6 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x6 += einsum("ia,jkla->kjli", t1, x5) - x20 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x20 += einsum("ia,ijkl->jlka", t1, x6) - x28 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x28 -= einsum("ijka->ijka", x20) - x37 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x37 += einsum("ijka->ijka", x20) - x71 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x71 += einsum("ia,ijkb->jkab", t1, x20) - del x20 - x73 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x73 += einsum("ijab->ijab", x71) - del x71 - x80 += einsum("ijkl->ijkl", x6) - x81 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x81 += einsum("ijab,ijkl->klab", t2, x80) * 2 - del x80 - x82 += einsum("ijab->jiba", x81) - del x81 - rdm2_f_vovo = np.zeros((nvir, nocc, nvir, nocc), dtype=types[float]) - rdm2_f_vovo += einsum("ijab->ajbi", x82) * -1 - rdm2_f_vovo += einsum("ijab->bjai", x82) * 2 - del x82 - rdm2_f_oooo += einsum("ijkl->ikjl", x6) * 4 - rdm2_f_oooo -= einsum("ijkl->iljk", x6) * 2 - del x6 - x8 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x8 += einsum("ijka->ijka", x5) * -0.5 - x8 += einsum("ijka->jika", x5) - x9 = np.zeros((nocc, nvir), dtype=types[float]) - x9 += einsum("ijab,ijkb->ka", t2, x8) * 2 - x11 += einsum("ia->ia", x9) - del x9 - x12 += einsum("ij,ka->jika", delta_oo, x11) * -4 - del x11 - rdm2_f_oovo += einsum("ijka->ijak", x12) - rdm2_f_oovo += einsum("ijka->ikaj", x12) * -0.5 - del x12 - x32 = np.zeros((nocc, nvir), dtype=types[float]) - x32 += einsum("ijab,ijkb->ka", t2, x8) - del x8 - x34 += einsum("ia->ia", x32) - del x32 - x78 += einsum("ia,jb->ijab", t1, x34) * 8.000000000000005 - rdm2_f_vooo += einsum("ij,ka->ajik", delta_oo, x34) * 4 - rdm2_f_vooo += einsum("ij,ka->akij", delta_oo, x34) * -8 - del x34 - x14 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x14 += einsum("ijab,kjla->klib", t2, x5) - x16 -= einsum("ijka->ijka", x14) - x66 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x66 -= einsum("ijka->ijka", x14) - del x14 - x19 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x19 += einsum("ijab,jkla->klib", t2, x5) - x28 -= einsum("ijka->ijka", x19) - del x19 - x21 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x21 += einsum("ijka->ijka", x5) * 2 - x21 -= einsum("ijka->jika", x5) - x22 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x22 += einsum("ijab,ikla->kljb", t2, x21) - x28 += einsum("ijka->ijka", x22) - del x22 - x42 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x42 += einsum("ia,ijkb->jkab", t1, x21) - del x21 - rdm2_f_oovv = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - rdm2_f_oovv -= einsum("ijab->ijab", x42) * 2 - rdm2_f_vvoo = np.zeros((nvir, nvir, nocc, nocc), dtype=types[float]) - rdm2_f_vvoo -= einsum("ijab->abij", x42) * 2 - del x42 - x35 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x35 += einsum("ijab,kjlb->klia", t2, x5) - x37 += einsum("ijka->ijka", x35) - x58 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x58 += einsum("ijka->ijka", x35) - del x35 - x49 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x49 -= einsum("ijka->ijka", x5) - x49 += einsum("ijka->jika", x5) * 2 - x50 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x50 += einsum("ia,ijkb->jkab", t1, x49) - del x49 - rdm2_f_ovvo = np.zeros((nocc, nvir, nvir, nocc), dtype=types[float]) - rdm2_f_ovvo -= einsum("ijab->ibaj", x50) * 2 - rdm2_f_voov = np.zeros((nvir, nocc, nocc, nvir), dtype=types[float]) - rdm2_f_voov -= einsum("ijab->ajib", x50) * 2 - del x50 - x90 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x90 += einsum("ia,jikb->jkba", t1, x5) - x92 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x92 += einsum("ijab->ijab", x90) - del x90 - x99 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x99 += einsum("ijab,jikc->kcba", t2, x5) - rdm2_f_vovv = np.zeros((nvir, nocc, nvir, nvir), dtype=types[float]) - rdm2_f_vovv += einsum("iabc->bica", x99) * 2 - rdm2_f_vovv += einsum("iabc->ciba", x99) * -4 - rdm2_f_vvvo = np.zeros((nvir, nvir, nvir, nocc), dtype=types[float]) - rdm2_f_vvvo += einsum("iabc->baci", x99) * -4 - rdm2_f_vvvo += einsum("iabc->cabi", x99) * 2 - del x99 - rdm2_f_ooov = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - rdm2_f_ooov += einsum("ijka->ikja", x5) * 2 - rdm2_f_ooov -= einsum("ijka->jkia", x5) * 4 - rdm2_f_ovoo = np.zeros((nocc, nvir, nocc, nocc), dtype=types[float]) - rdm2_f_ovoo -= einsum("ijka->iajk", x5) * 4 - rdm2_f_ovoo += einsum("ijka->jaik", x5) * 2 - x13 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x13 += einsum("ai,jkba->ijkb", l1, t2) - x16 += einsum("ijka->ijka", x13) - rdm2_f_oovo += einsum("ijka->ijak", x16) * 2 - rdm2_f_oovo -= einsum("ijka->ikaj", x16) * 4 - rdm2_f_vooo -= einsum("ijka->ajik", x16) * 4 - rdm2_f_vooo += einsum("ijka->akij", x16) * 2 - del x16 - x66 += einsum("ijka->ijka", x13) - del x13 - x67 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x67 += einsum("ia,ijkb->jkab", t1, x66) - del x66 - x68 += einsum("ijab->ijab", x67) - del x67 - rdm2_f_vovo += einsum("ijab->aibj", x68) * 2 - rdm2_f_vovo -= einsum("ijab->biaj", x68) * 4 - rdm2_f_vovo -= einsum("ijab->ajbi", x68) * 4 - rdm2_f_vovo += einsum("ijab->bjai", x68) * 2 - del x68 - x17 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x17 += einsum("ia,waj->wji", t1, lu11) - x18 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x18 += einsum("wia,wjk->jkia", u11, x17) - x28 += einsum("ijka->ijka", x18) - x37 -= einsum("ijka->ijka", x18) - del x18 - x23 = np.zeros((nocc, nvir), dtype=types[float]) - x23 += einsum("wia,wij->ja", u11, x17) - x27 += einsum("ia->ia", x23) - x84 += einsum("ia->ia", x23) - x85 += einsum("ia->ia", x23) - del x23 - x60 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x60 += einsum("ia,wij->wja", t1, x17) - del x17 - x62 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x62 += einsum("wia->wia", x60) - del x60 - x25 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x25 += einsum("ijab->jiab", t2) * 2 - x25 -= einsum("ijab->jiba", t2) - x26 = np.zeros((nocc, nvir), dtype=types[float]) - x26 += einsum("ai,ijba->jb", l1, x25) - x27 -= einsum("ia->ia", x26) - x28 += einsum("ij,ka->jika", delta_oo, x27) - rdm2_f_oovo -= einsum("ijka->ijak", x28) * 4 - rdm2_f_oovo += einsum("ijka->ikaj", x28) * 2 - del x28 - rdm2_f_vooo += einsum("ij,ka->ajik", delta_oo, x27) * 2 - rdm2_f_vooo -= einsum("ij,ka->akij", delta_oo, x27) * 4 - del x27 - x64 -= einsum("ia,jb->ijab", t1, x26) - del x26 - x36 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x36 += einsum("ijab,iklb->jkla", x25, x5) - del x5 - x37 -= einsum("ijka->jkia", x36) - rdm2_f_vooo -= einsum("ijka->ajik", x37) * 2 - rdm2_f_vooo += einsum("ijka->akij", x37) * 4 - del x37 - x58 -= einsum("ijka->jkia", x36) - del x36 - x59 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x59 += einsum("ia,ijkb->jkab", t1, x58) - del x58 - x64 -= einsum("ijab->ijab", x59) - del x59 - x61 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x61 += einsum("wai,ijba->wjb", lu11, x25) - x62 -= einsum("wia->wia", x61) - del x61 - x63 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x63 += einsum("wia,wjb->jiba", u11, x62) - del x62 - x64 += einsum("ijab->ijab", x63) - del x63 - rdm2_f_vvoo -= einsum("abij,ikca->cbjk", l2, x25) * 2 - x29 = np.zeros((nocc, nvir), dtype=types[float]) - x29 += einsum("w,wia->ia", ls1, u11) - x31 += einsum("ia->ia", x29) - x84 -= einsum("ia->ia", x29) - x85 -= einsum("ia->ia", x29) - del x29 - rdm2_f_vovo -= einsum("ia,jb->bjai", t1, x85) * 4 - rdm2_f_vovo += einsum("ia,jb->ajbi", t1, x85) * 2 - del x85 - x31 += einsum("ia->ia", t1) - rdm2_f_oovo += einsum("ij,ka->jiak", delta_oo, x31) * 4 - rdm2_f_oovo -= einsum("ij,ka->jkai", delta_oo, x31) * 2 - rdm2_f_vooo -= einsum("ij,ka->aijk", delta_oo, x31) * 2 - rdm2_f_vooo += einsum("ij,ka->akji", delta_oo, x31) * 4 - del x31 - x38 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x38 += einsum("wai,wjb->ijab", lu11, u11) - rdm2_f_oovv -= einsum("ijab->ijba", x38) * 2 - rdm2_f_ovvo += einsum("ijab->iabj", x38) * 4 - rdm2_f_voov += einsum("ijab->bjia", x38) * 4 - rdm2_f_vvoo -= einsum("ijab->baij", x38) * 2 - del x38 - x39 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x39 += einsum("abij->jiab", l2) * 2 - x39 -= einsum("abij->jiba", l2) - x40 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x40 += einsum("ijab,ikca->kjcb", t2, x39) - x72 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x72 += einsum("ijab,ikac->kjcb", t2, x40) - x73 += einsum("ijab->ijab", x72) * 2 - del x72 - rdm2_f_oovv -= einsum("ijab->ijba", x40) * 2 - del x40 - x48 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x48 += einsum("ijab,ikcb->jkac", x25, x39) - del x25 - rdm2_f_ovvo += einsum("ijab->jbai", x48) * 2 - rdm2_f_voov += einsum("ijab->aijb", x48) * 2 - del x48 - x56 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x56 += einsum("ijab,ikcb->kjca", t2, x39) - del x39 - x57 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x57 += einsum("ijab,ikac->kjcb", t2, x56) - del x56 - x64 += einsum("ijab->jiba", x57) - del x57 - x41 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x41 -= einsum("abij->jiab", l2) - x41 += einsum("abij->jiba", l2) * 2 - rdm2_f_oovv -= einsum("ijab,ikcb->kjac", t2, x41) * 2 - del x41 - x43 = np.zeros((nvir, nvir), dtype=types[float]) - x43 += einsum("ai,ib->ab", l1, t1) - x47 = np.zeros((nvir, nvir), dtype=types[float]) - x47 += einsum("ab->ab", x43) * 0.5 - x52 = np.zeros((nvir, nvir), dtype=types[float]) - x52 += einsum("ab->ab", x43) - x97 = np.zeros((nvir, nvir), dtype=types[float]) - x97 += einsum("ab->ab", x43) - del x43 - x44 = np.zeros((nvir, nvir), dtype=types[float]) - x44 += einsum("wai,wib->ab", lu11, u11) - x47 += einsum("ab->ab", x44) * 0.5 - x52 += einsum("ab->ab", x44) - x54 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x54 += einsum("ab,ijac->jicb", x44, t2) - x64 += einsum("ijab->ijab", x54) - del x54 - rdm2_f_vovo -= einsum("ijab->aibj", x64) * 4 - rdm2_f_vovo += einsum("ijab->biaj", x64) * 2 - rdm2_f_vovo += einsum("ijab->ajbi", x64) * 2 - rdm2_f_vovo -= einsum("ijab->bjai", x64) * 4 - del x64 - x97 += einsum("ab->ab", x44) - del x44 - x98 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x98 += einsum("ia,bc->ibac", t1, x97) - del x97 - x45 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x45 += einsum("abij->jiab", l2) - x45 += einsum("abij->jiba", l2) * -0.5 - x46 = np.zeros((nvir, nvir), dtype=types[float]) - x46 += einsum("ijab,ijbc->ca", t2, x45) - x47 += einsum("ab->ab", x46) - rdm2_f_oovv += einsum("ij,ab->jiba", delta_oo, x47) * 8 - del x47 - x76 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x76 += einsum("ab,ijac->ijbc", x46, t2) * 8 - x78 += einsum("ijab->jiba", x76) - del x76 - rdm2_f_vovo += einsum("ijab->aibj", x78) * -1 - rdm2_f_vovo += einsum("ijab->biaj", x78) * 0.5 - rdm2_f_vovo += einsum("ijab->ajbi", x78) * 0.5 - rdm2_f_vovo += einsum("ijab->bjai", x78) * -1 - del x78 - rdm2_f_vovv += einsum("ia,bc->aicb", t1, x46) * 8 - rdm2_f_vovv += einsum("ia,bc->ciab", t1, x46) * -4 - rdm2_f_vvvo += einsum("ia,bc->abci", t1, x46) * -4 - rdm2_f_vvvo += einsum("ia,bc->cbai", t1, x46) * 8 - del x46 - x51 = np.zeros((nvir, nvir), dtype=types[float]) - x51 += einsum("ijab,ijbc->ca", t2, x45) * 2 - del x45 - x52 += einsum("ab->ab", x51) - del x51 - rdm2_f_ovvo += einsum("ij,ab->jabi", delta_oo, x52) * -2 - rdm2_f_voov += einsum("ij,ab->bija", delta_oo, x52) * -2 - rdm2_f_vvoo += einsum("ij,ab->baji", delta_oo, x52) * 4 - del x52 - x53 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x53 -= einsum("ijab->jiab", t2) - x53 += einsum("ijab->jiba", t2) * 2 - x91 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x91 += einsum("abij,ikac->kjcb", l2, x53) - x92 -= einsum("ijab->jiba", x91) - del x91 - rdm2_f_vvoo -= einsum("abij,ikcb->cajk", l2, x53) * 2 - del x53 - x69 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x69 += einsum("abij,kjbc->ikac", l2, t2) - x70 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x70 += einsum("ijab,jkac->ikbc", t2, x69) - del x69 - x73 += einsum("ijab->ijab", x70) - del x70 - x73 += einsum("ijab->jiba", t2) - rdm2_f_vovo -= einsum("ijab->biaj", x73) * 2 - rdm2_f_vovo += einsum("ijab->aibj", x73) * 4 - del x73 - x74 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x74 += einsum("abij,kjac->ikbc", l2, t2) - x75 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x75 += einsum("ijab,jkac->ikbc", t2, x74) - rdm2_f_vovo += einsum("ijab->ajbi", x75) * 4 - rdm2_f_vovo -= einsum("ijab->bjai", x75) * 2 - del x75 - x96 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x96 += einsum("ia,ijbc->jbac", t1, x74) - del x74 - x98 -= einsum("iabc->iabc", x96) - del x96 - x84 -= einsum("ia->ia", t1) - rdm2_f_vovo -= einsum("ia,jb->aibj", t1, x84) * 4 - rdm2_f_vovo += einsum("ia,jb->biaj", t1, x84) * 2 - del x84 - x86 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x86 += einsum("ia,bcji->jbca", t1, l2) - x101 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) - x101 += einsum("ia,ibcd->cbda", t1, x86) - rdm2_f_vvvv = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) - rdm2_f_vvvv -= einsum("abcd->cbda", x101) * 2 - rdm2_f_vvvv += einsum("abcd->dbca", x101) * 4 - del x101 - rdm2_f_ovvv = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - rdm2_f_ovvv += einsum("iabc->iacb", x86) * 4 - rdm2_f_ovvv -= einsum("iabc->ibca", x86) * 2 - rdm2_f_vvov = np.zeros((nvir, nvir, nocc, nvir), dtype=types[float]) - rdm2_f_vvov -= einsum("iabc->caib", x86) * 2 - rdm2_f_vvov += einsum("iabc->cbia", x86) * 4 - del x86 - x87 = np.zeros((nbos, nvir, nvir), dtype=types[float]) - x87 += einsum("ia,wbi->wba", t1, lu11) - x88 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x88 += einsum("wia,wbc->ibca", u11, x87) - del x87 - x94 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x94 -= einsum("iabc->iabc", x88) - del x88 - x89 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x89 += einsum("abij,kjca->ikbc", l2, t2) - x92 += einsum("ijab->ijab", x89) - del x89 - x93 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x93 += einsum("ia,ijbc->jabc", t1, x92) - del x92 - x94 += einsum("iabc->ibac", x93) - del x93 - rdm2_f_vovv += einsum("iabc->bica", x94) * 2 - rdm2_f_vovv -= einsum("iabc->ciba", x94) * 4 - rdm2_f_vvvo -= einsum("iabc->baci", x94) * 4 - rdm2_f_vvvo += einsum("iabc->cabi", x94) * 2 - del x94 - x95 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x95 += einsum("ai,jibc->jabc", l1, t2) - x98 += einsum("iabc->iabc", x95) - del x95 - rdm2_f_vovv += einsum("iabc->bica", x98) * 4 - rdm2_f_vovv -= einsum("iabc->ciba", x98) * 2 - rdm2_f_vvvo -= einsum("iabc->baci", x98) * 2 - rdm2_f_vvvo += einsum("iabc->cabi", x98) * 4 - del x98 - x100 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) - x100 += einsum("abij,ijcd->abcd", l2, t2) - rdm2_f_vvvv += einsum("abcd->cbda", x100) * -2 - rdm2_f_vvvv += einsum("abcd->dbca", x100) * 4 - del x100 - rdm2_f_oooo += einsum("ij,kl->jilk", delta_oo, delta_oo) * 4 - rdm2_f_oooo -= einsum("ij,kl->ljik", delta_oo, delta_oo) * 2 - rdm2_f_ooov += einsum("ij,ak->jika", delta_oo, l1) * 4 - rdm2_f_ooov -= einsum("ij,ak->kija", delta_oo, l1) * 2 - rdm2_f_ovoo -= einsum("ij,ak->jaki", delta_oo, l1) * 2 - rdm2_f_ovoo += einsum("ij,ak->kaji", delta_oo, l1) * 4 - rdm2_f_ovov = np.zeros((nocc, nvir, nocc, nvir), dtype=types[float]) - rdm2_f_ovov -= einsum("abij->jaib", l2) * 2 - rdm2_f_ovov += einsum("abij->jbia", l2) * 4 - rdm2_f_oovv -= einsum("ai,jb->ijba", l1, t1) * 2 - rdm2_f_ovvo += einsum("ai,jb->iabj", l1, t1) * 4 - rdm2_f_voov += einsum("ai,jb->bjia", l1, t1) * 4 - rdm2_f_vvoo -= einsum("ai,jb->baij", l1, t1) * 2 - - rdm2_f = pack_2e(rdm2_f_oooo, rdm2_f_ooov, rdm2_f_oovo, rdm2_f_ovoo, rdm2_f_vooo, rdm2_f_oovv, rdm2_f_ovov, rdm2_f_ovvo, rdm2_f_voov, rdm2_f_vovo, rdm2_f_vvoo, rdm2_f_ovvv, rdm2_f_vovv, rdm2_f_vvov, rdm2_f_vvvo, rdm2_f_vvvv) - - return rdm2_f - -def make_sing_b_dm(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, u11=None, l1=None, l2=None, ls1=None, lu11=None, **kwargs): - # Get boson coupling creation array: - gc = Namespace( - boo=g.boo.transpose(0, 2, 1), - bov=g.bvo.transpose(0, 2, 1), - bvo=g.bov.transpose(0, 2, 1), - bvv=g.bvv.transpose(0, 2, 1), - ) - - # Single boson DM - dm_b_cre = np.zeros((nbos), dtype=types[float]) - dm_b_cre += einsum("w->w", ls1) - dm_b_des = np.zeros((nbos), dtype=types[float]) - dm_b_des += einsum("w->w", s1) - dm_b_des += einsum("ai,wia->w", l1, u11) * 2 - - dm_b = np.array([dm_b_cre, dm_b_des]) - - return dm_b - -def make_rdm1_b(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, u11=None, l1=None, l2=None, ls1=None, lu11=None, **kwargs): - # Get boson coupling creation array: - gc = Namespace( - boo=g.boo.transpose(0, 2, 1), - bov=g.bvo.transpose(0, 2, 1), - bvo=g.bov.transpose(0, 2, 1), - bvv=g.bvv.transpose(0, 2, 1), - ) - - # Boson 1RDM - rdm1_b = np.zeros((nbos, nbos), dtype=types[float]) - rdm1_b += einsum("w,x->wx", ls1, s1) - rdm1_b += einsum("wai,xia->wx", lu11, u11) * 2 - - return rdm1_b - -def make_eb_coup_rdm(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, u11=None, l1=None, l2=None, ls1=None, lu11=None, **kwargs): - # Get boson coupling creation array: - gc = Namespace( - boo=g.boo.transpose(0, 2, 1), - bov=g.bvo.transpose(0, 2, 1), - bvo=g.bov.transpose(0, 2, 1), - bvv=g.bvv.transpose(0, 2, 1), - ) - - delta_oo = np.eye(nocc) - delta_vv = np.eye(nvir) - - # Boson-fermion coupling RDM - x0 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x0 += einsum("ia,waj->wji", t1, lu11) - x22 = np.zeros((nocc, nvir), dtype=types[float]) - x22 += einsum("wia,wij->ja", u11, x0) - rdm_eb_cre_oo = np.zeros((nbos, nocc, nocc), dtype=types[float]) - rdm_eb_cre_oo -= einsum("wij->wji", x0) * 2 - rdm_eb_cre_ov = np.zeros((nbos, nocc, nvir), dtype=types[float]) - rdm_eb_cre_ov -= einsum("ia,wij->wja", t1, x0) * 2 - del x0 - x1 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x1 -= einsum("ijab->jiab", t2) - x1 += einsum("ijab->jiba", t2) * 2 - rdm_eb_cre_ov += einsum("wai,ijab->wjb", lu11, x1) * 2 - x2 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x2 += einsum("ai,wja->wij", l1, u11) - x17 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x17 += einsum("wij->wij", x2) - rdm_eb_des_oo = np.zeros((nbos, nocc, nocc), dtype=types[float]) - rdm_eb_des_oo -= einsum("wij->wji", x2) * 2 - del x2 - x3 = np.zeros((nbos), dtype=types[float]) - x3 += einsum("ai,wia->w", l1, u11) - rdm_eb_des_oo += einsum("w,ij->wji", x3, delta_oo) * 4 - rdm_eb_des_ov = np.zeros((nbos, nocc, nvir), dtype=types[float]) - rdm_eb_des_ov += einsum("w,ia->wia", x3, t1) * 4 - del x3 - x4 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x4 -= einsum("abij->jiab", l2) - x4 += einsum("abij->jiba", l2) * 2 - x5 = np.zeros((nbos, nocc, nvir), dtype=types[float]) - x5 += einsum("wia,ijab->wjb", u11, x4) - del x4 - x6 = np.zeros((nbos, nocc, nocc), dtype=types[float]) - x6 += einsum("ia,wja->wij", t1, x5) - x17 += einsum("wij->wji", x6) - rdm_eb_des_ov -= einsum("ia,wij->wja", t1, x17) * 2 - del x17 - rdm_eb_des_oo -= einsum("wij->wij", x6) * 2 - del x6 - rdm_eb_des_ov += einsum("wia,ijab->wjb", x5, x1) * 2 - del x1 - rdm_eb_des_vo = np.zeros((nbos, nvir, nocc), dtype=types[float]) - rdm_eb_des_vo += einsum("wia->wai", x5) * 2 - rdm_eb_des_vv = np.zeros((nbos, nvir, nvir), dtype=types[float]) - rdm_eb_des_vv += einsum("ia,wib->wba", t1, x5) * 2 - del x5 - x7 = np.zeros((nocc, nocc), dtype=types[float]) - x7 += einsum("ai,ja->ij", l1, t1) - x11 = np.zeros((nocc, nocc), dtype=types[float]) - x11 += einsum("ij->ij", x7) - x16 = np.zeros((nocc, nocc), dtype=types[float]) - x16 += einsum("ij->ij", x7) - x21 = np.zeros((nocc, nocc), dtype=types[float]) - x21 += einsum("ij->ij", x7) * 0.49999999999999967 - del x7 - x8 = np.zeros((nocc, nocc), dtype=types[float]) - x8 += einsum("wai,wja->ij", lu11, u11) - x11 += einsum("ij->ij", x8) - x16 += einsum("ij->ij", x8) - x21 += einsum("ij->ij", x8) * 0.49999999999999967 - del x8 - x9 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x9 += einsum("ijab->jiab", t2) - x9 += einsum("ijab->jiba", t2) * -0.5 - x10 = np.zeros((nocc, nocc), dtype=types[float]) - x10 += einsum("abij,ikba->jk", l2, x9) * 2 - x11 += einsum("ij->ij", x10) - x16 += einsum("ij->ij", x10) - del x10 - rdm_eb_des_ov += einsum("ij,wia->wja", x16, u11) * -2 - del x16 - x21 += einsum("abij,ikba->jk", l2, x9) - del x9 - x22 += einsum("ia,ij->ja", t1, x21) * 2.0000000000000013 - del x21 - x11 += einsum("ij->ji", delta_oo) * -1 - rdm_eb_des_oo += einsum("w,ij->wji", s1, x11) * -2 - del x11 - x12 = np.zeros((nbos, nbos), dtype=types[float]) - x12 += einsum("wai,xia->wx", lu11, u11) - rdm_eb_des_ov += einsum("wx,wia->xia", x12, u11) * 4 - del x12 - x13 = np.zeros((nvir, nvir), dtype=types[float]) - x13 += einsum("wai,wib->ab", lu11, u11) - x15 = np.zeros((nvir, nvir), dtype=types[float]) - x15 += einsum("ab->ab", x13) - x23 = np.zeros((nvir, nvir), dtype=types[float]) - x23 += einsum("ab->ab", x13) * 0.5 - del x13 - x14 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x14 += einsum("abij->jiab", l2) - x14 += einsum("abij->jiba", l2) * -0.5 - x15 += einsum("ijab,ijbc->ca", t2, x14) * 2 - rdm_eb_des_ov += einsum("ab,wia->wib", x15, u11) * -2 - del x15 - x23 += einsum("ijab,ijbc->ca", t2, x14) - del x14 - x18 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x18 += einsum("ia,abjk->kjib", t1, l2) - x19 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x19 += einsum("ijka->ijka", x18) * -0.5 - x19 += einsum("ijka->jika", x18) - del x18 - x22 += einsum("ijab,ijkb->ka", t2, x19) * 2.0000000000000013 - del x19 - x20 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x20 += einsum("ijab->jiab", t2) * -1 - x20 += einsum("ijab->jiba", t2) * 2 - x22 += einsum("ai,ijab->jb", l1, x20) * -1 - del x20 - x22 += einsum("ia->ia", t1) * -1 - x22 += einsum("w,wia->ia", ls1, u11) * -1 - rdm_eb_des_ov += einsum("w,ia->wia", s1, x22) * -2 - del x22 - x23 += einsum("ai,ib->ab", l1, t1) * 0.5 - rdm_eb_des_vv += einsum("w,ab->wab", s1, x23) * 4 - del x23 - rdm_eb_cre_oo += einsum("w,ij->wji", ls1, delta_oo) * 2 - rdm_eb_cre_ov += einsum("w,ia->wia", ls1, t1) * 2 - rdm_eb_cre_vo = np.zeros((nbos, nvir, nocc), dtype=types[float]) - rdm_eb_cre_vo += einsum("wai->wai", lu11) * 2 - rdm_eb_cre_vv = np.zeros((nbos, nvir, nvir), dtype=types[float]) - rdm_eb_cre_vv += einsum("ia,wbi->wba", t1, lu11) * 2 - rdm_eb_des_ov += einsum("wia->wia", u11) * 2 - rdm_eb_des_vo += einsum("w,ai->wai", s1, l1) * 2 - rdm_eb_des_vv += einsum("ai,wib->wab", l1, u11) * 2 - - rdm_eb = np.array([ - np.block([[rdm_eb_cre_oo, rdm_eb_cre_ov], [rdm_eb_cre_vo, rdm_eb_cre_vv]]), - np.block([[rdm_eb_des_oo, rdm_eb_des_ov], [rdm_eb_des_vo, rdm_eb_des_vv]]), - ]) - - return rdm_eb - diff --git a/ebcc/codegen/RCCSDt.py b/ebcc/codegen/RCCSDt.py deleted file mode 100644 index 5ce95241..00000000 --- a/ebcc/codegen/RCCSDt.py +++ /dev/null @@ -1,3121 +0,0 @@ -# Code generated for ebcc. - -from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, Namespace -from ebcc.precision import types - -def energy(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, t3=None, **kwargs): - # energy - x0 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x0 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -0.5 - x0 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - e_cc = 0 - e_cc += einsum(t2, (0, 1, 2, 3), x0, (0, 1, 2, 3), ()) * 2.0 - x1 = np.zeros((nocc, nvir), dtype=types[float]) - x1 += einsum(f.ov, (0, 1), (0, 1)) - x1 += einsum(t1, (0, 1), x0, (0, 2, 1, 3), (2, 3)) - del x0 - e_cc += einsum(t1, (0, 1), x1, (0, 1), ()) * 2.0 - del x1 - - return e_cc - -def update_amps(f=None, v=None, space=None, t1=None, t2=None, t3=None, **kwargs): - nocc = space.ncocc - nvir = space.ncvir - naocc = space.naocc - navir = space.navir - so = np.ones((nocc,), dtype=bool) - sv = np.ones((nvir,), dtype=bool) - sO = space.active[space.correlated][space.occupied[space.correlated]] - sV = space.active[space.correlated][space.virtual[space.correlated]] - sOf = np.ones((naocc,), dtype=bool) - sVf = np.ones((navir,), dtype=bool) - - # T amplitudes - t1new = np.zeros((nocc, nvir), dtype=types[float]) - t1new[np.ix_(so,sv)] += einsum(f.ov, (0, 1), (0, 1)) - t1new[np.ix_(so,sv)] += einsum(f.oo, (0, 1), t1[np.ix_(so,sv)], (1, 2), (0, 2)) * -1.0 - t1new[np.ix_(so,sv)] += einsum(f.vv, (0, 1), t1[np.ix_(so,sv)], (2, 1), (2, 0)) - t1new[np.ix_(so,sv)] += einsum(f.ov, (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 0, 3, 1), (2, 3)) * 2.0 - t1new[np.ix_(so,sv)] += einsum(f.ov, (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 0, 1, 3), (2, 3)) * -1.0 - t1new[np.ix_(so,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), v.oovv, (2, 0, 3, 1), (2, 3)) * -1.0 - t1new[np.ix_(so,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.ovvv, (1, 2, 4, 3), (0, 4)) * -1.0 - t1new[np.ix_(so,sv)] += einsum(v.ovOV, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 0, 2, 5, 1, 3), (4, 5)) * 0.5 - t1new[np.ix_(so,sv)] += einsum(v.oVvO, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 0, 3, 5, 2, 1), (4, 5)) * -0.5 - t1new[np.ix_(so,sv)] += einsum(v.ovOV, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 0, 2, 1, 5, 3), (4, 5)) * -0.25 - t1new[np.ix_(so,sv)] += einsum(v.oVvO, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 0, 3, 2, 5, 1), (4, 5)) * 0.25 - t1new[np.ix_(so,sv)] += einsum(v.ovOV, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 0, 2, 5, 1, 3), (4, 5)) - t1new[np.ix_(so,sv)] += einsum(v.ovOV, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (0, 4, 2, 1, 5, 3), (4, 5)) * 0.25 - t1new[np.ix_(so,sv)] += einsum(v.oVvO, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (0, 4, 3, 2, 5, 1), (4, 5)) * -0.25 - t2new = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - t2new[np.ix_(so,so,sv,sv)] += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.oooo, (4, 1, 5, 0), (4, 5, 3, 2)) - t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.vvvv, (4, 2, 5, 3), (0, 1, 4, 5)) - t3new = np.zeros((nocc, nocc, naocc, nvir, nvir, navir), dtype=types[float]) - t3new += einsum(f.oo, (0, 1), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (1, 2, 3, 4, 5, 6), (0, 2, 3, 4, 5, 6)) * -1.0 - t3new += einsum(f.oo, (0, 1), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (2, 1, 3, 4, 5, 6), (2, 0, 3, 4, 5, 6)) * -1.0 - t3new += einsum(f.OO, (0, 1), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (2, 3, 1, 4, 5, 6), (2, 3, 0, 4, 5, 6)) * -1.0 - t3new += einsum(f.vv, (0, 1), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (2, 3, 4, 1, 5, 6), (2, 3, 4, 0, 5, 6)) - t3new += einsum(f.vv, (0, 1), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (2, 3, 4, 5, 1, 6), (2, 3, 4, 5, 0, 6)) - t3new += einsum(f.VV, (0, 1), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 6, 0)) - t3new += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), v.oovO, (4, 1, 5, 6), (4, 0, 6, 5, 2, 3)) - t3new += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), v.oovO, (4, 0, 5, 6), (1, 4, 6, 5, 2, 3)) - t3new += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), v.ovoO, (4, 5, 0, 6), (1, 4, 6, 2, 5, 3)) - t3new += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.oOoV, (1, 4, 5, 6), (5, 0, 4, 3, 2, 6)) - t3new += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), v.oooV, (4, 0, 5, 6), (5, 4, 1, 3, 2, 6)) - t3new += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), v.ovvV, (4, 5, 2, 6), (0, 4, 1, 3, 5, 6)) * -1.0 - t3new += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), v.oVvv, (4, 5, 6, 3), (4, 0, 1, 6, 2, 5)) * -1.0 - t3new += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), v.oVvv, (4, 5, 6, 2), (4, 0, 1, 3, 6, 5)) * -1.0 - t3new += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), v.vvvO, (4, 2, 5, 6), (1, 0, 6, 5, 4, 3)) * -1.0 - t3new += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.vOvV, (4, 5, 2, 6), (0, 1, 5, 4, 3, 6)) * -1.0 - t3new += einsum(t2[np.ix_(so,sO,sV,sv)], (0, 1, 2, 3), v.ooov, (4, 0, 5, 6), (4, 5, 1, 3, 6, 2)) - t3new += einsum(v.ooOO, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (1, 4, 3, 5, 6, 7), (0, 4, 2, 5, 6, 7)) * 0.5 - t3new += einsum(v.oOoO, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (2, 4, 1, 5, 6, 7), (0, 4, 3, 5, 6, 7)) * -0.5 - t3new += einsum(v.ooOO, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 1, 3, 5, 6, 7), (4, 0, 2, 5, 6, 7)) - t3new += einsum(v.oooo, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (1, 3, 4, 5, 6, 7), (0, 2, 4, 5, 6, 7)) - t3new += einsum(v.oovv, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (1, 4, 5, 3, 6, 7), (0, 4, 5, 2, 6, 7)) * -1.0 - t3new += einsum(v.oovv, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (1, 4, 5, 6, 3, 7), (0, 4, 5, 6, 2, 7)) * -1.0 - t3new += einsum(v.oovv, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 1, 5, 3, 6, 7), (4, 0, 5, 2, 6, 7)) * -1.0 - t3new += einsum(v.oovv, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 1, 5, 6, 3, 7), (4, 0, 5, 6, 2, 7)) * -1.0 - t3new += einsum(v.ooVV, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (1, 4, 5, 6, 7, 3), (0, 4, 5, 6, 7, 2)) * -1.0 - t3new += einsum(v.ooVV, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 1, 5, 6, 7, 3), (4, 0, 5, 6, 7, 2)) * -1.0 - t3new += einsum(v.oVoV, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (2, 4, 5, 6, 7, 3), (0, 4, 5, 6, 7, 1)) - t3new += einsum(v.vOvO, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 5, 3, 2, 6, 7), (4, 5, 1, 0, 6, 7)) - t3new += einsum(v.vvOO, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 5, 3, 1, 6, 7), (4, 5, 2, 0, 6, 7)) * -1.0 - t3new += einsum(v.vvOO, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 5, 3, 6, 1, 7), (4, 5, 2, 6, 0, 7)) * -1.0 - t3new += einsum(v.OOVV, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 5, 1, 6, 7, 3), (4, 5, 0, 6, 7, 2)) * -1.0 - t3new += einsum(v.vvvv, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 5, 6, 1, 3, 7), (4, 5, 6, 0, 2, 7)) - t3new += einsum(v.vvVV, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 5, 6, 1, 7, 3), (4, 5, 6, 0, 7, 2)) * 0.5 - t3new += einsum(v.vVvV, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 5, 6, 2, 7, 1), (4, 5, 6, 0, 7, 3)) * -0.5 - t3new += einsum(v.vvVV, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 5, 6, 7, 1, 3), (4, 5, 6, 7, 0, 2)) - t3new += einsum(v.ovoV, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sV,sVf)], (4, 2, 5, 6, 7, 3), (4, 0, 5, 6, 1, 7)) * -1.0 - t3new += einsum(v.vOOV, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sV,sVf)], (4, 5, 2, 6, 7, 3), (5, 4, 1, 0, 6, 7)) * -1.0 - t3new += einsum(v.oVOV, (0, 1, 2, 3), t3[np.ix_(so,sO,sOf,sv,sv,sVf)], (4, 5, 2, 6, 7, 3), (0, 4, 5, 7, 6, 1)) * -1.0 - t3new += einsum(v.ovOV, (0, 1, 2, 3), t3[np.ix_(so,sO,sOf,sv,sV,sVf)], (4, 5, 2, 6, 7, 3), (0, 4, 5, 1, 6, 7)) - x0 = np.zeros((nocc, nvir), dtype=types[float]) - x0 += einsum(t1[np.ix_(so,sv)], (0, 1), v.ovov, (2, 3, 0, 1), (2, 3)) - t1new[np.ix_(so,sv)] += einsum(x0, (0, 1), (0, 1)) * 2.0 - t1new[np.ix_(so,sv)] += einsum(x0, (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 0, 3, 1), (2, 3)) * 4.0 - t1new[np.ix_(so,sv)] += einsum(x0, (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 0, 1, 3), (2, 3)) * -2.0 - x1 = np.zeros((nocc, nvir), dtype=types[float]) - x1 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.ooov, (4, 1, 0, 2), (4, 3)) - t1new[np.ix_(so,sv)] += einsum(x1, (0, 1), (0, 1)) * -1.5 - t1new[np.ix_(so,sv)] += einsum(x1, (0, 1), (0, 1)) * -0.5 - del x1 - x2 = np.zeros((nocc, nvir), dtype=types[float]) - x2 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.ooov, (4, 0, 1, 2), (4, 3)) - t1new[np.ix_(so,sv)] += einsum(x2, (0, 1), (0, 1)) * 0.5 - t1new[np.ix_(so,sv)] += einsum(x2, (0, 1), (0, 1)) * 0.5 - del x2 - x3 = np.zeros((nocc, nvir), dtype=types[float]) - x3 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.ovvv, (1, 3, 4, 2), (0, 4)) - t1new[np.ix_(so,sv)] += einsum(x3, (0, 1), (0, 1)) - t1new[np.ix_(so,sv)] += einsum(x3, (0, 1), (0, 1)) - del x3 - x4 = np.zeros((nocc, nocc), dtype=types[float]) - x4 += einsum(f.ov, (0, 1), t1[np.ix_(so,sv)], (2, 1), (0, 2)) - t1new[np.ix_(so,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), x4, (0, 2), (2, 1)) * -1.0 - t3new += einsum(x4, (0, 1), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (0, 2, 3, 4, 5, 6), (1, 2, 3, 4, 5, 6)) * -1.0 - t3new += einsum(x4, (0, 1), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (2, 0, 3, 4, 5, 6), (2, 1, 3, 4, 5, 6)) * -1.0 - x5 = np.zeros((nocc, nocc), dtype=types[float]) - x5 += einsum(t1[np.ix_(so,sv)], (0, 1), v.ooov, (2, 0, 3, 1), (2, 3)) - t1new[np.ix_(so,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), x5, (2, 0), (2, 1)) - t3new += einsum(x5, (0, 1), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (1, 2, 3, 4, 5, 6), (0, 2, 3, 4, 5, 6)) - t3new += einsum(x5, (0, 1), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (2, 1, 3, 4, 5, 6), (2, 0, 3, 4, 5, 6)) - x6 = np.zeros((nocc, nocc), dtype=types[float]) - x6 += einsum(t1[np.ix_(so,sv)], (0, 1), v.ooov, (2, 3, 0, 1), (2, 3)) - t1new[np.ix_(so,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), x6, (2, 0), (2, 1)) * -2.0 - t3new += einsum(x6, (0, 1), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (1, 2, 3, 4, 5, 6), (0, 2, 3, 4, 5, 6)) * -2.0 - t3new += einsum(x6, (0, 1), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (2, 1, 3, 4, 5, 6), (2, 0, 3, 4, 5, 6)) * -2.0 - x7 = np.zeros((nvir, nvir), dtype=types[float]) - x7 += einsum(t1[np.ix_(so,sv)], (0, 1), v.ovvv, (0, 2, 3, 1), (2, 3)) - t1new[np.ix_(so,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), x7, (1, 2), (0, 2)) * -1.0 - t3new += einsum(x7, (0, 1), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) * -1.0 - t3new += einsum(x7, (0, 1), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) * -1.0 - x8 = np.zeros((nvir, nvir), dtype=types[float]) - x8 += einsum(t1[np.ix_(so,sv)], (0, 1), v.ovvv, (0, 1, 2, 3), (2, 3)) - t1new[np.ix_(so,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), x8, (2, 1), (0, 2)) * 2.0 - t3new += einsum(x8, (0, 1), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (2, 3, 4, 1, 5, 6), (2, 3, 4, 0, 5, 6)) * 2.0 - t3new += einsum(x8, (0, 1), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (2, 3, 4, 5, 1, 6), (2, 3, 4, 5, 0, 6)) * 2.0 - x9 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x9 += einsum(t1[np.ix_(so,sv)], (0, 1), v.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) - t3new += einsum(t2[np.ix_(so,sO,sV,sv)], (0, 1, 2, 3), x9, (4, 5, 0, 6), (4, 5, 1, 3, 6, 2)) - x10 = np.zeros((nocc, nvir), dtype=types[float]) - x10 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x9, (4, 0, 1, 2), (4, 3)) - t1new[np.ix_(so,sv)] += einsum(x10, (0, 1), (0, 1)) * -1.5 - t1new[np.ix_(so,sv)] += einsum(x10, (0, 1), (0, 1)) * -0.5 - del x10 - x11 = np.zeros((nocc, nvir), dtype=types[float]) - x11 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x9, (4, 0, 1, 3), (4, 2)) - t1new[np.ix_(so,sv)] += einsum(x11, (0, 1), (0, 1)) * 0.5 - t1new[np.ix_(so,sv)] += einsum(x11, (0, 1), (0, 1)) * 0.5 - del x11 - x12 = np.zeros((nocc, nocc), dtype=types[float]) - x12 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.ovov, (4, 2, 1, 3), (0, 4)) - t3new += einsum(x12, (0, 1), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (2, 1, 3, 4, 5, 6), (2, 0, 3, 4, 5, 6)) * -2.0 - x13 = np.zeros((nocc, nvir), dtype=types[float]) - x13 += einsum(t1[np.ix_(so,sv)], (0, 1), x12, (2, 0), (2, 1)) - t1new[np.ix_(so,sv)] += einsum(x13, (0, 1), (0, 1)) * -1.0 - t1new[np.ix_(so,sv)] += einsum(x13, (0, 1), (0, 1)) * -1.0 - del x13 - x14 = np.zeros((nocc, nocc), dtype=types[float]) - x14 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.ovov, (4, 3, 1, 2), (0, 4)) - t1new[np.ix_(so,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), x14, (2, 0), (2, 1)) - t3new += einsum(x14, (0, 1), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (1, 2, 3, 4, 5, 6), (0, 2, 3, 4, 5, 6)) - t3new += einsum(x14, (0, 1), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (2, 1, 3, 4, 5, 6), (2, 0, 3, 4, 5, 6)) - x15 = np.zeros((nocc, nvir), dtype=types[float]) - x15 += einsum(t1[np.ix_(so,sv)], (0, 1), v.ovov, (2, 1, 0, 3), (2, 3)) - t1new[np.ix_(so,sv)] += einsum(x15, (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 0, 3, 1), (2, 3)) * -2.0 - t1new[np.ix_(so,sv)] += einsum(x15, (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 0, 1, 3), (2, 3)) - x16 = np.zeros((nocc, nocc), dtype=types[float]) - x16 += einsum(t1[np.ix_(so,sv)], (0, 1), x15, (2, 1), (0, 2)) - t1new[np.ix_(so,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), x16, (2, 0), (2, 1)) - t3new += einsum(x16, (0, 1), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (1, 2, 3, 4, 5, 6), (0, 2, 3, 4, 5, 6)) - t3new += einsum(x16, (0, 1), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (2, 1, 3, 4, 5, 6), (2, 0, 3, 4, 5, 6)) - x17 = np.zeros((nocc, nocc), dtype=types[float]) - x17 += einsum(t1[np.ix_(so,sv)], (0, 1), x0, (2, 1), (0, 2)) - t1new[np.ix_(so,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), x17, (2, 0), (2, 1)) * -2.0 - t3new += einsum(x17, (0, 1), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (1, 2, 3, 4, 5, 6), (0, 2, 3, 4, 5, 6)) * -2.0 - t3new += einsum(x17, (0, 1), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (2, 1, 3, 4, 5, 6), (2, 0, 3, 4, 5, 6)) * -2.0 - x18 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x18 += einsum(f.oo, (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 1, 3, 4), (0, 2, 3, 4)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x18, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(x18, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x18 - x19 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x19 += einsum(f.vv, (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 1), (2, 3, 0, 4)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x19, (0, 1, 2, 3), (1, 0, 2, 3)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x19, (0, 1, 2, 3), (0, 1, 3, 2)) - del x19 - x20 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x20 += einsum(t1[np.ix_(so,sv)], (0, 1), v.ooov, (2, 0, 3, 4), (2, 3, 1, 4)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x20, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(x20, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x20 - x21 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x21 += einsum(t1[np.ix_(so,sv)], (0, 1), v.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x21, (0, 1, 2, 3), (0, 1, 3, 2)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x21, (0, 1, 2, 3), (1, 0, 2, 3)) - t3new += einsum(x21, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (1, 4, 5, 2, 6, 7), (0, 4, 5, 3, 6, 7)) - t3new += einsum(x21, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 1, 5, 2, 6, 7), (4, 0, 5, 6, 3, 7)) * -1.0 - t3new += einsum(x21, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 1, 5, 6, 2, 7), (4, 0, 5, 6, 3, 7)) * 2.0 - x22 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x22 += einsum(f.OV, (0, 1), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x22, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x22, (0, 1, 2, 3), (1, 0, 3, 2)) - del x22 - x23 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x23 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.oovv, (4, 1, 5, 3), (0, 4, 2, 5)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(x23, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x23 - x24 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x24 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.oovv, (4, 1, 5, 2), (0, 4, 3, 5)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x24, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(x24, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x24 - x25 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x25 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.ovov, (4, 5, 1, 3), (0, 4, 2, 5)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x25, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(x25, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x25, (4, 1, 5, 3), (4, 0, 5, 2)) * 4.0 - del x25 - x26 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x26 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.ovov, (4, 5, 1, 2), (0, 4, 3, 5)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x26, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(x26, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x26, (4, 1, 5, 2), (4, 0, 5, 3)) - x27 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x27 += einsum(v.ooOV, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 1, 2, 5, 6, 3), (4, 0, 5, 6)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x27, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(x27, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x27 - x28 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x28 += einsum(v.ooOV, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (1, 4, 2, 5, 6, 3), (4, 0, 5, 6)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x28, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.5 - t2new[np.ix_(so,so,sv,sv)] += einsum(x28, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.5 - del x28 - x29 = np.zeros((navir, nocc, nocc, nvir), dtype=types[float]) - x29 += einsum(v.oovO, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (1, 4, 3, 2, 5, 6), (6, 4, 0, 5)) - t2new[np.ix_(so,so,sV,sv)] += einsum(x29, (0, 1, 2, 3), (2, 1, 0, 3)) * 0.5 - t2new[np.ix_(so,so,sv,sV)] += einsum(x29, (0, 1, 2, 3), (1, 2, 3, 0)) * 0.5 - del x29 - x30 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x30 += einsum(v.vOvV, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 5, 1, 0, 6, 3), (4, 5, 6, 2)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x30, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.5 - t2new[np.ix_(so,so,sv,sv)] += einsum(x30, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.5 - del x30 - x31 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x31 += einsum(v.vvOV, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 5, 2, 1, 6, 3), (4, 5, 6, 0)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x31, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.5 - t2new[np.ix_(so,so,sv,sv)] += einsum(x31, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.5 - del x31 - x32 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x32 += einsum(v.vvOV, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 5, 2, 6, 1, 3), (4, 5, 6, 0)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x32, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x32, (0, 1, 2, 3), (1, 0, 3, 2)) - del x32 - x33 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x33 += einsum(x4, (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 0, 3, 4), (1, 2, 3, 4)) - del x4 - t2new[np.ix_(so,so,sv,sv)] += einsum(x33, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(x33, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x33 - x34 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x34 += einsum(f.ov, (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 1), (0, 2, 3, 4)) - t3new += einsum(t2[np.ix_(so,sO,sV,sv)], (0, 1, 2, 3), x34, (0, 4, 5, 6), (5, 4, 1, 3, 6, 2)) - x35 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x35 += einsum(t1[np.ix_(so,sv)], (0, 1), x34, (0, 2, 3, 4), (2, 3, 1, 4)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x35, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(x35, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x35 - x36 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x36 += einsum(t1[np.ix_(so,sv)], (0, 1), v.oovv, (2, 3, 4, 1), (0, 2, 3, 4)) - t3new += einsum(t2[np.ix_(so,sO,sV,sv)], (0, 1, 2, 3), x36, (4, 5, 0, 6), (5, 4, 1, 3, 6, 2)) - x37 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x37 += einsum(t1[np.ix_(so,sv)], (0, 1), x36, (2, 3, 0, 4), (2, 3, 1, 4)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x37, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(x37, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x37 - x38 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x38 += einsum(t1[np.ix_(so,sv)], (0, 1), v.oooo, (2, 3, 4, 0), (2, 3, 4, 1)) - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), x38, (2, 0, 3, 4), (2, 3, 1, 4)) - del x38 - x39 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x39 += einsum(t1[np.ix_(so,sv)], (0, 1), x9, (2, 3, 0, 4), (2, 3, 1, 4)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x39, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(x39, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x39 - x40 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x40 += einsum(t1[np.ix_(so,sv)], (0, 1), v.vvvv, (2, 3, 4, 1), (0, 2, 3, 4)) - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), x40, (2, 3, 1, 4), (0, 2, 3, 4)) - del x40 - x41 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x41 += einsum(t1[np.ix_(so,sv)], (0, 1), v.ooov, (2, 3, 4, 1), (0, 2, 3, 4)) - t3new += einsum(x41, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (3, 2, 4, 5, 6, 7), (0, 1, 4, 5, 6, 7)) - t3new += einsum(x41, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (2, 3, 4, 5, 6, 7), (1, 0, 4, 5, 6, 7)) - x42 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x42 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x41, (4, 5, 0, 1), (4, 5, 2, 3)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x42, (0, 1, 2, 3), (0, 1, 3, 2)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x42, (0, 1, 2, 3), (1, 0, 2, 3)) - del x42 - x43 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x43 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.ooov, (4, 1, 5, 2), (0, 4, 5, 3)) - t3new += einsum(t2[np.ix_(so,sO,sV,sv)], (0, 1, 2, 3), x43, (4, 5, 0, 6), (4, 5, 1, 3, 6, 2)) * -1.0 - x44 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x44 += einsum(t1[np.ix_(so,sv)], (0, 1), x43, (2, 3, 0, 4), (2, 3, 1, 4)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x44, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x44, (0, 1, 2, 3), (1, 0, 3, 2)) - del x44 - x45 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x45 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.ooov, (4, 5, 1, 3), (0, 4, 5, 2)) - t3new += einsum(t2[np.ix_(so,sO,sV,sv)], (0, 1, 2, 3), x45, (4, 5, 0, 6), (5, 4, 1, 3, 6, 2)) * 2.0 - x46 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x46 += einsum(t1[np.ix_(so,sv)], (0, 1), x45, (2, 3, 0, 4), (2, 3, 1, 4)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x46, (0, 1, 2, 3), (1, 0, 2, 3)) * -2.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(x46, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - del x46 - x47 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x47 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.ooov, (4, 5, 1, 2), (0, 4, 5, 3)) - t3new += einsum(t2[np.ix_(so,sO,sV,sv)], (0, 1, 2, 3), x47, (4, 5, 0, 6), (5, 4, 1, 3, 6, 2)) * -1.0 - x48 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x48 += einsum(t1[np.ix_(so,sv)], (0, 1), x47, (2, 3, 0, 4), (2, 3, 1, 4)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x48, (0, 1, 2, 3), (1, 0, 2, 3)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x48, (0, 1, 2, 3), (0, 1, 3, 2)) - del x48 - x49 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x49 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.ooov, (4, 1, 5, 3), (0, 4, 5, 2)) - t3new += einsum(t2[np.ix_(so,sO,sV,sv)], (0, 1, 2, 3), x49, (4, 5, 0, 6), (5, 4, 1, 3, 6, 2)) * -1.0 - x50 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x50 += einsum(t1[np.ix_(so,sv)], (0, 1), x49, (2, 3, 0, 4), (2, 3, 1, 4)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x50, (0, 1, 2, 3), (1, 0, 2, 3)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x50, (0, 1, 2, 3), (0, 1, 3, 2)) - del x50 - x51 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x51 += einsum(x5, (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 1, 3, 4), (2, 0, 3, 4)) - del x5 - t2new[np.ix_(so,so,sv,sv)] += einsum(x51, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x51, (0, 1, 2, 3), (1, 0, 3, 2)) - del x51 - x52 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x52 += einsum(x6, (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 1, 3, 4), (2, 0, 3, 4)) - del x6 - t2new[np.ix_(so,so,sv,sv)] += einsum(x52, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(x52, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 - del x52 - x53 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x53 += einsum(t1[np.ix_(so,sv)], (0, 1), v.ovvv, (2, 1, 3, 4), (0, 2, 3, 4)) - t3new += einsum(x53, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (1, 4, 5, 3, 6, 7), (0, 4, 5, 2, 6, 7)) * -1.0 - t3new += einsum(x53, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (1, 4, 5, 6, 3, 7), (0, 4, 5, 6, 2, 7)) * -1.0 - t3new += einsum(x53, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 1, 5, 3, 6, 7), (4, 0, 5, 2, 6, 7)) * -1.0 - t3new += einsum(x53, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 1, 5, 6, 3, 7), (4, 0, 5, 6, 2, 7)) * -1.0 - x54 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x54 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x53, (4, 1, 5, 3), (4, 0, 2, 5)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x54, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(x54, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x54 - x55 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x55 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x53, (4, 1, 5, 2), (4, 0, 3, 5)) - del x53 - t2new[np.ix_(so,so,sv,sv)] += einsum(x55, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(x55, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x55 - x56 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x56 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x21, (4, 1, 3, 5), (4, 0, 2, 5)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x56, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(x56, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 - del x56 - x57 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x57 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x21, (4, 1, 2, 5), (4, 0, 3, 5)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x57, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(x57, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x57 - x58 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x58 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.ovvv, (4, 2, 5, 3), (0, 1, 4, 5)) - t3new += einsum(t2[np.ix_(so,sO,sV,sv)], (0, 1, 2, 3), x58, (4, 5, 0, 6), (4, 5, 1, 3, 6, 2)) - x59 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x59 += einsum(t1[np.ix_(so,sv)], (0, 1), x58, (2, 3, 0, 4), (2, 3, 1, 4)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x59, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(x59, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x59 - x60 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x60 += einsum(x8, (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 1), (2, 3, 4, 0)) - del x8 - t2new[np.ix_(so,so,sv,sv)] += einsum(x60, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(x60, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - del x60 - x61 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x61 += einsum(x7, (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 0), (2, 3, 4, 1)) - del x7 - t2new[np.ix_(so,so,sv,sv)] += einsum(x61, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(x61, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x61 - x62 = np.zeros((naocc, navir, nocc, nocc), dtype=types[float]) - x62 += einsum(t1[np.ix_(so,sv)], (0, 1), v.ovOV, (2, 1, 3, 4), (3, 4, 0, 2)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x62, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 3, 0, 5, 6, 1), (2, 4, 6, 5)) * -1.0 - x63 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x63 += einsum(x62, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (3, 4, 0, 5, 6, 1), (2, 4, 5, 6)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x63, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - t2new[np.ix_(so,so,sv,sv)] += einsum(x63, (0, 1, 2, 3), (1, 0, 3, 2)) * -0.5 - del x63 - x64 = np.zeros((naocc, navir, nocc, nocc), dtype=types[float]) - x64 += einsum(t1[np.ix_(so,sv)], (0, 1), v.oVvO, (2, 3, 1, 4), (4, 3, 0, 2)) - x65 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x65 += einsum(x64, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (3, 4, 0, 5, 6, 1), (2, 4, 5, 6)) - del x64 - t2new[np.ix_(so,so,sv,sv)] += einsum(x65, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - t2new[np.ix_(so,so,sv,sv)] += einsum(x65, (0, 1, 2, 3), (1, 0, 3, 2)) * 0.5 - del x65 - x66 = np.zeros((naocc, navir, nocc, nocc), dtype=types[float]) - x66 += einsum(t1[np.ix_(so,sv)], (0, 1), v.ovOV, (2, 1, 3, 4), (3, 4, 0, 2)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x66, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 3, 0, 5, 6, 1), (4, 2, 5, 6)) * -1.0 - del x66 - x67 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x67 += einsum(v.ovOV, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 5, 2, 1, 6, 3), (4, 5, 0, 6)) - t3new += einsum(t2[np.ix_(so,sO,sV,sv)], (0, 1, 2, 3), x67, (4, 5, 0, 6), (4, 5, 1, 3, 6, 2)) * 0.5 - x68 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x68 += einsum(t1[np.ix_(so,sv)], (0, 1), x67, (2, 3, 0, 4), (2, 3, 1, 4)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x68, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - t2new[np.ix_(so,so,sv,sv)] += einsum(x68, (0, 1, 2, 3), (1, 0, 3, 2)) * -0.5 - del x68 - x69 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x69 += einsum(v.oVvO, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 5, 3, 2, 6, 1), (4, 5, 0, 6)) - t3new += einsum(t2[np.ix_(so,sO,sV,sv)], (0, 1, 2, 3), x69, (4, 5, 0, 6), (4, 5, 1, 3, 6, 2)) * -0.5 - x70 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x70 += einsum(t1[np.ix_(so,sv)], (0, 1), x69, (2, 3, 0, 4), (2, 3, 1, 4)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x70, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - t2new[np.ix_(so,so,sv,sv)] += einsum(x70, (0, 1, 2, 3), (1, 0, 3, 2)) * 0.5 - del x70 - x71 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x71 += einsum(v.ovOV, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 5, 2, 6, 1, 3), (4, 5, 0, 6)) - t3new += einsum(t2[np.ix_(so,sO,sV,sv)], (0, 1, 2, 3), x71, (4, 5, 0, 6), (5, 4, 1, 3, 6, 2)) - x72 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x72 += einsum(t1[np.ix_(so,sv)], (0, 1), x71, (2, 3, 0, 4), (2, 3, 1, 4)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x72, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(x72, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x72 - x73 = np.zeros((naocc, navir), dtype=types[float]) - x73 += einsum(t1[np.ix_(so,sv)], (0, 1), v.ovOV, (0, 1, 2, 3), (2, 3)) - x74 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x74 += einsum(x73, (0, 1), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) - del x73 - t2new[np.ix_(so,so,sv,sv)] += einsum(x74, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(x74, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - del x74 - x75 = np.zeros((naocc, navir), dtype=types[float]) - x75 += einsum(t1[np.ix_(so,sv)], (0, 1), v.oVvO, (0, 2, 1, 3), (3, 2)) - x76 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x76 += einsum(x75, (0, 1), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) - del x75 - t2new[np.ix_(so,so,sv,sv)] += einsum(x76, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(x76, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x76 - x77 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x77 += einsum(x14, (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 1, 3, 4), (2, 0, 3, 4)) - del x14 - t2new[np.ix_(so,so,sv,sv)] += einsum(x77, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x77, (0, 1, 2, 3), (1, 0, 3, 2)) - del x77 - x78 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x78 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x26, (4, 1, 5, 3), (0, 4, 2, 5)) - del x26 - t2new[np.ix_(so,so,sv,sv)] += einsum(x78, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(x78, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 - del x78 - x79 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x79 += einsum(x12, (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 1, 3, 4), (2, 0, 3, 4)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x79, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(x79, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(x79, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x79 - x80 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x80 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.ovov, (4, 3, 1, 5), (0, 4, 2, 5)) - t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x80, (4, 1, 5, 3), (4, 0, 5, 2)) * -2.0 - del x80 - x81 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x81 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.ovov, (4, 2, 1, 5), (0, 4, 3, 5)) - t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x81, (4, 1, 5, 2), (4, 0, 3, 5)) - x82 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x82 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x81, (4, 1, 5, 3), (0, 4, 2, 5)) - del x81 - t2new[np.ix_(so,so,sv,sv)] += einsum(x82, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x82, (0, 1, 2, 3), (1, 0, 3, 2)) - del x82 - x83 = np.zeros((nvir, nvir), dtype=types[float]) - x83 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.ovov, (0, 2, 1, 4), (3, 4)) - x84 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x84 += einsum(x83, (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 1), (2, 3, 4, 0)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x84, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - t2new[np.ix_(so,so,sv,sv)] += einsum(x84, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.5 - t2new[np.ix_(so,so,sv,sv)] += einsum(x84, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.5 - t2new[np.ix_(so,so,sv,sv)] += einsum(x84, (0, 1, 2, 3), (1, 0, 3, 2)) * -0.5 - del x84 - x85 = np.zeros((nvir, nvir), dtype=types[float]) - x85 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.ovov, (0, 4, 1, 2), (3, 4)) - x86 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x86 += einsum(x85, (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 1), (2, 3, 4, 0)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x86, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - t2new[np.ix_(so,so,sv,sv)] += einsum(x86, (0, 1, 2, 3), (1, 0, 3, 2)) * 0.5 - t2new[np.ix_(so,so,sv,sv)] += einsum(x86, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - t2new[np.ix_(so,so,sv,sv)] += einsum(x86, (0, 1, 2, 3), (1, 0, 3, 2)) * 0.5 - del x86 - x87 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x87 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.ovov, (4, 2, 5, 3), (0, 1, 4, 5)) - t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x87, (4, 5, 0, 1), (5, 4, 3, 2)) - t3new += einsum(x87, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (2, 3, 4, 5, 6, 7), (0, 1, 4, 5, 6, 7)) - x88 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x88 += einsum(t1[np.ix_(so,sv)], (0, 1), x41, (2, 3, 4, 0), (2, 4, 3, 1)) - x89 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x89 += einsum(t1[np.ix_(so,sv)], (0, 1), x88, (2, 0, 3, 4), (2, 3, 1, 4)) - del x88 - t2new[np.ix_(so,so,sv,sv)] += einsum(x89, (0, 1, 2, 3), (0, 1, 3, 2)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x89, (0, 1, 2, 3), (1, 0, 2, 3)) - del x89 - x90 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x90 += einsum(t1[np.ix_(so,sv)], (0, 1), x21, (2, 3, 1, 4), (0, 2, 3, 4)) - del x21 - t3new += einsum(t2[np.ix_(so,sO,sV,sv)], (0, 1, 2, 3), x90, (4, 5, 0, 6), (4, 5, 1, 3, 6, 2)) - x91 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x91 += einsum(t1[np.ix_(so,sv)], (0, 1), x90, (2, 3, 0, 4), (2, 3, 1, 4)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x91, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(x91, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x91 - x92 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x92 += einsum(t1[np.ix_(so,sv)], (0, 1), x9, (2, 3, 4, 1), (2, 0, 4, 3)) - t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x92, (4, 5, 0, 1), (5, 4, 3, 2)) - t3new += einsum(x92, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (3, 2, 4, 5, 6, 7), (1, 0, 4, 5, 6, 7)) - x93 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x93 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x9, (4, 1, 5, 3), (4, 0, 5, 2)) - t3new += einsum(t2[np.ix_(so,sO,sV,sv)], (0, 1, 2, 3), x93, (4, 5, 0, 6), (4, 5, 1, 3, 6, 2)) * 2.0 - x94 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x94 += einsum(t1[np.ix_(so,sv)], (0, 1), x93, (2, 3, 0, 4), (2, 3, 1, 4)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x94, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(x94, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 - del x94 - x95 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x95 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x9, (4, 1, 5, 2), (4, 0, 5, 3)) - t3new += einsum(t2[np.ix_(so,sO,sV,sv)], (0, 1, 2, 3), x95, (4, 5, 0, 6), (4, 5, 1, 3, 6, 2)) * -1.0 - x96 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x96 += einsum(t1[np.ix_(so,sv)], (0, 1), x95, (2, 3, 0, 4), (2, 3, 1, 4)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x96, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x96, (0, 1, 2, 3), (1, 0, 3, 2)) - del x96 - x97 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x97 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x9, (4, 5, 1, 3), (4, 0, 5, 2)) - t3new += einsum(t2[np.ix_(so,sO,sV,sv)], (0, 1, 2, 3), x97, (4, 5, 0, 6), (4, 5, 1, 3, 6, 2)) * -1.0 - x98 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x98 += einsum(t1[np.ix_(so,sv)], (0, 1), x97, (2, 3, 0, 4), (2, 3, 1, 4)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x98, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x98, (0, 1, 2, 3), (1, 0, 3, 2)) - del x98 - x99 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x99 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x9, (4, 5, 1, 2), (4, 0, 5, 3)) - t3new += einsum(t2[np.ix_(so,sO,sV,sv)], (0, 1, 2, 3), x99, (4, 5, 0, 6), (5, 4, 1, 3, 6, 2)) * -1.0 - x100 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x100 += einsum(t1[np.ix_(so,sv)], (0, 1), x99, (2, 3, 0, 4), (2, 3, 1, 4)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x100, (0, 1, 2, 3), (0, 1, 3, 2)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x100, (0, 1, 2, 3), (1, 0, 2, 3)) - del x100 - x101 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x101 += einsum(x16, (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 1, 3, 4), (0, 2, 3, 4)) - del x16 - t2new[np.ix_(so,so,sv,sv)] += einsum(x101, (0, 1, 2, 3), (0, 1, 3, 2)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x101, (0, 1, 2, 3), (1, 0, 2, 3)) - del x101 - x102 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x102 += einsum(x17, (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 1, 3, 4), (0, 2, 3, 4)) - del x17 - t2new[np.ix_(so,so,sv,sv)] += einsum(x102, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(x102, (0, 1, 2, 3), (1, 0, 2, 3)) * -2.0 - del x102 - x103 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x103 += einsum(t1[np.ix_(so,sv)], (0, 1), x87, (2, 3, 4, 0), (2, 3, 4, 1)) - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), x103, (2, 3, 0, 4), (2, 3, 1, 4)) - del x103 - x104 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x104 += einsum(x0, (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 1), (2, 3, 0, 4)) - t3new += einsum(t2[np.ix_(so,sO,sV,sv)], (0, 1, 2, 3), x104, (4, 5, 0, 6), (5, 4, 1, 3, 6, 2)) * 2.0 - x105 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x105 += einsum(t1[np.ix_(so,sv)], (0, 1), x104, (2, 3, 0, 4), (2, 3, 1, 4)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x105, (0, 1, 2, 3), (1, 0, 2, 3)) * -2.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(x105, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - del x105 - x106 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x106 += einsum(x15, (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 1), (2, 3, 0, 4)) - t3new += einsum(t2[np.ix_(so,sO,sV,sv)], (0, 1, 2, 3), x106, (4, 5, 0, 6), (5, 4, 1, 3, 6, 2)) * -1.0 - x107 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x107 += einsum(t1[np.ix_(so,sv)], (0, 1), x106, (2, 3, 0, 4), (2, 3, 1, 4)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x107, (0, 1, 2, 3), (1, 0, 2, 3)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x107, (0, 1, 2, 3), (0, 1, 3, 2)) - del x107 - x108 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x108 += einsum(t1[np.ix_(so,sv)], (0, 1), x92, (2, 3, 0, 4), (3, 2, 4, 1)) - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), x108, (2, 3, 0, 4), (2, 3, 1, 4)) - del x108 - x109 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x109 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.ooOV, (4, 1, 5, 6), (5, 6, 0, 4, 2, 3)) - t3new += einsum(x109, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -1.0 - t3new += einsum(x109, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -1.0 - del x109 - x110 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x110 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), v.ovoO, (4, 5, 1, 6), (6, 3, 0, 4, 2, 5)) - t3new += einsum(x110, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -1.0 - t3new += einsum(x110, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -1.0 - del x110 - x111 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x111 += einsum(t2[np.ix_(so,sO,sv,sV)], (0, 1, 2, 3), v.ooov, (4, 0, 5, 6), (1, 3, 4, 5, 2, 6)) - t3new += einsum(x111, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -1.0 - t3new += einsum(x111, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -1.0 - del x111 - x112 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x112 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), v.ovvV, (4, 5, 3, 6), (1, 6, 0, 4, 2, 5)) - t3new += einsum(x112, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) - t3new += einsum(x112, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) - del x112 - x113 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x113 += einsum(t2[np.ix_(so,sO,sv,sV)], (0, 1, 2, 3), v.ovvv, (4, 5, 6, 2), (1, 3, 0, 4, 5, 6)) - t3new += einsum(x113, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) - t3new += einsum(x113, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) - x114 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x114 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.vvOV, (4, 3, 5, 6), (5, 6, 0, 1, 2, 4)) - t3new += einsum(x114, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) - t3new += einsum(x114, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) - del x114 - x115 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x115 += einsum(t2[np.ix_(so,sO,sV,sv)], (0, 1, 2, 3), v.ovvv, (4, 5, 6, 3), (1, 2, 0, 4, 5, 6)) - t3new += einsum(x115, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -1.0 - t3new += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x115, (4, 5, 6, 1, 3, 7), (6, 0, 4, 7, 2, 5)) * -2.0 - t3new += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x115, (4, 5, 6, 1, 2, 7), (6, 0, 4, 7, 3, 5)) - x116 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x116 += einsum(v.ovov, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (2, 4, 5, 3, 6, 7), (5, 7, 4, 0, 6, 1)) - t3new += einsum(x116, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) - t3new += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x116, (4, 5, 6, 1, 7, 3), (0, 6, 4, 2, 7, 5)) * 2.0 - t3new += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x116, (4, 5, 6, 1, 7, 2), (0, 6, 4, 3, 7, 5)) * -1.0 - del x116 - x117 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x117 += einsum(v.ovov, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 2, 5, 6, 3, 7), (5, 7, 4, 0, 6, 1)) - t3new += einsum(x117, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x117, (4, 5, 6, 1, 7, 3), (6, 0, 4, 7, 2, 5)) * 4.0 - t3new += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x117, (4, 5, 6, 1, 7, 2), (6, 0, 4, 7, 3, 5)) * -2.0 - del x117 - x118 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x118 += einsum(v.ovov, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 2, 5, 3, 6, 7), (5, 7, 4, 0, 6, 1)) - t3new += einsum(x118, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -1.0 - t3new += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x118, (4, 5, 6, 1, 7, 3), (6, 0, 4, 7, 2, 5)) * -2.0 - t3new += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x118, (4, 5, 6, 1, 7, 2), (6, 0, 4, 7, 3, 5)) - del x118 - x119 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x119 += einsum(v.OVOV, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 5, 2, 6, 7, 3), (0, 1, 4, 5, 6, 7)) - t3new += einsum(x119, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) - t3new += einsum(x119, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) - del x119 - x120 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x120 += einsum(f.ov, (0, 1), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (2, 3, 4, 1, 5, 6), (4, 6, 0, 2, 3, 5)) - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), x120, (2, 3, 0, 4, 5, 6), (4, 5, 2, 1, 6, 3)) * -1.0 - del x120 - x121 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x121 += einsum(f.ov, (0, 1), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (2, 3, 4, 5, 1, 6), (4, 6, 0, 2, 3, 5)) - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), x121, (2, 3, 0, 4, 5, 6), (4, 5, 2, 6, 1, 3)) * -1.0 - del x121 - x122 = np.zeros((navir, navir), dtype=types[float]) - x122 += einsum(f.oV, (0, 1), t1[np.ix_(so,sV)], (0, 2), (1, 2)) - t3new += einsum(x122, (0, 1), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 6, 1)) * -1.0 - del x122 - x123 = np.zeros((naocc, naocc), dtype=types[float]) - x123 += einsum(f.vO, (0, 1), t1[np.ix_(sO,sv)], (2, 0), (1, 2)) - t3new += einsum(x123, (0, 1), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (2, 3, 0, 4, 5, 6), (2, 3, 1, 4, 5, 6)) * -1.0 - del x123 - x124 = np.zeros((naocc, navir, nocc, nocc), dtype=types[float]) - x124 += einsum(f.ov, (0, 1), t2[np.ix_(so,sO,sv,sV)], (2, 3, 1, 4), (3, 4, 0, 2)) - x125 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x125 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x124, (4, 5, 1, 6), (4, 5, 6, 0, 2, 3)) - del x124 - t3new += einsum(x125, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -1.0 - t3new += einsum(x125, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -1.0 - del x125 - x126 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x126 += einsum(t2[np.ix_(so,sO,sv,sV)], (0, 1, 2, 3), x34, (0, 4, 5, 6), (1, 3, 4, 5, 2, 6)) - del x34 - t3new += einsum(x126, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -1.0 - t3new += einsum(x126, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -1.0 - del x126 - x127 = np.zeros((naocc, nocc, nocc, nvir), dtype=types[float]) - x127 += einsum(f.ov, (0, 1), t2[np.ix_(so,sO,sv,sv)], (2, 3, 4, 1), (3, 0, 2, 4)) - t3new += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x127, (4, 0, 5, 6), (1, 5, 4, 2, 6, 3)) - x128 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x128 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x127, (4, 1, 5, 6), (4, 3, 5, 0, 6, 2)) - del x127 - t3new += einsum(x128, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -1.0 - t3new += einsum(x128, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -1.0 - del x128 - x129 = np.zeros((naocc, nocc, nocc, nvir), dtype=types[float]) - x129 += einsum(f.ov, (0, 1), t2[np.ix_(so,sO,sv,sv)], (2, 3, 1, 4), (3, 0, 2, 4)) - t3new += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x129, (4, 1, 5, 6), (5, 0, 4, 6, 2, 3)) - t3new += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x129, (4, 0, 5, 6), (1, 5, 4, 6, 2, 3)) - del x129 - x130 = np.zeros((navir, nocc, nocc, nocc), dtype=types[float]) - x130 += einsum(f.ov, (0, 1), t2[np.ix_(so,so,sv,sV)], (2, 3, 1, 4), (4, 0, 3, 2)) - t3new += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x130, (4, 0, 5, 6), (5, 6, 1, 3, 2, 4)) - del x130 - x131 = np.zeros((naocc, navir, nocc, nocc), dtype=types[float]) - x131 += einsum(f.ov, (0, 1), t2[np.ix_(so,sO,sV,sv)], (2, 3, 4, 1), (3, 4, 0, 2)) - t3new += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x131, (4, 5, 1, 6), (6, 0, 4, 3, 2, 5)) - del x131 - x132 = np.zeros((naocc, nocc, nocc, nvir), dtype=types[float]) - x132 += einsum(t1[np.ix_(so,sv)], (0, 1), v.oooO, (2, 0, 3, 4), (4, 3, 2, 1)) - t3new += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x132, (4, 0, 5, 6), (1, 5, 4, 2, 6, 3)) * -1.0 - x133 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x133 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x132, (4, 1, 5, 6), (4, 3, 0, 5, 6, 2)) - del x132 - t3new += einsum(x133, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) - t3new += einsum(x133, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) - del x133 - x134 = np.zeros((naocc, nocc, nocc, nvir), dtype=types[float]) - x134 += einsum(t1[np.ix_(so,sv)], (0, 1), v.oooO, (2, 3, 0, 4), (4, 2, 3, 1)) - t3new += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x134, (4, 5, 1, 6), (5, 0, 4, 6, 2, 3)) * -1.0 - t3new += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x134, (4, 5, 0, 6), (1, 5, 4, 6, 2, 3)) * -1.0 - del x134 - x135 = np.zeros((naocc, nocc, nocc, nvir), dtype=types[float]) - x135 += einsum(t1[np.ix_(so,sv)], (0, 1), v.ovvO, (2, 1, 3, 4), (4, 0, 2, 3)) - t3new += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x135, (4, 5, 1, 6), (5, 0, 4, 6, 2, 3)) - t3new += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x135, (4, 5, 0, 6), (1, 5, 4, 6, 2, 3)) - del x135 - x136 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x136 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x62, (4, 5, 6, 1), (4, 5, 6, 0, 2, 3)) - t3new += einsum(x136, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -1.0 - t3new += einsum(x136, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -1.0 - del x136 - x137 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x137 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), v.ovvO, (4, 2, 5, 6), (6, 3, 1, 0, 4, 5)) - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), x137, (2, 3, 4, 5, 0, 6), (4, 5, 2, 6, 1, 3)) - del x137 - x138 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x138 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.ovOV, (4, 3, 5, 6), (5, 6, 0, 1, 4, 2)) - x139 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x139 += einsum(t1[np.ix_(so,sv)], (0, 1), x138, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - t3new += einsum(x139, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -1.0 - t3new += einsum(x139, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -1.0 - del x139 - x140 = np.zeros((naocc, navir, nocc, nocc), dtype=types[float]) - x140 += einsum(t1[np.ix_(so,sv)], (0, 1), v.oOvV, (2, 3, 1, 4), (3, 4, 0, 2)) - t3new += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x140, (4, 5, 6, 1), (6, 0, 4, 3, 2, 5)) - del x140 - x141 = np.zeros((naocc, nocc, nocc, nvir), dtype=types[float]) - x141 += einsum(t1[np.ix_(so,sv)], (0, 1), v.oOvv, (2, 3, 4, 1), (3, 0, 2, 4)) - t3new += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x141, (4, 5, 0, 6), (1, 5, 4, 2, 6, 3)) - x142 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x142 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x141, (4, 5, 1, 6), (4, 3, 5, 0, 2, 6)) - del x141 - t3new += einsum(x142, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -1.0 - t3new += einsum(x142, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -1.0 - del x142 - x143 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x143 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.oOvV, (4, 5, 3, 6), (5, 6, 0, 1, 4, 2)) - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), x143, (2, 3, 4, 5, 0, 6), (5, 4, 2, 1, 6, 3)) - del x143 - x144 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x144 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), v.oOvv, (4, 5, 6, 2), (5, 3, 1, 0, 4, 6)) - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), x144, (2, 3, 4, 5, 0, 6), (4, 5, 2, 1, 6, 3)) - del x144 - x145 = np.zeros((navir, nocc, nocc, nocc), dtype=types[float]) - x145 += einsum(t1[np.ix_(so,sv)], (0, 1), v.oovV, (2, 3, 1, 4), (4, 0, 2, 3)) - t3new += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x145, (4, 5, 6, 0), (5, 6, 1, 3, 2, 4)) - del x145 - x146 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x146 += einsum(t2[np.ix_(so,sO,sv,sV)], (0, 1, 2, 3), x36, (4, 5, 0, 6), (1, 3, 4, 5, 2, 6)) - del x36 - t3new += einsum(x146, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -1.0 - t3new += einsum(x146, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -1.0 - del x146 - x147 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x147 += einsum(t2[np.ix_(so,sO,sv,sV)], (0, 1, 2, 3), v.oooo, (4, 5, 6, 0), (1, 3, 4, 5, 6, 2)) - x148 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x148 += einsum(t1[np.ix_(so,sv)], (0, 1), x147, (2, 3, 0, 4, 5, 6), (2, 3, 4, 5, 1, 6)) - del x147 - t3new += einsum(x148, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) - t3new += einsum(x148, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) - del x148 - x149 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x149 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), v.oovV, (4, 5, 3, 6), (1, 6, 0, 4, 5, 2)) - x150 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x150 += einsum(t1[np.ix_(so,sv)], (0, 1), x149, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 1, 6)) - del x149 - t3new += einsum(x150, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -1.0 - t3new += einsum(x150, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -1.0 - del x150 - x151 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x151 += einsum(t2[np.ix_(so,sO,sv,sV)], (0, 1, 2, 3), v.oovv, (4, 5, 6, 2), (1, 3, 0, 4, 5, 6)) - x152 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x152 += einsum(t1[np.ix_(so,sv)], (0, 1), x151, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 1, 6)) - del x151 - t3new += einsum(x152, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -1.0 - t3new += einsum(x152, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -1.0 - del x152 - x153 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x153 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), v.oovV, (4, 5, 2, 6), (1, 6, 0, 4, 5, 3)) - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), x153, (2, 3, 4, 0, 5, 6), (4, 5, 2, 6, 1, 3)) - del x153 - x154 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x154 += einsum(t2[np.ix_(so,sO,sv,sV)], (0, 1, 2, 3), x9, (4, 5, 0, 6), (1, 3, 4, 5, 2, 6)) - t3new += einsum(x154, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -1.0 - t3new += einsum(x154, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -1.0 - del x154 - x155 = np.zeros((navir, nocc, nocc, nocc), dtype=types[float]) - x155 += einsum(t1[np.ix_(so,sv)], (0, 1), v.ovoV, (2, 1, 3, 4), (4, 0, 3, 2)) - t3new += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x155, (4, 5, 6, 0), (6, 5, 1, 3, 2, 4)) - x156 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x156 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), v.ovoV, (4, 3, 5, 6), (1, 6, 0, 5, 4, 2)) - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), x156, (2, 3, 4, 5, 0, 6), (5, 4, 2, 1, 6, 3)) - del x156 - x157 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x157 += einsum(t2[np.ix_(so,sO,sv,sV)], (0, 1, 2, 3), v.ovov, (4, 5, 6, 2), (1, 3, 0, 4, 6, 5)) - x158 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x158 += einsum(t1[np.ix_(so,sv)], (0, 1), x157, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - t3new += einsum(x158, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -1.0 - t3new += einsum(x158, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -1.0 - del x158 - x159 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x159 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), v.ovoV, (4, 2, 5, 6), (1, 6, 0, 5, 4, 3)) - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), x159, (2, 3, 4, 5, 0, 6), (5, 4, 2, 6, 1, 3)) - del x159 - x160 = np.zeros((naocc, navir, nocc, nocc), dtype=types[float]) - x160 += einsum(t1[np.ix_(so,sV)], (0, 1), v.oooO, (2, 3, 0, 4), (4, 1, 2, 3)) - x161 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x161 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x160, (4, 5, 6, 1), (4, 5, 0, 6, 2, 3)) - del x160 - t3new += einsum(x161, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) - t3new += einsum(x161, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) - del x161 - x162 = np.zeros((naocc, navir, nocc, nocc), dtype=types[float]) - x162 += einsum(t1[np.ix_(so,sV)], (0, 1), v.oooO, (2, 0, 3, 4), (4, 1, 3, 2)) - t3new += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x162, (4, 5, 1, 6), (6, 0, 4, 3, 2, 5)) * -1.0 - del x162 - x163 = np.zeros((naocc, navir, nvir, nvir), dtype=types[float]) - x163 += einsum(t1[np.ix_(so,sV)], (0, 1), v.ovvO, (0, 2, 3, 4), (4, 1, 3, 2)) - t3new += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x163, (4, 5, 6, 2), (0, 1, 4, 6, 3, 5)) - del x163 - x164 = np.zeros((naocc, navir, nvir, nvir), dtype=types[float]) - x164 += einsum(t1[np.ix_(so,sV)], (0, 1), v.oOvv, (0, 2, 3, 4), (2, 1, 3, 4)) - x165 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x165 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x164, (4, 5, 6, 3), (4, 5, 0, 1, 2, 6)) - del x164 - t3new += einsum(x165, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -1.0 - t3new += einsum(x165, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -1.0 - del x165 - x166 = np.zeros((navir, nocc, nocc, nocc), dtype=types[float]) - x166 += einsum(t1[np.ix_(so,sV)], (0, 1), v.oooo, (2, 3, 4, 0), (1, 2, 3, 4)) - t3new += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x166, (4, 5, 0, 6), (6, 5, 1, 3, 2, 4)) * -1.0 - del x166 - x167 = np.zeros((navir, nocc, nvir, nvir), dtype=types[float]) - x167 += einsum(t1[np.ix_(so,sV)], (0, 1), v.oovv, (2, 0, 3, 4), (1, 2, 3, 4)) - t3new += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x167, (4, 5, 6, 3), (5, 0, 1, 6, 2, 4)) - t3new += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x167, (4, 5, 6, 2), (5, 0, 1, 3, 6, 4)) - del x167 - x168 = np.zeros((navir, nocc, nvir, nvir), dtype=types[float]) - x168 += einsum(t1[np.ix_(so,sV)], (0, 1), v.ovov, (2, 3, 0, 4), (1, 2, 3, 4)) - t3new += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x168, (4, 5, 6, 2), (0, 5, 1, 3, 6, 4)) - x169 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x169 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x168, (4, 5, 6, 3), (1, 4, 0, 5, 2, 6)) - t3new += einsum(x169, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -1.0 - t3new += einsum(x169, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -1.0 - del x169 - x170 = np.zeros((navir, nocc, nvir, nvir), dtype=types[float]) - x170 += einsum(t1[np.ix_(so,sv)], (0, 1), v.vvvV, (2, 1, 3, 4), (4, 0, 3, 2)) - t3new += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x170, (4, 5, 2, 6), (0, 5, 1, 3, 6, 4)) * -1.0 - x171 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x171 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x170, (4, 5, 3, 6), (1, 4, 5, 0, 2, 6)) - del x170 - t3new += einsum(x171, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) - t3new += einsum(x171, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) - del x171 - x172 = np.zeros((navir, nocc, nvir, nvir), dtype=types[float]) - x172 += einsum(t1[np.ix_(so,sv)], (0, 1), v.vvvV, (2, 3, 1, 4), (4, 0, 2, 3)) - t3new += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x172, (4, 5, 6, 3), (5, 0, 1, 6, 2, 4)) * -1.0 - t3new += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x172, (4, 5, 6, 2), (5, 0, 1, 3, 6, 4)) * -1.0 - del x172 - x173 = np.zeros((naocc, navir, nocc, nvir, nvir, nvir), dtype=types[float]) - x173 += einsum(t2[np.ix_(so,sO,sv,sV)], (0, 1, 2, 3), v.vvvv, (4, 5, 6, 2), (1, 3, 0, 4, 5, 6)) - x174 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x174 += einsum(t1[np.ix_(so,sv)], (0, 1), x173, (2, 3, 4, 1, 5, 6), (2, 3, 0, 4, 5, 6)) - del x173 - t3new += einsum(x174, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) - t3new += einsum(x174, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) - del x174 - x175 = np.zeros((naocc, navir, nocc, nocc), dtype=types[float]) - x175 += einsum(t1[np.ix_(sO,sv)], (0, 1), v.oovV, (2, 3, 1, 4), (0, 4, 2, 3)) - x176 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x176 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x175, (4, 5, 6, 1), (4, 5, 0, 6, 2, 3)) - del x175 - t3new += einsum(x176, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -1.0 - t3new += einsum(x176, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -1.0 - del x176 - x177 = np.zeros((naocc, nocc, nocc, nvir), dtype=types[float]) - x177 += einsum(t1[np.ix_(sO,sv)], (0, 1), v.oovv, (2, 3, 4, 1), (0, 2, 3, 4)) - t3new += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x177, (4, 5, 1, 6), (5, 0, 4, 6, 2, 3)) - t3new += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x177, (4, 5, 0, 6), (1, 5, 4, 6, 2, 3)) - del x177 - x178 = np.zeros((naocc, navir, nocc, nocc), dtype=types[float]) - x178 += einsum(t1[np.ix_(sO,sv)], (0, 1), v.ovoV, (2, 1, 3, 4), (0, 4, 3, 2)) - t3new += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x178, (4, 5, 6, 1), (6, 0, 4, 3, 2, 5)) - del x178 - x179 = np.zeros((naocc, nocc, nocc, nvir), dtype=types[float]) - x179 += einsum(t1[np.ix_(sO,sv)], (0, 1), v.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) - t3new += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x179, (4, 5, 0, 6), (1, 5, 4, 2, 6, 3)) - x180 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x180 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x179, (4, 5, 1, 6), (4, 3, 0, 5, 2, 6)) - t3new += einsum(x180, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -1.0 - t3new += einsum(x180, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -1.0 - del x180 - x181 = np.zeros((naocc, navir, nvir, nvir), dtype=types[float]) - x181 += einsum(t1[np.ix_(sO,sv)], (0, 1), v.vvvV, (2, 1, 3, 4), (0, 4, 3, 2)) - t3new += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x181, (4, 5, 2, 6), (0, 1, 4, 6, 3, 5)) * -1.0 - del x181 - x182 = np.zeros((naocc, navir, nvir, nvir), dtype=types[float]) - x182 += einsum(t1[np.ix_(sO,sv)], (0, 1), v.vvvV, (2, 3, 1, 4), (0, 4, 2, 3)) - x183 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x183 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x182, (4, 5, 6, 3), (4, 5, 0, 1, 2, 6)) - del x182 - t3new += einsum(x183, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) - t3new += einsum(x183, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) - del x183 - x184 = np.zeros((naocc, nvir, nvir, nvir), dtype=types[float]) - x184 += einsum(t1[np.ix_(sO,sv)], (0, 1), v.vvvv, (2, 3, 4, 1), (0, 2, 3, 4)) - t3new += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x184, (4, 5, 2, 6), (1, 0, 4, 6, 5, 3)) * -1.0 - del x184 - x185 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x185 += einsum(t2[np.ix_(so,sO,sV,sv)], (0, 1, 2, 3), v.oooo, (4, 5, 6, 0), (1, 2, 4, 5, 6, 3)) - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), x185, (2, 3, 0, 4, 5, 6), (5, 4, 2, 6, 1, 3)) * -1.0 - del x185 - x186 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x186 += einsum(t2[np.ix_(so,sO,sV,sv)], (0, 1, 2, 3), v.oovv, (4, 5, 6, 3), (1, 2, 0, 4, 5, 6)) - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), x186, (2, 3, 4, 0, 5, 6), (4, 5, 2, 6, 1, 3)) - del x186 - x187 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x187 += einsum(t2[np.ix_(so,sO,sV,sv)], (0, 1, 2, 3), v.ovov, (4, 5, 6, 3), (1, 2, 0, 4, 6, 5)) - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), x187, (2, 3, 4, 5, 0, 6), (4, 5, 2, 1, 6, 3)) - x188 = np.zeros((naocc, navir, nocc, nvir, nvir, nvir), dtype=types[float]) - x188 += einsum(t2[np.ix_(so,sO,sV,sv)], (0, 1, 2, 3), v.vvvv, (4, 5, 6, 3), (1, 2, 0, 4, 5, 6)) - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), x188, (2, 3, 4, 1, 5, 6), (4, 0, 2, 6, 5, 3)) * -1.0 - del x188 - x189 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x189 += einsum(v.ooov, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (2, 4, 5, 3, 6, 7), (5, 7, 4, 0, 1, 6)) - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), x189, (2, 3, 4, 0, 5, 6), (5, 4, 2, 1, 6, 3)) * -1.0 - del x189 - x190 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x190 += einsum(v.ooov, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (1, 4, 5, 3, 6, 7), (5, 7, 4, 0, 2, 6)) - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), x190, (2, 3, 4, 5, 0, 6), (5, 4, 2, 1, 6, 3)) - del x190 - x191 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x191 += einsum(v.ooov, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 1, 5, 3, 6, 7), (5, 7, 4, 0, 2, 6)) - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), x191, (2, 3, 4, 5, 0, 6), (4, 5, 2, 1, 6, 3)) - del x191 - x192 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x192 += einsum(v.ooov, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (1, 4, 5, 6, 3, 7), (5, 7, 4, 0, 2, 6)) - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), x192, (2, 3, 4, 5, 0, 6), (5, 4, 2, 6, 1, 3)) - del x192 - x193 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x193 += einsum(v.ooov, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 2, 5, 3, 6, 7), (5, 7, 4, 0, 1, 6)) - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), x193, (2, 3, 4, 0, 5, 6), (4, 5, 2, 6, 1, 3)) - del x193 - x194 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x194 += einsum(v.ooov, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 2, 5, 6, 3, 7), (5, 7, 4, 0, 1, 6)) - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), x194, (2, 3, 4, 0, 5, 6), (4, 5, 2, 6, 1, 3)) * -2.0 - del x194 - x195 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x195 += einsum(v.ooov, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 1, 5, 6, 3, 7), (5, 7, 4, 0, 2, 6)) - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), x195, (2, 3, 4, 5, 0, 6), (4, 5, 2, 6, 1, 3)) - del x195 - x196 = np.zeros((naocc, naocc, nocc, nocc), dtype=types[float]) - x196 += einsum(t1[np.ix_(so,sv)], (0, 1), v.ovOO, (2, 1, 3, 4), (3, 4, 0, 2)) - t3new += einsum(x196, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (3, 4, 1, 5, 6, 7), (2, 4, 0, 5, 6, 7)) * 0.5 - t3new += einsum(x196, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 3, 1, 5, 6, 7), (4, 2, 0, 5, 6, 7)) - del x196 - x197 = np.zeros((naocc, naocc, nocc, nocc), dtype=types[float]) - x197 += einsum(t1[np.ix_(so,sv)], (0, 1), v.oOvO, (2, 3, 1, 4), (3, 4, 0, 2)) - t3new += einsum(x197, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (3, 4, 1, 5, 6, 7), (2, 4, 0, 5, 6, 7)) * -0.5 - del x197 - x198 = np.zeros((navir, navir, nocc, nocc), dtype=types[float]) - x198 += einsum(t1[np.ix_(so,sv)], (0, 1), v.ovVV, (2, 1, 3, 4), (3, 4, 0, 2)) - t3new += einsum(x198, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (3, 4, 5, 6, 7, 1), (2, 4, 5, 6, 7, 0)) * -1.0 - t3new += einsum(x198, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 3, 5, 6, 7, 1), (4, 2, 5, 6, 7, 0)) * -1.0 - del x198 - x199 = np.zeros((navir, navir, nocc, nocc), dtype=types[float]) - x199 += einsum(t1[np.ix_(so,sv)], (0, 1), v.oVvV, (2, 3, 1, 4), (3, 4, 0, 2)) - t3new += einsum(x199, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (3, 4, 5, 6, 7, 0), (2, 4, 5, 6, 7, 1)) - del x199 - x200 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x200 += einsum(v.ovOO, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 5, 3, 1, 6, 7), (2, 7, 4, 5, 0, 6)) - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), x200, (2, 3, 4, 5, 0, 6), (4, 5, 2, 1, 6, 3)) - del x200 - x201 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x201 += einsum(v.oOvO, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 5, 3, 2, 6, 7), (1, 7, 4, 5, 0, 6)) - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), x201, (2, 3, 4, 5, 0, 6), (4, 5, 2, 1, 6, 3)) * -1.0 - del x201 - x202 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x202 += einsum(v.ovOO, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 5, 3, 6, 1, 7), (2, 7, 4, 5, 0, 6)) - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), x202, (2, 3, 4, 5, 0, 6), (4, 5, 2, 6, 1, 3)) - del x202 - x203 = np.zeros((naocc, naocc), dtype=types[float]) - x203 += einsum(t1[np.ix_(so,sv)], (0, 1), v.ovOO, (0, 1, 2, 3), (2, 3)) - t3new += einsum(x203, (0, 1), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (2, 3, 1, 4, 5, 6), (2, 3, 0, 4, 5, 6)) * -2.0 - del x203 - x204 = np.zeros((naocc, naocc), dtype=types[float]) - x204 += einsum(t1[np.ix_(so,sv)], (0, 1), v.oOvO, (0, 2, 1, 3), (2, 3)) - t3new += einsum(x204, (0, 1), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (2, 3, 1, 4, 5, 6), (2, 3, 0, 4, 5, 6)) - del x204 - x205 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x205 += einsum(v.ovvv, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 5, 6, 1, 3, 7), (6, 7, 4, 5, 0, 2)) - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), x205, (2, 3, 4, 5, 0, 6), (4, 5, 2, 1, 6, 3)) * -1.0 - del x205 - x206 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x206 += einsum(v.ovVV, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 5, 6, 1, 7, 3), (6, 2, 4, 5, 0, 7)) - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), x206, (2, 3, 4, 5, 0, 6), (4, 5, 2, 1, 6, 3)) * -0.5 - del x206 - x207 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x207 += einsum(v.oVvV, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 5, 6, 2, 7, 1), (6, 3, 4, 5, 0, 7)) - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), x207, (2, 3, 4, 5, 0, 6), (4, 5, 2, 1, 6, 3)) * 0.5 - del x207 - x208 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x208 += einsum(v.ovvv, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 5, 6, 3, 1, 7), (6, 7, 4, 5, 0, 2)) - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), x208, (2, 3, 4, 5, 0, 6), (4, 5, 2, 6, 1, 3)) * -1.0 - del x208 - x209 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x209 += einsum(v.ovVV, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 5, 6, 7, 1, 3), (6, 2, 4, 5, 0, 7)) - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), x209, (2, 3, 4, 5, 0, 6), (4, 5, 2, 6, 1, 3)) * -1.0 - del x209 - x210 = np.zeros((navir, navir), dtype=types[float]) - x210 += einsum(t1[np.ix_(so,sv)], (0, 1), v.ovVV, (0, 1, 2, 3), (2, 3)) - t3new += einsum(x210, (0, 1), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 6, 0)) * 2.0 - del x210 - x211 = np.zeros((navir, navir), dtype=types[float]) - x211 += einsum(t1[np.ix_(so,sv)], (0, 1), v.oVvV, (0, 2, 1, 3), (2, 3)) - t3new += einsum(x211, (0, 1), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 6, 1)) * -1.0 - del x211 - x212 = np.zeros((navir, navir, nocc, nocc), dtype=types[float]) - x212 += einsum(t1[np.ix_(so,sV)], (0, 1), v.oooV, (2, 0, 3, 4), (1, 4, 3, 2)) - t3new += einsum(x212, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (2, 4, 5, 6, 7, 1), (3, 4, 5, 6, 7, 0)) * -1.0 - del x212 - x213 = np.zeros((navir, navir, nocc, nocc), dtype=types[float]) - x213 += einsum(t1[np.ix_(so,sV)], (0, 1), v.oooV, (2, 3, 0, 4), (1, 4, 2, 3)) - t3new += einsum(x213, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (3, 4, 5, 6, 7, 1), (2, 4, 5, 6, 7, 0)) - t3new += einsum(x213, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 3, 5, 6, 7, 1), (4, 2, 5, 6, 7, 0)) - del x213 - x214 = np.zeros((naocc, naocc, navir, navir), dtype=types[float]) - x214 += einsum(t1[np.ix_(so,sV)], (0, 1), v.oVOO, (0, 2, 3, 4), (3, 4, 1, 2)) - t3new += einsum(x214, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 5, 1, 6, 7, 3), (4, 5, 0, 6, 7, 2)) - del x214 - x215 = np.zeros((naocc, naocc, navir, navir), dtype=types[float]) - x215 += einsum(t1[np.ix_(so,sV)], (0, 1), v.oOOV, (0, 2, 3, 4), (3, 2, 1, 4)) - x216 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x216 += einsum(x215, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 5, 0, 6, 7, 3), (1, 2, 4, 5, 6, 7)) - del x215 - t3new += einsum(x216, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -1.0 - t3new += einsum(x216, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -1.0 - del x216 - x217 = np.zeros((navir, navir, nvir, nvir), dtype=types[float]) - x217 += einsum(t1[np.ix_(so,sV)], (0, 1), v.oVvv, (0, 2, 3, 4), (1, 2, 3, 4)) - t3new += einsum(x217, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 5, 6, 3, 7, 1), (4, 5, 6, 2, 7, 0)) * -0.5 - t3new += einsum(x217, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 5, 6, 7, 3, 1), (4, 5, 6, 7, 2, 0)) * -1.0 - del x217 - x218 = np.zeros((navir, navir, nvir, nvir), dtype=types[float]) - x218 += einsum(t1[np.ix_(so,sV)], (0, 1), v.ovvV, (0, 2, 3, 4), (1, 4, 3, 2)) - t3new += einsum(x218, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 5, 6, 3, 7, 1), (4, 5, 6, 2, 7, 0)) * 0.5 - del x218 - x219 = np.zeros((naocc, naocc, nocc, nocc), dtype=types[float]) - x219 += einsum(t1[np.ix_(sO,sv)], (0, 1), v.oovO, (2, 3, 1, 4), (0, 4, 2, 3)) - t3new += einsum(x219, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (3, 4, 1, 5, 6, 7), (2, 4, 0, 5, 6, 7)) * 0.5 - t3new += einsum(x219, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 3, 1, 5, 6, 7), (4, 2, 0, 5, 6, 7)) - del x219 - x220 = np.zeros((naocc, naocc, nocc, nocc), dtype=types[float]) - x220 += einsum(t1[np.ix_(sO,sv)], (0, 1), v.ovoO, (2, 1, 3, 4), (0, 4, 3, 2)) - t3new += einsum(x220, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (3, 4, 1, 5, 6, 7), (2, 4, 0, 5, 6, 7)) * -0.5 - del x220 - x221 = np.zeros((naocc, naocc, nvir, nvir), dtype=types[float]) - x221 += einsum(t1[np.ix_(sO,sv)], (0, 1), v.vvvO, (2, 3, 1, 4), (0, 4, 2, 3)) - t3new += einsum(x221, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 5, 1, 3, 6, 7), (4, 5, 0, 2, 6, 7)) * -1.0 - t3new += einsum(x221, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 5, 1, 6, 3, 7), (4, 5, 0, 6, 2, 7)) * -1.0 - del x221 - x222 = np.zeros((naocc, naocc, nvir, nvir), dtype=types[float]) - x222 += einsum(t1[np.ix_(sO,sv)], (0, 1), v.vvvO, (2, 1, 3, 4), (0, 4, 3, 2)) - t3new += einsum(x222, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 5, 1, 2, 6, 7), (4, 5, 0, 3, 6, 7)) - del x222 - x223 = np.zeros((naocc, naocc, navir, navir), dtype=types[float]) - x223 += einsum(t1[np.ix_(sO,sv)], (0, 1), v.vOVV, (1, 2, 3, 4), (0, 2, 3, 4)) - t3new += einsum(x223, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 5, 1, 6, 7, 3), (4, 5, 0, 6, 7, 2)) * -1.0 - del x223 - x224 = np.zeros((naocc, naocc, navir, navir), dtype=types[float]) - x224 += einsum(t1[np.ix_(sO,sv)], (0, 1), v.vVOV, (1, 2, 3, 4), (0, 3, 4, 2)) - x225 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x225 += einsum(x224, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 5, 1, 6, 7, 2), (0, 3, 4, 5, 6, 7)) - del x224 - t3new += einsum(x225, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) - t3new += einsum(x225, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) - del x225 - x226 = np.zeros((navir, nocc, nocc, nvir), dtype=types[float]) - x226 += einsum(t1[np.ix_(so,sv)], (0, 1), v.oooV, (2, 0, 3, 4), (4, 3, 2, 1)) - t3new += einsum(x226, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sV,sVf)], (4, 1, 5, 6, 7, 0), (4, 2, 5, 6, 3, 7)) - del x226 - x227 = np.zeros((navir, nocc, nocc, nvir), dtype=types[float]) - x227 += einsum(t1[np.ix_(so,sv)], (0, 1), v.oVvv, (2, 3, 4, 1), (3, 0, 2, 4)) - t3new += einsum(x227, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sV,sVf)], (4, 2, 5, 6, 7, 0), (4, 1, 5, 6, 3, 7)) * -1.0 - del x227 - x228 = np.zeros((naocc, naocc, navir, nvir), dtype=types[float]) - x228 += einsum(t1[np.ix_(so,sv)], (0, 1), v.oOOV, (0, 2, 3, 4), (3, 2, 4, 1)) - t3new += einsum(x228, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sV,sVf)], (4, 5, 0, 6, 7, 2), (5, 4, 1, 3, 6, 7)) - del x228 - x229 = np.zeros((naocc, naocc, navir, nvir), dtype=types[float]) - x229 += einsum(t1[np.ix_(sO,sv)], (0, 1), v.vvOV, (2, 1, 3, 4), (0, 3, 4, 2)) - t3new += einsum(x229, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sV,sVf)], (4, 5, 1, 6, 7, 2), (5, 4, 0, 3, 6, 7)) * -1.0 - del x229 - x230 = np.zeros((naocc, navir, navir, nocc), dtype=types[float]) - x230 += einsum(t1[np.ix_(so,sv)], (0, 1), v.vVOV, (1, 2, 3, 4), (3, 4, 2, 0)) - t3new += einsum(x230, (0, 1, 2, 3), t3[np.ix_(so,sO,sOf,sv,sv,sVf)], (4, 5, 0, 6, 7, 1), (3, 4, 5, 7, 6, 2)) * -1.0 - del x230 - x231 = np.zeros((naocc, navir, navir, nocc), dtype=types[float]) - x231 += einsum(t1[np.ix_(so,sV)], (0, 1), v.ooOV, (2, 0, 3, 4), (3, 1, 4, 2)) - t3new += einsum(x231, (0, 1, 2, 3), t3[np.ix_(so,sO,sOf,sv,sv,sVf)], (4, 5, 0, 6, 7, 2), (3, 4, 5, 7, 6, 1)) - del x231 - x232 = np.zeros((naocc, navir, nocc, nvir), dtype=types[float]) - x232 += einsum(t1[np.ix_(so,sv)], (0, 1), v.ooOV, (2, 0, 3, 4), (3, 4, 2, 1)) - t3new += einsum(x232, (0, 1, 2, 3), t3[np.ix_(so,sO,sOf,sv,sV,sVf)], (4, 5, 0, 6, 7, 1), (2, 4, 5, 3, 6, 7)) * -1.0 - del x232 - x233 = np.zeros((naocc, navir, nocc, nvir), dtype=types[float]) - x233 += einsum(t1[np.ix_(so,sv)], (0, 1), v.vvOV, (2, 1, 3, 4), (3, 4, 0, 2)) - t3new += einsum(x233, (0, 1, 2, 3), t3[np.ix_(so,sO,sOf,sv,sV,sVf)], (4, 5, 0, 6, 7, 1), (2, 4, 5, 3, 6, 7)) - del x233 - x234 = np.zeros((naocc, nocc, nocc, nvir), dtype=types[float]) - x234 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.ovoO, (1, 3, 4, 5), (5, 0, 4, 2)) - t3new += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x234, (4, 5, 0, 6), (1, 5, 4, 2, 6, 3)) * 2.0 - x235 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x235 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x234, (4, 5, 1, 6), (4, 3, 0, 5, 2, 6)) - del x234 - t3new += einsum(x235, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - t3new += einsum(x235, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - del x235 - x236 = np.zeros((naocc, navir, nocc, nocc), dtype=types[float]) - x236 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), v.ovoO, (4, 2, 1, 5), (5, 3, 0, 4)) - x237 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x237 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x236, (4, 5, 6, 1), (4, 5, 6, 0, 2, 3)) - del x236 - t3new += einsum(x237, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) - t3new += einsum(x237, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) - del x237 - x238 = np.zeros((naocc, nocc, nocc, nvir), dtype=types[float]) - x238 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.ovoO, (1, 2, 4, 5), (5, 0, 4, 3)) - t3new += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x238, (4, 5, 0, 6), (1, 5, 4, 2, 6, 3)) * -1.0 - x239 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x239 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x238, (4, 5, 1, 6), (4, 3, 0, 5, 2, 6)) - del x238 - t3new += einsum(x239, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) - t3new += einsum(x239, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) - del x239 - x240 = np.zeros((naocc, nocc, nocc, nvir), dtype=types[float]) - x240 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.ovoO, (4, 3, 1, 5), (5, 0, 4, 2)) - t3new += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x240, (4, 5, 0, 6), (1, 5, 4, 2, 6, 3)) * -1.0 - x241 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x241 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x240, (4, 5, 1, 6), (4, 3, 0, 5, 2, 6)) - del x240 - t3new += einsum(x241, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) - t3new += einsum(x241, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) - del x241 - x242 = np.zeros((naocc, nocc, nocc, nvir), dtype=types[float]) - x242 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.ovoO, (4, 2, 1, 5), (5, 0, 4, 3)) - t3new += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x242, (4, 5, 1, 6), (5, 0, 4, 6, 2, 3)) * -1.0 - t3new += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x242, (4, 5, 0, 6), (1, 5, 4, 6, 2, 3)) * -1.0 - del x242 - x243 = np.zeros((naocc, navir, nvir, nvir), dtype=types[float]) - x243 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), v.ovoO, (0, 4, 1, 5), (5, 3, 2, 4)) - x244 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x244 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x243, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) - del x243 - t3new += einsum(x244, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 0.5 - t3new += einsum(x244, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) - t3new += einsum(x244, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 0.5 - del x244 - x245 = np.zeros((naocc, navir, nvir, nvir), dtype=types[float]) - x245 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), v.ovoO, (1, 4, 0, 5), (5, 3, 2, 4)) - x246 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x246 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x245, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) - del x245 - t3new += einsum(x246, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -0.5 - t3new += einsum(x246, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -0.5 - del x246 - x247 = np.zeros((naocc, navir, nocc, nocc), dtype=types[float]) - x247 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), v.ovoO, (1, 2, 4, 5), (5, 3, 0, 4)) - t3new += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x247, (4, 5, 6, 1), (6, 0, 4, 3, 2, 5)) * -1.0 - del x247 - x248 = np.zeros((naocc, navir, nocc, nocc), dtype=types[float]) - x248 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), v.ovoO, (4, 2, 0, 5), (5, 3, 1, 4)) - t3new += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x248, (4, 5, 6, 1), (6, 0, 4, 3, 2, 5)) * -1.0 - del x248 - x249 = np.zeros((naocc, navir, nocc, nocc), dtype=types[float]) - x249 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), v.ovoO, (0, 2, 4, 5), (5, 3, 1, 4)) - t3new += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x249, (4, 5, 6, 1), (6, 0, 4, 3, 2, 5)) * 2.0 - del x249 - x250 = np.zeros((naocc, nvir, nvir, nvir), dtype=types[float]) - x250 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.ovoO, (1, 4, 0, 5), (5, 2, 3, 4)) - t3new += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x250, (4, 5, 6, 2), (1, 0, 4, 5, 6, 3)) * -1.0 - del x250 - x251 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x251 += einsum(t2[np.ix_(so,sO,sv,sV)], (0, 1, 2, 3), x49, (4, 5, 0, 6), (1, 3, 4, 5, 2, 6)) - del x49 - t3new += einsum(x251, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) - t3new += einsum(x251, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) - del x251 - x252 = np.zeros((naocc, navir, nocc, nocc), dtype=types[float]) - x252 += einsum(t2[np.ix_(so,sO,sv,sV)], (0, 1, 2, 3), v.ooov, (4, 5, 0, 2), (1, 3, 4, 5)) - x253 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x253 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x252, (4, 5, 6, 1), (4, 5, 0, 6, 2, 3)) - del x252 - t3new += einsum(x253, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new += einsum(x253, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - del x253 - x254 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x254 += einsum(t2[np.ix_(so,sO,sv,sV)], (0, 1, 2, 3), x43, (4, 5, 0, 6), (1, 3, 4, 5, 2, 6)) - del x43 - t3new += einsum(x254, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) - t3new += einsum(x254, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) - del x254 - x255 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x255 += einsum(t2[np.ix_(so,sO,sv,sV)], (0, 1, 2, 3), x45, (4, 5, 0, 6), (1, 3, 4, 5, 2, 6)) - del x45 - t3new += einsum(x255, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new += einsum(x255, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -2.0 - del x255 - x256 = np.zeros((naocc, navir, nocc, nocc), dtype=types[float]) - x256 += einsum(t2[np.ix_(so,sO,sv,sV)], (0, 1, 2, 3), v.ooov, (4, 0, 5, 2), (1, 3, 4, 5)) - x257 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x257 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x256, (4, 5, 6, 1), (4, 5, 0, 6, 2, 3)) - del x256 - t3new += einsum(x257, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) - t3new += einsum(x257, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) - del x257 - x258 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x258 += einsum(t2[np.ix_(so,sO,sv,sV)], (0, 1, 2, 3), x47, (4, 5, 0, 6), (1, 3, 4, 5, 2, 6)) - del x47 - t3new += einsum(x258, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) - t3new += einsum(x258, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) - del x258 - x259 = np.zeros((naocc, navir, nocc, nocc, nocc, nocc), dtype=types[float]) - x259 += einsum(t2[np.ix_(so,sO,sv,sV)], (0, 1, 2, 3), v.ooov, (4, 5, 6, 2), (1, 3, 0, 4, 5, 6)) - x260 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x260 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x259, (4, 5, 6, 7, 0, 1), (4, 5, 6, 7, 2, 3)) - t3new += einsum(x260, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) - t3new += einsum(x260, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) - del x260 - x261 = np.zeros((naocc, nocc, nocc, nvir), dtype=types[float]) - x261 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), v.ooov, (4, 0, 5, 3), (1, 4, 5, 2)) - t3new += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x261, (4, 5, 0, 6), (1, 5, 4, 2, 6, 3)) * -1.0 - x262 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x262 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x261, (4, 5, 1, 6), (4, 3, 0, 5, 6, 2)) - del x261 - t3new += einsum(x262, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) - t3new += einsum(x262, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) - del x262 - x263 = np.zeros((navir, nocc, nocc, nocc), dtype=types[float]) - x263 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), v.ooov, (4, 5, 1, 2), (3, 0, 4, 5)) - t3new += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x263, (4, 5, 6, 0), (5, 6, 1, 3, 2, 4)) * -1.0 - del x263 - x264 = np.zeros((naocc, nocc, nocc, nvir), dtype=types[float]) - x264 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), v.ooov, (4, 0, 5, 2), (1, 4, 5, 3)) - t3new += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x264, (4, 5, 1, 6), (5, 0, 4, 6, 2, 3)) * -1.0 - t3new += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x264, (4, 5, 0, 6), (1, 5, 4, 6, 2, 3)) * -1.0 - del x264 - x265 = np.zeros((naocc, nocc, nocc, nvir), dtype=types[float]) - x265 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), v.ooov, (4, 5, 0, 3), (1, 4, 5, 2)) - t3new += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x265, (4, 5, 1, 6), (5, 0, 4, 6, 2, 3)) * -1.0 - t3new += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x265, (4, 5, 0, 6), (1, 5, 4, 6, 2, 3)) * -1.0 - del x265 - x266 = np.zeros((naocc, nocc, nocc, nvir), dtype=types[float]) - x266 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), v.ooov, (4, 5, 0, 2), (1, 4, 5, 3)) - x267 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x267 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x266, (4, 5, 1, 6), (4, 3, 0, 5, 6, 2)) - t3new += einsum(x267, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) - t3new += einsum(x267, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) - del x267 - x268 = np.zeros((navir, nocc, nocc, nocc), dtype=types[float]) - x268 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), v.ooov, (4, 1, 5, 2), (3, 0, 4, 5)) - t3new += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x268, (4, 5, 6, 0), (6, 5, 1, 3, 2, 4)) * -1.0 - del x268 - x269 = np.zeros((navir, nocc, nvir, nvir), dtype=types[float]) - x269 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), v.ooov, (4, 0, 1, 5), (3, 4, 2, 5)) - t3new += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x269, (4, 5, 6, 2), (0, 5, 1, 3, 6, 4)) * -1.0 - x270 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x270 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x269, (4, 5, 6, 3), (1, 4, 0, 5, 2, 6)) - del x269 - t3new += einsum(x270, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 0.5 - t3new += einsum(x270, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) - t3new += einsum(x270, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 0.5 - del x270 - x271 = np.zeros((navir, nocc, nvir, nvir), dtype=types[float]) - x271 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), v.ooov, (4, 1, 0, 5), (3, 4, 2, 5)) - t3new += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x271, (4, 5, 6, 2), (5, 0, 1, 3, 6, 4)) * -1.0 - x272 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x272 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x271, (4, 5, 6, 3), (1, 4, 0, 5, 2, 6)) - del x271 - t3new += einsum(x272, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -0.5 - t3new += einsum(x272, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -0.5 - del x272 - x273 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x273 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x266, (4, 5, 0, 6), (4, 3, 1, 5, 6, 2)) - del x266 - t3new += einsum(x273, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) - t3new += einsum(x273, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) - del x273 - x274 = np.zeros((navir, nocc, nocc, nocc), dtype=types[float]) - x274 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), v.ooov, (4, 0, 5, 2), (3, 1, 4, 5)) - t3new += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x274, (4, 5, 6, 0), (5, 6, 1, 3, 2, 4)) * -1.0 - del x274 - x275 = np.zeros((navir, nocc, nocc, nocc), dtype=types[float]) - x275 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), v.ooov, (4, 5, 0, 2), (3, 1, 4, 5)) - t3new += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x275, (4, 5, 6, 0), (5, 6, 1, 3, 2, 4)) * 2.0 - del x275 - x276 = np.zeros((navir, nocc, nvir, nvir), dtype=types[float]) - x276 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.ovvV, (1, 3, 4, 5), (5, 0, 2, 4)) - t3new += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x276, (4, 5, 6, 2), (0, 5, 1, 3, 6, 4)) * -2.0 - x277 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x277 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x276, (4, 5, 6, 3), (1, 4, 0, 5, 2, 6)) - del x276 - t3new += einsum(x277, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - t3new += einsum(x277, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - del x277 - x278 = np.zeros((navir, nocc, nvir, nvir), dtype=types[float]) - x278 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.ovvV, (1, 2, 4, 5), (5, 0, 3, 4)) - t3new += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x278, (4, 5, 6, 2), (0, 5, 1, 3, 6, 4)) - x279 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x279 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x278, (4, 5, 6, 3), (1, 4, 0, 5, 2, 6)) - del x278 - t3new += einsum(x279, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -1.0 - t3new += einsum(x279, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -1.0 - del x279 - x280 = np.zeros((navir, nocc, nvir, nvir), dtype=types[float]) - x280 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.ovvV, (1, 4, 3, 5), (5, 0, 2, 4)) - t3new += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x280, (4, 5, 6, 2), (0, 5, 1, 3, 6, 4)) - x281 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x281 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x280, (4, 5, 6, 3), (1, 4, 0, 5, 2, 6)) - del x280 - t3new += einsum(x281, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -1.0 - t3new += einsum(x281, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -1.0 - del x281 - x282 = np.zeros((naocc, navir, nocc, nocc), dtype=types[float]) - x282 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), v.ovvV, (4, 2, 3, 5), (1, 5, 0, 4)) - x283 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x283 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x282, (4, 5, 6, 1), (4, 5, 6, 0, 2, 3)) - del x282 - t3new += einsum(x283, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -1.0 - t3new += einsum(x283, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -1.0 - del x283 - x284 = np.zeros((navir, nocc, nvir, nvir), dtype=types[float]) - x284 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.ovvV, (1, 4, 2, 5), (5, 0, 3, 4)) - t3new += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x284, (4, 5, 6, 3), (5, 0, 1, 6, 2, 4)) - t3new += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x284, (4, 5, 6, 2), (5, 0, 1, 3, 6, 4)) - del x284 - x285 = np.zeros((naocc, navir, nvir, nvir), dtype=types[float]) - x285 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), v.ovvV, (0, 4, 3, 5), (1, 5, 2, 4)) - x286 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x286 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x285, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) - del x285 - t3new += einsum(x286, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -1.0 - t3new += einsum(x286, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -1.0 - del x286 - x287 = np.zeros((naocc, navir, nvir, nvir), dtype=types[float]) - x287 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), v.ovvV, (0, 4, 2, 5), (1, 5, 3, 4)) - t3new += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x287, (4, 5, 6, 2), (0, 1, 4, 6, 3, 5)) - del x287 - x288 = np.zeros((naocc, navir, nvir, nvir), dtype=types[float]) - x288 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), v.ovvV, (0, 3, 4, 5), (1, 5, 2, 4)) - t3new += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x288, (4, 5, 6, 2), (0, 1, 4, 6, 3, 5)) - del x288 - x289 = np.zeros((navir, nocc, nocc, nocc), dtype=types[float]) - x289 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.ovvV, (4, 3, 2, 5), (5, 0, 1, 4)) - t3new += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x289, (4, 5, 6, 0), (5, 6, 1, 3, 2, 4)) - del x289 - x290 = np.zeros((naocc, navir, nvir, nvir), dtype=types[float]) - x290 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), v.ovvV, (0, 2, 4, 5), (1, 5, 3, 4)) - t3new += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x290, (4, 5, 6, 2), (0, 1, 4, 6, 3, 5)) * -2.0 - del x290 - x291 = np.zeros((naocc, navir, nocc, nocc), dtype=types[float]) - x291 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), v.ovvV, (4, 3, 2, 5), (1, 5, 0, 4)) - t3new += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x291, (4, 5, 6, 1), (6, 0, 4, 3, 2, 5)) - del x291 - x292 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x292 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x113, (4, 5, 6, 1, 3, 7), (4, 5, 6, 0, 2, 7)) - t3new += einsum(x292, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 2.0 - t3new += einsum(x292, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - del x292 - x293 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x293 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x113, (4, 5, 6, 1, 2, 7), (4, 5, 6, 0, 3, 7)) - t3new += einsum(x293, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -1.0 - t3new += einsum(x293, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -1.0 - del x293 - x294 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x294 += einsum(t2[np.ix_(so,sO,sv,sV)], (0, 1, 2, 3), v.ovvv, (4, 2, 5, 6), (1, 3, 0, 4, 5, 6)) - x295 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x295 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x294, (4, 5, 6, 1, 7, 3), (4, 5, 6, 0, 2, 7)) - t3new += einsum(x295, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -1.0 - t3new += einsum(x295, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -1.0 - del x295 - x296 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x296 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x294, (4, 5, 6, 1, 7, 2), (4, 5, 6, 0, 3, 7)) - t3new += einsum(x296, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -1.0 - t3new += einsum(x296, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -1.0 - del x296 - x297 = np.zeros((naocc, navir, nvir, nvir), dtype=types[float]) - x297 += einsum(t2[np.ix_(so,sO,sv,sV)], (0, 1, 2, 3), v.ovvv, (0, 4, 5, 2), (1, 3, 4, 5)) - x298 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x298 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x297, (4, 5, 3, 6), (4, 5, 0, 1, 2, 6)) - del x297 - t3new += einsum(x298, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -1.0 - t3new += einsum(x298, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -1.0 - del x298 - x299 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x299 += einsum(t2[np.ix_(so,sO,sv,sV)], (0, 1, 2, 3), x58, (4, 5, 0, 6), (1, 3, 4, 5, 2, 6)) - del x58 - t3new += einsum(x299, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -1.0 - t3new += einsum(x299, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -1.0 - del x299 - x300 = np.zeros((naocc, navir, nvir, nvir), dtype=types[float]) - x300 += einsum(t2[np.ix_(so,sO,sv,sV)], (0, 1, 2, 3), v.ovvv, (0, 2, 4, 5), (1, 3, 4, 5)) - x301 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x301 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x300, (4, 5, 6, 3), (4, 5, 0, 1, 2, 6)) - del x300 - t3new += einsum(x301, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new += einsum(x301, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - del x301 - x302 = np.zeros((naocc, nocc, nocc, nvir), dtype=types[float]) - x302 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), v.ovvv, (4, 3, 5, 2), (1, 0, 4, 5)) - t3new += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x302, (4, 5, 0, 6), (1, 5, 4, 2, 6, 3)) - x303 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x303 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x302, (4, 5, 1, 6), (4, 3, 5, 0, 2, 6)) - del x302 - t3new += einsum(x303, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -1.0 - t3new += einsum(x303, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -1.0 - del x303 - x304 = np.zeros((navir, nocc, nvir, nvir), dtype=types[float]) - x304 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), v.ovvv, (1, 2, 4, 5), (3, 0, 4, 5)) - t3new += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x304, (4, 5, 6, 3), (5, 0, 1, 6, 2, 4)) - t3new += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x304, (4, 5, 6, 2), (5, 0, 1, 3, 6, 4)) - del x304 - x305 = np.zeros((navir, nocc, nvir, nvir), dtype=types[float]) - x305 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), v.ovvv, (1, 4, 5, 2), (3, 0, 4, 5)) - t3new += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x305, (4, 5, 2, 6), (0, 5, 1, 3, 6, 4)) - x306 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x306 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x305, (4, 5, 3, 6), (1, 4, 0, 5, 2, 6)) - del x305 - t3new += einsum(x306, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -1.0 - t3new += einsum(x306, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -1.0 - del x306 - x307 = np.zeros((naocc, nocc, nocc, nvir), dtype=types[float]) - x307 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), v.ovvv, (4, 2, 5, 3), (1, 0, 4, 5)) - t3new += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x307, (4, 5, 1, 6), (5, 0, 4, 6, 2, 3)) - t3new += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x307, (4, 5, 0, 6), (1, 5, 4, 6, 2, 3)) - del x307 - x308 = np.zeros((naocc, nvir, nvir, nvir), dtype=types[float]) - x308 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), v.ovvv, (0, 4, 5, 3), (1, 2, 4, 5)) - t3new += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x308, (4, 5, 2, 6), (1, 0, 4, 6, 5, 3)) - del x308 - x309 = np.zeros((naocc, nvir, nvir, nvir), dtype=types[float]) - x309 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), v.ovvv, (0, 4, 5, 2), (1, 3, 4, 5)) - t3new += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x309, (4, 5, 2, 6), (1, 0, 4, 5, 6, 3)) - del x309 - x310 = np.zeros((naocc, nvir, nvir, nvir), dtype=types[float]) - x310 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), v.ovvv, (0, 3, 4, 5), (1, 2, 4, 5)) - t3new += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x310, (4, 5, 6, 2), (1, 0, 4, 5, 6, 3)) - del x310 - x311 = np.zeros((naocc, nvir, nvir, nvir), dtype=types[float]) - x311 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), v.ovvv, (0, 2, 4, 5), (1, 3, 4, 5)) - x312 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x312 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x311, (4, 5, 6, 2), (4, 3, 1, 0, 5, 6)) - del x311 - t3new += einsum(x312, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -1.0 - t3new += einsum(x312, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -1.0 - del x312 - x313 = np.zeros((navir, nocc, nvir, nvir), dtype=types[float]) - x313 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), v.ovvv, (0, 2, 4, 5), (3, 1, 4, 5)) - t3new += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x313, (4, 5, 6, 3), (5, 0, 1, 6, 2, 4)) * -2.0 - t3new += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x313, (4, 5, 6, 2), (5, 0, 1, 3, 6, 4)) * -2.0 - del x313 - x314 = np.zeros((navir, nocc, nvir, nvir), dtype=types[float]) - x314 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), v.ovvv, (0, 4, 5, 2), (3, 1, 4, 5)) - t3new += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x314, (4, 5, 3, 6), (5, 0, 1, 6, 2, 4)) - t3new += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x314, (4, 5, 2, 6), (5, 0, 1, 3, 6, 4)) - del x314 - x315 = np.zeros((naocc, navir, nocc, nocc), dtype=types[float]) - x315 += einsum(t2[np.ix_(so,sO,sV,sv)], (0, 1, 2, 3), v.ooov, (4, 5, 0, 3), (1, 2, 4, 5)) - x316 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x316 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x315, (4, 5, 6, 1), (4, 5, 0, 6, 2, 3)) - del x315 - t3new += einsum(x316, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) - t3new += einsum(x316, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) - del x316 - x317 = np.zeros((naocc, navir, nocc, nocc), dtype=types[float]) - x317 += einsum(t2[np.ix_(so,sO,sV,sv)], (0, 1, 2, 3), v.ooov, (4, 0, 5, 3), (1, 2, 4, 5)) - t3new += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x317, (4, 5, 6, 1), (6, 0, 4, 3, 2, 5)) * -1.0 - del x317 - x318 = np.zeros((naocc, navir, nocc, nocc, nocc, nocc), dtype=types[float]) - x318 += einsum(t2[np.ix_(so,sO,sV,sv)], (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), (1, 2, 0, 4, 5, 6)) - t3new += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x318, (4, 5, 6, 7, 0, 1), (6, 7, 4, 3, 2, 5)) * -1.0 - x319 = np.zeros((naocc, navir, nvir, nvir), dtype=types[float]) - x319 += einsum(t2[np.ix_(so,sO,sV,sv)], (0, 1, 2, 3), v.ovvv, (0, 4, 5, 3), (1, 2, 4, 5)) - t3new += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x319, (4, 5, 2, 6), (0, 1, 4, 6, 3, 5)) - del x319 - x320 = np.zeros((naocc, navir, nvir, nvir), dtype=types[float]) - x320 += einsum(t2[np.ix_(so,sO,sV,sv)], (0, 1, 2, 3), v.ovvv, (0, 3, 4, 5), (1, 2, 4, 5)) - x321 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x321 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x320, (4, 5, 6, 3), (4, 5, 0, 1, 2, 6)) - del x320 - t3new += einsum(x321, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -1.0 - t3new += einsum(x321, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -1.0 - del x321 - x322 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x322 += einsum(t2[np.ix_(so,sO,sV,sv)], (0, 1, 2, 3), v.ovvv, (4, 3, 5, 6), (1, 2, 0, 4, 5, 6)) - t3new += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x322, (4, 5, 6, 1, 7, 3), (6, 0, 4, 7, 2, 5)) - t3new += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x322, (4, 5, 6, 1, 7, 2), (6, 0, 4, 3, 7, 5)) - x323 = np.zeros((naocc, navir, nvir, nvir), dtype=types[float]) - x323 += einsum(v.ovov, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (0, 2, 4, 5, 3, 6), (4, 6, 5, 1)) - t3new += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x323, (4, 5, 6, 2), (0, 1, 4, 6, 3, 5)) * -1.0 - del x323 - x324 = np.zeros((naocc, navir, nvir, nvir), dtype=types[float]) - x324 += einsum(v.ovov, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (0, 2, 4, 1, 5, 6), (4, 6, 5, 3)) - t3new += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x324, (4, 5, 6, 3), (0, 1, 4, 2, 6, 5)) * -1.0 - del x324 - x325 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x325 += einsum(x12, (0, 1), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (1, 2, 3, 4, 5, 6), (3, 6, 0, 2, 4, 5)) - del x12 - t3new += einsum(x325, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -1.0 - t3new += einsum(x325, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -1.0 - del x325 - x326 = np.zeros((naocc, navir, nocc, nocc), dtype=types[float]) - x326 += einsum(v.ovov, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (2, 4, 5, 3, 1, 6), (5, 6, 4, 0)) - x327 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x327 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x326, (4, 5, 6, 1), (4, 5, 0, 6, 2, 3)) - del x326 - t3new += einsum(x327, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -1.0 - t3new += einsum(x327, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -1.0 - del x327 - x328 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x328 += einsum(v.ovov, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (2, 4, 5, 1, 6, 7), (5, 7, 4, 0, 6, 3)) - t3new += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x328, (4, 5, 6, 1, 7, 3), (0, 6, 4, 2, 7, 5)) * -1.0 - t3new += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x328, (4, 5, 6, 1, 7, 2), (0, 6, 4, 3, 7, 5)) - del x328 - x329 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x329 += einsum(v.ovov, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (2, 4, 5, 6, 1, 7), (5, 7, 4, 0, 6, 3)) - t3new += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x329, (4, 5, 6, 1, 7, 2), (0, 6, 4, 7, 3, 5)) - del x329 - x330 = np.zeros((naocc, navir, nocc, nocc), dtype=types[float]) - x330 += einsum(v.ovov, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 2, 5, 1, 3, 6), (5, 6, 4, 0)) - t3new += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x330, (4, 5, 6, 1), (6, 0, 4, 3, 2, 5)) * -1.0 - del x330 - x331 = np.zeros((naocc, navir, nocc, nocc), dtype=types[float]) - x331 += einsum(v.ovov, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (2, 4, 5, 1, 3, 6), (5, 6, 4, 0)) - t3new += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x331, (4, 5, 6, 1), (6, 0, 4, 3, 2, 5)) - del x331 - x332 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x332 += einsum(v.ovov, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 2, 5, 6, 1, 7), (5, 7, 4, 0, 6, 3)) - t3new += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x332, (4, 5, 6, 1, 7, 3), (6, 0, 4, 7, 2, 5)) * -2.0 - t3new += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x332, (4, 5, 6, 1, 7, 2), (6, 0, 4, 7, 3, 5)) - del x332 - x333 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x333 += einsum(v.ovov, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 2, 5, 1, 6, 7), (5, 7, 4, 0, 6, 3)) - t3new += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x333, (4, 5, 6, 1, 7, 3), (6, 0, 4, 7, 2, 5)) - t3new += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x333, (4, 5, 6, 1, 7, 2), (6, 0, 4, 3, 7, 5)) - del x333 - x334 = np.zeros((naocc, navir, nocc, nocc, nocc, nocc), dtype=types[float]) - x334 += einsum(v.ovov, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 5, 6, 1, 3, 7), (6, 7, 4, 5, 0, 2)) - t3new += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x334, (4, 5, 6, 7, 0, 1), (6, 7, 4, 2, 3, 5)) - x335 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x335 += einsum(x85, (0, 1), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (2, 3, 4, 1, 5, 6), (4, 6, 2, 3, 0, 5)) - t3new += einsum(x335, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 0.5 - t3new += einsum(x335, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 0.5 - del x335 - x336 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x336 += einsum(x85, (0, 1), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (2, 3, 4, 5, 1, 6), (4, 6, 2, 3, 0, 5)) - del x85 - t3new += einsum(x336, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 0.5 - t3new += einsum(x336, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 0.5 - del x336 - x337 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x337 += einsum(x83, (0, 1), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (2, 3, 4, 1, 5, 6), (4, 6, 2, 3, 0, 5)) - t3new += einsum(x337, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -0.5 - t3new += einsum(x337, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -1.5 - del x337 - x338 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x338 += einsum(x83, (0, 1), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (2, 3, 4, 5, 1, 6), (4, 6, 2, 3, 0, 5)) - del x83 - t3new += einsum(x338, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -1.5 - t3new += einsum(x338, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -0.5 - del x338 - x339 = np.zeros((naocc, nocc, nocc, nvir), dtype=types[float]) - x339 += einsum(v.ovoV, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (2, 4, 5, 1, 6, 3), (5, 4, 0, 6)) - t3new += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x339, (4, 5, 1, 6), (0, 5, 4, 2, 6, 3)) * 0.5 - t3new += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x339, (4, 5, 0, 6), (1, 5, 4, 2, 6, 3)) * -0.5 - del x339 - x340 = np.zeros((naocc, nocc, nocc, nvir), dtype=types[float]) - x340 += einsum(v.ovoV, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (0, 4, 5, 1, 6, 3), (5, 4, 2, 6)) - t3new += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x340, (4, 5, 1, 6), (0, 5, 4, 2, 6, 3)) * -0.5 - t3new += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x340, (4, 5, 0, 6), (1, 5, 4, 2, 6, 3)) * 0.5 - del x340 - x341 = np.zeros((navir, navir, nocc, nocc), dtype=types[float]) - x341 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), v.ovoV, (1, 2, 4, 5), (3, 5, 0, 4)) - t3new += einsum(x341, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (3, 4, 5, 6, 7, 1), (2, 4, 5, 6, 7, 0)) * -1.0 - del x341 - x342 = np.zeros((navir, navir, nocc, nocc), dtype=types[float]) - x342 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), v.ovoV, (4, 2, 1, 5), (3, 5, 0, 4)) - t3new += einsum(x342, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (3, 4, 5, 6, 7, 1), (2, 4, 5, 6, 7, 0)) - t3new += einsum(x342, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 3, 5, 6, 7, 1), (4, 2, 5, 6, 7, 0)) - del x342 - x343 = np.zeros((naocc, nvir, nvir, nvir), dtype=types[float]) - x343 += einsum(v.ovoV, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (2, 0, 4, 5, 6, 3), (4, 5, 6, 1)) - t3new += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x343, (4, 5, 6, 2), (1, 0, 4, 5, 6, 3)) * -1.0 - del x343 - x344 = np.zeros((naocc, nocc, nocc, nvir), dtype=types[float]) - x344 += einsum(v.ovoV, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 2, 5, 6, 1, 3), (5, 4, 0, 6)) - t3new += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x344, (4, 5, 1, 6), (5, 0, 4, 6, 2, 3)) - del x344 - x345 = np.zeros((naocc, nocc, nocc, nvir), dtype=types[float]) - x345 += einsum(v.ovoV, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 0, 5, 6, 1, 3), (5, 4, 2, 6)) - t3new += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x345, (4, 5, 1, 6), (5, 0, 4, 6, 2, 3)) * -2.0 - del x345 - x346 = np.zeros((naocc, nocc, nocc, nvir), dtype=types[float]) - x346 += einsum(v.ovoV, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 2, 5, 1, 6, 3), (5, 4, 0, 6)) - t3new += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x346, (4, 5, 1, 6), (5, 0, 4, 6, 2, 3)) * -0.5 - del x346 - x347 = np.zeros((naocc, nocc, nocc, nvir), dtype=types[float]) - x347 += einsum(v.ovoV, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 0, 5, 1, 6, 3), (5, 4, 2, 6)) - t3new += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x347, (4, 5, 1, 6), (5, 0, 4, 6, 2, 3)) * 0.5 - del x347 - x348 = np.zeros((navir, navir, nocc, nocc), dtype=types[float]) - x348 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), v.ovoV, (0, 2, 4, 5), (3, 5, 1, 4)) - t3new += einsum(x348, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (3, 4, 5, 6, 7, 1), (2, 4, 5, 6, 7, 0)) * 2.0 - del x348 - x349 = np.zeros((naocc, nocc, nocc, nvir), dtype=types[float]) - x349 += einsum(v.ovoV, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (2, 4, 5, 6, 1, 3), (5, 4, 0, 6)) - t3new += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x349, (4, 5, 0, 6), (1, 5, 4, 6, 2, 3)) * -1.0 - del x349 - x350 = np.zeros((navir, navir, nocc, nocc), dtype=types[float]) - x350 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), v.ovoV, (4, 2, 0, 5), (3, 5, 1, 4)) - t3new += einsum(x350, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (3, 4, 5, 6, 7, 1), (2, 4, 5, 6, 7, 0)) * -1.0 - del x350 - x351 = np.zeros((navir, navir, nvir, nvir), dtype=types[float]) - x351 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), v.ovoV, (0, 4, 1, 5), (3, 5, 2, 4)) - t3new += einsum(x351, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 5, 6, 3, 7, 1), (4, 5, 6, 2, 7, 0)) * 0.25 - del x351 - x352 = np.zeros((navir, navir, nvir, nvir), dtype=types[float]) - x352 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), v.ovoV, (1, 4, 0, 5), (3, 5, 2, 4)) - t3new += einsum(x352, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 5, 6, 3, 7, 1), (4, 5, 6, 2, 7, 0)) * -0.25 - del x352 - x353 = np.zeros((navir, navir), dtype=types[float]) - x353 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), v.ovoV, (0, 2, 1, 4), (3, 4)) - t3new += einsum(x353, (0, 1), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 6, 0)) * -0.5 - del x353 - x354 = np.zeros((navir, navir), dtype=types[float]) - x354 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), v.ovoV, (1, 2, 0, 4), (3, 4)) - t3new += einsum(x354, (0, 1), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 6, 0)) * 0.5 - del x354 - x355 = np.zeros((navir, navir, nvir, nvir), dtype=types[float]) - x355 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), v.ovoV, (1, 4, 0, 5), (3, 5, 2, 4)) - t3new += einsum(x355, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 5, 6, 3, 7, 1), (4, 5, 6, 2, 7, 0)) * -0.25 - del x355 - x356 = np.zeros((navir, navir, nvir, nvir), dtype=types[float]) - x356 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), v.ovoV, (0, 4, 1, 5), (3, 5, 2, 4)) - t3new += einsum(x356, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 5, 6, 3, 7, 1), (4, 5, 6, 2, 7, 0)) * 0.25 - t3new += einsum(x356, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 5, 6, 7, 3, 1), (4, 5, 6, 7, 2, 0)) - del x356 - x357 = np.zeros((navir, navir), dtype=types[float]) - x357 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), v.ovoV, (1, 2, 0, 4), (3, 4)) - t3new += einsum(x357, (0, 1), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 6, 0)) * 0.5 - del x357 - x358 = np.zeros((navir, navir), dtype=types[float]) - x358 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), v.ovoV, (0, 2, 1, 4), (3, 4)) - t3new += einsum(x358, (0, 1), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 6, 0)) * -1.5 - del x358 - x359 = np.zeros((navir, nocc, nvir, nvir), dtype=types[float]) - x359 += einsum(v.ovvO, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (0, 4, 3, 2, 5, 6), (6, 4, 5, 1)) - t3new += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x359, (4, 5, 6, 3), (0, 5, 1, 2, 6, 4)) * 0.5 - t3new += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x359, (4, 5, 6, 2), (0, 5, 1, 3, 6, 4)) * -0.5 - del x359 - x360 = np.zeros((naocc, naocc, nocc, nocc), dtype=types[float]) - x360 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), v.ovvO, (4, 2, 3, 5), (1, 5, 0, 4)) - t3new += einsum(x360, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (3, 4, 1, 5, 6, 7), (2, 4, 0, 5, 6, 7)) * 0.5 - del x360 - x361 = np.zeros((navir, nocc, nvir, nvir), dtype=types[float]) - x361 += einsum(v.ovvO, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (0, 4, 3, 1, 5, 6), (6, 4, 5, 2)) - t3new += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x361, (4, 5, 6, 3), (0, 5, 1, 2, 6, 4)) * -0.5 - t3new += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x361, (4, 5, 6, 2), (0, 5, 1, 3, 6, 4)) * 0.5 - del x361 - x362 = np.zeros((naocc, naocc, nocc, nocc), dtype=types[float]) - x362 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), v.ovvO, (4, 3, 2, 5), (1, 5, 0, 4)) - t3new += einsum(x362, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (3, 4, 1, 5, 6, 7), (2, 4, 0, 5, 6, 7)) * -0.5 - del x362 - x363 = np.zeros((navir, nocc, nvir, nvir), dtype=types[float]) - x363 += einsum(v.ovvO, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 0, 3, 5, 2, 6), (6, 4, 5, 1)) - t3new += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x363, (4, 5, 6, 3), (5, 0, 1, 6, 2, 4)) * 0.5 - del x363 - x364 = np.zeros((navir, nocc, nvir, nvir), dtype=types[float]) - x364 += einsum(v.ovvO, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 0, 3, 2, 5, 6), (6, 4, 5, 1)) - t3new += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x364, (4, 5, 6, 3), (5, 0, 1, 6, 2, 4)) * -0.5 - del x364 - x365 = np.zeros((navir, nocc, nvir, nvir), dtype=types[float]) - x365 += einsum(v.ovvO, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 0, 3, 5, 1, 6), (6, 4, 5, 2)) - t3new += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x365, (4, 5, 6, 3), (5, 0, 1, 6, 2, 4)) * -1.0 - del x365 - x366 = np.zeros((naocc, naocc, nocc, nocc), dtype=types[float]) - x366 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), v.ovvO, (4, 2, 3, 5), (1, 5, 0, 4)) - t3new += einsum(x366, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 3, 1, 5, 6, 7), (4, 2, 0, 5, 6, 7)) - del x366 - x367 = np.zeros((navir, nocc, nvir, nvir), dtype=types[float]) - x367 += einsum(v.ovvO, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 0, 3, 5, 1, 6), (6, 4, 5, 2)) - t3new += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x367, (4, 5, 6, 3), (5, 0, 1, 6, 2, 4)) * -0.5 - del x367 - x368 = np.zeros((navir, nocc, nvir, nvir), dtype=types[float]) - x368 += einsum(v.ovvO, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 0, 3, 1, 5, 6), (6, 4, 5, 2)) - t3new += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x368, (4, 5, 6, 3), (5, 0, 1, 6, 2, 4)) * 0.5 - del x368 - x369 = np.zeros((navir, nocc, nvir, nvir), dtype=types[float]) - x369 += einsum(v.ovvO, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 0, 3, 2, 5, 6), (6, 4, 5, 1)) - t3new += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x369, (4, 5, 6, 2), (5, 0, 1, 3, 6, 4)) * -1.0 - del x369 - x370 = np.zeros((naocc, naocc, nvir, nvir), dtype=types[float]) - x370 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), v.ovvO, (0, 3, 4, 5), (1, 5, 2, 4)) - t3new += einsum(x370, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 5, 1, 3, 6, 7), (4, 5, 0, 2, 6, 7)) * -1.0 - del x370 - x371 = np.zeros((naocc, naocc, nvir, nvir), dtype=types[float]) - x371 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), v.ovvO, (0, 2, 4, 5), (1, 5, 3, 4)) - t3new += einsum(x371, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 5, 1, 3, 6, 7), (4, 5, 0, 2, 6, 7)) * 2.0 - del x371 - x372 = np.zeros((naocc, naocc), dtype=types[float]) - x372 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), v.ovvO, (0, 2, 3, 4), (1, 4)) - x373 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x373 += einsum(x372, (0, 1), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (2, 3, 1, 4, 5, 6), (0, 6, 2, 3, 4, 5)) - del x372 - t3new += einsum(x373, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -1.0 - t3new += einsum(x373, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -1.0 - del x373 - x374 = np.zeros((naocc, naocc, nvir, nvir), dtype=types[float]) - x374 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), v.ovvO, (0, 4, 3, 5), (1, 5, 2, 4)) - t3new += einsum(x374, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 5, 1, 3, 6, 7), (4, 5, 0, 2, 6, 7)) - t3new += einsum(x374, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 5, 1, 6, 3, 7), (4, 5, 0, 6, 2, 7)) - del x374 - x375 = np.zeros((navir, nocc, nocc, nocc), dtype=types[float]) - x375 += einsum(v.ovvO, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 5, 3, 2, 1, 6), (6, 4, 5, 0)) - t3new += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x375, (4, 5, 6, 0), (5, 6, 1, 3, 2, 4)) * -1.0 - del x375 - x376 = np.zeros((naocc, naocc, nvir, nvir), dtype=types[float]) - x376 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), v.ovvO, (0, 4, 2, 5), (1, 5, 3, 4)) - t3new += einsum(x376, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 5, 1, 3, 6, 7), (4, 5, 0, 2, 6, 7)) * -1.0 - del x376 - x377 = np.zeros((naocc, naocc), dtype=types[float]) - x377 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), v.ovvO, (0, 3, 2, 4), (1, 4)) - t3new += einsum(x377, (0, 1), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (2, 3, 1, 4, 5, 6), (2, 3, 0, 4, 5, 6)) - del x377 - x378 = np.zeros((naocc, naocc, navir, navir, nocc, nocc), dtype=types[float]) - x378 += einsum(t2[np.ix_(so,sO,sv,sV)], (0, 1, 2, 3), v.ovOV, (4, 2, 5, 6), (1, 5, 3, 6, 0, 4)) - t3new += einsum(t3[np.ix_(so,so,sOf,sv,sv,sVf)], (0, 1, 2, 3, 4, 5), x378, (6, 2, 7, 5, 8, 1), (8, 0, 6, 4, 3, 7)) * -1.0 - x379 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x379 += einsum(t3[np.ix_(so,so,sOf,sv,sv,sVf)], (0, 1, 2, 3, 4, 5), x378, (6, 2, 7, 5, 8, 0), (6, 7, 8, 1, 3, 4)) - del x378 - t3new += einsum(x379, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -0.5 - t3new += einsum(x379, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -0.5 - del x379 - x380 = np.zeros((naocc, naocc, navir, navir, nocc, nocc), dtype=types[float]) - x380 += einsum(t2[np.ix_(so,sO,sv,sV)], (0, 1, 2, 3), v.oVvO, (4, 5, 2, 6), (1, 6, 3, 5, 0, 4)) - x381 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x381 += einsum(t3[np.ix_(so,so,sOf,sv,sv,sVf)], (0, 1, 2, 3, 4, 5), x380, (6, 2, 7, 5, 8, 0), (6, 7, 8, 1, 3, 4)) - del x380 - t3new += einsum(x381, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 0.5 - t3new += einsum(x381, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 0.5 - del x381 - x382 = np.zeros((naocc, naocc, navir, navir, nocc, nocc), dtype=types[float]) - x382 += einsum(t2[np.ix_(so,sO,sv,sV)], (0, 1, 2, 3), v.ovOV, (4, 2, 5, 6), (1, 5, 3, 6, 0, 4)) - t3new += einsum(t3[np.ix_(so,so,sOf,sv,sv,sVf)], (0, 1, 2, 3, 4, 5), x382, (6, 2, 7, 5, 8, 1), (0, 8, 6, 3, 4, 7)) * -1.0 - del x382 - x383 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x383 += einsum(t2[np.ix_(so,sO,sv,sV)], (0, 1, 2, 3), x67, (4, 5, 0, 6), (1, 3, 4, 5, 2, 6)) - del x67 - t3new += einsum(x383, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -0.5 - t3new += einsum(x383, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -0.5 - del x383 - x384 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x384 += einsum(t2[np.ix_(so,sO,sv,sV)], (0, 1, 2, 3), x69, (4, 5, 0, 6), (1, 3, 4, 5, 2, 6)) - del x69 - t3new += einsum(x384, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 0.5 - t3new += einsum(x384, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 0.5 - del x384 - x385 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x385 += einsum(t2[np.ix_(so,sO,sv,sV)], (0, 1, 2, 3), x71, (4, 5, 0, 6), (1, 3, 4, 5, 2, 6)) - del x71 - t3new += einsum(x385, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -1.0 - t3new += einsum(x385, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -1.0 - del x385 - x386 = np.zeros((naocc, naocc, navir, navir), dtype=types[float]) - x386 += einsum(t2[np.ix_(so,sO,sv,sV)], (0, 1, 2, 3), v.ovOV, (0, 2, 4, 5), (1, 4, 3, 5)) - x387 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x387 += einsum(x386, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 5, 1, 6, 7, 3), (0, 2, 4, 5, 6, 7)) - del x386 - t3new += einsum(x387, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new += einsum(x387, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - del x387 - x388 = np.zeros((naocc, naocc, navir, navir), dtype=types[float]) - x388 += einsum(t2[np.ix_(so,sO,sv,sV)], (0, 1, 2, 3), v.oVvO, (0, 4, 2, 5), (1, 5, 3, 4)) - x389 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x389 += einsum(x388, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 5, 1, 6, 7, 3), (0, 2, 4, 5, 6, 7)) - del x388 - t3new += einsum(x389, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -1.0 - t3new += einsum(x389, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -1.0 - del x389 - x390 = np.zeros((navir, nocc, nocc, nvir), dtype=types[float]) - x390 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.ovoV, (1, 3, 4, 5), (5, 0, 4, 2)) - t3new += einsum(x390, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sV,sVf)], (4, 2, 5, 6, 7, 0), (4, 1, 5, 6, 3, 7)) * -2.0 - del x390 - x391 = np.zeros((naocc, navir, nocc, nocc), dtype=types[float]) - x391 += einsum(v.ovoV, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sV,sVf)], (2, 4, 5, 1, 6, 3), (5, 6, 4, 0)) - t3new += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x391, (4, 5, 6, 1), (6, 0, 4, 3, 2, 5)) * -0.5 - del x391 - x392 = np.zeros((naocc, navir, nocc, nocc), dtype=types[float]) - x392 += einsum(v.ovoV, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sV,sVf)], (0, 4, 5, 1, 6, 3), (5, 6, 4, 2)) - t3new += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x392, (4, 5, 6, 1), (6, 0, 4, 3, 2, 5)) * 0.5 - del x392 - x393 = np.zeros((navir, nocc, nocc, nvir), dtype=types[float]) - x393 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.ovoV, (1, 2, 4, 5), (5, 0, 4, 3)) - t3new += einsum(x393, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sV,sVf)], (4, 2, 5, 6, 7, 0), (4, 1, 5, 6, 3, 7)) - del x393 - x394 = np.zeros((navir, nocc, nocc, nvir), dtype=types[float]) - x394 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.ovoV, (4, 3, 1, 5), (5, 0, 4, 2)) - t3new += einsum(x394, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sV,sVf)], (4, 2, 5, 6, 7, 0), (4, 1, 5, 6, 3, 7)) - del x394 - x395 = np.zeros((naocc, naocc, navir, nocc, nocc, nvir), dtype=types[float]) - x395 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), v.ovOV, (4, 3, 5, 6), (1, 5, 6, 0, 4, 2)) - x396 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x396 += einsum(t3[np.ix_(so,so,sOf,sv,sV,sVf)], (0, 1, 2, 3, 4, 5), x395, (6, 2, 5, 7, 1, 8), (6, 4, 7, 0, 8, 3)) - del x395 - t3new += einsum(x396, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -1.0 - t3new += einsum(x396, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -0.5 - del x396 - x397 = np.zeros((naocc, naocc, navir, nocc, nocc, nvir), dtype=types[float]) - x397 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), v.ovOV, (4, 2, 5, 6), (1, 5, 6, 0, 4, 3)) - t3new += einsum(t3[np.ix_(so,so,sOf,sv,sV,sVf)], (0, 1, 2, 3, 4, 5), x397, (6, 2, 5, 7, 1, 8), (7, 0, 6, 8, 3, 4)) - t3new += einsum(t3[np.ix_(so,so,sOf,sv,sV,sVf)], (0, 1, 2, 3, 4, 5), x397, (6, 2, 5, 7, 0, 8), (1, 7, 6, 8, 3, 4)) * 0.5 - del x397 - x398 = np.zeros((naocc, naocc, navir, nocc, nocc, nvir), dtype=types[float]) - x398 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), v.oVvO, (4, 5, 3, 6), (1, 6, 5, 0, 4, 2)) - t3new += einsum(t3[np.ix_(so,so,sOf,sv,sV,sVf)], (0, 1, 2, 3, 4, 5), x398, (6, 2, 5, 7, 1, 8), (0, 7, 6, 3, 8, 4)) * 0.5 - del x398 - x399 = np.zeros((naocc, naocc, navir, nocc, nocc, nvir), dtype=types[float]) - x399 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), v.oVvO, (4, 5, 2, 6), (1, 6, 5, 0, 4, 3)) - t3new += einsum(t3[np.ix_(so,so,sOf,sv,sV,sVf)], (0, 1, 2, 3, 4, 5), x399, (6, 2, 5, 7, 0, 8), (1, 7, 6, 8, 3, 4)) * -0.5 - del x399 - x400 = np.zeros((naocc, naocc, navir, nvir), dtype=types[float]) - x400 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), v.ovOV, (0, 3, 4, 5), (1, 4, 5, 2)) - t3new += einsum(x400, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sV,sVf)], (4, 5, 1, 6, 7, 2), (5, 4, 0, 3, 6, 7)) - del x400 - x401 = np.zeros((navir, nocc, nocc, nocc), dtype=types[float]) - x401 += einsum(v.ovOV, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sV,sVf)], (4, 5, 2, 1, 6, 3), (6, 4, 5, 0)) - t3new += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x401, (4, 5, 6, 0), (6, 5, 1, 3, 2, 4)) * 0.5 - del x401 - x402 = np.zeros((navir, nocc, nocc, nocc), dtype=types[float]) - x402 += einsum(v.oVvO, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sV,sVf)], (4, 5, 3, 2, 6, 1), (6, 4, 5, 0)) - t3new += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x402, (4, 5, 6, 0), (6, 5, 1, 3, 2, 4)) * -0.5 - del x402 - x403 = np.zeros((naocc, naocc, navir, nvir), dtype=types[float]) - x403 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), v.ovOV, (0, 2, 4, 5), (1, 4, 5, 3)) - t3new += einsum(x403, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sV,sVf)], (4, 5, 1, 6, 7, 2), (5, 4, 0, 3, 6, 7)) * -2.0 - del x403 - x404 = np.zeros((naocc, naocc, navir, nvir), dtype=types[float]) - x404 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), v.oVvO, (0, 4, 2, 5), (1, 5, 4, 3)) - t3new += einsum(x404, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sV,sVf)], (4, 5, 1, 6, 7, 2), (5, 4, 0, 3, 6, 7)) - del x404 - x405 = np.zeros((naocc, navir, nvir, nvir), dtype=types[float]) - x405 += einsum(v.ovvO, (0, 1, 2, 3), t3[np.ix_(so,sO,sOf,sv,sv,sVf)], (0, 4, 3, 5, 2, 6), (4, 6, 5, 1)) - t3new += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x405, (4, 5, 6, 2), (0, 1, 4, 6, 3, 5)) * 0.5 - del x405 - x406 = np.zeros((naocc, navir, nvir, nvir), dtype=types[float]) - x406 += einsum(v.ovvO, (0, 1, 2, 3), t3[np.ix_(so,sO,sOf,sv,sv,sVf)], (0, 4, 3, 2, 5, 6), (4, 6, 5, 1)) - t3new += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x406, (4, 5, 6, 2), (0, 1, 4, 6, 3, 5)) * -0.5 - del x406 - x407 = np.zeros((naocc, navir, nvir, nvir), dtype=types[float]) - x407 += einsum(v.ovvO, (0, 1, 2, 3), t3[np.ix_(so,sO,sOf,sv,sv,sVf)], (0, 4, 3, 5, 1, 6), (4, 6, 5, 2)) - t3new += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x407, (4, 5, 6, 2), (0, 1, 4, 6, 3, 5)) * -0.5 - del x407 - x408 = np.zeros((naocc, navir, nvir, nvir), dtype=types[float]) - x408 += einsum(v.ovvO, (0, 1, 2, 3), t3[np.ix_(so,sO,sOf,sv,sv,sVf)], (0, 4, 3, 1, 5, 6), (4, 6, 5, 2)) - t3new += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x408, (4, 5, 6, 2), (0, 1, 4, 6, 3, 5)) * 0.5 - del x408 - x409 = np.zeros((naocc, nocc, nocc, nvir), dtype=types[float]) - x409 += einsum(v.ovOV, (0, 1, 2, 3), t3[np.ix_(so,sO,sOf,sv,sv,sVf)], (4, 5, 2, 6, 1, 3), (5, 4, 0, 6)) - t3new += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x409, (4, 5, 1, 6), (0, 5, 4, 2, 6, 3)) * -1.0 - t3new += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x409, (4, 5, 0, 6), (1, 5, 4, 2, 6, 3)) - del x409 - x410 = np.zeros((naocc, navir, navir, nocc), dtype=types[float]) - x410 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), v.ovOV, (1, 2, 4, 5), (4, 3, 5, 0)) - t3new += einsum(x410, (0, 1, 2, 3), t3[np.ix_(so,sO,sOf,sv,sv,sVf)], (4, 5, 0, 6, 7, 2), (3, 4, 5, 7, 6, 1)) - del x410 - x411 = np.zeros((naocc, navir, navir, nocc, nocc, nocc), dtype=types[float]) - x411 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), v.ovOV, (4, 2, 5, 6), (5, 3, 6, 1, 0, 4)) - t3new += einsum(t3[np.ix_(so,sO,sOf,sv,sv,sVf)], (0, 1, 2, 3, 4, 5), x411, (2, 6, 5, 7, 8, 0), (7, 8, 1, 4, 3, 6)) * 0.5 - del x411 - x412 = np.zeros((naocc, navir, navir, nocc, nocc, nocc), dtype=types[float]) - x412 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), v.oVvO, (4, 5, 2, 6), (6, 3, 5, 1, 0, 4)) - t3new += einsum(t3[np.ix_(so,sO,sOf,sv,sv,sVf)], (0, 1, 2, 3, 4, 5), x412, (2, 6, 5, 7, 8, 0), (7, 8, 1, 4, 3, 6)) * -0.5 - del x412 - x413 = np.zeros((naocc, nocc, nocc, nvir), dtype=types[float]) - x413 += einsum(v.ovOV, (0, 1, 2, 3), t3[np.ix_(so,sO,sOf,sv,sv,sVf)], (4, 5, 2, 1, 6, 3), (5, 4, 0, 6)) - t3new += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x413, (4, 5, 0, 6), (1, 5, 4, 6, 2, 3)) * 0.5 - del x413 - x414 = np.zeros((naocc, nocc, nocc, nvir), dtype=types[float]) - x414 += einsum(v.oVvO, (0, 1, 2, 3), t3[np.ix_(so,sO,sOf,sv,sv,sVf)], (4, 5, 3, 2, 6, 1), (5, 4, 0, 6)) - t3new += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x414, (4, 5, 0, 6), (1, 5, 4, 6, 2, 3)) * -0.5 - del x414 - x415 = np.zeros((naocc, navir, navir, nocc), dtype=types[float]) - x415 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), v.ovOV, (0, 2, 4, 5), (4, 3, 5, 1)) - t3new += einsum(x415, (0, 1, 2, 3), t3[np.ix_(so,sO,sOf,sv,sv,sVf)], (4, 5, 0, 6, 7, 2), (3, 4, 5, 7, 6, 1)) * -2.0 - del x415 - x416 = np.zeros((naocc, navir, navir, nocc), dtype=types[float]) - x416 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), v.oVvO, (0, 4, 2, 5), (5, 3, 4, 1)) - t3new += einsum(x416, (0, 1, 2, 3), t3[np.ix_(so,sO,sOf,sv,sv,sVf)], (4, 5, 0, 6, 7, 2), (3, 4, 5, 7, 6, 1)) - del x416 - x417 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x417 += einsum(t3[np.ix_(so,sO,sOf,sv,sV,sVf)], (0, 1, 2, 3, 4, 5), x138, (2, 5, 6, 7, 0, 8), (1, 4, 6, 7, 8, 3)) - del x138 - t3new += einsum(x417, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -0.5 - t3new += einsum(x417, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -0.5 - del x417 - x418 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x418 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.oVvO, (4, 5, 3, 6), (6, 5, 0, 1, 4, 2)) - x419 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x419 += einsum(t3[np.ix_(so,sO,sOf,sv,sV,sVf)], (0, 1, 2, 3, 4, 5), x418, (2, 5, 6, 7, 0, 8), (1, 4, 6, 7, 8, 3)) - del x418 - t3new += einsum(x419, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 0.5 - t3new += einsum(x419, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 0.5 - del x419 - x420 = np.zeros((naocc, navir, nocc, nocc), dtype=types[float]) - x420 += einsum(v.ovOV, (0, 1, 2, 3), t3[np.ix_(so,sO,sOf,sv,sV,sVf)], (4, 5, 2, 1, 6, 3), (5, 6, 4, 0)) - t3new += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x420, (4, 5, 6, 1), (0, 6, 4, 2, 3, 5)) * -0.5 - del x420 - x421 = np.zeros((naocc, navir, nocc, nocc), dtype=types[float]) - x421 += einsum(v.oVvO, (0, 1, 2, 3), t3[np.ix_(so,sO,sOf,sv,sV,sVf)], (4, 5, 3, 2, 6, 1), (5, 6, 4, 0)) - t3new += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x421, (4, 5, 6, 1), (0, 6, 4, 2, 3, 5)) * 0.5 - del x421 - x422 = np.zeros((naocc, navir, nocc, nvir), dtype=types[float]) - x422 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.ovOV, (1, 3, 4, 5), (4, 5, 0, 2)) - t3new += einsum(x422, (0, 1, 2, 3), t3[np.ix_(so,sO,sOf,sv,sV,sVf)], (4, 5, 0, 6, 7, 1), (2, 4, 5, 3, 6, 7)) * 2.0 - del x422 - x423 = np.zeros((naocc, navir, nocc, nvir), dtype=types[float]) - x423 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.ovOV, (1, 2, 4, 5), (4, 5, 0, 3)) - t3new += einsum(x423, (0, 1, 2, 3), t3[np.ix_(so,sO,sOf,sv,sV,sVf)], (4, 5, 0, 6, 7, 1), (2, 4, 5, 3, 6, 7)) * -1.0 - del x423 - x424 = np.zeros((naocc, navir, nocc, nvir), dtype=types[float]) - x424 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.oVvO, (1, 4, 3, 5), (5, 4, 0, 2)) - t3new += einsum(x424, (0, 1, 2, 3), t3[np.ix_(so,sO,sOf,sv,sV,sVf)], (4, 5, 0, 6, 7, 1), (2, 4, 5, 3, 6, 7)) * -1.0 - del x424 - x425 = np.zeros((naocc, naocc, navir, navir, nocc, nocc), dtype=types[float]) - x425 += einsum(t2[np.ix_(so,sO,sV,sv)], (0, 1, 2, 3), v.ovOV, (4, 3, 5, 6), (1, 5, 2, 6, 0, 4)) - t3new += einsum(t3[np.ix_(so,so,sOf,sv,sv,sVf)], (0, 1, 2, 3, 4, 5), x425, (6, 2, 7, 5, 8, 1), (8, 0, 6, 4, 3, 7)) - t3new += einsum(t3[np.ix_(so,so,sOf,sv,sv,sVf)], (0, 1, 2, 3, 4, 5), x425, (6, 2, 7, 5, 8, 0), (8, 1, 6, 3, 4, 7)) * 0.5 - del x425 - x426 = np.zeros((naocc, naocc, navir, navir, nocc, nocc), dtype=types[float]) - x426 += einsum(t2[np.ix_(so,sO,sV,sv)], (0, 1, 2, 3), v.oVvO, (4, 5, 3, 6), (1, 6, 2, 5, 0, 4)) - t3new += einsum(t3[np.ix_(so,so,sOf,sv,sv,sVf)], (0, 1, 2, 3, 4, 5), x426, (6, 2, 7, 5, 8, 0), (8, 1, 6, 3, 4, 7)) * -0.5 - del x426 - x427 = np.zeros((naocc, naocc, navir, navir), dtype=types[float]) - x427 += einsum(t2[np.ix_(so,sO,sV,sv)], (0, 1, 2, 3), v.ovOV, (0, 3, 4, 5), (1, 4, 2, 5)) - x428 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x428 += einsum(x427, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 5, 1, 6, 7, 3), (0, 2, 4, 5, 6, 7)) - del x427 - t3new += einsum(x428, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -1.0 - t3new += einsum(x428, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -1.0 - del x428 - x429 = np.zeros((naocc, naocc, navir, navir), dtype=types[float]) - x429 += einsum(t2[np.ix_(so,sO,sV,sv)], (0, 1, 2, 3), v.oVvO, (0, 4, 3, 5), (1, 5, 2, 4)) - t3new += einsum(x429, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 5, 1, 6, 7, 3), (4, 5, 0, 6, 7, 2)) - del x429 - x430 = np.zeros((naocc, nocc, nocc, nocc), dtype=types[float]) - x430 += einsum(t1[np.ix_(so,sv)], (0, 1), v.ovoO, (2, 1, 3, 4), (4, 0, 3, 2)) - x431 = np.zeros((naocc, nocc, nocc, nvir), dtype=types[float]) - x431 += einsum(t1[np.ix_(so,sv)], (0, 1), x430, (2, 3, 4, 0), (2, 3, 4, 1)) - t3new += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x431, (4, 5, 0, 6), (1, 5, 4, 2, 6, 3)) * -1.0 - x432 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x432 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x431, (4, 5, 1, 6), (4, 3, 5, 0, 6, 2)) - del x431 - t3new += einsum(x432, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) - t3new += einsum(x432, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) - del x432 - x433 = np.zeros((naocc, nocc, nocc, nvir), dtype=types[float]) - x433 += einsum(t1[np.ix_(so,sv)], (0, 1), x430, (2, 3, 0, 4), (2, 3, 4, 1)) - del x430 - t3new += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x433, (4, 5, 1, 6), (5, 0, 4, 6, 2, 3)) * -1.0 - t3new += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x433, (4, 5, 0, 6), (1, 5, 4, 6, 2, 3)) * -1.0 - del x433 - x434 = np.zeros((naocc, navir, nocc, nocc, nocc, nocc), dtype=types[float]) - x434 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), v.ovoO, (4, 2, 5, 6), (6, 3, 1, 0, 5, 4)) - x435 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x435 += einsum(t1[np.ix_(so,sv)], (0, 1), x434, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 6, 1)) - del x434 - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), x435, (2, 3, 4, 5, 0, 6), (4, 5, 2, 1, 6, 3)) * -1.0 - del x435 - x436 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x436 += einsum(t2[np.ix_(so,sO,sv,sV)], (0, 1, 2, 3), x41, (4, 5, 0, 6), (1, 3, 4, 5, 6, 2)) - x437 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x437 += einsum(t1[np.ix_(so,sv)], (0, 1), x436, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x436 - t3new += einsum(x437, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) - t3new += einsum(x437, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) - del x437 - x438 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x438 += einsum(t2[np.ix_(so,sO,sv,sV)], (0, 1, 2, 3), x41, (4, 5, 6, 0), (1, 3, 4, 6, 5, 2)) - x439 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x439 += einsum(t1[np.ix_(so,sv)], (0, 1), x438, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 1, 6)) - del x438 - t3new += einsum(x439, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) - t3new += einsum(x439, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) - del x439 - x440 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x440 += einsum(t1[np.ix_(so,sv)], (0, 1), x259, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 6, 1)) - del x259 - x441 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x441 += einsum(t1[np.ix_(so,sv)], (0, 1), x440, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 1, 6)) - del x440 - t3new += einsum(x441, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) - t3new += einsum(x441, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) - del x441 - x442 = np.zeros((navir, nocc, nocc, nvir), dtype=types[float]) - x442 += einsum(t1[np.ix_(so,sv)], (0, 1), v.ovvV, (2, 1, 3, 4), (4, 0, 2, 3)) - x443 = np.zeros((navir, nocc, nocc, nocc), dtype=types[float]) - x443 += einsum(t1[np.ix_(so,sv)], (0, 1), x442, (2, 3, 4, 1), (2, 0, 3, 4)) - t3new += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x443, (4, 5, 6, 0), (5, 6, 1, 3, 2, 4)) - del x443 - x444 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x444 += einsum(t2[np.ix_(so,sO,sv,sV)], (0, 1, 2, 3), x90, (4, 5, 0, 6), (1, 3, 4, 5, 2, 6)) - del x90 - t3new += einsum(x444, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -1.0 - t3new += einsum(x444, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -1.0 - del x444 - x445 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x445 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x442, (4, 5, 6, 3), (1, 4, 5, 0, 6, 2)) - x446 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x446 += einsum(t1[np.ix_(so,sv)], (0, 1), x445, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x445 - t3new += einsum(x446, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -1.0 - t3new += einsum(x446, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -1.0 - del x446 - x447 = np.zeros((navir, nocc, nocc, nvir), dtype=types[float]) - x447 += einsum(t1[np.ix_(so,sv)], (0, 1), v.ovvV, (2, 3, 1, 4), (4, 0, 2, 3)) - x448 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x448 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x447, (4, 5, 6, 3), (1, 4, 5, 0, 6, 2)) - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), x448, (2, 3, 4, 5, 0, 6), (4, 5, 2, 1, 6, 3)) - del x448 - x449 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x449 += einsum(t1[np.ix_(so,sv)], (0, 1), x113, (2, 3, 4, 5, 1, 6), (2, 3, 0, 4, 5, 6)) - del x113 - x450 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x450 += einsum(t1[np.ix_(so,sv)], (0, 1), x449, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x449 - t3new += einsum(x450, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -1.0 - t3new += einsum(x450, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -1.0 - del x450 - x451 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x451 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x447, (4, 5, 6, 2), (1, 4, 5, 0, 6, 3)) - del x447 - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), x451, (2, 3, 4, 5, 0, 6), (4, 5, 2, 6, 1, 3)) - del x451 - x452 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x452 += einsum(t1[np.ix_(so,sv)], (0, 1), x294, (2, 3, 4, 5, 6, 1), (2, 3, 0, 4, 5, 6)) - del x294 - x453 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x453 += einsum(t1[np.ix_(so,sv)], (0, 1), x452, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x452 - t3new += einsum(x453, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -1.0 - t3new += einsum(x453, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -1.0 - del x453 - x454 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x454 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x442, (4, 5, 6, 2), (1, 4, 5, 0, 6, 3)) - del x442 - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), x454, (2, 3, 4, 5, 0, 6), (5, 4, 2, 6, 1, 3)) - del x454 - x455 = np.zeros((naocc, navir, nocc, nvir), dtype=types[float]) - x455 += einsum(t1[np.ix_(so,sV)], (0, 1), v.ovoO, (0, 2, 3, 4), (4, 1, 3, 2)) - x456 = np.zeros((naocc, navir, nocc, nocc), dtype=types[float]) - x456 += einsum(t1[np.ix_(so,sv)], (0, 1), x455, (2, 3, 4, 1), (2, 3, 0, 4)) - t3new += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x456, (4, 5, 6, 1), (6, 0, 4, 3, 2, 5)) * -1.0 - del x456 - x457 = np.zeros((naocc, navir, nocc, nvir), dtype=types[float]) - x457 += einsum(t1[np.ix_(so,sV)], (0, 1), v.ovoO, (2, 3, 0, 4), (4, 1, 2, 3)) - x458 = np.zeros((naocc, navir, nocc, nocc), dtype=types[float]) - x458 += einsum(t1[np.ix_(so,sv)], (0, 1), x457, (2, 3, 4, 1), (2, 3, 0, 4)) - x459 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x459 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x458, (4, 5, 6, 1), (4, 5, 6, 0, 2, 3)) - del x458 - t3new += einsum(x459, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) - t3new += einsum(x459, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) - del x459 - x460 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x460 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x457, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) - del x457 - x461 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x461 += einsum(t1[np.ix_(so,sv)], (0, 1), x460, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x460 - t3new += einsum(x461, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) - t3new += einsum(x461, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) - del x461 - x462 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x462 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x455, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) - del x455 - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), x462, (2, 3, 4, 5, 0, 6), (5, 4, 2, 1, 6, 3)) * -1.0 - del x462 - x463 = np.zeros((navir, nocc, nocc, nvir), dtype=types[float]) - x463 += einsum(t1[np.ix_(so,sV)], (0, 1), v.ooov, (2, 3, 0, 4), (1, 2, 3, 4)) - x464 = np.zeros((navir, nocc, nocc, nocc), dtype=types[float]) - x464 += einsum(t1[np.ix_(so,sv)], (0, 1), x463, (2, 3, 4, 1), (2, 0, 4, 3)) - t3new += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x464, (4, 5, 0, 6), (5, 6, 1, 3, 2, 4)) * -1.0 - del x464 - x465 = np.zeros((navir, nocc, nocc, nvir), dtype=types[float]) - x465 += einsum(t1[np.ix_(so,sV)], (0, 1), v.ooov, (2, 0, 3, 4), (1, 2, 3, 4)) - x466 = np.zeros((navir, nocc, nocc, nocc), dtype=types[float]) - x466 += einsum(t1[np.ix_(so,sv)], (0, 1), x465, (2, 3, 4, 1), (2, 0, 3, 4)) - t3new += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x466, (4, 5, 6, 0), (6, 5, 1, 3, 2, 4)) * -1.0 - del x466 - x467 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x467 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x463, (4, 5, 6, 3), (1, 4, 0, 6, 5, 2)) - x468 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x468 += einsum(t1[np.ix_(so,sv)], (0, 1), x467, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 1, 6)) - del x467 - t3new += einsum(x468, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) - t3new += einsum(x468, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) - del x468 - x469 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x469 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x465, (4, 5, 6, 3), (1, 4, 0, 5, 6, 2)) - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), x469, (2, 3, 4, 5, 0, 6), (5, 4, 2, 1, 6, 3)) * -1.0 - del x469 - x470 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x470 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x463, (4, 5, 6, 2), (1, 4, 0, 6, 5, 3)) - del x463 - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), x470, (2, 3, 4, 0, 5, 6), (4, 5, 2, 6, 1, 3)) * -1.0 - del x470 - x471 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x471 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x465, (4, 5, 6, 2), (1, 4, 0, 5, 6, 3)) - del x465 - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), x471, (2, 3, 4, 5, 0, 6), (5, 4, 2, 6, 1, 3)) * -1.0 - del x471 - x472 = np.zeros((navir, nvir, nvir, nvir), dtype=types[float]) - x472 += einsum(t1[np.ix_(so,sV)], (0, 1), v.ovvv, (0, 2, 3, 4), (1, 2, 3, 4)) - x473 = np.zeros((navir, nocc, nvir, nvir), dtype=types[float]) - x473 += einsum(t1[np.ix_(so,sv)], (0, 1), x472, (2, 1, 3, 4), (2, 0, 4, 3)) - t3new += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x473, (4, 5, 3, 6), (5, 0, 1, 6, 2, 4)) - t3new += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x473, (4, 5, 2, 6), (5, 0, 1, 3, 6, 4)) - del x473 - x474 = np.zeros((navir, nocc, nvir, nvir), dtype=types[float]) - x474 += einsum(t1[np.ix_(so,sv)], (0, 1), x472, (2, 3, 4, 1), (2, 0, 3, 4)) - del x472 - t3new += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x474, (4, 5, 2, 6), (0, 5, 1, 3, 6, 4)) - x475 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x475 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x474, (4, 5, 3, 6), (1, 4, 5, 0, 2, 6)) - del x474 - t3new += einsum(x475, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -1.0 - t3new += einsum(x475, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -1.0 - del x475 - x476 = np.zeros((naocc, nocc, nocc, nocc), dtype=types[float]) - x476 += einsum(t1[np.ix_(sO,sv)], (0, 1), v.ooov, (2, 3, 4, 1), (0, 2, 3, 4)) - x477 = np.zeros((naocc, nocc, nocc, nvir), dtype=types[float]) - x477 += einsum(t1[np.ix_(so,sv)], (0, 1), x476, (2, 3, 0, 4), (2, 3, 4, 1)) - t3new += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x477, (4, 5, 0, 6), (1, 5, 4, 2, 6, 3)) * -1.0 - x478 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x478 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x477, (4, 5, 1, 6), (4, 3, 0, 5, 6, 2)) - del x477 - t3new += einsum(x478, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) - t3new += einsum(x478, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) - del x478 - x479 = np.zeros((naocc, nocc, nocc, nvir), dtype=types[float]) - x479 += einsum(t1[np.ix_(so,sv)], (0, 1), x476, (2, 3, 4, 0), (2, 4, 3, 1)) - del x476 - t3new += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x479, (4, 1, 5, 6), (5, 0, 4, 6, 2, 3)) * -1.0 - t3new += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x479, (4, 0, 5, 6), (1, 5, 4, 6, 2, 3)) * -1.0 - del x479 - x480 = np.zeros((naocc, navir, nocc, nvir), dtype=types[float]) - x480 += einsum(t1[np.ix_(sO,sv)], (0, 1), v.ovvV, (2, 3, 1, 4), (0, 4, 2, 3)) - x481 = np.zeros((naocc, navir, nocc, nocc), dtype=types[float]) - x481 += einsum(t1[np.ix_(so,sv)], (0, 1), x480, (2, 3, 4, 1), (2, 3, 0, 4)) - x482 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x482 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x481, (4, 5, 6, 1), (4, 5, 6, 0, 2, 3)) - del x481 - t3new += einsum(x482, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -1.0 - t3new += einsum(x482, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -1.0 - del x482 - x483 = np.zeros((naocc, navir, nocc, nvir), dtype=types[float]) - x483 += einsum(t1[np.ix_(sO,sv)], (0, 1), v.ovvV, (2, 1, 3, 4), (0, 4, 2, 3)) - x484 = np.zeros((naocc, navir, nocc, nocc), dtype=types[float]) - x484 += einsum(t1[np.ix_(so,sv)], (0, 1), x483, (2, 3, 4, 1), (2, 3, 0, 4)) - t3new += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x484, (4, 5, 6, 1), (6, 0, 4, 3, 2, 5)) - del x484 - x485 = np.zeros((naocc, nocc, nvir, nvir), dtype=types[float]) - x485 += einsum(t1[np.ix_(sO,sv)], (0, 1), v.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) - x486 = np.zeros((naocc, nocc, nocc, nvir), dtype=types[float]) - x486 += einsum(t1[np.ix_(so,sv)], (0, 1), x485, (2, 3, 1, 4), (2, 0, 3, 4)) - t3new += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x486, (4, 5, 1, 6), (5, 0, 4, 6, 2, 3)) - t3new += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x486, (4, 5, 0, 6), (1, 5, 4, 6, 2, 3)) - del x486 - x487 = np.zeros((naocc, nocc, nvir, nvir), dtype=types[float]) - x487 += einsum(t1[np.ix_(sO,sv)], (0, 1), v.ovvv, (2, 1, 3, 4), (0, 2, 3, 4)) - x488 = np.zeros((naocc, nocc, nocc, nvir), dtype=types[float]) - x488 += einsum(t1[np.ix_(so,sv)], (0, 1), x487, (2, 3, 4, 1), (2, 0, 3, 4)) - t3new += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x488, (4, 5, 0, 6), (1, 5, 4, 2, 6, 3)) - x489 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x489 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x488, (4, 5, 1, 6), (4, 3, 5, 0, 2, 6)) - del x488 - t3new += einsum(x489, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -1.0 - t3new += einsum(x489, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -1.0 - del x489 - x490 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x490 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x483, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) - del x483 - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), x490, (2, 3, 4, 5, 0, 6), (5, 4, 2, 1, 6, 3)) - del x490 - x491 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x491 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x480, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) - del x480 - x492 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x492 += einsum(t1[np.ix_(so,sv)], (0, 1), x491, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x491 - t3new += einsum(x492, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -1.0 - t3new += einsum(x492, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -1.0 - del x492 - x493 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x493 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x487, (4, 5, 6, 2), (4, 3, 1, 0, 5, 6)) - del x487 - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), x493, (2, 3, 4, 5, 0, 6), (4, 5, 2, 1, 6, 3)) - del x493 - x494 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x494 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x485, (4, 5, 2, 6), (4, 3, 1, 0, 5, 6)) - del x485 - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), x494, (2, 3, 4, 5, 0, 6), (4, 5, 2, 6, 1, 3)) - del x494 - x495 = np.zeros((naocc, navir, nocc, nocc), dtype=types[float]) - x495 += einsum(t1[np.ix_(so,sV)], (0, 1), t1[np.ix_(sO,sv)], (2, 3), v.ooov, (4, 5, 0, 3), (2, 1, 4, 5)) - x496 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x496 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x495, (4, 5, 1, 6), (4, 5, 0, 6, 2, 3)) - del x495 - t3new += einsum(x496, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) - t3new += einsum(x496, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) - del x496 - x497 = np.zeros((naocc, navir, nocc, nocc), dtype=types[float]) - x497 += einsum(t1[np.ix_(so,sV)], (0, 1), t1[np.ix_(sO,sv)], (2, 3), v.ooov, (4, 0, 5, 3), (2, 1, 4, 5)) - t3new += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x497, (4, 5, 6, 1), (6, 0, 4, 3, 2, 5)) * -1.0 - del x497 - x498 = np.zeros((naocc, navir, nvir, nvir), dtype=types[float]) - x498 += einsum(t1[np.ix_(so,sV)], (0, 1), t1[np.ix_(sO,sv)], (2, 3), v.ovvv, (0, 3, 4, 5), (2, 1, 4, 5)) - x499 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x499 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x498, (4, 5, 3, 6), (4, 5, 0, 1, 2, 6)) - del x498 - t3new += einsum(x499, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -1.0 - t3new += einsum(x499, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -1.0 - del x499 - x500 = np.zeros((naocc, navir, nvir, nvir), dtype=types[float]) - x500 += einsum(t1[np.ix_(so,sV)], (0, 1), t1[np.ix_(sO,sv)], (2, 3), v.ovvv, (0, 4, 5, 3), (2, 1, 4, 5)) - t3new += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x500, (4, 5, 2, 6), (0, 1, 4, 6, 3, 5)) - del x500 - x501 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x501 += einsum(t2[np.ix_(so,sO,sV,sv)], (0, 1, 2, 3), x41, (4, 5, 6, 0), (1, 2, 4, 6, 5, 3)) - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), x501, (2, 3, 4, 0, 5, 6), (4, 5, 2, 6, 1, 3)) * -1.0 - del x501 - x502 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x502 += einsum(t2[np.ix_(so,sO,sV,sv)], (0, 1, 2, 3), x41, (4, 5, 0, 6), (1, 2, 4, 5, 6, 3)) - del x41 - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), x502, (2, 3, 4, 5, 0, 6), (5, 4, 2, 6, 1, 3)) * -1.0 - del x502 - x503 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x503 += einsum(t1[np.ix_(so,sv)], (0, 1), x318, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 6, 1)) - del x318 - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), x503, (2, 3, 4, 0, 5, 6), (4, 5, 2, 6, 1, 3)) * -1.0 - del x503 - x504 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x504 += einsum(t1[np.ix_(so,sv)], (0, 1), x322, (2, 3, 4, 5, 6, 1), (2, 3, 0, 4, 5, 6)) - del x322 - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), x504, (2, 3, 4, 5, 0, 6), (5, 4, 2, 1, 6, 3)) - del x504 - x505 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x505 += einsum(t1[np.ix_(so,sv)], (0, 1), x115, (2, 3, 4, 5, 1, 6), (2, 3, 0, 4, 5, 6)) - del x115 - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), x505, (2, 3, 4, 5, 0, 6), (5, 4, 2, 6, 1, 3)) - del x505 - x506 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x506 += einsum(x9, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (1, 4, 5, 3, 6, 7), (5, 7, 0, 4, 2, 6)) - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), x506, (2, 3, 4, 5, 0, 6), (4, 5, 2, 1, 6, 3)) * -1.0 - del x506 - x507 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x507 += einsum(x9, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (2, 4, 5, 3, 6, 7), (5, 7, 0, 4, 1, 6)) - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), x507, (2, 3, 4, 5, 0, 6), (4, 5, 2, 1, 6, 3)) - del x507 - x508 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x508 += einsum(x9, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (2, 4, 5, 6, 3, 7), (5, 7, 0, 4, 1, 6)) - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), x508, (2, 3, 4, 5, 0, 6), (4, 5, 2, 6, 1, 3)) - del x508 - x509 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x509 += einsum(x9, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 2, 5, 3, 6, 7), (5, 7, 0, 4, 1, 6)) - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), x509, (2, 3, 4, 5, 0, 6), (5, 4, 2, 1, 6, 3)) - del x509 - x510 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x510 += einsum(x9, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 1, 5, 3, 6, 7), (5, 7, 0, 4, 2, 6)) - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), x510, (2, 3, 4, 5, 0, 6), (5, 4, 2, 6, 1, 3)) - del x510 - x511 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x511 += einsum(x9, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 1, 5, 6, 3, 7), (5, 7, 0, 4, 2, 6)) - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), x511, (2, 3, 4, 5, 0, 6), (5, 4, 2, 6, 1, 3)) * -2.0 - del x511 - x512 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x512 += einsum(x9, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 2, 5, 6, 3, 7), (5, 7, 0, 4, 1, 6)) - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), x512, (2, 3, 4, 5, 0, 6), (5, 4, 2, 6, 1, 3)) - del x512 - x513 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x513 += einsum(t1[np.ix_(so,sv)], (0, 1), x334, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 6, 1)) - del x334 - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), x513, (2, 3, 4, 5, 0, 6), (4, 5, 2, 1, 6, 3)) - del x513 - x514 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x514 += einsum(x0, (0, 1), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (2, 3, 4, 1, 5, 6), (4, 6, 2, 3, 0, 5)) - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), x514, (2, 3, 4, 5, 0, 6), (4, 5, 2, 1, 6, 3)) * -2.0 - del x514 - x515 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x515 += einsum(x15, (0, 1), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (2, 3, 4, 1, 5, 6), (4, 6, 2, 3, 0, 5)) - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), x515, (2, 3, 4, 5, 0, 6), (4, 5, 2, 1, 6, 3)) - del x515 - x516 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x516 += einsum(x0, (0, 1), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (2, 3, 4, 5, 1, 6), (4, 6, 2, 3, 0, 5)) - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), x516, (2, 3, 4, 5, 0, 6), (4, 5, 2, 6, 1, 3)) * -2.0 - del x516 - x517 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x517 += einsum(x15, (0, 1), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (2, 3, 4, 5, 1, 6), (4, 6, 2, 3, 0, 5)) - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), x517, (2, 3, 4, 5, 0, 6), (4, 5, 2, 6, 1, 3)) - del x517 - x518 = np.zeros((navir, navir, nocc, nvir), dtype=types[float]) - x518 += einsum(t1[np.ix_(so,sV)], (0, 1), v.ovoV, (0, 2, 3, 4), (1, 4, 3, 2)) - x519 = np.zeros((navir, navir, nocc, nocc), dtype=types[float]) - x519 += einsum(t1[np.ix_(so,sv)], (0, 1), x518, (2, 3, 4, 1), (2, 3, 0, 4)) - del x518 - t3new += einsum(x519, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (3, 4, 5, 6, 7, 1), (2, 4, 5, 6, 7, 0)) * -1.0 - del x519 - x520 = np.zeros((navir, navir, nocc, nvir), dtype=types[float]) - x520 += einsum(t1[np.ix_(so,sV)], (0, 1), v.ovoV, (2, 3, 0, 4), (1, 4, 2, 3)) - x521 = np.zeros((navir, navir, nocc, nocc), dtype=types[float]) - x521 += einsum(t1[np.ix_(so,sv)], (0, 1), x520, (2, 3, 4, 1), (2, 3, 0, 4)) - del x520 - t3new += einsum(x521, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (3, 4, 5, 6, 7, 1), (2, 4, 5, 6, 7, 0)) - t3new += einsum(x521, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 3, 5, 6, 7, 1), (4, 2, 5, 6, 7, 0)) - del x521 - x522 = np.zeros((navir, navir, nocc, nvir), dtype=types[float]) - x522 += einsum(t1[np.ix_(so,sV)], (0, 1), v.ovoV, (0, 2, 3, 4), (1, 4, 3, 2)) - x523 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x523 += einsum(x522, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 5, 6, 3, 7, 1), (6, 0, 4, 5, 2, 7)) - del x522 - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), x523, (2, 3, 4, 5, 0, 6), (4, 5, 2, 1, 6, 3)) * -0.5 - del x523 - x524 = np.zeros((navir, navir, nocc, nvir), dtype=types[float]) - x524 += einsum(t1[np.ix_(so,sV)], (0, 1), v.ovoV, (2, 3, 0, 4), (1, 4, 2, 3)) - x525 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x525 += einsum(x524, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 5, 6, 3, 7, 1), (6, 0, 4, 5, 2, 7)) - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), x525, (2, 3, 4, 5, 0, 6), (4, 5, 2, 1, 6, 3)) * 0.5 - del x525 - x526 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x526 += einsum(x524, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 5, 6, 7, 3, 1), (6, 0, 4, 5, 2, 7)) - del x524 - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), x526, (2, 3, 4, 5, 0, 6), (4, 5, 2, 6, 1, 3)) - del x526 - x527 = np.zeros((navir, nocc), dtype=types[float]) - x527 += einsum(t1[np.ix_(so,sv)], (0, 1), v.ovoV, (0, 1, 2, 3), (3, 2)) - x528 = np.zeros((navir, navir), dtype=types[float]) - x528 += einsum(t1[np.ix_(so,sV)], (0, 1), x527, (2, 0), (1, 2)) - del x527 - t3new += einsum(x528, (0, 1), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 6, 0)) * -2.0 - del x528 - x529 = np.zeros((navir, nocc), dtype=types[float]) - x529 += einsum(t1[np.ix_(so,sv)], (0, 1), v.ovoV, (2, 1, 0, 3), (3, 2)) - x530 = np.zeros((navir, navir), dtype=types[float]) - x530 += einsum(t1[np.ix_(so,sV)], (0, 1), x529, (2, 0), (1, 2)) - del x529 - t3new += einsum(x530, (0, 1), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 6, 0)) - del x530 - x531 = np.zeros((naocc, naocc, nocc, nvir), dtype=types[float]) - x531 += einsum(t1[np.ix_(sO,sv)], (0, 1), v.ovvO, (2, 3, 1, 4), (0, 4, 2, 3)) - x532 = np.zeros((naocc, naocc, nocc, nocc), dtype=types[float]) - x532 += einsum(t1[np.ix_(so,sv)], (0, 1), x531, (2, 3, 4, 1), (2, 3, 0, 4)) - t3new += einsum(x532, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (3, 4, 1, 5, 6, 7), (2, 4, 0, 5, 6, 7)) * 0.5 - del x532 - x533 = np.zeros((naocc, naocc, nocc, nvir), dtype=types[float]) - x533 += einsum(t1[np.ix_(sO,sv)], (0, 1), v.ovvO, (2, 1, 3, 4), (0, 4, 2, 3)) - x534 = np.zeros((naocc, naocc, nocc, nocc), dtype=types[float]) - x534 += einsum(t1[np.ix_(so,sv)], (0, 1), x533, (2, 3, 4, 1), (2, 3, 0, 4)) - t3new += einsum(x534, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (3, 4, 1, 5, 6, 7), (2, 4, 0, 5, 6, 7)) * -0.5 - del x534 - x535 = np.zeros((naocc, naocc, nocc, nvir), dtype=types[float]) - x535 += einsum(t1[np.ix_(sO,sv)], (0, 1), v.ovvO, (2, 3, 1, 4), (0, 4, 2, 3)) - x536 = np.zeros((naocc, naocc, nocc, nocc), dtype=types[float]) - x536 += einsum(t1[np.ix_(so,sv)], (0, 1), x535, (2, 3, 4, 1), (2, 3, 0, 4)) - del x535 - t3new += einsum(x536, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 3, 1, 5, 6, 7), (4, 2, 0, 5, 6, 7)) - del x536 - x537 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x537 += einsum(x533, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 5, 1, 3, 6, 7), (0, 7, 4, 5, 2, 6)) - del x533 - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), x537, (2, 3, 4, 5, 0, 6), (4, 5, 2, 1, 6, 3)) * -1.0 - del x537 - x538 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x538 += einsum(x531, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 5, 1, 3, 6, 7), (0, 7, 4, 5, 2, 6)) - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), x538, (2, 3, 4, 5, 0, 6), (4, 5, 2, 1, 6, 3)) - del x538 - x539 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x539 += einsum(x531, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 5, 1, 6, 3, 7), (0, 7, 4, 5, 2, 6)) - del x531 - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), x539, (2, 3, 4, 5, 0, 6), (4, 5, 2, 6, 1, 3)) - del x539 - x540 = np.zeros((naocc, nvir), dtype=types[float]) - x540 += einsum(t1[np.ix_(so,sv)], (0, 1), v.ovvO, (0, 1, 2, 3), (3, 2)) - x541 = np.zeros((naocc, naocc), dtype=types[float]) - x541 += einsum(t1[np.ix_(sO,sv)], (0, 1), x540, (2, 1), (0, 2)) - del x540 - t3new += einsum(x541, (0, 1), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (2, 3, 1, 4, 5, 6), (2, 3, 0, 4, 5, 6)) * -2.0 - del x541 - x542 = np.zeros((naocc, nvir), dtype=types[float]) - x542 += einsum(t1[np.ix_(so,sv)], (0, 1), v.ovvO, (0, 2, 1, 3), (3, 2)) - x543 = np.zeros((naocc, naocc), dtype=types[float]) - x543 += einsum(t1[np.ix_(sO,sv)], (0, 1), x542, (2, 1), (0, 2)) - del x542 - t3new += einsum(x543, (0, 1), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (2, 3, 1, 4, 5, 6), (2, 3, 0, 4, 5, 6)) - del x543 - x544 = np.zeros((naocc, naocc, navir, nocc), dtype=types[float]) - x544 += einsum(t1[np.ix_(sO,sv)], (0, 1), v.ovOV, (2, 1, 3, 4), (0, 3, 4, 2)) - x545 = np.zeros((naocc, naocc, navir, navir), dtype=types[float]) - x545 += einsum(t1[np.ix_(so,sV)], (0, 1), x544, (2, 3, 4, 0), (2, 3, 1, 4)) - x546 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x546 += einsum(x545, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 5, 1, 6, 7, 3), (0, 2, 4, 5, 6, 7)) - del x545 - t3new += einsum(x546, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -1.0 - t3new += einsum(x546, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -1.0 - del x546 - x547 = np.zeros((naocc, naocc, navir, nocc), dtype=types[float]) - x547 += einsum(t1[np.ix_(sO,sv)], (0, 1), v.oVvO, (2, 3, 1, 4), (0, 4, 3, 2)) - x548 = np.zeros((naocc, naocc, navir, navir), dtype=types[float]) - x548 += einsum(t1[np.ix_(so,sV)], (0, 1), x547, (2, 3, 4, 0), (2, 3, 1, 4)) - del x547 - t3new += einsum(x548, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sv,sVf)], (4, 5, 1, 6, 7, 3), (4, 5, 0, 6, 7, 2)) - del x548 - x549 = np.zeros((navir, nocc, nocc, nvir), dtype=types[float]) - x549 += einsum(t1[np.ix_(so,sv)], (0, 1), x155, (2, 3, 4, 0), (2, 3, 4, 1)) - del x155 - t3new += einsum(x549, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sV,sVf)], (4, 2, 5, 6, 7, 0), (4, 1, 5, 6, 3, 7)) - del x549 - x550 = np.zeros((naocc, naocc, navir, nvir), dtype=types[float]) - x550 += einsum(t1[np.ix_(so,sv)], (0, 1), x544, (2, 3, 4, 0), (2, 3, 4, 1)) - del x544 - t3new += einsum(x550, (0, 1, 2, 3), t3[np.ix_(so,so,sOf,sv,sV,sVf)], (4, 5, 1, 6, 7, 2), (5, 4, 0, 3, 6, 7)) - del x550 - x551 = np.zeros((naocc, navir, navir, nvir), dtype=types[float]) - x551 += einsum(t1[np.ix_(so,sV)], (0, 1), v.ovOV, (0, 2, 3, 4), (3, 1, 4, 2)) - x552 = np.zeros((naocc, navir, navir, nocc), dtype=types[float]) - x552 += einsum(t1[np.ix_(so,sv)], (0, 1), x551, (2, 3, 4, 1), (2, 3, 4, 0)) - del x551 - t3new += einsum(x552, (0, 1, 2, 3), t3[np.ix_(so,sO,sOf,sv,sv,sVf)], (4, 5, 0, 6, 7, 2), (3, 4, 5, 7, 6, 1)) - del x552 - x553 = np.zeros((naocc, navir, nocc, nvir), dtype=types[float]) - x553 += einsum(t1[np.ix_(so,sv)], (0, 1), x62, (2, 3, 4, 0), (2, 3, 4, 1)) - del x62 - t3new += einsum(x553, (0, 1, 2, 3), t3[np.ix_(so,sO,sOf,sv,sV,sVf)], (4, 5, 0, 6, 7, 1), (2, 4, 5, 3, 6, 7)) * -1.0 - del x553 - x554 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x554 += einsum(t2[np.ix_(so,sO,sv,sV)], (0, 1, 2, 3), x97, (4, 5, 0, 6), (1, 3, 4, 5, 2, 6)) - del x97 - t3new += einsum(x554, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) - t3new += einsum(x554, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) - del x554 - x555 = np.zeros((naocc, navir, nocc, nvir), dtype=types[float]) - x555 += einsum(t2[np.ix_(so,sO,sv,sV)], (0, 1, 2, 3), v.ovov, (4, 5, 0, 2), (1, 3, 4, 5)) - x556 = np.zeros((naocc, navir, nocc, nocc), dtype=types[float]) - x556 += einsum(t1[np.ix_(so,sv)], (0, 1), x555, (2, 3, 4, 1), (2, 3, 0, 4)) - x557 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x557 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x556, (4, 5, 6, 1), (4, 5, 6, 0, 2, 3)) - del x556 - t3new += einsum(x557, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new += einsum(x557, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -2.0 - del x557 - x558 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x558 += einsum(t2[np.ix_(so,sO,sv,sV)], (0, 1, 2, 3), x99, (4, 5, 0, 6), (1, 3, 4, 5, 2, 6)) - del x99 - t3new += einsum(x558, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) - t3new += einsum(x558, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) - del x558 - x559 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x559 += einsum(t2[np.ix_(so,sO,sv,sV)], (0, 1, 2, 3), x93, (4, 5, 0, 6), (1, 3, 4, 5, 2, 6)) - del x93 - t3new += einsum(x559, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new += einsum(x559, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - del x559 - x560 = np.zeros((naocc, navir, nocc, nvir), dtype=types[float]) - x560 += einsum(t2[np.ix_(so,sO,sv,sV)], (0, 1, 2, 3), v.ovov, (4, 2, 0, 5), (1, 3, 4, 5)) - x561 = np.zeros((naocc, navir, nocc, nocc), dtype=types[float]) - x561 += einsum(t1[np.ix_(so,sv)], (0, 1), x560, (2, 3, 4, 1), (2, 3, 0, 4)) - x562 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x562 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x561, (4, 5, 6, 1), (4, 5, 6, 0, 2, 3)) - del x561 - t3new += einsum(x562, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) - t3new += einsum(x562, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) - del x562 - x563 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x563 += einsum(t2[np.ix_(so,sO,sv,sV)], (0, 1, 2, 3), x95, (4, 5, 0, 6), (1, 3, 4, 5, 2, 6)) - del x95 - t3new += einsum(x563, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) - t3new += einsum(x563, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) - del x563 - x564 = np.zeros((naocc, navir, nocc, nocc, nocc, nocc), dtype=types[float]) - x564 += einsum(t1[np.ix_(so,sv)], (0, 1), x157, (2, 3, 4, 5, 6, 1), (2, 3, 0, 4, 5, 6)) - x565 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x565 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x564, (4, 5, 6, 7, 0, 1), (4, 5, 6, 7, 2, 3)) - t3new += einsum(x565, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) - t3new += einsum(x565, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) - del x565 - x566 = np.zeros((naocc, nocc, nocc, nvir), dtype=types[float]) - x566 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x9, (4, 5, 0, 3), (1, 4, 5, 2)) - t3new += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x566, (4, 5, 0, 6), (1, 5, 4, 2, 6, 3)) * -1.0 - x567 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x567 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x566, (4, 5, 1, 6), (4, 3, 5, 0, 6, 2)) - del x566 - t3new += einsum(x567, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) - t3new += einsum(x567, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) - del x567 - x568 = np.zeros((naocc, nocc, nocc, nvir), dtype=types[float]) - x568 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x9, (4, 5, 0, 2), (1, 4, 5, 3)) - t3new += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x568, (4, 5, 1, 6), (5, 0, 4, 6, 2, 3)) * -1.0 - t3new += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x568, (4, 5, 0, 6), (1, 5, 4, 6, 2, 3)) * -1.0 - del x568 - x569 = np.zeros((naocc, nocc, nocc, nvir), dtype=types[float]) - x569 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x9, (4, 0, 5, 3), (1, 4, 5, 2)) - t3new += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x569, (4, 5, 1, 6), (5, 0, 4, 6, 2, 3)) * -1.0 - t3new += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x569, (4, 5, 0, 6), (1, 5, 4, 6, 2, 3)) * -1.0 - del x569 - x570 = np.zeros((naocc, nocc, nocc, nvir), dtype=types[float]) - x570 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x9, (4, 0, 5, 2), (1, 4, 5, 3)) - x571 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x571 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x570, (4, 5, 1, 6), (4, 3, 5, 0, 6, 2)) - t3new += einsum(x571, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) - t3new += einsum(x571, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) - del x571 - x572 = np.zeros((navir, nocc, nocc, nvir), dtype=types[float]) - x572 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), v.ovov, (4, 2, 1, 5), (3, 0, 4, 5)) - x573 = np.zeros((navir, nocc, nocc, nocc), dtype=types[float]) - x573 += einsum(t1[np.ix_(so,sv)], (0, 1), x572, (2, 3, 4, 1), (2, 0, 3, 4)) - t3new += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x573, (4, 5, 6, 0), (5, 6, 1, 3, 2, 4)) * -1.0 - del x573 - x574 = np.zeros((navir, nocc, nvir, nvir), dtype=types[float]) - x574 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x9, (4, 1, 0, 5), (3, 4, 2, 5)) - t3new += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x574, (4, 5, 6, 2), (0, 5, 1, 3, 6, 4)) * -1.0 - x575 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x575 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x574, (4, 5, 6, 3), (1, 4, 5, 0, 2, 6)) - del x574 - t3new += einsum(x575, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 0.5 - t3new += einsum(x575, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 0.5 - t3new += einsum(x575, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) - del x575 - x576 = np.zeros((navir, nocc, nvir, nvir), dtype=types[float]) - x576 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x9, (4, 0, 1, 5), (3, 4, 2, 5)) - del x9 - t3new += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x576, (4, 5, 6, 2), (5, 0, 1, 3, 6, 4)) * -1.0 - x577 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x577 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x576, (4, 5, 6, 3), (1, 4, 5, 0, 2, 6)) - del x576 - t3new += einsum(x577, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -0.5 - t3new += einsum(x577, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -0.5 - del x577 - x578 = np.zeros((navir, nocc, nocc, nvir), dtype=types[float]) - x578 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), v.ovov, (4, 5, 1, 2), (3, 0, 4, 5)) - x579 = np.zeros((navir, nocc, nocc, nocc), dtype=types[float]) - x579 += einsum(t1[np.ix_(so,sv)], (0, 1), x578, (2, 3, 4, 1), (2, 0, 3, 4)) - t3new += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x579, (4, 5, 6, 0), (6, 5, 1, 3, 2, 4)) * -1.0 - del x579 - x580 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x580 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x570, (4, 5, 0, 6), (4, 3, 5, 1, 6, 2)) - del x570 - t3new += einsum(x580, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) - t3new += einsum(x580, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) - del x580 - x581 = np.zeros((navir, nocc, nocc, nvir), dtype=types[float]) - x581 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), v.ovov, (4, 2, 0, 5), (3, 1, 4, 5)) - x582 = np.zeros((navir, nocc, nocc, nocc), dtype=types[float]) - x582 += einsum(t1[np.ix_(so,sv)], (0, 1), x581, (2, 3, 4, 1), (2, 0, 3, 4)) - t3new += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x582, (4, 5, 6, 0), (6, 5, 1, 3, 2, 4)) * -1.0 - del x582 - x583 = np.zeros((navir, nocc, nocc, nvir), dtype=types[float]) - x583 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), v.ovov, (4, 5, 0, 2), (3, 1, 4, 5)) - x584 = np.zeros((navir, nocc, nocc, nocc), dtype=types[float]) - x584 += einsum(t1[np.ix_(so,sv)], (0, 1), x583, (2, 3, 4, 1), (2, 0, 3, 4)) - t3new += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x584, (4, 5, 6, 0), (6, 5, 1, 3, 2, 4)) * 2.0 - del x584 - x585 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x585 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x157, (4, 5, 6, 7, 1, 2), (4, 5, 6, 0, 7, 3)) - x586 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x586 += einsum(t1[np.ix_(so,sv)], (0, 1), x585, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x585 - t3new += einsum(x586, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) - t3new += einsum(x586, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) - del x586 - x587 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x587 += einsum(t2[np.ix_(so,sO,sv,sV)], (0, 1, 2, 3), x87, (4, 5, 6, 0), (1, 3, 4, 5, 6, 2)) - x588 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x588 += einsum(t1[np.ix_(so,sv)], (0, 1), x587, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x587 - t3new += einsum(x588, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) - t3new += einsum(x588, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) - del x588 - x589 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x589 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x555, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) - del x555 - x590 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x590 += einsum(t1[np.ix_(so,sv)], (0, 1), x589, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x589 - t3new += einsum(x590, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -2.0 - t3new += einsum(x590, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - del x590 - x591 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x591 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x560, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) - del x560 - x592 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x592 += einsum(t1[np.ix_(so,sv)], (0, 1), x591, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x591 - t3new += einsum(x592, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) - t3new += einsum(x592, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) - del x592 - x593 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x593 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x157, (4, 5, 6, 7, 1, 3), (4, 5, 6, 0, 7, 2)) - x594 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x594 += einsum(t1[np.ix_(so,sv)], (0, 1), x593, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x593 - t3new += einsum(x594, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) - t3new += einsum(x594, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) - del x594 - x595 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x595 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x157, (4, 5, 6, 1, 7, 3), (4, 5, 6, 0, 7, 2)) - x596 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x596 += einsum(t1[np.ix_(so,sv)], (0, 1), x595, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x595 - t3new += einsum(x596, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new += einsum(x596, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - del x596 - x597 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x597 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x157, (4, 5, 6, 1, 7, 2), (4, 5, 6, 0, 7, 3)) - del x157 - x598 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x598 += einsum(t1[np.ix_(so,sv)], (0, 1), x597, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x597 - t3new += einsum(x598, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) - t3new += einsum(x598, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) - del x598 - x599 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x599 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x572, (4, 5, 6, 3), (1, 4, 0, 5, 6, 2)) - x600 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x600 += einsum(t1[np.ix_(so,sv)], (0, 1), x599, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x599 - t3new += einsum(x600, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) - t3new += einsum(x600, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) - del x600 - x601 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x601 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x578, (4, 5, 6, 3), (1, 4, 0, 5, 6, 2)) - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), x601, (2, 3, 4, 5, 0, 6), (5, 4, 2, 1, 6, 3)) * -1.0 - del x601 - x602 = np.zeros((naocc, nocc, nocc, nocc), dtype=types[float]) - x602 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), v.ovov, (4, 3, 5, 2), (1, 0, 4, 5)) - x603 = np.zeros((naocc, nocc, nocc, nvir), dtype=types[float]) - x603 += einsum(t1[np.ix_(so,sv)], (0, 1), x602, (2, 3, 4, 0), (2, 3, 4, 1)) - t3new += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x603, (4, 5, 0, 6), (1, 5, 4, 2, 6, 3)) * -1.0 - x604 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x604 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x603, (4, 5, 1, 6), (4, 3, 5, 0, 6, 2)) - del x603 - t3new += einsum(x604, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) - t3new += einsum(x604, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) - del x604 - x605 = np.zeros((naocc, nocc, nocc, nvir), dtype=types[float]) - x605 += einsum(t1[np.ix_(so,sv)], (0, 1), x602, (2, 3, 0, 4), (2, 3, 4, 1)) - del x602 - t3new += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x605, (4, 5, 1, 6), (5, 0, 4, 6, 2, 3)) * -1.0 - t3new += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x605, (4, 5, 0, 6), (1, 5, 4, 6, 2, 3)) * -1.0 - del x605 - x606 = np.zeros((naocc, nocc, nvir, nvir), dtype=types[float]) - x606 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), v.ovov, (4, 3, 0, 5), (1, 4, 2, 5)) - x607 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x607 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x606, (4, 5, 6, 2), (4, 3, 1, 0, 5, 6)) - del x606 - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), x607, (2, 3, 4, 5, 0, 6), (4, 5, 2, 1, 6, 3)) * -1.0 - del x607 - x608 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x608 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x581, (4, 5, 6, 3), (1, 4, 0, 5, 6, 2)) - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), x608, (2, 3, 4, 5, 0, 6), (5, 4, 2, 1, 6, 3)) * -1.0 - del x608 - x609 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x609 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x583, (4, 5, 6, 3), (1, 4, 0, 5, 6, 2)) - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), x609, (2, 3, 4, 5, 0, 6), (5, 4, 2, 1, 6, 3)) * 2.0 - del x609 - x610 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x610 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x578, (4, 5, 6, 2), (1, 4, 0, 5, 6, 3)) - del x578 - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), x610, (2, 3, 4, 5, 0, 6), (5, 4, 2, 6, 1, 3)) * -1.0 - del x610 - x611 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x611 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x572, (4, 5, 6, 2), (1, 4, 0, 5, 6, 3)) - del x572 - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), x611, (2, 3, 4, 5, 0, 6), (4, 5, 2, 6, 1, 3)) * -1.0 - del x611 - x612 = np.zeros((naocc, nocc, nvir, nvir), dtype=types[float]) - x612 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), v.ovov, (4, 5, 0, 2), (1, 4, 3, 5)) - x613 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x613 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x612, (4, 5, 6, 2), (4, 3, 1, 0, 5, 6)) - del x612 - x614 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x614 += einsum(t1[np.ix_(so,sv)], (0, 1), x613, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x613 - t3new += einsum(x614, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) - t3new += einsum(x614, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) - del x614 - x615 = np.zeros((naocc, nocc, nvir, nvir), dtype=types[float]) - x615 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), v.ovov, (4, 2, 0, 5), (1, 4, 3, 5)) - x616 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x616 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x615, (4, 5, 6, 2), (4, 3, 1, 0, 5, 6)) - del x615 - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), x616, (2, 3, 4, 5, 0, 6), (4, 5, 2, 6, 1, 3)) * -1.0 - del x616 - x617 = np.zeros((naocc, nocc, nvir, nvir), dtype=types[float]) - x617 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), v.ovov, (4, 5, 0, 3), (1, 4, 2, 5)) - x618 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x618 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x617, (4, 5, 6, 2), (4, 3, 1, 0, 5, 6)) - del x617 - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), x618, (2, 3, 4, 5, 0, 6), (4, 5, 2, 6, 1, 3)) * -1.0 - del x618 - x619 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x619 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x581, (4, 5, 6, 2), (1, 4, 0, 5, 6, 3)) - del x581 - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), x619, (2, 3, 4, 5, 0, 6), (5, 4, 2, 6, 1, 3)) * -1.0 - del x619 - x620 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x620 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x583, (4, 5, 6, 2), (1, 4, 0, 5, 6, 3)) - del x583 - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), x620, (2, 3, 4, 5, 0, 6), (5, 4, 2, 6, 1, 3)) * 2.0 - del x620 - x621 = np.zeros((naocc, navir, nocc, nocc), dtype=types[float]) - x621 += einsum(x0, (0, 1), t2[np.ix_(so,sO,sv,sV)], (2, 3, 1, 4), (3, 4, 2, 0)) - x622 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x622 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x621, (4, 5, 6, 1), (4, 5, 6, 0, 2, 3)) - del x621 - t3new += einsum(x622, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -2.0 - t3new += einsum(x622, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - del x622 - x623 = np.zeros((naocc, navir, nocc, nocc), dtype=types[float]) - x623 += einsum(x15, (0, 1), t2[np.ix_(so,sO,sv,sV)], (2, 3, 1, 4), (3, 4, 2, 0)) - x624 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x624 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x623, (4, 5, 6, 1), (4, 5, 6, 0, 2, 3)) - del x623 - t3new += einsum(x624, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) - t3new += einsum(x624, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) - del x624 - x625 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x625 += einsum(t2[np.ix_(so,sO,sv,sV)], (0, 1, 2, 3), x104, (4, 5, 0, 6), (1, 3, 4, 5, 2, 6)) - del x104 - t3new += einsum(x625, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new += einsum(x625, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -2.0 - del x625 - x626 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x626 += einsum(t2[np.ix_(so,sO,sv,sV)], (0, 1, 2, 3), x106, (4, 5, 0, 6), (1, 3, 4, 5, 2, 6)) - del x106 - t3new += einsum(x626, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) - t3new += einsum(x626, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) - del x626 - x627 = np.zeros((naocc, nocc, nocc, nvir), dtype=types[float]) - x627 += einsum(x0, (0, 1), t2[np.ix_(so,sO,sv,sv)], (2, 3, 4, 1), (3, 2, 0, 4)) - t3new += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x627, (4, 5, 0, 6), (1, 5, 4, 2, 6, 3)) * 2.0 - x628 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x628 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x627, (4, 5, 1, 6), (4, 3, 5, 0, 6, 2)) - del x627 - t3new += einsum(x628, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - t3new += einsum(x628, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - del x628 - x629 = np.zeros((naocc, nocc, nocc, nvir), dtype=types[float]) - x629 += einsum(x15, (0, 1), t2[np.ix_(so,sO,sv,sv)], (2, 3, 4, 1), (3, 2, 0, 4)) - t3new += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x629, (4, 5, 0, 6), (1, 5, 4, 2, 6, 3)) * -1.0 - x630 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x630 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x629, (4, 5, 1, 6), (4, 3, 5, 0, 6, 2)) - del x629 - t3new += einsum(x630, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) - t3new += einsum(x630, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) - del x630 - x631 = np.zeros((naocc, nocc, nocc, nvir), dtype=types[float]) - x631 += einsum(x0, (0, 1), t2[np.ix_(so,sO,sv,sv)], (2, 3, 1, 4), (3, 2, 0, 4)) - t3new += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x631, (4, 5, 1, 6), (5, 0, 4, 6, 2, 3)) * 2.0 - t3new += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x631, (4, 5, 0, 6), (1, 5, 4, 6, 2, 3)) * 2.0 - del x631 - x632 = np.zeros((naocc, nocc, nocc, nvir), dtype=types[float]) - x632 += einsum(x15, (0, 1), t2[np.ix_(so,sO,sv,sv)], (2, 3, 1, 4), (3, 2, 0, 4)) - t3new += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x632, (4, 5, 1, 6), (5, 0, 4, 6, 2, 3)) * -1.0 - t3new += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x632, (4, 5, 0, 6), (1, 5, 4, 6, 2, 3)) * -1.0 - del x632 - x633 = np.zeros((navir, nocc, nocc, nocc), dtype=types[float]) - x633 += einsum(x0, (0, 1), t2[np.ix_(so,so,sv,sV)], (2, 3, 1, 4), (4, 3, 2, 0)) - t3new += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x633, (4, 5, 6, 0), (5, 6, 1, 3, 2, 4)) * 2.0 - del x633 - x634 = np.zeros((navir, nocc, nocc, nocc), dtype=types[float]) - x634 += einsum(x15, (0, 1), t2[np.ix_(so,so,sv,sV)], (2, 3, 1, 4), (4, 3, 2, 0)) - t3new += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x634, (4, 5, 6, 0), (5, 6, 1, 3, 2, 4)) * -1.0 - del x634 - x635 = np.zeros((navir, nocc, nvir, nvir), dtype=types[float]) - x635 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x168, (4, 1, 5, 3), (4, 0, 2, 5)) - t3new += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x635, (4, 5, 6, 2), (0, 5, 1, 3, 6, 4)) * -1.0 - x636 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x636 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x635, (4, 5, 6, 3), (1, 4, 0, 5, 2, 6)) - del x635 - t3new += einsum(x636, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) - t3new += einsum(x636, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) - del x636 - x637 = np.zeros((naocc, navir, nocc, nocc), dtype=types[float]) - x637 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x168, (4, 5, 2, 3), (1, 4, 0, 5)) - x638 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x638 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x637, (4, 5, 6, 1), (4, 5, 6, 0, 2, 3)) - del x637 - t3new += einsum(x638, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) - t3new += einsum(x638, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) - del x638 - x639 = np.zeros((navir, nocc, nvir, nvir), dtype=types[float]) - x639 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x168, (4, 1, 5, 2), (4, 0, 3, 5)) - t3new += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x639, (4, 5, 6, 3), (5, 0, 1, 6, 2, 4)) * -1.0 - t3new += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x639, (4, 5, 6, 2), (5, 0, 1, 3, 6, 4)) * -1.0 - del x639 - x640 = np.zeros((navir, nocc, nvir, nvir), dtype=types[float]) - x640 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x168, (4, 1, 3, 5), (4, 0, 2, 5)) - t3new += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x640, (4, 5, 6, 2), (0, 5, 1, 3, 6, 4)) * 2.0 - x641 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x641 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x640, (4, 5, 6, 3), (1, 4, 0, 5, 2, 6)) - del x640 - t3new += einsum(x641, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - t3new += einsum(x641, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - del x641 - x642 = np.zeros((navir, nocc, nvir, nvir), dtype=types[float]) - x642 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x168, (4, 1, 2, 5), (4, 0, 3, 5)) - t3new += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x642, (4, 5, 6, 2), (0, 5, 1, 3, 6, 4)) * -1.0 - x643 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x643 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x642, (4, 5, 6, 3), (1, 4, 0, 5, 2, 6)) - del x642 - t3new += einsum(x643, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) - t3new += einsum(x643, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) - del x643 - x644 = np.zeros((naocc, navir, nvir, nvir), dtype=types[float]) - x644 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x168, (4, 0, 3, 5), (1, 4, 2, 5)) - t3new += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x644, (4, 5, 6, 2), (0, 1, 4, 6, 3, 5)) * -1.0 - del x644 - x645 = np.zeros((navir, nocc, nocc, nocc), dtype=types[float]) - x645 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x168, (4, 5, 2, 3), (4, 0, 1, 5)) - t3new += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x645, (4, 5, 6, 0), (6, 5, 1, 3, 2, 4)) * -1.0 - del x645 - x646 = np.zeros((naocc, navir, nvir, nvir), dtype=types[float]) - x646 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x168, (4, 0, 2, 5), (1, 4, 3, 5)) - t3new += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x646, (4, 5, 6, 2), (0, 1, 4, 6, 3, 5)) * 2.0 - del x646 - x647 = np.zeros((naocc, navir, nvir, nvir), dtype=types[float]) - x647 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x168, (4, 0, 5, 3), (1, 4, 2, 5)) - x648 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x648 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x647, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) - del x647 - t3new += einsum(x648, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) - t3new += einsum(x648, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) - del x648 - x649 = np.zeros((naocc, navir, nvir, nvir), dtype=types[float]) - x649 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x168, (4, 0, 5, 2), (1, 4, 3, 5)) - t3new += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x649, (4, 5, 6, 2), (0, 1, 4, 6, 3, 5)) * -1.0 - del x649 - x650 = np.zeros((naocc, navir, nocc, nocc), dtype=types[float]) - x650 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x168, (4, 5, 3, 2), (1, 4, 0, 5)) - t3new += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x650, (4, 5, 6, 1), (6, 0, 4, 3, 2, 5)) * -1.0 - del x650 - x651 = np.zeros((naocc, nocc, nocc, nvir), dtype=types[float]) - x651 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x179, (4, 5, 1, 3), (4, 0, 5, 2)) - t3new += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x651, (4, 5, 0, 6), (1, 5, 4, 2, 6, 3)) * -1.0 - x652 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x652 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x651, (4, 5, 1, 6), (4, 3, 0, 5, 2, 6)) - del x651 - t3new += einsum(x652, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) - t3new += einsum(x652, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) - del x652 - x653 = np.zeros((naocc, nocc, nocc, nvir), dtype=types[float]) - x653 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x179, (4, 5, 1, 2), (4, 0, 5, 3)) - t3new += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x653, (4, 5, 1, 6), (5, 0, 4, 6, 2, 3)) * -1.0 - t3new += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x653, (4, 5, 0, 6), (1, 5, 4, 6, 2, 3)) * -1.0 - del x653 - x654 = np.zeros((naocc, nocc, nocc, nvir), dtype=types[float]) - x654 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x179, (4, 1, 5, 3), (4, 0, 5, 2)) - t3new += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x654, (4, 5, 0, 6), (1, 5, 4, 2, 6, 3)) * 2.0 - x655 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x655 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x654, (4, 5, 1, 6), (4, 3, 0, 5, 2, 6)) - del x654 - t3new += einsum(x655, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - t3new += einsum(x655, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - del x655 - x656 = np.zeros((naocc, navir, nocc, nocc), dtype=types[float]) - x656 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x179, (4, 5, 1, 2), (4, 3, 0, 5)) - x657 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x657 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x656, (4, 5, 6, 1), (4, 5, 6, 0, 2, 3)) - del x656 - t3new += einsum(x657, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) - t3new += einsum(x657, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) - del x657 - x658 = np.zeros((naocc, nocc, nocc, nvir), dtype=types[float]) - x658 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x179, (4, 1, 5, 2), (4, 0, 5, 3)) - t3new += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x658, (4, 5, 0, 6), (1, 5, 4, 2, 6, 3)) * -1.0 - x659 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x659 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x658, (4, 5, 1, 6), (4, 3, 0, 5, 2, 6)) - del x658 - t3new += einsum(x659, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) - t3new += einsum(x659, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) - del x659 - x660 = np.zeros((naocc, navir, nvir, nvir), dtype=types[float]) - x660 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x179, (4, 1, 0, 5), (4, 3, 2, 5)) - x661 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x661 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x660, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) - del x660 - t3new += einsum(x661, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -0.5 - t3new += einsum(x661, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -0.5 - del x661 - x662 = np.zeros((naocc, navir, nvir, nvir), dtype=types[float]) - x662 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x179, (4, 0, 1, 5), (4, 3, 2, 5)) - x663 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x663 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x662, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) - del x662 - t3new += einsum(x663, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 0.5 - t3new += einsum(x663, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) - t3new += einsum(x663, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 0.5 - del x663 - x664 = np.zeros((naocc, navir, nocc, nocc), dtype=types[float]) - x664 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x179, (4, 1, 5, 2), (4, 3, 0, 5)) - t3new += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x664, (4, 5, 6, 1), (6, 0, 4, 3, 2, 5)) * -1.0 - del x664 - x665 = np.zeros((naocc, navir, nocc, nocc), dtype=types[float]) - x665 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x179, (4, 0, 5, 2), (4, 3, 1, 5)) - t3new += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x665, (4, 5, 6, 1), (6, 0, 4, 3, 2, 5)) * 2.0 - del x665 - x666 = np.zeros((naocc, navir, nocc, nocc), dtype=types[float]) - x666 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x179, (4, 5, 0, 2), (4, 3, 1, 5)) - t3new += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x666, (4, 5, 6, 1), (6, 0, 4, 3, 2, 5)) * -1.0 - del x666 - x667 = np.zeros((naocc, nvir, nvir, nvir), dtype=types[float]) - x667 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x179, (4, 1, 0, 5), (4, 3, 2, 5)) - t3new += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x667, (4, 5, 6, 2), (1, 0, 4, 6, 5, 3)) * -1.0 - del x667 - x668 = np.zeros((naocc, navir, nocc, nvir), dtype=types[float]) - x668 += einsum(t2[np.ix_(so,sO,sV,sv)], (0, 1, 2, 3), v.ovov, (4, 5, 0, 3), (1, 2, 4, 5)) - x669 = np.zeros((naocc, navir, nocc, nocc), dtype=types[float]) - x669 += einsum(t1[np.ix_(so,sv)], (0, 1), x668, (2, 3, 4, 1), (2, 3, 0, 4)) - x670 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x670 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x669, (4, 5, 6, 1), (4, 5, 6, 0, 2, 3)) - del x669 - t3new += einsum(x670, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) - t3new += einsum(x670, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) - del x670 - x671 = np.zeros((naocc, navir, nocc, nvir), dtype=types[float]) - x671 += einsum(t2[np.ix_(so,sO,sV,sv)], (0, 1, 2, 3), v.ovov, (4, 3, 0, 5), (1, 2, 4, 5)) - x672 = np.zeros((naocc, navir, nocc, nocc), dtype=types[float]) - x672 += einsum(t1[np.ix_(so,sv)], (0, 1), x671, (2, 3, 4, 1), (2, 3, 0, 4)) - t3new += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x672, (4, 5, 6, 1), (6, 0, 4, 3, 2, 5)) * -1.0 - del x672 - x673 = np.zeros((naocc, navir, nocc, nocc, nocc, nocc), dtype=types[float]) - x673 += einsum(t1[np.ix_(so,sv)], (0, 1), x187, (2, 3, 4, 5, 6, 1), (2, 3, 0, 4, 5, 6)) - t3new += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x673, (4, 5, 6, 7, 0, 1), (7, 6, 4, 3, 2, 5)) * -1.0 - x674 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x674 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x668, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) - del x668 - x675 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x675 += einsum(t1[np.ix_(so,sv)], (0, 1), x674, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x674 - t3new += einsum(x675, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) - t3new += einsum(x675, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) - del x675 - x676 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x676 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x671, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) - del x671 - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), x676, (2, 3, 4, 5, 0, 6), (5, 4, 2, 1, 6, 3)) * -1.0 - del x676 - x677 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x677 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x187, (4, 5, 6, 7, 1, 3), (4, 5, 6, 0, 7, 2)) - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), x677, (2, 3, 4, 5, 0, 6), (4, 5, 2, 1, 6, 3)) * -1.0 - del x677 - x678 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x678 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x187, (4, 5, 6, 1, 7, 3), (4, 5, 6, 0, 7, 2)) - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), x678, (2, 3, 4, 5, 0, 6), (4, 5, 2, 1, 6, 3)) * 2.0 - del x678 - x679 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x679 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x187, (4, 5, 6, 1, 7, 2), (4, 5, 6, 0, 7, 3)) - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), x679, (2, 3, 4, 5, 0, 6), (4, 5, 2, 1, 6, 3)) * -1.0 - del x679 - x680 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x680 += einsum(t2[np.ix_(so,sO,sV,sv)], (0, 1, 2, 3), x87, (4, 5, 6, 0), (1, 2, 4, 5, 6, 3)) - del x87 - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), x680, (2, 3, 4, 5, 0, 6), (5, 4, 2, 6, 1, 3)) * -1.0 - del x680 - x681 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x681 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x187, (4, 5, 6, 7, 1, 2), (4, 5, 6, 0, 7, 3)) - del x187 - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), x681, (2, 3, 4, 5, 0, 6), (4, 5, 2, 6, 1, 3)) * -1.0 - del x681 - x682 = np.zeros((naocc, navir, nocc, nocc), dtype=types[float]) - x682 += einsum(x0, (0, 1), t2[np.ix_(so,sO,sV,sv)], (2, 3, 4, 1), (3, 4, 2, 0)) - del x0 - t3new += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x682, (4, 5, 6, 1), (6, 0, 4, 3, 2, 5)) * 2.0 - del x682 - x683 = np.zeros((naocc, navir, nocc, nocc), dtype=types[float]) - x683 += einsum(x15, (0, 1), t2[np.ix_(so,sO,sV,sv)], (2, 3, 4, 1), (3, 4, 2, 0)) - del x15 - t3new += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x683, (4, 5, 6, 1), (6, 0, 4, 3, 2, 5)) * -1.0 - del x683 - x684 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x684 += einsum(t2[np.ix_(so,sO,sv,sV)], (0, 1, 2, 3), x92, (4, 5, 0, 6), (1, 3, 5, 4, 6, 2)) - x685 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x685 += einsum(t1[np.ix_(so,sv)], (0, 1), x684, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x684 - t3new += einsum(x685, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) - t3new += einsum(x685, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) - del x685 - x686 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x686 += einsum(t1[np.ix_(so,sv)], (0, 1), x564, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 6, 1)) - del x564 - x687 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x687 += einsum(t1[np.ix_(so,sv)], (0, 1), x686, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x686 - t3new += einsum(x687, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) - t3new += einsum(x687, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) - del x687 - x688 = np.zeros((navir, nocc, nocc, nvir), dtype=types[float]) - x688 += einsum(t1[np.ix_(so,sv)], (0, 1), x168, (2, 3, 1, 4), (2, 0, 3, 4)) - x689 = np.zeros((navir, nocc, nocc, nocc), dtype=types[float]) - x689 += einsum(t1[np.ix_(so,sv)], (0, 1), x688, (2, 3, 4, 1), (2, 3, 0, 4)) - t3new += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x689, (4, 5, 6, 0), (6, 5, 1, 3, 2, 4)) * -1.0 - del x689 - x690 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x690 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x688, (4, 5, 6, 3), (1, 4, 5, 0, 6, 2)) - x691 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x691 += einsum(t1[np.ix_(so,sv)], (0, 1), x690, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x690 - t3new += einsum(x691, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) - t3new += einsum(x691, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) - del x691 - x692 = np.zeros((navir, nocc, nocc, nvir), dtype=types[float]) - x692 += einsum(t1[np.ix_(so,sv)], (0, 1), x168, (2, 3, 4, 1), (2, 0, 3, 4)) - del x168 - x693 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x693 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x692, (4, 5, 6, 3), (1, 4, 5, 0, 6, 2)) - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), x693, (2, 3, 4, 5, 0, 6), (4, 5, 2, 1, 6, 3)) * -1.0 - del x693 - x694 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x694 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x692, (4, 5, 6, 2), (1, 4, 5, 0, 6, 3)) - del x692 - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), x694, (2, 3, 4, 5, 0, 6), (4, 5, 2, 6, 1, 3)) * -1.0 - del x694 - x695 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x695 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), x688, (4, 5, 6, 2), (1, 4, 5, 0, 6, 3)) - del x688 - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), x695, (2, 3, 4, 5, 0, 6), (5, 4, 2, 6, 1, 3)) * -1.0 - del x695 - x696 = np.zeros((naocc, nocc, nocc, nocc), dtype=types[float]) - x696 += einsum(t1[np.ix_(so,sv)], (0, 1), x179, (2, 3, 4, 1), (2, 0, 4, 3)) - x697 = np.zeros((naocc, nocc, nocc, nvir), dtype=types[float]) - x697 += einsum(t1[np.ix_(so,sv)], (0, 1), x696, (2, 3, 4, 0), (2, 3, 4, 1)) - t3new += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x697, (4, 5, 0, 6), (1, 5, 4, 2, 6, 3)) * -1.0 - x698 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x698 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x697, (4, 5, 1, 6), (4, 3, 5, 0, 6, 2)) - del x697 - t3new += einsum(x698, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) - t3new += einsum(x698, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) - del x698 - x699 = np.zeros((naocc, nocc, nocc, nvir), dtype=types[float]) - x699 += einsum(t1[np.ix_(so,sv)], (0, 1), x696, (2, 3, 0, 4), (2, 3, 4, 1)) - del x696 - t3new += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x699, (4, 5, 1, 6), (5, 0, 4, 6, 2, 3)) * -1.0 - t3new += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x699, (4, 5, 0, 6), (1, 5, 4, 6, 2, 3)) * -1.0 - del x699 - x700 = np.zeros((naocc, navir, nocc, nocc, nocc, nocc), dtype=types[float]) - x700 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), x179, (4, 5, 6, 2), (4, 3, 1, 0, 6, 5)) - del x179 - x701 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x701 += einsum(t1[np.ix_(so,sv)], (0, 1), x700, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 6, 1)) - del x700 - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), x701, (2, 3, 4, 5, 0, 6), (4, 5, 2, 1, 6, 3)) * -1.0 - del x701 - x702 = np.zeros((naocc, navir, nocc, nvir), dtype=types[float]) - x702 += einsum(t1[np.ix_(so,sV)], (0, 1), t1[np.ix_(sO,sv)], (2, 3), v.ovov, (4, 3, 0, 5), (2, 1, 4, 5)) - x703 = np.zeros((naocc, navir, nocc, nocc), dtype=types[float]) - x703 += einsum(t1[np.ix_(so,sv)], (0, 1), x702, (2, 3, 4, 1), (2, 3, 0, 4)) - t3new += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x703, (4, 5, 6, 1), (6, 0, 4, 3, 2, 5)) * -1.0 - del x703 - x704 = np.zeros((naocc, navir, nocc, nvir), dtype=types[float]) - x704 += einsum(t1[np.ix_(so,sV)], (0, 1), t1[np.ix_(sO,sv)], (2, 3), v.ovov, (4, 5, 0, 3), (2, 1, 4, 5)) - x705 = np.zeros((naocc, navir, nocc, nocc), dtype=types[float]) - x705 += einsum(t1[np.ix_(so,sv)], (0, 1), x704, (2, 3, 4, 1), (2, 3, 0, 4)) - x706 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x706 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x705, (4, 5, 6, 1), (4, 5, 6, 0, 2, 3)) - del x705 - t3new += einsum(x706, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) - t3new += einsum(x706, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) - del x706 - x707 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x707 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x702, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) - del x702 - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), x707, (2, 3, 4, 5, 0, 6), (5, 4, 2, 1, 6, 3)) * -1.0 - del x707 - x708 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x708 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x704, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) - del x704 - x709 = np.zeros((naocc, navir, nocc, nocc, nvir, nvir), dtype=types[float]) - x709 += einsum(t1[np.ix_(so,sv)], (0, 1), x708, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x708 - t3new += einsum(x709, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) - t3new += einsum(x709, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) - del x709 - x710 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x710 += einsum(t2[np.ix_(so,sO,sV,sv)], (0, 1, 2, 3), x92, (4, 5, 0, 6), (1, 2, 5, 4, 6, 3)) - del x92 - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), x710, (2, 3, 4, 5, 0, 6), (5, 4, 2, 6, 1, 3)) * -1.0 - del x710 - x711 = np.zeros((naocc, navir, nocc, nocc, nocc, nvir), dtype=types[float]) - x711 += einsum(t1[np.ix_(so,sv)], (0, 1), x673, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 6, 1)) - del x673 - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), x711, (2, 3, 4, 5, 0, 6), (5, 4, 2, 6, 1, 3)) * -1.0 - del x711 - - return {"t1new": t1new, "t2new": t2new, "t3new": t3new} - diff --git a/ebcc/codegen/RCCSDtp.py b/ebcc/codegen/RCCSDtp.py deleted file mode 100644 index 037133b6..00000000 --- a/ebcc/codegen/RCCSDtp.py +++ /dev/null @@ -1,987 +0,0 @@ -# Code generated for ebcc. - -from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, Namespace -from ebcc.precision import types - -def energy(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, t3=None, **kwargs): - # energy - x0 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x0 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x0 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 - e_cc = 0 - e_cc += einsum(t2, (0, 1, 2, 3), x0, (0, 1, 3, 2), ()) * 2.0 - x1 = np.zeros((nocc, nvir), dtype=types[float]) - x1 += einsum(f.ov, (0, 1), (0, 1)) - x1 += einsum(t1, (0, 1), x0, (0, 2, 3, 1), (2, 3)) - del x0 - e_cc += einsum(t1, (0, 1), x1, (0, 1), ()) * 2.0 - del x1 - - return e_cc - -def update_amps(f=None, v=None, space=None, t1=None, t2=None, t3=None, **kwargs): - nocc = space.ncocc - nvir = space.ncvir - naocc = space.naocc - navir = space.navir - so = np.ones((nocc,), dtype=bool) - sv = np.ones((nvir,), dtype=bool) - sO = space.active[space.correlated][space.occupied[space.correlated]] - sV = space.active[space.correlated][space.virtual[space.correlated]] - - # T amplitudes - t1new = np.zeros(((nocc, nvir)), dtype=types[float]) - t1new[np.ix_(so,sv)] += einsum(f.ov, (0, 1), (0, 1)) - t1new[np.ix_(so,sv)] += einsum(f.oo, (0, 1), t1[np.ix_(so,sv)], (1, 2), (0, 2)) * -1.0 - t1new[np.ix_(so,sv)] += einsum(f.vv, (0, 1), t1[np.ix_(so,sv)], (2, 1), (2, 0)) - t1new[np.ix_(so,sv)] += einsum(f.ov, (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 0, 3, 1), (2, 3)) * 2.0 - t1new[np.ix_(so,sv)] += einsum(f.ov, (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 0, 1, 3), (2, 3)) * -1.0 - t1new[np.ix_(so,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), v.oovv, (2, 0, 3, 1), (2, 3)) * -1.0 - t1new[np.ix_(so,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), v.ovov, (2, 3, 0, 1), (2, 3)) * 2.0 - t1new[np.ix_(so,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.ooov, (4, 0, 1, 3), (4, 2)) * -1.5 - t1new[np.ix_(so,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.ooov, (4, 0, 1, 2), (4, 3)) * 0.5 - t1new[np.ix_(so,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.ooov, (4, 1, 0, 3), (4, 2)) * 0.5 - t1new[np.ix_(so,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.ooov, (4, 1, 0, 2), (4, 3)) * -0.5 - t1new[np.ix_(so,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.ovvv, (1, 3, 4, 2), (0, 4)) - t1new[np.ix_(so,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.ovvv, (1, 3, 4, 2), (0, 4)) - t1new[np.ix_(so,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.ovvv, (1, 2, 4, 3), (0, 4)) * -1.0 - t1new[np.ix_(sO,sV)] += einsum(v.OVOV, (0, 1, 2, 3), t3, (4, 0, 2, 5, 1, 3), (4, 5)) * 0.5 - t1new[np.ix_(sO,sV)] += einsum(v.OVOV, (0, 1, 2, 3), t3, (4, 0, 2, 5, 3, 1), (4, 5)) * -0.5 - t1new[np.ix_(sO,sV)] += einsum(v.OVOV, (0, 1, 2, 3), t3, (4, 0, 2, 1, 5, 3), (4, 5)) * -0.25 - t1new[np.ix_(sO,sV)] += einsum(v.OVOV, (0, 1, 2, 3), t3, (4, 0, 2, 3, 5, 1), (4, 5)) * 0.25 - t1new[np.ix_(sO,sV)] += einsum(v.OVOV, (0, 1, 2, 3), t3, (4, 2, 0, 5, 3, 1), (4, 5)) - t1new[np.ix_(sO,sV)] += einsum(v.OVOV, (0, 1, 2, 3), t3, (0, 4, 2, 1, 5, 3), (4, 5)) * 0.25 - t1new[np.ix_(sO,sV)] += einsum(v.OVOV, (0, 1, 2, 3), t3, (0, 4, 2, 3, 5, 1), (4, 5)) * -0.25 - t1new[np.ix_(so,sv)] += einsum(f.ov, (0, 1), t1[np.ix_(so,sv)], (2, 1), t1[np.ix_(so,sv)], (0, 3), (2, 3)) * -1.0 - t1new[np.ix_(so,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), v.ooov, (4, 0, 2, 1), (4, 3)) - t1new[np.ix_(so,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), v.ooov, (4, 2, 0, 1), (4, 3)) * -2.0 - t1new[np.ix_(so,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), v.ovvv, (2, 1, 4, 3), (0, 4)) * -1.0 - t1new[np.ix_(so,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), v.ovvv, (2, 3, 4, 1), (0, 4)) * 2.0 - t1new[np.ix_(so,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ovov, (2, 1, 3, 5), (0, 4)) * -1.5 - t1new[np.ix_(so,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ovov, (2, 1, 3, 4), (0, 5)) * 0.5 - t1new[np.ix_(so,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ovov, (2, 5, 3, 1), (0, 4)) * 0.5 - t1new[np.ix_(so,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ovov, (2, 4, 3, 1), (0, 5)) * -0.5 - t1new[np.ix_(so,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ovov, (0, 4, 3, 5), (2, 1)) * -1.0 - t1new[np.ix_(so,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ovov, (0, 5, 3, 4), (2, 1)) - t1new[np.ix_(so,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ovov, (0, 4, 3, 5), (2, 1)) * -1.0 - t1new[np.ix_(so,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ovov, (0, 1, 3, 5), (2, 4)) * 4.0 - t1new[np.ix_(so,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ovov, (0, 1, 3, 4), (2, 5)) * -2.0 - t1new[np.ix_(so,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ovov, (0, 5, 3, 1), (2, 4)) * -2.0 - t1new[np.ix_(so,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ovov, (0, 4, 3, 1), (2, 5)) - t1new[np.ix_(so,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), t1[np.ix_(so,sv)], (4, 5), v.ovov, (2, 1, 4, 3), (0, 5)) - t1new[np.ix_(so,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), t1[np.ix_(so,sv)], (4, 5), v.ovov, (2, 3, 4, 1), (0, 5)) * -2.0 - t2new = np.zeros(((nocc, nocc, nvir, nvir)), dtype=types[float]) - t2new[np.ix_(so,so,sv,sv)] += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - t2new[np.ix_(so,so,sv,sv)] += einsum(f.oo, (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 1, 3, 4), (0, 2, 4, 3)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(f.oo, (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 1, 3, 4), (2, 0, 3, 4)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(f.vv, (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 1, 4), (2, 3, 0, 4)) - t2new[np.ix_(so,so,sv,sv)] += einsum(f.vv, (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 1), (2, 3, 4, 0)) - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), v.ooov, (2, 0, 3, 4), (2, 3, 1, 4)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), v.ooov, (2, 0, 3, 4), (3, 2, 4, 1)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), v.ovvv, (2, 3, 4, 1), (0, 2, 4, 3)) - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), v.ovvv, (2, 3, 4, 1), (2, 0, 3, 4)) - t2new[np.ix_(sO,sO,sV,sV)] += einsum(f.OV, (0, 1), t3, (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) - t2new[np.ix_(sO,sO,sV,sV)] += einsum(f.OV, (0, 1), t3, (2, 3, 0, 4, 5, 1), (3, 2, 5, 4)) - t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.oooo, (4, 0, 5, 1), (4, 5, 2, 3)) - t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.oovv, (4, 1, 5, 3), (0, 4, 2, 5)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.oovv, (4, 1, 5, 2), (0, 4, 5, 3)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.oovv, (4, 1, 5, 3), (4, 0, 5, 2)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.oovv, (4, 1, 5, 2), (4, 0, 3, 5)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.ovov, (4, 5, 1, 3), (0, 4, 2, 5)) * 2.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.ovov, (4, 5, 1, 2), (0, 4, 3, 5)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.ovov, (4, 5, 1, 3), (4, 0, 5, 2)) * 2.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.ovov, (4, 5, 1, 2), (4, 0, 5, 3)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.vvvv, (4, 2, 5, 3), (0, 1, 4, 5)) - t2new[np.ix_(so,sO,sV,sV)] += einsum(v.oOOV, (0, 1, 2, 3), t3, (4, 1, 2, 5, 6, 3), (0, 4, 6, 5)) * -1.0 - t2new[np.ix_(so,sO,sV,sV)] += einsum(v.oOOV, (0, 1, 2, 3), t3, (1, 4, 2, 5, 6, 3), (0, 4, 5, 6)) * -0.5 - t2new[np.ix_(so,sO,sV,sV)] += einsum(v.oOOV, (0, 1, 2, 3), t3, (1, 4, 2, 3, 5, 6), (0, 4, 6, 5)) * 0.5 - t2new[np.ix_(sO,so,sV,sV)] += einsum(v.oOOV, (0, 1, 2, 3), t3, (1, 4, 2, 5, 6, 3), (4, 0, 6, 5)) * -0.5 - t2new[np.ix_(sO,so,sV,sV)] += einsum(v.oOOV, (0, 1, 2, 3), t3, (1, 4, 2, 3, 5, 6), (4, 0, 5, 6)) * 0.5 - t2new[np.ix_(sO,so,sV,sV)] += einsum(v.oOOV, (0, 1, 2, 3), t3, (4, 1, 2, 5, 6, 3), (4, 0, 5, 6)) * -1.0 - t2new[np.ix_(sO,sO,sv,sV)] += einsum(v.OVvV, (0, 1, 2, 3), t3, (4, 5, 0, 1, 6, 3), (4, 5, 2, 6)) * -0.5 - t2new[np.ix_(sO,sO,sv,sV)] += einsum(v.OVvV, (0, 1, 2, 3), t3, (4, 5, 0, 3, 6, 1), (4, 5, 2, 6)) * 0.5 - t2new[np.ix_(sO,sO,sV,sv)] += einsum(v.OVvV, (0, 1, 2, 3), t3, (4, 5, 0, 6, 3, 1), (4, 5, 6, 2)) - t2new[np.ix_(sO,sO,sV,sv)] += einsum(v.OVvV, (0, 1, 2, 3), t3, (4, 5, 0, 1, 6, 3), (5, 4, 6, 2)) * -0.5 - t2new[np.ix_(sO,sO,sV,sv)] += einsum(v.OVvV, (0, 1, 2, 3), t3, (4, 5, 0, 3, 6, 1), (5, 4, 6, 2)) * 0.5 - t2new[np.ix_(sO,sO,sv,sV)] += einsum(v.OVvV, (0, 1, 2, 3), t3, (4, 5, 0, 6, 3, 1), (5, 4, 2, 6)) - t2new[np.ix_(so,so,sv,sv)] += einsum(f.ov, (0, 1), t1[np.ix_(so,sv)], (2, 1), t2[np.ix_(so,so,sv,sv)], (3, 0, 4, 5), (2, 3, 5, 4)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(f.ov, (0, 1), t1[np.ix_(so,sv)], (2, 1), t2[np.ix_(so,so,sv,sv)], (3, 0, 4, 5), (3, 2, 4, 5)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(f.ov, (0, 1), t1[np.ix_(so,sv)], (0, 2), t2[np.ix_(so,so,sv,sv)], (3, 4, 1, 5), (3, 4, 2, 5)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(f.ov, (0, 1), t1[np.ix_(so,sv)], (0, 2), t2[np.ix_(so,so,sv,sv)], (3, 4, 5, 1), (3, 4, 5, 2)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), v.oovv, (4, 2, 5, 1), (0, 4, 5, 3)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), v.oovv, (4, 2, 5, 1), (4, 0, 3, 5)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), v.oooo, (4, 0, 5, 2), (4, 5, 1, 3)) - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), v.ovov, (4, 5, 2, 1), (0, 4, 3, 5)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), v.ovov, (4, 5, 2, 1), (4, 0, 5, 3)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), v.vvvv, (4, 1, 5, 3), (0, 2, 4, 5)) - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ooov, (6, 3, 2, 1), (0, 6, 4, 5)) - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ooov, (6, 2, 3, 1), (6, 0, 4, 5)) - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ooov, (6, 3, 0, 4), (2, 6, 1, 5)) - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ooov, (6, 0, 3, 5), (6, 2, 1, 4)) * -2.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ooov, (6, 0, 3, 4), (6, 2, 1, 5)) - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ooov, (6, 3, 0, 5), (6, 2, 1, 4)) - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ooov, (6, 0, 3, 5), (2, 6, 4, 1)) * -2.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ooov, (6, 0, 3, 4), (2, 6, 5, 1)) - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ooov, (6, 3, 0, 5), (2, 6, 4, 1)) - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ooov, (6, 3, 0, 4), (6, 2, 5, 1)) - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ooov, (6, 0, 3, 1), (2, 6, 4, 5)) - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ooov, (6, 3, 0, 1), (2, 6, 4, 5)) * -2.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ooov, (6, 0, 3, 1), (6, 2, 5, 4)) - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ooov, (6, 3, 0, 1), (6, 2, 5, 4)) * -2.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ovvv, (3, 1, 6, 5), (0, 2, 6, 4)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ovvv, (3, 1, 6, 4), (0, 2, 5, 6)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ovvv, (3, 5, 6, 1), (0, 2, 6, 4)) * 2.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ovvv, (3, 4, 6, 1), (0, 2, 6, 5)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ovvv, (3, 1, 6, 5), (2, 0, 4, 6)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ovvv, (3, 1, 6, 4), (2, 0, 6, 5)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ovvv, (3, 5, 6, 1), (2, 0, 4, 6)) * 2.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ovvv, (3, 4, 6, 1), (2, 0, 5, 6)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ovvv, (0, 4, 6, 5), (2, 3, 1, 6)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ovvv, (0, 5, 6, 4), (2, 3, 6, 1)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ovvv, (0, 1, 6, 5), (2, 3, 4, 6)) * 2.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ovvv, (0, 1, 6, 4), (2, 3, 6, 5)) * 2.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ovvv, (0, 5, 6, 1), (2, 3, 4, 6)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ovvv, (0, 4, 6, 1), (2, 3, 6, 5)) * -1.0 - t2new[np.ix_(so,sO,sV,sV)] += einsum(t1[np.ix_(so,sv)], (0, 1), v.OvOV, (2, 1, 3, 4), t3, (5, 2, 3, 6, 7, 4), (0, 5, 7, 6)) * -1.0 - t2new[np.ix_(so,sO,sV,sV)] += einsum(t1[np.ix_(so,sv)], (0, 1), v.OvOV, (2, 1, 3, 4), t3, (2, 5, 3, 6, 7, 4), (0, 5, 6, 7)) * -0.5 - t2new[np.ix_(so,sO,sV,sV)] += einsum(t1[np.ix_(so,sv)], (0, 1), v.OVOv, (2, 3, 4, 1), t3, (2, 5, 4, 6, 7, 3), (0, 5, 6, 7)) * 0.5 - t2new[np.ix_(sO,so,sV,sV)] += einsum(t1[np.ix_(so,sv)], (0, 1), v.OvOV, (2, 1, 3, 4), t3, (2, 5, 3, 6, 7, 4), (5, 0, 7, 6)) * -0.5 - t2new[np.ix_(sO,so,sV,sV)] += einsum(t1[np.ix_(so,sv)], (0, 1), v.OVOv, (2, 3, 4, 1), t3, (5, 4, 2, 6, 7, 3), (5, 0, 6, 7)) * -1.0 - t2new[np.ix_(sO,so,sV,sV)] += einsum(t1[np.ix_(so,sv)], (0, 1), v.OVOv, (2, 3, 4, 1), t3, (2, 5, 4, 6, 7, 3), (5, 0, 7, 6)) * 0.5 - t2new[np.ix_(sO,sO,sv,sV)] += einsum(t1[np.ix_(so,sv)], (0, 1), v.oVOV, (0, 2, 3, 4), t3, (5, 6, 3, 2, 7, 4), (5, 6, 1, 7)) * -0.5 - t2new[np.ix_(sO,sO,sv,sV)] += einsum(t1[np.ix_(so,sv)], (0, 1), v.oVOV, (0, 2, 3, 4), t3, (5, 6, 3, 4, 7, 2), (5, 6, 1, 7)) * 0.5 - t2new[np.ix_(sO,sO,sv,sV)] += einsum(t1[np.ix_(so,sv)], (0, 1), v.oVOV, (0, 2, 3, 4), t3, (5, 6, 3, 7, 2, 4), (6, 5, 1, 7)) * -1.0 - t2new[np.ix_(sO,sO,sV,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), v.oVOV, (0, 2, 3, 4), t3, (5, 6, 3, 2, 7, 4), (6, 5, 7, 1)) * -0.5 - t2new[np.ix_(sO,sO,sV,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), v.oVOV, (0, 2, 3, 4), t3, (5, 6, 3, 4, 7, 2), (6, 5, 7, 1)) * 0.5 - t2new[np.ix_(sO,sO,sV,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), v.oVOV, (0, 2, 3, 4), t3, (5, 6, 3, 7, 2, 4), (5, 6, 7, 1)) * -1.0 - t2new[np.ix_(sO,sO,sV,sV)] += einsum(t1[np.ix_(so,sv)], (0, 1), v.ovOV, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 3), (4, 5, 6, 7)) * 2.0 - t2new[np.ix_(sO,sO,sV,sV)] += einsum(t1[np.ix_(so,sv)], (0, 1), v.ovOV, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 3), (5, 4, 7, 6)) * 2.0 - t2new[np.ix_(sO,sO,sV,sV)] += einsum(t1[np.ix_(so,sv)], (0, 1), v.oVOv, (0, 2, 3, 1), t3, (4, 5, 3, 6, 7, 2), (4, 5, 6, 7)) * -1.0 - t2new[np.ix_(sO,sO,sV,sV)] += einsum(t1[np.ix_(so,sv)], (0, 1), v.oVOv, (0, 2, 3, 1), t3, (4, 5, 3, 6, 7, 2), (5, 4, 7, 6)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (1, 3, 5, 7), (0, 4, 2, 6)) * 4.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (1, 7, 5, 6), (0, 4, 2, 3)) - t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (1, 3, 5, 6), (0, 4, 2, 7)) * -2.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (1, 2, 5, 7), (0, 4, 3, 6)) * -2.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (1, 2, 5, 6), (0, 4, 3, 7)) - t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (1, 3, 5, 2), (0, 4, 7, 6)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (1, 7, 5, 3), (0, 4, 2, 6)) * -2.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (1, 6, 5, 7), (0, 4, 2, 3)) * -2.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (1, 6, 5, 3), (0, 4, 2, 7)) - t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (1, 7, 5, 2), (0, 4, 3, 6)) - t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (1, 3, 5, 2), (0, 4, 7, 6)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (1, 6, 5, 2), (0, 4, 7, 3)) - t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (1, 2, 5, 3), (0, 4, 7, 6)) - t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (4, 3, 5, 7), (0, 1, 2, 6)) * -0.5 - t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (4, 3, 5, 6), (0, 1, 2, 7)) * 0.5 - t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (4, 2, 5, 7), (0, 1, 6, 3)) * -1.5 - t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (4, 2, 5, 3), (0, 1, 6, 7)) - t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (4, 2, 5, 6), (0, 1, 7, 3)) * 0.5 - t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (4, 7, 5, 3), (0, 1, 2, 6)) * 0.5 - t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (4, 6, 5, 3), (0, 1, 2, 7)) * -1.5 - t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (4, 7, 5, 2), (0, 1, 6, 3)) * 0.5 - t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (4, 6, 5, 2), (0, 1, 7, 3)) * -0.5 - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), t1[np.ix_(so,sv)], (4, 5), v.ooov, (6, 4, 2, 1), (0, 6, 3, 5)) - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), t1[np.ix_(so,sv)], (4, 5), v.ooov, (6, 2, 4, 1), (6, 0, 3, 5)) - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), t1[np.ix_(so,sv)], (4, 5), v.ovvv, (4, 1, 6, 3), (0, 2, 5, 6)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), t1[np.ix_(so,sv)], (4, 5), v.ovvv, (4, 3, 6, 1), (0, 2, 6, 5)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (4, 1, 5, 3), (0, 2, 6, 7)) - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (2, 1, 5, 7), (0, 4, 3, 6)) * -2.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (2, 1, 5, 6), (0, 4, 3, 7)) - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (2, 7, 5, 1), (0, 4, 3, 6)) - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (2, 6, 5, 1), (0, 4, 7, 3)) - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (2, 1, 5, 3), (0, 4, 7, 6)) - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (2, 3, 5, 1), (0, 4, 7, 6)) * -2.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (2, 6, 5, 1), (4, 0, 3, 7)) - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (2, 1, 5, 7), (4, 0, 6, 3)) * -2.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (2, 1, 5, 6), (4, 0, 7, 3)) - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (2, 7, 5, 1), (4, 0, 6, 3)) - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (2, 1, 5, 3), (4, 0, 6, 7)) - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (2, 3, 5, 1), (4, 0, 6, 7)) * -2.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (0, 6, 2, 7), (4, 5, 1, 3)) - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (0, 1, 2, 6), (4, 5, 3, 7)) * -2.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (0, 6, 2, 1), (4, 5, 3, 7)) - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (0, 1, 2, 7), (4, 5, 6, 3)) * -2.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (0, 7, 2, 1), (4, 5, 6, 3)) - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), t1[np.ix_(so,sv)], (4, 5), t1[np.ix_(so,sv)], (6, 7), v.ovov, (4, 1, 6, 3), (0, 2, 5, 7)) - t3new = np.zeros(((naocc, naocc, naocc, navir, navir, navir)), dtype=types[float]) - t3new += einsum(f.OO, (0, 1), t3, (2, 3, 1, 4, 5, 6), (0, 3, 2, 4, 5, 6)) - t3new += einsum(f.OO, (0, 1), t3, (2, 1, 3, 4, 5, 6), (2, 0, 3, 4, 5, 6)) * -1.0 - t3new += einsum(f.OO, (0, 1), t3, (2, 3, 1, 4, 5, 6), (2, 3, 0, 4, 5, 6)) * -1.0 - t3new += einsum(f.VV, (0, 1), t3, (2, 3, 4, 5, 6, 1), (2, 3, 4, 0, 6, 5)) * -1.0 - t3new += einsum(f.VV, (0, 1), t3, (2, 3, 4, 5, 1, 6), (2, 3, 4, 5, 0, 6)) - t3new += einsum(f.VV, (0, 1), t3, (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 6, 0)) - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.OoOV, (4, 1, 5, 6), (0, 4, 5, 2, 3, 6)) * -1.0 - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.OoOV, (4, 1, 5, 6), (0, 4, 5, 6, 3, 2)) - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.OoOV, (4, 1, 5, 6), (0, 5, 4, 2, 6, 3)) * -1.0 - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.OoOV, (4, 1, 5, 6), (0, 5, 4, 3, 6, 2)) - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.OoOV, (4, 1, 5, 6), (4, 0, 5, 3, 2, 6)) * -1.0 - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.OoOV, (4, 1, 5, 6), (4, 0, 5, 6, 2, 3)) - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.OoOV, (4, 1, 5, 6), (5, 0, 4, 3, 2, 6)) - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.OoOV, (4, 1, 5, 6), (5, 0, 4, 6, 2, 3)) * -1.0 - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.OoOV, (4, 1, 5, 6), (4, 5, 0, 2, 6, 3)) - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.OoOV, (4, 1, 5, 6), (4, 5, 0, 3, 6, 2)) * -1.0 - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.OoOV, (4, 1, 5, 6), (5, 4, 0, 2, 3, 6)) - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.OoOV, (4, 1, 5, 6), (5, 4, 0, 6, 3, 2)) * -1.0 - t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), v.OVVv, (4, 5, 6, 3), (0, 4, 1, 2, 5, 6)) - t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), v.OVVv, (4, 5, 6, 3), (0, 4, 1, 6, 5, 2)) * -1.0 - t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), v.OVVv, (4, 5, 6, 2), (0, 4, 1, 6, 5, 3)) - t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), v.OVVv, (4, 5, 6, 2), (0, 4, 1, 3, 5, 6)) * -1.0 - t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), v.OVVv, (4, 5, 6, 3), (0, 1, 4, 5, 6, 2)) * -1.0 - t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), v.OVVv, (4, 5, 6, 2), (0, 1, 4, 5, 3, 6)) * -1.0 - t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), v.OVVv, (4, 5, 6, 3), (0, 1, 4, 2, 6, 5)) - t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), v.OVVv, (4, 5, 6, 2), (0, 1, 4, 6, 3, 5)) - t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), v.OVVv, (4, 5, 6, 3), (4, 0, 1, 5, 2, 6)) - t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), v.OVVv, (4, 5, 6, 2), (4, 0, 1, 5, 6, 3)) - t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), v.OVVv, (4, 5, 6, 3), (4, 0, 1, 6, 2, 5)) * -1.0 - t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), v.OVVv, (4, 5, 6, 2), (4, 0, 1, 3, 6, 5)) * -1.0 - t3new += einsum(v.OOOO, (0, 1, 2, 3), t3, (4, 3, 1, 5, 6, 7), (0, 2, 4, 5, 6, 7)) * -1.0 - t3new += einsum(v.OOOO, (0, 1, 2, 3), t3, (1, 4, 3, 5, 6, 7), (0, 4, 2, 5, 6, 7)) * 0.5 - t3new += einsum(v.OOOO, (0, 1, 2, 3), t3, (1, 4, 3, 5, 6, 7), (0, 4, 2, 7, 6, 5)) * -0.5 - t3new += einsum(v.OOOO, (0, 1, 2, 3), t3, (4, 1, 3, 5, 6, 7), (4, 0, 2, 5, 6, 7)) - t3new += einsum(v.OOVV, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (0, 5, 4, 2, 7, 6)) * -1.0 - t3new += einsum(v.OOVV, (0, 1, 2, 3), t3, (4, 5, 1, 6, 3, 7), (0, 5, 4, 6, 2, 7)) - t3new += einsum(v.OOVV, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (0, 5, 4, 6, 7, 2)) - t3new += einsum(v.OOVV, (0, 1, 2, 3), t3, (4, 1, 5, 6, 7, 3), (4, 0, 5, 2, 7, 6)) - t3new += einsum(v.OOVV, (0, 1, 2, 3), t3, (4, 1, 5, 6, 3, 7), (4, 0, 5, 6, 2, 7)) * -1.0 - t3new += einsum(v.OOVV, (0, 1, 2, 3), t3, (4, 1, 5, 6, 7, 3), (4, 0, 5, 6, 7, 2)) * -1.0 - t3new += einsum(v.OOVV, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (4, 5, 0, 2, 7, 6)) - t3new += einsum(v.OOVV, (0, 1, 2, 3), t3, (4, 5, 1, 6, 3, 7), (4, 5, 0, 6, 2, 7)) * -1.0 - t3new += einsum(v.OOVV, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (4, 5, 0, 6, 7, 2)) * -1.0 - t3new += einsum(v.OVOV, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 3), (0, 4, 5, 1, 6, 7)) - t3new += einsum(v.OVOV, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 3), (0, 5, 4, 1, 7, 6)) - t3new += einsum(v.OVOV, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 3), (0, 4, 5, 7, 6, 1)) * -1.0 - t3new += einsum(v.OVOV, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 3), (0, 5, 4, 6, 7, 1)) * -1.0 - t3new += einsum(v.OVOV, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 3), (4, 0, 5, 6, 1, 7)) - t3new += einsum(v.OVOV, (0, 1, 2, 3), t3, (4, 5, 2, 6, 3, 7), (4, 0, 5, 6, 1, 7)) * -1.0 - t3new += einsum(v.OVOV, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 3), (4, 0, 5, 7, 1, 6)) * -1.0 - t3new += einsum(v.OVOV, (0, 1, 2, 3), t3, (4, 2, 5, 6, 3, 7), (4, 0, 5, 6, 1, 7)) - t3new += einsum(v.OVOV, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 3), (4, 5, 0, 1, 7, 6)) * -1.0 - t3new += einsum(v.OVOV, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 3), (5, 4, 0, 1, 6, 7)) * -1.0 - t3new += einsum(v.OVOV, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 3), (4, 5, 0, 6, 7, 1)) - t3new += einsum(v.OVOV, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 3), (5, 4, 0, 7, 6, 1)) - t3new += einsum(v.VVVV, (0, 1, 2, 3), t3, (4, 5, 6, 7, 3, 1), (4, 5, 6, 0, 2, 7)) * -1.0 - t3new += einsum(v.VVVV, (0, 1, 2, 3), t3, (4, 5, 6, 1, 7, 3), (4, 5, 6, 0, 7, 2)) * 0.5 - t3new += einsum(v.VVVV, (0, 1, 2, 3), t3, (4, 5, 6, 3, 7, 1), (4, 5, 6, 0, 7, 2)) * -0.5 - t3new += einsum(v.VVVV, (0, 1, 2, 3), t3, (4, 5, 6, 7, 1, 3), (4, 5, 6, 7, 0, 2)) - t3new += einsum(f.Ov, (0, 1), t1[np.ix_(sO,sv)], (2, 1), t3, (3, 4, 0, 5, 6, 7), (2, 4, 3, 5, 6, 7)) - t3new += einsum(f.Ov, (0, 1), t1[np.ix_(sO,sv)], (2, 1), t3, (3, 0, 4, 5, 6, 7), (3, 2, 4, 5, 6, 7)) * -1.0 - t3new += einsum(f.Ov, (0, 1), t1[np.ix_(sO,sv)], (2, 1), t3, (3, 4, 0, 5, 6, 7), (3, 4, 2, 5, 6, 7)) * -1.0 - t3new += einsum(f.oV, (0, 1), t1[np.ix_(so,sV)], (0, 2), t3, (3, 4, 5, 6, 7, 1), (3, 4, 5, 2, 7, 6)) - t3new += einsum(f.oV, (0, 1), t1[np.ix_(so,sV)], (0, 2), t3, (3, 4, 5, 6, 1, 7), (3, 4, 5, 6, 2, 7)) * -1.0 - t3new += einsum(f.oV, (0, 1), t1[np.ix_(so,sV)], (0, 2), t3, (3, 4, 5, 6, 7, 1), (3, 4, 5, 6, 7, 2)) * -1.0 - t3new += einsum(f.ov, (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 1), t2[np.ix_(sO,so,sV,sV)], (5, 0, 6, 7), (2, 5, 3, 4, 6, 7)) * -1.0 - t3new += einsum(f.ov, (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 1), t2[np.ix_(sO,so,sV,sV)], (5, 0, 6, 7), (2, 5, 3, 7, 6, 4)) - t3new += einsum(f.ov, (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 1, 4), t2[np.ix_(sO,so,sV,sV)], (5, 0, 6, 7), (2, 5, 3, 4, 6, 7)) - t3new += einsum(f.ov, (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 1, 4), t2[np.ix_(sO,so,sV,sV)], (5, 0, 6, 7), (2, 5, 3, 7, 6, 4)) * -1.0 - t3new += einsum(f.ov, (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 0, 3, 4), t2[np.ix_(sO,sO,sV,sv)], (5, 6, 7, 1), (2, 5, 6, 3, 7, 4)) * -1.0 - t3new += einsum(f.ov, (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 0, 3, 4), t2[np.ix_(sO,sO,sv,sV)], (5, 6, 1, 7), (2, 5, 6, 3, 4, 7)) * -1.0 - t3new += einsum(f.ov, (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 0, 3, 4), t2[np.ix_(sO,sO,sV,sv)], (5, 6, 7, 1), (2, 5, 6, 4, 7, 3)) - t3new += einsum(f.ov, (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 0, 3, 4), t2[np.ix_(sO,sO,sv,sV)], (5, 6, 1, 7), (2, 5, 6, 7, 4, 3)) - t3new += einsum(f.ov, (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 1), t2[np.ix_(sO,so,sV,sV)], (5, 0, 6, 7), (2, 3, 5, 4, 7, 6)) * -1.0 - t3new += einsum(f.ov, (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 1), t2[np.ix_(sO,so,sV,sV)], (5, 0, 6, 7), (2, 3, 5, 6, 7, 4)) - t3new += einsum(f.ov, (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 1, 4), t2[np.ix_(sO,so,sV,sV)], (5, 0, 6, 7), (2, 3, 5, 6, 4, 7)) - t3new += einsum(f.ov, (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 1, 4), t2[np.ix_(sO,so,sV,sV)], (5, 0, 6, 7), (2, 3, 5, 7, 4, 6)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OoVv, (6, 3, 7, 1), (0, 2, 6, 7, 4, 5)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OoVv, (6, 3, 7, 1), (0, 2, 6, 5, 4, 7)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OoVv, (6, 3, 7, 1), (0, 6, 2, 4, 5, 7)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OoVv, (6, 3, 7, 1), (0, 6, 2, 7, 5, 4)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OoVv, (6, 3, 7, 1), (2, 0, 6, 4, 7, 5)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OoVv, (6, 3, 7, 1), (2, 0, 6, 5, 7, 4)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OoVv, (6, 3, 7, 1), (6, 0, 2, 4, 7, 5)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OoVv, (6, 3, 7, 1), (6, 0, 2, 5, 7, 4)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OoVv, (6, 3, 7, 1), (2, 6, 0, 4, 5, 7)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OoVv, (6, 3, 7, 1), (2, 6, 0, 7, 5, 4)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OoVv, (6, 3, 7, 1), (6, 2, 0, 7, 4, 5)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OoVv, (6, 3, 7, 1), (6, 2, 0, 5, 4, 7)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OoOo, (6, 3, 7, 0), (2, 6, 7, 1, 5, 4)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OoOo, (6, 0, 7, 3), (6, 2, 7, 1, 4, 5)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OoOo, (6, 3, 7, 0), (6, 2, 7, 1, 4, 5)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OoOo, (6, 0, 7, 3), (6, 7, 2, 1, 5, 4)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OoOo, (6, 0, 7, 3), (2, 6, 7, 4, 1, 5)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OoOo, (6, 0, 7, 3), (2, 6, 7, 5, 1, 4)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OoOo, (6, 3, 7, 0), (6, 7, 2, 4, 1, 5)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OoOo, (6, 3, 7, 0), (6, 7, 2, 5, 1, 4)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OoOo, (6, 3, 7, 0), (2, 6, 7, 4, 5, 1)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OoOo, (6, 0, 7, 3), (6, 2, 7, 5, 4, 1)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OoOo, (6, 3, 7, 0), (6, 2, 7, 5, 4, 1)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OoOo, (6, 0, 7, 3), (6, 7, 2, 4, 5, 1)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), v.OoVv, (6, 0, 7, 5), (2, 3, 6, 1, 7, 4)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), v.OoVv, (6, 0, 7, 4), (2, 3, 6, 1, 5, 7)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), v.OoVv, (6, 0, 7, 5), (6, 2, 3, 1, 4, 7)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), v.OoVv, (6, 0, 7, 4), (6, 2, 3, 1, 7, 5)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), v.OoVv, (6, 0, 7, 5), (2, 6, 3, 4, 1, 7)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), v.OoVv, (6, 0, 7, 5), (2, 6, 3, 7, 1, 4)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), v.OoVv, (6, 0, 7, 4), (2, 6, 3, 7, 1, 5)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), v.OoVv, (6, 0, 7, 4), (2, 6, 3, 5, 1, 7)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), v.OoVv, (6, 0, 7, 5), (2, 3, 6, 4, 7, 1)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), v.OoVv, (6, 0, 7, 4), (2, 3, 6, 7, 5, 1)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), v.OoVv, (6, 0, 7, 5), (6, 2, 3, 7, 4, 1)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), v.OoVv, (6, 0, 7, 4), (6, 2, 3, 5, 7, 1)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OVov, (6, 7, 3, 1), (0, 2, 6, 7, 4, 5)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OVov, (6, 7, 3, 1), (0, 2, 6, 5, 4, 7)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OVov, (6, 7, 3, 1), (0, 6, 2, 4, 7, 5)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OVov, (6, 7, 3, 1), (0, 6, 2, 5, 7, 4)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OVov, (6, 7, 3, 1), (2, 0, 6, 7, 5, 4)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OVov, (6, 7, 3, 1), (2, 0, 6, 4, 5, 7)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OVov, (6, 7, 3, 1), (6, 0, 2, 7, 5, 4)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OVov, (6, 7, 3, 1), (6, 0, 2, 4, 5, 7)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OVov, (6, 7, 3, 1), (2, 6, 0, 4, 7, 5)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OVov, (6, 7, 3, 1), (2, 6, 0, 5, 7, 4)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OVov, (6, 7, 3, 1), (6, 2, 0, 7, 4, 5)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OVov, (6, 7, 3, 1), (6, 2, 0, 5, 4, 7)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), v.OVov, (6, 7, 0, 5), (2, 6, 3, 1, 7, 4)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), v.OVov, (6, 7, 0, 4), (2, 6, 3, 1, 7, 5)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), v.OVov, (6, 7, 0, 4), (2, 3, 6, 1, 5, 7)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), v.OVov, (6, 7, 0, 5), (6, 2, 3, 1, 4, 7)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), v.OVov, (6, 7, 0, 5), (2, 3, 6, 7, 1, 4)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), v.OVov, (6, 7, 0, 5), (2, 3, 6, 4, 1, 7)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), v.OVov, (6, 7, 0, 4), (6, 2, 3, 7, 1, 5)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), v.OVov, (6, 7, 0, 4), (6, 2, 3, 5, 1, 7)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), v.OVov, (6, 7, 0, 5), (2, 6, 3, 4, 7, 1)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), v.OVov, (6, 7, 0, 4), (2, 6, 3, 5, 7, 1)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), v.OVov, (6, 7, 0, 4), (2, 3, 6, 7, 5, 1)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), v.OVov, (6, 7, 0, 5), (6, 2, 3, 7, 4, 1)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), v.VvVv, (6, 1, 7, 5), (0, 2, 3, 6, 4, 7)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), v.VvVv, (6, 1, 7, 4), (0, 2, 3, 6, 7, 5)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), v.VvVv, (6, 5, 7, 1), (0, 2, 3, 6, 4, 7)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), v.VvVv, (6, 4, 7, 1), (0, 2, 3, 5, 6, 7)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), v.VvVv, (6, 5, 7, 1), (2, 0, 3, 6, 7, 4)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), v.VvVv, (6, 4, 7, 1), (2, 0, 3, 6, 7, 5)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), v.VvVv, (6, 1, 7, 5), (2, 0, 3, 4, 6, 7)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), v.VvVv, (6, 1, 7, 4), (2, 0, 3, 5, 6, 7)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), v.VvVv, (6, 1, 7, 5), (2, 3, 0, 6, 7, 4)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), v.VvVv, (6, 1, 7, 4), (2, 3, 0, 6, 5, 7)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), v.VvVv, (6, 4, 7, 1), (2, 3, 0, 6, 5, 7)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), v.VvVv, (6, 5, 7, 1), (2, 3, 0, 4, 6, 7)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), v.OOOv, (2, 3, 4, 1), t3, (5, 3, 4, 6, 7, 8), (0, 2, 5, 6, 7, 8)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), v.OOOv, (2, 3, 4, 1), t3, (3, 5, 4, 6, 7, 8), (0, 5, 2, 6, 7, 8)) * -0.5 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), v.OOOv, (2, 3, 4, 1), t3, (3, 5, 4, 6, 7, 8), (0, 5, 2, 8, 7, 6)) * 0.5 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), v.OOOv, (2, 3, 4, 1), t3, (5, 4, 3, 6, 7, 8), (2, 0, 5, 6, 7, 8)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), v.OOOv, (2, 3, 4, 1), t3, (5, 4, 3, 6, 7, 8), (5, 0, 2, 6, 7, 8)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), v.OOOv, (2, 3, 4, 1), t3, (3, 5, 4, 6, 7, 8), (2, 5, 0, 8, 7, 6)) * -0.5 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), v.OOOv, (2, 3, 4, 1), t3, (3, 5, 4, 6, 7, 8), (2, 5, 0, 6, 7, 8)) * 0.5 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), v.OOOv, (2, 3, 4, 1), t3, (5, 3, 4, 6, 7, 8), (5, 2, 0, 6, 7, 8)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), v.OoOV, (2, 0, 3, 4), t3, (5, 6, 3, 7, 8, 4), (2, 5, 6, 1, 7, 8)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), v.OoOV, (2, 0, 3, 4), t3, (5, 6, 3, 7, 8, 4), (2, 6, 5, 1, 8, 7)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), v.OOoV, (2, 3, 0, 4), t3, (5, 6, 3, 7, 8, 4), (2, 6, 5, 1, 8, 7)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), v.OOoV, (2, 3, 0, 4), t3, (5, 3, 6, 7, 8, 4), (5, 2, 6, 1, 8, 7)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), v.OoOV, (2, 0, 3, 4), t3, (5, 6, 3, 7, 8, 4), (5, 6, 2, 1, 8, 7)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), v.OoOV, (2, 0, 3, 4), t3, (5, 6, 3, 7, 8, 4), (6, 5, 2, 1, 7, 8)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), v.OOoV, (2, 3, 0, 4), t3, (5, 6, 3, 7, 8, 4), (5, 6, 2, 1, 8, 7)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), v.OOoV, (2, 3, 0, 4), t3, (5, 6, 3, 7, 4, 8), (2, 6, 5, 7, 1, 8)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), v.OoOV, (2, 0, 3, 4), t3, (5, 6, 3, 7, 8, 4), (5, 2, 6, 7, 1, 8)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), v.OoOV, (2, 0, 3, 4), t3, (5, 6, 3, 7, 8, 4), (5, 2, 6, 8, 1, 7)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), v.OoOV, (2, 0, 3, 4), t3, (5, 6, 3, 7, 4, 8), (5, 2, 6, 7, 1, 8)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), v.OoOV, (2, 0, 3, 4), t3, (5, 3, 6, 7, 4, 8), (5, 2, 6, 7, 1, 8)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), v.OOoV, (2, 3, 0, 4), t3, (5, 3, 6, 7, 4, 8), (5, 2, 6, 7, 1, 8)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), v.OOoV, (2, 3, 0, 4), t3, (5, 6, 3, 7, 4, 8), (5, 6, 2, 7, 1, 8)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), v.OoOV, (2, 0, 3, 4), t3, (5, 6, 3, 7, 8, 4), (2, 5, 6, 8, 7, 1)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), v.OoOV, (2, 0, 3, 4), t3, (5, 6, 3, 7, 8, 4), (2, 6, 5, 7, 8, 1)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), v.OOoV, (2, 3, 0, 4), t3, (5, 6, 3, 7, 8, 4), (2, 6, 5, 7, 8, 1)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), v.OOoV, (2, 3, 0, 4), t3, (5, 3, 6, 7, 8, 4), (5, 2, 6, 7, 8, 1)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), v.OoOV, (2, 0, 3, 4), t3, (5, 6, 3, 7, 8, 4), (5, 6, 2, 7, 8, 1)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), v.OoOV, (2, 0, 3, 4), t3, (5, 6, 3, 7, 8, 4), (6, 5, 2, 8, 7, 1)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), v.OOoV, (2, 3, 0, 4), t3, (5, 6, 3, 7, 8, 4), (5, 6, 2, 7, 8, 1)) - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), v.OoOv, (2, 0, 3, 1), t3, (4, 5, 3, 6, 7, 8), (2, 5, 4, 6, 7, 8)) * -1.0 - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), v.OOov, (2, 3, 0, 1), t3, (4, 5, 3, 6, 7, 8), (2, 5, 4, 6, 7, 8)) * 2.0 - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), v.OoOv, (2, 0, 3, 1), t3, (4, 3, 5, 6, 7, 8), (4, 2, 5, 6, 7, 8)) - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), v.OOov, (2, 3, 0, 1), t3, (4, 3, 5, 6, 7, 8), (4, 2, 5, 6, 7, 8)) * -2.0 - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), v.OoOv, (2, 0, 3, 1), t3, (4, 5, 3, 6, 7, 8), (4, 5, 2, 6, 7, 8)) - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), v.OOov, (2, 3, 0, 1), t3, (4, 5, 3, 6, 7, 8), (4, 5, 2, 6, 7, 8)) * -2.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), v.OvVV, (2, 1, 3, 4), t3, (5, 6, 2, 7, 8, 4), (0, 6, 5, 3, 8, 7)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), v.OvVV, (2, 1, 3, 4), t3, (5, 6, 2, 7, 4, 8), (0, 6, 5, 7, 3, 8)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), v.OvVV, (2, 1, 3, 4), t3, (5, 6, 2, 7, 8, 4), (0, 6, 5, 7, 8, 3)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), v.OVVv, (2, 3, 4, 1), t3, (5, 6, 2, 7, 8, 3), (0, 5, 6, 4, 7, 8)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), v.OVVv, (2, 3, 4, 1), t3, (5, 6, 2, 7, 8, 3), (0, 6, 5, 4, 8, 7)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), v.OVVv, (2, 3, 4, 1), t3, (5, 6, 2, 7, 8, 3), (0, 5, 6, 8, 7, 4)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), v.OVVv, (2, 3, 4, 1), t3, (5, 6, 2, 7, 8, 3), (0, 6, 5, 7, 8, 4)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), v.OvVV, (2, 1, 3, 4), t3, (5, 2, 6, 7, 8, 4), (5, 0, 6, 3, 8, 7)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), v.OvVV, (2, 1, 3, 4), t3, (5, 2, 6, 7, 4, 8), (5, 0, 6, 7, 3, 8)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), v.OvVV, (2, 1, 3, 4), t3, (5, 2, 6, 7, 8, 4), (5, 0, 6, 7, 8, 3)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), v.OVVv, (2, 3, 4, 1), t3, (5, 6, 2, 7, 8, 3), (5, 0, 6, 8, 4, 7)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), v.OVVv, (2, 3, 4, 1), t3, (5, 6, 2, 7, 3, 8), (5, 0, 6, 7, 4, 8)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), v.OVVv, (2, 3, 4, 1), t3, (5, 6, 2, 7, 8, 3), (5, 0, 6, 7, 4, 8)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), v.OVVv, (2, 3, 4, 1), t3, (5, 2, 6, 7, 3, 8), (5, 0, 6, 7, 4, 8)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), v.OvVV, (2, 1, 3, 4), t3, (5, 6, 2, 7, 8, 4), (5, 6, 0, 3, 8, 7)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), v.OvVV, (2, 1, 3, 4), t3, (5, 6, 2, 7, 4, 8), (5, 6, 0, 7, 3, 8)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), v.OvVV, (2, 1, 3, 4), t3, (5, 6, 2, 7, 8, 4), (5, 6, 0, 7, 8, 3)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), v.OVVv, (2, 3, 4, 1), t3, (5, 6, 2, 7, 8, 3), (5, 6, 0, 4, 8, 7)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), v.OVVv, (2, 3, 4, 1), t3, (5, 6, 2, 7, 8, 3), (6, 5, 0, 4, 7, 8)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), v.OVVv, (2, 3, 4, 1), t3, (5, 6, 2, 7, 8, 3), (5, 6, 0, 7, 8, 4)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), v.OVVv, (2, 3, 4, 1), t3, (5, 6, 2, 7, 8, 3), (6, 5, 0, 8, 7, 4)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), v.oVVV, (0, 2, 3, 4), t3, (5, 6, 7, 8, 4, 2), (5, 6, 7, 1, 3, 8)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), v.oVVV, (0, 2, 3, 4), t3, (5, 6, 7, 2, 8, 4), (5, 6, 7, 1, 8, 3)) * -0.5 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), v.oVVV, (0, 2, 3, 4), t3, (5, 6, 7, 4, 8, 2), (5, 6, 7, 1, 8, 3)) * 0.5 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), v.oVVV, (0, 2, 3, 4), t3, (5, 6, 7, 8, 2, 4), (5, 6, 7, 3, 1, 8)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), v.oVVV, (0, 2, 3, 4), t3, (5, 6, 7, 8, 2, 4), (5, 6, 7, 8, 1, 3)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), v.oVVV, (0, 2, 3, 4), t3, (5, 6, 7, 4, 8, 2), (5, 6, 7, 3, 8, 1)) * -0.5 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), v.oVVV, (0, 2, 3, 4), t3, (5, 6, 7, 2, 8, 4), (5, 6, 7, 3, 8, 1)) * 0.5 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), v.oVVV, (0, 2, 3, 4), t3, (5, 6, 7, 8, 4, 2), (5, 6, 7, 8, 3, 1)) * -1.0 - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), v.ovVV, (0, 1, 2, 3), t3, (4, 5, 6, 7, 8, 3), (4, 5, 6, 2, 8, 7)) * -2.0 - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), v.ovVV, (0, 1, 2, 3), t3, (4, 5, 6, 7, 3, 8), (4, 5, 6, 7, 2, 8)) * 2.0 - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), v.ovVV, (0, 1, 2, 3), t3, (4, 5, 6, 7, 8, 3), (4, 5, 6, 7, 8, 2)) * 2.0 - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), v.oVVv, (0, 2, 3, 1), t3, (4, 5, 6, 7, 8, 2), (4, 5, 6, 3, 8, 7)) - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), v.oVVv, (0, 2, 3, 1), t3, (4, 5, 6, 7, 2, 8), (4, 5, 6, 7, 3, 8)) * -1.0 - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), v.oVVv, (0, 2, 3, 1), t3, (4, 5, 6, 7, 8, 2), (4, 5, 6, 7, 8, 3)) * -1.0 - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sv)], (4, 5, 6, 7), v.Ooov, (8, 1, 5, 7), (0, 4, 8, 2, 6, 3)) * -2.0 - t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 1, 5, 3), (0, 4, 8, 2, 6, 7)) - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sv,sV)], (4, 5, 6, 7), v.Ooov, (8, 1, 5, 6), (0, 4, 8, 2, 7, 3)) - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sv)], (4, 5, 6, 7), v.Ooov, (8, 1, 5, 7), (0, 4, 8, 3, 6, 2)) * 2.0 - t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 1, 5, 3), (0, 4, 8, 7, 6, 2)) * -1.0 - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sv,sV)], (4, 5, 6, 7), v.Ooov, (8, 1, 5, 6), (0, 4, 8, 3, 7, 2)) * -1.0 - t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 1, 5, 2), (0, 4, 8, 3, 6, 7)) * -1.0 - t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 1, 5, 2), (0, 4, 8, 7, 6, 3)) - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sv)], (4, 5, 6, 7), v.Ooov, (8, 5, 1, 7), (0, 4, 8, 2, 6, 3)) - t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 1, 3), (0, 4, 8, 2, 6, 7)) * -2.0 - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sv,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 1, 6), (0, 4, 8, 2, 3, 7)) - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sv)], (4, 5, 6, 7), v.Ooov, (8, 5, 1, 7), (0, 4, 8, 3, 6, 2)) * -1.0 - t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 1, 3), (0, 4, 8, 7, 6, 2)) * 2.0 - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sv,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 1, 6), (0, 4, 8, 7, 3, 2)) * -1.0 - t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 1, 2), (0, 4, 8, 3, 6, 7)) - t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 1, 2), (0, 4, 8, 7, 6, 3)) * -1.0 - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sv)], (4, 5, 6, 7), v.Ooov, (8, 1, 5, 7), (0, 8, 4, 2, 3, 6)) * -2.0 - t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 1, 5, 3), (0, 8, 4, 2, 7, 6)) - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sv,sV)], (4, 5, 6, 7), v.Ooov, (8, 1, 5, 6), (0, 8, 4, 2, 3, 7)) - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sv)], (4, 5, 6, 7), v.Ooov, (8, 1, 5, 7), (0, 8, 4, 6, 3, 2)) * 2.0 - t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 1, 5, 3), (0, 8, 4, 6, 7, 2)) * -1.0 - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sv,sV)], (4, 5, 6, 7), v.Ooov, (8, 1, 5, 6), (0, 8, 4, 7, 3, 2)) * -1.0 - t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 1, 5, 2), (0, 8, 4, 6, 3, 7)) * -1.0 - t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 1, 5, 2), (0, 8, 4, 7, 3, 6)) - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sv)], (4, 5, 6, 7), v.Ooov, (8, 5, 1, 7), (0, 8, 4, 2, 3, 6)) - t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 1, 3), (0, 8, 4, 2, 7, 6)) * -2.0 - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sv,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 1, 6), (0, 8, 4, 2, 7, 3)) - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sv)], (4, 5, 6, 7), v.Ooov, (8, 5, 1, 7), (0, 8, 4, 6, 3, 2)) * -1.0 - t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 1, 3), (0, 8, 4, 6, 7, 2)) * 2.0 - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sv,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 1, 6), (0, 8, 4, 3, 7, 2)) * -1.0 - t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 1, 2), (0, 8, 4, 6, 7, 3)) * -1.0 - t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 1, 2), (0, 8, 4, 3, 7, 6)) - t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), t2[np.ix_(so,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 4, 3), (0, 8, 1, 2, 7, 6)) - t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), t2[np.ix_(so,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 4, 3), (0, 8, 1, 6, 7, 2)) * -1.0 - t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), t2[np.ix_(so,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 4, 2), (0, 8, 1, 6, 7, 3)) - t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), t2[np.ix_(so,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 4, 2), (0, 8, 1, 3, 7, 6)) * -1.0 - t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), t2[np.ix_(so,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 4, 5, 3), (0, 1, 8, 2, 7, 6)) - t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), t2[np.ix_(so,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 4, 5, 3), (0, 1, 8, 6, 7, 2)) * -1.0 - t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), t2[np.ix_(so,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 4, 5, 2), (0, 1, 8, 6, 3, 7)) * -0.5 - t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), t2[np.ix_(so,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 4, 5, 2), (0, 1, 8, 7, 3, 6)) * 0.5 - t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), t2[np.ix_(so,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 4, 2), (0, 1, 8, 6, 3, 7)) * 0.5 - t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), t2[np.ix_(so,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 4, 2), (0, 1, 8, 7, 3, 6)) * -0.5 - t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 1, 3), (8, 0, 4, 6, 2, 7)) - t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 1, 3), (8, 0, 4, 7, 2, 6)) * -1.0 - t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 1, 2), (8, 0, 4, 6, 3, 7)) * -1.0 - t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 1, 2), (8, 0, 4, 7, 3, 6)) - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sv)], (4, 5, 6, 7), v.Ooov, (8, 5, 1, 7), (8, 0, 4, 6, 2, 3)) * -1.0 - t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 1, 3), (8, 0, 4, 6, 2, 7)) - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sv)], (4, 5, 6, 7), v.Ooov, (8, 5, 1, 7), (8, 0, 4, 3, 2, 6)) - t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 1, 3), (8, 0, 4, 7, 2, 6)) * -1.0 - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sv,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 1, 6), (8, 0, 4, 3, 2, 7)) * -1.0 - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sv,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 1, 6), (8, 0, 4, 7, 2, 3)) - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sv)], (4, 5, 6, 7), v.Ooov, (8, 1, 5, 7), (8, 0, 4, 6, 2, 3)) * 2.0 - t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 1, 5, 3), (8, 0, 4, 6, 2, 7)) * -1.0 - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sv)], (4, 5, 6, 7), v.Ooov, (8, 1, 5, 7), (8, 0, 4, 3, 2, 6)) * -2.0 - t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 1, 5, 3), (8, 0, 4, 7, 2, 6)) - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sv,sV)], (4, 5, 6, 7), v.Ooov, (8, 1, 5, 6), (8, 0, 4, 3, 2, 7)) - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sv,sV)], (4, 5, 6, 7), v.Ooov, (8, 1, 5, 6), (8, 0, 4, 7, 2, 3)) * -1.0 - t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 1, 5, 2), (8, 0, 4, 6, 7, 3)) * -1.0 - t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 1, 5, 2), (8, 0, 4, 3, 7, 6)) - t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), t2[np.ix_(so,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 4, 5, 3), (8, 0, 1, 6, 2, 7)) * 0.5 - t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), t2[np.ix_(so,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 4, 5, 3), (8, 0, 1, 7, 2, 6)) * -0.5 - t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), t2[np.ix_(so,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 4, 5, 2), (8, 0, 1, 6, 7, 3)) - t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), t2[np.ix_(so,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 4, 5, 2), (8, 0, 1, 3, 7, 6)) * -1.0 - t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), t2[np.ix_(so,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 4, 3), (8, 0, 1, 6, 2, 7)) * -0.5 - t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), t2[np.ix_(so,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 4, 3), (8, 0, 1, 7, 2, 6)) * 0.5 - t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sv)], (4, 5, 6, 7), v.ovVv, (5, 3, 8, 7), (0, 4, 1, 2, 6, 8)) * -1.0 - t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sv,sV)], (4, 5, 6, 7), v.ovVv, (5, 3, 8, 6), (0, 4, 1, 2, 8, 7)) * -1.0 - t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sv)], (4, 5, 6, 7), v.ovVv, (5, 3, 8, 7), (0, 4, 1, 8, 6, 2)) - t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sv,sV)], (4, 5, 6, 7), v.ovVv, (5, 3, 8, 6), (0, 4, 1, 7, 8, 2)) - t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sv)], (4, 5, 6, 7), v.ovVv, (5, 2, 8, 7), (0, 4, 1, 8, 6, 3)) * -1.0 - t3new += einsum(t2[np.ix_(sO,sO,sv,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.ovVv, (5, 2, 8, 3), (0, 4, 1, 8, 6, 7)) - t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sv)], (4, 5, 6, 7), v.ovVv, (5, 2, 8, 7), (0, 4, 1, 3, 6, 8)) - t3new += einsum(t2[np.ix_(sO,sO,sv,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.ovVv, (5, 2, 8, 3), (0, 4, 1, 7, 6, 8)) * -1.0 - t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sv,sV)], (4, 5, 6, 7), v.ovVv, (5, 2, 8, 6), (0, 4, 1, 3, 8, 7)) - t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sv,sV)], (4, 5, 6, 7), v.ovVv, (5, 2, 8, 6), (0, 4, 1, 7, 8, 3)) * -1.0 - t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sv)], (4, 5, 6, 7), v.ovVv, (5, 7, 8, 3), (0, 4, 1, 2, 6, 8)) * 2.0 - t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sv,sV)], (4, 5, 6, 7), v.ovVv, (5, 6, 8, 3), (0, 4, 1, 2, 7, 8)) * -1.0 - t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sv)], (4, 5, 6, 7), v.ovVv, (5, 7, 8, 3), (0, 4, 1, 8, 6, 2)) * -2.0 - t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sv,sV)], (4, 5, 6, 7), v.ovVv, (5, 6, 8, 3), (0, 4, 1, 8, 7, 2)) - t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sv)], (4, 5, 6, 7), v.ovVv, (5, 7, 8, 2), (0, 4, 1, 8, 6, 3)) * 2.0 - t3new += einsum(t2[np.ix_(sO,sO,sv,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.ovVv, (5, 3, 8, 2), (0, 4, 1, 8, 6, 7)) * -1.0 - t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sv)], (4, 5, 6, 7), v.ovVv, (5, 7, 8, 2), (0, 4, 1, 3, 6, 8)) * -2.0 - t3new += einsum(t2[np.ix_(sO,sO,sv,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.ovVv, (5, 3, 8, 2), (0, 4, 1, 7, 6, 8)) - t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sv,sV)], (4, 5, 6, 7), v.ovVv, (5, 6, 8, 2), (0, 4, 1, 8, 7, 3)) * -1.0 - t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sv,sV)], (4, 5, 6, 7), v.ovVv, (5, 6, 8, 2), (0, 4, 1, 3, 7, 8)) - t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,sO,sV,sv)], (4, 5, 6, 7), v.ovVv, (1, 3, 8, 7), (0, 4, 5, 2, 6, 8)) * 2.0 - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), t2[np.ix_(sO,sO,sv,sv)], (4, 5, 6, 7), v.ovVv, (1, 7, 8, 6), (0, 4, 5, 2, 8, 3)) * -1.0 - t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,sO,sv,sV)], (4, 5, 6, 7), v.ovVv, (1, 3, 8, 6), (0, 4, 5, 2, 8, 7)) * 2.0 - t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,sO,sV,sv)], (4, 5, 6, 7), v.ovVv, (1, 3, 8, 7), (0, 4, 5, 8, 6, 2)) * -2.0 - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), t2[np.ix_(sO,sO,sv,sv)], (4, 5, 6, 7), v.ovVv, (1, 7, 8, 6), (0, 4, 5, 3, 8, 2)) - t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,sO,sv,sV)], (4, 5, 6, 7), v.ovVv, (1, 3, 8, 6), (0, 4, 5, 7, 8, 2)) * -2.0 - t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,sO,sV,sv)], (4, 5, 6, 7), v.ovVv, (1, 2, 8, 7), (0, 4, 5, 8, 6, 3)) - t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,sO,sV,sv)], (4, 5, 6, 7), v.ovVv, (1, 2, 8, 7), (0, 4, 5, 3, 6, 8)) * -1.0 - t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,sO,sv,sV)], (4, 5, 6, 7), v.ovVv, (1, 2, 8, 6), (0, 4, 5, 3, 8, 7)) * -1.0 - t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,sO,sv,sV)], (4, 5, 6, 7), v.ovVv, (1, 2, 8, 6), (0, 4, 5, 7, 8, 3)) - t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,sO,sV,sv)], (4, 5, 6, 7), v.ovVv, (1, 7, 8, 3), (0, 4, 5, 2, 6, 8)) * -1.0 - t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,sO,sv,sV)], (4, 5, 6, 7), v.ovVv, (1, 6, 8, 3), (0, 4, 5, 2, 8, 7)) * -1.0 - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), t2[np.ix_(sO,sO,sv,sv)], (4, 5, 6, 7), v.ovVv, (1, 6, 8, 7), (0, 4, 5, 2, 3, 8)) * -1.0 - t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,sO,sV,sv)], (4, 5, 6, 7), v.ovVv, (1, 7, 8, 3), (0, 4, 5, 8, 6, 2)) - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), t2[np.ix_(sO,sO,sv,sv)], (4, 5, 6, 7), v.ovVv, (1, 6, 8, 7), (0, 4, 5, 8, 3, 2)) - t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,sO,sv,sV)], (4, 5, 6, 7), v.ovVv, (1, 6, 8, 3), (0, 4, 5, 7, 8, 2)) - t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,sO,sV,sv)], (4, 5, 6, 7), v.ovVv, (1, 7, 8, 2), (0, 4, 5, 8, 6, 3)) * -1.0 - t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,sO,sV,sv)], (4, 5, 6, 7), v.ovVv, (1, 7, 8, 2), (0, 4, 5, 3, 6, 8)) - t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,sO,sv,sV)], (4, 5, 6, 7), v.ovVv, (1, 6, 8, 2), (0, 4, 5, 8, 3, 7)) * -1.0 - t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,sO,sv,sV)], (4, 5, 6, 7), v.ovVv, (1, 6, 8, 2), (0, 4, 5, 7, 3, 8)) - t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sv)], (4, 5, 6, 7), v.ovVv, (5, 3, 8, 7), (0, 1, 4, 2, 8, 6)) * -1.0 - t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sv,sV)], (4, 5, 6, 7), v.ovVv, (5, 3, 8, 6), (0, 1, 4, 2, 7, 8)) * -1.0 - t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sv)], (4, 5, 6, 7), v.ovVv, (5, 3, 8, 7), (0, 1, 4, 6, 8, 2)) - t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sv,sV)], (4, 5, 6, 7), v.ovVv, (5, 3, 8, 6), (0, 1, 4, 8, 7, 2)) - t3new += einsum(t2[np.ix_(sO,sO,sv,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.ovVv, (5, 2, 8, 3), (0, 1, 4, 6, 8, 7)) - t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sv)], (4, 5, 6, 7), v.ovVv, (5, 2, 8, 7), (0, 1, 4, 6, 3, 8)) - t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sv)], (4, 5, 6, 7), v.ovVv, (5, 2, 8, 7), (0, 1, 4, 8, 3, 6)) * -1.0 - t3new += einsum(t2[np.ix_(sO,sO,sv,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.ovVv, (5, 2, 8, 3), (0, 1, 4, 7, 8, 6)) * -1.0 - t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sv,sV)], (4, 5, 6, 7), v.ovVv, (5, 2, 8, 6), (0, 1, 4, 8, 3, 7)) - t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sv,sV)], (4, 5, 6, 7), v.ovVv, (5, 2, 8, 6), (0, 1, 4, 7, 3, 8)) * -1.0 - t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sv)], (4, 5, 6, 7), v.ovVv, (5, 7, 8, 3), (0, 1, 4, 2, 8, 6)) * 2.0 - t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sv,sV)], (4, 5, 6, 7), v.ovVv, (5, 6, 8, 3), (0, 1, 4, 2, 8, 7)) * -1.0 - t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sv)], (4, 5, 6, 7), v.ovVv, (5, 7, 8, 3), (0, 1, 4, 6, 8, 2)) * -2.0 - t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sv,sV)], (4, 5, 6, 7), v.ovVv, (5, 6, 8, 3), (0, 1, 4, 7, 8, 2)) - t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sv)], (4, 5, 6, 7), v.ovVv, (5, 7, 8, 2), (0, 1, 4, 6, 3, 8)) * -2.0 - t3new += einsum(t2[np.ix_(sO,sO,sv,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.ovVv, (5, 3, 8, 2), (0, 1, 4, 6, 7, 8)) - t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sv)], (4, 5, 6, 7), v.ovVv, (5, 7, 8, 2), (0, 1, 4, 8, 3, 6)) * 2.0 - t3new += einsum(t2[np.ix_(sO,sO,sv,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.ovVv, (5, 3, 8, 2), (0, 1, 4, 8, 7, 6)) * -1.0 - t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sv,sV)], (4, 5, 6, 7), v.ovVv, (5, 6, 8, 2), (0, 1, 4, 8, 3, 7)) * -1.0 - t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sv,sV)], (4, 5, 6, 7), v.ovVv, (5, 6, 8, 2), (0, 1, 4, 7, 3, 8)) - t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), v.OvOV, (4, 3, 5, 6), t3, (4, 7, 5, 8, 9, 6), (0, 1, 7, 2, 8, 9)) * -0.5 - t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), v.OvOV, (4, 3, 5, 6), t3, (4, 7, 5, 8, 9, 6), (0, 1, 7, 9, 8, 2)) * 0.5 - t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), v.OvOV, (4, 2, 5, 6), t3, (7, 4, 5, 8, 9, 6), (0, 1, 7, 8, 3, 9)) * 0.5 - t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), v.OvOV, (4, 2, 5, 6), t3, (7, 4, 5, 8, 6, 9), (0, 1, 7, 8, 3, 9)) * -0.5 - t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), v.OvOV, (4, 2, 5, 6), t3, (7, 4, 5, 8, 9, 6), (0, 1, 7, 9, 3, 8)) * -0.5 - t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), v.OvOV, (4, 2, 5, 6), t3, (7, 5, 4, 8, 6, 9), (0, 1, 7, 8, 3, 9)) - t3new += einsum(t2[np.ix_(sO,sO,sv,sv)], (0, 1, 2, 3), v.OvOv, (4, 2, 5, 3), t3, (6, 5, 4, 7, 8, 9), (0, 1, 6, 7, 8, 9)) * -1.0 - t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), v.OVOv, (4, 5, 6, 3), t3, (7, 6, 4, 8, 9, 5), (0, 1, 7, 2, 9, 8)) * -1.0 - t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), v.OVOv, (4, 5, 6, 3), t3, (4, 7, 6, 8, 9, 5), (0, 1, 7, 2, 8, 9)) * 0.5 - t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), v.OVOv, (4, 5, 6, 3), t3, (7, 6, 4, 8, 9, 5), (0, 1, 7, 8, 9, 2)) - t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), v.OVOv, (4, 5, 6, 3), t3, (4, 7, 6, 8, 9, 5), (0, 1, 7, 9, 8, 2)) * -0.5 - t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), v.OVOv, (4, 5, 6, 2), t3, (7, 4, 6, 8, 9, 5), (0, 1, 7, 8, 3, 9)) * -0.5 - t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), v.OVOv, (4, 5, 6, 2), t3, (7, 4, 6, 8, 5, 9), (0, 1, 7, 8, 3, 9)) * 0.5 - t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), v.OVOv, (4, 5, 6, 2), t3, (7, 4, 6, 8, 9, 5), (0, 1, 7, 9, 3, 8)) * 0.5 - t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), v.OvOV, (4, 3, 5, 6), t3, (7, 4, 5, 8, 9, 6), (0, 7, 1, 2, 8, 9)) * -1.0 - t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), v.OvOV, (4, 3, 5, 6), t3, (4, 7, 5, 8, 9, 6), (0, 7, 1, 2, 9, 8)) * -0.5 - t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), v.OvOV, (4, 3, 5, 6), t3, (7, 4, 5, 8, 9, 6), (0, 7, 1, 9, 8, 2)) - t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), v.OvOV, (4, 3, 5, 6), t3, (4, 7, 5, 8, 9, 6), (0, 7, 1, 8, 9, 2)) * 0.5 - t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), v.OvOV, (4, 2, 5, 6), t3, (7, 4, 5, 8, 9, 6), (0, 7, 1, 3, 8, 9)) - t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), v.OvOV, (4, 2, 5, 6), t3, (7, 4, 5, 8, 9, 6), (0, 7, 1, 9, 8, 3)) * -1.0 - t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), v.OvOV, (4, 2, 5, 6), t3, (4, 7, 5, 8, 9, 6), (0, 7, 1, 3, 9, 8)) * 0.5 - t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), v.OvOV, (4, 2, 5, 6), t3, (4, 7, 5, 8, 9, 6), (0, 7, 1, 8, 9, 3)) * -0.5 - t3new += einsum(t2[np.ix_(sO,sO,sv,sv)], (0, 1, 2, 3), v.OvOv, (4, 2, 5, 3), t3, (4, 6, 5, 7, 8, 9), (0, 6, 1, 7, 8, 9)) * 0.5 - t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), v.OVOv, (4, 5, 6, 3), t3, (4, 7, 6, 8, 9, 5), (0, 7, 1, 2, 9, 8)) * 0.5 - t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), v.OVOv, (4, 5, 6, 3), t3, (4, 7, 6, 8, 9, 5), (0, 7, 1, 8, 9, 2)) * -0.5 - t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), v.OVOv, (4, 5, 6, 2), t3, (4, 7, 6, 8, 9, 5), (0, 7, 1, 3, 9, 8)) * -0.5 - t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), v.OVOv, (4, 5, 6, 2), t3, (4, 7, 6, 8, 9, 5), (0, 7, 1, 8, 9, 3)) * 0.5 - t3new += einsum(t2[np.ix_(sO,sO,sv,sv)], (0, 1, 2, 3), v.OvOv, (4, 3, 5, 2), t3, (4, 6, 5, 7, 8, 9), (0, 6, 1, 7, 8, 9)) * -0.5 - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.oVOV, (1, 4, 5, 6), t3, (7, 8, 5, 4, 9, 6), (0, 7, 8, 2, 3, 9)) * -0.5 - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.oVOV, (1, 4, 5, 6), t3, (7, 8, 5, 6, 9, 4), (0, 7, 8, 2, 3, 9)) * 0.5 - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.oVOV, (1, 4, 5, 6), t3, (7, 8, 5, 9, 4, 6), (0, 7, 8, 2, 9, 3)) * -1.0 - t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), v.ovOV, (1, 3, 4, 5), t3, (6, 7, 4, 8, 9, 5), (0, 6, 7, 2, 8, 9)) * 2.00000000000002 - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.oVOV, (1, 4, 5, 6), t3, (7, 8, 5, 4, 9, 6), (0, 8, 7, 2, 9, 3)) * -0.5 - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.oVOV, (1, 4, 5, 6), t3, (7, 8, 5, 6, 9, 4), (0, 8, 7, 2, 9, 3)) * 0.5 - t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), v.ovOV, (1, 3, 4, 5), t3, (6, 7, 4, 8, 9, 5), (0, 7, 6, 2, 9, 8)) * 2.00000000000002 - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.oVOV, (1, 4, 5, 6), t3, (7, 8, 5, 9, 4, 6), (0, 7, 8, 3, 9, 2)) - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.oVOV, (1, 4, 5, 6), t3, (7, 8, 5, 4, 9, 6), (0, 7, 8, 9, 3, 2)) * 0.5 - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.oVOV, (1, 4, 5, 6), t3, (7, 8, 5, 6, 9, 4), (0, 7, 8, 9, 3, 2)) * -0.5 - t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), v.ovOV, (1, 3, 4, 5), t3, (6, 7, 4, 8, 9, 5), (0, 6, 7, 9, 8, 2)) * -2.00000000000002 - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.oVOV, (1, 4, 5, 6), t3, (7, 8, 5, 4, 9, 6), (0, 8, 7, 3, 9, 2)) * 0.5 - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.oVOV, (1, 4, 5, 6), t3, (7, 8, 5, 6, 9, 4), (0, 8, 7, 3, 9, 2)) * -0.5 - t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), v.ovOV, (1, 3, 4, 5), t3, (6, 7, 4, 8, 9, 5), (0, 7, 6, 8, 9, 2)) * -2.00000000000002 - t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), v.ovOV, (1, 2, 4, 5), t3, (6, 7, 4, 8, 9, 5), (0, 6, 7, 3, 8, 9)) * -1.00000000000001 - t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), v.ovOV, (1, 2, 4, 5), t3, (6, 7, 4, 8, 9, 5), (0, 6, 7, 9, 8, 3)) * 1.00000000000001 - t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), v.ovOV, (1, 2, 4, 5), t3, (6, 7, 4, 8, 9, 5), (0, 7, 6, 3, 9, 8)) * -1.00000000000001 - t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), v.ovOV, (1, 2, 4, 5), t3, (6, 7, 4, 8, 9, 5), (0, 7, 6, 8, 9, 3)) * 1.00000000000001 - t3new += einsum(t2[np.ix_(sO,so,sv,sv)], (0, 1, 2, 3), v.ovOv, (1, 3, 4, 2), t3, (5, 6, 4, 7, 8, 9), (0, 6, 5, 7, 8, 9)) - t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), v.oVOv, (1, 4, 5, 3), t3, (6, 7, 5, 8, 9, 4), (0, 6, 7, 2, 8, 9)) * -1.00000000000001 - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.oVOV, (1, 4, 5, 6), t3, (7, 8, 5, 9, 4, 6), (0, 8, 7, 2, 3, 9)) * -1.0 - t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), v.oVOv, (1, 4, 5, 3), t3, (6, 7, 5, 8, 9, 4), (0, 7, 6, 2, 9, 8)) * -1.00000000000001 - t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), v.oVOv, (1, 4, 5, 3), t3, (6, 7, 5, 8, 9, 4), (0, 6, 7, 9, 8, 2)) * 1.00000000000001 - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.oVOV, (1, 4, 5, 6), t3, (7, 8, 5, 9, 4, 6), (0, 8, 7, 9, 3, 2)) - t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), v.oVOv, (1, 4, 5, 3), t3, (6, 7, 5, 8, 9, 4), (0, 7, 6, 8, 9, 2)) * 1.00000000000001 - t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), v.oVOv, (1, 4, 5, 2), t3, (6, 7, 5, 8, 9, 4), (0, 7, 6, 3, 9, 8)) * 1.00000000000001 - t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), v.oVOv, (1, 4, 5, 2), t3, (6, 7, 5, 8, 4, 9), (0, 7, 6, 8, 3, 9)) * -1.00000000000001 - t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), v.oVOv, (1, 4, 5, 2), t3, (6, 7, 5, 8, 9, 4), (0, 7, 6, 8, 9, 3)) * -1.00000000000001 - t3new += einsum(t2[np.ix_(sO,so,sv,sv)], (0, 1, 2, 3), v.ovOv, (1, 3, 4, 2), t3, (5, 6, 4, 7, 8, 9), (0, 6, 5, 7, 8, 9)) - t3new += einsum(t2[np.ix_(sO,so,sv,sv)], (0, 1, 2, 3), v.ovOv, (1, 2, 4, 3), t3, (5, 6, 4, 7, 8, 9), (0, 6, 5, 7, 8, 9)) * -1.0 - t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), v.OvOV, (4, 3, 5, 6), t3, (7, 4, 5, 8, 9, 6), (7, 0, 1, 8, 2, 9)) * -0.5 - t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), v.OvOV, (4, 3, 5, 6), t3, (7, 4, 5, 8, 6, 9), (7, 0, 1, 8, 2, 9)) * 0.5 - t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), v.OvOV, (4, 3, 5, 6), t3, (7, 4, 5, 8, 9, 6), (7, 0, 1, 9, 2, 8)) * 0.5 - t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), v.OvOV, (4, 3, 5, 6), t3, (7, 5, 4, 8, 6, 9), (7, 0, 1, 8, 2, 9)) * -1.0 - t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), v.OvOV, (4, 2, 5, 6), t3, (4, 7, 5, 8, 9, 6), (7, 0, 1, 3, 8, 9)) * 0.5 - t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), v.OvOV, (4, 2, 5, 6), t3, (4, 7, 5, 8, 9, 6), (7, 0, 1, 9, 8, 3)) * -0.5 - t3new += einsum(t2[np.ix_(sO,sO,sv,sv)], (0, 1, 2, 3), v.OvOv, (4, 3, 5, 2), t3, (6, 5, 4, 7, 8, 9), (6, 0, 1, 7, 8, 9)) - t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), v.OVOv, (4, 5, 6, 3), t3, (7, 4, 6, 8, 9, 5), (7, 0, 1, 8, 2, 9)) * 0.5 - t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), v.OVOv, (4, 5, 6, 3), t3, (7, 4, 6, 8, 5, 9), (7, 0, 1, 8, 2, 9)) * -0.5 - t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), v.OVOv, (4, 5, 6, 3), t3, (7, 4, 6, 8, 9, 5), (7, 0, 1, 9, 2, 8)) * -0.5 - t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), v.OVOv, (4, 5, 6, 2), t3, (7, 6, 4, 8, 9, 5), (7, 0, 1, 3, 9, 8)) - t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), v.OVOv, (4, 5, 6, 2), t3, (7, 6, 4, 8, 9, 5), (7, 0, 1, 8, 9, 3)) * -1.0 - t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), v.OVOv, (4, 5, 6, 2), t3, (4, 7, 6, 8, 9, 5), (7, 0, 1, 3, 8, 9)) * -0.5 - t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), v.OVOv, (4, 5, 6, 2), t3, (4, 7, 6, 8, 9, 5), (7, 0, 1, 9, 8, 3)) * 0.5 - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.oVOV, (1, 4, 5, 6), t3, (7, 5, 8, 9, 4, 6), (7, 0, 8, 3, 2, 9)) * -1.0 - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.oVOV, (1, 4, 5, 6), t3, (7, 5, 8, 9, 6, 4), (7, 0, 8, 3, 2, 9)) * 2.0 - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.oVOV, (1, 4, 5, 6), t3, (7, 5, 8, 4, 9, 6), (7, 0, 8, 3, 2, 9)) * 0.5 - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.oVOV, (1, 4, 5, 6), t3, (7, 5, 8, 6, 9, 4), (7, 0, 8, 3, 2, 9)) * -0.5 - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.oVOV, (1, 4, 5, 6), t3, (7, 5, 8, 9, 4, 6), (7, 0, 8, 9, 2, 3)) - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.oVOV, (1, 4, 5, 6), t3, (7, 5, 8, 9, 6, 4), (7, 0, 8, 9, 2, 3)) * -2.0 - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.oVOV, (1, 4, 5, 6), t3, (7, 5, 8, 4, 9, 6), (7, 0, 8, 9, 2, 3)) * -0.5 - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.oVOV, (1, 4, 5, 6), t3, (7, 5, 8, 6, 9, 4), (7, 0, 8, 9, 2, 3)) * 0.5 - t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), v.ovOV, (1, 3, 4, 5), t3, (6, 7, 4, 8, 9, 5), (6, 0, 7, 8, 2, 9)) * 2.00000000000002 - t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), v.ovOV, (1, 3, 4, 5), t3, (6, 7, 4, 8, 5, 9), (6, 0, 7, 8, 2, 9)) * -2.00000000000002 - t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), v.ovOV, (1, 3, 4, 5), t3, (6, 7, 4, 8, 9, 5), (6, 0, 7, 9, 2, 8)) * -2.00000000000002 - t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), v.ovOV, (1, 3, 4, 5), t3, (6, 4, 7, 8, 5, 9), (6, 0, 7, 8, 2, 9)) * 2.00000000000002 - t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), v.ovOV, (1, 2, 4, 5), t3, (6, 7, 4, 8, 9, 5), (6, 0, 7, 8, 3, 9)) * -1.00000000000001 - t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), v.ovOV, (1, 2, 4, 5), t3, (6, 7, 4, 8, 5, 9), (6, 0, 7, 8, 3, 9)) * 1.00000000000001 - t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), v.ovOV, (1, 2, 4, 5), t3, (6, 7, 4, 8, 9, 5), (6, 0, 7, 9, 3, 8)) * 1.00000000000001 - t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), v.ovOV, (1, 2, 4, 5), t3, (6, 4, 7, 8, 5, 9), (6, 0, 7, 8, 3, 9)) * -1.00000000000001 - t3new += einsum(t2[np.ix_(sO,so,sv,sv)], (0, 1, 2, 3), v.ovOv, (1, 3, 4, 2), t3, (5, 4, 6, 7, 8, 9), (5, 0, 6, 7, 8, 9)) * -2.0 - t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), v.oVOv, (1, 4, 5, 3), t3, (6, 7, 5, 8, 9, 4), (6, 0, 7, 8, 2, 9)) * -1.00000000000001 - t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), v.oVOv, (1, 4, 5, 3), t3, (6, 7, 5, 8, 4, 9), (6, 0, 7, 8, 2, 9)) * 1.00000000000001 - t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), v.oVOv, (1, 4, 5, 3), t3, (6, 7, 5, 8, 9, 4), (6, 0, 7, 9, 2, 8)) * 1.00000000000001 - t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), v.oVOv, (1, 4, 5, 3), t3, (6, 5, 7, 8, 4, 9), (6, 0, 7, 8, 2, 9)) * -1.00000000000001 - t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), v.oVOv, (1, 4, 5, 2), t3, (6, 5, 7, 8, 9, 4), (6, 0, 7, 3, 9, 8)) * -1.00000000000001 - t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), v.oVOv, (1, 4, 5, 2), t3, (6, 5, 7, 8, 4, 9), (6, 0, 7, 8, 3, 9)) * 1.00000000000001 - t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), v.oVOv, (1, 4, 5, 2), t3, (6, 5, 7, 8, 9, 4), (6, 0, 7, 8, 9, 3)) * 1.00000000000001 - t3new += einsum(t2[np.ix_(sO,so,sv,sv)], (0, 1, 2, 3), v.ovOv, (1, 2, 4, 3), t3, (5, 4, 6, 7, 8, 9), (5, 0, 6, 7, 8, 9)) - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.oVOV, (1, 4, 5, 6), t3, (7, 8, 5, 4, 9, 6), (7, 8, 0, 2, 9, 3)) * 0.5 - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.oVOV, (1, 4, 5, 6), t3, (7, 8, 5, 6, 9, 4), (7, 8, 0, 2, 9, 3)) * -0.5 - t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), v.ovOV, (1, 3, 4, 5), t3, (6, 7, 4, 8, 9, 5), (6, 7, 0, 2, 9, 8)) * -2.00000000000002 - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.oVOV, (1, 4, 5, 6), t3, (7, 8, 5, 4, 9, 6), (8, 7, 0, 2, 3, 9)) * 0.5 - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.oVOV, (1, 4, 5, 6), t3, (7, 8, 5, 6, 9, 4), (8, 7, 0, 2, 3, 9)) * -0.5 - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.oVOV, (1, 4, 5, 6), t3, (7, 8, 5, 9, 4, 6), (8, 7, 0, 2, 9, 3)) - t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), v.ovOV, (1, 3, 4, 5), t3, (6, 7, 4, 8, 9, 5), (7, 6, 0, 2, 8, 9)) * -2.00000000000002 - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.oVOV, (1, 4, 5, 6), t3, (7, 8, 5, 4, 9, 6), (7, 8, 0, 3, 9, 2)) * -0.5 - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.oVOV, (1, 4, 5, 6), t3, (7, 8, 5, 6, 9, 4), (7, 8, 0, 3, 9, 2)) * 0.5 - t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), v.ovOV, (1, 3, 4, 5), t3, (6, 7, 4, 8, 9, 5), (6, 7, 0, 8, 9, 2)) * 2.00000000000002 - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.oVOV, (1, 4, 5, 6), t3, (7, 8, 5, 9, 4, 6), (8, 7, 0, 3, 9, 2)) * -1.0 - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.oVOV, (1, 4, 5, 6), t3, (7, 8, 5, 4, 9, 6), (8, 7, 0, 9, 3, 2)) * -0.5 - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.oVOV, (1, 4, 5, 6), t3, (7, 8, 5, 6, 9, 4), (8, 7, 0, 9, 3, 2)) * 0.5 - t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), v.ovOV, (1, 3, 4, 5), t3, (6, 7, 4, 8, 9, 5), (7, 6, 0, 9, 8, 2)) * 2.00000000000002 - t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), v.ovOV, (1, 2, 4, 5), t3, (6, 7, 4, 8, 9, 5), (6, 7, 0, 3, 9, 8)) * 1.00000000000001 - t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), v.ovOV, (1, 2, 4, 5), t3, (6, 7, 4, 8, 9, 5), (6, 7, 0, 8, 9, 3)) * -1.00000000000001 - t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), v.ovOV, (1, 2, 4, 5), t3, (6, 7, 4, 8, 9, 5), (7, 6, 0, 3, 8, 9)) * 1.00000000000001 - t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), v.ovOV, (1, 2, 4, 5), t3, (6, 7, 4, 8, 9, 5), (7, 6, 0, 9, 8, 3)) * -1.00000000000001 - t3new += einsum(t2[np.ix_(sO,so,sv,sv)], (0, 1, 2, 3), v.ovOv, (1, 3, 4, 2), t3, (5, 6, 4, 7, 8, 9), (5, 6, 0, 7, 8, 9)) * -1.0 - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.oVOV, (1, 4, 5, 6), t3, (7, 8, 5, 9, 4, 6), (7, 8, 0, 2, 3, 9)) - t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), v.oVOv, (1, 4, 5, 3), t3, (6, 7, 5, 8, 9, 4), (6, 7, 0, 2, 9, 8)) * 1.00000000000001 - t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), v.oVOv, (1, 4, 5, 3), t3, (6, 7, 5, 8, 9, 4), (7, 6, 0, 2, 8, 9)) * 1.00000000000001 - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.oVOV, (1, 4, 5, 6), t3, (7, 8, 5, 9, 4, 6), (7, 8, 0, 9, 3, 2)) * -1.0 - t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), v.oVOv, (1, 4, 5, 3), t3, (6, 7, 5, 8, 9, 4), (6, 7, 0, 8, 9, 2)) * -1.00000000000001 - t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), v.oVOv, (1, 4, 5, 3), t3, (6, 7, 5, 8, 9, 4), (7, 6, 0, 9, 8, 2)) * -1.00000000000001 - t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), v.oVOv, (1, 4, 5, 2), t3, (6, 7, 5, 8, 9, 4), (6, 7, 0, 3, 9, 8)) * -1.00000000000001 - t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), v.oVOv, (1, 4, 5, 2), t3, (6, 7, 5, 8, 4, 9), (6, 7, 0, 8, 3, 9)) * 1.00000000000001 - t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), v.oVOv, (1, 4, 5, 2), t3, (6, 7, 5, 8, 9, 4), (6, 7, 0, 8, 9, 3)) * 1.00000000000001 - t3new += einsum(t2[np.ix_(sO,so,sv,sv)], (0, 1, 2, 3), v.ovOv, (1, 3, 4, 2), t3, (5, 6, 4, 7, 8, 9), (5, 6, 0, 7, 8, 9)) * -1.0 - t3new += einsum(t2[np.ix_(sO,so,sv,sv)], (0, 1, 2, 3), v.ovOv, (1, 2, 4, 3), t3, (5, 6, 4, 7, 8, 9), (5, 6, 0, 7, 8, 9)) - t3new += einsum(t2[np.ix_(so,so,sV,sV)], (0, 1, 2, 3), v.oVoV, (0, 4, 1, 5), t3, (6, 7, 8, 9, 5, 4), (6, 7, 8, 2, 3, 9)) * -1.0 - t3new += einsum(t2[np.ix_(so,so,sV,sV)], (0, 1, 2, 3), v.oVoV, (0, 4, 1, 5), t3, (6, 7, 8, 4, 9, 5), (6, 7, 8, 2, 9, 3)) * 0.25 - t3new += einsum(t2[np.ix_(so,so,sV,sV)], (0, 1, 2, 3), v.oVoV, (0, 4, 1, 5), t3, (6, 7, 8, 5, 9, 4), (6, 7, 8, 2, 9, 3)) * -0.25 - t3new += einsum(t2[np.ix_(so,so,sV,sv)], (0, 1, 2, 3), v.ovoV, (0, 3, 1, 4), t3, (5, 6, 7, 8, 9, 4), (5, 6, 7, 2, 9, 8)) * -0.5 - t3new += einsum(t2[np.ix_(so,so,sV,sv)], (0, 1, 2, 3), v.ovoV, (0, 3, 1, 4), t3, (5, 6, 7, 8, 4, 9), (5, 6, 7, 8, 2, 9)) * 0.5 - t3new += einsum(t2[np.ix_(so,so,sV,sV)], (0, 1, 2, 3), v.oVoV, (0, 4, 1, 5), t3, (6, 7, 8, 4, 9, 5), (6, 7, 8, 3, 9, 2)) * -0.25 - t3new += einsum(t2[np.ix_(so,so,sV,sV)], (0, 1, 2, 3), v.oVoV, (0, 4, 1, 5), t3, (6, 7, 8, 5, 9, 4), (6, 7, 8, 3, 9, 2)) * 0.25 - t3new += einsum(t2[np.ix_(so,so,sV,sV)], (0, 1, 2, 3), v.oVoV, (0, 4, 1, 5), t3, (6, 7, 8, 9, 5, 4), (6, 7, 8, 9, 3, 2)) - t3new += einsum(t2[np.ix_(so,so,sV,sv)], (0, 1, 2, 3), v.ovoV, (0, 3, 1, 4), t3, (5, 6, 7, 8, 9, 4), (5, 6, 7, 8, 9, 2)) * 0.5 - t3new += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), v.ovoV, (0, 2, 1, 4), t3, (5, 6, 7, 8, 9, 4), (5, 6, 7, 3, 9, 8)) * 0.5 - t3new += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), v.ovoV, (0, 2, 1, 4), t3, (5, 6, 7, 8, 4, 9), (5, 6, 7, 8, 3, 9)) * -1.5 - t3new += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), v.ovoV, (0, 2, 1, 4), t3, (5, 6, 7, 8, 9, 4), (5, 6, 7, 8, 9, 3)) * -0.5 - t3new += einsum(t2[np.ix_(so,so,sV,sv)], (0, 1, 2, 3), v.oVov, (0, 4, 1, 3), t3, (5, 6, 7, 8, 9, 4), (5, 6, 7, 2, 9, 8)) * 1.5 - t3new += einsum(t2[np.ix_(so,so,sV,sv)], (0, 1, 2, 3), v.oVov, (0, 4, 1, 3), t3, (5, 6, 7, 8, 4, 9), (5, 6, 7, 8, 2, 9)) * -0.5 - t3new += einsum(t2[np.ix_(so,so,sV,sv)], (0, 1, 2, 3), v.oVov, (0, 4, 1, 3), t3, (5, 6, 7, 8, 9, 4), (5, 6, 7, 8, 9, 2)) * -1.5 - t3new += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), v.oVov, (0, 4, 1, 2), t3, (5, 6, 7, 8, 9, 4), (5, 6, 7, 3, 9, 8)) * -0.5 - t3new += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), v.oVov, (0, 4, 1, 2), t3, (5, 6, 7, 8, 4, 9), (5, 6, 7, 8, 3, 9)) * 0.5 - t3new += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), v.oVov, (0, 4, 1, 2), t3, (5, 6, 7, 8, 9, 4), (5, 6, 7, 8, 9, 3)) * 0.5 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 2, 5, 1), (0, 4, 8, 3, 6, 7)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 2, 1), (0, 4, 8, 3, 6, 7)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 2, 1), (0, 8, 4, 3, 7, 6)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 2, 5, 1), (0, 8, 4, 6, 3, 7)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 2, 5, 1), (0, 8, 4, 7, 3, 6)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 2, 5, 1), (0, 4, 8, 7, 6, 3)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 2, 1), (0, 4, 8, 7, 6, 3)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 2, 1), (0, 8, 4, 6, 7, 3)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 2, 5, 1), (4, 0, 8, 3, 7, 6)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 2, 5, 1), (8, 0, 4, 3, 7, 6)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 2, 1), (4, 0, 8, 6, 3, 7)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 2, 1), (4, 0, 8, 7, 3, 6)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 2, 1), (8, 0, 4, 6, 3, 7)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 2, 1), (8, 0, 4, 7, 3, 6)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 2, 5, 1), (4, 0, 8, 6, 7, 3)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 2, 5, 1), (8, 0, 4, 6, 7, 3)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 2, 1), (4, 8, 0, 3, 7, 6)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 2, 5, 1), (8, 4, 0, 3, 6, 7)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 2, 1), (8, 4, 0, 3, 6, 7)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 2, 5, 1), (4, 8, 0, 6, 3, 7)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 2, 5, 1), (4, 8, 0, 7, 3, 6)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 2, 1), (4, 8, 0, 6, 7, 3)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 2, 5, 1), (8, 4, 0, 7, 6, 3)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 2, 1), (8, 4, 0, 7, 6, 3)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sV,sv)], (4, 5, 6, 7), v.Ooov, (8, 2, 0, 7), (4, 8, 5, 1, 3, 6)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sv,sV)], (4, 5, 6, 7), v.Ooov, (8, 2, 0, 6), (4, 8, 5, 1, 3, 7)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sV,sv)], (4, 5, 6, 7), v.Ooov, (8, 0, 2, 7), (4, 5, 8, 1, 3, 6)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sv,sV)], (4, 5, 6, 7), v.Ooov, (8, 0, 2, 6), (8, 4, 5, 1, 3, 7)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sv,sV)], (4, 5, 6, 7), v.Ooov, (8, 0, 2, 6), (4, 5, 8, 1, 7, 3)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sv,sV)], (4, 5, 6, 7), v.Ooov, (8, 2, 0, 6), (4, 5, 8, 1, 7, 3)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sV,sv)], (4, 5, 6, 7), v.Ooov, (8, 0, 2, 7), (8, 4, 5, 1, 6, 3)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sV,sv)], (4, 5, 6, 7), v.Ooov, (8, 2, 0, 7), (8, 4, 5, 1, 6, 3)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sV,sv)], (4, 5, 6, 7), v.Ooov, (8, 0, 2, 7), (4, 8, 5, 6, 1, 3)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sv,sV)], (4, 5, 6, 7), v.Ooov, (8, 0, 2, 6), (4, 8, 5, 7, 1, 3)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sV,sv)], (4, 5, 6, 7), v.Ooov, (8, 2, 0, 7), (4, 5, 8, 6, 1, 3)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sv,sV)], (4, 5, 6, 7), v.Ooov, (8, 2, 0, 6), (8, 4, 5, 7, 1, 3)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(sO,sv)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.ovVv, (5, 1, 8, 3), (0, 2, 4, 6, 8, 7)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(sO,sv)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.ovVv, (5, 1, 8, 3), (0, 2, 4, 7, 8, 6)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(sO,sv)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.ovVv, (5, 3, 8, 1), (0, 2, 4, 6, 7, 8)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(sO,sv)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.ovVv, (5, 3, 8, 1), (0, 2, 4, 8, 7, 6)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(sO,sv)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.ovVv, (5, 1, 8, 3), (0, 4, 2, 8, 6, 7)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(sO,sv)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.ovVv, (5, 1, 8, 3), (0, 4, 2, 7, 6, 8)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(sO,sv)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.ovVv, (5, 3, 8, 1), (0, 4, 2, 8, 6, 7)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(sO,sv)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.ovVv, (5, 3, 8, 1), (0, 4, 2, 7, 6, 8)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sV,sv)], (4, 5, 6, 7), v.ovVv, (2, 1, 8, 7), (0, 4, 5, 3, 6, 8)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sv,sV)], (4, 5, 6, 7), v.ovVv, (2, 1, 8, 6), (0, 4, 5, 3, 8, 7)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sV,sv)], (4, 5, 6, 7), v.ovVv, (2, 7, 8, 1), (0, 4, 5, 3, 6, 8)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sv,sV)], (4, 5, 6, 7), v.ovVv, (2, 6, 8, 1), (0, 4, 5, 8, 3, 7)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sv,sV)], (4, 5, 6, 7), v.ovVv, (2, 6, 8, 1), (0, 4, 5, 7, 3, 8)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sV,sv)], (4, 5, 6, 7), v.ovVv, (2, 1, 8, 7), (0, 4, 5, 8, 6, 3)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sv,sV)], (4, 5, 6, 7), v.ovVv, (2, 1, 8, 6), (0, 4, 5, 7, 8, 3)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sV,sv)], (4, 5, 6, 7), v.ovVv, (2, 7, 8, 1), (0, 4, 5, 8, 6, 3)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(sO,sv)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.ovVv, (5, 1, 8, 3), (4, 0, 2, 6, 7, 8)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(sO,sv)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.ovVv, (5, 1, 8, 3), (4, 0, 2, 8, 7, 6)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(sO,sv)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.ovVv, (5, 3, 8, 1), (4, 0, 2, 6, 8, 7)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(sO,sv)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.ovVv, (5, 3, 8, 1), (4, 0, 2, 7, 8, 6)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sV,sv)], (4, 5, 6, 7), v.ovVv, (2, 7, 8, 1), (4, 0, 5, 3, 8, 6)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sv,sV)], (4, 5, 6, 7), v.ovVv, (2, 6, 8, 1), (4, 0, 5, 3, 8, 7)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sV,sv)], (4, 5, 6, 7), v.ovVv, (2, 1, 8, 7), (4, 0, 5, 6, 3, 8)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sV,sv)], (4, 5, 6, 7), v.ovVv, (2, 1, 8, 7), (4, 0, 5, 8, 3, 6)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sv,sV)], (4, 5, 6, 7), v.ovVv, (2, 1, 8, 6), (4, 0, 5, 8, 3, 7)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sv,sV)], (4, 5, 6, 7), v.ovVv, (2, 1, 8, 6), (4, 0, 5, 7, 3, 8)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sV,sv)], (4, 5, 6, 7), v.ovVv, (2, 7, 8, 1), (4, 0, 5, 6, 8, 3)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sv,sV)], (4, 5, 6, 7), v.ovVv, (2, 6, 8, 1), (4, 0, 5, 7, 8, 3)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sV,sv)], (4, 5, 6, 7), v.ovVv, (2, 1, 8, 7), (4, 5, 0, 3, 8, 6)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sv,sV)], (4, 5, 6, 7), v.ovVv, (2, 1, 8, 6), (4, 5, 0, 3, 7, 8)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sv,sV)], (4, 5, 6, 7), v.ovVv, (2, 6, 8, 1), (4, 5, 0, 3, 7, 8)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sV,sv)], (4, 5, 6, 7), v.ovVv, (2, 7, 8, 1), (4, 5, 0, 6, 3, 8)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sV,sv)], (4, 5, 6, 7), v.ovVv, (2, 7, 8, 1), (4, 5, 0, 8, 3, 6)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sV,sv)], (4, 5, 6, 7), v.ovVv, (2, 1, 8, 7), (4, 5, 0, 6, 8, 3)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sv,sV)], (4, 5, 6, 7), v.ovVv, (2, 1, 8, 6), (4, 5, 0, 8, 7, 3)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sv,sV)], (4, 5, 6, 7), v.ovVv, (2, 6, 8, 1), (4, 5, 0, 8, 7, 3)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(sO,sv)], (2, 3), v.OvOv, (4, 1, 5, 3), t3, (6, 5, 4, 7, 8, 9), (0, 2, 6, 7, 8, 9)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(sO,sv)], (2, 3), v.OvOv, (4, 1, 5, 3), t3, (4, 6, 5, 7, 8, 9), (0, 6, 2, 7, 8, 9)) * 0.5 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(sO,sv)], (2, 3), v.OvOv, (4, 3, 5, 1), t3, (4, 6, 5, 7, 8, 9), (0, 6, 2, 7, 8, 9)) * -0.5 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), v.ovOV, (2, 1, 4, 5), t3, (6, 7, 4, 8, 9, 5), (0, 6, 7, 3, 8, 9)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), v.ovOV, (2, 1, 4, 5), t3, (6, 7, 4, 8, 9, 5), (0, 7, 6, 3, 9, 8)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), v.oVOv, (2, 4, 5, 1), t3, (6, 7, 5, 8, 9, 4), (0, 7, 6, 3, 9, 8)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), v.oVOv, (2, 4, 5, 1), t3, (6, 7, 5, 8, 4, 9), (0, 7, 6, 8, 3, 9)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), v.ovOV, (2, 1, 4, 5), t3, (6, 7, 4, 8, 9, 5), (0, 6, 7, 9, 8, 3)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), v.ovOV, (2, 1, 4, 5), t3, (6, 7, 4, 8, 9, 5), (0, 7, 6, 8, 9, 3)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), v.oVOv, (2, 4, 5, 1), t3, (6, 7, 5, 8, 9, 4), (0, 7, 6, 8, 9, 3)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), v.ovOv, (2, 1, 4, 3), t3, (5, 6, 4, 7, 8, 9), (0, 6, 5, 7, 8, 9)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), v.ovOv, (2, 3, 4, 1), t3, (5, 6, 4, 7, 8, 9), (0, 6, 5, 7, 8, 9)) * 2.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(sO,sv)], (2, 3), v.OvOv, (4, 3, 5, 1), t3, (6, 5, 4, 7, 8, 9), (6, 0, 2, 7, 8, 9)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), v.oVOv, (2, 4, 5, 1), t3, (6, 5, 7, 8, 9, 4), (6, 0, 7, 3, 9, 8)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), v.ovOV, (2, 1, 4, 5), t3, (6, 7, 4, 8, 9, 5), (6, 0, 7, 8, 3, 9)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), v.ovOV, (2, 1, 4, 5), t3, (6, 7, 4, 8, 9, 5), (6, 0, 7, 9, 3, 8)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), v.ovOV, (2, 1, 4, 5), t3, (6, 7, 4, 8, 5, 9), (6, 0, 7, 8, 3, 9)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), v.ovOV, (2, 1, 4, 5), t3, (6, 4, 7, 8, 5, 9), (6, 0, 7, 8, 3, 9)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), v.oVOv, (2, 4, 5, 1), t3, (6, 5, 7, 8, 4, 9), (6, 0, 7, 8, 3, 9)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), v.oVOv, (2, 4, 5, 1), t3, (6, 5, 7, 8, 9, 4), (6, 0, 7, 8, 9, 3)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), v.ovOv, (2, 1, 4, 3), t3, (5, 4, 6, 7, 8, 9), (5, 0, 6, 7, 8, 9)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), v.ovOv, (2, 3, 4, 1), t3, (5, 4, 6, 7, 8, 9), (5, 0, 6, 7, 8, 9)) * -2.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), v.ovOV, (2, 1, 4, 5), t3, (6, 7, 4, 8, 9, 5), (6, 7, 0, 3, 9, 8)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), v.ovOV, (2, 1, 4, 5), t3, (6, 7, 4, 8, 9, 5), (7, 6, 0, 3, 8, 9)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), v.oVOv, (2, 4, 5, 1), t3, (6, 7, 5, 8, 9, 4), (6, 7, 0, 3, 9, 8)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), v.oVOv, (2, 4, 5, 1), t3, (6, 7, 5, 8, 4, 9), (6, 7, 0, 8, 3, 9)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), v.ovOV, (2, 1, 4, 5), t3, (6, 7, 4, 8, 9, 5), (6, 7, 0, 8, 9, 3)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), v.ovOV, (2, 1, 4, 5), t3, (6, 7, 4, 8, 9, 5), (7, 6, 0, 9, 8, 3)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), v.oVOv, (2, 4, 5, 1), t3, (6, 7, 5, 8, 9, 4), (6, 7, 0, 8, 9, 3)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), v.ovOv, (2, 1, 4, 3), t3, (5, 6, 4, 7, 8, 9), (5, 6, 0, 7, 8, 9)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), v.ovOv, (2, 3, 4, 1), t3, (5, 6, 4, 7, 8, 9), (5, 6, 0, 7, 8, 9)) * -2.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t1[np.ix_(so,sV)], (2, 3), v.oVoV, (0, 4, 2, 5), t3, (6, 7, 8, 9, 5, 4), (6, 7, 8, 1, 3, 9)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t1[np.ix_(so,sV)], (2, 3), v.oVoV, (0, 4, 2, 5), t3, (6, 7, 8, 5, 9, 4), (6, 7, 8, 1, 9, 3)) * -0.5 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t1[np.ix_(so,sV)], (2, 3), v.oVoV, (0, 4, 2, 5), t3, (6, 7, 8, 4, 9, 5), (6, 7, 8, 1, 9, 3)) * 0.5 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t1[np.ix_(so,sV)], (2, 3), v.oVoV, (0, 4, 2, 5), t3, (6, 7, 8, 9, 4, 5), (6, 7, 8, 9, 1, 3)) - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), v.ovoV, (0, 1, 2, 4), t3, (5, 6, 7, 8, 9, 4), (5, 6, 7, 3, 9, 8)) * 2.0 - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), v.oVov, (0, 4, 2, 1), t3, (5, 6, 7, 8, 9, 4), (5, 6, 7, 3, 9, 8)) * -1.0 - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), v.ovoV, (0, 1, 2, 4), t3, (5, 6, 7, 8, 4, 9), (5, 6, 7, 8, 3, 9)) * -2.0 - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), v.oVov, (0, 4, 2, 1), t3, (5, 6, 7, 8, 4, 9), (5, 6, 7, 8, 3, 9)) - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), v.ovoV, (0, 1, 2, 4), t3, (5, 6, 7, 8, 9, 4), (5, 6, 7, 8, 9, 3)) * -2.0 - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), v.oVov, (0, 4, 2, 1), t3, (5, 6, 7, 8, 9, 4), (5, 6, 7, 8, 9, 3)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (3, 5, 7, 1), (0, 2, 6, 8, 4, 9)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (3, 5, 7, 1), (0, 2, 6, 9, 4, 8)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (3, 4, 7, 1), (0, 2, 6, 8, 5, 9)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (3, 4, 7, 1), (0, 2, 6, 9, 5, 8)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sv)], (6, 7, 8, 9), v.ovov, (7, 1, 3, 9), (0, 2, 6, 8, 4, 5)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (7, 1, 3, 5), (0, 2, 6, 8, 4, 9)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sv)], (6, 7, 8, 9), v.ovov, (7, 1, 3, 9), (0, 2, 6, 5, 4, 8)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (7, 1, 3, 5), (0, 2, 6, 9, 4, 8)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sv,sV)], (6, 7, 8, 9), v.ovov, (7, 1, 3, 8), (0, 2, 6, 5, 4, 9)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sv,sV)], (6, 7, 8, 9), v.ovov, (7, 1, 3, 8), (0, 2, 6, 9, 4, 5)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sv)], (6, 7, 8, 9), v.ovov, (7, 9, 3, 1), (0, 2, 6, 8, 4, 5)) * 2.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (7, 5, 3, 1), (0, 2, 6, 8, 4, 9)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sv)], (6, 7, 8, 9), v.ovov, (7, 9, 3, 1), (0, 2, 6, 5, 4, 8)) * -2.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (7, 5, 3, 1), (0, 2, 6, 9, 4, 8)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sv,sV)], (6, 7, 8, 9), v.ovov, (7, 8, 3, 1), (0, 2, 6, 5, 4, 9)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sv,sV)], (6, 7, 8, 9), v.ovov, (7, 8, 3, 1), (0, 2, 6, 9, 4, 5)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (7, 4, 3, 1), (0, 2, 6, 8, 9, 5)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (7, 4, 3, 1), (0, 2, 6, 5, 9, 8)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), t2[np.ix_(so,so,sV,sV)], (6, 7, 8, 9), v.ovov, (6, 1, 7, 5), (0, 2, 3, 8, 4, 9)) * 0.5 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), t2[np.ix_(so,so,sV,sV)], (6, 7, 8, 9), v.ovov, (6, 1, 7, 5), (0, 2, 3, 9, 4, 8)) * -0.5 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), t2[np.ix_(so,so,sV,sV)], (6, 7, 8, 9), v.ovov, (6, 1, 7, 4), (0, 2, 3, 8, 9, 5)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), t2[np.ix_(so,so,sV,sV)], (6, 7, 8, 9), v.ovov, (6, 1, 7, 4), (0, 2, 3, 5, 9, 8)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), t2[np.ix_(so,so,sV,sV)], (6, 7, 8, 9), v.ovov, (6, 5, 7, 1), (0, 2, 3, 8, 4, 9)) * -0.5 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), t2[np.ix_(so,so,sV,sV)], (6, 7, 8, 9), v.ovov, (6, 5, 7, 1), (0, 2, 3, 9, 4, 8)) * 0.5 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sv)], (6, 7, 8, 9), v.ovov, (3, 1, 7, 9), (2, 0, 6, 4, 5, 8)) * -2.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (3, 1, 7, 5), (2, 0, 6, 4, 9, 8)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sv,sV)], (6, 7, 8, 9), v.ovov, (3, 1, 7, 8), (2, 0, 6, 4, 5, 9)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sv)], (6, 7, 8, 9), v.ovov, (3, 1, 7, 9), (2, 0, 6, 8, 5, 4)) * 2.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (3, 1, 7, 5), (2, 0, 6, 8, 9, 4)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sv,sV)], (6, 7, 8, 9), v.ovov, (3, 1, 7, 8), (2, 0, 6, 9, 5, 4)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (3, 1, 7, 4), (2, 0, 6, 8, 5, 9)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (3, 1, 7, 4), (2, 0, 6, 9, 5, 8)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sv)], (6, 7, 8, 9), v.ovov, (3, 9, 7, 1), (2, 0, 6, 4, 5, 8)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (3, 5, 7, 1), (2, 0, 6, 4, 9, 8)) * -2.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sv,sV)], (6, 7, 8, 9), v.ovov, (3, 8, 7, 1), (2, 0, 6, 4, 9, 5)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sv)], (6, 7, 8, 9), v.ovov, (3, 9, 7, 1), (2, 0, 6, 8, 5, 4)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (3, 5, 7, 1), (2, 0, 6, 8, 9, 4)) * 2.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sv,sV)], (6, 7, 8, 9), v.ovov, (3, 8, 7, 1), (2, 0, 6, 5, 9, 4)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (3, 4, 7, 1), (2, 0, 6, 8, 9, 5)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (3, 4, 7, 1), (2, 0, 6, 5, 9, 8)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), t2[np.ix_(so,so,sV,sV)], (6, 7, 8, 9), v.ovov, (6, 5, 7, 1), (2, 0, 3, 4, 9, 8)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), t2[np.ix_(so,so,sV,sV)], (6, 7, 8, 9), v.ovov, (6, 5, 7, 1), (2, 0, 3, 8, 9, 4)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), t2[np.ix_(so,so,sV,sV)], (6, 7, 8, 9), v.ovov, (6, 4, 7, 1), (2, 0, 3, 8, 9, 5)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), t2[np.ix_(so,so,sV,sV)], (6, 7, 8, 9), v.ovov, (6, 4, 7, 1), (2, 0, 3, 5, 9, 8)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sv)], (6, 7, 8, 9), v.ovov, (3, 1, 7, 9), (2, 6, 0, 4, 8, 5)) * -2.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (3, 1, 7, 5), (2, 6, 0, 4, 8, 9)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sv,sV)], (6, 7, 8, 9), v.ovov, (3, 1, 7, 8), (2, 6, 0, 4, 9, 5)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sv)], (6, 7, 8, 9), v.ovov, (3, 1, 7, 9), (2, 6, 0, 5, 8, 4)) * 2.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (3, 1, 7, 5), (2, 6, 0, 9, 8, 4)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sv,sV)], (6, 7, 8, 9), v.ovov, (3, 1, 7, 8), (2, 6, 0, 5, 9, 4)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (3, 1, 7, 4), (2, 6, 0, 5, 8, 9)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (3, 1, 7, 4), (2, 6, 0, 9, 8, 5)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sv)], (6, 7, 8, 9), v.ovov, (3, 9, 7, 1), (2, 6, 0, 4, 8, 5)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (3, 5, 7, 1), (2, 6, 0, 4, 8, 9)) * -2.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sv,sV)], (6, 7, 8, 9), v.ovov, (3, 8, 7, 1), (2, 6, 0, 4, 5, 9)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sv)], (6, 7, 8, 9), v.ovov, (3, 9, 7, 1), (2, 6, 0, 5, 8, 4)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (3, 5, 7, 1), (2, 6, 0, 9, 8, 4)) * 2.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sv,sV)], (6, 7, 8, 9), v.ovov, (3, 8, 7, 1), (2, 6, 0, 9, 5, 4)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (3, 4, 7, 1), (2, 6, 0, 5, 8, 9)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (3, 4, 7, 1), (2, 6, 0, 9, 8, 5)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), t2[np.ix_(so,so,sV,sV)], (6, 7, 8, 9), v.ovov, (6, 1, 7, 5), (2, 3, 0, 4, 9, 8)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), t2[np.ix_(so,so,sV,sV)], (6, 7, 8, 9), v.ovov, (6, 1, 7, 5), (2, 3, 0, 8, 9, 4)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), t2[np.ix_(so,so,sV,sV)], (6, 7, 8, 9), v.ovov, (6, 1, 7, 4), (2, 3, 0, 8, 5, 9)) * -0.5 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), t2[np.ix_(so,so,sV,sV)], (6, 7, 8, 9), v.ovov, (6, 1, 7, 4), (2, 3, 0, 9, 5, 8)) * 0.5 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), t2[np.ix_(so,so,sV,sV)], (6, 7, 8, 9), v.ovov, (6, 4, 7, 1), (2, 3, 0, 8, 5, 9)) * 0.5 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), t2[np.ix_(so,so,sV,sV)], (6, 7, 8, 9), v.ovov, (6, 4, 7, 1), (2, 3, 0, 9, 5, 8)) * -0.5 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sv)], (6, 7, 8, 9), v.ovov, (0, 5, 7, 9), (2, 6, 3, 1, 8, 4)) * 2.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sv,sV)], (6, 7, 8, 9), v.ovov, (0, 5, 7, 8), (2, 6, 3, 1, 9, 4)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sv)], (6, 7, 8, 9), v.ovov, (0, 4, 7, 9), (2, 6, 3, 1, 8, 5)) * -2.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (0, 4, 7, 5), (2, 6, 3, 1, 8, 9)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sv,sV)], (6, 7, 8, 9), v.ovov, (0, 4, 7, 8), (2, 6, 3, 1, 9, 5)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sv)], (6, 7, 8, 9), v.ovov, (0, 9, 7, 5), (2, 6, 3, 1, 8, 4)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sv)], (6, 7, 8, 9), v.ovov, (0, 9, 7, 4), (2, 6, 3, 1, 8, 5)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (0, 5, 7, 4), (2, 6, 3, 1, 8, 9)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,so,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,sO,sV,sv)], (6, 7, 8, 9), v.ovov, (0, 5, 3, 9), (2, 6, 7, 1, 8, 4)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,sO,sv,sv)], (6, 7, 8, 9), v.ovov, (0, 9, 3, 8), (2, 6, 7, 1, 5, 4)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,so,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,sO,sV,sv)], (6, 7, 8, 9), v.ovov, (0, 4, 3, 9), (2, 6, 7, 1, 8, 5)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,so,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,sO,sv,sV)], (6, 7, 8, 9), v.ovov, (0, 4, 3, 8), (2, 6, 7, 1, 5, 9)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,so,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,sO,sV,sv)], (6, 7, 8, 9), v.ovov, (0, 9, 3, 5), (2, 6, 7, 1, 8, 4)) * 2.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,so,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,sO,sV,sv)], (6, 7, 8, 9), v.ovov, (0, 9, 3, 4), (2, 6, 7, 1, 8, 5)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sv)], (6, 7, 8, 9), v.ovov, (0, 4, 7, 9), (2, 3, 6, 1, 5, 8)) * -2.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (0, 4, 7, 5), (2, 3, 6, 1, 9, 8)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sv,sV)], (6, 7, 8, 9), v.ovov, (0, 4, 7, 8), (2, 3, 6, 1, 5, 9)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sv,sV)], (6, 7, 8, 9), v.ovov, (0, 8, 7, 5), (2, 3, 6, 1, 9, 4)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sv)], (6, 7, 8, 9), v.ovov, (0, 9, 7, 4), (2, 3, 6, 1, 5, 8)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sv,sV)], (6, 7, 8, 9), v.ovov, (0, 8, 7, 4), (2, 3, 6, 1, 5, 9)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sv,sV)], (6, 7, 8, 9), v.ovov, (0, 8, 7, 5), (2, 6, 3, 4, 1, 9)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sv,sV)], (6, 7, 8, 9), v.ovov, (0, 8, 7, 5), (2, 6, 3, 9, 1, 4)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sv,sV)], (6, 7, 8, 9), v.ovov, (0, 8, 7, 4), (2, 6, 3, 5, 1, 9)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sv,sV)], (6, 7, 8, 9), v.ovov, (0, 8, 7, 4), (2, 6, 3, 9, 1, 5)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,so,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,sO,sv,sV)], (6, 7, 8, 9), v.ovov, (0, 5, 3, 8), (2, 6, 7, 4, 1, 9)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,so,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,sO,sv,sV)], (6, 7, 8, 9), v.ovov, (0, 5, 3, 8), (2, 6, 7, 9, 1, 4)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,sO,sv,sv)], (6, 7, 8, 9), v.ovov, (0, 8, 3, 9), (2, 6, 7, 4, 1, 5)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,so,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,sO,sv,sV)], (6, 7, 8, 9), v.ovov, (0, 8, 3, 5), (2, 6, 7, 4, 1, 9)) * -2.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,sO,sv,sv)], (6, 7, 8, 9), v.ovov, (0, 8, 3, 9), (2, 6, 7, 5, 1, 4)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,so,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,sO,sv,sV)], (6, 7, 8, 9), v.ovov, (0, 8, 3, 5), (2, 6, 7, 9, 1, 4)) * 2.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,so,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,sO,sv,sV)], (6, 7, 8, 9), v.ovov, (0, 8, 3, 4), (2, 6, 7, 5, 1, 9)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,so,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,sO,sv,sV)], (6, 7, 8, 9), v.ovov, (0, 8, 3, 4), (2, 6, 7, 9, 1, 5)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sv)], (6, 7, 8, 9), v.ovov, (0, 5, 7, 9), (2, 3, 6, 4, 1, 8)) * -2.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sv,sV)], (6, 7, 8, 9), v.ovov, (0, 5, 7, 8), (2, 3, 6, 4, 1, 9)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sv)], (6, 7, 8, 9), v.ovov, (0, 5, 7, 9), (2, 3, 6, 8, 1, 4)) * 2.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sv,sV)], (6, 7, 8, 9), v.ovov, (0, 5, 7, 8), (2, 3, 6, 9, 1, 4)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sv)], (6, 7, 8, 9), v.ovov, (0, 9, 7, 5), (2, 3, 6, 4, 1, 8)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sv)], (6, 7, 8, 9), v.ovov, (0, 9, 7, 5), (2, 3, 6, 8, 1, 4)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (0, 5, 7, 4), (2, 3, 6, 8, 1, 9)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (0, 5, 7, 4), (2, 3, 6, 9, 1, 8)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sv)], (6, 7, 8, 9), v.ovov, (0, 5, 7, 9), (2, 6, 3, 4, 8, 1)) * -2.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sv,sV)], (6, 7, 8, 9), v.ovov, (0, 5, 7, 8), (2, 6, 3, 4, 9, 1)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sv)], (6, 7, 8, 9), v.ovov, (0, 4, 7, 9), (2, 6, 3, 5, 8, 1)) * 2.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (0, 4, 7, 5), (2, 6, 3, 9, 8, 1)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sv,sV)], (6, 7, 8, 9), v.ovov, (0, 4, 7, 8), (2, 6, 3, 5, 9, 1)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sv)], (6, 7, 8, 9), v.ovov, (0, 9, 7, 5), (2, 6, 3, 4, 8, 1)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sv)], (6, 7, 8, 9), v.ovov, (0, 9, 7, 4), (2, 6, 3, 5, 8, 1)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (0, 5, 7, 4), (2, 6, 3, 9, 8, 1)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,so,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,sO,sV,sv)], (6, 7, 8, 9), v.ovov, (0, 5, 3, 9), (2, 6, 7, 4, 8, 1)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,sO,sv,sv)], (6, 7, 8, 9), v.ovov, (0, 9, 3, 8), (2, 6, 7, 4, 5, 1)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,so,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,sO,sV,sv)], (6, 7, 8, 9), v.ovov, (0, 4, 3, 9), (2, 6, 7, 5, 8, 1)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,so,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,sO,sv,sV)], (6, 7, 8, 9), v.ovov, (0, 4, 3, 8), (2, 6, 7, 9, 5, 1)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,so,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,sO,sV,sv)], (6, 7, 8, 9), v.ovov, (0, 9, 3, 5), (2, 6, 7, 4, 8, 1)) * -2.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,so,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,sO,sV,sv)], (6, 7, 8, 9), v.ovov, (0, 9, 3, 4), (2, 6, 7, 5, 8, 1)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sv)], (6, 7, 8, 9), v.ovov, (0, 4, 7, 9), (2, 3, 6, 8, 5, 1)) * 2.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (0, 4, 7, 5), (2, 3, 6, 8, 9, 1)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sv,sV)], (6, 7, 8, 9), v.ovov, (0, 4, 7, 8), (2, 3, 6, 9, 5, 1)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sv,sV)], (6, 7, 8, 9), v.ovov, (0, 8, 7, 5), (2, 3, 6, 4, 9, 1)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sv)], (6, 7, 8, 9), v.ovov, (0, 9, 7, 4), (2, 3, 6, 8, 5, 1)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sv,sV)], (6, 7, 8, 9), v.ovov, (0, 8, 7, 4), (2, 3, 6, 9, 5, 1)) - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (0, 1, 7, 5), (2, 6, 3, 4, 8, 9)) * -2.0 - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (0, 1, 7, 5), (2, 6, 3, 9, 8, 4)) * 2.0 - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (0, 1, 7, 4), (2, 6, 3, 5, 8, 9)) * 2.0 - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (0, 1, 7, 4), (2, 6, 3, 9, 8, 5)) * -2.0 - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (0, 5, 7, 1), (2, 6, 3, 4, 8, 9)) - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (0, 5, 7, 1), (2, 6, 3, 9, 8, 4)) * -1.0 - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (0, 4, 7, 1), (2, 6, 3, 5, 8, 9)) * -1.0 - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (0, 4, 7, 1), (2, 6, 3, 9, 8, 5)) - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,sO,sV,sv)], (6, 7, 8, 9), v.ovov, (0, 1, 3, 9), (2, 6, 7, 4, 8, 5)) * -2.0 - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,sO,sv,sV)], (6, 7, 8, 9), v.ovov, (0, 1, 3, 8), (2, 6, 7, 4, 5, 9)) * -2.0 - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,sO,sV,sv)], (6, 7, 8, 9), v.ovov, (0, 1, 3, 9), (2, 6, 7, 5, 8, 4)) * 2.0 - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,sO,sv,sV)], (6, 7, 8, 9), v.ovov, (0, 1, 3, 8), (2, 6, 7, 9, 5, 4)) * 2.0 - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,sO,sV,sv)], (6, 7, 8, 9), v.ovov, (0, 9, 3, 1), (2, 6, 7, 4, 8, 5)) - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,sO,sv,sV)], (6, 7, 8, 9), v.ovov, (0, 8, 3, 1), (2, 6, 7, 4, 5, 9)) - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,sO,sV,sv)], (6, 7, 8, 9), v.ovov, (0, 9, 3, 1), (2, 6, 7, 5, 8, 4)) * -1.0 - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,sO,sv,sV)], (6, 7, 8, 9), v.ovov, (0, 8, 3, 1), (2, 6, 7, 9, 5, 4)) * -1.0 - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (0, 1, 7, 5), (2, 3, 6, 4, 9, 8)) * -2.0 - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (0, 1, 7, 5), (2, 3, 6, 8, 9, 4)) * 2.0 - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (0, 1, 7, 4), (2, 3, 6, 8, 5, 9)) * 2.0 - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (0, 1, 7, 4), (2, 3, 6, 9, 5, 8)) * -2.0 - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (0, 5, 7, 1), (2, 3, 6, 4, 9, 8)) - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (0, 5, 7, 1), (2, 3, 6, 8, 9, 4)) * -1.0 - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (0, 4, 7, 1), (2, 3, 6, 8, 5, 9)) * -1.0 - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (0, 4, 7, 1), (2, 3, 6, 9, 5, 8)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(sO,sv)], (2, 3), t1[np.ix_(so,sV)], (4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (4, 1, 7, 3), (0, 2, 6, 5, 9, 8)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(sO,sv)], (2, 3), t1[np.ix_(so,sV)], (4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (4, 3, 7, 1), (0, 2, 6, 8, 5, 9)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(sO,sv)], (2, 3), t1[np.ix_(so,sV)], (4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (4, 3, 7, 1), (0, 2, 6, 9, 5, 8)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(sO,sv)], (2, 3), t1[np.ix_(so,sV)], (4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (4, 1, 7, 3), (0, 2, 6, 8, 9, 5)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(sO,sv)], (2, 3), t1[np.ix_(so,sV)], (4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (4, 1, 7, 3), (0, 6, 2, 5, 8, 9)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(sO,sv)], (2, 3), t1[np.ix_(so,sV)], (4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (4, 3, 7, 1), (0, 6, 2, 5, 8, 9)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(sO,sv)], (2, 3), t1[np.ix_(so,sV)], (4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (4, 1, 7, 3), (0, 6, 2, 9, 8, 5)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(sO,sv)], (2, 3), t1[np.ix_(so,sV)], (4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (4, 3, 7, 1), (0, 6, 2, 9, 8, 5)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t1[np.ix_(so,sV)], (4, 5), t2[np.ix_(sO,sO,sv,sV)], (6, 7, 8, 9), v.ovov, (2, 1, 4, 8), (0, 6, 7, 3, 5, 9)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t1[np.ix_(so,sV)], (4, 5), t2[np.ix_(sO,sO,sV,sv)], (6, 7, 8, 9), v.ovov, (2, 1, 4, 9), (0, 6, 7, 3, 8, 5)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t1[np.ix_(so,sV)], (4, 5), t2[np.ix_(sO,sO,sV,sv)], (6, 7, 8, 9), v.ovov, (2, 9, 4, 1), (0, 6, 7, 3, 8, 5)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t1[np.ix_(so,sV)], (4, 5), t2[np.ix_(sO,sO,sv,sV)], (6, 7, 8, 9), v.ovov, (2, 8, 4, 1), (0, 6, 7, 9, 3, 5)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(sO,sv)], (2, 3), t1[np.ix_(so,sV)], (4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (4, 3, 7, 1), (6, 0, 2, 5, 9, 8)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(sO,sv)], (2, 3), t1[np.ix_(so,sV)], (4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (4, 1, 7, 3), (6, 0, 2, 8, 5, 9)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(sO,sv)], (2, 3), t1[np.ix_(so,sV)], (4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (4, 1, 7, 3), (6, 0, 2, 9, 5, 8)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(sO,sv)], (2, 3), t1[np.ix_(so,sV)], (4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (4, 3, 7, 1), (6, 0, 2, 8, 9, 5)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t1[np.ix_(so,sV)], (4, 5), t2[np.ix_(sO,sO,sV,sv)], (6, 7, 8, 9), v.ovov, (2, 9, 4, 1), (6, 0, 7, 3, 5, 8)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t1[np.ix_(so,sV)], (4, 5), t2[np.ix_(sO,sO,sv,sV)], (6, 7, 8, 9), v.ovov, (2, 8, 4, 1), (6, 0, 7, 3, 5, 9)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t1[np.ix_(so,sV)], (4, 5), t2[np.ix_(sO,sO,sV,sv)], (6, 7, 8, 9), v.ovov, (2, 1, 4, 9), (6, 0, 7, 8, 3, 5)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t1[np.ix_(so,sV)], (4, 5), t2[np.ix_(sO,sO,sv,sV)], (6, 7, 8, 9), v.ovov, (2, 1, 4, 8), (6, 0, 7, 9, 3, 5)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t1[np.ix_(so,sV)], (4, 5), t2[np.ix_(sO,sO,sV,sv)], (6, 7, 8, 9), v.ovov, (2, 1, 4, 9), (6, 7, 0, 3, 5, 8)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t1[np.ix_(so,sV)], (4, 5), t2[np.ix_(sO,sO,sv,sV)], (6, 7, 8, 9), v.ovov, (2, 1, 4, 8), (6, 7, 0, 3, 9, 5)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t1[np.ix_(so,sV)], (4, 5), t2[np.ix_(sO,sO,sv,sV)], (6, 7, 8, 9), v.ovov, (2, 8, 4, 1), (6, 7, 0, 3, 9, 5)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t1[np.ix_(so,sV)], (4, 5), t2[np.ix_(sO,sO,sV,sv)], (6, 7, 8, 9), v.ovov, (2, 9, 4, 1), (6, 7, 0, 8, 3, 5)) - - return {"t1new": t1new, "t2new": t2new, "t3new": t3new} - diff --git a/ebcc/codegen/RCCSDxTx.py b/ebcc/codegen/RCCSDxTx.py deleted file mode 100644 index f619c9c8..00000000 --- a/ebcc/codegen/RCCSDxTx.py +++ /dev/null @@ -1,418 +0,0 @@ -# Code generated for ebcc. - -from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, direct_sum, Namespace -from ebcc.precision import types - -def energy(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, **kwargs): - # energy - x0 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x0 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -0.5 - x0 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - e_cc = 0 - e_cc += einsum(t2, (0, 1, 2, 3), x0, (0, 1, 2, 3), ()) * 2.0 - del x0 - x1 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x1 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x1 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 - x2 = np.zeros((nocc, nvir), dtype=types[float]) - x2 += einsum(f.ov, (0, 1), (0, 1)) - x2 += einsum(t1, (0, 1), x1, (0, 2, 3, 1), (2, 3)) - del x1 - e_cc += einsum(t1, (0, 1), x2, (0, 1), ()) * 2.0 - del x2 - - return e_cc - -def update_amps(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, **kwargs): - # T amplitudes - t1new = np.zeros((nocc, nvir), dtype=types[float]) - t1new += einsum(f.ov, (0, 1), (0, 1)) - t2new = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - t2new += einsum(t2, (0, 1, 2, 3), v.vvvv, (4, 2, 5, 3), (0, 1, 4, 5)) - t2new += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - t2new += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 5, 1, 3), (0, 4, 2, 5)) * 2.0 - t2new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 2), (0, 4, 5, 3)) * -1.0 - t2new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 3), (0, 4, 2, 5)) * -1.0 - t2new += einsum(t1, (0, 1), v.ooov, (2, 0, 3, 4), (3, 2, 4, 1)) * -1.0 - x0 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x0 += einsum(v.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x0 += einsum(v.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) - t1new += einsum(t2, (0, 1, 2, 3), x0, (1, 2, 3, 4), (0, 4)) * 2.0 - x1 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x1 += einsum(t1, (0, 1), v.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) - x2 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x2 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x2 += einsum(v.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * 2.0 - x2 += einsum(x1, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x2 += einsum(x1, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - t1new += einsum(t2, (0, 1, 2, 3), x2, (4, 0, 1, 2), (4, 3)) * -1.0 - del x2 - x3 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x3 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x3 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 - x4 = np.zeros((nocc, nvir), dtype=types[float]) - x4 += einsum(t1, (0, 1), x3, (0, 2, 3, 1), (2, 3)) * 2.0 - x5 = np.zeros((nocc, nvir), dtype=types[float]) - x5 += einsum(f.ov, (0, 1), (0, 1)) - x5 += einsum(x4, (0, 1), (0, 1)) - del x4 - x6 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x6 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - x6 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t1new += einsum(x5, (0, 1), x6, (0, 2, 3, 1), (2, 3)) - del x6 - x7 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x7 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x7 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - t1new += einsum(t1, (0, 1), x7, (0, 2, 1, 3), (2, 3)) * 2.0 - del x7 - x8 = np.zeros((nvir, nvir), dtype=types[float]) - x8 += einsum(f.vv, (0, 1), (0, 1)) - x8 += einsum(t1, (0, 1), x0, (0, 2, 1, 3), (2, 3)) * 2.0 - del x0 - t1new += einsum(t1, (0, 1), x8, (1, 2), (0, 2)) - del x8 - x9 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x9 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -0.5 - x9 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x10 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x10 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x10 += einsum(v.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 - x11 = np.zeros((nocc, nocc), dtype=types[float]) - x11 += einsum(t1, (0, 1), x5, (2, 1), (2, 0)) - del x5 - x12 = np.zeros((nocc, nocc), dtype=types[float]) - x12 += einsum(f.oo, (0, 1), (0, 1)) - x12 += einsum(t2, (0, 1, 2, 3), x9, (1, 4, 3, 2), (4, 0)) * 2.0 - x12 += einsum(t1, (0, 1), x10, (2, 3, 0, 1), (3, 2)) * 2.0 - x12 += einsum(x11, (0, 1), (0, 1)) - t1new += einsum(t1, (0, 1), x12, (0, 2), (2, 1)) * -1.0 - del x12 - x13 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x13 += einsum(t1, (0, 1), v.vvvv, (2, 3, 4, 1), (0, 2, 3, 4)) - t2new += einsum(t1, (0, 1), x13, (2, 3, 1, 4), (0, 2, 3, 4)) - del x13 - x14 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x14 += einsum(t1, (0, 1), x1, (2, 3, 4, 1), (2, 0, 4, 3)) - t2new += einsum(t2, (0, 1, 2, 3), x14, (4, 5, 0, 1), (5, 4, 3, 2)) - x15 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x15 += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 5, 1, 2), (0, 4, 3, 5)) - t2new += einsum(x15, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x16 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x16 += einsum(t1, (0, 1), v.ovvv, (2, 1, 3, 4), (0, 2, 3, 4)) - x17 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x17 += einsum(t2, (0, 1, 2, 3), x16, (4, 1, 5, 2), (4, 0, 3, 5)) - x18 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x18 += einsum(t1, (0, 1), x1, (2, 3, 0, 4), (2, 3, 1, 4)) - x19 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x19 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * 2.0 - x19 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x20 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x20 += einsum(t2, (0, 1, 2, 3), x19, (1, 4, 5, 3), (4, 0, 5, 2)) * 0.5 - del x19 - x21 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x21 += einsum(x18, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - del x18 - x21 += einsum(x20, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x20 - x22 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x22 += einsum(t2, (0, 1, 2, 3), x21, (4, 1, 5, 2), (4, 0, 5, 3)) * 2.0 - del x21 - x23 = np.zeros((nvir, nvir), dtype=types[float]) - x23 += einsum(t2, (0, 1, 2, 3), x3, (0, 1, 4, 2), (4, 3)) * 2.0 - x24 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x24 += einsum(v.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x24 += einsum(v.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) * 2.0 - x25 = np.zeros((nvir, nvir), dtype=types[float]) - x25 += einsum(t1, (0, 1), x24, (0, 2, 1, 3), (2, 3)) - del x24 - x26 = np.zeros((nvir, nvir), dtype=types[float]) - x26 += einsum(x23, (0, 1), (0, 1)) - del x23 - x26 += einsum(x25, (0, 1), (0, 1)) * -1.0 - del x25 - x27 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x27 += einsum(x26, (0, 1), t2, (2, 3, 0, 4), (2, 3, 1, 4)) - del x26 - x28 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x28 += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 1, 5, 2), (0, 4, 5, 3)) - x29 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x29 += einsum(x1, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x29 += einsum(x1, (0, 1, 2, 3), (0, 2, 1, 3)) - x30 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x30 += einsum(t2, (0, 1, 2, 3), x29, (4, 5, 1, 3), (4, 5, 0, 2)) * 2.0 - del x29 - x31 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x31 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - x31 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) - x32 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x32 += einsum(v.ovvv, (0, 1, 2, 3), x31, (4, 5, 3, 1), (0, 4, 5, 2)) - x33 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x33 += einsum(x1, (0, 1, 2, 3), (0, 1, 2, 3)) - x33 += einsum(x28, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x28 - x33 += einsum(x30, (0, 1, 2, 3), (0, 2, 1, 3)) - del x30 - x33 += einsum(x32, (0, 1, 2, 3), (2, 1, 0, 3)) - del x32 - x34 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x34 += einsum(t1, (0, 1), x33, (2, 3, 0, 4), (2, 3, 4, 1)) - del x33 - x35 = np.zeros((nocc, nocc), dtype=types[float]) - x35 += einsum(t2, (0, 1, 2, 3), x9, (1, 4, 3, 2), (4, 0)) - del x9 - x36 = np.zeros((nocc, nocc), dtype=types[float]) - x36 += einsum(t1, (0, 1), x10, (2, 3, 0, 1), (2, 3)) - del x10 - x37 = np.zeros((nocc, nocc), dtype=types[float]) - x37 += einsum(x35, (0, 1), (0, 1)) - del x35 - x37 += einsum(x36, (0, 1), (1, 0)) - del x36 - x38 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x38 += einsum(x37, (0, 1), t2, (2, 0, 3, 4), (1, 2, 4, 3)) * 2.0 - del x37 - x39 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x39 += einsum(x17, (0, 1, 2, 3), (0, 1, 2, 3)) - del x17 - x39 += einsum(x22, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x22 - x39 += einsum(x27, (0, 1, 2, 3), (1, 0, 3, 2)) - del x27 - x39 += einsum(x34, (0, 1, 2, 3), (0, 1, 3, 2)) - del x34 - x39 += einsum(x38, (0, 1, 2, 3), (1, 0, 3, 2)) - del x38 - t2new += einsum(x39, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new += einsum(x39, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x39 - x40 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x40 += einsum(f.vv, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4)) - x41 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x41 += einsum(t1, (0, 1), v.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) - x42 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x42 += einsum(t1, (0, 1), v.ooov, (2, 3, 4, 1), (0, 2, 3, 4)) - x43 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x43 += einsum(t2, (0, 1, 2, 3), x42, (4, 5, 0, 1), (4, 5, 2, 3)) - del x42 - x44 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x44 += einsum(t2, (0, 1, 2, 3), x16, (4, 1, 5, 3), (4, 0, 2, 5)) - del x16 - x45 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x45 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) - x45 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x46 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x46 += einsum(x41, (0, 1, 2, 3), x45, (1, 4, 5, 2), (4, 0, 5, 3)) * 2.0 - del x45 - x47 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x47 += einsum(t1, (0, 1), v.oovv, (2, 3, 4, 1), (0, 2, 3, 4)) - x48 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x48 += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 1, 5, 3), (0, 4, 5, 2)) - x49 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x49 += einsum(t2, (0, 1, 2, 3), x1, (4, 5, 1, 2), (4, 0, 5, 3)) - del x1 - x50 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x50 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) * 0.5 - x50 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x50 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - x51 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x51 += einsum(v.ooov, (0, 1, 2, 3), x50, (2, 4, 5, 3), (0, 1, 4, 5)) * 2.0 - del x50 - x52 = np.zeros((nocc, nvir), dtype=types[float]) - x52 += einsum(t1, (0, 1), x3, (0, 2, 3, 1), (2, 3)) - x53 = np.zeros((nocc, nvir), dtype=types[float]) - x53 += einsum(f.ov, (0, 1), (0, 1)) * 0.5 - x53 += einsum(x52, (0, 1), (0, 1)) - del x52 - x54 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x54 += einsum(x53, (0, 1), t2, (2, 3, 1, 4), (0, 2, 3, 4)) * 2.0 - del x53 - x55 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x55 += einsum(x47, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - del x47 - x55 += einsum(x48, (0, 1, 2, 3), (2, 0, 1, 3)) - del x48 - x55 += einsum(x49, (0, 1, 2, 3), (2, 0, 1, 3)) - del x49 - x55 += einsum(x51, (0, 1, 2, 3), (1, 2, 0, 3)) - del x51 - x55 += einsum(x54, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x54 - x56 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x56 += einsum(t1, (0, 1), x55, (0, 2, 3, 4), (2, 3, 4, 1)) - del x55 - x57 = np.zeros((nocc, nocc), dtype=types[float]) - x57 += einsum(f.oo, (0, 1), (0, 1)) - x57 += einsum(x11, (0, 1), (1, 0)) - del x11 - x58 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x58 += einsum(x57, (0, 1), t2, (2, 1, 3, 4), (0, 2, 4, 3)) - del x57 - x59 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x59 += einsum(x40, (0, 1, 2, 3), (0, 1, 2, 3)) - del x40 - x59 += einsum(x41, (0, 1, 2, 3), (0, 1, 2, 3)) - del x41 - x59 += einsum(x43, (0, 1, 2, 3), (0, 1, 2, 3)) - del x43 - x59 += einsum(x44, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x44 - x59 += einsum(x46, (0, 1, 2, 3), (1, 0, 2, 3)) - del x46 - x59 += einsum(x56, (0, 1, 2, 3), (0, 1, 3, 2)) - del x56 - x59 += einsum(x58, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x58 - t2new += einsum(x59, (0, 1, 2, 3), (0, 1, 3, 2)) - t2new += einsum(x59, (0, 1, 2, 3), (1, 0, 2, 3)) - del x59 - x60 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x60 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * 2.0 - x60 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x60 += einsum(t2, (0, 1, 2, 3), x3, (1, 4, 5, 3), (0, 4, 2, 5)) * 4.0 - del x3 - t2new += einsum(t2, (0, 1, 2, 3), x60, (4, 1, 5, 3), (4, 0, 5, 2)) - del x60 - x61 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x61 += einsum(v.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x61 += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 2, 5, 3), (4, 0, 1, 5)) - t2new += einsum(x31, (0, 1, 2, 3), x61, (0, 4, 5, 1), (5, 4, 3, 2)) - del x31, x61 - x62 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x62 += einsum(v.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x62 += einsum(t1, (0, 1), x14, (2, 3, 0, 4), (3, 2, 4, 1)) - del x14 - t2new += einsum(t1, (0, 1), x62, (2, 3, 0, 4), (2, 3, 1, 4)) - del x62 - x63 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x63 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x63 += einsum(x15, (0, 1, 2, 3), (0, 1, 2, 3)) - del x15 - t2new += einsum(t2, (0, 1, 2, 3), x63, (4, 1, 5, 2), (4, 0, 5, 3)) - del x63 - x64 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x64 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x64 += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 2, 1, 5), (0, 4, 3, 5)) - t2new += einsum(t2, (0, 1, 2, 3), x64, (4, 1, 5, 2), (4, 0, 3, 5)) - del x64 - - return {"t1new": t1new, "t2new": t2new} - -def energy_perturbative(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, l1=None, l2=None, **kwargs): - # T3 amplitude - x0 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x0 += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 6, 3), (0, 1, 4, 2, 5, 6)) - t3 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - t3 += einsum(x0, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - t3 += einsum(x0, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -1.0 - t3 += einsum(x0, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) - t3 += einsum(x0, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -1.0 - t3 += einsum(x0, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 - t3 += einsum(x0, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) - t3 += einsum(x0, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) - t3 += einsum(x0, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 - t3 += einsum(x0, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) * -1.0 - t3 += einsum(x0, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) - t3 += einsum(x0, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -1.0 - t3 += einsum(x0, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) - del x0 - x1 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x1 += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 1, 5, 6), (0, 4, 5, 2, 3, 6)) - t3 += einsum(x1, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - t3 += einsum(x1, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) - t3 += einsum(x1, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - t3 += einsum(x1, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - t3 += einsum(x1, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 - t3 += einsum(x1, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) - t3 += einsum(x1, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) - t3 += einsum(x1, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 - t3 += einsum(x1, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) - t3 += einsum(x1, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 - t3 += einsum(x1, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) - t3 += einsum(x1, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -1.0 - del x1 - e_ia = direct_sum("i-a->ia", np.diag(f.oo), np.diag(f.vv)) - t3 /= direct_sum("ia+jb+kc->ijkabc", e_ia, e_ia, e_ia) - - # energy - x0 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x0 += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 0, 6, 1, 3), (4, 5, 6, 2)) - x1 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x1 += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 0, 5, 6, 1, 3), (4, 5, 6, 2)) - x2 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x2 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 0.16666666666666666 - x2 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - x2 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -0.16666666666666666 - x3 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x3 += einsum(x0, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - x3 += einsum(x1, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x3 += einsum(x1, (0, 1, 2, 3), (1, 0, 2, 3)) * -2.0 - del x1 - x3 += einsum(v.ovvv, (0, 1, 2, 3), x2, (0, 4, 5, 1, 6, 3), (4, 5, 6, 2)) * 6.0 - del x2 - e_pert = 0 - e_pert += einsum(l2, (0, 1, 2, 3), x3, (2, 3, 0, 1), ()) * 0.5 - del x3 - x4 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x4 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x4 += einsum(v.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) * 3.0 - x5 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x5 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -1.0 - x5 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - x6 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x6 += einsum(l2, (0, 1, 2, 3), x5, (2, 4, 5, 1, 0, 6), (3, 4, 5, 6)) * -1.0 - del x5 - e_pert += einsum(x4, (0, 1, 2, 3), x6, (1, 2, 0, 3), ()) * -0.5 - del x4, x6 - x7 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x7 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 1.5 - x7 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - x7 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.5 - x8 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x8 += einsum(x0, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.6666666666666666 - del x0 - x8 += einsum(v.ovvv, (0, 1, 2, 3), x7, (0, 4, 5, 1, 6, 3), (4, 5, 6, 2)) * 0.6666666666666666 - del x7 - e_pert += einsum(l2, (0, 1, 2, 3), x8, (2, 3, 1, 0), ()) * -1.5 - del x8 - x9 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x9 += einsum(l2, (0, 1, 2, 3), t3, (4, 2, 5, 6, 0, 1), (3, 4, 5, 6)) - x10 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x10 += einsum(l2, (0, 1, 2, 3), (3, 2, 0, 1)) - x10 += einsum(l2, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 - x11 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x11 += einsum(x9, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x11 += einsum(x9, (0, 1, 2, 3), (0, 2, 1, 3)) - del x9 - x11 += einsum(x10, (0, 1, 2, 3), t3, (4, 5, 0, 6, 2, 3), (1, 4, 5, 6)) * -1.0 - del x10 - e_pert += einsum(v.ooov, (0, 1, 2, 3), x11, (1, 0, 2, 3), ()) * -1.0 - del x11 - x12 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x12 += einsum(l2, (0, 1, 2, 3), (3, 2, 0, 1)) - x12 += einsum(l2, (0, 1, 2, 3), (2, 3, 0, 1)) * -0.3333333333333333 - x13 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x13 += einsum(x12, (0, 1, 2, 3), t3, (4, 5, 0, 6, 2, 3), (1, 4, 5, 6)) - del x12 - e_pert += einsum(v.ooov, (0, 1, 2, 3), x13, (1, 2, 0, 3), ()) * -3.0 - del x13 - x14 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x14 += einsum(l1, (0, 1), v.ovov, (2, 3, 4, 5), (1, 2, 4, 0, 5, 3)) * -1.0 - x14 += einsum(l1, (0, 1), v.ovov, (2, 3, 4, 5), (1, 2, 4, 0, 3, 5)) - x15 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x15 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - x15 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) - e_pert += einsum(x14, (0, 1, 2, 3, 4, 5), x15, (2, 0, 1, 5, 4, 3), ()) * -0.5 - del x14, x15 - x16 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x16 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -0.3333333333333333 - x16 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x17 = np.zeros((nocc, nvir), dtype=types[float]) - x17 += einsum(x16, (0, 1, 2, 3), t3, (4, 0, 1, 5, 2, 3), (4, 5)) - del x16 - e_pert += einsum(l1, (0, 1), x17, (1, 0), ()) * 3.0 - del x17 - - return e_pert - diff --git a/ebcc/codegen/RDCD.py b/ebcc/codegen/RDCD.py deleted file mode 100644 index 44943719..00000000 --- a/ebcc/codegen/RDCD.py +++ /dev/null @@ -1,92 +0,0 @@ -# Code generated for ebcc. - -from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, Namespace -from ebcc.precision import types - -def energy(f=None, v=None, nocc=None, nvir=None, t2=None, **kwargs): - # energy - x0 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x0 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x0 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 - e_cc = 0 - e_cc += einsum(t2, (0, 1, 2, 3), x0, (0, 1, 3, 2), ()) * 2.0 - del x0 - - return e_cc - -def update_amps(f=None, v=None, nocc=None, nvir=None, t2=None, **kwargs): - # T amplitudes - t2new = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - t2new += einsum(t2, (0, 1, 2, 3), v.vvvv, (4, 2, 5, 3), (0, 1, 4, 5)) - t2new += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - t2new += einsum(t2, (0, 1, 2, 3), v.oooo, (4, 1, 5, 0), (4, 5, 3, 2)) - t2new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 3), (4, 0, 5, 2)) * -1.0 - x0 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x0 += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 5, 1, 3), (0, 4, 2, 5)) - t2new += einsum(x0, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - x1 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x1 += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 5, 1, 2), (0, 4, 3, 5)) - t2new += einsum(x1, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x2 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x2 += einsum(f.oo, (0, 1), t2, (2, 1, 3, 4), (0, 2, 3, 4)) - x3 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x3 += einsum(f.vv, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4)) - x4 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x4 += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 2), (0, 4, 3, 5)) - x5 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x5 += einsum(x2, (0, 1, 2, 3), (0, 1, 2, 3)) - del x2 - x5 += einsum(x3, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x3 - x5 += einsum(x4, (0, 1, 2, 3), (0, 1, 2, 3)) - del x4 - t2new += einsum(x5, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new += einsum(x5, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x5 - x6 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x6 += einsum(t2, (0, 1, 2, 3), x1, (4, 1, 5, 3), (0, 4, 2, 5)) - x7 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x7 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x7 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 - x8 = np.zeros((nvir, nvir), dtype=types[float]) - x8 += einsum(t2, (0, 1, 2, 3), x7, (0, 1, 4, 2), (3, 4)) - del x7 - x9 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x9 += einsum(x8, (0, 1), t2, (2, 3, 1, 4), (2, 3, 4, 0)) - del x8 - x10 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x10 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -0.5 - x10 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x11 = np.zeros((nocc, nocc), dtype=types[float]) - x11 += einsum(t2, (0, 1, 2, 3), x10, (1, 4, 3, 2), (0, 4)) - del x10 - x12 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x12 += einsum(x11, (0, 1), t2, (2, 1, 3, 4), (2, 0, 4, 3)) - del x11 - x13 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x13 += einsum(x6, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x6 - x13 += einsum(x9, (0, 1, 2, 3), (1, 0, 2, 3)) - del x9 - x13 += einsum(x12, (0, 1, 2, 3), (0, 1, 3, 2)) - del x12 - t2new += einsum(x13, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new += einsum(x13, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x13 - x14 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x14 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x14 += einsum(x1, (0, 1, 2, 3), (0, 1, 2, 3)) - del x1 - t2new += einsum(t2, (0, 1, 2, 3), x14, (4, 1, 5, 2), (4, 0, 5, 3)) - del x14 - x15 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x15 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * 0.5 - x15 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.25 - x15 += einsum(x0, (0, 1, 2, 3), (0, 1, 2, 3)) - del x0 - t2new += einsum(t2, (0, 1, 2, 3), x15, (4, 1, 5, 3), (0, 4, 2, 5)) * 4.0 - del x15 - - return {"t2new": t2new} - diff --git a/ebcc/codegen/RDCSD.py b/ebcc/codegen/RDCSD.py deleted file mode 100644 index abc01173..00000000 --- a/ebcc/codegen/RDCSD.py +++ /dev/null @@ -1,293 +0,0 @@ -# Code generated for ebcc. - -from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, Namespace -from ebcc.precision import types - -def energy(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, **kwargs): - # energy - e_cc = 0 - e_cc += einsum(f.ov, (0, 1), t1, (0, 1), ()) * 2.0 - x0 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x0 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -0.5 - x0 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x1 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x1 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - x1 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) - e_cc += einsum(x0, (0, 1, 2, 3), x1, (0, 1, 2, 3), ()) * 2.0 - del x0, x1 - - return e_cc - -def update_amps(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, **kwargs): - # T amplitudes - t1new = np.zeros((nocc, nvir), dtype=types[float]) - t1new += einsum(f.vv, (0, 1), t1, (2, 1), (2, 0)) - t1new += einsum(f.ov, (0, 1), (0, 1)) - t2new = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - t2new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 3), (4, 0, 5, 2)) * -1.0 - t2new += einsum(t1, (0, 1), v.ooov, (2, 0, 3, 4), (3, 2, 4, 1)) * -1.0 - t2new += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - t2new += einsum(t2, (0, 1, 2, 3), v.oooo, (4, 0, 5, 1), (4, 5, 2, 3)) - x0 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x0 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - x0 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) - t2new += einsum(v.vvvv, (0, 1, 2, 3), x0, (4, 5, 3, 1), (5, 4, 0, 2)) - x1 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x1 += einsum(v.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) - x1 += einsum(v.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 - t1new += einsum(x0, (0, 1, 2, 3), x1, (0, 2, 3, 4), (1, 4)) * 2.0 - del x1 - x2 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x2 += einsum(t1, (0, 1), v.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) - x3 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x3 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x3 += einsum(v.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * 2.0 - x3 += einsum(x2, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x3 += einsum(x2, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - t1new += einsum(t2, (0, 1, 2, 3), x3, (4, 0, 1, 2), (4, 3)) * -1.0 - del x3 - x4 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x4 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -0.5 - x4 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x5 = np.zeros((nocc, nvir), dtype=types[float]) - x5 += einsum(t1, (0, 1), x4, (0, 2, 1, 3), (2, 3)) * 2.0 - x6 = np.zeros((nocc, nvir), dtype=types[float]) - x6 += einsum(f.ov, (0, 1), (0, 1)) - x6 += einsum(x5, (0, 1), (0, 1)) - del x5 - x7 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x7 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.5 - x7 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - t1new += einsum(x6, (0, 1), x7, (0, 2, 1, 3), (2, 3)) * 2.0 - del x7 - x8 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x8 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x8 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - t1new += einsum(t1, (0, 1), x8, (0, 2, 1, 3), (2, 3)) * 2.0 - del x8 - x9 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x9 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x9 += einsum(v.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 - x10 = np.zeros((nocc, nocc), dtype=types[float]) - x10 += einsum(t1, (0, 1), x9, (2, 3, 0, 1), (2, 3)) * 2.0 - del x9 - x11 = np.zeros((nocc, nocc), dtype=types[float]) - x11 += einsum(f.oo, (0, 1), (0, 1)) - x11 += einsum(f.ov, (0, 1), t1, (2, 1), (0, 2)) - x11 += einsum(x0, (0, 1, 2, 3), x4, (0, 4, 2, 3), (4, 1)) * 2.0 - x11 += einsum(x10, (0, 1), (1, 0)) - t1new += einsum(t1, (0, 1), x11, (0, 2), (2, 1)) * -1.0 - del x11 - x12 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x12 += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 5, 1, 3), (0, 4, 2, 5)) - t2new += einsum(x12, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - x13 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x13 += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 5, 1, 2), (0, 4, 3, 5)) - t2new += einsum(x13, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x14 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x14 += einsum(t1, (0, 1), x2, (2, 3, 4, 1), (2, 0, 4, 3)) - t2new += einsum(t2, (0, 1, 2, 3), x14, (4, 5, 0, 1), (5, 4, 3, 2)) - del x14 - x15 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x15 += einsum(f.vv, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4)) - x16 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x16 += einsum(t1, (0, 1), v.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) - x17 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x17 += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 2), (0, 4, 3, 5)) - x18 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x18 += einsum(t1, (0, 1), v.ooov, (2, 3, 4, 1), (0, 2, 3, 4)) - x19 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x19 += einsum(t2, (0, 1, 2, 3), x18, (4, 5, 0, 1), (4, 5, 2, 3)) - del x18 - x20 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x20 += einsum(t2, (0, 1, 2, 3), x16, (4, 1, 2, 5), (4, 0, 3, 5)) - x21 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x21 += einsum(v.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x21 += einsum(v.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) - x22 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x22 += einsum(t1, (0, 1), x21, (2, 1, 3, 4), (2, 0, 3, 4)) * 2.0 - del x21 - x23 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x23 += einsum(t2, (0, 1, 2, 3), x22, (1, 4, 5, 3), (4, 0, 5, 2)) - del x22 - x24 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x24 += einsum(t1, (0, 1), v.oovv, (2, 3, 4, 1), (0, 2, 3, 4)) - x25 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x25 += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 1, 5, 3), (0, 4, 5, 2)) - x26 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x26 += einsum(t2, (0, 1, 2, 3), x2, (4, 5, 1, 2), (4, 0, 5, 3)) - x27 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x27 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) * 0.5 - x27 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x27 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - x28 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x28 += einsum(v.ooov, (0, 1, 2, 3), x27, (2, 4, 5, 3), (4, 0, 1, 5)) * 2.0 - del x27 - x29 = np.zeros((nocc, nvir), dtype=types[float]) - x29 += einsum(t1, (0, 1), x4, (0, 2, 1, 3), (2, 3)) - x30 = np.zeros((nocc, nvir), dtype=types[float]) - x30 += einsum(f.ov, (0, 1), (0, 1)) * 0.5 - x30 += einsum(x29, (0, 1), (0, 1)) - del x29 - x31 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x31 += einsum(x30, (0, 1), t2, (2, 3, 1, 4), (0, 2, 3, 4)) * 2.0 - del x30 - x32 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x32 += einsum(x24, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - del x24 - x32 += einsum(x25, (0, 1, 2, 3), (2, 0, 1, 3)) - del x25 - x32 += einsum(x26, (0, 1, 2, 3), (2, 0, 1, 3)) - del x26 - x32 += einsum(x28, (0, 1, 2, 3), (2, 0, 1, 3)) - del x28 - x32 += einsum(x31, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x31 - x33 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x33 += einsum(t1, (0, 1), x32, (0, 2, 3, 4), (2, 3, 4, 1)) - del x32 - x34 = np.zeros((nocc, nocc), dtype=types[float]) - x34 += einsum(t1, (0, 1), x6, (2, 1), (2, 0)) * 0.5 - del x6 - x35 = np.zeros((nocc, nocc), dtype=types[float]) - x35 += einsum(f.oo, (0, 1), (0, 1)) * 0.5 - x35 += einsum(x34, (0, 1), (1, 0)) - del x34 - x36 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x36 += einsum(x35, (0, 1), t2, (2, 1, 3, 4), (0, 2, 4, 3)) * 2.0 - del x35 - x37 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x37 += einsum(x15, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x15 - x37 += einsum(x16, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x37 += einsum(x17, (0, 1, 2, 3), (0, 1, 2, 3)) - del x17 - x37 += einsum(x19, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x19 - x37 += einsum(x20, (0, 1, 2, 3), (0, 1, 2, 3)) - del x20 - x37 += einsum(x23, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x23 - x37 += einsum(x33, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x33 - x37 += einsum(x36, (0, 1, 2, 3), (0, 1, 3, 2)) - del x36 - t2new += einsum(x37, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new += einsum(x37, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x37 - x38 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x38 += einsum(t1, (0, 1), v.ovvv, (2, 1, 3, 4), (0, 2, 3, 4)) - x39 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x39 += einsum(t2, (0, 1, 2, 3), x38, (4, 1, 5, 2), (4, 0, 3, 5)) - del x38 - x40 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x40 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x40 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 - x41 = np.zeros((nvir, nvir), dtype=types[float]) - x41 += einsum(t2, (0, 1, 2, 3), x40, (0, 1, 4, 2), (4, 3)) - del x40 - x42 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x42 += einsum(v.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x42 += einsum(v.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x43 = np.zeros((nvir, nvir), dtype=types[float]) - x43 += einsum(t1, (0, 1), x42, (0, 1, 2, 3), (2, 3)) - del x42 - x44 = np.zeros((nvir, nvir), dtype=types[float]) - x44 += einsum(x41, (0, 1), (0, 1)) - del x41 - x44 += einsum(x43, (0, 1), (1, 0)) * -1.0 - del x43 - x45 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x45 += einsum(x44, (0, 1), t2, (2, 3, 0, 4), (2, 3, 1, 4)) - del x44 - x46 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x46 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - x46 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 3, 1)) * -0.5 - x47 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x47 += einsum(v.ovov, (0, 1, 2, 3), x46, (2, 4, 3, 5), (4, 0, 5, 1)) - del x46 - x48 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x48 += einsum(t2, (0, 1, 2, 3), x47, (4, 1, 5, 2), (4, 0, 5, 3)) * 2.0 - del x47 - x49 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x49 += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 1, 5, 2), (0, 4, 5, 3)) - x50 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x50 += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 2, 5, 3), (0, 1, 4, 5)) - x51 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x51 += einsum(x2, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x51 += einsum(x2, (0, 1, 2, 3), (0, 2, 1, 3)) - del x2 - x52 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x52 += einsum(t2, (0, 1, 2, 3), x51, (4, 5, 1, 3), (4, 5, 0, 2)) * 2.0 - del x51 - x53 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x53 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x53 += einsum(x16, (0, 1, 2, 3), (1, 0, 2, 3)) - del x16 - x54 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x54 += einsum(t1, (0, 1), x53, (2, 3, 1, 4), (2, 3, 0, 4)) - del x53 - x55 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x55 += einsum(x49, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x49 - x55 += einsum(x50, (0, 1, 2, 3), (0, 1, 2, 3)) - del x50 - x55 += einsum(x52, (0, 1, 2, 3), (0, 2, 1, 3)) - del x52 - x55 += einsum(x54, (0, 1, 2, 3), (2, 1, 0, 3)) - del x54 - x56 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x56 += einsum(t1, (0, 1), x55, (2, 3, 0, 4), (2, 3, 4, 1)) - del x55 - x57 = np.zeros((nocc, nocc), dtype=types[float]) - x57 += einsum(t2, (0, 1, 2, 3), x4, (1, 4, 3, 2), (4, 0)) - del x4 - x58 = np.zeros((nocc, nocc), dtype=types[float]) - x58 += einsum(x57, (0, 1), (0, 1)) - del x57 - x58 += einsum(x10, (0, 1), (1, 0)) - del x10 - x59 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x59 += einsum(x58, (0, 1), t2, (2, 0, 3, 4), (1, 2, 4, 3)) - del x58 - x60 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x60 += einsum(x39, (0, 1, 2, 3), (0, 1, 2, 3)) - del x39 - x60 += einsum(x45, (0, 1, 2, 3), (1, 0, 3, 2)) - del x45 - x60 += einsum(x48, (0, 1, 2, 3), (0, 1, 2, 3)) - del x48 - x60 += einsum(x56, (0, 1, 2, 3), (0, 1, 3, 2)) - del x56 - x60 += einsum(x59, (0, 1, 2, 3), (1, 0, 3, 2)) - del x59 - t2new += einsum(x60, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new += einsum(x60, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x60 - x61 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x61 += einsum(v.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x61 += einsum(v.ovov, (0, 1, 2, 3), x0, (4, 5, 3, 1), (0, 5, 4, 2)) - del x0 - x62 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x62 += einsum(v.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x62 += einsum(t1, (0, 1), x61, (0, 2, 3, 4), (3, 2, 4, 1)) - del x61 - t2new += einsum(t1, (0, 1), x62, (2, 3, 0, 4), (2, 3, 1, 4)) - del x62 - x63 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x63 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x63 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x63 += einsum(x12, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x12 - t2new += einsum(t2, (0, 1, 2, 3), x63, (4, 1, 5, 3), (0, 4, 2, 5)) * 2.0 - del x63 - x64 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x64 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x64 += einsum(x13, (0, 1, 2, 3), (0, 1, 2, 3)) - del x13 - t2new += einsum(t2, (0, 1, 2, 3), x64, (4, 1, 5, 2), (4, 0, 5, 3)) - del x64 - - return {"t1new": t1new, "t2new": t2new} - diff --git a/ebcc/codegen/RDFCC2.py b/ebcc/codegen/RDFCC2.py deleted file mode 100644 index 93e86925..00000000 --- a/ebcc/codegen/RDFCC2.py +++ /dev/null @@ -1,1396 +0,0 @@ -# Code generated for ebcc. - -from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, Namespace -from ebcc.precision import types - -def energy(f=None, v=None, nocc=None, nvir=None, naux=None, t1=None, t2=None, **kwargs): - # energy - x0 = np.zeros((naux,), dtype=types[float]) - x0 += einsum(t1, (0, 1), v.xov, (2, 0, 1), (2,)) - x1 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x1 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) - x1 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x2 = np.zeros((nocc, nvir, naux), dtype=types[float]) - x2 += einsum(x0, (0,), t1, (1, 2), (1, 2, 0)) - del x0 - x2 += einsum(v.xov, (0, 1, 2), x1, (1, 3, 4, 2), (3, 4, 0)) - del x1 - e_cc = 0 - e_cc += einsum(v.xov, (0, 1, 2), x2, (1, 2, 0), ()) * 2.0 - del x2 - x3 = np.zeros((nocc, nocc, naux), dtype=types[float]) - x3 += einsum(t1, (0, 1), v.xov, (2, 3, 1), (0, 3, 2)) - x4 = np.zeros((nocc, nvir), dtype=types[float]) - x4 += einsum(f.ov, (0, 1), (0, 1)) * 2.0 - x4 += einsum(v.xov, (0, 1, 2), x3, (1, 3, 0), (3, 2)) * -1.0 - del x3 - e_cc += einsum(t1, (0, 1), x4, (0, 1), ()) - del x4 - - return e_cc - -def update_amps(f=None, v=None, nocc=None, nvir=None, naux=None, t1=None, t2=None, **kwargs): - # T amplitudes - t1new = np.zeros((nocc, nvir), dtype=types[float]) - t1new += einsum(f.ov, (0, 1), (0, 1)) - t1new += einsum(f.vv, (0, 1), t1, (2, 1), (2, 0)) - t2new = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - t2new += einsum(v.xov, (0, 1, 2), v.xov, (0, 3, 4), (1, 3, 2, 4)) - x0 = np.zeros((naux,), dtype=types[float]) - x0 += einsum(t1, (0, 1), v.xov, (2, 0, 1), (2,)) - x1 = np.zeros((nocc, nvir), dtype=types[float]) - x1 += einsum(x0, (0,), v.xov, (0, 1, 2), (1, 2)) - t1new += einsum(x1, (0, 1), (0, 1)) * 2.0 - x2 = np.zeros((nocc, nvir, naux), dtype=types[float]) - x2 += einsum(t1, (0, 1), v.xoo, (2, 3, 0), (3, 1, 2)) - x3 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x3 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) - x3 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - x3 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - x4 = np.zeros((nocc, nvir, naux), dtype=types[float]) - x4 += einsum(x2, (0, 1, 2), (0, 1, 2)) * 0.5 - x4 += einsum(x0, (0,), t1, (1, 2), (1, 2, 0)) * -1.0 - x4 += einsum(v.xov, (0, 1, 2), x3, (1, 3, 4, 2), (3, 4, 0)) * 0.5 - del x3 - t1new += einsum(v.xvv, (0, 1, 2), x4, (3, 2, 0), (3, 1)) * -2.0 - del x4 - x5 = np.zeros((nocc, nocc, naux), dtype=types[float]) - x5 += einsum(t1, (0, 1), v.xov, (2, 3, 1), (0, 3, 2)) - x6 = np.zeros((nocc, nocc, naux), dtype=types[float]) - x6 += einsum(v.xoo, (0, 1, 2), (1, 2, 0)) - x6 += einsum(x5, (0, 1, 2), (1, 0, 2)) - x7 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x7 += einsum(v.xov, (0, 1, 2), x6, (3, 4, 0), (3, 4, 1, 2)) - del x6 - x8 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x8 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - x8 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t1new += einsum(x7, (0, 1, 2, 3), x8, (2, 0, 4, 3), (1, 4)) * -1.0 - x9 = np.zeros((nocc, nvir), dtype=types[float]) - x9 += einsum(v.xov, (0, 1, 2), x5, (1, 3, 0), (3, 2)) - x10 = np.zeros((nocc, nvir), dtype=types[float]) - x10 += einsum(f.ov, (0, 1), (0, 1)) - x10 += einsum(x1, (0, 1), (0, 1)) * 2.0 - del x1 - x10 += einsum(x9, (0, 1), (0, 1)) * -1.0 - t1new += einsum(x10, (0, 1), x8, (0, 2, 3, 1), (2, 3)) - del x8, x10 - x11 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x11 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) - x11 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x12 = np.zeros((nocc, nvir, naux), dtype=types[float]) - x12 += einsum(x2, (0, 1, 2), (0, 1, 2)) * -1.0 - x12 += einsum(x0, (0,), t1, (1, 2), (1, 2, 0)) * 2.0 - x12 += einsum(v.xov, (0, 1, 2), x11, (1, 3, 4, 2), (3, 4, 0)) * 2.0 - del x11 - x13 = np.zeros((nocc, nvir), dtype=types[float]) - x13 += einsum(f.ov, (0, 1), (0, 1)) - x13 += einsum(x9, (0, 1), (0, 1)) * -1.0 - del x9 - x14 = np.zeros((nocc, nocc), dtype=types[float]) - x14 += einsum(f.oo, (0, 1), (0, 1)) - x14 += einsum(x0, (0,), v.xoo, (0, 1, 2), (1, 2)) * 2.0 - del x0 - x14 += einsum(v.xov, (0, 1, 2), x12, (3, 2, 0), (1, 3)) - del x12 - x14 += einsum(t1, (0, 1), x13, (2, 1), (2, 0)) - del x13 - t1new += einsum(t1, (0, 1), x14, (0, 2), (2, 1)) * -1.0 - del x14 - x15 = np.zeros((nocc, nvir, naux), dtype=types[float]) - x15 += einsum(t1, (0, 1), v.xvv, (2, 3, 1), (0, 3, 2)) - t2new += einsum(x15, (0, 1, 2), x15, (3, 4, 2), (0, 3, 1, 4)) - x16 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x16 += einsum(v.xoo, (0, 1, 2), x5, (3, 4, 0), (3, 1, 2, 4)) - x17 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x17 += einsum(t1, (0, 1), x16, (2, 3, 4, 0), (2, 3, 4, 1)) - del x16 - x18 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x18 += einsum(t1, (0, 1), x17, (2, 0, 3, 4), (2, 3, 1, 4)) - del x17 - x19 = np.zeros((nocc, nvir, naux), dtype=types[float]) - x19 += einsum(v.xov, (0, 1, 2), (1, 2, 0)) * -1.0 - x19 += einsum(x2, (0, 1, 2), (0, 1, 2)) - del x2 - x20 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x20 += einsum(x15, (0, 1, 2), x19, (3, 4, 2), (3, 0, 4, 1)) - del x19 - x21 = np.zeros((nvir, nvir), dtype=types[float]) - x21 += einsum(f.ov, (0, 1), t1, (0, 2), (1, 2)) - x22 = np.zeros((nvir, nvir), dtype=types[float]) - x22 += einsum(f.vv, (0, 1), (0, 1)) - x22 += einsum(x21, (0, 1), (0, 1)) * -1.0 - del x21 - x23 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x23 += einsum(x22, (0, 1), t2, (2, 3, 0, 4), (2, 3, 1, 4)) - del x22 - x24 = np.zeros((nocc, nocc), dtype=types[float]) - x24 += einsum(f.ov, (0, 1), t1, (2, 1), (0, 2)) - x25 = np.zeros((nocc, nocc), dtype=types[float]) - x25 += einsum(f.oo, (0, 1), (0, 1)) - x25 += einsum(x24, (0, 1), (0, 1)) - del x24 - x26 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x26 += einsum(x25, (0, 1), t2, (2, 0, 3, 4), (1, 2, 4, 3)) - del x25 - x27 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x27 += einsum(x18, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x18 - x27 += einsum(x20, (0, 1, 2, 3), (1, 0, 2, 3)) - del x20 - x27 += einsum(x23, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x23 - x27 += einsum(x26, (0, 1, 2, 3), (0, 1, 3, 2)) - del x26 - t2new += einsum(x27, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new += einsum(x27, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x27 - x28 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x28 += einsum(x15, (0, 1, 2), x5, (3, 4, 2), (3, 0, 4, 1)) - del x15 - x29 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x29 += einsum(x28, (0, 1, 2, 3), (0, 1, 2, 3)) - del x28 - x29 += einsum(x7, (0, 1, 2, 3), (1, 2, 0, 3)) - del x7 - x30 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x30 += einsum(t1, (0, 1), x29, (2, 3, 0, 4), (2, 3, 4, 1)) - del x29 - t2new += einsum(x30, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new += einsum(x30, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x30 - x31 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x31 += einsum(v.xoo, (0, 1, 2), v.xoo, (0, 3, 4), (1, 3, 4, 2)) - x31 += einsum(x5, (0, 1, 2), x5, (3, 4, 2), (4, 0, 1, 3)) - del x5 - x32 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x32 += einsum(t1, (0, 1), x31, (0, 2, 3, 4), (2, 4, 3, 1)) - del x31 - t2new += einsum(t1, (0, 1), x32, (2, 3, 0, 4), (2, 3, 1, 4)) - del x32 - - return {"t1new": t1new, "t2new": t2new} - -def update_lams(f=None, v=None, nocc=None, nvir=None, naux=None, t1=None, t2=None, l1=None, l2=None, **kwargs): - # L amplitudes - l1new = np.zeros((nvir, nocc), dtype=types[float]) - l1new += einsum(f.ov, (0, 1), (1, 0)) - x0 = np.zeros((naux,), dtype=types[float]) - x0 += einsum(t1, (0, 1), v.xov, (2, 0, 1), (2,)) - x1 = np.zeros((nocc, nvir), dtype=types[float]) - x1 += einsum(x0, (0,), v.xov, (0, 1, 2), (1, 2)) - x2 = np.zeros((nocc, nocc), dtype=types[float]) - x2 += einsum(l1, (0, 1), t1, (2, 0), (1, 2)) - l1new += einsum(x1, (0, 1), x2, (2, 0), (1, 2)) * -2.0 - x3 = np.zeros((nocc, nvir, naux), dtype=types[float]) - x3 += einsum(t1, (0, 1), v.xvv, (2, 3, 1), (0, 3, 2)) - x4 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x4 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) - x4 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x5 = np.zeros((nocc, nvir, naux), dtype=types[float]) - x5 += einsum(v.xov, (0, 1, 2), (1, 2, 0)) - x5 += einsum(x3, (0, 1, 2), (0, 1, 2)) - x5 += einsum(v.xov, (0, 1, 2), x4, (1, 3, 4, 2), (3, 4, 0)) * 2.0 - x6 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x6 += einsum(l2, (0, 1, 2, 3), (3, 2, 0, 1)) * 2.0 - x6 += einsum(l2, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 - x7 = np.zeros((nocc, nocc, naux), dtype=types[float]) - x7 += einsum(t1, (0, 1), v.xov, (2, 3, 1), (0, 3, 2)) - x8 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x8 += einsum(t1, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2)) - x9 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x9 += einsum(x8, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x9 += einsum(x8, (0, 1, 2, 3), (1, 0, 2, 3)) - x10 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x10 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.5 - x10 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - x11 = np.zeros((nvir, nvir), dtype=types[float]) - x11 += einsum(l2, (0, 1, 2, 3), x10, (2, 3, 4, 1), (0, 4)) - x12 = np.zeros((nocc, nocc, naux), dtype=types[float]) - x12 += einsum(v.xoo, (0, 1, 2), (1, 2, 0)) - x12 += einsum(x7, (0, 1, 2), (0, 1, 2)) - x13 = np.zeros((nocc, nvir, naux), dtype=types[float]) - x13 += einsum(x5, (0, 1, 2), x6, (0, 3, 4, 1), (3, 4, 2)) * -0.5 - del x5, x6 - x13 += einsum(x7, (0, 1, 2), x9, (0, 3, 1, 4), (3, 4, 2)) - x13 += einsum(v.xoo, (0, 1, 2), x9, (1, 3, 2, 4), (3, 4, 0)) - del x9 - x13 += einsum(x11, (0, 1), v.xov, (2, 3, 1), (3, 0, 2)) - del x11 - x13 += einsum(l1, (0, 1), x12, (1, 2, 3), (2, 0, 3)) * 0.5 - del x12 - l1new += einsum(v.xvv, (0, 1, 2), x13, (3, 2, 0), (1, 3)) * -2.0 - del x13 - x14 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x14 += einsum(v.xoo, (0, 1, 2), x3, (3, 4, 0), (3, 1, 2, 4)) - x15 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x15 += einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), (0, 2, 3, 4)) - x16 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x16 += einsum(v.xov, (0, 1, 2), v.xvv, (0, 3, 4), (1, 2, 3, 4)) - x17 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x17 += einsum(t2, (0, 1, 2, 3), x16, (4, 2, 3, 5), (0, 1, 4, 5)) - x18 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x18 += einsum(v.xov, (0, 1, 2), v.xov, (0, 3, 4), (1, 3, 2, 4)) - l2new = np.zeros((nvir, nvir, nocc, nocc), dtype=types[float]) - l2new += einsum(x18, (0, 1, 2, 3), (3, 2, 1, 0)) - x19 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x19 += einsum(t2, (0, 1, 2, 3), x18, (4, 5, 2, 3), (0, 1, 4, 5)) - x20 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x20 += einsum(t1, (0, 1), x19, (2, 3, 4, 0), (2, 3, 4, 1)) - del x19 - x21 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x21 += einsum(x17, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - del x17 - x21 += einsum(x20, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - del x20 - x22 = np.zeros((nocc, nvir), dtype=types[float]) - x22 += einsum(v.xov, (0, 1, 2), x7, (1, 3, 0), (3, 2)) - x23 = np.zeros((nocc, nvir), dtype=types[float]) - x23 += einsum(x1, (0, 1), (0, 1)) - x23 += einsum(x22, (0, 1), (0, 1)) * -0.5 - x24 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x24 += einsum(x23, (0, 1), t2, (2, 3, 1, 4), (2, 3, 0, 4)) * 2.0 - x25 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x25 += einsum(v.xoo, (0, 1, 2), v.xov, (0, 3, 4), (1, 2, 3, 4)) - x26 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x26 += einsum(v.xov, (0, 1, 2), x7, (3, 4, 0), (3, 1, 4, 2)) - x27 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x27 += einsum(x25, (0, 1, 2, 3), (1, 0, 2, 3)) - x27 += einsum(x25, (0, 1, 2, 3), (1, 2, 0, 3)) * -0.5 - x27 += einsum(x26, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x27 += einsum(x26, (0, 1, 2, 3), (0, 2, 1, 3)) - x28 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x28 += einsum(x25, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x28 += einsum(x25, (0, 1, 2, 3), (1, 2, 0, 3)) * 2.0 - x28 += einsum(x26, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x28 += einsum(x26, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x29 = np.zeros((nocc, nocc, naux), dtype=types[float]) - x29 += einsum(v.xoo, (0, 1, 2), (1, 2, 0)) - x29 += einsum(x7, (0, 1, 2), (1, 0, 2)) - x30 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x30 += einsum(v.xov, (0, 1, 2), x29, (3, 4, 0), (1, 3, 4, 2)) * 0.5 - x31 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x31 += einsum(v.xoo, (0, 1, 2), v.xoo, (0, 3, 4), (1, 3, 4, 2)) - x32 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x32 += einsum(v.xoo, (0, 1, 2), x7, (3, 4, 0), (3, 1, 2, 4)) - x33 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x33 += einsum(x31, (0, 1, 2, 3), (3, 2, 1, 0)) - x33 += einsum(x32, (0, 1, 2, 3), (1, 0, 3, 2)) - x33 += einsum(x32, (0, 1, 2, 3), (3, 0, 2, 1)) * -2.0 - x34 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x34 += einsum(x14, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x34 += einsum(x15, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x34 += einsum(x15, (0, 1, 2, 3), (2, 0, 1, 3)) * 0.5 - del x15 - x34 += einsum(x21, (0, 1, 2, 3), (0, 2, 1, 3)) - x34 += einsum(x21, (0, 1, 2, 3), (1, 2, 0, 3)) * -2.0 - del x21 - x34 += einsum(x24, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - x34 += einsum(x24, (0, 1, 2, 3), (0, 2, 1, 3)) * 0.5 - del x24 - x34 += einsum(t2, (0, 1, 2, 3), x27, (4, 5, 1, 3), (4, 5, 0, 2)) - del x27 - x34 += einsum(t2, (0, 1, 2, 3), x28, (4, 5, 1, 2), (4, 5, 0, 3)) * 0.5 - x34 += einsum(x30, (0, 1, 2, 3), (2, 1, 0, 3)) - x34 += einsum(t1, (0, 1), x33, (0, 2, 3, 4), (2, 3, 4, 1)) * -0.5 - del x33 - l1new += einsum(l2, (0, 1, 2, 3), x34, (3, 4, 2, 1), (0, 4)) * 2.0 - del x34 - x35 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x35 += einsum(x3, (0, 1, 2), x7, (3, 4, 2), (3, 0, 4, 1)) - x36 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x36 += einsum(x7, (0, 1, 2), x7, (3, 4, 2), (0, 3, 1, 4)) - x37 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x37 += einsum(t1, (0, 1), x36, (2, 3, 4, 0), (2, 3, 4, 1)) - x38 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x38 += einsum(x35, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - del x35 - x38 += einsum(x37, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - del x37 - x39 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x39 += einsum(x31, (0, 1, 2, 3), (3, 2, 1, 0)) - x39 += einsum(x32, (0, 1, 2, 3), (1, 0, 3, 2)) - x39 += einsum(x32, (0, 1, 2, 3), (3, 0, 2, 1)) * -0.5 - x40 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x40 += einsum(x14, (0, 1, 2, 3), (0, 2, 1, 3)) * 0.25 - del x14 - x40 += einsum(x38, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x40 += einsum(x38, (0, 1, 2, 3), (1, 2, 0, 3)) * 0.5 - del x38 - x40 += einsum(x10, (0, 1, 2, 3), x28, (4, 0, 5, 2), (4, 5, 1, 3)) * -0.5 - del x28 - x40 += einsum(x30, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - del x30 - x40 += einsum(t1, (0, 1), x39, (0, 2, 3, 4), (2, 3, 4, 1)) * 0.5 - del x39 - l1new += einsum(l2, (0, 1, 2, 3), x40, (2, 4, 3, 1), (0, 4)) * 4.0 - del x40 - x41 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x41 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x41 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x42 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x42 += einsum(l2, (0, 1, 2, 3), x4, (3, 4, 5, 1), (2, 4, 0, 5)) - x42 += einsum(l2, (0, 1, 2, 3), x41, (2, 4, 5, 1), (3, 4, 0, 5)) * 0.5 - x43 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x43 += einsum(l1, (0, 1), t2, (2, 3, 4, 0), (1, 2, 3, 4)) - x44 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x44 += einsum(t2, (0, 1, 2, 3), x8, (4, 1, 5, 2), (4, 5, 0, 3)) - x45 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x45 += einsum(x43, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x43 - x45 += einsum(x44, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - del x44 - x46 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x46 += einsum(l2, (0, 1, 2, 3), t2, (4, 5, 0, 1), (2, 3, 4, 5)) - x47 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x47 += einsum(t1, (0, 1), x46, (2, 0, 3, 4), (2, 3, 4, 1)) - x48 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x48 += einsum(t2, (0, 1, 2, 3), x8, (4, 1, 5, 3), (4, 5, 0, 2)) - x49 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x49 += einsum(x41, (0, 1, 2, 3), x8, (0, 4, 5, 2), (4, 5, 1, 3)) - x50 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x50 += einsum(x47, (0, 1, 2, 3), (0, 1, 2, 3)) - del x47 - x50 += einsum(x48, (0, 1, 2, 3), (0, 1, 2, 3)) - del x48 - x50 += einsum(x49, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x49 - x51 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x51 += einsum(x45, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x51 += einsum(x45, (0, 1, 2, 3), (0, 2, 1, 3)) * 0.5 - del x45 - x51 += einsum(x8, (0, 1, 2, 3), (0, 1, 2, 3)) - x51 += einsum(x8, (0, 1, 2, 3), (1, 0, 2, 3)) * -2.0 - x51 += einsum(x50, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x51 += einsum(x50, (0, 1, 2, 3), (0, 2, 1, 3)) * 2.0 - del x50 - x52 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x52 += einsum(x8, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x52 += einsum(x8, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 - x53 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x53 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - x53 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x54 = np.zeros((nocc, nocc), dtype=types[float]) - x54 += einsum(l2, (0, 1, 2, 3), x10, (2, 4, 0, 1), (3, 4)) * 2.0 - x55 = np.zeros((nocc, nocc), dtype=types[float]) - x55 += einsum(x2, (0, 1), (0, 1)) - x55 += einsum(x54, (0, 1), (0, 1)) - x56 = np.zeros((nocc, nvir), dtype=types[float]) - x56 += einsum(t1, (0, 1), (0, 1)) * -1.0 - x56 += einsum(x10, (0, 1, 2, 3), x8, (1, 0, 4, 3), (4, 2)) * 2.0 - x56 += einsum(l1, (0, 1), x53, (1, 2, 3, 0), (2, 3)) * -1.0 - x56 += einsum(t1, (0, 1), x55, (0, 2), (2, 1)) - x57 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x57 += einsum(t1, (0, 1), x8, (2, 3, 4, 1), (3, 2, 4, 0)) - l2new += einsum(x18, (0, 1, 2, 3), x57, (4, 5, 0, 1), (3, 2, 5, 4)) - del x18 - x58 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x58 += einsum(x46, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.5 - x58 += einsum(x46, (0, 1, 2, 3), (1, 0, 3, 2)) - del x46 - x58 += einsum(x57, (0, 1, 2, 3), (0, 1, 2, 3)) - x58 += einsum(x57, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.5 - x59 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x59 += einsum(x57, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x59 += einsum(x57, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - del x57 - x60 = np.zeros((nocc, nvir, naux), dtype=types[float]) - x60 += einsum(l1, (0, 1), v.xvv, (2, 3, 0), (1, 3, 2)) - x61 = np.zeros((nocc, nvir, naux), dtype=types[float]) - x61 += einsum(x60, (0, 1, 2), (0, 1, 2)) * -1.0 - x61 += einsum(x55, (0, 1), v.xov, (2, 1, 3), (0, 3, 2)) - x62 = np.zeros((nocc, nocc), dtype=types[float]) - x62 += einsum(l2, (0, 1, 2, 3), x10, (2, 4, 0, 1), (3, 4)) - x63 = np.zeros((nocc, nocc), dtype=types[float]) - x63 += einsum(x2, (0, 1), (0, 1)) * 0.5 - x63 += einsum(x62, (0, 1), (0, 1)) - del x62 - l1new += einsum(f.ov, (0, 1), x63, (2, 0), (1, 2)) * -2.0 - x64 = np.zeros((nocc, nocc, naux), dtype=types[float]) - x64 += einsum(v.xvv, (0, 1, 2), x42, (3, 4, 1, 2), (4, 3, 0)) * -1.0 - del x42 - x64 += einsum(v.xov, (0, 1, 2), x51, (3, 1, 4, 2), (4, 3, 0)) * 0.5 - del x51 - x64 += einsum(x3, (0, 1, 2), x52, (3, 0, 4, 1), (4, 3, 2)) * -0.5 - x64 += einsum(x56, (0, 1), v.xov, (2, 3, 1), (0, 3, 2)) * 0.5 - del x56 - x64 += einsum(v.xoo, (0, 1, 2), x58, (1, 3, 2, 4), (4, 3, 0)) - del x58 - x64 += einsum(x7, (0, 1, 2), x59, (0, 3, 4, 1), (4, 3, 2)) * 0.5 - del x59 - x64 += einsum(t1, (0, 1), x61, (2, 1, 3), (0, 2, 3)) * 0.5 - del x61 - x64 += einsum(x63, (0, 1), v.xoo, (2, 3, 0), (1, 3, 2)) - x64 += einsum(x0, (0,), x54, (1, 2), (2, 1, 0)) * -1.0 - del x54 - l1new += einsum(v.xov, (0, 1, 2), x64, (1, 3, 0), (2, 3)) * 2.0 - del x64 - x65 = np.zeros((nvir, nvir), dtype=types[float]) - x65 += einsum(l1, (0, 1), t1, (1, 2), (0, 2)) - x65 += einsum(l2, (0, 1, 2, 3), x10, (2, 3, 4, 1), (4, 0)) * 2.0 - del x10 - x66 = np.zeros((nocc, nvir), dtype=types[float]) - x66 += einsum(l1, (0, 1), (1, 0)) - x66 += einsum(t1, (0, 1), (0, 1)) - x66 += einsum(x41, (0, 1, 2, 3), x8, (1, 0, 4, 3), (4, 2)) * -1.0 - del x41 - x66 += einsum(l1, (0, 1), x4, (1, 2, 3, 0), (2, 3)) * 2.0 - del x4 - x66 += einsum(t1, (0, 1), x63, (0, 2), (2, 1)) * -2.0 - del x63 - x67 = np.zeros((naux,), dtype=types[float]) - x67 += einsum(x65, (0, 1), v.xvv, (2, 1, 0), (2,)) - del x65 - x67 += einsum(x66, (0, 1), v.xov, (2, 0, 1), (2,)) - del x66 - x67 += einsum(x55, (0, 1), v.xoo, (2, 1, 0), (2,)) * -1.0 - del x55 - l1new += einsum(x67, (0,), v.xov, (0, 1, 2), (2, 1)) * 2.0 - del x67 - x68 = np.zeros((nocc, nocc), dtype=types[float]) - x68 += einsum(x0, (0,), v.xoo, (0, 1, 2), (1, 2)) - x69 = np.zeros((nocc, nvir, naux), dtype=types[float]) - x69 += einsum(t1, (0, 1), v.xoo, (2, 3, 0), (3, 1, 2)) - x69 += einsum(v.xov, (0, 1, 2), x53, (1, 3, 4, 2), (3, 4, 0)) * -1.0 - del x53 - x70 = np.zeros((nocc, nvir), dtype=types[float]) - x70 += einsum(f.ov, (0, 1), (0, 1)) - x70 += einsum(x1, (0, 1), (0, 1)) * 2.0 - x70 += einsum(x22, (0, 1), (0, 1)) * -1.0 - x71 = np.zeros((nocc, nocc), dtype=types[float]) - x71 += einsum(f.oo, (0, 1), (0, 1)) - x71 += einsum(x68, (0, 1), (1, 0)) * 2.0 - x71 += einsum(v.xov, (0, 1, 2), x69, (3, 2, 0), (3, 1)) * -1.0 - del x69 - x71 += einsum(t1, (0, 1), x70, (2, 1), (0, 2)) - del x70 - l1new += einsum(l1, (0, 1), x71, (1, 2), (0, 2)) * -1.0 - del x71 - x72 = np.zeros((nvir, nvir), dtype=types[float]) - x72 += einsum(x0, (0,), v.xvv, (0, 1, 2), (1, 2)) - del x0 - x73 = np.zeros((nvir, nvir), dtype=types[float]) - x73 += einsum(f.vv, (0, 1), (0, 1)) * 0.5 - x73 += einsum(x72, (0, 1), (1, 0)) - l1new += einsum(l1, (0, 1), x73, (0, 2), (2, 1)) * 2.0 - del x73 - x74 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) - x74 += einsum(v.xvv, (0, 1, 2), v.xvv, (0, 3, 4), (1, 3, 4, 2)) - l2new += einsum(l2, (0, 1, 2, 3), x74, (4, 5, 1, 0), (4, 5, 2, 3)) - del x74 - x75 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x75 += einsum(f.vv, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2)) - x76 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x76 += einsum(f.ov, (0, 1), x8, (2, 3, 0, 4), (2, 3, 1, 4)) - x77 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x77 += einsum(l1, (0, 1), x26, (1, 2, 3, 4), (2, 3, 0, 4)) - x78 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x78 += einsum(x25, (0, 1, 2, 3), x8, (1, 4, 2, 5), (4, 0, 5, 3)) - x79 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x79 += einsum(l2, (0, 1, 2, 3), x32, (2, 4, 3, 5), (4, 5, 0, 1)) - del x32 - x80 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x80 += einsum(x26, (0, 1, 2, 3), x8, (0, 4, 1, 5), (4, 2, 5, 3)) - x81 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x81 += einsum(v.xvv, (0, 1, 2), x29, (3, 4, 0), (3, 4, 1, 2)) - del x29 - x82 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x82 += einsum(l2, (0, 1, 2, 3), x81, (4, 2, 5, 1), (3, 4, 0, 5)) - x83 = np.zeros((nocc, nvir, naux), dtype=types[float]) - x83 += einsum(x2, (0, 1), v.xov, (2, 1, 3), (0, 3, 2)) - del x2 - x84 = np.zeros((nocc, nvir, naux), dtype=types[float]) - x84 += einsum(x60, (0, 1, 2), (0, 1, 2)) - del x60 - x84 += einsum(x83, (0, 1, 2), (0, 1, 2)) * -1.0 - del x83 - x85 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x85 += einsum(v.xov, (0, 1, 2), x84, (3, 4, 0), (1, 3, 2, 4)) - del x84 - x86 = np.zeros((nocc, nocc), dtype=types[float]) - x86 += einsum(f.ov, (0, 1), t1, (2, 1), (0, 2)) - x87 = np.zeros((nocc, nocc), dtype=types[float]) - x87 += einsum(f.oo, (0, 1), (0, 1)) - x87 += einsum(x86, (0, 1), (1, 0)) - del x86 - x88 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x88 += einsum(x87, (0, 1), l2, (2, 3, 0, 4), (4, 1, 2, 3)) - del x87 - x89 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x89 += einsum(x75, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x75 - x89 += einsum(x76, (0, 1, 2, 3), (0, 1, 2, 3)) - del x76 - x89 += einsum(x77, (0, 1, 2, 3), (0, 1, 2, 3)) - del x77 - x89 += einsum(x78, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x78 - x89 += einsum(x79, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x79 - x89 += einsum(x80, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x80 - x89 += einsum(x82, (0, 1, 2, 3), (0, 1, 2, 3)) - del x82 - x89 += einsum(x85, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x85 - x89 += einsum(x88, (0, 1, 2, 3), (1, 0, 3, 2)) - del x88 - l2new += einsum(x89, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - l2new += einsum(x89, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 - del x89 - x90 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x90 += einsum(l1, (0, 1), x25, (2, 1, 3, 4), (2, 3, 0, 4)) - x91 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x91 += einsum(x25, (0, 1, 2, 3), x8, (4, 1, 2, 5), (4, 0, 5, 3)) - x92 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x92 += einsum(x16, (0, 1, 2, 3), x8, (4, 5, 0, 2), (5, 4, 1, 3)) - del x16 - x93 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x93 += einsum(x26, (0, 1, 2, 3), x8, (4, 0, 1, 5), (4, 2, 5, 3)) - x94 = np.zeros((nocc, nvir, naux), dtype=types[float]) - x94 += einsum(v.xov, (0, 1, 2), (1, 2, 0)) - x94 += einsum(x3, (0, 1, 2), (0, 1, 2)) - x95 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x95 += einsum(l2, (0, 1, 2, 3), (3, 2, 0, 1)) - x95 += einsum(l2, (0, 1, 2, 3), (2, 3, 0, 1)) * -0.5 - x96 = np.zeros((nocc, nvir, naux), dtype=types[float]) - x96 += einsum(x94, (0, 1, 2), x95, (0, 3, 4, 1), (3, 4, 2)) * 2.0 - del x94, x95 - x97 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x97 += einsum(v.xov, (0, 1, 2), x96, (3, 4, 0), (1, 3, 2, 4)) - del x96 - x98 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x98 += einsum(l2, (0, 1, 2, 3), x81, (4, 3, 5, 1), (2, 4, 0, 5)) - del x81 - x99 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x99 += einsum(x8, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x99 += einsum(x8, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x100 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x100 += einsum(x25, (0, 1, 2, 3), x99, (4, 0, 1, 5), (2, 4, 3, 5)) - del x25, x99 - x101 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x101 += einsum(x26, (0, 1, 2, 3), x52, (0, 4, 2, 5), (1, 4, 3, 5)) - del x26, x52 - x102 = np.zeros((nvir, nvir), dtype=types[float]) - x102 += einsum(v.xov, (0, 1, 2), x3, (1, 3, 0), (2, 3)) - del x3 - x103 = np.zeros((nvir, nvir), dtype=types[float]) - x103 += einsum(x72, (0, 1), (1, 0)) * 2.0 - del x72 - x103 += einsum(x102, (0, 1), (0, 1)) * -1.0 - del x102 - x104 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x104 += einsum(x103, (0, 1), l2, (2, 1, 3, 4), (4, 3, 2, 0)) - del x103 - x105 = np.zeros((nocc, nocc), dtype=types[float]) - x105 += einsum(v.xoo, (0, 1, 2), x7, (2, 3, 0), (1, 3)) - del x7 - x106 = np.zeros((nocc, nocc), dtype=types[float]) - x106 += einsum(t1, (0, 1), x23, (2, 1), (0, 2)) - x107 = np.zeros((nocc, nocc), dtype=types[float]) - x107 += einsum(x68, (0, 1), (1, 0)) - del x68 - x107 += einsum(x105, (0, 1), (0, 1)) * -0.5 - del x105 - x107 += einsum(x106, (0, 1), (0, 1)) - del x106 - x108 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x108 += einsum(x107, (0, 1), l2, (2, 3, 0, 4), (4, 1, 2, 3)) * 2.0 - del x107 - x109 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x109 += einsum(x23, (0, 1), x8, (2, 3, 0, 4), (2, 3, 4, 1)) * 2.0 - del x8, x23 - x110 = np.zeros((nocc, nvir), dtype=types[float]) - x110 += einsum(x1, (0, 1), (0, 1)) * 2.0 - del x1 - x110 += einsum(x22, (0, 1), (0, 1)) * -1.0 - del x22 - x111 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x111 += einsum(f.ov, (0, 1), l1, (2, 3), (0, 3, 1, 2)) * -1.0 - x111 += einsum(x90, (0, 1, 2, 3), (0, 1, 2, 3)) - del x90 - x111 += einsum(x91, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x91 - x111 += einsum(x92, (0, 1, 2, 3), (0, 1, 2, 3)) - del x92 - x111 += einsum(x93, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x93 - x111 += einsum(x97, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x97 - x111 += einsum(x98, (0, 1, 2, 3), (0, 1, 2, 3)) - del x98 - x111 += einsum(x100, (0, 1, 2, 3), (1, 0, 3, 2)) - del x100 - x111 += einsum(x101, (0, 1, 2, 3), (1, 0, 3, 2)) - del x101 - x111 += einsum(x104, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x104 - x111 += einsum(x108, (0, 1, 2, 3), (0, 1, 3, 2)) - del x108 - x111 += einsum(x109, (0, 1, 2, 3), (0, 1, 2, 3)) - del x109 - x111 += einsum(l1, (0, 1), x110, (2, 3), (1, 2, 0, 3)) * -1.0 - del x110 - l2new += einsum(x111, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 - l2new += einsum(x111, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 - del x111 - x112 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x112 += einsum(x31, (0, 1, 2, 3), (3, 2, 1, 0)) - del x31 - x112 += einsum(x36, (0, 1, 2, 3), (0, 3, 1, 2)) - del x36 - l2new += einsum(l2, (0, 1, 2, 3), x112, (3, 4, 2, 5), (0, 1, 4, 5)) - del x112 - - return {"l1new": l1new, "l2new": l2new} - -def make_rdm1_f(f=None, v=None, nocc=None, nvir=None, naux=None, t1=None, t2=None, l1=None, l2=None, **kwargs): - delta = Namespace(oo=np.eye(nocc), vv=np.eye(nvir)) - - # RDM1 - rdm1_f_oo = np.zeros((nocc, nocc), dtype=types[float]) - rdm1_f_oo += einsum(delta.oo, (0, 1), (0, 1)) * 2.0 - rdm1_f_ov = np.zeros((nocc, nvir), dtype=types[float]) - rdm1_f_ov += einsum(t1, (0, 1), (0, 1)) * 2.0 - rdm1_f_vo = np.zeros((nvir, nocc), dtype=types[float]) - rdm1_f_vo += einsum(l1, (0, 1), (0, 1)) * 2.0 - rdm1_f_vv = np.zeros((nvir, nvir), dtype=types[float]) - rdm1_f_vv += einsum(l1, (0, 1), t1, (1, 2), (0, 2)) * 2.0 - x0 = np.zeros((nocc, nocc), dtype=types[float]) - x0 += einsum(l1, (0, 1), t1, (2, 0), (1, 2)) - rdm1_f_oo += einsum(x0, (0, 1), (1, 0)) * -2.0 - x1 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x1 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - x1 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - rdm1_f_oo += einsum(l2, (0, 1, 2, 3), x1, (3, 4, 0, 1), (4, 2)) * -2.0 - del x1 - x2 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x2 += einsum(t1, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2)) - x3 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x3 += einsum(x2, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x3 += einsum(x2, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x2 - rdm1_f_ov += einsum(t2, (0, 1, 2, 3), x3, (0, 1, 4, 2), (4, 3)) * -2.0 - del x3 - x4 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x4 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) - x4 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - rdm1_f_ov += einsum(l1, (0, 1), x4, (1, 2, 3, 0), (2, 3)) * 4.0 - del x4 - x5 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x5 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.5 - x5 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - x6 = np.zeros((nocc, nocc), dtype=types[float]) - x6 += einsum(x0, (0, 1), (0, 1)) * 0.5 - del x0 - x6 += einsum(l2, (0, 1, 2, 3), x5, (2, 4, 0, 1), (3, 4)) - del x5 - rdm1_f_ov += einsum(t1, (0, 1), x6, (0, 2), (2, 1)) * -4.0 - del x6 - x7 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x7 += einsum(l2, (0, 1, 2, 3), (3, 2, 0, 1)) * -0.5 - x7 += einsum(l2, (0, 1, 2, 3), (2, 3, 0, 1)) - rdm1_f_vv += einsum(t2, (0, 1, 2, 3), x7, (0, 1, 4, 3), (4, 2)) * 4.0 - del x7 - - rdm1_f = np.block([[rdm1_f_oo, rdm1_f_ov], [rdm1_f_vo, rdm1_f_vv]]) - - return rdm1_f - -def make_rdm2_f(f=None, v=None, nocc=None, nvir=None, naux=None, t1=None, t2=None, l1=None, l2=None, **kwargs): - delta = Namespace(oo=np.eye(nocc), vv=np.eye(nvir)) - - # RDM2 - rdm2_f_oooo = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - rdm2_f_oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (0, 2, 1, 3)) - rdm2_f_oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (0, 2, 1, 3)) - rdm2_f_oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (0, 2, 1, 3)) - rdm2_f_oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (0, 2, 1, 3)) - rdm2_f_oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_ovoo = np.zeros((nocc, nvir, nocc, nocc), dtype=types[float]) - rdm2_f_ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (0, 2, 1, 3)) - rdm2_f_ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (0, 2, 1, 3)) - rdm2_f_ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (0, 2, 1, 3)) - rdm2_f_ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (0, 2, 1, 3)) - rdm2_f_ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_vooo = np.zeros((nvir, nocc, nocc, nocc), dtype=types[float]) - rdm2_f_vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 0, 3, 1)) - rdm2_f_vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 0, 3, 1)) - rdm2_f_vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 0, 3, 1)) - rdm2_f_vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 0, 3, 1)) - rdm2_f_oovv = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - rdm2_f_oovv += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_ovov = np.zeros((nocc, nvir, nocc, nvir), dtype=types[float]) - rdm2_f_ovov += einsum(l1, (0, 1), t1, (2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_ovov += einsum(l1, (0, 1), t1, (2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_ovvo = np.zeros((nocc, nvir, nvir, nocc), dtype=types[float]) - rdm2_f_ovvo += einsum(l1, (0, 1), t1, (2, 3), (2, 0, 3, 1)) - rdm2_f_ovvo += einsum(l1, (0, 1), t1, (2, 3), (2, 0, 3, 1)) - rdm2_f_ovvo += einsum(l1, (0, 1), t1, (2, 3), (2, 0, 3, 1)) - rdm2_f_ovvo += einsum(l1, (0, 1), t1, (2, 3), (2, 0, 3, 1)) - rdm2_f_voov = np.zeros((nvir, nocc, nocc, nvir), dtype=types[float]) - rdm2_f_voov += einsum(l1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) - rdm2_f_voov += einsum(l1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) - rdm2_f_voov += einsum(l1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) - rdm2_f_voov += einsum(l1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) - rdm2_f_vovo = np.zeros((nvir, nocc, nvir, nocc), dtype=types[float]) - rdm2_f_vovo += einsum(l1, (0, 1), t1, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_vovo += einsum(l1, (0, 1), t1, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_vvoo = np.zeros((nvir, nvir, nocc, nocc), dtype=types[float]) - rdm2_f_vvoo += einsum(l2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_vvoo += einsum(l2, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_vvoo += einsum(l2, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_vvoo += einsum(l2, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_vvoo += einsum(l2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_vvoo += einsum(l2, (0, 1, 2, 3), (0, 1, 2, 3)) - x0 = np.zeros((nocc, nocc), dtype=types[float]) - x0 += einsum(l1, (0, 1), t1, (2, 0), (1, 2)) - rdm2_f_oooo += einsum(delta.oo, (0, 1), x0, (2, 3), (0, 3, 1, 2)) * -1.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x0, (2, 3), (3, 0, 1, 2)) - rdm2_f_oooo += einsum(delta.oo, (0, 1), x0, (2, 3), (0, 3, 2, 1)) - rdm2_f_oooo += einsum(delta.oo, (0, 1), x0, (2, 3), (3, 0, 2, 1)) * -1.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x0, (2, 3), (0, 3, 1, 2)) * -1.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x0, (2, 3), (3, 0, 2, 1)) * -1.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x0, (2, 3), (0, 3, 1, 2)) * -1.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x0, (2, 3), (3, 0, 2, 1)) * -1.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x0, (2, 3), (0, 3, 1, 2)) * -1.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x0, (2, 3), (3, 0, 1, 2)) - rdm2_f_oooo += einsum(delta.oo, (0, 1), x0, (2, 3), (0, 3, 2, 1)) - rdm2_f_oooo += einsum(delta.oo, (0, 1), x0, (2, 3), (3, 0, 2, 1)) * -1.0 - x1 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x1 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.5 - x1 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - x2 = np.zeros((nocc, nocc), dtype=types[float]) - x2 += einsum(l2, (0, 1, 2, 3), x1, (2, 4, 0, 1), (3, 4)) - rdm2_f_oooo += einsum(delta.oo, (0, 1), x2, (2, 3), (0, 3, 1, 2)) * -2.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x2, (2, 3), (0, 3, 2, 1)) * 2.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x2, (2, 3), (3, 0, 1, 2)) * 2.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x2, (2, 3), (3, 0, 2, 1)) * -2.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x2, (2, 3), (0, 3, 1, 2)) * -2.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x2, (2, 3), (3, 0, 2, 1)) * -2.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x2, (2, 3), (0, 3, 1, 2)) * -2.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x2, (2, 3), (3, 0, 2, 1)) * -2.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x2, (2, 3), (0, 3, 1, 2)) * -2.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x2, (2, 3), (0, 3, 2, 1)) * 2.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x2, (2, 3), (3, 0, 1, 2)) * 2.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x2, (2, 3), (3, 0, 2, 1)) * -2.0 - x3 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x3 += einsum(l2, (0, 1, 2, 3), t2, (4, 5, 0, 1), (2, 3, 4, 5)) - rdm2_f_oooo += einsum(x3, (0, 1, 2, 3), (3, 2, 1, 0)) - rdm2_f_oooo += einsum(x3, (0, 1, 2, 3), (3, 2, 1, 0)) - x4 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x4 += einsum(t1, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2)) - rdm2_f_ovoo += einsum(x4, (0, 1, 2, 3), (2, 3, 0, 1)) - rdm2_f_ovoo += einsum(x4, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 - rdm2_f_ovoo += einsum(x4, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 - rdm2_f_ovoo += einsum(x4, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 - rdm2_f_ovoo += einsum(x4, (0, 1, 2, 3), (2, 3, 0, 1)) - rdm2_f_ovoo += einsum(x4, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 - rdm2_f_vooo += einsum(x4, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - rdm2_f_vooo += einsum(x4, (0, 1, 2, 3), (3, 2, 1, 0)) - rdm2_f_vooo += einsum(x4, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - rdm2_f_vooo += einsum(x4, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - rdm2_f_vooo += einsum(x4, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - rdm2_f_vooo += einsum(x4, (0, 1, 2, 3), (3, 2, 1, 0)) - x5 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x5 += einsum(t1, (0, 1), x4, (2, 3, 4, 1), (3, 2, 4, 0)) - rdm2_f_oooo += einsum(x5, (0, 1, 2, 3), (3, 2, 1, 0)) - rdm2_f_oooo += einsum(x5, (0, 1, 2, 3), (3, 2, 1, 0)) - x6 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x6 += einsum(x3, (0, 1, 2, 3), (1, 0, 3, 2)) - del x3 - x6 += einsum(x5, (0, 1, 2, 3), (0, 1, 2, 3)) - del x5 - rdm2_f_oooo += einsum(x6, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - rdm2_f_oooo += einsum(x6, (0, 1, 2, 3), (2, 3, 0, 1)) - rdm2_f_oooo += einsum(x6, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - rdm2_f_oooo += einsum(x6, (0, 1, 2, 3), (2, 3, 0, 1)) - x7 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x7 += einsum(l1, (0, 1), t2, (2, 3, 4, 0), (1, 2, 3, 4)) - rdm2_f_ooov = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - rdm2_f_ooov += einsum(x7, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_ooov += einsum(x7, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_oovo = np.zeros((nocc, nocc, nvir, nocc), dtype=types[float]) - rdm2_f_oovo += einsum(x7, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - rdm2_f_oovo += einsum(x7, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - x8 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x8 += einsum(x4, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x8 += einsum(x4, (0, 1, 2, 3), (1, 0, 2, 3)) - x9 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x9 += einsum(t2, (0, 1, 2, 3), x8, (1, 4, 5, 2), (4, 5, 0, 3)) - x10 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x10 += einsum(x4, (0, 1, 2, 3), (0, 1, 2, 3)) - x10 += einsum(x4, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.5 - x11 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x11 += einsum(t2, (0, 1, 2, 3), x10, (1, 4, 5, 3), (4, 5, 0, 2)) * 2.0 - del x10 - x12 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x12 += einsum(t1, (0, 1), x6, (0, 2, 3, 4), (2, 3, 4, 1)) - rdm2_f_ooov += einsum(x12, (0, 1, 2, 3), (2, 1, 0, 3)) - rdm2_f_ooov += einsum(x12, (0, 1, 2, 3), (2, 1, 0, 3)) - rdm2_f_oovo += einsum(x12, (0, 1, 2, 3), (1, 2, 3, 0)) - rdm2_f_oovo += einsum(x12, (0, 1, 2, 3), (1, 2, 3, 0)) - x13 = np.zeros((nocc, nocc), dtype=types[float]) - x13 += einsum(l2, (0, 1, 2, 3), x1, (2, 4, 0, 1), (3, 4)) * 2.0 - del x1 - x14 = np.zeros((nocc, nocc), dtype=types[float]) - x14 += einsum(x0, (0, 1), (0, 1)) - x14 += einsum(x13, (0, 1), (0, 1)) - rdm2_f_ooov += einsum(t1, (0, 1), x14, (2, 3), (3, 0, 2, 1)) * -1.0 - rdm2_f_ooov += einsum(t1, (0, 1), x14, (2, 3), (3, 0, 2, 1)) * -1.0 - x15 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x15 += einsum(delta.oo, (0, 1), t1, (2, 3), (0, 1, 2, 3)) - x15 += einsum(x7, (0, 1, 2, 3), (1, 0, 2, 3)) - x15 += einsum(x9, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x9 - x15 += einsum(x11, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x11 - x15 += einsum(x12, (0, 1, 2, 3), (2, 0, 1, 3)) - x15 += einsum(t1, (0, 1), x14, (2, 3), (0, 2, 3, 1)) - rdm2_f_ooov += einsum(x15, (0, 1, 2, 3), (0, 2, 1, 3)) - rdm2_f_ooov += einsum(x15, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_ooov += einsum(x15, (0, 1, 2, 3), (0, 2, 1, 3)) - rdm2_f_ooov += einsum(x15, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_oovo += einsum(x15, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_oovo += einsum(x15, (0, 1, 2, 3), (2, 0, 3, 1)) - rdm2_f_oovo += einsum(x15, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_oovo += einsum(x15, (0, 1, 2, 3), (2, 0, 3, 1)) - del x15 - x16 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x16 += einsum(x4, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x16 += einsum(x4, (0, 1, 2, 3), (1, 0, 2, 3)) - x17 = np.zeros((nocc, nvir), dtype=types[float]) - x17 += einsum(t2, (0, 1, 2, 3), x16, (0, 1, 4, 3), (4, 2)) * 2.0 - x18 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x18 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - x18 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x19 = np.zeros((nocc, nvir), dtype=types[float]) - x19 += einsum(l1, (0, 1), x18, (1, 2, 3, 0), (2, 3)) - x20 = np.zeros((nocc, nvir), dtype=types[float]) - x20 += einsum(t1, (0, 1), x14, (0, 2), (2, 1)) - x21 = np.zeros((nocc, nvir), dtype=types[float]) - x21 += einsum(x17, (0, 1), (0, 1)) - x21 += einsum(x19, (0, 1), (0, 1)) * -1.0 - x21 += einsum(x20, (0, 1), (0, 1)) - rdm2_f_ooov += einsum(delta.oo, (0, 1), x21, (2, 3), (0, 2, 1, 3)) * -1.0 - rdm2_f_ooov += einsum(delta.oo, (0, 1), x21, (2, 3), (2, 0, 1, 3)) - rdm2_f_ooov += einsum(delta.oo, (0, 1), x21, (2, 3), (0, 2, 1, 3)) * -1.0 - rdm2_f_ooov += einsum(delta.oo, (0, 1), x21, (2, 3), (2, 0, 1, 3)) - rdm2_f_oovo += einsum(delta.oo, (0, 1), x21, (2, 3), (0, 2, 3, 1)) - rdm2_f_oovo += einsum(delta.oo, (0, 1), x21, (2, 3), (2, 0, 3, 1)) * -1.0 - rdm2_f_oovo += einsum(delta.oo, (0, 1), x21, (2, 3), (0, 2, 3, 1)) - rdm2_f_oovo += einsum(delta.oo, (0, 1), x21, (2, 3), (2, 0, 3, 1)) * -1.0 - del x21 - x22 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x22 += einsum(t2, (0, 1, 2, 3), x4, (1, 4, 5, 2), (4, 5, 0, 3)) - rdm2_f_ooov += einsum(x22, (0, 1, 2, 3), (1, 2, 0, 3)) - rdm2_f_ooov += einsum(x22, (0, 1, 2, 3), (1, 2, 0, 3)) - rdm2_f_oovo += einsum(x22, (0, 1, 2, 3), (2, 1, 3, 0)) - rdm2_f_oovo += einsum(x22, (0, 1, 2, 3), (2, 1, 3, 0)) - del x22 - x23 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x23 += einsum(t2, (0, 1, 2, 3), x4, (4, 1, 5, 2), (4, 5, 0, 3)) - rdm2_f_ooov += einsum(x23, (0, 1, 2, 3), (2, 1, 0, 3)) - rdm2_f_ooov += einsum(x23, (0, 1, 2, 3), (2, 1, 0, 3)) - rdm2_f_oovo += einsum(x23, (0, 1, 2, 3), (1, 2, 3, 0)) - rdm2_f_oovo += einsum(x23, (0, 1, 2, 3), (1, 2, 3, 0)) - x24 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x24 += einsum(x4, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x24 += einsum(x4, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 - x25 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x25 += einsum(t2, (0, 1, 2, 3), x24, (4, 1, 5, 3), (4, 5, 0, 2)) - del x24 - rdm2_f_ooov += einsum(x25, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_ooov += einsum(x25, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - del x25 - x26 = np.zeros((nocc, nvir), dtype=types[float]) - x26 += einsum(t1, (0, 1), (0, 1)) * -1.0 - x26 += einsum(x17, (0, 1), (0, 1)) - del x17 - x26 += einsum(x19, (0, 1), (0, 1)) * -1.0 - del x19 - x26 += einsum(x20, (0, 1), (0, 1)) - del x20 - rdm2_f_ooov += einsum(delta.oo, (0, 1), x26, (2, 3), (0, 2, 1, 3)) * -1.0 - rdm2_f_ooov += einsum(delta.oo, (0, 1), x26, (2, 3), (0, 2, 1, 3)) * -1.0 - del x26 - x27 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x27 += einsum(x4, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x27 += einsum(x4, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x28 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x28 += einsum(t2, (0, 1, 2, 3), x27, (1, 4, 5, 3), (4, 5, 0, 2)) - del x27 - rdm2_f_oovo += einsum(x28, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - rdm2_f_oovo += einsum(x28, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - del x28 - x29 = np.zeros((nocc, nocc), dtype=types[float]) - x29 += einsum(delta.oo, (0, 1), (0, 1)) * -1.0 - x29 += einsum(x0, (0, 1), (0, 1)) - x29 += einsum(x13, (0, 1), (0, 1)) - rdm2_f_oovo += einsum(t1, (0, 1), x29, (2, 3), (0, 3, 1, 2)) * -1.0 - rdm2_f_oovo += einsum(t1, (0, 1), x29, (2, 3), (0, 3, 1, 2)) * -1.0 - del x29 - x30 = np.zeros((nocc, nvir), dtype=types[float]) - x30 += einsum(t2, (0, 1, 2, 3), x16, (0, 1, 4, 3), (4, 2)) - x31 = np.zeros((nocc, nvir), dtype=types[float]) - x31 += einsum(l1, (0, 1), x18, (1, 2, 3, 0), (2, 3)) * 0.5 - x32 = np.zeros((nocc, nvir), dtype=types[float]) - x32 += einsum(t1, (0, 1), x14, (0, 2), (2, 1)) * 0.5 - del x14 - x33 = np.zeros((nocc, nvir), dtype=types[float]) - x33 += einsum(x30, (0, 1), (0, 1)) - x33 += einsum(x31, (0, 1), (0, 1)) * -1.0 - x33 += einsum(x32, (0, 1), (0, 1)) - del x32 - rdm2_f_oovo += einsum(delta.oo, (0, 1), x33, (2, 3), (2, 0, 3, 1)) * -2.0 - rdm2_f_oovo += einsum(delta.oo, (0, 1), x33, (2, 3), (2, 0, 3, 1)) * -2.0 - x34 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x34 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - x34 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) - rdm2_f_oovv += einsum(x34, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_oovv += einsum(x34, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(x34, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_oovv += einsum(x34, (0, 1, 2, 3), (0, 1, 2, 3)) - del x34 - x35 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x35 += einsum(x0, (0, 1), t2, (2, 0, 3, 4), (1, 2, 3, 4)) - x36 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x36 += einsum(l2, (0, 1, 2, 3), (3, 2, 0, 1)) * -0.5 - x36 += einsum(l2, (0, 1, 2, 3), (2, 3, 0, 1)) - x37 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x37 += einsum(t2, (0, 1, 2, 3), x36, (1, 4, 2, 5), (4, 0, 5, 3)) * 2.0 - x38 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x38 += einsum(t2, (0, 1, 2, 3), x37, (1, 4, 3, 5), (4, 0, 5, 2)) - del x37 - x39 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x39 += einsum(l2, (0, 1, 2, 3), (3, 2, 0, 1)) - x39 += einsum(l2, (0, 1, 2, 3), (2, 3, 0, 1)) * -0.5 - x40 = np.zeros((nvir, nvir), dtype=types[float]) - x40 += einsum(t2, (0, 1, 2, 3), x39, (0, 1, 4, 2), (4, 3)) * 2.0 - x41 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x41 += einsum(x40, (0, 1), t2, (2, 3, 0, 4), (2, 3, 1, 4)) - x42 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x42 += einsum(x4, (0, 1, 2, 3), (0, 1, 2, 3)) - x42 += einsum(x4, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x43 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x43 += einsum(t2, (0, 1, 2, 3), x42, (4, 1, 5, 2), (4, 5, 0, 3)) - x44 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x44 += einsum(t2, (0, 1, 2, 3), x16, (4, 1, 5, 3), (4, 5, 0, 2)) * 2.0 - del x16 - x45 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x45 += einsum(x7, (0, 1, 2, 3), (0, 1, 2, 3)) - x45 += einsum(x43, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x43 - x45 += einsum(x44, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x44 - x46 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x46 += einsum(t1, (0, 1), x45, (0, 2, 3, 4), (2, 3, 4, 1)) - del x45 - x47 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x47 += einsum(x13, (0, 1), t2, (2, 0, 3, 4), (1, 2, 4, 3)) - del x13 - x48 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x48 += einsum(x35, (0, 1, 2, 3), (0, 1, 2, 3)) - x48 += einsum(x38, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - x48 += einsum(x41, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - x48 += einsum(x46, (0, 1, 2, 3), (0, 1, 3, 2)) - del x46 - x48 += einsum(x47, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - x48 += einsum(t1, (0, 1), x33, (2, 3), (0, 2, 1, 3)) * -2.0 - del x33 - rdm2_f_oovv += einsum(x48, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(x48, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_oovv += einsum(x48, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - rdm2_f_oovv += einsum(x48, (0, 1, 2, 3), (1, 0, 3, 2)) - rdm2_f_oovv += einsum(x48, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(x48, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_oovv += einsum(x48, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - rdm2_f_oovv += einsum(x48, (0, 1, 2, 3), (1, 0, 3, 2)) - del x48 - x49 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x49 += einsum(t2, (0, 1, 2, 3), x36, (1, 4, 3, 5), (4, 0, 5, 2)) - x50 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x50 += einsum(t2, (0, 1, 2, 3), x49, (1, 4, 3, 5), (4, 0, 5, 2)) * 4.0 - del x49 - x51 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x51 += einsum(l2, (0, 1, 2, 3), (3, 2, 0, 1)) - x51 += einsum(l2, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 - x52 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x52 += einsum(t2, (0, 1, 2, 3), x51, (1, 4, 2, 5), (4, 0, 5, 3)) - x53 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x53 += einsum(t2, (0, 1, 2, 3), x52, (1, 4, 2, 5), (4, 0, 5, 3)) * -1.0 - del x52 - x54 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x54 += einsum(t2, (0, 1, 2, 3), x6, (0, 1, 4, 5), (4, 5, 2, 3)) - del x6 - rdm2_f_oovv += einsum(x54, (0, 1, 2, 3), (1, 0, 3, 2)) - rdm2_f_oovv += einsum(x54, (0, 1, 2, 3), (1, 0, 3, 2)) - x55 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x55 += einsum(t1, (0, 1), x12, (0, 2, 3, 4), (3, 2, 4, 1)) - del x12 - rdm2_f_oovv += einsum(x55, (0, 1, 2, 3), (0, 1, 3, 2)) - rdm2_f_oovv += einsum(x55, (0, 1, 2, 3), (0, 1, 3, 2)) - x56 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x56 += einsum(x50, (0, 1, 2, 3), (0, 1, 2, 3)) - del x50 - x56 += einsum(x53, (0, 1, 2, 3), (1, 0, 3, 2)) - del x53 - x56 += einsum(x54, (0, 1, 2, 3), (1, 0, 3, 2)) - del x54 - x56 += einsum(x55, (0, 1, 2, 3), (1, 0, 2, 3)) - del x55 - rdm2_f_oovv += einsum(x56, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(x56, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_oovv += einsum(x56, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(x56, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x56 - x57 = np.zeros((nocc, nvir), dtype=types[float]) - x57 += einsum(t1, (0, 1), x0, (0, 2), (2, 1)) - del x0 - rdm2_f_oovv += einsum(t1, (0, 1), x57, (2, 3), (2, 0, 3, 1)) * -1.0 - rdm2_f_oovv += einsum(t1, (0, 1), x57, (2, 3), (2, 0, 3, 1)) * -1.0 - x58 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x58 += einsum(l2, (0, 1, 2, 3), t2, (4, 3, 1, 5), (2, 4, 0, 5)) - x59 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x59 += einsum(t2, (0, 1, 2, 3), x58, (1, 4, 2, 5), (4, 0, 5, 3)) - del x58 - rdm2_f_oovv += einsum(x59, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(x59, (0, 1, 2, 3), (0, 1, 2, 3)) - del x59 - x60 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x60 += einsum(l2, (0, 1, 2, 3), t2, (4, 2, 1, 5), (3, 4, 0, 5)) - rdm2_f_ovov += einsum(x60, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_ovov += einsum(x60, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_vovo += einsum(x60, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - rdm2_f_vovo += einsum(x60, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - x61 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x61 += einsum(t2, (0, 1, 2, 3), x60, (1, 4, 2, 5), (4, 0, 5, 3)) - rdm2_f_oovv += einsum(x61, (0, 1, 2, 3), (0, 1, 3, 2)) - rdm2_f_oovv += einsum(x61, (0, 1, 2, 3), (0, 1, 3, 2)) - del x61 - x62 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x62 += einsum(t2, (0, 1, 2, 3), x4, (4, 1, 5, 3), (4, 5, 0, 2)) - x63 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x63 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x63 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x64 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x64 += einsum(x4, (0, 1, 2, 3), x63, (0, 4, 3, 5), (4, 1, 2, 5)) - x65 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x65 += einsum(x62, (0, 1, 2, 3), (0, 1, 2, 3)) - del x62 - x65 += einsum(x64, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - del x64 - x66 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x66 += einsum(t1, (0, 1), x65, (0, 2, 3, 4), (2, 3, 4, 1)) - del x65 - x67 = np.zeros((nocc, nvir), dtype=types[float]) - x67 += einsum(t1, (0, 1), x2, (0, 2), (2, 1)) - del x2 - x68 = np.zeros((nocc, nvir), dtype=types[float]) - x68 += einsum(x30, (0, 1), (0, 1)) - del x30 - x68 += einsum(x31, (0, 1), (0, 1)) * -1.0 - del x31 - x68 += einsum(x67, (0, 1), (0, 1)) - del x67 - x69 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x69 += einsum(x38, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x38 - x69 += einsum(x41, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x41 - x69 += einsum(x66, (0, 1, 2, 3), (0, 1, 3, 2)) - del x66 - x69 += einsum(x47, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x47 - x69 += einsum(t1, (0, 1), x68, (2, 3), (0, 2, 1, 3)) * -2.0 - del x68 - rdm2_f_oovv += einsum(x69, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(x69, (0, 1, 2, 3), (1, 0, 3, 2)) - rdm2_f_oovv += einsum(x69, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(x69, (0, 1, 2, 3), (1, 0, 3, 2)) - del x69 - x70 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x70 += einsum(x7, (0, 1, 2, 3), (0, 1, 2, 3)) - del x7 - x70 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x23 - x71 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x71 += einsum(t1, (0, 1), x70, (0, 2, 3, 4), (2, 3, 4, 1)) - del x70 - x72 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x72 += einsum(x35, (0, 1, 2, 3), (0, 1, 2, 3)) - del x35 - x72 += einsum(x71, (0, 1, 2, 3), (0, 1, 3, 2)) - del x71 - rdm2_f_oovv += einsum(x72, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_oovv += einsum(x72, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - rdm2_f_oovv += einsum(x72, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_oovv += einsum(x72, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x72 - x73 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x73 += einsum(t2, (0, 1, 2, 3), x36, (1, 4, 3, 5), (4, 0, 5, 2)) * 2.0 - del x36 - x74 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x74 += einsum(t2, (0, 1, 2, 3), x73, (1, 4, 3, 5), (4, 0, 5, 2)) * 2.0 - del x73 - rdm2_f_oovv += einsum(x74, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(x74, (0, 1, 2, 3), (0, 1, 2, 3)) - del x74 - x75 = np.zeros((nocc, nvir), dtype=types[float]) - x75 += einsum(t1, (0, 1), (0, 1)) * -1.0 - x75 += einsum(x57, (0, 1), (0, 1)) - del x57 - rdm2_f_oovv += einsum(t1, (0, 1), x75, (2, 3), (0, 2, 1, 3)) * -1.0 - rdm2_f_oovv += einsum(t1, (0, 1), x75, (2, 3), (0, 2, 1, 3)) * -1.0 - del x75 - x76 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x76 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x76 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - x77 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x77 += einsum(l2, (0, 1, 2, 3), x76, (2, 4, 5, 1), (4, 3, 5, 0)) - rdm2_f_ovov += einsum(x77, (0, 1, 2, 3), (0, 3, 1, 2)) * -1.0 - rdm2_f_ovov += einsum(x77, (0, 1, 2, 3), (0, 3, 1, 2)) * -1.0 - del x77 - x78 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x78 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) - x78 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x79 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x79 += einsum(l2, (0, 1, 2, 3), x78, (3, 4, 5, 1), (4, 2, 5, 0)) * 2.0 - del x78 - rdm2_f_ovov += einsum(x79, (0, 1, 2, 3), (0, 3, 1, 2)) * -1.0 - rdm2_f_ovov += einsum(x79, (0, 1, 2, 3), (0, 3, 1, 2)) * -1.0 - rdm2_f_voov += einsum(x79, (0, 1, 2, 3), (3, 0, 1, 2)) - rdm2_f_voov += einsum(x79, (0, 1, 2, 3), (3, 0, 1, 2)) - del x79 - x80 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x80 += einsum(t1, (0, 1), x8, (2, 0, 3, 4), (2, 3, 4, 1)) - del x8 - rdm2_f_ovov += einsum(x80, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_ovov += einsum(x80, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_vovo += einsum(x80, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - rdm2_f_vovo += einsum(x80, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - del x80 - x81 = np.zeros((nvir, nvir), dtype=types[float]) - x81 += einsum(l1, (0, 1), t1, (1, 2), (0, 2)) - x82 = np.zeros((nvir, nvir), dtype=types[float]) - x82 += einsum(t2, (0, 1, 2, 3), x39, (0, 1, 4, 2), (4, 3)) - del x39 - x83 = np.zeros((nvir, nvir), dtype=types[float]) - x83 += einsum(x81, (0, 1), (0, 1)) * 0.5 - x83 += einsum(x82, (0, 1), (0, 1)) - del x82 - rdm2_f_ovov += einsum(delta.oo, (0, 1), x83, (2, 3), (0, 2, 1, 3)) * 2.0 - rdm2_f_ovov += einsum(delta.oo, (0, 1), x83, (2, 3), (0, 2, 1, 3)) * 2.0 - rdm2_f_ovov += einsum(delta.oo, (0, 1), x83, (2, 3), (0, 2, 1, 3)) * 2.0 - rdm2_f_ovov += einsum(delta.oo, (0, 1), x83, (2, 3), (0, 2, 1, 3)) * 2.0 - rdm2_f_ovvv = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - rdm2_f_ovvv += einsum(t1, (0, 1), x83, (2, 3), (0, 2, 1, 3)) * 2.0 - rdm2_f_ovvv += einsum(t1, (0, 1), x83, (2, 3), (0, 2, 1, 3)) * 2.0 - del x83 - x84 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x84 += einsum(t1, (0, 1), x4, (0, 2, 3, 4), (2, 3, 4, 1)) - rdm2_f_ovov += einsum(x84, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_ovov += einsum(x84, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_vovo += einsum(x84, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - rdm2_f_vovo += einsum(x84, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - del x84 - x85 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x85 += einsum(t2, (0, 1, 2, 3), x51, (1, 4, 5, 2), (4, 0, 5, 3)) - del x51 - rdm2_f_ovvo += einsum(x85, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - rdm2_f_ovvo += einsum(x85, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - rdm2_f_vovo += einsum(x85, (0, 1, 2, 3), (2, 1, 3, 0)) - rdm2_f_vovo += einsum(x85, (0, 1, 2, 3), (2, 1, 3, 0)) - del x85 - x86 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x86 += einsum(l2, (0, 1, 2, 3), (3, 2, 0, 1)) * 2.0 - x86 += einsum(l2, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 - x87 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x87 += einsum(t2, (0, 1, 2, 3), x86, (1, 4, 5, 3), (4, 0, 5, 2)) - del x86 - rdm2_f_ovvo += einsum(x87, (0, 1, 2, 3), (1, 2, 3, 0)) - rdm2_f_ovvo += einsum(x87, (0, 1, 2, 3), (1, 2, 3, 0)) - rdm2_f_vovo += einsum(x87, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - rdm2_f_vovo += einsum(x87, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - del x87 - x88 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x88 += einsum(t1, (0, 1), x42, (2, 0, 3, 4), (2, 3, 4, 1)) - del x42 - rdm2_f_ovvo += einsum(x88, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - rdm2_f_ovvo += einsum(x88, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - rdm2_f_voov += einsum(x88, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_voov += einsum(x88, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - del x88 - x89 = np.zeros((nvir, nvir), dtype=types[float]) - x89 += einsum(x81, (0, 1), (0, 1)) - del x81 - x89 += einsum(x40, (0, 1), (0, 1)) - del x40 - rdm2_f_ovvo += einsum(delta.oo, (0, 1), x89, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_ovvo += einsum(delta.oo, (0, 1), x89, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_voov += einsum(delta.oo, (0, 1), x89, (2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_voov += einsum(delta.oo, (0, 1), x89, (2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_vovo += einsum(delta.oo, (0, 1), x89, (2, 3), (2, 0, 3, 1)) - rdm2_f_vovo += einsum(delta.oo, (0, 1), x89, (2, 3), (2, 0, 3, 1)) - rdm2_f_vovo += einsum(delta.oo, (0, 1), x89, (2, 3), (2, 0, 3, 1)) - rdm2_f_vovo += einsum(delta.oo, (0, 1), x89, (2, 3), (2, 0, 3, 1)) - rdm2_f_vovv = np.zeros((nvir, nocc, nvir, nvir), dtype=types[float]) - rdm2_f_vovv += einsum(t1, (0, 1), x89, (2, 3), (2, 0, 3, 1)) - rdm2_f_vovv += einsum(t1, (0, 1), x89, (2, 3), (2, 0, 3, 1)) - x90 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x90 += einsum(l2, (0, 1, 2, 3), t2, (4, 2, 5, 1), (3, 4, 0, 5)) - rdm2_f_ovvo += einsum(x90, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - rdm2_f_ovvo += einsum(x90, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - rdm2_f_voov += einsum(x90, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_voov += einsum(x90, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - x91 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x91 += einsum(t1, (0, 1), x4, (2, 0, 3, 4), (2, 3, 4, 1)) - rdm2_f_ovvo += einsum(x91, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - rdm2_f_ovvo += einsum(x91, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - rdm2_f_voov += einsum(x91, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_voov += einsum(x91, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - x92 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x92 += einsum(l2, (0, 1, 2, 3), x63, (3, 4, 1, 5), (4, 2, 5, 0)) - del x63 - rdm2_f_ovvo += einsum(x92, (0, 1, 2, 3), (0, 3, 2, 1)) - rdm2_f_ovvo += einsum(x92, (0, 1, 2, 3), (0, 3, 2, 1)) - rdm2_f_voov += einsum(x92, (0, 1, 2, 3), (3, 0, 1, 2)) - rdm2_f_voov += einsum(x92, (0, 1, 2, 3), (3, 0, 1, 2)) - del x92 - x93 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x93 += einsum(l2, (0, 1, 2, 3), x76, (2, 4, 1, 5), (4, 3, 5, 0)) - del x76 - rdm2_f_voov += einsum(x93, (0, 1, 2, 3), (3, 0, 1, 2)) * -1.0 - rdm2_f_voov += einsum(x93, (0, 1, 2, 3), (3, 0, 1, 2)) * -1.0 - del x93 - x94 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x94 += einsum(l1, (0, 1), t2, (2, 1, 3, 4), (2, 0, 3, 4)) - rdm2_f_ovvv += einsum(x94, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_ovvv += einsum(x94, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_vovv += einsum(x94, (0, 1, 2, 3), (1, 0, 3, 2)) - rdm2_f_vovv += einsum(x94, (0, 1, 2, 3), (1, 0, 3, 2)) - x95 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x95 += einsum(t2, (0, 1, 2, 3), x4, (0, 1, 4, 5), (4, 5, 2, 3)) - del x4 - rdm2_f_ovvv += einsum(x95, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_ovvv += einsum(x95, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_vovv += einsum(x95, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - rdm2_f_vovv += einsum(x95, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x96 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x96 += einsum(l2, (0, 1, 2, 3), x18, (3, 4, 5, 1), (4, 2, 5, 0)) - x97 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x97 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) - x97 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x98 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x98 += einsum(l2, (0, 1, 2, 3), x97, (2, 4, 5, 1), (4, 3, 5, 0)) - del x97 - x99 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x99 += einsum(x91, (0, 1, 2, 3), (0, 1, 2, 3)) - x99 += einsum(x96, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - x99 += einsum(x98, (0, 1, 2, 3), (1, 0, 3, 2)) - del x98 - x100 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x100 += einsum(t1, (0, 1), x99, (0, 2, 3, 4), (2, 3, 4, 1)) - del x99 - x101 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x101 += einsum(x94, (0, 1, 2, 3), (0, 1, 2, 3)) - del x94 - x101 += einsum(x95, (0, 1, 2, 3), (0, 1, 2, 3)) - del x95 - x101 += einsum(x100, (0, 1, 2, 3), (0, 1, 3, 2)) - del x100 - x101 += einsum(t1, (0, 1), x89, (2, 3), (0, 2, 1, 3)) - del x89 - rdm2_f_ovvv += einsum(x101, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_ovvv += einsum(x101, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_ovvv += einsum(x101, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_ovvv += einsum(x101, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_vovv += einsum(x101, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - rdm2_f_vovv += einsum(x101, (0, 1, 2, 3), (1, 0, 3, 2)) - rdm2_f_vovv += einsum(x101, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - rdm2_f_vovv += einsum(x101, (0, 1, 2, 3), (1, 0, 3, 2)) - del x101 - x102 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x102 += einsum(t1, (0, 1), x60, (0, 2, 3, 4), (2, 3, 1, 4)) - del x60 - rdm2_f_ovvv += einsum(x102, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - rdm2_f_ovvv += einsum(x102, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - rdm2_f_vovv += einsum(x102, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - rdm2_f_vovv += einsum(x102, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x102 - x103 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x103 += einsum(x90, (0, 1, 2, 3), (0, 1, 2, 3)) - x103 += einsum(x91, (0, 1, 2, 3), (0, 1, 2, 3)) - x103 += einsum(x96, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x96 - x104 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x104 += einsum(t1, (0, 1), x103, (0, 2, 3, 4), (2, 3, 4, 1)) - del x103 - rdm2_f_ovvv += einsum(x104, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - rdm2_f_ovvv += einsum(x104, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x104 - x105 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x105 += einsum(l2, (0, 1, 2, 3), x18, (3, 4, 5, 1), (4, 2, 5, 0)) * 0.5 - del x18 - x106 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x106 += einsum(x90, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - del x90 - x106 += einsum(x91, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - del x91 - x106 += einsum(x105, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x105 - x107 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x107 += einsum(t1, (0, 1), x106, (0, 2, 3, 4), (2, 3, 4, 1)) * 2.0 - del x106 - rdm2_f_vovv += einsum(x107, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - rdm2_f_vovv += einsum(x107, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x107 - x108 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x108 += einsum(t1, (0, 1), l2, (2, 3, 4, 0), (4, 2, 3, 1)) - rdm2_f_vvov = np.zeros((nvir, nvir, nocc, nvir), dtype=types[float]) - rdm2_f_vvov += einsum(x108, (0, 1, 2, 3), (1, 2, 0, 3)) - rdm2_f_vvov += einsum(x108, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_vvov += einsum(x108, (0, 1, 2, 3), (1, 2, 0, 3)) - rdm2_f_vvov += einsum(x108, (0, 1, 2, 3), (1, 2, 0, 3)) - rdm2_f_vvov += einsum(x108, (0, 1, 2, 3), (1, 2, 0, 3)) - rdm2_f_vvov += einsum(x108, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_vvvo = np.zeros((nvir, nvir, nvir, nocc), dtype=types[float]) - rdm2_f_vvvo += einsum(x108, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - rdm2_f_vvvo += einsum(x108, (0, 1, 2, 3), (2, 1, 3, 0)) - rdm2_f_vvvo += einsum(x108, (0, 1, 2, 3), (2, 1, 3, 0)) - rdm2_f_vvvo += einsum(x108, (0, 1, 2, 3), (2, 1, 3, 0)) - rdm2_f_vvvo += einsum(x108, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - rdm2_f_vvvo += einsum(x108, (0, 1, 2, 3), (2, 1, 3, 0)) - x109 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) - x109 += einsum(l2, (0, 1, 2, 3), t2, (2, 3, 4, 5), (0, 1, 4, 5)) - rdm2_f_vvvv = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) - rdm2_f_vvvv += einsum(x109, (0, 1, 2, 3), (1, 0, 3, 2)) - rdm2_f_vvvv += einsum(x109, (0, 1, 2, 3), (1, 0, 3, 2)) - x110 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) - x110 += einsum(t1, (0, 1), x108, (0, 2, 3, 4), (3, 2, 4, 1)) - del x108 - rdm2_f_vvvv += einsum(x110, (0, 1, 2, 3), (1, 0, 3, 2)) - rdm2_f_vvvv += einsum(x110, (0, 1, 2, 3), (1, 0, 3, 2)) - x111 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) - x111 += einsum(x109, (0, 1, 2, 3), (1, 0, 3, 2)) - del x109 - x111 += einsum(x110, (0, 1, 2, 3), (1, 0, 3, 2)) - del x110 - rdm2_f_vvvv += einsum(x111, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_vvvv += einsum(x111, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_vvvv += einsum(x111, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_vvvv += einsum(x111, (0, 1, 2, 3), (0, 1, 2, 3)) - del x111 - - rdm2_f = pack_2e(rdm2_f_oooo, rdm2_f_ooov, rdm2_f_oovo, rdm2_f_ovoo, rdm2_f_vooo, rdm2_f_oovv, rdm2_f_ovov, rdm2_f_ovvo, rdm2_f_voov, rdm2_f_vovo, rdm2_f_vvoo, rdm2_f_ovvv, rdm2_f_vovv, rdm2_f_vvov, rdm2_f_vvvo, rdm2_f_vvvv) - - rdm2_f = rdm2_f.swapaxes(1, 2) - - return rdm2_f - diff --git a/ebcc/codegen/RDFCCD.py b/ebcc/codegen/RDFCCD.py deleted file mode 100644 index 40c8db73..00000000 --- a/ebcc/codegen/RDFCCD.py +++ /dev/null @@ -1,266 +0,0 @@ -# Code generated for ebcc. - -from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, Namespace -from ebcc.precision import types - -def energy(f=None, v=None, nocc=None, nvir=None, naux=None, t2=None, **kwargs): - # energy - x0 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x0 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) - x0 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x1 = np.zeros((nocc, nvir, naux), dtype=types[float]) - x1 += einsum(v.xov, (0, 1, 2), x0, (1, 3, 4, 2), (3, 4, 0)) - del x0 - e_cc = 0 - e_cc += einsum(v.xov, (0, 1, 2), x1, (1, 2, 0), ()) * 2.0 - del x1 - - return e_cc - -def update_amps(f=None, v=None, nocc=None, nvir=None, naux=None, t2=None, **kwargs): - # T amplitudes - x0 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x0 += einsum(v.xov, (0, 1, 2), v.xov, (0, 3, 4), (1, 3, 2, 4)) - t2new = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - t2new += einsum(x0, (0, 1, 2, 3), (1, 0, 3, 2)) - x1 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x1 += einsum(v.xoo, (0, 1, 2), v.xoo, (0, 3, 4), (1, 3, 4, 2)) - t2new += einsum(t2, (0, 1, 2, 3), x1, (4, 1, 5, 0), (5, 4, 3, 2)) - del x1 - x2 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x2 += einsum(t2, (0, 1, 2, 3), x0, (4, 5, 3, 2), (0, 1, 5, 4)) - t2new += einsum(t2, (0, 1, 2, 3), x2, (4, 5, 1, 0), (5, 4, 2, 3)) - del x2 - x3 = np.zeros((nocc, nvir, naux), dtype=types[float]) - x3 += einsum(v.xov, (0, 1, 2), t2, (3, 1, 2, 4), (3, 4, 0)) - t2new += einsum(x3, (0, 1, 2), x3, (3, 4, 2), (0, 3, 1, 4)) - x4 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x4 += einsum(t2, (0, 1, 2, 3), x0, (4, 1, 2, 5), (0, 4, 3, 5)) - t2new += einsum(t2, (0, 1, 2, 3), x4, (4, 1, 5, 2), (0, 4, 5, 3)) - x5 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) - x5 += einsum(v.xvv, (0, 1, 2), v.xvv, (0, 3, 4), (1, 3, 4, 2)) - t2new += einsum(t2, (0, 1, 2, 3), x5, (4, 2, 5, 3), (0, 1, 5, 4)) - del x5 - x6 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x6 += einsum(f.oo, (0, 1), t2, (2, 1, 3, 4), (0, 2, 3, 4)) - x7 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x7 += einsum(f.vv, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4)) - x8 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x8 += einsum(v.xoo, (0, 1, 2), v.xvv, (0, 3, 4), (1, 2, 3, 4)) - x9 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x9 += einsum(t2, (0, 1, 2, 3), x8, (4, 1, 5, 2), (0, 4, 3, 5)) - x10 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x10 += einsum(x6, (0, 1, 2, 3), (0, 1, 2, 3)) - del x6 - x10 += einsum(x7, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x7 - x10 += einsum(x9, (0, 1, 2, 3), (0, 1, 2, 3)) - del x9 - t2new += einsum(x10, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new += einsum(x10, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x10 - x11 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x11 += einsum(v.xov, (0, 1, 2), x3, (3, 4, 0), (3, 1, 4, 2)) - x12 = np.zeros((nocc, nvir, naux), dtype=types[float]) - x12 += einsum(v.xov, (0, 1, 2), (1, 2, 0)) - x12 += einsum(x3, (0, 1, 2), (0, 1, 2)) * -1.0 - del x3 - x13 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x13 += einsum(v.xov, (0, 1, 2), x12, (3, 4, 0), (1, 3, 2, 4)) * 2.0 - del x12 - x14 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x14 += einsum(x8, (0, 1, 2, 3), (1, 0, 3, 2)) - del x8 - x14 += einsum(x4, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x4 - x14 += einsum(x13, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x13 - x15 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x15 += einsum(t2, (0, 1, 2, 3), x14, (4, 1, 5, 3), (0, 4, 2, 5)) - del x14 - x16 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x16 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) - x16 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x17 = np.zeros((nocc, nvir, naux), dtype=types[float]) - x17 += einsum(v.xov, (0, 1, 2), x16, (1, 3, 4, 2), (3, 4, 0)) - del x16 - x18 = np.zeros((nvir, nvir), dtype=types[float]) - x18 += einsum(v.xov, (0, 1, 2), x17, (1, 3, 0), (2, 3)) - x19 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x19 += einsum(x18, (0, 1), t2, (2, 3, 0, 4), (2, 3, 4, 1)) * 2.0 - del x18 - x20 = np.zeros((nocc, nocc), dtype=types[float]) - x20 += einsum(v.xov, (0, 1, 2), x17, (3, 2, 0), (1, 3)) - del x17 - x21 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x21 += einsum(x20, (0, 1), t2, (2, 0, 3, 4), (2, 1, 4, 3)) * 2.0 - del x20 - x22 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x22 += einsum(x11, (0, 1, 2, 3), (0, 1, 2, 3)) - del x11 - x22 += einsum(x15, (0, 1, 2, 3), (0, 1, 2, 3)) - del x15 - x22 += einsum(x19, (0, 1, 2, 3), (1, 0, 2, 3)) - del x19 - x22 += einsum(x21, (0, 1, 2, 3), (0, 1, 3, 2)) - del x21 - t2new += einsum(x22, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new += einsum(x22, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x22 - x23 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x23 += einsum(x0, (0, 1, 2, 3), (1, 0, 2, 3)) - x23 += einsum(x0, (0, 1, 2, 3), (1, 0, 3, 2)) * -0.5 - del x0 - x24 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x24 += einsum(t2, (0, 1, 2, 3), x23, (1, 4, 5, 3), (0, 4, 2, 5)) * 2.0 - del x23 - t2new += einsum(t2, (0, 1, 2, 3), x24, (4, 1, 5, 3), (0, 4, 2, 5)) * 2.0 - del x24 - - return {"t2new": t2new} - -def update_lams(f=None, v=None, nocc=None, nvir=None, naux=None, t2=None, l2=None, **kwargs): - # L amplitudes - x0 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x0 += einsum(v.xov, (0, 1, 2), v.xov, (0, 3, 4), (1, 3, 2, 4)) - l2new = np.zeros((nvir, nvir, nocc, nocc), dtype=types[float]) - l2new += einsum(x0, (0, 1, 2, 3), (3, 2, 1, 0)) - x1 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x1 += einsum(v.xoo, (0, 1, 2), v.xoo, (0, 3, 4), (1, 3, 4, 2)) - l2new += einsum(l2, (0, 1, 2, 3), x1, (4, 3, 5, 2), (0, 1, 4, 5)) - del x1 - x2 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x2 += einsum(l2, (0, 1, 2, 3), t2, (4, 5, 0, 1), (2, 3, 4, 5)) - l2new += einsum(x0, (0, 1, 2, 3), x2, (4, 5, 1, 0), (2, 3, 5, 4)) - del x2 - x3 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x3 += einsum(t2, (0, 1, 2, 3), x0, (4, 5, 2, 3), (0, 1, 4, 5)) - l2new += einsum(l2, (0, 1, 2, 3), x3, (2, 3, 4, 5), (0, 1, 4, 5)) - del x3 - x4 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) - x4 += einsum(v.xvv, (0, 1, 2), v.xvv, (0, 3, 4), (1, 3, 4, 2)) - l2new += einsum(l2, (0, 1, 2, 3), x4, (4, 0, 5, 1), (4, 5, 3, 2)) - del x4 - x5 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x5 += einsum(f.oo, (0, 1), l2, (2, 3, 4, 1), (0, 4, 2, 3)) - x6 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x6 += einsum(f.vv, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2)) - x7 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x7 += einsum(v.xoo, (0, 1, 2), v.xvv, (0, 3, 4), (1, 2, 3, 4)) - x8 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x8 += einsum(t2, (0, 1, 2, 3), x0, (4, 1, 2, 5), (0, 4, 3, 5)) - x9 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x9 += einsum(x7, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - x9 += einsum(x8, (0, 1, 2, 3), (0, 1, 2, 3)) - del x8 - x10 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x10 += einsum(l2, (0, 1, 2, 3), x9, (2, 4, 1, 5), (3, 4, 0, 5)) - del x9 - x11 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x11 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) - x11 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x12 = np.zeros((nocc, nocc), dtype=types[float]) - x12 += einsum(l2, (0, 1, 2, 3), x11, (2, 4, 1, 0), (3, 4)) - x13 = np.zeros((nocc, nvir, naux), dtype=types[float]) - x13 += einsum(x12, (0, 1), v.xov, (2, 1, 3), (0, 3, 2)) - del x12 - x14 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x14 += einsum(v.xov, (0, 1, 2), x13, (3, 4, 0), (1, 3, 2, 4)) * 2.0 - del x13 - x15 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x15 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.5 - x15 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - x16 = np.zeros((nvir, nvir), dtype=types[float]) - x16 += einsum(l2, (0, 1, 2, 3), x15, (2, 3, 4, 1), (0, 4)) - del x15 - x17 = np.zeros((nocc, nvir, naux), dtype=types[float]) - x17 += einsum(x16, (0, 1), v.xov, (2, 3, 1), (3, 0, 2)) * 2.0 - del x16 - x18 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x18 += einsum(v.xov, (0, 1, 2), x17, (3, 4, 0), (1, 3, 2, 4)) - del x17 - x19 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x19 += einsum(x5, (0, 1, 2, 3), (0, 1, 2, 3)) - del x5 - x19 += einsum(x6, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x6 - x19 += einsum(x10, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x10 - x19 += einsum(x14, (0, 1, 2, 3), (1, 0, 2, 3)) - del x14 - x19 += einsum(x18, (0, 1, 2, 3), (0, 1, 3, 2)) - del x18 - l2new += einsum(x19, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - l2new += einsum(x19, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 - del x19 - x20 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x20 += einsum(l2, (0, 1, 2, 3), t2, (4, 2, 5, 1), (3, 4, 0, 5)) - x21 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x21 += einsum(x0, (0, 1, 2, 3), x20, (4, 1, 5, 2), (4, 0, 5, 3)) - del x20 - x22 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x22 += einsum(x0, (0, 1, 2, 3), x11, (0, 4, 5, 3), (1, 4, 2, 5)) * 2.0 - del x0 - x23 = np.zeros((nocc, nvir, naux), dtype=types[float]) - x23 += einsum(v.xov, (0, 1, 2), x11, (1, 3, 4, 2), (3, 4, 0)) * 2.0 - x24 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x24 += einsum(v.xov, (0, 1, 2), x23, (3, 4, 0), (1, 3, 2, 4)) * 2.0 - x25 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x25 += einsum(x7, (0, 1, 2, 3), (1, 0, 3, 2)) - del x7 - x25 += einsum(x22, (0, 1, 2, 3), (1, 0, 3, 2)) - del x22 - x25 += einsum(x24, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x24 - x26 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x26 += einsum(l2, (0, 1, 2, 3), x25, (3, 4, 1, 5), (2, 4, 0, 5)) - del x25 - x27 = np.zeros((nocc, nvir, naux), dtype=types[float]) - x27 += einsum(v.xov, (0, 1, 2), l2, (3, 2, 4, 1), (4, 3, 0)) - x28 = np.zeros((nocc, nvir, naux), dtype=types[float]) - x28 += einsum(v.xov, (0, 1, 2), (1, 2, 0)) - x28 += einsum(x23, (0, 1, 2), (0, 1, 2)) - del x23 - x29 = np.zeros((nocc, nvir, naux), dtype=types[float]) - x29 += einsum(x28, (0, 1, 2), l2, (3, 1, 0, 4), (4, 3, 2)) - del x28 - x30 = np.zeros((nocc, nvir, naux), dtype=types[float]) - x30 += einsum(x27, (0, 1, 2), (0, 1, 2)) * 2.0 - del x27 - x30 += einsum(x29, (0, 1, 2), (0, 1, 2)) * -1.0 - del x29 - x31 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x31 += einsum(v.xov, (0, 1, 2), x30, (3, 4, 0), (1, 3, 2, 4)) - del x30 - x32 = np.zeros((nocc, nvir, naux), dtype=types[float]) - x32 += einsum(v.xov, (0, 1, 2), x11, (1, 3, 4, 2), (3, 4, 0)) - del x11 - x33 = np.zeros((nvir, nvir), dtype=types[float]) - x33 += einsum(v.xov, (0, 1, 2), x32, (1, 3, 0), (2, 3)) - x34 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x34 += einsum(x33, (0, 1), l2, (2, 1, 3, 4), (4, 3, 2, 0)) * 2.0 - del x33 - x35 = np.zeros((nocc, nocc), dtype=types[float]) - x35 += einsum(v.xov, (0, 1, 2), x32, (3, 2, 0), (1, 3)) - del x32 - x36 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x36 += einsum(x35, (0, 1), l2, (2, 3, 1, 4), (4, 0, 2, 3)) * 2.0 - del x35 - x37 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x37 += einsum(x21, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x21 - x37 += einsum(x26, (0, 1, 2, 3), (0, 1, 2, 3)) - del x26 - x37 += einsum(x31, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x31 - x37 += einsum(x34, (0, 1, 2, 3), (1, 0, 2, 3)) - del x34 - x37 += einsum(x36, (0, 1, 2, 3), (0, 1, 3, 2)) - del x36 - l2new += einsum(x37, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 - l2new += einsum(x37, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 - del x37 - - return {"l2new": l2new} - diff --git a/ebcc/codegen/RDFCCSD.py b/ebcc/codegen/RDFCCSD.py deleted file mode 100644 index f3d5979d..00000000 --- a/ebcc/codegen/RDFCCSD.py +++ /dev/null @@ -1,1618 +0,0 @@ -# Code generated by qwick. - -from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, Namespace -from ebcc.precision import types - -def energy(f=None, v=None, nocc=None, nvir=None, naux=None, t1=None, t2=None, **kwargs): - # energy - x0 = np.zeros((naux,), dtype=types[float]) - x0 += einsum(t1, (0, 1), v.xov, (2, 0, 1), (2,)) - x1 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x1 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.5 - x1 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - x2 = np.zeros((nocc, nvir, naux), dtype=types[float]) - x2 += einsum(x0, (0,), t1, (1, 2), (1, 2, 0)) - del x0 - x2 += einsum(v.xov, (0, 1, 2), x1, (1, 3, 2, 4), (3, 4, 0)) - del x1 - e_cc = 0 - e_cc += einsum(v.xov, (0, 1, 2), x2, (1, 2, 0), ()) * 2.0 - del x2 - x3 = np.zeros((nocc, nocc, naux), dtype=types[float]) - x3 += einsum(t1, (0, 1), v.xov, (2, 3, 1), (0, 3, 2)) - x4 = np.zeros((nocc, nvir), dtype=types[float]) - x4 += einsum(f.ov, (0, 1), (0, 1)) - x4 += einsum(v.xov, (0, 1, 2), x3, (1, 3, 0), (3, 2)) * -0.5 - del x3 - e_cc += einsum(t1, (0, 1), x4, (0, 1), ()) * 2.0 - del x4 - - return e_cc - -def update_amps(f=None, v=None, nocc=None, nvir=None, naux=None, t1=None, t2=None, **kwargs): - # T amplitudes - t1new = np.zeros((nocc, nvir), dtype=types[float]) - t1new += einsum(f.vv, (0, 1), t1, (2, 1), (2, 0)) - t1new += einsum(f.ov, (0, 1), (0, 1)) - x0 = np.zeros((naux,), dtype=types[float]) - x0 += einsum(t1, (0, 1), v.xov, (2, 0, 1), (2,)) - x1 = np.zeros((nocc, nvir), dtype=types[float]) - x1 += einsum(x0, (0,), v.xov, (0, 1, 2), (1, 2)) - t1new += einsum(x1, (0, 1), (0, 1)) * 2.0 - x2 = np.zeros((nocc, nvir, naux), dtype=types[float]) - x2 += einsum(t1, (0, 1), v.xoo, (2, 3, 0), (3, 1, 2)) - x3 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x3 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) - x3 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - x3 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - x4 = np.zeros((nocc, nvir, naux), dtype=types[float]) - x4 += einsum(x2, (0, 1, 2), (0, 1, 2)) * 0.5 - x4 += einsum(x0, (0,), t1, (1, 2), (1, 2, 0)) * -1.0 - x4 += einsum(v.xov, (0, 1, 2), x3, (1, 3, 4, 2), (3, 4, 0)) * 0.5 - del x3 - t1new += einsum(v.xvv, (0, 1, 2), x4, (3, 2, 0), (3, 1)) * -2.0 - del x4 - x5 = np.zeros((nocc, nocc, naux), dtype=types[float]) - x5 += einsum(t1, (0, 1), v.xov, (2, 3, 1), (0, 3, 2)) - x6 = np.zeros((nocc, nocc, naux), dtype=types[float]) - x6 += einsum(v.xoo, (0, 1, 2), (1, 2, 0)) - x6 += einsum(x5, (0, 1, 2), (1, 0, 2)) - x7 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x7 += einsum(v.xov, (0, 1, 2), x6, (3, 4, 0), (4, 1, 3, 2)) - del x6 - x8 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x8 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x8 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - t1new += einsum(x7, (0, 1, 2, 3), x8, (1, 2, 3, 4), (0, 4)) * -1.0 - del x7 - x9 = np.zeros((nocc, nvir), dtype=types[float]) - x9 += einsum(v.xov, (0, 1, 2), x5, (1, 3, 0), (3, 2)) - x10 = np.zeros((nocc, nvir), dtype=types[float]) - x10 += einsum(f.ov, (0, 1), (0, 1)) * 0.5 - x10 += einsum(x1, (0, 1), (0, 1)) - x10 += einsum(x9, (0, 1), (0, 1)) * -0.5 - t1new += einsum(x10, (0, 1), x8, (0, 2, 1, 3), (2, 3)) * 2.0 - x11 = np.zeros((nocc, nocc), dtype=types[float]) - x11 += einsum(x0, (0,), v.xoo, (0, 1, 2), (1, 2)) - x12 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x12 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.5 - x12 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - x13 = np.zeros((nocc, nvir, naux), dtype=types[float]) - x13 += einsum(v.xov, (0, 1, 2), x12, (1, 3, 2, 4), (3, 4, 0)) * 2.0 - del x12 - x14 = np.zeros((nocc, nvir, naux), dtype=types[float]) - x14 += einsum(x2, (0, 1, 2), (0, 1, 2)) * -1.0 - x14 += einsum(x0, (0,), t1, (1, 2), (1, 2, 0)) * 2.0 - x14 += einsum(x13, (0, 1, 2), (0, 1, 2)) - x15 = np.zeros((nocc, nvir), dtype=types[float]) - x15 += einsum(f.ov, (0, 1), (0, 1)) - x15 += einsum(x9, (0, 1), (0, 1)) * -1.0 - x16 = np.zeros((nocc, nocc), dtype=types[float]) - x16 += einsum(f.oo, (0, 1), (0, 1)) - x16 += einsum(x11, (0, 1), (1, 0)) * 2.0 - x16 += einsum(v.xov, (0, 1, 2), x14, (3, 2, 0), (1, 3)) - del x14 - x16 += einsum(t1, (0, 1), x15, (2, 1), (2, 0)) - del x15 - t1new += einsum(t1, (0, 1), x16, (0, 2), (2, 1)) * -1.0 - del x16 - x17 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x17 += einsum(v.xov, (0, 1, 2), v.xov, (0, 3, 4), (1, 3, 2, 4)) - t2new = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - t2new += einsum(x17, (0, 1, 2, 3), (1, 0, 3, 2)) - x18 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x18 += einsum(t2, (0, 1, 2, 3), x17, (4, 5, 3, 2), (0, 1, 5, 4)) - t2new += einsum(t2, (0, 1, 2, 3), x18, (4, 5, 0, 1), (5, 4, 3, 2)) - x19 = np.zeros((nocc, nvir, naux), dtype=types[float]) - x19 += einsum(v.xov, (0, 1, 2), t2, (3, 1, 2, 4), (3, 4, 0)) - t2new += einsum(x19, (0, 1, 2), x19, (3, 4, 2), (0, 3, 1, 4)) - x20 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x20 += einsum(t2, (0, 1, 2, 3), x17, (1, 4, 5, 2), (0, 4, 3, 5)) - t2new += einsum(t2, (0, 1, 2, 3), x20, (4, 1, 5, 2), (4, 0, 3, 5)) - x21 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x21 += einsum(t1, (0, 1), x18, (2, 3, 4, 0), (2, 3, 4, 1)) - del x18 - t2new += einsum(t1, (0, 1), x21, (2, 3, 0, 4), (2, 3, 1, 4)) - del x21 - x22 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) - x22 += einsum(v.xvv, (0, 1, 2), v.xvv, (0, 3, 4), (1, 3, 4, 2)) - t2new += einsum(t2, (0, 1, 2, 3), x22, (4, 2, 5, 3), (0, 1, 5, 4)) - del x22 - x23 = np.zeros((nocc, nvir, naux), dtype=types[float]) - x23 += einsum(t1, (0, 1), v.xvv, (2, 3, 1), (0, 3, 2)) - t2new += einsum(x23, (0, 1, 2), x23, (3, 4, 2), (0, 3, 1, 4)) - x24 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x24 += einsum(f.vv, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4)) - x25 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x25 += einsum(v.xoo, (0, 1, 2), v.xvv, (0, 3, 4), (1, 2, 3, 4)) - x26 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x26 += einsum(t2, (0, 1, 2, 3), x25, (4, 1, 5, 2), (0, 4, 3, 5)) - x27 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x27 += einsum(v.xoo, (0, 1, 2), x5, (3, 4, 0), (3, 1, 2, 4)) - x28 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x28 += einsum(t2, (0, 1, 2, 3), x27, (4, 1, 5, 0), (4, 5, 3, 2)) - x29 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x29 += einsum(v.xvv, (0, 1, 2), x5, (3, 4, 0), (3, 4, 1, 2)) - x30 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x30 += einsum(t2, (0, 1, 2, 3), x29, (4, 1, 5, 3), (4, 0, 2, 5)) - x31 = np.zeros((nocc, nvir, naux), dtype=types[float]) - x31 += einsum(v.xov, (0, 1, 2), (1, 2, 0)) - x31 += einsum(x2, (0, 1, 2), (0, 1, 2)) * -1.0 - x31 += einsum(x13, (0, 1, 2), (0, 1, 2)) - x32 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x32 += einsum(x23, (0, 1, 2), x31, (3, 4, 2), (3, 0, 4, 1)) - del x31 - x33 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x33 += einsum(v.xoo, (0, 1, 2), v.xov, (0, 3, 4), (1, 2, 3, 4)) - x34 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x34 += einsum(t2, (0, 1, 2, 3), x33, (4, 5, 1, 2), (0, 5, 4, 3)) - x35 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x35 += einsum(t1, (0, 1), x27, (2, 3, 4, 0), (2, 3, 4, 1)) - del x27 - x36 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x36 += einsum(v.xov, (0, 1, 2), x5, (3, 4, 0), (3, 1, 4, 2)) - x37 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x37 += einsum(t2, (0, 1, 2, 3), x36, (4, 5, 1, 2), (4, 0, 5, 3)) - x38 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x38 += einsum(x33, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x38 += einsum(x33, (0, 1, 2, 3), (2, 1, 0, 3)) * 2.0 - x39 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x39 += einsum(t2, (0, 1, 2, 3), x38, (1, 4, 5, 3), (4, 5, 0, 2)) - del x38 - x40 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x40 += einsum(x10, (0, 1), t2, (2, 3, 1, 4), (0, 2, 3, 4)) * 2.0 - del x10 - x41 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x41 += einsum(x34, (0, 1, 2, 3), (1, 0, 2, 3)) - del x34 - x41 += einsum(x35, (0, 1, 2, 3), (1, 0, 2, 3)) - del x35 - x41 += einsum(x37, (0, 1, 2, 3), (2, 0, 1, 3)) - del x37 - x41 += einsum(x39, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - del x39 - x41 += einsum(x40, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x40 - x42 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x42 += einsum(t1, (0, 1), x41, (0, 2, 3, 4), (2, 3, 4, 1)) - del x41 - x43 = np.zeros((nocc, nvir), dtype=types[float]) - x43 += einsum(f.ov, (0, 1), (0, 1)) - x43 += einsum(x1, (0, 1), (0, 1)) * 2.0 - del x1 - x43 += einsum(x9, (0, 1), (0, 1)) * -1.0 - del x9 - x44 = np.zeros((nocc, nocc), dtype=types[float]) - x44 += einsum(t1, (0, 1), x43, (2, 1), (2, 0)) * 0.5 - del x43 - x45 = np.zeros((nocc, nocc), dtype=types[float]) - x45 += einsum(f.oo, (0, 1), (0, 1)) * 0.5 - x45 += einsum(x44, (0, 1), (1, 0)) - del x44 - x46 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x46 += einsum(x45, (0, 1), t2, (2, 1, 3, 4), (0, 2, 4, 3)) * 2.0 - del x45 - x47 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x47 += einsum(x24, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x24 - x47 += einsum(x26, (0, 1, 2, 3), (0, 1, 2, 3)) - del x26 - x47 += einsum(x28, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x28 - x47 += einsum(x30, (0, 1, 2, 3), (0, 1, 2, 3)) - del x30 - x47 += einsum(x32, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x32 - x47 += einsum(x42, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x42 - x47 += einsum(x46, (0, 1, 2, 3), (0, 1, 3, 2)) - del x46 - t2new += einsum(x47, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new += einsum(x47, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x47 - x48 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x48 += einsum(t2, (0, 1, 2, 3), x29, (4, 1, 5, 2), (4, 0, 3, 5)) - del x29 - x49 = np.zeros((nocc, nvir, naux), dtype=types[float]) - x49 += einsum(v.xov, (0, 1, 2), (1, 2, 0)) - x49 += einsum(x19, (0, 1, 2), (0, 1, 2)) * -1.0 - del x19 - x50 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x50 += einsum(v.xov, (0, 1, 2), x49, (3, 4, 0), (3, 1, 4, 2)) * 2.0 - del x49 - x51 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x51 += einsum(x25, (0, 1, 2, 3), (1, 0, 3, 2)) - del x25 - x51 += einsum(x20, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x20 - x51 += einsum(x50, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x50 - x52 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x52 += einsum(t2, (0, 1, 2, 3), x51, (4, 1, 5, 3), (4, 0, 5, 2)) - del x51 - x53 = np.zeros((nvir, nvir), dtype=types[float]) - x53 += einsum(x0, (0,), v.xvv, (0, 1, 2), (1, 2)) - del x0 - x54 = np.zeros((nocc, nvir, naux), dtype=types[float]) - x54 += einsum(x23, (0, 1, 2), (0, 1, 2)) - x54 += einsum(x13, (0, 1, 2), (0, 1, 2)) - del x13 - x55 = np.zeros((nvir, nvir), dtype=types[float]) - x55 += einsum(v.xov, (0, 1, 2), x54, (1, 3, 0), (3, 2)) - del x54 - x56 = np.zeros((nvir, nvir), dtype=types[float]) - x56 += einsum(x53, (0, 1), (1, 0)) * -2.0 - del x53 - x56 += einsum(x55, (0, 1), (1, 0)) - del x55 - x57 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x57 += einsum(x56, (0, 1), t2, (2, 3, 0, 4), (2, 3, 1, 4)) - del x56 - x58 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x58 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - x58 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) - x59 = np.zeros((nocc, nvir, naux), dtype=types[float]) - x59 += einsum(v.xov, (0, 1, 2), x58, (1, 3, 4, 2), (3, 4, 0)) - x60 = np.zeros((nocc, nvir, naux), dtype=types[float]) - x60 += einsum(x2, (0, 1, 2), (0, 1, 2)) - x60 += einsum(x59, (0, 1, 2), (0, 1, 2)) - del x59 - x61 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x61 += einsum(v.xov, (0, 1, 2), x60, (3, 4, 0), (3, 1, 4, 2)) - del x60 - x62 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x62 += einsum(t2, (0, 1, 2, 3), x33, (4, 1, 5, 2), (0, 4, 5, 3)) - del x33 - x63 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x63 += einsum(v.xov, (0, 1, 2), v.xvv, (0, 3, 4), (1, 2, 3, 4)) - x64 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x64 += einsum(t2, (0, 1, 2, 3), x63, (4, 2, 5, 3), (0, 1, 4, 5)) - del x63 - x65 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x65 += einsum(x23, (0, 1, 2), x5, (3, 4, 2), (3, 0, 4, 1)) - del x23 - x66 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x66 += einsum(t2, (0, 1, 2, 3), x36, (4, 1, 5, 2), (4, 0, 5, 3)) - x67 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x67 += einsum(x36, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x67 += einsum(x36, (0, 1, 2, 3), (0, 2, 1, 3)) - del x36 - x68 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x68 += einsum(t2, (0, 1, 2, 3), x67, (4, 5, 1, 3), (4, 5, 0, 2)) * 2.0 - del x67 - x69 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x69 += einsum(x62, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x62 - x69 += einsum(x64, (0, 1, 2, 3), (0, 1, 2, 3)) - del x64 - x69 += einsum(x65, (0, 1, 2, 3), (0, 1, 2, 3)) - del x65 - x69 += einsum(x66, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x66 - x69 += einsum(x68, (0, 1, 2, 3), (0, 2, 1, 3)) - del x68 - x70 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x70 += einsum(t1, (0, 1), x69, (2, 3, 0, 4), (2, 3, 4, 1)) - del x69 - x71 = np.zeros((nocc, nvir, naux), dtype=types[float]) - x71 += einsum(v.xov, (0, 1, 2), x8, (1, 3, 2, 4), (3, 4, 0)) - del x8 - x72 = np.zeros((nocc, nvir, naux), dtype=types[float]) - x72 += einsum(x2, (0, 1, 2), (0, 1, 2)) - del x2 - x72 += einsum(x71, (0, 1, 2), (0, 1, 2)) * -1.0 - del x71 - x73 = np.zeros((nocc, nocc), dtype=types[float]) - x73 += einsum(v.xov, (0, 1, 2), x72, (3, 2, 0), (3, 1)) * 0.5 - del x72 - x74 = np.zeros((nocc, nocc), dtype=types[float]) - x74 += einsum(x11, (0, 1), (1, 0)) - del x11 - x74 += einsum(x73, (0, 1), (1, 0)) * -1.0 - del x73 - x75 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x75 += einsum(x74, (0, 1), t2, (2, 0, 3, 4), (1, 2, 4, 3)) * 2.0 - del x74 - x76 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x76 += einsum(x48, (0, 1, 2, 3), (0, 1, 2, 3)) - del x48 - x76 += einsum(x52, (0, 1, 2, 3), (1, 0, 3, 2)) - del x52 - x76 += einsum(x57, (0, 1, 2, 3), (1, 0, 3, 2)) - del x57 - x76 += einsum(x61, (0, 1, 2, 3), (0, 1, 2, 3)) - del x61 - x76 += einsum(x70, (0, 1, 2, 3), (0, 1, 3, 2)) - del x70 - x76 += einsum(x75, (0, 1, 2, 3), (1, 0, 3, 2)) - del x75 - t2new += einsum(x76, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new += einsum(x76, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x76 - x77 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x77 += einsum(x17, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.5 - x77 += einsum(x17, (0, 1, 2, 3), (1, 0, 3, 2)) - del x17 - x78 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x78 += einsum(t2, (0, 1, 2, 3), x77, (1, 4, 3, 5), (0, 4, 2, 5)) * 2.0 - del x77 - t2new += einsum(t2, (0, 1, 2, 3), x78, (4, 1, 5, 3), (4, 0, 5, 2)) * 2.0 - del x78 - x79 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x79 += einsum(v.xoo, (0, 1, 2), v.xoo, (0, 3, 4), (1, 3, 4, 2)) - x79 += einsum(x5, (0, 1, 2), x5, (3, 4, 2), (4, 0, 1, 3)) - del x5 - t2new += einsum(x58, (0, 1, 2, 3), x79, (0, 4, 1, 5), (4, 5, 3, 2)) - del x58, x79 - - return {"t1new": t1new, "t2new": t2new} - -def update_lams(f=None, v=None, nocc=None, nvir=None, naux=None, t1=None, t2=None, l1=None, l2=None, **kwargs): - # L amplitudes - l1new = np.zeros((nvir, nocc), dtype=types[float]) - l1new += einsum(f.ov, (0, 1), (1, 0)) - x0 = np.zeros((naux,), dtype=types[float]) - x0 += einsum(t1, (0, 1), v.xov, (2, 0, 1), (2,)) - x1 = np.zeros((nocc, nvir), dtype=types[float]) - x1 += einsum(x0, (0,), v.xov, (0, 1, 2), (1, 2)) - x2 = np.zeros((nocc, nocc), dtype=types[float]) - x2 += einsum(l1, (0, 1), t1, (2, 0), (1, 2)) - l1new += einsum(x1, (0, 1), x2, (2, 0), (1, 2)) * -2.0 - x3 = np.zeros((nocc, nvir, naux), dtype=types[float]) - x3 += einsum(t1, (0, 1), v.xvv, (2, 3, 1), (0, 3, 2)) - x4 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x4 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.5 - x4 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - x5 = np.zeros((nocc, nvir, naux), dtype=types[float]) - x5 += einsum(v.xov, (0, 1, 2), x4, (1, 3, 2, 4), (3, 4, 0)) * 2.0 - x6 = np.zeros((nocc, nvir, naux), dtype=types[float]) - x6 += einsum(v.xov, (0, 1, 2), (1, 2, 0)) - x6 += einsum(x3, (0, 1, 2), (0, 1, 2)) - x6 += einsum(x5, (0, 1, 2), (0, 1, 2)) - x7 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x7 += einsum(l2, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - x7 += einsum(l2, (0, 1, 2, 3), (2, 3, 0, 1)) * 2.0 - x8 = np.zeros((nocc, nocc, naux), dtype=types[float]) - x8 += einsum(t1, (0, 1), v.xov, (2, 3, 1), (0, 3, 2)) - x9 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x9 += einsum(t1, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2)) - x10 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x10 += einsum(x9, (0, 1, 2, 3), (0, 1, 2, 3)) - x10 += einsum(x9, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.5 - x11 = np.zeros((nvir, nvir), dtype=types[float]) - x11 += einsum(l2, (0, 1, 2, 3), x4, (3, 2, 1, 4), (0, 4)) - x12 = np.zeros((nocc, nocc, naux), dtype=types[float]) - x12 += einsum(v.xoo, (0, 1, 2), (1, 2, 0)) - x12 += einsum(x8, (0, 1, 2), (0, 1, 2)) - x13 = np.zeros((nocc, nvir, naux), dtype=types[float]) - x13 += einsum(x6, (0, 1, 2), x7, (0, 3, 1, 4), (3, 4, 2)) * -0.5 - del x7 - x13 += einsum(x8, (0, 1, 2), x10, (3, 0, 1, 4), (3, 4, 2)) - x13 += einsum(v.xoo, (0, 1, 2), x10, (3, 1, 2, 4), (3, 4, 0)) - del x10 - x13 += einsum(x11, (0, 1), v.xov, (2, 3, 1), (3, 0, 2)) - x13 += einsum(l1, (0, 1), x12, (1, 2, 3), (2, 0, 3)) * 0.5 - del x12 - l1new += einsum(v.xvv, (0, 1, 2), x13, (3, 2, 0), (1, 3)) * -2.0 - del x13 - x14 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x14 += einsum(v.xoo, (0, 1, 2), x3, (3, 4, 0), (3, 1, 2, 4)) - x15 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x15 += einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), (0, 2, 3, 4)) - x16 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x16 += einsum(v.xov, (0, 1, 2), v.xvv, (0, 3, 4), (1, 2, 3, 4)) - x17 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x17 += einsum(t2, (0, 1, 2, 3), x16, (4, 2, 5, 3), (0, 1, 4, 5)) - x18 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x18 += einsum(x3, (0, 1, 2), x8, (3, 4, 2), (3, 0, 4, 1)) - x19 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x19 += einsum(v.xov, (0, 1, 2), v.xov, (0, 3, 4), (1, 3, 2, 4)) - l2new = np.zeros((nvir, nvir, nocc, nocc), dtype=types[float]) - l2new += einsum(x19, (0, 1, 2, 3), (3, 2, 1, 0)) - x20 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x20 += einsum(t2, (0, 1, 2, 3), x19, (4, 5, 3, 2), (0, 1, 5, 4)) - x21 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x21 += einsum(x8, (0, 1, 2), x8, (3, 4, 2), (0, 3, 1, 4)) - x22 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x22 += einsum(x20, (0, 1, 2, 3), (0, 1, 2, 3)) - x22 += einsum(x21, (0, 1, 2, 3), (0, 1, 2, 3)) - x23 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x23 += einsum(t1, (0, 1), x22, (2, 3, 4, 0), (2, 3, 4, 1)) - del x22 - x24 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x24 += einsum(x17, (0, 1, 2, 3), (0, 1, 2, 3)) - del x17 - x24 += einsum(x18, (0, 1, 2, 3), (0, 1, 2, 3)) - del x18 - x24 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x23 - x25 = np.zeros((nocc, nvir), dtype=types[float]) - x25 += einsum(v.xov, (0, 1, 2), x8, (1, 3, 0), (3, 2)) - x26 = np.zeros((nocc, nvir), dtype=types[float]) - x26 += einsum(x1, (0, 1), (0, 1)) - x26 += einsum(x25, (0, 1), (0, 1)) * -0.5 - x27 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x27 += einsum(x26, (0, 1), t2, (2, 3, 1, 4), (2, 3, 0, 4)) - x28 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x28 += einsum(v.xoo, (0, 1, 2), v.xov, (0, 3, 4), (1, 2, 3, 4)) - x29 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x29 += einsum(v.xov, (0, 1, 2), x8, (3, 4, 0), (3, 1, 4, 2)) - x30 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x30 += einsum(x28, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x30 += einsum(x28, (0, 1, 2, 3), (1, 2, 0, 3)) * 2.0 - x30 += einsum(x29, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x30 += einsum(x29, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x31 = np.zeros((nocc, nocc, naux), dtype=types[float]) - x31 += einsum(v.xoo, (0, 1, 2), (1, 2, 0)) - x31 += einsum(x8, (0, 1, 2), (1, 0, 2)) - x32 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x32 += einsum(v.xov, (0, 1, 2), x31, (3, 4, 0), (1, 3, 4, 2)) - x33 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x33 += einsum(v.xoo, (0, 1, 2), v.xoo, (0, 3, 4), (1, 3, 4, 2)) - x34 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x34 += einsum(v.xoo, (0, 1, 2), x8, (3, 4, 0), (3, 1, 2, 4)) - x35 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x35 += einsum(x33, (0, 1, 2, 3), (3, 2, 1, 0)) - x35 += einsum(x34, (0, 1, 2, 3), (1, 0, 3, 2)) - x35 += einsum(x34, (0, 1, 2, 3), (3, 0, 2, 1)) * -0.5 - x36 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x36 += einsum(x14, (0, 1, 2, 3), (0, 2, 1, 3)) * 0.5 - x36 += einsum(x15, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.5 - x36 += einsum(x15, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - del x15 - x36 += einsum(x24, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x36 += einsum(x24, (0, 1, 2, 3), (1, 2, 0, 3)) * 0.5 - del x24 - x36 += einsum(x27, (0, 1, 2, 3), (1, 2, 0, 3)) - x36 += einsum(x27, (0, 1, 2, 3), (0, 2, 1, 3)) * -2.0 - del x27 - x36 += einsum(x30, (0, 1, 2, 3), x4, (1, 4, 3, 5), (0, 2, 4, 5)) * -1.0 - del x30 - x36 += einsum(x32, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - x36 += einsum(t1, (0, 1), x35, (0, 2, 3, 4), (2, 3, 4, 1)) - del x35 - l1new += einsum(l2, (0, 1, 2, 3), x36, (2, 4, 3, 1), (0, 4)) * 2.0 - del x36 - x37 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x37 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - x37 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x38 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x38 += einsum(l2, (0, 1, 2, 3), x4, (3, 4, 1, 5), (2, 4, 0, 5)) - x38 += einsum(l2, (0, 1, 2, 3), x37, (2, 4, 1, 5), (3, 4, 0, 5)) * 0.5 - del x37 - x39 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x39 += einsum(l1, (0, 1), t2, (2, 3, 4, 0), (1, 2, 3, 4)) - x40 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x40 += einsum(t2, (0, 1, 2, 3), x9, (4, 1, 5, 2), (4, 5, 0, 3)) - x41 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x41 += einsum(x39, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x39 - x41 += einsum(x40, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - del x40 - x42 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x42 += einsum(l2, (0, 1, 2, 3), t2, (4, 5, 0, 1), (2, 3, 4, 5)) - x43 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x43 += einsum(t1, (0, 1), x42, (2, 0, 3, 4), (2, 3, 4, 1)) - x44 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x44 += einsum(t2, (0, 1, 2, 3), x9, (4, 1, 5, 3), (4, 5, 0, 2)) - x45 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x45 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x45 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x46 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x46 += einsum(x45, (0, 1, 2, 3), x9, (0, 4, 5, 2), (4, 5, 1, 3)) - x47 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x47 += einsum(x43, (0, 1, 2, 3), (0, 1, 2, 3)) - del x43 - x47 += einsum(x44, (0, 1, 2, 3), (0, 1, 2, 3)) - del x44 - x47 += einsum(x46, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x46 - x48 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x48 += einsum(x41, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x48 += einsum(x41, (0, 1, 2, 3), (0, 2, 1, 3)) * 0.5 - del x41 - x48 += einsum(x9, (0, 1, 2, 3), (0, 1, 2, 3)) - x48 += einsum(x9, (0, 1, 2, 3), (1, 0, 2, 3)) * -2.0 - x48 += einsum(x47, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x48 += einsum(x47, (0, 1, 2, 3), (0, 2, 1, 3)) * 2.0 - del x47 - x49 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x49 += einsum(x9, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x49 += einsum(x9, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x50 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x50 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) - x50 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x51 = np.zeros((nocc, nocc), dtype=types[float]) - x51 += einsum(l2, (0, 1, 2, 3), x50, (3, 4, 0, 1), (2, 4)) * 2.0 - x52 = np.zeros((nocc, nocc), dtype=types[float]) - x52 += einsum(x2, (0, 1), (0, 1)) - x52 += einsum(x51, (0, 1), (0, 1)) - l1new += einsum(f.ov, (0, 1), x52, (2, 0), (1, 2)) * -1.0 - x53 = np.zeros((nocc, nvir), dtype=types[float]) - x53 += einsum(t1, (0, 1), (0, 1)) * -1.0 - x53 += einsum(x4, (0, 1, 2, 3), x9, (0, 1, 4, 2), (4, 3)) * 2.0 - x53 += einsum(l1, (0, 1), x45, (1, 2, 0, 3), (2, 3)) * -1.0 - x53 += einsum(t1, (0, 1), x52, (0, 2), (2, 1)) - x54 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x54 += einsum(t1, (0, 1), x9, (2, 3, 4, 1), (3, 2, 4, 0)) - x55 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x55 += einsum(x42, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.5 - x55 += einsum(x42, (0, 1, 2, 3), (1, 0, 3, 2)) - x55 += einsum(x54, (0, 1, 2, 3), (0, 1, 2, 3)) - x55 += einsum(x54, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.5 - x56 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x56 += einsum(x54, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x56 += einsum(x54, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - x57 = np.zeros((nocc, nvir, naux), dtype=types[float]) - x57 += einsum(l1, (0, 1), v.xvv, (2, 3, 0), (1, 3, 2)) - x58 = np.zeros((nocc, nvir, naux), dtype=types[float]) - x58 += einsum(x52, (0, 1), v.xov, (2, 1, 3), (0, 3, 2)) - x59 = np.zeros((nocc, nvir, naux), dtype=types[float]) - x59 += einsum(x57, (0, 1, 2), (0, 1, 2)) * -1.0 - del x57 - x59 += einsum(x58, (0, 1, 2), (0, 1, 2)) - del x58 - x60 = np.zeros((nocc, nocc), dtype=types[float]) - x60 += einsum(l2, (0, 1, 2, 3), x50, (3, 4, 0, 1), (2, 4)) - del x50 - x61 = np.zeros((nocc, nocc), dtype=types[float]) - x61 += einsum(x2, (0, 1), (0, 1)) * 0.5 - del x2 - x61 += einsum(x60, (0, 1), (0, 1)) - del x60 - x62 = np.zeros((nocc, nocc, naux), dtype=types[float]) - x62 += einsum(v.xvv, (0, 1, 2), x38, (3, 4, 1, 2), (4, 3, 0)) * -2.0 - del x38 - x62 += einsum(v.xov, (0, 1, 2), x48, (3, 1, 4, 2), (4, 3, 0)) - del x48 - x62 += einsum(x3, (0, 1, 2), x49, (0, 3, 4, 1), (4, 3, 2)) * -1.0 - x62 += einsum(x53, (0, 1), v.xov, (2, 3, 1), (0, 3, 2)) - del x53 - x62 += einsum(v.xoo, (0, 1, 2), x55, (1, 3, 2, 4), (4, 3, 0)) * 2.0 - del x55 - x62 += einsum(x8, (0, 1, 2), x56, (0, 3, 4, 1), (4, 3, 2)) - del x8, x56 - x62 += einsum(t1, (0, 1), x59, (2, 1, 3), (0, 2, 3)) - x62 += einsum(x61, (0, 1), v.xoo, (2, 3, 0), (1, 3, 2)) * 2.0 - x62 += einsum(x0, (0,), x51, (1, 2), (2, 1, 0)) * -2.0 - del x51 - l1new += einsum(v.xov, (0, 1, 2), x62, (1, 3, 0), (2, 3)) - del x62 - x63 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x63 += einsum(x28, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.5 - x63 += einsum(x28, (0, 1, 2, 3), (1, 2, 0, 3)) - x63 += einsum(x29, (0, 1, 2, 3), (0, 1, 2, 3)) - x63 += einsum(x29, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 - x64 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x64 += einsum(x28, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 - x64 += einsum(x28, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - x64 += einsum(x29, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x64 += einsum(x29, (0, 1, 2, 3), (0, 2, 1, 3)) * 2.0 - x65 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x65 += einsum(x33, (0, 1, 2, 3), (3, 2, 1, 0)) - x65 += einsum(x34, (0, 1, 2, 3), (1, 0, 3, 2)) - x65 += einsum(x34, (0, 1, 2, 3), (3, 0, 2, 1)) * -2.0 - x66 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x66 += einsum(x14, (0, 1, 2, 3), (0, 2, 1, 3)) * -2.0 - del x14 - x66 += einsum(t2, (0, 1, 2, 3), x63, (4, 1, 5, 3), (4, 5, 0, 2)) * 2.0 - del x63 - x66 += einsum(t2, (0, 1, 2, 3), x64, (4, 1, 5, 2), (4, 5, 0, 3)) - del x64 - x66 += einsum(x32, (0, 1, 2, 3), (2, 1, 0, 3)) - del x32 - x66 += einsum(t1, (0, 1), x65, (0, 2, 3, 4), (2, 3, 4, 1)) * -1.0 - del x65 - l1new += einsum(l2, (0, 1, 2, 3), x66, (3, 4, 2, 1), (0, 4)) - del x66 - x67 = np.zeros((nvir, nvir), dtype=types[float]) - x67 += einsum(l1, (0, 1), t1, (1, 2), (0, 2)) - x67 += einsum(l2, (0, 1, 2, 3), x4, (3, 2, 1, 4), (4, 0)) * 2.0 - x68 = np.zeros((nocc, nvir), dtype=types[float]) - x68 += einsum(l1, (0, 1), (1, 0)) - x68 += einsum(t1, (0, 1), (0, 1)) - x68 += einsum(x45, (0, 1, 2, 3), x9, (0, 1, 4, 2), (4, 3)) * -1.0 - x68 += einsum(l1, (0, 1), x4, (1, 2, 0, 3), (2, 3)) * 2.0 - x68 += einsum(t1, (0, 1), x61, (0, 2), (2, 1)) * -2.0 - del x61 - x69 = np.zeros((naux,), dtype=types[float]) - x69 += einsum(x67, (0, 1), v.xvv, (2, 0, 1), (2,)) - del x67 - x69 += einsum(x68, (0, 1), v.xov, (2, 0, 1), (2,)) - del x68 - x69 += einsum(x52, (0, 1), v.xoo, (2, 1, 0), (2,)) * -1.0 - del x52 - l1new += einsum(x69, (0,), v.xov, (0, 1, 2), (2, 1)) * 2.0 - del x69 - x70 = np.zeros((nocc, nocc), dtype=types[float]) - x70 += einsum(x0, (0,), v.xoo, (0, 1, 2), (1, 2)) - x71 = np.zeros((nocc, nvir, naux), dtype=types[float]) - x71 += einsum(t1, (0, 1), v.xoo, (2, 3, 0), (3, 1, 2)) - x72 = np.zeros((nocc, nvir, naux), dtype=types[float]) - x72 += einsum(v.xov, (0, 1, 2), x45, (1, 3, 2, 4), (3, 4, 0)) - del x45 - x73 = np.zeros((nocc, nvir, naux), dtype=types[float]) - x73 += einsum(x71, (0, 1, 2), (0, 1, 2)) - del x71 - x73 += einsum(x72, (0, 1, 2), (0, 1, 2)) * -1.0 - del x72 - x74 = np.zeros((nocc, nvir), dtype=types[float]) - x74 += einsum(f.ov, (0, 1), (0, 1)) - x74 += einsum(x1, (0, 1), (0, 1)) * 2.0 - x74 += einsum(x25, (0, 1), (0, 1)) * -1.0 - x75 = np.zeros((nocc, nocc), dtype=types[float]) - x75 += einsum(f.oo, (0, 1), (0, 1)) - x75 += einsum(x70, (0, 1), (1, 0)) * 2.0 - x75 += einsum(v.xov, (0, 1, 2), x73, (3, 2, 0), (3, 1)) * -1.0 - x75 += einsum(t1, (0, 1), x74, (2, 1), (0, 2)) - del x74 - l1new += einsum(l1, (0, 1), x75, (1, 2), (0, 2)) * -1.0 - del x75 - x76 = np.zeros((nvir, nvir), dtype=types[float]) - x76 += einsum(x0, (0,), v.xvv, (0, 1, 2), (1, 2)) - del x0 - x77 = np.zeros((nvir, nvir), dtype=types[float]) - x77 += einsum(f.vv, (0, 1), (0, 1)) - x77 += einsum(x76, (0, 1), (1, 0)) * 2.0 - l1new += einsum(l1, (0, 1), x77, (0, 2), (2, 1)) - del x77 - x78 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) - x78 += einsum(v.xvv, (0, 1, 2), v.xvv, (0, 3, 4), (1, 3, 4, 2)) - l2new += einsum(l2, (0, 1, 2, 3), x78, (4, 5, 0, 1), (4, 5, 3, 2)) - del x78 - x79 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x79 += einsum(l1, (0, 1), x28, (2, 1, 3, 4), (2, 3, 0, 4)) - x80 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x80 += einsum(x28, (0, 1, 2, 3), x9, (4, 1, 2, 5), (4, 0, 5, 3)) - x81 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x81 += einsum(x16, (0, 1, 2, 3), x9, (4, 5, 0, 2), (5, 4, 1, 3)) - del x16 - x82 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x82 += einsum(l2, (0, 1, 2, 3), t2, (4, 2, 5, 1), (3, 4, 0, 5)) - x83 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x83 += einsum(x19, (0, 1, 2, 3), x82, (4, 1, 5, 2), (4, 0, 5, 3)) - del x82 - x84 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x84 += einsum(x29, (0, 1, 2, 3), x9, (4, 0, 1, 5), (4, 2, 5, 3)) - x85 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x85 += einsum(x19, (0, 1, 2, 3), x4, (0, 4, 3, 5), (1, 4, 2, 5)) * 2.0 - del x4 - x86 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x86 += einsum(v.xvv, (0, 1, 2), x31, (3, 4, 0), (3, 4, 1, 2)) - del x31 - x87 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x87 += einsum(v.xov, (0, 1, 2), x5, (3, 4, 0), (1, 3, 2, 4)) * 2.0 - x88 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x88 += einsum(x85, (0, 1, 2, 3), (1, 0, 3, 2)) - del x85 - x88 += einsum(x86, (0, 1, 2, 3), (1, 0, 3, 2)) - x88 += einsum(x87, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x87 - x89 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x89 += einsum(l2, (0, 1, 2, 3), x88, (3, 4, 1, 5), (2, 4, 0, 5)) - del x88 - x90 = np.zeros((nocc, nvir, naux), dtype=types[float]) - x90 += einsum(x6, (0, 1, 2), l2, (3, 1, 0, 4), (4, 3, 2)) - del x6 - x91 = np.zeros((nocc, nvir, naux), dtype=types[float]) - x91 += einsum(v.xov, (0, 1, 2), (1, 2, 0)) - x91 += einsum(x3, (0, 1, 2), (0, 1, 2)) - x92 = np.zeros((nocc, nvir, naux), dtype=types[float]) - x92 += einsum(x91, (0, 1, 2), l2, (3, 1, 4, 0), (4, 3, 2)) * 2.0 - del x91 - x93 = np.zeros((nocc, nvir, naux), dtype=types[float]) - x93 += einsum(x90, (0, 1, 2), (0, 1, 2)) * -1.0 - del x90 - x93 += einsum(x92, (0, 1, 2), (0, 1, 2)) - del x92 - x94 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x94 += einsum(v.xov, (0, 1, 2), x93, (3, 4, 0), (1, 3, 2, 4)) - del x93 - x95 = np.zeros((nocc, nvir, naux), dtype=types[float]) - x95 += einsum(x3, (0, 1, 2), (0, 1, 2)) - del x3 - x95 += einsum(x5, (0, 1, 2), (0, 1, 2)) - del x5 - x96 = np.zeros((nvir, nvir), dtype=types[float]) - x96 += einsum(v.xov, (0, 1, 2), x95, (1, 3, 0), (2, 3)) - del x95 - x97 = np.zeros((nvir, nvir), dtype=types[float]) - x97 += einsum(x76, (0, 1), (1, 0)) * -2.0 - del x76 - x97 += einsum(x96, (0, 1), (0, 1)) - del x96 - x98 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x98 += einsum(x97, (0, 1), l2, (2, 1, 3, 4), (4, 3, 2, 0)) - del x97 - x99 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x99 += einsum(x9, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x99 += einsum(x9, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 - x100 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x100 += einsum(x28, (0, 1, 2, 3), x99, (0, 4, 1, 5), (2, 4, 3, 5)) - del x99 - x101 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x101 += einsum(x29, (0, 1, 2, 3), x49, (4, 0, 2, 5), (1, 4, 3, 5)) - del x49 - x102 = np.zeros((nocc, nocc), dtype=types[float]) - x102 += einsum(v.xov, (0, 1, 2), x73, (3, 2, 0), (1, 3)) * 0.5 - del x73 - x103 = np.zeros((nocc, nocc), dtype=types[float]) - x103 += einsum(t1, (0, 1), x26, (2, 1), (0, 2)) - x104 = np.zeros((nocc, nocc), dtype=types[float]) - x104 += einsum(x70, (0, 1), (1, 0)) - del x70 - x104 += einsum(x102, (0, 1), (1, 0)) * -1.0 - del x102 - x104 += einsum(x103, (0, 1), (0, 1)) - del x103 - x105 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x105 += einsum(x104, (0, 1), l2, (2, 3, 0, 4), (4, 1, 2, 3)) * 2.0 - del x104 - x106 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x106 += einsum(x26, (0, 1), x9, (2, 3, 0, 4), (2, 3, 4, 1)) * 2.0 - del x26 - x107 = np.zeros((nocc, nvir), dtype=types[float]) - x107 += einsum(x1, (0, 1), (0, 1)) * 2.0 - del x1 - x107 += einsum(x25, (0, 1), (0, 1)) * -1.0 - del x25 - x108 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x108 += einsum(f.ov, (0, 1), l1, (2, 3), (0, 3, 1, 2)) * -1.0 - x108 += einsum(x79, (0, 1, 2, 3), (0, 1, 2, 3)) - del x79 - x108 += einsum(x80, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x80 - x108 += einsum(x81, (0, 1, 2, 3), (0, 1, 2, 3)) - del x81 - x108 += einsum(x83, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x83 - x108 += einsum(x84, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x84 - x108 += einsum(x89, (0, 1, 2, 3), (0, 1, 2, 3)) - del x89 - x108 += einsum(x94, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x94 - x108 += einsum(x98, (0, 1, 2, 3), (1, 0, 2, 3)) - del x98 - x108 += einsum(x100, (0, 1, 2, 3), (1, 0, 3, 2)) - del x100 - x108 += einsum(x101, (0, 1, 2, 3), (1, 0, 3, 2)) - del x101 - x108 += einsum(x105, (0, 1, 2, 3), (0, 1, 3, 2)) - del x105 - x108 += einsum(x106, (0, 1, 2, 3), (0, 1, 2, 3)) - del x106 - x108 += einsum(l1, (0, 1), x107, (2, 3), (1, 2, 0, 3)) * -1.0 - del x107 - l2new += einsum(x108, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 - l2new += einsum(x108, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 - del x108 - x109 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x109 += einsum(f.vv, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2)) - x110 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x110 += einsum(f.ov, (0, 1), x9, (2, 3, 0, 4), (2, 3, 1, 4)) - x111 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x111 += einsum(l1, (0, 1), x29, (1, 2, 3, 4), (2, 3, 0, 4)) - x112 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x112 += einsum(x28, (0, 1, 2, 3), x9, (1, 4, 2, 5), (4, 0, 5, 3)) - del x28 - x113 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x113 += einsum(l2, (0, 1, 2, 3), x34, (2, 4, 3, 5), (4, 5, 0, 1)) - del x34 - x114 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x114 += einsum(x29, (0, 1, 2, 3), x9, (0, 4, 1, 5), (4, 2, 5, 3)) - del x9, x29 - x115 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x115 += einsum(t2, (0, 1, 2, 3), x19, (4, 1, 2, 5), (0, 4, 3, 5)) - x116 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x116 += einsum(x115, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x115 - x116 += einsum(x86, (0, 1, 2, 3), (1, 0, 3, 2)) - del x86 - x117 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x117 += einsum(l2, (0, 1, 2, 3), x116, (2, 4, 1, 5), (3, 4, 0, 5)) - del x116 - x118 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x118 += einsum(v.xov, (0, 1, 2), x59, (3, 4, 0), (1, 3, 2, 4)) - del x59 - x119 = np.zeros((nocc, nvir, naux), dtype=types[float]) - x119 += einsum(x11, (0, 1), v.xov, (2, 3, 1), (3, 0, 2)) * 2.0 - del x11 - x120 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x120 += einsum(v.xov, (0, 1, 2), x119, (3, 4, 0), (1, 3, 2, 4)) - del x119 - x121 = np.zeros((nocc, nocc), dtype=types[float]) - x121 += einsum(f.ov, (0, 1), t1, (2, 1), (0, 2)) - x122 = np.zeros((nocc, nocc), dtype=types[float]) - x122 += einsum(f.oo, (0, 1), (0, 1)) - x122 += einsum(x121, (0, 1), (1, 0)) - del x121 - x123 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x123 += einsum(x122, (0, 1), l2, (2, 3, 0, 4), (4, 1, 2, 3)) - del x122 - x124 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x124 += einsum(x109, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x109 - x124 += einsum(x110, (0, 1, 2, 3), (0, 1, 2, 3)) - del x110 - x124 += einsum(x111, (0, 1, 2, 3), (0, 1, 2, 3)) - del x111 - x124 += einsum(x112, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x112 - x124 += einsum(x113, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x113 - x124 += einsum(x114, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x114 - x124 += einsum(x117, (0, 1, 2, 3), (0, 1, 2, 3)) - del x117 - x124 += einsum(x118, (0, 1, 2, 3), (1, 0, 2, 3)) - del x118 - x124 += einsum(x120, (0, 1, 2, 3), (0, 1, 3, 2)) - del x120 - x124 += einsum(x123, (0, 1, 2, 3), (1, 0, 3, 2)) - del x123 - l2new += einsum(x124, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - l2new += einsum(x124, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 - del x124 - x125 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x125 += einsum(x33, (0, 1, 2, 3), (3, 2, 1, 0)) - del x33 - x125 += einsum(x20, (0, 1, 2, 3), (0, 3, 1, 2)) - del x20 - x125 += einsum(x21, (0, 1, 2, 3), (0, 3, 1, 2)) - del x21 - l2new += einsum(l2, (0, 1, 2, 3), x125, (3, 4, 2, 5), (0, 1, 4, 5)) - del x125 - x126 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x126 += einsum(x42, (0, 1, 2, 3), (1, 0, 3, 2)) - del x42 - x126 += einsum(x54, (0, 1, 2, 3), (0, 1, 2, 3)) - del x54 - l2new += einsum(x126, (0, 1, 2, 3), x19, (2, 3, 4, 5), (5, 4, 1, 0)) - del x19, x126 - - return {"l1new": l1new, "l2new": l2new} - -def make_rdm1_f(f=None, v=None, nocc=None, nvir=None, naux=None, t1=None, t2=None, l1=None, l2=None, **kwargs): - delta = Namespace(oo=np.eye(nocc), vv=np.eye(nvir)) - - # RDM1 - rdm1_f_oo = np.zeros((nocc, nocc), dtype=types[float]) - rdm1_f_oo += einsum(delta.oo, (0, 1), (0, 1)) * 2.0 - rdm1_f_ov = np.zeros((nocc, nvir), dtype=types[float]) - rdm1_f_ov += einsum(t1, (0, 1), (0, 1)) * 2.0 - rdm1_f_vo = np.zeros((nvir, nocc), dtype=types[float]) - rdm1_f_vo += einsum(l1, (0, 1), (0, 1)) * 2.0 - rdm1_f_vv = np.zeros((nvir, nvir), dtype=types[float]) - rdm1_f_vv += einsum(l1, (0, 1), t1, (1, 2), (0, 2)) * 2.0 - x0 = np.zeros((nocc, nocc), dtype=types[float]) - x0 += einsum(l1, (0, 1), t1, (2, 0), (1, 2)) - rdm1_f_oo += einsum(x0, (0, 1), (1, 0)) * -2.0 - x1 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x1 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - x1 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - rdm1_f_oo += einsum(l2, (0, 1, 2, 3), x1, (2, 4, 1, 0), (4, 3)) * -2.0 - del x1 - x2 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x2 += einsum(t1, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2)) - x3 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x3 += einsum(x2, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x3 += einsum(x2, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x2 - rdm1_f_ov += einsum(t2, (0, 1, 2, 3), x3, (0, 1, 4, 2), (4, 3)) * -2.0 - del x3 - x4 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x4 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.5 - x4 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm1_f_ov += einsum(l1, (0, 1), x4, (1, 2, 0, 3), (2, 3)) * 4.0 - del x4 - x5 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x5 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) - x5 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x6 = np.zeros((nocc, nocc), dtype=types[float]) - x6 += einsum(x0, (0, 1), (0, 1)) * 0.5 - del x0 - x6 += einsum(l2, (0, 1, 2, 3), x5, (3, 4, 0, 1), (2, 4)) - del x5 - rdm1_f_ov += einsum(t1, (0, 1), x6, (0, 2), (2, 1)) * -4.0 - del x6 - x7 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x7 += einsum(l2, (0, 1, 2, 3), (3, 2, 0, 1)) * -0.5 - x7 += einsum(l2, (0, 1, 2, 3), (2, 3, 0, 1)) - rdm1_f_vv += einsum(t2, (0, 1, 2, 3), x7, (0, 1, 2, 4), (4, 3)) * 4.0 - del x7 - - rdm1_f = np.block([[rdm1_f_oo, rdm1_f_ov], [rdm1_f_vo, rdm1_f_vv]]) - - return rdm1_f - -def make_rdm2_f(f=None, v=None, nocc=None, nvir=None, naux=None, t1=None, t2=None, l1=None, l2=None, **kwargs): - delta = Namespace(oo=np.eye(nocc), vv=np.eye(nvir)) - - # RDM2 - rdm2_f_oooo = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - rdm2_f_oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (0, 2, 1, 3)) - rdm2_f_oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (0, 2, 1, 3)) - rdm2_f_oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (0, 2, 1, 3)) - rdm2_f_oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (0, 2, 1, 3)) - rdm2_f_oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_ovoo = np.zeros((nocc, nvir, nocc, nocc), dtype=types[float]) - rdm2_f_ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (0, 2, 1, 3)) - rdm2_f_ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (0, 2, 1, 3)) - rdm2_f_ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (0, 2, 1, 3)) - rdm2_f_ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (0, 2, 1, 3)) - rdm2_f_ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_vooo = np.zeros((nvir, nocc, nocc, nocc), dtype=types[float]) - rdm2_f_vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 0, 3, 1)) - rdm2_f_vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 0, 3, 1)) - rdm2_f_vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 0, 3, 1)) - rdm2_f_vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 0, 3, 1)) - rdm2_f_oovv = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - rdm2_f_oovv += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_ovov = np.zeros((nocc, nvir, nocc, nvir), dtype=types[float]) - rdm2_f_ovov += einsum(l1, (0, 1), t1, (2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_ovov += einsum(l1, (0, 1), t1, (2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_ovvo = np.zeros((nocc, nvir, nvir, nocc), dtype=types[float]) - rdm2_f_ovvo += einsum(l1, (0, 1), t1, (2, 3), (2, 0, 3, 1)) - rdm2_f_ovvo += einsum(l1, (0, 1), t1, (2, 3), (2, 0, 3, 1)) - rdm2_f_ovvo += einsum(l1, (0, 1), t1, (2, 3), (2, 0, 3, 1)) - rdm2_f_ovvo += einsum(l1, (0, 1), t1, (2, 3), (2, 0, 3, 1)) - rdm2_f_voov = np.zeros((nvir, nocc, nocc, nvir), dtype=types[float]) - rdm2_f_voov += einsum(l1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) - rdm2_f_voov += einsum(l1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) - rdm2_f_voov += einsum(l1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) - rdm2_f_voov += einsum(l1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) - rdm2_f_vovo = np.zeros((nvir, nocc, nvir, nocc), dtype=types[float]) - rdm2_f_vovo += einsum(l1, (0, 1), t1, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_vovo += einsum(l1, (0, 1), t1, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_vvoo = np.zeros((nvir, nvir, nocc, nocc), dtype=types[float]) - rdm2_f_vvoo += einsum(l2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_vvoo += einsum(l2, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_vvoo += einsum(l2, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_vvoo += einsum(l2, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_vvoo += einsum(l2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_vvoo += einsum(l2, (0, 1, 2, 3), (0, 1, 2, 3)) - x0 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x0 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) - x0 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x1 = np.zeros((nocc, nocc), dtype=types[float]) - x1 += einsum(l2, (0, 1, 2, 3), x0, (2, 4, 1, 0), (3, 4)) - rdm2_f_oooo += einsum(delta.oo, (0, 1), x1, (2, 3), (0, 3, 1, 2)) * -2.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x1, (2, 3), (0, 3, 2, 1)) * 2.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x1, (2, 3), (3, 0, 1, 2)) * 2.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x1, (2, 3), (3, 0, 2, 1)) * -2.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x1, (2, 3), (0, 3, 1, 2)) * -2.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x1, (2, 3), (3, 0, 2, 1)) * -2.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x1, (2, 3), (0, 3, 1, 2)) * -2.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x1, (2, 3), (3, 0, 2, 1)) * -2.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x1, (2, 3), (0, 3, 1, 2)) * -2.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x1, (2, 3), (0, 3, 2, 1)) * 2.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x1, (2, 3), (3, 0, 1, 2)) * 2.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x1, (2, 3), (3, 0, 2, 1)) * -2.0 - x2 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x2 += einsum(l2, (0, 1, 2, 3), t2, (4, 5, 0, 1), (2, 3, 4, 5)) - rdm2_f_oooo += einsum(x2, (0, 1, 2, 3), (3, 2, 1, 0)) - rdm2_f_oooo += einsum(x2, (0, 1, 2, 3), (3, 2, 1, 0)) - x3 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x3 += einsum(t1, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2)) - rdm2_f_ovoo += einsum(x3, (0, 1, 2, 3), (2, 3, 0, 1)) - rdm2_f_ovoo += einsum(x3, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 - rdm2_f_ovoo += einsum(x3, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 - rdm2_f_ovoo += einsum(x3, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 - rdm2_f_ovoo += einsum(x3, (0, 1, 2, 3), (2, 3, 0, 1)) - rdm2_f_ovoo += einsum(x3, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 - rdm2_f_vooo += einsum(x3, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - rdm2_f_vooo += einsum(x3, (0, 1, 2, 3), (3, 2, 1, 0)) - rdm2_f_vooo += einsum(x3, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - rdm2_f_vooo += einsum(x3, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - rdm2_f_vooo += einsum(x3, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - rdm2_f_vooo += einsum(x3, (0, 1, 2, 3), (3, 2, 1, 0)) - x4 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x4 += einsum(t1, (0, 1), x3, (2, 3, 4, 1), (2, 3, 0, 4)) - rdm2_f_oooo += einsum(x4, (0, 1, 2, 3), (3, 2, 1, 0)) - rdm2_f_oooo += einsum(x4, (0, 1, 2, 3), (3, 2, 1, 0)) - x5 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x5 += einsum(x2, (0, 1, 2, 3), (1, 0, 3, 2)) - x5 += einsum(x4, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oooo += einsum(x5, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - rdm2_f_oooo += einsum(x5, (0, 1, 2, 3), (2, 3, 0, 1)) - rdm2_f_oooo += einsum(x5, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - rdm2_f_oooo += einsum(x5, (0, 1, 2, 3), (2, 3, 0, 1)) - x6 = np.zeros((nocc, nocc), dtype=types[float]) - x6 += einsum(l1, (0, 1), t1, (2, 0), (1, 2)) - rdm2_f_oooo += einsum(delta.oo, (0, 1), x6, (2, 3), (0, 3, 1, 2)) * -1.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x6, (2, 3), (3, 0, 1, 2)) - rdm2_f_oooo += einsum(delta.oo, (0, 1), x6, (2, 3), (0, 3, 2, 1)) - rdm2_f_oooo += einsum(delta.oo, (0, 1), x6, (2, 3), (3, 0, 2, 1)) * -1.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x6, (2, 3), (0, 3, 1, 2)) * -1.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x6, (2, 3), (3, 0, 2, 1)) * -1.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x6, (2, 3), (0, 3, 1, 2)) * -1.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x6, (2, 3), (3, 0, 2, 1)) * -1.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x6, (2, 3), (0, 3, 1, 2)) * -1.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x6, (2, 3), (3, 0, 1, 2)) - rdm2_f_oooo += einsum(delta.oo, (0, 1), x6, (2, 3), (0, 3, 2, 1)) - rdm2_f_oooo += einsum(delta.oo, (0, 1), x6, (2, 3), (3, 0, 2, 1)) * -1.0 - x7 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x7 += einsum(l1, (0, 1), t2, (2, 3, 4, 0), (1, 2, 3, 4)) - rdm2_f_ooov = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - rdm2_f_ooov += einsum(x7, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_ooov += einsum(x7, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_oovo = np.zeros((nocc, nocc, nvir, nocc), dtype=types[float]) - rdm2_f_oovo += einsum(x7, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - rdm2_f_oovo += einsum(x7, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - x8 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x8 += einsum(x3, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x8 += einsum(x3, (0, 1, 2, 3), (1, 0, 2, 3)) - x9 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x9 += einsum(t2, (0, 1, 2, 3), x8, (1, 4, 5, 2), (4, 5, 0, 3)) - del x8 - x10 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x10 += einsum(x3, (0, 1, 2, 3), (0, 1, 2, 3)) - x10 += einsum(x3, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.5 - x11 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x11 += einsum(t2, (0, 1, 2, 3), x10, (1, 4, 5, 3), (4, 5, 0, 2)) * 2.0 - del x10 - x12 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x12 += einsum(t1, (0, 1), x5, (0, 2, 3, 4), (2, 3, 4, 1)) - del x5 - rdm2_f_ooov += einsum(x12, (0, 1, 2, 3), (2, 1, 0, 3)) - rdm2_f_ooov += einsum(x12, (0, 1, 2, 3), (2, 1, 0, 3)) - rdm2_f_oovo += einsum(x12, (0, 1, 2, 3), (1, 2, 3, 0)) - rdm2_f_oovo += einsum(x12, (0, 1, 2, 3), (1, 2, 3, 0)) - x13 = np.zeros((nocc, nocc), dtype=types[float]) - x13 += einsum(l2, (0, 1, 2, 3), x0, (2, 4, 1, 0), (3, 4)) * 2.0 - del x0 - x14 = np.zeros((nocc, nocc), dtype=types[float]) - x14 += einsum(x6, (0, 1), (0, 1)) - x14 += einsum(x13, (0, 1), (0, 1)) - rdm2_f_ooov += einsum(t1, (0, 1), x14, (2, 3), (3, 0, 2, 1)) * -1.0 - rdm2_f_ooov += einsum(t1, (0, 1), x14, (2, 3), (3, 0, 2, 1)) * -1.0 - x15 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x15 += einsum(delta.oo, (0, 1), t1, (2, 3), (0, 1, 2, 3)) - x15 += einsum(x7, (0, 1, 2, 3), (1, 0, 2, 3)) - x15 += einsum(x9, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x9 - x15 += einsum(x11, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x11 - x15 += einsum(x12, (0, 1, 2, 3), (2, 0, 1, 3)) - x15 += einsum(t1, (0, 1), x14, (2, 3), (0, 2, 3, 1)) - rdm2_f_ooov += einsum(x15, (0, 1, 2, 3), (0, 2, 1, 3)) - rdm2_f_ooov += einsum(x15, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_ooov += einsum(x15, (0, 1, 2, 3), (0, 2, 1, 3)) - rdm2_f_ooov += einsum(x15, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_oovo += einsum(x15, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_oovo += einsum(x15, (0, 1, 2, 3), (2, 0, 3, 1)) - rdm2_f_oovo += einsum(x15, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_oovo += einsum(x15, (0, 1, 2, 3), (2, 0, 3, 1)) - del x15 - x16 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x16 += einsum(x3, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x16 += einsum(x3, (0, 1, 2, 3), (1, 0, 2, 3)) - x17 = np.zeros((nocc, nvir), dtype=types[float]) - x17 += einsum(t2, (0, 1, 2, 3), x16, (0, 1, 4, 3), (4, 2)) * 2.0 - x18 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x18 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x18 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x19 = np.zeros((nocc, nvir), dtype=types[float]) - x19 += einsum(l1, (0, 1), x18, (1, 2, 0, 3), (2, 3)) - x20 = np.zeros((nocc, nvir), dtype=types[float]) - x20 += einsum(t1, (0, 1), x14, (0, 2), (2, 1)) - x21 = np.zeros((nocc, nvir), dtype=types[float]) - x21 += einsum(x17, (0, 1), (0, 1)) - x21 += einsum(x19, (0, 1), (0, 1)) * -1.0 - x21 += einsum(x20, (0, 1), (0, 1)) - rdm2_f_ooov += einsum(delta.oo, (0, 1), x21, (2, 3), (0, 2, 1, 3)) * -1.0 - rdm2_f_ooov += einsum(delta.oo, (0, 1), x21, (2, 3), (2, 0, 1, 3)) - rdm2_f_ooov += einsum(delta.oo, (0, 1), x21, (2, 3), (0, 2, 1, 3)) * -1.0 - rdm2_f_ooov += einsum(delta.oo, (0, 1), x21, (2, 3), (2, 0, 1, 3)) - rdm2_f_oovo += einsum(delta.oo, (0, 1), x21, (2, 3), (0, 2, 3, 1)) - rdm2_f_oovo += einsum(delta.oo, (0, 1), x21, (2, 3), (2, 0, 3, 1)) * -1.0 - rdm2_f_oovo += einsum(delta.oo, (0, 1), x21, (2, 3), (0, 2, 3, 1)) - rdm2_f_oovo += einsum(delta.oo, (0, 1), x21, (2, 3), (2, 0, 3, 1)) * -1.0 - del x21 - x22 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x22 += einsum(t2, (0, 1, 2, 3), x3, (1, 4, 5, 2), (4, 5, 0, 3)) - rdm2_f_ooov += einsum(x22, (0, 1, 2, 3), (1, 2, 0, 3)) - rdm2_f_ooov += einsum(x22, (0, 1, 2, 3), (1, 2, 0, 3)) - rdm2_f_oovo += einsum(x22, (0, 1, 2, 3), (2, 1, 3, 0)) - rdm2_f_oovo += einsum(x22, (0, 1, 2, 3), (2, 1, 3, 0)) - del x22 - x23 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x23 += einsum(t2, (0, 1, 2, 3), x3, (4, 1, 5, 2), (4, 5, 0, 3)) - rdm2_f_ooov += einsum(x23, (0, 1, 2, 3), (2, 1, 0, 3)) - rdm2_f_ooov += einsum(x23, (0, 1, 2, 3), (2, 1, 0, 3)) - rdm2_f_oovo += einsum(x23, (0, 1, 2, 3), (1, 2, 3, 0)) - rdm2_f_oovo += einsum(x23, (0, 1, 2, 3), (1, 2, 3, 0)) - x24 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x24 += einsum(x3, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x24 += einsum(x3, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x25 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x25 += einsum(t2, (0, 1, 2, 3), x24, (1, 4, 5, 3), (4, 5, 0, 2)) - del x24 - rdm2_f_ooov += einsum(x25, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_ooov += einsum(x25, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_oovo += einsum(x25, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - rdm2_f_oovo += einsum(x25, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - del x25 - x26 = np.zeros((nocc, nvir), dtype=types[float]) - x26 += einsum(t1, (0, 1), (0, 1)) * -1.0 - x26 += einsum(x17, (0, 1), (0, 1)) - del x17 - x26 += einsum(x19, (0, 1), (0, 1)) * -1.0 - del x19 - x26 += einsum(x20, (0, 1), (0, 1)) - del x20 - rdm2_f_ooov += einsum(delta.oo, (0, 1), x26, (2, 3), (0, 2, 1, 3)) * -1.0 - rdm2_f_ooov += einsum(delta.oo, (0, 1), x26, (2, 3), (0, 2, 1, 3)) * -1.0 - del x26 - x27 = np.zeros((nocc, nocc), dtype=types[float]) - x27 += einsum(delta.oo, (0, 1), (0, 1)) * -1.0 - x27 += einsum(x6, (0, 1), (0, 1)) - x27 += einsum(x13, (0, 1), (0, 1)) - rdm2_f_oovo += einsum(t1, (0, 1), x27, (2, 3), (0, 3, 1, 2)) * -1.0 - rdm2_f_oovo += einsum(t1, (0, 1), x27, (2, 3), (0, 3, 1, 2)) * -1.0 - del x27 - x28 = np.zeros((nocc, nvir), dtype=types[float]) - x28 += einsum(t2, (0, 1, 2, 3), x16, (0, 1, 4, 3), (4, 2)) - x29 = np.zeros((nocc, nvir), dtype=types[float]) - x29 += einsum(l1, (0, 1), x18, (1, 2, 0, 3), (2, 3)) * 0.5 - x30 = np.zeros((nocc, nvir), dtype=types[float]) - x30 += einsum(t1, (0, 1), x14, (0, 2), (2, 1)) * 0.5 - del x14 - x31 = np.zeros((nocc, nvir), dtype=types[float]) - x31 += einsum(x28, (0, 1), (0, 1)) - x31 += einsum(x29, (0, 1), (0, 1)) * -1.0 - x31 += einsum(x30, (0, 1), (0, 1)) - del x30 - rdm2_f_oovo += einsum(delta.oo, (0, 1), x31, (2, 3), (2, 0, 3, 1)) * -2.0 - rdm2_f_oovo += einsum(delta.oo, (0, 1), x31, (2, 3), (2, 0, 3, 1)) * -2.0 - x32 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x32 += einsum(t2, (0, 1, 2, 3), x2, (0, 1, 4, 5), (4, 5, 2, 3)) - del x2 - rdm2_f_oovv += einsum(x32, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(x32, (0, 1, 2, 3), (0, 1, 2, 3)) - x33 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x33 += einsum(t2, (0, 1, 2, 3), x4, (1, 0, 4, 5), (4, 5, 3, 2)) - del x4 - rdm2_f_oovv += einsum(x33, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(x33, (0, 1, 2, 3), (0, 1, 2, 3)) - x34 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x34 += einsum(l2, (0, 1, 2, 3), (3, 2, 0, 1)) * -0.5 - x34 += einsum(l2, (0, 1, 2, 3), (2, 3, 0, 1)) - x35 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x35 += einsum(t2, (0, 1, 2, 3), x34, (1, 4, 3, 5), (4, 0, 5, 2)) - x36 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x36 += einsum(t2, (0, 1, 2, 3), x35, (1, 4, 3, 5), (4, 0, 5, 2)) * 4.0 - del x35 - x37 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x37 += einsum(l2, (0, 1, 2, 3), (3, 2, 0, 1)) - x37 += einsum(l2, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 - x38 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x38 += einsum(t2, (0, 1, 2, 3), x37, (1, 4, 2, 5), (4, 0, 5, 3)) - del x37 - x39 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x39 += einsum(t2, (0, 1, 2, 3), x38, (1, 4, 2, 5), (4, 0, 5, 3)) * -1.0 - del x38 - x40 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x40 += einsum(t1, (0, 1), x12, (0, 2, 3, 4), (3, 2, 4, 1)) - del x12 - rdm2_f_oovv += einsum(x40, (0, 1, 2, 3), (0, 1, 3, 2)) - rdm2_f_oovv += einsum(x40, (0, 1, 2, 3), (0, 1, 3, 2)) - x41 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x41 += einsum(x32, (0, 1, 2, 3), (0, 1, 2, 3)) - del x32 - x41 += einsum(x33, (0, 1, 2, 3), (0, 1, 2, 3)) - del x33 - x41 += einsum(x36, (0, 1, 2, 3), (1, 0, 3, 2)) - del x36 - x41 += einsum(x39, (0, 1, 2, 3), (0, 1, 2, 3)) - del x39 - x41 += einsum(x40, (0, 1, 2, 3), (0, 1, 3, 2)) - del x40 - rdm2_f_oovv += einsum(x41, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(x41, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_oovv += einsum(x41, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(x41, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x41 - x42 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x42 += einsum(x6, (0, 1), t2, (2, 0, 3, 4), (1, 2, 3, 4)) - x43 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x43 += einsum(t2, (0, 1, 2, 3), x34, (1, 4, 2, 5), (4, 0, 5, 3)) * 2.0 - x44 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x44 += einsum(t2, (0, 1, 2, 3), x43, (1, 4, 3, 5), (4, 0, 5, 2)) - del x43 - x45 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x45 += einsum(l2, (0, 1, 2, 3), (3, 2, 0, 1)) - x45 += einsum(l2, (0, 1, 2, 3), (2, 3, 0, 1)) * -0.5 - x46 = np.zeros((nvir, nvir), dtype=types[float]) - x46 += einsum(t2, (0, 1, 2, 3), x45, (0, 1, 3, 4), (4, 2)) * 2.0 - x47 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x47 += einsum(x46, (0, 1), t2, (2, 3, 0, 4), (2, 3, 1, 4)) - x48 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x48 += einsum(x3, (0, 1, 2, 3), (0, 1, 2, 3)) - x48 += einsum(x3, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x49 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x49 += einsum(t2, (0, 1, 2, 3), x48, (4, 1, 5, 2), (4, 5, 0, 3)) - x50 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x50 += einsum(t2, (0, 1, 2, 3), x16, (4, 1, 5, 3), (4, 5, 0, 2)) * 2.0 - del x16 - x51 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x51 += einsum(x7, (0, 1, 2, 3), (0, 1, 2, 3)) - x51 += einsum(x49, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x49 - x51 += einsum(x50, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x50 - x52 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x52 += einsum(t1, (0, 1), x51, (0, 2, 3, 4), (2, 3, 4, 1)) - del x51 - x53 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x53 += einsum(x13, (0, 1), t2, (2, 0, 3, 4), (1, 2, 4, 3)) - del x13 - x54 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x54 += einsum(x42, (0, 1, 2, 3), (0, 1, 2, 3)) - x54 += einsum(x44, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - x54 += einsum(x47, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - x54 += einsum(x52, (0, 1, 2, 3), (0, 1, 3, 2)) - del x52 - x54 += einsum(x53, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - x54 += einsum(t1, (0, 1), x31, (2, 3), (0, 2, 1, 3)) * -2.0 - del x31 - rdm2_f_oovv += einsum(x54, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(x54, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_oovv += einsum(x54, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - rdm2_f_oovv += einsum(x54, (0, 1, 2, 3), (1, 0, 3, 2)) - rdm2_f_oovv += einsum(x54, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(x54, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_oovv += einsum(x54, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - rdm2_f_oovv += einsum(x54, (0, 1, 2, 3), (1, 0, 3, 2)) - del x54 - x55 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x55 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - x55 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) - rdm2_f_oovv += einsum(x55, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_oovv += einsum(x55, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(x55, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_oovv += einsum(x55, (0, 1, 2, 3), (0, 1, 2, 3)) - del x55 - x56 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x56 += einsum(l2, (0, 1, 2, 3), t2, (4, 3, 1, 5), (2, 4, 0, 5)) - x57 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x57 += einsum(t2, (0, 1, 2, 3), x56, (1, 4, 2, 5), (0, 4, 3, 5)) - del x56 - rdm2_f_oovv += einsum(x57, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(x57, (0, 1, 2, 3), (0, 1, 2, 3)) - del x57 - x58 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x58 += einsum(l2, (0, 1, 2, 3), t2, (4, 2, 1, 5), (3, 4, 0, 5)) - rdm2_f_ovov += einsum(x58, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_ovov += einsum(x58, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_vovo += einsum(x58, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - rdm2_f_vovo += einsum(x58, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - x59 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x59 += einsum(t2, (0, 1, 2, 3), x58, (1, 4, 2, 5), (0, 4, 3, 5)) - rdm2_f_oovv += einsum(x59, (0, 1, 2, 3), (0, 1, 3, 2)) - rdm2_f_oovv += einsum(x59, (0, 1, 2, 3), (0, 1, 3, 2)) - del x59 - x60 = np.zeros((nocc, nvir), dtype=types[float]) - x60 += einsum(t1, (0, 1), x6, (0, 2), (2, 1)) - del x6 - rdm2_f_oovv += einsum(t1, (0, 1), x60, (2, 3), (2, 0, 3, 1)) * -1.0 - rdm2_f_oovv += einsum(t1, (0, 1), x60, (2, 3), (2, 0, 3, 1)) * -1.0 - x61 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x61 += einsum(t2, (0, 1, 2, 3), x3, (4, 1, 5, 3), (4, 5, 0, 2)) - x62 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x62 += einsum(x18, (0, 1, 2, 3), x3, (0, 4, 5, 2), (1, 4, 5, 3)) - del x18 - x63 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x63 += einsum(x61, (0, 1, 2, 3), (0, 1, 2, 3)) - del x61 - x63 += einsum(x62, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - del x62 - x64 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x64 += einsum(t1, (0, 1), x63, (0, 2, 3, 4), (2, 3, 4, 1)) - del x63 - x65 = np.zeros((nocc, nvir), dtype=types[float]) - x65 += einsum(t1, (0, 1), x1, (0, 2), (2, 1)) - del x1 - x66 = np.zeros((nocc, nvir), dtype=types[float]) - x66 += einsum(x28, (0, 1), (0, 1)) - del x28 - x66 += einsum(x29, (0, 1), (0, 1)) * -1.0 - del x29 - x66 += einsum(x65, (0, 1), (0, 1)) - del x65 - x67 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x67 += einsum(x44, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x44 - x67 += einsum(x47, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x47 - x67 += einsum(x64, (0, 1, 2, 3), (0, 1, 3, 2)) - del x64 - x67 += einsum(x53, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x53 - x67 += einsum(t1, (0, 1), x66, (2, 3), (0, 2, 1, 3)) * -2.0 - del x66 - rdm2_f_oovv += einsum(x67, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(x67, (0, 1, 2, 3), (1, 0, 3, 2)) - rdm2_f_oovv += einsum(x67, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(x67, (0, 1, 2, 3), (1, 0, 3, 2)) - del x67 - x68 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x68 += einsum(x7, (0, 1, 2, 3), (0, 1, 2, 3)) - del x7 - x68 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x23 - x69 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x69 += einsum(t1, (0, 1), x68, (0, 2, 3, 4), (2, 3, 4, 1)) - del x68 - x70 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x70 += einsum(x42, (0, 1, 2, 3), (0, 1, 2, 3)) - del x42 - x70 += einsum(x69, (0, 1, 2, 3), (0, 1, 3, 2)) - del x69 - rdm2_f_oovv += einsum(x70, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_oovv += einsum(x70, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - rdm2_f_oovv += einsum(x70, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_oovv += einsum(x70, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x70 - x71 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x71 += einsum(t2, (0, 1, 2, 3), x34, (1, 4, 3, 5), (4, 0, 5, 2)) * 2.0 - del x34 - x72 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x72 += einsum(t2, (0, 1, 2, 3), x71, (1, 4, 3, 5), (4, 0, 5, 2)) * 2.0 - del x71 - rdm2_f_oovv += einsum(x72, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(x72, (0, 1, 2, 3), (0, 1, 2, 3)) - del x72 - x73 = np.zeros((nocc, nvir), dtype=types[float]) - x73 += einsum(t1, (0, 1), (0, 1)) * -1.0 - x73 += einsum(x60, (0, 1), (0, 1)) - del x60 - rdm2_f_oovv += einsum(t1, (0, 1), x73, (2, 3), (0, 2, 1, 3)) * -1.0 - rdm2_f_oovv += einsum(t1, (0, 1), x73, (2, 3), (0, 2, 1, 3)) * -1.0 - del x73 - x74 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x74 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) - x74 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x75 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x75 += einsum(l2, (0, 1, 2, 3), x74, (2, 4, 1, 5), (4, 3, 5, 0)) - rdm2_f_ovov += einsum(x75, (0, 1, 2, 3), (0, 3, 1, 2)) * -1.0 - rdm2_f_ovov += einsum(x75, (0, 1, 2, 3), (0, 3, 1, 2)) * -1.0 - del x75 - x76 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x76 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.5 - x76 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - x77 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x77 += einsum(l2, (0, 1, 2, 3), x76, (3, 4, 1, 5), (4, 2, 5, 0)) * 2.0 - del x76 - rdm2_f_ovov += einsum(x77, (0, 1, 2, 3), (0, 3, 1, 2)) * -1.0 - rdm2_f_ovov += einsum(x77, (0, 1, 2, 3), (0, 3, 1, 2)) * -1.0 - rdm2_f_voov += einsum(x77, (0, 1, 2, 3), (3, 0, 1, 2)) - rdm2_f_voov += einsum(x77, (0, 1, 2, 3), (3, 0, 1, 2)) - del x77 - x78 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x78 += einsum(t1, (0, 1), x48, (0, 2, 3, 4), (2, 3, 4, 1)) - rdm2_f_ovov += einsum(x78, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_ovov += einsum(x78, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_vovo += einsum(x78, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - rdm2_f_vovo += einsum(x78, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - del x78 - x79 = np.zeros((nvir, nvir), dtype=types[float]) - x79 += einsum(l1, (0, 1), t1, (1, 2), (0, 2)) - x80 = np.zeros((nvir, nvir), dtype=types[float]) - x80 += einsum(x79, (0, 1), (0, 1)) - x80 += einsum(x46, (0, 1), (0, 1)) - del x46 - rdm2_f_ovov += einsum(delta.oo, (0, 1), x80, (2, 3), (0, 2, 1, 3)) - rdm2_f_ovov += einsum(delta.oo, (0, 1), x80, (2, 3), (0, 2, 1, 3)) - rdm2_f_ovov += einsum(delta.oo, (0, 1), x80, (2, 3), (0, 2, 1, 3)) - rdm2_f_ovov += einsum(delta.oo, (0, 1), x80, (2, 3), (0, 2, 1, 3)) - rdm2_f_voov += einsum(delta.oo, (0, 1), x80, (2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_voov += einsum(delta.oo, (0, 1), x80, (2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_vovo += einsum(delta.oo, (0, 1), x80, (2, 3), (2, 0, 3, 1)) - rdm2_f_vovo += einsum(delta.oo, (0, 1), x80, (2, 3), (2, 0, 3, 1)) - rdm2_f_vovo += einsum(delta.oo, (0, 1), x80, (2, 3), (2, 0, 3, 1)) - rdm2_f_vovo += einsum(delta.oo, (0, 1), x80, (2, 3), (2, 0, 3, 1)) - rdm2_f_ovvv = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - rdm2_f_ovvv += einsum(t1, (0, 1), x80, (2, 3), (0, 2, 1, 3)) - rdm2_f_ovvv += einsum(t1, (0, 1), x80, (2, 3), (0, 2, 1, 3)) - rdm2_f_vovv = np.zeros((nvir, nocc, nvir, nvir), dtype=types[float]) - rdm2_f_vovv += einsum(t1, (0, 1), x80, (2, 3), (2, 0, 3, 1)) - rdm2_f_vovv += einsum(t1, (0, 1), x80, (2, 3), (2, 0, 3, 1)) - x81 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x81 += einsum(t1, (0, 1), x3, (0, 2, 3, 4), (2, 3, 4, 1)) - rdm2_f_ovov += einsum(x81, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_ovov += einsum(x81, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_vovo += einsum(x81, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - rdm2_f_vovo += einsum(x81, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - del x81 - x82 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x82 += einsum(l2, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - x82 += einsum(l2, (0, 1, 2, 3), (2, 3, 0, 1)) - x83 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x83 += einsum(t2, (0, 1, 2, 3), x82, (1, 4, 2, 5), (4, 0, 5, 3)) - del x82 - rdm2_f_ovvo += einsum(x83, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - rdm2_f_ovvo += einsum(x83, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - rdm2_f_vovo += einsum(x83, (0, 1, 2, 3), (2, 1, 3, 0)) - rdm2_f_vovo += einsum(x83, (0, 1, 2, 3), (2, 1, 3, 0)) - del x83 - x84 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x84 += einsum(l2, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - x84 += einsum(l2, (0, 1, 2, 3), (2, 3, 0, 1)) * 2.0 - x85 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x85 += einsum(t2, (0, 1, 2, 3), x84, (1, 4, 3, 5), (4, 0, 5, 2)) - del x84 - rdm2_f_ovvo += einsum(x85, (0, 1, 2, 3), (1, 2, 3, 0)) - rdm2_f_ovvo += einsum(x85, (0, 1, 2, 3), (1, 2, 3, 0)) - rdm2_f_vovo += einsum(x85, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - rdm2_f_vovo += einsum(x85, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - del x85 - x86 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x86 += einsum(t1, (0, 1), x48, (2, 0, 3, 4), (2, 3, 4, 1)) - del x48 - rdm2_f_ovvo += einsum(x86, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - rdm2_f_ovvo += einsum(x86, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - rdm2_f_voov += einsum(x86, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_voov += einsum(x86, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - del x86 - x87 = np.zeros((nvir, nvir), dtype=types[float]) - x87 += einsum(t2, (0, 1, 2, 3), x45, (0, 1, 3, 4), (4, 2)) - del x45 - x88 = np.zeros((nvir, nvir), dtype=types[float]) - x88 += einsum(x79, (0, 1), (0, 1)) * 0.5 - del x79 - x88 += einsum(x87, (0, 1), (0, 1)) - del x87 - rdm2_f_ovvo += einsum(delta.oo, (0, 1), x88, (2, 3), (0, 2, 3, 1)) * -2.0 - rdm2_f_ovvo += einsum(delta.oo, (0, 1), x88, (2, 3), (0, 2, 3, 1)) * -2.0 - del x88 - x89 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x89 += einsum(l2, (0, 1, 2, 3), t2, (4, 2, 5, 1), (3, 4, 0, 5)) - rdm2_f_ovvo += einsum(x89, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - rdm2_f_ovvo += einsum(x89, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - rdm2_f_voov += einsum(x89, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_voov += einsum(x89, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - x90 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x90 += einsum(t1, (0, 1), x3, (2, 0, 3, 4), (2, 3, 4, 1)) - rdm2_f_ovvo += einsum(x90, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - rdm2_f_ovvo += einsum(x90, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - rdm2_f_voov += einsum(x90, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_voov += einsum(x90, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - x91 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x91 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - x91 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x92 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x92 += einsum(l2, (0, 1, 2, 3), x91, (3, 4, 5, 1), (4, 2, 5, 0)) - rdm2_f_ovvo += einsum(x92, (0, 1, 2, 3), (0, 3, 2, 1)) - rdm2_f_ovvo += einsum(x92, (0, 1, 2, 3), (0, 3, 2, 1)) - rdm2_f_voov += einsum(x92, (0, 1, 2, 3), (3, 0, 1, 2)) - rdm2_f_voov += einsum(x92, (0, 1, 2, 3), (3, 0, 1, 2)) - x93 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x93 += einsum(l2, (0, 1, 2, 3), x74, (2, 4, 5, 1), (4, 3, 5, 0)) - del x74 - rdm2_f_voov += einsum(x93, (0, 1, 2, 3), (3, 0, 1, 2)) * -1.0 - rdm2_f_voov += einsum(x93, (0, 1, 2, 3), (3, 0, 1, 2)) * -1.0 - x94 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x94 += einsum(l1, (0, 1), t2, (2, 1, 3, 4), (2, 0, 3, 4)) - rdm2_f_ovvv += einsum(x94, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_ovvv += einsum(x94, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_vovv += einsum(x94, (0, 1, 2, 3), (1, 0, 3, 2)) - rdm2_f_vovv += einsum(x94, (0, 1, 2, 3), (1, 0, 3, 2)) - x95 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x95 += einsum(t2, (0, 1, 2, 3), x3, (0, 1, 4, 5), (4, 5, 2, 3)) - del x3 - rdm2_f_ovvv += einsum(x95, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_ovvv += einsum(x95, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_vovv += einsum(x95, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - rdm2_f_vovv += einsum(x95, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x96 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x96 += einsum(x90, (0, 1, 2, 3), (0, 1, 2, 3)) - x96 += einsum(x92, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - x96 += einsum(x93, (0, 1, 2, 3), (1, 0, 3, 2)) - del x93 - x97 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x97 += einsum(t1, (0, 1), x96, (0, 2, 3, 4), (2, 3, 4, 1)) - del x96 - x98 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x98 += einsum(x94, (0, 1, 2, 3), (0, 1, 2, 3)) - del x94 - x98 += einsum(x95, (0, 1, 2, 3), (0, 1, 2, 3)) - del x95 - x98 += einsum(x97, (0, 1, 2, 3), (0, 1, 3, 2)) - del x97 - x98 += einsum(t1, (0, 1), x80, (2, 3), (0, 2, 1, 3)) - del x80 - rdm2_f_ovvv += einsum(x98, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_ovvv += einsum(x98, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_ovvv += einsum(x98, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_ovvv += einsum(x98, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_vovv += einsum(x98, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - rdm2_f_vovv += einsum(x98, (0, 1, 2, 3), (1, 0, 3, 2)) - rdm2_f_vovv += einsum(x98, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - rdm2_f_vovv += einsum(x98, (0, 1, 2, 3), (1, 0, 3, 2)) - del x98 - x99 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x99 += einsum(t1, (0, 1), x58, (0, 2, 3, 4), (2, 3, 1, 4)) - del x58 - rdm2_f_ovvv += einsum(x99, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - rdm2_f_ovvv += einsum(x99, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - rdm2_f_vovv += einsum(x99, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - rdm2_f_vovv += einsum(x99, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x99 - x100 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x100 += einsum(x89, (0, 1, 2, 3), (0, 1, 2, 3)) - x100 += einsum(x90, (0, 1, 2, 3), (0, 1, 2, 3)) - x100 += einsum(x92, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x92 - x101 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x101 += einsum(t1, (0, 1), x100, (0, 2, 3, 4), (2, 3, 4, 1)) - del x100 - rdm2_f_ovvv += einsum(x101, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - rdm2_f_ovvv += einsum(x101, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x101 - x102 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x102 += einsum(l2, (0, 1, 2, 3), x91, (3, 4, 5, 1), (4, 2, 5, 0)) * 0.5 - del x91 - x103 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x103 += einsum(x89, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - del x89 - x103 += einsum(x90, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - del x90 - x103 += einsum(x102, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x102 - x104 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x104 += einsum(t1, (0, 1), x103, (0, 2, 3, 4), (2, 3, 4, 1)) * 2.0 - del x103 - rdm2_f_vovv += einsum(x104, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - rdm2_f_vovv += einsum(x104, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x104 - x105 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x105 += einsum(t1, (0, 1), l2, (2, 3, 4, 0), (4, 2, 3, 1)) - rdm2_f_vvov = np.zeros((nvir, nvir, nocc, nvir), dtype=types[float]) - rdm2_f_vvov += einsum(x105, (0, 1, 2, 3), (1, 2, 0, 3)) - rdm2_f_vvov += einsum(x105, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_vvov += einsum(x105, (0, 1, 2, 3), (1, 2, 0, 3)) - rdm2_f_vvov += einsum(x105, (0, 1, 2, 3), (1, 2, 0, 3)) - rdm2_f_vvov += einsum(x105, (0, 1, 2, 3), (1, 2, 0, 3)) - rdm2_f_vvov += einsum(x105, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_vvvo = np.zeros((nvir, nvir, nvir, nocc), dtype=types[float]) - rdm2_f_vvvo += einsum(x105, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - rdm2_f_vvvo += einsum(x105, (0, 1, 2, 3), (2, 1, 3, 0)) - rdm2_f_vvvo += einsum(x105, (0, 1, 2, 3), (2, 1, 3, 0)) - rdm2_f_vvvo += einsum(x105, (0, 1, 2, 3), (2, 1, 3, 0)) - rdm2_f_vvvo += einsum(x105, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - rdm2_f_vvvo += einsum(x105, (0, 1, 2, 3), (2, 1, 3, 0)) - x106 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) - x106 += einsum(l2, (0, 1, 2, 3), t2, (2, 3, 4, 5), (0, 1, 4, 5)) - rdm2_f_vvvv = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) - rdm2_f_vvvv += einsum(x106, (0, 1, 2, 3), (1, 0, 3, 2)) - rdm2_f_vvvv += einsum(x106, (0, 1, 2, 3), (1, 0, 3, 2)) - x107 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) - x107 += einsum(t1, (0, 1), x105, (0, 2, 3, 4), (3, 2, 4, 1)) - del x105 - rdm2_f_vvvv += einsum(x107, (0, 1, 2, 3), (1, 0, 3, 2)) - rdm2_f_vvvv += einsum(x107, (0, 1, 2, 3), (1, 0, 3, 2)) - x108 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) - x108 += einsum(x106, (0, 1, 2, 3), (1, 0, 3, 2)) - del x106 - x108 += einsum(x107, (0, 1, 2, 3), (1, 0, 3, 2)) - del x107 - rdm2_f_vvvv += einsum(x108, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_vvvv += einsum(x108, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_vvvv += einsum(x108, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_vvvv += einsum(x108, (0, 1, 2, 3), (0, 1, 2, 3)) - del x108 - - rdm2_f = pack_2e(rdm2_f_oooo, rdm2_f_ooov, rdm2_f_oovo, rdm2_f_ovoo, rdm2_f_vooo, rdm2_f_oovv, rdm2_f_ovov, rdm2_f_ovvo, rdm2_f_voov, rdm2_f_vovo, rdm2_f_vvoo, rdm2_f_ovvv, rdm2_f_vovv, rdm2_f_vvov, rdm2_f_vvvo, rdm2_f_vvvv) - - rdm2_f = rdm2_f.swapaxes(1, 2) - - return rdm2_f - diff --git a/ebcc/codegen/RDFDCD.py b/ebcc/codegen/RDFDCD.py deleted file mode 100644 index 38756c86..00000000 --- a/ebcc/codegen/RDFDCD.py +++ /dev/null @@ -1,106 +0,0 @@ -# Code generated for ebcc. - -from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, Namespace -from ebcc.precision import types - -def energy(f=None, v=None, nocc=None, nvir=None, naux=None, t2=None, **kwargs): - # energy - x0 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x0 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.5 - x0 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - x1 = np.zeros((nocc, nvir, naux), dtype=types[float]) - x1 += einsum(v.xov, (0, 1, 2), x0, (1, 3, 2, 4), (3, 4, 0)) - del x0 - e_cc = 0 - e_cc += einsum(v.xov, (0, 1, 2), x1, (1, 2, 0), ()) * 2.0 - del x1 - - return e_cc - -def update_amps(f=None, v=None, nocc=None, nvir=None, naux=None, t2=None, **kwargs): - # T amplitudes - t2new = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - t2new += einsum(v.xov, (0, 1, 2), v.xov, (0, 3, 4), (1, 3, 2, 4)) - x0 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) - x0 += einsum(v.xvv, (0, 1, 2), v.xvv, (0, 3, 4), (1, 3, 4, 2)) - t2new += einsum(t2, (0, 1, 2, 3), x0, (4, 2, 5, 3), (0, 1, 5, 4)) - del x0 - x1 = np.zeros((nocc, nvir, naux), dtype=types[float]) - x1 += einsum(v.xov, (0, 1, 2), t2, (3, 1, 2, 4), (3, 4, 0)) - t2new += einsum(x1, (0, 1, 2), x1, (3, 4, 2), (0, 3, 1, 4)) - x2 = np.zeros((nocc, nvir, naux), dtype=types[float]) - x2 += einsum(v.xov, (0, 1, 2), t2, (3, 1, 4, 2), (3, 4, 0)) - t2new += einsum(x2, (0, 1, 2), x2, (3, 4, 2), (0, 3, 1, 4)) * 4.0 - del x2 - x3 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x3 += einsum(v.xoo, (0, 1, 2), v.xoo, (0, 3, 4), (1, 3, 4, 2)) - t2new += einsum(t2, (0, 1, 2, 3), x3, (4, 0, 5, 1), (5, 4, 2, 3)) - del x3 - x4 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x4 += einsum(v.xov, (0, 1, 2), x1, (3, 4, 0), (3, 1, 4, 2)) - x5 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x5 += einsum(v.xoo, (0, 1, 2), v.xvv, (0, 3, 4), (1, 2, 3, 4)) - x6 = np.zeros((nocc, nvir, naux), dtype=types[float]) - x6 += einsum(v.xov, (0, 1, 2), (1, 2, 0)) - x6 += einsum(x1, (0, 1, 2), (0, 1, 2)) * -1.0 - del x1 - x7 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x7 += einsum(v.xov, (0, 1, 2), x6, (3, 4, 0), (1, 3, 2, 4)) * 2.0 - del x6 - x8 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x8 += einsum(x5, (0, 1, 2, 3), (1, 0, 3, 2)) - x8 += einsum(x7, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x7 - x9 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x9 += einsum(t2, (0, 1, 2, 3), x8, (4, 1, 5, 3), (0, 4, 2, 5)) - del x8 - x10 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x10 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.5 - x10 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - x11 = np.zeros((nocc, nvir, naux), dtype=types[float]) - x11 += einsum(v.xov, (0, 1, 2), x10, (1, 3, 2, 4), (3, 4, 0)) - del x10 - x12 = np.zeros((nvir, nvir), dtype=types[float]) - x12 += einsum(v.xov, (0, 1, 2), x11, (1, 3, 0), (2, 3)) - x13 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x13 += einsum(x12, (0, 1), t2, (2, 3, 0, 4), (2, 3, 4, 1)) - del x12 - x14 = np.zeros((nocc, nocc), dtype=types[float]) - x14 += einsum(v.xov, (0, 1, 2), x11, (3, 2, 0), (1, 3)) - del x11 - x15 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x15 += einsum(x14, (0, 1), t2, (2, 0, 3, 4), (2, 1, 4, 3)) - del x14 - x16 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x16 += einsum(x4, (0, 1, 2, 3), (0, 1, 2, 3)) - del x4 - x16 += einsum(x9, (0, 1, 2, 3), (0, 1, 2, 3)) - del x9 - x16 += einsum(x13, (0, 1, 2, 3), (1, 0, 2, 3)) - del x13 - x16 += einsum(x15, (0, 1, 2, 3), (0, 1, 3, 2)) - del x15 - t2new += einsum(x16, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new += einsum(x16, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x16 - x17 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x17 += einsum(f.oo, (0, 1), t2, (2, 1, 3, 4), (0, 2, 3, 4)) - x18 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x18 += einsum(f.vv, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4)) - x19 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x19 += einsum(t2, (0, 1, 2, 3), x5, (4, 1, 5, 2), (0, 4, 3, 5)) - del x5 - x20 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x20 += einsum(x17, (0, 1, 2, 3), (0, 1, 2, 3)) - del x17 - x20 += einsum(x18, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x18 - x20 += einsum(x19, (0, 1, 2, 3), (0, 1, 2, 3)) - del x19 - t2new += einsum(x20, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new += einsum(x20, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x20 - - return {"t2new": t2new} - diff --git a/ebcc/codegen/RDFDCSD.py b/ebcc/codegen/RDFDCSD.py deleted file mode 100644 index fa8493c8..00000000 --- a/ebcc/codegen/RDFDCSD.py +++ /dev/null @@ -1,342 +0,0 @@ -# Code generated for ebcc. - -from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, Namespace -from ebcc.precision import types - -def energy(f=None, v=None, nocc=None, nvir=None, naux=None, t1=None, t2=None, **kwargs): - # energy - x0 = np.zeros((naux,), dtype=types[float]) - x0 += einsum(t1, (0, 1), v.xov, (2, 0, 1), (2,)) - x1 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x1 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) - x1 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x2 = np.zeros((nocc, nvir, naux), dtype=types[float]) - x2 += einsum(x0, (0,), t1, (1, 2), (1, 2, 0)) - del x0 - x2 += einsum(v.xov, (0, 1, 2), x1, (1, 3, 4, 2), (3, 4, 0)) - del x1 - e_cc = 0 - e_cc += einsum(v.xov, (0, 1, 2), x2, (1, 2, 0), ()) * 2.0 - del x2 - x3 = np.zeros((nocc, nocc, naux), dtype=types[float]) - x3 += einsum(t1, (0, 1), v.xov, (2, 3, 1), (0, 3, 2)) - x4 = np.zeros((nocc, nvir), dtype=types[float]) - x4 += einsum(f.ov, (0, 1), (0, 1)) - x4 += einsum(v.xov, (0, 1, 2), x3, (1, 3, 0), (3, 2)) * -0.5 - del x3 - e_cc += einsum(t1, (0, 1), x4, (0, 1), ()) * 2.0 - del x4 - - return e_cc - -def update_amps(f=None, v=None, nocc=None, nvir=None, naux=None, t1=None, t2=None, **kwargs): - # T amplitudes - t1new = np.zeros((nocc, nvir), dtype=types[float]) - t1new += einsum(f.ov, (0, 1), (0, 1)) - t1new += einsum(f.vv, (0, 1), t1, (2, 1), (2, 0)) - x0 = np.zeros((naux,), dtype=types[float]) - x0 += einsum(t1, (0, 1), v.xov, (2, 0, 1), (2,)) - x1 = np.zeros((nocc, nvir), dtype=types[float]) - x1 += einsum(x0, (0,), v.xov, (0, 1, 2), (1, 2)) - t1new += einsum(x1, (0, 1), (0, 1)) * 2.0 - x2 = np.zeros((nocc, nvir, naux), dtype=types[float]) - x2 += einsum(t1, (0, 1), v.xoo, (2, 3, 0), (3, 1, 2)) - x3 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x3 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) - x3 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - x3 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - x4 = np.zeros((nocc, nvir, naux), dtype=types[float]) - x4 += einsum(x2, (0, 1, 2), (0, 1, 2)) - x4 += einsum(x0, (0,), t1, (1, 2), (1, 2, 0)) * -2.0 - x4 += einsum(v.xov, (0, 1, 2), x3, (1, 3, 4, 2), (3, 4, 0)) - del x3 - t1new += einsum(v.xvv, (0, 1, 2), x4, (3, 2, 0), (3, 1)) * -1.0 - del x4 - x5 = np.zeros((nocc, nocc, naux), dtype=types[float]) - x5 += einsum(t1, (0, 1), v.xov, (2, 3, 1), (0, 3, 2)) - x6 = np.zeros((nocc, nocc, naux), dtype=types[float]) - x6 += einsum(v.xoo, (0, 1, 2), (1, 2, 0)) - x6 += einsum(x5, (0, 1, 2), (1, 0, 2)) - x7 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x7 += einsum(v.xov, (0, 1, 2), x6, (3, 4, 0), (4, 1, 3, 2)) - del x6 - x8 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x8 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x8 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - t1new += einsum(x7, (0, 1, 2, 3), x8, (1, 2, 3, 4), (0, 4)) * -1.0 - del x7 - x9 = np.zeros((nocc, nvir), dtype=types[float]) - x9 += einsum(v.xov, (0, 1, 2), x5, (1, 3, 0), (3, 2)) - x10 = np.zeros((nocc, nvir), dtype=types[float]) - x10 += einsum(f.ov, (0, 1), (0, 1)) - x10 += einsum(x1, (0, 1), (0, 1)) * 2.0 - x10 += einsum(x9, (0, 1), (0, 1)) * -1.0 - t1new += einsum(x10, (0, 1), x8, (0, 2, 1, 3), (2, 3)) - x11 = np.zeros((nocc, nocc), dtype=types[float]) - x11 += einsum(x0, (0,), v.xoo, (0, 1, 2), (1, 2)) - x12 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x12 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) - x12 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x13 = np.zeros((nocc, nvir, naux), dtype=types[float]) - x13 += einsum(v.xov, (0, 1, 2), x12, (1, 3, 4, 2), (3, 4, 0)) * 2.0 - x14 = np.zeros((nocc, nvir, naux), dtype=types[float]) - x14 += einsum(x2, (0, 1, 2), (0, 1, 2)) * -1.0 - x14 += einsum(x0, (0,), t1, (1, 2), (1, 2, 0)) * 2.0 - x14 += einsum(x13, (0, 1, 2), (0, 1, 2)) - x15 = np.zeros((nocc, nvir), dtype=types[float]) - x15 += einsum(f.ov, (0, 1), (0, 1)) - x15 += einsum(x9, (0, 1), (0, 1)) * -1.0 - x16 = np.zeros((nocc, nocc), dtype=types[float]) - x16 += einsum(f.oo, (0, 1), (0, 1)) - x16 += einsum(x11, (0, 1), (1, 0)) * 2.0 - x16 += einsum(v.xov, (0, 1, 2), x14, (3, 2, 0), (1, 3)) - del x14 - x16 += einsum(t1, (0, 1), x15, (2, 1), (2, 0)) - del x15 - t1new += einsum(t1, (0, 1), x16, (0, 2), (2, 1)) * -1.0 - del x16 - x17 = np.zeros((nocc, nvir, naux), dtype=types[float]) - x17 += einsum(v.xov, (0, 1, 2), t2, (3, 1, 2, 4), (3, 4, 0)) - t2new = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - t2new += einsum(x17, (0, 1, 2), x17, (3, 4, 2), (0, 3, 1, 4)) - x18 = np.zeros((nocc, nvir, naux), dtype=types[float]) - x18 += einsum(v.xov, (0, 1, 2), t2, (3, 1, 4, 2), (3, 4, 0)) - t2new += einsum(x18, (0, 1, 2), x18, (3, 4, 2), (0, 3, 1, 4)) * 4.0 - del x18 - x19 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x19 += einsum(v.xov, (0, 1, 2), v.xov, (0, 3, 4), (1, 3, 2, 4)) - t2new += einsum(x19, (0, 1, 2, 3), (1, 0, 3, 2)) - x20 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x20 += einsum(t2, (0, 1, 2, 3), x19, (4, 5, 3, 2), (0, 1, 5, 4)) - del x19 - x21 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x21 += einsum(t1, (0, 1), x20, (2, 3, 4, 0), (2, 3, 4, 1)) - del x20 - t2new += einsum(t1, (0, 1), x21, (2, 3, 0, 4), (2, 3, 1, 4)) - del x21 - x22 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) - x22 += einsum(v.xvv, (0, 1, 2), v.xvv, (0, 3, 4), (1, 3, 4, 2)) - t2new += einsum(t2, (0, 1, 2, 3), x22, (4, 2, 5, 3), (0, 1, 5, 4)) - del x22 - x23 = np.zeros((nocc, nvir, naux), dtype=types[float]) - x23 += einsum(t1, (0, 1), v.xvv, (2, 3, 1), (0, 3, 2)) - t2new += einsum(x23, (0, 1, 2), x23, (3, 4, 2), (0, 3, 1, 4)) - x24 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x24 += einsum(v.xvv, (0, 1, 2), x5, (3, 4, 0), (3, 4, 1, 2)) - x25 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x25 += einsum(t2, (0, 1, 2, 3), x24, (4, 1, 5, 2), (4, 0, 3, 5)) - x26 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x26 += einsum(v.xoo, (0, 1, 2), v.xvv, (0, 3, 4), (1, 2, 3, 4)) - x27 = np.zeros((nocc, nvir, naux), dtype=types[float]) - x27 += einsum(v.xov, (0, 1, 2), (1, 2, 0)) - x27 += einsum(x17, (0, 1, 2), (0, 1, 2)) * -1.0 - del x17 - x28 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x28 += einsum(v.xov, (0, 1, 2), x27, (3, 4, 0), (3, 1, 4, 2)) * 2.0 - del x27 - x29 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x29 += einsum(x26, (0, 1, 2, 3), (1, 0, 3, 2)) - x29 += einsum(x28, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x28 - x30 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x30 += einsum(t2, (0, 1, 2, 3), x29, (4, 1, 5, 3), (4, 0, 5, 2)) - del x29 - x31 = np.zeros((nvir, nvir), dtype=types[float]) - x31 += einsum(x0, (0,), v.xvv, (0, 1, 2), (1, 2)) - del x0 - x32 = np.zeros((nocc, nvir, naux), dtype=types[float]) - x32 += einsum(v.xov, (0, 1, 2), x12, (1, 3, 4, 2), (3, 4, 0)) - del x12 - x33 = np.zeros((nocc, nvir, naux), dtype=types[float]) - x33 += einsum(x23, (0, 1, 2), (0, 1, 2)) - x33 += einsum(x32, (0, 1, 2), (0, 1, 2)) - del x32 - x34 = np.zeros((nvir, nvir), dtype=types[float]) - x34 += einsum(v.xov, (0, 1, 2), x33, (1, 3, 0), (3, 2)) - del x33 - x35 = np.zeros((nvir, nvir), dtype=types[float]) - x35 += einsum(x31, (0, 1), (1, 0)) * -2.0 - del x31 - x35 += einsum(x34, (0, 1), (1, 0)) - del x34 - x36 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x36 += einsum(x35, (0, 1), t2, (2, 3, 0, 4), (2, 3, 1, 4)) - del x35 - x37 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x37 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - x37 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) - x38 = np.zeros((nocc, nvir, naux), dtype=types[float]) - x38 += einsum(v.xov, (0, 1, 2), x37, (1, 3, 4, 2), (3, 4, 0)) - x39 = np.zeros((nocc, nvir, naux), dtype=types[float]) - x39 += einsum(x2, (0, 1, 2), (0, 1, 2)) - x39 += einsum(x38, (0, 1, 2), (0, 1, 2)) - del x38 - x40 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x40 += einsum(v.xov, (0, 1, 2), x39, (3, 4, 0), (3, 1, 4, 2)) - del x39 - x41 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x41 += einsum(v.xoo, (0, 1, 2), v.xov, (0, 3, 4), (1, 2, 3, 4)) - x42 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x42 += einsum(t2, (0, 1, 2, 3), x41, (4, 1, 5, 2), (0, 4, 5, 3)) - x43 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x43 += einsum(v.xov, (0, 1, 2), v.xvv, (0, 3, 4), (1, 2, 3, 4)) - x44 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x44 += einsum(t2, (0, 1, 2, 3), x43, (4, 2, 5, 3), (0, 1, 4, 5)) - del x43 - x45 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x45 += einsum(x23, (0, 1, 2), x5, (3, 4, 2), (3, 0, 4, 1)) - x46 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x46 += einsum(v.xov, (0, 1, 2), x5, (3, 4, 0), (3, 1, 4, 2)) - x47 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x47 += einsum(t2, (0, 1, 2, 3), x46, (4, 1, 5, 2), (4, 0, 5, 3)) - x48 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x48 += einsum(x46, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x48 += einsum(x46, (0, 1, 2, 3), (0, 2, 1, 3)) - x49 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x49 += einsum(t2, (0, 1, 2, 3), x48, (4, 5, 1, 3), (4, 5, 0, 2)) * 2.0 - del x48 - x50 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x50 += einsum(x42, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x42 - x50 += einsum(x44, (0, 1, 2, 3), (0, 1, 2, 3)) - del x44 - x50 += einsum(x45, (0, 1, 2, 3), (0, 1, 2, 3)) - del x45 - x50 += einsum(x47, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x47 - x50 += einsum(x49, (0, 1, 2, 3), (0, 2, 1, 3)) - del x49 - x51 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x51 += einsum(t1, (0, 1), x50, (2, 3, 0, 4), (2, 3, 4, 1)) - del x50 - x52 = np.zeros((nocc, nvir, naux), dtype=types[float]) - x52 += einsum(v.xov, (0, 1, 2), x8, (1, 3, 2, 4), (3, 4, 0)) * 0.5 - del x8 - x53 = np.zeros((nocc, nvir, naux), dtype=types[float]) - x53 += einsum(x2, (0, 1, 2), (0, 1, 2)) - x53 += einsum(x52, (0, 1, 2), (0, 1, 2)) * -1.0 - del x52 - x54 = np.zeros((nocc, nocc), dtype=types[float]) - x54 += einsum(v.xov, (0, 1, 2), x53, (3, 2, 0), (3, 1)) - del x53 - x55 = np.zeros((nocc, nocc), dtype=types[float]) - x55 += einsum(x11, (0, 1), (1, 0)) * 2.0 - del x11 - x55 += einsum(x54, (0, 1), (1, 0)) * -1.0 - del x54 - x56 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x56 += einsum(x55, (0, 1), t2, (2, 0, 3, 4), (1, 2, 4, 3)) - del x55 - x57 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x57 += einsum(x25, (0, 1, 2, 3), (0, 1, 2, 3)) - del x25 - x57 += einsum(x30, (0, 1, 2, 3), (1, 0, 3, 2)) - del x30 - x57 += einsum(x36, (0, 1, 2, 3), (1, 0, 3, 2)) - del x36 - x57 += einsum(x40, (0, 1, 2, 3), (0, 1, 2, 3)) - del x40 - x57 += einsum(x51, (0, 1, 2, 3), (0, 1, 3, 2)) - del x51 - x57 += einsum(x56, (0, 1, 2, 3), (1, 0, 3, 2)) - del x56 - t2new += einsum(x57, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new += einsum(x57, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x57 - x58 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x58 += einsum(f.vv, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4)) - x59 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x59 += einsum(t2, (0, 1, 2, 3), x26, (4, 1, 5, 2), (0, 4, 3, 5)) - del x26 - x60 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x60 += einsum(v.xoo, (0, 1, 2), x5, (3, 4, 0), (3, 1, 2, 4)) - x61 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x61 += einsum(t2, (0, 1, 2, 3), x60, (4, 1, 5, 0), (4, 5, 3, 2)) - x62 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x62 += einsum(t2, (0, 1, 2, 3), x24, (4, 1, 5, 3), (4, 0, 2, 5)) - del x24 - x63 = np.zeros((nocc, nvir, naux), dtype=types[float]) - x63 += einsum(v.xov, (0, 1, 2), (1, 2, 0)) - x63 += einsum(x2, (0, 1, 2), (0, 1, 2)) * -1.0 - del x2 - x63 += einsum(x13, (0, 1, 2), (0, 1, 2)) - del x13 - x64 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x64 += einsum(x23, (0, 1, 2), x63, (3, 4, 2), (0, 3, 1, 4)) - del x23, x63 - x65 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x65 += einsum(t2, (0, 1, 2, 3), x41, (4, 5, 1, 2), (0, 5, 4, 3)) - x66 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x66 += einsum(t1, (0, 1), x60, (2, 3, 4, 0), (2, 3, 4, 1)) - del x60 - x67 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x67 += einsum(t2, (0, 1, 2, 3), x46, (4, 5, 1, 2), (4, 0, 5, 3)) - del x46 - x68 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x68 += einsum(x41, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x68 += einsum(x41, (0, 1, 2, 3), (2, 1, 0, 3)) * 2.0 - del x41 - x69 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x69 += einsum(t2, (0, 1, 2, 3), x68, (1, 4, 5, 3), (4, 5, 0, 2)) - del x68 - x70 = np.zeros((nocc, nvir), dtype=types[float]) - x70 += einsum(f.ov, (0, 1), (0, 1)) * 0.5 - x70 += einsum(x1, (0, 1), (0, 1)) - del x1 - x70 += einsum(x9, (0, 1), (0, 1)) * -0.5 - del x9 - x71 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x71 += einsum(x70, (0, 1), t2, (2, 3, 1, 4), (0, 2, 3, 4)) * 2.0 - del x70 - x72 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x72 += einsum(x65, (0, 1, 2, 3), (1, 0, 2, 3)) - del x65 - x72 += einsum(x66, (0, 1, 2, 3), (1, 0, 2, 3)) - del x66 - x72 += einsum(x67, (0, 1, 2, 3), (2, 0, 1, 3)) - del x67 - x72 += einsum(x69, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - del x69 - x72 += einsum(x71, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x71 - x73 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x73 += einsum(t1, (0, 1), x72, (0, 2, 3, 4), (2, 3, 4, 1)) - del x72 - x74 = np.zeros((nocc, nocc), dtype=types[float]) - x74 += einsum(t1, (0, 1), x10, (2, 1), (2, 0)) * 0.5 - del x10 - x75 = np.zeros((nocc, nocc), dtype=types[float]) - x75 += einsum(f.oo, (0, 1), (0, 1)) * 0.5 - x75 += einsum(x74, (0, 1), (1, 0)) - del x74 - x76 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x76 += einsum(x75, (0, 1), t2, (2, 1, 3, 4), (0, 2, 4, 3)) * 2.0 - del x75 - x77 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x77 += einsum(x58, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x58 - x77 += einsum(x59, (0, 1, 2, 3), (0, 1, 2, 3)) - del x59 - x77 += einsum(x61, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x61 - x77 += einsum(x62, (0, 1, 2, 3), (0, 1, 2, 3)) - del x62 - x77 += einsum(x64, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x64 - x77 += einsum(x73, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x73 - x77 += einsum(x76, (0, 1, 2, 3), (0, 1, 3, 2)) - del x76 - t2new += einsum(x77, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new += einsum(x77, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x77 - x78 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x78 += einsum(v.xoo, (0, 1, 2), v.xoo, (0, 3, 4), (1, 3, 4, 2)) - x78 += einsum(x5, (0, 1, 2), x5, (3, 4, 2), (4, 0, 1, 3)) - del x5 - t2new += einsum(x37, (0, 1, 2, 3), x78, (0, 4, 1, 5), (4, 5, 3, 2)) - del x37, x78 - - return {"t1new": t1new, "t2new": t2new} - diff --git a/ebcc/codegen/RDFQCISD.py b/ebcc/codegen/RDFQCISD.py deleted file mode 100644 index f745a89a..00000000 --- a/ebcc/codegen/RDFQCISD.py +++ /dev/null @@ -1,172 +0,0 @@ -# Code generated for ebcc. - -from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, Namespace -from ebcc.precision import types - -def energy(f=None, v=None, nocc=None, nvir=None, naux=None, t1=None, t2=None, **kwargs): - # energy - x0 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x0 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) - x0 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x1 = np.zeros((nocc, nvir, naux), dtype=types[float]) - x1 += einsum(v.xov, (0, 1, 2), x0, (1, 3, 4, 2), (3, 4, 0)) - del x0 - e_cc = 0 - e_cc += einsum(v.xov, (0, 1, 2), x1, (1, 2, 0), ()) * 2.0 - del x1 - - return e_cc - -def update_amps(f=None, v=None, nocc=None, nvir=None, naux=None, t1=None, t2=None, **kwargs): - # T amplitudes - t1new = np.zeros((nocc, nvir), dtype=types[float]) - t1new += einsum(f.vv, (0, 1), t1, (2, 1), (2, 0)) - x0 = np.zeros((naux,), dtype=types[float]) - x0 += einsum(t1, (0, 1), v.xov, (2, 0, 1), (2,)) - x1 = np.zeros((nocc, nvir), dtype=types[float]) - x1 += einsum(x0, (0,), v.xov, (0, 1, 2), (1, 2)) - del x0 - t1new += einsum(x1, (0, 1), (0, 1)) * 2.0 - x2 = np.zeros((nocc, nvir, naux), dtype=types[float]) - x2 += einsum(t1, (0, 1), v.xoo, (2, 3, 0), (3, 1, 2)) - x3 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x3 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - x3 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x4 = np.zeros((nocc, nvir, naux), dtype=types[float]) - x4 += einsum(x2, (0, 1, 2), (0, 1, 2)) - x4 += einsum(v.xov, (0, 1, 2), x3, (1, 3, 4, 2), (3, 4, 0)) * -1.0 - t1new += einsum(v.xvv, (0, 1, 2), x4, (3, 2, 0), (3, 1)) * -1.0 - del x4 - x5 = np.zeros((nocc, nocc, naux), dtype=types[float]) - x5 += einsum(t1, (0, 1), v.xov, (2, 3, 1), (0, 3, 2)) - x6 = np.zeros((nocc, nocc, naux), dtype=types[float]) - x6 += einsum(v.xoo, (0, 1, 2), (1, 2, 0)) - x6 += einsum(x5, (0, 1, 2), (1, 0, 2)) - x7 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x7 += einsum(v.xov, (0, 1, 2), x6, (3, 4, 0), (4, 1, 3, 2)) - del x6 - t1new += einsum(x3, (0, 1, 2, 3), x7, (4, 0, 1, 3), (4, 2)) * -1.0 - del x7 - x8 = np.zeros((nocc, nvir), dtype=types[float]) - x8 += einsum(f.ov, (0, 1), (0, 1)) - x8 += einsum(x1, (0, 1), (0, 1)) * 2.0 - del x1 - x8 += einsum(v.xov, (0, 1, 2), x5, (1, 3, 0), (3, 2)) * -1.0 - del x5 - t1new += einsum(x8, (0, 1), x3, (0, 2, 3, 1), (2, 3)) - del x3, x8 - x9 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x9 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) - x9 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x10 = np.zeros((nocc, nvir, naux), dtype=types[float]) - x10 += einsum(v.xov, (0, 1, 2), x9, (1, 3, 4, 2), (3, 4, 0)) - del x9 - x11 = np.zeros((nocc, nocc), dtype=types[float]) - x11 += einsum(v.xov, (0, 1, 2), x10, (3, 2, 0), (1, 3)) - x12 = np.zeros((nocc, nocc), dtype=types[float]) - x12 += einsum(f.oo, (0, 1), (0, 1)) * 0.5 - x12 += einsum(x11, (0, 1), (0, 1)) - t1new += einsum(t1, (0, 1), x12, (0, 2), (2, 1)) * -2.0 - del x12 - x13 = np.zeros((nocc, nvir, naux), dtype=types[float]) - x13 += einsum(v.xov, (0, 1, 2), t2, (3, 1, 2, 4), (3, 4, 0)) - t2new = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - t2new += einsum(x13, (0, 1, 2), x13, (3, 4, 2), (0, 3, 1, 4)) - x14 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x14 += einsum(v.xov, (0, 1, 2), v.xov, (0, 3, 4), (1, 3, 2, 4)) - t2new += einsum(x14, (0, 1, 2, 3), (1, 0, 3, 2)) - x15 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x15 += einsum(t2, (0, 1, 2, 3), x14, (1, 4, 5, 2), (0, 4, 3, 5)) - t2new += einsum(t2, (0, 1, 2, 3), x15, (4, 1, 5, 2), (0, 4, 5, 3)) - x16 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) - x16 += einsum(v.xvv, (0, 1, 2), v.xvv, (0, 3, 4), (1, 3, 4, 2)) - t2new += einsum(t2, (0, 1, 2, 3), x16, (4, 3, 5, 2), (0, 1, 4, 5)) - del x16 - x17 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x17 += einsum(f.oo, (0, 1), t2, (2, 1, 3, 4), (0, 2, 3, 4)) - x18 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x18 += einsum(f.vv, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4)) - x19 = np.zeros((nocc, nvir, naux), dtype=types[float]) - x19 += einsum(t1, (0, 1), v.xvv, (2, 3, 1), (0, 3, 2)) - x20 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x20 += einsum(v.xov, (0, 1, 2), x19, (3, 4, 0), (3, 1, 2, 4)) - del x19 - x21 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x21 += einsum(v.xoo, (0, 1, 2), v.xvv, (0, 3, 4), (1, 2, 3, 4)) - x22 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x22 += einsum(t2, (0, 1, 2, 3), x21, (4, 1, 5, 2), (0, 4, 3, 5)) - x23 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x23 += einsum(x17, (0, 1, 2, 3), (0, 1, 2, 3)) - del x17 - x23 += einsum(x18, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x18 - x23 += einsum(x20, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x20 - x23 += einsum(x22, (0, 1, 2, 3), (0, 1, 2, 3)) - del x22 - t2new += einsum(x23, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new += einsum(x23, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x23 - x24 = np.zeros((nocc, nvir, naux), dtype=types[float]) - x24 += einsum(v.xov, (0, 1, 2), (1, 2, 0)) - x24 += einsum(x13, (0, 1, 2), (0, 1, 2)) * -1.0 - x25 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x25 += einsum(v.xov, (0, 1, 2), x24, (3, 4, 0), (3, 1, 4, 2)) * 2.0 - del x24 - x26 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x26 += einsum(x21, (0, 1, 2, 3), (1, 0, 3, 2)) - del x21 - x26 += einsum(x15, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x15 - x26 += einsum(x25, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x25 - x27 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x27 += einsum(t2, (0, 1, 2, 3), x26, (4, 1, 5, 3), (4, 0, 5, 2)) - del x26 - x28 = np.zeros((nvir, nvir), dtype=types[float]) - x28 += einsum(v.xov, (0, 1, 2), x10, (1, 3, 0), (2, 3)) - del x10 - x29 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x29 += einsum(x28, (0, 1), t2, (2, 3, 0, 4), (2, 3, 1, 4)) * 2.0 - del x28 - x30 = np.zeros((nocc, nvir, naux), dtype=types[float]) - x30 += einsum(x2, (0, 1, 2), (0, 1, 2)) - del x2 - x30 += einsum(x13, (0, 1, 2), (0, 1, 2)) - del x13 - x31 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x31 += einsum(v.xov, (0, 1, 2), x30, (3, 4, 0), (3, 1, 4, 2)) - del x30 - x32 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x32 += einsum(x11, (0, 1), t2, (2, 0, 3, 4), (1, 2, 4, 3)) * 2.0 - del x11 - x33 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x33 += einsum(x27, (0, 1, 2, 3), (1, 0, 3, 2)) - del x27 - x33 += einsum(x29, (0, 1, 2, 3), (1, 0, 3, 2)) - del x29 - x33 += einsum(x31, (0, 1, 2, 3), (0, 1, 2, 3)) - del x31 - x33 += einsum(x32, (0, 1, 2, 3), (1, 0, 3, 2)) - del x32 - t2new += einsum(x33, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new += einsum(x33, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x33 - x34 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x34 += einsum(x14, (0, 1, 2, 3), (1, 0, 2, 3)) - x34 += einsum(x14, (0, 1, 2, 3), (1, 0, 3, 2)) * -0.5 - x35 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x35 += einsum(t2, (0, 1, 2, 3), x34, (1, 4, 5, 3), (0, 4, 2, 5)) - del x34 - t2new += einsum(t2, (0, 1, 2, 3), x35, (4, 1, 5, 3), (4, 0, 5, 2)) * 4.0 - del x35 - x36 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x36 += einsum(v.xoo, (0, 1, 2), v.xoo, (0, 3, 4), (1, 3, 4, 2)) - x36 += einsum(t2, (0, 1, 2, 3), x14, (4, 5, 3, 2), (4, 0, 5, 1)) - del x14 - t2new += einsum(t2, (0, 1, 2, 3), x36, (0, 4, 1, 5), (4, 5, 3, 2)) - del x36 - - return {"t1new": t1new, "t2new": t2new} - diff --git a/ebcc/codegen/RMP2.py b/ebcc/codegen/RMP2.py deleted file mode 100644 index 849d49c2..00000000 --- a/ebcc/codegen/RMP2.py +++ /dev/null @@ -1,17 +0,0 @@ -# Code generated for ebcc. - -from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, direct_sum, Namespace -from ebcc.precision import types - -def energy(f=None, v=None, nocc=None, nvir=None, t2=None, **kwargs): - # energy - x0 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x0 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -0.5 - x0 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - e_mp = 0 - e_mp += einsum(t2, (0, 1, 2, 3), x0, (0, 1, 2, 3), ()) * 2.0 - del x0 - - return e_mp - diff --git a/ebcc/codegen/RMP3.py b/ebcc/codegen/RMP3.py deleted file mode 100644 index 74d8a302..00000000 --- a/ebcc/codegen/RMP3.py +++ /dev/null @@ -1,50 +0,0 @@ -# Code generated for ebcc. - -from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, direct_sum, Namespace -from ebcc.precision import types - -def energy(f=None, v=None, nocc=None, nvir=None, t2=None, **kwargs): - # energy - x0 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x0 += einsum(t2, (0, 1, 2, 3), v.vvvv, (4, 2, 5, 3), (0, 1, 4, 5)) - x1 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x1 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x1 += einsum(x0, (0, 1, 2, 3), (1, 0, 3, 2)) - del x0 - x2 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x2 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * 2.0 - x2 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x3 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x3 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) - x3 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 - x4 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x4 += einsum(x1, (0, 1, 2, 3), (0, 1, 3, 2)) - x4 += einsum(x1, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - del x1 - x4 += einsum(t2, (0, 1, 2, 3), x2, (1, 4, 3, 5), (0, 4, 2, 5)) * -2.0 - del x2 - x4 += einsum(t2, (0, 1, 2, 3), x3, (1, 4, 2, 5), (0, 4, 3, 5)) * -2.0 - del x3 - e_mp = 0 - e_mp += einsum(t2, (0, 1, 2, 3), x4, (0, 1, 3, 2), ()) * 2.0 - del x4 - x5 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x5 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x5 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x6 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x6 += einsum(t2, (0, 1, 2, 3), x5, (1, 4, 3, 5), (0, 4, 2, 5)) * 2.0 - del x5 - e_mp += einsum(t2, (0, 1, 2, 3), x6, (0, 1, 2, 3), ()) * 4.0 - del x6 - x7 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x7 += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 2, 3), (0, 4, 5, 1)) - x8 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x8 += einsum(x7, (0, 1, 2, 3), (3, 1, 2, 0)) * -0.5 - x8 += einsum(x7, (0, 1, 2, 3), (3, 2, 1, 0)) - del x7 - e_mp += einsum(v.oooo, (0, 1, 2, 3), x8, (1, 0, 2, 3), ()) * 2.0 - del x8 - - return e_mp - diff --git a/ebcc/codegen/RQCISD.py b/ebcc/codegen/RQCISD.py deleted file mode 100644 index 6ca8d693..00000000 --- a/ebcc/codegen/RQCISD.py +++ /dev/null @@ -1,141 +0,0 @@ -# Code generated for ebcc. - -from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, Namespace -from ebcc.precision import types - -def energy(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, **kwargs): - # energy - x0 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x0 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -0.5 - x0 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - e_cc = 0 - e_cc += einsum(t2, (0, 1, 2, 3), x0, (0, 1, 2, 3), ()) * 2.0 - del x0 - - return e_cc - -def update_amps(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, **kwargs): - # T amplitudes - t1new = np.zeros((nocc, nvir), dtype=types[float]) - t1new += einsum(f.vv, (0, 1), t1, (2, 1), (2, 0)) - t2new = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - t2new += einsum(t2, (0, 1, 2, 3), v.vvvv, (4, 2, 5, 3), (0, 1, 4, 5)) - t2new += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - t2new += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 5, 1, 3), (0, 4, 2, 5)) * 2.0 - t2new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 2), (0, 4, 5, 3)) * -1.0 - t2new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 3), (0, 4, 2, 5)) * -1.0 - x0 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x0 += einsum(v.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) - x0 += einsum(v.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 - t1new += einsum(t2, (0, 1, 2, 3), x0, (1, 3, 2, 4), (0, 4)) * 2.0 - del x0 - x1 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x1 += einsum(t1, (0, 1), v.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) - x2 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x2 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x2 += einsum(v.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x2 += einsum(x1, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x2 += einsum(x1, (0, 1, 2, 3), (0, 2, 1, 3)) * 2.0 - del x1 - t1new += einsum(t2, (0, 1, 2, 3), x2, (4, 1, 0, 2), (4, 3)) * -1.0 - del x2 - x3 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x3 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -0.5 - x3 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x4 = np.zeros((nocc, nvir), dtype=types[float]) - x4 += einsum(f.ov, (0, 1), (0, 1)) - x4 += einsum(t1, (0, 1), x3, (0, 2, 1, 3), (2, 3)) * 2.0 - x5 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x5 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - x5 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t1new += einsum(x4, (0, 1), x5, (0, 2, 3, 1), (2, 3)) - del x4, x5 - x6 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x6 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x6 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - t1new += einsum(t1, (0, 1), x6, (0, 2, 1, 3), (2, 3)) * 2.0 - del x6 - x7 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x7 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x7 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 - x8 = np.zeros((nocc, nocc), dtype=types[float]) - x8 += einsum(f.oo, (0, 1), (0, 1)) * 0.5 - x8 += einsum(t2, (0, 1, 2, 3), x7, (1, 4, 2, 3), (4, 0)) - t1new += einsum(t1, (0, 1), x8, (0, 2), (2, 1)) * -2.0 - del x8 - x9 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x9 += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 5, 1, 2), (0, 4, 3, 5)) - t2new += einsum(x9, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x10 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x10 += einsum(f.oo, (0, 1), t2, (2, 1, 3, 4), (0, 2, 3, 4)) - x11 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x11 += einsum(f.vv, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4)) - x12 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x12 += einsum(t1, (0, 1), v.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) - x13 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x13 += einsum(x10, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x10 - x13 += einsum(x11, (0, 1, 2, 3), (0, 1, 2, 3)) - del x11 - x13 += einsum(x12, (0, 1, 2, 3), (0, 1, 2, 3)) - del x12 - t2new += einsum(x13, (0, 1, 2, 3), (0, 1, 3, 2)) - t2new += einsum(x13, (0, 1, 2, 3), (1, 0, 2, 3)) - del x13 - x14 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x14 += einsum(t1, (0, 1), v.ooov, (2, 0, 3, 4), (2, 3, 1, 4)) - x15 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x15 += einsum(t2, (0, 1, 2, 3), x3, (1, 4, 2, 5), (0, 4, 3, 5)) - x16 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x16 += einsum(t2, (0, 1, 2, 3), x15, (4, 1, 5, 3), (0, 4, 2, 5)) * 2.0 - del x15 - x17 = np.zeros((nvir, nvir), dtype=types[float]) - x17 += einsum(t2, (0, 1, 2, 3), x7, (0, 1, 4, 2), (3, 4)) - del x7 - x18 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x18 += einsum(x17, (0, 1), t2, (2, 3, 1, 4), (2, 3, 4, 0)) * 2.0 - del x17 - x19 = np.zeros((nocc, nocc), dtype=types[float]) - x19 += einsum(t2, (0, 1, 2, 3), x3, (1, 4, 3, 2), (0, 4)) - x20 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x20 += einsum(x19, (0, 1), t2, (2, 1, 3, 4), (2, 0, 4, 3)) * 2.0 - del x19 - x21 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x21 += einsum(x14, (0, 1, 2, 3), (0, 1, 2, 3)) - del x14 - x21 += einsum(x16, (0, 1, 2, 3), (0, 1, 2, 3)) - del x16 - x21 += einsum(x18, (0, 1, 2, 3), (1, 0, 2, 3)) - del x18 - x21 += einsum(x20, (0, 1, 2, 3), (0, 1, 3, 2)) - del x20 - t2new += einsum(x21, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new += einsum(x21, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x21 - x22 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x22 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * 2.0 - x22 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x22 += einsum(t2, (0, 1, 2, 3), x3, (1, 4, 3, 5), (0, 4, 2, 5)) * 4.0 - del x3 - t2new += einsum(t2, (0, 1, 2, 3), x22, (4, 1, 5, 3), (4, 0, 5, 2)) - del x22 - x23 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x23 += einsum(v.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x23 += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 2, 5, 3), (4, 0, 1, 5)) - t2new += einsum(t2, (0, 1, 2, 3), x23, (0, 4, 5, 1), (5, 4, 3, 2)) - del x23 - x24 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x24 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x24 += einsum(x9, (0, 1, 2, 3), (0, 1, 2, 3)) - del x9 - t2new += einsum(t2, (0, 1, 2, 3), x24, (4, 1, 5, 2), (4, 0, 5, 3)) - del x24 - x25 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x25 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x25 += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 2, 1, 5), (0, 4, 3, 5)) - t2new += einsum(t2, (0, 1, 2, 3), x25, (4, 1, 5, 2), (4, 0, 3, 5)) - del x25 - - return {"t1new": t1new, "t2new": t2new} - diff --git a/ebcc/codegen/UCC2.py b/ebcc/codegen/UCC2.py deleted file mode 100644 index f99f4e4e..00000000 --- a/ebcc/codegen/UCC2.py +++ /dev/null @@ -1,2275 +0,0 @@ -# Code generated for ebcc. - -from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, Namespace -from ebcc.precision import types - -def energy(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, **kwargs): - # energy - e_cc = 0 - e_cc += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (0, 3, 1, 2), ()) * -1.0 - e_cc += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 1, 3), ()) - e_cc += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (0, 2, 1, 3), ()) - x0 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x0 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x0 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x1 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x1 += einsum(f.aa.ov, (0, 1), (0, 1)) - x1 += einsum(t1.bb, (0, 1), v.aabb.ovov, (2, 3, 0, 1), (2, 3)) - x1 += einsum(t1.aa, (0, 1), x0, (0, 2, 1, 3), (2, 3)) * -0.5 - del x0 - e_cc += einsum(t1.aa, (0, 1), x1, (0, 1), ()) - del x1 - x2 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x2 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x2 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x3 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x3 += einsum(f.bb.ov, (0, 1), (0, 1)) - x3 += einsum(t1.bb, (0, 1), x2, (0, 2, 1, 3), (2, 3)) * -0.5 - del x2 - e_cc += einsum(t1.bb, (0, 1), x3, (0, 1), ()) - del x3 - - return e_cc - -def update_amps(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, **kwargs): - t1new = Namespace() - t2new = Namespace() - - # T amplitudes - t1new_aa = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - t1new_aa += einsum(f.aa.ov, (0, 1), (0, 1)) - t1new_bb = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - t1new_bb += einsum(f.bb.ov, (0, 1), (0, 1)) - t2new_abab = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - t2new_abab += einsum(f.aa.vv, (0, 1), t2.abab, (2, 3, 1, 4), (2, 3, 0, 4)) - t2new_abab += einsum(v.aabb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - t2new_abab += einsum(f.bb.vv, (0, 1), t2.abab, (2, 3, 4, 1), (2, 3, 4, 0)) - x0 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x0 += einsum(t1.bb, (0, 1), v.aabb.ovov, (2, 3, 0, 1), (2, 3)) - t1new_aa += einsum(x0, (0, 1), (0, 1)) - x1 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x1 += einsum(t1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) - x2 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x2 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) - x2 += einsum(x1, (0, 1, 2, 3), (0, 1, 2, 3)) - t1new_aa += einsum(t2.aaaa, (0, 1, 2, 3), x2, (4, 0, 1, 3), (4, 2)) * 2.0 - del x2 - x3 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x3 += einsum(t1.aa, (0, 1), v.aabb.ovov, (2, 1, 3, 4), (3, 4, 0, 2)) - x4 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x4 += einsum(v.aabb.ooov, (0, 1, 2, 3), (2, 3, 0, 1)) - x4 += einsum(x3, (0, 1, 2, 3), (0, 1, 3, 2)) - t1new_aa += einsum(t2.abab, (0, 1, 2, 3), x4, (1, 3, 0, 4), (4, 2)) * -1.0 - del x4 - x5 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x5 += einsum(t2.abab, (0, 1, 2, 3), (1, 3, 0, 2)) - x5 += einsum(t1.aa, (0, 1), t1.bb, (2, 3), (2, 3, 0, 1)) - t1new_aa += einsum(v.aabb.vvov, (0, 1, 2, 3), x5, (2, 3, 4, 1), (4, 0)) - t1new_bb += einsum(v.aabb.ovvv, (0, 1, 2, 3), x5, (4, 3, 0, 1), (4, 2)) - del x5 - x6 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x6 += einsum(t2.aaaa, (0, 1, 2, 3), (0, 1, 2, 3)) - x6 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 1, 3)) * 0.5 - t1new_aa += einsum(v.aaaa.ovvv, (0, 1, 2, 3), x6, (0, 4, 3, 1), (4, 2)) * -2.0 - del x6 - x7 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x7 += einsum(t1.aa, (0, 1), v.aabb.ovov, (0, 1, 2, 3), (2, 3)) - t1new_bb += einsum(x7, (0, 1), (0, 1)) - x8 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x8 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x8 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x9 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x9 += einsum(t1.bb, (0, 1), x8, (0, 2, 1, 3), (2, 3)) - del x8 - x10 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x10 += einsum(f.bb.ov, (0, 1), (0, 1)) - x10 += einsum(x7, (0, 1), (0, 1)) - del x7 - x10 += einsum(x9, (0, 1), (0, 1)) * -1.0 - del x9 - t1new_aa += einsum(x10, (0, 1), t2.abab, (2, 0, 3, 1), (2, 3)) - t1new_bb += einsum(x10, (0, 1), t2.bbbb, (2, 0, 3, 1), (2, 3)) * 2.0 - x11 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x11 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x11 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x12 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x12 += einsum(t1.aa, (0, 1), x11, (0, 2, 1, 3), (2, 3)) - del x11 - x13 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x13 += einsum(f.aa.ov, (0, 1), (0, 1)) - x13 += einsum(x0, (0, 1), (0, 1)) - del x0 - x13 += einsum(x12, (0, 1), (0, 1)) * -1.0 - del x12 - t1new_aa += einsum(x13, (0, 1), t2.aaaa, (2, 0, 3, 1), (2, 3)) * 2.0 - t1new_bb += einsum(x13, (0, 1), t2.abab, (0, 2, 1, 3), (2, 3)) - x14 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x14 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) - x14 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - t1new_aa += einsum(t1.aa, (0, 1), x14, (0, 2, 1, 3), (2, 3)) * -1.0 - del x14 - x15 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x15 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x15 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - x16 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x16 += einsum(f.aa.oo, (0, 1), (0, 1)) - x16 += einsum(t1.bb, (0, 1), v.aabb.ooov, (2, 3, 0, 1), (2, 3)) - x16 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 1, 3), (4, 0)) - x16 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 2, 1, 3), (4, 0)) * 2.0 - x16 += einsum(t1.aa, (0, 1), x15, (0, 2, 3, 1), (3, 2)) * -1.0 - del x15 - x16 += einsum(t1.aa, (0, 1), x13, (2, 1), (2, 0)) - del x13 - t1new_aa += einsum(t1.aa, (0, 1), x16, (0, 2), (2, 1)) * -1.0 - del x16 - x17 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x17 += einsum(f.aa.vv, (0, 1), (0, 1)) - x17 += einsum(t1.aa, (0, 1), v.aaaa.ovvv, (0, 1, 2, 3), (2, 3)) - t1new_aa += einsum(t1.aa, (0, 1), x17, (1, 2), (0, 2)) - del x17 - x18 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x18 += einsum(t1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) - x19 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x19 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) - x19 += einsum(x18, (0, 1, 2, 3), (0, 1, 2, 3)) - t1new_bb += einsum(t2.bbbb, (0, 1, 2, 3), x19, (4, 0, 1, 3), (4, 2)) * 2.0 - del x19 - x20 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x20 += einsum(v.aabb.ovoo, (0, 1, 2, 3), (2, 3, 0, 1)) - x20 += einsum(t1.bb, (0, 1), v.aabb.ovov, (2, 3, 4, 1), (4, 0, 2, 3)) - t1new_bb += einsum(t2.abab, (0, 1, 2, 3), x20, (1, 4, 0, 2), (4, 3)) * -1.0 - del x20 - x21 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x21 += einsum(t2.bbbb, (0, 1, 2, 3), (0, 1, 2, 3)) - x21 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3)) * 0.5 - t1new_bb += einsum(v.bbbb.ovvv, (0, 1, 2, 3), x21, (0, 4, 3, 1), (4, 2)) * -2.0 - del x21 - x22 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x22 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) - x22 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - t1new_bb += einsum(t1.bb, (0, 1), x22, (0, 2, 1, 3), (2, 3)) * -1.0 - del x22 - x23 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x23 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x23 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) - x24 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x24 += einsum(f.bb.oo, (0, 1), (0, 1)) * 0.5 - x24 += einsum(t1.aa, (0, 1), v.aabb.ovoo, (0, 1, 2, 3), (2, 3)) * 0.5 - x24 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 3, 1, 2), (4, 0)) * -1.0 - x24 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 3), (4, 1)) * 0.5 - x24 += einsum(t1.bb, (0, 1), x23, (2, 3, 0, 1), (3, 2)) * -0.5 - del x23 - x24 += einsum(t1.bb, (0, 1), x10, (2, 1), (2, 0)) * 0.5 - del x10 - t1new_bb += einsum(t1.bb, (0, 1), x24, (0, 2), (2, 1)) * -2.0 - del x24 - x25 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x25 += einsum(f.bb.vv, (0, 1), (0, 1)) - x25 += einsum(t1.bb, (0, 1), v.bbbb.ovvv, (0, 1, 2, 3), (2, 3)) - t1new_bb += einsum(t1.bb, (0, 1), x25, (1, 2), (0, 2)) - del x25 - x26 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x26 += einsum(t1.aa, (0, 1), v.aaaa.vvvv, (2, 3, 4, 1), (0, 2, 3, 4)) - x27 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x27 += einsum(t1.aa, (0, 1), x26, (2, 3, 1, 4), (0, 2, 3, 4)) - del x26 - x28 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x28 += einsum(f.aa.ov, (0, 1), t2.aaaa, (2, 3, 4, 1), (0, 2, 3, 4)) - x29 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x29 += einsum(t1.aa, (0, 1), x1, (2, 3, 4, 1), (2, 0, 4, 3)) - del x1 - x30 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x30 += einsum(v.aaaa.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x30 += einsum(x29, (0, 1, 2, 3), (3, 1, 2, 0)) - del x29 - x31 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x31 += einsum(t1.aa, (0, 1), x30, (0, 2, 3, 4), (2, 3, 4, 1)) - del x30 - x32 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x32 += einsum(x28, (0, 1, 2, 3), (0, 2, 1, 3)) * 2.0 - del x28 - x32 += einsum(x31, (0, 1, 2, 3), (1, 0, 2, 3)) - del x31 - x33 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x33 += einsum(t1.aa, (0, 1), x32, (0, 2, 3, 4), (2, 3, 1, 4)) - del x32 - x34 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x34 += einsum(x27, (0, 1, 2, 3), (0, 1, 2, 3)) - del x27 - x34 += einsum(x33, (0, 1, 2, 3), (1, 0, 2, 3)) - del x33 - t2new_aaaa = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - t2new_aaaa += einsum(x34, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new_aaaa += einsum(x34, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x34 - x35 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x35 += einsum(t1.aa, (0, 1), v.aaaa.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) - x36 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x36 += einsum(t1.aa, (0, 1), v.aaaa.ooov, (2, 3, 4, 1), (0, 2, 3, 4)) - x37 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x37 += einsum(t1.aa, (0, 1), x36, (2, 3, 4, 0), (2, 4, 3, 1)) - del x36 - x38 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x38 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x38 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x38 += einsum(x35, (0, 1, 2, 3), (0, 1, 2, 3)) - x39 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x39 += einsum(t1.aa, (0, 1), x38, (2, 3, 1, 4), (0, 2, 3, 4)) - del x38 - x40 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x40 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x40 += einsum(x37, (0, 1, 2, 3), (0, 2, 1, 3)) - del x37 - x40 += einsum(x39, (0, 1, 2, 3), (0, 2, 1, 3)) - del x39 - x41 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x41 += einsum(t1.aa, (0, 1), x40, (2, 0, 3, 4), (2, 3, 1, 4)) - del x40 - x42 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x42 += einsum(x35, (0, 1, 2, 3), (0, 1, 2, 3)) - del x35 - x42 += einsum(x41, (0, 1, 2, 3), (0, 1, 2, 3)) - del x41 - t2new_aaaa += einsum(x42, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_aaaa += einsum(x42, (0, 1, 2, 3), (0, 1, 3, 2)) - t2new_aaaa += einsum(x42, (0, 1, 2, 3), (1, 0, 2, 3)) - t2new_aaaa += einsum(x42, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x42 - x43 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x43 += einsum(f.aa.vv, (0, 1), t2.aaaa, (2, 3, 4, 1), (2, 3, 0, 4)) - x44 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x44 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x44 += einsum(x43, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 - del x43 - t2new_aaaa += einsum(x44, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new_aaaa += einsum(x44, (0, 1, 2, 3), (0, 1, 2, 3)) - del x44 - x45 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x45 += einsum(f.aa.ov, (0, 1), t1.aa, (2, 1), (0, 2)) - x46 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x46 += einsum(f.aa.oo, (0, 1), (0, 1)) - x46 += einsum(x45, (0, 1), (0, 1)) - del x45 - t2new_abab += einsum(x46, (0, 1), t2.abab, (0, 2, 3, 4), (1, 2, 3, 4)) * -1.0 - x47 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x47 += einsum(x46, (0, 1), t2.aaaa, (2, 0, 3, 4), (2, 1, 3, 4)) * -2.0 - del x46 - t2new_aaaa += einsum(x47, (0, 1, 2, 3), (1, 0, 3, 2)) - t2new_aaaa += einsum(x47, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x47 - x48 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x48 += einsum(t1.aa, (0, 1), v.aabb.vvov, (2, 1, 3, 4), (3, 4, 0, 2)) - t2new_abab += einsum(x48, (0, 1, 2, 3), (2, 0, 3, 1)) - x49 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x49 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) - x49 += einsum(x48, (0, 1, 2, 3), (0, 1, 2, 3)) - del x48 - x50 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x50 += einsum(v.aabb.ooov, (0, 1, 2, 3), (2, 3, 0, 1)) - x50 += einsum(x3, (0, 1, 2, 3), (0, 1, 2, 3)) - x51 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x51 += einsum(v.aabb.oooo, (0, 1, 2, 3), (2, 3, 0, 1)) - x51 += einsum(t1.aa, (0, 1), v.aabb.ovoo, (2, 1, 3, 4), (3, 4, 2, 0)) - x51 += einsum(t1.bb, (0, 1), x50, (2, 1, 3, 4), (0, 2, 4, 3)) - del x50 - x52 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x52 += einsum(v.aabb.ovoo, (0, 1, 2, 3), (2, 3, 0, 1)) - x52 += einsum(f.bb.ov, (0, 1), t2.abab, (2, 3, 4, 1), (0, 3, 2, 4)) - x52 += einsum(t1.aa, (0, 1), v.aabb.vvoo, (2, 1, 3, 4), (3, 4, 0, 2)) - x52 += einsum(t1.bb, (0, 1), x49, (2, 1, 3, 4), (2, 0, 3, 4)) - del x49 - x52 += einsum(t1.aa, (0, 1), x51, (2, 3, 0, 4), (3, 2, 4, 1)) * -1.0 - del x51 - t2new_abab += einsum(t1.bb, (0, 1), x52, (0, 2, 3, 4), (3, 2, 4, 1)) * -1.0 - del x52 - x53 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x53 += einsum(v.aabb.ovvv, (0, 1, 2, 3), (2, 3, 0, 1)) - x53 += einsum(t1.aa, (0, 1), v.aabb.vvvv, (2, 1, 3, 4), (3, 4, 0, 2)) - t2new_abab += einsum(t1.bb, (0, 1), x53, (1, 2, 3, 4), (3, 0, 4, 2)) - del x53 - x54 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x54 += einsum(v.aabb.oovv, (0, 1, 2, 3), (2, 3, 0, 1)) - x54 += einsum(t1.aa, (0, 1), v.aabb.ovvv, (2, 1, 3, 4), (3, 4, 0, 2)) - x55 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x55 += einsum(v.aabb.ooov, (0, 1, 2, 3), (2, 3, 0, 1)) - x55 += einsum(f.aa.ov, (0, 1), t2.abab, (2, 3, 1, 4), (3, 4, 0, 2)) - x55 += einsum(x3, (0, 1, 2, 3), (0, 1, 3, 2)) - del x3 - x55 += einsum(t1.bb, (0, 1), x54, (1, 2, 3, 4), (0, 2, 4, 3)) - del x54 - t2new_abab += einsum(t1.aa, (0, 1), x55, (2, 3, 0, 4), (4, 2, 1, 3)) * -1.0 - del x55 - x56 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x56 += einsum(f.bb.ov, (0, 1), t1.bb, (2, 1), (0, 2)) - x57 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x57 += einsum(f.bb.oo, (0, 1), (0, 1)) - x57 += einsum(x56, (0, 1), (0, 1)) - del x56 - t2new_abab += einsum(x57, (0, 1), t2.abab, (2, 0, 3, 4), (2, 1, 3, 4)) * -1.0 - x58 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x58 += einsum(t1.bb, (0, 1), v.bbbb.vvvv, (2, 3, 4, 1), (0, 2, 3, 4)) - x59 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x59 += einsum(t1.bb, (0, 1), x58, (2, 3, 1, 4), (0, 2, 3, 4)) - del x58 - x60 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x60 += einsum(f.bb.ov, (0, 1), t2.bbbb, (2, 3, 4, 1), (0, 2, 3, 4)) - x61 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x61 += einsum(t1.bb, (0, 1), x18, (2, 3, 4, 1), (2, 0, 4, 3)) - del x18 - x62 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x62 += einsum(v.bbbb.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x62 += einsum(x61, (0, 1, 2, 3), (3, 1, 2, 0)) - del x61 - x63 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x63 += einsum(t1.bb, (0, 1), x62, (0, 2, 3, 4), (2, 3, 4, 1)) - del x62 - x64 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x64 += einsum(x60, (0, 1, 2, 3), (0, 2, 1, 3)) * 2.0 - del x60 - x64 += einsum(x63, (0, 1, 2, 3), (1, 0, 2, 3)) - del x63 - x65 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x65 += einsum(t1.bb, (0, 1), x64, (0, 2, 3, 4), (2, 3, 1, 4)) - del x64 - x66 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x66 += einsum(x59, (0, 1, 2, 3), (0, 1, 2, 3)) - del x59 - x66 += einsum(x65, (0, 1, 2, 3), (1, 0, 2, 3)) - del x65 - t2new_bbbb = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - t2new_bbbb += einsum(x66, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new_bbbb += einsum(x66, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x66 - x67 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x67 += einsum(t1.bb, (0, 1), v.bbbb.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) - x68 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x68 += einsum(t1.bb, (0, 1), v.bbbb.ooov, (2, 3, 4, 1), (0, 2, 3, 4)) - x69 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x69 += einsum(t1.bb, (0, 1), x68, (2, 3, 4, 0), (2, 4, 3, 1)) - del x68 - x70 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x70 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x70 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x70 += einsum(x67, (0, 1, 2, 3), (0, 1, 2, 3)) - x71 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x71 += einsum(t1.bb, (0, 1), x70, (2, 3, 1, 4), (0, 2, 3, 4)) - del x70 - x72 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x72 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x72 += einsum(x69, (0, 1, 2, 3), (0, 2, 1, 3)) - del x69 - x72 += einsum(x71, (0, 1, 2, 3), (0, 2, 1, 3)) - del x71 - x73 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x73 += einsum(t1.bb, (0, 1), x72, (2, 0, 3, 4), (2, 3, 1, 4)) - del x72 - x74 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x74 += einsum(x67, (0, 1, 2, 3), (0, 1, 2, 3)) - del x67 - x74 += einsum(x73, (0, 1, 2, 3), (0, 1, 2, 3)) - del x73 - t2new_bbbb += einsum(x74, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_bbbb += einsum(x74, (0, 1, 2, 3), (0, 1, 3, 2)) - t2new_bbbb += einsum(x74, (0, 1, 2, 3), (1, 0, 2, 3)) - t2new_bbbb += einsum(x74, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x74 - x75 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x75 += einsum(x57, (0, 1), t2.bbbb, (2, 0, 3, 4), (2, 1, 3, 4)) * -2.0 - del x57 - t2new_bbbb += einsum(x75, (0, 1, 2, 3), (1, 0, 3, 2)) - t2new_bbbb += einsum(x75, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x75 - x76 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x76 += einsum(f.bb.vv, (0, 1), t2.bbbb, (2, 3, 4, 1), (2, 3, 0, 4)) - x77 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x77 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x77 += einsum(x76, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 - del x76 - t2new_bbbb += einsum(x77, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new_bbbb += einsum(x77, (0, 1, 2, 3), (0, 1, 2, 3)) - del x77 - - t1new.aa = t1new_aa - t1new.bb = t1new_bb - t2new.aaaa = t2new_aaaa - t2new.abab = t2new_abab - t2new.bbbb = t2new_bbbb - - return {"t1new": t1new, "t2new": t2new} - -def update_lams(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, l1=None, l2=None, **kwargs): - l1new = Namespace() - l2new = Namespace() - - # L amplitudes - l1new_aa = np.zeros((nvir[0], nocc[0]), dtype=types[float]) - l1new_aa += einsum(f.aa.ov, (0, 1), (1, 0)) - l1new_bb = np.zeros((nvir[1], nocc[1]), dtype=types[float]) - l1new_bb += einsum(f.bb.ov, (0, 1), (1, 0)) - l2new_aaaa = np.zeros((nvir[0], nvir[0], nocc[0], nocc[0]), dtype=types[float]) - l2new_aaaa += einsum(l2.aaaa, (0, 1, 2, 3), v.aaaa.vvvv, (4, 0, 5, 1), (4, 5, 2, 3)) * 2.0 - l2new_abab = np.zeros((nvir[0], nvir[1], nocc[0], nocc[1]), dtype=types[float]) - l2new_abab += einsum(v.aabb.ovov, (0, 1, 2, 3), (1, 3, 0, 2)) - l2new_abab += einsum(l1.aa, (0, 1), v.aabb.vvov, (2, 0, 3, 4), (2, 4, 1, 3)) - l2new_abab += einsum(l2.abab, (0, 1, 2, 3), v.aabb.vvvv, (4, 0, 5, 1), (4, 5, 2, 3)) - l2new_abab += einsum(l1.bb, (0, 1), v.aabb.ovvv, (2, 3, 4, 0), (3, 4, 2, 1)) - l2new_bbbb = np.zeros((nvir[1], nvir[1], nocc[1], nocc[1]), dtype=types[float]) - l2new_bbbb += einsum(l2.bbbb, (0, 1, 2, 3), v.bbbb.vvvv, (4, 0, 5, 1), (4, 5, 2, 3)) * 2.0 - x0 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x0 += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 5, 0, 1), (2, 3, 4, 5)) - l1new_aa += einsum(v.aaaa.ooov, (0, 1, 2, 3), x0, (4, 1, 2, 0), (3, 4)) * 2.0 - x1 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x1 += einsum(t1.aa, (0, 1), l2.aaaa, (2, 1, 3, 4), (3, 4, 0, 2)) - l1new_aa += einsum(v.aaaa.oovv, (0, 1, 2, 3), x1, (4, 0, 1, 3), (2, 4)) * -2.0 - l2new_abab += einsum(v.aabb.ooov, (0, 1, 2, 3), x1, (4, 0, 1, 5), (5, 3, 4, 2)) * -2.0 - x2 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x2 += einsum(t1.aa, (0, 1), x1, (2, 3, 4, 1), (2, 3, 0, 4)) - l1new_aa += einsum(v.aaaa.ooov, (0, 1, 2, 3), x2, (4, 1, 0, 2), (3, 4)) * -2.0 - l2new_aaaa += einsum(v.aaaa.ovov, (0, 1, 2, 3), x2, (4, 5, 0, 2), (3, 1, 5, 4)) * 2.0 - x3 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x3 += einsum(t1.bb, (0, 1), l2.abab, (2, 1, 3, 4), (4, 0, 3, 2)) - l1new_aa += einsum(v.aabb.vvoo, (0, 1, 2, 3), x3, (2, 3, 4, 1), (0, 4)) * -1.0 - l2new_abab += einsum(v.aabb.vvov, (0, 1, 2, 3), x3, (4, 2, 5, 1), (0, 3, 5, 4)) * -1.0 - x4 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x4 += einsum(t1.bb, (0, 1), v.aabb.vvvv, (2, 3, 4, 1), (0, 4, 2, 3)) - l1new_aa += einsum(l2.abab, (0, 1, 2, 3), x4, (3, 1, 4, 0), (4, 2)) - del x4 - x5 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x5 += einsum(t1.aa, (0, 1), v.aaaa.vvvv, (2, 3, 4, 1), (0, 2, 3, 4)) - l1new_aa += einsum(l2.aaaa, (0, 1, 2, 3), x5, (3, 4, 0, 1), (4, 2)) * 2.0 - del x5 - x6 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x6 += einsum(t1.aa, (0, 1), v.aaaa.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) - l1new_aa += einsum(x1, (0, 1, 2, 3), x6, (1, 2, 4, 3), (4, 0)) * 2.0 - x7 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x7 += einsum(t1.aa, (0, 1), v.aabb.ovov, (2, 1, 3, 4), (3, 4, 0, 2)) - l2new_abab += einsum(x1, (0, 1, 2, 3), x7, (4, 5, 1, 2), (3, 5, 0, 4)) * -2.0 - x8 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x8 += einsum(t1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) - x9 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x9 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x9 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - x9 += einsum(x8, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x9 += einsum(x8, (0, 1, 2, 3), (2, 0, 1, 3)) - x10 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x10 += einsum(v.aabb.ooov, (0, 1, 2, 3), (2, 3, 0, 1)) - x10 += einsum(x7, (0, 1, 2, 3), (0, 1, 3, 2)) - x11 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x11 += einsum(t1.bb, (0, 1), v.aabb.ovov, (2, 3, 4, 1), (0, 4, 2, 3)) - x12 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x12 += einsum(v.aabb.ovoo, (0, 1, 2, 3), (2, 3, 0, 1)) - x12 += einsum(x11, (0, 1, 2, 3), (1, 0, 2, 3)) - x13 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x13 += einsum(t1.bb, (0, 1), v.aabb.ovov, (2, 3, 0, 1), (2, 3)) - x14 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x14 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x14 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x15 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x15 += einsum(t1.aa, (0, 1), x14, (0, 2, 1, 3), (2, 3)) - x16 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x16 += einsum(f.aa.ov, (0, 1), (0, 1)) - x16 += einsum(x13, (0, 1), (0, 1)) - x16 += einsum(x15, (0, 1), (0, 1)) * -1.0 - l2new_abab += einsum(l1.bb, (0, 1), x16, (2, 3), (3, 0, 2, 1)) - x17 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x17 += einsum(t1.aa, (0, 1), v.aabb.ovvv, (2, 1, 3, 4), (3, 4, 0, 2)) - x18 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x18 += einsum(v.aabb.oovv, (0, 1, 2, 3), (2, 3, 0, 1)) - x18 += einsum(x17, (0, 1, 2, 3), (1, 0, 3, 2)) - x19 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x19 += einsum(t1.aa, (0, 1), v.aabb.ovoo, (2, 1, 3, 4), (3, 4, 0, 2)) - x20 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x20 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 5, 3), (1, 5, 0, 4)) - x21 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x21 += einsum(v.aabb.ooov, (0, 1, 2, 3), (2, 3, 0, 1)) - x21 += einsum(x7, (0, 1, 2, 3), (0, 1, 2, 3)) - l2new_abab += einsum(x21, (0, 1, 2, 3), x3, (4, 0, 2, 5), (5, 1, 3, 4)) - l2new_abab += einsum(l1.aa, (0, 1), x21, (2, 3, 1, 4), (0, 3, 4, 2)) * -1.0 - x22 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x22 += einsum(t1.bb, (0, 1), x21, (2, 1, 3, 4), (0, 2, 3, 4)) - x23 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x23 += einsum(v.aabb.oooo, (0, 1, 2, 3), (2, 3, 0, 1)) - x23 += einsum(x19, (0, 1, 2, 3), (1, 0, 3, 2)) - x23 += einsum(x20, (0, 1, 2, 3), (1, 0, 3, 2)) - del x20 - x23 += einsum(x22, (0, 1, 2, 3), (1, 0, 3, 2)) - del x22 - x24 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x24 += einsum(v.aabb.ooov, (0, 1, 2, 3), (2, 3, 0, 1)) - x24 += einsum(x7, (0, 1, 2, 3), (0, 1, 2, 3)) - x24 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovvv, (4, 2, 5, 3), (1, 5, 0, 4)) - x24 += einsum(t2.abab, (0, 1, 2, 3), x9, (0, 4, 5, 2), (1, 3, 4, 5)) * -1.0 - del x9 - x24 += einsum(t2.bbbb, (0, 1, 2, 3), x10, (1, 3, 4, 5), (0, 2, 5, 4)) * 2.0 - x24 += einsum(t2.abab, (0, 1, 2, 3), x12, (1, 4, 5, 2), (4, 3, 0, 5)) * -1.0 - x24 += einsum(x16, (0, 1), t2.abab, (2, 3, 1, 4), (3, 4, 2, 0)) - x24 += einsum(t1.bb, (0, 1), x18, (1, 2, 3, 4), (0, 2, 4, 3)) - del x18 - x24 += einsum(t1.bb, (0, 1), x23, (0, 2, 3, 4), (2, 1, 4, 3)) * -1.0 - l1new_aa += einsum(l2.abab, (0, 1, 2, 3), x24, (3, 1, 2, 4), (0, 4)) * -1.0 - del x24 - x25 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x25 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x25 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) - x25 += einsum(x8, (0, 1, 2, 3), (0, 1, 2, 3)) - x25 += einsum(x8, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x26 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x26 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x26 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x26 += einsum(x6, (0, 1, 2, 3), (0, 1, 2, 3)) - del x6 - x27 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x27 += einsum(t1.aa, (0, 1), x8, (2, 3, 4, 1), (0, 2, 3, 4)) - x28 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x28 += einsum(t1.aa, (0, 1), v.aaaa.ooov, (2, 3, 4, 1), (0, 2, 3, 4)) - x29 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x29 += einsum(v.aaaa.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x29 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 3, 5, 2), (4, 0, 5, 1)) * -1.0 - x29 += einsum(x27, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - x29 += einsum(x28, (0, 1, 2, 3), (2, 0, 3, 1)) * -1.0 - x29 += einsum(x28, (0, 1, 2, 3), (3, 0, 2, 1)) - x30 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x30 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x30 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovvv, (4, 2, 5, 3), (4, 0, 1, 5)) * -0.5 - x30 += einsum(t2.aaaa, (0, 1, 2, 3), x25, (4, 5, 1, 3), (5, 0, 4, 2)) * -1.0 - del x25 - x30 += einsum(t2.abab, (0, 1, 2, 3), x21, (1, 3, 4, 5), (5, 0, 4, 2)) * 0.5 - del x21 - x30 += einsum(x16, (0, 1), t2.aaaa, (2, 3, 4, 1), (0, 2, 3, 4)) * 0.5 - x30 += einsum(t1.aa, (0, 1), x26, (2, 3, 1, 4), (3, 2, 0, 4)) * 0.5 - del x26 - x30 += einsum(t1.aa, (0, 1), x29, (0, 2, 3, 4), (3, 4, 2, 1)) * 0.5 - del x29 - l1new_aa += einsum(l2.aaaa, (0, 1, 2, 3), x30, (4, 3, 2, 1), (0, 4)) * -4.0 - del x30 - x31 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x31 += einsum(l2.abab, (0, 1, 2, 3), (3, 1, 2, 0)) - x31 += einsum(l2.abab, (0, 1, 2, 3), t2.bbbb, (4, 3, 5, 1), (4, 5, 2, 0)) * 2.0 - x31 += einsum(t1.bb, (0, 1), x3, (0, 2, 3, 4), (2, 1, 3, 4)) * -1.0 - x31 += einsum(l2.aaaa, (0, 1, 2, 3), t2.abab, (3, 4, 1, 5), (4, 5, 2, 0)) * 2.0 - l1new_aa += einsum(v.aabb.vvov, (0, 1, 2, 3), x31, (2, 3, 4, 1), (0, 4)) - del x31 - x32 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x32 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x32 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) - x33 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x33 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 5, 1), (2, 4, 0, 5)) - x33 += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 3, 5, 1), (2, 4, 0, 5)) * 4.0 - l1new_aa += einsum(x32, (0, 1, 2, 3), x33, (4, 0, 3, 2), (1, 4)) - del x33 - x34 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x34 += einsum(t1.aa, (0, 1), l2.abab, (1, 2, 3, 4), (4, 2, 3, 0)) - l1new_bb += einsum(v.aabb.oovv, (0, 1, 2, 3), x34, (4, 3, 0, 1), (2, 4)) * -1.0 - l2new_abab += einsum(v.aabb.ovvv, (0, 1, 2, 3), x34, (4, 3, 5, 0), (1, 2, 5, 4)) * -1.0 - l2new_abab += einsum(x16, (0, 1), x34, (2, 3, 4, 0), (1, 3, 4, 2)) * -1.0 - x35 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x35 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 5, 0, 1), (3, 5, 2, 4)) - x36 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x36 += einsum(t1.bb, (0, 1), x34, (2, 1, 3, 4), (2, 0, 3, 4)) - l2new_abab += einsum(v.aabb.ovov, (0, 1, 2, 3), x36, (4, 2, 5, 0), (1, 3, 5, 4)) - x37 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x37 += einsum(x35, (0, 1, 2, 3), (0, 1, 2, 3)) - x37 += einsum(x36, (0, 1, 2, 3), (0, 1, 2, 3)) - x38 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x38 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 0, 1), (2, 4)) - x39 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x39 += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 3, 0, 1), (2, 4)) - x40 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x40 += einsum(x38, (0, 1), (0, 1)) - x40 += einsum(x39, (0, 1), (0, 1)) * 2.0 - x41 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x41 += einsum(l1.aa, (0, 1), t2.abab, (2, 3, 0, 4), (3, 4, 1, 2)) - x41 += einsum(x34, (0, 1, 2, 3), (0, 1, 2, 3)) - x41 += einsum(t2.bbbb, (0, 1, 2, 3), x34, (1, 3, 4, 5), (0, 2, 4, 5)) * 2.0 - x41 += einsum(t2.abab, (0, 1, 2, 3), x3, (1, 4, 5, 2), (4, 3, 5, 0)) * -1.0 - x41 += einsum(t2.abab, (0, 1, 2, 3), x1, (4, 0, 5, 2), (1, 3, 4, 5)) * -2.0 - x41 += einsum(t1.bb, (0, 1), x37, (0, 2, 3, 4), (2, 1, 3, 4)) * -1.0 - x41 += einsum(t1.bb, (0, 1), x40, (2, 3), (0, 1, 2, 3)) - l1new_aa += einsum(v.aabb.ovov, (0, 1, 2, 3), x41, (2, 3, 4, 0), (1, 4)) * -1.0 - del x41 - x42 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x42 += einsum(l2.aaaa, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 - x42 += einsum(t1.aa, (0, 1), x1, (2, 0, 3, 4), (2, 3, 4, 1)) - l1new_aa += einsum(v.aaaa.ovvv, (0, 1, 2, 3), x42, (4, 0, 3, 1), (2, 4)) * -2.0 - del x42 - x43 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x43 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 0, 5), (1, 5, 2, 4)) - x43 += einsum(t1.bb, (0, 1), x34, (0, 2, 3, 4), (1, 2, 3, 4)) - l1new_aa += einsum(v.aabb.ovvv, (0, 1, 2, 3), x43, (3, 2, 4, 0), (1, 4)) * -1.0 - del x43 - x44 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x44 += einsum(t2.abab, (0, 1, 2, 3), x34, (1, 3, 4, 5), (4, 5, 0, 2)) - x45 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x45 += einsum(t2.aaaa, (0, 1, 2, 3), x1, (4, 1, 5, 3), (4, 5, 0, 2)) * -1.0 - x46 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x46 += einsum(x0, (0, 1, 2, 3), (1, 0, 3, 2)) - del x0 - x46 += einsum(x2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x2 - x47 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x47 += einsum(x1, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x47 += einsum(x44, (0, 1, 2, 3), (2, 0, 1, 3)) * 0.5 - x47 += einsum(x45, (0, 1, 2, 3), (2, 0, 1, 3)) * 2.0 - x47 += einsum(t1.aa, (0, 1), x46, (0, 2, 3, 4), (4, 2, 3, 1)) - del x46 - x47 += einsum(t1.aa, (0, 1), x40, (2, 3), (0, 2, 3, 1)) * 0.5 - l1new_aa += einsum(v.aaaa.ovov, (0, 1, 2, 3), x47, (2, 4, 0, 3), (1, 4)) * -2.0 - del x47 - x48 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x48 += einsum(l1.aa, (0, 1), t1.aa, (1, 2), (0, 2)) - x49 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x49 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 4, 1), (0, 4)) - x50 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x50 += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (2, 3, 4, 1), (0, 4)) - x51 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x51 += einsum(x48, (0, 1), (0, 1)) - x51 += einsum(x49, (0, 1), (0, 1)) - x51 += einsum(x50, (0, 1), (0, 1)) * 2.0 - x52 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x52 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) - x52 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - l1new_aa += einsum(x51, (0, 1), x52, (2, 1, 0, 3), (3, 2)) * -1.0 - del x51, x52 - x53 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x53 += einsum(l1.aa, (0, 1), t2.aaaa, (2, 3, 4, 0), (1, 2, 3, 4)) - x53 += einsum(x44, (0, 1, 2, 3), (0, 2, 1, 3)) * 0.5 - del x44 - x53 += einsum(x45, (0, 1, 2, 3), (0, 2, 1, 3)) * 2.0 - del x45 - x53 += einsum(t1.aa, (0, 1), x40, (2, 3), (2, 0, 3, 1)) * 0.5 - del x40 - l1new_aa += einsum(v.aaaa.ovov, (0, 1, 2, 3), x53, (4, 2, 0, 1), (3, 4)) * 2.0 - del x53 - x54 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x54 += einsum(l1.bb, (0, 1), t2.abab, (2, 1, 3, 0), (2, 3)) - x55 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x55 += einsum(l1.aa, (0, 1), t2.aaaa, (2, 1, 3, 0), (2, 3)) - x56 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x56 += einsum(t2.abab, (0, 1, 2, 3), x34, (1, 3, 0, 4), (4, 2)) - x57 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x57 += einsum(t2.aaaa, (0, 1, 2, 3), x1, (0, 1, 4, 3), (4, 2)) * -1.0 - x58 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x58 += einsum(l1.aa, (0, 1), t1.aa, (2, 0), (1, 2)) - l2new_abab += einsum(x58, (0, 1), v.aabb.ovov, (1, 2, 3, 4), (2, 4, 0, 3)) * -1.0 - x59 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x59 += einsum(x58, (0, 1), (0, 1)) * 0.5 - x59 += einsum(x38, (0, 1), (0, 1)) * 0.5 - x59 += einsum(x39, (0, 1), (0, 1)) - l1new_aa += einsum(f.aa.ov, (0, 1), x59, (2, 0), (1, 2)) * -2.0 - x60 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x60 += einsum(t1.aa, (0, 1), x59, (0, 2), (2, 1)) * 2.0 - del x59 - x61 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x61 += einsum(t1.aa, (0, 1), (0, 1)) * -1.0 - x61 += einsum(x54, (0, 1), (0, 1)) * -1.0 - x61 += einsum(x55, (0, 1), (0, 1)) * -2.0 - x61 += einsum(x56, (0, 1), (0, 1)) - x61 += einsum(x57, (0, 1), (0, 1)) * 2.0 - x61 += einsum(x60, (0, 1), (0, 1)) - l1new_aa += einsum(x61, (0, 1), x14, (0, 2, 1, 3), (3, 2)) - del x14, x61 - x62 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x62 += einsum(l1.bb, (0, 1), t1.bb, (1, 2), (0, 2)) - x63 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x63 += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (2, 3, 4, 1), (0, 4)) - x64 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x64 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 0, 4), (1, 4)) - x65 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x65 += einsum(x62, (0, 1), (0, 1)) * 0.5 - x65 += einsum(x63, (0, 1), (0, 1)) - x65 += einsum(x64, (0, 1), (0, 1)) * 0.5 - l1new_aa += einsum(x65, (0, 1), v.aabb.ovvv, (2, 3, 1, 0), (3, 2)) * 2.0 - del x65 - x66 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x66 += einsum(l1.bb, (0, 1), t2.bbbb, (2, 1, 3, 0), (2, 3)) - x67 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x67 += einsum(l1.aa, (0, 1), t2.abab, (1, 2, 0, 3), (2, 3)) - x68 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x68 += einsum(t1.bb, (0, 1), l2.bbbb, (2, 1, 3, 4), (3, 4, 0, 2)) - l1new_bb += einsum(v.bbbb.oovv, (0, 1, 2, 3), x68, (4, 1, 0, 3), (2, 4)) * -2.0 - l2new_abab += einsum(v.aabb.ovoo, (0, 1, 2, 3), x68, (4, 2, 3, 5), (1, 5, 0, 4)) * -2.0 - l2new_abab += einsum(x11, (0, 1, 2, 3), x68, (4, 0, 1, 5), (3, 5, 2, 4)) * -2.0 - x69 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x69 += einsum(t2.bbbb, (0, 1, 2, 3), x68, (0, 1, 4, 3), (4, 2)) * -1.0 - x70 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x70 += einsum(t2.abab, (0, 1, 2, 3), x3, (1, 4, 0, 2), (4, 3)) - x71 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x71 += einsum(l1.bb, (0, 1), t1.bb, (2, 0), (1, 2)) - l2new_abab += einsum(x71, (0, 1), v.aabb.ovov, (2, 3, 1, 4), (3, 4, 2, 0)) * -1.0 - x72 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x72 += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 3, 0, 1), (2, 4)) - x73 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x73 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 1), (3, 4)) - x74 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x74 += einsum(x71, (0, 1), (0, 1)) - x74 += einsum(x72, (0, 1), (0, 1)) * 2.0 - x74 += einsum(x73, (0, 1), (0, 1)) - l1new_aa += einsum(x74, (0, 1), v.aabb.ovoo, (2, 3, 0, 1), (3, 2)) * -1.0 - l1new_bb += einsum(f.bb.ov, (0, 1), x74, (2, 0), (1, 2)) * -1.0 - x75 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x75 += einsum(l1.bb, (0, 1), (1, 0)) * -0.5 - x75 += einsum(t1.bb, (0, 1), (0, 1)) * -0.5 - x75 += einsum(x66, (0, 1), (0, 1)) * -1.0 - x75 += einsum(x67, (0, 1), (0, 1)) * -0.5 - x75 += einsum(x69, (0, 1), (0, 1)) - x75 += einsum(x70, (0, 1), (0, 1)) * 0.5 - x75 += einsum(t1.bb, (0, 1), x74, (0, 2), (2, 1)) * 0.5 - l1new_aa += einsum(x75, (0, 1), v.aabb.ovov, (2, 3, 0, 1), (3, 2)) * -2.0 - del x75 - x76 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x76 += einsum(x35, (0, 1, 2, 3), (0, 1, 2, 3)) - x76 += einsum(x36, (0, 1, 2, 3), (1, 0, 2, 3)) - l1new_aa += einsum(v.aabb.ovoo, (0, 1, 2, 3), x76, (2, 3, 4, 0), (1, 4)) - del x76 - x77 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x77 += einsum(x58, (0, 1), (0, 1)) - x77 += einsum(x38, (0, 1), (0, 1)) - del x38 - x77 += einsum(x39, (0, 1), (0, 1)) * 2.0 - del x39 - l1new_bb += einsum(x77, (0, 1), v.aabb.ooov, (0, 1, 2, 3), (3, 2)) * -1.0 - x78 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x78 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x78 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - l1new_aa += einsum(x77, (0, 1), x78, (1, 0, 2, 3), (3, 2)) * -1.0 - del x77 - x79 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x79 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) - x79 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - l1new_aa += einsum(l1.aa, (0, 1), x79, (1, 2, 0, 3), (3, 2)) * -1.0 - del x79 - x80 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x80 += einsum(t1.bb, (0, 1), v.aabb.vvov, (2, 3, 0, 1), (2, 3)) - x81 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x81 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) - x81 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x82 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x82 += einsum(t1.aa, (0, 1), x81, (0, 2, 1, 3), (2, 3)) - del x81 - x83 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x83 += einsum(f.aa.vv, (0, 1), (0, 1)) - x83 += einsum(x80, (0, 1), (1, 0)) - x83 += einsum(x82, (0, 1), (1, 0)) * -1.0 - l1new_aa += einsum(l1.aa, (0, 1), x83, (0, 2), (2, 1)) - l2new_abab += einsum(x83, (0, 1), l2.abab, (0, 2, 3, 4), (1, 2, 3, 4)) - del x83 - x84 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x84 += einsum(t1.bb, (0, 1), v.aabb.ooov, (2, 3, 0, 1), (2, 3)) - x85 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x85 += einsum(t1.aa, (0, 1), x78, (0, 2, 3, 1), (2, 3)) - del x78 - x86 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x86 += einsum(t1.aa, (0, 1), x16, (2, 1), (0, 2)) - del x16 - x87 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x87 += einsum(f.aa.oo, (0, 1), (0, 1)) - x87 += einsum(x84, (0, 1), (1, 0)) - x87 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 1, 3), (0, 4)) - x87 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 2, 1, 3), (0, 4)) * 2.0 - x87 += einsum(x85, (0, 1), (0, 1)) * -1.0 - x87 += einsum(x86, (0, 1), (0, 1)) - l1new_aa += einsum(l1.aa, (0, 1), x87, (1, 2), (0, 2)) * -1.0 - del x87 - x88 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x88 += einsum(x13, (0, 1), (0, 1)) - del x13 - x88 += einsum(x15, (0, 1), (0, 1)) * -1.0 - del x15 - l1new_aa += einsum(x58, (0, 1), x88, (1, 2), (2, 0)) * -1.0 - x89 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x89 += einsum(t1.bb, (0, 1), v.bbbb.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) - l1new_bb += einsum(x68, (0, 1, 2, 3), x89, (1, 2, 4, 3), (4, 0)) * 2.0 - x90 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x90 += einsum(t1.aa, (0, 1), v.aabb.vvvv, (2, 1, 3, 4), (3, 4, 0, 2)) - l1new_bb += einsum(l2.abab, (0, 1, 2, 3), x90, (4, 1, 2, 0), (4, 3)) - del x90 - x91 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x91 += einsum(t1.bb, (0, 1), v.bbbb.vvvv, (2, 3, 4, 1), (0, 2, 3, 4)) - l1new_bb += einsum(l2.bbbb, (0, 1, 2, 3), x91, (3, 4, 0, 1), (4, 2)) * 2.0 - del x91 - x92 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x92 += einsum(t1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) - x93 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x93 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x93 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) - x93 += einsum(x92, (0, 1, 2, 3), (1, 0, 2, 3)) - x93 += einsum(x92, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - x94 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x94 += einsum(t1.aa, (0, 1), v.aabb.ovov, (0, 1, 2, 3), (2, 3)) - x95 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x95 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x95 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x96 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x96 += einsum(t1.bb, (0, 1), x95, (0, 2, 1, 3), (2, 3)) - x97 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x97 += einsum(f.bb.ov, (0, 1), (0, 1)) - x97 += einsum(x94, (0, 1), (0, 1)) - x97 += einsum(x96, (0, 1), (0, 1)) * -1.0 - l2new_abab += einsum(x97, (0, 1), x3, (2, 0, 3, 4), (4, 1, 3, 2)) * -1.0 - l2new_abab += einsum(l1.aa, (0, 1), x97, (2, 3), (0, 3, 1, 2)) - x98 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x98 += einsum(t1.aa, (0, 1), v.aabb.vvov, (2, 1, 3, 4), (3, 4, 0, 2)) - x99 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x99 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) - x99 += einsum(x98, (0, 1, 2, 3), (0, 1, 2, 3)) - del x98 - l2new_abab += einsum(l2.aaaa, (0, 1, 2, 3), x99, (4, 5, 3, 1), (0, 5, 2, 4)) * 2.0 - x100 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x100 += einsum(v.aabb.ovoo, (0, 1, 2, 3), (2, 3, 0, 1)) - x100 += einsum(t1.aa, (0, 1), v.aabb.vvoo, (2, 1, 3, 4), (3, 4, 0, 2)) - x100 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.vvov, (4, 2, 5, 3), (1, 5, 0, 4)) - x100 += einsum(t2.abab, (0, 1, 2, 3), x93, (4, 5, 1, 3), (5, 4, 0, 2)) * -1.0 - del x93 - x100 += einsum(t2.aaaa, (0, 1, 2, 3), x12, (4, 5, 1, 3), (5, 4, 0, 2)) * 2.0 - del x12 - x100 += einsum(t2.abab, (0, 1, 2, 3), x10, (4, 3, 0, 5), (1, 4, 5, 2)) * -1.0 - x100 += einsum(x97, (0, 1), t2.abab, (2, 3, 4, 1), (3, 0, 2, 4)) - x100 += einsum(t1.bb, (0, 1), x99, (2, 1, 3, 4), (0, 2, 3, 4)) - x100 += einsum(t1.aa, (0, 1), x23, (2, 3, 0, 4), (3, 2, 4, 1)) * -1.0 - del x23 - l1new_bb += einsum(l2.abab, (0, 1, 2, 3), x100, (3, 4, 2, 0), (1, 4)) * -1.0 - del x100 - x101 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x101 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x101 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x101 += einsum(x92, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x101 += einsum(x92, (0, 1, 2, 3), (0, 2, 1, 3)) - x102 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x102 += einsum(v.aabb.ovoo, (0, 1, 2, 3), (2, 3, 0, 1)) - x102 += einsum(x11, (0, 1, 2, 3), (0, 1, 2, 3)) - l2new_abab += einsum(x102, (0, 1, 2, 3), x34, (0, 4, 5, 2), (3, 4, 5, 1)) - l2new_abab += einsum(l1.bb, (0, 1), x102, (1, 2, 3, 4), (4, 0, 3, 2)) * -1.0 - x103 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x103 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x103 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x103 += einsum(x89, (0, 1, 2, 3), (0, 1, 2, 3)) - del x89 - x104 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x104 += einsum(t1.bb, (0, 1), x92, (2, 3, 4, 1), (0, 2, 3, 4)) - x105 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x105 += einsum(t1.bb, (0, 1), v.bbbb.ooov, (2, 3, 4, 1), (0, 2, 3, 4)) - x106 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x106 += einsum(v.bbbb.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x106 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 3, 5, 2), (4, 0, 5, 1)) * -1.0 - x106 += einsum(x104, (0, 1, 2, 3), (3, 1, 2, 0)) - x106 += einsum(x105, (0, 1, 2, 3), (2, 1, 3, 0)) - x106 += einsum(x105, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 - x107 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x107 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) - x107 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovvv, (4, 2, 5, 3), (4, 0, 1, 5)) * -1.0 - x107 += einsum(t2.bbbb, (0, 1, 2, 3), x101, (4, 1, 5, 3), (5, 0, 4, 2)) * -2.0 - del x101 - x107 += einsum(t2.abab, (0, 1, 2, 3), x102, (4, 5, 0, 2), (5, 1, 4, 3)) - del x102 - x107 += einsum(x97, (0, 1), t2.bbbb, (2, 3, 4, 1), (0, 2, 3, 4)) - x107 += einsum(t1.bb, (0, 1), x103, (2, 3, 1, 4), (3, 2, 0, 4)) - del x103 - x107 += einsum(t1.bb, (0, 1), x106, (0, 2, 3, 4), (3, 2, 4, 1)) * -1.0 - del x106 - l1new_bb += einsum(l2.bbbb, (0, 1, 2, 3), x107, (4, 2, 3, 1), (0, 4)) * 2.0 - del x107 - x108 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x108 += einsum(l2.abab, (0, 1, 2, 3), (3, 1, 2, 0)) * 0.5 - x108 += einsum(l2.bbbb, (0, 1, 2, 3), t2.abab, (4, 3, 5, 1), (2, 0, 4, 5)) - x108 += einsum(l2.abab, (0, 1, 2, 3), t2.aaaa, (4, 2, 5, 0), (3, 1, 4, 5)) - x108 += einsum(t1.aa, (0, 1), x34, (2, 3, 0, 4), (2, 3, 4, 1)) * -0.5 - l1new_bb += einsum(v.aabb.ovvv, (0, 1, 2, 3), x108, (4, 3, 0, 1), (2, 4)) * 2.0 - del x108 - x109 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x109 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) - x109 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x110 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x110 += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 3, 5, 1), (2, 4, 0, 5)) - x110 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 5), (3, 4, 1, 5)) * 0.25 - l1new_bb += einsum(x109, (0, 1, 2, 3), x110, (4, 0, 2, 1), (3, 4)) * 4.0 - del x110 - x111 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x111 += einsum(x72, (0, 1), (0, 1)) - del x72 - x111 += einsum(x73, (0, 1), (0, 1)) * 0.5 - del x73 - x112 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x112 += einsum(l1.bb, (0, 1), t2.abab, (2, 3, 4, 0), (1, 3, 2, 4)) - x112 += einsum(x3, (0, 1, 2, 3), (0, 1, 2, 3)) - x112 += einsum(t2.abab, (0, 1, 2, 3), x68, (4, 1, 5, 3), (4, 5, 0, 2)) * -2.0 - x112 += einsum(t2.aaaa, (0, 1, 2, 3), x3, (4, 5, 1, 3), (4, 5, 0, 2)) * 2.0 - x112 += einsum(t2.abab, (0, 1, 2, 3), x34, (4, 3, 0, 5), (4, 1, 5, 2)) * -1.0 - x112 += einsum(t1.aa, (0, 1), x37, (2, 3, 0, 4), (2, 3, 4, 1)) * -1.0 - del x37 - x112 += einsum(t1.aa, (0, 1), x111, (2, 3), (2, 3, 0, 1)) * 2.0 - l1new_bb += einsum(v.aabb.ovov, (0, 1, 2, 3), x112, (4, 2, 0, 1), (3, 4)) * -1.0 - del x112 - x113 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x113 += einsum(l2.bbbb, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 - x113 += einsum(t1.bb, (0, 1), x68, (2, 0, 3, 4), (2, 3, 4, 1)) - l1new_bb += einsum(v.bbbb.ovvv, (0, 1, 2, 3), x113, (4, 0, 3, 1), (2, 4)) * -2.0 - del x113 - x114 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x114 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 5, 1), (3, 4, 0, 5)) - x114 += einsum(t1.aa, (0, 1), x3, (2, 3, 0, 4), (2, 3, 1, 4)) - l1new_bb += einsum(v.aabb.vvov, (0, 1, 2, 3), x114, (4, 2, 1, 0), (3, 4)) * -1.0 - del x114 - x115 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x115 += einsum(t2.bbbb, (0, 1, 2, 3), x68, (4, 1, 5, 3), (4, 5, 0, 2)) * -1.0 - x116 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x116 += einsum(t1.bb, (0, 1), x68, (2, 3, 4, 1), (2, 3, 0, 4)) - l2new_bbbb += einsum(v.bbbb.ovov, (0, 1, 2, 3), x116, (4, 5, 0, 2), (3, 1, 5, 4)) * 2.0 - x117 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x117 += einsum(t2.abab, (0, 1, 2, 3), x3, (4, 5, 0, 2), (4, 5, 1, 3)) - x118 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x118 += einsum(l1.bb, (0, 1), t2.bbbb, (2, 3, 4, 0), (1, 2, 3, 4)) - x118 += einsum(x68, (0, 1, 2, 3), (1, 0, 2, 3)) - x118 += einsum(x115, (0, 1, 2, 3), (0, 2, 1, 3)) * 2.0 - x118 += einsum(t1.bb, (0, 1), x116, (0, 2, 3, 4), (2, 3, 4, 1)) * -1.0 - x118 += einsum(x117, (0, 1, 2, 3), (0, 2, 1, 3)) * 0.5 - x118 += einsum(t1.bb, (0, 1), x111, (2, 3), (2, 0, 3, 1)) - l1new_bb += einsum(v.bbbb.ovov, (0, 1, 2, 3), x118, (4, 0, 2, 1), (3, 4)) * -2.0 - del x118 - x119 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x119 += einsum(x62, (0, 1), (0, 1)) - del x62 - x119 += einsum(x63, (0, 1), (0, 1)) * 2.0 - del x63 - x119 += einsum(x64, (0, 1), (0, 1)) - del x64 - l1new_bb += einsum(x119, (0, 1), x109, (2, 1, 0, 3), (3, 2)) * -1.0 - del x119 - x120 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x120 += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 5, 0, 1), (2, 3, 4, 5)) - x121 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x121 += einsum(x115, (0, 1, 2, 3), (0, 2, 1, 3)) * 4.0 - del x115 - x121 += einsum(t1.bb, (0, 1), x120, (2, 0, 3, 4), (2, 4, 3, 1)) * -2.0 - x121 += einsum(x117, (0, 1, 2, 3), (0, 2, 1, 3)) - del x117 - x121 += einsum(t1.bb, (0, 1), x111, (2, 3), (2, 0, 3, 1)) * 2.0 - del x111 - l1new_bb += einsum(v.bbbb.ovov, (0, 1, 2, 3), x121, (4, 0, 2, 3), (1, 4)) - del x121 - x122 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x122 += einsum(t1.bb, (0, 1), (0, 1)) * -1.0 - x122 += einsum(x66, (0, 1), (0, 1)) * -2.0 - del x66 - x122 += einsum(x67, (0, 1), (0, 1)) * -1.0 - del x67 - x122 += einsum(x69, (0, 1), (0, 1)) * 2.0 - del x69 - x122 += einsum(x70, (0, 1), (0, 1)) - del x70 - x122 += einsum(t1.bb, (0, 1), x74, (0, 2), (2, 1)) - l1new_bb += einsum(x122, (0, 1), x95, (0, 2, 1, 3), (3, 2)) - del x95, x122 - x123 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x123 += einsum(x48, (0, 1), (0, 1)) * 0.5 - del x48 - x123 += einsum(x49, (0, 1), (0, 1)) * 0.5 - del x49 - x123 += einsum(x50, (0, 1), (0, 1)) - del x50 - l1new_bb += einsum(x123, (0, 1), v.aabb.vvov, (0, 1, 2, 3), (3, 2)) * 2.0 - del x123 - x124 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x124 += einsum(l1.aa, (0, 1), (1, 0)) * -1.0 - x124 += einsum(t1.aa, (0, 1), (0, 1)) * -1.0 - x124 += einsum(x54, (0, 1), (0, 1)) * -1.0 - del x54 - x124 += einsum(x55, (0, 1), (0, 1)) * -2.0 - del x55 - x124 += einsum(x56, (0, 1), (0, 1)) - del x56 - x124 += einsum(x57, (0, 1), (0, 1)) * 2.0 - del x57 - x124 += einsum(x60, (0, 1), (0, 1)) - del x60 - l1new_bb += einsum(x124, (0, 1), v.aabb.ovov, (0, 1, 2, 3), (3, 2)) * -1.0 - del x124 - x125 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x125 += einsum(x35, (0, 1, 2, 3), (0, 1, 2, 3)) - del x35 - x125 += einsum(x36, (0, 1, 2, 3), (0, 1, 3, 2)) - del x36 - l1new_bb += einsum(v.aabb.ooov, (0, 1, 2, 3), x125, (4, 2, 1, 0), (3, 4)) - del x125 - x126 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x126 += einsum(x120, (0, 1, 2, 3), (1, 0, 3, 2)) - del x120 - x126 += einsum(x116, (0, 1, 2, 3), (2, 1, 0, 3)) - del x116 - l1new_bb += einsum(v.bbbb.ooov, (0, 1, 2, 3), x126, (0, 4, 1, 2), (3, 4)) * 2.0 - del x126 - x127 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x127 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x127 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) - l1new_bb += einsum(x74, (0, 1), x127, (0, 2, 1, 3), (3, 2)) * -1.0 - del x74 - l2new_abab += einsum(x127, (0, 1, 2, 3), x3, (0, 2, 4, 5), (5, 3, 4, 1)) * -1.0 - x128 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x128 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) - x128 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - l1new_bb += einsum(l1.bb, (0, 1), x128, (1, 2, 0, 3), (3, 2)) * -1.0 - del x128 - x129 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x129 += einsum(t1.aa, (0, 1), v.aabb.ovvv, (0, 1, 2, 3), (2, 3)) - x130 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x130 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) - x130 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x131 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x131 += einsum(t1.bb, (0, 1), x130, (0, 2, 1, 3), (2, 3)) - x132 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x132 += einsum(f.bb.vv, (0, 1), (0, 1)) - x132 += einsum(x129, (0, 1), (1, 0)) - x132 += einsum(x131, (0, 1), (1, 0)) * -1.0 - del x131 - l1new_bb += einsum(l1.bb, (0, 1), x132, (0, 2), (2, 1)) - l2new_abab += einsum(x132, (0, 1), l2.abab, (2, 0, 3, 4), (2, 1, 3, 4)) - del x132 - x133 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x133 += einsum(t1.aa, (0, 1), v.aabb.ovoo, (0, 1, 2, 3), (2, 3)) - x134 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x134 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x134 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) - x135 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x135 += einsum(t1.bb, (0, 1), x134, (2, 3, 0, 1), (2, 3)) - del x134 - x136 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x136 += einsum(t1.bb, (0, 1), x97, (2, 1), (0, 2)) - del x97 - x137 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x137 += einsum(f.bb.oo, (0, 1), (0, 1)) - x137 += einsum(x133, (0, 1), (1, 0)) - x137 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 2, 1, 3), (0, 4)) * 2.0 - x137 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 3), (1, 4)) - x137 += einsum(x135, (0, 1), (1, 0)) * -1.0 - x137 += einsum(x136, (0, 1), (0, 1)) - l1new_bb += einsum(l1.bb, (0, 1), x137, (1, 2), (0, 2)) * -1.0 - del x137 - x138 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x138 += einsum(x94, (0, 1), (0, 1)) - del x94 - x138 += einsum(x96, (0, 1), (0, 1)) * -1.0 - del x96 - l1new_bb += einsum(x138, (0, 1), x71, (2, 0), (1, 2)) * -1.0 - x139 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x139 += einsum(f.aa.ov, (0, 1), t1.aa, (2, 1), (0, 2)) - x140 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x140 += einsum(x139, (0, 1), l2.aaaa, (2, 3, 4, 1), (0, 4, 2, 3)) - del x139 - x141 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x141 += einsum(l2.aaaa, (0, 1, 2, 3), x28, (3, 4, 2, 5), (4, 5, 0, 1)) * -1.0 - del x28 - x142 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x142 += einsum(t1.aa, (0, 1), x88, (2, 1), (0, 2)) - x143 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x143 += einsum(x84, (0, 1), (1, 0)) - x143 += einsum(x85, (0, 1), (0, 1)) * -1.0 - x143 += einsum(x142, (0, 1), (0, 1)) - del x142 - x144 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x144 += einsum(x143, (0, 1), l2.aaaa, (2, 3, 4, 0), (1, 4, 2, 3)) * -2.0 - del x143 - x145 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x145 += einsum(x140, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - del x140 - x145 += einsum(x141, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - del x141 - x145 += einsum(x144, (0, 1, 2, 3), (1, 0, 3, 2)) - del x144 - l2new_aaaa += einsum(x145, (0, 1, 2, 3), (3, 2, 0, 1)) - l2new_aaaa += einsum(x145, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 - del x145 - x146 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x146 += einsum(f.aa.vv, (0, 1), l2.aaaa, (2, 1, 3, 4), (3, 4, 0, 2)) - x147 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x147 += einsum(f.aa.ov, (0, 1), x1, (2, 3, 0, 4), (2, 3, 1, 4)) - x148 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x148 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), x1, (4, 5, 0, 3), (5, 4, 1, 2)) - x149 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x149 += einsum(x80, (0, 1), (1, 0)) - del x80 - x149 += einsum(x82, (0, 1), (0, 1)) * -1.0 - del x82 - x150 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x150 += einsum(x149, (0, 1), l2.aaaa, (2, 1, 3, 4), (3, 4, 0, 2)) * -2.0 - del x149 - x151 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x151 += einsum(x88, (0, 1), x1, (2, 3, 0, 4), (2, 3, 4, 1)) * 2.0 - x152 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x152 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x152 += einsum(x146, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 - del x146 - x152 += einsum(x147, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - del x147 - x152 += einsum(x148, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - del x148 - x152 += einsum(x150, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x150 - x152 += einsum(x151, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x151 - l2new_aaaa += einsum(x152, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - l2new_aaaa += einsum(x152, (0, 1, 2, 3), (2, 3, 0, 1)) - del x152 - x153 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x153 += einsum(l1.aa, (0, 1), v.aaaa.ovvv, (2, 3, 4, 0), (1, 2, 3, 4)) - x154 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x154 += einsum(x58, (0, 1), v.aaaa.ovov, (2, 3, 1, 4), (0, 2, 3, 4)) - del x58 - x155 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x155 += einsum(v.aabb.ovoo, (0, 1, 2, 3), x3, (2, 3, 4, 5), (4, 0, 5, 1)) - x156 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x156 += einsum(x11, (0, 1, 2, 3), x3, (0, 1, 4, 5), (4, 2, 5, 3)) - del x11 - x157 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x157 += einsum(t1.aa, (0, 1), x32, (2, 3, 1, 4), (0, 2, 3, 4)) - x158 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x158 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x158 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x158 += einsum(x157, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x157 - x159 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x159 += einsum(l2.aaaa, (0, 1, 2, 3), x158, (3, 4, 5, 1), (4, 2, 5, 0)) * 2.0 - del x158 - x160 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x160 += einsum(t1.bb, (0, 1), v.aabb.ovvv, (2, 3, 4, 1), (0, 4, 2, 3)) - x161 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x161 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) - x161 += einsum(x160, (0, 1, 2, 3), (0, 1, 2, 3)) - del x160 - l2new_abab += einsum(l2.bbbb, (0, 1, 2, 3), x161, (3, 1, 4, 5), (5, 0, 4, 2)) * 2.0 - x162 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x162 += einsum(l2.abab, (0, 1, 2, 3), x161, (3, 1, 4, 5), (4, 2, 5, 0)) - del x161 - x163 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x163 += einsum(x8, (0, 1, 2, 3), (0, 1, 2, 3)) - x163 += einsum(x8, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - l2new_abab += einsum(x163, (0, 1, 2, 3), x34, (4, 5, 0, 2), (3, 5, 1, 4)) * -1.0 - x164 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x164 += einsum(x1, (0, 1, 2, 3), x163, (0, 4, 2, 5), (4, 1, 5, 3)) * 2.0 - del x163 - x165 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x165 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x165 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - l2new_abab += einsum(x165, (0, 1, 2, 3), x34, (4, 5, 0, 1), (3, 5, 2, 4)) * -1.0 - x166 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x166 += einsum(x1, (0, 1, 2, 3), x165, (0, 2, 4, 5), (4, 1, 5, 3)) * 2.0 - del x1, x165 - x167 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x167 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x167 += einsum(x8, (0, 1, 2, 3), (0, 1, 2, 3)) - del x8 - x168 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x168 += einsum(l1.aa, (0, 1), x167, (1, 2, 3, 4), (2, 3, 4, 0)) - del x167 - x169 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x169 += einsum(f.aa.ov, (0, 1), l1.aa, (2, 3), (0, 3, 1, 2)) - x169 += einsum(x153, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x153 - x169 += einsum(x154, (0, 1, 2, 3), (0, 1, 2, 3)) - del x154 - x169 += einsum(x155, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x155 - x169 += einsum(x156, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x156 - x169 += einsum(x159, (0, 1, 2, 3), (1, 0, 3, 2)) - del x159 - x169 += einsum(x162, (0, 1, 2, 3), (1, 0, 3, 2)) - del x162 - x169 += einsum(x164, (0, 1, 2, 3), (1, 0, 3, 2)) - del x164 - x169 += einsum(x166, (0, 1, 2, 3), (1, 0, 3, 2)) - del x166 - x169 += einsum(x168, (0, 1, 2, 3), (0, 1, 3, 2)) - del x168 - x169 += einsum(l1.aa, (0, 1), x88, (2, 3), (1, 2, 0, 3)) - del x88 - l2new_aaaa += einsum(x169, (0, 1, 2, 3), (2, 3, 0, 1)) - l2new_aaaa += einsum(x169, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - l2new_aaaa += einsum(x169, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 - l2new_aaaa += einsum(x169, (0, 1, 2, 3), (3, 2, 1, 0)) - del x169 - x170 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x170 += einsum(f.aa.oo, (0, 1), l2.aaaa, (2, 3, 4, 1), (0, 4, 2, 3)) - l2new_aaaa += einsum(x170, (0, 1, 2, 3), (3, 2, 0, 1)) * -2.0 - l2new_aaaa += einsum(x170, (0, 1, 2, 3), (3, 2, 1, 0)) * 2.0 - del x170 - x171 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x171 += einsum(v.aaaa.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x171 += einsum(x27, (0, 1, 2, 3), (0, 2, 3, 1)) - del x27 - l2new_aaaa += einsum(l2.aaaa, (0, 1, 2, 3), x171, (3, 4, 5, 2), (0, 1, 5, 4)) * 2.0 - del x171 - x172 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x172 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) - x172 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x172 += einsum(t1.bb, (0, 1), x130, (2, 3, 1, 4), (0, 2, 4, 3)) * -1.0 - del x130 - l2new_abab += einsum(l2.abab, (0, 1, 2, 3), x172, (3, 4, 1, 5), (0, 5, 2, 4)) * -1.0 - del x172 - x173 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x173 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) - x173 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x173 += einsum(t1.aa, (0, 1), x32, (2, 1, 3, 4), (0, 2, 4, 3)) * -1.0 - del x32 - l2new_abab += einsum(l2.abab, (0, 1, 2, 3), x173, (2, 4, 0, 5), (5, 1, 4, 3)) * -1.0 - del x173 - x174 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x174 += einsum(v.aabb.vvoo, (0, 1, 2, 3), (2, 3, 0, 1)) - x174 += einsum(t1.bb, (0, 1), v.aabb.vvov, (2, 3, 4, 1), (0, 4, 2, 3)) - l2new_abab += einsum(l2.abab, (0, 1, 2, 3), x174, (3, 4, 0, 5), (5, 1, 2, 4)) * -1.0 - del x174 - x175 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x175 += einsum(v.aabb.oovv, (0, 1, 2, 3), (2, 3, 0, 1)) - x175 += einsum(x17, (0, 1, 2, 3), (1, 0, 2, 3)) - del x17 - l2new_abab += einsum(l2.abab, (0, 1, 2, 3), x175, (1, 4, 2, 5), (0, 4, 5, 3)) * -1.0 - del x175 - x176 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x176 += einsum(v.aabb.oooo, (0, 1, 2, 3), (2, 3, 0, 1)) - x176 += einsum(x19, (0, 1, 2, 3), (1, 0, 2, 3)) - del x19 - x176 += einsum(t1.bb, (0, 1), x10, (2, 1, 3, 4), (0, 2, 4, 3)) - del x10 - l2new_abab += einsum(l2.abab, (0, 1, 2, 3), x176, (3, 4, 2, 5), (0, 1, 5, 4)) - del x176 - x177 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x177 += einsum(x92, (0, 1, 2, 3), (0, 1, 2, 3)) - x177 += einsum(x92, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - l2new_abab += einsum(x177, (0, 1, 2, 3), x3, (0, 2, 4, 5), (5, 3, 4, 1)) * -1.0 - del x3, x177 - x178 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x178 += einsum(f.aa.oo, (0, 1), (0, 1)) - x178 += einsum(x84, (0, 1), (1, 0)) - del x84 - x178 += einsum(x85, (0, 1), (0, 1)) * -1.0 - del x85 - x178 += einsum(x86, (0, 1), (0, 1)) - del x86 - l2new_abab += einsum(x178, (0, 1), l2.abab, (2, 3, 0, 4), (2, 3, 1, 4)) * -1.0 - del x178 - x179 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x179 += einsum(f.bb.oo, (0, 1), (0, 1)) - x179 += einsum(x133, (0, 1), (1, 0)) - x179 += einsum(x135, (0, 1), (1, 0)) * -1.0 - x179 += einsum(x136, (0, 1), (0, 1)) - del x136 - l2new_abab += einsum(x179, (0, 1), l2.abab, (2, 3, 4, 0), (2, 3, 4, 1)) * -1.0 - del x179 - x180 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x180 += einsum(f.bb.ov, (0, 1), t1.bb, (2, 1), (0, 2)) - x181 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x181 += einsum(x180, (0, 1), l2.bbbb, (2, 3, 4, 1), (0, 4, 2, 3)) - del x180 - x182 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x182 += einsum(l2.bbbb, (0, 1, 2, 3), x105, (2, 3, 4, 5), (4, 5, 0, 1)) - del x105 - x183 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x183 += einsum(t1.bb, (0, 1), x138, (2, 1), (2, 0)) - x184 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x184 += einsum(x133, (0, 1), (1, 0)) - del x133 - x184 += einsum(x135, (0, 1), (1, 0)) * -1.0 - del x135 - x184 += einsum(x183, (0, 1), (1, 0)) - del x183 - x185 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x185 += einsum(x184, (0, 1), l2.bbbb, (2, 3, 4, 0), (1, 4, 2, 3)) * -2.0 - del x184 - x186 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x186 += einsum(x181, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - del x181 - x186 += einsum(x182, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - del x182 - x186 += einsum(x185, (0, 1, 2, 3), (1, 0, 3, 2)) - del x185 - l2new_bbbb += einsum(x186, (0, 1, 2, 3), (3, 2, 0, 1)) - l2new_bbbb += einsum(x186, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 - del x186 - x187 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x187 += einsum(f.bb.vv, (0, 1), l2.bbbb, (2, 1, 3, 4), (3, 4, 0, 2)) - x188 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x188 += einsum(f.bb.ov, (0, 1), x68, (2, 3, 0, 4), (2, 3, 1, 4)) - x189 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x189 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), x68, (4, 5, 0, 3), (5, 4, 1, 2)) - x190 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x190 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x190 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) - x191 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x191 += einsum(t1.bb, (0, 1), x190, (0, 1, 2, 3), (2, 3)) - del x190 - x192 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x192 += einsum(x129, (0, 1), (1, 0)) - del x129 - x192 += einsum(x191, (0, 1), (1, 0)) * -1.0 - del x191 - x193 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x193 += einsum(x192, (0, 1), l2.bbbb, (2, 1, 3, 4), (3, 4, 0, 2)) * -2.0 - del x192 - x194 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x194 += einsum(x138, (0, 1), x68, (2, 3, 0, 4), (2, 3, 1, 4)) * 2.0 - x195 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x195 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x195 += einsum(x187, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 - del x187 - x195 += einsum(x188, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - del x188 - x195 += einsum(x189, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - del x189 - x195 += einsum(x193, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x193 - x195 += einsum(x194, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x194 - l2new_bbbb += einsum(x195, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - l2new_bbbb += einsum(x195, (0, 1, 2, 3), (2, 3, 0, 1)) - del x195 - x196 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x196 += einsum(l1.bb, (0, 1), v.bbbb.ovvv, (2, 3, 4, 0), (1, 2, 3, 4)) - x197 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x197 += einsum(x71, (0, 1), v.bbbb.ovov, (2, 3, 1, 4), (0, 2, 3, 4)) - del x71 - x198 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x198 += einsum(v.aabb.ooov, (0, 1, 2, 3), x34, (4, 5, 0, 1), (4, 2, 5, 3)) - x199 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x199 += einsum(x34, (0, 1, 2, 3), x7, (4, 5, 2, 3), (0, 4, 1, 5)) - del x7, x34 - x200 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x200 += einsum(t1.bb, (0, 1), x109, (2, 1, 3, 4), (0, 2, 3, 4)) - del x109 - x201 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x201 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x201 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x201 += einsum(x200, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x200 - x202 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x202 += einsum(l2.bbbb, (0, 1, 2, 3), x201, (3, 4, 5, 1), (4, 2, 5, 0)) * 2.0 - del x201 - x203 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x203 += einsum(l2.abab, (0, 1, 2, 3), x99, (4, 5, 2, 0), (3, 4, 1, 5)) - del x99 - x204 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x204 += einsum(x92, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x204 += einsum(x92, (0, 1, 2, 3), (0, 2, 1, 3)) - x205 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x205 += einsum(x204, (0, 1, 2, 3), x68, (0, 4, 1, 5), (2, 4, 3, 5)) * 2.0 - del x204 - x206 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x206 += einsum(x127, (0, 1, 2, 3), x68, (0, 4, 2, 5), (1, 4, 3, 5)) * 2.0 - del x68, x127 - x207 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x207 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x207 += einsum(x92, (0, 1, 2, 3), (0, 1, 2, 3)) - del x92 - x208 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x208 += einsum(l1.bb, (0, 1), x207, (1, 2, 3, 4), (2, 3, 4, 0)) - del x207 - x209 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x209 += einsum(f.bb.ov, (0, 1), l1.bb, (2, 3), (0, 3, 1, 2)) - x209 += einsum(x196, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x196 - x209 += einsum(x197, (0, 1, 2, 3), (0, 1, 2, 3)) - del x197 - x209 += einsum(x198, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x198 - x209 += einsum(x199, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x199 - x209 += einsum(x202, (0, 1, 2, 3), (1, 0, 3, 2)) - del x202 - x209 += einsum(x203, (0, 1, 2, 3), (0, 1, 2, 3)) - del x203 - x209 += einsum(x205, (0, 1, 2, 3), (1, 0, 3, 2)) - del x205 - x209 += einsum(x206, (0, 1, 2, 3), (1, 0, 3, 2)) - del x206 - x209 += einsum(x208, (0, 1, 2, 3), (0, 1, 3, 2)) - del x208 - x209 += einsum(l1.bb, (0, 1), x138, (2, 3), (1, 2, 0, 3)) - del x138 - l2new_bbbb += einsum(x209, (0, 1, 2, 3), (2, 3, 0, 1)) - l2new_bbbb += einsum(x209, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - l2new_bbbb += einsum(x209, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 - l2new_bbbb += einsum(x209, (0, 1, 2, 3), (3, 2, 1, 0)) - del x209 - x210 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x210 += einsum(f.bb.oo, (0, 1), l2.bbbb, (2, 3, 4, 1), (0, 4, 2, 3)) - l2new_bbbb += einsum(x210, (0, 1, 2, 3), (3, 2, 0, 1)) * -2.0 - l2new_bbbb += einsum(x210, (0, 1, 2, 3), (3, 2, 1, 0)) * 2.0 - del x210 - x211 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x211 += einsum(v.bbbb.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x211 += einsum(x104, (0, 1, 2, 3), (0, 3, 1, 2)) * -1.0 - del x104 - l2new_bbbb += einsum(l2.bbbb, (0, 1, 2, 3), x211, (3, 4, 2, 5), (0, 1, 4, 5)) * -2.0 - del x211 - - l1new.aa = l1new_aa - l1new.bb = l1new_bb - l2new.aaaa = l2new_aaaa - l2new.abab = l2new_abab - l2new.bbbb = l2new_bbbb - - return {"l1new": l1new, "l2new": l2new} - -def make_rdm1_f(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, l1=None, l2=None, **kwargs): - rdm1_f = Namespace() - - delta = Namespace(aa=Namespace(), bb=Namespace()) - delta.aa = Namespace(oo=np.eye(nocc[0]), vv=np.eye(nvir[0])) - delta.bb = Namespace(oo=np.eye(nocc[1]), vv=np.eye(nvir[1])) - - # RDM1 - rdm1_f_aa_oo = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - rdm1_f_aa_oo += einsum(delta.aa.oo, (0, 1), (0, 1)) - rdm1_f_bb_oo = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - rdm1_f_bb_oo += einsum(delta.bb.oo, (0, 1), (0, 1)) - rdm1_f_aa_ov = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - rdm1_f_aa_ov += einsum(t1.aa, (0, 1), (0, 1)) - rdm1_f_aa_ov += einsum(l1.bb, (0, 1), t2.abab, (2, 1, 3, 0), (2, 3)) - rdm1_f_aa_ov += einsum(l1.aa, (0, 1), t2.aaaa, (2, 1, 3, 0), (2, 3)) * 2.0 - rdm1_f_bb_ov = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - rdm1_f_bb_ov += einsum(l1.bb, (0, 1), t2.bbbb, (2, 1, 3, 0), (2, 3)) * 2.0 - rdm1_f_bb_ov += einsum(l1.aa, (0, 1), t2.abab, (1, 2, 0, 3), (2, 3)) - rdm1_f_bb_ov += einsum(t1.bb, (0, 1), (0, 1)) - rdm1_f_aa_vo = np.zeros((nvir[0], nocc[0]), dtype=types[float]) - rdm1_f_aa_vo += einsum(l1.aa, (0, 1), (0, 1)) - rdm1_f_bb_vo = np.zeros((nvir[1], nocc[1]), dtype=types[float]) - rdm1_f_bb_vo += einsum(l1.bb, (0, 1), (0, 1)) - rdm1_f_aa_vv = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - rdm1_f_aa_vv += einsum(l1.aa, (0, 1), t1.aa, (1, 2), (0, 2)) - rdm1_f_aa_vv += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 4, 1), (0, 4)) - rdm1_f_aa_vv += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (2, 3, 4, 1), (0, 4)) * 2.0 - rdm1_f_bb_vv = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - rdm1_f_bb_vv += einsum(l1.bb, (0, 1), t1.bb, (1, 2), (0, 2)) - rdm1_f_bb_vv += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 0, 4), (1, 4)) - rdm1_f_bb_vv += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (2, 3, 4, 1), (0, 4)) * 2.0 - x0 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x0 += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 3, 0, 1), (2, 4)) - rdm1_f_aa_oo += einsum(x0, (0, 1), (1, 0)) * -2.0 - x1 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x1 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 0, 1), (2, 4)) - rdm1_f_aa_oo += einsum(x1, (0, 1), (1, 0)) * -1.0 - x2 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x2 += einsum(l1.aa, (0, 1), t1.aa, (2, 0), (1, 2)) - rdm1_f_aa_oo += einsum(x2, (0, 1), (1, 0)) * -1.0 - x3 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x3 += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 3, 0, 1), (2, 4)) - rdm1_f_bb_oo += einsum(x3, (0, 1), (1, 0)) * -2.0 - x4 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x4 += einsum(l1.bb, (0, 1), t1.bb, (2, 0), (1, 2)) - rdm1_f_bb_oo += einsum(x4, (0, 1), (1, 0)) * -1.0 - x5 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x5 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 1), (3, 4)) - rdm1_f_bb_oo += einsum(x5, (0, 1), (1, 0)) * -1.0 - x6 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x6 += einsum(t1.aa, (0, 1), l2.abab, (1, 2, 3, 4), (4, 2, 3, 0)) - rdm1_f_aa_ov += einsum(t2.abab, (0, 1, 2, 3), x6, (1, 3, 0, 4), (4, 2)) * -1.0 - del x6 - x7 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x7 += einsum(t1.aa, (0, 1), l2.aaaa, (2, 1, 3, 4), (3, 4, 0, 2)) - rdm1_f_aa_ov += einsum(t2.aaaa, (0, 1, 2, 3), x7, (1, 0, 4, 3), (4, 2)) * -2.0 - del x7 - x8 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x8 += einsum(x2, (0, 1), (0, 1)) * 0.5 - del x2 - x8 += einsum(x1, (0, 1), (0, 1)) * 0.5 - del x1 - x8 += einsum(x0, (0, 1), (0, 1)) - del x0 - rdm1_f_aa_ov += einsum(t1.aa, (0, 1), x8, (0, 2), (2, 1)) * -2.0 - del x8 - x9 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x9 += einsum(t1.bb, (0, 1), l2.bbbb, (2, 1, 3, 4), (3, 4, 0, 2)) - rdm1_f_bb_ov += einsum(t2.bbbb, (0, 1, 2, 3), x9, (0, 1, 4, 3), (4, 2)) * 2.0 - del x9 - x10 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x10 += einsum(t1.bb, (0, 1), l2.abab, (2, 1, 3, 4), (4, 0, 3, 2)) - rdm1_f_bb_ov += einsum(t2.abab, (0, 1, 2, 3), x10, (1, 4, 0, 2), (4, 3)) * -1.0 - del x10 - x11 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x11 += einsum(x4, (0, 1), (0, 1)) - del x4 - x11 += einsum(x3, (0, 1), (0, 1)) * 2.0 - del x3 - x11 += einsum(x5, (0, 1), (0, 1)) - del x5 - rdm1_f_bb_ov += einsum(t1.bb, (0, 1), x11, (0, 2), (2, 1)) * -1.0 - del x11 - - rdm1_f_aa = np.block([[rdm1_f_aa_oo, rdm1_f_aa_ov], [rdm1_f_aa_vo, rdm1_f_aa_vv]]) - rdm1_f_bb = np.block([[rdm1_f_bb_oo, rdm1_f_bb_ov], [rdm1_f_bb_vo, rdm1_f_bb_vv]]) - - rdm1_f.aa = rdm1_f_aa - rdm1_f.bb = rdm1_f_bb - - return rdm1_f - -def make_rdm2_f(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, l1=None, l2=None, **kwargs): - rdm2_f = Namespace() - - delta = Namespace(aa=Namespace(), bb=Namespace()) - delta.aa = Namespace(oo=np.eye(nocc[0]), vv=np.eye(nvir[0])) - delta.bb = Namespace(oo=np.eye(nocc[1]), vv=np.eye(nvir[1])) - - # RDM2 - rdm2_f_aaaa_oooo = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - rdm2_f_aaaa_oooo += einsum(delta.aa.oo, (0, 1), delta.aa.oo, (2, 3), (0, 2, 1, 3)) - rdm2_f_aaaa_oooo += einsum(delta.aa.oo, (0, 1), delta.aa.oo, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_bbbb_oooo = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - rdm2_f_bbbb_oooo += einsum(delta.bb.oo, (0, 1), delta.bb.oo, (2, 3), (0, 2, 1, 3)) - rdm2_f_bbbb_oooo += einsum(delta.bb.oo, (0, 1), delta.bb.oo, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_aaaa_ovoo = np.zeros((nocc[0], nvir[0], nocc[0], nocc[0]), dtype=types[float]) - rdm2_f_aaaa_ovoo += einsum(delta.aa.oo, (0, 1), l1.aa, (2, 3), (0, 2, 1, 3)) - rdm2_f_aaaa_ovoo += einsum(delta.aa.oo, (0, 1), l1.aa, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_abab_ovoo = np.zeros((nocc[0], nvir[1], nocc[0], nocc[1]), dtype=types[float]) - rdm2_f_abab_ovoo += einsum(delta.aa.oo, (0, 1), l1.bb, (2, 3), (0, 2, 1, 3)) - rdm2_f_bbbb_ovoo = np.zeros((nocc[1], nvir[1], nocc[1], nocc[1]), dtype=types[float]) - rdm2_f_bbbb_ovoo += einsum(delta.bb.oo, (0, 1), l1.bb, (2, 3), (0, 2, 1, 3)) - rdm2_f_bbbb_ovoo += einsum(delta.bb.oo, (0, 1), l1.bb, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_aaaa_vooo = np.zeros((nvir[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - rdm2_f_aaaa_vooo += einsum(delta.aa.oo, (0, 1), l1.aa, (2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_aaaa_vooo += einsum(delta.aa.oo, (0, 1), l1.aa, (2, 3), (2, 0, 3, 1)) - rdm2_f_abab_vooo = np.zeros((nvir[0], nocc[1], nocc[0], nocc[1]), dtype=types[float]) - rdm2_f_abab_vooo += einsum(delta.bb.oo, (0, 1), l1.aa, (2, 3), (2, 0, 3, 1)) - rdm2_f_bbbb_vooo = np.zeros((nvir[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - rdm2_f_bbbb_vooo += einsum(delta.bb.oo, (0, 1), l1.bb, (2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_bbbb_vooo += einsum(delta.bb.oo, (0, 1), l1.bb, (2, 3), (2, 0, 3, 1)) - rdm2_f_aaaa_oovv = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - rdm2_f_aaaa_oovv += einsum(t2.aaaa, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - rdm2_f_abab_oovv = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - rdm2_f_abab_oovv += einsum(t2.abab, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_bbbb_oovv = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - rdm2_f_bbbb_oovv += einsum(t2.bbbb, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - rdm2_f_bbbb_oovv += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_bbbb_oovv += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3)) - rdm2_f_aaaa_ovov = np.zeros((nocc[0], nvir[0], nocc[0], nvir[0]), dtype=types[float]) - rdm2_f_aaaa_ovov += einsum(l1.aa, (0, 1), t1.aa, (2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_bbbb_ovov = np.zeros((nocc[1], nvir[1], nocc[1], nvir[1]), dtype=types[float]) - rdm2_f_bbbb_ovov += einsum(l1.bb, (0, 1), t1.bb, (2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_aaaa_ovvo = np.zeros((nocc[0], nvir[0], nvir[0], nocc[0]), dtype=types[float]) - rdm2_f_aaaa_ovvo += einsum(l1.aa, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1)) - rdm2_f_abab_ovvo = np.zeros((nocc[0], nvir[1], nvir[0], nocc[1]), dtype=types[float]) - rdm2_f_abab_ovvo += einsum(l1.bb, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1)) - rdm2_f_bbbb_ovvo = np.zeros((nocc[1], nvir[1], nvir[1], nocc[1]), dtype=types[float]) - rdm2_f_bbbb_ovvo += einsum(l1.bb, (0, 1), t1.bb, (2, 3), (2, 0, 3, 1)) - rdm2_f_aaaa_voov = np.zeros((nvir[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - rdm2_f_aaaa_voov += einsum(l1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 1, 3)) - rdm2_f_abab_voov = np.zeros((nvir[0], nocc[1], nocc[0], nvir[1]), dtype=types[float]) - rdm2_f_abab_voov += einsum(l1.aa, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3)) - rdm2_f_bbbb_voov = np.zeros((nvir[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - rdm2_f_bbbb_voov += einsum(l1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3)) - rdm2_f_aaaa_vovo = np.zeros((nvir[0], nocc[0], nvir[0], nocc[0]), dtype=types[float]) - rdm2_f_aaaa_vovo += einsum(l1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_bbbb_vovo = np.zeros((nvir[1], nocc[1], nvir[1], nocc[1]), dtype=types[float]) - rdm2_f_bbbb_vovo += einsum(l1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_aaaa_vvoo = np.zeros((nvir[0], nvir[0], nocc[0], nocc[0]), dtype=types[float]) - rdm2_f_aaaa_vvoo += einsum(l2.aaaa, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - rdm2_f_abab_vvoo = np.zeros((nvir[0], nvir[1], nocc[0], nocc[1]), dtype=types[float]) - rdm2_f_abab_vvoo += einsum(l2.abab, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_bbbb_vvoo = np.zeros((nvir[1], nvir[1], nocc[1], nocc[1]), dtype=types[float]) - rdm2_f_bbbb_vvoo += einsum(l2.bbbb, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - rdm2_f_abab_ovvv = np.zeros((nocc[0], nvir[1], nvir[0], nvir[1]), dtype=types[float]) - rdm2_f_abab_ovvv += einsum(l1.bb, (0, 1), t2.abab, (2, 1, 3, 4), (2, 0, 3, 4)) - rdm2_f_abab_vovv = np.zeros((nvir[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - rdm2_f_abab_vovv += einsum(l1.aa, (0, 1), t2.abab, (1, 2, 3, 4), (0, 2, 3, 4)) - rdm2_f_abab_vvov = np.zeros((nvir[0], nvir[1], nocc[0], nvir[1]), dtype=types[float]) - rdm2_f_abab_vvov += einsum(t1.bb, (0, 1), l2.abab, (2, 3, 4, 0), (2, 3, 4, 1)) - rdm2_f_aaaa_vvvv = np.zeros((nvir[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - rdm2_f_aaaa_vvvv += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (2, 3, 4, 5), (0, 1, 4, 5)) * 2.0 - rdm2_f_abab_vvvv = np.zeros((nvir[0], nvir[1], nvir[0], nvir[1]), dtype=types[float]) - rdm2_f_abab_vvvv += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 4, 5), (0, 1, 4, 5)) - rdm2_f_bbbb_vvvv = np.zeros((nvir[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - rdm2_f_bbbb_vvvv += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (2, 3, 4, 5), (0, 1, 4, 5)) * 2.0 - x0 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x0 += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 5, 0, 1), (2, 3, 4, 5)) - rdm2_f_aaaa_oooo += einsum(x0, (0, 1, 2, 3), (3, 2, 1, 0)) * 2.0 - x1 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x1 += einsum(t1.aa, (0, 1), l2.aaaa, (2, 1, 3, 4), (3, 4, 0, 2)) - rdm2_f_aaaa_ovoo += einsum(x1, (0, 1, 2, 3), (2, 3, 1, 0)) * -2.0 - rdm2_f_aaaa_vooo += einsum(x1, (0, 1, 2, 3), (3, 2, 1, 0)) * 2.0 - x2 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x2 += einsum(t1.aa, (0, 1), x1, (2, 3, 4, 1), (2, 3, 0, 4)) - rdm2_f_aaaa_oooo += einsum(x2, (0, 1, 2, 3), (2, 3, 1, 0)) * -2.0 - x3 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x3 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 0, 1), (2, 4)) - x4 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x4 += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 3, 0, 1), (2, 4)) - x5 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x5 += einsum(x3, (0, 1), (0, 1)) - x5 += einsum(x4, (0, 1), (0, 1)) * 2.0 - rdm2_f_aaaa_oooo += einsum(delta.aa.oo, (0, 1), x5, (2, 3), (0, 3, 1, 2)) * -1.0 - rdm2_f_aaaa_oooo += einsum(delta.aa.oo, (0, 1), x5, (2, 3), (0, 3, 2, 1)) - rdm2_f_aaaa_oooo += einsum(delta.aa.oo, (0, 1), x5, (2, 3), (3, 0, 1, 2)) - rdm2_f_aaaa_oooo += einsum(delta.aa.oo, (0, 1), x5, (2, 3), (3, 0, 2, 1)) * -1.0 - x6 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x6 += einsum(l1.aa, (0, 1), t1.aa, (2, 0), (1, 2)) - rdm2_f_aaaa_oooo += einsum(delta.aa.oo, (0, 1), x6, (2, 3), (0, 3, 1, 2)) * -1.0 - rdm2_f_aaaa_oooo += einsum(delta.aa.oo, (0, 1), x6, (2, 3), (3, 0, 1, 2)) - rdm2_f_aaaa_oooo += einsum(delta.aa.oo, (0, 1), x6, (2, 3), (0, 3, 2, 1)) - rdm2_f_aaaa_oooo += einsum(delta.aa.oo, (0, 1), x6, (2, 3), (3, 0, 2, 1)) * -1.0 - x7 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x7 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 5, 0, 1), (3, 5, 2, 4)) - rdm2_f_abab_oooo = np.zeros((nocc[0], nocc[1], nocc[0], nocc[1]), dtype=types[float]) - rdm2_f_abab_oooo += einsum(x7, (0, 1, 2, 3), (3, 1, 2, 0)) - x8 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x8 += einsum(t1.aa, (0, 1), l2.abab, (1, 2, 3, 4), (4, 2, 3, 0)) - rdm2_f_abab_ovoo += einsum(x8, (0, 1, 2, 3), (3, 1, 2, 0)) * -1.0 - rdm2_f_abab_ovov = np.zeros((nocc[0], nvir[1], nocc[0], nvir[1]), dtype=types[float]) - rdm2_f_abab_ovov += einsum(t1.bb, (0, 1), x8, (0, 2, 3, 4), (4, 2, 3, 1)) * -1.0 - rdm2_f_abab_ovvv += einsum(t2.abab, (0, 1, 2, 3), x8, (1, 4, 0, 5), (5, 4, 2, 3)) * -1.0 - x9 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x9 += einsum(t1.bb, (0, 1), x8, (2, 1, 3, 4), (2, 0, 3, 4)) - rdm2_f_abab_oooo += einsum(x9, (0, 1, 2, 3), (3, 1, 2, 0)) - x10 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x10 += einsum(delta.aa.oo, (0, 1), (0, 1)) * -1.0 - x10 += einsum(x6, (0, 1), (0, 1)) - x10 += einsum(x3, (0, 1), (0, 1)) - x10 += einsum(x4, (0, 1), (0, 1)) * 2.0 - rdm2_f_abab_oooo += einsum(delta.bb.oo, (0, 1), x10, (2, 3), (3, 0, 2, 1)) * -1.0 - del x10 - x11 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x11 += einsum(l1.bb, (0, 1), t1.bb, (2, 0), (1, 2)) - rdm2_f_bbbb_oooo += einsum(delta.bb.oo, (0, 1), x11, (2, 3), (0, 3, 1, 2)) * -1.0 - rdm2_f_bbbb_oooo += einsum(delta.bb.oo, (0, 1), x11, (2, 3), (3, 0, 1, 2)) - rdm2_f_bbbb_oooo += einsum(delta.bb.oo, (0, 1), x11, (2, 3), (0, 3, 2, 1)) - rdm2_f_bbbb_oooo += einsum(delta.bb.oo, (0, 1), x11, (2, 3), (3, 0, 2, 1)) * -1.0 - x12 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x12 += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 3, 0, 1), (2, 4)) - x13 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x13 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 1), (3, 4)) - x14 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x14 += einsum(x11, (0, 1), (0, 1)) * 0.5 - x14 += einsum(x12, (0, 1), (0, 1)) - x14 += einsum(x13, (0, 1), (0, 1)) * 0.5 - rdm2_f_abab_oooo += einsum(delta.aa.oo, (0, 1), x14, (2, 3), (0, 3, 1, 2)) * -2.0 - del x14 - x15 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x15 += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 5, 0, 1), (2, 3, 4, 5)) - rdm2_f_bbbb_oooo += einsum(x15, (0, 1, 2, 3), (3, 2, 1, 0)) * 2.0 - x16 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x16 += einsum(t1.bb, (0, 1), l2.bbbb, (2, 1, 3, 4), (3, 4, 0, 2)) - rdm2_f_bbbb_ovoo += einsum(x16, (0, 1, 2, 3), (2, 3, 1, 0)) * -2.0 - rdm2_f_bbbb_vooo += einsum(x16, (0, 1, 2, 3), (3, 2, 1, 0)) * 2.0 - x17 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x17 += einsum(t1.bb, (0, 1), x16, (2, 3, 4, 1), (2, 3, 0, 4)) - rdm2_f_bbbb_oooo += einsum(x17, (0, 1, 2, 3), (2, 3, 1, 0)) * -2.0 - x18 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x18 += einsum(x12, (0, 1), (0, 1)) - x18 += einsum(x13, (0, 1), (0, 1)) * 0.5 - rdm2_f_bbbb_oooo += einsum(delta.bb.oo, (0, 1), x18, (2, 3), (0, 3, 1, 2)) * -2.0 - rdm2_f_bbbb_oooo += einsum(delta.bb.oo, (0, 1), x18, (2, 3), (0, 3, 2, 1)) * 2.0 - rdm2_f_bbbb_oooo += einsum(delta.bb.oo, (0, 1), x18, (2, 3), (3, 0, 1, 2)) * 2.0 - rdm2_f_bbbb_oooo += einsum(delta.bb.oo, (0, 1), x18, (2, 3), (3, 0, 2, 1)) * -2.0 - x19 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x19 += einsum(l1.aa, (0, 1), t2.aaaa, (2, 3, 4, 0), (1, 2, 3, 4)) - rdm2_f_aaaa_ooov = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - rdm2_f_aaaa_ooov += einsum(x19, (0, 1, 2, 3), (2, 1, 0, 3)) * -2.0 - rdm2_f_aaaa_oovo = np.zeros((nocc[0], nocc[0], nvir[0], nocc[0]), dtype=types[float]) - rdm2_f_aaaa_oovo += einsum(x19, (0, 1, 2, 3), (2, 1, 3, 0)) * 2.0 - x20 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x20 += einsum(t2.abab, (0, 1, 2, 3), x8, (1, 3, 4, 5), (4, 5, 0, 2)) - x21 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x21 += einsum(t2.aaaa, (0, 1, 2, 3), x1, (4, 1, 5, 3), (4, 5, 0, 2)) * -1.0 - x22 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x22 += einsum(x6, (0, 1), (0, 1)) * 0.5 - x22 += einsum(x3, (0, 1), (0, 1)) * 0.5 - del x3 - x22 += einsum(x4, (0, 1), (0, 1)) - del x4 - rdm2_f_abab_ooov = np.zeros((nocc[0], nocc[1], nocc[0], nvir[1]), dtype=types[float]) - rdm2_f_abab_ooov += einsum(t1.bb, (0, 1), x22, (2, 3), (3, 0, 2, 1)) * -2.0 - rdm2_f_abab_oovv += einsum(x22, (0, 1), t2.abab, (0, 2, 3, 4), (1, 2, 3, 4)) * -2.0 - x23 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x23 += einsum(delta.aa.oo, (0, 1), t1.aa, (2, 3), (0, 1, 2, 3)) - x23 += einsum(x20, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x23 += einsum(x21, (0, 1, 2, 3), (1, 0, 2, 3)) * -4.0 - x23 += einsum(t1.aa, (0, 1), x22, (2, 3), (0, 2, 3, 1)) * 2.0 - rdm2_f_aaaa_ooov += einsum(x23, (0, 1, 2, 3), (0, 2, 1, 3)) - rdm2_f_aaaa_ooov += einsum(x23, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_aaaa_oovo += einsum(x23, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_aaaa_oovo += einsum(x23, (0, 1, 2, 3), (2, 0, 3, 1)) - del x23 - x24 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x24 += einsum(l1.bb, (0, 1), t2.abab, (2, 1, 3, 0), (2, 3)) - x25 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x25 += einsum(l1.aa, (0, 1), t2.aaaa, (2, 1, 3, 0), (2, 3)) - x26 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x26 += einsum(t2.abab, (0, 1, 2, 3), x8, (1, 3, 0, 4), (4, 2)) - x27 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x27 += einsum(t2.aaaa, (0, 1, 2, 3), x1, (0, 1, 4, 3), (4, 2)) * -1.0 - x28 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x28 += einsum(t1.aa, (0, 1), x22, (0, 2), (2, 1)) * 2.0 - x29 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x29 += einsum(x24, (0, 1), (0, 1)) * -1.0 - x29 += einsum(x25, (0, 1), (0, 1)) * -2.0 - x29 += einsum(x26, (0, 1), (0, 1)) - x29 += einsum(x27, (0, 1), (0, 1)) * 2.0 - x29 += einsum(x28, (0, 1), (0, 1)) - del x28 - rdm2_f_aaaa_ooov += einsum(delta.aa.oo, (0, 1), x29, (2, 3), (0, 2, 1, 3)) * -1.0 - rdm2_f_aaaa_ooov += einsum(delta.aa.oo, (0, 1), x29, (2, 3), (2, 0, 1, 3)) - rdm2_f_aaaa_oovo += einsum(delta.aa.oo, (0, 1), x29, (2, 3), (0, 2, 3, 1)) - rdm2_f_aaaa_oovo += einsum(delta.aa.oo, (0, 1), x29, (2, 3), (2, 0, 3, 1)) * -1.0 - rdm2_f_abab_oovo = np.zeros((nocc[0], nocc[1], nvir[0], nocc[1]), dtype=types[float]) - rdm2_f_abab_oovo += einsum(delta.bb.oo, (0, 1), x29, (2, 3), (2, 0, 3, 1)) * -1.0 - x30 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x30 += einsum(x0, (0, 1, 2, 3), (1, 0, 3, 2)) - del x0 - x30 += einsum(x2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x2 - rdm2_f_aaaa_oovv += einsum(t2.aaaa, (0, 1, 2, 3), x30, (0, 1, 4, 5), (5, 4, 2, 3)) * -2.0 - x31 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x31 += einsum(t1.aa, (0, 1), x30, (0, 2, 3, 4), (2, 3, 4, 1)) * 2.0 - rdm2_f_aaaa_ooov += einsum(x31, (0, 1, 2, 3), (2, 1, 0, 3)) - rdm2_f_aaaa_oovo += einsum(x31, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - del x31 - x32 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x32 += einsum(t1.bb, (0, 1), l2.abab, (2, 1, 3, 4), (4, 0, 3, 2)) - rdm2_f_abab_vooo += einsum(x32, (0, 1, 2, 3), (3, 1, 2, 0)) * -1.0 - rdm2_f_abab_vovo = np.zeros((nvir[0], nocc[1], nvir[0], nocc[1]), dtype=types[float]) - rdm2_f_abab_vovo += einsum(t1.aa, (0, 1), x32, (2, 3, 0, 4), (4, 3, 1, 2)) * -1.0 - rdm2_f_abab_vovv += einsum(t2.abab, (0, 1, 2, 3), x32, (1, 4, 0, 5), (5, 4, 2, 3)) * -1.0 - x33 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x33 += einsum(t2.abab, (0, 1, 2, 3), x32, (1, 4, 5, 2), (4, 3, 5, 0)) - rdm2_f_abab_ooov += einsum(x33, (0, 1, 2, 3), (3, 0, 2, 1)) - x34 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x34 += einsum(t2.bbbb, (0, 1, 2, 3), x8, (1, 3, 4, 5), (0, 2, 4, 5)) - rdm2_f_abab_ooov += einsum(x34, (0, 1, 2, 3), (3, 0, 2, 1)) * -2.0 - x35 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x35 += einsum(t2.abab, (0, 1, 2, 3), x1, (4, 0, 5, 2), (1, 3, 4, 5)) * -1.0 - rdm2_f_abab_ooov += einsum(x35, (0, 1, 2, 3), (3, 0, 2, 1)) * -2.0 - x36 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x36 += einsum(l1.aa, (0, 1), t2.abab, (2, 3, 0, 4), (3, 4, 1, 2)) - rdm2_f_abab_ooov += einsum(x36, (0, 1, 2, 3), (3, 0, 2, 1)) * -1.0 - x37 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x37 += einsum(x7, (0, 1, 2, 3), (0, 1, 2, 3)) - del x7 - x37 += einsum(x9, (0, 1, 2, 3), (0, 1, 2, 3)) - del x9 - rdm2_f_abab_ooov += einsum(t1.bb, (0, 1), x37, (0, 2, 3, 4), (4, 2, 3, 1)) - rdm2_f_abab_oovo += einsum(t1.aa, (0, 1), x37, (2, 3, 0, 4), (4, 3, 1, 2)) - rdm2_f_abab_oovv += einsum(t2.abab, (0, 1, 2, 3), x37, (1, 4, 0, 5), (5, 4, 2, 3)) - x38 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x38 += einsum(l1.bb, (0, 1), t2.bbbb, (2, 1, 3, 0), (2, 3)) - x39 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x39 += einsum(l1.aa, (0, 1), t2.abab, (1, 2, 0, 3), (2, 3)) - x40 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x40 += einsum(t2.bbbb, (0, 1, 2, 3), x16, (0, 1, 4, 3), (4, 2)) * -1.0 - x41 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x41 += einsum(t2.abab, (0, 1, 2, 3), x32, (1, 4, 0, 2), (4, 3)) - x42 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x42 += einsum(x11, (0, 1), (0, 1)) - x42 += einsum(x12, (0, 1), (0, 1)) * 2.0 - x42 += einsum(x13, (0, 1), (0, 1)) - rdm2_f_abab_oovv += einsum(x42, (0, 1), t2.abab, (2, 0, 3, 4), (2, 1, 3, 4)) * -1.0 - x43 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x43 += einsum(t1.bb, (0, 1), (0, 1)) * -1.0 - x43 += einsum(x38, (0, 1), (0, 1)) * -2.0 - x43 += einsum(x39, (0, 1), (0, 1)) * -1.0 - x43 += einsum(x40, (0, 1), (0, 1)) * 2.0 - x43 += einsum(x41, (0, 1), (0, 1)) - x43 += einsum(t1.bb, (0, 1), x42, (0, 2), (2, 1)) - rdm2_f_abab_ooov += einsum(delta.aa.oo, (0, 1), x43, (2, 3), (0, 2, 1, 3)) * -1.0 - del x43 - x44 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x44 += einsum(l1.bb, (0, 1), t2.bbbb, (2, 3, 4, 0), (1, 2, 3, 4)) - rdm2_f_bbbb_ooov = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - rdm2_f_bbbb_ooov += einsum(x44, (0, 1, 2, 3), (2, 1, 0, 3)) * -2.0 - rdm2_f_bbbb_oovo = np.zeros((nocc[1], nocc[1], nvir[1], nocc[1]), dtype=types[float]) - rdm2_f_bbbb_oovo += einsum(x44, (0, 1, 2, 3), (2, 1, 3, 0)) * 2.0 - x45 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x45 += einsum(t1.bb, (0, 1), x42, (0, 2), (2, 1)) * 0.5 - x46 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x46 += einsum(x38, (0, 1), (0, 1)) * -1.0 - x46 += einsum(x39, (0, 1), (0, 1)) * -0.5 - x46 += einsum(x40, (0, 1), (0, 1)) - x46 += einsum(x41, (0, 1), (0, 1)) * 0.5 - x46 += einsum(x45, (0, 1), (0, 1)) - rdm2_f_bbbb_ooov += einsum(delta.bb.oo, (0, 1), x46, (2, 3), (0, 2, 1, 3)) * -2.0 - rdm2_f_bbbb_ooov += einsum(delta.bb.oo, (0, 1), x46, (2, 3), (2, 0, 1, 3)) * 2.0 - rdm2_f_bbbb_oovo += einsum(delta.bb.oo, (0, 1), x46, (2, 3), (0, 2, 3, 1)) * 2.0 - rdm2_f_bbbb_oovo += einsum(delta.bb.oo, (0, 1), x46, (2, 3), (2, 0, 3, 1)) * -2.0 - x47 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x47 += einsum(t2.bbbb, (0, 1, 2, 3), x16, (4, 1, 5, 3), (4, 5, 0, 2)) * -1.0 - x48 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x48 += einsum(t2.abab, (0, 1, 2, 3), x32, (4, 5, 0, 2), (4, 5, 1, 3)) - x49 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x49 += einsum(delta.bb.oo, (0, 1), t1.bb, (2, 3), (0, 1, 2, 3)) - x49 += einsum(x47, (0, 1, 2, 3), (1, 0, 2, 3)) * -4.0 - x49 += einsum(x48, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x49 += einsum(t1.bb, (0, 1), x42, (2, 3), (0, 2, 3, 1)) - del x42 - rdm2_f_bbbb_ooov += einsum(x49, (0, 1, 2, 3), (0, 2, 1, 3)) - rdm2_f_bbbb_ooov += einsum(x49, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_bbbb_oovo += einsum(x49, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_bbbb_oovo += einsum(x49, (0, 1, 2, 3), (2, 0, 3, 1)) - del x49 - x50 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x50 += einsum(x15, (0, 1, 2, 3), (1, 0, 3, 2)) - del x15 - x50 += einsum(x17, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x17 - rdm2_f_bbbb_oovv += einsum(t2.bbbb, (0, 1, 2, 3), x50, (0, 1, 4, 5), (5, 4, 2, 3)) * -2.0 - x51 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x51 += einsum(t1.bb, (0, 1), x50, (0, 2, 3, 4), (2, 3, 4, 1)) * 2.0 - rdm2_f_bbbb_ooov += einsum(x51, (0, 1, 2, 3), (2, 1, 0, 3)) - rdm2_f_bbbb_oovo += einsum(x51, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - del x51 - x52 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x52 += einsum(t2.abab, (0, 1, 2, 3), x16, (4, 1, 5, 3), (4, 5, 0, 2)) * -1.0 - rdm2_f_abab_oovo += einsum(x52, (0, 1, 2, 3), (2, 1, 3, 0)) * -2.0 - x53 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x53 += einsum(t2.abab, (0, 1, 2, 3), x8, (4, 3, 0, 5), (4, 1, 5, 2)) - rdm2_f_abab_oovo += einsum(x53, (0, 1, 2, 3), (2, 1, 3, 0)) - x54 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x54 += einsum(t2.aaaa, (0, 1, 2, 3), x32, (4, 5, 1, 3), (4, 5, 0, 2)) - rdm2_f_abab_oovo += einsum(x54, (0, 1, 2, 3), (2, 1, 3, 0)) * -2.0 - x55 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x55 += einsum(l1.bb, (0, 1), t2.abab, (2, 3, 4, 0), (1, 3, 2, 4)) - rdm2_f_abab_oovo += einsum(x55, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - x56 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x56 += einsum(delta.bb.oo, (0, 1), (0, 1)) * -0.5 - x56 += einsum(x11, (0, 1), (0, 1)) * 0.5 - x56 += einsum(x12, (0, 1), (0, 1)) - del x12 - x56 += einsum(x13, (0, 1), (0, 1)) * 0.5 - del x13 - rdm2_f_abab_oovo += einsum(t1.aa, (0, 1), x56, (2, 3), (0, 3, 1, 2)) * -2.0 - del x56 - x57 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x57 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 5, 1), (2, 4, 0, 5)) - rdm2_f_aaaa_ovov += einsum(x57, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_aaaa_ovvo += einsum(x57, (0, 1, 2, 3), (1, 2, 3, 0)) - rdm2_f_aaaa_voov += einsum(x57, (0, 1, 2, 3), (2, 1, 0, 3)) - rdm2_f_aaaa_vovo += einsum(x57, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - x58 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x58 += einsum(t2.aaaa, (0, 1, 2, 3), x57, (1, 4, 3, 5), (4, 0, 5, 2)) - x59 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x59 += einsum(x20, (0, 1, 2, 3), (0, 1, 2, 3)) - del x20 - x59 += einsum(x21, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.0 - del x21 - x60 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x60 += einsum(t1.aa, (0, 1), x59, (0, 2, 3, 4), (2, 3, 1, 4)) - del x59 - x61 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x61 += einsum(x58, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - del x58 - x61 += einsum(x60, (0, 1, 2, 3), (0, 1, 2, 3)) - del x60 - x61 += einsum(t1.aa, (0, 1), x29, (2, 3), (0, 2, 1, 3)) - del x29 - rdm2_f_aaaa_oovv += einsum(x61, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - rdm2_f_aaaa_oovv += einsum(x61, (0, 1, 2, 3), (0, 1, 3, 2)) - rdm2_f_aaaa_oovv += einsum(x61, (0, 1, 2, 3), (1, 0, 2, 3)) - rdm2_f_aaaa_oovv += einsum(x61, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x61 - x62 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x62 += einsum(x6, (0, 1), t2.aaaa, (2, 0, 3, 4), (1, 2, 3, 4)) - del x6 - x63 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x63 += einsum(x5, (0, 1), t2.aaaa, (2, 0, 3, 4), (2, 1, 3, 4)) * -2.0 - del x5 - x64 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x64 += einsum(x62, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - del x62 - x64 += einsum(x63, (0, 1, 2, 3), (0, 1, 3, 2)) - del x63 - rdm2_f_aaaa_oovv += einsum(x64, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - rdm2_f_aaaa_oovv += einsum(x64, (0, 1, 2, 3), (1, 0, 2, 3)) - del x64 - x65 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x65 += einsum(t1.aa, (0, 1), x19, (0, 2, 3, 4), (2, 3, 1, 4)) - del x19 - x66 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x66 += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 3, 5, 1), (2, 4, 0, 5)) - rdm2_f_aaaa_ovov += einsum(x66, (0, 1, 2, 3), (1, 2, 0, 3)) * -4.0 - rdm2_f_aaaa_ovvo += einsum(x66, (0, 1, 2, 3), (1, 2, 3, 0)) * 4.0 - rdm2_f_aaaa_voov += einsum(x66, (0, 1, 2, 3), (2, 1, 0, 3)) * 4.0 - rdm2_f_aaaa_vovo += einsum(x66, (0, 1, 2, 3), (2, 1, 3, 0)) * -4.0 - x67 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x67 += einsum(t2.aaaa, (0, 1, 2, 3), x66, (1, 4, 3, 5), (0, 4, 2, 5)) - x68 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x68 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 4, 1), (0, 4)) - x69 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x69 += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (2, 3, 4, 1), (0, 4)) - x70 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x70 += einsum(x68, (0, 1), (0, 1)) - x70 += einsum(x69, (0, 1), (0, 1)) * 2.0 - rdm2_f_abab_oovv += einsum(x70, (0, 1), t2.abab, (2, 3, 0, 4), (2, 3, 1, 4)) * -1.0 - x71 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x71 += einsum(x70, (0, 1), t2.aaaa, (2, 3, 4, 0), (2, 3, 4, 1)) * -2.0 - del x70 - x72 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x72 += einsum(x65, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x65 - x72 += einsum(x67, (0, 1, 2, 3), (0, 1, 2, 3)) * 8.0 - del x67 - x72 += einsum(x71, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x71 - rdm2_f_aaaa_oovv += einsum(x72, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_aaaa_oovv += einsum(x72, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x72 - x73 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x73 += einsum(l2.bbbb, (0, 1, 2, 3), t2.abab, (4, 3, 5, 1), (2, 0, 4, 5)) - rdm2_f_abab_ovvo += einsum(x73, (0, 1, 2, 3), (2, 1, 3, 0)) * 2.0 - x74 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x74 += einsum(t2.abab, (0, 1, 2, 3), x73, (1, 3, 4, 5), (4, 0, 5, 2)) - x75 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x75 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 1, 3)) - x75 += einsum(x74, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - del x74 - rdm2_f_aaaa_oovv += einsum(x75, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_aaaa_oovv += einsum(x75, (0, 1, 2, 3), (0, 1, 2, 3)) - del x75 - x76 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x76 += einsum(t1.aa, (0, 1), x30, (0, 2, 3, 4), (2, 4, 3, 1)) - del x30 - rdm2_f_aaaa_oovv += einsum(t1.aa, (0, 1), x76, (0, 2, 3, 4), (2, 3, 4, 1)) * -2.0 - del x76 - x77 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x77 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 5, 1), (3, 4, 0, 5)) - rdm2_f_abab_oovv += einsum(t2.abab, (0, 1, 2, 3), x77, (1, 4, 2, 5), (0, 4, 5, 3)) - rdm2_f_abab_vovo += einsum(x77, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - rdm2_f_abab_vovv += einsum(t1.bb, (0, 1), x77, (0, 2, 3, 4), (3, 2, 4, 1)) * -1.0 - del x77 - x78 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x78 += einsum(l2.abab, (0, 1, 2, 3), t2.aaaa, (4, 2, 5, 0), (3, 1, 4, 5)) - rdm2_f_abab_ovvo += einsum(x78, (0, 1, 2, 3), (2, 1, 3, 0)) * 2.0 - x79 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x79 += einsum(x73, (0, 1, 2, 3), (0, 1, 2, 3)) - x79 += einsum(x78, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_abab_oovv += einsum(t2.bbbb, (0, 1, 2, 3), x79, (1, 3, 4, 5), (4, 0, 5, 2)) * 4.0 - del x79 - x80 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x80 += einsum(x57, (0, 1, 2, 3), (0, 1, 2, 3)) - del x57 - x80 += einsum(x66, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.0 - del x66 - rdm2_f_abab_oovv += einsum(t2.abab, (0, 1, 2, 3), x80, (0, 4, 2, 5), (4, 1, 5, 3)) - x81 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x81 += einsum(x55, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - del x55 - x81 += einsum(x52, (0, 1, 2, 3), (0, 1, 2, 3)) - del x52 - x81 += einsum(x54, (0, 1, 2, 3), (0, 1, 2, 3)) - del x54 - x81 += einsum(x53, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - del x53 - x81 += einsum(t1.aa, (0, 1), x37, (2, 3, 0, 4), (2, 3, 4, 1)) * -0.5 - del x37 - rdm2_f_abab_oovv += einsum(t1.bb, (0, 1), x81, (0, 2, 3, 4), (3, 2, 4, 1)) * -2.0 - del x81 - x82 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x82 += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (2, 3, 4, 1), (0, 4)) - x83 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x83 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 0, 4), (1, 4)) - x84 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x84 += einsum(x82, (0, 1), (0, 1)) - x84 += einsum(x83, (0, 1), (0, 1)) * 0.5 - rdm2_f_abab_oovv += einsum(x84, (0, 1), t2.abab, (2, 3, 4, 0), (2, 3, 4, 1)) * -2.0 - x85 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x85 += einsum(x36, (0, 1, 2, 3), (0, 1, 2, 3)) - del x36 - x85 += einsum(x34, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x34 - x85 += einsum(x33, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x33 - x85 += einsum(x35, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x35 - rdm2_f_abab_oovv += einsum(t1.aa, (0, 1), x85, (2, 3, 0, 4), (4, 2, 1, 3)) * -1.0 - del x85 - x86 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x86 += einsum(t1.bb, (0, 1), (0, 1)) * -0.5 - x86 += einsum(x38, (0, 1), (0, 1)) * -1.0 - del x38 - x86 += einsum(x39, (0, 1), (0, 1)) * -0.5 - del x39 - x86 += einsum(x40, (0, 1), (0, 1)) - del x40 - x86 += einsum(x41, (0, 1), (0, 1)) * 0.5 - del x41 - x86 += einsum(x45, (0, 1), (0, 1)) - del x45 - rdm2_f_abab_oovv += einsum(t1.aa, (0, 1), x86, (2, 3), (0, 2, 1, 3)) * -2.0 - del x86 - x87 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x87 += einsum(x24, (0, 1), (0, 1)) * -0.5 - del x24 - x87 += einsum(x25, (0, 1), (0, 1)) * -1.0 - del x25 - x87 += einsum(x26, (0, 1), (0, 1)) * 0.5 - del x26 - x87 += einsum(x27, (0, 1), (0, 1)) - del x27 - x87 += einsum(t1.aa, (0, 1), x22, (0, 2), (2, 1)) - del x22 - rdm2_f_abab_oovv += einsum(t1.bb, (0, 1), x87, (2, 3), (2, 0, 3, 1)) * -2.0 - del x87 - x88 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x88 += einsum(t1.bb, (0, 1), x44, (0, 2, 3, 4), (2, 3, 1, 4)) - del x44 - x89 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x89 += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 3, 5, 1), (2, 4, 0, 5)) - rdm2_f_bbbb_ovov += einsum(x89, (0, 1, 2, 3), (1, 2, 0, 3)) * -4.0 - rdm2_f_bbbb_ovvo += einsum(x89, (0, 1, 2, 3), (1, 2, 3, 0)) * 4.0 - rdm2_f_bbbb_voov += einsum(x89, (0, 1, 2, 3), (2, 1, 0, 3)) * 4.0 - rdm2_f_bbbb_vovo += einsum(x89, (0, 1, 2, 3), (2, 1, 3, 0)) * -4.0 - x90 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x90 += einsum(t2.bbbb, (0, 1, 2, 3), x89, (1, 4, 3, 5), (4, 0, 5, 2)) - x91 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x91 += einsum(l2.aaaa, (0, 1, 2, 3), t2.abab, (3, 4, 1, 5), (4, 5, 2, 0)) - rdm2_f_abab_voov += einsum(x91, (0, 1, 2, 3), (3, 0, 2, 1)) * 2.0 - x92 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x92 += einsum(t2.abab, (0, 1, 2, 3), x91, (4, 5, 0, 2), (1, 4, 3, 5)) - x93 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x93 += einsum(x84, (0, 1), t2.bbbb, (2, 3, 4, 0), (2, 3, 4, 1)) * -4.0 - del x84 - x94 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x94 += einsum(x88, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x88 - x94 += einsum(x90, (0, 1, 2, 3), (0, 1, 2, 3)) * 8.0 - del x90 - x94 += einsum(x92, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x92 - x94 += einsum(x93, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x93 - rdm2_f_bbbb_oovv += einsum(x94, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_bbbb_oovv += einsum(x94, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x94 - x95 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x95 += einsum(x11, (0, 1), t2.bbbb, (2, 0, 3, 4), (1, 2, 3, 4)) - del x11 - x96 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x96 += einsum(x18, (0, 1), t2.bbbb, (2, 0, 3, 4), (2, 1, 3, 4)) * -4.0 - del x18 - x97 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x97 += einsum(x95, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - del x95 - x97 += einsum(x96, (0, 1, 2, 3), (0, 1, 3, 2)) - del x96 - rdm2_f_bbbb_oovv += einsum(x97, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - rdm2_f_bbbb_oovv += einsum(x97, (0, 1, 2, 3), (1, 0, 2, 3)) - del x97 - x98 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x98 += einsum(l2.abab, (0, 1, 2, 3), t2.bbbb, (4, 3, 5, 1), (4, 5, 2, 0)) - rdm2_f_abab_voov += einsum(x98, (0, 1, 2, 3), (3, 0, 2, 1)) * 2.0 - x99 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x99 += einsum(t2.abab, (0, 1, 2, 3), x98, (4, 5, 0, 2), (4, 1, 5, 3)) - x100 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x100 += einsum(x47, (0, 1, 2, 3), (0, 1, 2, 3)) - del x47 - x100 += einsum(x48, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.25 - del x48 - x101 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x101 += einsum(t1.bb, (0, 1), x100, (0, 2, 3, 4), (2, 3, 1, 4)) * 4.0 - del x100 - x102 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x102 += einsum(x99, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - del x99 - x102 += einsum(x101, (0, 1, 2, 3), (0, 1, 2, 3)) - del x101 - x102 += einsum(t1.bb, (0, 1), x46, (2, 3), (0, 2, 1, 3)) * 2.0 - del x46 - rdm2_f_bbbb_oovv += einsum(x102, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - rdm2_f_bbbb_oovv += einsum(x102, (0, 1, 2, 3), (0, 1, 3, 2)) - rdm2_f_bbbb_oovv += einsum(x102, (0, 1, 2, 3), (1, 0, 2, 3)) - rdm2_f_bbbb_oovv += einsum(x102, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x102 - x103 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x103 += einsum(t1.bb, (0, 1), x50, (0, 2, 3, 4), (2, 4, 3, 1)) - del x50 - rdm2_f_bbbb_oovv += einsum(t1.bb, (0, 1), x103, (0, 2, 3, 4), (2, 3, 1, 4)) * 2.0 - del x103 - x104 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x104 += einsum(t1.aa, (0, 1), x1, (2, 0, 3, 4), (2, 3, 4, 1)) - rdm2_f_aaaa_ovov += einsum(x104, (0, 1, 2, 3), (1, 2, 0, 3)) * 2.0 - rdm2_f_aaaa_ovvo += einsum(x104, (0, 1, 2, 3), (1, 2, 3, 0)) * -2.0 - rdm2_f_aaaa_voov += einsum(x104, (0, 1, 2, 3), (2, 1, 0, 3)) * -2.0 - rdm2_f_aaaa_vovo += einsum(x104, (0, 1, 2, 3), (2, 1, 3, 0)) * 2.0 - x105 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x105 += einsum(l1.aa, (0, 1), t1.aa, (1, 2), (0, 2)) - x106 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x106 += einsum(x105, (0, 1), (0, 1)) - x106 += einsum(x68, (0, 1), (0, 1)) - x106 += einsum(x69, (0, 1), (0, 1)) * 2.0 - rdm2_f_aaaa_ovov += einsum(delta.aa.oo, (0, 1), x106, (2, 3), (0, 2, 1, 3)) - rdm2_f_aaaa_voov += einsum(delta.aa.oo, (0, 1), x106, (2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_abab_vovo += einsum(delta.bb.oo, (0, 1), x106, (2, 3), (2, 0, 3, 1)) - x107 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x107 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 0, 5), (1, 5, 2, 4)) - rdm2_f_abab_ovov += einsum(x107, (0, 1, 2, 3), (3, 0, 2, 1)) * -1.0 - rdm2_f_abab_ovvv += einsum(t1.aa, (0, 1), x107, (2, 3, 0, 4), (4, 2, 1, 3)) * -1.0 - del x107 - x108 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x108 += einsum(l1.bb, (0, 1), t1.bb, (1, 2), (0, 2)) - x109 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x109 += einsum(x108, (0, 1), (0, 1)) - x109 += einsum(x82, (0, 1), (0, 1)) * 2.0 - x109 += einsum(x83, (0, 1), (0, 1)) - rdm2_f_abab_ovov += einsum(delta.aa.oo, (0, 1), x109, (2, 3), (0, 2, 1, 3)) - rdm2_f_bbbb_ovvo += einsum(delta.bb.oo, (0, 1), x109, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_bbbb_vovo += einsum(delta.bb.oo, (0, 1), x109, (2, 3), (2, 0, 3, 1)) - rdm2_f_abab_ovvv += einsum(t1.aa, (0, 1), x109, (2, 3), (0, 2, 1, 3)) - x110 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x110 += einsum(t1.bb, (0, 1), x16, (2, 0, 3, 4), (2, 3, 4, 1)) - rdm2_f_bbbb_ovov += einsum(x110, (0, 1, 2, 3), (1, 2, 0, 3)) * 2.0 - rdm2_f_bbbb_ovvo += einsum(x110, (0, 1, 2, 3), (1, 2, 3, 0)) * -2.0 - rdm2_f_bbbb_voov += einsum(x110, (0, 1, 2, 3), (2, 1, 0, 3)) * -2.0 - rdm2_f_bbbb_vovo += einsum(x110, (0, 1, 2, 3), (2, 1, 3, 0)) * 2.0 - x111 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x111 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 5), (3, 4, 1, 5)) - rdm2_f_bbbb_ovov += einsum(x111, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_bbbb_ovvo += einsum(x111, (0, 1, 2, 3), (1, 2, 3, 0)) - rdm2_f_bbbb_voov += einsum(x111, (0, 1, 2, 3), (2, 1, 0, 3)) - rdm2_f_bbbb_vovo += einsum(x111, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - x112 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x112 += einsum(x108, (0, 1), (0, 1)) * 0.5 - del x108 - x112 += einsum(x82, (0, 1), (0, 1)) - del x82 - x112 += einsum(x83, (0, 1), (0, 1)) * 0.5 - del x83 - rdm2_f_bbbb_ovov += einsum(delta.bb.oo, (0, 1), x112, (2, 3), (0, 2, 1, 3)) * 2.0 - rdm2_f_bbbb_voov += einsum(delta.bb.oo, (0, 1), x112, (2, 3), (2, 0, 1, 3)) * -2.0 - del x112 - x113 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x113 += einsum(x105, (0, 1), (0, 1)) * 0.5 - del x105 - x113 += einsum(x68, (0, 1), (0, 1)) * 0.5 - del x68 - x113 += einsum(x69, (0, 1), (0, 1)) - del x69 - rdm2_f_aaaa_ovvo += einsum(delta.aa.oo, (0, 1), x113, (2, 3), (0, 2, 3, 1)) * -2.0 - rdm2_f_aaaa_vovo += einsum(delta.aa.oo, (0, 1), x113, (2, 3), (2, 0, 3, 1)) * 2.0 - rdm2_f_abab_vovv += einsum(t1.bb, (0, 1), x113, (2, 3), (2, 0, 3, 1)) * 2.0 - del x113 - x114 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x114 += einsum(t1.aa, (0, 1), x8, (2, 3, 0, 4), (2, 3, 4, 1)) - del x8 - rdm2_f_abab_ovvo += einsum(x114, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - x115 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x115 += einsum(t1.bb, (0, 1), x32, (0, 2, 3, 4), (2, 1, 3, 4)) - del x32 - rdm2_f_abab_voov += einsum(x115, (0, 1, 2, 3), (3, 0, 2, 1)) * -1.0 - x116 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x116 += einsum(l1.aa, (0, 1), t2.aaaa, (2, 1, 3, 4), (2, 0, 3, 4)) - rdm2_f_aaaa_ovvv = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - rdm2_f_aaaa_ovvv += einsum(x116, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - rdm2_f_aaaa_vovv = np.zeros((nvir[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - rdm2_f_aaaa_vovv += einsum(x116, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - del x116 - x117 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x117 += einsum(t2.aaaa, (0, 1, 2, 3), x1, (0, 1, 4, 5), (4, 5, 2, 3)) - del x1 - rdm2_f_aaaa_ovvv += einsum(x117, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - rdm2_f_aaaa_vovv += einsum(x117, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - del x117 - x118 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x118 += einsum(t1.aa, (0, 1), x104, (0, 2, 3, 4), (2, 3, 4, 1)) * -1.0 - del x104 - rdm2_f_aaaa_ovvv += einsum(x118, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - rdm2_f_aaaa_vovv += einsum(x118, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - del x118 - x119 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x119 += einsum(t1.aa, (0, 1), x80, (0, 2, 3, 4), (2, 1, 3, 4)) - del x80 - x120 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x120 += einsum(x119, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x119 - x120 += einsum(t1.aa, (0, 1), x106, (2, 3), (0, 2, 1, 3)) - del x106 - rdm2_f_aaaa_ovvv += einsum(x120, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_aaaa_ovvv += einsum(x120, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_aaaa_vovv += einsum(x120, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - rdm2_f_aaaa_vovv += einsum(x120, (0, 1, 2, 3), (1, 0, 3, 2)) - del x120 - x121 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x121 += einsum(x73, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x73 - x121 += einsum(x78, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x78 - x121 += einsum(x114, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x114 - rdm2_f_abab_ovvv += einsum(t1.bb, (0, 1), x121, (0, 2, 3, 4), (3, 2, 4, 1)) - del x121 - x122 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x122 += einsum(l1.bb, (0, 1), t2.bbbb, (2, 1, 3, 4), (2, 0, 3, 4)) - rdm2_f_bbbb_ovvv = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - rdm2_f_bbbb_ovvv += einsum(x122, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - rdm2_f_bbbb_vovv = np.zeros((nvir[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - rdm2_f_bbbb_vovv += einsum(x122, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - del x122 - x123 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x123 += einsum(t2.bbbb, (0, 1, 2, 3), x16, (0, 1, 4, 5), (4, 5, 2, 3)) - del x16 - rdm2_f_bbbb_ovvv += einsum(x123, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - rdm2_f_bbbb_vovv += einsum(x123, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - del x123 - x124 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x124 += einsum(t1.bb, (0, 1), x110, (0, 2, 3, 4), (2, 3, 4, 1)) * -1.0 - del x110 - rdm2_f_bbbb_ovvv += einsum(x124, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - rdm2_f_bbbb_vovv += einsum(x124, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - del x124 - x125 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x125 += einsum(x89, (0, 1, 2, 3), (0, 1, 2, 3)) - del x89 - x125 += einsum(x111, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.25 - del x111 - x126 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x126 += einsum(t1.bb, (0, 1), x125, (0, 2, 3, 4), (2, 1, 3, 4)) * 4.0 - del x125 - x127 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x127 += einsum(x126, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x126 - x127 += einsum(t1.bb, (0, 1), x109, (2, 3), (0, 2, 1, 3)) - del x109 - rdm2_f_bbbb_ovvv += einsum(x127, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_bbbb_ovvv += einsum(x127, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_bbbb_vovv += einsum(x127, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - rdm2_f_bbbb_vovv += einsum(x127, (0, 1, 2, 3), (1, 0, 3, 2)) - del x127 - x128 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x128 += einsum(x98, (0, 1, 2, 3), (0, 1, 2, 3)) - del x98 - x128 += einsum(x115, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - del x115 - x128 += einsum(x91, (0, 1, 2, 3), (0, 1, 2, 3)) - del x91 - rdm2_f_abab_vovv += einsum(t1.aa, (0, 1), x128, (2, 3, 0, 4), (4, 2, 1, 3)) * 2.0 - del x128 - x129 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x129 += einsum(t1.aa, (0, 1), l2.aaaa, (2, 3, 4, 0), (4, 2, 3, 1)) - rdm2_f_aaaa_vvov = np.zeros((nvir[0], nvir[0], nocc[0], nvir[0]), dtype=types[float]) - rdm2_f_aaaa_vvov += einsum(x129, (0, 1, 2, 3), (2, 1, 0, 3)) * -2.0 - rdm2_f_aaaa_vvvo = np.zeros((nvir[0], nvir[0], nvir[0], nocc[0]), dtype=types[float]) - rdm2_f_aaaa_vvvo += einsum(x129, (0, 1, 2, 3), (2, 1, 3, 0)) * 2.0 - rdm2_f_aaaa_vvvv += einsum(t1.aa, (0, 1), x129, (0, 2, 3, 4), (2, 3, 1, 4)) * 2.0 - del x129 - x130 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x130 += einsum(t1.bb, (0, 1), l2.bbbb, (2, 3, 4, 0), (4, 2, 3, 1)) - rdm2_f_bbbb_vvov = np.zeros((nvir[1], nvir[1], nocc[1], nvir[1]), dtype=types[float]) - rdm2_f_bbbb_vvov += einsum(x130, (0, 1, 2, 3), (2, 1, 0, 3)) * -2.0 - rdm2_f_bbbb_vvvo = np.zeros((nvir[1], nvir[1], nvir[1], nocc[1]), dtype=types[float]) - rdm2_f_bbbb_vvvo += einsum(x130, (0, 1, 2, 3), (2, 1, 3, 0)) * 2.0 - rdm2_f_bbbb_vvvv += einsum(t1.bb, (0, 1), x130, (0, 2, 3, 4), (2, 3, 1, 4)) * 2.0 - del x130 - x131 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x131 += einsum(t1.aa, (0, 1), l2.abab, (2, 3, 0, 4), (4, 3, 2, 1)) - rdm2_f_abab_vvvo = np.zeros((nvir[0], nvir[1], nvir[0], nocc[1]), dtype=types[float]) - rdm2_f_abab_vvvo += einsum(x131, (0, 1, 2, 3), (2, 1, 3, 0)) - rdm2_f_abab_vvvv += einsum(t1.bb, (0, 1), x131, (0, 2, 3, 4), (3, 2, 4, 1)) - del x131 - - rdm2_f_aaaa = pack_2e(rdm2_f_aaaa_oooo, rdm2_f_aaaa_ooov, rdm2_f_aaaa_oovo, rdm2_f_aaaa_ovoo, rdm2_f_aaaa_vooo, rdm2_f_aaaa_oovv, rdm2_f_aaaa_ovov, rdm2_f_aaaa_ovvo, rdm2_f_aaaa_voov, rdm2_f_aaaa_vovo, rdm2_f_aaaa_vvoo, rdm2_f_aaaa_ovvv, rdm2_f_aaaa_vovv, rdm2_f_aaaa_vvov, rdm2_f_aaaa_vvvo, rdm2_f_aaaa_vvvv) - rdm2_f_abab = pack_2e(rdm2_f_abab_oooo, rdm2_f_abab_ooov, rdm2_f_abab_oovo, rdm2_f_abab_ovoo, rdm2_f_abab_vooo, rdm2_f_abab_oovv, rdm2_f_abab_ovov, rdm2_f_abab_ovvo, rdm2_f_abab_voov, rdm2_f_abab_vovo, rdm2_f_abab_vvoo, rdm2_f_abab_ovvv, rdm2_f_abab_vovv, rdm2_f_abab_vvov, rdm2_f_abab_vvvo, rdm2_f_abab_vvvv) - rdm2_f_bbbb = pack_2e(rdm2_f_bbbb_oooo, rdm2_f_bbbb_ooov, rdm2_f_bbbb_oovo, rdm2_f_bbbb_ovoo, rdm2_f_bbbb_vooo, rdm2_f_bbbb_oovv, rdm2_f_bbbb_ovov, rdm2_f_bbbb_ovvo, rdm2_f_bbbb_voov, rdm2_f_bbbb_vovo, rdm2_f_bbbb_vvoo, rdm2_f_bbbb_ovvv, rdm2_f_bbbb_vovv, rdm2_f_bbbb_vvov, rdm2_f_bbbb_vvvo, rdm2_f_bbbb_vvvv) - - rdm2_f_aaaa = rdm2_f_aaaa.swapaxes(1, 2) - rdm2_f_aabb = rdm2_f_abab.swapaxes(1, 2) - rdm2_f_bbbb = rdm2_f_bbbb.swapaxes(1, 2) - - rdm2_f.aaaa = rdm2_f_aaaa - rdm2_f.aabb = rdm2_f_aabb - rdm2_f.bbbb = rdm2_f_bbbb - - return rdm2_f - diff --git a/ebcc/codegen/UCC3.py b/ebcc/codegen/UCC3.py deleted file mode 100644 index 2b6ddca4..00000000 --- a/ebcc/codegen/UCC3.py +++ /dev/null @@ -1,1785 +0,0 @@ -# Code generated for ebcc. - -from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, Namespace -from ebcc.precision import types - -def energy(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, t3=None, **kwargs): - # energy - e_cc = 0 - e_cc += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (0, 2, 1, 3), ()) - e_cc += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 1, 3), ()) - e_cc += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (0, 2, 1, 3), ()) - x0 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x0 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x0 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x1 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x1 += einsum(f.aa.ov, (0, 1), (0, 1)) - x1 += einsum(t1.bb, (0, 1), v.aabb.ovov, (2, 3, 0, 1), (2, 3)) - x1 += einsum(t1.aa, (0, 1), x0, (0, 2, 1, 3), (2, 3)) * -0.5 - del x0 - e_cc += einsum(t1.aa, (0, 1), x1, (0, 1), ()) - del x1 - x2 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x2 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x2 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x3 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x3 += einsum(f.bb.ov, (0, 1), (0, 1)) * 2.0 - x3 += einsum(t1.bb, (0, 1), x2, (0, 2, 1, 3), (2, 3)) * -1.0 - del x2 - e_cc += einsum(t1.bb, (0, 1), x3, (0, 1), ()) * 0.5 - del x3 - - return e_cc - -def update_amps(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, t3=None, **kwargs): - t1new = Namespace() - t2new = Namespace() - t3new = Namespace() - - # T amplitudes - t1new_bb = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - t1new_bb += einsum(v.bbbb.ovov, (0, 1, 2, 3), t3.bbbbbb, (4, 0, 2, 5, 3, 1), (4, 5)) * -3.0 - t1new_bb += einsum(v.aaaa.ovov, (0, 1, 2, 3), t3.abaaba, (0, 4, 2, 1, 5, 3), (4, 5)) - t1new_bb += einsum(f.bb.ov, (0, 1), (0, 1)) - t1new_bb += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.babbab, (4, 0, 2, 5, 1, 3), (4, 5)) * 2.0 - t1new_aa = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - t1new_aa += einsum(v.bbbb.ovov, (0, 1, 2, 3), t3.babbab, (0, 4, 2, 1, 5, 3), (4, 5)) - t1new_aa += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.abaaba, (4, 2, 0, 5, 3, 1), (4, 5)) * 2.0 - t1new_aa += einsum(v.aaaa.ovov, (0, 1, 2, 3), t3.aaaaaa, (4, 0, 2, 5, 3, 1), (4, 5)) * -3.0 - t1new_aa += einsum(f.aa.ov, (0, 1), (0, 1)) - t2new_aaaa = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - t2new_aaaa += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.vvvv, (4, 3, 5, 2), (0, 1, 4, 5)) * -2.0 - t2new_abab = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - t2new_abab += einsum(v.aabb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - t2new_bbbb = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - t2new_bbbb += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.vvvv, (4, 3, 5, 2), (0, 1, 4, 5)) * -2.0 - x0 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x0 += einsum(t1.aa, (0, 1), v.aabb.ovov, (0, 1, 2, 3), (2, 3)) - t1new_bb += einsum(x0, (0, 1), (0, 1)) - x1 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x1 += einsum(t1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) - x2 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x2 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) - x2 += einsum(x1, (0, 1, 2, 3), (0, 1, 2, 3)) - t1new_bb += einsum(t2.bbbb, (0, 1, 2, 3), x2, (4, 1, 0, 3), (4, 2)) * -2.0 - t2new_abab += einsum(x2, (0, 1, 2, 3), t3.babbab, (2, 4, 1, 5, 6, 3), (4, 0, 6, 5)) * -2.0 - del x2 - x3 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x3 += einsum(t1.bb, (0, 1), v.aabb.ovov, (2, 3, 4, 1), (0, 4, 2, 3)) - x4 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x4 += einsum(v.aabb.ovoo, (0, 1, 2, 3), (2, 3, 0, 1)) - x4 += einsum(x3, (0, 1, 2, 3), (1, 0, 2, 3)) - t1new_bb += einsum(t2.abab, (0, 1, 2, 3), x4, (1, 4, 0, 2), (4, 3)) * -1.0 - t2new_abab += einsum(x4, (0, 1, 2, 3), t3.abaaba, (4, 0, 2, 5, 6, 3), (4, 1, 5, 6)) * -2.0 - x5 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x5 += einsum(t2.bbbb, (0, 1, 2, 3), (0, 1, 2, 3)) - x5 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3)) * 0.5 - t1new_bb += einsum(v.bbbb.ovvv, (0, 1, 2, 3), x5, (0, 4, 3, 1), (4, 2)) * -2.0 - del x5 - x6 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x6 += einsum(t2.abab, (0, 1, 2, 3), (1, 3, 0, 2)) - x6 += einsum(t1.aa, (0, 1), t1.bb, (2, 3), (2, 3, 0, 1)) - t1new_bb += einsum(v.aabb.ovvv, (0, 1, 2, 3), x6, (4, 3, 0, 1), (4, 2)) - t1new_aa += einsum(v.aabb.vvov, (0, 1, 2, 3), x6, (2, 3, 4, 1), (4, 0)) - x7 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x7 += einsum(t1.bb, (0, 1), v.aabb.ovov, (2, 3, 0, 1), (2, 3)) - t1new_aa += einsum(x7, (0, 1), (0, 1)) - x8 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x8 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x8 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x9 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x9 += einsum(t1.aa, (0, 1), x8, (0, 2, 1, 3), (2, 3)) - x10 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x10 += einsum(f.aa.ov, (0, 1), (0, 1)) - x10 += einsum(x7, (0, 1), (0, 1)) - del x7 - x10 += einsum(x9, (0, 1), (0, 1)) * -1.0 - del x9 - t1new_bb += einsum(x10, (0, 1), t2.abab, (0, 2, 1, 3), (2, 3)) - t1new_aa += einsum(x10, (0, 1), t2.aaaa, (2, 0, 3, 1), (2, 3)) * 2.0 - t2new_aaaa += einsum(x10, (0, 1), t3.aaaaaa, (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) * 6.0 - t2new_abab += einsum(x10, (0, 1), t3.abaaba, (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) * 2.0 - t2new_bbbb += einsum(x10, (0, 1), t3.babbab, (2, 0, 3, 4, 1, 5), (2, 3, 4, 5)) * 2.0 - x11 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x11 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x11 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x12 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x12 += einsum(t1.bb, (0, 1), x11, (0, 2, 1, 3), (2, 3)) - x13 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x13 += einsum(f.bb.ov, (0, 1), (0, 1)) - x13 += einsum(x0, (0, 1), (0, 1)) - del x0 - x13 += einsum(x12, (0, 1), (0, 1)) * -1.0 - del x12 - t1new_bb += einsum(x13, (0, 1), t2.bbbb, (2, 0, 3, 1), (2, 3)) * 2.0 - t1new_aa += einsum(x13, (0, 1), t2.abab, (2, 0, 3, 1), (2, 3)) - t2new_aaaa += einsum(x13, (0, 1), t3.abaaba, (2, 0, 3, 4, 1, 5), (2, 3, 4, 5)) * 2.0 - t2new_abab += einsum(x13, (0, 1), t3.babbab, (2, 3, 0, 4, 5, 1), (3, 2, 5, 4)) * 2.0 - t2new_bbbb += einsum(x13, (0, 1), t3.bbbbbb, (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) * 6.0 - x14 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x14 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) - x14 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - t1new_bb += einsum(t1.bb, (0, 1), x14, (0, 2, 1, 3), (2, 3)) * -1.0 - del x14 - x15 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x15 += einsum(t1.aa, (0, 1), v.aabb.ovoo, (0, 1, 2, 3), (2, 3)) - x16 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x16 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 3, 1, 2), (0, 4)) * -1.0 - x17 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x17 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 3), (1, 4)) - x18 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x18 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x18 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) - x19 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x19 += einsum(f.bb.oo, (0, 1), (0, 1)) * 0.5 - x19 += einsum(x15, (0, 1), (1, 0)) * 0.5 - x19 += einsum(x16, (0, 1), (1, 0)) - x19 += einsum(x17, (0, 1), (1, 0)) * 0.5 - x19 += einsum(t1.bb, (0, 1), x18, (2, 3, 0, 1), (3, 2)) * -0.5 - x19 += einsum(t1.bb, (0, 1), x13, (2, 1), (2, 0)) * 0.5 - t1new_bb += einsum(t1.bb, (0, 1), x19, (0, 2), (2, 1)) * -2.0 - del x19 - x20 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x20 += einsum(f.bb.vv, (0, 1), (0, 1)) - x20 += einsum(t1.bb, (0, 1), v.bbbb.ovvv, (0, 1, 2, 3), (2, 3)) - t1new_bb += einsum(t1.bb, (0, 1), x20, (1, 2), (0, 2)) - del x20 - x21 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x21 += einsum(t1.aa, (0, 1), v.aabb.ovov, (2, 1, 3, 4), (3, 4, 0, 2)) - x22 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x22 += einsum(v.aabb.ooov, (0, 1, 2, 3), (2, 3, 0, 1)) - x22 += einsum(x21, (0, 1, 2, 3), (0, 1, 3, 2)) - t1new_aa += einsum(t2.abab, (0, 1, 2, 3), x22, (1, 3, 0, 4), (4, 2)) * -1.0 - t2new_abab += einsum(x22, (0, 1, 2, 3), t3.babbab, (4, 2, 0, 5, 6, 1), (3, 4, 6, 5)) * -2.0 - x23 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x23 += einsum(t1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) - x24 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x24 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) - x24 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) - t1new_aa += einsum(t2.aaaa, (0, 1, 2, 3), x24, (4, 1, 0, 3), (4, 2)) * -2.0 - t2new_abab += einsum(x24, (0, 1, 2, 3), t3.abaaba, (2, 4, 1, 5, 6, 3), (0, 4, 5, 6)) * -2.0 - del x24 - x25 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x25 += einsum(t2.aaaa, (0, 1, 2, 3), (0, 1, 2, 3)) - x25 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 1, 3)) * 0.5 - t1new_aa += einsum(v.aaaa.ovvv, (0, 1, 2, 3), x25, (0, 4, 3, 1), (4, 2)) * -2.0 - del x25 - x26 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x26 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) - x26 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - t1new_aa += einsum(t1.aa, (0, 1), x26, (0, 2, 1, 3), (2, 3)) * -1.0 - x27 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x27 += einsum(t1.bb, (0, 1), v.aabb.ooov, (2, 3, 0, 1), (2, 3)) - x28 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x28 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 1, 3), (0, 4)) - x29 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x29 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 3, 1, 2), (0, 4)) * -1.0 - x30 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x30 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x30 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) - x31 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x31 += einsum(t1.aa, (0, 1), x30, (2, 3, 0, 1), (2, 3)) - x32 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x32 += einsum(t1.aa, (0, 1), x10, (2, 1), (0, 2)) - x33 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x33 += einsum(f.aa.oo, (0, 1), (0, 1)) - x33 += einsum(x27, (0, 1), (1, 0)) - x33 += einsum(x28, (0, 1), (1, 0)) - x33 += einsum(x29, (0, 1), (1, 0)) * 2.0 - x33 += einsum(x31, (0, 1), (1, 0)) * -1.0 - x33 += einsum(x32, (0, 1), (1, 0)) - t1new_aa += einsum(t1.aa, (0, 1), x33, (0, 2), (2, 1)) * -1.0 - t2new_abab += einsum(x33, (0, 1), t2.abab, (0, 2, 3, 4), (1, 2, 3, 4)) * -1.0 - del x33 - x34 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x34 += einsum(f.aa.vv, (0, 1), (0, 1)) - x34 += einsum(t1.aa, (0, 1), v.aaaa.ovvv, (0, 1, 2, 3), (2, 3)) - t1new_aa += einsum(t1.aa, (0, 1), x34, (1, 2), (0, 2)) - del x34 - x35 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x35 += einsum(v.aabb.ooov, (0, 1, 2, 3), t3.abaaba, (4, 2, 1, 5, 3, 6), (4, 0, 5, 6)) - x36 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x36 += einsum(v.aaaa.ooov, (0, 1, 2, 3), t3.aaaaaa, (4, 1, 2, 5, 6, 3), (4, 0, 5, 6)) - x37 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x37 += einsum(t1.aa, (0, 1), v.aaaa.ooov, (2, 3, 4, 1), (0, 2, 3, 4)) - x38 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x38 += einsum(t2.aaaa, (0, 1, 2, 3), x37, (4, 5, 1, 0), (4, 5, 2, 3)) * -1.0 - x39 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x39 += einsum(x21, (0, 1, 2, 3), t3.abaaba, (4, 0, 3, 5, 1, 6), (2, 4, 5, 6)) - x40 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x40 += einsum(x23, (0, 1, 2, 3), t3.aaaaaa, (4, 2, 1, 5, 6, 3), (0, 4, 5, 6)) - x41 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x41 += einsum(f.aa.oo, (0, 1), (0, 1)) - x41 += einsum(x32, (0, 1), (0, 1)) - del x32 - x42 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x42 += einsum(x41, (0, 1), t2.aaaa, (2, 1, 3, 4), (2, 0, 3, 4)) * -2.0 - del x41 - x43 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x43 += einsum(x27, (0, 1), (1, 0)) - del x27 - x43 += einsum(x28, (0, 1), (1, 0)) - del x28 - x43 += einsum(x29, (0, 1), (1, 0)) * 2.0 - del x29 - x43 += einsum(x31, (0, 1), (1, 0)) * -1.0 - del x31 - x44 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x44 += einsum(x43, (0, 1), t2.aaaa, (2, 0, 3, 4), (2, 1, 3, 4)) * -2.0 - del x43 - x45 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x45 += einsum(x35, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - del x35 - x45 += einsum(x36, (0, 1, 2, 3), (0, 1, 3, 2)) * -6.0 - del x36 - x45 += einsum(x38, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - del x38 - x45 += einsum(x39, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - del x39 - x45 += einsum(x40, (0, 1, 2, 3), (0, 1, 3, 2)) * 6.0 - del x40 - x45 += einsum(x42, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x42 - x45 += einsum(x44, (0, 1, 2, 3), (0, 1, 3, 2)) - del x44 - t2new_aaaa += einsum(x45, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_aaaa += einsum(x45, (0, 1, 2, 3), (1, 0, 2, 3)) - del x45 - x46 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x46 += einsum(t1.aa, (0, 1), v.aaaa.vvvv, (2, 3, 4, 1), (0, 2, 3, 4)) - x47 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x47 += einsum(t1.aa, (0, 1), x46, (2, 3, 1, 4), (0, 2, 3, 4)) - x48 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x48 += einsum(v.aabb.vvov, (0, 1, 2, 3), t3.abaaba, (4, 2, 5, 6, 3, 1), (4, 5, 6, 0)) - x49 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x49 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 0, 6, 1, 3), (4, 5, 6, 2)) - x50 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x50 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x50 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x51 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x51 += einsum(t2.aaaa, (0, 1, 2, 3), x50, (1, 4, 5, 3), (0, 4, 2, 5)) - del x50 - x52 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x52 += einsum(t2.aaaa, (0, 1, 2, 3), x51, (4, 1, 5, 3), (0, 4, 2, 5)) * -4.0 - del x51 - x53 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x53 += einsum(t1.bb, (0, 1), v.aabb.vvov, (2, 3, 0, 1), (2, 3)) - x54 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x54 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 4, 1, 3), (2, 4)) - x55 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x55 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (0, 4, 1, 3), (2, 4)) - x56 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x56 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) - x56 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x57 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x57 += einsum(t1.aa, (0, 1), x56, (0, 1, 2, 3), (2, 3)) - x58 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x58 += einsum(x53, (0, 1), (1, 0)) * -1.0 - x58 += einsum(x54, (0, 1), (1, 0)) - x58 += einsum(x55, (0, 1), (1, 0)) * 2.0 - x58 += einsum(x57, (0, 1), (1, 0)) * -1.0 - x59 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x59 += einsum(x58, (0, 1), t2.aaaa, (2, 3, 4, 0), (2, 3, 4, 1)) * -2.0 - del x58 - x60 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x60 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovvv, (4, 2, 5, 3), (0, 1, 4, 5)) - x61 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x61 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.abaaba, (4, 2, 5, 6, 3, 1), (4, 5, 0, 6)) - x62 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x62 += einsum(v.aaaa.ovov, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 2, 6, 3, 1), (4, 5, 0, 6)) * -1.0 - x63 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x63 += einsum(x10, (0, 1), t2.aaaa, (2, 3, 4, 1), (0, 2, 3, 4)) * -2.0 - x64 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x64 += einsum(t1.aa, (0, 1), x23, (2, 3, 4, 1), (2, 0, 4, 3)) - x65 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x65 += einsum(v.aaaa.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x65 += einsum(x64, (0, 1, 2, 3), (3, 1, 2, 0)) - x66 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x66 += einsum(t1.aa, (0, 1), x65, (0, 2, 3, 4), (2, 3, 4, 1)) - del x65 - x67 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x67 += einsum(x60, (0, 1, 2, 3), (2, 1, 0, 3)) * -2.0 - del x60 - x67 += einsum(x61, (0, 1, 2, 3), (2, 1, 0, 3)) * 2.0 - del x61 - x67 += einsum(x62, (0, 1, 2, 3), (2, 1, 0, 3)) * 6.0 - del x62 - x67 += einsum(x63, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x63 - x67 += einsum(x66, (0, 1, 2, 3), (1, 0, 2, 3)) - del x66 - x68 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x68 += einsum(t1.aa, (0, 1), x67, (0, 2, 3, 4), (2, 3, 1, 4)) - del x67 - x69 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x69 += einsum(x47, (0, 1, 2, 3), (0, 1, 2, 3)) - del x47 - x69 += einsum(x48, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x48 - x69 += einsum(x49, (0, 1, 2, 3), (0, 1, 2, 3)) * -6.0 - del x49 - x69 += einsum(x52, (0, 1, 2, 3), (1, 0, 3, 2)) - del x52 - x69 += einsum(x59, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x59 - x69 += einsum(x68, (0, 1, 2, 3), (1, 0, 2, 3)) - del x68 - t2new_aaaa += einsum(x69, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new_aaaa += einsum(x69, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x69 - x70 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x70 += einsum(t1.aa, (0, 1), v.aaaa.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) - x71 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x71 += einsum(t1.aa, (0, 1), v.aabb.vvov, (2, 1, 3, 4), (3, 4, 0, 2)) - x72 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x72 += einsum(t2.abab, (0, 1, 2, 3), x71, (1, 3, 4, 5), (4, 0, 2, 5)) - x73 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x73 += einsum(t2.aaaa, (0, 1, 2, 3), (0, 1, 2, 3)) - x73 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 3, 1)) * -0.5 - x74 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x74 += einsum(x26, (0, 1, 2, 3), x73, (0, 4, 2, 5), (1, 4, 3, 5)) * 2.0 - del x26 - x75 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x75 += einsum(t2.aaaa, (0, 1, 2, 3), v.aabb.ovov, (1, 3, 4, 5), (4, 5, 0, 2)) - x76 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x76 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) - x76 += einsum(x75, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x75 - x77 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x77 += einsum(t2.abab, (0, 1, 2, 3), x76, (1, 3, 4, 5), (0, 4, 2, 5)) - del x76 - x78 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x78 += einsum(t1.aa, (0, 1), x56, (2, 1, 3, 4), (0, 2, 3, 4)) - del x56 - x79 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x79 += einsum(t2.aaaa, (0, 1, 2, 3), x78, (4, 1, 5, 3), (0, 4, 2, 5)) * -2.0 - x80 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x80 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ooov, (4, 5, 1, 3), (0, 4, 5, 2)) - x81 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x81 += einsum(t1.aa, (0, 1), x37, (2, 3, 4, 0), (2, 4, 3, 1)) - x82 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x82 += einsum(t1.aa, (0, 1), x70, (2, 3, 1, 4), (0, 2, 3, 4)) - x83 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x83 += einsum(t2.abab, (0, 1, 2, 3), x21, (1, 3, 4, 5), (4, 0, 5, 2)) - x84 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x84 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x84 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x85 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x85 += einsum(t2.aaaa, (0, 1, 2, 3), x84, (4, 5, 1, 3), (0, 4, 5, 2)) * 2.0 - del x84 - x86 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x86 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x86 += einsum(x23, (0, 1, 2, 3), (0, 2, 1, 3)) - x87 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x87 += einsum(t2.aaaa, (0, 1, 2, 3), x86, (4, 1, 5, 3), (0, 4, 5, 2)) * 2.0 - del x86 - x88 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x88 += einsum(x80, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x80 - x88 += einsum(x81, (0, 1, 2, 3), (0, 2, 1, 3)) - del x81 - x88 += einsum(x82, (0, 1, 2, 3), (0, 2, 1, 3)) - x88 += einsum(x83, (0, 1, 2, 3), (0, 2, 1, 3)) - del x83 - x88 += einsum(x85, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x85 - x88 += einsum(x87, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - del x87 - x89 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x89 += einsum(t1.aa, (0, 1), x88, (2, 0, 3, 4), (2, 3, 1, 4)) - del x88 - x90 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x90 += einsum(x70, (0, 1, 2, 3), (0, 1, 2, 3)) - x90 += einsum(x72, (0, 1, 2, 3), (0, 1, 2, 3)) - del x72 - x90 += einsum(x74, (0, 1, 2, 3), (1, 0, 3, 2)) - del x74 - x90 += einsum(x77, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x77 - x90 += einsum(x79, (0, 1, 2, 3), (1, 0, 2, 3)) - del x79 - x90 += einsum(x89, (0, 1, 2, 3), (0, 1, 2, 3)) - del x89 - t2new_aaaa += einsum(x90, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_aaaa += einsum(x90, (0, 1, 2, 3), (0, 1, 3, 2)) - t2new_aaaa += einsum(x90, (0, 1, 2, 3), (1, 0, 2, 3)) - t2new_aaaa += einsum(x90, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x90 - x91 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x91 += einsum(f.aa.vv, (0, 1), t2.aaaa, (2, 3, 4, 1), (2, 3, 0, 4)) - x92 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x92 += einsum(t2.abab, (0, 1, 2, 3), x11, (1, 4, 3, 5), (4, 5, 0, 2)) - x93 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x93 += einsum(t2.abab, (0, 1, 2, 3), x92, (1, 3, 4, 5), (0, 4, 2, 5)) * -1.0 - del x92 - x94 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x94 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x94 += einsum(x91, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 - del x91 - x94 += einsum(x93, (0, 1, 2, 3), (0, 1, 2, 3)) - del x93 - t2new_aaaa += einsum(x94, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new_aaaa += einsum(x94, (0, 1, 2, 3), (0, 1, 2, 3)) - del x94 - x95 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x95 += einsum(t1.aa, (0, 1), v.aaaa.ooov, (2, 0, 3, 4), (2, 3, 1, 4)) - t2new_aaaa += einsum(x95, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_aaaa += einsum(x95, (0, 1, 2, 3), (1, 0, 2, 3)) - del x95 - x96 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x96 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 2, 5, 3), (0, 1, 4, 5)) - x97 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x97 += einsum(v.aaaa.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x97 += einsum(x96, (0, 1, 2, 3), (3, 1, 2, 0)) * -1.0 - x97 += einsum(x64, (0, 1, 2, 3), (2, 1, 3, 0)) - t2new_aaaa += einsum(t2.aaaa, (0, 1, 2, 3), x97, (0, 4, 1, 5), (4, 5, 2, 3)) * -2.0 - del x97 - x98 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x98 += einsum(t1.aa, (0, 1), x96, (2, 3, 0, 4), (2, 3, 4, 1)) * -2.0 - del x96 - x98 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x98 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) - t2new_aaaa += einsum(t1.aa, (0, 1), x98, (2, 3, 0, 4), (2, 3, 4, 1)) * -1.0 - del x98 - x99 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x99 += einsum(t1.bb, (0, 1), v.aabb.ovvv, (2, 3, 4, 1), (0, 4, 2, 3)) - t2new_abab += einsum(x99, (0, 1, 2, 3), (2, 0, 3, 1)) - x100 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x100 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) - x100 += einsum(t1.aa, (0, 1), v.aaaa.ovov, (2, 3, 0, 4), (2, 1, 3, 4)) - t2new_abab += einsum(x100, (0, 1, 2, 3), t3.abaaba, (4, 5, 0, 2, 6, 3), (4, 5, 1, 6)) * 2.0 - del x100 - x101 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x101 += einsum(t1.bb, (0, 1), v.aabb.ovov, (2, 3, 0, 4), (1, 4, 2, 3)) - x102 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x102 += einsum(v.aabb.ovvv, (0, 1, 2, 3), (2, 3, 0, 1)) - x102 += einsum(x101, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - t2new_abab += einsum(x102, (0, 1, 2, 3), t3.abaaba, (4, 5, 2, 6, 0, 3), (4, 5, 6, 1)) * 2.0 - del x102 - x103 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x103 += einsum(t1.aa, (0, 1), v.aabb.ovov, (0, 2, 3, 4), (3, 4, 1, 2)) - x104 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x104 += einsum(v.aabb.vvov, (0, 1, 2, 3), (2, 3, 0, 1)) - x104 += einsum(x103, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new_abab += einsum(x104, (0, 1, 2, 3), t3.babbab, (4, 5, 0, 6, 2, 1), (5, 4, 3, 6)) * 2.0 - del x104 - x105 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x105 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) - x105 += einsum(t1.bb, (0, 1), v.bbbb.ovov, (2, 3, 0, 4), (2, 1, 3, 4)) - t2new_abab += einsum(x105, (0, 1, 2, 3), t3.babbab, (4, 5, 0, 2, 6, 3), (5, 4, 6, 1)) * 2.0 - del x105 - x106 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x106 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x106 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x106 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (4, 0, 5, 2)) - x106 += einsum(x73, (0, 1, 2, 3), x8, (0, 4, 2, 5), (4, 1, 5, 3)) * -2.0 - del x73 - x106 += einsum(x78, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - x106 += einsum(t1.aa, (0, 1), x30, (2, 3, 0, 4), (3, 2, 4, 1)) * -1.0 - del x30 - t2new_abab += einsum(t2.abab, (0, 1, 2, 3), x106, (0, 4, 2, 5), (4, 1, 5, 3)) - del x106 - x107 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x107 += einsum(t2.bbbb, (0, 1, 2, 3), (0, 1, 2, 3)) - x107 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1)) * -0.5 - x108 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x108 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x108 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) - x109 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x109 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x109 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) - x110 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x110 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - x110 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 - x110 += einsum(x107, (0, 1, 2, 3), x11, (0, 4, 5, 2), (4, 1, 5, 3)) * -1.0 - del x11 - x110 += einsum(t1.bb, (0, 1), x108, (2, 1, 3, 4), (2, 0, 4, 3)) * -0.5 - del x108 - x110 += einsum(t1.bb, (0, 1), x109, (0, 2, 3, 4), (3, 2, 4, 1)) * -0.5 - t2new_abab += einsum(t2.abab, (0, 1, 2, 3), x110, (1, 4, 3, 5), (0, 4, 2, 5)) * -2.0 - del x110 - x111 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x111 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) * 0.5 - x111 += einsum(t1.bb, (0, 1), v.aabb.ovoo, (2, 3, 4, 0), (4, 1, 2, 3)) * -0.5 - x111 += einsum(x99, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - x111 += einsum(v.aabb.ovov, (0, 1, 2, 3), x107, (2, 4, 3, 5), (4, 5, 0, 1)) - t2new_abab += einsum(t2.aaaa, (0, 1, 2, 3), x111, (4, 5, 1, 3), (0, 4, 2, 5)) * 4.0 - del x111 - x112 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x112 += einsum(t1.bb, (0, 1), v.aabb.ooov, (2, 3, 0, 4), (1, 4, 2, 3)) - x113 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x113 += einsum(t1.aa, (0, 1), v.aabb.ovvv, (2, 1, 3, 4), (3, 4, 0, 2)) - x114 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x114 += einsum(v.aabb.oovv, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 - x114 += einsum(x112, (0, 1, 2, 3), (1, 0, 3, 2)) - x114 += einsum(x113, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - x114 += einsum(v.aabb.ovov, (0, 1, 2, 3), x6, (2, 4, 5, 1), (3, 4, 0, 5)) - t2new_abab += einsum(t2.abab, (0, 1, 2, 3), x114, (3, 4, 0, 5), (5, 1, 2, 4)) - del x114 - x115 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x115 += einsum(t1.aa, (0, 1), x22, (2, 3, 0, 4), (2, 3, 4, 1)) - x116 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x116 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) - x116 += einsum(x71, (0, 1, 2, 3), (0, 1, 2, 3)) - x116 += einsum(x115, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x115 - t2new_abab += einsum(x107, (0, 1, 2, 3), x116, (0, 2, 4, 5), (4, 1, 5, 3)) * 2.0 - del x107 - x117 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x117 += einsum(t1.bb, (0, 1), v.aabb.vvov, (2, 3, 4, 1), (0, 4, 2, 3)) - x118 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x118 += einsum(v.aabb.ovoo, (0, 1, 2, 3), (2, 3, 0, 1)) - x118 += einsum(x3, (0, 1, 2, 3), (0, 1, 2, 3)) - x119 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x119 += einsum(v.aabb.vvoo, (0, 1, 2, 3), (2, 3, 0, 1)) - x119 += einsum(x117, (0, 1, 2, 3), (1, 0, 3, 2)) - x119 += einsum(t1.aa, (0, 1), x118, (2, 3, 0, 4), (3, 2, 4, 1)) * -1.0 - t2new_abab += einsum(t2.abab, (0, 1, 2, 3), x119, (1, 4, 2, 5), (0, 4, 5, 3)) * -1.0 - del x119 - x120 = np.zeros((nvir[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x120 += einsum(v.aabb.vvvv, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 - x120 += einsum(t1.bb, (0, 1), v.aabb.vvov, (2, 3, 0, 4), (4, 1, 2, 3)) - x120 += einsum(t1.aa, (0, 1), v.aabb.ovvv, (0, 2, 3, 4), (3, 4, 2, 1)) - t2new_abab += einsum(t2.abab, (0, 1, 2, 3), x120, (3, 4, 2, 5), (0, 1, 5, 4)) * -1.0 - del x120 - x121 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x121 += einsum(t1.bb, (0, 1), v.aabb.ooov, (2, 3, 4, 1), (0, 4, 2, 3)) - x122 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x122 += einsum(t1.aa, (0, 1), v.aabb.ovoo, (2, 1, 3, 4), (3, 4, 0, 2)) - x123 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x123 += einsum(v.aabb.oooo, (0, 1, 2, 3), (2, 3, 0, 1)) - x123 += einsum(x121, (0, 1, 2, 3), (1, 0, 3, 2)) - x123 += einsum(x122, (0, 1, 2, 3), (1, 0, 3, 2)) - x123 += einsum(v.aabb.ovov, (0, 1, 2, 3), x6, (4, 3, 5, 1), (2, 4, 0, 5)) - del x6 - t2new_abab += einsum(t2.abab, (0, 1, 2, 3), x123, (1, 4, 0, 5), (5, 4, 2, 3)) - del x123 - x124 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x124 += einsum(f.aa.vv, (0, 1), (0, 1)) * -1.0 - x124 += einsum(x53, (0, 1), (1, 0)) * -1.0 - del x53 - x124 += einsum(x54, (0, 1), (1, 0)) - del x54 - x124 += einsum(x55, (0, 1), (1, 0)) * 2.0 - del x55 - x124 += einsum(x57, (0, 1), (1, 0)) * -1.0 - del x57 - x124 += einsum(t1.aa, (0, 1), x10, (0, 2), (2, 1)) - del x10 - t2new_abab += einsum(x124, (0, 1), t2.abab, (2, 3, 0, 4), (2, 3, 1, 4)) * -1.0 - del x124 - x125 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x125 += einsum(t1.aa, (0, 1), v.aabb.ovvv, (0, 1, 2, 3), (2, 3)) - x126 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x126 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (0, 4, 1, 3), (2, 4)) - x127 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x127 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 1, 4), (3, 4)) - x128 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x128 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x128 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) - x129 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x129 += einsum(t1.bb, (0, 1), x128, (0, 2, 1, 3), (2, 3)) - del x128 - x130 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x130 += einsum(f.bb.vv, (0, 1), (0, 1)) * -1.0 - x130 += einsum(x125, (0, 1), (1, 0)) * -1.0 - x130 += einsum(x126, (0, 1), (1, 0)) * 2.0 - x130 += einsum(x127, (0, 1), (1, 0)) - x130 += einsum(x129, (0, 1), (0, 1)) * -1.0 - x130 += einsum(t1.bb, (0, 1), x13, (0, 2), (2, 1)) - t2new_abab += einsum(x130, (0, 1), t2.abab, (2, 3, 4, 0), (2, 3, 4, 1)) * -1.0 - del x130 - x131 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x131 += einsum(t1.bb, (0, 1), x18, (2, 3, 0, 1), (2, 3)) - del x18 - x132 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x132 += einsum(t1.bb, (0, 1), x13, (2, 1), (0, 2)) - x133 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x133 += einsum(f.bb.oo, (0, 1), (0, 1)) - x133 += einsum(x15, (0, 1), (1, 0)) - x133 += einsum(x16, (0, 1), (1, 0)) * 2.0 - x133 += einsum(x17, (0, 1), (1, 0)) - x133 += einsum(x131, (0, 1), (1, 0)) * -1.0 - x133 += einsum(x132, (0, 1), (1, 0)) - t2new_abab += einsum(x133, (0, 1), t2.abab, (2, 0, 3, 4), (2, 1, 3, 4)) * -1.0 - del x133 - x134 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x134 += einsum(v.aabb.oovv, (0, 1, 2, 3), (2, 3, 0, 1)) - x134 += einsum(x113, (0, 1, 2, 3), (1, 0, 2, 3)) - x135 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x135 += einsum(t1.bb, (0, 1), x134, (1, 2, 3, 4), (0, 2, 3, 4)) - del x134 - x136 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x136 += einsum(v.aabb.oooo, (0, 1, 2, 3), (2, 3, 0, 1)) - x136 += einsum(x122, (0, 1, 2, 3), (1, 0, 2, 3)) - x136 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 5, 3), (5, 1, 0, 4)) - x137 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x137 += einsum(v.aabb.ooov, (0, 1, 2, 3), (2, 3, 0, 1)) - x137 += einsum(x21, (0, 1, 2, 3), (0, 1, 3, 2)) - x137 += einsum(x135, (0, 1, 2, 3), (0, 1, 3, 2)) - x137 += einsum(t1.bb, (0, 1), x136, (0, 2, 3, 4), (2, 1, 4, 3)) * -1.0 - del x136 - t2new_abab += einsum(t1.aa, (0, 1), x137, (2, 3, 0, 4), (4, 2, 1, 3)) * -1.0 - del x137 - x138 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x138 += einsum(t1.bb, (0, 1), v.aabb.vvvv, (2, 3, 4, 1), (0, 4, 2, 3)) - x139 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x139 += einsum(v.aabb.vvov, (0, 1, 2, 3), (2, 3, 0, 1)) - x139 += einsum(x138, (0, 1, 2, 3), (0, 1, 3, 2)) - t2new_abab += einsum(t1.aa, (0, 1), x139, (2, 3, 1, 4), (0, 2, 4, 3)) - del x139 - x140 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x140 += einsum(t1.aa, (0, 1), v.aabb.vvoo, (2, 1, 3, 4), (3, 4, 0, 2)) - x141 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x141 += einsum(v.aabb.ovoo, (0, 1, 2, 3), (2, 3, 0, 1)) - x141 += einsum(x140, (0, 1, 2, 3), (1, 0, 2, 3)) - t2new_abab += einsum(t1.bb, (0, 1), x141, (0, 2, 3, 4), (3, 2, 4, 1)) * -1.0 - del x141 - x142 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x142 += einsum(t1.bb, (0, 1), v.bbbb.vvvv, (2, 3, 4, 1), (0, 2, 3, 4)) - x143 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x143 += einsum(t1.bb, (0, 1), x142, (2, 3, 1, 4), (0, 2, 3, 4)) - x144 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x144 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 0, 6, 1, 3), (4, 5, 6, 2)) - x145 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x145 += einsum(v.aabb.ovvv, (0, 1, 2, 3), t3.babbab, (4, 0, 5, 6, 1, 3), (4, 5, 6, 2)) - x146 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x146 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x146 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x147 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x147 += einsum(t2.bbbb, (0, 1, 2, 3), x146, (1, 4, 5, 3), (4, 0, 5, 2)) - del x146 - x148 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x148 += einsum(t2.bbbb, (0, 1, 2, 3), x147, (1, 4, 3, 5), (4, 0, 5, 2)) * -4.0 - del x147 - x149 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x149 += einsum(t2.abab, (0, 1, 2, 3), x8, (0, 4, 2, 5), (1, 3, 4, 5)) - del x8 - x150 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x150 += einsum(t2.abab, (0, 1, 2, 3), x149, (4, 5, 0, 2), (4, 1, 5, 3)) * -1.0 - del x149 - x151 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x151 += einsum(x125, (0, 1), (1, 0)) * -1.0 - del x125 - x151 += einsum(x126, (0, 1), (1, 0)) * 2.0 - del x126 - x151 += einsum(x127, (0, 1), (1, 0)) - del x127 - x151 += einsum(x129, (0, 1), (0, 1)) * -1.0 - del x129 - x152 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x152 += einsum(x151, (0, 1), t2.bbbb, (2, 3, 4, 0), (2, 3, 1, 4)) * -2.0 - del x151 - x153 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x153 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovvv, (4, 2, 5, 3), (0, 1, 4, 5)) - x154 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x154 += einsum(v.bbbb.ovov, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 2, 6, 3, 1), (4, 5, 0, 6)) * -1.0 - x155 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x155 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.babbab, (4, 0, 5, 6, 1, 3), (4, 5, 2, 6)) - x156 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x156 += einsum(x13, (0, 1), t2.bbbb, (2, 3, 4, 1), (2, 3, 0, 4)) * -2.0 - del x13 - x157 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x157 += einsum(t1.bb, (0, 1), x1, (2, 3, 4, 1), (2, 0, 4, 3)) - x158 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x158 += einsum(v.bbbb.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x158 += einsum(x157, (0, 1, 2, 3), (3, 1, 2, 0)) - x159 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x159 += einsum(t1.bb, (0, 1), x158, (0, 2, 3, 4), (2, 3, 4, 1)) - del x158 - x160 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x160 += einsum(x153, (0, 1, 2, 3), (2, 1, 0, 3)) * -2.0 - del x153 - x160 += einsum(x154, (0, 1, 2, 3), (2, 1, 0, 3)) * 6.0 - del x154 - x160 += einsum(x155, (0, 1, 2, 3), (2, 1, 0, 3)) * 2.0 - del x155 - x160 += einsum(x156, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - del x156 - x160 += einsum(x159, (0, 1, 2, 3), (1, 0, 2, 3)) - del x159 - x161 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x161 += einsum(t1.bb, (0, 1), x160, (0, 2, 3, 4), (2, 3, 4, 1)) - del x160 - x162 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x162 += einsum(x143, (0, 1, 2, 3), (0, 1, 2, 3)) - del x143 - x162 += einsum(x144, (0, 1, 2, 3), (0, 1, 2, 3)) * -6.0 - del x144 - x162 += einsum(x145, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x145 - x162 += einsum(x148, (0, 1, 2, 3), (0, 1, 2, 3)) - del x148 - x162 += einsum(x150, (0, 1, 2, 3), (0, 1, 2, 3)) - del x150 - x162 += einsum(x152, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x152 - x162 += einsum(x161, (0, 1, 2, 3), (1, 0, 3, 2)) - del x161 - t2new_bbbb += einsum(x162, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new_bbbb += einsum(x162, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x162 - x163 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x163 += einsum(t1.bb, (0, 1), v.bbbb.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) - x164 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x164 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 5), (1, 4, 3, 5)) - x165 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x165 += einsum(t2.abab, (0, 1, 2, 3), x99, (4, 5, 0, 2), (4, 1, 3, 5)) - x166 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x166 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x166 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x166 += einsum(x164, (0, 1, 2, 3), (1, 0, 3, 2)) - x167 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x167 += einsum(t2.bbbb, (0, 1, 2, 3), x166, (1, 4, 3, 5), (4, 0, 5, 2)) * 2.0 - del x166 - x168 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x168 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) - x168 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x169 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x169 += einsum(t1.bb, (0, 1), x168, (2, 1, 3, 4), (2, 0, 3, 4)) - del x168 - x170 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x170 += einsum(t2.bbbb, (0, 1, 2, 3), x169, (1, 4, 5, 3), (4, 0, 5, 2)) * -2.0 - x171 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x171 += einsum(t1.bb, (0, 1), v.bbbb.ooov, (2, 3, 4, 1), (0, 2, 3, 4)) - x172 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x172 += einsum(t1.bb, (0, 1), x171, (2, 3, 4, 0), (2, 4, 3, 1)) - x173 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x173 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovoo, (0, 2, 4, 5), (1, 4, 5, 3)) - x174 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x174 += einsum(t2.abab, (0, 1, 2, 3), x3, (4, 5, 0, 2), (4, 1, 5, 3)) - x175 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x175 += einsum(t2.bbbb, (0, 1, 2, 3), x109, (1, 4, 5, 3), (0, 4, 5, 2)) * 2.0 - del x109 - x176 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x176 += einsum(x1, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x176 += einsum(x1, (0, 1, 2, 3), (0, 2, 1, 3)) - x177 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x177 += einsum(t2.bbbb, (0, 1, 2, 3), x176, (4, 1, 5, 3), (4, 5, 0, 2)) * 2.0 - del x176 - x178 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x178 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x178 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x178 += einsum(x163, (0, 1, 2, 3), (0, 1, 2, 3)) - x179 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x179 += einsum(t1.bb, (0, 1), x178, (2, 3, 1, 4), (2, 3, 0, 4)) - del x178 - x180 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x180 += einsum(x172, (0, 1, 2, 3), (0, 2, 1, 3)) - del x172 - x180 += einsum(x173, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x173 - x180 += einsum(x174, (0, 1, 2, 3), (0, 2, 1, 3)) - del x174 - x180 += einsum(x175, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x175 - x180 += einsum(x177, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x177 - x180 += einsum(x179, (0, 1, 2, 3), (2, 1, 0, 3)) - x181 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x181 += einsum(t1.bb, (0, 1), x180, (2, 0, 3, 4), (2, 3, 4, 1)) - del x180 - x182 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x182 += einsum(x163, (0, 1, 2, 3), (0, 1, 2, 3)) - x182 += einsum(x164, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x164 - x182 += einsum(x165, (0, 1, 2, 3), (0, 1, 2, 3)) - del x165 - x182 += einsum(x167, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x167 - x182 += einsum(x170, (0, 1, 2, 3), (0, 1, 3, 2)) - del x170 - x182 += einsum(x181, (0, 1, 2, 3), (0, 1, 3, 2)) - del x181 - t2new_bbbb += einsum(x182, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_bbbb += einsum(x182, (0, 1, 2, 3), (0, 1, 3, 2)) - t2new_bbbb += einsum(x182, (0, 1, 2, 3), (1, 0, 2, 3)) - t2new_bbbb += einsum(x182, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x182 - x183 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x183 += einsum(t1.bb, (0, 1), v.bbbb.ooov, (2, 0, 3, 4), (2, 3, 1, 4)) - x184 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x184 += einsum(v.bbbb.ooov, (0, 1, 2, 3), t3.bbbbbb, (4, 1, 2, 5, 6, 3), (4, 0, 5, 6)) - x185 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x185 += einsum(t2.bbbb, (0, 1, 2, 3), x171, (4, 5, 0, 1), (4, 5, 2, 3)) - x186 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x186 += einsum(v.aabb.ovoo, (0, 1, 2, 3), t3.babbab, (4, 0, 3, 5, 1, 6), (4, 2, 5, 6)) - x187 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x187 += einsum(x1, (0, 1, 2, 3), t3.bbbbbb, (4, 1, 2, 5, 6, 3), (0, 4, 5, 6)) * -1.0 - x188 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x188 += einsum(x3, (0, 1, 2, 3), t3.babbab, (4, 2, 1, 5, 3, 6), (0, 4, 5, 6)) - x189 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x189 += einsum(f.bb.oo, (0, 1), (0, 1)) - x189 += einsum(x132, (0, 1), (0, 1)) - del x132 - x190 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x190 += einsum(x189, (0, 1), t2.bbbb, (2, 1, 3, 4), (0, 2, 3, 4)) * -2.0 - del x189 - x191 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x191 += einsum(x15, (0, 1), (1, 0)) - del x15 - x191 += einsum(x16, (0, 1), (1, 0)) * 2.0 - del x16 - x191 += einsum(x17, (0, 1), (1, 0)) - del x17 - x191 += einsum(x131, (0, 1), (1, 0)) * -1.0 - del x131 - x192 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x192 += einsum(x191, (0, 1), t2.bbbb, (2, 0, 3, 4), (1, 2, 3, 4)) * -2.0 - del x191 - x193 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x193 += einsum(x183, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x183 - x193 += einsum(x184, (0, 1, 2, 3), (0, 1, 3, 2)) * -6.0 - del x184 - x193 += einsum(x185, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - del x185 - x193 += einsum(x186, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - del x186 - x193 += einsum(x187, (0, 1, 2, 3), (0, 1, 3, 2)) * 6.0 - del x187 - x193 += einsum(x188, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - del x188 - x193 += einsum(x190, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x190 - x193 += einsum(x192, (0, 1, 2, 3), (1, 0, 3, 2)) - del x192 - t2new_bbbb += einsum(x193, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_bbbb += einsum(x193, (0, 1, 2, 3), (1, 0, 2, 3)) - del x193 - x194 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x194 += einsum(f.bb.vv, (0, 1), t2.bbbb, (2, 3, 4, 1), (2, 3, 0, 4)) - x195 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x195 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x195 += einsum(x194, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 - del x194 - t2new_bbbb += einsum(x195, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new_bbbb += einsum(x195, (0, 1, 2, 3), (0, 1, 2, 3)) - del x195 - x196 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x196 += einsum(t2.bbbb, (0, 1, 2, 3), (0, 1, 2, 3)) - x196 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3)) - x197 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x197 += einsum(v.bbbb.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x197 += einsum(v.bbbb.ovov, (0, 1, 2, 3), x196, (4, 5, 1, 3), (0, 5, 2, 4)) - del x196 - t2new_bbbb += einsum(t2.bbbb, (0, 1, 2, 3), x197, (0, 4, 1, 5), (4, 5, 2, 3)) * -2.0 - del x197 - x198 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x198 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 2, 5, 3), (0, 1, 4, 5)) - x199 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x199 += einsum(t1.bb, (0, 1), x198, (2, 3, 0, 4), (2, 3, 4, 1)) * -2.0 - del x198 - x199 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x199 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) - t2new_bbbb += einsum(t1.bb, (0, 1), x199, (2, 3, 0, 4), (2, 3, 1, 4)) - del x199 - x200 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x200 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovvv, (4, 5, 6, 3), (0, 1, 4, 2, 5, 6)) - x201 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x201 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ooov, (4, 5, 6, 3), (0, 1, 4, 5, 6, 2)) - x202 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x202 += einsum(t1.aa, (0, 1), x201, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x201 - x203 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x203 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) - x203 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x204 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x204 += einsum(t2.aaaa, (0, 1, 2, 3), x203, (4, 5, 3, 6), (4, 5, 0, 1, 6, 2)) * -1.0 - x205 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x205 += einsum(x202, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) - del x202 - x205 += einsum(x204, (0, 1, 2, 3, 4, 5), (3, 2, 1, 0, 5, 4)) - del x204 - x206 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x206 += einsum(t1.aa, (0, 1), x205, (2, 3, 0, 4, 5, 6), (2, 3, 4, 5, 6, 1)) * 2.0 - del x205 - x207 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x207 += einsum(x200, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 2.0 - del x200 - x207 += einsum(x206, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) - del x206 - t3new_aaaaaa = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - t3new_aaaaaa += einsum(x207, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - t3new_aaaaaa += einsum(x207, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - t3new_aaaaaa += einsum(x207, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) - t3new_aaaaaa += einsum(x207, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -1.0 - t3new_aaaaaa += einsum(x207, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -1.0 - t3new_aaaaaa += einsum(x207, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) - t3new_aaaaaa += einsum(x207, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) - t3new_aaaaaa += einsum(x207, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - t3new_aaaaaa += einsum(x207, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -1.0 - t3new_aaaaaa += einsum(x207, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) - t3new_aaaaaa += einsum(x207, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - t3new_aaaaaa += einsum(x207, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -1.0 - t3new_aaaaaa += einsum(x207, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) - t3new_aaaaaa += einsum(x207, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -1.0 - t3new_aaaaaa += einsum(x207, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -1.0 - t3new_aaaaaa += einsum(x207, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) - t3new_aaaaaa += einsum(x207, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) - t3new_aaaaaa += einsum(x207, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -1.0 - del x207 - x208 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x208 += einsum(f.aa.ov, (0, 1), t1.aa, (0, 2), (1, 2)) - x209 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x209 += einsum(f.aa.vv, (0, 1), (0, 1)) - x209 += einsum(x208, (0, 1), (0, 1)) * -1.0 - del x208 - t3new_babbab = np.zeros((nocc[1], nocc[0], nocc[1], nvir[1], nvir[0], nvir[1]), dtype=types[float]) - t3new_babbab += einsum(x209, (0, 1), t3.babbab, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) * 2.0 - x210 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x210 += einsum(x209, (0, 1), t3.aaaaaa, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) * 6.0 - del x209 - t3new_aaaaaa += einsum(x210, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) - t3new_aaaaaa += einsum(x210, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * -1.0 - t3new_aaaaaa += einsum(x210, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) - del x210 - x211 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x211 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.oooo, (4, 5, 6, 1), (0, 4, 5, 6, 2, 3)) - x212 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x212 += einsum(t2.aaaa, (0, 1, 2, 3), x64, (4, 5, 1, 6), (5, 4, 0, 6, 2, 3)) - x213 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x213 += einsum(x37, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x213 += einsum(x37, (0, 1, 2, 3), (0, 2, 3, 1)) - x214 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x214 += einsum(t2.aaaa, (0, 1, 2, 3), x213, (4, 5, 6, 1), (4, 5, 6, 0, 2, 3)) * -1.0 - del x213 - x215 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x215 += einsum(x211, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - del x211 - x215 += einsum(x212, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -1.0 - del x212 - x215 += einsum(x214, (0, 1, 2, 3, 4, 5), (0, 3, 2, 1, 5, 4)) * -1.0 - del x214 - x216 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x216 += einsum(t1.aa, (0, 1), x215, (2, 3, 0, 4, 5, 6), (2, 3, 4, 5, 6, 1)) * 2.0 - del x215 - t3new_aaaaaa += einsum(x216, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) - t3new_aaaaaa += einsum(x216, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -1.0 - t3new_aaaaaa += einsum(x216, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) - t3new_aaaaaa += einsum(x216, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -1.0 - t3new_aaaaaa += einsum(x216, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - t3new_aaaaaa += einsum(x216, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -1.0 - t3new_aaaaaa += einsum(x216, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -1.0 - t3new_aaaaaa += einsum(x216, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) - t3new_aaaaaa += einsum(x216, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 - t3new_aaaaaa += einsum(x216, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) - t3new_aaaaaa += einsum(x216, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * -1.0 - t3new_aaaaaa += einsum(x216, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) - t3new_aaaaaa += einsum(x216, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) - t3new_aaaaaa += einsum(x216, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 - t3new_aaaaaa += einsum(x216, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) - t3new_aaaaaa += einsum(x216, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -1.0 - t3new_aaaaaa += einsum(x216, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) - t3new_aaaaaa += einsum(x216, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -1.0 - del x216 - x217 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x217 += einsum(t2.aaaa, (0, 1, 2, 3), x46, (4, 5, 3, 6), (4, 0, 1, 2, 6, 5)) - x218 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x218 += einsum(t2.aaaa, (0, 1, 2, 3), x23, (4, 5, 6, 3), (4, 0, 1, 6, 5, 2)) - x219 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x219 += einsum(t1.aa, (0, 1), x218, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x218 - x220 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x220 += einsum(t2.aaaa, (0, 1, 2, 3), x78, (4, 5, 6, 3), (0, 1, 4, 5, 2, 6)) - x221 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x221 += einsum(x219, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 - del x219 - x221 += einsum(x220, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -1.0 - del x220 - x222 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x222 += einsum(t1.aa, (0, 1), x221, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 6, 1)) * 2.0 - del x221 - x223 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x223 += einsum(x217, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -2.0 - del x217 - x223 += einsum(x222, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -1.0 - del x222 - t3new_aaaaaa += einsum(x223, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - t3new_aaaaaa += einsum(x223, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - t3new_aaaaaa += einsum(x223, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) - t3new_aaaaaa += einsum(x223, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -1.0 - t3new_aaaaaa += einsum(x223, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -1.0 - t3new_aaaaaa += einsum(x223, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) - t3new_aaaaaa += einsum(x223, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) * -1.0 - t3new_aaaaaa += einsum(x223, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) - t3new_aaaaaa += einsum(x223, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) - t3new_aaaaaa += einsum(x223, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 - t3new_aaaaaa += einsum(x223, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * -1.0 - t3new_aaaaaa += einsum(x223, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) - t3new_aaaaaa += einsum(x223, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) - t3new_aaaaaa += einsum(x223, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -1.0 - t3new_aaaaaa += einsum(x223, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -1.0 - t3new_aaaaaa += einsum(x223, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) - t3new_aaaaaa += einsum(x223, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) - t3new_aaaaaa += einsum(x223, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -1.0 - del x223 - x224 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x224 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ooov, (4, 1, 5, 6), (0, 4, 5, 2, 3, 6)) - x225 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x225 += einsum(t2.aaaa, (0, 1, 2, 3), x82, (4, 5, 1, 6), (4, 5, 0, 2, 3, 6)) - del x82 - x226 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x226 += einsum(t1.aa, (0, 1), x203, (2, 3, 1, 4), (2, 3, 0, 4)) - del x203 - x227 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x227 += einsum(t2.aaaa, (0, 1, 2, 3), x226, (4, 1, 5, 6), (5, 4, 0, 6, 2, 3)) * -2.0 - del x226 - x228 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x228 += einsum(x224, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -2.0 - del x224 - x228 += einsum(x225, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -2.0 - del x225 - x228 += einsum(x227, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) - del x227 - t3new_aaaaaa += einsum(x228, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - t3new_aaaaaa += einsum(x228, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - t3new_aaaaaa += einsum(x228, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -1.0 - t3new_aaaaaa += einsum(x228, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) - t3new_aaaaaa += einsum(x228, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - t3new_aaaaaa += einsum(x228, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) - t3new_aaaaaa += einsum(x228, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) - t3new_aaaaaa += einsum(x228, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * -1.0 - t3new_aaaaaa += einsum(x228, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) - t3new_aaaaaa += einsum(x228, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) * -1.0 - t3new_aaaaaa += einsum(x228, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) - t3new_aaaaaa += einsum(x228, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 - t3new_aaaaaa += einsum(x228, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) * -1.0 - t3new_aaaaaa += einsum(x228, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) - t3new_aaaaaa += einsum(x228, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -1.0 - t3new_aaaaaa += einsum(x228, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) - t3new_aaaaaa += einsum(x228, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -1.0 - t3new_aaaaaa += einsum(x228, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) - del x228 - x229 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x229 += einsum(f.aa.ov, (0, 1), t1.aa, (2, 1), (0, 2)) - x230 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x230 += einsum(f.aa.oo, (0, 1), (0, 1)) - x230 += einsum(x229, (0, 1), (0, 1)) - del x229 - t3new_babbab += einsum(x230, (0, 1), t3.babbab, (2, 0, 3, 4, 5, 6), (2, 1, 3, 4, 5, 6)) * -2.0 - x231 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x231 += einsum(x230, (0, 1), t3.aaaaaa, (2, 3, 0, 4, 5, 6), (1, 2, 3, 4, 5, 6)) * 6.0 - t3new_aaaaaa += einsum(x231, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - t3new_aaaaaa += einsum(x231, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) * -1.0 - t3new_aaaaaa += einsum(x231, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) - del x231 - x232 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x232 += einsum(f.aa.ov, (0, 1), t2.aaaa, (2, 3, 4, 1), (0, 2, 3, 4)) - x233 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x233 += einsum(t2.aaaa, (0, 1, 2, 3), x232, (1, 4, 5, 6), (4, 5, 0, 6, 2, 3)) - del x232 - t3new_aaaaaa += einsum(x233, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -4.0 - t3new_aaaaaa += einsum(x233, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * 4.0 - t3new_aaaaaa += einsum(x233, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -4.0 - t3new_aaaaaa += einsum(x233, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 4.0 - t3new_aaaaaa += einsum(x233, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -4.0 - t3new_aaaaaa += einsum(x233, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 4.0 - t3new_aaaaaa += einsum(x233, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * 4.0 - t3new_aaaaaa += einsum(x233, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * -4.0 - t3new_aaaaaa += einsum(x233, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * 4.0 - del x233 - x234 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x234 += einsum(t2.abab, (0, 1, 2, 3), v.bbbb.ovvv, (4, 5, 6, 3), (1, 4, 5, 6, 0, 2)) - x235 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x235 += einsum(t2.abab, (0, 1, 2, 3), x142, (4, 5, 3, 6), (4, 1, 6, 5, 0, 2)) - x236 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x236 += einsum(t1.bb, (0, 1), v.bbbb.ooov, (2, 3, 0, 4), (2, 3, 1, 4)) - x237 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x237 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x237 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x237 += einsum(x236, (0, 1, 2, 3), (1, 0, 2, 3)) - del x236 - x238 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x238 += einsum(t2.abab, (0, 1, 2, 3), x237, (4, 5, 6, 3), (4, 5, 1, 6, 0, 2)) - del x237 - x239 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x239 += einsum(t1.bb, (0, 1), x1, (2, 0, 3, 4), (2, 3, 1, 4)) - x240 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x240 += einsum(x239, (0, 1, 2, 3), (0, 1, 3, 2)) - del x239 - x240 += einsum(x169, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - x241 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x241 += einsum(t2.abab, (0, 1, 2, 3), x240, (4, 5, 3, 6), (4, 5, 1, 6, 0, 2)) - del x240 - x242 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x242 += einsum(v.bbbb.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x242 += einsum(x157, (0, 1, 2, 3), (3, 1, 0, 2)) - x242 += einsum(x171, (0, 1, 2, 3), (2, 1, 0, 3)) - x242 += einsum(x171, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - x243 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x243 += einsum(t2.abab, (0, 1, 2, 3), x242, (1, 4, 5, 6), (4, 5, 6, 3, 0, 2)) - del x242 - x244 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x244 += einsum(t1.aa, (0, 1), v.aabb.ovoo, (0, 2, 3, 4), (3, 4, 1, 2)) - x245 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x245 += einsum(v.aabb.vvoo, (0, 1, 2, 3), (2, 3, 0, 1)) - x245 += einsum(x244, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x244 - x246 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x246 += einsum(t2.abab, (0, 1, 2, 3), x245, (4, 5, 2, 6), (4, 5, 1, 3, 0, 6)) - del x245 - x247 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x247 += einsum(t1.aa, (0, 1), x3, (2, 3, 0, 4), (2, 3, 1, 4)) - del x3 - x248 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x248 += einsum(x117, (0, 1, 2, 3), (0, 1, 3, 2)) - x248 += einsum(x247, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x247 - x249 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x249 += einsum(t2.abab, (0, 1, 2, 3), x248, (4, 5, 2, 6), (4, 5, 1, 3, 0, 6)) - del x248 - x250 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x250 += einsum(v.aabb.oooo, (0, 1, 2, 3), (2, 3, 0, 1)) - x250 += einsum(x122, (0, 1, 2, 3), (1, 0, 3, 2)) - del x122 - x251 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x251 += einsum(t2.abab, (0, 1, 2, 3), x250, (4, 5, 0, 6), (4, 5, 1, 3, 6, 2)) - x252 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x252 += einsum(v.aabb.ooov, (0, 1, 2, 3), (2, 3, 0, 1)) - x252 += einsum(x21, (0, 1, 2, 3), (0, 1, 2, 3)) - x253 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x253 += einsum(t1.bb, (0, 1), x252, (2, 1, 3, 4), (2, 0, 3, 4)) - del x252 - x254 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x254 += einsum(t2.abab, (0, 1, 2, 3), x253, (4, 5, 6, 0), (5, 4, 1, 3, 6, 2)) - x255 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x255 += einsum(x238, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -1.0 - del x238 - x255 += einsum(x241, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x241 - x255 += einsum(x243, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) - del x243 - x255 += einsum(x246, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) - del x246 - x255 += einsum(x249, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - del x249 - x255 += einsum(x251, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -1.0 - del x251 - x255 += einsum(x254, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x254 - x256 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x256 += einsum(t1.bb, (0, 1), x255, (2, 0, 3, 4, 5, 6), (2, 3, 4, 1, 5, 6)) - del x255 - x257 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x257 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x257 += einsum(x179, (0, 1, 2, 3), (2, 1, 0, 3)) - del x179 - x258 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x258 += einsum(t2.abab, (0, 1, 2, 3), x257, (4, 1, 5, 6), (4, 5, 6, 3, 0, 2)) - del x257 - x259 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x259 += einsum(f.aa.ov, (0, 1), t2.abab, (0, 2, 3, 4), (2, 4, 1, 3)) - x260 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x260 += einsum(v.aabb.vvov, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 - x260 += einsum(x259, (0, 1, 2, 3), (0, 1, 2, 3)) - x260 += einsum(x103, (0, 1, 2, 3), (0, 1, 3, 2)) - del x103 - x261 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x261 += einsum(t2.abab, (0, 1, 2, 3), x260, (4, 5, 2, 6), (4, 1, 5, 3, 0, 6)) - del x260 - x262 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x262 += einsum(t1.aa, (0, 1), x99, (2, 3, 0, 4), (2, 3, 1, 4)) - x263 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x263 += einsum(x138, (0, 1, 2, 3), (0, 1, 3, 2)) - x263 += einsum(x262, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x262 - x264 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x264 += einsum(t2.abab, (0, 1, 2, 3), x263, (4, 5, 2, 6), (4, 1, 5, 3, 0, 6)) - del x263 - x265 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x265 += einsum(t2.abab, (0, 1, 2, 3), x22, (4, 5, 0, 6), (1, 4, 3, 5, 6, 2)) - del x22 - x266 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x266 += einsum(t2.abab, (0, 1, 2, 3), x135, (4, 5, 6, 0), (4, 1, 5, 3, 6, 2)) - del x135 - x267 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x267 += einsum(x234, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x234 - x267 += einsum(x235, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - del x235 - x267 += einsum(x256, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 - del x256 - x267 += einsum(x258, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) - del x258 - x267 += einsum(x261, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) - del x261 - x267 += einsum(x264, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) - del x264 - x267 += einsum(x265, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x265 - x267 += einsum(x266, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 - del x266 - t3new_babbab += einsum(x267, (0, 1, 2, 3, 4, 5), (0, 4, 1, 2, 5, 3)) * -1.0 - t3new_babbab += einsum(x267, (0, 1, 2, 3, 4, 5), (0, 4, 1, 3, 5, 2)) - t3new_babbab += einsum(x267, (0, 1, 2, 3, 4, 5), (1, 4, 0, 2, 5, 3)) - t3new_babbab += einsum(x267, (0, 1, 2, 3, 4, 5), (1, 4, 0, 3, 5, 2)) * -1.0 - del x267 - x268 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x268 += einsum(f.bb.ov, (0, 1), t2.abab, (2, 3, 4, 1), (0, 3, 2, 4)) - x269 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x269 += einsum(t1.aa, (0, 1), x250, (2, 3, 0, 4), (2, 3, 4, 1)) - del x250 - x270 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x270 += einsum(v.aabb.ovoo, (0, 1, 2, 3), (2, 3, 0, 1)) - x270 += einsum(x268, (0, 1, 2, 3), (0, 1, 2, 3)) - del x268 - x270 += einsum(x140, (0, 1, 2, 3), (1, 0, 2, 3)) - del x140 - x270 += einsum(x269, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x269 - x271 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x271 += einsum(t2.bbbb, (0, 1, 2, 3), x270, (1, 4, 5, 6), (4, 0, 2, 3, 5, 6)) * -2.0 - del x270 - x272 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x272 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) - x272 += einsum(x71, (0, 1, 2, 3), (0, 1, 2, 3)) - x273 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x273 += einsum(t1.bb, (0, 1), x272, (2, 1, 3, 4), (2, 0, 3, 4)) - del x272 - x274 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x274 += einsum(t1.aa, (0, 1), x253, (2, 3, 4, 0), (3, 2, 4, 1)) - del x253 - x275 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x275 += einsum(x273, (0, 1, 2, 3), (1, 0, 2, 3)) - del x273 - x275 += einsum(x274, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x274 - x276 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x276 += einsum(t2.bbbb, (0, 1, 2, 3), x275, (4, 1, 5, 6), (4, 0, 2, 3, 5, 6)) * -2.0 - del x275 - x277 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x277 += einsum(f.bb.ov, (0, 1), t1.bb, (2, 1), (0, 2)) - x278 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x278 += einsum(f.bb.oo, (0, 1), (0, 1)) - x278 += einsum(x277, (0, 1), (0, 1)) - del x277 - t3new_abaaba = np.zeros((nocc[0], nocc[1], nocc[0], nvir[0], nvir[1], nvir[0]), dtype=types[float]) - t3new_abaaba += einsum(x278, (0, 1), t3.abaaba, (2, 0, 3, 4, 5, 6), (2, 1, 3, 4, 5, 6)) * -2.0 - x279 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x279 += einsum(x278, (0, 1), t3.babbab, (2, 3, 0, 4, 5, 6), (1, 2, 4, 6, 3, 5)) * -2.0 - x280 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x280 += einsum(x271, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) * -1.0 - del x271 - x280 += einsum(x276, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) - del x276 - x280 += einsum(x279, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) - del x279 - t3new_babbab += einsum(x280, (0, 1, 2, 3, 4, 5), (0, 4, 1, 2, 5, 3)) - t3new_babbab += einsum(x280, (0, 1, 2, 3, 4, 5), (1, 4, 0, 2, 5, 3)) * -1.0 - del x280 - x281 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x281 += einsum(f.bb.vv, (0, 1), t3.babbab, (2, 3, 4, 5, 6, 1), (2, 4, 0, 5, 3, 6)) - x282 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x282 += einsum(f.bb.ov, (0, 1), t2.abab, (2, 0, 3, 4), (1, 4, 2, 3)) - x283 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x283 += einsum(t1.aa, (0, 1), v.aabb.vvvv, (2, 1, 3, 4), (3, 4, 0, 2)) - x284 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x284 += einsum(v.aabb.oovv, (0, 1, 2, 3), (2, 3, 0, 1)) - x284 += einsum(x113, (0, 1, 2, 3), (1, 0, 3, 2)) - x285 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x285 += einsum(t1.aa, (0, 1), x284, (2, 3, 0, 4), (2, 3, 4, 1)) - del x284 - x286 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x286 += einsum(v.aabb.ovvv, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 - x286 += einsum(x282, (0, 1, 2, 3), (0, 1, 2, 3)) - x286 += einsum(x283, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x286 += einsum(x285, (0, 1, 2, 3), (1, 0, 2, 3)) - del x285 - x287 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x287 += einsum(t2.bbbb, (0, 1, 2, 3), x286, (3, 4, 5, 6), (0, 1, 4, 2, 5, 6)) * -2.0 - del x286 - x288 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x288 += einsum(f.bb.ov, (0, 1), t3.babbab, (2, 3, 4, 5, 6, 1), (0, 2, 4, 5, 3, 6)) - x289 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x289 += einsum(t2.bbbb, (0, 1, 2, 3), x116, (4, 3, 5, 6), (0, 1, 4, 2, 5, 6)) * -1.0 - del x116 - x290 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x290 += einsum(x288, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 - del x288 - x290 += einsum(x289, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) - del x289 - x291 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x291 += einsum(t1.bb, (0, 1), x290, (0, 2, 3, 4, 5, 6), (2, 3, 4, 1, 5, 6)) * 2.0 - del x290 - x292 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x292 += einsum(x281, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 2.0 - del x281 - x292 += einsum(x287, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) - del x287 - x292 += einsum(x291, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 - del x291 - t3new_babbab += einsum(x292, (0, 1, 2, 3, 4, 5), (0, 4, 1, 2, 5, 3)) * -1.0 - t3new_babbab += einsum(x292, (0, 1, 2, 3, 4, 5), (0, 4, 1, 3, 5, 2)) - del x292 - x293 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x293 += einsum(t2.abab, (0, 1, 2, 3), v.aaaa.ovvv, (4, 5, 6, 2), (1, 3, 0, 4, 5, 6)) - x294 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x294 += einsum(t2.abab, (0, 1, 2, 3), x46, (4, 5, 2, 6), (1, 3, 4, 0, 6, 5)) - del x46 - x295 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x295 += einsum(t1.aa, (0, 1), v.aaaa.ooov, (2, 3, 0, 4), (2, 3, 1, 4)) - x296 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x296 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x296 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x296 += einsum(x295, (0, 1, 2, 3), (1, 0, 2, 3)) - del x295 - x297 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x297 += einsum(t2.abab, (0, 1, 2, 3), x296, (4, 5, 6, 2), (1, 3, 4, 5, 0, 6)) - del x296 - x298 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x298 += einsum(t1.aa, (0, 1), x23, (2, 0, 3, 4), (2, 3, 1, 4)) - del x23 - x299 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x299 += einsum(x298, (0, 1, 2, 3), (0, 1, 3, 2)) - del x298 - x299 += einsum(x78, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x78 - x300 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x300 += einsum(t2.abab, (0, 1, 2, 3), x299, (4, 5, 2, 6), (1, 3, 4, 5, 0, 6)) - del x299 - x301 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x301 += einsum(v.aaaa.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x301 += einsum(x64, (0, 1, 2, 3), (3, 1, 0, 2)) - del x64 - x301 += einsum(x37, (0, 1, 2, 3), (2, 1, 0, 3)) - x301 += einsum(x37, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - del x37 - x302 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x302 += einsum(t2.abab, (0, 1, 2, 3), x301, (0, 4, 5, 6), (1, 3, 4, 5, 6, 2)) - del x301 - x303 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x303 += einsum(v.aabb.oovv, (0, 1, 2, 3), (2, 3, 0, 1)) - x303 += einsum(x112, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x112 - x304 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x304 += einsum(t2.abab, (0, 1, 2, 3), x303, (3, 4, 5, 6), (1, 4, 5, 6, 0, 2)) - del x303 - x305 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x305 += einsum(t1.bb, (0, 1), x21, (0, 2, 3, 4), (1, 2, 3, 4)) - del x21 - x306 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x306 += einsum(x113, (0, 1, 2, 3), (1, 0, 2, 3)) - del x113 - x306 += einsum(x305, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x305 - x307 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x307 += einsum(t2.abab, (0, 1, 2, 3), x306, (3, 4, 5, 6), (1, 4, 5, 6, 0, 2)) - del x306 - x308 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x308 += einsum(v.aabb.oooo, (0, 1, 2, 3), (2, 3, 0, 1)) - x308 += einsum(x121, (0, 1, 2, 3), (1, 0, 3, 2)) - del x121 - x309 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x309 += einsum(t2.abab, (0, 1, 2, 3), x308, (1, 4, 5, 6), (4, 3, 5, 6, 0, 2)) - x310 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x310 += einsum(t1.aa, (0, 1), x118, (2, 3, 4, 1), (2, 3, 0, 4)) - del x118 - x311 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x311 += einsum(t2.abab, (0, 1, 2, 3), x310, (4, 1, 5, 6), (4, 3, 5, 6, 0, 2)) - x312 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x312 += einsum(x297, (0, 1, 2, 3, 4, 5), (0, 1, 4, 3, 2, 5)) * -1.0 - del x297 - x312 += einsum(x300, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x300 - x312 += einsum(x302, (0, 1, 2, 3, 4, 5), (0, 1, 3, 4, 2, 5)) - del x302 - x312 += einsum(x304, (0, 1, 2, 3, 4, 5), (0, 1, 4, 3, 2, 5)) - del x304 - x312 += einsum(x307, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - del x307 - x312 += einsum(x309, (0, 1, 2, 3, 4, 5), (0, 1, 4, 3, 2, 5)) * -1.0 - del x309 - x312 += einsum(x311, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x311 - x313 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x313 += einsum(t1.aa, (0, 1), x312, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 6, 1)) - del x312 - x314 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x314 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x314 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x314 += einsum(x70, (0, 1, 2, 3), (0, 1, 2, 3)) - del x70 - x315 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x315 += einsum(t1.aa, (0, 1), x314, (2, 3, 1, 4), (2, 3, 0, 4)) - del x314 - x316 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x316 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x316 += einsum(x315, (0, 1, 2, 3), (2, 1, 0, 3)) - del x315 - x317 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x317 += einsum(t2.abab, (0, 1, 2, 3), x316, (4, 0, 5, 6), (1, 3, 4, 5, 6, 2)) - del x316 - x318 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x318 += einsum(v.aabb.ovvv, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 - x318 += einsum(x282, (0, 1, 2, 3), (0, 1, 2, 3)) - del x282 - x318 += einsum(x101, (0, 1, 2, 3), (1, 0, 2, 3)) - del x101 - x319 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x319 += einsum(t2.abab, (0, 1, 2, 3), x318, (3, 4, 5, 6), (1, 4, 5, 0, 6, 2)) - del x318 - x320 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x320 += einsum(t1.bb, (0, 1), x71, (0, 2, 3, 4), (1, 2, 3, 4)) - del x71 - x321 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x321 += einsum(x283, (0, 1, 2, 3), (1, 0, 2, 3)) - del x283 - x321 += einsum(x320, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x320 - x322 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x322 += einsum(t2.abab, (0, 1, 2, 3), x321, (3, 4, 5, 6), (1, 4, 5, 0, 6, 2)) - del x321 - x323 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x323 += einsum(t2.abab, (0, 1, 2, 3), x4, (1, 4, 5, 6), (4, 3, 0, 5, 2, 6)) - x324 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x324 += einsum(v.aabb.vvoo, (0, 1, 2, 3), (2, 3, 0, 1)) - x324 += einsum(x117, (0, 1, 2, 3), (0, 1, 3, 2)) - x325 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x325 += einsum(t1.aa, (0, 1), x324, (2, 3, 1, 4), (2, 3, 0, 4)) - del x324 - x326 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x326 += einsum(t2.abab, (0, 1, 2, 3), x325, (4, 1, 5, 6), (4, 3, 5, 0, 6, 2)) - del x325 - x327 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x327 += einsum(x293, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x293 - x327 += einsum(x294, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - del x294 - x327 += einsum(x313, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 - del x313 - x327 += einsum(x317, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - del x317 - x327 += einsum(x319, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) - del x319 - x327 += einsum(x322, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - del x322 - x327 += einsum(x323, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x323 - x327 += einsum(x326, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 - del x326 - t3new_abaaba += einsum(x327, (0, 1, 2, 3, 4, 5), (2, 0, 3, 4, 1, 5)) * -1.0 - t3new_abaaba += einsum(x327, (0, 1, 2, 3, 4, 5), (2, 0, 3, 5, 1, 4)) - t3new_abaaba += einsum(x327, (0, 1, 2, 3, 4, 5), (3, 0, 2, 4, 1, 5)) - t3new_abaaba += einsum(x327, (0, 1, 2, 3, 4, 5), (3, 0, 2, 5, 1, 4)) * -1.0 - del x327 - x328 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x328 += einsum(t1.bb, (0, 1), v.aabb.oovv, (2, 3, 4, 1), (0, 4, 2, 3)) - x329 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x329 += einsum(f.aa.ov, (0, 1), t2.abab, (2, 3, 1, 4), (3, 4, 0, 2)) - x330 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x330 += einsum(t1.bb, (0, 1), x308, (0, 2, 3, 4), (2, 1, 3, 4)) - del x308 - x331 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x331 += einsum(v.aabb.ooov, (0, 1, 2, 3), (2, 3, 0, 1)) - x331 += einsum(x328, (0, 1, 2, 3), (0, 1, 3, 2)) - del x328 - x331 += einsum(x329, (0, 1, 2, 3), (0, 1, 2, 3)) - del x329 - x331 += einsum(x330, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x330 - x332 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x332 += einsum(t2.aaaa, (0, 1, 2, 3), x331, (4, 5, 1, 6), (4, 5, 6, 0, 2, 3)) * -2.0 - del x331 - x333 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x333 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) - x333 += einsum(x99, (0, 1, 2, 3), (0, 1, 2, 3)) - x334 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x334 += einsum(t1.aa, (0, 1), x333, (2, 3, 4, 1), (2, 3, 4, 0)) - del x333 - x335 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x335 += einsum(t1.bb, (0, 1), x310, (2, 0, 3, 4), (2, 1, 3, 4)) - del x310 - x336 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x336 += einsum(x334, (0, 1, 2, 3), (0, 1, 3, 2)) - del x334 - x336 += einsum(x335, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x335 - x337 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x337 += einsum(t2.aaaa, (0, 1, 2, 3), x336, (4, 5, 6, 1), (4, 5, 6, 0, 2, 3)) * -2.0 - del x336 - x338 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x338 += einsum(x230, (0, 1), t3.abaaba, (2, 3, 0, 4, 5, 6), (3, 5, 1, 2, 4, 6)) * -2.0 - del x230 - x339 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x339 += einsum(x332, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -1.0 - del x332 - x339 += einsum(x337, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - del x337 - x339 += einsum(x338, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - del x338 - t3new_abaaba += einsum(x339, (0, 1, 2, 3, 4, 5), (2, 0, 3, 4, 1, 5)) - t3new_abaaba += einsum(x339, (0, 1, 2, 3, 4, 5), (3, 0, 2, 4, 1, 5)) * -1.0 - del x339 - x340 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x340 += einsum(f.aa.vv, (0, 1), t3.abaaba, (2, 3, 4, 5, 6, 1), (3, 6, 2, 4, 0, 5)) - x341 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x341 += einsum(v.aabb.vvoo, (0, 1, 2, 3), (2, 3, 0, 1)) - x341 += einsum(x117, (0, 1, 2, 3), (1, 0, 3, 2)) - del x117 - x342 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x342 += einsum(t1.bb, (0, 1), x341, (0, 2, 3, 4), (2, 1, 3, 4)) - del x341 - x343 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x343 += einsum(v.aabb.vvov, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 - x343 += einsum(x259, (0, 1, 2, 3), (0, 1, 2, 3)) - del x259 - x343 += einsum(x138, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x138 - x343 += einsum(x342, (0, 1, 2, 3), (0, 1, 3, 2)) - del x342 - x344 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x344 += einsum(t2.aaaa, (0, 1, 2, 3), x343, (4, 5, 3, 6), (4, 5, 0, 1, 6, 2)) * -2.0 - del x343 - x345 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x345 += einsum(f.aa.ov, (0, 1), t3.abaaba, (2, 3, 4, 5, 6, 1), (3, 6, 0, 2, 4, 5)) - x346 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x346 += einsum(t1.bb, (0, 1), x4, (0, 2, 3, 4), (2, 1, 3, 4)) - del x4 - x347 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x347 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) - x347 += einsum(x99, (0, 1, 2, 3), (0, 1, 2, 3)) - del x99 - x347 += einsum(x346, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x346 - x348 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x348 += einsum(t2.aaaa, (0, 1, 2, 3), x347, (4, 5, 6, 3), (4, 5, 6, 0, 1, 2)) * -1.0 - del x347 - x349 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x349 += einsum(x345, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - del x345 - x349 += einsum(x348, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) - del x348 - x350 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x350 += einsum(t1.aa, (0, 1), x349, (2, 3, 0, 4, 5, 6), (2, 3, 4, 5, 6, 1)) * 2.0 - del x349 - x351 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x351 += einsum(x340, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -2.0 - del x340 - x351 += einsum(x344, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) - del x344 - x351 += einsum(x350, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) - del x350 - t3new_abaaba += einsum(x351, (0, 1, 2, 3, 4, 5), (3, 0, 2, 4, 1, 5)) - t3new_abaaba += einsum(x351, (0, 1, 2, 3, 4, 5), (3, 0, 2, 5, 1, 4)) * -1.0 - del x351 - x352 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x352 += einsum(f.bb.ov, (0, 1), t1.bb, (0, 2), (1, 2)) - x353 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x353 += einsum(f.bb.vv, (0, 1), (0, 1)) - x353 += einsum(x352, (0, 1), (0, 1)) * -1.0 - del x352 - t3new_abaaba += einsum(x353, (0, 1), t3.abaaba, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) * 2.0 - x354 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x354 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovvv, (4, 5, 6, 3), (0, 1, 4, 2, 5, 6)) - x355 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x355 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ooov, (4, 5, 6, 3), (0, 1, 4, 5, 6, 2)) - x356 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x356 += einsum(t1.bb, (0, 1), x355, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x355 - x357 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x357 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) - x357 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x358 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x358 += einsum(t2.bbbb, (0, 1, 2, 3), x357, (4, 5, 3, 6), (4, 5, 0, 1, 6, 2)) * -1.0 - x359 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x359 += einsum(x356, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) - del x356 - x359 += einsum(x358, (0, 1, 2, 3, 4, 5), (3, 2, 1, 0, 5, 4)) - del x358 - x360 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x360 += einsum(t1.bb, (0, 1), x359, (2, 3, 0, 4, 5, 6), (2, 3, 4, 5, 6, 1)) * 2.0 - del x359 - x361 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x361 += einsum(x354, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 2.0 - del x354 - x361 += einsum(x360, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) - del x360 - t3new_bbbbbb = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - t3new_bbbbbb += einsum(x361, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - t3new_bbbbbb += einsum(x361, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - t3new_bbbbbb += einsum(x361, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) - t3new_bbbbbb += einsum(x361, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -1.0 - t3new_bbbbbb += einsum(x361, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -1.0 - t3new_bbbbbb += einsum(x361, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) - t3new_bbbbbb += einsum(x361, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) - t3new_bbbbbb += einsum(x361, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - t3new_bbbbbb += einsum(x361, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -1.0 - t3new_bbbbbb += einsum(x361, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) - t3new_bbbbbb += einsum(x361, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - t3new_bbbbbb += einsum(x361, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -1.0 - t3new_bbbbbb += einsum(x361, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) - t3new_bbbbbb += einsum(x361, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -1.0 - t3new_bbbbbb += einsum(x361, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -1.0 - t3new_bbbbbb += einsum(x361, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) - t3new_bbbbbb += einsum(x361, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) - t3new_bbbbbb += einsum(x361, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -1.0 - del x361 - x362 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x362 += einsum(x353, (0, 1), t3.bbbbbb, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) * 6.0 - del x353 - t3new_bbbbbb += einsum(x362, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) - t3new_bbbbbb += einsum(x362, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * -1.0 - t3new_bbbbbb += einsum(x362, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) - del x362 - x363 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x363 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.oooo, (4, 5, 6, 1), (0, 4, 5, 6, 2, 3)) - x364 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x364 += einsum(t2.bbbb, (0, 1, 2, 3), x157, (4, 5, 1, 6), (5, 4, 0, 6, 2, 3)) - del x157 - x365 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x365 += einsum(x171, (0, 1, 2, 3), (0, 2, 1, 3)) - x365 += einsum(x171, (0, 1, 2, 3), (0, 3, 2, 1)) * -1.0 - del x171 - x366 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x366 += einsum(t2.bbbb, (0, 1, 2, 3), x365, (4, 1, 5, 6), (4, 5, 6, 0, 2, 3)) * -1.0 - del x365 - x367 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x367 += einsum(x363, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - del x363 - x367 += einsum(x364, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -1.0 - del x364 - x367 += einsum(x366, (0, 1, 2, 3, 4, 5), (0, 3, 2, 1, 5, 4)) * -1.0 - del x366 - x368 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x368 += einsum(t1.bb, (0, 1), x367, (2, 3, 0, 4, 5, 6), (2, 3, 4, 5, 6, 1)) * 2.0 - del x367 - t3new_bbbbbb += einsum(x368, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) - t3new_bbbbbb += einsum(x368, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -1.0 - t3new_bbbbbb += einsum(x368, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) - t3new_bbbbbb += einsum(x368, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -1.0 - t3new_bbbbbb += einsum(x368, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - t3new_bbbbbb += einsum(x368, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -1.0 - t3new_bbbbbb += einsum(x368, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -1.0 - t3new_bbbbbb += einsum(x368, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) - t3new_bbbbbb += einsum(x368, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 - t3new_bbbbbb += einsum(x368, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) - t3new_bbbbbb += einsum(x368, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * -1.0 - t3new_bbbbbb += einsum(x368, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) - t3new_bbbbbb += einsum(x368, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) - t3new_bbbbbb += einsum(x368, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 - t3new_bbbbbb += einsum(x368, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) - t3new_bbbbbb += einsum(x368, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -1.0 - t3new_bbbbbb += einsum(x368, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) - t3new_bbbbbb += einsum(x368, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -1.0 - del x368 - x369 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x369 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ooov, (4, 1, 5, 6), (0, 4, 5, 2, 3, 6)) - x370 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x370 += einsum(t1.bb, (0, 1), x163, (2, 3, 1, 4), (0, 2, 3, 4)) - del x163 - x371 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x371 += einsum(t2.bbbb, (0, 1, 2, 3), x370, (4, 5, 1, 6), (4, 5, 0, 2, 3, 6)) - del x370 - x372 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x372 += einsum(t1.bb, (0, 1), x357, (2, 3, 1, 4), (2, 3, 0, 4)) - del x357 - x373 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x373 += einsum(t2.bbbb, (0, 1, 2, 3), x372, (4, 1, 5, 6), (5, 4, 0, 6, 2, 3)) * -2.0 - del x372 - x374 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x374 += einsum(x369, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -2.0 - del x369 - x374 += einsum(x371, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -2.0 - del x371 - x374 += einsum(x373, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) - del x373 - t3new_bbbbbb += einsum(x374, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - t3new_bbbbbb += einsum(x374, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - t3new_bbbbbb += einsum(x374, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -1.0 - t3new_bbbbbb += einsum(x374, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) - t3new_bbbbbb += einsum(x374, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - t3new_bbbbbb += einsum(x374, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) - t3new_bbbbbb += einsum(x374, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) - t3new_bbbbbb += einsum(x374, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * -1.0 - t3new_bbbbbb += einsum(x374, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) - t3new_bbbbbb += einsum(x374, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) * -1.0 - t3new_bbbbbb += einsum(x374, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) - t3new_bbbbbb += einsum(x374, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 - t3new_bbbbbb += einsum(x374, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) * -1.0 - t3new_bbbbbb += einsum(x374, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) - t3new_bbbbbb += einsum(x374, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -1.0 - t3new_bbbbbb += einsum(x374, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) - t3new_bbbbbb += einsum(x374, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -1.0 - t3new_bbbbbb += einsum(x374, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) - del x374 - x375 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x375 += einsum(x278, (0, 1), t3.bbbbbb, (2, 3, 0, 4, 5, 6), (1, 2, 3, 4, 5, 6)) * 6.0 - del x278 - t3new_bbbbbb += einsum(x375, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - t3new_bbbbbb += einsum(x375, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) * -1.0 - t3new_bbbbbb += einsum(x375, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) - del x375 - x376 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x376 += einsum(t2.bbbb, (0, 1, 2, 3), x142, (4, 5, 3, 6), (4, 0, 1, 2, 6, 5)) - del x142 - x377 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x377 += einsum(t2.bbbb, (0, 1, 2, 3), x1, (4, 5, 6, 3), (4, 0, 1, 6, 5, 2)) - del x1 - x378 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x378 += einsum(t1.bb, (0, 1), x377, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x377 - x379 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x379 += einsum(t2.bbbb, (0, 1, 2, 3), x169, (4, 5, 6, 3), (5, 4, 0, 1, 6, 2)) - del x169 - x380 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x380 += einsum(x378, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 - del x378 - x380 += einsum(x379, (0, 1, 2, 3, 4, 5), (0, 3, 2, 1, 5, 4)) * -1.0 - del x379 - x381 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x381 += einsum(t1.bb, (0, 1), x380, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 6, 1)) * 2.0 - del x380 - x382 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x382 += einsum(x376, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -2.0 - del x376 - x382 += einsum(x381, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -1.0 - del x381 - t3new_bbbbbb += einsum(x382, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - t3new_bbbbbb += einsum(x382, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - t3new_bbbbbb += einsum(x382, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) - t3new_bbbbbb += einsum(x382, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -1.0 - t3new_bbbbbb += einsum(x382, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -1.0 - t3new_bbbbbb += einsum(x382, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) - t3new_bbbbbb += einsum(x382, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) * -1.0 - t3new_bbbbbb += einsum(x382, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) - t3new_bbbbbb += einsum(x382, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) - t3new_bbbbbb += einsum(x382, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 - t3new_bbbbbb += einsum(x382, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * -1.0 - t3new_bbbbbb += einsum(x382, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) - t3new_bbbbbb += einsum(x382, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) - t3new_bbbbbb += einsum(x382, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -1.0 - t3new_bbbbbb += einsum(x382, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -1.0 - t3new_bbbbbb += einsum(x382, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) - t3new_bbbbbb += einsum(x382, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) - t3new_bbbbbb += einsum(x382, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -1.0 - del x382 - x383 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x383 += einsum(f.bb.ov, (0, 1), t2.bbbb, (2, 3, 4, 1), (0, 2, 3, 4)) - x384 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x384 += einsum(t2.bbbb, (0, 1, 2, 3), x383, (1, 4, 5, 6), (5, 4, 0, 6, 2, 3)) * -1.0 - del x383 - t3new_bbbbbb += einsum(x384, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -4.0 - t3new_bbbbbb += einsum(x384, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * 4.0 - t3new_bbbbbb += einsum(x384, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -4.0 - t3new_bbbbbb += einsum(x384, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 4.0 - t3new_bbbbbb += einsum(x384, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -4.0 - t3new_bbbbbb += einsum(x384, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 4.0 - t3new_bbbbbb += einsum(x384, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * 4.0 - t3new_bbbbbb += einsum(x384, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * -4.0 - t3new_bbbbbb += einsum(x384, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * 4.0 - del x384 - - t1new.aa = t1new_aa - t1new.bb = t1new_bb - t2new.aaaa = t2new_aaaa - t2new.abab = t2new_abab - t2new.bbbb = t2new_bbbb - t3new.aaaaaa = t3new_aaaaaa - t3new.abaaba = t3new_abaaba - t3new.babbab = t3new_babbab - t3new.bbbbbb = t3new_bbbbbb - - return {"t1new": t1new, "t2new": t2new, "t3new": t3new} - diff --git a/ebcc/codegen/UCCD.py b/ebcc/codegen/UCCD.py deleted file mode 100644 index ebc8bf96..00000000 --- a/ebcc/codegen/UCCD.py +++ /dev/null @@ -1,953 +0,0 @@ -# Code generated for ebcc. - -from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, Namespace -from ebcc.precision import types - -def energy(f=None, v=None, nocc=None, nvir=None, t2=None, **kwargs): - # energy - e_cc = 0 - e_cc += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 1, 3), ()) - e_cc += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (0, 2, 1, 3), ()) - e_cc += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (0, 3, 1, 2), ()) * -1.0 - - return e_cc - -def update_amps(f=None, v=None, nocc=None, nvir=None, t2=None, **kwargs): - t2new = Namespace() - - # T amplitudes - t2new_aaaa = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - t2new_aaaa += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.vvvv, (4, 3, 5, 2), (0, 1, 4, 5)) * -2.0 - t2new_abab = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - t2new_abab += einsum(t2.abab, (0, 1, 2, 3), v.aabb.oovv, (4, 0, 5, 3), (4, 1, 2, 5)) * -1.0 - t2new_abab += einsum(t2.abab, (0, 1, 2, 3), v.aabb.vvvv, (4, 2, 5, 3), (0, 1, 4, 5)) - t2new_abab += einsum(v.aabb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - t2new_bbbb = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - t2new_bbbb += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.vvvv, (4, 3, 5, 2), (0, 1, 4, 5)) * -2.0 - x0 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x0 += einsum(t2.aaaa, (0, 1, 2, 3), v.aabb.ovov, (1, 3, 4, 5), (4, 5, 0, 2)) - x1 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x1 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) - x1 += einsum(x0, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x0 - x2 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x2 += einsum(t2.abab, (0, 1, 2, 3), x1, (1, 3, 4, 5), (0, 4, 2, 5)) - del x1 - x3 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x3 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) - x3 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x4 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x4 += einsum(t2.aaaa, (0, 1, 2, 3), x3, (1, 4, 3, 5), (0, 4, 2, 5)) * 2.0 - del x3 - x5 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x5 += einsum(x2, (0, 1, 2, 3), (0, 1, 2, 3)) - del x2 - x5 += einsum(x4, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x4 - t2new_aaaa += einsum(x5, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new_aaaa += einsum(x5, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new_aaaa += einsum(x5, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - t2new_aaaa += einsum(x5, (0, 1, 2, 3), (1, 0, 3, 2)) - del x5 - x6 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x6 += einsum(f.aa.oo, (0, 1), t2.aaaa, (2, 1, 3, 4), (0, 2, 3, 4)) - x7 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x7 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 1, 3), (0, 4)) - x8 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x8 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 3, 1, 2), (0, 4)) * -1.0 - x9 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x9 += einsum(x7, (0, 1), (0, 1)) - x9 += einsum(x8, (0, 1), (0, 1)) * 2.0 - x10 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x10 += einsum(x9, (0, 1), t2.aaaa, (2, 1, 3, 4), (2, 0, 3, 4)) * -2.0 - del x9 - x11 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x11 += einsum(x6, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - del x6 - x11 += einsum(x10, (0, 1, 2, 3), (0, 1, 3, 2)) - del x10 - t2new_aaaa += einsum(x11, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_aaaa += einsum(x11, (0, 1, 2, 3), (1, 0, 2, 3)) - del x11 - x12 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x12 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x12 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x13 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x13 += einsum(t2.aaaa, (0, 1, 2, 3), x12, (1, 4, 3, 5), (4, 0, 5, 2)) - x14 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x14 += einsum(t2.aaaa, (0, 1, 2, 3), x13, (1, 4, 3, 5), (4, 0, 5, 2)) * -4.0 - del x13 - x15 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x15 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 4, 1, 3), (2, 4)) - x16 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x16 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (0, 4, 1, 3), (2, 4)) - x17 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x17 += einsum(x15, (0, 1), (0, 1)) - x17 += einsum(x16, (0, 1), (0, 1)) * 2.0 - x18 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x18 += einsum(x17, (0, 1), t2.aaaa, (2, 3, 4, 1), (2, 3, 0, 4)) * -2.0 - del x17 - x19 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x19 += einsum(x14, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x14 - x19 += einsum(x18, (0, 1, 2, 3), (1, 0, 3, 2)) - del x18 - t2new_aaaa += einsum(x19, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_aaaa += einsum(x19, (0, 1, 2, 3), (0, 1, 3, 2)) - del x19 - x20 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x20 += einsum(f.aa.vv, (0, 1), t2.aaaa, (2, 3, 4, 1), (2, 3, 0, 4)) - x21 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x21 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x21 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x22 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x22 += einsum(t2.abab, (0, 1, 2, 3), x21, (1, 4, 3, 5), (4, 5, 0, 2)) - x23 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x23 += einsum(t2.abab, (0, 1, 2, 3), x22, (1, 3, 4, 5), (4, 0, 5, 2)) * -1.0 - del x22 - x24 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x24 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x24 += einsum(x20, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 - del x20 - x24 += einsum(x23, (0, 1, 2, 3), (1, 0, 3, 2)) - del x23 - t2new_aaaa += einsum(x24, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new_aaaa += einsum(x24, (0, 1, 2, 3), (0, 1, 2, 3)) - del x24 - x25 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x25 += einsum(v.aaaa.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x25 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 2, 5, 3), (4, 0, 1, 5)) - t2new_aaaa += einsum(t2.aaaa, (0, 1, 2, 3), x25, (0, 4, 5, 1), (5, 4, 2, 3)) * -2.0 - del x25 - x26 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x26 += einsum(t2.bbbb, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (0, 2, 4, 5)) - t2new_abab += einsum(x26, (0, 1, 2, 3), (2, 0, 3, 1)) * 2.0 - x27 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x27 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x27 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x28 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x28 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x28 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x28 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (4, 0, 5, 2)) - x28 += einsum(t2.aaaa, (0, 1, 2, 3), x27, (1, 4, 5, 3), (4, 0, 5, 2)) * -2.0 - del x27 - t2new_abab += einsum(t2.abab, (0, 1, 2, 3), x28, (0, 4, 2, 5), (4, 1, 5, 3)) - del x28 - x29 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x29 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - x29 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 - x29 += einsum(t2.bbbb, (0, 1, 2, 3), x21, (1, 4, 5, 3), (4, 0, 5, 2)) * -1.0 - del x21 - t2new_abab += einsum(t2.abab, (0, 1, 2, 3), x29, (1, 4, 3, 5), (0, 4, 2, 5)) * -2.0 - del x29 - x30 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x30 += einsum(v.aabb.vvoo, (0, 1, 2, 3), (2, 3, 0, 1)) - x30 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 4, 5, 3), (5, 1, 4, 2)) * -1.0 - t2new_abab += einsum(t2.abab, (0, 1, 2, 3), x30, (1, 4, 2, 5), (0, 4, 5, 3)) * -1.0 - del x30 - x31 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x31 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) * 0.5 - x31 += einsum(x26, (0, 1, 2, 3), (0, 1, 2, 3)) - del x26 - t2new_abab += einsum(t2.aaaa, (0, 1, 2, 3), x31, (4, 5, 1, 3), (0, 4, 2, 5)) * 4.0 - del x31 - x32 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x32 += einsum(f.aa.vv, (0, 1), (0, 1)) * -1.0 - x32 += einsum(x15, (0, 1), (1, 0)) - del x15 - x32 += einsum(x16, (0, 1), (1, 0)) * 2.0 - del x16 - t2new_abab += einsum(x32, (0, 1), t2.abab, (2, 3, 0, 4), (2, 3, 1, 4)) * -1.0 - del x32 - x33 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x33 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (0, 4, 1, 3), (2, 4)) - x34 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x34 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 1, 4), (3, 4)) - x35 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x35 += einsum(f.bb.vv, (0, 1), (0, 1)) * -1.0 - x35 += einsum(x33, (0, 1), (1, 0)) * 2.0 - x35 += einsum(x34, (0, 1), (1, 0)) - t2new_abab += einsum(x35, (0, 1), t2.abab, (2, 3, 4, 0), (2, 3, 4, 1)) * -1.0 - del x35 - x36 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x36 += einsum(v.aabb.oooo, (0, 1, 2, 3), (2, 3, 0, 1)) - x36 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 5, 3), (5, 1, 4, 0)) - t2new_abab += einsum(t2.abab, (0, 1, 2, 3), x36, (1, 4, 0, 5), (5, 4, 2, 3)) - del x36 - x37 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x37 += einsum(f.aa.oo, (0, 1), (0, 1)) - x37 += einsum(x7, (0, 1), (1, 0)) - del x7 - x37 += einsum(x8, (0, 1), (1, 0)) * 2.0 - del x8 - t2new_abab += einsum(x37, (0, 1), t2.abab, (0, 2, 3, 4), (1, 2, 3, 4)) * -1.0 - del x37 - x38 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x38 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 3, 1, 2), (0, 4)) * -1.0 - x39 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x39 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 3), (1, 4)) - x40 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x40 += einsum(f.bb.oo, (0, 1), (0, 1)) - x40 += einsum(x38, (0, 1), (1, 0)) * 2.0 - x40 += einsum(x39, (0, 1), (1, 0)) - t2new_abab += einsum(x40, (0, 1), t2.abab, (2, 0, 3, 4), (2, 1, 3, 4)) * -1.0 - del x40 - x41 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x41 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 5), (1, 4, 3, 5)) - x42 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x42 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x42 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x42 += einsum(x41, (0, 1, 2, 3), (1, 0, 3, 2)) - x43 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x43 += einsum(t2.bbbb, (0, 1, 2, 3), x42, (1, 4, 3, 5), (0, 4, 2, 5)) * 2.0 - del x42 - x44 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x44 += einsum(x41, (0, 1, 2, 3), (0, 1, 2, 3)) - del x41 - x44 += einsum(x43, (0, 1, 2, 3), (0, 1, 2, 3)) - del x43 - t2new_bbbb += einsum(x44, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new_bbbb += einsum(x44, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new_bbbb += einsum(x44, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - t2new_bbbb += einsum(x44, (0, 1, 2, 3), (1, 0, 3, 2)) - del x44 - x45 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x45 += einsum(f.bb.vv, (0, 1), t2.bbbb, (2, 3, 4, 1), (2, 3, 0, 4)) - x46 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x46 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x46 += einsum(x45, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 - del x45 - t2new_bbbb += einsum(x46, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new_bbbb += einsum(x46, (0, 1, 2, 3), (0, 1, 2, 3)) - del x46 - x47 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x47 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x47 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x48 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x48 += einsum(t2.bbbb, (0, 1, 2, 3), x47, (1, 4, 5, 3), (0, 4, 2, 5)) - del x47 - x49 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x49 += einsum(t2.bbbb, (0, 1, 2, 3), x48, (4, 1, 5, 3), (0, 4, 2, 5)) * -4.0 - del x48 - x50 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x50 += einsum(t2.abab, (0, 1, 2, 3), x12, (0, 4, 2, 5), (1, 3, 4, 5)) - del x12 - x51 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x51 += einsum(t2.abab, (0, 1, 2, 3), x50, (4, 5, 0, 2), (4, 1, 5, 3)) * -1.0 - del x50 - x52 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x52 += einsum(x33, (0, 1), (0, 1)) - del x33 - x52 += einsum(x34, (0, 1), (0, 1)) * 0.5 - del x34 - x53 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x53 += einsum(x52, (0, 1), t2.bbbb, (2, 3, 4, 1), (2, 3, 4, 0)) * -4.0 - del x52 - x54 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x54 += einsum(x49, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x49 - x54 += einsum(x51, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x51 - x54 += einsum(x53, (0, 1, 2, 3), (1, 0, 2, 3)) - del x53 - t2new_bbbb += einsum(x54, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_bbbb += einsum(x54, (0, 1, 2, 3), (0, 1, 3, 2)) - del x54 - x55 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x55 += einsum(f.bb.oo, (0, 1), t2.bbbb, (2, 1, 3, 4), (0, 2, 3, 4)) - x56 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x56 += einsum(x38, (0, 1), (0, 1)) - del x38 - x56 += einsum(x39, (0, 1), (0, 1)) * 0.5 - del x39 - x57 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x57 += einsum(x56, (0, 1), t2.bbbb, (2, 1, 3, 4), (2, 0, 3, 4)) * -4.0 - del x56 - x58 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x58 += einsum(x55, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - del x55 - x58 += einsum(x57, (0, 1, 2, 3), (0, 1, 3, 2)) - del x57 - t2new_bbbb += einsum(x58, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_bbbb += einsum(x58, (0, 1, 2, 3), (1, 0, 2, 3)) - del x58 - x59 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x59 += einsum(v.bbbb.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x59 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 3, 5, 2), (4, 0, 5, 1)) * -1.0 - t2new_bbbb += einsum(t2.bbbb, (0, 1, 2, 3), x59, (0, 4, 1, 5), (4, 5, 2, 3)) * 2.0 - del x59 - - t2new.aaaa = t2new_aaaa - t2new.abab = t2new_abab - t2new.bbbb = t2new_bbbb - - return {"t2new": t2new} - -def update_lams(f=None, v=None, nocc=None, nvir=None, t2=None, l2=None, **kwargs): - l2new = Namespace() - - # L amplitudes - l2new_aaaa = np.zeros((nvir[0], nvir[0], nocc[0], nocc[0]), dtype=types[float]) - l2new_aaaa += einsum(l2.aaaa, (0, 1, 2, 3), v.aaaa.vvvv, (4, 1, 5, 0), (4, 5, 2, 3)) * -2.0 - l2new_abab = np.zeros((nvir[0], nvir[1], nocc[0], nocc[1]), dtype=types[float]) - l2new_abab += einsum(v.aabb.ovov, (0, 1, 2, 3), (1, 3, 0, 2)) - l2new_abab += einsum(l2.abab, (0, 1, 2, 3), v.aabb.vvvv, (4, 0, 5, 1), (4, 5, 2, 3)) - l2new_bbbb = np.zeros((nvir[1], nvir[1], nocc[1], nocc[1]), dtype=types[float]) - l2new_bbbb += einsum(l2.bbbb, (0, 1, 2, 3), v.bbbb.vvvv, (4, 1, 5, 0), (4, 5, 2, 3)) * -2.0 - x0 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x0 += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 5, 0, 1), (2, 3, 4, 5)) - l2new_aaaa += einsum(v.aaaa.ovov, (0, 1, 2, 3), x0, (4, 5, 0, 2), (3, 1, 4, 5)) * -2.0 - del x0 - x1 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x1 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (0, 4, 2, 5)) - x2 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x2 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x2 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x3 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x3 += einsum(t2.aaaa, (0, 1, 2, 3), x2, (1, 4, 3, 5), (0, 4, 2, 5)) * 2.0 - x4 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x4 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x4 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x4 += einsum(x1, (0, 1, 2, 3), (0, 1, 2, 3)) - del x1 - x4 += einsum(x3, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x3 - l2new_abab += einsum(l2.abab, (0, 1, 2, 3), x4, (2, 4, 0, 5), (5, 1, 4, 3)) - x5 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x5 += einsum(l2.aaaa, (0, 1, 2, 3), x4, (3, 4, 1, 5), (4, 2, 5, 0)) * 2.0 - del x4 - x6 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x6 += einsum(t2.bbbb, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (0, 2, 4, 5)) - x7 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x7 += einsum(t2.abab, (0, 1, 2, 3), x2, (0, 4, 2, 5), (1, 3, 4, 5)) - del x2 - x8 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x8 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) - x8 += einsum(x6, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x6 - x8 += einsum(x7, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x7 - l2new_abab += einsum(l2.bbbb, (0, 1, 2, 3), x8, (3, 1, 4, 5), (5, 0, 4, 2)) * 2.0 - x9 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x9 += einsum(l2.abab, (0, 1, 2, 3), x8, (3, 1, 4, 5), (4, 2, 5, 0)) - del x8 - x10 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x10 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 4, 1), (0, 4)) - x11 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x11 += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (2, 3, 4, 1), (0, 4)) - x12 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x12 += einsum(x10, (0, 1), (0, 1)) - x12 += einsum(x11, (0, 1), (0, 1)) * 2.0 - x13 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x13 += einsum(x12, (0, 1), v.aaaa.ovov, (2, 1, 3, 4), (2, 3, 0, 4)) - del x12 - x14 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x14 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 0, 1), (2, 4)) - x15 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x15 += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 3, 0, 1), (2, 4)) - x16 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x16 += einsum(x14, (0, 1), (0, 1)) - x16 += einsum(x15, (0, 1), (0, 1)) * 2.0 - x17 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x17 += einsum(x16, (0, 1), v.aaaa.ovov, (2, 3, 1, 4), (0, 2, 4, 3)) - del x16 - x18 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x18 += einsum(x5, (0, 1, 2, 3), (1, 0, 3, 2)) - del x5 - x18 += einsum(x9, (0, 1, 2, 3), (1, 0, 3, 2)) - del x9 - x18 += einsum(x13, (0, 1, 2, 3), (1, 0, 2, 3)) - del x13 - x18 += einsum(x17, (0, 1, 2, 3), (0, 1, 3, 2)) - del x17 - l2new_aaaa += einsum(x18, (0, 1, 2, 3), (2, 3, 0, 1)) - l2new_aaaa += einsum(x18, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - l2new_aaaa += einsum(x18, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 - l2new_aaaa += einsum(x18, (0, 1, 2, 3), (3, 2, 1, 0)) - del x18 - x19 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x19 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 1, 3), (0, 4)) - x20 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x20 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 2, 1, 3), (0, 4)) - x21 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x21 += einsum(x19, (0, 1), (0, 1)) - x21 += einsum(x20, (0, 1), (0, 1)) * 2.0 - x22 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x22 += einsum(x21, (0, 1), l2.aaaa, (2, 3, 4, 0), (1, 4, 2, 3)) * -2.0 - del x21 - l2new_aaaa += einsum(x22, (0, 1, 2, 3), (2, 3, 1, 0)) - l2new_aaaa += einsum(x22, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 - del x22 - x23 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x23 += einsum(f.aa.vv, (0, 1), l2.aaaa, (2, 1, 3, 4), (3, 4, 0, 2)) - x24 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x24 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 4, 1, 3), (2, 4)) - x25 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x25 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (0, 3, 1, 4), (2, 4)) * -1.0 - x26 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x26 += einsum(x24, (0, 1), (0, 1)) - x26 += einsum(x25, (0, 1), (0, 1)) * 2.0 - x27 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x27 += einsum(x26, (0, 1), l2.aaaa, (2, 0, 3, 4), (3, 4, 1, 2)) * -2.0 - del x26 - x28 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x28 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x28 += einsum(x23, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - del x23 - x28 += einsum(x27, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x27 - l2new_aaaa += einsum(x28, (0, 1, 2, 3), (3, 2, 0, 1)) - l2new_aaaa += einsum(x28, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 - del x28 - x29 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x29 += einsum(f.aa.oo, (0, 1), l2.aaaa, (2, 3, 4, 1), (0, 4, 2, 3)) - l2new_aaaa += einsum(x29, (0, 1, 2, 3), (3, 2, 0, 1)) * -2.0 - l2new_aaaa += einsum(x29, (0, 1, 2, 3), (3, 2, 1, 0)) * 2.0 - del x29 - x30 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x30 += einsum(v.aaaa.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x30 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 3, 5, 2), (0, 4, 5, 1)) * -1.0 - l2new_aaaa += einsum(l2.aaaa, (0, 1, 2, 3), x30, (3, 4, 5, 2), (0, 1, 5, 4)) * 2.0 - del x30 - x31 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x31 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 5, 0, 1), (3, 5, 2, 4)) - l2new_abab += einsum(v.aabb.ovov, (0, 1, 2, 3), x31, (4, 2, 5, 0), (1, 3, 5, 4)) - del x31 - x32 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x32 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 5), (1, 4, 3, 5)) - x33 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x33 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x33 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x34 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x34 += einsum(t2.bbbb, (0, 1, 2, 3), x33, (1, 4, 5, 3), (0, 4, 2, 5)) * 2.0 - del x33 - x35 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x35 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x35 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x35 += einsum(x32, (0, 1, 2, 3), (0, 1, 2, 3)) - del x32 - x35 += einsum(x34, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x34 - l2new_abab += einsum(l2.abab, (0, 1, 2, 3), x35, (3, 4, 1, 5), (0, 5, 2, 4)) - x36 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x36 += einsum(t2.aaaa, (0, 1, 2, 3), v.aabb.ovov, (1, 3, 4, 5), (4, 5, 0, 2)) - x37 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x37 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x37 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x38 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x38 += einsum(t2.abab, (0, 1, 2, 3), x37, (1, 4, 3, 5), (4, 5, 0, 2)) - del x37 - x39 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x39 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) - x39 += einsum(x36, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x36 - x39 += einsum(x38, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x38 - l2new_abab += einsum(l2.aaaa, (0, 1, 2, 3), x39, (4, 5, 3, 1), (0, 5, 2, 4)) * 2.0 - x40 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x40 += einsum(v.aabb.vvoo, (0, 1, 2, 3), (2, 3, 0, 1)) - x40 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 4, 5, 3), (1, 5, 2, 4)) * -1.0 - l2new_abab += einsum(l2.abab, (0, 1, 2, 3), x40, (3, 4, 0, 5), (5, 1, 2, 4)) * -1.0 - del x40 - x41 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x41 += einsum(v.aabb.oovv, (0, 1, 2, 3), (2, 3, 0, 1)) - x41 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 1, 5), (3, 5, 0, 4)) * -1.0 - l2new_abab += einsum(l2.abab, (0, 1, 2, 3), x41, (1, 4, 2, 5), (0, 4, 5, 3)) * -1.0 - del x41 - x42 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x42 += einsum(f.aa.vv, (0, 1), (0, 1)) * -1.0 - x42 += einsum(x24, (0, 1), (0, 1)) - del x24 - x42 += einsum(x25, (0, 1), (0, 1)) * 2.0 - del x25 - l2new_abab += einsum(x42, (0, 1), l2.abab, (0, 2, 3, 4), (1, 2, 3, 4)) * -1.0 - del x42 - x43 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x43 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (0, 3, 1, 4), (2, 4)) * -1.0 - x44 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x44 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 1, 4), (3, 4)) - x45 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x45 += einsum(f.bb.vv, (0, 1), (0, 1)) * -1.0 - x45 += einsum(x43, (0, 1), (0, 1)) * 2.0 - x45 += einsum(x44, (0, 1), (0, 1)) - l2new_abab += einsum(x45, (0, 1), l2.abab, (2, 0, 3, 4), (2, 1, 3, 4)) * -1.0 - del x45 - x46 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x46 += einsum(v.aabb.oooo, (0, 1, 2, 3), (2, 3, 0, 1)) - x46 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 5, 3), (1, 5, 0, 4)) - l2new_abab += einsum(l2.abab, (0, 1, 2, 3), x46, (3, 4, 2, 5), (0, 1, 5, 4)) - del x46 - x47 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x47 += einsum(x10, (0, 1), (0, 1)) * 0.5 - del x10 - x47 += einsum(x11, (0, 1), (0, 1)) - del x11 - l2new_abab += einsum(x47, (0, 1), v.aabb.ovov, (2, 1, 3, 4), (0, 4, 2, 3)) * -2.0 - del x47 - x48 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x48 += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (2, 3, 4, 1), (0, 4)) - x49 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x49 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 0, 4), (1, 4)) - x50 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x50 += einsum(x48, (0, 1), (0, 1)) * 2.0 - x50 += einsum(x49, (0, 1), (0, 1)) - l2new_abab += einsum(x50, (0, 1), v.aabb.ovov, (2, 3, 4, 1), (3, 0, 2, 4)) * -1.0 - del x50 - x51 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x51 += einsum(f.aa.oo, (0, 1), (0, 1)) - x51 += einsum(x19, (0, 1), (0, 1)) - del x19 - x51 += einsum(x20, (0, 1), (0, 1)) * 2.0 - del x20 - l2new_abab += einsum(x51, (0, 1), l2.abab, (2, 3, 0, 4), (2, 3, 1, 4)) * -1.0 - del x51 - x52 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x52 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 2, 1, 3), (0, 4)) - x53 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x53 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 3), (1, 4)) - x54 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x54 += einsum(f.bb.oo, (0, 1), (0, 1)) - x54 += einsum(x52, (0, 1), (0, 1)) * 2.0 - x54 += einsum(x53, (0, 1), (0, 1)) - l2new_abab += einsum(x54, (0, 1), l2.abab, (2, 3, 4, 0), (2, 3, 4, 1)) * -1.0 - del x54 - x55 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x55 += einsum(x14, (0, 1), (0, 1)) * 0.5 - del x14 - x55 += einsum(x15, (0, 1), (0, 1)) - del x15 - l2new_abab += einsum(x55, (0, 1), v.aabb.ovov, (1, 2, 3, 4), (2, 4, 0, 3)) * -2.0 - del x55 - x56 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x56 += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 3, 0, 1), (2, 4)) - x57 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x57 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 1), (3, 4)) - x58 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x58 += einsum(x56, (0, 1), (0, 1)) * 2.0 - x58 += einsum(x57, (0, 1), (0, 1)) - l2new_abab += einsum(x58, (0, 1), v.aabb.ovov, (2, 3, 1, 4), (3, 4, 2, 0)) * -1.0 - del x58 - x59 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x59 += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 5, 0, 1), (2, 3, 4, 5)) - l2new_bbbb += einsum(v.bbbb.ovov, (0, 1, 2, 3), x59, (4, 5, 0, 2), (3, 1, 4, 5)) * -2.0 - del x59 - x60 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x60 += einsum(l2.bbbb, (0, 1, 2, 3), x35, (3, 4, 1, 5), (2, 4, 0, 5)) * 2.0 - del x35 - x61 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x61 += einsum(l2.abab, (0, 1, 2, 3), x39, (4, 5, 2, 0), (4, 3, 5, 1)) - del x39 - x62 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x62 += einsum(x48, (0, 1), (0, 1)) - del x48 - x62 += einsum(x49, (0, 1), (0, 1)) * 0.5 - del x49 - x63 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x63 += einsum(x62, (0, 1), v.bbbb.ovov, (2, 1, 3, 4), (2, 3, 0, 4)) * 2.0 - del x62 - x64 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x64 += einsum(x56, (0, 1), (0, 1)) - del x56 - x64 += einsum(x57, (0, 1), (0, 1)) * 0.5 - del x57 - x65 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x65 += einsum(x64, (0, 1), v.bbbb.ovov, (2, 3, 1, 4), (0, 2, 4, 3)) * 2.0 - del x64 - x66 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x66 += einsum(x60, (0, 1, 2, 3), (0, 1, 2, 3)) - del x60 - x66 += einsum(x61, (0, 1, 2, 3), (1, 0, 3, 2)) - del x61 - x66 += einsum(x63, (0, 1, 2, 3), (1, 0, 2, 3)) - del x63 - x66 += einsum(x65, (0, 1, 2, 3), (0, 1, 3, 2)) - del x65 - l2new_bbbb += einsum(x66, (0, 1, 2, 3), (2, 3, 0, 1)) - l2new_bbbb += einsum(x66, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - l2new_bbbb += einsum(x66, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 - l2new_bbbb += einsum(x66, (0, 1, 2, 3), (3, 2, 1, 0)) - del x66 - x67 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x67 += einsum(f.bb.vv, (0, 1), l2.bbbb, (2, 1, 3, 4), (3, 4, 0, 2)) - x68 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x68 += einsum(x43, (0, 1), (0, 1)) - del x43 - x68 += einsum(x44, (0, 1), (0, 1)) * 0.5 - del x44 - x69 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x69 += einsum(x68, (0, 1), l2.bbbb, (2, 0, 3, 4), (3, 4, 2, 1)) * -4.0 - del x68 - x70 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x70 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x70 += einsum(x67, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - del x67 - x70 += einsum(x69, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x69 - l2new_bbbb += einsum(x70, (0, 1, 2, 3), (3, 2, 0, 1)) - l2new_bbbb += einsum(x70, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 - del x70 - x71 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x71 += einsum(x52, (0, 1), (0, 1)) - del x52 - x71 += einsum(x53, (0, 1), (0, 1)) * 0.5 - del x53 - x72 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x72 += einsum(x71, (0, 1), l2.bbbb, (2, 3, 4, 0), (4, 1, 2, 3)) * -4.0 - del x71 - l2new_bbbb += einsum(x72, (0, 1, 2, 3), (2, 3, 0, 1)) - l2new_bbbb += einsum(x72, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 - del x72 - x73 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x73 += einsum(f.bb.oo, (0, 1), l2.bbbb, (2, 3, 4, 1), (0, 4, 2, 3)) - l2new_bbbb += einsum(x73, (0, 1, 2, 3), (3, 2, 0, 1)) * -2.0 - l2new_bbbb += einsum(x73, (0, 1, 2, 3), (3, 2, 1, 0)) * 2.0 - del x73 - x74 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x74 += einsum(v.bbbb.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x74 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 3, 5, 2), (0, 4, 1, 5)) * -1.0 - l2new_bbbb += einsum(l2.bbbb, (0, 1, 2, 3), x74, (3, 4, 2, 5), (0, 1, 4, 5)) * -2.0 - del x74 - - l2new.aaaa = l2new_aaaa - l2new.abab = l2new_abab - l2new.bbbb = l2new_bbbb - - return {"l2new": l2new} - -def make_rdm1_f(f=None, v=None, nocc=None, nvir=None, t2=None, l2=None, **kwargs): - rdm1_f = Namespace() - - delta = Namespace(aa=Namespace(), bb=Namespace()) - delta.aa = Namespace(oo=np.eye(nocc[0]), vv=np.eye(nvir[0])) - delta.bb = Namespace(oo=np.eye(nocc[1]), vv=np.eye(nvir[1])) - - # RDM1 - rdm1_f_aa_oo = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - rdm1_f_aa_oo += einsum(delta.aa.oo, (0, 1), (0, 1)) - rdm1_f_aa_oo += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 0, 1), (4, 2)) * -1.0 - rdm1_f_aa_oo += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 3, 0, 1), (4, 2)) * -2.0 - rdm1_f_bb_oo = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - rdm1_f_bb_oo += einsum(delta.bb.oo, (0, 1), (0, 1)) - rdm1_f_bb_oo += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 3, 0, 1), (4, 2)) * -2.0 - rdm1_f_bb_oo += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 1), (4, 3)) * -1.0 - rdm1_f_aa_vv = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - rdm1_f_aa_vv += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 4, 1), (0, 4)) - rdm1_f_aa_vv += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (2, 3, 4, 1), (0, 4)) * 2.0 - rdm1_f_bb_vv = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - rdm1_f_bb_vv += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 0, 4), (1, 4)) - rdm1_f_bb_vv += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (2, 3, 4, 1), (0, 4)) * 2.0 - rdm1_f_aa_ov = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - rdm1_f_bb_ov = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - rdm1_f_aa_vo = np.zeros((nvir[0], nocc[0]), dtype=types[float]) - rdm1_f_bb_vo = np.zeros((nvir[1], nocc[1]), dtype=types[float]) - - rdm1_f_aa = np.block([[rdm1_f_aa_oo, rdm1_f_aa_ov], [rdm1_f_aa_vo, rdm1_f_aa_vv]]) - rdm1_f_bb = np.block([[rdm1_f_bb_oo, rdm1_f_bb_ov], [rdm1_f_bb_vo, rdm1_f_bb_vv]]) - - rdm1_f.aa = rdm1_f_aa - rdm1_f.bb = rdm1_f_bb - - return rdm1_f - -def make_rdm2_f(f=None, v=None, nocc=None, nvir=None, t2=None, l2=None, **kwargs): - rdm2_f = Namespace() - - delta = Namespace(aa=Namespace(), bb=Namespace()) - delta.aa = Namespace(oo=np.eye(nocc[0]), vv=np.eye(nvir[0])) - delta.bb = Namespace(oo=np.eye(nocc[1]), vv=np.eye(nvir[1])) - - # RDM2 - rdm2_f_aaaa_oooo = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - rdm2_f_aaaa_oooo += einsum(delta.aa.oo, (0, 1), delta.aa.oo, (2, 3), (0, 2, 1, 3)) - rdm2_f_aaaa_oooo += einsum(delta.aa.oo, (0, 1), delta.aa.oo, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_bbbb_oooo = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - rdm2_f_bbbb_oooo += einsum(delta.bb.oo, (0, 1), delta.bb.oo, (2, 3), (0, 2, 1, 3)) - rdm2_f_bbbb_oooo += einsum(delta.bb.oo, (0, 1), delta.bb.oo, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_aaaa_oovv = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - rdm2_f_aaaa_oovv += einsum(t2.aaaa, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - rdm2_f_abab_oovv = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - rdm2_f_abab_oovv += einsum(t2.abab, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_bbbb_oovv = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - rdm2_f_bbbb_oovv += einsum(t2.bbbb, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - rdm2_f_abab_ovov = np.zeros((nocc[0], nvir[1], nocc[0], nvir[1]), dtype=types[float]) - rdm2_f_abab_ovov += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 0, 5), (4, 1, 2, 5)) * -1.0 - rdm2_f_aaaa_vvoo = np.zeros((nvir[0], nvir[0], nocc[0], nocc[0]), dtype=types[float]) - rdm2_f_aaaa_vvoo += einsum(l2.aaaa, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - rdm2_f_abab_vvoo = np.zeros((nvir[0], nvir[1], nocc[0], nocc[1]), dtype=types[float]) - rdm2_f_abab_vvoo += einsum(l2.abab, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_bbbb_vvoo = np.zeros((nvir[1], nvir[1], nocc[1], nocc[1]), dtype=types[float]) - rdm2_f_bbbb_vvoo += einsum(l2.bbbb, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - rdm2_f_aaaa_vvvv = np.zeros((nvir[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - rdm2_f_aaaa_vvvv += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (2, 3, 4, 5), (0, 1, 4, 5)) * 2.0 - rdm2_f_abab_vvvv = np.zeros((nvir[0], nvir[1], nvir[0], nvir[1]), dtype=types[float]) - rdm2_f_abab_vvvv += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 4, 5), (0, 1, 4, 5)) - rdm2_f_bbbb_vvvv = np.zeros((nvir[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - rdm2_f_bbbb_vvvv += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (2, 3, 4, 5), (0, 1, 4, 5)) * 2.0 - x0 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x0 += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 5, 0, 1), (2, 3, 4, 5)) - rdm2_f_aaaa_oooo += einsum(x0, (0, 1, 2, 3), (3, 2, 1, 0)) * 2.0 - rdm2_f_aaaa_oovv += einsum(t2.aaaa, (0, 1, 2, 3), x0, (0, 1, 4, 5), (5, 4, 2, 3)) * -2.0 - del x0 - x1 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x1 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 0, 1), (2, 4)) - x2 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x2 += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 3, 0, 1), (2, 4)) - x3 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x3 += einsum(x1, (0, 1), (0, 1)) - x3 += einsum(x2, (0, 1), (0, 1)) * 2.0 - rdm2_f_aaaa_oooo += einsum(delta.aa.oo, (0, 1), x3, (2, 3), (0, 3, 1, 2)) * -1.0 - rdm2_f_aaaa_oooo += einsum(delta.aa.oo, (0, 1), x3, (2, 3), (0, 3, 2, 1)) - rdm2_f_aaaa_oooo += einsum(delta.aa.oo, (0, 1), x3, (2, 3), (3, 0, 1, 2)) - rdm2_f_aaaa_oooo += einsum(delta.aa.oo, (0, 1), x3, (2, 3), (3, 0, 2, 1)) * -1.0 - x4 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x4 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 5, 0, 1), (3, 5, 2, 4)) - rdm2_f_abab_oooo = np.zeros((nocc[0], nocc[1], nocc[0], nocc[1]), dtype=types[float]) - rdm2_f_abab_oooo += einsum(x4, (0, 1, 2, 3), (3, 1, 2, 0)) - rdm2_f_abab_oovv += einsum(t2.abab, (0, 1, 2, 3), x4, (1, 4, 0, 5), (5, 4, 2, 3)) - del x4 - x5 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x5 += einsum(delta.aa.oo, (0, 1), (0, 1)) * -1.0 - x5 += einsum(x1, (0, 1), (0, 1)) - x5 += einsum(x2, (0, 1), (0, 1)) * 2.0 - rdm2_f_abab_oooo += einsum(delta.bb.oo, (0, 1), x5, (2, 3), (3, 0, 2, 1)) * -1.0 - del x5 - x6 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x6 += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 3, 0, 1), (2, 4)) - x7 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x7 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 1), (3, 4)) - x8 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x8 += einsum(x6, (0, 1), (0, 1)) * 2.0 - x8 += einsum(x7, (0, 1), (0, 1)) - rdm2_f_abab_oooo += einsum(delta.aa.oo, (0, 1), x8, (2, 3), (0, 3, 1, 2)) * -1.0 - del x8 - x9 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x9 += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 5, 0, 1), (2, 3, 4, 5)) - rdm2_f_bbbb_oooo += einsum(x9, (0, 1, 2, 3), (3, 2, 1, 0)) * 2.0 - rdm2_f_bbbb_oovv += einsum(t2.bbbb, (0, 1, 2, 3), x9, (0, 1, 4, 5), (5, 4, 2, 3)) * -2.0 - del x9 - x10 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x10 += einsum(x6, (0, 1), (0, 1)) - del x6 - x10 += einsum(x7, (0, 1), (0, 1)) * 0.5 - del x7 - rdm2_f_bbbb_oooo += einsum(delta.bb.oo, (0, 1), x10, (2, 3), (0, 3, 1, 2)) * -2.0 - rdm2_f_bbbb_oooo += einsum(delta.bb.oo, (0, 1), x10, (2, 3), (0, 3, 2, 1)) * 2.0 - rdm2_f_bbbb_oooo += einsum(delta.bb.oo, (0, 1), x10, (2, 3), (3, 0, 1, 2)) * 2.0 - rdm2_f_bbbb_oooo += einsum(delta.bb.oo, (0, 1), x10, (2, 3), (3, 0, 2, 1)) * -2.0 - rdm2_f_abab_oovv += einsum(x10, (0, 1), t2.abab, (2, 0, 3, 4), (2, 1, 3, 4)) * -2.0 - x11 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x11 += einsum(l2.bbbb, (0, 1, 2, 3), t2.abab, (4, 3, 5, 1), (2, 0, 4, 5)) - rdm2_f_abab_ovvo = np.zeros((nocc[0], nvir[1], nvir[0], nocc[1]), dtype=types[float]) - rdm2_f_abab_ovvo += einsum(x11, (0, 1, 2, 3), (2, 1, 3, 0)) * 2.0 - x12 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x12 += einsum(t2.abab, (0, 1, 2, 3), x11, (1, 3, 4, 5), (4, 0, 5, 2)) - del x11 - rdm2_f_aaaa_oovv += einsum(x12, (0, 1, 2, 3), (1, 0, 2, 3)) * -2.0 - rdm2_f_aaaa_oovv += einsum(x12, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - del x12 - x13 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x13 += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 3, 5, 1), (2, 4, 0, 5)) - rdm2_f_aaaa_ovov = np.zeros((nocc[0], nvir[0], nocc[0], nvir[0]), dtype=types[float]) - rdm2_f_aaaa_ovov += einsum(x13, (0, 1, 2, 3), (1, 2, 0, 3)) * -4.0 - rdm2_f_aaaa_ovvo = np.zeros((nocc[0], nvir[0], nvir[0], nocc[0]), dtype=types[float]) - rdm2_f_aaaa_ovvo += einsum(x13, (0, 1, 2, 3), (1, 2, 3, 0)) * 4.0 - rdm2_f_aaaa_voov = np.zeros((nvir[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - rdm2_f_aaaa_voov += einsum(x13, (0, 1, 2, 3), (2, 1, 0, 3)) * 4.0 - rdm2_f_aaaa_vovo = np.zeros((nvir[0], nocc[0], nvir[0], nocc[0]), dtype=types[float]) - rdm2_f_aaaa_vovo += einsum(x13, (0, 1, 2, 3), (2, 1, 3, 0)) * -4.0 - x14 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x14 += einsum(t2.aaaa, (0, 1, 2, 3), x13, (1, 4, 3, 5), (0, 4, 2, 5)) - del x13 - x15 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x15 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 4, 1), (0, 4)) - x16 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x16 += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (2, 3, 4, 1), (0, 4)) - x17 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x17 += einsum(x15, (0, 1), (0, 1)) - x17 += einsum(x16, (0, 1), (0, 1)) * 2.0 - x18 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x18 += einsum(x17, (0, 1), t2.aaaa, (2, 3, 4, 0), (2, 3, 4, 1)) * -2.0 - del x17 - x19 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x19 += einsum(x14, (0, 1, 2, 3), (0, 1, 2, 3)) * -8.0 - del x14 - x19 += einsum(x18, (0, 1, 2, 3), (1, 0, 2, 3)) - del x18 - rdm2_f_aaaa_oovv += einsum(x19, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - rdm2_f_aaaa_oovv += einsum(x19, (0, 1, 2, 3), (0, 1, 3, 2)) - del x19 - x20 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x20 += einsum(x3, (0, 1), t2.aaaa, (2, 0, 3, 4), (2, 1, 3, 4)) * -2.0 - del x3 - rdm2_f_aaaa_oovv += einsum(x20, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_aaaa_oovv += einsum(x20, (0, 1, 2, 3), (1, 0, 3, 2)) - del x20 - x21 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x21 += einsum(l2.abab, (0, 1, 2, 3), t2.aaaa, (4, 2, 5, 0), (3, 1, 4, 5)) - rdm2_f_abab_ovvo += einsum(x21, (0, 1, 2, 3), (2, 1, 3, 0)) * 2.0 - x22 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x22 += einsum(t2.abab, (0, 1, 2, 3), x21, (1, 3, 4, 5), (0, 4, 2, 5)) - del x21 - rdm2_f_aaaa_oovv += einsum(x22, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - rdm2_f_aaaa_oovv += einsum(x22, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - rdm2_f_aaaa_oovv += einsum(x22, (0, 1, 2, 3), (1, 0, 2, 3)) * -2.0 - rdm2_f_aaaa_oovv += einsum(x22, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - del x22 - x23 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x23 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 5, 1), (3, 4, 0, 5)) - rdm2_f_abab_oovv += einsum(t2.abab, (0, 1, 2, 3), x23, (1, 4, 2, 5), (0, 4, 5, 3)) - rdm2_f_abab_vovo = np.zeros((nvir[0], nocc[1], nvir[0], nocc[1]), dtype=types[float]) - rdm2_f_abab_vovo += einsum(x23, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - del x23 - x24 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x24 += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 3, 5, 1), (2, 4, 0, 5)) - rdm2_f_bbbb_ovov = np.zeros((nocc[1], nvir[1], nocc[1], nvir[1]), dtype=types[float]) - rdm2_f_bbbb_ovov += einsum(x24, (0, 1, 2, 3), (1, 2, 0, 3)) * -4.0 - rdm2_f_bbbb_ovvo = np.zeros((nocc[1], nvir[1], nvir[1], nocc[1]), dtype=types[float]) - rdm2_f_bbbb_ovvo += einsum(x24, (0, 1, 2, 3), (1, 2, 3, 0)) * 4.0 - rdm2_f_bbbb_voov = np.zeros((nvir[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - rdm2_f_bbbb_voov += einsum(x24, (0, 1, 2, 3), (2, 1, 0, 3)) * 4.0 - rdm2_f_bbbb_vovo = np.zeros((nvir[1], nocc[1], nvir[1], nocc[1]), dtype=types[float]) - rdm2_f_bbbb_vovo += einsum(x24, (0, 1, 2, 3), (2, 1, 3, 0)) * -4.0 - x25 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x25 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 5), (3, 4, 1, 5)) - rdm2_f_bbbb_ovov += einsum(x25, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_bbbb_ovvo += einsum(x25, (0, 1, 2, 3), (1, 2, 3, 0)) - rdm2_f_bbbb_voov += einsum(x25, (0, 1, 2, 3), (2, 1, 0, 3)) - rdm2_f_bbbb_vovo += einsum(x25, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - x26 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x26 += einsum(x24, (0, 1, 2, 3), (0, 1, 2, 3)) - x26 += einsum(x25, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.25 - del x25 - rdm2_f_abab_oovv += einsum(t2.abab, (0, 1, 2, 3), x26, (1, 4, 3, 5), (0, 4, 2, 5)) * 4.0 - del x26 - x27 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x27 += einsum(l2.abab, (0, 1, 2, 3), t2.bbbb, (4, 3, 5, 1), (4, 5, 2, 0)) - rdm2_f_abab_voov = np.zeros((nvir[0], nocc[1], nocc[0], nvir[1]), dtype=types[float]) - rdm2_f_abab_voov += einsum(x27, (0, 1, 2, 3), (3, 0, 2, 1)) * 2.0 - x28 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x28 += einsum(l2.aaaa, (0, 1, 2, 3), t2.abab, (3, 4, 1, 5), (4, 5, 2, 0)) - rdm2_f_abab_voov += einsum(x28, (0, 1, 2, 3), (3, 0, 2, 1)) * 2.0 - x29 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x29 += einsum(x27, (0, 1, 2, 3), (0, 1, 2, 3)) - x29 += einsum(x28, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_abab_oovv += einsum(t2.aaaa, (0, 1, 2, 3), x29, (4, 5, 1, 3), (0, 4, 2, 5)) * 4.0 - del x29 - x30 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x30 += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (2, 3, 4, 1), (0, 4)) - x31 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x31 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 0, 4), (1, 4)) - x32 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x32 += einsum(x30, (0, 1), (0, 1)) - x32 += einsum(x31, (0, 1), (0, 1)) * 0.5 - rdm2_f_abab_oovv += einsum(x32, (0, 1), t2.abab, (2, 3, 4, 0), (2, 3, 4, 1)) * -2.0 - rdm2_f_abab_ovov += einsum(delta.aa.oo, (0, 1), x32, (2, 3), (0, 2, 1, 3)) * 2.0 - x33 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x33 += einsum(x15, (0, 1), (0, 1)) * 0.5 - del x15 - x33 += einsum(x16, (0, 1), (0, 1)) - del x16 - rdm2_f_abab_oovv += einsum(x33, (0, 1), t2.abab, (2, 3, 0, 4), (2, 3, 1, 4)) * -2.0 - rdm2_f_aaaa_ovov += einsum(delta.aa.oo, (0, 1), x33, (2, 3), (0, 2, 1, 3)) * 2.0 - rdm2_f_aaaa_ovvo += einsum(delta.aa.oo, (0, 1), x33, (2, 3), (0, 2, 3, 1)) * -2.0 - rdm2_f_aaaa_voov += einsum(delta.aa.oo, (0, 1), x33, (2, 3), (2, 0, 1, 3)) * -2.0 - rdm2_f_aaaa_vovo += einsum(delta.aa.oo, (0, 1), x33, (2, 3), (2, 0, 3, 1)) * 2.0 - rdm2_f_abab_vovo += einsum(delta.bb.oo, (0, 1), x33, (2, 3), (2, 0, 3, 1)) * 2.0 - del x33 - x34 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x34 += einsum(x1, (0, 1), (0, 1)) * 0.5 - del x1 - x34 += einsum(x2, (0, 1), (0, 1)) - del x2 - rdm2_f_abab_oovv += einsum(x34, (0, 1), t2.abab, (0, 2, 3, 4), (1, 2, 3, 4)) * -2.0 - del x34 - x35 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x35 += einsum(t2.bbbb, (0, 1, 2, 3), x24, (1, 4, 3, 5), (4, 0, 5, 2)) - del x24 - x36 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x36 += einsum(t2.abab, (0, 1, 2, 3), x28, (4, 5, 0, 2), (4, 1, 5, 3)) - del x28 - x37 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x37 += einsum(x32, (0, 1), t2.bbbb, (2, 3, 4, 0), (2, 3, 1, 4)) * -4.0 - del x32 - x38 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x38 += einsum(x35, (0, 1, 2, 3), (0, 1, 2, 3)) * 8.0 - del x35 - x38 += einsum(x36, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x36 - x38 += einsum(x37, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x37 - rdm2_f_bbbb_oovv += einsum(x38, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_bbbb_oovv += einsum(x38, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x38 - x39 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x39 += einsum(t2.abab, (0, 1, 2, 3), x27, (4, 5, 0, 2), (4, 1, 5, 3)) - del x27 - rdm2_f_bbbb_oovv += einsum(x39, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - rdm2_f_bbbb_oovv += einsum(x39, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - rdm2_f_bbbb_oovv += einsum(x39, (0, 1, 2, 3), (1, 0, 2, 3)) * -2.0 - rdm2_f_bbbb_oovv += einsum(x39, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - del x39 - x40 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x40 += einsum(x10, (0, 1), t2.bbbb, (2, 0, 3, 4), (2, 1, 3, 4)) * -4.0 - del x10 - rdm2_f_bbbb_oovv += einsum(x40, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_bbbb_oovv += einsum(x40, (0, 1, 2, 3), (1, 0, 3, 2)) - del x40 - x41 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x41 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 5, 1), (2, 4, 0, 5)) - rdm2_f_aaaa_ovov += einsum(x41, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_aaaa_ovvo += einsum(x41, (0, 1, 2, 3), (1, 2, 3, 0)) - rdm2_f_aaaa_voov += einsum(x41, (0, 1, 2, 3), (2, 1, 0, 3)) - rdm2_f_aaaa_vovo += einsum(x41, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - del x41 - x42 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x42 += einsum(x30, (0, 1), (0, 1)) * 2.0 - del x30 - x42 += einsum(x31, (0, 1), (0, 1)) - del x31 - rdm2_f_bbbb_ovov += einsum(delta.bb.oo, (0, 1), x42, (2, 3), (0, 2, 1, 3)) - rdm2_f_bbbb_ovvo += einsum(delta.bb.oo, (0, 1), x42, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_bbbb_voov += einsum(delta.bb.oo, (0, 1), x42, (2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_bbbb_vovo += einsum(delta.bb.oo, (0, 1), x42, (2, 3), (2, 0, 3, 1)) - del x42 - rdm2_f_aaaa_ooov = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - rdm2_f_abab_ooov = np.zeros((nocc[0], nocc[1], nocc[0], nvir[1]), dtype=types[float]) - rdm2_f_bbbb_ooov = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - rdm2_f_aaaa_oovo = np.zeros((nocc[0], nocc[0], nvir[0], nocc[0]), dtype=types[float]) - rdm2_f_abab_oovo = np.zeros((nocc[0], nocc[1], nvir[0], nocc[1]), dtype=types[float]) - rdm2_f_bbbb_oovo = np.zeros((nocc[1], nocc[1], nvir[1], nocc[1]), dtype=types[float]) - rdm2_f_aaaa_ovoo = np.zeros((nocc[0], nvir[0], nocc[0], nocc[0]), dtype=types[float]) - rdm2_f_abab_ovoo = np.zeros((nocc[0], nvir[1], nocc[0], nocc[1]), dtype=types[float]) - rdm2_f_bbbb_ovoo = np.zeros((nocc[1], nvir[1], nocc[1], nocc[1]), dtype=types[float]) - rdm2_f_aaaa_vooo = np.zeros((nvir[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - rdm2_f_abab_vooo = np.zeros((nvir[0], nocc[1], nocc[0], nocc[1]), dtype=types[float]) - rdm2_f_bbbb_vooo = np.zeros((nvir[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - rdm2_f_aaaa_ovvv = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - rdm2_f_abab_ovvv = np.zeros((nocc[0], nvir[1], nvir[0], nvir[1]), dtype=types[float]) - rdm2_f_bbbb_ovvv = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - rdm2_f_aaaa_vovv = np.zeros((nvir[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - rdm2_f_abab_vovv = np.zeros((nvir[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - rdm2_f_bbbb_vovv = np.zeros((nvir[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - rdm2_f_aaaa_vvov = np.zeros((nvir[0], nvir[0], nocc[0], nvir[0]), dtype=types[float]) - rdm2_f_abab_vvov = np.zeros((nvir[0], nvir[1], nocc[0], nvir[1]), dtype=types[float]) - rdm2_f_bbbb_vvov = np.zeros((nvir[1], nvir[1], nocc[1], nvir[1]), dtype=types[float]) - rdm2_f_aaaa_vvvo = np.zeros((nvir[0], nvir[0], nvir[0], nocc[0]), dtype=types[float]) - rdm2_f_abab_vvvo = np.zeros((nvir[0], nvir[1], nvir[0], nocc[1]), dtype=types[float]) - rdm2_f_bbbb_vvvo = np.zeros((nvir[1], nvir[1], nvir[1], nocc[1]), dtype=types[float]) - - rdm2_f_aaaa = pack_2e(rdm2_f_aaaa_oooo, rdm2_f_aaaa_ooov, rdm2_f_aaaa_oovo, rdm2_f_aaaa_ovoo, rdm2_f_aaaa_vooo, rdm2_f_aaaa_oovv, rdm2_f_aaaa_ovov, rdm2_f_aaaa_ovvo, rdm2_f_aaaa_voov, rdm2_f_aaaa_vovo, rdm2_f_aaaa_vvoo, rdm2_f_aaaa_ovvv, rdm2_f_aaaa_vovv, rdm2_f_aaaa_vvov, rdm2_f_aaaa_vvvo, rdm2_f_aaaa_vvvv) - rdm2_f_abab = pack_2e(rdm2_f_abab_oooo, rdm2_f_abab_ooov, rdm2_f_abab_oovo, rdm2_f_abab_ovoo, rdm2_f_abab_vooo, rdm2_f_abab_oovv, rdm2_f_abab_ovov, rdm2_f_abab_ovvo, rdm2_f_abab_voov, rdm2_f_abab_vovo, rdm2_f_abab_vvoo, rdm2_f_abab_ovvv, rdm2_f_abab_vovv, rdm2_f_abab_vvov, rdm2_f_abab_vvvo, rdm2_f_abab_vvvv) - rdm2_f_bbbb = pack_2e(rdm2_f_bbbb_oooo, rdm2_f_bbbb_ooov, rdm2_f_bbbb_oovo, rdm2_f_bbbb_ovoo, rdm2_f_bbbb_vooo, rdm2_f_bbbb_oovv, rdm2_f_bbbb_ovov, rdm2_f_bbbb_ovvo, rdm2_f_bbbb_voov, rdm2_f_bbbb_vovo, rdm2_f_bbbb_vvoo, rdm2_f_bbbb_ovvv, rdm2_f_bbbb_vovv, rdm2_f_bbbb_vvov, rdm2_f_bbbb_vvvo, rdm2_f_bbbb_vvvv) - - rdm2_f_aaaa = rdm2_f_aaaa.swapaxes(1, 2) - rdm2_f_aabb = rdm2_f_abab.swapaxes(1, 2) - rdm2_f_bbbb = rdm2_f_bbbb.swapaxes(1, 2) - - rdm2_f.aaaa = rdm2_f_aaaa - rdm2_f.aabb = rdm2_f_aabb - rdm2_f.bbbb = rdm2_f_bbbb - - return rdm2_f - diff --git a/ebcc/codegen/UCCSD.py b/ebcc/codegen/UCCSD.py deleted file mode 100644 index 559120b0..00000000 --- a/ebcc/codegen/UCCSD.py +++ /dev/null @@ -1,7377 +0,0 @@ -# Code generated by qwick. - -from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, Namespace -from ebcc.precision import types - -def energy(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, **kwargs): - # energy - e_cc = 0 - e_cc += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (0, 2, 1, 3), ()) - e_cc += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 1, 3), ()) - e_cc += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (0, 2, 1, 3), ()) - x0 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x0 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x0 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x1 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x1 += einsum(f.aa.ov, (0, 1), (0, 1)) * 2.0 - x1 += einsum(t1.bb, (0, 1), v.aabb.ovov, (2, 3, 0, 1), (2, 3)) * 2.0 - x1 += einsum(t1.aa, (0, 1), x0, (0, 2, 3, 1), (2, 3)) * -1.0 - del x0 - e_cc += einsum(t1.aa, (0, 1), x1, (0, 1), ()) * 0.5 - del x1 - x2 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x2 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x2 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x3 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x3 += einsum(f.bb.ov, (0, 1), (0, 1)) * 2.0 - x3 += einsum(t1.bb, (0, 1), x2, (0, 2, 3, 1), (2, 3)) * -1.0 - del x2 - e_cc += einsum(t1.bb, (0, 1), x3, (0, 1), ()) * 0.5 - del x3 - - return e_cc - -def update_amps(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, **kwargs): - t1new = Namespace() - t2new = Namespace() - - # T amplitudes - t1new_aa = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - t1new_aa += einsum(f.aa.ov, (0, 1), (0, 1)) - t1new_bb = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - t1new_bb += einsum(f.bb.ov, (0, 1), (0, 1)) - t2new_aaaa = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - t2new_aaaa += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.vvvv, (4, 3, 5, 2), (0, 1, 4, 5)) * -2.0 - t2new_abab = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - t2new_abab += einsum(v.aabb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - t2new_bbbb = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - t2new_bbbb += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.vvvv, (4, 2, 5, 3), (0, 1, 4, 5)) * 2.0 - x0 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x0 += einsum(t1.bb, (0, 1), v.aabb.ovov, (2, 3, 0, 1), (2, 3)) - t1new_aa += einsum(x0, (0, 1), (0, 1)) - x1 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x1 += einsum(t1.aa, (0, 1), v.aabb.ovov, (2, 1, 3, 4), (3, 4, 0, 2)) - x2 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x2 += einsum(v.aabb.ooov, (0, 1, 2, 3), (2, 3, 0, 1)) - x2 += einsum(x1, (0, 1, 2, 3), (0, 1, 3, 2)) - t1new_aa += einsum(t2.abab, (0, 1, 2, 3), x2, (1, 3, 0, 4), (4, 2)) * -1.0 - del x2 - x3 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x3 += einsum(t1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) - x4 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x4 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) - x4 += einsum(x3, (0, 1, 2, 3), (0, 1, 2, 3)) - t1new_aa += einsum(t2.aaaa, (0, 1, 2, 3), x4, (4, 1, 0, 3), (4, 2)) * -2.0 - del x4 - x5 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x5 += einsum(t2.aaaa, (0, 1, 2, 3), (0, 1, 2, 3)) - x5 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 1, 3)) * 0.5 - t1new_aa += einsum(v.aaaa.ovvv, (0, 1, 2, 3), x5, (0, 4, 1, 3), (4, 2)) * 2.0 - del x5 - x6 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x6 += einsum(t2.abab, (0, 1, 2, 3), (1, 3, 0, 2)) - x6 += einsum(t1.aa, (0, 1), t1.bb, (2, 3), (2, 3, 0, 1)) - t1new_aa += einsum(v.aabb.vvov, (0, 1, 2, 3), x6, (2, 3, 4, 1), (4, 0)) - t1new_bb += einsum(v.aabb.ovvv, (0, 1, 2, 3), x6, (4, 3, 0, 1), (4, 2)) - x7 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x7 += einsum(t1.aa, (0, 1), v.aabb.ovov, (0, 1, 2, 3), (2, 3)) - t1new_bb += einsum(x7, (0, 1), (0, 1)) - x8 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x8 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x8 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x9 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x9 += einsum(t1.bb, (0, 1), x8, (0, 2, 3, 1), (2, 3)) - x10 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x10 += einsum(f.bb.ov, (0, 1), (0, 1)) - x10 += einsum(x7, (0, 1), (0, 1)) - del x7 - x10 += einsum(x9, (0, 1), (0, 1)) * -1.0 - del x9 - t1new_aa += einsum(x10, (0, 1), t2.abab, (2, 0, 3, 1), (2, 3)) - t1new_bb += einsum(x10, (0, 1), t2.bbbb, (2, 0, 3, 1), (2, 3)) * 2.0 - x11 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x11 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x11 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x12 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x12 += einsum(t1.aa, (0, 1), x11, (0, 2, 3, 1), (2, 3)) - x13 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x13 += einsum(f.aa.ov, (0, 1), (0, 1)) - x13 += einsum(x0, (0, 1), (0, 1)) - del x0 - x13 += einsum(x12, (0, 1), (0, 1)) * -1.0 - del x12 - t1new_aa += einsum(x13, (0, 1), t2.aaaa, (2, 0, 3, 1), (2, 3)) * 2.0 - t1new_bb += einsum(x13, (0, 1), t2.abab, (0, 2, 1, 3), (2, 3)) - x14 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x14 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) - x14 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - t1new_aa += einsum(t1.aa, (0, 1), x14, (0, 2, 1, 3), (2, 3)) * -1.0 - x15 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x15 += einsum(t1.bb, (0, 1), v.aabb.ooov, (2, 3, 0, 1), (2, 3)) - x16 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x16 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 1, 3), (0, 4)) - x17 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x17 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 2, 1, 3), (0, 4)) - x18 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x18 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x18 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - x19 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x19 += einsum(t1.aa, (0, 1), x18, (0, 2, 3, 1), (2, 3)) - x20 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x20 += einsum(t1.aa, (0, 1), x13, (2, 1), (0, 2)) - x21 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x21 += einsum(f.aa.oo, (0, 1), (0, 1)) - x21 += einsum(x15, (0, 1), (1, 0)) - x21 += einsum(x16, (0, 1), (1, 0)) - x21 += einsum(x17, (0, 1), (1, 0)) * 2.0 - x21 += einsum(x19, (0, 1), (1, 0)) * -1.0 - x21 += einsum(x20, (0, 1), (1, 0)) - t1new_aa += einsum(t1.aa, (0, 1), x21, (0, 2), (2, 1)) * -1.0 - del x21 - x22 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x22 += einsum(f.aa.vv, (0, 1), (0, 1)) - x22 += einsum(t1.aa, (0, 1), v.aaaa.ovvv, (0, 2, 3, 1), (2, 3)) * -1.0 - t1new_aa += einsum(t1.aa, (0, 1), x22, (1, 2), (0, 2)) - del x22 - x23 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x23 += einsum(t1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) - x24 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x24 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) - x24 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) - t1new_bb += einsum(t2.bbbb, (0, 1, 2, 3), x24, (4, 0, 1, 3), (4, 2)) * 2.0 - del x24 - x25 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x25 += einsum(t1.bb, (0, 1), v.aabb.ovov, (2, 3, 4, 1), (0, 4, 2, 3)) - x26 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x26 += einsum(v.aabb.ovoo, (0, 1, 2, 3), (2, 3, 0, 1)) - x26 += einsum(x25, (0, 1, 2, 3), (1, 0, 2, 3)) - t1new_bb += einsum(t2.abab, (0, 1, 2, 3), x26, (1, 4, 0, 2), (4, 3)) * -1.0 - x27 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x27 += einsum(t2.bbbb, (0, 1, 2, 3), (0, 1, 2, 3)) - x27 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3)) * 0.5 - t1new_bb += einsum(v.bbbb.ovvv, (0, 1, 2, 3), x27, (0, 4, 3, 1), (4, 2)) * -2.0 - del x27 - x28 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x28 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) - x28 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - t1new_bb += einsum(t1.bb, (0, 1), x28, (0, 2, 1, 3), (2, 3)) * -1.0 - del x28 - x29 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x29 += einsum(t1.aa, (0, 1), v.aabb.ovoo, (0, 1, 2, 3), (2, 3)) - x30 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x30 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 3, 1, 2), (0, 4)) * -1.0 - x31 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x31 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 3), (1, 4)) - x32 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x32 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x32 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - x33 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x33 += einsum(t1.bb, (0, 1), x32, (0, 2, 3, 1), (2, 3)) - x34 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x34 += einsum(t1.bb, (0, 1), x10, (2, 1), (0, 2)) - x35 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x35 += einsum(f.bb.oo, (0, 1), (0, 1)) - x35 += einsum(x29, (0, 1), (1, 0)) - x35 += einsum(x30, (0, 1), (1, 0)) * 2.0 - x35 += einsum(x31, (0, 1), (1, 0)) - x35 += einsum(x33, (0, 1), (1, 0)) * -1.0 - x35 += einsum(x34, (0, 1), (1, 0)) - t1new_bb += einsum(t1.bb, (0, 1), x35, (0, 2), (2, 1)) * -1.0 - t2new_abab += einsum(x35, (0, 1), t2.abab, (2, 0, 3, 4), (2, 1, 3, 4)) * -1.0 - del x35 - x36 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x36 += einsum(f.bb.vv, (0, 1), (0, 1)) - x36 += einsum(t1.bb, (0, 1), v.bbbb.ovvv, (0, 1, 2, 3), (2, 3)) - t1new_bb += einsum(t1.bb, (0, 1), x36, (1, 2), (0, 2)) - del x36 - x37 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x37 += einsum(t1.aa, (0, 1), v.aaaa.ooov, (2, 0, 3, 4), (2, 3, 1, 4)) - x38 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x38 += einsum(t1.aa, (0, 1), v.aaaa.ooov, (2, 3, 4, 1), (0, 2, 3, 4)) - x39 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x39 += einsum(t2.aaaa, (0, 1, 2, 3), x38, (4, 5, 0, 1), (4, 5, 2, 3)) - x40 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x40 += einsum(f.aa.oo, (0, 1), (0, 1)) - x40 += einsum(x20, (0, 1), (0, 1)) - del x20 - x41 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x41 += einsum(x40, (0, 1), t2.aaaa, (2, 1, 3, 4), (2, 0, 3, 4)) * -2.0 - del x40 - x42 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x42 += einsum(x15, (0, 1), (1, 0)) - x42 += einsum(x16, (0, 1), (1, 0)) - x42 += einsum(x17, (0, 1), (1, 0)) * 2.0 - x42 += einsum(x19, (0, 1), (1, 0)) * -1.0 - del x19 - x43 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x43 += einsum(x42, (0, 1), t2.aaaa, (2, 0, 3, 4), (2, 1, 3, 4)) * -2.0 - del x42 - x44 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x44 += einsum(x37, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x37 - x44 += einsum(x39, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - del x39 - x44 += einsum(x41, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x41 - x44 += einsum(x43, (0, 1, 2, 3), (0, 1, 3, 2)) - del x43 - t2new_aaaa += einsum(x44, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_aaaa += einsum(x44, (0, 1, 2, 3), (1, 0, 2, 3)) - del x44 - x45 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x45 += einsum(t1.aa, (0, 1), v.aaaa.vvvv, (2, 3, 4, 1), (0, 2, 3, 4)) - x46 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x46 += einsum(t1.aa, (0, 1), x45, (2, 3, 1, 4), (0, 2, 3, 4)) - del x45 - x47 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x47 += einsum(t2.aaaa, (0, 1, 2, 3), x11, (1, 4, 5, 3), (0, 4, 2, 5)) - x48 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x48 += einsum(t2.aaaa, (0, 1, 2, 3), x47, (4, 1, 5, 3), (0, 4, 2, 5)) * -4.0 - del x47 - x49 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x49 += einsum(t1.bb, (0, 1), v.aabb.vvov, (2, 3, 0, 1), (2, 3)) - x50 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x50 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 4, 1, 3), (2, 4)) - x51 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x51 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (0, 4, 1, 3), (2, 4)) - x52 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x52 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) - x52 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x53 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x53 += einsum(t1.aa, (0, 1), x52, (0, 1, 2, 3), (2, 3)) - x54 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x54 += einsum(x49, (0, 1), (1, 0)) * -1.0 - x54 += einsum(x50, (0, 1), (1, 0)) - x54 += einsum(x51, (0, 1), (1, 0)) * 2.0 - x54 += einsum(x53, (0, 1), (1, 0)) * -1.0 - del x53 - x55 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x55 += einsum(x54, (0, 1), t2.aaaa, (2, 3, 4, 0), (2, 3, 4, 1)) * -2.0 - del x54 - x56 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x56 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovvv, (4, 3, 5, 2), (0, 1, 4, 5)) * -1.0 - x57 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x57 += einsum(x13, (0, 1), t2.aaaa, (2, 3, 4, 1), (2, 3, 0, 4)) * -2.0 - x58 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x58 += einsum(t1.aa, (0, 1), x3, (2, 3, 4, 1), (2, 0, 4, 3)) - x59 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x59 += einsum(v.aaaa.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x59 += einsum(x58, (0, 1, 2, 3), (3, 1, 2, 0)) - x60 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x60 += einsum(t1.aa, (0, 1), x59, (0, 2, 3, 4), (2, 3, 4, 1)) - del x59 - x61 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x61 += einsum(x56, (0, 1, 2, 3), (2, 1, 0, 3)) * -2.0 - del x56 - x61 += einsum(x57, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - del x57 - x61 += einsum(x60, (0, 1, 2, 3), (1, 0, 2, 3)) - del x60 - x62 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x62 += einsum(t1.aa, (0, 1), x61, (0, 2, 3, 4), (2, 3, 1, 4)) - del x61 - x63 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x63 += einsum(x46, (0, 1, 2, 3), (0, 1, 2, 3)) - del x46 - x63 += einsum(x48, (0, 1, 2, 3), (0, 1, 2, 3)) - del x48 - x63 += einsum(x55, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x55 - x63 += einsum(x62, (0, 1, 2, 3), (1, 0, 2, 3)) - del x62 - t2new_aaaa += einsum(x63, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new_aaaa += einsum(x63, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x63 - x64 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x64 += einsum(t1.aa, (0, 1), v.aaaa.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) - x65 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x65 += einsum(t1.aa, (0, 1), v.aabb.vvov, (2, 1, 3, 4), (3, 4, 0, 2)) - x66 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x66 += einsum(t2.abab, (0, 1, 2, 3), x65, (1, 3, 4, 5), (4, 0, 2, 5)) - x67 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x67 += einsum(t2.aaaa, (0, 1, 2, 3), (0, 1, 2, 3)) - x67 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 3, 1)) * -0.5 - x68 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x68 += einsum(x14, (0, 1, 2, 3), x67, (0, 4, 2, 5), (1, 4, 3, 5)) * 2.0 - del x14 - x69 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x69 += einsum(t2.aaaa, (0, 1, 2, 3), v.aabb.ovov, (1, 3, 4, 5), (4, 5, 0, 2)) - x70 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x70 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) - x70 += einsum(x69, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x69 - x71 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x71 += einsum(t2.abab, (0, 1, 2, 3), x70, (1, 3, 4, 5), (0, 4, 2, 5)) - del x70 - x72 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x72 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x72 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) - x73 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x73 += einsum(t1.aa, (0, 1), x72, (2, 3, 1, 4), (0, 2, 3, 4)) - del x72 - x74 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x74 += einsum(t2.aaaa, (0, 1, 2, 3), x73, (4, 1, 3, 5), (0, 4, 2, 5)) * -2.0 - del x73 - x75 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x75 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ooov, (4, 5, 1, 3), (0, 4, 5, 2)) - x76 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x76 += einsum(t1.aa, (0, 1), x38, (2, 3, 4, 0), (2, 4, 3, 1)) - del x38 - x77 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x77 += einsum(t1.aa, (0, 1), x64, (2, 3, 1, 4), (0, 2, 3, 4)) - x78 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x78 += einsum(t2.abab, (0, 1, 2, 3), x1, (1, 3, 4, 5), (4, 0, 5, 2)) - del x1 - x79 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x79 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x79 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) - x80 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x80 += einsum(t2.aaaa, (0, 1, 2, 3), x79, (1, 4, 5, 3), (0, 4, 5, 2)) * 2.0 - x81 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x81 += einsum(x3, (0, 1, 2, 3), (0, 1, 2, 3)) - x81 += einsum(x3, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x3 - x82 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x82 += einsum(t2.aaaa, (0, 1, 2, 3), x81, (4, 5, 1, 3), (0, 4, 5, 2)) * 2.0 - del x81 - x83 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x83 += einsum(x75, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x75 - x83 += einsum(x76, (0, 1, 2, 3), (0, 2, 1, 3)) - del x76 - x83 += einsum(x77, (0, 1, 2, 3), (0, 2, 1, 3)) - del x77 - x83 += einsum(x78, (0, 1, 2, 3), (0, 2, 1, 3)) - del x78 - x83 += einsum(x80, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x80 - x83 += einsum(x82, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - del x82 - x84 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x84 += einsum(t1.aa, (0, 1), x83, (2, 0, 3, 4), (2, 3, 1, 4)) - del x83 - x85 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x85 += einsum(x64, (0, 1, 2, 3), (0, 1, 2, 3)) - del x64 - x85 += einsum(x66, (0, 1, 2, 3), (0, 1, 2, 3)) - del x66 - x85 += einsum(x68, (0, 1, 2, 3), (1, 0, 3, 2)) - del x68 - x85 += einsum(x71, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x71 - x85 += einsum(x74, (0, 1, 2, 3), (1, 0, 2, 3)) - del x74 - x85 += einsum(x84, (0, 1, 2, 3), (0, 1, 2, 3)) - del x84 - t2new_aaaa += einsum(x85, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_aaaa += einsum(x85, (0, 1, 2, 3), (0, 1, 3, 2)) - t2new_aaaa += einsum(x85, (0, 1, 2, 3), (1, 0, 2, 3)) - t2new_aaaa += einsum(x85, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x85 - x86 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x86 += einsum(f.aa.vv, (0, 1), t2.aaaa, (2, 3, 4, 1), (2, 3, 0, 4)) - x87 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x87 += einsum(t2.abab, (0, 1, 2, 3), x8, (1, 4, 5, 3), (4, 5, 0, 2)) - del x8 - x88 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x88 += einsum(t2.abab, (0, 1, 2, 3), x87, (1, 3, 4, 5), (0, 4, 2, 5)) * -1.0 - del x87 - x89 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x89 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x89 += einsum(x86, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 - del x86 - x89 += einsum(x88, (0, 1, 2, 3), (0, 1, 2, 3)) - del x88 - t2new_aaaa += einsum(x89, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new_aaaa += einsum(x89, (0, 1, 2, 3), (0, 1, 2, 3)) - del x89 - x90 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x90 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 2, 5, 3), (0, 1, 4, 5)) - x91 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x91 += einsum(v.aaaa.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x91 += einsum(x90, (0, 1, 2, 3), (3, 1, 2, 0)) * -1.0 - x91 += einsum(x58, (0, 1, 2, 3), (2, 1, 3, 0)) - del x58 - t2new_aaaa += einsum(t2.aaaa, (0, 1, 2, 3), x91, (0, 4, 1, 5), (4, 5, 2, 3)) * -2.0 - del x91 - x92 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x92 += einsum(t1.aa, (0, 1), x90, (2, 3, 0, 4), (2, 3, 4, 1)) * -2.0 - del x90 - x92 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x92 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) - t2new_aaaa += einsum(t1.aa, (0, 1), x92, (2, 3, 0, 4), (2, 3, 1, 4)) - del x92 - x93 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x93 += einsum(t1.bb, (0, 1), v.aabb.ovvv, (2, 3, 4, 1), (0, 4, 2, 3)) - t2new_abab += einsum(x93, (0, 1, 2, 3), (2, 0, 3, 1)) - x94 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x94 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 5), (1, 4, 3, 5)) - x95 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x95 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x95 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x96 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x96 += einsum(t2.bbbb, (0, 1, 2, 3), (0, 1, 2, 3)) - x96 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1)) * -0.5 - x97 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x97 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) - x97 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x98 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x98 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x98 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x98 += einsum(x94, (0, 1, 2, 3), (1, 0, 3, 2)) - x98 += einsum(x95, (0, 1, 2, 3), x96, (0, 4, 2, 5), (1, 4, 3, 5)) * -2.0 - del x96 - x98 += einsum(t1.bb, (0, 1), x97, (2, 1, 3, 4), (2, 0, 4, 3)) * -1.0 - x98 += einsum(t1.bb, (0, 1), x32, (0, 2, 3, 4), (3, 2, 4, 1)) * -1.0 - del x32 - t2new_abab += einsum(t2.abab, (0, 1, 2, 3), x98, (1, 4, 3, 5), (0, 4, 2, 5)) - del x98 - x99 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x99 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x99 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x100 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x100 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x100 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) - x101 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x101 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - x101 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 - x101 += einsum(x67, (0, 1, 2, 3), x99, (0, 4, 5, 2), (4, 1, 5, 3)) * -1.0 - del x99 - x101 += einsum(t1.aa, (0, 1), x100, (2, 1, 3, 4), (2, 0, 4, 3)) * -0.5 - del x100 - x101 += einsum(t1.aa, (0, 1), x79, (0, 2, 3, 4), (3, 2, 4, 1)) * -0.5 - del x79 - t2new_abab += einsum(t2.abab, (0, 1, 2, 3), x101, (0, 4, 2, 5), (4, 1, 5, 3)) * -2.0 - del x101 - x102 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x102 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) * 0.5 - x102 += einsum(t1.aa, (0, 1), v.aabb.ooov, (2, 0, 3, 4), (3, 4, 2, 1)) * -0.5 - x102 += einsum(x65, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - x102 += einsum(v.aabb.ovov, (0, 1, 2, 3), x67, (0, 4, 1, 5), (2, 3, 4, 5)) - del x67 - t2new_abab += einsum(t2.bbbb, (0, 1, 2, 3), x102, (1, 3, 4, 5), (4, 0, 5, 2)) * 4.0 - del x102 - x103 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x103 += einsum(v.aabb.oovv, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 - x103 += einsum(t1.bb, (0, 1), v.aabb.ooov, (2, 3, 0, 4), (4, 1, 2, 3)) - x103 += einsum(t1.aa, (0, 1), v.aabb.ovvv, (2, 1, 3, 4), (3, 4, 2, 0)) * -1.0 - x103 += einsum(v.aabb.ovov, (0, 1, 2, 3), x6, (2, 4, 5, 1), (3, 4, 0, 5)) - t2new_abab += einsum(t2.abab, (0, 1, 2, 3), x103, (3, 4, 0, 5), (5, 1, 2, 4)) - del x103 - x104 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x104 += einsum(t2.aaaa, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x104 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 3, 1)) * -1.0 - x105 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x105 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) - x105 += einsum(x93, (0, 1, 2, 3), (0, 1, 2, 3)) - x105 += einsum(t1.bb, (0, 1), x26, (0, 2, 3, 4), (2, 1, 3, 4)) * -1.0 - del x26 - t2new_abab += einsum(x104, (0, 1, 2, 3), x105, (4, 5, 0, 2), (1, 4, 3, 5)) - del x104, x105 - x106 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x106 += einsum(v.aabb.ovoo, (0, 1, 2, 3), (2, 3, 0, 1)) - x106 += einsum(x25, (0, 1, 2, 3), (0, 1, 2, 3)) - x107 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x107 += einsum(v.aabb.vvoo, (0, 1, 2, 3), (2, 3, 0, 1)) - x107 += einsum(t1.bb, (0, 1), v.aabb.vvov, (2, 3, 4, 1), (4, 0, 2, 3)) - x107 += einsum(t1.aa, (0, 1), x106, (2, 3, 0, 4), (3, 2, 4, 1)) * -1.0 - del x106 - t2new_abab += einsum(t2.abab, (0, 1, 2, 3), x107, (1, 4, 2, 5), (0, 4, 5, 3)) * -1.0 - del x107 - x108 = np.zeros((nvir[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x108 += einsum(v.aabb.vvvv, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 - x108 += einsum(t1.bb, (0, 1), v.aabb.vvov, (2, 3, 0, 4), (4, 1, 2, 3)) - x108 += einsum(t1.aa, (0, 1), v.aabb.ovvv, (0, 2, 3, 4), (3, 4, 2, 1)) - t2new_abab += einsum(t2.abab, (0, 1, 2, 3), x108, (3, 4, 2, 5), (0, 1, 5, 4)) * -1.0 - del x108 - x109 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x109 += einsum(t1.bb, (0, 1), v.aabb.ooov, (2, 3, 4, 1), (0, 4, 2, 3)) - x110 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x110 += einsum(v.aabb.oooo, (0, 1, 2, 3), (2, 3, 0, 1)) - x110 += einsum(x109, (0, 1, 2, 3), (1, 0, 3, 2)) - x110 += einsum(t1.aa, (0, 1), v.aabb.ovoo, (2, 1, 3, 4), (3, 4, 2, 0)) - x110 += einsum(v.aabb.ovov, (0, 1, 2, 3), x6, (4, 3, 5, 1), (2, 4, 0, 5)) - del x6 - t2new_abab += einsum(t2.abab, (0, 1, 2, 3), x110, (1, 4, 0, 5), (5, 4, 2, 3)) - del x110 - x111 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x111 += einsum(f.aa.vv, (0, 1), (0, 1)) * -0.5 - x111 += einsum(x49, (0, 1), (1, 0)) * -0.5 - del x49 - x111 += einsum(x50, (0, 1), (1, 0)) * 0.5 - del x50 - x111 += einsum(x51, (0, 1), (1, 0)) - del x51 - x111 += einsum(t1.aa, (0, 1), x52, (0, 1, 2, 3), (3, 2)) * -0.5 - del x52 - x111 += einsum(t1.aa, (0, 1), x13, (0, 2), (2, 1)) * 0.5 - t2new_abab += einsum(x111, (0, 1), t2.abab, (2, 3, 0, 4), (2, 3, 1, 4)) * -2.0 - del x111 - x112 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x112 += einsum(t1.aa, (0, 1), v.aabb.ovvv, (0, 1, 2, 3), (2, 3)) - x113 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x113 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (0, 3, 1, 4), (2, 4)) * -1.0 - x114 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x114 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 1, 4), (3, 4)) - x115 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x115 += einsum(t1.bb, (0, 1), x97, (0, 1, 2, 3), (2, 3)) - del x97 - x116 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x116 += einsum(f.bb.vv, (0, 1), (0, 1)) * -1.0 - x116 += einsum(x112, (0, 1), (1, 0)) * -1.0 - x116 += einsum(x113, (0, 1), (1, 0)) * 2.0 - x116 += einsum(x114, (0, 1), (1, 0)) - x116 += einsum(x115, (0, 1), (1, 0)) * -1.0 - x116 += einsum(t1.bb, (0, 1), x10, (0, 2), (2, 1)) - t2new_abab += einsum(x116, (0, 1), t2.abab, (2, 3, 4, 0), (2, 3, 4, 1)) * -1.0 - del x116 - x117 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x117 += einsum(f.aa.oo, (0, 1), (0, 1)) * 0.5 - x117 += einsum(x15, (0, 1), (1, 0)) * 0.5 - del x15 - x117 += einsum(x16, (0, 1), (1, 0)) * 0.5 - del x16 - x117 += einsum(x17, (0, 1), (1, 0)) - del x17 - x117 += einsum(t1.aa, (0, 1), x18, (0, 2, 3, 1), (3, 2)) * -0.5 - del x18 - x117 += einsum(t1.aa, (0, 1), x13, (2, 1), (2, 0)) * 0.5 - del x13 - t2new_abab += einsum(x117, (0, 1), t2.abab, (0, 2, 3, 4), (1, 2, 3, 4)) * -2.0 - del x117 - x118 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x118 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) - x118 += einsum(x65, (0, 1, 2, 3), (0, 1, 2, 3)) - del x65 - x119 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x119 += einsum(v.aabb.oooo, (0, 1, 2, 3), (2, 3, 0, 1)) - x119 += einsum(x109, (0, 1, 2, 3), (0, 1, 3, 2)) - del x109 - x119 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 5, 3), (1, 5, 4, 0)) - x120 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x120 += einsum(v.aabb.ovoo, (0, 1, 2, 3), (2, 3, 0, 1)) - x120 += einsum(t1.aa, (0, 1), v.aabb.vvoo, (2, 1, 3, 4), (3, 4, 0, 2)) - x120 += einsum(t1.bb, (0, 1), x118, (2, 1, 3, 4), (2, 0, 3, 4)) - del x118 - x120 += einsum(t1.aa, (0, 1), x119, (2, 3, 0, 4), (3, 2, 4, 1)) * -1.0 - del x119 - t2new_abab += einsum(t1.bb, (0, 1), x120, (0, 2, 3, 4), (3, 2, 4, 1)) * -1.0 - del x120 - x121 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x121 += einsum(v.aabb.vvov, (0, 1, 2, 3), (2, 3, 0, 1)) - x121 += einsum(t1.bb, (0, 1), v.aabb.vvvv, (2, 3, 4, 1), (0, 4, 2, 3)) - t2new_abab += einsum(t1.aa, (0, 1), x121, (2, 3, 1, 4), (0, 2, 4, 3)) - del x121 - x122 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x122 += einsum(v.aabb.ooov, (0, 1, 2, 3), (2, 3, 0, 1)) - x122 += einsum(t1.bb, (0, 1), v.aabb.oovv, (2, 3, 4, 1), (0, 4, 2, 3)) - t2new_abab += einsum(t1.aa, (0, 1), x122, (2, 3, 0, 4), (4, 2, 1, 3)) * -1.0 - del x122 - x123 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x123 += einsum(t1.bb, (0, 1), v.bbbb.vvvv, (2, 3, 4, 1), (0, 2, 3, 4)) - x124 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x124 += einsum(t1.bb, (0, 1), x123, (2, 3, 1, 4), (0, 2, 3, 4)) - del x123 - x125 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x125 += einsum(t2.bbbb, (0, 1, 2, 3), x95, (1, 4, 3, 5), (0, 4, 2, 5)) - del x95 - x126 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x126 += einsum(t2.bbbb, (0, 1, 2, 3), x125, (4, 1, 5, 3), (0, 4, 2, 5)) * -4.0 - del x125 - x127 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x127 += einsum(t2.abab, (0, 1, 2, 3), x11, (0, 4, 5, 2), (1, 3, 4, 5)) - del x11 - x128 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x128 += einsum(t2.abab, (0, 1, 2, 3), x127, (4, 5, 0, 2), (1, 4, 3, 5)) * -1.0 - del x127 - x129 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x129 += einsum(x112, (0, 1), (1, 0)) * -1.0 - del x112 - x129 += einsum(x113, (0, 1), (1, 0)) * 2.0 - del x113 - x129 += einsum(x114, (0, 1), (1, 0)) - del x114 - x129 += einsum(x115, (0, 1), (1, 0)) * -1.0 - del x115 - x130 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x130 += einsum(x129, (0, 1), t2.bbbb, (2, 3, 4, 0), (2, 3, 4, 1)) * -2.0 - del x129 - x131 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x131 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovvv, (4, 2, 5, 3), (0, 1, 4, 5)) - x132 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x132 += einsum(x10, (0, 1), t2.bbbb, (2, 3, 4, 1), (0, 2, 3, 4)) * -2.0 - del x10 - x133 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x133 += einsum(t1.bb, (0, 1), x23, (2, 3, 4, 1), (2, 0, 4, 3)) - x134 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x134 += einsum(v.bbbb.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x134 += einsum(x133, (0, 1, 2, 3), (3, 1, 2, 0)) - del x133 - x135 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x135 += einsum(t1.bb, (0, 1), x134, (0, 2, 3, 4), (2, 3, 4, 1)) - del x134 - x136 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x136 += einsum(x131, (0, 1, 2, 3), (2, 1, 0, 3)) * -2.0 - del x131 - x136 += einsum(x132, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x132 - x136 += einsum(x135, (0, 1, 2, 3), (1, 0, 2, 3)) - del x135 - x137 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x137 += einsum(t1.bb, (0, 1), x136, (0, 2, 3, 4), (2, 3, 1, 4)) - del x136 - x138 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x138 += einsum(x124, (0, 1, 2, 3), (0, 1, 2, 3)) - del x124 - x138 += einsum(x126, (0, 1, 2, 3), (0, 1, 2, 3)) - del x126 - x138 += einsum(x128, (0, 1, 2, 3), (0, 1, 2, 3)) - del x128 - x138 += einsum(x130, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x130 - x138 += einsum(x137, (0, 1, 2, 3), (1, 0, 2, 3)) - del x137 - t2new_bbbb += einsum(x138, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new_bbbb += einsum(x138, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x138 - x139 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x139 += einsum(t1.bb, (0, 1), v.bbbb.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) - x140 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x140 += einsum(t2.abab, (0, 1, 2, 3), x93, (4, 5, 0, 2), (4, 1, 3, 5)) - del x93 - x141 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x141 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x141 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x141 += einsum(x94, (0, 1, 2, 3), (1, 0, 3, 2)) - x142 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x142 += einsum(t2.bbbb, (0, 1, 2, 3), x141, (1, 4, 3, 5), (0, 4, 2, 5)) * 2.0 - del x141 - x143 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x143 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x143 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) - x144 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x144 += einsum(t1.bb, (0, 1), x143, (2, 3, 1, 4), (0, 2, 3, 4)) - del x143 - x145 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x145 += einsum(t2.bbbb, (0, 1, 2, 3), x144, (4, 1, 3, 5), (0, 4, 2, 5)) * -2.0 - del x144 - x146 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x146 += einsum(t1.bb, (0, 1), v.bbbb.ooov, (2, 3, 4, 1), (0, 2, 3, 4)) - x147 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x147 += einsum(t1.bb, (0, 1), x146, (2, 3, 4, 0), (2, 4, 3, 1)) - x148 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x148 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovoo, (0, 2, 4, 5), (1, 4, 5, 3)) - x149 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x149 += einsum(t2.abab, (0, 1, 2, 3), x25, (4, 5, 0, 2), (4, 1, 5, 3)) - del x25 - x150 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x150 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x150 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x151 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x151 += einsum(t2.bbbb, (0, 1, 2, 3), x150, (4, 5, 1, 3), (0, 4, 5, 2)) * 2.0 - del x150 - x152 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x152 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) - x152 += einsum(x23, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x23 - x153 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x153 += einsum(t2.bbbb, (0, 1, 2, 3), x152, (4, 5, 1, 3), (0, 4, 5, 2)) * 2.0 - del x152 - x154 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x154 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x154 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x154 += einsum(x139, (0, 1, 2, 3), (0, 1, 2, 3)) - x155 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x155 += einsum(t1.bb, (0, 1), x154, (2, 3, 1, 4), (0, 2, 3, 4)) - del x154 - x156 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x156 += einsum(x147, (0, 1, 2, 3), (0, 2, 1, 3)) - del x147 - x156 += einsum(x148, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x148 - x156 += einsum(x149, (0, 1, 2, 3), (0, 2, 1, 3)) - del x149 - x156 += einsum(x151, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x151 - x156 += einsum(x153, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - del x153 - x156 += einsum(x155, (0, 1, 2, 3), (0, 2, 1, 3)) - del x155 - x157 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x157 += einsum(t1.bb, (0, 1), x156, (2, 0, 3, 4), (2, 3, 1, 4)) - del x156 - x158 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x158 += einsum(x139, (0, 1, 2, 3), (0, 1, 2, 3)) - del x139 - x158 += einsum(x94, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x94 - x158 += einsum(x140, (0, 1, 2, 3), (0, 1, 2, 3)) - del x140 - x158 += einsum(x142, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x142 - x158 += einsum(x145, (0, 1, 2, 3), (1, 0, 2, 3)) - del x145 - x158 += einsum(x157, (0, 1, 2, 3), (0, 1, 2, 3)) - del x157 - t2new_bbbb += einsum(x158, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_bbbb += einsum(x158, (0, 1, 2, 3), (0, 1, 3, 2)) - t2new_bbbb += einsum(x158, (0, 1, 2, 3), (1, 0, 2, 3)) - t2new_bbbb += einsum(x158, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x158 - x159 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x159 += einsum(t2.bbbb, (0, 1, 2, 3), x146, (4, 5, 0, 1), (4, 5, 2, 3)) - del x146 - x160 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x160 += einsum(f.bb.oo, (0, 1), (0, 1)) - x160 += einsum(x34, (0, 1), (0, 1)) - del x34 - x161 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x161 += einsum(x160, (0, 1), t2.bbbb, (2, 1, 3, 4), (2, 0, 3, 4)) * -2.0 - del x160 - x162 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x162 += einsum(x29, (0, 1), (1, 0)) - del x29 - x162 += einsum(x30, (0, 1), (1, 0)) * 2.0 - del x30 - x162 += einsum(x31, (0, 1), (1, 0)) - del x31 - x162 += einsum(x33, (0, 1), (1, 0)) * -1.0 - del x33 - x163 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x163 += einsum(x162, (0, 1), t2.bbbb, (2, 0, 3, 4), (2, 1, 3, 4)) * -2.0 - del x162 - x164 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x164 += einsum(x159, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - del x159 - x164 += einsum(x161, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x161 - x164 += einsum(x163, (0, 1, 2, 3), (0, 1, 3, 2)) - del x163 - t2new_bbbb += einsum(x164, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_bbbb += einsum(x164, (0, 1, 2, 3), (1, 0, 2, 3)) - del x164 - x165 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x165 += einsum(t1.bb, (0, 1), v.bbbb.ooov, (2, 0, 3, 4), (2, 3, 1, 4)) - t2new_bbbb += einsum(x165, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_bbbb += einsum(x165, (0, 1, 2, 3), (1, 0, 2, 3)) - del x165 - x166 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x166 += einsum(f.bb.vv, (0, 1), t2.bbbb, (2, 3, 4, 1), (2, 3, 0, 4)) - x167 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x167 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x167 += einsum(x166, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 - del x166 - t2new_bbbb += einsum(x167, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new_bbbb += einsum(x167, (0, 1, 2, 3), (0, 1, 2, 3)) - del x167 - x168 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x168 += einsum(t2.bbbb, (0, 1, 2, 3), (0, 1, 2, 3)) - x168 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3)) - x169 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x169 += einsum(v.bbbb.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x169 += einsum(v.bbbb.ovov, (0, 1, 2, 3), x168, (4, 5, 3, 1), (0, 5, 2, 4)) - del x168 - t2new_bbbb += einsum(t2.bbbb, (0, 1, 2, 3), x169, (0, 4, 1, 5), (4, 5, 2, 3)) * 2.0 - del x169 - x170 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x170 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 2, 5, 3), (0, 1, 4, 5)) - x171 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x171 += einsum(t1.bb, (0, 1), x170, (2, 3, 0, 4), (2, 3, 4, 1)) * -1.0 - del x170 - x171 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 - x171 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) * 0.5 - t2new_bbbb += einsum(t1.bb, (0, 1), x171, (2, 3, 0, 4), (2, 3, 4, 1)) * -2.0 - del x171 - - t1new.aa = t1new_aa - t1new.bb = t1new_bb - t2new.aaaa = t2new_aaaa - t2new.abab = t2new_abab - t2new.bbbb = t2new_bbbb - - return {"t1new": t1new, "t2new": t2new} - -def update_lams(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, l1=None, l2=None, **kwargs): - l1new = Namespace() - l2new = Namespace() - - # L amplitudes - l1new_aa = np.zeros((nvir[0], nocc[0]), dtype=types[float]) - l1new_aa += einsum(f.aa.ov, (0, 1), (1, 0)) - l1new_bb = np.zeros((nvir[1], nocc[1]), dtype=types[float]) - l1new_bb += einsum(f.bb.ov, (0, 1), (1, 0)) - l2new_aaaa = np.zeros((nvir[0], nvir[0], nocc[0], nocc[0]), dtype=types[float]) - l2new_aaaa += einsum(l2.aaaa, (0, 1, 2, 3), v.aaaa.vvvv, (4, 1, 5, 0), (4, 5, 2, 3)) * -2.0 - l2new_abab = np.zeros((nvir[0], nvir[1], nocc[0], nocc[1]), dtype=types[float]) - l2new_abab += einsum(l1.bb, (0, 1), v.aabb.ovvv, (2, 3, 4, 0), (3, 4, 2, 1)) - l2new_abab += einsum(l2.abab, (0, 1, 2, 3), v.aabb.vvvv, (4, 0, 5, 1), (4, 5, 2, 3)) - l2new_abab += einsum(l1.aa, (0, 1), v.aabb.vvov, (2, 0, 3, 4), (2, 4, 1, 3)) - l2new_abab += einsum(v.aabb.ovov, (0, 1, 2, 3), (1, 3, 0, 2)) - l2new_bbbb = np.zeros((nvir[1], nvir[1], nocc[1], nocc[1]), dtype=types[float]) - l2new_bbbb += einsum(l2.bbbb, (0, 1, 2, 3), v.bbbb.vvvv, (4, 1, 5, 0), (4, 5, 2, 3)) * -2.0 - x0 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x0 += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 5, 0, 1), (2, 3, 4, 5)) - l1new_aa += einsum(v.aaaa.ooov, (0, 1, 2, 3), x0, (4, 0, 2, 1), (3, 4)) * 2.0 - x1 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x1 += einsum(t1.aa, (0, 1), l2.aaaa, (2, 1, 3, 4), (3, 4, 0, 2)) - l1new_aa += einsum(v.aaaa.oovv, (0, 1, 2, 3), x1, (4, 1, 0, 3), (2, 4)) * -2.0 - l2new_abab += einsum(v.aabb.ooov, (0, 1, 2, 3), x1, (4, 1, 0, 5), (5, 3, 4, 2)) * -2.0 - x2 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x2 += einsum(t1.aa, (0, 1), x1, (2, 3, 4, 1), (2, 3, 0, 4)) - l1new_aa += einsum(v.aaaa.ooov, (0, 1, 2, 3), x2, (4, 1, 0, 2), (3, 4)) * -2.0 - x3 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x3 += einsum(t1.bb, (0, 1), l2.abab, (2, 1, 3, 4), (4, 0, 3, 2)) - l1new_aa += einsum(v.aabb.vvoo, (0, 1, 2, 3), x3, (2, 3, 4, 1), (0, 4)) * -1.0 - l2new_abab += einsum(v.aabb.vvov, (0, 1, 2, 3), x3, (4, 2, 5, 1), (0, 3, 5, 4)) * -1.0 - x4 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x4 += einsum(t1.bb, (0, 1), v.aabb.vvvv, (2, 3, 4, 1), (0, 4, 2, 3)) - l1new_aa += einsum(l2.abab, (0, 1, 2, 3), x4, (3, 1, 4, 0), (4, 2)) - del x4 - x5 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x5 += einsum(t1.aa, (0, 1), v.aabb.ovov, (2, 1, 3, 4), (3, 4, 0, 2)) - l2new_abab += einsum(x1, (0, 1, 2, 3), x5, (4, 5, 1, 2), (3, 5, 0, 4)) * -2.0 - x6 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x6 += einsum(t1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) - x7 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x7 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x7 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - x7 += einsum(x6, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x7 += einsum(x6, (0, 1, 2, 3), (2, 0, 1, 3)) - x8 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x8 += einsum(v.aabb.ooov, (0, 1, 2, 3), (2, 3, 0, 1)) - x8 += einsum(x5, (0, 1, 2, 3), (0, 1, 3, 2)) - x9 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x9 += einsum(t1.bb, (0, 1), v.aabb.ovov, (2, 3, 4, 1), (0, 4, 2, 3)) - x10 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x10 += einsum(v.aabb.ovoo, (0, 1, 2, 3), (2, 3, 0, 1)) - x10 += einsum(x9, (0, 1, 2, 3), (1, 0, 2, 3)) - x11 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x11 += einsum(t1.bb, (0, 1), v.aabb.ovov, (2, 3, 0, 1), (2, 3)) - x12 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x12 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x12 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x13 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x13 += einsum(t1.aa, (0, 1), x12, (0, 2, 3, 1), (2, 3)) - x14 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x14 += einsum(f.aa.ov, (0, 1), (0, 1)) - x14 += einsum(x11, (0, 1), (0, 1)) - x14 += einsum(x13, (0, 1), (0, 1)) * -1.0 - l2new_abab += einsum(l1.bb, (0, 1), x14, (2, 3), (3, 0, 2, 1)) - x15 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x15 += einsum(t1.aa, (0, 1), v.aabb.ovvv, (2, 1, 3, 4), (3, 4, 0, 2)) - x16 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x16 += einsum(v.aabb.oovv, (0, 1, 2, 3), (2, 3, 0, 1)) - x16 += einsum(x15, (0, 1, 2, 3), (1, 0, 3, 2)) - x17 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x17 += einsum(t1.aa, (0, 1), v.aabb.ovoo, (2, 1, 3, 4), (3, 4, 0, 2)) - x18 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x18 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 5, 3), (1, 5, 0, 4)) - x19 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x19 += einsum(v.aabb.ooov, (0, 1, 2, 3), (2, 3, 0, 1)) - x19 += einsum(x5, (0, 1, 2, 3), (0, 1, 2, 3)) - l2new_abab += einsum(x19, (0, 1, 2, 3), x3, (4, 0, 2, 5), (5, 1, 3, 4)) - l2new_abab += einsum(l1.aa, (0, 1), x19, (2, 3, 1, 4), (0, 3, 4, 2)) * -1.0 - x20 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x20 += einsum(t1.bb, (0, 1), x19, (2, 1, 3, 4), (0, 2, 3, 4)) - x21 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x21 += einsum(v.aabb.oooo, (0, 1, 2, 3), (2, 3, 0, 1)) - x21 += einsum(x17, (0, 1, 2, 3), (1, 0, 3, 2)) - x21 += einsum(x18, (0, 1, 2, 3), (1, 0, 3, 2)) - x21 += einsum(x20, (0, 1, 2, 3), (1, 0, 3, 2)) - del x20 - x22 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x22 += einsum(v.aabb.ooov, (0, 1, 2, 3), (2, 3, 0, 1)) - x22 += einsum(x5, (0, 1, 2, 3), (0, 1, 2, 3)) - x22 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovvv, (4, 2, 5, 3), (1, 5, 0, 4)) - x22 += einsum(t2.abab, (0, 1, 2, 3), x7, (0, 4, 5, 2), (1, 3, 4, 5)) * -1.0 - del x7 - x22 += einsum(t2.bbbb, (0, 1, 2, 3), x8, (1, 3, 4, 5), (0, 2, 5, 4)) * 2.0 - x22 += einsum(t2.abab, (0, 1, 2, 3), x10, (1, 4, 5, 2), (4, 3, 0, 5)) * -1.0 - x22 += einsum(x14, (0, 1), t2.abab, (2, 3, 1, 4), (3, 4, 2, 0)) - x22 += einsum(t1.bb, (0, 1), x16, (1, 2, 3, 4), (0, 2, 4, 3)) - del x16 - x22 += einsum(t1.bb, (0, 1), x21, (0, 2, 3, 4), (2, 1, 4, 3)) * -1.0 - l1new_aa += einsum(l2.abab, (0, 1, 2, 3), x22, (3, 1, 2, 4), (0, 4)) * -1.0 - del x22 - x23 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x23 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x23 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x23 += einsum(x6, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x23 += einsum(x6, (0, 1, 2, 3), (0, 2, 1, 3)) - x24 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x24 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x24 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x24 += einsum(t1.aa, (0, 1), v.aaaa.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) - x25 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x25 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 3, 5, 2), (0, 1, 4, 5)) * -1.0 - x26 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x26 += einsum(t1.aa, (0, 1), x6, (2, 3, 4, 1), (0, 2, 3, 4)) - x27 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x27 += einsum(t1.aa, (0, 1), v.aaaa.ooov, (2, 3, 4, 1), (0, 2, 3, 4)) - x28 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x28 += einsum(v.aaaa.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x28 += einsum(x25, (0, 1, 2, 3), (3, 1, 2, 0)) - x28 += einsum(x26, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - x28 += einsum(x27, (0, 1, 2, 3), (2, 0, 3, 1)) * -1.0 - x28 += einsum(x27, (0, 1, 2, 3), (3, 0, 2, 1)) - x29 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x29 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x29 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovvv, (4, 3, 5, 2), (4, 0, 1, 5)) - x29 += einsum(t2.aaaa, (0, 1, 2, 3), x23, (4, 1, 5, 3), (5, 0, 4, 2)) * -2.0 - del x23 - x29 += einsum(t2.abab, (0, 1, 2, 3), x19, (1, 3, 4, 5), (5, 0, 4, 2)) - del x19 - x29 += einsum(x14, (0, 1), t2.aaaa, (2, 3, 4, 1), (0, 2, 3, 4)) - x29 += einsum(t1.aa, (0, 1), x24, (2, 3, 1, 4), (3, 2, 0, 4)) - del x24 - x29 += einsum(t1.aa, (0, 1), x28, (0, 2, 3, 4), (3, 4, 2, 1)) - del x28 - l1new_aa += einsum(l2.aaaa, (0, 1, 2, 3), x29, (4, 2, 3, 1), (0, 4)) * 2.0 - del x29 - x30 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x30 += einsum(l2.abab, (0, 1, 2, 3), (3, 1, 2, 0)) - x30 += einsum(l2.abab, (0, 1, 2, 3), t2.bbbb, (4, 3, 5, 1), (4, 5, 2, 0)) * 2.0 - x30 += einsum(t1.bb, (0, 1), x3, (0, 2, 3, 4), (2, 1, 3, 4)) * -1.0 - x30 += einsum(l2.aaaa, (0, 1, 2, 3), t2.abab, (3, 4, 1, 5), (4, 5, 2, 0)) * 2.0 - l1new_aa += einsum(v.aabb.vvov, (0, 1, 2, 3), x30, (2, 3, 4, 1), (0, 4)) - del x30 - x31 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x31 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x31 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) - x32 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x32 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 5, 1), (2, 4, 0, 5)) * 0.25 - x32 += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 3, 5, 1), (2, 4, 0, 5)) - l1new_aa += einsum(x31, (0, 1, 2, 3), x32, (4, 0, 3, 2), (1, 4)) * 4.0 - del x32 - x33 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x33 += einsum(t1.aa, (0, 1), l2.abab, (1, 2, 3, 4), (4, 2, 3, 0)) - l1new_bb += einsum(v.aabb.oovv, (0, 1, 2, 3), x33, (4, 3, 1, 0), (2, 4)) * -1.0 - l2new_abab += einsum(v.aabb.ovvv, (0, 1, 2, 3), x33, (4, 3, 5, 0), (1, 2, 5, 4)) * -1.0 - l2new_abab += einsum(x14, (0, 1), x33, (2, 3, 4, 0), (1, 3, 4, 2)) * -1.0 - x34 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x34 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 5, 0, 1), (3, 5, 2, 4)) - x35 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x35 += einsum(t1.bb, (0, 1), x33, (2, 1, 3, 4), (2, 0, 3, 4)) - x36 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x36 += einsum(x34, (0, 1, 2, 3), (0, 1, 2, 3)) - x36 += einsum(x35, (0, 1, 2, 3), (0, 1, 2, 3)) - l2new_abab += einsum(v.aabb.ovov, (0, 1, 2, 3), x36, (4, 2, 5, 0), (1, 3, 5, 4)) - x37 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x37 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 0, 1), (2, 4)) - x38 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x38 += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 3, 0, 1), (2, 4)) - x39 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x39 += einsum(x37, (0, 1), (0, 1)) - x39 += einsum(x38, (0, 1), (0, 1)) * 2.0 - x40 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x40 += einsum(l1.aa, (0, 1), t2.abab, (2, 3, 0, 4), (3, 4, 1, 2)) - x40 += einsum(x33, (0, 1, 2, 3), (0, 1, 2, 3)) - x40 += einsum(t2.bbbb, (0, 1, 2, 3), x33, (1, 3, 4, 5), (0, 2, 4, 5)) * 2.0 - x40 += einsum(t2.abab, (0, 1, 2, 3), x3, (1, 4, 5, 2), (4, 3, 5, 0)) * -1.0 - x40 += einsum(t2.abab, (0, 1, 2, 3), x1, (4, 0, 5, 2), (1, 3, 4, 5)) * -2.0 - x40 += einsum(t1.bb, (0, 1), x36, (0, 2, 3, 4), (2, 1, 3, 4)) * -1.0 - x40 += einsum(t1.bb, (0, 1), x39, (2, 3), (0, 1, 2, 3)) - l1new_aa += einsum(v.aabb.ovov, (0, 1, 2, 3), x40, (2, 3, 4, 0), (1, 4)) * -1.0 - del x40 - x41 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x41 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 0, 5), (1, 5, 2, 4)) - x41 += einsum(t1.bb, (0, 1), x33, (0, 2, 3, 4), (1, 2, 3, 4)) - l1new_aa += einsum(v.aabb.ovvv, (0, 1, 2, 3), x41, (3, 2, 4, 0), (1, 4)) * -1.0 - del x41 - x42 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x42 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) - x42 += einsum(t1.aa, (0, 1), v.aaaa.vvvv, (2, 3, 4, 1), (0, 2, 4, 3)) * -1.0 - l1new_aa += einsum(l2.aaaa, (0, 1, 2, 3), x42, (3, 0, 1, 4), (4, 2)) * -2.0 - del x42 - x43 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x43 += einsum(t1.aa, (0, 1), x1, (2, 0, 3, 4), (2, 3, 4, 1)) - x44 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x44 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) - x44 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - l1new_aa += einsum(x43, (0, 1, 2, 3), x44, (1, 4, 2, 3), (4, 0)) * 2.0 - del x43 - x45 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x45 += einsum(t2.abab, (0, 1, 2, 3), x33, (1, 3, 4, 5), (4, 5, 0, 2)) - x46 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x46 += einsum(t2.aaaa, (0, 1, 2, 3), x1, (4, 1, 5, 3), (4, 5, 0, 2)) * -1.0 - x47 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x47 += einsum(x0, (0, 1, 2, 3), (1, 0, 3, 2)) - del x0 - x47 += einsum(x2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x2 - l2new_aaaa += einsum(v.aaaa.ovov, (0, 1, 2, 3), x47, (4, 5, 0, 2), (3, 1, 5, 4)) * 2.0 - x48 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x48 += einsum(x1, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x48 += einsum(x45, (0, 1, 2, 3), (2, 0, 1, 3)) * 0.5 - x48 += einsum(x46, (0, 1, 2, 3), (2, 0, 1, 3)) * 2.0 - x48 += einsum(t1.aa, (0, 1), x47, (0, 2, 3, 4), (4, 2, 3, 1)) - del x47 - x48 += einsum(t1.aa, (0, 1), x39, (2, 3), (0, 2, 3, 1)) * 0.5 - l1new_aa += einsum(v.aaaa.ovov, (0, 1, 2, 3), x48, (0, 4, 2, 1), (3, 4)) * -2.0 - del x48 - x49 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x49 += einsum(l1.aa, (0, 1), t1.aa, (1, 2), (0, 2)) - x50 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x50 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 4, 1), (0, 4)) - x51 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x51 += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (2, 3, 4, 1), (0, 4)) - x52 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x52 += einsum(x49, (0, 1), (0, 1)) - del x49 - x52 += einsum(x50, (0, 1), (0, 1)) - x52 += einsum(x51, (0, 1), (0, 1)) * 2.0 - l1new_aa += einsum(x52, (0, 1), x44, (2, 1, 0, 3), (3, 2)) * -1.0 - l1new_bb += einsum(x52, (0, 1), v.aabb.vvov, (1, 0, 2, 3), (3, 2)) - del x52 - x53 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x53 += einsum(l1.aa, (0, 1), t2.aaaa, (2, 3, 4, 0), (1, 2, 3, 4)) - x53 += einsum(x45, (0, 1, 2, 3), (0, 2, 1, 3)) * 0.5 - del x45 - x53 += einsum(x46, (0, 1, 2, 3), (0, 2, 1, 3)) * 2.0 - del x46 - x53 += einsum(t1.aa, (0, 1), x39, (2, 3), (2, 0, 3, 1)) * 0.5 - del x39 - l1new_aa += einsum(v.aaaa.ovov, (0, 1, 2, 3), x53, (4, 0, 2, 3), (1, 4)) * 2.0 - del x53 - x54 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x54 += einsum(l1.bb, (0, 1), t2.abab, (2, 1, 3, 0), (2, 3)) - x55 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x55 += einsum(l1.aa, (0, 1), t2.aaaa, (2, 1, 3, 0), (2, 3)) - x56 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x56 += einsum(t2.abab, (0, 1, 2, 3), x33, (1, 3, 0, 4), (4, 2)) - x57 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x57 += einsum(t2.aaaa, (0, 1, 2, 3), x1, (0, 1, 4, 3), (4, 2)) * -1.0 - x58 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x58 += einsum(l1.aa, (0, 1), t1.aa, (2, 0), (1, 2)) - x59 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x59 += einsum(x58, (0, 1), (0, 1)) * 0.5 - x59 += einsum(x37, (0, 1), (0, 1)) * 0.5 - x59 += einsum(x38, (0, 1), (0, 1)) - l1new_aa += einsum(f.aa.ov, (0, 1), x59, (2, 0), (1, 2)) * -2.0 - l1new_bb += einsum(x59, (0, 1), v.aabb.ooov, (1, 0, 2, 3), (3, 2)) * -2.0 - x60 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x60 += einsum(t1.aa, (0, 1), x59, (0, 2), (2, 1)) * 2.0 - x61 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x61 += einsum(t1.aa, (0, 1), (0, 1)) * -1.0 - x61 += einsum(x54, (0, 1), (0, 1)) * -1.0 - x61 += einsum(x55, (0, 1), (0, 1)) * -2.0 - x61 += einsum(x56, (0, 1), (0, 1)) - x61 += einsum(x57, (0, 1), (0, 1)) * 2.0 - x61 += einsum(x60, (0, 1), (0, 1)) - l1new_aa += einsum(x61, (0, 1), x12, (0, 2, 3, 1), (3, 2)) - del x61 - x62 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x62 += einsum(l1.bb, (0, 1), t1.bb, (1, 2), (0, 2)) - x63 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x63 += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (2, 3, 4, 1), (0, 4)) - x64 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x64 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 0, 4), (1, 4)) - x65 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x65 += einsum(x62, (0, 1), (0, 1)) * 0.5 - x65 += einsum(x63, (0, 1), (0, 1)) - x65 += einsum(x64, (0, 1), (0, 1)) * 0.5 - l1new_aa += einsum(x65, (0, 1), v.aabb.ovvv, (2, 3, 1, 0), (3, 2)) * 2.0 - del x65 - x66 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x66 += einsum(l1.bb, (0, 1), t2.bbbb, (2, 1, 3, 0), (2, 3)) - x67 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x67 += einsum(l1.aa, (0, 1), t2.abab, (1, 2, 0, 3), (2, 3)) - x68 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x68 += einsum(t1.bb, (0, 1), l2.bbbb, (2, 1, 3, 4), (3, 4, 0, 2)) - l1new_bb += einsum(v.bbbb.oovv, (0, 1, 2, 3), x68, (4, 0, 1, 3), (2, 4)) * -2.0 - l2new_abab += einsum(v.aabb.ovoo, (0, 1, 2, 3), x68, (4, 2, 3, 5), (1, 5, 0, 4)) * -2.0 - l2new_abab += einsum(x68, (0, 1, 2, 3), x9, (1, 2, 4, 5), (5, 3, 4, 0)) * -2.0 - x69 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x69 += einsum(t2.bbbb, (0, 1, 2, 3), x68, (0, 1, 4, 3), (4, 2)) * -1.0 - x70 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x70 += einsum(t2.abab, (0, 1, 2, 3), x3, (1, 4, 0, 2), (4, 3)) - x71 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x71 += einsum(l1.bb, (0, 1), t1.bb, (2, 0), (1, 2)) - x72 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x72 += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 3, 0, 1), (2, 4)) - x73 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x73 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 1), (3, 4)) - x74 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x74 += einsum(x71, (0, 1), (0, 1)) - x74 += einsum(x72, (0, 1), (0, 1)) * 2.0 - x74 += einsum(x73, (0, 1), (0, 1)) - x75 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x75 += einsum(t1.bb, (0, 1), x74, (0, 2), (2, 1)) - x76 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x76 += einsum(l1.bb, (0, 1), (1, 0)) * -1.0 - x76 += einsum(t1.bb, (0, 1), (0, 1)) * -1.0 - x76 += einsum(x66, (0, 1), (0, 1)) * -2.0 - x76 += einsum(x67, (0, 1), (0, 1)) * -1.0 - x76 += einsum(x69, (0, 1), (0, 1)) * 2.0 - x76 += einsum(x70, (0, 1), (0, 1)) - x76 += einsum(x75, (0, 1), (0, 1)) - l1new_aa += einsum(x76, (0, 1), v.aabb.ovov, (2, 3, 0, 1), (3, 2)) * -1.0 - del x76 - x77 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x77 += einsum(x34, (0, 1, 2, 3), (0, 1, 2, 3)) - x77 += einsum(x35, (0, 1, 2, 3), (1, 0, 2, 3)) - l1new_aa += einsum(v.aabb.ovoo, (0, 1, 2, 3), x77, (2, 3, 4, 0), (1, 4)) - del x77 - x78 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x78 += einsum(x58, (0, 1), (0, 1)) - x78 += einsum(x37, (0, 1), (0, 1)) - del x37 - x78 += einsum(x38, (0, 1), (0, 1)) * 2.0 - del x38 - l2new_abab += einsum(x78, (0, 1), v.aabb.ovov, (1, 2, 3, 4), (2, 4, 0, 3)) * -1.0 - x79 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x79 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x79 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - l1new_aa += einsum(x78, (0, 1), x79, (1, 0, 2, 3), (3, 2)) * -1.0 - del x78 - x80 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x80 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) - x80 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - l1new_aa += einsum(l1.aa, (0, 1), x80, (1, 2, 0, 3), (3, 2)) * -1.0 - del x80 - x81 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x81 += einsum(x71, (0, 1), (0, 1)) * 0.5 - x81 += einsum(x72, (0, 1), (0, 1)) - x81 += einsum(x73, (0, 1), (0, 1)) * 0.5 - l1new_aa += einsum(x81, (0, 1), v.aabb.ovoo, (2, 3, 0, 1), (3, 2)) * -2.0 - l1new_bb += einsum(f.bb.ov, (0, 1), x81, (2, 0), (1, 2)) * -2.0 - l2new_abab += einsum(x81, (0, 1), v.aabb.ovov, (2, 3, 1, 4), (3, 4, 2, 0)) * -2.0 - del x81 - x82 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x82 += einsum(t1.bb, (0, 1), v.aabb.vvov, (2, 3, 0, 1), (2, 3)) - x83 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x83 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) - x83 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x84 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x84 += einsum(f.aa.vv, (0, 1), (0, 1)) - x84 += einsum(x82, (0, 1), (1, 0)) - x84 += einsum(t1.aa, (0, 1), x83, (0, 2, 1, 3), (3, 2)) * -1.0 - del x83 - l1new_aa += einsum(l1.aa, (0, 1), x84, (0, 2), (2, 1)) - del x84 - x85 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x85 += einsum(t1.bb, (0, 1), v.aabb.ooov, (2, 3, 0, 1), (2, 3)) - x86 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x86 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 1, 3), (0, 4)) - x87 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x87 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 2, 1, 3), (0, 4)) - x88 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x88 += einsum(t1.aa, (0, 1), x79, (0, 2, 3, 1), (2, 3)) * 0.5 - x89 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x89 += einsum(t1.aa, (0, 1), x14, (2, 1), (0, 2)) * 0.5 - del x14 - x90 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x90 += einsum(f.aa.oo, (0, 1), (0, 1)) * 0.5 - x90 += einsum(x85, (0, 1), (1, 0)) * 0.5 - x90 += einsum(x86, (0, 1), (0, 1)) * 0.5 - x90 += einsum(x87, (0, 1), (0, 1)) - x90 += einsum(x88, (0, 1), (0, 1)) * -1.0 - del x88 - x90 += einsum(x89, (0, 1), (0, 1)) - del x89 - l1new_aa += einsum(l1.aa, (0, 1), x90, (1, 2), (0, 2)) * -2.0 - l2new_abab += einsum(x90, (0, 1), l2.abab, (2, 3, 0, 4), (2, 3, 1, 4)) * -2.0 - del x90 - x91 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x91 += einsum(x11, (0, 1), (0, 1)) - del x11 - x91 += einsum(x13, (0, 1), (0, 1)) * -1.0 - del x13 - l1new_aa += einsum(x58, (0, 1), x91, (1, 2), (2, 0)) * -1.0 - del x58 - x92 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x92 += einsum(t1.aa, (0, 1), v.aabb.vvvv, (2, 1, 3, 4), (3, 4, 0, 2)) - l1new_bb += einsum(l2.abab, (0, 1, 2, 3), x92, (4, 1, 2, 0), (4, 3)) - del x92 - x93 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x93 += einsum(t1.bb, (0, 1), v.bbbb.vvvv, (2, 3, 4, 1), (0, 2, 3, 4)) - l1new_bb += einsum(l2.bbbb, (0, 1, 2, 3), x93, (3, 4, 0, 1), (4, 2)) * 2.0 - del x93 - x94 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x94 += einsum(t1.bb, (0, 1), v.bbbb.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) - l1new_bb += einsum(x68, (0, 1, 2, 3), x94, (1, 2, 4, 3), (4, 0)) * 2.0 - x95 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x95 += einsum(t1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) - x96 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x96 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x96 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) - x96 += einsum(x95, (0, 1, 2, 3), (1, 0, 2, 3)) - x96 += einsum(x95, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - x97 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x97 += einsum(t1.aa, (0, 1), v.aabb.ovov, (0, 1, 2, 3), (2, 3)) - x98 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x98 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x98 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x99 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x99 += einsum(t1.bb, (0, 1), x98, (0, 2, 3, 1), (2, 3)) - x100 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x100 += einsum(f.bb.ov, (0, 1), (0, 1)) - x100 += einsum(x97, (0, 1), (0, 1)) - x100 += einsum(x99, (0, 1), (0, 1)) * -1.0 - l2new_abab += einsum(x100, (0, 1), x3, (2, 0, 3, 4), (4, 1, 3, 2)) * -1.0 - l2new_abab += einsum(l1.aa, (0, 1), x100, (2, 3), (0, 3, 1, 2)) - x101 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x101 += einsum(t1.aa, (0, 1), v.aabb.vvov, (2, 1, 3, 4), (3, 4, 0, 2)) - x102 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x102 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) - x102 += einsum(x101, (0, 1, 2, 3), (0, 1, 2, 3)) - x103 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x103 += einsum(v.aabb.ovoo, (0, 1, 2, 3), (2, 3, 0, 1)) - x103 += einsum(t1.aa, (0, 1), v.aabb.vvoo, (2, 1, 3, 4), (3, 4, 0, 2)) - x103 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.vvov, (4, 2, 5, 3), (1, 5, 0, 4)) - x103 += einsum(t2.abab, (0, 1, 2, 3), x96, (4, 5, 1, 3), (5, 4, 0, 2)) * -1.0 - del x96 - x103 += einsum(t2.aaaa, (0, 1, 2, 3), x10, (4, 5, 1, 3), (5, 4, 0, 2)) * 2.0 - del x10 - x103 += einsum(t2.abab, (0, 1, 2, 3), x8, (4, 3, 0, 5), (1, 4, 5, 2)) * -1.0 - x103 += einsum(x100, (0, 1), t2.abab, (2, 3, 4, 1), (3, 0, 2, 4)) - x103 += einsum(t1.bb, (0, 1), x102, (2, 1, 3, 4), (0, 2, 3, 4)) - del x102 - x103 += einsum(t1.aa, (0, 1), x21, (2, 3, 0, 4), (3, 2, 4, 1)) * -1.0 - del x21 - l1new_bb += einsum(l2.abab, (0, 1, 2, 3), x103, (3, 4, 2, 0), (1, 4)) * -1.0 - del x103 - x104 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x104 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x104 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x104 += einsum(x95, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x104 += einsum(x95, (0, 1, 2, 3), (0, 2, 1, 3)) - x105 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x105 += einsum(v.aabb.ovoo, (0, 1, 2, 3), (2, 3, 0, 1)) - x105 += einsum(x9, (0, 1, 2, 3), (0, 1, 2, 3)) - l2new_abab += einsum(x105, (0, 1, 2, 3), x33, (0, 4, 5, 2), (3, 4, 5, 1)) - l2new_abab += einsum(l1.bb, (0, 1), x105, (1, 2, 3, 4), (4, 0, 3, 2)) * -1.0 - x106 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x106 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x106 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x106 += einsum(x94, (0, 1, 2, 3), (0, 1, 2, 3)) - del x94 - x107 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x107 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 2, 5, 3), (0, 1, 4, 5)) - x108 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x108 += einsum(t1.bb, (0, 1), x95, (2, 3, 4, 1), (0, 2, 3, 4)) - x109 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x109 += einsum(t1.bb, (0, 1), v.bbbb.ooov, (2, 3, 4, 1), (0, 2, 3, 4)) - x110 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x110 += einsum(v.bbbb.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x110 += einsum(x107, (0, 1, 2, 3), (3, 1, 2, 0)) - x110 += einsum(x108, (0, 1, 2, 3), (3, 1, 2, 0)) - x110 += einsum(x109, (0, 1, 2, 3), (2, 1, 3, 0)) - x110 += einsum(x109, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 - x111 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x111 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) - x111 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovvv, (4, 2, 5, 3), (4, 0, 1, 5)) * -1.0 - x111 += einsum(t2.bbbb, (0, 1, 2, 3), x104, (4, 1, 5, 3), (5, 0, 4, 2)) * -2.0 - del x104 - x111 += einsum(t2.abab, (0, 1, 2, 3), x105, (4, 5, 0, 2), (5, 1, 4, 3)) - del x105 - x111 += einsum(x100, (0, 1), t2.bbbb, (2, 3, 4, 1), (0, 2, 3, 4)) - x111 += einsum(t1.bb, (0, 1), x106, (2, 3, 1, 4), (3, 2, 0, 4)) - del x106 - x111 += einsum(t1.bb, (0, 1), x110, (0, 2, 3, 4), (3, 2, 4, 1)) * -1.0 - del x110 - l1new_bb += einsum(l2.bbbb, (0, 1, 2, 3), x111, (4, 3, 2, 1), (0, 4)) * -2.0 - del x111 - x112 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x112 += einsum(l2.abab, (0, 1, 2, 3), (3, 1, 2, 0)) - x112 += einsum(l2.bbbb, (0, 1, 2, 3), t2.abab, (4, 3, 5, 1), (2, 0, 4, 5)) * 2.0 - x112 += einsum(l2.abab, (0, 1, 2, 3), t2.aaaa, (4, 2, 5, 0), (3, 1, 4, 5)) * 2.0 - x112 += einsum(t1.aa, (0, 1), x33, (2, 3, 0, 4), (2, 3, 4, 1)) * -1.0 - l1new_bb += einsum(v.aabb.ovvv, (0, 1, 2, 3), x112, (4, 3, 0, 1), (2, 4)) - del x112 - x113 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x113 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x113 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) - x114 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x114 += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 3, 5, 1), (2, 4, 0, 5)) * 4.0 - x114 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 5), (3, 4, 1, 5)) - l1new_bb += einsum(x113, (0, 1, 2, 3), x114, (4, 0, 2, 1), (3, 4)) * -1.0 - del x113, x114 - x115 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x115 += einsum(x72, (0, 1), (0, 1)) - del x72 - x115 += einsum(x73, (0, 1), (0, 1)) * 0.5 - del x73 - x116 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x116 += einsum(l1.bb, (0, 1), t2.abab, (2, 3, 4, 0), (1, 3, 2, 4)) - x116 += einsum(x3, (0, 1, 2, 3), (0, 1, 2, 3)) - x116 += einsum(t2.abab, (0, 1, 2, 3), x68, (4, 1, 5, 3), (4, 5, 0, 2)) * -2.0 - x116 += einsum(t2.aaaa, (0, 1, 2, 3), x3, (4, 5, 1, 3), (4, 5, 0, 2)) * 2.0 - x116 += einsum(t2.abab, (0, 1, 2, 3), x33, (4, 3, 0, 5), (4, 1, 5, 2)) * -1.0 - x116 += einsum(t1.aa, (0, 1), x36, (2, 3, 0, 4), (2, 3, 4, 1)) * -1.0 - del x36 - x116 += einsum(t1.aa, (0, 1), x115, (2, 3), (2, 3, 0, 1)) * 2.0 - l1new_bb += einsum(v.aabb.ovov, (0, 1, 2, 3), x116, (4, 2, 0, 1), (3, 4)) * -1.0 - del x116 - x117 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x117 += einsum(l2.bbbb, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 - x117 += einsum(t1.bb, (0, 1), x68, (2, 0, 3, 4), (2, 3, 4, 1)) - l1new_bb += einsum(v.bbbb.ovvv, (0, 1, 2, 3), x117, (4, 0, 3, 1), (2, 4)) * -2.0 - del x117 - x118 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x118 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 5, 1), (3, 4, 0, 5)) - x118 += einsum(t1.aa, (0, 1), x3, (2, 3, 0, 4), (2, 3, 1, 4)) - l1new_bb += einsum(v.aabb.vvov, (0, 1, 2, 3), x118, (4, 2, 0, 1), (3, 4)) * -1.0 - del x118 - x119 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x119 += einsum(t2.bbbb, (0, 1, 2, 3), x68, (4, 1, 5, 3), (4, 5, 0, 2)) * -1.0 - x120 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x120 += einsum(t1.bb, (0, 1), x68, (2, 3, 4, 1), (3, 2, 4, 0)) - x121 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x121 += einsum(t2.abab, (0, 1, 2, 3), x3, (4, 5, 0, 2), (4, 5, 1, 3)) - x122 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x122 += einsum(l1.bb, (0, 1), t2.bbbb, (2, 3, 4, 0), (1, 2, 3, 4)) - x122 += einsum(x68, (0, 1, 2, 3), (1, 0, 2, 3)) - x122 += einsum(x119, (0, 1, 2, 3), (0, 2, 1, 3)) * 2.0 - x122 += einsum(t1.bb, (0, 1), x120, (0, 2, 3, 4), (2, 3, 4, 1)) * -1.0 - x122 += einsum(x121, (0, 1, 2, 3), (0, 2, 1, 3)) * 0.5 - x122 += einsum(t1.bb, (0, 1), x115, (2, 3), (2, 0, 3, 1)) - l1new_bb += einsum(v.bbbb.ovov, (0, 1, 2, 3), x122, (4, 2, 0, 3), (1, 4)) * -2.0 - del x122 - x123 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x123 += einsum(x62, (0, 1), (0, 1)) - del x62 - x123 += einsum(x63, (0, 1), (0, 1)) * 2.0 - x123 += einsum(x64, (0, 1), (0, 1)) - x124 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x124 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) - x124 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - l1new_bb += einsum(x123, (0, 1), x124, (2, 1, 0, 3), (3, 2)) * -1.0 - del x123 - x125 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x125 += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 5, 0, 1), (2, 3, 4, 5)) - x126 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x126 += einsum(x119, (0, 1, 2, 3), (0, 2, 1, 3)) * 2.0 - del x119 - x126 += einsum(t1.bb, (0, 1), x125, (2, 0, 3, 4), (2, 4, 3, 1)) * -1.0 - x126 += einsum(x121, (0, 1, 2, 3), (0, 2, 1, 3)) * 0.5 - del x121 - x126 += einsum(t1.bb, (0, 1), x115, (2, 3), (2, 0, 3, 1)) - del x115 - l1new_bb += einsum(v.bbbb.ovov, (0, 1, 2, 3), x126, (4, 2, 0, 1), (3, 4)) * 2.0 - del x126 - x127 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x127 += einsum(t1.bb, (0, 1), (0, 1)) * -1.0 - x127 += einsum(x66, (0, 1), (0, 1)) * -2.0 - del x66 - x127 += einsum(x67, (0, 1), (0, 1)) * -1.0 - del x67 - x127 += einsum(x69, (0, 1), (0, 1)) * 2.0 - del x69 - x127 += einsum(x70, (0, 1), (0, 1)) - del x70 - x127 += einsum(x75, (0, 1), (0, 1)) - del x75 - l1new_bb += einsum(x127, (0, 1), x98, (0, 2, 3, 1), (3, 2)) - del x127 - x128 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x128 += einsum(l1.aa, (0, 1), (1, 0)) * -1.0 - x128 += einsum(t1.aa, (0, 1), (0, 1)) * -1.0 - x128 += einsum(x54, (0, 1), (0, 1)) * -1.0 - del x54 - x128 += einsum(x55, (0, 1), (0, 1)) * -2.0 - del x55 - x128 += einsum(x56, (0, 1), (0, 1)) - del x56 - x128 += einsum(x57, (0, 1), (0, 1)) * 2.0 - del x57 - x128 += einsum(x60, (0, 1), (0, 1)) - del x60 - l1new_bb += einsum(x128, (0, 1), v.aabb.ovov, (0, 1, 2, 3), (3, 2)) * -1.0 - del x128 - x129 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x129 += einsum(x125, (0, 1, 2, 3), (1, 0, 3, 2)) - x129 += einsum(x120, (0, 1, 2, 3), (2, 1, 0, 3)) - l1new_bb += einsum(v.bbbb.ooov, (0, 1, 2, 3), x129, (1, 4, 0, 2), (3, 4)) * 2.0 - del x129 - x130 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x130 += einsum(x34, (0, 1, 2, 3), (0, 1, 2, 3)) - del x34 - x130 += einsum(x35, (0, 1, 2, 3), (0, 1, 3, 2)) - del x35 - l1new_bb += einsum(v.aabb.ooov, (0, 1, 2, 3), x130, (4, 2, 0, 1), (3, 4)) - del x130 - x131 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x131 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x131 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - l1new_bb += einsum(x74, (0, 1), x131, (1, 0, 2, 3), (3, 2)) * -1.0 - del x131 - x132 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x132 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) - x132 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - l1new_bb += einsum(l1.bb, (0, 1), x132, (1, 2, 0, 3), (3, 2)) * -1.0 - del x132 - x133 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x133 += einsum(t1.aa, (0, 1), v.aabb.ovvv, (0, 1, 2, 3), (2, 3)) - x134 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x134 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) - x134 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x135 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x135 += einsum(f.bb.vv, (0, 1), (0, 1)) - x135 += einsum(x133, (0, 1), (1, 0)) - x135 += einsum(t1.bb, (0, 1), x134, (0, 2, 1, 3), (3, 2)) * -1.0 - l1new_bb += einsum(l1.bb, (0, 1), x135, (0, 2), (2, 1)) - del x135 - x136 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x136 += einsum(t1.aa, (0, 1), v.aabb.ovoo, (0, 1, 2, 3), (2, 3)) - x137 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x137 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 2, 1, 3), (0, 4)) - x138 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x138 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 3), (1, 4)) - x139 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x139 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x139 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) - x140 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x140 += einsum(t1.bb, (0, 1), x139, (2, 3, 0, 1), (2, 3)) - del x139 - x141 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x141 += einsum(t1.bb, (0, 1), x100, (2, 1), (0, 2)) - del x100 - x142 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x142 += einsum(f.bb.oo, (0, 1), (0, 1)) - x142 += einsum(x136, (0, 1), (1, 0)) - x142 += einsum(x137, (0, 1), (0, 1)) * 2.0 - x142 += einsum(x138, (0, 1), (0, 1)) - x142 += einsum(x140, (0, 1), (1, 0)) * -1.0 - x142 += einsum(x141, (0, 1), (0, 1)) - del x141 - l1new_bb += einsum(l1.bb, (0, 1), x142, (1, 2), (0, 2)) * -1.0 - l2new_abab += einsum(x142, (0, 1), l2.abab, (2, 3, 4, 0), (2, 3, 4, 1)) * -1.0 - del x142 - x143 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x143 += einsum(x97, (0, 1), (0, 1)) - del x97 - x143 += einsum(x99, (0, 1), (0, 1)) * -1.0 - del x99 - l1new_bb += einsum(x143, (0, 1), x71, (2, 0), (1, 2)) * -1.0 - del x71 - x144 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x144 += einsum(l1.aa, (0, 1), v.aaaa.ovvv, (2, 3, 4, 0), (1, 2, 3, 4)) - x145 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x145 += einsum(v.aabb.ovoo, (0, 1, 2, 3), x3, (2, 3, 4, 5), (4, 0, 5, 1)) - x146 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x146 += einsum(x3, (0, 1, 2, 3), x9, (0, 1, 4, 5), (2, 4, 3, 5)) - del x9 - x147 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x147 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (0, 4, 2, 5)) - x148 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x148 += einsum(t2.aaaa, (0, 1, 2, 3), x12, (1, 4, 5, 3), (0, 4, 2, 5)) * 2.0 - x149 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x149 += einsum(t1.aa, (0, 1), x31, (2, 3, 1, 4), (0, 2, 3, 4)) - x150 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x150 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x150 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x150 += einsum(x147, (0, 1, 2, 3), (0, 1, 2, 3)) - x150 += einsum(x148, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x148 - x150 += einsum(x149, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x149 - x151 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x151 += einsum(l2.aaaa, (0, 1, 2, 3), x150, (3, 4, 1, 5), (4, 2, 5, 0)) * 2.0 - del x150 - x152 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x152 += einsum(t1.bb, (0, 1), v.aabb.ovvv, (2, 3, 4, 1), (0, 4, 2, 3)) - x153 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x153 += einsum(t2.bbbb, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (0, 2, 4, 5)) - x154 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x154 += einsum(t2.abab, (0, 1, 2, 3), x12, (0, 4, 5, 2), (1, 3, 4, 5)) - x155 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x155 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) - x155 += einsum(x152, (0, 1, 2, 3), (0, 1, 2, 3)) - del x152 - x155 += einsum(x153, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x153 - x155 += einsum(x154, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x154 - l2new_abab += einsum(l2.bbbb, (0, 1, 2, 3), x155, (3, 1, 4, 5), (5, 0, 4, 2)) * 2.0 - x156 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x156 += einsum(l2.abab, (0, 1, 2, 3), x155, (3, 1, 4, 5), (4, 2, 5, 0)) - del x155 - x157 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x157 += einsum(x6, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x157 += einsum(x6, (0, 1, 2, 3), (0, 2, 1, 3)) - x158 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x158 += einsum(x1, (0, 1, 2, 3), x157, (0, 2, 4, 5), (4, 1, 5, 3)) * 2.0 - del x157 - x159 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x159 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x159 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) - x160 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x160 += einsum(x1, (0, 1, 2, 3), x159, (0, 4, 2, 5), (4, 1, 5, 3)) * 2.0 - del x159 - x161 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x161 += einsum(x50, (0, 1), (0, 1)) - del x50 - x161 += einsum(x51, (0, 1), (0, 1)) * 2.0 - del x51 - l2new_abab += einsum(x161, (0, 1), v.aabb.ovov, (2, 1, 3, 4), (0, 4, 2, 3)) * -1.0 - x162 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x162 += einsum(x161, (0, 1), v.aaaa.ovov, (2, 1, 3, 4), (2, 3, 0, 4)) - del x161 - x163 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x163 += einsum(x59, (0, 1), v.aaaa.ovov, (2, 3, 1, 4), (2, 0, 4, 3)) * 2.0 - del x59 - x164 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x164 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x164 += einsum(x6, (0, 1, 2, 3), (0, 1, 2, 3)) - x165 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x165 += einsum(l1.aa, (0, 1), x164, (1, 2, 3, 4), (2, 3, 4, 0)) - del x164 - x166 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x166 += einsum(f.aa.ov, (0, 1), l1.aa, (2, 3), (0, 3, 1, 2)) - x166 += einsum(x144, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x144 - x166 += einsum(x145, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x145 - x166 += einsum(x146, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x146 - x166 += einsum(x151, (0, 1, 2, 3), (1, 0, 3, 2)) - del x151 - x166 += einsum(x156, (0, 1, 2, 3), (1, 0, 3, 2)) - del x156 - x166 += einsum(x158, (0, 1, 2, 3), (1, 0, 3, 2)) - del x158 - x166 += einsum(x160, (0, 1, 2, 3), (1, 0, 3, 2)) - del x160 - x166 += einsum(x162, (0, 1, 2, 3), (1, 0, 2, 3)) - del x162 - x166 += einsum(x163, (0, 1, 2, 3), (1, 0, 3, 2)) - del x163 - x166 += einsum(x165, (0, 1, 2, 3), (0, 1, 3, 2)) - del x165 - x166 += einsum(l1.aa, (0, 1), x91, (2, 3), (1, 2, 0, 3)) - l2new_aaaa += einsum(x166, (0, 1, 2, 3), (2, 3, 0, 1)) - l2new_aaaa += einsum(x166, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - l2new_aaaa += einsum(x166, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 - l2new_aaaa += einsum(x166, (0, 1, 2, 3), (3, 2, 1, 0)) - del x166 - x167 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x167 += einsum(f.aa.oo, (0, 1), l2.aaaa, (2, 3, 4, 1), (0, 4, 2, 3)) - l2new_aaaa += einsum(x167, (0, 1, 2, 3), (3, 2, 0, 1)) * -2.0 - l2new_aaaa += einsum(x167, (0, 1, 2, 3), (3, 2, 1, 0)) * 2.0 - del x167 - x168 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x168 += einsum(f.aa.ov, (0, 1), t1.aa, (2, 1), (0, 2)) - x169 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x169 += einsum(x168, (0, 1), l2.aaaa, (2, 3, 4, 1), (0, 4, 2, 3)) - del x168 - x170 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x170 += einsum(l2.aaaa, (0, 1, 2, 3), x27, (2, 4, 3, 5), (4, 5, 0, 1)) - del x27 - x171 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x171 += einsum(t1.aa, (0, 1), x79, (0, 2, 3, 1), (2, 3)) - del x79 - x172 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x172 += einsum(t1.aa, (0, 1), x91, (2, 1), (0, 2)) - x173 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x173 += einsum(x85, (0, 1), (1, 0)) - del x85 - x173 += einsum(x86, (0, 1), (0, 1)) - del x86 - x173 += einsum(x87, (0, 1), (0, 1)) * 2.0 - del x87 - x173 += einsum(x171, (0, 1), (0, 1)) * -1.0 - del x171 - x173 += einsum(x172, (0, 1), (0, 1)) - del x172 - x174 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x174 += einsum(x173, (0, 1), l2.aaaa, (2, 3, 4, 0), (1, 4, 2, 3)) * -2.0 - del x173 - x175 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x175 += einsum(x169, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - del x169 - x175 += einsum(x170, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - del x170 - x175 += einsum(x174, (0, 1, 2, 3), (1, 0, 3, 2)) - del x174 - l2new_aaaa += einsum(x175, (0, 1, 2, 3), (3, 2, 0, 1)) - l2new_aaaa += einsum(x175, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 - del x175 - x176 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x176 += einsum(f.aa.vv, (0, 1), l2.aaaa, (2, 1, 3, 4), (3, 4, 0, 2)) - x177 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x177 += einsum(f.aa.ov, (0, 1), x1, (2, 3, 0, 4), (2, 3, 1, 4)) - x178 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x178 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), x1, (4, 5, 0, 3), (5, 4, 1, 2)) - x179 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x179 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 4, 1, 3), (2, 4)) - x180 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x180 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (0, 4, 1, 3), (2, 4)) - x181 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x181 += einsum(t1.aa, (0, 1), x44, (0, 1, 2, 3), (2, 3)) - del x44 - x182 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x182 += einsum(x82, (0, 1), (1, 0)) * -1.0 - x182 += einsum(x179, (0, 1), (1, 0)) - x182 += einsum(x180, (0, 1), (1, 0)) * 2.0 - x182 += einsum(x181, (0, 1), (1, 0)) * -1.0 - del x181 - x183 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x183 += einsum(x182, (0, 1), l2.aaaa, (2, 1, 3, 4), (3, 4, 0, 2)) * -2.0 - del x182 - x184 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x184 += einsum(x91, (0, 1), x1, (2, 3, 0, 4), (2, 3, 4, 1)) * 2.0 - del x1, x91 - x185 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x185 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x185 += einsum(x176, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - del x176 - x185 += einsum(x177, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - del x177 - x185 += einsum(x178, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - del x178 - x185 += einsum(x183, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x183 - x185 += einsum(x184, (0, 1, 2, 3), (1, 0, 3, 2)) - del x184 - l2new_aaaa += einsum(x185, (0, 1, 2, 3), (3, 2, 0, 1)) - l2new_aaaa += einsum(x185, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 - del x185 - x186 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x186 += einsum(v.aaaa.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x186 += einsum(x25, (0, 1, 2, 3), (1, 3, 2, 0)) - del x25 - x186 += einsum(x26, (0, 1, 2, 3), (0, 2, 3, 1)) - del x26 - l2new_aaaa += einsum(l2.aaaa, (0, 1, 2, 3), x186, (2, 4, 5, 3), (0, 1, 5, 4)) * -2.0 - del x186 - x187 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x187 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * 0.5 - x187 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x187 += einsum(x147, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - del x147 - x187 += einsum(t2.aaaa, (0, 1, 2, 3), x12, (1, 4, 5, 3), (0, 4, 2, 5)) * -1.0 - del x12 - x187 += einsum(t1.aa, (0, 1), x31, (2, 3, 1, 4), (0, 2, 4, 3)) * -0.5 - l2new_abab += einsum(l2.abab, (0, 1, 2, 3), x187, (2, 4, 0, 5), (5, 1, 4, 3)) * 2.0 - del x187 - x188 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x188 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 5), (1, 4, 3, 5)) - x189 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x189 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x189 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x190 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x190 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x190 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) - x191 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x191 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * 0.5 - x191 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x191 += einsum(x188, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - x191 += einsum(t2.bbbb, (0, 1, 2, 3), x189, (1, 4, 3, 5), (0, 4, 2, 5)) * -1.0 - x191 += einsum(t1.bb, (0, 1), x190, (2, 3, 1, 4), (0, 2, 4, 3)) * -0.5 - l2new_abab += einsum(l2.abab, (0, 1, 2, 3), x191, (3, 4, 1, 5), (0, 5, 2, 4)) * 2.0 - del x191 - x192 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x192 += einsum(t2.aaaa, (0, 1, 2, 3), v.aabb.ovov, (1, 3, 4, 5), (4, 5, 0, 2)) - x193 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x193 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) * 0.5 - x193 += einsum(x101, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - x193 += einsum(x192, (0, 1, 2, 3), (0, 1, 2, 3)) - x193 += einsum(t2.abab, (0, 1, 2, 3), x98, (1, 4, 5, 3), (4, 5, 0, 2)) * -0.5 - l2new_abab += einsum(l2.aaaa, (0, 1, 2, 3), x193, (4, 5, 3, 1), (0, 5, 2, 4)) * 4.0 - del x193 - x194 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x194 += einsum(v.aabb.oovv, (0, 1, 2, 3), (2, 3, 0, 1)) - x194 += einsum(x15, (0, 1, 2, 3), (1, 0, 2, 3)) - del x15 - x194 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 1, 5), (3, 5, 0, 4)) * -1.0 - l2new_abab += einsum(l2.abab, (0, 1, 2, 3), x194, (1, 4, 2, 5), (0, 4, 5, 3)) * -1.0 - del x194 - x195 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x195 += einsum(v.aabb.vvoo, (0, 1, 2, 3), (2, 3, 0, 1)) - x195 += einsum(t1.bb, (0, 1), v.aabb.vvov, (2, 3, 4, 1), (0, 4, 2, 3)) - x195 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 4, 5, 3), (1, 5, 2, 4)) * -1.0 - l2new_abab += einsum(l2.abab, (0, 1, 2, 3), x195, (3, 4, 0, 5), (5, 1, 2, 4)) * -1.0 - del x195 - x196 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x196 += einsum(v.aabb.oooo, (0, 1, 2, 3), (2, 3, 0, 1)) - x196 += einsum(x17, (0, 1, 2, 3), (1, 0, 2, 3)) - del x17 - x196 += einsum(x18, (0, 1, 2, 3), (0, 1, 2, 3)) - del x18 - x196 += einsum(t1.bb, (0, 1), x8, (2, 1, 3, 4), (0, 2, 4, 3)) - del x8 - l2new_abab += einsum(l2.abab, (0, 1, 2, 3), x196, (3, 4, 2, 5), (0, 1, 5, 4)) - del x196 - x197 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x197 += einsum(f.aa.vv, (0, 1), (0, 1)) * -0.5 - x197 += einsum(x82, (0, 1), (1, 0)) * -0.5 - del x82 - x197 += einsum(x179, (0, 1), (0, 1)) * 0.5 - del x179 - x197 += einsum(x180, (0, 1), (0, 1)) - del x180 - x197 += einsum(t1.aa, (0, 1), x31, (0, 2, 1, 3), (3, 2)) * -0.5 - del x31 - l2new_abab += einsum(x197, (0, 1), l2.abab, (0, 2, 3, 4), (1, 2, 3, 4)) * -2.0 - del x197 - x198 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x198 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (0, 3, 1, 4), (2, 4)) * -1.0 - x199 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x199 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 1, 4), (3, 4)) - x200 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x200 += einsum(f.bb.vv, (0, 1), (0, 1)) * -1.0 - x200 += einsum(x133, (0, 1), (1, 0)) * -1.0 - x200 += einsum(x198, (0, 1), (0, 1)) * 2.0 - x200 += einsum(x199, (0, 1), (0, 1)) - x200 += einsum(t1.bb, (0, 1), x134, (0, 1, 2, 3), (3, 2)) * -1.0 - del x134 - l2new_abab += einsum(x200, (0, 1), l2.abab, (2, 0, 3, 4), (2, 1, 3, 4)) * -1.0 - del x200 - x201 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x201 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x201 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - l2new_abab += einsum(x201, (0, 1, 2, 3), x3, (0, 1, 4, 5), (5, 3, 4, 2)) * -1.0 - x202 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x202 += einsum(x95, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x202 += einsum(x95, (0, 1, 2, 3), (0, 2, 1, 3)) - l2new_abab += einsum(x202, (0, 1, 2, 3), x3, (0, 1, 4, 5), (5, 3, 4, 2)) * -1.0 - del x3, x202 - x203 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x203 += einsum(x6, (0, 1, 2, 3), (0, 1, 2, 3)) - x203 += einsum(x6, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x6 - l2new_abab += einsum(x203, (0, 1, 2, 3), x33, (4, 5, 0, 2), (3, 5, 1, 4)) * -1.0 - del x203 - x204 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x204 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x204 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - l2new_abab += einsum(x204, (0, 1, 2, 3), x33, (4, 5, 0, 1), (3, 5, 2, 4)) * -1.0 - del x204 - x205 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x205 += einsum(x63, (0, 1), (0, 1)) * 2.0 - x205 += einsum(x64, (0, 1), (0, 1)) - l2new_abab += einsum(x205, (0, 1), v.aabb.ovov, (2, 3, 4, 1), (3, 0, 2, 4)) * -1.0 - del x205 - x206 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x206 += einsum(l1.bb, (0, 1), v.bbbb.ovvv, (2, 3, 4, 0), (1, 2, 3, 4)) - x207 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x207 += einsum(v.aabb.ooov, (0, 1, 2, 3), x33, (4, 5, 0, 1), (4, 2, 5, 3)) - x208 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x208 += einsum(x33, (0, 1, 2, 3), x5, (4, 5, 2, 3), (0, 4, 1, 5)) - del x5, x33 - x209 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x209 += einsum(t2.bbbb, (0, 1, 2, 3), x189, (1, 4, 3, 5), (4, 0, 5, 2)) * 2.0 - del x189 - x210 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x210 += einsum(t1.bb, (0, 1), x190, (2, 3, 1, 4), (2, 0, 3, 4)) - del x190 - x211 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x211 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x211 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x211 += einsum(x188, (0, 1, 2, 3), (0, 1, 2, 3)) - del x188 - x211 += einsum(x209, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x209 - x211 += einsum(x210, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x210 - x212 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x212 += einsum(l2.bbbb, (0, 1, 2, 3), x211, (3, 4, 1, 5), (4, 2, 5, 0)) * 2.0 - del x211 - x213 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x213 += einsum(t2.abab, (0, 1, 2, 3), x98, (1, 4, 5, 3), (4, 5, 0, 2)) - del x98 - x214 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x214 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) - x214 += einsum(x101, (0, 1, 2, 3), (0, 1, 2, 3)) - del x101 - x214 += einsum(x192, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x192 - x214 += einsum(x213, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x213 - x215 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x215 += einsum(l2.abab, (0, 1, 2, 3), x214, (4, 5, 2, 0), (4, 3, 5, 1)) - del x214 - x216 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x216 += einsum(x95, (0, 1, 2, 3), (0, 1, 2, 3)) - x216 += einsum(x95, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x217 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x217 += einsum(x216, (0, 1, 2, 3), x68, (0, 4, 2, 5), (1, 4, 3, 5)) * 2.0 - del x216 - x218 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x218 += einsum(x201, (0, 1, 2, 3), x68, (0, 4, 1, 5), (2, 4, 3, 5)) * 2.0 - del x201 - x219 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x219 += einsum(x63, (0, 1), (0, 1)) - del x63 - x219 += einsum(x64, (0, 1), (0, 1)) * 0.5 - del x64 - x220 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x220 += einsum(x219, (0, 1), v.bbbb.ovov, (2, 1, 3, 4), (2, 3, 0, 4)) * 2.0 - del x219 - x221 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x221 += einsum(x74, (0, 1), v.bbbb.ovov, (2, 3, 1, 4), (2, 0, 4, 3)) - del x74 - x222 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x222 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x222 += einsum(x95, (0, 1, 2, 3), (0, 1, 2, 3)) - del x95 - x223 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x223 += einsum(l1.bb, (0, 1), x222, (1, 2, 3, 4), (2, 3, 4, 0)) - del x222 - x224 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x224 += einsum(f.bb.ov, (0, 1), l1.bb, (2, 3), (0, 3, 1, 2)) - x224 += einsum(x206, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x206 - x224 += einsum(x207, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x207 - x224 += einsum(x208, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x208 - x224 += einsum(x212, (0, 1, 2, 3), (1, 0, 3, 2)) - del x212 - x224 += einsum(x215, (0, 1, 2, 3), (1, 0, 3, 2)) - del x215 - x224 += einsum(x217, (0, 1, 2, 3), (1, 0, 3, 2)) - del x217 - x224 += einsum(x218, (0, 1, 2, 3), (1, 0, 3, 2)) - del x218 - x224 += einsum(x220, (0, 1, 2, 3), (1, 0, 2, 3)) - del x220 - x224 += einsum(x221, (0, 1, 2, 3), (1, 0, 3, 2)) - del x221 - x224 += einsum(x223, (0, 1, 2, 3), (0, 1, 3, 2)) - del x223 - x224 += einsum(l1.bb, (0, 1), x143, (2, 3), (1, 2, 0, 3)) - l2new_bbbb += einsum(x224, (0, 1, 2, 3), (2, 3, 0, 1)) - l2new_bbbb += einsum(x224, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - l2new_bbbb += einsum(x224, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 - l2new_bbbb += einsum(x224, (0, 1, 2, 3), (3, 2, 1, 0)) - del x224 - x225 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x225 += einsum(f.bb.ov, (0, 1), t1.bb, (2, 1), (0, 2)) - x226 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x226 += einsum(x225, (0, 1), l2.bbbb, (2, 3, 4, 1), (0, 4, 2, 3)) - del x225 - x227 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x227 += einsum(l2.bbbb, (0, 1, 2, 3), x109, (2, 3, 4, 5), (4, 5, 0, 1)) - del x109 - x228 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x228 += einsum(t1.bb, (0, 1), x143, (2, 1), (2, 0)) - x229 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x229 += einsum(x136, (0, 1), (1, 0)) - del x136 - x229 += einsum(x137, (0, 1), (0, 1)) * 2.0 - del x137 - x229 += einsum(x138, (0, 1), (0, 1)) - del x138 - x229 += einsum(x140, (0, 1), (1, 0)) * -1.0 - del x140 - x229 += einsum(x228, (0, 1), (1, 0)) - del x228 - x230 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x230 += einsum(x229, (0, 1), l2.bbbb, (2, 3, 4, 0), (1, 4, 2, 3)) * -2.0 - del x229 - x231 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x231 += einsum(x226, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - del x226 - x231 += einsum(x227, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - del x227 - x231 += einsum(x230, (0, 1, 2, 3), (1, 0, 3, 2)) - del x230 - l2new_bbbb += einsum(x231, (0, 1, 2, 3), (3, 2, 0, 1)) - l2new_bbbb += einsum(x231, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 - del x231 - x232 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x232 += einsum(f.bb.vv, (0, 1), l2.bbbb, (2, 1, 3, 4), (3, 4, 0, 2)) - x233 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x233 += einsum(f.bb.ov, (0, 1), x68, (2, 3, 0, 4), (2, 3, 1, 4)) - x234 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x234 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), x68, (4, 5, 0, 3), (5, 4, 1, 2)) - x235 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x235 += einsum(t1.bb, (0, 1), x124, (0, 1, 2, 3), (2, 3)) - del x124 - x236 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x236 += einsum(x133, (0, 1), (1, 0)) * -1.0 - del x133 - x236 += einsum(x198, (0, 1), (1, 0)) * 2.0 - del x198 - x236 += einsum(x199, (0, 1), (1, 0)) - del x199 - x236 += einsum(x235, (0, 1), (1, 0)) * -1.0 - del x235 - x237 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x237 += einsum(x236, (0, 1), l2.bbbb, (2, 1, 3, 4), (3, 4, 0, 2)) * -2.0 - del x236 - x238 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x238 += einsum(x143, (0, 1), x68, (2, 3, 0, 4), (2, 3, 1, 4)) * 2.0 - del x68, x143 - x239 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x239 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x239 += einsum(x232, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - del x232 - x239 += einsum(x233, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - del x233 - x239 += einsum(x234, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - del x234 - x239 += einsum(x237, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x237 - x239 += einsum(x238, (0, 1, 2, 3), (1, 0, 2, 3)) - del x238 - l2new_bbbb += einsum(x239, (0, 1, 2, 3), (3, 2, 0, 1)) - l2new_bbbb += einsum(x239, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 - del x239 - x240 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x240 += einsum(f.bb.oo, (0, 1), l2.bbbb, (2, 3, 4, 1), (0, 4, 2, 3)) - l2new_bbbb += einsum(x240, (0, 1, 2, 3), (3, 2, 0, 1)) * -2.0 - l2new_bbbb += einsum(x240, (0, 1, 2, 3), (3, 2, 1, 0)) * 2.0 - del x240 - x241 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x241 += einsum(v.bbbb.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x241 += einsum(x107, (0, 1, 2, 3), (1, 3, 0, 2)) * -1.0 - del x107 - x241 += einsum(x108, (0, 1, 2, 3), (0, 3, 1, 2)) - del x108 - l2new_bbbb += einsum(l2.bbbb, (0, 1, 2, 3), x241, (2, 4, 3, 5), (0, 1, 4, 5)) * -2.0 - del x241 - x242 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x242 += einsum(x125, (0, 1, 2, 3), (1, 0, 3, 2)) - del x125 - x242 += einsum(x120, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x120 - l2new_bbbb += einsum(v.bbbb.ovov, (0, 1, 2, 3), x242, (4, 5, 0, 2), (3, 1, 5, 4)) * 2.0 - del x242 - - l1new.aa = l1new_aa - l1new.bb = l1new_bb - l2new.aaaa = l2new_aaaa - l2new.abab = l2new_abab - l2new.bbbb = l2new_bbbb - - return {"l1new": l1new, "l2new": l2new} - -def make_rdm1_f(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, l1=None, l2=None, **kwargs): - rdm1_f = Namespace() - - delta = Namespace(aa=Namespace(), bb=Namespace()) - delta.aa = Namespace(oo=np.eye(nocc[0]), vv=np.eye(nvir[0])) - delta.bb = Namespace(oo=np.eye(nocc[1]), vv=np.eye(nvir[1])) - - # RDM1 - rdm1_f_aa_oo = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - rdm1_f_aa_oo += einsum(delta.aa.oo, (0, 1), (0, 1)) - rdm1_f_bb_oo = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - rdm1_f_bb_oo += einsum(delta.bb.oo, (0, 1), (0, 1)) - rdm1_f_aa_ov = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - rdm1_f_aa_ov += einsum(t1.aa, (0, 1), (0, 1)) - rdm1_f_aa_ov += einsum(l1.aa, (0, 1), t2.aaaa, (2, 1, 3, 0), (2, 3)) * 2.0 - rdm1_f_aa_ov += einsum(l1.bb, (0, 1), t2.abab, (2, 1, 3, 0), (2, 3)) - rdm1_f_bb_ov = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - rdm1_f_bb_ov += einsum(l1.bb, (0, 1), t2.bbbb, (2, 1, 3, 0), (2, 3)) * 2.0 - rdm1_f_bb_ov += einsum(l1.aa, (0, 1), t2.abab, (1, 2, 0, 3), (2, 3)) - rdm1_f_bb_ov += einsum(t1.bb, (0, 1), (0, 1)) - rdm1_f_aa_vo = np.zeros((nvir[0], nocc[0]), dtype=types[float]) - rdm1_f_aa_vo += einsum(l1.aa, (0, 1), (0, 1)) - rdm1_f_bb_vo = np.zeros((nvir[1], nocc[1]), dtype=types[float]) - rdm1_f_bb_vo += einsum(l1.bb, (0, 1), (0, 1)) - rdm1_f_aa_vv = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - rdm1_f_aa_vv += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (2, 3, 4, 1), (0, 4)) * 2.0 - rdm1_f_aa_vv += einsum(l1.aa, (0, 1), t1.aa, (1, 2), (0, 2)) - rdm1_f_aa_vv += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 4, 1), (0, 4)) - rdm1_f_bb_vv = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - rdm1_f_bb_vv += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 0, 4), (1, 4)) - rdm1_f_bb_vv += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (2, 3, 4, 1), (0, 4)) * 2.0 - rdm1_f_bb_vv += einsum(l1.bb, (0, 1), t1.bb, (1, 2), (0, 2)) - x0 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x0 += einsum(l1.aa, (0, 1), t1.aa, (2, 0), (1, 2)) - rdm1_f_aa_oo += einsum(x0, (0, 1), (1, 0)) * -1.0 - x1 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x1 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 0, 1), (2, 4)) - rdm1_f_aa_oo += einsum(x1, (0, 1), (1, 0)) * -1.0 - x2 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x2 += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 3, 0, 1), (2, 4)) - rdm1_f_aa_oo += einsum(x2, (0, 1), (1, 0)) * -2.0 - x3 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x3 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 1), (3, 4)) - rdm1_f_bb_oo += einsum(x3, (0, 1), (1, 0)) * -1.0 - x4 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x4 += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 3, 0, 1), (2, 4)) - rdm1_f_bb_oo += einsum(x4, (0, 1), (1, 0)) * -2.0 - x5 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x5 += einsum(l1.bb, (0, 1), t1.bb, (2, 0), (1, 2)) - rdm1_f_bb_oo += einsum(x5, (0, 1), (1, 0)) * -1.0 - x6 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x6 += einsum(t1.aa, (0, 1), l2.abab, (1, 2, 3, 4), (4, 2, 3, 0)) - rdm1_f_aa_ov += einsum(t2.abab, (0, 1, 2, 3), x6, (1, 3, 0, 4), (4, 2)) * -1.0 - del x6 - x7 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x7 += einsum(t1.aa, (0, 1), l2.aaaa, (2, 1, 3, 4), (3, 4, 0, 2)) - rdm1_f_aa_ov += einsum(t2.aaaa, (0, 1, 2, 3), x7, (1, 0, 4, 3), (4, 2)) * -2.0 - del x7 - x8 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x8 += einsum(x0, (0, 1), (0, 1)) * 0.5 - del x0 - x8 += einsum(x1, (0, 1), (0, 1)) * 0.5 - del x1 - x8 += einsum(x2, (0, 1), (0, 1)) - del x2 - rdm1_f_aa_ov += einsum(t1.aa, (0, 1), x8, (0, 2), (2, 1)) * -2.0 - del x8 - x9 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x9 += einsum(t1.bb, (0, 1), l2.bbbb, (2, 1, 3, 4), (3, 4, 0, 2)) - rdm1_f_bb_ov += einsum(t2.bbbb, (0, 1, 2, 3), x9, (1, 0, 4, 3), (4, 2)) * -2.0 - del x9 - x10 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x10 += einsum(t1.bb, (0, 1), l2.abab, (2, 1, 3, 4), (4, 0, 3, 2)) - rdm1_f_bb_ov += einsum(t2.abab, (0, 1, 2, 3), x10, (1, 4, 0, 2), (4, 3)) * -1.0 - del x10 - x11 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x11 += einsum(x5, (0, 1), (0, 1)) - del x5 - x11 += einsum(x4, (0, 1), (0, 1)) * 2.0 - del x4 - x11 += einsum(x3, (0, 1), (0, 1)) - del x3 - rdm1_f_bb_ov += einsum(t1.bb, (0, 1), x11, (0, 2), (2, 1)) * -1.0 - del x11 - - rdm1_f_aa = np.block([[rdm1_f_aa_oo, rdm1_f_aa_ov], [rdm1_f_aa_vo, rdm1_f_aa_vv]]) - rdm1_f_bb = np.block([[rdm1_f_bb_oo, rdm1_f_bb_ov], [rdm1_f_bb_vo, rdm1_f_bb_vv]]) - - rdm1_f.aa = rdm1_f_aa - rdm1_f.bb = rdm1_f_bb - - return rdm1_f - -def make_rdm2_f(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, l1=None, l2=None, **kwargs): - rdm2_f = Namespace() - - delta = Namespace(aa=Namespace(), bb=Namespace()) - delta.aa = Namespace(oo=np.eye(nocc[0]), vv=np.eye(nvir[0])) - delta.bb = Namespace(oo=np.eye(nocc[1]), vv=np.eye(nvir[1])) - - # RDM2 - rdm2_f_aaaa_oooo = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - rdm2_f_aaaa_oooo += einsum(delta.aa.oo, (0, 1), delta.aa.oo, (2, 3), (0, 2, 1, 3)) - rdm2_f_aaaa_oooo += einsum(delta.aa.oo, (0, 1), delta.aa.oo, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_bbbb_oooo = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - rdm2_f_bbbb_oooo += einsum(delta.bb.oo, (0, 1), delta.bb.oo, (2, 3), (0, 2, 1, 3)) - rdm2_f_bbbb_oooo += einsum(delta.bb.oo, (0, 1), delta.bb.oo, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_aaaa_ovoo = np.zeros((nocc[0], nvir[0], nocc[0], nocc[0]), dtype=types[float]) - rdm2_f_aaaa_ovoo += einsum(delta.aa.oo, (0, 1), l1.aa, (2, 3), (0, 2, 1, 3)) - rdm2_f_aaaa_ovoo += einsum(delta.aa.oo, (0, 1), l1.aa, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_abab_ovoo = np.zeros((nocc[0], nvir[1], nocc[0], nocc[1]), dtype=types[float]) - rdm2_f_abab_ovoo += einsum(delta.aa.oo, (0, 1), l1.bb, (2, 3), (0, 2, 1, 3)) - rdm2_f_bbbb_ovoo = np.zeros((nocc[1], nvir[1], nocc[1], nocc[1]), dtype=types[float]) - rdm2_f_bbbb_ovoo += einsum(delta.bb.oo, (0, 1), l1.bb, (2, 3), (0, 2, 1, 3)) - rdm2_f_bbbb_ovoo += einsum(delta.bb.oo, (0, 1), l1.bb, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_aaaa_vooo = np.zeros((nvir[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - rdm2_f_aaaa_vooo += einsum(delta.aa.oo, (0, 1), l1.aa, (2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_aaaa_vooo += einsum(delta.aa.oo, (0, 1), l1.aa, (2, 3), (2, 0, 3, 1)) - rdm2_f_abab_vooo = np.zeros((nvir[0], nocc[1], nocc[0], nocc[1]), dtype=types[float]) - rdm2_f_abab_vooo += einsum(delta.bb.oo, (0, 1), l1.aa, (2, 3), (2, 0, 3, 1)) - rdm2_f_bbbb_vooo = np.zeros((nvir[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - rdm2_f_bbbb_vooo += einsum(delta.bb.oo, (0, 1), l1.bb, (2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_bbbb_vooo += einsum(delta.bb.oo, (0, 1), l1.bb, (2, 3), (2, 0, 3, 1)) - rdm2_f_aaaa_oovv = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - rdm2_f_aaaa_oovv += einsum(t2.aaaa, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - rdm2_f_abab_oovv = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - rdm2_f_abab_oovv += einsum(t2.abab, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_bbbb_oovv = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - rdm2_f_bbbb_oovv += einsum(t2.bbbb, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - rdm2_f_bbbb_oovv += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_bbbb_oovv += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3)) - rdm2_f_aaaa_ovov = np.zeros((nocc[0], nvir[0], nocc[0], nvir[0]), dtype=types[float]) - rdm2_f_aaaa_ovov += einsum(l1.aa, (0, 1), t1.aa, (2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_bbbb_ovov = np.zeros((nocc[1], nvir[1], nocc[1], nvir[1]), dtype=types[float]) - rdm2_f_bbbb_ovov += einsum(l1.bb, (0, 1), t1.bb, (2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_aaaa_ovvo = np.zeros((nocc[0], nvir[0], nvir[0], nocc[0]), dtype=types[float]) - rdm2_f_aaaa_ovvo += einsum(l1.aa, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1)) - rdm2_f_abab_ovvo = np.zeros((nocc[0], nvir[1], nvir[0], nocc[1]), dtype=types[float]) - rdm2_f_abab_ovvo += einsum(l1.bb, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1)) - rdm2_f_bbbb_ovvo = np.zeros((nocc[1], nvir[1], nvir[1], nocc[1]), dtype=types[float]) - rdm2_f_bbbb_ovvo += einsum(l1.bb, (0, 1), t1.bb, (2, 3), (2, 0, 3, 1)) - rdm2_f_aaaa_voov = np.zeros((nvir[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - rdm2_f_aaaa_voov += einsum(l1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 1, 3)) - rdm2_f_abab_voov = np.zeros((nvir[0], nocc[1], nocc[0], nvir[1]), dtype=types[float]) - rdm2_f_abab_voov += einsum(l1.aa, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3)) - rdm2_f_bbbb_voov = np.zeros((nvir[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - rdm2_f_bbbb_voov += einsum(l1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3)) - rdm2_f_aaaa_vovo = np.zeros((nvir[0], nocc[0], nvir[0], nocc[0]), dtype=types[float]) - rdm2_f_aaaa_vovo += einsum(l1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_bbbb_vovo = np.zeros((nvir[1], nocc[1], nvir[1], nocc[1]), dtype=types[float]) - rdm2_f_bbbb_vovo += einsum(l1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_aaaa_vvoo = np.zeros((nvir[0], nvir[0], nocc[0], nocc[0]), dtype=types[float]) - rdm2_f_aaaa_vvoo += einsum(l2.aaaa, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - rdm2_f_abab_vvoo = np.zeros((nvir[0], nvir[1], nocc[0], nocc[1]), dtype=types[float]) - rdm2_f_abab_vvoo += einsum(l2.abab, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_bbbb_vvoo = np.zeros((nvir[1], nvir[1], nocc[1], nocc[1]), dtype=types[float]) - rdm2_f_bbbb_vvoo += einsum(l2.bbbb, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - rdm2_f_abab_ovvv = np.zeros((nocc[0], nvir[1], nvir[0], nvir[1]), dtype=types[float]) - rdm2_f_abab_ovvv += einsum(l1.bb, (0, 1), t2.abab, (2, 1, 3, 4), (2, 0, 3, 4)) - rdm2_f_abab_vovv = np.zeros((nvir[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - rdm2_f_abab_vovv += einsum(l1.aa, (0, 1), t2.abab, (1, 2, 3, 4), (0, 2, 3, 4)) - rdm2_f_abab_vvov = np.zeros((nvir[0], nvir[1], nocc[0], nvir[1]), dtype=types[float]) - rdm2_f_abab_vvov += einsum(t1.bb, (0, 1), l2.abab, (2, 3, 4, 0), (2, 3, 4, 1)) - rdm2_f_aaaa_vvvv = np.zeros((nvir[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - rdm2_f_aaaa_vvvv += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (2, 3, 4, 5), (0, 1, 4, 5)) * 2.0 - rdm2_f_abab_vvvv = np.zeros((nvir[0], nvir[1], nvir[0], nvir[1]), dtype=types[float]) - rdm2_f_abab_vvvv += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 4, 5), (0, 1, 4, 5)) - rdm2_f_bbbb_vvvv = np.zeros((nvir[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - rdm2_f_bbbb_vvvv += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (2, 3, 4, 5), (0, 1, 4, 5)) * 2.0 - x0 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x0 += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 5, 0, 1), (2, 3, 4, 5)) - rdm2_f_aaaa_oooo += einsum(x0, (0, 1, 2, 3), (3, 2, 1, 0)) * 2.0 - x1 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x1 += einsum(t1.aa, (0, 1), l2.aaaa, (2, 1, 3, 4), (3, 4, 0, 2)) - rdm2_f_aaaa_ovoo += einsum(x1, (0, 1, 2, 3), (2, 3, 1, 0)) * -2.0 - rdm2_f_aaaa_vooo += einsum(x1, (0, 1, 2, 3), (3, 2, 1, 0)) * 2.0 - x2 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x2 += einsum(t1.aa, (0, 1), x1, (2, 3, 4, 1), (2, 3, 0, 4)) - rdm2_f_aaaa_oooo += einsum(x2, (0, 1, 2, 3), (2, 3, 1, 0)) * -2.0 - x3 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x3 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 0, 1), (2, 4)) - x4 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x4 += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 3, 0, 1), (2, 4)) - x5 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x5 += einsum(x3, (0, 1), (0, 1)) - x5 += einsum(x4, (0, 1), (0, 1)) * 2.0 - rdm2_f_aaaa_oooo += einsum(delta.aa.oo, (0, 1), x5, (2, 3), (0, 3, 1, 2)) * -1.0 - rdm2_f_aaaa_oooo += einsum(delta.aa.oo, (0, 1), x5, (2, 3), (0, 3, 2, 1)) - rdm2_f_aaaa_oooo += einsum(delta.aa.oo, (0, 1), x5, (2, 3), (3, 0, 1, 2)) - rdm2_f_aaaa_oooo += einsum(delta.aa.oo, (0, 1), x5, (2, 3), (3, 0, 2, 1)) * -1.0 - x6 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x6 += einsum(l1.aa, (0, 1), t1.aa, (2, 0), (1, 2)) - rdm2_f_aaaa_oooo += einsum(delta.aa.oo, (0, 1), x6, (2, 3), (0, 3, 1, 2)) * -1.0 - rdm2_f_aaaa_oooo += einsum(delta.aa.oo, (0, 1), x6, (2, 3), (3, 0, 1, 2)) - rdm2_f_aaaa_oooo += einsum(delta.aa.oo, (0, 1), x6, (2, 3), (0, 3, 2, 1)) - rdm2_f_aaaa_oooo += einsum(delta.aa.oo, (0, 1), x6, (2, 3), (3, 0, 2, 1)) * -1.0 - x7 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x7 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 5, 0, 1), (3, 5, 2, 4)) - rdm2_f_abab_oooo = np.zeros((nocc[0], nocc[1], nocc[0], nocc[1]), dtype=types[float]) - rdm2_f_abab_oooo += einsum(x7, (0, 1, 2, 3), (3, 1, 2, 0)) - x8 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x8 += einsum(t1.aa, (0, 1), l2.abab, (1, 2, 3, 4), (4, 2, 3, 0)) - rdm2_f_abab_ovoo += einsum(x8, (0, 1, 2, 3), (3, 1, 2, 0)) * -1.0 - rdm2_f_abab_ovov = np.zeros((nocc[0], nvir[1], nocc[0], nvir[1]), dtype=types[float]) - rdm2_f_abab_ovov += einsum(t1.bb, (0, 1), x8, (0, 2, 3, 4), (4, 2, 3, 1)) * -1.0 - rdm2_f_abab_ovvv += einsum(t2.abab, (0, 1, 2, 3), x8, (1, 4, 0, 5), (5, 4, 2, 3)) * -1.0 - x9 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x9 += einsum(t1.bb, (0, 1), x8, (2, 1, 3, 4), (2, 0, 3, 4)) - rdm2_f_abab_oooo += einsum(x9, (0, 1, 2, 3), (3, 1, 2, 0)) - x10 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x10 += einsum(delta.aa.oo, (0, 1), (0, 1)) * -1.0 - x10 += einsum(x6, (0, 1), (0, 1)) - x10 += einsum(x3, (0, 1), (0, 1)) - x10 += einsum(x4, (0, 1), (0, 1)) * 2.0 - rdm2_f_abab_oooo += einsum(delta.bb.oo, (0, 1), x10, (2, 3), (3, 0, 2, 1)) * -1.0 - del x10 - x11 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x11 += einsum(l1.bb, (0, 1), t1.bb, (2, 0), (1, 2)) - rdm2_f_bbbb_oooo += einsum(delta.bb.oo, (0, 1), x11, (2, 3), (0, 3, 1, 2)) * -1.0 - rdm2_f_bbbb_oooo += einsum(delta.bb.oo, (0, 1), x11, (2, 3), (3, 0, 1, 2)) - rdm2_f_bbbb_oooo += einsum(delta.bb.oo, (0, 1), x11, (2, 3), (0, 3, 2, 1)) - rdm2_f_bbbb_oooo += einsum(delta.bb.oo, (0, 1), x11, (2, 3), (3, 0, 2, 1)) * -1.0 - x12 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x12 += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 3, 0, 1), (2, 4)) - x13 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x13 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 1), (3, 4)) - x14 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x14 += einsum(x11, (0, 1), (0, 1)) - x14 += einsum(x12, (0, 1), (0, 1)) * 2.0 - x14 += einsum(x13, (0, 1), (0, 1)) - rdm2_f_abab_oooo += einsum(delta.aa.oo, (0, 1), x14, (2, 3), (0, 3, 1, 2)) * -1.0 - rdm2_f_abab_oovo = np.zeros((nocc[0], nocc[1], nvir[0], nocc[1]), dtype=types[float]) - rdm2_f_abab_oovo += einsum(t1.aa, (0, 1), x14, (2, 3), (0, 3, 1, 2)) * -1.0 - x15 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x15 += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 5, 0, 1), (2, 3, 4, 5)) - rdm2_f_bbbb_oooo += einsum(x15, (0, 1, 2, 3), (3, 2, 1, 0)) * 2.0 - x16 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x16 += einsum(t1.bb, (0, 1), l2.bbbb, (2, 1, 3, 4), (3, 4, 0, 2)) - rdm2_f_bbbb_ovoo += einsum(x16, (0, 1, 2, 3), (2, 3, 1, 0)) * -2.0 - rdm2_f_bbbb_vooo += einsum(x16, (0, 1, 2, 3), (3, 2, 1, 0)) * 2.0 - x17 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x17 += einsum(t1.bb, (0, 1), x16, (2, 3, 4, 1), (2, 3, 0, 4)) - rdm2_f_bbbb_oooo += einsum(x17, (0, 1, 2, 3), (2, 3, 1, 0)) * -2.0 - x18 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x18 += einsum(x12, (0, 1), (0, 1)) - x18 += einsum(x13, (0, 1), (0, 1)) * 0.5 - rdm2_f_bbbb_oooo += einsum(delta.bb.oo, (0, 1), x18, (2, 3), (0, 3, 1, 2)) * -2.0 - rdm2_f_bbbb_oooo += einsum(delta.bb.oo, (0, 1), x18, (2, 3), (0, 3, 2, 1)) * 2.0 - rdm2_f_bbbb_oooo += einsum(delta.bb.oo, (0, 1), x18, (2, 3), (3, 0, 1, 2)) * 2.0 - rdm2_f_bbbb_oooo += einsum(delta.bb.oo, (0, 1), x18, (2, 3), (3, 0, 2, 1)) * -2.0 - x19 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x19 += einsum(l1.aa, (0, 1), t2.aaaa, (2, 3, 4, 0), (1, 2, 3, 4)) - rdm2_f_aaaa_ooov = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - rdm2_f_aaaa_ooov += einsum(x19, (0, 1, 2, 3), (2, 1, 0, 3)) * -2.0 - rdm2_f_aaaa_oovo = np.zeros((nocc[0], nocc[0], nvir[0], nocc[0]), dtype=types[float]) - rdm2_f_aaaa_oovo += einsum(x19, (0, 1, 2, 3), (2, 1, 3, 0)) * 2.0 - x20 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x20 += einsum(t2.abab, (0, 1, 2, 3), x8, (1, 3, 4, 5), (4, 5, 0, 2)) - x21 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x21 += einsum(t2.aaaa, (0, 1, 2, 3), x1, (4, 1, 5, 3), (4, 5, 0, 2)) * -1.0 - x22 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x22 += einsum(x6, (0, 1), (0, 1)) * 0.5 - x22 += einsum(x3, (0, 1), (0, 1)) * 0.5 - x22 += einsum(x4, (0, 1), (0, 1)) - rdm2_f_abab_ooov = np.zeros((nocc[0], nocc[1], nocc[0], nvir[1]), dtype=types[float]) - rdm2_f_abab_ooov += einsum(t1.bb, (0, 1), x22, (2, 3), (3, 0, 2, 1)) * -2.0 - x23 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x23 += einsum(delta.aa.oo, (0, 1), t1.aa, (2, 3), (0, 1, 2, 3)) - x23 += einsum(x20, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x23 += einsum(x21, (0, 1, 2, 3), (1, 0, 2, 3)) * -4.0 - x23 += einsum(t1.aa, (0, 1), x22, (2, 3), (0, 2, 3, 1)) * 2.0 - rdm2_f_aaaa_ooov += einsum(x23, (0, 1, 2, 3), (0, 2, 1, 3)) - rdm2_f_aaaa_ooov += einsum(x23, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_aaaa_oovo += einsum(x23, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_aaaa_oovo += einsum(x23, (0, 1, 2, 3), (2, 0, 3, 1)) - del x23 - x24 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x24 += einsum(l1.bb, (0, 1), t2.abab, (2, 1, 3, 0), (2, 3)) - x25 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x25 += einsum(l1.aa, (0, 1), t2.aaaa, (2, 1, 3, 0), (2, 3)) - x26 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x26 += einsum(t2.abab, (0, 1, 2, 3), x8, (1, 3, 0, 4), (4, 2)) - x27 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x27 += einsum(t2.aaaa, (0, 1, 2, 3), x1, (0, 1, 4, 3), (4, 2)) * -1.0 - x28 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x28 += einsum(t1.aa, (0, 1), x22, (0, 2), (2, 1)) * 2.0 - x29 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x29 += einsum(x24, (0, 1), (0, 1)) * -1.0 - x29 += einsum(x25, (0, 1), (0, 1)) * -2.0 - x29 += einsum(x26, (0, 1), (0, 1)) - x29 += einsum(x27, (0, 1), (0, 1)) * 2.0 - x29 += einsum(x28, (0, 1), (0, 1)) - del x28 - rdm2_f_aaaa_ooov += einsum(delta.aa.oo, (0, 1), x29, (2, 3), (0, 2, 1, 3)) * -1.0 - rdm2_f_aaaa_ooov += einsum(delta.aa.oo, (0, 1), x29, (2, 3), (2, 0, 1, 3)) - rdm2_f_aaaa_oovo += einsum(delta.aa.oo, (0, 1), x29, (2, 3), (0, 2, 3, 1)) - rdm2_f_aaaa_oovo += einsum(delta.aa.oo, (0, 1), x29, (2, 3), (2, 0, 3, 1)) * -1.0 - x30 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x30 += einsum(x0, (0, 1, 2, 3), (1, 0, 3, 2)) - del x0 - x30 += einsum(x2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x2 - rdm2_f_aaaa_oovv += einsum(t2.aaaa, (0, 1, 2, 3), x30, (0, 1, 4, 5), (5, 4, 2, 3)) * -2.0 - x31 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x31 += einsum(t1.aa, (0, 1), x30, (0, 2, 3, 4), (2, 3, 4, 1)) * 2.0 - rdm2_f_aaaa_ooov += einsum(x31, (0, 1, 2, 3), (2, 1, 0, 3)) - rdm2_f_aaaa_oovo += einsum(x31, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - del x31 - x32 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x32 += einsum(l1.aa, (0, 1), t2.abab, (2, 3, 0, 4), (3, 4, 1, 2)) - rdm2_f_abab_ooov += einsum(x32, (0, 1, 2, 3), (3, 0, 2, 1)) * -1.0 - x33 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x33 += einsum(t1.bb, (0, 1), l2.abab, (2, 1, 3, 4), (4, 0, 3, 2)) - rdm2_f_abab_vooo += einsum(x33, (0, 1, 2, 3), (3, 1, 2, 0)) * -1.0 - rdm2_f_abab_vovo = np.zeros((nvir[0], nocc[1], nvir[0], nocc[1]), dtype=types[float]) - rdm2_f_abab_vovo += einsum(t1.aa, (0, 1), x33, (2, 3, 0, 4), (4, 3, 1, 2)) * -1.0 - rdm2_f_abab_vovv += einsum(t2.abab, (0, 1, 2, 3), x33, (1, 4, 0, 5), (5, 4, 2, 3)) * -1.0 - x34 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x34 += einsum(t2.abab, (0, 1, 2, 3), x33, (1, 4, 5, 2), (4, 3, 5, 0)) - rdm2_f_abab_ooov += einsum(x34, (0, 1, 2, 3), (3, 0, 2, 1)) - x35 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x35 += einsum(t2.bbbb, (0, 1, 2, 3), x8, (1, 3, 4, 5), (0, 2, 4, 5)) - rdm2_f_abab_ooov += einsum(x35, (0, 1, 2, 3), (3, 0, 2, 1)) * -2.0 - x36 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x36 += einsum(t2.abab, (0, 1, 2, 3), x1, (4, 0, 5, 2), (1, 3, 4, 5)) * -1.0 - rdm2_f_abab_ooov += einsum(x36, (0, 1, 2, 3), (3, 0, 2, 1)) * -2.0 - x37 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x37 += einsum(x7, (0, 1, 2, 3), (0, 1, 2, 3)) - del x7 - x37 += einsum(x9, (0, 1, 2, 3), (0, 1, 2, 3)) - del x9 - rdm2_f_abab_ooov += einsum(t1.bb, (0, 1), x37, (0, 2, 3, 4), (4, 2, 3, 1)) - rdm2_f_abab_oovo += einsum(t1.aa, (0, 1), x37, (2, 3, 0, 4), (4, 3, 1, 2)) - rdm2_f_abab_oovv += einsum(t2.abab, (0, 1, 2, 3), x37, (1, 4, 0, 5), (5, 4, 2, 3)) - x38 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x38 += einsum(l1.bb, (0, 1), t2.bbbb, (2, 1, 3, 0), (2, 3)) - x39 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x39 += einsum(l1.aa, (0, 1), t2.abab, (1, 2, 0, 3), (2, 3)) - x40 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x40 += einsum(t2.bbbb, (0, 1, 2, 3), x16, (0, 1, 4, 3), (4, 2)) * -1.0 - x41 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x41 += einsum(t2.abab, (0, 1, 2, 3), x33, (1, 4, 0, 2), (4, 3)) - x42 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x42 += einsum(t1.bb, (0, 1), (0, 1)) * -1.0 - x42 += einsum(x38, (0, 1), (0, 1)) * -2.0 - x42 += einsum(x39, (0, 1), (0, 1)) * -1.0 - x42 += einsum(x40, (0, 1), (0, 1)) * 2.0 - x42 += einsum(x41, (0, 1), (0, 1)) - x42 += einsum(t1.bb, (0, 1), x14, (0, 2), (2, 1)) - rdm2_f_abab_ooov += einsum(delta.aa.oo, (0, 1), x42, (2, 3), (0, 2, 1, 3)) * -1.0 - del x42 - x43 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x43 += einsum(l1.bb, (0, 1), t2.bbbb, (2, 3, 4, 0), (1, 2, 3, 4)) - rdm2_f_bbbb_ooov = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - rdm2_f_bbbb_ooov += einsum(x43, (0, 1, 2, 3), (2, 1, 0, 3)) * -2.0 - rdm2_f_bbbb_oovo = np.zeros((nocc[1], nocc[1], nvir[1], nocc[1]), dtype=types[float]) - rdm2_f_bbbb_oovo += einsum(x43, (0, 1, 2, 3), (2, 1, 3, 0)) * 2.0 - x44 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x44 += einsum(t1.bb, (0, 1), x14, (0, 2), (2, 1)) * 0.5 - x45 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x45 += einsum(x38, (0, 1), (0, 1)) * -1.0 - del x38 - x45 += einsum(x39, (0, 1), (0, 1)) * -0.5 - del x39 - x45 += einsum(x40, (0, 1), (0, 1)) - del x40 - x45 += einsum(x41, (0, 1), (0, 1)) * 0.5 - del x41 - x45 += einsum(x44, (0, 1), (0, 1)) - del x44 - rdm2_f_bbbb_ooov += einsum(delta.bb.oo, (0, 1), x45, (2, 3), (0, 2, 1, 3)) * -2.0 - rdm2_f_bbbb_ooov += einsum(delta.bb.oo, (0, 1), x45, (2, 3), (2, 0, 1, 3)) * 2.0 - rdm2_f_bbbb_oovo += einsum(delta.bb.oo, (0, 1), x45, (2, 3), (0, 2, 3, 1)) * 2.0 - rdm2_f_bbbb_oovo += einsum(delta.bb.oo, (0, 1), x45, (2, 3), (2, 0, 3, 1)) * -2.0 - rdm2_f_abab_oovv += einsum(t1.aa, (0, 1), x45, (2, 3), (0, 2, 1, 3)) * -2.0 - x46 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x46 += einsum(t2.bbbb, (0, 1, 2, 3), x16, (4, 1, 5, 3), (4, 5, 0, 2)) * -1.0 - x47 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x47 += einsum(t2.abab, (0, 1, 2, 3), x33, (4, 5, 0, 2), (4, 5, 1, 3)) - x48 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x48 += einsum(delta.bb.oo, (0, 1), t1.bb, (2, 3), (0, 1, 2, 3)) - x48 += einsum(x46, (0, 1, 2, 3), (1, 0, 2, 3)) * -4.0 - x48 += einsum(x47, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x48 += einsum(t1.bb, (0, 1), x14, (2, 3), (0, 2, 3, 1)) - del x14 - rdm2_f_bbbb_ooov += einsum(x48, (0, 1, 2, 3), (0, 2, 1, 3)) - rdm2_f_bbbb_ooov += einsum(x48, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_bbbb_oovo += einsum(x48, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_bbbb_oovo += einsum(x48, (0, 1, 2, 3), (2, 0, 3, 1)) - del x48 - x49 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x49 += einsum(x15, (0, 1, 2, 3), (1, 0, 3, 2)) - del x15 - x49 += einsum(x17, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x17 - rdm2_f_bbbb_oovv += einsum(t2.bbbb, (0, 1, 2, 3), x49, (0, 1, 4, 5), (5, 4, 2, 3)) * -2.0 - x50 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x50 += einsum(t1.bb, (0, 1), x49, (0, 2, 3, 4), (2, 3, 4, 1)) * 2.0 - rdm2_f_bbbb_ooov += einsum(x50, (0, 1, 2, 3), (2, 1, 0, 3)) - rdm2_f_bbbb_oovo += einsum(x50, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - del x50 - x51 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x51 += einsum(t2.abab, (0, 1, 2, 3), x8, (4, 3, 0, 5), (4, 1, 5, 2)) - rdm2_f_abab_oovo += einsum(x51, (0, 1, 2, 3), (2, 1, 3, 0)) - x52 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x52 += einsum(t2.aaaa, (0, 1, 2, 3), x33, (4, 5, 1, 3), (4, 5, 0, 2)) - rdm2_f_abab_oovo += einsum(x52, (0, 1, 2, 3), (2, 1, 3, 0)) * -2.0 - x53 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x53 += einsum(l1.bb, (0, 1), t2.abab, (2, 3, 4, 0), (1, 3, 2, 4)) - rdm2_f_abab_oovo += einsum(x53, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - x54 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x54 += einsum(t2.abab, (0, 1, 2, 3), x16, (4, 1, 5, 3), (4, 5, 0, 2)) * -1.0 - rdm2_f_abab_oovo += einsum(x54, (0, 1, 2, 3), (2, 1, 3, 0)) * -2.0 - x55 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x55 += einsum(t1.aa, (0, 1), x22, (0, 2), (2, 1)) - del x22 - x56 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x56 += einsum(t1.aa, (0, 1), (0, 1)) * -0.5 - x56 += einsum(x24, (0, 1), (0, 1)) * -0.5 - del x24 - x56 += einsum(x25, (0, 1), (0, 1)) * -1.0 - del x25 - x56 += einsum(x26, (0, 1), (0, 1)) * 0.5 - del x26 - x56 += einsum(x27, (0, 1), (0, 1)) - del x27 - x56 += einsum(x55, (0, 1), (0, 1)) - del x55 - rdm2_f_abab_oovo += einsum(delta.bb.oo, (0, 1), x56, (2, 3), (2, 0, 3, 1)) * -2.0 - rdm2_f_abab_oovv += einsum(t1.bb, (0, 1), x56, (2, 3), (2, 0, 3, 1)) * -2.0 - del x56 - x57 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x57 += einsum(t1.aa, (0, 1), x19, (0, 2, 3, 4), (2, 3, 1, 4)) - del x19 - x58 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x58 += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 3, 5, 1), (2, 4, 0, 5)) - rdm2_f_aaaa_ovov += einsum(x58, (0, 1, 2, 3), (1, 2, 0, 3)) * -4.0 - rdm2_f_aaaa_ovvo += einsum(x58, (0, 1, 2, 3), (1, 2, 3, 0)) * 4.0 - rdm2_f_aaaa_voov += einsum(x58, (0, 1, 2, 3), (2, 1, 0, 3)) * 4.0 - rdm2_f_aaaa_vovo += einsum(x58, (0, 1, 2, 3), (2, 1, 3, 0)) * -4.0 - x59 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x59 += einsum(t2.aaaa, (0, 1, 2, 3), x58, (1, 4, 3, 5), (0, 4, 2, 5)) - x60 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x60 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 4, 1), (0, 4)) - x61 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x61 += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (2, 3, 4, 1), (0, 4)) - x62 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x62 += einsum(x60, (0, 1), (0, 1)) - x62 += einsum(x61, (0, 1), (0, 1)) * 2.0 - x63 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x63 += einsum(x62, (0, 1), t2.aaaa, (2, 3, 4, 0), (2, 3, 4, 1)) * -2.0 - del x62 - x64 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x64 += einsum(x57, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x57 - x64 += einsum(x59, (0, 1, 2, 3), (0, 1, 2, 3)) * 8.0 - del x59 - x64 += einsum(x63, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x63 - rdm2_f_aaaa_oovv += einsum(x64, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_aaaa_oovv += einsum(x64, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x64 - x65 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x65 += einsum(x6, (0, 1), t2.aaaa, (2, 0, 3, 4), (1, 2, 3, 4)) - x66 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x66 += einsum(x5, (0, 1), t2.aaaa, (2, 0, 3, 4), (2, 1, 3, 4)) * -2.0 - del x5 - x67 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x67 += einsum(x65, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - del x65 - x67 += einsum(x66, (0, 1, 2, 3), (0, 1, 3, 2)) - del x66 - rdm2_f_aaaa_oovv += einsum(x67, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - rdm2_f_aaaa_oovv += einsum(x67, (0, 1, 2, 3), (1, 0, 2, 3)) - del x67 - x68 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x68 += einsum(l2.abab, (0, 1, 2, 3), t2.aaaa, (4, 2, 5, 0), (3, 1, 4, 5)) - rdm2_f_abab_ovvo += einsum(x68, (0, 1, 2, 3), (2, 1, 3, 0)) * 2.0 - x69 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x69 += einsum(t2.abab, (0, 1, 2, 3), x68, (1, 3, 4, 5), (0, 4, 2, 5)) - x70 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x70 += einsum(x20, (0, 1, 2, 3), (0, 1, 2, 3)) - del x20 - x70 += einsum(x21, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.0 - del x21 - x71 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x71 += einsum(t1.aa, (0, 1), x70, (0, 2, 3, 4), (2, 3, 1, 4)) - del x70 - x72 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x72 += einsum(x69, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - del x69 - x72 += einsum(x71, (0, 1, 2, 3), (0, 1, 2, 3)) - del x71 - x72 += einsum(t1.aa, (0, 1), x29, (2, 3), (0, 2, 1, 3)) - del x29 - rdm2_f_aaaa_oovv += einsum(x72, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - rdm2_f_aaaa_oovv += einsum(x72, (0, 1, 2, 3), (0, 1, 3, 2)) - rdm2_f_aaaa_oovv += einsum(x72, (0, 1, 2, 3), (1, 0, 2, 3)) - rdm2_f_aaaa_oovv += einsum(x72, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x72 - x73 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x73 += einsum(l2.bbbb, (0, 1, 2, 3), t2.abab, (4, 3, 5, 1), (2, 0, 4, 5)) - rdm2_f_abab_ovvo += einsum(x73, (0, 1, 2, 3), (2, 1, 3, 0)) * 2.0 - x74 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x74 += einsum(t2.abab, (0, 1, 2, 3), x73, (1, 3, 4, 5), (4, 0, 5, 2)) - x75 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x75 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 1, 3)) - x75 += einsum(x74, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - del x74 - rdm2_f_aaaa_oovv += einsum(x75, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_aaaa_oovv += einsum(x75, (0, 1, 2, 3), (0, 1, 2, 3)) - del x75 - x76 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x76 += einsum(t1.aa, (0, 1), x30, (0, 2, 3, 4), (2, 4, 3, 1)) - del x30 - rdm2_f_aaaa_oovv += einsum(t1.aa, (0, 1), x76, (0, 2, 3, 4), (2, 3, 1, 4)) * 2.0 - del x76 - x77 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x77 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 5, 1), (3, 4, 0, 5)) - rdm2_f_abab_oovv += einsum(t2.abab, (0, 1, 2, 3), x77, (1, 4, 2, 5), (0, 4, 5, 3)) - rdm2_f_abab_vovo += einsum(x77, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - rdm2_f_abab_vovv += einsum(t1.bb, (0, 1), x77, (0, 2, 3, 4), (3, 2, 4, 1)) * -1.0 - del x77 - x78 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x78 += einsum(l2.abab, (0, 1, 2, 3), t2.bbbb, (4, 3, 5, 1), (4, 5, 2, 0)) - rdm2_f_abab_voov += einsum(x78, (0, 1, 2, 3), (3, 0, 2, 1)) * 2.0 - x79 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x79 += einsum(l2.aaaa, (0, 1, 2, 3), t2.abab, (3, 4, 1, 5), (4, 5, 2, 0)) - rdm2_f_abab_voov += einsum(x79, (0, 1, 2, 3), (3, 0, 2, 1)) * 2.0 - x80 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x80 += einsum(x78, (0, 1, 2, 3), (0, 1, 2, 3)) - x80 += einsum(x79, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_abab_oovv += einsum(t2.aaaa, (0, 1, 2, 3), x80, (4, 5, 1, 3), (0, 4, 2, 5)) * 4.0 - del x80 - x81 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x81 += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 3, 5, 1), (2, 4, 0, 5)) - rdm2_f_bbbb_ovov += einsum(x81, (0, 1, 2, 3), (1, 2, 0, 3)) * -4.0 - rdm2_f_bbbb_ovvo += einsum(x81, (0, 1, 2, 3), (1, 2, 3, 0)) * 4.0 - rdm2_f_bbbb_voov += einsum(x81, (0, 1, 2, 3), (2, 1, 0, 3)) * 4.0 - rdm2_f_bbbb_vovo += einsum(x81, (0, 1, 2, 3), (2, 1, 3, 0)) * -4.0 - x82 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x82 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 5), (3, 4, 1, 5)) - rdm2_f_bbbb_ovov += einsum(x82, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_bbbb_ovvo += einsum(x82, (0, 1, 2, 3), (1, 2, 3, 0)) - rdm2_f_bbbb_voov += einsum(x82, (0, 1, 2, 3), (2, 1, 0, 3)) - rdm2_f_bbbb_vovo += einsum(x82, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - x83 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x83 += einsum(x81, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.0 - x83 += einsum(x82, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_abab_oovv += einsum(t2.abab, (0, 1, 2, 3), x83, (1, 4, 3, 5), (0, 4, 2, 5)) - del x83 - x84 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x84 += einsum(x32, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - del x32 - x84 += einsum(x35, (0, 1, 2, 3), (0, 1, 2, 3)) - del x35 - x84 += einsum(x34, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - del x34 - x84 += einsum(x36, (0, 1, 2, 3), (0, 1, 2, 3)) - del x36 - x84 += einsum(t1.bb, (0, 1), x37, (0, 2, 3, 4), (2, 1, 3, 4)) * -0.5 - del x37 - rdm2_f_abab_oovv += einsum(t1.aa, (0, 1), x84, (2, 3, 0, 4), (4, 2, 1, 3)) * -2.0 - del x84 - x85 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x85 += einsum(x60, (0, 1), (0, 1)) * 0.5 - x85 += einsum(x61, (0, 1), (0, 1)) - rdm2_f_abab_oovv += einsum(x85, (0, 1), t2.abab, (2, 3, 0, 4), (2, 3, 1, 4)) * -2.0 - del x85 - x86 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x86 += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (2, 3, 4, 1), (0, 4)) - x87 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x87 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 0, 4), (1, 4)) - x88 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x88 += einsum(x86, (0, 1), (0, 1)) * 2.0 - x88 += einsum(x87, (0, 1), (0, 1)) - rdm2_f_abab_oovv += einsum(x88, (0, 1), t2.abab, (2, 3, 4, 0), (2, 3, 4, 1)) * -1.0 - del x88 - x89 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x89 += einsum(x53, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - del x53 - x89 += einsum(x54, (0, 1, 2, 3), (0, 1, 2, 3)) - del x54 - x89 += einsum(x52, (0, 1, 2, 3), (0, 1, 2, 3)) - del x52 - x89 += einsum(x51, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - del x51 - rdm2_f_abab_oovv += einsum(t1.bb, (0, 1), x89, (0, 2, 3, 4), (3, 2, 4, 1)) * -2.0 - del x89 - x90 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x90 += einsum(x6, (0, 1), (0, 1)) - del x6 - x90 += einsum(x3, (0, 1), (0, 1)) - del x3 - x90 += einsum(x4, (0, 1), (0, 1)) * 2.0 - del x4 - rdm2_f_abab_oovv += einsum(x90, (0, 1), t2.abab, (0, 2, 3, 4), (1, 2, 3, 4)) * -1.0 - del x90 - x91 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x91 += einsum(x11, (0, 1), (0, 1)) * 0.5 - x91 += einsum(x12, (0, 1), (0, 1)) - del x12 - x91 += einsum(x13, (0, 1), (0, 1)) * 0.5 - del x13 - rdm2_f_abab_oovv += einsum(x91, (0, 1), t2.abab, (2, 0, 3, 4), (2, 1, 3, 4)) * -2.0 - del x91 - x92 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x92 += einsum(t1.bb, (0, 1), x43, (0, 2, 3, 4), (2, 3, 1, 4)) - del x43 - x93 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x93 += einsum(t2.bbbb, (0, 1, 2, 3), x81, (1, 4, 3, 5), (4, 0, 5, 2)) - x94 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x94 += einsum(t2.abab, (0, 1, 2, 3), x79, (4, 5, 0, 2), (4, 1, 5, 3)) - x95 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x95 += einsum(x86, (0, 1), (0, 1)) - x95 += einsum(x87, (0, 1), (0, 1)) * 0.5 - x96 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x96 += einsum(x95, (0, 1), t2.bbbb, (2, 3, 4, 0), (2, 3, 4, 1)) * -4.0 - del x95 - x97 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x97 += einsum(x92, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x92 - x97 += einsum(x93, (0, 1, 2, 3), (0, 1, 2, 3)) * 8.0 - del x93 - x97 += einsum(x94, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x94 - x97 += einsum(x96, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x96 - rdm2_f_bbbb_oovv += einsum(x97, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_bbbb_oovv += einsum(x97, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x97 - x98 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x98 += einsum(t2.abab, (0, 1, 2, 3), x78, (4, 5, 0, 2), (4, 1, 5, 3)) - x99 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x99 += einsum(x46, (0, 1, 2, 3), (0, 1, 2, 3)) - del x46 - x99 += einsum(x47, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.25 - del x47 - x100 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x100 += einsum(t1.bb, (0, 1), x99, (0, 2, 3, 4), (2, 3, 1, 4)) * 4.0 - del x99 - x101 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x101 += einsum(x98, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - del x98 - x101 += einsum(x100, (0, 1, 2, 3), (0, 1, 2, 3)) - del x100 - x101 += einsum(t1.bb, (0, 1), x45, (2, 3), (0, 2, 1, 3)) * 2.0 - del x45 - rdm2_f_bbbb_oovv += einsum(x101, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - rdm2_f_bbbb_oovv += einsum(x101, (0, 1, 2, 3), (0, 1, 3, 2)) - rdm2_f_bbbb_oovv += einsum(x101, (0, 1, 2, 3), (1, 0, 2, 3)) - rdm2_f_bbbb_oovv += einsum(x101, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x101 - x102 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x102 += einsum(x11, (0, 1), t2.bbbb, (2, 0, 3, 4), (1, 2, 3, 4)) - del x11 - x103 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x103 += einsum(x18, (0, 1), t2.bbbb, (2, 0, 3, 4), (2, 1, 3, 4)) * -4.0 - del x18 - x104 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x104 += einsum(x102, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - del x102 - x104 += einsum(x103, (0, 1, 2, 3), (0, 1, 3, 2)) - del x103 - rdm2_f_bbbb_oovv += einsum(x104, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - rdm2_f_bbbb_oovv += einsum(x104, (0, 1, 2, 3), (1, 0, 2, 3)) - del x104 - x105 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x105 += einsum(t1.bb, (0, 1), x49, (0, 2, 3, 4), (2, 4, 3, 1)) - del x49 - rdm2_f_bbbb_oovv += einsum(t1.bb, (0, 1), x105, (0, 2, 3, 4), (2, 3, 4, 1)) * -2.0 - del x105 - x106 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x106 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 5, 1), (2, 4, 0, 5)) - rdm2_f_aaaa_ovov += einsum(x106, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_aaaa_ovvo += einsum(x106, (0, 1, 2, 3), (1, 2, 3, 0)) - rdm2_f_aaaa_voov += einsum(x106, (0, 1, 2, 3), (2, 1, 0, 3)) - rdm2_f_aaaa_vovo += einsum(x106, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - x107 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x107 += einsum(t1.aa, (0, 1), x1, (2, 0, 3, 4), (2, 3, 4, 1)) - rdm2_f_aaaa_ovov += einsum(x107, (0, 1, 2, 3), (1, 2, 0, 3)) * 2.0 - rdm2_f_aaaa_ovvo += einsum(x107, (0, 1, 2, 3), (1, 2, 3, 0)) * -2.0 - rdm2_f_aaaa_voov += einsum(x107, (0, 1, 2, 3), (2, 1, 0, 3)) * -2.0 - rdm2_f_aaaa_vovo += einsum(x107, (0, 1, 2, 3), (2, 1, 3, 0)) * 2.0 - x108 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x108 += einsum(l1.aa, (0, 1), t1.aa, (1, 2), (0, 2)) - x109 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x109 += einsum(x108, (0, 1), (0, 1)) - x109 += einsum(x60, (0, 1), (0, 1)) - x109 += einsum(x61, (0, 1), (0, 1)) * 2.0 - rdm2_f_aaaa_ovov += einsum(delta.aa.oo, (0, 1), x109, (2, 3), (0, 2, 1, 3)) - rdm2_f_aaaa_voov += einsum(delta.aa.oo, (0, 1), x109, (2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_abab_vovo += einsum(delta.bb.oo, (0, 1), x109, (2, 3), (2, 0, 3, 1)) - rdm2_f_abab_vovv += einsum(t1.bb, (0, 1), x109, (2, 3), (2, 0, 3, 1)) - x110 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x110 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 0, 5), (1, 5, 2, 4)) - rdm2_f_abab_ovov += einsum(x110, (0, 1, 2, 3), (3, 0, 2, 1)) * -1.0 - rdm2_f_abab_ovvv += einsum(t1.aa, (0, 1), x110, (2, 3, 0, 4), (4, 2, 1, 3)) * -1.0 - del x110 - x111 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x111 += einsum(l1.bb, (0, 1), t1.bb, (1, 2), (0, 2)) - x112 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x112 += einsum(x111, (0, 1), (0, 1)) - x112 += einsum(x86, (0, 1), (0, 1)) * 2.0 - x112 += einsum(x87, (0, 1), (0, 1)) - rdm2_f_abab_ovov += einsum(delta.aa.oo, (0, 1), x112, (2, 3), (0, 2, 1, 3)) - rdm2_f_bbbb_ovov += einsum(delta.bb.oo, (0, 1), x112, (2, 3), (0, 2, 1, 3)) - rdm2_f_bbbb_voov += einsum(delta.bb.oo, (0, 1), x112, (2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_abab_ovvv += einsum(t1.aa, (0, 1), x112, (2, 3), (0, 2, 1, 3)) - x113 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x113 += einsum(t1.bb, (0, 1), x16, (2, 0, 3, 4), (2, 3, 4, 1)) - rdm2_f_bbbb_ovov += einsum(x113, (0, 1, 2, 3), (1, 2, 0, 3)) * 2.0 - rdm2_f_bbbb_ovvo += einsum(x113, (0, 1, 2, 3), (1, 2, 3, 0)) * -2.0 - rdm2_f_bbbb_voov += einsum(x113, (0, 1, 2, 3), (2, 1, 0, 3)) * -2.0 - rdm2_f_bbbb_vovo += einsum(x113, (0, 1, 2, 3), (2, 1, 3, 0)) * 2.0 - x114 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x114 += einsum(x108, (0, 1), (0, 1)) * 0.5 - del x108 - x114 += einsum(x60, (0, 1), (0, 1)) * 0.5 - del x60 - x114 += einsum(x61, (0, 1), (0, 1)) - del x61 - rdm2_f_aaaa_ovvo += einsum(delta.aa.oo, (0, 1), x114, (2, 3), (0, 2, 3, 1)) * -2.0 - rdm2_f_aaaa_vovo += einsum(delta.aa.oo, (0, 1), x114, (2, 3), (2, 0, 3, 1)) * 2.0 - del x114 - x115 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x115 += einsum(t1.aa, (0, 1), x8, (2, 3, 0, 4), (2, 3, 4, 1)) - del x8 - rdm2_f_abab_ovvo += einsum(x115, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - x116 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x116 += einsum(x111, (0, 1), (0, 1)) * 0.5 - del x111 - x116 += einsum(x86, (0, 1), (0, 1)) - del x86 - x116 += einsum(x87, (0, 1), (0, 1)) * 0.5 - del x87 - rdm2_f_bbbb_ovvo += einsum(delta.bb.oo, (0, 1), x116, (2, 3), (0, 2, 3, 1)) * -2.0 - rdm2_f_bbbb_vovo += einsum(delta.bb.oo, (0, 1), x116, (2, 3), (2, 0, 3, 1)) * 2.0 - del x116 - x117 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x117 += einsum(t1.bb, (0, 1), x33, (0, 2, 3, 4), (2, 1, 3, 4)) - del x33 - rdm2_f_abab_voov += einsum(x117, (0, 1, 2, 3), (3, 0, 2, 1)) * -1.0 - x118 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x118 += einsum(t2.aaaa, (0, 1, 2, 3), x1, (0, 1, 4, 5), (4, 5, 2, 3)) - del x1 - rdm2_f_aaaa_ovvv = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - rdm2_f_aaaa_ovvv += einsum(x118, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - rdm2_f_aaaa_vovv = np.zeros((nvir[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - rdm2_f_aaaa_vovv += einsum(x118, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - del x118 - x119 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x119 += einsum(t1.aa, (0, 1), x107, (0, 2, 3, 4), (2, 3, 4, 1)) * -1.0 - del x107 - rdm2_f_aaaa_ovvv += einsum(x119, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - rdm2_f_aaaa_vovv += einsum(x119, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - del x119 - x120 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x120 += einsum(l1.aa, (0, 1), t2.aaaa, (2, 1, 3, 4), (2, 0, 3, 4)) - rdm2_f_aaaa_ovvv += einsum(x120, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - rdm2_f_aaaa_vovv += einsum(x120, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - del x120 - x121 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x121 += einsum(x106, (0, 1, 2, 3), (0, 1, 2, 3)) - del x106 - x121 += einsum(x58, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.0 - del x58 - x122 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x122 += einsum(t1.aa, (0, 1), x121, (0, 2, 3, 4), (2, 1, 3, 4)) - del x121 - x123 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x123 += einsum(x122, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x122 - x123 += einsum(t1.aa, (0, 1), x109, (2, 3), (0, 2, 1, 3)) - del x109 - rdm2_f_aaaa_ovvv += einsum(x123, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_aaaa_ovvv += einsum(x123, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_aaaa_vovv += einsum(x123, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - rdm2_f_aaaa_vovv += einsum(x123, (0, 1, 2, 3), (1, 0, 3, 2)) - del x123 - x124 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x124 += einsum(x73, (0, 1, 2, 3), (0, 1, 2, 3)) - del x73 - x124 += einsum(x68, (0, 1, 2, 3), (0, 1, 2, 3)) - del x68 - x124 += einsum(x115, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - del x115 - rdm2_f_abab_ovvv += einsum(t1.bb, (0, 1), x124, (0, 2, 3, 4), (3, 2, 4, 1)) * 2.0 - del x124 - x125 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x125 += einsum(l1.bb, (0, 1), t2.bbbb, (2, 1, 3, 4), (2, 0, 3, 4)) - rdm2_f_bbbb_ovvv = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - rdm2_f_bbbb_ovvv += einsum(x125, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - rdm2_f_bbbb_vovv = np.zeros((nvir[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - rdm2_f_bbbb_vovv += einsum(x125, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - del x125 - x126 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x126 += einsum(t2.bbbb, (0, 1, 2, 3), x16, (0, 1, 4, 5), (4, 5, 2, 3)) - del x16 - rdm2_f_bbbb_ovvv += einsum(x126, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - rdm2_f_bbbb_vovv += einsum(x126, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - del x126 - x127 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x127 += einsum(t1.bb, (0, 1), x113, (0, 2, 3, 4), (2, 3, 4, 1)) * -1.0 - del x113 - rdm2_f_bbbb_ovvv += einsum(x127, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - rdm2_f_bbbb_vovv += einsum(x127, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - del x127 - x128 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x128 += einsum(x81, (0, 1, 2, 3), (0, 1, 2, 3)) - del x81 - x128 += einsum(x82, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.25 - del x82 - x129 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x129 += einsum(t1.bb, (0, 1), x128, (0, 2, 3, 4), (2, 1, 3, 4)) * 4.0 - del x128 - x130 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x130 += einsum(x129, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x129 - x130 += einsum(t1.bb, (0, 1), x112, (2, 3), (0, 2, 1, 3)) - del x112 - rdm2_f_bbbb_ovvv += einsum(x130, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_bbbb_ovvv += einsum(x130, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_bbbb_vovv += einsum(x130, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - rdm2_f_bbbb_vovv += einsum(x130, (0, 1, 2, 3), (1, 0, 3, 2)) - del x130 - x131 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x131 += einsum(x78, (0, 1, 2, 3), (0, 1, 2, 3)) - del x78 - x131 += einsum(x117, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - del x117 - x131 += einsum(x79, (0, 1, 2, 3), (0, 1, 2, 3)) - del x79 - rdm2_f_abab_vovv += einsum(t1.aa, (0, 1), x131, (2, 3, 0, 4), (4, 2, 1, 3)) * 2.0 - del x131 - x132 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x132 += einsum(t1.aa, (0, 1), l2.aaaa, (2, 3, 4, 0), (4, 2, 3, 1)) - rdm2_f_aaaa_vvov = np.zeros((nvir[0], nvir[0], nocc[0], nvir[0]), dtype=types[float]) - rdm2_f_aaaa_vvov += einsum(x132, (0, 1, 2, 3), (2, 1, 0, 3)) * -2.0 - rdm2_f_aaaa_vvvo = np.zeros((nvir[0], nvir[0], nvir[0], nocc[0]), dtype=types[float]) - rdm2_f_aaaa_vvvo += einsum(x132, (0, 1, 2, 3), (2, 1, 3, 0)) * 2.0 - rdm2_f_aaaa_vvvv += einsum(t1.aa, (0, 1), x132, (0, 2, 3, 4), (2, 3, 1, 4)) * 2.0 - del x132 - x133 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x133 += einsum(t1.bb, (0, 1), l2.bbbb, (2, 3, 4, 0), (4, 2, 3, 1)) - rdm2_f_bbbb_vvov = np.zeros((nvir[1], nvir[1], nocc[1], nvir[1]), dtype=types[float]) - rdm2_f_bbbb_vvov += einsum(x133, (0, 1, 2, 3), (2, 1, 0, 3)) * -2.0 - rdm2_f_bbbb_vvvo = np.zeros((nvir[1], nvir[1], nvir[1], nocc[1]), dtype=types[float]) - rdm2_f_bbbb_vvvo += einsum(x133, (0, 1, 2, 3), (2, 1, 3, 0)) * 2.0 - rdm2_f_bbbb_vvvv += einsum(t1.bb, (0, 1), x133, (0, 2, 3, 4), (2, 3, 1, 4)) * 2.0 - del x133 - x134 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x134 += einsum(t1.aa, (0, 1), l2.abab, (2, 3, 0, 4), (4, 3, 2, 1)) - rdm2_f_abab_vvvo = np.zeros((nvir[0], nvir[1], nvir[0], nocc[1]), dtype=types[float]) - rdm2_f_abab_vvvo += einsum(x134, (0, 1, 2, 3), (2, 1, 3, 0)) - rdm2_f_abab_vvvv += einsum(t1.bb, (0, 1), x134, (0, 2, 3, 4), (3, 2, 4, 1)) - del x134 - - rdm2_f_aaaa = pack_2e(rdm2_f_aaaa_oooo, rdm2_f_aaaa_ooov, rdm2_f_aaaa_oovo, rdm2_f_aaaa_ovoo, rdm2_f_aaaa_vooo, rdm2_f_aaaa_oovv, rdm2_f_aaaa_ovov, rdm2_f_aaaa_ovvo, rdm2_f_aaaa_voov, rdm2_f_aaaa_vovo, rdm2_f_aaaa_vvoo, rdm2_f_aaaa_ovvv, rdm2_f_aaaa_vovv, rdm2_f_aaaa_vvov, rdm2_f_aaaa_vvvo, rdm2_f_aaaa_vvvv) - rdm2_f_abab = pack_2e(rdm2_f_abab_oooo, rdm2_f_abab_ooov, rdm2_f_abab_oovo, rdm2_f_abab_ovoo, rdm2_f_abab_vooo, rdm2_f_abab_oovv, rdm2_f_abab_ovov, rdm2_f_abab_ovvo, rdm2_f_abab_voov, rdm2_f_abab_vovo, rdm2_f_abab_vvoo, rdm2_f_abab_ovvv, rdm2_f_abab_vovv, rdm2_f_abab_vvov, rdm2_f_abab_vvvo, rdm2_f_abab_vvvv) - rdm2_f_bbbb = pack_2e(rdm2_f_bbbb_oooo, rdm2_f_bbbb_ooov, rdm2_f_bbbb_oovo, rdm2_f_bbbb_ovoo, rdm2_f_bbbb_vooo, rdm2_f_bbbb_oovv, rdm2_f_bbbb_ovov, rdm2_f_bbbb_ovvo, rdm2_f_bbbb_voov, rdm2_f_bbbb_vovo, rdm2_f_bbbb_vvoo, rdm2_f_bbbb_ovvv, rdm2_f_bbbb_vovv, rdm2_f_bbbb_vvov, rdm2_f_bbbb_vvvo, rdm2_f_bbbb_vvvv) - - rdm2_f_aaaa = rdm2_f_aaaa.swapaxes(1, 2) - rdm2_f_aabb = rdm2_f_abab.swapaxes(1, 2) - rdm2_f_bbbb = rdm2_f_bbbb.swapaxes(1, 2) - - rdm2_f.aaaa = rdm2_f_aaaa - rdm2_f.aabb = rdm2_f_aabb - rdm2_f.bbbb = rdm2_f_bbbb - - return rdm2_f - -def make_ip_mom_kets(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, l1=None, l2=None, **kwargs): - ket1 = Namespace() - ket2 = Namespace() - - delta_oo = Namespace() - delta_oo.aa = np.eye(nocc[0]) - delta_oo.bb = np.eye(nocc[1]) - delta_vv = Namespace() - delta_vv.aa = np.eye(nvir[0]) - delta_vv.bb = np.eye(nvir[1]) - - ket2_o_aaaa = np.zeros((nocc[0], nocc[0], nvir[0], nocc[0]), dtype=types[float]) - ket2_o_abab = np.zeros((nocc[0], nocc[1], nvir[0], nocc[1]), dtype=types[float]) - ket2_o_baba = np.zeros((nocc[1], nocc[0], nvir[1], nocc[0]), dtype=types[float]) - ket2_o_bbbb = np.zeros((nocc[1], nocc[1], nvir[1], nocc[1]), dtype=types[float]) - ket1_o_aa = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - ket1_o_aa += einsum("ij->ji", delta_oo.aa) - ket1_o_bb = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - ket1_o_bb += einsum("ij->ji", delta_oo.bb) - ket1_v_aa = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - ket1_v_aa += einsum("ia->ia", t1.aa) - ket1_v_bb = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - ket1_v_bb += einsum("ia->ia", t1.bb) - ket2_v_aaaa = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - ket2_v_aaaa += einsum("ijab->jiab", t2.aaaa) - ket2_v_aaaa -= einsum("ijab->jiba", t2.aaaa) - ket2_v_bbbb = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - ket2_v_bbbb += einsum("ijab->jiab", t2.bbbb) - ket2_v_bbbb -= einsum("ijab->jiba", t2.bbbb) - ket2_v_baba = np.zeros((nocc[1], nocc[0], nvir[1], nvir[0]), dtype=types[float]) - ket2_v_baba -= einsum("ijab->jiba", t2.abab) - ket2_v_abab = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - ket2_v_abab -= einsum("ijab->ijab", t2.abab) - - ket1_aa = np.concatenate([ket1_o_aa, ket1_v_aa], axis=1) - ket1_bb = np.concatenate([ket1_o_bb, ket1_v_bb], axis=1) - ket2_aaaa = np.concatenate([ket2_o_aaaa, ket2_v_aaaa], axis=3) - ket2_abab = np.concatenate([ket2_o_abab, ket2_v_abab], axis=3) - ket2_baba = np.concatenate([ket2_o_baba, ket2_v_baba], axis=3) - ket2_bbbb = np.concatenate([ket2_o_bbbb, ket2_v_bbbb], axis=3) - - ket1.aa = ket1_aa - ket1.bb = ket1_bb - ket2.aaaa = ket2_aaaa - ket2.abab = ket2_abab - ket2.baba = ket2_baba - ket2.bbbb = ket2_bbbb - - return ket1, ket2 - -def make_ea_mom_kets(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, l1=None, l2=None, **kwargs): - ket1 = Namespace() - ket2 = Namespace() - - delta_oo = Namespace() - delta_oo.aa = np.eye(nocc[0]) - delta_oo.bb = np.eye(nocc[1]) - delta_vv = Namespace() - delta_vv.aa = np.eye(nvir[0]) - delta_vv.bb = np.eye(nvir[1]) - - ket2_v_aaaa = np.zeros((nvir[0], nvir[0], nocc[0], nvir[0]), dtype=types[float]) - ket2_v_abab = np.zeros((nvir[0], nvir[1], nocc[0], nvir[1]), dtype=types[float]) - ket2_v_baba = np.zeros((nvir[1], nvir[0], nocc[1], nvir[0]), dtype=types[float]) - ket2_v_bbbb = np.zeros((nvir[1], nvir[1], nocc[1], nvir[1]), dtype=types[float]) - ket1_o_aa = np.zeros((nvir[0], nocc[0]), dtype=types[float]) - ket1_o_aa -= einsum("ia->ai", t1.aa) - ket1_o_bb = np.zeros((nvir[1], nocc[1]), dtype=types[float]) - ket1_o_bb -= einsum("ia->ai", t1.bb) - ket1_v_aa = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - ket1_v_aa += einsum("ab->ba", delta_vv.aa) - ket1_v_bb = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - ket1_v_bb += einsum("ab->ba", delta_vv.bb) - ket2_o_aaaa = np.zeros((nvir[0], nvir[0], nocc[0], nocc[0]), dtype=types[float]) - ket2_o_aaaa -= einsum("ijab->abji", t2.aaaa) - ket2_o_aaaa += einsum("ijab->baji", t2.aaaa) - ket2_o_bbbb = np.zeros((nvir[1], nvir[1], nocc[1], nocc[1]), dtype=types[float]) - ket2_o_bbbb -= einsum("ijab->abji", t2.bbbb) - ket2_o_bbbb += einsum("ijab->baji", t2.bbbb) - ket2_o_baba = np.zeros((nvir[1], nvir[0], nocc[1], nocc[0]), dtype=types[float]) - ket2_o_baba += einsum("ijab->baji", t2.abab) - ket2_o_abab = np.zeros((nvir[0], nvir[1], nocc[0], nocc[1]), dtype=types[float]) - ket2_o_abab += einsum("ijab->abij", t2.abab) - - ket1_aa = np.concatenate([ket1_o_aa, ket1_v_aa], axis=1) - ket1_bb = np.concatenate([ket1_o_bb, ket1_v_bb], axis=1) - ket2_aaaa = np.concatenate([ket2_o_aaaa, ket2_v_aaaa], axis=3) - ket2_abab = np.concatenate([ket2_o_abab, ket2_v_abab], axis=3) - ket2_baba = np.concatenate([ket2_o_baba, ket2_v_baba], axis=3) - ket2_bbbb = np.concatenate([ket2_o_bbbb, ket2_v_bbbb], axis=3) - - ket2_aaaa *= -1 - ket2_abab *= -1 - ket2_baba *= -1 - ket2_bbbb *= -1 - - ket1.aa = ket1_aa - ket1.bb = ket1_bb - ket2.aaaa = ket2_aaaa - ket2.abab = ket2_abab - ket2.baba = ket2_baba - ket2.bbbb = ket2_bbbb - - return ket1, ket2 - -def make_ip_mom_bras(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, l1=None, l2=None, **kwargs): - bra1 = Namespace() - bra2 = Namespace() - - delta_oo = Namespace() - delta_oo.aa = np.eye(nocc[0]) - delta_oo.bb = np.eye(nocc[1]) - delta_vv = Namespace() - delta_vv.aa = np.eye(nvir[0]) - delta_vv.bb = np.eye(nvir[1]) - - x0 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x0 += einsum("ijab->jiab", t2.aaaa) - x0 += einsum("ijab->jiba", t2.aaaa) * -1 - bra1_o_aa = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - bra1_o_aa += einsum("abij,ikba->kj", l2.aaaa, x0) * -1 - del x0 - x1 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x1 += einsum("ijab->jiab", t2.bbbb) * -1 - x1 += einsum("ijab->jiba", t2.bbbb) - bra1_o_bb = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - bra1_o_bb += einsum("abij,ikab->kj", l2.bbbb, x1) * -1 - del x1 - x2 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x2 += einsum("ia,abjk->kjib", t1.aa, l2.aaaa) - bra2_o_aaaa = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - bra2_o_aaaa += einsum("ijka->kija", x2) - bra2_o_aaaa -= einsum("ijka->kjia", x2) - del x2 - x3 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x3 += einsum("ia,abjk->kjib", t1.bb, l2.bbbb) - bra2_o_bbbb = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - bra2_o_bbbb += einsum("ijka->kija", x3) - bra2_o_bbbb -= einsum("ijka->kjia", x3) - del x3 - bra1_o_aa -= einsum("ai,ja->ji", l1.aa, t1.aa) - bra1_o_aa += einsum("ij->ji", delta_oo.aa) - bra1_o_aa += einsum("abij,kjab->ki", l2.abab, t2.abab) * -1 - bra1_o_bb += einsum("ij->ji", delta_oo.bb) - bra1_o_bb -= einsum("ai,ja->ji", l1.bb, t1.bb) - bra1_o_bb += einsum("abij,ikab->kj", l2.abab, t2.abab) * -1 - bra1_v_aa = np.zeros((nvir[0], nocc[0]), dtype=types[float]) - bra1_v_aa += einsum("ai->ai", l1.aa) - bra1_v_bb = np.zeros((nvir[1], nocc[1]), dtype=types[float]) - bra1_v_bb += einsum("ai->ai", l1.bb) - bra2_o_aaaa += einsum("ij,ak->jika", delta_oo.aa, l1.aa) - bra2_o_aaaa -= einsum("ij,ak->jkia", delta_oo.aa, l1.aa) - bra2_o_abab = np.zeros((nocc[0], nocc[1], nocc[0], nvir[1]), dtype=types[float]) - bra2_o_abab += einsum("ia,abjk->ikjb", t1.aa, l2.abab) - bra2_o_abab -= einsum("ij,ak->jkia", delta_oo.aa, l1.bb) - bra2_o_baba = np.zeros((nocc[1], nocc[0], nocc[1], nvir[0]), dtype=types[float]) - bra2_o_baba -= einsum("ij,ak->jkia", delta_oo.bb, l1.aa) - bra2_o_baba += einsum("ia,bajk->ijkb", t1.bb, l2.abab) - bra2_o_bbbb += einsum("ij,ak->jika", delta_oo.bb, l1.bb) - bra2_o_bbbb -= einsum("ij,ak->jkia", delta_oo.bb, l1.bb) - bra2_v_aaaa = np.zeros((nvir[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - bra2_v_aaaa -= einsum("abij->ajib", l2.aaaa) - bra2_v_aaaa += einsum("abij->bjia", l2.aaaa) - bra2_v_baba = np.zeros((nvir[1], nocc[0], nocc[1], nvir[0]), dtype=types[float]) - bra2_v_baba -= einsum("abij->bija", l2.abab) - bra2_v_abab = np.zeros((nvir[0], nocc[1], nocc[0], nvir[1]), dtype=types[float]) - bra2_v_abab -= einsum("abij->ajib", l2.abab) - bra2_v_bbbb = np.zeros((nvir[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - bra2_v_bbbb -= einsum("abij->ajib", l2.bbbb) - bra2_v_bbbb += einsum("abij->bjia", l2.bbbb) - - bra1_aa = np.concatenate([bra1_o_aa, bra1_v_aa], axis=0) - bra1_bb = np.concatenate([bra1_o_bb, bra1_v_bb], axis=0) - bra2_aaaa = np.concatenate([bra2_o_aaaa, bra2_v_aaaa], axis=0) - bra2_abab = np.concatenate([bra2_o_abab, bra2_v_abab], axis=0) - bra2_baba = np.concatenate([bra2_o_baba, bra2_v_baba], axis=0) - bra2_bbbb = np.concatenate([bra2_o_bbbb, bra2_v_bbbb], axis=0) - - bra1.aa = bra1_aa - bra1.bb = bra1_bb - bra2.aaaa = bra2_aaaa - bra2.abab = bra2_abab - bra2.baba = bra2_baba - bra2.bbbb = bra2_bbbb - - return bra1, bra2 - -def make_ea_mom_bras(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, l1=None, l2=None, **kwargs): - bra1 = Namespace() - bra2 = Namespace() - - delta_oo = Namespace() - delta_oo.aa = np.eye(nocc[0]) - delta_oo.bb = np.eye(nocc[1]) - delta_vv = Namespace() - delta_vv.aa = np.eye(nvir[0]) - delta_vv.bb = np.eye(nvir[1]) - - x0 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x0 += einsum("ijab->jiab", t2.aaaa) * -1 - x0 += einsum("ijab->jiba", t2.aaaa) - bra1_v_aa = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - bra1_v_aa += einsum("abij,ijac->cb", l2.aaaa, x0) * -1 - del x0 - x1 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x1 += einsum("ijab->jiab", t2.bbbb) - x1 += einsum("ijab->jiba", t2.bbbb) * -1 - bra1_v_bb = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - bra1_v_bb += einsum("abij,ijbc->ca", l2.bbbb, x1) * -1 - del x1 - x2 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x2 += einsum("ia,bcji->jbca", t1.aa, l2.aaaa) - bra2_v_aaaa = np.zeros((nvir[0], nvir[0], nvir[0], nocc[0]), dtype=types[float]) - bra2_v_aaaa += einsum("iabc->cabi", x2) - bra2_v_aaaa -= einsum("iabc->cbai", x2) - del x2 - x3 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x3 += einsum("ia,bcji->jbca", t1.bb, l2.bbbb) - bra2_v_bbbb = np.zeros((nvir[1], nvir[1], nvir[1], nocc[1]), dtype=types[float]) - bra2_v_bbbb += einsum("iabc->cabi", x3) - bra2_v_bbbb -= einsum("iabc->cbai", x3) - del x3 - bra1_o_aa = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - bra1_o_aa -= einsum("ai->ia", l1.aa) - bra1_o_bb = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - bra1_o_bb -= einsum("ai->ia", l1.bb) - bra1_v_aa += einsum("ab->ba", delta_vv.aa) - bra1_v_aa -= einsum("ai,ib->ba", l1.aa, t1.aa) - bra1_v_aa += einsum("abij,ijcb->ca", l2.abab, t2.abab) * -1 - bra1_v_bb += einsum("abij,ijac->cb", l2.abab, t2.abab) * -1 - bra1_v_bb += einsum("ab->ba", delta_vv.bb) - bra1_v_bb -= einsum("ai,ib->ba", l1.bb, t1.bb) - bra2_o_aaaa = np.zeros((nocc[0], nvir[0], nvir[0], nocc[0]), dtype=types[float]) - bra2_o_aaaa += einsum("abij->jabi", l2.aaaa) - bra2_o_aaaa -= einsum("abij->jbai", l2.aaaa) - bra2_o_abab = np.zeros((nocc[0], nvir[1], nvir[0], nocc[1]), dtype=types[float]) - bra2_o_abab += einsum("abij->ibaj", l2.abab) - bra2_o_baba = np.zeros((nocc[1], nvir[0], nvir[1], nocc[0]), dtype=types[float]) - bra2_o_baba += einsum("abij->jabi", l2.abab) - bra2_o_bbbb = np.zeros((nocc[1], nvir[1], nvir[1], nocc[1]), dtype=types[float]) - bra2_o_bbbb += einsum("abij->jabi", l2.bbbb) - bra2_o_bbbb -= einsum("abij->jbai", l2.bbbb) - bra2_v_aaaa += einsum("ab,ci->baci", delta_vv.aa, l1.aa) - bra2_v_aaaa -= einsum("ab,ci->bcai", delta_vv.aa, l1.aa) - bra2_v_abab = np.zeros((nvir[0], nvir[1], nvir[0], nocc[1]), dtype=types[float]) - bra2_v_abab -= einsum("ab,ci->bcai", delta_vv.aa, l1.bb) - bra2_v_abab += einsum("ia,bcij->acbj", t1.aa, l2.abab) - bra2_v_baba = np.zeros((nvir[1], nvir[0], nvir[1], nocc[0]), dtype=types[float]) - bra2_v_baba -= einsum("ab,ci->bcai", delta_vv.bb, l1.aa) - bra2_v_baba += einsum("ia,bcji->abcj", t1.bb, l2.abab) - bra2_v_bbbb += einsum("ab,ci->baci", delta_vv.bb, l1.bb) - bra2_v_bbbb -= einsum("ab,ci->bcai", delta_vv.bb, l1.bb) - - bra1_aa = np.concatenate([bra1_o_aa, bra1_v_aa], axis=0) - bra1_bb = np.concatenate([bra1_o_bb, bra1_v_bb], axis=0) - bra2_aaaa = np.concatenate([bra2_o_aaaa, bra2_v_aaaa], axis=0) - bra2_abab = np.concatenate([bra2_o_abab, bra2_v_abab], axis=0) - bra2_baba = np.concatenate([bra2_o_baba, bra2_v_baba], axis=0) - bra2_bbbb = np.concatenate([bra2_o_bbbb, bra2_v_bbbb], axis=0) - - bra2_aaaa *= -1 - bra2_abab *= -1 - bra2_baba *= -1 - bra2_bbbb *= -1 - - bra1.aa = bra1_aa - bra1.bb = bra1_bb - bra2.aaaa = bra2_aaaa - bra2.abab = bra2_abab - bra2.baba = bra2_baba - bra2.bbbb = bra2_bbbb - - return bra1, bra2 - -def hbar_matvec_ip(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, l1=None, l2=None, r1=None, r2=None, **kwargs): - x0 = np.zeros((nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x0 += einsum("i,iajb->jab", r1.a, v.aabb.ovov) - r1new_a = np.zeros((nocc[0]), dtype=types[float]) - r1new_a += einsum("iab,jiab->j", x0, t2.abab) * -1 - del x0 - x1 = np.zeros((nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x1 += einsum("i,jaib->jab", r1.a, v.aaaa.ovov) - x2 = np.zeros((nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x2 += einsum("iab->iab", x1) - x2 += einsum("iab->iba", x1) * -1 - r1new_a += einsum("iab,ijab->j", x2, t2.aaaa) * -1 - del x2 - x92 = np.zeros((nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x92 += einsum("ia,jba->ijb", t1.aa, x1) - del x1 - x93 = np.zeros((nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x93 += einsum("ija->ija", x92) - del x92 - x3 = np.zeros((nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x3 += einsum("ija->ija", r2.aaa) - x3 += einsum("i,ja->jia", r1.a, t1.aa) * -1 - x4 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x4 += einsum("ijka->ikja", v.aaaa.ooov) * -1 - x4 += einsum("ijka->kija", v.aaaa.ooov) - x76 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x76 += einsum("ia,jika->jk", t1.aa, x4) - x78 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x78 += einsum("ij->ij", x76) * -1 - x133 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x133 += einsum("ij->ij", x76) * -1 - del x76 - x171 = np.zeros((nocc[0], nocc[0], nocc[1]), dtype=types[float]) - x171 += einsum("ija,kila->klj", r2.aba, x4) * -1 - r1new_a += einsum("ija,jika->k", x3, x4) * -1 - del x4 - x5 = np.zeros((nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x5 += einsum("ija->jia", r2.bab) - x5 += einsum("i,ja->ija", r1.a, t1.bb) * -1 - x17 = np.zeros((nvir[0]), dtype=types[float]) - x17 += einsum("ija,ibja->b", x5, v.aabb.ovov) - x18 = np.zeros((nvir[0]), dtype=types[float]) - x18 += einsum("a->a", x17) * -1 - del x17 - x116 = np.zeros((nvir[0], nvir[1], nvir[1]), dtype=types[float]) - x116 += einsum("ija,ibjc->bac", x5, v.aabb.ovov) - x117 = np.zeros((nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x117 += einsum("ija,ibka->kjb", x5, v.aabb.ovov) * -1 - x142 = np.zeros((nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x142 += einsum("ija,ibca->jbc", x5, v.aabb.ovvv) * -1 - r1new_a += einsum("ija,ikja->k", x5, v.aabb.ooov) - r2new_bab = np.zeros((nocc[1], nocc[0], nvir[1]), dtype=types[float]) - r2new_bab += einsum("ija,ikba->jkb", x5, v.aabb.oovv) * -1 - del x5 - x6 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x6 += einsum("ia,jbia->jb", t1.bb, v.aabb.ovov) - x9 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x9 += einsum("ia->ia", x6) - del x6 - x7 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x7 += einsum("iajb->jiab", v.aaaa.ovov) * -1 - x7 += einsum("iajb->jiba", v.aaaa.ovov) - x8 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x8 += einsum("ia,ijba->jb", t1.aa, x7) - x9 += einsum("ia->ia", x8) * -1 - del x8 - x16 = np.zeros((nvir[0]), dtype=types[float]) - x16 += einsum("ija,ijab->b", x3, x7) - del x3 - x18 += einsum("a->a", x16) * -1 - del x16 - x160 = np.zeros((nocc[0], nocc[1], nvir[0]), dtype=types[float]) - x160 += einsum("ija,ikba->kjb", r2.aba, x7) - x161 = np.zeros((nocc[0], nocc[1], nvir[0]), dtype=types[float]) - x161 += einsum("ija->ija", x160) * -1 - x180 = np.zeros((nocc[0], nocc[1], nvir[0]), dtype=types[float]) - x180 += einsum("ija->ija", x160) * -1 - del x160 - x9 += einsum("ia->ia", f.aa.ov) - x152 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x152 += einsum("ia,ijab->jb", x9, t2.abab) - x156 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x156 += einsum("ia->ia", x152) - x214 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x214 += einsum("ia->ia", x152) - del x152 - r1new_b = np.zeros((nocc[1]), dtype=types[float]) - r1new_b += einsum("ia,ija->j", x9, r2.aba) * -1 - x10 = np.zeros((nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x10 += einsum("ija->ija", r2.aaa) * -1 - x10 += einsum("ija->jia", r2.aaa) - r1new_a += einsum("ia,jia->j", x9, x10) * -1 - x11 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x11 += einsum("ia,iajb->jb", t1.aa, v.aabb.ovov) - x14 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x14 += einsum("ia->ia", x11) - del x11 - x12 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x12 += einsum("iajb->jiab", v.bbbb.ovov) - x12 += einsum("iajb->jiba", v.bbbb.ovov) * -1 - x13 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x13 += einsum("ia,ijab->jb", t1.bb, x12) - x14 += einsum("ia->ia", x13) * -1 - del x13 - x44 = np.zeros((nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x44 += einsum("ija,ikab->jkb", r2.bab, x12) - x45 = np.zeros((nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x45 += einsum("ija->ija", x44) * -1 - x113 = np.zeros((nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x113 += einsum("ija->ija", x44) * -1 - del x44 - x14 += einsum("ia->ia", f.bb.ov) - x107 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x107 += einsum("ia,jiba->jb", x14, t2.abab) - x111 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x111 += einsum("ia->ia", x107) - x173 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x173 += einsum("ia->ia", x107) - del x107 - r1new_a += einsum("ia,ija->j", x14, r2.bab) * -1 - x15 = np.zeros((nvir[0]), dtype=types[float]) - x15 += einsum("i,ia->a", r1.a, f.aa.ov) - x18 += einsum("a->a", x15) - del x15 - x80 = np.zeros((nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x80 += einsum("a,ijab->ijb", x18, t2.aaaa) - x112 = np.zeros((nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x112 += einsum("ija->jia", x80) - del x80 - r1new_a += einsum("a,ia->i", x18, t1.aa) * -1 - r2new_bab += einsum("a,ijab->jib", x18, t2.abab) - del x18 - x19 = np.zeros((nocc[0], nvir[0], nvir[1]), dtype=types[float]) - x19 += einsum("i,jaib->jab", r1.b, v.aabb.ovov) - r1new_b += einsum("iab,ijab->j", x19, t2.abab) * -1 - del x19 - x20 = np.zeros((nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x20 += einsum("i,jaib->jab", r1.b, v.bbbb.ovov) - x21 = np.zeros((nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x21 += einsum("iab->iab", x20) - x21 += einsum("iab->iba", x20) * -1 - r1new_b += einsum("iab,ijab->j", x21, t2.bbbb) * -1 - del x21 - x207 = np.zeros((nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x207 += einsum("ia,jba->ijb", t1.bb, x20) - del x20 - x208 = np.zeros((nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x208 += einsum("ija->ija", x207) - del x207 - x22 = np.zeros((nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x22 += einsum("ija->ija", r2.bbb) - x22 += einsum("i,ja->jia", r1.b, t1.bb) * -1 - x23 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x23 += einsum("ijka->ikja", v.bbbb.ooov) * -1 - x23 += einsum("ijka->kija", v.bbbb.ooov) - x138 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x138 += einsum("ia,jika->jk", t1.bb, x23) - x140 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x140 += einsum("ij->ij", x138) * -1 - x194 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x194 += einsum("ij->ij", x138) * -1 - del x138 - x141 = np.zeros((nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x141 += einsum("ija,kila->jkl", r2.bab, x23) * -1 - r1new_b += einsum("ija,jika->k", x22, x23) * -1 - del x23 - x24 = np.zeros((nocc[0], nocc[1], nvir[0]), dtype=types[float]) - x24 += einsum("ija->ija", r2.aba) - x24 += einsum("i,ja->jia", r1.b, t1.aa) * -1 - x29 = np.zeros((nvir[1]), dtype=types[float]) - x29 += einsum("ija,iajb->b", x24, v.aabb.ovov) - x30 = np.zeros((nvir[1]), dtype=types[float]) - x30 += einsum("a->a", x29) * -1 - del x29 - x167 = np.zeros((nvir[0], nvir[0], nvir[1]), dtype=types[float]) - x167 += einsum("ija,ibjc->abc", x24, v.aabb.ovov) - x168 = np.zeros((nocc[0], nocc[0], nvir[1]), dtype=types[float]) - x168 += einsum("ija,kajb->kib", x24, v.aabb.ovov) * -1 - r1new_b += einsum("ija,iajk->k", x24, v.aabb.ovoo) - del x24 - x25 = np.zeros((nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x25 += einsum("ija->ija", r2.bbb) - x25 += einsum("ija->jia", r2.bbb) * -1 - r1new_b += einsum("ia,ija->j", x14, x25) * -1 - x26 = np.zeros((nvir[1]), dtype=types[float]) - x26 += einsum("i,ia->a", r1.b, f.bb.ov) - x30 += einsum("a->a", x26) - del x26 - x27 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x27 += einsum("iajb->jiab", v.bbbb.ovov) * -1 - x27 += einsum("iajb->jiba", v.bbbb.ovov) - x28 = np.zeros((nvir[1]), dtype=types[float]) - x28 += einsum("ija,ijab->b", x22, x27) - del x22 - x30 += einsum("a->a", x28) * -1 - del x28 - x196 = np.zeros((nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x196 += einsum("a,ijab->ijb", x30, t2.bbbb) - x215 = np.zeros((nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x215 += einsum("ija->jia", x196) - del x196 - r1new_b += einsum("a,ia->i", x30, t1.bb) * -1 - r2new_aba = np.zeros((nocc[0], nocc[1], nvir[0]), dtype=types[float]) - r2new_aba += einsum("a,ijba->ijb", x30, t2.abab) - del x30 - x31 = np.zeros((nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x31 += einsum("i,ijak->jka", r1.a, v.aaaa.oovo) - x112 += einsum("ija->ija", x31) * -1 - del x31 - x32 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x32 += einsum("ij,ia->ja", f.aa.oo, t1.aa) - x112 += einsum("i,ja->jia", r1.a, x32) - del x32 - x33 = np.zeros((nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x33 += einsum("ija,iabk->jkb", r2.bab, v.bbaa.ovvo) - x112 += einsum("ija->ija", x33) * -1 - del x33 - x34 = np.zeros((nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x34 += einsum("i,ijka->jka", r1.a, v.aabb.ooov) - x35 = np.zeros((nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x35 += einsum("ija,kjba->kib", x34, t2.abab) - x112 += einsum("ija->ija", x35) - del x35 - x113 += einsum("ija->ija", x34) - del x34 - x36 = np.zeros((nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x36 += einsum("ija,kbia->jkb", r2.bab, v.aabb.ovov) - x40 = np.zeros((nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x40 += einsum("ija->ija", x36) - x93 += einsum("ija->ija", x36) - x94 = np.zeros((nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x94 += einsum("ia,jka->jki", t1.aa, x93) - del x93 - x95 = np.zeros((nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x95 += einsum("ijk->jki", x94) - del x94 - x115 = np.zeros((nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x115 += einsum("ija->jia", x36) - del x36 - x37 = np.zeros((nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x37 += einsum("i,ja->ija", r1.a, t1.aa) - x37 += einsum("ija->ija", r2.aaa) - x37 += einsum("ija->jia", r2.aaa) * -1 - x43 = np.zeros((nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x43 += einsum("ija,iakb->jkb", x37, v.aabb.ovov) - x45 += einsum("ija->ija", x43) - x46 = np.zeros((nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x46 += einsum("ija,kjba->kib", x45, t2.abab) - del x45 - x112 += einsum("ija->jia", x46) * -1 - del x46 - x113 += einsum("ija->ija", x43) - del x43 - x115 += einsum("ija,ikab->kjb", x37, x7) - x141 += einsum("ija,iakl->jkl", x37, v.aabb.ovoo) - x38 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x38 += einsum("iajb->jiab", v.aaaa.ovov) - x38 += einsum("iajb->jiba", v.aaaa.ovov) * -1 - x39 = np.zeros((nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x39 += einsum("ija,ikba->jkb", x37, x38) - del x38 - x40 += einsum("ija->ija", x39) - del x39 - x41 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x41 += einsum("ijab->jiab", t2.aaaa) * -1 - x41 += einsum("ijab->jiba", t2.aaaa) - x42 = np.zeros((nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x42 += einsum("ija,jkba->ikb", x40, x41) - del x40 - x112 += einsum("ija->ija", x42) - del x42 - x106 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x106 += einsum("ia,ijba->jb", x9, x41) - del x9 - del x41 - x111 += einsum("ia->ia", x106) * -1 - x173 += einsum("ia->ia", x106) * -1 - del x106 - x47 = np.zeros((nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x47 += einsum("i,iabc->bac", r1.a, v.aaaa.ovvv) - x50 = np.zeros((nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x50 += einsum("abc->abc", x47) * -1 - x81 = np.zeros((nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x81 += einsum("ia,bac->ibc", t1.aa, x47) - del x47 - x85 = np.zeros((nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x85 += einsum("iab->iab", x81) - del x81 - x48 = np.zeros((nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x48 += einsum("ija->ija", r2.aaa) - x48 += einsum("i,ja->ija", r1.a, t1.aa) - x49 = np.zeros((nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x49 += einsum("ija,jbic->bca", x48, v.aaaa.ovov) - del x48 - x50 += einsum("abc->cba", x49) - del x49 - x51 = np.zeros((nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x51 += einsum("abc,ijcb->ija", x50, t2.aaaa) - del x50 - x112 += einsum("ija->jia", x51) - del x51 - x52 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x52 += einsum("iabj->ijba", v.aaaa.ovvo) - x52 += einsum("ijab->ijab", v.aaaa.oovv) * -1 - x53 = np.zeros((nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x53 += einsum("ija,ikba->jkb", x37, x52) - del x37 - x112 += einsum("ija->ija", x53) * -1 - del x53 - x109 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x109 += einsum("ia,ijba->jb", t1.aa, x52) - del x52 - x111 += einsum("ia->ia", x109) - x173 += einsum("ia->ia", x109) - del x109 - x54 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x54 += einsum("ijka->ikja", v.aaaa.ooov) - x54 += einsum("ijka->kija", v.aaaa.ooov) * -1 - x55 = np.zeros((nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x55 += einsum("i,jika->jka", r1.a, x54) - del x54 - x115 += einsum("ija->ija", x55) * -1 - r2new_bab += einsum("ija,ikab->kjb", x115, t2.abab) - del x115 - x56 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x56 += einsum("ia,jb->ijab", t1.aa, t1.aa) - x56 += einsum("ijab->jiab", t2.aaaa) * -1 - x56 += einsum("ijab->jiba", t2.aaaa) - x57 = np.zeros((nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x57 += einsum("ija,ikba->jkb", x55, x56) * -1 - del x55 - x112 += einsum("ija->jia", x57) * -1 - del x57 - x58 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x58 += einsum("ia,jbka->ijkb", t1.aa, v.aaaa.ovov) - x59 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x59 += einsum("ia,jkla->jilk", t1.aa, x58) - x61 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x61 += einsum("ijkl->lkji", x59) - del x59 - x90 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x90 += einsum("ijka->jkia", x58) - x90 += einsum("ijka->kjia", x58) * -1 - x100 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x100 += einsum("ijka->ijka", x58) * -1 - x100 += einsum("ijka->ikja", x58) - del x58 - x60 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x60 += einsum("ia,jkla->ijlk", t1.aa, v.aaaa.ooov) - x61 += einsum("ijkl->jkli", x60) - x61 += einsum("ijkl->kjli", x60) * -1 - del x60 - x61 += einsum("ijkl->kilj", v.aaaa.oooo) - x62 = np.zeros((nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x62 += einsum("ija,jikl->kla", r2.aaa, x61) - del x61 - x112 += einsum("ija->jia", x62) - del x62 - x63 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x63 += einsum("ia,ib->ab", f.aa.ov, t1.aa) - x71 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x71 += einsum("ab->ba", x63) - del x63 - x64 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x64 += einsum("ia,iabc->bc", t1.bb, v.bbaa.ovvv) - x71 += einsum("ab->ab", x64) * -1 - del x64 - x65 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x65 += einsum("ijab->jiba", t2.aaaa) - x65 += einsum("ia,jb->ijab", t1.aa, t1.aa) - x66 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x66 += einsum("ijab,ijca->bc", x65, x7) - x71 += einsum("ab->ab", x66) * -1 - del x66 - x75 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x75 += einsum("ijab,ikba->jk", x65, x7) - del x7 - x78 += einsum("ij->ji", x75) * -1 - x133 += einsum("ij->ji", x75) * -1 - del x75 - x67 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x67 += einsum("iabc->ibac", v.aaaa.ovvv) - x67 += einsum("iabc->ibca", v.aaaa.ovvv) * -1 - x68 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x68 += einsum("ia,ibac->bc", t1.aa, x67) - x71 += einsum("ab->ab", x68) * -1 - del x68 - x102 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x102 += einsum("ijab,icba->jc", x65, x67) - del x65 - x111 += einsum("ia->ia", x102) * -1 - x173 += einsum("ia->ia", x102) * -1 - del x102 - x169 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x169 += einsum("ia,jbac->jibc", t1.aa, x67) * -1 - del x67 - x69 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x69 += einsum("ijab->ijab", t2.abab) - x69 += einsum("ia,jb->ijab", t1.aa, t1.bb) - x70 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x70 += einsum("iajb,ijcb->ca", v.aabb.ovov, x69) - x71 += einsum("ab->ab", x70) - del x70 - x77 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x77 += einsum("iajb,kjab->ki", v.aabb.ovov, x69) - x78 += einsum("ij->ji", x77) - x133 += einsum("ij->ji", x77) - del x77 - x108 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x108 += einsum("iabc,jica->jb", v.bbaa.ovvv, x69) - x111 += einsum("ia->ia", x108) - x173 += einsum("ia->ia", x108) - del x108 - x131 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x131 += einsum("iajb,ijac->cb", v.aabb.ovov, x69) - x132 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x132 += einsum("ab->ab", x131) - del x131 - x139 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x139 += einsum("iajb,ikab->kj", v.aabb.ovov, x69) - x140 += einsum("ij->ji", x139) - x194 += einsum("ij->ji", x139) - del x139 - x153 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x153 += einsum("iabc,ijac->jb", v.aabb.ovvv, x69) - del x69 - x156 += einsum("ia->ia", x153) - x214 += einsum("ia->ia", x153) - del x153 - x71 += einsum("ab->ab", f.aa.vv) * -1 - x72 = np.zeros((nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x72 += einsum("ab,ijb->ija", x71, r2.aaa) - x112 += einsum("ija->ija", x72) * -1 - del x72 - r2new_aba += einsum("ab,ijb->ija", x71, r2.aba) * -1 - del x71 - x73 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x73 += einsum("ia,ja->ij", f.aa.ov, t1.aa) - x78 += einsum("ij->ij", x73) - x133 += einsum("ij->ij", x73) - del x73 - x74 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x74 += einsum("ia,jkia->jk", t1.bb, v.aabb.ooov) - x78 += einsum("ij->ij", x74) - x79 = np.zeros((nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x79 += einsum("ij,ika->jka", x78, x10) - x112 += einsum("ija->jia", x79) * -1 - del x79 - x110 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x110 += einsum("ia,ij->ja", t1.aa, x78) - del x78 - x111 += einsum("ia->ia", x110) * -1 - del x110 - x133 += einsum("ij->ij", x74) - del x74 - x82 = np.zeros((nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x82 += einsum("ija,iabc->jbc", r2.bab, v.bbaa.ovvv) - x85 += einsum("iab->iab", x82) - del x82 - x83 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x83 += einsum("iabc->ibac", v.aaaa.ovvv) * -1 - x83 += einsum("iabc->ibca", v.aaaa.ovvv) - x84 = np.zeros((nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x84 += einsum("ija,jbca->ibc", x10, x83) - del x83 - x85 += einsum("iab->iab", x84) - del x84 - x86 = np.zeros((nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x86 += einsum("ia,jba->jib", t1.aa, x85) - del x85 - x112 += einsum("ija->ija", x86) * -1 - del x86 - x87 = np.zeros((nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x87 += einsum("i,jkil->jkl", r1.a, v.aaaa.oooo) - x95 += einsum("ijk->ijk", x87) - del x87 - x88 = np.zeros((nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x88 += einsum("ija,klia->jkl", r2.bab, v.aabb.ooov) - x95 += einsum("ijk->jki", x88) - del x88 - x89 = np.zeros((nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x89 += einsum("ija->ija", r2.aaa) - x89 += einsum("ija->jia", r2.aaa) * -1 - x97 = np.zeros((nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x97 += einsum("ij,ika->kja", f.aa.oo, x89) - x112 += einsum("ija->jia", x97) * -1 - del x97 - x90 += einsum("ijka->ikja", v.aaaa.ooov) * -1 - x90 += einsum("ijka->kija", v.aaaa.ooov) - x91 = np.zeros((nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x91 += einsum("ija,ikla->klj", x89, x90) - del x89 - del x90 - x95 += einsum("ijk->ijk", x91) - del x91 - x96 = np.zeros((nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x96 += einsum("ia,ijk->jka", t1.aa, x95) - del x95 - x112 += einsum("ija->jia", x96) - del x96 - x98 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x98 += einsum("ab,ib->ia", f.aa.vv, t1.aa) - x111 += einsum("ia->ia", x98) - x173 += einsum("ia->ia", x98) - del x98 - x99 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x99 += einsum("ia,iabj->jb", t1.bb, v.bbaa.ovvo) - x111 += einsum("ia->ia", x99) - x173 += einsum("ia->ia", x99) - del x99 - x100 += einsum("ijka->jika", v.aaaa.ooov) - x100 += einsum("ijka->jkia", v.aaaa.ooov) * -1 - x101 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x101 += einsum("ijab,kjia->kb", t2.aaaa, x100) - del x100 - x111 += einsum("ia->ia", x101) * -1 - x173 += einsum("ia->ia", x101) * -1 - del x101 - x103 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x103 += einsum("ia,jakb->ijkb", t1.aa, v.aabb.ovov) - x104 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x104 += einsum("ijka->jika", x103) - del x103 - x104 += einsum("ijka->ijka", v.aabb.ooov) - x105 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x105 += einsum("ijab,ikjb->ka", t2.abab, x104) - x111 += einsum("ia->ia", x105) * -1 - x112 += einsum("i,ja->ija", r1.a, x111) - del x111 - r2new_aaa = np.zeros((nocc[0], nocc[0], nvir[0]), dtype=types[float]) - r2new_aaa += einsum("ija->ija", x112) - r2new_aaa += einsum("ija->jia", x112) * -1 - del x112 - x173 += einsum("ia->ia", x105) * -1 - del x105 - x141 += einsum("ija,jkla->kli", r2.bab, x104) * -1 - del x104 - x114 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x114 += einsum("ia,jb->ijab", t1.bb, t1.bb) - x114 += einsum("ijab->jiab", t2.bbbb) * -1 - x114 += einsum("ijab->jiba", t2.bbbb) - r2new_bab += einsum("ija,jkba->kib", x113, x114) * -1 - del x113 - x116 += einsum("i,iabc->abc", r1.a, v.aabb.ovvv) - r2new_bab += einsum("abc,ijac->jib", x116, t2.abab) - del x116 - x117 += einsum("i,iajk->jka", r1.a, v.aabb.ovoo) - r2new_bab += einsum("ija,kiab->jkb", x117, t2.abab) * -1 - del x117 - x118 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x118 += einsum("ia,jkla->jkil", t1.bb, v.aabb.ooov) - x122 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x122 += einsum("ijkl->ijlk", x118) - del x118 - x119 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x119 += einsum("ia,jbka->jikb", t1.bb, v.aabb.ovov) - x120 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x120 += einsum("ijka->ikja", x119) - del x119 - x120 += einsum("iajk->ijka", v.aabb.ovoo) - x121 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x121 += einsum("ia,jkla->jikl", t1.aa, x120) - x122 += einsum("ijkl->ijkl", x121) - del x121 - x149 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x149 += einsum("ijab,ijka->kb", t2.abab, x120) - x156 += einsum("ia->ia", x149) * -1 - x214 += einsum("ia->ia", x149) * -1 - del x149 - x171 += einsum("ija,kjla->kil", r2.aba, x120) * -1 - del x120 - x122 += einsum("ijkl->ijkl", v.aabb.oooo) - r2new_bab += einsum("ija,jkil->lka", r2.bab, x122) - r2new_aba += einsum("ija,ikjl->kla", r2.aba, x122) - del x122 - x123 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x123 += einsum("iabj->ijab", v.aabb.ovvo) - x123 += einsum("ia,jbca->jibc", t1.bb, v.aabb.ovvv) - r2new_bab += einsum("ija,jkab->kib", x10, x123) - del x10 - del x123 - x124 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x124 += einsum("iabc->ibac", v.bbbb.ovvv) - x124 += einsum("iabc->ibca", v.bbbb.ovvv) * -1 - x125 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x125 += einsum("ia,jbac->jibc", t1.bb, x124) * -1 - x130 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x130 += einsum("ia,ibac->bc", t1.bb, x124) - x132 += einsum("ab->ab", x130) * -1 - del x130 - x125 += einsum("iabj->ijba", v.bbbb.ovvo) - x125 += einsum("ijab->ijab", v.bbbb.oovv) * -1 - r2new_bab += einsum("ija,ikba->kjb", r2.bab, x125) - del x125 - x126 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x126 += einsum("ia,ib->ab", f.bb.ov, t1.bb) - x132 += einsum("ab->ba", x126) - del x126 - x127 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x127 += einsum("ia,iabc->bc", t1.aa, v.aabb.ovvv) - x132 += einsum("ab->ab", x127) * -1 - del x127 - x128 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x128 += einsum("ijab->jiba", t2.bbbb) - x128 += einsum("ia,jb->ijba", t1.bb, t1.bb) * -1 - x129 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x129 += einsum("ijab,ijbc->ac", x128, x27) - x132 += einsum("ab->ab", x129) * -1 - del x129 - x148 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x148 += einsum("iabc,ijcb->ja", x124, x128) - del x128 - x156 += einsum("ia->ia", x148) * -1 - x214 += einsum("ia->ia", x148) * -1 - del x148 - x132 += einsum("ab->ab", f.bb.vv) * -1 - x193 = np.zeros((nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x193 += einsum("ab,ijb->ija", x132, r2.bbb) - x215 += einsum("ija->ija", x193) * -1 - del x193 - r2new_bab += einsum("ab,ijb->ija", x132, r2.bab) * -1 - del x132 - x133 += einsum("ij->ij", f.aa.oo) - x173 += einsum("ia,ij->ja", t1.aa, x133) * -1 - r2new_bab += einsum("ij,kia->kja", x133, r2.bab) * -1 - r2new_aba += einsum("ij,ika->jka", x133, r2.aba) * -1 - del x133 - x134 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x134 += einsum("ia,ja->ij", f.bb.ov, t1.bb) - x140 += einsum("ij->ij", x134) - x194 += einsum("ij->ij", x134) - del x134 - x135 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x135 += einsum("ia,iajk->jk", t1.aa, v.aabb.ovoo) - x140 += einsum("ij->ij", x135) - x194 += einsum("ij->ij", x135) - del x135 - x136 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x136 += einsum("ijab->jiba", t2.bbbb) - x136 += einsum("ia,jb->ijab", t1.bb, t1.bb) - x137 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x137 += einsum("ijab,ikba->jk", x136, x27) - del x136 - del x27 - x140 += einsum("ij->ji", x137) * -1 - x194 += einsum("ij->ji", x137) * -1 - del x137 - x195 = np.zeros((nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x195 += einsum("ij,kia->jka", x194, x25) - del x25 - x215 += einsum("ija->jia", x195) * -1 - del x195 - x213 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x213 += einsum("ia,ij->ja", t1.bb, x194) - del x194 - x214 += einsum("ia->ia", x213) * -1 - del x213 - x140 += einsum("ij->ij", f.bb.oo) - x156 += einsum("ia,ij->ja", t1.bb, x140) * -1 - r2new_bab += einsum("ij,ika->jka", x140, r2.bab) * -1 - r2new_aba += einsum("ij,kia->kja", x140, r2.aba) * -1 - del x140 - x141 += einsum("i,ijkl->jkl", r1.a, v.aabb.oooo) - r2new_bab += einsum("ia,jik->kja", t1.bb, x141) * -1 - del x141 - x142 += einsum("i,iabj->jab", r1.a, v.aabb.ovvo) - r2new_bab += einsum("ia,jab->jib", t1.aa, x142) - del x142 - x143 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x143 += einsum("ab,ib->ia", f.bb.vv, t1.bb) - x156 += einsum("ia->ia", x143) - x214 += einsum("ia->ia", x143) - del x143 - x144 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x144 += einsum("ia,iabj->jb", t1.aa, v.aabb.ovvo) - x156 += einsum("ia->ia", x144) - x214 += einsum("ia->ia", x144) - del x144 - x145 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x145 += einsum("ia,jbka->ijkb", t1.bb, v.bbbb.ovov) - x146 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x146 += einsum("ijka->ijka", x145) - x146 += einsum("ijka->ikja", x145) * -1 - x189 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x189 += einsum("ia,jkla->jilk", t1.bb, x145) - x191 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x191 += einsum("ijkl->lkji", x189) - del x189 - x205 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x205 += einsum("ijka->jkia", x145) - x205 += einsum("ijka->kjia", x145) * -1 - del x145 - x146 += einsum("ijka->jika", v.bbbb.ooov) * -1 - x146 += einsum("ijka->jkia", v.bbbb.ooov) - x147 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x147 += einsum("ijab,kjib->ka", t2.bbbb, x146) - del x146 - x156 += einsum("ia->ia", x147) * -1 - x214 += einsum("ia->ia", x147) * -1 - del x147 - x150 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x150 += einsum("ijab->jiab", t2.bbbb) - x150 += einsum("ijab->jiba", t2.bbbb) * -1 - x151 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x151 += einsum("ia,ijab->jb", x14, x150) - del x14 - x156 += einsum("ia->ia", x151) * -1 - x214 += einsum("ia->ia", x151) * -1 - del x151 - x154 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x154 += einsum("iabj->ijba", v.bbbb.ovvo) - x154 += einsum("ijab->ijab", v.bbbb.oovv) * -1 - x155 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x155 += einsum("ia,ijba->jb", t1.bb, x154) - x156 += einsum("ia->ia", x155) - x214 += einsum("ia->ia", x155) - del x155 - x215 += einsum("i,ja->ija", r1.b, x214) - del x214 - x156 += einsum("ai->ia", f.bb.vo) - r2new_bab += einsum("i,ja->jia", r1.a, x156) * -1 - del x156 - x157 = np.zeros((nocc[0], nocc[1], nvir[0]), dtype=types[float]) - x157 += einsum("i,jaik->jka", r1.b, v.aabb.ovoo) - x161 += einsum("ija->ija", x157) - x177 = np.zeros((nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x177 += einsum("ija,ikab->kjb", x157, t2.abab) - del x157 - x215 += einsum("ija->ija", x177) - del x177 - x158 = np.zeros((nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x158 += einsum("i,ja->ija", r1.b, t1.bb) - x158 += einsum("ija->ija", r2.bbb) - x158 += einsum("ija->jia", r2.bbb) * -1 - x159 = np.zeros((nocc[0], nocc[1], nvir[0]), dtype=types[float]) - x159 += einsum("ija,kbia->kjb", x158, v.aabb.ovov) - x161 += einsum("ija->ija", x159) - r2new_aba += einsum("ija,ikba->kjb", x161, x56) * -1 - del x56 - del x161 - x180 += einsum("ija->ija", x159) - del x159 - x181 = np.zeros((nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x181 += einsum("ija,ikab->jkb", x180, t2.abab) - del x180 - x215 += einsum("ija->ija", x181) * -1 - del x181 - x163 = np.zeros((nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x163 += einsum("ija,ikba->jkb", x158, x12) - del x12 - x166 = np.zeros((nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x166 += einsum("ija->jia", x163) - x178 = np.zeros((nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x178 += einsum("ija->ija", x163) - del x163 - x170 = np.zeros((nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x170 += einsum("ija,iabc->jbc", x158, v.bbaa.ovvv) - x171 += einsum("ija,klia->klj", x158, v.aabb.ooov) - x187 = np.zeros((nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x187 += einsum("ija,ikba->kjb", x158, x154) - del x154 - x215 += einsum("ija->jia", x187) * -1 - del x187 - r2new_aba += einsum("ija,iabk->kjb", x158, v.bbaa.ovvo) - del x158 - x162 = np.zeros((nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x162 += einsum("ija,iakb->jkb", r2.aba, v.aabb.ovov) - x166 += einsum("ija->jia", x162) - x178 += einsum("ija->ija", x162) - x179 = np.zeros((nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x179 += einsum("ija,jkba->kib", x178, x150) - del x178 - del x150 - x215 += einsum("ija->jia", x179) * -1 - del x179 - x208 += einsum("ija->ija", x162) - del x162 - x209 = np.zeros((nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x209 += einsum("ia,jka->jki", t1.bb, x208) - del x208 - x210 = np.zeros((nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x210 += einsum("ijk->jki", x209) - del x209 - x164 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x164 += einsum("ijka->ikja", v.bbbb.ooov) - x164 += einsum("ijka->kija", v.bbbb.ooov) * -1 - x165 = np.zeros((nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x165 += einsum("i,jika->jka", r1.b, x164) - del x164 - x166 += einsum("ija->ija", x165) * -1 - r2new_aba += einsum("ija,kiba->kjb", x166, t2.abab) - del x166 - x188 = np.zeros((nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x188 += einsum("ija,ikba->kjb", x165, x114) * -1 - del x114 - del x165 - x215 += einsum("ija->ija", x188) * -1 - del x188 - x167 += einsum("i,iabc->bca", r1.b, v.bbaa.ovvv) - r2new_aba += einsum("abc,ijbc->ija", x167, t2.abab) - del x167 - x168 += einsum("i,jkia->jka", r1.b, v.aabb.ooov) - r2new_aba += einsum("ija,ikba->jkb", x168, t2.abab) * -1 - del x168 - x169 += einsum("iabj->ijba", v.aaaa.ovvo) - x169 += einsum("ijab->ijab", v.aaaa.oovv) * -1 - r2new_aba += einsum("ija,ikba->kjb", r2.aba, x169) - del x169 - x170 += einsum("i,ijab->jab", r1.b, v.bbaa.oovv) - r2new_aba += einsum("ia,jba->ijb", t1.aa, x170) - del x170 - x171 += einsum("i,jkil->jkl", r1.b, v.aabb.oooo) - r2new_aba += einsum("ia,ijk->jka", t1.aa, x171) * -1 - del x171 - x172 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x172 += einsum("ijab->ijab", v.bbaa.oovv) - x172 += einsum("ia,jabc->jibc", t1.bb, v.bbaa.ovvv) - r2new_aba += einsum("ija,jkba->ikb", r2.aba, x172) * -1 - del x172 - x173 += einsum("ai->ia", f.aa.vo) - r2new_aba += einsum("i,ja->jia", r1.b, x173) * -1 - del x173 - x174 = np.zeros((nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x174 += einsum("i,ijak->jka", r1.b, v.bbbb.oovo) - x215 += einsum("ija->ija", x174) * -1 - del x174 - x175 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x175 += einsum("ij,ia->ja", f.bb.oo, t1.bb) - x215 += einsum("i,ja->jia", r1.b, x175) - del x175 - x176 = np.zeros((nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x176 += einsum("ija,iabk->jkb", r2.aba, v.aabb.ovvo) - x215 += einsum("ija->ija", x176) * -1 - del x176 - x182 = np.zeros((nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x182 += einsum("i,iabc->bac", r1.b, v.bbbb.ovvv) - x185 = np.zeros((nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x185 += einsum("abc->abc", x182) * -1 - x198 = np.zeros((nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x198 += einsum("ia,bac->ibc", t1.bb, x182) - del x182 - x201 = np.zeros((nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x201 += einsum("iab->iab", x198) - del x198 - x183 = np.zeros((nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x183 += einsum("ija->ija", r2.bbb) - x183 += einsum("i,ja->ija", r1.b, t1.bb) - x184 = np.zeros((nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x184 += einsum("ija,jbic->abc", x183, v.bbbb.ovov) - del x183 - x185 += einsum("abc->acb", x184) - del x184 - x186 = np.zeros((nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x186 += einsum("abc,ijcb->ija", x185, t2.bbbb) - del x185 - x215 += einsum("ija->jia", x186) - del x186 - x190 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x190 += einsum("ia,jkla->ijlk", t1.bb, v.bbbb.ooov) - x191 += einsum("ijkl->jkli", x190) - x191 += einsum("ijkl->kjli", x190) * -1 - del x190 - x191 += einsum("ijkl->kilj", v.bbbb.oooo) - x192 = np.zeros((nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x192 += einsum("ija,jikl->kla", r2.bbb, x191) - del x191 - x215 += einsum("ija->jia", x192) - del x192 - x197 = np.zeros((nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x197 += einsum("ija,iabc->jbc", r2.aba, v.aabb.ovvv) - x201 += einsum("iab->iab", x197) - del x197 - x199 = np.zeros((nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x199 += einsum("ija->ija", r2.bbb) * -1 - x199 += einsum("ija->jia", r2.bbb) - x200 = np.zeros((nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x200 += einsum("ija,jbac->ibc", x199, x124) - del x124 - x201 += einsum("iab->iab", x200) - del x200 - x202 = np.zeros((nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x202 += einsum("ia,jba->jib", t1.bb, x201) - del x201 - x215 += einsum("ija->ija", x202) * -1 - del x202 - x212 = np.zeros((nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x212 += einsum("ij,kia->kja", f.bb.oo, x199) - x215 += einsum("ija->jia", x212) * -1 - del x212 - x203 = np.zeros((nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x203 += einsum("i,jkil->jkl", r1.b, v.bbbb.oooo) - x210 += einsum("ijk->ijk", x203) - del x203 - x204 = np.zeros((nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x204 += einsum("ija,iakl->jkl", r2.aba, v.aabb.ovoo) - x210 += einsum("ijk->jki", x204) - del x204 - x205 += einsum("ijka->ikja", v.bbbb.ooov) * -1 - x205 += einsum("ijka->kija", v.bbbb.ooov) - x206 = np.zeros((nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x206 += einsum("ija,jkla->ikl", x199, x205) - del x205 - del x199 - x210 += einsum("ijk->jki", x206) - del x206 - x211 = np.zeros((nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x211 += einsum("ia,ijk->jka", t1.bb, x210) - del x210 - x215 += einsum("ija->jia", x211) - del x211 - r2new_bbb = np.zeros((nocc[1], nocc[1], nvir[1]), dtype=types[float]) - r2new_bbb += einsum("ija->ija", x215) - r2new_bbb += einsum("ija->jia", x215) * -1 - del x215 - r1new_a -= einsum("i,ij->j", r1.a, f.aa.oo) - r1new_b -= einsum("i,ij->j", r1.b, f.bb.oo) - r2new_aaa -= einsum("i,aj->jia", r1.a, f.aa.vo) - r2new_aaa += einsum("i,aj->ija", r1.a, f.aa.vo) - r2new_bab += einsum("i,ijak->kja", r1.a, v.aabb.oovo) - r2new_aba += einsum("i,ijak->kja", r1.b, v.bbaa.oovo) - r2new_bbb -= einsum("i,aj->jia", r1.b, f.bb.vo) - r2new_bbb += einsum("i,aj->ija", r1.b, f.bb.vo) - - r1new = Namespace(a=r1new_a, b=r1new_b) - r2new = Namespace(aaa=r2new_aaa, aba=r2new_aba, bab=r2new_bab, bbb=r2new_bbb) - - return r1new, r2new - -def hbar_matvec_ea(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, l1=None, l2=None, r1=None, r2=None, **kwargs): - x0 = np.zeros((nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x0 += einsum("a,iajb->ijb", r1.a, v.aabb.ovov) - r1new_a = np.zeros((nvir[0]), dtype=types[float]) - r1new_a += einsum("ija,ijba->b", x0, t2.abab) * -1 - del x0 - x1 = np.zeros((nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x1 += einsum("abi->iab", r2.aaa) - x1 += einsum("a,ib->iab", r1.a, t1.aa) * -1 - x2 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x2 += einsum("iabc->ibac", v.aaaa.ovvv) * -1 - x2 += einsum("iabc->ibca", v.aaaa.ovvv) - x48 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x48 += einsum("ia,jbca->ijbc", t1.aa, x2) - x49 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x49 += einsum("ijab->ijab", x48) * -1 - x159 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x159 += einsum("ijab->jiab", x48) * -1 - del x48 - x55 = np.zeros((nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x55 += einsum("a,ibca->ibc", r1.a, x2) - x107 = np.zeros((nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x107 += einsum("iab->iab", x55) * -1 - x73 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x73 += einsum("ia,ibca->bc", t1.aa, x2) - x76 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x76 += einsum("ab->ab", x73) * -1 - x120 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x120 += einsum("ab->ab", x73) * -1 - del x73 - x87 = np.zeros((nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x87 += einsum("abi,jcba->ijc", r2.aaa, x2) - x90 = np.zeros((nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x90 += einsum("ija->jia", x87) * -1 - del x87 - r1new_a += einsum("iab,icab->c", x1, x2) * -1 - x3 = np.zeros((nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x3 += einsum("abi->iba", r2.bab) - x3 += einsum("a,ib->iab", r1.a, t1.bb) - x18 = np.zeros((nocc[0]), dtype=types[float]) - x18 += einsum("iab,jaib->j", x3, v.aabb.ovov) - x19 = np.zeros((nocc[0]), dtype=types[float]) - x19 += einsum("i->i", x18) - del x18 - x117 = np.zeros((nocc[0], nvir[1], nvir[1]), dtype=types[float]) - x117 += einsum("iab,jaic->jbc", x3, v.aabb.ovov) - x119 = np.zeros((nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x119 += einsum("iab,jakb->jki", x3, v.aabb.ovov) - x136 = np.zeros((nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x136 += einsum("iab,jacb->jic", x3, v.aabb.ovvv) - x137 = np.zeros((nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x137 += einsum("iab,jbca->jic", x3, v.bbaa.ovvv) - r1new_a += einsum("iab,ibca->c", x3, v.bbaa.ovvv) - r2new_bab = np.zeros((nvir[1], nvir[0], nocc[1]), dtype=types[float]) - r2new_bab += einsum("iab,cadb->dci", x3, v.aabb.vvvv) * -1 - del x3 - x4 = np.zeros((nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x4 += einsum("a,iajb->jib", r1.a, v.aaaa.ovov) - x5 = np.zeros((nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x5 += einsum("ija->ija", x4) - x5 += einsum("ija->jia", x4) * -1 - r1new_a += einsum("ija,ijab->b", x5, t2.aaaa) * -1 - del x5 - x66 = np.zeros((nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x66 += einsum("ia,jka->ikj", t1.aa, x4) - del x4 - x67 = np.zeros((nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x67 += einsum("ijk->jki", x66) * -1 - del x66 - x6 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x6 += einsum("ia,jbia->jb", t1.bb, v.aabb.ovov) - x9 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x9 += einsum("ia->ia", x6) - del x6 - x7 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x7 += einsum("iajb->jiab", v.aaaa.ovov) - x7 += einsum("iajb->jiba", v.aaaa.ovov) * -1 - x8 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x8 += einsum("ia,ijab->jb", t1.aa, x7) - x9 += einsum("ia->ia", x8) * -1 - del x8 - x153 = np.zeros((nocc[0], nvir[0], nvir[1]), dtype=types[float]) - x153 += einsum("abi,ijac->jcb", r2.aba, x7) * -1 - x9 += einsum("ia->ia", f.aa.ov) - x144 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x144 += einsum("ia,ijab->jb", x9, t2.abab) - x149 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x149 += einsum("ia->ia", x144) - x197 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x197 += einsum("ia->ia", x144) * -1 - del x144 - r1new_b = np.zeros((nvir[1]), dtype=types[float]) - r1new_b += einsum("ia,abi->b", x9, r2.aba) - x10 = np.zeros((nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x10 += einsum("abi->iab", r2.aaa) - x10 += einsum("abi->iba", r2.aaa) * -1 - x92 = np.zeros((nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x92 += einsum("ab,ibc->iac", f.aa.vv, x10) - x104 = np.zeros((nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x104 += einsum("iab->iab", x92) * -1 - del x92 - r1new_a += einsum("ia,iba->b", x9, x10) * -1 - x11 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x11 += einsum("ia,iajb->jb", t1.aa, v.aabb.ovov) - x14 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x14 += einsum("ia->ia", x11) - del x11 - x12 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x12 += einsum("iajb->jiab", v.bbbb.ovov) - x12 += einsum("iajb->jiba", v.bbbb.ovov) * -1 - x13 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x13 += einsum("ia,ijab->jb", t1.bb, x12) - x14 += einsum("ia->ia", x13) * -1 - del x13 - x105 = np.zeros((nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x105 += einsum("abi,ijac->jbc", r2.bab, x12) * -1 - x14 += einsum("ia->ia", f.bb.ov) - x99 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x99 += einsum("ia,jiba->jb", x14, t2.abab) - x103 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x103 += einsum("ia->ia", x99) * -1 - x165 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x165 += einsum("ia->ia", x99) - del x99 - r1new_a += einsum("ia,abi->b", x14, r2.bab) - x15 = np.zeros((nocc[0]), dtype=types[float]) - x15 += einsum("a,ia->i", r1.a, f.aa.ov) - x19 += einsum("i->i", x15) - del x15 - x16 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x16 += einsum("iajb->jiab", v.aaaa.ovov) * -1 - x16 += einsum("iajb->jiba", v.aaaa.ovov) - x17 = np.zeros((nocc[0]), dtype=types[float]) - x17 += einsum("iab,ijba->j", x1, x16) - del x1 - x19 += einsum("i->i", x17) * -1 - del x17 - x86 = np.zeros((nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x86 += einsum("i,ijab->jab", x19, t2.aaaa) - x104 += einsum("iab->iba", x86) - del x86 - r1new_a += einsum("i,ia->a", x19, t1.aa) * -1 - r2new_bab += einsum("i,ijab->baj", x19, t2.abab) - del x19 - x174 = np.zeros((nocc[0], nvir[0], nvir[1]), dtype=types[float]) - x174 += einsum("abi,ijac->jcb", r2.aba, x16) - x175 = np.zeros((nocc[0], nvir[0], nvir[1]), dtype=types[float]) - x175 += einsum("iab->iab", x174) * -1 - del x174 - x20 = np.zeros((nocc[0], nocc[1], nvir[0]), dtype=types[float]) - x20 += einsum("a,ibja->ijb", r1.b, v.aabb.ovov) - r1new_b += einsum("ija,ijab->b", x20, t2.abab) * -1 - del x20 - x21 = np.zeros((nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x21 += einsum("abi->iab", r2.bbb) - x21 += einsum("a,ib->iab", r1.b, t1.bb) * -1 - x181 = np.zeros((nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x181 += einsum("iab,jbka->jki", x21, v.bbbb.ovov) - x182 = np.zeros((nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x182 += einsum("ijk->jik", x181) - del x181 - x187 = np.zeros((nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x187 += einsum("iab,cbda->icd", x21, v.bbbb.vvvv) - x198 = np.zeros((nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x198 += einsum("iab->iba", x187) * -1 - del x187 - x22 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x22 += einsum("iabc->ibac", v.bbbb.ovvv) - x22 += einsum("iabc->ibca", v.bbbb.ovvv) * -1 - x116 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x116 += einsum("ia,jbac->jibc", t1.bb, x22) * -1 - x125 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x125 += einsum("ia,ibac->bc", t1.bb, x22) - x127 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x127 += einsum("ab->ab", x125) * -1 - x184 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x184 += einsum("ab->ab", x125) * -1 - del x125 - x156 = np.zeros((nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x156 += einsum("a,ibac->ibc", r1.b, x22) - x157 = np.zeros((nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x157 += einsum("iab->iab", x156) * -1 - r1new_b += einsum("iab,icba->c", x21, x22) * -1 - x23 = np.zeros((nocc[0], nvir[0], nvir[1]), dtype=types[float]) - x23 += einsum("abi->iab", r2.aba) - x23 += einsum("a,ib->iba", r1.b, t1.aa) - x30 = np.zeros((nocc[1]), dtype=types[float]) - x30 += einsum("iab,iajb->j", x23, v.aabb.ovov) - x31 = np.zeros((nocc[1]), dtype=types[float]) - x31 += einsum("i->i", x30) - del x30 - x160 = np.zeros((nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x160 += einsum("iab,icjb->jac", x23, v.aabb.ovov) - x162 = np.zeros((nocc[0], nocc[0], nocc[1]), dtype=types[float]) - x162 += einsum("iab,jakb->jik", x23, v.aabb.ovov) - x163 = np.zeros((nocc[0], nocc[0], nvir[1]), dtype=types[float]) - x163 += einsum("iab,jacb->jic", x23, v.aabb.ovvv) - x164 = np.zeros((nocc[0], nocc[1], nvir[0]), dtype=types[float]) - x164 += einsum("iab,jbca->ijc", x23, v.bbaa.ovvv) - r1new_b += einsum("iab,iacb->c", x23, v.aabb.ovvv) - r2new_aba = np.zeros((nvir[0], nvir[1], nocc[0]), dtype=types[float]) - r2new_aba += einsum("iab,cadb->cdi", x23, v.aabb.vvvv) * -1 - del x23 - x24 = np.zeros((nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x24 += einsum("a,iajb->jib", r1.b, v.bbbb.ovov) - x25 = np.zeros((nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x25 += einsum("ija->ija", x24) * -1 - x25 += einsum("ija->jia", x24) - del x24 - r1new_b += einsum("ija,jiab->b", x25, t2.bbbb) * -1 - del x25 - x26 = np.zeros((nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x26 += einsum("abi->iab", r2.bbb) - x26 += einsum("abi->iba", r2.bbb) * -1 - r1new_b += einsum("ia,iba->b", x14, x26) * -1 - del x26 - x27 = np.zeros((nocc[1]), dtype=types[float]) - x27 += einsum("a,ia->i", r1.b, f.bb.ov) - x31 += einsum("i->i", x27) - del x27 - x28 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x28 += einsum("iajb->jiab", v.bbbb.ovov) * -1 - x28 += einsum("iajb->jiba", v.bbbb.ovov) - x29 = np.zeros((nocc[1]), dtype=types[float]) - x29 += einsum("iab,ijba->j", x21, x28) - del x21 - x31 += einsum("i->i", x29) * -1 - del x29 - x188 = np.zeros((nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x188 += einsum("i,ijab->jab", x31, t2.bbbb) - x198 += einsum("iab->iba", x188) - del x188 - r1new_b += einsum("i,ia->a", x31, t1.bb) * -1 - r2new_aba += einsum("i,jiab->abj", x31, t2.abab) - del x31 - x52 = np.zeros((nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x52 += einsum("abi,ijac->jbc", r2.bab, x28) - x53 = np.zeros((nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x53 += einsum("iab->iab", x52) * -1 - del x52 - x32 = np.zeros((nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x32 += einsum("a,bica->ibc", r1.a, v.aaaa.vovv) - x104 += einsum("iab->iab", x32) * -1 - del x32 - x33 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x33 += einsum("ab,ib->ia", f.aa.vv, t1.aa) - x104 += einsum("a,ib->iba", r1.a, x33) * -1 - x165 += einsum("ia->ia", x33) - del x33 - x34 = np.zeros((nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x34 += einsum("abi,cbda->idc", r2.aaa, v.aaaa.vvvv) - x104 += einsum("iab->iab", x34) * -1 - del x34 - x35 = np.zeros((nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x35 += einsum("a,bcda->bdc", r1.a, v.aaaa.vvvv) - x36 = np.zeros((nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x36 += einsum("ia,bca->icb", t1.aa, x35) - del x35 - x104 += einsum("iab->iab", x36) - del x36 - x37 = np.zeros((nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x37 += einsum("a,ibca->icb", r1.a, v.bbaa.ovvv) - x38 = np.zeros((nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x38 += einsum("iab,jicb->jca", x37, t2.abab) - x104 += einsum("iab->iab", x38) * -1 - del x38 - x105 += einsum("iab->iab", x37) - del x37 - x39 = np.zeros((nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x39 += einsum("abi,jcia->jbc", r2.bab, v.aabb.ovov) - x42 = np.zeros((nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x42 += einsum("iab->iab", x39) - x107 += einsum("iab->iab", x39) - del x39 - x40 = np.zeros((nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x40 += einsum("a,ib->iab", r1.a, t1.aa) - x40 += einsum("abi->iab", r2.aaa) * -1 - x40 += einsum("abi->iba", r2.aaa) - x41 = np.zeros((nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x41 += einsum("iab,ijca->jcb", x40, x7) - x42 += einsum("iab->iba", x41) * -1 - x107 += einsum("iab->iba", x41) * -1 - del x41 - r2new_bab += einsum("iab,ijbc->caj", x107, t2.abab) * -1 - del x107 - x51 = np.zeros((nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x51 += einsum("iab,iajc->jbc", x40, v.aabb.ovov) - del x40 - x53 += einsum("iab->iab", x51) - x54 = np.zeros((nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x54 += einsum("iab,jicb->jca", x53, t2.abab) - del x53 - x104 += einsum("iab->iba", x54) * -1 - del x54 - x105 += einsum("iab->iab", x51) * -1 - del x51 - x43 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x43 += einsum("ijab->jiab", t2.aaaa) - x43 += einsum("ijab->jiba", t2.aaaa) * -1 - x44 = np.zeros((nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x44 += einsum("iab,ijbc->jac", x42, x43) - del x42 - x104 += einsum("iab->iab", x44) * -1 - del x44 - x165 += einsum("ia,ijab->jb", x9, x43) * -1 - x45 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x45 += einsum("ia,jakb->ikjb", t1.aa, v.aaaa.ovov) - x46 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x46 += einsum("ijka->ijka", x45) * -1 - x46 += einsum("ijka->ikja", x45) - del x45 - x46 += einsum("ijka->jika", v.aaaa.ooov) - x46 += einsum("ijka->jkia", v.aaaa.ooov) * -1 - x47 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x47 += einsum("ia,jikb->jkab", t1.aa, x46) - x49 += einsum("ijab->ijab", x47) * -1 - x159 += einsum("ijab->jiab", x47) * -1 - del x47 - x94 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x94 += einsum("ijab,kija->kb", t2.aaaa, x46) - x103 += einsum("ia->ia", x94) * -1 - del x94 - x165 += einsum("ijab,kjia->kb", t2.aaaa, x46) * -1 - del x46 - x49 += einsum("iabj->jiba", v.aaaa.ovvo) - x49 += einsum("ijab->jiab", v.aaaa.oovv) * -1 - x50 = np.zeros((nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x50 += einsum("iab,jica->jbc", x10, x49) - del x49 - x104 += einsum("iab->iab", x50) - del x50 - x56 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x56 += einsum("ia,jb->ijab", t1.aa, t1.aa) - x56 += einsum("ijab->jiab", t2.aaaa) * -1 - x56 += einsum("ijab->jiba", t2.aaaa) - x57 = np.zeros((nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x57 += einsum("iab,ijcb->jca", x55, x56) * -1 - del x56 - del x55 - x104 += einsum("iab->iab", x57) - del x57 - x58 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x58 += einsum("ia,jbca->ijcb", t1.aa, v.bbaa.ovvv) - x62 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x62 += einsum("ijab->ijab", x58) - del x58 - x59 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x59 += einsum("ia,jakb->ijkb", t1.aa, v.aabb.ovov) - x60 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x60 += einsum("ijka->jika", x59) - del x59 - x60 += einsum("ijka->ijka", v.aabb.ooov) - x61 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x61 += einsum("ia,ijkb->jkab", t1.aa, x60) - x62 += einsum("ijab->ijab", x61) * -1 - del x61 - x96 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x96 += einsum("ijab,ikjb->ka", t2.abab, x60) - x103 += einsum("ia->ia", x96) - x165 += einsum("ia->ia", x96) * -1 - del x96 - x161 = np.zeros((nocc[0], nocc[0], nvir[1], nvir[1]), dtype=types[float]) - x161 += einsum("ia,jkib->jkab", t1.bb, x60) * -1 - del x60 - x62 += einsum("iabj->jiba", v.bbaa.ovvo) - x63 = np.zeros((nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x63 += einsum("abi,jica->jbc", r2.bab, x62) - x104 += einsum("iab->iab", x63) - del x63 - x64 = np.zeros((nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x64 += einsum("a,ijka->ikj", r1.a, v.aaaa.ooov) - x67 += einsum("ijk->ijk", x64) - del x64 - x65 = np.zeros((nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x65 += einsum("abi,jbka->ikj", r2.aaa, v.aaaa.ovov) - x67 += einsum("ijk->jki", x65) - del x65 - x68 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x68 += einsum("ijab->jiba", t2.aaaa) - x68 += einsum("ia,jb->ijab", t1.aa, t1.aa) - x69 = np.zeros((nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x69 += einsum("ijk,jiab->kab", x67, x68) - del x67 - x104 += einsum("iab->iba", x69) * -1 - del x69 - x72 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x72 += einsum("ijab,ijac->bc", x68, x7) - del x7 - x76 += einsum("ab->ab", x72) * -1 - x120 += einsum("ab->ab", x72) * -1 - del x72 - x80 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x80 += einsum("ijab,ikba->kj", x16, x68) - del x16 - x84 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x84 += einsum("ij->ji", x80) * -1 - del x80 - x95 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x95 += einsum("iabc,ijcb->ja", x2, x68) - x103 += einsum("ia->ia", x95) * -1 - del x95 - x165 += einsum("iabc,ijbc->ja", x2, x68) * -1 - del x2 - del x68 - x70 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x70 += einsum("ia,ib->ab", f.aa.ov, t1.aa) - x76 += einsum("ab->ba", x70) - x120 += einsum("ab->ba", x70) - del x70 - x71 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x71 += einsum("ia,iabc->bc", t1.bb, v.bbaa.ovvv) - x76 += einsum("ab->ab", x71) * -1 - x120 += einsum("ab->ab", x71) * -1 - del x71 - x74 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x74 += einsum("ijab->ijab", t2.abab) - x74 += einsum("ia,jb->ijab", t1.aa, t1.bb) - x75 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x75 += einsum("iajb,ijcb->ca", v.aabb.ovov, x74) - x76 += einsum("ab->ab", x75) - x77 = np.zeros((nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x77 += einsum("ab,ibc->iac", x76, x10) - del x10 - del x76 - x104 += einsum("iab->iba", x77) * -1 - del x77 - x120 += einsum("ab->ab", x75) - del x75 - x83 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x83 += einsum("iajb,kjab->ki", v.aabb.ovov, x74) - x84 += einsum("ij->ji", x83) - del x83 - x100 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x100 += einsum("iabc,jica->jb", v.bbaa.ovvv, x74) - x103 += einsum("ia->ia", x100) * -1 - x165 += einsum("ia->ia", x100) - del x100 - x126 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x126 += einsum("iajb,ijac->cb", v.aabb.ovov, x74) - x127 += einsum("ab->ab", x126) - x184 += einsum("ab->ab", x126) - del x126 - x134 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x134 += einsum("iajb,ikab->kj", v.aabb.ovov, x74) - x135 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x135 += einsum("ij->ji", x134) - del x134 - x145 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x145 += einsum("iabc,ijac->jb", v.aabb.ovvv, x74) - x149 += einsum("ia->ia", x145) - x197 += einsum("ia->ia", x145) * -1 - del x145 - x78 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x78 += einsum("ia,ja->ij", f.aa.ov, t1.aa) - x84 += einsum("ij->ij", x78) - del x78 - x79 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x79 += einsum("ia,jkia->jk", t1.bb, v.aabb.ooov) - x84 += einsum("ij->ij", x79) - del x79 - x81 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x81 += einsum("ijka->ikja", v.aaaa.ooov) * -1 - x81 += einsum("ijka->kija", v.aaaa.ooov) - x82 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x82 += einsum("ia,jika->jk", t1.aa, x81) - del x81 - x84 += einsum("ij->ij", x82) * -1 - del x82 - x84 += einsum("ij->ij", f.aa.oo) - x85 = np.zeros((nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x85 += einsum("ij,abi->jab", x84, r2.aaa) - x104 += einsum("iab->iab", x85) - del x85 - x102 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x102 += einsum("ia,ij->ja", t1.aa, x84) - x103 += einsum("ia->ia", x102) - x165 += einsum("ia->ia", x102) * -1 - del x102 - r2new_aba += einsum("ij,abi->abj", x84, r2.aba) - del x84 - x88 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x88 += einsum("iabj->ijba", v.aaaa.ovvo) - x88 += einsum("ijab->ijab", v.aaaa.oovv) * -1 - x89 = np.zeros((nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x89 += einsum("a,ijba->ijb", r1.a, x88) - x90 += einsum("ija->ija", x89) - del x89 - x91 = np.zeros((nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x91 += einsum("ia,ijb->jba", t1.aa, x90) - del x90 - x104 += einsum("iab->iba", x91) * -1 - del x91 - x101 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x101 += einsum("ia,ijba->jb", t1.aa, x88) - del x88 - x103 += einsum("ia->ia", x101) * -1 - x165 += einsum("ia->ia", x101) - del x101 - x93 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x93 += einsum("ia,iabj->jb", t1.bb, v.bbaa.ovvo) - x103 += einsum("ia->ia", x93) * -1 - x165 += einsum("ia->ia", x93) - del x93 - x97 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x97 += einsum("ijab->jiab", t2.aaaa) * -1 - x97 += einsum("ijab->jiba", t2.aaaa) - x98 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x98 += einsum("ia,ijab->jb", x9, x97) - del x9 - del x97 - x103 += einsum("ia->ia", x98) * -1 - del x98 - x104 += einsum("a,ib->iab", r1.a, x103) * -1 - del x103 - r2new_aaa = np.zeros((nvir[0], nvir[0], nocc[0]), dtype=types[float]) - r2new_aaa += einsum("iab->abi", x104) - r2new_aaa += einsum("iab->bai", x104) * -1 - del x104 - x106 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x106 += einsum("ijab->jiab", t2.bbbb) * -1 - x106 += einsum("ijab->jiba", t2.bbbb) - x196 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x196 += einsum("ia,ijab->jb", x14, x106) - x197 += einsum("ia->ia", x196) * -1 - del x196 - r2new_bab += einsum("iab,ijbc->caj", x105, x106) * -1 - del x105 - x108 = np.zeros((nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x108 += einsum("abi->iab", r2.aaa) * -1 - x108 += einsum("abi->iba", r2.aaa) - x109 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x109 += einsum("ia,jbca->jibc", t1.bb, v.aabb.ovvv) - x113 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x113 += einsum("ijab->ijab", x109) - del x109 - x110 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x110 += einsum("ia,jbka->jikb", t1.bb, v.aabb.ovov) - x111 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x111 += einsum("ijka->ikja", x110) - del x110 - x111 += einsum("iajk->ijka", v.aabb.ovoo) - x112 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x112 += einsum("ia,jikb->jkba", t1.bb, x111) - x113 += einsum("ijab->ijab", x112) * -1 - del x112 - x118 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x118 += einsum("ia,ijkb->jkab", t1.aa, x111) * -1 - x142 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x142 += einsum("ijab,ijka->kb", t2.abab, x111) - del x111 - x149 += einsum("ia->ia", x142) * -1 - x197 += einsum("ia->ia", x142) - del x142 - x113 += einsum("iabj->ijab", v.aabb.ovvo) - x179 = np.zeros((nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x179 += einsum("abi,ijac->jcb", r2.aba, x113) - x198 += einsum("iab->iba", x179) - del x179 - r2new_bab += einsum("iab,ijbc->caj", x108, x113) * -1 - del x113 - del x108 - x114 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x114 += einsum("ia,jbka->ijkb", t1.bb, v.bbbb.ovov) - x115 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x115 += einsum("ijka->ijka", x114) - x115 += einsum("ijka->ikja", x114) * -1 - x140 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x140 += einsum("ijka->ijka", x114) * -1 - x140 += einsum("ijka->ikja", x114) - del x114 - x115 += einsum("ijka->jika", v.bbbb.ooov) * -1 - x115 += einsum("ijka->jkia", v.bbbb.ooov) - x116 += einsum("ia,jkib->kjab", t1.bb, x115) * -1 - del x115 - x116 += einsum("iabj->ijba", v.bbbb.ovvo) - x116 += einsum("ijab->ijab", v.bbbb.oovv) * -1 - r2new_bab += einsum("abi,ijca->cbj", r2.bab, x116) * -1 - del x116 - x117 += einsum("a,iabc->ibc", r1.a, v.aabb.ovvv) * -1 - r2new_bab += einsum("iab,ijcb->acj", x117, t2.abab) * -1 - del x117 - x118 += einsum("ijab->ijab", v.bbaa.oovv) - x118 += einsum("ia,jabc->jibc", t1.bb, v.bbaa.ovvv) - r2new_bab += einsum("abi,ijcb->acj", r2.bab, x118) - del x118 - x119 += einsum("a,iajk->ijk", r1.a, v.aabb.ovoo) - r2new_bab += einsum("ijk,ijab->bak", x119, x74) * -1 - del x119 - x120 += einsum("ab->ab", f.aa.vv) * -1 - r2new_bab += einsum("ab,cbi->cai", x120, r2.bab) - r2new_aba += einsum("ab,bci->aci", x120, r2.aba) - del x120 - x121 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x121 += einsum("ia,ib->ab", f.bb.ov, t1.bb) - x127 += einsum("ab->ba", x121) - x184 += einsum("ab->ba", x121) - del x121 - x122 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x122 += einsum("ia,iabc->bc", t1.aa, v.aabb.ovvv) - x127 += einsum("ab->ab", x122) * -1 - x184 += einsum("ab->ab", x122) * -1 - del x122 - x123 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x123 += einsum("ijab->jiba", t2.bbbb) - x123 += einsum("ia,jb->ijab", t1.bb, t1.bb) - x124 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x124 += einsum("ijab,ijca->bc", x123, x28) - x127 += einsum("ab->ab", x124) * -1 - x184 += einsum("ab->ab", x124) * -1 - del x124 - x127 += einsum("ab->ab", f.bb.vv) * -1 - r2new_bab += einsum("ab,bci->aci", x127, r2.bab) - r2new_aba += einsum("ab,cbi->cai", x127, r2.aba) - del x127 - x128 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x128 += einsum("ia,ja->ij", f.bb.ov, t1.bb) - x135 += einsum("ij->ij", x128) - del x128 - x129 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x129 += einsum("ia,iajk->jk", t1.aa, v.aabb.ovoo) - x135 += einsum("ij->ij", x129) - del x129 - x130 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x130 += einsum("ijab->jiba", t2.bbbb) - x130 += einsum("ia,jb->ijba", t1.bb, t1.bb) * -1 - x131 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x131 += einsum("ijab,ikba->jk", x130, x28) - del x28 - x135 += einsum("ij->ji", x131) * -1 - del x131 - x195 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x195 += einsum("ijab,icab->jc", x130, x22) - del x22 - x197 += einsum("ia->ia", x195) * -1 - del x195 - x132 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x132 += einsum("ijka->ikja", v.bbbb.ooov) * -1 - x132 += einsum("ijka->kija", v.bbbb.ooov) - x133 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x133 += einsum("ia,jika->jk", t1.bb, x132) - del x132 - x135 += einsum("ij->ij", x133) * -1 - del x133 - x135 += einsum("ij->ij", f.bb.oo) - x148 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x148 += einsum("ia,ij->ja", t1.bb, x135) - x149 += einsum("ia->ia", x148) * -1 - x197 += einsum("ia->ia", x148) - del x148 - x186 = np.zeros((nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x186 += einsum("ij,abi->jab", x135, r2.bbb) - x198 += einsum("iab->iab", x186) - del x186 - r2new_bab += einsum("ij,abi->abj", x135, r2.bab) - del x135 - x136 += einsum("a,iabj->ijb", r1.a, v.aabb.ovvo) - r2new_bab += einsum("ia,ijb->baj", t1.aa, x136) - del x136 - x137 += einsum("a,ijba->ijb", r1.a, v.bbaa.oovv) - r2new_bab += einsum("ia,ijb->abj", t1.bb, x137) - del x137 - x138 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x138 += einsum("ab,ib->ia", f.bb.vv, t1.bb) - x149 += einsum("ia->ia", x138) - x198 += einsum("a,ib->iba", r1.b, x138) * -1 - del x138 - x139 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x139 += einsum("ia,iabj->jb", t1.aa, v.aabb.ovvo) - x149 += einsum("ia->ia", x139) - x197 += einsum("ia->ia", x139) * -1 - del x139 - x140 += einsum("ijka->jika", v.bbbb.ooov) - x140 += einsum("ijka->jkia", v.bbbb.ooov) * -1 - x149 += einsum("ijab,kjia->kb", t2.bbbb, x140) * -1 - x170 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x170 += einsum("ia,jikb->jkba", t1.bb, x140) - x172 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x172 += einsum("ijab->ijba", x170) * -1 - del x170 - x194 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x194 += einsum("ijab,kija->kb", t2.bbbb, x140) - del x140 - x197 += einsum("ia->ia", x194) * -1 - del x194 - x141 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x141 += einsum("iabc->ibac", v.bbbb.ovvv) * -1 - x141 += einsum("iabc->ibca", v.bbbb.ovvv) - x149 += einsum("ijab,icab->jc", x130, x141) * -1 - del x130 - x171 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x171 += einsum("ia,jbca->jibc", t1.bb, x141) - x172 += einsum("ijab->jiab", x171) * -1 - del x171 - x189 = np.zeros((nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x189 += einsum("abi,jcba->jic", r2.bbb, x141) - del x141 - x191 = np.zeros((nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x191 += einsum("ija->ija", x189) * -1 - del x189 - x143 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x143 += einsum("ijab->jiab", t2.bbbb) - x143 += einsum("ijab->jiba", t2.bbbb) * -1 - x149 += einsum("ia,ijab->jb", x14, x143) * -1 - del x14 - del x143 - x146 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x146 += einsum("iabj->ijba", v.bbbb.ovvo) - x146 += einsum("ijab->ijab", v.bbbb.oovv) * -1 - x147 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x147 += einsum("ia,ijba->jb", t1.bb, x146) - x149 += einsum("ia->ia", x147) - x197 += einsum("ia->ia", x147) * -1 - del x147 - x198 += einsum("a,ib->iab", r1.b, x197) * -1 - del x197 - x190 = np.zeros((nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x190 += einsum("a,ijba->ijb", r1.b, x146) - del x146 - x191 += einsum("ija->ija", x190) - del x190 - x192 = np.zeros((nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x192 += einsum("ia,ijb->jba", t1.bb, x191) - del x191 - x198 += einsum("iab->iba", x192) * -1 - del x192 - x149 += einsum("ai->ia", f.bb.vo) - r2new_bab += einsum("a,ib->bai", r1.a, x149) * -1 - del x149 - x150 = np.zeros((nocc[0], nvir[0], nvir[1]), dtype=types[float]) - x150 += einsum("a,ibca->ibc", r1.b, v.aabb.ovvv) - x153 += einsum("iab->iab", x150) - x167 = np.zeros((nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x167 += einsum("iab,ijac->jcb", x150, t2.abab) - del x150 - x198 += einsum("iab->iab", x167) * -1 - del x167 - x151 = np.zeros((nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x151 += einsum("a,ib->iab", r1.b, t1.bb) - x151 += einsum("abi->iab", r2.bbb) * -1 - x151 += einsum("abi->iba", r2.bbb) - x152 = np.zeros((nocc[0], nvir[0], nvir[1]), dtype=types[float]) - x152 += einsum("iab,jcia->jcb", x151, v.aabb.ovov) - x153 += einsum("iab->iab", x152) * -1 - r2new_aba += einsum("iab,ijac->cbj", x153, x43) - del x153 - del x43 - x175 += einsum("iab->iab", x152) - del x152 - x176 = np.zeros((nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x176 += einsum("iab,ijac->jbc", x175, t2.abab) - del x175 - x198 += einsum("iab->iab", x176) * -1 - del x176 - x155 = np.zeros((nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x155 += einsum("iab,ijca->jbc", x151, x12) - del x12 - del x151 - x157 += einsum("iab->iab", x155) * -1 - x168 = np.zeros((nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x168 += einsum("iab->iab", x155) * -1 - del x155 - x154 = np.zeros((nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x154 += einsum("abi,iajc->jbc", r2.aba, v.aabb.ovov) - x157 += einsum("iab->iab", x154) - r2new_aba += einsum("iab,jicb->caj", x157, t2.abab) * -1 - del x157 - x168 += einsum("iab->iab", x154) - del x154 - x169 = np.zeros((nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x169 += einsum("iab,ijcb->jca", x168, x106) - del x168 - del x106 - x198 += einsum("iab->iba", x169) * -1 - del x169 - x158 = np.zeros((nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x158 += einsum("abi->iab", r2.bbb) * -1 - x158 += einsum("abi->iba", r2.bbb) - x185 = np.zeros((nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x185 += einsum("ab,icb->ica", x184, x158) - del x184 - x198 += einsum("iab->iab", x185) * -1 - del x185 - x193 = np.zeros((nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x193 += einsum("ab,icb->ica", f.bb.vv, x158) - x198 += einsum("iab->iba", x193) * -1 - del x193 - r2new_aba += einsum("iab,jicb->caj", x158, x62) * -1 - del x62 - x159 += einsum("iabj->ijba", v.aaaa.ovvo) - x159 += einsum("ijab->ijab", v.aaaa.oovv) * -1 - r2new_aba += einsum("abi,ijca->cbj", r2.aba, x159) * -1 - del x159 - x160 += einsum("a,iabc->ibc", r1.b, v.bbaa.ovvv) * -1 - r2new_aba += einsum("iab,jibc->acj", x160, t2.abab) * -1 - del x160 - x161 += einsum("ijab->ijab", v.aabb.oovv) - x161 += einsum("ia,jabc->jibc", t1.aa, v.aabb.ovvv) - r2new_aba += einsum("abi,ijcb->acj", r2.aba, x161) - del x161 - x162 += einsum("a,ijka->ijk", r1.b, v.aabb.ooov) - r2new_aba += einsum("ijk,ikab->abj", x162, x74) * -1 - del x162 - del x74 - x163 += einsum("a,ijba->ijb", r1.b, v.aabb.oovv) - r2new_aba += einsum("ia,ijb->abj", t1.aa, x163) - del x163 - x164 += einsum("a,iabj->jib", r1.b, v.bbaa.ovvo) - r2new_aba += einsum("ia,jib->baj", t1.bb, x164) - del x164 - x165 += einsum("ai->ia", f.aa.vo) - r2new_aba += einsum("a,ib->bai", r1.b, x165) * -1 - del x165 - x166 = np.zeros((nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x166 += einsum("a,bica->ibc", r1.b, v.bbbb.vovv) - x198 += einsum("iab->iab", x166) * -1 - del x166 - x172 += einsum("iabj->jiba", v.bbbb.ovvo) - x172 += einsum("ijab->jiab", v.bbbb.oovv) * -1 - x173 = np.zeros((nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x173 += einsum("iab,jicb->jac", x158, x172) - del x172 - del x158 - x198 += einsum("iab->iab", x173) - del x173 - x177 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x177 += einsum("ia,jb->ijab", t1.bb, t1.bb) - x177 += einsum("ijab->jiab", t2.bbbb) * -1 - x177 += einsum("ijab->jiba", t2.bbbb) - x178 = np.zeros((nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x178 += einsum("iab,ijcb->jca", x156, x177) * -1 - del x177 - del x156 - x198 += einsum("iab->iab", x178) - del x178 - x180 = np.zeros((nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x180 += einsum("a,ijka->ikj", r1.b, v.bbbb.ooov) - x182 += einsum("ijk->ijk", x180) - del x180 - x183 = np.zeros((nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x183 += einsum("ijk,jiab->kab", x182, x123) - del x123 - del x182 - x198 += einsum("iab->iba", x183) * -1 - del x183 - r2new_bbb = np.zeros((nvir[1], nvir[1], nocc[1]), dtype=types[float]) - r2new_bbb += einsum("iab->abi", x198) - r2new_bbb += einsum("iab->bai", x198) * -1 - del x198 - r1new_a += einsum("a,ba->b", r1.a, f.aa.vv) - r1new_b += einsum("a,ba->b", r1.b, f.bb.vv) - r2new_aaa -= einsum("a,bi->bai", r1.a, f.aa.vo) - r2new_aaa += einsum("a,bi->abi", r1.a, f.aa.vo) - r2new_bab -= einsum("a,baci->cbi", r1.a, v.aabb.vvvo) - r2new_aba -= einsum("a,bica->bci", r1.b, v.aabb.vovv) - r2new_bbb -= einsum("a,bi->bai", r1.b, f.bb.vo) - r2new_bbb += einsum("a,bi->abi", r1.b, f.bb.vo) - - r1new = Namespace(a=r1new_a, b=r1new_b) - r2new = Namespace(aaa=r2new_aaa, aba=r2new_aba, bab=r2new_bab, bbb=r2new_bbb) - - r2new.aaa *= -1 - r2new.aba *= -1 - r2new.bab *= -1 - r2new.bbb *= -1 - - return r1new, r2new - -def make_ee_mom_kets(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, l1=None, l2=None, **kwargs): # pragma: no cover - delta_oo = Namespace() - delta_oo.aa = np.eye(nocc[0]) - delta_oo.bb = np.eye(nocc[1]) - delta_vv = Namespace() - delta_vv.aa = np.eye(nvir[0]) - delta_vv.bb = np.eye(nvir[1]) - - ketee1_oo_aaaa = np.zeros((nocc[0], nvir[0], nocc[0], nocc[0]), dtype=types[float]) - ketee1_oo_aaaa -= einsum("ij,ka->jaki", delta_oo.aa, t1.aa) - ketee1_oo_bbbb = np.zeros((nocc[1], nvir[1], nocc[1], nocc[1]), dtype=types[float]) - ketee1_oo_bbbb -= einsum("ij,ka->jaki", delta_oo.bb, t1.bb) - ketee1_ov_aaaa = np.zeros((nocc[0], nvir[0], nocc[0], nvir[0]), dtype=types[float]) - ketee1_ov_aaaa -= einsum("ia,jb->iajb", t1.aa, t1.aa) - ketee1_ov_aaaa -= einsum("ijab->jaib", t2.aaaa) - ketee1_ov_aaaa += einsum("ijab->jbia", t2.aaaa) - ketee1_ov_bbbb = np.zeros((nocc[1], nvir[1], nocc[1], nvir[1]), dtype=types[float]) - ketee1_ov_bbbb -= einsum("ia,jb->iajb", t1.bb, t1.bb) - ketee1_ov_bbbb -= einsum("ijab->jaib", t2.bbbb) - ketee1_ov_bbbb += einsum("ijab->jbia", t2.bbbb) - ketee1_ov_bbaa = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - ketee1_ov_bbaa -= einsum("ia,jb->jbia", t1.aa, t1.bb) - ketee1_ov_bbaa += einsum("ijab->jbia", t2.abab) - ketee1_ov_aabb = np.zeros((nocc[0], nvir[0], nocc[1], nvir[1]), dtype=types[float]) - ketee1_ov_aabb -= einsum("ia,jb->iajb", t1.aa, t1.bb) - ketee1_ov_aabb += einsum("ijab->iajb", t2.abab) - ketee1_vo_aaaa = np.zeros((nocc[0], nvir[0], nvir[0], nocc[0]), dtype=types[float]) - ketee1_vo_aaaa += einsum("ab,ij->jbai", delta_vv.aa, delta_oo.aa) - ketee1_vo_bbbb = np.zeros((nocc[1], nvir[1], nvir[1], nocc[1]), dtype=types[float]) - ketee1_vo_bbbb += einsum("ab,ij->jbai", delta_vv.bb, delta_oo.bb) - ketee1_vv_aaaa = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - ketee1_vv_aaaa += einsum("ab,ic->ibac", delta_vv.aa, t1.aa) - ketee1_vv_bbbb = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - ketee1_vv_bbbb += einsum("ab,ic->ibac", delta_vv.bb, t1.bb) - ketee2_oo_aaaaaa = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0], nocc[0], nocc[0]), dtype=types[float]) - ketee2_oo_aaaaaa -= einsum("ij,klab->jlabki", delta_oo.aa, t2.aaaa) - ketee2_oo_aaaaaa += einsum("ij,klab->jlbaki", delta_oo.aa, t2.aaaa) - ketee2_oo_aaaaaa += einsum("ij,klab->ljabki", delta_oo.aa, t2.aaaa) - ketee2_oo_aaaaaa -= einsum("ij,klab->ljbaki", delta_oo.aa, t2.aaaa) - ketee2_oo_babaaa = np.zeros((nocc[1], nocc[0], nvir[1], nvir[0], nocc[0], nocc[0]), dtype=types[float]) - ketee2_oo_babaaa -= einsum("ij,klab->ljbaki", delta_oo.aa, t2.abab) - ketee2_oo_ababbb = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1], nocc[1], nocc[1]), dtype=types[float]) - ketee2_oo_ababbb -= einsum("ij,klab->kjabli", delta_oo.bb, t2.abab) - ketee2_oo_bbbbbb = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[1], nocc[1]), dtype=types[float]) - ketee2_oo_bbbbbb -= einsum("ij,klab->jlabki", delta_oo.bb, t2.bbbb) - ketee2_oo_bbbbbb += einsum("ij,klab->jlbaki", delta_oo.bb, t2.bbbb) - ketee2_oo_bbbbbb += einsum("ij,klab->ljabki", delta_oo.bb, t2.bbbb) - ketee2_oo_bbbbbb -= einsum("ij,klab->ljbaki", delta_oo.bb, t2.bbbb) - ketee2_oo_ababaa = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - ketee2_oo_ababaa -= einsum("ij,klab->jlabki", delta_oo.aa, t2.abab) - ketee2_oo_bababb = np.zeros((nocc[1], nocc[0], nvir[1], nvir[0], nocc[1], nocc[1]), dtype=types[float]) - ketee2_oo_bababb -= einsum("ij,klab->jkbali", delta_oo.bb, t2.abab) - ketee2_ov_aaaaaa = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0], nocc[0], nvir[0]), dtype=types[float]) - ketee2_ov_aaaaaa -= einsum("ia,jkbc->ikbcja", t1.aa, t2.aaaa) - ketee2_ov_aaaaaa += einsum("ia,jkbc->ikcbja", t1.aa, t2.aaaa) - ketee2_ov_aaaaaa += einsum("ia,jkbc->kibcja", t1.aa, t2.aaaa) - ketee2_ov_aaaaaa -= einsum("ia,jkbc->kicbja", t1.aa, t2.aaaa) - ketee2_ov_aaaaaa -= einsum("ia,jkbc->kjabic", t1.aa, t2.aaaa) - ketee2_ov_aaaaaa += einsum("ia,jkbc->kjacib", t1.aa, t2.aaaa) - ketee2_ov_aaaaaa += einsum("ia,jkbc->kjbaic", t1.aa, t2.aaaa) - ketee2_ov_aaaaaa -= einsum("ia,jkbc->kjcaib", t1.aa, t2.aaaa) - ketee2_ov_bbbbbb = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[1], nvir[1]), dtype=types[float]) - ketee2_ov_bbbbbb -= einsum("ia,jkbc->ikbcja", t1.bb, t2.bbbb) - ketee2_ov_bbbbbb += einsum("ia,jkbc->ikcbja", t1.bb, t2.bbbb) - ketee2_ov_bbbbbb += einsum("ia,jkbc->kibcja", t1.bb, t2.bbbb) - ketee2_ov_bbbbbb -= einsum("ia,jkbc->kicbja", t1.bb, t2.bbbb) - ketee2_ov_bbbbbb -= einsum("ia,jkbc->kjabic", t1.bb, t2.bbbb) - ketee2_ov_bbbbbb += einsum("ia,jkbc->kjacib", t1.bb, t2.bbbb) - ketee2_ov_bbbbbb += einsum("ia,jkbc->kjbaic", t1.bb, t2.bbbb) - ketee2_ov_bbbbbb -= einsum("ia,jkbc->kjcaib", t1.bb, t2.bbbb) - ketee2_ov_ababaa = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - ketee2_ov_ababaa -= einsum("ia,jkbc->ikbcja", t1.aa, t2.abab) - ketee2_ov_ababaa -= einsum("ia,jkbc->jkacib", t1.aa, t2.abab) - ketee2_ov_bababb = np.zeros((nocc[1], nocc[0], nvir[1], nvir[0], nocc[1], nvir[1]), dtype=types[float]) - ketee2_ov_bababb -= einsum("ia,jkbc->ijcbka", t1.bb, t2.abab) - ketee2_ov_bababb -= einsum("ia,jkbc->kjabic", t1.bb, t2.abab) - ketee2_ov_babaaa = np.zeros((nocc[1], nocc[0], nvir[1], nvir[0], nocc[0], nvir[0]), dtype=types[float]) - ketee2_ov_babaaa -= einsum("ia,jkbc->kicbja", t1.aa, t2.abab) - ketee2_ov_babaaa -= einsum("ia,jkbc->kjcaib", t1.aa, t2.abab) - ketee2_ov_ababbb = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1], nocc[1], nvir[1]), dtype=types[float]) - ketee2_ov_ababbb -= einsum("ia,jkbc->jibcka", t1.bb, t2.abab) - ketee2_ov_ababbb -= einsum("ia,jkbc->jkbaic", t1.bb, t2.abab) - ketee2_vv_aaaaaa = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - ketee2_vv_aaaaaa += einsum("ab,ijcd->jibcad", delta_vv.aa, t2.aaaa) - ketee2_vv_aaaaaa -= einsum("ab,ijcd->jibdac", delta_vv.aa, t2.aaaa) - ketee2_vv_aaaaaa -= einsum("ab,ijcd->jicbad", delta_vv.aa, t2.aaaa) - ketee2_vv_aaaaaa += einsum("ab,ijcd->jidbac", delta_vv.aa, t2.aaaa) - ketee2_vv_babaaa = np.zeros((nocc[1], nocc[0], nvir[1], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - ketee2_vv_babaaa += einsum("ab,ijcd->jidbac", delta_vv.aa, t2.abab) - ketee2_vv_ababbb = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - ketee2_vv_ababbb += einsum("ab,ijcd->ijcbad", delta_vv.bb, t2.abab) - ketee2_vv_bbbbbb = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - ketee2_vv_bbbbbb += einsum("ab,ijcd->jibcad", delta_vv.bb, t2.bbbb) - ketee2_vv_bbbbbb -= einsum("ab,ijcd->jibdac", delta_vv.bb, t2.bbbb) - ketee2_vv_bbbbbb -= einsum("ab,ijcd->jicbad", delta_vv.bb, t2.bbbb) - ketee2_vv_bbbbbb += einsum("ab,ijcd->jidbac", delta_vv.bb, t2.bbbb) - ketee2_vv_ababaa = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - ketee2_vv_ababaa += einsum("ab,ijcd->ijbdac", delta_vv.aa, t2.abab) - ketee2_vv_bababb = np.zeros((nocc[1], nocc[0], nvir[1], nvir[0], nvir[1], nvir[1]), dtype=types[float]) - ketee2_vv_bababb += einsum("ab,ijcd->jibcad", delta_vv.bb, t2.abab) - - ketee1_oo_abab = np.zeros((nocc[0], nvir[1], nocc[0], nocc[1]), dtype=types[float]) - ketee1_oo_baba = np.zeros((nocc[1], nvir[0], nocc[1], nocc[0]), dtype=types[float]) - ketee1_ov_abab = np.zeros((nocc[0], nvir[1], nocc[0], nvir[1]), dtype=types[float]) - ketee1_ov_baba = np.zeros((nocc[1], nvir[0], nocc[1], nvir[0]), dtype=types[float]) - ketee1_vo_abab = np.zeros((nocc[0], nvir[1], nvir[0], nocc[1]), dtype=types[float]) - ketee1_vo_baba = np.zeros((nocc[1], nvir[0], nvir[1], nocc[0]), dtype=types[float]) - ketee1_vv_abab = np.zeros((nocc[0], nvir[1], nvir[0], nvir[1]), dtype=types[float]) - ketee1_vv_baba = np.zeros((nocc[1], nvir[0], nvir[1], nvir[0]), dtype=types[float]) - ketee2_oo_bbbbaa = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - ketee2_oo_aaaabb = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0], nocc[1], nocc[1]), dtype=types[float]) - ketee2_ov_bbbbaa = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - ketee2_ov_aaaabb = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0], nocc[1], nvir[1]), dtype=types[float]) - ketee2_vo_aaaaaa = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0], nvir[0], nocc[0]), dtype=types[float]) - ketee2_vo_ababaa = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1], nvir[0], nocc[0]), dtype=types[float]) - ketee2_vo_babaaa = np.zeros((nocc[1], nocc[0], nvir[1], nvir[0], nvir[0], nocc[0]), dtype=types[float]) - ketee2_vo_bbbbaa = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nvir[0], nocc[0]), dtype=types[float]) - ketee2_vo_aaaabb = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0], nvir[1], nocc[1]), dtype=types[float]) - ketee2_vo_ababbb = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1], nvir[1], nocc[1]), dtype=types[float]) - ketee2_vo_bababb = np.zeros((nocc[1], nocc[0], nvir[1], nvir[0], nvir[1], nocc[1]), dtype=types[float]) - ketee2_vo_bbbbbb = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nvir[1], nocc[1]), dtype=types[float]) - ketee2_vv_bbbbaa = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - ketee2_vv_aaaabb = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) - - ketee1_aaaa = np.concatenate([np.concatenate([ketee1_oo_aaaa, ketee1_ov_aaaa], axis=-1), np.concatenate([ketee1_vo_aaaa, ketee1_vv_aaaa], axis=-1)], axis=-2) - ketee1_abab = np.concatenate([np.concatenate([ketee1_oo_abab, ketee1_ov_abab], axis=-1), np.concatenate([ketee1_vo_abab, ketee1_vv_abab], axis=-1)], axis=-2) - ketee1_baba = np.concatenate([np.concatenate([ketee1_oo_baba, ketee1_ov_baba], axis=-1), np.concatenate([ketee1_vo_baba, ketee1_vv_baba], axis=-1)], axis=-2) - ketee1_bbbb = np.concatenate([np.concatenate([ketee1_oo_bbbb, ketee1_ov_bbbb], axis=-1), np.concatenate([ketee1_vo_bbbb, ketee1_vv_bbbb], axis=-1)], axis=-2) - ketee2_aaaaaa = np.concatenate([np.concatenate([ketee2_oo_aaaaaa, ketee2_ov_aaaaaa], axis=-1), np.concatenate([ketee2_vo_aaaaaa, ketee2_vv_aaaaaa], axis=-1)], axis=-2) - ketee2_ababaa = np.concatenate([np.concatenate([ketee2_oo_ababaa, ketee2_ov_ababaa], axis=-1), np.concatenate([ketee2_vo_ababaa, ketee2_vv_ababaa], axis=-1)], axis=-2) - ketee2_babaaa = np.concatenate([np.concatenate([ketee2_oo_babaaa, ketee2_ov_babaaa], axis=-1), np.concatenate([ketee2_vo_babaaa, ketee2_vv_babaaa], axis=-1)], axis=-2) - ketee2_bbbbaa = np.concatenate([np.concatenate([ketee2_oo_bbbbaa, ketee2_ov_bbbbaa], axis=-1), np.concatenate([ketee2_vo_bbbbaa, ketee2_vv_bbbbaa], axis=-1)], axis=-2) - ketee2_aaaabb = np.concatenate([np.concatenate([ketee2_oo_aaaabb, ketee2_ov_aaaabb], axis=-1), np.concatenate([ketee2_vo_aaaabb, ketee2_vv_aaaabb], axis=-1)], axis=-2) - ketee2_ababbb = np.concatenate([np.concatenate([ketee2_oo_ababbb, ketee2_ov_ababbb], axis=-1), np.concatenate([ketee2_vo_ababbb, ketee2_vv_ababbb], axis=-1)], axis=-2) - ketee2_bababb = np.concatenate([np.concatenate([ketee2_oo_bababb, ketee2_ov_bababb], axis=-1), np.concatenate([ketee2_vo_bababb, ketee2_vv_bababb], axis=-1)], axis=-2) - ketee2_bbbbbb = np.concatenate([np.concatenate([ketee2_oo_bbbbbb, ketee2_ov_bbbbbb], axis=-1), np.concatenate([ketee2_vo_bbbbbb, ketee2_vv_bbbbbb], axis=-1)], axis=-2) - - ketee1 = Namespace(aaaa=ketee1_aaaa, abab=ketee1_abab, baba=ketee1_baba, bbbb=ketee1_bbbb) - ketee2 = Namespace(aaaaaa=ketee2_aaaaaa, ababaa=ketee2_ababaa, babaaa=ketee2_babaaa, bbbbaa=ketee2_bbbbaa, aaaabb=ketee2_aaaabb, ababbb=ketee2_ababbb, bababb=ketee2_bababb, bbbbbb=ketee2_bbbbbb) - - return ketee1, ketee2 - -def make_ee_mom_bras(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, l1=None, l2=None, **kwargs): # pragma: no cover - delta_oo = Namespace() - delta_oo.aa = np.eye(nocc[0]) - delta_oo.bb = np.eye(nocc[1]) - delta_vv = Namespace() - delta_vv.aa = np.eye(nvir[0]) - delta_vv.bb = np.eye(nvir[1]) - - x0 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x0 += einsum("ia,bajk->jkib", t1.aa, l2.aaaa) - x19 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x19 += einsum("ijka->ikja", x0) - x19 -= einsum("ijka->jkia", x0) - x20 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x20 -= einsum("ijka->ijka", x0) - x20 += einsum("ijka->jika", x0) - braee1_oo_aaaa = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - braee1_oo_aaaa += einsum("ijka->kija", x0) - braee1_oo_aaaa -= einsum("ijka->kjia", x0) - del x0 - x1 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x1 += einsum("ia,bajk->jkib", t1.bb, l2.bbbb) - x23 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x23 += einsum("ijka->ikja", x1) - x23 -= einsum("ijka->jkia", x1) - x24 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x24 += einsum("ijka->ijka", x1) - x24 -= einsum("ijka->jika", x1) - braee1_oo_bbbb = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - braee1_oo_bbbb += einsum("ijka->kija", x1) - braee1_oo_bbbb -= einsum("ijka->kjia", x1) - del x1 - x2 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x2 += einsum("ia,abjk->jikb", t1.aa, l2.abab) - x21 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x21 -= einsum("ijka->ijka", x2) - braee1_oo_aabb = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - braee1_oo_aabb -= einsum("ijka->jika", x2) - del x2 - x3 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x3 += einsum("ia,bajk->jkib", t1.bb, l2.abab) - x22 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x22 -= einsum("ijka->ijka", x3) - braee1_oo_bbaa = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - braee1_oo_bbaa -= einsum("ijka->kjia", x3) - del x3 - x4 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x4 += einsum("ia,jb->ijab", t1.aa, t1.aa) - x4 -= einsum("ijab->jiab", t2.aaaa) - x4 += einsum("ijab->jiba", t2.aaaa) - braee1_ov_aabb = np.zeros((nocc[0], nvir[0], nocc[1], nvir[1]), dtype=types[float]) - braee1_ov_aabb -= einsum("abij,ikca->kcjb", l2.abab, x4) - x5 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x5 -= einsum("abij->jiab", l2.aaaa) - x5 += einsum("abij->jiba", l2.aaaa) - braee1_ov_aaaa = np.zeros((nocc[0], nvir[0], nocc[0], nvir[0]), dtype=types[float]) - braee1_ov_aaaa += einsum("ijab,ikcb->jakc", x4, x5) - del x4 - braee1_ov_bbaa = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - braee1_ov_bbaa -= einsum("ijab,ikca->jbkc", t2.abab, x5) - del x5 - x6 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x6 += einsum("ijab->jiab", t2.aaaa) - x6 += einsum("ijab->jiba", t2.aaaa) * -1 - x7 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x7 += einsum("abij,ikab->jk", l2.aaaa, x6) * -1 - del x6 - x7 += einsum("ij->ji", delta_oo.aa) * -1 - x7 += einsum("ai,ja->ij", l1.aa, t1.aa) - x7 += einsum("abij,kjab->ik", l2.abab, t2.abab) - braee1_ov_aaaa += einsum("ab,ij->jbia", delta_vv.aa, x7) * -1 - del x7 - x8 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x8 += einsum("ijab->jiab", t2.aaaa) * -1 - x8 += einsum("ijab->jiba", t2.aaaa) - x9 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x9 += einsum("abij,ijca->bc", l2.aaaa, x8) * -1 - del x8 - x9 += einsum("ai,ib->ab", l1.aa, t1.aa) - x9 += einsum("abij,ijcb->ac", l2.abab, t2.abab) - braee1_ov_aaaa += einsum("ij,ab->jbia", delta_oo.aa, x9) * -1 - del x9 - x10 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x10 += einsum("ia,jb->ijab", t1.bb, t1.bb) - x10 -= einsum("ijab->jiab", t2.bbbb) - x10 += einsum("ijab->jiba", t2.bbbb) - braee1_ov_bbaa -= einsum("abij,jkcb->kcia", l2.abab, x10) - x11 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x11 -= einsum("abij->jiab", l2.bbbb) - x11 += einsum("abij->jiba", l2.bbbb) - braee1_ov_bbbb = np.zeros((nocc[1], nvir[1], nocc[1], nvir[1]), dtype=types[float]) - braee1_ov_bbbb += einsum("ijab,ikcb->jakc", x10, x11) - del x10 - braee1_ov_aabb -= einsum("ijab,jkcb->iakc", t2.abab, x11) - del x11 - x12 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x12 += einsum("ijab->jiab", t2.bbbb) * -1 - x12 += einsum("ijab->jiba", t2.bbbb) - x13 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x13 += einsum("abij,ikba->jk", l2.bbbb, x12) * -1 - x14 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x14 += einsum("abij,ijca->bc", l2.bbbb, x12) * -1 - del x12 - x13 += einsum("ij->ji", delta_oo.bb) * -1 - x13 += einsum("ai,ja->ij", l1.bb, t1.bb) - x13 += einsum("abij,ikab->jk", l2.abab, t2.abab) - braee1_ov_bbbb += einsum("ab,ij->jbia", delta_vv.bb, x13) * -1 - del x13 - x14 += einsum("ai,ib->ab", l1.bb, t1.bb) - x14 += einsum("abij,ijac->bc", l2.abab, t2.abab) - braee1_ov_bbbb += einsum("ij,ab->jbia", delta_oo.bb, x14) * -1 - del x14 - x15 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x15 += einsum("ia,bcji->jbca", t1.aa, l2.aaaa) - braee1_vv_aaaa = np.zeros((nvir[0], nvir[0], nocc[0], nvir[0]), dtype=types[float]) - braee1_vv_aaaa -= einsum("iabc->acib", x15) - braee1_vv_aaaa += einsum("iabc->bcia", x15) - braee2_ov_aaaaaa = np.zeros((nocc[0], nvir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - braee2_ov_aaaaaa += einsum("ij,kabc->icjkab", delta_oo.aa, x15) - braee2_ov_aaaaaa -= einsum("ij,kabc->icjkba", delta_oo.aa, x15) - braee2_ov_aaaaaa -= einsum("ij,kabc->ickjab", delta_oo.aa, x15) - braee2_ov_aaaaaa += einsum("ij,kabc->ickjba", delta_oo.aa, x15) - del x15 - x16 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x16 += einsum("ia,bcji->jbca", t1.bb, l2.bbbb) - braee1_vv_bbbb = np.zeros((nvir[1], nvir[1], nocc[1], nvir[1]), dtype=types[float]) - braee1_vv_bbbb -= einsum("iabc->acib", x16) - braee1_vv_bbbb += einsum("iabc->bcia", x16) - braee2_ov_bbbbbb = np.zeros((nocc[1], nvir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - braee2_ov_bbbbbb += einsum("ij,kabc->icjkab", delta_oo.bb, x16) - braee2_ov_bbbbbb -= einsum("ij,kabc->icjkba", delta_oo.bb, x16) - braee2_ov_bbbbbb -= einsum("ij,kabc->ickjab", delta_oo.bb, x16) - braee2_ov_bbbbbb += einsum("ij,kabc->ickjba", delta_oo.bb, x16) - del x16 - x17 = np.zeros((nocc[1], nvir[0], nvir[0], nvir[1]), dtype=types[float]) - x17 += einsum("ia,bcij->jbac", t1.aa, l2.abab) - braee1_vv_aabb = np.zeros((nvir[0], nvir[0], nocc[1], nvir[1]), dtype=types[float]) - braee1_vv_aabb += einsum("iabc->abic", x17) - braee2_ov_aababa = np.zeros((nocc[0], nvir[0], nocc[1], nocc[0], nvir[1], nvir[0]), dtype=types[float]) - braee2_ov_aababa -= einsum("ij,kabc->ibkjca", delta_oo.aa, x17) - braee2_ov_aaabab = np.zeros((nocc[0], nvir[0], nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - braee2_ov_aaabab -= einsum("ij,kabc->ibjkac", delta_oo.aa, x17) - del x17 - x18 = np.zeros((nocc[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) - x18 += einsum("ia,bcji->jbca", t1.bb, l2.abab) - braee1_vv_bbaa = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - braee1_vv_bbaa += einsum("iabc->bcia", x18) - braee2_ov_bbbaba = np.zeros((nocc[1], nvir[1], nocc[1], nocc[0], nvir[1], nvir[0]), dtype=types[float]) - braee2_ov_bbbaba -= einsum("ij,kabc->icjkba", delta_oo.bb, x18) - braee2_ov_bbabab = np.zeros((nocc[1], nvir[1], nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - braee2_ov_bbabab -= einsum("ij,kabc->ickjab", delta_oo.bb, x18) - del x18 - x19 += einsum("ij,ak->jika", delta_oo.aa, l1.aa) - x19 -= einsum("ij,ak->kjia", delta_oo.aa, l1.aa) - braee2_ov_aaaaaa -= einsum("ab,ijkc->jbkiac", delta_vv.aa, x19) - del x19 - x20 -= einsum("ij,ak->jkia", delta_oo.aa, l1.aa) - x20 += einsum("ij,ak->kjia", delta_oo.aa, l1.aa) - braee2_ov_aaaaaa -= einsum("ab,ijkc->kbjica", delta_vv.aa, x20) - del x20 - x21 += einsum("ij,ak->jika", delta_oo.aa, l1.bb) - braee2_ov_aababa += einsum("ab,ijkc->jbkica", delta_vv.aa, x21) - braee2_ov_aaabab += einsum("ab,ijkc->jbikac", delta_vv.aa, x21) - del x21 - x22 += einsum("ij,ak->kjia", delta_oo.bb, l1.aa) - braee2_ov_bbbaba += einsum("ab,ijkc->kbjiac", delta_vv.bb, x22) - braee2_ov_bbabab += einsum("ab,ijkc->kbijca", delta_vv.bb, x22) - del x22 - x23 += einsum("ij,ak->jika", delta_oo.bb, l1.bb) - x23 -= einsum("ij,ak->kjia", delta_oo.bb, l1.bb) - braee2_ov_bbbbbb -= einsum("ab,ijkc->jbkiac", delta_vv.bb, x23) - del x23 - x24 += einsum("ij,ak->jkia", delta_oo.bb, l1.bb) - x24 -= einsum("ij,ak->kjia", delta_oo.bb, l1.bb) - braee2_ov_bbbbbb -= einsum("ab,ijkc->kbijca", delta_vv.bb, x24) - del x24 - braee1_oo_aaaa += einsum("ij,ak->jika", delta_oo.aa, l1.aa) - braee1_oo_aaaa -= einsum("ij,ak->jkia", delta_oo.aa, l1.aa) - braee1_oo_bbbb += einsum("ij,ak->jika", delta_oo.bb, l1.bb) - braee1_oo_bbbb -= einsum("ij,ak->jkia", delta_oo.bb, l1.bb) - braee1_oo_aabb += einsum("ij,ak->jika", delta_oo.aa, l1.bb) - braee1_oo_bbaa += einsum("ij,ak->jika", delta_oo.bb, l1.aa) - braee1_ov_aaaa += einsum("ai,jb->jbia", l1.aa, t1.aa) - braee1_ov_aaaa += einsum("abij,kjcb->kcia", l2.abab, t2.abab) - braee1_ov_bbbb += einsum("ai,jb->jbia", l1.bb, t1.bb) - braee1_ov_bbbb += einsum("abij,ikac->kcjb", l2.abab, t2.abab) - braee1_ov_bbaa += einsum("ai,jb->jbia", l1.aa, t1.bb) - braee1_ov_aabb += einsum("ai,jb->jbia", l1.bb, t1.aa) - braee1_vo_aaaa = np.zeros((nvir[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - braee1_vo_aaaa -= einsum("abij->ajib", l2.aaaa) - braee1_vo_aaaa += einsum("abij->bjia", l2.aaaa) - braee1_vo_bbbb = np.zeros((nvir[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - braee1_vo_bbbb -= einsum("abij->ajib", l2.bbbb) - braee1_vo_bbbb += einsum("abij->bjia", l2.bbbb) - braee1_vo_bbaa = np.zeros((nvir[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - braee1_vo_bbaa += einsum("abij->bjia", l2.abab) - braee1_vo_aabb = np.zeros((nvir[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - braee1_vo_aabb += einsum("abij->aijb", l2.abab) - braee1_vv_aaaa += einsum("ab,ci->cbia", delta_vv.aa, l1.aa) - braee1_vv_bbbb += einsum("ab,ci->cbia", delta_vv.bb, l1.bb) - braee2_oo_aaaaaa = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - braee2_oo_aaaaaa -= einsum("ij,abkl->jilkab", delta_oo.aa, l2.aaaa) - braee2_oo_aaaaaa += einsum("ij,abkl->jilkba", delta_oo.aa, l2.aaaa) - braee2_oo_aaaaaa += einsum("ij,abkl->jlikab", delta_oo.aa, l2.aaaa) - braee2_oo_aaaaaa -= einsum("ij,abkl->jlikba", delta_oo.aa, l2.aaaa) - braee2_oo_aaaaaa -= einsum("ij,abkl->jlkiab", delta_oo.aa, l2.aaaa) - braee2_oo_aaaaaa += einsum("ij,abkl->jlkiba", delta_oo.aa, l2.aaaa) - braee2_oo_bbbbbb = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - braee2_oo_bbbbbb -= einsum("ij,abkl->jilkab", delta_oo.bb, l2.bbbb) - braee2_oo_bbbbbb += einsum("ij,abkl->jilkba", delta_oo.bb, l2.bbbb) - braee2_oo_bbbbbb += einsum("ij,abkl->jlikab", delta_oo.bb, l2.bbbb) - braee2_oo_bbbbbb -= einsum("ij,abkl->jlikba", delta_oo.bb, l2.bbbb) - braee2_oo_bbbbbb -= einsum("ij,abkl->jlkiab", delta_oo.bb, l2.bbbb) - braee2_oo_bbbbbb += einsum("ij,abkl->jlkiba", delta_oo.bb, l2.bbbb) - braee2_oo_aababa = np.zeros((nocc[0], nocc[0], nocc[1], nocc[0], nvir[1], nvir[0]), dtype=types[float]) - braee2_oo_aababa += einsum("ij,abkl->jilkba", delta_oo.aa, l2.abab) - braee2_oo_aababa -= einsum("ij,abkl->jkliba", delta_oo.aa, l2.abab) - braee2_oo_bbabab = np.zeros((nocc[1], nocc[1], nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - braee2_oo_bbabab += einsum("ij,abkl->jiklab", delta_oo.bb, l2.abab) - braee2_oo_bbabab -= einsum("ij,abkl->jlkiab", delta_oo.bb, l2.abab) - braee2_oo_aaabab = np.zeros((nocc[0], nocc[0], nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - braee2_oo_aaabab += einsum("ij,abkl->jiklab", delta_oo.aa, l2.abab) - braee2_oo_aaabab -= einsum("ij,abkl->jkilab", delta_oo.aa, l2.abab) - braee2_oo_bbbaba = np.zeros((nocc[1], nocc[1], nocc[1], nocc[0], nvir[1], nvir[0]), dtype=types[float]) - braee2_oo_bbbaba += einsum("ij,abkl->jilkba", delta_oo.bb, l2.abab) - braee2_oo_bbbaba -= einsum("ij,abkl->jlikba", delta_oo.bb, l2.abab) - braee2_oo_aabbbb = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - braee2_oo_aabbbb -= einsum("ij,abkl->jilkab", delta_oo.aa, l2.bbbb) - braee2_oo_aabbbb += einsum("ij,abkl->jilkba", delta_oo.aa, l2.bbbb) - braee2_oo_bbaaaa = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - braee2_oo_bbaaaa -= einsum("ij,abkl->jilkab", delta_oo.bb, l2.aaaa) - braee2_oo_bbaaaa += einsum("ij,abkl->jilkba", delta_oo.bb, l2.aaaa) - braee2_ov_aaaaaa -= einsum("ia,bcjk->iakjbc", t1.aa, l2.aaaa) - braee2_ov_aaaaaa += einsum("ia,bcjk->iakjcb", t1.aa, l2.aaaa) - braee2_ov_aababa += einsum("ia,bcjk->iakjcb", t1.aa, l2.abab) - braee2_ov_aaabab += einsum("ia,bcjk->iajkbc", t1.aa, l2.abab) - braee2_ov_aabbbb = np.zeros((nocc[0], nvir[0], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - braee2_ov_aabbbb -= einsum("ia,bcjk->iakjbc", t1.aa, l2.bbbb) - braee2_ov_aabbbb += einsum("ia,bcjk->iakjcb", t1.aa, l2.bbbb) - braee2_ov_bbaaaa = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - braee2_ov_bbaaaa -= einsum("ia,bcjk->iakjbc", t1.bb, l2.aaaa) - braee2_ov_bbaaaa += einsum("ia,bcjk->iakjcb", t1.bb, l2.aaaa) - braee2_ov_bbbaba += einsum("ia,bcjk->iakjcb", t1.bb, l2.abab) - braee2_ov_bbabab += einsum("ia,bcjk->iajkbc", t1.bb, l2.abab) - braee2_ov_bbbbbb -= einsum("ia,bcjk->iakjbc", t1.bb, l2.bbbb) - braee2_ov_bbbbbb += einsum("ia,bcjk->iakjcb", t1.bb, l2.bbbb) - braee2_vv_aaaaaa = np.zeros((nvir[0], nvir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - braee2_vv_aaaaaa -= einsum("ab,cdij->cbjiad", delta_vv.aa, l2.aaaa) - braee2_vv_aaaaaa += einsum("ab,cdij->dbjiac", delta_vv.aa, l2.aaaa) - braee2_vv_aaaaaa += einsum("ab,cdij->cbjida", delta_vv.aa, l2.aaaa) - braee2_vv_aaaaaa -= einsum("ab,cdij->dbjica", delta_vv.aa, l2.aaaa) - braee2_vv_bbbbbb = np.zeros((nvir[1], nvir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - braee2_vv_bbbbbb -= einsum("ab,cdij->cbjiad", delta_vv.bb, l2.bbbb) - braee2_vv_bbbbbb += einsum("ab,cdij->dbjiac", delta_vv.bb, l2.bbbb) - braee2_vv_bbbbbb += einsum("ab,cdij->cbjida", delta_vv.bb, l2.bbbb) - braee2_vv_bbbbbb -= einsum("ab,cdij->dbjica", delta_vv.bb, l2.bbbb) - braee2_vv_aababa = np.zeros((nvir[0], nvir[0], nocc[1], nocc[0], nvir[1], nvir[0]), dtype=types[float]) - braee2_vv_aababa += einsum("ab,cdij->cbjida", delta_vv.aa, l2.abab) - braee2_vv_bbabab = np.zeros((nvir[1], nvir[1], nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - braee2_vv_bbabab += einsum("ab,cdij->dbijca", delta_vv.bb, l2.abab) - braee2_vv_aaabab = np.zeros((nvir[0], nvir[0], nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - braee2_vv_aaabab += einsum("ab,cdij->cbijad", delta_vv.aa, l2.abab) - braee2_vv_bbbaba = np.zeros((nvir[1], nvir[1], nocc[1], nocc[0], nvir[1], nvir[0]), dtype=types[float]) - braee2_vv_bbbaba += einsum("ab,cdij->dbjiac", delta_vv.bb, l2.abab) - - braee1_oo_abab = np.zeros((nocc[0], nocc[1], nocc[0], nvir[1]), dtype=types[float]) - braee1_oo_baba = np.zeros((nocc[1], nocc[0], nocc[1], nvir[0]), dtype=types[float]) - braee1_ov_abab = np.zeros((nocc[0], nvir[1], nocc[0], nvir[1]), dtype=types[float]) - braee1_ov_baba = np.zeros((nocc[1], nvir[0], nocc[1], nvir[0]), dtype=types[float]) - braee1_vo_abab = np.zeros((nvir[0], nocc[1], nocc[0], nvir[1]), dtype=types[float]) - braee1_vo_baba = np.zeros((nvir[1], nocc[0], nocc[1], nvir[0]), dtype=types[float]) - braee1_vv_abab = np.zeros((nvir[0], nvir[1], nocc[0], nvir[1]), dtype=types[float]) - braee1_vv_baba = np.zeros((nvir[1], nvir[0], nocc[1], nvir[0]), dtype=types[float]) - braee2_vo_aaaaaa = np.zeros((nvir[0], nocc[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - braee2_vo_aaabab = np.zeros((nvir[0], nocc[0], nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - braee2_vo_aababa = np.zeros((nvir[0], nocc[0], nocc[1], nocc[0], nvir[1], nvir[0]), dtype=types[float]) - braee2_vo_aabbbb = np.zeros((nvir[0], nocc[0], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - braee2_vo_bbaaaa = np.zeros((nvir[1], nocc[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - braee2_vo_bbabab = np.zeros((nvir[1], nocc[1], nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - braee2_vo_bbbaba = np.zeros((nvir[1], nocc[1], nocc[1], nocc[0], nvir[1], nvir[0]), dtype=types[float]) - braee2_vo_bbbbbb = np.zeros((nvir[1], nocc[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - braee2_vv_aabbbb = np.zeros((nvir[0], nvir[0], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - braee2_vv_bbaaaa = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - - braee1_aaaa = np.concatenate([np.concatenate([braee1_oo_aaaa, braee1_ov_aaaa], axis=1), np.concatenate([braee1_vo_aaaa, braee1_vv_aaaa], axis=1)], axis=0) - braee1_abab = np.concatenate([np.concatenate([braee1_oo_abab, braee1_ov_abab], axis=1), np.concatenate([braee1_vo_abab, braee1_vv_abab], axis=1)], axis=0) - braee1_baba = np.concatenate([np.concatenate([braee1_oo_baba, braee1_ov_baba], axis=1), np.concatenate([braee1_vo_baba, braee1_vv_baba], axis=1)], axis=0) - braee1_bbbb = np.concatenate([np.concatenate([braee1_oo_bbbb, braee1_ov_bbbb], axis=1), np.concatenate([braee1_vo_bbbb, braee1_vv_bbbb], axis=1)], axis=0) - braee2_aaaaaa = np.concatenate([np.concatenate([braee2_oo_aaaaaa, braee2_ov_aaaaaa], axis=1), np.concatenate([braee2_vo_aaaaaa, braee2_vv_aaaaaa], axis=1)], axis=0) - braee2_aaabab = np.concatenate([np.concatenate([braee2_oo_aaabab, braee2_ov_aaabab], axis=1), np.concatenate([braee2_vo_aaabab, braee2_vv_aaabab], axis=1)], axis=0) - braee2_aababa = np.concatenate([np.concatenate([braee2_oo_aababa, braee2_ov_aababa], axis=1), np.concatenate([braee2_vo_aababa, braee2_vv_aababa], axis=1)], axis=0) - braee2_aabbbb = np.concatenate([np.concatenate([braee2_oo_aabbbb, braee2_ov_aabbbb], axis=1), np.concatenate([braee2_vo_aabbbb, braee2_vv_aabbbb], axis=1)], axis=0) - braee2_bbaaaa = np.concatenate([np.concatenate([braee2_oo_bbaaaa, braee2_ov_bbaaaa], axis=1), np.concatenate([braee2_vo_bbaaaa, braee2_vv_bbaaaa], axis=1)], axis=0) - braee2_bbabab = np.concatenate([np.concatenate([braee2_oo_bbabab, braee2_ov_bbabab], axis=1), np.concatenate([braee2_vo_bbabab, braee2_vv_bbabab], axis=1)], axis=0) - braee2_bbbaba = np.concatenate([np.concatenate([braee2_oo_bbbaba, braee2_ov_bbbaba], axis=1), np.concatenate([braee2_vo_bbbaba, braee2_vv_bbbaba], axis=1)], axis=0) - braee2_bbbbbb = np.concatenate([np.concatenate([braee2_oo_bbbbbb, braee2_ov_bbbbbb], axis=1), np.concatenate([braee2_vo_bbbbbb, braee2_vv_bbbbbb], axis=1)], axis=0) - - braee1 = Namespace(aaaa=braee1_aaaa, abab=braee1_abab, baba=braee1_baba, bbbb=braee1_bbbb) - braee2 = Namespace(aaaaaa=braee2_aaaaaa, aaabab=braee2_aaabab, aababa=braee2_aababa, aabbbb=braee2_aabbbb, bbaaaa=braee2_bbaaaa, bbabab=braee2_bbabab, bbbaba=braee2_bbbaba, bbbbbb=braee2_bbbbbb) - - braee1 = Namespace(**{key: val/2 for key, val in braee1.__dict__.items()}) - braee2 = Namespace(**{key: val/2 for key, val in braee2.__dict__.items()}) - - return braee1, braee2 - -def hbar_matvec_ee(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, l1=None, l2=None, r1=None, r2=None, **kwargs): - x0 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x0 += einsum("ijab->ijab", r2.aaaa) - x0 += einsum("ijab->jiab", r2.aaaa) * -1 - x153 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x153 += einsum("ij,ikab->jkab", f.aa.oo, x0) * 0.5 - x164 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x164 += einsum("ijab->ijab", x153) * -1 - del x153 - x1 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x1 += einsum("iabc->ibac", v.aaaa.ovvv) - x1 += einsum("iabc->ibca", v.aaaa.ovvv) * -1 - x146 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x146 += einsum("ijab,kcab->ijkc", r2.aaaa, x1) - x147 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x147 += einsum("ijka->ijka", x146) * -1 - del x146 - x156 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x156 += einsum("ijab,icab->jc", t2.aaaa, x1) - x163 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x163 += einsum("ia->ia", x156) * -1 - del x156 - x366 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x366 += einsum("ijab,icba->jc", t2.aaaa, x1) - x373 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x373 += einsum("ia->ia", x366) * -1 - del x366 - ree1new_aa = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - ree1new_aa += einsum("ijab,icab->jc", x0, x1) * 0.5 - del x1 - x2 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x2 += einsum("ijka->ikja", v.aaaa.ooov) - x2 += einsum("ijka->kija", v.aaaa.ooov) * -1 - x36 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x36 += einsum("ia,ijka->jk", r1.aa, x2) * -2 - x45 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x45 += einsum("ia,ijka->jk", t1.aa, x2) - x47 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x47 += einsum("ij->ij", x45) * -1 - x124 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x124 += einsum("ij->ij", x45) * -1 - del x45 - x136 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x136 += einsum("ijab,ijkc->kabc", r2.aaaa, x2) - x137 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x137 += einsum("iabc->iabc", x136) * -1 - del x136 - x157 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x157 += einsum("ijab,ijka->kb", t2.aaaa, x2) - x163 += einsum("ia->ia", x157) * -1 - del x157 - x305 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x305 += einsum("ijab,ikla->kljb", t2.abab, x2) - x314 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x314 += einsum("ijka->ijka", x305) * -1 - del x305 - x361 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x361 += einsum("ia,ijka->jk", r1.aa, x2) - x364 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x364 += einsum("ij->ij", x361) * -1 - del x361 - x3 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x3 += einsum("ijab->ijab", r2.aaaa) - x3 += einsum("ijab->ijba", r2.aaaa) * -1 - x139 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x139 += einsum("ab,ijcb->ijac", f.aa.vv, x3) * 0.5 - x164 += einsum("ijab->ijab", x139) * -1 - del x139 - ree1new_aa += einsum("ijka,ijab->kb", x2, x3) * 0.5 - del x2 - x4 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x4 += einsum("ijab->ijab", r2.abab) - x4 += einsum("ijab->jiba", r2.baba) - x8 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x8 += einsum("iajb,kjcb->ikac", v.aabb.ovov, x4) - x9 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x9 += einsum("ijab->jiba", x8) - del x8 - x27 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x27 += einsum("iajb,ijcb->ca", v.aabb.ovov, x4) * 0.5 - x29 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x29 += einsum("iajb,kjab->ik", v.aabb.ovov, x4) - x36 += einsum("ij->ij", x29) - x132 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x132 += einsum("ij->ji", x29) - del x29 - x54 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x54 += einsum("iajb,ikac->jkbc", v.aabb.ovov, x4) - x55 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x55 += einsum("ijab->jiba", x54) - del x54 - x69 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x69 += einsum("iajb,ijac->cb", v.aabb.ovov, x4) * 0.5 - x73 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x73 += einsum("iajb,ikab->jk", v.aabb.ovov, x4) - x80 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x80 += einsum("ij->ij", x73) - x469 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x469 += einsum("ij->ji", x73) - del x73 - x115 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x115 += einsum("ijka,lkba->ijlb", v.aabb.ooov, x4) - x118 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x118 += einsum("ijka->ikja", x115) - del x115 - x121 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x121 += einsum("iabc,jida->jbcd", v.bbaa.ovvv, x4) - x122 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x122 += einsum("iabc->icab", x121) - del x121 - x128 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x128 += einsum("iajb,ijcb->ac", v.aabb.ovov, x4) - x129 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x129 += einsum("ab->ba", x128) - x334 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x334 += einsum("ab->ba", x128) - del x128 - x248 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x248 += einsum("abcd,ijbd->ijac", v.aabb.vvvv, x4) * 0.5 - ree2new_abab = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - ree2new_abab += einsum("ijab->ijab", x248) - ree2new_baba = np.zeros((nocc[1], nocc[0], nvir[1], nvir[0]), dtype=types[float]) - ree2new_baba += einsum("ijab->jiba", x248) - del x248 - x252 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x252 += einsum("iajb,klab->ikjl", v.aabb.ovov, x4) - x253 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x253 += einsum("ijab,ikjl->klab", t2.abab, x252) * 0.5 - del x252 - ree2new_abab += einsum("ijab->ijab", x253) - ree2new_baba += einsum("ijab->jiba", x253) - del x253 - x256 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x256 += einsum("iabc,jkac->jikb", v.aabb.ovvv, x4) * 0.5 - x278 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x278 += einsum("ijka->jika", x256) - del x256 - x257 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x257 += einsum("iajk,ljab->likb", v.aabb.ovoo, x4) * 0.5 - x278 += einsum("ijka->jika", x257) * -1 - del x257 - x263 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x263 += einsum("iajb,klab->ikjl", v.aabb.ovov, x4) * 0.5 - x270 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x270 += einsum("ijkl->jikl", x263) - del x263 - x276 = np.zeros((nocc[0], nocc[0], nvir[1], nvir[1]), dtype=types[float]) - x276 += einsum("iajb,kjac->ikbc", v.aabb.ovov, x4) - x277 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x277 += einsum("ia,jkab->kjib", t1.bb, x276) * 0.5 - del x276 - x278 += einsum("ijka->jika", x277) * -1 - del x277 - x285 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x285 += einsum("iajb,ikcb->jkac", v.aabb.ovov, x4) - x286 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x286 += einsum("ia,jkab->ijkb", t1.aa, x285) * -1 - x385 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x385 += einsum("ia,jkab->ijkb", t1.aa, x285) * -0.5 - del x285 - x286 += einsum("iabc,jkca->jikb", v.bbaa.ovvv, x4) - x286 += einsum("ijka,ilba->jklb", v.aabb.ooov, x4) * -1 - x291 = np.zeros((nocc[1], nvir[0], nvir[0], nvir[1]), dtype=types[float]) - x291 += einsum("iabc,ijdc->jdab", v.aabb.ovvv, x4) - x295 = np.zeros((nocc[1], nvir[0], nvir[0], nvir[1]), dtype=types[float]) - x295 += einsum("iabc->iabc", x291) * -1 - del x291 - x292 = np.zeros((nocc[1], nvir[0], nvir[0], nvir[1]), dtype=types[float]) - x292 += einsum("iajk,ijbc->kbac", v.aabb.ovoo, x4) - x295 += einsum("iabc->iabc", x292) - del x292 - x293 = np.zeros((nvir[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) - x293 += einsum("iajb,ijcd->acbd", v.aabb.ovov, x4) - x294 = np.zeros((nocc[1], nvir[0], nvir[0], nvir[1]), dtype=types[float]) - x294 += einsum("ia,bcad->icbd", t1.bb, x293) - del x293 - x295 += einsum("iabc->iabc", x294) - del x294 - x299 = np.zeros((nocc[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) - x299 += einsum("iabc,jicd->jbad", v.bbaa.ovvv, x4) - x301 = np.zeros((nocc[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) - x301 += einsum("iabc->iacb", x299) * -1 - del x299 - x300 = np.zeros((nocc[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) - x300 += einsum("ijka,ikbc->jbac", v.aabb.ooov, x4) - x301 += einsum("iabc->iacb", x300) - del x300 - x329 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x329 += einsum("iajb,ijac->bc", v.aabb.ovov, x4) - x331 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x331 += einsum("ab->ba", x329) - x467 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x467 += einsum("ab->ba", x329) - del x329 - x353 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x353 += einsum("iajb,ikab->jk", v.aabb.ovov, x4) * 0.5 - x357 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x357 += einsum("ij->ij", x353) - del x353 - x360 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x360 += einsum("iajb,kjab->ik", v.aabb.ovov, x4) * 0.5 - x364 += einsum("ij->ij", x360) - del x360 - x385 += einsum("iabc,jkca->jikb", v.bbaa.ovvv, x4) * 0.5 - x385 += einsum("ijka,ilba->jklb", v.aabb.ooov, x4) * -0.5 - x456 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x456 += einsum("iajk,ilab->ljkb", v.aabb.ovoo, x4) - x459 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x459 += einsum("ijka->jika", x456) - del x456 - x462 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x462 += einsum("iabc,ijad->jdbc", v.aabb.ovvv, x4) - x463 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x463 += einsum("iabc->iabc", x462) - del x462 - ree1new_aa += einsum("iabc,jica->jb", v.bbaa.ovvv, x4) * 0.5 - ree1new_aa += einsum("ijka,ikba->jb", v.aabb.ooov, x4) * -0.5 - ree1new_aa += einsum("ia,jiba->jb", f.bb.ov, x4) * 0.5 - ree1new_bb = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - ree1new_bb += einsum("iabc,ijac->jb", v.aabb.ovvv, x4) * 0.5 - ree1new_bb += einsum("iajk,ijab->kb", v.aabb.ovoo, x4) * -0.5 - ree1new_bb += einsum("ia,ijab->jb", f.aa.ov, x4) * 0.5 - x5 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x5 += einsum("ijab->ijab", r2.aaaa) * -1 - x5 += einsum("ijab->ijba", r2.aaaa) - x5 += einsum("ijab->jiab", r2.aaaa) - x5 += einsum("ijab->jiba", r2.aaaa) * -1 - x12 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x12 += einsum("iajb,kica->kjcb", v.aabb.ovov, x5) - x13 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x13 += einsum("ijab->ijab", x12) * -1 - del x12 - x297 = np.zeros((nocc[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) - x297 += einsum("iabc,jida->jdbc", v.aabb.ovvv, x5) - x301 += einsum("iabc->iabc", x297) * -1 - del x297 - x6 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x6 += einsum("iajb->jiab", v.aaaa.ovov) - x6 += einsum("iajb->jiba", v.aaaa.ovov) * -1 - x7 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x7 += einsum("ijab,jkac->ikbc", x5, x6) - x9 += einsum("ijab->ijab", x7) * -1 - del x7 - x116 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x116 += einsum("ia,jkba->ijkb", t1.aa, x9) - x118 += einsum("ijka->kjia", x116) - del x116 - ree1new_aa += einsum("ia,jiba->jb", t1.aa, x9) * 0.5 - del x9 - x36 += einsum("ijab,ikba->kj", x0, x6) - x44 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x44 += einsum("ijab,ikab->jk", t2.aaaa, x6) - x47 += einsum("ij->ji", x44) * -1 - x124 += einsum("ij->ji", x44) * -1 - del x44 - x56 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x56 += einsum("ijab,ikca->kjcb", x4, x6) - x59 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x59 += einsum("ijab->ijab", x56) - del x56 - x359 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x359 += einsum("ijab,ikba->jk", x0, x6) * 0.5 - x364 += einsum("ij->ji", x359) - del x359 - x10 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x10 += einsum("iajb->jiab", v.bbbb.ovov) - x10 += einsum("iajb->jiba", v.bbbb.ovov) * -1 - x11 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x11 += einsum("ijab,kica->kjcb", x10, x4) - x13 += einsum("ijab->ijab", x11) * -1 - del x11 - x286 += einsum("ia,jkba->jkib", t1.bb, x13) - x385 += einsum("ia,jkba->jkib", t1.bb, x13) * 0.5 - ree1new_aa += einsum("ia,jiba->jb", t1.bb, x13) * 0.5 - del x13 - x75 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x75 += einsum("ia,ijab->jb", t1.bb, x10) - x76 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x76 += einsum("ia->ia", x75) * -1 - del x75 - x78 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x78 += einsum("ia,ijab->jb", r1.bb, x10) - x79 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x79 += einsum("ia->ia", x78) * -1 - del x78 - x90 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x90 += einsum("ijab,ikab->kj", t2.bbbb, x10) - x93 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x93 += einsum("ij->ij", x90) * -1 - x465 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x465 += einsum("ij->ij", x90) * -1 - x495 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x495 += einsum("ij->ji", x90) * -1 - del x90 - x103 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x103 += einsum("ijab,jkbc->ikac", t2.abab, x10) - x104 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x104 += einsum("ijab->ijab", x103) * -1 - x282 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x282 += einsum("ijab->ijab", x103) * -1 - del x103 - x451 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x451 += einsum("ijab,ijcb->ca", t2.bbbb, x10) - x453 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x453 += einsum("ab->ba", x451) * -1 - x493 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x493 += einsum("ab->ba", x451) * -1 - del x451 - x14 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x14 += einsum("ijab,kcjb->ikac", t2.abab, v.aabb.ovov) - x18 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x18 += einsum("ijab->jiab", x14) - x99 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x99 += einsum("ijab->ijab", x14) - x172 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x172 += einsum("ijab->ijab", x14) - x192 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x192 += einsum("ijab->ijab", x14) - x237 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x237 += einsum("ijab->jiab", x14) - del x14 - x15 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x15 -= einsum("ijab->jiab", t2.aaaa) - x15 += einsum("ijab->jiba", t2.aaaa) - x19 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x19 += einsum("iajb,ikca->kjcb", v.aabb.ovov, x15) - x22 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x22 -= einsum("ijab->ijab", x19) - del x19 - x216 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x216 += einsum("ia,ijba->jb", f.aa.ov, x15) - x223 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x223 -= einsum("ia->ia", x216) - del x216 - x16 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x16 -= einsum("iajb->jiab", v.aaaa.ovov) - x16 += einsum("iajb->jiba", v.aaaa.ovov) - x17 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x17 += einsum("ijab,ikcb->jkac", x15, x16) - del x15 - x18 += einsum("ijab->jiab", x17) - del x17 - x64 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x64 += einsum("ijab,ikca->kjcb", t2.abab, x16) - x66 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x66 -= einsum("ijab->ijab", x64) - del x64 - x174 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x174 += einsum("ia,ijba->jb", t1.aa, x16) - x175 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x175 -= einsum("ia->ia", x174) - x220 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x220 -= einsum("ia->ia", x174) - del x174 - x194 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x194 += einsum("ia,ijba->jb", r1.aa, x16) - del x16 - x195 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x195 -= einsum("ia->ia", x194) - del x194 - x18 += einsum("iabj->ijba", v.aaaa.ovvo) - x18 -= einsum("ijab->ijab", v.aaaa.oovv) - x214 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x214 += einsum("ia,ijba->jb", t1.aa, x18) - x223 += einsum("ia->ia", x214) - del x214 - ree1new_aa += einsum("ia,ijba->jb", r1.aa, x18) - del x18 - x20 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x20 += einsum("iajb->jiab", v.bbbb.ovov) - x20 -= einsum("iajb->jiba", v.bbbb.ovov) - x21 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x21 += einsum("ijab,jkbc->ikac", t2.abab, x20) - x22 -= einsum("ijab->ijab", x21) - del x21 - x392 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x392 += einsum("ia,ijab->jb", t1.bb, x20) - x393 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x393 -= einsum("ia->ia", x392) - x437 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x437 -= einsum("ia->ia", x392) - del x392 - x412 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x412 += einsum("ia,ijab->jb", r1.bb, x20) - x413 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x413 -= einsum("ia->ia", x412) - del x412 - x22 += einsum("iabj->jiba", v.bbaa.ovvo) - x215 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x215 += einsum("ia,jiba->jb", t1.bb, x22) - x223 += einsum("ia->ia", x215) - del x215 - ree1new_aa += einsum("ia,jiba->jb", r1.bb, x22) - del x22 - x23 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x23 += einsum("ijab->ijab", r2.aaaa) - x23 += einsum("ijab->ijba", r2.aaaa) * -1 - x23 += einsum("ijab->jiab", r2.aaaa) * -1 - x23 += einsum("ijab->jiba", r2.aaaa) - x286 += einsum("iajk,liba->ljkb", v.aabb.ovoo, x23) - x385 += einsum("iajk,liba->ljkb", v.aabb.ovoo, x23) * 0.5 - ree1new_aa += einsum("ia,jiba->jb", f.aa.ov, x23) * 0.5 - x24 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x24 += einsum("ia,iabc->bc", r1.bb, v.bbaa.ovvv) - x27 += einsum("ab->ab", x24) * -1 - x207 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x207 += einsum("ab->ab", x24) - x334 += einsum("ab->ab", x24) * -2 - del x24 - x25 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x25 += einsum("iajb->jiab", v.aaaa.ovov) * -1 - x25 += einsum("iajb->jiba", v.aaaa.ovov) - x27 += einsum("ijab,ijac->cb", x25, x3) * 0.5 - x31 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x31 += einsum("ia,ijba->jb", t1.aa, x25) - x32 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x32 += einsum("ia->ia", x31) * -1 - del x31 - x34 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x34 += einsum("ia,ijba->jb", r1.aa, x25) - x35 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x35 += einsum("ia->ia", x34) * -1 - del x34 - x39 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x39 += einsum("ijab,ijcb->ac", t2.aaaa, x25) - x41 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x41 += einsum("ab->ab", x39) * -1 - del x39 - x109 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x109 += einsum("ijab,ijbc->ac", t2.aaaa, x25) - x111 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x111 += einsum("ab->ab", x109) * -1 - x158 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x158 += einsum("ab->ab", x109) * -1 - del x109 - x127 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x127 += einsum("ijab,ijac->cb", x25, x3) - x129 += einsum("ab->ab", x127) - x130 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x130 += einsum("ab,ijbc->ijca", x129, t2.aaaa) * 0.5 - del x129 - x164 += einsum("ijab->jiba", x130) - del x130 - x334 += einsum("ab->ab", x127) - del x127 - x131 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x131 += einsum("ijab,ikab->jk", x0, x25) - del x0 - x132 += einsum("ij->ij", x131) - del x131 - x133 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x133 += einsum("ij,jkab->kiab", x132, t2.aaaa) * 0.5 - del x132 - x164 += einsum("ijab->jiba", x133) - del x133 - x160 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x160 += einsum("ijab,ikba->jk", t2.aaaa, x25) - x161 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x161 += einsum("ij->ij", x160) * -1 - del x160 - x231 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x231 += einsum("ijab,ikca->kjcb", t2.abab, x25) - x234 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x234 += einsum("ijab->ijab", x231) * -1 - x261 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x261 += einsum("ijab->ijab", x231) * -1 - del x231 - x26 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x26 += einsum("iabc->ibac", v.aaaa.ovvv) * -1 - x26 += einsum("iabc->ibca", v.aaaa.ovvv) - x27 += einsum("ia,ibca->bc", r1.aa, x26) * -1 - ree1new_aa += einsum("ia,ba->ib", t1.aa, x27) * -1 - del x27 - x40 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x40 += einsum("ia,ibac->bc", t1.aa, x26) - x41 += einsum("ab->ab", x40) * -1 - del x40 - x110 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x110 += einsum("ia,ibca->bc", t1.aa, x26) - x111 += einsum("ab->ab", x110) * -1 - del x110 - x120 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x120 += einsum("iabc,jibd->jdac", x26, x5) - x122 += einsum("iabc->iabc", x120) * -1 - del x120 - x123 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x123 += einsum("ia,jbca->ijbc", t1.aa, x122) * 0.5 - del x122 - x164 += einsum("ijab->jiab", x123) - del x123 - x290 = np.zeros((nocc[1], nvir[0], nvir[0], nvir[1]), dtype=types[float]) - x290 += einsum("iabc,ijcd->jabd", x26, x4) - x295 += einsum("iabc->iabc", x290) - del x290 - x333 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x333 += einsum("ia,ibca->bc", r1.aa, x26) * 2 - x334 += einsum("ab->ab", x333) * -1 - del x333 - x335 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x335 += einsum("ab,ijbc->ijac", x334, t2.abab) * 0.5 - del x334 - ree2new_abab += einsum("ijab->ijab", x335) * -1 - ree2new_baba += einsum("ijab->jiba", x335) * -1 - del x335 - x339 = np.zeros((nocc[1], nvir[0], nvir[0], nvir[1]), dtype=types[float]) - x339 += einsum("ijab,icad->jcdb", t2.abab, x26) - del x26 - x343 = np.zeros((nocc[1], nvir[0], nvir[0], nvir[1]), dtype=types[float]) - x343 += einsum("iabc->iabc", x339) * -1 - del x339 - x28 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x28 += einsum("ia,jkia->jk", r1.bb, v.aabb.ooov) - x36 += einsum("ij->ij", x28) * 2 - x211 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x211 += einsum("ij->ij", x28) - x364 += einsum("ij->ij", x28) - del x28 - x30 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x30 += einsum("ia,jbia->jb", t1.bb, v.aabb.ovov) - x32 += einsum("ia->ia", x30) - x175 += einsum("ia->ia", x30) - x220 += einsum("ia->ia", x30) - del x30 - x221 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x221 += einsum("ia,ja->ij", t1.aa, x220) - del x220 - x222 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x222 += einsum("ia,ji->ja", t1.aa, x221) - del x221 - x223 -= einsum("ia->ia", x222) - del x222 - x32 += einsum("ia->ia", f.aa.ov) - x36 += einsum("ia,ja->ji", r1.aa, x32) * 2 - x46 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x46 += einsum("ia,ja->ij", t1.aa, x32) - x47 += einsum("ij->ji", x46) - x124 += einsum("ij->ji", x46) - del x46 - x117 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x117 += einsum("ia,jkab->jkib", x32, x3) - x118 += einsum("ijka->kija", x117) * -1 - del x117 - x258 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x258 += einsum("ia,jkab->jikb", x32, x4) * 0.5 - x278 += einsum("ijka->jika", x258) - del x258 - x308 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x308 += einsum("ia,jkab->jikb", x32, t2.abab) - x314 += einsum("ijka->jika", x308) - del x308 - x362 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x362 += einsum("ia,ja->ij", r1.aa, x32) - del x32 - x364 += einsum("ij->ji", x362) - del x362 - x33 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x33 += einsum("ia,jbia->jb", r1.bb, v.aabb.ovov) - x35 += einsum("ia->ia", x33) - x36 += einsum("ia,ja->ji", t1.aa, x35) * 2 - ree1new_aa += einsum("ia,ij->ja", t1.aa, x36) * -0.5 - del x36 - x272 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x272 += einsum("ia,jkab->jikb", x35, t2.abab) - x278 += einsum("ijka->jika", x272) - del x272 - x363 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x363 += einsum("ia,ja->ij", t1.aa, x35) - del x35 - x364 += einsum("ij->ji", x363) - del x363 - x365 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x365 += einsum("ij,ikab->jkab", x364, t2.abab) - del x364 - ree2new_abab += einsum("ijab->ijab", x365) * -1 - ree2new_baba += einsum("ijab->jiba", x365) * -1 - del x365 - x195 += einsum("ia->ia", x33) - del x33 - x196 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x196 += einsum("ia,jkab->jkib", x195, t2.aaaa) - x200 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x200 -= einsum("ijka->jkia", x196) - del x196 - x203 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x203 += einsum("ia,ja->ij", t1.aa, x195) - del x195 - x204 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x204 += einsum("ij->ij", x203) - del x203 - x37 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x37 += einsum("ia,iabc->bc", t1.bb, v.bbaa.ovvv) - x41 += einsum("ab->ab", x37) - x111 += einsum("ab->ab", x37) * -1 - x218 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x218 += einsum("ab->ab", x37) - del x37 - x38 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x38 += einsum("ijab,icjb->ac", t2.abab, v.aabb.ovov) - x41 += einsum("ab->ab", x38) * -1 - x111 += einsum("ab->ab", x38) - x112 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x112 += einsum("ab,ijbc->ijca", x111, x3) * 0.5 - del x3 - del x111 - x164 += einsum("ijab->ijab", x112) - del x112 - x158 += einsum("ab->ab", x38) - del x38 - x159 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x159 += einsum("ia,ba->ib", t1.aa, x158) - del x158 - x163 += einsum("ia->ia", x159) - del x159 - x41 += einsum("ab->ab", f.aa.vv) - x288 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x288 += einsum("ab,ijbc->ijac", x41, x4) * 0.5 - ree2new_abab += einsum("ijab->ijab", x288) - ree2new_baba += einsum("ijab->jiba", x288) - del x288 - x371 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x371 += einsum("ia,ba->ib", t1.aa, x41) - x373 += einsum("ia->ia", x371) - del x371 - ree1new_aa += einsum("ia,ba->ib", r1.aa, x41) - del x41 - x42 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x42 += einsum("ia,jkia->jk", t1.bb, v.aabb.ooov) - x47 += einsum("ij->ij", x42) - x124 += einsum("ij->ij", x42) - x228 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x228 += einsum("ij->ij", x42) - del x42 - x43 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x43 += einsum("ijab,kajb->ik", t2.abab, v.aabb.ovov) - x47 += einsum("ij->ji", x43) - x124 += einsum("ij->ji", x43) - x161 += einsum("ij->ij", x43) - del x43 - x162 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x162 += einsum("ia,ji->ja", t1.aa, x161) - del x161 - x163 += einsum("ia->ia", x162) - del x162 - x47 += einsum("ij->ij", f.aa.oo) - x327 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x327 += einsum("ij,ikab->jkab", x47, x4) * 0.5 - ree2new_abab += einsum("ijab->ijab", x327) * -1 - ree2new_baba += einsum("ijab->jiba", x327) * -1 - del x327 - x372 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x372 += einsum("ia,ij->ja", t1.aa, x47) - x373 += einsum("ia->ia", x372) * -1 - del x372 - ree1new_aa += einsum("ia,ij->ja", r1.aa, x47) * -1 - del x47 - x48 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x48 += einsum("ijab->ijab", r2.bbbb) - x48 += einsum("ijab->jiab", r2.bbbb) * -1 - x490 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x490 += einsum("ij,ikab->jkab", f.bb.oo, x48) * 0.5 - x498 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x498 += einsum("ijab->ijab", x490) * -1 - del x490 - x49 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x49 += einsum("iabc->ibac", v.bbbb.ovvv) * -1 - x49 += einsum("iabc->ibca", v.bbbb.ovvv) - x69 += einsum("ia,ibca->bc", r1.bb, x49) * -1 - x330 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x330 += einsum("ia,ibca->bc", r1.bb, x49) * 2 - x331 += einsum("ab->ab", x330) * -1 - del x330 - x377 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x377 += einsum("ijab,icab->jc", t2.bbbb, x49) - x384 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x384 += einsum("ia->ia", x377) * -1 - del x377 - x452 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x452 += einsum("ia,ibca->bc", t1.bb, x49) - x453 += einsum("ab->ab", x452) * -1 - del x452 - x483 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x483 += einsum("ijab,kcba->ijkc", r2.bbbb, x49) - x484 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x484 += einsum("ijka->ijka", x483) * -1 - del x483 - ree1new_bb += einsum("ijab,icba->jc", x48, x49) * 0.5 - del x48 - del x49 - x50 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x50 += einsum("ijka->ikja", v.bbbb.ooov) - x50 += einsum("ijka->kija", v.bbbb.ooov) * -1 - x80 += einsum("ia,ijka->jk", r1.bb, x50) * -2 - x91 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x91 += einsum("ia,ijka->jk", t1.bb, x50) - x93 += einsum("ij->ij", x91) * -1 - x465 += einsum("ij->ij", x91) * -1 - del x91 - x318 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x318 += einsum("ijab,jklb->ikla", t2.abab, x50) - x324 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x324 += einsum("ijka->ijka", x318) * -1 - del x318 - x354 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x354 += einsum("ia,ijka->jk", r1.bb, x50) - x357 += einsum("ij->ij", x354) * -1 - del x354 - x378 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x378 += einsum("ijab,ijkb->ka", t2.bbbb, x50) - x384 += einsum("ia->ia", x378) * -1 - del x378 - x51 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x51 += einsum("ijab->ijab", r2.bbbb) * -1 - x51 += einsum("ijab->ijba", r2.bbbb) - ree1new_bb += einsum("ijka,ijba->kb", x50, x51) * 0.5 - del x50 - x52 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x52 += einsum("ijab->ijab", r2.bbbb) * -1 - x52 += einsum("ijab->ijba", r2.bbbb) - x52 += einsum("ijab->jiab", r2.bbbb) - x52 += einsum("ijab->jiba", r2.bbbb) * -1 - x53 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x53 += einsum("ijab,ikca->jkbc", x10, x52) - x55 += einsum("ijab->jiba", x53) * -1 - del x53 - x457 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x457 += einsum("ia,jkba->ijkb", t1.bb, x55) - x459 += einsum("ijka->kjia", x457) - del x457 - ree1new_bb += einsum("ia,jiba->jb", t1.bb, x55) * 0.5 - del x55 - x57 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x57 += einsum("ijab->ijab", r2.bbbb) - x57 += einsum("ijab->ijba", r2.bbbb) * -1 - x57 += einsum("ijab->jiab", r2.bbbb) * -1 - x57 += einsum("ijab->jiba", r2.bbbb) - x58 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x58 += einsum("iajb,jkbc->ikac", v.aabb.ovov, x57) - x59 += einsum("ijab->ijab", x58) - del x58 - x259 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x259 += einsum("ia,jkab->ijkb", t1.aa, x59) * 0.5 - x278 += einsum("ijka->jika", x259) - del x259 - ree1new_bb += einsum("ia,ijab->jb", t1.aa, x59) * 0.5 - del x59 - x255 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x255 += einsum("ijka,klab->ijlb", v.aabb.ooov, x57) * 0.5 - x278 += einsum("ijka->ijka", x255) - del x255 - x289 = np.zeros((nocc[1], nvir[0], nvir[0], nvir[1]), dtype=types[float]) - x289 += einsum("iabc,ijad->jbcd", v.bbaa.ovvv, x57) - x295 += einsum("iabc->iabc", x289) - del x289 - x296 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x296 += einsum("ia,jbac->ijbc", t1.aa, x295) * 0.5 - del x295 - ree2new_abab += einsum("ijab->ijab", x296) - ree2new_baba += einsum("ijab->jiba", x296) - del x296 - ree1new_bb += einsum("ia,ijab->jb", f.bb.ov, x57) * 0.5 - x60 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x60 += einsum("ijab,iakc->jkbc", t2.abab, v.aabb.ovov) - x63 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x63 += einsum("ijab->jiab", x60) - x240 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x240 += einsum("ijab->jiab", x60) - x390 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x390 += einsum("ijab->ijab", x60) - x410 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x410 += einsum("ijab->ijab", x60) - x445 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x445 += einsum("ijab->ijab", x60) - del x60 - x61 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x61 += einsum("ijab->jiab", t2.bbbb) - x61 -= einsum("ijab->jiba", t2.bbbb) - x62 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x62 += einsum("ijab,ikac->jkbc", x20, x61) - del x20 - x63 += einsum("ijab->ijba", x62) - x390 += einsum("ijab->jiba", x62) - x410 += einsum("ijab->jiba", x62) - del x62 - x65 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x65 += einsum("iajb,jkbc->ikac", v.aabb.ovov, x61) - x66 -= einsum("ijab->ijab", x65) - del x65 - x433 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x433 += einsum("ia,ijab->jb", f.bb.ov, x61) - x440 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x440 -= einsum("ia->ia", x433) - del x433 - x63 += einsum("iabj->ijba", v.bbbb.ovvo) - x63 -= einsum("ijab->ijab", v.bbbb.oovv) - x431 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x431 += einsum("ia,ijba->jb", t1.bb, x63) - x440 += einsum("ia->ia", x431) - del x431 - ree1new_bb += einsum("ia,ijba->jb", r1.bb, x63) - del x63 - x66 += einsum("iabj->ijab", v.aabb.ovvo) - x432 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x432 += einsum("ia,ijab->jb", t1.aa, x66) - x440 += einsum("ia->ia", x432) - del x432 - ree1new_bb += einsum("ia,ijab->jb", r1.aa, x66) - del x66 - x67 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x67 += einsum("ia,iabc->bc", r1.aa, v.aabb.ovvv) - x69 += einsum("ab->ab", x67) * -1 - x331 += einsum("ab->ab", x67) * -2 - x425 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x425 += einsum("ab->ab", x67) - del x67 - x68 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x68 += einsum("ijab->ijab", r2.bbbb) - x68 += einsum("ijab->ijba", r2.bbbb) * -1 - x69 += einsum("ijab,ijbc->ca", x10, x68) * 0.5 - ree1new_bb += einsum("ia,ba->ib", t1.bb, x69) * -1 - del x69 - x328 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x328 += einsum("ijab,ijbc->ac", x10, x68) - x331 += einsum("ab->ba", x328) - x332 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x332 += einsum("ab,ijcb->ijca", x331, t2.abab) * 0.5 - del x331 - ree2new_abab += einsum("ijab->ijab", x332) * -1 - ree2new_baba += einsum("ijab->jiba", x332) * -1 - del x332 - x467 += einsum("ab->ba", x328) - del x328 - x468 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x468 += einsum("ab,ijbc->ijca", x467, t2.bbbb) * 0.5 - del x467 - x498 += einsum("ijab->jiba", x468) - del x468 - x476 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x476 += einsum("ab,ijcb->ijac", f.bb.vv, x68) * 0.5 - x498 += einsum("ijab->ijab", x476) * -1 - del x476 - x70 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x70 += einsum("ia,iajk->jk", r1.aa, v.aabb.ovoo) - x80 += einsum("ij->ij", x70) * 2 - x357 += einsum("ij->ij", x70) - x429 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x429 += einsum("ij->ij", x70) - del x70 - x71 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x71 += einsum("ijab->ijab", r2.bbbb) * -1 - x71 += einsum("ijab->jiab", r2.bbbb) - x72 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x72 += einsum("ijab,kiba->jk", x10, x71) - x80 += einsum("ij->ij", x72) - x469 += einsum("ij->ji", x72) - del x72 - x470 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x470 += einsum("ij,jkab->kiab", x469, t2.bbbb) * 0.5 - del x469 - x498 += einsum("ijab->jiba", x470) - del x470 - x352 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x352 += einsum("ijab,kiba->jk", x10, x71) * 0.5 - x357 += einsum("ij->ij", x352) - del x352 - x74 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x74 += einsum("ia,iajb->jb", t1.aa, v.aabb.ovov) - x76 += einsum("ia->ia", x74) - x393 += einsum("ia->ia", x74) - x437 += einsum("ia->ia", x74) - del x74 - x438 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x438 += einsum("ia,ja->ij", t1.bb, x437) - del x437 - x439 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x439 += einsum("ia,ji->ja", t1.bb, x438) - del x438 - x440 -= einsum("ia->ia", x439) - del x439 - x76 += einsum("ia->ia", f.bb.ov) - x80 += einsum("ia,ja->ji", r1.bb, x76) * 2 - x92 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x92 += einsum("ia,ja->ij", t1.bb, x76) - x93 += einsum("ij->ji", x92) - x465 += einsum("ij->ji", x92) - del x92 - x286 += einsum("ia,jkba->jikb", x76, x4) - x321 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x321 += einsum("ia,jkba->jkib", x76, t2.abab) - x324 += einsum("ijka->ikja", x321) - del x321 - x355 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x355 += einsum("ia,ja->ij", r1.bb, x76) - x357 += einsum("ij->ji", x355) - del x355 - x385 += einsum("ia,jkba->jikb", x76, x4) * 0.5 - x458 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x458 += einsum("ia,jkab->jkib", x76, x68) - del x68 - del x76 - x459 += einsum("ijka->kija", x458) * -1 - del x458 - x77 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x77 += einsum("ia,iajb->jb", r1.aa, v.aabb.ovov) - x79 += einsum("ia->ia", x77) - x80 += einsum("ia,ja->ji", t1.bb, x79) * 2 - ree1new_bb += einsum("ia,ij->ja", t1.bb, x80) * -0.5 - del x80 - x286 += einsum("ia,jkba->jikb", x79, t2.abab) * 2 - x356 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x356 += einsum("ia,ja->ij", t1.bb, x79) - x357 += einsum("ij->ji", x356) - del x356 - x358 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x358 += einsum("ij,kiab->kjab", x357, t2.abab) - del x357 - ree2new_abab += einsum("ijab->ijab", x358) * -1 - ree2new_baba += einsum("ijab->jiba", x358) * -1 - del x358 - x385 += einsum("ia,jkba->jikb", x79, t2.abab) - del x79 - x413 += einsum("ia->ia", x77) - del x77 - x414 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x414 += einsum("ia,jkab->jkib", x413, t2.bbbb) - x418 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x418 -= einsum("ijka->jkia", x414) - del x414 - x421 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x421 += einsum("ia,ja->ij", t1.bb, x413) - del x413 - x422 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x422 += einsum("ij->ij", x421) - del x421 - x81 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x81 += einsum("ia,iabc->bc", t1.aa, v.aabb.ovvv) - x87 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x87 += einsum("ab->ab", x81) - x435 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x435 += einsum("ab->ab", x81) - x453 += einsum("ab->ab", x81) * -1 - del x81 - x82 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x82 += einsum("ijab,iajc->bc", t2.abab, v.aabb.ovov) - x87 += einsum("ab->ab", x82) * -1 - x453 += einsum("ab->ab", x82) - x454 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x454 += einsum("ab,ijcb->ijca", x453, x51) * 0.5 - del x51 - del x453 - x498 += einsum("ijab->ijab", x454) - del x454 - x493 += einsum("ab->ab", x82) - del x82 - x494 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x494 += einsum("ia,ba->ib", t1.bb, x493) - del x493 - x497 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x497 += einsum("ia->ia", x494) - del x494 - x83 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x83 += einsum("iajb->jiab", v.bbbb.ovov) * -1 - x83 += einsum("iajb->jiba", v.bbbb.ovov) - x84 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x84 += einsum("ijab,ijcb->ac", t2.bbbb, x83) - del x83 - x87 += einsum("ab->ab", x84) * -1 - del x84 - x85 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x85 += einsum("iabc->ibac", v.bbbb.ovvv) - x85 += einsum("iabc->ibca", v.bbbb.ovvv) * -1 - x86 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x86 += einsum("ia,ibca->bc", t1.bb, x85) - x87 += einsum("ab->ab", x86) * -1 - del x86 - x298 = np.zeros((nocc[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) - x298 += einsum("ijab,jcdb->iacd", x4, x85) - x301 += einsum("iabc->iabc", x298) * -1 - del x298 - x302 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x302 += einsum("ia,jbca->jibc", t1.bb, x301) * 0.5 - del x301 - ree2new_abab += einsum("ijab->ijab", x302) - ree2new_baba += einsum("ijab->jiba", x302) - del x302 - x348 = np.zeros((nocc[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) - x348 += einsum("ijab,jcdb->iacd", t2.abab, x85) - x350 = np.zeros((nocc[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) - x350 += einsum("iabc->iabc", x348) * -1 - del x348 - x461 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x461 += einsum("ijab,icdb->jacd", x52, x85) - x463 += einsum("iabc->iabc", x461) * -1 - del x461 - x464 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x464 += einsum("ia,jbca->ijbc", t1.bb, x463) * 0.5 - del x463 - x498 += einsum("ijab->jiab", x464) - del x464 - x491 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x491 += einsum("ijab,icab->jc", t2.bbbb, x85) - del x85 - x497 += einsum("ia->ia", x491) * -1 - del x491 - x87 += einsum("ab->ab", f.bb.vv) - x287 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x287 += einsum("ab,ijcb->ijca", x87, x4) * 0.5 - ree2new_abab += einsum("ijab->ijab", x287) - ree2new_baba += einsum("ijab->jiba", x287) - del x287 - x382 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x382 += einsum("ia,ba->ib", t1.bb, x87) - x384 += einsum("ia->ia", x382) - del x382 - ree1new_bb += einsum("ia,ba->ib", r1.bb, x87) - del x87 - x88 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x88 += einsum("ia,iajk->jk", t1.aa, v.aabb.ovoo) - x93 += einsum("ij->ij", x88) - x465 += einsum("ij->ij", x88) - x502 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x502 += einsum("ij->ij", x88) - del x88 - x89 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x89 += einsum("ijab,iakb->jk", t2.abab, v.aabb.ovov) - x93 += einsum("ij->ji", x89) - x465 += einsum("ij->ji", x89) - x466 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x466 += einsum("ij,ikab->kjab", x465, x71) * 0.5 - del x465 - del x71 - x498 += einsum("ijab->ijab", x466) * -1 - del x466 - x495 += einsum("ij->ij", x89) - del x89 - x496 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x496 += einsum("ia,ji->ja", t1.bb, x495) - del x495 - x497 += einsum("ia->ia", x496) - del x496 - x93 += einsum("ij->ij", f.bb.oo) - x326 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x326 += einsum("ij,kiab->kjab", x93, x4) * 0.5 - ree2new_abab += einsum("ijab->ijab", x326) * -1 - ree2new_baba += einsum("ijab->jiba", x326) * -1 - del x326 - x383 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x383 += einsum("ia,ij->ja", t1.bb, x93) - x384 += einsum("ia->ia", x383) * -1 - del x383 - ree1new_bb += einsum("ia,ij->ja", r1.bb, x93) * -1 - del x93 - x94 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x94 += einsum("ijab,cbda->ijdc", r2.aaaa, v.aaaa.vvvv) - x164 += einsum("ijab->ijab", x94) * 0.5 - del x94 - x95 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x95 += einsum("ijab,kbla->ijlk", r2.aaaa, v.aaaa.ovov) - x96 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x96 += einsum("ijab,klji->klba", t2.aaaa, x95) - x164 += einsum("ijab->ijab", x96) * 0.5 - del x96 - x145 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x145 += einsum("ia,jkli->jkla", t1.aa, x95) - del x95 - x147 += einsum("ijka->ijka", x145) - del x145 - x148 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x148 += einsum("ia,jkib->jkab", t1.aa, x147) * 0.5 - del x147 - x164 += einsum("ijab->ijab", x148) - del x148 - x97 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x97 += einsum("ijab->jiab", t2.aaaa) - x97 += einsum("ijab->jiba", t2.aaaa) * -1 - x98 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x98 += einsum("ijab,ikac->jkbc", x6, x97) - del x97 - del x6 - x99 += einsum("ijab->jiba", x98) - del x98 - x99 += einsum("iabj->jiba", v.aaaa.ovvo) - x99 += einsum("ijab->jiab", v.aaaa.oovv) * -1 - x100 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x100 += einsum("ijab,kjca->ikbc", x5, x99) * 0.5 - del x99 - del x5 - x164 += einsum("ijab->ijab", x100) - del x100 - x101 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x101 += einsum("ijab->jiab", t2.aaaa) * -1 - x101 += einsum("ijab->jiba", t2.aaaa) - x102 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x102 += einsum("iajb,ikca->kjcb", v.aabb.ovov, x101) - x104 += einsum("ijab->ijab", x102) * -1 - x282 += einsum("ijab->ijab", x102) * -1 - del x102 - x236 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x236 += einsum("ijab,ikcb->kjca", x101, x25) - del x25 - x237 += einsum("ijab->ijba", x236) - del x236 - x319 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x319 += einsum("iajk,ilba->ljkb", v.aabb.ovoo, x101) - x324 += einsum("ijka->ijka", x319) * -1 - del x319 - x347 = np.zeros((nocc[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) - x347 += einsum("iabc,ijda->jdbc", v.aabb.ovvv, x101) - x350 += einsum("iabc->iabc", x347) * -1 - del x347 - x370 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x370 += einsum("ia,ijba->jb", f.aa.ov, x101) - del x101 - x373 += einsum("ia->ia", x370) * -1 - del x370 - x104 += einsum("iabj->jiba", v.bbaa.ovvo) - x105 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x105 += einsum("ijab,kjcb->kica", x104, x4) * 0.5 - x164 += einsum("ijab->ijab", x105) - del x105 - x320 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x320 += einsum("ia,jkba->jikb", t1.bb, x104) - x324 += einsum("ijka->ikja", x320) - del x320 - x369 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x369 += einsum("ia,jiba->jb", t1.bb, x104) - x373 += einsum("ia->ia", x369) - del x369 - ree2new_abab += einsum("ijab,kjbc->ikac", x104, x52) * 0.5 - ree2new_baba += einsum("ijab,jkbc->kica", x104, x52) * -0.5 - del x104 - del x52 - x106 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x106 += einsum("ijab,kalb->ijkl", t2.aaaa, v.aaaa.ovov) - x107 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x107 += einsum("ijkl->lkji", x106) - x150 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x150 += einsum("ia,jkil->kjla", t1.aa, x106) - del x106 - x151 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x151 += einsum("ijka->ijka", x150) * -1 - del x150 - x107 += einsum("ijkl->kilj", v.aaaa.oooo) - x108 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x108 += einsum("ijab,jikl->klab", r2.aaaa, x107) * 0.5 - del x107 - x164 += einsum("ijab->jiab", x108) - del x108 - x113 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x113 += einsum("ijka->ikja", v.aaaa.ooov) * -1 - x113 += einsum("ijka->kija", v.aaaa.ooov) - x114 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x114 += einsum("ijka,jlab->likb", x113, x23) - x118 += einsum("ijka->jika", x114) * -1 - del x114 - x119 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x119 += einsum("ia,ijkb->jkab", t1.aa, x118) * 0.5 - del x118 - x164 += einsum("ijab->ijba", x119) * -1 - del x119 - x254 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x254 += einsum("ijka,ilab->jklb", x113, x4) * 0.5 - x278 += einsum("ijka->ijka", x254) - del x254 - x367 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x367 += einsum("ijab,ijka->kb", t2.aaaa, x113) - del x113 - x373 += einsum("ia->ia", x367) * -1 - del x367 - x125 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x125 += einsum("ijab->ijab", r2.aaaa) * -1 - x125 += einsum("ijab->jiab", r2.aaaa) - x126 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x126 += einsum("ij,ikab->jkab", x124, x125) * 0.5 - del x124 - del x125 - x164 += einsum("ijab->jiab", x126) * -1 - del x126 - x134 = np.zeros((nvir[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x134 += einsum("ijab,jcid->abdc", r2.aaaa, v.aaaa.ovov) - x135 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x135 += einsum("ia,bcda->ibcd", t1.aa, x134) - del x134 - x137 += einsum("iabc->iabc", x135) - del x135 - x138 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x138 += einsum("ia,jbca->ijbc", t1.aa, x137) * 0.5 - del x137 - x164 += einsum("ijab->ijab", x138) - del x138 - x140 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x140 += einsum("ijab,jkic->kbac", t2.aaaa, v.aaaa.ooov) - x143 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x143 += einsum("iabc->iabc", x140) - del x140 - x141 = np.zeros((nvir[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x141 += einsum("ijab,icjd->abcd", t2.aaaa, v.aaaa.ovov) - x142 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x142 += einsum("ia,bcad->icbd", t1.aa, x141) - del x141 - x143 += einsum("iabc->iabc", x142) * -1 - del x142 - x144 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x144 += einsum("ia,jbca->ijbc", r1.aa, x143) - del x143 - x164 += einsum("ijab->ijab", x144) * -1 - del x144 - x149 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x149 += einsum("ijab,kbca->jikc", t2.aaaa, v.aaaa.ovvv) - x151 += einsum("ijka->ijka", x149) - del x149 - x152 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x152 += einsum("ia,jkib->jkab", r1.aa, x151) - del x151 - x164 += einsum("ijab->ijab", x152) * -1 - del x152 - x154 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x154 += einsum("ijab,ikjb->ka", t2.abab, v.aabb.ooov) - x163 += einsum("ia->ia", x154) - x373 += einsum("ia->ia", x154) * -1 - del x154 - x155 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x155 += einsum("ijab,jbca->ic", t2.abab, v.bbaa.ovvv) - x163 += einsum("ia->ia", x155) * -1 - x164 += einsum("ia,jb->ijab", r1.aa, x163) * -1 - del x163 - ree2new_aaaa = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - ree2new_aaaa += einsum("ijab->ijab", x164) - ree2new_aaaa += einsum("ijab->ijba", x164) * -1 - ree2new_aaaa += einsum("ijab->jiab", x164) * -1 - ree2new_aaaa += einsum("ijab->jiba", x164) - del x164 - x373 += einsum("ia->ia", x155) - del x155 - x165 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x165 += einsum("ijab,kljb->ikla", t2.abab, v.aabb.ooov) - x182 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x182 += einsum("ijka->jika", x165) - del x165 - x166 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x166 -= einsum("ijka->ikja", v.aaaa.ooov) - x166 += einsum("ijka->kija", v.aaaa.ooov) - x167 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x167 += einsum("ijab->jiab", t2.aaaa) - x167 -= einsum("ijab->jiba", t2.aaaa) - x168 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x168 += einsum("ijka,jlab->iklb", x166, x167) - del x166 - x182 += einsum("ijka->ikja", x168) - del x168 - x169 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x169 += einsum("ia,jbca->ijcb", t1.aa, v.aaaa.ovvv) - x172 += einsum("ijab->ijab", x169) - del x169 - x170 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x170 += einsum("iajb->jiab", v.aaaa.ovov) - x170 -= einsum("iajb->jiba", v.aaaa.ovov) - x171 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x171 += einsum("ijab,ikac->jkbc", x167, x170) - del x170 - x172 += einsum("ijab->ijab", x171) - x192 += einsum("ijab->ijab", x171) - del x171 - x172 += einsum("iabj->jiba", v.aaaa.ovvo) - x172 -= einsum("ijab->jiab", v.aaaa.oovv) - x173 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x173 += einsum("ia,jkba->ijkb", t1.aa, x172) - del x172 - x182 -= einsum("ijka->kija", x173) - del x173 - x175 += einsum("ia->ia", f.aa.ov) - x176 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x176 += einsum("ia,jkab->jkib", x175, t2.aaaa) - x182 += einsum("ijka->kjia", x176) - del x176 - x202 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x202 += einsum("ia,ja->ij", r1.aa, x175) - del x175 - x204 += einsum("ij->ij", x202) - del x202 - x205 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x205 += einsum("ij,jkab->kiab", x204, t2.aaaa) - del x204 - x224 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x224 += einsum("ijab->jiba", x205) - del x205 - x177 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x177 += einsum("ia,jakb->ikjb", t1.aa, v.aaaa.ovov) - x178 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x178 += einsum("ia,jkla->jilk", t1.aa, x177) - x180 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x180 += einsum("ijkl->lkji", x178) - del x178 - x197 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x197 -= einsum("ijka->jkia", x177) - del x177 - x179 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x179 += einsum("ia,jkla->ijlk", t1.aa, v.aaaa.ooov) - x180 += einsum("ijkl->jkli", x179) - x180 -= einsum("ijkl->kjli", x179) - del x179 - x180 += einsum("ijkl->kilj", v.aaaa.oooo) - x181 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x181 += einsum("ia,ijkl->jkla", t1.aa, x180) - del x180 - x182 += einsum("ijka->ikja", x181) - del x181 - x182 -= einsum("ijak->ijka", v.aaaa.oovo) - x183 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x183 += einsum("ia,ijkb->jkab", r1.aa, x182) - del x182 - x224 += einsum("ijab->ijab", x183) - del x183 - x184 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x184 += einsum("ia,bacd->icbd", t1.aa, v.aaaa.vvvv) - x188 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x188 -= einsum("iabc->iabc", x184) - del x184 - x185 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x185 += einsum("ijab,jbcd->iacd", t2.abab, v.bbaa.ovvv) - x188 += einsum("iabc->iabc", x185) - del x185 - x186 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x186 -= einsum("iabc->ibac", v.aaaa.ovvv) - x186 += einsum("iabc->ibca", v.aaaa.ovvv) - x187 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x187 += einsum("ijab,icad->jbcd", x167, x186) - del x167 - x188 += einsum("iabc->iabc", x187) - del x187 - x206 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x206 += einsum("ia,ibac->bc", r1.aa, x186) - x207 -= einsum("ab->ab", x206) - del x206 - x208 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x208 += einsum("ab,ijbc->ijca", x207, t2.aaaa) - del x207 - x224 += einsum("ijab->jiab", x208) - del x208 - x217 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x217 += einsum("ia,ibac->bc", t1.aa, x186) - del x186 - x218 -= einsum("ab->ab", x217) - del x217 - x219 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x219 += einsum("ia,ba->ib", t1.aa, x218) - del x218 - x223 += einsum("ia->ia", x219) - del x219 - x188 += einsum("aibc->iabc", v.aaaa.vovv) - x189 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x189 += einsum("ia,jbca->ijbc", r1.aa, x188) - del x188 - x224 -= einsum("ijab->ijab", x189) - del x189 - x190 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x190 += einsum("iabc->ibac", v.aaaa.ovvv) - x190 -= einsum("iabc->ibca", v.aaaa.ovvv) - x191 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x191 += einsum("ia,jbac->ijbc", t1.aa, x190) - del x190 - x192 -= einsum("ijab->ijab", x191) - del x191 - x192 += einsum("iabj->jiba", v.aaaa.ovvo) - x192 -= einsum("ijab->jiab", v.aaaa.oovv) - x193 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x193 += einsum("ia,jkba->ijkb", r1.aa, x192) - del x192 - x200 += einsum("ijka->ikja", x193) - del x193 - x197 += einsum("ijka->ikja", v.aaaa.ooov) - x198 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x198 += einsum("ia,jkla->ijkl", r1.aa, x197) - del x197 - x199 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x199 += einsum("ia,jkil->jkla", t1.aa, x198) - del x198 - x200 += einsum("ijka->ijka", x199) - del x199 - x201 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x201 += einsum("ia,jikb->jkab", t1.aa, x200) - del x200 - x224 -= einsum("ijab->ijab", x201) - del x201 - x209 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x209 += einsum("ijka->ikja", v.aaaa.ooov) - x209 -= einsum("ijka->kija", v.aaaa.ooov) - x210 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x210 += einsum("ia,ijka->jk", r1.aa, x209) - x211 -= einsum("ij->ij", x210) - del x210 - x212 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x212 += einsum("ij,ikab->kjab", x211, t2.aaaa) - del x211 - x224 -= einsum("ijab->ijba", x212) - del x212 - x227 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x227 += einsum("ia,ijka->jk", t1.aa, x209) - del x209 - x228 -= einsum("ij->ij", x227) - del x227 - x213 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x213 += einsum("ia,jiba->jb", f.bb.ov, t2.abab) - x223 += einsum("ia->ia", x213) - x224 += einsum("ia,jb->ijab", r1.aa, x223) - del x223 - ree2new_aaaa += einsum("ijab->ijab", x224) - ree2new_aaaa -= einsum("ijab->ijba", x224) - ree2new_aaaa -= einsum("ijab->jiab", x224) - ree2new_aaaa += einsum("ijab->jiba", x224) - del x224 - x373 += einsum("ia->ia", x213) - del x213 - x225 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x225 += einsum("ab,ib->ia", f.aa.vv, t1.aa) - x230 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x230 -= einsum("ia->ia", x225) - del x225 - x226 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x226 += einsum("ia,ja->ij", f.aa.ov, t1.aa) - x228 += einsum("ij->ij", x226) - del x226 - x228 += einsum("ij->ij", f.aa.oo) - x229 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x229 += einsum("ia,ij->ja", t1.aa, x228) - del x228 - x230 += einsum("ia->ia", x229) - del x229 - x230 -= einsum("ai->ia", f.aa.vo) - ree2new_aaaa -= einsum("ia,jb->jiba", r1.aa, x230) - ree2new_aaaa -= einsum("ia,jb->ijab", r1.aa, x230) - ree2new_aaaa += einsum("ia,jb->ijba", r1.aa, x230) - ree2new_aaaa += einsum("ia,jb->jiab", r1.aa, x230) - del x230 - x232 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x232 += einsum("ijab->jiab", t2.bbbb) - x232 += einsum("ijab->jiba", t2.bbbb) * -1 - x233 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x233 += einsum("iajb,jkbc->ikac", v.aabb.ovov, x232) - x234 += einsum("ijab->ijab", x233) * -1 - x261 += einsum("ijab->ijab", x233) * -1 - del x233 - x239 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x239 += einsum("ijab,ikac->jkbc", x10, x232) - del x10 - x240 += einsum("ijab->ijba", x239) - x445 += einsum("ijab->jiba", x239) - del x239 - x306 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x306 += einsum("ijka,klab->ijlb", v.aabb.ooov, x232) - x314 += einsum("ijka->ijka", x306) * -1 - del x306 - x338 = np.zeros((nocc[1], nvir[0], nvir[0], nvir[1]), dtype=types[float]) - x338 += einsum("iabc,ijad->jbcd", v.bbaa.ovvv, x232) - x343 += einsum("iabc->iabc", x338) * -1 - del x338 - x381 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x381 += einsum("ia,ijab->jb", f.bb.ov, x232) - del x232 - x384 += einsum("ia->ia", x381) * -1 - del x381 - x234 += einsum("iabj->ijab", v.aabb.ovvo) - x235 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x235 += einsum("ijab,jkbc->ikac", x23, x234) * 0.5 - del x23 - ree2new_abab += einsum("ijab->ijab", x235) - ree2new_baba += einsum("ijab->jiba", x235) - del x235 - x380 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x380 += einsum("ia,ijab->jb", t1.aa, x234) - x384 += einsum("ia->ia", x380) - del x380 - x447 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x447 += einsum("ijab,ikac->kjcb", x234, x4) * 0.5 - del x234 - x498 += einsum("ijab->ijab", x447) - del x447 - x237 += einsum("iabj->ijba", v.aaaa.ovvo) - x237 += einsum("ijab->ijab", v.aaaa.oovv) * -1 - x238 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x238 += einsum("ijab,ikbc->jkac", x237, x4) * 0.5 - ree2new_abab += einsum("ijab->ijab", x238) - ree2new_baba += einsum("ijab->jiba", x238) - del x238 - x368 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x368 += einsum("ia,ijba->jb", t1.aa, x237) - del x237 - x373 += einsum("ia->ia", x368) - del x368 - x240 += einsum("iabj->ijba", v.bbbb.ovvo) - x240 += einsum("ijab->ijab", v.bbbb.oovv) * -1 - x241 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x241 += einsum("ijab,kicb->kjca", x240, x4) * 0.5 - ree2new_abab += einsum("ijab->ijab", x241) - ree2new_baba += einsum("ijab->jiba", x241) - del x241 - x379 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x379 += einsum("ia,ijba->jb", t1.bb, x240) - del x240 - x384 += einsum("ia->ia", x379) - del x379 - x242 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x242 += einsum("ijab,ickb->jkac", t2.abab, v.aabb.ovov) - x243 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x243 += einsum("ijab->jiab", x242) * -1 - x284 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x284 += einsum("ijab->jiab", x242) * -1 - del x242 - x243 += einsum("ijab->ijab", v.bbaa.oovv) - x244 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x244 += einsum("ijab,kibc->kjac", x243, x4) * 0.5 - del x243 - ree2new_abab += einsum("ijab->ijab", x244) * -1 - ree2new_baba += einsum("ijab->jiba", x244) * -1 - del x244 - x245 = np.zeros((nocc[0], nocc[0], nvir[1], nvir[1]), dtype=types[float]) - x245 += einsum("ijab,kajc->ikbc", t2.abab, v.aabb.ovov) - x246 = np.zeros((nocc[0], nocc[0], nvir[1], nvir[1]), dtype=types[float]) - x246 += einsum("ijab->jiab", x245) * -1 - x274 = np.zeros((nocc[0], nocc[0], nvir[1], nvir[1]), dtype=types[float]) - x274 += einsum("ijab->jiab", x245) * -1 - del x245 - x246 += einsum("ijab->ijab", v.aabb.oovv) - x247 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x247 += einsum("ijab,ikcb->jkca", x246, x4) * 0.5 - ree2new_abab += einsum("ijab->ijab", x247) * -1 - ree2new_baba += einsum("ijab->jiba", x247) * -1 - del x247 - x313 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x313 += einsum("ia,jkba->jkib", t1.bb, x246) - del x246 - x314 += einsum("ijka->ijka", x313) - del x313 - x249 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x249 += einsum("ijab,kalb->ikjl", t2.abab, v.aabb.ovov) - x250 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x250 += einsum("ijkl->jilk", x249) - x311 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x311 += einsum("ijkl->jilk", x249) - del x249 - x250 += einsum("ijkl->ijkl", v.aabb.oooo) - x251 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x251 += einsum("ijkl,ikab->jlab", x250, x4) * 0.5 - del x250 - ree2new_abab += einsum("ijab->ijab", x251) - ree2new_baba += einsum("ijab->jiba", x251) - del x251 - x260 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x260 += einsum("ia,jbca->jibc", t1.bb, v.aabb.ovvv) - x261 += einsum("ijab->ijab", x260) - del x260 - x261 += einsum("iabj->ijab", v.aabb.ovvo) - x262 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x262 += einsum("ia,jkab->ijkb", r1.aa, x261) - x278 += einsum("ijka->jika", x262) - del x262 - x307 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x307 += einsum("ia,jkab->ijkb", t1.aa, x261) - del x261 - x314 += einsum("ijka->jika", x307) - del x307 - x264 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x264 += einsum("ia,jbka->jikb", t1.bb, v.aabb.ovov) - x265 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x265 += einsum("ijka->ikja", x264) - del x264 - x265 += einsum("iajk->ijka", v.aabb.ovoo) - x266 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x266 += einsum("ia,jkla->ijkl", r1.aa, x265) - x270 += einsum("ijkl->ijkl", x266) - del x266 - x310 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x310 += einsum("ia,jkla->ijkl", t1.aa, x265) - del x265 - x311 += einsum("ijkl->jikl", x310) - del x310 - x267 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x267 += einsum("ia,jakb->ijkb", t1.aa, v.aabb.ovov) - x268 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x268 += einsum("ijka->jika", x267) - del x267 - x268 += einsum("ijka->ijka", v.aabb.ooov) - x269 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x269 += einsum("ia,jkla->jkil", r1.bb, x268) - del x268 - x270 += einsum("ijkl->jilk", x269) - del x269 - x271 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x271 += einsum("ia,jkil->jkla", t1.bb, x270) - del x270 - x278 += einsum("ijka->jika", x271) * -1 - del x271 - x273 = np.zeros((nocc[0], nocc[0], nvir[1], nvir[1]), dtype=types[float]) - x273 += einsum("ia,jabc->ijbc", t1.aa, v.aabb.ovvv) - x274 += einsum("ijab->jiab", x273) - del x273 - x274 += einsum("ijab->ijab", v.aabb.oovv) - x275 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x275 += einsum("ia,jkba->jkib", r1.bb, x274) - del x274 - x278 += einsum("ijka->ijka", x275) - del x275 - x279 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x279 += einsum("ia,ijkb->jkab", t1.aa, x278) - del x278 - ree2new_abab += einsum("ijab->ijab", x279) * -1 - ree2new_baba += einsum("ijab->jiba", x279) * -1 - del x279 - x280 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x280 += einsum("ijka->ikja", v.bbbb.ooov) * -1 - x280 += einsum("ijka->kija", v.bbbb.ooov) - x286 += einsum("ijka,liba->ljkb", x280, x4) - x385 += einsum("ijka,liba->ljkb", x280, x4) * 0.5 - del x4 - x455 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x455 += einsum("ijka,jlab->likb", x280, x57) - x459 += einsum("ijka->jika", x455) * -1 - del x455 - x460 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x460 += einsum("ia,ijkb->jkab", t1.bb, x459) * 0.5 - del x459 - x498 += einsum("ijab->ijba", x460) * -1 - del x460 - x473 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x473 += einsum("ijab,jikc->kabc", r2.bbbb, x280) - x474 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x474 += einsum("iabc->iabc", x473) * -1 - del x473 - x492 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x492 += einsum("ijab,ijkb->ka", t2.bbbb, x280) - del x280 - x497 += einsum("ia->ia", x492) * -1 - del x492 - x281 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x281 += einsum("ia,jbca->ijcb", t1.aa, v.bbaa.ovvv) - x282 += einsum("ijab->ijab", x281) - del x281 - x282 += einsum("iabj->jiba", v.bbaa.ovvo) - x286 += einsum("ia,jkba->jkib", r1.bb, x282) * 2 - x385 += einsum("ia,jkba->jkib", r1.bb, x282) - del x282 - x283 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x283 += einsum("ia,jabc->ijbc", t1.bb, v.bbaa.ovvv) - x284 += einsum("ijab->jiab", x283) - del x283 - x284 += einsum("ijab->ijab", v.bbaa.oovv) - x286 += einsum("ia,jkba->ijkb", r1.aa, x284) * 2 - ree2new_abab += einsum("ia,jikb->jkba", t1.bb, x286) * -0.5 - del x286 - x322 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x322 += einsum("ia,jkba->ijkb", t1.aa, x284) - x324 += einsum("ijka->ijka", x322) - del x322 - x385 += einsum("ia,jkba->ijkb", r1.aa, x284) - del x284 - ree2new_baba += einsum("ia,jikb->kjab", t1.bb, x385) * -1 - del x385 - x303 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x303 += einsum("ijab,kajl->iklb", t2.abab, v.aabb.ovoo) - x314 += einsum("ijka->jika", x303) * -1 - del x303 - x304 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x304 += einsum("ijab,kacb->ikjc", t2.abab, v.aabb.ovvv) - x314 += einsum("ijka->jika", x304) - del x304 - x309 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x309 += einsum("ia,jkla->jkil", t1.bb, v.aabb.ooov) - x311 += einsum("ijkl->ijlk", x309) - del x309 - x311 += einsum("ijkl->ijkl", v.aabb.oooo) - x312 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x312 += einsum("ia,jkil->jkla", t1.bb, x311) - x314 += einsum("ijka->ijka", x312) * -1 - del x312 - x323 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x323 += einsum("ia,ijkl->jkla", t1.aa, x311) - del x311 - x324 += einsum("ijka->ijka", x323) * -1 - del x323 - x314 += einsum("ijak->ijka", v.aabb.oovo) - x315 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x315 += einsum("ia,ijkb->jkab", r1.aa, x314) - del x314 - ree2new_abab += einsum("ijab->ijab", x315) * -1 - ree2new_baba += einsum("ijab->jiba", x315) * -1 - del x315 - x316 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x316 += einsum("ijab,iklb->kjla", t2.abab, v.aabb.ooov) - x324 += einsum("ijka->ikja", x316) * -1 - del x316 - x317 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x317 += einsum("ijab,kbca->ijkc", t2.abab, v.bbaa.ovvv) - x324 += einsum("ijka->ikja", x317) - del x317 - x324 += einsum("ijak->kija", v.bbaa.oovo) - x325 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x325 += einsum("ia,jikb->jkba", r1.bb, x324) - del x324 - ree2new_abab += einsum("ijab->ijab", x325) * -1 - ree2new_baba += einsum("ijab->jiba", x325) * -1 - del x325 - x336 = np.zeros((nocc[1], nvir[0], nvir[0], nvir[1]), dtype=types[float]) - x336 += einsum("ijab,icjk->kacb", t2.abab, v.aabb.ovoo) - x343 += einsum("iabc->iabc", x336) - del x336 - x337 = np.zeros((nocc[1], nvir[0], nvir[0], nvir[1]), dtype=types[float]) - x337 += einsum("ijab,icdb->jacd", t2.abab, v.aabb.ovvv) - x343 += einsum("iabc->iabc", x337) * -1 - del x337 - x340 = np.zeros((nvir[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) - x340 += einsum("ijab,icjd->acbd", t2.abab, v.aabb.ovov) - x341 = np.zeros((nvir[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) - x341 += einsum("abcd->abcd", x340) - del x340 - x341 += einsum("abcd->abcd", v.aabb.vvvv) - x342 = np.zeros((nocc[1], nvir[0], nvir[0], nvir[1]), dtype=types[float]) - x342 += einsum("ia,bcda->ibcd", t1.bb, x341) - x343 += einsum("iabc->iabc", x342) - del x342 - x349 = np.zeros((nocc[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) - x349 += einsum("ia,bacd->ibcd", t1.aa, x341) - del x341 - x350 += einsum("iabc->iabc", x349) - del x349 - x343 += einsum("abci->iabc", v.aabb.vvvo) - x344 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x344 += einsum("ia,jbac->ijbc", r1.aa, x343) - del x343 - ree2new_abab += einsum("ijab->ijab", x344) - ree2new_baba += einsum("ijab->jiba", x344) - del x344 - x345 = np.zeros((nocc[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) - x345 += einsum("ijab,ikjc->kabc", t2.abab, v.aabb.ooov) - x350 += einsum("iabc->iabc", x345) - del x345 - x346 = np.zeros((nocc[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) - x346 += einsum("ijab,jcda->idbc", t2.abab, v.bbaa.ovvv) - x350 += einsum("iabc->iabc", x346) * -1 - del x346 - x350 += einsum("aibc->iabc", v.aabb.vovv) - x351 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x351 += einsum("ia,jbca->jibc", r1.bb, x350) - del x350 - ree2new_abab += einsum("ijab->ijab", x351) - ree2new_baba += einsum("ijab->jiba", x351) - del x351 - x373 += einsum("ai->ia", f.aa.vo) - ree2new_abab += einsum("ia,jb->jiba", r1.bb, x373) - ree2new_baba += einsum("ia,jb->ijab", r1.bb, x373) - del x373 - x374 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x374 += einsum("ia,ijab->jb", f.aa.ov, t2.abab) - x384 += einsum("ia->ia", x374) - x440 += einsum("ia->ia", x374) - del x374 - x375 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x375 += einsum("ijab,iajk->kb", t2.abab, v.aabb.ovoo) - x384 += einsum("ia->ia", x375) * -1 - x497 += einsum("ia->ia", x375) - del x375 - x376 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x376 += einsum("ijab,iacb->jc", t2.abab, v.aabb.ovvv) - x384 += einsum("ia->ia", x376) - x497 += einsum("ia->ia", x376) * -1 - del x376 - x498 += einsum("ia,jb->ijab", r1.bb, x497) * -1 - del x497 - x384 += einsum("ai->ia", f.bb.vo) - ree2new_abab += einsum("ia,jb->ijab", r1.aa, x384) - ree2new_baba += einsum("ia,jb->jiba", r1.aa, x384) - del x384 - x386 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x386 += einsum("ijab,iakl->jklb", t2.abab, v.aabb.ovoo) - x400 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x400 += einsum("ijka->jika", x386) - del x386 - x387 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x387 -= einsum("ijka->ikja", v.bbbb.ooov) - x387 += einsum("ijka->kija", v.bbbb.ooov) - x388 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x388 += einsum("ijka,jlab->likb", x387, x61) - del x387 - x400 += einsum("ijka->jika", x388) - del x388 - x389 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x389 += einsum("ia,jbca->ijcb", t1.bb, v.bbbb.ovvv) - x390 += einsum("ijab->ijab", x389) - del x389 - x390 += einsum("iabj->jiba", v.bbbb.ovvo) - x390 -= einsum("ijab->jiab", v.bbbb.oovv) - x391 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x391 += einsum("ia,jkba->ijkb", t1.bb, x390) - del x390 - x400 -= einsum("ijka->kija", x391) - del x391 - x393 += einsum("ia->ia", f.bb.ov) - x394 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x394 += einsum("ia,jkab->jkib", x393, t2.bbbb) - x400 += einsum("ijka->kjia", x394) - del x394 - x420 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x420 += einsum("ia,ja->ij", r1.bb, x393) - del x393 - x422 += einsum("ij->ij", x420) - del x420 - x423 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x423 += einsum("ij,jkab->kiab", x422, t2.bbbb) - del x422 - x441 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x441 += einsum("ijab->jiba", x423) - del x423 - x395 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x395 += einsum("ia,jakb->ikjb", t1.bb, v.bbbb.ovov) - x396 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x396 += einsum("ia,jkla->jilk", t1.bb, x395) - x398 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x398 += einsum("ijkl->lkji", x396) - del x396 - x415 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x415 -= einsum("ijka->jkia", x395) - del x395 - x397 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x397 += einsum("ia,jkla->ijlk", t1.bb, v.bbbb.ooov) - x398 += einsum("ijkl->jkli", x397) - x398 -= einsum("ijkl->kjli", x397) - del x397 - x398 += einsum("ijkl->kilj", v.bbbb.oooo) - x399 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x399 += einsum("ia,ijkl->jkla", t1.bb, x398) - del x398 - x400 += einsum("ijka->ikja", x399) - del x399 - x400 -= einsum("ijak->ijka", v.bbbb.oovo) - x401 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x401 += einsum("ia,ijkb->jkab", r1.bb, x400) - del x400 - x441 += einsum("ijab->ijab", x401) - del x401 - x402 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x402 += einsum("ia,bcda->ibdc", t1.bb, v.bbbb.vvvv) - x406 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x406 -= einsum("iabc->iabc", x402) - del x402 - x403 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x403 += einsum("ijab,iacd->jbcd", t2.abab, v.aabb.ovvv) - x406 += einsum("iabc->iabc", x403) - del x403 - x404 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x404 += einsum("iabc->ibac", v.bbbb.ovvv) - x404 -= einsum("iabc->ibca", v.bbbb.ovvv) - x405 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x405 += einsum("iabc,ijcd->jdab", x404, x61) - del x61 - x406 += einsum("iabc->iabc", x405) - del x405 - x424 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x424 += einsum("ia,ibca->bc", r1.bb, x404) - x425 -= einsum("ab->ab", x424) - del x424 - x426 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x426 += einsum("ab,ijbc->ijca", x425, t2.bbbb) - del x425 - x441 += einsum("ijab->jiab", x426) - del x426 - x434 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x434 += einsum("ia,ibca->bc", t1.bb, x404) - del x404 - x435 -= einsum("ab->ab", x434) - del x434 - x436 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x436 += einsum("ia,ba->ib", t1.bb, x435) - del x435 - x440 += einsum("ia->ia", x436) - del x436 - x441 += einsum("ia,jb->ijab", r1.bb, x440) - del x440 - x406 += einsum("aibc->iabc", v.bbbb.vovv) - x407 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x407 += einsum("ia,jbca->ijbc", r1.bb, x406) - del x406 - x441 -= einsum("ijab->ijab", x407) - del x407 - x408 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x408 -= einsum("iabc->ibac", v.bbbb.ovvv) - x408 += einsum("iabc->ibca", v.bbbb.ovvv) - x409 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x409 += einsum("ia,jbca->ijbc", t1.bb, x408) - del x408 - x410 -= einsum("ijab->ijab", x409) - del x409 - x410 += einsum("iabj->jiba", v.bbbb.ovvo) - x410 -= einsum("ijab->jiab", v.bbbb.oovv) - x411 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x411 += einsum("ia,jkba->ijkb", r1.bb, x410) - del x410 - x418 += einsum("ijka->ikja", x411) - del x411 - x415 += einsum("ijka->ikja", v.bbbb.ooov) - x416 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x416 += einsum("ia,jkla->ijkl", r1.bb, x415) - del x415 - x417 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x417 += einsum("ia,jkil->jkla", t1.bb, x416) - del x416 - x418 += einsum("ijka->ijka", x417) - del x417 - x419 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x419 += einsum("ia,jikb->jkab", t1.bb, x418) - del x418 - x441 -= einsum("ijab->ijab", x419) - del x419 - x427 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x427 += einsum("ijka->ikja", v.bbbb.ooov) - x427 -= einsum("ijka->kija", v.bbbb.ooov) - x428 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x428 += einsum("ia,ijka->jk", r1.bb, x427) - x429 -= einsum("ij->ij", x428) - del x428 - x430 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x430 += einsum("ij,ikab->kjab", x429, t2.bbbb) - del x429 - x441 -= einsum("ijab->ijba", x430) - del x430 - ree2new_bbbb = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - ree2new_bbbb += einsum("ijab->ijab", x441) - ree2new_bbbb -= einsum("ijab->ijba", x441) - ree2new_bbbb -= einsum("ijab->jiab", x441) - ree2new_bbbb += einsum("ijab->jiba", x441) - del x441 - x501 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x501 += einsum("ia,ijka->jk", t1.bb, x427) - del x427 - x502 -= einsum("ij->ij", x501) - del x501 - x442 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x442 += einsum("ijab,cadb->ijcd", r2.bbbb, v.bbbb.vvvv) - x498 += einsum("ijab->ijab", x442) * 0.5 - del x442 - x443 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x443 += einsum("ijab,kbla->ijlk", r2.bbbb, v.bbbb.ovov) - x444 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x444 += einsum("ijab,klji->klba", t2.bbbb, x443) - x498 += einsum("ijab->ijab", x444) * 0.5 - del x444 - x482 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x482 += einsum("ia,jkli->jkla", t1.bb, x443) - del x443 - x484 += einsum("ijka->ijka", x482) - del x482 - x485 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x485 += einsum("ia,jkib->jkab", t1.bb, x484) * 0.5 - del x484 - x498 += einsum("ijab->ijab", x485) - del x485 - x445 += einsum("iabj->jiba", v.bbbb.ovvo) - x445 += einsum("ijab->jiab", v.bbbb.oovv) * -1 - x446 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x446 += einsum("ijab,jkbc->kica", x445, x57) * 0.5 - del x57 - del x445 - x498 += einsum("ijab->ijab", x446) - del x446 - x448 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x448 += einsum("ijab,kalb->ijkl", t2.bbbb, v.bbbb.ovov) - x449 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x449 += einsum("ijkl->lkji", x448) - x487 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x487 += einsum("ia,jkil->kjla", t1.bb, x448) - del x448 - x488 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x488 += einsum("ijka->ijka", x487) * -1 - del x487 - x449 += einsum("ijkl->kilj", v.bbbb.oooo) - x450 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x450 += einsum("ijab,jikl->klab", r2.bbbb, x449) * 0.5 - del x449 - x498 += einsum("ijab->jiab", x450) - del x450 - x471 = np.zeros((nvir[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x471 += einsum("ijab,jcid->abdc", r2.bbbb, v.bbbb.ovov) - x472 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x472 += einsum("ia,bcda->ibcd", t1.bb, x471) - del x471 - x474 += einsum("iabc->iabc", x472) - del x472 - x475 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x475 += einsum("ia,jbca->ijbc", t1.bb, x474) * 0.5 - del x474 - x498 += einsum("ijab->ijab", x475) - del x475 - x477 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x477 += einsum("ijab,jkic->kbac", t2.bbbb, v.bbbb.ooov) - x480 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x480 += einsum("iabc->iabc", x477) - del x477 - x478 = np.zeros((nvir[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x478 += einsum("ijab,icjd->abcd", t2.bbbb, v.bbbb.ovov) - x479 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x479 += einsum("ia,bcad->icbd", t1.bb, x478) - del x478 - x480 += einsum("iabc->iabc", x479) * -1 - del x479 - x481 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x481 += einsum("ia,jbca->ijbc", r1.bb, x480) - del x480 - x498 += einsum("ijab->ijab", x481) * -1 - del x481 - x486 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x486 += einsum("ijab,kbca->jikc", t2.bbbb, v.bbbb.ovvv) - x488 += einsum("ijka->ijka", x486) - del x486 - x489 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x489 += einsum("ia,jkib->jkab", r1.bb, x488) - del x488 - x498 += einsum("ijab->ijab", x489) * -1 - del x489 - ree2new_bbbb += einsum("ijab->ijab", x498) - ree2new_bbbb += einsum("ijab->ijba", x498) * -1 - ree2new_bbbb += einsum("ijab->jiab", x498) * -1 - ree2new_bbbb += einsum("ijab->jiba", x498) - del x498 - x499 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x499 += einsum("ab,ib->ia", f.bb.vv, t1.bb) - x504 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x504 -= einsum("ia->ia", x499) - del x499 - x500 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x500 += einsum("ia,ja->ij", f.bb.ov, t1.bb) - x502 += einsum("ij->ij", x500) - del x500 - x502 += einsum("ij->ij", f.bb.oo) - x503 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x503 += einsum("ia,ij->ja", t1.bb, x502) - del x502 - x504 += einsum("ia->ia", x503) - del x503 - x504 -= einsum("ai->ia", f.bb.vo) - ree2new_bbbb -= einsum("ia,jb->jiba", r1.bb, x504) - ree2new_bbbb -= einsum("ia,jb->ijab", r1.bb, x504) - ree2new_bbbb += einsum("ia,jb->ijba", r1.bb, x504) - ree2new_bbbb += einsum("ia,jb->jiab", r1.bb, x504) - del x504 - - ree1new = Namespace(aa=ree1new_aa, bb=ree1new_bb) - ree2new = Namespace(aaaa=ree2new_aaaa, abab=ree2new_abab, baba=ree2new_baba, bbbb=ree2new_bbbb) - - return ree1new, ree2new - diff --git a/ebcc/codegen/UCCSDT.py b/ebcc/codegen/UCCSDT.py deleted file mode 100644 index c74ef6dc..00000000 --- a/ebcc/codegen/UCCSDT.py +++ /dev/null @@ -1,9150 +0,0 @@ -# Code generated for ebcc. - -from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, Namespace -from ebcc.precision import types - -def energy(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, t3=None, **kwargs): - # energy - e_cc = 0 - e_cc += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 1, 3), ()) - e_cc += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (0, 3, 1, 2), ()) * -1.0 - e_cc += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (0, 2, 1, 3), ()) - x0 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x0 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x0 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x1 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x1 += einsum(f.bb.ov, (0, 1), (0, 1)) - x1 += einsum(t1.aa, (0, 1), v.aabb.ovov, (0, 1, 2, 3), (2, 3)) - x1 += einsum(t1.bb, (0, 1), x0, (0, 2, 1, 3), (2, 3)) * -0.5 - del x0 - e_cc += einsum(t1.bb, (0, 1), x1, (0, 1), ()) - del x1 - x2 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x2 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x2 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x3 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x3 += einsum(f.aa.ov, (0, 1), (0, 1)) - x3 += einsum(t1.aa, (0, 1), x2, (0, 2, 1, 3), (2, 3)) * -0.5 - del x2 - e_cc += einsum(t1.aa, (0, 1), x3, (0, 1), ()) - del x3 - - return e_cc - -def update_amps(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, t3=None, **kwargs): - t1new = Namespace() - t2new = Namespace() - t3new = Namespace() - - # T amplitudes - t1new_bb = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - t1new_bb += einsum(f.bb.ov, (0, 1), (0, 1)) - t1new_bb += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.babbab, (4, 0, 2, 5, 1, 3), (4, 5)) * 2.0 - t1new_bb += einsum(v.bbbb.ovov, (0, 1, 2, 3), t3.bbbbbb, (4, 0, 2, 5, 1, 3), (4, 5)) * 3.0 - t1new_bb += einsum(v.aaaa.ovov, (0, 1, 2, 3), t3.abaaba, (0, 4, 2, 1, 5, 3), (4, 5)) - t1new_aa = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - t1new_aa += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.abaaba, (4, 2, 0, 5, 3, 1), (4, 5)) * 2.0 - t1new_aa += einsum(v.aaaa.ovov, (0, 1, 2, 3), t3.aaaaaa, (4, 0, 2, 5, 1, 3), (4, 5)) * 3.0 - t1new_aa += einsum(f.aa.ov, (0, 1), (0, 1)) - t1new_aa += einsum(v.bbbb.ovov, (0, 1, 2, 3), t3.babbab, (0, 4, 2, 3, 5, 1), (4, 5)) * -1.0 - t2new_aaaa = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - t2new_aaaa += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.vvvv, (4, 2, 5, 3), (0, 1, 4, 5)) * 2.0 - t2new_abab = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - t2new_abab += einsum(v.aabb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - t2new_bbbb = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - t2new_bbbb += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.vvvv, (4, 3, 5, 2), (0, 1, 4, 5)) * -2.0 - x0 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x0 += einsum(t1.aa, (0, 1), v.aabb.ovov, (0, 1, 2, 3), (2, 3)) - t1new_bb += einsum(x0, (0, 1), (0, 1)) - x1 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x1 += einsum(t1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) - x2 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x2 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) - x2 += einsum(x1, (0, 1, 2, 3), (0, 1, 2, 3)) - t1new_bb += einsum(t2.bbbb, (0, 1, 2, 3), x2, (4, 0, 1, 3), (4, 2)) * 2.0 - t2new_abab += einsum(x2, (0, 1, 2, 3), t3.babbab, (1, 4, 2, 5, 6, 3), (4, 0, 6, 5)) * 2.0 - del x2 - x3 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x3 += einsum(t1.bb, (0, 1), v.aabb.ovov, (2, 3, 4, 1), (0, 4, 2, 3)) - x4 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x4 += einsum(v.aabb.ovoo, (0, 1, 2, 3), (2, 3, 0, 1)) - x4 += einsum(x3, (0, 1, 2, 3), (1, 0, 2, 3)) - t1new_bb += einsum(t2.abab, (0, 1, 2, 3), x4, (1, 4, 0, 2), (4, 3)) * -1.0 - t2new_abab += einsum(x4, (0, 1, 2, 3), t3.abaaba, (4, 0, 2, 5, 6, 3), (4, 1, 5, 6)) * -2.0 - x5 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x5 += einsum(t2.abab, (0, 1, 2, 3), (1, 3, 0, 2)) - x5 += einsum(t1.aa, (0, 1), t1.bb, (2, 3), (2, 3, 0, 1)) - t1new_bb += einsum(v.aabb.ovvv, (0, 1, 2, 3), x5, (4, 3, 0, 1), (4, 2)) - t1new_aa += einsum(v.aabb.vvov, (0, 1, 2, 3), x5, (2, 3, 4, 1), (4, 0)) - x6 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x6 += einsum(t2.bbbb, (0, 1, 2, 3), (0, 1, 2, 3)) - x6 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3)) * 0.5 - t1new_bb += einsum(v.bbbb.ovvv, (0, 1, 2, 3), x6, (0, 4, 1, 3), (4, 2)) * 2.0 - x7 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x7 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x7 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x8 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x8 += einsum(t1.bb, (0, 1), x7, (0, 2, 1, 3), (2, 3)) - x9 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x9 += einsum(f.bb.ov, (0, 1), (0, 1)) - x9 += einsum(x0, (0, 1), (0, 1)) - x9 += einsum(x8, (0, 1), (0, 1)) * -1.0 - del x8 - t1new_bb += einsum(x9, (0, 1), t2.bbbb, (2, 0, 3, 1), (2, 3)) * 2.0 - t1new_aa += einsum(x9, (0, 1), t2.abab, (2, 0, 3, 1), (2, 3)) - t2new_aaaa += einsum(x9, (0, 1), t3.abaaba, (2, 0, 3, 4, 1, 5), (2, 3, 4, 5)) * 2.0 - t2new_abab += einsum(x9, (0, 1), t3.babbab, (2, 3, 0, 4, 5, 1), (3, 2, 5, 4)) * 2.0 - t2new_bbbb += einsum(x9, (0, 1), t3.bbbbbb, (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) * 6.0 - x10 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x10 += einsum(t1.bb, (0, 1), v.aabb.ovov, (2, 3, 0, 1), (2, 3)) - t1new_aa += einsum(x10, (0, 1), (0, 1)) - x11 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x11 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x11 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x12 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x12 += einsum(t1.aa, (0, 1), x11, (0, 2, 1, 3), (2, 3)) - x13 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x13 += einsum(f.aa.ov, (0, 1), (0, 1)) - x13 += einsum(x10, (0, 1), (0, 1)) - del x10 - x13 += einsum(x12, (0, 1), (0, 1)) * -1.0 - del x12 - t1new_bb += einsum(x13, (0, 1), t2.abab, (0, 2, 1, 3), (2, 3)) - t1new_aa += einsum(x13, (0, 1), t2.aaaa, (2, 0, 3, 1), (2, 3)) * 2.0 - t2new_aaaa += einsum(x13, (0, 1), t3.aaaaaa, (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) * 6.0 - t2new_abab += einsum(x13, (0, 1), t3.abaaba, (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) * 2.0 - t2new_bbbb += einsum(x13, (0, 1), t3.babbab, (2, 0, 3, 4, 1, 5), (2, 3, 4, 5)) * 2.0 - x14 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x14 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) - x14 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - t1new_bb += einsum(t1.bb, (0, 1), x14, (0, 2, 1, 3), (2, 3)) * -1.0 - x15 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x15 += einsum(t1.aa, (0, 1), v.aabb.ovoo, (0, 1, 2, 3), (2, 3)) - x16 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x16 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 2, 1, 3), (0, 4)) - x17 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x17 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 3), (1, 4)) - x18 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x18 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x18 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) - x19 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x19 += einsum(t1.bb, (0, 1), x18, (2, 3, 0, 1), (2, 3)) - x20 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x20 += einsum(t1.bb, (0, 1), x9, (2, 1), (2, 0)) - x21 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x21 += einsum(f.bb.oo, (0, 1), (0, 1)) - x21 += einsum(x15, (0, 1), (1, 0)) - x21 += einsum(x16, (0, 1), (1, 0)) * 2.0 - x21 += einsum(x17, (0, 1), (1, 0)) - x21 += einsum(x19, (0, 1), (1, 0)) * -1.0 - x21 += einsum(x20, (0, 1), (0, 1)) - t1new_bb += einsum(t1.bb, (0, 1), x21, (0, 2), (2, 1)) * -1.0 - t2new_abab += einsum(x21, (0, 1), t2.abab, (2, 0, 3, 4), (2, 1, 3, 4)) * -1.0 - t3new_abaaba = np.zeros((nocc[0], nocc[1], nocc[0], nvir[0], nvir[1], nvir[0]), dtype=types[float]) - t3new_abaaba += einsum(x21, (0, 1), t3.abaaba, (2, 0, 3, 4, 5, 6), (2, 1, 3, 4, 5, 6)) * -2.0 - del x21 - x22 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x22 += einsum(f.bb.vv, (0, 1), (0, 1)) - x22 += einsum(t1.bb, (0, 1), v.bbbb.ovvv, (0, 2, 3, 1), (2, 3)) * -1.0 - t1new_bb += einsum(t1.bb, (0, 1), x22, (1, 2), (0, 2)) - del x22 - x23 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x23 += einsum(t1.aa, (0, 1), v.aabb.ovov, (2, 1, 3, 4), (3, 4, 0, 2)) - x24 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x24 += einsum(v.aabb.ooov, (0, 1, 2, 3), (2, 3, 0, 1)) - x24 += einsum(x23, (0, 1, 2, 3), (0, 1, 3, 2)) - t1new_aa += einsum(t2.abab, (0, 1, 2, 3), x24, (1, 3, 0, 4), (4, 2)) * -1.0 - t2new_abab += einsum(x24, (0, 1, 2, 3), t3.babbab, (4, 2, 0, 5, 6, 1), (3, 4, 6, 5)) * -2.0 - x25 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x25 += einsum(t1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) - x26 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x26 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) - x26 += einsum(x25, (0, 1, 2, 3), (0, 1, 2, 3)) - t1new_aa += einsum(t2.aaaa, (0, 1, 2, 3), x26, (4, 0, 1, 3), (4, 2)) * 2.0 - t2new_abab += einsum(x26, (0, 1, 2, 3), t3.abaaba, (1, 4, 2, 5, 6, 3), (0, 4, 5, 6)) * 2.0 - del x26 - x27 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x27 += einsum(t2.aaaa, (0, 1, 2, 3), (0, 1, 2, 3)) - x27 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 1, 3)) * 0.5 - t1new_aa += einsum(v.aaaa.ovvv, (0, 1, 2, 3), x27, (0, 4, 3, 1), (4, 2)) * -2.0 - del x27 - x28 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x28 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) - x28 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - t1new_aa += einsum(t1.aa, (0, 1), x28, (0, 2, 1, 3), (2, 3)) * -1.0 - x29 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x29 += einsum(t1.bb, (0, 1), v.aabb.ooov, (2, 3, 0, 1), (2, 3)) - x30 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x30 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 1, 3), (0, 4)) - x31 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x31 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 3, 1, 2), (0, 4)) * -1.0 - x32 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x32 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x32 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) - x33 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x33 += einsum(t1.aa, (0, 1), x32, (2, 3, 0, 1), (2, 3)) - x34 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x34 += einsum(t1.aa, (0, 1), x13, (2, 1), (2, 0)) - x35 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x35 += einsum(f.aa.oo, (0, 1), (0, 1)) - x35 += einsum(x29, (0, 1), (1, 0)) - x35 += einsum(x30, (0, 1), (1, 0)) - x35 += einsum(x31, (0, 1), (1, 0)) * 2.0 - x35 += einsum(x33, (0, 1), (1, 0)) * -1.0 - x35 += einsum(x34, (0, 1), (0, 1)) - t1new_aa += einsum(t1.aa, (0, 1), x35, (0, 2), (2, 1)) * -1.0 - t2new_abab += einsum(x35, (0, 1), t2.abab, (0, 2, 3, 4), (1, 2, 3, 4)) * -1.0 - t3new_babbab = np.zeros((nocc[1], nocc[0], nocc[1], nvir[1], nvir[0], nvir[1]), dtype=types[float]) - t3new_babbab += einsum(x35, (0, 1), t3.babbab, (2, 0, 3, 4, 5, 6), (2, 1, 3, 4, 5, 6)) * -2.0 - del x35 - x36 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x36 += einsum(f.aa.vv, (0, 1), (0, 1)) - x36 += einsum(t1.aa, (0, 1), v.aaaa.ovvv, (0, 1, 2, 3), (2, 3)) - t1new_aa += einsum(t1.aa, (0, 1), x36, (1, 2), (0, 2)) - del x36 - x37 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x37 += einsum(t1.aa, (0, 1), v.aaaa.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) - x38 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x38 += einsum(t1.aa, (0, 1), v.aabb.vvov, (2, 1, 3, 4), (3, 4, 0, 2)) - t2new_abab += einsum(x38, (0, 1, 2, 3), (2, 0, 3, 1)) - x39 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x39 += einsum(t2.abab, (0, 1, 2, 3), x38, (1, 3, 4, 5), (4, 0, 2, 5)) - x40 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x40 += einsum(t2.aaaa, (0, 1, 2, 3), (0, 1, 2, 3)) - x40 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 3, 1)) * -0.5 - x41 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x41 += einsum(x28, (0, 1, 2, 3), x40, (0, 4, 2, 5), (1, 4, 3, 5)) * 2.0 - x42 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x42 += einsum(t2.aaaa, (0, 1, 2, 3), v.aabb.ovov, (1, 3, 4, 5), (4, 5, 0, 2)) - x43 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x43 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) - x43 += einsum(x42, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x44 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x44 += einsum(t2.abab, (0, 1, 2, 3), x43, (1, 3, 4, 5), (4, 0, 5, 2)) - del x43 - x45 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x45 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) - x45 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x46 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x46 += einsum(t1.aa, (0, 1), x45, (2, 1, 3, 4), (2, 0, 3, 4)) - x47 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x47 += einsum(t2.aaaa, (0, 1, 2, 3), x46, (1, 4, 5, 3), (0, 4, 2, 5)) * -2.0 - x48 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x48 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ooov, (4, 5, 1, 3), (0, 4, 5, 2)) - x49 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x49 += einsum(t1.aa, (0, 1), v.aaaa.ooov, (2, 3, 4, 1), (0, 2, 3, 4)) - x50 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x50 += einsum(t1.aa, (0, 1), x49, (2, 3, 4, 0), (2, 4, 3, 1)) - x51 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x51 += einsum(t1.aa, (0, 1), x37, (2, 3, 1, 4), (0, 2, 3, 4)) - x52 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x52 += einsum(t2.abab, (0, 1, 2, 3), x23, (1, 3, 4, 5), (4, 0, 5, 2)) - x53 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x53 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x53 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x54 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x54 += einsum(t2.aaaa, (0, 1, 2, 3), x53, (4, 5, 1, 3), (0, 4, 5, 2)) * 2.0 - del x53 - x55 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x55 += einsum(x25, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x55 += einsum(x25, (0, 1, 2, 3), (0, 2, 1, 3)) - x56 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x56 += einsum(t2.aaaa, (0, 1, 2, 3), x55, (4, 1, 5, 3), (0, 4, 5, 2)) * 2.0 - x57 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x57 += einsum(x48, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x57 += einsum(x50, (0, 1, 2, 3), (0, 2, 1, 3)) - x57 += einsum(x51, (0, 1, 2, 3), (0, 2, 1, 3)) - del x51 - x57 += einsum(x52, (0, 1, 2, 3), (0, 2, 1, 3)) - x57 += einsum(x54, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x54 - x57 += einsum(x56, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - x58 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x58 += einsum(t1.aa, (0, 1), x57, (2, 0, 3, 4), (2, 3, 4, 1)) - del x57 - x59 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x59 += einsum(x37, (0, 1, 2, 3), (0, 1, 2, 3)) - x59 += einsum(x39, (0, 1, 2, 3), (0, 1, 2, 3)) - del x39 - x59 += einsum(x41, (0, 1, 2, 3), (1, 0, 3, 2)) - del x41 - x59 += einsum(x44, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x44 - x59 += einsum(x47, (0, 1, 2, 3), (1, 0, 2, 3)) - del x47 - x59 += einsum(x58, (0, 1, 2, 3), (0, 1, 3, 2)) - del x58 - t2new_aaaa += einsum(x59, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_aaaa += einsum(x59, (0, 1, 2, 3), (0, 1, 3, 2)) - t2new_aaaa += einsum(x59, (0, 1, 2, 3), (1, 0, 2, 3)) - t2new_aaaa += einsum(x59, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x59 - x60 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x60 += einsum(f.aa.vv, (0, 1), t2.aaaa, (2, 3, 4, 1), (2, 3, 0, 4)) - x61 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x61 += einsum(t2.abab, (0, 1, 2, 3), x7, (1, 4, 3, 5), (4, 5, 0, 2)) - x62 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x62 += einsum(t2.abab, (0, 1, 2, 3), x61, (1, 3, 4, 5), (4, 0, 5, 2)) * -1.0 - x63 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x63 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x63 += einsum(x60, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 - del x60 - x63 += einsum(x62, (0, 1, 2, 3), (1, 0, 3, 2)) - del x62 - t2new_aaaa += einsum(x63, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new_aaaa += einsum(x63, (0, 1, 2, 3), (0, 1, 2, 3)) - del x63 - x64 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x64 += einsum(t1.aa, (0, 1), v.aaaa.vvvv, (2, 3, 4, 1), (0, 2, 3, 4)) - x65 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x65 += einsum(t1.aa, (0, 1), x64, (2, 3, 1, 4), (0, 2, 3, 4)) - x66 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x66 += einsum(v.aabb.vvov, (0, 1, 2, 3), t3.abaaba, (4, 2, 5, 6, 3, 1), (4, 5, 6, 0)) - x67 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x67 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 0, 6, 3, 1), (4, 5, 6, 2)) * -1.0 - x68 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x68 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x68 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x69 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x69 += einsum(t2.aaaa, (0, 1, 2, 3), x68, (1, 4, 5, 3), (0, 4, 2, 5)) - x70 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x70 += einsum(t2.aaaa, (0, 1, 2, 3), x69, (4, 1, 5, 3), (0, 4, 2, 5)) * -4.0 - del x69 - x71 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x71 += einsum(t1.bb, (0, 1), v.aabb.vvov, (2, 3, 0, 1), (2, 3)) - x72 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x72 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 4, 1, 3), (2, 4)) - x73 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x73 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (0, 3, 1, 4), (2, 4)) * -1.0 - x74 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x74 += einsum(t1.aa, (0, 1), x45, (0, 1, 2, 3), (2, 3)) - del x45 - x75 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x75 += einsum(x71, (0, 1), (1, 0)) * -1.0 - x75 += einsum(x72, (0, 1), (1, 0)) - x75 += einsum(x73, (0, 1), (1, 0)) * 2.0 - x75 += einsum(x74, (0, 1), (1, 0)) * -1.0 - x76 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x76 += einsum(x75, (0, 1), t2.aaaa, (2, 3, 4, 0), (2, 3, 4, 1)) * -2.0 - del x75 - x77 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x77 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovvv, (4, 2, 5, 3), (0, 1, 4, 5)) - x78 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x78 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.abaaba, (4, 2, 5, 6, 3, 1), (4, 5, 0, 6)) - x79 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x79 += einsum(v.aaaa.ovov, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 2, 6, 3, 1), (4, 5, 0, 6)) * -1.0 - x80 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x80 += einsum(x13, (0, 1), t2.aaaa, (2, 3, 4, 1), (0, 2, 3, 4)) * -2.0 - x81 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x81 += einsum(t1.aa, (0, 1), x25, (2, 3, 4, 1), (2, 0, 4, 3)) - x82 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x82 += einsum(v.aaaa.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x82 += einsum(x81, (0, 1, 2, 3), (3, 1, 2, 0)) - x83 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x83 += einsum(t1.aa, (0, 1), x82, (0, 2, 3, 4), (2, 3, 4, 1)) - del x82 - x84 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x84 += einsum(x77, (0, 1, 2, 3), (2, 1, 0, 3)) * -2.0 - x84 += einsum(x78, (0, 1, 2, 3), (2, 1, 0, 3)) * 2.0 - x84 += einsum(x79, (0, 1, 2, 3), (2, 1, 0, 3)) * 6.0 - x84 += einsum(x80, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x84 += einsum(x83, (0, 1, 2, 3), (1, 0, 2, 3)) - del x83 - x85 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x85 += einsum(t1.aa, (0, 1), x84, (0, 2, 3, 4), (2, 3, 4, 1)) - del x84 - x86 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x86 += einsum(x65, (0, 1, 2, 3), (0, 1, 2, 3)) - del x65 - x86 += einsum(x66, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x66 - x86 += einsum(x67, (0, 1, 2, 3), (0, 1, 2, 3)) * -6.0 - del x67 - x86 += einsum(x70, (0, 1, 2, 3), (1, 0, 3, 2)) - del x70 - x86 += einsum(x76, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x76 - x86 += einsum(x85, (0, 1, 2, 3), (1, 0, 3, 2)) - del x85 - t2new_aaaa += einsum(x86, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new_aaaa += einsum(x86, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x86 - x87 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x87 += einsum(v.aabb.ooov, (0, 1, 2, 3), t3.abaaba, (4, 2, 1, 5, 3, 6), (4, 0, 5, 6)) - x88 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x88 += einsum(v.aaaa.ooov, (0, 1, 2, 3), t3.aaaaaa, (4, 1, 2, 5, 6, 3), (4, 0, 5, 6)) - x89 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x89 += einsum(t2.aaaa, (0, 1, 2, 3), x49, (4, 5, 0, 1), (4, 5, 2, 3)) - x90 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x90 += einsum(x23, (0, 1, 2, 3), t3.abaaba, (4, 0, 3, 5, 1, 6), (2, 4, 5, 6)) - x91 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x91 += einsum(x25, (0, 1, 2, 3), t3.aaaaaa, (4, 1, 2, 5, 6, 3), (0, 4, 5, 6)) * -1.0 - x92 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x92 += einsum(f.aa.oo, (0, 1), (0, 1)) - x92 += einsum(x34, (0, 1), (1, 0)) - x93 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x93 += einsum(x92, (0, 1), t2.aaaa, (2, 1, 3, 4), (2, 0, 3, 4)) * -2.0 - del x92 - x94 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x94 += einsum(x29, (0, 1), (1, 0)) - x94 += einsum(x30, (0, 1), (1, 0)) - x94 += einsum(x31, (0, 1), (1, 0)) * 2.0 - x94 += einsum(x33, (0, 1), (1, 0)) * -1.0 - x95 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x95 += einsum(x94, (0, 1), t2.aaaa, (2, 0, 3, 4), (2, 1, 3, 4)) * -2.0 - del x94 - x96 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x96 += einsum(x87, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - del x87 - x96 += einsum(x88, (0, 1, 2, 3), (0, 1, 3, 2)) * -6.0 - del x88 - x96 += einsum(x89, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - del x89 - x96 += einsum(x90, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - del x90 - x96 += einsum(x91, (0, 1, 2, 3), (0, 1, 3, 2)) * 6.0 - del x91 - x96 += einsum(x93, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x93 - x96 += einsum(x95, (0, 1, 2, 3), (0, 1, 3, 2)) - del x95 - t2new_aaaa += einsum(x96, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_aaaa += einsum(x96, (0, 1, 2, 3), (1, 0, 2, 3)) - del x96 - x97 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x97 += einsum(t1.aa, (0, 1), v.aaaa.ooov, (2, 0, 3, 4), (2, 3, 1, 4)) - t2new_aaaa += einsum(x97, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_aaaa += einsum(x97, (0, 1, 2, 3), (1, 0, 2, 3)) - del x97 - x98 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x98 += einsum(t2.aaaa, (0, 1, 2, 3), (0, 1, 2, 3)) - x98 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 1, 3)) - x99 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x99 += einsum(v.aaaa.ovov, (0, 1, 2, 3), x98, (4, 5, 1, 3), (0, 2, 4, 5)) - x100 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x100 += einsum(v.aaaa.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x100 += einsum(x99, (0, 1, 2, 3), (1, 3, 0, 2)) - t2new_aaaa += einsum(t2.aaaa, (0, 1, 2, 3), x100, (0, 4, 1, 5), (4, 5, 2, 3)) * 2.0 - del x100 - x101 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x101 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 2, 5, 3), (0, 1, 4, 5)) - x102 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x102 += einsum(t1.aa, (0, 1), x101, (2, 3, 0, 4), (2, 3, 4, 1)) * -2.0 - x102 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x102 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) - t2new_aaaa += einsum(t1.aa, (0, 1), x102, (2, 3, 0, 4), (2, 3, 4, 1)) * -1.0 - del x102 - x103 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x103 += einsum(t1.bb, (0, 1), v.aabb.ovov, (2, 3, 0, 4), (1, 4, 2, 3)) - x104 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x104 += einsum(v.aabb.ovvv, (0, 1, 2, 3), (2, 3, 0, 1)) - x104 += einsum(x103, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - t2new_abab += einsum(x104, (0, 1, 2, 3), t3.abaaba, (4, 5, 2, 6, 0, 3), (4, 5, 6, 1)) * 2.0 - x105 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x105 += einsum(t1.aa, (0, 1), v.aabb.ovov, (0, 2, 3, 4), (3, 4, 1, 2)) - x106 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x106 += einsum(v.aabb.vvov, (0, 1, 2, 3), (2, 3, 0, 1)) - x106 += einsum(x105, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new_abab += einsum(x106, (0, 1, 2, 3), t3.babbab, (4, 5, 0, 6, 2, 1), (5, 4, 3, 6)) * 2.0 - x107 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x107 += einsum(t1.bb, (0, 1), v.bbbb.ovov, (2, 3, 0, 4), (2, 1, 3, 4)) - x108 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x108 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) - x108 += einsum(x107, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new_abab += einsum(x108, (0, 1, 2, 3), t3.babbab, (4, 5, 0, 2, 6, 3), (5, 4, 6, 1)) * 2.0 - del x108 - x109 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x109 += einsum(t1.aa, (0, 1), v.aaaa.ovov, (2, 3, 0, 4), (2, 1, 3, 4)) - x110 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x110 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) - x110 += einsum(x109, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new_abab += einsum(x110, (0, 1, 2, 3), t3.abaaba, (4, 5, 0, 2, 6, 3), (4, 5, 1, 6)) * 2.0 - del x110 - x111 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x111 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 5), (1, 4, 3, 5)) - x112 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x112 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x112 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x113 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x113 += einsum(t2.bbbb, (0, 1, 2, 3), (0, 1, 2, 3)) - x113 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1)) * -0.5 - x114 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x114 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x114 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) - x115 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x115 += einsum(t1.bb, (0, 1), x114, (2, 3, 1, 4), (2, 0, 3, 4)) - x116 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x116 += einsum(t1.bb, (0, 1), x18, (2, 3, 0, 4), (2, 3, 4, 1)) - x117 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x117 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x117 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x117 += einsum(x111, (0, 1, 2, 3), (1, 0, 3, 2)) - x117 += einsum(x112, (0, 1, 2, 3), x113, (0, 4, 3, 5), (1, 4, 2, 5)) * -2.0 - x117 += einsum(x115, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x117 += einsum(x116, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - t2new_abab += einsum(t2.abab, (0, 1, 2, 3), x117, (1, 4, 3, 5), (0, 4, 2, 5)) - del x117 - x118 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x118 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x118 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) - x119 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x119 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x119 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) - x120 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x120 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) - x120 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x120 += einsum(x11, (0, 1, 2, 3), x40, (0, 4, 3, 5), (1, 4, 2, 5)) * -2.0 - x120 += einsum(t1.aa, (0, 1), x118, (2, 1, 3, 4), (2, 0, 4, 3)) * -1.0 - x120 += einsum(t1.aa, (0, 1), x119, (0, 2, 3, 4), (3, 2, 4, 1)) * -1.0 - del x119 - t2new_abab += einsum(t2.abab, (0, 1, 2, 3), x120, (0, 4, 2, 5), (4, 1, 5, 3)) * -1.0 - del x120 - x121 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x121 += einsum(t1.bb, (0, 1), v.aabb.ooov, (2, 3, 0, 4), (1, 4, 2, 3)) - x122 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x122 += einsum(t1.aa, (0, 1), v.aabb.ovvv, (2, 1, 3, 4), (3, 4, 0, 2)) - x123 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x123 += einsum(v.aabb.oovv, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 - x123 += einsum(x121, (0, 1, 2, 3), (1, 0, 3, 2)) - x123 += einsum(x122, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - x123 += einsum(v.aabb.ovov, (0, 1, 2, 3), x5, (2, 4, 5, 1), (3, 4, 0, 5)) - t2new_abab += einsum(t2.abab, (0, 1, 2, 3), x123, (3, 4, 0, 5), (5, 1, 2, 4)) - del x123 - x124 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x124 += einsum(t1.aa, (0, 1), v.aabb.ooov, (2, 0, 3, 4), (3, 4, 2, 1)) - x125 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x125 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) - x125 += einsum(x124, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x125 += einsum(x38, (0, 1, 2, 3), (0, 1, 2, 3)) - x125 += einsum(v.aabb.ovov, (0, 1, 2, 3), x40, (0, 4, 1, 5), (2, 3, 4, 5)) * 2.0 - t2new_abab += einsum(t2.bbbb, (0, 1, 2, 3), x125, (1, 3, 4, 5), (4, 0, 5, 2)) * 2.0 - del x125 - x126 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x126 += einsum(t2.aaaa, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x126 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 3, 1)) * -1.0 - x127 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x127 += einsum(t1.bb, (0, 1), v.aabb.ovvv, (2, 3, 4, 1), (0, 4, 2, 3)) - x128 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x128 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) - x128 += einsum(x127, (0, 1, 2, 3), (0, 1, 2, 3)) - x128 += einsum(t1.bb, (0, 1), x4, (0, 2, 3, 4), (2, 1, 3, 4)) * -1.0 - t2new_abab += einsum(x126, (0, 1, 2, 3), x128, (4, 5, 0, 2), (1, 4, 3, 5)) - del x126, x128 - x129 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x129 += einsum(t1.bb, (0, 1), v.aabb.vvov, (2, 3, 4, 1), (0, 4, 2, 3)) - x130 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x130 += einsum(v.aabb.ovoo, (0, 1, 2, 3), (2, 3, 0, 1)) - x130 += einsum(x3, (0, 1, 2, 3), (0, 1, 2, 3)) - x131 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x131 += einsum(v.aabb.vvoo, (0, 1, 2, 3), (2, 3, 0, 1)) - x131 += einsum(x129, (0, 1, 2, 3), (1, 0, 3, 2)) - x131 += einsum(t1.aa, (0, 1), x130, (2, 3, 0, 4), (3, 2, 4, 1)) * -1.0 - t2new_abab += einsum(t2.abab, (0, 1, 2, 3), x131, (1, 4, 2, 5), (0, 4, 5, 3)) * -1.0 - del x131 - x132 = np.zeros((nvir[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x132 += einsum(t1.bb, (0, 1), v.aabb.vvov, (2, 3, 0, 4), (1, 4, 2, 3)) - x133 = np.zeros((nvir[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x133 += einsum(t1.aa, (0, 1), v.aabb.ovvv, (0, 2, 3, 4), (3, 4, 1, 2)) - x134 = np.zeros((nvir[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x134 += einsum(v.aabb.vvvv, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 - x134 += einsum(x132, (0, 1, 2, 3), (1, 0, 3, 2)) - x134 += einsum(x133, (0, 1, 2, 3), (1, 0, 3, 2)) - t2new_abab += einsum(t2.abab, (0, 1, 2, 3), x134, (3, 4, 2, 5), (0, 1, 5, 4)) * -1.0 - del x134 - x135 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x135 += einsum(t1.bb, (0, 1), v.aabb.ooov, (2, 3, 4, 1), (0, 4, 2, 3)) - x136 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x136 += einsum(t1.aa, (0, 1), v.aabb.ovoo, (2, 1, 3, 4), (3, 4, 0, 2)) - x137 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x137 += einsum(v.aabb.ovov, (0, 1, 2, 3), x5, (4, 3, 5, 1), (4, 2, 5, 0)) - x138 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x138 += einsum(v.aabb.oooo, (0, 1, 2, 3), (2, 3, 0, 1)) - x138 += einsum(x135, (0, 1, 2, 3), (1, 0, 3, 2)) - x138 += einsum(x136, (0, 1, 2, 3), (1, 0, 3, 2)) - x138 += einsum(x137, (0, 1, 2, 3), (1, 0, 3, 2)) - t2new_abab += einsum(t2.abab, (0, 1, 2, 3), x138, (1, 4, 0, 5), (5, 4, 2, 3)) - del x138 - x139 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x139 += einsum(t1.aa, (0, 1), x13, (0, 2), (2, 1)) - x140 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x140 += einsum(f.aa.vv, (0, 1), (0, 1)) * -1.0 - x140 += einsum(x71, (0, 1), (1, 0)) * -1.0 - x140 += einsum(x72, (0, 1), (1, 0)) - x140 += einsum(x73, (0, 1), (1, 0)) * 2.0 - x140 += einsum(x74, (0, 1), (1, 0)) * -1.0 - del x74 - x140 += einsum(x139, (0, 1), (0, 1)) - t2new_abab += einsum(x140, (0, 1), t2.abab, (2, 3, 0, 4), (2, 3, 1, 4)) * -1.0 - t3new_babbab += einsum(x140, (0, 1), t3.babbab, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) * -2.0 - del x140 - x141 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x141 += einsum(t1.aa, (0, 1), v.aabb.ovvv, (0, 1, 2, 3), (2, 3)) - x142 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x142 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (0, 4, 1, 3), (2, 4)) - x143 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x143 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 1, 4), (3, 4)) - x144 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x144 += einsum(t1.bb, (0, 1), x114, (0, 2, 1, 3), (2, 3)) - del x114 - x145 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x145 += einsum(t1.bb, (0, 1), x9, (0, 2), (2, 1)) - x146 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x146 += einsum(f.bb.vv, (0, 1), (0, 1)) * -1.0 - x146 += einsum(x141, (0, 1), (1, 0)) * -1.0 - x146 += einsum(x142, (0, 1), (1, 0)) * 2.0 - x146 += einsum(x143, (0, 1), (1, 0)) - x146 += einsum(x144, (0, 1), (0, 1)) * -1.0 - x146 += einsum(x145, (0, 1), (0, 1)) - t2new_abab += einsum(x146, (0, 1), t2.abab, (2, 3, 4, 0), (2, 3, 4, 1)) * -1.0 - t3new_abaaba += einsum(x146, (0, 1), t3.abaaba, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) * -2.0 - del x146 - x147 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x147 += einsum(t1.aa, (0, 1), v.aabb.vvoo, (2, 1, 3, 4), (3, 4, 0, 2)) - x148 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x148 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) - x148 += einsum(x38, (0, 1, 2, 3), (0, 1, 2, 3)) - x149 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x149 += einsum(t1.bb, (0, 1), x148, (2, 1, 3, 4), (2, 0, 3, 4)) - del x148 - x150 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x150 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 5, 3), (1, 5, 0, 4)) - x151 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x151 += einsum(v.aabb.oooo, (0, 1, 2, 3), (2, 3, 0, 1)) - x151 += einsum(x135, (0, 1, 2, 3), (0, 1, 3, 2)) - x151 += einsum(x150, (0, 1, 2, 3), (0, 1, 3, 2)) - x152 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x152 += einsum(v.aabb.ovoo, (0, 1, 2, 3), (2, 3, 0, 1)) - x152 += einsum(x147, (0, 1, 2, 3), (1, 0, 2, 3)) - x152 += einsum(x149, (0, 1, 2, 3), (0, 1, 2, 3)) - x152 += einsum(t1.aa, (0, 1), x151, (2, 3, 0, 4), (3, 2, 4, 1)) * -1.0 - del x151 - t2new_abab += einsum(t1.bb, (0, 1), x152, (0, 2, 3, 4), (3, 2, 4, 1)) * -1.0 - del x152 - x153 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x153 += einsum(t1.aa, (0, 1), v.aabb.vvvv, (2, 1, 3, 4), (3, 4, 0, 2)) - x154 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x154 += einsum(v.aabb.ovvv, (0, 1, 2, 3), (2, 3, 0, 1)) - x154 += einsum(x153, (0, 1, 2, 3), (1, 0, 2, 3)) - t2new_abab += einsum(t1.bb, (0, 1), x154, (1, 2, 3, 4), (3, 0, 4, 2)) - del x154 - x155 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x155 += einsum(t1.bb, (0, 1), v.aabb.oovv, (2, 3, 4, 1), (0, 4, 2, 3)) - x156 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x156 += einsum(v.aabb.ooov, (0, 1, 2, 3), (2, 3, 0, 1)) - x156 += einsum(x155, (0, 1, 2, 3), (0, 1, 3, 2)) - t2new_abab += einsum(t1.aa, (0, 1), x156, (2, 3, 0, 4), (4, 2, 1, 3)) * -1.0 - del x156 - x157 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x157 += einsum(t1.bb, (0, 1), v.bbbb.vvvv, (2, 3, 4, 1), (0, 2, 3, 4)) - x158 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x158 += einsum(t1.bb, (0, 1), x157, (2, 3, 1, 4), (0, 2, 3, 4)) - x159 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x159 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 0, 6, 1, 3), (4, 5, 6, 2)) - x160 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x160 += einsum(v.aabb.ovvv, (0, 1, 2, 3), t3.babbab, (4, 0, 5, 6, 1, 3), (4, 5, 6, 2)) - x161 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x161 += einsum(t2.bbbb, (0, 1, 2, 3), x7, (1, 4, 3, 5), (4, 0, 5, 2)) - x162 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x162 += einsum(t2.bbbb, (0, 1, 2, 3), x161, (1, 4, 3, 5), (4, 0, 5, 2)) * -4.0 - del x161 - x163 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x163 += einsum(t2.abab, (0, 1, 2, 3), x11, (0, 4, 2, 5), (1, 3, 4, 5)) - x164 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x164 += einsum(t2.abab, (0, 1, 2, 3), x163, (4, 5, 0, 2), (4, 1, 5, 3)) * -1.0 - x165 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x165 += einsum(x141, (0, 1), (1, 0)) * -1.0 - x165 += einsum(x142, (0, 1), (1, 0)) * 2.0 - x165 += einsum(x143, (0, 1), (1, 0)) - x165 += einsum(x144, (0, 1), (0, 1)) * -1.0 - del x144 - x166 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x166 += einsum(x165, (0, 1), t2.bbbb, (2, 3, 4, 0), (2, 3, 1, 4)) * -2.0 - del x165 - x167 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x167 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovvv, (4, 2, 5, 3), (0, 1, 4, 5)) - x168 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x168 += einsum(v.bbbb.ovov, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 2, 6, 3, 1), (4, 5, 0, 6)) * -1.0 - x169 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x169 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.babbab, (4, 0, 5, 6, 1, 3), (4, 5, 2, 6)) - x170 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x170 += einsum(x9, (0, 1), t2.bbbb, (2, 3, 4, 1), (0, 2, 3, 4)) * -2.0 - x171 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x171 += einsum(t1.bb, (0, 1), x1, (2, 3, 4, 1), (2, 0, 4, 3)) - x172 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x172 += einsum(v.bbbb.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x172 += einsum(x171, (0, 1, 2, 3), (3, 1, 2, 0)) - x173 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x173 += einsum(t1.bb, (0, 1), x172, (0, 2, 3, 4), (2, 3, 4, 1)) - del x172 - x174 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x174 += einsum(x167, (0, 1, 2, 3), (2, 1, 0, 3)) * -2.0 - x174 += einsum(x168, (0, 1, 2, 3), (2, 1, 0, 3)) * 6.0 - x174 += einsum(x169, (0, 1, 2, 3), (2, 1, 0, 3)) * 2.0 - x174 += einsum(x170, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x174 += einsum(x173, (0, 1, 2, 3), (1, 0, 2, 3)) - del x173 - x175 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x175 += einsum(t1.bb, (0, 1), x174, (0, 2, 3, 4), (2, 3, 4, 1)) - del x174 - x176 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x176 += einsum(x158, (0, 1, 2, 3), (0, 1, 2, 3)) - del x158 - x176 += einsum(x159, (0, 1, 2, 3), (0, 1, 2, 3)) * -6.0 - del x159 - x176 += einsum(x160, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x160 - x176 += einsum(x162, (0, 1, 2, 3), (0, 1, 2, 3)) - del x162 - x176 += einsum(x164, (0, 1, 2, 3), (0, 1, 2, 3)) - del x164 - x176 += einsum(x166, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x166 - x176 += einsum(x175, (0, 1, 2, 3), (1, 0, 3, 2)) - del x175 - t2new_bbbb += einsum(x176, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new_bbbb += einsum(x176, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x176 - x177 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x177 += einsum(t1.bb, (0, 1), v.bbbb.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) - x178 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x178 += einsum(t2.abab, (0, 1, 2, 3), x127, (4, 5, 0, 2), (4, 1, 3, 5)) - x179 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x179 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x179 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x179 += einsum(x111, (0, 1, 2, 3), (1, 0, 3, 2)) - x180 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x180 += einsum(t2.bbbb, (0, 1, 2, 3), x179, (1, 4, 3, 5), (4, 0, 5, 2)) * 2.0 - del x179 - x181 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x181 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) - x181 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x182 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x182 += einsum(t1.bb, (0, 1), x181, (2, 1, 3, 4), (2, 0, 3, 4)) - del x181 - x183 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x183 += einsum(t2.bbbb, (0, 1, 2, 3), x182, (1, 4, 5, 3), (4, 0, 5, 2)) * -2.0 - x184 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x184 += einsum(t1.bb, (0, 1), v.bbbb.ooov, (2, 3, 4, 1), (0, 2, 3, 4)) - x185 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x185 += einsum(t1.bb, (0, 1), x184, (2, 3, 4, 0), (2, 4, 3, 1)) - x186 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x186 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovoo, (0, 2, 4, 5), (1, 4, 5, 3)) - x187 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x187 += einsum(t2.abab, (0, 1, 2, 3), x3, (4, 5, 0, 2), (4, 1, 5, 3)) - x188 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x188 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x188 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) - x189 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x189 += einsum(t2.bbbb, (0, 1, 2, 3), x188, (1, 4, 5, 3), (4, 5, 0, 2)) * 2.0 - x190 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x190 += einsum(x1, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x190 += einsum(x1, (0, 1, 2, 3), (0, 2, 1, 3)) - x191 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x191 += einsum(t2.bbbb, (0, 1, 2, 3), x190, (4, 1, 5, 3), (4, 5, 0, 2)) * 2.0 - x192 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x192 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x192 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x192 += einsum(x177, (0, 1, 2, 3), (0, 1, 2, 3)) - x193 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x193 += einsum(t1.bb, (0, 1), x192, (2, 3, 1, 4), (2, 3, 0, 4)) - x194 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x194 += einsum(x185, (0, 1, 2, 3), (0, 2, 1, 3)) - x194 += einsum(x186, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x194 += einsum(x187, (0, 1, 2, 3), (0, 2, 1, 3)) - x194 += einsum(x189, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - del x189 - x194 += einsum(x191, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x191 - x194 += einsum(x193, (0, 1, 2, 3), (2, 1, 0, 3)) - x195 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x195 += einsum(t1.bb, (0, 1), x194, (2, 0, 3, 4), (2, 3, 4, 1)) - del x194 - x196 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x196 += einsum(x177, (0, 1, 2, 3), (0, 1, 2, 3)) - x196 += einsum(x111, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x196 += einsum(x178, (0, 1, 2, 3), (0, 1, 2, 3)) - del x178 - x196 += einsum(x180, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x180 - x196 += einsum(x183, (0, 1, 2, 3), (0, 1, 3, 2)) - del x183 - x196 += einsum(x195, (0, 1, 2, 3), (0, 1, 3, 2)) - del x195 - t2new_bbbb += einsum(x196, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_bbbb += einsum(x196, (0, 1, 2, 3), (0, 1, 3, 2)) - t2new_bbbb += einsum(x196, (0, 1, 2, 3), (1, 0, 2, 3)) - t2new_bbbb += einsum(x196, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x196 - x197 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x197 += einsum(t1.bb, (0, 1), v.bbbb.ooov, (2, 0, 3, 4), (2, 3, 1, 4)) - x198 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x198 += einsum(v.bbbb.ooov, (0, 1, 2, 3), t3.bbbbbb, (4, 1, 2, 5, 6, 3), (4, 0, 5, 6)) - x199 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x199 += einsum(t2.bbbb, (0, 1, 2, 3), x184, (4, 5, 0, 1), (4, 5, 2, 3)) - x200 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x200 += einsum(v.aabb.ovoo, (0, 1, 2, 3), t3.babbab, (4, 0, 3, 5, 1, 6), (4, 2, 5, 6)) - x201 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x201 += einsum(x1, (0, 1, 2, 3), t3.bbbbbb, (4, 1, 2, 5, 6, 3), (0, 4, 5, 6)) * -1.0 - x202 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x202 += einsum(x3, (0, 1, 2, 3), t3.babbab, (4, 2, 1, 5, 3, 6), (0, 4, 5, 6)) - x203 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x203 += einsum(f.bb.oo, (0, 1), (0, 1)) - x203 += einsum(x20, (0, 1), (1, 0)) - x204 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x204 += einsum(x203, (0, 1), t2.bbbb, (2, 1, 3, 4), (0, 2, 3, 4)) * -2.0 - del x203 - x205 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x205 += einsum(x15, (0, 1), (1, 0)) - x205 += einsum(x16, (0, 1), (1, 0)) * 2.0 - x205 += einsum(x17, (0, 1), (1, 0)) - x205 += einsum(x19, (0, 1), (1, 0)) * -1.0 - x206 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x206 += einsum(x205, (0, 1), t2.bbbb, (2, 0, 3, 4), (1, 2, 3, 4)) * -2.0 - del x205 - x207 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x207 += einsum(x197, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x197 - x207 += einsum(x198, (0, 1, 2, 3), (0, 1, 3, 2)) * -6.0 - del x198 - x207 += einsum(x199, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - del x199 - x207 += einsum(x200, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - del x200 - x207 += einsum(x201, (0, 1, 2, 3), (0, 1, 3, 2)) * 6.0 - del x201 - x207 += einsum(x202, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - del x202 - x207 += einsum(x204, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x204 - x207 += einsum(x206, (0, 1, 2, 3), (1, 0, 3, 2)) - del x206 - t2new_bbbb += einsum(x207, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_bbbb += einsum(x207, (0, 1, 2, 3), (1, 0, 2, 3)) - del x207 - x208 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x208 += einsum(f.bb.vv, (0, 1), t2.bbbb, (2, 3, 4, 1), (2, 3, 0, 4)) - x209 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x209 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x209 += einsum(x208, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 - del x208 - t2new_bbbb += einsum(x209, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new_bbbb += einsum(x209, (0, 1, 2, 3), (0, 1, 2, 3)) - del x209 - x210 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x210 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 2, 5, 3), (0, 1, 4, 5)) - x211 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x211 += einsum(v.bbbb.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x211 += einsum(x210, (0, 1, 2, 3), (3, 1, 2, 0)) * -1.0 - x211 += einsum(x171, (0, 1, 2, 3), (2, 1, 3, 0)) - t2new_bbbb += einsum(t2.bbbb, (0, 1, 2, 3), x211, (0, 4, 1, 5), (4, 5, 2, 3)) * -2.0 - del x211 - x212 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x212 += einsum(t1.bb, (0, 1), x210, (2, 3, 0, 4), (2, 3, 4, 1)) * -2.0 - x212 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x212 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) - t2new_bbbb += einsum(t1.bb, (0, 1), x212, (2, 3, 0, 4), (2, 3, 1, 4)) - del x212 - x213 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x213 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.abaaba, (4, 2, 5, 6, 3, 7), (4, 5, 0, 6, 7, 1)) - x214 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x214 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ooov, (4, 0, 1, 5), (4, 2, 3, 5)) - x215 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x215 += einsum(t2.aaaa, (0, 1, 2, 3), x214, (4, 5, 6, 3), (0, 1, 4, 5, 6, 2)) - x216 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x216 += einsum(t2.aaaa, (0, 1, 2, 3), x77, (4, 5, 1, 6), (4, 5, 0, 2, 3, 6)) - x217 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x217 += einsum(x28, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 0, 6, 7, 2), (4, 5, 1, 6, 7, 3)) * 6.0 - x218 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x218 += einsum(x213, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 2.0 - del x213 - x218 += einsum(x215, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -4.0 - del x215 - x218 += einsum(x216, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -4.0 - del x216 - x218 += einsum(x217, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x217 - t3new_aaaaaa = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - t3new_aaaaaa += einsum(x218, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - t3new_aaaaaa += einsum(x218, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - t3new_aaaaaa += einsum(x218, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -1.0 - t3new_aaaaaa += einsum(x218, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) - t3new_aaaaaa += einsum(x218, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - t3new_aaaaaa += einsum(x218, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) - t3new_aaaaaa += einsum(x218, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) - t3new_aaaaaa += einsum(x218, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -1.0 - t3new_aaaaaa += einsum(x218, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) - del x218 - x219 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x219 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.vvov, (4, 5, 1, 3), (0, 2, 4, 5)) - x220 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x220 += einsum(t2.aaaa, (0, 1, 2, 3), x118, (1, 3, 4, 5), (0, 2, 4, 5)) * 2.0 - x221 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x221 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) - x221 += einsum(x219, (0, 1, 2, 3), (0, 1, 3, 2)) - x221 += einsum(x220, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x220 - x222 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x222 += einsum(t2.aaaa, (0, 1, 2, 3), x221, (4, 5, 3, 6), (0, 1, 4, 2, 5, 6)) * -2.0 - del x221 - x223 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x223 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ooov, (4, 5, 6, 3), (0, 1, 4, 5, 6, 2)) - x224 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x224 += einsum(t1.aa, (0, 1), x223, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x223 - x225 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x225 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (0, 4, 2, 5)) - x226 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x226 += einsum(t2.aaaa, (0, 1, 2, 3), x68, (1, 4, 5, 3), (0, 4, 2, 5)) * 2.0 - x227 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x227 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x227 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x227 += einsum(x225, (0, 1, 2, 3), (0, 1, 2, 3)) - x227 += einsum(x226, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x228 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x228 += einsum(t2.aaaa, (0, 1, 2, 3), x227, (4, 5, 6, 3), (0, 1, 4, 5, 2, 6)) * -1.0 - del x227 - x229 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x229 += einsum(x224, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) - del x224 - x229 += einsum(x228, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) * -1.0 - del x228 - x230 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x230 += einsum(t1.aa, (0, 1), x229, (2, 3, 0, 4, 5, 6), (2, 3, 4, 5, 6, 1)) * 2.0 - del x229 - x231 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x231 += einsum(x222, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) - del x222 - x231 += einsum(x230, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) - del x230 - t3new_aaaaaa += einsum(x231, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - t3new_aaaaaa += einsum(x231, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - t3new_aaaaaa += einsum(x231, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) - t3new_aaaaaa += einsum(x231, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -1.0 - t3new_aaaaaa += einsum(x231, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -1.0 - t3new_aaaaaa += einsum(x231, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) - t3new_aaaaaa += einsum(x231, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) - t3new_aaaaaa += einsum(x231, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - t3new_aaaaaa += einsum(x231, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -1.0 - t3new_aaaaaa += einsum(x231, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) - t3new_aaaaaa += einsum(x231, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - t3new_aaaaaa += einsum(x231, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -1.0 - t3new_aaaaaa += einsum(x231, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) - t3new_aaaaaa += einsum(x231, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -1.0 - t3new_aaaaaa += einsum(x231, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -1.0 - t3new_aaaaaa += einsum(x231, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) - t3new_aaaaaa += einsum(x231, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) - t3new_aaaaaa += einsum(x231, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -1.0 - del x231 - x232 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x232 += einsum(v.aaaa.oooo, (0, 1, 2, 3), t3.aaaaaa, (4, 3, 1, 5, 6, 7), (4, 0, 2, 5, 6, 7)) * -1.0 - x233 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x233 += einsum(f.aa.oo, (0, 1), (0, 1)) - x233 += einsum(x30, (0, 1), (1, 0)) - x233 += einsum(x31, (0, 1), (1, 0)) * 2.0 - x233 += einsum(x34, (0, 1), (0, 1)) - x234 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x234 += einsum(x233, (0, 1), t3.aaaaaa, (2, 3, 0, 4, 5, 6), (2, 3, 1, 4, 5, 6)) * 6.0 - del x233 - x235 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x235 += einsum(x232, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 6.0 - del x232 - x235 += einsum(x234, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) - del x234 - t3new_aaaaaa += einsum(x235, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -1.0 - t3new_aaaaaa += einsum(x235, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 - t3new_aaaaaa += einsum(x235, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) - del x235 - x236 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x236 += einsum(v.aaaa.vvvv, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 6, 7, 3, 1), (4, 5, 6, 7, 0, 2)) * -1.0 - x237 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x237 += einsum(f.aa.vv, (0, 1), (0, 1)) * -1.0 - x237 += einsum(x72, (0, 1), (1, 0)) - x237 += einsum(x73, (0, 1), (1, 0)) * 2.0 - x237 += einsum(x139, (0, 1), (0, 1)) - x238 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x238 += einsum(x237, (0, 1), t3.aaaaaa, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 6, 1)) * 6.0 - del x237 - x239 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x239 += einsum(x236, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -6.0 - del x236 - x239 += einsum(x238, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -1.0 - del x238 - t3new_aaaaaa += einsum(x239, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - t3new_aaaaaa += einsum(x239, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - t3new_aaaaaa += einsum(x239, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) - del x239 - x240 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x240 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.abaaba, (4, 2, 0, 5, 3, 6), (4, 5, 6, 1)) - x241 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x241 += einsum(v.aaaa.ovov, (0, 1, 2, 3), t3.aaaaaa, (4, 0, 2, 5, 6, 3), (4, 5, 6, 1)) - x242 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x242 += einsum(x240, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x242 += einsum(x241, (0, 1, 2, 3), (0, 2, 1, 3)) * -3.0 - x243 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x243 += einsum(t2.aaaa, (0, 1, 2, 3), x242, (4, 5, 6, 3), (0, 1, 4, 2, 5, 6)) * -4.0 - del x242 - x244 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x244 += einsum(v.aabb.ooov, (0, 1, 2, 3), t3.abaaba, (4, 2, 5, 6, 3, 7), (4, 5, 0, 1, 6, 7)) - x245 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x245 += einsum(x32, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 2, 6, 7, 3), (4, 5, 0, 1, 6, 7)) * 3.0 - x246 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x246 += einsum(x244, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -1.0 - del x244 - x246 += einsum(x245, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 - del x245 - x247 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x247 += einsum(t1.aa, (0, 1), x246, (2, 3, 0, 4, 5, 6), (2, 3, 4, 5, 6, 1)) * 2.0 - del x246 - x248 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x248 += einsum(x243, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * -1.0 - del x243 - x248 += einsum(x247, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) - del x247 - t3new_aaaaaa += einsum(x248, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - t3new_aaaaaa += einsum(x248, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - t3new_aaaaaa += einsum(x248, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) - t3new_aaaaaa += einsum(x248, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 - t3new_aaaaaa += einsum(x248, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) - t3new_aaaaaa += einsum(x248, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 - t3new_aaaaaa += einsum(x248, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -1.0 - t3new_aaaaaa += einsum(x248, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) - t3new_aaaaaa += einsum(x248, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -1.0 - del x248 - x249 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x249 += einsum(x101, (0, 1, 2, 3), (1, 0, 3, 2)) - x249 += einsum(x81, (0, 1, 2, 3), (0, 1, 2, 3)) - x250 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x250 += einsum(x249, (0, 1, 2, 3), t3.aaaaaa, (4, 2, 3, 5, 6, 7), (4, 0, 1, 5, 6, 7)) * -6.0 - del x249 - x251 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x251 += einsum(x29, (0, 1), (1, 0)) - del x29 - x251 += einsum(x33, (0, 1), (1, 0)) * -1.0 - del x33 - x252 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x252 += einsum(x251, (0, 1), t3.aaaaaa, (2, 3, 0, 4, 5, 6), (2, 3, 1, 4, 5, 6)) * 6.0 - x253 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x253 += einsum(x250, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) - del x250 - x253 += einsum(x252, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -1.0 - del x252 - t3new_aaaaaa += einsum(x253, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) - t3new_aaaaaa += einsum(x253, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -1.0 - t3new_aaaaaa += einsum(x253, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * -1.0 - del x253 - x254 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x254 += einsum(t1.aa, (0, 1), x118, (0, 1, 2, 3), (2, 3)) - x255 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x255 += einsum(x71, (0, 1), (1, 0)) - del x71 - x255 += einsum(x254, (0, 1), (1, 0)) * -1.0 - del x254 - x256 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x256 += einsum(x255, (0, 1), t3.aaaaaa, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 6, 1)) * 6.0 - x257 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x257 += einsum(v.aaaa.ovov, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 6, 7, 3, 1), (4, 5, 6, 0, 2, 7)) * -1.0 - x258 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x258 += einsum(x98, (0, 1, 2, 3), x257, (4, 5, 6, 0, 1, 7), (4, 5, 6, 2, 3, 7)) * 6.0 - del x98, x257 - x259 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x259 += einsum(x256, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) - del x256 - x259 += einsum(x258, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - del x258 - t3new_aaaaaa += einsum(x259, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - t3new_aaaaaa += einsum(x259, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 - t3new_aaaaaa += einsum(x259, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) - del x259 - x260 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x260 += einsum(x38, (0, 1, 2, 3), t3.abaaba, (4, 0, 5, 6, 1, 7), (2, 4, 5, 6, 7, 3)) - x261 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x261 += einsum(t2.aaaa, (0, 1, 2, 3), x25, (4, 0, 1, 5), (4, 2, 3, 5)) - x262 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x262 += einsum(t2.aaaa, (0, 1, 2, 3), x261, (4, 5, 6, 3), (4, 0, 1, 5, 6, 2)) * -1.0 - x263 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x263 += einsum(x46, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 0, 6, 7, 3), (4, 5, 1, 6, 7, 2)) * -6.0 - x264 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x264 += einsum(x78, (0, 1, 2, 3), (0, 1, 2, 3)) - x264 += einsum(x79, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0 - x265 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x265 += einsum(t2.aaaa, (0, 1, 2, 3), x264, (4, 5, 1, 6), (0, 4, 5, 2, 3, 6)) * -4.0 - del x264 - x266 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x266 += einsum(x260, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 2.0 - del x260 - x266 += einsum(x262, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -4.0 - del x262 - x266 += einsum(x263, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) - del x263 - x266 += einsum(x265, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) - del x265 - t3new_aaaaaa += einsum(x266, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - t3new_aaaaaa += einsum(x266, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 - t3new_aaaaaa += einsum(x266, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) - t3new_aaaaaa += einsum(x266, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) - t3new_aaaaaa += einsum(x266, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) * -1.0 - t3new_aaaaaa += einsum(x266, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) - t3new_aaaaaa += einsum(x266, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -1.0 - t3new_aaaaaa += einsum(x266, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) - t3new_aaaaaa += einsum(x266, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * -1.0 - del x266 - x267 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x267 += einsum(t2.aaaa, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0000000000000204 - x267 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 3, 1)) * -1.0 - x268 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x268 += einsum(x267, (0, 1, 2, 3), x68, (0, 4, 5, 2), (4, 1, 5, 3)) * 0.9999999999999901 - del x267 - x269 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x269 += einsum(x225, (0, 1, 2, 3), (0, 1, 2, 3)) - x269 += einsum(x268, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x268 - x270 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x270 += einsum(x269, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 1, 6, 7, 3), (4, 5, 0, 6, 7, 2)) * 6.0000000000000595 - del x269 - x271 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x271 += einsum(t2.aaaa, (0, 1, 2, 3), (0, 1, 2, 3)) - x271 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 3, 1)) * -0.499999999999995 - x272 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x272 += einsum(v.aabb.ovov, (0, 1, 2, 3), x271, (0, 4, 1, 5), (2, 3, 4, 5)) - x273 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x273 += einsum(x272, (0, 1, 2, 3), t3.abaaba, (4, 0, 5, 6, 1, 7), (4, 5, 2, 6, 7, 3)) * 4.00000000000004 - del x272 - x274 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x274 += einsum(x270, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) - del x270 - x274 += einsum(x273, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) - del x273 - t3new_aaaaaa += einsum(x274, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - t3new_aaaaaa += einsum(x274, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - t3new_aaaaaa += einsum(x274, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) - t3new_aaaaaa += einsum(x274, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) - t3new_aaaaaa += einsum(x274, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -1.0 - t3new_aaaaaa += einsum(x274, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) - t3new_aaaaaa += einsum(x274, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -1.0 - t3new_aaaaaa += einsum(x274, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) - t3new_aaaaaa += einsum(x274, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -1.0 - del x274 - x275 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x275 += einsum(t2.aaaa, (0, 1, 2, 3), x64, (4, 5, 3, 6), (4, 0, 1, 2, 6, 5)) - x276 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x276 += einsum(t2.aaaa, (0, 1, 2, 3), x25, (4, 5, 6, 3), (4, 0, 1, 6, 5, 2)) - x277 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x277 += einsum(t1.aa, (0, 1), x276, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x276 - x278 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x278 += einsum(t2.aaaa, (0, 1, 2, 3), x46, (4, 5, 6, 3), (0, 1, 5, 4, 2, 6)) - x279 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x279 += einsum(x277, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 - del x277 - x279 += einsum(x278, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -1.0 - del x278 - x280 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x280 += einsum(t1.aa, (0, 1), x279, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 6, 1)) * 2.0 - del x279 - x281 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x281 += einsum(x275, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -2.0 - del x275 - x281 += einsum(x280, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -1.0 - del x280 - t3new_aaaaaa += einsum(x281, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - t3new_aaaaaa += einsum(x281, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - t3new_aaaaaa += einsum(x281, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) - t3new_aaaaaa += einsum(x281, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -1.0 - t3new_aaaaaa += einsum(x281, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -1.0 - t3new_aaaaaa += einsum(x281, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) - t3new_aaaaaa += einsum(x281, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) * -1.0 - t3new_aaaaaa += einsum(x281, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) - t3new_aaaaaa += einsum(x281, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) - t3new_aaaaaa += einsum(x281, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 - t3new_aaaaaa += einsum(x281, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * -1.0 - t3new_aaaaaa += einsum(x281, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) - t3new_aaaaaa += einsum(x281, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) - t3new_aaaaaa += einsum(x281, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -1.0 - t3new_aaaaaa += einsum(x281, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -1.0 - t3new_aaaaaa += einsum(x281, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) - t3new_aaaaaa += einsum(x281, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) - t3new_aaaaaa += einsum(x281, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -1.0 - del x281 - x282 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x282 += einsum(x49, (0, 1, 2, 3), t3.aaaaaa, (4, 2, 3, 5, 6, 7), (0, 4, 1, 5, 6, 7)) - t3new_aaaaaa += einsum(x282, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 6.0 - t3new_aaaaaa += einsum(x282, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -6.0 - t3new_aaaaaa += einsum(x282, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -6.0 - t3new_aaaaaa += einsum(x282, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * 6.0 - t3new_aaaaaa += einsum(x282, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 6.0 - t3new_aaaaaa += einsum(x282, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -6.0 - del x282 - x283 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x283 += einsum(x61, (0, 1, 2, 3), t3.abaaba, (4, 0, 5, 6, 1, 7), (4, 5, 2, 6, 7, 3)) * -2.00000000000002 - t3new_aaaaaa += einsum(x283, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) - t3new_aaaaaa += einsum(x283, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -1.0 - t3new_aaaaaa += einsum(x283, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) - t3new_aaaaaa += einsum(x283, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -1.0 - t3new_aaaaaa += einsum(x283, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) - t3new_aaaaaa += einsum(x283, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * -1.0 - t3new_aaaaaa += einsum(x283, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -1.0 - t3new_aaaaaa += einsum(x283, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) - t3new_aaaaaa += einsum(x283, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - del x283 - x284 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x284 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 6, 7, 1, 3), (4, 5, 6, 0, 7, 2)) - x285 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x285 += einsum(t1.aa, (0, 1), x284, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) - del x284 - t3new_aaaaaa += einsum(x285, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 6.0 - t3new_aaaaaa += einsum(x285, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -6.0 - t3new_aaaaaa += einsum(x285, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -6.0 - t3new_aaaaaa += einsum(x285, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * 6.0 - t3new_aaaaaa += einsum(x285, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 6.0 - t3new_aaaaaa += einsum(x285, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -6.0 - del x285 - x286 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x286 += einsum(t1.aa, (0, 1), v.aaaa.oovv, (2, 3, 4, 1), (0, 2, 3, 4)) - x287 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x287 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ooov, (4, 5, 1, 3), (0, 4, 5, 2)) - x288 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x288 += einsum(x286, (0, 1, 2, 3), (0, 2, 1, 3)) - x288 += einsum(x48, (0, 1, 2, 3), (0, 2, 1, 3)) - x288 += einsum(x287, (0, 1, 2, 3), (0, 2, 1, 3)) * 2.0 - x289 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x289 += einsum(t1.aa, (0, 1), x81, (2, 3, 0, 4), (3, 2, 4, 1)) - del x81 - x290 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x290 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x290 += einsum(x37, (0, 1, 2, 3), (1, 0, 2, 3)) - x291 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x291 += einsum(t1.aa, (0, 1), x290, (2, 3, 1, 4), (2, 3, 0, 4)) - x292 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x292 += einsum(v.aaaa.ooov, (0, 1, 2, 3), x40, (1, 4, 3, 5), (0, 2, 4, 5)) * 2.0 - x293 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x293 += einsum(x52, (0, 1, 2, 3), (0, 1, 2, 3)) - x293 += einsum(x289, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x293 += einsum(x56, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x56 - x293 += einsum(x291, (0, 1, 2, 3), (2, 1, 0, 3)) - del x291 - x293 += einsum(x292, (0, 1, 2, 3), (2, 0, 1, 3)) - del x292 - x294 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x294 += einsum(x101, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - del x101 - x294 += einsum(v.aaaa.oooo, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x294 += einsum(v.aaaa.oooo, (0, 1, 2, 3), (0, 2, 1, 3)) - x295 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x295 += einsum(t1.aa, (0, 1), x294, (2, 3, 0, 4), (2, 3, 4, 1)) - x296 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x296 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x296 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) - x296 += einsum(x288, (0, 1, 2, 3), (0, 1, 2, 3)) - x296 += einsum(x288, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x288 - x296 += einsum(x293, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x296 += einsum(x293, (0, 1, 2, 3), (1, 0, 2, 3)) - del x293 - x296 += einsum(x50, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x296 += einsum(x50, (0, 1, 2, 3), (1, 0, 2, 3)) - x296 += einsum(x80, (0, 1, 2, 3), (2, 1, 0, 3)) - x296 += einsum(x295, (0, 1, 2, 3), (1, 0, 2, 3)) - x297 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x297 += einsum(t2.aaaa, (0, 1, 2, 3), x296, (4, 5, 1, 6), (0, 4, 5, 2, 3, 6)) * -2.0 - del x296 - t3new_aaaaaa += einsum(x297, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 - t3new_aaaaaa += einsum(x297, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) - t3new_aaaaaa += einsum(x297, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) - del x297 - x298 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x298 += einsum(x286, (0, 1, 2, 3), (0, 2, 1, 3)) * 0.5 - del x286 - x298 += einsum(x48, (0, 1, 2, 3), (0, 2, 1, 3)) * 0.5 - x298 += einsum(x287, (0, 1, 2, 3), (0, 2, 1, 3)) - del x287 - x299 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x299 += einsum(t2.aaaa, (0, 1, 2, 3), x55, (4, 1, 5, 3), (0, 4, 5, 2)) - x300 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x300 += einsum(t1.aa, (0, 1), x290, (2, 3, 1, 4), (2, 3, 0, 4)) * 0.5 - del x290 - x301 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x301 += einsum(v.aaaa.ooov, (0, 1, 2, 3), x40, (1, 4, 3, 5), (0, 2, 4, 5)) - x302 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x302 += einsum(x52, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - x302 += einsum(x289, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - del x289 - x302 += einsum(x299, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x299 - x302 += einsum(x300, (0, 1, 2, 3), (2, 1, 0, 3)) - del x300 - x302 += einsum(x301, (0, 1, 2, 3), (2, 0, 1, 3)) - del x301 - x303 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x303 += einsum(x13, (0, 1), t2.aaaa, (2, 3, 4, 1), (0, 2, 3, 4)) * -1.0 - x304 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x304 += einsum(t1.aa, (0, 1), x294, (2, 3, 0, 4), (2, 3, 4, 1)) * 0.5 - del x294 - x305 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x305 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 - x305 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) * 0.5 - x305 += einsum(x298, (0, 1, 2, 3), (0, 1, 2, 3)) - x305 += einsum(x298, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x298 - x305 += einsum(x302, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x305 += einsum(x302, (0, 1, 2, 3), (1, 0, 2, 3)) - del x302 - x305 += einsum(x50, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 - x305 += einsum(x50, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.5 - x305 += einsum(x303, (0, 1, 2, 3), (2, 1, 0, 3)) - del x303 - x305 += einsum(x304, (0, 1, 2, 3), (1, 0, 2, 3)) - del x304 - x306 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x306 += einsum(t2.aaaa, (0, 1, 2, 3), x305, (4, 5, 1, 6), (0, 4, 5, 2, 3, 6)) * -4.0 - del x305 - t3new_aaaaaa += einsum(x306, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -1.0 - t3new_aaaaaa += einsum(x306, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 - t3new_aaaaaa += einsum(x306, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -1.0 - t3new_aaaaaa += einsum(x306, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) - t3new_aaaaaa += einsum(x306, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) - t3new_aaaaaa += einsum(x306, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) - del x306 - x307 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x307 += einsum(t2.abab, (0, 1, 2, 3), v.bbbb.ovvv, (4, 5, 6, 3), (1, 4, 5, 6, 0, 2)) - x308 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x308 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.abaaba, (4, 5, 0, 6, 7, 1), (5, 2, 7, 3, 4, 6)) - x309 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x309 += einsum(x127, (0, 1, 2, 3), t3.abaaba, (4, 5, 2, 6, 7, 3), (0, 5, 7, 1, 4, 6)) - x310 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x310 += einsum(t2.bbbb, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.00000000000002 - x310 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1)) * -1.0 - x311 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x311 += einsum(x310, (0, 1, 2, 3), x7, (0, 4, 2, 5), (4, 1, 5, 3)) - del x310 - x312 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x312 += einsum(x111, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.00000000000001 - x312 += einsum(x311, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x311 - x313 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x313 += einsum(x312, (0, 1, 2, 3), t3.babbab, (4, 5, 1, 6, 7, 3), (0, 4, 2, 6, 5, 7)) * 2.0 - del x312 - x314 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x314 += einsum(t2.abab, (0, 1, 2, 3), x11, (0, 4, 2, 5), (1, 3, 4, 5)) * 1.00000000000001 - x315 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x315 += einsum(t2.bbbb, (0, 1, 2, 3), (0, 1, 2, 3)) - x315 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1)) * -0.499999999999995 - x316 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x316 += einsum(v.aabb.ovov, (0, 1, 2, 3), x315, (2, 4, 3, 5), (4, 5, 0, 1)) * 2.00000000000002 - x317 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x317 += einsum(x314, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x317 += einsum(x316, (0, 1, 2, 3), (0, 1, 2, 3)) - del x316 - x318 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x318 += einsum(x317, (0, 1, 2, 3), t3.abaaba, (4, 5, 2, 6, 7, 3), (5, 0, 7, 1, 4, 6)) * 2.0 - del x317 - x319 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x319 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), (0, 2, 3, 5, 1, 4)) - x319 += einsum(t1.bb, (0, 1), t2.abab, (2, 3, 4, 5), (0, 3, 5, 1, 2, 4)) * -0.5 - x320 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x320 += einsum(x14, (0, 1, 2, 3), x319, (0, 4, 2, 5, 6, 7), (1, 4, 3, 5, 6, 7)) * 2.0 - x321 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x321 += einsum(x182, (0, 1, 2, 3), x319, (0, 4, 3, 5, 6, 7), (1, 4, 2, 5, 6, 7)) * -2.0 - del x319 - x322 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x322 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovoo, (0, 4, 5, 1), (5, 3, 2, 4)) - x323 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x323 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovvv, (0, 4, 5, 3), (1, 5, 2, 4)) - x324 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x324 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.babbab, (4, 0, 2, 5, 6, 3), (4, 5, 6, 1)) - x325 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x325 += einsum(v.aaaa.ovov, (0, 1, 2, 3), t3.abaaba, (0, 4, 2, 5, 6, 1), (4, 6, 5, 3)) * -1.0 - x326 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x326 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x326 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) - x326 += einsum(x109, (0, 1, 2, 3), (0, 2, 3, 1)) - x326 += einsum(x109, (0, 1, 2, 3), (0, 3, 2, 1)) * -1.0 - x327 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x327 += einsum(t2.abab, (0, 1, 2, 3), x326, (0, 4, 2, 5), (1, 3, 4, 5)) - del x326 - x328 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x328 += einsum(x13, (0, 1), t2.abab, (0, 2, 3, 4), (2, 4, 1, 3)) - x329 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x329 += einsum(v.aabb.vvov, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 - x329 += einsum(x105, (0, 1, 2, 3), (0, 1, 2, 3)) - x329 += einsum(x322, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x322 - x329 += einsum(x323, (0, 1, 2, 3), (0, 1, 2, 3)) - del x323 - x329 += einsum(x324, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x329 += einsum(x325, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x329 += einsum(x327, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x327 - x329 += einsum(x328, (0, 1, 2, 3), (0, 1, 3, 2)) - del x328 - x330 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x330 += einsum(t2.abab, (0, 1, 2, 3), x329, (4, 5, 6, 2), (4, 1, 5, 3, 0, 6)) - del x329 - x331 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x331 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovvv, (0, 2, 4, 5), (1, 3, 4, 5)) - x332 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x332 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x332 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) - x333 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x333 += einsum(t2.bbbb, (0, 1, 2, 3), x332, (1, 3, 4, 5), (0, 4, 5, 2)) * 2.0 - del x332 - x334 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x334 += einsum(t1.bb, (0, 1), x1, (2, 0, 3, 4), (2, 3, 1, 4)) - x335 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x335 += einsum(t2.bbbb, (0, 1, 2, 3), x7, (1, 4, 3, 5), (4, 0, 5, 2)) * 2.0 - x336 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x336 += einsum(x334, (0, 1, 2, 3), (0, 1, 2, 3)) - del x334 - x336 += einsum(x111, (0, 1, 2, 3), (0, 1, 2, 3)) - x336 += einsum(x335, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - x337 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x337 += einsum(t1.bb, (0, 1), x336, (2, 0, 3, 4), (2, 3, 4, 1)) - del x336 - x338 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x338 += einsum(x157, (0, 1, 2, 3), (0, 2, 1, 3)) - x338 += einsum(x331, (0, 1, 2, 3), (0, 3, 2, 1)) - x338 += einsum(x333, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x333 - x338 += einsum(x337, (0, 1, 2, 3), (0, 2, 1, 3)) - del x337 - x339 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x339 += einsum(t2.abab, (0, 1, 2, 3), x338, (4, 3, 5, 6), (4, 1, 5, 6, 0, 2)) - del x338 - x340 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x340 += einsum(t2.abab, (0, 1, 2, 3), v.bbbb.ooov, (4, 5, 6, 3), (1, 4, 5, 6, 0, 2)) - x341 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x341 += einsum(t1.bb, (0, 1), x340, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) - del x340 - x342 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x342 += einsum(v.aabb.ovoo, (0, 1, 2, 3), t3.abaaba, (4, 5, 0, 6, 7, 1), (5, 2, 3, 7, 4, 6)) - x343 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x343 += einsum(x188, (0, 1, 2, 3), t3.babbab, (4, 5, 0, 6, 7, 3), (1, 2, 4, 6, 5, 7)) * 2.0 - del x188 - x344 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x344 += einsum(t1.aa, (0, 1), v.aabb.ovoo, (0, 2, 3, 4), (3, 4, 1, 2)) - x345 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x345 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 4, 5, 3), (1, 5, 2, 4)) - x346 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x346 += einsum(v.aabb.vvoo, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 - x346 += einsum(x344, (0, 1, 2, 3), (1, 0, 3, 2)) - x346 += einsum(x345, (0, 1, 2, 3), (0, 1, 3, 2)) - del x345 - x347 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x347 += einsum(t2.abab, (0, 1, 2, 3), x346, (4, 5, 2, 6), (4, 5, 1, 3, 0, 6)) - del x346 - x348 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x348 += einsum(v.aabb.oooo, (0, 1, 2, 3), (2, 3, 0, 1)) - x348 += einsum(x136, (0, 1, 2, 3), (1, 0, 3, 2)) - x348 += einsum(x150, (0, 1, 2, 3), (0, 1, 3, 2)) - del x150 - x349 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x349 += einsum(t2.abab, (0, 1, 2, 3), x348, (4, 5, 0, 6), (4, 5, 1, 3, 6, 2)) - del x348 - x350 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x350 += einsum(t1.aa, (0, 1), x3, (2, 3, 0, 4), (2, 3, 1, 4)) - x351 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x351 += einsum(x129, (0, 1, 2, 3), (0, 1, 3, 2)) - x351 += einsum(x350, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x350 - x352 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x352 += einsum(t2.abab, (0, 1, 2, 3), x351, (4, 5, 2, 6), (4, 5, 1, 3, 0, 6)) - del x351 - x353 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x353 += einsum(v.aabb.ooov, (0, 1, 2, 3), (2, 3, 0, 1)) - x353 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) - x354 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x354 += einsum(t1.bb, (0, 1), x353, (2, 1, 3, 4), (2, 0, 3, 4)) - x355 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x355 += einsum(t2.abab, (0, 1, 2, 3), x354, (4, 5, 6, 0), (5, 4, 1, 3, 6, 2)) - del x354 - x356 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x356 += einsum(x341, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) - del x341 - x356 += einsum(x342, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -2.0 - del x342 - x356 += einsum(x343, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -1.0 - del x343 - x356 += einsum(x347, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) - del x347 - x356 += einsum(x349, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) - del x349 - x356 += einsum(x352, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x352 - x356 += einsum(x355, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - del x355 - x357 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x357 += einsum(t1.bb, (0, 1), x356, (2, 0, 3, 4, 5, 6), (2, 3, 4, 1, 5, 6)) - del x356 - x358 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x358 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovoo, (4, 2, 5, 1), (5, 3, 0, 4)) - x359 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x359 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovvv, (4, 2, 5, 3), (1, 5, 0, 4)) - x360 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x360 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.babbab, (4, 5, 2, 6, 1, 3), (4, 6, 5, 0)) - x361 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x361 += einsum(v.aaaa.ovov, (0, 1, 2, 3), t3.abaaba, (4, 5, 2, 3, 6, 1), (5, 6, 4, 0)) * -1.0 - x362 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x362 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x362 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) - x362 += einsum(x25, (0, 1, 2, 3), (1, 0, 2, 3)) - x362 += einsum(x25, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - x363 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x363 += einsum(t2.abab, (0, 1, 2, 3), x362, (4, 5, 0, 2), (1, 3, 4, 5)) - del x362 - x364 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x364 += einsum(v.aabb.ooov, (0, 1, 2, 3), (2, 3, 0, 1)) - x364 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) - x364 += einsum(x358, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x358 - x364 += einsum(x359, (0, 1, 2, 3), (0, 1, 2, 3)) - del x359 - x364 += einsum(x360, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x364 += einsum(x361, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x364 += einsum(x363, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x363 - x365 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x365 += einsum(t2.abab, (0, 1, 2, 3), x364, (4, 5, 6, 0), (4, 1, 5, 3, 6, 2)) - del x364 - x366 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x366 += einsum(t1.bb, (0, 1), v.aabb.vvvv, (2, 3, 4, 1), (0, 4, 2, 3)) - x367 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x367 += einsum(t1.aa, (0, 1), x127, (2, 3, 0, 4), (2, 3, 1, 4)) - x368 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x368 += einsum(t2.abab, (0, 1, 2, 3), x3, (4, 1, 0, 5), (4, 3, 2, 5)) - x369 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x369 += einsum(x366, (0, 1, 2, 3), (0, 1, 3, 2)) - del x366 - x369 += einsum(x367, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x367 - x369 += einsum(x368, (0, 1, 2, 3), (0, 1, 3, 2)) - del x368 - x370 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x370 += einsum(t2.abab, (0, 1, 2, 3), x369, (4, 5, 2, 6), (4, 1, 5, 3, 0, 6)) - del x369 - x371 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x371 += einsum(t2.abab, (0, 1, 2, 3), x3, (4, 1, 5, 2), (4, 3, 0, 5)) - x372 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x372 += einsum(v.aabb.oovv, (0, 1, 2, 3), (2, 3, 0, 1)) - x372 += einsum(x122, (0, 1, 2, 3), (1, 0, 2, 3)) - x373 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x373 += einsum(t1.bb, (0, 1), x372, (1, 2, 3, 4), (0, 2, 3, 4)) - del x372 - x374 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x374 += einsum(x371, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x371 - x374 += einsum(x373, (0, 1, 2, 3), (0, 1, 3, 2)) - del x373 - x375 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x375 += einsum(t2.abab, (0, 1, 2, 3), x374, (4, 5, 0, 6), (4, 1, 5, 3, 6, 2)) - del x374 - x376 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x376 += einsum(v.aabb.vvov, (0, 1, 2, 3), (2, 3, 0, 1)) - x376 += einsum(x105, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x105 - x377 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x377 += einsum(t2.bbbb, (0, 1, 2, 3), x376, (1, 3, 4, 5), (0, 2, 4, 5)) - del x376 - x378 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x378 += einsum(t2.abab, (0, 1, 2, 3), x377, (4, 5, 6, 2), (4, 1, 5, 3, 0, 6)) * 2.0 - del x377 - x379 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x379 += einsum(t2.bbbb, (0, 1, 2, 3), x353, (1, 3, 4, 5), (0, 2, 4, 5)) - del x353 - x380 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x380 += einsum(t2.abab, (0, 1, 2, 3), x379, (4, 5, 6, 0), (4, 1, 5, 3, 6, 2)) * 2.0 - del x379 - x381 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x381 += einsum(x307, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x307 - x381 += einsum(x308, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -2.0 - del x308 - x381 += einsum(x309, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 2.0 - del x309 - x381 += einsum(x313, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - del x313 - x381 += einsum(x318, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) * -1.0 - del x318 - x381 += einsum(x320, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) - del x320 - x381 += einsum(x321, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) - del x321 - x381 += einsum(x330, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) - del x330 - x381 += einsum(x339, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 - del x339 - x381 += einsum(x357, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) - del x357 - x381 += einsum(x365, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) - del x365 - x381 += einsum(x370, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) - del x370 - x381 += einsum(x375, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 - del x375 - x381 += einsum(x378, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - del x378 - x381 += einsum(x380, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x380 - t3new_babbab += einsum(x381, (0, 1, 2, 3, 4, 5), (0, 4, 1, 2, 5, 3)) * -1.0 - t3new_babbab += einsum(x381, (0, 1, 2, 3, 4, 5), (0, 4, 1, 3, 5, 2)) - t3new_babbab += einsum(x381, (0, 1, 2, 3, 4, 5), (1, 4, 0, 2, 5, 3)) - t3new_babbab += einsum(x381, (0, 1, 2, 3, 4, 5), (1, 4, 0, 3, 5, 2)) * -1.0 - del x381 - x382 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x382 += einsum(t2.bbbb, (0, 1, 2, 3), x1, (4, 0, 1, 5), (4, 2, 3, 5)) - x383 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x383 += einsum(t2.abab, (0, 1, 2, 3), x382, (4, 5, 6, 3), (4, 1, 5, 6, 0, 2)) * -1.0 - x384 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x384 += einsum(t2.abab, (0, 1, 2, 3), (1, 3, 0, 2)) - x384 += einsum(t1.aa, (0, 1), t1.bb, (2, 3), (2, 3, 0, 1)) * 0.99999999999999 - x385 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x385 += einsum(v.aabb.ovov, (0, 1, 2, 3), x384, (4, 3, 0, 5), (2, 4, 1, 5)) * 1.00000000000001 - x386 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x386 += einsum(x129, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x386 += einsum(x385, (0, 1, 2, 3), (1, 0, 2, 3)) - del x385 - x387 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x387 += einsum(x386, (0, 1, 2, 3), t3.babbab, (4, 5, 1, 6, 2, 7), (0, 4, 6, 7, 5, 3)) * -2.0 - del x386 - x388 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x388 += einsum(x135, (0, 1, 2, 3), (0, 1, 3, 2)) - x388 += einsum(x137, (0, 1, 2, 3), (0, 1, 3, 2)) - x389 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x389 += einsum(x388, (0, 1, 2, 3), t3.babbab, (4, 2, 1, 5, 6, 7), (0, 4, 5, 7, 3, 6)) * -2.0 - del x388 - x390 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x390 += einsum(t1.aa, (0, 1), v.aabb.oooo, (2, 0, 3, 4), (3, 4, 2, 1)) - x391 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x391 += einsum(v.bbbb.ovov, (0, 1, 2, 3), t3.babbab, (4, 5, 2, 3, 6, 1), (4, 0, 5, 6)) * -1.0 - x392 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x392 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.abaaba, (4, 5, 0, 6, 3, 1), (5, 2, 4, 6)) - x393 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x393 += einsum(t2.abab, (0, 1, 2, 3), x18, (4, 5, 1, 3), (4, 5, 0, 2)) - x394 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x394 += einsum(t2.abab, (0, 1, 2, 3), x24, (4, 3, 0, 5), (4, 1, 5, 2)) - x395 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x395 += einsum(t2.abab, (0, 1, 2, 3), x106, (4, 3, 2, 5), (4, 1, 0, 5)) - x396 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x396 += einsum(x9, (0, 1), t2.abab, (2, 3, 4, 1), (0, 3, 2, 4)) - x397 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x397 += einsum(v.aabb.ovoo, (0, 1, 2, 3), x40, (0, 4, 1, 5), (2, 3, 4, 5)) * 2.0 - x398 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x398 += einsum(v.aabb.ovoo, (0, 1, 2, 3), (2, 3, 0, 1)) - x398 += einsum(x390, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x390 - x398 += einsum(x147, (0, 1, 2, 3), (1, 0, 2, 3)) - x398 += einsum(x391, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 - x398 += einsum(x392, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 - x398 += einsum(x393, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x393 - x398 += einsum(x394, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x394 - x398 += einsum(x395, (0, 1, 2, 3), (0, 1, 2, 3)) - del x395 - x398 += einsum(x396, (0, 1, 2, 3), (0, 1, 2, 3)) - del x396 - x398 += einsum(x397, (0, 1, 2, 3), (1, 0, 2, 3)) - del x397 - x399 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x399 += einsum(t2.bbbb, (0, 1, 2, 3), x398, (1, 4, 5, 6), (4, 0, 2, 3, 5, 6)) * -2.0 - del x398 - x400 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x400 += einsum(v.aabb.vvoo, (0, 1, 2, 3), (2, 3, 0, 1)) - x400 += einsum(x344, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - x401 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x401 += einsum(x400, (0, 1, 2, 3), t3.babbab, (4, 5, 0, 6, 2, 7), (1, 4, 6, 7, 5, 3)) * -2.0 - del x400 - x402 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x402 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ooov, (4, 1, 0, 5), (4, 2, 3, 5)) * -1.0 - x403 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x403 += einsum(v.bbbb.ovov, (0, 1, 2, 3), t3.bbbbbb, (4, 0, 2, 5, 6, 3), (4, 5, 6, 1)) - x404 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x404 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.babbab, (4, 0, 2, 5, 1, 6), (4, 5, 6, 3)) - x405 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x405 += einsum(x402, (0, 1, 2, 3), (0, 2, 1, 3)) - x405 += einsum(x403, (0, 1, 2, 3), (0, 2, 1, 3)) * -3.0 - x405 += einsum(x404, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x406 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x406 += einsum(t2.abab, (0, 1, 2, 3), x405, (4, 5, 6, 3), (4, 1, 5, 6, 0, 2)) * 2.0 - del x405 - x407 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x407 += einsum(v.aabb.oooo, (0, 1, 2, 3), (2, 3, 0, 1)) - x407 += einsum(x136, (0, 1, 2, 3), (1, 0, 3, 2)) - x408 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x408 += einsum(x407, (0, 1, 2, 3), t3.babbab, (4, 2, 0, 5, 6, 7), (1, 4, 5, 7, 3, 6)) * -2.0 - del x407 - x409 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x409 += einsum(f.bb.oo, (0, 1), (0, 1)) - x409 += einsum(x16, (0, 1), (0, 1)) * 2.0 - x409 += einsum(x17, (0, 1), (0, 1)) - x409 += einsum(x20, (0, 1), (1, 0)) - x410 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x410 += einsum(x409, (0, 1), t3.babbab, (2, 3, 1, 4, 5, 6), (0, 2, 4, 6, 3, 5)) * -2.0 - del x409 - x411 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x411 += einsum(t1.aa, (0, 1), x135, (2, 3, 4, 0), (2, 3, 4, 1)) - x412 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x412 += einsum(x1, (0, 1, 2, 3), (0, 1, 2, 3)) - x412 += einsum(x1, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x413 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x413 += einsum(t2.abab, (0, 1, 2, 3), x412, (4, 5, 1, 3), (4, 5, 0, 2)) - x414 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x414 += einsum(x3, (0, 1, 2, 3), x40, (2, 4, 3, 5), (0, 1, 4, 5)) * 2.0 - del x40 - x415 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x415 += einsum(x411, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x411 - x415 += einsum(x413, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x413 - x415 += einsum(x149, (0, 1, 2, 3), (1, 0, 2, 3)) - del x149 - x415 += einsum(x414, (0, 1, 2, 3), (0, 1, 2, 3)) - del x414 - x416 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x416 += einsum(t2.bbbb, (0, 1, 2, 3), x415, (4, 1, 5, 6), (4, 0, 2, 3, 5, 6)) * -2.0 - del x415 - x417 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x417 += einsum(x15, (0, 1), (1, 0)) - del x15 - x417 += einsum(x19, (0, 1), (1, 0)) * -1.0 - del x19 - x418 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x418 += einsum(x417, (0, 1), t3.babbab, (2, 3, 0, 4, 5, 6), (1, 2, 4, 6, 3, 5)) * -2.0 - x419 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x419 += einsum(x383, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * 2.0 - del x383 - x419 += einsum(x387, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) - del x387 - x419 += einsum(x389, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) - del x389 - x419 += einsum(x399, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) - del x399 - x419 += einsum(x401, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) - del x401 - x419 += einsum(x406, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) - del x406 - x419 += einsum(x408, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) * -1.0 - del x408 - x419 += einsum(x410, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 - del x410 - x419 += einsum(x416, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 - del x416 - x419 += einsum(x418, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) - del x418 - t3new_babbab += einsum(x419, (0, 1, 2, 3, 4, 5), (0, 4, 1, 2, 5, 3)) * -1.0 - t3new_babbab += einsum(x419, (0, 1, 2, 3, 4, 5), (1, 4, 0, 2, 5, 3)) - del x419 - x420 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x420 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.babbab, (4, 5, 6, 7, 1, 3), (4, 6, 2, 7, 5, 0)) - x421 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x421 += einsum(t2.abab, (0, 1, 2, 3), x420, (4, 5, 1, 6, 7, 0), (4, 5, 3, 6, 7, 2)) - del x420 - x422 = np.zeros((nvir[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x422 += einsum(v.aabb.vvvv, (0, 1, 2, 3), (2, 3, 0, 1)) - x422 += einsum(x133, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x133 - x423 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x423 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), (0, 2, 3, 5, 1, 4)) - x423 += einsum(t1.aa, (0, 1), t2.bbbb, (2, 3, 4, 5), (2, 3, 4, 5, 0, 1)) - x424 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x424 += einsum(x422, (0, 1, 2, 3), x423, (4, 5, 0, 6, 7, 2), (4, 5, 6, 1, 7, 3)) * 2.0 - del x422 - x425 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x425 += einsum(v.aabb.oovv, (0, 1, 2, 3), (2, 3, 0, 1)) - x425 += einsum(x122, (0, 1, 2, 3), (1, 0, 3, 2)) - x426 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x426 += einsum(x425, (0, 1, 2, 3), t3.babbab, (4, 2, 5, 6, 7, 0), (4, 5, 1, 6, 3, 7)) * -2.0 - del x425 - x427 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x427 += einsum(t1.aa, (0, 1), v.aabb.oovv, (2, 0, 3, 4), (3, 4, 2, 1)) - x428 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x428 += einsum(t2.aaaa, (0, 1, 2, 3), v.aabb.ovvv, (1, 3, 4, 5), (4, 5, 0, 2)) - x429 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x429 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.abaaba, (4, 2, 0, 5, 6, 1), (6, 3, 4, 5)) - x430 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x430 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) - x430 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x431 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x431 += einsum(t2.abab, (0, 1, 2, 3), x430, (1, 4, 3, 5), (4, 5, 0, 2)) - x432 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x432 += einsum(t2.abab, (0, 1, 2, 3), x24, (1, 4, 0, 5), (4, 3, 5, 2)) - del x24 - x433 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x433 += einsum(t2.abab, (0, 1, 2, 3), x106, (1, 4, 2, 5), (4, 3, 0, 5)) - x434 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x434 += einsum(v.aabb.ovvv, (0, 1, 2, 3), (2, 3, 0, 1)) - x434 += einsum(x427, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x427 - x434 += einsum(x428, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 - del x428 - x434 += einsum(x429, (0, 1, 2, 3), (1, 0, 2, 3)) * -2.0 - x434 += einsum(x431, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x431 - x434 += einsum(x432, (0, 1, 2, 3), (0, 1, 2, 3)) - del x432 - x434 += einsum(x433, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x433 - x435 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x435 += einsum(t2.bbbb, (0, 1, 2, 3), x434, (3, 4, 5, 6), (0, 1, 4, 2, 5, 6)) * -2.0 - del x434 - x436 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x436 += einsum(v.aabb.ovov, (0, 1, 2, 3), x384, (2, 4, 5, 1), (3, 4, 0, 5)) - x437 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x437 += einsum(x121, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.99999999999999 - x437 += einsum(x436, (0, 1, 2, 3), (1, 0, 2, 3)) - x438 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x438 += einsum(x437, (0, 1, 2, 3), t3.babbab, (4, 2, 5, 6, 7, 1), (4, 5, 0, 6, 3, 7)) * -2.00000000000002 - del x437 - x439 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x439 += einsum(t1.bb, (0, 1), x430, (0, 2, 1, 3), (2, 3)) - x440 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x440 += einsum(x141, (0, 1), (1, 0)) - del x141 - x440 += einsum(x439, (0, 1), (0, 1)) * -1.0 - del x439 - x441 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x441 += einsum(x440, (0, 1), t3.babbab, (2, 3, 4, 5, 6, 0), (2, 4, 1, 5, 3, 6)) * -2.0 - x442 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x442 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), t3.babbab, (4, 5, 6, 3, 7, 1), (4, 6, 0, 2, 5, 7)) * -1.0 - x443 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x443 += einsum(x106, (0, 1, 2, 3), x423, (4, 5, 1, 6, 7, 2), (0, 4, 5, 6, 7, 3)) - del x106, x423 - x444 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x444 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) - x444 += einsum(x124, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x444 += einsum(x42, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x42 - x445 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x445 += einsum(t2.bbbb, (0, 1, 2, 3), x444, (4, 3, 5, 6), (4, 0, 1, 2, 5, 6)) * -1.0 - del x444 - x446 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x446 += einsum(f.bb.ov, (0, 1), (0, 1)) - x446 += einsum(x0, (0, 1), (0, 1)) - del x0 - x447 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x447 += einsum(x446, (0, 1), t3.babbab, (2, 3, 4, 5, 6, 1), (0, 2, 4, 5, 3, 6)) * -1.0 - del x446 - x448 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x448 += einsum(x442, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) - del x442 - x448 += einsum(x443, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) - del x443 - x448 += einsum(x445, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) - del x445 - x448 += einsum(x447, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) - del x447 - x449 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x449 += einsum(t1.bb, (0, 1), x448, (0, 2, 3, 4, 5, 6), (2, 3, 4, 1, 5, 6)) * 2.0 - del x448 - x450 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x450 += einsum(f.bb.vv, (0, 1), (0, 1)) - x450 += einsum(x143, (0, 1), (1, 0)) * -1.0 - x451 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x451 += einsum(x450, (0, 1), t3.babbab, (2, 3, 4, 5, 6, 0), (2, 4, 1, 5, 3, 6)) * -2.0 - del x450 - x452 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x452 += einsum(x167, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x452 += einsum(x169, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x453 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x453 += einsum(t2.abab, (0, 1, 2, 3), x452, (4, 5, 1, 6), (4, 5, 6, 3, 0, 2)) * 2.0 - del x452 - x454 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x454 += einsum(x421, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 2.0 - del x421 - x454 += einsum(x424, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * -1.0 - del x424 - x454 += einsum(x426, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) - del x426 - x454 += einsum(x435, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) * -1.0 - del x435 - x454 += einsum(x438, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) - del x438 - x454 += einsum(x441, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) * -1.0 - del x441 - x454 += einsum(x449, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 - del x449 - x454 += einsum(x451, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) - del x451 - x454 += einsum(x453, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) * -1.0 - del x453 - t3new_babbab += einsum(x454, (0, 1, 2, 3, 4, 5), (0, 4, 1, 2, 5, 3)) * -1.0 - t3new_babbab += einsum(x454, (0, 1, 2, 3, 4, 5), (0, 4, 1, 3, 5, 2)) - del x454 - x455 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x455 += einsum(v.bbbb.ovov, (0, 1, 2, 3), t3.babbab, (0, 4, 2, 5, 6, 3), (5, 1, 4, 6)) - x456 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x456 += einsum(t2.bbbb, (0, 1, 2, 3), x455, (4, 3, 5, 6), (0, 1, 2, 4, 5, 6)) - x457 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x457 += einsum(t2.abab, (0, 1, 2, 3), x168, (4, 5, 1, 6), (5, 4, 3, 6, 0, 2)) * -1.0 - x458 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x458 += einsum(t1.bb, (0, 1), v.bbbb.ovov, (2, 3, 0, 1), (2, 3)) - x459 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x459 += einsum(t1.bb, (0, 1), x458, (0, 2), (1, 2)) - del x458 - x460 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x460 += einsum(v.bbbb.ovov, (0, 1, 2, 3), x6, (0, 2, 3, 4), (4, 1)) * 2.0 - del x6 - x461 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x461 += einsum(x459, (0, 1), (0, 1)) - del x459 - x461 += einsum(x460, (0, 1), (0, 1)) * -1.0 - del x460 - x462 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x462 += einsum(x461, (0, 1), t3.babbab, (2, 3, 4, 5, 6, 1), (2, 4, 0, 5, 3, 6)) * -2.0 - del x461 - x463 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x463 += einsum(t2.bbbb, (0, 1, 2, 3), x61, (4, 3, 5, 6), (4, 0, 1, 2, 5, 6)) - x464 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x464 += einsum(t1.bb, (0, 1), x463, (0, 2, 3, 4, 5, 6), (3, 2, 4, 1, 5, 6)) * 2.0 - del x463 - x465 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x465 += einsum(x456, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 4.0 - del x456 - x465 += einsum(x457, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -6.0 - del x457 - x465 += einsum(x462, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * -1.0 - del x462 - x465 += einsum(x464, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 - del x464 - t3new_babbab += einsum(x465, (0, 1, 2, 3, 4, 5), (1, 4, 0, 2, 5, 3)) - t3new_babbab += einsum(x465, (0, 1, 2, 3, 4, 5), (1, 4, 0, 3, 5, 2)) * -1.0 - del x465 - x466 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x466 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x466 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x466 += einsum(x225, (0, 1, 2, 3), (1, 0, 3, 2)) * 1.00000000000001 - x466 += einsum(x11, (0, 1, 2, 3), x271, (0, 4, 2, 5), (1, 4, 3, 5)) * -2.00000000000002 - x466 += einsum(x46, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x466 += einsum(t1.aa, (0, 1), x32, (2, 3, 0, 4), (3, 2, 4, 1)) * -1.0 - t3new_babbab += einsum(x466, (0, 1, 2, 3), t3.babbab, (4, 0, 5, 6, 2, 7), (4, 1, 5, 6, 3, 7)) * 2.0 - del x466 - x467 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x467 += einsum(t2.aaaa, (0, 1, 2, 3), (0, 1, 2, 3)) - x467 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 3, 1)) * -0.4999999999999949 - x468 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x468 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) - x468 += einsum(x124, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x124 - x468 += einsum(x38, (0, 1, 2, 3), (0, 1, 2, 3)) - x468 += einsum(t2.abab, (0, 1, 2, 3), x7, (1, 4, 3, 5), (4, 5, 0, 2)) * -1.00000000000001 - x468 += einsum(v.aabb.ovov, (0, 1, 2, 3), x467, (0, 4, 1, 5), (2, 3, 4, 5)) * 2.0000000000000204 - del x467 - t3new_babbab += einsum(x468, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 0, 6, 7, 1), (4, 2, 5, 6, 3, 7)) * 6.0 - del x468 - x469 = np.zeros((nvir[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x469 += einsum(v.bbbb.vvvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x469 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (0, 4, 1, 5), (5, 2, 4, 3)) - x469 += einsum(t1.bb, (0, 1), x107, (0, 2, 3, 4), (4, 1, 3, 2)) - t3new_babbab += einsum(x469, (0, 1, 2, 3), t3.babbab, (4, 5, 6, 0, 7, 2), (4, 5, 6, 1, 7, 3)) * -2.0 - del x469 - x470 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x470 += einsum(t2.bbbb, (0, 1, 2, 3), (0, 1, 2, 3)) - x470 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3)) - x471 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x471 += einsum(v.bbbb.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x471 += einsum(x184, (0, 1, 2, 3), (3, 0, 2, 1)) - x471 += einsum(x184, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 - x471 += einsum(v.bbbb.ovov, (0, 1, 2, 3), x470, (4, 5, 3, 1), (0, 5, 2, 4)) - t3new_babbab += einsum(x471, (0, 1, 2, 3), t3.babbab, (0, 4, 2, 5, 6, 7), (1, 4, 3, 5, 6, 7)) * 2.0 - del x471 - x472 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x472 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x472 += einsum(x185, (0, 1, 2, 3), (1, 0, 2, 3)) - x473 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x473 += einsum(t2.bbbb, (0, 1, 2, 3), x18, (4, 5, 1, 3), (4, 5, 0, 2)) * 2.0 - x474 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x474 += einsum(t2.bbbb, (0, 1, 2, 3), x190, (4, 5, 1, 3), (4, 5, 0, 2)) * 2.0 - x475 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x475 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x475 += einsum(x1, (0, 1, 2, 3), (0, 2, 1, 3)) - x476 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x476 += einsum(t1.bb, (0, 1), x475, (2, 3, 4, 1), (2, 3, 4, 0)) - del x475 - x477 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x477 += einsum(t1.bb, (0, 1), x476, (2, 0, 3, 4), (4, 2, 3, 1)) - x478 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x478 += einsum(x186, (0, 1, 2, 3), (0, 2, 1, 3)) - x478 += einsum(x187, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x478 += einsum(x473, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - del x473 - x478 += einsum(x474, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x474 - x478 += einsum(x193, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - del x193 - x478 += einsum(x477, (0, 1, 2, 3), (0, 2, 1, 3)) - del x477 - x479 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x479 += einsum(x210, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - x479 += einsum(v.bbbb.oooo, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x479 += einsum(v.bbbb.oooo, (0, 1, 2, 3), (0, 2, 1, 3)) - x480 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x480 += einsum(t1.bb, (0, 1), x479, (2, 3, 0, 4), (2, 3, 4, 1)) - x481 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x481 += einsum(x472, (0, 1, 2, 3), (0, 1, 2, 3)) - x481 += einsum(x472, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x472 - x481 += einsum(x478, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x481 += einsum(x478, (0, 1, 2, 3), (1, 2, 0, 3)) - del x478 - x481 += einsum(x170, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x481 += einsum(x480, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - t3new_babbab += einsum(t2.abab, (0, 1, 2, 3), x481, (1, 4, 5, 6), (5, 0, 4, 6, 2, 3)) * -1.0 - del x481 - x482 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x482 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - x482 += einsum(x185, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.5 - x483 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x483 += einsum(t2.bbbb, (0, 1, 2, 3), x18, (4, 5, 1, 3), (4, 5, 0, 2)) - del x18 - x484 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x484 += einsum(t2.bbbb, (0, 1, 2, 3), x190, (4, 5, 1, 3), (4, 5, 0, 2)) - del x190 - x485 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x485 += einsum(t1.bb, (0, 1), x192, (2, 3, 1, 4), (2, 3, 0, 4)) * 0.5 - del x192 - x486 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x486 += einsum(t1.bb, (0, 1), x476, (2, 0, 3, 4), (4, 2, 3, 1)) * 0.5 - del x476 - x487 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x487 += einsum(x186, (0, 1, 2, 3), (0, 2, 1, 3)) * 0.5 - x487 += einsum(x187, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 - x487 += einsum(x483, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - del x483 - x487 += einsum(x484, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x484 - x487 += einsum(x485, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - del x485 - x487 += einsum(x486, (0, 1, 2, 3), (0, 2, 1, 3)) - del x486 - x488 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x488 += einsum(x482, (0, 1, 2, 3), (0, 1, 2, 3)) - x488 += einsum(x482, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x482 - x488 += einsum(x487, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x488 += einsum(x487, (0, 1, 2, 3), (1, 2, 0, 3)) - del x487 - x488 += einsum(x9, (0, 1), t2.bbbb, (2, 3, 4, 1), (0, 2, 3, 4)) * -1.0 - x488 += einsum(t1.bb, (0, 1), x479, (2, 3, 0, 4), (4, 3, 2, 1)) * -0.5 - del x479 - t3new_babbab += einsum(t2.abab, (0, 1, 2, 3), x488, (1, 4, 5, 6), (5, 0, 4, 3, 2, 6)) * 2.0 - del x488 - x489 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x489 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.abaaba, (4, 5, 6, 7, 3, 1), (5, 2, 4, 6, 0, 7)) - x490 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x490 += einsum(t2.abab, (0, 1, 2, 3), x489, (4, 1, 5, 6, 0, 7), (4, 3, 5, 6, 2, 7)) - del x489 - x491 = np.zeros((nvir[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x491 += einsum(v.aabb.vvvv, (0, 1, 2, 3), (2, 3, 0, 1)) - x491 += einsum(x132, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x132 - x492 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x492 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), (1, 4, 0, 2, 3, 5)) - x492 += einsum(t1.bb, (0, 1), t2.aaaa, (2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - x493 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x493 += einsum(x491, (0, 1, 2, 3), x492, (4, 0, 5, 6, 2, 7), (4, 1, 5, 6, 7, 3)) * 2.0 - del x491 - x494 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x494 += einsum(v.aabb.vvoo, (0, 1, 2, 3), (2, 3, 0, 1)) - x494 += einsum(x129, (0, 1, 2, 3), (1, 0, 3, 2)) - del x129 - x495 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x495 += einsum(x494, (0, 1, 2, 3), t3.abaaba, (4, 0, 5, 6, 7, 2), (1, 7, 4, 5, 6, 3)) * -2.0 - del x494 - x496 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x496 += einsum(t1.bb, (0, 1), v.aabb.vvoo, (2, 3, 4, 0), (4, 1, 2, 3)) - x497 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x497 += einsum(t2.bbbb, (0, 1, 2, 3), v.aabb.vvov, (4, 5, 1, 3), (0, 2, 4, 5)) - x498 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x498 += einsum(t2.abab, (0, 1, 2, 3), x118, (0, 2, 4, 5), (1, 3, 4, 5)) - del x118 - x499 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x499 += einsum(t2.abab, (0, 1, 2, 3), x4, (1, 4, 0, 5), (4, 3, 5, 2)) - x500 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x500 += einsum(t2.abab, (0, 1, 2, 3), x104, (3, 4, 0, 5), (1, 4, 5, 2)) - x501 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x501 += einsum(v.aabb.vvov, (0, 1, 2, 3), (2, 3, 0, 1)) - x501 += einsum(x496, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x496 - x501 += einsum(x497, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - del x497 - x501 += einsum(x324, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - del x324 - x501 += einsum(x325, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - del x325 - x501 += einsum(x498, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x498 - x501 += einsum(x499, (0, 1, 2, 3), (0, 1, 2, 3)) - del x499 - x501 += einsum(x500, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x500 - x502 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x502 += einsum(t2.aaaa, (0, 1, 2, 3), x501, (4, 5, 3, 6), (4, 5, 0, 1, 2, 6)) * -2.0 - del x501 - x503 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x503 += einsum(v.aabb.ovov, (0, 1, 2, 3), x384, (4, 3, 0, 5), (2, 4, 1, 5)) - del x384 - x504 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x504 += einsum(x344, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.99999999999999 - del x344 - x504 += einsum(x503, (0, 1, 2, 3), (0, 1, 3, 2)) - del x503 - x505 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x505 += einsum(x504, (0, 1, 2, 3), t3.abaaba, (4, 0, 5, 6, 7, 3), (1, 7, 4, 5, 6, 2)) * -2.00000000000002 - del x504 - x506 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x506 += einsum(f.aa.vv, (0, 1), (0, 1)) * -1.0 - x506 += einsum(x72, (0, 1), (0, 1)) - del x72 - x506 += einsum(x73, (0, 1), (0, 1)) * 2.0 - del x73 - x506 += einsum(x139, (0, 1), (1, 0)) - del x139 - x507 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x507 += einsum(x506, (0, 1), t3.abaaba, (2, 3, 4, 5, 6, 1), (3, 6, 2, 4, 5, 0)) * -2.0 - del x506 - x508 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x508 += einsum(x255, (0, 1), t3.abaaba, (2, 3, 4, 5, 6, 0), (3, 6, 2, 4, 5, 1)) * -2.0 - del x255 - x509 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x509 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), t3.abaaba, (4, 5, 6, 1, 7, 3), (5, 7, 4, 6, 0, 2)) - x510 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x510 += einsum(x104, (0, 1, 2, 3), x492, (4, 0, 5, 6, 3, 7), (4, 1, 2, 5, 6, 7)) - del x492 - x511 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x511 += einsum(t1.bb, (0, 1), v.aabb.ovoo, (2, 3, 4, 0), (4, 1, 2, 3)) - x512 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x512 += einsum(t2.bbbb, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (0, 2, 4, 5)) - x513 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x513 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) - x513 += einsum(x511, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x513 += einsum(x512, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x512 - x513 += einsum(x163, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x163 - x514 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x514 += einsum(t2.aaaa, (0, 1, 2, 3), x513, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) * -1.0 - del x513 - x515 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x515 += einsum(x509, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) - del x509 - x515 += einsum(x510, (0, 1, 2, 3, 4, 5), (0, 1, 4, 3, 2, 5)) - del x510 - x515 += einsum(x514, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) - del x514 - x516 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x516 += einsum(t1.aa, (0, 1), x515, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 6, 1)) * 2.0 - del x515 - x517 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x517 += einsum(x77, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x77 - x517 += einsum(x78, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x78 - x517 += einsum(x79, (0, 1, 2, 3), (0, 1, 2, 3)) * -3.0 - del x79 - x518 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x518 += einsum(t2.abab, (0, 1, 2, 3), x517, (4, 5, 0, 6), (1, 3, 4, 5, 6, 2)) * 2.0 - del x517 - x519 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x519 += einsum(x490, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -2.0 - del x490 - x519 += einsum(x493, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 - del x493 - x519 += einsum(x495, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) - del x495 - x519 += einsum(x502, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 - del x502 - x519 += einsum(x505, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) - del x505 - x519 += einsum(x507, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -1.0 - del x507 - x519 += einsum(x508, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 - del x508 - x519 += einsum(x516, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) - del x516 - x519 += einsum(x518, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -1.0 - del x518 - t3new_abaaba += einsum(x519, (0, 1, 2, 3, 4, 5), (3, 0, 2, 4, 1, 5)) - t3new_abaaba += einsum(x519, (0, 1, 2, 3, 4, 5), (3, 0, 2, 5, 1, 4)) * -1.0 - del x519 - x520 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x520 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.babbab, (4, 5, 2, 6, 7, 3), (4, 6, 5, 0, 7, 1)) - x521 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x521 += einsum(t2.abab, (0, 1, 2, 3), x64, (4, 5, 2, 6), (1, 3, 4, 0, 6, 5)) - del x64 - x522 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x522 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ooov, (4, 0, 5, 3), (1, 5, 4, 2)) - x523 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x523 += einsum(t2.abab, (0, 1, 2, 3), x522, (4, 1, 5, 6), (4, 3, 0, 5, 6, 2)) - del x522 - x524 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x524 += einsum(x38, (0, 1, 2, 3), t3.babbab, (4, 5, 0, 6, 7, 1), (4, 6, 2, 5, 7, 3)) - x525 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x525 += einsum(t2.abab, (0, 1, 2, 3), x23, (4, 3, 5, 0), (1, 4, 5, 2)) - x526 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x526 += einsum(t2.abab, (0, 1, 2, 3), x525, (4, 1, 5, 6), (4, 3, 5, 0, 6, 2)) - del x525 - x527 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x527 += einsum(t2.aaaa, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.00000000000002 - x527 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 3, 1)) * -1.0 - x528 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x528 += einsum(x527, (0, 1, 2, 3), x68, (0, 4, 5, 2), (4, 1, 5, 3)) - del x68, x527 - x529 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x529 += einsum(x225, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.00000000000001 - x529 += einsum(x528, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x528 - x530 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x530 += einsum(x529, (0, 1, 2, 3), t3.abaaba, (4, 5, 1, 6, 7, 3), (5, 7, 4, 0, 6, 2)) * 2.0 - del x529 - x531 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x531 += einsum(v.aabb.ovov, (0, 1, 2, 3), x271, (0, 4, 1, 5), (2, 3, 4, 5)) * 2.0 - del x271 - x532 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x532 += einsum(x61, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x61 - x532 += einsum(x531, (0, 1, 2, 3), (0, 1, 2, 3)) - del x531 - x533 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x533 += einsum(x532, (0, 1, 2, 3), t3.babbab, (4, 5, 0, 6, 7, 1), (4, 6, 2, 5, 3, 7)) * 2.00000000000002 - del x532 - x534 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x534 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), (1, 4, 0, 2, 3, 5)) - x534 += einsum(t1.aa, (0, 1), t2.abab, (2, 3, 4, 5), (3, 5, 0, 2, 4, 1)) * -0.5 - x535 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x535 += einsum(x28, (0, 1, 2, 3), x534, (4, 5, 0, 6, 2, 7), (4, 5, 1, 6, 3, 7)) * 2.0 - del x28, x534 - x536 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x536 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), (1, 4, 0, 2, 3, 5)) * 2.0 - x536 += einsum(t1.aa, (0, 1), t2.abab, (2, 3, 4, 5), (3, 5, 0, 2, 4, 1)) * -1.0 - x537 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x537 += einsum(x46, (0, 1, 2, 3), x536, (4, 5, 0, 6, 3, 7), (4, 5, 1, 6, 2, 7)) * -1.0 - del x46, x536 - x538 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x538 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ooov, (4, 0, 1, 5), (3, 5, 4, 2)) - x539 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x539 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.vvov, (4, 2, 1, 5), (3, 5, 0, 4)) - x540 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x540 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x540 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) - x540 += einsum(x107, (0, 1, 2, 3), (0, 2, 3, 1)) - x540 += einsum(x107, (0, 1, 2, 3), (0, 3, 2, 1)) * -1.0 - del x107 - x541 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x541 += einsum(t2.abab, (0, 1, 2, 3), x540, (1, 4, 3, 5), (4, 5, 0, 2)) - del x540 - x542 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x542 += einsum(v.aabb.ovvv, (0, 1, 2, 3), (2, 3, 0, 1)) - x542 += einsum(x103, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x543 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x543 += einsum(t2.aaaa, (0, 1, 2, 3), x542, (4, 5, 1, 3), (4, 5, 0, 2)) * 2.0 - del x542 - x544 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x544 += einsum(x9, (0, 1), t2.abab, (2, 0, 3, 4), (1, 4, 2, 3)) - del x9 - x545 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x545 += einsum(v.aabb.ovvv, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 - x545 += einsum(x103, (0, 1, 2, 3), (1, 0, 2, 3)) - del x103 - x545 += einsum(x538, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x538 - x545 += einsum(x539, (0, 1, 2, 3), (1, 0, 2, 3)) - del x539 - x545 += einsum(x455, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 - del x455 - x545 += einsum(x429, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 - del x429 - x545 += einsum(x541, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x541 - x545 += einsum(x543, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x543 - x545 += einsum(x544, (0, 1, 2, 3), (0, 1, 2, 3)) - del x544 - x546 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x546 += einsum(t2.abab, (0, 1, 2, 3), x545, (3, 4, 5, 6), (1, 4, 5, 0, 6, 2)) - del x545 - x547 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x547 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x547 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) - x548 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x548 += einsum(t2.aaaa, (0, 1, 2, 3), x547, (1, 3, 4, 5), (0, 2, 4, 5)) * 2.0 - del x547 - x549 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x549 += einsum(t1.aa, (0, 1), v.aaaa.ooov, (2, 3, 0, 4), (2, 3, 1, 4)) - x550 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x550 += einsum(x549, (0, 1, 2, 3), (1, 0, 2, 3)) - del x549 - x550 += einsum(x225, (0, 1, 2, 3), (0, 1, 2, 3)) - del x225 - x550 += einsum(x226, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x226 - x551 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x551 += einsum(t1.aa, (0, 1), x550, (2, 0, 3, 4), (2, 3, 4, 1)) - del x550 - x552 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x552 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) - x552 += einsum(x219, (0, 1, 2, 3), (0, 1, 3, 2)) - del x219 - x552 += einsum(x548, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x548 - x552 += einsum(x551, (0, 1, 2, 3), (0, 3, 1, 2)) - del x551 - x553 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x553 += einsum(t2.abab, (0, 1, 2, 3), x552, (4, 5, 6, 2), (1, 3, 4, 0, 5, 6)) - del x552 - x554 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x554 += einsum(v.aabb.ooov, (0, 1, 2, 3), t3.babbab, (4, 5, 2, 6, 7, 3), (4, 6, 5, 0, 1, 7)) - x555 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x555 += einsum(t2.abab, (0, 1, 2, 3), x25, (4, 5, 6, 2), (1, 3, 4, 0, 6, 5)) - x556 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x556 += einsum(t1.aa, (0, 1), x555, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 6, 1)) - del x555 - x557 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x557 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x557 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - x558 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x558 += einsum(x557, (0, 1, 2, 3), t3.abaaba, (4, 5, 0, 6, 7, 3), (5, 7, 4, 1, 2, 6)) * 2.0 - del x557 - x559 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x559 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 1, 5), (3, 5, 0, 4)) - x560 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x560 += einsum(v.aabb.oovv, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 - x560 += einsum(x121, (0, 1, 2, 3), (1, 0, 3, 2)) - x560 += einsum(x559, (0, 1, 2, 3), (1, 0, 3, 2)) - del x559 - x561 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x561 += einsum(t2.abab, (0, 1, 2, 3), x560, (3, 4, 5, 6), (1, 4, 5, 6, 0, 2)) - del x560 - x562 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x562 += einsum(x136, (0, 1, 2, 3), (1, 0, 2, 3)) - x562 += einsum(x137, (0, 1, 2, 3), (1, 0, 2, 3)) - del x137 - x563 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x563 += einsum(t2.abab, (0, 1, 2, 3), x562, (1, 4, 5, 6), (4, 3, 5, 6, 0, 2)) - x564 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x564 += einsum(t1.bb, (0, 1), x23, (0, 2, 3, 4), (1, 2, 3, 4)) - x565 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x565 += einsum(x122, (0, 1, 2, 3), (1, 0, 2, 3)) - x565 += einsum(x564, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x564 - x566 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x566 += einsum(t2.abab, (0, 1, 2, 3), x565, (3, 4, 5, 6), (1, 4, 5, 6, 0, 2)) - del x565 - x567 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x567 += einsum(v.aabb.oooo, (0, 1, 2, 3), (2, 3, 0, 1)) - x567 += einsum(x135, (0, 1, 2, 3), (1, 0, 3, 2)) - del x135 - x568 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x568 += einsum(t2.abab, (0, 1, 2, 3), x567, (1, 4, 5, 6), (4, 3, 5, 6, 0, 2)) - x569 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x569 += einsum(x554, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 2.0 - del x554 - x569 += einsum(x556, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x556 - x569 += einsum(x558, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - del x558 - x569 += einsum(x561, (0, 1, 2, 3, 4, 5), (0, 1, 4, 3, 2, 5)) * -1.0 - del x561 - x569 += einsum(x563, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) - del x563 - x569 += einsum(x566, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - del x566 - x569 += einsum(x568, (0, 1, 2, 3, 4, 5), (0, 1, 4, 3, 2, 5)) * -1.0 - del x568 - x570 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x570 += einsum(t1.aa, (0, 1), x569, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 6, 1)) - del x569 - x571 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x571 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x571 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) - x571 += einsum(x1, (0, 1, 2, 3), (0, 1, 2, 3)) - x571 += einsum(x1, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x572 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x572 += einsum(t2.abab, (0, 1, 2, 3), x571, (4, 5, 1, 3), (4, 5, 0, 2)) - del x571 - x573 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x573 += einsum(t2.aaaa, (0, 1, 2, 3), x130, (4, 5, 1, 3), (4, 5, 0, 2)) * 2.0 - del x130 - x574 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x574 += einsum(v.aabb.ovoo, (0, 1, 2, 3), (2, 3, 0, 1)) - x574 += einsum(x3, (0, 1, 2, 3), (1, 0, 2, 3)) - del x3 - x574 += einsum(x391, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 - del x391 - x574 += einsum(x392, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 - del x392 - x574 += einsum(x572, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x572 - x574 += einsum(x573, (0, 1, 2, 3), (1, 0, 2, 3)) - del x573 - x575 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x575 += einsum(t2.abab, (0, 1, 2, 3), x574, (1, 4, 5, 6), (4, 3, 5, 0, 6, 2)) - del x574 - x576 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x576 += einsum(t1.bb, (0, 1), x38, (0, 2, 3, 4), (1, 2, 3, 4)) - del x38 - x577 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x577 += einsum(t2.abab, (0, 1, 2, 3), x23, (1, 4, 5, 0), (3, 4, 5, 2)) - x578 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x578 += einsum(x153, (0, 1, 2, 3), (1, 0, 2, 3)) - del x153 - x578 += einsum(x576, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x576 - x578 += einsum(x577, (0, 1, 2, 3), (1, 0, 2, 3)) - del x577 - x579 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x579 += einsum(t2.abab, (0, 1, 2, 3), x578, (3, 4, 5, 6), (1, 4, 5, 0, 6, 2)) - del x578 - x580 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x580 += einsum(v.aabb.vvov, (0, 1, 2, 3), x5, (4, 3, 5, 1), (4, 2, 5, 0)) - del x5 - x581 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x581 += einsum(x147, (0, 1, 2, 3), (1, 0, 2, 3)) - del x147 - x581 += einsum(x580, (0, 1, 2, 3), (1, 0, 2, 3)) - del x580 - x582 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x582 += einsum(t2.abab, (0, 1, 2, 3), x581, (1, 4, 5, 6), (4, 3, 5, 0, 6, 2)) - del x581 - x583 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x583 += einsum(x520, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -2.0 - del x520 - x583 += einsum(x521, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - del x521 - x583 += einsum(x523, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x523 - x583 += einsum(x524, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 2.0 - del x524 - x583 += einsum(x526, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - del x526 - x583 += einsum(x530, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -1.0 - del x530 - x583 += einsum(x533, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - del x533 - x583 += einsum(x535, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) - del x535 - x583 += einsum(x537, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - del x537 - x583 += einsum(x546, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) - del x546 - x583 += einsum(x553, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) - del x553 - x583 += einsum(x570, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 - del x570 - x583 += einsum(x575, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) - del x575 - x583 += einsum(x579, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - del x579 - x583 += einsum(x582, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 - del x582 - t3new_abaaba += einsum(x583, (0, 1, 2, 3, 4, 5), (2, 0, 3, 4, 1, 5)) * -1.0 - t3new_abaaba += einsum(x583, (0, 1, 2, 3, 4, 5), (2, 0, 3, 5, 1, 4)) - t3new_abaaba += einsum(x583, (0, 1, 2, 3, 4, 5), (3, 0, 2, 4, 1, 5)) - t3new_abaaba += einsum(x583, (0, 1, 2, 3, 4, 5), (3, 0, 2, 5, 1, 4)) * -1.0 - del x583 - x584 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x584 += einsum(t2.abab, (0, 1, 2, 3), x261, (4, 5, 6, 2), (1, 3, 4, 0, 5, 6)) * -1.0 - del x261 - x585 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x585 += einsum(x122, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.99999999999999 - del x122 - x585 += einsum(x436, (0, 1, 2, 3), (0, 1, 3, 2)) - del x436 - x586 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x586 += einsum(x585, (0, 1, 2, 3), t3.abaaba, (4, 5, 3, 6, 0, 7), (5, 1, 4, 2, 6, 7)) * -2.00000000000002 - del x585 - x587 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x587 += einsum(x562, (0, 1, 2, 3), t3.abaaba, (4, 0, 3, 5, 6, 7), (1, 6, 4, 2, 5, 7)) * -2.0 - del x562 - x588 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x588 += einsum(t1.bb, (0, 1), v.aabb.oooo, (2, 3, 4, 0), (4, 1, 2, 3)) - x589 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x589 += einsum(t2.abab, (0, 1, 2, 3), x4, (1, 4, 5, 2), (4, 3, 5, 0)) - del x4 - x590 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x590 += einsum(t2.abab, (0, 1, 2, 3), x32, (4, 5, 0, 2), (1, 3, 4, 5)) - x591 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x591 += einsum(t2.abab, (0, 1, 2, 3), x104, (3, 4, 5, 2), (1, 4, 5, 0)) - del x104 - x592 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x592 += einsum(x13, (0, 1), t2.abab, (2, 3, 1, 4), (3, 4, 0, 2)) - del x13 - x593 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x593 += einsum(v.aabb.ooov, (0, 1, 2, 3), x113, (2, 4, 3, 5), (4, 5, 0, 1)) * 2.0 - x594 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x594 += einsum(v.aabb.ooov, (0, 1, 2, 3), (2, 3, 0, 1)) - x594 += einsum(x588, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x588 - x594 += einsum(x155, (0, 1, 2, 3), (0, 1, 3, 2)) - del x155 - x594 += einsum(x360, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - del x360 - x594 += einsum(x361, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - del x361 - x594 += einsum(x589, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x589 - x594 += einsum(x590, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x590 - x594 += einsum(x591, (0, 1, 2, 3), (0, 1, 2, 3)) - del x591 - x594 += einsum(x592, (0, 1, 2, 3), (0, 1, 2, 3)) - del x592 - x594 += einsum(x593, (0, 1, 2, 3), (0, 1, 3, 2)) - del x593 - x595 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x595 += einsum(t2.aaaa, (0, 1, 2, 3), x594, (4, 5, 1, 6), (4, 5, 0, 6, 2, 3)) * -2.0 - del x594 - x596 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x596 += einsum(v.aabb.oovv, (0, 1, 2, 3), (2, 3, 0, 1)) - x596 += einsum(x121, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x121 - x597 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x597 += einsum(x596, (0, 1, 2, 3), t3.abaaba, (4, 5, 2, 6, 0, 7), (5, 1, 4, 3, 6, 7)) * -2.0 - del x596 - x598 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x598 += einsum(x214, (0, 1, 2, 3), (0, 2, 1, 3)) - del x214 - x598 += einsum(x240, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x240 - x598 += einsum(x241, (0, 1, 2, 3), (0, 2, 1, 3)) * -3.0 - del x241 - x599 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x599 += einsum(t2.abab, (0, 1, 2, 3), x598, (4, 5, 6, 2), (1, 3, 4, 0, 5, 6)) * 2.0 - del x598 - x600 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x600 += einsum(x567, (0, 1, 2, 3), t3.abaaba, (4, 0, 2, 5, 6, 7), (1, 6, 4, 3, 5, 7)) * -2.0 - del x567 - x601 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x601 += einsum(f.aa.oo, (0, 1), (0, 1)) - x601 += einsum(x30, (0, 1), (0, 1)) - del x30 - x601 += einsum(x31, (0, 1), (0, 1)) * 2.0 - del x31 - x601 += einsum(x34, (0, 1), (1, 0)) - del x34 - x602 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x602 += einsum(x601, (0, 1), t3.abaaba, (2, 3, 1, 4, 5, 6), (3, 5, 2, 0, 4, 6)) * -2.0 - del x601 - x603 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x603 += einsum(t1.bb, (0, 1), x136, (2, 0, 3, 4), (2, 1, 3, 4)) - del x136 - x604 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x604 += einsum(t2.abab, (0, 1, 2, 3), x55, (4, 0, 5, 2), (1, 3, 4, 5)) - x605 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x605 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) - x605 += einsum(x127, (0, 1, 2, 3), (0, 1, 2, 3)) - x606 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x606 += einsum(t1.aa, (0, 1), x605, (2, 3, 4, 1), (2, 3, 4, 0)) - del x605 - x607 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x607 += einsum(x113, (0, 1, 2, 3), x23, (0, 2, 4, 5), (1, 3, 4, 5)) * 2.0 - del x23 - x608 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x608 += einsum(x603, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x603 - x608 += einsum(x604, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x604 - x608 += einsum(x606, (0, 1, 2, 3), (0, 1, 3, 2)) - del x606 - x608 += einsum(x607, (0, 1, 2, 3), (0, 1, 2, 3)) - del x607 - x609 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x609 += einsum(t2.aaaa, (0, 1, 2, 3), x608, (4, 5, 6, 1), (4, 5, 0, 6, 2, 3)) * -2.0 - del x608 - x610 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x610 += einsum(x251, (0, 1), t3.abaaba, (2, 3, 0, 4, 5, 6), (3, 5, 2, 1, 4, 6)) * -2.0 - del x251 - x611 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x611 += einsum(x584, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 2.0 - del x584 - x611 += einsum(x586, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) - del x586 - x611 += einsum(x587, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) - del x587 - x611 += einsum(x595, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - del x595 - x611 += einsum(x597, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - del x597 - x611 += einsum(x599, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) - del x599 - x611 += einsum(x600, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 - del x600 - x611 += einsum(x602, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -1.0 - del x602 - x611 += einsum(x609, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -1.0 - del x609 - x611 += einsum(x610, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - del x610 - t3new_abaaba += einsum(x611, (0, 1, 2, 3, 4, 5), (2, 0, 3, 4, 1, 5)) * -1.0 - t3new_abaaba += einsum(x611, (0, 1, 2, 3, 4, 5), (3, 0, 2, 4, 1, 5)) - del x611 - x612 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x612 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x612 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x612 += einsum(x111, (0, 1, 2, 3), (1, 0, 3, 2)) * 1.00000000000001 - x612 += einsum(x112, (0, 1, 2, 3), x315, (0, 4, 3, 5), (1, 4, 2, 5)) * -2.00000000000002 - del x112 - x612 += einsum(x115, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x115 - x612 += einsum(x116, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x116 - t3new_abaaba += einsum(x612, (0, 1, 2, 3), t3.abaaba, (4, 0, 5, 6, 2, 7), (4, 1, 5, 6, 3, 7)) * 2.0 - del x612 - x613 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x613 += einsum(t2.bbbb, (0, 1, 2, 3), (0, 1, 2, 3)) - x613 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1)) * -0.4999999999999949 - x614 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x614 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) - x614 += einsum(x511, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x511 - x614 += einsum(x127, (0, 1, 2, 3), (0, 1, 2, 3)) - x614 += einsum(x314, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x314 - x614 += einsum(v.aabb.ovov, (0, 1, 2, 3), x613, (2, 4, 3, 5), (4, 5, 0, 1)) * 2.0000000000000204 - del x613 - t3new_abaaba += einsum(x614, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 2, 6, 7, 3), (4, 0, 5, 6, 1, 7)) * 6.0 - del x614 - x615 = np.zeros((nvir[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x615 += einsum(v.aaaa.vvvv, (0, 1, 2, 3), (0, 1, 2, 3)) - x615 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (0, 4, 1, 5), (5, 2, 3, 4)) * -1.0 - x615 += einsum(t1.aa, (0, 1), x109, (0, 2, 3, 4), (4, 1, 2, 3)) * -1.0 - del x109 - t3new_abaaba += einsum(x615, (0, 1, 2, 3), t3.abaaba, (4, 5, 6, 0, 7, 3), (4, 5, 6, 2, 7, 1)) * -2.0 - del x615 - x616 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x616 += einsum(v.aaaa.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x616 += einsum(x49, (0, 1, 2, 3), (2, 0, 3, 1)) * -1.0 - x616 += einsum(x49, (0, 1, 2, 3), (2, 1, 3, 0)) - del x49 - x616 += einsum(x99, (0, 1, 2, 3), (1, 3, 0, 2)) - del x99 - t3new_abaaba += einsum(x616, (0, 1, 2, 3), t3.abaaba, (0, 4, 2, 5, 6, 7), (1, 4, 3, 5, 6, 7)) * 2.0 - del x616 - x617 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x617 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x617 += einsum(x50, (0, 1, 2, 3), (1, 0, 2, 3)) - del x50 - x618 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x618 += einsum(t2.aaaa, (0, 1, 2, 3), x32, (4, 5, 1, 3), (0, 4, 5, 2)) * 2.0 - del x32 - x619 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x619 += einsum(t2.aaaa, (0, 1, 2, 3), x55, (4, 5, 1, 3), (0, 4, 5, 2)) * 2.0 - del x55 - x620 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x620 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x620 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x620 += einsum(x37, (0, 1, 2, 3), (0, 1, 2, 3)) - del x37 - x621 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x621 += einsum(t1.aa, (0, 1), x620, (2, 3, 1, 4), (2, 3, 0, 4)) - del x620 - x622 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x622 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x622 += einsum(x25, (0, 1, 2, 3), (0, 2, 1, 3)) - del x25 - x623 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x623 += einsum(t1.aa, (0, 1), x622, (2, 3, 4, 1), (2, 3, 4, 0)) - del x622 - x624 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x624 += einsum(t1.aa, (0, 1), x623, (2, 0, 3, 4), (4, 2, 3, 1)) - del x623 - x625 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x625 += einsum(x48, (0, 1, 2, 3), (0, 2, 1, 3)) - del x48 - x625 += einsum(x52, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x52 - x625 += einsum(x618, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x618 - x625 += einsum(x619, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - del x619 - x625 += einsum(x621, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - del x621 - x625 += einsum(x624, (0, 1, 2, 3), (0, 2, 1, 3)) - del x624 - x626 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x626 += einsum(x617, (0, 1, 2, 3), (0, 1, 2, 3)) - x626 += einsum(x617, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x617 - x626 += einsum(x625, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x626 += einsum(x625, (0, 1, 2, 3), (1, 2, 0, 3)) - del x625 - x626 += einsum(x80, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x80 - x626 += einsum(x295, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - del x295 - x627 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x627 += einsum(t2.abab, (0, 1, 2, 3), x626, (0, 4, 5, 6), (1, 3, 4, 5, 6, 2)) - del x626 - t3new_abaaba += einsum(x627, (0, 1, 2, 3, 4, 5), (3, 0, 2, 4, 1, 5)) * -1.0 - t3new_abaaba += einsum(x627, (0, 1, 2, 3, 4, 5), (3, 0, 2, 5, 1, 4)) - del x627 - x628 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x628 += einsum(t2.bbbb, (0, 1, 2, 3), x430, (1, 4, 3, 5), (0, 4, 5, 2)) * 2.0 - del x430 - x629 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x629 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) - x629 += einsum(x331, (0, 1, 2, 3), (0, 1, 3, 2)) - del x331 - x629 += einsum(x628, (0, 1, 2, 3), (0, 3, 1, 2)) * -1.0 - del x628 - x630 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x630 += einsum(t2.bbbb, (0, 1, 2, 3), x629, (4, 5, 3, 6), (4, 0, 1, 5, 6, 2)) * -2.0 - del x629 - x631 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x631 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ooov, (4, 5, 6, 3), (0, 1, 4, 5, 6, 2)) - x632 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x632 += einsum(t1.bb, (0, 1), x631, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x631 - x633 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x633 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x633 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x633 += einsum(x111, (0, 1, 2, 3), (0, 1, 2, 3)) - x633 += einsum(x335, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x335 - x634 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x634 += einsum(t2.bbbb, (0, 1, 2, 3), x633, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) * -1.0 - del x633 - x635 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x635 += einsum(x632, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) - del x632 - x635 += einsum(x634, (0, 1, 2, 3, 4, 5), (3, 2, 1, 0, 5, 4)) * -1.0 - del x634 - x636 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x636 += einsum(t1.bb, (0, 1), x635, (2, 3, 0, 4, 5, 6), (2, 3, 4, 5, 6, 1)) * 2.0 - del x635 - x637 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x637 += einsum(x630, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) - del x630 - x637 += einsum(x636, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) - del x636 - t3new_bbbbbb = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - t3new_bbbbbb += einsum(x637, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - t3new_bbbbbb += einsum(x637, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - t3new_bbbbbb += einsum(x637, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) - t3new_bbbbbb += einsum(x637, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -1.0 - t3new_bbbbbb += einsum(x637, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -1.0 - t3new_bbbbbb += einsum(x637, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) - t3new_bbbbbb += einsum(x637, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) - t3new_bbbbbb += einsum(x637, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - t3new_bbbbbb += einsum(x637, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -1.0 - t3new_bbbbbb += einsum(x637, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) - t3new_bbbbbb += einsum(x637, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - t3new_bbbbbb += einsum(x637, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -1.0 - t3new_bbbbbb += einsum(x637, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) - t3new_bbbbbb += einsum(x637, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -1.0 - t3new_bbbbbb += einsum(x637, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -1.0 - t3new_bbbbbb += einsum(x637, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) - t3new_bbbbbb += einsum(x637, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) - t3new_bbbbbb += einsum(x637, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -1.0 - del x637 - x638 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x638 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.babbab, (4, 0, 5, 6, 1, 7), (4, 5, 2, 6, 7, 3)) - x639 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x639 += einsum(t2.bbbb, (0, 1, 2, 3), x402, (4, 5, 6, 3), (0, 1, 4, 5, 6, 2)) - del x402 - x640 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x640 += einsum(t2.bbbb, (0, 1, 2, 3), x167, (4, 5, 1, 6), (4, 5, 0, 2, 3, 6)) - del x167 - x641 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x641 += einsum(x14, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 0, 6, 7, 2), (4, 5, 1, 6, 7, 3)) * 6.0 - del x14 - x642 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x642 += einsum(x638, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 2.0 - del x638 - x642 += einsum(x639, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -4.0 - del x639 - x642 += einsum(x640, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -4.0 - del x640 - x642 += einsum(x641, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x641 - t3new_bbbbbb += einsum(x642, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - t3new_bbbbbb += einsum(x642, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - t3new_bbbbbb += einsum(x642, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -1.0 - t3new_bbbbbb += einsum(x642, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) - t3new_bbbbbb += einsum(x642, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - t3new_bbbbbb += einsum(x642, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) - t3new_bbbbbb += einsum(x642, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) - t3new_bbbbbb += einsum(x642, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -1.0 - t3new_bbbbbb += einsum(x642, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) - del x642 - x643 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x643 += einsum(x127, (0, 1, 2, 3), t3.babbab, (4, 2, 5, 6, 3, 7), (0, 4, 5, 6, 7, 1)) - del x127 - x644 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x644 += einsum(t2.bbbb, (0, 1, 2, 3), x382, (4, 5, 6, 3), (4, 0, 1, 5, 6, 2)) * -1.0 - del x382 - x645 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x645 += einsum(x182, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 0, 6, 7, 3), (4, 5, 1, 6, 7, 2)) * -6.0 - x646 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x646 += einsum(x168, (0, 1, 2, 3), (0, 1, 2, 3)) - del x168 - x646 += einsum(x169, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.3333333333333333 - del x169 - x647 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x647 += einsum(t2.bbbb, (0, 1, 2, 3), x646, (4, 5, 1, 6), (4, 5, 0, 6, 2, 3)) * -12.0 - del x646 - x648 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x648 += einsum(x643, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 2.0 - del x643 - x648 += einsum(x644, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -4.0 - del x644 - x648 += einsum(x645, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) - del x645 - x648 += einsum(x647, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) - del x647 - t3new_bbbbbb += einsum(x648, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - t3new_bbbbbb += einsum(x648, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 - t3new_bbbbbb += einsum(x648, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) - t3new_bbbbbb += einsum(x648, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) - t3new_bbbbbb += einsum(x648, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) * -1.0 - t3new_bbbbbb += einsum(x648, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) - t3new_bbbbbb += einsum(x648, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -1.0 - t3new_bbbbbb += einsum(x648, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) - t3new_bbbbbb += einsum(x648, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * -1.0 - del x648 - x649 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x649 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 6, 7, 1, 3), (4, 5, 6, 0, 7, 2)) - x650 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x650 += einsum(t1.bb, (0, 1), x649, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) - del x649 - t3new_bbbbbb += einsum(x650, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 6.0 - t3new_bbbbbb += einsum(x650, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -6.0 - t3new_bbbbbb += einsum(x650, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -6.0 - t3new_bbbbbb += einsum(x650, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * 6.0 - t3new_bbbbbb += einsum(x650, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 6.0 - t3new_bbbbbb += einsum(x650, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -6.0 - del x650 - x651 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x651 += einsum(x440, (0, 1), t3.bbbbbb, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 6, 1)) * 6.0 - del x440 - x652 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x652 += einsum(v.bbbb.ovov, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 6, 7, 3, 1), (4, 5, 6, 0, 2, 7)) * -1.0 - x653 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x653 += einsum(x470, (0, 1, 2, 3), x652, (4, 5, 6, 0, 1, 7), (4, 5, 6, 2, 3, 7)) * 6.0 - del x470, x652 - x654 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x654 += einsum(x651, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) - del x651 - x654 += einsum(x653, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - del x653 - t3new_bbbbbb += einsum(x654, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - t3new_bbbbbb += einsum(x654, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 - t3new_bbbbbb += einsum(x654, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) - del x654 - x655 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x655 += einsum(t2.bbbb, (0, 1, 2, 3), x157, (4, 5, 3, 6), (4, 0, 1, 2, 6, 5)) - del x157 - x656 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x656 += einsum(t2.bbbb, (0, 1, 2, 3), x1, (4, 5, 6, 3), (4, 0, 1, 6, 5, 2)) - del x1 - x657 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x657 += einsum(t1.bb, (0, 1), x656, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x656 - x658 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x658 += einsum(t2.bbbb, (0, 1, 2, 3), x182, (4, 5, 6, 3), (5, 4, 0, 1, 6, 2)) - del x182 - x659 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x659 += einsum(x657, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 - del x657 - x659 += einsum(x658, (0, 1, 2, 3, 4, 5), (0, 3, 2, 1, 5, 4)) * -1.0 - del x658 - x660 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x660 += einsum(t1.bb, (0, 1), x659, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 6, 1)) * 2.0 - del x659 - x661 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x661 += einsum(x655, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -2.0 - del x655 - x661 += einsum(x660, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -1.0 - del x660 - t3new_bbbbbb += einsum(x661, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - t3new_bbbbbb += einsum(x661, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - t3new_bbbbbb += einsum(x661, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) - t3new_bbbbbb += einsum(x661, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -1.0 - t3new_bbbbbb += einsum(x661, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -1.0 - t3new_bbbbbb += einsum(x661, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) - t3new_bbbbbb += einsum(x661, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) * -1.0 - t3new_bbbbbb += einsum(x661, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) - t3new_bbbbbb += einsum(x661, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) - t3new_bbbbbb += einsum(x661, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 - t3new_bbbbbb += einsum(x661, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * -1.0 - t3new_bbbbbb += einsum(x661, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) - t3new_bbbbbb += einsum(x661, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) - t3new_bbbbbb += einsum(x661, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -1.0 - t3new_bbbbbb += einsum(x661, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -1.0 - t3new_bbbbbb += einsum(x661, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) - t3new_bbbbbb += einsum(x661, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) - t3new_bbbbbb += einsum(x661, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -1.0 - del x661 - x662 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x662 += einsum(v.bbbb.oooo, (0, 1, 2, 3), t3.bbbbbb, (4, 3, 1, 5, 6, 7), (4, 0, 2, 5, 6, 7)) * -1.0 - x663 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x663 += einsum(f.bb.oo, (0, 1), (0, 1)) - x663 += einsum(x16, (0, 1), (1, 0)) * 2.0 - del x16 - x663 += einsum(x17, (0, 1), (1, 0)) - del x17 - x663 += einsum(x20, (0, 1), (0, 1)) - del x20 - x664 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x664 += einsum(x663, (0, 1), t3.bbbbbb, (2, 3, 0, 4, 5, 6), (2, 3, 1, 4, 5, 6)) * 6.0 - del x663 - x665 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x665 += einsum(x662, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 6.0 - del x662 - x665 += einsum(x664, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) - del x664 - t3new_bbbbbb += einsum(x665, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -1.0 - t3new_bbbbbb += einsum(x665, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 - t3new_bbbbbb += einsum(x665, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) - del x665 - x666 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x666 += einsum(v.bbbb.vvvv, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 6, 7, 3, 1), (4, 5, 6, 7, 0, 2)) * -1.0 - x667 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x667 += einsum(f.bb.vv, (0, 1), (0, 1)) * -1.0 - x667 += einsum(x142, (0, 1), (1, 0)) * 2.0 - del x142 - x667 += einsum(x143, (0, 1), (1, 0)) - del x143 - x667 += einsum(x145, (0, 1), (0, 1)) - del x145 - x668 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x668 += einsum(x667, (0, 1), t3.bbbbbb, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 6, 1)) * 6.0 - del x667 - x669 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x669 += einsum(x666, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -6.0 - del x666 - x669 += einsum(x668, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -1.0 - del x668 - t3new_bbbbbb += einsum(x669, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - t3new_bbbbbb += einsum(x669, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - t3new_bbbbbb += einsum(x669, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) - del x669 - x670 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x670 += einsum(x210, (0, 1, 2, 3), (1, 0, 3, 2)) - del x210 - x670 += einsum(x171, (0, 1, 2, 3), (0, 1, 2, 3)) - x671 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x671 += einsum(x670, (0, 1, 2, 3), t3.bbbbbb, (4, 2, 3, 5, 6, 7), (4, 0, 1, 5, 6, 7)) * -6.0 - del x670 - x672 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x672 += einsum(x417, (0, 1), t3.bbbbbb, (2, 3, 0, 4, 5, 6), (2, 3, 1, 4, 5, 6)) * 6.0 - del x417 - x673 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x673 += einsum(x671, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) - del x671 - x673 += einsum(x672, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -1.0 - del x672 - t3new_bbbbbb += einsum(x673, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) - t3new_bbbbbb += einsum(x673, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -1.0 - t3new_bbbbbb += einsum(x673, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * -1.0 - del x673 - x674 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x674 += einsum(x403, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x403 - x674 += einsum(x404, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.3333333333333333 - del x404 - x675 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x675 += einsum(t2.bbbb, (0, 1, 2, 3), x674, (4, 5, 6, 3), (4, 0, 1, 5, 6, 2)) * -12.0 - del x674 - x676 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x676 += einsum(v.aabb.ovoo, (0, 1, 2, 3), t3.babbab, (4, 0, 5, 6, 1, 7), (4, 5, 2, 3, 6, 7)) - x677 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x677 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x677 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - x678 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x678 += einsum(x677, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 0, 6, 7, 3), (4, 5, 1, 2, 6, 7)) - del x677 - x679 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x679 += einsum(x676, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -0.3333333333333333 - del x676 - x679 += einsum(x678, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 - del x678 - x680 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x680 += einsum(t1.bb, (0, 1), x679, (2, 3, 0, 4, 5, 6), (2, 3, 4, 5, 6, 1)) * 6.0 - del x679 - x681 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x681 += einsum(x675, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -1.0 - del x675 - x681 += einsum(x680, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) - del x680 - t3new_bbbbbb += einsum(x681, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - t3new_bbbbbb += einsum(x681, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - t3new_bbbbbb += einsum(x681, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) - t3new_bbbbbb += einsum(x681, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 - t3new_bbbbbb += einsum(x681, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) - t3new_bbbbbb += einsum(x681, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 - t3new_bbbbbb += einsum(x681, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -1.0 - t3new_bbbbbb += einsum(x681, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) - t3new_bbbbbb += einsum(x681, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -1.0 - del x681 - x682 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x682 += einsum(t2.bbbb, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0000000000000204 - x682 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1)) * -1.0 - x683 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x683 += einsum(x682, (0, 1, 2, 3), x7, (0, 4, 2, 5), (4, 1, 5, 3)) * 0.4999999999999949 - del x7, x682 - x684 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x684 += einsum(x111, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.49999999999999983 - del x111 - x684 += einsum(x683, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x683 - x685 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x685 += einsum(x684, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 1, 6, 7, 3), (4, 5, 0, 6, 7, 2)) * 12.000000000000123 - del x684 - x686 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x686 += einsum(t2.abab, (0, 1, 2, 3), x11, (0, 4, 2, 5), (1, 3, 4, 5)) * 0.5 - del x11 - x687 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x687 += einsum(v.aabb.ovov, (0, 1, 2, 3), x315, (2, 4, 3, 5), (4, 5, 0, 1)) - del x315 - x688 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x688 += einsum(x686, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x686 - x688 += einsum(x687, (0, 1, 2, 3), (0, 1, 2, 3)) - del x687 - x689 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x689 += einsum(x688, (0, 1, 2, 3), t3.babbab, (4, 2, 5, 6, 3, 7), (0, 4, 5, 1, 6, 7)) * 4.00000000000004 - del x688 - x690 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x690 += einsum(x685, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) - del x685 - x690 += einsum(x689, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - del x689 - t3new_bbbbbb += einsum(x690, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - t3new_bbbbbb += einsum(x690, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - t3new_bbbbbb += einsum(x690, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) - t3new_bbbbbb += einsum(x690, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) - t3new_bbbbbb += einsum(x690, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -1.0 - t3new_bbbbbb += einsum(x690, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) - t3new_bbbbbb += einsum(x690, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -1.0 - t3new_bbbbbb += einsum(x690, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) - t3new_bbbbbb += einsum(x690, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -1.0 - del x690 - x691 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x691 += einsum(x184, (0, 1, 2, 3), t3.bbbbbb, (4, 2, 3, 5, 6, 7), (0, 4, 1, 5, 6, 7)) - del x184 - t3new_bbbbbb += einsum(x691, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 6.0 - t3new_bbbbbb += einsum(x691, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -6.0 - t3new_bbbbbb += einsum(x691, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -6.0 - t3new_bbbbbb += einsum(x691, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * 6.0 - t3new_bbbbbb += einsum(x691, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 6.0 - t3new_bbbbbb += einsum(x691, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -6.0 - del x691 - x692 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x692 += einsum(t1.bb, (0, 1), v.bbbb.oovv, (2, 3, 4, 1), (0, 2, 3, 4)) - x693 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x693 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ooov, (4, 5, 1, 3), (0, 4, 5, 2)) - x694 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x694 += einsum(x692, (0, 1, 2, 3), (0, 2, 1, 3)) - del x692 - x694 += einsum(x693, (0, 1, 2, 3), (0, 2, 1, 3)) * 2.0 - del x693 - x694 += einsum(x186, (0, 1, 2, 3), (0, 2, 1, 3)) - del x186 - x695 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x695 += einsum(t1.bb, (0, 1), x171, (2, 3, 0, 4), (3, 2, 4, 1)) - del x171 - x696 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x696 += einsum(t2.bbbb, (0, 1, 2, 3), x412, (4, 5, 1, 3), (4, 5, 0, 2)) * 2.0 - del x412 - x697 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x697 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x697 += einsum(x177, (0, 1, 2, 3), (1, 0, 2, 3)) - del x177 - x698 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x698 += einsum(t1.bb, (0, 1), x697, (2, 3, 1, 4), (2, 3, 0, 4)) - del x697 - x699 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x699 += einsum(v.bbbb.ooov, (0, 1, 2, 3), x113, (1, 4, 3, 5), (4, 0, 2, 5)) * 2.0 - del x113 - x700 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x700 += einsum(x695, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x695 - x700 += einsum(x187, (0, 1, 2, 3), (0, 1, 2, 3)) - del x187 - x700 += einsum(x696, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x696 - x700 += einsum(x698, (0, 1, 2, 3), (2, 1, 0, 3)) - del x698 - x700 += einsum(x699, (0, 1, 2, 3), (0, 1, 2, 3)) - del x699 - x701 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x701 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x701 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) - x701 += einsum(x694, (0, 1, 2, 3), (0, 1, 2, 3)) - x701 += einsum(x694, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x694 - x701 += einsum(x700, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x701 += einsum(x700, (0, 1, 2, 3), (1, 0, 2, 3)) - del x700 - x701 += einsum(x185, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x701 += einsum(x185, (0, 1, 2, 3), (1, 0, 2, 3)) - del x185 - x701 += einsum(x170, (0, 1, 2, 3), (2, 1, 0, 3)) - del x170 - x701 += einsum(x480, (0, 1, 2, 3), (1, 0, 2, 3)) - del x480 - x702 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x702 += einsum(t2.bbbb, (0, 1, 2, 3), x701, (4, 5, 1, 6), (4, 5, 0, 6, 2, 3)) * -2.0 - del x701 - t3new_bbbbbb += einsum(x702, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) - t3new_bbbbbb += einsum(x702, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - t3new_bbbbbb += einsum(x702, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) - t3new_bbbbbb += einsum(x702, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) - t3new_bbbbbb += einsum(x702, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) - t3new_bbbbbb += einsum(x702, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -1.0 - t3new_bbbbbb += einsum(x702, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -1.0 - t3new_bbbbbb += einsum(x702, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - t3new_bbbbbb += einsum(x702, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 - del x702 - - t1new.aa = t1new_aa - t1new.bb = t1new_bb - t2new.aaaa = t2new_aaaa - t2new.abab = t2new_abab - t2new.bbbb = t2new_bbbb - t3new.aaaaaa = t3new_aaaaaa - t3new.abaaba = t3new_abaaba - t3new.babbab = t3new_babbab - t3new.bbbbbb = t3new_bbbbbb - - return {"t1new": t1new, "t2new": t2new, "t3new": t3new} - -def update_lams(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, t3=None, l1=None, l2=None, l3=None, **kwargs): - l1new = Namespace() - l2new = Namespace() - l3new = Namespace() - - # L amplitudes - l1new_bb = np.zeros((nvir[1], nocc[1]), dtype=types[float]) - l1new_bb += einsum(f.bb.ov, (0, 1), (1, 0)) - l1new_bb += einsum(l2.bbbb, (0, 1, 2, 3), v.bbbb.ovvv, (3, 0, 4, 1), (4, 2)) * -2.0 - l1new_aa = np.zeros((nvir[0], nocc[0]), dtype=types[float]) - l1new_aa += einsum(f.aa.ov, (0, 1), (1, 0)) - l2new_aaaa = np.zeros((nvir[0], nvir[0], nocc[0], nocc[0]), dtype=types[float]) - l2new_aaaa += einsum(l2.aaaa, (0, 1, 2, 3), v.aaaa.vvvv, (4, 1, 5, 0), (4, 5, 2, 3)) * -2.0 - l2new_abab = np.zeros((nvir[0], nvir[1], nocc[0], nocc[1]), dtype=types[float]) - l2new_abab += einsum(l1.aa, (0, 1), v.aabb.vvov, (2, 0, 3, 4), (2, 4, 1, 3)) - l2new_abab += einsum(v.aabb.ovov, (0, 1, 2, 3), (1, 3, 0, 2)) - l2new_abab += einsum(l1.bb, (0, 1), v.aabb.ovvv, (2, 3, 4, 0), (3, 4, 2, 1)) - l2new_abab += einsum(l2.abab, (0, 1, 2, 3), v.aabb.vvvv, (4, 0, 5, 1), (4, 5, 2, 3)) - l2new_bbbb = np.zeros((nvir[1], nvir[1], nocc[1], nocc[1]), dtype=types[float]) - l2new_bbbb += einsum(l2.bbbb, (0, 1, 2, 3), v.bbbb.vvvv, (4, 0, 5, 1), (4, 5, 2, 3)) * 2.0 - l3new_aaaaaa = np.zeros((nvir[0], nvir[0], nvir[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - l3new_aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (0, 5, 3, 1, 2, 4)) * -1.0 - l3new_aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (0, 3, 5, 1, 2, 4)) - l3new_aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (5, 0, 3, 1, 2, 4)) - l3new_aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (3, 0, 5, 1, 2, 4)) * -1.0 - l3new_aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (5, 3, 0, 1, 2, 4)) * -1.0 - l3new_aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (3, 5, 0, 1, 2, 4)) - l3new_aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (0, 5, 3, 2, 1, 4)) - l3new_aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (0, 3, 5, 2, 1, 4)) * -1.0 - l3new_aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (5, 0, 3, 2, 1, 4)) * -1.0 - l3new_aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (3, 0, 5, 2, 1, 4)) - l3new_aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (5, 3, 0, 2, 1, 4)) - l3new_aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (3, 5, 0, 2, 1, 4)) * -1.0 - l3new_aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (0, 5, 3, 2, 4, 1)) * -1.0 - l3new_aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (0, 3, 5, 2, 4, 1)) - l3new_aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (5, 0, 3, 2, 4, 1)) - l3new_aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (3, 0, 5, 2, 4, 1)) * -1.0 - l3new_aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (5, 3, 0, 2, 4, 1)) * -1.0 - l3new_aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (3, 5, 0, 2, 4, 1)) - l3new_babbab = np.zeros((nvir[1], nvir[0], nvir[1], nocc[1], nocc[0], nocc[1]), dtype=types[float]) - l3new_babbab += einsum(v.bbbb.vvvv, (0, 1, 2, 3), l3.babbab, (3, 4, 1, 5, 6, 7), (0, 4, 2, 5, 6, 7)) * -2.0 - l3new_abaaba = np.zeros((nvir[0], nvir[1], nvir[0], nocc[0], nocc[1], nocc[0]), dtype=types[float]) - l3new_abaaba += einsum(v.aaaa.vvvv, (0, 1, 2, 3), l3.abaaba, (1, 4, 3, 5, 6, 7), (0, 4, 2, 5, 6, 7)) * 2.0 - l3new_bbbbbb = np.zeros((nvir[1], nvir[1], nvir[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - l3new_bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (0, 5, 3, 1, 2, 4)) * -1.0 - l3new_bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (0, 3, 5, 1, 2, 4)) - l3new_bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (5, 0, 3, 1, 2, 4)) - l3new_bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (3, 0, 5, 1, 2, 4)) * -1.0 - l3new_bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (5, 3, 0, 1, 2, 4)) * -1.0 - l3new_bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (3, 5, 0, 1, 2, 4)) - l3new_bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (0, 5, 3, 2, 1, 4)) - l3new_bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (0, 3, 5, 2, 1, 4)) * -1.0 - l3new_bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (5, 0, 3, 2, 1, 4)) * -1.0 - l3new_bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (3, 0, 5, 2, 1, 4)) - l3new_bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (5, 3, 0, 2, 1, 4)) - l3new_bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (3, 5, 0, 2, 1, 4)) * -1.0 - l3new_bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (0, 5, 3, 2, 4, 1)) * -1.0 - l3new_bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (0, 3, 5, 2, 4, 1)) - l3new_bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (5, 0, 3, 2, 4, 1)) - l3new_bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (3, 0, 5, 2, 4, 1)) * -1.0 - l3new_bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (5, 3, 0, 2, 4, 1)) * -1.0 - l3new_bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (3, 5, 0, 2, 4, 1)) - x0 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x0 += einsum(t2.bbbb, (0, 1, 2, 3), l3.bbbbbb, (4, 5, 3, 6, 0, 1), (6, 4, 5, 2)) - l1new_bb += einsum(v.bbbb.vvvv, (0, 1, 2, 3), x0, (4, 3, 1, 2), (0, 4)) * -6.0 - x1 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x1 += einsum(t1.bb, (0, 1), l2.bbbb, (2, 1, 3, 4), (3, 4, 0, 2)) - x2 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x2 += einsum(t1.bb, (0, 1), x1, (2, 3, 4, 1), (3, 2, 4, 0)) - l1new_bb += einsum(v.bbbb.ooov, (0, 1, 2, 3), x2, (4, 1, 0, 2), (3, 4)) * -2.0 - x3 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x3 += einsum(t1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) - x4 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x4 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x4 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) - x4 += einsum(x3, (0, 1, 2, 3), (0, 1, 2, 3)) - x4 += einsum(x3, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x5 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x5 += einsum(t1.bb, (0, 1), v.aabb.ovov, (2, 3, 4, 1), (0, 4, 2, 3)) - l2new_abab += einsum(x1, (0, 1, 2, 3), x5, (1, 2, 4, 5), (5, 3, 4, 0)) * -2.0 - x6 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x6 += einsum(v.aabb.ovoo, (0, 1, 2, 3), (2, 3, 0, 1)) - x6 += einsum(x5, (0, 1, 2, 3), (0, 1, 2, 3)) - l2new_abab += einsum(l1.bb, (0, 1), x6, (1, 2, 3, 4), (4, 0, 3, 2)) * -1.0 - x7 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x7 += einsum(t1.aa, (0, 1), v.aabb.ovov, (2, 1, 3, 4), (3, 4, 0, 2)) - x8 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x8 += einsum(v.aabb.ooov, (0, 1, 2, 3), (2, 3, 0, 1)) - x8 += einsum(x7, (0, 1, 2, 3), (0, 1, 3, 2)) - x9 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x9 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 5), (1, 4, 3, 5)) - x10 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x10 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x10 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x11 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x11 += einsum(t2.bbbb, (0, 1, 2, 3), x10, (1, 4, 3, 5), (0, 4, 2, 5)) * 2.0 - x12 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x12 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x12 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) - x13 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x13 += einsum(t1.bb, (0, 1), x12, (2, 3, 1, 4), (0, 2, 3, 4)) - x14 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x14 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x14 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x14 += einsum(x9, (0, 1, 2, 3), (0, 1, 2, 3)) - x14 += einsum(x11, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x14 += einsum(x13, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x15 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x15 += einsum(t1.aa, (0, 1), v.aabb.vvov, (2, 1, 3, 4), (3, 4, 0, 2)) - l2new_abab += einsum(l2.aaaa, (0, 1, 2, 3), x15, (4, 5, 3, 1), (0, 5, 2, 4)) * 2.0 - x16 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x16 += einsum(t2.aaaa, (0, 1, 2, 3), v.aabb.ovov, (1, 3, 4, 5), (4, 5, 0, 2)) - x17 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x17 += einsum(t2.abab, (0, 1, 2, 3), x10, (1, 4, 3, 5), (4, 5, 0, 2)) - x18 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x18 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) - x18 += einsum(x15, (0, 1, 2, 3), (0, 1, 2, 3)) - x18 += einsum(x16, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x18 += einsum(x17, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x19 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x19 += einsum(t1.aa, (0, 1), v.aabb.ovov, (0, 1, 2, 3), (2, 3)) - x20 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x20 += einsum(t1.bb, (0, 1), x10, (0, 2, 1, 3), (2, 3)) - x21 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x21 += einsum(f.bb.ov, (0, 1), (0, 1)) - x21 += einsum(x19, (0, 1), (0, 1)) - x21 += einsum(x20, (0, 1), (0, 1)) * -1.0 - l2new_abab += einsum(l1.aa, (0, 1), x21, (2, 3), (0, 3, 1, 2)) - l3new_babbab += einsum(x21, (0, 1), l2.abab, (2, 3, 4, 5), (1, 2, 3, 0, 4, 5)) - l3new_babbab += einsum(x21, (0, 1), l2.abab, (2, 3, 4, 5), (3, 2, 1, 5, 4, 0)) - l3new_babbab += einsum(x21, (0, 1), l2.abab, (2, 3, 4, 5), (3, 2, 1, 0, 4, 5)) * -1.0 - l3new_babbab += einsum(x21, (0, 1), l2.abab, (2, 3, 4, 5), (1, 2, 3, 5, 4, 0)) * -1.0 - l3new_abaaba += einsum(x21, (0, 1), l2.aaaa, (2, 3, 4, 5), (2, 1, 3, 4, 0, 5)) * 2.0 - l3new_bbbbbb += einsum(x21, (0, 1), l2.bbbb, (2, 3, 4, 5), (2, 3, 1, 4, 5, 0)) * 2.0 - l3new_bbbbbb += einsum(x21, (0, 1), l2.bbbb, (2, 3, 4, 5), (2, 3, 1, 0, 4, 5)) * 2.0 - l3new_bbbbbb += einsum(x21, (0, 1), l2.bbbb, (2, 3, 4, 5), (2, 1, 3, 4, 0, 5)) * 2.0 - l3new_bbbbbb += einsum(x21, (0, 1), l2.bbbb, (2, 3, 4, 5), (1, 2, 3, 4, 5, 0)) * 2.0 - l3new_bbbbbb += einsum(x21, (0, 1), l2.bbbb, (2, 3, 4, 5), (1, 2, 3, 0, 4, 5)) * 2.0 - l3new_bbbbbb += einsum(x21, (0, 1), l2.bbbb, (2, 3, 4, 5), (2, 3, 1, 4, 0, 5)) * -2.0 - l3new_bbbbbb += einsum(x21, (0, 1), l2.bbbb, (2, 3, 4, 5), (2, 1, 3, 4, 5, 0)) * -2.0 - l3new_bbbbbb += einsum(x21, (0, 1), l2.bbbb, (2, 3, 4, 5), (2, 1, 3, 0, 4, 5)) * -2.0 - l3new_bbbbbb += einsum(x21, (0, 1), l2.bbbb, (2, 3, 4, 5), (1, 2, 3, 4, 0, 5)) * -2.0 - x22 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x22 += einsum(t1.bb, (0, 1), v.aabb.vvov, (2, 3, 4, 1), (0, 4, 2, 3)) - x23 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x23 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 4, 5, 3), (1, 5, 2, 4)) - x24 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x24 += einsum(v.aabb.vvoo, (0, 1, 2, 3), (2, 3, 0, 1)) - x24 += einsum(x22, (0, 1, 2, 3), (0, 1, 3, 2)) - x24 += einsum(x23, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x25 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x25 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 2, 5, 3), (0, 1, 4, 5)) - x26 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x26 += einsum(t1.bb, (0, 1), x3, (2, 3, 4, 1), (0, 2, 3, 4)) - x27 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x27 += einsum(t1.bb, (0, 1), v.bbbb.ooov, (2, 3, 4, 1), (0, 2, 3, 4)) - x28 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x28 += einsum(v.bbbb.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x28 += einsum(x25, (0, 1, 2, 3), (3, 1, 2, 0)) - x28 += einsum(x26, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - x28 += einsum(x27, (0, 1, 2, 3), (2, 0, 3, 1)) * -1.0 - x28 += einsum(x27, (0, 1, 2, 3), (3, 0, 2, 1)) - x29 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x29 += einsum(t1.aa, (0, 1), v.aabb.ovoo, (2, 1, 3, 4), (3, 4, 0, 2)) - x30 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x30 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 5, 3), (1, 5, 0, 4)) - x31 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x31 += einsum(v.aabb.ooov, (0, 1, 2, 3), (2, 3, 0, 1)) - x31 += einsum(x7, (0, 1, 2, 3), (0, 1, 2, 3)) - l2new_abab += einsum(l1.aa, (0, 1), x31, (2, 3, 1, 4), (0, 3, 4, 2)) * -1.0 - x32 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x32 += einsum(t1.bb, (0, 1), x31, (2, 1, 3, 4), (0, 2, 3, 4)) - x33 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x33 += einsum(v.aabb.oooo, (0, 1, 2, 3), (2, 3, 0, 1)) - x33 += einsum(x29, (0, 1, 2, 3), (1, 0, 3, 2)) - x33 += einsum(x30, (0, 1, 2, 3), (0, 1, 3, 2)) - x33 += einsum(x32, (0, 1, 2, 3), (0, 1, 3, 2)) - x34 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x34 += einsum(v.bbbb.ovov, (0, 1, 2, 3), t3.babbab, (4, 5, 6, 3, 7, 1), (4, 6, 0, 2, 5, 7)) * -1.0 - l2new_bbbb += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), x34, (3, 5, 6, 7, 4, 1), (0, 2, 6, 7)) * 1.9999999999999203 - x35 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x35 += einsum(t2.abab, (0, 1, 2, 3), v.bbbb.ooov, (4, 5, 6, 3), (1, 4, 5, 6, 0, 2)) - x36 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x36 += einsum(t2.abab, (0, 1, 2, 3), x3, (4, 5, 6, 3), (4, 1, 6, 5, 0, 2)) - x37 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x37 += einsum(x34, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -0.9999999999999601 - del x34 - x37 += einsum(x35, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) - x37 += einsum(x35, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) * -1.0 - del x35 - x37 += einsum(x36, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - x37 += einsum(x36, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 - del x36 - x38 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x38 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.babbab, (4, 5, 6, 7, 1, 3), (4, 6, 2, 7, 5, 0)) - l2new_abab += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), x38, (5, 3, 6, 2, 4, 7), (1, 0, 7, 6)) * 1.9999999999999194 - x39 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x39 += einsum(v.aabb.ovoo, (0, 1, 2, 3), (2, 3, 0, 1)) - x39 += einsum(x5, (0, 1, 2, 3), (1, 0, 2, 3)) - x40 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x40 += einsum(t2.abab, (0, 1, 2, 3), x39, (4, 5, 6, 2), (1, 4, 5, 3, 0, 6)) - x41 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x41 += einsum(x38, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 0.9999999999999597 - x41 += einsum(t2.bbbb, (0, 1, 2, 3), x31, (4, 3, 5, 6), (0, 1, 4, 2, 6, 5)) - x41 += einsum(x40, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) * -1.0 - x42 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x42 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), t3.babbab, (4, 5, 6, 3, 7, 1), (0, 4, 6, 2, 5, 7)) * -0.9999999999999601 - x42 += einsum(v.aabb.vvov, (0, 1, 2, 3), t3.babbab, (4, 5, 6, 7, 1, 3), (2, 4, 6, 7, 5, 0)) * -0.9999999999999597 - x42 += einsum(x4, (0, 1, 2, 3), t3.babbab, (4, 5, 1, 6, 7, 3), (2, 4, 0, 6, 5, 7)) * -2.0 - x42 += einsum(x6, (0, 1, 2, 3), t3.abaaba, (4, 5, 2, 6, 7, 3), (1, 5, 0, 7, 4, 6)) * -2.0 - x42 += einsum(x8, (0, 1, 2, 3), t3.babbab, (4, 2, 5, 6, 7, 1), (0, 4, 5, 6, 3, 7)) - x42 += einsum(t2.abab, (0, 1, 2, 3), x14, (4, 5, 6, 3), (5, 1, 4, 6, 0, 2)) - x42 += einsum(t2.bbbb, (0, 1, 2, 3), x18, (4, 3, 5, 6), (4, 0, 1, 2, 5, 6)) * -1.0 - x42 += einsum(x21, (0, 1), t3.babbab, (2, 3, 4, 5, 6, 1), (0, 2, 4, 5, 3, 6)) * -0.9999999999999597 - x42 += einsum(t2.abab, (0, 1, 2, 3), x24, (4, 5, 2, 6), (5, 1, 4, 3, 0, 6)) * -1.0 - x42 += einsum(t2.abab, (0, 1, 2, 3), x28, (1, 4, 5, 6), (5, 6, 4, 3, 0, 2)) * -1.0 - x42 += einsum(t2.abab, (0, 1, 2, 3), x33, (4, 5, 0, 6), (5, 1, 4, 3, 6, 2)) - x42 += einsum(t1.bb, (0, 1), x37, (2, 3, 4, 0, 5, 6), (4, 3, 2, 1, 5, 6)) - del x37 - x42 += einsum(t1.aa, (0, 1), x41, (2, 3, 4, 5, 0, 6), (4, 3, 2, 5, 6, 1)) * -1.0 - del x41 - l1new_bb += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), x42, (6, 3, 5, 2, 4, 1), (0, 6)) * -2.0 - del x42 - x43 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x43 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x43 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x43 += einsum(x3, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x43 += einsum(x3, (0, 1, 2, 3), (0, 2, 1, 3)) - x44 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x44 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.abaaba, (4, 5, 6, 7, 3, 1), (5, 2, 4, 6, 0, 7)) - l2new_abab += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), x44, (4, 6, 5, 3, 7, 2), (0, 1, 7, 6)) * 1.9999999999999194 - x45 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x45 += einsum(t2.aaaa, (0, 1, 2, 3), x39, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) * -1.0 - x46 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x46 += einsum(x44, (0, 1, 2, 3, 4, 5), (0, 1, 3, 4, 2, 5)) * 0.9999999999999597 - x46 += einsum(t2.abab, (0, 1, 2, 3), x31, (4, 3, 5, 6), (1, 4, 0, 6, 5, 2)) * -1.0 - x46 += einsum(x45, (0, 1, 2, 3, 4, 5), (1, 0, 3, 4, 2, 5)) * -1.0 - x47 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x47 += einsum(v.aabb.vvov, (0, 1, 2, 3), t3.abaaba, (4, 5, 6, 7, 3, 1), (2, 5, 4, 6, 7, 0)) * -1.9999999999999194 - x47 += einsum(x43, (0, 1, 2, 3), t3.abaaba, (4, 2, 5, 6, 3, 7), (1, 0, 4, 5, 6, 7)) * -1.0 - x47 += einsum(x6, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 2, 6, 7, 3), (1, 0, 4, 5, 6, 7)) * -3.0 - x47 += einsum(x8, (0, 1, 2, 3), t3.abaaba, (4, 5, 2, 6, 1, 7), (0, 5, 4, 3, 6, 7)) * 2.0 - x47 += einsum(t2.abab, (0, 1, 2, 3), x18, (4, 3, 5, 6), (4, 1, 0, 5, 2, 6)) * -2.0 - del x18 - x47 += einsum(x21, (0, 1), t3.abaaba, (2, 3, 4, 5, 1, 6), (0, 3, 2, 4, 5, 6)) * -0.9999999999999601 - x47 += einsum(t2.aaaa, (0, 1, 2, 3), x24, (4, 5, 3, 6), (5, 4, 0, 1, 2, 6)) * -2.0 - del x24 - x47 += einsum(t2.aaaa, (0, 1, 2, 3), x33, (4, 5, 1, 6), (5, 4, 0, 6, 2, 3)) * 2.0 - del x33 - x47 += einsum(t1.aa, (0, 1), x46, (2, 3, 4, 0, 5, 6), (3, 2, 4, 5, 6, 1)) * -2.0 - del x46 - l1new_bb += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), x47, (6, 4, 3, 5, 0, 2), (1, 6)) - del x47 - x48 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x48 += einsum(v.bbbb.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x48 += einsum(x25, (0, 1, 2, 3), (3, 1, 2, 0)) - x48 += einsum(x26, (0, 1, 2, 3), (3, 1, 2, 0)) - x48 += einsum(x27, (0, 1, 2, 3), (2, 1, 3, 0)) - x48 += einsum(x27, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 - x49 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x49 += einsum(v.bbbb.ovov, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 6, 7, 3, 1), (4, 5, 6, 0, 2, 7)) * -1.0 - l2new_bbbb += einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), x49, (5, 4, 3, 6, 7, 2), (0, 1, 6, 7)) * -5.9999999999997575 - x50 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x50 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ooov, (4, 5, 6, 3), (0, 1, 4, 5, 6, 2)) - x51 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x51 += einsum(t2.bbbb, (0, 1, 2, 3), x3, (4, 5, 6, 3), (4, 0, 1, 6, 5, 2)) - x52 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x52 += einsum(x49, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -0.9999999999999596 - del x49 - x52 += einsum(x50, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 - x52 += einsum(x50, (0, 1, 2, 3, 4, 5), (0, 1, 3, 4, 2, 5)) - del x50 - x52 += einsum(x51, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) * -1.0 - x52 += einsum(x51, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) - del x51 - x53 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x53 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 6, 7, 1, 3), (0, 4, 5, 6, 7, 2)) * -0.9999999999999596 - x53 += einsum(x43, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 2, 6, 7, 3), (1, 4, 0, 5, 6, 7)) * -1.5 - del x43 - x53 += einsum(x6, (0, 1, 2, 3), t3.babbab, (4, 2, 5, 6, 3, 7), (1, 4, 0, 5, 6, 7)) * -0.5 - x53 += einsum(t2.bbbb, (0, 1, 2, 3), x14, (4, 5, 6, 3), (5, 0, 4, 1, 2, 6)) - del x14 - x53 += einsum(x21, (0, 1), t3.bbbbbb, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) * 0.4999999999999798 - x53 += einsum(t2.bbbb, (0, 1, 2, 3), x48, (1, 4, 5, 6), (5, 0, 6, 4, 2, 3)) - x53 += einsum(t1.bb, (0, 1), x52, (2, 3, 4, 5, 0, 6), (5, 3, 4, 2, 6, 1)) - del x52 - l1new_bb += einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), x53, (6, 3, 5, 4, 2, 1), (0, 6)) * -6.0 - del x53 - x54 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x54 += einsum(l2.bbbb, (0, 1, 2, 3), t2.abab, (4, 3, 5, 1), (2, 0, 4, 5)) - x55 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x55 += einsum(l2.abab, (0, 1, 2, 3), t2.aaaa, (4, 2, 5, 0), (3, 1, 4, 5)) - x56 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x56 += einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), t3.babbab, (4, 6, 5, 1, 7, 2), (3, 0, 6, 7)) - x57 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x57 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.abaaba, (6, 5, 4, 7, 2, 1), (3, 0, 6, 7)) - x58 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x58 += einsum(t1.aa, (0, 1), l3.babbab, (2, 1, 3, 4, 5, 6), (4, 6, 2, 3, 5, 0)) - x59 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x59 += einsum(t2.abab, (0, 1, 2, 3), x58, (4, 1, 5, 3, 0, 6), (4, 5, 6, 2)) - x60 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x60 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.aaaaaa, (6, 3, 5, 7, 0, 2), (4, 1, 6, 7)) - x61 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x61 += einsum(t1.aa, (0, 1), l3.abaaba, (2, 3, 1, 4, 5, 6), (5, 3, 4, 6, 0, 2)) - x62 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x62 += einsum(t2.aaaa, (0, 1, 2, 3), x61, (4, 5, 0, 1, 6, 3), (4, 5, 6, 2)) * -1.0 - x63 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x63 += einsum(t1.aa, (0, 1), l2.abab, (1, 2, 3, 4), (4, 2, 3, 0)) - l2new_abab += einsum(x5, (0, 1, 2, 3), x63, (0, 4, 5, 2), (3, 4, 5, 1)) - x64 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x64 += einsum(t2.abab, (0, 1, 2, 3), l3.babbab, (4, 2, 3, 5, 6, 1), (5, 4, 6, 0)) - x65 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x65 += einsum(t2.aaaa, (0, 1, 2, 3), l3.abaaba, (2, 4, 3, 5, 6, 1), (6, 4, 5, 0)) - x66 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x66 += einsum(x63, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - x66 += einsum(x64, (0, 1, 2, 3), (0, 1, 2, 3)) - x66 += einsum(x65, (0, 1, 2, 3), (0, 1, 2, 3)) - l2new_abab += einsum(v.aabb.ovvv, (0, 1, 2, 3), x66, (4, 3, 5, 0), (1, 2, 5, 4)) * -2.0 - l2new_abab += einsum(v.aabb.ovoo, (0, 1, 2, 3), x66, (3, 4, 5, 0), (1, 4, 5, 2)) * 2.0 - x67 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x67 += einsum(l2.abab, (0, 1, 2, 3), (3, 1, 2, 0)) - x67 += einsum(x54, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x67 += einsum(x55, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x67 += einsum(x56, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0 - x67 += einsum(x57, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.0 - x67 += einsum(x59, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - x67 += einsum(x60, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0 - x67 += einsum(x62, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - x67 += einsum(t1.aa, (0, 1), x66, (2, 3, 0, 4), (2, 3, 4, 1)) * -2.0 - l1new_bb += einsum(v.aabb.ovvv, (0, 1, 2, 3), x67, (4, 3, 0, 1), (2, 4)) - del x67 - x68 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x68 += einsum(t2.abab, (0, 1, 2, 3), l3.babbab, (4, 5, 3, 6, 0, 1), (6, 4, 5, 2)) - x69 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x69 += einsum(t2.aaaa, (0, 1, 2, 3), l3.abaaba, (4, 5, 3, 0, 6, 1), (6, 5, 4, 2)) - x70 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x70 += einsum(t1.aa, (0, 1), l2.abab, (2, 3, 0, 4), (4, 3, 2, 1)) * 0.5 - x70 += einsum(x68, (0, 1, 2, 3), (0, 1, 2, 3)) - x70 += einsum(x69, (0, 1, 2, 3), (0, 1, 2, 3)) - l1new_bb += einsum(v.aabb.vvvv, (0, 1, 2, 3), x70, (4, 3, 0, 1), (2, 4)) * 2.0 - del x70 - x71 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x71 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x71 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) - x72 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x72 += einsum(t1.bb, (0, 1), l3.bbbbbb, (2, 3, 1, 4, 5, 6), (4, 5, 6, 0, 2, 3)) - l3new_babbab += einsum(v.aabb.ovoo, (0, 1, 2, 3), x72, (4, 2, 5, 3, 6, 7), (6, 1, 7, 5, 0, 4)) * -6.0 - l3new_babbab += einsum(x5, (0, 1, 2, 3), x72, (0, 4, 5, 1, 6, 7), (7, 3, 6, 4, 2, 5)) * 6.0 - x73 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x73 += einsum(t2.bbbb, (0, 1, 2, 3), x72, (0, 4, 1, 5, 6, 3), (4, 5, 6, 2)) - x74 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x74 += einsum(t1.bb, (0, 1), l3.babbab, (2, 3, 1, 4, 5, 6), (4, 6, 0, 2, 5, 3)) - l2new_abab += einsum(x22, (0, 1, 2, 3), x74, (0, 4, 1, 5, 6, 3), (2, 5, 6, 4)) * 2.0 - x75 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x75 += einsum(t2.abab, (0, 1, 2, 3), x74, (4, 1, 5, 6, 0, 2), (4, 5, 6, 3)) - x76 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x76 += einsum(t2.bbbb, (0, 1, 2, 3), l3.bbbbbb, (4, 2, 3, 5, 6, 1), (5, 6, 0, 4)) - x77 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x77 += einsum(t2.abab, (0, 1, 2, 3), l3.babbab, (4, 2, 3, 5, 0, 6), (5, 6, 1, 4)) - x78 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x78 += einsum(x1, (0, 1, 2, 3), (1, 0, 2, 3)) - x78 += einsum(x76, (0, 1, 2, 3), (0, 1, 2, 3)) * -3.0 - x78 += einsum(x77, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - l1new_bb += einsum(v.bbbb.oovv, (0, 1, 2, 3), x78, (0, 4, 1, 3), (2, 4)) * -2.0 - x79 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x79 += einsum(x73, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0 - x79 += einsum(x75, (0, 1, 2, 3), (0, 1, 2, 3)) - x79 += einsum(t1.bb, (0, 1), x78, (0, 2, 3, 4), (2, 3, 4, 1)) - l1new_bb += einsum(x71, (0, 1, 2, 3), x79, (4, 0, 2, 1), (3, 4)) * 2.0 - del x79 - x80 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x80 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) - x80 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x81 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x81 += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 3, 5, 1), (2, 4, 0, 5)) - x82 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x82 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 5), (3, 4, 1, 5)) - x83 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x83 += einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), t3.bbbbbb, (6, 4, 5, 7, 1, 2), (3, 6, 0, 7)) - x84 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x84 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (6, 4, 5, 7, 1, 2), (3, 6, 0, 7)) - x85 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x85 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (3, 6, 5, 0, 7, 2), (4, 6, 1, 7)) - x86 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x86 += einsum(x81, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.0 - x86 += einsum(x82, (0, 1, 2, 3), (0, 1, 2, 3)) - x86 += einsum(x83, (0, 1, 2, 3), (0, 1, 2, 3)) * 9.0 - x86 += einsum(x84, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.0 - x86 += einsum(x85, (0, 1, 2, 3), (0, 1, 2, 3)) - l1new_bb += einsum(x80, (0, 1, 2, 3), x86, (4, 0, 2, 1), (3, 4)) - del x86 - x87 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x87 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 5, 1), (3, 4, 0, 5)) - x88 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x88 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (6, 4, 5, 0, 7, 2), (3, 6, 1, 7)) - x89 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x89 += einsum(t2.abab, (0, 1, 2, 3), x74, (4, 1, 5, 3, 0, 6), (4, 5, 6, 2)) * -1.0 - x90 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x90 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (3, 6, 5, 7, 1, 2), (4, 6, 0, 7)) - x91 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x91 += einsum(t1.bb, (0, 1), l3.abaaba, (2, 1, 3, 4, 5, 6), (5, 0, 4, 6, 2, 3)) - l3new_abaaba += einsum(x21, (0, 1), x91, (2, 0, 3, 4, 5, 6), (5, 1, 6, 4, 2, 3)) * 2.0 - x92 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x92 += einsum(t2.aaaa, (0, 1, 2, 3), x91, (4, 5, 0, 1, 3, 6), (4, 5, 6, 2)) * -1.0 - x93 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x93 += einsum(t1.bb, (0, 1), l2.abab, (2, 1, 3, 4), (4, 0, 3, 2)) - l2new_abab += einsum(x7, (0, 1, 2, 3), x93, (4, 0, 2, 5), (5, 1, 3, 4)) - x94 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x94 += einsum(t2.bbbb, (0, 1, 2, 3), l3.babbab, (2, 4, 3, 5, 6, 1), (5, 0, 6, 4)) - x95 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x95 += einsum(t2.abab, (0, 1, 2, 3), l3.abaaba, (4, 3, 2, 5, 6, 0), (6, 1, 5, 4)) - x96 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x96 += einsum(x93, (0, 1, 2, 3), (0, 1, 2, 3)) - x96 += einsum(x94, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x96 += einsum(x95, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x97 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x97 += einsum(x87, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - x97 += einsum(x88, (0, 1, 2, 3), (0, 1, 2, 3)) - x97 += einsum(x89, (0, 1, 2, 3), (0, 1, 3, 2)) - x97 += einsum(x90, (0, 1, 2, 3), (0, 1, 2, 3)) - x97 += einsum(x92, (0, 1, 2, 3), (0, 1, 3, 2)) - x97 += einsum(t1.aa, (0, 1), x96, (2, 3, 0, 4), (2, 3, 1, 4)) * 0.5 - l1new_bb += einsum(v.aabb.vvov, (0, 1, 2, 3), x97, (4, 2, 1, 0), (3, 4)) * -2.0 - del x97 - x98 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x98 += einsum(t1.bb, (0, 1), x58, (2, 3, 4, 1, 5, 6), (2, 3, 0, 4, 5, 6)) - x99 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x99 += einsum(t1.bb, (0, 1), x61, (2, 1, 3, 4, 5, 6), (2, 0, 3, 4, 5, 6)) - x100 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x100 += einsum(x68, (0, 1, 2, 3), (0, 1, 2, 3)) - del x68 - x100 += einsum(x69, (0, 1, 2, 3), (0, 1, 2, 3)) - del x69 - l2new_abab += einsum(v.aabb.ovvv, (0, 1, 2, 3), x100, (4, 3, 5, 1), (5, 2, 0, 4)) * -2.0 - l2new_abab += einsum(x100, (0, 1, 2, 3), x6, (0, 4, 5, 3), (2, 1, 5, 4)) * 2.0 - x101 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x101 += einsum(x63, (0, 1, 2, 3), (0, 1, 2, 3)) - x101 += einsum(x64, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x101 += einsum(x65, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - l1new_bb += einsum(v.aabb.oovv, (0, 1, 2, 3), x101, (4, 3, 0, 1), (2, 4)) * -1.0 - x102 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x102 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 5, 0, 1), (3, 5, 2, 4)) - x103 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x103 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (6, 7, 5, 0, 1, 2), (3, 6, 4, 7)) - x104 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x104 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (6, 7, 5, 0, 1, 2), (4, 7, 3, 6)) - x105 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x105 += einsum(t1.bb, (0, 1), x101, (2, 1, 3, 4), (0, 2, 3, 4)) - x106 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x106 += einsum(x94, (0, 1, 2, 3), (0, 1, 2, 3)) - x106 += einsum(x95, (0, 1, 2, 3), (0, 1, 2, 3)) - x107 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x107 += einsum(t1.aa, (0, 1), x106, (2, 3, 4, 1), (2, 3, 0, 4)) * 2.0 - x108 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x108 += einsum(x102, (0, 1, 2, 3), (0, 1, 2, 3)) - x108 += einsum(x103, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.9999999999999194 - x108 += einsum(x104, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.9999999999999194 - x108 += einsum(x105, (0, 1, 2, 3), (1, 0, 2, 3)) - x108 += einsum(x107, (0, 1, 2, 3), (0, 1, 3, 2)) - l2new_abab += einsum(v.aabb.ovov, (0, 1, 2, 3), x108, (4, 2, 5, 0), (1, 3, 5, 4)) - x109 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x109 += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 3, 0, 1), (2, 4)) - x110 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x110 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 1), (3, 4)) - x111 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x111 += einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), t3.bbbbbb, (6, 4, 5, 0, 1, 2), (3, 6)) - x112 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x112 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (6, 4, 5, 0, 1, 2), (3, 6)) - x113 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x113 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (3, 6, 5, 0, 1, 2), (4, 6)) - x114 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x114 += einsum(x109, (0, 1), (0, 1)) - x114 += einsum(x110, (0, 1), (0, 1)) * 0.5 - x114 += einsum(x111, (0, 1), (0, 1)) * 1.4999999999999394 - x114 += einsum(x112, (0, 1), (0, 1)) * 0.9999999999999597 - x114 += einsum(x113, (0, 1), (0, 1)) * 0.49999999999998007 - x115 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x115 += einsum(l1.bb, (0, 1), t2.abab, (2, 3, 4, 0), (1, 3, 2, 4)) - x115 += einsum(x93, (0, 1, 2, 3), (0, 1, 2, 3)) - x115 += einsum(l2.bbbb, (0, 1, 2, 3), t3.babbab, (4, 5, 3, 0, 6, 1), (2, 4, 5, 6)) * 2.0 - x115 += einsum(x94, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x115 += einsum(l2.abab, (0, 1, 2, 3), t3.abaaba, (4, 5, 2, 6, 1, 0), (3, 5, 4, 6)) * 2.0 - x115 += einsum(x95, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x115 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x72, (6, 0, 2, 7, 5, 3), (6, 7, 1, 4)) * -3.0 - x115 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x74, (6, 1, 7, 4, 2, 5), (6, 7, 0, 3)) * -4.0 - x115 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x58, (6, 2, 5, 3, 1, 7), (6, 0, 7, 4)) * 2.0 - x115 += einsum(t2.abab, (0, 1, 2, 3), x98, (4, 1, 5, 3, 0, 6), (4, 5, 6, 2)) * 2.0 - x115 += einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), x91, (6, 7, 2, 1, 5, 4), (6, 7, 0, 3)) * 3.0 - x115 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x61, (6, 4, 2, 0, 7, 5), (6, 1, 7, 3)) * -2.0 - x115 += einsum(t2.aaaa, (0, 1, 2, 3), x99, (4, 5, 1, 0, 6, 3), (4, 5, 6, 2)) * -2.0 - x115 += einsum(t2.abab, (0, 1, 2, 3), x100, (4, 3, 2, 5), (4, 1, 0, 5)) * -2.0 - x115 += einsum(t2.abab, (0, 1, 2, 3), x78, (1, 4, 5, 3), (4, 5, 0, 2)) * -2.0 - x115 += einsum(t2.aaaa, (0, 1, 2, 3), x96, (4, 5, 1, 3), (4, 5, 0, 2)) * 2.0 - x115 += einsum(t2.abab, (0, 1, 2, 3), x101, (4, 3, 0, 5), (4, 1, 5, 2)) * -1.0 - x115 += einsum(t1.aa, (0, 1), x108, (2, 3, 0, 4), (2, 3, 4, 1)) * -1.0 - x115 += einsum(t1.aa, (0, 1), x114, (2, 3), (2, 3, 0, 1)) * 2.0 - l1new_bb += einsum(v.aabb.ovov, (0, 1, 2, 3), x115, (4, 2, 0, 1), (3, 4)) * -1.0 - del x115 - x116 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x116 += einsum(t2.abab, (0, 1, 2, 3), l3.babbab, (4, 2, 5, 6, 0, 1), (6, 4, 5, 3)) - x117 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x117 += einsum(t1.bb, (0, 1), l2.bbbb, (2, 3, 4, 0), (4, 2, 3, 1)) - x117 += einsum(x116, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - l1new_bb += einsum(v.bbbb.vvvv, (0, 1, 2, 3), x117, (4, 1, 2, 3), (0, 4)) * 2.0 - del x117 - x118 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x118 += einsum(t1.aa, (0, 1), v.aabb.vvoo, (2, 1, 3, 4), (3, 4, 0, 2)) - x119 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x119 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.vvov, (4, 2, 5, 3), (1, 5, 0, 4)) - x120 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x120 += einsum(v.bbbb.ovov, (0, 1, 2, 3), t3.babbab, (4, 5, 2, 1, 6, 3), (4, 0, 5, 6)) - x121 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x121 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.abaaba, (4, 5, 0, 6, 3, 1), (5, 2, 4, 6)) - x122 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x122 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x122 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) - x122 += einsum(x3, (0, 1, 2, 3), (1, 0, 2, 3)) - x122 += einsum(x3, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - x123 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x123 += einsum(t2.abab, (0, 1, 2, 3), x122, (4, 5, 1, 3), (4, 5, 0, 2)) - x124 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x124 += einsum(t2.aaaa, (0, 1, 2, 3), x39, (4, 5, 1, 3), (4, 5, 0, 2)) * 2.0 - x125 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x125 += einsum(t2.abab, (0, 1, 2, 3), x8, (4, 3, 0, 5), (1, 4, 5, 2)) - x126 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x126 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) - x126 += einsum(x15, (0, 1, 2, 3), (0, 1, 2, 3)) - x127 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x127 += einsum(t1.bb, (0, 1), x126, (2, 1, 3, 4), (0, 2, 3, 4)) - x128 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x128 += einsum(v.aabb.oooo, (0, 1, 2, 3), (2, 3, 0, 1)) - x128 += einsum(x29, (0, 1, 2, 3), (1, 0, 3, 2)) - x128 += einsum(x30, (0, 1, 2, 3), (1, 0, 3, 2)) - x128 += einsum(x32, (0, 1, 2, 3), (1, 0, 3, 2)) - del x32 - x129 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x129 += einsum(t1.aa, (0, 1), x128, (2, 3, 0, 4), (2, 3, 4, 1)) - x130 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x130 += einsum(v.aabb.ovoo, (0, 1, 2, 3), (2, 3, 0, 1)) - x130 += einsum(x118, (0, 1, 2, 3), (1, 0, 2, 3)) - x130 += einsum(x119, (0, 1, 2, 3), (0, 1, 2, 3)) - x130 += einsum(x120, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x130 += einsum(x121, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x130 += einsum(x123, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x130 += einsum(x124, (0, 1, 2, 3), (1, 0, 2, 3)) - x130 += einsum(x125, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x130 += einsum(x21, (0, 1), t2.abab, (2, 3, 4, 1), (3, 0, 2, 4)) - x130 += einsum(x127, (0, 1, 2, 3), (0, 1, 2, 3)) - x130 += einsum(x129, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - l1new_bb += einsum(l2.abab, (0, 1, 2, 3), x130, (3, 4, 2, 0), (1, 4)) * -1.0 - del x130 - x131 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x131 += einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), x72, (6, 2, 1, 7, 4, 5), (6, 7, 0, 3)) * -1.0 - x132 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x132 += einsum(t1.bb, (0, 1), x72, (2, 3, 4, 5, 6, 1), (2, 3, 4, 0, 5, 6)) - x133 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x133 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x74, (6, 2, 7, 5, 1, 4), (6, 7, 0, 3)) * -1.0 - x134 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x134 += einsum(t1.bb, (0, 1), x74, (2, 3, 4, 1, 5, 6), (2, 3, 0, 4, 5, 6)) - x135 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x135 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x91, (6, 7, 0, 2, 3, 5), (6, 7, 1, 4)) - x136 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x136 += einsum(x0, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x136 += einsum(x116, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.3333333333333333 - x137 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x137 += einsum(x1, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x137 += einsum(x76, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0 - x137 += einsum(x77, (0, 1, 2, 3), (0, 1, 2, 3)) - l2new_abab += einsum(v.aabb.ovoo, (0, 1, 2, 3), x137, (2, 4, 3, 5), (1, 5, 0, 4)) * 2.0 - x138 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x138 += einsum(t2.bbbb, (0, 1, 2, 3), x137, (4, 1, 5, 3), (0, 4, 5, 2)) * 4.0 - x139 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x139 += einsum(x93, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - x139 += einsum(x94, (0, 1, 2, 3), (0, 1, 2, 3)) - del x94 - x139 += einsum(x95, (0, 1, 2, 3), (0, 1, 2, 3)) - del x95 - l1new_aa += einsum(v.aabb.vvoo, (0, 1, 2, 3), x139, (2, 3, 4, 1), (0, 4)) * -2.0 - l2new_abab += einsum(v.aabb.vvov, (0, 1, 2, 3), x139, (4, 2, 5, 1), (0, 3, 5, 4)) * -2.0 - l2new_abab += einsum(v.aabb.ooov, (0, 1, 2, 3), x139, (4, 2, 1, 5), (5, 3, 0, 4)) * 2.0 - l2new_abab += einsum(x21, (0, 1), x139, (2, 0, 3, 4), (4, 1, 3, 2)) * -2.0 - x140 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x140 += einsum(t2.abab, (0, 1, 2, 3), x139, (4, 5, 0, 2), (1, 4, 5, 3)) * 2.0 - x141 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x141 += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 5, 0, 1), (2, 3, 4, 5)) - x142 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x142 += einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), t3.bbbbbb, (6, 7, 5, 0, 1, 2), (3, 4, 6, 7)) - x143 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x143 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (6, 4, 7, 0, 1, 2), (3, 5, 6, 7)) - l2new_bbbb += einsum(v.bbbb.ovov, (0, 1, 2, 3), x143, (4, 5, 0, 2), (1, 3, 4, 5)) * 1.9999999999999203 - x144 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x144 += einsum(x141, (0, 1, 2, 3), (1, 0, 3, 2)) - x144 += einsum(x142, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.9999999999998788 - x144 += einsum(x143, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.9999999999999601 - x144 += einsum(t1.bb, (0, 1), x137, (2, 3, 4, 1), (2, 3, 0, 4)) - x145 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x145 += einsum(x1, (0, 1, 2, 3), (1, 0, 2, 3)) * -2.0 - x145 += einsum(l2.bbbb, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 3, 6, 0, 1), (4, 2, 5, 6)) * 6.0 - x145 += einsum(x76, (0, 1, 2, 3), (0, 1, 2, 3)) * 6.0 - x145 += einsum(x77, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x145 += einsum(x131, (0, 1, 2, 3), (2, 0, 1, 3)) * 9.0 - x145 += einsum(t2.bbbb, (0, 1, 2, 3), x132, (4, 0, 1, 5, 6, 3), (5, 4, 6, 2)) * 6.0 - x145 += einsum(x133, (0, 1, 2, 3), (2, 0, 1, 3)) * 4.0 - x145 += einsum(t2.abab, (0, 1, 2, 3), x134, (4, 1, 5, 6, 0, 2), (5, 4, 6, 3)) * 2.0 - x145 += einsum(x135, (0, 1, 2, 3), (2, 0, 1, 3)) - x145 += einsum(t2.bbbb, (0, 1, 2, 3), x136, (4, 3, 2, 5), (0, 4, 1, 5)) * -6.0 - x145 += einsum(x138, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x145 += einsum(x140, (0, 1, 2, 3), (0, 1, 2, 3)) - x145 += einsum(t1.bb, (0, 1), x144, (0, 2, 3, 4), (4, 2, 3, 1)) * 2.0 - del x144 - x145 += einsum(t1.bb, (0, 1), x114, (2, 3), (0, 2, 3, 1)) * 2.0 - l1new_bb += einsum(v.bbbb.ovov, (0, 1, 2, 3), x145, (0, 4, 2, 1), (3, 4)) * -1.0 - del x145 - x146 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x146 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovvv, (4, 2, 5, 3), (0, 1, 4, 5)) - x147 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x147 += einsum(v.bbbb.ovov, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 2, 6, 1, 3), (4, 5, 0, 6)) - x148 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x148 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.babbab, (4, 0, 5, 6, 1, 3), (4, 5, 2, 6)) - x149 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x149 += einsum(t2.bbbb, (0, 1, 2, 3), x4, (4, 5, 1, 3), (0, 4, 5, 2)) * 2.0 - del x4 - x150 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x150 += einsum(t2.abab, (0, 1, 2, 3), x6, (4, 5, 0, 2), (1, 4, 5, 3)) - x151 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x151 += einsum(x21, (0, 1), t2.bbbb, (2, 3, 4, 1), (2, 3, 0, 4)) * -1.0 - x152 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x152 += einsum(t1.bb, (0, 1), v.bbbb.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) - x153 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x153 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x153 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x153 += einsum(x152, (0, 1, 2, 3), (0, 1, 2, 3)) - x154 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x154 += einsum(t1.bb, (0, 1), x153, (2, 3, 1, 4), (0, 2, 3, 4)) - del x153 - x155 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x155 += einsum(t1.bb, (0, 1), x28, (0, 2, 3, 4), (2, 3, 4, 1)) - del x28 - x156 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x156 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x156 += einsum(x146, (0, 1, 2, 3), (2, 1, 0, 3)) - x156 += einsum(x147, (0, 1, 2, 3), (2, 1, 0, 3)) * -3.0 - x156 += einsum(x148, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - x156 += einsum(x149, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - x156 += einsum(x150, (0, 1, 2, 3), (2, 0, 1, 3)) - x156 += einsum(x151, (0, 1, 2, 3), (2, 1, 0, 3)) - x156 += einsum(x154, (0, 1, 2, 3), (2, 1, 0, 3)) - x156 += einsum(x155, (0, 1, 2, 3), (1, 2, 0, 3)) - l1new_bb += einsum(l2.bbbb, (0, 1, 2, 3), x156, (4, 2, 3, 1), (0, 4)) * 2.0 - del x156 - x157 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x157 += einsum(x76, (0, 1, 2, 3), (0, 1, 2, 3)) - x157 += einsum(x77, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.3333333333333333 - x158 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x158 += einsum(t1.bb, (0, 1), x157, (2, 3, 4, 1), (0, 2, 3, 4)) - x159 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x159 += einsum(l1.bb, (0, 1), t2.bbbb, (2, 3, 4, 0), (1, 2, 3, 4)) * 2.0 - x159 += einsum(l2.abab, (0, 1, 2, 3), t3.babbab, (4, 2, 5, 6, 0, 1), (3, 4, 5, 6)) * 2.0 - x159 += einsum(x131, (0, 1, 2, 3), (0, 2, 1, 3)) * 9.0 - del x131 - x159 += einsum(x133, (0, 1, 2, 3), (0, 2, 1, 3)) * 4.0 - del x133 - x159 += einsum(x135, (0, 1, 2, 3), (0, 2, 1, 3)) - del x135 - x159 += einsum(x138, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x138 - x159 += einsum(x140, (0, 1, 2, 3), (1, 0, 2, 3)) - del x140 - x159 += einsum(t1.bb, (0, 1), x158, (2, 3, 0, 4), (3, 4, 2, 1)) * -6.0 - x159 += einsum(t1.bb, (0, 1), x114, (2, 3), (2, 0, 3, 1)) * 2.0 - del x114 - l1new_bb += einsum(v.bbbb.ovov, (0, 1, 2, 3), x159, (4, 0, 2, 3), (1, 4)) - del x159 - x160 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x160 += einsum(l1.bb, (0, 1), t1.bb, (1, 2), (0, 2)) - x161 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x161 += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (2, 3, 4, 1), (0, 4)) - x162 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x162 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 0, 4), (1, 4)) - x163 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x163 += einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), t3.bbbbbb, (3, 4, 5, 6, 1, 2), (0, 6)) - x164 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x164 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (3, 4, 5, 6, 1, 2), (0, 6)) - x165 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x165 += einsum(x160, (0, 1), (0, 1)) - x165 += einsum(x161, (0, 1), (0, 1)) * 2.0 - x165 += einsum(x162, (0, 1), (0, 1)) - x165 += einsum(x163, (0, 1), (0, 1)) * 2.9999999999998788 - x165 += einsum(x164, (0, 1), (0, 1)) * 1.9999999999999194 - l1new_bb += einsum(x165, (0, 1), x12, (2, 3, 1, 0), (3, 2)) * -1.0 - del x165 - x166 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x166 += einsum(l1.bb, (0, 1), t2.bbbb, (2, 1, 3, 0), (2, 3)) - x167 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x167 += einsum(l1.aa, (0, 1), t2.abab, (1, 2, 0, 3), (2, 3)) - x168 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x168 += einsum(l2.bbbb, (0, 1, 2, 3), t3.bbbbbb, (4, 2, 3, 5, 0, 1), (4, 5)) - x169 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x169 += einsum(l2.abab, (0, 1, 2, 3), t3.babbab, (4, 2, 3, 5, 0, 1), (4, 5)) - x170 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x170 += einsum(l2.aaaa, (0, 1, 2, 3), t3.abaaba, (2, 4, 3, 0, 5, 1), (4, 5)) - x171 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x171 += einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), x72, (0, 1, 2, 6, 4, 5), (6, 3)) - x172 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x172 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x74, (0, 2, 6, 5, 1, 4), (6, 3)) * -1.0 - x173 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x173 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x91, (1, 6, 0, 2, 3, 5), (6, 4)) - x174 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x174 += einsum(x1, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x174 += einsum(x76, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.9999999999999996 - x174 += einsum(x77, (0, 1, 2, 3), (0, 1, 2, 3)) - x175 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x175 += einsum(l1.bb, (0, 1), t1.bb, (2, 0), (1, 2)) - x176 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x176 += einsum(x175, (0, 1), (0, 1)) - x176 += einsum(x109, (0, 1), (0, 1)) * 2.0 - x176 += einsum(x110, (0, 1), (0, 1)) - x176 += einsum(x111, (0, 1), (0, 1)) * 2.9999999999998783 - x176 += einsum(x112, (0, 1), (0, 1)) * 1.9999999999999192 - x176 += einsum(x113, (0, 1), (0, 1)) * 0.99999999999996 - x177 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x177 += einsum(t1.bb, (0, 1), (0, 1)) * -0.5000000000000202 - x177 += einsum(x166, (0, 1), (0, 1)) * -1.0000000000000404 - x177 += einsum(x167, (0, 1), (0, 1)) * -0.5000000000000202 - x177 += einsum(x168, (0, 1), (0, 1)) * -1.5000000000000604 - x177 += einsum(x169, (0, 1), (0, 1)) * -1.0000000000000404 - x177 += einsum(x170, (0, 1), (0, 1)) * -0.5000000000000202 - x177 += einsum(x171, (0, 1), (0, 1)) * 1.4999999999999998 - x177 += einsum(x172, (0, 1), (0, 1)) - x177 += einsum(x173, (0, 1), (0, 1)) * 0.5000000000000002 - x177 += einsum(t2.bbbb, (0, 1, 2, 3), x174, (0, 1, 4, 3), (4, 2)) * -1.0000000000000404 - del x174 - x177 += einsum(t2.abab, (0, 1, 2, 3), x139, (1, 4, 0, 2), (4, 3)) * 1.0000000000000404 - x177 += einsum(t1.bb, (0, 1), x176, (0, 2), (2, 1)) * 0.5000000000000202 - del x176 - x178 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x178 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x178 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - l1new_bb += einsum(x177, (0, 1), x178, (0, 2, 1, 3), (3, 2)) * -1.9999999999999194 - del x177, x178 - x179 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x179 += einsum(l1.aa, (0, 1), t1.aa, (1, 2), (0, 2)) - x180 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x180 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 4, 1), (0, 4)) - x181 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x181 += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (2, 3, 4, 1), (0, 4)) - x182 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x182 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (3, 4, 5, 0, 6, 2), (1, 6)) - x183 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x183 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (3, 4, 5, 6, 1, 2), (0, 6)) - x184 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x184 += einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), t3.aaaaaa, (3, 4, 5, 6, 1, 2), (0, 6)) - x185 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x185 += einsum(x179, (0, 1), (0, 1)) * 1.00000000000004 - x185 += einsum(x180, (0, 1), (0, 1)) * 1.00000000000004 - x185 += einsum(x181, (0, 1), (0, 1)) * 2.00000000000008 - x185 += einsum(x182, (0, 1), (0, 1)) - x185 += einsum(x183, (0, 1), (0, 1)) * 1.9999999999999991 - x185 += einsum(x184, (0, 1), (1, 0)) * 2.9999999999999982 - l1new_bb += einsum(x185, (0, 1), v.aabb.vvov, (1, 0, 2, 3), (3, 2)) * 0.9999999999999601 - del x185 - x186 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x186 += einsum(l1.bb, (0, 1), t2.abab, (2, 1, 3, 0), (2, 3)) - x187 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x187 += einsum(l1.aa, (0, 1), t2.aaaa, (2, 1, 3, 0), (2, 3)) - x188 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x188 += einsum(l2.bbbb, (0, 1, 2, 3), t3.babbab, (2, 4, 3, 0, 5, 1), (4, 5)) - x189 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x189 += einsum(l2.abab, (0, 1, 2, 3), t3.abaaba, (4, 3, 2, 5, 1, 0), (4, 5)) - x190 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x190 += einsum(l2.aaaa, (0, 1, 2, 3), t3.aaaaaa, (4, 2, 3, 5, 0, 1), (4, 5)) - x191 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x191 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x58, (0, 2, 3, 5, 1, 6), (6, 4)) - x192 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x192 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x61, (1, 4, 0, 2, 6, 5), (6, 3)) * -1.0 - x193 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x193 += einsum(t1.aa, (0, 1), l3.aaaaaa, (2, 3, 1, 4, 5, 6), (4, 5, 6, 0, 2, 3)) - l3new_abaaba += einsum(v.aabb.ooov, (0, 1, 2, 3), x193, (4, 0, 5, 1, 6, 7), (6, 3, 7, 5, 2, 4)) * -6.0 - l3new_abaaba += einsum(x7, (0, 1, 2, 3), x193, (2, 4, 5, 3, 6, 7), (6, 1, 7, 4, 0, 5)) * -6.0 - x194 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x194 += einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), x193, (0, 1, 2, 6, 4, 5), (6, 3)) - x195 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x195 += einsum(t1.aa, (0, 1), l2.aaaa, (2, 1, 3, 4), (3, 4, 0, 2)) - l2new_abab += einsum(x195, (0, 1, 2, 3), x7, (4, 5, 1, 2), (3, 5, 0, 4)) * -2.0 - x196 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x196 += einsum(t2.abab, (0, 1, 2, 3), l3.abaaba, (4, 3, 2, 5, 1, 6), (5, 6, 0, 4)) - x197 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x197 += einsum(t2.aaaa, (0, 1, 2, 3), l3.aaaaaa, (4, 2, 3, 5, 6, 1), (5, 6, 0, 4)) - x198 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x198 += einsum(x195, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.33333333333333337 - x198 += einsum(x196, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.33333333333333337 - x198 += einsum(x197, (0, 1, 2, 3), (0, 1, 2, 3)) - x199 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x199 += einsum(l1.aa, (0, 1), t1.aa, (2, 0), (1, 2)) - x200 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x200 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 0, 1), (2, 4)) - x201 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x201 += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 3, 0, 1), (2, 4)) - x202 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x202 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (3, 6, 5, 0, 1, 2), (4, 6)) - x203 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x203 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (6, 4, 5, 0, 1, 2), (3, 6)) - x204 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x204 += einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), t3.aaaaaa, (6, 4, 5, 0, 1, 2), (3, 6)) - x205 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x205 += einsum(x199, (0, 1), (0, 1)) - x205 += einsum(x200, (0, 1), (0, 1)) - x205 += einsum(x201, (0, 1), (0, 1)) * 2.0 - x205 += einsum(x202, (0, 1), (0, 1)) * 0.99999999999996 - x205 += einsum(x203, (0, 1), (0, 1)) * 1.9999999999999192 - x205 += einsum(x204, (0, 1), (0, 1)) * 2.9999999999998783 - x206 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x206 += einsum(l1.aa, (0, 1), (1, 0)) * -1.00000000000004 - x206 += einsum(t1.aa, (0, 1), (0, 1)) * -1.00000000000004 - x206 += einsum(x186, (0, 1), (0, 1)) * -1.00000000000004 - x206 += einsum(x187, (0, 1), (0, 1)) * -2.00000000000008 - x206 += einsum(x188, (0, 1), (0, 1)) * -1.00000000000004 - x206 += einsum(x189, (0, 1), (0, 1)) * -2.00000000000008 - x206 += einsum(x190, (0, 1), (0, 1)) * -3.0000000000001195 - x206 += einsum(x191, (0, 1), (0, 1)) - x206 += einsum(x192, (0, 1), (0, 1)) * 1.9999999999999991 - x206 += einsum(x194, (0, 1), (0, 1)) * 2.9999999999999982 - x206 += einsum(t2.abab, (0, 1, 2, 3), x66, (1, 3, 0, 4), (4, 2)) * 2.00000000000008 - x206 += einsum(t2.aaaa, (0, 1, 2, 3), x198, (0, 1, 4, 3), (4, 2)) * -6.000000000000239 - x206 += einsum(t1.aa, (0, 1), x205, (0, 2), (2, 1)) * 1.00000000000004 - l1new_bb += einsum(x206, (0, 1), v.aabb.ovov, (0, 1, 2, 3), (3, 2)) * -0.9999999999999601 - del x206 - x207 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x207 += einsum(x102, (0, 1, 2, 3), (0, 1, 2, 3)) - x207 += einsum(x103, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.9999999999999194 - x207 += einsum(x104, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.9999999999999194 - x207 += einsum(x105, (0, 1, 2, 3), (1, 0, 3, 2)) - del x105 - x207 += einsum(x107, (0, 1, 2, 3), (0, 1, 2, 3)) - del x107 - l1new_bb += einsum(v.aabb.ooov, (0, 1, 2, 3), x207, (4, 2, 1, 0), (3, 4)) - del x207 - x208 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x208 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x208 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - l2new_abab += einsum(x208, (0, 1, 2, 3), x96, (0, 1, 4, 5), (5, 3, 4, 2)) * -1.0 - l3new_abaaba += einsum(x208, (0, 1, 2, 3), x91, (0, 1, 4, 5, 6, 7), (6, 3, 7, 5, 2, 4)) * 2.0 - x209 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x209 += einsum(t1.bb, (0, 1), x157, (2, 3, 4, 1), (2, 3, 0, 4)) * 3.0 - l1new_bb += einsum(x208, (0, 1, 2, 3), x209, (4, 0, 2, 1), (3, 4)) * 2.0 - del x209 - x210 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x210 += einsum(x141, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.00000000000004 - x210 += einsum(x142, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.9999999999999982 - x210 += einsum(x143, (0, 1, 2, 3), (0, 1, 3, 2)) - del x143 - l1new_bb += einsum(v.bbbb.ooov, (0, 1, 2, 3), x210, (1, 4, 2, 0), (3, 4)) * 1.9999999999999203 - del x210 - x211 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x211 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (3, 4, 5, 0, 6, 2), (1, 6)) - l1new_bb += einsum(x211, (0, 1), x71, (2, 3, 0, 1), (3, 2)) * -0.9999999999999601 - x212 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x212 += einsum(x175, (0, 1), (0, 1)) * 0.5 - x212 += einsum(x109, (0, 1), (0, 1)) - x212 += einsum(x110, (0, 1), (0, 1)) * 0.5 - x212 += einsum(x111, (0, 1), (0, 1)) * 1.4999999999999394 - x212 += einsum(x112, (0, 1), (0, 1)) * 0.9999999999999597 - x213 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x213 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x213 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) - l1new_bb += einsum(x212, (0, 1), x213, (0, 2, 1, 3), (3, 2)) * -2.0 - del x212 - l1new_bb += einsum(x113, (0, 1), x213, (0, 1, 2, 3), (3, 2)) * 0.9999999999999601 - x214 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x214 += einsum(x199, (0, 1), (0, 1)) - x214 += einsum(x200, (0, 1), (0, 1)) - x214 += einsum(x201, (0, 1), (0, 1)) * 2.0 - x214 += einsum(x202, (0, 1), (0, 1)) * 0.9999999999999601 - x214 += einsum(x203, (0, 1), (0, 1)) * 1.9999999999999194 - x214 += einsum(x204, (0, 1), (1, 0)) * 2.9999999999998788 - l1new_bb += einsum(x214, (0, 1), v.aabb.ooov, (1, 0, 2, 3), (3, 2)) * -1.0 - del x214 - x215 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x215 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) - x215 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - l1new_bb += einsum(l1.bb, (0, 1), x215, (1, 2, 0, 3), (3, 2)) * -1.0 - del x215 - x216 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x216 += einsum(t1.aa, (0, 1), v.aabb.ovvv, (0, 1, 2, 3), (2, 3)) - x217 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x217 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) - x217 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x218 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x218 += einsum(f.bb.vv, (0, 1), (0, 1)) - x218 += einsum(x216, (0, 1), (1, 0)) - x218 += einsum(t1.bb, (0, 1), x217, (0, 2, 1, 3), (3, 2)) * -1.0 - l1new_bb += einsum(l1.bb, (0, 1), x218, (0, 2), (2, 1)) - del x218 - x219 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x219 += einsum(t1.aa, (0, 1), v.aabb.ovoo, (0, 1, 2, 3), (2, 3)) - x220 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x220 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 2, 1, 3), (0, 4)) - x221 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x221 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 3), (1, 4)) - x222 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x222 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x222 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) - x223 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x223 += einsum(t1.bb, (0, 1), x222, (2, 3, 0, 1), (2, 3)) - del x222 - x224 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x224 += einsum(t1.bb, (0, 1), x21, (2, 1), (0, 2)) - x225 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x225 += einsum(f.bb.oo, (0, 1), (0, 1)) - x225 += einsum(x219, (0, 1), (1, 0)) - x225 += einsum(x220, (0, 1), (0, 1)) * 2.0 - x225 += einsum(x221, (0, 1), (0, 1)) - x225 += einsum(x223, (0, 1), (1, 0)) * -1.0 - x225 += einsum(x224, (0, 1), (0, 1)) - del x224 - l1new_bb += einsum(l1.bb, (0, 1), x225, (1, 2), (0, 2)) * -1.0 - l2new_abab += einsum(x225, (0, 1), l2.abab, (2, 3, 4, 0), (2, 3, 4, 1)) * -1.0 - l3new_abaaba += einsum(x225, (0, 1), l3.abaaba, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) * -2.0 - del x225 - x226 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x226 += einsum(x175, (0, 1), (0, 1)) * 0.5000000000000202 - x226 += einsum(x109, (0, 1), (0, 1)) * 1.0000000000000404 - x226 += einsum(x110, (0, 1), (0, 1)) * 0.5000000000000202 - x226 += einsum(x111, (0, 1), (0, 1)) * 1.4999999999999998 - x226 += einsum(x112, (0, 1), (0, 1)) - x226 += einsum(x113, (0, 1), (0, 1)) * 0.5000000000000002 - l1new_bb += einsum(f.bb.ov, (0, 1), x226, (2, 0), (1, 2)) * -1.9999999999999194 - del x226 - x227 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x227 += einsum(x19, (0, 1), (0, 1)) - x227 += einsum(x20, (0, 1), (0, 1)) * -1.0 - l1new_bb += einsum(x175, (0, 1), x227, (1, 2), (2, 0)) * -1.0 - x228 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x228 += einsum(t2.aaaa, (0, 1, 2, 3), l3.aaaaaa, (4, 5, 3, 6, 0, 1), (6, 4, 5, 2)) - l1new_aa += einsum(v.aaaa.vvvv, (0, 1, 2, 3), x228, (4, 1, 2, 3), (0, 4)) * 6.0 - x229 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x229 += einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), t3.aaaaaa, (6, 7, 5, 0, 1, 2), (3, 4, 6, 7)) - l1new_aa += einsum(v.aaaa.ooov, (0, 1, 2, 3), x229, (1, 4, 2, 0), (3, 4)) * -5.9999999999997575 - x230 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x230 += einsum(t1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) - x231 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x231 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x231 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) - x231 += einsum(x230, (0, 1, 2, 3), (0, 1, 2, 3)) - x231 += einsum(x230, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x232 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x232 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (0, 4, 2, 5)) - x233 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x233 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x233 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x234 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x234 += einsum(t2.aaaa, (0, 1, 2, 3), x233, (1, 4, 5, 3), (0, 4, 2, 5)) * 2.0 - x235 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x235 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x235 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) - x236 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x236 += einsum(t1.aa, (0, 1), x235, (2, 3, 1, 4), (0, 2, 3, 4)) - x237 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x237 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x237 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x237 += einsum(x232, (0, 1, 2, 3), (0, 1, 2, 3)) - x237 += einsum(x234, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x237 += einsum(x236, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x238 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x238 += einsum(t1.bb, (0, 1), v.aabb.ovvv, (2, 3, 4, 1), (0, 4, 2, 3)) - l2new_abab += einsum(l2.bbbb, (0, 1, 2, 3), x238, (3, 1, 4, 5), (5, 0, 4, 2)) * 2.0 - x239 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x239 += einsum(t2.bbbb, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (0, 2, 4, 5)) - x240 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x240 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x240 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x241 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x241 += einsum(t2.abab, (0, 1, 2, 3), x240, (0, 4, 2, 5), (1, 3, 4, 5)) - x242 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x242 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) - x242 += einsum(x238, (0, 1, 2, 3), (0, 1, 2, 3)) - x242 += einsum(x239, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x242 += einsum(x241, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x243 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x243 += einsum(t1.bb, (0, 1), v.aabb.ovov, (2, 3, 0, 1), (2, 3)) - x244 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x244 += einsum(t1.aa, (0, 1), x240, (0, 2, 1, 3), (2, 3)) - x245 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x245 += einsum(f.aa.ov, (0, 1), (0, 1)) - x245 += einsum(x243, (0, 1), (0, 1)) - x245 += einsum(x244, (0, 1), (0, 1)) * -1.0 - l2new_abab += einsum(x245, (0, 1), x66, (2, 3, 4, 0), (1, 3, 4, 2)) * -2.0 - l2new_abab += einsum(l1.bb, (0, 1), x245, (2, 3), (3, 0, 2, 1)) - l3new_aaaaaa += einsum(x245, (0, 1), l2.aaaa, (2, 3, 4, 5), (2, 3, 1, 4, 5, 0)) * 2.0 - l3new_aaaaaa += einsum(x245, (0, 1), l2.aaaa, (2, 3, 4, 5), (2, 3, 1, 0, 4, 5)) * 2.0 - l3new_aaaaaa += einsum(x245, (0, 1), l2.aaaa, (2, 3, 4, 5), (2, 1, 3, 4, 0, 5)) * 2.0 - l3new_aaaaaa += einsum(x245, (0, 1), l2.aaaa, (2, 3, 4, 5), (1, 2, 3, 4, 5, 0)) * 2.0 - l3new_aaaaaa += einsum(x245, (0, 1), l2.aaaa, (2, 3, 4, 5), (1, 2, 3, 0, 4, 5)) * 2.0 - l3new_aaaaaa += einsum(x245, (0, 1), l2.aaaa, (2, 3, 4, 5), (2, 3, 1, 4, 0, 5)) * -2.0 - l3new_aaaaaa += einsum(x245, (0, 1), l2.aaaa, (2, 3, 4, 5), (2, 1, 3, 4, 5, 0)) * -2.0 - l3new_aaaaaa += einsum(x245, (0, 1), l2.aaaa, (2, 3, 4, 5), (2, 1, 3, 0, 4, 5)) * -2.0 - l3new_aaaaaa += einsum(x245, (0, 1), l2.aaaa, (2, 3, 4, 5), (1, 2, 3, 4, 0, 5)) * -2.0 - l3new_babbab += einsum(x245, (0, 1), x58, (2, 3, 4, 5, 6, 0), (4, 1, 5, 3, 6, 2)) * 2.0 - l3new_babbab += einsum(x245, (0, 1), l2.bbbb, (2, 3, 4, 5), (2, 1, 3, 4, 0, 5)) * 2.0 - l3new_abaaba += einsum(x245, (0, 1), l2.abab, (2, 3, 4, 5), (1, 3, 2, 0, 5, 4)) - l3new_abaaba += einsum(x245, (0, 1), l2.abab, (2, 3, 4, 5), (2, 3, 1, 4, 5, 0)) - l3new_abaaba += einsum(x245, (0, 1), l2.abab, (2, 3, 4, 5), (2, 3, 1, 0, 5, 4)) * -1.0 - l3new_abaaba += einsum(x245, (0, 1), l2.abab, (2, 3, 4, 5), (1, 3, 2, 4, 5, 0)) * -1.0 - x246 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x246 += einsum(t1.aa, (0, 1), v.aabb.ovvv, (2, 1, 3, 4), (3, 4, 0, 2)) - l2new_abab += einsum(x246, (0, 1, 2, 3), x61, (4, 1, 2, 5, 3, 6), (6, 0, 5, 4)) * 2.0 - x247 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x247 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 1, 5), (3, 5, 0, 4)) - x248 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x248 += einsum(v.aabb.oovv, (0, 1, 2, 3), (2, 3, 0, 1)) - x248 += einsum(x246, (0, 1, 2, 3), (1, 0, 2, 3)) - x248 += einsum(x247, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x249 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x249 += einsum(t1.bb, (0, 1), x8, (2, 1, 3, 4), (0, 2, 3, 4)) - x250 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x250 += einsum(v.aabb.oooo, (0, 1, 2, 3), (2, 3, 0, 1)) - x250 += einsum(x29, (0, 1, 2, 3), (1, 0, 2, 3)) - x250 += einsum(x30, (0, 1, 2, 3), (1, 0, 2, 3)) - x250 += einsum(x249, (0, 1, 2, 3), (1, 0, 3, 2)) - x251 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x251 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 2, 5, 3), (0, 1, 4, 5)) - x252 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x252 += einsum(t1.aa, (0, 1), x230, (2, 3, 4, 1), (0, 2, 3, 4)) - x253 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x253 += einsum(t1.aa, (0, 1), v.aaaa.ooov, (2, 3, 4, 1), (0, 2, 3, 4)) - x254 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x254 += einsum(v.aaaa.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x254 += einsum(x251, (0, 1, 2, 3), (3, 1, 2, 0)) - x254 += einsum(x252, (0, 1, 2, 3), (3, 1, 2, 0)) - x254 += einsum(x253, (0, 1, 2, 3), (2, 1, 3, 0)) - x254 += einsum(x253, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 - x255 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x255 += einsum(x44, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * 0.9999999999999597 - del x44 - x255 += einsum(t2.abab, (0, 1, 2, 3), x8, (4, 3, 5, 6), (1, 4, 0, 6, 5, 2)) * -1.0 - x255 += einsum(x45, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) * -1.0 - del x45 - x256 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x256 += einsum(v.aaaa.ovov, (0, 1, 2, 3), t3.abaaba, (4, 5, 6, 3, 7, 1), (5, 7, 4, 6, 0, 2)) * -1.0 - l2new_aaaa += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), x256, (4, 1, 5, 3, 6, 7), (0, 2, 6, 7)) * -1.9999999999999203 - x257 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x257 += einsum(t2.abab, (0, 1, 2, 3), v.aaaa.ooov, (4, 5, 6, 2), (1, 3, 0, 4, 5, 6)) - x258 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x258 += einsum(t2.abab, (0, 1, 2, 3), x230, (4, 5, 6, 2), (1, 3, 4, 0, 6, 5)) - x259 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x259 += einsum(x256, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * 0.9999999999999601 - del x256 - x259 += einsum(x257, (0, 1, 2, 3, 4, 5), (0, 1, 4, 2, 3, 5)) - x259 += einsum(x257, (0, 1, 2, 3, 4, 5), (0, 1, 4, 2, 5, 3)) * -1.0 - del x257 - x259 += einsum(x258, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - x259 += einsum(x258, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 - del x258 - x260 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x260 += einsum(v.aabb.ovvv, (0, 1, 2, 3), t3.abaaba, (4, 5, 6, 7, 3, 1), (5, 2, 0, 4, 6, 7)) * -0.9999999999999597 - x260 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), t3.abaaba, (4, 5, 6, 3, 7, 1), (5, 7, 0, 4, 6, 2)) * -0.9999999999999601 - x260 += einsum(x231, (0, 1, 2, 3), t3.abaaba, (4, 5, 1, 6, 7, 3), (5, 7, 2, 4, 0, 6)) * -2.0 - x260 += einsum(x31, (0, 1, 2, 3), t3.babbab, (4, 5, 0, 6, 7, 1), (4, 6, 3, 5, 2, 7)) * -2.0 - x260 += einsum(x39, (0, 1, 2, 3), t3.abaaba, (4, 0, 5, 6, 7, 3), (1, 7, 2, 4, 5, 6)) - x260 += einsum(t2.abab, (0, 1, 2, 3), x237, (4, 5, 6, 2), (1, 3, 5, 0, 4, 6)) - x260 += einsum(t2.aaaa, (0, 1, 2, 3), x242, (4, 5, 6, 3), (4, 5, 6, 0, 1, 2)) * -1.0 - x260 += einsum(x245, (0, 1), t3.abaaba, (2, 3, 4, 5, 6, 1), (3, 6, 0, 2, 4, 5)) * -0.9999999999999597 - x260 += einsum(t2.abab, (0, 1, 2, 3), x248, (3, 4, 5, 6), (1, 4, 6, 0, 5, 2)) * -1.0 - x260 += einsum(t2.abab, (0, 1, 2, 3), x250, (1, 4, 5, 6), (4, 3, 6, 0, 5, 2)) - x260 += einsum(t2.abab, (0, 1, 2, 3), x254, (0, 4, 5, 6), (1, 3, 5, 4, 6, 2)) - x260 += einsum(t1.bb, (0, 1), x255, (2, 0, 3, 4, 5, 6), (2, 1, 5, 3, 4, 6)) * -1.0 - del x255 - x260 += einsum(t1.aa, (0, 1), x259, (2, 3, 4, 5, 0, 6), (2, 3, 6, 5, 4, 1)) * -1.0 - del x259 - l1new_aa += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), x260, (4, 1, 6, 5, 3, 2), (0, 6)) * 2.0 - del x260 - x261 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x261 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x261 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) - x261 += einsum(x230, (0, 1, 2, 3), (1, 0, 2, 3)) - x261 += einsum(x230, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - x262 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x262 += einsum(x38, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 0.9999999999999597 - del x38 - x262 += einsum(t2.bbbb, (0, 1, 2, 3), x8, (4, 3, 5, 6), (0, 1, 4, 2, 6, 5)) - x262 += einsum(x40, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) - del x40 - x263 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x263 += einsum(v.aabb.ovvv, (0, 1, 2, 3), t3.babbab, (4, 5, 6, 7, 1, 3), (4, 6, 7, 2, 0, 5)) * -0.9999999999999597 - x263 += einsum(x261, (0, 1, 2, 3), t3.babbab, (4, 0, 5, 6, 3, 7), (4, 5, 6, 7, 2, 1)) * -0.5 - x263 += einsum(x31, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 0, 6, 7, 1), (4, 5, 6, 7, 3, 2)) * -1.5 - x263 += einsum(x39, (0, 1, 2, 3), t3.babbab, (4, 5, 0, 6, 3, 7), (4, 1, 6, 7, 2, 5)) - x263 += einsum(t2.abab, (0, 1, 2, 3), x242, (4, 5, 6, 2), (1, 4, 3, 5, 6, 0)) * -1.0 - del x242 - x263 += einsum(x245, (0, 1), t3.babbab, (2, 3, 4, 5, 1, 6), (2, 4, 5, 6, 0, 3)) * -0.49999999999998007 - x263 += einsum(t2.bbbb, (0, 1, 2, 3), x248, (3, 4, 5, 6), (0, 1, 2, 4, 6, 5)) * -1.0 - del x248 - x263 += einsum(t2.bbbb, (0, 1, 2, 3), x250, (1, 4, 5, 6), (0, 4, 2, 3, 6, 5)) - del x250 - x263 += einsum(t1.bb, (0, 1), x262, (2, 3, 0, 4, 5, 6), (2, 3, 4, 1, 6, 5)) - del x262 - l1new_aa += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), x263, (3, 5, 0, 2, 6, 4), (1, 6)) * 2.0 - del x263 - x264 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x264 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x264 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - x264 += einsum(x230, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x264 += einsum(x230, (0, 1, 2, 3), (2, 0, 1, 3)) - x265 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x265 += einsum(v.aaaa.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x265 += einsum(x251, (0, 1, 2, 3), (3, 1, 2, 0)) * -1.0 - x265 += einsum(x252, (0, 1, 2, 3), (2, 1, 3, 0)) - x265 += einsum(x253, (0, 1, 2, 3), (2, 0, 3, 1)) - x265 += einsum(x253, (0, 1, 2, 3), (3, 0, 2, 1)) * -1.0 - x266 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x266 += einsum(v.aaaa.ovov, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 6, 7, 1, 3), (4, 5, 6, 0, 2, 7)) - l2new_aaaa += einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), x266, (3, 4, 5, 6, 7, 2), (0, 1, 6, 7)) * 5.9999999999997575 - x267 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x267 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ooov, (4, 5, 6, 3), (0, 1, 4, 5, 6, 2)) - x268 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x268 += einsum(t2.aaaa, (0, 1, 2, 3), x230, (4, 5, 6, 3), (4, 0, 1, 6, 5, 2)) - x269 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x269 += einsum(x266, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -0.9999999999999596 - del x266 - x269 += einsum(x267, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 - x269 += einsum(x267, (0, 1, 2, 3, 4, 5), (0, 1, 3, 4, 2, 5)) - del x267 - x269 += einsum(x268, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) * -1.0 - x269 += einsum(x268, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) - del x268 - x270 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x270 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 6, 7, 3, 1), (0, 4, 5, 6, 7, 2)) * -0.9999999999999596 - x270 += einsum(x264, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 0, 6, 7, 3), (2, 4, 1, 5, 6, 7)) * -1.5 - del x264 - x270 += einsum(x31, (0, 1, 2, 3), t3.abaaba, (4, 0, 5, 6, 1, 7), (3, 4, 2, 5, 6, 7)) * 0.5 - x270 += einsum(t2.aaaa, (0, 1, 2, 3), x237, (4, 5, 6, 3), (5, 0, 4, 1, 2, 6)) * -1.0 - del x237 - x270 += einsum(x245, (0, 1), t3.aaaaaa, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) * -0.4999999999999798 - x270 += einsum(t2.aaaa, (0, 1, 2, 3), x265, (1, 4, 5, 6), (5, 0, 4, 6, 2, 3)) * -1.0 - del x265 - x270 += einsum(t1.aa, (0, 1), x269, (2, 3, 4, 5, 0, 6), (5, 3, 4, 2, 6, 1)) * -1.0 - del x269 - l1new_aa += einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), x270, (6, 4, 3, 5, 2, 1), (0, 6)) * 6.0 - del x270 - x271 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x271 += einsum(l2.abab, (0, 1, 2, 3), t2.bbbb, (4, 3, 5, 1), (4, 5, 2, 0)) - x272 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x272 += einsum(l2.aaaa, (0, 1, 2, 3), t2.abab, (3, 4, 1, 5), (4, 5, 2, 0)) - x273 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x273 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.bbbbbb, (6, 3, 5, 7, 0, 2), (6, 7, 4, 1)) - x274 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x274 += einsum(t2.bbbb, (0, 1, 2, 3), x74, (0, 1, 4, 3, 5, 6), (4, 2, 5, 6)) * -1.0 - x275 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x275 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.babbab, (6, 5, 4, 7, 2, 1), (6, 7, 3, 0)) - x276 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x276 += einsum(t2.abab, (0, 1, 2, 3), x91, (1, 4, 5, 0, 2, 6), (4, 3, 5, 6)) * -1.0 - x277 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x277 += einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), t3.abaaba, (4, 6, 5, 1, 7, 2), (6, 7, 3, 0)) - x278 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x278 += einsum(l2.abab, (0, 1, 2, 3), (3, 1, 2, 0)) - x278 += einsum(x271, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x278 += einsum(x272, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x278 += einsum(x273, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0 - x278 += einsum(x274, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - x278 += einsum(x275, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.0 - x278 += einsum(x276, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - x278 += einsum(x277, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0 - x278 += einsum(t1.bb, (0, 1), x96, (0, 2, 3, 4), (2, 1, 3, 4)) * -1.0 - l1new_aa += einsum(v.aabb.vvov, (0, 1, 2, 3), x278, (2, 3, 4, 1), (0, 4)) - del x278 - x279 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x279 += einsum(t2.bbbb, (0, 1, 2, 3), l3.babbab, (4, 5, 3, 0, 6, 1), (4, 2, 6, 5)) - x280 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x280 += einsum(t2.abab, (0, 1, 2, 3), l3.abaaba, (4, 5, 2, 6, 1, 0), (5, 3, 6, 4)) - x281 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x281 += einsum(t1.bb, (0, 1), l2.abab, (2, 3, 4, 0), (3, 1, 4, 2)) * 0.5 - x281 += einsum(x279, (0, 1, 2, 3), (0, 1, 2, 3)) - x281 += einsum(x280, (0, 1, 2, 3), (0, 1, 2, 3)) - l1new_aa += einsum(v.aabb.vvvv, (0, 1, 2, 3), x281, (2, 3, 4, 1), (0, 4)) * 2.0 - del x281 - x282 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x282 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 5, 1), (2, 4, 0, 5)) - x283 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x283 += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 3, 5, 1), (2, 4, 0, 5)) - x284 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x284 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (3, 6, 5, 0, 7, 2), (4, 6, 1, 7)) - x285 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x285 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (6, 4, 5, 7, 1, 2), (3, 6, 0, 7)) - x286 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x286 += einsum(t2.abab, (0, 1, 2, 3), x61, (1, 3, 0, 4, 5, 6), (4, 5, 6, 2)) * -1.0 - x287 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x287 += einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), t3.aaaaaa, (6, 4, 5, 7, 1, 2), (3, 6, 0, 7)) - x288 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x288 += einsum(t2.aaaa, (0, 1, 2, 3), x193, (4, 0, 1, 5, 6, 3), (4, 5, 6, 2)) * -1.0 - x289 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x289 += einsum(x195, (0, 1, 2, 3), (1, 0, 2, 3)) - x289 += einsum(x196, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x289 += einsum(x197, (0, 1, 2, 3), (0, 1, 2, 3)) * -3.0 - x290 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x290 += einsum(x282, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.1111111111111111 - x290 += einsum(x283, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.4444444444444444 - x290 += einsum(x284, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.1111111111111111 - x290 += einsum(x285, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.4444444444444444 - x290 += einsum(x286, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.2222222222222222 - x290 += einsum(x287, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x290 += einsum(x288, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.6666666666666666 - x290 += einsum(t1.aa, (0, 1), x289, (0, 2, 3, 4), (2, 3, 1, 4)) * 0.2222222222222222 - l1new_aa += einsum(v.aaaa.ovvv, (0, 1, 2, 3), x290, (4, 0, 2, 3), (1, 4)) * 9.0 - del x290 - x291 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x291 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 0, 5), (1, 5, 2, 4)) - x292 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x292 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (3, 6, 5, 7, 1, 2), (0, 7, 4, 6)) - x293 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x293 += einsum(t2.bbbb, (0, 1, 2, 3), x58, (0, 1, 4, 3, 5, 6), (4, 2, 5, 6)) - x294 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x294 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (6, 4, 5, 0, 7, 2), (1, 7, 3, 6)) - x295 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x295 += einsum(t2.abab, (0, 1, 2, 3), x61, (1, 4, 0, 5, 6, 2), (4, 3, 5, 6)) - x296 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x296 += einsum(x291, (0, 1, 2, 3), (0, 1, 2, 3)) - x296 += einsum(x292, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x296 += einsum(x293, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 - x296 += einsum(x294, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x296 += einsum(x295, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 - x296 += einsum(t1.bb, (0, 1), x101, (0, 2, 3, 4), (1, 2, 3, 4)) - l1new_aa += einsum(v.aabb.ovvv, (0, 1, 2, 3), x296, (3, 2, 4, 0), (1, 4)) * -1.0 - del x296 - x297 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x297 += einsum(x279, (0, 1, 2, 3), (0, 1, 2, 3)) - del x279 - x297 += einsum(x280, (0, 1, 2, 3), (0, 1, 2, 3)) - del x280 - l2new_abab += einsum(x297, (0, 1, 2, 3), x71, (4, 5, 0, 1), (3, 5, 2, 4)) * -2.0 - del x71 - l2new_abab += einsum(v.aabb.vvov, (0, 1, 2, 3), x297, (4, 3, 5, 1), (0, 4, 5, 2)) * -2.0 - l2new_abab += einsum(x297, (0, 1, 2, 3), x31, (4, 1, 2, 5), (3, 0, 5, 4)) * 2.0 - x298 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x298 += einsum(x200, (0, 1), (0, 1)) - x298 += einsum(x201, (0, 1), (0, 1)) * 2.0 - x298 += einsum(x202, (0, 1), (0, 1)) * 0.9999999999999601 - x298 += einsum(x203, (0, 1), (0, 1)) * 1.9999999999999194 - x298 += einsum(x204, (0, 1), (0, 1)) * 2.9999999999998788 - x299 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x299 += einsum(l1.aa, (0, 1), t2.abab, (2, 3, 0, 4), (3, 4, 1, 2)) - x299 += einsum(x63, (0, 1, 2, 3), (0, 1, 2, 3)) - x299 += einsum(l2.abab, (0, 1, 2, 3), t3.babbab, (4, 5, 3, 6, 0, 1), (4, 6, 2, 5)) * 2.0 - x299 += einsum(x64, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x299 += einsum(l2.aaaa, (0, 1, 2, 3), t3.abaaba, (4, 5, 3, 0, 6, 1), (5, 6, 2, 4)) * 2.0 - x299 += einsum(x65, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x299 += einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), x58, (2, 1, 5, 4, 6, 7), (0, 3, 6, 7)) * 3.0 - x299 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x74, (2, 0, 6, 5, 7, 4), (6, 3, 7, 1)) * -2.0 - x299 += einsum(t2.bbbb, (0, 1, 2, 3), x98, (1, 0, 4, 3, 5, 6), (4, 2, 5, 6)) * -2.0 - x299 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x61, (2, 5, 6, 1, 7, 4), (0, 3, 6, 7)) * -4.0 - x299 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x91, (1, 6, 7, 2, 5, 3), (6, 4, 7, 0)) * 2.0 - x299 += einsum(t2.abab, (0, 1, 2, 3), x99, (1, 4, 5, 0, 6, 2), (4, 3, 5, 6)) * 2.0 - x299 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x193, (6, 0, 2, 7, 5, 3), (1, 4, 6, 7)) * -3.0 - x299 += einsum(t2.abab, (0, 1, 2, 3), x297, (3, 4, 5, 2), (1, 4, 5, 0)) * -2.0 - x299 += einsum(t2.bbbb, (0, 1, 2, 3), x101, (1, 3, 4, 5), (0, 2, 4, 5)) * 2.0 - x299 += einsum(t2.abab, (0, 1, 2, 3), x96, (1, 4, 5, 2), (4, 3, 5, 0)) * -1.0 - x299 += einsum(t2.abab, (0, 1, 2, 3), x289, (0, 4, 5, 2), (1, 3, 4, 5)) * -2.0 - x299 += einsum(t1.bb, (0, 1), x108, (0, 2, 3, 4), (2, 1, 3, 4)) * -1.0 - del x108 - x299 += einsum(t1.bb, (0, 1), x298, (2, 3), (0, 1, 2, 3)) - l1new_aa += einsum(v.aabb.ovov, (0, 1, 2, 3), x299, (2, 3, 4, 0), (1, 4)) * -1.0 - del x299 - x300 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x300 += einsum(x195, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.3333333333333333 - x300 += einsum(x196, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.3333333333333333 - x300 += einsum(x197, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - l1new_aa += einsum(v.aaaa.oovv, (0, 1, 2, 3), x300, (1, 4, 0, 3), (2, 4)) * -6.0 - x301 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x301 += einsum(l2.aaaa, (0, 1, 2, 3), (2, 3, 0, 1)) * -0.3333333333333333 - x301 += einsum(x286, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.3333333333333333 - x301 += einsum(x288, (0, 1, 2, 3), (0, 1, 2, 3)) - x301 += einsum(t1.aa, (0, 1), x300, (0, 2, 3, 4), (2, 3, 4, 1)) - l1new_aa += einsum(v.aaaa.ovvv, (0, 1, 2, 3), x301, (4, 0, 3, 1), (2, 4)) * -6.0 - del x301 - x302 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x302 += einsum(t2.abab, (0, 1, 2, 3), l3.abaaba, (4, 3, 5, 6, 1, 0), (6, 4, 5, 2)) - x303 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x303 += einsum(t1.aa, (0, 1), l2.aaaa, (2, 3, 4, 0), (4, 2, 3, 1)) - x303 += einsum(x302, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - l1new_aa += einsum(v.aaaa.vvvv, (0, 1, 2, 3), x303, (4, 3, 1, 2), (0, 4)) * -2.0 - del x303 - x304 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x304 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovvv, (4, 2, 5, 3), (1, 5, 0, 4)) - x305 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x305 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.babbab, (4, 5, 2, 6, 1, 3), (4, 6, 5, 0)) - x306 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x306 += einsum(v.aaaa.ovov, (0, 1, 2, 3), t3.abaaba, (4, 5, 2, 3, 6, 1), (5, 6, 4, 0)) * -1.0 - x307 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x307 += einsum(t2.abab, (0, 1, 2, 3), x261, (4, 5, 0, 2), (1, 3, 4, 5)) - del x261 - x308 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x308 += einsum(t2.bbbb, (0, 1, 2, 3), x8, (1, 3, 4, 5), (0, 2, 4, 5)) * 2.0 - x309 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x309 += einsum(t2.abab, (0, 1, 2, 3), x39, (1, 4, 5, 2), (4, 3, 0, 5)) - x310 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x310 += einsum(x245, (0, 1), t2.abab, (2, 3, 1, 4), (3, 4, 2, 0)) - x311 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x311 += einsum(v.aabb.oovv, (0, 1, 2, 3), (2, 3, 0, 1)) - x311 += einsum(x246, (0, 1, 2, 3), (1, 0, 3, 2)) - x312 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x312 += einsum(t1.bb, (0, 1), x311, (1, 2, 3, 4), (0, 2, 3, 4)) - del x311 - x313 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x313 += einsum(t1.bb, (0, 1), x128, (0, 2, 3, 4), (2, 1, 3, 4)) - x314 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x314 += einsum(v.aabb.ooov, (0, 1, 2, 3), (2, 3, 0, 1)) - x314 += einsum(x7, (0, 1, 2, 3), (0, 1, 2, 3)) - x314 += einsum(x304, (0, 1, 2, 3), (0, 1, 2, 3)) - x314 += einsum(x305, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x314 += einsum(x306, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x314 += einsum(x307, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x314 += einsum(x308, (0, 1, 2, 3), (0, 1, 3, 2)) - x314 += einsum(x309, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x314 += einsum(x310, (0, 1, 2, 3), (0, 1, 2, 3)) - x314 += einsum(x312, (0, 1, 2, 3), (0, 1, 3, 2)) - x314 += einsum(x313, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - l1new_aa += einsum(l2.abab, (0, 1, 2, 3), x314, (3, 1, 2, 4), (0, 4)) * -1.0 - del x314 - x315 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x315 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovvv, (4, 2, 5, 3), (0, 1, 4, 5)) - x316 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x316 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.abaaba, (4, 2, 5, 6, 3, 1), (4, 5, 0, 6)) - x317 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x317 += einsum(v.aaaa.ovov, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 2, 6, 1, 3), (4, 5, 0, 6)) - x318 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x318 += einsum(t1.aa, (0, 1), v.aaaa.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) - x319 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x319 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x319 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x319 += einsum(x318, (0, 1, 2, 3), (0, 1, 2, 3)) - x320 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x320 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) - x320 += einsum(x315, (0, 1, 2, 3), (2, 1, 0, 3)) - x320 += einsum(x316, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - x320 += einsum(x317, (0, 1, 2, 3), (2, 1, 0, 3)) * -3.0 - x320 += einsum(t2.aaaa, (0, 1, 2, 3), x231, (4, 5, 1, 3), (5, 0, 4, 2)) * -2.0 - x320 += einsum(t2.abab, (0, 1, 2, 3), x31, (1, 3, 4, 5), (5, 0, 4, 2)) - x320 += einsum(x245, (0, 1), t2.aaaa, (2, 3, 4, 1), (0, 2, 3, 4)) - x320 += einsum(t1.aa, (0, 1), x319, (2, 3, 1, 4), (3, 2, 0, 4)) - x320 += einsum(t1.aa, (0, 1), x254, (0, 2, 3, 4), (3, 2, 4, 1)) * -1.0 - l1new_aa += einsum(l2.aaaa, (0, 1, 2, 3), x320, (4, 3, 2, 1), (0, 4)) * -2.0 - del x320 - x321 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x321 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x58, (0, 2, 3, 5, 6, 7), (6, 7, 1, 4)) - x322 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x322 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x61, (1, 4, 6, 2, 7, 5), (6, 7, 0, 3)) * -1.0 - x323 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x323 += einsum(t1.aa, (0, 1), x61, (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 0, 6)) - x324 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x324 += einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), x193, (6, 2, 1, 7, 4, 5), (6, 7, 0, 3)) * -1.0 - x325 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x325 += einsum(t1.aa, (0, 1), x193, (2, 3, 4, 5, 6, 1), (2, 3, 4, 0, 5, 6)) - x326 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x326 += einsum(x195, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.3333333333333333 - x326 += einsum(x196, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.3333333333333333 - x326 += einsum(x197, (0, 1, 2, 3), (0, 1, 2, 3)) - x327 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x327 += einsum(x195, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x327 += einsum(x196, (0, 1, 2, 3), (0, 1, 2, 3)) - x327 += einsum(x197, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0 - l2new_abab += einsum(v.aabb.ooov, (0, 1, 2, 3), x327, (0, 4, 1, 5), (5, 3, 4, 2)) * 2.0 - x328 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x328 += einsum(x229, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x328 += einsum(t1.aa, (0, 1), x327, (2, 3, 4, 1), (2, 3, 0, 4)) * 0.3333333333333468 - x329 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x329 += einsum(l1.aa, (0, 1), t2.aaaa, (2, 3, 4, 0), (1, 2, 3, 4)) * 0.3333333333333333 - x329 += einsum(x195, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.3333333333333333 - x329 += einsum(l2.abab, (0, 1, 2, 3), t3.abaaba, (4, 3, 5, 6, 1, 0), (2, 4, 5, 6)) * 0.3333333333333333 - x329 += einsum(x196, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.3333333333333333 - x329 += einsum(x197, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x329 += einsum(x321, (0, 1, 2, 3), (0, 2, 1, 3)) * 0.16666666666666666 - x329 += einsum(x322, (0, 1, 2, 3), (0, 2, 1, 3)) * 0.6666666666666666 - x329 += einsum(t2.abab, (0, 1, 2, 3), x323, (1, 3, 4, 0, 5, 6), (4, 6, 5, 2)) * -0.3333333333333333 - x329 += einsum(x324, (0, 1, 2, 3), (0, 2, 1, 3)) * 1.5 - x329 += einsum(t2.aaaa, (0, 1, 2, 3), x228, (4, 3, 2, 5), (4, 0, 1, 5)) * -1.0 - x329 += einsum(t2.aaaa, (0, 1, 2, 3), x325, (4, 0, 1, 5, 6, 3), (4, 6, 5, 2)) * -1.0 - x329 += einsum(t2.abab, (0, 1, 2, 3), x66, (1, 3, 4, 5), (4, 0, 5, 2)) * 0.3333333333333333 - x329 += einsum(t2.aaaa, (0, 1, 2, 3), x326, (4, 1, 5, 3), (4, 0, 5, 2)) * -2.0 - x329 += einsum(t1.aa, (0, 1), x328, (2, 0, 3, 4), (2, 4, 3, 1)) * -0.9999999999999596 - del x328 - x329 += einsum(t1.aa, (0, 1), x298, (2, 3), (2, 0, 3, 1)) * 0.16666666666666666 - l1new_aa += einsum(v.aaaa.ovov, (0, 1, 2, 3), x329, (4, 2, 0, 3), (1, 4)) * -6.0 - del x329 - x330 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x330 += einsum(x282, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.1111111111111111 - x330 += einsum(x283, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.4444444444444444 - x330 += einsum(x284, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.1111111111111111 - x330 += einsum(x285, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.4444444444444444 - x330 += einsum(x287, (0, 1, 2, 3), (0, 1, 2, 3)) - l1new_aa += einsum(v.aaaa.ovvv, (0, 1, 2, 3), x330, (4, 0, 3, 1), (2, 4)) * 9.0 - del x330 - x331 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x331 += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 5, 0, 1), (2, 3, 4, 5)) - x332 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x332 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (6, 4, 7, 0, 1, 2), (3, 5, 6, 7)) - x333 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x333 += einsum(x196, (0, 1, 2, 3), (0, 1, 2, 3)) - x333 += einsum(x197, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0 - x334 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x334 += einsum(t1.aa, (0, 1), x333, (2, 3, 4, 1), (0, 2, 3, 4)) - x335 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x335 += einsum(x331, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - x335 += einsum(x332, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.9999999999999601 - x335 += einsum(x334, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - x336 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x336 += einsum(l2.aaaa, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 3, 6, 0, 1), (2, 4, 5, 6)) * 0.5 - x336 += einsum(x321, (0, 1, 2, 3), (0, 2, 1, 3)) * 0.08333333333333333 - del x321 - x336 += einsum(x322, (0, 1, 2, 3), (0, 2, 1, 3)) * 0.3333333333333333 - del x322 - x336 += einsum(t2.aaaa, (0, 1, 2, 3), x302, (4, 2, 3, 5), (4, 0, 1, 5)) * 0.16666666666666666 - x336 += einsum(x324, (0, 1, 2, 3), (0, 2, 1, 3)) * 0.75 - del x324 - x336 += einsum(t2.abab, (0, 1, 2, 3), x66, (1, 3, 4, 5), (4, 0, 5, 2)) * 0.16666666666666666 - x336 += einsum(t2.aaaa, (0, 1, 2, 3), x326, (4, 1, 5, 3), (4, 0, 5, 2)) * -1.0 - x336 += einsum(t1.aa, (0, 1), x335, (0, 2, 3, 4), (2, 4, 3, 1)) * -0.16666666666666666 - del x335 - x336 += einsum(t1.aa, (0, 1), x298, (2, 3), (2, 0, 3, 1)) * 0.08333333333333333 - del x298 - l1new_aa += einsum(v.aaaa.ovov, (0, 1, 2, 3), x336, (4, 2, 0, 1), (3, 4)) * 12.0 - del x336 - x337 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x337 += einsum(t1.aa, (0, 1), (0, 1)) * -0.5000000000000202 - x337 += einsum(x186, (0, 1), (0, 1)) * -0.5000000000000202 - del x186 - x337 += einsum(x187, (0, 1), (0, 1)) * -1.0000000000000404 - del x187 - x337 += einsum(x188, (0, 1), (0, 1)) * -0.5000000000000202 - del x188 - x337 += einsum(x189, (0, 1), (0, 1)) * -1.0000000000000404 - del x189 - x337 += einsum(x190, (0, 1), (0, 1)) * -1.5000000000000604 - del x190 - x337 += einsum(x191, (0, 1), (0, 1)) * 0.5000000000000002 - del x191 - x337 += einsum(x192, (0, 1), (0, 1)) - del x192 - x337 += einsum(x194, (0, 1), (0, 1)) * 1.4999999999999998 - del x194 - x337 += einsum(t2.abab, (0, 1, 2, 3), x66, (1, 3, 0, 4), (4, 2)) * 1.0000000000000404 - x337 += einsum(t2.aaaa, (0, 1, 2, 3), x198, (0, 1, 4, 3), (4, 2)) * -3.000000000000121 - del x198 - x337 += einsum(t1.aa, (0, 1), x205, (0, 2), (2, 1)) * 0.5000000000000202 - del x205 - l1new_aa += einsum(x337, (0, 1), x240, (0, 2, 1, 3), (3, 2)) * 1.9999999999999194 - del x337 - x338 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x338 += einsum(x179, (0, 1), (0, 1)) * 0.5 - del x179 - x338 += einsum(x180, (0, 1), (0, 1)) * 0.5 - x338 += einsum(x181, (0, 1), (0, 1)) - x338 += einsum(x182, (0, 1), (0, 1)) * 0.49999999999998007 - x339 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x339 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) - x339 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - l1new_aa += einsum(x338, (0, 1), x339, (2, 1, 0, 3), (3, 2)) * -2.0 - del x338 - l2new_abab += einsum(x100, (0, 1, 2, 3), x339, (4, 3, 2, 5), (5, 1, 4, 0)) * -2.0 - x340 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x340 += einsum(x160, (0, 1), (0, 1)) * 0.5 - del x160 - x340 += einsum(x161, (0, 1), (0, 1)) - x340 += einsum(x162, (0, 1), (0, 1)) * 0.5 - x340 += einsum(x163, (0, 1), (0, 1)) * 1.4999999999999394 - x340 += einsum(x164, (0, 1), (1, 0)) * 0.9999999999999597 - x340 += einsum(x211, (0, 1), (0, 1)) * 0.49999999999998007 - l1new_aa += einsum(x340, (0, 1), v.aabb.ovvv, (2, 3, 1, 0), (3, 2)) * 2.0 - del x340 - x341 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x341 += einsum(x175, (0, 1), (0, 1)) - x341 += einsum(x109, (0, 1), (0, 1)) * 2.0 - x341 += einsum(x110, (0, 1), (0, 1)) - x341 += einsum(x111, (0, 1), (0, 1)) * 2.9999999999998788 - x341 += einsum(x112, (0, 1), (0, 1)) * 1.9999999999999194 - x341 += einsum(x113, (0, 1), (0, 1)) * 0.9999999999999601 - l2new_abab += einsum(x341, (0, 1), v.aabb.ovov, (2, 3, 1, 4), (3, 4, 2, 0)) * -1.0 - x342 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x342 += einsum(l1.bb, (0, 1), (1, 0)) * -1.0 - x342 += einsum(t1.bb, (0, 1), (0, 1)) * -1.0 - x342 += einsum(x166, (0, 1), (0, 1)) * -2.0 - del x166 - x342 += einsum(x167, (0, 1), (0, 1)) * -1.0 - del x167 - x342 += einsum(x168, (0, 1), (0, 1)) * -3.0 - del x168 - x342 += einsum(x169, (0, 1), (0, 1)) * -2.0 - del x169 - x342 += einsum(x170, (0, 1), (0, 1)) * -1.0 - del x170 - x342 += einsum(x171, (0, 1), (0, 1)) * 2.9999999999998788 - del x171 - x342 += einsum(x172, (0, 1), (0, 1)) * 1.9999999999999194 - del x172 - x342 += einsum(x173, (0, 1), (0, 1)) * 0.9999999999999601 - del x173 - x342 += einsum(t2.bbbb, (0, 1, 2, 3), x137, (0, 1, 4, 3), (4, 2)) * -2.0 - x342 += einsum(t2.abab, (0, 1, 2, 3), x139, (1, 4, 0, 2), (4, 3)) * 2.0 - x342 += einsum(t1.bb, (0, 1), x341, (0, 2), (2, 1)) - l1new_aa += einsum(x342, (0, 1), v.aabb.ovov, (2, 3, 0, 1), (3, 2)) * -1.0 - del x342 - x343 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x343 += einsum(x102, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5000000000000202 - del x102 - x343 += einsum(x103, (0, 1, 2, 3), (0, 1, 2, 3)) - del x103 - x343 += einsum(x104, (0, 1, 2, 3), (0, 1, 2, 3)) - del x104 - x343 += einsum(t1.bb, (0, 1), x101, (2, 1, 3, 4), (0, 2, 3, 4)) * 0.5000000000000202 - x343 += einsum(t1.aa, (0, 1), x106, (2, 3, 4, 1), (3, 2, 4, 0)) * 1.0000000000000404 - l1new_aa += einsum(v.aabb.ovoo, (0, 1, 2, 3), x343, (3, 2, 4, 0), (1, 4)) * 1.9999999999999194 - del x343 - x344 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x344 += einsum(x183, (0, 1), (0, 1)) - x344 += einsum(x184, (0, 1), (0, 1)) * 1.4999999999999998 - l1new_aa += einsum(x344, (0, 1), x339, (2, 1, 0, 3), (3, 2)) * -1.9999999999999194 - del x344 - x345 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x345 += einsum(x331, (0, 1, 2, 3), (1, 0, 3, 2)) * -0.3333333333333333 - x345 += einsum(x332, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.33333333333332005 - x345 += einsum(t1.aa, (0, 1), x327, (2, 3, 4, 1), (0, 2, 3, 4)) * 0.3333333333333333 - l1new_aa += einsum(v.aaaa.ooov, (0, 1, 2, 3), x345, (0, 4, 1, 2), (3, 4)) * -6.0 - del x345 - x346 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x346 += einsum(t1.aa, (0, 1), x333, (2, 3, 4, 1), (2, 3, 0, 4)) * 0.3333333333333333 - l1new_aa += einsum(v.aaaa.ooov, (0, 1, 2, 3), x346, (4, 1, 2, 0), (3, 4)) * 6.0 - del x346 - x347 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x347 += einsum(x199, (0, 1), (0, 1)) * 0.3333333333333468 - x347 += einsum(x200, (0, 1), (0, 1)) * 0.3333333333333468 - x347 += einsum(x201, (0, 1), (0, 1)) * 0.6666666666666936 - x347 += einsum(x202, (0, 1), (0, 1)) * 0.33333333333333354 - x347 += einsum(x204, (0, 1), (0, 1)) - x348 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x348 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x348 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) - l1new_aa += einsum(x347, (0, 1), x348, (0, 2, 1, 3), (3, 2)) * -2.9999999999998788 - del x347 - l1new_aa += einsum(x203, (0, 1), x348, (0, 1, 2, 3), (3, 2)) * 1.9999999999999194 - l2new_abab += einsum(x348, (0, 1, 2, 3), x66, (4, 5, 0, 1), (3, 5, 2, 4)) * 2.0 - l3new_babbab += einsum(x348, (0, 1, 2, 3), x58, (4, 5, 6, 7, 0, 2), (6, 3, 7, 5, 1, 4)) * 2.0 - x349 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x349 += einsum(x175, (0, 1), (0, 1)) * 0.5 - del x175 - x349 += einsum(x109, (0, 1), (0, 1)) - del x109 - x349 += einsum(x110, (0, 1), (0, 1)) * 0.5 - del x110 - x349 += einsum(x111, (0, 1), (0, 1)) * 1.4999999999999394 - del x111 - x349 += einsum(x112, (0, 1), (1, 0)) * 0.9999999999999597 - del x112 - x349 += einsum(x113, (0, 1), (1, 0)) * 0.49999999999998007 - del x113 - l1new_aa += einsum(x349, (0, 1), v.aabb.ovoo, (2, 3, 1, 0), (3, 2)) * -2.0 - del x349 - x350 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x350 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) - x350 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - l1new_aa += einsum(l1.aa, (0, 1), x350, (1, 2, 0, 3), (3, 2)) * -1.0 - del x350 - x351 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x351 += einsum(t1.bb, (0, 1), v.aabb.vvov, (2, 3, 0, 1), (2, 3)) - x352 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x352 += einsum(f.aa.vv, (0, 1), (0, 1)) - x352 += einsum(x351, (0, 1), (1, 0)) - x352 += einsum(t1.aa, (0, 1), x235, (0, 1, 2, 3), (3, 2)) * -1.0 - l1new_aa += einsum(l1.aa, (0, 1), x352, (0, 2), (2, 1)) - del x352 - x353 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x353 += einsum(t1.bb, (0, 1), v.aabb.ooov, (2, 3, 0, 1), (2, 3)) - x354 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x354 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 1, 3), (0, 4)) - x355 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x355 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 2, 1, 3), (0, 4)) - x356 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x356 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x356 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) - x357 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x357 += einsum(t1.aa, (0, 1), x356, (2, 3, 0, 1), (2, 3)) - del x356 - x358 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x358 += einsum(t1.aa, (0, 1), x245, (2, 1), (0, 2)) - x359 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x359 += einsum(f.aa.oo, (0, 1), (0, 1)) - x359 += einsum(x353, (0, 1), (1, 0)) - x359 += einsum(x354, (0, 1), (0, 1)) - x359 += einsum(x355, (0, 1), (0, 1)) * 2.0 - x359 += einsum(x357, (0, 1), (1, 0)) * -1.0 - x359 += einsum(x358, (0, 1), (0, 1)) - del x358 - l1new_aa += einsum(l1.aa, (0, 1), x359, (1, 2), (0, 2)) * -1.0 - l2new_abab += einsum(x359, (0, 1), l2.abab, (2, 3, 0, 4), (2, 3, 1, 4)) * -1.0 - l3new_babbab += einsum(x359, (0, 1), l3.babbab, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) * -2.0 - del x359 - x360 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x360 += einsum(x199, (0, 1), (0, 1)) * 0.3333333333333468 - x360 += einsum(x200, (0, 1), (0, 1)) * 0.3333333333333468 - x360 += einsum(x201, (0, 1), (0, 1)) * 0.6666666666666936 - x360 += einsum(x202, (0, 1), (0, 1)) * 0.33333333333333354 - x360 += einsum(x203, (0, 1), (0, 1)) * 0.6666666666666667 - x360 += einsum(x204, (0, 1), (0, 1)) - l1new_aa += einsum(f.aa.ov, (0, 1), x360, (2, 0), (1, 2)) * -2.9999999999998788 - del x360 - x361 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x361 += einsum(x243, (0, 1), (0, 1)) - del x243 - x361 += einsum(x244, (0, 1), (0, 1)) * -1.0 - del x244 - l1new_aa += einsum(x199, (0, 1), x361, (1, 2), (2, 0)) * -1.0 - x362 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x362 += einsum(l1.aa, (0, 1), v.aaaa.ovvv, (2, 3, 4, 0), (1, 2, 3, 4)) - x363 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x363 += einsum(l2.abab, (0, 1, 2, 3), x238, (3, 1, 4, 5), (2, 4, 0, 5)) - x364 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x364 += einsum(x5, (0, 1, 2, 3), x93, (0, 1, 4, 5), (4, 2, 5, 3)) - x365 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x365 += einsum(x302, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.3333333333333333 - x365 += einsum(x228, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - l2new_abab += einsum(v.aabb.vvov, (0, 1, 2, 3), x365, (4, 5, 0, 1), (5, 3, 4, 2)) * 6.0 - x366 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x366 += einsum(x339, (0, 1, 2, 3), x365, (4, 2, 5, 1), (0, 4, 3, 5)) * 6.0 - del x365 - x367 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x367 += einsum(x196, (0, 1, 2, 3), (0, 1, 2, 3)) - del x196 - x367 += einsum(x197, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0000000000000004 - del x197 - x368 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x368 += einsum(t1.aa, (0, 1), x367, (2, 0, 3, 4), (2, 3, 1, 4)) * 0.22222222222223104 - del x367 - x369 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x369 += einsum(x282, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.11111111111111552 - x369 += einsum(x283, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.4444444444444621 - x369 += einsum(x284, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.11111111111111108 - x369 += einsum(x285, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.44444444444444453 - x369 += einsum(x286, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.22222222222223104 - x369 += einsum(x287, (0, 1, 2, 3), (0, 1, 2, 3)) - x369 += einsum(x288, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.6666666666666932 - x369 += einsum(x368, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x368 - x370 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x370 += einsum(x233, (0, 1, 2, 3), x369, (4, 0, 5, 3), (1, 4, 2, 5)) * 8.999999999999643 - del x369 - x371 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x371 += einsum(t1.bb, (0, 1), x106, (0, 2, 3, 4), (2, 1, 3, 4)) * 2.0 - x372 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x372 += einsum(l2.abab, (0, 1, 2, 3), (3, 1, 2, 0)) - x372 += einsum(x271, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x372 += einsum(x272, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x372 += einsum(x273, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.999999999999881 - x372 += einsum(x274, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - x372 += einsum(x275, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.999999999999842 - x372 += einsum(x276, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - x372 += einsum(x277, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.999999999999881 - x372 += einsum(x371, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x371 - x373 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x373 += einsum(v.aabb.ovov, (0, 1, 2, 3), x372, (2, 3, 4, 5), (0, 4, 1, 5)) - del x372 - x374 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x374 += einsum(v.aabb.ovvv, (0, 1, 2, 3), x297, (2, 3, 4, 5), (0, 4, 1, 5)) * 2.0 - x375 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x375 += einsum(t1.aa, (0, 1), x339, (2, 1, 3, 4), (0, 2, 3, 4)) - x376 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x376 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x376 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x376 += einsum(x375, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x375 - x377 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x377 += einsum(l2.aaaa, (0, 1, 2, 3), x376, (3, 4, 5, 1), (2, 4, 0, 5)) * 2.0 - del x376 - x378 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x378 += einsum(x327, (0, 1, 2, 3), x348, (1, 4, 2, 5), (0, 4, 3, 5)) * 2.0 - del x327 - x379 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x379 += einsum(x180, (0, 1), (0, 1)) - x379 += einsum(x181, (0, 1), (0, 1)) * 2.0 - x379 += einsum(x182, (0, 1), (0, 1)) * 0.9999999999999601 - x379 += einsum(x183, (0, 1), (0, 1)) * 1.9999999999999194 - x379 += einsum(x184, (0, 1), (0, 1)) * 2.9999999999998788 - x380 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x380 += einsum(x379, (0, 1), v.aaaa.ovov, (2, 1, 3, 4), (2, 3, 0, 4)) - del x379 - x381 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x381 += einsum(v.aabb.ovoo, (0, 1, 2, 3), x96, (2, 3, 4, 5), (0, 4, 1, 5)) - x382 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x382 += einsum(x230, (0, 1, 2, 3), (0, 1, 2, 3)) - x382 += einsum(x230, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x383 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x383 += einsum(x195, (0, 1, 2, 3), x382, (0, 4, 2, 5), (1, 4, 3, 5)) * 2.0 - x384 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x384 += einsum(x199, (0, 1), (0, 1)) - x384 += einsum(x200, (0, 1), (0, 1)) - x384 += einsum(x201, (0, 1), (0, 1)) * 2.0 - x384 += einsum(x202, (0, 1), (0, 1)) * 0.9999999999999601 - x384 += einsum(x203, (0, 1), (0, 1)) * 1.9999999999999194 - x384 += einsum(x204, (0, 1), (0, 1)) * 2.9999999999998788 - x385 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x385 += einsum(x384, (0, 1), v.aaaa.ovov, (2, 3, 1, 4), (0, 2, 4, 3)) - del x384 - x386 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x386 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x386 += einsum(x230, (0, 1, 2, 3), (0, 1, 2, 3)) - x387 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x387 += einsum(l1.aa, (0, 1), x386, (1, 2, 3, 4), (2, 3, 0, 4)) - x388 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x388 += einsum(f.aa.ov, (0, 1), l1.aa, (2, 3), (0, 3, 1, 2)) - x388 += einsum(x362, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x362 - x388 += einsum(x363, (0, 1, 2, 3), (0, 1, 2, 3)) - del x363 - x388 += einsum(x364, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x364 - x388 += einsum(x366, (0, 1, 2, 3), (1, 0, 3, 2)) - del x366 - x388 += einsum(x370, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x370 - x388 += einsum(x373, (0, 1, 2, 3), (1, 0, 3, 2)) - del x373 - x388 += einsum(x374, (0, 1, 2, 3), (1, 0, 3, 2)) - del x374 - x388 += einsum(x377, (0, 1, 2, 3), (0, 1, 2, 3)) - del x377 - x388 += einsum(x378, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x378 - x388 += einsum(x380, (0, 1, 2, 3), (1, 0, 2, 3)) - del x380 - x388 += einsum(x381, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x381 - x388 += einsum(x383, (0, 1, 2, 3), (0, 1, 2, 3)) - del x383 - x388 += einsum(x385, (0, 1, 2, 3), (0, 1, 3, 2)) - del x385 - x388 += einsum(x387, (0, 1, 2, 3), (0, 1, 2, 3)) - del x387 - x388 += einsum(l1.aa, (0, 1), x361, (2, 3), (1, 2, 0, 3)) - l2new_aaaa += einsum(x388, (0, 1, 2, 3), (2, 3, 0, 1)) - l2new_aaaa += einsum(x388, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - l2new_aaaa += einsum(x388, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 - l2new_aaaa += einsum(x388, (0, 1, 2, 3), (3, 2, 1, 0)) - del x388 - x389 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x389 += einsum(f.aa.ov, (0, 1), t1.aa, (2, 1), (0, 2)) - x390 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x390 += einsum(x389, (0, 1), l2.aaaa, (2, 3, 4, 1), (0, 4, 2, 3)) - x391 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x391 += einsum(l2.aaaa, (0, 1, 2, 3), x253, (2, 4, 3, 5), (4, 5, 0, 1)) - x392 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x392 += einsum(f.aa.ov, (0, 1), t2.abab, (2, 3, 1, 4), (3, 4, 0, 2)) - x393 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x393 += einsum(x392, (0, 1, 2, 3), l3.abaaba, (4, 1, 5, 6, 0, 3), (2, 6, 4, 5)) - del x392 - x394 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x394 += einsum(f.aa.ov, (0, 1), t2.aaaa, (2, 3, 4, 1), (0, 2, 3, 4)) - x395 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x395 += einsum(x394, (0, 1, 2, 3), l3.aaaaaa, (4, 5, 3, 6, 1, 2), (0, 6, 4, 5)) * -1.0 - del x394 - x396 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x396 += einsum(x361, (0, 1), t2.abab, (2, 3, 1, 4), (3, 4, 2, 0)) - x397 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x397 += einsum(v.aabb.ooov, (0, 1, 2, 3), (2, 3, 0, 1)) - x397 += einsum(x7, (0, 1, 2, 3), (0, 1, 2, 3)) - x397 += einsum(x304, (0, 1, 2, 3), (0, 1, 2, 3)) - x397 += einsum(x305, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.999999999999921 - x397 += einsum(x306, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.99999999999992 - x397 += einsum(x307, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x397 += einsum(x308, (0, 1, 2, 3), (0, 1, 3, 2)) - x397 += einsum(x309, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x397 += einsum(x396, (0, 1, 2, 3), (0, 1, 2, 3)) - del x396 - x397 += einsum(x312, (0, 1, 2, 3), (0, 1, 3, 2)) - x397 += einsum(x313, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x398 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x398 += einsum(x397, (0, 1, 2, 3), l3.abaaba, (4, 1, 5, 6, 0, 2), (6, 3, 4, 5)) * -2.0 - del x397 - x399 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x399 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x399 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x399 += einsum(x230, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x399 += einsum(x230, (0, 1, 2, 3), (0, 2, 1, 3)) - x400 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x400 += einsum(t2.aaaa, (0, 1, 2, 3), x399, (4, 1, 5, 3), (0, 4, 5, 2)) * 2.0 - del x399 - x401 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x401 += einsum(t2.abab, (0, 1, 2, 3), x8, (1, 3, 4, 5), (0, 4, 5, 2)) - x402 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x402 += einsum(x361, (0, 1), t2.aaaa, (2, 3, 4, 1), (2, 3, 0, 4)) * -1.0 - x403 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x403 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x403 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x403 += einsum(x318, (0, 1, 2, 3), (1, 0, 2, 3)) - del x318 - x404 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x404 += einsum(t1.aa, (0, 1), x403, (2, 3, 1, 4), (0, 2, 3, 4)) - del x403 - x405 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x405 += einsum(v.aaaa.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x405 += einsum(x251, (0, 1, 2, 3), (3, 1, 0, 2)) - x405 += einsum(x252, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - x405 += einsum(x253, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - x405 += einsum(x253, (0, 1, 2, 3), (3, 0, 2, 1)) - x406 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x406 += einsum(t1.aa, (0, 1), x405, (0, 2, 3, 4), (2, 3, 4, 1)) - del x405 - x407 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x407 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x407 += einsum(x315, (0, 1, 2, 3), (1, 0, 2, 3)) - x407 += einsum(x316, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.9999999999999606 - x407 += einsum(x317, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.999999999999881 - x407 += einsum(x400, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x400 - x407 += einsum(x401, (0, 1, 2, 3), (0, 2, 1, 3)) - del x401 - x407 += einsum(x402, (0, 1, 2, 3), (1, 0, 2, 3)) - del x402 - x407 += einsum(x404, (0, 1, 2, 3), (2, 0, 1, 3)) - del x404 - x407 += einsum(x406, (0, 1, 2, 3), (1, 0, 2, 3)) - del x406 - x408 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x408 += einsum(x407, (0, 1, 2, 3), l3.aaaaaa, (4, 5, 3, 6, 0, 1), (6, 2, 4, 5)) * -6.0 - del x407 - x409 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x409 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x409 += einsum(x230, (0, 1, 2, 3), (0, 2, 1, 3)) - x410 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x410 += einsum(x302, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x302 - x410 += einsum(x228, (0, 1, 2, 3), (0, 2, 1, 3)) * -3.0 - del x228 - x411 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x411 += einsum(x409, (0, 1, 2, 3), x410, (0, 4, 5, 3), (1, 2, 4, 5)) * 2.0 - del x409 - x412 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x412 += einsum(t1.aa, (0, 1), x361, (2, 1), (0, 2)) - x413 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x413 += einsum(x353, (0, 1), (1, 0)) - del x353 - x413 += einsum(x354, (0, 1), (0, 1)) - del x354 - x413 += einsum(x355, (0, 1), (0, 1)) * 2.0 - del x355 - x413 += einsum(x357, (0, 1), (1, 0)) * -1.0 - del x357 - x413 += einsum(x412, (0, 1), (0, 1)) - del x412 - x414 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x414 += einsum(x413, (0, 1), l2.aaaa, (2, 3, 4, 0), (4, 1, 2, 3)) * -2.0 - x415 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x415 += einsum(x390, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - del x390 - x415 += einsum(x391, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - del x391 - x415 += einsum(x393, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - del x393 - x415 += einsum(x395, (0, 1, 2, 3), (0, 1, 3, 2)) * 6.0 - del x395 - x415 += einsum(x398, (0, 1, 2, 3), (0, 1, 3, 2)) - del x398 - x415 += einsum(x408, (0, 1, 2, 3), (0, 1, 2, 3)) - del x408 - x415 += einsum(x411, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x411 - x415 += einsum(x414, (0, 1, 2, 3), (0, 1, 3, 2)) - del x414 - l2new_aaaa += einsum(x415, (0, 1, 2, 3), (3, 2, 0, 1)) - l2new_aaaa += einsum(x415, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 - del x415 - x416 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x416 += einsum(f.aa.vv, (0, 1), l2.aaaa, (2, 1, 3, 4), (3, 4, 0, 2)) - x417 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x417 += einsum(x22, (0, 1, 2, 3), x91, (0, 1, 4, 5, 6, 3), (4, 5, 6, 2)) - x418 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x418 += einsum(t1.bb, (0, 1), v.aabb.vvvv, (2, 3, 4, 1), (0, 4, 2, 3)) - x419 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x419 += einsum(t2.bbbb, (0, 1, 2, 3), v.aabb.vvov, (4, 5, 1, 3), (0, 2, 4, 5)) - x420 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x420 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovvv, (0, 4, 5, 3), (1, 5, 2, 4)) - x421 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x421 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.babbab, (4, 0, 2, 5, 6, 3), (4, 5, 6, 1)) - x422 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x422 += einsum(v.aaaa.ovov, (0, 1, 2, 3), t3.abaaba, (0, 4, 2, 5, 6, 1), (4, 6, 5, 3)) * -1.0 - x423 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x423 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x423 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) - x424 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x424 += einsum(t2.abab, (0, 1, 2, 3), x423, (0, 2, 4, 5), (1, 3, 4, 5)) - del x423 - x425 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x425 += einsum(t2.abab, (0, 1, 2, 3), x39, (1, 4, 0, 5), (4, 3, 2, 5)) - x426 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x426 += einsum(v.aabb.vvov, (0, 1, 2, 3), (2, 3, 0, 1)) - x426 += einsum(x418, (0, 1, 2, 3), (0, 1, 3, 2)) - x426 += einsum(x419, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - x426 += einsum(x420, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x426 += einsum(x421, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.999999999999921 - x426 += einsum(x422, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.99999999999992 - x426 += einsum(x424, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x424 - x426 += einsum(x425, (0, 1, 2, 3), (0, 1, 3, 2)) - x427 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x427 += einsum(x426, (0, 1, 2, 3), l3.abaaba, (4, 1, 3, 5, 0, 6), (5, 6, 4, 2)) * -2.0 - del x426 - x428 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x428 += einsum(t1.aa, (0, 1), v.aaaa.vvvv, (2, 3, 4, 1), (0, 2, 3, 4)) - x429 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x429 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.vvov, (4, 5, 1, 3), (0, 2, 4, 5)) - x430 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x430 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.abaaba, (4, 2, 0, 5, 3, 6), (4, 5, 6, 1)) - x431 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x431 += einsum(v.aaaa.ovov, (0, 1, 2, 3), t3.aaaaaa, (4, 0, 2, 5, 6, 3), (4, 5, 6, 1)) - x432 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x432 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) - x432 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x433 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x433 += einsum(t2.aaaa, (0, 1, 2, 3), x432, (1, 3, 4, 5), (0, 2, 4, 5)) * 2.0 - x434 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x434 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x434 += einsum(x230, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x435 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x435 += einsum(t2.aaaa, (0, 1, 2, 3), x434, (0, 4, 1, 5), (4, 2, 3, 5)) - x436 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x436 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x436 += einsum(x428, (0, 1, 2, 3), (0, 2, 3, 1)) - x436 += einsum(x429, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x436 += einsum(x430, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.9999999999999606 - x436 += einsum(x431, (0, 1, 2, 3), (0, 2, 1, 3)) * -2.999999999999881 - x436 += einsum(x433, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x433 - x436 += einsum(x435, (0, 1, 2, 3), (0, 2, 1, 3)) - del x435 - x437 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x437 += einsum(x436, (0, 1, 2, 3), l3.aaaaaa, (4, 1, 2, 5, 6, 0), (5, 6, 4, 3)) * -6.0 - del x436 - x438 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x438 += einsum(t1.bb, (0, 1), x39, (0, 2, 3, 4), (2, 1, 3, 4)) - x439 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x439 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) - x439 += einsum(x238, (0, 1, 2, 3), (0, 1, 2, 3)) - x439 += einsum(x239, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x439 += einsum(x241, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x241 - x439 += einsum(x438, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x438 - l2new_abab += einsum(x439, (0, 1, 2, 3), x58, (0, 4, 5, 1, 6, 2), (3, 5, 6, 4)) * 2.0 - x440 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x440 += einsum(x439, (0, 1, 2, 3), x61, (0, 1, 4, 5, 2, 6), (4, 5, 6, 3)) * 2.0 - del x439 - x441 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x441 += einsum(t1.aa, (0, 1), v.aaaa.ooov, (2, 0, 3, 4), (2, 3, 1, 4)) - x442 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x442 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x442 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x442 += einsum(x441, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x441 - x442 += einsum(x232, (0, 1, 2, 3), (0, 1, 2, 3)) - x442 += einsum(x234, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x443 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x443 += einsum(x442, (0, 1, 2, 3), x193, (4, 5, 0, 1, 2, 6), (4, 5, 6, 3)) * 6.0 - del x442 - x444 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x444 += einsum(t1.aa, (0, 1), x230, (2, 3, 0, 4), (2, 3, 1, 4)) - x445 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x445 += einsum(t1.aa, (0, 1), x235, (2, 1, 3, 4), (0, 2, 3, 4)) - x446 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x446 += einsum(x444, (0, 1, 2, 3), (0, 1, 2, 3)) - del x444 - x446 += einsum(x445, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - l2new_abab += einsum(x446, (0, 1, 2, 3), x61, (4, 5, 0, 6, 1, 2), (3, 5, 6, 4)) * 2.0 - x447 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x447 += einsum(x446, (0, 1, 2, 3), x193, (4, 5, 0, 1, 2, 6), (4, 5, 6, 3)) * 6.0 - del x446 - x448 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x448 += einsum(v.aabb.vvoo, (0, 1, 2, 3), (2, 3, 0, 1)) - x448 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - l2new_abab += einsum(x448, (0, 1, 2, 3), x74, (0, 4, 1, 5, 6, 2), (3, 5, 6, 4)) * 2.0 - x449 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x449 += einsum(x448, (0, 1, 2, 3), x91, (0, 1, 4, 5, 2, 6), (4, 5, 6, 3)) * 2.0 - del x448 - x450 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x450 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), x326, (4, 5, 0, 3), (4, 5, 1, 2)) * 6.0 - x451 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x451 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 4, 1, 3), (2, 4)) - x452 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x452 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (0, 3, 1, 4), (2, 4)) * -1.0 - x453 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x453 += einsum(t1.aa, (0, 1), x339, (0, 1, 2, 3), (2, 3)) - del x339 - x454 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x454 += einsum(x351, (0, 1), (1, 0)) * -1.0 - x454 += einsum(x451, (0, 1), (1, 0)) - x454 += einsum(x452, (0, 1), (1, 0)) * 2.0 - x454 += einsum(x453, (0, 1), (1, 0)) * -1.0 - del x453 - x455 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x455 += einsum(x454, (0, 1), l2.aaaa, (2, 1, 3, 4), (3, 4, 2, 0)) * -2.0 - x456 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x456 += einsum(v.aaaa.ovov, (0, 1, 2, 3), x334, (0, 4, 5, 2), (4, 5, 3, 1)) * 2.0 - del x334 - x457 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x457 += einsum(x361, (0, 1), x289, (2, 3, 0, 4), (2, 3, 4, 1)) * 2.0 - x458 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x458 += einsum(f.aa.ov, (0, 1), x300, (2, 3, 0, 4), (2, 3, 4, 1)) * 6.0 - del x300 - x459 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x459 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x459 += einsum(x416, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - del x416 - x459 += einsum(x417, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - del x417 - x459 += einsum(x427, (0, 1, 2, 3), (1, 0, 3, 2)) - del x427 - x459 += einsum(x437, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x437 - x459 += einsum(x440, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x440 - x459 += einsum(x443, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x443 - x459 += einsum(x447, (0, 1, 2, 3), (0, 1, 3, 2)) - del x447 - x459 += einsum(x449, (0, 1, 2, 3), (0, 1, 3, 2)) - del x449 - x459 += einsum(x450, (0, 1, 2, 3), (0, 1, 3, 2)) - del x450 - x459 += einsum(x455, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x455 - x459 += einsum(x456, (0, 1, 2, 3), (0, 1, 2, 3)) - del x456 - x459 += einsum(x457, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x457 - x459 += einsum(x458, (0, 1, 2, 3), (1, 0, 2, 3)) - del x458 - l2new_aaaa += einsum(x459, (0, 1, 2, 3), (3, 2, 0, 1)) - l2new_aaaa += einsum(x459, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 - del x459 - x460 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x460 += einsum(f.aa.oo, (0, 1), l2.aaaa, (2, 3, 4, 1), (0, 4, 2, 3)) - l2new_aaaa += einsum(x460, (0, 1, 2, 3), (3, 2, 0, 1)) * -2.0 - l2new_aaaa += einsum(x460, (0, 1, 2, 3), (3, 2, 1, 0)) * 2.0 - del x460 - x461 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x461 += einsum(x331, (0, 1, 2, 3), (1, 0, 3, 2)) * -0.3333333333333468 - del x331 - x461 += einsum(t1.aa, (0, 1), x195, (2, 3, 4, 1), (2, 3, 4, 0)) * 0.3333333333333468 - del x195 - x461 += einsum(x332, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.33333333333333354 - del x332 - x461 += einsum(x229, (0, 1, 2, 3), (0, 1, 3, 2)) - del x229 - l2new_aaaa += einsum(v.aaaa.ovov, (0, 1, 2, 3), x461, (4, 5, 0, 2), (3, 1, 5, 4)) * -5.9999999999997575 - del x461 - x462 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x462 += einsum(v.aaaa.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x462 += einsum(x251, (0, 1, 2, 3), (1, 3, 0, 2)) * -1.0 - x462 += einsum(x252, (0, 1, 2, 3), (0, 3, 1, 2)) - l2new_aaaa += einsum(l2.aaaa, (0, 1, 2, 3), x462, (2, 4, 3, 5), (0, 1, 4, 5)) * -2.0 - x463 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x463 += einsum(t1.aa, (0, 1), v.aabb.vvvv, (2, 1, 3, 4), (3, 4, 0, 2)) - x464 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x464 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.vvov, (4, 2, 1, 5), (3, 5, 0, 4)) - x465 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x465 += einsum(t2.aaaa, (0, 1, 2, 3), v.aabb.ovvv, (1, 3, 4, 5), (4, 5, 0, 2)) - x466 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x466 += einsum(v.bbbb.ovov, (0, 1, 2, 3), t3.babbab, (0, 4, 2, 5, 6, 3), (5, 1, 4, 6)) - x467 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x467 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.abaaba, (4, 2, 0, 5, 6, 1), (6, 3, 4, 5)) - x468 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x468 += einsum(t2.abab, (0, 1, 2, 3), x217, (1, 4, 3, 5), (4, 5, 0, 2)) - x469 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x469 += einsum(t2.abab, (0, 1, 2, 3), x8, (1, 4, 0, 5), (3, 4, 5, 2)) - x470 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x470 += einsum(v.aabb.ovvv, (0, 1, 2, 3), (2, 3, 0, 1)) - x470 += einsum(x463, (0, 1, 2, 3), (1, 0, 2, 3)) - x470 += einsum(x464, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x470 += einsum(x465, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 - x470 += einsum(x466, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.99999999999992 - x470 += einsum(x467, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.999999999999921 - x470 += einsum(x468, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x470 += einsum(x469, (0, 1, 2, 3), (0, 1, 2, 3)) - l2new_abab += einsum(x470, (0, 1, 2, 3), l3.abaaba, (4, 0, 3, 5, 6, 2), (4, 1, 5, 6)) * 2.0 - del x470 - x471 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x471 += einsum(v.aabb.vvov, (0, 1, 2, 3), (2, 3, 0, 1)) - x471 += einsum(x418, (0, 1, 2, 3), (0, 1, 3, 2)) - del x418 - x471 += einsum(x419, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - del x419 - x471 += einsum(x420, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x420 - x471 += einsum(x421, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.999999999999921 - del x421 - x471 += einsum(x422, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.99999999999992 - del x422 - x471 += einsum(t2.abab, (0, 1, 2, 3), x235, (0, 2, 4, 5), (1, 3, 5, 4)) * -1.0 - x471 += einsum(x425, (0, 1, 2, 3), (0, 1, 2, 3)) - del x425 - l2new_abab += einsum(x471, (0, 1, 2, 3), l3.babbab, (4, 2, 1, 5, 6, 0), (3, 4, 6, 5)) * 2.0 - del x471 - x472 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x472 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) * 0.5 - x472 += einsum(x428, (0, 1, 2, 3), (0, 3, 2, 1)) * -0.5 - del x428 - x472 += einsum(x429, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.5 - del x429 - x472 += einsum(x430, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.49999999999998 - del x430 - x472 += einsum(x431, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.4999999999999405 - del x431 - x472 += einsum(t2.aaaa, (0, 1, 2, 3), x432, (1, 3, 4, 5), (0, 2, 5, 4)) * -1.0 - del x432 - x472 += einsum(t2.aaaa, (0, 1, 2, 3), x434, (0, 4, 1, 5), (4, 2, 3, 5)) * -0.5 - del x434 - l2new_abab += einsum(x472, (0, 1, 2, 3), l3.abaaba, (1, 4, 2, 5, 6, 0), (3, 4, 5, 6)) * 4.0 - del x472 - x473 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x473 += einsum(t1.bb, (0, 1), v.bbbb.vvvv, (2, 3, 4, 1), (0, 2, 3, 4)) - x474 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x474 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovvv, (0, 2, 4, 5), (1, 3, 4, 5)) - x475 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x475 += einsum(v.bbbb.ovov, (0, 1, 2, 3), t3.bbbbbb, (4, 0, 2, 5, 6, 3), (4, 5, 6, 1)) - x476 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x476 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.babbab, (4, 0, 2, 5, 1, 6), (4, 5, 6, 3)) - x477 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x477 += einsum(t2.bbbb, (0, 1, 2, 3), x217, (1, 3, 4, 5), (0, 2, 4, 5)) * 2.0 - x478 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x478 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x478 += einsum(x3, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x479 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x479 += einsum(t2.bbbb, (0, 1, 2, 3), x478, (0, 4, 1, 5), (4, 2, 3, 5)) * -1.0 - del x478 - x480 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x480 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x480 += einsum(x473, (0, 1, 2, 3), (0, 2, 3, 1)) - x480 += einsum(x474, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x480 += einsum(x475, (0, 1, 2, 3), (0, 2, 1, 3)) * -2.999999999999881 - x480 += einsum(x476, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.99999999999996 - x480 += einsum(x477, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x480 += einsum(x479, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - l2new_abab += einsum(x480, (0, 1, 2, 3), l3.babbab, (1, 4, 2, 5, 6, 0), (4, 3, 6, 5)) * 2.0 - del x480 - x481 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x481 += einsum(v.aabb.ooov, (0, 1, 2, 3), (2, 3, 0, 1)) - x481 += einsum(x7, (0, 1, 2, 3), (0, 1, 2, 3)) - x481 += einsum(x304, (0, 1, 2, 3), (0, 1, 2, 3)) - del x304 - x481 += einsum(x305, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.999999999999921 - del x305 - x481 += einsum(x306, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.99999999999992 - del x306 - x481 += einsum(x307, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x307 - x481 += einsum(x308, (0, 1, 2, 3), (0, 1, 3, 2)) - del x308 - x481 += einsum(x309, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x309 - x481 += einsum(x310, (0, 1, 2, 3), (0, 1, 2, 3)) - del x310 - x481 += einsum(x312, (0, 1, 2, 3), (0, 1, 3, 2)) - del x312 - x481 += einsum(x313, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x313 - l2new_abab += einsum(x481, (0, 1, 2, 3), l3.babbab, (4, 5, 1, 6, 2, 0), (5, 4, 3, 6)) * -2.0 - del x481 - x482 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x482 += einsum(v.aabb.ovoo, (0, 1, 2, 3), (2, 3, 0, 1)) * 0.5 - x482 += einsum(x118, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.5 - x482 += einsum(x119, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - x482 += einsum(x120, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.99999999999996 - x482 += einsum(x121, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.9999999999999605 - x482 += einsum(t2.abab, (0, 1, 2, 3), x122, (4, 5, 1, 3), (5, 4, 0, 2)) * -0.5 - del x122 - x482 += einsum(t2.aaaa, (0, 1, 2, 3), x39, (4, 5, 1, 3), (5, 4, 0, 2)) - x482 += einsum(t2.abab, (0, 1, 2, 3), x8, (4, 3, 0, 5), (1, 4, 5, 2)) * -0.5 - x482 += einsum(x21, (0, 1), t2.abab, (2, 3, 4, 1), (3, 0, 2, 4)) * 0.5 - del x21 - x482 += einsum(t1.bb, (0, 1), x126, (2, 1, 3, 4), (0, 2, 3, 4)) * 0.5 - del x126 - x482 += einsum(t1.aa, (0, 1), x128, (2, 3, 0, 4), (3, 2, 4, 1)) * -0.5 - del x128 - l2new_abab += einsum(x482, (0, 1, 2, 3), l3.abaaba, (4, 5, 3, 6, 0, 2), (4, 5, 6, 1)) * -4.0 - del x482 - x483 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x483 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * 0.3333333333333466 - x483 += einsum(x315, (0, 1, 2, 3), (2, 1, 0, 3)) * 0.3333333333333466 - del x315 - x483 += einsum(x316, (0, 1, 2, 3), (2, 1, 0, 3)) * -0.33333333333333326 - del x316 - x483 += einsum(x317, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - del x317 - x483 += einsum(t2.aaaa, (0, 1, 2, 3), x231, (4, 5, 1, 3), (5, 0, 4, 2)) * -0.6666666666666932 - del x231 - x483 += einsum(t2.abab, (0, 1, 2, 3), x31, (1, 3, 4, 5), (5, 0, 4, 2)) * 0.3333333333333466 - x483 += einsum(x245, (0, 1), t2.aaaa, (2, 3, 4, 1), (0, 2, 3, 4)) * 0.3333333333333466 - del x245 - x483 += einsum(t1.aa, (0, 1), x319, (2, 3, 1, 4), (3, 2, 0, 4)) * 0.3333333333333466 - del x319 - x483 += einsum(t1.aa, (0, 1), x254, (0, 2, 3, 4), (3, 2, 4, 1)) * -0.3333333333333466 - del x254 - l2new_abab += einsum(x483, (0, 1, 2, 3), l3.abaaba, (4, 5, 3, 1, 6, 2), (4, 5, 0, 6)) * 5.999999999999762 - del x483 - x484 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x484 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x484 += einsum(x146, (0, 1, 2, 3), (2, 1, 0, 3)) - x484 += einsum(x147, (0, 1, 2, 3), (2, 1, 0, 3)) * -2.999999999999881 - x484 += einsum(x148, (0, 1, 2, 3), (2, 1, 0, 3)) * -0.99999999999996 - x484 += einsum(x149, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - x484 += einsum(x150, (0, 1, 2, 3), (2, 0, 1, 3)) - del x150 - x484 += einsum(x151, (0, 1, 2, 3), (2, 1, 0, 3)) - del x151 - x484 += einsum(x154, (0, 1, 2, 3), (2, 1, 0, 3)) - del x154 - x484 += einsum(x155, (0, 1, 2, 3), (1, 2, 0, 3)) - del x155 - l2new_abab += einsum(x484, (0, 1, 2, 3), l3.babbab, (4, 5, 3, 1, 6, 2), (5, 4, 6, 0)) * 2.0 - del x484 - x485 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x485 += einsum(t1.aa, (0, 1), x8, (2, 3, 0, 4), (2, 3, 4, 1)) - del x8 - x486 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x486 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) - x486 += einsum(x15, (0, 1, 2, 3), (0, 1, 2, 3)) - x486 += einsum(x16, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x486 += einsum(x17, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x17 - x486 += einsum(x485, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x485 - l2new_abab += einsum(x486, (0, 1, 2, 3), x91, (4, 0, 2, 5, 6, 3), (6, 1, 5, 4)) * 2.0 - x487 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x487 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x487 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x487 += einsum(t1.aa, (0, 1), v.aaaa.ooov, (2, 3, 0, 4), (2, 3, 1, 4)) - x487 += einsum(x232, (0, 1, 2, 3), (0, 1, 2, 3)) - x487 += einsum(x234, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x234 - l2new_abab += einsum(x487, (0, 1, 2, 3), x61, (4, 5, 0, 6, 1, 2), (3, 5, 6, 4)) * -2.0 - del x487 - x488 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x488 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x488 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x488 += einsum(t1.bb, (0, 1), v.bbbb.ooov, (2, 3, 0, 4), (2, 3, 1, 4)) - x488 += einsum(x9, (0, 1, 2, 3), (0, 1, 2, 3)) - x488 += einsum(x11, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - l2new_abab += einsum(x488, (0, 1, 2, 3), x74, (0, 4, 1, 2, 5, 6), (6, 3, 5, 4)) * -2.0 - del x488 - x489 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x489 += einsum(t1.bb, (0, 1), x12, (2, 1, 3, 4), (0, 2, 3, 4)) - x490 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x490 += einsum(t1.bb, (0, 1), x3, (2, 3, 0, 4), (2, 3, 1, 4)) - x490 += einsum(x489, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - l2new_abab += einsum(x490, (0, 1, 2, 3), x74, (0, 4, 1, 2, 5, 6), (6, 3, 5, 4)) * 2.0 - del x490 - x491 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x491 += einsum(x271, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5000000000000198 - del x271 - x491 += einsum(x272, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5000000000000198 - del x272 - x491 += einsum(x273, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.7499999999999999 - del x273 - x491 += einsum(x274, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5000000000000198 - del x274 - x491 += einsum(x275, (0, 1, 2, 3), (0, 1, 2, 3)) - del x275 - x491 += einsum(x276, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5000000000000198 - del x276 - x491 += einsum(x277, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.7499999999999999 - del x277 - x491 += einsum(t1.bb, (0, 1), x106, (0, 2, 3, 4), (2, 1, 3, 4)) * -0.5000000000000198 - l2new_abab += einsum(x10, (0, 1, 2, 3), x491, (0, 2, 4, 5), (5, 3, 4, 1)) * -3.999999999999842 - del x491 - x492 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x492 += einsum(v.aabb.oovv, (0, 1, 2, 3), (2, 3, 0, 1)) - x492 += einsum(x247, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - l2new_abab += einsum(x492, (0, 1, 2, 3), x61, (4, 0, 2, 5, 3, 6), (6, 1, 5, 4)) * 2.0 - x493 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x493 += einsum(l2.aaaa, (0, 1, 2, 3), (2, 3, 0, 1)) - x493 += einsum(x282, (0, 1, 2, 3), (1, 0, 3, 2)) * 0.5 - del x282 - x493 += einsum(x283, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - del x283 - x493 += einsum(x284, (0, 1, 2, 3), (1, 0, 3, 2)) * 0.49999999999998 - del x284 - x493 += einsum(x285, (0, 1, 2, 3), (1, 0, 3, 2)) * 1.999999999999921 - del x285 - x493 += einsum(x286, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x286 - x493 += einsum(x287, (0, 1, 2, 3), (1, 0, 3, 2)) * 4.4999999999998215 - del x287 - x493 += einsum(x288, (0, 1, 2, 3), (1, 0, 3, 2)) * -3.0 - del x288 - x493 += einsum(t1.aa, (0, 1), x333, (0, 2, 3, 4), (3, 2, 1, 4)) - del x333 - l2new_abab += einsum(v.aabb.ovov, (0, 1, 2, 3), x493, (0, 4, 1, 5), (5, 3, 4, 2)) * 2.0 - del x493 - x494 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x494 += einsum(x64, (0, 1, 2, 3), (0, 1, 2, 3)) - del x64 - x494 += einsum(x65, (0, 1, 2, 3), (0, 1, 2, 3)) - del x65 - x495 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x495 += einsum(t1.aa, (0, 1), x494, (2, 3, 0, 4), (2, 3, 4, 1)) * 2.0 - x496 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x496 += einsum(l2.abab, (0, 1, 2, 3), (3, 1, 2, 0)) - x496 += einsum(x54, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x496 += einsum(x55, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x496 += einsum(x56, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.999999999999881 - x496 += einsum(x57, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.999999999999842 - x496 += einsum(x59, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - x496 += einsum(x60, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.999999999999881 - x496 += einsum(x62, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - x496 += einsum(x495, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x495 - l2new_abab += einsum(v.aaaa.ovov, (0, 1, 2, 3), x496, (4, 5, 2, 3), (1, 5, 0, 4)) - x497 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x497 += einsum(l2.bbbb, (0, 1, 2, 3), (2, 3, 0, 1)) * 2.0 - x497 += einsum(x81, (0, 1, 2, 3), (1, 0, 3, 2)) * 4.0 - x497 += einsum(x82, (0, 1, 2, 3), (1, 0, 3, 2)) - x497 += einsum(x83, (0, 1, 2, 3), (1, 0, 3, 2)) * 8.999999999999643 - x497 += einsum(x73, (0, 1, 2, 3), (1, 0, 3, 2)) * -6.0 - x497 += einsum(x84, (0, 1, 2, 3), (1, 0, 3, 2)) * 3.999999999999842 - x497 += einsum(x75, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 - x497 += einsum(x85, (0, 1, 2, 3), (1, 0, 3, 2)) * 0.99999999999996 - x497 += einsum(t1.bb, (0, 1), x157, (0, 2, 3, 4), (3, 2, 1, 4)) * 6.0 - l2new_abab += einsum(v.aabb.ovov, (0, 1, 2, 3), x497, (2, 4, 3, 5), (1, 5, 0, 4)) - del x497 - x498 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x498 += einsum(x54, (0, 1, 2, 3), (0, 1, 2, 3)) - del x54 - x498 += einsum(x55, (0, 1, 2, 3), (0, 1, 2, 3)) - del x55 - x498 += einsum(x56, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.4999999999999405 - del x56 - x498 += einsum(x57, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.999999999999921 - del x57 - x498 += einsum(x59, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x59 - x498 += einsum(x60, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.4999999999999405 - del x60 - x498 += einsum(x62, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x62 - x498 += einsum(t1.aa, (0, 1), x494, (2, 3, 0, 4), (2, 3, 4, 1)) * -1.0 - l2new_abab += einsum(v.aaaa.ovov, (0, 1, 2, 3), x498, (4, 5, 2, 1), (3, 5, 0, 4)) * -2.0 - del x498 - x499 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x499 += einsum(x0, (0, 1, 2, 3), (0, 2, 1, 3)) * -3.0 - x499 += einsum(x116, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - l2new_abab += einsum(v.aabb.ovvv, (0, 1, 2, 3), x499, (4, 5, 2, 3), (1, 5, 0, 4)) * 2.0 - x500 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x500 += einsum(x291, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - del x291 - x500 += einsum(x292, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.99999999999996 - del x292 - x500 += einsum(x293, (0, 1, 2, 3), (0, 1, 2, 3)) - del x293 - x500 += einsum(x294, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.99999999999996 - del x294 - x500 += einsum(x295, (0, 1, 2, 3), (0, 1, 2, 3)) - del x295 - x500 += einsum(t1.bb, (0, 1), x494, (0, 2, 3, 4), (2, 1, 3, 4)) - del x494 - l2new_abab += einsum(v.aabb.ovov, (0, 1, 2, 3), x500, (4, 3, 5, 0), (1, 4, 5, 2)) * 2.0 - del x500 - x501 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x501 += einsum(x87, (0, 1, 2, 3), (0, 1, 2, 3)) - del x87 - x501 += einsum(x88, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.99999999999992 - del x88 - x501 += einsum(x89, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x89 - x501 += einsum(x90, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.99999999999992 - del x90 - x501 += einsum(x92, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x92 - x501 += einsum(t1.aa, (0, 1), x106, (2, 3, 0, 4), (2, 3, 4, 1)) * 2.0 - del x106 - l2new_abab += einsum(v.aabb.ovov, (0, 1, 2, 3), x501, (4, 2, 5, 1), (5, 3, 0, 4)) - del x501 - x502 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x502 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) - x502 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x502 += einsum(x489, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x489 - l2new_abab += einsum(l2.abab, (0, 1, 2, 3), x502, (3, 4, 1, 5), (0, 5, 2, 4)) * -1.0 - del x502 - x503 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x503 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) - x503 += einsum(x445, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x445 - l2new_abab += einsum(l2.abab, (0, 1, 2, 3), x503, (2, 4, 0, 5), (5, 1, 4, 3)) * -1.0 - del x503 - x504 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x504 += einsum(v.aabb.oovv, (0, 1, 2, 3), (2, 3, 0, 1)) - x504 += einsum(x246, (0, 1, 2, 3), (1, 0, 2, 3)) - l2new_abab += einsum(l2.abab, (0, 1, 2, 3), x504, (1, 4, 2, 5), (0, 4, 5, 3)) * -1.0 - del x504 - x505 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x505 += einsum(v.aabb.vvoo, (0, 1, 2, 3), (2, 3, 0, 1)) - x505 += einsum(x22, (0, 1, 2, 3), (0, 1, 3, 2)) - l2new_abab += einsum(l2.abab, (0, 1, 2, 3), x505, (3, 4, 0, 5), (5, 1, 2, 4)) * -1.0 - del x505 - x506 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x506 += einsum(v.aabb.oooo, (0, 1, 2, 3), (2, 3, 0, 1)) - x506 += einsum(x29, (0, 1, 2, 3), (1, 0, 2, 3)) - del x29 - x506 += einsum(x30, (0, 1, 2, 3), (0, 1, 2, 3)) - del x30 - x506 += einsum(x249, (0, 1, 2, 3), (0, 1, 3, 2)) - del x249 - l2new_abab += einsum(l2.abab, (0, 1, 2, 3), x506, (3, 4, 2, 5), (0, 1, 5, 4)) - x507 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x507 += einsum(t1.aa, (0, 1), x235, (0, 2, 1, 3), (2, 3)) - del x235 - x508 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x508 += einsum(f.aa.vv, (0, 1), (0, 1)) * -1.0 - x508 += einsum(x351, (0, 1), (1, 0)) * -1.0 - del x351 - x508 += einsum(x451, (0, 1), (0, 1)) - del x451 - x508 += einsum(x452, (0, 1), (0, 1)) * 2.0 - del x452 - x508 += einsum(x507, (0, 1), (1, 0)) * -1.0 - del x507 - l2new_abab += einsum(x508, (0, 1), l2.abab, (0, 2, 3, 4), (1, 2, 3, 4)) * -1.0 - l3new_babbab += einsum(x508, (0, 1), l3.babbab, (2, 0, 3, 4, 5, 6), (2, 1, 3, 4, 5, 6)) * -2.0 - del x508 - x509 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x509 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (0, 4, 1, 3), (2, 4)) - x510 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x510 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 1, 4), (3, 4)) - x511 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x511 += einsum(t1.bb, (0, 1), x217, (0, 1, 2, 3), (2, 3)) - del x217 - x512 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x512 += einsum(f.bb.vv, (0, 1), (0, 1)) * -1.0 - x512 += einsum(x216, (0, 1), (1, 0)) * -1.0 - x512 += einsum(x509, (0, 1), (0, 1)) * 2.0 - x512 += einsum(x510, (0, 1), (0, 1)) - x512 += einsum(x511, (0, 1), (1, 0)) * -1.0 - del x511 - l2new_abab += einsum(x512, (0, 1), l2.abab, (2, 0, 3, 4), (2, 1, 3, 4)) * -1.0 - l3new_abaaba += einsum(x512, (0, 1), l3.abaaba, (2, 0, 3, 4, 5, 6), (2, 1, 3, 4, 5, 6)) * -2.0 - del x512 - x513 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x513 += einsum(x180, (0, 1), (0, 1)) * 1.00000000000004 - del x180 - x513 += einsum(x181, (0, 1), (0, 1)) * 2.00000000000008 - del x181 - x513 += einsum(x182, (0, 1), (0, 1)) - del x182 - x513 += einsum(x183, (0, 1), (0, 1)) * 1.9999999999999991 - del x183 - x513 += einsum(x184, (0, 1), (0, 1)) * 2.9999999999999982 - del x184 - l2new_abab += einsum(x513, (0, 1), v.aabb.ovov, (2, 1, 3, 4), (0, 4, 2, 3)) * -0.9999999999999601 - del x513 - x514 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x514 += einsum(x161, (0, 1), (0, 1)) * 2.0 - x514 += einsum(x162, (0, 1), (0, 1)) - x514 += einsum(x163, (0, 1), (0, 1)) * 2.9999999999998788 - x514 += einsum(x164, (0, 1), (0, 1)) * 1.9999999999999194 - x514 += einsum(x211, (0, 1), (0, 1)) * 0.9999999999999601 - l2new_abab += einsum(x514, (0, 1), v.aabb.ovov, (2, 3, 4, 1), (3, 0, 2, 4)) * -1.0 - del x514 - x515 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x515 += einsum(x230, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x515 += einsum(x230, (0, 1, 2, 3), (0, 2, 1, 3)) - l2new_abab += einsum(x515, (0, 1, 2, 3), x63, (4, 5, 0, 1), (3, 5, 2, 4)) * -1.0 - l3new_babbab += einsum(x515, (0, 1, 2, 3), x58, (4, 5, 6, 7, 0, 1), (6, 3, 7, 5, 2, 4)) * 2.0 - x516 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x516 += einsum(x3, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x516 += einsum(x3, (0, 1, 2, 3), (0, 2, 1, 3)) - l2new_abab += einsum(x516, (0, 1, 2, 3), x93, (0, 2, 4, 5), (5, 3, 4, 1)) - del x93 - l3new_abaaba += einsum(x516, (0, 1, 2, 3), x91, (0, 1, 4, 5, 6, 7), (6, 3, 7, 5, 2, 4)) * 2.0 - x517 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x517 += einsum(x199, (0, 1), (0, 1)) * 1.00000000000004 - del x199 - x517 += einsum(x200, (0, 1), (0, 1)) * 1.00000000000004 - del x200 - x517 += einsum(x201, (0, 1), (0, 1)) * 2.00000000000008 - del x201 - x517 += einsum(x202, (0, 1), (0, 1)) - del x202 - x517 += einsum(x203, (0, 1), (0, 1)) * 1.9999999999999991 - del x203 - x517 += einsum(x204, (0, 1), (0, 1)) * 2.9999999999999982 - del x204 - l2new_abab += einsum(x517, (0, 1), v.aabb.ovov, (1, 2, 3, 4), (2, 4, 0, 3)) * -0.9999999999999601 - del x517 - x518 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x518 += einsum(l1.bb, (0, 1), v.bbbb.ovvv, (2, 3, 4, 0), (1, 2, 3, 4)) - x519 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x519 += einsum(l2.abab, (0, 1, 2, 3), x15, (4, 5, 2, 0), (3, 4, 1, 5)) - x520 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x520 += einsum(x63, (0, 1, 2, 3), x7, (4, 5, 2, 3), (0, 4, 1, 5)) - del x63 - x521 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x521 += einsum(x499, (0, 1, 2, 3), x80, (4, 3, 1, 5), (4, 0, 5, 2)) * 2.0 - del x499 - x522 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x522 += einsum(t1.bb, (0, 1), x157, (2, 0, 3, 4), (2, 3, 1, 4)) * 3.0 - del x157 - x523 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x523 += einsum(x81, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x81 - x523 += einsum(x82, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - del x82 - x523 += einsum(x83, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.4999999999998215 - del x83 - x523 += einsum(x73, (0, 1, 2, 3), (0, 1, 2, 3)) * -3.0 - del x73 - x523 += einsum(x84, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.999999999999921 - del x84 - x523 += einsum(x75, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x75 - x523 += einsum(x85, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.49999999999998 - del x85 - x523 += einsum(x522, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x522 - x524 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x524 += einsum(x10, (0, 1, 2, 3), x523, (4, 0, 5, 2), (1, 4, 3, 5)) * 2.0 - del x523 - x525 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x525 += einsum(v.aabb.ovov, (0, 1, 2, 3), x496, (4, 5, 0, 1), (2, 4, 3, 5)) - del x496 - x526 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x526 += einsum(v.aabb.vvov, (0, 1, 2, 3), x100, (4, 5, 0, 1), (2, 4, 3, 5)) * 2.0 - x527 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x527 += einsum(t1.bb, (0, 1), x80, (2, 1, 3, 4), (0, 2, 3, 4)) - del x80 - x528 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x528 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x528 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x528 += einsum(x527, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x527 - x529 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x529 += einsum(l2.bbbb, (0, 1, 2, 3), x528, (3, 4, 5, 1), (2, 4, 0, 5)) * 2.0 - del x528 - x530 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x530 += einsum(x1, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.3333333333333333 - x530 += einsum(x76, (0, 1, 2, 3), (0, 1, 2, 3)) - del x76 - x530 += einsum(x77, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.3333333333333333 - del x77 - x531 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x531 += einsum(x213, (0, 1, 2, 3), x530, (4, 0, 2, 5), (1, 4, 3, 5)) * 6.0 - del x530 - x532 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x532 += einsum(x161, (0, 1), (0, 1)) - del x161 - x532 += einsum(x162, (0, 1), (0, 1)) * 0.5 - del x162 - x532 += einsum(x163, (0, 1), (0, 1)) * 1.4999999999999394 - del x163 - x532 += einsum(x164, (0, 1), (0, 1)) * 0.9999999999999597 - del x164 - x532 += einsum(x211, (0, 1), (0, 1)) * 0.49999999999998007 - del x211 - x533 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x533 += einsum(x532, (0, 1), v.bbbb.ovov, (2, 1, 3, 4), (2, 3, 4, 0)) * 2.0 - del x532 - x534 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x534 += einsum(v.aabb.ooov, (0, 1, 2, 3), x101, (4, 5, 0, 1), (2, 4, 3, 5)) - del x101 - x535 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x535 += einsum(x1, (0, 1, 2, 3), x516, (0, 2, 4, 5), (1, 4, 3, 5)) * 2.0 - del x1 - x536 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x536 += einsum(x341, (0, 1), v.bbbb.ovov, (2, 3, 1, 4), (2, 0, 4, 3)) - del x341 - x537 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x537 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x537 += einsum(x3, (0, 1, 2, 3), (0, 1, 2, 3)) - x538 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x538 += einsum(l1.bb, (0, 1), x537, (1, 2, 3, 4), (2, 3, 0, 4)) - x539 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x539 += einsum(f.bb.ov, (0, 1), l1.bb, (2, 3), (0, 3, 1, 2)) - x539 += einsum(x518, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x518 - x539 += einsum(x519, (0, 1, 2, 3), (0, 1, 2, 3)) - del x519 - x539 += einsum(x520, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x520 - x539 += einsum(x521, (0, 1, 2, 3), (1, 0, 3, 2)) - del x521 - x539 += einsum(x524, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x524 - x539 += einsum(x525, (0, 1, 2, 3), (1, 0, 3, 2)) - del x525 - x539 += einsum(x526, (0, 1, 2, 3), (1, 0, 3, 2)) - del x526 - x539 += einsum(x529, (0, 1, 2, 3), (0, 1, 2, 3)) - del x529 - x539 += einsum(x531, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x531 - x539 += einsum(x533, (0, 1, 2, 3), (1, 0, 3, 2)) - del x533 - x539 += einsum(x534, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x534 - x539 += einsum(x535, (0, 1, 2, 3), (0, 1, 2, 3)) - del x535 - x539 += einsum(x536, (0, 1, 2, 3), (1, 0, 3, 2)) - del x536 - x539 += einsum(x538, (0, 1, 2, 3), (0, 1, 2, 3)) - del x538 - x539 += einsum(l1.bb, (0, 1), x227, (2, 3), (1, 2, 0, 3)) - l2new_bbbb += einsum(x539, (0, 1, 2, 3), (2, 3, 0, 1)) - l2new_bbbb += einsum(x539, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - l2new_bbbb += einsum(x539, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 - l2new_bbbb += einsum(x539, (0, 1, 2, 3), (3, 2, 1, 0)) - del x539 - x540 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x540 += einsum(f.bb.ov, (0, 1), t1.bb, (2, 1), (0, 2)) - x541 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x541 += einsum(x540, (0, 1), l2.bbbb, (2, 3, 4, 1), (0, 4, 2, 3)) - x542 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x542 += einsum(l2.bbbb, (0, 1, 2, 3), x27, (3, 2, 4, 5), (4, 5, 0, 1)) * -1.0 - x543 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x543 += einsum(f.bb.ov, (0, 1), t2.bbbb, (2, 3, 4, 1), (0, 2, 3, 4)) - x544 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x544 += einsum(x543, (0, 1, 2, 3), l3.bbbbbb, (4, 5, 3, 6, 1, 2), (0, 6, 4, 5)) * -1.0 - del x543 - x545 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x545 += einsum(f.bb.ov, (0, 1), t2.abab, (2, 3, 4, 1), (0, 3, 2, 4)) - x546 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x546 += einsum(x545, (0, 1, 2, 3), l3.babbab, (4, 3, 5, 6, 2, 1), (0, 6, 4, 5)) - del x545 - x547 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x547 += einsum(x227, (0, 1), t2.abab, (2, 3, 4, 1), (3, 0, 2, 4)) - x548 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x548 += einsum(v.aabb.ovoo, (0, 1, 2, 3), (2, 3, 0, 1)) - x548 += einsum(x118, (0, 1, 2, 3), (1, 0, 2, 3)) - del x118 - x548 += einsum(x119, (0, 1, 2, 3), (0, 1, 2, 3)) - del x119 - x548 += einsum(x120, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.99999999999992 - del x120 - x548 += einsum(x121, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.999999999999921 - del x121 - x548 += einsum(x123, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x123 - x548 += einsum(x124, (0, 1, 2, 3), (1, 0, 2, 3)) - del x124 - x548 += einsum(x125, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x125 - x548 += einsum(x547, (0, 1, 2, 3), (0, 1, 2, 3)) - del x547 - x548 += einsum(x127, (0, 1, 2, 3), (0, 1, 2, 3)) - del x127 - x548 += einsum(x129, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x129 - x549 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x549 += einsum(x548, (0, 1, 2, 3), l3.babbab, (4, 3, 5, 6, 2, 0), (6, 1, 4, 5)) * -2.0 - del x548 - x550 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x550 += einsum(t2.abab, (0, 1, 2, 3), x39, (4, 5, 0, 2), (1, 4, 5, 3)) - del x39 - x551 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x551 += einsum(x227, (0, 1), t2.bbbb, (2, 3, 4, 1), (2, 3, 0, 4)) * -1.0 - x552 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x552 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x552 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x552 += einsum(x152, (0, 1, 2, 3), (1, 0, 2, 3)) - del x152 - x553 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x553 += einsum(t1.bb, (0, 1), x552, (2, 3, 1, 4), (0, 2, 3, 4)) - del x552 - x554 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x554 += einsum(t1.bb, (0, 1), x48, (0, 2, 3, 4), (2, 3, 4, 1)) - del x48 - x555 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x555 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) - x555 += einsum(x146, (0, 1, 2, 3), (1, 0, 2, 3)) - del x146 - x555 += einsum(x147, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.999999999999881 - del x147 - x555 += einsum(x148, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.9999999999999606 - del x148 - x555 += einsum(x149, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x149 - x555 += einsum(x550, (0, 1, 2, 3), (0, 2, 1, 3)) - del x550 - x555 += einsum(x551, (0, 1, 2, 3), (1, 0, 2, 3)) - del x551 - x555 += einsum(x553, (0, 1, 2, 3), (2, 0, 1, 3)) - del x553 - x555 += einsum(x554, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x554 - x556 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x556 += einsum(x555, (0, 1, 2, 3), l3.bbbbbb, (4, 5, 3, 6, 0, 1), (6, 2, 4, 5)) * -6.0 - del x555 - x557 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x557 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x557 += einsum(x3, (0, 1, 2, 3), (0, 2, 1, 3)) - x558 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x558 += einsum(x136, (0, 1, 2, 3), x557, (0, 4, 5, 3), (4, 5, 1, 2)) * 6.0 - del x557 - x559 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x559 += einsum(t1.bb, (0, 1), x227, (2, 1), (0, 2)) - x560 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x560 += einsum(x219, (0, 1), (1, 0)) - x560 += einsum(x220, (0, 1), (0, 1)) * 2.0 - x560 += einsum(x221, (0, 1), (0, 1)) - x560 += einsum(x223, (0, 1), (1, 0)) * -1.0 - x560 += einsum(x559, (0, 1), (0, 1)) - del x559 - x561 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x561 += einsum(x560, (0, 1), l2.bbbb, (2, 3, 4, 0), (4, 1, 2, 3)) * -2.0 - x562 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x562 += einsum(x541, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - del x541 - x562 += einsum(x542, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - del x542 - x562 += einsum(x544, (0, 1, 2, 3), (0, 1, 3, 2)) * 6.0 - del x544 - x562 += einsum(x546, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - del x546 - x562 += einsum(x549, (0, 1, 2, 3), (0, 1, 3, 2)) - del x549 - x562 += einsum(x556, (0, 1, 2, 3), (0, 1, 2, 3)) - del x556 - x562 += einsum(x558, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x558 - x562 += einsum(x561, (0, 1, 2, 3), (0, 1, 3, 2)) - del x561 - l2new_bbbb += einsum(x562, (0, 1, 2, 3), (3, 2, 0, 1)) - l2new_bbbb += einsum(x562, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 - del x562 - x563 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x563 += einsum(f.bb.vv, (0, 1), l2.bbbb, (2, 1, 3, 4), (3, 4, 0, 2)) - x564 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x564 += einsum(x246, (0, 1, 2, 3), x58, (4, 5, 6, 1, 2, 3), (4, 5, 6, 0)) - x565 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x565 += einsum(v.aabb.ovvv, (0, 1, 2, 3), (2, 3, 0, 1)) - x565 += einsum(x463, (0, 1, 2, 3), (1, 0, 2, 3)) - del x463 - x565 += einsum(x464, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x464 - x565 += einsum(x465, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 - del x465 - x565 += einsum(x466, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.99999999999992 - del x466 - x565 += einsum(x467, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.999999999999921 - del x467 - x565 += einsum(x468, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x468 - x565 += einsum(x469, (0, 1, 2, 3), (1, 0, 2, 3)) - del x469 - x566 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x566 += einsum(x565, (0, 1, 2, 3), l3.babbab, (4, 3, 1, 5, 2, 6), (5, 6, 4, 0)) * -2.0 - del x565 - x567 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x567 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) - x567 += einsum(x473, (0, 1, 2, 3), (0, 3, 2, 1)) * -1.0 - del x473 - x567 += einsum(x474, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x474 - x567 += einsum(x475, (0, 1, 2, 3), (0, 2, 1, 3)) * -2.999999999999881 - del x475 - x567 += einsum(x476, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.9999999999999606 - del x476 - x567 += einsum(x477, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x477 - x567 += einsum(x479, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x479 - x568 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x568 += einsum(x567, (0, 1, 2, 3), l3.bbbbbb, (4, 1, 2, 5, 6, 0), (5, 6, 4, 3)) * -6.0 - del x567 - x569 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x569 += einsum(x486, (0, 1, 2, 3), x74, (4, 5, 0, 6, 2, 3), (4, 5, 6, 1)) * 2.0 - del x486 - x570 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x570 += einsum(t1.bb, (0, 1), v.bbbb.ooov, (2, 0, 3, 4), (2, 3, 1, 4)) - x571 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x571 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x571 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x571 += einsum(x570, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x570 - x571 += einsum(x9, (0, 1, 2, 3), (0, 1, 2, 3)) - x571 += einsum(x11, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x11 - x572 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x572 += einsum(x571, (0, 1, 2, 3), x72, (4, 5, 0, 1, 2, 6), (4, 5, 6, 3)) * 6.0 - del x571 - x573 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x573 += einsum(t1.bb, (0, 1), x3, (2, 0, 3, 4), (2, 3, 1, 4)) - x574 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x574 += einsum(x573, (0, 1, 2, 3), (0, 1, 2, 3)) - del x573 - x574 += einsum(x13, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x575 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x575 += einsum(x574, (0, 1, 2, 3), x72, (4, 5, 0, 1, 2, 6), (4, 5, 6, 3)) * 6.0 - del x574 - x576 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x576 += einsum(x492, (0, 1, 2, 3), x58, (4, 5, 0, 6, 2, 3), (4, 5, 6, 1)) * 2.0 - del x492 - x577 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x577 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), x137, (4, 5, 0, 3), (4, 5, 1, 2)) * 2.0 - x578 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x578 += einsum(t1.bb, (0, 1), x12, (0, 2, 1, 3), (2, 3)) - del x12 - x579 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x579 += einsum(x216, (0, 1), (1, 0)) * -1.0 - del x216 - x579 += einsum(x509, (0, 1), (1, 0)) * 2.0 - del x509 - x579 += einsum(x510, (0, 1), (1, 0)) - del x510 - x579 += einsum(x578, (0, 1), (0, 1)) * -1.0 - del x578 - x580 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x580 += einsum(x579, (0, 1), l2.bbbb, (2, 1, 3, 4), (3, 4, 2, 0)) * -2.0 - x581 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x581 += einsum(v.bbbb.ovov, (0, 1, 2, 3), x158, (2, 4, 5, 0), (4, 5, 1, 3)) * 6.0 - del x158 - x582 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x582 += einsum(x227, (0, 1), x78, (2, 3, 0, 4), (2, 3, 4, 1)) * 2.0 - x583 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x583 += einsum(f.bb.ov, (0, 1), x78, (2, 3, 0, 4), (2, 3, 1, 4)) * 2.0 - x584 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x584 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x584 += einsum(x563, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - del x563 - x584 += einsum(x564, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - del x564 - x584 += einsum(x566, (0, 1, 2, 3), (1, 0, 3, 2)) - del x566 - x584 += einsum(x568, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x568 - x584 += einsum(x569, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x569 - x584 += einsum(x572, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x572 - x584 += einsum(x575, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x575 - x584 += einsum(x576, (0, 1, 2, 3), (0, 1, 3, 2)) - del x576 - x584 += einsum(x577, (0, 1, 2, 3), (0, 1, 3, 2)) - del x577 - x584 += einsum(x580, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x580 - x584 += einsum(x581, (0, 1, 2, 3), (0, 1, 2, 3)) - del x581 - x584 += einsum(x582, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x582 - x584 += einsum(x583, (0, 1, 2, 3), (1, 0, 3, 2)) - del x583 - l2new_bbbb += einsum(x584, (0, 1, 2, 3), (3, 2, 0, 1)) - l2new_bbbb += einsum(x584, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 - del x584 - x585 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x585 += einsum(f.bb.oo, (0, 1), l2.bbbb, (2, 3, 4, 1), (0, 4, 2, 3)) - l2new_bbbb += einsum(x585, (0, 1, 2, 3), (3, 2, 0, 1)) * -2.0 - l2new_bbbb += einsum(x585, (0, 1, 2, 3), (3, 2, 1, 0)) * 2.0 - del x585 - x586 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x586 += einsum(v.bbbb.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x586 += einsum(x25, (0, 1, 2, 3), (1, 3, 2, 0)) - x586 += einsum(x26, (0, 1, 2, 3), (0, 2, 3, 1)) - l2new_bbbb += einsum(l2.bbbb, (0, 1, 2, 3), x586, (3, 4, 5, 2), (0, 1, 5, 4)) * 2.0 - x587 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x587 += einsum(x141, (0, 1, 2, 3), (1, 0, 3, 2)) * -0.3333333333333468 - del x141 - x587 += einsum(x2, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.3333333333333468 - del x2 - x587 += einsum(x142, (0, 1, 2, 3), (0, 1, 3, 2)) - del x142 - l2new_bbbb += einsum(v.bbbb.ovov, (0, 1, 2, 3), x587, (4, 5, 2, 0), (1, 3, 5, 4)) * -5.9999999999997575 - del x587 - x588 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x588 += einsum(v.aabb.ovoo, (0, 1, 2, 3), x91, (2, 3, 4, 5, 6, 7), (4, 5, 0, 6, 7, 1)) - x589 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x589 += einsum(t2.aaaa, (0, 1, 2, 3), x233, (1, 4, 5, 3), (0, 4, 2, 5)) * 2.0000000000000204 - x590 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x590 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x590 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x590 += einsum(x232, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.00000000000001 - x590 += einsum(x589, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x589 - x590 += einsum(x236, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x591 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x591 += einsum(x590, (0, 1, 2, 3), l3.aaaaaa, (4, 5, 2, 6, 7, 0), (6, 7, 1, 4, 5, 3)) * 6.0 - del x590 - x592 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x592 += einsum(t2.abab, (0, 1, 2, 3), x240, (0, 4, 2, 5), (1, 3, 4, 5)) * 1.00000000000001 - x593 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x593 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) - x593 += einsum(x238, (0, 1, 2, 3), (0, 1, 2, 3)) - x593 += einsum(x592, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x594 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x594 += einsum(x593, (0, 1, 2, 3), l3.abaaba, (4, 1, 5, 6, 0, 7), (6, 7, 2, 4, 5, 3)) * 2.0 - del x593 - x595 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x595 += einsum(x515, (0, 1, 2, 3), x193, (4, 5, 0, 1, 6, 7), (4, 5, 2, 6, 7, 3)) * 6.0 - del x515 - x596 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x596 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x596 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x597 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x597 += einsum(x596, (0, 1, 2, 3), x193, (4, 5, 0, 1, 6, 7), (4, 5, 2, 6, 7, 3)) * 6.0 - del x596 - x598 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x598 += einsum(x588, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 2.0 - del x588 - x598 += einsum(x591, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x591 - x598 += einsum(x594, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) - del x594 - x598 += einsum(x595, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) - del x595 - x598 += einsum(x597, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) - del x597 - l3new_aaaaaa += einsum(x598, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 0, 2)) - l3new_aaaaaa += einsum(x598, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 0, 2)) * -1.0 - l3new_aaaaaa += einsum(x598, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) * -1.0 - l3new_aaaaaa += einsum(x598, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 2, 0)) * -1.0 - l3new_aaaaaa += einsum(x598, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) - l3new_aaaaaa += einsum(x598, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) - l3new_aaaaaa += einsum(x598, (0, 1, 2, 3, 4, 5), (4, 3, 5, 2, 1, 0)) - l3new_aaaaaa += einsum(x598, (0, 1, 2, 3, 4, 5), (4, 5, 3, 2, 1, 0)) * -1.0 - l3new_aaaaaa += einsum(x598, (0, 1, 2, 3, 4, 5), (5, 3, 4, 2, 1, 0)) * -1.0 - del x598 - x599 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x599 += einsum(l2.aaaa, (0, 1, 2, 3), x230, (3, 4, 5, 6), (2, 4, 5, 0, 1, 6)) - del x230 - l3new_aaaaaa += einsum(x599, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 1, 2)) * 2.0 - l3new_aaaaaa += einsum(x599, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 1, 2)) * 2.0 - l3new_aaaaaa += einsum(x599, (0, 1, 2, 3, 4, 5), (5, 4, 3, 0, 1, 2)) * -2.0 - l3new_aaaaaa += einsum(x599, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 2, 1)) * -2.0 - l3new_aaaaaa += einsum(x599, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) * -2.0 - l3new_aaaaaa += einsum(x599, (0, 1, 2, 3, 4, 5), (5, 4, 3, 0, 2, 1)) * 2.0 - l3new_aaaaaa += einsum(x599, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 0, 2)) * -2.0 - l3new_aaaaaa += einsum(x599, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 0, 2)) * -2.0 - l3new_aaaaaa += einsum(x599, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 0, 2)) * 2.0 - l3new_aaaaaa += einsum(x599, (0, 1, 2, 3, 4, 5), (3, 4, 5, 2, 0, 1)) * 2.0 - l3new_aaaaaa += einsum(x599, (0, 1, 2, 3, 4, 5), (4, 5, 3, 2, 0, 1)) * 2.0 - l3new_aaaaaa += einsum(x599, (0, 1, 2, 3, 4, 5), (5, 4, 3, 2, 0, 1)) * -2.0 - l3new_aaaaaa += einsum(x599, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 2, 0)) * 2.0 - l3new_aaaaaa += einsum(x599, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) * 2.0 - l3new_aaaaaa += einsum(x599, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 2, 0)) * -2.0 - l3new_aaaaaa += einsum(x599, (0, 1, 2, 3, 4, 5), (3, 4, 5, 2, 1, 0)) * -2.0 - l3new_aaaaaa += einsum(x599, (0, 1, 2, 3, 4, 5), (4, 5, 3, 2, 1, 0)) * -2.0 - l3new_aaaaaa += einsum(x599, (0, 1, 2, 3, 4, 5), (5, 4, 3, 2, 1, 0)) * 2.0 - del x599 - x600 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x600 += einsum(l2.aaaa, (0, 1, 2, 3), v.aaaa.ovvv, (4, 5, 6, 1), (2, 3, 4, 0, 5, 6)) - x601 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x601 += einsum(v.aaaa.ovov, (0, 1, 2, 3), x326, (4, 5, 2, 6), (4, 5, 0, 6, 3, 1)) * 6.0 - del x326 - x602 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x602 += einsum(x600, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 2.0 - del x600 - x602 += einsum(x601, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 - del x601 - l3new_aaaaaa += einsum(x602, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 0, 2)) - l3new_aaaaaa += einsum(x602, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 0, 2)) * -1.0 - l3new_aaaaaa += einsum(x602, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 0, 2)) * -1.0 - l3new_aaaaaa += einsum(x602, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) - l3new_aaaaaa += einsum(x602, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 0, 2)) - l3new_aaaaaa += einsum(x602, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 0, 2)) * -1.0 - l3new_aaaaaa += einsum(x602, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 2, 0)) * -1.0 - l3new_aaaaaa += einsum(x602, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 2, 0)) - l3new_aaaaaa += einsum(x602, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 2, 0)) - l3new_aaaaaa += einsum(x602, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) * -1.0 - l3new_aaaaaa += einsum(x602, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) * -1.0 - l3new_aaaaaa += einsum(x602, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 2, 0)) - l3new_aaaaaa += einsum(x602, (0, 1, 2, 3, 4, 5), (3, 4, 5, 2, 1, 0)) - l3new_aaaaaa += einsum(x602, (0, 1, 2, 3, 4, 5), (3, 5, 4, 2, 1, 0)) * -1.0 - l3new_aaaaaa += einsum(x602, (0, 1, 2, 3, 4, 5), (4, 3, 5, 2, 1, 0)) * -1.0 - l3new_aaaaaa += einsum(x602, (0, 1, 2, 3, 4, 5), (5, 3, 4, 2, 1, 0)) - l3new_aaaaaa += einsum(x602, (0, 1, 2, 3, 4, 5), (4, 5, 3, 2, 1, 0)) - l3new_aaaaaa += einsum(x602, (0, 1, 2, 3, 4, 5), (5, 4, 3, 2, 1, 0)) * -1.0 - del x602 - x603 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x603 += einsum(f.aa.vv, (0, 1), l3.aaaaaa, (2, 3, 1, 4, 5, 6), (4, 5, 6, 0, 2, 3)) - x604 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x604 += einsum(f.aa.ov, (0, 1), x193, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) - x605 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x605 += einsum(v.aaaa.vvvv, (0, 1, 2, 3), l3.aaaaaa, (4, 1, 3, 5, 6, 7), (5, 6, 7, 4, 0, 2)) - x606 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x606 += einsum(x603, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -6.0 - del x603 - x606 += einsum(x604, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 6.0 - del x604 - x606 += einsum(x605, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -6.0 - del x605 - l3new_aaaaaa += einsum(x606, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 2, 0)) - l3new_aaaaaa += einsum(x606, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) - l3new_aaaaaa += einsum(x606, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 2, 0)) * -1.0 - del x606 - x607 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x607 += einsum(x462, (0, 1, 2, 3), l3.aaaaaa, (4, 5, 6, 7, 0, 2), (7, 1, 3, 4, 5, 6)) * -6.0 - del x462 - x608 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x608 += einsum(f.aa.oo, (0, 1), (0, 1)) - x608 += einsum(x389, (0, 1), (1, 0)) - del x389 - x609 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x609 += einsum(x608, (0, 1), l3.aaaaaa, (2, 3, 4, 5, 6, 0), (5, 6, 1, 2, 3, 4)) * 6.0 - x610 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x610 += einsum(x607, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) - del x607 - x610 += einsum(x609, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * -1.0 - del x609 - l3new_aaaaaa += einsum(x610, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 1, 2)) - l3new_aaaaaa += einsum(x610, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 0, 2)) * -1.0 - l3new_aaaaaa += einsum(x610, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) - del x610 - x611 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x611 += einsum(t2.aaaa, (0, 1, 2, 3), l3.aaaaaa, (4, 2, 3, 5, 6, 7), (5, 6, 7, 0, 1, 4)) - x612 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x612 += einsum(x611, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - del x611 - x612 += einsum(x325, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - del x325 - x613 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x613 += einsum(v.aaaa.ovov, (0, 1, 2, 3), x612, (4, 5, 6, 0, 2, 7), (4, 5, 6, 7, 1, 3)) * 6.0 - del x612 - l3new_aaaaaa += einsum(x613, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 2, 0)) * -1.0 - l3new_aaaaaa += einsum(x613, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) - l3new_aaaaaa += einsum(x613, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 2, 0)) * -1.0 - del x613 - x614 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x614 += einsum(l2.aaaa, (0, 1, 2, 3), v.aaaa.ooov, (4, 3, 5, 6), (2, 4, 5, 0, 1, 6)) - x615 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x615 += einsum(v.aaaa.ovov, (0, 1, 2, 3), x410, (4, 5, 6, 1), (4, 0, 2, 5, 6, 3)) * 2.0 - x616 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x616 += einsum(x614, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -2.0 - del x614 - x616 += einsum(x615, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) - del x615 - l3new_aaaaaa += einsum(x616, (0, 1, 2, 3, 4, 5), (4, 3, 5, 0, 1, 2)) - l3new_aaaaaa += einsum(x616, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 1, 2)) * -1.0 - l3new_aaaaaa += einsum(x616, (0, 1, 2, 3, 4, 5), (5, 3, 4, 0, 1, 2)) * -1.0 - l3new_aaaaaa += einsum(x616, (0, 1, 2, 3, 4, 5), (4, 3, 5, 0, 2, 1)) * -1.0 - l3new_aaaaaa += einsum(x616, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) - l3new_aaaaaa += einsum(x616, (0, 1, 2, 3, 4, 5), (5, 3, 4, 0, 2, 1)) - l3new_aaaaaa += einsum(x616, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 0, 2)) * -1.0 - l3new_aaaaaa += einsum(x616, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 0, 2)) - l3new_aaaaaa += einsum(x616, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) - l3new_aaaaaa += einsum(x616, (0, 1, 2, 3, 4, 5), (4, 3, 5, 2, 0, 1)) - l3new_aaaaaa += einsum(x616, (0, 1, 2, 3, 4, 5), (4, 5, 3, 2, 0, 1)) * -1.0 - l3new_aaaaaa += einsum(x616, (0, 1, 2, 3, 4, 5), (5, 3, 4, 2, 0, 1)) * -1.0 - l3new_aaaaaa += einsum(x616, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 2, 0)) - l3new_aaaaaa += einsum(x616, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) * -1.0 - l3new_aaaaaa += einsum(x616, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) * -1.0 - l3new_aaaaaa += einsum(x616, (0, 1, 2, 3, 4, 5), (4, 3, 5, 2, 1, 0)) * -1.0 - l3new_aaaaaa += einsum(x616, (0, 1, 2, 3, 4, 5), (4, 5, 3, 2, 1, 0)) - l3new_aaaaaa += einsum(x616, (0, 1, 2, 3, 4, 5), (5, 3, 4, 2, 1, 0)) - del x616 - x617 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x617 += einsum(x454, (0, 1), l3.aaaaaa, (2, 3, 1, 4, 5, 6), (4, 5, 6, 2, 3, 0)) * 6.0 - x618 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x618 += einsum(x361, (0, 1), x193, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 6, 1)) * 6.0 - x619 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x619 += einsum(x617, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) - del x617 - x619 += einsum(x618, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - del x618 - l3new_aaaaaa += einsum(x619, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 2, 0)) - l3new_aaaaaa += einsum(x619, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) * -1.0 - l3new_aaaaaa += einsum(x619, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) * -1.0 - del x619 - x620 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x620 += einsum(x413, (0, 1), l3.aaaaaa, (2, 3, 4, 5, 6, 0), (5, 6, 1, 2, 3, 4)) * 6.0 - l3new_aaaaaa += einsum(x620, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) - l3new_aaaaaa += einsum(x620, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) * -1.0 - l3new_aaaaaa += einsum(x620, (0, 1, 2, 3, 4, 5), (5, 3, 4, 2, 1, 0)) - del x620 - x621 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x621 += einsum(x253, (0, 1, 2, 3), l3.aaaaaa, (4, 5, 6, 7, 0, 1), (7, 2, 3, 4, 5, 6)) - l3new_aaaaaa += einsum(x621, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 1, 2)) * -6.0 - l3new_aaaaaa += einsum(x621, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 2, 1)) * 6.0 - l3new_aaaaaa += einsum(x621, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 0, 2)) * 6.0 - l3new_aaaaaa += einsum(x621, (0, 1, 2, 3, 4, 5), (3, 4, 5, 2, 0, 1)) * -6.0 - l3new_aaaaaa += einsum(x621, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 2, 0)) * -6.0 - l3new_aaaaaa += einsum(x621, (0, 1, 2, 3, 4, 5), (3, 4, 5, 2, 1, 0)) * 6.0 - del x621 - x622 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x622 += einsum(x239, (0, 1, 2, 3), l3.abaaba, (4, 1, 5, 6, 0, 7), (6, 7, 2, 4, 5, 3)) - x623 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x623 += einsum(x5, (0, 1, 2, 3), x91, (0, 1, 4, 5, 6, 7), (4, 5, 2, 6, 7, 3)) - x624 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x624 += einsum(x622, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 4.00000000000004 - del x622 - x624 += einsum(x623, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -2.0 - del x623 - l3new_aaaaaa += einsum(x624, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 0, 2)) * -1.0 - l3new_aaaaaa += einsum(x624, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 0, 2)) * -1.0 - l3new_aaaaaa += einsum(x624, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 0, 2)) - l3new_aaaaaa += einsum(x624, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 2, 0)) - l3new_aaaaaa += einsum(x624, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) - l3new_aaaaaa += einsum(x624, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 2, 0)) * -1.0 - l3new_aaaaaa += einsum(x624, (0, 1, 2, 3, 4, 5), (3, 4, 5, 2, 1, 0)) * -1.0 - l3new_aaaaaa += einsum(x624, (0, 1, 2, 3, 4, 5), (4, 5, 3, 2, 1, 0)) * -1.0 - l3new_aaaaaa += einsum(x624, (0, 1, 2, 3, 4, 5), (5, 4, 3, 2, 1, 0)) - del x624 - x625 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x625 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), x193, (4, 5, 6, 0, 7, 3), (4, 5, 6, 7, 1, 2)) * -1.0 - del x193 - l3new_aaaaaa += einsum(x625, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 2, 0)) * -6.0 - l3new_aaaaaa += einsum(x625, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 2, 0)) * 6.0 - l3new_aaaaaa += einsum(x625, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 2, 0)) * 6.0 - l3new_aaaaaa += einsum(x625, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) * -6.0 - l3new_aaaaaa += einsum(x625, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) * -6.0 - l3new_aaaaaa += einsum(x625, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 2, 0)) * 6.0 - del x625 - x626 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x626 += einsum(l2.bbbb, (0, 1, 2, 3), v.aabb.ovoo, (4, 5, 6, 3), (2, 6, 0, 1, 4, 5)) - x627 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x627 += einsum(v.aabb.ovov, (0, 1, 2, 3), x116, (4, 5, 6, 3), (4, 2, 5, 6, 0, 1)) - del x116 - x628 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x628 += einsum(v.aabb.vvoo, (0, 1, 2, 3), (2, 3, 0, 1)) - x628 += einsum(x22, (0, 1, 2, 3), (0, 1, 3, 2)) - x628 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.00000000000001 - x629 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x629 += einsum(x628, (0, 1, 2, 3), l3.babbab, (4, 2, 5, 6, 7, 0), (6, 1, 4, 5, 7, 3)) * -2.0 - del x628 - x630 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x630 += einsum(x506, (0, 1, 2, 3), l3.babbab, (4, 5, 6, 7, 2, 0), (7, 1, 4, 6, 3, 5)) * -2.0 - x631 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x631 += einsum(x6, (0, 1, 2, 3), x58, (4, 0, 5, 6, 7, 2), (4, 1, 5, 6, 7, 3)) * 2.0 - x632 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x632 += einsum(t1.bb, (0, 1), x19, (2, 1), (0, 2)) - del x19 - x633 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x633 += einsum(x219, (0, 1), (1, 0)) - del x219 - x633 += einsum(x221, (0, 1), (0, 1)) - del x221 - x633 += einsum(x632, (0, 1), (0, 1)) - del x632 - x633 += einsum(x223, (0, 1), (1, 0)) * -1.0 - del x223 - x634 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x634 += einsum(x633, (0, 1), l3.babbab, (2, 3, 4, 5, 6, 0), (5, 1, 2, 4, 6, 3)) * -2.0 - del x633 - x635 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x635 += einsum(f.bb.oo, (0, 1), (0, 1)) - x635 += einsum(x540, (0, 1), (1, 0)) - del x540 - x636 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x636 += einsum(x635, (0, 1), l3.babbab, (2, 3, 4, 5, 6, 0), (5, 1, 2, 4, 6, 3)) * -2.0 - x637 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x637 += einsum(x626, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * 2.0 - del x626 - x637 += einsum(x627, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * 2.0 - del x627 - x637 += einsum(x629, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 - del x629 - x637 += einsum(x630, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) - del x630 - x637 += einsum(x631, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 - del x631 - x637 += einsum(x634, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 - del x634 - x637 += einsum(x636, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) - del x636 - l3new_babbab += einsum(x637, (0, 1, 2, 3, 4, 5), (3, 5, 2, 0, 4, 1)) * -1.0 - l3new_babbab += einsum(x637, (0, 1, 2, 3, 4, 5), (3, 5, 2, 1, 4, 0)) - del x637 - x638 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x638 += einsum(l2.abab, (0, 1, 2, 3), v.bbbb.ovvv, (4, 5, 6, 1), (3, 4, 5, 6, 2, 0)) - x639 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x639 += einsum(l2.abab, (0, 1, 2, 3), v.aabb.vvov, (4, 0, 5, 6), (3, 5, 1, 6, 2, 4)) - x640 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x640 += einsum(v.aabb.ooov, (0, 1, 2, 3), x61, (4, 5, 6, 0, 1, 7), (4, 2, 5, 3, 6, 7)) - x641 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x641 += einsum(x7, (0, 1, 2, 3), x61, (4, 5, 2, 6, 3, 7), (4, 0, 5, 1, 6, 7)) * -1.0 - x642 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x642 += einsum(t2.bbbb, (0, 1, 2, 3), x10, (1, 4, 3, 5), (0, 4, 2, 5)) * 2.00000000000002 - x643 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x643 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x643 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x643 += einsum(x9, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.00000000000001 - x643 += einsum(x642, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x642 - x643 += einsum(x13, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - l3new_abaaba += einsum(x643, (0, 1, 2, 3), l3.abaaba, (4, 2, 5, 6, 0, 7), (4, 3, 5, 6, 1, 7)) * 2.0 - x644 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x644 += einsum(x643, (0, 1, 2, 3), l3.babbab, (4, 5, 2, 6, 7, 0), (6, 1, 4, 3, 7, 5)) * 2.0 - del x643 - x645 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x645 += einsum(t2.abab, (0, 1, 2, 3), x10, (1, 4, 3, 5), (4, 5, 0, 2)) * 1.00000000000001 - x646 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x646 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) - x646 += einsum(x15, (0, 1, 2, 3), (0, 1, 2, 3)) - x646 += einsum(x16, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.00000000000002 - x646 += einsum(x645, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x647 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x647 += einsum(x646, (0, 1, 2, 3), l3.abaaba, (4, 5, 3, 6, 7, 2), (7, 0, 5, 1, 6, 4)) * 2.0 - x648 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x648 += einsum(x516, (0, 1, 2, 3), x74, (4, 0, 1, 5, 6, 7), (4, 2, 5, 3, 6, 7)) * 2.0 - del x516 - x649 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x649 += einsum(x213, (0, 1, 2, 3), x74, (4, 0, 2, 5, 6, 7), (4, 1, 5, 3, 6, 7)) * 2.0 - del x213 - x650 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x650 += einsum(v.bbbb.ovov, (0, 1, 2, 3), x297, (4, 1, 5, 6), (0, 2, 3, 4, 5, 6)) * 2.0 - x651 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x651 += einsum(v.aabb.ovov, (0, 1, 2, 3), x100, (4, 5, 6, 1), (2, 4, 3, 5, 0, 6)) * 2.0 - x652 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x652 += einsum(v.bbbb.ovov, (0, 1, 2, 3), x96, (4, 2, 5, 6), (0, 4, 3, 1, 5, 6)) - del x96 - x653 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x653 += einsum(v.aabb.ovov, (0, 1, 2, 3), x66, (4, 5, 6, 0), (2, 4, 3, 5, 6, 1)) * 2.0 - x654 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x654 += einsum(l2.abab, (0, 1, 2, 3), x537, (3, 4, 5, 6), (4, 5, 1, 6, 2, 0)) - del x537 - x655 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x655 += einsum(l2.abab, (0, 1, 2, 3), x31, (4, 5, 2, 6), (3, 4, 1, 5, 6, 0)) - x656 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x656 += einsum(l1.bb, (0, 1), v.aabb.ovov, (2, 3, 4, 5), (1, 4, 0, 5, 2, 3)) - x656 += einsum(x638, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - del x638 - x656 += einsum(x639, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x639 - x656 += einsum(x640, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -2.0 - del x640 - x656 += einsum(x641, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -2.0 - del x641 - x656 += einsum(x644, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x644 - x656 += einsum(x647, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x647 - x656 += einsum(x648, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - del x648 - x656 += einsum(x649, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - del x649 - x656 += einsum(x650, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) - del x650 - x656 += einsum(x651, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) * -1.0 - del x651 - x656 += einsum(x652, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) - del x652 - x656 += einsum(x653, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) * -1.0 - del x653 - x656 += einsum(x654, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x654 - x656 += einsum(x655, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - del x655 - l3new_babbab += einsum(x656, (0, 1, 2, 3, 4, 5), (2, 5, 3, 0, 4, 1)) - l3new_babbab += einsum(x656, (0, 1, 2, 3, 4, 5), (3, 5, 2, 0, 4, 1)) * -1.0 - l3new_babbab += einsum(x656, (0, 1, 2, 3, 4, 5), (2, 5, 3, 1, 4, 0)) * -1.0 - l3new_babbab += einsum(x656, (0, 1, 2, 3, 4, 5), (3, 5, 2, 1, 4, 0)) - del x656 - x657 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x657 += einsum(l2.bbbb, (0, 1, 2, 3), v.aabb.ovvv, (4, 5, 6, 1), (2, 3, 0, 6, 4, 5)) - x658 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x658 += einsum(f.bb.vv, (0, 1), l3.babbab, (2, 3, 1, 4, 5, 6), (4, 6, 0, 2, 5, 3)) - x659 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x659 += einsum(f.bb.ov, (0, 1), x74, (2, 3, 0, 4, 5, 6), (2, 3, 1, 4, 5, 6)) - x660 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x660 += einsum(v.aabb.vvvv, (0, 1, 2, 3), l3.babbab, (4, 1, 3, 5, 6, 7), (5, 7, 4, 2, 6, 0)) - x661 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x661 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), x74, (4, 5, 0, 3, 6, 7), (4, 5, 1, 2, 6, 7)) * -1.0 - x662 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x662 += einsum(v.aabb.vvov, (0, 1, 2, 3), x74, (4, 5, 2, 6, 7, 1), (4, 5, 6, 3, 7, 0)) - x663 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x663 += einsum(v.aabb.ovvv, (0, 1, 2, 3), x58, (4, 5, 6, 3, 7, 0), (4, 5, 6, 2, 7, 1)) - x664 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x664 += einsum(v.aabb.oovv, (0, 1, 2, 3), (2, 3, 0, 1)) * 0.99999999999999 - x664 += einsum(x246, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.99999999999999 - del x246 - x664 += einsum(x247, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x247 - x665 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x665 += einsum(x664, (0, 1, 2, 3), l3.babbab, (4, 5, 0, 6, 2, 7), (6, 7, 4, 1, 3, 5)) * -2.00000000000002 - x666 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x666 += einsum(x579, (0, 1), l3.babbab, (2, 3, 1, 4, 5, 6), (4, 6, 2, 0, 5, 3)) * -2.0 - x667 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x667 += einsum(x31, (0, 1, 2, 3), x74, (4, 5, 0, 6, 2, 7), (4, 5, 6, 1, 3, 7)) * 2.0 - x668 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x668 += einsum(t2.abab, (0, 1, 2, 3), l3.babbab, (4, 2, 3, 5, 6, 7), (5, 7, 1, 4, 6, 0)) - x669 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x669 += einsum(x668, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x668 - x669 += einsum(x98, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x98 - x670 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x670 += einsum(v.aabb.ovov, (0, 1, 2, 3), x669, (4, 5, 2, 6, 7, 0), (4, 5, 3, 6, 7, 1)) * 2.0 - del x669 - x671 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x671 += einsum(x227, (0, 1), x74, (2, 3, 0, 4, 5, 6), (2, 3, 4, 1, 5, 6)) * 2.0 - x672 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x672 += einsum(v.aabb.ovov, (0, 1, 2, 3), x78, (4, 5, 2, 6), (4, 5, 3, 6, 0, 1)) * 2.0 - del x78 - x673 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x673 += einsum(l1.aa, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (2, 4, 3, 5, 1, 0)) * -1.0 - x673 += einsum(x657, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * 2.0 - del x657 - x673 += einsum(x658, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -2.0 - del x658 - x673 += einsum(x659, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * 2.0 - del x659 - x673 += einsum(x660, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * 2.0 - del x660 - x673 += einsum(x661, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -2.0 - del x661 - x673 += einsum(x662, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -2.0 - del x662 - x673 += einsum(x663, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -2.0 - del x663 - x673 += einsum(x665, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) * -1.0 - del x665 - x673 += einsum(x666, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) * -1.0 - del x666 - x673 += einsum(x667, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) - del x667 - x673 += einsum(x670, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x670 - x673 += einsum(x671, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 - del x671 - x673 += einsum(x672, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * -1.0 - del x672 - l3new_babbab += einsum(x673, (0, 1, 2, 3, 4, 5), (3, 5, 2, 0, 4, 1)) - l3new_babbab += einsum(x673, (0, 1, 2, 3, 4, 5), (2, 5, 3, 0, 4, 1)) * -1.0 - del x673 - x674 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x674 += einsum(l2.bbbb, (0, 1, 2, 3), x5, (3, 4, 5, 6), (2, 4, 0, 1, 5, 6)) - x675 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x675 += einsum(v.aabb.ovov, (0, 1, 2, 3), x0, (4, 5, 6, 3), (4, 2, 5, 6, 0, 1)) * -1.0 - del x0 - x676 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x676 += einsum(t1.bb, (0, 1), x20, (2, 1), (0, 2)) * -1.0 - del x20 - x677 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x677 += einsum(x220, (0, 1), (0, 1)) * 2.0 - del x220 - x677 += einsum(x676, (0, 1), (0, 1)) - del x676 - x678 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x678 += einsum(x677, (0, 1), l3.babbab, (2, 3, 4, 5, 6, 0), (5, 1, 2, 4, 6, 3)) * -2.0 - del x677 - x679 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x679 += einsum(x674, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 2.0 - del x674 - x679 += einsum(x675, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * 6.0 - del x675 - x679 += einsum(x678, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) - del x678 - l3new_babbab += einsum(x679, (0, 1, 2, 3, 4, 5), (3, 5, 2, 0, 4, 1)) - l3new_babbab += einsum(x679, (0, 1, 2, 3, 4, 5), (3, 5, 2, 1, 4, 0)) * -1.0 - del x679 - x680 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x680 += einsum(t2.aaaa, (0, 1, 2, 3), x233, (1, 4, 5, 3), (0, 4, 2, 5)) * 2.00000000000002 - del x233 - x681 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x681 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x681 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x681 += einsum(x232, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.00000000000001 - del x232 - x681 += einsum(x680, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x680 - x681 += einsum(x236, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x236 - l3new_babbab += einsum(x681, (0, 1, 2, 3), l3.babbab, (4, 2, 5, 6, 0, 7), (4, 3, 5, 6, 1, 7)) * 2.0 - x682 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x682 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) * 0.4999999999999949 - x682 += einsum(x238, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.4999999999999949 - x682 += einsum(x239, (0, 1, 2, 3), (0, 1, 2, 3)) - x682 += einsum(t2.abab, (0, 1, 2, 3), x240, (0, 4, 2, 5), (1, 3, 4, 5)) * -0.49999999999999983 - del x240 - l3new_babbab += einsum(x682, (0, 1, 2, 3), l3.bbbbbb, (4, 5, 1, 6, 7, 0), (4, 3, 5, 6, 2, 7)) * 12.000000000000123 - del x682 - x683 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x683 += einsum(v.bbbb.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x683 += einsum(x25, (0, 1, 2, 3), (1, 3, 0, 2)) - del x25 - x683 += einsum(x26, (0, 1, 2, 3), (0, 2, 1, 3)) - del x26 - x683 += einsum(x27, (0, 1, 2, 3), (2, 1, 0, 3)) - x683 += einsum(x27, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 - l3new_babbab += einsum(x683, (0, 1, 2, 3), l3.babbab, (4, 5, 6, 2, 7, 0), (4, 5, 6, 1, 7, 3)) * -2.0 - del x683 - x684 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x684 += einsum(t2.bbbb, (0, 1, 2, 3), l3.babbab, (2, 4, 3, 5, 6, 7), (5, 7, 0, 1, 6, 4)) - x684 += einsum(x134, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 - del x134 - l3new_babbab += einsum(v.bbbb.ovov, (0, 1, 2, 3), x684, (4, 5, 2, 0, 6, 7), (1, 7, 3, 5, 6, 4)) * 2.0 - del x684 - x685 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x685 += einsum(l2.aaaa, (0, 1, 2, 3), v.aabb.vvov, (4, 1, 5, 6), (5, 6, 2, 3, 0, 4)) - x686 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x686 += einsum(f.aa.vv, (0, 1), l3.abaaba, (2, 3, 1, 4, 5, 6), (5, 3, 4, 6, 0, 2)) - x687 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x687 += einsum(f.aa.ov, (0, 1), x61, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - x688 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x688 += einsum(v.aabb.vvvv, (0, 1, 2, 3), l3.abaaba, (4, 3, 1, 5, 6, 7), (6, 2, 5, 7, 4, 0)) - x689 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x689 += einsum(v.aabb.vvov, (0, 1, 2, 3), x91, (4, 2, 5, 6, 7, 1), (4, 3, 5, 6, 7, 0)) - x690 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x690 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), x61, (4, 5, 6, 7, 0, 3), (4, 5, 6, 7, 1, 2)) * -1.0 - x691 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x691 += einsum(v.aabb.ovvv, (0, 1, 2, 3), x61, (4, 3, 5, 6, 0, 7), (4, 2, 5, 6, 7, 1)) - x692 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x692 += einsum(v.aabb.vvoo, (0, 1, 2, 3), (2, 3, 0, 1)) * 0.99999999999999 - x692 += einsum(x22, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.99999999999999 - del x22 - x692 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x23 - x693 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x693 += einsum(x692, (0, 1, 2, 3), l3.abaaba, (4, 5, 2, 6, 0, 7), (1, 5, 6, 7, 4, 3)) * -2.00000000000002 - del x692 - x694 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x694 += einsum(x454, (0, 1), l3.abaaba, (2, 3, 1, 4, 5, 6), (5, 3, 4, 6, 2, 0)) * -2.0 - del x454 - x695 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x695 += einsum(x6, (0, 1, 2, 3), x61, (0, 4, 5, 6, 2, 7), (1, 4, 5, 6, 7, 3)) * 2.0 - x696 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x696 += einsum(t2.abab, (0, 1, 2, 3), l3.abaaba, (4, 3, 2, 5, 6, 7), (6, 1, 5, 7, 0, 4)) - x697 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x697 += einsum(x696, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 - del x696 - x697 += einsum(x99, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 - del x99 - x698 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x698 += einsum(v.aabb.ovov, (0, 1, 2, 3), x697, (4, 2, 5, 6, 0, 7), (4, 3, 5, 6, 1, 7)) * 2.0 - del x697 - x699 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x699 += einsum(x361, (0, 1), x61, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 6, 1)) * 2.0 - del x361 - x700 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x700 += einsum(v.aabb.ovov, (0, 1, 2, 3), x289, (4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) * 2.0 - del x289 - x701 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x701 += einsum(l1.bb, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 - x701 += einsum(x685, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -2.0 - del x685 - x701 += einsum(x686, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * 2.0 - del x686 - x701 += einsum(x687, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -2.0 - del x687 - x701 += einsum(x688, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -2.0 - del x688 - x701 += einsum(x689, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * 2.0 - del x689 - x701 += einsum(x690, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * 2.0 - del x690 - x701 += einsum(x691, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * 2.0 - del x691 - x701 += einsum(x693, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -1.0 - del x693 - x701 += einsum(x694, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -1.0 - del x694 - x701 += einsum(x695, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -1.0 - del x695 - x701 += einsum(x698, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 - del x698 - x701 += einsum(x699, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) - del x699 - x701 += einsum(x700, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 - del x700 - l3new_abaaba += einsum(x701, (0, 1, 2, 3, 4, 5), (5, 1, 4, 2, 0, 3)) - l3new_abaaba += einsum(x701, (0, 1, 2, 3, 4, 5), (4, 1, 5, 2, 0, 3)) * -1.0 - del x701 - x702 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x702 += einsum(l2.aaaa, (0, 1, 2, 3), v.aabb.ooov, (4, 3, 5, 6), (5, 6, 2, 4, 0, 1)) - x703 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x703 += einsum(x664, (0, 1, 2, 3), l3.abaaba, (4, 0, 5, 6, 7, 2), (7, 1, 6, 3, 4, 5)) * -2.00000000000002 - del x664 - x704 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x704 += einsum(x506, (0, 1, 2, 3), l3.abaaba, (4, 5, 6, 7, 0, 2), (1, 5, 7, 3, 4, 6)) * -2.0 - del x506 - x705 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x705 += einsum(x31, (0, 1, 2, 3), x91, (4, 0, 2, 5, 6, 7), (4, 1, 5, 3, 6, 7)) * 2.0 - del x31, x91 - x706 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x706 += einsum(x413, (0, 1), l3.abaaba, (2, 3, 4, 5, 6, 0), (6, 3, 5, 1, 2, 4)) * -2.0 - del x413 - x707 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x707 += einsum(v.aabb.ovov, (0, 1, 2, 3), x410, (4, 5, 6, 1), (2, 3, 0, 4, 5, 6)) * 2.0 - del x410 - x708 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x708 += einsum(x608, (0, 1), l3.abaaba, (2, 3, 4, 5, 6, 0), (6, 3, 5, 1, 2, 4)) * -2.0 - del x608 - x709 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x709 += einsum(x702, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 2.0 - del x702 - x709 += einsum(x703, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 - del x703 - x709 += einsum(x704, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - del x704 - x709 += einsum(x705, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - del x705 - x709 += einsum(x706, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 - del x706 - x709 += einsum(x707, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) - del x707 - x709 += einsum(x708, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) - del x708 - l3new_abaaba += einsum(x709, (0, 1, 2, 3, 4, 5), (5, 1, 4, 2, 0, 3)) * -1.0 - l3new_abaaba += einsum(x709, (0, 1, 2, 3, 4, 5), (5, 1, 4, 3, 0, 2)) - del x709 - x710 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x710 += einsum(l2.abab, (0, 1, 2, 3), v.aabb.ovvv, (4, 5, 6, 1), (3, 6, 2, 4, 0, 5)) - x711 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x711 += einsum(l2.abab, (0, 1, 2, 3), v.aaaa.ovvv, (4, 5, 6, 0), (3, 1, 2, 4, 5, 6)) - x712 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x712 += einsum(v.aabb.ovoo, (0, 1, 2, 3), x74, (4, 2, 3, 5, 6, 7), (4, 5, 6, 0, 7, 1)) - x713 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x713 += einsum(x5, (0, 1, 2, 3), x74, (0, 4, 1, 5, 6, 7), (4, 5, 6, 2, 7, 3)) * -1.0 - del x5, x74 - x714 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x714 += einsum(x681, (0, 1, 2, 3), l3.abaaba, (4, 5, 2, 6, 7, 0), (7, 5, 6, 1, 4, 3)) * 2.0 - del x681 - x715 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x715 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) - x715 += einsum(x238, (0, 1, 2, 3), (0, 1, 2, 3)) - del x238 - x715 += einsum(x239, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.00000000000002 - del x239 - x715 += einsum(x592, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x592 - x716 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x716 += einsum(x715, (0, 1, 2, 3), l3.babbab, (4, 5, 1, 6, 7, 0), (6, 4, 7, 2, 5, 3)) * 2.0 - del x715 - x717 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x717 += einsum(x382, (0, 1, 2, 3), x61, (4, 5, 0, 6, 2, 7), (4, 5, 6, 1, 7, 3)) * 2.0 - del x382 - x718 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x718 += einsum(x348, (0, 1, 2, 3), x61, (4, 5, 0, 6, 2, 7), (4, 5, 6, 1, 7, 3)) * 2.0 - del x61, x348 - x719 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x719 += einsum(v.aabb.ovov, (0, 1, 2, 3), x297, (4, 3, 5, 6), (2, 4, 0, 5, 1, 6)) * 2.0 - del x297 - x720 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x720 += einsum(v.aaaa.ovov, (0, 1, 2, 3), x100, (4, 5, 6, 1), (4, 5, 0, 2, 6, 3)) * 2.0 - del x100 - x721 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x721 += einsum(v.aabb.ovov, (0, 1, 2, 3), x139, (4, 2, 5, 6), (4, 3, 0, 5, 1, 6)) * 2.0 - del x139 - x722 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x722 += einsum(v.aaaa.ovov, (0, 1, 2, 3), x66, (4, 5, 6, 2), (4, 5, 6, 0, 3, 1)) * 2.0 - del x66 - x723 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x723 += einsum(l2.abab, (0, 1, 2, 3), x6, (3, 4, 5, 6), (4, 1, 2, 5, 0, 6)) - del x6 - x724 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x724 += einsum(l2.abab, (0, 1, 2, 3), x386, (2, 4, 5, 6), (3, 1, 4, 5, 0, 6)) - del x386 - x725 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x725 += einsum(l1.aa, (0, 1), v.aabb.ovov, (2, 3, 4, 5), (4, 5, 1, 2, 0, 3)) - x725 += einsum(x710, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x710 - x725 += einsum(x711, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - del x711 - x725 += einsum(x712, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -2.0 - del x712 - x725 += einsum(x713, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -2.0 - del x713 - x725 += einsum(x714, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x714 - x725 += einsum(x716, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x716 - x725 += einsum(x717, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x717 - x725 += einsum(x718, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x718 - x725 += einsum(x719, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -1.0 - del x719 - x725 += einsum(x720, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) - del x720 - x725 += einsum(x721, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -1.0 - del x721 - x725 += einsum(x722, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - del x722 - x725 += einsum(x723, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - del x723 - x725 += einsum(x724, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x724 - l3new_abaaba += einsum(x725, (0, 1, 2, 3, 4, 5), (4, 1, 5, 2, 0, 3)) - l3new_abaaba += einsum(x725, (0, 1, 2, 3, 4, 5), (5, 1, 4, 2, 0, 3)) * -1.0 - l3new_abaaba += einsum(x725, (0, 1, 2, 3, 4, 5), (4, 1, 5, 3, 0, 2)) * -1.0 - l3new_abaaba += einsum(x725, (0, 1, 2, 3, 4, 5), (5, 1, 4, 3, 0, 2)) - del x725 - x726 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x726 += einsum(l2.aaaa, (0, 1, 2, 3), x7, (4, 5, 3, 6), (4, 5, 2, 6, 0, 1)) - l3new_abaaba += einsum(x726, (0, 1, 2, 3, 4, 5), (5, 1, 4, 2, 0, 3)) * 2.0 - l3new_abaaba += einsum(x726, (0, 1, 2, 3, 4, 5), (5, 1, 4, 3, 0, 2)) * -2.0 - del x726 - x727 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x727 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) - x727 += einsum(x15, (0, 1, 2, 3), (0, 1, 2, 3)) - del x15 - x727 += einsum(x16, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0000000000000204 - del x16 - x727 += einsum(x645, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x645 - l3new_abaaba += einsum(x727, (0, 1, 2, 3), l3.aaaaaa, (4, 5, 3, 6, 7, 2), (4, 1, 5, 6, 0, 7)) * 6.0 - del x727 - x728 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x728 += einsum(v.aaaa.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x728 += einsum(x251, (0, 1, 2, 3), (1, 3, 2, 0)) - del x251 - x728 += einsum(x252, (0, 1, 2, 3), (0, 2, 3, 1)) - del x252 - x728 += einsum(x253, (0, 1, 2, 3), (2, 1, 3, 0)) - x728 += einsum(x253, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 - del x253 - l3new_abaaba += einsum(x728, (0, 1, 2, 3), l3.abaaba, (4, 5, 6, 3, 7, 0), (4, 5, 6, 2, 7, 1)) * 2.0 - del x728 - x729 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x729 += einsum(t2.aaaa, (0, 1, 2, 3), l3.abaaba, (2, 4, 3, 5, 6, 7), (6, 4, 5, 7, 0, 1)) - x729 += einsum(x323, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) - del x323 - l3new_abaaba += einsum(v.aaaa.ovov, (0, 1, 2, 3), x729, (4, 5, 6, 7, 2, 0), (1, 5, 3, 7, 4, 6)) * 2.0 - del x729 - x730 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x730 += einsum(v.aabb.ooov, (0, 1, 2, 3), x58, (4, 5, 6, 7, 0, 1), (4, 5, 2, 6, 7, 3)) - x731 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x731 += einsum(x7, (0, 1, 2, 3), x58, (4, 5, 6, 7, 2, 3), (4, 5, 0, 6, 7, 1)) - del x7, x58 - x732 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x732 += einsum(t2.bbbb, (0, 1, 2, 3), x10, (1, 4, 3, 5), (0, 4, 2, 5)) * 2.0000000000000204 - del x10 - x733 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x733 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x733 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x733 += einsum(x9, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.00000000000001 - del x9 - x733 += einsum(x732, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x732 - x733 += einsum(x13, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x13 - x734 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x734 += einsum(x733, (0, 1, 2, 3), l3.bbbbbb, (4, 5, 2, 6, 7, 0), (6, 7, 1, 4, 5, 3)) * 6.0 - del x733 - x735 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x735 += einsum(x646, (0, 1, 2, 3), l3.babbab, (4, 3, 5, 6, 2, 7), (6, 7, 0, 4, 5, 1)) * 2.0 - del x646 - x736 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x736 += einsum(x3, (0, 1, 2, 3), (0, 1, 2, 3)) - x736 += einsum(x3, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x737 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x737 += einsum(x736, (0, 1, 2, 3), x72, (4, 5, 0, 2, 6, 7), (4, 5, 1, 6, 7, 3)) * 6.0 - del x736 - x738 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x738 += einsum(x208, (0, 1, 2, 3), x72, (4, 5, 0, 1, 6, 7), (4, 5, 2, 6, 7, 3)) * 6.0 - del x208 - x739 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x739 += einsum(x730, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 2.0 - del x730 - x739 += einsum(x731, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 2.0 - del x731 - x739 += einsum(x734, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x734 - x739 += einsum(x735, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) - del x735 - x739 += einsum(x737, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) - del x737 - x739 += einsum(x738, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) - del x738 - l3new_bbbbbb += einsum(x739, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 0, 2)) - l3new_bbbbbb += einsum(x739, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 0, 2)) * -1.0 - l3new_bbbbbb += einsum(x739, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) * -1.0 - l3new_bbbbbb += einsum(x739, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 2, 0)) * -1.0 - l3new_bbbbbb += einsum(x739, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) - l3new_bbbbbb += einsum(x739, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) - l3new_bbbbbb += einsum(x739, (0, 1, 2, 3, 4, 5), (4, 3, 5, 2, 1, 0)) - l3new_bbbbbb += einsum(x739, (0, 1, 2, 3, 4, 5), (4, 5, 3, 2, 1, 0)) * -1.0 - l3new_bbbbbb += einsum(x739, (0, 1, 2, 3, 4, 5), (5, 3, 4, 2, 1, 0)) * -1.0 - del x739 - x740 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x740 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), x72, (4, 5, 6, 0, 7, 3), (4, 5, 6, 7, 1, 2)) * -1.0 - l3new_bbbbbb += einsum(x740, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 2, 0)) * -6.0 - l3new_bbbbbb += einsum(x740, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 2, 0)) * 6.0 - l3new_bbbbbb += einsum(x740, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 2, 0)) * 6.0 - l3new_bbbbbb += einsum(x740, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) * -6.0 - l3new_bbbbbb += einsum(x740, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) * -6.0 - l3new_bbbbbb += einsum(x740, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 2, 0)) * 6.0 - del x740 - x741 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x741 += einsum(x579, (0, 1), l3.bbbbbb, (2, 3, 1, 4, 5, 6), (4, 5, 6, 2, 3, 0)) * 6.0 - del x579 - x742 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x742 += einsum(x227, (0, 1), x72, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 6, 1)) * 6.0 - del x227 - x743 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x743 += einsum(x741, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) - del x741 - x743 += einsum(x742, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - del x742 - l3new_bbbbbb += einsum(x743, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 2, 0)) - l3new_bbbbbb += einsum(x743, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) * -1.0 - l3new_bbbbbb += einsum(x743, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) * -1.0 - del x743 - x744 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x744 += einsum(x586, (0, 1, 2, 3), l3.bbbbbb, (4, 5, 6, 7, 0, 3), (7, 1, 2, 4, 5, 6)) * -6.0 - del x586 - x745 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x745 += einsum(x635, (0, 1), l3.bbbbbb, (2, 3, 4, 5, 6, 0), (5, 6, 1, 2, 3, 4)) * 6.0 - del x635 - x746 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x746 += einsum(x744, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - del x744 - x746 += einsum(x745, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * -1.0 - del x745 - l3new_bbbbbb += einsum(x746, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 1, 2)) - l3new_bbbbbb += einsum(x746, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 0, 2)) * -1.0 - l3new_bbbbbb += einsum(x746, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) - del x746 - x747 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x747 += einsum(l2.bbbb, (0, 1, 2, 3), x3, (3, 4, 5, 6), (2, 4, 5, 0, 1, 6)) - del x3 - l3new_bbbbbb += einsum(x747, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 1, 2)) * 2.0 - l3new_bbbbbb += einsum(x747, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 1, 2)) * 2.0 - l3new_bbbbbb += einsum(x747, (0, 1, 2, 3, 4, 5), (5, 4, 3, 0, 1, 2)) * -2.0 - l3new_bbbbbb += einsum(x747, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 2, 1)) * -2.0 - l3new_bbbbbb += einsum(x747, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) * -2.0 - l3new_bbbbbb += einsum(x747, (0, 1, 2, 3, 4, 5), (5, 4, 3, 0, 2, 1)) * 2.0 - l3new_bbbbbb += einsum(x747, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 0, 2)) * -2.0 - l3new_bbbbbb += einsum(x747, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 0, 2)) * -2.0 - l3new_bbbbbb += einsum(x747, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 0, 2)) * 2.0 - l3new_bbbbbb += einsum(x747, (0, 1, 2, 3, 4, 5), (3, 4, 5, 2, 0, 1)) * 2.0 - l3new_bbbbbb += einsum(x747, (0, 1, 2, 3, 4, 5), (4, 5, 3, 2, 0, 1)) * 2.0 - l3new_bbbbbb += einsum(x747, (0, 1, 2, 3, 4, 5), (5, 4, 3, 2, 0, 1)) * -2.0 - l3new_bbbbbb += einsum(x747, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 2, 0)) * 2.0 - l3new_bbbbbb += einsum(x747, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) * 2.0 - l3new_bbbbbb += einsum(x747, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 2, 0)) * -2.0 - l3new_bbbbbb += einsum(x747, (0, 1, 2, 3, 4, 5), (3, 4, 5, 2, 1, 0)) * -2.0 - l3new_bbbbbb += einsum(x747, (0, 1, 2, 3, 4, 5), (4, 5, 3, 2, 1, 0)) * -2.0 - l3new_bbbbbb += einsum(x747, (0, 1, 2, 3, 4, 5), (5, 4, 3, 2, 1, 0)) * 2.0 - del x747 - x748 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x748 += einsum(l2.bbbb, (0, 1, 2, 3), v.bbbb.ovvv, (4, 5, 6, 1), (2, 3, 4, 0, 5, 6)) - x749 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x749 += einsum(v.bbbb.ovov, (0, 1, 2, 3), x137, (4, 5, 2, 6), (0, 4, 5, 3, 1, 6)) * 2.0 - del x137 - x750 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x750 += einsum(x748, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 2.0 - del x748 - x750 += einsum(x749, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -1.0 - del x749 - l3new_bbbbbb += einsum(x750, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 0, 2)) - l3new_bbbbbb += einsum(x750, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 0, 2)) * -1.0 - l3new_bbbbbb += einsum(x750, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 0, 2)) * -1.0 - l3new_bbbbbb += einsum(x750, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) - l3new_bbbbbb += einsum(x750, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 0, 2)) - l3new_bbbbbb += einsum(x750, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 0, 2)) * -1.0 - l3new_bbbbbb += einsum(x750, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 2, 0)) * -1.0 - l3new_bbbbbb += einsum(x750, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 2, 0)) - l3new_bbbbbb += einsum(x750, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 2, 0)) - l3new_bbbbbb += einsum(x750, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) * -1.0 - l3new_bbbbbb += einsum(x750, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) * -1.0 - l3new_bbbbbb += einsum(x750, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 2, 0)) - l3new_bbbbbb += einsum(x750, (0, 1, 2, 3, 4, 5), (3, 4, 5, 2, 1, 0)) - l3new_bbbbbb += einsum(x750, (0, 1, 2, 3, 4, 5), (3, 5, 4, 2, 1, 0)) * -1.0 - l3new_bbbbbb += einsum(x750, (0, 1, 2, 3, 4, 5), (4, 3, 5, 2, 1, 0)) * -1.0 - l3new_bbbbbb += einsum(x750, (0, 1, 2, 3, 4, 5), (5, 3, 4, 2, 1, 0)) - l3new_bbbbbb += einsum(x750, (0, 1, 2, 3, 4, 5), (4, 5, 3, 2, 1, 0)) - l3new_bbbbbb += einsum(x750, (0, 1, 2, 3, 4, 5), (5, 4, 3, 2, 1, 0)) * -1.0 - del x750 - x751 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x751 += einsum(f.bb.vv, (0, 1), l3.bbbbbb, (2, 3, 1, 4, 5, 6), (4, 5, 6, 0, 2, 3)) - x752 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x752 += einsum(f.bb.ov, (0, 1), x72, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) - del x72 - x753 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x753 += einsum(v.bbbb.vvvv, (0, 1, 2, 3), l3.bbbbbb, (4, 3, 1, 5, 6, 7), (5, 6, 7, 4, 0, 2)) * -1.0 - x754 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x754 += einsum(x751, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -6.0 - del x751 - x754 += einsum(x752, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 6.0 - del x752 - x754 += einsum(x753, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -6.0 - del x753 - l3new_bbbbbb += einsum(x754, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 2, 0)) - l3new_bbbbbb += einsum(x754, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) - l3new_bbbbbb += einsum(x754, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 2, 0)) * -1.0 - del x754 - x755 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x755 += einsum(x27, (0, 1, 2, 3), l3.bbbbbb, (4, 5, 6, 7, 0, 1), (7, 2, 3, 4, 5, 6)) - del x27 - l3new_bbbbbb += einsum(x755, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 1, 2)) * -6.0 - l3new_bbbbbb += einsum(x755, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 2, 1)) * 6.0 - l3new_bbbbbb += einsum(x755, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 0, 2)) * 6.0 - l3new_bbbbbb += einsum(x755, (0, 1, 2, 3, 4, 5), (3, 4, 5, 2, 0, 1)) * -6.0 - l3new_bbbbbb += einsum(x755, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 2, 0)) * -6.0 - l3new_bbbbbb += einsum(x755, (0, 1, 2, 3, 4, 5), (3, 4, 5, 2, 1, 0)) * 6.0 - del x755 - x756 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x756 += einsum(x560, (0, 1), l3.bbbbbb, (2, 3, 4, 5, 6, 0), (5, 6, 1, 2, 3, 4)) * 6.0 - del x560 - l3new_bbbbbb += einsum(x756, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) - l3new_bbbbbb += einsum(x756, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) * -1.0 - l3new_bbbbbb += einsum(x756, (0, 1, 2, 3, 4, 5), (5, 3, 4, 2, 1, 0)) - del x756 - x757 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x757 += einsum(l2.bbbb, (0, 1, 2, 3), v.bbbb.ooov, (4, 3, 5, 6), (2, 4, 5, 0, 1, 6)) - x758 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x758 += einsum(v.bbbb.ovov, (0, 1, 2, 3), x136, (4, 5, 6, 1), (0, 2, 4, 3, 5, 6)) * 6.0 - del x136 - x759 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x759 += einsum(x757, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -2.0 - del x757 - x759 += einsum(x758, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) - del x758 - l3new_bbbbbb += einsum(x759, (0, 1, 2, 3, 4, 5), (4, 3, 5, 0, 1, 2)) - l3new_bbbbbb += einsum(x759, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 1, 2)) * -1.0 - l3new_bbbbbb += einsum(x759, (0, 1, 2, 3, 4, 5), (5, 3, 4, 0, 1, 2)) * -1.0 - l3new_bbbbbb += einsum(x759, (0, 1, 2, 3, 4, 5), (4, 3, 5, 0, 2, 1)) * -1.0 - l3new_bbbbbb += einsum(x759, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) - l3new_bbbbbb += einsum(x759, (0, 1, 2, 3, 4, 5), (5, 3, 4, 0, 2, 1)) - l3new_bbbbbb += einsum(x759, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 0, 2)) * -1.0 - l3new_bbbbbb += einsum(x759, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 0, 2)) - l3new_bbbbbb += einsum(x759, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) - l3new_bbbbbb += einsum(x759, (0, 1, 2, 3, 4, 5), (4, 3, 5, 2, 0, 1)) - l3new_bbbbbb += einsum(x759, (0, 1, 2, 3, 4, 5), (4, 5, 3, 2, 0, 1)) * -1.0 - l3new_bbbbbb += einsum(x759, (0, 1, 2, 3, 4, 5), (5, 3, 4, 2, 0, 1)) * -1.0 - l3new_bbbbbb += einsum(x759, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 2, 0)) - l3new_bbbbbb += einsum(x759, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) * -1.0 - l3new_bbbbbb += einsum(x759, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) * -1.0 - l3new_bbbbbb += einsum(x759, (0, 1, 2, 3, 4, 5), (4, 3, 5, 2, 1, 0)) * -1.0 - l3new_bbbbbb += einsum(x759, (0, 1, 2, 3, 4, 5), (4, 5, 3, 2, 1, 0)) - l3new_bbbbbb += einsum(x759, (0, 1, 2, 3, 4, 5), (5, 3, 4, 2, 1, 0)) - del x759 - x760 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x760 += einsum(t2.bbbb, (0, 1, 2, 3), l3.bbbbbb, (4, 2, 3, 5, 6, 7), (5, 6, 7, 0, 1, 4)) - x761 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x761 += einsum(x760, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - del x760 - x761 += einsum(x132, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - del x132 - x762 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x762 += einsum(v.bbbb.ovov, (0, 1, 2, 3), x761, (4, 5, 6, 0, 2, 7), (4, 5, 6, 1, 3, 7)) * 6.0 - del x761 - l3new_bbbbbb += einsum(x762, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 2, 0)) * -1.0 - l3new_bbbbbb += einsum(x762, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) - l3new_bbbbbb += einsum(x762, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 2, 0)) * -1.0 - del x762 - - l1new.aa = l1new_aa - l1new.bb = l1new_bb - l2new.aaaa = l2new_aaaa - l2new.abab = l2new_abab - l2new.bbbb = l2new_bbbb - l3new.aaaaaa = l3new_aaaaaa - l3new.abaaba = l3new_abaaba - l3new.babbab = l3new_babbab - l3new.bbbbbb = l3new_bbbbbb - - return {"l1new": l1new, "l2new": l2new, "l3new": l3new} - -def make_rdm1_f(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, t3=None, l1=None, l2=None, l3=None, **kwargs): - rdm1_f = Namespace() - - delta = Namespace(aa=Namespace(), bb=Namespace()) - delta.aa = Namespace(oo=np.eye(nocc[0]), vv=np.eye(nvir[0])) - delta.bb = Namespace(oo=np.eye(nocc[1]), vv=np.eye(nvir[1])) - - # RDM1 - rdm1_f_aa_oo = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - rdm1_f_aa_oo += einsum(delta.aa.oo, (0, 1), (0, 1)) - rdm1_f_bb_oo = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - rdm1_f_bb_oo += einsum(delta.bb.oo, (0, 1), (0, 1)) - rdm1_f_aa_ov = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - rdm1_f_aa_ov += einsum(l1.bb, (0, 1), t2.abab, (2, 1, 3, 0), (2, 3)) - rdm1_f_aa_ov += einsum(l2.abab, (0, 1, 2, 3), t3.abaaba, (4, 3, 2, 5, 1, 0), (4, 5)) * 2.0 - rdm1_f_aa_ov += einsum(l2.aaaa, (0, 1, 2, 3), t3.aaaaaa, (4, 2, 3, 5, 0, 1), (4, 5)) * 3.0 - rdm1_f_aa_ov += einsum(t1.aa, (0, 1), (0, 1)) - rdm1_f_aa_ov += einsum(l1.aa, (0, 1), t2.aaaa, (2, 1, 3, 0), (2, 3)) * 2.0 - rdm1_f_aa_ov += einsum(l2.bbbb, (0, 1, 2, 3), t3.babbab, (2, 4, 3, 0, 5, 1), (4, 5)) - rdm1_f_bb_ov = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - rdm1_f_bb_ov += einsum(t1.bb, (0, 1), (0, 1)) - rdm1_f_bb_ov += einsum(l1.bb, (0, 1), t2.bbbb, (2, 1, 3, 0), (2, 3)) * 2.0 - rdm1_f_bb_ov += einsum(l2.abab, (0, 1, 2, 3), t3.babbab, (4, 2, 3, 5, 0, 1), (4, 5)) * 2.0 - rdm1_f_bb_ov += einsum(l1.aa, (0, 1), t2.abab, (1, 2, 0, 3), (2, 3)) - rdm1_f_bb_ov += einsum(l2.bbbb, (0, 1, 2, 3), t3.bbbbbb, (4, 2, 3, 5, 0, 1), (4, 5)) * 3.0 - rdm1_f_bb_ov += einsum(l2.aaaa, (0, 1, 2, 3), t3.abaaba, (2, 4, 3, 0, 5, 1), (4, 5)) - rdm1_f_aa_vo = np.zeros((nvir[0], nocc[0]), dtype=types[float]) - rdm1_f_aa_vo += einsum(l1.aa, (0, 1), (0, 1)) - rdm1_f_bb_vo = np.zeros((nvir[1], nocc[1]), dtype=types[float]) - rdm1_f_bb_vo += einsum(l1.bb, (0, 1), (0, 1)) - rdm1_f_aa_vv = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - rdm1_f_aa_vv += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (3, 4, 5, 0, 6, 2), (1, 6)) * 0.9999999999999601 - rdm1_f_aa_vv += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 4, 1), (0, 4)) - rdm1_f_aa_vv += einsum(l1.aa, (0, 1), t1.aa, (1, 2), (0, 2)) - rdm1_f_aa_vv += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (3, 4, 5, 6, 1, 2), (0, 6)) * 1.9999999999999194 - rdm1_f_aa_vv += einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), t3.aaaaaa, (3, 4, 5, 6, 1, 2), (0, 6)) * 2.9999999999998788 - rdm1_f_aa_vv += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (2, 3, 4, 1), (0, 4)) * 2.0 - rdm1_f_bb_vv = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - rdm1_f_bb_vv += einsum(l1.bb, (0, 1), t1.bb, (1, 2), (0, 2)) - rdm1_f_bb_vv += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (3, 4, 5, 6, 1, 2), (0, 6)) * 1.9999999999999194 - rdm1_f_bb_vv += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 0, 4), (1, 4)) - rdm1_f_bb_vv += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (3, 4, 5, 0, 6, 2), (1, 6)) * 0.9999999999999601 - rdm1_f_bb_vv += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (2, 3, 4, 1), (0, 4)) * 2.0 - rdm1_f_bb_vv += einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), t3.bbbbbb, (3, 4, 5, 6, 1, 2), (0, 6)) * 2.9999999999998788 - x0 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x0 += einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), t3.aaaaaa, (6, 4, 5, 0, 1, 2), (3, 6)) - rdm1_f_aa_oo += einsum(x0, (0, 1), (1, 0)) * -2.9999999999998788 - x1 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x1 += einsum(l1.aa, (0, 1), t1.aa, (2, 0), (1, 2)) - rdm1_f_aa_oo += einsum(x1, (0, 1), (1, 0)) * -1.0 - x2 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x2 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 0, 1), (2, 4)) - rdm1_f_aa_oo += einsum(x2, (0, 1), (1, 0)) * -1.0 - x3 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x3 += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 3, 0, 1), (2, 4)) - rdm1_f_aa_oo += einsum(x3, (0, 1), (1, 0)) * -2.0 - x4 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x4 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (6, 4, 5, 0, 1, 2), (3, 6)) - rdm1_f_aa_oo += einsum(x4, (0, 1), (1, 0)) * -1.9999999999999194 - x5 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x5 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (3, 6, 5, 0, 1, 2), (4, 6)) - rdm1_f_aa_oo += einsum(x5, (0, 1), (1, 0)) * -0.9999999999999601 - x6 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x6 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (3, 6, 5, 0, 1, 2), (4, 6)) - rdm1_f_bb_oo += einsum(x6, (0, 1), (1, 0)) * -0.9999999999999601 - x7 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x7 += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 3, 0, 1), (2, 4)) - rdm1_f_bb_oo += einsum(x7, (0, 1), (1, 0)) * -2.0 - x8 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x8 += einsum(l1.bb, (0, 1), t1.bb, (2, 0), (1, 2)) - rdm1_f_bb_oo += einsum(x8, (0, 1), (1, 0)) * -1.0 - x9 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x9 += einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), t3.bbbbbb, (6, 4, 5, 0, 1, 2), (3, 6)) - rdm1_f_bb_oo += einsum(x9, (0, 1), (1, 0)) * -2.9999999999998788 - x10 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x10 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (6, 4, 5, 0, 1, 2), (3, 6)) - rdm1_f_bb_oo += einsum(x10, (0, 1), (1, 0)) * -1.9999999999999194 - x11 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x11 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 1), (3, 4)) - rdm1_f_bb_oo += einsum(x11, (0, 1), (1, 0)) * -1.0 - x12 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x12 += einsum(t1.aa, (0, 1), l3.aaaaaa, (2, 3, 1, 4, 5, 6), (4, 5, 6, 0, 2, 3)) - rdm1_f_aa_ov += einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), x12, (0, 1, 2, 6, 4, 5), (6, 3)) * -2.9999999999998788 - del x12 - x13 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x13 += einsum(t1.aa, (0, 1), l3.babbab, (2, 1, 3, 4, 5, 6), (4, 6, 2, 3, 5, 0)) - rdm1_f_aa_ov += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x13, (0, 2, 5, 3, 1, 6), (6, 4)) * 0.9999999999999601 - del x13 - x14 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x14 += einsum(t1.aa, (0, 1), l3.abaaba, (2, 3, 1, 4, 5, 6), (5, 3, 4, 6, 0, 2)) - rdm1_f_aa_ov += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x14, (1, 4, 2, 0, 6, 5), (6, 3)) * -1.9999999999999194 - del x14 - x15 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x15 += einsum(t1.aa, (0, 1), l2.aaaa, (2, 1, 3, 4), (3, 4, 0, 2)) - x15 += einsum(t2.abab, (0, 1, 2, 3), l3.abaaba, (4, 3, 2, 5, 1, 6), (5, 6, 0, 4)) - x15 += einsum(t2.aaaa, (0, 1, 2, 3), l3.aaaaaa, (4, 2, 3, 5, 6, 1), (5, 6, 0, 4)) * 3.0 - rdm1_f_aa_ov += einsum(t2.aaaa, (0, 1, 2, 3), x15, (0, 1, 4, 3), (4, 2)) * 2.0 - del x15 - x16 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x16 += einsum(t1.aa, (0, 1), l2.abab, (1, 2, 3, 4), (4, 2, 3, 0)) * 0.5 - x16 += einsum(t2.abab, (0, 1, 2, 3), l3.babbab, (4, 2, 3, 5, 6, 1), (5, 4, 6, 0)) - x16 += einsum(t2.aaaa, (0, 1, 2, 3), l3.abaaba, (2, 4, 3, 5, 6, 1), (6, 4, 5, 0)) - rdm1_f_aa_ov += einsum(t2.abab, (0, 1, 2, 3), x16, (1, 3, 0, 4), (4, 2)) * -2.0 - del x16 - x17 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x17 += einsum(x1, (0, 1), (0, 1)) * 0.3333333333333468 - del x1 - x17 += einsum(x2, (0, 1), (0, 1)) * 0.3333333333333468 - del x2 - x17 += einsum(x3, (0, 1), (0, 1)) * 0.6666666666666936 - del x3 - x17 += einsum(x5, (0, 1), (0, 1)) * 0.33333333333333354 - del x5 - x17 += einsum(x4, (0, 1), (0, 1)) * 0.6666666666666667 - del x4 - x17 += einsum(x0, (0, 1), (0, 1)) - del x0 - rdm1_f_aa_ov += einsum(t1.aa, (0, 1), x17, (0, 2), (2, 1)) * -2.9999999999998788 - del x17 - x18 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x18 += einsum(t1.bb, (0, 1), l3.abaaba, (2, 1, 3, 4, 5, 6), (5, 0, 4, 6, 2, 3)) - rdm1_f_bb_ov += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x18, (1, 6, 0, 2, 3, 5), (6, 4)) * -0.9999999999999601 - del x18 - x19 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x19 += einsum(t1.bb, (0, 1), l3.babbab, (2, 3, 1, 4, 5, 6), (4, 6, 0, 2, 5, 3)) - rdm1_f_bb_ov += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x19, (0, 2, 6, 5, 1, 4), (6, 3)) * 1.9999999999999194 - del x19 - x20 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x20 += einsum(t1.bb, (0, 1), l3.bbbbbb, (2, 3, 1, 4, 5, 6), (4, 5, 6, 0, 2, 3)) - rdm1_f_bb_ov += einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), x20, (0, 1, 2, 6, 5, 4), (6, 3)) * 2.9999999999998788 - del x20 - x21 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x21 += einsum(t1.bb, (0, 1), l2.abab, (2, 1, 3, 4), (4, 0, 3, 2)) - x21 += einsum(t2.bbbb, (0, 1, 2, 3), l3.babbab, (2, 4, 3, 5, 6, 1), (5, 0, 6, 4)) * 2.0 - x21 += einsum(t2.abab, (0, 1, 2, 3), l3.abaaba, (4, 3, 2, 5, 6, 0), (6, 1, 5, 4)) * 2.0 - rdm1_f_bb_ov += einsum(t2.abab, (0, 1, 2, 3), x21, (1, 4, 0, 2), (4, 3)) * -1.0 - del x21 - x22 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x22 += einsum(t1.bb, (0, 1), l2.bbbb, (2, 1, 3, 4), (3, 4, 0, 2)) * 0.3333333333333333 - x22 += einsum(t2.bbbb, (0, 1, 2, 3), l3.bbbbbb, (4, 2, 3, 5, 6, 1), (5, 6, 0, 4)) - x22 += einsum(t2.abab, (0, 1, 2, 3), l3.babbab, (4, 2, 3, 5, 0, 6), (5, 6, 1, 4)) * 0.3333333333333333 - rdm1_f_bb_ov += einsum(t2.bbbb, (0, 1, 2, 3), x22, (0, 1, 4, 3), (4, 2)) * 6.0 - del x22 - x23 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x23 += einsum(x8, (0, 1), (0, 1)) * 1.00000000000004 - del x8 - x23 += einsum(x7, (0, 1), (0, 1)) * 2.00000000000008 - del x7 - x23 += einsum(x11, (0, 1), (0, 1)) * 1.00000000000004 - del x11 - x23 += einsum(x9, (0, 1), (0, 1)) * 2.9999999999999982 - del x9 - x23 += einsum(x10, (0, 1), (0, 1)) * 1.9999999999999991 - del x10 - x23 += einsum(x6, (0, 1), (0, 1)) - del x6 - rdm1_f_bb_ov += einsum(t1.bb, (0, 1), x23, (0, 2), (2, 1)) * -0.9999999999999601 - del x23 - - rdm1_f_aa = np.block([[rdm1_f_aa_oo, rdm1_f_aa_ov], [rdm1_f_aa_vo, rdm1_f_aa_vv]]) - rdm1_f_bb = np.block([[rdm1_f_bb_oo, rdm1_f_bb_ov], [rdm1_f_bb_vo, rdm1_f_bb_vv]]) - - rdm1_f.aa = rdm1_f_aa - rdm1_f.bb = rdm1_f_bb - - return rdm1_f - -def make_rdm2_f(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, t3=None, l1=None, l2=None, l3=None, **kwargs): - rdm2_f = Namespace() - - delta = Namespace(aa=Namespace(), bb=Namespace()) - delta.aa = Namespace(oo=np.eye(nocc[0]), vv=np.eye(nvir[0])) - delta.bb = Namespace(oo=np.eye(nocc[1]), vv=np.eye(nvir[1])) - - # RDM2 - rdm2_f_aaaa_oooo = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - rdm2_f_aaaa_oooo += einsum(delta.aa.oo, (0, 1), delta.aa.oo, (2, 3), (0, 2, 1, 3)) - rdm2_f_aaaa_oooo += einsum(delta.aa.oo, (0, 1), delta.aa.oo, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_bbbb_oooo = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - rdm2_f_bbbb_oooo += einsum(delta.bb.oo, (0, 1), delta.bb.oo, (2, 3), (0, 2, 1, 3)) - rdm2_f_bbbb_oooo += einsum(delta.bb.oo, (0, 1), delta.bb.oo, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_aaaa_ovoo = np.zeros((nocc[0], nvir[0], nocc[0], nocc[0]), dtype=types[float]) - rdm2_f_aaaa_ovoo += einsum(delta.aa.oo, (0, 1), l1.aa, (2, 3), (0, 2, 1, 3)) - rdm2_f_aaaa_ovoo += einsum(delta.aa.oo, (0, 1), l1.aa, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_abab_ovoo = np.zeros((nocc[0], nvir[1], nocc[0], nocc[1]), dtype=types[float]) - rdm2_f_abab_ovoo += einsum(delta.aa.oo, (0, 1), l1.bb, (2, 3), (0, 2, 1, 3)) - rdm2_f_bbbb_ovoo = np.zeros((nocc[1], nvir[1], nocc[1], nocc[1]), dtype=types[float]) - rdm2_f_bbbb_ovoo += einsum(delta.bb.oo, (0, 1), l1.bb, (2, 3), (0, 2, 1, 3)) - rdm2_f_bbbb_ovoo += einsum(delta.bb.oo, (0, 1), l1.bb, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_aaaa_vooo = np.zeros((nvir[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - rdm2_f_aaaa_vooo += einsum(delta.aa.oo, (0, 1), l1.aa, (2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_aaaa_vooo += einsum(delta.aa.oo, (0, 1), l1.aa, (2, 3), (2, 0, 3, 1)) - rdm2_f_abab_vooo = np.zeros((nvir[0], nocc[1], nocc[0], nocc[1]), dtype=types[float]) - rdm2_f_abab_vooo += einsum(delta.bb.oo, (0, 1), l1.aa, (2, 3), (2, 0, 3, 1)) - rdm2_f_bbbb_vooo = np.zeros((nvir[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - rdm2_f_bbbb_vooo += einsum(delta.bb.oo, (0, 1), l1.bb, (2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_bbbb_vooo += einsum(delta.bb.oo, (0, 1), l1.bb, (2, 3), (2, 0, 3, 1)) - rdm2_f_aaaa_oovv = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - rdm2_f_aaaa_oovv += einsum(l1.bb, (0, 1), t3.abaaba, (2, 1, 3, 4, 0, 5), (2, 3, 4, 5)) * 2.0 - rdm2_f_aaaa_oovv += einsum(t2.aaaa, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - rdm2_f_aaaa_oovv += einsum(l1.aa, (0, 1), t3.aaaaaa, (2, 3, 1, 4, 5, 0), (2, 3, 4, 5)) * 6.0 - rdm2_f_abab_oovv = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - rdm2_f_abab_oovv += einsum(t2.abab, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_abab_oovv += einsum(l1.bb, (0, 1), t3.babbab, (2, 3, 1, 4, 5, 0), (3, 2, 5, 4)) * 2.0 - rdm2_f_abab_oovv += einsum(l1.aa, (0, 1), t3.abaaba, (2, 3, 1, 4, 5, 0), (2, 3, 4, 5)) * 2.0 - rdm2_f_bbbb_oovv = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - rdm2_f_bbbb_oovv += einsum(l1.bb, (0, 1), t3.bbbbbb, (2, 3, 1, 4, 5, 0), (2, 3, 4, 5)) * 6.0 - rdm2_f_bbbb_oovv += einsum(t2.bbbb, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - rdm2_f_bbbb_oovv += einsum(l1.aa, (0, 1), t3.babbab, (2, 1, 3, 4, 0, 5), (2, 3, 4, 5)) * 2.0 - rdm2_f_bbbb_oovv += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_bbbb_oovv += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3)) - rdm2_f_aaaa_ovov = np.zeros((nocc[0], nvir[0], nocc[0], nvir[0]), dtype=types[float]) - rdm2_f_aaaa_ovov += einsum(l1.aa, (0, 1), t1.aa, (2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_bbbb_ovov = np.zeros((nocc[1], nvir[1], nocc[1], nvir[1]), dtype=types[float]) - rdm2_f_bbbb_ovov += einsum(l1.bb, (0, 1), t1.bb, (2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_aaaa_ovvo = np.zeros((nocc[0], nvir[0], nvir[0], nocc[0]), dtype=types[float]) - rdm2_f_aaaa_ovvo += einsum(l1.aa, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1)) - rdm2_f_abab_ovvo = np.zeros((nocc[0], nvir[1], nvir[0], nocc[1]), dtype=types[float]) - rdm2_f_abab_ovvo += einsum(l1.bb, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1)) - rdm2_f_bbbb_ovvo = np.zeros((nocc[1], nvir[1], nvir[1], nocc[1]), dtype=types[float]) - rdm2_f_bbbb_ovvo += einsum(l1.bb, (0, 1), t1.bb, (2, 3), (2, 0, 3, 1)) - rdm2_f_aaaa_voov = np.zeros((nvir[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - rdm2_f_aaaa_voov += einsum(l1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 1, 3)) - rdm2_f_abab_voov = np.zeros((nvir[0], nocc[1], nocc[0], nvir[1]), dtype=types[float]) - rdm2_f_abab_voov += einsum(l1.aa, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3)) - rdm2_f_bbbb_voov = np.zeros((nvir[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - rdm2_f_bbbb_voov += einsum(l1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3)) - rdm2_f_aaaa_vovo = np.zeros((nvir[0], nocc[0], nvir[0], nocc[0]), dtype=types[float]) - rdm2_f_aaaa_vovo += einsum(l1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_bbbb_vovo = np.zeros((nvir[1], nocc[1], nvir[1], nocc[1]), dtype=types[float]) - rdm2_f_bbbb_vovo += einsum(l1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_aaaa_vvoo = np.zeros((nvir[0], nvir[0], nocc[0], nocc[0]), dtype=types[float]) - rdm2_f_aaaa_vvoo += einsum(l2.aaaa, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - rdm2_f_abab_vvoo = np.zeros((nvir[0], nvir[1], nocc[0], nocc[1]), dtype=types[float]) - rdm2_f_abab_vvoo += einsum(l2.abab, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_bbbb_vvoo = np.zeros((nvir[1], nvir[1], nocc[1], nocc[1]), dtype=types[float]) - rdm2_f_bbbb_vvoo += einsum(l2.bbbb, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - rdm2_f_abab_ovvv = np.zeros((nocc[0], nvir[1], nvir[0], nvir[1]), dtype=types[float]) - rdm2_f_abab_ovvv += einsum(l1.bb, (0, 1), t2.abab, (2, 1, 3, 4), (2, 0, 3, 4)) - rdm2_f_abab_ovvv += einsum(l2.bbbb, (0, 1, 2, 3), t3.babbab, (2, 4, 3, 5, 6, 1), (4, 0, 6, 5)) * 2.0 - rdm2_f_abab_ovvv += einsum(l2.abab, (0, 1, 2, 3), t3.abaaba, (4, 3, 2, 5, 6, 0), (4, 1, 5, 6)) * 2.0 - rdm2_f_abab_vovv = np.zeros((nvir[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - rdm2_f_abab_vovv += einsum(l2.abab, (0, 1, 2, 3), t3.babbab, (4, 2, 3, 5, 6, 1), (0, 4, 6, 5)) * 2.0 - rdm2_f_abab_vovv += einsum(l1.aa, (0, 1), t2.abab, (1, 2, 3, 4), (0, 2, 3, 4)) - rdm2_f_abab_vovv += einsum(l2.aaaa, (0, 1, 2, 3), t3.abaaba, (2, 4, 3, 5, 6, 1), (0, 4, 5, 6)) * 2.0 - rdm2_f_abab_vvov = np.zeros((nvir[0], nvir[1], nocc[0], nvir[1]), dtype=types[float]) - rdm2_f_abab_vvov += einsum(t1.bb, (0, 1), l2.abab, (2, 3, 4, 0), (2, 3, 4, 1)) - rdm2_f_aaaa_vvvv = np.zeros((nvir[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - rdm2_f_aaaa_vvvv += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (3, 4, 5, 6, 1, 7), (0, 2, 6, 7)) * 2.0000000000000404 - rdm2_f_aaaa_vvvv += einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), t3.aaaaaa, (3, 4, 5, 6, 7, 2), (0, 1, 6, 7)) * 6.000000000000116 - rdm2_f_aaaa_vvvv += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (2, 3, 4, 5), (0, 1, 4, 5)) * 2.0 - rdm2_f_abab_vvvv = np.zeros((nvir[0], nvir[1], nvir[0], nvir[1]), dtype=types[float]) - rdm2_f_abab_vvvv += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (3, 4, 5, 6, 7, 2), (1, 0, 7, 6)) * 2.0000000000000404 - rdm2_f_abab_vvvv += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (3, 4, 5, 6, 7, 2), (0, 1, 6, 7)) * 2.0000000000000404 - rdm2_f_abab_vvvv += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 4, 5), (0, 1, 4, 5)) - rdm2_f_bbbb_vvvv = np.zeros((nvir[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - rdm2_f_bbbb_vvvv += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (3, 4, 5, 6, 1, 7), (0, 2, 6, 7)) * 2.0000000000000404 - rdm2_f_bbbb_vvvv += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (2, 3, 4, 5), (0, 1, 4, 5)) * 2.0 - rdm2_f_bbbb_vvvv += einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), t3.bbbbbb, (3, 4, 5, 6, 7, 2), (0, 1, 6, 7)) * 6.000000000000116 - x0 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x0 += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 5, 0, 1), (2, 3, 4, 5)) - rdm2_f_aaaa_oooo += einsum(x0, (0, 1, 2, 3), (3, 2, 1, 0)) * 2.0 - x1 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x1 += einsum(t1.aa, (0, 1), l2.aaaa, (2, 1, 3, 4), (3, 4, 0, 2)) - rdm2_f_aaaa_ovoo += einsum(x1, (0, 1, 2, 3), (2, 3, 1, 0)) * -2.0 - rdm2_f_aaaa_vooo += einsum(x1, (0, 1, 2, 3), (3, 2, 1, 0)) * 2.0 - x2 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x2 += einsum(t1.aa, (0, 1), x1, (2, 3, 4, 1), (2, 3, 0, 4)) - rdm2_f_aaaa_oooo += einsum(x2, (0, 1, 2, 3), (2, 3, 1, 0)) * -2.0 - x3 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x3 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (6, 4, 7, 0, 1, 2), (3, 5, 6, 7)) - rdm2_f_aaaa_oooo += einsum(x3, (0, 1, 2, 3), (2, 3, 1, 0)) * -2.0000000000000404 - x4 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x4 += einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), t3.aaaaaa, (6, 7, 5, 0, 1, 2), (3, 4, 6, 7)) - rdm2_f_aaaa_oooo += einsum(x4, (0, 1, 2, 3), (2, 3, 1, 0)) * -6.000000000000116 - x5 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x5 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 0, 1), (2, 4)) - x6 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x6 += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 3, 0, 1), (2, 4)) - x7 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x7 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (3, 6, 5, 0, 1, 2), (4, 6)) - x8 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x8 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (6, 4, 5, 0, 1, 2), (3, 6)) - x9 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x9 += einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), t3.aaaaaa, (6, 4, 5, 0, 1, 2), (3, 6)) - x10 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x10 += einsum(x5, (0, 1), (0, 1)) - x10 += einsum(x6, (0, 1), (0, 1)) * 2.0 - x10 += einsum(x7, (0, 1), (0, 1)) * 0.9999999999999601 - x10 += einsum(x8, (0, 1), (0, 1)) * 1.9999999999999194 - x10 += einsum(x9, (0, 1), (0, 1)) * 2.9999999999998788 - rdm2_f_aaaa_oooo += einsum(delta.aa.oo, (0, 1), x10, (2, 3), (0, 3, 1, 2)) * -1.0 - rdm2_f_aaaa_oooo += einsum(delta.aa.oo, (0, 1), x10, (2, 3), (0, 3, 2, 1)) - rdm2_f_aaaa_oooo += einsum(delta.aa.oo, (0, 1), x10, (2, 3), (3, 0, 1, 2)) - rdm2_f_aaaa_oooo += einsum(delta.aa.oo, (0, 1), x10, (2, 3), (3, 0, 2, 1)) * -1.0 - del x10 - x11 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x11 += einsum(l1.aa, (0, 1), t1.aa, (2, 0), (1, 2)) - rdm2_f_aaaa_oooo += einsum(delta.aa.oo, (0, 1), x11, (2, 3), (0, 3, 1, 2)) * -1.0 - rdm2_f_aaaa_oooo += einsum(delta.aa.oo, (0, 1), x11, (2, 3), (3, 0, 1, 2)) - rdm2_f_aaaa_oooo += einsum(delta.aa.oo, (0, 1), x11, (2, 3), (0, 3, 2, 1)) - rdm2_f_aaaa_oooo += einsum(delta.aa.oo, (0, 1), x11, (2, 3), (3, 0, 2, 1)) * -1.0 - x12 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x12 += einsum(t2.abab, (0, 1, 2, 3), l3.abaaba, (4, 3, 2, 5, 1, 6), (5, 6, 0, 4)) - rdm2_f_aaaa_ovoo += einsum(x12, (0, 1, 2, 3), (2, 3, 1, 0)) * -2.0 - rdm2_f_aaaa_vooo += einsum(x12, (0, 1, 2, 3), (3, 2, 1, 0)) * 2.0 - x13 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x13 += einsum(t2.aaaa, (0, 1, 2, 3), l3.aaaaaa, (4, 2, 3, 5, 6, 1), (5, 6, 0, 4)) - rdm2_f_aaaa_ovoo += einsum(x13, (0, 1, 2, 3), (2, 3, 1, 0)) * -6.0 - rdm2_f_aaaa_vooo += einsum(x13, (0, 1, 2, 3), (3, 2, 1, 0)) * 6.0 - x14 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x14 += einsum(x12, (0, 1, 2, 3), (0, 1, 2, 3)) - x14 += einsum(x13, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0 - x15 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x15 += einsum(t1.aa, (0, 1), x14, (2, 3, 4, 1), (0, 2, 3, 4)) * 2.0 - rdm2_f_aaaa_oooo += einsum(x15, (0, 1, 2, 3), (0, 3, 2, 1)) * -1.0 - rdm2_f_aaaa_oooo += einsum(x15, (0, 1, 2, 3), (3, 0, 2, 1)) - del x15 - x16 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x16 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (6, 7, 5, 0, 1, 2), (4, 7, 3, 6)) - rdm2_f_abab_oooo = np.zeros((nocc[0], nocc[1], nocc[0], nocc[1]), dtype=types[float]) - rdm2_f_abab_oooo += einsum(x16, (0, 1, 2, 3), (3, 1, 2, 0)) * 2.0000000000000404 - x17 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x17 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (6, 7, 5, 0, 1, 2), (3, 6, 4, 7)) - rdm2_f_abab_oooo += einsum(x17, (0, 1, 2, 3), (3, 1, 2, 0)) * 2.0000000000000404 - x18 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x18 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 5, 0, 1), (3, 5, 2, 4)) - rdm2_f_abab_oooo += einsum(x18, (0, 1, 2, 3), (3, 1, 2, 0)) - x19 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x19 += einsum(t1.aa, (0, 1), l2.abab, (1, 2, 3, 4), (4, 2, 3, 0)) - rdm2_f_abab_ovoo += einsum(x19, (0, 1, 2, 3), (3, 1, 2, 0)) * -1.0 - x20 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x20 += einsum(t2.abab, (0, 1, 2, 3), l3.babbab, (4, 2, 3, 5, 6, 1), (5, 4, 6, 0)) - rdm2_f_abab_ovoo += einsum(x20, (0, 1, 2, 3), (3, 1, 2, 0)) * -2.0 - x21 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x21 += einsum(t2.aaaa, (0, 1, 2, 3), l3.abaaba, (2, 4, 3, 5, 6, 1), (6, 4, 5, 0)) - rdm2_f_abab_ovoo += einsum(x21, (0, 1, 2, 3), (3, 1, 2, 0)) * -2.0 - x22 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x22 += einsum(x19, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - x22 += einsum(x20, (0, 1, 2, 3), (0, 1, 2, 3)) - x22 += einsum(x21, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_abab_oooo += einsum(t1.bb, (0, 1), x22, (2, 1, 3, 4), (4, 0, 3, 2)) * 2.0 - rdm2_f_abab_ooov = np.zeros((nocc[0], nocc[1], nocc[0], nvir[1]), dtype=types[float]) - rdm2_f_abab_ooov += einsum(t2.bbbb, (0, 1, 2, 3), x22, (1, 3, 4, 5), (5, 0, 4, 2)) * -4.0 - rdm2_f_abab_oovo = np.zeros((nocc[0], nocc[1], nvir[0], nocc[1]), dtype=types[float]) - rdm2_f_abab_oovo += einsum(t2.abab, (0, 1, 2, 3), x22, (4, 3, 0, 5), (5, 1, 2, 4)) * 2.0 - rdm2_f_abab_ovvo += einsum(t1.aa, (0, 1), x22, (2, 3, 0, 4), (4, 3, 1, 2)) * -2.0 - rdm2_f_abab_ovvv += einsum(t2.abab, (0, 1, 2, 3), x22, (1, 4, 0, 5), (5, 4, 2, 3)) * -2.0 - x23 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x23 += einsum(t2.bbbb, (0, 1, 2, 3), l3.babbab, (2, 4, 3, 5, 6, 1), (5, 0, 6, 4)) - rdm2_f_abab_vooo += einsum(x23, (0, 1, 2, 3), (3, 1, 2, 0)) * -2.0 - x24 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x24 += einsum(t2.abab, (0, 1, 2, 3), l3.abaaba, (4, 3, 2, 5, 6, 0), (6, 1, 5, 4)) - rdm2_f_abab_vooo += einsum(x24, (0, 1, 2, 3), (3, 1, 2, 0)) * -2.0 - x25 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x25 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) - x25 += einsum(x24, (0, 1, 2, 3), (0, 1, 2, 3)) - x26 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x26 += einsum(t1.aa, (0, 1), x25, (2, 3, 4, 1), (2, 3, 0, 4)) * 2.0 - rdm2_f_abab_oooo += einsum(x26, (0, 1, 2, 3), (2, 1, 3, 0)) - x27 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x27 += einsum(delta.aa.oo, (0, 1), (0, 1)) * -1.0 - x27 += einsum(x11, (0, 1), (0, 1)) - x27 += einsum(x5, (0, 1), (0, 1)) - x27 += einsum(x6, (0, 1), (0, 1)) * 2.0 - x27 += einsum(x7, (0, 1), (0, 1)) * 0.9999999999999601 - x27 += einsum(x8, (0, 1), (0, 1)) * 1.9999999999999194 - x27 += einsum(x9, (0, 1), (0, 1)) * 2.9999999999998788 - rdm2_f_abab_oooo += einsum(delta.bb.oo, (0, 1), x27, (2, 3), (3, 0, 2, 1)) * -1.0 - del x27 - x28 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x28 += einsum(l1.bb, (0, 1), t1.bb, (2, 0), (1, 2)) - rdm2_f_bbbb_oooo += einsum(delta.bb.oo, (0, 1), x28, (2, 3), (0, 3, 1, 2)) * -1.0 - rdm2_f_bbbb_oooo += einsum(delta.bb.oo, (0, 1), x28, (2, 3), (3, 0, 1, 2)) - rdm2_f_bbbb_oooo += einsum(delta.bb.oo, (0, 1), x28, (2, 3), (0, 3, 2, 1)) - rdm2_f_bbbb_oooo += einsum(delta.bb.oo, (0, 1), x28, (2, 3), (3, 0, 2, 1)) * -1.0 - x29 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x29 += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 3, 0, 1), (2, 4)) - x30 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x30 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 1), (3, 4)) - x31 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x31 += einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), t3.bbbbbb, (6, 4, 5, 0, 1, 2), (3, 6)) - x32 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x32 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (6, 4, 5, 0, 1, 2), (3, 6)) - x33 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x33 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (3, 6, 5, 0, 1, 2), (4, 6)) - x34 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x34 += einsum(x28, (0, 1), (0, 1)) * 0.5 - x34 += einsum(x29, (0, 1), (0, 1)) - x34 += einsum(x30, (0, 1), (0, 1)) * 0.5 - x34 += einsum(x31, (0, 1), (0, 1)) * 1.4999999999999394 - x34 += einsum(x32, (0, 1), (0, 1)) * 0.9999999999999597 - x34 += einsum(x33, (0, 1), (0, 1)) * 0.49999999999998007 - rdm2_f_abab_oooo += einsum(delta.aa.oo, (0, 1), x34, (2, 3), (0, 3, 1, 2)) * -2.0 - rdm2_f_abab_oovo += einsum(t1.aa, (0, 1), x34, (2, 3), (0, 3, 1, 2)) * -2.0 - del x34 - x35 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x35 += einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), t3.bbbbbb, (6, 7, 5, 0, 1, 2), (3, 4, 6, 7)) - rdm2_f_bbbb_oooo += einsum(x35, (0, 1, 2, 3), (2, 3, 1, 0)) * -6.000000000000116 - x36 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x36 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (6, 4, 7, 0, 1, 2), (3, 5, 6, 7)) - rdm2_f_bbbb_oooo += einsum(x36, (0, 1, 2, 3), (2, 3, 1, 0)) * -2.0000000000000404 - x37 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x37 += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 5, 0, 1), (2, 3, 4, 5)) - rdm2_f_bbbb_oooo += einsum(x37, (0, 1, 2, 3), (3, 2, 1, 0)) * 2.0 - x38 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x38 += einsum(t1.bb, (0, 1), l2.bbbb, (2, 1, 3, 4), (3, 4, 0, 2)) - rdm2_f_bbbb_ovoo += einsum(x38, (0, 1, 2, 3), (2, 3, 1, 0)) * -2.0 - rdm2_f_bbbb_vooo += einsum(x38, (0, 1, 2, 3), (3, 2, 1, 0)) * 2.0 - x39 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x39 += einsum(t1.bb, (0, 1), x38, (2, 3, 4, 1), (2, 3, 0, 4)) - rdm2_f_bbbb_oooo += einsum(x39, (0, 1, 2, 3), (2, 3, 1, 0)) * -2.0 - x40 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x40 += einsum(t2.bbbb, (0, 1, 2, 3), l3.bbbbbb, (4, 2, 3, 5, 6, 1), (5, 6, 0, 4)) - rdm2_f_bbbb_ovoo += einsum(x40, (0, 1, 2, 3), (2, 3, 1, 0)) * -6.0 - rdm2_f_bbbb_vooo += einsum(x40, (0, 1, 2, 3), (3, 2, 1, 0)) * 6.0 - x41 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x41 += einsum(t2.abab, (0, 1, 2, 3), l3.babbab, (4, 2, 3, 5, 0, 6), (5, 6, 1, 4)) - rdm2_f_bbbb_ovoo += einsum(x41, (0, 1, 2, 3), (2, 3, 1, 0)) * -2.0 - rdm2_f_bbbb_vooo += einsum(x41, (0, 1, 2, 3), (3, 2, 1, 0)) * 2.0 - x42 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x42 += einsum(x40, (0, 1, 2, 3), (0, 1, 2, 3)) - x42 += einsum(x41, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.3333333333333333 - x43 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x43 += einsum(t1.bb, (0, 1), x42, (2, 3, 4, 1), (0, 2, 3, 4)) * 6.0 - rdm2_f_bbbb_oooo += einsum(x43, (0, 1, 2, 3), (0, 3, 2, 1)) * -1.0 - rdm2_f_bbbb_oooo += einsum(x43, (0, 1, 2, 3), (3, 0, 2, 1)) - del x43 - x44 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x44 += einsum(x29, (0, 1), (0, 1)) - x44 += einsum(x30, (0, 1), (0, 1)) * 0.5 - x44 += einsum(x31, (0, 1), (0, 1)) * 1.4999999999999394 - x44 += einsum(x32, (0, 1), (0, 1)) * 0.9999999999999597 - x44 += einsum(x33, (0, 1), (0, 1)) * 0.49999999999998007 - rdm2_f_bbbb_oooo += einsum(delta.bb.oo, (0, 1), x44, (2, 3), (0, 3, 1, 2)) * -2.0 - rdm2_f_bbbb_oooo += einsum(delta.bb.oo, (0, 1), x44, (2, 3), (0, 3, 2, 1)) * 2.0 - rdm2_f_bbbb_oooo += einsum(delta.bb.oo, (0, 1), x44, (2, 3), (3, 0, 1, 2)) * 2.0 - rdm2_f_bbbb_oooo += einsum(delta.bb.oo, (0, 1), x44, (2, 3), (3, 0, 2, 1)) * -2.0 - del x44 - x45 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x45 += einsum(t1.aa, (0, 1), l3.aaaaaa, (2, 3, 1, 4, 5, 6), (4, 5, 6, 0, 2, 3)) - x46 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x46 += einsum(t1.aa, (0, 1), x45, (2, 3, 4, 5, 1, 6), (3, 4, 2, 5, 0, 6)) - x47 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x47 += einsum(t2.aaaa, (0, 1, 2, 3), x46, (1, 0, 4, 5, 6, 3), (4, 6, 5, 2)) - rdm2_f_aaaa_ooov = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - rdm2_f_aaaa_ooov += einsum(x47, (0, 1, 2, 3), (1, 2, 0, 3)) * 6.0 - rdm2_f_aaaa_oovo = np.zeros((nocc[0], nocc[0], nvir[0], nocc[0]), dtype=types[float]) - rdm2_f_aaaa_oovo += einsum(x47, (0, 1, 2, 3), (1, 2, 3, 0)) * -6.0 - x48 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x48 += einsum(l2.aaaa, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 3, 6, 0, 1), (2, 4, 5, 6)) - rdm2_f_aaaa_ooov += einsum(x48, (0, 1, 2, 3), (1, 2, 0, 3)) * 6.0 - rdm2_f_aaaa_oovo += einsum(x48, (0, 1, 2, 3), (1, 2, 3, 0)) * -6.0 - x49 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x49 += einsum(l2.abab, (0, 1, 2, 3), t3.abaaba, (4, 3, 5, 6, 1, 0), (2, 4, 5, 6)) - rdm2_f_aaaa_ooov += einsum(x49, (0, 1, 2, 3), (1, 2, 0, 3)) * 2.0 - rdm2_f_aaaa_oovo += einsum(x49, (0, 1, 2, 3), (1, 2, 3, 0)) * -2.0 - x50 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x50 += einsum(l1.aa, (0, 1), t2.aaaa, (2, 3, 4, 0), (1, 2, 3, 4)) - rdm2_f_aaaa_ooov += einsum(x50, (0, 1, 2, 3), (2, 1, 0, 3)) * -2.0 - rdm2_f_aaaa_oovo += einsum(x50, (0, 1, 2, 3), (2, 1, 3, 0)) * 2.0 - x51 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x51 += einsum(t1.aa, (0, 1), l3.abaaba, (2, 3, 1, 4, 5, 6), (5, 3, 4, 6, 0, 2)) - rdm2_f_abab_ovvv += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x51, (1, 6, 0, 2, 7, 5), (7, 6, 3, 4)) * 2.0000000000000404 - x52 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x52 += einsum(t1.aa, (0, 1), x51, (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 6, 0)) * -1.0 - x53 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x53 += einsum(t2.abab, (0, 1, 2, 3), x52, (1, 3, 4, 0, 5, 6), (4, 6, 5, 2)) * -1.0 - rdm2_f_aaaa_ooov += einsum(x53, (0, 1, 2, 3), (1, 2, 0, 3)) * 2.0 - rdm2_f_aaaa_oovo += einsum(x53, (0, 1, 2, 3), (1, 2, 3, 0)) * -2.0 - x54 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x54 += einsum(l1.bb, (0, 1), t2.abab, (2, 1, 3, 0), (2, 3)) - x55 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x55 += einsum(l1.aa, (0, 1), t2.aaaa, (2, 1, 3, 0), (2, 3)) - x56 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x56 += einsum(l2.bbbb, (0, 1, 2, 3), t3.babbab, (2, 4, 3, 0, 5, 1), (4, 5)) - x57 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x57 += einsum(l2.abab, (0, 1, 2, 3), t3.abaaba, (4, 3, 2, 5, 1, 0), (4, 5)) - x58 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x58 += einsum(l2.aaaa, (0, 1, 2, 3), t3.aaaaaa, (4, 2, 3, 5, 0, 1), (4, 5)) - x59 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x59 += einsum(t1.aa, (0, 1), l3.babbab, (2, 1, 3, 4, 5, 6), (4, 6, 2, 3, 5, 0)) - rdm2_f_abab_ovvv += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x59, (2, 0, 6, 5, 1, 7), (7, 6, 4, 3)) * 2.0000000000000404 - x60 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x60 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x59, (0, 2, 3, 5, 1, 6), (6, 4)) - x61 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x61 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x51, (1, 4, 0, 2, 6, 5), (6, 3)) * -1.0 - x62 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x62 += einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), x45, (0, 1, 2, 6, 4, 5), (6, 3)) - x63 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x63 += einsum(t2.abab, (0, 1, 2, 3), x22, (1, 3, 0, 4), (4, 2)) * 2.0 - x64 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x64 += einsum(x1, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.3333333333333333 - x64 += einsum(x12, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.3333333333333333 - x64 += einsum(x13, (0, 1, 2, 3), (0, 1, 2, 3)) - x65 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x65 += einsum(t2.aaaa, (0, 1, 2, 3), x64, (0, 1, 4, 3), (4, 2)) * -6.0 - x66 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x66 += einsum(x11, (0, 1), (0, 1)) - x66 += einsum(x5, (0, 1), (0, 1)) - x66 += einsum(x6, (0, 1), (0, 1)) * 2.0 - x66 += einsum(x7, (0, 1), (0, 1)) * 0.9999999999999601 - x66 += einsum(x8, (0, 1), (0, 1)) * 1.9999999999999194 - x66 += einsum(x9, (0, 1), (0, 1)) * 2.9999999999998788 - rdm2_f_abab_ooov += einsum(t1.bb, (0, 1), x66, (2, 3), (3, 0, 2, 1)) * -1.0 - x67 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x67 += einsum(t1.aa, (0, 1), x66, (0, 2), (2, 1)) - x68 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x68 += einsum(x54, (0, 1), (0, 1)) * -1.0 - x68 += einsum(x55, (0, 1), (0, 1)) * -2.0 - x68 += einsum(x56, (0, 1), (0, 1)) * -1.0 - x68 += einsum(x57, (0, 1), (0, 1)) * -2.0 - x68 += einsum(x58, (0, 1), (0, 1)) * -3.0 - x68 += einsum(x60, (0, 1), (0, 1)) * 0.9999999999999601 - x68 += einsum(x61, (0, 1), (0, 1)) * 1.9999999999999194 - x68 += einsum(x62, (0, 1), (0, 1)) * 2.9999999999998788 - x68 += einsum(x63, (0, 1), (0, 1)) - x68 += einsum(x65, (0, 1), (0, 1)) - x68 += einsum(x67, (0, 1), (0, 1)) - rdm2_f_aaaa_ooov += einsum(delta.aa.oo, (0, 1), x68, (2, 3), (0, 2, 1, 3)) * -1.0 - rdm2_f_aaaa_ooov += einsum(delta.aa.oo, (0, 1), x68, (2, 3), (2, 0, 1, 3)) - rdm2_f_aaaa_oovo += einsum(delta.aa.oo, (0, 1), x68, (2, 3), (0, 2, 3, 1)) - rdm2_f_aaaa_oovo += einsum(delta.aa.oo, (0, 1), x68, (2, 3), (2, 0, 3, 1)) * -1.0 - x69 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x69 += einsum(t2.abab, (0, 1, 2, 3), x20, (1, 3, 4, 5), (4, 0, 5, 2)) - x70 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x70 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x59, (2, 0, 3, 5, 6, 7), (6, 7, 1, 4)) * -1.0 - x71 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x71 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x51, (1, 4, 6, 2, 7, 5), (6, 7, 0, 3)) * -1.0 - x72 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x72 += einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), x45, (1, 2, 6, 7, 5, 4), (6, 7, 0, 3)) * -1.0 - x73 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x73 += einsum(t2.aaaa, (0, 1, 2, 3), x64, (1, 4, 5, 3), (0, 4, 5, 2)) * 12.0 - x74 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x74 += einsum(x19, (0, 1, 2, 3), (0, 1, 2, 3)) - x74 += einsum(x21, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x75 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x75 += einsum(t2.abab, (0, 1, 2, 3), x74, (1, 3, 4, 5), (0, 4, 5, 2)) - x76 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x76 += einsum(t1.aa, (0, 1), x14, (2, 3, 4, 1), (0, 2, 3, 4)) - x77 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x77 += einsum(t1.aa, (0, 1), x76, (2, 0, 3, 4), (3, 2, 4, 1)) * 2.0 - del x76 - x78 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x78 += einsum(delta.aa.oo, (0, 1), t1.aa, (2, 3), (0, 1, 2, 3)) - x78 += einsum(x69, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 - x78 += einsum(x70, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x78 += einsum(x71, (0, 1, 2, 3), (1, 0, 2, 3)) * -4.0 - x78 += einsum(x72, (0, 1, 2, 3), (1, 0, 2, 3)) * -9.0 - x78 += einsum(x73, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - del x73 - x78 += einsum(x75, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - del x75 - x78 += einsum(x77, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x77 - x78 += einsum(t1.aa, (0, 1), x66, (2, 3), (0, 2, 3, 1)) - del x66 - rdm2_f_aaaa_ooov += einsum(x78, (0, 1, 2, 3), (0, 2, 1, 3)) - rdm2_f_aaaa_ooov += einsum(x78, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_aaaa_oovo += einsum(x78, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_aaaa_oovo += einsum(x78, (0, 1, 2, 3), (2, 0, 3, 1)) - del x78 - x79 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x79 += einsum(t2.abab, (0, 1, 2, 3), l3.abaaba, (4, 3, 5, 6, 1, 0), (6, 4, 5, 2)) - rdm2_f_aaaa_vvov = np.zeros((nvir[0], nvir[0], nocc[0], nvir[0]), dtype=types[float]) - rdm2_f_aaaa_vvov += einsum(x79, (0, 1, 2, 3), (1, 2, 0, 3)) * 2.0 - rdm2_f_aaaa_vvvo = np.zeros((nvir[0], nvir[0], nvir[0], nocc[0]), dtype=types[float]) - rdm2_f_aaaa_vvvo += einsum(x79, (0, 1, 2, 3), (1, 2, 3, 0)) * -2.0 - x80 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x80 += einsum(t2.aaaa, (0, 1, 2, 3), l3.aaaaaa, (4, 5, 3, 6, 0, 1), (6, 4, 5, 2)) - rdm2_f_aaaa_vvov += einsum(x80, (0, 1, 2, 3), (1, 2, 0, 3)) * 6.0 - rdm2_f_aaaa_vvvo += einsum(x80, (0, 1, 2, 3), (1, 2, 3, 0)) * -6.0 - x81 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x81 += einsum(x79, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.3333333333333333 - x81 += einsum(x80, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - rdm2_f_abab_oovv += einsum(x81, (0, 1, 2, 3), t3.abaaba, (4, 5, 0, 1, 6, 2), (4, 5, 3, 6)) * 6.0 - x82 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x82 += einsum(t2.aaaa, (0, 1, 2, 3), x81, (4, 2, 3, 5), (0, 1, 4, 5)) * 6.0 - del x81 - rdm2_f_aaaa_ooov += einsum(x82, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - rdm2_f_aaaa_oovo += einsum(x82, (0, 1, 2, 3), (1, 0, 3, 2)) - del x82 - x83 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x83 += einsum(x0, (0, 1, 2, 3), (1, 0, 3, 2)) * -0.3333333333333269 - x83 += einsum(x2, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.3333333333333269 - x83 += einsum(x3, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.3333333333333336 - x83 += einsum(x4, (0, 1, 2, 3), (0, 1, 3, 2)) - x84 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x84 += einsum(t1.aa, (0, 1), x83, (0, 2, 3, 4), (2, 3, 4, 1)) * 6.000000000000116 - del x83 - rdm2_f_aaaa_ooov += einsum(x84, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_aaaa_oovo += einsum(x84, (0, 1, 2, 3), (2, 1, 3, 0)) - del x84 - x85 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x85 += einsum(t1.bb, (0, 1), l3.abaaba, (2, 1, 3, 4, 5, 6), (5, 0, 4, 6, 2, 3)) - rdm2_f_abab_vovv += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x85, (1, 6, 0, 2, 7, 5), (7, 6, 3, 4)) * -2.0000000000000404 - x86 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x86 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x85, (1, 6, 7, 2, 5, 3), (6, 4, 7, 0)) * -1.0 - rdm2_f_abab_ooov += einsum(x86, (0, 1, 2, 3), (3, 0, 2, 1)) * 2.0 - x87 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x87 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x51, (2, 5, 6, 1, 7, 4), (0, 3, 6, 7)) * -1.0 - rdm2_f_abab_ooov += einsum(x87, (0, 1, 2, 3), (3, 0, 2, 1)) * -4.0 - x88 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x88 += einsum(t1.bb, (0, 1), x51, (2, 1, 3, 4, 5, 6), (2, 0, 3, 4, 5, 6)) - x89 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x89 += einsum(t2.abab, (0, 1, 2, 3), x88, (1, 4, 5, 0, 6, 2), (4, 3, 5, 6)) * -1.0 - rdm2_f_abab_ooov += einsum(x89, (0, 1, 2, 3), (3, 0, 2, 1)) * 2.0 - x90 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x90 += einsum(t1.bb, (0, 1), l3.babbab, (2, 3, 1, 4, 5, 6), (4, 6, 0, 2, 5, 3)) - rdm2_f_abab_vovv += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x90, (2, 0, 6, 5, 1, 7), (7, 6, 4, 3)) * -2.0000000000000404 - x91 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x91 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x90, (2, 0, 6, 5, 7, 4), (6, 3, 7, 1)) - rdm2_f_abab_ooov += einsum(x91, (0, 1, 2, 3), (3, 0, 2, 1)) * 2.0 - x92 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x92 += einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), x59, (1, 2, 4, 5, 6, 7), (0, 3, 6, 7)) - rdm2_f_abab_ooov += einsum(x92, (0, 1, 2, 3), (3, 0, 2, 1)) * -3.0 - x93 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x93 += einsum(t1.bb, (0, 1), x59, (2, 3, 1, 4, 5, 6), (3, 2, 0, 4, 5, 6)) - x94 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x94 += einsum(t2.bbbb, (0, 1, 2, 3), x93, (1, 0, 4, 3, 5, 6), (4, 2, 5, 6)) - rdm2_f_abab_ooov += einsum(x94, (0, 1, 2, 3), (3, 0, 2, 1)) * 2.0 - x95 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x95 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x45, (6, 2, 0, 7, 5, 3), (1, 4, 6, 7)) - rdm2_f_abab_ooov += einsum(x95, (0, 1, 2, 3), (3, 0, 2, 1)) * -3.0 - x96 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x96 += einsum(l1.aa, (0, 1), t2.abab, (2, 3, 0, 4), (3, 4, 1, 2)) - rdm2_f_abab_ooov += einsum(x96, (0, 1, 2, 3), (3, 0, 2, 1)) * -1.0 - x97 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x97 += einsum(l2.aaaa, (0, 1, 2, 3), t3.abaaba, (4, 5, 3, 0, 6, 1), (5, 6, 2, 4)) - rdm2_f_abab_ooov += einsum(x97, (0, 1, 2, 3), (3, 0, 2, 1)) * -2.0 - x98 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x98 += einsum(l2.abab, (0, 1, 2, 3), t3.babbab, (4, 5, 3, 6, 0, 1), (4, 6, 2, 5)) - rdm2_f_abab_ooov += einsum(x98, (0, 1, 2, 3), (3, 0, 2, 1)) * -2.0 - x99 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x99 += einsum(t2.bbbb, (0, 1, 2, 3), l3.babbab, (4, 5, 3, 0, 6, 1), (4, 2, 6, 5)) - rdm2_f_abab_vvov += einsum(x99, (0, 1, 2, 3), (3, 0, 2, 1)) * 2.0 - x100 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x100 += einsum(t2.abab, (0, 1, 2, 3), l3.abaaba, (4, 5, 2, 6, 1, 0), (5, 3, 6, 4)) - rdm2_f_abab_vvov += einsum(x100, (0, 1, 2, 3), (3, 0, 2, 1)) * 2.0 - x101 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x101 += einsum(x99, (0, 1, 2, 3), (0, 1, 2, 3)) - x101 += einsum(x100, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_abab_ooov += einsum(t2.abab, (0, 1, 2, 3), x101, (3, 4, 5, 2), (0, 1, 5, 4)) * 2.0 - rdm2_f_abab_ovvv += einsum(t2.aaaa, (0, 1, 2, 3), x101, (4, 5, 1, 3), (0, 4, 2, 5)) * 4.0 - rdm2_f_abab_vovv += einsum(t2.abab, (0, 1, 2, 3), x101, (3, 4, 0, 5), (5, 1, 2, 4)) * -2.0 - rdm2_f_abab_vvvv += einsum(t1.aa, (0, 1), x101, (2, 3, 0, 4), (4, 2, 1, 3)) * 2.0 - x102 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x102 += einsum(x1, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x102 += einsum(x12, (0, 1, 2, 3), (0, 1, 2, 3)) - x102 += einsum(x13, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0 - rdm2_f_abab_ooov += einsum(t2.abab, (0, 1, 2, 3), x102, (0, 4, 5, 2), (5, 1, 4, 3)) * -2.0 - rdm2_f_abab_oovv += einsum(x102, (0, 1, 2, 3), t3.abaaba, (0, 4, 1, 5, 6, 3), (2, 4, 5, 6)) * 2.0 - x103 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x103 += einsum(t1.bb, (0, 1), l2.abab, (2, 1, 3, 4), (4, 0, 3, 2)) - rdm2_f_abab_vooo += einsum(x103, (0, 1, 2, 3), (3, 1, 2, 0)) * -1.0 - x104 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x104 += einsum(x103, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - x104 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) - x104 += einsum(x24, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_abab_ooov += einsum(t2.abab, (0, 1, 2, 3), x104, (1, 4, 5, 2), (0, 4, 5, 3)) * 2.0 - rdm2_f_abab_oovo += einsum(t2.aaaa, (0, 1, 2, 3), x104, (4, 5, 1, 3), (0, 5, 2, 4)) * -4.0 - rdm2_f_abab_voov += einsum(t1.bb, (0, 1), x104, (0, 2, 3, 4), (4, 2, 3, 1)) * -2.0 - rdm2_f_abab_vovo = np.zeros((nvir[0], nocc[1], nvir[0], nocc[1]), dtype=types[float]) - rdm2_f_abab_vovo += einsum(t1.aa, (0, 1), x104, (2, 3, 0, 4), (4, 3, 1, 2)) * -2.0 - x105 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x105 += einsum(x19, (0, 1, 2, 3), (0, 1, 2, 3)) - x105 += einsum(x20, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x105 += einsum(x21, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - rdm2_f_abab_oovv += einsum(x105, (0, 1, 2, 3), t3.babbab, (4, 2, 0, 5, 6, 1), (3, 4, 6, 5)) * -2.0 - rdm2_f_abab_ovov = np.zeros((nocc[0], nvir[1], nocc[0], nvir[1]), dtype=types[float]) - rdm2_f_abab_ovov += einsum(t1.bb, (0, 1), x105, (0, 2, 3, 4), (4, 2, 3, 1)) * -1.0 - x106 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x106 += einsum(t1.bb, (0, 1), x105, (2, 1, 3, 4), (2, 0, 3, 4)) * 0.4999999999999899 - x107 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x107 += einsum(t1.aa, (0, 1), x25, (2, 3, 4, 1), (2, 3, 0, 4)) * 0.9999999999999798 - x108 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x108 += einsum(x18, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.4999999999999899 - x108 += einsum(x17, (0, 1, 2, 3), (0, 1, 2, 3)) - x108 += einsum(x16, (0, 1, 2, 3), (0, 1, 2, 3)) - x108 += einsum(x106, (0, 1, 2, 3), (0, 1, 2, 3)) - del x106 - x108 += einsum(x107, (0, 1, 2, 3), (0, 1, 3, 2)) - del x107 - rdm2_f_abab_ooov += einsum(t1.bb, (0, 1), x108, (0, 2, 3, 4), (4, 2, 3, 1)) * 2.0000000000000404 - rdm2_f_abab_oovo += einsum(t1.aa, (0, 1), x108, (2, 3, 0, 4), (4, 3, 1, 2)) * 2.0000000000000404 - del x108 - x109 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x109 += einsum(l1.bb, (0, 1), t2.bbbb, (2, 1, 3, 0), (2, 3)) - x110 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x110 += einsum(l1.aa, (0, 1), t2.abab, (1, 2, 0, 3), (2, 3)) - x111 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x111 += einsum(l2.bbbb, (0, 1, 2, 3), t3.bbbbbb, (4, 2, 3, 5, 0, 1), (4, 5)) - x112 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x112 += einsum(l2.abab, (0, 1, 2, 3), t3.babbab, (4, 2, 3, 5, 0, 1), (4, 5)) - x113 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x113 += einsum(l2.aaaa, (0, 1, 2, 3), t3.abaaba, (2, 4, 3, 0, 5, 1), (4, 5)) - x114 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x114 += einsum(t1.bb, (0, 1), l3.bbbbbb, (2, 3, 1, 4, 5, 6), (4, 5, 6, 0, 2, 3)) - x115 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x115 += einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), x114, (0, 1, 2, 6, 4, 5), (6, 3)) - x116 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x116 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x90, (2, 0, 6, 5, 1, 4), (6, 3)) - x117 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x117 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x85, (1, 6, 0, 2, 3, 5), (6, 4)) - x118 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x118 += einsum(x38, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x118 += einsum(x40, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0 - x118 += einsum(x41, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_abab_oovo += einsum(t2.abab, (0, 1, 2, 3), x118, (1, 4, 5, 3), (0, 5, 2, 4)) * -2.0 - rdm2_f_abab_oovv += einsum(x118, (0, 1, 2, 3), t3.babbab, (0, 4, 1, 5, 6, 3), (4, 2, 6, 5)) * 2.0 - x119 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x119 += einsum(x28, (0, 1), (0, 1)) - x119 += einsum(x29, (0, 1), (0, 1)) * 2.0 - x119 += einsum(x30, (0, 1), (0, 1)) - x119 += einsum(x31, (0, 1), (0, 1)) * 2.9999999999998788 - x119 += einsum(x32, (0, 1), (0, 1)) * 1.9999999999999194 - x119 += einsum(x33, (0, 1), (0, 1)) * 0.9999999999999601 - rdm2_f_abab_oovv += einsum(x119, (0, 1), t2.abab, (2, 0, 3, 4), (2, 1, 3, 4)) * -1.0 - x120 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x120 += einsum(t1.bb, (0, 1), (0, 1)) * -1.0 - x120 += einsum(x109, (0, 1), (0, 1)) * -2.0 - x120 += einsum(x110, (0, 1), (0, 1)) * -1.0 - x120 += einsum(x111, (0, 1), (0, 1)) * -3.0 - x120 += einsum(x112, (0, 1), (0, 1)) * -2.0 - x120 += einsum(x113, (0, 1), (0, 1)) * -1.0 - x120 += einsum(x115, (0, 1), (0, 1)) * 2.9999999999998788 - x120 += einsum(x116, (0, 1), (0, 1)) * 1.9999999999999194 - x120 += einsum(x117, (0, 1), (0, 1)) * 0.9999999999999601 - x120 += einsum(t2.bbbb, (0, 1, 2, 3), x118, (0, 1, 4, 3), (4, 2)) * -2.0 - x120 += einsum(t2.abab, (0, 1, 2, 3), x104, (1, 4, 0, 2), (4, 3)) * 2.0 - x120 += einsum(t1.bb, (0, 1), x119, (0, 2), (2, 1)) - rdm2_f_abab_ooov += einsum(delta.aa.oo, (0, 1), x120, (2, 3), (0, 2, 1, 3)) * -1.0 - del x120 - x121 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x121 += einsum(l1.bb, (0, 1), t2.bbbb, (2, 3, 4, 0), (1, 2, 3, 4)) - rdm2_f_bbbb_ooov = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - rdm2_f_bbbb_ooov += einsum(x121, (0, 1, 2, 3), (2, 1, 0, 3)) * -2.0 - rdm2_f_bbbb_oovo = np.zeros((nocc[1], nocc[1], nvir[1], nocc[1]), dtype=types[float]) - rdm2_f_bbbb_oovo += einsum(x121, (0, 1, 2, 3), (2, 1, 3, 0)) * 2.0 - x122 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x122 += einsum(t1.bb, (0, 1), x90, (2, 3, 4, 1, 5, 6), (2, 3, 4, 0, 5, 6)) * -1.0 - x123 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x123 += einsum(t2.abab, (0, 1, 2, 3), x122, (4, 1, 5, 6, 0, 2), (4, 6, 5, 3)) * -1.0 - rdm2_f_bbbb_ooov += einsum(x123, (0, 1, 2, 3), (1, 2, 0, 3)) * 2.0 - rdm2_f_bbbb_oovo += einsum(x123, (0, 1, 2, 3), (1, 2, 3, 0)) * -2.0 - x124 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x124 += einsum(l2.bbbb, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 3, 6, 0, 1), (2, 4, 5, 6)) - rdm2_f_bbbb_ooov += einsum(x124, (0, 1, 2, 3), (1, 2, 0, 3)) * 6.0 - rdm2_f_bbbb_oovo += einsum(x124, (0, 1, 2, 3), (1, 2, 3, 0)) * -6.0 - x125 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x125 += einsum(l2.abab, (0, 1, 2, 3), t3.babbab, (4, 2, 5, 6, 0, 1), (3, 4, 5, 6)) - rdm2_f_bbbb_ooov += einsum(x125, (0, 1, 2, 3), (1, 2, 0, 3)) * 2.0 - rdm2_f_bbbb_oovo += einsum(x125, (0, 1, 2, 3), (1, 2, 3, 0)) * -2.0 - x126 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x126 += einsum(t1.bb, (0, 1), x114, (2, 3, 4, 5, 1, 6), (3, 4, 2, 5, 0, 6)) - x127 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x127 += einsum(t2.bbbb, (0, 1, 2, 3), x126, (0, 1, 4, 5, 6, 3), (4, 6, 5, 2)) * -1.0 - rdm2_f_bbbb_ooov += einsum(x127, (0, 1, 2, 3), (1, 2, 0, 3)) * 6.0 - rdm2_f_bbbb_oovo += einsum(x127, (0, 1, 2, 3), (1, 2, 3, 0)) * -6.0 - x128 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x128 += einsum(t2.bbbb, (0, 1, 2, 3), x118, (0, 1, 4, 3), (4, 2)) * -1.0 - x129 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x129 += einsum(t2.abab, (0, 1, 2, 3), x104, (1, 4, 0, 2), (4, 3)) - del x104 - x130 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x130 += einsum(t1.bb, (0, 1), x119, (0, 2), (2, 1)) * 0.5 - x131 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x131 += einsum(x109, (0, 1), (0, 1)) * -1.0 - del x109 - x131 += einsum(x110, (0, 1), (0, 1)) * -0.5 - del x110 - x131 += einsum(x111, (0, 1), (0, 1)) * -1.5 - del x111 - x131 += einsum(x112, (0, 1), (0, 1)) * -1.0 - del x112 - x131 += einsum(x113, (0, 1), (0, 1)) * -0.5 - del x113 - x131 += einsum(x115, (0, 1), (0, 1)) * 1.4999999999999394 - del x115 - x131 += einsum(x116, (0, 1), (0, 1)) * 0.9999999999999597 - del x116 - x131 += einsum(x117, (0, 1), (0, 1)) * 0.49999999999998007 - del x117 - x131 += einsum(x128, (0, 1), (0, 1)) - del x128 - x131 += einsum(x129, (0, 1), (0, 1)) - del x129 - x131 += einsum(x130, (0, 1), (0, 1)) - del x130 - rdm2_f_bbbb_ooov += einsum(delta.bb.oo, (0, 1), x131, (2, 3), (0, 2, 1, 3)) * -2.0 - rdm2_f_bbbb_ooov += einsum(delta.bb.oo, (0, 1), x131, (2, 3), (2, 0, 1, 3)) * 2.0 - rdm2_f_bbbb_oovo += einsum(delta.bb.oo, (0, 1), x131, (2, 3), (0, 2, 3, 1)) * 2.0 - rdm2_f_bbbb_oovo += einsum(delta.bb.oo, (0, 1), x131, (2, 3), (2, 0, 3, 1)) * -2.0 - rdm2_f_abab_oovv += einsum(t1.aa, (0, 1), x131, (2, 3), (0, 2, 1, 3)) * -2.0 - x132 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x132 += einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), x114, (6, 1, 2, 7, 4, 5), (6, 7, 0, 3)) - x133 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x133 += einsum(t1.bb, (0, 1), x40, (2, 3, 4, 1), (2, 3, 0, 4)) - x134 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x134 += einsum(t1.bb, (0, 1), x133, (0, 2, 3, 4), (2, 3, 4, 1)) * -1.0 - del x133 - x135 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x135 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x90, (6, 2, 7, 5, 1, 4), (6, 7, 0, 3)) * -1.0 - x136 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x136 += einsum(t2.abab, (0, 1, 2, 3), x24, (4, 5, 0, 2), (4, 1, 5, 3)) - x137 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x137 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x85, (6, 7, 0, 2, 5, 3), (6, 7, 1, 4)) * -1.0 - x138 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x138 += einsum(x38, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x138 += einsum(x40, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0 - x139 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x139 += einsum(t2.bbbb, (0, 1, 2, 3), x138, (1, 4, 5, 3), (4, 5, 0, 2)) * 4.0 - del x138 - x140 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x140 += einsum(x103, (0, 1, 2, 3), (0, 1, 2, 3)) - x140 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x141 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x141 += einsum(t2.abab, (0, 1, 2, 3), x140, (4, 5, 0, 2), (4, 5, 1, 3)) - del x140 - x142 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x142 += einsum(t2.bbbb, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x142 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1)) * -1.0 - x143 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x143 += einsum(x142, (0, 1, 2, 3), x41, (4, 0, 5, 2), (1, 4, 5, 3)) * 2.0 - del x142 - x144 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x144 += einsum(delta.bb.oo, (0, 1), t1.bb, (2, 3), (0, 1, 2, 3)) - x144 += einsum(x132, (0, 1, 2, 3), (1, 0, 2, 3)) * -9.0 - x144 += einsum(x134, (0, 1, 2, 3), (1, 0, 2, 3)) * 6.0 - del x134 - x144 += einsum(x135, (0, 1, 2, 3), (1, 0, 2, 3)) * -4.0 - x144 += einsum(x136, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 - x144 += einsum(x137, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x144 += einsum(x139, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x139 - x144 += einsum(x141, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x141 - x144 += einsum(x143, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x143 - x144 += einsum(t1.bb, (0, 1), x119, (2, 3), (0, 2, 3, 1)) - del x119 - rdm2_f_bbbb_ooov += einsum(x144, (0, 1, 2, 3), (0, 2, 1, 3)) - rdm2_f_bbbb_ooov += einsum(x144, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_bbbb_oovo += einsum(x144, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_bbbb_oovo += einsum(x144, (0, 1, 2, 3), (2, 0, 3, 1)) - del x144 - x145 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x145 += einsum(t2.bbbb, (0, 1, 2, 3), l3.bbbbbb, (4, 5, 3, 6, 0, 1), (6, 4, 5, 2)) - rdm2_f_bbbb_vvov = np.zeros((nvir[1], nvir[1], nocc[1], nvir[1]), dtype=types[float]) - rdm2_f_bbbb_vvov += einsum(x145, (0, 1, 2, 3), (1, 2, 0, 3)) * 6.0 - rdm2_f_bbbb_vvvo = np.zeros((nvir[1], nvir[1], nvir[1], nocc[1]), dtype=types[float]) - rdm2_f_bbbb_vvvo += einsum(x145, (0, 1, 2, 3), (1, 2, 3, 0)) * -6.0 - x146 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x146 += einsum(t2.abab, (0, 1, 2, 3), l3.babbab, (4, 2, 5, 6, 0, 1), (6, 4, 5, 3)) - rdm2_f_bbbb_vvov += einsum(x146, (0, 1, 2, 3), (1, 2, 0, 3)) * 2.0 - rdm2_f_bbbb_vvvo += einsum(x146, (0, 1, 2, 3), (1, 2, 3, 0)) * -2.0 - x147 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x147 += einsum(x145, (0, 1, 2, 3), (0, 2, 1, 3)) * -3.0 - x147 += einsum(x146, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - rdm2_f_abab_oovv += einsum(x147, (0, 1, 2, 3), t3.babbab, (4, 5, 0, 1, 6, 2), (5, 4, 6, 3)) * 2.0 - rdm2_f_abab_ovvv += einsum(t2.abab, (0, 1, 2, 3), x147, (1, 4, 3, 5), (0, 4, 2, 5)) * -2.0 - x148 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x148 += einsum(t2.bbbb, (0, 1, 2, 3), x147, (4, 2, 3, 5), (4, 0, 1, 5)) * 2.0 - del x147 - rdm2_f_bbbb_ooov += einsum(x148, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_bbbb_oovo += einsum(x148, (0, 1, 2, 3), (2, 1, 3, 0)) - del x148 - x149 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x149 += einsum(x37, (0, 1, 2, 3), (1, 0, 3, 2)) * -0.9999999999999798 - x149 += einsum(x39, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.9999999999999798 - x149 += einsum(x35, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.999999999999998 - x149 += einsum(x36, (0, 1, 2, 3), (0, 1, 3, 2)) - x150 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x150 += einsum(t1.bb, (0, 1), x149, (0, 2, 3, 4), (2, 3, 4, 1)) * 2.0000000000000404 - del x149 - rdm2_f_bbbb_ooov += einsum(x150, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_bbbb_oovo += einsum(x150, (0, 1, 2, 3), (2, 1, 3, 0)) - del x150 - x151 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x151 += einsum(l2.bbbb, (0, 1, 2, 3), t3.babbab, (4, 5, 3, 0, 6, 1), (2, 4, 5, 6)) - rdm2_f_abab_oovo += einsum(x151, (0, 1, 2, 3), (2, 1, 3, 0)) * -2.0 - x152 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x152 += einsum(l1.bb, (0, 1), t2.abab, (2, 3, 4, 0), (1, 3, 2, 4)) - rdm2_f_abab_oovo += einsum(x152, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - x153 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x153 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x114, (0, 2, 6, 7, 3, 5), (6, 7, 1, 4)) - rdm2_f_abab_oovo += einsum(x153, (0, 1, 2, 3), (2, 1, 3, 0)) * -3.0 - x154 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x154 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x59, (2, 6, 3, 5, 1, 7), (6, 0, 7, 4)) * -1.0 - rdm2_f_abab_oovo += einsum(x154, (0, 1, 2, 3), (2, 1, 3, 0)) * 2.0 - x155 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x155 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x90, (1, 6, 7, 4, 2, 5), (6, 7, 0, 3)) - rdm2_f_abab_oovo += einsum(x155, (0, 1, 2, 3), (2, 1, 3, 0)) * -4.0 - x156 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x156 += einsum(t2.abab, (0, 1, 2, 3), x93, (1, 4, 5, 3, 0, 6), (4, 5, 6, 2)) - rdm2_f_abab_oovo += einsum(x156, (0, 1, 2, 3), (2, 1, 3, 0)) * 2.0 - x157 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x157 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x51, (6, 4, 0, 2, 7, 5), (6, 1, 7, 3)) * -1.0 - rdm2_f_abab_oovo += einsum(x157, (0, 1, 2, 3), (2, 1, 3, 0)) * 2.0 - x158 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x158 += einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), x85, (6, 7, 1, 2, 4, 5), (6, 7, 0, 3)) - rdm2_f_abab_oovo += einsum(x158, (0, 1, 2, 3), (2, 1, 3, 0)) * -3.0 - x159 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x159 += einsum(t2.aaaa, (0, 1, 2, 3), x88, (4, 5, 1, 0, 6, 3), (4, 5, 6, 2)) - rdm2_f_abab_oovo += einsum(x159, (0, 1, 2, 3), (2, 1, 3, 0)) * 2.0 - x160 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x160 += einsum(l2.abab, (0, 1, 2, 3), t3.abaaba, (4, 5, 2, 6, 1, 0), (3, 5, 4, 6)) - rdm2_f_abab_oovo += einsum(x160, (0, 1, 2, 3), (2, 1, 3, 0)) * -2.0 - x161 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x161 += einsum(t2.abab, (0, 1, 2, 3), l3.babbab, (4, 5, 3, 6, 0, 1), (6, 4, 5, 2)) - rdm2_f_abab_vvvo = np.zeros((nvir[0], nvir[1], nvir[0], nocc[1]), dtype=types[float]) - rdm2_f_abab_vvvo += einsum(x161, (0, 1, 2, 3), (2, 1, 3, 0)) * 2.0 - x162 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x162 += einsum(t2.aaaa, (0, 1, 2, 3), l3.abaaba, (4, 5, 3, 0, 6, 1), (6, 5, 4, 2)) - rdm2_f_abab_vvvo += einsum(x162, (0, 1, 2, 3), (2, 1, 3, 0)) * 2.0 - x163 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x163 += einsum(x161, (0, 1, 2, 3), (0, 1, 2, 3)) - x163 += einsum(x162, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_abab_oovo += einsum(t2.abab, (0, 1, 2, 3), x163, (4, 3, 2, 5), (0, 1, 5, 4)) * 2.0 - rdm2_f_abab_ovvv += einsum(t2.abab, (0, 1, 2, 3), x163, (1, 4, 2, 5), (0, 4, 5, 3)) * -2.0 - rdm2_f_abab_vovv += einsum(t2.bbbb, (0, 1, 2, 3), x163, (1, 3, 4, 5), (4, 0, 5, 2)) * 4.0 - x164 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x164 += einsum(t1.aa, (0, 1), (0, 1)) * -1.0 - x164 += einsum(x54, (0, 1), (0, 1)) * -1.0 - del x54 - x164 += einsum(x55, (0, 1), (0, 1)) * -2.0 - del x55 - x164 += einsum(x56, (0, 1), (0, 1)) * -1.0 - del x56 - x164 += einsum(x57, (0, 1), (0, 1)) * -2.0 - del x57 - x164 += einsum(x58, (0, 1), (0, 1)) * -3.0 - del x58 - x164 += einsum(x60, (0, 1), (0, 1)) * 0.9999999999999601 - del x60 - x164 += einsum(x61, (0, 1), (0, 1)) * 1.9999999999999194 - del x61 - x164 += einsum(x62, (0, 1), (0, 1)) * 2.9999999999998788 - del x62 - x164 += einsum(x63, (0, 1), (0, 1)) - del x63 - x164 += einsum(x65, (0, 1), (0, 1)) - del x65 - x164 += einsum(x67, (0, 1), (0, 1)) - del x67 - rdm2_f_abab_oovo += einsum(delta.bb.oo, (0, 1), x164, (2, 3), (2, 0, 3, 1)) * -1.0 - rdm2_f_abab_oovv += einsum(t1.bb, (0, 1), x164, (2, 3), (2, 0, 3, 1)) * -1.0 - del x164 - x165 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x165 += einsum(t2.abab, (0, 1, 2, 3), x59, (4, 1, 5, 3, 0, 6), (4, 5, 6, 2)) - rdm2_f_abab_ovvo += einsum(x165, (0, 1, 2, 3), (2, 1, 3, 0)) * -2.0 - x166 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x166 += einsum(t2.abab, (0, 1, 2, 3), x165, (1, 3, 4, 5), (4, 0, 2, 5)) - x167 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x167 += einsum(l2.abab, (0, 1, 2, 3), t2.aaaa, (4, 2, 5, 0), (3, 1, 4, 5)) - rdm2_f_abab_ovvo += einsum(x167, (0, 1, 2, 3), (2, 1, 3, 0)) * 2.0 - x168 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x168 += einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), t3.babbab, (4, 6, 5, 1, 7, 2), (3, 0, 6, 7)) - rdm2_f_abab_ovvo += einsum(x168, (0, 1, 2, 3), (2, 1, 3, 0)) * 3.0 - x169 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x169 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.abaaba, (6, 5, 4, 7, 2, 1), (3, 0, 6, 7)) - rdm2_f_abab_ovvo += einsum(x169, (0, 1, 2, 3), (2, 1, 3, 0)) * 4.0 - x170 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x170 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.aaaaaa, (6, 3, 5, 7, 0, 2), (4, 1, 6, 7)) - rdm2_f_abab_ovvo += einsum(x170, (0, 1, 2, 3), (2, 1, 3, 0)) * 3.0 - x171 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x171 += einsum(x167, (0, 1, 2, 3), (0, 1, 2, 3)) - x171 += einsum(x168, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.5 - x171 += einsum(x169, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x171 += einsum(x170, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.5 - x172 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x172 += einsum(t2.abab, (0, 1, 2, 3), x171, (1, 3, 4, 5), (4, 0, 5, 2)) * 2.0 - del x171 - x173 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x173 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (3, 6, 5, 0, 7, 2), (4, 6, 1, 7)) - rdm2_f_aaaa_ovov += einsum(x173, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_aaaa_ovvo += einsum(x173, (0, 1, 2, 3), (1, 2, 3, 0)) - rdm2_f_aaaa_voov += einsum(x173, (0, 1, 2, 3), (2, 1, 0, 3)) - rdm2_f_aaaa_vovo += einsum(x173, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - x174 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x174 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (6, 4, 5, 7, 1, 2), (3, 6, 0, 7)) - rdm2_f_aaaa_ovov += einsum(x174, (0, 1, 2, 3), (1, 2, 0, 3)) * -4.0 - rdm2_f_aaaa_ovvo += einsum(x174, (0, 1, 2, 3), (1, 2, 3, 0)) * 4.0 - rdm2_f_aaaa_voov += einsum(x174, (0, 1, 2, 3), (2, 1, 0, 3)) * 4.0 - rdm2_f_aaaa_vovo += einsum(x174, (0, 1, 2, 3), (2, 1, 3, 0)) * -4.0 - x175 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x175 += einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), t3.aaaaaa, (6, 4, 5, 7, 1, 2), (3, 6, 0, 7)) - rdm2_f_aaaa_ovov += einsum(x175, (0, 1, 2, 3), (1, 2, 0, 3)) * -9.0 - rdm2_f_aaaa_ovvo += einsum(x175, (0, 1, 2, 3), (1, 2, 3, 0)) * 9.0 - rdm2_f_aaaa_voov += einsum(x175, (0, 1, 2, 3), (2, 1, 0, 3)) * 9.0 - rdm2_f_aaaa_vovo += einsum(x175, (0, 1, 2, 3), (2, 1, 3, 0)) * -9.0 - x176 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x176 += einsum(x173, (0, 1, 2, 3), (0, 1, 2, 3)) - x176 += einsum(x174, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.0 - x176 += einsum(x175, (0, 1, 2, 3), (0, 1, 2, 3)) * 9.0 - x177 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x177 += einsum(t2.aaaa, (0, 1, 2, 3), x176, (1, 4, 3, 5), (4, 0, 5, 2)) * 2.0 - del x176 - x178 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x178 += einsum(t2.abab, (0, 1, 2, 3), x51, (1, 3, 4, 0, 5, 6), (4, 5, 6, 2)) - rdm2_f_aaaa_ovov += einsum(x178, (0, 1, 2, 3), (1, 2, 0, 3)) * 2.0 - rdm2_f_aaaa_ovvo += einsum(x178, (0, 1, 2, 3), (1, 2, 3, 0)) * -2.0 - rdm2_f_aaaa_voov += einsum(x178, (0, 1, 2, 3), (2, 1, 0, 3)) * -2.0 - rdm2_f_aaaa_vovo += einsum(x178, (0, 1, 2, 3), (2, 1, 3, 0)) * 2.0 - x179 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x179 += einsum(t2.aaaa, (0, 1, 2, 3), x45, (4, 1, 0, 5, 6, 3), (4, 5, 6, 2)) - rdm2_f_aaaa_ovov += einsum(x179, (0, 1, 2, 3), (1, 2, 0, 3)) * 6.0 - rdm2_f_aaaa_ovvo += einsum(x179, (0, 1, 2, 3), (1, 2, 3, 0)) * -6.0 - rdm2_f_aaaa_voov += einsum(x179, (0, 1, 2, 3), (2, 1, 0, 3)) * -6.0 - rdm2_f_aaaa_vovo += einsum(x179, (0, 1, 2, 3), (2, 1, 3, 0)) * 6.0 - x180 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x180 += einsum(t1.aa, (0, 1), x14, (2, 0, 3, 4), (2, 3, 1, 4)) - x181 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x181 += einsum(x178, (0, 1, 2, 3), (0, 1, 2, 3)) - x181 += einsum(x179, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0 - x181 += einsum(x180, (0, 1, 2, 3), (0, 1, 3, 2)) - x182 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x182 += einsum(t2.aaaa, (0, 1, 2, 3), x181, (1, 4, 3, 5), (4, 0, 5, 2)) * 4.0 - del x181 - x183 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x183 += einsum(t2.aaaa, (0, 1, 2, 3), x51, (4, 5, 0, 1, 6, 3), (4, 5, 6, 2)) * -1.0 - rdm2_f_abab_ovvo += einsum(x183, (0, 1, 2, 3), (2, 1, 3, 0)) * -2.0 - x184 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x184 += einsum(t1.aa, (0, 1), x21, (2, 3, 0, 4), (2, 3, 4, 1)) - x185 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x185 += einsum(x183, (0, 1, 2, 3), (0, 1, 2, 3)) - x185 += einsum(x184, (0, 1, 2, 3), (0, 1, 2, 3)) - del x184 - x186 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x186 += einsum(t2.abab, (0, 1, 2, 3), x185, (1, 3, 4, 5), (4, 0, 5, 2)) * 2.0 - del x185 - x187 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x187 += einsum(t2.abab, (0, 1, 2, 3), x19, (1, 3, 4, 5), (4, 5, 0, 2)) - x188 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x188 += einsum(t2.aaaa, (0, 1, 2, 3), x1, (4, 1, 5, 3), (4, 5, 0, 2)) * -1.0 - x189 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x189 += einsum(x187, (0, 1, 2, 3), (0, 1, 2, 3)) - del x187 - x189 += einsum(x188, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.0 - del x188 - x189 += einsum(x70, (0, 1, 2, 3), (0, 1, 2, 3)) - del x70 - x189 += einsum(x69, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - del x69 - x189 += einsum(x71, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.0 - del x71 - x189 += einsum(x72, (0, 1, 2, 3), (0, 1, 2, 3)) * 9.0 - del x72 - x190 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x190 += einsum(t1.aa, (0, 1), x189, (0, 2, 3, 4), (2, 3, 4, 1)) - del x189 - x191 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x191 += einsum(x166, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - del x166 - x191 += einsum(x172, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x172 - x191 += einsum(x177, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x177 - x191 += einsum(x182, (0, 1, 2, 3), (0, 1, 2, 3)) - del x182 - x191 += einsum(x186, (0, 1, 2, 3), (0, 1, 2, 3)) - del x186 - x191 += einsum(x190, (0, 1, 2, 3), (0, 1, 3, 2)) - del x190 - x191 += einsum(t1.aa, (0, 1), x68, (2, 3), (0, 2, 1, 3)) - del x68 - rdm2_f_aaaa_oovv += einsum(x191, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - rdm2_f_aaaa_oovv += einsum(x191, (0, 1, 2, 3), (0, 1, 3, 2)) - rdm2_f_aaaa_oovv += einsum(x191, (0, 1, 2, 3), (1, 0, 2, 3)) - rdm2_f_aaaa_oovv += einsum(x191, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x191 - x192 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x192 += einsum(x11, (0, 1), t2.aaaa, (2, 0, 3, 4), (1, 2, 3, 4)) - x193 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x193 += einsum(x74, (0, 1, 2, 3), t3.abaaba, (4, 0, 2, 5, 1, 6), (4, 3, 5, 6)) * -2.0 - del x74 - x194 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x194 += einsum(x1, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x194 += einsum(x12, (0, 1, 2, 3), (0, 1, 2, 3)) - x195 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x195 += einsum(x194, (0, 1, 2, 3), t3.aaaaaa, (4, 0, 1, 5, 6, 3), (2, 4, 5, 6)) * -6.0 - del x194 - x196 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x196 += einsum(t1.aa, (0, 1), x14, (2, 3, 4, 1), (0, 2, 3, 4)) * 0.3333333333333333 - del x14 - x197 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x197 += einsum(t2.aaaa, (0, 1, 2, 3), (0, 1, 2, 3)) - x197 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 1, 3)) - x198 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x198 += einsum(x196, (0, 1, 2, 3), x197, (1, 2, 4, 5), (0, 3, 4, 5)) * 6.0 - del x196, x197 - x199 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x199 += einsum(x5, (0, 1), (0, 1)) * 0.5000000000000203 - x199 += einsum(x6, (0, 1), (0, 1)) * 1.0000000000000406 - x199 += einsum(x8, (0, 1), (0, 1)) - x200 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x200 += einsum(x199, (0, 1), t2.aaaa, (2, 0, 3, 4), (1, 2, 3, 4)) * -3.999999999999838 - del x199 - x201 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x201 += einsum(x192, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - del x192 - x201 += einsum(x193, (0, 1, 2, 3), (1, 0, 3, 2)) - del x193 - x201 += einsum(x195, (0, 1, 2, 3), (0, 1, 2, 3)) - del x195 - x201 += einsum(x198, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x198 - x201 += einsum(x200, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x200 - rdm2_f_aaaa_oovv += einsum(x201, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_aaaa_oovv += einsum(x201, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x201 - x202 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x202 += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 3, 5, 1), (2, 4, 0, 5)) - rdm2_f_aaaa_ovov += einsum(x202, (0, 1, 2, 3), (1, 2, 0, 3)) * -4.0 - rdm2_f_aaaa_ovvo += einsum(x202, (0, 1, 2, 3), (1, 2, 3, 0)) * 4.0 - rdm2_f_aaaa_voov += einsum(x202, (0, 1, 2, 3), (2, 1, 0, 3)) * 4.0 - rdm2_f_aaaa_vovo += einsum(x202, (0, 1, 2, 3), (2, 1, 3, 0)) * -4.0 - x203 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x203 += einsum(t2.aaaa, (0, 1, 2, 3), x202, (1, 4, 3, 5), (0, 4, 2, 5)) - x204 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x204 += einsum(x163, (0, 1, 2, 3), t3.abaaba, (4, 0, 5, 6, 1, 2), (4, 5, 3, 6)) * -4.0 - x205 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x205 += einsum(x79, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x79 - x205 += einsum(x80, (0, 1, 2, 3), (0, 2, 1, 3)) * -3.0 - del x80 - rdm2_f_abab_vovv += einsum(t2.abab, (0, 1, 2, 3), x205, (0, 4, 2, 5), (4, 1, 5, 3)) * -2.0 - x206 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x206 += einsum(x205, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 0, 6, 1, 2), (4, 5, 3, 6)) * -6.0 - x207 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x207 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 4, 1), (0, 4)) - x208 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x208 += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (2, 3, 4, 1), (0, 4)) - x209 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x209 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (3, 4, 5, 0, 6, 2), (1, 6)) - x210 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x210 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (3, 4, 5, 6, 1, 2), (0, 6)) - x211 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x211 += einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), t3.aaaaaa, (3, 4, 5, 6, 1, 2), (0, 6)) - x212 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x212 += einsum(x207, (0, 1), (0, 1)) - x212 += einsum(x208, (0, 1), (0, 1)) * 2.0 - x212 += einsum(x209, (0, 1), (0, 1)) * 0.9999999999999597 - x212 += einsum(x210, (0, 1), (0, 1)) * 1.999999999999919 - x212 += einsum(x211, (0, 1), (0, 1)) * 2.999999999999883 - x213 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x213 += einsum(x212, (0, 1), t2.aaaa, (2, 3, 4, 0), (2, 3, 1, 4)) * -2.0 - del x212 - x214 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x214 += einsum(t2.aaaa, (0, 1, 2, 3), x205, (4, 2, 3, 5), (4, 0, 1, 5)) - x215 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x215 += einsum(x50, (0, 1, 2, 3), (0, 2, 1, 3)) - del x50 - x215 += einsum(x49, (0, 1, 2, 3), (0, 2, 1, 3)) - del x49 - x215 += einsum(x48, (0, 1, 2, 3), (0, 2, 1, 3)) * 3.0 - del x48 - x215 += einsum(x53, (0, 1, 2, 3), (0, 2, 1, 3)) - del x53 - x215 += einsum(x47, (0, 1, 2, 3), (0, 2, 1, 3)) * 3.0 - del x47 - x215 += einsum(x214, (0, 1, 2, 3), (0, 2, 1, 3)) - del x214 - x216 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x216 += einsum(t1.aa, (0, 1), x215, (0, 2, 3, 4), (2, 3, 4, 1)) * 2.0 - del x215 - x217 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x217 += einsum(x203, (0, 1, 2, 3), (0, 1, 2, 3)) * 8.0 - del x203 - x217 += einsum(x204, (0, 1, 2, 3), (1, 0, 2, 3)) - del x204 - x217 += einsum(x206, (0, 1, 2, 3), (0, 1, 2, 3)) - del x206 - x217 += einsum(x213, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x213 - x217 += einsum(x216, (0, 1, 2, 3), (1, 0, 3, 2)) - del x216 - rdm2_f_aaaa_oovv += einsum(x217, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_aaaa_oovv += einsum(x217, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x217 - x218 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x218 += einsum(l2.bbbb, (0, 1, 2, 3), t2.abab, (4, 3, 5, 1), (2, 0, 4, 5)) - rdm2_f_abab_ovvo += einsum(x218, (0, 1, 2, 3), (2, 1, 3, 0)) * 2.0 - x219 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x219 += einsum(t2.abab, (0, 1, 2, 3), x218, (1, 3, 4, 5), (4, 0, 5, 2)) - x220 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x220 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 1, 3)) - x220 += einsum(x219, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - del x219 - rdm2_f_aaaa_oovv += einsum(x220, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_aaaa_oovv += einsum(x220, (0, 1, 2, 3), (0, 1, 2, 3)) - del x220 - x221 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x221 += einsum(x20, (0, 1, 2, 3), t3.abaaba, (4, 0, 2, 5, 1, 6), (3, 4, 5, 6)) - x222 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x222 += einsum(x13, (0, 1, 2, 3), t3.aaaaaa, (4, 0, 1, 5, 6, 3), (2, 4, 5, 6)) - x223 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x223 += einsum(x7, (0, 1), (0, 1)) - x223 += einsum(x9, (0, 1), (0, 1)) * 3.000000000000004 - x224 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x224 += einsum(x223, (0, 1), t2.aaaa, (2, 0, 3, 4), (1, 2, 3, 4)) * -1.9999999999999194 - del x223 - x225 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x225 += einsum(x221, (0, 1, 2, 3), (0, 1, 3, 2)) * -4.0 - del x221 - x225 += einsum(x222, (0, 1, 2, 3), (0, 1, 2, 3)) * -18.0 - del x222 - x225 += einsum(x224, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x224 - rdm2_f_aaaa_oovv += einsum(x225, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_aaaa_oovv += einsum(x225, (0, 1, 2, 3), (1, 0, 3, 2)) - del x225 - x226 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x226 += einsum(t2.aaaa, (0, 1, 2, 3), l3.abaaba, (2, 4, 3, 5, 6, 7), (6, 4, 5, 7, 0, 1)) - x226 += einsum(x52, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * 1.0000000000000606 - del x52 - rdm2_f_aaaa_oovv += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x226, (1, 4, 0, 2, 6, 7), (6, 7, 3, 5)) * 1.9999999999999194 - del x226 - x227 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x227 += einsum(t2.aaaa, (0, 1, 2, 3), l3.aaaaaa, (4, 2, 3, 5, 6, 7), (5, 6, 7, 0, 1, 4)) - x227 += einsum(x46, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0000000000000584 - del x46 - rdm2_f_aaaa_oovv += einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), x227, (0, 1, 2, 6, 7, 5), (6, 7, 3, 4)) * 5.999999999999766 - del x227 - x228 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x228 += einsum(x0, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0000000000000404 - x228 += einsum(x2, (0, 1, 2, 3), (0, 1, 3, 2)) * 1.0000000000000404 - x228 += einsum(x3, (0, 1, 2, 3), (0, 1, 3, 2)) - x228 += einsum(x4, (0, 1, 2, 3), (0, 1, 3, 2)) * 3.000000000000004 - rdm2_f_aaaa_oovv += einsum(t2.aaaa, (0, 1, 2, 3), x228, (0, 1, 4, 5), (5, 4, 2, 3)) * 1.9999999999999194 - del x228 - x229 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x229 += einsum(x0, (0, 1, 2, 3), (1, 0, 3, 2)) * -0.9999999999999799 - del x0 - x229 += einsum(x2, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.9999999999999799 - del x2 - x229 += einsum(x3, (0, 1, 2, 3), (0, 1, 3, 2)) - del x3 - x229 += einsum(x4, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.999999999999998 - del x4 - x230 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x230 += einsum(t1.aa, (0, 1), x229, (0, 2, 3, 4), (2, 4, 3, 1)) * -0.3333333333333336 - del x229 - rdm2_f_aaaa_oovv += einsum(t1.aa, (0, 1), x230, (0, 2, 3, 4), (2, 3, 4, 1)) * -6.000000000000116 - del x230 - x231 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x231 += einsum(t2.abab, (0, 1, 2, 3), l3.abaaba, (4, 3, 2, 5, 6, 7), (6, 1, 5, 7, 0, 4)) - x231 += einsum(x88, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0000000000000606 - del x88 - rdm2_f_abab_oovv += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x231, (1, 6, 0, 2, 7, 5), (7, 6, 3, 4)) * -1.9999999999999194 - del x231 - x232 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x232 += einsum(t2.abab, (0, 1, 2, 3), l3.babbab, (4, 2, 3, 5, 6, 7), (5, 7, 1, 4, 6, 0)) - x232 += einsum(x93, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 1.0000000000000606 - del x93 - rdm2_f_abab_oovv += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x232, (0, 2, 6, 5, 1, 7), (7, 6, 4, 3)) * -1.9999999999999194 - del x232 - x233 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x233 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), (1, 4, 0, 2, 3, 5)) - x233 += einsum(t1.aa, (0, 1), t2.abab, (2, 3, 4, 5), (3, 5, 0, 2, 4, 1)) * -0.5 - rdm2_f_abab_oovv += einsum(x101, (0, 1, 2, 3), x233, (4, 0, 2, 5, 3, 6), (5, 4, 6, 1)) * -4.0 - del x233 - x234 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x234 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), (0, 2, 3, 5, 1, 4)) - x234 += einsum(t1.bb, (0, 1), t2.abab, (2, 3, 4, 5), (0, 3, 5, 1, 2, 4)) * -0.5 - rdm2_f_abab_oovv += einsum(x163, (0, 1, 2, 3), x234, (0, 4, 1, 5, 6, 2), (6, 4, 3, 5)) * -4.0 - del x163, x234 - x235 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x235 += einsum(x103, (0, 1, 2, 3), (0, 1, 2, 3)) - x235 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x235 += einsum(x24, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x24 - rdm2_f_abab_oovv += einsum(x235, (0, 1, 2, 3), t3.abaaba, (4, 0, 2, 5, 6, 3), (4, 1, 5, 6)) * -2.0 - rdm2_f_abab_vovv += einsum(t2.abab, (0, 1, 2, 3), x235, (1, 4, 0, 5), (5, 4, 2, 3)) * -1.0 - x236 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x236 += einsum(l2.abab, (0, 1, 2, 3), t2.bbbb, (4, 3, 5, 1), (4, 5, 2, 0)) - rdm2_f_abab_voov += einsum(x236, (0, 1, 2, 3), (3, 0, 2, 1)) * 2.0 - x237 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x237 += einsum(l2.aaaa, (0, 1, 2, 3), t2.abab, (3, 4, 1, 5), (4, 5, 2, 0)) - rdm2_f_abab_voov += einsum(x237, (0, 1, 2, 3), (3, 0, 2, 1)) * 2.0 - x238 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x238 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.bbbbbb, (6, 3, 5, 7, 0, 2), (6, 7, 4, 1)) - rdm2_f_abab_voov += einsum(x238, (0, 1, 2, 3), (3, 0, 2, 1)) * 3.0 - x239 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x239 += einsum(t2.bbbb, (0, 1, 2, 3), x90, (0, 1, 4, 3, 5, 6), (4, 2, 5, 6)) * -1.0 - rdm2_f_abab_voov += einsum(x239, (0, 1, 2, 3), (3, 0, 2, 1)) * -2.0 - x240 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x240 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.babbab, (6, 5, 4, 7, 2, 1), (6, 7, 3, 0)) - rdm2_f_abab_voov += einsum(x240, (0, 1, 2, 3), (3, 0, 2, 1)) * 4.0 - x241 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x241 += einsum(t2.abab, (0, 1, 2, 3), x85, (1, 4, 5, 0, 6, 2), (4, 3, 5, 6)) - rdm2_f_abab_voov += einsum(x241, (0, 1, 2, 3), (3, 0, 2, 1)) * -2.0 - x242 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x242 += einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), t3.abaaba, (4, 6, 5, 1, 7, 2), (6, 7, 3, 0)) - rdm2_f_abab_voov += einsum(x242, (0, 1, 2, 3), (3, 0, 2, 1)) * 3.0 - x243 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x243 += einsum(x236, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.6666666666666666 - x243 += einsum(x237, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.6666666666666666 - x243 += einsum(x238, (0, 1, 2, 3), (0, 1, 2, 3)) - x243 += einsum(x239, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.6666666666666666 - x243 += einsum(x240, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.3333333333333333 - x243 += einsum(x241, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.6666666666666666 - x243 += einsum(x242, (0, 1, 2, 3), (0, 1, 2, 3)) - x243 += einsum(t1.bb, (0, 1), x25, (0, 2, 3, 4), (2, 1, 3, 4)) * -0.6666666666666666 - rdm2_f_abab_oovv += einsum(t2.aaaa, (0, 1, 2, 3), x243, (4, 5, 1, 3), (0, 4, 2, 5)) * 6.0 - del x243 - x244 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x244 += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 3, 5, 1), (2, 4, 0, 5)) - rdm2_f_bbbb_ovov += einsum(x244, (0, 1, 2, 3), (1, 2, 0, 3)) * -4.0 - rdm2_f_bbbb_ovvo += einsum(x244, (0, 1, 2, 3), (1, 2, 3, 0)) * 4.0 - rdm2_f_bbbb_voov += einsum(x244, (0, 1, 2, 3), (2, 1, 0, 3)) * 4.0 - rdm2_f_bbbb_vovo += einsum(x244, (0, 1, 2, 3), (2, 1, 3, 0)) * -4.0 - x245 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x245 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 5), (3, 4, 1, 5)) - rdm2_f_bbbb_ovov += einsum(x245, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_bbbb_ovvo += einsum(x245, (0, 1, 2, 3), (1, 2, 3, 0)) - rdm2_f_bbbb_voov += einsum(x245, (0, 1, 2, 3), (2, 1, 0, 3)) - rdm2_f_bbbb_vovo += einsum(x245, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - x246 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x246 += einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), t3.bbbbbb, (6, 4, 5, 7, 1, 2), (3, 6, 0, 7)) - rdm2_f_bbbb_ovov += einsum(x246, (0, 1, 2, 3), (1, 2, 0, 3)) * -9.0 - rdm2_f_bbbb_ovvo += einsum(x246, (0, 1, 2, 3), (1, 2, 3, 0)) * 9.0 - rdm2_f_bbbb_voov += einsum(x246, (0, 1, 2, 3), (2, 1, 0, 3)) * 9.0 - rdm2_f_bbbb_vovo += einsum(x246, (0, 1, 2, 3), (2, 1, 3, 0)) * -9.0 - x247 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x247 += einsum(t2.bbbb, (0, 1, 2, 3), x114, (4, 1, 0, 5, 6, 3), (4, 5, 6, 2)) - rdm2_f_bbbb_ovov += einsum(x247, (0, 1, 2, 3), (1, 2, 0, 3)) * 6.0 - rdm2_f_bbbb_ovvo += einsum(x247, (0, 1, 2, 3), (1, 2, 3, 0)) * -6.0 - rdm2_f_bbbb_voov += einsum(x247, (0, 1, 2, 3), (2, 1, 0, 3)) * -6.0 - rdm2_f_bbbb_vovo += einsum(x247, (0, 1, 2, 3), (2, 1, 3, 0)) * 6.0 - x248 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x248 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (6, 4, 5, 7, 1, 2), (3, 6, 0, 7)) - rdm2_f_bbbb_ovov += einsum(x248, (0, 1, 2, 3), (1, 2, 0, 3)) * -4.0 - rdm2_f_bbbb_ovvo += einsum(x248, (0, 1, 2, 3), (1, 2, 3, 0)) * 4.0 - rdm2_f_bbbb_voov += einsum(x248, (0, 1, 2, 3), (2, 1, 0, 3)) * 4.0 - rdm2_f_bbbb_vovo += einsum(x248, (0, 1, 2, 3), (2, 1, 3, 0)) * -4.0 - x249 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x249 += einsum(t2.abab, (0, 1, 2, 3), x90, (4, 1, 5, 6, 0, 2), (4, 5, 6, 3)) - rdm2_f_bbbb_ovov += einsum(x249, (0, 1, 2, 3), (1, 2, 0, 3)) * 2.0 - rdm2_f_bbbb_ovvo += einsum(x249, (0, 1, 2, 3), (1, 2, 3, 0)) * -2.0 - rdm2_f_bbbb_voov += einsum(x249, (0, 1, 2, 3), (2, 1, 0, 3)) * -2.0 - rdm2_f_bbbb_vovo += einsum(x249, (0, 1, 2, 3), (2, 1, 3, 0)) * 2.0 - x250 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x250 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (3, 6, 5, 0, 7, 2), (4, 6, 1, 7)) - rdm2_f_bbbb_ovov += einsum(x250, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_bbbb_ovvo += einsum(x250, (0, 1, 2, 3), (1, 2, 3, 0)) - rdm2_f_bbbb_voov += einsum(x250, (0, 1, 2, 3), (2, 1, 0, 3)) - rdm2_f_bbbb_vovo += einsum(x250, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - x251 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x251 += einsum(x244, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.0 - x251 += einsum(x245, (0, 1, 2, 3), (0, 1, 2, 3)) - x251 += einsum(x246, (0, 1, 2, 3), (0, 1, 2, 3)) * 9.0 - x251 += einsum(x247, (0, 1, 2, 3), (0, 1, 2, 3)) * -6.0 - x251 += einsum(x248, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.0 - x251 += einsum(x249, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - x251 += einsum(x250, (0, 1, 2, 3), (0, 1, 2, 3)) - x251 += einsum(t1.bb, (0, 1), x42, (2, 0, 3, 4), (2, 3, 4, 1)) * -6.0 - rdm2_f_abab_oovv += einsum(t2.abab, (0, 1, 2, 3), x251, (1, 4, 3, 5), (0, 4, 2, 5)) - del x251 - x252 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x252 += einsum(x173, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x252 += einsum(x174, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - x252 += einsum(x178, (0, 1, 2, 3), (0, 1, 2, 3)) - x252 += einsum(x175, (0, 1, 2, 3), (0, 1, 2, 3)) * -4.5 - x252 += einsum(x179, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0 - x252 += einsum(x180, (0, 1, 2, 3), (0, 1, 3, 2)) - del x180 - rdm2_f_abab_oovv += einsum(t2.abab, (0, 1, 2, 3), x252, (0, 4, 2, 5), (4, 1, 5, 3)) * -2.0 - del x252 - x253 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x253 += einsum(x20, (0, 1, 2, 3), (0, 1, 2, 3)) - del x20 - x253 += einsum(x21, (0, 1, 2, 3), (0, 1, 2, 3)) - del x21 - x254 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x254 += einsum(x168, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.5 - x254 += einsum(x169, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - x254 += einsum(x165, (0, 1, 2, 3), (0, 1, 2, 3)) - x254 += einsum(x170, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.5 - x254 += einsum(x183, (0, 1, 2, 3), (0, 1, 2, 3)) - x254 += einsum(t1.aa, (0, 1), x253, (2, 3, 0, 4), (2, 3, 4, 1)) - rdm2_f_abab_oovv += einsum(t2.bbbb, (0, 1, 2, 3), x254, (1, 3, 4, 5), (4, 0, 5, 2)) * -4.0 - del x254 - x255 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x255 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 5, 1), (3, 4, 0, 5)) - rdm2_f_abab_vovo += einsum(x255, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - x256 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x256 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (6, 4, 5, 0, 7, 2), (3, 6, 1, 7)) - rdm2_f_abab_vovo += einsum(x256, (0, 1, 2, 3), (2, 1, 3, 0)) * -2.0 - x257 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x257 += einsum(t2.abab, (0, 1, 2, 3), x90, (4, 1, 5, 3, 0, 6), (4, 5, 6, 2)) * -1.0 - rdm2_f_abab_vovo += einsum(x257, (0, 1, 2, 3), (2, 1, 3, 0)) * -2.0 - x258 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x258 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (3, 6, 5, 7, 1, 2), (4, 6, 0, 7)) - rdm2_f_abab_vovo += einsum(x258, (0, 1, 2, 3), (2, 1, 3, 0)) * -2.0 - x259 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x259 += einsum(t2.aaaa, (0, 1, 2, 3), x85, (4, 5, 0, 1, 6, 3), (4, 5, 6, 2)) - del x85 - rdm2_f_abab_vovo += einsum(x259, (0, 1, 2, 3), (2, 1, 3, 0)) * -2.0 - x260 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x260 += einsum(x255, (0, 1, 2, 3), (0, 1, 2, 3)) - x260 += einsum(x256, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x260 += einsum(x257, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x260 += einsum(x258, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x260 += einsum(x259, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x260 += einsum(t1.aa, (0, 1), x25, (2, 3, 0, 4), (2, 3, 4, 1)) * 2.0 - rdm2_f_abab_oovv += einsum(t2.abab, (0, 1, 2, 3), x260, (1, 4, 2, 5), (0, 4, 5, 3)) - del x260 - x261 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x261 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (3, 6, 5, 7, 1, 2), (0, 7, 4, 6)) - rdm2_f_abab_ovov += einsum(x261, (0, 1, 2, 3), (3, 0, 2, 1)) * -2.0 - x262 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x262 += einsum(t2.bbbb, (0, 1, 2, 3), x59, (0, 1, 4, 3, 5, 6), (4, 2, 5, 6)) - del x59 - rdm2_f_abab_ovov += einsum(x262, (0, 1, 2, 3), (3, 0, 2, 1)) * -2.0 - x263 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x263 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (6, 4, 5, 0, 7, 2), (1, 7, 3, 6)) - rdm2_f_abab_ovov += einsum(x263, (0, 1, 2, 3), (3, 0, 2, 1)) * -2.0 - x264 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x264 += einsum(t2.abab, (0, 1, 2, 3), x51, (1, 4, 5, 0, 6, 2), (4, 3, 5, 6)) * -1.0 - rdm2_f_abab_ovov += einsum(x264, (0, 1, 2, 3), (3, 0, 2, 1)) * -2.0 - x265 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x265 += einsum(x261, (0, 1, 2, 3), (0, 1, 2, 3)) - x265 += einsum(x262, (0, 1, 2, 3), (0, 1, 2, 3)) - x265 += einsum(x263, (0, 1, 2, 3), (0, 1, 2, 3)) - x265 += einsum(x264, (0, 1, 2, 3), (0, 1, 2, 3)) - x265 += einsum(t1.bb, (0, 1), x253, (0, 2, 3, 4), (2, 1, 3, 4)) - del x253 - rdm2_f_abab_oovv += einsum(t2.abab, (0, 1, 2, 3), x265, (3, 4, 0, 5), (5, 1, 2, 4)) * 2.0 - del x265 - x266 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x266 += einsum(t1.bb, (0, 1), x105, (2, 1, 3, 4), (2, 0, 3, 4)) - del x105 - x267 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x267 += einsum(x18, (0, 1, 2, 3), (0, 1, 2, 3)) - x267 += einsum(x17, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.9999999999999194 - x267 += einsum(x16, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.9999999999999194 - x267 += einsum(x266, (0, 1, 2, 3), (0, 1, 2, 3)) - x267 += einsum(x26, (0, 1, 2, 3), (0, 1, 3, 2)) - rdm2_f_abab_oovv += einsum(t2.abab, (0, 1, 2, 3), x267, (1, 4, 0, 5), (5, 4, 2, 3)) - del x267 - x268 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x268 += einsum(x18, (0, 1, 2, 3), (0, 1, 2, 3)) - del x18 - x268 += einsum(x17, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.000000000000041 - del x17 - x268 += einsum(x16, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.000000000000041 - del x16 - x268 += einsum(x266, (0, 1, 2, 3), (0, 1, 2, 3)) - del x266 - x268 += einsum(x26, (0, 1, 2, 3), (0, 1, 3, 2)) - del x26 - x269 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x269 += einsum(x96, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.3333333333333333 - del x96 - x269 += einsum(x98, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.6666666666666666 - del x98 - x269 += einsum(t2.abab, (0, 1, 2, 3), x103, (1, 4, 5, 2), (4, 3, 5, 0)) * 0.3333333333333333 - x269 += einsum(t2.bbbb, (0, 1, 2, 3), x19, (1, 3, 4, 5), (0, 2, 4, 5)) * -0.6666666666666666 - x269 += einsum(x97, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.6666666666666666 - del x97 - x269 += einsum(t2.abab, (0, 1, 2, 3), x1, (4, 0, 5, 2), (1, 3, 4, 5)) * 0.6666666666666666 - x269 += einsum(x91, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.6666666666666666 - del x91 - x269 += einsum(x92, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x92 - x269 += einsum(x94, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.6666666666666666 - del x94 - x269 += einsum(x86, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.6666666666666666 - del x86 - x269 += einsum(x87, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.3333333333333333 - del x87 - x269 += einsum(x89, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.6666666666666666 - del x89 - x269 += einsum(x95, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x95 - x269 += einsum(t1.bb, (0, 1), x268, (0, 2, 3, 4), (2, 1, 3, 4)) * 0.3333333333333333 - del x268 - rdm2_f_abab_oovv += einsum(t1.aa, (0, 1), x269, (2, 3, 0, 4), (4, 2, 1, 3)) * 3.0 - del x269 - x270 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x270 += einsum(x207, (0, 1), (0, 1)) * 0.3333333333333468 - x270 += einsum(x208, (0, 1), (0, 1)) * 0.6666666666666936 - x270 += einsum(x209, (0, 1), (0, 1)) * 0.33333333333333354 - x270 += einsum(x210, (0, 1), (0, 1)) * 0.6666666666666667 - x270 += einsum(x211, (0, 1), (0, 1)) - rdm2_f_abab_oovv += einsum(x270, (0, 1), t2.abab, (2, 3, 0, 4), (2, 3, 1, 4)) * -2.9999999999998788 - del x270 - x271 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x271 += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (2, 3, 4, 1), (0, 4)) - x272 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x272 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 0, 4), (1, 4)) - x273 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x273 += einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), t3.bbbbbb, (3, 4, 5, 6, 1, 2), (0, 6)) - x274 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x274 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (3, 4, 5, 6, 1, 2), (0, 6)) - x275 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x275 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (3, 4, 5, 0, 6, 2), (1, 6)) - x276 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x276 += einsum(x271, (0, 1), (0, 1)) * 2.0 - x276 += einsum(x272, (0, 1), (0, 1)) - x276 += einsum(x273, (0, 1), (0, 1)) * 2.9999999999998788 - x276 += einsum(x274, (0, 1), (0, 1)) * 1.9999999999999194 - x276 += einsum(x275, (0, 1), (0, 1)) * 0.9999999999999601 - rdm2_f_abab_oovv += einsum(x276, (0, 1), t2.abab, (2, 3, 4, 0), (2, 3, 4, 1)) * -1.0 - del x276 - x277 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x277 += einsum(x152, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - del x152 - x277 += einsum(x151, (0, 1, 2, 3), (0, 1, 2, 3)) - del x151 - x277 += einsum(t2.abab, (0, 1, 2, 3), x38, (4, 1, 5, 3), (4, 5, 0, 2)) * -1.0 - x277 += einsum(x160, (0, 1, 2, 3), (0, 1, 2, 3)) - del x160 - x277 += einsum(t2.aaaa, (0, 1, 2, 3), x103, (4, 5, 1, 3), (4, 5, 0, 2)) - x277 += einsum(t2.abab, (0, 1, 2, 3), x19, (4, 3, 0, 5), (4, 1, 5, 2)) * -0.5 - del x19 - x277 += einsum(x153, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.5 - del x153 - x277 += einsum(x155, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x155 - x277 += einsum(x154, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x154 - x277 += einsum(x156, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x156 - x277 += einsum(x158, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.5 - del x158 - x277 += einsum(x157, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x157 - x277 += einsum(x159, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x159 - rdm2_f_abab_oovv += einsum(t1.bb, (0, 1), x277, (0, 2, 3, 4), (3, 2, 4, 1)) * -2.0 - del x277 - x278 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x278 += einsum(x11, (0, 1), (0, 1)) * 0.3333333333333468 - del x11 - x278 += einsum(x5, (0, 1), (0, 1)) * 0.3333333333333468 - del x5 - x278 += einsum(x6, (0, 1), (0, 1)) * 0.6666666666666936 - del x6 - x278 += einsum(x7, (0, 1), (0, 1)) * 0.33333333333333354 - del x7 - x278 += einsum(x8, (0, 1), (0, 1)) * 0.6666666666666667 - del x8 - x278 += einsum(x9, (0, 1), (0, 1)) - del x9 - rdm2_f_abab_oovv += einsum(x278, (0, 1), t2.abab, (0, 2, 3, 4), (1, 2, 3, 4)) * -2.9999999999998788 - del x278 - x279 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x279 += einsum(t2.bbbb, (0, 1, 2, 3), x249, (1, 4, 3, 5), (4, 0, 2, 5)) * -1.0 - x280 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x280 += einsum(t2.abab, (0, 1, 2, 3), x241, (4, 5, 0, 2), (4, 1, 3, 5)) - x281 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x281 += einsum(x245, (0, 1, 2, 3), (0, 1, 2, 3)) - x281 += einsum(x246, (0, 1, 2, 3), (0, 1, 2, 3)) * 9.0 - x281 += einsum(x248, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.0 - x281 += einsum(x250, (0, 1, 2, 3), (0, 1, 2, 3)) - x282 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x282 += einsum(t2.bbbb, (0, 1, 2, 3), x281, (1, 4, 3, 5), (4, 0, 5, 2)) * 2.0 - del x281 - x283 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x283 += einsum(x238, (0, 1, 2, 3), (0, 1, 2, 3)) - x283 += einsum(x240, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.3333333333333333 - x283 += einsum(x242, (0, 1, 2, 3), (0, 1, 2, 3)) - x284 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x284 += einsum(t2.abab, (0, 1, 2, 3), x283, (4, 5, 0, 2), (4, 1, 5, 3)) * 3.0 - del x283 - x285 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x285 += einsum(t1.bb, (0, 1), x40, (0, 2, 3, 4), (2, 3, 4, 1)) * -1.0 - x286 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x286 += einsum(x247, (0, 1, 2, 3), (0, 1, 2, 3)) - x286 += einsum(x285, (0, 1, 2, 3), (0, 1, 2, 3)) - del x285 - x287 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x287 += einsum(t2.bbbb, (0, 1, 2, 3), x286, (1, 4, 3, 5), (4, 0, 5, 2)) * 12.0 - del x286 - x288 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x288 += einsum(t1.bb, (0, 1), x23, (0, 2, 3, 4), (2, 1, 3, 4)) - del x23 - x289 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x289 += einsum(x239, (0, 1, 2, 3), (0, 1, 2, 3)) - x289 += einsum(x288, (0, 1, 2, 3), (0, 1, 2, 3)) - del x288 - x290 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x290 += einsum(t2.abab, (0, 1, 2, 3), x289, (4, 5, 0, 2), (4, 1, 5, 3)) * 2.0 - del x289 - x291 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x291 += einsum(t2.bbbb, (0, 1, 2, 3), x38, (4, 1, 5, 3), (4, 5, 0, 2)) * -1.0 - x292 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x292 += einsum(t2.abab, (0, 1, 2, 3), x103, (4, 5, 0, 2), (4, 5, 1, 3)) - x293 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x293 += einsum(t2.bbbb, (0, 1, 2, 3), x41, (1, 4, 5, 3), (4, 0, 5, 2)) * -1.0 - x294 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x294 += einsum(x291, (0, 1, 2, 3), (0, 1, 2, 3)) - del x291 - x294 += einsum(x292, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.25 - del x292 - x294 += einsum(x132, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.25 - del x132 - x294 += einsum(x135, (0, 1, 2, 3), (0, 1, 2, 3)) - del x135 - x294 += einsum(x293, (0, 1, 2, 3), (0, 1, 2, 3)) - del x293 - x294 += einsum(x137, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.25 - del x137 - x294 += einsum(x136, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - del x136 - x295 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x295 += einsum(t1.bb, (0, 1), x294, (0, 2, 3, 4), (2, 3, 4, 1)) * 4.0 - del x294 - x296 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x296 += einsum(x279, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.0 - del x279 - x296 += einsum(x280, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - del x280 - x296 += einsum(x282, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x282 - x296 += einsum(x284, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x284 - x296 += einsum(x287, (0, 1, 2, 3), (0, 1, 2, 3)) - del x287 - x296 += einsum(x290, (0, 1, 2, 3), (0, 1, 2, 3)) - del x290 - x296 += einsum(x295, (0, 1, 2, 3), (0, 1, 3, 2)) - del x295 - x296 += einsum(t1.bb, (0, 1), x131, (2, 3), (0, 2, 1, 3)) * 2.0 - del x131 - rdm2_f_bbbb_oovv += einsum(x296, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - rdm2_f_bbbb_oovv += einsum(x296, (0, 1, 2, 3), (0, 1, 3, 2)) - rdm2_f_bbbb_oovv += einsum(x296, (0, 1, 2, 3), (1, 0, 2, 3)) - rdm2_f_bbbb_oovv += einsum(x296, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x296 - x297 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x297 += einsum(x42, (0, 1, 2, 3), t3.bbbbbb, (4, 0, 1, 5, 6, 3), (4, 2, 5, 6)) * -18.0 - x298 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x298 += einsum(x25, (0, 1, 2, 3), t3.babbab, (4, 2, 0, 5, 3, 6), (4, 1, 5, 6)) * -4.0 - del x25 - x299 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x299 += einsum(x31, (0, 1), (0, 1)) * 3.000000000000004 - del x31 - x299 += einsum(x32, (0, 1), (0, 1)) * 1.9999999999999996 - del x32 - x299 += einsum(x33, (0, 1), (0, 1)) - del x33 - x300 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x300 += einsum(x299, (0, 1), t2.bbbb, (2, 0, 3, 4), (1, 2, 3, 4)) * -1.9999999999999194 - del x299 - x301 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x301 += einsum(x297, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x297 - x301 += einsum(x298, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x298 - x301 += einsum(x300, (0, 1, 2, 3), (1, 0, 3, 2)) - del x300 - rdm2_f_bbbb_oovv += einsum(x301, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - rdm2_f_bbbb_oovv += einsum(x301, (0, 1, 2, 3), (1, 0, 2, 3)) - del x301 - x302 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x302 += einsum(t2.bbbb, (0, 1, 2, 3), x244, (1, 4, 3, 5), (4, 0, 5, 2)) - x303 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x303 += einsum(t2.abab, (0, 1, 2, 3), x237, (4, 5, 0, 2), (4, 1, 5, 3)) - x304 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x304 += einsum(x145, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x304 += einsum(x146, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.3333333333333333 - x305 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x305 += einsum(x304, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 0, 6, 1, 2), (4, 5, 3, 6)) * -18.0 - x306 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x306 += einsum(x101, (0, 1, 2, 3), t3.babbab, (4, 2, 5, 6, 3, 0), (4, 5, 1, 6)) * -4.0 - del x101 - x307 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x307 += einsum(x271, (0, 1), (0, 1)) - x307 += einsum(x272, (0, 1), (0, 1)) * 0.5 - x307 += einsum(x273, (0, 1), (0, 1)) * 1.4999999999999416 - x307 += einsum(x274, (0, 1), (0, 1)) * 0.9999999999999595 - x307 += einsum(x275, (0, 1), (0, 1)) * 0.49999999999997985 - x308 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x308 += einsum(x307, (0, 1), t2.bbbb, (2, 3, 4, 0), (2, 3, 1, 4)) * -4.0 - del x307 - x309 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x309 += einsum(t2.bbbb, (0, 1, 2, 3), x304, (4, 2, 3, 5), (4, 0, 1, 5)) * 3.0 - x310 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x310 += einsum(x121, (0, 1, 2, 3), (0, 2, 1, 3)) - del x121 - x310 += einsum(x124, (0, 1, 2, 3), (0, 2, 1, 3)) * 3.0 - del x124 - x310 += einsum(x125, (0, 1, 2, 3), (0, 2, 1, 3)) - del x125 - x310 += einsum(x127, (0, 1, 2, 3), (0, 2, 1, 3)) * 3.0 - del x127 - x310 += einsum(x123, (0, 1, 2, 3), (0, 2, 1, 3)) - del x123 - x310 += einsum(x309, (0, 1, 2, 3), (0, 2, 1, 3)) - del x309 - x311 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x311 += einsum(t1.bb, (0, 1), x310, (0, 2, 3, 4), (2, 3, 4, 1)) * 2.0 - del x310 - x312 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x312 += einsum(x302, (0, 1, 2, 3), (0, 1, 2, 3)) * 8.0 - del x302 - x312 += einsum(x303, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x303 - x312 += einsum(x305, (0, 1, 2, 3), (0, 1, 2, 3)) - del x305 - x312 += einsum(x306, (0, 1, 2, 3), (1, 0, 2, 3)) - del x306 - x312 += einsum(x308, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x308 - x312 += einsum(x311, (0, 1, 2, 3), (1, 0, 3, 2)) - del x311 - rdm2_f_bbbb_oovv += einsum(x312, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_bbbb_oovv += einsum(x312, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x312 - x313 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x313 += einsum(x28, (0, 1), t2.bbbb, (2, 0, 3, 4), (1, 2, 3, 4)) - del x28 - x314 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x314 += einsum(x38, (0, 1, 2, 3), t3.bbbbbb, (4, 1, 0, 5, 6, 3), (2, 4, 5, 6)) - x315 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x315 += einsum(x103, (0, 1, 2, 3), t3.babbab, (4, 2, 0, 5, 3, 6), (1, 4, 5, 6)) - del x103 - x316 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x316 += einsum(t1.bb, (0, 1), x42, (2, 3, 4, 1), (0, 2, 3, 4)) * 3.0 - x317 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x317 += einsum(t2.bbbb, (0, 1, 2, 3), x316, (4, 0, 1, 5), (4, 5, 2, 3)) * 2.0 - del x316 - x318 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x318 += einsum(x29, (0, 1), (0, 1)) - del x29 - x318 += einsum(x30, (0, 1), (0, 1)) * 0.5 - del x30 - x319 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x319 += einsum(x318, (0, 1), t2.bbbb, (2, 0, 3, 4), (1, 2, 3, 4)) * -4.0 - del x318 - x320 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x320 += einsum(t1.bb, (0, 1), x42, (2, 3, 4, 1), (0, 2, 3, 4)) - del x42 - x321 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x321 += einsum(t1.bb, (0, 1), x320, (2, 3, 0, 4), (3, 2, 4, 1)) - del x320 - x322 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x322 += einsum(t1.bb, (0, 1), x321, (0, 2, 3, 4), (2, 3, 4, 1)) * 6.0 - del x321 - x323 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x323 += einsum(x313, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - del x313 - x323 += einsum(x314, (0, 1, 2, 3), (0, 1, 3, 2)) * -6.0 - del x314 - x323 += einsum(x315, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - del x315 - x323 += einsum(x317, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x317 - x323 += einsum(x319, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x319 - x323 += einsum(x322, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x322 - rdm2_f_bbbb_oovv += einsum(x323, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_bbbb_oovv += einsum(x323, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x323 - x324 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x324 += einsum(t2.bbbb, (0, 1, 2, 3), l3.babbab, (2, 4, 3, 5, 6, 7), (5, 7, 0, 1, 6, 4)) - x324 += einsum(x122, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0000000000000606 - del x122 - rdm2_f_bbbb_oovv += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x324, (0, 2, 6, 7, 1, 4), (6, 7, 3, 5)) * 1.9999999999999194 - del x324 - x325 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x325 += einsum(t2.bbbb, (0, 1, 2, 3), l3.bbbbbb, (4, 2, 3, 5, 6, 7), (5, 6, 7, 0, 1, 4)) - x325 += einsum(x126, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0000000000000584 - del x126 - rdm2_f_bbbb_oovv += einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), x325, (0, 1, 2, 6, 7, 5), (6, 7, 3, 4)) * 5.999999999999766 - del x325 - x326 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x326 += einsum(x37, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - x326 += einsum(x39, (0, 1, 2, 3), (0, 1, 3, 2)) - x326 += einsum(x35, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.999999999999883 - x326 += einsum(x36, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.9999999999999597 - rdm2_f_bbbb_oovv += einsum(t2.bbbb, (0, 1, 2, 3), x326, (0, 1, 4, 5), (5, 4, 2, 3)) * 2.0 - del x326 - x327 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x327 += einsum(x37, (0, 1, 2, 3), (1, 0, 3, 2)) * -0.3333333333333269 - del x37 - x327 += einsum(x39, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.3333333333333269 - del x39 - x327 += einsum(x35, (0, 1, 2, 3), (0, 1, 3, 2)) - del x35 - x327 += einsum(x36, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.3333333333333336 - del x36 - x328 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x328 += einsum(t1.bb, (0, 1), x327, (0, 2, 3, 4), (2, 4, 3, 1)) * -1.0 - del x327 - rdm2_f_bbbb_oovv += einsum(t1.bb, (0, 1), x328, (0, 2, 3, 4), (2, 3, 4, 1)) * -6.000000000000116 - del x328 - x329 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x329 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 5, 1), (2, 4, 0, 5)) - rdm2_f_aaaa_ovov += einsum(x329, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_aaaa_ovvo += einsum(x329, (0, 1, 2, 3), (1, 2, 3, 0)) - rdm2_f_aaaa_voov += einsum(x329, (0, 1, 2, 3), (2, 1, 0, 3)) - rdm2_f_aaaa_vovo += einsum(x329, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - x330 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x330 += einsum(t1.aa, (0, 1), x64, (0, 2, 3, 4), (2, 3, 1, 4)) * 6.0 - del x64 - rdm2_f_aaaa_ovov += einsum(x330, (0, 1, 2, 3), (1, 3, 0, 2)) * -1.0 - rdm2_f_aaaa_voov += einsum(x330, (0, 1, 2, 3), (3, 1, 0, 2)) - del x330 - x331 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x331 += einsum(l1.aa, (0, 1), t1.aa, (1, 2), (0, 2)) - x332 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x332 += einsum(x331, (0, 1), (0, 1)) - x332 += einsum(x207, (0, 1), (0, 1)) - x332 += einsum(x208, (0, 1), (0, 1)) * 2.0 - x332 += einsum(x209, (0, 1), (0, 1)) * 0.9999999999999601 - x332 += einsum(x210, (0, 1), (0, 1)) * 1.9999999999999194 - x332 += einsum(x211, (0, 1), (0, 1)) * 2.9999999999998788 - rdm2_f_aaaa_ovov += einsum(delta.aa.oo, (0, 1), x332, (2, 3), (0, 2, 1, 3)) - rdm2_f_aaaa_ovvo += einsum(delta.aa.oo, (0, 1), x332, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_aaaa_voov += einsum(delta.aa.oo, (0, 1), x332, (2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_aaaa_vovo += einsum(delta.aa.oo, (0, 1), x332, (2, 3), (2, 0, 3, 1)) - x333 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x333 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 0, 5), (1, 5, 2, 4)) - rdm2_f_abab_ovov += einsum(x333, (0, 1, 2, 3), (3, 0, 2, 1)) * -1.0 - x334 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x334 += einsum(l1.bb, (0, 1), t1.bb, (1, 2), (0, 2)) - x335 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x335 += einsum(x334, (0, 1), (0, 1)) - x335 += einsum(x271, (0, 1), (0, 1)) * 2.0 - x335 += einsum(x272, (0, 1), (0, 1)) - x335 += einsum(x273, (0, 1), (0, 1)) * 2.9999999999998788 - x335 += einsum(x274, (0, 1), (0, 1)) * 1.9999999999999194 - x335 += einsum(x275, (0, 1), (0, 1)) * 0.9999999999999601 - rdm2_f_abab_ovov += einsum(delta.aa.oo, (0, 1), x335, (2, 3), (0, 2, 1, 3)) - rdm2_f_abab_ovvv += einsum(t1.aa, (0, 1), x335, (2, 3), (0, 2, 1, 3)) - x336 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x336 += einsum(t1.bb, (0, 1), x118, (0, 2, 3, 4), (2, 3, 4, 1)) * 2.0 - del x118 - rdm2_f_bbbb_ovov += einsum(x336, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_bbbb_ovvo += einsum(x336, (0, 1, 2, 3), (1, 2, 3, 0)) - rdm2_f_bbbb_voov += einsum(x336, (0, 1, 2, 3), (2, 1, 0, 3)) - rdm2_f_bbbb_vovo += einsum(x336, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - del x336 - x337 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x337 += einsum(x334, (0, 1), (0, 1)) * 0.5000000000000202 - del x334 - x337 += einsum(x271, (0, 1), (0, 1)) * 1.0000000000000404 - del x271 - x337 += einsum(x272, (0, 1), (0, 1)) * 0.5000000000000202 - del x272 - x337 += einsum(x273, (0, 1), (0, 1)) * 1.4999999999999998 - del x273 - x337 += einsum(x274, (0, 1), (0, 1)) - del x274 - x337 += einsum(x275, (0, 1), (0, 1)) * 0.5000000000000002 - del x275 - rdm2_f_bbbb_ovov += einsum(delta.bb.oo, (0, 1), x337, (2, 3), (0, 2, 1, 3)) * 1.9999999999999194 - rdm2_f_bbbb_ovvo += einsum(delta.bb.oo, (0, 1), x337, (2, 3), (0, 2, 3, 1)) * -1.9999999999999194 - rdm2_f_bbbb_voov += einsum(delta.bb.oo, (0, 1), x337, (2, 3), (2, 0, 1, 3)) * -1.9999999999999194 - rdm2_f_bbbb_vovo += einsum(delta.bb.oo, (0, 1), x337, (2, 3), (2, 0, 3, 1)) * 1.9999999999999194 - del x337 - x338 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x338 += einsum(t1.aa, (0, 1), x102, (0, 2, 3, 4), (2, 3, 4, 1)) * 2.0 - rdm2_f_aaaa_ovvo += einsum(x338, (0, 1, 2, 3), (1, 2, 3, 0)) - rdm2_f_aaaa_vovo += einsum(x338, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - del x338 - x339 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x339 += einsum(x331, (0, 1), (0, 1)) * 1.00000000000004 - x339 += einsum(x207, (0, 1), (0, 1)) * 1.00000000000004 - x339 += einsum(x208, (0, 1), (0, 1)) * 2.00000000000008 - x339 += einsum(x209, (0, 1), (0, 1)) - x339 += einsum(x210, (0, 1), (0, 1)) * 1.9999999999999991 - x339 += einsum(x211, (0, 1), (0, 1)) * 2.9999999999999982 - rdm2_f_abab_vovo += einsum(delta.bb.oo, (0, 1), x339, (2, 3), (2, 0, 3, 1)) * 0.9999999999999601 - del x339 - x340 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x340 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x51, (1, 4, 0, 2, 6, 7), (6, 7, 3, 5)) - del x51 - rdm2_f_aaaa_ovvv = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - rdm2_f_aaaa_ovvv += einsum(x340, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0000000000000404 - rdm2_f_aaaa_vovv = np.zeros((nvir[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - rdm2_f_aaaa_vovv += einsum(x340, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0000000000000404 - del x340 - x341 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x341 += einsum(l2.aaaa, (0, 1, 2, 3), t3.aaaaaa, (4, 2, 3, 5, 6, 1), (4, 0, 5, 6)) - rdm2_f_aaaa_ovvv += einsum(x341, (0, 1, 2, 3), (0, 1, 3, 2)) * -6.0 - rdm2_f_aaaa_vovv += einsum(x341, (0, 1, 2, 3), (1, 0, 3, 2)) * 6.0 - del x341 - x342 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x342 += einsum(l1.aa, (0, 1), t2.aaaa, (2, 1, 3, 4), (2, 0, 3, 4)) - rdm2_f_aaaa_ovvv += einsum(x342, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - rdm2_f_aaaa_vovv += einsum(x342, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - del x342 - x343 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x343 += einsum(l2.abab, (0, 1, 2, 3), t3.abaaba, (4, 3, 2, 5, 1, 6), (4, 0, 5, 6)) - rdm2_f_aaaa_ovvv += einsum(x343, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - rdm2_f_aaaa_vovv += einsum(x343, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - del x343 - x344 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x344 += einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), x45, (0, 1, 2, 6, 7, 5), (6, 7, 3, 4)) * -1.0 - del x45 - rdm2_f_aaaa_ovvv += einsum(x344, (0, 1, 2, 3), (0, 1, 3, 2)) * -6.000000000000116 - rdm2_f_aaaa_vovv += einsum(x344, (0, 1, 2, 3), (1, 0, 3, 2)) * 6.000000000000116 - del x344 - x345 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x345 += einsum(t2.abab, (0, 1, 2, 3), x161, (1, 3, 4, 5), (0, 4, 2, 5)) - x346 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x346 += einsum(t2.abab, (0, 1, 2, 3), x162, (1, 3, 4, 5), (0, 4, 5, 2)) - x347 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x347 += einsum(t2.aaaa, (0, 1, 2, 3), x205, (1, 4, 3, 5), (0, 4, 5, 2)) * 4.0 - x348 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x348 += einsum(x329, (0, 1, 2, 3), (0, 1, 2, 3)) - del x329 - x348 += einsum(x202, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.0 - del x202 - x348 += einsum(x173, (0, 1, 2, 3), (0, 1, 2, 3)) - del x173 - x348 += einsum(x174, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.0 - del x174 - x348 += einsum(x178, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - del x178 - x348 += einsum(x175, (0, 1, 2, 3), (0, 1, 2, 3)) * 9.0 - del x175 - x348 += einsum(x179, (0, 1, 2, 3), (0, 1, 2, 3)) * -6.0 - del x179 - x349 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x349 += einsum(t1.aa, (0, 1), x348, (0, 2, 3, 4), (2, 3, 4, 1)) - del x348 - x350 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x350 += einsum(x345, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x345 - x350 += einsum(x346, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - del x346 - x350 += einsum(x347, (0, 1, 2, 3), (0, 1, 2, 3)) - del x347 - x350 += einsum(x349, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x349 - x350 += einsum(t1.aa, (0, 1), x332, (2, 3), (0, 2, 1, 3)) - del x332 - rdm2_f_aaaa_ovvv += einsum(x350, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_aaaa_ovvv += einsum(x350, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_aaaa_vovv += einsum(x350, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - rdm2_f_aaaa_vovv += einsum(x350, (0, 1, 2, 3), (1, 0, 3, 2)) - del x350 - x351 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x351 += einsum(t2.aaaa, (0, 1, 2, 3), x102, (0, 1, 4, 5), (4, 5, 2, 3)) * 2.0 - del x102 - rdm2_f_aaaa_ovvv += einsum(x351, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_aaaa_vovv += einsum(x351, (0, 1, 2, 3), (1, 0, 3, 2)) - del x351 - x352 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x352 += einsum(x1, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.3333333333333333 - del x1 - x352 += einsum(x12, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.3333333333333333 - del x12 - x352 += einsum(x13, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x13 - x353 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x353 += einsum(t1.aa, (0, 1), x352, (0, 2, 3, 4), (2, 3, 4, 1)) * 3.0 - del x352 - x354 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x354 += einsum(t1.aa, (0, 1), x353, (0, 2, 3, 4), (2, 3, 4, 1)) * 2.0 - del x353 - rdm2_f_aaaa_ovvv += einsum(x354, (0, 1, 2, 3), (0, 1, 3, 2)) - rdm2_f_aaaa_vovv += einsum(x354, (0, 1, 2, 3), (1, 0, 2, 3)) - del x354 - x355 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x355 += einsum(x218, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.6666666666666666 - del x218 - x355 += einsum(x167, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.6666666666666666 - del x167 - x355 += einsum(x168, (0, 1, 2, 3), (0, 1, 2, 3)) - del x168 - x355 += einsum(x169, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.3333333333333333 - del x169 - x355 += einsum(x165, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.6666666666666666 - del x165 - x355 += einsum(x170, (0, 1, 2, 3), (0, 1, 2, 3)) - del x170 - x355 += einsum(x183, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.6666666666666666 - del x183 - x355 += einsum(t1.aa, (0, 1), x22, (2, 3, 0, 4), (2, 3, 4, 1)) * -0.6666666666666666 - del x22 - rdm2_f_abab_ovvv += einsum(t1.bb, (0, 1), x355, (0, 2, 3, 4), (3, 2, 4, 1)) * 3.0 - del x355 - x356 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x356 += einsum(x333, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - del x333 - x356 += einsum(x261, (0, 1, 2, 3), (0, 1, 2, 3)) - del x261 - x356 += einsum(x262, (0, 1, 2, 3), (0, 1, 2, 3)) - del x262 - x356 += einsum(x263, (0, 1, 2, 3), (0, 1, 2, 3)) - del x263 - x356 += einsum(x264, (0, 1, 2, 3), (0, 1, 2, 3)) - del x264 - rdm2_f_abab_ovvv += einsum(t1.aa, (0, 1), x356, (2, 3, 0, 4), (4, 2, 1, 3)) * -2.0 - del x356 - x357 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x357 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x90, (0, 2, 6, 7, 1, 4), (6, 7, 3, 5)) - del x90 - rdm2_f_bbbb_ovvv = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - rdm2_f_bbbb_ovvv += einsum(x357, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0000000000000404 - rdm2_f_bbbb_vovv = np.zeros((nvir[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - rdm2_f_bbbb_vovv += einsum(x357, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0000000000000404 - del x357 - x358 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x358 += einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), x114, (0, 1, 2, 6, 7, 5), (6, 7, 3, 4)) * -1.0 - del x114 - rdm2_f_bbbb_ovvv += einsum(x358, (0, 1, 2, 3), (0, 1, 3, 2)) * -6.000000000000116 - rdm2_f_bbbb_vovv += einsum(x358, (0, 1, 2, 3), (1, 0, 3, 2)) * 6.000000000000116 - del x358 - x359 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x359 += einsum(l1.bb, (0, 1), t2.bbbb, (2, 1, 3, 4), (2, 0, 3, 4)) - rdm2_f_bbbb_ovvv += einsum(x359, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - rdm2_f_bbbb_vovv += einsum(x359, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - del x359 - x360 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x360 += einsum(l2.bbbb, (0, 1, 2, 3), t3.bbbbbb, (4, 2, 3, 5, 6, 1), (4, 0, 5, 6)) - rdm2_f_bbbb_ovvv += einsum(x360, (0, 1, 2, 3), (0, 1, 3, 2)) * -6.0 - rdm2_f_bbbb_vovv += einsum(x360, (0, 1, 2, 3), (1, 0, 3, 2)) * 6.0 - del x360 - x361 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x361 += einsum(l2.abab, (0, 1, 2, 3), t3.babbab, (4, 2, 3, 5, 0, 6), (4, 1, 5, 6)) - rdm2_f_bbbb_ovvv += einsum(x361, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - rdm2_f_bbbb_vovv += einsum(x361, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - del x361 - x362 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x362 += einsum(t2.bbbb, (0, 1, 2, 3), x145, (1, 4, 3, 5), (0, 4, 5, 2)) * -1.0 - del x145 - x363 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x363 += einsum(t2.bbbb, (0, 1, 2, 3), x146, (1, 4, 3, 5), (0, 4, 2, 5)) - del x146 - x364 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x364 += einsum(t2.abab, (0, 1, 2, 3), x99, (4, 5, 0, 2), (1, 4, 5, 3)) - del x99 - x365 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x365 += einsum(t2.abab, (0, 1, 2, 3), x100, (4, 5, 0, 2), (1, 4, 3, 5)) - del x100 - x366 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x366 += einsum(x244, (0, 1, 2, 3), (0, 1, 2, 3)) - del x244 - x366 += einsum(x245, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.25 - del x245 - x366 += einsum(x246, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.25 - del x246 - x366 += einsum(x247, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.5 - del x247 - x366 += einsum(x248, (0, 1, 2, 3), (0, 1, 2, 3)) - del x248 - x366 += einsum(x249, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - del x249 - x366 += einsum(x250, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.25 - del x250 - x367 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x367 += einsum(t1.bb, (0, 1), x366, (0, 2, 3, 4), (2, 3, 4, 1)) * 4.0 - del x366 - x368 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x368 += einsum(x362, (0, 1, 2, 3), (0, 1, 2, 3)) * -12.0 - del x362 - x368 += einsum(x363, (0, 1, 2, 3), (0, 1, 2, 3)) * -4.0 - del x363 - x368 += einsum(x364, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - del x364 - x368 += einsum(x365, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x365 - x368 += einsum(x367, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x367 - x368 += einsum(t1.bb, (0, 1), x335, (2, 3), (0, 2, 1, 3)) - del x335 - rdm2_f_bbbb_ovvv += einsum(x368, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_bbbb_ovvv += einsum(x368, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_bbbb_vovv += einsum(x368, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - rdm2_f_bbbb_vovv += einsum(x368, (0, 1, 2, 3), (1, 0, 3, 2)) - del x368 - x369 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x369 += einsum(x38, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.3333333333333333 - x369 += einsum(x40, (0, 1, 2, 3), (0, 1, 2, 3)) - x369 += einsum(x41, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.3333333333333333 - x370 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x370 += einsum(t2.bbbb, (0, 1, 2, 3), x369, (0, 1, 4, 5), (4, 5, 2, 3)) * 6.0 - del x369 - rdm2_f_bbbb_ovvv += einsum(x370, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_bbbb_vovv += einsum(x370, (0, 1, 2, 3), (1, 0, 3, 2)) - del x370 - x371 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x371 += einsum(x38, (0, 1, 2, 3), (1, 0, 2, 3)) - del x38 - x371 += einsum(x40, (0, 1, 2, 3), (0, 1, 2, 3)) * -3.0 - del x40 - x371 += einsum(x41, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x41 - x372 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x372 += einsum(t1.bb, (0, 1), x371, (0, 2, 3, 4), (2, 3, 4, 1)) * 0.3333333333333333 - rdm2_f_bbbb_ovvv += einsum(t1.bb, (0, 1), x372, (0, 2, 3, 4), (2, 3, 4, 1)) * -6.0 - del x372 - x373 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x373 += einsum(x236, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - del x236 - x373 += einsum(x237, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - del x237 - x373 += einsum(x238, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.75 - del x238 - x373 += einsum(x239, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - del x239 - x373 += einsum(x240, (0, 1, 2, 3), (0, 1, 2, 3)) - del x240 - x373 += einsum(x241, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - del x241 - x373 += einsum(x242, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.75 - del x242 - x373 += einsum(t1.bb, (0, 1), x235, (0, 2, 3, 4), (2, 1, 3, 4)) * -0.25 - del x235 - rdm2_f_abab_vovv += einsum(t1.aa, (0, 1), x373, (2, 3, 0, 4), (4, 2, 1, 3)) * 4.0 - del x373 - x374 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x374 += einsum(x255, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - del x255 - x374 += einsum(x256, (0, 1, 2, 3), (0, 1, 2, 3)) - del x256 - x374 += einsum(x257, (0, 1, 2, 3), (0, 1, 2, 3)) - del x257 - x374 += einsum(x258, (0, 1, 2, 3), (0, 1, 2, 3)) - del x258 - x374 += einsum(x259, (0, 1, 2, 3), (0, 1, 2, 3)) - del x259 - rdm2_f_abab_vovv += einsum(t1.bb, (0, 1), x374, (0, 2, 3, 4), (3, 2, 4, 1)) * -2.0 - del x374 - x375 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x375 += einsum(x331, (0, 1), (0, 1)) * 0.5000000000000202 - del x331 - x375 += einsum(x207, (0, 1), (0, 1)) * 0.5000000000000202 - del x207 - x375 += einsum(x208, (0, 1), (0, 1)) * 1.0000000000000404 - del x208 - x375 += einsum(x209, (0, 1), (0, 1)) * 0.5000000000000002 - del x209 - x375 += einsum(x210, (0, 1), (0, 1)) - del x210 - x375 += einsum(x211, (0, 1), (0, 1)) * 1.4999999999999998 - del x211 - rdm2_f_abab_vovv += einsum(t1.bb, (0, 1), x375, (2, 3), (2, 0, 3, 1)) * 1.9999999999999194 - del x375 - x376 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x376 += einsum(t1.bb, (0, 1), x371, (0, 2, 3, 4), (2, 3, 4, 1)) - del x371 - rdm2_f_bbbb_vovv += einsum(t1.bb, (0, 1), x376, (0, 2, 3, 4), (3, 2, 1, 4)) * -2.0 - del x376 - x377 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x377 += einsum(t1.aa, (0, 1), l2.aaaa, (2, 3, 4, 0), (4, 2, 3, 1)) - rdm2_f_aaaa_vvov += einsum(x377, (0, 1, 2, 3), (2, 1, 0, 3)) * -2.0 - rdm2_f_aaaa_vvvo += einsum(x377, (0, 1, 2, 3), (2, 1, 3, 0)) * 2.0 - rdm2_f_aaaa_vvvv += einsum(t1.aa, (0, 1), x377, (0, 2, 3, 4), (2, 3, 1, 4)) * 2.0 - del x377 - x378 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x378 += einsum(t1.bb, (0, 1), l2.bbbb, (2, 3, 4, 0), (4, 2, 3, 1)) - rdm2_f_bbbb_vvov += einsum(x378, (0, 1, 2, 3), (2, 1, 0, 3)) * -2.0 - rdm2_f_bbbb_vvvo += einsum(x378, (0, 1, 2, 3), (2, 1, 3, 0)) * 2.0 - rdm2_f_bbbb_vvvv += einsum(t1.bb, (0, 1), x378, (0, 2, 3, 4), (2, 3, 1, 4)) * 2.0 - del x378 - x379 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x379 += einsum(t1.aa, (0, 1), l2.abab, (2, 3, 0, 4), (4, 3, 2, 1)) - rdm2_f_abab_vvvo += einsum(x379, (0, 1, 2, 3), (2, 1, 3, 0)) - x380 = np.zeros((nvir[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x380 += einsum(t1.aa, (0, 1), x205, (0, 2, 3, 4), (2, 3, 4, 1)) * 2.0 - del x205 - rdm2_f_aaaa_vvvv += einsum(x380, (0, 1, 2, 3), (0, 1, 3, 2)) - rdm2_f_aaaa_vvvv += einsum(x380, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x380 - x381 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x381 += einsum(x379, (0, 1, 2, 3), (0, 1, 2, 3)) - del x379 - x381 += einsum(x161, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x161 - x381 += einsum(x162, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x162 - rdm2_f_abab_vvvv += einsum(t1.bb, (0, 1), x381, (0, 2, 3, 4), (3, 2, 4, 1)) - del x381 - x382 = np.zeros((nvir[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x382 += einsum(t1.bb, (0, 1), x304, (0, 2, 3, 4), (2, 3, 4, 1)) * 6.0 - del x304 - rdm2_f_bbbb_vvvv += einsum(x382, (0, 1, 2, 3), (0, 1, 3, 2)) - rdm2_f_bbbb_vvvv += einsum(x382, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x382 - - rdm2_f_aaaa = pack_2e(rdm2_f_aaaa_oooo, rdm2_f_aaaa_ooov, rdm2_f_aaaa_oovo, rdm2_f_aaaa_ovoo, rdm2_f_aaaa_vooo, rdm2_f_aaaa_oovv, rdm2_f_aaaa_ovov, rdm2_f_aaaa_ovvo, rdm2_f_aaaa_voov, rdm2_f_aaaa_vovo, rdm2_f_aaaa_vvoo, rdm2_f_aaaa_ovvv, rdm2_f_aaaa_vovv, rdm2_f_aaaa_vvov, rdm2_f_aaaa_vvvo, rdm2_f_aaaa_vvvv) - rdm2_f_abab = pack_2e(rdm2_f_abab_oooo, rdm2_f_abab_ooov, rdm2_f_abab_oovo, rdm2_f_abab_ovoo, rdm2_f_abab_vooo, rdm2_f_abab_oovv, rdm2_f_abab_ovov, rdm2_f_abab_ovvo, rdm2_f_abab_voov, rdm2_f_abab_vovo, rdm2_f_abab_vvoo, rdm2_f_abab_ovvv, rdm2_f_abab_vovv, rdm2_f_abab_vvov, rdm2_f_abab_vvvo, rdm2_f_abab_vvvv) - rdm2_f_bbbb = pack_2e(rdm2_f_bbbb_oooo, rdm2_f_bbbb_ooov, rdm2_f_bbbb_oovo, rdm2_f_bbbb_ovoo, rdm2_f_bbbb_vooo, rdm2_f_bbbb_oovv, rdm2_f_bbbb_ovov, rdm2_f_bbbb_ovvo, rdm2_f_bbbb_voov, rdm2_f_bbbb_vovo, rdm2_f_bbbb_vvoo, rdm2_f_bbbb_ovvv, rdm2_f_bbbb_vovv, rdm2_f_bbbb_vvov, rdm2_f_bbbb_vvvo, rdm2_f_bbbb_vvvv) - - rdm2_f_aaaa = rdm2_f_aaaa.swapaxes(1, 2) - rdm2_f_aabb = rdm2_f_abab.swapaxes(1, 2) - rdm2_f_bbbb = rdm2_f_bbbb.swapaxes(1, 2) - - rdm2_f.aaaa = rdm2_f_aaaa - rdm2_f.aabb = rdm2_f_aabb - rdm2_f.bbbb = rdm2_f_bbbb - - return rdm2_f - diff --git a/ebcc/codegen/UCCSD_SD_1_1.py b/ebcc/codegen/UCCSD_SD_1_1.py deleted file mode 100644 index 00e77ec9..00000000 --- a/ebcc/codegen/UCCSD_SD_1_1.py +++ /dev/null @@ -1,6108 +0,0 @@ -# Code generated for ebcc. - -from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, Namespace -from ebcc.precision import types - -def energy(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, s2=None, u11=None, **kwargs): - # Energy - x0 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x0 += einsum("iajb->jiab", v.bbbb.ovov) * -1 - x0 += einsum("iajb->jiba", v.bbbb.ovov) - x1 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x1 += einsum("ijab->jiba", t2.bbbb) - x1 += einsum("ia,jb->ijab", t1.bb, t1.bb) - e_cc = 0 - e_cc += einsum("ijab,ijba->", x0, x1) * -0.5 - del x0 - del x1 - x2 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x2 += einsum("iajb->jiab", v.aaaa.ovov) - x2 += einsum("iajb->jiba", v.aaaa.ovov) * -1 - x3 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x3 += einsum("ijab->jiba", t2.aaaa) - x3 += einsum("ia,jb->ijba", t1.aa, t1.aa) * -1 - e_cc += einsum("ijab,ijab->", x2, x3) * -0.5 - del x2 - del x3 - x4 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x4 += einsum("ijab->ijab", t2.abab) - x4 += einsum("ia,jb->ijab", t1.aa, t1.bb) - e_cc += einsum("iajb,ijab->", v.aabb.ovov, x4) - del x4 - x5 = np.zeros((nbos), dtype=types[float]) - x5 += einsum("w->w", G) - x5 += einsum("ia,wia->w", t1.aa, g.aa.bov) - x5 += einsum("ia,wia->w", t1.bb, g.bb.bov) - e_cc += einsum("w,w->", s1, x5) - del x5 - e_cc += einsum("wia,wia->", g.aa.bov, u11.aa) - e_cc += einsum("wia,wia->", g.bb.bov, u11.bb) - e_cc += einsum("ia,ia->", f.bb.ov, t1.bb) - e_cc += einsum("ia,ia->", f.aa.ov, t1.aa) - - return e_cc - -def update_amps(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, s2=None, u11=None, **kwargs): - t1new = Namespace() - t2new = Namespace() - u11new = Namespace() - - # Get boson coupling creation array: - gc = Namespace( - aa = Namespace( - boo=g.aa.boo.transpose(0, 2, 1), - bov=g.aa.bvo.transpose(0, 2, 1), - bvo=g.aa.bov.transpose(0, 2, 1), - bvv=g.aa.bvv.transpose(0, 2, 1), - ), - bb = Namespace( - boo=g.bb.boo.transpose(0, 2, 1), - bov=g.bb.bvo.transpose(0, 2, 1), - bvo=g.bb.bov.transpose(0, 2, 1), - bvv=g.bb.bvv.transpose(0, 2, 1), - ), - ) - - # T1, T2, S1, S2 and U11 amplitudes - x0 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x0 += einsum("ia,jakb->ikjb", t1.aa, v.aaaa.ovov) - x1 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x1 += einsum("ijka->ijka", x0) * -1 - x1 += einsum("ijka->ikja", x0) - x98 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x98 -= einsum("ijka->ijka", x0) - x98 += einsum("ijka->ikja", x0) - x124 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x124 += einsum("ia,jkla->jilk", t1.aa, x0) - x125 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x125 += einsum("ia,jkli->jkla", t1.aa, x124) - x126 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x126 += einsum("ia,jkib->jkab", t1.aa, x125) - del x125 - x133 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x133 += einsum("ijab->ijab", x126) - del x126 - x141 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x141 += einsum("ijab,klji->lkab", t2.aaaa, x124) - del x124 - x145 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x145 += einsum("ijab->ijab", x141) - del x141 - x284 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x284 += einsum("ijka->jkia", x0) * -1 - x284 += einsum("ijka->kjia", x0) - del x0 - x1 += einsum("ijka->jika", v.aaaa.ooov) - x1 += einsum("ijka->jkia", v.aaaa.ooov) * -1 - t1new_aa = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - t1new_aa += einsum("ijab,kjia->kb", t2.aaaa, x1) * -1 - del x1 - x2 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x2 += einsum("iabc->ibac", v.aaaa.ovvv) - x2 += einsum("iabc->ibca", v.aaaa.ovvv) * -1 - x31 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x31 += einsum("ia,ibca->bc", t1.aa, x2) - x32 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x32 += einsum("ab->ab", x31) * -1 - x280 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x280 += einsum("ab->ab", x31) * -1 - x321 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x321 += einsum("ab->ab", x31) * -1 - del x31 - x64 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x64 += einsum("ia,jbac->ijbc", t1.aa, x2) - t1new_aa += einsum("ijab,icba->jc", t2.aaaa, x2) * -1 - del x2 - x3 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x3 += einsum("ia,jakb->ijkb", t1.aa, v.aabb.ovov) - x4 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x4 += einsum("ijka->jika", x3) - x79 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x79 += einsum("ijab,kljb->kila", t2.abab, x3) - del x3 - x83 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x83 += einsum("ijka->ikja", x79) - del x79 - x4 += einsum("ijka->ijka", v.aabb.ooov) - x267 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x267 += einsum("ijab,iklb->kjla", t2.abab, x4) - x274 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x274 += einsum("ijka->ikja", x267) * -1 - del x267 - t1new_aa += einsum("ijab,ikjb->ka", t2.abab, x4) * -1 - x5 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x5 += einsum("w,wia->ia", s1, g.aa.bov) - x9 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x9 += einsum("ia->ia", x5) - x102 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x102 += einsum("ia->ia", x5) - x300 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x300 += einsum("ia->ia", x5) - x322 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x322 += einsum("ia->ia", x5) - del x5 - x6 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x6 += einsum("ia,jbia->jb", t1.bb, v.aabb.ovov) - x9 += einsum("ia->ia", x6) - x61 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x61 += einsum("ia,ja->ij", t1.aa, x6) - x62 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x62 += einsum("ij,kjab->ikab", x61, t2.aaaa) - del x61 - x87 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x87 += einsum("ijab->ijab", x62) * -1 - del x62 - x80 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x80 += einsum("ia,jkba->jkib", x6, t2.aaaa) - x83 += einsum("ijka->ikja", x80) * -1 - del x80 - x300 += einsum("ia->ia", x6) - x320 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x320 += einsum("ia->ia", x6) - del x6 - x7 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x7 += einsum("iajb->jiab", v.aaaa.ovov) - x7 += einsum("iajb->jiba", v.aaaa.ovov) * -1 - x8 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x8 += einsum("ia,ijab->jb", t1.aa, x7) - x9 += einsum("ia->ia", x8) * -1 - x320 += einsum("ia->ia", x8) * -1 - del x8 - x321 += einsum("ia,ib->ab", t1.aa, x320) * -1 - del x320 - x70 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x70 += einsum("ijab,ijac->bc", t2.aaaa, x7) - x73 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x73 += einsum("ab->ab", x70) * -1 - del x70 - x279 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x279 += einsum("ijab,ijca->bc", t2.aaaa, x7) - x280 += einsum("ab->ab", x279) * -1 - x321 += einsum("ab->ab", x279) * -1 - del x279 - x315 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x315 += einsum("wia,ijab->wjb", u11.aa, x7) - x316 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x316 += einsum("wia->wia", x315) * -1 - del x315 - x9 += einsum("ia->ia", f.aa.ov) - x27 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x27 += einsum("ia,ja->ij", t1.aa, x9) - x28 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x28 += einsum("ij->ji", x27) - del x27 - x288 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x288 += einsum("ia,jkab->jikb", x9, t2.abab) - x291 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x291 += einsum("ijka->jika", x288) - del x288 - t1new_bb = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - t1new_bb += einsum("ia,ijab->jb", x9, t2.abab) - x10 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x10 += einsum("ijab->jiab", t2.aaaa) - x10 -= einsum("ijab->jiba", t2.aaaa) - x112 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x112 += einsum("wia,ijab->wjb", g.aa.bov, x10) - x114 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x114 -= einsum("wia->wia", x112) - del x112 - t1new_aa += einsum("ia,ijab->jb", x9, x10) * -1 - del x9 - x11 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x11 += einsum("w,wia->ia", s1, g.bb.bov) - x15 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x15 += einsum("ia->ia", x11) - x159 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x159 += einsum("ia->ia", x11) - x301 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x301 += einsum("ia->ia", x11) - x328 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x328 += einsum("ia->ia", x11) - del x11 - x12 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x12 += einsum("ia,iajb->jb", t1.aa, v.aabb.ovov) - x15 += einsum("ia->ia", x12) - x201 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x201 += einsum("ia,jkab->kjib", x12, t2.bbbb) - x205 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x205 += einsum("ijka->ikja", x201) * -1 - del x201 - x216 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x216 += einsum("ia,ja->ij", t1.bb, x12) - x217 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x217 += einsum("ij->ij", x216) - del x216 - x301 += einsum("ia->ia", x12) - x326 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x326 += einsum("ia->ia", x12) - del x12 - x13 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x13 += einsum("iajb->jiab", v.bbbb.ovov) * -1 - x13 += einsum("iajb->jiba", v.bbbb.ovov) - x14 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x14 += einsum("ia,ijba->jb", t1.bb, x13) - x15 += einsum("ia->ia", x14) * -1 - x326 += einsum("ia->ia", x14) * -1 - del x14 - x327 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x327 += einsum("ia,ib->ab", t1.bb, x326) * -1 - del x326 - x49 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x49 += einsum("ijab,ikba->kj", t2.bbbb, x13) - x53 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x53 += einsum("ij->ij", x49) * -1 - del x49 - x237 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x237 += einsum("ijab,jkcb->ikac", t2.abab, x13) - x238 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x238 += einsum("ijab->ijab", x237) * -1 - del x237 - x318 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x318 += einsum("wia,ijba->wjb", u11.bb, x13) - del x13 - x319 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x319 += einsum("wia->wia", x318) * -1 - del x318 - x15 += einsum("ia->ia", f.bb.ov) - x52 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x52 += einsum("ia,ja->ij", t1.bb, x15) - x53 += einsum("ij->ji", x52) - del x52 - x268 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x268 += einsum("ia,jkba->jkib", x15, t2.abab) - x274 += einsum("ijka->ikja", x268) - del x268 - t1new_aa += einsum("ia,jiba->jb", x15, t2.abab) - x16 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x16 += einsum("iabj->ijba", v.aaaa.ovvo) - x16 -= einsum("ijab->ijab", v.aaaa.oovv) - x104 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x104 += einsum("ia,jkba->ijkb", t1.aa, x16) - x105 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x105 -= einsum("ijka->jika", x104) - del x104 - t1new_aa += einsum("ia,ijba->jb", t1.aa, x16) - u11new_aa = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - u11new_aa += einsum("wia,ijba->wjb", u11.aa, x16) - x17 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) - x17 += einsum("ia,wja->wji", t1.aa, g.aa.bov) - x18 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) - x18 += einsum("wij->wij", x17) - del x17 - x18 += einsum("wij->wij", g.aa.boo) - x113 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x113 += einsum("ia,wij->wja", t1.aa, x18) - x114 -= einsum("wia->wia", x113) - del x113 - t1new_aa -= einsum("wia,wij->ja", u11.aa, x18) - del x18 - x19 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x19 += einsum("w,wij->ij", s1, g.aa.boo) - x28 += einsum("ij->ij", x19) - x108 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x108 += einsum("ij->ji", x19) - del x19 - x20 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x20 += einsum("wia,wja->ij", g.aa.bov, u11.aa) - x28 += einsum("ij->ij", x20) - x121 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x121 += einsum("ij->ij", x20) - del x20 - x21 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x21 += einsum("ia,jkia->jk", t1.bb, v.aabb.ooov) - x28 += einsum("ij->ij", x21) - x121 += einsum("ij->ij", x21) - del x21 - x122 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x122 += einsum("ij,ikab->kjab", x121, t2.aaaa) - del x121 - x123 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x123 -= einsum("ijab->ijba", x122) - del x122 - x22 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x22 += einsum("ijab,kajb->ik", t2.abab, v.aabb.ovov) - x28 += einsum("ij->ji", x22) - x85 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x85 += einsum("ij->ji", x22) - del x22 - x23 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x23 += einsum("iajb->jiab", v.aaaa.ovov) * -1 - x23 += einsum("iajb->jiba", v.aaaa.ovov) - x24 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x24 += einsum("ijab,ikba->jk", t2.aaaa, x23) - del x23 - x28 += einsum("ij->ji", x24) * -1 - x85 += einsum("ij->ji", x24) * -1 - del x24 - x25 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x25 += einsum("ijka->ikja", v.aaaa.ooov) - x25 += einsum("ijka->kija", v.aaaa.ooov) * -1 - x26 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x26 += einsum("ia,ijka->jk", t1.aa, x25) - x28 += einsum("ij->ij", x26) * -1 - x85 += einsum("ij->ij", x26) * -1 - del x26 - x86 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x86 += einsum("ij,ikab->kjab", x85, t2.aaaa) - del x85 - x87 += einsum("ijab->ijba", x86) - del x86 - x323 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) - x323 += einsum("wia,ijka->wjk", u11.aa, x25) * -1 - del x25 - x28 += einsum("ij->ij", f.aa.oo) - x294 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x294 += einsum("ij,ikab->jkab", x28, t2.abab) - t2new_baba = np.zeros((nocc[1], nocc[0], nvir[1], nvir[0]), dtype=types[float]) - t2new_baba += einsum("ijab->jiba", x294) * -1 - t2new_abab = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - t2new_abab += einsum("ijab->ijab", x294) * -1 - del x294 - t1new_aa += einsum("ia,ij->ja", t1.aa, x28) * -1 - u11new_aa += einsum("ij,wia->wja", x28, u11.aa) * -1 - del x28 - x29 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x29 += einsum("w,wab->ab", s1, g.aa.bvv) - x32 += einsum("ab->ab", x29) - x116 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x116 += einsum("ab->ab", x29) - x280 += einsum("ab->ab", x29) - x321 += einsum("ab->ab", x29) - del x29 - x30 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x30 += einsum("ia,iabc->bc", t1.bb, v.bbaa.ovvv) - x32 += einsum("ab->ab", x30) - x119 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x119 -= einsum("ab->ba", x30) - x280 += einsum("ab->ab", x30) - x321 += einsum("ab->ab", x30) - del x30 - x32 += einsum("ab->ab", f.aa.vv) - t1new_aa += einsum("ia,ba->ib", t1.aa, x32) - del x32 - x33 = np.zeros((nbos), dtype=types[float]) - x33 += einsum("ia,wia->w", t1.aa, g.aa.bov) - x35 = np.zeros((nbos), dtype=types[float]) - x35 += einsum("w->w", x33) - del x33 - x34 = np.zeros((nbos), dtype=types[float]) - x34 += einsum("ia,wia->w", t1.bb, g.bb.bov) - x35 += einsum("w->w", x34) - del x34 - x35 += einsum("w->w", G) - t1new_aa += einsum("w,wia->ia", x35, u11.aa) - t1new_bb += einsum("w,wia->ia", x35, u11.bb) - s1new = np.zeros((nbos), dtype=types[float]) - s1new += einsum("w,wx->x", x35, s2) - del x35 - x36 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x36 += einsum("ia,jakb->ikjb", t1.bb, v.bbbb.ovov) - x37 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x37 += einsum("ijka->ijka", x36) * -1 - x37 += einsum("ijka->ikja", x36) - x155 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x155 -= einsum("ijka->ijka", x36) - x155 += einsum("ijka->ikja", x36) - x181 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x181 += einsum("ia,jkla->jilk", t1.bb, x36) - x182 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x182 += einsum("ia,jkli->jkla", t1.bb, x181) - x183 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x183 += einsum("ia,jkib->jkab", t1.bb, x182) - del x182 - x187 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x187 += einsum("ijab->ijab", x183) - del x183 - x223 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x223 += einsum("ijkl->ijkl", x181) - del x181 - x264 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x264 += einsum("ijka->jkia", x36) - x264 += einsum("ijka->kjia", x36) * -1 - del x36 - x37 += einsum("ijka->jika", v.bbbb.ooov) - x37 += einsum("ijka->jkia", v.bbbb.ooov) * -1 - t1new_bb += einsum("ijab,kjia->kb", t2.bbbb, x37) * -1 - del x37 - x38 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x38 += einsum("iabc->ibac", v.bbbb.ovvv) - x38 += einsum("iabc->ibca", v.bbbb.ovvv) * -1 - x209 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x209 += einsum("ia,ibac->bc", t1.bb, x38) - x210 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x210 += einsum("ab->ab", x209) * -1 - del x209 - t1new_bb += einsum("ijab,icba->jc", t2.bbbb, x38) * -1 - del x38 - x39 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x39 += einsum("ia,jbka->jikb", t1.bb, v.aabb.ovov) - x40 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x40 += einsum("ijka->ikja", x39) - x200 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x200 += einsum("ijab,ikla->kjlb", t2.abab, x39) - x205 += einsum("ijka->ikja", x200) - del x200 - x255 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x255 += einsum("ijka->ikja", x39) - del x39 - x40 += einsum("iajk->ijka", v.aabb.ovoo) - x269 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x269 += einsum("ia,jkla->ijkl", t1.aa, x40) - x270 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x270 += einsum("ijkl->jikl", x269) - del x269 - x287 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x287 += einsum("ijab,kjla->iklb", t2.abab, x40) - x291 += einsum("ijka->jika", x287) * -1 - del x287 - t1new_bb += einsum("ijab,ijka->kb", t2.abab, x40) * -1 - x41 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x41 += einsum("ijab->jiab", t2.bbbb) * -1 - x41 += einsum("ijab->jiba", t2.bbbb) - x194 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x194 += einsum("iajb,jkcb->ikac", v.aabb.ovov, x41) - x195 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x195 += einsum("ijab,ikac->jkbc", t2.abab, x194) * -1 - del x194 - x219 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x219 += einsum("ijab->ijab", x195) * -1 - del x195 - x286 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x286 += einsum("ijka,klba->ijlb", x4, x41) - del x4 - x291 += einsum("ijka->ijka", x286) * -1 - del x286 - t1new_bb += einsum("ia,ijba->jb", x15, x41) * -1 - del x15 - x42 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x42 += einsum("iabj->ijba", v.bbbb.ovvo) - x42 -= einsum("ijab->ijab", v.bbbb.oovv) - x161 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x161 += einsum("ia,jkba->ijkb", t1.bb, x42) - x162 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x162 -= einsum("ijka->jika", x161) - del x161 - t1new_bb += einsum("ia,ijba->jb", t1.bb, x42) - u11new_bb = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - u11new_bb += einsum("wia,ijba->wjb", u11.bb, x42) - x43 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) - x43 += einsum("ia,wja->wji", t1.bb, g.bb.bov) - x44 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) - x44 += einsum("wij->wij", x43) - del x43 - x44 += einsum("wij->wij", g.bb.boo) - x170 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x170 += einsum("ia,wij->wja", t1.bb, x44) - x171 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x171 -= einsum("wia->wia", x170) - del x170 - t1new_bb -= einsum("wia,wij->ja", u11.bb, x44) - del x44 - x45 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x45 += einsum("w,wij->ij", s1, g.bb.boo) - x53 += einsum("ij->ij", x45) - x165 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x165 += einsum("ij->ji", x45) - del x45 - x46 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x46 += einsum("wia,wja->ij", g.bb.bov, u11.bb) - x53 += einsum("ij->ij", x46) - x178 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x178 += einsum("ij->ij", x46) - del x46 - x47 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x47 += einsum("ia,iajk->jk", t1.aa, v.aabb.ovoo) - x53 += einsum("ij->ij", x47) - x178 += einsum("ij->ij", x47) - del x47 - x179 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x179 += einsum("ij,ikab->kjab", x178, t2.bbbb) - del x178 - x180 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x180 -= einsum("ijab->ijba", x179) - del x179 - x48 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x48 += einsum("ijab,iakb->jk", t2.abab, v.aabb.ovov) - x53 += einsum("ij->ji", x48) - x217 += einsum("ij->ij", x48) - del x48 - x218 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x218 += einsum("ij,jkab->ikab", x217, t2.bbbb) - del x217 - x219 += einsum("ijab->ijba", x218) * -1 - del x218 - x50 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x50 += einsum("ijka->ikja", v.bbbb.ooov) * -1 - x50 += einsum("ijka->kija", v.bbbb.ooov) - x51 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x51 += einsum("ia,jika->jk", t1.bb, x50) - x53 += einsum("ij->ij", x51) * -1 - del x51 - x329 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) - x329 += einsum("wia,jika->wjk", u11.bb, x50) * -1 - del x50 - x53 += einsum("ij->ij", f.bb.oo) - x293 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x293 += einsum("ij,kiab->kjab", x53, t2.abab) - t2new_baba += einsum("ijab->jiba", x293) * -1 - t2new_abab += einsum("ijab->ijab", x293) * -1 - del x293 - t1new_bb += einsum("ia,ij->ja", t1.bb, x53) * -1 - u11new_bb += einsum("ij,wia->wja", x53, u11.bb) * -1 - del x53 - x54 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x54 += einsum("w,wab->ab", s1, g.bb.bvv) - x58 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x58 += einsum("ab->ab", x54) - x173 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x173 += einsum("ab->ab", x54) - x277 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x277 += einsum("ab->ab", x54) - x327 += einsum("ab->ab", x54) - del x54 - x55 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x55 += einsum("ia,iabc->bc", t1.aa, v.aabb.ovvv) - x58 += einsum("ab->ab", x55) - x176 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x176 -= einsum("ab->ba", x55) - x277 += einsum("ab->ab", x55) - x327 += einsum("ab->ab", x55) - del x55 - x56 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x56 += einsum("iabc->ibac", v.bbbb.ovvv) * -1 - x56 += einsum("iabc->ibca", v.bbbb.ovvv) - x57 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x57 += einsum("ia,ibac->bc", t1.bb, x56) - x58 += einsum("ab->ab", x57) * -1 - x277 += einsum("ab->ab", x57) * -1 - x327 += einsum("ab->ab", x57) * -1 - del x57 - x192 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x192 += einsum("ia,jbca->ijbc", t1.bb, x56) - del x56 - x193 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x193 += einsum("ijab,jkcb->kica", x192, x41) * -1 - del x192 - x219 += einsum("ijab->jiab", x193) * -1 - del x193 - x58 += einsum("ab->ab", f.bb.vv) - t1new_bb += einsum("ia,ba->ib", t1.bb, x58) - del x58 - x59 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x59 += einsum("ia,jkla->ijlk", t1.aa, v.aaaa.ooov) - x60 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x60 += einsum("ijab,kijl->klab", t2.aaaa, x59) - x87 += einsum("ijab->ijab", x60) - del x60 - x75 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x75 += einsum("ia,jkil->jkla", t1.aa, x59) - del x59 - x83 += einsum("ijka->ijka", x75) - del x75 - x63 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x63 += einsum("ijab->jiab", t2.aaaa) - x63 += einsum("ijab->jiba", t2.aaaa) * -1 - x65 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x65 += einsum("ijab,kica->jkbc", x63, x64) * -1 - del x64 - x87 += einsum("ijab->jiab", x65) * -1 - del x65 - x236 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x236 += einsum("iajb,ikac->kjcb", v.aabb.ovov, x63) - x238 += einsum("ijab->ijab", x236) * -1 - del x236 - x239 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x239 += einsum("ijab,ikac->kjcb", x63, x7) - del x7 - x241 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x241 += einsum("ijab->ijba", x239) - del x239 - x266 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x266 += einsum("ijka,ilab->ljkb", x40, x63) - del x40 - del x63 - x274 += einsum("ijka->ijka", x266) * -1 - del x266 - x66 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x66 += einsum("ijab,kcjb->ikac", t2.abab, v.aabb.ovov) - x241 += einsum("ijab->jiab", x66) - x67 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x67 += einsum("ijab->jiab", t2.aaaa) * -1 - x67 += einsum("ijab->jiba", t2.aaaa) - x68 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x68 += einsum("ijab,jkbc->ikac", x66, x67) - del x66 - x87 += einsum("ijab->jiba", x68) * -1 - del x68 - x69 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x69 += einsum("ijab,icjb->ac", t2.abab, v.aabb.ovov) - x73 += einsum("ab->ab", x69) - x280 += einsum("ab->ab", x69) * -1 - x321 += einsum("ab->ab", x69) * -1 - del x69 - x71 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x71 += einsum("iabc->ibac", v.aaaa.ovvv) * -1 - x71 += einsum("iabc->ibca", v.aaaa.ovvv) - x72 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x72 += einsum("ia,ibca->bc", t1.aa, x71) - x73 += einsum("ab->ab", x72) * -1 - del x72 - x74 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x74 += einsum("ab,ijbc->ijca", x73, t2.aaaa) - del x73 - x87 += einsum("ijab->jiab", x74) - del x74 - x240 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x240 += einsum("ia,jbca->ijbc", t1.aa, x71) - del x71 - x241 += einsum("ijab->jiab", x240) * -1 - del x240 - x76 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x76 += einsum("ijab,kacb->ijkc", t2.aaaa, v.aaaa.ovvv) - x83 += einsum("ijka->ikja", x76) - del x76 - x77 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x77 += einsum("ia,jbca->ijcb", t1.aa, v.aaaa.ovvv) - x78 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x78 += einsum("ia,jkba->ijkb", t1.aa, x77) - del x77 - x83 += einsum("ijka->ikja", x78) - del x78 - x81 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x81 += einsum("ijka->ikja", v.aaaa.ooov) * -1 - x81 += einsum("ijka->kija", v.aaaa.ooov) - x82 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x82 += einsum("ijab,iklb->jkla", x67, x81) - del x81 - del x67 - x83 += einsum("ijka->ijka", x82) - del x82 - x84 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x84 += einsum("ia,jikb->jkab", t1.aa, x83) - del x83 - x87 += einsum("ijab->ijab", x84) - del x84 - t2new_aaaa = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - t2new_aaaa += einsum("ijab->ijab", x87) * -1 - t2new_aaaa += einsum("ijab->ijba", x87) - t2new_aaaa += einsum("ijab->jiab", x87) - t2new_aaaa += einsum("ijab->jiba", x87) * -1 - del x87 - x88 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x88 += einsum("ia,bjca->ijbc", t1.aa, v.aaaa.vovv) - x123 -= einsum("ijab->ijab", x88) - del x88 - x89 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x89 += einsum("ijab,jbck->ikac", t2.abab, v.bbaa.ovvo) - x123 += einsum("ijab->ijab", x89) - del x89 - x90 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x90 += einsum("ia,jbca->ijcb", t1.aa, v.bbaa.ovvv) - x91 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x91 += einsum("ijab,kjcb->kiac", t2.abab, x90) - x123 -= einsum("ijab->ijab", x91) - del x91 - x238 += einsum("ijab->ijab", x90) - del x90 - x92 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x92 -= einsum("ijab->jiab", t2.aaaa) - x92 += einsum("ijab->jiba", t2.aaaa) - x93 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x93 += einsum("ijab,ikcb->jkac", x16, x92) - del x16 - x123 -= einsum("ijab->jiba", x93) - del x93 - x99 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x99 += einsum("ijab,klib->jkla", x92, x98) - del x98 - del x92 - x105 += einsum("ijka->kjia", x99) - del x99 - x94 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x94 -= einsum("iajb->jiab", v.aaaa.ovov) - x94 += einsum("iajb->jiba", v.aaaa.ovov) - x95 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x95 += einsum("ijab,ikcb->jkac", t2.aaaa, x94) - x96 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x96 -= einsum("ijab,kica->jkbc", t2.aaaa, x95) - x123 -= einsum("ijab->ijab", x96) - del x96 - x129 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x129 -= einsum("ijab,kicb->jkac", t2.aaaa, x95) - del x95 - x133 += einsum("ijab->jiba", x129) - del x129 - x127 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x127 += einsum("ijab,ikca->jkbc", t2.aaaa, x94) - del x94 - x128 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x128 -= einsum("ijab,kica->jkbc", t2.aaaa, x127) - del x127 - x133 += einsum("ijab->ijab", x128) - del x128 - x97 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x97 += einsum("ijab,kljb->ikla", t2.abab, v.aabb.ooov) - x105 += einsum("ijka->jika", x97) - del x97 - x100 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x100 += einsum("iajb->jiab", v.aaaa.ovov) - x100 -= einsum("iajb->jiba", v.aaaa.ovov) - x101 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x101 += einsum("ia,ijab->jb", t1.aa, x100) - x102 -= einsum("ia->ia", x101) - x300 -= einsum("ia->ia", x101) - del x101 - x229 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x229 += einsum("ijab,ikac->kjcb", t2.abab, x100) - x230 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x230 -= einsum("ijab,ikac->kjcb", t2.abab, x229) - del x229 - t2new_bbbb = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - t2new_bbbb -= einsum("ijab->ijba", x230) - t2new_bbbb += einsum("ijab->jiba", x230) - del x230 - x311 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x311 -= einsum("wia,ijab->wjb", u11.aa, x100) - del x100 - s2new = np.zeros((nbos, nbos), dtype=types[float]) - s2new += einsum("wia,xia->xw", u11.aa, x311) - del x311 - x102 += einsum("ia->ia", f.aa.ov) - x103 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x103 += einsum("ia,jkab->jkib", x102, t2.aaaa) - x105 += einsum("ijka->kjia", x103) - del x103 - x107 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x107 += einsum("ia,ja->ij", t1.aa, x102) - del x102 - x108 += einsum("ij->ij", x107) - del x107 - x105 -= einsum("ijak->ijka", v.aaaa.oovo) - x106 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x106 += einsum("ia,ijkb->jkab", t1.aa, x105) - del x105 - x123 += einsum("ijab->ijab", x106) - del x106 - x108 += einsum("ij->ji", f.aa.oo) - x109 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x109 += einsum("ij,jkab->kiab", x108, t2.aaaa) - del x108 - x123 += einsum("ijab->jiba", x109) - del x109 - x110 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x110 += einsum("ia,wba->wib", t1.aa, g.aa.bvv) - x114 += einsum("wia->wia", x110) - del x110 - x111 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x111 += einsum("wia,jiba->wjb", g.bb.bov, t2.abab) - x114 += einsum("wia->wia", x111) - del x111 - x114 += einsum("wai->wia", g.aa.bvo) - x115 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x115 += einsum("wia,wjb->ijab", u11.aa, x114) - x123 += einsum("ijab->jiba", x115) - del x115 - x296 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x296 += einsum("wia,wjb->jiba", u11.bb, x114) - del x114 - t2new_baba += einsum("ijab->jiba", x296) - t2new_abab += einsum("ijab->ijab", x296) - del x296 - x116 += einsum("ab->ab", f.aa.vv) - x117 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x117 += einsum("ab,ijbc->ijca", x116, t2.aaaa) - del x116 - x123 -= einsum("ijab->jiba", x117) - del x117 - x118 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x118 += einsum("wia,wib->ab", g.aa.bov, u11.aa) - x119 += einsum("ab->ab", x118) - x120 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x120 += einsum("ab,ijac->ijcb", x119, t2.aaaa) - del x119 - x123 -= einsum("ijab->jiab", x120) - del x120 - t2new_aaaa += einsum("ijab->ijab", x123) - t2new_aaaa -= einsum("ijab->ijba", x123) - t2new_aaaa -= einsum("ijab->jiab", x123) - t2new_aaaa += einsum("ijab->jiba", x123) - del x123 - x280 += einsum("ab->ba", x118) * -1 - x321 += einsum("ab->ba", x118) * -1 - del x118 - x130 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x130 -= einsum("iajb->jiab", v.bbbb.ovov) - x130 += einsum("iajb->jiba", v.bbbb.ovov) - x131 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x131 += einsum("ijab,jkcb->ikac", t2.abab, x130) - x132 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x132 -= einsum("ijab,kjcb->ikac", t2.abab, x131) - del x131 - x133 += einsum("ijab->ijab", x132) - del x132 - t2new_aaaa += einsum("ijab->ijab", x133) - t2new_aaaa -= einsum("ijab->ijba", x133) - del x133 - x152 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x152 += einsum("ijab,ikcb->jkac", t2.bbbb, x130) - x153 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x153 -= einsum("ijab,kica->jkbc", t2.bbbb, x152) - x180 -= einsum("ijab->ijab", x153) - del x153 - x186 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x186 -= einsum("ijab,kicb->jkac", t2.bbbb, x152) - del x152 - x187 += einsum("ijab->ijab", x186) - del x186 - x158 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x158 += einsum("ia,ijba->jb", t1.bb, x130) - x159 -= einsum("ia->ia", x158) - x301 -= einsum("ia->ia", x158) - del x158 - x184 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x184 += einsum("ijab,ikca->jkbc", t2.bbbb, x130) - x185 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x185 -= einsum("ijab,kica->jkbc", t2.bbbb, x184) - del x184 - x187 += einsum("ijab->jiba", x185) - del x185 - t2new_bbbb += einsum("ijab->ijab", x187) - t2new_bbbb -= einsum("ijab->ijba", x187) - del x187 - x312 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x312 -= einsum("wia,ijba->wjb", u11.bb, x130) - del x130 - s2new += einsum("wia,xia->xw", u11.bb, x312) - del x312 - x134 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x134 += einsum("ijab,ikjl->klab", t2.aaaa, v.aaaa.oooo) - x136 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x136 += einsum("ijab->jiba", x134) - del x134 - x135 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x135 += einsum("ijab,cadb->ijcd", t2.aaaa, v.aaaa.vvvv) - x136 += einsum("ijab->jiba", x135) - del x135 - t2new_aaaa += einsum("ijab->ijba", x136) * -1 - t2new_aaaa += einsum("ijab->ijab", x136) - del x136 - x137 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x137 += einsum("ia,jkil->jkla", t1.aa, v.aaaa.oooo) - x138 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x138 += einsum("ia,ijkb->jkab", t1.aa, x137) - del x137 - x145 += einsum("ijab->ijab", x138) - del x138 - x139 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x139 += einsum("ia,bacd->icbd", t1.aa, v.aaaa.vvvv) - x140 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x140 += einsum("ia,jbca->ijbc", t1.aa, x139) - del x139 - x145 += einsum("ijab->ijab", x140) - del x140 - x142 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x142 += einsum("ijab,kalb->ijkl", t2.aaaa, v.aaaa.ovov) - x143 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x143 += einsum("ijab->jiba", t2.aaaa) - x143 += einsum("ia,jb->ijab", t1.aa, t1.aa) - x144 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x144 += einsum("ijkl,klab->ijab", x142, x143) - del x142 - del x143 - x145 += einsum("ijab->jiba", x144) - del x144 - t2new_aaaa += einsum("ijab->ijab", x145) - t2new_aaaa += einsum("ijab->ijba", x145) * -1 - del x145 - x146 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x146 += einsum("ia,bjca->ijbc", t1.bb, v.bbbb.vovv) - x180 -= einsum("ijab->ijab", x146) - del x146 - x147 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x147 += einsum("ijab,iack->jkbc", t2.abab, v.aabb.ovvo) - x180 += einsum("ijab->ijab", x147) - del x147 - x148 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x148 += einsum("ia,jbca->jibc", t1.bb, v.aabb.ovvv) - x149 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x149 += einsum("ijab,ikac->kjbc", t2.abab, x148) - x180 -= einsum("ijab->ijab", x149) - del x149 - x243 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x243 += einsum("ijab->ijab", x148) - x289 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x289 += einsum("ijab->ijab", x148) - del x148 - x150 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x150 -= einsum("ijab->jiab", t2.bbbb) - x150 += einsum("ijab->jiba", t2.bbbb) - x151 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x151 += einsum("ijab,ikcb->kjca", x150, x42) - del x42 - x180 -= einsum("ijab->jiba", x151) - del x151 - x169 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x169 += einsum("wia,ijba->wjb", g.bb.bov, x150) - del x150 - x171 -= einsum("wia->wia", x169) - del x169 - x154 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x154 += einsum("ijab,iakl->jklb", t2.abab, v.aabb.ovoo) - x162 += einsum("ijka->jika", x154) - del x154 - x156 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x156 += einsum("ijab->jiab", t2.bbbb) - x156 -= einsum("ijab->jiba", t2.bbbb) - x157 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x157 += einsum("ijka,klab->ijlb", x155, x156) - del x155 - x162 += einsum("ijka->jika", x157) - del x157 - x159 += einsum("ia->ia", f.bb.ov) - x160 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x160 += einsum("ia,jkab->jkib", x159, t2.bbbb) - x162 += einsum("ijka->kjia", x160) - del x160 - x164 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x164 += einsum("ia,ja->ij", t1.bb, x159) - del x159 - x165 += einsum("ij->ij", x164) - del x164 - x162 -= einsum("ijak->ijka", v.bbbb.oovo) - x163 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x163 += einsum("ia,ijkb->jkab", t1.bb, x162) - del x162 - x180 += einsum("ijab->ijab", x163) - del x163 - x165 += einsum("ij->ji", f.bb.oo) - x166 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x166 += einsum("ij,jkab->kiab", x165, t2.bbbb) - del x165 - x180 += einsum("ijab->jiba", x166) - del x166 - x167 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x167 += einsum("ia,wba->wib", t1.bb, g.bb.bvv) - x171 += einsum("wia->wia", x167) - del x167 - x168 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x168 += einsum("wia,ijab->wjb", g.aa.bov, t2.abab) - x171 += einsum("wia->wia", x168) - del x168 - x171 += einsum("wai->wia", g.bb.bvo) - x172 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x172 += einsum("wia,wjb->ijab", u11.bb, x171) - x180 += einsum("ijab->jiba", x172) - del x172 - x295 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x295 += einsum("wia,wjb->ijab", u11.aa, x171) - del x171 - t2new_baba += einsum("ijab->jiba", x295) - t2new_abab += einsum("ijab->ijab", x295) - del x295 - x173 += einsum("ab->ab", f.bb.vv) - x174 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x174 += einsum("ab,ijbc->ijca", x173, t2.bbbb) - del x173 - x180 -= einsum("ijab->jiba", x174) - del x174 - x175 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x175 += einsum("wia,wib->ab", g.bb.bov, u11.bb) - x176 += einsum("ab->ab", x175) - x177 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x177 += einsum("ab,ijac->ijcb", x176, t2.bbbb) - del x176 - x180 -= einsum("ijab->jiab", x177) - del x177 - t2new_bbbb += einsum("ijab->ijab", x180) - t2new_bbbb -= einsum("ijab->ijba", x180) - t2new_bbbb -= einsum("ijab->jiab", x180) - t2new_bbbb += einsum("ijab->jiba", x180) - del x180 - x277 += einsum("ab->ba", x175) * -1 - x327 += einsum("ab->ba", x175) * -1 - del x175 - x188 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x188 += einsum("ia,jkla->ijlk", t1.bb, v.bbbb.ooov) - x189 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x189 += einsum("ijab,kijl->klab", t2.bbbb, x188) - x219 += einsum("ijab->ijab", x189) - del x189 - x196 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x196 += einsum("ia,jkil->jkla", t1.bb, x188) - del x188 - x205 += einsum("ijka->ijka", x196) - del x196 - x190 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x190 += einsum("ijab,iajc->bc", t2.abab, v.aabb.ovov) - x191 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x191 += einsum("ab,ijbc->jiac", x190, t2.bbbb) - x219 += einsum("ijab->ijab", x191) * -1 - del x191 - x277 += einsum("ab->ab", x190) * -1 - x327 += einsum("ab->ab", x190) * -1 - del x190 - x197 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x197 += einsum("ijab,kbca->jikc", t2.bbbb, v.bbbb.ovvv) - x205 += einsum("ijka->ikja", x197) - del x197 - x198 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x198 += einsum("ia,jbca->ijcb", t1.bb, v.bbbb.ovvv) - x199 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x199 += einsum("ia,jkba->ijkb", t1.bb, x198) - del x198 - x205 += einsum("ijka->ikja", x199) - del x199 - x202 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x202 += einsum("ijka->ikja", v.bbbb.ooov) - x202 += einsum("ijka->kija", v.bbbb.ooov) * -1 - x213 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x213 += einsum("ia,jika->jk", t1.bb, x202) - x214 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x214 += einsum("ij->ij", x213) * -1 - del x213 - x203 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x203 += einsum("ijab->jiab", t2.bbbb) - x203 += einsum("ijab->jiba", t2.bbbb) * -1 - x204 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x204 += einsum("ijka,jlab->iklb", x202, x203) - del x202 - del x203 - x205 += einsum("ijka->kija", x204) - del x204 - x206 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x206 += einsum("ia,jikb->jkab", t1.bb, x205) - del x205 - x219 += einsum("ijab->ijab", x206) - del x206 - x207 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x207 += einsum("iajb->jiab", v.bbbb.ovov) - x207 += einsum("iajb->jiba", v.bbbb.ovov) * -1 - x208 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x208 += einsum("ijab,ijac->bc", t2.bbbb, x207) - x210 += einsum("ab->ab", x208) * -1 - del x208 - x211 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x211 += einsum("ab,ijbc->ijca", x210, t2.bbbb) - del x210 - x219 += einsum("ijab->jiab", x211) - del x211 - x212 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x212 += einsum("ijab,ikba->jk", t2.bbbb, x207) - x214 += einsum("ij->ji", x212) * -1 - del x212 - x215 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x215 += einsum("ij,ikab->jkab", x214, t2.bbbb) - del x214 - x219 += einsum("ijab->jiba", x215) * -1 - del x215 - t2new_bbbb += einsum("ijab->ijab", x219) * -1 - t2new_bbbb += einsum("ijab->ijba", x219) - t2new_bbbb += einsum("ijab->jiab", x219) - t2new_bbbb += einsum("ijab->jiba", x219) * -1 - del x219 - x276 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x276 += einsum("ijab,ijca->bc", t2.bbbb, x207) - del x207 - x277 += einsum("ab->ab", x276) * -1 - x327 += einsum("ab->ab", x276) * -1 - del x276 - x220 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x220 += einsum("ia,bcda->ibdc", t1.bb, v.bbbb.vvvv) - x221 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x221 += einsum("ia,jbca->ijbc", t1.bb, x220) - del x220 - x228 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x228 += einsum("ijab->ijab", x221) - del x221 - x222 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x222 += einsum("ijab,kbla->ijlk", t2.bbbb, v.bbbb.ovov) - x223 += einsum("ijkl->jilk", x222) - x224 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x224 += einsum("ijab,klji->klab", t2.bbbb, x223) - del x223 - x228 += einsum("ijab->jiab", x224) - del x224 - x225 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x225 += einsum("ijkl->lkji", x222) - del x222 - x225 += einsum("ijkl->kilj", v.bbbb.oooo) - x226 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x226 += einsum("ia,ijkl->jkla", t1.bb, x225) - del x225 - x227 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x227 += einsum("ia,ijkb->kjba", t1.bb, x226) - del x226 - x228 += einsum("ijab->jiab", x227) - del x227 - t2new_bbbb += einsum("ijab->ijab", x228) - t2new_bbbb += einsum("ijab->ijba", x228) * -1 - del x228 - x231 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x231 += einsum("ijab,ikjl->lkba", t2.bbbb, v.bbbb.oooo) - x233 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x233 += einsum("ijab->jiba", x231) - del x231 - x232 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x232 += einsum("ijab,cadb->ijcd", t2.bbbb, v.bbbb.vvvv) - x233 += einsum("ijab->jiba", x232) - del x232 - t2new_bbbb += einsum("ijab->ijba", x233) * -1 - t2new_bbbb += einsum("ijab->ijab", x233) - del x233 - x234 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x234 += einsum("ia,bacj->ijbc", t1.aa, v.aabb.vvvo) - t2new_baba += einsum("ijab->jiba", x234) - t2new_abab += einsum("ijab->ijab", x234) - del x234 - x235 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x235 += einsum("ijab,cadb->ijcd", t2.abab, v.aabb.vvvv) - t2new_baba += einsum("ijab->jiba", x235) - t2new_abab += einsum("ijab->ijab", x235) - del x235 - x238 += einsum("iabj->jiba", v.bbaa.ovvo) - t2new_baba += einsum("ijab,kicb->jkac", x156, x238) - del x156 - t2new_abab += einsum("ijab,jkcb->ikac", x238, x41) * -1 - del x238 - x241 += einsum("iabj->ijba", v.aaaa.ovvo) - x241 += einsum("ijab->ijab", v.aaaa.oovv) * -1 - x242 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x242 += einsum("ijab,ikca->kjcb", t2.abab, x241) - del x241 - t2new_baba += einsum("ijab->jiba", x242) - t2new_abab += einsum("ijab->ijab", x242) - del x242 - x243 += einsum("iabj->ijab", v.aabb.ovvo) - x244 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x244 += einsum("ijab,ikac->jkbc", x10, x243) - del x243 - t2new_baba -= einsum("ijab->jiba", x244) - t2new_abab -= einsum("ijab->ijab", x244) - del x244 - x245 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x245 += einsum("iabc->ibac", v.bbbb.ovvv) - x245 -= einsum("iabc->ibca", v.bbbb.ovvv) - x246 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x246 += einsum("ia,jbac->jibc", t1.bb, x245) - del x245 - x247 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x247 -= einsum("ijab->ijab", x246) - del x246 - x247 += einsum("iabj->ijba", v.bbbb.ovvo) - x247 -= einsum("ijab->ijab", v.bbbb.oovv) - x248 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x248 += einsum("ijab,jkcb->ikac", t2.abab, x247) - del x247 - t2new_baba += einsum("ijab->jiba", x248) - t2new_abab += einsum("ijab->ijab", x248) - del x248 - x249 = np.zeros((nocc[0], nocc[0], nvir[1], nvir[1]), dtype=types[float]) - x249 += einsum("ia,jabc->ijbc", t1.aa, v.aabb.ovvv) - x251 = np.zeros((nocc[0], nocc[0], nvir[1], nvir[1]), dtype=types[float]) - x251 += einsum("ijab->jiab", x249) - del x249 - x250 = np.zeros((nocc[0], nocc[0], nvir[1], nvir[1]), dtype=types[float]) - x250 += einsum("ijab,kajc->ikbc", t2.abab, v.aabb.ovov) - x251 -= einsum("ijab->jiab", x250) - del x250 - x251 += einsum("ijab->ijab", v.aabb.oovv) - x252 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x252 += einsum("ijab,ikcb->kjac", t2.abab, x251) - del x251 - t2new_baba -= einsum("ijab->jiba", x252) - t2new_abab -= einsum("ijab->ijab", x252) - del x252 - x253 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x253 += einsum("ia,jkla->jkil", t1.bb, v.aabb.ooov) - x257 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x257 += einsum("ijkl->ijlk", x253) - x270 += einsum("ijkl->ijlk", x253) - del x253 - x254 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x254 += einsum("ijab,kalb->ikjl", t2.abab, v.aabb.ovov) - x257 += einsum("ijkl->jilk", x254) - x270 += einsum("ijkl->jilk", x254) - del x254 - x255 += einsum("iajk->ijka", v.aabb.ovoo) - x256 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x256 += einsum("ia,jkla->jikl", t1.aa, x255) - del x255 - x257 += einsum("ijkl->ijkl", x256) - del x256 - x257 += einsum("ijkl->ijkl", v.aabb.oooo) - x258 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x258 += einsum("ijab,ikjl->klab", t2.abab, x257) - del x257 - t2new_baba += einsum("ijab->jiba", x258) - t2new_abab += einsum("ijab->ijab", x258) - del x258 - x259 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x259 += einsum("ia,jabc->ijbc", t1.bb, v.bbaa.ovvv) - x260 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x260 += einsum("ijab->jiab", x259) - x272 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x272 += einsum("ijab->jiab", x259) - del x259 - x260 += einsum("ijab->ijab", v.bbaa.oovv) - x261 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x261 += einsum("ijab,jkca->ikcb", t2.abab, x260) - del x260 - t2new_baba -= einsum("ijab->jiba", x261) - t2new_abab -= einsum("ijab->ijab", x261) - del x261 - x262 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x262 += einsum("ia,jabk->kijb", t1.bb, v.bbaa.ovvo) - x274 += einsum("ijka->ikja", x262) - del x262 - x263 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x263 += einsum("ijab,kbca->ijkc", t2.abab, v.bbaa.ovvv) - x274 += einsum("ijka->ikja", x263) - del x263 - x264 += einsum("ijka->ikja", v.bbbb.ooov) * -1 - x264 += einsum("ijka->kija", v.bbbb.ooov) - x265 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x265 += einsum("ijab,kjlb->ikla", t2.abab, x264) - del x264 - x274 += einsum("ijka->ijka", x265) * -1 - del x265 - x270 += einsum("ijkl->ijkl", v.aabb.oooo) - x271 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x271 += einsum("ia,ijkl->jkla", t1.aa, x270) - del x270 - x274 += einsum("ijka->ijka", x271) * -1 - del x271 - x272 += einsum("ijab->ijab", v.bbaa.oovv) - x273 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x273 += einsum("ia,jkba->ijkb", t1.aa, x272) - del x272 - x274 += einsum("ijka->ijka", x273) - del x273 - x274 += einsum("ijak->kija", v.bbaa.oovo) - x275 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x275 += einsum("ia,jikb->jkba", t1.bb, x274) - del x274 - t2new_baba += einsum("ijab->jiba", x275) * -1 - t2new_abab += einsum("ijab->ijab", x275) * -1 - del x275 - x277 += einsum("ab->ab", f.bb.vv) - x278 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x278 += einsum("ab,ijcb->ijca", x277, t2.abab) - del x277 - t2new_baba += einsum("ijab->jiba", x278) - t2new_abab += einsum("ijab->ijab", x278) - del x278 - x280 += einsum("ab->ab", f.aa.vv) - x281 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x281 += einsum("ab,ijbc->ijac", x280, t2.abab) - del x280 - t2new_baba += einsum("ijab->jiba", x281) - t2new_abab += einsum("ijab->ijab", x281) - del x281 - x282 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x282 += einsum("ia,jkba->jkib", t1.bb, v.aabb.oovv) - x291 += einsum("ijka->ijka", x282) - del x282 - x283 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x283 += einsum("ijab,kacb->ikjc", t2.abab, v.aabb.ovvv) - x291 += einsum("ijka->jika", x283) - del x283 - x284 += einsum("ijka->ikja", v.aaaa.ooov) - x284 += einsum("ijka->kija", v.aaaa.ooov) * -1 - x285 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x285 += einsum("ijab,ikla->kljb", t2.abab, x284) - del x284 - x291 += einsum("ijka->ijka", x285) * -1 - del x285 - x289 += einsum("iabj->ijab", v.aabb.ovvo) - x290 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x290 += einsum("ia,jkab->jikb", t1.aa, x289) - del x289 - x291 += einsum("ijka->ijka", x290) - del x290 - x291 += einsum("ijak->ijka", v.aabb.oovo) - x292 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x292 += einsum("ia,ijkb->jkab", t1.aa, x291) - del x291 - t2new_baba += einsum("ijab->jiba", x292) * -1 - t2new_abab += einsum("ijab->ijab", x292) * -1 - del x292 - x297 = np.zeros((nocc[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) - x297 += einsum("ia,bacd->ibcd", t1.aa, v.aabb.vvvv) - x298 = np.zeros((nocc[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) - x298 += einsum("iabc->iabc", x297) - del x297 - x298 += einsum("aibc->iabc", v.aabb.vovv) - x299 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x299 += einsum("ia,jbca->jibc", t1.bb, x298) - del x298 - t2new_baba += einsum("ijab->jiba", x299) - t2new_abab += einsum("ijab->ijab", x299) - del x299 - x300 += einsum("ia->ia", f.aa.ov) - s1new += einsum("ia,wia->w", x300, u11.aa) - del x300 - x301 += einsum("ia->ia", f.bb.ov) - s1new += einsum("ia,wia->w", x301, u11.bb) - del x301 - x302 = np.zeros((nbos, nbos), dtype=types[float]) - x302 += einsum("wia,xia->wx", gc.aa.bov, u11.aa) - x310 = np.zeros((nbos, nbos), dtype=types[float]) - x310 += einsum("wx->wx", x302) - del x302 - x303 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x303 += einsum("wia,iajb->wjb", u11.aa, v.aabb.ovov) - x304 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x304 += einsum("wia->wia", x303) - x319 += einsum("wia->wia", x303) - del x303 - x304 += einsum("wia->wia", gc.bb.bov) - x305 = np.zeros((nbos, nbos), dtype=types[float]) - x305 += einsum("wia,xia->xw", u11.bb, x304) - del x304 - x310 += einsum("wx->wx", x305) - del x305 - x306 = np.zeros((nbos, nbos), dtype=types[float]) - x306 += einsum("wia,xia->wx", g.aa.bov, u11.aa) - x308 = np.zeros((nbos, nbos), dtype=types[float]) - x308 += einsum("wx->wx", x306) - del x306 - x307 = np.zeros((nbos, nbos), dtype=types[float]) - x307 += einsum("wia,xia->wx", g.bb.bov, u11.bb) - x308 += einsum("wx->wx", x307) - del x307 - x308 += einsum("wx->wx", w) - x309 = np.zeros((nbos, nbos), dtype=types[float]) - x309 += einsum("wx,wy->xy", s2, x308) - x310 += einsum("wx->wx", x309) - del x309 - s2new += einsum("wx->wx", x310) - s2new += einsum("wx->xw", x310) - del x310 - u11new_aa += einsum("wx,wia->xia", x308, u11.aa) - u11new_bb += einsum("wx,wia->xia", x308, u11.bb) - del x308 - x313 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x313 += einsum("wx,xia->wia", s2, g.aa.bov) - x316 += einsum("wia->wia", x313) - del x313 - x314 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x314 += einsum("wia,jbia->wjb", u11.bb, v.aabb.ovov) - x316 += einsum("wia->wia", x314) - del x314 - x316 += einsum("wia->wia", gc.aa.bov) - x323 += einsum("ia,wja->wji", t1.aa, x316) - u11new_aa += einsum("wia,ijab->wjb", x316, x10) * -1 - del x10 - u11new_bb += einsum("wia,ijab->wjb", x316, t2.abab) - del x316 - x317 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x317 += einsum("wx,xia->wia", s2, g.bb.bov) - x319 += einsum("wia->wia", x317) - del x317 - x319 += einsum("wia->wia", gc.bb.bov) - x329 += einsum("ia,wja->wji", t1.bb, x319) - u11new_aa += einsum("wia,jiba->wjb", x319, t2.abab) - u11new_bb += einsum("wia,ijba->wjb", x319, x41) * -1 - del x41 - del x319 - x321 += einsum("ab->ab", f.aa.vv) - u11new_aa += einsum("ab,wib->wia", x321, u11.aa) - del x321 - x322 += einsum("ia->ia", f.aa.ov) - x323 += einsum("ia,wja->wij", x322, u11.aa) - del x322 - x323 += einsum("wij->wij", gc.aa.boo) - x323 += einsum("wx,xij->wij", s2, g.aa.boo) - x323 += einsum("wia,jkia->wjk", u11.bb, v.aabb.ooov) - u11new_aa += einsum("ia,wij->wja", t1.aa, x323) * -1 - del x323 - x324 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x324 += einsum("iabc->ibac", v.aaaa.ovvv) - x324 -= einsum("iabc->ibca", v.aaaa.ovvv) - x325 = np.zeros((nbos, nvir[0], nvir[0]), dtype=types[float]) - x325 -= einsum("wia,ibca->wbc", u11.aa, x324) - del x324 - x325 += einsum("wab->wab", gc.aa.bvv) - x325 += einsum("wx,xab->wab", s2, g.aa.bvv) - x325 += einsum("wia,iabc->wbc", u11.bb, v.bbaa.ovvv) - u11new_aa += einsum("ia,wba->wib", t1.aa, x325) - del x325 - x327 += einsum("ab->ab", f.bb.vv) - u11new_bb += einsum("ab,wib->wia", x327, u11.bb) - del x327 - x328 += einsum("ia->ia", f.bb.ov) - x329 += einsum("ia,wja->wij", x328, u11.bb) - del x328 - x329 += einsum("wij->wij", gc.bb.boo) - x329 += einsum("wx,xij->wij", s2, g.bb.boo) - x329 += einsum("wia,iajk->wjk", u11.aa, v.aabb.ovoo) - u11new_bb += einsum("ia,wij->wja", t1.bb, x329) * -1 - del x329 - x330 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x330 -= einsum("iabc->ibac", v.bbbb.ovvv) - x330 += einsum("iabc->ibca", v.bbbb.ovvv) - x331 = np.zeros((nbos, nvir[1], nvir[1]), dtype=types[float]) - x331 -= einsum("wia,ibac->wbc", u11.bb, x330) - del x330 - x331 += einsum("wab->wab", gc.bb.bvv) - x331 += einsum("wx,xab->wab", s2, g.bb.bvv) - x331 += einsum("wia,iabc->wbc", u11.aa, v.aabb.ovvv) - u11new_bb += einsum("ia,wba->wib", t1.bb, x331) - del x331 - t1new_aa += einsum("ijab,jbca->ic", t2.abab, v.bbaa.ovvv) - t1new_aa += einsum("wab,wib->ia", g.aa.bvv, u11.aa) - t1new_aa += einsum("ia,iabj->jb", t1.bb, v.bbaa.ovvo) - t1new_aa += einsum("ai->ia", f.aa.vo) - t1new_aa += einsum("w,wai->ia", s1, g.aa.bvo) - t1new_bb += einsum("ia,iabj->jb", t1.aa, v.aabb.ovvo) - t1new_bb += einsum("ijab,iacb->jc", t2.abab, v.aabb.ovvv) - t1new_bb += einsum("ai->ia", f.bb.vo) - t1new_bb += einsum("wab,wib->ia", g.bb.bvv, u11.bb) - t1new_bb += einsum("w,wai->ia", s1, g.bb.bvo) - t2new_aaaa -= einsum("aibj->jiab", v.aaaa.vovo) - t2new_aaaa += einsum("aibj->jiba", v.aaaa.vovo) - t2new_bbbb -= einsum("aibj->jiab", v.bbbb.vovo) - t2new_bbbb += einsum("aibj->jiba", v.bbbb.vovo) - t2new_baba += einsum("aibj->jiba", v.aabb.vovo) - t2new_abab += einsum("aibj->ijab", v.aabb.vovo) - s1new += einsum("ia,wia->w", t1.aa, gc.aa.bov) - s1new += einsum("w,wx->x", s1, w) - s1new += einsum("ia,wia->w", t1.bb, gc.bb.bov) - s1new += einsum("w->w", G) - u11new_aa += einsum("wx,xai->wia", s2, g.aa.bvo) - u11new_aa += einsum("wia,iabj->wjb", u11.bb, v.bbaa.ovvo) - u11new_aa += einsum("wai->wia", gc.aa.bvo) - u11new_bb += einsum("wia,iabj->wjb", u11.aa, v.aabb.ovvo) - u11new_bb += einsum("wx,xai->wia", s2, g.bb.bvo) - u11new_bb += einsum("wai->wia", gc.bb.bvo) - - t1new.aa = t1new_aa - t1new.bb = t1new_bb - t2new.abab = t2new_abab - t2new.baba = t2new_baba - t2new.aaaa = t2new_aaaa - t2new.bbbb = t2new_bbbb - u11new.aa = u11new_aa - u11new.bb = u11new_bb - - return {"t1new": t1new, "t2new": t2new, "s1new": s1new, "s2new": s2new, "u11new": u11new} - -def update_lams(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, s2=None, u11=None, l1=None, l2=None, ls1=None, ls2=None, lu11=None, **kwargs): - l1new = Namespace() - l2new = Namespace() - lu11new = Namespace() - - # Get boson coupling creation array: - gc = Namespace( - aa = Namespace( - boo=g.aa.boo.transpose(0, 2, 1), - bov=g.aa.bvo.transpose(0, 2, 1), - bvo=g.aa.bov.transpose(0, 2, 1), - bvv=g.aa.bvv.transpose(0, 2, 1), - ), - bb = Namespace( - boo=g.bb.boo.transpose(0, 2, 1), - bov=g.bb.bvo.transpose(0, 2, 1), - bvo=g.bb.bov.transpose(0, 2, 1), - bvv=g.bb.bvv.transpose(0, 2, 1), - ), - ) - - # L1, L2, LS1 , LS2 and LU11 amplitudes - x0 = np.zeros((nocc[0], nocc[0], nvir[1], nvir[1]), dtype=types[float]) - x0 += einsum("abij,kjac->ikbc", l2.abab, t2.abab) - l1new_aa = np.zeros((nvir[0], nocc[0]), dtype=types[float]) - l1new_aa += einsum("iabc,jibc->aj", v.aabb.ovvv, x0) * -1 - del x0 - x1 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x1 += einsum("ia,bajk->jkib", t1.bb, l2.abab) - x3 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x3 += einsum("ia,jkla->jikl", t1.aa, x1) - x68 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x68 += einsum("ijkl->ijkl", x3) - x476 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x476 += einsum("ijkl->ijkl", x3) - l1new_aa += einsum("iajk,likj->al", v.aabb.ovoo, x3) - l1new_bb = np.zeros((nvir[1], nocc[1]), dtype=types[float]) - l1new_bb += einsum("ijka,jilk->al", v.aabb.ooov, x3) - del x3 - x55 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x55 += einsum("ia,jikb->jkba", t1.bb, x1) - x69 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x69 += einsum("ijab,kjla->kilb", t2.abab, x1) - x180 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x180 += einsum("ijab,ijka->kb", t2.abab, x1) - x190 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x190 += einsum("ia->ia", x180) - del x180 - x262 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x262 += einsum("ijab,ikla->kjlb", t2.abab, x1) - x303 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x303 += einsum("iajk,lkjb->liba", v.aabb.ovoo, x1) - x342 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x342 -= einsum("ijab->ijab", x303) - del x303 - x444 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x444 += einsum("iabc,jkib->jkca", v.bbaa.ovvv, x1) - l2new_baba = np.zeros((nvir[1], nvir[0], nocc[1], nocc[0]), dtype=types[float]) - l2new_baba -= einsum("ijab->baji", x444) - l2new_abab = np.zeros((nvir[0], nvir[1], nocc[0], nocc[1]), dtype=types[float]) - l2new_abab -= einsum("ijab->abij", x444) - del x444 - l1new_aa -= einsum("ijab,kjia->bk", v.bbaa.oovv, x1) - x2 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x2 += einsum("abij,klab->ikjl", l2.abab, t2.abab) - x68 += einsum("ijkl->ijkl", x2) - x69 += einsum("ia,jkil->jkla", t1.bb, x68) - x267 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x267 += einsum("ia,ijkl->jkla", t1.aa, x68) - del x68 - x476 += einsum("ijkl->ijkl", x2) - x477 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x477 += einsum("iajb,kilj->klab", v.aabb.ovov, x476) - del x476 - l2new_baba += einsum("ijab->baji", x477) - l2new_abab += einsum("ijab->abij", x477) - del x477 - l1new_aa += einsum("iajk,likj->al", v.aabb.ovoo, x2) - l1new_bb += einsum("ijka,jilk->al", v.aabb.ooov, x2) - del x2 - x4 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x4 += einsum("ai,ja->ij", l1.aa, t1.aa) - x167 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x167 += einsum("ij->ij", x4) - x220 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x220 += einsum("ij->ij", x4) - x335 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x335 += einsum("ij->ij", x4) - x5 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x5 += einsum("w,wia->ia", s1, g.aa.bov) - x6 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x6 += einsum("ia->ia", x5) - x38 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x38 += einsum("ia->ia", x5) - x322 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x322 += einsum("ia->ia", x5) - x512 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x512 += einsum("ia->ia", x5) - l1new_aa -= einsum("ij,ja->ai", x4, x5) - del x4 - del x5 - x6 += einsum("ia->ia", f.aa.ov) - x7 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x7 += einsum("ia,jkab->jkib", x6, t2.aaaa) - del x6 - x8 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x8 += einsum("ijka->kjia", x7) - del x7 - x8 += einsum("ijak->ijka", v.aaaa.oovo) * -1 - x33 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x33 += einsum("ijka->jika", x8) * -1 - x33 += einsum("ijka->kija", x8) - del x8 - x9 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x9 += einsum("ijab,kacb->ijkc", t2.aaaa, v.aaaa.ovvv) - x22 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x22 += einsum("ijka->ijka", x9) * -1 - del x9 - x10 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x10 += einsum("ia,jabc->ijbc", t1.aa, v.aaaa.ovvv) - x11 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x11 += einsum("ia,jkba->jikb", t1.aa, x10) - del x10 - x22 += einsum("ijka->ijka", x11) * -1 - del x11 - x12 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x12 += einsum("ia,jbia->jb", t1.bb, v.aabb.ovov) - x15 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x15 += einsum("ia->ia", x12) - x38 += einsum("ia->ia", x12) - x221 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x221 += einsum("ia->ia", x12) - x341 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x341 += einsum("ia->ia", x12) - x512 += einsum("ia->ia", x12) - del x12 - x13 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x13 += einsum("iajb->jiab", v.aaaa.ovov) * -1 - x13 += einsum("iajb->jiba", v.aaaa.ovov) - x14 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x14 += einsum("ia,ijba->jb", t1.aa, x13) - x15 += einsum("ia->ia", x14) * -1 - x16 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x16 += einsum("ia,jkab->jkib", x15, t2.aaaa) - x22 += einsum("ijka->jika", x16) - del x16 - x351 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x351 += einsum("ia,ja->ij", t1.aa, x15) - x352 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x352 += einsum("ij->ij", x351) - del x351 - x38 += einsum("ia->ia", x14) * -1 - x221 += einsum("ia->ia", x14) * -1 - del x14 - x198 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x198 += einsum("wia,ijba->wjb", u11.aa, x13) - x199 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x199 += einsum("wia->wia", x198) * -1 - x211 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x211 += einsum("wia->wia", x198) * -1 - del x198 - x453 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x453 += einsum("ijab,ikca->kjcb", t2.abab, x13) - x455 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x455 += einsum("ijab->ijab", x453) * -1 - del x453 - x17 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x17 += einsum("ijab,kbla->ijlk", t2.aaaa, v.aaaa.ovov) - x20 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x20 += einsum("ijkl->jilk", x17) - x368 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x368 += einsum("ijkl->jilk", x17) - del x17 - x18 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x18 += einsum("ia,jakb->ikjb", t1.aa, v.aaaa.ovov) - x19 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x19 += einsum("ia,jkla->ijkl", t1.aa, x18) - x20 += einsum("ijkl->ijkl", x19) - x21 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x21 += einsum("ia,jkil->jkla", t1.aa, x20) - del x20 - x22 += einsum("ijka->jika", x21) - del x21 - x33 += einsum("ijka->ikja", x22) * -1 - x33 += einsum("ijka->jkia", x22) - del x22 - x368 += einsum("ijkl->ijkl", x19) - del x19 - x369 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x369 += einsum("abij,ijkl->klab", l2.aaaa, x368) - del x368 - x370 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x370 += einsum("ijab->ijab", x369) - del x369 - x23 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x23 += einsum("ijka->ijka", x18) * -1 - x23 += einsum("ijka->ikja", x18) - x34 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x34 += einsum("ijka->jkia", x18) * -1 - x34 += einsum("ijka->kjia", x18) - x79 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x79 += einsum("ijka->jkia", x18) * -1 - x86 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x86 += einsum("ijka->jkia", x18) * -1 - x86 += einsum("ijka->kjia", x18) - x338 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x338 += einsum("ijka->ijka", x18) - x347 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x347 += einsum("ijka->ijka", x18) - x347 += einsum("ijka->ikja", x18) * -1 - x514 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x514 += einsum("ijka->ijka", x18) * -1 - x514 += einsum("ijka->ikja", x18) - del x18 - x23 += einsum("ijka->jika", v.aaaa.ooov) - x23 += einsum("ijka->jkia", v.aaaa.ooov) * -1 - x24 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x24 += einsum("ijab->jiab", t2.aaaa) * -1 - x24 += einsum("ijab->jiba", t2.aaaa) - x25 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x25 += einsum("ijka,jlba->iklb", x23, x24) - del x23 - x33 += einsum("ijka->ijka", x25) - x53 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x53 += einsum("ijka->ijka", x25) - del x25 - x60 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x60 += einsum("abij,ikba->jk", l2.aaaa, x24) - x61 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x61 += einsum("ij->ij", x60) * -1 - x167 += einsum("ij->ij", x60) * -1 - x209 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x209 += einsum("ij->ij", x60) * -1 - del x60 - x85 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x85 += einsum("iabc,ijca->jb", v.aaaa.ovvv, x24) - x120 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x120 += einsum("ia->ia", x85) * -1 - del x85 - x104 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x104 += einsum("iajb,ikba->kj", v.aaaa.ovov, x24) - x108 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x108 += einsum("ij->ji", x104) * -1 - del x104 - x448 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x448 += einsum("iajb,ikca->kjcb", v.aabb.ovov, x24) - x450 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x450 += einsum("ijab->ijab", x448) * -1 - del x448 - x26 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x26 += einsum("ia,jakb->ijkb", t1.aa, v.aabb.ovov) - x27 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x27 += einsum("ijka->jika", x26) - x508 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x508 += einsum("ijka->jika", x26) - x27 += einsum("ijka->ijka", v.aabb.ooov) - x28 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x28 += einsum("ijab,kljb->ikla", t2.abab, x27) - x33 += einsum("ijka->kjia", x28) - x53 += einsum("ijka->kjia", x28) - del x28 - x88 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x88 += einsum("ijab,ikjb->ka", t2.abab, x27) - x120 += einsum("ia->ia", x88) * -1 - del x88 - x250 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x250 += einsum("ijab,iklb->klja", t2.abab, x27) * -1 - x478 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x478 += einsum("ijka,likb->ljab", x1, x27) - l2new_baba += einsum("ijab->baji", x478) - l2new_abab += einsum("ijab->abij", x478) - del x478 - x29 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x29 += einsum("iabj->ijba", v.aaaa.ovvo) - x29 += einsum("ijab->ijab", v.aaaa.oovv) * -1 - x30 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x30 += einsum("ia,jkba->ijkb", t1.aa, x29) - x33 += einsum("ijka->ijka", x30) - x53 += einsum("ijka->ijka", x30) - del x30 - x96 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x96 += einsum("ia,ijba->jb", t1.aa, x29) - x120 += einsum("ia->ia", x96) - del x96 - x31 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x31 += einsum("ia,jkla->ijlk", t1.aa, v.aaaa.ooov) - x32 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x32 += einsum("ijkl->jkil", x31) - x32 += einsum("ijkl->kjil", x31) * -1 - x52 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x52 += einsum("ijkl->ijkl", x31) - x52 += einsum("ijkl->ikjl", x31) * -1 - x53 += einsum("ia,jikl->jkla", t1.aa, x52) * -1 - del x52 - l1new_aa += einsum("abij,jkib->ak", l2.aaaa, x53) - del x53 - x301 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x301 += einsum("abij,jkli->klba", l2.aaaa, x31) - del x31 - x342 -= einsum("ijab->ijab", x301) - del x301 - x32 += einsum("ijkl->kijl", v.aaaa.oooo) - x32 += einsum("ijkl->kilj", v.aaaa.oooo) * -1 - x33 += einsum("ia,ijkl->kjla", t1.aa, x32) * -1 - del x32 - l1new_aa += einsum("abij,jkia->bk", l2.aaaa, x33) * -1 - del x33 - x34 += einsum("ijka->ikja", v.aaaa.ooov) - x34 += einsum("ijka->kija", v.aaaa.ooov) * -1 - x46 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x46 += einsum("ijab,ikla->kljb", t2.abab, x34) * -1 - del x34 - x35 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x35 += einsum("ijab->jiab", t2.bbbb) * -1 - x35 += einsum("ijab->jiba", t2.bbbb) - x46 += einsum("ijka,klba->ijlb", x27, x35) * -1 - del x27 - x128 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x128 += einsum("iabc,ijca->jb", v.bbbb.ovvv, x35) - x158 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x158 += einsum("ia->ia", x128) * -1 - del x128 - x187 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x187 += einsum("abij,ikba->jk", l2.bbbb, x35) - x188 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x188 += einsum("ij->ij", x187) * -1 - x261 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x261 += einsum("ij->ij", x187) * -1 - x293 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x293 += einsum("ij->ij", x187) * -1 - del x187 - x194 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x194 += einsum("abij,ijbc->ac", l2.bbbb, x35) - x195 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x195 += einsum("ab->ab", x194) * -1 - x435 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x435 += einsum("ab->ab", x194) * -1 - x496 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x496 += einsum("ab->ab", x194) * -1 - del x194 - x454 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x454 += einsum("iajb,jkcb->ikac", v.aabb.ovov, x35) - x455 += einsum("ijab->ijab", x454) * -1 - del x454 - x36 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x36 += einsum("ia,jbka->jikb", t1.bb, v.aabb.ovov) - x37 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x37 += einsum("ijka->ikja", x36) - x41 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x41 += einsum("ijka->ikja", x36) - x304 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x304 += einsum("ijka,ljkb->ilab", x1, x36) - x342 -= einsum("ijab->ijab", x304) - del x304 - x510 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x510 += einsum("ijka->ikja", x36) - x37 += einsum("iajk->ijka", v.aabb.ovoo) - x46 += einsum("ijab,kjla->kilb", t2.abab, x37) * -1 - x132 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x132 += einsum("ijab,ijka->kb", t2.abab, x37) - x158 += einsum("ia->ia", x132) * -1 - del x132 - x242 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x242 += einsum("ijab,ikla->jklb", t2.abab, x37) - x246 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x246 += einsum("ijka->kjia", x242) - x257 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x257 += einsum("ijka->kjia", x242) - del x242 - x250 += einsum("ijab,iklb->jkla", x24, x37) * -1 - x473 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x473 += einsum("ia,jkla->ijkl", t1.aa, x37) - x474 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x474 += einsum("ijkl->jikl", x473) - del x473 - x38 += einsum("ia->ia", f.aa.ov) - x46 += einsum("ia,jkab->ijkb", x38, t2.abab) - x89 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x89 += einsum("ia,ijba->jb", x38, x24) - x120 += einsum("ia->ia", x89) * -1 - del x89 - x107 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x107 += einsum("ia,ja->ij", t1.aa, x38) - x108 += einsum("ij->ji", x107) - del x107 - x134 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x134 += einsum("ia,ijab->jb", x38, t2.abab) - x158 += einsum("ia->ia", x134) - del x134 - x200 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) - x200 += einsum("ia,wja->wij", x38, u11.aa) - x216 = np.zeros((nbos), dtype=types[float]) - x216 += einsum("ia,wia->w", x38, u11.aa) - x219 = np.zeros((nbos), dtype=types[float]) - x219 += einsum("w->w", x216) - del x216 - lu11new_aa = np.zeros((nbos, nvir[0], nocc[0]), dtype=types[float]) - lu11new_aa += einsum("w,ia->wai", ls1, x38) * 2 - x39 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x39 += einsum("ia,jkla->jkil", t1.bb, v.aabb.ooov) - x43 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x43 += einsum("ijkl->ijlk", x39) - x474 += einsum("ijkl->ijlk", x39) - del x39 - x40 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x40 += einsum("ijab,kalb->ikjl", t2.abab, v.aabb.ovov) - x43 += einsum("ijkl->jilk", x40) - x474 += einsum("ijkl->jilk", x40) - del x40 - x41 += einsum("iajk->ijka", v.aabb.ovoo) - x42 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x42 += einsum("ia,jkla->ijkl", t1.aa, x41) - del x41 - x43 += einsum("ijkl->jikl", x42) - del x42 - x43 += einsum("ijkl->ijkl", v.aabb.oooo) - x46 += einsum("ia,jkil->jkla", t1.bb, x43) * -1 - x250 += einsum("ia,ijkl->jkla", t1.aa, x43) * -1 - del x43 - x44 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x44 += einsum("ia,jbca->jibc", t1.bb, v.aabb.ovvv) - x45 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x45 += einsum("ijab->ijab", x44) - x311 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x311 += einsum("ijab->ijab", x44) - x455 += einsum("ijab->ijab", x44) - del x44 - x45 += einsum("iabj->ijab", v.aabb.ovvo) - x46 += einsum("ia,jkab->jikb", t1.aa, x45) - x46 += einsum("ijak->ijka", v.aabb.oovo) - x46 += einsum("ia,jkba->jkib", t1.bb, v.aabb.oovv) - x46 += einsum("ijab,kacb->kijc", t2.abab, v.aabb.ovvv) - l1new_aa += einsum("abij,kijb->ak", l2.abab, x46) * -1 - del x46 - x47 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x47 += einsum("abij,kjcb->ikac", l2.abab, t2.abab) - x50 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x50 += einsum("ijab->ijab", x47) - x349 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x349 += einsum("ijab,kica->kjcb", x13, x47) - del x47 - x362 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x362 += einsum("ijab->ijab", x349) * -1 - del x349 - x48 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x48 += einsum("abij->jiab", l2.aaaa) - x48 += einsum("abij->jiba", l2.aaaa) * -1 - x55 += einsum("ijab,ikca->kjcb", t2.abab, x48) * -1 - x49 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x49 += einsum("ijab->jiab", t2.aaaa) - x49 += einsum("ijab->jiba", t2.aaaa) * -1 - x50 += einsum("ijab,ikac->jkbc", x48, x49) - x165 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x165 += einsum("ai,ijba->jb", l1.aa, x49) - x169 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x169 += einsum("ia->ia", x165) * -1 - del x165 - x174 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x174 += einsum("abij,ijcb->ac", l2.aaaa, x49) - x175 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x175 += einsum("ab->ab", x174) * -1 - x358 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x358 += einsum("ab->ab", x174) * -1 - x494 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x494 += einsum("ab->ab", x174) * -1 - del x174 - x259 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x259 += einsum("abij,ikca->kjcb", l2.abab, x49) * -1 - x267 += einsum("ijka,ilba->ljkb", x1, x49) * -1 - x344 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x344 += einsum("ijab,ikca->jkbc", x13, x49) - del x13 - x345 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x345 += einsum("ijab->jiba", x344) - del x344 - x350 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x350 += einsum("iajb,ikab->kj", v.aaaa.ovov, x49) - x352 += einsum("ij->ij", x350) * -1 - del x350 - x355 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x355 += einsum("iajb,ijac->cb", v.aaaa.ovov, x49) - x356 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x356 += einsum("ab->ab", x355) * -1 - del x355 - x486 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x486 += einsum("iajb,ijca->cb", v.aaaa.ovov, x49) - x487 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x487 += einsum("ab->ab", x486) * -1 - del x486 - x51 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x51 += einsum("iabc->ibca", v.aaaa.ovvv) * -1 - x51 += einsum("iabc->ibac", v.aaaa.ovvv) - x458 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x458 += einsum("ia,jbac->ijbc", t1.aa, x51) - x459 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x459 += einsum("ijab->jiab", x458) * -1 - del x458 - l1new_aa += einsum("ijab,jabc->ci", x50, x51) - del x50 - x54 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x54 += einsum("ijab->jiab", t2.bbbb) - x54 += einsum("ijab->jiba", t2.bbbb) * -1 - x55 += einsum("abij,jkcb->ikac", l2.abab, x54) * -1 - l1new_aa += einsum("iabc,jiba->cj", v.bbaa.ovvv, x55) * -1 - del x55 - x183 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x183 += einsum("ai,ijba->jb", l1.bb, x54) - x190 += einsum("ia->ia", x183) * -1 - del x183 - x56 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x56 += einsum("ia,abjk->jikb", t1.aa, l2.abab) - x62 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x62 += einsum("ijab,kljb->klia", t2.abab, x56) - x69 += einsum("ijab,klib->klja", x54, x56) * -1 - x163 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x163 += einsum("ijab,ikjb->ka", t2.abab, x56) - x169 += einsum("ia->ia", x163) - del x163 - x259 += einsum("ia,ijkb->jkab", t1.aa, x56) - x267 += einsum("ijab,iklb->klja", t2.abab, x56) - x374 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x374 += einsum("ijka,jilb->lkba", v.aabb.ooov, x56) - x415 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x415 -= einsum("ijab->ijab", x374) - del x374 - x377 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x377 += einsum("ijka,ijlb->lkba", x26, x56) - x415 -= einsum("ijab->ijab", x377) - del x377 - x446 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x446 += einsum("iabc,jikb->jkac", v.aabb.ovvv, x56) - l2new_baba -= einsum("ijab->baji", x446) - l2new_abab -= einsum("ijab->abij", x446) - del x446 - x479 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x479 += einsum("ijka,likb->ljab", x37, x56) - del x37 - l2new_baba += einsum("ijab->baji", x479) - l2new_abab += einsum("ijab->abij", x479) - del x479 - x500 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x500 += einsum("ia,jikb->jkab", x38, x56) - del x38 - l2new_baba += einsum("ijab->baji", x500) * -1 - l2new_abab += einsum("ijab->abij", x500) * -1 - del x500 - l1new_aa += einsum("ijab,kijb->ak", x45, x56) * -1 - del x45 - l1new_bb -= einsum("ijab,jika->bk", v.aabb.oovv, x56) - l2new_baba += einsum("ijka,iklb->balj", x347, x56) * -1 - l2new_abab += einsum("ijka,iklb->abjl", x514, x56) - del x514 - x57 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x57 += einsum("ia,abjk->kjib", t1.aa, l2.aaaa) - x58 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x58 += einsum("ijka->ijka", x57) - x58 += einsum("ijka->jika", x57) * -1 - x62 += einsum("ijab,iklb->klja", x49, x58) - x64 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x64 += einsum("ia,ijkb->jkba", t1.aa, x58) * -1 - l1new_aa += einsum("iabc,jiac->bj", x51, x64) - del x64 - x69 += einsum("ijab,ikla->kljb", t2.abab, x58) * -1 - x348 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x348 += einsum("ijka,iljb->lkba", x347, x58) - del x58 - del x347 - x362 += einsum("ijab->ijab", x348) - del x348 - x71 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x71 += einsum("ia,jkla->kjli", t1.aa, x57) - x72 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x72 += einsum("ia,ijkl->jlka", t1.aa, x71) - x73 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x73 += einsum("ijka->ijka", x72) - del x72 - x122 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x122 += einsum("ijkl->ijkl", x71) - x122 += einsum("ijkl->ijlk", x71) * -1 - l1new_aa += einsum("ijka,ljki->al", v.aaaa.ooov, x122) - del x122 - x367 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x367 += einsum("iajb,klij->klab", v.aaaa.ovov, x71) - del x71 - x370 += einsum("ijab->ijab", x367) - del x367 - x75 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x75 += einsum("ijka->ijka", x57) * -1 - x75 += einsum("ijka->jika", x57) - x481 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x481 += einsum("ijka,iljb->lkba", x26, x75) - del x26 - l2new_baba += einsum("ijab->baji", x481) * -1 - l2new_abab += einsum("ijab->abij", x481) * -1 - del x481 - l1new_aa += einsum("ijab,jkia->bk", x29, x75) - del x75 - del x29 - x164 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x164 += einsum("ijab,ijka->kb", x49, x57) - del x49 - x169 += einsum("ia->ia", x164) * -1 - del x164 - x302 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x302 += einsum("iabc,jkib->kjac", v.aaaa.ovvv, x57) - x342 -= einsum("ijab->ijab", x302) - del x302 - x313 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x313 += einsum("ijka->ijka", x57) - x313 -= einsum("ijka->jika", x57) - x480 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x480 += einsum("ijka,ljib->lkba", v.aabb.ooov, x313) - l2new_baba -= einsum("ijab->baji", x480) - l2new_abab -= einsum("ijab->abij", x480) - del x480 - x361 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x361 += einsum("ia,jkib->jkba", x15, x57) - del x15 - x362 += einsum("ijab->ijab", x361) - del x361 - x59 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x59 += einsum("abij,kjab->ik", l2.abab, t2.abab) - x61 += einsum("ij->ij", x59) - x62 += einsum("ia,jk->jkia", t1.aa, x61) - x69 += einsum("ia,jk->jkia", t1.bb, x61) * -1 - x360 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x360 += einsum("ij,jakb->ikab", x61, v.aaaa.ovov) - x362 += einsum("ijab->ijba", x360) * -1 - del x360 - l1new_aa += einsum("ia,ji->aj", f.aa.ov, x61) * -1 - del x61 - x167 += einsum("ij->ij", x59) - x209 += einsum("ij->ij", x59) - del x59 - x63 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x63 -= einsum("iajb->jiab", v.aaaa.ovov) - x63 += einsum("iajb->jiba", v.aaaa.ovov) - x332 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x332 += einsum("wia,ijba->wjb", u11.aa, x63) - x333 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x333 -= einsum("wia->wia", x332) - x502 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x502 -= einsum("wia->wia", x332) - del x332 - x340 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x340 += einsum("ia,ijba->jb", t1.aa, x63) - x341 -= einsum("ia->ia", x340) - x342 += einsum("ai,jb->ijab", l1.aa, x341) - del x341 - x512 -= einsum("ia->ia", x340) - del x340 - l1new_aa += einsum("ijka,kjab->bi", x62, x63) * -1 - del x62 - del x63 - x65 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x65 += einsum("ia,bcda->ibdc", t1.aa, v.aaaa.vvvv) - x66 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x66 += einsum("iabc->iabc", x65) * -1 - del x65 - x66 += einsum("aibc->iabc", v.aaaa.vovv) - x67 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x67 += einsum("iabc->iabc", x66) - x67 += einsum("iabc->ibac", x66) * -1 - del x66 - l1new_aa += einsum("abij,ibac->cj", l2.aaaa, x67) * -1 - del x67 - x69 += einsum("ai,jkab->ijkb", l1.aa, t2.abab) * -1 - l1new_aa += einsum("iajb,kijb->ak", v.aabb.ovov, x69) - del x69 - x70 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x70 += einsum("ai,jkab->ikjb", l1.aa, t2.aaaa) - x73 += einsum("ijka->ijka", x70) * 0.9999999999999993 - del x70 - x74 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x74 += einsum("ijka->ijka", x73) * -1 - x74 += einsum("ijka->ikja", x73) - del x73 - l1new_aa += einsum("iajb,kjia->bk", v.aaaa.ovov, x74) * -1 - del x74 - x76 = np.zeros((nocc[1], nvir[0], nvir[0], nvir[1]), dtype=types[float]) - x76 += einsum("abci->iabc", v.aabb.vvvo) - x76 += einsum("ia,bcda->ibcd", t1.bb, v.aabb.vvvv) - l1new_aa += einsum("abij,jacb->ci", l2.abab, x76) - del x76 - x77 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x77 += einsum("abij,klba->ijlk", l2.aaaa, t2.aaaa) - x78 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x78 += einsum("ijkl->jikl", x77) - x78 += einsum("ijkl->jilk", x77) * -1 - x366 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x366 += einsum("iajb,klij->lkba", v.aaaa.ovov, x77) - del x77 - x370 += einsum("ijab->ijab", x366) - del x366 - l2new_aaaa = np.zeros((nvir[0], nvir[0], nocc[0], nocc[0]), dtype=types[float]) - l2new_aaaa += einsum("ijab->abij", x370) - l2new_aaaa += einsum("ijab->baij", x370) * -1 - del x370 - x79 += einsum("ijka->ikja", v.aaaa.ooov) - l1new_aa += einsum("ijkl,klia->aj", x78, x79) * -1 - del x78 - del x79 - x80 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x80 += einsum("w,wai->ia", s1, g.aa.bvo) - x120 += einsum("ia->ia", x80) - del x80 - x81 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x81 += einsum("wab,wib->ia", g.aa.bvv, u11.aa) - x120 += einsum("ia->ia", x81) - del x81 - x82 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x82 += einsum("ia,iabj->jb", t1.bb, v.bbaa.ovvo) - x120 += einsum("ia->ia", x82) - del x82 - x83 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x83 += einsum("ijab,ikja->kb", t2.aaaa, v.aaaa.ooov) - x120 += einsum("ia->ia", x83) - del x83 - x84 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x84 += einsum("ijab,jbca->ic", t2.abab, v.bbaa.ovvv) - x120 += einsum("ia->ia", x84) - del x84 - x86 += einsum("ijka->ikja", v.aaaa.ooov) - x87 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x87 += einsum("ijab,ijkb->ka", t2.aaaa, x86) - del x86 - x120 += einsum("ia->ia", x87) * -1 - del x87 - x90 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x90 += einsum("w,wia->ia", s1, g.bb.bov) - x94 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x94 += einsum("ia->ia", x90) - x227 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x227 += einsum("ia->ia", x90) - x297 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x297 += einsum("ia->ia", x90) - x394 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x394 += einsum("ia->ia", x90) - x513 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x513 += einsum("ia->ia", x90) - del x90 - x91 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x91 += einsum("ia,iajb->jb", t1.aa, v.aabb.ovov) - x94 += einsum("ia->ia", x91) - x233 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x233 += einsum("ia->ia", x91) - x297 += einsum("ia->ia", x91) - x414 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x414 += einsum("ia->ia", x91) - x513 += einsum("ia->ia", x91) - del x91 - x92 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x92 += einsum("iajb->jiab", v.bbbb.ovov) * -1 - x92 += einsum("iajb->jiba", v.bbbb.ovov) - x93 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x93 += einsum("ia,ijba->jb", t1.bb, x92) - x94 += einsum("ia->ia", x93) * -1 - x233 += einsum("ia->ia", x93) * -1 - x234 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x234 += einsum("ia,jkab->jkib", x233, t2.bbbb) - x239 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x239 += einsum("ijka->jika", x234) - del x234 - x428 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x428 += einsum("ia,ja->ij", t1.bb, x233) - x429 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x429 += einsum("ij->ij", x428) - del x428 - x297 += einsum("ia->ia", x93) * -1 - del x93 - x283 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x283 += einsum("wia,ijba->wjb", u11.bb, x92) - x284 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x284 += einsum("wia->wia", x283) * -1 - x295 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x295 += einsum("wia->wia", x283) * -1 - del x283 - x427 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x427 += einsum("ijab,ikba->jk", t2.bbbb, x92) - x429 += einsum("ij->ij", x427) * -1 - del x427 - x449 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x449 += einsum("ijab,jkcb->ikac", t2.abab, x92) - x450 += einsum("ijab->ijab", x449) * -1 - del x449 - x489 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x489 += einsum("ijab,ijac->bc", t2.bbbb, x92) - x490 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x490 += einsum("ab->ab", x489) * -1 - del x489 - x94 += einsum("ia->ia", f.bb.ov) - x95 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x95 += einsum("ia,jiba->jb", x94, t2.abab) - x120 += einsum("ia->ia", x95) - del x95 - x133 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x133 += einsum("ia,ijba->jb", x94, x35) - x158 += einsum("ia->ia", x133) * -1 - del x133 - x148 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x148 += einsum("ia,ja->ij", t1.bb, x94) - x149 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x149 += einsum("ij->ji", x148) - del x148 - x217 = np.zeros((nbos), dtype=types[float]) - x217 += einsum("ia,wia->w", x94, u11.bb) - x219 += einsum("w->w", x217) - del x217 - x250 += einsum("ia,jkba->jikb", x94, t2.abab) - x285 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) - x285 += einsum("ia,wja->wij", x94, u11.bb) - x501 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x501 += einsum("ia,jkib->jkba", x94, x1) - l2new_baba += einsum("ijab->baji", x501) * -1 - l2new_abab += einsum("ijab->abij", x501) * -1 - del x501 - lu11new_bb = np.zeros((nbos, nvir[1], nocc[1]), dtype=types[float]) - lu11new_bb += einsum("w,ia->wai", ls1, x94) * 2 - del x94 - x97 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) - x97 += einsum("ia,wja->wji", t1.aa, g.aa.bov) - x98 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) - x98 += einsum("wij->wij", x97) - x521 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) - x521 += einsum("wij->wij", x97) - del x97 - x98 += einsum("wij->wij", g.aa.boo) - x99 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x99 += einsum("wia,wij->ja", u11.aa, x98) - x120 += einsum("ia->ia", x99) * -1 - del x99 - x100 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x100 += einsum("w,wij->ij", s1, g.aa.boo) - x108 += einsum("ij->ij", x100) - x324 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x324 += einsum("ij->ij", x100) - del x100 - x101 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x101 += einsum("wia,wja->ij", g.aa.bov, u11.aa) - x108 += einsum("ij->ij", x101) - x324 += einsum("ij->ij", x101) - del x101 - x102 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x102 += einsum("ia,jkia->jk", t1.bb, v.aabb.ooov) - x108 += einsum("ij->ij", x102) - x328 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x328 += einsum("ij->ij", x102) - del x102 - x103 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x103 += einsum("ijab,kajb->ik", t2.abab, v.aabb.ovov) - x108 += einsum("ij->ji", x103) - x352 += einsum("ij->ij", x103) - del x103 - x353 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x353 += einsum("ij,abik->kjab", x352, l2.aaaa) - del x352 - x362 += einsum("ijab->ijba", x353) - del x353 - x105 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x105 += einsum("ijka->ikja", v.aaaa.ooov) - x105 += einsum("ijka->kija", v.aaaa.ooov) * -1 - x106 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x106 += einsum("ia,ijka->jk", t1.aa, x105) - x108 += einsum("ij->ij", x106) * -1 - del x106 - x200 += einsum("wia,ijka->wjk", u11.aa, x105) * -1 - x108 += einsum("ij->ij", f.aa.oo) - x109 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x109 += einsum("ia,ij->ja", t1.aa, x108) - x120 += einsum("ia->ia", x109) * -1 - del x109 - x492 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x492 += einsum("ij,abjk->ikab", x108, l2.abab) - l2new_baba += einsum("ijab->baji", x492) * -1 - l2new_abab += einsum("ijab->abij", x492) * -1 - del x492 - l1new_aa += einsum("ai,ji->aj", l1.aa, x108) * -1 - del x108 - x110 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x110 += einsum("w,wab->ab", s1, g.aa.bvv) - x114 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x114 += einsum("ab->ab", x110) - x317 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x317 += einsum("ab->ab", x110) - x487 += einsum("ab->ab", x110) - del x110 - x111 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x111 += einsum("ia,iabc->bc", t1.bb, v.bbaa.ovvv) - x114 += einsum("ab->ab", x111) - x320 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x320 += einsum("ab->ab", x111) - x487 += einsum("ab->ab", x111) - del x111 - x112 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x112 += einsum("iabc->ibca", v.aaaa.ovvv) - x112 += einsum("iabc->ibac", v.aaaa.ovvv) * -1 - x113 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x113 += einsum("ia,ibac->bc", t1.aa, x112) - del x112 - x114 += einsum("ab->ab", x113) * -1 - x487 += einsum("ab->ab", x113) * -1 - del x113 - x114 += einsum("ab->ab", f.aa.vv) - x115 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x115 += einsum("ia,ba->ib", t1.aa, x114) - x120 += einsum("ia->ia", x115) - del x115 - l1new_aa += einsum("ai,ab->bi", l1.aa, x114) - del x114 - x116 = np.zeros((nbos), dtype=types[float]) - x116 += einsum("ia,wia->w", t1.aa, g.aa.bov) - x118 = np.zeros((nbos), dtype=types[float]) - x118 += einsum("w->w", x116) - x515 = np.zeros((nbos), dtype=types[float]) - x515 += einsum("w->w", x116) - del x116 - x117 = np.zeros((nbos), dtype=types[float]) - x117 += einsum("ia,wia->w", t1.bb, g.bb.bov) - x118 += einsum("w->w", x117) - x515 += einsum("w->w", x117) - del x117 - x118 += einsum("w->w", G) - x119 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x119 += einsum("w,wia->ia", x118, u11.aa) - x120 += einsum("ia->ia", x119) - del x119 - x157 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x157 += einsum("w,wia->ia", x118, u11.bb) - x158 += einsum("ia->ia", x157) - del x157 - x218 = np.zeros((nbos), dtype=types[float]) - x218 += einsum("w,wx->x", x118, s2) - del x118 - x219 += einsum("w->w", x218) - del x218 - x120 += einsum("ai->ia", f.aa.vo) - l1new_bb += einsum("ia,abij->bj", x120, l2.abab) - ls1new = np.zeros((nbos), dtype=types[float]) - ls1new += einsum("ia,wai->w", x120, lu11.aa) - x121 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x121 -= einsum("abij->jiab", l2.aaaa) - x121 += einsum("abij->jiba", l2.aaaa) - x204 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x204 += einsum("wia,ijba->wjb", u11.aa, x121) - x205 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x205 -= einsum("wia->wia", x204) - x330 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x330 -= einsum("wia->wia", x204) - del x204 - l1new_aa += einsum("ia,ijba->bj", x120, x121) * -1 - del x120 - lu11new_aa -= einsum("wai,ijba->wbj", g.aa.bvo, x121) - del x121 - x123 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x123 += einsum("w,wai->ia", s1, g.bb.bvo) - x158 += einsum("ia->ia", x123) - del x123 - x124 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x124 += einsum("wab,wib->ia", g.bb.bvv, u11.bb) - x158 += einsum("ia->ia", x124) - del x124 - x125 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x125 += einsum("ia,iabj->jb", t1.aa, v.aabb.ovvo) - x158 += einsum("ia->ia", x125) - del x125 - x126 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x126 += einsum("ijab,iacb->jc", t2.abab, v.aabb.ovvv) - x158 += einsum("ia->ia", x126) - del x126 - x127 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x127 += einsum("ijab,jkib->ka", t2.bbbb, v.bbbb.ooov) - x158 += einsum("ia->ia", x127) - del x127 - x129 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x129 += einsum("ia,jakb->ikjb", t1.bb, v.bbbb.ovov) - x130 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x130 += einsum("ijka->jkia", x129) * -1 - x130 += einsum("ijka->kjia", x129) - x236 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x236 += einsum("ia,jkla->ijkl", t1.bb, x129) - x237 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x237 += einsum("ijkl->ijkl", x236) - x418 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x418 += einsum("ijkl->ijkl", x236) - del x236 - x240 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x240 += einsum("ijka->ijka", x129) * -1 - x240 += einsum("ijka->ikja", x129) - x247 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x247 += einsum("ijka->jkia", x129) * -1 - x247 += einsum("ijka->kjia", x129) - x276 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x276 += einsum("ijka->jkia", x129) * -1 - x411 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x411 += einsum("ijka->ijka", x129) - x423 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x423 += einsum("ijka->ijka", x129) - x423 += einsum("ijka->ikja", x129) * -1 - x482 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x482 += einsum("ijka->ijka", x129) * -1 - x482 += einsum("ijka->ikja", x129) - del x129 - x483 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x483 += einsum("ijka,jklb->ilab", x1, x482) - del x482 - l2new_baba += einsum("ijab->baji", x483) * -1 - l2new_abab += einsum("ijab->abij", x483) * -1 - del x483 - x130 += einsum("ijka->ikja", v.bbbb.ooov) - x131 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x131 += einsum("ijab,jika->kb", t2.bbbb, x130) - del x130 - x158 += einsum("ia->ia", x131) * -1 - del x131 - x135 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x135 += einsum("iabj->ijba", v.bbbb.ovvo) - x135 += einsum("ijab->ijab", v.bbbb.oovv) * -1 - x136 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x136 += einsum("ia,ijba->jb", t1.bb, x135) - x158 += einsum("ia->ia", x136) - del x136 - x243 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x243 += einsum("ia,jkba->ijkb", t1.bb, x135) - x246 += einsum("ijka->ijka", x243) - x257 += einsum("ijka->ijka", x243) - del x243 - x137 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) - x137 += einsum("ia,wja->wji", t1.bb, g.bb.bov) - x138 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) - x138 += einsum("wij->wij", x137) - x528 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) - x528 += einsum("wij->wij", x137) - del x137 - x138 += einsum("wij->wij", g.bb.boo) - x139 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x139 += einsum("wia,wij->ja", u11.bb, x138) - x158 += einsum("ia->ia", x139) * -1 - del x139 - x140 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x140 += einsum("w,wij->ij", s1, g.bb.boo) - x149 += einsum("ij->ij", x140) - x396 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x396 += einsum("ij->ij", x140) - del x140 - x141 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x141 += einsum("wia,wja->ij", g.bb.bov, u11.bb) - x149 += einsum("ij->ij", x141) - x396 += einsum("ij->ij", x141) - del x141 - x142 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x142 += einsum("ia,iajk->jk", t1.aa, v.aabb.ovoo) - x149 += einsum("ij->ij", x142) - x400 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x400 += einsum("ij->ij", x142) - del x142 - x143 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x143 += einsum("ijab,iakb->jk", t2.abab, v.aabb.ovov) - x149 += einsum("ij->ji", x143) - x429 += einsum("ij->ij", x143) - del x143 - x430 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x430 += einsum("ij,abik->kjab", x429, l2.bbbb) - del x429 - x439 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x439 += einsum("ijab->ijba", x430) - del x430 - x144 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x144 += einsum("iajb->jiab", v.bbbb.ovov) - x144 += einsum("iajb->jiba", v.bbbb.ovov) * -1 - x145 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x145 += einsum("ijab,ikab->jk", t2.bbbb, x144) - x149 += einsum("ij->ji", x145) * -1 - del x145 - x432 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x432 += einsum("ijab,ijac->bc", t2.bbbb, x144) - x433 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x433 += einsum("ab->ab", x432) * -1 - del x432 - x462 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x462 += einsum("ijab,ikcb->kjca", x144, x54) - x464 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x464 += einsum("ijab->jiab", x462) - del x462 - x146 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x146 += einsum("ijka->ikja", v.bbbb.ooov) - x146 += einsum("ijka->kija", v.bbbb.ooov) * -1 - x147 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x147 += einsum("ia,ijka->jk", t1.bb, x146) - x149 += einsum("ij->ij", x147) * -1 - del x147 - x285 += einsum("wia,ijka->wjk", u11.bb, x146) * -1 - x149 += einsum("ij->ij", f.bb.oo) - x150 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x150 += einsum("ia,ij->ja", t1.bb, x149) - x158 += einsum("ia->ia", x150) * -1 - del x150 - x493 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x493 += einsum("ij,abkj->kiab", x149, l2.abab) - l2new_baba += einsum("ijab->baji", x493) * -1 - l2new_abab += einsum("ijab->abij", x493) * -1 - del x493 - l1new_bb += einsum("ai,ji->aj", l1.bb, x149) * -1 - del x149 - x151 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x151 += einsum("w,wab->ab", s1, g.bb.bvv) - x155 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x155 += einsum("ab->ab", x151) - x389 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x389 += einsum("ab->ab", x151) - x490 += einsum("ab->ab", x151) - del x151 - x152 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x152 += einsum("ia,iabc->bc", t1.aa, v.aabb.ovvv) - x155 += einsum("ab->ab", x152) - x392 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x392 += einsum("ab->ab", x152) - x490 += einsum("ab->ab", x152) - del x152 - x153 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x153 += einsum("iabc->ibca", v.bbbb.ovvv) - x153 += einsum("iabc->ibac", v.bbbb.ovvv) * -1 - x154 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x154 += einsum("ia,ibac->bc", t1.bb, x153) - x155 += einsum("ab->ab", x154) * -1 - x490 += einsum("ab->ab", x154) * -1 - del x154 - x155 += einsum("ab->ab", f.bb.vv) - x156 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x156 += einsum("ia,ba->ib", t1.bb, x155) - x158 += einsum("ia->ia", x156) - del x156 - l1new_bb += einsum("ai,ab->bi", l1.bb, x155) - del x155 - x158 += einsum("ai->ia", f.bb.vo) - l1new_aa += einsum("ia,baji->bj", x158, l2.abab) - ls1new += einsum("ia,wai->w", x158, lu11.bb) - x159 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x159 += einsum("w,wia->ia", ls1, u11.aa) - x169 += einsum("ia->ia", x159) * -1 - del x159 - x160 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x160 += einsum("ai,jiba->jb", l1.bb, t2.abab) - x169 += einsum("ia->ia", x160) * -1 - del x160 - x161 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) - x161 += einsum("ia,waj->wji", t1.aa, lu11.aa) - x162 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x162 += einsum("wia,wij->ja", u11.aa, x161) - x169 += einsum("ia->ia", x162) - del x162 - x166 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x166 += einsum("wai,wja->ij", lu11.aa, u11.aa) - x167 += einsum("ij->ij", x166) - x168 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x168 += einsum("ia,ij->ja", t1.aa, x167) - x169 += einsum("ia->ia", x168) - del x168 - x498 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x498 += einsum("ij,jakb->ikab", x167, v.aabb.ovov) - l2new_baba += einsum("ijab->baji", x498) * -1 - l2new_abab += einsum("ijab->abij", x498) * -1 - del x498 - l1new_aa += einsum("ij,jkia->ak", x167, x105) * -1 - del x105 - l1new_bb += einsum("ij,jika->ak", x167, v.aabb.ooov) * -1 - ls1new += einsum("ij,wji->w", x167, g.aa.boo) * -1 - del x167 - x209 += einsum("ij->ij", x166) - x210 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) - x210 += einsum("w,ij->wij", s1, x209) - del x209 - x220 += einsum("ij->ij", x166) - x335 += einsum("ij->ij", x166) - del x166 - x336 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x336 += einsum("ij,jakb->ikab", x335, v.aaaa.ovov) - del x335 - x342 += einsum("ijab->ijba", x336) - del x336 - x169 += einsum("ia->ia", t1.aa) * -1 - l1new_bb += einsum("ia,iajb->bj", x169, v.aabb.ovov) * -1 - ls1new += einsum("ia,wia->w", x169, g.aa.bov) * -1 - x170 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x170 += einsum("iajb->jiab", v.aaaa.ovov) - x170 -= einsum("iajb->jiba", v.aaaa.ovov) - l1new_aa += einsum("ia,ijba->bj", x169, x170) * -1 - del x169 - del x170 - x171 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x171 += einsum("ai,ib->ab", l1.aa, t1.aa) - x175 += einsum("ab->ab", x171) - del x171 - x172 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x172 += einsum("wai,wib->ab", lu11.aa, u11.aa) - x175 += einsum("ab->ab", x172) - x300 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x300 += einsum("ab,icjb->ijac", x172, v.aaaa.ovov) - x342 += einsum("ijab->ijab", x300) - del x300 - x494 += einsum("ab->ab", x172) - del x172 - x173 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x173 += einsum("abij,ijcb->ac", l2.abab, t2.abab) - x175 += einsum("ab->ab", x173) - l1new_aa += einsum("ab,iabc->ci", x175, x51) * -1 - del x51 - l1new_bb += einsum("ab,icab->ci", x175, v.bbaa.ovvv) - ls1new += einsum("ab,wab->w", x175, g.aa.bvv) - del x175 - x358 += einsum("ab->ab", x173) - x359 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x359 += einsum("ab,ibjc->ijac", x358, v.aaaa.ovov) - del x358 - x362 += einsum("ijab->jiab", x359) * -1 - del x359 - x494 += einsum("ab->ab", x173) - del x173 - x495 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x495 += einsum("ab,ibjc->ijac", x494, v.aabb.ovov) - del x494 - l2new_baba += einsum("ijab->baji", x495) * -1 - l2new_abab += einsum("ijab->abij", x495) * -1 - del x495 - x176 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x176 += einsum("w,wia->ia", ls1, u11.bb) - x190 += einsum("ia->ia", x176) * -1 - del x176 - x177 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x177 += einsum("ai,ijab->jb", l1.aa, t2.abab) - x190 += einsum("ia->ia", x177) * -1 - del x177 - x178 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) - x178 += einsum("ia,waj->wji", t1.bb, lu11.bb) - x179 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x179 += einsum("wia,wij->ja", u11.bb, x178) - x190 += einsum("ia->ia", x179) - del x179 - x181 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x181 += einsum("ia,abjk->kjib", t1.bb, l2.bbbb) - x182 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x182 += einsum("ijka,jiba->kb", x181, x54) - x190 += einsum("ia->ia", x182) * -1 - del x182 - x260 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x260 += einsum("ijka->ijka", x181) - x260 += einsum("ijka->jika", x181) * -1 - x262 += einsum("ijka,ilab->jlkb", x260, x35) - x263 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x263 += einsum("ia,ijkb->jkba", t1.bb, x260) * -1 - x267 += einsum("ijab,jklb->ikla", t2.abab, x260) * -1 - l1new_bb += einsum("ijab,jkia->bk", x135, x260) * -1 - del x135 - l2new_baba += einsum("ijka,likb->abjl", x260, x36) - del x260 - x269 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x269 += einsum("ia,jkla->kjli", t1.bb, x181) - x270 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x270 += einsum("ia,ijkl->jlka", t1.bb, x269) - x271 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x271 += einsum("ijka->ijka", x270) - del x270 - x280 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x280 += einsum("ijkl->ijkl", x269) * -1 - x280 += einsum("ijkl->ijlk", x269) - l1new_bb += einsum("ijka,ljki->al", v.bbbb.ooov, x280) * -1 - del x280 - x417 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x417 += einsum("iajb,klij->klab", v.bbbb.ovov, x269) - del x269 - x420 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x420 += einsum("ijab->ijab", x417) - del x417 - x376 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x376 += einsum("iabc,jkib->kjac", v.bbbb.ovvv, x181) - x415 -= einsum("ijab->ijab", x376) - del x376 - x385 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x385 -= einsum("ijka->ijka", x181) - x385 += einsum("ijka->jika", x181) - l2new_abab -= einsum("iajk,kljb->abil", v.aabb.ovoo, x385) - x422 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x422 += einsum("ijka->ijka", x181) * -1 - x422 += einsum("ijka->jika", x181) - x424 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x424 += einsum("ijka,jklb->ilab", x422, x423) - del x423 - x439 += einsum("ijab->ijab", x424) - del x424 - l2new_abab += einsum("ijka,jlkb->abil", x36, x422) * -1 - del x36 - del x422 - x438 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x438 += einsum("ia,jkib->jkba", x233, x181) - x439 += einsum("ijab->ijab", x438) - del x438 - x485 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x485 += einsum("ijka->ijka", x181) - x485 -= einsum("ijka->jika", x181) - l2new_baba += einsum("iajk,kljb->bali", v.aabb.ovoo, x485) - del x485 - x184 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x184 += einsum("ai,ja->ij", l1.bb, t1.bb) - x188 += einsum("ij->ij", x184) - x408 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x408 += einsum("ij->ij", x184) - l1new_bb += einsum("ij,ja->ai", x184, x297) * -1 - del x184 - del x297 - x185 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x185 += einsum("wai,wja->ij", lu11.bb, u11.bb) - x188 += einsum("ij->ij", x185) - x293 += einsum("ij->ij", x185) - x408 += einsum("ij->ij", x185) - x409 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x409 += einsum("ij,jakb->kiab", x408, v.bbbb.ovov) - del x408 - x415 += einsum("ijab->jiba", x409) - del x409 - l1new_bb += einsum("ij,ja->ai", x185, x233) * -1 - del x233 - del x185 - x186 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x186 += einsum("abij,ikab->jk", l2.abab, t2.abab) - x188 += einsum("ij->ij", x186) - x189 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x189 += einsum("ia,ij->ja", t1.bb, x188) - x190 += einsum("ia->ia", x189) - del x189 - x499 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x499 += einsum("ij,kajb->kiab", x188, v.aabb.ovov) - l2new_baba += einsum("ijab->baji", x499) * -1 - l2new_abab += einsum("ijab->abij", x499) * -1 - del x499 - l1new_aa += einsum("ij,kaji->ak", x188, v.aabb.ovoo) * -1 - l1new_bb += einsum("ij,jkia->ak", x188, x146) * -1 - del x146 - l1new_bb += einsum("ia,ji->aj", f.bb.ov, x188) * -1 - ls1new += einsum("ij,wji->w", x188, g.bb.boo) * -1 - del x188 - x261 += einsum("ij->ij", x186) - x262 += einsum("ia,jk->jika", t1.bb, x261) - l1new_bb += einsum("ijka,jkba->bi", x262, x92) - del x262 - x267 += einsum("ia,jk->ijka", t1.aa, x261) * -1 - x437 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x437 += einsum("ij,jakb->kiab", x261, v.bbbb.ovov) - del x261 - x439 += einsum("ijab->jiba", x437) * -1 - del x437 - x293 += einsum("ij->ij", x186) - del x186 - x294 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) - x294 += einsum("w,ij->wij", s1, x293) - del x293 - x190 += einsum("ia->ia", t1.bb) * -1 - l1new_aa += einsum("ia,jbia->bj", x190, v.aabb.ovov) * -1 - l1new_bb += einsum("ia,ijba->bj", x190, x144) * -1 - del x144 - ls1new += einsum("ia,wia->w", x190, g.bb.bov) * -1 - del x190 - x191 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x191 += einsum("ai,ib->ab", l1.bb, t1.bb) - x195 += einsum("ab->ab", x191) - del x191 - x192 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x192 += einsum("wai,wib->ab", lu11.bb, u11.bb) - x195 += einsum("ab->ab", x192) - x373 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x373 += einsum("ab,icjb->ijac", x192, v.bbbb.ovov) - x415 += einsum("ijab->ijab", x373) - del x373 - x496 += einsum("ab->ab", x192) - del x192 - x193 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x193 += einsum("abij,ijac->bc", l2.abab, t2.abab) - x195 += einsum("ab->ab", x193) - l1new_aa += einsum("ab,icab->ci", x195, v.aabb.ovvv) - l1new_bb += einsum("ab,iacb->ci", x195, x153) * -1 - del x153 - ls1new += einsum("ab,wab->w", x195, g.bb.bvv) - del x195 - x435 += einsum("ab->ab", x193) - x436 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x436 += einsum("ab,ibjc->ijca", x435, v.bbbb.ovov) - del x435 - x439 += einsum("ijab->jiba", x436) * -1 - del x436 - x496 += einsum("ab->ab", x193) - del x193 - x497 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x497 += einsum("ab,icjb->ijca", x496, v.aabb.ovov) - del x496 - l2new_baba += einsum("ijab->baji", x497) * -1 - l2new_abab += einsum("ijab->abij", x497) * -1 - del x497 - x196 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x196 += einsum("wx,wia->xia", s2, g.aa.bov) - x199 += einsum("wia->wia", x196) - x502 += einsum("wia->wia", x196) - del x196 - x197 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x197 += einsum("wia,jbia->wjb", u11.bb, v.aabb.ovov) - x199 += einsum("wia->wia", x197) - x211 += einsum("wia->wia", x197) - x333 += einsum("wia->wia", x197) - x334 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x334 += einsum("wai,wjb->ijab", lu11.aa, x333) - del x333 - x342 += einsum("ijab->ijab", x334) - del x334 - x502 += einsum("wia->wia", x197) - del x197 - x199 += einsum("wia->wia", gc.aa.bov) - x200 += einsum("ia,wja->wji", t1.aa, x199) - del x199 - x200 += einsum("wij->wij", gc.aa.boo) - x200 += einsum("wx,wij->xij", s2, g.aa.boo) - x200 += einsum("wia,jkia->wjk", u11.bb, v.aabb.ooov) - l1new_aa += einsum("wai,wji->aj", lu11.aa, x200) * -1 - del x200 - x201 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x201 += einsum("iabc->ibca", v.aaaa.ovvv) - x201 -= einsum("iabc->ibac", v.aaaa.ovvv) - x202 = np.zeros((nbos, nvir[0], nvir[0]), dtype=types[float]) - x202 -= einsum("wia,ibac->wbc", u11.aa, x201) - x306 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x306 += einsum("ia,jbac->ijbc", t1.aa, x201) - x307 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x307 -= einsum("ijab->ijab", x306) - del x306 - x319 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x319 += einsum("ia,ibac->bc", t1.aa, x201) - del x201 - x320 -= einsum("ab->ab", x319) - del x319 - x321 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x321 += einsum("ab,acij->ijcb", x320, l2.aaaa) - del x320 - x342 += einsum("ijab->jiab", x321) - del x321 - x202 += einsum("wab->wab", gc.aa.bvv) - x202 += einsum("wx,wab->xab", s2, g.aa.bvv) - x202 += einsum("wia,iabc->wbc", u11.bb, v.bbaa.ovvv) - l1new_aa += einsum("wai,wab->bi", lu11.aa, x202) - del x202 - x203 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x203 += einsum("wia,baji->wjb", u11.bb, l2.abab) - x205 += einsum("wia->wia", x203) - x507 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x507 += einsum("wia,wjb->jiba", g.bb.bov, x205) - l2new_baba += einsum("ijab->baji", x507) - l2new_abab += einsum("ijab->abij", x507) - del x507 - l1new_aa += einsum("wab,wia->bi", g.aa.bvv, x205) - l1new_aa += einsum("wia,wji->aj", x205, x98) * -1 - del x98 - del x205 - x208 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x208 += einsum("wia->wia", x203) - x330 += einsum("wia->wia", x203) - del x203 - x206 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x206 += einsum("wx,xai->wia", s2, lu11.aa) - x208 += einsum("wia->wia", x206) - x330 += einsum("wia->wia", x206) - del x206 - x331 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x331 += einsum("wia,wjb->ijab", g.aa.bov, x330) - del x330 - x342 += einsum("ijab->ijab", x331) - del x331 - x207 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x207 += einsum("abij->jiab", l2.aaaa) * -1 - x207 += einsum("abij->jiba", l2.aaaa) - x208 += einsum("wia,ijba->wjb", u11.aa, x207) * -1 - x210 += einsum("ia,wja->wji", t1.aa, x208) - del x208 - x210 += einsum("ai,wja->wij", l1.aa, u11.aa) - l1new_aa += einsum("wia,wji->aj", g.aa.bov, x210) * -1 - del x210 - x211 += einsum("wia->wia", gc.aa.bov) - l1new_aa += einsum("wij,wja->ai", x161, x211) * -1 - del x161 - del x211 - x212 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x212 += einsum("iabj->ijba", v.aaaa.ovvo) - x212 -= einsum("ijab->ijab", v.aaaa.oovv) - l1new_aa += einsum("ai,jiab->bj", l1.aa, x212) - lu11new_aa += einsum("wai,jiab->wbj", lu11.aa, x212) - del x212 - x213 = np.zeros((nbos), dtype=types[float]) - x213 += einsum("w,wx->x", s1, w) - x219 += einsum("w->w", x213) - x516 = np.zeros((nbos), dtype=types[float]) - x516 += einsum("w->w", x213) - del x213 - x214 = np.zeros((nbos), dtype=types[float]) - x214 += einsum("ia,wia->w", t1.aa, gc.aa.bov) - x219 += einsum("w->w", x214) - x516 += einsum("w->w", x214) - del x214 - x215 = np.zeros((nbos), dtype=types[float]) - x215 += einsum("ia,wia->w", t1.bb, gc.bb.bov) - x219 += einsum("w->w", x215) - x516 += einsum("w->w", x215) - del x215 - x219 += einsum("w->w", G) - l1new_aa += einsum("w,wai->ai", x219, lu11.aa) - l1new_bb += einsum("w,wai->ai", x219, lu11.bb) - del x219 - x221 += einsum("ia->ia", f.aa.ov) - l1new_aa += einsum("ij,ja->ai", x220, x221) * -1 - del x220 - del x221 - x222 = np.zeros((nbos), dtype=types[float]) - x222 += einsum("w,xw->x", ls1, s2) - x225 = np.zeros((nbos), dtype=types[float]) - x225 += einsum("w->w", x222) - del x222 - x223 = np.zeros((nbos), dtype=types[float]) - x223 += einsum("ai,wia->w", l1.aa, u11.aa) - x225 += einsum("w->w", x223) - del x223 - x224 = np.zeros((nbos), dtype=types[float]) - x224 += einsum("ai,wia->w", l1.bb, u11.bb) - x225 += einsum("w->w", x224) - del x224 - x225 += einsum("w->w", s1) - l1new_aa += einsum("w,wia->ai", x225, g.aa.bov) - l1new_bb += einsum("w,wia->ai", x225, g.bb.bov) - del x225 - x226 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x226 += einsum("abij,ikcb->jkac", l2.abab, t2.abab) - l1new_bb += einsum("iabc,jibc->aj", v.bbaa.ovvv, x226) * -1 - del x226 - x227 += einsum("ia->ia", f.bb.ov) - x228 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x228 += einsum("ia,jkab->jkib", x227, t2.bbbb) - del x227 - x229 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x229 += einsum("ijka->kjia", x228) - del x228 - x229 += einsum("ijak->ijka", v.bbbb.oovo) * -1 - x246 += einsum("ijka->jika", x229) * -1 - x246 += einsum("ijka->kija", x229) - del x229 - x230 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x230 += einsum("ijab,kacb->ijkc", t2.bbbb, v.bbbb.ovvv) - x239 += einsum("ijka->ijka", x230) * -1 - del x230 - x231 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x231 += einsum("ia,jabc->ijbc", t1.bb, v.bbbb.ovvv) - x232 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x232 += einsum("ia,jkba->jikb", t1.bb, x231) - del x231 - x239 += einsum("ijka->ijka", x232) * -1 - del x232 - x235 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x235 += einsum("ijab,kbla->ijlk", t2.bbbb, v.bbbb.ovov) - x237 += einsum("ijkl->jilk", x235) - x238 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x238 += einsum("ia,jkil->jkla", t1.bb, x237) - del x237 - x239 += einsum("ijka->jika", x238) - del x238 - x246 += einsum("ijka->ikja", x239) * -1 - x246 += einsum("ijka->jkia", x239) - del x239 - x418 += einsum("ijkl->jilk", x235) - del x235 - x419 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x419 += einsum("abij,ijkl->klab", l2.bbbb, x418) - del x418 - x420 += einsum("ijab->ijab", x419) - del x419 - x240 += einsum("ijka->jika", v.bbbb.ooov) - x240 += einsum("ijka->jkia", v.bbbb.ooov) * -1 - x241 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x241 += einsum("ijka,jlba->likb", x240, x35) - del x240 - del x35 - x246 += einsum("ijka->jkia", x241) - x257 += einsum("ijka->jkia", x241) - del x241 - x244 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x244 += einsum("ia,jkla->ijlk", t1.bb, v.bbbb.ooov) - x245 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x245 += einsum("ijkl->jkli", x244) - x245 += einsum("ijkl->kjli", x244) * -1 - x256 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x256 += einsum("ijkl->ijkl", x244) * -1 - x256 += einsum("ijkl->ikjl", x244) - x257 += einsum("ia,jkil->jkla", t1.bb, x256) * -1 - del x256 - l1new_bb += einsum("abij,jkib->ak", l2.bbbb, x257) - del x257 - x375 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x375 += einsum("abij,jkli->klba", l2.bbbb, x244) - del x244 - x415 -= einsum("ijab->ijab", x375) - del x375 - x245 += einsum("ijkl->kijl", v.bbbb.oooo) * -1 - x245 += einsum("ijkl->kilj", v.bbbb.oooo) - x246 += einsum("ia,ijkl->ljka", t1.bb, x245) * -1 - del x245 - l1new_bb += einsum("abij,jkia->bk", l2.bbbb, x246) * -1 - del x246 - x247 += einsum("ijka->ikja", v.bbbb.ooov) - x247 += einsum("ijka->kija", v.bbbb.ooov) * -1 - x250 += einsum("ijab,jklb->ikla", t2.abab, x247) * -1 - del x247 - x248 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x248 += einsum("ia,jabc->ijbc", t1.bb, v.bbaa.ovvv) - x249 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x249 += einsum("ijab->jiab", x248) - x471 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x471 += einsum("ijab->jiab", x248) - del x248 - x249 += einsum("ijab->ijab", v.bbaa.oovv) - x250 += einsum("ia,jkba->ijkb", t1.aa, x249) - del x249 - x250 += einsum("ijak->kija", v.bbaa.oovo) - x250 += einsum("ia,jabk->kjib", t1.bb, v.bbaa.ovvo) - x250 += einsum("ijab,kbca->ikjc", t2.abab, v.bbaa.ovvv) - l1new_bb += einsum("abij,ikja->bk", l2.abab, x250) * -1 - del x250 - x251 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x251 += einsum("abij,ikac->jkbc", l2.abab, t2.abab) - x254 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x254 += einsum("ijab->ijab", x251) - del x251 - x252 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x252 += einsum("abij->jiab", l2.bbbb) * -1 - x252 += einsum("abij->jiba", l2.bbbb) - x253 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x253 += einsum("ijab,ikbc->kjca", x252, x54) - del x54 - x254 += einsum("ijab->jiba", x253) - del x253 - x421 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x421 += einsum("ijab,jkbc->kica", x254, x92) - del x92 - x439 += einsum("ijab->jiba", x421) * -1 - del x421 - x292 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x292 += einsum("wia,ijba->wjb", u11.bb, x252) * -1 - x425 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x425 += einsum("ijab,jkcb->ikac", t2.abab, x252) - x426 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x426 += einsum("iajb,ikac->jkbc", v.aabb.ovov, x425) * -1 - del x425 - x439 += einsum("ijab->jiba", x426) * -1 - del x426 - x255 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x255 += einsum("iabc->ibca", v.bbbb.ovvv) * -1 - x255 += einsum("iabc->ibac", v.bbbb.ovvv) - x463 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x463 += einsum("ia,jbac->ijbc", t1.bb, x255) - x464 += einsum("ijab->jiab", x463) * -1 - del x463 - l1new_bb += einsum("ijab,jacb->ci", x254, x255) * -1 - del x254 - l1new_bb += einsum("iabc,jiac->bj", x255, x263) - del x255 - del x263 - x258 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x258 += einsum("abij->jiab", l2.bbbb) - x258 += einsum("abij->jiba", l2.bbbb) * -1 - x259 += einsum("ijab,jkcb->ikac", t2.abab, x258) * -1 - del x258 - l1new_bb += einsum("iabc,ijab->cj", v.aabb.ovvv, x259) * -1 - del x259 - x264 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x264 += einsum("ia,bacd->icbd", t1.bb, v.bbbb.vvvv) - x265 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x265 += einsum("iabc->iabc", x264) * -1 - del x264 - x265 += einsum("aibc->iabc", v.bbbb.vovv) - x266 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x266 += einsum("iabc->iabc", x265) * -1 - x266 += einsum("iabc->ibac", x265) - del x265 - l1new_bb += einsum("abij,iabc->cj", l2.bbbb, x266) * -1 - del x266 - x267 += einsum("ai,jkba->jikb", l1.bb, t2.abab) * -1 - l1new_bb += einsum("iajb,ikja->bk", v.aabb.ovov, x267) - del x267 - x268 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x268 += einsum("ai,jkab->ikjb", l1.bb, t2.bbbb) - x271 += einsum("ijka->ijka", x268) * 0.9999999999999993 - del x268 - x272 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x272 += einsum("ijka->ijka", x271) * -1 - x272 += einsum("ijka->ikja", x271) - del x271 - l1new_bb += einsum("iajb,kija->bk", v.bbbb.ovov, x272) - del x272 - x273 = np.zeros((nocc[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) - x273 += einsum("aibc->iabc", v.aabb.vovv) - x273 += einsum("ia,bacd->ibcd", t1.aa, v.aabb.vvvv) - l1new_bb += einsum("abij,iabc->cj", l2.abab, x273) - del x273 - x274 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x274 += einsum("abij,klab->ijkl", l2.bbbb, t2.bbbb) - x275 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x275 += einsum("ijkl->jikl", x274) - x275 += einsum("ijkl->jilk", x274) * -1 - x416 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x416 += einsum("iajb,klij->lkba", v.bbbb.ovov, x274) - del x274 - x420 += einsum("ijab->ijab", x416) - del x416 - l2new_bbbb = np.zeros((nvir[1], nvir[1], nocc[1], nocc[1]), dtype=types[float]) - l2new_bbbb += einsum("ijab->abij", x420) - l2new_bbbb += einsum("ijab->baij", x420) * -1 - del x420 - x276 += einsum("ijka->ikja", v.bbbb.ooov) - l1new_bb += einsum("ijkl,klia->aj", x275, x276) * -1 - del x275 - del x276 - x277 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x277 += einsum("ia,jbca->ijcb", t1.aa, v.bbaa.ovvv) - x278 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x278 += einsum("ijab->ijab", x277) - x383 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x383 += einsum("ijab->ijab", x277) - x450 += einsum("ijab->ijab", x277) - del x277 - x278 += einsum("iabj->jiba", v.bbaa.ovvo) - l1new_bb += einsum("ijka,ikab->bj", x1, x278) * -1 - del x278 - x279 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x279 -= einsum("abij->jiab", l2.bbbb) - x279 += einsum("abij->jiba", l2.bbbb) - x289 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x289 += einsum("wia,ijba->wjb", u11.bb, x279) - x290 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x290 -= einsum("wia->wia", x289) - x402 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x402 -= einsum("wia->wia", x289) - del x289 - l1new_bb += einsum("ia,ijba->bj", x158, x279) * -1 - del x158 - lu11new_bb -= einsum("wai,ijba->wbj", g.bb.bvo, x279) - x281 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x281 += einsum("wx,wia->xia", s2, g.bb.bov) - x284 += einsum("wia->wia", x281) - x504 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x504 += einsum("wia->wia", x281) - del x281 - x282 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x282 += einsum("wia,iajb->wjb", u11.aa, v.aabb.ovov) - x284 += einsum("wia->wia", x282) - x295 += einsum("wia->wia", x282) - x406 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x406 += einsum("wia->wia", x282) - x504 += einsum("wia->wia", x282) - del x282 - x284 += einsum("wia->wia", gc.bb.bov) - x285 += einsum("ia,wja->wji", t1.bb, x284) - del x284 - x285 += einsum("wij->wij", gc.bb.boo) - x285 += einsum("wx,wij->xij", s2, g.bb.boo) - x285 += einsum("wia,iajk->wjk", u11.aa, v.aabb.ovoo) - l1new_bb += einsum("wai,wji->aj", lu11.bb, x285) * -1 - del x285 - x286 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x286 += einsum("iabc->ibca", v.bbbb.ovvv) - x286 -= einsum("iabc->ibac", v.bbbb.ovvv) - x287 = np.zeros((nbos, nvir[1], nvir[1]), dtype=types[float]) - x287 -= einsum("wia,ibac->wbc", u11.bb, x286) - x378 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x378 += einsum("ia,jbac->ijbc", t1.bb, x286) - x379 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x379 -= einsum("ijab->ijab", x378) - del x378 - x391 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x391 += einsum("ia,ibac->bc", t1.bb, x286) - del x286 - x392 -= einsum("ab->ab", x391) - del x391 - x393 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x393 += einsum("ab,acij->ijcb", x392, l2.bbbb) - del x392 - x415 += einsum("ijab->jiab", x393) - del x393 - x287 += einsum("wab->wab", gc.bb.bvv) - x287 += einsum("wx,wab->xab", s2, g.bb.bvv) - x287 += einsum("wia,iabc->wbc", u11.aa, v.aabb.ovvv) - l1new_bb += einsum("wai,wab->bi", lu11.bb, x287) - del x287 - x288 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x288 += einsum("wia,abij->wjb", u11.aa, l2.abab) - x290 += einsum("wia->wia", x288) - x506 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x506 += einsum("wia,wjb->ijab", g.aa.bov, x290) - l2new_baba += einsum("ijab->baji", x506) - l2new_abab += einsum("ijab->abij", x506) - del x506 - l1new_bb += einsum("wab,wia->bi", g.bb.bvv, x290) - l1new_bb += einsum("wij,wja->ai", x138, x290) * -1 - del x138 - del x290 - x292 += einsum("wia->wia", x288) - x402 += einsum("wia->wia", x288) - del x288 - x291 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x291 += einsum("wx,xai->wia", s2, lu11.bb) - x292 += einsum("wia->wia", x291) - x294 += einsum("ia,wja->wji", t1.bb, x292) - del x292 - x402 += einsum("wia->wia", x291) - del x291 - x403 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x403 += einsum("wia,wjb->ijab", g.bb.bov, x402) - del x402 - x415 += einsum("ijab->ijab", x403) - del x403 - x294 += einsum("ai,wja->wij", l1.bb, u11.bb) - l1new_bb += einsum("wia,wji->aj", g.bb.bov, x294) * -1 - del x294 - x295 += einsum("wia->wia", gc.bb.bov) - l1new_bb += einsum("wij,wja->ai", x178, x295) * -1 - del x178 - del x295 - x296 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x296 += einsum("iabj->ijba", v.bbbb.ovvo) - x296 -= einsum("ijab->ijab", v.bbbb.oovv) - l1new_bb += einsum("ai,jiab->bj", l1.bb, x296) - lu11new_bb += einsum("wai,jiab->wbj", lu11.bb, x296) - del x296 - x298 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x298 += einsum("wia,wbj->ijab", gc.aa.bov, lu11.aa) - x342 += einsum("ijab->ijab", x298) - del x298 - x299 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x299 += einsum("ai,jbac->ijbc", l1.aa, v.aaaa.ovvv) - x342 -= einsum("ijab->ijab", x299) - del x299 - x305 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x305 += einsum("abij->jiab", l2.aaaa) - x305 -= einsum("abij->jiba", l2.aaaa) - x307 += einsum("ijab->jiab", v.aaaa.oovv) - x307 -= einsum("iabj->jiba", v.aaaa.ovvo) - x308 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x308 += einsum("ijab,ikac->jkbc", x305, x307) - del x305 - del x307 - x342 += einsum("ijab->ijab", x308) - del x308 - x309 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x309 -= einsum("ijab->jiab", t2.bbbb) - x309 += einsum("ijab->jiba", t2.bbbb) - x310 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x310 += einsum("iajb,jkcb->ikac", v.aabb.ovov, x309) - x311 -= einsum("ijab->ijab", x310) - del x310 - x527 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x527 += einsum("wia,ijba->wjb", g.bb.bov, x309) - del x309 - x530 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x530 -= einsum("wia->wia", x527) - del x527 - x311 += einsum("iabj->ijab", v.aabb.ovvo) - x312 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x312 += einsum("abij,kjcb->ikac", l2.abab, x311) - del x311 - x342 += einsum("ijab->ijab", x312) - del x312 - x314 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x314 -= einsum("ijka->ikja", v.aaaa.ooov) - x314 += einsum("ijka->kija", v.aaaa.ooov) - x315 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x315 += einsum("ijka,lkib->jlab", x313, x314) - del x313 - x342 += einsum("ijab->ijab", x315) - del x315 - l2new_abab += einsum("ijka,kilb->abjl", x314, x56) - del x314 - x316 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x316 += einsum("wia,wib->ab", g.aa.bov, u11.aa) - x317 -= einsum("ab->ba", x316) - x487 += einsum("ab->ba", x316) * -1 - del x316 - x317 += einsum("ab->ab", f.aa.vv) - x318 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x318 += einsum("ab,acij->ijcb", x317, l2.aaaa) - del x317 - x342 -= einsum("ijab->jiba", x318) - del x318 - x322 += einsum("ia->ia", f.aa.ov) - x323 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x323 += einsum("ia,ja->ij", t1.aa, x322) - x324 += einsum("ij->ji", x323) - del x323 - x337 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x337 += einsum("ia,jkib->jkba", x322, x57) - del x57 - x342 += einsum("ijab->ijba", x337) - del x337 - x342 += einsum("ai,jb->jiba", l1.aa, x322) - del x322 - x324 += einsum("ij->ij", f.aa.oo) - x325 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x325 += einsum("ij,abjk->kiab", x324, l2.aaaa) - del x324 - x342 += einsum("ijab->jiba", x325) - del x325 - x326 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x326 += einsum("ijka->ikja", v.aaaa.ooov) - x326 -= einsum("ijka->kija", v.aaaa.ooov) - x327 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x327 += einsum("ia,ijka->jk", t1.aa, x326) - x328 -= einsum("ij->ij", x327) - del x327 - x329 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x329 += einsum("ij,abjk->kiab", x328, l2.aaaa) - del x328 - x342 -= einsum("ijab->ijba", x329) - del x329 - l2new_baba -= einsum("ijka,kilb->balj", x326, x56) - del x56 - del x326 - x338 -= einsum("ijka->jika", v.aaaa.ooov) - x339 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x339 += einsum("ai,ijkb->jkab", l1.aa, x338) - del x338 - x342 += einsum("ijab->ijab", x339) - del x339 - l2new_aaaa += einsum("ijab->abij", x342) - l2new_aaaa -= einsum("ijab->baij", x342) - l2new_aaaa -= einsum("ijab->abji", x342) - l2new_aaaa += einsum("ijab->baji", x342) - del x342 - x343 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x343 += einsum("ijab,kcjb->ikac", t2.abab, v.aabb.ovov) - x345 += einsum("ijab->ijab", x343) - x346 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x346 += einsum("ijab,ikac->kjcb", x345, x48) - del x48 - del x345 - x362 += einsum("ijab->ijab", x346) - del x346 - x459 += einsum("ijab->jiab", x343) - del x343 - x354 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x354 += einsum("ijab,icjb->ac", t2.abab, v.aabb.ovov) - x356 += einsum("ab->ab", x354) - x357 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x357 += einsum("ab,acij->ijcb", x356, l2.aaaa) - del x356 - x362 += einsum("ijab->jiab", x357) - del x357 - l2new_aaaa += einsum("ijab->abij", x362) * -1 - l2new_aaaa += einsum("ijab->baij", x362) - l2new_aaaa += einsum("ijab->abji", x362) - l2new_aaaa += einsum("ijab->baji", x362) * -1 - del x362 - x487 += einsum("ab->ab", x354) * -1 - del x354 - x363 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x363 += einsum("abij,kjli->klba", l2.aaaa, v.aaaa.oooo) - x365 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x365 += einsum("ijab->jiba", x363) - del x363 - x364 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x364 += einsum("abij,acbd->ijcd", l2.aaaa, v.aaaa.vvvv) - x365 += einsum("ijab->jiba", x364) - del x364 - l2new_aaaa += einsum("ijab->baij", x365) * -1 - l2new_aaaa += einsum("ijab->abij", x365) - del x365 - x371 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x371 += einsum("wia,wbj->ijab", gc.bb.bov, lu11.bb) - x415 += einsum("ijab->ijab", x371) - del x371 - x372 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x372 += einsum("ai,jbac->ijbc", l1.bb, v.bbbb.ovvv) - x415 -= einsum("ijab->ijab", x372) - del x372 - x379 += einsum("ijab->jiab", v.bbbb.oovv) - x379 -= einsum("iabj->jiba", v.bbbb.ovvo) - x380 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x380 += einsum("ijab,ikbc->jkac", x279, x379) - del x379 - del x279 - x415 += einsum("ijab->ijab", x380) - del x380 - x381 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x381 -= einsum("ijab->jiab", t2.aaaa) - x381 += einsum("ijab->jiba", t2.aaaa) - x382 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x382 += einsum("iajb,ikca->kjcb", v.aabb.ovov, x381) - x383 -= einsum("ijab->ijab", x382) - del x382 - x520 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x520 += einsum("wia,ijba->wjb", g.aa.bov, x381) - del x381 - x523 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x523 -= einsum("wia->wia", x520) - del x520 - x383 += einsum("iabj->jiba", v.bbaa.ovvo) - x384 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x384 += einsum("abij,ikac->jkbc", l2.abab, x383) - del x383 - x415 += einsum("ijab->ijab", x384) - del x384 - x386 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x386 -= einsum("ijka->ikja", v.bbbb.ooov) - x386 += einsum("ijka->kija", v.bbbb.ooov) - x387 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x387 += einsum("ijka,lkjb->ilab", x385, x386) - del x385 - del x386 - x415 += einsum("ijab->ijab", x387) - del x387 - x388 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x388 += einsum("wia,wib->ab", g.bb.bov, u11.bb) - x389 -= einsum("ab->ba", x388) - x490 += einsum("ab->ba", x388) * -1 - del x388 - x389 += einsum("ab->ab", f.bb.vv) - x390 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x390 += einsum("ab,acij->ijcb", x389, l2.bbbb) - del x389 - x415 -= einsum("ijab->jiba", x390) - del x390 - x394 += einsum("ia->ia", f.bb.ov) - x395 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x395 += einsum("ia,ja->ij", t1.bb, x394) - x396 += einsum("ij->ji", x395) - del x395 - x410 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x410 += einsum("ia,jkib->jkba", x394, x181) - del x181 - x415 += einsum("ijab->ijba", x410) - del x410 - x415 += einsum("ai,jb->jiba", l1.bb, x394) - del x394 - x396 += einsum("ij->ij", f.bb.oo) - x397 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x397 += einsum("ij,abjk->kiab", x396, l2.bbbb) - del x396 - x415 += einsum("ijab->jiba", x397) - del x397 - x398 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x398 += einsum("ijka->ikja", v.bbbb.ooov) - x398 -= einsum("ijka->kija", v.bbbb.ooov) - x399 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x399 += einsum("ia,ijka->jk", t1.bb, x398) - x400 -= einsum("ij->ij", x399) - del x399 - x401 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x401 += einsum("ij,abjk->kiab", x400, l2.bbbb) - del x400 - x415 -= einsum("ijab->ijba", x401) - del x401 - x484 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x484 += einsum("ijka,kljb->ilab", x1, x398) - del x1 - del x398 - l2new_baba -= einsum("ijab->baji", x484) - l2new_abab -= einsum("ijab->abij", x484) - del x484 - x404 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x404 -= einsum("iajb->jiab", v.bbbb.ovov) - x404 += einsum("iajb->jiba", v.bbbb.ovov) - x405 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x405 += einsum("wia,ijba->wjb", u11.bb, x404) - x406 -= einsum("wia->wia", x405) - x407 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x407 += einsum("wai,wjb->ijab", lu11.bb, x406) - del x406 - x415 += einsum("ijab->ijab", x407) - del x407 - x504 -= einsum("wia->wia", x405) - del x405 - x413 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x413 += einsum("ia,ijba->jb", t1.bb, x404) - del x404 - x414 -= einsum("ia->ia", x413) - x415 += einsum("ai,jb->ijab", l1.bb, x414) - del x414 - x513 -= einsum("ia->ia", x413) - del x413 - x411 -= einsum("ijka->jika", v.bbbb.ooov) - x412 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x412 += einsum("ai,ijkb->jkab", l1.bb, x411) - del x411 - x415 += einsum("ijab->ijab", x412) - del x412 - l2new_bbbb += einsum("ijab->abij", x415) - l2new_bbbb -= einsum("ijab->baij", x415) - l2new_bbbb -= einsum("ijab->abji", x415) - l2new_bbbb += einsum("ijab->baji", x415) - del x415 - x431 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x431 += einsum("ijab,iajc->bc", t2.abab, v.aabb.ovov) - x433 += einsum("ab->ab", x431) - x434 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x434 += einsum("ab,acij->ijcb", x433, l2.bbbb) - del x433 - x439 += einsum("ijab->jiab", x434) - del x434 - l2new_bbbb += einsum("ijab->abij", x439) * -1 - l2new_bbbb += einsum("ijab->baij", x439) - l2new_bbbb += einsum("ijab->abji", x439) - l2new_bbbb += einsum("ijab->baji", x439) * -1 - del x439 - x490 += einsum("ab->ab", x431) * -1 - del x431 - x440 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x440 += einsum("abij,kjli->klba", l2.bbbb, v.bbbb.oooo) - x442 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x442 += einsum("ijab->jiba", x440) - del x440 - x441 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x441 += einsum("abij,bcad->ijdc", l2.bbbb, v.bbbb.vvvv) - x442 += einsum("ijab->jiba", x441) - del x441 - l2new_bbbb += einsum("ijab->baij", x442) * -1 - l2new_bbbb += einsum("ijab->abij", x442) - del x442 - x443 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x443 += einsum("ai,jbac->ijcb", l1.aa, v.bbaa.ovvv) - l2new_baba += einsum("ijab->baji", x443) - l2new_abab += einsum("ijab->abij", x443) - del x443 - x445 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x445 += einsum("abij,acbd->ijcd", l2.abab, v.aabb.vvvv) - l2new_baba += einsum("ijab->baji", x445) - l2new_abab += einsum("ijab->abij", x445) - del x445 - x447 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x447 += einsum("ai,jbac->jibc", l1.bb, v.aabb.ovvv) - l2new_baba += einsum("ijab->baji", x447) - l2new_abab += einsum("ijab->abij", x447) - del x447 - x450 += einsum("iabj->jiba", v.bbaa.ovvo) - x451 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x451 += einsum("ijab,ikbc->jkac", x207, x450) - del x450 - del x207 - l2new_baba += einsum("ijab->baji", x451) * -1 - l2new_abab += einsum("ijab->abij", x451) * -1 - del x451 - x452 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x452 += einsum("abij->jiab", l2.bbbb) - x452 -= einsum("abij->jiba", l2.bbbb) - x455 += einsum("iabj->ijab", v.aabb.ovvo) - l2new_baba += einsum("ijab,kicb->acjk", x452, x455) - del x452 - l2new_abab += einsum("ijab,kicb->cakj", x252, x455) * -1 - del x252 - del x455 - x456 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x456 += einsum("iajb->jiab", v.aaaa.ovov) - x456 += einsum("iajb->jiba", v.aaaa.ovov) * -1 - x457 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x457 += einsum("ijab,ikca->jkbc", x24, x456) - del x24 - del x456 - x459 += einsum("ijab->jiab", x457) - del x457 - x459 += einsum("iabj->ijba", v.aaaa.ovvo) - x459 += einsum("ijab->ijab", v.aaaa.oovv) * -1 - x460 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x460 += einsum("abij,kiac->kjcb", l2.abab, x459) - del x459 - l2new_baba += einsum("ijab->baji", x460) - l2new_abab += einsum("ijab->abij", x460) - del x460 - x461 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x461 += einsum("ijab,iakc->jkbc", t2.abab, v.aabb.ovov) - x464 += einsum("ijab->jiab", x461) - del x461 - x464 += einsum("iabj->ijba", v.bbbb.ovvo) - x464 += einsum("ijab->ijab", v.bbbb.oovv) * -1 - x465 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x465 += einsum("abij,kjbc->ikac", l2.abab, x464) - del x464 - l2new_baba += einsum("ijab->baji", x465) - l2new_abab += einsum("ijab->abij", x465) - del x465 - x466 = np.zeros((nocc[0], nocc[0], nvir[1], nvir[1]), dtype=types[float]) - x466 += einsum("ia,jabc->ijbc", t1.aa, v.aabb.ovvv) - x468 = np.zeros((nocc[0], nocc[0], nvir[1], nvir[1]), dtype=types[float]) - x468 += einsum("ijab->jiab", x466) - del x466 - x467 = np.zeros((nocc[0], nocc[0], nvir[1], nvir[1]), dtype=types[float]) - x467 += einsum("ijab,kajc->ikbc", t2.abab, v.aabb.ovov) - x468 += einsum("ijab->jiab", x467) * -1 - del x467 - x468 += einsum("ijab->ijab", v.aabb.oovv) - x469 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x469 += einsum("abij,kibc->kjac", l2.abab, x468) - del x468 - l2new_baba += einsum("ijab->baji", x469) * -1 - l2new_abab += einsum("ijab->abij", x469) * -1 - del x469 - x470 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x470 += einsum("ijab,ickb->jkac", t2.abab, v.aabb.ovov) - x471 += einsum("ijab->jiab", x470) * -1 - del x470 - x471 += einsum("ijab->ijab", v.bbaa.oovv) - x472 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x472 += einsum("abij,kjac->ikcb", l2.abab, x471) - del x471 - l2new_baba += einsum("ijab->baji", x472) * -1 - l2new_abab += einsum("ijab->abij", x472) * -1 - del x472 - x474 += einsum("ijkl->ijkl", v.aabb.oooo) - x475 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x475 += einsum("abij,kilj->klab", l2.abab, x474) - del x474 - l2new_baba += einsum("ijab->baji", x475) - l2new_abab += einsum("ijab->abij", x475) - del x475 - x487 += einsum("ab->ab", f.aa.vv) - x488 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x488 += einsum("ab,acij->ijbc", x487, l2.abab) - del x487 - l2new_baba += einsum("ijab->baji", x488) - l2new_abab += einsum("ijab->abij", x488) - del x488 - x490 += einsum("ab->ab", f.bb.vv) - x491 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x491 += einsum("ab,caij->ijcb", x490, l2.abab) - del x490 - l2new_baba += einsum("ijab->baji", x491) - l2new_abab += einsum("ijab->abij", x491) - del x491 - x502 += einsum("wia->wia", gc.aa.bov) - x503 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x503 += einsum("wai,wjb->jiba", lu11.bb, x502) - del x502 - l2new_baba += einsum("ijab->baji", x503) - l2new_abab += einsum("ijab->abij", x503) - del x503 - x504 += einsum("wia->wia", gc.bb.bov) - x505 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x505 += einsum("wai,wjb->ijab", lu11.aa, x504) - del x504 - l2new_baba += einsum("ijab->baji", x505) - l2new_abab += einsum("ijab->abij", x505) - del x505 - x508 += einsum("ijka->ijka", v.aabb.ooov) - x509 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x509 += einsum("ai,jikb->jkab", l1.aa, x508) - del x508 - l2new_baba -= einsum("ijab->baji", x509) - l2new_abab -= einsum("ijab->abij", x509) - del x509 - x510 += einsum("iajk->ijka", v.aabb.ovoo) - x511 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x511 += einsum("ai,jkib->jkba", l1.bb, x510) - del x510 - l2new_baba -= einsum("ijab->baji", x511) - l2new_abab -= einsum("ijab->abij", x511) - del x511 - x512 += einsum("ia->ia", f.aa.ov) - x516 += einsum("ia,wia->w", x512, u11.aa) - l2new_baba += einsum("ai,jb->abij", l1.bb, x512) - l2new_abab += einsum("ai,jb->baji", l1.bb, x512) - del x512 - x513 += einsum("ia->ia", f.bb.ov) - x516 += einsum("ia,wia->w", x513, u11.bb) - l2new_baba += einsum("ai,jb->baji", l1.aa, x513) - l2new_abab += einsum("ai,jb->abij", l1.aa, x513) - del x513 - x515 += einsum("w->w", G) - x516 += einsum("w,wx->x", x515, s2) - x536 = np.zeros((nbos, nbos), dtype=types[float]) - x536 += einsum("w,x->xw", ls1, x515) - del x515 - x516 += einsum("w->w", G) - ls1new += einsum("w,wx->x", x516, ls2) - del x516 - x517 = np.zeros((nbos, nbos), dtype=types[float]) - x517 += einsum("wx,yx->wy", ls2, w) - x536 += einsum("wx->wx", x517) - del x517 - x518 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x518 += einsum("ia,wba->wib", t1.aa, g.aa.bvv) - x523 += einsum("wia->wia", x518) - del x518 - x519 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x519 += einsum("wia,jiba->wjb", g.bb.bov, t2.abab) - x523 += einsum("wia->wia", x519) - del x519 - x521 += einsum("wij->wij", g.aa.boo) - x522 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x522 += einsum("ia,wij->wja", t1.aa, x521) - del x521 - x523 -= einsum("wia->wia", x522) - del x522 - x523 += einsum("wai->wia", g.aa.bvo) - x524 = np.zeros((nbos, nbos), dtype=types[float]) - x524 += einsum("wai,xia->wx", lu11.aa, x523) - del x523 - x536 += einsum("wx->xw", x524) - del x524 - x525 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x525 += einsum("ia,wba->wib", t1.bb, g.bb.bvv) - x530 += einsum("wia->wia", x525) - del x525 - x526 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x526 += einsum("wia,ijab->wjb", g.aa.bov, t2.abab) - x530 += einsum("wia->wia", x526) - del x526 - x528 += einsum("wij->wij", g.bb.boo) - x529 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x529 += einsum("ia,wij->wja", t1.bb, x528) - del x528 - x530 -= einsum("wia->wia", x529) - del x529 - x530 += einsum("wai->wia", g.bb.bvo) - x531 = np.zeros((nbos, nbos), dtype=types[float]) - x531 += einsum("wai,xia->wx", lu11.bb, x530) - del x530 - x536 += einsum("wx->xw", x531) - del x531 - x532 = np.zeros((nbos, nbos), dtype=types[float]) - x532 += einsum("wia,xia->wx", g.aa.bov, u11.aa) - x534 = np.zeros((nbos, nbos), dtype=types[float]) - x534 += einsum("wx->wx", x532) - del x532 - x533 = np.zeros((nbos, nbos), dtype=types[float]) - x533 += einsum("wia,xia->wx", g.bb.bov, u11.bb) - x534 += einsum("wx->wx", x533) - del x533 - x535 = np.zeros((nbos, nbos), dtype=types[float]) - x535 += einsum("wx,yw->xy", ls2, x534) - del x534 - x536 += einsum("wx->xw", x535) - del x535 - ls2new = np.zeros((nbos, nbos), dtype=types[float]) - ls2new += einsum("wx->wx", x536) - ls2new += einsum("wx->xw", x536) - del x536 - l1new_aa += einsum("ia->ai", f.aa.ov) - l1new_aa += einsum("w,wia->ai", ls1, gc.aa.bov) - l1new_aa += einsum("ai,jbai->bj", l1.bb, v.aabb.ovvo) - l1new_bb += einsum("ai,jbai->bj", l1.aa, v.bbaa.ovvo) - l1new_bb += einsum("ia->ai", f.bb.ov) - l1new_bb += einsum("w,wia->ai", ls1, gc.bb.bov) - l2new_aaaa -= einsum("iajb->abji", v.aaaa.ovov) - l2new_aaaa += einsum("iajb->baji", v.aaaa.ovov) - l2new_bbbb -= einsum("iajb->abji", v.bbbb.ovov) - l2new_bbbb += einsum("iajb->baji", v.bbbb.ovov) - l2new_baba += einsum("iajb->baji", v.aabb.ovov) - l2new_abab += einsum("iajb->abij", v.aabb.ovov) - ls1new += einsum("ai,wai->w", l1.aa, g.aa.bvo) - ls1new += einsum("w->w", G) - ls1new += einsum("w,xw->x", ls1, w) - ls1new += einsum("ai,wai->w", l1.bb, g.bb.bvo) - lu11new_aa += einsum("ab,wai->wbi", f.aa.vv, lu11.aa) - lu11new_aa += einsum("ai,wab->wbi", l1.aa, g.aa.bvv) - lu11new_aa += einsum("wx,xia->wai", ls2, gc.aa.bov) - lu11new_aa += einsum("wx,xai->wai", w, lu11.aa) - lu11new_aa -= einsum("ij,waj->wai", f.aa.oo, lu11.aa) - lu11new_aa -= einsum("ai,wji->waj", l1.aa, g.aa.boo) - lu11new_aa += einsum("wia->wai", g.aa.bov) - lu11new_aa += einsum("wai,baji->wbj", g.bb.bvo, l2.abab) - lu11new_aa += einsum("wai,jbai->wbj", lu11.bb, v.aabb.ovvo) - lu11new_bb -= einsum("ij,waj->wai", f.bb.oo, lu11.bb) - lu11new_bb -= einsum("ai,wji->waj", l1.bb, g.bb.boo) - lu11new_bb += einsum("wx,xia->wai", ls2, gc.bb.bov) - lu11new_bb += einsum("wx,xai->wai", w, lu11.bb) - lu11new_bb += einsum("wia->wai", g.bb.bov) - lu11new_bb += einsum("ab,wai->wbi", f.bb.vv, lu11.bb) - lu11new_bb += einsum("ai,wab->wbi", l1.bb, g.bb.bvv) - lu11new_bb += einsum("wai,abij->wbj", g.aa.bvo, l2.abab) - lu11new_bb += einsum("wai,jbai->wbj", lu11.aa, v.bbaa.ovvo) - - l1new.aa = l1new_aa - l1new.bb = l1new_bb - l2new.abab = l2new_abab - l2new.baba = l2new_baba - l2new.aaaa = l2new_aaaa - l2new.bbbb = l2new_bbbb - lu11new.aa = lu11new_aa - lu11new.bb = lu11new_bb - - return {"l1new": l1new, "l2new": l2new, "ls1new": ls1new, "ls2new": ls2new, "lu11new": lu11new} - -def make_rdm1_f(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, s2=None, u11=None, l1=None, l2=None, ls1=None, ls2=None, lu11=None, **kwargs): - rdm1_f = Namespace() - - # Get boson coupling creation array: - gc = Namespace( - aa = Namespace( - boo=g.aa.boo.transpose(0, 2, 1), - bov=g.aa.bvo.transpose(0, 2, 1), - bvo=g.aa.bov.transpose(0, 2, 1), - bvv=g.aa.bvv.transpose(0, 2, 1), - ), - bb = Namespace( - boo=g.bb.boo.transpose(0, 2, 1), - bov=g.bb.bvo.transpose(0, 2, 1), - bvo=g.bb.bov.transpose(0, 2, 1), - bvv=g.bb.bvv.transpose(0, 2, 1), - ), - ) - - delta_oo = Namespace() - delta_oo.aa = np.eye(nocc[0]) - delta_oo.bb = np.eye(nocc[1]) - delta_vv = Namespace() - delta_vv.aa = np.eye(nvir[0]) - delta_vv.bb = np.eye(nvir[1]) - - # 1RDM - x0 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x0 += einsum("abij,kjab->ik", l2.abab, t2.abab) - x14 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x14 += einsum("ij->ij", x0) - rdm1_f_oo_aa = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - rdm1_f_oo_aa += einsum("ij->ij", x0) * -1 - del x0 - x1 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x1 += einsum("ai,ja->ij", l1.aa, t1.aa) - x14 += einsum("ij->ij", x1) - rdm1_f_oo_aa -= einsum("ij->ij", x1) - del x1 - x2 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x2 += einsum("wai,wja->ij", lu11.aa, u11.aa) - x14 += einsum("ij->ij", x2) - rdm1_f_oo_aa -= einsum("ij->ij", x2) - del x2 - x3 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x3 += einsum("ijab->jiab", t2.aaaa) - x3 += einsum("ijab->jiba", t2.aaaa) * -1 - rdm1_f_oo_aa += einsum("abij,ikba->jk", l2.aaaa, x3) * -1 - del x3 - x4 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x4 += einsum("wai,wja->ij", lu11.bb, u11.bb) - x21 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x21 += einsum("ij->ij", x4) - rdm1_f_oo_bb = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - rdm1_f_oo_bb -= einsum("ij->ij", x4) - del x4 - x5 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x5 += einsum("abij,ikab->jk", l2.abab, t2.abab) - x21 += einsum("ij->ij", x5) - rdm1_f_oo_bb += einsum("ij->ij", x5) * -1 - del x5 - x6 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x6 += einsum("ai,ja->ij", l1.bb, t1.bb) - x21 += einsum("ij->ij", x6) - rdm1_f_oo_bb -= einsum("ij->ij", x6) - del x6 - x7 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x7 += einsum("ijab->jiab", t2.bbbb) - x7 += einsum("ijab->jiba", t2.bbbb) * -1 - rdm1_f_oo_bb += einsum("abij,ikba->jk", l2.bbbb, x7) * -1 - del x7 - x8 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) - x8 += einsum("ia,waj->wji", t1.aa, lu11.aa) - rdm1_f_vo_aa = np.zeros((nvir[0], nocc[0]), dtype=types[float]) - rdm1_f_vo_aa -= einsum("wia,wij->aj", u11.aa, x8) - del x8 - x9 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x9 += einsum("ia,abjk->jikb", t1.aa, l2.abab) - rdm1_f_vo_aa += einsum("ijab,ikjb->ak", t2.abab, x9) * -1 - del x9 - x10 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x10 += einsum("ia,bajk->jkib", t1.aa, l2.aaaa) - x11 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x11 += einsum("ijka->ijka", x10) * -1 - x11 += einsum("ijka->jika", x10) - del x10 - rdm1_f_vo_aa += einsum("ijab,ijkb->ak", t2.aaaa, x11) * -1 - del x11 - x12 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x12 -= einsum("ijab->jiab", t2.aaaa) - x12 += einsum("ijab->jiba", t2.aaaa) - rdm1_f_vo_aa -= einsum("ai,ijba->bj", l1.aa, x12) - del x12 - x13 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x13 += einsum("ijab->jiab", t2.aaaa) * -1 - x13 += einsum("ijab->jiba", t2.aaaa) - x14 += einsum("abij,ikba->jk", l2.aaaa, x13) * -1 - del x13 - rdm1_f_vo_aa += einsum("ia,ij->aj", t1.aa, x14) * -1 - del x14 - x15 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x15 += einsum("ia,bajk->jkib", t1.bb, l2.abab) - rdm1_f_vo_bb = np.zeros((nvir[1], nocc[1]), dtype=types[float]) - rdm1_f_vo_bb += einsum("ijab,ijka->bk", t2.abab, x15) * -1 - del x15 - x16 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) - x16 += einsum("ia,waj->wji", t1.bb, lu11.bb) - rdm1_f_vo_bb -= einsum("wia,wij->aj", u11.bb, x16) - del x16 - x17 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x17 += einsum("ia,abjk->kjib", t1.bb, l2.bbbb) - x18 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x18 += einsum("ijka->ijka", x17) - x18 += einsum("ijka->jika", x17) * -1 - del x17 - rdm1_f_vo_bb += einsum("ijab,ijka->bk", t2.bbbb, x18) * -1 - del x18 - x19 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x19 += einsum("ijab->jiab", t2.bbbb) - x19 -= einsum("ijab->jiba", t2.bbbb) - rdm1_f_vo_bb -= einsum("ai,ijab->bj", l1.bb, x19) - del x19 - x20 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x20 += einsum("ijab->jiab", t2.bbbb) * -1 - x20 += einsum("ijab->jiba", t2.bbbb) - x21 += einsum("abij,ikba->jk", l2.bbbb, x20) * -1 - del x20 - rdm1_f_vo_bb += einsum("ia,ij->aj", t1.bb, x21) * -1 - del x21 - x22 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x22 += einsum("abij->jiab", l2.aaaa) - x22 += einsum("abij->jiba", l2.aaaa) * -1 - rdm1_f_vv_aa = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - rdm1_f_vv_aa += einsum("ijab,ijcb->ac", t2.aaaa, x22) * -1 - del x22 - x23 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x23 += einsum("abij->jiab", l2.bbbb) * -1 - x23 += einsum("abij->jiba", l2.bbbb) - rdm1_f_vv_bb = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - rdm1_f_vv_bb += einsum("ijab,ijca->bc", t2.bbbb, x23) * -1 - del x23 - rdm1_f_oo_aa += einsum("ij->ji", delta_oo.aa) - rdm1_f_oo_bb += einsum("ij->ji", delta_oo.bb) - rdm1_f_ov_aa = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - rdm1_f_ov_aa += einsum("ai->ia", l1.aa) - rdm1_f_ov_bb = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - rdm1_f_ov_bb += einsum("ai->ia", l1.bb) - rdm1_f_vo_aa += einsum("ai,jiba->bj", l1.bb, t2.abab) - rdm1_f_vo_aa += einsum("w,wia->ai", ls1, u11.aa) - rdm1_f_vo_aa += einsum("ia->ai", t1.aa) - rdm1_f_vo_bb += einsum("ai,ijab->bj", l1.aa, t2.abab) - rdm1_f_vo_bb += einsum("w,wia->ai", ls1, u11.bb) - rdm1_f_vo_bb += einsum("ia->ai", t1.bb) - rdm1_f_vv_aa += einsum("wai,wib->ba", lu11.aa, u11.aa) - rdm1_f_vv_aa += einsum("ai,ib->ba", l1.aa, t1.aa) - rdm1_f_vv_aa += einsum("abij,ijcb->ca", l2.abab, t2.abab) - rdm1_f_vv_bb += einsum("wai,wib->ba", lu11.bb, u11.bb) - rdm1_f_vv_bb += einsum("abij,ijac->cb", l2.abab, t2.abab) - rdm1_f_vv_bb += einsum("ai,ib->ba", l1.bb, t1.bb) - - rdm1_f_aa = np.block([[rdm1_f_oo_aa, rdm1_f_ov_aa], [rdm1_f_vo_aa, rdm1_f_vv_aa]]) - rdm1_f_bb = np.block([[rdm1_f_oo_bb, rdm1_f_ov_bb], [rdm1_f_vo_bb, rdm1_f_vv_bb]]) - - rdm1_f.aa = rdm1_f_aa - rdm1_f.bb = rdm1_f_bb - - return rdm1_f - -def make_rdm2_f(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, s2=None, u11=None, l1=None, l2=None, ls1=None, ls2=None, lu11=None, **kwargs): - rdm2_f = Namespace() - - # Get boson coupling creation array: - gc = Namespace( - aa = Namespace( - boo=g.aa.boo.transpose(0, 2, 1), - bov=g.aa.bvo.transpose(0, 2, 1), - bvo=g.aa.bov.transpose(0, 2, 1), - bvv=g.aa.bvv.transpose(0, 2, 1), - ), - bb = Namespace( - boo=g.bb.boo.transpose(0, 2, 1), - bov=g.bb.bvo.transpose(0, 2, 1), - bvo=g.bb.bov.transpose(0, 2, 1), - bvv=g.bb.bvv.transpose(0, 2, 1), - ), - ) - - delta_oo = Namespace() - delta_oo.aa = np.eye(nocc[0]) - delta_oo.bb = np.eye(nocc[1]) - delta_vv = Namespace() - delta_vv.aa = np.eye(nvir[0]) - delta_vv.bb = np.eye(nvir[1]) - - # 2RDM - x0 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x0 += einsum("ai,ja->ij", l1.aa, t1.aa) - x12 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x12 += einsum("ij->ji", x0) - x33 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x33 += einsum("ij->ij", x0) - x47 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x47 += einsum("ia,ij->ja", t1.aa, x0) - x48 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x48 -= einsum("ia->ia", x47) - del x47 - x85 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x85 += einsum("ij->ij", x0) - x153 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x153 += einsum("ij,kiab->jkab", x0, t2.aaaa) - x171 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x171 += einsum("ijab->ijab", x153) - del x153 - x258 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x258 += einsum("ij->ij", x0) - rdm2_f_oooo_aaaa = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - rdm2_f_oooo_aaaa -= einsum("ij,kl->jikl", delta_oo.aa, x0) - rdm2_f_oooo_aaaa += einsum("ij,kl->kijl", delta_oo.aa, x0) - rdm2_f_oooo_aaaa += einsum("ij,kl->jlki", delta_oo.aa, x0) - rdm2_f_oooo_aaaa -= einsum("ij,kl->klji", delta_oo.aa, x0) - del x0 - x1 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x1 += einsum("abij,kjab->ik", l2.abab, t2.abab) - x4 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x4 += einsum("ij->ij", x1) - x12 += einsum("ij->ji", x1) - x85 += einsum("ij->ij", x1) - x258 += einsum("ij->ij", x1) - del x1 - x2 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x2 += einsum("ijab->jiab", t2.aaaa) - x2 += einsum("ijab->jiba", t2.aaaa) * -1 - x3 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x3 += einsum("abij,ikab->jk", l2.aaaa, x2) - x4 += einsum("ij->ij", x3) * -1 - x43 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x43 += einsum("ia,ij->ja", t1.aa, x4) - x44 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x44 += einsum("ia->ia", x43) - del x43 - x45 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x45 += einsum("ia,jk->jika", t1.aa, x4) - x96 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x96 += einsum("ia,jk->jika", t1.aa, x4) - x174 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x174 += einsum("ij,ikab->kjab", x4, t2.aaaa) - x175 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x175 += einsum("ijab->ijba", x174) - del x174 - rdm2_f_oooo_aaaa += einsum("ij,kl->jikl", delta_oo.aa, x4) * -1 - rdm2_f_oooo_aaaa += einsum("ij,kl->jlki", delta_oo.aa, x4) - rdm2_f_oooo_aaaa += einsum("ij,kl->kjil", delta_oo.aa, x4) - rdm2_f_oooo_aaaa += einsum("ij,kl->klij", delta_oo.aa, x4) * -1 - del x4 - x12 += einsum("ij->ji", x3) * -1 - x85 += einsum("ij->ij", x3) * -1 - del x3 - x92 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x92 += einsum("ai,ijba->jb", l1.aa, x2) - x94 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x94 += einsum("ia->ia", x92) * -1 - x259 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x259 += einsum("ia->ia", x92) * -1 - del x92 - x257 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x257 += einsum("abij,ikab->jk", l2.aaaa, x2) - x258 += einsum("ij->ij", x257) * -1 - del x257 - x260 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x260 += einsum("ai,ijba->jb", l1.aa, x2) * -0.9999999999999993 - x302 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x302 += einsum("abij,ikca->kjcb", l2.abab, x2) - x304 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x304 += einsum("ijab->ijab", x302) * -1 - del x302 - x5 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x5 += einsum("wai,wja->ij", lu11.aa, u11.aa) - x12 += einsum("ij->ji", x5) - x29 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x29 += einsum("ia,ij->ja", t1.aa, x5) - x32 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x32 += einsum("ia->ia", x29) - del x29 - x33 += einsum("ij->ij", x5) - x34 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x34 += einsum("ia,jk->jika", t1.aa, x33) - x95 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x95 += einsum("ia,jk->jika", t1.aa, x33) - x183 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x183 += einsum("ia,ij->ja", t1.aa, x33) - del x33 - x184 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x184 += einsum("ia->ia", x183) - x185 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x185 += einsum("ia->ia", x183) - del x183 - x85 += einsum("ij->ij", x5) - x93 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x93 += einsum("ia,ij->ja", t1.aa, x85) - x94 += einsum("ia->ia", x93) - del x93 - x248 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x248 += einsum("ij,ikab->jkab", x85, t2.abab) - rdm2_f_vovo_bbaa = np.zeros((nvir[1], nocc[1], nvir[0], nocc[0]), dtype=types[float]) - rdm2_f_vovo_bbaa += einsum("ijab->bjai", x248) * -1 - rdm2_f_vovo_aabb = np.zeros((nvir[0], nocc[0], nvir[1], nocc[1]), dtype=types[float]) - rdm2_f_vovo_aabb += einsum("ijab->aibj", x248) * -1 - del x248 - rdm2_f_oovo_aabb = np.zeros((nocc[0], nocc[0], nvir[1], nocc[1]), dtype=types[float]) - rdm2_f_oovo_aabb += einsum("ia,jk->jkai", t1.bb, x85) * -1 - del x85 - x155 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x155 += einsum("ij,kiab->kjab", x5, t2.aaaa) - x171 -= einsum("ijab->ijab", x155) - del x155 - x258 += einsum("ij->ij", x5) - x259 += einsum("ia,ij->ja", t1.aa, x258) - x260 += einsum("ia,ij->ja", t1.aa, x258) * 0.9999999999999993 - del x258 - rdm2_f_oooo_aaaa -= einsum("ij,kl->ijkl", delta_oo.aa, x5) - rdm2_f_oooo_aaaa += einsum("ij,kl->ilkj", delta_oo.aa, x5) - rdm2_f_oooo_aaaa += einsum("ij,kl->kijl", delta_oo.aa, x5) - rdm2_f_oooo_aaaa -= einsum("ij,kl->klji", delta_oo.aa, x5) - del x5 - x6 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x6 += einsum("abij,klba->ijlk", l2.aaaa, t2.aaaa) - x39 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x39 += einsum("ijkl->jilk", x6) - x176 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x176 += einsum("ijab,ijkl->klab", t2.aaaa, x6) - x180 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x180 += einsum("ijab->ijab", x176) - del x176 - x178 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x178 += einsum("ia,jikl->jkla", t1.aa, x6) - x179 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x179 += einsum("ia,ijkb->jkab", t1.aa, x178) - del x178 - x180 += einsum("ijab->ijab", x179) - del x179 - rdm2_f_oooo_aaaa += einsum("ijkl->jkil", x6) * -1 - rdm2_f_oooo_aaaa += einsum("ijkl->jlik", x6) - del x6 - x7 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x7 += einsum("ia,abjk->kjib", t1.aa, l2.aaaa) - x8 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x8 += einsum("ia,jkla->jkil", t1.aa, x7) - x39 += einsum("ijkl->ijkl", x8) - x40 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x40 += einsum("ia,ijkl->jkla", t1.aa, x39) - del x39 - x45 += einsum("ijka->ikja", x40) - x96 += einsum("ijka->ikja", x40) - del x40 - x144 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x144 += einsum("ia,ijkl->jlka", t1.aa, x8) - x145 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x145 += einsum("ia,ijkb->jkab", t1.aa, x144) - del x144 - x152 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x152 += einsum("ijab->ijab", x145) - del x145 - x177 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x177 += einsum("ijab,jikl->klba", t2.aaaa, x8) - x180 += einsum("ijab->ijab", x177) - del x177 - rdm2_f_vovo_aaaa = np.zeros((nvir[0], nocc[0], nvir[0], nocc[0]), dtype=types[float]) - rdm2_f_vovo_aaaa += einsum("ijab->ajbi", x180) * -1 - rdm2_f_vovo_aaaa += einsum("ijab->bjai", x180) - del x180 - rdm2_f_oooo_aaaa += einsum("ijkl->ikjl", x8) - rdm2_f_oooo_aaaa += einsum("ijkl->iljk", x8) * -1 - del x8 - x36 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x36 += einsum("ijka->ijka", x7) - x36 += einsum("ijka->jika", x7) * -1 - x42 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x42 += einsum("ijab,jika->kb", t2.aaaa, x36) - x44 += einsum("ia->ia", x42) * -1 - x94 += einsum("ia->ia", x42) * -1 - x260 += einsum("ia->ia", x42) * -1 - del x42 - x78 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x78 += einsum("ijab,ikla->kljb", t2.abab, x36) - rdm2_f_oovo_aabb += einsum("ijka->ijak", x78) * -1 - rdm2_f_vooo_bbaa = np.zeros((nvir[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - rdm2_f_vooo_bbaa += einsum("ijka->akij", x78) * -1 - del x78 - x259 += einsum("ijab,jika->kb", t2.aaaa, x36) * -1 - x105 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x105 -= einsum("ijka->ijka", x7) - x105 += einsum("ijka->jika", x7) - x106 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x106 += einsum("ia,jikb->jkab", t1.aa, x105) - rdm2_f_oovv_aaaa = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - rdm2_f_oovv_aaaa -= einsum("ijab->ijab", x106) - rdm2_f_vvoo_aaaa = np.zeros((nvir[0], nvir[0], nocc[0], nocc[0]), dtype=types[float]) - rdm2_f_vvoo_aaaa -= einsum("ijab->abij", x106) - del x106 - x243 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x243 += einsum("ijab,ikla->kljb", t2.abab, x105) - del x105 - x245 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x245 -= einsum("ijka->ijka", x243) - del x243 - x130 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x130 += einsum("ijka->ijka", x7) - x130 -= einsum("ijka->jika", x7) - x131 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x131 += einsum("ia,jikb->jkab", t1.aa, x130) - rdm2_f_ovvo_aaaa = np.zeros((nocc[0], nvir[0], nvir[0], nocc[0]), dtype=types[float]) - rdm2_f_ovvo_aaaa -= einsum("ijab->ibaj", x131) - rdm2_f_voov_aaaa = np.zeros((nvir[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - rdm2_f_voov_aaaa -= einsum("ijab->ajib", x131) - del x131 - x266 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x266 += einsum("ijab,jikc->kcba", t2.aaaa, x7) - x271 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x271 += einsum("iabc->iabc", x266) - del x266 - x267 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x267 += einsum("ia,jikb->jkba", t1.aa, x7) - x269 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x269 += einsum("ijab->ijab", x267) * -1 - del x267 - rdm2_f_ooov_aaaa = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - rdm2_f_ooov_aaaa += einsum("ijka->ikja", x7) - rdm2_f_ooov_aaaa -= einsum("ijka->jkia", x7) - rdm2_f_ovoo_aaaa = np.zeros((nocc[0], nvir[0], nocc[0], nocc[0]), dtype=types[float]) - rdm2_f_ovoo_aaaa -= einsum("ijka->iajk", x7) - rdm2_f_ovoo_aaaa += einsum("ijka->jaik", x7) - del x7 - x9 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x9 += einsum("abij,klab->ikjl", l2.abab, t2.abab) - x80 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x80 += einsum("ijkl->ijkl", x9) - x233 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x233 += einsum("ijkl->ijkl", x9) - x239 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x239 += einsum("ijkl->ijkl", x9) - rdm2_f_oooo_aabb = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - rdm2_f_oooo_aabb += einsum("ijkl->ijkl", x9) - rdm2_f_oooo_bbaa = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - rdm2_f_oooo_bbaa += einsum("ijkl->klij", x9) - del x9 - x10 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x10 += einsum("ia,bajk->jkib", t1.bb, l2.abab) - x11 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x11 += einsum("ia,jkla->jikl", t1.aa, x10) - x80 += einsum("ijkl->ijkl", x11) - x81 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x81 += einsum("ia,jkil->jkla", t1.bb, x80) - rdm2_f_oovo_aabb += einsum("ijka->ijak", x81) - rdm2_f_vooo_bbaa += einsum("ijka->akij", x81) - del x81 - x91 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x91 += einsum("ia,ijkl->jkla", t1.aa, x80) - del x80 - rdm2_f_oovo_bbaa = np.zeros((nocc[1], nocc[1], nvir[0], nocc[0]), dtype=types[float]) - rdm2_f_oovo_bbaa += einsum("ijka->jkai", x91) - rdm2_f_vooo_aabb = np.zeros((nvir[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - rdm2_f_vooo_aabb += einsum("ijka->aijk", x91) - del x91 - x233 += einsum("ijkl->ijkl", x11) - x234 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x234 += einsum("ijab,ikjl->klab", t2.abab, x233) - del x233 - rdm2_f_vovo_bbaa += einsum("ijab->bjai", x234) - rdm2_f_vovo_aabb += einsum("ijab->aibj", x234) - del x234 - x239 += einsum("ijkl->ijkl", x11) * 0.9999999999999993 - x240 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x240 += einsum("ia,ijkl->jkla", t1.aa, x239) - del x239 - x241 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x241 += einsum("ijka->ijka", x240) - del x240 - rdm2_f_oooo_aabb += einsum("ijkl->ijkl", x11) - rdm2_f_oooo_bbaa += einsum("ijkl->klij", x11) - del x11 - x60 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x60 += einsum("ijab,ikla->kljb", t2.abab, x10) - x71 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x71 += einsum("ijka->ijka", x60) * -1 - x99 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x99 += einsum("ijka->ijka", x60) * -1 - x204 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x204 -= einsum("ijka->ijka", x60) - del x60 - x66 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x66 += einsum("ijab,ijka->kb", t2.abab, x10) - x70 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x70 += einsum("ia->ia", x66) - x84 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x84 += einsum("ia->ia", x66) - x97 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x97 += einsum("ia->ia", x66) - x256 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x256 += einsum("ia->ia", x66) - x261 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x261 += einsum("ia->ia", x66) - del x66 - x77 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x77 += einsum("ijab,kjla->kilb", t2.abab, x10) - x245 -= einsum("ijka->ijka", x77) - rdm2_f_oovo_aabb += einsum("ijka->ijak", x77) - rdm2_f_vooo_bbaa += einsum("ijka->akij", x77) - del x77 - x90 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x90 += einsum("ijka,ilba->ljkb", x10, x2) - del x2 - x241 += einsum("ijka->ijka", x90) * -1 - rdm2_f_oovo_bbaa += einsum("ijka->jkai", x90) * -1 - rdm2_f_vooo_aabb += einsum("ijka->aijk", x90) * -1 - del x90 - x126 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x126 += einsum("ia,ijkb->jkba", t1.aa, x10) - rdm2_f_oovv_bbaa = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - rdm2_f_oovv_bbaa -= einsum("ijab->ijba", x126) - rdm2_f_vvoo_aabb = np.zeros((nvir[0], nvir[0], nocc[1], nocc[1]), dtype=types[float]) - rdm2_f_vvoo_aabb -= einsum("ijab->baij", x126) - del x126 - x133 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x133 += einsum("ia,jikb->jkba", t1.bb, x10) - x296 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x296 += einsum("ijab->ijab", x133) - rdm2_f_ovvo_aabb = np.zeros((nocc[0], nvir[0], nvir[1], nocc[1]), dtype=types[float]) - rdm2_f_ovvo_aabb -= einsum("ijab->iabj", x133) - rdm2_f_voov_bbaa = np.zeros((nvir[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - rdm2_f_voov_bbaa -= einsum("ijab->bjia", x133) - del x133 - x292 = np.zeros((nocc[1], nvir[0], nvir[0], nvir[1]), dtype=types[float]) - x292 += einsum("ijab,ijkc->kcab", t2.abab, x10) - rdm2_f_vovv_bbaa = np.zeros((nvir[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - rdm2_f_vovv_bbaa += einsum("iabc->ciba", x292) * -1 - rdm2_f_vvvo_aabb = np.zeros((nvir[0], nvir[0], nvir[1], nocc[1]), dtype=types[float]) - rdm2_f_vvvo_aabb += einsum("iabc->baci", x292) * -1 - del x292 - rdm2_f_ooov_bbaa = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - rdm2_f_ooov_bbaa -= einsum("ijka->jkia", x10) - rdm2_f_ovoo_aabb = np.zeros((nocc[0], nvir[0], nocc[1], nocc[1]), dtype=types[float]) - rdm2_f_ovoo_aabb -= einsum("ijka->iajk", x10) - del x10 - x12 += einsum("ij->ji", delta_oo.aa) * -1 - rdm2_f_oooo_aabb += einsum("ij,kl->lkji", delta_oo.bb, x12) * -1 - rdm2_f_oooo_bbaa += einsum("ij,kl->jilk", delta_oo.bb, x12) * -1 - rdm2_f_vooo_bbaa += einsum("ia,jk->aikj", t1.bb, x12) * -1 - del x12 - x13 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x13 += einsum("ai,ja->ij", l1.bb, t1.bb) - x18 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x18 += einsum("ij->ij", x13) - x58 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x58 += einsum("ij->ij", x13) - x73 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x73 += einsum("ia,ij->ja", t1.bb, x13) - x74 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x74 -= einsum("ia->ia", x73) - del x73 - x198 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x198 += einsum("ij,kiab->jkab", x13, t2.bbbb) - x213 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x213 += einsum("ijab->ijab", x198) - del x198 - x254 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x254 += einsum("ij->ij", x13) - rdm2_f_oooo_bbbb = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - rdm2_f_oooo_bbbb -= einsum("ij,kl->jikl", delta_oo.bb, x13) - rdm2_f_oooo_bbbb += einsum("ij,kl->kijl", delta_oo.bb, x13) - rdm2_f_oooo_bbbb += einsum("ij,kl->jlki", delta_oo.bb, x13) - rdm2_f_oooo_bbbb -= einsum("ij,kl->klji", delta_oo.bb, x13) - del x13 - x14 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x14 += einsum("wai,wja->ij", lu11.bb, u11.bb) - x18 += einsum("ij->ij", x14) - x54 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x54 += einsum("ia,ij->ja", t1.bb, x14) - x57 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x57 += einsum("ia->ia", x54) - del x54 - x58 += einsum("ij->ij", x14) - x59 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x59 += einsum("ia,jk->jika", t1.bb, x58) - x98 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x98 += einsum("ia,jk->jika", t1.bb, x58) - x224 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x224 += einsum("ia,ij->ja", t1.bb, x58) - del x58 - x225 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x225 += einsum("ia->ia", x224) - x226 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x226 += einsum("ia->ia", x224) - del x224 - x200 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x200 += einsum("ij,kiab->kjab", x14, t2.bbbb) - x213 -= einsum("ijab->ijab", x200) - del x200 - x254 += einsum("ij->ij", x14) - rdm2_f_oooo_bbbb -= einsum("ij,kl->ijkl", delta_oo.bb, x14) - rdm2_f_oooo_bbbb += einsum("ij,kl->ilkj", delta_oo.bb, x14) - rdm2_f_oooo_bbbb += einsum("ij,kl->kijl", delta_oo.bb, x14) - rdm2_f_oooo_bbbb -= einsum("ij,kl->klji", delta_oo.bb, x14) - del x14 - x15 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x15 += einsum("abij,ikab->jk", l2.abab, t2.abab) - x18 += einsum("ij->ij", x15) - x22 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x22 += einsum("ij->ij", x15) - x214 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x214 += einsum("ij,kiab->jkab", x15, t2.bbbb) - x218 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x218 += einsum("ijab->ijab", x214) * -1 - del x214 - x254 += einsum("ij->ij", x15) - del x15 - x16 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x16 += einsum("ijab->jiab", t2.bbbb) - x16 += einsum("ijab->jiba", t2.bbbb) * -1 - x17 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x17 += einsum("abij,ikab->jk", l2.bbbb, x16) - x18 += einsum("ij->ij", x17) * -1 - x83 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x83 += einsum("ia,ij->ja", t1.bb, x18) - x84 += einsum("ia->ia", x83) - x97 += einsum("ia->ia", x83) - del x83 - x247 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x247 += einsum("ij,kiab->kjab", x18, t2.abab) - rdm2_f_vovo_bbaa += einsum("ijab->bjai", x247) * -1 - rdm2_f_vovo_aabb += einsum("ijab->aibj", x247) * -1 - del x247 - rdm2_f_oooo_aabb += einsum("ij,kl->jikl", delta_oo.aa, x18) * -1 - rdm2_f_oooo_bbaa += einsum("ij,kl->klji", delta_oo.aa, x18) * -1 - rdm2_f_oovo_bbaa += einsum("ia,jk->jkai", t1.aa, x18) * -1 - rdm2_f_vooo_aabb += einsum("ia,jk->aijk", t1.aa, x18) * -1 - del x18 - x22 += einsum("ij->ij", x17) * -1 - x69 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x69 += einsum("ia,ij->ja", t1.bb, x22) - x70 += einsum("ia->ia", x69) - del x69 - x71 += einsum("ia,jk->jika", t1.bb, x22) - x99 += einsum("ia,jk->jika", t1.bb, x22) - rdm2_f_oooo_bbbb += einsum("ij,kl->jikl", delta_oo.bb, x22) * -1 - rdm2_f_oooo_bbbb += einsum("ij,kl->jlki", delta_oo.bb, x22) - rdm2_f_oooo_bbbb += einsum("ij,kl->kjil", delta_oo.bb, x22) - rdm2_f_oooo_bbbb += einsum("ij,kl->klij", delta_oo.bb, x22) * -1 - del x22 - x217 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x217 += einsum("ij,ikab->kjab", x17, t2.bbbb) * -1 - del x17 - x218 += einsum("ijab->ijba", x217) - del x217 - x82 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x82 += einsum("ai,ijba->jb", l1.bb, x16) - x84 += einsum("ia->ia", x82) * -1 - x97 += einsum("ia->ia", x82) * -1 - del x82 - x252 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x252 += einsum("ai,ijba->jb", l1.bb, x16) * 0.9999999999999993 - x256 += einsum("ia->ia", x252) * -1 - x261 += einsum("ia->ia", x252) * -1 - del x252 - x253 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x253 += einsum("abij,ikab->jk", l2.bbbb, x16) - x254 += einsum("ij->ij", x253) * -1 - del x253 - x255 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x255 += einsum("ia,ij->ja", t1.bb, x254) * 0.9999999999999993 - del x254 - x256 += einsum("ia->ia", x255) - x261 += einsum("ia->ia", x255) - del x255 - x295 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x295 += einsum("abij,jkcb->ikac", l2.abab, x16) - x296 += einsum("ijab->ijab", x295) * -1 - del x295 - x19 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x19 += einsum("abij,klab->ijkl", l2.bbbb, t2.bbbb) - x64 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x64 += einsum("ijkl->jilk", x19) - x219 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x219 += einsum("ia,jikl->jkla", t1.bb, x19) - x220 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x220 += einsum("ia,ijkb->kjba", t1.bb, x219) - del x219 - x223 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x223 += einsum("ijab->ijab", x220) - del x220 - x221 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x221 += einsum("ijkl->jilk", x19) - rdm2_f_oooo_bbbb += einsum("ijkl->jkil", x19) * -1 - rdm2_f_oooo_bbbb += einsum("ijkl->jlik", x19) - del x19 - x20 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x20 += einsum("ia,bajk->jkib", t1.bb, l2.bbbb) - x21 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x21 += einsum("ia,jkla->kjli", t1.bb, x20) - x64 += einsum("ijkl->ijkl", x21) - x65 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x65 += einsum("ia,ijkl->jkla", t1.bb, x64) - del x64 - x71 += einsum("ijka->ikja", x65) - x99 += einsum("ijka->ikja", x65) - del x65 - x190 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x190 += einsum("ia,ijkl->jlka", t1.bb, x21) - x191 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x191 += einsum("ia,ijkb->jkab", t1.bb, x190) - del x190 - x197 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x197 += einsum("ijab->ijab", x191) - del x191 - x221 += einsum("ijkl->ijkl", x21) - x222 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x222 += einsum("ijab,ijkl->klab", t2.bbbb, x221) - del x221 - x223 += einsum("ijab->jiba", x222) - del x222 - rdm2_f_vovo_bbbb = np.zeros((nvir[1], nocc[1], nvir[1], nocc[1]), dtype=types[float]) - rdm2_f_vovo_bbbb += einsum("ijab->ajbi", x223) * -1 - rdm2_f_vovo_bbbb += einsum("ijab->bjai", x223) - del x223 - rdm2_f_oooo_bbbb += einsum("ijkl->ikjl", x21) - rdm2_f_oooo_bbbb += einsum("ijkl->iljk", x21) * -1 - del x21 - x61 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x61 += einsum("ijka->ijka", x20) - x61 += einsum("ijka->jika", x20) * -1 - x89 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x89 += einsum("ijab,jklb->ikla", t2.abab, x61) - x241 += einsum("ijka->ijka", x89) * -1 - rdm2_f_oovo_bbaa += einsum("ijka->jkai", x89) * -1 - rdm2_f_vooo_aabb += einsum("ijka->aijk", x89) * -1 - del x89 - x67 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x67 += einsum("ijka->ijka", x20) * -1 - x67 += einsum("ijka->jika", x20) - x68 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x68 += einsum("ijab,jikb->ka", t2.bbbb, x67) - del x67 - x70 += einsum("ia->ia", x68) * -1 - x71 += einsum("ij,ka->jika", delta_oo.bb, x70) * -1 - x218 += einsum("ia,jb->ijab", t1.bb, x70) - rdm2_f_vooo_bbbb = np.zeros((nvir[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - rdm2_f_vooo_bbbb += einsum("ij,ka->ajik", delta_oo.bb, x70) - rdm2_f_vooo_bbbb += einsum("ij,ka->akij", delta_oo.bb, x70) * -1 - del x70 - x84 += einsum("ia->ia", x68) * -1 - x97 += einsum("ia->ia", x68) * -1 - x256 += einsum("ia->ia", x68) * -1 - x261 += einsum("ia->ia", x68) * -1 - del x68 - x117 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x117 -= einsum("ijka->ijka", x20) - x117 += einsum("ijka->jika", x20) - x118 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x118 += einsum("ia,jikb->jkab", t1.bb, x117) - del x117 - rdm2_f_oovv_bbbb = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - rdm2_f_oovv_bbbb -= einsum("ijab->ijab", x118) - rdm2_f_vvoo_bbbb = np.zeros((nvir[1], nvir[1], nocc[1], nocc[1]), dtype=types[float]) - rdm2_f_vvoo_bbbb -= einsum("ijab->abij", x118) - del x118 - x142 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x142 += einsum("ijka->ijka", x20) - x142 -= einsum("ijka->jika", x20) - x143 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x143 += einsum("ia,jikb->jkab", t1.bb, x142) - rdm2_f_ovvo_bbbb = np.zeros((nocc[1], nvir[1], nvir[1], nocc[1]), dtype=types[float]) - rdm2_f_ovvo_bbbb -= einsum("ijab->ibaj", x143) - rdm2_f_voov_bbbb = np.zeros((nvir[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - rdm2_f_voov_bbbb -= einsum("ijab->ajib", x143) - del x143 - x282 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x282 += einsum("ijab,jikc->kcba", t2.bbbb, x20) - x289 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x289 += einsum("iabc->iabc", x282) - del x282 - x283 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x283 += einsum("ia,jikb->jkba", t1.bb, x20) - x286 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x286 += einsum("ijab->ijab", x283) * -1 - del x283 - rdm2_f_ooov_bbbb = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - rdm2_f_ooov_bbbb += einsum("ijka->ikja", x20) - rdm2_f_ooov_bbbb -= einsum("ijka->jkia", x20) - rdm2_f_ovoo_bbbb = np.zeros((nocc[1], nvir[1], nocc[1], nocc[1]), dtype=types[float]) - rdm2_f_ovoo_bbbb -= einsum("ijka->iajk", x20) - rdm2_f_ovoo_bbbb += einsum("ijka->jaik", x20) - del x20 - x23 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x23 += einsum("ia,abjk->jikb", t1.aa, l2.abab) - x35 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x35 += einsum("ijab,kljb->klia", t2.abab, x23) - x45 += einsum("ijka->ijka", x35) * -1 - x96 += einsum("ijka->ijka", x35) * -1 - x162 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x162 -= einsum("ijka->ijka", x35) - del x35 - x41 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x41 += einsum("ijab,ikjb->ka", t2.abab, x23) - x44 += einsum("ia->ia", x41) - x45 += einsum("ij,ka->jika", delta_oo.aa, x44) * -1 - x175 += einsum("ia,jb->ijab", t1.aa, x44) - rdm2_f_vooo_aaaa = np.zeros((nvir[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - rdm2_f_vooo_aaaa += einsum("ij,ka->ajik", delta_oo.aa, x44) - rdm2_f_vooo_aaaa += einsum("ij,ka->akij", delta_oo.aa, x44) * -1 - del x44 - x94 += einsum("ia->ia", x41) - x259 += einsum("ia->ia", x41) - x260 += einsum("ia->ia", x41) - del x41 - x79 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x79 += einsum("ijab,klib->klja", x16, x23) - rdm2_f_oovo_aabb += einsum("ijka->ijak", x79) * -1 - rdm2_f_vooo_bbaa += einsum("ijka->akij", x79) * -1 - del x79 - x87 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x87 += einsum("ijab,iklb->klja", t2.abab, x23) - x241 += einsum("ijka->ijka", x87) - rdm2_f_oovo_bbaa += einsum("ijka->jkai", x87) - rdm2_f_vooo_aabb += einsum("ijka->aijk", x87) - del x87 - x128 = np.zeros((nocc[0], nocc[0], nvir[1], nvir[1]), dtype=types[float]) - x128 += einsum("ia,jkib->jkba", t1.bb, x23) - rdm2_f_oovv_aabb = np.zeros((nocc[0], nocc[0], nvir[1], nvir[1]), dtype=types[float]) - rdm2_f_oovv_aabb -= einsum("ijab->ijba", x128) - rdm2_f_vvoo_bbaa = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - rdm2_f_vvoo_bbaa -= einsum("ijab->baij", x128) - del x128 - x138 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x138 += einsum("ia,ijkb->jkab", t1.aa, x23) - x304 += einsum("ijab->ijab", x138) - rdm2_f_ovvo_bbaa = np.zeros((nocc[1], nvir[1], nvir[0], nocc[0]), dtype=types[float]) - rdm2_f_ovvo_bbaa -= einsum("ijab->jbai", x138) - rdm2_f_voov_aabb = np.zeros((nvir[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - rdm2_f_voov_aabb -= einsum("ijab->aijb", x138) - del x138 - x298 = np.zeros((nocc[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) - x298 += einsum("ijab,ikjc->kacb", t2.abab, x23) - rdm2_f_vovv_aabb = np.zeros((nvir[0], nocc[0], nvir[1], nvir[1]), dtype=types[float]) - rdm2_f_vovv_aabb += einsum("iabc->aicb", x298) * -1 - rdm2_f_vvvo_bbaa = np.zeros((nvir[1], nvir[1], nvir[0], nocc[0]), dtype=types[float]) - rdm2_f_vvvo_bbaa += einsum("iabc->cbai", x298) * -1 - del x298 - rdm2_f_ooov_aabb = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - rdm2_f_ooov_aabb -= einsum("ijka->ijka", x23) - rdm2_f_ovoo_bbaa = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - rdm2_f_ovoo_bbaa -= einsum("ijka->kaij", x23) - x24 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x24 += einsum("ai,jkba->ijkb", l1.aa, t2.aaaa) - x34 += einsum("ijka->ijka", x24) - x95 += einsum("ijka->ijka", x24) - x162 += einsum("ijka->ijka", x24) - del x24 - x25 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) - x25 += einsum("ia,waj->wji", t1.aa, lu11.aa) - x26 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x26 += einsum("wia,wjk->jkia", u11.aa, x25) - x34 -= einsum("ijka->ijka", x26) - x95 -= einsum("ijka->ijka", x26) - del x26 - rdm2_f_vooo_aaaa -= einsum("ijka->ajik", x95) - rdm2_f_vooo_aaaa += einsum("ijka->akij", x95) - del x95 - x28 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x28 += einsum("wia,wij->ja", u11.aa, x25) - x32 += einsum("ia->ia", x28) - x94 += einsum("ia->ia", x28) - x184 += einsum("ia->ia", x28) - x185 += einsum("ia->ia", x28) - x259 += einsum("ia->ia", x28) - x260 += einsum("ia->ia", x28) * 0.9999999999999993 - del x28 - x76 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x76 += einsum("wia,wjk->jkia", u11.bb, x25) - rdm2_f_oovo_aabb -= einsum("ijka->ijak", x76) - rdm2_f_vooo_bbaa -= einsum("ijka->akij", x76) - del x76 - x164 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x164 += einsum("ia,wij->wja", t1.aa, x25) - del x25 - x167 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x167 -= einsum("wia->wia", x164) - del x164 - x27 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x27 += einsum("ai,jiba->jb", l1.bb, t2.abab) - x32 -= einsum("ia->ia", x27) - x94 += einsum("ia->ia", x27) * -1 - x170 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x170 += einsum("ia->ia", x27) - x259 += einsum("ia->ia", x27) * -1 - x260 += einsum("ia->ia", x27) * -0.9999999999999993 - del x27 - x30 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x30 += einsum("ijab->jiab", t2.aaaa) - x30 -= einsum("ijab->jiba", t2.aaaa) - x31 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x31 += einsum("ai,ijba->jb", l1.aa, x30) - x32 -= einsum("ia->ia", x31) - del x31 - x34 -= einsum("ij,ka->jika", delta_oo.aa, x32) - rdm2_f_oovo_aaaa = np.zeros((nocc[0], nocc[0], nvir[0], nocc[0]), dtype=types[float]) - rdm2_f_oovo_aaaa += einsum("ijka->ijak", x34) - rdm2_f_oovo_aaaa -= einsum("ijka->ikaj", x34) - del x34 - rdm2_f_vooo_aaaa += einsum("ij,ka->ajik", delta_oo.aa, x32) - rdm2_f_vooo_aaaa -= einsum("ij,ka->akij", delta_oo.aa, x32) - del x32 - x37 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x37 += einsum("ijab->jiab", t2.aaaa) * -1 - x37 += einsum("ijab->jiba", t2.aaaa) - x38 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x38 += einsum("ijka,jlab->iklb", x36, x37) - del x36 - x45 += einsum("ijka->ijka", x38) - rdm2_f_oovo_aaaa += einsum("ijka->ijak", x45) - rdm2_f_oovo_aaaa += einsum("ijka->ikaj", x45) * -1 - del x45 - x96 += einsum("ijka->ijka", x38) - del x38 - rdm2_f_vooo_aaaa += einsum("ijka->ajik", x96) * -1 - rdm2_f_vooo_aaaa += einsum("ijka->akij", x96) - del x96 - x46 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x46 += einsum("w,wia->ia", ls1, u11.aa) - x48 += einsum("ia->ia", x46) - x94 += einsum("ia->ia", x46) * -1 - x184 -= einsum("ia->ia", x46) - x185 -= einsum("ia->ia", x46) - rdm2_f_vovo_aaaa -= einsum("ia,jb->aibj", t1.aa, x185) - rdm2_f_vovo_aaaa += einsum("ia,jb->biaj", t1.aa, x185) - del x185 - x259 += einsum("ia->ia", x46) * -1 - rdm2_f_vovo_bbaa += einsum("ia,jb->aibj", t1.bb, x259) * -1 - del x259 - x260 += einsum("ia->ia", x46) * -0.9999999999999993 - del x46 - x48 += einsum("ia->ia", t1.aa) - rdm2_f_oovo_aaaa -= einsum("ij,ka->jkai", delta_oo.aa, x48) - rdm2_f_oovo_aaaa += einsum("ij,ka->jiak", delta_oo.aa, x48) - rdm2_f_vooo_aaaa -= einsum("ij,ka->aijk", delta_oo.aa, x48) - rdm2_f_vooo_aaaa += einsum("ij,ka->akji", delta_oo.aa, x48) - del x48 - x49 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x49 += einsum("ai,jkab->ikjb", l1.bb, t2.bbbb) - x59 += einsum("ijka->ijka", x49) - x98 += einsum("ijka->ijka", x49) - x204 += einsum("ijka->ijka", x49) - del x49 - x50 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) - x50 += einsum("ia,waj->wji", t1.bb, lu11.bb) - x51 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x51 += einsum("wia,wjk->jkia", u11.bb, x50) - x59 -= einsum("ijka->ijka", x51) - x98 -= einsum("ijka->ijka", x51) - del x51 - rdm2_f_vooo_bbbb -= einsum("ijka->ajik", x98) - rdm2_f_vooo_bbbb += einsum("ijka->akij", x98) - del x98 - x53 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x53 += einsum("wia,wij->ja", u11.bb, x50) - x57 += einsum("ia->ia", x53) - x84 += einsum("ia->ia", x53) - x97 += einsum("ia->ia", x53) - x225 += einsum("ia->ia", x53) - x226 += einsum("ia->ia", x53) - x256 += einsum("ia->ia", x53) * 0.9999999999999993 - x261 += einsum("ia->ia", x53) * 0.9999999999999993 - del x53 - x86 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x86 += einsum("wia,wjk->ijka", u11.aa, x50) - rdm2_f_oovo_bbaa -= einsum("ijka->jkai", x86) - rdm2_f_vooo_aabb -= einsum("ijka->aijk", x86) - del x86 - x207 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x207 += einsum("ia,wij->wja", t1.bb, x50) - del x50 - x209 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x209 -= einsum("wia->wia", x207) - x249 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x249 -= einsum("wia->wia", x207) - del x207 - x52 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x52 += einsum("ai,ijab->jb", l1.aa, t2.abab) - x57 -= einsum("ia->ia", x52) - x84 += einsum("ia->ia", x52) * -1 - x97 += einsum("ia->ia", x52) * -1 - x212 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x212 += einsum("ia->ia", x52) - x256 += einsum("ia->ia", x52) * -0.9999999999999993 - x261 += einsum("ia->ia", x52) * -0.9999999999999993 - del x52 - x55 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x55 += einsum("ijab->jiab", t2.bbbb) - x55 -= einsum("ijab->jiba", t2.bbbb) - x56 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x56 += einsum("ai,ijba->jb", l1.bb, x55) - x57 -= einsum("ia->ia", x56) - del x56 - x59 -= einsum("ij,ka->jika", delta_oo.bb, x57) - rdm2_f_oovo_bbbb = np.zeros((nocc[1], nocc[1], nvir[1], nocc[1]), dtype=types[float]) - rdm2_f_oovo_bbbb += einsum("ijka->ijak", x59) - rdm2_f_oovo_bbbb -= einsum("ijka->ikaj", x59) - del x59 - rdm2_f_vooo_bbbb += einsum("ij,ka->ajik", delta_oo.bb, x57) - rdm2_f_vooo_bbbb -= einsum("ij,ka->akij", delta_oo.bb, x57) - del x57 - x62 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x62 += einsum("ijab->jiab", t2.bbbb) * -1 - x62 += einsum("ijab->jiba", t2.bbbb) - x63 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x63 += einsum("ijka,jlab->iklb", x61, x62) - del x61 - del x62 - x71 += einsum("ijka->ijka", x63) - rdm2_f_oovo_bbbb += einsum("ijka->ijak", x71) - rdm2_f_oovo_bbbb += einsum("ijka->ikaj", x71) * -1 - del x71 - x99 += einsum("ijka->ijka", x63) - del x63 - rdm2_f_vooo_bbbb += einsum("ijka->ajik", x99) * -1 - rdm2_f_vooo_bbbb += einsum("ijka->akij", x99) - del x99 - x72 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x72 += einsum("w,wia->ia", ls1, u11.bb) - x74 += einsum("ia->ia", x72) - x84 += einsum("ia->ia", x72) * -1 - x97 += einsum("ia->ia", x72) * -1 - rdm2_f_vooo_bbaa += einsum("ij,ka->akji", delta_oo.aa, x97) * -1 - del x97 - x225 -= einsum("ia->ia", x72) - x226 -= einsum("ia->ia", x72) - rdm2_f_vovo_bbbb -= einsum("ia,jb->aibj", t1.bb, x226) - rdm2_f_vovo_bbbb += einsum("ia,jb->biaj", t1.bb, x226) - del x226 - x256 += einsum("ia->ia", x72) * -0.9999999999999993 - x261 += einsum("ia->ia", x72) * -0.9999999999999993 - del x72 - rdm2_f_vovo_aabb += einsum("ia,jb->aibj", t1.aa, x261) * -1 - del x261 - x74 += einsum("ia->ia", t1.bb) - rdm2_f_oovo_bbbb -= einsum("ij,ka->jkai", delta_oo.bb, x74) - rdm2_f_oovo_bbbb += einsum("ij,ka->jiak", delta_oo.bb, x74) - rdm2_f_vooo_bbbb -= einsum("ij,ka->aijk", delta_oo.bb, x74) - rdm2_f_vooo_bbbb += einsum("ij,ka->akji", delta_oo.bb, x74) - del x74 - x75 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x75 += einsum("ai,jkab->ijkb", l1.aa, t2.abab) - x245 += einsum("ijka->ijka", x75) - rdm2_f_oovo_aabb -= einsum("ijka->ijak", x75) - rdm2_f_vooo_bbaa -= einsum("ijka->akij", x75) - del x75 - x84 += einsum("ia->ia", t1.bb) * -1 - rdm2_f_oovo_aabb += einsum("ij,ka->jiak", delta_oo.aa, x84) * -1 - del x84 - x88 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x88 += einsum("ai,jkba->jikb", l1.bb, t2.abab) - x241 += einsum("ijka->ijka", x88) * -1 - x242 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x242 += einsum("ia,jikb->jkba", t1.bb, x241) - del x241 - rdm2_f_vovo_bbaa += einsum("ijab->bjai", x242) - rdm2_f_vovo_aabb += einsum("ijab->aibj", x242) - del x242 - rdm2_f_oovo_bbaa -= einsum("ijka->jkai", x88) - rdm2_f_vooo_aabb -= einsum("ijka->aijk", x88) - del x88 - x94 += einsum("ia->ia", t1.aa) * -1 - rdm2_f_oovo_bbaa += einsum("ij,ka->jiak", delta_oo.bb, x94) * -1 - rdm2_f_vooo_aabb += einsum("ij,ka->akji", delta_oo.bb, x94) * -1 - del x94 - x100 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x100 += einsum("wai,wjb->ijab", lu11.aa, u11.aa) - rdm2_f_oovv_aaaa -= einsum("ijab->ijba", x100) - rdm2_f_ovvo_aaaa += einsum("ijab->iabj", x100) - rdm2_f_voov_aaaa += einsum("ijab->bjia", x100) - rdm2_f_vvoo_aaaa -= einsum("ijab->baij", x100) - del x100 - x101 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x101 += einsum("abij,kjcb->ikac", l2.abab, t2.abab) - x159 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x159 += einsum("ijab->ijab", x101) - x231 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x231 += einsum("ijab->ijab", x101) - x269 += einsum("ijab->ijab", x101) - rdm2_f_oovv_aaaa -= einsum("ijab->ijba", x101) - rdm2_f_ovvo_aaaa += einsum("ijab->iabj", x101) - rdm2_f_voov_aaaa += einsum("ijab->bjia", x101) - rdm2_f_vvoo_aaaa -= einsum("ijab->baij", x101) - del x101 - x102 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x102 -= einsum("ijab->jiab", t2.aaaa) - x102 += einsum("ijab->jiba", t2.aaaa) - x139 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x139 += einsum("abij,ikca->kjcb", l2.abab, x102) - x228 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x228 -= einsum("ijab->ijab", x139) - rdm2_f_ovvo_bbaa -= einsum("ijab->jbai", x139) - rdm2_f_voov_aabb -= einsum("ijab->aijb", x139) - del x139 - x161 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x161 += einsum("ijab,kila->jklb", x102, x130) - del x130 - x162 += einsum("ijka->jkia", x161) - del x161 - x163 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x163 += einsum("ia,ijkb->jkab", t1.aa, x162) - del x162 - x171 += einsum("ijab->ijab", x163) - del x163 - x166 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x166 += einsum("wai,ijba->wjb", lu11.aa, x102) - x167 -= einsum("wia->wia", x166) - del x166 - x169 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x169 += einsum("ai,ijba->jb", l1.aa, x102) - x170 -= einsum("ia->ia", x169) - del x169 - x171 += einsum("ia,jb->ijab", t1.aa, x170) - del x170 - x103 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x103 -= einsum("abij->jiab", l2.aaaa) - x103 += einsum("abij->jiba", l2.aaaa) - x104 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x104 += einsum("ijab,ikca->jkbc", x102, x103) - rdm2_f_oovv_aaaa += einsum("ijab->jiab", x104) - rdm2_f_vvoo_aaaa += einsum("ijab->abji", x104) - del x104 - x129 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x129 += einsum("ijab,ikbc->kjca", x103, x30) - del x30 - rdm2_f_ovvo_aaaa += einsum("ijab->jbai", x129) - rdm2_f_voov_aaaa += einsum("ijab->aijb", x129) - del x129 - x134 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x134 += einsum("ijab,ikca->kjcb", t2.abab, x103) - x188 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x188 -= einsum("ijab,ikac->jkbc", t2.abab, x134) - x189 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x189 += einsum("ijab->ijab", x188) - del x188 - rdm2_f_ovvo_aabb -= einsum("ijab->iabj", x134) - rdm2_f_voov_bbaa -= einsum("ijab->bjia", x134) - del x134 - x158 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x158 += einsum("ijab,ikbc->jkac", t2.aaaa, x103) - del x103 - x159 -= einsum("ijab->jiba", x158) - del x158 - x160 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x160 += einsum("ijab,ikac->jkbc", t2.aaaa, x159) - del x159 - x171 += einsum("ijab->ijab", x160) - del x160 - x107 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x107 += einsum("ai,ib->ab", l1.aa, t1.aa) - x112 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x112 += einsum("ab->ab", x107) - x275 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x275 += einsum("ab->ab", x107) - del x107 - x108 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x108 += einsum("wai,wib->ab", lu11.aa, u11.aa) - x112 += einsum("ab->ab", x108) - x154 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x154 += einsum("ab,ijca->ijcb", x108, t2.aaaa) - x171 -= einsum("ijab->ijab", x154) - del x154 - x237 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x237 += einsum("ab->ab", x108) - x275 += einsum("ab->ab", x108) - del x108 - x276 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x276 += einsum("ia,bc->ibac", t1.aa, x275) - del x275 - x109 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x109 += einsum("abij,ijcb->ac", l2.abab, t2.abab) - x112 += einsum("ab->ab", x109) - x172 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x172 += einsum("ab->ab", x109) - x237 += einsum("ab->ab", x109) - del x109 - x110 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x110 += einsum("abij->jiab", l2.aaaa) - x110 += einsum("abij->jiba", l2.aaaa) * -1 - x111 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x111 += einsum("ijab,ijac->bc", t2.aaaa, x110) - x112 += einsum("ab->ba", x111) * -1 - rdm2_f_oovv_aaaa += einsum("ij,ab->jiba", delta_oo.aa, x112) - rdm2_f_oovv_bbaa += einsum("ij,ab->jiba", delta_oo.bb, x112) - rdm2_f_ovvo_aaaa += einsum("ij,ab->jabi", delta_oo.aa, x112) * -1 - rdm2_f_voov_aaaa += einsum("ij,ab->bija", delta_oo.aa, x112) * -1 - rdm2_f_vvoo_aaaa += einsum("ij,ab->baji", delta_oo.aa, x112) - rdm2_f_vvoo_aabb += einsum("ij,ab->baji", delta_oo.bb, x112) - rdm2_f_vovv_bbaa += einsum("ia,bc->aicb", t1.bb, x112) - rdm2_f_vvvo_aabb += einsum("ia,bc->cbai", t1.bb, x112) - del x112 - x172 += einsum("ab->ba", x111) * -1 - x173 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x173 += einsum("ab,ijac->ijcb", x172, t2.aaaa) - x175 += einsum("ijab->jiab", x173) - del x173 - rdm2_f_vovo_aaaa += einsum("ijab->aibj", x175) * -1 - rdm2_f_vovo_aaaa += einsum("ijab->biaj", x175) - rdm2_f_vovo_aaaa += einsum("ijab->ajbi", x175) - rdm2_f_vovo_aaaa += einsum("ijab->bjai", x175) * -1 - del x175 - x271 += einsum("ia,bc->ibac", t1.aa, x172) - del x172 - x237 += einsum("ab->ba", x111) * -1 - del x111 - x238 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x238 += einsum("ab,ijac->ijbc", x237, t2.abab) - del x237 - rdm2_f_vovo_bbaa += einsum("ijab->bjai", x238) * -1 - rdm2_f_vovo_aabb += einsum("ijab->aibj", x238) * -1 - del x238 - x268 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x268 += einsum("ijab,ikca->kjcb", x110, x37) - del x37 - x269 += einsum("ijab->jiba", x268) - del x268 - x270 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x270 += einsum("ia,ijbc->jabc", t1.aa, x269) - del x269 - x271 += einsum("iabc->ibac", x270) * -1 - del x270 - rdm2_f_vovv_aaaa = np.zeros((nvir[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - rdm2_f_vovv_aaaa += einsum("iabc->bica", x271) - rdm2_f_vovv_aaaa += einsum("iabc->ciba", x271) * -1 - rdm2_f_vvvo_aaaa = np.zeros((nvir[0], nvir[0], nvir[0], nocc[0]), dtype=types[float]) - rdm2_f_vvvo_aaaa += einsum("iabc->baci", x271) * -1 - rdm2_f_vvvo_aaaa += einsum("iabc->cabi", x271) - del x271 - x294 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x294 += einsum("ijab,ikca->kjcb", t2.abab, x110) - del x110 - x296 += einsum("ijab->ijab", x294) * -1 - del x294 - x297 = np.zeros((nocc[1], nvir[0], nvir[0], nvir[1]), dtype=types[float]) - x297 += einsum("ia,ijbc->jabc", t1.aa, x296) - del x296 - rdm2_f_vovv_bbaa += einsum("iabc->ciab", x297) * -1 - rdm2_f_vvvo_aabb += einsum("iabc->abci", x297) * -1 - del x297 - x113 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x113 += einsum("wai,wjb->ijab", lu11.bb, u11.bb) - rdm2_f_oovv_bbbb -= einsum("ijab->ijba", x113) - rdm2_f_ovvo_bbbb += einsum("ijab->iabj", x113) - rdm2_f_voov_bbbb += einsum("ijab->bjia", x113) - rdm2_f_vvoo_bbbb -= einsum("ijab->baij", x113) - del x113 - x114 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x114 += einsum("abij,ikac->jkbc", l2.abab, t2.abab) - x202 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x202 += einsum("ijab,ikac->jkbc", x114, x55) - x213 -= einsum("ijab->ijab", x202) - del x202 - x286 += einsum("ijab->ijab", x114) - rdm2_f_oovv_bbbb -= einsum("ijab->ijba", x114) - rdm2_f_ovvo_bbbb += einsum("ijab->iabj", x114) - rdm2_f_voov_bbbb += einsum("ijab->bjia", x114) - rdm2_f_vvoo_bbbb -= einsum("ijab->baij", x114) - del x114 - x115 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x115 -= einsum("abij->jiab", l2.bbbb) - x115 += einsum("abij->jiba", l2.bbbb) - x116 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x116 += einsum("ijab,ikcb->kjca", x115, x55) - rdm2_f_oovv_bbbb += einsum("ijab->jiab", x116) - rdm2_f_vvoo_bbbb += einsum("ijab->abji", x116) - del x116 - x140 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x140 += einsum("ijab,jkcb->ikac", t2.abab, x115) - x151 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x151 -= einsum("ijab,kjcb->ikac", t2.abab, x140) - x152 += einsum("ijab->jiba", x151) - del x151 - x228 -= einsum("ijab->ijab", x140) - rdm2_f_ovvo_bbaa -= einsum("ijab->jbai", x140) - rdm2_f_voov_aabb -= einsum("ijab->aijb", x140) - del x140 - x141 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x141 += einsum("ijab,ikbc->kjca", x115, x55) - del x115 - del x55 - rdm2_f_ovvo_bbbb += einsum("ijab->jbai", x141) - rdm2_f_voov_bbbb += einsum("ijab->aijb", x141) - del x141 - x119 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x119 += einsum("ai,ib->ab", l1.bb, t1.bb) - x124 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x124 += einsum("ab->ab", x119) - x280 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x280 += einsum("ab->ab", x119) - del x119 - x120 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x120 += einsum("wai,wib->ab", lu11.bb, u11.bb) - x124 += einsum("ab->ab", x120) - x199 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x199 += einsum("ab,ijac->jicb", x120, t2.bbbb) - x213 -= einsum("ijab->ijab", x199) - del x199 - x235 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x235 += einsum("ab->ab", x120) - x280 += einsum("ab->ab", x120) - del x120 - x281 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x281 += einsum("ia,bc->ibac", t1.bb, x280) - del x280 - x121 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x121 += einsum("abij,ijac->bc", l2.abab, t2.abab) - x124 += einsum("ab->ab", x121) - x215 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x215 += einsum("ab,ijac->jibc", x121, t2.bbbb) - x218 += einsum("ijab->ijab", x215) * -1 - del x215 - x235 += einsum("ab->ab", x121) - x288 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x288 += einsum("ab->ab", x121) - del x121 - x122 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x122 += einsum("abij->jiab", l2.bbbb) * -1 - x122 += einsum("abij->jiba", l2.bbbb) - x123 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x123 += einsum("ijab,ijbc->ac", t2.bbbb, x122) - del x122 - x124 += einsum("ab->ba", x123) * -1 - rdm2_f_oovv_bbbb += einsum("ij,ab->jiba", delta_oo.bb, x124) - rdm2_f_oovv_aabb += einsum("ij,ab->jiba", delta_oo.aa, x124) - rdm2_f_ovvo_bbbb += einsum("ij,ab->jabi", delta_oo.bb, x124) * -1 - rdm2_f_voov_bbbb += einsum("ij,ab->bija", delta_oo.bb, x124) * -1 - rdm2_f_vvoo_bbbb += einsum("ij,ab->baji", delta_oo.bb, x124) - rdm2_f_vvoo_bbaa += einsum("ij,ab->baji", delta_oo.aa, x124) - rdm2_f_vovv_aabb += einsum("ia,bc->aicb", t1.aa, x124) - rdm2_f_vvvo_bbaa += einsum("ia,bc->cbai", t1.aa, x124) - del x124 - x216 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x216 += einsum("ab,ijbc->ijca", x123, t2.bbbb) * -1 - x218 += einsum("ijab->jiab", x216) - del x216 - rdm2_f_vovo_bbbb += einsum("ijab->aibj", x218) * -1 - rdm2_f_vovo_bbbb += einsum("ijab->biaj", x218) - rdm2_f_vovo_bbbb += einsum("ijab->ajbi", x218) - rdm2_f_vovo_bbbb += einsum("ijab->bjai", x218) * -1 - del x218 - x235 += einsum("ab->ba", x123) * -1 - x236 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x236 += einsum("ab,ijca->ijcb", x235, t2.abab) - del x235 - rdm2_f_vovo_bbaa += einsum("ijab->bjai", x236) * -1 - rdm2_f_vovo_aabb += einsum("ijab->aibj", x236) * -1 - del x236 - x288 += einsum("ab->ba", x123) * -1 - del x123 - x289 += einsum("ia,bc->ibac", t1.bb, x288) - del x288 - x125 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x125 += einsum("abij,ikcb->jkac", l2.abab, t2.abab) - x293 = np.zeros((nocc[1], nvir[0], nvir[0], nvir[1]), dtype=types[float]) - x293 += einsum("ia,ijbc->jbca", t1.bb, x125) - rdm2_f_vovv_bbaa += einsum("iabc->ciba", x293) * -1 - rdm2_f_vvvo_aabb += einsum("iabc->baci", x293) * -1 - del x293 - rdm2_f_oovv_bbaa -= einsum("ijab->ijba", x125) - rdm2_f_vvoo_aabb -= einsum("ijab->baij", x125) - del x125 - x127 = np.zeros((nocc[0], nocc[0], nvir[1], nvir[1]), dtype=types[float]) - x127 += einsum("abij,kjac->ikbc", l2.abab, t2.abab) - x227 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x227 += einsum("ijab,ikbc->kjac", t2.abab, x127) - rdm2_f_vovo_bbaa += einsum("ijab->bjai", x227) - rdm2_f_vovo_aabb += einsum("ijab->aibj", x227) - del x227 - x299 = np.zeros((nocc[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) - x299 += einsum("ia,ijbc->jabc", t1.aa, x127) - rdm2_f_vovv_aabb += einsum("iabc->aicb", x299) * -1 - rdm2_f_vvvo_bbaa += einsum("iabc->cbai", x299) * -1 - del x299 - rdm2_f_oovv_aabb -= einsum("ijab->ijba", x127) - rdm2_f_vvoo_bbaa -= einsum("ijab->baij", x127) - del x127 - x132 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x132 += einsum("wai,wjb->ijab", lu11.aa, u11.bb) - rdm2_f_ovvo_aabb += einsum("ijab->iabj", x132) - rdm2_f_voov_bbaa += einsum("ijab->bjia", x132) - del x132 - x135 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x135 -= einsum("ijab->jiab", t2.bbbb) - x135 += einsum("ijab->jiba", t2.bbbb) - x136 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x136 += einsum("abij,jkcb->ikac", l2.abab, x135) - rdm2_f_ovvo_aabb -= einsum("ijab->iabj", x136) - rdm2_f_voov_bbaa -= einsum("ijab->bjia", x136) - del x136 - x203 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x203 += einsum("ijab,kila->jklb", x135, x142) - del x142 - x204 += einsum("ijka->jkia", x203) - del x203 - x205 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x205 += einsum("ia,ijkb->jkab", t1.bb, x204) - del x204 - x213 += einsum("ijab->ijab", x205) - del x205 - x208 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x208 += einsum("wai,ijba->wjb", lu11.bb, x135) - x209 -= einsum("wia->wia", x208) - x249 -= einsum("wia->wia", x208) - del x208 - x211 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x211 += einsum("ai,ijba->jb", l1.bb, x135) - x212 -= einsum("ia->ia", x211) - del x211 - x213 += einsum("ia,jb->ijab", t1.bb, x212) - del x212 - x229 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x229 += einsum("ijab,kicb->kjca", x135, x228) - del x228 - rdm2_f_vovo_bbaa -= einsum("ijab->bjai", x229) - rdm2_f_vovo_aabb -= einsum("ijab->aibj", x229) - del x229 - x244 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x244 += einsum("ijab,klib->klja", x135, x23) - del x135 - del x23 - x245 -= einsum("ijka->ijka", x244) - del x244 - x246 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x246 += einsum("ia,ijkb->jkab", t1.aa, x245) - del x245 - rdm2_f_vovo_bbaa -= einsum("ijab->bjai", x246) - rdm2_f_vovo_aabb -= einsum("ijab->aibj", x246) - del x246 - x137 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x137 += einsum("wai,wjb->jiba", lu11.bb, u11.aa) - rdm2_f_ovvo_bbaa += einsum("ijab->jbai", x137) - rdm2_f_voov_aabb += einsum("ijab->aijb", x137) - del x137 - x146 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x146 += einsum("abij->jiab", l2.aaaa) - x146 -= einsum("abij->jiba", l2.aaaa) - x147 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x147 += einsum("ijab,ikac->jkbc", t2.aaaa, x146) - x148 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x148 -= einsum("ijab,kica->jkbc", t2.aaaa, x147) - del x147 - x152 += einsum("ijab->jiba", x148) - del x148 - x149 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x149 += einsum("ijab,ikbc->jkac", t2.aaaa, x146) - x150 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x150 -= einsum("ijab,kicb->jkac", t2.aaaa, x149) - del x149 - x152 += einsum("ijab->ijab", x150) - del x150 - x230 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x230 += einsum("ijab,ikbc->jkac", x102, x146) - del x146 - del x102 - x231 += einsum("ijab->jiba", x230) - del x230 - x232 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x232 += einsum("ijab,ikac->kjcb", t2.abab, x231) - del x231 - rdm2_f_vovo_bbaa += einsum("ijab->bjai", x232) - rdm2_f_vovo_aabb += einsum("ijab->aibj", x232) - del x232 - x152 += einsum("ijab->jiba", t2.aaaa) - rdm2_f_vovo_aaaa -= einsum("ijab->biaj", x152) - rdm2_f_vovo_aaaa += einsum("ijab->aibj", x152) - del x152 - x156 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x156 += einsum("abij,kiac->kjcb", l2.abab, t2.aaaa) - x157 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x157 += einsum("ijab,kjcb->kica", t2.abab, x156) - del x156 - x171 -= einsum("ijab->ijab", x157) - del x157 - x165 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x165 += einsum("wai,jiba->wjb", lu11.bb, t2.abab) - x167 += einsum("wia->wia", x165) - del x165 - x168 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x168 += einsum("wia,wjb->ijab", u11.aa, x167) - x171 += einsum("ijab->jiba", x168) - del x168 - rdm2_f_vovo_aaaa += einsum("ijab->aibj", x171) - rdm2_f_vovo_aaaa -= einsum("ijab->biaj", x171) - rdm2_f_vovo_aaaa -= einsum("ijab->ajbi", x171) - rdm2_f_vovo_aaaa += einsum("ijab->bjai", x171) - del x171 - x251 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x251 += einsum("wia,wjb->jiba", u11.bb, x167) - del x167 - rdm2_f_vovo_bbaa += einsum("ijab->bjai", x251) - rdm2_f_vovo_aabb += einsum("ijab->aibj", x251) - del x251 - x181 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x181 += einsum("wx,xia->wia", ls2, u11.aa) - x182 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x182 += einsum("wia,wjb->jiba", u11.aa, x181) - del x181 - rdm2_f_vovo_aaaa -= einsum("ijab->biaj", x182) - rdm2_f_vovo_aaaa += einsum("ijab->bjai", x182) - del x182 - x184 -= einsum("ia->ia", t1.aa) - rdm2_f_vovo_aaaa -= einsum("ia,jb->bjai", t1.aa, x184) - rdm2_f_vovo_aaaa += einsum("ia,jb->ajbi", t1.aa, x184) - del x184 - x186 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x186 += einsum("wx,xia->wia", ls2, u11.bb) - x187 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x187 += einsum("wia,wjb->jiba", u11.bb, x186) - x189 += einsum("ijab->jiba", x187) - del x187 - rdm2_f_vovo_bbbb -= einsum("ijab->ajbi", x189) - rdm2_f_vovo_bbbb += einsum("ijab->aibj", x189) - del x189 - x249 += einsum("wia->wia", x186) - del x186 - x192 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x192 += einsum("abij->jiab", l2.bbbb) - x192 -= einsum("abij->jiba", l2.bbbb) - x193 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x193 += einsum("ijab,ikac->jkbc", t2.bbbb, x192) - x194 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x194 -= einsum("ijab,kica->jkbc", t2.bbbb, x193) - del x193 - x197 += einsum("ijab->jiba", x194) - del x194 - x195 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x195 += einsum("ijab,ikbc->jkac", t2.bbbb, x192) - del x192 - x196 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x196 -= einsum("ijab,kicb->jkac", t2.bbbb, x195) - x197 += einsum("ijab->ijab", x196) - del x196 - x201 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x201 -= einsum("ijab,kica->jkbc", t2.bbbb, x195) - del x195 - x213 -= einsum("ijab->ijab", x201) - del x201 - x197 += einsum("ijab->jiba", t2.bbbb) - rdm2_f_vovo_bbbb -= einsum("ijab->biaj", x197) - rdm2_f_vovo_bbbb += einsum("ijab->aibj", x197) - del x197 - x206 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x206 += einsum("wai,ijab->wjb", lu11.aa, t2.abab) - x209 += einsum("wia->wia", x206) - x210 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x210 += einsum("wia,wjb->ijab", u11.bb, x209) - del x209 - x213 += einsum("ijab->jiba", x210) - del x210 - rdm2_f_vovo_bbbb += einsum("ijab->aibj", x213) - rdm2_f_vovo_bbbb -= einsum("ijab->biaj", x213) - rdm2_f_vovo_bbbb -= einsum("ijab->ajbi", x213) - rdm2_f_vovo_bbbb += einsum("ijab->bjai", x213) - del x213 - x249 += einsum("wia->wia", x206) - del x206 - x250 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x250 += einsum("wia,wjb->ijab", u11.aa, x249) - del x249 - rdm2_f_vovo_bbaa += einsum("ijab->bjai", x250) - rdm2_f_vovo_aabb += einsum("ijab->aibj", x250) - del x250 - x225 -= einsum("ia->ia", t1.bb) - rdm2_f_vovo_bbbb -= einsum("ia,jb->bjai", t1.bb, x225) - rdm2_f_vovo_bbbb += einsum("ia,jb->ajbi", t1.bb, x225) - del x225 - x256 += einsum("ia->ia", t1.bb) * -0.9999999999999993 - rdm2_f_vovo_bbaa += einsum("ia,jb->bjai", t1.aa, x256) * -1 - del x256 - x260 += einsum("ia->ia", t1.aa) * -0.9999999999999993 - rdm2_f_vovo_aabb += einsum("ia,jb->bjai", t1.bb, x260) * -1 - del x260 - x262 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x262 += einsum("ia,bcji->jbca", t1.aa, l2.aaaa) - x307 = np.zeros((nvir[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x307 += einsum("ia,ibcd->cbda", t1.aa, x262) - x308 = np.zeros((nvir[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x308 += einsum("abcd->badc", x307) - del x307 - rdm2_f_ovvv_aaaa = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - rdm2_f_ovvv_aaaa += einsum("iabc->iacb", x262) - rdm2_f_ovvv_aaaa -= einsum("iabc->ibca", x262) - rdm2_f_vvov_aaaa = np.zeros((nvir[0], nvir[0], nocc[0], nvir[0]), dtype=types[float]) - rdm2_f_vvov_aaaa -= einsum("iabc->caib", x262) - rdm2_f_vvov_aaaa += einsum("iabc->cbia", x262) - del x262 - x263 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x263 += einsum("ia,bcji->jbca", t1.bb, l2.bbbb) - x312 = np.zeros((nvir[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x312 += einsum("ia,ibcd->cbda", t1.bb, x263) - x313 = np.zeros((nvir[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x313 += einsum("abcd->badc", x312) - del x312 - rdm2_f_ovvv_bbbb = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - rdm2_f_ovvv_bbbb += einsum("iabc->iacb", x263) - rdm2_f_ovvv_bbbb -= einsum("iabc->ibca", x263) - rdm2_f_vvov_bbbb = np.zeros((nvir[1], nvir[1], nocc[1], nvir[1]), dtype=types[float]) - rdm2_f_vvov_bbbb -= einsum("iabc->caib", x263) - rdm2_f_vvov_bbbb += einsum("iabc->cbia", x263) - del x263 - x264 = np.zeros((nocc[1], nvir[0], nvir[0], nvir[1]), dtype=types[float]) - x264 += einsum("ia,bcij->jbac", t1.aa, l2.abab) - rdm2_f_ovvv_bbaa = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - rdm2_f_ovvv_bbaa += einsum("iabc->icba", x264) - rdm2_f_vvov_aabb = np.zeros((nvir[0], nvir[0], nocc[1], nvir[1]), dtype=types[float]) - rdm2_f_vvov_aabb += einsum("iabc->baic", x264) - del x264 - x265 = np.zeros((nocc[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) - x265 += einsum("ia,bcji->jbca", t1.bb, l2.abab) - x310 = np.zeros((nvir[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) - x310 += einsum("ia,ibcd->bacd", t1.aa, x265) - rdm2_f_vvvv_bbaa = np.zeros((nvir[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - rdm2_f_vvvv_bbaa += einsum("abcd->dcba", x310) - rdm2_f_vvvv_aabb = np.zeros((nvir[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) - rdm2_f_vvvv_aabb += einsum("abcd->badc", x310) - del x310 - rdm2_f_ovvv_aabb = np.zeros((nocc[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) - rdm2_f_ovvv_aabb += einsum("iabc->iacb", x265) - rdm2_f_vvov_bbaa = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - rdm2_f_vvov_bbaa += einsum("iabc->cbia", x265) - del x265 - x272 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x272 += einsum("ai,jibc->jabc", l1.aa, t2.aaaa) - x276 += einsum("iabc->iabc", x272) - del x272 - x273 = np.zeros((nbos, nvir[0], nvir[0]), dtype=types[float]) - x273 += einsum("ia,wbi->wba", t1.aa, lu11.aa) - x274 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x274 += einsum("wia,wbc->ibca", u11.aa, x273) - x276 -= einsum("iabc->iabc", x274) - del x274 - rdm2_f_vovv_aaaa += einsum("iabc->bica", x276) - rdm2_f_vovv_aaaa -= einsum("iabc->ciba", x276) - rdm2_f_vvvo_aaaa -= einsum("iabc->baci", x276) - rdm2_f_vvvo_aaaa += einsum("iabc->cabi", x276) - del x276 - x290 = np.zeros((nocc[1], nvir[0], nvir[0], nvir[1]), dtype=types[float]) - x290 += einsum("wia,wbc->ibca", u11.bb, x273) - del x273 - rdm2_f_vovv_bbaa += einsum("iabc->ciba", x290) - rdm2_f_vvvo_aabb += einsum("iabc->baci", x290) - del x290 - x277 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x277 += einsum("ai,jibc->jabc", l1.bb, t2.bbbb) - x281 += einsum("iabc->iabc", x277) - del x277 - x278 = np.zeros((nbos, nvir[1], nvir[1]), dtype=types[float]) - x278 += einsum("ia,wbi->wba", t1.bb, lu11.bb) - x279 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x279 += einsum("wia,wbc->ibca", u11.bb, x278) - x281 -= einsum("iabc->iabc", x279) - del x279 - rdm2_f_vovv_bbbb = np.zeros((nvir[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - rdm2_f_vovv_bbbb += einsum("iabc->bica", x281) - rdm2_f_vovv_bbbb -= einsum("iabc->ciba", x281) - rdm2_f_vvvo_bbbb = np.zeros((nvir[1], nvir[1], nvir[1], nocc[1]), dtype=types[float]) - rdm2_f_vvvo_bbbb -= einsum("iabc->baci", x281) - rdm2_f_vvvo_bbbb += einsum("iabc->cabi", x281) - del x281 - x300 = np.zeros((nocc[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) - x300 += einsum("wia,wbc->iabc", u11.aa, x278) - del x278 - rdm2_f_vovv_aabb += einsum("iabc->aicb", x300) - rdm2_f_vvvo_bbaa += einsum("iabc->cbai", x300) - del x300 - x284 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x284 += einsum("abij->jiab", l2.bbbb) - x284 += einsum("abij->jiba", l2.bbbb) * -1 - x285 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x285 += einsum("ijab,ikac->jkbc", x16, x284) - del x16 - x286 += einsum("ijab->jiba", x285) - del x285 - x287 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x287 += einsum("ia,ijbc->jabc", t1.bb, x286) - del x286 - x289 += einsum("iabc->ibac", x287) * -1 - del x287 - rdm2_f_vovv_bbbb += einsum("iabc->bica", x289) - rdm2_f_vovv_bbbb += einsum("iabc->ciba", x289) * -1 - rdm2_f_vvvo_bbbb += einsum("iabc->baci", x289) * -1 - rdm2_f_vvvo_bbbb += einsum("iabc->cabi", x289) - del x289 - x303 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x303 += einsum("ijab,jkcb->ikac", t2.abab, x284) - del x284 - x304 += einsum("ijab->ijab", x303) * -1 - del x303 - x305 = np.zeros((nocc[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) - x305 += einsum("ia,jibc->jbac", t1.bb, x304) - del x304 - rdm2_f_vovv_aabb += einsum("iabc->aibc", x305) * -1 - rdm2_f_vvvo_bbaa += einsum("iabc->bcai", x305) * -1 - del x305 - x291 = np.zeros((nocc[1], nvir[0], nvir[0], nvir[1]), dtype=types[float]) - x291 += einsum("ai,ijbc->jabc", l1.aa, t2.abab) - rdm2_f_vovv_bbaa += einsum("iabc->ciba", x291) - rdm2_f_vvvo_aabb += einsum("iabc->baci", x291) - del x291 - x301 = np.zeros((nocc[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) - x301 += einsum("ai,jibc->jbac", l1.bb, t2.abab) - rdm2_f_vovv_aabb += einsum("iabc->aicb", x301) - rdm2_f_vvvo_bbaa += einsum("iabc->cbai", x301) - del x301 - x306 = np.zeros((nvir[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x306 += einsum("abij,ijcd->abcd", l2.aaaa, t2.aaaa) - x308 += einsum("abcd->badc", x306) - del x306 - rdm2_f_vvvv_aaaa = np.zeros((nvir[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - rdm2_f_vvvv_aaaa += einsum("abcd->dacb", x308) * -1 - rdm2_f_vvvv_aaaa += einsum("abcd->cadb", x308) - del x308 - x309 = np.zeros((nvir[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) - x309 += einsum("abij,ijcd->acbd", l2.abab, t2.abab) - rdm2_f_vvvv_bbaa += einsum("abcd->dcba", x309) - rdm2_f_vvvv_aabb += einsum("abcd->badc", x309) - del x309 - x311 = np.zeros((nvir[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x311 += einsum("abij,ijcd->abcd", l2.bbbb, t2.bbbb) - x313 += einsum("abcd->badc", x311) - del x311 - rdm2_f_vvvv_bbbb = np.zeros((nvir[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - rdm2_f_vvvv_bbbb += einsum("abcd->dacb", x313) * -1 - rdm2_f_vvvv_bbbb += einsum("abcd->cadb", x313) - del x313 - rdm2_f_oooo_aaaa += einsum("ij,kl->jilk", delta_oo.aa, delta_oo.aa) - rdm2_f_oooo_aaaa -= einsum("ij,kl->ljik", delta_oo.aa, delta_oo.aa) - rdm2_f_oooo_bbbb += einsum("ij,kl->jilk", delta_oo.bb, delta_oo.bb) - rdm2_f_oooo_bbbb -= einsum("ij,kl->ljik", delta_oo.bb, delta_oo.bb) - rdm2_f_ooov_aaaa += einsum("ij,ak->jika", delta_oo.aa, l1.aa) - rdm2_f_ooov_aaaa -= einsum("ij,ak->kija", delta_oo.aa, l1.aa) - rdm2_f_ooov_bbbb += einsum("ij,ak->jika", delta_oo.bb, l1.bb) - rdm2_f_ooov_bbbb -= einsum("ij,ak->kija", delta_oo.bb, l1.bb) - rdm2_f_ooov_aabb += einsum("ij,ak->jika", delta_oo.aa, l1.bb) - rdm2_f_ooov_bbaa += einsum("ij,ak->jika", delta_oo.bb, l1.aa) - rdm2_f_ovoo_aaaa -= einsum("ij,ak->jaki", delta_oo.aa, l1.aa) - rdm2_f_ovoo_aaaa += einsum("ij,ak->kaji", delta_oo.aa, l1.aa) - rdm2_f_ovoo_bbaa += einsum("ij,ak->kaji", delta_oo.aa, l1.bb) - rdm2_f_ovoo_aabb += einsum("ij,ak->kaji", delta_oo.bb, l1.aa) - rdm2_f_ovoo_bbbb -= einsum("ij,ak->jaki", delta_oo.bb, l1.bb) - rdm2_f_ovoo_bbbb += einsum("ij,ak->kaji", delta_oo.bb, l1.bb) - rdm2_f_ovov_aaaa = np.zeros((nocc[0], nvir[0], nocc[0], nvir[0]), dtype=types[float]) - rdm2_f_ovov_aaaa -= einsum("abij->jaib", l2.aaaa) - rdm2_f_ovov_aaaa += einsum("abij->jbia", l2.aaaa) - rdm2_f_ovov_bbbb = np.zeros((nocc[1], nvir[1], nocc[1], nvir[1]), dtype=types[float]) - rdm2_f_ovov_bbbb -= einsum("abij->jaib", l2.bbbb) - rdm2_f_ovov_bbbb += einsum("abij->jbia", l2.bbbb) - rdm2_f_ovov_bbaa = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - rdm2_f_ovov_bbaa += einsum("abij->jbia", l2.abab) - rdm2_f_ovov_aabb = np.zeros((nocc[0], nvir[0], nocc[1], nvir[1]), dtype=types[float]) - rdm2_f_ovov_aabb += einsum("abij->iajb", l2.abab) - rdm2_f_oovv_aaaa -= einsum("ai,jb->ijba", l1.aa, t1.aa) - rdm2_f_oovv_bbbb -= einsum("ai,jb->ijba", l1.bb, t1.bb) - rdm2_f_ovvo_aaaa += einsum("ai,jb->iabj", l1.aa, t1.aa) - rdm2_f_ovvo_aabb += einsum("ai,jb->iabj", l1.aa, t1.bb) - rdm2_f_ovvo_bbaa += einsum("ai,jb->iabj", l1.bb, t1.aa) - rdm2_f_ovvo_bbbb += einsum("ai,jb->iabj", l1.bb, t1.bb) - rdm2_f_voov_aaaa += einsum("ai,jb->bjia", l1.aa, t1.aa) - rdm2_f_voov_bbaa += einsum("ai,jb->bjia", l1.aa, t1.bb) - rdm2_f_voov_aabb += einsum("ai,jb->bjia", l1.bb, t1.aa) - rdm2_f_voov_bbbb += einsum("ai,jb->bjia", l1.bb, t1.bb) - rdm2_f_vvoo_aaaa -= einsum("ai,jb->baij", l1.aa, t1.aa) - rdm2_f_vvoo_bbbb -= einsum("ai,jb->baij", l1.bb, t1.bb) - rdm2_f_vovo_bbaa += einsum("ijab->bjai", t2.abab) - rdm2_f_vovo_aabb += einsum("ijab->aibj", t2.abab) - - rdm2_f_aaaa = pack_2e(rdm2_f_oooo_aaaa, rdm2_f_ooov_aaaa, rdm2_f_oovo_aaaa, rdm2_f_ovoo_aaaa, rdm2_f_vooo_aaaa, rdm2_f_oovv_aaaa, rdm2_f_ovov_aaaa, rdm2_f_ovvo_aaaa, rdm2_f_voov_aaaa, rdm2_f_vovo_aaaa, rdm2_f_vvoo_aaaa, rdm2_f_ovvv_aaaa, rdm2_f_vovv_aaaa, rdm2_f_vvov_aaaa, rdm2_f_vvvo_aaaa, rdm2_f_vvvv_aaaa) - rdm2_f_aabb = pack_2e(rdm2_f_oooo_aabb, rdm2_f_ooov_aabb, rdm2_f_oovo_aabb, rdm2_f_ovoo_aabb, rdm2_f_vooo_aabb, rdm2_f_oovv_aabb, rdm2_f_ovov_aabb, rdm2_f_ovvo_aabb, rdm2_f_voov_aabb, rdm2_f_vovo_aabb, rdm2_f_vvoo_aabb, rdm2_f_ovvv_aabb, rdm2_f_vovv_aabb, rdm2_f_vvov_aabb, rdm2_f_vvvo_aabb, rdm2_f_vvvv_aabb) - rdm2_f_bbaa = pack_2e(rdm2_f_oooo_bbaa, rdm2_f_ooov_bbaa, rdm2_f_oovo_bbaa, rdm2_f_ovoo_bbaa, rdm2_f_vooo_bbaa, rdm2_f_oovv_bbaa, rdm2_f_ovov_bbaa, rdm2_f_ovvo_bbaa, rdm2_f_voov_bbaa, rdm2_f_vovo_bbaa, rdm2_f_vvoo_bbaa, rdm2_f_ovvv_bbaa, rdm2_f_vovv_bbaa, rdm2_f_vvov_bbaa, rdm2_f_vvvo_bbaa, rdm2_f_vvvv_bbaa) - rdm2_f_bbbb = pack_2e(rdm2_f_oooo_bbbb, rdm2_f_ooov_bbbb, rdm2_f_oovo_bbbb, rdm2_f_ovoo_bbbb, rdm2_f_vooo_bbbb, rdm2_f_oovv_bbbb, rdm2_f_ovov_bbbb, rdm2_f_ovvo_bbbb, rdm2_f_voov_bbbb, rdm2_f_vovo_bbbb, rdm2_f_vvoo_bbbb, rdm2_f_ovvv_bbbb, rdm2_f_vovv_bbbb, rdm2_f_vvov_bbbb, rdm2_f_vvvo_bbbb, rdm2_f_vvvv_bbbb) - - rdm2_f.aaaa = rdm2_f_aaaa - rdm2_f.aabb = rdm2_f_aabb - rdm2_f.bbaa = rdm2_f_bbaa - rdm2_f.bbbb = rdm2_f_bbbb - - return rdm2_f - -def make_sing_b_dm(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, s2=None, u11=None, l1=None, l2=None, ls1=None, ls2=None, lu11=None, **kwargs): - # Get boson coupling creation array: - gc = Namespace( - aa = Namespace( - boo=g.aa.boo.transpose(0, 2, 1), - bov=g.aa.bvo.transpose(0, 2, 1), - bvo=g.aa.bov.transpose(0, 2, 1), - bvv=g.aa.bvv.transpose(0, 2, 1), - ), - bb = Namespace( - boo=g.bb.boo.transpose(0, 2, 1), - bov=g.bb.bvo.transpose(0, 2, 1), - bvo=g.bb.bov.transpose(0, 2, 1), - bvv=g.bb.bvv.transpose(0, 2, 1), - ), - ) - - # Single boson DM - dm_b_cre = np.zeros((nbos), dtype=types[float]) - dm_b_cre += einsum("w->w", ls1) - dm_b_des = np.zeros((nbos), dtype=types[float]) - dm_b_des += einsum("w->w", s1) - dm_b_des += einsum("ai,wia->w", l1.bb, u11.bb) - dm_b_des += einsum("ai,wia->w", l1.aa, u11.aa) - dm_b_des += einsum("w,xw->x", ls1, s2) - - dm_b = np.array([dm_b_cre, dm_b_des]) - - return dm_b - -def make_rdm1_b(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, s2=None, u11=None, l1=None, l2=None, ls1=None, ls2=None, lu11=None, **kwargs): - # Get boson coupling creation array: - gc = Namespace( - aa = Namespace( - boo=g.aa.boo.transpose(0, 2, 1), - bov=g.aa.bvo.transpose(0, 2, 1), - bvo=g.aa.bov.transpose(0, 2, 1), - bvv=g.aa.bvv.transpose(0, 2, 1), - ), - bb = Namespace( - boo=g.bb.boo.transpose(0, 2, 1), - bov=g.bb.bvo.transpose(0, 2, 1), - bvo=g.bb.bov.transpose(0, 2, 1), - bvv=g.bb.bvv.transpose(0, 2, 1), - ), - ) - - # Boson 1RDM - rdm1_b = np.zeros((nbos, nbos), dtype=types[float]) - rdm1_b += einsum("wx,yx->wy", ls2, s2) - rdm1_b += einsum("w,x->wx", ls1, s1) - rdm1_b += einsum("wai,xia->wx", lu11.bb, u11.bb) - rdm1_b += einsum("wai,xia->wx", lu11.aa, u11.aa) - - return rdm1_b - -def make_eb_coup_rdm(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, s2=None, u11=None, l1=None, l2=None, ls1=None, ls2=None, lu11=None, **kwargs): - rdm_eb = Namespace() - - # Get boson coupling creation array: - gc = Namespace( - aa = Namespace( - boo=g.aa.boo.transpose(0, 2, 1), - bov=g.aa.bvo.transpose(0, 2, 1), - bvo=g.aa.bov.transpose(0, 2, 1), - bvv=g.aa.bvv.transpose(0, 2, 1), - ), - bb = Namespace( - boo=g.bb.boo.transpose(0, 2, 1), - bov=g.bb.bvo.transpose(0, 2, 1), - bvo=g.bb.bov.transpose(0, 2, 1), - bvv=g.bb.bvv.transpose(0, 2, 1), - ), - ) - - delta_oo = Namespace() - delta_oo.aa = np.eye(nocc[0]) - delta_oo.bb = np.eye(nocc[1]) - delta_vv = Namespace() - delta_vv.aa = np.eye(nvir[0]) - delta_vv.bb = np.eye(nvir[1]) - - # Boson-fermion coupling RDM - x0 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) - x0 += einsum("ia,waj->wji", t1.aa, lu11.aa) - x53 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x53 += einsum("wia,wij->ja", u11.aa, x0) - rdm_eb_cre_oo_aa = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) - rdm_eb_cre_oo_aa -= einsum("wij->wji", x0) - rdm_eb_cre_ov_aa = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - rdm_eb_cre_ov_aa -= einsum("ia,wij->wja", t1.aa, x0) - del x0 - x1 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) - x1 += einsum("ia,waj->wji", t1.bb, lu11.bb) - x65 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x65 += einsum("wia,wij->ja", u11.bb, x1) - rdm_eb_cre_oo_bb = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) - rdm_eb_cre_oo_bb -= einsum("wij->wji", x1) - rdm_eb_cre_ov_bb = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - rdm_eb_cre_ov_bb -= einsum("ia,wij->wja", t1.bb, x1) - del x1 - x2 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x2 -= einsum("ijab->jiab", t2.aaaa) - x2 += einsum("ijab->jiba", t2.aaaa) - rdm_eb_cre_ov_aa -= einsum("wai,ijba->wjb", lu11.aa, x2) - x3 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x3 += einsum("ijab->jiab", t2.bbbb) - x3 -= einsum("ijab->jiba", t2.bbbb) - rdm_eb_cre_ov_bb -= einsum("wai,ijab->wjb", lu11.bb, x3) - x4 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) - x4 += einsum("ai,wja->wij", l1.aa, u11.aa) - x43 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) - x43 += einsum("wij->wij", x4) - rdm_eb_des_oo_aa = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) - rdm_eb_des_oo_aa -= einsum("wij->wji", x4) - del x4 - x5 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x5 += einsum("wx,xai->wia", s2, lu11.aa) - x9 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x9 += einsum("wia->wia", x5) - x34 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x34 += einsum("wia->wia", x5) - rdm_eb_des_vo_aa = np.zeros((nbos, nvir[0], nocc[0]), dtype=types[float]) - rdm_eb_des_vo_aa += einsum("wia->wai", x5) - del x5 - x6 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x6 += einsum("wia,baji->wjb", u11.bb, l2.abab) - x9 += einsum("wia->wia", x6) - x34 += einsum("wia->wia", x6) - rdm_eb_des_vo_aa += einsum("wia->wai", x6) - del x6 - x7 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x7 += einsum("abij->jiab", l2.aaaa) * -1 - x7 += einsum("abij->jiba", l2.aaaa) - x8 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x8 += einsum("wia,ijba->wjb", u11.aa, x7) - x9 += einsum("wia->wia", x8) * -1 - del x8 - rdm_eb_des_oo_aa += einsum("ia,wja->wij", t1.aa, x9) * -1 - rdm_eb_des_vv_aa = np.zeros((nbos, nvir[0], nvir[0]), dtype=types[float]) - rdm_eb_des_vv_aa += einsum("ia,wib->wba", t1.aa, x9) - del x9 - x40 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x40 += einsum("ijab,ijbc->ac", t2.aaaa, x7) - del x7 - x41 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x41 += einsum("ab->ba", x40) * -1 - x66 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x66 += einsum("ab->ba", x40) * -1 - del x40 - x10 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x10 += einsum("ai,ja->ij", l1.aa, t1.aa) - x15 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x15 += einsum("ij->ij", x10) - x42 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x42 += einsum("ij->ij", x10) - x52 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x52 += einsum("ij->ij", x10) - del x10 - x11 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x11 += einsum("wai,wja->ij", lu11.aa, u11.aa) - x15 += einsum("ij->ij", x11) - x42 += einsum("ij->ij", x11) - x52 += einsum("ij->ij", x11) - del x11 - x12 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x12 += einsum("abij,kjab->ik", l2.abab, t2.abab) - x15 += einsum("ij->ij", x12) - x42 += einsum("ij->ij", x12) - x52 += einsum("ij->ij", x12) - del x12 - x13 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x13 += einsum("ijab->jiab", t2.aaaa) * -1 - x13 += einsum("ijab->jiba", t2.aaaa) - x14 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x14 += einsum("abij,ikba->jk", l2.aaaa, x13) - x15 += einsum("ij->ij", x14) * -1 - x42 += einsum("ij->ij", x14) * -1 - del x14 - rdm_eb_des_ov_aa = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - rdm_eb_des_ov_aa += einsum("ij,wia->wja", x42, u11.aa) * -1 - del x42 - x52 += einsum("abij,ikba->jk", l2.aaaa, x13) * -1 - del x13 - x53 += einsum("ia,ij->ja", t1.aa, x52) - del x52 - x15 += einsum("ij->ji", delta_oo.aa) * -1 - rdm_eb_des_oo_aa += einsum("w,ij->wji", s1, x15) * -1 - del x15 - x16 = np.zeros((nbos), dtype=types[float]) - x16 += einsum("w,xw->x", ls1, s2) - x19 = np.zeros((nbos), dtype=types[float]) - x19 += einsum("w->w", x16) - del x16 - x17 = np.zeros((nbos), dtype=types[float]) - x17 += einsum("ai,wia->w", l1.aa, u11.aa) - x19 += einsum("w->w", x17) - del x17 - x18 = np.zeros((nbos), dtype=types[float]) - x18 += einsum("ai,wia->w", l1.bb, u11.bb) - x19 += einsum("w->w", x18) - del x18 - rdm_eb_des_oo_aa += einsum("w,ij->wji", x19, delta_oo.aa) - rdm_eb_des_oo_bb = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) - rdm_eb_des_oo_bb += einsum("w,ij->wji", x19, delta_oo.bb) - rdm_eb_des_ov_aa += einsum("w,ia->wia", x19, t1.aa) - rdm_eb_des_ov_bb = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - rdm_eb_des_ov_bb += einsum("w,ia->wia", x19, t1.bb) - del x19 - x20 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) - x20 += einsum("ai,wja->wij", l1.bb, u11.bb) - x60 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) - x60 += einsum("wij->wij", x20) - rdm_eb_des_oo_bb -= einsum("wij->wji", x20) - del x20 - x21 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x21 += einsum("wx,xai->wia", s2, lu11.bb) - x25 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x25 += einsum("wia->wia", x21) - x37 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x37 += einsum("wia->wia", x21) - rdm_eb_des_vo_bb = np.zeros((nbos, nvir[1], nocc[1]), dtype=types[float]) - rdm_eb_des_vo_bb += einsum("wia->wai", x21) - del x21 - x22 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x22 += einsum("wia,abij->wjb", u11.aa, l2.abab) - x25 += einsum("wia->wia", x22) - x37 += einsum("wia->wia", x22) - rdm_eb_des_vo_bb += einsum("wia->wai", x22) - del x22 - x23 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x23 += einsum("abij->jiab", l2.bbbb) - x23 += einsum("abij->jiba", l2.bbbb) * -1 - x24 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x24 += einsum("wia,ijab->wjb", u11.bb, x23) - del x23 - x25 += einsum("wia->wia", x24) * -1 - del x24 - rdm_eb_des_oo_bb += einsum("ia,wja->wij", t1.bb, x25) * -1 - rdm_eb_des_vv_bb = np.zeros((nbos, nvir[1], nvir[1]), dtype=types[float]) - rdm_eb_des_vv_bb += einsum("ia,wib->wba", t1.bb, x25) - del x25 - x26 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x26 += einsum("ai,ja->ij", l1.bb, t1.bb) - x31 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x31 += einsum("ij->ij", x26) - x59 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x59 += einsum("ij->ij", x26) - x64 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x64 += einsum("ij->ij", x26) - del x26 - x27 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x27 += einsum("wai,wja->ij", lu11.bb, u11.bb) - x31 += einsum("ij->ij", x27) - x59 += einsum("ij->ij", x27) - x64 += einsum("ij->ij", x27) - del x27 - x28 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x28 += einsum("abij,ikab->jk", l2.abab, t2.abab) - x31 += einsum("ij->ij", x28) - x59 += einsum("ij->ij", x28) - x64 += einsum("ij->ij", x28) - del x28 - x29 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x29 += einsum("ijab->jiab", t2.bbbb) * -1 - x29 += einsum("ijab->jiba", t2.bbbb) - x30 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x30 += einsum("abij,ikba->jk", l2.bbbb, x29) - x31 += einsum("ij->ij", x30) * -1 - x59 += einsum("ij->ij", x30) * -1 - del x30 - rdm_eb_des_ov_bb += einsum("ij,wia->wja", x59, u11.bb) * -1 - del x59 - x64 += einsum("abij,ikba->jk", l2.bbbb, x29) * -1 - x65 += einsum("ia,ij->ja", t1.bb, x64) - del x64 - x65 += einsum("ai,ijab->jb", l1.bb, x29) * -1 - del x29 - x31 += einsum("ij->ji", delta_oo.bb) * -1 - rdm_eb_des_oo_bb += einsum("w,ij->wji", s1, x31) * -1 - del x31 - x32 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x32 -= einsum("abij->jiab", l2.aaaa) - x32 += einsum("abij->jiba", l2.aaaa) - x33 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x33 += einsum("wia,ijba->wjb", u11.aa, x32) - del x32 - x34 -= einsum("wia->wia", x33) - x43 += einsum("ia,wja->wji", t1.aa, x34) - rdm_eb_des_ov_aa -= einsum("ia,wij->wja", t1.aa, x43) - del x43 - rdm_eb_des_ov_aa -= einsum("wia,ijba->wjb", x34, x2) - del x2 - rdm_eb_des_ov_bb += einsum("wia,ijab->wjb", x34, t2.abab) - del x34 - rdm_eb_des_vo_aa -= einsum("wia->wai", x33) - del x33 - x35 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x35 += einsum("abij->jiab", l2.bbbb) - x35 -= einsum("abij->jiba", l2.bbbb) - x36 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x36 += einsum("wia,ijab->wjb", u11.bb, x35) - del x35 - x37 -= einsum("wia->wia", x36) - x60 += einsum("ia,wja->wji", t1.bb, x37) - rdm_eb_des_ov_bb -= einsum("ia,wij->wja", t1.bb, x60) - del x60 - rdm_eb_des_ov_aa += einsum("wia,jiba->wjb", x37, t2.abab) - rdm_eb_des_ov_bb -= einsum("wia,ijab->wjb", x37, x3) - del x3 - del x37 - rdm_eb_des_vo_bb -= einsum("wia->wai", x36) - del x36 - x38 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x38 += einsum("wai,wib->ab", lu11.aa, u11.aa) - x41 += einsum("ab->ab", x38) - x66 += einsum("ab->ab", x38) - del x38 - x39 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x39 += einsum("abij,ijcb->ac", l2.abab, t2.abab) - x41 += einsum("ab->ab", x39) - rdm_eb_des_ov_aa += einsum("ab,wia->wib", x41, u11.aa) * -1 - del x41 - x66 += einsum("ab->ab", x39) - del x39 - x44 = np.zeros((nbos, nbos), dtype=types[float]) - x44 += einsum("wx,yw->xy", ls2, s2) - x47 = np.zeros((nbos, nbos), dtype=types[float]) - x47 += einsum("wx->wx", x44) - del x44 - x45 = np.zeros((nbos, nbos), dtype=types[float]) - x45 += einsum("wai,xia->wx", lu11.aa, u11.aa) - x47 += einsum("wx->wx", x45) - del x45 - x46 = np.zeros((nbos, nbos), dtype=types[float]) - x46 += einsum("wai,xia->wx", lu11.bb, u11.bb) - x47 += einsum("wx->wx", x46) - del x46 - rdm_eb_des_ov_aa += einsum("wx,wia->xia", x47, u11.aa) - rdm_eb_des_ov_bb += einsum("wx,wia->xia", x47, u11.bb) - del x47 - x48 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x48 += einsum("ia,abjk->jikb", t1.aa, l2.abab) - x53 += einsum("ijab,ikjb->ka", t2.abab, x48) - del x48 - x49 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x49 += einsum("ia,bajk->jkib", t1.aa, l2.aaaa) - x50 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x50 += einsum("ijka->ijka", x49) - x50 += einsum("ijka->jika", x49) * -1 - del x49 - x53 += einsum("ijab,ijkb->ka", t2.aaaa, x50) * -1 - del x50 - x51 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x51 += einsum("ijab->jiab", t2.aaaa) - x51 += einsum("ijab->jiba", t2.aaaa) * -1 - x53 += einsum("ai,ijba->jb", l1.aa, x51) * -1 - del x51 - x53 += einsum("ia->ia", t1.aa) * -1 - x53 += einsum("w,wia->ia", ls1, u11.aa) * -1 - x53 += einsum("ai,jiba->jb", l1.bb, t2.abab) * -1 - rdm_eb_des_ov_aa += einsum("w,ia->wia", s1, x53) * -1 - del x53 - x54 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x54 += einsum("wai,wib->ab", lu11.bb, u11.bb) - x58 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x58 += einsum("ab->ab", x54) - x67 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x67 += einsum("ab->ab", x54) - del x54 - x55 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x55 += einsum("abij,ijac->bc", l2.abab, t2.abab) - x58 += einsum("ab->ab", x55) - x67 += einsum("ab->ab", x55) - del x55 - x56 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x56 += einsum("abij->jiab", l2.bbbb) * -1 - x56 += einsum("abij->jiba", l2.bbbb) - x57 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x57 += einsum("ijab,ijca->bc", t2.bbbb, x56) - del x56 - x58 += einsum("ab->ba", x57) * -1 - rdm_eb_des_ov_bb += einsum("ab,wia->wib", x58, u11.bb) * -1 - del x58 - x67 += einsum("ab->ba", x57) * -1 - del x57 - x61 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x61 += einsum("ia,bajk->jkib", t1.bb, l2.abab) - x65 += einsum("ijab,ijka->kb", t2.abab, x61) - del x61 - x62 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x62 += einsum("ia,bajk->jkib", t1.bb, l2.bbbb) - x63 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x63 += einsum("ijka->ijka", x62) * -1 - x63 += einsum("ijka->jika", x62) - del x62 - x65 += einsum("ijab,ijka->kb", t2.bbbb, x63) * -1 - del x63 - x65 += einsum("ia->ia", t1.bb) * -1 - x65 += einsum("w,wia->ia", ls1, u11.bb) * -1 - x65 += einsum("ai,ijab->jb", l1.aa, t2.abab) * -1 - rdm_eb_des_ov_bb += einsum("w,ia->wia", s1, x65) * -1 - del x65 - x66 += einsum("ai,ib->ab", l1.aa, t1.aa) - rdm_eb_des_vv_aa += einsum("w,ab->wab", s1, x66) - del x66 - x67 += einsum("ai,ib->ab", l1.bb, t1.bb) - rdm_eb_des_vv_bb += einsum("w,ab->wab", s1, x67) - del x67 - rdm_eb_cre_oo_aa += einsum("w,ij->wji", ls1, delta_oo.aa) - rdm_eb_cre_oo_bb += einsum("w,ij->wji", ls1, delta_oo.bb) - rdm_eb_cre_ov_aa += einsum("w,ia->wia", ls1, t1.aa) - rdm_eb_cre_ov_aa += einsum("wai,jiba->wjb", lu11.bb, t2.abab) - rdm_eb_cre_ov_aa += einsum("wx,xia->wia", ls2, u11.aa) - rdm_eb_cre_ov_bb += einsum("wai,ijab->wjb", lu11.aa, t2.abab) - rdm_eb_cre_ov_bb += einsum("w,ia->wia", ls1, t1.bb) - rdm_eb_cre_ov_bb += einsum("wx,xia->wia", ls2, u11.bb) - rdm_eb_cre_vo_aa = np.zeros((nbos, nvir[0], nocc[0]), dtype=types[float]) - rdm_eb_cre_vo_aa += einsum("wai->wai", lu11.aa) - rdm_eb_cre_vo_bb = np.zeros((nbos, nvir[1], nocc[1]), dtype=types[float]) - rdm_eb_cre_vo_bb += einsum("wai->wai", lu11.bb) - rdm_eb_cre_vv_aa = np.zeros((nbos, nvir[0], nvir[0]), dtype=types[float]) - rdm_eb_cre_vv_aa += einsum("ia,wbi->wba", t1.aa, lu11.aa) - rdm_eb_cre_vv_bb = np.zeros((nbos, nvir[1], nvir[1]), dtype=types[float]) - rdm_eb_cre_vv_bb += einsum("ia,wbi->wba", t1.bb, lu11.bb) - rdm_eb_des_ov_aa += einsum("wia->wia", u11.aa) - rdm_eb_des_ov_bb += einsum("wia->wia", u11.bb) - rdm_eb_des_vo_aa += einsum("w,ai->wai", s1, l1.aa) - rdm_eb_des_vo_bb += einsum("w,ai->wai", s1, l1.bb) - rdm_eb_des_vv_aa += einsum("ai,wib->wab", l1.aa, u11.aa) - rdm_eb_des_vv_bb += einsum("ai,wib->wab", l1.bb, u11.bb) - - rdm_eb_aa = np.array([ - np.block([[rdm_eb_cre_oo_aa, rdm_eb_cre_ov_aa], [rdm_eb_cre_vo_aa, rdm_eb_cre_vv_aa]]), - np.block([[rdm_eb_des_oo_aa, rdm_eb_des_ov_aa], [rdm_eb_des_vo_aa, rdm_eb_des_vv_aa]]), - ]) - rdm_eb_bb = np.array([ - np.block([[rdm_eb_cre_oo_bb, rdm_eb_cre_ov_bb], [rdm_eb_cre_vo_bb, rdm_eb_cre_vv_bb]]), - np.block([[rdm_eb_des_oo_bb, rdm_eb_des_ov_bb], [rdm_eb_des_vo_bb, rdm_eb_des_vv_bb]]), - ]) - - rdm_eb.aa = rdm_eb_aa - rdm_eb.bb = rdm_eb_bb - - return rdm_eb - diff --git a/ebcc/codegen/UCCSD_SD_1_2.py b/ebcc/codegen/UCCSD_SD_1_2.py deleted file mode 100644 index 9886ef63..00000000 --- a/ebcc/codegen/UCCSD_SD_1_2.py +++ /dev/null @@ -1,7430 +0,0 @@ -# Code generated for ebcc. - -from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, Namespace -from ebcc.precision import types - -def energy(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, s2=None, u11=None, u12=None, **kwargs): - # Energy - x0 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x0 += einsum("iajb->jiab", v.aaaa.ovov) * -1 - x0 += einsum("iajb->jiba", v.aaaa.ovov) - x1 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x1 += einsum("ijab->jiba", t2.aaaa) - x1 += einsum("ia,jb->ijab", t1.aa, t1.aa) - e_cc = 0 - e_cc += einsum("ijab,ijba->", x0, x1) * -0.5 - del x0 - del x1 - x2 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x2 += einsum("iajb->jiab", v.bbbb.ovov) * -1 - x2 += einsum("iajb->jiba", v.bbbb.ovov) - x3 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x3 += einsum("ijab->jiba", t2.bbbb) - x3 += einsum("ia,jb->ijab", t1.bb, t1.bb) - e_cc += einsum("ijab,ijba->", x2, x3) * -0.5 - del x2 - del x3 - x4 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x4 += einsum("ijab->ijab", t2.abab) - x4 += einsum("ia,jb->ijab", t1.aa, t1.bb) - e_cc += einsum("iajb,ijab->", v.aabb.ovov, x4) - del x4 - x5 = np.zeros((nbos), dtype=types[float]) - x5 += einsum("w->w", G) - x5 += einsum("ia,wia->w", t1.aa, g.aa.bov) - x5 += einsum("ia,wia->w", t1.bb, g.bb.bov) - e_cc += einsum("w,w->", s1, x5) - del x5 - e_cc += einsum("ia,ia->", f.aa.ov, t1.aa) - e_cc += einsum("wia,wia->", g.bb.bov, u11.bb) - e_cc += einsum("ia,ia->", f.bb.ov, t1.bb) - e_cc += einsum("wia,wia->", g.aa.bov, u11.aa) - - return e_cc - -def update_amps(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, s2=None, u11=None, u12=None, **kwargs): - t1new = Namespace() - t2new = Namespace() - u11new = Namespace() - u12new = Namespace() - - # Get boson coupling creation array: - gc = Namespace( - aa = Namespace( - boo=g.aa.boo.transpose(0, 2, 1), - bov=g.aa.bvo.transpose(0, 2, 1), - bvo=g.aa.bov.transpose(0, 2, 1), - bvv=g.aa.bvv.transpose(0, 2, 1), - ), - bb = Namespace( - boo=g.bb.boo.transpose(0, 2, 1), - bov=g.bb.bvo.transpose(0, 2, 1), - bvo=g.bb.bov.transpose(0, 2, 1), - bvv=g.bb.bvv.transpose(0, 2, 1), - ), - ) - - # T1, T2, S1, S2, U11 and U12 amplitudes - x0 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x0 += einsum("ia,jbka->ijkb", t1.aa, v.aaaa.ovov) - x1 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x1 += einsum("ijka->ijka", x0) - x1 += einsum("ijka->ikja", x0) * -1 - x69 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x69 += einsum("ijka->ijka", x0) - x69 -= einsum("ijka->ikja", x0) - x127 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x127 += einsum("ia,jkla->jilk", t1.aa, x0) - x128 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x128 += einsum("ijab,klij->lkba", t2.aaaa, x127) - x132 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x132 += einsum("ijab->ijab", x128) - del x128 - x133 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x133 += einsum("ia,jkli->jkla", t1.aa, x127) - del x127 - x134 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x134 += einsum("ia,jkib->jkab", t1.aa, x133) - del x133 - x141 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x141 += einsum("ijab->ijab", x134) - del x134 - x259 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x259 += einsum("ijka->jkia", x0) * -1 - x259 += einsum("ijka->kjia", x0) - del x0 - x1 += einsum("ijka->jika", v.aaaa.ooov) * -1 - x1 += einsum("ijka->jkia", v.aaaa.ooov) - t1new_aa = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - t1new_aa += einsum("ijab,kjib->ka", t2.aaaa, x1) * -1 - del x1 - x2 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x2 += einsum("iabc->ibac", v.aaaa.ovvv) * -1 - x2 += einsum("iabc->ibca", v.aaaa.ovvv) - x99 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x99 += einsum("ia,jbca->ijbc", t1.aa, x2) - x105 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x105 += einsum("ia,ibca->bc", t1.aa, x2) - x106 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x106 += einsum("ab->ab", x105) * -1 - del x105 - t1new_aa += einsum("ijab,icab->jc", t2.aaaa, x2) * -1 - del x2 - x3 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x3 += einsum("ia,jakb->ijkb", t1.aa, v.aabb.ovov) - x4 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x4 += einsum("ijka->jika", x3) - x112 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x112 += einsum("ijab,kljb->kila", t2.abab, x3) - del x3 - x115 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x115 += einsum("ijka->ikja", x112) - del x112 - x4 += einsum("ijka->ijka", v.aabb.ooov) - x283 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x283 += einsum("ijab,iklb->kjla", t2.abab, x4) - x287 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x287 += einsum("ijka->ikja", x283) * -1 - del x283 - x374 = np.zeros((nbos, nbos, nocc[0], nocc[0]), dtype=types[float]) - x374 += einsum("wxia,jkia->xwjk", u12.bb, x4) - t1new_aa += einsum("ijab,ikjb->ka", t2.abab, x4) * -1 - x5 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x5 += einsum("w,wia->ia", s1, g.aa.bov) - x9 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x9 += einsum("ia->ia", x5) - x73 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x73 += einsum("ia->ia", x5) - x297 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x297 += einsum("ia->ia", x5) - x321 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x321 += einsum("ia->ia", x5) - x343 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x343 += einsum("ia->ia", x5) - del x5 - x6 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x6 += einsum("ia,jbia->jb", t1.bb, v.aabb.ovov) - x9 += einsum("ia->ia", x6) - x97 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x97 += einsum("ia,ja->ij", t1.aa, x6) - x98 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x98 += einsum("ij,kjab->ikab", x97, t2.aaaa) - del x97 - x119 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x119 += einsum("ijab->ijab", x98) * -1 - del x98 - x113 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x113 += einsum("ia,jkba->jkib", x6, t2.aaaa) - x115 += einsum("ijka->ikja", x113) * -1 - del x113 - x297 += einsum("ia->ia", x6) - x316 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x316 += einsum("ia->ia", x6) - del x6 - x7 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x7 += einsum("iajb->jiab", v.aaaa.ovov) - x7 += einsum("iajb->jiba", v.aaaa.ovov) * -1 - x8 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x8 += einsum("ia,ijab->jb", t1.aa, x7) - x9 += einsum("ia->ia", x8) * -1 - x316 += einsum("ia->ia", x8) * -1 - del x8 - x317 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x317 += einsum("ia,ib->ab", t1.aa, x316) * -1 - x365 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) - x365 += einsum("ia,wja->wij", x316, u11.aa) - del x316 - x366 = np.zeros((nbos, nbos, nocc[0], nvir[0]), dtype=types[float]) - x366 += einsum("wia,xij->xwja", u11.aa, x365) - del x365 - x367 = np.zeros((nbos, nbos, nocc[0], nvir[0]), dtype=types[float]) - x367 += einsum("wxia->wxia", x366) - del x366 - x23 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x23 += einsum("ijab,ikab->jk", t2.aaaa, x7) - x27 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x27 += einsum("ij->ji", x23) * -1 - x117 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x117 += einsum("ij->ji", x23) * -1 - del x23 - x104 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x104 += einsum("ijab,ijcb->ac", t2.aaaa, x7) - x106 += einsum("ab->ab", x104) * -1 - del x104 - x231 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x231 += einsum("ijab,ikac->kjcb", t2.abab, x7) - x232 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x232 += einsum("ijab->ijab", x231) * -1 - del x231 - x311 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x311 += einsum("wia,ijab->wjb", u11.aa, x7) - x312 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x312 += einsum("wia->wia", x311) * -1 - x360 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x360 += einsum("wia->wia", x311) * -1 - del x311 - x369 = np.zeros((nbos, nbos, nocc[0], nvir[0]), dtype=types[float]) - x369 += einsum("wxia,ijab->wxjb", u12.aa, x7) - del x7 - x370 = np.zeros((nbos, nbos, nocc[0], nvir[0]), dtype=types[float]) - x370 += einsum("wxia->xwia", x369) * -1 - del x369 - x9 += einsum("ia->ia", f.aa.ov) - x26 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x26 += einsum("ia,ja->ij", t1.aa, x9) - x27 += einsum("ij->ji", x26) - del x26 - x263 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x263 += einsum("ia,jkab->jikb", x9, t2.abab) - x269 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x269 += einsum("ijka->jika", x263) - del x263 - x374 += einsum("ia,wxja->xwij", x9, u12.aa) - t1new_bb = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - t1new_bb += einsum("ia,ijab->jb", x9, t2.abab) - x10 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x10 += einsum("ijab->jiab", t2.aaaa) - x10 += einsum("ijab->jiba", t2.aaaa) * -1 - x100 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x100 += einsum("ijab,kica->kjcb", x10, x99) * -1 - del x99 - x119 += einsum("ijab->ijba", x100) * -1 - del x100 - t1new_aa += einsum("ia,ijab->jb", x9, x10) * -1 - del x9 - x11 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x11 += einsum("w,wia->ia", s1, g.bb.bov) - x15 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x15 += einsum("ia->ia", x11) - x154 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x154 += einsum("ia->ia", x11) - x296 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x296 += einsum("ia->ia", x11) - x332 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x332 += einsum("ia->ia", x11) - x379 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x379 += einsum("ia->ia", x11) - del x11 - x12 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x12 += einsum("ia,iajb->jb", t1.aa, v.aabb.ovov) - x15 += einsum("ia->ia", x12) - x193 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x193 += einsum("ia,jkab->kjib", x12, t2.bbbb) - x196 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x196 += einsum("ijka->ikja", x193) * -1 - del x193 - x206 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x206 += einsum("ia,ja->ij", t1.bb, x12) - x207 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x207 += einsum("ij->ij", x206) - del x206 - x296 += einsum("ia->ia", x12) - x327 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x327 += einsum("ia->ia", x12) - del x12 - x13 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x13 += einsum("iajb->jiab", v.bbbb.ovov) - x13 += einsum("iajb->jiba", v.bbbb.ovov) * -1 - x14 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x14 += einsum("ia,ijab->jb", t1.bb, x13) - x15 += einsum("ia->ia", x14) * -1 - x327 += einsum("ia->ia", x14) * -1 - del x14 - x328 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x328 += einsum("ia,ib->ab", t1.bb, x327) * -1 - x401 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) - x401 += einsum("ia,wja->wij", x327, u11.bb) - del x327 - x402 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) - x402 += einsum("wij->wji", x401) - del x401 - x271 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x271 += einsum("ijab,ijbc->ca", t2.bbbb, x13) - x272 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x272 += einsum("ab->ba", x271) * -1 - x328 += einsum("ab->ba", x271) * -1 - del x271 - x314 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x314 += einsum("wia,ijab->wjb", u11.bb, x13) - x315 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x315 += einsum("wia->wia", x314) * -1 - x405 = np.zeros((nbos, nbos, nocc[1], nocc[1]), dtype=types[float]) - x405 += einsum("wia,xja->xwji", u11.bb, x314) * -1 - x406 = np.zeros((nbos, nbos, nocc[1], nocc[1]), dtype=types[float]) - x406 += einsum("wxij->xwji", x405) - del x405 - x408 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) - x408 += einsum("ia,wja->wji", t1.bb, x314) * -1 - del x314 - x409 = np.zeros((nbos, nbos, nocc[1], nvir[1]), dtype=types[float]) - x409 += einsum("wia,xij->xwja", u11.bb, x408) - del x408 - x410 = np.zeros((nbos, nbos, nocc[1], nvir[1]), dtype=types[float]) - x410 += einsum("wxia->xwia", x409) - del x409 - x372 = np.zeros((nbos, nbos, nocc[1], nvir[1]), dtype=types[float]) - x372 += einsum("wxia,ijab->wxjb", u12.bb, x13) - del x13 - x373 = np.zeros((nbos, nbos, nocc[1], nvir[1]), dtype=types[float]) - x373 += einsum("wxia->xwia", x372) * -1 - del x372 - x15 += einsum("ia->ia", f.bb.ov) - x53 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x53 += einsum("ia,ja->ij", t1.bb, x15) - x54 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x54 += einsum("ij->ji", x53) - del x53 - x284 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x284 += einsum("ia,jkba->jkib", x15, t2.abab) - x287 += einsum("ijka->ikja", x284) - del x284 - x413 = np.zeros((nbos, nbos, nocc[1], nocc[1]), dtype=types[float]) - x413 += einsum("ia,wxja->xwij", x15, u12.bb) - t1new_aa += einsum("ia,jiba->jb", x15, t2.abab) - x16 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x16 += einsum("iabj->ijba", v.aaaa.ovvo) - x16 -= einsum("ijab->ijab", v.aaaa.oovv) - x75 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x75 += einsum("ia,jkba->ijkb", t1.aa, x16) - x76 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x76 -= einsum("ijka->jika", x75) - del x75 - t1new_aa += einsum("ia,ijba->jb", t1.aa, x16) - u11new_aa = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - u11new_aa += einsum("wia,ijba->wjb", u11.aa, x16) - x17 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) - x17 += einsum("ia,wja->wji", t1.aa, g.aa.bov) - x18 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) - x18 += einsum("wij->wij", x17) - del x17 - x18 += einsum("wij->wij", g.aa.boo) - x84 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x84 += einsum("ia,wij->wja", t1.aa, x18) - x85 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x85 -= einsum("wia->wia", x84) - del x84 - t1new_aa -= einsum("wia,wij->ja", u11.aa, x18) - u11new_aa -= einsum("wij,wxia->xja", x18, u12.aa) - del x18 - x19 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x19 += einsum("w,wij->ij", s1, g.aa.boo) - x27 += einsum("ij->ij", x19) - x79 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x79 += einsum("ij->ji", x19) - del x19 - x20 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x20 += einsum("wia,wja->ij", g.aa.bov, u11.aa) - x27 += einsum("ij->ij", x20) - x92 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x92 += einsum("ij->ij", x20) - del x20 - x21 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x21 += einsum("ia,jkia->jk", t1.bb, v.aabb.ooov) - x27 += einsum("ij->ij", x21) - x92 += einsum("ij->ij", x21) - del x21 - x93 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x93 += einsum("ij,ikab->jkab", x92, t2.aaaa) - del x92 - x94 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x94 -= einsum("ijab->jiba", x93) - del x93 - x22 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x22 += einsum("ijab,kajb->ik", t2.abab, v.aabb.ovov) - x27 += einsum("ij->ji", x22) - x117 += einsum("ij->ji", x22) - del x22 - x24 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x24 += einsum("ijka->ikja", v.aaaa.ooov) - x24 += einsum("ijka->kija", v.aaaa.ooov) * -1 - x25 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x25 += einsum("ia,ijka->jk", t1.aa, x24) - x27 += einsum("ij->ij", x25) * -1 - x117 += einsum("ij->ij", x25) * -1 - del x25 - x118 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x118 += einsum("ij,ikab->jkab", x117, t2.aaaa) - del x117 - x119 += einsum("ijab->jiba", x118) - del x118 - x114 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x114 += einsum("ijab,kila->jklb", x10, x24) - x115 += einsum("ijka->ijka", x114) - del x114 - x322 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) - x322 += einsum("wia,ijka->wjk", u11.aa, x24) * -1 - del x24 - x27 += einsum("ij->ij", f.aa.oo) - x290 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x290 += einsum("ij,ikab->jkab", x27, t2.abab) - t2new_baba = np.zeros((nocc[1], nocc[0], nvir[1], nvir[0]), dtype=types[float]) - t2new_baba += einsum("ijab->jiba", x290) * -1 - t2new_abab = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - t2new_abab += einsum("ijab->ijab", x290) * -1 - del x290 - t1new_aa += einsum("ia,ij->ja", t1.aa, x27) * -1 - u11new_aa += einsum("ij,wia->wja", x27, u11.aa) * -1 - u12new_aa = np.zeros((nbos, nbos, nocc[0], nvir[0]), dtype=types[float]) - u12new_aa += einsum("ij,wxia->xwja", x27, u12.aa) * -1 - del x27 - x28 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x28 += einsum("w,wab->ab", s1, g.aa.bvv) - x32 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x32 += einsum("ab->ab", x28) - x87 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x87 += einsum("ab->ab", x28) - x276 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x276 += einsum("ab->ab", x28) - x317 += einsum("ab->ab", x28) - del x28 - x29 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x29 += einsum("ia,iabc->bc", t1.bb, v.bbaa.ovvv) - x32 += einsum("ab->ab", x29) - x90 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x90 -= einsum("ab->ba", x29) - x276 += einsum("ab->ab", x29) - x317 += einsum("ab->ab", x29) - del x29 - x30 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x30 += einsum("iabc->ibac", v.aaaa.ovvv) - x30 += einsum("iabc->ibca", v.aaaa.ovvv) * -1 - x31 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x31 += einsum("ia,ibca->bc", t1.aa, x30) - del x30 - x32 += einsum("ab->ab", x31) * -1 - x276 += einsum("ab->ab", x31) * -1 - x317 += einsum("ab->ab", x31) * -1 - del x31 - x32 += einsum("ab->ab", f.aa.vv) - t1new_aa += einsum("ia,ba->ib", t1.aa, x32) - del x32 - x33 = np.zeros((nbos), dtype=types[float]) - x33 += einsum("ia,wia->w", t1.aa, g.aa.bov) - x35 = np.zeros((nbos), dtype=types[float]) - x35 += einsum("w->w", x33) - del x33 - x34 = np.zeros((nbos), dtype=types[float]) - x34 += einsum("ia,wia->w", t1.bb, g.bb.bov) - x35 += einsum("w->w", x34) - del x34 - x35 += einsum("w->w", G) - t1new_aa += einsum("w,wia->ia", x35, u11.aa) - t1new_bb += einsum("w,wia->ia", x35, u11.bb) - s1new = np.zeros((nbos), dtype=types[float]) - s1new += einsum("w,wx->x", x35, s2) - u11new_aa += einsum("w,wxia->xia", x35, u12.aa) - u11new_bb = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - u11new_bb += einsum("w,wxia->xia", x35, u12.bb) - del x35 - x36 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x36 += einsum("ia,jbka->ijkb", t1.bb, v.bbbb.ovov) - x37 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x37 += einsum("ijka->ijka", x36) * -1 - x37 += einsum("ijka->ikja", x36) - x151 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x151 -= einsum("ijka->ijka", x36) - x151 += einsum("ijka->ikja", x36) - x216 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x216 += einsum("ia,jkla->jilk", t1.bb, x36) - x217 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x217 += einsum("ijkl->ijkl", x216) - x223 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x223 += einsum("ia,jkli->jkla", t1.bb, x216) - del x216 - x224 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x224 += einsum("ia,jkib->jkab", t1.bb, x223) - del x223 - x228 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x228 += einsum("ijab->ijab", x224) - del x224 - x280 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x280 += einsum("ijka->jkia", x36) * -1 - x280 += einsum("ijka->kjia", x36) - del x36 - x37 += einsum("ijka->jika", v.bbbb.ooov) - x37 += einsum("ijka->jkia", v.bbbb.ooov) * -1 - t1new_bb += einsum("ijab,kijb->ka", t2.bbbb, x37) * -1 - del x37 - x38 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x38 += einsum("iabc->ibac", v.bbbb.ovvv) * -1 - x38 += einsum("iabc->ibca", v.bbbb.ovvv) - x57 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x57 += einsum("ia,ibac->bc", t1.bb, x38) - x58 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x58 += einsum("ab->ab", x57) * -1 - x272 += einsum("ab->ab", x57) * -1 - x328 += einsum("ab->ab", x57) * -1 - del x57 - t1new_bb += einsum("ijab,icab->jc", t2.bbbb, x38) * -1 - del x38 - x39 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x39 += einsum("ia,jbka->jikb", t1.bb, v.aabb.ovov) - x40 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x40 += einsum("ijka->ikja", x39) - x192 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x192 += einsum("ijab,ikla->kjlb", t2.abab, x39) - x196 += einsum("ijka->ikja", x192) - del x192 - x250 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x250 += einsum("ijka->ikja", x39) - del x39 - x40 += einsum("iajk->ijka", v.aabb.ovoo) - x262 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x262 += einsum("ijab,kjla->iklb", t2.abab, x40) - x269 += einsum("ijka->jika", x262) * -1 - del x262 - x264 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x264 += einsum("ia,jkla->ijkl", t1.aa, x40) - x265 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x265 += einsum("ijkl->jikl", x264) - del x264 - x282 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x282 += einsum("ijab,ikla->jklb", x10, x40) - x287 += einsum("ijka->ijka", x282) * -1 - del x282 - x413 += einsum("wxia,ijka->xwjk", u12.aa, x40) - t1new_bb += einsum("ijab,ijka->kb", t2.abab, x40) * -1 - del x40 - x41 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x41 += einsum("ijab->jiab", t2.bbbb) - x41 += einsum("ijab->jiba", t2.bbbb) * -1 - x186 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x186 += einsum("iajb,jkbc->ikac", v.aabb.ovov, x41) - x187 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x187 += einsum("ijab,ikac->kjcb", t2.abab, x186) * -1 - x209 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x209 += einsum("ijab->jiba", x187) * -1 - del x187 - x232 += einsum("ijab->ijab", x186) * -1 - del x186 - x261 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x261 += einsum("ijka,klab->ijlb", x4, x41) - del x4 - x269 += einsum("ijka->ijka", x261) * -1 - del x261 - t1new_bb += einsum("ia,ijab->jb", x15, x41) * -1 - del x15 - x42 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x42 += einsum("iabj->ijba", v.bbbb.ovvo) - x42 -= einsum("ijab->ijab", v.bbbb.oovv) - x156 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x156 += einsum("ia,jkba->ijkb", t1.bb, x42) - x157 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x157 -= einsum("ijka->jika", x156) - del x156 - t1new_bb += einsum("ia,ijba->jb", t1.bb, x42) - u11new_bb += einsum("wia,ijba->wjb", u11.bb, x42) - x43 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) - x43 += einsum("ia,wja->wji", t1.bb, g.bb.bov) - x44 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) - x44 += einsum("wij->wij", x43) - del x43 - x44 += einsum("wij->wij", g.bb.boo) - x166 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x166 += einsum("ia,wij->wja", t1.bb, x44) - x167 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x167 -= einsum("wia->wia", x166) - del x166 - t1new_bb -= einsum("wia,wij->ja", u11.bb, x44) - u11new_bb -= einsum("wij,wxia->xja", x44, u12.bb) - del x44 - x45 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x45 += einsum("w,wij->ij", s1, g.bb.boo) - x54 += einsum("ij->ij", x45) - x160 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x160 += einsum("ij->ji", x45) - del x45 - x46 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x46 += einsum("wia,wja->ij", g.bb.bov, u11.bb) - x54 += einsum("ij->ij", x46) - x174 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x174 += einsum("ij->ij", x46) - del x46 - x47 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x47 += einsum("ia,iajk->jk", t1.aa, v.aabb.ovoo) - x54 += einsum("ij->ij", x47) - x174 += einsum("ij->ij", x47) - del x47 - x175 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x175 += einsum("ij,ikab->jkab", x174, t2.bbbb) - del x174 - x176 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x176 -= einsum("ijab->jiba", x175) - del x175 - x48 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x48 += einsum("ijab,iakb->jk", t2.abab, v.aabb.ovov) - x54 += einsum("ij->ji", x48) - x207 += einsum("ij->ij", x48) - del x48 - x208 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x208 += einsum("ij,jkab->ikab", x207, t2.bbbb) - del x207 - x209 += einsum("ijab->ijba", x208) * -1 - del x208 - x49 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x49 += einsum("iajb->jiab", v.bbbb.ovov) * -1 - x49 += einsum("iajb->jiba", v.bbbb.ovov) - x50 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x50 += einsum("ijab,ikba->jk", t2.bbbb, x49) - x54 += einsum("ij->ji", x50) * -1 - del x50 - x198 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x198 += einsum("ijab,ijbc->ac", t2.bbbb, x49) - x200 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x200 += einsum("ab->ab", x198) * -1 - del x198 - x202 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x202 += einsum("ijab,ikab->jk", t2.bbbb, x49) - x204 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x204 += einsum("ij->ji", x202) * -1 - del x202 - x235 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x235 += einsum("ijab,ikca->jkbc", x41, x49) - del x49 - x236 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x236 += einsum("ijab->jiab", x235) - del x235 - x51 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x51 += einsum("ijka->ikja", v.bbbb.ooov) - x51 += einsum("ijka->kija", v.bbbb.ooov) * -1 - x52 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x52 += einsum("ia,ijka->jk", t1.bb, x51) - x54 += einsum("ij->ij", x52) * -1 - del x52 - x333 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) - x333 += einsum("wia,ijka->wjk", u11.bb, x51) * -1 - del x51 - x54 += einsum("ij->ij", f.bb.oo) - x289 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x289 += einsum("ij,kiab->kjab", x54, t2.abab) - t2new_baba += einsum("ijab->jiba", x289) * -1 - t2new_abab += einsum("ijab->ijab", x289) * -1 - del x289 - t1new_bb += einsum("ia,ij->ja", t1.bb, x54) * -1 - u11new_bb += einsum("ij,wia->wja", x54, u11.bb) * -1 - u12new_bb = np.zeros((nbos, nbos, nocc[1], nvir[1]), dtype=types[float]) - u12new_bb += einsum("ij,wxia->xwja", x54, u12.bb) * -1 - del x54 - x55 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x55 += einsum("w,wab->ab", s1, g.bb.bvv) - x58 += einsum("ab->ab", x55) - x169 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x169 += einsum("ab->ab", x55) - x272 += einsum("ab->ab", x55) - x328 += einsum("ab->ab", x55) - del x55 - x56 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x56 += einsum("ia,iabc->bc", t1.aa, v.aabb.ovvv) - x58 += einsum("ab->ab", x56) - x172 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x172 -= einsum("ab->ba", x56) - x272 += einsum("ab->ab", x56) - x328 += einsum("ab->ab", x56) - del x56 - x58 += einsum("ab->ab", f.bb.vv) - t1new_bb += einsum("ia,ba->ib", t1.bb, x58) - del x58 - x59 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x59 += einsum("ia,bjca->ijbc", t1.aa, v.aaaa.vovv) - x94 -= einsum("ijab->ijab", x59) - del x59 - x60 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x60 += einsum("ijab,jbck->ikac", t2.abab, v.bbaa.ovvo) - x94 += einsum("ijab->ijab", x60) - del x60 - x61 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x61 += einsum("ia,jbca->ijcb", t1.aa, v.bbaa.ovvv) - x62 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x62 += einsum("ijab,kjcb->kiac", t2.abab, x61) - x94 -= einsum("ijab->ijab", x62) - del x62 - x238 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x238 += einsum("ijab->ijab", x61) - del x61 - x63 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x63 -= einsum("ijab->jiab", t2.aaaa) - x63 += einsum("ijab->jiba", t2.aaaa) - x64 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x64 += einsum("ijab,ikcb->kjca", x16, x63) - del x16 - x94 -= einsum("ijab->ijab", x64) - del x64 - x65 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x65 += einsum("iajb->jiab", v.aaaa.ovov) - x65 -= einsum("iajb->jiba", v.aaaa.ovov) - x66 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x66 += einsum("ijab,ikbc->kjca", t2.aaaa, x65) - x67 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x67 -= einsum("ijab,ikac->kjcb", t2.aaaa, x66) - x94 -= einsum("ijab->jiba", x67) - del x67 - x137 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x137 -= einsum("ijab,ikbc->kjca", t2.aaaa, x66) - del x66 - x141 += einsum("ijab->jiba", x137) - del x137 - x72 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x72 += einsum("ia,ijab->jb", t1.aa, x65) - x73 -= einsum("ia->ia", x72) - x297 -= einsum("ia->ia", x72) - del x72 - x135 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x135 += einsum("ijab,ikac->kjcb", t2.aaaa, x65) - x136 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x136 -= einsum("ijab,ikac->kjcb", t2.aaaa, x135) - del x135 - x141 += einsum("ijab->ijab", x136) - del x136 - x177 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x177 += einsum("ijab,ikac->kjcb", t2.abab, x65) - x178 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x178 -= einsum("ijab,ikac->kjcb", t2.abab, x177) - del x177 - t2new_bbbb = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - t2new_bbbb -= einsum("ijab->ijba", x178) - t2new_bbbb += einsum("ijab->jiba", x178) - del x178 - x308 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x308 -= einsum("wia,ijab->wjb", u11.aa, x65) - del x65 - s2new = np.zeros((nbos, nbos), dtype=types[float]) - s2new += einsum("wia,xia->wx", u11.aa, x308) - del x308 - x68 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x68 += einsum("ijab,kljb->ikla", t2.abab, v.aabb.ooov) - x76 += einsum("ijka->jika", x68) - del x68 - x70 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x70 += einsum("ijab->jiab", t2.aaaa) - x70 -= einsum("ijab->jiba", t2.aaaa) - x71 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x71 += einsum("ijka,jlab->iklb", x69, x70) - del x69 - x76 += einsum("ijka->jika", x71) - del x71 - x83 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x83 += einsum("wia,ijab->wjb", g.aa.bov, x70) - del x70 - x85 -= einsum("wia->wia", x83) - del x83 - x73 += einsum("ia->ia", f.aa.ov) - x74 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x74 += einsum("ia,jkab->ijkb", x73, t2.aaaa) - x76 += einsum("ijka->ikja", x74) - del x74 - x78 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x78 += einsum("ia,ja->ji", t1.aa, x73) - del x73 - x79 += einsum("ij->ji", x78) - del x78 - x76 -= einsum("ijak->ijka", v.aaaa.oovo) - x77 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x77 += einsum("ia,ijkb->jkba", t1.aa, x76) - del x76 - x94 += einsum("ijab->ijba", x77) - del x77 - x79 += einsum("ij->ji", f.aa.oo) - x80 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x80 += einsum("ij,jkab->ikab", x79, t2.aaaa) - del x79 - x94 += einsum("ijab->ijba", x80) - del x80 - x81 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x81 += einsum("ia,wba->wib", t1.aa, g.aa.bvv) - x85 += einsum("wia->wia", x81) - del x81 - x82 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x82 += einsum("wia,jiba->wjb", g.bb.bov, t2.abab) - x85 += einsum("wia->wia", x82) - del x82 - x85 += einsum("wai->wia", g.aa.bvo) - x86 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x86 += einsum("wia,wjb->jiba", u11.aa, x85) - x94 += einsum("ijab->ijab", x86) - del x86 - x292 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x292 += einsum("wia,wjb->jiba", u11.bb, x85) - del x85 - t2new_baba += einsum("ijab->jiba", x292) - t2new_abab += einsum("ijab->ijab", x292) - del x292 - x87 += einsum("ab->ab", f.aa.vv) - x88 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x88 += einsum("ab,ijbc->ijac", x87, t2.aaaa) - del x87 - x94 -= einsum("ijab->jiab", x88) - del x88 - x89 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x89 += einsum("wia,wib->ab", g.aa.bov, u11.aa) - x90 += einsum("ab->ab", x89) - x91 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x91 += einsum("ab,ijac->ijbc", x90, t2.aaaa) - del x90 - x94 -= einsum("ijab->jiba", x91) - del x91 - t2new_aaaa = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - t2new_aaaa += einsum("ijab->ijab", x94) - t2new_aaaa -= einsum("ijab->ijba", x94) - t2new_aaaa -= einsum("ijab->jiab", x94) - t2new_aaaa += einsum("ijab->jiba", x94) - del x94 - x276 += einsum("ab->ba", x89) * -1 - x317 += einsum("ab->ba", x89) * -1 - del x89 - x95 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x95 += einsum("ia,jkla->ijlk", t1.aa, v.aaaa.ooov) - x96 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x96 += einsum("ijab,kjil->klba", t2.aaaa, x95) - x119 += einsum("ijab->ijab", x96) - del x96 - x108 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x108 += einsum("ia,jkil->jkla", t1.aa, x95) - del x95 - x115 += einsum("ijka->ijka", x108) - del x108 - x101 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x101 += einsum("ijab,kcjb->ikac", t2.abab, v.aabb.ovov) - x102 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x102 += einsum("ijab,kicb->kjca", x10, x101) - del x101 - x119 += einsum("ijab->jiba", x102) * -1 - del x102 - x103 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x103 += einsum("ijab,icjb->ac", t2.abab, v.aabb.ovov) - x106 += einsum("ab->ab", x103) - x107 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x107 += einsum("ab,ijbc->ijac", x106, t2.aaaa) - del x106 - x119 += einsum("ijab->jiba", x107) - del x107 - x276 += einsum("ab->ab", x103) * -1 - x317 += einsum("ab->ab", x103) * -1 - del x103 - x109 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x109 += einsum("ijab,kacb->ijkc", t2.aaaa, v.aaaa.ovvv) - x115 += einsum("ijka->ikja", x109) - del x109 - x110 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x110 += einsum("ia,jbca->ijcb", t1.aa, v.aaaa.ovvv) - x111 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x111 += einsum("ia,jkba->ijkb", t1.aa, x110) - del x110 - x115 += einsum("ijka->ikja", x111) - del x111 - x116 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x116 += einsum("ia,jikb->jkba", t1.aa, x115) - del x115 - x119 += einsum("ijab->ijba", x116) - del x116 - t2new_aaaa += einsum("ijab->ijab", x119) * -1 - t2new_aaaa += einsum("ijab->ijba", x119) - t2new_aaaa += einsum("ijab->jiab", x119) - t2new_aaaa += einsum("ijab->jiba", x119) * -1 - del x119 - x120 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x120 += einsum("ijab,ikjl->lkba", t2.aaaa, v.aaaa.oooo) - x122 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x122 += einsum("ijab->jiba", x120) - del x120 - x121 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x121 += einsum("ijab,cadb->ijcd", t2.aaaa, v.aaaa.vvvv) - x122 += einsum("ijab->jiba", x121) - del x121 - t2new_aaaa += einsum("ijab->ijba", x122) * -1 - t2new_aaaa += einsum("ijab->ijab", x122) - del x122 - x123 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x123 += einsum("ia,bacd->icbd", t1.aa, v.aaaa.vvvv) - x124 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x124 += einsum("ia,jbca->ijbc", t1.aa, x123) - del x123 - x132 += einsum("ijab->ijab", x124) - del x124 - x125 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x125 += einsum("ijab,kbla->ijlk", t2.aaaa, v.aaaa.ovov) - x126 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x126 += einsum("ijab,klji->lkab", t2.aaaa, x125) - x132 += einsum("ijab->ijab", x126) - del x126 - x129 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x129 += einsum("ijkl->lkji", x125) - del x125 - x129 += einsum("ijkl->kilj", v.aaaa.oooo) - x130 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x130 += einsum("ia,ijkl->jkla", t1.aa, x129) - del x129 - x131 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x131 += einsum("ia,ijkb->kjba", t1.aa, x130) - del x130 - x132 += einsum("ijab->ijba", x131) - del x131 - t2new_aaaa += einsum("ijab->ijab", x132) - t2new_aaaa += einsum("ijab->ijba", x132) * -1 - del x132 - x138 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x138 += einsum("iajb->jiab", v.bbbb.ovov) - x138 -= einsum("iajb->jiba", v.bbbb.ovov) - x139 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x139 += einsum("ijab,jkbc->ikac", t2.abab, x138) - x140 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x140 -= einsum("ijab,kjcb->kica", t2.abab, x139) - del x139 - x141 += einsum("ijab->ijab", x140) - del x140 - t2new_aaaa += einsum("ijab->ijab", x141) - t2new_aaaa -= einsum("ijab->ijba", x141) - del x141 - x148 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x148 += einsum("ijab,ikbc->kjca", t2.bbbb, x138) - x149 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x149 -= einsum("ijab,ikac->kjcb", t2.bbbb, x148) - x176 -= einsum("ijab->jiba", x149) - del x149 - x227 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x227 -= einsum("ijab,ikbc->kjca", t2.bbbb, x148) - del x148 - x228 += einsum("ijab->ijab", x227) - del x227 - x153 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x153 += einsum("ia,ijab->jb", t1.bb, x138) - x154 -= einsum("ia->ia", x153) - x296 -= einsum("ia->ia", x153) - del x153 - x225 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x225 += einsum("ijab,ikac->kjcb", t2.bbbb, x138) - x226 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x226 -= einsum("ijab,ikac->kjcb", t2.bbbb, x225) - del x225 - x228 += einsum("ijab->jiba", x226) - del x226 - t2new_bbbb += einsum("ijab->ijab", x228) - t2new_bbbb -= einsum("ijab->ijba", x228) - del x228 - x307 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x307 -= einsum("wia,ijab->wjb", u11.bb, x138) - del x138 - s2new += einsum("wia,xia->wx", u11.bb, x307) - del x307 - x142 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x142 += einsum("ia,bjca->ijbc", t1.bb, v.bbbb.vovv) - x176 -= einsum("ijab->ijab", x142) - del x142 - x143 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x143 += einsum("ijab,iack->jkbc", t2.abab, v.aabb.ovvo) - x176 += einsum("ijab->ijab", x143) - del x143 - x144 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x144 += einsum("ia,jbca->jibc", t1.bb, v.aabb.ovvv) - x145 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x145 += einsum("ijab,ikac->kjbc", t2.abab, x144) - x176 -= einsum("ijab->ijab", x145) - del x145 - x232 += einsum("ijab->ijab", x144) - x267 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x267 += einsum("ijab->ijab", x144) - x412 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x412 += einsum("ijab->ijab", x144) - del x144 - x146 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x146 -= einsum("ijab->jiab", t2.bbbb) - x146 += einsum("ijab->jiba", t2.bbbb) - x147 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x147 += einsum("ijab,ikcb->jkac", x146, x42) - del x42 - x176 -= einsum("ijab->ijab", x147) - del x147 - x152 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x152 += einsum("ijab,klib->jkla", x146, x151) - del x146 - del x151 - x157 += einsum("ijka->kjia", x152) - del x152 - x150 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x150 += einsum("ijab,iakl->jklb", t2.abab, v.aabb.ovoo) - x157 += einsum("ijka->jika", x150) - del x150 - x154 += einsum("ia->ia", f.bb.ov) - x155 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x155 += einsum("ia,jkab->ijkb", x154, t2.bbbb) - x157 += einsum("ijka->ikja", x155) - del x155 - x159 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x159 += einsum("ia,ja->ji", t1.bb, x154) - del x154 - x160 += einsum("ij->ji", x159) - del x159 - x157 -= einsum("ijak->ijka", v.bbbb.oovo) - x158 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x158 += einsum("ia,ijkb->jkba", t1.bb, x157) - del x157 - x176 += einsum("ijab->ijba", x158) - del x158 - x160 += einsum("ij->ji", f.bb.oo) - x161 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x161 += einsum("ij,jkab->ikab", x160, t2.bbbb) - del x160 - x176 += einsum("ijab->ijba", x161) - del x161 - x162 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x162 += einsum("ia,wba->wib", t1.bb, g.bb.bvv) - x167 += einsum("wia->wia", x162) - del x162 - x163 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x163 += einsum("wia,ijab->wjb", g.aa.bov, t2.abab) - x167 += einsum("wia->wia", x163) - del x163 - x164 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x164 += einsum("ijab->jiab", t2.bbbb) - x164 -= einsum("ijab->jiba", t2.bbbb) - x165 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x165 += einsum("wia,ijab->wjb", g.bb.bov, x164) - x167 -= einsum("wia->wia", x165) - del x165 - x167 += einsum("wai->wia", g.bb.bvo) - x168 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x168 += einsum("wia,wjb->jiba", u11.bb, x167) - x176 += einsum("ijab->ijab", x168) - del x168 - x291 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x291 += einsum("wia,wjb->ijab", u11.aa, x167) - del x167 - t2new_baba += einsum("ijab->jiba", x291) - t2new_abab += einsum("ijab->ijab", x291) - del x291 - x169 += einsum("ab->ab", f.bb.vv) - x170 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x170 += einsum("ab,ijbc->ijac", x169, t2.bbbb) - del x169 - x176 -= einsum("ijab->jiab", x170) - del x170 - x171 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x171 += einsum("wia,wib->ab", g.bb.bov, u11.bb) - x172 += einsum("ab->ab", x171) - x173 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x173 += einsum("ab,ijac->ijbc", x172, t2.bbbb) - del x172 - x176 -= einsum("ijab->jiba", x173) - del x173 - t2new_bbbb += einsum("ijab->ijab", x176) - t2new_bbbb -= einsum("ijab->ijba", x176) - t2new_bbbb -= einsum("ijab->jiab", x176) - t2new_bbbb += einsum("ijab->jiba", x176) - del x176 - x272 += einsum("ab->ba", x171) * -1 - x328 += einsum("ab->ba", x171) * -1 - del x171 - x179 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x179 += einsum("ia,jkla->ijlk", t1.bb, v.bbbb.ooov) - x180 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x180 += einsum("ijab,kijl->klab", t2.bbbb, x179) - x209 += einsum("ijab->ijab", x180) - del x180 - x188 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x188 += einsum("ia,jkil->jkla", t1.bb, x179) - del x179 - x196 += einsum("ijka->ijka", x188) - del x188 - x181 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x181 += einsum("ijab,iajc->bc", t2.abab, v.aabb.ovov) - x182 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x182 += einsum("ab,ijbc->jiac", x181, t2.bbbb) - x209 += einsum("ijab->ijab", x182) * -1 - del x182 - x272 += einsum("ab->ab", x181) * -1 - x328 += einsum("ab->ab", x181) * -1 - del x181 - x183 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x183 += einsum("iabc->ibac", v.bbbb.ovvv) - x183 += einsum("iabc->ibca", v.bbbb.ovvv) * -1 - x184 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x184 += einsum("ia,jbac->jibc", t1.bb, x183) - x185 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x185 += einsum("ijab,ikbc->jkac", x184, x41) * -1 - x209 += einsum("ijab->ijba", x185) * -1 - del x185 - x236 += einsum("ijab->ijab", x184) * -1 - del x184 - x199 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x199 += einsum("ia,ibac->bc", t1.bb, x183) - del x183 - x200 += einsum("ab->ab", x199) * -1 - del x199 - x201 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x201 += einsum("ab,ijbc->ijac", x200, t2.bbbb) - del x200 - x209 += einsum("ijab->jiba", x201) - del x201 - x189 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x189 += einsum("ijab,kbca->jikc", t2.bbbb, v.bbbb.ovvv) - x196 += einsum("ijka->ikja", x189) - del x189 - x190 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x190 += einsum("ia,jbca->ijcb", t1.bb, v.bbbb.ovvv) - x191 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x191 += einsum("ia,jkba->ijkb", t1.bb, x190) - del x190 - x196 += einsum("ijka->ikja", x191) - del x191 - x194 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x194 += einsum("ijka->ikja", v.bbbb.ooov) * -1 - x194 += einsum("ijka->kija", v.bbbb.ooov) - x195 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x195 += einsum("ijka,ilab->jklb", x194, x41) - x196 += einsum("ijka->kija", x195) - del x195 - x197 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x197 += einsum("ia,jikb->jkba", t1.bb, x196) - del x196 - x209 += einsum("ijab->ijba", x197) - del x197 - x203 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x203 += einsum("ia,ijka->jk", t1.bb, x194) - del x194 - x204 += einsum("ij->ij", x203) * -1 - del x203 - x205 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x205 += einsum("ij,ikab->jkab", x204, t2.bbbb) - del x204 - x209 += einsum("ijab->jiba", x205) * -1 - del x205 - t2new_bbbb += einsum("ijab->ijab", x209) * -1 - t2new_bbbb += einsum("ijab->ijba", x209) - t2new_bbbb += einsum("ijab->jiab", x209) - t2new_bbbb += einsum("ijab->jiba", x209) * -1 - del x209 - x210 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x210 += einsum("ijab,ikjl->lkba", t2.bbbb, v.bbbb.oooo) - x212 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x212 += einsum("ijab->jiba", x210) - del x210 - x211 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x211 += einsum("ijab,cbda->ijdc", t2.bbbb, v.bbbb.vvvv) - x212 += einsum("ijab->jiba", x211) - del x211 - t2new_bbbb += einsum("ijab->ijba", x212) * -1 - t2new_bbbb += einsum("ijab->ijab", x212) - del x212 - x213 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x213 += einsum("ia,bacd->icbd", t1.bb, v.bbbb.vvvv) - x214 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x214 += einsum("ia,jbca->ijbc", t1.bb, x213) - del x213 - x222 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x222 += einsum("ijab->ijab", x214) - del x214 - x215 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x215 += einsum("ijab,kbla->ijlk", t2.bbbb, v.bbbb.ovov) - x217 += einsum("ijkl->jilk", x215) - x218 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x218 += einsum("ijab,klji->klab", t2.bbbb, x217) - del x217 - x222 += einsum("ijab->jiab", x218) - del x218 - x219 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x219 += einsum("ijkl->lkji", x215) - del x215 - x219 += einsum("ijkl->kilj", v.bbbb.oooo) - x220 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x220 += einsum("ia,ijkl->jkla", t1.bb, x219) - del x219 - x221 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x221 += einsum("ia,ijkb->kjba", t1.bb, x220) - del x220 - x222 += einsum("ijab->jiab", x221) - del x221 - t2new_bbbb += einsum("ijab->ijab", x222) - t2new_bbbb += einsum("ijab->ijba", x222) * -1 - del x222 - x229 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x229 += einsum("ijab,cadb->ijcd", t2.abab, v.aabb.vvvv) - t2new_baba += einsum("ijab->jiba", x229) - t2new_abab += einsum("ijab->ijab", x229) - del x229 - x230 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x230 += einsum("ia,bjca->jibc", t1.bb, v.aabb.vovv) - t2new_baba += einsum("ijab->jiba", x230) - t2new_abab += einsum("ijab->ijab", x230) - del x230 - x232 += einsum("iabj->ijab", v.aabb.ovvo) - x233 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x233 += einsum("ijab,ikac->kjcb", x232, x63) - del x232 - del x63 - t2new_baba += einsum("ijab->jiba", x233) - t2new_abab += einsum("ijab->ijab", x233) - del x233 - x234 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x234 += einsum("ijab,iakc->jkbc", t2.abab, v.aabb.ovov) - x236 += einsum("ijab->jiab", x234) - del x234 - x236 += einsum("iabj->ijba", v.bbbb.ovvo) - x236 += einsum("ijab->ijab", v.bbbb.oovv) * -1 - x237 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x237 += einsum("ijab,jkcb->ikac", t2.abab, x236) - del x236 - t2new_baba += einsum("ijab->jiba", x237) - t2new_abab += einsum("ijab->ijab", x237) - del x237 - x238 += einsum("iabj->jiba", v.bbaa.ovvo) - x239 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x239 += einsum("ijab,kicb->kjca", x164, x238) - t2new_baba += einsum("ijab->jiba", x239) - t2new_abab += einsum("ijab->ijab", x239) - del x239 - u12new_aa += einsum("wxia,jiba->xwjb", u12.bb, x238) - del x238 - x240 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x240 -= einsum("iabc->ibac", v.aaaa.ovvv) - x240 += einsum("iabc->ibca", v.aaaa.ovvv) - x241 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x241 += einsum("ia,jbca->jibc", t1.aa, x240) - x242 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x242 -= einsum("ijab->ijab", x241) - del x241 - x340 = np.zeros((nbos, nvir[0], nvir[0]), dtype=types[float]) - x340 += einsum("wia,ibca->wbc", u11.aa, x240) - del x240 - x341 = np.zeros((nbos, nvir[0], nvir[0]), dtype=types[float]) - x341 -= einsum("wab->wba", x340) - del x340 - x242 += einsum("iabj->ijba", v.aaaa.ovvo) - x242 -= einsum("ijab->ijab", v.aaaa.oovv) - x243 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x243 += einsum("ijab,ikca->kjcb", t2.abab, x242) - t2new_baba += einsum("ijab->jiba", x243) - t2new_abab += einsum("ijab->ijab", x243) - del x243 - u12new_aa += einsum("wxia,ijba->xwjb", u12.aa, x242) - del x242 - x244 = np.zeros((nocc[0], nocc[0], nvir[1], nvir[1]), dtype=types[float]) - x244 += einsum("ia,jabc->ijbc", t1.aa, v.aabb.ovvv) - x246 = np.zeros((nocc[0], nocc[0], nvir[1], nvir[1]), dtype=types[float]) - x246 += einsum("ijab->jiab", x244) - del x244 - x245 = np.zeros((nocc[0], nocc[0], nvir[1], nvir[1]), dtype=types[float]) - x245 += einsum("ijab,kajc->ikbc", t2.abab, v.aabb.ovov) - x246 -= einsum("ijab->jiab", x245) - del x245 - x246 += einsum("ijab->ijab", v.aabb.oovv) - x247 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x247 += einsum("ijab,ikcb->kjac", t2.abab, x246) - del x246 - t2new_baba -= einsum("ijab->jiba", x247) - t2new_abab -= einsum("ijab->ijab", x247) - del x247 - x248 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x248 += einsum("ia,jkla->jkil", t1.bb, v.aabb.ooov) - x252 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x252 += einsum("ijkl->ijlk", x248) - x265 += einsum("ijkl->ijlk", x248) - del x248 - x249 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x249 += einsum("ijab,kalb->ikjl", t2.abab, v.aabb.ovov) - x252 += einsum("ijkl->jilk", x249) - x265 += einsum("ijkl->jilk", x249) - del x249 - x250 += einsum("iajk->ijka", v.aabb.ovoo) - x251 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x251 += einsum("ia,jkla->jikl", t1.aa, x250) - del x250 - x252 += einsum("ijkl->ijkl", x251) - del x251 - x252 += einsum("ijkl->ijkl", v.aabb.oooo) - x253 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x253 += einsum("ijab,ikjl->klab", t2.abab, x252) - del x252 - t2new_baba += einsum("ijab->jiba", x253) - t2new_abab += einsum("ijab->ijab", x253) - del x253 - x254 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x254 += einsum("ia,jabc->ijbc", t1.bb, v.bbaa.ovvv) - x255 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x255 += einsum("ijab->jiab", x254) - x285 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x285 += einsum("ijab->jiab", x254) - del x254 - x255 += einsum("ijab->ijab", v.bbaa.oovv) - x256 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x256 += einsum("ijab,jkca->ikcb", t2.abab, x255) - del x255 - t2new_baba -= einsum("ijab->jiba", x256) - t2new_abab -= einsum("ijab->ijab", x256) - del x256 - x257 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x257 += einsum("ia,jkba->jkib", t1.bb, v.aabb.oovv) - x269 += einsum("ijka->ijka", x257) - del x257 - x258 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x258 += einsum("ijab,kacb->ikjc", t2.abab, v.aabb.ovvv) - x269 += einsum("ijka->jika", x258) - del x258 - x259 += einsum("ijka->ikja", v.aaaa.ooov) - x259 += einsum("ijka->kija", v.aaaa.ooov) * -1 - x260 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x260 += einsum("ijab,ikla->kljb", t2.abab, x259) - x269 += einsum("ijka->ijka", x260) * -1 - del x260 - x374 += einsum("wxia,ijka->xwjk", u12.aa, x259) * -1 - del x259 - u12new_aa += einsum("ia,wxij->xwja", t1.aa, x374) * -1 - del x374 - x265 += einsum("ijkl->ijkl", v.aabb.oooo) - x266 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x266 += einsum("ia,jkil->jkla", t1.bb, x265) - del x265 - x269 += einsum("ijka->ijka", x266) * -1 - del x266 - x267 += einsum("iabj->ijab", v.aabb.ovvo) - x268 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x268 += einsum("ia,jkab->jikb", t1.aa, x267) - del x267 - x269 += einsum("ijka->ijka", x268) - del x268 - x269 += einsum("ijak->ijka", v.aabb.oovo) - x270 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x270 += einsum("ia,ijkb->jkab", t1.aa, x269) - del x269 - t2new_baba += einsum("ijab->jiba", x270) * -1 - t2new_abab += einsum("ijab->ijab", x270) * -1 - del x270 - x272 += einsum("ab->ab", f.bb.vv) - x273 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x273 += einsum("ab,ijcb->ijca", x272, t2.abab) - t2new_baba += einsum("ijab->jiba", x273) - t2new_abab += einsum("ijab->ijab", x273) - del x273 - u12new_bb += einsum("ab,wxib->xwia", x272, u12.bb) - del x272 - x274 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x274 += einsum("iajb->jiab", v.aaaa.ovov) * -1 - x274 += einsum("iajb->jiba", v.aaaa.ovov) - x275 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x275 += einsum("ijab,ijcb->ca", t2.aaaa, x274) - del x274 - x276 += einsum("ab->ba", x275) * -1 - x317 += einsum("ab->ba", x275) * -1 - del x275 - x276 += einsum("ab->ab", f.aa.vv) - x277 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x277 += einsum("ab,ijbc->ijac", x276, t2.abab) - t2new_baba += einsum("ijab->jiba", x277) - t2new_abab += einsum("ijab->ijab", x277) - del x277 - u12new_aa += einsum("ab,wxib->xwia", x276, u12.aa) - del x276 - x278 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x278 += einsum("ia,jabk->kijb", t1.bb, v.bbaa.ovvo) - x287 += einsum("ijka->ikja", x278) - del x278 - x279 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x279 += einsum("ijab,kbca->ijkc", t2.abab, v.bbaa.ovvv) - x287 += einsum("ijka->ikja", x279) - del x279 - x280 += einsum("ijka->ikja", v.bbbb.ooov) - x280 += einsum("ijka->kija", v.bbbb.ooov) * -1 - x281 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x281 += einsum("ijab,jklb->ikla", t2.abab, x280) - x287 += einsum("ijka->ijka", x281) * -1 - del x281 - x413 += einsum("wxia,ijka->xwjk", u12.bb, x280) * -1 - del x280 - u12new_bb += einsum("ia,wxij->xwja", t1.bb, x413) * -1 - del x413 - x285 += einsum("ijab->ijab", v.bbaa.oovv) - x286 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x286 += einsum("ia,jkba->ijkb", t1.aa, x285) - del x285 - x287 += einsum("ijka->ijka", x286) - del x286 - x287 += einsum("ijak->kija", v.bbaa.oovo) - x288 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x288 += einsum("ia,jikb->jkba", t1.bb, x287) - del x287 - t2new_baba += einsum("ijab->jiba", x288) * -1 - t2new_abab += einsum("ijab->ijab", x288) * -1 - del x288 - x293 = np.zeros((nocc[1], nvir[0], nvir[0], nvir[1]), dtype=types[float]) - x293 += einsum("ia,bcda->ibcd", t1.bb, v.aabb.vvvv) - x294 = np.zeros((nocc[1], nvir[0], nvir[0], nvir[1]), dtype=types[float]) - x294 += einsum("iabc->iabc", x293) - del x293 - x294 += einsum("abci->iabc", v.aabb.vvvo) - x295 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x295 += einsum("ia,jbac->ijbc", t1.aa, x294) - del x294 - t2new_baba += einsum("ijab->jiba", x295) - t2new_abab += einsum("ijab->ijab", x295) - del x295 - x296 += einsum("ia->ia", f.bb.ov) - s1new += einsum("ia,wia->w", x296, u11.bb) - s2new += einsum("ia,wxia->xw", x296, u12.bb) - del x296 - x297 += einsum("ia->ia", f.aa.ov) - s1new += einsum("ia,wia->w", x297, u11.aa) - s2new += einsum("ia,wxia->xw", x297, u12.aa) - del x297 - x298 = np.zeros((nbos, nbos), dtype=types[float]) - x298 += einsum("wia,xia->wx", gc.aa.bov, u11.aa) - x306 = np.zeros((nbos, nbos), dtype=types[float]) - x306 += einsum("wx->wx", x298) - del x298 - x299 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x299 += einsum("wia,iajb->wjb", u11.aa, v.aabb.ovov) - x300 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x300 += einsum("wia->wia", x299) - x315 += einsum("wia->wia", x299) - x400 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) - x400 += einsum("ia,wja->wij", t1.bb, x299) - x402 += einsum("wij->wij", x400) - del x400 - x403 = np.zeros((nbos, nbos, nocc[1], nvir[1]), dtype=types[float]) - x403 += einsum("wia,xji->xwja", u11.bb, x402) - del x402 - x410 += einsum("wxia->wxia", x403) - del x403 - x404 = np.zeros((nbos, nbos, nocc[1], nocc[1]), dtype=types[float]) - x404 += einsum("wia,xja->xwij", u11.bb, x299) - del x299 - x406 += einsum("wxij->wxij", x404) - del x404 - x407 = np.zeros((nbos, nbos, nocc[1], nvir[1]), dtype=types[float]) - x407 += einsum("ia,wxji->wxja", t1.bb, x406) - del x406 - x410 += einsum("wxia->wxia", x407) - del x407 - u12new_bb += einsum("wxia->wxia", x410) * -1 - u12new_bb += einsum("wxia->xwia", x410) * -1 - del x410 - x300 += einsum("wia->wia", gc.bb.bov) - x301 = np.zeros((nbos, nbos), dtype=types[float]) - x301 += einsum("wia,xia->xw", u11.bb, x300) - del x300 - x306 += einsum("wx->wx", x301) - del x301 - x302 = np.zeros((nbos, nbos), dtype=types[float]) - x302 += einsum("wia,xia->wx", g.aa.bov, u11.aa) - x304 = np.zeros((nbos, nbos), dtype=types[float]) - x304 += einsum("wx->wx", x302) - x357 = np.zeros((nbos, nbos), dtype=types[float]) - x357 += einsum("wx->wx", x302) - del x302 - x303 = np.zeros((nbos, nbos), dtype=types[float]) - x303 += einsum("wia,xia->wx", g.bb.bov, u11.bb) - x304 += einsum("wx->wx", x303) - x357 += einsum("wx->wx", x303) - del x303 - x358 = np.zeros((nbos, nbos, nocc[0], nvir[0]), dtype=types[float]) - x358 += einsum("wx,wyia->yxia", x357, u12.aa) - x359 = np.zeros((nbos, nbos, nocc[0], nvir[0]), dtype=types[float]) - x359 -= einsum("wxia->xwia", x358) - del x358 - x398 = np.zeros((nbos, nbos, nocc[1], nvir[1]), dtype=types[float]) - x398 += einsum("wx,wyia->yxia", x357, u12.bb) - del x357 - x399 = np.zeros((nbos, nbos, nocc[1], nvir[1]), dtype=types[float]) - x399 -= einsum("wxia->xwia", x398) - del x398 - x304 += einsum("wx->wx", w) - x305 = np.zeros((nbos, nbos), dtype=types[float]) - x305 += einsum("wx,wy->xy", s2, x304) - x306 += einsum("wx->wx", x305) - del x305 - s2new += einsum("wx->wx", x306) - s2new += einsum("wx->xw", x306) - del x306 - u11new_aa += einsum("wx,wia->xia", x304, u11.aa) - u11new_bb += einsum("wx,wia->xia", x304, u11.bb) - del x304 - x309 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x309 += einsum("wx,xia->wia", s2, g.aa.bov) - x312 += einsum("wia->wia", x309) - x345 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x345 += einsum("wia->wia", x309) - del x309 - x310 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x310 += einsum("wia,jbia->wjb", u11.bb, v.aabb.ovov) - x312 += einsum("wia->wia", x310) - x360 += einsum("wia->wia", x310) - del x310 - x361 = np.zeros((nbos, nvir[0], nvir[0]), dtype=types[float]) - x361 += einsum("ia,wib->wba", t1.aa, x360) - x362 = np.zeros((nbos, nbos, nocc[0], nvir[0]), dtype=types[float]) - x362 += einsum("wia,xab->xwib", u11.aa, x361) - del x361 - x367 += einsum("wxia->xwia", x362) - del x362 - x363 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) - x363 += einsum("ia,wja->wji", t1.aa, x360) - del x360 - x364 = np.zeros((nbos, nbos, nocc[0], nvir[0]), dtype=types[float]) - x364 += einsum("wia,xij->xwja", u11.aa, x363) - del x363 - x367 += einsum("wxia->xwia", x364) - del x364 - u12new_aa += einsum("wxia->wxia", x367) * -1 - u12new_aa += einsum("wxia->xwia", x367) * -1 - del x367 - x312 += einsum("wia->wia", gc.aa.bov) - x322 += einsum("ia,wja->wji", t1.aa, x312) - u11new_aa += einsum("wia,ijab->wjb", x312, x10) * -1 - u11new_bb += einsum("wia,ijab->wjb", x312, t2.abab) - del x312 - x313 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x313 += einsum("wx,xia->wia", s2, g.bb.bov) - x315 += einsum("wia->wia", x313) - x381 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x381 += einsum("wia->wia", x313) - del x313 - x315 += einsum("wia->wia", gc.bb.bov) - x333 += einsum("ia,wja->wji", t1.bb, x315) - u11new_aa += einsum("wia,jiba->wjb", x315, t2.abab) - u11new_bb += einsum("wia,ijab->wjb", x315, x164) * -1 - del x315 - del x164 - x317 += einsum("ab->ab", f.aa.vv) - u11new_aa += einsum("ab,wib->wia", x317, u11.aa) - del x317 - x318 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) - x318 += einsum("wx,xij->wij", s2, g.aa.boo) - x322 += einsum("wij->wij", x318) - x347 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) - x347 += einsum("wij->wij", x318) - del x318 - x319 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) - x319 += einsum("wia,xwja->xij", g.aa.bov, u12.aa) - x322 += einsum("wij->wij", x319) - x351 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) - x351 += einsum("wij->wij", x319) - del x319 - x320 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) - x320 += einsum("wia,jkia->wjk", u11.bb, v.aabb.ooov) - x322 += einsum("wij->wij", x320) - x351 += einsum("wij->wij", x320) - del x320 - x321 += einsum("ia->ia", f.aa.ov) - x322 += einsum("ia,wja->wij", x321, u11.aa) - del x321 - x322 += einsum("wij->wij", gc.aa.boo) - u11new_aa += einsum("ia,wij->wja", t1.aa, x322) * -1 - del x322 - x323 = np.zeros((nbos, nvir[0], nvir[0]), dtype=types[float]) - x323 += einsum("wx,xab->wab", s2, g.aa.bvv) - x326 = np.zeros((nbos, nvir[0], nvir[0]), dtype=types[float]) - x326 += einsum("wab->wab", x323) - x353 = np.zeros((nbos, nvir[0], nvir[0]), dtype=types[float]) - x353 += einsum("wab->wab", x323) - del x323 - x324 = np.zeros((nbos, nvir[0], nvir[0]), dtype=types[float]) - x324 += einsum("wia,iabc->wbc", u11.bb, v.bbaa.ovvv) - x326 += einsum("wab->wab", x324) - x341 -= einsum("wab->wba", x324) - del x324 - x325 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x325 += einsum("iabc->ibac", v.aaaa.ovvv) - x325 -= einsum("iabc->ibca", v.aaaa.ovvv) - x326 -= einsum("wia,ibca->wbc", u11.aa, x325) - del x325 - x326 += einsum("wab->wab", gc.aa.bvv) - u11new_aa += einsum("ia,wba->wib", t1.aa, x326) - del x326 - x328 += einsum("ab->ab", f.bb.vv) - u11new_bb += einsum("ab,wib->wia", x328, u11.bb) - del x328 - x329 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) - x329 += einsum("wx,xij->wij", s2, g.bb.boo) - x333 += einsum("wij->wij", x329) - x383 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) - x383 += einsum("wij->wij", x329) - del x329 - x330 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) - x330 += einsum("wia,xwja->xij", g.bb.bov, u12.bb) - x333 += einsum("wij->wij", x330) - x394 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) - x394 += einsum("wij->wij", x330) - del x330 - x331 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) - x331 += einsum("wia,iajk->wjk", u11.aa, v.aabb.ovoo) - x333 += einsum("wij->wij", x331) - x383 += einsum("wij->wij", x331) - del x331 - x332 += einsum("ia->ia", f.bb.ov) - x333 += einsum("ia,wja->wij", x332, u11.bb) - del x332 - x333 += einsum("wij->wij", gc.bb.boo) - u11new_bb += einsum("ia,wij->wja", t1.bb, x333) * -1 - del x333 - x334 = np.zeros((nbos, nvir[1], nvir[1]), dtype=types[float]) - x334 += einsum("wx,xab->wab", s2, g.bb.bvv) - x337 = np.zeros((nbos, nvir[1], nvir[1]), dtype=types[float]) - x337 += einsum("wab->wab", x334) - x385 = np.zeros((nbos, nvir[1], nvir[1]), dtype=types[float]) - x385 += einsum("wab->wab", x334) - del x334 - x335 = np.zeros((nbos, nvir[1], nvir[1]), dtype=types[float]) - x335 += einsum("wia,iabc->wbc", u11.aa, v.aabb.ovvv) - x337 += einsum("wab->wab", x335) - x385 += einsum("wab->wab", x335) - del x335 - x336 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x336 -= einsum("iabc->ibac", v.bbbb.ovvv) - x336 += einsum("iabc->ibca", v.bbbb.ovvv) - x337 -= einsum("wia,ibac->wbc", u11.bb, x336) - del x336 - x337 += einsum("wab->wab", gc.bb.bvv) - u11new_bb += einsum("ia,wba->wib", t1.bb, x337) - del x337 - x338 = np.zeros((nbos, nbos, nocc[0], nvir[0]), dtype=types[float]) - x338 += einsum("wx,ywia->yxia", w, u12.aa) - x359 -= einsum("wxia->wxia", x338) - del x338 - x339 = np.zeros((nbos, nvir[0], nvir[0]), dtype=types[float]) - x339 += einsum("wia,xwib->xab", g.aa.bov, u12.aa) - x341 += einsum("wab->wab", x339) - del x339 - x342 = np.zeros((nbos, nbos, nocc[0], nvir[0]), dtype=types[float]) - x342 += einsum("wia,xab->xwib", u11.aa, x341) - del x341 - x359 += einsum("wxia->xwia", x342) - del x342 - x343 += einsum("ia->ia", f.aa.ov) - x344 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) - x344 += einsum("ia,wja->wij", x343, u11.aa) - del x343 - x347 += einsum("wij->wij", x344) - del x344 - x345 += einsum("wia->wia", gc.aa.bov) - x346 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) - x346 += einsum("ia,wja->wji", t1.aa, x345) - x347 += einsum("wij->wij", x346) - del x346 - x355 = np.zeros((nbos, nbos, nocc[0], nocc[0]), dtype=types[float]) - x355 += einsum("wia,xja->xwji", u11.aa, x345) - del x345 - x356 = np.zeros((nbos, nbos, nocc[0], nvir[0]), dtype=types[float]) - x356 += einsum("ia,wxij->wxja", t1.aa, x355) - del x355 - x359 += einsum("wxia->wxia", x356) - del x356 - x347 += einsum("wij->wij", gc.aa.boo) - x348 = np.zeros((nbos, nbos, nocc[0], nvir[0]), dtype=types[float]) - x348 += einsum("wia,xij->xwja", u11.aa, x347) - del x347 - x359 += einsum("wxia->wxia", x348) - del x348 - x349 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x349 += einsum("ijka->ikja", v.aaaa.ooov) - x349 -= einsum("ijka->kija", v.aaaa.ooov) - x350 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) - x350 += einsum("wia,ijka->wjk", u11.aa, x349) - del x349 - x351 -= einsum("wij->wij", x350) - del x350 - x352 = np.zeros((nbos, nbos, nocc[0], nvir[0]), dtype=types[float]) - x352 += einsum("wia,xij->xwja", u11.aa, x351) - del x351 - x359 += einsum("wxia->xwia", x352) - del x352 - x353 += einsum("wab->wab", gc.aa.bvv) - x354 = np.zeros((nbos, nbos, nocc[0], nvir[0]), dtype=types[float]) - x354 += einsum("wia,xba->xwib", u11.aa, x353) - del x353 - x359 -= einsum("wxia->wxia", x354) - del x354 - u12new_aa -= einsum("wxia->wxia", x359) - u12new_aa -= einsum("wxia->xwia", x359) - del x359 - x368 = np.zeros((nbos, nbos, nocc[0], nvir[0]), dtype=types[float]) - x368 += einsum("wxia,jbia->wxjb", u12.bb, v.aabb.ovov) - x370 += einsum("wxia->xwia", x368) - del x368 - u12new_aa += einsum("ijab,wxia->xwjb", x10, x370) * -1 - del x10 - u12new_bb += einsum("ijab,wxia->xwjb", t2.abab, x370) - del x370 - x371 = np.zeros((nbos, nbos, nocc[1], nvir[1]), dtype=types[float]) - x371 += einsum("wxia,iajb->wxjb", u12.aa, v.aabb.ovov) - x373 += einsum("wxia->xwia", x371) - del x371 - u12new_aa += einsum("ijab,wxjb->xwia", t2.abab, x373) - u12new_bb += einsum("wxia,ijba->xwjb", x373, x41) - del x41 - del x373 - x375 = np.zeros((nbos, nbos, nbos), dtype=types[float]) - x375 += einsum("wia,xyia->wxy", g.aa.bov, u12.aa) - x377 = np.zeros((nbos, nbos, nbos), dtype=types[float]) - x377 += einsum("wxy->wyx", x375) - del x375 - x376 = np.zeros((nbos, nbos, nbos), dtype=types[float]) - x376 += einsum("wia,xyia->wxy", g.bb.bov, u12.bb) - x377 += einsum("wxy->wyx", x376) - del x376 - u12new_aa += einsum("wia,wxy->yxia", u11.aa, x377) - u12new_bb += einsum("wia,wxy->yxia", u11.bb, x377) - del x377 - x378 = np.zeros((nbos, nbos, nocc[1], nvir[1]), dtype=types[float]) - x378 += einsum("wx,ywia->yxia", w, u12.bb) - x399 -= einsum("wxia->wxia", x378) - del x378 - x379 += einsum("ia->ia", f.bb.ov) - x380 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) - x380 += einsum("ia,wja->wij", x379, u11.bb) - del x379 - x383 += einsum("wij->wij", x380) - del x380 - x381 += einsum("wia->wia", gc.bb.bov) - x382 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) - x382 += einsum("ia,wja->wji", t1.bb, x381) - x383 += einsum("wij->wij", x382) - del x382 - x396 = np.zeros((nbos, nbos, nocc[1], nocc[1]), dtype=types[float]) - x396 += einsum("wia,xja->xwji", u11.bb, x381) - del x381 - x397 = np.zeros((nbos, nbos, nocc[1], nvir[1]), dtype=types[float]) - x397 += einsum("ia,wxij->wxja", t1.bb, x396) - del x396 - x399 += einsum("wxia->wxia", x397) - del x397 - x383 += einsum("wij->wij", gc.bb.boo) - x384 = np.zeros((nbos, nbos, nocc[1], nvir[1]), dtype=types[float]) - x384 += einsum("wia,xij->xwja", u11.bb, x383) - del x383 - x399 += einsum("wxia->wxia", x384) - del x384 - x385 += einsum("wab->wab", gc.bb.bvv) - x386 = np.zeros((nbos, nbos, nocc[1], nvir[1]), dtype=types[float]) - x386 += einsum("wia,xba->xwib", u11.bb, x385) - del x385 - x399 -= einsum("wxia->wxia", x386) - del x386 - x387 = np.zeros((nbos, nvir[1], nvir[1]), dtype=types[float]) - x387 += einsum("wia,xwib->xab", g.bb.bov, u12.bb) - x390 = np.zeros((nbos, nvir[1], nvir[1]), dtype=types[float]) - x390 += einsum("wab->wab", x387) - del x387 - x388 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x388 += einsum("iabc->ibac", v.bbbb.ovvv) - x388 -= einsum("iabc->ibca", v.bbbb.ovvv) - x389 = np.zeros((nbos, nvir[1], nvir[1]), dtype=types[float]) - x389 += einsum("wia,ibac->wbc", u11.bb, x388) - x390 -= einsum("wab->wba", x389) - del x389 - x391 = np.zeros((nbos, nbos, nocc[1], nvir[1]), dtype=types[float]) - x391 += einsum("wia,xab->xwib", u11.bb, x390) - del x390 - x399 += einsum("wxia->xwia", x391) - del x391 - x411 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x411 -= einsum("ia,jbac->jibc", t1.bb, x388) - del x388 - x392 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x392 += einsum("ijka->ikja", v.bbbb.ooov) - x392 -= einsum("ijka->kija", v.bbbb.ooov) - x393 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) - x393 += einsum("wia,ijka->wjk", u11.bb, x392) - del x392 - x394 -= einsum("wij->wij", x393) - del x393 - x395 = np.zeros((nbos, nbos, nocc[1], nvir[1]), dtype=types[float]) - x395 += einsum("wia,xij->xwja", u11.bb, x394) - del x394 - x399 += einsum("wxia->xwia", x395) - del x395 - u12new_bb -= einsum("wxia->wxia", x399) - u12new_bb -= einsum("wxia->xwia", x399) - del x399 - x411 += einsum("iabj->ijba", v.bbbb.ovvo) - x411 -= einsum("ijab->ijab", v.bbbb.oovv) - u12new_bb += einsum("wxia,ijba->xwjb", u12.bb, x411) - del x411 - x412 += einsum("iabj->ijab", v.aabb.ovvo) - u12new_bb += einsum("wxia,ijab->xwjb", u12.aa, x412) - del x412 - t1new_aa += einsum("w,wai->ia", s1, g.aa.bvo) - t1new_aa += einsum("ijab,jbca->ic", t2.abab, v.bbaa.ovvv) - t1new_aa += einsum("wab,wib->ia", g.aa.bvv, u11.aa) - t1new_aa += einsum("ai->ia", f.aa.vo) - t1new_aa += einsum("ia,iabj->jb", t1.bb, v.bbaa.ovvo) - t1new_bb += einsum("w,wai->ia", s1, g.bb.bvo) - t1new_bb += einsum("wab,wib->ia", g.bb.bvv, u11.bb) - t1new_bb += einsum("ia,iabj->jb", t1.aa, v.aabb.ovvo) - t1new_bb += einsum("ijab,iacb->jc", t2.abab, v.aabb.ovvv) - t1new_bb += einsum("ai->ia", f.bb.vo) - t2new_aaaa -= einsum("aibj->jiab", v.aaaa.vovo) - t2new_aaaa += einsum("aibj->jiba", v.aaaa.vovo) - t2new_bbbb -= einsum("aibj->jiab", v.bbbb.vovo) - t2new_bbbb += einsum("aibj->jiba", v.bbbb.vovo) - t2new_baba += einsum("aibj->jiba", v.aabb.vovo) - t2new_abab += einsum("aibj->ijab", v.aabb.vovo) - s1new += einsum("wia,xwia->x", g.aa.bov, u12.aa) - s1new += einsum("w,wx->x", s1, w) - s1new += einsum("ia,wia->w", t1.aa, gc.aa.bov) - s1new += einsum("w->w", G) - s1new += einsum("ia,wia->w", t1.bb, gc.bb.bov) - s1new += einsum("wia,xwia->x", g.bb.bov, u12.bb) - u11new_aa += einsum("wx,xai->wia", s2, g.aa.bvo) - u11new_aa += einsum("wab,xwib->xia", g.aa.bvv, u12.aa) - u11new_aa += einsum("wai->wia", gc.aa.bvo) - u11new_aa += einsum("wia,iabj->wjb", u11.bb, v.bbaa.ovvo) - u11new_bb += einsum("wx,xai->wia", s2, g.bb.bvo) - u11new_bb += einsum("wab,xwib->xia", g.bb.bvv, u12.bb) - u11new_bb += einsum("wia,iabj->wjb", u11.aa, v.aabb.ovvo) - u11new_bb += einsum("wai->wia", gc.bb.bvo) - - t1new.aa = t1new_aa - t1new.bb = t1new_bb - t2new.abab = t2new_abab - t2new.baba = t2new_baba - t2new.aaaa = t2new_aaaa - t2new.bbbb = t2new_bbbb - u11new.aa = u11new_aa - u11new.bb = u11new_bb - u12new.aa = u12new_aa - u12new.bb = u12new_bb - - return {"t1new": t1new, "t2new": t2new, "s1new": s1new, "s2new": s2new, "u11new": u11new, "u12new": u12new} - -def update_lams(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, s2=None, u11=None, u12=None, l1=None, l2=None, ls1=None, ls2=None, lu11=None, lu12=None, **kwargs): - l1new = Namespace() - l2new = Namespace() - lu11new = Namespace() - lu12new = Namespace() - - # Get boson coupling creation array: - gc = Namespace( - aa = Namespace( - boo=g.aa.boo.transpose(0, 2, 1), - bov=g.aa.bvo.transpose(0, 2, 1), - bvo=g.aa.bov.transpose(0, 2, 1), - bvv=g.aa.bvv.transpose(0, 2, 1), - ), - bb = Namespace( - boo=g.bb.boo.transpose(0, 2, 1), - bov=g.bb.bvo.transpose(0, 2, 1), - bvo=g.bb.bov.transpose(0, 2, 1), - bvv=g.bb.bvv.transpose(0, 2, 1), - ), - ) - - # L1, L2, LS1, LS2, LU11 and LU12 amplitudes - x0 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x0 += einsum("abij,klab->ikjl", l2.abab, t2.abab) - x61 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x61 += einsum("ijkl->ijkl", x0) - x531 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x531 += einsum("ijkl->ijkl", x0) - l1new_aa = np.zeros((nvir[0], nocc[0]), dtype=types[float]) - l1new_aa += einsum("iajk,likj->al", v.aabb.ovoo, x0) - l1new_bb = np.zeros((nvir[1], nocc[1]), dtype=types[float]) - l1new_bb += einsum("ijka,jilk->al", v.aabb.ooov, x0) - del x0 - x1 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x1 += einsum("ia,bajk->jkib", t1.bb, l2.abab) - x2 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x2 += einsum("ia,jkla->jikl", t1.aa, x1) - x61 += einsum("ijkl->ijkl", x2) - x62 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x62 += einsum("ia,jkil->jkla", t1.bb, x61) - x301 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x301 += einsum("ia,ijkl->jkla", t1.aa, x61) - del x61 - x531 += einsum("ijkl->ijkl", x2) - x532 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x532 += einsum("iajb,kilj->klab", v.aabb.ovov, x531) - del x531 - l2new_baba = np.zeros((nvir[1], nvir[0], nocc[1], nocc[0]), dtype=types[float]) - l2new_baba += einsum("ijab->baji", x532) - l2new_abab = np.zeros((nvir[0], nvir[1], nocc[0], nocc[1]), dtype=types[float]) - l2new_abab += einsum("ijab->abij", x532) - del x532 - l1new_aa += einsum("iajk,likj->al", v.aabb.ovoo, x2) - l1new_bb += einsum("ijka,jilk->al", v.aabb.ooov, x2) - del x2 - x53 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x53 += einsum("ia,jikb->jkba", t1.bb, x1) - x62 += einsum("ijab,kjla->kilb", t2.abab, x1) - x192 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x192 += einsum("ijab,ijka->kb", t2.abab, x1) - x207 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x207 += einsum("ia->ia", x192) - del x192 - x299 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x299 += einsum("ijab,ikla->kljb", t2.abab, x1) - x353 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x353 += einsum("iajk,lkjb->liba", v.aabb.ovoo, x1) - x390 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x390 -= einsum("ijab->ijab", x353) - del x353 - x503 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x503 += einsum("iabc,jkib->jkca", v.bbaa.ovvv, x1) - l2new_baba -= einsum("ijab->baji", x503) - l2new_abab -= einsum("ijab->abij", x503) - del x503 - l1new_aa -= einsum("ijab,kjia->bk", v.bbaa.oovv, x1) - x3 = np.zeros((nocc[0], nocc[0], nvir[1], nvir[1]), dtype=types[float]) - x3 += einsum("abij,kjac->ikbc", l2.abab, t2.abab) - l1new_aa += einsum("iabc,jibc->aj", v.aabb.ovvv, x3) * -1 - del x3 - x4 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x4 += einsum("w,wia->ia", s1, g.aa.bov) - x5 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x5 += einsum("ia->ia", x4) - x41 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x41 += einsum("ia->ia", x4) - x372 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x372 += einsum("ia->ia", x4) - x564 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x564 += einsum("ia->ia", x4) - del x4 - x5 += einsum("ia->ia", f.aa.ov) - x6 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x6 += einsum("ia,jkab->jkib", x5, t2.aaaa) - del x5 - x7 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x7 += einsum("ijka->kjia", x6) - del x6 - x7 += einsum("ijak->ijka", v.aaaa.oovo) * -1 - x32 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x32 += einsum("ijka->kija", x7) - x32 += einsum("ijka->jika", x7) * -1 - del x7 - x8 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x8 += einsum("ijab,kbca->jikc", t2.aaaa, v.aaaa.ovvv) - x21 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x21 += einsum("ijka->ijka", x8) * -1 - del x8 - x9 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x9 += einsum("ia,jbca->ijcb", t1.aa, v.aaaa.ovvv) - x10 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x10 += einsum("ia,jkba->ijkb", t1.aa, x9) - del x9 - x21 += einsum("ijka->ijka", x10) * -1 - del x10 - x11 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x11 += einsum("ia,jbia->jb", t1.bb, v.aabb.ovov) - x14 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x14 += einsum("ia->ia", x11) - x41 += einsum("ia->ia", x11) - x389 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x389 += einsum("ia->ia", x11) - x564 += einsum("ia->ia", x11) - del x11 - x12 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x12 += einsum("iajb->jiab", v.aaaa.ovov) - x12 += einsum("iajb->jiba", v.aaaa.ovov) * -1 - x13 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x13 += einsum("ia,ijab->jb", t1.aa, x12) - x14 += einsum("ia->ia", x13) * -1 - x15 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x15 += einsum("ia,jkab->jkib", x14, t2.aaaa) - x21 += einsum("ijka->jika", x15) - del x15 - x404 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x404 += einsum("ia,ja->ij", t1.aa, x14) - x405 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x405 += einsum("ij->ij", x404) - del x404 - x41 += einsum("ia->ia", x13) * -1 - del x13 - x75 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x75 += einsum("wia,ijab->wjb", u11.aa, x12) - x76 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x76 += einsum("wia->wia", x75) * -1 - x220 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x220 += einsum("wia->wia", x75) * -1 - x229 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x229 += einsum("wia->wia", x75) * -1 - del x75 - x399 = np.zeros((nbos, nbos, nocc[0], nvir[0]), dtype=types[float]) - x399 += einsum("wxia,ijab->wxjb", u12.aa, x12) - x400 = np.zeros((nbos, nbos, nocc[0], nvir[0]), dtype=types[float]) - x400 += einsum("wxia->xwia", x399) * -1 - del x399 - x509 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x509 += einsum("ijab,ikac->kjcb", t2.abab, x12) - x511 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x511 += einsum("ijab->ijab", x509) * -1 - del x509 - x16 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x16 += einsum("ijab,kalb->ijkl", t2.aaaa, v.aaaa.ovov) - x19 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x19 += einsum("ijkl->jilk", x16) - x418 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x418 += einsum("ijkl->jilk", x16) - del x16 - x17 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x17 += einsum("ia,jbka->ijkb", t1.aa, v.aaaa.ovov) - x18 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x18 += einsum("ia,jkla->ijkl", t1.aa, x17) - x19 += einsum("ijkl->ijkl", x18) - x20 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x20 += einsum("ia,jkil->jkla", t1.aa, x19) - del x19 - x21 += einsum("ijka->jika", x20) - del x20 - x32 += einsum("ijka->jkia", x21) - x32 += einsum("ijka->ikja", x21) * -1 - del x21 - x418 += einsum("ijkl->ijkl", x18) - del x18 - x419 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x419 += einsum("abij,ijkl->klab", l2.aaaa, x418) - del x418 - x422 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x422 += einsum("ijab->jiba", x419) - del x419 - x22 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x22 += einsum("ijka->ikja", x17) * -1 - x22 += einsum("ijka->ijka", x17) - x37 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x37 += einsum("ijka->jkia", x17) - x37 += einsum("ijka->kjia", x17) * -1 - x86 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x86 += einsum("ijka->jkia", x17) * -1 - x86 += einsum("ijka->kjia", x17) - x386 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x386 += einsum("ijka->ijka", x17) - x395 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x395 += einsum("ijka->ikja", x17) - x395 += einsum("ijka->ijka", x17) * -1 - x535 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x535 += einsum("ijka->ikja", x17) * -1 - x535 += einsum("ijka->ijka", x17) - del x17 - x22 += einsum("ijka->jkia", v.aaaa.ooov) - x22 += einsum("ijka->jika", v.aaaa.ooov) * -1 - x23 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x23 += einsum("ijab->jiab", t2.aaaa) * -1 - x23 += einsum("ijab->jiba", t2.aaaa) - x24 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x24 += einsum("ijka,klba->ijlb", x22, x23) - del x22 - x32 += einsum("ijka->ijka", x24) - x51 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x51 += einsum("ijka->ijka", x24) - del x24 - x85 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x85 += einsum("iabc,ijca->jb", v.aaaa.ovvv, x23) - x121 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x121 += einsum("ia->ia", x85) * -1 - del x85 - x105 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x105 += einsum("iajb,ikba->jk", v.aaaa.ovov, x23) - x109 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x109 += einsum("ij->ij", x105) * -1 - x405 += einsum("ij->ji", x105) * -1 - del x105 - x166 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x166 += einsum("ai,ijab->jb", l1.aa, x23) - x178 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x178 += einsum("ia->ia", x166) * -1 - del x166 - x175 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x175 += einsum("abij,ikba->jk", l2.aaaa, x23) - x176 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x176 += einsum("ij->ij", x175) * -1 - x411 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x411 += einsum("ij->ij", x175) * -1 - del x175 - x184 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x184 += einsum("abij,ijbc->ac", l2.aaaa, x23) - x185 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x185 += einsum("ab->ab", x184) * -1 - x402 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x402 += einsum("ab->ab", x184) * -1 - x548 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x548 += einsum("ab->ab", x184) * -1 - del x184 - x214 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x214 += einsum("abij,ikba->jk", l2.aaaa, x23) * 2 - x215 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x215 += einsum("ij->ij", x214) * -1 - del x214 - x297 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x297 += einsum("abij,ikac->kjcb", l2.abab, x23) * -2 - x301 += einsum("ijka,ilab->ljkb", x1, x23) * -1 - x324 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x324 += einsum("abij,ijbc->ac", l2.aaaa, x23) * 2 - x325 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x325 += einsum("ab->ab", x324) * -1 - x567 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x567 += einsum("ab->ab", x324) * -1 - del x324 - x408 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x408 += einsum("iajb,ijbc->ac", v.aaaa.ovov, x23) - x409 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x409 += einsum("ab->ba", x408) * -1 - del x408 - x25 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x25 += einsum("ia,jakb->ijkb", t1.aa, v.aabb.ovov) - x26 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x26 += einsum("ijka->jika", x25) - x559 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x559 += einsum("ijka->jika", x25) - x26 += einsum("ijka->ijka", v.aabb.ooov) - x27 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x27 += einsum("ijab,kljb->ikla", t2.abab, x26) - x32 += einsum("ijka->kjia", x27) - x51 += einsum("ijka->kjia", x27) - del x27 - x77 = np.zeros((nbos, nbos, nocc[0], nocc[0]), dtype=types[float]) - x77 += einsum("wxia,jkia->xwjk", u12.bb, x26) - x88 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x88 += einsum("ijab,ikjb->ka", t2.abab, x26) - x121 += einsum("ia->ia", x88) * -1 - del x88 - x293 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x293 += einsum("ijab,iklb->klja", t2.abab, x26) * -1 - x534 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x534 += einsum("ijka,likb->ljab", x1, x26) - l2new_baba += einsum("ijab->baji", x534) - l2new_abab += einsum("ijab->abij", x534) - del x534 - x28 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x28 += einsum("iabj->ijba", v.aaaa.ovvo) - x28 += einsum("ijab->ijab", v.aaaa.oovv) * -1 - x29 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x29 += einsum("ia,jkba->ijkb", t1.aa, x28) - x32 += einsum("ijka->ijka", x29) - x51 += einsum("ijka->ijka", x29) - del x29 - x97 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x97 += einsum("ia,ijba->jb", t1.aa, x28) - x121 += einsum("ia->ia", x97) - del x97 - x575 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x575 += einsum("wia,ijba->wjb", u11.aa, x28) * -1 - x30 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x30 += einsum("ia,jkla->ijlk", t1.aa, v.aaaa.ooov) - x31 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x31 += einsum("ijkl->jkil", x30) - x31 += einsum("ijkl->kjil", x30) * -1 - x50 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x50 += einsum("ijkl->ikjl", x30) * -1 - x50 += einsum("ijkl->ijkl", x30) - x51 += einsum("ia,jikl->jkla", t1.aa, x50) * -1 - del x50 - l1new_aa += einsum("abij,ikjb->ak", l2.aaaa, x51) * -1 - del x51 - x351 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x351 += einsum("abij,jkli->klba", l2.aaaa, x30) - del x30 - x390 -= einsum("ijab->ijab", x351) - del x351 - x31 += einsum("ijkl->kijl", v.aaaa.oooo) - x31 += einsum("ijkl->kilj", v.aaaa.oooo) * -1 - x32 += einsum("ia,ijkl->kjla", t1.aa, x31) * -1 - del x31 - l1new_aa += einsum("abij,ikja->bk", l2.aaaa, x32) - del x32 - x33 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x33 += einsum("abij,kjcb->ikac", l2.abab, t2.abab) - x35 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x35 += einsum("ijab->ijab", x33) - x34 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x34 += einsum("abij->jiab", l2.aaaa) * -1 - x34 += einsum("abij->jiba", l2.aaaa) - x35 += einsum("ijab,ikac->kjcb", x23, x34) - x53 += einsum("ijab,ikac->kjcb", t2.abab, x34) * -1 - x35 += einsum("wxai,wxjb->ijab", lu12.aa, u12.aa) * 0.5 - x36 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x36 += einsum("iabc->ibac", v.aaaa.ovvv) - x36 += einsum("iabc->ibca", v.aaaa.ovvv) * -1 - x512 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x512 += einsum("ia,jbac->ijbc", t1.aa, x36) - x513 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x513 += einsum("ijab->jiab", x512) * -1 - del x512 - l1new_aa += einsum("ijab,jacb->ci", x35, x36) * -1 - del x35 - x37 += einsum("ijka->ikja", v.aaaa.ooov) * -1 - x37 += einsum("ijka->kija", v.aaaa.ooov) - x49 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x49 += einsum("ijab,kila->kljb", t2.abab, x37) * -1 - x77 += einsum("wxia,jika->xwjk", u12.aa, x37) * -1 - del x37 - x38 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x38 += einsum("ijab->jiab", t2.bbbb) * -1 - x38 += einsum("ijab->jiba", t2.bbbb) - x49 += einsum("ijka,klba->ijlb", x26, x38) * -1 - x204 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x204 += einsum("abij,ikba->jk", l2.bbbb, x38) - x205 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x205 += einsum("ij->ij", x204) * -1 - x488 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x488 += einsum("ij->ij", x204) * -1 - x576 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x576 += einsum("ij->ij", x204) * -1 - del x204 - x212 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x212 += einsum("abij,ijbc->ac", l2.bbbb, x38) - x213 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x213 += einsum("ab->ab", x212) * -1 - x478 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x478 += einsum("ab->ab", x212) * -1 - x547 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x547 += einsum("ab->ab", x212) * -1 - del x212 - x224 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x224 += einsum("abij,ikba->jk", l2.bbbb, x38) * 2 - x225 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x225 += einsum("ij->ij", x224) * -1 - del x224 - x510 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x510 += einsum("iajb,jkcb->ikac", v.aabb.ovov, x38) - x511 += einsum("ijab->ijab", x510) * -1 - del x510 - x566 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x566 += einsum("abij,ijbc->ac", l2.bbbb, x38) * -2 - x618 = np.zeros((nbos, nbos, nocc[1], nvir[1]), dtype=types[float]) - x618 += einsum("wxai,ijba->wxjb", lu12.bb, x38) - x619 = np.zeros((nbos, nbos, nocc[1], nvir[1]), dtype=types[float]) - x619 += einsum("wxia->xwia", x618) * -1 - del x618 - x39 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x39 += einsum("ia,jbka->jikb", t1.bb, v.aabb.ovov) - x40 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x40 += einsum("ijka->ikja", x39) - x44 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x44 += einsum("ijka->ikja", x39) - x354 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x354 += einsum("ijka,ljkb->ilab", x1, x39) - x390 -= einsum("ijab->ijab", x354) - del x354 - x561 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x561 += einsum("ijka->ikja", x39) - x40 += einsum("iajk->ijka", v.aabb.ovoo) - x49 += einsum("ijab,kjla->kilb", t2.abab, x40) * -1 - x133 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x133 += einsum("ijab,ijka->kb", t2.abab, x40) - x159 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x159 += einsum("ia->ia", x133) * -1 - del x133 - x281 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x281 += einsum("ijab,ikla->jklb", t2.abab, x40) - x285 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x285 += einsum("ijka->kjia", x281) - x295 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x295 += einsum("ijka->kjia", x281) - del x281 - x317 = np.zeros((nbos, nbos, nocc[1], nocc[1]), dtype=types[float]) - x317 += einsum("wxia,ijka->xwjk", u12.aa, x40) * 0.5 - x527 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x527 += einsum("ia,jkla->ijkl", t1.aa, x40) - x528 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x528 += einsum("ijkl->jikl", x527) - del x527 - x41 += einsum("ia->ia", f.aa.ov) - x49 += einsum("ia,jkab->ijkb", x41, t2.abab) - x77 += einsum("ia,wxja->xwij", x41, u12.aa) - x108 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x108 += einsum("ia,ja->ij", t1.aa, x41) - x109 += einsum("ij->ji", x108) - del x108 - x135 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x135 += einsum("ia,ijab->jb", x41, t2.abab) - x159 += einsum("ia->ia", x135) - del x135 - x219 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) - x219 += einsum("ia,wja->wji", x41, u11.aa) - x223 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) - x223 += einsum("wij->wji", x219) - del x219 - x233 = np.zeros((nbos, nbos), dtype=types[float]) - x233 += einsum("ia,wxia->xw", x41, u12.aa) * 0.5 - x255 = np.zeros((nbos), dtype=types[float]) - x255 += einsum("ia,wia->w", x41, u11.aa) - x258 = np.zeros((nbos), dtype=types[float]) - x258 += einsum("w->w", x255) - del x255 - x334 = np.zeros((nbos, nbos), dtype=types[float]) - x334 += einsum("ia,wxia->xw", x41, u12.aa) - lu11new_aa = np.zeros((nbos, nvir[0], nocc[0]), dtype=types[float]) - lu11new_aa += einsum("w,ia->wai", ls1, x41) * 2 - lu12new_aa = np.zeros((nbos, nbos, nvir[0], nocc[0]), dtype=types[float]) - lu12new_aa += einsum("wx,ia->xwai", ls2, x41) * 2 - x42 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x42 += einsum("ia,jkla->jkil", t1.bb, v.aabb.ooov) - x46 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x46 += einsum("ijkl->ijlk", x42) - x528 += einsum("ijkl->ijlk", x42) - del x42 - x43 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x43 += einsum("ijab,kalb->ikjl", t2.abab, v.aabb.ovov) - x46 += einsum("ijkl->jilk", x43) - x528 += einsum("ijkl->jilk", x43) - del x43 - x44 += einsum("iajk->ijka", v.aabb.ovoo) - x45 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x45 += einsum("ia,jkla->ijkl", t1.aa, x44) - del x44 - x46 += einsum("ijkl->jikl", x45) - del x45 - x46 += einsum("ijkl->ijkl", v.aabb.oooo) - x49 += einsum("ia,jkil->jkla", t1.bb, x46) * -1 - x293 += einsum("ia,ijkl->jkla", t1.aa, x46) * -1 - del x46 - x47 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x47 += einsum("ia,jbca->jibc", t1.bb, v.aabb.ovvv) - x48 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x48 += einsum("ijab->ijab", x47) - x361 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x361 += einsum("ijab->ijab", x47) - x511 += einsum("ijab->ijab", x47) - x620 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x620 += einsum("ijab->ijab", x47) - del x47 - x48 += einsum("iabj->ijab", v.aabb.ovvo) - x49 += einsum("ia,jkab->jikb", t1.aa, x48) - x49 += einsum("ijak->ijka", v.aabb.oovo) - x49 += einsum("ia,jkba->jkib", t1.bb, v.aabb.oovv) - x49 += einsum("ijab,kacb->kijc", t2.abab, v.aabb.ovvv) - l1new_aa += einsum("abij,kijb->ak", l2.abab, x49) * -1 - del x49 - x52 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x52 += einsum("ijab->jiab", t2.bbbb) - x52 += einsum("ijab->jiba", t2.bbbb) * -1 - x53 += einsum("abij,jkcb->ikac", l2.abab, x52) * -1 - x129 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x129 += einsum("iabc,ijac->jb", v.bbbb.ovvv, x52) - x159 += einsum("ia->ia", x129) * -1 - del x129 - x195 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x195 += einsum("ai,ijba->jb", l1.bb, x52) - x207 += einsum("ia->ia", x195) * -1 - del x195 - x53 += einsum("wxai,wxjb->ijab", lu12.aa, u12.bb) * -0.5 - l1new_aa += einsum("iabc,jiba->cj", v.bbaa.ovvv, x53) * -1 - del x53 - x54 = np.zeros((nbos, nbos, nocc[0], nocc[0]), dtype=types[float]) - x54 += einsum("ia,wxaj->wxji", t1.aa, lu12.aa) - x58 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x58 += einsum("wxia,wxjk->jkia", u12.aa, x54) * 0.5 - x62 += einsum("wxia,wxjk->jkia", u12.bb, x54) * -0.5 - x163 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x163 += einsum("wxia,wxij->ja", u12.aa, x54) - x178 += einsum("ia->ia", x163) * 0.5 - del x163 - x585 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x585 += einsum("wia,xwij->xja", u11.aa, x54) - x586 = np.zeros((nbos, nbos), dtype=types[float]) - x586 += einsum("wia,xia->wx", g.aa.bov, x585) - del x585 - x605 = np.zeros((nbos, nbos), dtype=types[float]) - x605 -= einsum("wx->wx", x586) - del x586 - lu12new_aa += einsum("ijka,wxik->xwaj", x535, x54) * -1 - lu12new_aa += einsum("ia,wxji->xwaj", x41, x54) * -1 - lu12new_bb = np.zeros((nbos, nbos, nvir[1], nocc[1]), dtype=types[float]) - lu12new_bb -= einsum("ijka,wxji->xwak", v.aabb.ooov, x54) - lu12new_bb -= einsum("ijka,wxij->xwak", x25, x54) - x55 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x55 += einsum("ia,abjk->jikb", t1.aa, l2.abab) - x58 += einsum("ijab,kljb->klia", t2.abab, x55) - x62 += einsum("ijab,klib->klja", x52, x55) * -1 - x164 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x164 += einsum("ijab,ikjb->ka", t2.abab, x55) - x178 += einsum("ia->ia", x164) - del x164 - x297 += einsum("ia,ijkb->jkab", t1.aa, x55) * 2 - x301 += einsum("ijab,iklb->klja", t2.abab, x55) - x426 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x426 += einsum("ijka,jilb->lkba", v.aabb.ooov, x55) - x467 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x467 -= einsum("ijab->ijab", x426) - del x426 - x429 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x429 += einsum("ijka,ijlb->lkba", x25, x55) - del x25 - x467 -= einsum("ijab->ijab", x429) - del x429 - x500 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x500 += einsum("iabc,jikb->jkac", v.aabb.ovvv, x55) - l2new_baba -= einsum("ijab->baji", x500) - l2new_abab -= einsum("ijab->abij", x500) - del x500 - x533 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x533 += einsum("ijka,likb->ljab", x40, x55) - l2new_baba += einsum("ijab->baji", x533) - l2new_abab += einsum("ijab->abij", x533) - del x533 - x551 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x551 += einsum("ia,jikb->jkab", x41, x55) - l2new_baba += einsum("ijab->baji", x551) * -1 - l2new_abab += einsum("ijab->abij", x551) * -1 - del x551 - l1new_aa += einsum("ijab,kijb->ak", x48, x55) * -1 - del x48 - l1new_bb -= einsum("ijab,jika->bk", v.aabb.oovv, x55) - l2new_baba += einsum("ijka,iklb->balj", x535, x55) * -1 - del x535 - l2new_abab += einsum("ijka,iklb->abjl", x395, x55) - x56 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x56 += einsum("ia,abjk->kjib", t1.aa, l2.aaaa) - x57 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x57 += einsum("ijka->ijka", x56) - x57 += einsum("ijka->jika", x56) * -1 - x58 += einsum("ijab,kilb->klja", x23, x57) - del x57 - x60 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x60 += einsum("ijka->ijka", x56) * -1 - x60 += einsum("ijka->jika", x56) - x62 += einsum("ijab,kila->kljb", t2.abab, x60) * -1 - x63 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x63 += einsum("ia,ijkb->jkba", t1.aa, x60) * -1 - l1new_aa += einsum("iabc,jiab->cj", x36, x63) - del x36 - del x63 - x396 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x396 += einsum("ijka,ilkb->ljba", x395, x60) - del x395 - x414 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x414 += einsum("ijab->ijab", x396) - del x396 - l1new_aa += einsum("ijab,jkia->bk", x28, x60) - del x28 - l2new_baba += einsum("ijka,jlib->abkl", x26, x60) * -1 - del x60 - x68 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x68 += einsum("ia,jkla->kjli", t1.aa, x56) - x69 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x69 += einsum("ijkl->ijkl", x68) - x122 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x122 += einsum("ijkl->ijkl", x68) - x122 += einsum("ijkl->ijlk", x68) * -1 - l1new_aa += einsum("ijka,ljki->al", v.aaaa.ooov, x122) - del x122 - x420 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x420 += einsum("ijkl->ijkl", x68) - del x68 - x352 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x352 += einsum("iabc,jkib->kjac", v.aaaa.ovvv, x56) - x390 -= einsum("ijab->ijab", x352) - del x352 - x363 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x363 -= einsum("ijka->ijka", x56) - x363 += einsum("ijka->jika", x56) - l2new_abab += einsum("ijka,jlib->balk", x26, x363) * -1 - del x26 - x413 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x413 += einsum("ia,jkib->jkba", x14, x56) - del x14 - x414 += einsum("ijab->ijab", x413) * -1 - del x413 - x59 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x59 += einsum("iajb->jiab", v.aaaa.ovov) - x59 -= einsum("iajb->jiba", v.aaaa.ovov) - x243 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x243 += einsum("wia,ijab->wjb", u11.aa, x59) - x244 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x244 -= einsum("wia->wia", x243) - x381 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x381 -= einsum("wia->wia", x243) - x553 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x553 -= einsum("wia->wia", x243) - del x243 - x388 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x388 += einsum("ia,ijab->jb", t1.aa, x59) - x389 -= einsum("ia->ia", x388) - x390 += einsum("ai,jb->ijab", l1.aa, x389) - del x389 - x564 -= einsum("ia->ia", x388) - del x388 - l1new_aa += einsum("ijka,jkab->bi", x58, x59) * -1 - del x58 - del x59 - x62 += einsum("ai,jkab->ijkb", l1.aa, t2.abab) * -1 - l1new_aa += einsum("iajb,kijb->ak", v.aabb.ovov, x62) - del x62 - x64 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x64 += einsum("ia,bacd->icbd", t1.aa, v.aaaa.vvvv) - x65 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x65 += einsum("iabc->iabc", x64) * -1 - del x64 - x65 += einsum("aibc->iabc", v.aaaa.vovv) - x66 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x66 += einsum("iabc->iabc", x65) - x66 += einsum("iabc->ibac", x65) * -1 - del x65 - l1new_aa += einsum("abij,ibac->cj", l2.aaaa, x66) * -1 - del x66 - x67 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x67 += einsum("abij,klab->ijkl", l2.aaaa, t2.aaaa) - x69 += einsum("ijkl->jilk", x67) - x70 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x70 += einsum("ia,ijkl->jkla", t1.aa, x69) - del x69 - x71 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x71 += einsum("ijka->ijka", x70) - x71 += einsum("ijka->ikja", x70) * -1 - del x70 - l1new_aa += einsum("iajb,kjib->ak", v.aaaa.ovov, x71) - del x71 - x123 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x123 += einsum("ijkl->jikl", x67) * -1 - x123 += einsum("ijkl->jilk", x67) - l1new_aa += einsum("ijka,jlki->al", v.aaaa.ooov, x123) * -1 - del x123 - x420 += einsum("ijkl->jilk", x67) - del x67 - x421 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x421 += einsum("iajb,klji->klab", v.aaaa.ovov, x420) - del x420 - x422 += einsum("ijab->jiab", x421) - del x421 - l2new_aaaa = np.zeros((nvir[0], nvir[0], nocc[0], nocc[0]), dtype=types[float]) - l2new_aaaa += einsum("ijab->abij", x422) - l2new_aaaa += einsum("ijab->baij", x422) * -1 - del x422 - x72 = np.zeros((nocc[1], nvir[0], nvir[0], nvir[1]), dtype=types[float]) - x72 += einsum("abci->iabc", v.aabb.vvvo) - x72 += einsum("ia,bcda->ibcd", t1.bb, v.aabb.vvvv) - l1new_aa += einsum("abij,jacb->ci", l2.abab, x72) - del x72 - x73 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x73 += einsum("wx,wia->xia", s2, g.aa.bov) - x76 += einsum("wia->wia", x73) - x553 += einsum("wia->wia", x73) - del x73 - x74 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x74 += einsum("wia,jbia->wjb", u11.bb, v.aabb.ovov) - x76 += einsum("wia->wia", x74) - x220 += einsum("wia->wia", x74) - x244 += einsum("wia->wia", x74) - x381 += einsum("wia->wia", x74) - x382 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x382 += einsum("wai,wjb->ijab", lu11.aa, x381) - del x381 - x390 += einsum("ijab->ijab", x382) - del x382 - x553 += einsum("wia->wia", x74) - del x74 - x76 += einsum("wia->wia", gc.aa.bov) - x77 += einsum("wia,xja->wxji", u11.aa, x76) * 2 - l1new_aa += einsum("wxai,wxji->aj", lu12.aa, x77) * -0.5 - del x77 - x571 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x571 += einsum("wia,ijab->wjb", x76, t2.abab) * -1 - x575 += einsum("wia,ijab->wjb", x76, x23) * -1 - del x76 - del x23 - x78 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x78 += einsum("ai,jkba->ijkb", l1.aa, t2.aaaa) - x79 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x79 += einsum("ijka->ikja", x78) - x79 += einsum("ijka->ijka", x78) * -1 - del x78 - l1new_aa += einsum("iajb,kjia->bk", v.aaaa.ovov, x79) * -1 - del x79 - x80 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x80 += einsum("w,wai->ia", s1, g.aa.bvo) - x121 += einsum("ia->ia", x80) - del x80 - x81 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x81 += einsum("wab,wib->ia", g.aa.bvv, u11.aa) - x121 += einsum("ia->ia", x81) - del x81 - x82 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x82 += einsum("ia,iabj->jb", t1.bb, v.bbaa.ovvo) - x121 += einsum("ia->ia", x82) - del x82 - x83 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x83 += einsum("ijab,jkib->ka", t2.aaaa, v.aaaa.ooov) - x121 += einsum("ia->ia", x83) - del x83 - x84 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x84 += einsum("ijab,jbca->ic", t2.abab, v.bbaa.ovvv) - x121 += einsum("ia->ia", x84) - del x84 - x86 += einsum("ijka->ikja", v.aaaa.ooov) - x87 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x87 += einsum("ijab,ijkb->ka", t2.aaaa, x86) - del x86 - x121 += einsum("ia->ia", x87) * -1 - del x87 - x89 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x89 += einsum("ijab->jiab", t2.aaaa) - x89 += einsum("ijab->jiba", t2.aaaa) * -1 - x90 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x90 += einsum("ia,ijab->jb", x41, x89) - x121 += einsum("ia->ia", x90) * -1 - del x90 - x165 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x165 += einsum("ijka,ijab->kb", x56, x89) - x178 += einsum("ia->ia", x165) * -1 - del x165 - x293 += einsum("ijka,ilab->ljkb", x40, x89) * -1 - x392 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x392 += einsum("ijab,ikac->jkbc", x12, x89) - x393 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x393 += einsum("ijab->jiba", x392) - x513 += einsum("ijab->ijba", x392) - del x392 - x505 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x505 += einsum("iajb,ikac->kjcb", v.aabb.ovov, x89) - x507 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x507 += einsum("ijab->ijab", x505) * -1 - del x505 - x542 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x542 += einsum("iajb,ijbc->ac", v.aaaa.ovov, x89) - x543 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x543 += einsum("ab->ba", x542) * -1 - del x542 - x614 = np.zeros((nbos, nbos, nocc[0], nvir[0]), dtype=types[float]) - x614 += einsum("wxai,ijab->wxjb", lu12.aa, x89) - del x89 - x615 = np.zeros((nbos, nbos, nocc[0], nvir[0]), dtype=types[float]) - x615 += einsum("wxia->xwia", x614) * -1 - del x614 - x91 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x91 += einsum("w,wia->ia", s1, g.bb.bov) - x95 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x95 += einsum("ia->ia", x91) - x266 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x266 += einsum("ia->ia", x91) - x447 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x447 += einsum("ia->ia", x91) - x563 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x563 += einsum("ia->ia", x91) - del x91 - x92 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x92 += einsum("ia,iajb->jb", t1.aa, v.aabb.ovov) - x95 += einsum("ia->ia", x92) - x272 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x272 += einsum("ia->ia", x92) - x466 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x466 += einsum("ia->ia", x92) - x563 += einsum("ia->ia", x92) - del x92 - x93 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x93 += einsum("iajb->jiab", v.bbbb.ovov) * -1 - x93 += einsum("iajb->jiba", v.bbbb.ovov) - x94 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x94 += einsum("ia,ijba->jb", t1.bb, x93) - x95 += einsum("ia->ia", x94) * -1 - x272 += einsum("ia->ia", x94) * -1 - del x94 - x273 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x273 += einsum("ia,jkab->jkib", x272, t2.bbbb) - x278 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x278 += einsum("ijka->jika", x273) - del x273 - x481 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x481 += einsum("ia,ja->ij", t1.bb, x272) - x482 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x482 += einsum("ij->ij", x481) - del x481 - x227 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x227 += einsum("wia,ijba->wjb", u11.bb, x93) * 0.5 - x228 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x228 += einsum("wia->wia", x227) * -1 - del x227 - x315 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x315 += einsum("wia,ijba->wjb", u11.bb, x93) - x316 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x316 += einsum("wia->wia", x315) * -1 - x330 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x330 += einsum("wia->wia", x315) * -1 - del x315 - x475 = np.zeros((nbos, nbos, nocc[1], nvir[1]), dtype=types[float]) - x475 += einsum("wxia,ijba->wxjb", u12.bb, x93) - x476 = np.zeros((nbos, nbos, nocc[1], nvir[1]), dtype=types[float]) - x476 += einsum("wxia->xwia", x475) * -1 - del x475 - x480 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x480 += einsum("ijab,ikba->jk", t2.bbbb, x93) - x482 += einsum("ij->ij", x480) * -1 - del x480 - x485 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x485 += einsum("ijab,ijbc->ac", t2.bbbb, x93) - x486 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x486 += einsum("ab->ab", x485) * -1 - del x485 - x506 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x506 += einsum("ijab,jkcb->ikac", t2.abab, x93) - x507 += einsum("ijab->ijab", x506) * -1 - del x506 - x95 += einsum("ia->ia", f.bb.ov) - x96 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x96 += einsum("ia,jiba->jb", x95, t2.abab) - x121 += einsum("ia->ia", x96) - del x96 - x134 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x134 += einsum("ia,ijba->jb", x95, x38) - x159 += einsum("ia->ia", x134) * -1 - del x134 - x149 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x149 += einsum("ia,ja->ij", t1.bb, x95) - x150 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x150 += einsum("ij->ji", x149) - del x149 - x233 += einsum("ia,wxia->xw", x95, u12.bb) * 0.5 - x256 = np.zeros((nbos), dtype=types[float]) - x256 += einsum("ia,wia->w", x95, u11.bb) - x258 += einsum("w->w", x256) - del x256 - x293 += einsum("ia,jkba->jikb", x95, t2.abab) - x317 += einsum("ia,wxja->xwij", x95, u12.bb) * 0.5 - x329 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) - x329 += einsum("ia,wja->wji", x95, u11.bb) - x333 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) - x333 += einsum("wij->wji", x329) - del x329 - x334 += einsum("ia,wxia->xw", x95, u12.bb) - x552 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x552 += einsum("ia,jkib->jkba", x95, x1) - l2new_baba += einsum("ijab->baji", x552) * -1 - l2new_abab += einsum("ijab->abij", x552) * -1 - del x552 - lu11new_bb = np.zeros((nbos, nvir[1], nocc[1]), dtype=types[float]) - lu11new_bb += einsum("w,ia->wai", ls1, x95) * 2 - lu12new_bb += einsum("wx,ia->xwai", ls2, x95) * 2 - x98 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) - x98 += einsum("ia,wja->wji", t1.aa, g.aa.bov) - x99 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) - x99 += einsum("wij->wij", x98) - x598 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) - x598 += einsum("wij->wij", x98) - del x98 - x99 += einsum("wij->wij", g.aa.boo) - x100 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x100 += einsum("wia,wij->ja", u11.aa, x99) - x121 += einsum("ia->ia", x100) * -1 - del x100 - x222 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) - x222 += einsum("wx,wij->xij", s2, x99) - x223 += einsum("wij->wij", x222) - del x222 - x575 += einsum("wij,wxia->xja", x99, u12.aa) - x101 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x101 += einsum("w,wij->ij", s1, g.aa.boo) - x109 += einsum("ij->ij", x101) - x374 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x374 += einsum("ij->ij", x101) - del x101 - x102 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x102 += einsum("wia,wja->ij", g.aa.bov, u11.aa) - x109 += einsum("ij->ij", x102) - x374 += einsum("ij->ij", x102) - del x102 - x103 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x103 += einsum("ia,jkia->jk", t1.bb, v.aabb.ooov) - x109 += einsum("ij->ij", x103) - x378 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x378 += einsum("ij->ij", x103) - del x103 - x104 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x104 += einsum("ijab,kajb->ik", t2.abab, v.aabb.ovov) - x109 += einsum("ij->ji", x104) - x405 += einsum("ij->ij", x104) - del x104 - x406 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x406 += einsum("ij,abik->kjab", x405, l2.aaaa) - del x405 - x414 += einsum("ijab->ijba", x406) * -1 - del x406 - x106 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x106 += einsum("ijka->ikja", v.aaaa.ooov) * -1 - x106 += einsum("ijka->kija", v.aaaa.ooov) - x107 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x107 += einsum("ia,jika->jk", t1.aa, x106) - x109 += einsum("ij->ij", x107) * -1 - del x107 - x218 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) - x218 += einsum("wia,jika->wjk", u11.aa, x106) - x223 += einsum("wij->wij", x218) * -1 - del x218 - x109 += einsum("ij->ij", f.aa.oo) - x110 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x110 += einsum("ia,ij->ja", t1.aa, x109) - x121 += einsum("ia->ia", x110) * -1 - del x110 - x545 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x545 += einsum("ij,abjk->ikab", x109, l2.abab) - l2new_baba += einsum("ijab->baji", x545) * -1 - l2new_abab += einsum("ijab->abij", x545) * -1 - del x545 - x575 += einsum("ij,wia->wja", x109, u11.aa) - l1new_aa += einsum("ai,ji->aj", l1.aa, x109) * -1 - lu12new_aa += einsum("ij,wxaj->xwai", x109, lu12.aa) * -1 - del x109 - x111 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x111 += einsum("w,wab->ab", s1, g.aa.bvv) - x115 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x115 += einsum("ab->ab", x111) - x367 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x367 += einsum("ab->ab", x111) - x543 += einsum("ab->ab", x111) - del x111 - x112 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x112 += einsum("ia,iabc->bc", t1.bb, v.bbaa.ovvv) - x115 += einsum("ab->ab", x112) - x370 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x370 += einsum("ab->ab", x112) - x543 += einsum("ab->ab", x112) - del x112 - x113 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x113 += einsum("iabc->ibac", v.aaaa.ovvv) * -1 - x113 += einsum("iabc->ibca", v.aaaa.ovvv) - x114 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x114 += einsum("ia,ibac->bc", t1.aa, x113) - x115 += einsum("ab->ab", x114) * -1 - x543 += einsum("ab->ab", x114) * -1 - del x114 - x572 = np.zeros((nbos, nvir[0], nvir[0]), dtype=types[float]) - x572 += einsum("wia,ibac->wbc", u11.aa, x113) * -1 - del x113 - x115 += einsum("ab->ab", f.aa.vv) - x116 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x116 += einsum("ia,ba->ib", t1.aa, x115) - x121 += einsum("ia->ia", x116) - del x116 - l1new_aa += einsum("ai,ab->bi", l1.aa, x115) - del x115 - x117 = np.zeros((nbos), dtype=types[float]) - x117 += einsum("ia,wia->w", t1.aa, g.aa.bov) - x119 = np.zeros((nbos), dtype=types[float]) - x119 += einsum("w->w", x117) - x577 = np.zeros((nbos), dtype=types[float]) - x577 += einsum("w->w", x117) - del x117 - x118 = np.zeros((nbos), dtype=types[float]) - x118 += einsum("ia,wia->w", t1.bb, g.bb.bov) - x119 += einsum("w->w", x118) - x577 += einsum("w->w", x118) - del x118 - x119 += einsum("w->w", G) - x120 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x120 += einsum("w,wia->ia", x119, u11.aa) - x121 += einsum("ia->ia", x120) - del x120 - x158 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x158 += einsum("w,wia->ia", x119, u11.bb) - x159 += einsum("ia->ia", x158) - del x158 - x257 = np.zeros((nbos), dtype=types[float]) - x257 += einsum("w,wx->x", x119, s2) - x258 += einsum("w->w", x257) - del x257 - x571 += einsum("w,wxia->xia", x119, u12.bb) * -1 - x575 += einsum("w,wxia->xia", x119, u12.aa) * -1 - del x119 - x121 += einsum("ai->ia", f.aa.vo) - l1new_aa += einsum("ia,ijab->bj", x121, x34) - l1new_bb += einsum("ia,abij->bj", x121, l2.abab) - ls1new = np.zeros((nbos), dtype=types[float]) - ls1new += einsum("ia,wai->w", x121, lu11.aa) - ls2new = np.zeros((nbos, nbos), dtype=types[float]) - ls2new += einsum("ia,wxai->xw", x121, lu12.aa) - del x121 - x124 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x124 += einsum("w,wai->ia", s1, g.bb.bvo) - x159 += einsum("ia->ia", x124) - del x124 - x125 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x125 += einsum("wab,wib->ia", g.bb.bvv, u11.bb) - x159 += einsum("ia->ia", x125) - del x125 - x126 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x126 += einsum("ia,iabj->jb", t1.aa, v.aabb.ovvo) - x159 += einsum("ia->ia", x126) - del x126 - x127 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x127 += einsum("ijab,iacb->jc", t2.abab, v.aabb.ovvv) - x159 += einsum("ia->ia", x127) - del x127 - x128 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x128 += einsum("ijab,ikja->kb", t2.bbbb, v.bbbb.ooov) - x159 += einsum("ia->ia", x128) - del x128 - x130 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x130 += einsum("ia,jbka->ijkb", t1.bb, v.bbbb.ovov) - x131 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x131 += einsum("ijka->jkia", x130) * -1 - x131 += einsum("ijka->kjia", x130) - x275 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x275 += einsum("ia,jkla->ijkl", t1.bb, x130) - x276 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x276 += einsum("ijkl->ijkl", x275) - x495 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x495 += einsum("ijkl->ijkl", x275) - del x275 - x279 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x279 += einsum("ijka->ikja", x130) - x279 += einsum("ijka->ijka", x130) * -1 - x290 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x290 += einsum("ijka->jkia", x130) - x290 += einsum("ijka->kjia", x130) * -1 - x463 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x463 += einsum("ijka->ijka", x130) - x470 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x470 += einsum("ijka->ikja", x130) * -1 - x470 += einsum("ijka->ijka", x130) - l2new_baba += einsum("ijka,jklb->bali", x1, x470) - x565 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x565 += einsum("ijka->ikja", x130) - x565 += einsum("ijka->ijka", x130) * -1 - del x130 - l2new_abab += einsum("ijka,jklb->abil", x1, x565) * -1 - x131 += einsum("ijka->ikja", v.bbbb.ooov) - x132 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x132 += einsum("ijab,jika->kb", t2.bbbb, x131) - del x131 - x159 += einsum("ia->ia", x132) * -1 - del x132 - x136 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x136 += einsum("iabj->ijba", v.bbbb.ovvo) - x136 += einsum("ijab->ijab", v.bbbb.oovv) * -1 - x137 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x137 += einsum("ia,ijba->jb", t1.bb, x136) - x159 += einsum("ia->ia", x137) - del x137 - x282 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x282 += einsum("ia,jkba->ijkb", t1.bb, x136) - x285 += einsum("ijka->ijka", x282) - x295 += einsum("ijka->ijka", x282) - del x282 - x571 += einsum("wia,ijba->wjb", u11.bb, x136) * -1 - x138 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) - x138 += einsum("ia,wja->wji", t1.bb, g.bb.bov) - x139 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) - x139 += einsum("wij->wij", x138) - x601 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) - x601 += einsum("wij->wij", x138) - x139 += einsum("wij->wij", g.bb.boo) - x140 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x140 += einsum("wia,wij->ja", u11.bb, x139) - x159 += einsum("ia->ia", x140) * -1 - del x140 - x332 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) - x332 += einsum("wx,wij->xij", s2, x139) - x333 += einsum("wij->wij", x332) - del x332 - x571 += einsum("wij,wxia->xja", x139, u12.bb) - x141 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x141 += einsum("w,wij->ij", s1, g.bb.boo) - x150 += einsum("ij->ij", x141) - x449 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x449 += einsum("ij->ij", x141) - del x141 - x142 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x142 += einsum("wia,wja->ij", g.bb.bov, u11.bb) - x150 += einsum("ij->ij", x142) - x449 += einsum("ij->ij", x142) - del x142 - x143 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x143 += einsum("ia,iajk->jk", t1.aa, v.aabb.ovoo) - x150 += einsum("ij->ij", x143) - x453 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x453 += einsum("ij->ij", x143) - del x143 - x144 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x144 += einsum("ijab,iakb->jk", t2.abab, v.aabb.ovov) - x150 += einsum("ij->ji", x144) - x482 += einsum("ij->ij", x144) - del x144 - x483 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x483 += einsum("ij,abik->kjab", x482, l2.bbbb) - del x482 - x491 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x491 += einsum("ijab->ijba", x483) * -1 - del x483 - x145 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x145 += einsum("iajb->jiab", v.bbbb.ovov) - x145 += einsum("iajb->jiba", v.bbbb.ovov) * -1 - x146 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x146 += einsum("ijab,ikab->jk", t2.bbbb, x145) - x150 += einsum("ij->ji", x146) * -1 - del x146 - x516 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x516 += einsum("ijab,ikac->kjcb", x145, x52) - x518 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x518 += einsum("ijab->jiab", x516) - del x516 - x539 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x539 += einsum("ijab,ijbc->ac", t2.bbbb, x145) - x540 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x540 += einsum("ab->ab", x539) * -1 - del x539 - x147 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x147 += einsum("ijka->ikja", v.bbbb.ooov) * -1 - x147 += einsum("ijka->kija", v.bbbb.ooov) - x148 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x148 += einsum("ia,jika->jk", t1.bb, x147) - x150 += einsum("ij->ij", x148) * -1 - del x148 - x328 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) - x328 += einsum("wia,jika->wjk", u11.bb, x147) - x333 += einsum("wij->wij", x328) * -1 - del x328 - x150 += einsum("ij->ij", f.bb.oo) - x151 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x151 += einsum("ia,ij->ja", t1.bb, x150) - x159 += einsum("ia->ia", x151) * -1 - del x151 - x546 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x546 += einsum("ij,abkj->kiab", x150, l2.abab) - l2new_baba += einsum("ijab->baji", x546) * -1 - l2new_abab += einsum("ijab->abij", x546) * -1 - del x546 - x571 += einsum("ij,wia->wja", x150, u11.bb) - l1new_bb += einsum("ai,ji->aj", l1.bb, x150) * -1 - lu12new_bb += einsum("ij,wxaj->xwai", x150, lu12.bb) * -1 - del x150 - x152 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x152 += einsum("w,wab->ab", s1, g.bb.bvv) - x156 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x156 += einsum("ab->ab", x152) - x442 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x442 += einsum("ab->ab", x152) - x540 += einsum("ab->ab", x152) - del x152 - x153 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x153 += einsum("ia,iabc->bc", t1.aa, v.aabb.ovvv) - x156 += einsum("ab->ab", x153) - x445 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x445 += einsum("ab->ab", x153) - x540 += einsum("ab->ab", x153) - del x153 - x154 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x154 += einsum("iabc->ibac", v.bbbb.ovvv) * -1 - x154 += einsum("iabc->ibca", v.bbbb.ovvv) - x155 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x155 += einsum("ia,ibac->bc", t1.bb, x154) - x156 += einsum("ab->ab", x155) * -1 - x540 += einsum("ab->ab", x155) * -1 - del x155 - x568 = np.zeros((nbos, nvir[1], nvir[1]), dtype=types[float]) - x568 += einsum("wia,ibac->wbc", u11.bb, x154) * -1 - x156 += einsum("ab->ab", f.bb.vv) - x157 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x157 += einsum("ia,ba->ib", t1.bb, x156) - x159 += einsum("ia->ia", x157) - del x157 - l1new_bb += einsum("ai,ab->bi", l1.bb, x156) - del x156 - x159 += einsum("ai->ia", f.bb.vo) - l1new_aa += einsum("ia,baji->bj", x159, l2.abab) - ls1new += einsum("ia,wai->w", x159, lu11.bb) - ls2new += einsum("ia,wxai->xw", x159, lu12.bb) - x160 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x160 += einsum("w,wia->ia", ls1, u11.aa) - x178 += einsum("ia->ia", x160) * -1 - del x160 - x161 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x161 += einsum("wx,wxia->ia", ls2, u12.aa) - x178 += einsum("ia->ia", x161) * -0.5 - del x161 - x162 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x162 += einsum("ai,jiba->jb", l1.bb, t2.abab) - x178 += einsum("ia->ia", x162) * -1 - del x162 - x167 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) - x167 += einsum("ia,waj->wji", t1.aa, lu11.aa) - x169 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) - x169 += einsum("wij->wij", x167) - x242 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) - x242 += einsum("wij->wij", x167) - x168 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) - x168 += einsum("wia,wxaj->xji", u11.aa, lu12.aa) - x169 += einsum("wij->wij", x168) - x170 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x170 += einsum("wia,wij->ja", u11.aa, x169) - x178 += einsum("ia->ia", x170) - del x170 - x247 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) - x247 += einsum("wx,wij->xij", s2, x169) - del x169 - x242 += einsum("wij->wij", x168) - x610 = np.zeros((nbos, nbos, nocc[0], nvir[0]), dtype=types[float]) - x610 += einsum("wia,xji->wxja", g.aa.bov, x242) - x612 = np.zeros((nbos, nbos, nocc[0], nvir[0]), dtype=types[float]) - x612 += einsum("wxia->wxia", x610) - del x610 - x171 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x171 += einsum("ai,ja->ij", l1.aa, t1.aa) - x176 += einsum("ij->ij", x171) - x215 += einsum("ij->ij", x171) * 2 - x383 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x383 += einsum("ij->ij", x171) - del x171 - x172 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x172 += einsum("wai,wja->ij", lu11.aa, u11.aa) - x176 += einsum("ij->ij", x172) - x215 += einsum("ij->ij", x172) * 2 - x383 += einsum("ij->ij", x172) - del x172 - x384 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x384 += einsum("ij,jakb->kiab", x383, v.aaaa.ovov) - del x383 - x390 += einsum("ijab->jiba", x384) - del x384 - x173 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x173 += einsum("wxai,wxja->ij", lu12.aa, u12.aa) - x176 += einsum("ij->ij", x173) * 0.5 - x215 += einsum("ij->ij", x173) - x411 += einsum("ij->ij", x173) * 0.5 - del x173 - x174 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x174 += einsum("abij,kjab->ik", l2.abab, t2.abab) - x176 += einsum("ij->ij", x174) - x177 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x177 += einsum("ia,ij->ja", t1.aa, x176) - x178 += einsum("ia->ia", x177) - del x177 - x549 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x549 += einsum("ij,jakb->ikab", x176, v.aabb.ovov) - l2new_baba += einsum("ijab->baji", x549) * -1 - l2new_abab += einsum("ijab->abij", x549) * -1 - del x549 - l1new_bb += einsum("ij,jika->ak", x176, v.aabb.ooov) * -1 - ls1new += einsum("ij,wji->w", x176, g.aa.boo) * -1 - del x176 - x215 += einsum("ij->ij", x174) * 2 - l1new_aa += einsum("ij,kjia->ak", x215, x106) * -0.5 - del x106 - l1new_aa += einsum("ij,ja->ai", x215, x41) * -0.5 - del x41 - del x215 - x411 += einsum("ij->ij", x174) - del x174 - x412 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x412 += einsum("ij,jakb->kiab", x411, v.aaaa.ovov) - del x411 - x414 += einsum("ijab->jiba", x412) - del x412 - x178 += einsum("ia->ia", t1.aa) * -1 - l1new_bb += einsum("ia,iajb->bj", x178, v.aabb.ovov) * -1 - ls1new += einsum("ia,wia->w", x178, g.aa.bov) * -1 - x179 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x179 += einsum("iajb->jiab", v.aaaa.ovov) * -1 - x179 += einsum("iajb->jiba", v.aaaa.ovov) - x397 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x397 += einsum("ijab,kica->kjcb", x179, x33) - del x33 - x414 += einsum("ijab->ijab", x397) - del x397 - l1new_aa += einsum("ia,ijab->bj", x178, x179) * -1 - del x178 - del x179 - x180 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x180 += einsum("ai,ib->ab", l1.aa, t1.aa) - x185 += einsum("ab->ab", x180) - x325 += einsum("ab->ab", x180) * 2 - del x180 - x181 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x181 += einsum("wai,wib->ab", lu11.aa, u11.aa) - x185 += einsum("ab->ab", x181) - x325 += einsum("ab->ab", x181) * 2 - x350 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x350 += einsum("ab,icjb->ijac", x181, v.aaaa.ovov) - x390 += einsum("ijab->ijab", x350) - del x350 - x548 += einsum("ab->ab", x181) - x567 += einsum("ab->ab", x181) * 2 - del x181 - x182 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x182 += einsum("wxai,wxib->ab", lu12.aa, u12.aa) - x185 += einsum("ab->ab", x182) * 0.5 - x325 += einsum("ab->ab", x182) - x402 += einsum("ab->ab", x182) * 0.5 - x548 += einsum("ab->ab", x182) * 0.5 - x567 += einsum("ab->ab", x182) - del x182 - x183 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x183 += einsum("abij,ijcb->ac", l2.abab, t2.abab) - x185 += einsum("ab->ab", x183) - ls1new += einsum("ab,wab->w", x185, g.aa.bvv) - x325 += einsum("ab->ab", x183) * 2 - l1new_bb += einsum("ab,icab->ci", x325, v.bbaa.ovvv) * 0.5 - del x325 - x402 += einsum("ab->ab", x183) - x403 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x403 += einsum("ab,ibjc->ijca", x402, v.aaaa.ovov) - del x402 - x414 += einsum("ijab->jiba", x403) - del x403 - x548 += einsum("ab->ab", x183) - l2new_baba += einsum("ab,ibjc->caji", x548, v.aabb.ovov) * -1 - del x548 - x567 += einsum("ab->ab", x183) * 2 - del x183 - l2new_abab += einsum("ab,ibjc->acij", x567, v.aabb.ovov) * -0.5 - del x567 - x186 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x186 += einsum("iabc->ibac", v.aaaa.ovvv) - x186 -= einsum("iabc->ibca", v.aaaa.ovvv) - x616 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x616 -= einsum("ia,jbac->jibc", t1.aa, x186) - l1new_aa += einsum("ab,iabc->ci", x185, x186) * -1 - del x185 - del x186 - x187 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x187 += einsum("w,wia->ia", ls1, u11.bb) - x207 += einsum("ia->ia", x187) * -1 - del x187 - x188 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x188 += einsum("wx,wxia->ia", ls2, u12.bb) - x207 += einsum("ia->ia", x188) * -0.5 - del x188 - x189 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x189 += einsum("ai,ijab->jb", l1.aa, t2.abab) - x207 += einsum("ia->ia", x189) * -1 - del x189 - x190 = np.zeros((nbos, nbos, nocc[1], nocc[1]), dtype=types[float]) - x190 += einsum("ia,wxaj->wxji", t1.bb, lu12.bb) - x191 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x191 += einsum("wxia,wxij->ja", u12.bb, x190) - x207 += einsum("ia->ia", x191) * 0.5 - del x191 - x299 += einsum("wxia,wxjk->jkia", u12.bb, x190) * 0.5 - x301 += einsum("wxia,wxjk->ijka", u12.aa, x190) * -0.5 - x587 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x587 += einsum("wia,xwij->xja", u11.bb, x190) - x588 = np.zeros((nbos, nbos), dtype=types[float]) - x588 += einsum("wia,xia->wx", g.bb.bov, x587) - del x587 - x605 -= einsum("wx->wx", x588) - del x588 - lu12new_aa -= einsum("iajk,wxkj->xwai", v.aabb.ovoo, x190) - lu12new_aa -= einsum("wxij,kija->xwak", x190, x39) - del x39 - lu12new_bb += einsum("wxij,ijka->xwak", x190, x565) * -1 - del x565 - lu12new_bb += einsum("ia,wxji->xwaj", x95, x190) * -1 - x193 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x193 += einsum("ia,abjk->kjib", t1.bb, l2.bbbb) - x194 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x194 += einsum("ijka,ijab->kb", x193, x52) - x207 += einsum("ia->ia", x194) * -1 - del x194 - x298 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x298 += einsum("ijka->ijka", x193) * -1 - x298 += einsum("ijka->jika", x193) - x299 += einsum("ijka,ilba->jklb", x298, x38) - x301 += einsum("ijab,kjlb->ikla", t2.abab, x298) * -1 - l1new_bb += einsum("ijab,kjia->bk", x136, x298) * -1 - del x136 - del x298 - x302 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x302 += einsum("ijka->ijka", x193) - x302 += einsum("ijka->jika", x193) * -1 - x303 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x303 += einsum("ia,jikb->jkba", t1.bb, x302) * -1 - x471 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x471 += einsum("ijka,jklb->ilab", x302, x470) - del x302 - del x470 - x491 += einsum("ijab->ijab", x471) - del x471 - x309 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x309 += einsum("ia,jkla->jkil", t1.bb, x193) - x310 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x310 += einsum("ijkl->ijkl", x309) - x323 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x323 += einsum("ijkl->ijkl", x309) - x323 += einsum("ijkl->ijlk", x309) * -1 - l1new_bb += einsum("ijka,ljki->al", v.bbbb.ooov, x323) - del x323 - x497 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x497 += einsum("ijkl->ijkl", x309) - del x309 - x428 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x428 += einsum("iabc,jkib->kjac", v.bbbb.ovvv, x193) - x467 -= einsum("ijab->ijab", x428) - del x428 - x438 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x438 += einsum("ijka->ijka", x193) - x438 -= einsum("ijka->jika", x193) - l2new_abab += einsum("ijka,lkjb->abil", x40, x438) * -1 - x490 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x490 += einsum("ia,jkib->jkba", x272, x193) - del x272 - x491 += einsum("ijab->ijab", x490) * -1 - del x490 - x530 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x530 -= einsum("ijka->ijka", x193) - x530 += einsum("ijka->jika", x193) - l2new_baba += einsum("ijka,lkjb->bali", x40, x530) - del x40 - del x530 - x196 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) - x196 += einsum("ia,waj->wji", t1.bb, lu11.bb) - x198 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) - x198 += einsum("wij->wij", x196) - x343 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) - x343 += einsum("wij->wij", x196) - x197 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) - x197 += einsum("wia,wxaj->xji", u11.bb, lu12.bb) - x198 += einsum("wij->wij", x197) - x199 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x199 += einsum("wia,wij->ja", u11.bb, x198) - x207 += einsum("ia->ia", x199) - del x199 - x345 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) - x345 += einsum("wx,wij->xij", s2, x198) - del x198 - x343 += einsum("wij->wij", x197) - x628 = np.zeros((nbos, nbos, nocc[1], nvir[1]), dtype=types[float]) - x628 += einsum("wia,xji->wxja", g.bb.bov, x343) - x630 = np.zeros((nbos, nbos, nocc[1], nvir[1]), dtype=types[float]) - x630 += einsum("wxia->wxia", x628) - del x628 - x582 = np.zeros((nbos, nbos), dtype=types[float]) - x582 += einsum("wij,xji->wx", g.bb.boo, x197) - x605 -= einsum("wx->wx", x582) - del x582 - x589 = np.zeros((nbos, nbos), dtype=types[float]) - x589 += einsum("wij,xji->wx", x138, x197) - del x138 - del x197 - x605 -= einsum("wx->wx", x589) - del x589 - x200 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x200 += einsum("ai,ja->ij", l1.bb, t1.bb) - x205 += einsum("ij->ij", x200) - x225 += einsum("ij->ij", x200) * 2 - x460 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x460 += einsum("ij->ij", x200) - ls1new -= einsum("ij,wji->w", x200, g.bb.boo) - del x200 - x201 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x201 += einsum("wai,wja->ij", lu11.bb, u11.bb) - x205 += einsum("ij->ij", x201) - x225 += einsum("ij->ij", x201) * 2 - x460 += einsum("ij->ij", x201) - x461 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x461 += einsum("ij,jakb->kiab", x460, v.bbbb.ovov) - del x460 - x467 += einsum("ijab->jiba", x461) - del x461 - x576 += einsum("ij->ij", x201) - del x201 - x202 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x202 += einsum("wxai,wxja->ij", lu12.bb, u12.bb) - x205 += einsum("ij->ij", x202) * 0.5 - x225 += einsum("ij->ij", x202) - x488 += einsum("ij->ij", x202) * 0.5 - x576 += einsum("ij->ij", x202) * 0.5 - del x202 - x203 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x203 += einsum("abij,ikab->jk", l2.abab, t2.abab) - x205 += einsum("ij->ij", x203) - x206 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x206 += einsum("ia,ij->ja", t1.bb, x205) - x207 += einsum("ia->ia", x206) - del x206 - x550 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x550 += einsum("ij,kajb->kiab", x205, v.aabb.ovov) - l2new_baba += einsum("ijab->baji", x550) * -1 - l2new_abab += einsum("ijab->abij", x550) * -1 - del x550 - l1new_bb += einsum("ij,ja->ai", x205, x95) * -1 - del x205 - del x95 - x225 += einsum("ij->ij", x203) * 2 - l1new_aa += einsum("ij,kaji->ak", x225, v.aabb.ovoo) * -0.5 - l1new_bb += einsum("ij,kjia->ak", x225, x147) * -0.5 - del x225 - del x147 - x488 += einsum("ij->ij", x203) - x489 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x489 += einsum("ij,jakb->kiab", x488, v.bbbb.ovov) - del x488 - x491 += einsum("ijab->jiba", x489) - del x489 - x576 += einsum("ij->ij", x203) - del x203 - ls1new += einsum("ij,wji->w", x576, g.bb.boo) * -1 - del x576 - x207 += einsum("ia->ia", t1.bb) * -1 - l1new_aa += einsum("ia,jbia->bj", x207, v.aabb.ovov) * -1 - l1new_bb += einsum("ia,ijba->bj", x207, x93) - ls1new += einsum("ia,wia->w", x207, g.bb.bov) * -1 - del x207 - x208 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x208 += einsum("ai,ib->ab", l1.bb, t1.bb) - x213 += einsum("ab->ab", x208) - ls1new += einsum("ab,wab->w", x208, g.bb.bvv) - del x208 - x209 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x209 += einsum("wai,wib->ab", lu11.bb, u11.bb) - x213 += einsum("ab->ab", x209) - x425 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x425 += einsum("ab,icjb->ijac", x209, v.bbbb.ovov) - x467 += einsum("ijab->ijab", x425) - del x425 - x547 += einsum("ab->ab", x209) - x566 += einsum("ab->ab", x209) * 2 - del x209 - x210 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x210 += einsum("wxai,wxib->ab", lu12.bb, u12.bb) - x213 += einsum("ab->ab", x210) * 0.5 - x478 += einsum("ab->ab", x210) * 0.5 - x547 += einsum("ab->ab", x210) * 0.5 - x566 += einsum("ab->ab", x210) - del x210 - x211 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x211 += einsum("abij,ijac->bc", l2.abab, t2.abab) - x213 += einsum("ab->ab", x211) - l1new_aa += einsum("ab,icab->ci", x213, v.aabb.ovvv) - l1new_bb += einsum("ab,iabc->ci", x213, x154) - del x213 - x478 += einsum("ab->ab", x211) - x479 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x479 += einsum("ab,ibjc->ijca", x478, v.bbbb.ovov) - del x478 - x491 += einsum("ijab->jiba", x479) - del x479 - x547 += einsum("ab->ab", x211) - l2new_baba += einsum("ab,icjb->acji", x547, v.aabb.ovov) * -1 - ls1new += einsum("ab,wab->w", x547, g.bb.bvv) - del x547 - x566 += einsum("ab->ab", x211) * 2 - del x211 - l2new_abab += einsum("ab,icjb->caij", x566, v.aabb.ovov) * -0.5 - del x566 - x216 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) - x216 += einsum("wia,wxja->xij", g.aa.bov, u12.aa) - x223 += einsum("wij->wij", x216) - del x216 - x217 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) - x217 += einsum("wia,jkia->wjk", u11.bb, v.aabb.ooov) - x223 += einsum("wij->wij", x217) - del x217 - x220 += einsum("wia->wia", gc.aa.bov) - x221 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) - x221 += einsum("ia,wja->wij", t1.aa, x220) - del x220 - x223 += einsum("wij->wji", x221) - del x221 - x223 += einsum("wij->wij", gc.aa.boo) - x575 += einsum("ia,wij->wja", t1.aa, x223) - l1new_aa += einsum("wai,wji->aj", lu11.aa, x223) * -1 - del x223 - x226 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x226 += einsum("wia,iajb->wjb", u11.aa, v.aabb.ovov) - x228 += einsum("wia->wia", x226) - x316 += einsum("wia->wia", x226) - x330 += einsum("wia->wia", x226) - x458 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x458 += einsum("wia->wia", x226) - x555 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x555 += einsum("wia->wia", x226) - del x226 - x228 += einsum("wia->wia", gc.bb.bov) - x233 += einsum("wia,xia->xw", u11.bb, x228) - x334 += einsum("wia,xia->xw", u11.bb, x228) * 2 - del x228 - x229 += einsum("wia->wia", gc.aa.bov) * 2 - x233 += einsum("wia,xia->xw", u11.aa, x229) * 0.5 - x334 += einsum("wia,xia->xw", u11.aa, x229) - del x229 - x230 = np.zeros((nbos, nbos), dtype=types[float]) - x230 += einsum("wia,xia->wx", g.aa.bov, u11.aa) - x232 = np.zeros((nbos, nbos), dtype=types[float]) - x232 += einsum("wx->wx", x230) - x603 = np.zeros((nbos, nbos), dtype=types[float]) - x603 += einsum("wx->wx", x230) - del x230 - x231 = np.zeros((nbos, nbos), dtype=types[float]) - x231 += einsum("wia,xia->wx", g.bb.bov, u11.bb) - x232 += einsum("wx->wx", x231) - x603 += einsum("wx->wx", x231) - del x231 - x604 = np.zeros((nbos, nbos), dtype=types[float]) - x604 += einsum("wx,yw->xy", ls2, x603) - x605 += einsum("wx->xw", x604) - del x604 - x611 = np.zeros((nbos, nbos, nocc[0], nvir[0]), dtype=types[float]) - x611 += einsum("wx,xyai->ywia", x603, lu12.aa) - x612 -= einsum("wxia->xwia", x611) - del x611 - x629 = np.zeros((nbos, nbos, nocc[1], nvir[1]), dtype=types[float]) - x629 += einsum("wx,xyai->ywia", x603, lu12.bb) - del x603 - x630 -= einsum("wxia->xwia", x629) - del x629 - x232 += einsum("wx->wx", w) - x233 += einsum("wx,wy->xy", s2, x232) - l1new_aa += einsum("wx,xwai->ai", x233, lu12.aa) - del x233 - x334 += einsum("wx,wy->xy", s2, x232) * 2 - l1new_bb += einsum("wx,xwai->ai", x334, lu12.bb) * 0.5 - del x334 - x571 += einsum("wx,wia->xia", x232, u11.bb) * -1 - x575 += einsum("wx,wia->xia", x232, u11.aa) * -1 - del x232 - x234 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x234 += einsum("wx,wai->xia", s2, lu11.aa) - x238 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x238 += einsum("wia->wia", x234) - del x234 - x235 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x235 += einsum("wia,baji->wjb", u11.bb, l2.abab) - x238 += einsum("wia->wia", x235) - x246 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x246 += einsum("wia->wia", x235) - x248 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x248 += einsum("wia->wia", x235) - del x235 - x236 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x236 += einsum("abij->jiab", l2.aaaa) - x236 -= einsum("abij->jiba", l2.aaaa) - x237 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x237 += einsum("wia,ijab->wjb", u11.aa, x236) - x238 -= einsum("wia->wia", x237) - x380 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x380 += einsum("wia,wjb->ijab", g.aa.bov, x238) - x390 += einsum("ijab->ijab", x380) - del x380 - l1new_aa += einsum("wab,wia->bi", g.aa.bvv, x238) - del x238 - x248 -= einsum("wia->wia", x237) - del x237 - x558 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x558 += einsum("wia,wjb->jiba", g.bb.bov, x248) - l2new_baba += einsum("ijab->baji", x558) - l2new_abab += einsum("ijab->abij", x558) - del x558 - l1new_aa += einsum("wia,wji->aj", x248, x99) * -1 - del x248 - del x99 - lu11new_aa -= einsum("wai,ijab->wbj", g.aa.bvo, x236) - del x236 - x239 = np.zeros((nbos, nvir[0], nvir[0]), dtype=types[float]) - x239 += einsum("wia,iabc->wbc", u11.bb, v.bbaa.ovvv) - x241 = np.zeros((nbos, nvir[0], nvir[0]), dtype=types[float]) - x241 += einsum("wab->wab", x239) - x572 += einsum("wab->wab", x239) - del x239 - x240 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x240 -= einsum("iabc->ibac", v.aaaa.ovvv) - x240 += einsum("iabc->ibca", v.aaaa.ovvv) - x241 -= einsum("wia,ibac->wbc", u11.aa, x240) - x356 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x356 += einsum("ia,jbca->ijbc", t1.aa, x240) - x357 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x357 -= einsum("ijab->ijab", x356) - del x356 - x369 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x369 += einsum("ia,ibac->bc", t1.aa, x240) - del x240 - x370 -= einsum("ab->ab", x369) - del x369 - x371 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x371 += einsum("ab,acij->ijcb", x370, l2.aaaa) - del x370 - x390 += einsum("ijab->jiab", x371) - del x371 - x241 += einsum("wab->wab", gc.aa.bvv) - l1new_aa += einsum("wai,wab->bi", lu11.aa, x241) - del x241 - x244 += einsum("wia->wia", gc.aa.bov) - l1new_aa -= einsum("wij,wja->ai", x242, x244) - del x242 - del x244 - x245 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x245 += einsum("abij->jiab", l2.aaaa) - x245 += einsum("abij->jiba", l2.aaaa) * -1 - x246 += einsum("wia,ijab->wjb", u11.aa, x245) * -1 - x247 += einsum("ia,wja->wji", t1.aa, x246) - del x246 - x247 += einsum("ai,wja->wij", l1.aa, u11.aa) - x247 += einsum("wai,wxja->xij", lu11.aa, u12.aa) - l1new_aa += einsum("wia,wji->aj", g.aa.bov, x247) * -1 - del x247 - x249 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x249 += einsum("iabj->ijba", v.aaaa.ovvo) - x249 -= einsum("ijab->ijab", v.aaaa.oovv) - l1new_aa += einsum("ai,jiab->bj", l1.aa, x249) - lu11new_aa += einsum("wai,jiab->wbj", lu11.aa, x249) - del x249 - x250 = np.zeros((nbos), dtype=types[float]) - x250 += einsum("w,wx->x", s1, w) - x258 += einsum("w->w", x250) - x578 = np.zeros((nbos), dtype=types[float]) - x578 += einsum("w->w", x250) - del x250 - x251 = np.zeros((nbos), dtype=types[float]) - x251 += einsum("ia,wia->w", t1.aa, gc.aa.bov) - x258 += einsum("w->w", x251) - x578 += einsum("w->w", x251) - del x251 - x252 = np.zeros((nbos), dtype=types[float]) - x252 += einsum("ia,wia->w", t1.bb, gc.bb.bov) - x258 += einsum("w->w", x252) - x578 += einsum("w->w", x252) - del x252 - x253 = np.zeros((nbos), dtype=types[float]) - x253 += einsum("wia,wxia->x", g.aa.bov, u12.aa) - x258 += einsum("w->w", x253) - x578 += einsum("w->w", x253) - del x253 - x254 = np.zeros((nbos), dtype=types[float]) - x254 += einsum("wia,wxia->x", g.bb.bov, u12.bb) - x258 += einsum("w->w", x254) - x578 += einsum("w->w", x254) - del x254 - x258 += einsum("w->w", G) - l1new_aa += einsum("w,wai->ai", x258, lu11.aa) - l1new_bb += einsum("w,wai->ai", x258, lu11.bb) - del x258 - x259 = np.zeros((nbos), dtype=types[float]) - x259 += einsum("w,xw->x", ls1, s2) - x264 = np.zeros((nbos), dtype=types[float]) - x264 += einsum("w->w", x259) - del x259 - x260 = np.zeros((nbos), dtype=types[float]) - x260 += einsum("ai,wia->w", l1.aa, u11.aa) - x264 += einsum("w->w", x260) - del x260 - x261 = np.zeros((nbos), dtype=types[float]) - x261 += einsum("ai,wia->w", l1.bb, u11.bb) - x264 += einsum("w->w", x261) - del x261 - x262 = np.zeros((nbos), dtype=types[float]) - x262 += einsum("wai,wxia->x", lu11.aa, u12.aa) - x264 += einsum("w->w", x262) - del x262 - x263 = np.zeros((nbos), dtype=types[float]) - x263 += einsum("wai,wxia->x", lu11.bb, u12.bb) - x264 += einsum("w->w", x263) - del x263 - x264 += einsum("w->w", s1) - l1new_aa += einsum("w,wia->ai", x264, g.aa.bov) - l1new_bb += einsum("w,wia->ai", x264, g.bb.bov) - del x264 - x265 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x265 += einsum("abij,ikcb->jkac", l2.abab, t2.abab) - l1new_bb += einsum("iabc,jibc->aj", v.bbaa.ovvv, x265) * -1 - del x265 - x266 += einsum("ia->ia", f.bb.ov) - x267 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x267 += einsum("ia,jkab->jkib", x266, t2.bbbb) - del x266 - x268 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x268 += einsum("ijka->kjia", x267) - del x267 - x268 += einsum("ijak->ijka", v.bbbb.oovo) * -1 - x285 += einsum("ijka->kija", x268) - x285 += einsum("ijka->jika", x268) * -1 - del x268 - x269 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x269 += einsum("ijab,kbca->jikc", t2.bbbb, v.bbbb.ovvv) - x278 += einsum("ijka->ijka", x269) * -1 - del x269 - x270 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x270 += einsum("ia,jbca->ijcb", t1.bb, v.bbbb.ovvv) - x271 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x271 += einsum("ia,jkba->ijkb", t1.bb, x270) - del x270 - x278 += einsum("ijka->ijka", x271) * -1 - del x271 - x274 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x274 += einsum("ijab,kalb->ijkl", t2.bbbb, v.bbbb.ovov) - x276 += einsum("ijkl->jilk", x274) - x277 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x277 += einsum("ia,jkil->jkla", t1.bb, x276) - del x276 - x278 += einsum("ijka->jika", x277) - del x277 - x285 += einsum("ijka->jkia", x278) - x285 += einsum("ijka->ikja", x278) * -1 - del x278 - x495 += einsum("ijkl->jilk", x274) - del x274 - x496 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x496 += einsum("abij,ijkl->klab", l2.bbbb, x495) - del x495 - x499 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x499 += einsum("ijab->jiba", x496) - del x496 - x279 += einsum("ijka->jkia", v.bbbb.ooov) * -1 - x279 += einsum("ijka->jika", v.bbbb.ooov) - x280 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x280 += einsum("ijka,jlba->likb", x279, x38) - del x279 - x285 += einsum("ijka->jkia", x280) - x295 += einsum("ijka->jkia", x280) - del x280 - x283 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x283 += einsum("ia,jkla->ijlk", t1.bb, v.bbbb.ooov) - x284 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x284 += einsum("ijkl->jkli", x283) - x284 += einsum("ijkl->kjli", x283) * -1 - x294 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x294 += einsum("ijkl->ikjl", x283) * -1 - x294 += einsum("ijkl->ijkl", x283) - x295 += einsum("ia,jikl->jkla", t1.bb, x294) * -1 - del x294 - l1new_bb += einsum("abij,ikjb->ak", l2.bbbb, x295) * -1 - del x295 - x427 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x427 += einsum("abij,jkli->klba", l2.bbbb, x283) - del x283 - x467 -= einsum("ijab->ijab", x427) - del x427 - x284 += einsum("ijkl->kijl", v.bbbb.oooo) * -1 - x284 += einsum("ijkl->kilj", v.bbbb.oooo) - x285 += einsum("ia,ijkl->ljka", t1.bb, x284) * -1 - del x284 - l1new_bb += einsum("abij,ikja->bk", l2.bbbb, x285) - del x285 - x286 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x286 += einsum("abij,ikac->jkbc", l2.abab, t2.abab) - x289 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x289 += einsum("ijab->ijab", x286) - x468 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x468 += einsum("ijab->ijab", x286) - del x286 - x287 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x287 += einsum("abij->jiab", l2.bbbb) * -1 - x287 += einsum("abij->jiba", l2.bbbb) - x288 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x288 += einsum("ijab,ikac->kjcb", x287, x38) - del x38 - x289 += einsum("ijab->jiba", x288) - x468 += einsum("ijab->jiba", x288) - del x288 - x469 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x469 += einsum("ijab,kica->jkbc", x145, x468) - del x145 - del x468 - x491 += einsum("ijab->jiba", x469) * -1 - del x469 - x344 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x344 += einsum("wia,ijba->wjb", u11.bb, x287) * -1 - x472 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x472 += einsum("ijab,jkcb->ikac", t2.abab, x287) - x473 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x473 += einsum("iajb,ikac->jkbc", v.aabb.ovov, x472) * -1 - del x472 - x491 += einsum("ijab->jiba", x473) - del x473 - l1new_bb += einsum("ia,ijba->bj", x159, x287) * -1 - del x159 - x289 += einsum("wxai,wxjb->ijab", lu12.bb, u12.bb) * 0.5 - l1new_bb += einsum("iabc,jiab->cj", x154, x289) * -1 - del x289 - del x154 - x290 += einsum("ijka->ikja", v.bbbb.ooov) * -1 - x290 += einsum("ijka->kija", v.bbbb.ooov) - x293 += einsum("ijab,kjlb->ikla", t2.abab, x290) * -1 - x317 += einsum("wxia,jika->xwjk", u12.bb, x290) * -0.5 - del x290 - x291 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x291 += einsum("ia,jabc->ijbc", t1.bb, v.bbaa.ovvv) - x292 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x292 += einsum("ijab->jiab", x291) - x525 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x525 += einsum("ijab->jiab", x291) - del x291 - x292 += einsum("ijab->ijab", v.bbaa.oovv) - x293 += einsum("ia,jkba->ijkb", t1.aa, x292) - del x292 - x293 += einsum("ijak->kija", v.bbaa.oovo) - x293 += einsum("ia,jabk->kjib", t1.bb, v.bbaa.ovvo) - x293 += einsum("ijab,kbca->ikjc", t2.abab, v.bbaa.ovvv) - l1new_bb += einsum("abij,ikja->bk", l2.abab, x293) * -1 - del x293 - x296 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x296 += einsum("abij->jiab", l2.bbbb) - x296 += einsum("abij->jiba", l2.bbbb) * -1 - x297 += einsum("ijab,jkcb->ikac", t2.abab, x296) * -2 - x297 += einsum("wxai,wxjb->jiba", lu12.bb, u12.aa) * -1 - l1new_bb += einsum("iabc,ijab->cj", v.aabb.ovvv, x297) * -0.5 - del x297 - x300 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x300 += einsum("iajb->jiab", v.bbbb.ovov) - x300 -= einsum("iajb->jiba", v.bbbb.ovov) - l1new_bb += einsum("ijka,jkab->bi", x299, x300) * -1 - del x299 - del x300 - x301 += einsum("ai,jkba->jikb", l1.bb, t2.abab) * -1 - l1new_bb += einsum("iajb,ikja->bk", v.aabb.ovov, x301) - del x301 - x304 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x304 += einsum("iabc->ibac", v.bbbb.ovvv) - x304 += einsum("iabc->ibca", v.bbbb.ovvv) * -1 - x517 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x517 += einsum("ia,jbac->ijbc", t1.bb, x304) - x518 += einsum("ijab->jiab", x517) * -1 - del x517 - l1new_bb += einsum("ijab,jabc->ci", x303, x304) - del x304 - del x303 - x305 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x305 += einsum("ia,bacd->icbd", t1.bb, v.bbbb.vvvv) - x306 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x306 += einsum("iabc->iabc", x305) * -1 - del x305 - x306 += einsum("aibc->iabc", v.bbbb.vovv) - x307 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x307 += einsum("iabc->iabc", x306) * -1 - x307 += einsum("iabc->ibac", x306) - del x306 - l1new_bb += einsum("abij,iabc->cj", l2.bbbb, x307) * -1 - del x307 - x308 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x308 += einsum("abij,klba->ijlk", l2.bbbb, t2.bbbb) - x310 += einsum("ijkl->jilk", x308) - x311 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x311 += einsum("ia,ijkl->jkla", t1.bb, x310) - del x310 - x312 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x312 += einsum("ijka->ijka", x311) - x312 += einsum("ijka->ikja", x311) * -1 - del x311 - l1new_bb += einsum("iajb,kijb->ak", v.bbbb.ovov, x312) * -1 - del x312 - x322 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x322 += einsum("ijkl->jikl", x308) * -1 - x322 += einsum("ijkl->jilk", x308) - l1new_bb += einsum("ijka,jlik->al", v.bbbb.ooov, x322) - del x322 - x497 += einsum("ijkl->jilk", x308) - del x308 - x498 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x498 += einsum("iajb,klji->klab", v.bbbb.ovov, x497) - del x497 - x499 += einsum("ijab->jiab", x498) - del x498 - l2new_bbbb = np.zeros((nvir[1], nvir[1], nocc[1], nocc[1]), dtype=types[float]) - l2new_bbbb += einsum("ijab->abij", x499) - l2new_bbbb += einsum("ijab->baij", x499) * -1 - del x499 - x313 = np.zeros((nocc[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) - x313 += einsum("aibc->iabc", v.aabb.vovv) - x313 += einsum("ia,bacd->ibcd", t1.aa, v.aabb.vvvv) - l1new_bb += einsum("abij,iabc->cj", l2.abab, x313) - del x313 - x314 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x314 += einsum("wx,xia->wia", s2, g.bb.bov) - x316 += einsum("wia->wia", x314) - x555 += einsum("wia->wia", x314) - del x314 - x316 += einsum("wia->wia", gc.bb.bov) - x317 += einsum("wia,xja->wxji", u11.bb, x316) - l1new_bb += einsum("wxai,wxji->aj", lu12.bb, x317) * -1 - del x317 - x571 += einsum("wia,ijba->wjb", x316, x52) * -1 - del x52 - x575 += einsum("wia,jiba->wjb", x316, t2.abab) * -1 - del x316 - x318 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x318 += einsum("ai,jkba->ijkb", l1.bb, t2.bbbb) - x319 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x319 += einsum("ijka->ikja", x318) - x319 += einsum("ijka->ijka", x318) * -1 - del x318 - l1new_bb += einsum("iajb,kija->bk", v.bbbb.ovov, x319) - del x319 - x320 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x320 += einsum("ia,jbca->ijcb", t1.aa, v.bbaa.ovvv) - x321 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x321 += einsum("ijab->ijab", x320) - x436 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x436 += einsum("ijab->ijab", x320) - x507 += einsum("ijab->ijab", x320) - x632 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x632 += einsum("ijab->ijab", x320) - del x320 - x321 += einsum("iabj->jiba", v.bbaa.ovvo) - l1new_bb += einsum("ijka,ikab->bj", x1, x321) * -1 - del x321 - x326 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) - x326 += einsum("wia,wxja->xij", g.bb.bov, u12.bb) - x333 += einsum("wij->wij", x326) - del x326 - x327 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) - x327 += einsum("wia,iajk->wjk", u11.aa, v.aabb.ovoo) - x333 += einsum("wij->wij", x327) - del x327 - x330 += einsum("wia->wia", gc.bb.bov) - x331 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) - x331 += einsum("ia,wja->wij", t1.bb, x330) - x333 += einsum("wij->wji", x331) - del x331 - l1new_bb += einsum("wia,wji->aj", x330, x343) * -1 - del x330 - del x343 - x333 += einsum("wij->wij", gc.bb.boo) - x571 += einsum("ia,wij->wja", t1.bb, x333) - l1new_bb += einsum("wai,wji->aj", lu11.bb, x333) * -1 - del x333 - x335 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x335 += einsum("wx,wai->xia", s2, lu11.bb) - x339 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x339 += einsum("wia->wia", x335) - del x335 - x336 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x336 += einsum("wia,abij->wjb", u11.aa, l2.abab) - x339 += einsum("wia->wia", x336) - x344 += einsum("wia->wia", x336) - x345 += einsum("ia,wja->wji", t1.bb, x344) - del x344 - x346 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x346 += einsum("wia->wia", x336) - del x336 - x337 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x337 -= einsum("abij->jiab", l2.bbbb) - x337 += einsum("abij->jiba", l2.bbbb) - x338 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x338 += einsum("wia,ijba->wjb", u11.bb, x337) - x339 -= einsum("wia->wia", x338) - x455 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x455 += einsum("wia,wjb->ijab", g.bb.bov, x339) - x467 += einsum("ijab->ijab", x455) - del x455 - l1new_bb += einsum("wab,wia->bi", g.bb.bvv, x339) - del x339 - x346 -= einsum("wia->wia", x338) - del x338 - x557 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x557 += einsum("wia,wjb->ijab", g.aa.bov, x346) - l2new_baba += einsum("ijab->baji", x557) - l2new_abab += einsum("ijab->abij", x557) - del x557 - l1new_bb += einsum("wij,wja->ai", x139, x346) * -1 - del x346 - del x139 - lu11new_bb -= einsum("wai,ijba->wbj", g.bb.bvo, x337) - x340 = np.zeros((nbos, nvir[1], nvir[1]), dtype=types[float]) - x340 += einsum("wia,iabc->wbc", u11.aa, v.aabb.ovvv) - x342 = np.zeros((nbos, nvir[1], nvir[1]), dtype=types[float]) - x342 += einsum("wab->wab", x340) - x568 += einsum("wab->wab", x340) - del x340 - x341 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x341 -= einsum("iabc->ibac", v.bbbb.ovvv) - x341 += einsum("iabc->ibca", v.bbbb.ovvv) - x342 -= einsum("wia,ibac->wbc", u11.bb, x341) - x444 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x444 += einsum("ia,ibac->bc", t1.bb, x341) - del x341 - x445 -= einsum("ab->ab", x444) - del x444 - x446 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x446 += einsum("ab,acij->ijcb", x445, l2.bbbb) - del x445 - x467 += einsum("ijab->jiab", x446) - del x446 - x342 += einsum("wab->wab", gc.bb.bvv) - l1new_bb += einsum("wai,wab->bi", lu11.bb, x342) - del x342 - x345 += einsum("ai,wja->wij", l1.bb, u11.bb) - x345 += einsum("wai,wxja->xij", lu11.bb, u12.bb) - l1new_bb += einsum("wia,wji->aj", g.bb.bov, x345) * -1 - del x345 - x347 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x347 += einsum("iabj->ijba", v.bbbb.ovvo) - x347 -= einsum("ijab->ijab", v.bbbb.oovv) - l1new_bb += einsum("ai,jiab->bj", l1.bb, x347) - lu11new_bb += einsum("wai,jiab->wbj", lu11.bb, x347) - del x347 - x348 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x348 += einsum("wia,wbj->ijab", gc.aa.bov, lu11.aa) - x390 += einsum("ijab->ijab", x348) - del x348 - x349 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x349 += einsum("ai,jbac->ijbc", l1.aa, v.aaaa.ovvv) - x390 -= einsum("ijab->ijab", x349) - del x349 - x355 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x355 -= einsum("abij->jiab", l2.aaaa) - x355 += einsum("abij->jiba", l2.aaaa) - x357 += einsum("iabj->jiba", v.aaaa.ovvo) - x357 -= einsum("ijab->jiab", v.aaaa.oovv) - x358 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x358 += einsum("ijab,ikac->jkbc", x355, x357) - del x355 - del x357 - x390 += einsum("ijab->ijab", x358) - del x358 - x359 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x359 -= einsum("ijab->jiab", t2.bbbb) - x359 += einsum("ijab->jiba", t2.bbbb) - x360 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x360 += einsum("iajb,jkcb->ikac", v.aabb.ovov, x359) - x361 -= einsum("ijab->ijab", x360) - del x360 - x595 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x595 += einsum("wia,ijba->wjb", g.bb.bov, x359) - del x359 - x596 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x596 -= einsum("wia->wia", x595) - del x595 - x361 += einsum("iabj->ijab", v.aabb.ovvo) - x362 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x362 += einsum("abij,kjcb->ikac", l2.abab, x361) - del x361 - x390 += einsum("ijab->ijab", x362) - del x362 - x364 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x364 += einsum("ijka->ikja", v.aaaa.ooov) - x364 -= einsum("ijka->kija", v.aaaa.ooov) - x365 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x365 += einsum("ijka,lkib->jlab", x363, x364) - del x363 - x390 += einsum("ijab->ijab", x365) - del x365 - l2new_abab += einsum("ijka,kjlb->abil", x364, x55) - del x364 - x366 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x366 += einsum("wia,wib->ab", g.aa.bov, u11.aa) - x367 -= einsum("ab->ba", x366) - x543 += einsum("ab->ba", x366) * -1 - del x366 - x367 += einsum("ab->ab", f.aa.vv) - x368 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x368 += einsum("ab,acij->ijcb", x367, l2.aaaa) - del x367 - x390 -= einsum("ijab->jiba", x368) - del x368 - x372 += einsum("ia->ia", f.aa.ov) - x373 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x373 += einsum("ia,ja->ij", t1.aa, x372) - x374 += einsum("ij->ji", x373) - del x373 - x385 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x385 += einsum("ia,jkib->jkba", x372, x56) - del x56 - x390 += einsum("ijab->ijba", x385) - del x385 - x390 += einsum("ai,jb->jiba", l1.aa, x372) - del x372 - x374 += einsum("ij->ij", f.aa.oo) - x375 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x375 += einsum("ij,abjk->kiab", x374, l2.aaaa) - del x374 - x390 += einsum("ijab->jiba", x375) - del x375 - x376 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x376 -= einsum("ijka->ikja", v.aaaa.ooov) - x376 += einsum("ijka->kija", v.aaaa.ooov) - x377 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x377 += einsum("ia,jika->jk", t1.aa, x376) - x378 -= einsum("ij->ij", x377) - del x377 - x379 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x379 += einsum("ij,abjk->kiab", x378, l2.aaaa) - del x378 - x390 -= einsum("ijab->ijba", x379) - del x379 - l2new_baba -= einsum("ijka,kjlb->bali", x376, x55) - del x55 - lu12new_aa -= einsum("ijka,wxkj->xwai", x376, x54) - del x376 - del x54 - x386 -= einsum("ijka->jika", v.aaaa.ooov) - x387 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x387 += einsum("ai,ijkb->jkab", l1.aa, x386) - del x386 - x390 += einsum("ijab->ijab", x387) - del x387 - l2new_aaaa += einsum("ijab->abij", x390) - l2new_aaaa -= einsum("ijab->baij", x390) - l2new_aaaa -= einsum("ijab->abji", x390) - l2new_aaaa += einsum("ijab->baji", x390) - del x390 - x391 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x391 += einsum("ijab,kcjb->ikac", t2.abab, v.aabb.ovov) - x393 += einsum("ijab->ijab", x391) - x394 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x394 += einsum("ijab,ikac->jkbc", x34, x393) - del x393 - del x34 - x414 += einsum("ijab->ijab", x394) - del x394 - x513 += einsum("ijab->jiab", x391) - del x391 - x398 = np.zeros((nbos, nbos, nocc[0], nvir[0]), dtype=types[float]) - x398 += einsum("wxia,jbia->wxjb", u12.bb, v.aabb.ovov) - x400 += einsum("wxia->xwia", x398) - del x398 - x401 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x401 += einsum("wxai,wxjb->ijab", lu12.aa, x400) * 0.5 - x414 += einsum("ijab->ijab", x401) - del x401 - x538 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x538 += einsum("wxai,wxjb->jiba", lu12.bb, x400) * 0.5 - del x400 - l2new_baba += einsum("ijab->baji", x538) - l2new_abab += einsum("ijab->abij", x538) - del x538 - x407 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x407 += einsum("ijab,icjb->ac", t2.abab, v.aabb.ovov) - x409 += einsum("ab->ab", x407) - x410 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x410 += einsum("ab,acij->ijcb", x409, l2.aaaa) - del x409 - x414 += einsum("ijab->jiab", x410) * -1 - del x410 - l2new_aaaa += einsum("ijab->abij", x414) - l2new_aaaa += einsum("ijab->baij", x414) * -1 - l2new_aaaa += einsum("ijab->abji", x414) * -1 - l2new_aaaa += einsum("ijab->baji", x414) - del x414 - x543 += einsum("ab->ab", x407) * -1 - del x407 - x415 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x415 += einsum("abij,kilj->klab", l2.aaaa, v.aaaa.oooo) - x417 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x417 += einsum("ijab->jiba", x415) - del x415 - x416 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x416 += einsum("abij,bcad->ijdc", l2.aaaa, v.aaaa.vvvv) - x417 += einsum("ijab->jiba", x416) - del x416 - l2new_aaaa += einsum("ijab->baij", x417) * -1 - l2new_aaaa += einsum("ijab->abij", x417) - del x417 - x423 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x423 += einsum("wia,wbj->ijab", gc.bb.bov, lu11.bb) - x467 += einsum("ijab->ijab", x423) - del x423 - x424 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x424 += einsum("ai,jbac->ijbc", l1.bb, v.bbbb.ovvv) - x467 -= einsum("ijab->ijab", x424) - del x424 - x430 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x430 += einsum("iabc->ibac", v.bbbb.ovvv) - x430 -= einsum("iabc->ibca", v.bbbb.ovvv) - x431 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x431 += einsum("ia,jbac->ijbc", t1.bb, x430) - del x430 - x432 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x432 -= einsum("ijab->ijab", x431) - x631 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x631 -= einsum("ijab->jiab", x431) - del x431 - x432 += einsum("iabj->jiba", v.bbbb.ovvo) - x432 -= einsum("ijab->jiab", v.bbbb.oovv) - x433 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x433 += einsum("ijab,ikac->jkbc", x337, x432) - del x432 - del x337 - x467 += einsum("ijab->ijab", x433) - del x433 - x434 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x434 += einsum("ijab->jiab", t2.aaaa) - x434 -= einsum("ijab->jiba", t2.aaaa) - x435 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x435 += einsum("iajb,ikac->kjcb", v.aabb.ovov, x434) - x436 -= einsum("ijab->ijab", x435) - del x435 - x591 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x591 += einsum("wia,ijab->wjb", g.aa.bov, x434) - del x434 - x592 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x592 -= einsum("wia->wia", x591) - del x591 - x436 += einsum("iabj->jiba", v.bbaa.ovvo) - x437 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x437 += einsum("abij,ikac->jkbc", l2.abab, x436) - del x436 - x467 += einsum("ijab->ijab", x437) - del x437 - x439 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x439 += einsum("ijka->ikja", v.bbbb.ooov) - x439 -= einsum("ijka->kija", v.bbbb.ooov) - x440 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x440 += einsum("ijka,lkjb->ilab", x438, x439) - del x438 - del x439 - x467 += einsum("ijab->ijab", x440) - del x440 - x441 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x441 += einsum("wia,wib->ab", g.bb.bov, u11.bb) - x442 -= einsum("ab->ba", x441) - x540 += einsum("ab->ba", x441) * -1 - del x441 - x442 += einsum("ab->ab", f.bb.vv) - x443 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x443 += einsum("ab,acij->ijcb", x442, l2.bbbb) - del x442 - x467 -= einsum("ijab->jiba", x443) - del x443 - x447 += einsum("ia->ia", f.bb.ov) - x448 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x448 += einsum("ia,ja->ij", t1.bb, x447) - x449 += einsum("ij->ji", x448) - del x448 - x462 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x462 += einsum("ia,jkib->jkba", x447, x193) - del x193 - x467 += einsum("ijab->ijba", x462) - del x462 - x467 += einsum("ai,jb->jiba", l1.bb, x447) - del x447 - x449 += einsum("ij->ij", f.bb.oo) - x450 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x450 += einsum("ij,abjk->kiab", x449, l2.bbbb) - del x449 - x467 += einsum("ijab->jiba", x450) - del x450 - x451 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x451 -= einsum("ijka->ikja", v.bbbb.ooov) - x451 += einsum("ijka->kija", v.bbbb.ooov) - x452 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x452 += einsum("ia,jika->jk", t1.bb, x451) - x453 -= einsum("ij->ij", x452) - del x452 - x454 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x454 += einsum("ij,abjk->kiab", x453, l2.bbbb) - del x453 - x467 -= einsum("ijab->ijba", x454) - del x454 - x536 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x536 += einsum("ijka,lkjb->ilab", x1, x451) - del x1 - l2new_baba -= einsum("ijab->baji", x536) - l2new_abab -= einsum("ijab->abij", x536) - del x536 - lu12new_bb -= einsum("wxij,kjia->xwak", x190, x451) - del x451 - del x190 - x456 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x456 -= einsum("iajb->jiab", v.bbbb.ovov) - x456 += einsum("iajb->jiba", v.bbbb.ovov) - x457 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x457 += einsum("wia,ijba->wjb", u11.bb, x456) - x458 -= einsum("wia->wia", x457) - x459 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x459 += einsum("wai,wjb->ijab", lu11.bb, x458) - del x458 - x467 += einsum("ijab->ijab", x459) - del x459 - x555 -= einsum("wia->wia", x457) - del x457 - x465 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x465 += einsum("ia,ijba->jb", t1.bb, x456) - del x456 - x466 -= einsum("ia->ia", x465) - x467 += einsum("ai,jb->ijab", l1.bb, x466) - del x466 - x563 -= einsum("ia->ia", x465) - del x465 - x463 -= einsum("ijka->jika", v.bbbb.ooov) - x464 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x464 += einsum("ai,ijkb->jkab", l1.bb, x463) - del x463 - x467 += einsum("ijab->ijab", x464) - del x464 - l2new_bbbb += einsum("ijab->abij", x467) - l2new_bbbb -= einsum("ijab->baij", x467) - l2new_bbbb -= einsum("ijab->abji", x467) - l2new_bbbb += einsum("ijab->baji", x467) - del x467 - x474 = np.zeros((nbos, nbos, nocc[1], nvir[1]), dtype=types[float]) - x474 += einsum("wxia,iajb->wxjb", u12.aa, v.aabb.ovov) - x476 += einsum("wxia->xwia", x474) - del x474 - x477 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x477 += einsum("wxai,wxjb->ijab", lu12.bb, x476) * 0.5 - x491 += einsum("ijab->ijab", x477) - del x477 - x537 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x537 += einsum("wxai,wxjb->ijab", lu12.aa, x476) * 0.5 - del x476 - l2new_baba += einsum("ijab->baji", x537) - l2new_abab += einsum("ijab->abij", x537) - del x537 - x484 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x484 += einsum("ijab,iajc->bc", t2.abab, v.aabb.ovov) - x486 += einsum("ab->ab", x484) - x487 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x487 += einsum("ab,acij->ijcb", x486, l2.bbbb) - del x486 - x491 += einsum("ijab->jiab", x487) * -1 - del x487 - l2new_bbbb += einsum("ijab->abij", x491) - l2new_bbbb += einsum("ijab->baij", x491) * -1 - l2new_bbbb += einsum("ijab->abji", x491) * -1 - l2new_bbbb += einsum("ijab->baji", x491) - del x491 - x540 += einsum("ab->ab", x484) * -1 - del x484 - x492 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x492 += einsum("abij,kilj->klab", l2.bbbb, v.bbbb.oooo) - x494 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x494 += einsum("ijab->jiba", x492) - del x492 - x493 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x493 += einsum("abij,bcad->ijdc", l2.bbbb, v.bbbb.vvvv) - x494 += einsum("ijab->jiba", x493) - del x493 - l2new_bbbb += einsum("ijab->baij", x494) * -1 - l2new_bbbb += einsum("ijab->abij", x494) - del x494 - x501 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x501 += einsum("abij,acbd->ijcd", l2.abab, v.aabb.vvvv) - l2new_baba += einsum("ijab->baji", x501) - l2new_abab += einsum("ijab->abij", x501) - del x501 - x502 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x502 += einsum("ai,jbac->ijcb", l1.aa, v.bbaa.ovvv) - l2new_baba += einsum("ijab->baji", x502) - l2new_abab += einsum("ijab->abij", x502) - del x502 - x504 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x504 += einsum("ai,jbac->jibc", l1.bb, v.aabb.ovvv) - l2new_baba += einsum("ijab->baji", x504) - l2new_abab += einsum("ijab->abij", x504) - del x504 - x507 += einsum("iabj->jiba", v.bbaa.ovvo) - x508 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x508 += einsum("ijab,ikac->jkbc", x245, x507) - del x507 - del x245 - l2new_baba += einsum("ijab->baji", x508) * -1 - l2new_abab += einsum("ijab->abij", x508) * -1 - del x508 - x511 += einsum("iabj->ijab", v.aabb.ovvo) - l2new_baba += einsum("ijab,kicb->acjk", x296, x511) - del x296 - l2new_abab += einsum("ijab,kicb->cakj", x287, x511) * -1 - del x511 - del x287 - x513 += einsum("iabj->ijba", v.aaaa.ovvo) - x513 += einsum("ijab->ijab", v.aaaa.oovv) * -1 - x514 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x514 += einsum("abij,kiac->kjcb", l2.abab, x513) - del x513 - l2new_baba += einsum("ijab->baji", x514) - l2new_abab += einsum("ijab->abij", x514) - del x514 - x515 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x515 += einsum("ijab,iakc->jkbc", t2.abab, v.aabb.ovov) - x518 += einsum("ijab->jiab", x515) - del x515 - x518 += einsum("iabj->ijba", v.bbbb.ovvo) - x518 += einsum("ijab->ijab", v.bbbb.oovv) * -1 - x519 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x519 += einsum("abij,kjbc->ikac", l2.abab, x518) - del x518 - l2new_baba += einsum("ijab->baji", x519) - l2new_abab += einsum("ijab->abij", x519) - del x519 - x520 = np.zeros((nocc[0], nocc[0], nvir[1], nvir[1]), dtype=types[float]) - x520 += einsum("ia,jabc->ijbc", t1.aa, v.aabb.ovvv) - x522 = np.zeros((nocc[0], nocc[0], nvir[1], nvir[1]), dtype=types[float]) - x522 += einsum("ijab->jiab", x520) - del x520 - x521 = np.zeros((nocc[0], nocc[0], nvir[1], nvir[1]), dtype=types[float]) - x521 += einsum("ijab,kajc->ikbc", t2.abab, v.aabb.ovov) - x522 += einsum("ijab->jiab", x521) * -1 - del x521 - x522 += einsum("ijab->ijab", v.aabb.oovv) - x523 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x523 += einsum("abij,kibc->kjac", l2.abab, x522) - del x522 - l2new_baba += einsum("ijab->baji", x523) * -1 - l2new_abab += einsum("ijab->abij", x523) * -1 - del x523 - x524 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x524 += einsum("ijab,ickb->jkac", t2.abab, v.aabb.ovov) - x525 += einsum("ijab->jiab", x524) * -1 - del x524 - x525 += einsum("ijab->ijab", v.bbaa.oovv) - x526 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x526 += einsum("abij,kjac->ikcb", l2.abab, x525) - del x525 - l2new_baba += einsum("ijab->baji", x526) * -1 - l2new_abab += einsum("ijab->abij", x526) * -1 - del x526 - x528 += einsum("ijkl->ijkl", v.aabb.oooo) - x529 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x529 += einsum("abij,kilj->klab", l2.abab, x528) - del x528 - l2new_baba += einsum("ijab->baji", x529) - l2new_abab += einsum("ijab->abij", x529) - del x529 - x540 += einsum("ab->ab", f.bb.vv) - x541 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x541 += einsum("ab,caij->ijcb", x540, l2.abab) - l2new_baba += einsum("ijab->baji", x541) - l2new_abab += einsum("ijab->abij", x541) - del x541 - x571 += einsum("ab,wib->wia", x540, u11.bb) * -1 - lu12new_bb += einsum("ab,wxai->xwbi", x540, lu12.bb) - del x540 - x543 += einsum("ab->ab", f.aa.vv) - x544 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x544 += einsum("ab,acij->ijbc", x543, l2.abab) - l2new_baba += einsum("ijab->baji", x544) - l2new_abab += einsum("ijab->abij", x544) - del x544 - x575 += einsum("ab,wib->wia", x543, u11.aa) * -1 - lu12new_aa += einsum("ab,wxai->xwbi", x543, lu12.aa) - del x543 - x553 += einsum("wia->wia", gc.aa.bov) - x554 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x554 += einsum("wai,wjb->jiba", lu11.bb, x553) - del x553 - l2new_baba += einsum("ijab->baji", x554) - l2new_abab += einsum("ijab->abij", x554) - del x554 - x555 += einsum("wia->wia", gc.bb.bov) - x556 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x556 += einsum("wai,wjb->ijab", lu11.aa, x555) - del x555 - l2new_baba += einsum("ijab->baji", x556) - l2new_abab += einsum("ijab->abij", x556) - del x556 - x559 += einsum("ijka->ijka", v.aabb.ooov) - x560 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x560 += einsum("ai,jikb->jkab", l1.aa, x559) - del x559 - l2new_baba -= einsum("ijab->baji", x560) - l2new_abab -= einsum("ijab->abij", x560) - del x560 - x561 += einsum("iajk->ijka", v.aabb.ovoo) - x562 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x562 += einsum("ai,jkib->jkba", l1.bb, x561) - del x561 - l2new_baba -= einsum("ijab->baji", x562) - l2new_abab -= einsum("ijab->abij", x562) - del x562 - x563 += einsum("ia->ia", f.bb.ov) - x578 += einsum("ia,wia->w", x563, u11.bb) - l2new_baba += einsum("ai,jb->baji", l1.aa, x563) - l2new_abab += einsum("ai,jb->abij", l1.aa, x563) - del x563 - x564 += einsum("ia->ia", f.aa.ov) - x578 += einsum("ia,wia->w", x564, u11.aa) - l2new_baba += einsum("ai,jb->abij", l1.bb, x564) - l2new_abab += einsum("ai,jb->baji", l1.bb, x564) - del x564 - x568 += einsum("wab->wab", gc.bb.bvv) - x571 += einsum("ia,wba->wib", t1.bb, x568) * -1 - del x568 - x569 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x569 += einsum("ia,wba->wib", t1.bb, g.bb.bvv) - x570 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x570 += einsum("wia->wia", x569) - x596 += einsum("wia->wia", x569) - del x569 - x570 += einsum("wai->wia", g.bb.bvo) - x571 += einsum("wx,wia->xia", s2, x570) * -1 - del x570 - x571 += einsum("wai->wia", gc.bb.bvo) * -1 - x571 += einsum("wab,wxib->xia", g.bb.bvv, u12.bb) * -1 - x571 += einsum("wia,iabj->wjb", u11.aa, v.aabb.ovvo) * -1 - ls1new += einsum("wia,wxai->x", x571, lu12.bb) * -1 - del x571 - x572 += einsum("wab->wab", gc.aa.bvv) - x575 += einsum("ia,wba->wib", t1.aa, x572) * -1 - del x572 - x573 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x573 += einsum("ia,wba->wib", t1.aa, g.aa.bvv) - x574 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x574 += einsum("wia->wia", x573) - x592 += einsum("wia->wia", x573) - del x573 - x574 += einsum("wai->wia", g.aa.bvo) - x575 += einsum("wx,wia->xia", s2, x574) * -1 - del x574 - x575 += einsum("wai->wia", gc.aa.bvo) * -1 - x575 += einsum("wab,wxib->xia", g.aa.bvv, u12.aa) * -1 - x575 += einsum("wia,iabj->wjb", u11.bb, v.bbaa.ovvo) * -1 - ls1new += einsum("wia,wxai->x", x575, lu12.aa) * -1 - del x575 - x577 += einsum("w->w", G) - x578 += einsum("w,wx->x", x577, s2) - x605 += einsum("w,x->xw", ls1, x577) - del x577 - x578 += einsum("w->w", G) - ls1new += einsum("w,wx->x", x578, ls2) - del x578 - x579 = np.zeros((nbos, nbos), dtype=types[float]) - x579 += einsum("wx,yx->wy", ls2, w) - x605 += einsum("wx->wx", x579) - del x579 - x580 = np.zeros((nbos, nvir[0], nvir[0]), dtype=types[float]) - x580 += einsum("wia,wxbi->xba", u11.aa, lu12.aa) - x581 = np.zeros((nbos, nbos), dtype=types[float]) - x581 += einsum("wab,xab->wx", g.aa.bvv, x580) - x605 += einsum("wx->wx", x581) - del x581 - x608 = np.zeros((nbos, nbos, nocc[0], nvir[0]), dtype=types[float]) - x608 += einsum("wia,xba->wxib", g.aa.bov, x580) - del x580 - x612 += einsum("wxia->wxia", x608) - del x608 - x583 = np.zeros((nbos, nvir[1], nvir[1]), dtype=types[float]) - x583 += einsum("wia,xwbi->xba", u11.bb, lu12.bb) - x584 = np.zeros((nbos, nbos), dtype=types[float]) - x584 += einsum("wab,xab->wx", g.bb.bvv, x583) - x605 += einsum("wx->wx", x584) - del x584 - x626 = np.zeros((nbos, nbos, nocc[1], nvir[1]), dtype=types[float]) - x626 += einsum("wia,xba->wxib", g.bb.bov, x583) - del x583 - x630 += einsum("wxia->wxia", x626) - del x626 - x590 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x590 += einsum("wia,jiba->wjb", g.bb.bov, t2.abab) - x592 += einsum("wia->wia", x590) - del x590 - x592 += einsum("wai->wia", g.aa.bvo) - x593 = np.zeros((nbos, nbos), dtype=types[float]) - x593 += einsum("wai,xia->wx", lu11.aa, x592) - del x592 - x605 += einsum("wx->xw", x593) - del x593 - x594 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x594 += einsum("wia,ijab->wjb", g.aa.bov, t2.abab) - x596 += einsum("wia->wia", x594) - del x594 - x596 += einsum("wai->wia", g.bb.bvo) - x597 = np.zeros((nbos, nbos), dtype=types[float]) - x597 += einsum("wai,xia->wx", lu11.bb, x596) - del x596 - x605 += einsum("wx->xw", x597) - del x597 - x598 += einsum("wij->wij", g.aa.boo) - x599 = np.zeros((nbos, nbos), dtype=types[float]) - x599 += einsum("wij,xji->wx", x167, x598) - del x167 - x605 -= einsum("wx->xw", x599) - del x599 - x600 = np.zeros((nbos, nbos), dtype=types[float]) - x600 += einsum("wij,xji->wx", x168, x598) - del x168 - x605 -= einsum("wx->xw", x600) - del x600 - x609 = np.zeros((nbos, nbos, nocc[0], nvir[0]), dtype=types[float]) - x609 += einsum("wai,xji->wxja", lu11.aa, x598) - del x598 - x612 += einsum("wxia->xwia", x609) - del x609 - x601 += einsum("wij->wij", g.bb.boo) - x602 = np.zeros((nbos, nbos), dtype=types[float]) - x602 += einsum("wij,xji->wx", x196, x601) - del x196 - x605 -= einsum("wx->xw", x602) - del x602 - ls2new += einsum("wx->wx", x605) - ls2new += einsum("wx->xw", x605) - del x605 - x627 = np.zeros((nbos, nbos, nocc[1], nvir[1]), dtype=types[float]) - x627 += einsum("wai,xji->wxja", lu11.bb, x601) - del x601 - x630 += einsum("wxia->xwia", x627) - del x627 - x606 = np.zeros((nbos, nbos, nocc[0], nvir[0]), dtype=types[float]) - x606 += einsum("wx,xyai->ywia", w, lu12.aa) - x612 -= einsum("wxia->wxia", x606) - del x606 - x607 = np.zeros((nbos, nbos, nocc[0], nvir[0]), dtype=types[float]) - x607 += einsum("wab,xai->wxib", g.aa.bvv, lu11.aa) - x612 -= einsum("wxia->wxia", x607) - del x607 - lu12new_aa -= einsum("wxia->wxai", x612) - lu12new_aa -= einsum("wxia->xwai", x612) - del x612 - x613 = np.zeros((nbos, nbos, nocc[0], nvir[0]), dtype=types[float]) - x613 += einsum("wxai,jiba->wxjb", lu12.bb, t2.abab) - x615 += einsum("wxia->xwia", x613) - del x613 - lu12new_aa += einsum("ijab,wxia->xwbj", x12, x615) * -1 - del x12 - lu12new_bb += einsum("iajb,wxia->xwbj", v.aabb.ovov, x615) - del x615 - x616 += einsum("iabj->ijba", v.aaaa.ovvo) - x616 -= einsum("ijab->ijab", v.aaaa.oovv) - lu12new_aa += einsum("wxai,jiab->xwbj", lu12.aa, x616) - del x616 - x617 = np.zeros((nbos, nbos, nocc[1], nvir[1]), dtype=types[float]) - x617 += einsum("wxai,ijab->wxjb", lu12.aa, t2.abab) - x619 += einsum("wxia->xwia", x617) - del x617 - lu12new_aa += einsum("iajb,wxjb->xwai", v.aabb.ovov, x619) - lu12new_bb += einsum("wxia,ijba->xwbj", x619, x93) * -1 - del x619 - del x93 - x620 += einsum("iabj->ijab", v.aabb.ovvo) - lu12new_aa += einsum("wxai,jiba->xwbj", lu12.bb, x620) - del x620 - x621 = np.zeros((nbos, nbos, nbos), dtype=types[float]) - x621 += einsum("wia,xyai->xyw", u11.aa, lu12.aa) - x623 = np.zeros((nbos, nbos, nbos), dtype=types[float]) - x623 += einsum("wxy->xwy", x621) - del x621 - x622 = np.zeros((nbos, nbos, nbos), dtype=types[float]) - x622 += einsum("wia,xyai->xyw", u11.bb, lu12.bb) - x623 += einsum("wxy->xwy", x622) - del x622 - lu12new_aa += einsum("wia,xyw->yxai", g.aa.bov, x623) - lu12new_bb += einsum("wia,xyw->yxai", g.bb.bov, x623) - del x623 - x624 = np.zeros((nbos, nbos, nocc[1], nvir[1]), dtype=types[float]) - x624 += einsum("wx,xyai->ywia", w, lu12.bb) - x630 -= einsum("wxia->wxia", x624) - del x624 - x625 = np.zeros((nbos, nbos, nocc[1], nvir[1]), dtype=types[float]) - x625 += einsum("wab,xai->wxib", g.bb.bvv, lu11.bb) - x630 -= einsum("wxia->wxia", x625) - del x625 - lu12new_bb -= einsum("wxia->wxai", x630) - lu12new_bb -= einsum("wxia->xwai", x630) - del x630 - x631 += einsum("iabj->ijba", v.bbbb.ovvo) - x631 -= einsum("ijab->ijab", v.bbbb.oovv) - lu12new_bb += einsum("wxai,jiab->xwbj", lu12.bb, x631) - del x631 - x632 += einsum("iabj->jiba", v.bbaa.ovvo) - lu12new_bb += einsum("wxai,ijab->xwbj", lu12.aa, x632) - del x632 - l1new_aa += einsum("w,wia->ai", ls1, gc.aa.bov) - l1new_aa += einsum("ai,jbai->bj", l1.bb, v.aabb.ovvo) - l1new_aa += einsum("ia->ai", f.aa.ov) - l1new_bb += einsum("w,wia->ai", ls1, gc.bb.bov) - l1new_bb += einsum("ai,jbai->bj", l1.aa, v.bbaa.ovvo) - l1new_bb += einsum("ia->ai", f.bb.ov) - l2new_aaaa -= einsum("iajb->abji", v.aaaa.ovov) - l2new_aaaa += einsum("iajb->baji", v.aaaa.ovov) - l2new_bbbb -= einsum("iajb->abji", v.bbbb.ovov) - l2new_bbbb += einsum("iajb->baji", v.bbbb.ovov) - l2new_baba += einsum("iajb->baji", v.aabb.ovov) - l2new_abab += einsum("iajb->abij", v.aabb.ovov) - ls1new += einsum("w,xw->x", ls1, w) - ls1new += einsum("ai,wai->w", l1.aa, g.aa.bvo) - ls1new += einsum("ai,wai->w", l1.bb, g.bb.bvo) - ls1new += einsum("w->w", G) - lu11new_aa += einsum("w,xwai->xai", G, lu12.aa) - lu11new_aa += einsum("wx,xia->wai", ls2, gc.aa.bov) - lu11new_aa += einsum("wx,xai->wai", w, lu11.aa) - lu11new_aa -= einsum("ij,waj->wai", f.aa.oo, lu11.aa) - lu11new_aa -= einsum("ai,wji->waj", l1.aa, g.aa.boo) - lu11new_aa += einsum("ab,wai->wbi", f.aa.vv, lu11.aa) - lu11new_aa += einsum("ai,wab->wbi", l1.aa, g.aa.bvv) - lu11new_aa += einsum("wab,xwai->xbi", gc.aa.bvv, lu12.aa) - lu11new_aa += einsum("wia->wai", g.aa.bov) - lu11new_aa -= einsum("wij,xwaj->xai", gc.aa.boo, lu12.aa) - lu11new_aa += einsum("wai,baji->wbj", g.bb.bvo, l2.abab) - lu11new_aa += einsum("wai,jbai->wbj", lu11.bb, v.aabb.ovvo) - lu11new_bb += einsum("w,xwai->xai", G, lu12.bb) - lu11new_bb += einsum("wx,xia->wai", ls2, gc.bb.bov) - lu11new_bb += einsum("wx,xai->wai", w, lu11.bb) - lu11new_bb += einsum("ab,wai->wbi", f.bb.vv, lu11.bb) - lu11new_bb += einsum("ai,wab->wbi", l1.bb, g.bb.bvv) - lu11new_bb += einsum("wai,abij->wbj", g.aa.bvo, l2.abab) - lu11new_bb += einsum("wai,jbai->wbj", lu11.aa, v.bbaa.ovvo) - lu11new_bb += einsum("wia->wai", g.bb.bov) - lu11new_bb -= einsum("wij,xwaj->xai", gc.bb.boo, lu12.bb) - lu11new_bb -= einsum("ij,waj->wai", f.bb.oo, lu11.bb) - lu11new_bb -= einsum("ai,wji->waj", l1.bb, g.bb.boo) - lu11new_bb += einsum("wab,xwai->xbi", gc.bb.bvv, lu12.bb) - - l1new.aa = l1new_aa - l1new.bb = l1new_bb - l2new.abab = l2new_abab - l2new.baba = l2new_baba - l2new.aaaa = l2new_aaaa - l2new.bbbb = l2new_bbbb - lu11new.aa = lu11new_aa - lu11new.bb = lu11new_bb - lu12new.aa = lu12new_aa - lu12new.bb = lu12new_bb - - return {"l1new": l1new, "l2new": l2new, "ls1new": ls1new, "ls2new": ls2new, "lu11new": lu11new, "lu12new": lu12new} - -def make_rdm1_f(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, s2=None, u11=None, u12=None, l1=None, l2=None, ls1=None, ls2=None, lu11=None, lu12=None, **kwargs): - rdm1_f = Namespace() - - # Get boson coupling creation array: - gc = Namespace( - aa = Namespace( - boo=g.aa.boo.transpose(0, 2, 1), - bov=g.aa.bvo.transpose(0, 2, 1), - bvo=g.aa.bov.transpose(0, 2, 1), - bvv=g.aa.bvv.transpose(0, 2, 1), - ), - bb = Namespace( - boo=g.bb.boo.transpose(0, 2, 1), - bov=g.bb.bvo.transpose(0, 2, 1), - bvo=g.bb.bov.transpose(0, 2, 1), - bvv=g.bb.bvv.transpose(0, 2, 1), - ), - ) - - delta_oo = Namespace() - delta_oo.aa = np.eye(nocc[0]) - delta_oo.bb = np.eye(nocc[1]) - delta_vv = Namespace() - delta_vv.aa = np.eye(nvir[0]) - delta_vv.bb = np.eye(nvir[1]) - - # 1RDM - x0 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x0 += einsum("abij,kjab->ik", l2.abab, t2.abab) - x17 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x17 += einsum("ij->ij", x0) * 2 - rdm1_f_oo_aa = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - rdm1_f_oo_aa += einsum("ij->ij", x0) * -1 - del x0 - x1 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x1 += einsum("wxai,wxja->ij", lu12.aa, u12.aa) - x17 += einsum("ij->ij", x1) - rdm1_f_oo_aa += einsum("ij->ij", x1) * -0.5 - del x1 - x2 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x2 += einsum("ai,ja->ij", l1.aa, t1.aa) - x17 += einsum("ij->ij", x2) * 2 - rdm1_f_oo_aa -= einsum("ij->ij", x2) - del x2 - x3 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x3 += einsum("wai,wja->ij", lu11.aa, u11.aa) - x17 += einsum("ij->ij", x3) * 2 - rdm1_f_oo_aa -= einsum("ij->ij", x3) - del x3 - x4 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x4 += einsum("ijab->jiab", t2.aaaa) * -1 - x4 += einsum("ijab->jiba", t2.aaaa) - rdm1_f_oo_aa += einsum("abij,ikab->jk", l2.aaaa, x4) * -1 - del x4 - x5 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x5 += einsum("wxai,wxja->ij", lu12.bb, u12.bb) - x24 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x24 += einsum("ij->ij", x5) * 0.5 - rdm1_f_oo_bb = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - rdm1_f_oo_bb += einsum("ij->ij", x5) * -0.5 - del x5 - x6 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x6 += einsum("wai,wja->ij", lu11.bb, u11.bb) - x24 += einsum("ij->ij", x6) - rdm1_f_oo_bb -= einsum("ij->ij", x6) - del x6 - x7 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x7 += einsum("ai,ja->ij", l1.bb, t1.bb) - x24 += einsum("ij->ij", x7) - rdm1_f_oo_bb -= einsum("ij->ij", x7) - del x7 - x8 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x8 += einsum("abij,ikab->jk", l2.abab, t2.abab) - x24 += einsum("ij->ij", x8) - rdm1_f_oo_bb += einsum("ij->ij", x8) * -1 - del x8 - x9 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x9 += einsum("ijab->jiab", t2.bbbb) * -1 - x9 += einsum("ijab->jiba", t2.bbbb) - x24 += einsum("abij,ikba->jk", l2.bbbb, x9) * -1 - rdm1_f_vo_bb = np.zeros((nvir[1], nocc[1]), dtype=types[float]) - rdm1_f_vo_bb += einsum("ia,ij->aj", t1.bb, x24) * -1 - del x24 - rdm1_f_oo_bb += einsum("abij,ikab->jk", l2.bbbb, x9) * -1 - del x9 - x10 = np.zeros((nbos, nbos, nocc[0], nocc[0]), dtype=types[float]) - x10 += einsum("ia,wxaj->wxji", t1.aa, lu12.aa) - rdm1_f_vo_aa = np.zeros((nvir[0], nocc[0]), dtype=types[float]) - rdm1_f_vo_aa += einsum("wxia,wxij->aj", u12.aa, x10) * -0.5 - del x10 - x11 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x11 += einsum("ia,abjk->jikb", t1.aa, l2.abab) - rdm1_f_vo_aa += einsum("ijab,ikjb->ak", t2.abab, x11) * -1 - del x11 - x12 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x12 += einsum("ia,bajk->jkib", t1.aa, l2.aaaa) - x13 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x13 += einsum("ijka->ijka", x12) - x13 += einsum("ijka->jika", x12) * -1 - del x12 - rdm1_f_vo_aa += einsum("ijab,jikb->ak", t2.aaaa, x13) * -1 - del x13 - x14 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x14 += einsum("ijab->jiab", t2.aaaa) - x14 -= einsum("ijab->jiba", t2.aaaa) - rdm1_f_vo_aa -= einsum("ai,ijab->bj", l1.aa, x14) - del x14 - x15 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) - x15 += einsum("ia,waj->wji", t1.aa, lu11.aa) - x15 += einsum("wia,wxaj->xji", u11.aa, lu12.aa) - rdm1_f_vo_aa -= einsum("wia,wij->aj", u11.aa, x15) - del x15 - x16 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x16 += einsum("ijab->jiab", t2.aaaa) - x16 += einsum("ijab->jiba", t2.aaaa) * -1 - x17 += einsum("abij,ikab->jk", l2.aaaa, x16) * -2 - del x16 - rdm1_f_vo_aa += einsum("ia,ij->aj", t1.aa, x17) * -0.5 - del x17 - x18 = np.zeros((nbos, nbos, nocc[1], nocc[1]), dtype=types[float]) - x18 += einsum("ia,wxaj->wxji", t1.bb, lu12.bb) - rdm1_f_vo_bb += einsum("wxia,wxij->aj", u12.bb, x18) * -0.5 - del x18 - x19 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x19 += einsum("ia,bajk->jkib", t1.bb, l2.abab) - rdm1_f_vo_bb += einsum("ijab,ijka->bk", t2.abab, x19) * -1 - del x19 - x20 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x20 += einsum("ia,abjk->kjib", t1.bb, l2.bbbb) - x21 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x21 += einsum("ijka->ijka", x20) - x21 += einsum("ijka->jika", x20) * -1 - del x20 - rdm1_f_vo_bb += einsum("ijab,ijka->bk", t2.bbbb, x21) * -1 - del x21 - x22 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x22 += einsum("ijab->jiab", t2.bbbb) - x22 -= einsum("ijab->jiba", t2.bbbb) - rdm1_f_vo_bb -= einsum("ai,ijab->bj", l1.bb, x22) - del x22 - x23 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) - x23 += einsum("ia,waj->wji", t1.bb, lu11.bb) - x23 += einsum("wia,wxaj->xji", u11.bb, lu12.bb) - rdm1_f_vo_bb -= einsum("wia,wij->aj", u11.bb, x23) - del x23 - x25 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x25 += einsum("abij->jiab", l2.aaaa) * -1 - x25 += einsum("abij->jiba", l2.aaaa) - rdm1_f_vv_aa = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - rdm1_f_vv_aa += einsum("ijab,ijbc->ac", t2.aaaa, x25) * -1 - del x25 - x26 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x26 += einsum("abij->jiab", l2.bbbb) * -1 - x26 += einsum("abij->jiba", l2.bbbb) - rdm1_f_vv_bb = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - rdm1_f_vv_bb += einsum("ijab,ijca->bc", t2.bbbb, x26) * -1 - del x26 - rdm1_f_oo_aa += einsum("ij->ji", delta_oo.aa) - rdm1_f_oo_bb += einsum("ij->ji", delta_oo.bb) - rdm1_f_ov_aa = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - rdm1_f_ov_aa += einsum("ai->ia", l1.aa) - rdm1_f_ov_bb = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - rdm1_f_ov_bb += einsum("ai->ia", l1.bb) - rdm1_f_vo_aa += einsum("wx,wxia->ai", ls2, u12.aa) * 0.5 - rdm1_f_vo_aa += einsum("w,wia->ai", ls1, u11.aa) - rdm1_f_vo_aa += einsum("ia->ai", t1.aa) - rdm1_f_vo_aa += einsum("ai,jiba->bj", l1.bb, t2.abab) - rdm1_f_vo_bb += einsum("ai,ijab->bj", l1.aa, t2.abab) - rdm1_f_vo_bb += einsum("wx,wxia->ai", ls2, u12.bb) * 0.5 - rdm1_f_vo_bb += einsum("w,wia->ai", ls1, u11.bb) - rdm1_f_vo_bb += einsum("ia->ai", t1.bb) - rdm1_f_vv_aa += einsum("wai,wib->ba", lu11.aa, u11.aa) - rdm1_f_vv_aa += einsum("ai,ib->ba", l1.aa, t1.aa) - rdm1_f_vv_aa += einsum("wxai,wxib->ba", lu12.aa, u12.aa) * 0.5 - rdm1_f_vv_aa += einsum("abij,ijcb->ca", l2.abab, t2.abab) - rdm1_f_vv_bb += einsum("ai,ib->ba", l1.bb, t1.bb) - rdm1_f_vv_bb += einsum("abij,ijac->cb", l2.abab, t2.abab) - rdm1_f_vv_bb += einsum("wxai,wxib->ba", lu12.bb, u12.bb) * 0.5 - rdm1_f_vv_bb += einsum("wai,wib->ba", lu11.bb, u11.bb) - - rdm1_f_aa = np.block([[rdm1_f_oo_aa, rdm1_f_ov_aa], [rdm1_f_vo_aa, rdm1_f_vv_aa]]) - rdm1_f_bb = np.block([[rdm1_f_oo_bb, rdm1_f_ov_bb], [rdm1_f_vo_bb, rdm1_f_vv_bb]]) - - rdm1_f.aa = rdm1_f_aa - rdm1_f.bb = rdm1_f_bb - - return rdm1_f - -def make_rdm2_f(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, s2=None, u11=None, u12=None, l1=None, l2=None, ls1=None, ls2=None, lu11=None, lu12=None, **kwargs): - rdm2_f = Namespace() - - # Get boson coupling creation array: - gc = Namespace( - aa = Namespace( - boo=g.aa.boo.transpose(0, 2, 1), - bov=g.aa.bvo.transpose(0, 2, 1), - bvo=g.aa.bov.transpose(0, 2, 1), - bvv=g.aa.bvv.transpose(0, 2, 1), - ), - bb = Namespace( - boo=g.bb.boo.transpose(0, 2, 1), - bov=g.bb.bvo.transpose(0, 2, 1), - bvo=g.bb.bov.transpose(0, 2, 1), - bvv=g.bb.bvv.transpose(0, 2, 1), - ), - ) - - delta_oo = Namespace() - delta_oo.aa = np.eye(nocc[0]) - delta_oo.bb = np.eye(nocc[1]) - delta_vv = Namespace() - delta_vv.aa = np.eye(nvir[0]) - delta_vv.bb = np.eye(nvir[1]) - - # 2RDM - x0 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x0 += einsum("abij,klab->ijkl", l2.aaaa, t2.aaaa) - x52 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x52 += einsum("ijkl->jilk", x0) - rdm2_f_oooo_aaaa = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - rdm2_f_oooo_aaaa += einsum("ijkl->jkil", x0) * -1 - rdm2_f_oooo_aaaa += einsum("ijkl->jlik", x0) - x1 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x1 += einsum("ia,abjk->kjib", t1.aa, l2.aaaa) - x2 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x2 += einsum("ia,jkla->jkil", t1.aa, x1) - x52 += einsum("ijkl->ijkl", x2) - x53 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x53 += einsum("ia,ijkl->jkla", t1.aa, x52) - del x52 - x60 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x60 += einsum("ijka->ikja", x53) * -1 - x127 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x127 += einsum("ijka->ikja", x53) - del x53 - x220 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x220 += einsum("ia,ijkl->jlka", t1.aa, x2) - x221 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x221 += einsum("ia,ijkb->jkab", t1.aa, x220) - del x220 - x227 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x227 += einsum("ijab->ijab", x221) - del x221 - x230 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x230 += einsum("ijab,jikl->lkab", t2.aaaa, x2) - x233 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x233 += einsum("ijab->ijab", x230) - del x230 - rdm2_f_oooo_aaaa += einsum("ijkl->ikjl", x2) - rdm2_f_oooo_aaaa += einsum("ijkl->iljk", x2) * -1 - del x2 - x49 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x49 += einsum("ijka->ijka", x1) * -1 - x49 += einsum("ijka->jika", x1) - x56 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x56 += einsum("ijab,ijka->kb", t2.aaaa, x49) * 2 - x59 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x59 += einsum("ia->ia", x56) * -1 - del x56 - x119 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x119 += einsum("ijab,ijka->kb", t2.aaaa, x49) - x124 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x124 += einsum("ia->ia", x119) * -1 - x336 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x336 += einsum("ia->ia", x119) * -1 - del x119 - x190 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x190 += einsum("ijab,ijka->kb", t2.aaaa, x49) * 2.0000000000000013 - x193 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x193 += einsum("ia->ia", x190) * -1 - del x190 - x317 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x317 += einsum("ijab,ikla->kljb", t2.abab, x49) - x319 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x319 += einsum("ijka->ijka", x317) * -1 - del x317 - x337 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x337 += einsum("ijab,ijka->kb", t2.aaaa, x49) * -1 - x98 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x98 += einsum("ijka->ijka", x1) - x98 += einsum("ijka->jika", x1) * -1 - x99 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x99 += einsum("ijab,ikla->kljb", t2.abab, x98) - del x98 - rdm2_f_oovo_aabb = np.zeros((nocc[0], nocc[0], nvir[1], nocc[1]), dtype=types[float]) - rdm2_f_oovo_aabb += einsum("ijka->ijak", x99) * -1 - rdm2_f_vooo_bbaa = np.zeros((nvir[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - rdm2_f_vooo_bbaa += einsum("ijka->akij", x99) * -1 - del x99 - x136 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x136 += einsum("ijka->ijka", x1) - x136 -= einsum("ijka->jika", x1) - x137 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x137 += einsum("ia,ijkb->jkab", t1.aa, x136) - del x136 - rdm2_f_oovv_aaaa = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - rdm2_f_oovv_aaaa -= einsum("ijab->ijab", x137) - rdm2_f_vvoo_aaaa = np.zeros((nvir[0], nvir[0], nocc[0], nocc[0]), dtype=types[float]) - rdm2_f_vvoo_aaaa -= einsum("ijab->abij", x137) - del x137 - x168 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x168 -= einsum("ijka->ijka", x1) - x168 += einsum("ijka->jika", x1) - x169 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x169 += einsum("ia,ijkb->jkab", t1.aa, x168) - rdm2_f_ovvo_aaaa = np.zeros((nocc[0], nvir[0], nvir[0], nocc[0]), dtype=types[float]) - rdm2_f_ovvo_aaaa -= einsum("ijab->ibaj", x169) - rdm2_f_voov_aaaa = np.zeros((nvir[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - rdm2_f_voov_aaaa -= einsum("ijab->ajib", x169) - del x169 - x350 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x350 += einsum("ijab,ijkc->kcab", t2.aaaa, x1) - x355 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x355 += einsum("iabc->iabc", x350) - del x350 - x351 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x351 += einsum("ia,jikb->jkba", t1.aa, x1) - x353 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x353 += einsum("ijab->ijab", x351) * -2 - del x351 - rdm2_f_ooov_aaaa = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - rdm2_f_ooov_aaaa += einsum("ijka->ikja", x1) - rdm2_f_ooov_aaaa -= einsum("ijka->jkia", x1) - rdm2_f_ovoo_aaaa = np.zeros((nocc[0], nvir[0], nocc[0], nocc[0]), dtype=types[float]) - rdm2_f_ovoo_aaaa -= einsum("ijka->iajk", x1) - rdm2_f_ovoo_aaaa += einsum("ijka->jaik", x1) - del x1 - x3 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x3 += einsum("wai,wja->ij", lu11.aa, u11.aa) - x14 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x14 += einsum("ij->ji", x3) - x38 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x38 += einsum("ia,ij->ja", t1.aa, x3) - x43 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x43 += einsum("ia->ia", x38) - del x38 - x44 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x44 += einsum("ij->ij", x3) - x110 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x110 += einsum("ij->ij", x3) - x197 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x197 += einsum("ij,kiab->kjab", x3, t2.aaaa) - x219 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x219 -= einsum("ijab->ijab", x197) - del x197 - x235 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x235 += einsum("ij->ij", x3) - x335 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x335 += einsum("ij->ij", x3) - rdm2_f_oooo_aaaa -= einsum("ij,kl->ijkl", delta_oo.aa, x3) - rdm2_f_oooo_aaaa += einsum("ij,kl->ilkj", delta_oo.aa, x3) - rdm2_f_oooo_aaaa += einsum("ij,kl->kijl", delta_oo.aa, x3) - rdm2_f_oooo_aaaa -= einsum("ij,kl->klji", delta_oo.aa, x3) - del x3 - x4 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x4 += einsum("wxai,wxja->ij", lu12.aa, u12.aa) - x8 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x8 += einsum("ij->ij", x4) - x14 += einsum("ij->ji", x4) * 0.5 - x57 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x57 += einsum("ij->ij", x4) * 0.5 - x110 += einsum("ij->ij", x4) * 0.5 - x191 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x191 += einsum("ij->ij", x4) * 0.49999999999999967 - x335 += einsum("ij->ij", x4) * 0.5 - del x4 - x5 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x5 += einsum("abij,kjab->ik", l2.abab, t2.abab) - x8 += einsum("ij->ij", x5) * 2 - x14 += einsum("ij->ji", x5) - x57 += einsum("ij->ij", x5) - x110 += einsum("ij->ij", x5) - x191 += einsum("ij->ij", x5) - x335 += einsum("ij->ij", x5) - del x5 - x6 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x6 += einsum("ijab->jiab", t2.aaaa) - x6 += einsum("ijab->jiba", t2.aaaa) * -1 - x7 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x7 += einsum("abij,ikab->jk", l2.aaaa, x6) * 2 - x8 += einsum("ij->ij", x7) * -1 - del x7 - rdm2_f_oooo_aaaa += einsum("ij,kl->jikl", delta_oo.aa, x8) * -0.5 - rdm2_f_oooo_aaaa += einsum("ij,kl->jlki", delta_oo.aa, x8) * 0.5 - rdm2_f_oooo_aaaa += einsum("ij,kl->kjil", delta_oo.aa, x8) * 0.5 - rdm2_f_oooo_aaaa += einsum("ij,kl->klij", delta_oo.aa, x8) * -0.5 - del x8 - x13 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x13 += einsum("abij,ikab->jk", l2.aaaa, x6) - x14 += einsum("ij->ji", x13) * -1 - x57 += einsum("ij->ij", x13) * -1 - x58 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x58 += einsum("ia,ij->ja", t1.aa, x57) * 2 - x59 += einsum("ia->ia", x58) - del x58 - x60 += einsum("ia,jk->jika", t1.aa, x57) * -1 - x127 += einsum("ia,jk->jika", t1.aa, x57) - x189 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x189 += einsum("ij,ikab->kjab", x57, t2.aaaa) - del x57 - x194 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x194 += einsum("ijab->ijba", x189) - del x189 - x110 += einsum("ij->ij", x13) * -1 - x191 += einsum("ij->ij", x13) * -1 - del x13 - x192 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x192 += einsum("ia,ij->ja", t1.aa, x191) * 2.0000000000000013 - del x191 - x193 += einsum("ia->ia", x192) - del x192 - x126 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x126 += einsum("ijka,ilba->ljkb", x49, x6) - x127 += einsum("ijka->jkia", x126) - del x126 - x184 = np.zeros((nbos, nbos, nocc[0], nvir[0]), dtype=types[float]) - x184 += einsum("wxai,ijab->wxjb", lu12.aa, x6) - x185 = np.zeros((nbos, nbos, nocc[0], nvir[0]), dtype=types[float]) - x185 += einsum("wxia->xwia", x184) * -1 - del x184 - x334 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x334 += einsum("abij,ikab->jk", l2.aaaa, x6) - x335 += einsum("ij->ij", x334) * -1 - del x334 - x9 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x9 += einsum("ai,ja->ij", l1.aa, t1.aa) - x14 += einsum("ij->ji", x9) - x31 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x31 += einsum("ia,ij->ja", t1.aa, x9) - x61 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x61 += einsum("ia->ia", x31) * -1 - rdm2_f_oovo_aaaa = np.zeros((nocc[0], nocc[0], nvir[0], nocc[0]), dtype=types[float]) - rdm2_f_oovo_aaaa += einsum("ij,ka->ikaj", delta_oo.aa, x31) - rdm2_f_vooo_aaaa = np.zeros((nvir[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - rdm2_f_vooo_aaaa -= einsum("ij,ka->akji", delta_oo.aa, x31) - del x31 - x44 += einsum("ij->ij", x9) - x45 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x45 += einsum("ia,jk->jika", t1.aa, x44) - x125 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x125 += einsum("ia,jk->jika", t1.aa, x44) - del x44 - x110 += einsum("ij->ij", x9) - x123 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x123 += einsum("ia,ij->ja", t1.aa, x110) - x124 += einsum("ia->ia", x123) - del x123 - x322 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x322 += einsum("ij,ikab->jkab", x110, t2.abab) - rdm2_f_vovo_bbaa = np.zeros((nvir[1], nocc[1], nvir[0], nocc[0]), dtype=types[float]) - rdm2_f_vovo_bbaa += einsum("ijab->bjai", x322) * -1 - rdm2_f_vovo_aabb = np.zeros((nvir[0], nocc[0], nvir[1], nocc[1]), dtype=types[float]) - rdm2_f_vovo_aabb += einsum("ijab->aibj", x322) * -1 - del x322 - rdm2_f_oovo_aabb += einsum("ia,jk->jkai", t1.bb, x110) * -1 - rdm2_f_vooo_bbaa += einsum("ia,jk->aijk", t1.bb, x110) * -1 - del x110 - x195 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x195 += einsum("ij,kiab->jkab", x9, t2.aaaa) - x219 += einsum("ijab->ijab", x195) - del x195 - x235 += einsum("ij->ij", x9) - x236 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x236 += einsum("ia,ij->ja", t1.aa, x235) - del x235 - x237 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x237 += einsum("ia->ia", x236) - x238 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x238 += einsum("ia->ia", x236) - del x236 - x335 += einsum("ij->ij", x9) - x336 += einsum("ia,ij->ja", t1.aa, x335) * 0.9999999999999993 - x337 += einsum("ia,ij->ja", t1.aa, x335) - del x335 - rdm2_f_oooo_aaaa -= einsum("ij,kl->jikl", delta_oo.aa, x9) - rdm2_f_oooo_aaaa += einsum("ij,kl->kijl", delta_oo.aa, x9) - rdm2_f_oooo_aaaa += einsum("ij,kl->jlki", delta_oo.aa, x9) - rdm2_f_oooo_aaaa -= einsum("ij,kl->klji", delta_oo.aa, x9) - del x9 - x10 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x10 += einsum("abij,klab->ikjl", l2.abab, t2.abab) - x101 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x101 += einsum("ijkl->ijkl", x10) - x305 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x305 += einsum("ijkl->ijkl", x10) - x313 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x313 += einsum("ijkl->ijkl", x10) - rdm2_f_oooo_aabb = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - rdm2_f_oooo_aabb += einsum("ijkl->ijkl", x10) - rdm2_f_oooo_bbaa = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - rdm2_f_oooo_bbaa += einsum("ijkl->klij", x10) - del x10 - x11 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x11 += einsum("ia,bajk->jkib", t1.bb, l2.abab) - x12 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x12 += einsum("ia,jkla->jikl", t1.aa, x11) - x101 += einsum("ijkl->ijkl", x12) - x102 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x102 += einsum("ia,jkil->jkla", t1.bb, x101) - rdm2_f_oovo_aabb += einsum("ijka->ijak", x102) - rdm2_f_vooo_bbaa += einsum("ijka->akij", x102) - del x102 - x117 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x117 += einsum("ia,ijkl->jkla", t1.aa, x101) - del x101 - rdm2_f_oovo_bbaa = np.zeros((nocc[1], nocc[1], nvir[0], nocc[0]), dtype=types[float]) - rdm2_f_oovo_bbaa += einsum("ijka->jkai", x117) - rdm2_f_vooo_aabb = np.zeros((nvir[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - rdm2_f_vooo_aabb += einsum("ijka->aijk", x117) - del x117 - x305 += einsum("ijkl->ijkl", x12) - x306 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x306 += einsum("ijab,ikjl->klab", t2.abab, x305) - del x305 - rdm2_f_vovo_bbaa += einsum("ijab->bjai", x306) - rdm2_f_vovo_aabb += einsum("ijab->aibj", x306) - del x306 - x313 += einsum("ijkl->ijkl", x12) * 0.9999999999999993 - x314 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x314 += einsum("ia,ijkl->jkla", t1.aa, x313) - del x313 - x315 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x315 += einsum("ijka->ijka", x314) - del x314 - rdm2_f_oooo_aabb += einsum("ijkl->ijkl", x12) - rdm2_f_oooo_bbaa += einsum("ijkl->klij", x12) - del x12 - x64 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x64 += einsum("ijab,ikla->kljb", t2.abab, x11) - x76 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x76 += einsum("ijka->ijka", x64) - x130 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x130 += einsum("ijka->ijka", x64) * -1 - x253 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x253 -= einsum("ijka->ijka", x64) - del x64 - x71 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x71 += einsum("ijab,ijka->kb", t2.abab, x11) - x75 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x75 += einsum("ia->ia", x71) * 2 - x109 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x109 += einsum("ia->ia", x71) - x279 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x279 += einsum("ia->ia", x71) * 2.0000000000000013 - x333 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x333 += einsum("ia->ia", x71) - x338 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x338 += einsum("ia->ia", x71) - del x71 - x95 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x95 += einsum("ijab,kjla->kilb", t2.abab, x11) - x319 += einsum("ijka->ijka", x95) * -1 - rdm2_f_oovo_aabb += einsum("ijka->ijak", x95) - rdm2_f_vooo_bbaa += einsum("ijka->akij", x95) - del x95 - x161 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x161 += einsum("ia,ijkb->jkba", t1.aa, x11) - rdm2_f_oovv_bbaa = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - rdm2_f_oovv_bbaa -= einsum("ijab->ijba", x161) - rdm2_f_vvoo_aabb = np.zeros((nvir[0], nvir[0], nocc[1], nocc[1]), dtype=types[float]) - rdm2_f_vvoo_aabb -= einsum("ijab->baij", x161) - del x161 - x172 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x172 += einsum("ia,jikb->jkba", t1.bb, x11) - x376 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x376 += einsum("ijab->ijab", x172) - rdm2_f_ovvo_aabb = np.zeros((nocc[0], nvir[0], nvir[1], nocc[1]), dtype=types[float]) - rdm2_f_ovvo_aabb -= einsum("ijab->iabj", x172) - rdm2_f_voov_bbaa = np.zeros((nvir[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - rdm2_f_voov_bbaa -= einsum("ijab->bjia", x172) - del x172 - x371 = np.zeros((nocc[1], nvir[0], nvir[0], nvir[1]), dtype=types[float]) - x371 += einsum("ijab,ijkc->kcab", t2.abab, x11) - rdm2_f_vovv_bbaa = np.zeros((nvir[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - rdm2_f_vovv_bbaa += einsum("iabc->ciba", x371) * -1 - rdm2_f_vvvo_aabb = np.zeros((nvir[0], nvir[0], nvir[1], nocc[1]), dtype=types[float]) - rdm2_f_vvvo_aabb += einsum("iabc->baci", x371) * -1 - del x371 - rdm2_f_ooov_bbaa = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - rdm2_f_ooov_bbaa -= einsum("ijka->jkia", x11) - rdm2_f_ovoo_aabb = np.zeros((nocc[0], nvir[0], nocc[1], nocc[1]), dtype=types[float]) - rdm2_f_ovoo_aabb -= einsum("ijka->iajk", x11) - x14 += einsum("ij->ji", delta_oo.aa) * -1 - rdm2_f_oooo_aabb += einsum("ij,kl->lkji", delta_oo.bb, x14) * -1 - rdm2_f_oooo_bbaa += einsum("ij,kl->jilk", delta_oo.bb, x14) * -1 - del x14 - x15 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x15 += einsum("ai,ja->ij", l1.bb, t1.bb) - x21 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x21 += einsum("ij->ij", x15) * 2 - x23 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x23 += einsum("ij->ij", x15) - x89 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x89 += einsum("ij->ij", x15) - x93 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x93 += einsum("ia,ij->ja", t1.bb, x15) - x94 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x94 += einsum("ia->ia", x93) * -1 - del x93 - x239 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x239 += einsum("ij,kiab->jkab", x15, t2.bbbb) - x263 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x263 += einsum("ijab->ijab", x239) - del x239 - x297 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x297 += einsum("ij->ij", x15) - x332 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x332 += einsum("ij->ij", x15) - rdm2_f_oooo_bbbb = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - rdm2_f_oooo_bbbb -= einsum("ij,kl->jikl", delta_oo.bb, x15) - rdm2_f_oooo_bbbb += einsum("ij,kl->kijl", delta_oo.bb, x15) - rdm2_f_oooo_bbbb += einsum("ij,kl->jlki", delta_oo.bb, x15) - rdm2_f_oooo_bbbb -= einsum("ij,kl->klji", delta_oo.bb, x15) - del x15 - x16 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x16 += einsum("wai,wja->ij", lu11.bb, u11.bb) - x21 += einsum("ij->ij", x16) * 2 - x23 += einsum("ij->ij", x16) - x83 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x83 += einsum("ia,ij->ja", t1.bb, x16) - x88 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x88 += einsum("ia->ia", x83) - del x83 - x89 += einsum("ij->ij", x16) - x90 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x90 += einsum("ia,jk->jika", t1.bb, x89) - x128 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x128 += einsum("ia,jk->jika", t1.bb, x89) - del x89 - x241 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x241 += einsum("ij,kiab->kjab", x16, t2.bbbb) - x263 -= einsum("ijab->ijab", x241) - del x241 - x297 += einsum("ij->ij", x16) - x298 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x298 += einsum("ia,ij->ja", t1.bb, x297) - del x297 - x299 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x299 += einsum("ia->ia", x298) - x300 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x300 += einsum("ia->ia", x298) - del x298 - x332 += einsum("ij->ij", x16) - rdm2_f_oooo_bbbb -= einsum("ij,kl->ijkl", delta_oo.bb, x16) - rdm2_f_oooo_bbbb += einsum("ij,kl->ilkj", delta_oo.bb, x16) - rdm2_f_oooo_bbbb += einsum("ij,kl->kijl", delta_oo.bb, x16) - rdm2_f_oooo_bbbb -= einsum("ij,kl->klji", delta_oo.bb, x16) - del x16 - x17 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x17 += einsum("wxai,wxja->ij", lu12.bb, u12.bb) - x21 += einsum("ij->ij", x17) - x23 += einsum("ij->ij", x17) * 0.5 - x24 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x24 += einsum("ij->ij", x17) - x73 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x73 += einsum("ij->ij", x17) * 0.5 - x274 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x274 += einsum("ij->ij", x17) * 0.5 - x277 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x277 += einsum("ij->ij", x17) * 0.49999999999999967 - x332 += einsum("ij->ij", x17) * 0.5 - del x17 - x18 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x18 += einsum("abij,ikab->jk", l2.abab, t2.abab) - x21 += einsum("ij->ij", x18) * 2 - x23 += einsum("ij->ij", x18) - x24 += einsum("ij->ij", x18) * 2 - x73 += einsum("ij->ij", x18) - x265 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x265 += einsum("ij,kiab->jkab", x18, t2.bbbb) - x280 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x280 += einsum("ijab->ijab", x265) * -1 - del x265 - x277 += einsum("ij->ij", x18) - x332 += einsum("ij->ij", x18) - del x18 - x19 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x19 += einsum("ijab->jiab", t2.bbbb) * -1 - x19 += einsum("ijab->jiba", t2.bbbb) - x20 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x20 += einsum("abij,ikba->jk", l2.bbbb, x19) * 2 - x21 += einsum("ij->ij", x20) * -1 - rdm2_f_oooo_aabb += einsum("ij,kl->jikl", delta_oo.aa, x21) * -0.5 - rdm2_f_oovo_bbaa += einsum("ia,jk->jkai", t1.aa, x21) * -0.5 - rdm2_f_vooo_aabb += einsum("ia,jk->aijk", t1.aa, x21) * -0.5 - del x21 - x24 += einsum("ij->ij", x20) * -1 - del x20 - rdm2_f_oooo_bbbb += einsum("ij,kl->jikl", delta_oo.bb, x24) * -0.5 - rdm2_f_oooo_bbbb += einsum("ij,kl->jlki", delta_oo.bb, x24) * 0.5 - rdm2_f_oooo_bbbb += einsum("ij,kl->kjil", delta_oo.bb, x24) * 0.5 - rdm2_f_oooo_bbbb += einsum("ij,kl->klij", delta_oo.bb, x24) * -0.5 - del x24 - x22 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x22 += einsum("abij,ikba->jk", l2.bbbb, x19) - x23 += einsum("ij->ij", x22) * -1 - x108 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x108 += einsum("ia,ij->ja", t1.bb, x23) - x109 += einsum("ia->ia", x108) - del x108 - x321 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x321 += einsum("ij,kiab->kjab", x23, t2.abab) - rdm2_f_vovo_bbaa += einsum("ijab->bjai", x321) * -1 - rdm2_f_vovo_aabb += einsum("ijab->aibj", x321) * -1 - del x321 - rdm2_f_oooo_bbaa += einsum("ij,kl->klji", delta_oo.aa, x23) * -1 - del x23 - x73 += einsum("ij->ij", x22) * -1 - x74 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x74 += einsum("ia,ij->ja", t1.bb, x73) * 2 - x75 += einsum("ia->ia", x74) - del x74 - x76 += einsum("ia,jk->jika", t1.bb, x73) * -1 - x130 += einsum("ia,jk->jika", t1.bb, x73) - del x73 - x274 += einsum("ij->ij", x22) * -1 - x275 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x275 += einsum("ij,ikab->kjab", x274, t2.bbbb) - del x274 - x280 += einsum("ijab->ijba", x275) - del x275 - x277 += einsum("ij->ij", x22) * -1 - del x22 - x278 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x278 += einsum("ia,ij->ja", t1.bb, x277) * 2.0000000000000013 - del x277 - x279 += einsum("ia->ia", x278) - del x278 - x268 = np.zeros((nbos, nbos, nocc[1], nvir[1]), dtype=types[float]) - x268 += einsum("wxai,ijba->wxjb", lu12.bb, x19) - x269 = np.zeros((nbos, nbos, nocc[1], nvir[1]), dtype=types[float]) - x269 += einsum("wxia->xwia", x268) * -1 - del x268 - x331 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x331 += einsum("abij,ikba->jk", l2.bbbb, x19) - x332 += einsum("ij->ij", x331) * -1 - del x331 - x333 += einsum("ia,ij->ja", t1.bb, x332) - x338 += einsum("ia,ij->ja", t1.bb, x332) * 0.9999999999999993 - del x332 - x25 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x25 += einsum("abij,klba->ijlk", l2.bbbb, t2.bbbb) - x68 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x68 += einsum("ijkl->jilk", x25) - x291 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x291 += einsum("ia,jikl->jkla", t1.bb, x25) - x292 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x292 += einsum("ia,ijkb->kjba", t1.bb, x291) - del x291 - x295 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x295 += einsum("ijab->ijab", x292) - del x292 - x293 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x293 += einsum("ijkl->jilk", x25) - rdm2_f_oooo_bbbb += einsum("ijkl->jkil", x25) * -1 - rdm2_f_oooo_bbbb += einsum("ijkl->jlik", x25) - del x25 - x26 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x26 += einsum("ia,bajk->jkib", t1.bb, l2.bbbb) - x27 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x27 += einsum("ia,jkla->kjli", t1.bb, x26) - x68 += einsum("ijkl->ijkl", x27) - x69 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x69 += einsum("ia,ijkl->jkla", t1.bb, x68) - del x68 - x76 += einsum("ijka->ikja", x69) * -1 - x130 += einsum("ijka->ikja", x69) - del x69 - x285 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x285 += einsum("ia,ijkl->jlka", t1.bb, x27) - x286 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x286 += einsum("ia,ijkb->jkab", t1.bb, x285) - del x285 - x290 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x290 += einsum("ijab->ijab", x286) - del x286 - x293 += einsum("ijkl->ijkl", x27) - x294 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x294 += einsum("ijab,ijkl->klab", t2.bbbb, x293) - del x293 - x295 += einsum("ijab->ijab", x294) - del x294 - rdm2_f_vovo_bbbb = np.zeros((nvir[1], nocc[1], nvir[1], nocc[1]), dtype=types[float]) - rdm2_f_vovo_bbbb += einsum("ijab->ajbi", x295) * -1 - rdm2_f_vovo_bbbb += einsum("ijab->bjai", x295) - del x295 - rdm2_f_oooo_bbbb += einsum("ijkl->ikjl", x27) - rdm2_f_oooo_bbbb += einsum("ijkl->iljk", x27) * -1 - del x27 - x65 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x65 += einsum("ijka->ijka", x26) - x65 += einsum("ijka->jika", x26) * -1 - x72 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x72 += einsum("ijab,ijkb->ka", t2.bbbb, x65) * 2 - x75 += einsum("ia->ia", x72) * -1 - del x72 - x104 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x104 += einsum("ijab,ijkb->ka", t2.bbbb, x65) - x109 += einsum("ia->ia", x104) * -1 - x338 += einsum("ia->ia", x104) * -1 - del x104 - x129 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x129 += einsum("ijab,kila->jklb", x19, x65) - x130 += einsum("ijka->jkia", x129) - del x129 - x276 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x276 += einsum("ijab,ijkb->ka", t2.bbbb, x65) * 2.0000000000000013 - x279 += einsum("ia->ia", x276) * -1 - del x276 - x333 += einsum("ijab,ijkb->ka", t2.bbbb, x65) * -1 - x114 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x114 += einsum("ijka->ijka", x26) * -1 - x114 += einsum("ijka->jika", x26) - x115 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x115 += einsum("ijab,kjlb->ikla", t2.abab, x114) - del x114 - x315 += einsum("ijka->ijka", x115) * -1 - rdm2_f_oovo_bbaa += einsum("ijka->jkai", x115) * -1 - rdm2_f_vooo_aabb += einsum("ijka->aijk", x115) * -1 - del x115 - x151 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x151 -= einsum("ijka->ijka", x26) - x151 += einsum("ijka->jika", x26) - x152 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x152 += einsum("ia,jikb->jkab", t1.bb, x151) - rdm2_f_oovv_bbbb = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - rdm2_f_oovv_bbbb -= einsum("ijab->ijab", x152) - rdm2_f_vvoo_bbbb = np.zeros((nvir[1], nvir[1], nocc[1], nocc[1]), dtype=types[float]) - rdm2_f_vvoo_bbbb -= einsum("ijab->abij", x152) - del x152 - x181 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x181 += einsum("ia,ijkb->jkab", t1.bb, x151) - del x151 - rdm2_f_ovvo_bbbb = np.zeros((nocc[1], nvir[1], nvir[1], nocc[1]), dtype=types[float]) - rdm2_f_ovvo_bbbb -= einsum("ijab->ibaj", x181) - rdm2_f_voov_bbbb = np.zeros((nvir[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - rdm2_f_voov_bbbb -= einsum("ijab->ajib", x181) - del x181 - x251 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x251 += einsum("ijka->ijka", x26) - x251 -= einsum("ijka->jika", x26) - x363 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x363 += einsum("ijab,ijkc->kcab", t2.bbbb, x26) - x369 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x369 += einsum("iabc->iabc", x363) - del x363 - x364 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x364 += einsum("ia,jikb->jkba", t1.bb, x26) - x366 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x366 += einsum("ijab->ijab", x364) * -2 - del x364 - rdm2_f_ooov_bbbb = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - rdm2_f_ooov_bbbb += einsum("ijka->ikja", x26) - rdm2_f_ooov_bbbb -= einsum("ijka->jkia", x26) - rdm2_f_ovoo_bbbb = np.zeros((nocc[1], nvir[1], nocc[1], nocc[1]), dtype=types[float]) - rdm2_f_ovoo_bbbb -= einsum("ijka->iajk", x26) - rdm2_f_ovoo_bbbb += einsum("ijka->jaik", x26) - del x26 - x28 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x28 += einsum("ia,abjk->jikb", t1.aa, l2.abab) - x48 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x48 += einsum("ijab,kljb->klia", t2.abab, x28) - x60 += einsum("ijka->ijka", x48) - x127 += einsum("ijka->ijka", x48) * -1 - x209 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x209 -= einsum("ijka->ijka", x48) - del x48 - x55 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x55 += einsum("ijab,ikjb->ka", t2.abab, x28) - x59 += einsum("ia->ia", x55) * 2 - x124 += einsum("ia->ia", x55) - x193 += einsum("ia->ia", x55) * 2.0000000000000013 - x336 += einsum("ia->ia", x55) - x337 += einsum("ia->ia", x55) - del x55 - x112 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x112 += einsum("ijab,iklb->klja", t2.abab, x28) - x315 += einsum("ijka->ijka", x112) - rdm2_f_oovo_bbaa += einsum("ijka->jkai", x112) - rdm2_f_vooo_aabb += einsum("ijka->aijk", x112) - del x112 - x165 = np.zeros((nocc[0], nocc[0], nvir[1], nvir[1]), dtype=types[float]) - x165 += einsum("ia,jkib->jkba", t1.bb, x28) - rdm2_f_oovv_aabb = np.zeros((nocc[0], nocc[0], nvir[1], nvir[1]), dtype=types[float]) - rdm2_f_oovv_aabb -= einsum("ijab->ijba", x165) - rdm2_f_vvoo_bbaa = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - rdm2_f_vvoo_bbaa -= einsum("ijab->baij", x165) - del x165 - x177 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x177 += einsum("ia,ijkb->jkab", t1.aa, x28) - x386 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x386 += einsum("ijab->ijab", x177) - rdm2_f_ovvo_bbaa = np.zeros((nocc[1], nvir[1], nvir[0], nocc[0]), dtype=types[float]) - rdm2_f_ovvo_bbaa -= einsum("ijab->jbai", x177) - rdm2_f_voov_aabb = np.zeros((nvir[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - rdm2_f_voov_aabb -= einsum("ijab->aijb", x177) - del x177 - x318 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x318 += einsum("ijab,klib->klja", x19, x28) - del x19 - x319 += einsum("ijka->ijka", x318) * -1 - del x318 - x381 = np.zeros((nocc[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) - x381 += einsum("ijab,ikjc->kacb", t2.abab, x28) - rdm2_f_vovv_aabb = np.zeros((nvir[0], nocc[0], nvir[1], nvir[1]), dtype=types[float]) - rdm2_f_vovv_aabb += einsum("iabc->aicb", x381) * -1 - rdm2_f_vvvo_bbaa = np.zeros((nvir[1], nvir[1], nvir[0], nocc[0]), dtype=types[float]) - rdm2_f_vvvo_bbaa += einsum("iabc->cbai", x381) * -1 - del x381 - rdm2_f_ooov_aabb = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - rdm2_f_ooov_aabb -= einsum("ijka->ijka", x28) - rdm2_f_ovoo_bbaa = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - rdm2_f_ovoo_bbaa -= einsum("ijka->kaij", x28) - x29 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x29 += einsum("wx,wxia->ia", ls2, u12.aa) - x61 += einsum("ia->ia", x29) * 0.5 - x124 += einsum("ia->ia", x29) * -0.5 - x237 += einsum("ia->ia", x29) * -0.5 - x238 += einsum("ia->ia", x29) * -0.5 - x336 += einsum("ia->ia", x29) * -0.49999999999999967 - x337 += einsum("ia->ia", x29) * -0.5 - rdm2_f_oovo_aaaa += einsum("ij,ka->jkai", delta_oo.aa, x29) * -0.5 - rdm2_f_vooo_aaaa += einsum("ij,ka->akij", delta_oo.aa, x29) * 0.5 - del x29 - x30 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x30 += einsum("w,wia->ia", ls1, u11.aa) - x61 += einsum("ia->ia", x30) - x124 += einsum("ia->ia", x30) * -1 - x237 += einsum("ia->ia", x30) * -1 - x238 += einsum("ia->ia", x30) * -1 - x336 += einsum("ia->ia", x30) * -0.9999999999999993 - x337 += einsum("ia->ia", x30) * -1 - rdm2_f_oovo_aaaa -= einsum("ij,ka->jkai", delta_oo.aa, x30) - rdm2_f_vooo_aaaa += einsum("ij,ka->akji", delta_oo.aa, x30) - del x30 - x32 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x32 += einsum("ai,jkba->ijkb", l1.aa, t2.aaaa) - x45 += einsum("ijka->ijka", x32) - x125 += einsum("ijka->ijka", x32) - x209 += einsum("ijka->ijka", x32) - del x32 - x33 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) - x33 += einsum("ia,waj->wji", t1.aa, lu11.aa) - x34 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x34 += einsum("wia,wjk->jkia", u11.aa, x33) - x45 -= einsum("ijka->ijka", x34) - x125 -= einsum("ijka->ijka", x34) - del x34 - x41 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) - x41 += einsum("wij->wij", x33) - x121 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) - x121 += einsum("wij->wij", x33) - x211 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x211 += einsum("ia,wij->wja", t1.aa, x33) - x214 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x214 -= einsum("wia->wia", x211) - del x211 - x234 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x234 += einsum("wia,wij->ja", u11.aa, x33) - del x33 - x237 += einsum("ia->ia", x234) - x238 += einsum("ia->ia", x234) - del x234 - rdm2_f_vovo_aaaa = np.zeros((nvir[0], nocc[0], nvir[0], nocc[0]), dtype=types[float]) - rdm2_f_vovo_aaaa += einsum("ia,jb->biaj", t1.aa, x238) - rdm2_f_vovo_aaaa += einsum("ia,jb->aibj", t1.aa, x238) * -1 - del x238 - x35 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) - x35 += einsum("wia,wxaj->xji", u11.aa, lu12.aa) - x36 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x36 += einsum("wia,wjk->jika", u11.aa, x35) - x45 += einsum("ijka->ijka", x36) - x125 += einsum("ijka->ijka", x36) - del x36 - rdm2_f_vooo_aaaa -= einsum("ijka->ajik", x125) - rdm2_f_vooo_aaaa += einsum("ijka->akij", x125) - del x125 - x41 += einsum("wij->wij", x35) - x42 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x42 += einsum("wia,wij->ja", u11.aa, x41) - x43 += einsum("ia->ia", x42) - del x42 - x103 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x103 += einsum("wia,wjk->jkia", u11.bb, x41) - rdm2_f_oovo_aabb -= einsum("ijka->ijak", x103) - rdm2_f_vooo_bbaa -= einsum("ijka->akij", x103) - del x103 - x324 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x324 += einsum("ia,wij->wja", t1.aa, x41) - del x41 - x325 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x325 += einsum("wia->wia", x324) - del x324 - x121 += einsum("wij->wij", x35) - x122 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x122 += einsum("wia,wij->ja", u11.aa, x121) - x124 += einsum("ia->ia", x122) - x337 += einsum("ia->ia", x122) - del x122 - x336 += einsum("wia,wij->ja", u11.aa, x121) * 0.9999999999999993 - del x121 - x200 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x200 += einsum("ia,wij->wja", t1.aa, x35) - x201 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x201 += einsum("wia,wjb->ijba", u11.aa, x200) - del x200 - x219 += einsum("ijab->ijab", x201) - del x201 - x216 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x216 += einsum("wia,wij->ja", u11.aa, x35) - del x35 - x218 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x218 -= einsum("ia->ia", x216) - del x216 - x37 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x37 += einsum("ai,jiba->jb", l1.bb, t2.abab) - x43 -= einsum("ia->ia", x37) - x124 += einsum("ia->ia", x37) * -1 - x218 += einsum("ia->ia", x37) - x336 += einsum("ia->ia", x37) * -0.9999999999999993 - x337 += einsum("ia->ia", x37) * -1 - del x37 - x39 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x39 -= einsum("ijab->jiab", t2.aaaa) - x39 += einsum("ijab->jiba", t2.aaaa) - x40 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x40 += einsum("ai,ijab->jb", l1.aa, x39) - x43 -= einsum("ia->ia", x40) - del x40 - x45 -= einsum("ij,ka->jika", delta_oo.aa, x43) - rdm2_f_oovo_aaaa += einsum("ijka->ijak", x45) - rdm2_f_oovo_aaaa -= einsum("ijka->ikaj", x45) - del x45 - rdm2_f_vooo_aaaa += einsum("ij,ka->ajik", delta_oo.aa, x43) - rdm2_f_vooo_aaaa -= einsum("ij,ka->akij", delta_oo.aa, x43) - del x43 - x323 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x323 += einsum("wai,ijab->wjb", lu11.aa, x39) - x325 -= einsum("wia->wia", x323) - del x323 - x46 = np.zeros((nbos, nbos, nocc[0], nocc[0]), dtype=types[float]) - x46 += einsum("ia,wxaj->wxji", t1.aa, lu12.aa) - x47 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x47 += einsum("wxia,wxjk->jkia", u12.aa, x46) - x60 += einsum("ijka->ijka", x47) * 0.5 - x127 += einsum("ijka->ijka", x47) * -0.5 - rdm2_f_vooo_aaaa += einsum("ijka->ajik", x127) * -1 - rdm2_f_vooo_aaaa += einsum("ijka->akij", x127) - del x127 - x182 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x182 += einsum("ia,ijkb->jkab", t1.aa, x47) - del x47 - x194 += einsum("ijab->ijab", x182) * 0.5 - del x182 - x54 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x54 += einsum("wxia,wxij->ja", u12.aa, x46) - x59 += einsum("ia->ia", x54) - x60 += einsum("ij,ka->jika", delta_oo.aa, x59) * 0.5 - rdm2_f_vooo_aaaa += einsum("ij,ka->ajik", delta_oo.aa, x59) * 0.5 - rdm2_f_vooo_aaaa += einsum("ij,ka->akij", delta_oo.aa, x59) * -0.5 - del x59 - x124 += einsum("ia->ia", x54) * 0.5 - x193 += einsum("ia->ia", x54) - x194 += einsum("ia,jb->ijab", t1.aa, x193) * 0.5 - del x193 - x336 += einsum("ia->ia", x54) * 0.49999999999999967 - x337 += einsum("ia->ia", x54) * 0.5 - del x54 - x96 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x96 += einsum("wxia,wxjk->jkia", u12.bb, x46) - x319 += einsum("ijka->ijka", x96) * 0.5 - rdm2_f_oovo_aabb += einsum("ijka->ijak", x96) * -0.5 - rdm2_f_vooo_bbaa += einsum("ijka->akij", x96) * -0.5 - del x96 - x198 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x198 += einsum("wia,wxij->xja", u11.aa, x46) - del x46 - x199 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x199 += einsum("wia,wjb->jiab", u11.aa, x198) - x219 += einsum("ijab->ijab", x199) - del x199 - x325 += einsum("wia->wia", x198) - del x198 - x50 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x50 += einsum("ijab->jiab", t2.aaaa) * -1 - x50 += einsum("ijab->jiba", t2.aaaa) - x51 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x51 += einsum("ijka,ilba->jklb", x49, x50) - del x49 - x60 += einsum("ijka->ijka", x51) - del x51 - rdm2_f_oovo_aaaa += einsum("ijka->ijak", x60) * -1 - rdm2_f_oovo_aaaa += einsum("ijka->ikaj", x60) - del x60 - x116 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x116 += einsum("ijka,ilab->ljkb", x11, x50) - del x11 - x315 += einsum("ijka->ijka", x116) * -1 - rdm2_f_oovo_bbaa += einsum("ijka->jkai", x116) * -1 - rdm2_f_vooo_aabb += einsum("ijka->aijk", x116) * -1 - del x116 - x120 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x120 += einsum("ai,ijab->jb", l1.aa, x50) - x124 += einsum("ia->ia", x120) * -1 - x337 += einsum("ia->ia", x120) * -1 - del x120 - x336 += einsum("ai,ijab->jb", l1.aa, x50) * -0.9999999999999993 - rdm2_f_vovo_bbaa += einsum("ia,jb->aibj", t1.bb, x336) * -1 - del x336 - x383 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x383 += einsum("abij,ikac->kjcb", l2.abab, x50) - del x50 - x386 += einsum("ijab->ijab", x383) * -1 - del x383 - x61 += einsum("ia->ia", t1.aa) - rdm2_f_oovo_aaaa += einsum("ij,ka->jiak", delta_oo.aa, x61) - rdm2_f_vooo_aaaa += einsum("ij,ka->aijk", delta_oo.aa, x61) * -1 - del x61 - x62 = np.zeros((nbos, nbos, nocc[1], nocc[1]), dtype=types[float]) - x62 += einsum("ia,wxaj->wxji", t1.bb, lu12.bb) - x63 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x63 += einsum("wxia,wxjk->jkia", u12.bb, x62) - x76 += einsum("ijka->ijka", x63) * 0.5 - x130 += einsum("ijka->ijka", x63) * -0.5 - rdm2_f_vooo_bbbb = np.zeros((nvir[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - rdm2_f_vooo_bbbb += einsum("ijka->ajik", x130) * -1 - rdm2_f_vooo_bbbb += einsum("ijka->akij", x130) - del x130 - x264 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x264 += einsum("ia,ijkb->jkab", t1.bb, x63) - del x63 - x280 += einsum("ijab->ijab", x264) * 0.5 - del x264 - x70 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x70 += einsum("wxia,wxij->ja", u12.bb, x62) - x75 += einsum("ia->ia", x70) - x76 += einsum("ij,ka->jika", delta_oo.bb, x75) * 0.5 - rdm2_f_vooo_bbbb += einsum("ij,ka->ajik", delta_oo.bb, x75) * 0.5 - rdm2_f_vooo_bbbb += einsum("ij,ka->akij", delta_oo.bb, x75) * -0.5 - del x75 - x109 += einsum("ia->ia", x70) * 0.5 - x279 += einsum("ia->ia", x70) - x280 += einsum("ia,jb->ijab", t1.bb, x279) * 0.5 - del x279 - x333 += einsum("ia->ia", x70) * 0.5 - x338 += einsum("ia->ia", x70) * 0.49999999999999967 - del x70 - x111 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x111 += einsum("wxia,wxjk->ijka", u12.aa, x62) - x315 += einsum("ijka->ijka", x111) * -0.5 - rdm2_f_oovo_bbaa += einsum("ijka->jkai", x111) * -0.5 - rdm2_f_vooo_aabb += einsum("ijka->aijk", x111) * -0.5 - del x111 - x242 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x242 += einsum("wia,wxij->xja", u11.bb, x62) - del x62 - x243 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x243 += einsum("wia,wjb->jiab", u11.bb, x242) - x263 += einsum("ijab->ijab", x243) - del x243 - x329 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x329 += einsum("wia->wia", x242) - del x242 - x66 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x66 += einsum("ijab->jiab", t2.bbbb) - x66 += einsum("ijab->jiba", t2.bbbb) * -1 - x67 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x67 += einsum("ijka,jlab->iklb", x65, x66) - del x65 - x76 += einsum("ijka->ijka", x67) - del x67 - rdm2_f_oovo_bbbb = np.zeros((nocc[1], nocc[1], nvir[1], nocc[1]), dtype=types[float]) - rdm2_f_oovo_bbbb += einsum("ijka->ijak", x76) * -1 - rdm2_f_oovo_bbbb += einsum("ijka->ikaj", x76) - del x76 - x100 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x100 += einsum("ijka,klba->ijlb", x28, x66) - del x28 - rdm2_f_oovo_aabb += einsum("ijka->ijak", x100) * -1 - rdm2_f_vooo_bbaa += einsum("ijka->akij", x100) * -1 - del x100 - x105 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x105 += einsum("ai,ijba->jb", l1.bb, x66) - x109 += einsum("ia->ia", x105) * -1 - x333 += einsum("ia->ia", x105) * -1 - del x105 - x338 += einsum("ai,ijba->jb", l1.bb, x66) * -0.9999999999999993 - x375 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x375 += einsum("abij,jkcb->ikac", l2.abab, x66) - x376 += einsum("ijab->ijab", x375) * -1 - del x375 - x77 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x77 += einsum("ai,jkab->ikjb", l1.bb, t2.bbbb) - x90 += einsum("ijka->ijka", x77) - x128 += einsum("ijka->ijka", x77) - x253 += einsum("ijka->ijka", x77) - del x77 - x78 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) - x78 += einsum("ia,waj->wji", t1.bb, lu11.bb) - x79 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x79 += einsum("wia,wjk->jkia", u11.bb, x78) - x90 -= einsum("ijka->ijka", x79) - x128 -= einsum("ijka->ijka", x79) - del x79 - x86 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) - x86 += einsum("wij->wij", x78) - x106 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) - x106 += einsum("wij->wij", x78) - x256 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x256 += einsum("ia,wij->wja", t1.bb, x78) - x258 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x258 -= einsum("wia->wia", x256) - del x256 - x296 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x296 += einsum("wia,wij->ja", u11.bb, x78) - del x78 - x299 += einsum("ia->ia", x296) - x300 += einsum("ia->ia", x296) - del x296 - x80 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) - x80 += einsum("wia,wxaj->xji", u11.bb, lu12.bb) - x81 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x81 += einsum("wia,wjk->jika", u11.bb, x80) - x90 += einsum("ijka->ijka", x81) - x128 += einsum("ijka->ijka", x81) - del x81 - rdm2_f_vooo_bbbb -= einsum("ijka->ajik", x128) - rdm2_f_vooo_bbbb += einsum("ijka->akij", x128) - del x128 - x86 += einsum("wij->wij", x80) - x87 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x87 += einsum("wia,wij->ja", u11.bb, x86) - x88 += einsum("ia->ia", x87) - del x87 - x118 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x118 += einsum("wia,wjk->ijka", u11.aa, x86) - rdm2_f_oovo_bbaa -= einsum("ijka->jkai", x118) - rdm2_f_vooo_aabb -= einsum("ijka->aijk", x118) - del x118 - x328 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x328 += einsum("ia,wij->wja", t1.bb, x86) - del x86 - x329 += einsum("wia->wia", x328) - del x328 - x106 += einsum("wij->wij", x80) - x107 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x107 += einsum("wia,wij->ja", u11.bb, x106) - x109 += einsum("ia->ia", x107) - x333 += einsum("ia->ia", x107) - del x107 - x338 += einsum("wia,wij->ja", u11.bb, x106) * 0.9999999999999993 - del x106 - x244 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x244 += einsum("ia,wij->wja", t1.bb, x80) - x245 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x245 += einsum("wia,wjb->ijba", u11.bb, x244) - del x244 - x263 += einsum("ijab->ijab", x245) - del x245 - x260 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x260 += einsum("wia,wij->ja", u11.bb, x80) - del x80 - x262 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x262 -= einsum("ia->ia", x260) - del x260 - x82 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x82 += einsum("ai,ijab->jb", l1.aa, t2.abab) - x88 -= einsum("ia->ia", x82) - x109 += einsum("ia->ia", x82) * -1 - x262 += einsum("ia->ia", x82) - x333 += einsum("ia->ia", x82) * -1 - x338 += einsum("ia->ia", x82) * -0.9999999999999993 - del x82 - x84 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x84 += einsum("ijab->jiab", t2.bbbb) - x84 -= einsum("ijab->jiba", t2.bbbb) - x85 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x85 += einsum("ai,ijba->jb", l1.bb, x84) - x88 -= einsum("ia->ia", x85) - del x85 - x90 -= einsum("ij,ka->jika", delta_oo.bb, x88) - rdm2_f_oovo_bbbb += einsum("ijka->ijak", x90) - rdm2_f_oovo_bbbb -= einsum("ijka->ikaj", x90) - del x90 - rdm2_f_vooo_bbbb += einsum("ij,ka->ajik", delta_oo.bb, x88) - rdm2_f_vooo_bbbb -= einsum("ij,ka->akij", delta_oo.bb, x88) - del x88 - x327 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x327 += einsum("wai,ijba->wjb", lu11.bb, x84) - x329 -= einsum("wia->wia", x327) - del x327 - x91 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x91 += einsum("w,wia->ia", ls1, u11.bb) - x94 += einsum("ia->ia", x91) - x109 += einsum("ia->ia", x91) * -1 - x299 += einsum("ia->ia", x91) * -1 - x300 += einsum("ia->ia", x91) * -1 - x333 += einsum("ia->ia", x91) * -1 - x338 += einsum("ia->ia", x91) * -0.9999999999999993 - del x91 - x92 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x92 += einsum("wx,wxia->ia", ls2, u12.bb) - x94 += einsum("ia->ia", x92) * 0.5 - x109 += einsum("ia->ia", x92) * -0.5 - x299 += einsum("ia->ia", x92) * -0.5 - x300 += einsum("ia->ia", x92) * -0.5 - rdm2_f_vovo_bbbb += einsum("ia,jb->ajbi", t1.bb, x300) - rdm2_f_vovo_bbbb += einsum("ia,jb->bjai", t1.bb, x300) * -1 - del x300 - x333 += einsum("ia->ia", x92) * -0.5 - x338 += einsum("ia->ia", x92) * -0.49999999999999967 - del x92 - rdm2_f_vovo_aabb += einsum("ia,jb->aibj", t1.aa, x338) * -1 - del x338 - x94 += einsum("ia->ia", t1.bb) - rdm2_f_oovo_bbbb += einsum("ij,ka->jkai", delta_oo.bb, x94) * -1 - rdm2_f_oovo_bbbb += einsum("ij,ka->jiak", delta_oo.bb, x94) - rdm2_f_vooo_bbbb += einsum("ij,ka->aijk", delta_oo.bb, x94) * -1 - rdm2_f_vooo_bbbb += einsum("ij,ka->akji", delta_oo.bb, x94) - del x94 - x97 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x97 += einsum("ai,jkab->ijkb", l1.aa, t2.abab) - x319 += einsum("ijka->ijka", x97) - x320 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x320 += einsum("ia,ijkb->jkab", t1.aa, x319) - del x319 - rdm2_f_vovo_bbaa += einsum("ijab->bjai", x320) * -1 - rdm2_f_vovo_aabb += einsum("ijab->aibj", x320) * -1 - del x320 - rdm2_f_oovo_aabb -= einsum("ijka->ijak", x97) - rdm2_f_vooo_bbaa -= einsum("ijka->akij", x97) - del x97 - x109 += einsum("ia->ia", t1.bb) * -1 - rdm2_f_oovo_aabb += einsum("ij,ka->jiak", delta_oo.aa, x109) * -1 - rdm2_f_vooo_bbaa += einsum("ij,ka->akji", delta_oo.aa, x109) * -1 - del x109 - x113 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x113 += einsum("ai,jkba->jikb", l1.bb, t2.abab) - x315 += einsum("ijka->ijka", x113) * -1 - x316 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x316 += einsum("ia,jikb->jkba", t1.bb, x315) - del x315 - rdm2_f_vovo_bbaa += einsum("ijab->bjai", x316) - rdm2_f_vovo_aabb += einsum("ijab->aibj", x316) - del x316 - rdm2_f_oovo_bbaa -= einsum("ijka->jkai", x113) - rdm2_f_vooo_aabb -= einsum("ijka->aijk", x113) - del x113 - x124 += einsum("ia->ia", t1.aa) * -1 - rdm2_f_oovo_bbaa += einsum("ij,ka->jiak", delta_oo.bb, x124) * -1 - rdm2_f_vooo_aabb += einsum("ij,ka->akji", delta_oo.bb, x124) * -1 - del x124 - x131 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x131 += einsum("abij,kjcb->ikac", l2.abab, t2.abab) - x206 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x206 += einsum("ijab->ijab", x131) - x303 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x303 += einsum("ijab->ijab", x131) - x353 += einsum("ijab->ijab", x131) * 2 - rdm2_f_oovv_aaaa -= einsum("ijab->ijba", x131) - rdm2_f_ovvo_aaaa += einsum("ijab->iabj", x131) - rdm2_f_voov_aaaa += einsum("ijab->bjia", x131) - rdm2_f_vvoo_aaaa -= einsum("ijab->baij", x131) - del x131 - x132 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x132 += einsum("wxai,wxjb->ijab", lu12.aa, u12.aa) - x353 += einsum("ijab->ijab", x132) - rdm2_f_oovv_aaaa += einsum("ijab->ijba", x132) * -0.5 - rdm2_f_ovvo_aaaa += einsum("ijab->iabj", x132) * 0.5 - rdm2_f_voov_aaaa += einsum("ijab->bjia", x132) * 0.5 - rdm2_f_vvoo_aaaa += einsum("ijab->baij", x132) * -0.5 - del x132 - x133 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x133 += einsum("wai,wjb->ijab", lu11.aa, u11.aa) - rdm2_f_oovv_aaaa -= einsum("ijab->ijba", x133) - rdm2_f_ovvo_aaaa += einsum("ijab->iabj", x133) - rdm2_f_voov_aaaa += einsum("ijab->bjia", x133) - rdm2_f_vvoo_aaaa -= einsum("ijab->baij", x133) - del x133 - x134 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x134 += einsum("abij->jiab", l2.aaaa) - x134 -= einsum("abij->jiba", l2.aaaa) - x135 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x135 += einsum("ijab,ikac->kjcb", x134, x39) - del x39 - rdm2_f_oovv_aaaa += einsum("ijab->jiab", x135) - rdm2_f_vvoo_aaaa += einsum("ijab->abji", x135) - del x135 - x173 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x173 += einsum("ijab,ikac->kjcb", t2.abab, x134) - x283 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x283 -= einsum("ijab,ikac->jkbc", t2.abab, x173) - x284 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x284 += einsum("ijab->ijab", x283) - del x283 - rdm2_f_ovvo_aabb -= einsum("ijab->iabj", x173) - rdm2_f_voov_bbaa -= einsum("ijab->bjia", x173) - del x173 - x222 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x222 += einsum("ijab,ikac->jkbc", t2.aaaa, x134) - x223 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x223 -= einsum("ijab,kica->jkbc", t2.aaaa, x222) - del x222 - x227 += einsum("ijab->ijab", x223) - del x223 - x224 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x224 += einsum("ijab,ikbc->jkac", t2.aaaa, x134) - x225 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x225 -= einsum("ijab,kicb->jkac", t2.aaaa, x224) - del x224 - x227 += einsum("ijab->jiba", x225) - del x225 - x138 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x138 += einsum("ai,ib->ab", l1.aa, t1.aa) - x144 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x144 += einsum("ab->ab", x138) * 2 - x163 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x163 += einsum("ab->ab", x138) - x348 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x348 += einsum("ab->ab", x138) - del x138 - x139 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x139 += einsum("wai,wib->ab", lu11.aa, u11.aa) - x144 += einsum("ab->ab", x139) * 2 - x163 += einsum("ab->ab", x139) - x196 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x196 += einsum("ab,ijca->ijcb", x139, t2.aaaa) - x219 -= einsum("ijab->ijab", x196) - del x196 - x311 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x311 += einsum("ab->ab", x139) - x348 += einsum("ab->ab", x139) - del x139 - x349 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x349 += einsum("ia,bc->ibac", t1.aa, x348) - del x348 - x140 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x140 += einsum("wxai,wxib->ab", lu12.aa, u12.aa) - x144 += einsum("ab->ab", x140) - x163 += einsum("ab->ab", x140) * 0.5 - x187 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x187 += einsum("ab->ab", x140) - x311 += einsum("ab->ab", x140) * 0.5 - del x140 - x141 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x141 += einsum("abij,ijcb->ac", l2.abab, t2.abab) - x144 += einsum("ab->ab", x141) * 2 - x163 += einsum("ab->ab", x141) - x187 += einsum("ab->ab", x141) * 2 - x311 += einsum("ab->ab", x141) - del x141 - x142 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x142 += einsum("abij->jiab", l2.aaaa) - x142 += einsum("abij->jiba", l2.aaaa) * -1 - x143 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x143 += einsum("ijab,ijac->bc", t2.aaaa, x142) * 2 - x144 += einsum("ab->ba", x143) * -1 - rdm2_f_oovv_aaaa += einsum("ij,ab->jiba", delta_oo.aa, x144) * 0.5 - rdm2_f_ovvo_aaaa += einsum("ij,ab->jabi", delta_oo.aa, x144) * -0.5 - rdm2_f_voov_aaaa += einsum("ij,ab->bija", delta_oo.aa, x144) * -0.5 - rdm2_f_vvoo_aaaa += einsum("ij,ab->baji", delta_oo.aa, x144) * 0.5 - del x144 - x187 += einsum("ab->ba", x143) * -1 - del x143 - x188 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x188 += einsum("ab,ijac->ijcb", x187, t2.aaaa) * 0.5 - x194 += einsum("ijab->jiab", x188) - del x188 - x355 += einsum("ia,bc->ibac", t1.aa, x187) * 0.5 - del x187 - x162 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x162 += einsum("ijab,ijac->bc", t2.aaaa, x142) - x163 += einsum("ab->ba", x162) * -1 - rdm2_f_oovv_bbaa += einsum("ij,ab->jiba", delta_oo.bb, x163) - rdm2_f_vvoo_aabb += einsum("ij,ab->baji", delta_oo.bb, x163) - rdm2_f_vovv_bbaa += einsum("ia,bc->aicb", t1.bb, x163) - rdm2_f_vvvo_aabb += einsum("ia,bc->cbai", t1.bb, x163) - del x163 - x311 += einsum("ab->ba", x162) * -1 - del x162 - x312 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x312 += einsum("ab,ijac->ijbc", x311, t2.abab) - del x311 - rdm2_f_vovo_bbaa += einsum("ijab->bjai", x312) * -1 - rdm2_f_vovo_aabb += einsum("ijab->aibj", x312) * -1 - del x312 - x352 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x352 += einsum("ijab,ikac->kjcb", x142, x6) * 2 - del x142 - del x6 - x353 += einsum("ijab->jiba", x352) - del x352 - x354 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x354 += einsum("ia,ijbc->jabc", t1.aa, x353) * 0.5 - del x353 - x355 += einsum("iabc->ibac", x354) * -1 - del x354 - rdm2_f_vovv_aaaa = np.zeros((nvir[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - rdm2_f_vovv_aaaa += einsum("iabc->bica", x355) - rdm2_f_vovv_aaaa += einsum("iabc->ciba", x355) * -1 - rdm2_f_vvvo_aaaa = np.zeros((nvir[0], nvir[0], nvir[0], nocc[0]), dtype=types[float]) - rdm2_f_vvvo_aaaa += einsum("iabc->baci", x355) * -1 - rdm2_f_vvvo_aaaa += einsum("iabc->cabi", x355) - del x355 - x145 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x145 += einsum("abij,ikac->jkbc", l2.abab, t2.abab) - x249 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x249 += einsum("ijab->ijab", x145) - x366 += einsum("ijab->ijab", x145) * 2 - rdm2_f_oovv_bbbb -= einsum("ijab->ijba", x145) - rdm2_f_ovvo_bbbb += einsum("ijab->iabj", x145) - rdm2_f_voov_bbbb += einsum("ijab->bjia", x145) - rdm2_f_vvoo_bbbb -= einsum("ijab->baij", x145) - del x145 - x146 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x146 += einsum("wxai,wxjb->ijab", lu12.bb, u12.bb) - x366 += einsum("ijab->ijab", x146) - rdm2_f_oovv_bbbb += einsum("ijab->ijba", x146) * -0.5 - rdm2_f_ovvo_bbbb += einsum("ijab->iabj", x146) * 0.5 - rdm2_f_voov_bbbb += einsum("ijab->bjia", x146) * 0.5 - rdm2_f_vvoo_bbbb += einsum("ijab->baij", x146) * -0.5 - del x146 - x147 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x147 += einsum("wai,wjb->ijab", lu11.bb, u11.bb) - rdm2_f_oovv_bbbb -= einsum("ijab->ijba", x147) - rdm2_f_ovvo_bbbb += einsum("ijab->iabj", x147) - rdm2_f_voov_bbbb += einsum("ijab->bjia", x147) - rdm2_f_vvoo_bbbb -= einsum("ijab->baij", x147) - del x147 - x148 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x148 -= einsum("ijab->jiab", t2.bbbb) - x148 += einsum("ijab->jiba", t2.bbbb) - x174 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x174 += einsum("abij,jkcb->ikac", l2.abab, x148) - rdm2_f_ovvo_aabb -= einsum("ijab->iabj", x174) - rdm2_f_voov_bbaa -= einsum("ijab->bjia", x174) - del x174 - x252 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x252 += einsum("ijab,kila->jklb", x148, x251) - del x251 - x253 += einsum("ijka->jkia", x252) - del x252 - x254 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x254 += einsum("ia,ijkb->jkab", t1.bb, x253) - del x253 - x263 += einsum("ijab->ijab", x254) - del x254 - x257 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x257 += einsum("wai,ijba->wjb", lu11.bb, x148) - x258 -= einsum("wia->wia", x257) - del x257 - x261 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x261 += einsum("ai,ijba->jb", l1.bb, x148) - x262 -= einsum("ia->ia", x261) - del x261 - x263 += einsum("ia,jb->ijab", t1.bb, x262) - del x262 - x149 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x149 -= einsum("abij->jiab", l2.bbbb) - x149 += einsum("abij->jiba", l2.bbbb) - x150 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x150 += einsum("ijab,ikca->jkbc", x148, x149) - rdm2_f_oovv_bbbb += einsum("ijab->jiab", x150) - rdm2_f_vvoo_bbbb += einsum("ijab->abji", x150) - del x150 - x179 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x179 += einsum("ijab,jkcb->ikac", t2.abab, x149) - x226 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x226 -= einsum("ijab,kjcb->ikac", t2.abab, x179) - x227 += einsum("ijab->ijab", x226) - del x226 - x302 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x302 -= einsum("ijab->ijab", x179) - rdm2_f_ovvo_bbaa -= einsum("ijab->jbai", x179) - rdm2_f_voov_aabb -= einsum("ijab->aijb", x179) - del x179 - x180 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x180 += einsum("ijab,ikbc->kjca", x149, x84) - rdm2_f_ovvo_bbbb += einsum("ijab->jbai", x180) - rdm2_f_voov_bbbb += einsum("ijab->aijb", x180) - del x180 - x248 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x248 += einsum("ijab,ikca->jkbc", t2.bbbb, x149) - x249 -= einsum("ijab->jiba", x248) - x250 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x250 += einsum("ijab,ikbc->jkac", t2.bbbb, x249) - del x249 - x263 -= einsum("ijab->jiba", x250) - del x250 - x287 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x287 -= einsum("ijab,kica->jkbc", t2.bbbb, x248) - del x248 - x290 += einsum("ijab->jiba", x287) - del x287 - x288 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x288 += einsum("ijab,ikcb->jkac", t2.bbbb, x149) - del x149 - x289 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x289 -= einsum("ijab,kicb->jkac", t2.bbbb, x288) - del x288 - x290 += einsum("ijab->ijab", x289) - del x289 - x153 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x153 += einsum("ai,ib->ab", l1.bb, t1.bb) - x159 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x159 += einsum("ab->ab", x153) - x361 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x361 += einsum("ab->ab", x153) - del x153 - x154 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x154 += einsum("wai,wib->ab", lu11.bb, u11.bb) - x159 += einsum("ab->ab", x154) - x240 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x240 += einsum("ab,ijac->jicb", x154, t2.bbbb) - x263 -= einsum("ijab->ijab", x240) - del x240 - x309 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x309 += einsum("ab->ab", x154) - x361 += einsum("ab->ab", x154) - del x154 - x362 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x362 += einsum("ia,bc->ibac", t1.bb, x361) - del x361 - x155 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x155 += einsum("wxai,wxib->ab", lu12.bb, u12.bb) - x159 += einsum("ab->ab", x155) * 0.5 - x272 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x272 += einsum("ab->ab", x155) - x309 += einsum("ab->ab", x155) * 0.5 - x368 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x368 += einsum("ab->ab", x155) - del x155 - x156 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x156 += einsum("abij,ijac->bc", l2.abab, t2.abab) - x159 += einsum("ab->ab", x156) - x266 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x266 += einsum("ab,ijac->jibc", x156, t2.bbbb) - x280 += einsum("ijab->ijab", x266) * -1 - del x266 - x309 += einsum("ab->ab", x156) - x368 += einsum("ab->ab", x156) * 2 - del x156 - x157 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x157 += einsum("abij->jiab", l2.bbbb) * -1 - x157 += einsum("abij->jiba", l2.bbbb) - x158 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x158 += einsum("ijab,ijbc->ac", t2.bbbb, x157) - x159 += einsum("ab->ba", x158) * -1 - rdm2_f_oovv_bbbb += einsum("ij,ab->jiba", delta_oo.bb, x159) - rdm2_f_oovv_aabb += einsum("ij,ab->jiba", delta_oo.aa, x159) - rdm2_f_ovvo_bbbb += einsum("ij,ab->jabi", delta_oo.bb, x159) * -1 - rdm2_f_voov_bbbb += einsum("ij,ab->bija", delta_oo.bb, x159) * -1 - rdm2_f_vvoo_bbbb += einsum("ij,ab->baji", delta_oo.bb, x159) - rdm2_f_vvoo_bbaa += einsum("ij,ab->baji", delta_oo.aa, x159) - rdm2_f_vovv_aabb += einsum("ia,bc->aicb", t1.aa, x159) - rdm2_f_vvvo_bbaa += einsum("ia,bc->cbai", t1.aa, x159) - del x159 - x309 += einsum("ab->ba", x158) * -1 - del x158 - x310 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x310 += einsum("ab,ijca->ijcb", x309, t2.abab) - del x309 - rdm2_f_vovo_bbaa += einsum("ijab->bjai", x310) * -1 - rdm2_f_vovo_aabb += einsum("ijab->aibj", x310) * -1 - del x310 - x271 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x271 += einsum("ijab,ijbc->ac", t2.bbbb, x157) * 2 - x272 += einsum("ab->ba", x271) * -1 - x273 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x273 += einsum("ab,ijac->ijcb", x272, t2.bbbb) * 0.5 - del x272 - x280 += einsum("ijab->jiab", x273) - del x273 - x368 += einsum("ab->ba", x271) * -1 - del x271 - x369 += einsum("ia,bc->ibac", t1.bb, x368) * 0.5 - del x368 - x365 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x365 += einsum("ijab,ikbc->kjca", x157, x66) * 2 - del x66 - del x157 - x366 += einsum("ijab->jiba", x365) - del x365 - x367 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x367 += einsum("ia,ijbc->jabc", t1.bb, x366) * 0.5 - del x366 - x369 += einsum("iabc->ibac", x367) * -1 - del x367 - rdm2_f_vovv_bbbb = np.zeros((nvir[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - rdm2_f_vovv_bbbb += einsum("iabc->bica", x369) - rdm2_f_vovv_bbbb += einsum("iabc->ciba", x369) * -1 - rdm2_f_vvvo_bbbb = np.zeros((nvir[1], nvir[1], nvir[1], nocc[1]), dtype=types[float]) - rdm2_f_vvvo_bbbb += einsum("iabc->baci", x369) * -1 - rdm2_f_vvvo_bbbb += einsum("iabc->cabi", x369) - del x369 - x160 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x160 += einsum("abij,ikcb->jkac", l2.abab, t2.abab) - x372 = np.zeros((nocc[1], nvir[0], nvir[0], nvir[1]), dtype=types[float]) - x372 += einsum("ia,ijbc->jbca", t1.bb, x160) - rdm2_f_vovv_bbaa += einsum("iabc->ciba", x372) * -1 - rdm2_f_vvvo_aabb += einsum("iabc->baci", x372) * -1 - del x372 - rdm2_f_oovv_bbaa -= einsum("ijab->ijba", x160) - rdm2_f_vvoo_aabb -= einsum("ijab->baij", x160) - del x160 - x164 = np.zeros((nocc[0], nocc[0], nvir[1], nvir[1]), dtype=types[float]) - x164 += einsum("abij,kjac->ikbc", l2.abab, t2.abab) - x301 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x301 += einsum("ijab,ikbc->kjac", t2.abab, x164) - rdm2_f_vovo_bbaa += einsum("ijab->bjai", x301) - rdm2_f_vovo_aabb += einsum("ijab->aibj", x301) - del x301 - x382 = np.zeros((nocc[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) - x382 += einsum("ia,ijbc->jabc", t1.aa, x164) - rdm2_f_vovv_aabb += einsum("iabc->aicb", x382) * -1 - rdm2_f_vvvo_bbaa += einsum("iabc->cbai", x382) * -1 - del x382 - rdm2_f_oovv_aabb -= einsum("ijab->ijba", x164) - rdm2_f_vvoo_bbaa -= einsum("ijab->baij", x164) - del x164 - x166 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x166 += einsum("ijab->jiab", t2.aaaa) - x166 -= einsum("ijab->jiba", t2.aaaa) - x167 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x167 += einsum("ijab,ikac->jkbc", x134, x166) - del x134 - x303 += einsum("ijab->ijab", x167) - x304 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x304 += einsum("ijab,ikac->kjcb", t2.abab, x303) - del x303 - rdm2_f_vovo_bbaa += einsum("ijab->bjai", x304) - rdm2_f_vovo_aabb += einsum("ijab->aibj", x304) - del x304 - rdm2_f_ovvo_aaaa += einsum("ijab->iabj", x167) - rdm2_f_voov_aaaa += einsum("ijab->bjia", x167) - del x167 - x178 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x178 += einsum("abij,ikac->kjcb", l2.abab, x166) - x302 -= einsum("ijab->ijab", x178) - rdm2_f_vovo_bbaa += einsum("ijab,jkcb->ckai", x302, x84) - del x84 - rdm2_f_vovo_aabb -= einsum("ijab,kicb->ckaj", x148, x302) - del x148 - del x302 - rdm2_f_ovvo_bbaa -= einsum("ijab->jbai", x178) - rdm2_f_voov_aabb -= einsum("ijab->aijb", x178) - del x178 - x208 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x208 += einsum("ijab,iklb->jkla", x166, x168) - del x168 - x209 += einsum("ijka->jkia", x208) - del x208 - x210 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x210 += einsum("ia,ijkb->jkab", t1.aa, x209) - del x209 - x219 += einsum("ijab->ijab", x210) - del x210 - x213 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x213 += einsum("wai,ijab->wjb", lu11.aa, x166) - x214 -= einsum("wia->wia", x213) - del x213 - x217 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x217 += einsum("ai,ijab->jb", l1.aa, x166) - del x166 - x218 -= einsum("ia->ia", x217) - del x217 - x219 += einsum("ia,jb->ijab", t1.aa, x218) - del x218 - x170 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x170 += einsum("wxai,wxjb->ijab", lu12.aa, u12.bb) - x376 += einsum("ijab->ijab", x170) * -0.5 - rdm2_f_ovvo_aabb += einsum("ijab->iabj", x170) * 0.5 - rdm2_f_voov_bbaa += einsum("ijab->bjia", x170) * 0.5 - del x170 - x171 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x171 += einsum("wai,wjb->ijab", lu11.aa, u11.bb) - rdm2_f_ovvo_aabb += einsum("ijab->iabj", x171) - rdm2_f_voov_bbaa += einsum("ijab->bjia", x171) - del x171 - x175 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x175 += einsum("wxai,wxjb->jiba", lu12.bb, u12.aa) - x386 += einsum("ijab->ijab", x175) * -0.5 - rdm2_f_ovvo_bbaa += einsum("ijab->jbai", x175) * 0.5 - rdm2_f_voov_aabb += einsum("ijab->aijb", x175) * 0.5 - del x175 - x176 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x176 += einsum("wai,wjb->jiba", lu11.bb, u11.aa) - rdm2_f_ovvo_bbaa += einsum("ijab->jbai", x176) - rdm2_f_voov_aabb += einsum("ijab->aijb", x176) - del x176 - x183 = np.zeros((nbos, nbos, nocc[0], nvir[0]), dtype=types[float]) - x183 += einsum("wxai,jiba->wxjb", lu12.bb, t2.abab) - x185 += einsum("wxia->xwia", x183) - del x183 - x186 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x186 += einsum("wxia,wxjb->ijab", u12.aa, x185) * 0.5 - x194 += einsum("ijab->jiba", x186) * -1 - del x186 - rdm2_f_vovo_aaaa += einsum("ijab->aibj", x194) * -1 - rdm2_f_vovo_aaaa += einsum("ijab->biaj", x194) - rdm2_f_vovo_aaaa += einsum("ijab->ajbi", x194) - rdm2_f_vovo_aaaa += einsum("ijab->bjai", x194) * -1 - del x194 - x308 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x308 += einsum("wxia,wxjb->jiba", u12.bb, x185) * 0.5 - del x185 - rdm2_f_vovo_bbaa += einsum("ijab->bjai", x308) - rdm2_f_vovo_aabb += einsum("ijab->aibj", x308) - del x308 - x202 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x202 += einsum("abij,kiac->kjcb", l2.abab, t2.aaaa) - x203 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x203 += einsum("ijab,kjcb->kica", t2.abab, x202) - del x202 - x219 -= einsum("ijab->ijab", x203) - del x203 - x204 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x204 -= einsum("abij->jiab", l2.aaaa) - x204 += einsum("abij->jiba", l2.aaaa) - x205 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x205 += einsum("ijab,ikbc->jkac", t2.aaaa, x204) - del x204 - x206 -= einsum("ijab->jiba", x205) - del x205 - x207 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x207 += einsum("ijab,ikac->jkbc", t2.aaaa, x206) - del x206 - x219 += einsum("ijab->ijab", x207) - del x207 - x212 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x212 += einsum("wai,jiba->wjb", lu11.bb, t2.abab) - x214 += einsum("wia->wia", x212) - x215 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x215 += einsum("wia,wjb->ijab", u11.aa, x214) - del x214 - x219 += einsum("ijab->jiba", x215) - del x215 - rdm2_f_vovo_aaaa += einsum("ijab->aibj", x219) - rdm2_f_vovo_aaaa -= einsum("ijab->biaj", x219) - rdm2_f_vovo_aaaa -= einsum("ijab->ajbi", x219) - rdm2_f_vovo_aaaa += einsum("ijab->bjai", x219) - del x219 - x325 -= einsum("wia->wia", x212) - del x212 - x227 += einsum("ijab->jiba", t2.aaaa) - rdm2_f_vovo_aaaa -= einsum("ijab->biaj", x227) - rdm2_f_vovo_aaaa += einsum("ijab->aibj", x227) - del x227 - x228 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x228 += einsum("wx,xia->wia", ls2, u11.aa) - x229 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x229 += einsum("wia,wjb->jiba", u11.aa, x228) - rdm2_f_vovo_aaaa -= einsum("ijab->biaj", x229) - rdm2_f_vovo_aaaa += einsum("ijab->bjai", x229) - del x229 - x325 -= einsum("wia->wia", x228) - del x228 - x326 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x326 += einsum("wia,wjb->jiba", u11.bb, x325) - del x325 - rdm2_f_vovo_bbaa -= einsum("ijab->bjai", x326) - rdm2_f_vovo_aabb -= einsum("ijab->aibj", x326) - del x326 - x231 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x231 += einsum("ijab->jiba", t2.aaaa) - x231 += einsum("ia,jb->ijab", t1.aa, t1.aa) - x232 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x232 += einsum("ijkl,ijab->klab", x0, x231) - del x0 - del x231 - x233 += einsum("ijab->jiba", x232) - del x232 - rdm2_f_vovo_aaaa += einsum("ijab->ajbi", x233) * -1 - rdm2_f_vovo_aaaa += einsum("ijab->bjai", x233) - del x233 - x237 += einsum("ia->ia", t1.aa) * -1 - rdm2_f_vovo_aaaa += einsum("ia,jb->ajbi", t1.aa, x237) - rdm2_f_vovo_aaaa += einsum("ia,jb->bjai", t1.aa, x237) * -1 - del x237 - x246 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x246 += einsum("abij,kjcb->ikac", l2.abab, t2.bbbb) - x247 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x247 += einsum("ijab,ikac->jkbc", t2.abab, x246) - del x246 - x263 += einsum("ijab->ijab", x247) - del x247 - x255 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x255 += einsum("wai,ijab->wjb", lu11.aa, t2.abab) - x258 += einsum("wia->wia", x255) - x259 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x259 += einsum("wia,wjb->ijab", u11.bb, x258) - del x258 - x263 += einsum("ijab->jiba", x259) - del x259 - rdm2_f_vovo_bbbb += einsum("ijab->aibj", x263) - rdm2_f_vovo_bbbb -= einsum("ijab->biaj", x263) - rdm2_f_vovo_bbbb -= einsum("ijab->ajbi", x263) - rdm2_f_vovo_bbbb += einsum("ijab->bjai", x263) - del x263 - x329 -= einsum("wia->wia", x255) - del x255 - x330 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x330 += einsum("wia,wjb->ijab", u11.aa, x329) - del x329 - rdm2_f_vovo_bbaa -= einsum("ijab->bjai", x330) - rdm2_f_vovo_aabb -= einsum("ijab->aibj", x330) - del x330 - x267 = np.zeros((nbos, nbos, nocc[1], nvir[1]), dtype=types[float]) - x267 += einsum("wxai,ijab->wxjb", lu12.aa, t2.abab) - x269 += einsum("wxia->xwia", x267) - del x267 - x270 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x270 += einsum("wxia,wxjb->ijab", u12.bb, x269) * 0.5 - x280 += einsum("ijab->jiba", x270) * -1 - del x270 - rdm2_f_vovo_bbbb += einsum("ijab->aibj", x280) * -1 - rdm2_f_vovo_bbbb += einsum("ijab->biaj", x280) - rdm2_f_vovo_bbbb += einsum("ijab->ajbi", x280) - rdm2_f_vovo_bbbb += einsum("ijab->bjai", x280) * -1 - del x280 - x307 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x307 += einsum("wxia,wxjb->ijab", u12.aa, x269) * 0.5 - del x269 - rdm2_f_vovo_bbaa += einsum("ijab->bjai", x307) - rdm2_f_vovo_aabb += einsum("ijab->aibj", x307) - del x307 - x281 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x281 += einsum("wx,xia->wia", ls2, u11.bb) - x282 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x282 += einsum("wia,wjb->jiba", u11.bb, x281) - del x281 - x284 += einsum("ijab->jiba", x282) - del x282 - rdm2_f_vovo_bbbb -= einsum("ijab->ajbi", x284) - rdm2_f_vovo_bbbb += einsum("ijab->aibj", x284) - del x284 - x290 += einsum("ijab->jiba", t2.bbbb) - rdm2_f_vovo_bbbb -= einsum("ijab->biaj", x290) - rdm2_f_vovo_bbbb += einsum("ijab->aibj", x290) - del x290 - x299 += einsum("ia->ia", t1.bb) * -1 - rdm2_f_vovo_bbbb += einsum("ia,jb->biaj", t1.bb, x299) - rdm2_f_vovo_bbbb += einsum("ia,jb->aibj", t1.bb, x299) * -1 - del x299 - x333 += einsum("ia->ia", t1.bb) * -1 - rdm2_f_vovo_bbaa += einsum("ia,jb->bjai", t1.aa, x333) * -1 - del x333 - x337 += einsum("ia->ia", t1.aa) * -1 - rdm2_f_vovo_aabb += einsum("ia,jb->bjai", t1.bb, x337) * -1 - del x337 - x339 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x339 += einsum("ia,bcji->jbca", t1.aa, l2.aaaa) - x391 = np.zeros((nvir[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x391 += einsum("ia,ibcd->cbda", t1.aa, x339) - x392 = np.zeros((nvir[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x392 += einsum("abcd->badc", x391) - del x391 - rdm2_f_ovvv_aaaa = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - rdm2_f_ovvv_aaaa += einsum("iabc->iacb", x339) - rdm2_f_ovvv_aaaa -= einsum("iabc->ibca", x339) - rdm2_f_vvov_aaaa = np.zeros((nvir[0], nvir[0], nocc[0], nvir[0]), dtype=types[float]) - rdm2_f_vvov_aaaa -= einsum("iabc->caib", x339) - rdm2_f_vvov_aaaa += einsum("iabc->cbia", x339) - del x339 - x340 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x340 += einsum("ia,bcji->jbca", t1.bb, l2.bbbb) - x396 = np.zeros((nvir[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x396 += einsum("ia,ibcd->cbda", t1.bb, x340) - x397 = np.zeros((nvir[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x397 += einsum("abcd->badc", x396) - del x396 - rdm2_f_ovvv_bbbb = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - rdm2_f_ovvv_bbbb += einsum("iabc->iacb", x340) - rdm2_f_ovvv_bbbb -= einsum("iabc->ibca", x340) - rdm2_f_vvov_bbbb = np.zeros((nvir[1], nvir[1], nocc[1], nvir[1]), dtype=types[float]) - rdm2_f_vvov_bbbb -= einsum("iabc->caib", x340) - rdm2_f_vvov_bbbb += einsum("iabc->cbia", x340) - del x340 - x341 = np.zeros((nocc[1], nvir[0], nvir[0], nvir[1]), dtype=types[float]) - x341 += einsum("ia,bcij->jbac", t1.aa, l2.abab) - rdm2_f_ovvv_bbaa = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - rdm2_f_ovvv_bbaa += einsum("iabc->icba", x341) - rdm2_f_vvov_aabb = np.zeros((nvir[0], nvir[0], nocc[1], nvir[1]), dtype=types[float]) - rdm2_f_vvov_aabb += einsum("iabc->baic", x341) - del x341 - x342 = np.zeros((nocc[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) - x342 += einsum("ia,bcji->jbca", t1.bb, l2.abab) - x394 = np.zeros((nvir[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) - x394 += einsum("ia,ibcd->bacd", t1.aa, x342) - rdm2_f_vvvv_bbaa = np.zeros((nvir[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - rdm2_f_vvvv_bbaa += einsum("abcd->dcba", x394) - rdm2_f_vvvv_aabb = np.zeros((nvir[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) - rdm2_f_vvvv_aabb += einsum("abcd->badc", x394) - del x394 - rdm2_f_ovvv_aabb = np.zeros((nocc[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) - rdm2_f_ovvv_aabb += einsum("iabc->iacb", x342) - rdm2_f_vvov_bbaa = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - rdm2_f_vvov_bbaa += einsum("iabc->cbia", x342) - del x342 - x343 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x343 += einsum("ai,jibc->jabc", l1.aa, t2.aaaa) - x349 += einsum("iabc->iabc", x343) - del x343 - x344 = np.zeros((nbos, nvir[0], nvir[0]), dtype=types[float]) - x344 += einsum("ia,wbi->wba", t1.aa, lu11.aa) - x345 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x345 += einsum("wia,wbc->ibca", u11.aa, x344) - x349 -= einsum("iabc->iabc", x345) - del x345 - x378 = np.zeros((nbos, nvir[0], nvir[0]), dtype=types[float]) - x378 += einsum("wab->wab", x344) - del x344 - x346 = np.zeros((nbos, nvir[0], nvir[0]), dtype=types[float]) - x346 += einsum("wia,xwbi->xba", u11.aa, lu12.aa) - x347 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x347 += einsum("wia,wbc->ibac", u11.aa, x346) - x349 += einsum("iabc->iabc", x347) - del x347 - rdm2_f_vovv_aaaa += einsum("iabc->bica", x349) - rdm2_f_vovv_aaaa -= einsum("iabc->ciba", x349) - rdm2_f_vvvo_aaaa -= einsum("iabc->baci", x349) - rdm2_f_vvvo_aaaa += einsum("iabc->cabi", x349) - del x349 - x378 += einsum("wab->wab", x346) - del x346 - x379 = np.zeros((nocc[1], nvir[0], nvir[0], nvir[1]), dtype=types[float]) - x379 += einsum("wia,wbc->ibca", u11.bb, x378) - del x378 - rdm2_f_vovv_bbaa += einsum("iabc->ciba", x379) - rdm2_f_vvvo_aabb += einsum("iabc->baci", x379) - del x379 - x356 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x356 += einsum("ai,jibc->jabc", l1.bb, t2.bbbb) - x362 += einsum("iabc->iabc", x356) - del x356 - x357 = np.zeros((nbos, nvir[1], nvir[1]), dtype=types[float]) - x357 += einsum("ia,wbi->wba", t1.bb, lu11.bb) - x358 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x358 += einsum("wia,wbc->ibca", u11.bb, x357) - x362 -= einsum("iabc->iabc", x358) - del x358 - x388 = np.zeros((nbos, nvir[1], nvir[1]), dtype=types[float]) - x388 += einsum("wab->wab", x357) - del x357 - x359 = np.zeros((nbos, nvir[1], nvir[1]), dtype=types[float]) - x359 += einsum("wia,xwbi->xba", u11.bb, lu12.bb) - x360 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x360 += einsum("wia,wbc->ibac", u11.bb, x359) - x362 += einsum("iabc->iabc", x360) - del x360 - rdm2_f_vovv_bbbb += einsum("iabc->bica", x362) - rdm2_f_vovv_bbbb -= einsum("iabc->ciba", x362) - rdm2_f_vvvo_bbbb -= einsum("iabc->baci", x362) - rdm2_f_vvvo_bbbb += einsum("iabc->cabi", x362) - del x362 - x388 += einsum("wab->wab", x359) - del x359 - x389 = np.zeros((nocc[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) - x389 += einsum("wia,wbc->iabc", u11.aa, x388) - del x388 - rdm2_f_vovv_aabb += einsum("iabc->aicb", x389) - rdm2_f_vvvo_bbaa += einsum("iabc->cbai", x389) - del x389 - x370 = np.zeros((nocc[1], nvir[0], nvir[0], nvir[1]), dtype=types[float]) - x370 += einsum("ai,ijbc->jabc", l1.aa, t2.abab) - rdm2_f_vovv_bbaa += einsum("iabc->ciba", x370) - rdm2_f_vvvo_aabb += einsum("iabc->baci", x370) - del x370 - x373 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x373 += einsum("abij->jiab", l2.aaaa) * -1 - x373 += einsum("abij->jiba", l2.aaaa) - x374 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x374 += einsum("ijab,ikac->kjcb", t2.abab, x373) - del x373 - x376 += einsum("ijab->ijab", x374) * -1 - del x374 - x377 = np.zeros((nocc[1], nvir[0], nvir[0], nvir[1]), dtype=types[float]) - x377 += einsum("ia,ijbc->jabc", t1.aa, x376) - del x376 - rdm2_f_vovv_bbaa += einsum("iabc->ciab", x377) * -1 - rdm2_f_vvvo_aabb += einsum("iabc->abci", x377) * -1 - del x377 - x380 = np.zeros((nocc[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) - x380 += einsum("ai,jibc->jbac", l1.bb, t2.abab) - rdm2_f_vovv_aabb += einsum("iabc->aicb", x380) - rdm2_f_vvvo_bbaa += einsum("iabc->cbai", x380) - del x380 - x384 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x384 += einsum("abij->jiab", l2.bbbb) - x384 += einsum("abij->jiba", l2.bbbb) * -1 - x385 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x385 += einsum("ijab,jkcb->ikac", t2.abab, x384) - del x384 - x386 += einsum("ijab->ijab", x385) * -1 - del x385 - x387 = np.zeros((nocc[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) - x387 += einsum("ia,jibc->jbac", t1.bb, x386) - del x386 - rdm2_f_vovv_aabb += einsum("iabc->aibc", x387) * -1 - rdm2_f_vvvo_bbaa += einsum("iabc->bcai", x387) * -1 - del x387 - x390 = np.zeros((nvir[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x390 += einsum("abij,ijcd->abcd", l2.aaaa, t2.aaaa) - x392 += einsum("abcd->badc", x390) - del x390 - rdm2_f_vvvv_aaaa = np.zeros((nvir[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - rdm2_f_vvvv_aaaa += einsum("abcd->dacb", x392) * -1 - rdm2_f_vvvv_aaaa += einsum("abcd->cadb", x392) - del x392 - x393 = np.zeros((nvir[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) - x393 += einsum("abij,ijcd->acbd", l2.abab, t2.abab) - rdm2_f_vvvv_bbaa += einsum("abcd->dcba", x393) - rdm2_f_vvvv_aabb += einsum("abcd->badc", x393) - del x393 - x395 = np.zeros((nvir[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x395 += einsum("abij,ijcd->abcd", l2.bbbb, t2.bbbb) - x397 += einsum("abcd->badc", x395) - del x395 - rdm2_f_vvvv_bbbb = np.zeros((nvir[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - rdm2_f_vvvv_bbbb += einsum("abcd->dacb", x397) * -1 - rdm2_f_vvvv_bbbb += einsum("abcd->cadb", x397) - del x397 - rdm2_f_oooo_aaaa += einsum("ij,kl->jilk", delta_oo.aa, delta_oo.aa) - rdm2_f_oooo_aaaa -= einsum("ij,kl->ljik", delta_oo.aa, delta_oo.aa) - rdm2_f_oooo_bbbb += einsum("ij,kl->jilk", delta_oo.bb, delta_oo.bb) - rdm2_f_oooo_bbbb -= einsum("ij,kl->ljik", delta_oo.bb, delta_oo.bb) - rdm2_f_ooov_aaaa += einsum("ij,ak->jika", delta_oo.aa, l1.aa) - rdm2_f_ooov_aaaa -= einsum("ij,ak->kija", delta_oo.aa, l1.aa) - rdm2_f_ooov_bbbb += einsum("ij,ak->jika", delta_oo.bb, l1.bb) - rdm2_f_ooov_bbbb -= einsum("ij,ak->kija", delta_oo.bb, l1.bb) - rdm2_f_ooov_aabb += einsum("ij,ak->jika", delta_oo.aa, l1.bb) - rdm2_f_ooov_bbaa += einsum("ij,ak->jika", delta_oo.bb, l1.aa) - rdm2_f_ovoo_aaaa -= einsum("ij,ak->jaki", delta_oo.aa, l1.aa) - rdm2_f_ovoo_aaaa += einsum("ij,ak->kaji", delta_oo.aa, l1.aa) - rdm2_f_ovoo_bbaa += einsum("ij,ak->kaji", delta_oo.aa, l1.bb) - rdm2_f_ovoo_aabb += einsum("ij,ak->kaji", delta_oo.bb, l1.aa) - rdm2_f_ovoo_bbbb -= einsum("ij,ak->jaki", delta_oo.bb, l1.bb) - rdm2_f_ovoo_bbbb += einsum("ij,ak->kaji", delta_oo.bb, l1.bb) - rdm2_f_oovo_aaaa -= einsum("ij,ka->jkai", delta_oo.aa, t1.aa) - rdm2_f_vooo_aaaa += einsum("ij,ka->akji", delta_oo.aa, t1.aa) - rdm2_f_ovov_aaaa = np.zeros((nocc[0], nvir[0], nocc[0], nvir[0]), dtype=types[float]) - rdm2_f_ovov_aaaa -= einsum("abij->jaib", l2.aaaa) - rdm2_f_ovov_aaaa += einsum("abij->jbia", l2.aaaa) - rdm2_f_ovov_bbbb = np.zeros((nocc[1], nvir[1], nocc[1], nvir[1]), dtype=types[float]) - rdm2_f_ovov_bbbb -= einsum("abij->jaib", l2.bbbb) - rdm2_f_ovov_bbbb += einsum("abij->jbia", l2.bbbb) - rdm2_f_ovov_bbaa = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - rdm2_f_ovov_bbaa += einsum("abij->jbia", l2.abab) - rdm2_f_ovov_aabb = np.zeros((nocc[0], nvir[0], nocc[1], nvir[1]), dtype=types[float]) - rdm2_f_ovov_aabb += einsum("abij->iajb", l2.abab) - rdm2_f_oovv_aaaa -= einsum("ai,jb->ijba", l1.aa, t1.aa) - rdm2_f_oovv_bbbb -= einsum("ai,jb->ijba", l1.bb, t1.bb) - rdm2_f_ovvo_aaaa += einsum("ai,jb->iabj", l1.aa, t1.aa) - rdm2_f_ovvo_aabb += einsum("ai,jb->iabj", l1.aa, t1.bb) - rdm2_f_ovvo_bbaa += einsum("ai,jb->iabj", l1.bb, t1.aa) - rdm2_f_ovvo_bbbb += einsum("ai,jb->iabj", l1.bb, t1.bb) - rdm2_f_voov_aaaa += einsum("ai,jb->bjia", l1.aa, t1.aa) - rdm2_f_voov_bbaa += einsum("ai,jb->bjia", l1.aa, t1.bb) - rdm2_f_voov_aabb += einsum("ai,jb->bjia", l1.bb, t1.aa) - rdm2_f_voov_bbbb += einsum("ai,jb->bjia", l1.bb, t1.bb) - rdm2_f_vvoo_aaaa -= einsum("ai,jb->baij", l1.aa, t1.aa) - rdm2_f_vvoo_bbbb -= einsum("ai,jb->baij", l1.bb, t1.bb) - rdm2_f_vovo_bbaa += einsum("ijab->bjai", t2.abab) - rdm2_f_vovo_aabb += einsum("ijab->aibj", t2.abab) - - rdm2_f_aaaa = pack_2e(rdm2_f_oooo_aaaa, rdm2_f_ooov_aaaa, rdm2_f_oovo_aaaa, rdm2_f_ovoo_aaaa, rdm2_f_vooo_aaaa, rdm2_f_oovv_aaaa, rdm2_f_ovov_aaaa, rdm2_f_ovvo_aaaa, rdm2_f_voov_aaaa, rdm2_f_vovo_aaaa, rdm2_f_vvoo_aaaa, rdm2_f_ovvv_aaaa, rdm2_f_vovv_aaaa, rdm2_f_vvov_aaaa, rdm2_f_vvvo_aaaa, rdm2_f_vvvv_aaaa) - rdm2_f_aabb = pack_2e(rdm2_f_oooo_aabb, rdm2_f_ooov_aabb, rdm2_f_oovo_aabb, rdm2_f_ovoo_aabb, rdm2_f_vooo_aabb, rdm2_f_oovv_aabb, rdm2_f_ovov_aabb, rdm2_f_ovvo_aabb, rdm2_f_voov_aabb, rdm2_f_vovo_aabb, rdm2_f_vvoo_aabb, rdm2_f_ovvv_aabb, rdm2_f_vovv_aabb, rdm2_f_vvov_aabb, rdm2_f_vvvo_aabb, rdm2_f_vvvv_aabb) - rdm2_f_bbaa = pack_2e(rdm2_f_oooo_bbaa, rdm2_f_ooov_bbaa, rdm2_f_oovo_bbaa, rdm2_f_ovoo_bbaa, rdm2_f_vooo_bbaa, rdm2_f_oovv_bbaa, rdm2_f_ovov_bbaa, rdm2_f_ovvo_bbaa, rdm2_f_voov_bbaa, rdm2_f_vovo_bbaa, rdm2_f_vvoo_bbaa, rdm2_f_ovvv_bbaa, rdm2_f_vovv_bbaa, rdm2_f_vvov_bbaa, rdm2_f_vvvo_bbaa, rdm2_f_vvvv_bbaa) - rdm2_f_bbbb = pack_2e(rdm2_f_oooo_bbbb, rdm2_f_ooov_bbbb, rdm2_f_oovo_bbbb, rdm2_f_ovoo_bbbb, rdm2_f_vooo_bbbb, rdm2_f_oovv_bbbb, rdm2_f_ovov_bbbb, rdm2_f_ovvo_bbbb, rdm2_f_voov_bbbb, rdm2_f_vovo_bbbb, rdm2_f_vvoo_bbbb, rdm2_f_ovvv_bbbb, rdm2_f_vovv_bbbb, rdm2_f_vvov_bbbb, rdm2_f_vvvo_bbbb, rdm2_f_vvvv_bbbb) - - rdm2_f.aaaa = rdm2_f_aaaa - rdm2_f.aabb = rdm2_f_aabb - rdm2_f.bbaa = rdm2_f_bbaa - rdm2_f.bbbb = rdm2_f_bbbb - - return rdm2_f - -def make_sing_b_dm(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, s2=None, u11=None, u12=None, l1=None, l2=None, ls1=None, ls2=None, lu11=None, lu12=None, **kwargs): - # Get boson coupling creation array: - gc = Namespace( - aa = Namespace( - boo=g.aa.boo.transpose(0, 2, 1), - bov=g.aa.bvo.transpose(0, 2, 1), - bvo=g.aa.bov.transpose(0, 2, 1), - bvv=g.aa.bvv.transpose(0, 2, 1), - ), - bb = Namespace( - boo=g.bb.boo.transpose(0, 2, 1), - bov=g.bb.bvo.transpose(0, 2, 1), - bvo=g.bb.bov.transpose(0, 2, 1), - bvv=g.bb.bvv.transpose(0, 2, 1), - ), - ) - - # Single boson DM - dm_b_cre = np.zeros((nbos), dtype=types[float]) - dm_b_cre += einsum("w->w", ls1) - dm_b_des = np.zeros((nbos), dtype=types[float]) - dm_b_des += einsum("ai,wia->w", l1.aa, u11.aa) - dm_b_des += einsum("wai,xwia->x", lu11.aa, u12.aa) - dm_b_des += einsum("w->w", s1) - dm_b_des += einsum("ai,wia->w", l1.bb, u11.bb) - dm_b_des += einsum("w,xw->x", ls1, s2) - dm_b_des += einsum("wai,xwia->x", lu11.bb, u12.bb) - - dm_b = np.array([dm_b_cre, dm_b_des]) - - return dm_b - -def make_rdm1_b(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, s2=None, u11=None, u12=None, l1=None, l2=None, ls1=None, ls2=None, lu11=None, lu12=None, **kwargs): - # Get boson coupling creation array: - gc = Namespace( - aa = Namespace( - boo=g.aa.boo.transpose(0, 2, 1), - bov=g.aa.bvo.transpose(0, 2, 1), - bvo=g.aa.bov.transpose(0, 2, 1), - bvv=g.aa.bvv.transpose(0, 2, 1), - ), - bb = Namespace( - boo=g.bb.boo.transpose(0, 2, 1), - bov=g.bb.bvo.transpose(0, 2, 1), - bvo=g.bb.bov.transpose(0, 2, 1), - bvv=g.bb.bvv.transpose(0, 2, 1), - ), - ) - - # Boson 1RDM - rdm1_b = np.zeros((nbos, nbos), dtype=types[float]) - rdm1_b += einsum("wxai,yxia->wy", lu12.bb, u12.bb) - rdm1_b += einsum("wai,xia->wx", lu11.aa, u11.aa) - rdm1_b += einsum("wx,yx->wy", ls2, s2) - rdm1_b += einsum("wxai,yxia->wy", lu12.aa, u12.aa) - rdm1_b += einsum("w,x->wx", ls1, s1) - rdm1_b += einsum("wai,xia->wx", lu11.bb, u11.bb) - - return rdm1_b - -def make_eb_coup_rdm(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, s2=None, u11=None, u12=None, l1=None, l2=None, ls1=None, ls2=None, lu11=None, lu12=None, **kwargs): - rdm_eb = Namespace() - - # Get boson coupling creation array: - gc = Namespace( - aa = Namespace( - boo=g.aa.boo.transpose(0, 2, 1), - bov=g.aa.bvo.transpose(0, 2, 1), - bvo=g.aa.bov.transpose(0, 2, 1), - bvv=g.aa.bvv.transpose(0, 2, 1), - ), - bb = Namespace( - boo=g.bb.boo.transpose(0, 2, 1), - bov=g.bb.bvo.transpose(0, 2, 1), - bvo=g.bb.bov.transpose(0, 2, 1), - bvv=g.bb.bvv.transpose(0, 2, 1), - ), - ) - - delta_oo = Namespace() - delta_oo.aa = np.eye(nocc[0]) - delta_oo.bb = np.eye(nocc[1]) - delta_vv = Namespace() - delta_vv.aa = np.eye(nvir[0]) - delta_vv.bb = np.eye(nvir[1]) - - # Boson-fermion coupling RDM - x0 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) - x0 += einsum("wia,xwaj->xji", u11.aa, lu12.aa) - x7 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) - x7 += einsum("wij->wij", x0) - x16 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) - x16 += einsum("wx,xij->wij", s2, x0) - x64 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) - x64 += einsum("wij->wij", x16) - rdm_eb_des_oo_aa = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) - rdm_eb_des_oo_aa -= einsum("wij->wji", x16) - del x16 - x75 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) - x75 += einsum("wij->wij", x0) - rdm_eb_cre_oo_aa = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) - rdm_eb_cre_oo_aa -= einsum("wij->wji", x0) - del x0 - x1 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) - x1 += einsum("ia,waj->wji", t1.aa, lu11.aa) - x7 += einsum("wij->wij", x1) - rdm_eb_cre_ov_aa = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - rdm_eb_cre_ov_aa -= einsum("ia,wij->wja", t1.aa, x7) - rdm_eb_des_ov_aa = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - rdm_eb_des_ov_aa -= einsum("wij,wxia->xja", x7, u12.aa) - del x7 - x75 += einsum("wij->wij", x1) - x77 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x77 += einsum("wia,wij->ja", u11.aa, x75) - del x75 - rdm_eb_cre_oo_aa -= einsum("wij->wji", x1) - del x1 - x2 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) - x2 += einsum("wia,xwaj->xji", u11.bb, lu12.bb) - x11 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) - x11 += einsum("wij->wij", x2) - x36 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) - x36 += einsum("wx,xij->wij", s2, x2) - x83 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) - x83 += einsum("wij->wij", x36) - rdm_eb_des_oo_bb = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) - rdm_eb_des_oo_bb -= einsum("wij->wji", x36) - del x36 - x89 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) - x89 += einsum("wij->wij", x2) - rdm_eb_cre_oo_bb = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) - rdm_eb_cre_oo_bb -= einsum("wij->wji", x2) - del x2 - x3 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) - x3 += einsum("ia,waj->wji", t1.bb, lu11.bb) - x11 += einsum("wij->wij", x3) - rdm_eb_cre_ov_bb = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - rdm_eb_cre_ov_bb -= einsum("ia,wij->wja", t1.bb, x11) - rdm_eb_des_ov_bb = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - rdm_eb_des_ov_bb -= einsum("wij,wxia->xja", x11, u12.bb) - del x11 - x89 += einsum("wij->wij", x3) - x91 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x91 += einsum("wia,wij->ja", u11.bb, x89) - del x89 - rdm_eb_cre_oo_bb -= einsum("wij->wji", x3) - del x3 - x4 = np.zeros((nbos, nbos, nocc[0], nocc[0]), dtype=types[float]) - x4 += einsum("ia,wxaj->wxji", t1.aa, lu12.aa) - x5 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x5 += einsum("wia,xwij->xja", u11.aa, x4) - rdm_eb_cre_ov_aa -= einsum("wia->wia", x5) - rdm_eb_des_ov_aa -= einsum("wx,xia->wia", s2, x5) - del x5 - x77 += einsum("wxia,wxij->ja", u12.aa, x4) * 0.5 - del x4 - x6 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x6 += einsum("ijab->jiab", t2.aaaa) - x6 -= einsum("ijab->jiba", t2.aaaa) - rdm_eb_cre_ov_aa -= einsum("wai,ijab->wjb", lu11.aa, x6) - x8 = np.zeros((nbos, nbos, nocc[1], nocc[1]), dtype=types[float]) - x8 += einsum("ia,wxaj->wxji", t1.bb, lu12.bb) - x9 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x9 += einsum("wia,xwij->xja", u11.bb, x8) - rdm_eb_cre_ov_bb -= einsum("wia->wia", x9) - rdm_eb_des_ov_bb -= einsum("wx,xia->wia", s2, x9) - del x9 - x91 += einsum("wxia,wxij->ja", u12.bb, x8) * 0.5 - del x8 - x10 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x10 += einsum("ijab->jiab", t2.bbbb) - x10 -= einsum("ijab->jiba", t2.bbbb) - rdm_eb_cre_ov_bb -= einsum("wai,ijab->wjb", lu11.bb, x10) - x12 = np.zeros((nbos, nvir[0], nvir[0]), dtype=types[float]) - x12 += einsum("wia,xwbi->xba", u11.aa, lu12.aa) - rdm_eb_cre_vv_aa = np.zeros((nbos, nvir[0], nvir[0]), dtype=types[float]) - rdm_eb_cre_vv_aa += einsum("wab->wab", x12) - rdm_eb_des_ov_aa -= einsum("wab,xwia->xib", x12, u12.aa) - rdm_eb_des_vv_aa = np.zeros((nbos, nvir[0], nvir[0]), dtype=types[float]) - rdm_eb_des_vv_aa += einsum("wx,xab->wab", s2, x12) - del x12 - x13 = np.zeros((nbos, nvir[1], nvir[1]), dtype=types[float]) - x13 += einsum("wia,xwbi->xba", u11.bb, lu12.bb) - rdm_eb_cre_vv_bb = np.zeros((nbos, nvir[1], nvir[1]), dtype=types[float]) - rdm_eb_cre_vv_bb += einsum("wab->wab", x13) - rdm_eb_des_ov_bb -= einsum("wab,xwia->xib", x13, u12.bb) - rdm_eb_des_vv_bb = np.zeros((nbos, nvir[1], nvir[1]), dtype=types[float]) - rdm_eb_des_vv_bb += einsum("wx,xab->wab", s2, x13) - del x13 - x14 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) - x14 += einsum("wai,xwja->xij", lu11.aa, u12.aa) - x64 += einsum("wij->wij", x14) - rdm_eb_des_oo_aa -= einsum("wij->wji", x14) - del x14 - x15 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) - x15 += einsum("ai,wja->wij", l1.aa, u11.aa) - x64 += einsum("wij->wij", x15) - rdm_eb_des_oo_aa -= einsum("wij->wji", x15) - del x15 - x17 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x17 += einsum("wx,xai->wia", s2, lu11.aa) - x21 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x21 += einsum("wia->wia", x17) - x52 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x52 += einsum("wia->wia", x17) - rdm_eb_des_vo_aa = np.zeros((nbos, nvir[0], nocc[0]), dtype=types[float]) - rdm_eb_des_vo_aa += einsum("wia->wai", x17) - del x17 - x18 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x18 += einsum("wia,baji->wjb", u11.bb, l2.abab) - x21 += einsum("wia->wia", x18) - x52 += einsum("wia->wia", x18) - rdm_eb_des_vo_aa += einsum("wia->wai", x18) - del x18 - x19 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x19 += einsum("abij->jiab", l2.aaaa) - x19 += einsum("abij->jiba", l2.aaaa) * -1 - x20 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x20 += einsum("wia,ijab->wjb", u11.aa, x19) - x21 += einsum("wia->wia", x20) * -1 - del x20 - rdm_eb_des_oo_aa += einsum("ia,wja->wij", t1.aa, x21) * -1 - rdm_eb_des_vv_aa += einsum("ia,wib->wba", t1.aa, x21) - del x21 - x62 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x62 += einsum("ijab,ijcb->ac", t2.aaaa, x19) - del x19 - x63 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x63 += einsum("ab->ba", x62) * -1 - x92 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x92 += einsum("ab->ba", x62) * -1 - del x62 - x22 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x22 += einsum("ai,ja->ij", l1.aa, t1.aa) - x28 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x28 += einsum("ij->ij", x22) - x65 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x65 += einsum("ij->ij", x22) - x76 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x76 += einsum("ij->ij", x22) - del x22 - x23 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x23 += einsum("wai,wja->ij", lu11.aa, u11.aa) - x28 += einsum("ij->ij", x23) - x65 += einsum("ij->ij", x23) - x76 += einsum("ij->ij", x23) - del x23 - x24 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x24 += einsum("wxai,wxja->ij", lu12.aa, u12.aa) - x28 += einsum("ij->ij", x24) * 0.5 - x65 += einsum("ij->ij", x24) * 0.5 - x76 += einsum("ij->ij", x24) * 0.5 - del x24 - x25 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x25 += einsum("abij,kjab->ik", l2.abab, t2.abab) - x28 += einsum("ij->ij", x25) - x65 += einsum("ij->ij", x25) - x76 += einsum("ij->ij", x25) - del x25 - x26 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x26 += einsum("ijab->jiab", t2.aaaa) - x26 += einsum("ijab->jiba", t2.aaaa) * -1 - x27 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x27 += einsum("abij,ikab->jk", l2.aaaa, x26) - x28 += einsum("ij->ij", x27) * -1 - x65 += einsum("ij->ij", x27) * -1 - del x27 - rdm_eb_des_ov_aa += einsum("ij,wia->wja", x65, u11.aa) * -1 - del x65 - x76 += einsum("abij,ikab->jk", l2.aaaa, x26) * -1 - x77 += einsum("ia,ij->ja", t1.aa, x76) - del x76 - x77 += einsum("ai,ijba->jb", l1.aa, x26) * -1 - del x26 - x28 += einsum("ij->ji", delta_oo.aa) * -1 - rdm_eb_des_oo_aa += einsum("w,ij->wji", s1, x28) * -1 - del x28 - x29 = np.zeros((nbos), dtype=types[float]) - x29 += einsum("w,xw->x", ls1, s2) - x34 = np.zeros((nbos), dtype=types[float]) - x34 += einsum("w->w", x29) - del x29 - x30 = np.zeros((nbos), dtype=types[float]) - x30 += einsum("ai,wia->w", l1.aa, u11.aa) - x34 += einsum("w->w", x30) - del x30 - x31 = np.zeros((nbos), dtype=types[float]) - x31 += einsum("ai,wia->w", l1.bb, u11.bb) - x34 += einsum("w->w", x31) - del x31 - x32 = np.zeros((nbos), dtype=types[float]) - x32 += einsum("wai,xwia->x", lu11.aa, u12.aa) - x34 += einsum("w->w", x32) - del x32 - x33 = np.zeros((nbos), dtype=types[float]) - x33 += einsum("wai,xwia->x", lu11.bb, u12.bb) - x34 += einsum("w->w", x33) - del x33 - rdm_eb_des_oo_aa += einsum("w,ij->wji", x34, delta_oo.aa) - rdm_eb_des_oo_bb += einsum("w,ij->wji", x34, delta_oo.bb) - rdm_eb_des_ov_aa += einsum("w,ia->wia", x34, t1.aa) - rdm_eb_des_ov_bb += einsum("w,ia->wia", x34, t1.bb) - del x34 - x35 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) - x35 += einsum("wai,xwja->xij", lu11.bb, u12.bb) - x83 += einsum("wij->wij", x35) - rdm_eb_des_oo_bb -= einsum("wij->wji", x35) - del x35 - x37 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) - x37 += einsum("ai,wja->wij", l1.bb, u11.bb) - x83 += einsum("wij->wij", x37) - rdm_eb_des_oo_bb -= einsum("wij->wji", x37) - del x37 - x38 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x38 += einsum("wx,xai->wia", s2, lu11.bb) - x42 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x42 += einsum("wia->wia", x38) - x55 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x55 += einsum("wia->wia", x38) - rdm_eb_des_vo_bb = np.zeros((nbos, nvir[1], nocc[1]), dtype=types[float]) - rdm_eb_des_vo_bb += einsum("wia->wai", x38) - del x38 - x39 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x39 += einsum("wia,abij->wjb", u11.aa, l2.abab) - x42 += einsum("wia->wia", x39) - x55 += einsum("wia->wia", x39) - rdm_eb_des_vo_bb += einsum("wia->wai", x39) - del x39 - x40 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x40 += einsum("abij->jiab", l2.bbbb) - x40 += einsum("abij->jiba", l2.bbbb) * -1 - x41 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x41 += einsum("wia,ijab->wjb", u11.bb, x40) - del x40 - x42 += einsum("wia->wia", x41) * -1 - del x41 - rdm_eb_des_oo_bb += einsum("ia,wja->wij", t1.bb, x42) * -1 - rdm_eb_des_vv_bb += einsum("ia,wib->wba", t1.bb, x42) - del x42 - x43 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x43 += einsum("ai,ja->ij", l1.bb, t1.bb) - x49 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x49 += einsum("ij->ij", x43) - x84 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x84 += einsum("ij->ij", x43) - x90 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x90 += einsum("ij->ij", x43) - del x43 - x44 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x44 += einsum("wai,wja->ij", lu11.bb, u11.bb) - x49 += einsum("ij->ij", x44) - x84 += einsum("ij->ij", x44) - x90 += einsum("ij->ij", x44) - del x44 - x45 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x45 += einsum("wxai,wxja->ij", lu12.bb, u12.bb) - x49 += einsum("ij->ij", x45) * 0.5 - x84 += einsum("ij->ij", x45) * 0.5 - x90 += einsum("ij->ij", x45) * 0.5 - del x45 - x46 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x46 += einsum("abij,ikab->jk", l2.abab, t2.abab) - x49 += einsum("ij->ij", x46) - x84 += einsum("ij->ij", x46) - x90 += einsum("ij->ij", x46) - del x46 - x47 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x47 += einsum("ijab->jiab", t2.bbbb) * -1 - x47 += einsum("ijab->jiba", t2.bbbb) - x48 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x48 += einsum("abij,ikba->jk", l2.bbbb, x47) - x49 += einsum("ij->ij", x48) * -1 - x84 += einsum("ij->ij", x48) * -1 - del x48 - rdm_eb_des_ov_bb += einsum("ij,wia->wja", x84, u11.bb) * -1 - del x84 - x90 += einsum("abij,ikba->jk", l2.bbbb, x47) * -1 - del x47 - x91 += einsum("ia,ij->ja", t1.bb, x90) - del x90 - x49 += einsum("ij->ji", delta_oo.bb) * -1 - rdm_eb_des_oo_bb += einsum("w,ij->wji", s1, x49) * -1 - del x49 - x50 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x50 += einsum("abij->jiab", l2.aaaa) - x50 -= einsum("abij->jiba", l2.aaaa) - x51 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x51 += einsum("wia,ijab->wjb", u11.aa, x50) - del x50 - x52 -= einsum("wia->wia", x51) - x64 += einsum("ia,wja->wji", t1.aa, x52) - rdm_eb_des_ov_aa -= einsum("ia,wij->wja", t1.aa, x64) - del x64 - rdm_eb_des_ov_aa -= einsum("wia,ijab->wjb", x52, x6) - del x6 - rdm_eb_des_ov_bb += einsum("wia,ijab->wjb", x52, t2.abab) - del x52 - rdm_eb_des_vo_aa -= einsum("wia->wai", x51) - del x51 - x53 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x53 += einsum("abij->jiab", l2.bbbb) - x53 -= einsum("abij->jiba", l2.bbbb) - x54 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x54 += einsum("wia,ijab->wjb", u11.bb, x53) - del x53 - x55 -= einsum("wia->wia", x54) - x83 += einsum("ia,wja->wji", t1.bb, x55) - rdm_eb_des_ov_bb -= einsum("ia,wij->wja", t1.bb, x83) - del x83 - rdm_eb_des_ov_aa += einsum("wia,jiba->wjb", x55, t2.abab) - rdm_eb_des_ov_bb -= einsum("wia,ijab->wjb", x55, x10) - del x10 - del x55 - rdm_eb_des_vo_bb -= einsum("wia->wai", x54) - del x54 - x56 = np.zeros((nbos, nbos, nbos), dtype=types[float]) - x56 += einsum("wia,xyai->xyw", u11.aa, lu12.aa) - x58 = np.zeros((nbos, nbos, nbos), dtype=types[float]) - x58 += einsum("wxy->xwy", x56) - del x56 - x57 = np.zeros((nbos, nbos, nbos), dtype=types[float]) - x57 += einsum("wia,xyai->xyw", u11.bb, lu12.bb) - x58 += einsum("wxy->xwy", x57) - del x57 - rdm_eb_des_ov_aa += einsum("wxy,wxia->yia", x58, u12.aa) * 0.5 - rdm_eb_des_ov_bb += einsum("wxy,wxia->yia", x58, u12.bb) * 0.5 - del x58 - x59 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x59 += einsum("wai,wib->ab", lu11.aa, u11.aa) - x63 += einsum("ab->ab", x59) - x92 += einsum("ab->ab", x59) - del x59 - x60 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x60 += einsum("wxai,wxib->ab", lu12.aa, u12.aa) - x63 += einsum("ab->ab", x60) * 0.5 - x92 += einsum("ab->ab", x60) * 0.5 - del x60 - x61 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x61 += einsum("abij,ijcb->ac", l2.abab, t2.abab) - x63 += einsum("ab->ab", x61) - rdm_eb_des_ov_aa += einsum("ab,wia->wib", x63, u11.aa) * -1 - del x63 - x92 += einsum("ab->ab", x61) - del x61 - x66 = np.zeros((nbos, nbos), dtype=types[float]) - x66 += einsum("wx,yx->wy", ls2, s2) - x71 = np.zeros((nbos, nbos), dtype=types[float]) - x71 += einsum("wx->wx", x66) - del x66 - x67 = np.zeros((nbos, nbos), dtype=types[float]) - x67 += einsum("wai,xia->wx", lu11.aa, u11.aa) - x71 += einsum("wx->wx", x67) - del x67 - x68 = np.zeros((nbos, nbos), dtype=types[float]) - x68 += einsum("wai,xia->wx", lu11.bb, u11.bb) - x71 += einsum("wx->wx", x68) - del x68 - x69 = np.zeros((nbos, nbos), dtype=types[float]) - x69 += einsum("wxai,ywia->xy", lu12.aa, u12.aa) - x71 += einsum("wx->wx", x69) - del x69 - x70 = np.zeros((nbos, nbos), dtype=types[float]) - x70 += einsum("wxai,ywia->xy", lu12.bb, u12.bb) - x71 += einsum("wx->wx", x70) - del x70 - rdm_eb_des_ov_aa += einsum("wx,wia->xia", x71, u11.aa) - rdm_eb_des_ov_bb += einsum("wx,wia->xia", x71, u11.bb) - del x71 - x72 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x72 += einsum("ia,abjk->jikb", t1.aa, l2.abab) - x77 += einsum("ijab,ikjb->ka", t2.abab, x72) - del x72 - x73 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x73 += einsum("ia,bajk->jkib", t1.aa, l2.aaaa) - x74 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x74 += einsum("ijka->ijka", x73) * -1 - x74 += einsum("ijka->jika", x73) - del x73 - x77 += einsum("ijab,jikb->ka", t2.aaaa, x74) * -1 - del x74 - x77 += einsum("ia->ia", t1.aa) * -1 - x77 += einsum("w,wia->ia", ls1, u11.aa) * -1 - x77 += einsum("wx,wxia->ia", ls2, u12.aa) * -0.5 - x77 += einsum("ai,jiba->jb", l1.bb, t2.abab) * -1 - rdm_eb_des_ov_aa += einsum("w,ia->wia", s1, x77) * -1 - del x77 - x78 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x78 += einsum("wai,wib->ab", lu11.bb, u11.bb) - x82 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x82 += einsum("ab->ab", x78) - x93 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x93 += einsum("ab->ab", x78) * 2 - del x78 - x79 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x79 += einsum("wxai,wxib->ab", lu12.bb, u12.bb) - x82 += einsum("ab->ab", x79) * 0.5 - x93 += einsum("ab->ab", x79) - del x79 - x80 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x80 += einsum("abij,ijac->bc", l2.abab, t2.abab) - x82 += einsum("ab->ab", x80) - x93 += einsum("ab->ab", x80) * 2 - del x80 - x81 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x81 += einsum("abij->jiab", l2.bbbb) * -1 - x81 += einsum("abij->jiba", l2.bbbb) - x82 += einsum("ijab,ijca->cb", t2.bbbb, x81) * -1 - rdm_eb_des_ov_bb += einsum("ab,wia->wib", x82, u11.bb) * -1 - del x82 - x93 += einsum("ijab,ijca->cb", t2.bbbb, x81) * -2 - del x81 - x85 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x85 += einsum("ia,bajk->jkib", t1.bb, l2.abab) - x91 += einsum("ijab,ijka->kb", t2.abab, x85) - del x85 - x86 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x86 += einsum("ia,bajk->jkib", t1.bb, l2.bbbb) - x87 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x87 += einsum("ijka->ijka", x86) * -1 - x87 += einsum("ijka->jika", x86) - del x86 - x91 += einsum("ijab,ijka->kb", t2.bbbb, x87) * -1 - del x87 - x88 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x88 += einsum("ijab->jiab", t2.bbbb) - x88 += einsum("ijab->jiba", t2.bbbb) * -1 - x91 += einsum("ai,ijba->jb", l1.bb, x88) * -1 - del x88 - x91 += einsum("ia->ia", t1.bb) * -1 - x91 += einsum("w,wia->ia", ls1, u11.bb) * -1 - x91 += einsum("wx,wxia->ia", ls2, u12.bb) * -0.5 - x91 += einsum("ai,ijab->jb", l1.aa, t2.abab) * -1 - rdm_eb_des_ov_bb += einsum("w,ia->wia", s1, x91) * -1 - del x91 - x92 += einsum("ai,ib->ab", l1.aa, t1.aa) - rdm_eb_des_vv_aa += einsum("w,ab->wab", s1, x92) - del x92 - x93 += einsum("ai,ib->ab", l1.bb, t1.bb) * 2 - rdm_eb_des_vv_bb += einsum("w,ab->wab", s1, x93) * 0.5 - del x93 - rdm_eb_cre_oo_aa += einsum("w,ij->wji", ls1, delta_oo.aa) - rdm_eb_cre_oo_bb += einsum("w,ij->wji", ls1, delta_oo.bb) - rdm_eb_cre_ov_aa += einsum("w,ia->wia", ls1, t1.aa) - rdm_eb_cre_ov_aa += einsum("wai,jiba->wjb", lu11.bb, t2.abab) - rdm_eb_cre_ov_aa += einsum("wx,xia->wia", ls2, u11.aa) - rdm_eb_cre_ov_bb += einsum("wai,ijab->wjb", lu11.aa, t2.abab) - rdm_eb_cre_ov_bb += einsum("w,ia->wia", ls1, t1.bb) - rdm_eb_cre_ov_bb += einsum("wx,xia->wia", ls2, u11.bb) - rdm_eb_cre_vo_aa = np.zeros((nbos, nvir[0], nocc[0]), dtype=types[float]) - rdm_eb_cre_vo_aa += einsum("wai->wai", lu11.aa) - rdm_eb_cre_vo_bb = np.zeros((nbos, nvir[1], nocc[1]), dtype=types[float]) - rdm_eb_cre_vo_bb += einsum("wai->wai", lu11.bb) - rdm_eb_cre_vv_aa += einsum("ia,wbi->wba", t1.aa, lu11.aa) - rdm_eb_cre_vv_bb += einsum("ia,wbi->wba", t1.bb, lu11.bb) - rdm_eb_des_ov_aa += einsum("w,xwia->xia", ls1, u12.aa) - rdm_eb_des_ov_aa += einsum("wia->wia", u11.aa) - rdm_eb_des_ov_bb += einsum("w,xwia->xia", ls1, u12.bb) - rdm_eb_des_ov_bb += einsum("wia->wia", u11.bb) - rdm_eb_des_vo_aa += einsum("w,ai->wai", s1, l1.aa) - rdm_eb_des_vo_bb += einsum("w,ai->wai", s1, l1.bb) - rdm_eb_des_vv_aa += einsum("ai,wib->wab", l1.aa, u11.aa) - rdm_eb_des_vv_aa += einsum("wai,xwib->xab", lu11.aa, u12.aa) - rdm_eb_des_vv_bb += einsum("ai,wib->wab", l1.bb, u11.bb) - rdm_eb_des_vv_bb += einsum("wai,xwib->xab", lu11.bb, u12.bb) - - rdm_eb_aa = np.array([ - np.block([[rdm_eb_cre_oo_aa, rdm_eb_cre_ov_aa], [rdm_eb_cre_vo_aa, rdm_eb_cre_vv_aa]]), - np.block([[rdm_eb_des_oo_aa, rdm_eb_des_ov_aa], [rdm_eb_des_vo_aa, rdm_eb_des_vv_aa]]), - ]) - rdm_eb_bb = np.array([ - np.block([[rdm_eb_cre_oo_bb, rdm_eb_cre_ov_bb], [rdm_eb_cre_vo_bb, rdm_eb_cre_vv_bb]]), - np.block([[rdm_eb_des_oo_bb, rdm_eb_des_ov_bb], [rdm_eb_des_vo_bb, rdm_eb_des_vv_bb]]), - ]) - - rdm_eb.aa = rdm_eb_aa - rdm_eb.bb = rdm_eb_bb - - return rdm_eb - diff --git a/ebcc/codegen/UCCSD_S_1_1.py b/ebcc/codegen/UCCSD_S_1_1.py deleted file mode 100644 index d48b83fe..00000000 --- a/ebcc/codegen/UCCSD_S_1_1.py +++ /dev/null @@ -1,5962 +0,0 @@ -# Code generated for ebcc. - -from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, Namespace -from ebcc.precision import types - -def energy(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, u11=None, **kwargs): - # Energy - x0 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x0 += einsum("iajb->jiab", v.bbbb.ovov) - x0 += einsum("iajb->jiba", v.bbbb.ovov) * -1 - x1 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x1 += einsum("ijab->jiba", t2.bbbb) - x1 += einsum("ia,jb->ijba", t1.bb, t1.bb) * -1 - e_cc = 0 - e_cc += einsum("ijab,ijab->", x0, x1) * -0.5 - del x0 - del x1 - x2 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x2 += einsum("iajb->jiab", v.aaaa.ovov) - x2 += einsum("iajb->jiba", v.aaaa.ovov) * -1 - x3 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x3 += einsum("ijab->jiba", t2.aaaa) - x3 += einsum("ia,jb->ijab", t1.aa, t1.aa) - e_cc += einsum("ijab,ijab->", x2, x3) * -0.5 - del x2 - del x3 - x4 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x4 += einsum("ijab->ijab", t2.abab) - x4 += einsum("ia,jb->ijab", t1.aa, t1.bb) - e_cc += einsum("iajb,ijab->", v.aabb.ovov, x4) - del x4 - x5 = np.zeros((nbos), dtype=types[float]) - x5 += einsum("w->w", G) - x5 += einsum("ia,wia->w", t1.aa, g.aa.bov) - x5 += einsum("ia,wia->w", t1.bb, g.bb.bov) - e_cc += einsum("w,w->", s1, x5) - del x5 - e_cc += einsum("wia,wia->", g.aa.bov, u11.aa) - e_cc += einsum("ia,ia->", f.aa.ov, t1.aa) - e_cc += einsum("ia,ia->", f.bb.ov, t1.bb) - e_cc += einsum("wia,wia->", g.bb.bov, u11.bb) - - return e_cc - -def update_amps(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, u11=None, **kwargs): - t1new = Namespace() - t2new = Namespace() - u11new = Namespace() - - # Get boson coupling creation array: - gc = Namespace( - aa = Namespace( - boo=g.aa.boo.transpose(0, 2, 1), - bov=g.aa.bvo.transpose(0, 2, 1), - bvo=g.aa.bov.transpose(0, 2, 1), - bvv=g.aa.bvv.transpose(0, 2, 1), - ), - bb = Namespace( - boo=g.bb.boo.transpose(0, 2, 1), - bov=g.bb.bvo.transpose(0, 2, 1), - bvo=g.bb.bov.transpose(0, 2, 1), - bvv=g.bb.bvv.transpose(0, 2, 1), - ), - ) - - # T1, T2, S1 and U11 amplitudes - x0 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x0 += einsum("ia,jakb->ikjb", t1.aa, v.aaaa.ovov) - x1 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x1 += einsum("ijka->ijka", x0) * -1 - x1 += einsum("ijka->ikja", x0) - x67 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x67 -= einsum("ijka->ijka", x0) - x67 += einsum("ijka->ikja", x0) - x93 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x93 += einsum("ia,jkla->jilk", t1.aa, x0) - x94 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x94 += einsum("ia,jkli->jkla", t1.aa, x93) - x95 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x95 += einsum("ia,jkib->jkab", t1.aa, x94) - del x94 - x102 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x102 += einsum("ijab->ijab", x95) - del x95 - x134 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x134 += einsum("ijkl->ijkl", x93) - del x93 - x261 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x261 += einsum("ijka->jkia", x0) * -1 - x261 += einsum("ijka->kjia", x0) - del x0 - x1 += einsum("ijka->jika", v.aaaa.ooov) - x1 += einsum("ijka->jkia", v.aaaa.ooov) * -1 - t1new_aa = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - t1new_aa += einsum("ijab,kjia->kb", t2.aaaa, x1) * -1 - del x1 - x2 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x2 += einsum("iabc->ibac", v.aaaa.ovvv) - x2 += einsum("iabc->ibca", v.aaaa.ovvv) * -1 - x30 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x30 += einsum("ia,ibca->bc", t1.aa, x2) - x31 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x31 += einsum("ab->ab", x30) * -1 - x275 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x275 += einsum("ab->ab", x30) * -1 - x307 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x307 += einsum("ab->ab", x30) * -1 - del x30 - x107 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x107 += einsum("ia,jbac->ijbc", t1.aa, x2) - t1new_aa += einsum("ijab,icba->jc", t2.aaaa, x2) * -1 - del x2 - x3 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x3 += einsum("ia,jakb->ijkb", t1.aa, v.aabb.ovov) - x4 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x4 += einsum("ijka->jika", x3) - x122 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x122 += einsum("ijab,kljb->kila", t2.abab, x3) - del x3 - x126 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x126 += einsum("ijka->ikja", x122) - del x122 - x4 += einsum("ijka->ijka", v.aabb.ooov) - x285 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x285 += einsum("ijab,iklb->kjla", t2.abab, x4) - x289 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x289 += einsum("ijka->ikja", x285) * -1 - del x285 - t1new_aa += einsum("ijab,ikjb->ka", t2.abab, x4) * -1 - x5 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x5 += einsum("w,wia->ia", s1, g.aa.bov) - x9 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x9 += einsum("ia->ia", x5) - x71 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x71 += einsum("ia->ia", x5) - x299 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x299 += einsum("ia->ia", x5) - x308 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x308 += einsum("ia->ia", x5) - del x5 - x6 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x6 += einsum("ia,jbia->jb", t1.bb, v.aabb.ovov) - x9 += einsum("ia->ia", x6) - x105 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x105 += einsum("ia,ja->ij", t1.aa, x6) - x106 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x106 += einsum("ij,kjab->ikab", x105, t2.aaaa) - del x105 - x130 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x130 += einsum("ijab->ijab", x106) * -1 - del x106 - x123 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x123 += einsum("ia,jkab->kjib", x6, t2.aaaa) - x126 += einsum("ijka->ikja", x123) * -1 - del x123 - x299 += einsum("ia->ia", x6) - x306 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x306 += einsum("ia->ia", x6) - del x6 - x7 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x7 += einsum("iajb->jiab", v.aaaa.ovov) * -1 - x7 += einsum("iajb->jiba", v.aaaa.ovov) - x8 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x8 += einsum("ia,ijba->jb", t1.aa, x7) - x9 += einsum("ia->ia", x8) * -1 - x306 += einsum("ia->ia", x8) * -1 - del x8 - x307 += einsum("ia,ib->ab", t1.aa, x306) * -1 - del x306 - x23 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x23 += einsum("ijab,ikba->jk", t2.aaaa, x7) - x27 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x27 += einsum("ij->ji", x23) * -1 - x128 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x128 += einsum("ij->ji", x23) * -1 - del x23 - x113 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x113 += einsum("ijab,ijca->bc", t2.aaaa, x7) - x116 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x116 += einsum("ab->ab", x113) * -1 - del x113 - x233 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x233 += einsum("ijab,ikca->kjcb", t2.abab, x7) - x234 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x234 += einsum("ijab->ijab", x233) * -1 - del x233 - x301 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x301 += einsum("wia,ijba->wjb", u11.aa, x7) - del x7 - x302 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x302 += einsum("wia->wia", x301) * -1 - del x301 - x9 += einsum("ia->ia", f.aa.ov) - x26 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x26 += einsum("ia,ja->ij", t1.aa, x9) - x27 += einsum("ij->ji", x26) - del x26 - x265 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x265 += einsum("ia,jkab->jikb", x9, t2.abab) - x271 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x271 += einsum("ijka->jika", x265) - del x265 - t1new_bb = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - t1new_bb += einsum("ia,ijab->jb", x9, t2.abab) - x10 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x10 += einsum("ijab->jiab", t2.aaaa) - x10 += einsum("ijab->jiba", t2.aaaa) * -1 - x108 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x108 += einsum("ijab,kica->jkbc", x10, x107) * -1 - del x107 - x130 += einsum("ijab->jiab", x108) * -1 - del x108 - t1new_aa += einsum("ia,ijba->jb", x9, x10) - del x9 - x11 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x11 += einsum("w,wia->ia", s1, g.bb.bov) - x15 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x15 += einsum("ia->ia", x11) - x155 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x155 += einsum("ia->ia", x11) - x298 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x298 += einsum("ia->ia", x11) - x317 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x317 += einsum("ia->ia", x11) - del x11 - x12 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x12 += einsum("ia,iajb->jb", t1.aa, v.aabb.ovov) - x15 += einsum("ia->ia", x12) - x204 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x204 += einsum("ia,jkba->jkib", x12, t2.bbbb) - x208 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x208 += einsum("ijka->ikja", x204) * -1 - del x204 - x219 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x219 += einsum("ia,ja->ij", t1.bb, x12) - x220 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x220 += einsum("ij->ij", x219) - del x219 - x298 += einsum("ia->ia", x12) - x315 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x315 += einsum("ia->ia", x12) - del x12 - x13 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x13 += einsum("iajb->jiab", v.bbbb.ovov) * -1 - x13 += einsum("iajb->jiba", v.bbbb.ovov) - x14 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x14 += einsum("ia,ijba->jb", t1.bb, x13) - x15 += einsum("ia->ia", x14) * -1 - x315 += einsum("ia->ia", x14) * -1 - del x14 - x316 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x316 += einsum("ia,ib->ab", t1.bb, x315) * -1 - del x315 - x48 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x48 += einsum("ijab,ikba->kj", t2.bbbb, x13) - x52 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x52 += einsum("ij->ij", x48) * -1 - del x48 - x210 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x210 += einsum("ijab,ijca->cb", t2.bbbb, x13) - x213 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x213 += einsum("ab->ba", x210) * -1 - del x210 - x215 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x215 += einsum("ijab,ikab->kj", t2.bbbb, x13) - x217 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x217 += einsum("ij->ij", x215) * -1 - del x215 - x277 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x277 += einsum("ijab,ijac->cb", t2.bbbb, x13) - x278 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x278 += einsum("ab->ba", x277) * -1 - x316 += einsum("ab->ba", x277) * -1 - del x277 - x304 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x304 += einsum("wia,ijba->wjb", u11.bb, x13) - x305 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x305 += einsum("wia->wia", x304) * -1 - del x304 - x15 += einsum("ia->ia", f.bb.ov) - x51 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x51 += einsum("ia,ja->ij", t1.bb, x15) - x52 += einsum("ij->ji", x51) - del x51 - x286 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x286 += einsum("ia,jkba->jkib", x15, t2.abab) - x289 += einsum("ijka->ikja", x286) - del x286 - t1new_aa += einsum("ia,jiba->jb", x15, t2.abab) - x16 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x16 += einsum("iabj->ijba", v.aaaa.ovvo) - x16 -= einsum("ijab->ijab", v.aaaa.oovv) - x73 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x73 += einsum("ia,jkba->ijkb", t1.aa, x16) - x74 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x74 -= einsum("ijka->jika", x73) - del x73 - t1new_aa += einsum("ia,ijba->jb", t1.aa, x16) - u11new_aa = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - u11new_aa += einsum("wia,ijba->wjb", u11.aa, x16) - x17 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) - x17 += einsum("ia,wja->wji", t1.aa, g.aa.bov) - x18 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) - x18 += einsum("wij->wij", x17) - del x17 - x18 += einsum("wij->wij", g.aa.boo) - x82 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x82 += einsum("ia,wij->wja", t1.aa, x18) - x83 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x83 -= einsum("wia->wia", x82) - del x82 - t1new_aa -= einsum("wia,wij->ja", u11.aa, x18) - del x18 - x19 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x19 += einsum("w,wij->ij", s1, g.aa.boo) - x27 += einsum("ij->ij", x19) - x77 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x77 += einsum("ij->ji", x19) - del x19 - x20 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x20 += einsum("wia,wja->ij", g.aa.bov, u11.aa) - x27 += einsum("ij->ij", x20) - x90 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x90 += einsum("ij->ij", x20) - del x20 - x21 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x21 += einsum("ia,jkia->jk", t1.bb, v.aabb.ooov) - x27 += einsum("ij->ij", x21) - x90 += einsum("ij->ij", x21) - del x21 - x91 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x91 += einsum("ij,ikab->kjab", x90, t2.aaaa) - del x90 - x92 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x92 -= einsum("ijab->ijba", x91) - del x91 - x22 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x22 += einsum("ijab,kajb->ik", t2.abab, v.aabb.ovov) - x27 += einsum("ij->ji", x22) - x128 += einsum("ij->ji", x22) - del x22 - x24 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x24 += einsum("ijka->ikja", v.aaaa.ooov) - x24 += einsum("ijka->kija", v.aaaa.ooov) * -1 - x25 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x25 += einsum("ia,ijka->jk", t1.aa, x24) - x27 += einsum("ij->ij", x25) * -1 - x128 += einsum("ij->ij", x25) * -1 - del x25 - x129 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x129 += einsum("ij,ikab->kjab", x128, t2.aaaa) - del x128 - x130 += einsum("ijab->ijba", x129) - del x129 - x309 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) - x309 += einsum("wia,ijka->wjk", u11.aa, x24) * -1 - del x24 - x27 += einsum("ij->ij", f.aa.oo) - x291 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x291 += einsum("ij,ikab->jkab", x27, t2.abab) - t2new_baba = np.zeros((nocc[1], nocc[0], nvir[1], nvir[0]), dtype=types[float]) - t2new_baba += einsum("ijab->jiba", x291) * -1 - t2new_abab = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - t2new_abab += einsum("ijab->ijab", x291) * -1 - del x291 - t1new_aa += einsum("ia,ij->ja", t1.aa, x27) * -1 - u11new_aa += einsum("ij,wia->wja", x27, u11.aa) * -1 - del x27 - x28 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x28 += einsum("w,wab->ab", s1, g.aa.bvv) - x31 += einsum("ab->ab", x28) - x85 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x85 += einsum("ab->ab", x28) - x275 += einsum("ab->ab", x28) - x307 += einsum("ab->ab", x28) - del x28 - x29 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x29 += einsum("ia,iabc->bc", t1.bb, v.bbaa.ovvv) - x31 += einsum("ab->ab", x29) - x88 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x88 -= einsum("ab->ba", x29) - x275 += einsum("ab->ab", x29) - x307 += einsum("ab->ab", x29) - del x29 - x31 += einsum("ab->ab", f.aa.vv) - t1new_aa += einsum("ia,ba->ib", t1.aa, x31) - del x31 - x32 = np.zeros((nbos), dtype=types[float]) - x32 += einsum("ia,wia->w", t1.aa, g.aa.bov) - x34 = np.zeros((nbos), dtype=types[float]) - x34 += einsum("w->w", x32) - del x32 - x33 = np.zeros((nbos), dtype=types[float]) - x33 += einsum("ia,wia->w", t1.bb, g.bb.bov) - x34 += einsum("w->w", x33) - del x33 - x34 += einsum("w->w", G) - t1new_aa += einsum("w,wia->ia", x34, u11.aa) - t1new_bb += einsum("w,wia->ia", x34, u11.bb) - del x34 - x35 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x35 += einsum("ia,jakb->ikjb", t1.bb, v.bbbb.ovov) - x36 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x36 += einsum("ijka->ijka", x35) - x36 += einsum("ijka->ikja", x35) * -1 - x151 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x151 -= einsum("ijka->ijka", x35) - x151 += einsum("ijka->ikja", x35) - x184 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x184 += einsum("ia,jkla->jilk", t1.bb, x35) - x185 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x185 += einsum("ijab,klij->lkba", t2.bbbb, x184) - x189 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x189 += einsum("ijab->ijab", x185) - del x185 - x225 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x225 += einsum("ia,jkli->jkla", t1.bb, x184) - del x184 - x226 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x226 += einsum("ia,jkib->jkab", t1.bb, x225) - del x225 - x230 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x230 += einsum("ijab->ijab", x226) - del x226 - x282 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x282 += einsum("ijka->jkia", x35) * -1 - x282 += einsum("ijka->kjia", x35) - del x35 - x36 += einsum("ijka->jika", v.bbbb.ooov) * -1 - x36 += einsum("ijka->jkia", v.bbbb.ooov) - t1new_bb += einsum("ijab,kija->kb", t2.bbbb, x36) * -1 - del x36 - x37 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x37 += einsum("iabc->ibac", v.bbbb.ovvv) - x37 += einsum("iabc->ibca", v.bbbb.ovvv) * -1 - x55 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x55 += einsum("ia,ibca->bc", t1.bb, x37) - x56 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x56 += einsum("ab->ab", x55) * -1 - x278 += einsum("ab->ab", x55) * -1 - x316 += einsum("ab->ab", x55) * -1 - del x55 - x195 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x195 += einsum("ia,jbac->ijbc", t1.bb, x37) - t1new_bb += einsum("ijab,icba->jc", t2.bbbb, x37) * -1 - del x37 - x38 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x38 += einsum("ia,jbka->jikb", t1.bb, v.aabb.ovov) - x39 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x39 += einsum("ijka->ikja", x38) - x203 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x203 += einsum("ijab,ikla->kjlb", t2.abab, x38) - x208 += einsum("ijka->ikja", x203) - del x203 - x252 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x252 += einsum("ijka->ikja", x38) - del x38 - x39 += einsum("iajk->ijka", v.aabb.ovoo) - x264 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x264 += einsum("ijab,kjla->iklb", t2.abab, x39) - x271 += einsum("ijka->jika", x264) * -1 - del x264 - x266 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x266 += einsum("ia,jkla->ijkl", t1.aa, x39) - x267 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x267 += einsum("ijkl->jikl", x266) - del x266 - t1new_bb += einsum("ijab,ijka->kb", t2.abab, x39) * -1 - x40 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x40 -= einsum("ijab->jiab", t2.bbbb) - x40 += einsum("ijab->jiba", t2.bbbb) - x165 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x165 += einsum("wia,ijba->wjb", g.bb.bov, x40) - x167 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x167 -= einsum("wia->wia", x165) - del x165 - t1new_bb += einsum("ia,ijba->jb", x15, x40) * -1 - del x15 - x41 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x41 += einsum("iabj->ijba", v.bbbb.ovvo) - x41 -= einsum("ijab->ijab", v.bbbb.oovv) - x147 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x147 += einsum("ijab,ikcb->jkac", x40, x41) - x176 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x176 -= einsum("ijab->ijab", x147) - del x147 - x157 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x157 += einsum("ia,jkba->ijkb", t1.bb, x41) - x158 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x158 -= einsum("ijka->jika", x157) - del x157 - t1new_bb += einsum("ia,ijba->jb", t1.bb, x41) - u11new_bb = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - u11new_bb += einsum("wia,ijba->wjb", u11.bb, x41) - del x41 - x42 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) - x42 += einsum("ia,wja->wji", t1.bb, g.bb.bov) - x43 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) - x43 += einsum("wij->wij", x42) - del x42 - x43 += einsum("wij->wij", g.bb.boo) - x166 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x166 += einsum("ia,wij->wja", t1.bb, x43) - x167 -= einsum("wia->wia", x166) - del x166 - t1new_bb -= einsum("wia,wij->ja", u11.bb, x43) - del x43 - x44 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x44 += einsum("w,wij->ij", s1, g.bb.boo) - x52 += einsum("ij->ij", x44) - x161 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x161 += einsum("ij->ji", x44) - del x44 - x45 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x45 += einsum("wia,wja->ij", g.bb.bov, u11.bb) - x52 += einsum("ij->ij", x45) - x174 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x174 += einsum("ij->ij", x45) - del x45 - x46 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x46 += einsum("ia,iajk->jk", t1.aa, v.aabb.ovoo) - x52 += einsum("ij->ij", x46) - x174 += einsum("ij->ij", x46) - del x46 - x175 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x175 += einsum("ij,ikab->kjab", x174, t2.bbbb) - del x174 - x176 -= einsum("ijab->ijba", x175) - del x175 - x47 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x47 += einsum("ijab,iakb->jk", t2.abab, v.aabb.ovov) - x52 += einsum("ij->ji", x47) - x220 += einsum("ij->ij", x47) - del x47 - x221 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x221 += einsum("ij,jkab->kiab", x220, t2.bbbb) - del x220 - x222 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x222 += einsum("ijab->jiba", x221) * -1 - del x221 - x49 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x49 += einsum("ijka->ikja", v.bbbb.ooov) - x49 += einsum("ijka->kija", v.bbbb.ooov) * -1 - x50 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x50 += einsum("ia,ijka->jk", t1.bb, x49) - x52 += einsum("ij->ij", x50) * -1 - del x50 - x216 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x216 += einsum("ia,jika->jk", t1.bb, x49) - x217 += einsum("ij->ij", x216) * -1 - del x216 - x218 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x218 += einsum("ij,ikab->kjab", x217, t2.bbbb) - del x217 - x222 += einsum("ijab->ijba", x218) * -1 - del x218 - x318 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) - x318 += einsum("wia,ijka->wjk", u11.bb, x49) * -1 - del x49 - x52 += einsum("ij->ij", f.bb.oo) - x292 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x292 += einsum("ij,kiab->kjab", x52, t2.abab) - t2new_baba += einsum("ijab->jiba", x292) * -1 - t2new_abab += einsum("ijab->ijab", x292) * -1 - del x292 - t1new_bb += einsum("ia,ij->ja", t1.bb, x52) * -1 - u11new_bb += einsum("ij,wia->wja", x52, u11.bb) * -1 - del x52 - x53 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x53 += einsum("w,wab->ab", s1, g.bb.bvv) - x56 += einsum("ab->ab", x53) - x169 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x169 += einsum("ab->ab", x53) - x278 += einsum("ab->ab", x53) - x316 += einsum("ab->ab", x53) - del x53 - x54 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x54 += einsum("ia,iabc->bc", t1.aa, v.aabb.ovvv) - x56 += einsum("ab->ab", x54) - x172 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x172 -= einsum("ab->ba", x54) - x278 += einsum("ab->ab", x54) - x316 += einsum("ab->ab", x54) - del x54 - x56 += einsum("ab->ab", f.bb.vv) - t1new_bb += einsum("ia,ba->ib", t1.bb, x56) - del x56 - x57 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x57 += einsum("ia,bjca->ijbc", t1.aa, v.aaaa.vovv) - x92 -= einsum("ijab->ijab", x57) - del x57 - x58 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x58 += einsum("ijab,jbck->ikac", t2.abab, v.bbaa.ovvo) - x92 += einsum("ijab->ijab", x58) - del x58 - x59 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x59 += einsum("ia,jbca->ijcb", t1.aa, v.bbaa.ovvv) - x60 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x60 += einsum("ijab,kjcb->kiac", t2.abab, x59) - x92 -= einsum("ijab->ijab", x60) - del x60 - x241 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x241 += einsum("ijab->ijab", x59) - del x59 - x61 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x61 += einsum("ijab->jiab", t2.aaaa) - x61 -= einsum("ijab->jiba", t2.aaaa) - x62 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x62 += einsum("ijab,ikbc->jkac", x16, x61) - del x16 - del x61 - x92 -= einsum("ijab->jiba", x62) - del x62 - x63 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x63 -= einsum("iajb->jiab", v.aaaa.ovov) - x63 += einsum("iajb->jiba", v.aaaa.ovov) - x64 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x64 += einsum("ijab,ikcb->jkac", t2.aaaa, x63) - x65 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x65 -= einsum("ijab,kica->jkbc", t2.aaaa, x64) - x92 -= einsum("ijab->ijab", x65) - del x65 - x98 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x98 -= einsum("ijab,kicb->jkac", t2.aaaa, x64) - del x64 - x102 += einsum("ijab->jiba", x98) - del x98 - x70 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x70 += einsum("ia,ijba->jb", t1.aa, x63) - x71 -= einsum("ia->ia", x70) - x299 -= einsum("ia->ia", x70) - del x70 - x96 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x96 += einsum("ijab,ikca->jkbc", t2.aaaa, x63) - x97 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x97 -= einsum("ijab,kica->jkbc", t2.aaaa, x96) - del x96 - x102 += einsum("ijab->ijab", x97) - del x97 - x223 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x223 += einsum("ijab,ikca->kjcb", t2.abab, x63) - del x63 - x224 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x224 -= einsum("ijab,ikac->jkbc", t2.abab, x223) - del x223 - t2new_bbbb = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - t2new_bbbb -= einsum("ijab->jiab", x224) - t2new_bbbb += einsum("ijab->ijab", x224) - del x224 - x66 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x66 += einsum("ijab,kljb->ikla", t2.abab, v.aabb.ooov) - x74 += einsum("ijka->jika", x66) - del x66 - x68 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x68 -= einsum("ijab->jiab", t2.aaaa) - x68 += einsum("ijab->jiba", t2.aaaa) - x69 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x69 += einsum("ijka,klba->ijlb", x67, x68) - del x67 - x74 += einsum("ijka->jika", x69) - del x69 - x81 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x81 += einsum("wia,ijba->wjb", g.aa.bov, x68) - del x68 - x83 -= einsum("wia->wia", x81) - del x81 - x71 += einsum("ia->ia", f.aa.ov) - x72 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x72 += einsum("ia,jkab->jkib", x71, t2.aaaa) - x74 += einsum("ijka->kjia", x72) - del x72 - x76 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x76 += einsum("ia,ja->ij", t1.aa, x71) - del x71 - x77 += einsum("ij->ij", x76) - del x76 - x74 -= einsum("ijak->ijka", v.aaaa.oovo) - x75 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x75 += einsum("ia,ijkb->jkab", t1.aa, x74) - del x74 - x92 += einsum("ijab->ijab", x75) - del x75 - x77 += einsum("ij->ji", f.aa.oo) - x78 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x78 += einsum("ij,jkab->kiab", x77, t2.aaaa) - del x77 - x92 += einsum("ijab->jiba", x78) - del x78 - x79 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x79 += einsum("ia,wba->wib", t1.aa, g.aa.bvv) - x83 += einsum("wia->wia", x79) - del x79 - x80 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x80 += einsum("wia,jiba->wjb", g.bb.bov, t2.abab) - x83 += einsum("wia->wia", x80) - del x80 - x83 += einsum("wai->wia", g.aa.bvo) - x84 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x84 += einsum("wia,wjb->ijab", u11.aa, x83) - x92 += einsum("ijab->jiba", x84) - del x84 - x294 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x294 += einsum("wia,wjb->jiba", u11.bb, x83) - del x83 - t2new_baba += einsum("ijab->jiba", x294) - t2new_abab += einsum("ijab->ijab", x294) - del x294 - x85 += einsum("ab->ab", f.aa.vv) - x86 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x86 += einsum("ab,ijbc->ijca", x85, t2.aaaa) - del x85 - x92 -= einsum("ijab->jiba", x86) - del x86 - x87 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x87 += einsum("wia,wib->ab", g.aa.bov, u11.aa) - x88 += einsum("ab->ab", x87) - x89 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x89 += einsum("ab,ijac->ijcb", x88, t2.aaaa) - del x88 - x92 -= einsum("ijab->jiab", x89) - del x89 - t2new_aaaa = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - t2new_aaaa += einsum("ijab->ijab", x92) - t2new_aaaa -= einsum("ijab->ijba", x92) - t2new_aaaa -= einsum("ijab->jiab", x92) - t2new_aaaa += einsum("ijab->jiba", x92) - del x92 - x275 += einsum("ab->ba", x87) * -1 - x307 += einsum("ab->ba", x87) * -1 - del x87 - x99 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x99 -= einsum("iajb->jiab", v.bbbb.ovov) - x99 += einsum("iajb->jiba", v.bbbb.ovov) - x100 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x100 += einsum("ijab,jkcb->ikac", t2.abab, x99) - x101 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x101 -= einsum("ijab,kjcb->ikac", t2.abab, x100) - del x100 - x102 += einsum("ijab->ijab", x101) - del x101 - t2new_aaaa += einsum("ijab->ijab", x102) - t2new_aaaa -= einsum("ijab->ijba", x102) - del x102 - x148 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x148 += einsum("ijab,ikcb->jkac", t2.bbbb, x99) - x149 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x149 -= einsum("ijab,kica->jkbc", t2.bbbb, x148) - x176 -= einsum("ijab->ijab", x149) - del x149 - x229 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x229 -= einsum("ijab,kicb->jkac", t2.bbbb, x148) - del x148 - x230 += einsum("ijab->ijab", x229) - del x229 - x154 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x154 += einsum("ia,ijba->jb", t1.bb, x99) - x155 -= einsum("ia->ia", x154) - x298 -= einsum("ia->ia", x154) - del x154 - x227 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x227 += einsum("ijab,ikca->jkbc", t2.bbbb, x99) - del x99 - x228 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x228 -= einsum("ijab,kica->jkbc", t2.bbbb, x227) - del x227 - x230 += einsum("ijab->jiba", x228) - del x228 - t2new_bbbb += einsum("ijab->ijab", x230) - t2new_bbbb -= einsum("ijab->ijba", x230) - del x230 - x103 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x103 += einsum("ia,jkla->ijlk", t1.aa, v.aaaa.ooov) - x104 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x104 += einsum("ijab,kijl->klab", t2.aaaa, x103) - x130 += einsum("ijab->ijab", x104) - del x104 - x118 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x118 += einsum("ia,jkil->jkla", t1.aa, x103) - del x103 - x126 += einsum("ijka->ijka", x118) - del x118 - x109 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x109 += einsum("ijab,kcjb->ikac", t2.abab, v.aabb.ovov) - x110 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x110 += einsum("ijab->jiab", t2.aaaa) * -1 - x110 += einsum("ijab->jiba", t2.aaaa) - x111 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x111 += einsum("ijab,jkbc->ikac", x109, x110) - del x109 - x130 += einsum("ijab->jiba", x111) * -1 - del x111 - x284 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x284 += einsum("ijab,iklb->jkla", x110, x39) - del x110 - del x39 - x289 += einsum("ijka->ijka", x284) * -1 - del x284 - x112 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x112 += einsum("ijab,icjb->ac", t2.abab, v.aabb.ovov) - x116 += einsum("ab->ab", x112) - x275 += einsum("ab->ab", x112) * -1 - x307 += einsum("ab->ab", x112) * -1 - del x112 - x114 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x114 += einsum("iabc->ibac", v.aaaa.ovvv) * -1 - x114 += einsum("iabc->ibca", v.aaaa.ovvv) - x115 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x115 += einsum("ia,ibca->bc", t1.aa, x114) - del x114 - x116 += einsum("ab->ab", x115) * -1 - del x115 - x117 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x117 += einsum("ab,ijbc->ijca", x116, t2.aaaa) - del x116 - x130 += einsum("ijab->jiab", x117) - del x117 - x119 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x119 += einsum("ijab,kbca->jikc", t2.aaaa, v.aaaa.ovvv) - x126 += einsum("ijka->ikja", x119) - del x119 - x120 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x120 += einsum("ia,jbca->ijcb", t1.aa, v.aaaa.ovvv) - x121 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x121 += einsum("ia,jkba->ijkb", t1.aa, x120) - del x120 - x126 += einsum("ijka->ikja", x121) - del x121 - x124 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x124 += einsum("ijka->ikja", v.aaaa.ooov) * -1 - x124 += einsum("ijka->kija", v.aaaa.ooov) - x125 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x125 += einsum("ijab,ikla->jklb", x10, x124) - del x124 - x126 += einsum("ijka->ijka", x125) - del x125 - x127 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x127 += einsum("ia,jikb->jkab", t1.aa, x126) - del x126 - x130 += einsum("ijab->ijab", x127) - del x127 - t2new_aaaa += einsum("ijab->ijab", x130) * -1 - t2new_aaaa += einsum("ijab->ijba", x130) - t2new_aaaa += einsum("ijab->jiab", x130) - t2new_aaaa += einsum("ijab->jiba", x130) * -1 - del x130 - x131 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x131 += einsum("ia,bcda->ibdc", t1.aa, v.aaaa.vvvv) - x132 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x132 += einsum("ia,jbca->ijbc", t1.aa, x131) - del x131 - x139 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x139 += einsum("ijab->ijab", x132) - del x132 - x133 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x133 += einsum("ijab,kbla->ijlk", t2.aaaa, v.aaaa.ovov) - x134 += einsum("ijkl->jilk", x133) - x135 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x135 += einsum("ijab,klji->klab", t2.aaaa, x134) - del x134 - x139 += einsum("ijab->jiab", x135) - del x135 - x136 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x136 += einsum("ijkl->lkji", x133) - del x133 - x136 += einsum("ijkl->kilj", v.aaaa.oooo) - x137 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x137 += einsum("ia,ijkl->jkla", t1.aa, x136) - del x136 - x138 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x138 += einsum("ia,ijkb->kjab", t1.aa, x137) - del x137 - x139 += einsum("ijab->jiba", x138) - del x138 - t2new_aaaa += einsum("ijab->ijab", x139) - t2new_aaaa += einsum("ijab->ijba", x139) * -1 - del x139 - x140 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x140 += einsum("ijab,ikjl->lkba", t2.aaaa, v.aaaa.oooo) - x142 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x142 += einsum("ijab->jiba", x140) - del x140 - x141 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x141 += einsum("ijab,cadb->ijcd", t2.aaaa, v.aaaa.vvvv) - x142 += einsum("ijab->jiba", x141) - del x141 - t2new_aaaa += einsum("ijab->ijba", x142) * -1 - t2new_aaaa += einsum("ijab->ijab", x142) - del x142 - x143 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x143 += einsum("ia,bjca->ijbc", t1.bb, v.bbbb.vovv) - x176 -= einsum("ijab->ijab", x143) - del x143 - x144 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x144 += einsum("ijab,iack->jkbc", t2.abab, v.aabb.ovvo) - x176 += einsum("ijab->ijab", x144) - del x144 - x145 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x145 += einsum("ia,jbca->jibc", t1.bb, v.aabb.ovvv) - x146 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x146 += einsum("ijab,ikac->kjbc", t2.abab, x145) - x176 -= einsum("ijab->ijab", x146) - del x146 - x234 += einsum("ijab->ijab", x145) - x269 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x269 += einsum("ijab->ijab", x145) - del x145 - x150 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x150 += einsum("ijab,iakl->jklb", t2.abab, v.aabb.ovoo) - x158 += einsum("ijka->jika", x150) - del x150 - x152 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x152 += einsum("ijab->jiab", t2.bbbb) - x152 -= einsum("ijab->jiba", t2.bbbb) - x153 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x153 += einsum("ijka,klab->ijlb", x151, x152) - del x152 - del x151 - x158 += einsum("ijka->jika", x153) - del x153 - x155 += einsum("ia->ia", f.bb.ov) - x156 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x156 += einsum("ia,jkab->jkib", x155, t2.bbbb) - x158 += einsum("ijka->kjia", x156) - del x156 - x160 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x160 += einsum("ia,ja->ij", t1.bb, x155) - del x155 - x161 += einsum("ij->ij", x160) - del x160 - x158 -= einsum("ijak->ijka", v.bbbb.oovo) - x159 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x159 += einsum("ia,ijkb->jkab", t1.bb, x158) - del x158 - x176 += einsum("ijab->ijab", x159) - del x159 - x161 += einsum("ij->ji", f.bb.oo) - x162 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x162 += einsum("ij,jkab->kiab", x161, t2.bbbb) - del x161 - x176 += einsum("ijab->jiba", x162) - del x162 - x163 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x163 += einsum("ia,wba->wib", t1.bb, g.bb.bvv) - x167 += einsum("wia->wia", x163) - del x163 - x164 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x164 += einsum("wia,ijab->wjb", g.aa.bov, t2.abab) - x167 += einsum("wia->wia", x164) - del x164 - x167 += einsum("wai->wia", g.bb.bvo) - x168 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x168 += einsum("wia,wjb->ijab", u11.bb, x167) - x176 += einsum("ijab->jiba", x168) - del x168 - x293 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x293 += einsum("wia,wjb->ijab", u11.aa, x167) - del x167 - t2new_baba += einsum("ijab->jiba", x293) - t2new_abab += einsum("ijab->ijab", x293) - del x293 - x169 += einsum("ab->ab", f.bb.vv) - x170 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x170 += einsum("ab,ijbc->ijca", x169, t2.bbbb) - del x169 - x176 -= einsum("ijab->jiba", x170) - del x170 - x171 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x171 += einsum("wia,wib->ab", g.bb.bov, u11.bb) - x172 += einsum("ab->ab", x171) - x173 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x173 += einsum("ab,ijac->ijcb", x172, t2.bbbb) - del x172 - x176 -= einsum("ijab->jiab", x173) - del x173 - t2new_bbbb += einsum("ijab->ijab", x176) - t2new_bbbb -= einsum("ijab->ijba", x176) - t2new_bbbb -= einsum("ijab->jiab", x176) - t2new_bbbb += einsum("ijab->jiba", x176) - del x176 - x278 += einsum("ab->ba", x171) * -1 - x316 += einsum("ab->ba", x171) * -1 - del x171 - x177 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x177 += einsum("ijab,ikjl->lkba", t2.bbbb, v.bbbb.oooo) - x179 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x179 += einsum("ijab->jiba", x177) - del x177 - x178 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x178 += einsum("ijab,cbda->ijdc", t2.bbbb, v.bbbb.vvvv) - x179 += einsum("ijab->jiba", x178) - del x178 - t2new_bbbb += einsum("ijab->ijba", x179) * -1 - t2new_bbbb += einsum("ijab->ijab", x179) - del x179 - x180 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x180 += einsum("ia,bcda->ibdc", t1.bb, v.bbbb.vvvv) - x181 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x181 += einsum("ia,jbca->ijbc", t1.bb, x180) - del x180 - x189 += einsum("ijab->ijab", x181) - del x181 - x182 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x182 += einsum("ijab,kbla->ijlk", t2.bbbb, v.bbbb.ovov) - x183 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x183 += einsum("ijab,klji->lkab", t2.bbbb, x182) - x189 += einsum("ijab->ijab", x183) - del x183 - x186 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x186 += einsum("ijkl->lkji", x182) - del x182 - x186 += einsum("ijkl->kilj", v.bbbb.oooo) - x187 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x187 += einsum("ia,ijkl->jkla", t1.bb, x186) - del x186 - x188 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x188 += einsum("ia,ijkb->kjab", t1.bb, x187) - del x187 - x189 += einsum("ijab->ijab", x188) - del x188 - t2new_bbbb += einsum("ijab->ijab", x189) - t2new_bbbb += einsum("ijab->ijba", x189) * -1 - del x189 - x190 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x190 += einsum("ia,jkla->ijlk", t1.bb, v.bbbb.ooov) - x191 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x191 += einsum("ijab,kjil->klba", t2.bbbb, x190) - x222 += einsum("ijab->ijab", x191) - del x191 - x199 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x199 += einsum("ia,jkil->jkla", t1.bb, x190) - del x190 - x208 += einsum("ijka->ijka", x199) - del x199 - x192 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x192 += einsum("ijab,iajc->bc", t2.abab, v.aabb.ovov) - x193 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x193 += einsum("ab,ijcb->ijac", x192, t2.bbbb) - x222 += einsum("ijab->ijab", x193) * -1 - del x193 - x278 += einsum("ab->ab", x192) * -1 - x316 += einsum("ab->ab", x192) * -1 - del x192 - x194 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x194 += einsum("ijab->jiab", t2.bbbb) * -1 - x194 += einsum("ijab->jiba", t2.bbbb) - x196 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x196 += einsum("ijab,kicb->jkac", x194, x195) * -1 - del x195 - x222 += einsum("ijab->jiab", x196) * -1 - del x196 - x197 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x197 += einsum("iajb,jkcb->ikac", v.aabb.ovov, x194) - x198 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x198 += einsum("ijab,ikac->jkbc", t2.abab, x197) * -1 - x222 += einsum("ijab->ijab", x198) * -1 - del x198 - x234 += einsum("ijab->ijab", x197) * -1 - del x197 - x237 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x237 += einsum("ijab,ikcb->jkac", x13, x194) - del x13 - x239 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x239 += einsum("ijab->ijba", x237) - del x237 - x263 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x263 += einsum("ijab,klib->klja", x194, x4) - del x4 - x271 += einsum("ijka->ijka", x263) * -1 - del x263 - x200 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x200 += einsum("ijab,kacb->ijkc", t2.bbbb, v.bbbb.ovvv) - x208 += einsum("ijka->ikja", x200) - del x200 - x201 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x201 += einsum("ia,jbca->ijcb", t1.bb, v.bbbb.ovvv) - x202 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x202 += einsum("ia,jkba->ijkb", t1.bb, x201) - del x201 - x208 += einsum("ijka->ikja", x202) - del x202 - x205 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x205 += einsum("ijka->ikja", v.bbbb.ooov) * -1 - x205 += einsum("ijka->kija", v.bbbb.ooov) - x206 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x206 += einsum("ijab->jiab", t2.bbbb) - x206 += einsum("ijab->jiba", t2.bbbb) * -1 - x207 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x207 += einsum("ijka,ilab->jklb", x205, x206) - del x205 - del x206 - x208 += einsum("ijka->kija", x207) - del x207 - x209 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x209 += einsum("ia,jikb->jkab", t1.bb, x208) - del x208 - x222 += einsum("ijab->ijab", x209) - del x209 - x211 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x211 += einsum("iabc->ibac", v.bbbb.ovvv) * -1 - x211 += einsum("iabc->ibca", v.bbbb.ovvv) - x212 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x212 += einsum("ia,ibca->bc", t1.bb, x211) - x213 += einsum("ab->ab", x212) * -1 - del x212 - x214 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x214 += einsum("ab,ijbc->ijca", x213, t2.bbbb) - del x213 - x222 += einsum("ijab->jiab", x214) - del x214 - t2new_bbbb += einsum("ijab->ijab", x222) * -1 - t2new_bbbb += einsum("ijab->ijba", x222) - t2new_bbbb += einsum("ijab->jiab", x222) - t2new_bbbb += einsum("ijab->jiba", x222) * -1 - del x222 - x238 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x238 += einsum("ia,jbca->ijbc", t1.bb, x211) - del x211 - x239 += einsum("ijab->jiab", x238) * -1 - del x238 - x231 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x231 += einsum("ia,bjca->jibc", t1.bb, v.aabb.vovv) - t2new_baba += einsum("ijab->jiba", x231) - t2new_abab += einsum("ijab->ijab", x231) - del x231 - x232 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x232 += einsum("ijab,cadb->ijcd", t2.abab, v.aabb.vvvv) - t2new_baba += einsum("ijab->jiba", x232) - t2new_abab += einsum("ijab->ijab", x232) - del x232 - x234 += einsum("iabj->ijab", v.aabb.ovvo) - x235 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x235 += einsum("ijab,ikbc->jkac", x10, x234) - del x234 - t2new_baba += einsum("ijab->jiba", x235) - t2new_abab += einsum("ijab->ijab", x235) - del x235 - x236 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x236 += einsum("ijab,iakc->jkbc", t2.abab, v.aabb.ovov) - x239 += einsum("ijab->jiab", x236) - del x236 - x239 += einsum("iabj->ijba", v.bbbb.ovvo) - x239 += einsum("ijab->ijab", v.bbbb.oovv) * -1 - x240 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x240 += einsum("ijab,jkcb->ikac", t2.abab, x239) - del x239 - t2new_baba += einsum("ijab->jiba", x240) - t2new_abab += einsum("ijab->ijab", x240) - del x240 - x241 += einsum("iabj->jiba", v.bbaa.ovvo) - t2new_baba += einsum("ijab,jkbc->kica", x241, x40) - t2new_abab -= einsum("ijab,jkcb->ikac", x241, x40) - del x40 - del x241 - x242 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x242 -= einsum("iabc->ibac", v.aaaa.ovvv) - x242 += einsum("iabc->ibca", v.aaaa.ovvv) - x243 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x243 += einsum("ia,jbca->jibc", t1.aa, x242) - del x242 - x244 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x244 -= einsum("ijab->ijab", x243) - del x243 - x244 += einsum("iabj->ijba", v.aaaa.ovvo) - x244 -= einsum("ijab->ijab", v.aaaa.oovv) - x245 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x245 += einsum("ijab,ikca->kjcb", t2.abab, x244) - del x244 - t2new_baba += einsum("ijab->jiba", x245) - t2new_abab += einsum("ijab->ijab", x245) - del x245 - x246 = np.zeros((nocc[0], nocc[0], nvir[1], nvir[1]), dtype=types[float]) - x246 += einsum("ia,jabc->ijbc", t1.aa, v.aabb.ovvv) - x248 = np.zeros((nocc[0], nocc[0], nvir[1], nvir[1]), dtype=types[float]) - x248 += einsum("ijab->jiab", x246) - del x246 - x247 = np.zeros((nocc[0], nocc[0], nvir[1], nvir[1]), dtype=types[float]) - x247 += einsum("ijab,kajc->ikbc", t2.abab, v.aabb.ovov) - x248 -= einsum("ijab->jiab", x247) - del x247 - x248 += einsum("ijab->ijab", v.aabb.oovv) - x249 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x249 += einsum("ijab,ikcb->kjac", t2.abab, x248) - del x248 - t2new_baba -= einsum("ijab->jiba", x249) - t2new_abab -= einsum("ijab->ijab", x249) - del x249 - x250 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x250 += einsum("ia,jkla->jkil", t1.bb, v.aabb.ooov) - x254 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x254 += einsum("ijkl->ijlk", x250) - x267 += einsum("ijkl->ijlk", x250) - del x250 - x251 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x251 += einsum("ijab,kalb->ikjl", t2.abab, v.aabb.ovov) - x254 += einsum("ijkl->jilk", x251) - x267 += einsum("ijkl->jilk", x251) - del x251 - x252 += einsum("iajk->ijka", v.aabb.ovoo) - x253 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x253 += einsum("ia,jkla->jikl", t1.aa, x252) - del x252 - x254 += einsum("ijkl->ijkl", x253) - del x253 - x254 += einsum("ijkl->ijkl", v.aabb.oooo) - x255 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x255 += einsum("ijab,ikjl->klab", t2.abab, x254) - del x254 - t2new_baba += einsum("ijab->jiba", x255) - t2new_abab += einsum("ijab->ijab", x255) - del x255 - x256 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x256 += einsum("ia,jabc->ijbc", t1.bb, v.bbaa.ovvv) - x257 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x257 += einsum("ijab->jiab", x256) - x287 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x287 += einsum("ijab->jiab", x256) - del x256 - x257 += einsum("ijab->ijab", v.bbaa.oovv) - x258 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x258 += einsum("ijab,jkca->ikcb", t2.abab, x257) - del x257 - t2new_baba -= einsum("ijab->jiba", x258) - t2new_abab -= einsum("ijab->ijab", x258) - del x258 - x259 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x259 += einsum("ia,jkba->jkib", t1.bb, v.aabb.oovv) - x271 += einsum("ijka->ijka", x259) - del x259 - x260 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x260 += einsum("ijab,kacb->ikjc", t2.abab, v.aabb.ovvv) - x271 += einsum("ijka->jika", x260) - del x260 - x261 += einsum("ijka->ikja", v.aaaa.ooov) - x261 += einsum("ijka->kija", v.aaaa.ooov) * -1 - x262 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x262 += einsum("ijab,ikla->kljb", t2.abab, x261) - del x261 - x271 += einsum("ijka->ijka", x262) * -1 - del x262 - x267 += einsum("ijkl->ijkl", v.aabb.oooo) - x268 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x268 += einsum("ia,jkil->jkla", t1.bb, x267) - del x267 - x271 += einsum("ijka->ijka", x268) * -1 - del x268 - x269 += einsum("iabj->ijab", v.aabb.ovvo) - x270 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x270 += einsum("ia,jkab->jikb", t1.aa, x269) - del x269 - x271 += einsum("ijka->ijka", x270) - del x270 - x271 += einsum("ijak->ijka", v.aabb.oovo) - x272 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x272 += einsum("ia,ijkb->jkab", t1.aa, x271) - del x271 - t2new_baba += einsum("ijab->jiba", x272) * -1 - t2new_abab += einsum("ijab->ijab", x272) * -1 - del x272 - x273 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x273 += einsum("iajb->jiab", v.aaaa.ovov) - x273 += einsum("iajb->jiba", v.aaaa.ovov) * -1 - x274 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x274 += einsum("ijab,ijca->cb", t2.aaaa, x273) - del x273 - x275 += einsum("ab->ba", x274) * -1 - x307 += einsum("ab->ba", x274) * -1 - del x274 - x275 += einsum("ab->ab", f.aa.vv) - x276 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x276 += einsum("ab,ijbc->ijac", x275, t2.abab) - del x275 - t2new_baba += einsum("ijab->jiba", x276) - t2new_abab += einsum("ijab->ijab", x276) - del x276 - x278 += einsum("ab->ab", f.bb.vv) - x279 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x279 += einsum("ab,ijcb->ijca", x278, t2.abab) - del x278 - t2new_baba += einsum("ijab->jiba", x279) - t2new_abab += einsum("ijab->ijab", x279) - del x279 - x280 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x280 += einsum("ia,jabk->kijb", t1.bb, v.bbaa.ovvo) - x289 += einsum("ijka->ikja", x280) - del x280 - x281 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x281 += einsum("ijab,kbca->ijkc", t2.abab, v.bbaa.ovvv) - x289 += einsum("ijka->ikja", x281) - del x281 - x282 += einsum("ijka->ikja", v.bbbb.ooov) - x282 += einsum("ijka->kija", v.bbbb.ooov) * -1 - x283 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x283 += einsum("ijab,jklb->ikla", t2.abab, x282) - del x282 - x289 += einsum("ijka->ijka", x283) * -1 - del x283 - x287 += einsum("ijab->ijab", v.bbaa.oovv) - x288 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x288 += einsum("ia,jkba->ijkb", t1.aa, x287) - del x287 - x289 += einsum("ijka->ijka", x288) - del x288 - x289 += einsum("ijak->kija", v.bbaa.oovo) - x290 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x290 += einsum("ia,jikb->jkba", t1.bb, x289) - del x289 - t2new_baba += einsum("ijab->jiba", x290) * -1 - t2new_abab += einsum("ijab->ijab", x290) * -1 - del x290 - x295 = np.zeros((nocc[1], nvir[0], nvir[0], nvir[1]), dtype=types[float]) - x295 += einsum("ia,bcda->ibcd", t1.bb, v.aabb.vvvv) - x296 = np.zeros((nocc[1], nvir[0], nvir[0], nvir[1]), dtype=types[float]) - x296 += einsum("iabc->iabc", x295) - del x295 - x296 += einsum("abci->iabc", v.aabb.vvvo) - x297 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x297 += einsum("ia,jbac->ijbc", t1.aa, x296) - del x296 - t2new_baba += einsum("ijab->jiba", x297) - t2new_abab += einsum("ijab->ijab", x297) - del x297 - x298 += einsum("ia->ia", f.bb.ov) - s1new = np.zeros((nbos), dtype=types[float]) - s1new += einsum("ia,wia->w", x298, u11.bb) - del x298 - x299 += einsum("ia->ia", f.aa.ov) - s1new += einsum("ia,wia->w", x299, u11.aa) - del x299 - x300 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x300 += einsum("wia,jbia->wjb", u11.bb, v.aabb.ovov) - x302 += einsum("wia->wia", x300) - del x300 - x302 += einsum("wia->wia", gc.aa.bov) - x309 += einsum("ia,wja->wji", t1.aa, x302) - u11new_aa += einsum("wia,ijba->wjb", x302, x10) - del x10 - u11new_bb += einsum("wia,ijab->wjb", x302, t2.abab) - del x302 - x303 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x303 += einsum("wia,iajb->wjb", u11.aa, v.aabb.ovov) - x305 += einsum("wia->wia", x303) - del x303 - x305 += einsum("wia->wia", gc.bb.bov) - x318 += einsum("ia,wja->wji", t1.bb, x305) - u11new_aa += einsum("wia,jiba->wjb", x305, t2.abab) - u11new_bb += einsum("wia,ijab->wjb", x305, x194) - del x305 - del x194 - x307 += einsum("ab->ab", f.aa.vv) - u11new_aa += einsum("ab,wib->wia", x307, u11.aa) - del x307 - x308 += einsum("ia->ia", f.aa.ov) - x309 += einsum("ia,wja->wij", x308, u11.aa) - del x308 - x309 += einsum("wij->wij", gc.aa.boo) - x309 += einsum("wia,jkia->wjk", u11.bb, v.aabb.ooov) - u11new_aa += einsum("ia,wij->wja", t1.aa, x309) * -1 - del x309 - x310 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x310 += einsum("iabc->ibac", v.aaaa.ovvv) - x310 -= einsum("iabc->ibca", v.aaaa.ovvv) - x311 = np.zeros((nbos, nvir[0], nvir[0]), dtype=types[float]) - x311 -= einsum("wia,ibca->wbc", u11.aa, x310) - del x310 - x311 += einsum("wab->wab", gc.aa.bvv) - x311 += einsum("wia,iabc->wbc", u11.bb, v.bbaa.ovvv) - u11new_aa += einsum("ia,wba->wib", t1.aa, x311) - del x311 - x312 = np.zeros((nbos, nbos), dtype=types[float]) - x312 += einsum("wia,xia->wx", g.aa.bov, u11.aa) - x314 = np.zeros((nbos, nbos), dtype=types[float]) - x314 += einsum("wx->wx", x312) - del x312 - x313 = np.zeros((nbos, nbos), dtype=types[float]) - x313 += einsum("wia,xia->wx", g.bb.bov, u11.bb) - x314 += einsum("wx->wx", x313) - del x313 - x314 += einsum("wx->wx", w) - u11new_aa += einsum("wx,wia->xia", x314, u11.aa) - u11new_bb += einsum("wx,wia->xia", x314, u11.bb) - del x314 - x316 += einsum("ab->ab", f.bb.vv) - u11new_bb += einsum("ab,wib->wia", x316, u11.bb) - del x316 - x317 += einsum("ia->ia", f.bb.ov) - x318 += einsum("ia,wja->wij", x317, u11.bb) - del x317 - x318 += einsum("wij->wij", gc.bb.boo) - x318 += einsum("wia,iajk->wjk", u11.aa, v.aabb.ovoo) - u11new_bb += einsum("ia,wij->wja", t1.bb, x318) * -1 - del x318 - x319 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x319 += einsum("iabc->ibac", v.bbbb.ovvv) - x319 -= einsum("iabc->ibca", v.bbbb.ovvv) - x320 = np.zeros((nbos, nvir[1], nvir[1]), dtype=types[float]) - x320 -= einsum("wia,ibca->wbc", u11.bb, x319) - del x319 - x320 += einsum("wab->wab", gc.bb.bvv) - x320 += einsum("wia,iabc->wbc", u11.aa, v.aabb.ovvv) - u11new_bb += einsum("ia,wba->wib", t1.bb, x320) - del x320 - t1new_aa += einsum("ai->ia", f.aa.vo) - t1new_aa += einsum("ijab,jbca->ic", t2.abab, v.bbaa.ovvv) - t1new_aa += einsum("ia,iabj->jb", t1.bb, v.bbaa.ovvo) - t1new_aa += einsum("w,wai->ia", s1, g.aa.bvo) - t1new_aa += einsum("wab,wib->ia", g.aa.bvv, u11.aa) - t1new_bb += einsum("wab,wib->ia", g.bb.bvv, u11.bb) - t1new_bb += einsum("ia,iabj->jb", t1.aa, v.aabb.ovvo) - t1new_bb += einsum("ijab,iacb->jc", t2.abab, v.aabb.ovvv) - t1new_bb += einsum("ai->ia", f.bb.vo) - t1new_bb += einsum("w,wai->ia", s1, g.bb.bvo) - t2new_aaaa -= einsum("aibj->jiab", v.aaaa.vovo) - t2new_aaaa += einsum("aibj->jiba", v.aaaa.vovo) - t2new_bbbb -= einsum("aibj->jiab", v.bbbb.vovo) - t2new_bbbb += einsum("aibj->jiba", v.bbbb.vovo) - t2new_baba += einsum("aibj->jiba", v.aabb.vovo) - t2new_abab += einsum("aibj->ijab", v.aabb.vovo) - s1new += einsum("ia,wia->w", t1.aa, gc.aa.bov) - s1new += einsum("w->w", G) - s1new += einsum("w,wx->x", s1, w) - s1new += einsum("ia,wia->w", t1.bb, gc.bb.bov) - u11new_aa += einsum("wai->wia", gc.aa.bvo) - u11new_aa += einsum("wia,iabj->wjb", u11.bb, v.bbaa.ovvo) - u11new_bb += einsum("wia,iabj->wjb", u11.aa, v.aabb.ovvo) - u11new_bb += einsum("wai->wia", gc.bb.bvo) - - t1new.aa = t1new_aa - t1new.bb = t1new_bb - t2new.abab = t2new_abab - t2new.baba = t2new_baba - t2new.aaaa = t2new_aaaa - t2new.bbbb = t2new_bbbb - u11new.aa = u11new_aa - u11new.bb = u11new_bb - - return {"t1new": t1new, "t2new": t2new, "s1new": s1new, "u11new": u11new} - -def update_lams(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, u11=None, l1=None, l2=None, ls1=None, lu11=None, **kwargs): - l1new = Namespace() - l2new = Namespace() - lu11new = Namespace() - - # Get boson coupling creation array: - gc = Namespace( - aa = Namespace( - boo=g.aa.boo.transpose(0, 2, 1), - bov=g.aa.bvo.transpose(0, 2, 1), - bvo=g.aa.bov.transpose(0, 2, 1), - bvv=g.aa.bvv.transpose(0, 2, 1), - ), - bb = Namespace( - boo=g.bb.boo.transpose(0, 2, 1), - bov=g.bb.bvo.transpose(0, 2, 1), - bvo=g.bb.bov.transpose(0, 2, 1), - bvv=g.bb.bvv.transpose(0, 2, 1), - ), - ) - - # L1, L2, LS1 and LU11 amplitudes - x0 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x0 += einsum("ia,bajk->jkib", t1.bb, l2.abab) - x2 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x2 += einsum("ia,jkla->jikl", t1.aa, x0) - x67 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x67 += einsum("ijkl->ijkl", x2) - x461 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x461 += einsum("ijkl->ijkl", x2) - l1new_aa = np.zeros((nvir[0], nocc[0]), dtype=types[float]) - l1new_aa += einsum("iajk,likj->al", v.aabb.ovoo, x2) - l1new_bb = np.zeros((nvir[1], nocc[1]), dtype=types[float]) - l1new_bb += einsum("ijka,jilk->al", v.aabb.ooov, x2) - del x2 - x52 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x52 += einsum("ia,jikb->jkba", t1.bb, x0) - x68 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x68 += einsum("ijab,kjla->kilb", t2.abab, x0) - x176 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x176 += einsum("ijab,ijka->kb", t2.abab, x0) - x186 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x186 += einsum("ia->ia", x176) - del x176 - x252 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x252 += einsum("ijab,ikla->kjlb", t2.abab, x0) - x295 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x295 += einsum("iajk,lkjb->liba", v.aabb.ovoo, x0) - x333 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x333 -= einsum("ijab->ijab", x295) - del x295 - x430 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x430 += einsum("iabc,jkib->jkca", v.bbaa.ovvv, x0) - l2new_baba = np.zeros((nvir[1], nvir[0], nocc[1], nocc[0]), dtype=types[float]) - l2new_baba -= einsum("ijab->baji", x430) - l2new_abab = np.zeros((nvir[0], nvir[1], nocc[0], nocc[1]), dtype=types[float]) - l2new_abab -= einsum("ijab->abij", x430) - del x430 - l1new_aa -= einsum("ijab,kjia->bk", v.bbaa.oovv, x0) - x1 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x1 += einsum("abij,klab->ikjl", l2.abab, t2.abab) - x67 += einsum("ijkl->ijkl", x1) - x68 += einsum("ia,jkil->jkla", t1.bb, x67) - x258 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x258 += einsum("ia,ijkl->jkla", t1.aa, x67) - del x67 - x461 += einsum("ijkl->ijkl", x1) - x462 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x462 += einsum("iajb,kilj->klab", v.aabb.ovov, x461) - del x461 - l2new_baba += einsum("ijab->baji", x462) - l2new_abab += einsum("ijab->abij", x462) - del x462 - l1new_aa += einsum("iajk,likj->al", v.aabb.ovoo, x1) - l1new_bb += einsum("ijka,jilk->al", v.aabb.ooov, x1) - del x1 - x3 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x3 += einsum("ai,ja->ij", l1.aa, t1.aa) - x163 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x163 += einsum("ij->ij", x3) - x208 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x208 += einsum("ij->ij", x3) - x326 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x326 += einsum("ij->ij", x3) - x4 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x4 += einsum("w,wia->ia", s1, g.aa.bov) - x6 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x6 += einsum("ia->ia", x4) - x31 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x31 += einsum("ia->ia", x4) - x314 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x314 += einsum("ia->ia", x4) - x495 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x495 += einsum("ia->ia", x4) - l1new_aa -= einsum("ij,ja->ai", x3, x4) - del x3 - del x4 - x5 = np.zeros((nocc[0], nocc[0], nvir[1], nvir[1]), dtype=types[float]) - x5 += einsum("abij,kjac->ikbc", l2.abab, t2.abab) - l1new_aa += einsum("iabc,jibc->aj", v.aabb.ovvv, x5) * -1 - del x5 - x6 += einsum("ia->ia", f.aa.ov) - x7 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x7 += einsum("ia,jkab->jkib", x6, t2.aaaa) - del x6 - x8 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x8 += einsum("ijka->kjia", x7) - del x7 - x8 += einsum("ijak->ijka", v.aaaa.oovo) * -1 - x26 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x26 += einsum("ijka->kija", x8) - x26 += einsum("ijka->jika", x8) * -1 - del x8 - x9 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x9 += einsum("ijab,kacb->ijkc", t2.aaaa, v.aaaa.ovvv) - x17 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x17 += einsum("ijka->ijka", x9) * -1 - del x9 - x10 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x10 += einsum("ijab,kbla->ijlk", t2.aaaa, v.aaaa.ovov) - x11 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x11 += einsum("ia,jkil->kjla", t1.aa, x10) - x17 += einsum("ijka->ijka", x11) - del x11 - x356 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x356 += einsum("abij,ijkl->klab", l2.aaaa, x10) - del x10 - x360 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x360 += einsum("ijab->ijab", x356) - del x356 - x12 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x12 += einsum("ia,jbia->jb", t1.bb, v.aabb.ovov) - x15 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x15 += einsum("ia->ia", x12) - x31 += einsum("ia->ia", x12) - x209 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x209 += einsum("ia->ia", x12) - x332 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x332 += einsum("ia->ia", x12) - x495 += einsum("ia->ia", x12) - del x12 - x13 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x13 += einsum("iajb->jiab", v.aaaa.ovov) * -1 - x13 += einsum("iajb->jiba", v.aaaa.ovov) - x14 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x14 += einsum("ia,ijba->jb", t1.aa, x13) - x15 += einsum("ia->ia", x14) * -1 - x16 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x16 += einsum("ia,jkab->jkib", x15, t2.aaaa) - x17 += einsum("ijka->jika", x16) - del x16 - x26 += einsum("ijka->jkia", x17) - x26 += einsum("ijka->ikja", x17) * -1 - del x17 - x344 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x344 += einsum("ia,ja->ij", t1.aa, x15) - x345 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x345 += einsum("ij->ij", x344) - del x344 - x517 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x517 += einsum("ia,ib->ab", t1.aa, x15) * -1 - x31 += einsum("ia->ia", x14) * -1 - x209 += einsum("ia->ia", x14) * -1 - del x14 - x194 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x194 += einsum("wia,ijba->wjb", u11.aa, x13) - x195 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x195 += einsum("wia->wia", x194) * -1 - del x194 - x435 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x435 += einsum("ijab,ikca->kjcb", t2.abab, x13) - x437 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x437 += einsum("ijab->ijab", x435) * -1 - del x435 - x18 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x18 += einsum("ia,jbka->ijkb", t1.aa, v.aaaa.ovov) - x19 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x19 += einsum("ijka->ikja", x18) * -1 - x19 += einsum("ijka->ijka", x18) - x27 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x27 += einsum("ijka->jkia", x18) - x27 += einsum("ijka->kjia", x18) * -1 - x46 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x46 += einsum("ia,jkla->ijkl", t1.aa, x18) - x47 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x47 += einsum("ia,jkil->kjla", t1.aa, x46) - x48 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x48 += einsum("ijka->ijka", x47) - del x47 - x357 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x357 += einsum("abij,jikl->klba", l2.aaaa, x46) - del x46 - x360 += einsum("ijab->ijab", x357) - del x357 - x83 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x83 += einsum("ijka->jkia", x18) * -1 - x83 += einsum("ijka->kjia", x18) - x329 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x329 += einsum("ijka->ijka", x18) - x341 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x341 += einsum("ijka->ikja", x18) * -1 - x341 += einsum("ijka->ijka", x18) - x466 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x466 += einsum("ijka->ikja", x18) - x466 += einsum("ijka->ijka", x18) * -1 - del x18 - x19 += einsum("ijka->jkia", v.aaaa.ooov) - x19 += einsum("ijka->jika", v.aaaa.ooov) * -1 - x20 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x20 += einsum("ijab->jiab", t2.aaaa) - x20 += einsum("ijab->jiba", t2.aaaa) * -1 - x26 += einsum("ijka,klab->ijlb", x19, x20) - x50 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x50 += einsum("ijka,klab->ijlb", x19, x20) * 0.9999999999999993 - del x19 - x82 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x82 += einsum("iabc,ijac->jb", v.aaaa.ovvv, x20) - x116 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x116 += einsum("ia->ia", x82) * -1 - del x82 - x161 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x161 += einsum("ai,ijba->jb", l1.aa, x20) - x165 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x165 += einsum("ia->ia", x161) * -1 - del x161 - x169 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x169 += einsum("abij,ijac->bc", l2.aaaa, x20) - x170 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x170 += einsum("ab->ab", x169) * -1 - x347 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x347 += einsum("ab->ab", x169) * -1 - x476 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x476 += einsum("ab->ab", x169) * -1 - del x169 - x249 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x249 += einsum("abij,ikca->kjcb", l2.abab, x20) * -1 - x258 += einsum("ijka,ilba->ljkb", x0, x20) * -1 - x338 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x338 += einsum("ijab,ikbc->kjca", x13, x20) - x339 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x339 += einsum("ijab->ijab", x338) - del x338 - x350 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x350 += einsum("iajb,ijac->cb", v.aaaa.ovov, x20) - x351 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x351 += einsum("ab->ab", x350) * -1 - del x350 - x468 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x468 += einsum("iajb,ijca->cb", v.aaaa.ovov, x20) - x469 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x469 += einsum("ab->ab", x468) * -1 - x517 += einsum("ab->ab", x468) * -1 - del x468 - x21 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x21 += einsum("ia,jakb->ijkb", t1.aa, v.aabb.ovov) - x22 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x22 += einsum("ijka->jika", x21) - x492 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x492 += einsum("ijka->jika", x21) - x22 += einsum("ijka->ijka", v.aabb.ooov) - x26 += einsum("ijab,kljb->lkia", t2.abab, x22) - x50 += einsum("ijab,kljb->lkia", t2.abab, x22) * 0.9999999999999993 - x85 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x85 += einsum("ijab,ikjb->ka", t2.abab, x22) - x116 += einsum("ia->ia", x85) * -1 - del x85 - x228 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x228 += einsum("ijab,iklb->klja", t2.abab, x22) * -1 - x465 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x465 += einsum("ijka,likb->ljab", x0, x22) - l2new_baba += einsum("ijab->baji", x465) - l2new_abab += einsum("ijab->abij", x465) - del x465 - x23 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x23 += einsum("iabj->ijba", v.aaaa.ovvo) - x23 += einsum("ijab->ijab", v.aaaa.oovv) * -1 - x26 += einsum("ia,jkba->ijkb", t1.aa, x23) - x50 += einsum("ia,jkba->ijkb", t1.aa, x23) * 0.9999999999999993 - x93 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x93 += einsum("ia,ijba->jb", t1.aa, x23) - x116 += einsum("ia->ia", x93) - del x93 - x24 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x24 += einsum("ia,jkla->ijlk", t1.aa, v.aaaa.ooov) - x25 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x25 += einsum("ijkl->jkil", x24) - x25 += einsum("ijkl->kjil", x24) * -1 - x49 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x49 += einsum("ijkl->ikjl", x24) - x49 += einsum("ijkl->ijkl", x24) * -1 - x50 += einsum("ia,jkil->jkla", t1.aa, x49) * -0.9999999999999993 - del x49 - x293 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x293 += einsum("abij,jkli->klba", l2.aaaa, x24) - del x24 - x333 -= einsum("ijab->ijab", x293) - del x293 - x25 += einsum("ijkl->kijl", v.aaaa.oooo) - x25 += einsum("ijkl->kilj", v.aaaa.oooo) * -1 - x26 += einsum("ia,ijkl->kjla", t1.aa, x25) * -1 - del x25 - l1new_aa += einsum("abij,ikjb->ak", l2.aaaa, x26) * -1 - del x26 - x27 += einsum("ijka->ikja", v.aaaa.ooov) * -1 - x27 += einsum("ijka->kija", v.aaaa.ooov) - x39 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x39 += einsum("ijab,kila->kljb", t2.abab, x27) * -1 - del x27 - x28 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x28 += einsum("ijab->jiab", t2.bbbb) - x28 += einsum("ijab->jiba", t2.bbbb) * -1 - x39 += einsum("ijka,klab->ijlb", x22, x28) * -1 - x124 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x124 += einsum("iabc,ijac->jb", v.bbbb.ovvv, x28) - x154 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x154 += einsum("ia->ia", x124) * -1 - del x124 - x183 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x183 += einsum("abij,ikab->jk", l2.bbbb, x28) - x184 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x184 += einsum("ij->ij", x183) * -1 - x251 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x251 += einsum("ij->ij", x183) * -1 - x285 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x285 += einsum("ij->ij", x183) * -1 - del x183 - x436 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x436 += einsum("iajb,jkbc->ikac", v.aabb.ovov, x28) - x437 += einsum("ijab->ijab", x436) * -1 - del x436 - x509 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x509 += einsum("wia,ijab->wjb", g.bb.bov, x28) - x511 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x511 += einsum("wia->wia", x509) * -1 - del x509 - x514 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x514 += einsum("wai,ijab->wjb", lu11.bb, x28) - x515 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x515 += einsum("wia->wia", x514) * -1 - del x514 - x29 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x29 += einsum("ia,jbka->jikb", t1.bb, v.aabb.ovov) - x30 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x30 += einsum("ijka->ikja", x29) - x34 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x34 += einsum("ijka->ikja", x29) - x296 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x296 += einsum("ijka,ljkb->ilab", x0, x29) - x333 -= einsum("ijab->ijab", x296) - del x296 - x490 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x490 += einsum("ijka->ikja", x29) - del x29 - x30 += einsum("iajk->ijka", v.aabb.ovoo) - x39 += einsum("ijab,kjla->kilb", t2.abab, x30) * -1 - x128 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x128 += einsum("ijab,ijka->kb", t2.abab, x30) - x154 += einsum("ia->ia", x128) * -1 - del x128 - x223 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x223 += einsum("ijab,ikla->lkjb", t2.abab, x30) - x458 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x458 += einsum("ia,jkla->ijkl", t1.aa, x30) - x459 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x459 += einsum("ijkl->jikl", x458) - del x458 - x31 += einsum("ia->ia", f.aa.ov) - x39 += einsum("ia,jkab->ijkb", x31, t2.abab) - x104 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x104 += einsum("ia,ja->ij", t1.aa, x31) - x105 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x105 += einsum("ij->ji", x104) - del x104 - x130 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x130 += einsum("ia,ijab->jb", x31, t2.abab) - x154 += einsum("ia->ia", x130) - del x130 - x196 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) - x196 += einsum("ia,wja->wij", x31, u11.aa) - x213 = np.zeros((nbos), dtype=types[float]) - x213 += einsum("ia,wia->w", x31, u11.aa) - x215 = np.zeros((nbos), dtype=types[float]) - x215 += einsum("w->w", x213) - del x213 - lu11new_aa = np.zeros((nbos, nvir[0], nocc[0]), dtype=types[float]) - lu11new_aa += einsum("w,ia->wai", ls1, x31) * 2 - x32 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x32 += einsum("ia,jkla->jkil", t1.bb, v.aabb.ooov) - x36 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x36 += einsum("ijkl->ijlk", x32) - x459 += einsum("ijkl->ijlk", x32) - del x32 - x33 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x33 += einsum("ijab,kalb->ikjl", t2.abab, v.aabb.ovov) - x36 += einsum("ijkl->jilk", x33) - x459 += einsum("ijkl->jilk", x33) - del x33 - x34 += einsum("iajk->ijka", v.aabb.ovoo) - x35 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x35 += einsum("ia,jkla->ijkl", t1.aa, x34) - del x34 - x36 += einsum("ijkl->jikl", x35) - del x35 - x36 += einsum("ijkl->ijkl", v.aabb.oooo) - x39 += einsum("ia,jkil->jkla", t1.bb, x36) * -1 - x228 += einsum("ia,ijkl->jkla", t1.aa, x36) * -1 - del x36 - x37 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x37 += einsum("ia,jbca->jibc", t1.bb, v.aabb.ovvv) - x38 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x38 += einsum("ijab->ijab", x37) - x304 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x304 += einsum("ijab->ijab", x37) - x437 += einsum("ijab->ijab", x37) - del x37 - x38 += einsum("iabj->ijab", v.aabb.ovvo) - x39 += einsum("ia,jkab->jikb", t1.aa, x38) - x39 += einsum("ijak->ijka", v.aabb.oovo) - x39 += einsum("ia,jkba->jkib", t1.bb, v.aabb.oovv) - x39 += einsum("ijab,kacb->kijc", t2.abab, v.aabb.ovvv) - l1new_aa += einsum("abij,kijb->ak", l2.abab, x39) * -1 - del x39 - x40 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x40 += einsum("abij,kjcb->ikac", l2.abab, t2.abab) - x42 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x42 += einsum("ijab->ijab", x40) - x343 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x343 += einsum("ijab,kicb->kjca", x13, x40) - del x40 - x355 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x355 += einsum("ijab->ijab", x343) - del x343 - x41 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x41 += einsum("abij->jiab", l2.aaaa) - x41 += einsum("abij->jiba", l2.aaaa) * -1 - x42 += einsum("ijab,ikcb->kjca", x20, x41) - x52 += einsum("ijab,ikca->kjcb", t2.abab, x41) * -1 - x43 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x43 += einsum("iabc->ibac", v.aaaa.ovvv) - x43 += einsum("iabc->ibca", v.aaaa.ovvv) * -1 - x109 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x109 += einsum("ia,ibca->bc", t1.aa, x43) - x110 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x110 += einsum("ab->ab", x109) * -1 - x469 += einsum("ab->ab", x109) * -1 - x517 += einsum("ab->ab", x109) * -1 - del x109 - x448 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x448 += einsum("ia,jbac->ijbc", t1.aa, x43) - x449 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x449 += einsum("ijab->jiab", x448) * -1 - del x448 - l1new_aa += einsum("ijab,jacb->ci", x42, x43) * -1 - del x42 - x44 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x44 += einsum("ia,jbca->ijcb", t1.aa, v.aaaa.ovvv) - x45 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x45 += einsum("ia,jkba->ijkb", t1.aa, x44) - del x44 - x48 += einsum("ijka->ijka", x45) * -0.9999999999999993 - del x45 - x50 += einsum("ijka->jkia", x48) - x50 += einsum("ijka->ikja", x48) * -1 - del x48 - l1new_aa += einsum("abij,ikja->bk", l2.aaaa, x50) - del x50 - x51 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x51 += einsum("ijab->jiab", t2.bbbb) * -1 - x51 += einsum("ijab->jiba", t2.bbbb) - x52 += einsum("abij,jkbc->ikac", l2.abab, x51) * -1 - l1new_aa += einsum("iabc,jiba->cj", v.bbaa.ovvv, x52) * -1 - del x52 - x179 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x179 += einsum("ai,ijab->jb", l1.bb, x51) - x186 += einsum("ia->ia", x179) * -1 - del x179 - x190 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x190 += einsum("abij,ijbc->ac", l2.bbbb, x51) - x191 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x191 += einsum("ab->ab", x190) * -1 - x422 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x422 += einsum("ab->ab", x190) * -1 - x478 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x478 += einsum("ab->ab", x190) * -1 - del x190 - x53 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x53 += einsum("ia,abjk->jikb", t1.aa, l2.abab) - x60 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x60 += einsum("ijab,kljb->kila", t2.abab, x53) - x68 += einsum("ijab,klia->kljb", x51, x53) * -1 - x159 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x159 += einsum("ijab,ikjb->ka", t2.abab, x53) - x165 += einsum("ia->ia", x159) - del x159 - x249 += einsum("ia,ijkb->jkab", t1.aa, x53) - x258 += einsum("ijab,iklb->klja", t2.abab, x53) - x364 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x364 += einsum("ijka,jilb->lkba", v.aabb.ooov, x53) - x403 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x403 -= einsum("ijab->ijab", x364) - del x364 - x367 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x367 += einsum("ijka,ijlb->lkba", x21, x53) - del x21 - x403 -= einsum("ijab->ijab", x367) - del x367 - x433 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x433 += einsum("iabc,jikb->jkac", v.aabb.ovvv, x53) - l2new_baba -= einsum("ijab->baji", x433) - l2new_abab -= einsum("ijab->abij", x433) - del x433 - x464 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x464 += einsum("ijka,likb->ljab", x30, x53) - l2new_baba += einsum("ijab->baji", x464) - l2new_abab += einsum("ijab->abij", x464) - del x464 - x483 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x483 += einsum("ia,jikb->jkab", x31, x53) - l2new_baba += einsum("ijab->baji", x483) * -1 - l2new_abab += einsum("ijab->abij", x483) * -1 - del x483 - l1new_aa += einsum("ijab,kijb->ak", x38, x53) * -1 - del x38 - l1new_bb -= einsum("ijab,jika->bk", v.aabb.oovv, x53) - l2new_baba += einsum("ijka,ijlb->balk", x466, x53) * -1 - l2new_abab += einsum("ijka,iklb->abjl", x466, x53) - del x466 - x54 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x54 += einsum("ia,abjk->kjib", t1.aa, l2.aaaa) - x55 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x55 += einsum("ijka->ijka", x54) * -1 - x55 += einsum("ijka->jika", x54) - x68 += einsum("ijab,kila->kljb", t2.abab, x55) * -1 - l1new_aa += einsum("ijab,kjia->bk", x23, x55) * -1 - del x23 - x62 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x62 += einsum("ijka->ijka", x54) - x62 += einsum("ijka->jika", x54) * -1 - x63 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x63 += einsum("ia,jikb->jkba", t1.aa, x62) * -1 - l1new_aa += einsum("iabc,jiab->cj", x43, x63) - del x43 - del x63 - x342 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x342 += einsum("ijka,likb->ljba", x341, x62) - del x341 - x355 += einsum("ijab->ijab", x342) - del x342 - l2new_abab += einsum("ijka,ljib->balk", x22, x62) * -1 - del x62 - x71 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x71 += einsum("ia,jkla->kjli", t1.aa, x54) - x72 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x72 += einsum("ijkl->ijkl", x71) - x117 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x117 += einsum("ijkl->ijkl", x71) * -1 - x117 += einsum("ijkl->ijlk", x71) - l1new_aa += einsum("ijka,ljik->al", v.aaaa.ooov, x117) - del x117 - x358 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x358 += einsum("ijkl->ijkl", x71) - del x71 - x160 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x160 += einsum("ijab,jikb->ka", x20, x54) - del x20 - x165 += einsum("ia->ia", x160) * -1 - del x160 - x294 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x294 += einsum("iabc,jkib->kjac", v.aaaa.ovvv, x54) - x333 -= einsum("ijab->ijab", x294) - del x294 - x306 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x306 += einsum("ijka->ijka", x54) - x306 -= einsum("ijka->jika", x54) - l2new_baba += einsum("ijka,ljib->abkl", x22, x306) * -1 - del x22 - x354 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x354 += einsum("ia,jkib->jkba", x15, x54) - del x15 - x355 += einsum("ijab->ijab", x354) - del x354 - x56 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x56 += einsum("ijab->jiab", t2.aaaa) * -1 - x56 += einsum("ijab->jiba", t2.aaaa) - x58 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x58 += einsum("abij,ikba->jk", l2.aaaa, x56) - x59 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x59 += einsum("ij->ij", x58) * -1 - x163 += einsum("ij->ij", x58) * -1 - x205 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x205 += einsum("ij->ij", x58) * -1 - del x58 - x60 += einsum("ijka,ilba->jlkb", x55, x56) - del x55 - x86 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x86 += einsum("ia,ijba->jb", x31, x56) - del x31 - x116 += einsum("ia->ia", x86) * -1 - del x86 - x101 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x101 += einsum("iajb,ikba->kj", v.aaaa.ovov, x56) - x105 += einsum("ij->ji", x101) * -1 - x345 += einsum("ij->ij", x101) * -1 - del x101 - x228 += einsum("ijka,ilba->ljkb", x30, x56) * -1 - x439 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x439 += einsum("iajb,ikca->kjcb", v.aabb.ovov, x56) - x441 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x441 += einsum("ijab->ijab", x439) * -1 - del x439 - x500 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x500 += einsum("wia,ijba->wjb", g.aa.bov, x56) - x502 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x502 += einsum("wia->wia", x500) * -1 - del x500 - x505 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x505 += einsum("wai,ijba->wjb", lu11.aa, x56) - x506 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x506 += einsum("wia->wia", x505) * -1 - del x505 - x57 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x57 += einsum("abij,kjab->ik", l2.abab, t2.abab) - x59 += einsum("ij->ij", x57) - x60 += einsum("ia,jk->jika", t1.aa, x59) - x68 += einsum("ia,jk->jkia", t1.bb, x59) * -1 - x353 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x353 += einsum("ij,jakb->ikab", x59, v.aaaa.ovov) - x355 += einsum("ijab->ijba", x353) * -1 - del x353 - l1new_aa += einsum("ia,ji->aj", f.aa.ov, x59) * -1 - del x59 - x163 += einsum("ij->ij", x57) - x205 += einsum("ij->ij", x57) - del x57 - x61 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x61 += einsum("iajb->jiab", v.aaaa.ovov) - x61 += einsum("iajb->jiba", v.aaaa.ovov) * -1 - x447 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x447 += einsum("ijab,ikbc->jkac", x56, x61) - del x56 - x449 += einsum("ijab->jiab", x447) - del x447 - l1new_aa += einsum("ijka,kjab->bi", x60, x61) * -1 - del x60 - x64 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x64 += einsum("ia,bcda->ibdc", t1.aa, v.aaaa.vvvv) - x65 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x65 += einsum("iabc->iabc", x64) * -1 - del x64 - x65 += einsum("aibc->iabc", v.aaaa.vovv) - x66 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x66 += einsum("iabc->iabc", x65) - x66 += einsum("iabc->ibac", x65) * -1 - del x65 - l1new_aa += einsum("abij,ibac->cj", l2.aaaa, x66) * -1 - del x66 - x68 += einsum("ai,jkab->ijkb", l1.aa, t2.abab) * -1 - l1new_aa += einsum("iajb,kijb->ak", v.aabb.ovov, x68) - del x68 - x69 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x69 += einsum("ai,jkab->ikjb", l1.aa, t2.aaaa) - x74 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x74 += einsum("ijka->ijka", x69) - del x69 - x70 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x70 += einsum("abij,klab->ijkl", l2.aaaa, t2.aaaa) - x72 += einsum("ijkl->jilk", x70) - x73 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x73 += einsum("ia,ijkl->jkla", t1.aa, x72) - del x72 - x74 += einsum("ijka->ikja", x73) - del x73 - x75 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x75 += einsum("ijka->ikja", x74) - x75 += einsum("ijka->ijka", x74) * -1 - del x74 - l1new_aa += einsum("iajb,kijb->ak", v.aaaa.ovov, x75) * -1 - del x75 - x118 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x118 += einsum("ijkl->jikl", x70) - x118 += einsum("ijkl->jilk", x70) * -1 - l1new_aa += einsum("ijka,jlik->al", v.aaaa.ooov, x118) * -1 - del x118 - x358 += einsum("ijkl->jilk", x70) - del x70 - x359 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x359 += einsum("iajb,klji->klab", v.aaaa.ovov, x358) - del x358 - x360 += einsum("ijab->jiab", x359) - del x359 - l2new_aaaa = np.zeros((nvir[0], nvir[0], nocc[0], nocc[0]), dtype=types[float]) - l2new_aaaa += einsum("ijab->abij", x360) - l2new_aaaa += einsum("ijab->baij", x360) * -1 - del x360 - x76 = np.zeros((nocc[1], nvir[0], nvir[0], nvir[1]), dtype=types[float]) - x76 += einsum("abci->iabc", v.aabb.vvvo) - x76 += einsum("ia,bcda->ibcd", t1.bb, v.aabb.vvvv) - l1new_aa += einsum("abij,jacb->ci", l2.abab, x76) - del x76 - x77 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x77 += einsum("w,wai->ia", s1, g.aa.bvo) - x116 += einsum("ia->ia", x77) - del x77 - x78 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x78 += einsum("wab,wib->ia", g.aa.bvv, u11.aa) - x116 += einsum("ia->ia", x78) - del x78 - x79 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x79 += einsum("ia,iabj->jb", t1.bb, v.bbaa.ovvo) - x116 += einsum("ia->ia", x79) - del x79 - x80 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x80 += einsum("ijab,jkib->ka", t2.aaaa, v.aaaa.ooov) - x116 += einsum("ia->ia", x80) - del x80 - x81 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x81 += einsum("ijab,jbca->ic", t2.abab, v.bbaa.ovvv) - x116 += einsum("ia->ia", x81) - del x81 - x83 += einsum("ijka->ikja", v.aaaa.ooov) - x84 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x84 += einsum("ijab,ijkb->ka", t2.aaaa, x83) - del x83 - x116 += einsum("ia->ia", x84) * -1 - del x84 - x87 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x87 += einsum("w,wia->ia", s1, g.bb.bov) - x91 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x91 += einsum("ia->ia", x87) - x235 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x235 += einsum("ia->ia", x87) - x384 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x384 += einsum("ia->ia", x87) - x494 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x494 += einsum("ia->ia", x87) - x88 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x88 += einsum("ia,iajb->jb", t1.aa, v.aabb.ovov) - x91 += einsum("ia->ia", x88) - x241 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x241 += einsum("ia->ia", x88) - x289 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x289 += einsum("ia->ia", x88) - x402 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x402 += einsum("ia->ia", x88) - x494 += einsum("ia->ia", x88) - del x88 - x89 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x89 += einsum("iajb->jiab", v.bbbb.ovov) - x89 += einsum("iajb->jiba", v.bbbb.ovov) * -1 - x90 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x90 += einsum("ia,ijab->jb", t1.bb, x89) - x91 += einsum("ia->ia", x90) * -1 - x241 += einsum("ia->ia", x90) * -1 - x242 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x242 += einsum("ia,jkab->jkib", x241, t2.bbbb) - x247 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x247 += einsum("ijka->jika", x242) - del x242 - x415 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x415 += einsum("ia,ja->ij", t1.bb, x241) - x416 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x416 += einsum("ij->ij", x415) - del x415 - x525 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x525 += einsum("ia,ib->ab", t1.bb, x241) * -1 - x289 += einsum("ia->ia", x90) * -1 - del x90 - x274 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x274 += einsum("wia,ijab->wjb", u11.bb, x89) - x275 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x275 += einsum("wia->wia", x274) * -1 - del x274 - x414 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x414 += einsum("ijab,ikab->jk", t2.bbbb, x89) - x416 += einsum("ij->ij", x414) * -1 - del x414 - x440 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x440 += einsum("ijab,jkbc->ikac", t2.abab, x89) - x441 += einsum("ijab->ijab", x440) * -1 - del x440 - x471 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x471 += einsum("ijab,ijbc->ac", t2.bbbb, x89) - x472 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x472 += einsum("ab->ab", x471) * -1 - x525 += einsum("ab->ab", x471) * -1 - del x471 - x91 += einsum("ia->ia", f.bb.ov) - x92 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x92 += einsum("ia,jiba->jb", x91, t2.abab) - x116 += einsum("ia->ia", x92) - del x92 - x129 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x129 += einsum("ia,ijab->jb", x91, x28) - x154 += einsum("ia->ia", x129) * -1 - del x129 - x144 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x144 += einsum("ia,ja->ij", t1.bb, x91) - x145 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x145 += einsum("ij->ji", x144) - del x144 - x214 = np.zeros((nbos), dtype=types[float]) - x214 += einsum("ia,wia->w", x91, u11.bb) - x215 += einsum("w->w", x214) - del x214 - x228 += einsum("ia,jkba->jikb", x91, t2.abab) - x276 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) - x276 += einsum("ia,wja->wij", x91, u11.bb) - x482 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x482 += einsum("ia,jkib->jkba", x91, x0) - l2new_baba += einsum("ijab->baji", x482) * -1 - l2new_abab += einsum("ijab->abij", x482) * -1 - del x482 - lu11new_bb = np.zeros((nbos, nvir[1], nocc[1]), dtype=types[float]) - lu11new_bb += einsum("w,ia->wai", ls1, x91) * 2 - del x91 - x94 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) - x94 += einsum("ia,wja->wji", t1.aa, g.aa.bov) - x95 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) - x95 += einsum("wij->wij", x94) - x521 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) - x521 += einsum("wij->wij", x94) - del x94 - x95 += einsum("wij->wij", g.aa.boo) - x96 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x96 += einsum("wia,wij->ja", u11.aa, x95) - x116 += einsum("ia->ia", x96) * -1 - del x96 - x501 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x501 += einsum("ia,wij->wja", t1.aa, x95) - x502 += einsum("wia->wia", x501) * -1 - del x501 - x97 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x97 += einsum("w,wij->ij", s1, g.aa.boo) - x105 += einsum("ij->ij", x97) - x316 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x316 += einsum("ij->ij", x97) - del x97 - x98 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x98 += einsum("wia,wja->ij", g.aa.bov, u11.aa) - x105 += einsum("ij->ij", x98) - x316 += einsum("ij->ij", x98) - del x98 - x99 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x99 += einsum("ia,jkia->jk", t1.bb, v.aabb.ooov) - x105 += einsum("ij->ij", x99) - x319 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x319 += einsum("ij->ij", x99) - del x99 - x100 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x100 += einsum("ijab,kajb->ik", t2.abab, v.aabb.ovov) - x105 += einsum("ij->ji", x100) - x345 += einsum("ij->ij", x100) - del x100 - x346 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x346 += einsum("ij,abik->kjab", x345, l2.aaaa) - del x345 - x355 += einsum("ijab->ijba", x346) - del x346 - x102 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x102 += einsum("ijka->ikja", v.aaaa.ooov) * -1 - x102 += einsum("ijka->kija", v.aaaa.ooov) - x103 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x103 += einsum("ia,jika->jk", t1.aa, x102) - x105 += einsum("ij->ij", x103) * -1 - del x103 - x196 += einsum("wia,jika->wjk", u11.aa, x102) * -1 - del x102 - x105 += einsum("ij->ij", f.aa.oo) - x106 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x106 += einsum("ia,ij->ja", t1.aa, x105) - x116 += einsum("ia->ia", x106) * -1 - del x106 - x475 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x475 += einsum("ij,abjk->ikab", x105, l2.abab) - l2new_baba += einsum("ijab->baji", x475) * -1 - l2new_abab += einsum("ijab->abij", x475) * -1 - del x475 - l1new_aa += einsum("ai,ji->aj", l1.aa, x105) * -1 - lu11new_aa += einsum("ij,waj->wai", x105, lu11.aa) * -1 - del x105 - x107 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x107 += einsum("w,wab->ab", s1, g.aa.bvv) - x110 += einsum("ab->ab", x107) - x309 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x309 += einsum("ab->ab", x107) - x469 += einsum("ab->ab", x107) - x517 += einsum("ab->ab", x107) - del x107 - x108 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x108 += einsum("ia,iabc->bc", t1.bb, v.bbaa.ovvv) - x110 += einsum("ab->ab", x108) - x312 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x312 += einsum("ab->ab", x108) - x469 += einsum("ab->ab", x108) - x517 += einsum("ab->ab", x108) - del x108 - x110 += einsum("ab->ab", f.aa.vv) - x111 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x111 += einsum("ia,ba->ib", t1.aa, x110) - x116 += einsum("ia->ia", x111) - del x111 - l1new_aa += einsum("ai,ab->bi", l1.aa, x110) - del x110 - x112 = np.zeros((nbos), dtype=types[float]) - x112 += einsum("ia,wia->w", t1.aa, g.aa.bov) - x114 = np.zeros((nbos), dtype=types[float]) - x114 += einsum("w->w", x112) - del x112 - x113 = np.zeros((nbos), dtype=types[float]) - x113 += einsum("ia,wia->w", t1.bb, g.bb.bov) - x114 += einsum("w->w", x113) - del x113 - x114 += einsum("w->w", G) - x115 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x115 += einsum("w,wia->ia", x114, u11.aa) - x116 += einsum("ia->ia", x115) - del x115 - x153 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x153 += einsum("w,wia->ia", x114, u11.bb) - del x114 - x154 += einsum("ia->ia", x153) - del x153 - x116 += einsum("ai->ia", f.aa.vo) - l1new_aa += einsum("ia,ijba->bj", x116, x41) - l1new_bb += einsum("ia,abij->bj", x116, l2.abab) - ls1new = np.zeros((nbos), dtype=types[float]) - ls1new += einsum("ia,wai->w", x116, lu11.aa) - del x116 - x119 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x119 += einsum("w,wai->ia", s1, g.bb.bvo) - x154 += einsum("ia->ia", x119) - del x119 - x120 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x120 += einsum("wab,wib->ia", g.bb.bvv, u11.bb) - x154 += einsum("ia->ia", x120) - del x120 - x121 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x121 += einsum("ia,iabj->jb", t1.aa, v.aabb.ovvo) - x154 += einsum("ia->ia", x121) - del x121 - x122 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x122 += einsum("ijab,iacb->jc", t2.abab, v.aabb.ovvv) - x154 += einsum("ia->ia", x122) - del x122 - x123 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x123 += einsum("ijab,ikja->kb", t2.bbbb, v.bbbb.ooov) - x154 += einsum("ia->ia", x123) - del x123 - x125 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x125 += einsum("ia,jbka->ijkb", t1.bb, v.bbbb.ovov) - x126 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x126 += einsum("ijka->jkia", x125) * -1 - x126 += einsum("ijka->kjia", x125) - x220 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x220 += einsum("ijka->ikja", x125) - x220 += einsum("ijka->ijka", x125) * -1 - x225 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x225 += einsum("ijka->jkia", x125) * -1 - x225 += einsum("ijka->kjia", x125) - x244 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x244 += einsum("ia,jkla->ijkl", t1.bb, x125) - x245 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x245 += einsum("ijkl->ijkl", x244) - x406 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x406 += einsum("ijkl->ijkl", x244) - del x244 - x267 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x267 += einsum("ijka->jkia", x125) - x399 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x399 += einsum("ijka->ijka", x125) - x410 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x410 += einsum("ijka->ikja", x125) * -1 - x410 += einsum("ijka->ijka", x125) - del x125 - x463 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x463 += einsum("ijka,jlkb->ilab", x0, x410) - l2new_baba += einsum("ijab->baji", x463) * -1 - l2new_abab += einsum("ijab->abij", x463) * -1 - del x463 - x126 += einsum("ijka->ikja", v.bbbb.ooov) - x127 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x127 += einsum("ijab,jika->kb", t2.bbbb, x126) - del x126 - x154 += einsum("ia->ia", x127) * -1 - del x127 - x131 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x131 += einsum("iabj->ijba", v.bbbb.ovvo) - x131 += einsum("ijab->ijab", v.bbbb.oovv) * -1 - x132 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x132 += einsum("ia,ijba->jb", t1.bb, x131) - x154 += einsum("ia->ia", x132) - del x132 - x223 += einsum("ia,jkba->ijkb", t1.bb, x131) - x133 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) - x133 += einsum("ia,wja->wji", t1.bb, g.bb.bov) - x134 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) - x134 += einsum("wij->wij", x133) - x526 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) - x526 += einsum("wij->wij", x133) - del x133 - x134 += einsum("wij->wij", g.bb.boo) - x135 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x135 += einsum("wia,wij->ja", u11.bb, x134) - x154 += einsum("ia->ia", x135) * -1 - del x135 - x510 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x510 += einsum("ia,wij->wja", t1.bb, x134) - x511 += einsum("wia->wia", x510) * -1 - del x510 - x136 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x136 += einsum("w,wij->ij", s1, g.bb.boo) - x145 += einsum("ij->ij", x136) - x386 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x386 += einsum("ij->ij", x136) - del x136 - x137 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x137 += einsum("wia,wja->ij", g.bb.bov, u11.bb) - x145 += einsum("ij->ij", x137) - x386 += einsum("ij->ij", x137) - del x137 - x138 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x138 += einsum("ia,iajk->jk", t1.aa, v.aabb.ovoo) - x145 += einsum("ij->ij", x138) - x389 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x389 += einsum("ij->ij", x138) - del x138 - x139 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x139 += einsum("ijab,iakb->jk", t2.abab, v.aabb.ovov) - x145 += einsum("ij->ji", x139) - x416 += einsum("ij->ij", x139) - del x139 - x417 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x417 += einsum("ij,abik->kjab", x416, l2.bbbb) - del x416 - x426 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x426 += einsum("ijab->ijba", x417) - del x417 - x140 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x140 += einsum("iajb->jiab", v.bbbb.ovov) * -1 - x140 += einsum("iajb->jiba", v.bbbb.ovov) - x141 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x141 += einsum("ijab,ikba->jk", t2.bbbb, x140) - x145 += einsum("ij->ji", x141) * -1 - del x141 - x419 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x419 += einsum("ijab,ijbc->ac", t2.bbbb, x140) - x420 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x420 += einsum("ab->ab", x419) * -1 - del x419 - x443 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x443 += einsum("ijab,ikcb->kjca", x140, x51) - del x140 - x445 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x445 += einsum("ijab->jiab", x443) - del x443 - x142 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x142 += einsum("ijka->ikja", v.bbbb.ooov) - x142 += einsum("ijka->kija", v.bbbb.ooov) * -1 - x143 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x143 += einsum("ia,ijka->jk", t1.bb, x142) - x145 += einsum("ij->ij", x143) * -1 - del x143 - x276 += einsum("wia,ijka->wjk", u11.bb, x142) * -1 - x145 += einsum("ij->ij", f.bb.oo) - x146 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x146 += einsum("ia,ij->ja", t1.bb, x145) - x154 += einsum("ia->ia", x146) * -1 - del x146 - x474 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x474 += einsum("ij,abkj->kiab", x145, l2.abab) - l2new_baba += einsum("ijab->baji", x474) * -1 - l2new_abab += einsum("ijab->abij", x474) * -1 - del x474 - l1new_bb += einsum("ai,ji->aj", l1.bb, x145) * -1 - lu11new_bb += einsum("ij,waj->wai", x145, lu11.bb) * -1 - del x145 - x147 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x147 += einsum("w,wab->ab", s1, g.bb.bvv) - x151 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x151 += einsum("ab->ab", x147) - x379 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x379 += einsum("ab->ab", x147) - x472 += einsum("ab->ab", x147) - x525 += einsum("ab->ab", x147) - del x147 - x148 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x148 += einsum("ia,iabc->bc", t1.aa, v.aabb.ovvv) - x151 += einsum("ab->ab", x148) - x382 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x382 += einsum("ab->ab", x148) - x472 += einsum("ab->ab", x148) - x525 += einsum("ab->ab", x148) - del x148 - x149 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x149 += einsum("iabc->ibac", v.bbbb.ovvv) * -1 - x149 += einsum("iabc->ibca", v.bbbb.ovvv) - x150 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x150 += einsum("ia,ibac->bc", t1.bb, x149) - x151 += einsum("ab->ab", x150) * -1 - x472 += einsum("ab->ab", x150) * -1 - x525 += einsum("ab->ab", x150) * -1 - del x150 - x444 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x444 += einsum("ia,jbca->ijbc", t1.bb, x149) - x445 += einsum("ijab->jiab", x444) * -1 - del x444 - x151 += einsum("ab->ab", f.bb.vv) - x152 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x152 += einsum("ia,ba->ib", t1.bb, x151) - x154 += einsum("ia->ia", x152) - del x152 - l1new_bb += einsum("ai,ab->bi", l1.bb, x151) - del x151 - x154 += einsum("ai->ia", f.bb.vo) - l1new_aa += einsum("ia,baji->bj", x154, l2.abab) - ls1new += einsum("ia,wai->w", x154, lu11.bb) - x155 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x155 += einsum("w,wia->ia", ls1, u11.aa) - x165 += einsum("ia->ia", x155) * -1 - del x155 - x156 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x156 += einsum("ai,jiba->jb", l1.bb, t2.abab) - x165 += einsum("ia->ia", x156) * -1 - del x156 - x157 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) - x157 += einsum("ia,waj->wji", t1.aa, lu11.aa) - x158 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x158 += einsum("wia,wij->ja", u11.aa, x157) - x165 += einsum("ia->ia", x158) - del x158 - x503 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x503 += einsum("ia,wij->wja", t1.aa, x157) - x506 += einsum("wia->wia", x503) * -1 - del x503 - lu11new_bb -= einsum("wij,jika->wak", x157, v.aabb.ooov) - x162 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x162 += einsum("wai,wja->ij", lu11.aa, u11.aa) - x163 += einsum("ij->ij", x162) - x164 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x164 += einsum("ia,ij->ja", t1.aa, x163) - x165 += einsum("ia->ia", x164) - del x164 - x481 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x481 += einsum("ij,jakb->ikab", x163, v.aabb.ovov) - l2new_baba += einsum("ijab->baji", x481) * -1 - l2new_abab += einsum("ijab->abij", x481) * -1 - del x481 - l1new_bb += einsum("ij,jika->ak", x163, v.aabb.ooov) * -1 - ls1new += einsum("ij,wji->w", x163, g.aa.boo) * -1 - lu11new_aa += einsum("ij,wja->wai", x163, g.aa.bov) * -1 - x205 += einsum("ij->ij", x162) - x206 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) - x206 += einsum("w,ij->wij", s1, x205) - del x205 - x208 += einsum("ij->ij", x162) - x326 += einsum("ij->ij", x162) - del x162 - x327 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x327 += einsum("ij,jakb->ikab", x326, v.aaaa.ovov) - del x326 - x333 += einsum("ijab->ijba", x327) - del x327 - x165 += einsum("ia->ia", t1.aa) * -1 - l1new_aa += einsum("ia,ijba->bj", x165, x61) * -1 - del x61 - l1new_bb += einsum("ia,iajb->bj", x165, v.aabb.ovov) * -1 - ls1new += einsum("ia,wia->w", x165, g.aa.bov) * -1 - del x165 - x166 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x166 += einsum("ai,ib->ab", l1.aa, t1.aa) - x170 += einsum("ab->ab", x166) - del x166 - x167 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x167 += einsum("wai,wib->ab", lu11.aa, u11.aa) - x170 += einsum("ab->ab", x167) - x292 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x292 += einsum("ab,icjb->ijac", x167, v.aaaa.ovov) - x333 += einsum("ijab->ijab", x292) - del x292 - x476 += einsum("ab->ab", x167) - del x167 - x168 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x168 += einsum("abij,ijcb->ac", l2.abab, t2.abab) - x170 += einsum("ab->ab", x168) - l1new_bb += einsum("ab,icab->ci", x170, v.bbaa.ovvv) - ls1new += einsum("ab,wab->w", x170, g.aa.bvv) - x347 += einsum("ab->ab", x168) - x348 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x348 += einsum("ab,ibjc->ijac", x347, v.aaaa.ovov) - del x347 - x355 += einsum("ijab->jiab", x348) * -1 - del x348 - x476 += einsum("ab->ab", x168) - del x168 - x477 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x477 += einsum("ab,ibjc->ijac", x476, v.aabb.ovov) - l2new_baba += einsum("ijab->baji", x477) * -1 - l2new_abab += einsum("ijab->abij", x477) * -1 - del x477 - lu11new_aa += einsum("ab,wib->wai", x476, g.aa.bov) * -1 - del x476 - x171 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x171 += einsum("iabc->ibac", v.aaaa.ovvv) * -1 - x171 += einsum("iabc->ibca", v.aaaa.ovvv) - l1new_aa += einsum("ab,iacb->ci", x170, x171) * -1 - del x170 - del x171 - x172 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x172 += einsum("w,wia->ia", ls1, u11.bb) - x186 += einsum("ia->ia", x172) * -1 - del x172 - x173 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x173 += einsum("ai,ijab->jb", l1.aa, t2.abab) - x186 += einsum("ia->ia", x173) * -1 - del x173 - x174 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) - x174 += einsum("ia,waj->wji", t1.bb, lu11.bb) - x175 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x175 += einsum("wia,wij->ja", u11.bb, x174) - x186 += einsum("ia->ia", x175) - del x175 - x513 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x513 += einsum("ia,wij->wja", t1.bb, x174) - x515 += einsum("wia->wia", x513) * -1 - del x513 - lu11new_aa -= einsum("wij,kaji->wak", x174, v.aabb.ovoo) - x177 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x177 += einsum("ia,bajk->jkib", t1.bb, l2.bbbb) - x178 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x178 += einsum("ijka,jiab->kb", x177, x51) - x186 += einsum("ia->ia", x178) * -1 - del x178 - x250 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x250 += einsum("ijka->ijka", x177) - x250 += einsum("ijka->jika", x177) * -1 - x252 += einsum("ijka,jlba->ilkb", x250, x51) - del x51 - x258 += einsum("ijab,jklb->ikla", t2.abab, x250) * -1 - x411 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x411 += einsum("ijka,jlkb->ilab", x250, x410) - del x410 - x426 += einsum("ijab->ijab", x411) - del x411 - l1new_bb += einsum("ijab,jkia->bk", x131, x250) * -1 - del x131 - l2new_baba += einsum("ijka,lkib->abjl", x250, x30) - del x250 - x253 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x253 += einsum("ijka->ijka", x177) * -1 - x253 += einsum("ijka->jika", x177) - x254 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x254 += einsum("ia,ijkb->jkba", t1.bb, x253) * -1 - l1new_bb += einsum("iabc,jiac->bj", x149, x254) - del x254 - l2new_abab += einsum("ijka,lkib->balj", x253, x30) * -1 - del x253 - del x30 - x265 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x265 += einsum("ia,jkla->kjli", t1.bb, x177) - x266 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x266 += einsum("ijkl->ijkl", x265) * -1 - x266 += einsum("ijkl->ijlk", x265) - x405 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x405 += einsum("iajb,klji->lkab", v.bbbb.ovov, x265) - del x265 - x408 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x408 += einsum("ijab->ijab", x405) - del x405 - x366 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x366 += einsum("iabc,jkib->kjac", v.bbbb.ovvv, x177) - x403 -= einsum("ijab->ijab", x366) - del x366 - x375 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x375 += einsum("ijka->ijka", x177) - x375 -= einsum("ijka->jika", x177) - x425 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x425 += einsum("ia,jkib->jkba", x241, x177) - del x241 - x426 += einsum("ijab->ijab", x425) - del x425 - x180 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x180 += einsum("ai,ja->ij", l1.bb, t1.bb) - x184 += einsum("ij->ij", x180) - x288 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x288 += einsum("ij->ij", x180) - x396 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x396 += einsum("ij->ij", x180) - l1new_bb -= einsum("ij,ja->ai", x180, x87) - del x180 - del x87 - x181 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x181 += einsum("wai,wja->ij", lu11.bb, u11.bb) - x184 += einsum("ij->ij", x181) - x285 += einsum("ij->ij", x181) - x288 += einsum("ij->ij", x181) - x396 += einsum("ij->ij", x181) - del x181 - x397 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x397 += einsum("ij,jakb->kiab", x396, v.bbbb.ovov) - del x396 - x403 += einsum("ijab->jiba", x397) - del x397 - x182 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x182 += einsum("abij,ikab->jk", l2.abab, t2.abab) - x184 += einsum("ij->ij", x182) - x185 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x185 += einsum("ia,ij->ja", t1.bb, x184) - x186 += einsum("ia->ia", x185) - del x185 - x480 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x480 += einsum("ij,kajb->kiab", x184, v.aabb.ovov) - l2new_baba += einsum("ijab->baji", x480) * -1 - l2new_abab += einsum("ijab->abij", x480) * -1 - del x480 - l1new_aa += einsum("ij,kaji->ak", x184, v.aabb.ovoo) * -1 - l1new_bb += einsum("ij,jkia->ak", x184, x142) * -1 - del x142 - ls1new += einsum("ij,wji->w", x184, g.bb.boo) * -1 - lu11new_bb += einsum("ij,wja->wai", x184, g.bb.bov) * -1 - del x184 - x251 += einsum("ij->ij", x182) - x252 += einsum("ia,jk->jika", t1.bb, x251) - l1new_bb += einsum("ijka,kjab->bi", x252, x89) * -1 - del x252 - x258 += einsum("ia,jk->ijka", t1.aa, x251) * -1 - x424 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x424 += einsum("ij,jakb->kiab", x251, v.bbbb.ovov) - x426 += einsum("ijab->jiba", x424) * -1 - del x424 - l1new_bb += einsum("ia,ji->aj", f.bb.ov, x251) * -1 - del x251 - x285 += einsum("ij->ij", x182) - del x182 - x286 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) - x286 += einsum("w,ij->wij", s1, x285) - del x285 - x186 += einsum("ia->ia", t1.bb) * -1 - l1new_aa += einsum("ia,jbia->bj", x186, v.aabb.ovov) * -1 - ls1new += einsum("ia,wia->w", x186, g.bb.bov) * -1 - x187 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x187 += einsum("ai,ib->ab", l1.bb, t1.bb) - x191 += einsum("ab->ab", x187) - ls1new += einsum("ab,wab->w", x187, g.bb.bvv) - del x187 - x188 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x188 += einsum("wai,wib->ab", lu11.bb, u11.bb) - x191 += einsum("ab->ab", x188) - x363 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x363 += einsum("ab,icjb->ijac", x188, v.bbbb.ovov) - x403 += einsum("ijab->ijab", x363) - del x363 - x478 += einsum("ab->ab", x188) - del x188 - x189 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x189 += einsum("abij,ijac->bc", l2.abab, t2.abab) - x191 += einsum("ab->ab", x189) - l1new_aa += einsum("ab,icab->ci", x191, v.aabb.ovvv) - l1new_bb += einsum("ab,iacb->ci", x191, x149) * -1 - del x149 - del x191 - x422 += einsum("ab->ab", x189) - x423 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x423 += einsum("ab,ibjc->ijca", x422, v.bbbb.ovov) - del x422 - x426 += einsum("ijab->jiba", x423) * -1 - del x423 - x478 += einsum("ab->ab", x189) - del x189 - x479 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x479 += einsum("ab,icjb->ijca", x478, v.aabb.ovov) - l2new_baba += einsum("ijab->baji", x479) * -1 - l2new_abab += einsum("ijab->abij", x479) * -1 - del x479 - ls1new += einsum("ab,wab->w", x478, g.bb.bvv) - lu11new_bb += einsum("ab,wib->wai", x478, g.bb.bov) * -1 - del x478 - x192 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x192 -= einsum("ijka->ikja", v.aaaa.ooov) - x192 += einsum("ijka->kija", v.aaaa.ooov) - x307 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x307 += einsum("ijka,lkib->jlab", x192, x306) - del x306 - x333 += einsum("ijab->jiba", x307) - del x307 - x318 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x318 += einsum("ia,jika->jk", t1.aa, x192) - x319 -= einsum("ij->ij", x318) - del x318 - x320 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x320 += einsum("ij,abjk->kiab", x319, l2.aaaa) - del x319 - x333 -= einsum("ijab->ijba", x320) - del x320 - l1new_aa += einsum("ij,kjia->ak", x163, x192) * -1 - del x163 - l2new_abab += einsum("ijka,kilb->abjl", x192, x53) - del x192 - x193 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x193 += einsum("wia,jbia->wjb", u11.bb, v.aabb.ovov) - x195 += einsum("wia->wia", x193) - x324 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x324 += einsum("wia->wia", x193) - x484 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x484 += einsum("wia->wia", x193) - del x193 - x195 += einsum("wia->wia", gc.aa.bov) - x196 += einsum("ia,wja->wji", t1.aa, x195) - l1new_aa += einsum("wij,wja->ai", x157, x195) * -1 - del x195 - x196 += einsum("wij->wij", gc.aa.boo) - x196 += einsum("wia,jkia->wjk", u11.bb, v.aabb.ooov) - l1new_aa += einsum("wai,wji->aj", lu11.aa, x196) * -1 - del x196 - x197 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x197 += einsum("iabc->ibac", v.aaaa.ovvv) - x197 -= einsum("iabc->ibca", v.aaaa.ovvv) - x198 = np.zeros((nbos, nvir[0], nvir[0]), dtype=types[float]) - x198 -= einsum("wia,ibca->wbc", u11.aa, x197) - x311 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x311 += einsum("ia,ibca->bc", t1.aa, x197) - del x197 - x312 -= einsum("ab->ab", x311) - del x311 - x313 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x313 += einsum("ab,acij->ijcb", x312, l2.aaaa) - del x312 - x333 += einsum("ijab->jiab", x313) - del x313 - x198 += einsum("wab->wab", gc.aa.bvv) - x198 += einsum("wia,iabc->wbc", u11.bb, v.bbaa.ovvv) - l1new_aa += einsum("wai,wab->bi", lu11.aa, x198) - del x198 - x199 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x199 += einsum("wia,baji->wjb", u11.bb, l2.abab) - x202 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x202 += einsum("wia->wia", x199) - x204 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x204 += einsum("wia->wia", x199) - del x199 - x200 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x200 -= einsum("abij->jiab", l2.aaaa) - x200 += einsum("abij->jiba", l2.aaaa) - x201 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x201 += einsum("wia,ijba->wjb", u11.aa, x200) - x202 -= einsum("wia->wia", x201) - del x201 - x321 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x321 += einsum("wia,wjb->ijab", g.aa.bov, x202) - x333 += einsum("ijab->ijab", x321) - del x321 - x488 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x488 += einsum("wia,wjb->jiba", g.bb.bov, x202) - l2new_baba += einsum("ijab->baji", x488) - l2new_abab += einsum("ijab->abij", x488) - del x488 - l1new_aa += einsum("wab,wia->bi", g.aa.bvv, x202) - l1new_aa += einsum("wia,wji->aj", x202, x95) * -1 - del x202 - del x95 - x203 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x203 += einsum("abij->jiab", l2.aaaa) * -1 - x203 += einsum("abij->jiba", l2.aaaa) - x204 += einsum("wia,ijba->wjb", u11.aa, x203) * -1 - x206 += einsum("ia,wja->wji", t1.aa, x204) - del x204 - x206 += einsum("ai,wja->wij", l1.aa, u11.aa) - l1new_aa += einsum("wia,wji->aj", g.aa.bov, x206) * -1 - del x206 - x207 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x207 += einsum("iabj->ijba", v.aaaa.ovvo) - x207 -= einsum("ijab->ijab", v.aaaa.oovv) - l1new_aa += einsum("ai,jiab->bj", l1.aa, x207) - lu11new_aa += einsum("wai,jiab->wbj", lu11.aa, x207) - del x207 - x209 += einsum("ia->ia", f.aa.ov) - l1new_aa += einsum("ij,ja->ai", x208, x209) * -1 - del x208 - del x209 - x210 = np.zeros((nbos), dtype=types[float]) - x210 += einsum("w,wx->x", s1, w) - x215 += einsum("w->w", x210) - del x210 - x211 = np.zeros((nbos), dtype=types[float]) - x211 += einsum("ia,wia->w", t1.aa, gc.aa.bov) - x215 += einsum("w->w", x211) - del x211 - x212 = np.zeros((nbos), dtype=types[float]) - x212 += einsum("ia,wia->w", t1.bb, gc.bb.bov) - x215 += einsum("w->w", x212) - del x212 - x215 += einsum("w->w", G) - l1new_aa += einsum("w,wai->ai", x215, lu11.aa) - l1new_bb += einsum("w,wai->ai", x215, lu11.bb) - del x215 - x216 = np.zeros((nbos), dtype=types[float]) - x216 += einsum("ai,wia->w", l1.aa, u11.aa) - x218 = np.zeros((nbos), dtype=types[float]) - x218 += einsum("w->w", x216) - del x216 - x217 = np.zeros((nbos), dtype=types[float]) - x217 += einsum("ai,wia->w", l1.bb, u11.bb) - x218 += einsum("w->w", x217) - del x217 - x218 += einsum("w->w", s1) - l1new_aa += einsum("w,wia->ai", x218, g.aa.bov) - l1new_bb += einsum("w,wia->ai", x218, g.bb.bov) - del x218 - x219 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x219 += einsum("abij,ikcb->jkac", l2.abab, t2.abab) - l1new_bb += einsum("iabc,jibc->aj", v.bbaa.ovvv, x219) * -1 - del x219 - x220 += einsum("ijka->jkia", v.bbbb.ooov) * -1 - x220 += einsum("ijka->jika", v.bbbb.ooov) - x223 += einsum("ijka,jlab->iklb", x220, x28) - del x220 - x221 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x221 += einsum("ia,jkla->ijlk", t1.bb, v.bbbb.ooov) - x222 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x222 += einsum("ijkl->ikjl", x221) * -1 - x222 += einsum("ijkl->ijkl", x221) - x223 += einsum("ia,jikl->jkla", t1.bb, x222) * -1 - del x222 - x365 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x365 += einsum("abij,jkli->klba", l2.bbbb, x221) - del x221 - x403 -= einsum("ijab->ijab", x365) - del x365 - x224 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x224 -= einsum("abij->jiab", l2.bbbb) - x224 += einsum("abij->jiba", l2.bbbb) - l1new_bb += einsum("ijka,ikab->bj", x223, x224) - del x223 - x225 += einsum("ijka->ikja", v.bbbb.ooov) - x225 += einsum("ijka->kija", v.bbbb.ooov) * -1 - x228 += einsum("ijab,jklb->ikla", t2.abab, x225) * -1 - del x225 - x226 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x226 += einsum("ia,jabc->ijbc", t1.bb, v.bbaa.ovvv) - x227 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x227 += einsum("ijab->jiab", x226) - x456 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x456 += einsum("ijab->jiab", x226) - del x226 - x227 += einsum("ijab->ijab", v.bbaa.oovv) - x228 += einsum("ia,jkba->ijkb", t1.aa, x227) - del x227 - x228 += einsum("ijak->kija", v.bbaa.oovo) - x228 += einsum("ia,jabk->kjib", t1.bb, v.bbaa.ovvo) - x228 += einsum("ijab,kbca->ikjc", t2.abab, v.bbaa.ovvv) - l1new_bb += einsum("abij,ikja->bk", l2.abab, x228) * -1 - del x228 - x229 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x229 += einsum("abij,ikac->jkbc", l2.abab, t2.abab) - x232 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x232 += einsum("ijab->ijab", x229) - del x229 - x230 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x230 += einsum("abij->jiab", l2.bbbb) * -1 - x230 += einsum("abij->jiba", l2.bbbb) - x231 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x231 += einsum("ijab,ikca->kjcb", x230, x28) - del x28 - x232 += einsum("ijab->jiba", x231) - del x231 - x409 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x409 += einsum("ijab,jkcb->kica", x232, x89) - x426 += einsum("ijab->jiba", x409) * -1 - del x409 - x249 += einsum("ijab,jkbc->ikac", t2.abab, x230) * -1 - del x230 - l1new_bb += einsum("iabc,ijab->cj", v.aabb.ovvv, x249) * -1 - del x249 - x233 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x233 += einsum("iabc->ibac", v.bbbb.ovvv) - x233 += einsum("iabc->ibca", v.bbbb.ovvv) * -1 - l1new_bb += einsum("ijab,jacb->ci", x232, x233) * -1 - del x232 - del x233 - x234 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x234 += einsum("ia,jkil->jkla", t1.bb, v.bbbb.oooo) - x237 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x237 += einsum("ijka->ijka", x234) - del x234 - x235 += einsum("ia->ia", f.bb.ov) - x236 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x236 += einsum("ia,jkab->jkib", x235, t2.bbbb) - del x235 - x237 += einsum("ijka->kjia", x236) - del x236 - x237 += einsum("ijak->ijka", v.bbbb.oovo) * -1 - x248 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x248 += einsum("ijka->ikja", x237) - x248 += einsum("ijka->ijka", x237) * -1 - del x237 - x238 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x238 += einsum("ijab,kbca->jikc", t2.bbbb, v.bbbb.ovvv) - x247 += einsum("ijka->ijka", x238) * -1 - del x238 - x239 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x239 += einsum("ia,jbca->ijcb", t1.bb, v.bbbb.ovvv) - x240 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x240 += einsum("ia,jkba->ijkb", t1.bb, x239) - del x239 - x247 += einsum("ijka->ijka", x240) * -1 - del x240 - x243 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x243 += einsum("ijab,kalb->ijkl", t2.bbbb, v.bbbb.ovov) - x245 += einsum("ijkl->jilk", x243) - x246 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x246 += einsum("ia,jkil->jkla", t1.bb, x245) - del x245 - x247 += einsum("ijka->jika", x246) - del x246 - x248 += einsum("ijka->kjia", x247) - x248 += einsum("ijka->kija", x247) * -1 - del x247 - l1new_bb += einsum("abij,kija->bk", l2.bbbb, x248) - del x248 - x406 += einsum("ijkl->jilk", x243) - del x243 - x407 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x407 += einsum("abij,ijkl->klab", l2.bbbb, x406) - del x406 - x408 += einsum("ijab->jiba", x407) - del x407 - x255 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x255 += einsum("ia,bcda->ibdc", t1.bb, v.bbbb.vvvv) - x256 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x256 += einsum("iabc->iabc", x255) * -1 - del x255 - x256 += einsum("aibc->iabc", v.bbbb.vovv) - x257 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x257 += einsum("iabc->iabc", x256) * -1 - x257 += einsum("iabc->ibac", x256) - del x256 - l1new_bb += einsum("abij,iabc->cj", l2.bbbb, x257) * -1 - del x257 - x258 += einsum("ai,jkba->jikb", l1.bb, t2.abab) * -1 - l1new_bb += einsum("iajb,ikja->bk", v.aabb.ovov, x258) - del x258 - x259 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x259 += einsum("ai,jkba->ijkb", l1.bb, t2.bbbb) - x262 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x262 += einsum("ijka->ijka", x259) - del x259 - x260 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x260 += einsum("abij,klba->ijlk", l2.bbbb, t2.bbbb) - x261 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x261 += einsum("ia,jikl->jkla", t1.bb, x260) - x262 += einsum("ijka->ijka", x261) - del x261 - x263 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x263 += einsum("ijka->ikja", x262) - x263 += einsum("ijka->ijka", x262) * -1 - del x262 - l1new_bb += einsum("iajb,kija->bk", v.bbbb.ovov, x263) - del x263 - x271 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x271 += einsum("ijkl->jikl", x260) * -1 - x271 += einsum("ijkl->jilk", x260) - l1new_bb += einsum("ijka,jlki->al", v.bbbb.ooov, x271) * -1 - del x271 - x404 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x404 += einsum("iajb,klij->lkba", v.bbbb.ovov, x260) - del x260 - x408 += einsum("ijab->ijab", x404) - del x404 - l2new_bbbb = np.zeros((nvir[1], nvir[1], nocc[1], nocc[1]), dtype=types[float]) - l2new_bbbb += einsum("ijab->abij", x408) - l2new_bbbb += einsum("ijab->baij", x408) * -1 - del x408 - x264 = np.zeros((nocc[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) - x264 += einsum("aibc->iabc", v.aabb.vovv) - x264 += einsum("ia,bacd->ibcd", t1.aa, v.aabb.vvvv) - l1new_bb += einsum("abij,iabc->cj", l2.abab, x264) - del x264 - x267 += einsum("ijka->ikja", v.bbbb.ooov) * -1 - l1new_bb += einsum("ijkl,klja->ai", x266, x267) * -1 - del x266 - del x267 - x268 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x268 += einsum("ia,jbca->ijcb", t1.aa, v.bbaa.ovvv) - x269 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x269 += einsum("ijab->ijab", x268) - x373 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x373 += einsum("ijab->ijab", x268) - x441 += einsum("ijab->ijab", x268) - del x268 - x269 += einsum("iabj->jiba", v.bbaa.ovvo) - l1new_bb += einsum("ijka,ikab->bj", x0, x269) * -1 - del x269 - x270 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x270 += einsum("abij->jiab", l2.bbbb) - x270 += einsum("abij->jiba", l2.bbbb) * -1 - x283 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x283 += einsum("wia,ijab->wjb", u11.bb, x270) - x284 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x284 += einsum("wia->wia", x283) * -1 - del x283 - x412 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x412 += einsum("ijab,jkbc->ikac", t2.abab, x270) - x413 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x413 += einsum("iajb,ikac->jkbc", v.aabb.ovov, x412) * -1 - del x412 - x426 += einsum("ijab->jiba", x413) * -1 - del x413 - l1new_bb += einsum("ia,ijab->bj", x154, x270) * -1 - del x154 - x272 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x272 -= einsum("iajb->jiab", v.bbbb.ovov) - x272 += einsum("iajb->jiba", v.bbbb.ovov) - l1new_bb += einsum("ia,ijab->bj", x186, x272) * -1 - del x272 - del x186 - x273 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x273 += einsum("wia,iajb->wjb", u11.aa, v.aabb.ovov) - x275 += einsum("wia->wia", x273) - x394 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x394 += einsum("wia->wia", x273) - x486 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x486 += einsum("wia->wia", x273) - del x273 - x275 += einsum("wia->wia", gc.bb.bov) - x276 += einsum("ia,wja->wji", t1.bb, x275) - l1new_bb += einsum("wij,wja->ai", x174, x275) * -1 - del x275 - x276 += einsum("wij->wij", gc.bb.boo) - x276 += einsum("wia,iajk->wjk", u11.aa, v.aabb.ovoo) - l1new_bb += einsum("wai,wji->aj", lu11.bb, x276) * -1 - del x276 - x277 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x277 -= einsum("iabc->ibac", v.bbbb.ovvv) - x277 += einsum("iabc->ibca", v.bbbb.ovvv) - x278 = np.zeros((nbos, nvir[1], nvir[1]), dtype=types[float]) - x278 -= einsum("wia,ibac->wbc", u11.bb, x277) - x368 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x368 += einsum("ia,jbca->ijbc", t1.bb, x277) - x369 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x369 -= einsum("ijab->ijab", x368) - del x368 - x381 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x381 += einsum("ia,ibac->bc", t1.bb, x277) - x382 -= einsum("ab->ab", x381) - del x381 - x383 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x383 += einsum("ab,acij->ijcb", x382, l2.bbbb) - del x382 - x403 += einsum("ijab->jiab", x383) - del x383 - x278 += einsum("wab->wab", gc.bb.bvv) - x278 += einsum("wia,iabc->wbc", u11.aa, v.aabb.ovvv) - l1new_bb += einsum("wai,wab->bi", lu11.bb, x278) - del x278 - x279 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x279 += einsum("wia,abij->wjb", u11.aa, l2.abab) - x282 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x282 += einsum("wia->wia", x279) - x284 += einsum("wia->wia", x279) - del x279 - x286 += einsum("ia,wja->wji", t1.bb, x284) - l1new_bb += einsum("wij,wja->ai", x134, x284) * -1 - del x284 - del x134 - x280 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x280 += einsum("abij->jiab", l2.bbbb) - x280 -= einsum("abij->jiba", l2.bbbb) - x281 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x281 += einsum("wia,ijab->wjb", u11.bb, x280) - del x280 - x282 -= einsum("wia->wia", x281) - del x281 - x391 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x391 += einsum("wia,wjb->ijab", g.bb.bov, x282) - x403 += einsum("ijab->ijab", x391) - del x391 - x489 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x489 += einsum("wia,wjb->ijab", g.aa.bov, x282) - l2new_baba += einsum("ijab->baji", x489) - l2new_abab += einsum("ijab->abij", x489) - del x489 - l1new_bb += einsum("wab,wia->bi", g.bb.bvv, x282) - del x282 - x286 += einsum("ai,wja->wij", l1.bb, u11.bb) - l1new_bb += einsum("wia,wji->aj", g.bb.bov, x286) * -1 - del x286 - x287 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x287 += einsum("iabj->ijba", v.bbbb.ovvo) - x287 -= einsum("ijab->ijab", v.bbbb.oovv) - l1new_bb += einsum("ai,jiab->bj", l1.bb, x287) - lu11new_bb += einsum("wai,jiab->wbj", lu11.bb, x287) - del x287 - x289 += einsum("ia->ia", f.bb.ov) - l1new_bb += einsum("ij,ja->ai", x288, x289) * -1 - del x288 - del x289 - x290 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x290 += einsum("wia,wbj->ijab", gc.aa.bov, lu11.aa) - x333 += einsum("ijab->ijab", x290) - del x290 - x291 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x291 += einsum("ai,jbac->ijbc", l1.aa, v.aaaa.ovvv) - x333 -= einsum("ijab->ijab", x291) - del x291 - x297 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x297 += einsum("abij->jiab", l2.aaaa) - x297 -= einsum("abij->jiba", l2.aaaa) - x298 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x298 -= einsum("iabc->ibac", v.aaaa.ovvv) - x298 += einsum("iabc->ibca", v.aaaa.ovvv) - x299 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x299 += einsum("ia,jbca->ijbc", t1.aa, x298) - x300 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x300 -= einsum("ijab->ijab", x299) - del x299 - x300 += einsum("iabj->jiba", v.aaaa.ovvo) - x300 -= einsum("ijab->jiab", v.aaaa.oovv) - x301 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x301 += einsum("ijab,ikbc->jkac", x297, x300) - del x297 - del x300 - x333 += einsum("ijab->ijab", x301) - del x301 - x302 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x302 += einsum("ijab->jiab", t2.bbbb) - x302 -= einsum("ijab->jiba", t2.bbbb) - x303 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x303 += einsum("iajb,jkbc->ikac", v.aabb.ovov, x302) - del x302 - x304 -= einsum("ijab->ijab", x303) - del x303 - x304 += einsum("iabj->ijab", v.aabb.ovvo) - x305 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x305 += einsum("abij,kjcb->ikac", l2.abab, x304) - del x304 - x333 += einsum("ijab->ijab", x305) - del x305 - x308 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x308 += einsum("wia,wib->ab", g.aa.bov, u11.aa) - x309 -= einsum("ab->ba", x308) - x469 += einsum("ab->ba", x308) * -1 - x517 += einsum("ab->ba", x308) * -1 - del x308 - x309 += einsum("ab->ab", f.aa.vv) - x310 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x310 += einsum("ab,acij->ijcb", x309, l2.aaaa) - del x309 - x333 -= einsum("ijab->jiba", x310) - del x310 - x314 += einsum("ia->ia", f.aa.ov) - x315 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x315 += einsum("ia,ja->ij", t1.aa, x314) - x316 += einsum("ij->ji", x315) - del x315 - x328 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x328 += einsum("ia,jkib->jkba", x314, x54) - del x54 - x333 += einsum("ijab->ijba", x328) - del x328 - x333 += einsum("ai,jb->jiba", l1.aa, x314) - lu11new_aa -= einsum("ia,wji->waj", x314, x157) - del x314 - x316 += einsum("ij->ij", f.aa.oo) - x317 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x317 += einsum("ij,abjk->kiab", x316, l2.aaaa) - del x316 - x333 += einsum("ijab->jiba", x317) - del x317 - x322 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x322 -= einsum("iajb->jiab", v.aaaa.ovov) - x322 += einsum("iajb->jiba", v.aaaa.ovov) - x323 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x323 += einsum("wia,ijba->wjb", u11.aa, x322) - x324 -= einsum("wia->wia", x323) - x325 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x325 += einsum("wai,wjb->ijab", lu11.aa, x324) - del x324 - x333 += einsum("ijab->ijab", x325) - del x325 - x484 -= einsum("wia->wia", x323) - del x323 - x331 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x331 += einsum("ia,ijba->jb", t1.aa, x322) - del x322 - x332 -= einsum("ia->ia", x331) - x333 += einsum("ai,jb->ijab", l1.aa, x332) - del x332 - x495 -= einsum("ia->ia", x331) - del x331 - x329 -= einsum("ijka->jika", v.aaaa.ooov) - x330 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x330 += einsum("ai,ijkb->jkab", l1.aa, x329) - del x329 - x333 += einsum("ijab->ijab", x330) - del x330 - l2new_aaaa += einsum("ijab->abij", x333) - l2new_aaaa -= einsum("ijab->baij", x333) - l2new_aaaa -= einsum("ijab->abji", x333) - l2new_aaaa += einsum("ijab->baji", x333) - del x333 - x334 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x334 += einsum("abij,kjli->klba", l2.aaaa, v.aaaa.oooo) - x336 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x336 += einsum("ijab->jiba", x334) - del x334 - x335 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x335 += einsum("abij,acbd->ijcd", l2.aaaa, v.aaaa.vvvv) - x336 += einsum("ijab->jiba", x335) - del x335 - l2new_aaaa += einsum("ijab->baij", x336) * -1 - l2new_aaaa += einsum("ijab->abij", x336) - del x336 - x337 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x337 += einsum("ijab,kcjb->ikac", t2.abab, v.aabb.ovov) - x339 += einsum("ijab->ijab", x337) - x340 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x340 += einsum("ijab,ikca->kjcb", x339, x41) - del x339 - x355 += einsum("ijab->ijab", x340) * -1 - del x340 - x449 += einsum("ijab->jiab", x337) - del x337 - x349 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x349 += einsum("ijab,icjb->ac", t2.abab, v.aabb.ovov) - x351 += einsum("ab->ab", x349) - x352 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x352 += einsum("ab,acij->ijcb", x351, l2.aaaa) - del x351 - x355 += einsum("ijab->jiab", x352) - del x352 - l2new_aaaa += einsum("ijab->abij", x355) * -1 - l2new_aaaa += einsum("ijab->baij", x355) - l2new_aaaa += einsum("ijab->abji", x355) - l2new_aaaa += einsum("ijab->baji", x355) * -1 - del x355 - x469 += einsum("ab->ab", x349) * -1 - x517 += einsum("ab->ab", x349) * -1 - del x349 - x361 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x361 += einsum("wia,wbj->ijab", gc.bb.bov, lu11.bb) - x403 += einsum("ijab->ijab", x361) - del x361 - x362 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x362 += einsum("ai,jbac->ijbc", l1.bb, v.bbbb.ovvv) - x403 -= einsum("ijab->ijab", x362) - del x362 - x369 += einsum("iabj->jiba", v.bbbb.ovvo) - x369 -= einsum("ijab->jiab", v.bbbb.oovv) - x370 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x370 += einsum("ijab,ikac->jkbc", x224, x369) - del x369 - x403 += einsum("ijab->ijab", x370) - del x370 - x371 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x371 -= einsum("ijab->jiab", t2.aaaa) - x371 += einsum("ijab->jiba", t2.aaaa) - x372 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x372 += einsum("iajb,ikca->kjcb", v.aabb.ovov, x371) - del x371 - x373 -= einsum("ijab->ijab", x372) - del x372 - x373 += einsum("iabj->jiba", v.bbaa.ovvo) - x374 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x374 += einsum("abij,ikac->jkbc", l2.abab, x373) - del x373 - x403 += einsum("ijab->ijab", x374) - del x374 - x376 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x376 += einsum("ijka->ikja", v.bbbb.ooov) - x376 -= einsum("ijka->kija", v.bbbb.ooov) - x377 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x377 += einsum("ijka,lkjb->ilab", x375, x376) - del x375 - x403 += einsum("ijab->ijab", x377) - del x377 - x388 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x388 += einsum("ia,ijka->jk", t1.bb, x376) - x389 -= einsum("ij->ij", x388) - del x388 - x390 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x390 += einsum("ij,abjk->kiab", x389, l2.bbbb) - del x389 - x403 -= einsum("ijab->ijba", x390) - del x390 - l2new_baba += einsum("ijka,lkjb->bali", x0, x376) - del x376 - x378 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x378 += einsum("wia,wib->ab", g.bb.bov, u11.bb) - x379 -= einsum("ab->ba", x378) - x472 += einsum("ab->ba", x378) * -1 - x525 += einsum("ab->ba", x378) * -1 - del x378 - x379 += einsum("ab->ab", f.bb.vv) - x380 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x380 += einsum("ab,acij->ijcb", x379, l2.bbbb) - del x379 - x403 -= einsum("ijab->jiba", x380) - del x380 - x384 += einsum("ia->ia", f.bb.ov) - x385 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x385 += einsum("ia,ja->ij", t1.bb, x384) - x386 += einsum("ij->ji", x385) - del x385 - x398 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x398 += einsum("ia,jkib->jkba", x384, x177) - del x177 - x403 += einsum("ijab->ijba", x398) - del x398 - x403 += einsum("ai,jb->jiba", l1.bb, x384) - lu11new_bb -= einsum("ia,wji->waj", x384, x174) - del x384 - x386 += einsum("ij->ij", f.bb.oo) - x387 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x387 += einsum("ij,abjk->kiab", x386, l2.bbbb) - del x386 - x403 += einsum("ijab->jiba", x387) - del x387 - x392 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x392 += einsum("iajb->jiab", v.bbbb.ovov) - x392 -= einsum("iajb->jiba", v.bbbb.ovov) - x393 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x393 += einsum("wia,ijab->wjb", u11.bb, x392) - x394 -= einsum("wia->wia", x393) - x395 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x395 += einsum("wai,wjb->ijab", lu11.bb, x394) - del x394 - x403 += einsum("ijab->ijab", x395) - del x395 - x486 -= einsum("wia->wia", x393) - del x393 - x401 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x401 += einsum("ia,ijab->jb", t1.bb, x392) - del x392 - x402 -= einsum("ia->ia", x401) - x403 += einsum("ai,jb->ijab", l1.bb, x402) - del x402 - x494 -= einsum("ia->ia", x401) - del x401 - x399 -= einsum("ijka->jika", v.bbbb.ooov) - x400 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x400 += einsum("ai,ijkb->jkab", l1.bb, x399) - del x399 - x403 += einsum("ijab->ijab", x400) - del x400 - l2new_bbbb += einsum("ijab->abij", x403) - l2new_bbbb -= einsum("ijab->baij", x403) - l2new_bbbb -= einsum("ijab->abji", x403) - l2new_bbbb += einsum("ijab->baji", x403) - del x403 - x418 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x418 += einsum("ijab,iajc->bc", t2.abab, v.aabb.ovov) - x420 += einsum("ab->ab", x418) - x421 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x421 += einsum("ab,acij->ijcb", x420, l2.bbbb) - del x420 - x426 += einsum("ijab->jiab", x421) - del x421 - l2new_bbbb += einsum("ijab->abij", x426) * -1 - l2new_bbbb += einsum("ijab->baij", x426) - l2new_bbbb += einsum("ijab->abji", x426) - l2new_bbbb += einsum("ijab->baji", x426) * -1 - del x426 - x472 += einsum("ab->ab", x418) * -1 - x525 += einsum("ab->ab", x418) * -1 - del x418 - x427 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x427 += einsum("abij,kilj->klab", l2.bbbb, v.bbbb.oooo) - x429 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x429 += einsum("ijab->jiba", x427) - del x427 - x428 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x428 += einsum("abij,acbd->ijcd", l2.bbbb, v.bbbb.vvvv) - x429 += einsum("ijab->jiba", x428) - del x428 - l2new_bbbb += einsum("ijab->baij", x429) * -1 - l2new_bbbb += einsum("ijab->abij", x429) - del x429 - x431 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x431 += einsum("ai,jbac->jibc", l1.bb, v.aabb.ovvv) - l2new_baba += einsum("ijab->baji", x431) - l2new_abab += einsum("ijab->abij", x431) - del x431 - x432 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x432 += einsum("abij,acbd->ijcd", l2.abab, v.aabb.vvvv) - l2new_baba += einsum("ijab->baji", x432) - l2new_abab += einsum("ijab->abij", x432) - del x432 - x434 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x434 += einsum("ai,jbac->ijcb", l1.aa, v.bbaa.ovvv) - l2new_baba += einsum("ijab->baji", x434) - l2new_abab += einsum("ijab->abij", x434) - del x434 - x437 += einsum("iabj->ijab", v.aabb.ovvo) - x438 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x438 += einsum("ijab,kica->kjcb", x270, x437) - del x437 - del x270 - l2new_baba += einsum("ijab->baji", x438) * -1 - l2new_abab += einsum("ijab->abij", x438) * -1 - del x438 - x441 += einsum("iabj->jiba", v.bbaa.ovvo) - l2new_baba += einsum("ijab,ikbc->cakj", x200, x441) * -1 - del x200 - l2new_abab += einsum("ijab,ikbc->acjk", x203, x441) * -1 - del x441 - del x203 - x442 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x442 += einsum("ijab,iakc->jkbc", t2.abab, v.aabb.ovov) - x445 += einsum("ijab->jiab", x442) - del x442 - x445 += einsum("iabj->ijba", v.bbbb.ovvo) - x445 += einsum("ijab->ijab", v.bbbb.oovv) * -1 - x446 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x446 += einsum("abij,kjbc->ikac", l2.abab, x445) - del x445 - l2new_baba += einsum("ijab->baji", x446) - l2new_abab += einsum("ijab->abij", x446) - del x446 - x449 += einsum("iabj->ijba", v.aaaa.ovvo) - x449 += einsum("ijab->ijab", v.aaaa.oovv) * -1 - x450 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x450 += einsum("abij,kiac->kjcb", l2.abab, x449) - del x449 - l2new_baba += einsum("ijab->baji", x450) - l2new_abab += einsum("ijab->abij", x450) - del x450 - x451 = np.zeros((nocc[0], nocc[0], nvir[1], nvir[1]), dtype=types[float]) - x451 += einsum("ia,jabc->ijbc", t1.aa, v.aabb.ovvv) - x453 = np.zeros((nocc[0], nocc[0], nvir[1], nvir[1]), dtype=types[float]) - x453 += einsum("ijab->jiab", x451) - del x451 - x452 = np.zeros((nocc[0], nocc[0], nvir[1], nvir[1]), dtype=types[float]) - x452 += einsum("ijab,kajc->ikbc", t2.abab, v.aabb.ovov) - x453 += einsum("ijab->jiab", x452) * -1 - del x452 - x453 += einsum("ijab->ijab", v.aabb.oovv) - x454 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x454 += einsum("abij,kibc->kjac", l2.abab, x453) - del x453 - l2new_baba += einsum("ijab->baji", x454) * -1 - l2new_abab += einsum("ijab->abij", x454) * -1 - del x454 - x455 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x455 += einsum("ijab,ickb->jkac", t2.abab, v.aabb.ovov) - x456 += einsum("ijab->jiab", x455) * -1 - del x455 - x456 += einsum("ijab->ijab", v.bbaa.oovv) - x457 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x457 += einsum("abij,kjac->ikcb", l2.abab, x456) - del x456 - l2new_baba += einsum("ijab->baji", x457) * -1 - l2new_abab += einsum("ijab->abij", x457) * -1 - del x457 - x459 += einsum("ijkl->ijkl", v.aabb.oooo) - x460 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x460 += einsum("abij,kilj->klab", l2.abab, x459) - del x459 - l2new_baba += einsum("ijab->baji", x460) - l2new_abab += einsum("ijab->abij", x460) - del x460 - x467 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x467 += einsum("ijka->ikja", v.aaaa.ooov) - x467 -= einsum("ijka->kija", v.aaaa.ooov) - l2new_baba -= einsum("ijka,kilb->balj", x467, x53) - del x53 - lu11new_aa -= einsum("wij,jkia->wak", x157, x467) - del x467 - del x157 - x469 += einsum("ab->ab", f.aa.vv) - x470 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x470 += einsum("ab,acij->ijbc", x469, l2.abab) - del x469 - l2new_baba += einsum("ijab->baji", x470) - l2new_abab += einsum("ijab->abij", x470) - del x470 - x472 += einsum("ab->ab", f.bb.vv) - x473 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x473 += einsum("ab,caij->ijcb", x472, l2.abab) - del x472 - l2new_baba += einsum("ijab->baji", x473) - l2new_abab += einsum("ijab->abij", x473) - del x473 - x484 += einsum("wia->wia", gc.aa.bov) - x485 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x485 += einsum("wai,wjb->jiba", lu11.bb, x484) - del x484 - l2new_baba += einsum("ijab->baji", x485) - l2new_abab += einsum("ijab->abij", x485) - del x485 - x486 += einsum("wia->wia", gc.bb.bov) - x487 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x487 += einsum("wai,wjb->ijab", lu11.aa, x486) - del x486 - l2new_baba += einsum("ijab->baji", x487) - l2new_abab += einsum("ijab->abij", x487) - del x487 - x490 += einsum("iajk->ijka", v.aabb.ovoo) - x491 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x491 += einsum("ai,jkib->jkba", l1.bb, x490) - del x490 - l2new_baba -= einsum("ijab->baji", x491) - l2new_abab -= einsum("ijab->abij", x491) - del x491 - x492 += einsum("ijka->ijka", v.aabb.ooov) - x493 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x493 += einsum("ai,jikb->jkab", l1.aa, x492) - del x492 - l2new_baba -= einsum("ijab->baji", x493) - l2new_abab -= einsum("ijab->abij", x493) - del x493 - x494 += einsum("ia->ia", f.bb.ov) - l2new_baba += einsum("ai,jb->baji", l1.aa, x494) - l2new_abab += einsum("ai,jb->abij", l1.aa, x494) - del x494 - x495 += einsum("ia->ia", f.aa.ov) - l2new_baba += einsum("ai,jb->abij", l1.bb, x495) - l2new_abab += einsum("ai,jb->baji", l1.bb, x495) - del x495 - x496 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x496 -= einsum("ijka->ikja", v.bbbb.ooov) - x496 += einsum("ijka->kija", v.bbbb.ooov) - l2new_abab -= einsum("ijka,lkjb->abil", x0, x496) - del x0 - lu11new_bb -= einsum("wij,kjia->wak", x174, x496) - del x496 - del x174 - x497 = np.zeros((nbos, nvir[1], nvir[1]), dtype=types[float]) - x497 += einsum("ia,wbi->wba", t1.bb, lu11.bb) - lu11new_aa += einsum("wab,icab->wci", x497, v.aabb.ovvv) - lu11new_bb -= einsum("wab,iacb->wci", x497, x277) - del x497 - del x277 - x498 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x498 += einsum("ia,wba->wib", t1.aa, g.aa.bvv) - x502 += einsum("wia->wia", x498) - del x498 - x499 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x499 += einsum("wia,jiba->wjb", g.bb.bov, t2.abab) - x502 += einsum("wia->wia", x499) - del x499 - x502 += einsum("wai->wia", g.aa.bvo) - lu11new_aa += einsum("wia,ijba->wbj", x502, x41) - del x41 - lu11new_bb += einsum("wia,abij->wbj", x502, l2.abab) - del x502 - x504 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x504 += einsum("wai,jiba->wjb", lu11.bb, t2.abab) - x506 += einsum("wia->wia", x504) - del x504 - lu11new_aa += einsum("wia,ijba->wbj", x506, x13) * -1 - del x13 - lu11new_bb += einsum("wia,iajb->wbj", x506, v.aabb.ovov) - del x506 - x507 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x507 += einsum("ia,wba->wib", t1.bb, g.bb.bvv) - x511 += einsum("wia->wia", x507) - del x507 - x508 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x508 += einsum("wia,ijab->wjb", g.aa.bov, t2.abab) - x511 += einsum("wia->wia", x508) - del x508 - x511 += einsum("wai->wia", g.bb.bvo) - lu11new_aa += einsum("wia,baji->wbj", x511, l2.abab) - lu11new_bb += einsum("wia,ijab->wbj", x511, x224) - del x224 - del x511 - x512 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x512 += einsum("wai,ijab->wjb", lu11.aa, t2.abab) - x515 += einsum("wia->wia", x512) - del x512 - lu11new_aa += einsum("wia,jbia->wbj", x515, v.aabb.ovov) - lu11new_bb += einsum("wia,ijab->wbj", x515, x89) * -1 - del x89 - del x515 - x516 = np.zeros((nbos, nvir[0], nvir[0]), dtype=types[float]) - x516 += einsum("ia,wbi->wba", t1.aa, lu11.aa) - lu11new_aa -= einsum("wab,iacb->wci", x516, x298) - del x298 - lu11new_bb += einsum("wab,icab->wci", x516, v.bbaa.ovvv) - del x516 - x517 += einsum("ab->ab", f.aa.vv) - lu11new_aa += einsum("ab,wai->wbi", x517, lu11.aa) - del x517 - x518 = np.zeros((nbos, nbos), dtype=types[float]) - x518 += einsum("wia,xia->wx", g.aa.bov, u11.aa) - x520 = np.zeros((nbos, nbos), dtype=types[float]) - x520 += einsum("wx->wx", x518) - del x518 - x519 = np.zeros((nbos, nbos), dtype=types[float]) - x519 += einsum("wia,xia->wx", g.bb.bov, u11.bb) - x520 += einsum("wx->wx", x519) - del x519 - x520 += einsum("wx->wx", w) - lu11new_aa += einsum("wx,xai->wai", x520, lu11.aa) - lu11new_bb += einsum("wx,xai->wai", x520, lu11.bb) - del x520 - x521 += einsum("wij->wij", g.aa.boo) - lu11new_aa -= einsum("ai,wji->waj", l1.aa, x521) - del x521 - x522 = np.zeros((nbos, nbos), dtype=types[float]) - x522 += einsum("wai,xia->wx", lu11.aa, u11.aa) - x524 = np.zeros((nbos, nbos), dtype=types[float]) - x524 += einsum("wx->wx", x522) - del x522 - x523 = np.zeros((nbos, nbos), dtype=types[float]) - x523 += einsum("wai,xia->wx", lu11.bb, u11.bb) - x524 += einsum("wx->wx", x523) - del x523 - lu11new_aa += einsum("wx,xia->wai", x524, g.aa.bov) - lu11new_bb += einsum("wx,xia->wai", x524, g.bb.bov) - del x524 - x525 += einsum("ab->ab", f.bb.vv) - lu11new_bb += einsum("ab,wai->wbi", x525, lu11.bb) - del x525 - x526 += einsum("wij->wij", g.bb.boo) - lu11new_bb -= einsum("ai,wji->waj", l1.bb, x526) - del x526 - l1new_aa += einsum("w,wia->ai", ls1, gc.aa.bov) - l1new_aa += einsum("ia->ai", f.aa.ov) - l1new_aa += einsum("ai,jbai->bj", l1.bb, v.aabb.ovvo) - l1new_bb += einsum("w,wia->ai", ls1, gc.bb.bov) - l1new_bb += einsum("ia->ai", f.bb.ov) - l1new_bb += einsum("ai,jbai->bj", l1.aa, v.bbaa.ovvo) - l2new_aaaa -= einsum("iajb->abji", v.aaaa.ovov) - l2new_aaaa += einsum("iajb->baji", v.aaaa.ovov) - l2new_bbbb -= einsum("iajb->abji", v.bbbb.ovov) - l2new_bbbb += einsum("iajb->baji", v.bbbb.ovov) - l2new_baba += einsum("iajb->baji", v.aabb.ovov) - l2new_abab += einsum("iajb->abij", v.aabb.ovov) - ls1new += einsum("w,xw->x", ls1, w) - ls1new += einsum("w->w", G) - ls1new += einsum("ai,wai->w", l1.bb, g.bb.bvo) - ls1new += einsum("ai,wai->w", l1.aa, g.aa.bvo) - lu11new_aa += einsum("wia->wai", g.aa.bov) - lu11new_aa += einsum("wai,jbai->wbj", lu11.bb, v.aabb.ovvo) - lu11new_aa += einsum("ai,wab->wbi", l1.aa, g.aa.bvv) - lu11new_bb += einsum("ai,wab->wbi", l1.bb, g.bb.bvv) - lu11new_bb += einsum("wia->wai", g.bb.bov) - lu11new_bb += einsum("wai,jbai->wbj", lu11.aa, v.bbaa.ovvo) - - l1new.aa = l1new_aa - l1new.bb = l1new_bb - l2new.abab = l2new_abab - l2new.baba = l2new_baba - l2new.aaaa = l2new_aaaa - l2new.bbbb = l2new_bbbb - lu11new.aa = lu11new_aa - lu11new.bb = lu11new_bb - - return {"l1new": l1new, "l2new": l2new, "ls1new": ls1new, "lu11new": lu11new} - -def make_rdm1_f(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, u11=None, l1=None, l2=None, ls1=None, lu11=None, **kwargs): - rdm1_f = Namespace() - - # Get boson coupling creation array: - gc = Namespace( - aa = Namespace( - boo=g.aa.boo.transpose(0, 2, 1), - bov=g.aa.bvo.transpose(0, 2, 1), - bvo=g.aa.bov.transpose(0, 2, 1), - bvv=g.aa.bvv.transpose(0, 2, 1), - ), - bb = Namespace( - boo=g.bb.boo.transpose(0, 2, 1), - bov=g.bb.bvo.transpose(0, 2, 1), - bvo=g.bb.bov.transpose(0, 2, 1), - bvv=g.bb.bvv.transpose(0, 2, 1), - ), - ) - - delta_oo = Namespace() - delta_oo.aa = np.eye(nocc[0]) - delta_oo.bb = np.eye(nocc[1]) - delta_vv = Namespace() - delta_vv.aa = np.eye(nvir[0]) - delta_vv.bb = np.eye(nvir[1]) - - # 1RDM - x0 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x0 += einsum("wai,wja->ij", lu11.aa, u11.aa) - x14 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x14 += einsum("ij->ij", x0) - rdm1_f_oo_aa = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - rdm1_f_oo_aa -= einsum("ij->ij", x0) - del x0 - x1 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x1 += einsum("abij,kjab->ik", l2.abab, t2.abab) - x14 += einsum("ij->ij", x1) - rdm1_f_oo_aa += einsum("ij->ij", x1) * -1 - del x1 - x2 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x2 += einsum("ai,ja->ij", l1.aa, t1.aa) - x14 += einsum("ij->ij", x2) - rdm1_f_oo_aa -= einsum("ij->ij", x2) - del x2 - x3 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x3 += einsum("ijab->jiab", t2.aaaa) - x3 += einsum("ijab->jiba", t2.aaaa) * -1 - rdm1_f_oo_aa += einsum("abij,ikba->jk", l2.aaaa, x3) * -1 - del x3 - x4 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x4 += einsum("abij,ikab->jk", l2.abab, t2.abab) - x21 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x21 += einsum("ij->ij", x4) - rdm1_f_oo_bb = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - rdm1_f_oo_bb += einsum("ij->ij", x4) * -1 - del x4 - x5 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x5 += einsum("wai,wja->ij", lu11.bb, u11.bb) - x21 += einsum("ij->ij", x5) - rdm1_f_oo_bb -= einsum("ij->ij", x5) - del x5 - x6 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x6 += einsum("ai,ja->ij", l1.bb, t1.bb) - x21 += einsum("ij->ij", x6) - rdm1_f_oo_bb -= einsum("ij->ij", x6) - del x6 - x7 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x7 += einsum("ijab->jiab", t2.bbbb) * -1 - x7 += einsum("ijab->jiba", t2.bbbb) - rdm1_f_oo_bb += einsum("abij,ikab->jk", l2.bbbb, x7) * -1 - del x7 - x8 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) - x8 += einsum("ia,waj->wji", t1.aa, lu11.aa) - rdm1_f_vo_aa = np.zeros((nvir[0], nocc[0]), dtype=types[float]) - rdm1_f_vo_aa -= einsum("wia,wij->aj", u11.aa, x8) - del x8 - x9 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x9 += einsum("ia,abjk->jikb", t1.aa, l2.abab) - rdm1_f_vo_aa += einsum("ijab,ikjb->ak", t2.abab, x9) * -1 - del x9 - x10 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x10 += einsum("ia,abjk->kjib", t1.aa, l2.aaaa) - x11 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x11 += einsum("ijka->ijka", x10) * -1 - x11 += einsum("ijka->jika", x10) - del x10 - rdm1_f_vo_aa += einsum("ijab,jika->bk", t2.aaaa, x11) * -1 - del x11 - x12 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x12 += einsum("ijab->jiab", t2.aaaa) - x12 -= einsum("ijab->jiba", t2.aaaa) - rdm1_f_vo_aa -= einsum("ai,ijab->bj", l1.aa, x12) - del x12 - x13 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x13 += einsum("ijab->jiab", t2.aaaa) * -1 - x13 += einsum("ijab->jiba", t2.aaaa) - x14 += einsum("abij,ikba->jk", l2.aaaa, x13) * -1 - del x13 - rdm1_f_vo_aa += einsum("ia,ij->aj", t1.aa, x14) * -1 - del x14 - x15 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) - x15 += einsum("ia,waj->wji", t1.bb, lu11.bb) - rdm1_f_vo_bb = np.zeros((nvir[1], nocc[1]), dtype=types[float]) - rdm1_f_vo_bb -= einsum("wia,wij->aj", u11.bb, x15) - del x15 - x16 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x16 += einsum("ia,bajk->jkib", t1.bb, l2.abab) - rdm1_f_vo_bb += einsum("ijab,ijka->bk", t2.abab, x16) * -1 - del x16 - x17 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x17 += einsum("ia,bajk->jkib", t1.bb, l2.bbbb) - x18 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x18 += einsum("ijka->ijka", x17) - x18 += einsum("ijka->jika", x17) * -1 - del x17 - rdm1_f_vo_bb += einsum("ijab,jikb->ak", t2.bbbb, x18) * -1 - del x18 - x19 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x19 += einsum("ijab->jiab", t2.bbbb) - x19 -= einsum("ijab->jiba", t2.bbbb) - rdm1_f_vo_bb -= einsum("ai,ijab->bj", l1.bb, x19) - del x19 - x20 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x20 += einsum("ijab->jiab", t2.bbbb) - x20 += einsum("ijab->jiba", t2.bbbb) * -1 - x21 += einsum("abij,ikab->jk", l2.bbbb, x20) * -1 - del x20 - rdm1_f_vo_bb += einsum("ia,ij->aj", t1.bb, x21) * -1 - del x21 - x22 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x22 += einsum("abij->jiab", l2.aaaa) * -1 - x22 += einsum("abij->jiba", l2.aaaa) - rdm1_f_vv_aa = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - rdm1_f_vv_aa += einsum("ijab,ijca->bc", t2.aaaa, x22) * -1 - del x22 - x23 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x23 += einsum("abij->jiab", l2.bbbb) * -1 - x23 += einsum("abij->jiba", l2.bbbb) - rdm1_f_vv_bb = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - rdm1_f_vv_bb += einsum("ijab,ijbc->ac", t2.bbbb, x23) * -1 - del x23 - rdm1_f_oo_aa += einsum("ij->ji", delta_oo.aa) - rdm1_f_oo_bb += einsum("ij->ji", delta_oo.bb) - rdm1_f_ov_aa = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - rdm1_f_ov_aa += einsum("ai->ia", l1.aa) - rdm1_f_ov_bb = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - rdm1_f_ov_bb += einsum("ai->ia", l1.bb) - rdm1_f_vo_aa += einsum("ai,jiba->bj", l1.bb, t2.abab) - rdm1_f_vo_aa += einsum("w,wia->ai", ls1, u11.aa) - rdm1_f_vo_aa += einsum("ia->ai", t1.aa) - rdm1_f_vo_bb += einsum("ai,ijab->bj", l1.aa, t2.abab) - rdm1_f_vo_bb += einsum("w,wia->ai", ls1, u11.bb) - rdm1_f_vo_bb += einsum("ia->ai", t1.bb) - rdm1_f_vv_aa += einsum("abij,ijcb->ca", l2.abab, t2.abab) - rdm1_f_vv_aa += einsum("wai,wib->ba", lu11.aa, u11.aa) - rdm1_f_vv_aa += einsum("ai,ib->ba", l1.aa, t1.aa) - rdm1_f_vv_bb += einsum("ai,ib->ba", l1.bb, t1.bb) - rdm1_f_vv_bb += einsum("wai,wib->ba", lu11.bb, u11.bb) - rdm1_f_vv_bb += einsum("abij,ijac->cb", l2.abab, t2.abab) - - rdm1_f_aa = np.block([[rdm1_f_oo_aa, rdm1_f_ov_aa], [rdm1_f_vo_aa, rdm1_f_vv_aa]]) - rdm1_f_bb = np.block([[rdm1_f_oo_bb, rdm1_f_ov_bb], [rdm1_f_vo_bb, rdm1_f_vv_bb]]) - - rdm1_f.aa = rdm1_f_aa - rdm1_f.bb = rdm1_f_bb - - return rdm1_f - -def make_rdm2_f(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, u11=None, l1=None, l2=None, ls1=None, lu11=None, **kwargs): - rdm2_f = Namespace() - - # Get boson coupling creation array: - gc = Namespace( - aa = Namespace( - boo=g.aa.boo.transpose(0, 2, 1), - bov=g.aa.bvo.transpose(0, 2, 1), - bvo=g.aa.bov.transpose(0, 2, 1), - bvv=g.aa.bvv.transpose(0, 2, 1), - ), - bb = Namespace( - boo=g.bb.boo.transpose(0, 2, 1), - bov=g.bb.bvo.transpose(0, 2, 1), - bvo=g.bb.bov.transpose(0, 2, 1), - bvv=g.bb.bvv.transpose(0, 2, 1), - ), - ) - - delta_oo = Namespace() - delta_oo.aa = np.eye(nocc[0]) - delta_oo.bb = np.eye(nocc[1]) - delta_vv = Namespace() - delta_vv.aa = np.eye(nvir[0]) - delta_vv.bb = np.eye(nvir[1]) - - # 2RDM - x0 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x0 += einsum("wai,wja->ij", lu11.aa, u11.aa) - x18 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x18 += einsum("ij->ij", x0) - x29 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x29 += einsum("ia,ij->ja", t1.aa, x0) - x32 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x32 += einsum("ia->ia", x29) - del x29 - x33 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x33 += einsum("ij->ij", x0) - x96 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x96 += einsum("ij->ji", x0) - x145 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x145 += einsum("ij,kiab->kjab", x0, t2.aaaa) - x161 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x161 -= einsum("ijab->ijab", x145) - del x145 - x248 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x248 += einsum("ij->ij", x0) - rdm2_f_oooo_aaaa = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - rdm2_f_oooo_aaaa -= einsum("ij,kl->ijkl", delta_oo.aa, x0) - rdm2_f_oooo_aaaa += einsum("ij,kl->ilkj", delta_oo.aa, x0) - rdm2_f_oooo_aaaa += einsum("ij,kl->kijl", delta_oo.aa, x0) - rdm2_f_oooo_aaaa -= einsum("ij,kl->klji", delta_oo.aa, x0) - del x0 - x1 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x1 += einsum("abij,klba->ijlk", l2.aaaa, t2.aaaa) - x39 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x39 += einsum("ijkl->jilk", x1) - x174 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x174 += einsum("ijab,ijkl->klab", t2.aaaa, x1) - x178 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x178 += einsum("ijab->ijab", x174) - del x174 - x176 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x176 += einsum("ia,jikl->jkla", t1.aa, x1) - x177 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x177 += einsum("ia,ijkb->jkab", t1.aa, x176) - del x176 - x178 += einsum("ijab->ijab", x177) - del x177 - rdm2_f_oooo_aaaa += einsum("ijkl->jkil", x1) * -1 - rdm2_f_oooo_aaaa += einsum("ijkl->jlik", x1) - del x1 - x2 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x2 += einsum("ia,abjk->kjib", t1.aa, l2.aaaa) - x3 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x3 += einsum("ia,jkla->jkil", t1.aa, x2) - x39 += einsum("ijkl->ijkl", x3) - x40 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x40 += einsum("ia,ijkl->jkla", t1.aa, x39) - del x39 - x46 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x46 += einsum("ijka->ikja", x40) - x95 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x95 += einsum("ijka->ikja", x40) - del x40 - x162 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x162 += einsum("ia,ijkl->jlka", t1.aa, x3) - x163 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x163 += einsum("ia,ijkb->jkab", t1.aa, x162) - del x162 - x169 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x169 += einsum("ijab->ijab", x163) - del x163 - x175 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x175 += einsum("ijab,jikl->klba", t2.aaaa, x3) - x178 += einsum("ijab->ijab", x175) - del x175 - rdm2_f_vovo_aaaa = np.zeros((nvir[0], nocc[0], nvir[0], nocc[0]), dtype=types[float]) - rdm2_f_vovo_aaaa += einsum("ijab->ajbi", x178) * -1 - rdm2_f_vovo_aaaa += einsum("ijab->bjai", x178) - del x178 - rdm2_f_oooo_aaaa += einsum("ijkl->ikjl", x3) - rdm2_f_oooo_aaaa += einsum("ijkl->iljk", x3) * -1 - del x3 - x36 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x36 += einsum("ijka->ijka", x2) - x36 += einsum("ijka->jika", x2) * -1 - x42 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x42 += einsum("ijka->ijka", x2) * -1 - x42 += einsum("ijka->jika", x2) - x43 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x43 += einsum("ijab,jikb->ka", t2.aaaa, x42) - x45 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x45 += einsum("ia->ia", x43) * -1 - x93 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x93 += einsum("ia->ia", x43) * -1 - x249 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x249 += einsum("ia->ia", x43) * -1 - del x43 - x77 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x77 += einsum("ijab,kila->kljb", t2.abab, x42) - x234 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x234 += einsum("ijka->ijka", x77) * -1 - rdm2_f_oovo_aabb = np.zeros((nocc[0], nocc[0], nvir[1], nocc[1]), dtype=types[float]) - rdm2_f_oovo_aabb += einsum("ijka->ijak", x77) * -1 - rdm2_f_vooo_bbaa = np.zeros((nvir[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - rdm2_f_vooo_bbaa += einsum("ijka->akij", x77) * -1 - del x77 - x251 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x251 += einsum("ijab,jikb->ka", t2.aaaa, x42) * -1 - del x42 - x104 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x104 += einsum("ijka->ijka", x2) - x104 -= einsum("ijka->jika", x2) - x105 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x105 += einsum("ia,ijkb->jkab", t1.aa, x104) - rdm2_f_oovv_aaaa = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - rdm2_f_oovv_aaaa -= einsum("ijab->ijab", x105) - rdm2_f_vvoo_aaaa = np.zeros((nvir[0], nvir[0], nocc[0], nocc[0]), dtype=types[float]) - rdm2_f_vvoo_aaaa -= einsum("ijab->abij", x105) - del x105 - x130 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x130 -= einsum("ijka->ijka", x2) - x130 += einsum("ijka->jika", x2) - x131 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x131 += einsum("ia,ijkb->jkab", t1.aa, x130) - del x130 - rdm2_f_ovvo_aaaa = np.zeros((nocc[0], nvir[0], nvir[0], nocc[0]), dtype=types[float]) - rdm2_f_ovvo_aaaa -= einsum("ijab->ibaj", x131) - rdm2_f_voov_aaaa = np.zeros((nvir[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - rdm2_f_voov_aaaa -= einsum("ijab->ajib", x131) - del x131 - x261 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x261 += einsum("ijab,jikc->kcba", t2.aaaa, x2) - x266 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x266 += einsum("iabc->iabc", x261) - del x261 - x262 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x262 += einsum("ia,jikb->jkba", t1.aa, x2) - x264 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x264 += einsum("ijab->ijab", x262) * -1 - del x262 - rdm2_f_ooov_aaaa = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - rdm2_f_ooov_aaaa += einsum("ijka->ikja", x2) - rdm2_f_ooov_aaaa -= einsum("ijka->jkia", x2) - rdm2_f_ovoo_aaaa = np.zeros((nocc[0], nvir[0], nocc[0], nocc[0]), dtype=types[float]) - rdm2_f_ovoo_aaaa -= einsum("ijka->iajk", x2) - rdm2_f_ovoo_aaaa += einsum("ijka->jaik", x2) - del x2 - x4 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x4 += einsum("abij,kjab->ik", l2.abab, t2.abab) - x7 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x7 += einsum("ij->ij", x4) - x18 += einsum("ij->ij", x4) - x96 += einsum("ij->ji", x4) - x248 += einsum("ij->ij", x4) - del x4 - x5 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x5 += einsum("ijab->jiab", t2.aaaa) * -1 - x5 += einsum("ijab->jiba", t2.aaaa) - x6 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x6 += einsum("abij,ikba->jk", l2.aaaa, x5) - x7 += einsum("ij->ij", x6) * -1 - x44 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x44 += einsum("ia,ij->ja", t1.aa, x7) - x45 += einsum("ia->ia", x44) - del x44 - x46 += einsum("ia,jk->jika", t1.aa, x7) - x95 += einsum("ia,jk->jika", t1.aa, x7) - x172 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x172 += einsum("ij,ikab->kjab", x7, t2.aaaa) - x173 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x173 += einsum("ijab->ijba", x172) - del x172 - rdm2_f_oooo_aaaa += einsum("ij,kl->jikl", delta_oo.aa, x7) * -1 - rdm2_f_oooo_aaaa += einsum("ij,kl->jlki", delta_oo.aa, x7) - rdm2_f_oooo_aaaa += einsum("ij,kl->kjil", delta_oo.aa, x7) - rdm2_f_oooo_aaaa += einsum("ij,kl->klij", delta_oo.aa, x7) * -1 - del x7 - x18 += einsum("ij->ij", x6) * -1 - del x6 - x91 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x91 += einsum("ai,ijab->jb", l1.aa, x5) - x93 += einsum("ia->ia", x91) * -1 - x251 += einsum("ia->ia", x91) * -1 - del x91 - x247 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x247 += einsum("abij,ikba->jk", l2.aaaa, x5) - x248 += einsum("ij->ij", x247) * -1 - del x247 - x249 += einsum("ai,ijab->jb", l1.aa, x5) * -0.9999999999999993 - x292 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x292 += einsum("abij,ikac->kjcb", l2.abab, x5) - x294 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x294 += einsum("ijab->ijab", x292) * -1 - del x292 - x8 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x8 += einsum("ai,ja->ij", l1.aa, t1.aa) - x18 += einsum("ij->ij", x8) - x92 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x92 += einsum("ia,ij->ja", t1.aa, x18) - x93 += einsum("ia->ia", x92) - del x92 - x240 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x240 += einsum("ij,ikab->jkab", x18, t2.abab) - rdm2_f_vovo_bbaa = np.zeros((nvir[1], nocc[1], nvir[0], nocc[0]), dtype=types[float]) - rdm2_f_vovo_bbaa += einsum("ijab->bjai", x240) * -1 - rdm2_f_vovo_aabb = np.zeros((nvir[0], nocc[0], nvir[1], nocc[1]), dtype=types[float]) - rdm2_f_vovo_aabb += einsum("ijab->aibj", x240) * -1 - del x240 - rdm2_f_oooo_aabb = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - rdm2_f_oooo_aabb += einsum("ij,kl->klji", delta_oo.bb, x18) * -1 - rdm2_f_oooo_bbaa = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - rdm2_f_oooo_bbaa += einsum("ij,kl->jikl", delta_oo.bb, x18) * -1 - rdm2_f_oovo_aabb += einsum("ia,jk->jkai", t1.bb, x18) * -1 - del x18 - x33 += einsum("ij->ij", x8) - x34 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x34 += einsum("ia,jk->jika", t1.aa, x33) - x94 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x94 += einsum("ia,jk->jika", t1.aa, x33) - x179 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x179 += einsum("ia,ij->ja", t1.aa, x33) - del x33 - x180 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x180 += einsum("ia->ia", x179) - x181 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x181 += einsum("ia->ia", x179) - del x179 - x48 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x48 += einsum("ia,ij->ja", t1.aa, x8) - x49 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x49 -= einsum("ia->ia", x48) - del x48 - x96 += einsum("ij->ji", x8) - x143 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x143 += einsum("ij,kiab->jkab", x8, t2.aaaa) - x161 += einsum("ijab->ijab", x143) - del x143 - x248 += einsum("ij->ij", x8) - x249 += einsum("ia,ij->ja", t1.aa, x248) * 0.9999999999999993 - x251 += einsum("ia,ij->ja", t1.aa, x248) - del x248 - rdm2_f_oooo_aaaa -= einsum("ij,kl->jikl", delta_oo.aa, x8) - rdm2_f_oooo_aaaa += einsum("ij,kl->kijl", delta_oo.aa, x8) - rdm2_f_oooo_aaaa += einsum("ij,kl->jlki", delta_oo.aa, x8) - rdm2_f_oooo_aaaa -= einsum("ij,kl->klji", delta_oo.aa, x8) - del x8 - x9 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x9 += einsum("abij,klab->ikjl", l2.abab, t2.abab) - x79 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x79 += einsum("ijkl->ijkl", x9) - x226 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x226 += einsum("ijkl->ijkl", x9) - x232 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x232 += einsum("ijkl->ijkl", x9) - rdm2_f_oooo_aabb += einsum("ijkl->ijkl", x9) - rdm2_f_oooo_bbaa += einsum("ijkl->klij", x9) - del x9 - x10 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x10 += einsum("ia,bajk->jkib", t1.bb, l2.abab) - x11 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x11 += einsum("ia,jkla->jikl", t1.aa, x10) - x79 += einsum("ijkl->ijkl", x11) - x80 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x80 += einsum("ia,jkil->jkla", t1.bb, x79) - rdm2_f_oovo_aabb += einsum("ijka->ijak", x80) - rdm2_f_vooo_bbaa += einsum("ijka->akij", x80) - del x80 - x90 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x90 += einsum("ia,ijkl->jkla", t1.aa, x79) - del x79 - rdm2_f_oovo_bbaa = np.zeros((nocc[1], nocc[1], nvir[0], nocc[0]), dtype=types[float]) - rdm2_f_oovo_bbaa += einsum("ijka->jkai", x90) - rdm2_f_vooo_aabb = np.zeros((nvir[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - rdm2_f_vooo_aabb += einsum("ijka->aijk", x90) - del x90 - x226 += einsum("ijkl->ijkl", x11) - x227 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x227 += einsum("ijab,ikjl->klab", t2.abab, x226) - del x226 - rdm2_f_vovo_bbaa += einsum("ijab->bjai", x227) - rdm2_f_vovo_aabb += einsum("ijab->aibj", x227) - del x227 - x232 += einsum("ijkl->ijkl", x11) * 0.9999999999999993 - x233 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x233 += einsum("ia,jkil->jkla", t1.bb, x232) - del x232 - x234 += einsum("ijka->ijka", x233) - del x233 - rdm2_f_oooo_aabb += einsum("ijkl->ijkl", x11) - rdm2_f_oooo_bbaa += einsum("ijkl->klij", x11) - del x11 - x63 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x63 += einsum("ijab,ikla->kljb", t2.abab, x10) - x72 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x72 += einsum("ijka->ijka", x63) * -1 - x99 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x99 += einsum("ijka->ijka", x63) * -1 - x190 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x190 -= einsum("ijka->ijka", x63) - del x63 - x68 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x68 += einsum("ijab,ijka->kb", t2.abab, x10) - x71 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x71 += einsum("ia->ia", x68) - x84 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x84 += einsum("ia->ia", x68) - x97 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x97 += einsum("ia->ia", x68) - x246 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x246 += einsum("ia->ia", x68) - x250 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x250 += einsum("ia->ia", x68) - del x68 - x75 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x75 += einsum("ijab,kjla->kilb", t2.abab, x10) - x234 += einsum("ijka->ijka", x75) - rdm2_f_oovo_aabb += einsum("ijka->ijak", x75) - rdm2_f_vooo_bbaa += einsum("ijka->akij", x75) - del x75 - x89 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x89 += einsum("ijka,ilab->ljkb", x10, x5) - rdm2_f_oovo_bbaa += einsum("ijka->jkai", x89) * -1 - rdm2_f_vooo_aabb += einsum("ijka->aijk", x89) * -1 - del x89 - x126 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x126 += einsum("ia,ijkb->jkba", t1.aa, x10) - rdm2_f_oovv_bbaa = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - rdm2_f_oovv_bbaa -= einsum("ijab->ijba", x126) - rdm2_f_vvoo_aabb = np.zeros((nvir[0], nvir[0], nocc[1], nocc[1]), dtype=types[float]) - rdm2_f_vvoo_aabb -= einsum("ijab->baij", x126) - del x126 - x132 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x132 += einsum("ia,jikb->jkba", t1.bb, x10) - x286 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x286 += einsum("ijab->ijab", x132) - rdm2_f_ovvo_aabb = np.zeros((nocc[0], nvir[0], nvir[1], nocc[1]), dtype=types[float]) - rdm2_f_ovvo_aabb -= einsum("ijab->iabj", x132) - rdm2_f_voov_bbaa = np.zeros((nvir[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - rdm2_f_voov_bbaa -= einsum("ijab->bjia", x132) - del x132 - x280 = np.zeros((nocc[1], nvir[0], nvir[0], nvir[1]), dtype=types[float]) - x280 += einsum("ijab,ijkc->kcab", t2.abab, x10) - rdm2_f_vovv_bbaa = np.zeros((nvir[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - rdm2_f_vovv_bbaa += einsum("iabc->ciba", x280) * -1 - rdm2_f_vvvo_aabb = np.zeros((nvir[0], nvir[0], nvir[1], nocc[1]), dtype=types[float]) - rdm2_f_vvvo_aabb += einsum("iabc->baci", x280) * -1 - del x280 - rdm2_f_ooov_bbaa = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - rdm2_f_ooov_bbaa -= einsum("ijka->jkia", x10) - rdm2_f_ovoo_aabb = np.zeros((nocc[0], nvir[0], nocc[1], nocc[1]), dtype=types[float]) - rdm2_f_ovoo_aabb -= einsum("ijka->iajk", x10) - x12 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x12 += einsum("ai,ja->ij", l1.bb, t1.bb) - x17 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x17 += einsum("ij->ji", x12) - x51 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x51 += einsum("ia,ij->ja", t1.bb, x12) - x73 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x73 -= einsum("ia->ia", x51) - rdm2_f_oovo_bbbb = np.zeros((nocc[1], nocc[1], nvir[1], nocc[1]), dtype=types[float]) - rdm2_f_oovo_bbbb += einsum("ij,ka->ikaj", delta_oo.bb, x51) - rdm2_f_vooo_bbbb = np.zeros((nvir[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - rdm2_f_vooo_bbbb -= einsum("ij,ka->akji", delta_oo.bb, x51) - del x51 - x61 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x61 += einsum("ij->ij", x12) - x82 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x82 += einsum("ij->ij", x12) - x182 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x182 += einsum("ij,kiab->jkab", x12, t2.bbbb) - x199 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x199 += einsum("ijab->ijab", x182) - del x182 - x245 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x245 += einsum("ij->ij", x12) - rdm2_f_oooo_bbbb = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - rdm2_f_oooo_bbbb -= einsum("ij,kl->jikl", delta_oo.bb, x12) - rdm2_f_oooo_bbbb += einsum("ij,kl->kijl", delta_oo.bb, x12) - rdm2_f_oooo_bbbb += einsum("ij,kl->jlki", delta_oo.bb, x12) - rdm2_f_oooo_bbbb -= einsum("ij,kl->klji", delta_oo.bb, x12) - del x12 - x13 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x13 += einsum("wai,wja->ij", lu11.bb, u11.bb) - x17 += einsum("ij->ji", x13) - x57 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x57 += einsum("ia,ij->ja", t1.bb, x13) - x60 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x60 += einsum("ia->ia", x57) - del x57 - x61 += einsum("ij->ij", x13) - x62 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x62 += einsum("ia,jk->jika", t1.bb, x61) - x98 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x98 += einsum("ia,jk->jika", t1.bb, x61) - x217 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x217 += einsum("ia,ij->ja", t1.bb, x61) - del x61 - x218 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x218 += einsum("ia->ia", x217) - x219 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x219 += einsum("ia->ia", x217) - del x217 - x82 += einsum("ij->ij", x13) - x184 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x184 += einsum("ij,kiab->kjab", x13, t2.bbbb) - x199 -= einsum("ijab->ijab", x184) - del x184 - x245 += einsum("ij->ij", x13) - rdm2_f_oooo_bbbb -= einsum("ij,kl->ijkl", delta_oo.bb, x13) - rdm2_f_oooo_bbbb += einsum("ij,kl->ilkj", delta_oo.bb, x13) - rdm2_f_oooo_bbbb += einsum("ij,kl->kijl", delta_oo.bb, x13) - rdm2_f_oooo_bbbb -= einsum("ij,kl->klji", delta_oo.bb, x13) - del x13 - x14 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x14 += einsum("abij,ikab->jk", l2.abab, t2.abab) - x17 += einsum("ij->ji", x14) - x22 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x22 += einsum("ij->ij", x14) - x82 += einsum("ij->ij", x14) - x207 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x207 += einsum("ij,kiab->jkab", x14, t2.bbbb) - x211 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x211 += einsum("ijab->ijab", x207) * -1 - del x207 - x245 += einsum("ij->ij", x14) - del x14 - x15 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x15 += einsum("ijab->jiab", t2.bbbb) * -1 - x15 += einsum("ijab->jiba", t2.bbbb) - x16 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x16 += einsum("abij,ikba->jk", l2.bbbb, x15) - x17 += einsum("ij->ji", x16) * -1 - x22 += einsum("ij->ij", x16) * -1 - x70 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x70 += einsum("ia,ij->ja", t1.bb, x22) - x71 += einsum("ia->ia", x70) - del x70 - x72 += einsum("ia,jk->jika", t1.bb, x22) - x99 += einsum("ia,jk->jika", t1.bb, x22) - rdm2_f_oooo_bbbb += einsum("ij,kl->jikl", delta_oo.bb, x22) * -1 - rdm2_f_oooo_bbbb += einsum("ij,kl->jlki", delta_oo.bb, x22) - rdm2_f_oooo_bbbb += einsum("ij,kl->kjil", delta_oo.bb, x22) - rdm2_f_oooo_bbbb += einsum("ij,kl->klij", delta_oo.bb, x22) * -1 - del x22 - x82 += einsum("ij->ij", x16) * -1 - x83 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x83 += einsum("ia,ij->ja", t1.bb, x82) - x84 += einsum("ia->ia", x83) - x97 += einsum("ia->ia", x83) - del x83 - x241 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x241 += einsum("ij,kiab->kjab", x82, t2.abab) - rdm2_f_vovo_bbaa += einsum("ijab->bjai", x241) * -1 - rdm2_f_vovo_aabb += einsum("ijab->aibj", x241) * -1 - del x241 - rdm2_f_oovo_bbaa += einsum("ia,jk->jkai", t1.aa, x82) * -1 - rdm2_f_vooo_aabb += einsum("ia,jk->aijk", t1.aa, x82) * -1 - del x82 - x210 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x210 += einsum("ij,ikab->kjab", x16, t2.bbbb) * -1 - del x16 - x211 += einsum("ijab->ijba", x210) - del x210 - x81 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x81 += einsum("ai,ijab->jb", l1.bb, x15) - x84 += einsum("ia->ia", x81) * -1 - x97 += einsum("ia->ia", x81) * -1 - x246 += einsum("ia->ia", x81) * -1 - del x81 - x244 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x244 += einsum("abij,ikba->jk", l2.bbbb, x15) - x245 += einsum("ij->ij", x244) * -1 - del x244 - x246 += einsum("ia,ij->ja", t1.bb, x245) - x250 += einsum("ia,ij->ja", t1.bb, x245) * 0.9999999999999993 - del x245 - x250 += einsum("ai,ijab->jb", l1.bb, x15) * -0.9999999999999993 - x285 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x285 += einsum("abij,jkbc->ikac", l2.abab, x15) - x286 += einsum("ijab->ijab", x285) * -1 - del x285 - x17 += einsum("ij->ji", delta_oo.bb) * -1 - rdm2_f_oooo_aabb += einsum("ij,kl->jilk", delta_oo.aa, x17) * -1 - rdm2_f_oooo_bbaa += einsum("ij,kl->lkji", delta_oo.aa, x17) * -1 - del x17 - x19 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x19 += einsum("abij,klab->ijkl", l2.bbbb, t2.bbbb) - x66 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x66 += einsum("ijkl->jilk", x19) - x212 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x212 += einsum("ia,jikl->jkla", t1.bb, x19) - x213 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x213 += einsum("ia,ijkb->kjba", t1.bb, x212) - del x212 - x216 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x216 += einsum("ijab->ijab", x213) - del x213 - x214 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x214 += einsum("ijkl->jilk", x19) - rdm2_f_oooo_bbbb += einsum("ijkl->jkil", x19) * -1 - rdm2_f_oooo_bbbb += einsum("ijkl->jlik", x19) - del x19 - x20 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x20 += einsum("ia,bajk->jkib", t1.bb, l2.bbbb) - x21 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x21 += einsum("ia,jkla->kjli", t1.bb, x20) - x66 += einsum("ijkl->ijkl", x21) - x67 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x67 += einsum("ia,ijkl->jkla", t1.bb, x66) - del x66 - x72 += einsum("ijka->ikja", x67) - x99 += einsum("ijka->ikja", x67) - del x67 - x201 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x201 += einsum("ia,ijkl->jlka", t1.bb, x21) - x202 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x202 += einsum("ia,ijkb->jkab", t1.bb, x201) - del x201 - x206 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x206 += einsum("ijab->ijab", x202) - del x202 - x214 += einsum("ijkl->ijkl", x21) - x215 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x215 += einsum("ijab,ijkl->klab", t2.bbbb, x214) - del x214 - x216 += einsum("ijab->jiba", x215) - del x215 - rdm2_f_vovo_bbbb = np.zeros((nvir[1], nocc[1], nvir[1], nocc[1]), dtype=types[float]) - rdm2_f_vovo_bbbb += einsum("ijab->ajbi", x216) * -1 - rdm2_f_vovo_bbbb += einsum("ijab->bjai", x216) - del x216 - rdm2_f_oooo_bbbb += einsum("ijkl->ikjl", x21) - rdm2_f_oooo_bbbb += einsum("ijkl->iljk", x21) * -1 - del x21 - x64 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x64 += einsum("ijka->ijka", x20) * -1 - x64 += einsum("ijka->jika", x20) - x65 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x65 += einsum("ijab,ikla->jklb", x15, x64) - x72 += einsum("ijka->jkia", x65) - x99 += einsum("ijka->jkia", x65) - del x65 - rdm2_f_vooo_bbbb += einsum("ijka->ajik", x99) * -1 - rdm2_f_vooo_bbbb += einsum("ijka->akij", x99) - del x99 - x69 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x69 += einsum("ijab,ijka->kb", t2.bbbb, x64) - x71 += einsum("ia->ia", x69) * -1 - x72 += einsum("ij,ka->jika", delta_oo.bb, x71) * -1 - rdm2_f_oovo_bbbb += einsum("ijka->ijak", x72) - rdm2_f_oovo_bbbb += einsum("ijka->ikaj", x72) * -1 - del x72 - x211 += einsum("ia,jb->ijab", t1.bb, x71) - rdm2_f_vooo_bbbb += einsum("ij,ka->ajik", delta_oo.bb, x71) - rdm2_f_vooo_bbbb += einsum("ij,ka->akij", delta_oo.bb, x71) * -1 - del x71 - x84 += einsum("ia->ia", x69) * -1 - x97 += einsum("ia->ia", x69) * -1 - x250 += einsum("ia->ia", x69) * -1 - del x69 - x88 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x88 += einsum("ijab,kjlb->ikla", t2.abab, x64) - rdm2_f_oovo_bbaa += einsum("ijka->jkai", x88) * -1 - rdm2_f_vooo_aabb += einsum("ijka->aijk", x88) * -1 - del x88 - x246 += einsum("ijab,ijka->kb", t2.bbbb, x64) * -1 - del x64 - x117 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x117 += einsum("ijka->ijka", x20) - x117 -= einsum("ijka->jika", x20) - x118 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x118 += einsum("ia,ijkb->jkab", t1.bb, x117) - rdm2_f_oovv_bbbb = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - rdm2_f_oovv_bbbb -= einsum("ijab->ijab", x118) - rdm2_f_vvoo_bbbb = np.zeros((nvir[1], nvir[1], nocc[1], nocc[1]), dtype=types[float]) - rdm2_f_vvoo_bbbb -= einsum("ijab->abij", x118) - del x118 - x236 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x236 += einsum("ijab,kjlb->ikla", t2.abab, x117) - del x117 - x238 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x238 -= einsum("ijka->ijka", x236) - del x236 - x141 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x141 -= einsum("ijka->ijka", x20) - x141 += einsum("ijka->jika", x20) - x142 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x142 += einsum("ia,ijkb->jkab", t1.bb, x141) - rdm2_f_ovvo_bbbb = np.zeros((nocc[1], nvir[1], nvir[1], nocc[1]), dtype=types[float]) - rdm2_f_ovvo_bbbb -= einsum("ijab->ibaj", x142) - rdm2_f_voov_bbbb = np.zeros((nvir[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - rdm2_f_voov_bbbb -= einsum("ijab->ajib", x142) - del x142 - x267 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x267 += einsum("ijab,jikc->kcba", t2.bbbb, x20) - x274 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x274 += einsum("iabc->iabc", x267) - del x267 - x268 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x268 += einsum("ia,jikb->jkba", t1.bb, x20) - x271 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x271 += einsum("ijab->ijab", x268) * -1 - del x268 - rdm2_f_ooov_bbbb = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - rdm2_f_ooov_bbbb += einsum("ijka->ikja", x20) - rdm2_f_ooov_bbbb -= einsum("ijka->jkia", x20) - rdm2_f_ovoo_bbbb = np.zeros((nocc[1], nvir[1], nocc[1], nocc[1]), dtype=types[float]) - rdm2_f_ovoo_bbbb -= einsum("ijka->iajk", x20) - rdm2_f_ovoo_bbbb += einsum("ijka->jaik", x20) - del x20 - x23 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x23 += einsum("ia,abjk->jikb", t1.aa, l2.abab) - x35 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x35 += einsum("ijab,kljb->klia", t2.abab, x23) - x46 += einsum("ijka->ijka", x35) * -1 - x95 += einsum("ijka->ijka", x35) * -1 - x152 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x152 -= einsum("ijka->ijka", x35) - del x35 - x41 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x41 += einsum("ijab,ikjb->ka", t2.abab, x23) - x45 += einsum("ia->ia", x41) - x46 += einsum("ij,ka->jika", delta_oo.aa, x45) * -1 - x173 += einsum("ia,jb->ijab", t1.aa, x45) - rdm2_f_vooo_aaaa = np.zeros((nvir[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - rdm2_f_vooo_aaaa += einsum("ij,ka->ajik", delta_oo.aa, x45) - rdm2_f_vooo_aaaa += einsum("ij,ka->akij", delta_oo.aa, x45) * -1 - del x45 - x93 += einsum("ia->ia", x41) - x249 += einsum("ia->ia", x41) - x251 += einsum("ia->ia", x41) - del x41 - x78 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x78 += einsum("ijab,klia->kljb", x15, x23) - del x15 - x234 += einsum("ijka->ijka", x78) * -1 - rdm2_f_oovo_aabb += einsum("ijka->ijak", x78) * -1 - rdm2_f_vooo_bbaa += einsum("ijka->akij", x78) * -1 - del x78 - x85 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x85 += einsum("ijab,iklb->klja", t2.abab, x23) - x238 -= einsum("ijka->ijka", x85) - rdm2_f_oovo_bbaa += einsum("ijka->jkai", x85) - rdm2_f_vooo_aabb += einsum("ijka->aijk", x85) - del x85 - x128 = np.zeros((nocc[0], nocc[0], nvir[1], nvir[1]), dtype=types[float]) - x128 += einsum("ia,jkib->jkba", t1.bb, x23) - rdm2_f_oovv_aabb = np.zeros((nocc[0], nocc[0], nvir[1], nvir[1]), dtype=types[float]) - rdm2_f_oovv_aabb -= einsum("ijab->ijba", x128) - rdm2_f_vvoo_bbaa = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - rdm2_f_vvoo_bbaa -= einsum("ijab->baij", x128) - del x128 - x136 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x136 += einsum("ia,ijkb->jkab", t1.aa, x23) - x294 += einsum("ijab->ijab", x136) - rdm2_f_ovvo_bbaa = np.zeros((nocc[1], nvir[1], nvir[0], nocc[0]), dtype=types[float]) - rdm2_f_ovvo_bbaa -= einsum("ijab->jbai", x136) - rdm2_f_voov_aabb = np.zeros((nvir[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - rdm2_f_voov_aabb -= einsum("ijab->aijb", x136) - del x136 - x290 = np.zeros((nocc[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) - x290 += einsum("ijab,ikjc->kacb", t2.abab, x23) - rdm2_f_vovv_aabb = np.zeros((nvir[0], nocc[0], nvir[1], nvir[1]), dtype=types[float]) - rdm2_f_vovv_aabb += einsum("iabc->aicb", x290) * -1 - rdm2_f_vvvo_bbaa = np.zeros((nvir[1], nvir[1], nvir[0], nocc[0]), dtype=types[float]) - rdm2_f_vvvo_bbaa += einsum("iabc->cbai", x290) * -1 - del x290 - rdm2_f_ooov_aabb = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - rdm2_f_ooov_aabb -= einsum("ijka->ijka", x23) - rdm2_f_ovoo_bbaa = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - rdm2_f_ovoo_bbaa -= einsum("ijka->kaij", x23) - del x23 - x24 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x24 += einsum("ai,jkab->ikjb", l1.aa, t2.aaaa) - x34 += einsum("ijka->ijka", x24) - x94 += einsum("ijka->ijka", x24) - x152 += einsum("ijka->ijka", x24) - del x24 - x25 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) - x25 += einsum("ia,waj->wji", t1.aa, lu11.aa) - x26 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x26 += einsum("wia,wjk->jkia", u11.aa, x25) - x34 -= einsum("ijka->ijka", x26) - x94 -= einsum("ijka->ijka", x26) - del x26 - rdm2_f_vooo_aaaa -= einsum("ijka->ajik", x94) - rdm2_f_vooo_aaaa += einsum("ijka->akij", x94) - del x94 - x28 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x28 += einsum("wia,wij->ja", u11.aa, x25) - x32 += einsum("ia->ia", x28) - x93 += einsum("ia->ia", x28) - x180 += einsum("ia->ia", x28) - x181 += einsum("ia->ia", x28) - x249 += einsum("ia->ia", x28) * 0.9999999999999993 - x251 += einsum("ia->ia", x28) - del x28 - x74 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x74 += einsum("wia,wjk->jkia", u11.bb, x25) - rdm2_f_oovo_aabb -= einsum("ijka->ijak", x74) - rdm2_f_vooo_bbaa -= einsum("ijka->akij", x74) - del x74 - x154 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x154 += einsum("ia,wij->wja", t1.aa, x25) - del x25 - x157 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x157 -= einsum("wia->wia", x154) - del x154 - x27 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x27 += einsum("ai,jiba->jb", l1.bb, t2.abab) - x32 -= einsum("ia->ia", x27) - x93 += einsum("ia->ia", x27) * -1 - x160 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x160 += einsum("ia->ia", x27) - x249 += einsum("ia->ia", x27) * -0.9999999999999993 - x251 += einsum("ia->ia", x27) * -1 - del x27 - x30 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x30 -= einsum("ijab->jiab", t2.aaaa) - x30 += einsum("ijab->jiba", t2.aaaa) - x31 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x31 += einsum("ai,ijab->jb", l1.aa, x30) - x32 -= einsum("ia->ia", x31) - del x31 - x34 -= einsum("ij,ka->jika", delta_oo.aa, x32) - rdm2_f_oovo_aaaa = np.zeros((nocc[0], nocc[0], nvir[0], nocc[0]), dtype=types[float]) - rdm2_f_oovo_aaaa += einsum("ijka->ijak", x34) - rdm2_f_oovo_aaaa -= einsum("ijka->ikaj", x34) - del x34 - rdm2_f_vooo_aaaa += einsum("ij,ka->ajik", delta_oo.aa, x32) - rdm2_f_vooo_aaaa -= einsum("ij,ka->akij", delta_oo.aa, x32) - del x32 - x138 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x138 += einsum("abij,ikca->kjcb", l2.abab, x30) - rdm2_f_ovvo_bbaa -= einsum("ijab->jbai", x138) - rdm2_f_voov_aabb -= einsum("ijab->aijb", x138) - del x138 - x156 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x156 += einsum("wai,ijba->wjb", lu11.aa, x30) - x157 -= einsum("wia->wia", x156) - del x156 - x159 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x159 += einsum("ai,ijba->jb", l1.aa, x30) - x160 -= einsum("ia->ia", x159) - del x159 - x161 += einsum("ia,jb->ijab", t1.aa, x160) - del x160 - x237 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x237 += einsum("ijka,ilba->ljkb", x10, x30) - del x10 - x238 -= einsum("ijka->ijka", x237) - del x237 - x37 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x37 += einsum("ijab->jiab", t2.aaaa) - x37 += einsum("ijab->jiba", t2.aaaa) * -1 - x38 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x38 += einsum("ijka,jlba->iklb", x36, x37) - del x36 - x46 += einsum("ijka->ijka", x38) - rdm2_f_oovo_aaaa += einsum("ijka->ijak", x46) - rdm2_f_oovo_aaaa += einsum("ijka->ikaj", x46) * -1 - del x46 - x95 += einsum("ijka->ijka", x38) - del x38 - rdm2_f_vooo_aaaa += einsum("ijka->ajik", x95) * -1 - rdm2_f_vooo_aaaa += einsum("ijka->akij", x95) - del x95 - x96 += einsum("abij,ikab->kj", l2.aaaa, x37) * -1 - del x37 - x47 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x47 += einsum("w,wia->ia", ls1, u11.aa) - x49 += einsum("ia->ia", x47) - x93 += einsum("ia->ia", x47) * -1 - x180 -= einsum("ia->ia", x47) - x181 -= einsum("ia->ia", x47) - rdm2_f_vovo_aaaa -= einsum("ia,jb->bjai", t1.aa, x181) - rdm2_f_vovo_aaaa += einsum("ia,jb->ajbi", t1.aa, x181) - del x181 - x249 += einsum("ia->ia", x47) * -0.9999999999999993 - rdm2_f_vovo_bbaa += einsum("ia,jb->aibj", t1.bb, x249) * -1 - del x249 - x251 += einsum("ia->ia", x47) * -1 - del x47 - rdm2_f_vovo_aabb += einsum("ia,jb->bjai", t1.bb, x251) * -1 - del x251 - x49 += einsum("ia->ia", t1.aa) - rdm2_f_oovo_aaaa += einsum("ij,ka->jiak", delta_oo.aa, x49) - rdm2_f_oovo_aaaa -= einsum("ij,ka->jkai", delta_oo.aa, x49) - rdm2_f_vooo_aaaa -= einsum("ij,ka->aijk", delta_oo.aa, x49) - rdm2_f_vooo_aaaa += einsum("ij,ka->akji", delta_oo.aa, x49) - del x49 - x50 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x50 += einsum("w,wia->ia", ls1, u11.bb) - x73 += einsum("ia->ia", x50) - x84 += einsum("ia->ia", x50) * -1 - x97 += einsum("ia->ia", x50) * -1 - x218 -= einsum("ia->ia", x50) - x219 -= einsum("ia->ia", x50) - x246 += einsum("ia->ia", x50) * -1 - x250 += einsum("ia->ia", x50) * -0.9999999999999993 - rdm2_f_oovo_bbbb -= einsum("ij,ka->jkai", delta_oo.bb, x50) - rdm2_f_vooo_bbbb += einsum("ij,ka->akji", delta_oo.bb, x50) - del x50 - x52 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x52 += einsum("ai,jkba->ijkb", l1.bb, t2.bbbb) - x62 += einsum("ijka->ijka", x52) - x98 += einsum("ijka->ijka", x52) - x190 += einsum("ijka->ijka", x52) - del x52 - x53 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) - x53 += einsum("ia,waj->wji", t1.bb, lu11.bb) - x54 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x54 += einsum("wia,wjk->jkia", u11.bb, x53) - x62 -= einsum("ijka->ijka", x54) - x98 -= einsum("ijka->ijka", x54) - del x54 - rdm2_f_vooo_bbbb -= einsum("ijka->ajik", x98) - rdm2_f_vooo_bbbb += einsum("ijka->akij", x98) - del x98 - x56 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x56 += einsum("wia,wij->ja", u11.bb, x53) - x60 += einsum("ia->ia", x56) - x84 += einsum("ia->ia", x56) - x97 += einsum("ia->ia", x56) - x218 += einsum("ia->ia", x56) - x219 += einsum("ia->ia", x56) - rdm2_f_vovo_bbbb += einsum("ia,jb->biaj", t1.bb, x219) - rdm2_f_vovo_bbbb -= einsum("ia,jb->aibj", t1.bb, x219) - del x219 - x246 += einsum("ia->ia", x56) - x250 += einsum("ia->ia", x56) * 0.9999999999999993 - del x56 - x87 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x87 += einsum("wia,wjk->ijka", u11.aa, x53) - rdm2_f_oovo_bbaa -= einsum("ijka->jkai", x87) - rdm2_f_vooo_aabb -= einsum("ijka->aijk", x87) - del x87 - x193 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x193 += einsum("ia,wij->wja", t1.bb, x53) - del x53 - x195 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x195 -= einsum("wia->wia", x193) - del x193 - x55 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x55 += einsum("ai,ijab->jb", l1.aa, t2.abab) - x60 -= einsum("ia->ia", x55) - x84 += einsum("ia->ia", x55) * -1 - x97 += einsum("ia->ia", x55) * -1 - rdm2_f_vooo_bbaa += einsum("ij,ka->akji", delta_oo.aa, x97) * -1 - del x97 - x198 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x198 += einsum("ia->ia", x55) - x246 += einsum("ia->ia", x55) * -1 - x250 += einsum("ia->ia", x55) * -0.9999999999999993 - del x55 - x58 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x58 -= einsum("ijab->jiab", t2.bbbb) - x58 += einsum("ijab->jiba", t2.bbbb) - x59 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x59 += einsum("ai,ijab->jb", l1.bb, x58) - x60 -= einsum("ia->ia", x59) - del x59 - x62 -= einsum("ij,ka->jika", delta_oo.bb, x60) - rdm2_f_oovo_bbbb += einsum("ijka->ijak", x62) - rdm2_f_oovo_bbbb -= einsum("ijka->ikaj", x62) - del x62 - rdm2_f_vooo_bbbb += einsum("ij,ka->ajik", delta_oo.bb, x60) - rdm2_f_vooo_bbbb -= einsum("ij,ka->akij", delta_oo.bb, x60) - del x60 - x189 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x189 += einsum("ijka,ilab->ljkb", x141, x58) - del x141 - x190 += einsum("ijka->jkia", x189) - del x189 - x191 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x191 += einsum("ia,ijkb->jkab", t1.bb, x190) - del x190 - x199 += einsum("ijab->ijab", x191) - del x191 - x73 += einsum("ia->ia", t1.bb) - rdm2_f_oovo_bbbb += einsum("ij,ka->jiak", delta_oo.bb, x73) - rdm2_f_vooo_bbbb -= einsum("ij,ka->aijk", delta_oo.bb, x73) - del x73 - x76 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x76 += einsum("ai,jkab->ijkb", l1.aa, t2.abab) - x234 += einsum("ijka->ijka", x76) * -1 - x235 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x235 += einsum("ia,ijkb->jkab", t1.aa, x234) - del x234 - rdm2_f_vovo_bbaa += einsum("ijab->bjai", x235) - rdm2_f_vovo_aabb += einsum("ijab->aibj", x235) - del x235 - rdm2_f_oovo_aabb -= einsum("ijka->ijak", x76) - rdm2_f_vooo_bbaa -= einsum("ijka->akij", x76) - del x76 - x84 += einsum("ia->ia", t1.bb) * -1 - rdm2_f_oovo_aabb += einsum("ij,ka->jiak", delta_oo.aa, x84) * -1 - del x84 - x86 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x86 += einsum("ai,jkba->jikb", l1.bb, t2.abab) - x238 += einsum("ijka->ijka", x86) - x239 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x239 += einsum("ia,jikb->jkba", t1.bb, x238) - del x238 - rdm2_f_vovo_bbaa -= einsum("ijab->bjai", x239) - rdm2_f_vovo_aabb -= einsum("ijab->aibj", x239) - del x239 - rdm2_f_oovo_bbaa -= einsum("ijka->jkai", x86) - rdm2_f_vooo_aabb -= einsum("ijka->aijk", x86) - del x86 - x93 += einsum("ia->ia", t1.aa) * -1 - rdm2_f_oovo_bbaa += einsum("ij,ka->jiak", delta_oo.bb, x93) * -1 - rdm2_f_vooo_aabb += einsum("ij,ka->akji", delta_oo.bb, x93) * -1 - del x93 - x96 += einsum("ij->ji", delta_oo.aa) * -1 - rdm2_f_vooo_bbaa += einsum("ia,jk->aikj", t1.bb, x96) * -1 - del x96 - x100 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x100 += einsum("wai,wjb->ijab", lu11.aa, u11.aa) - rdm2_f_oovv_aaaa -= einsum("ijab->ijba", x100) - rdm2_f_ovvo_aaaa += einsum("ijab->iabj", x100) - rdm2_f_voov_aaaa += einsum("ijab->bjia", x100) - rdm2_f_vvoo_aaaa -= einsum("ijab->baij", x100) - del x100 - x101 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x101 += einsum("abij,kjcb->ikac", l2.abab, t2.abab) - x146 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x146 += einsum("ijab,jkac->ikbc", t2.aaaa, x101) - x161 -= einsum("ijab->ijab", x146) - del x146 - x148 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x148 += einsum("ijab->ijab", x101) - x264 += einsum("ijab->ijab", x101) - rdm2_f_oovv_aaaa -= einsum("ijab->ijba", x101) - rdm2_f_ovvo_aaaa += einsum("ijab->iabj", x101) - rdm2_f_voov_aaaa += einsum("ijab->bjia", x101) - rdm2_f_vvoo_aaaa -= einsum("ijab->baij", x101) - del x101 - x102 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x102 -= einsum("abij->jiab", l2.aaaa) - x102 += einsum("abij->jiba", l2.aaaa) - x103 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x103 += einsum("ijab,ikbc->kjca", x102, x30) - rdm2_f_oovv_aaaa += einsum("ijab->jiab", x103) - rdm2_f_vvoo_aaaa += einsum("ijab->abji", x103) - del x103 - x129 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x129 += einsum("ijab,ikcb->kjca", x102, x30) - rdm2_f_ovvo_aaaa += einsum("ijab->jbai", x129) - rdm2_f_voov_aaaa += einsum("ijab->aijb", x129) - del x129 - x134 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x134 += einsum("ijab,ikca->kjcb", t2.abab, x102) - x200 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x200 -= einsum("ijab,ikac->jkbc", t2.abab, x134) - rdm2_f_vovo_bbbb -= einsum("ijab->ajbi", x200) - rdm2_f_vovo_bbbb += einsum("ijab->aibj", x200) - del x200 - x221 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x221 -= einsum("ijab->ijab", x134) - rdm2_f_ovvo_aabb -= einsum("ijab->iabj", x134) - rdm2_f_voov_bbaa -= einsum("ijab->bjia", x134) - del x134 - x147 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x147 += einsum("ijab,ikbc->jkac", t2.aaaa, x102) - x148 -= einsum("ijab->jiba", x147) - del x147 - x149 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x149 += einsum("ijab,ikac->jkbc", t2.aaaa, x148) - del x148 - x161 += einsum("ijab->ijab", x149) - del x149 - x164 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x164 += einsum("ijab,ikca->jkbc", t2.aaaa, x102) - x165 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x165 -= einsum("ijab,kica->jkbc", t2.aaaa, x164) - del x164 - x169 += einsum("ijab->jiba", x165) - del x165 - x166 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x166 += einsum("ijab,ikcb->jkac", t2.aaaa, x102) - del x102 - x167 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x167 -= einsum("ijab,kicb->jkac", t2.aaaa, x166) - del x166 - x169 += einsum("ijab->ijab", x167) - del x167 - x106 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x106 += einsum("ai,ib->ab", l1.aa, t1.aa) - x111 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x111 += einsum("ab->ab", x106) - x259 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x259 += einsum("ab->ab", x106) - del x106 - x107 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x107 += einsum("wai,wib->ab", lu11.aa, u11.aa) - x111 += einsum("ab->ab", x107) - x144 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x144 += einsum("ab,ijca->ijcb", x107, t2.aaaa) - x161 -= einsum("ijab->ijab", x144) - del x144 - x230 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x230 += einsum("ab->ab", x107) - x259 += einsum("ab->ab", x107) - del x107 - x260 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x260 += einsum("ia,bc->ibac", t1.aa, x259) - del x259 - x108 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x108 += einsum("abij,ijcb->ac", l2.abab, t2.abab) - x111 += einsum("ab->ab", x108) - x170 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x170 += einsum("ab->ab", x108) - x230 += einsum("ab->ab", x108) - del x108 - x109 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x109 += einsum("abij->jiab", l2.aaaa) * -1 - x109 += einsum("abij->jiba", l2.aaaa) - x110 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x110 += einsum("ijab,ijbc->ac", t2.aaaa, x109) - x111 += einsum("ab->ba", x110) * -1 - rdm2_f_oovv_aaaa += einsum("ij,ab->jiba", delta_oo.aa, x111) - rdm2_f_oovv_bbaa += einsum("ij,ab->jiba", delta_oo.bb, x111) - rdm2_f_ovvo_aaaa += einsum("ij,ab->jabi", delta_oo.aa, x111) * -1 - rdm2_f_voov_aaaa += einsum("ij,ab->bija", delta_oo.aa, x111) * -1 - rdm2_f_vvoo_aaaa += einsum("ij,ab->baji", delta_oo.aa, x111) - rdm2_f_vvoo_aabb += einsum("ij,ab->baji", delta_oo.bb, x111) - rdm2_f_vovv_bbaa += einsum("ia,bc->aicb", t1.bb, x111) - rdm2_f_vvvo_aabb += einsum("ia,bc->cbai", t1.bb, x111) - del x111 - x170 += einsum("ab->ba", x110) * -1 - x171 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x171 += einsum("ab,ijac->ijcb", x170, t2.aaaa) - x173 += einsum("ijab->jiab", x171) - del x171 - rdm2_f_vovo_aaaa += einsum("ijab->aibj", x173) * -1 - rdm2_f_vovo_aaaa += einsum("ijab->biaj", x173) - rdm2_f_vovo_aaaa += einsum("ijab->ajbi", x173) - rdm2_f_vovo_aaaa += einsum("ijab->bjai", x173) * -1 - del x173 - x266 += einsum("ia,bc->ibac", t1.aa, x170) - del x170 - x230 += einsum("ab->ba", x110) * -1 - del x110 - x231 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x231 += einsum("ab,ijac->ijbc", x230, t2.abab) - del x230 - rdm2_f_vovo_bbaa += einsum("ijab->bjai", x231) * -1 - rdm2_f_vovo_aabb += einsum("ijab->aibj", x231) * -1 - del x231 - x263 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x263 += einsum("ijab,ikcb->kjca", x109, x5) - del x5 - x264 += einsum("ijab->jiba", x263) - del x263 - x265 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x265 += einsum("ia,ijbc->jabc", t1.aa, x264) - del x264 - x266 += einsum("iabc->ibac", x265) * -1 - del x265 - rdm2_f_vovv_aaaa = np.zeros((nvir[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - rdm2_f_vovv_aaaa += einsum("iabc->bica", x266) - rdm2_f_vovv_aaaa += einsum("iabc->ciba", x266) * -1 - rdm2_f_vvvo_aaaa = np.zeros((nvir[0], nvir[0], nvir[0], nocc[0]), dtype=types[float]) - rdm2_f_vvvo_aaaa += einsum("iabc->baci", x266) * -1 - rdm2_f_vvvo_aaaa += einsum("iabc->cabi", x266) - del x266 - x284 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x284 += einsum("ijab,ikac->kjcb", t2.abab, x109) - del x109 - x286 += einsum("ijab->ijab", x284) * -1 - del x284 - x287 = np.zeros((nocc[1], nvir[0], nvir[0], nvir[1]), dtype=types[float]) - x287 += einsum("ia,ijbc->jabc", t1.aa, x286) - del x286 - rdm2_f_vovv_bbaa += einsum("iabc->ciab", x287) * -1 - rdm2_f_vvvo_aabb += einsum("iabc->abci", x287) * -1 - del x287 - x112 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x112 += einsum("abij,ikac->jkbc", l2.abab, t2.abab) - x224 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x224 += einsum("ijab->ijab", x112) - x271 += einsum("ijab->ijab", x112) - rdm2_f_oovv_bbbb -= einsum("ijab->ijba", x112) - rdm2_f_ovvo_bbbb += einsum("ijab->iabj", x112) - rdm2_f_voov_bbbb += einsum("ijab->bjia", x112) - rdm2_f_vvoo_bbbb -= einsum("ijab->baij", x112) - x113 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x113 += einsum("wai,wjb->ijab", lu11.bb, u11.bb) - rdm2_f_oovv_bbbb -= einsum("ijab->ijba", x113) - rdm2_f_ovvo_bbbb += einsum("ijab->iabj", x113) - rdm2_f_voov_bbbb += einsum("ijab->bjia", x113) - rdm2_f_vvoo_bbbb -= einsum("ijab->baij", x113) - del x113 - x114 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x114 += einsum("ijab->jiab", t2.bbbb) - x114 -= einsum("ijab->jiba", t2.bbbb) - x135 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x135 += einsum("abij,jkbc->ikac", l2.abab, x114) - x221 -= einsum("ijab->ijab", x135) - x222 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x222 += einsum("ijab,ikac->kjcb", x221, x30) - del x221 - del x30 - rdm2_f_vovo_bbaa += einsum("ijab->bjai", x222) - rdm2_f_vovo_aabb += einsum("ijab->aibj", x222) - del x222 - rdm2_f_ovvo_aabb -= einsum("ijab->iabj", x135) - rdm2_f_voov_bbaa -= einsum("ijab->bjia", x135) - del x135 - x188 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x188 += einsum("ijab,ikac->jkbc", x112, x114) - del x112 - x199 -= einsum("ijab->ijab", x188) - del x188 - x194 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x194 += einsum("wai,ijab->wjb", lu11.bb, x114) - x195 -= einsum("wia->wia", x194) - del x194 - x197 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x197 += einsum("ai,ijab->jb", l1.bb, x114) - x198 -= einsum("ia->ia", x197) - del x197 - x199 += einsum("ia,jb->ijab", t1.bb, x198) - del x198 - x115 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x115 += einsum("abij->jiab", l2.bbbb) - x115 -= einsum("abij->jiba", l2.bbbb) - x116 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x116 += einsum("ijab,ikbc->jkac", x114, x115) - rdm2_f_oovv_bbbb += einsum("ijab->jiab", x116) - rdm2_f_vvoo_bbbb += einsum("ijab->abji", x116) - del x116 - x139 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x139 += einsum("ijab,jkbc->ikac", t2.abab, x115) - x168 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x168 -= einsum("ijab,kjcb->ikac", t2.abab, x139) - x169 += einsum("ijab->jiba", x168) - del x168 - rdm2_f_ovvo_bbaa -= einsum("ijab->jbai", x139) - rdm2_f_voov_aabb -= einsum("ijab->aijb", x139) - del x139 - x140 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x140 += einsum("ijab,ikca->kjcb", x115, x58) - del x58 - del x115 - rdm2_f_ovvo_bbbb += einsum("ijab->jbai", x140) - rdm2_f_voov_bbbb += einsum("ijab->aijb", x140) - del x140 - x119 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x119 += einsum("ai,ib->ab", l1.bb, t1.bb) - x124 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x124 += einsum("ab->ab", x119) - x278 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x278 += einsum("ab->ab", x119) - del x119 - x120 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x120 += einsum("wai,wib->ab", lu11.bb, u11.bb) - x124 += einsum("ab->ab", x120) - x183 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x183 += einsum("ab,ijac->jicb", x120, t2.bbbb) - x199 -= einsum("ijab->ijab", x183) - del x183 - x228 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x228 += einsum("ab->ab", x120) - x278 += einsum("ab->ab", x120) - del x120 - x279 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x279 += einsum("ia,bc->ibac", t1.bb, x278) - del x278 - x121 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x121 += einsum("abij,ijac->bc", l2.abab, t2.abab) - x124 += einsum("ab->ab", x121) - x208 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x208 += einsum("ab,ijac->jibc", x121, t2.bbbb) - x211 += einsum("ijab->ijab", x208) * -1 - del x208 - x228 += einsum("ab->ab", x121) - x273 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x273 += einsum("ab->ab", x121) - del x121 - x122 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x122 += einsum("abij->jiab", l2.bbbb) * -1 - x122 += einsum("abij->jiba", l2.bbbb) - x123 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x123 += einsum("ijab,ijca->bc", t2.bbbb, x122) - x124 += einsum("ab->ba", x123) * -1 - rdm2_f_oovv_bbbb += einsum("ij,ab->jiba", delta_oo.bb, x124) - rdm2_f_oovv_aabb += einsum("ij,ab->jiba", delta_oo.aa, x124) - rdm2_f_ovvo_bbbb += einsum("ij,ab->jabi", delta_oo.bb, x124) * -1 - rdm2_f_voov_bbbb += einsum("ij,ab->bija", delta_oo.bb, x124) * -1 - rdm2_f_vvoo_bbbb += einsum("ij,ab->baji", delta_oo.bb, x124) - rdm2_f_vvoo_bbaa += einsum("ij,ab->baji", delta_oo.aa, x124) - rdm2_f_vovv_aabb += einsum("ia,bc->aicb", t1.aa, x124) - rdm2_f_vvvo_bbaa += einsum("ia,bc->cbai", t1.aa, x124) - del x124 - x209 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x209 += einsum("ab,ijbc->ijca", x123, t2.bbbb) * -1 - x211 += einsum("ijab->jiab", x209) - del x209 - rdm2_f_vovo_bbbb += einsum("ijab->aibj", x211) * -1 - rdm2_f_vovo_bbbb += einsum("ijab->biaj", x211) - rdm2_f_vovo_bbbb += einsum("ijab->ajbi", x211) - rdm2_f_vovo_bbbb += einsum("ijab->bjai", x211) * -1 - del x211 - x228 += einsum("ab->ba", x123) * -1 - x229 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x229 += einsum("ab,ijca->ijcb", x228, t2.abab) - del x228 - rdm2_f_vovo_bbaa += einsum("ijab->bjai", x229) * -1 - rdm2_f_vovo_aabb += einsum("ijab->aibj", x229) * -1 - del x229 - x273 += einsum("ab->ba", x123) * -1 - del x123 - x274 += einsum("ia,bc->ibac", t1.bb, x273) - del x273 - x293 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x293 += einsum("ijab,jkbc->ikac", t2.abab, x122) - x294 += einsum("ijab->ijab", x293) * -1 - del x293 - x295 = np.zeros((nocc[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) - x295 += einsum("ia,jibc->jbac", t1.bb, x294) - del x294 - rdm2_f_vovv_aabb += einsum("iabc->aibc", x295) * -1 - rdm2_f_vvvo_bbaa += einsum("iabc->bcai", x295) * -1 - del x295 - x125 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x125 += einsum("abij,ikcb->jkac", l2.abab, t2.abab) - x281 = np.zeros((nocc[1], nvir[0], nvir[0], nvir[1]), dtype=types[float]) - x281 += einsum("ia,ijbc->jbca", t1.bb, x125) - rdm2_f_vovv_bbaa += einsum("iabc->ciba", x281) * -1 - rdm2_f_vvvo_aabb += einsum("iabc->baci", x281) * -1 - del x281 - rdm2_f_oovv_bbaa -= einsum("ijab->ijba", x125) - rdm2_f_vvoo_aabb -= einsum("ijab->baij", x125) - del x125 - x127 = np.zeros((nocc[0], nocc[0], nvir[1], nvir[1]), dtype=types[float]) - x127 += einsum("abij,kjac->ikbc", l2.abab, t2.abab) - x220 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x220 += einsum("ijab,ikbc->kjac", t2.abab, x127) - rdm2_f_vovo_bbaa += einsum("ijab->bjai", x220) - rdm2_f_vovo_aabb += einsum("ijab->aibj", x220) - del x220 - x291 = np.zeros((nocc[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) - x291 += einsum("ia,ijbc->jabc", t1.aa, x127) - rdm2_f_vovv_aabb += einsum("iabc->aicb", x291) * -1 - rdm2_f_vvvo_bbaa += einsum("iabc->cbai", x291) * -1 - del x291 - rdm2_f_oovv_aabb -= einsum("ijab->ijba", x127) - rdm2_f_vvoo_bbaa -= einsum("ijab->baij", x127) - del x127 - x133 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x133 += einsum("wai,wjb->ijab", lu11.aa, u11.bb) - rdm2_f_ovvo_aabb += einsum("ijab->iabj", x133) - rdm2_f_voov_bbaa += einsum("ijab->bjia", x133) - del x133 - x137 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x137 += einsum("wai,wjb->jiba", lu11.bb, u11.aa) - rdm2_f_ovvo_bbaa += einsum("ijab->jbai", x137) - rdm2_f_voov_aabb += einsum("ijab->aijb", x137) - del x137 - x150 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x150 += einsum("ijab->jiab", t2.aaaa) - x150 -= einsum("ijab->jiba", t2.aaaa) - x151 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x151 += einsum("ijka,jlba->iklb", x104, x150) - del x104 - del x150 - x152 += einsum("ijka->ijka", x151) - del x151 - x153 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x153 += einsum("ia,ijkb->jkab", t1.aa, x152) - del x152 - x161 += einsum("ijab->ijab", x153) - del x153 - x155 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x155 += einsum("wai,jiba->wjb", lu11.bb, t2.abab) - x157 += einsum("wia->wia", x155) - del x155 - x158 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x158 += einsum("wia,wjb->ijab", u11.aa, x157) - x161 += einsum("ijab->jiba", x158) - del x158 - rdm2_f_vovo_aaaa += einsum("ijab->aibj", x161) - rdm2_f_vovo_aaaa -= einsum("ijab->biaj", x161) - rdm2_f_vovo_aaaa -= einsum("ijab->ajbi", x161) - rdm2_f_vovo_aaaa += einsum("ijab->bjai", x161) - del x161 - x243 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x243 += einsum("wia,wjb->jiba", u11.bb, x157) - del x157 - rdm2_f_vovo_bbaa += einsum("ijab->bjai", x243) - rdm2_f_vovo_aabb += einsum("ijab->aibj", x243) - del x243 - x169 += einsum("ijab->jiba", t2.aaaa) - rdm2_f_vovo_aaaa -= einsum("ijab->biaj", x169) - rdm2_f_vovo_aaaa += einsum("ijab->aibj", x169) - del x169 - x180 -= einsum("ia->ia", t1.aa) - rdm2_f_vovo_aaaa -= einsum("ia,jb->aibj", t1.aa, x180) - rdm2_f_vovo_aaaa += einsum("ia,jb->biaj", t1.aa, x180) - del x180 - x185 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x185 -= einsum("abij->jiab", l2.bbbb) - x185 += einsum("abij->jiba", l2.bbbb) - x186 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x186 += einsum("ijab,ikcb->jkac", t2.bbbb, x185) - x187 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x187 -= einsum("ijab,kica->jkbc", t2.bbbb, x186) - x199 -= einsum("ijab->ijab", x187) - del x187 - x205 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x205 -= einsum("ijab,kicb->jkac", t2.bbbb, x186) - del x186 - x206 += einsum("ijab->jiba", x205) - del x205 - x203 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x203 += einsum("ijab,ikca->jkbc", t2.bbbb, x185) - x204 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x204 -= einsum("ijab,kica->jkbc", t2.bbbb, x203) - del x203 - x206 += einsum("ijab->ijab", x204) - del x204 - x223 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x223 += einsum("ijab,ikca->jkbc", x114, x185) - del x185 - del x114 - x224 += einsum("ijab->jiba", x223) - del x223 - x225 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x225 += einsum("ijab,jkbc->ikac", t2.abab, x224) - del x224 - rdm2_f_vovo_bbaa += einsum("ijab->bjai", x225) - rdm2_f_vovo_aabb += einsum("ijab->aibj", x225) - del x225 - x192 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x192 += einsum("wai,ijab->wjb", lu11.aa, t2.abab) - x195 += einsum("wia->wia", x192) - del x192 - x196 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x196 += einsum("wia,wjb->ijab", u11.bb, x195) - x199 += einsum("ijab->jiba", x196) - del x196 - rdm2_f_vovo_bbbb += einsum("ijab->aibj", x199) - rdm2_f_vovo_bbbb -= einsum("ijab->biaj", x199) - rdm2_f_vovo_bbbb -= einsum("ijab->ajbi", x199) - rdm2_f_vovo_bbbb += einsum("ijab->bjai", x199) - del x199 - x242 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x242 += einsum("wia,wjb->ijab", u11.aa, x195) - del x195 - rdm2_f_vovo_bbaa += einsum("ijab->bjai", x242) - rdm2_f_vovo_aabb += einsum("ijab->aibj", x242) - del x242 - x206 += einsum("ijab->jiba", t2.bbbb) - rdm2_f_vovo_bbbb -= einsum("ijab->biaj", x206) - rdm2_f_vovo_bbbb += einsum("ijab->aibj", x206) - del x206 - x218 -= einsum("ia->ia", t1.bb) - rdm2_f_vovo_bbbb += einsum("ia,jb->ajbi", t1.bb, x218) - rdm2_f_vovo_bbbb -= einsum("ia,jb->bjai", t1.bb, x218) - del x218 - x246 += einsum("ia->ia", t1.bb) * -1 - rdm2_f_vovo_bbaa += einsum("ia,jb->bjai", t1.aa, x246) * -1 - del x246 - x250 += einsum("ia->ia", t1.bb) * -0.9999999999999993 - rdm2_f_vovo_aabb += einsum("ia,jb->aibj", t1.aa, x250) * -1 - del x250 - x252 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x252 += einsum("ia,bcji->jbca", t1.aa, l2.aaaa) - x297 = np.zeros((nvir[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x297 += einsum("ia,ibcd->cbda", t1.aa, x252) - x298 = np.zeros((nvir[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x298 += einsum("abcd->badc", x297) - del x297 - rdm2_f_ovvv_aaaa = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - rdm2_f_ovvv_aaaa += einsum("iabc->iacb", x252) - rdm2_f_ovvv_aaaa -= einsum("iabc->ibca", x252) - rdm2_f_vvov_aaaa = np.zeros((nvir[0], nvir[0], nocc[0], nvir[0]), dtype=types[float]) - rdm2_f_vvov_aaaa -= einsum("iabc->caib", x252) - rdm2_f_vvov_aaaa += einsum("iabc->cbia", x252) - del x252 - x253 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x253 += einsum("ia,bcji->jbca", t1.bb, l2.bbbb) - x302 = np.zeros((nvir[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x302 += einsum("ia,ibcd->cbda", t1.bb, x253) - x303 = np.zeros((nvir[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x303 += einsum("abcd->badc", x302) - del x302 - rdm2_f_ovvv_bbbb = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - rdm2_f_ovvv_bbbb += einsum("iabc->iacb", x253) - rdm2_f_ovvv_bbbb -= einsum("iabc->ibca", x253) - rdm2_f_vvov_bbbb = np.zeros((nvir[1], nvir[1], nocc[1], nvir[1]), dtype=types[float]) - rdm2_f_vvov_bbbb -= einsum("iabc->caib", x253) - rdm2_f_vvov_bbbb += einsum("iabc->cbia", x253) - del x253 - x254 = np.zeros((nocc[1], nvir[0], nvir[0], nvir[1]), dtype=types[float]) - x254 += einsum("ia,bcij->jbac", t1.aa, l2.abab) - rdm2_f_ovvv_bbaa = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - rdm2_f_ovvv_bbaa += einsum("iabc->icba", x254) - rdm2_f_vvov_aabb = np.zeros((nvir[0], nvir[0], nocc[1], nvir[1]), dtype=types[float]) - rdm2_f_vvov_aabb += einsum("iabc->baic", x254) - del x254 - x255 = np.zeros((nocc[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) - x255 += einsum("ia,bcji->jbca", t1.bb, l2.abab) - x300 = np.zeros((nvir[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) - x300 += einsum("ia,ibcd->bacd", t1.aa, x255) - rdm2_f_vvvv_bbaa = np.zeros((nvir[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - rdm2_f_vvvv_bbaa += einsum("abcd->dcba", x300) - rdm2_f_vvvv_aabb = np.zeros((nvir[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) - rdm2_f_vvvv_aabb += einsum("abcd->badc", x300) - del x300 - rdm2_f_ovvv_aabb = np.zeros((nocc[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) - rdm2_f_ovvv_aabb += einsum("iabc->iacb", x255) - rdm2_f_vvov_bbaa = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - rdm2_f_vvov_bbaa += einsum("iabc->cbia", x255) - del x255 - x256 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x256 += einsum("ai,jibc->jabc", l1.aa, t2.aaaa) - x260 += einsum("iabc->iabc", x256) - del x256 - x257 = np.zeros((nbos, nvir[0], nvir[0]), dtype=types[float]) - x257 += einsum("ia,wbi->wba", t1.aa, lu11.aa) - x258 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x258 += einsum("wia,wbc->ibca", u11.aa, x257) - x260 -= einsum("iabc->iabc", x258) - del x258 - rdm2_f_vovv_aaaa += einsum("iabc->bica", x260) - rdm2_f_vovv_aaaa -= einsum("iabc->ciba", x260) - rdm2_f_vvvo_aaaa -= einsum("iabc->baci", x260) - rdm2_f_vvvo_aaaa += einsum("iabc->cabi", x260) - del x260 - x282 = np.zeros((nocc[1], nvir[0], nvir[0], nvir[1]), dtype=types[float]) - x282 += einsum("wia,wbc->ibca", u11.bb, x257) - del x257 - rdm2_f_vovv_bbaa += einsum("iabc->ciba", x282) - rdm2_f_vvvo_aabb += einsum("iabc->baci", x282) - del x282 - x269 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x269 += einsum("ijab->jiab", t2.bbbb) - x269 += einsum("ijab->jiba", t2.bbbb) * -1 - x270 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x270 += einsum("ijab,ikbc->jkac", x122, x269) - del x122 - del x269 - x271 += einsum("ijab->ijab", x270) - del x270 - x272 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x272 += einsum("ia,ijbc->jabc", t1.bb, x271) - del x271 - x274 += einsum("iabc->ibac", x272) * -1 - del x272 - rdm2_f_vovv_bbbb = np.zeros((nvir[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - rdm2_f_vovv_bbbb += einsum("iabc->bica", x274) - rdm2_f_vovv_bbbb += einsum("iabc->ciba", x274) * -1 - rdm2_f_vvvo_bbbb = np.zeros((nvir[1], nvir[1], nvir[1], nocc[1]), dtype=types[float]) - rdm2_f_vvvo_bbbb += einsum("iabc->baci", x274) * -1 - rdm2_f_vvvo_bbbb += einsum("iabc->cabi", x274) - del x274 - x275 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x275 += einsum("ai,jibc->jabc", l1.bb, t2.bbbb) - x279 += einsum("iabc->iabc", x275) - del x275 - x276 = np.zeros((nbos, nvir[1], nvir[1]), dtype=types[float]) - x276 += einsum("ia,wbi->wba", t1.bb, lu11.bb) - x277 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x277 += einsum("wia,wbc->ibca", u11.bb, x276) - x279 -= einsum("iabc->iabc", x277) - del x277 - rdm2_f_vovv_bbbb += einsum("iabc->bica", x279) - rdm2_f_vovv_bbbb -= einsum("iabc->ciba", x279) - rdm2_f_vvvo_bbbb -= einsum("iabc->baci", x279) - rdm2_f_vvvo_bbbb += einsum("iabc->cabi", x279) - del x279 - x289 = np.zeros((nocc[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) - x289 += einsum("wia,wbc->iabc", u11.aa, x276) - del x276 - rdm2_f_vovv_aabb += einsum("iabc->aicb", x289) - rdm2_f_vvvo_bbaa += einsum("iabc->cbai", x289) - del x289 - x283 = np.zeros((nocc[1], nvir[0], nvir[0], nvir[1]), dtype=types[float]) - x283 += einsum("ai,ijbc->jabc", l1.aa, t2.abab) - rdm2_f_vovv_bbaa += einsum("iabc->ciba", x283) - rdm2_f_vvvo_aabb += einsum("iabc->baci", x283) - del x283 - x288 = np.zeros((nocc[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) - x288 += einsum("ai,jibc->jbac", l1.bb, t2.abab) - rdm2_f_vovv_aabb += einsum("iabc->aicb", x288) - rdm2_f_vvvo_bbaa += einsum("iabc->cbai", x288) - del x288 - x296 = np.zeros((nvir[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x296 += einsum("abij,ijcd->abcd", l2.aaaa, t2.aaaa) - x298 += einsum("abcd->badc", x296) - del x296 - rdm2_f_vvvv_aaaa = np.zeros((nvir[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - rdm2_f_vvvv_aaaa += einsum("abcd->dacb", x298) * -1 - rdm2_f_vvvv_aaaa += einsum("abcd->cadb", x298) - del x298 - x299 = np.zeros((nvir[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) - x299 += einsum("abij,ijcd->acbd", l2.abab, t2.abab) - rdm2_f_vvvv_bbaa += einsum("abcd->dcba", x299) - rdm2_f_vvvv_aabb += einsum("abcd->badc", x299) - del x299 - x301 = np.zeros((nvir[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x301 += einsum("abij,ijcd->abcd", l2.bbbb, t2.bbbb) - x303 += einsum("abcd->badc", x301) - del x301 - rdm2_f_vvvv_bbbb = np.zeros((nvir[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - rdm2_f_vvvv_bbbb += einsum("abcd->dacb", x303) * -1 - rdm2_f_vvvv_bbbb += einsum("abcd->cadb", x303) - del x303 - rdm2_f_oooo_aaaa += einsum("ij,kl->jilk", delta_oo.aa, delta_oo.aa) - rdm2_f_oooo_aaaa -= einsum("ij,kl->ljik", delta_oo.aa, delta_oo.aa) - rdm2_f_oooo_bbbb += einsum("ij,kl->jilk", delta_oo.bb, delta_oo.bb) - rdm2_f_oooo_bbbb -= einsum("ij,kl->ljik", delta_oo.bb, delta_oo.bb) - rdm2_f_ooov_aaaa += einsum("ij,ak->jika", delta_oo.aa, l1.aa) - rdm2_f_ooov_aaaa -= einsum("ij,ak->kija", delta_oo.aa, l1.aa) - rdm2_f_ooov_bbbb += einsum("ij,ak->jika", delta_oo.bb, l1.bb) - rdm2_f_ooov_bbbb -= einsum("ij,ak->kija", delta_oo.bb, l1.bb) - rdm2_f_ooov_aabb += einsum("ij,ak->jika", delta_oo.aa, l1.bb) - rdm2_f_ooov_bbaa += einsum("ij,ak->jika", delta_oo.bb, l1.aa) - rdm2_f_ovoo_aaaa -= einsum("ij,ak->jaki", delta_oo.aa, l1.aa) - rdm2_f_ovoo_aaaa += einsum("ij,ak->kaji", delta_oo.aa, l1.aa) - rdm2_f_ovoo_bbaa += einsum("ij,ak->kaji", delta_oo.aa, l1.bb) - rdm2_f_ovoo_aabb += einsum("ij,ak->kaji", delta_oo.bb, l1.aa) - rdm2_f_ovoo_bbbb -= einsum("ij,ak->jaki", delta_oo.bb, l1.bb) - rdm2_f_ovoo_bbbb += einsum("ij,ak->kaji", delta_oo.bb, l1.bb) - rdm2_f_oovo_bbbb -= einsum("ij,ka->jkai", delta_oo.bb, t1.bb) - rdm2_f_vooo_bbbb += einsum("ij,ka->akji", delta_oo.bb, t1.bb) - rdm2_f_ovov_aaaa = np.zeros((nocc[0], nvir[0], nocc[0], nvir[0]), dtype=types[float]) - rdm2_f_ovov_aaaa -= einsum("abij->jaib", l2.aaaa) - rdm2_f_ovov_aaaa += einsum("abij->jbia", l2.aaaa) - rdm2_f_ovov_bbbb = np.zeros((nocc[1], nvir[1], nocc[1], nvir[1]), dtype=types[float]) - rdm2_f_ovov_bbbb -= einsum("abij->jaib", l2.bbbb) - rdm2_f_ovov_bbbb += einsum("abij->jbia", l2.bbbb) - rdm2_f_ovov_bbaa = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - rdm2_f_ovov_bbaa += einsum("abij->jbia", l2.abab) - rdm2_f_ovov_aabb = np.zeros((nocc[0], nvir[0], nocc[1], nvir[1]), dtype=types[float]) - rdm2_f_ovov_aabb += einsum("abij->iajb", l2.abab) - rdm2_f_oovv_aaaa -= einsum("ai,jb->ijba", l1.aa, t1.aa) - rdm2_f_oovv_bbbb -= einsum("ai,jb->ijba", l1.bb, t1.bb) - rdm2_f_ovvo_aaaa += einsum("ai,jb->iabj", l1.aa, t1.aa) - rdm2_f_ovvo_aabb += einsum("ai,jb->iabj", l1.aa, t1.bb) - rdm2_f_ovvo_bbaa += einsum("ai,jb->iabj", l1.bb, t1.aa) - rdm2_f_ovvo_bbbb += einsum("ai,jb->iabj", l1.bb, t1.bb) - rdm2_f_voov_aaaa += einsum("ai,jb->bjia", l1.aa, t1.aa) - rdm2_f_voov_bbaa += einsum("ai,jb->bjia", l1.aa, t1.bb) - rdm2_f_voov_aabb += einsum("ai,jb->bjia", l1.bb, t1.aa) - rdm2_f_voov_bbbb += einsum("ai,jb->bjia", l1.bb, t1.bb) - rdm2_f_vvoo_aaaa -= einsum("ai,jb->baij", l1.aa, t1.aa) - rdm2_f_vvoo_bbbb -= einsum("ai,jb->baij", l1.bb, t1.bb) - rdm2_f_vovo_bbaa += einsum("ijab->bjai", t2.abab) - rdm2_f_vovo_aabb += einsum("ijab->aibj", t2.abab) - - rdm2_f_aaaa = pack_2e(rdm2_f_oooo_aaaa, rdm2_f_ooov_aaaa, rdm2_f_oovo_aaaa, rdm2_f_ovoo_aaaa, rdm2_f_vooo_aaaa, rdm2_f_oovv_aaaa, rdm2_f_ovov_aaaa, rdm2_f_ovvo_aaaa, rdm2_f_voov_aaaa, rdm2_f_vovo_aaaa, rdm2_f_vvoo_aaaa, rdm2_f_ovvv_aaaa, rdm2_f_vovv_aaaa, rdm2_f_vvov_aaaa, rdm2_f_vvvo_aaaa, rdm2_f_vvvv_aaaa) - rdm2_f_aabb = pack_2e(rdm2_f_oooo_aabb, rdm2_f_ooov_aabb, rdm2_f_oovo_aabb, rdm2_f_ovoo_aabb, rdm2_f_vooo_aabb, rdm2_f_oovv_aabb, rdm2_f_ovov_aabb, rdm2_f_ovvo_aabb, rdm2_f_voov_aabb, rdm2_f_vovo_aabb, rdm2_f_vvoo_aabb, rdm2_f_ovvv_aabb, rdm2_f_vovv_aabb, rdm2_f_vvov_aabb, rdm2_f_vvvo_aabb, rdm2_f_vvvv_aabb) - rdm2_f_bbaa = pack_2e(rdm2_f_oooo_bbaa, rdm2_f_ooov_bbaa, rdm2_f_oovo_bbaa, rdm2_f_ovoo_bbaa, rdm2_f_vooo_bbaa, rdm2_f_oovv_bbaa, rdm2_f_ovov_bbaa, rdm2_f_ovvo_bbaa, rdm2_f_voov_bbaa, rdm2_f_vovo_bbaa, rdm2_f_vvoo_bbaa, rdm2_f_ovvv_bbaa, rdm2_f_vovv_bbaa, rdm2_f_vvov_bbaa, rdm2_f_vvvo_bbaa, rdm2_f_vvvv_bbaa) - rdm2_f_bbbb = pack_2e(rdm2_f_oooo_bbbb, rdm2_f_ooov_bbbb, rdm2_f_oovo_bbbb, rdm2_f_ovoo_bbbb, rdm2_f_vooo_bbbb, rdm2_f_oovv_bbbb, rdm2_f_ovov_bbbb, rdm2_f_ovvo_bbbb, rdm2_f_voov_bbbb, rdm2_f_vovo_bbbb, rdm2_f_vvoo_bbbb, rdm2_f_ovvv_bbbb, rdm2_f_vovv_bbbb, rdm2_f_vvov_bbbb, rdm2_f_vvvo_bbbb, rdm2_f_vvvv_bbbb) - - rdm2_f.aaaa = rdm2_f_aaaa - rdm2_f.aabb = rdm2_f_aabb - rdm2_f.bbaa = rdm2_f_bbaa - rdm2_f.bbbb = rdm2_f_bbbb - - return rdm2_f - -def make_sing_b_dm(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, u11=None, l1=None, l2=None, ls1=None, lu11=None, **kwargs): - # Get boson coupling creation array: - gc = Namespace( - aa = Namespace( - boo=g.aa.boo.transpose(0, 2, 1), - bov=g.aa.bvo.transpose(0, 2, 1), - bvo=g.aa.bov.transpose(0, 2, 1), - bvv=g.aa.bvv.transpose(0, 2, 1), - ), - bb = Namespace( - boo=g.bb.boo.transpose(0, 2, 1), - bov=g.bb.bvo.transpose(0, 2, 1), - bvo=g.bb.bov.transpose(0, 2, 1), - bvv=g.bb.bvv.transpose(0, 2, 1), - ), - ) - - # Single boson DM - dm_b_cre = np.zeros((nbos), dtype=types[float]) - dm_b_cre += einsum("w->w", ls1) - dm_b_des = np.zeros((nbos), dtype=types[float]) - dm_b_des += einsum("w->w", s1) - dm_b_des += einsum("ai,wia->w", l1.aa, u11.aa) - dm_b_des += einsum("ai,wia->w", l1.bb, u11.bb) - - dm_b = np.array([dm_b_cre, dm_b_des]) - - return dm_b - -def make_rdm1_b(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, u11=None, l1=None, l2=None, ls1=None, lu11=None, **kwargs): - # Get boson coupling creation array: - gc = Namespace( - aa = Namespace( - boo=g.aa.boo.transpose(0, 2, 1), - bov=g.aa.bvo.transpose(0, 2, 1), - bvo=g.aa.bov.transpose(0, 2, 1), - bvv=g.aa.bvv.transpose(0, 2, 1), - ), - bb = Namespace( - boo=g.bb.boo.transpose(0, 2, 1), - bov=g.bb.bvo.transpose(0, 2, 1), - bvo=g.bb.bov.transpose(0, 2, 1), - bvv=g.bb.bvv.transpose(0, 2, 1), - ), - ) - - # Boson 1RDM - rdm1_b = np.zeros((nbos, nbos), dtype=types[float]) - rdm1_b += einsum("w,x->wx", ls1, s1) - rdm1_b += einsum("wai,xia->wx", lu11.aa, u11.aa) - rdm1_b += einsum("wai,xia->wx", lu11.bb, u11.bb) - - return rdm1_b - -def make_eb_coup_rdm(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, u11=None, l1=None, l2=None, ls1=None, lu11=None, **kwargs): - rdm_eb = Namespace() - - # Get boson coupling creation array: - gc = Namespace( - aa = Namespace( - boo=g.aa.boo.transpose(0, 2, 1), - bov=g.aa.bvo.transpose(0, 2, 1), - bvo=g.aa.bov.transpose(0, 2, 1), - bvv=g.aa.bvv.transpose(0, 2, 1), - ), - bb = Namespace( - boo=g.bb.boo.transpose(0, 2, 1), - bov=g.bb.bvo.transpose(0, 2, 1), - bvo=g.bb.bov.transpose(0, 2, 1), - bvv=g.bb.bvv.transpose(0, 2, 1), - ), - ) - - delta_oo = Namespace() - delta_oo.aa = np.eye(nocc[0]) - delta_oo.bb = np.eye(nocc[1]) - delta_vv = Namespace() - delta_vv.aa = np.eye(nvir[0]) - delta_vv.bb = np.eye(nvir[1]) - - # Boson-fermion coupling RDM - x0 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) - x0 += einsum("ia,waj->wji", t1.aa, lu11.aa) - x48 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x48 += einsum("wia,wij->ja", u11.aa, x0) - rdm_eb_cre_oo_aa = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) - rdm_eb_cre_oo_aa -= einsum("wij->wji", x0) - rdm_eb_cre_ov_aa = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - rdm_eb_cre_ov_aa -= einsum("ia,wij->wja", t1.aa, x0) - del x0 - x1 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) - x1 += einsum("ia,waj->wji", t1.bb, lu11.bb) - x60 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x60 += einsum("wia,wij->ja", u11.bb, x1) - rdm_eb_cre_oo_bb = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) - rdm_eb_cre_oo_bb -= einsum("wij->wji", x1) - rdm_eb_cre_ov_bb = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - rdm_eb_cre_ov_bb -= einsum("ia,wij->wja", t1.bb, x1) - del x1 - x2 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x2 += einsum("ijab->jiab", t2.aaaa) - x2 -= einsum("ijab->jiba", t2.aaaa) - rdm_eb_cre_ov_aa -= einsum("wai,ijab->wjb", lu11.aa, x2) - x3 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x3 += einsum("ijab->jiab", t2.bbbb) - x3 -= einsum("ijab->jiba", t2.bbbb) - rdm_eb_cre_ov_bb -= einsum("wai,ijab->wjb", lu11.bb, x3) - x4 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) - x4 += einsum("ai,wja->wij", l1.aa, u11.aa) - x40 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) - x40 += einsum("wij->wij", x4) - rdm_eb_des_oo_aa = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) - rdm_eb_des_oo_aa -= einsum("wij->wji", x4) - del x4 - x5 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x5 += einsum("wia,baji->wjb", u11.bb, l2.abab) - x8 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x8 += einsum("wia->wia", x5) - x31 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x31 += einsum("wia->wia", x5) - rdm_eb_des_vo_aa = np.zeros((nbos, nvir[0], nocc[0]), dtype=types[float]) - rdm_eb_des_vo_aa += einsum("wia->wai", x5) - del x5 - x6 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x6 += einsum("abij->jiab", l2.aaaa) - x6 += einsum("abij->jiba", l2.aaaa) * -1 - x7 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x7 += einsum("wia,ijab->wjb", u11.aa, x6) - x8 += einsum("wia->wia", x7) * -1 - del x7 - rdm_eb_des_oo_aa += einsum("ia,wja->wij", t1.aa, x8) * -1 - rdm_eb_des_vv_aa = np.zeros((nbos, nvir[0], nvir[0]), dtype=types[float]) - rdm_eb_des_vv_aa += einsum("ia,wib->wba", t1.aa, x8) - del x8 - x37 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x37 += einsum("ijab,ijac->bc", t2.aaaa, x6) - del x6 - x38 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x38 += einsum("ab->ba", x37) * -1 - x61 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x61 += einsum("ab->ba", x37) * -1 - del x37 - x9 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x9 += einsum("ai,ja->ij", l1.aa, t1.aa) - x14 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x14 += einsum("ij->ij", x9) - x39 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x39 += einsum("ij->ij", x9) - x47 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x47 += einsum("ij->ij", x9) - del x9 - x10 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x10 += einsum("wai,wja->ij", lu11.aa, u11.aa) - x14 += einsum("ij->ij", x10) - x39 += einsum("ij->ij", x10) - x47 += einsum("ij->ij", x10) - del x10 - x11 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x11 += einsum("abij,kjab->ik", l2.abab, t2.abab) - x14 += einsum("ij->ij", x11) - x39 += einsum("ij->ij", x11) - x47 += einsum("ij->ij", x11) - del x11 - x12 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x12 += einsum("ijab->jiab", t2.aaaa) * -1 - x12 += einsum("ijab->jiba", t2.aaaa) - x13 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x13 += einsum("abij,ikba->jk", l2.aaaa, x12) - x14 += einsum("ij->ij", x13) * -1 - x39 += einsum("ij->ij", x13) * -1 - del x13 - rdm_eb_des_ov_aa = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - rdm_eb_des_ov_aa += einsum("ij,wia->wja", x39, u11.aa) * -1 - del x39 - x47 += einsum("abij,ikba->jk", l2.aaaa, x12) * -1 - x48 += einsum("ia,ij->ja", t1.aa, x47) - del x47 - x48 += einsum("ai,ijab->jb", l1.aa, x12) * -1 - del x12 - x14 += einsum("ij->ji", delta_oo.aa) * -1 - rdm_eb_des_oo_aa += einsum("w,ij->wji", s1, x14) * -1 - del x14 - x15 = np.zeros((nbos), dtype=types[float]) - x15 += einsum("ai,wia->w", l1.aa, u11.aa) - x17 = np.zeros((nbos), dtype=types[float]) - x17 += einsum("w->w", x15) - del x15 - x16 = np.zeros((nbos), dtype=types[float]) - x16 += einsum("ai,wia->w", l1.bb, u11.bb) - x17 += einsum("w->w", x16) - del x16 - rdm_eb_des_oo_aa += einsum("w,ij->wji", x17, delta_oo.aa) - rdm_eb_des_oo_bb = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) - rdm_eb_des_oo_bb += einsum("w,ij->wji", x17, delta_oo.bb) - rdm_eb_des_ov_aa += einsum("w,ia->wia", x17, t1.aa) - rdm_eb_des_ov_bb = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - rdm_eb_des_ov_bb += einsum("w,ia->wia", x17, t1.bb) - del x17 - x18 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) - x18 += einsum("ai,wja->wij", l1.bb, u11.bb) - x54 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) - x54 += einsum("wij->wij", x18) - rdm_eb_des_oo_bb -= einsum("wij->wji", x18) - del x18 - x19 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x19 += einsum("wia,abij->wjb", u11.aa, l2.abab) - x22 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x22 += einsum("wia->wia", x19) - x34 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x34 += einsum("wia->wia", x19) - rdm_eb_des_vo_bb = np.zeros((nbos, nvir[1], nocc[1]), dtype=types[float]) - rdm_eb_des_vo_bb += einsum("wia->wai", x19) - del x19 - x20 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x20 += einsum("abij->jiab", l2.bbbb) - x20 += einsum("abij->jiba", l2.bbbb) * -1 - x21 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x21 += einsum("wia,ijab->wjb", u11.bb, x20) - x22 += einsum("wia->wia", x21) * -1 - del x21 - rdm_eb_des_oo_bb += einsum("ia,wja->wij", t1.bb, x22) * -1 - rdm_eb_des_vv_bb = np.zeros((nbos, nvir[1], nvir[1]), dtype=types[float]) - rdm_eb_des_vv_bb += einsum("ia,wib->wba", t1.bb, x22) - del x22 - x51 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x51 += einsum("ijab,ijcb->ac", t2.bbbb, x20) - del x20 - x52 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x52 += einsum("ab->ba", x51) * -1 - x62 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x62 += einsum("ab->ba", x51) * -1 - del x51 - x23 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x23 += einsum("ai,ja->ij", l1.bb, t1.bb) - x28 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x28 += einsum("ij->ij", x23) - x53 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x53 += einsum("ij->ij", x23) - x59 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x59 += einsum("ij->ij", x23) - del x23 - x24 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x24 += einsum("wai,wja->ij", lu11.bb, u11.bb) - x28 += einsum("ij->ij", x24) - x53 += einsum("ij->ij", x24) - x59 += einsum("ij->ij", x24) - del x24 - x25 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x25 += einsum("abij,ikab->jk", l2.abab, t2.abab) - x28 += einsum("ij->ij", x25) - x53 += einsum("ij->ij", x25) - x59 += einsum("ij->ij", x25) - del x25 - x26 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x26 += einsum("ijab->jiab", t2.bbbb) - x26 += einsum("ijab->jiba", t2.bbbb) * -1 - x27 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x27 += einsum("abij,ikab->jk", l2.bbbb, x26) - x28 += einsum("ij->ij", x27) * -1 - x53 += einsum("ij->ij", x27) * -1 - del x27 - rdm_eb_des_ov_bb += einsum("ij,wia->wja", x53, u11.bb) * -1 - del x53 - x59 += einsum("abij,ikab->jk", l2.bbbb, x26) * -1 - del x26 - x60 += einsum("ia,ij->ja", t1.bb, x59) - del x59 - x28 += einsum("ij->ji", delta_oo.bb) * -1 - rdm_eb_des_oo_bb += einsum("w,ij->wji", s1, x28) * -1 - del x28 - x29 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x29 += einsum("abij->jiab", l2.aaaa) - x29 -= einsum("abij->jiba", l2.aaaa) - x30 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) - x30 += einsum("wia,ijab->wjb", u11.aa, x29) - del x29 - x31 -= einsum("wia->wia", x30) - x40 += einsum("ia,wja->wji", t1.aa, x31) - rdm_eb_des_ov_aa -= einsum("ia,wij->wja", t1.aa, x40) - del x40 - rdm_eb_des_ov_aa -= einsum("wia,ijab->wjb", x31, x2) - del x2 - rdm_eb_des_ov_bb += einsum("wia,ijab->wjb", x31, t2.abab) - del x31 - rdm_eb_des_vo_aa -= einsum("wia->wai", x30) - del x30 - x32 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x32 += einsum("abij->jiab", l2.bbbb) - x32 -= einsum("abij->jiba", l2.bbbb) - x33 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) - x33 += einsum("wia,ijab->wjb", u11.bb, x32) - del x32 - x34 -= einsum("wia->wia", x33) - x54 += einsum("ia,wja->wji", t1.bb, x34) - rdm_eb_des_ov_bb -= einsum("ia,wij->wja", t1.bb, x54) - del x54 - rdm_eb_des_ov_aa += einsum("wia,jiba->wjb", x34, t2.abab) - rdm_eb_des_ov_bb -= einsum("wia,ijab->wjb", x34, x3) - del x34 - del x3 - rdm_eb_des_vo_bb -= einsum("wia->wai", x33) - del x33 - x35 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x35 += einsum("wai,wib->ab", lu11.aa, u11.aa) - x38 += einsum("ab->ab", x35) - x61 += einsum("ab->ab", x35) - del x35 - x36 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x36 += einsum("abij,ijcb->ac", l2.abab, t2.abab) - x38 += einsum("ab->ab", x36) - rdm_eb_des_ov_aa += einsum("ab,wia->wib", x38, u11.aa) * -1 - del x38 - x61 += einsum("ab->ab", x36) - del x36 - x41 = np.zeros((nbos, nbos), dtype=types[float]) - x41 += einsum("wai,xia->wx", lu11.aa, u11.aa) - x43 = np.zeros((nbos, nbos), dtype=types[float]) - x43 += einsum("wx->wx", x41) - del x41 - x42 = np.zeros((nbos, nbos), dtype=types[float]) - x42 += einsum("wai,xia->wx", lu11.bb, u11.bb) - x43 += einsum("wx->wx", x42) - del x42 - rdm_eb_des_ov_aa += einsum("wx,wia->xia", x43, u11.aa) - rdm_eb_des_ov_bb += einsum("wx,wia->xia", x43, u11.bb) - del x43 - x44 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x44 += einsum("ia,abjk->jikb", t1.aa, l2.abab) - x48 += einsum("ijab,ikjb->ka", t2.abab, x44) - del x44 - x45 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x45 += einsum("ia,bajk->jkib", t1.aa, l2.aaaa) - x46 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x46 += einsum("ijka->ijka", x45) - x46 += einsum("ijka->jika", x45) * -1 - del x45 - x48 += einsum("ijab,jika->kb", t2.aaaa, x46) * -1 - del x46 - x48 += einsum("ia->ia", t1.aa) * -1 - x48 += einsum("w,wia->ia", ls1, u11.aa) * -1 - x48 += einsum("ai,jiba->jb", l1.bb, t2.abab) * -1 - rdm_eb_des_ov_aa += einsum("w,ia->wia", s1, x48) * -1 - del x48 - x49 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x49 += einsum("wai,wib->ab", lu11.bb, u11.bb) - x52 += einsum("ab->ab", x49) - x62 += einsum("ab->ab", x49) - del x49 - x50 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x50 += einsum("abij,ijac->bc", l2.abab, t2.abab) - x52 += einsum("ab->ab", x50) - rdm_eb_des_ov_bb += einsum("ab,wia->wib", x52, u11.bb) * -1 - del x52 - x62 += einsum("ab->ab", x50) - del x50 - x55 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x55 += einsum("ia,bajk->jkib", t1.bb, l2.abab) - x60 += einsum("ijab,ijka->kb", t2.abab, x55) - del x55 - x56 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x56 += einsum("ia,bajk->jkib", t1.bb, l2.bbbb) - x57 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x57 += einsum("ijka->ijka", x56) - x57 += einsum("ijka->jika", x56) * -1 - del x56 - x60 += einsum("ijab,ijkb->ka", t2.bbbb, x57) * -1 - del x57 - x58 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x58 += einsum("ijab->jiab", t2.bbbb) * -1 - x58 += einsum("ijab->jiba", t2.bbbb) - x60 += einsum("ai,ijab->jb", l1.bb, x58) * -1 - del x58 - x60 += einsum("ia->ia", t1.bb) * -1 - x60 += einsum("w,wia->ia", ls1, u11.bb) * -1 - x60 += einsum("ai,ijab->jb", l1.aa, t2.abab) * -1 - rdm_eb_des_ov_bb += einsum("w,ia->wia", s1, x60) * -1 - del x60 - x61 += einsum("ai,ib->ab", l1.aa, t1.aa) - rdm_eb_des_vv_aa += einsum("w,ab->wab", s1, x61) - del x61 - x62 += einsum("ai,ib->ab", l1.bb, t1.bb) - rdm_eb_des_vv_bb += einsum("w,ab->wab", s1, x62) - del x62 - rdm_eb_cre_oo_aa += einsum("w,ij->wji", ls1, delta_oo.aa) - rdm_eb_cre_oo_bb += einsum("w,ij->wji", ls1, delta_oo.bb) - rdm_eb_cre_ov_aa += einsum("w,ia->wia", ls1, t1.aa) - rdm_eb_cre_ov_aa += einsum("wai,jiba->wjb", lu11.bb, t2.abab) - rdm_eb_cre_ov_bb += einsum("w,ia->wia", ls1, t1.bb) - rdm_eb_cre_ov_bb += einsum("wai,ijab->wjb", lu11.aa, t2.abab) - rdm_eb_cre_vo_aa = np.zeros((nbos, nvir[0], nocc[0]), dtype=types[float]) - rdm_eb_cre_vo_aa += einsum("wai->wai", lu11.aa) - rdm_eb_cre_vo_bb = np.zeros((nbos, nvir[1], nocc[1]), dtype=types[float]) - rdm_eb_cre_vo_bb += einsum("wai->wai", lu11.bb) - rdm_eb_cre_vv_aa = np.zeros((nbos, nvir[0], nvir[0]), dtype=types[float]) - rdm_eb_cre_vv_aa += einsum("ia,wbi->wba", t1.aa, lu11.aa) - rdm_eb_cre_vv_bb = np.zeros((nbos, nvir[1], nvir[1]), dtype=types[float]) - rdm_eb_cre_vv_bb += einsum("ia,wbi->wba", t1.bb, lu11.bb) - rdm_eb_des_ov_aa += einsum("wia->wia", u11.aa) - rdm_eb_des_ov_bb += einsum("wia->wia", u11.bb) - rdm_eb_des_vo_aa += einsum("w,ai->wai", s1, l1.aa) - rdm_eb_des_vo_bb += einsum("w,ai->wai", s1, l1.bb) - rdm_eb_des_vv_aa += einsum("ai,wib->wab", l1.aa, u11.aa) - rdm_eb_des_vv_bb += einsum("ai,wib->wab", l1.bb, u11.bb) - - rdm_eb_aa = np.array([ - np.block([[rdm_eb_cre_oo_aa, rdm_eb_cre_ov_aa], [rdm_eb_cre_vo_aa, rdm_eb_cre_vv_aa]]), - np.block([[rdm_eb_des_oo_aa, rdm_eb_des_ov_aa], [rdm_eb_des_vo_aa, rdm_eb_des_vv_aa]]), - ]) - rdm_eb_bb = np.array([ - np.block([[rdm_eb_cre_oo_bb, rdm_eb_cre_ov_bb], [rdm_eb_cre_vo_bb, rdm_eb_cre_vv_bb]]), - np.block([[rdm_eb_des_oo_bb, rdm_eb_des_ov_bb], [rdm_eb_des_vo_bb, rdm_eb_des_vv_bb]]), - ]) - - rdm_eb.aa = rdm_eb_aa - rdm_eb.bb = rdm_eb_bb - - return rdm_eb - diff --git a/ebcc/codegen/UCCSDt.py b/ebcc/codegen/UCCSDt.py deleted file mode 100644 index f8a8c278..00000000 --- a/ebcc/codegen/UCCSDt.py +++ /dev/null @@ -1,10413 +0,0 @@ -# Code generated for ebcc. - -from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, Namespace -from ebcc.precision import types - -def energy(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, t3=None, **kwargs): - # energy - e_cc = 0 - e_cc += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (0, 3, 1, 2), ()) * -1.0 - e_cc += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 1, 3), ()) - e_cc += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (0, 2, 1, 3), ()) - x0 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x0 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x0 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x1 = np.zeros((nocc[1], nvir[1]), dtype=np.float64) - x1 += einsum(f.bb.ov, (0, 1), (0, 1)) * 2.0 - x1 += einsum(t1.aa, (0, 1), v.aabb.ovov, (0, 1, 2, 3), (2, 3)) * 2.0 - x1 += einsum(t1.bb, (0, 1), x0, (0, 2, 1, 3), (2, 3)) * -1.0 - del x0 - e_cc += einsum(t1.bb, (0, 1), x1, (0, 1), ()) * 0.5 - del x1 - x2 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x2 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x2 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x3 = np.zeros((nocc[0], nvir[0]), dtype=np.float64) - x3 += einsum(f.aa.ov, (0, 1), (0, 1)) * 2.0 - x3 += einsum(t1.aa, (0, 1), x2, (0, 2, 3, 1), (2, 3)) * -1.0 - del x2 - e_cc += einsum(t1.aa, (0, 1), x3, (0, 1), ()) * 0.5 - del x3 - - return e_cc - -def update_amps(f=None, v=None, space=None, t1=None, t2=None, t3=None, **kwargs): - t1new = Namespace() - t2new = Namespace() - t3new = Namespace() - - nocc = (space[0].ncocc, space[1].ncocc) - nvir = (space[0].ncvir, space[1].ncvir) - naocc = (space[0].naocc, space[1].naocc) - navir = (space[0].navir, space[1].navir) - soa = np.ones((nocc[0],), dtype=bool) - sva = np.ones((nvir[0],), dtype=bool) - sob = np.ones((nocc[1],), dtype=bool) - svb = np.ones((nvir[1],), dtype=bool) - sOa = space[0].active[space[0].correlated][space[0].occupied[space[0].correlated]] - sVa = space[0].active[space[0].correlated][space[0].virtual[space[0].correlated]] - sOb = space[1].active[space[1].correlated][space[1].occupied[space[1].correlated]] - sVb = space[1].active[space[1].correlated][space[1].virtual[space[1].correlated]] - sOfa = np.ones((naocc[0],), dtype=bool) - sVfa = np.ones((navir[0],), dtype=bool) - sOfb = np.ones((naocc[1],), dtype=bool) - sVfb = np.ones((navir[1],), dtype=bool) - - # T amplitudes - t1new_bb = np.zeros((nocc[1], nvir[1]), dtype=np.float64) - t1new_bb[np.ix_(sob,svb)] += einsum(f.bb.ov, (0, 1), (0, 1)) - t1new_bb[np.ix_(sob,svb)] += einsum(f.bb.oo, (0, 1), t1.bb[np.ix_(sob,svb)], (1, 2), (0, 2)) * -1.0 - t1new_bb[np.ix_(sob,svb)] += einsum(f.bb.vv, (0, 1), t1.bb[np.ix_(sob,svb)], (2, 1), (2, 0)) - t1new_bb[np.ix_(sob,svb)] += einsum(f.aa.ov, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (0, 2, 1, 3), (2, 3)) - t1new_bb[np.ix_(sob,svb)] += einsum(f.bb.ov, (0, 1), t2.bbbb[np.ix_(sob,sob,svb,svb)], (2, 0, 3, 1), (2, 3)) * 2.0 - t1new_bb[np.ix_(sob,svb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.bbbb.oovv, (2, 0, 3, 1), (2, 3)) * -1.0 - t1new_bb[np.ix_(sob,svb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.ovoo, (0, 2, 4, 1), (4, 3)) * -1.0 - t1new_bb[np.ix_(sob,svb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.ovvv, (0, 2, 4, 3), (1, 4)) - t1new_bb[np.ix_(sob,svb)] += einsum(v.aaaa.ovOV, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (0, 4, 2, 1, 5, 3), (4, 5)) - t1new_bb[np.ix_(sob,svb)] += einsum(v.aabb.ovOV, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 0, 2, 5, 1, 3), (4, 5)) * 2.0 - t1new_bb[np.ix_(sob,svb)] += einsum(v.bbbb.ovOV, (0, 1, 2, 3), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (4, 0, 2, 5, 1, 3), (4, 5)) * 3.0 - t1new_aa = np.zeros((nocc[0], nvir[0]), dtype=np.float64) - t1new_aa[np.ix_(soa,sva)] += einsum(f.aa.ov, (0, 1), (0, 1)) - t1new_aa[np.ix_(soa,sva)] += einsum(f.aa.oo, (0, 1), t1.aa[np.ix_(soa,sva)], (1, 2), (0, 2)) * -1.0 - t1new_aa[np.ix_(soa,sva)] += einsum(f.aa.vv, (0, 1), t1.aa[np.ix_(soa,sva)], (2, 1), (2, 0)) - t1new_aa[np.ix_(soa,sva)] += einsum(f.bb.ov, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (2, 0, 3, 1), (2, 3)) - t1new_aa[np.ix_(soa,sva)] += einsum(f.aa.ov, (0, 1), t2.aaaa[np.ix_(soa,soa,sva,sva)], (2, 0, 3, 1), (2, 3)) * 2.0 - t1new_aa[np.ix_(soa,sva)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aaaa.oovv, (2, 0, 3, 1), (2, 3)) * -1.0 - t1new_aa[np.ix_(soa,sva)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.ooov, (4, 0, 1, 3), (4, 2)) * -1.0 - t1new_aa[np.ix_(soa,sva)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.vvov, (4, 2, 1, 3), (0, 4)) - t1new_aa[np.ix_(soa,sva)] += einsum(v.aabb.OVov, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 2, 0, 5, 3, 1), (4, 5)) * 2.0 - t1new_aa[np.ix_(soa,sva)] += einsum(v.bbbb.ovOV, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (0, 4, 2, 1, 5, 3), (4, 5)) - t1new_aa[np.ix_(soa,sva)] += einsum(v.aaaa.ovOV, (0, 1, 2, 3), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (4, 0, 2, 5, 1, 3), (4, 5)) * 3.0 - t2new_aaaa = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - t2new_aaaa[np.ix_(soa,sOa,sva,sVa)] += einsum(f.bb.ov, (0, 1), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (2, 0, 3, 4, 1, 5), (2, 3, 4, 5)) * 2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(f.aa.OV, (0, 1), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) * 6.0 - t2new_abab = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=np.float64) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(v.aabb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(f.aa.oo, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (1, 2, 3, 4), (0, 2, 3, 4)) * -1.0 - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(f.bb.oo, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (2, 1, 3, 4), (2, 0, 3, 4)) * -1.0 - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(f.aa.vv, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (2, 3, 1, 4), (2, 3, 0, 4)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(f.bb.vv, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (2, 3, 4, 1), (2, 3, 4, 0)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aabb.ooov, (2, 0, 3, 4), (2, 3, 1, 4)) * -1.0 - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.aabb.ovoo, (2, 3, 4, 0), (2, 4, 3, 1)) * -1.0 - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(f.aa.OV, (0, 1), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) * 2.0 - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(f.bb.OV, (0, 1), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (2, 3, 0, 4, 5, 1), (3, 2, 5, 4)) * 2.0 - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.oooo, (4, 0, 5, 1), (4, 5, 2, 3)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.bbbb.oovv, (4, 1, 5, 3), (0, 4, 2, 5)) * -1.0 - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.oovv, (4, 0, 5, 3), (4, 1, 2, 5)) * -1.0 - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aaaa.oovv, (4, 0, 5, 2), (4, 1, 5, 3)) * -1.0 - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.vvoo, (4, 2, 5, 1), (0, 5, 4, 3)) * -1.0 - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.vvvv, (4, 2, 5, 3), (0, 1, 4, 5)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), v.aabb.ovov, (1, 3, 4, 5), (0, 4, 2, 5)) * 2.0 - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(v.aaaa.ooOV, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (1, 4, 2, 5, 6, 3), (0, 4, 5, 6)) * -2.0 - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(v.aabb.OVoo, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 3, 0, 5, 6, 1), (4, 2, 5, 6)) * -2.0 - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(v.aaaa.vOvV, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 5, 1, 0, 6, 3), (4, 5, 2, 6)) * -2.0 - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(v.aabb.OVvv, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 5, 0, 6, 3, 1), (4, 5, 6, 2)) * 2.0 - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(v.aabb.ooOV, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 1, 2, 5, 6, 3), (0, 4, 6, 5)) * -2.0 - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(v.bbbb.ooOV, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (1, 4, 2, 5, 6, 3), (4, 0, 6, 5)) * -2.0 - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(v.bbbb.vOvV, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 5, 1, 0, 6, 3), (5, 4, 6, 2)) * -2.0 - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(v.aabb.vvOV, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 5, 2, 6, 1, 3), (5, 4, 0, 6)) * 2.0 - t2new_bbbb = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - t2new_bbbb[np.ix_(sob,sOb,svb,sVb)] += einsum(f.aa.ov, (0, 1), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (2, 0, 3, 4, 1, 5), (2, 3, 4, 5)) * 2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(f.bb.OV, (0, 1), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) * 6.0 - t3new_aaaaaa = np.zeros((nocc[0], nocc[0], naocc[0], nvir[0], nvir[0], navir[0]), dtype=np.float64) - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(f.aa.OO, (0, 1), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (2, 3, 1, 4, 5, 6), (2, 3, 0, 4, 5, 6)) * -6.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(f.aa.VV, (0, 1), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 6, 0)) * 6.0 - t3new_aaaaaa[np.ix_(soa,sOa,sOfa,sva,sVa,sVfa)] += einsum(v.aabb.OVov, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 2, 5, 6, 3, 7), (4, 5, 0, 6, 7, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(v.aaaa.oooo, (0, 1, 2, 3), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (3, 1, 4, 5, 6, 7), (0, 2, 4, 5, 6, 7)) * -6.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(v.aaaa.OVOV, (0, 1, 2, 3), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (4, 5, 2, 6, 7, 3), (4, 5, 0, 6, 7, 1)) * 6.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(v.aaaa.OOVV, (0, 1, 2, 3), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (4, 5, 1, 6, 7, 3), (4, 5, 0, 6, 7, 2)) * -6.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(v.aaaa.vvvv, (0, 1, 2, 3), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (4, 5, 6, 1, 3, 7), (4, 5, 6, 0, 2, 7)) * 6.0 - t3new_babbab = np.zeros((nocc[1], nocc[0], naocc[1], nvir[1], nvir[0], navir[1]), dtype=np.float64) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(f.bb.oo, (0, 1), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (1, 2, 3, 4, 5, 6), (0, 2, 3, 4, 5, 6)) * -2.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(f.aa.oo, (0, 1), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (2, 1, 3, 4, 5, 6), (2, 0, 3, 4, 5, 6)) * -2.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(f.bb.OO, (0, 1), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (2, 3, 1, 4, 5, 6), (2, 3, 0, 4, 5, 6)) * -2.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(f.bb.vv, (0, 1), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (2, 3, 4, 1, 5, 6), (2, 3, 4, 0, 5, 6)) * 2.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(f.aa.vv, (0, 1), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (2, 3, 4, 5, 1, 6), (2, 3, 4, 5, 0, 6)) * 2.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(f.bb.VV, (0, 1), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 6, 0)) * 2.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), v.bbbb.oovO, (4, 1, 5, 6), (4, 0, 6, 5, 2, 3)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), v.aabb.oovO, (4, 0, 5, 6), (1, 4, 6, 5, 2, 3)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.bbbb.ooOV, (4, 1, 5, 6), (4, 0, 5, 3, 2, 6)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.ooOV, (4, 0, 5, 6), (1, 4, 5, 3, 2, 6)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), v.bbbb.ovoO, (4, 5, 1, 6), (4, 0, 6, 5, 2, 3)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.bbbb.oOoV, (1, 4, 5, 6), (5, 0, 4, 3, 2, 6)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), v.aabb.oooV, (4, 0, 5, 6), (5, 4, 1, 3, 2, 6)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sOb,sva,sVb)], (0, 1, 2, 3), v.aabb.ooov, (4, 0, 5, 6), (5, 4, 1, 6, 2, 3)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), v.bbbb.ovvV, (4, 5, 3, 6), (4, 0, 1, 5, 2, 6)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), v.bbbb.oVvv, (4, 5, 6, 3), (4, 0, 1, 6, 2, 5)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), v.aabb.vvvO, (4, 2, 5, 6), (1, 0, 6, 5, 4, 3)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.bbbb.vvOV, (4, 3, 5, 6), (1, 0, 5, 4, 2, 6)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.vvOV, (4, 2, 5, 6), (1, 0, 5, 3, 4, 6)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.bbbb.vOvV, (4, 5, 3, 6), (1, 0, 5, 4, 2, 6)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), v.aabb.vvoV, (4, 2, 5, 6), (5, 0, 1, 3, 4, 6)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), v.aabb.ovoO, (4, 5, 1, 6), (0, 4, 6, 2, 5, 3)) * -2.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.bbbb[np.ix_(sob,sOb,svb,sVb)], (0, 1, 2, 3), v.aabb.ovoo, (4, 5, 6, 0), (6, 4, 1, 2, 5, 3)) * -2.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.bbbb[np.ix_(sob,sOb,svb,svb)], (0, 1, 2, 3), v.aabb.ovvV, (4, 5, 3, 6), (0, 4, 1, 2, 5, 6)) * 2.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(v.aabb.OVOV, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 5, 0, 6, 7, 1), (5, 4, 2, 7, 6, 3)) * 2.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(v.aabb.OVvO, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,sVb,sVfa)], (4, 5, 0, 6, 7, 1), (5, 4, 3, 2, 6, 7)) * -2.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(v.aabb.OVoV, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sOb,sOfa,sva,svb,sVfa)], (4, 5, 0, 6, 7, 1), (2, 4, 5, 7, 6, 3)) * -2.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(v.aabb.OVov, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sOb,sOfa,sva,sVb,sVfa)], (4, 5, 0, 6, 7, 1), (2, 4, 5, 3, 6, 7)) * 2.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(v.bbbb.ooOO, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (1, 4, 3, 5, 6, 7), (0, 4, 2, 5, 6, 7)) * 2.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(v.aabb.ooOO, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 1, 3, 5, 6, 7), (4, 0, 2, 5, 6, 7)) * 2.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(v.aabb.oooo, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (3, 1, 4, 5, 6, 7), (2, 0, 4, 5, 6, 7)) * 2.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(v.bbbb.oovv, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (1, 4, 5, 3, 6, 7), (0, 4, 5, 2, 6, 7)) * -2.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(v.aabb.oovv, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 1, 5, 3, 6, 7), (4, 0, 5, 2, 6, 7)) * -2.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(v.aaaa.oovv, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 1, 5, 6, 3, 7), (4, 0, 5, 6, 2, 7)) * -2.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(v.bbbb.ooVV, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (1, 4, 5, 6, 7, 3), (0, 4, 5, 6, 7, 2)) * -2.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(v.aabb.ooVV, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 1, 5, 6, 7, 3), (4, 0, 5, 6, 7, 2)) * -2.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(v.bbbb.oVoV, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (2, 4, 5, 6, 7, 3), (0, 4, 5, 6, 7, 1)) * 2.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(v.bbbb.vOvO, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 5, 3, 2, 6, 7), (4, 5, 1, 0, 6, 7)) * 2.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(v.bbbb.OVOV, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 5, 2, 6, 7, 3), (4, 5, 0, 6, 7, 1)) * 2.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(v.bbbb.vvOO, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 5, 3, 1, 6, 7), (4, 5, 2, 0, 6, 7)) * -2.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(v.bbbb.OOVV, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 5, 1, 6, 7, 3), (4, 5, 0, 6, 7, 2)) * -2.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(v.aabb.vvOO, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 5, 3, 6, 1, 7), (4, 5, 2, 6, 0, 7)) * -2.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(v.aabb.vvoo, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (3, 4, 5, 6, 1, 7), (2, 4, 5, 6, 0, 7)) * -2.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(v.aabb.vvvv, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 5, 6, 3, 1, 7), (4, 5, 6, 2, 0, 7)) * 2.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(v.bbbb.vvVV, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 5, 6, 1, 7, 3), (4, 5, 6, 0, 7, 2)) * 2.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(v.aabb.vvVV, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 5, 6, 7, 1, 3), (4, 5, 6, 7, 0, 2)) * 2.0 - t3new_abaaba = np.zeros((nocc[0], nocc[1], naocc[0], nvir[0], nvir[1], navir[0]), dtype=np.float64) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(f.aa.oo, (0, 1), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (1, 2, 3, 4, 5, 6), (0, 2, 3, 4, 5, 6)) * -2.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(f.bb.oo, (0, 1), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (2, 1, 3, 4, 5, 6), (2, 0, 3, 4, 5, 6)) * -2.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(f.aa.OO, (0, 1), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (2, 3, 1, 4, 5, 6), (2, 3, 0, 4, 5, 6)) * -2.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(f.aa.vv, (0, 1), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (2, 3, 4, 1, 5, 6), (2, 3, 4, 0, 5, 6)) * 2.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(f.bb.vv, (0, 1), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (2, 3, 4, 5, 1, 6), (2, 3, 4, 5, 0, 6)) * 2.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(f.aa.VV, (0, 1), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 6, 0)) * 2.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aaaa.ooOV, (4, 0, 5, 6), (4, 1, 5, 2, 3, 6)) * -1.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aaaa.oOoV, (0, 4, 5, 6), (5, 1, 4, 2, 3, 6)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aaaa.vvOV, (4, 2, 5, 6), (0, 1, 5, 4, 3, 6)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aaaa.vOvV, (4, 5, 2, 6), (0, 1, 5, 4, 3, 6)) * -1.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.OVoo, (4, 5, 6, 1), (0, 6, 4, 2, 3, 5)) * -1.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.OVvv, (4, 5, 6, 3), (0, 1, 4, 2, 6, 5)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), v.aaaa.oovO, (4, 0, 5, 6), (4, 1, 6, 5, 3, 2)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), v.aaaa.ovoO, (4, 5, 0, 6), (4, 1, 6, 5, 3, 2)) * -1.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), v.aabb.vOoo, (4, 5, 6, 1), (0, 6, 5, 4, 3, 2)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), v.aabb.vOvv, (4, 5, 6, 3), (0, 1, 5, 4, 6, 2)) * -1.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), v.aaaa.ovvV, (4, 5, 2, 6), (4, 1, 0, 5, 3, 6)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.oVoo, (4, 5, 6, 1), (4, 6, 0, 2, 3, 5)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.oVvv, (4, 5, 6, 3), (4, 1, 0, 2, 6, 5)) * -1.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), v.aaaa.oVvv, (4, 5, 6, 2), (4, 1, 0, 6, 3, 5)) * -1.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(sOa,sob,sVa,svb)], (0, 1, 2, 3), v.aabb.ovoo, (4, 5, 6, 1), (4, 6, 0, 5, 3, 2)) * -1.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), v.aabb.oOov, (1, 4, 5, 6), (0, 5, 4, 2, 6, 3)) * -2.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sVa)], (0, 1, 2, 3), v.aabb.ooov, (4, 0, 5, 6), (4, 5, 1, 2, 6, 3)) * -2.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sva)], (0, 1, 2, 3), v.aabb.vVov, (3, 4, 5, 6), (0, 5, 1, 2, 6, 4)) * 2.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(v.aaaa.ooOO, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (1, 4, 3, 5, 6, 7), (0, 4, 2, 5, 6, 7)) * 2.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(v.aabb.oooo, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (1, 3, 4, 5, 6, 7), (0, 2, 4, 5, 6, 7)) * 2.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(v.aaaa.oovv, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (1, 4, 5, 3, 6, 7), (0, 4, 5, 2, 6, 7)) * -2.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(v.aabb.oovv, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (1, 4, 5, 6, 3, 7), (0, 4, 5, 6, 2, 7)) * -2.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(v.bbbb.oovv, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 1, 5, 6, 3, 7), (4, 0, 5, 6, 2, 7)) * -2.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(v.aaaa.ooVV, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (1, 4, 5, 6, 7, 3), (0, 4, 5, 6, 7, 2)) * -2.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(v.aaaa.oVoV, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (2, 4, 5, 6, 7, 3), (0, 4, 5, 6, 7, 1)) * 2.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(v.aaaa.vOvO, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 5, 3, 2, 6, 7), (4, 5, 1, 0, 6, 7)) * 2.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(v.aaaa.OVOV, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 5, 2, 6, 7, 3), (4, 5, 0, 6, 7, 1)) * 2.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(v.aabb.OOoo, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 3, 1, 5, 6, 7), (4, 2, 0, 5, 6, 7)) * 2.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(v.aaaa.vvOO, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 5, 3, 1, 6, 7), (4, 5, 2, 0, 6, 7)) * -2.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(v.aabb.OOvv, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 5, 1, 6, 3, 7), (4, 5, 0, 6, 2, 7)) * -2.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(v.aaaa.OOVV, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 5, 1, 6, 7, 3), (4, 5, 0, 6, 7, 2)) * -2.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(v.aabb.vvoo, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 3, 5, 1, 6, 7), (4, 2, 5, 0, 6, 7)) * -2.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(v.aabb.vvvv, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 5, 6, 1, 3, 7), (4, 5, 6, 0, 2, 7)) * 2.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(v.aaaa.vvVV, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 5, 6, 1, 7, 3), (4, 5, 6, 0, 7, 2)) * 2.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(v.aabb.VVoo, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 3, 5, 6, 7, 1), (4, 2, 5, 6, 7, 0)) * -2.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(v.aabb.VVvv, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 5, 6, 7, 3, 1), (4, 5, 6, 7, 2, 0)) * 2.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(v.aabb.OVOV, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 5, 2, 6, 7, 3), (5, 4, 0, 7, 6, 1)) * 2.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(v.aabb.vOOV, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sVa,sVfb)], (4, 5, 2, 6, 7, 3), (5, 4, 1, 0, 6, 7)) * -2.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(v.aabb.oVOV, (0, 1, 2, 3), t3.babbab[np.ix_(sob,sOa,sOfb,svb,sva,sVfb)], (4, 5, 2, 6, 7, 3), (0, 4, 5, 7, 6, 1)) * -2.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(v.aabb.ovOV, (0, 1, 2, 3), t3.babbab[np.ix_(sob,sOa,sOfb,svb,sVa,sVfb)], (4, 5, 2, 6, 7, 3), (0, 4, 5, 1, 6, 7)) * 2.0 - t3new_bbbbbb = np.zeros((nocc[1], nocc[1], naocc[1], nvir[1], nvir[1], navir[1]), dtype=np.float64) - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(f.bb.OO, (0, 1), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (2, 3, 1, 4, 5, 6), (2, 3, 0, 4, 5, 6)) * -6.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(f.bb.VV, (0, 1), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 6, 0)) * 6.0 - t3new_bbbbbb[np.ix_(sob,sOb,sOfb,svb,sVb,sVfb)] += einsum(v.aabb.ovOV, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 0, 5, 6, 1, 7), (4, 5, 2, 6, 7, 3)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(v.bbbb.oooo, (0, 1, 2, 3), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (1, 3, 4, 5, 6, 7), (0, 2, 4, 5, 6, 7)) * 6.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(v.bbbb.OVOV, (0, 1, 2, 3), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (4, 5, 2, 6, 7, 3), (4, 5, 0, 6, 7, 1)) * 6.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(v.bbbb.OOVV, (0, 1, 2, 3), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (4, 5, 1, 6, 7, 3), (4, 5, 0, 6, 7, 2)) * -6.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(v.bbbb.vvvv, (0, 1, 2, 3), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (4, 5, 6, 3, 1, 7), (4, 5, 6, 0, 2, 7)) * -6.0 - x0 = np.zeros((nocc[1], nvir[1]), dtype=np.float64) - x0 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aabb.ovov, (0, 1, 2, 3), (2, 3)) - t1new_bb[np.ix_(sob,svb)] += einsum(x0, (0, 1), (0, 1)) - t1new_bb[np.ix_(sob,svb)] += einsum(x0, (0, 1), t2.bbbb[np.ix_(sob,sob,svb,svb)], (2, 0, 3, 1), (2, 3)) * 2.0 - t1new_aa[np.ix_(soa,sva)] += einsum(x0, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (2, 0, 3, 1), (2, 3)) - t2new_aaaa[np.ix_(soa,sOa,sva,sVa)] += einsum(x0, (0, 1), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (2, 0, 3, 4, 1, 5), (2, 3, 4, 5)) * 2.0 - x1 = np.zeros((nocc[1], nvir[1]), dtype=np.float64) - x1 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.bbbb.ovov, (2, 3, 0, 1), (2, 3)) - t1new_bb[np.ix_(sob,svb)] += einsum(x1, (0, 1), (0, 1)) - t1new_bb[np.ix_(sob,svb)] += einsum(x1, (0, 1), t2.bbbb[np.ix_(sob,sob,svb,svb)], (2, 0, 3, 1), (2, 3)) * 2.0 - t1new_aa[np.ix_(soa,sva)] += einsum(x1, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (2, 0, 3, 1), (2, 3)) - t2new_aaaa[np.ix_(soa,sOa,sva,sVa)] += einsum(x1, (0, 1), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (2, 0, 3, 4, 1, 5), (2, 3, 4, 5)) * 2.0 - x2 = np.zeros((nocc[1], nvir[1]), dtype=np.float64) - x2 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), v.bbbb.ooov, (4, 0, 1, 3), (4, 2)) - t1new_bb[np.ix_(sob,svb)] += einsum(x2, (0, 1), (0, 1)) * -1.0 - t1new_bb[np.ix_(sob,svb)] += einsum(x2, (0, 1), (0, 1)) * -1.0 - del x2 - x3 = np.zeros((nocc[1], nvir[1]), dtype=np.float64) - x3 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), v.bbbb.ovvv, (1, 2, 4, 3), (0, 4)) - t1new_bb[np.ix_(sob,svb)] += einsum(x3, (0, 1), (0, 1)) * -1.0 - t1new_bb[np.ix_(sob,svb)] += einsum(x3, (0, 1), (0, 1)) * -1.0 - del x3 - x4 = np.zeros((nocc[1], nocc[1]), dtype=np.float64) - x4 += einsum(f.bb.ov, (0, 1), t1.bb[np.ix_(sob,svb)], (2, 1), (0, 2)) - t1new_bb[np.ix_(sob,svb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x4, (0, 2), (2, 1)) * -1.0 - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x4, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (2, 0, 3, 4), (2, 1, 3, 4)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x4, (0, 1), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (0, 2, 3, 4, 5, 6), (1, 2, 3, 4, 5, 6)) * -2.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x4, (0, 1), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (2, 0, 3, 4, 5, 6), (2, 1, 3, 4, 5, 6)) * -2.0 - x5 = np.zeros((nvir[1], nvir[1]), dtype=np.float64) - x5 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aabb.ovvv, (0, 1, 2, 3), (2, 3)) - t1new_bb[np.ix_(sob,svb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x5, (2, 1), (0, 2)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x5, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (2, 3, 4, 1), (2, 3, 4, 0)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x5, (0, 1), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (2, 3, 4, 1, 5, 6), (2, 3, 4, 0, 5, 6)) * 2.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x5, (0, 1), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (2, 3, 4, 5, 1, 6), (2, 3, 4, 5, 0, 6)) * 2.0 - x6 = np.zeros((nocc[1], nocc[1]), dtype=np.float64) - x6 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aabb.ovoo, (0, 1, 2, 3), (2, 3)) - t1new_bb[np.ix_(sob,svb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x6, (2, 0), (2, 1)) * -1.0 - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x6, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (2, 1, 3, 4), (2, 0, 3, 4)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x6, (0, 1), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (1, 2, 3, 4, 5, 6), (0, 2, 3, 4, 5, 6)) * -2.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x6, (0, 1), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (2, 1, 3, 4, 5, 6), (2, 0, 3, 4, 5, 6)) * -2.0 - x7 = np.zeros((nocc[1], nocc[1]), dtype=np.float64) - x7 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.bbbb.ooov, (2, 0, 3, 1), (2, 3)) - t1new_bb[np.ix_(sob,svb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x7, (2, 0), (2, 1)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x7, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (2, 1, 3, 4), (2, 0, 3, 4)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x7, (0, 1), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (1, 2, 3, 4, 5, 6), (0, 2, 3, 4, 5, 6)) * 2.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x7, (0, 1), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (2, 1, 3, 4, 5, 6), (2, 0, 3, 4, 5, 6)) * 2.0 - x8 = np.zeros((nocc[1], nocc[1]), dtype=np.float64) - x8 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.bbbb.ooov, (2, 3, 0, 1), (2, 3)) - t1new_bb[np.ix_(sob,svb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x8, (2, 0), (2, 1)) * -1.0 - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x8, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (2, 1, 3, 4), (2, 0, 3, 4)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x8, (0, 1), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (1, 2, 3, 4, 5, 6), (0, 2, 3, 4, 5, 6)) * -2.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x8, (0, 1), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (2, 1, 3, 4, 5, 6), (2, 0, 3, 4, 5, 6)) * -2.0 - x9 = np.zeros((nvir[1], nvir[1]), dtype=np.float64) - x9 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.bbbb.ovvv, (0, 2, 3, 1), (2, 3)) - t1new_bb[np.ix_(sob,svb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x9, (1, 2), (0, 2)) * -1.0 - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x9, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (2, 3, 4, 0), (2, 3, 4, 1)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x9, (0, 1), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) * -2.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x9, (0, 1), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) * -2.0 - x10 = np.zeros((nvir[1], nvir[1]), dtype=np.float64) - x10 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.bbbb.ovvv, (0, 1, 2, 3), (2, 3)) - t1new_bb[np.ix_(sob,svb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x10, (2, 1), (0, 2)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x10, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (2, 3, 4, 1), (2, 3, 4, 0)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x10, (0, 1), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (2, 3, 4, 1, 5, 6), (2, 3, 4, 0, 5, 6)) * 2.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x10, (0, 1), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (2, 3, 4, 5, 1, 6), (2, 3, 4, 5, 0, 6)) * 2.0 - x11 = np.zeros((nocc[0], nvir[0]), dtype=np.float64) - x11 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aaaa.ovov, (2, 3, 0, 1), (2, 3)) - t1new_bb[np.ix_(sob,svb)] += einsum(x11, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (0, 2, 1, 3), (2, 3)) - t1new_aa[np.ix_(soa,sva)] += einsum(x11, (0, 1), (0, 1)) - t1new_aa[np.ix_(soa,sva)] += einsum(x11, (0, 1), t2.aaaa[np.ix_(soa,soa,sva,sva)], (2, 0, 3, 1), (2, 3)) * 2.0 - t2new_bbbb[np.ix_(sob,sOb,svb,sVb)] += einsum(x11, (0, 1), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (2, 0, 3, 4, 1, 5), (2, 3, 4, 5)) * 2.0 - x12 = np.zeros((nocc[0], nvir[0]), dtype=np.float64) - x12 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aaaa.ovov, (2, 1, 0, 3), (2, 3)) - t1new_bb[np.ix_(sob,svb)] += einsum(x12, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (0, 2, 1, 3), (2, 3)) * -1.0 - t1new_aa[np.ix_(soa,sva)] += einsum(x12, (0, 1), t2.aaaa[np.ix_(soa,soa,sva,sva)], (2, 0, 3, 1), (2, 3)) * -2.0 - t2new_bbbb[np.ix_(sob,sOb,svb,sVb)] += einsum(x12, (0, 1), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (2, 0, 3, 4, 1, 5), (2, 3, 4, 5)) * -2.0 - x13 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x13 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.aabb.ovov, (2, 3, 4, 1), (2, 0, 4, 3)) - t1new_bb[np.ix_(sob,svb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x13, (0, 4, 1, 2), (4, 3)) * -1.0 - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x13, (2, 3, 0, 4), (2, 3, 4, 1)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.bbbb[np.ix_(sob,sOb,svb,sVb)], (0, 1, 2, 3), x13, (4, 5, 0, 6), (5, 4, 1, 2, 6, 3)) * -2.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(sOa,sob,sVa,svb)], (0, 1, 2, 3), x13, (4, 5, 1, 6), (4, 5, 0, 6, 3, 2)) * -1.0 - x14 = np.zeros((nocc[1], nocc[1]), dtype=np.float64) - x14 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 3), (1, 4)) - t1new_bb[np.ix_(sob,svb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x14, (2, 0), (2, 1)) * -1.0 - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x14, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (2, 1, 3, 4), (2, 0, 3, 4)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x14, (0, 1), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (1, 2, 3, 4, 5, 6), (0, 2, 3, 4, 5, 6)) * -2.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x14, (0, 1), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (2, 1, 3, 4, 5, 6), (2, 0, 3, 4, 5, 6)) * -2.0 - x15 = np.zeros((nocc[0], nvir[0]), dtype=np.float64) - x15 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.aabb.ovov, (2, 3, 0, 1), (2, 3)) - t1new_bb[np.ix_(sob,svb)] += einsum(x15, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (0, 2, 1, 3), (2, 3)) - t1new_aa[np.ix_(soa,sva)] += einsum(x15, (0, 1), (0, 1)) - t1new_aa[np.ix_(soa,sva)] += einsum(x15, (0, 1), t2.aaaa[np.ix_(soa,soa,sva,sva)], (2, 0, 3, 1), (2, 3)) * 2.0 - t2new_bbbb[np.ix_(sob,sOb,svb,sVb)] += einsum(x15, (0, 1), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (2, 0, 3, 4, 1, 5), (2, 3, 4, 5)) * 2.0 - x16 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x16 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.bbbb.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) - x17 = np.zeros((nocc[1], nvir[1]), dtype=np.float64) - x17 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x16, (4, 0, 1, 3), (4, 2)) * -1.0 - t1new_bb[np.ix_(sob,svb)] += einsum(x17, (0, 1), (0, 1)) * -1.0 - t1new_bb[np.ix_(sob,svb)] += einsum(x17, (0, 1), (0, 1)) * -1.0 - del x17 - x18 = np.zeros((nocc[1], nocc[1]), dtype=np.float64) - x18 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), v.bbbb.ovov, (4, 3, 1, 2), (0, 4)) * -1.0 - x19 = np.zeros((nocc[1], nvir[1]), dtype=np.float64) - x19 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x18, (2, 0), (2, 1)) - t1new_bb[np.ix_(sob,svb)] += einsum(x19, (0, 1), (0, 1)) * -1.0 - t1new_bb[np.ix_(sob,svb)] += einsum(x19, (0, 1), (0, 1)) * -1.0 - del x19 - x20 = np.zeros((nocc[1], nvir[1]), dtype=np.float64) - x20 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.bbbb.ovov, (2, 1, 0, 3), (2, 3)) - t1new_bb[np.ix_(sob,svb)] += einsum(x20, (0, 1), t2.bbbb[np.ix_(sob,sob,svb,svb)], (2, 0, 3, 1), (2, 3)) * -2.0 - t1new_aa[np.ix_(soa,sva)] += einsum(x20, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (2, 0, 3, 1), (2, 3)) * -1.0 - t2new_aaaa[np.ix_(soa,sOa,sva,sVa)] += einsum(x20, (0, 1), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (2, 0, 3, 4, 1, 5), (2, 3, 4, 5)) * -2.0 - x21 = np.zeros((nocc[1], nocc[1]), dtype=np.float64) - x21 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x0, (2, 1), (0, 2)) - t1new_bb[np.ix_(sob,svb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x21, (2, 0), (2, 1)) * -1.0 - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x21, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (2, 1, 3, 4), (2, 0, 3, 4)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x21, (0, 1), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (1, 2, 3, 4, 5, 6), (0, 2, 3, 4, 5, 6)) * -2.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x21, (0, 1), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (2, 1, 3, 4, 5, 6), (2, 0, 3, 4, 5, 6)) * -2.0 - x22 = np.zeros((nocc[1], nocc[1]), dtype=np.float64) - x22 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x20, (2, 1), (0, 2)) - t1new_bb[np.ix_(sob,svb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x22, (2, 0), (2, 1)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x22, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (2, 1, 3, 4), (2, 0, 3, 4)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x22, (0, 1), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (1, 2, 3, 4, 5, 6), (0, 2, 3, 4, 5, 6)) * 2.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x22, (0, 1), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (2, 1, 3, 4, 5, 6), (2, 0, 3, 4, 5, 6)) * 2.0 - x23 = np.zeros((nocc[1], nocc[1]), dtype=np.float64) - x23 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1, (2, 1), (0, 2)) - t1new_bb[np.ix_(sob,svb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x23, (2, 0), (2, 1)) * -1.0 - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x23, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (2, 1, 3, 4), (2, 0, 3, 4)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x23, (0, 1), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (1, 2, 3, 4, 5, 6), (0, 2, 3, 4, 5, 6)) * -2.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x23, (0, 1), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (2, 1, 3, 4, 5, 6), (2, 0, 3, 4, 5, 6)) * -2.0 - x24 = np.zeros((nocc[0], nvir[0]), dtype=np.float64) - x24 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), v.aaaa.ooov, (4, 0, 1, 3), (4, 2)) - t1new_aa[np.ix_(soa,sva)] += einsum(x24, (0, 1), (0, 1)) * -1.0 - t1new_aa[np.ix_(soa,sva)] += einsum(x24, (0, 1), (0, 1)) * -1.0 - del x24 - x25 = np.zeros((nocc[0], nvir[0]), dtype=np.float64) - x25 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), v.aaaa.ovvv, (1, 2, 4, 3), (0, 4)) - t1new_aa[np.ix_(soa,sva)] += einsum(x25, (0, 1), (0, 1)) * -1.0 - t1new_aa[np.ix_(soa,sva)] += einsum(x25, (0, 1), (0, 1)) * -1.0 - del x25 - x26 = np.zeros((nocc[0], nocc[0]), dtype=np.float64) - x26 += einsum(f.aa.ov, (0, 1), t1.aa[np.ix_(soa,sva)], (2, 1), (0, 2)) - t1new_aa[np.ix_(soa,sva)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x26, (0, 2), (2, 1)) * -1.0 - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x26, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (0, 2, 3, 4), (1, 2, 3, 4)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x26, (0, 1), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (2, 0, 3, 4, 5, 6), (2, 1, 3, 4, 5, 6)) * -2.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x26, (0, 1), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (0, 2, 3, 4, 5, 6), (1, 2, 3, 4, 5, 6)) * -2.0 - x27 = np.zeros((nocc[0], nocc[0]), dtype=np.float64) - x27 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aaaa.ooov, (2, 0, 3, 1), (2, 3)) - t1new_aa[np.ix_(soa,sva)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x27, (2, 0), (2, 1)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x27, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (1, 2, 3, 4), (0, 2, 3, 4)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x27, (0, 1), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (2, 1, 3, 4, 5, 6), (2, 0, 3, 4, 5, 6)) * 2.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x27, (0, 1), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (1, 2, 3, 4, 5, 6), (0, 2, 3, 4, 5, 6)) * 2.0 - x28 = np.zeros((nocc[0], nocc[0]), dtype=np.float64) - x28 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aaaa.ooov, (2, 3, 0, 1), (2, 3)) - t1new_aa[np.ix_(soa,sva)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x28, (2, 0), (2, 1)) * -1.0 - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x28, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (1, 2, 3, 4), (0, 2, 3, 4)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x28, (0, 1), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (2, 1, 3, 4, 5, 6), (2, 0, 3, 4, 5, 6)) * -2.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x28, (0, 1), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (1, 2, 3, 4, 5, 6), (0, 2, 3, 4, 5, 6)) * -2.0 - x29 = np.zeros((nvir[0], nvir[0]), dtype=np.float64) - x29 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aaaa.ovvv, (0, 2, 3, 1), (2, 3)) - t1new_aa[np.ix_(soa,sva)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x29, (1, 2), (0, 2)) * -1.0 - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x29, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (2, 3, 0, 4), (2, 3, 1, 4)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x29, (0, 1), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) * -2.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x29, (0, 1), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) * -2.0 - x30 = np.zeros((nvir[0], nvir[0]), dtype=np.float64) - x30 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aaaa.ovvv, (0, 1, 2, 3), (2, 3)) - t1new_aa[np.ix_(soa,sva)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x30, (2, 1), (0, 2)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x30, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (2, 3, 1, 4), (2, 3, 0, 4)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x30, (0, 1), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (2, 3, 4, 5, 1, 6), (2, 3, 4, 5, 0, 6)) * 2.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x30, (0, 1), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (2, 3, 4, 1, 5, 6), (2, 3, 4, 0, 5, 6)) * 2.0 - x31 = np.zeros((nocc[0], nocc[0]), dtype=np.float64) - x31 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.aabb.ooov, (2, 3, 0, 1), (2, 3)) - t1new_aa[np.ix_(soa,sva)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x31, (2, 0), (2, 1)) * -1.0 - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x31, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (1, 2, 3, 4), (0, 2, 3, 4)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x31, (0, 1), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (2, 1, 3, 4, 5, 6), (2, 0, 3, 4, 5, 6)) * -2.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x31, (0, 1), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (1, 2, 3, 4, 5, 6), (0, 2, 3, 4, 5, 6)) * -2.0 - x32 = np.zeros((nvir[0], nvir[0]), dtype=np.float64) - x32 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.aabb.vvov, (2, 3, 0, 1), (2, 3)) - t1new_aa[np.ix_(soa,sva)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x32, (2, 1), (0, 2)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x32, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (2, 3, 1, 4), (2, 3, 0, 4)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x32, (0, 1), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (2, 3, 4, 5, 1, 6), (2, 3, 4, 5, 0, 6)) * 2.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x32, (0, 1), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (2, 3, 4, 1, 5, 6), (2, 3, 4, 0, 5, 6)) * 2.0 - x33 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x33 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aabb.ovov, (2, 1, 3, 4), (0, 2, 3, 4)) - t1new_aa[np.ix_(soa,sva)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x33, (4, 0, 1, 3), (4, 2)) * -1.0 - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x33, (2, 0, 3, 4), (2, 3, 1, 4)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sOb,sva,sVb)], (0, 1, 2, 3), x33, (4, 0, 5, 6), (5, 4, 1, 6, 2, 3)) * -1.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sVa)], (0, 1, 2, 3), x33, (4, 0, 5, 6), (4, 5, 1, 2, 6, 3)) * -2.0 - x34 = np.zeros((nocc[0], nocc[0]), dtype=np.float64) - x34 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.ovov, (4, 2, 1, 3), (0, 4)) - t1new_aa[np.ix_(soa,sva)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x34, (2, 0), (2, 1)) * -1.0 - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x34, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (1, 2, 3, 4), (0, 2, 3, 4)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x34, (0, 1), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (2, 1, 3, 4, 5, 6), (2, 0, 3, 4, 5, 6)) * -2.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x34, (0, 1), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (1, 2, 3, 4, 5, 6), (0, 2, 3, 4, 5, 6)) * -2.0 - x35 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x35 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aaaa.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) - x36 = np.zeros((nocc[0], nvir[0]), dtype=np.float64) - x36 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x35, (4, 0, 1, 3), (4, 2)) * -1.0 - t1new_aa[np.ix_(soa,sva)] += einsum(x36, (0, 1), (0, 1)) * -1.0 - t1new_aa[np.ix_(soa,sva)] += einsum(x36, (0, 1), (0, 1)) * -1.0 - del x36 - x37 = np.zeros((nocc[0], nocc[0]), dtype=np.float64) - x37 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), v.aaaa.ovov, (4, 3, 1, 2), (0, 4)) * -1.0 - x38 = np.zeros((nocc[0], nvir[0]), dtype=np.float64) - x38 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x37, (2, 0), (2, 1)) - t1new_aa[np.ix_(soa,sva)] += einsum(x38, (0, 1), (0, 1)) * -1.0 - t1new_aa[np.ix_(soa,sva)] += einsum(x38, (0, 1), (0, 1)) * -1.0 - del x38 - x39 = np.zeros((nocc[0], nocc[0]), dtype=np.float64) - x39 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x12, (2, 1), (0, 2)) - t1new_aa[np.ix_(soa,sva)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x39, (2, 0), (2, 1)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x39, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (1, 2, 3, 4), (0, 2, 3, 4)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x39, (0, 1), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (2, 1, 3, 4, 5, 6), (2, 0, 3, 4, 5, 6)) * 2.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x39, (0, 1), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (1, 2, 3, 4, 5, 6), (0, 2, 3, 4, 5, 6)) * 2.0 - x40 = np.zeros((nocc[0], nocc[0]), dtype=np.float64) - x40 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x11, (2, 1), (0, 2)) - t1new_aa[np.ix_(soa,sva)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x40, (2, 0), (2, 1)) * -1.0 - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x40, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (1, 2, 3, 4), (0, 2, 3, 4)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x40, (0, 1), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (2, 1, 3, 4, 5, 6), (2, 0, 3, 4, 5, 6)) * -2.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x40, (0, 1), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (1, 2, 3, 4, 5, 6), (0, 2, 3, 4, 5, 6)) * -2.0 - x41 = np.zeros((nocc[0], nocc[0]), dtype=np.float64) - x41 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x15, (2, 1), (0, 2)) - t1new_aa[np.ix_(soa,sva)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x41, (2, 0), (2, 1)) * -1.0 - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x41, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (1, 2, 3, 4), (0, 2, 3, 4)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x41, (0, 1), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (2, 1, 3, 4, 5, 6), (2, 0, 3, 4, 5, 6)) * -2.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x41, (0, 1), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (1, 2, 3, 4, 5, 6), (0, 2, 3, 4, 5, 6)) * -2.0 - x42 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x42 += einsum(f.aa.oo, (0, 1), t2.aaaa[np.ix_(soa,soa,sva,sva)], (2, 1, 3, 4), (0, 2, 3, 4)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x42, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x42, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - del x42 - x43 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x43 += einsum(f.aa.vv, (0, 1), t2.aaaa[np.ix_(soa,soa,sva,sva)], (2, 3, 4, 1), (2, 3, 0, 4)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x43, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x43, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 - del x43 - x44 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x44 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aaaa.ooov, (2, 0, 3, 4), (2, 3, 1, 4)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x44, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x44, (0, 1, 2, 3), (1, 0, 2, 3)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x44, (0, 1, 2, 3), (0, 1, 3, 2)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x44, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x44 - x45 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x45 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aaaa.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x45, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x45, (0, 1, 2, 3), (0, 1, 3, 2)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x45, (0, 1, 2, 3), (1, 0, 2, 3)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x45, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x45, (4, 0, 2, 5), (4, 1, 5, 3)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x45, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 1, 5, 6, 2, 7), (4, 0, 5, 6, 3, 7)) * 2.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x45, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (1, 4, 5, 2, 6, 7), (0, 4, 5, 3, 6, 7)) * 2.0 - x46 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x46 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (0, 4, 2, 5)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x46, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x46, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x46, (0, 1, 2, 3), (1, 0, 3, 2)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x46, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x47 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x47 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), v.aaaa.oooo, (4, 0, 5, 1), (4, 5, 2, 3)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x47, (0, 1, 2, 3), (1, 0, 3, 2)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x47, (0, 1, 2, 3), (1, 0, 3, 2)) - del x47 - x48 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x48 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), v.aaaa.oovv, (4, 1, 5, 3), (0, 4, 2, 5)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x48, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x48, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x48, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x48, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 - del x48 - x49 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x49 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), v.aaaa.ovov, (4, 5, 1, 3), (0, 4, 2, 5)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x49, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x49, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x49, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x49, (0, 1, 2, 3), (1, 0, 2, 3)) * -2.0 - x50 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x50 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), v.aaaa.vvvv, (4, 3, 5, 2), (0, 1, 4, 5)) * -1.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x50, (0, 1, 2, 3), (1, 0, 3, 2)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x50, (0, 1, 2, 3), (1, 0, 3, 2)) - del x50 - x51 = np.zeros((navir[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x51 += einsum(v.aabb.oOov, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 2, 1, 5, 3, 6), (6, 4, 0, 5)) - t2new_aaaa[np.ix_(soa,soa,sva,sVa)] += einsum(x51, (0, 1, 2, 3), (2, 1, 3, 0)) * 2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sVa)] += einsum(x51, (0, 1, 2, 3), (1, 2, 3, 0)) * -2.0 - del x51 - x52 = np.zeros((naocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x52 += einsum(v.aabb.vVov, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 2, 5, 6, 3, 1), (5, 4, 6, 0)) - t2new_aaaa[np.ix_(soa,sOa,sva,sva)] += einsum(x52, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 - t2new_aaaa[np.ix_(soa,sOa,sva,sva)] += einsum(x52, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 - del x52 - x53 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x53 += einsum(v.aaaa.ooOV, (0, 1, 2, 3), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (4, 1, 2, 5, 6, 3), (4, 0, 5, 6)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x53, (0, 1, 2, 3), (1, 0, 3, 2)) * -6.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x53, (0, 1, 2, 3), (0, 1, 3, 2)) * 6.0 - del x53 - x54 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x54 += einsum(v.aaaa.vOvV, (0, 1, 2, 3), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (4, 5, 1, 6, 0, 3), (4, 5, 6, 2)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x54, (0, 1, 2, 3), (0, 1, 3, 2)) * 6.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x54, (0, 1, 2, 3), (0, 1, 2, 3)) * -6.0 - del x54 - x55 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x55 += einsum(x26, (0, 1), t2.aaaa[np.ix_(soa,soa,sva,sva)], (2, 0, 3, 4), (1, 2, 3, 4)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x55, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x55, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - del x55 - x56 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x56 += einsum(f.aa.ov, (0, 1), t2.aaaa[np.ix_(soa,soa,sva,sva)], (2, 3, 4, 1), (0, 2, 3, 4)) - x57 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x57 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x56, (0, 2, 3, 4), (2, 3, 1, 4)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x57, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x57, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - del x57 - x58 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x58 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aaaa.oovv, (2, 3, 4, 1), (0, 2, 3, 4)) - x59 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x59 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x58, (2, 3, 0, 4), (2, 3, 1, 4)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x59, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x59, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x59, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x59, (0, 1, 2, 3), (1, 0, 3, 2)) - del x59 - x60 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x60 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aaaa.oooo, (2, 3, 4, 0), (2, 3, 4, 1)) - x61 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x61 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x60, (2, 0, 3, 4), (3, 2, 4, 1)) - del x60 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x61, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x61, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x61 - x62 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x62 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x35, (2, 3, 0, 4), (2, 3, 1, 4)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x62, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x62, (0, 1, 2, 3), (0, 1, 3, 2)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x62, (0, 1, 2, 3), (1, 0, 2, 3)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x62, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x62 - x63 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=np.float64) - x63 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aaaa.vvvv, (2, 3, 4, 1), (0, 2, 3, 4)) - x64 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x64 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x63, (2, 3, 1, 4), (0, 2, 3, 4)) - del x63 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x64, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x64, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x64 - x65 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x65 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.ooov, (4, 5, 1, 3), (0, 4, 5, 2)) - x66 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x66 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x65, (2, 3, 0, 4), (2, 3, 1, 4)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x66, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x66, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x66, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x66, (0, 1, 2, 3), (1, 0, 3, 2)) - del x66 - x67 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=np.float64) - x67 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aabb.vvov, (2, 1, 3, 4), (0, 3, 2, 4)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x67, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x67, (4, 1, 5, 3), (4, 0, 5, 2)) * 2.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x67, (0, 1, 2, 3), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (4, 1, 5, 6, 3, 7), (4, 0, 5, 6, 2, 7)) * 6.0 - x68 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x68 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x67, (4, 1, 5, 3), (4, 0, 2, 5)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x68, (0, 1, 2, 3), (0, 1, 3, 2)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x68, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x68, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x68, (0, 1, 2, 3), (1, 0, 2, 3)) - del x68 - x69 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=np.float64) - x69 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aaaa.ooov, (2, 3, 4, 1), (0, 2, 3, 4)) - x70 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x70 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x69, (4, 5, 0, 1), (4, 5, 2, 3)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x70, (0, 1, 2, 3), (0, 1, 3, 2)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x70, (0, 1, 2, 3), (0, 1, 3, 2)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x70, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x70, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x70 - x71 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x71 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), v.aaaa.ooov, (4, 5, 1, 3), (0, 4, 5, 2)) - x72 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x72 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x71, (2, 3, 0, 4), (2, 3, 1, 4)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x72, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x72, (0, 1, 2, 3), (1, 0, 2, 3)) * -2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x72, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x72, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - del x72 - x73 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x73 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), v.aaaa.ooov, (4, 1, 5, 3), (0, 4, 5, 2)) - x74 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x74 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x73, (2, 3, 0, 4), (2, 3, 1, 4)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x74, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x74, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x74, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x74, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 - del x74 - x75 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x75 += einsum(x27, (0, 1), t2.aaaa[np.ix_(soa,soa,sva,sva)], (2, 1, 3, 4), (2, 0, 3, 4)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x75, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x75, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - del x75 - x76 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x76 += einsum(x28, (0, 1), t2.aaaa[np.ix_(soa,soa,sva,sva)], (2, 1, 3, 4), (2, 0, 3, 4)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x76, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x76, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 - del x76 - x77 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x77 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aaaa.ovvv, (2, 1, 3, 4), (0, 2, 3, 4)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x77, (4, 0, 5, 2), (4, 1, 5, 3)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x77, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 1, 5, 6, 3, 7), (4, 0, 5, 6, 2, 7)) * -2.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x77, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (1, 4, 5, 3, 6, 7), (0, 4, 5, 2, 6, 7)) * -2.0 - x78 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x78 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x77, (4, 1, 5, 3), (4, 0, 2, 5)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x78, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x78, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x78, (0, 1, 2, 3), (1, 0, 2, 3)) * -2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x78, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - del x78 - x79 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x79 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x45, (4, 1, 3, 5), (4, 0, 2, 5)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x79, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x79, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x79, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x79, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 - del x79 - x80 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x80 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), v.aaaa.ovvv, (4, 2, 5, 3), (0, 1, 4, 5)) - x81 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x81 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x80, (2, 3, 0, 4), (2, 3, 1, 4)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x81, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x81, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x81, (0, 1, 2, 3), (0, 1, 3, 2)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x81, (0, 1, 2, 3), (0, 1, 3, 2)) - del x81 - x82 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x82 += einsum(x30, (0, 1), t2.aaaa[np.ix_(soa,soa,sva,sva)], (2, 3, 4, 1), (2, 3, 4, 0)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x82, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x82, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - del x82 - x83 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x83 += einsum(x29, (0, 1), t2.aaaa[np.ix_(soa,soa,sva,sva)], (2, 3, 4, 0), (2, 3, 4, 1)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x83, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x83, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - del x83 - x84 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x84 += einsum(x31, (0, 1), t2.aaaa[np.ix_(soa,soa,sva,sva)], (2, 1, 3, 4), (2, 0, 3, 4)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x84, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x84, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 - del x84 - x85 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x85 += einsum(x32, (0, 1), t2.aaaa[np.ix_(soa,soa,sva,sva)], (2, 3, 4, 1), (2, 3, 4, 0)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x85, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x85, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x85 - x86 = np.zeros((naocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x86 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aabb.vOov, (1, 2, 3, 4), (2, 0, 3, 4)) - x87 = np.zeros((navir[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x87 += einsum(x86, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 2, 0, 5, 3, 6), (6, 1, 4, 5)) - del x86 - t2new_aaaa[np.ix_(soa,soa,sva,sVa)] += einsum(x87, (0, 1, 2, 3), (1, 2, 3, 0)) * 2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sVa)] += einsum(x87, (0, 1, 2, 3), (2, 1, 3, 0)) * -2.0 - del x87 - x88 = np.zeros((naocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x88 += einsum(v.aabb.oVov, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 2, 5, 6, 3, 1), (5, 4, 0, 6)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), x88, (4, 5, 0, 6), (5, 1, 4, 6, 3, 2)) * -2.0 - x89 = np.zeros((naocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x89 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x88, (2, 3, 0, 4), (2, 3, 1, 4)) - t2new_aaaa[np.ix_(soa,sOa,sva,sva)] += einsum(x89, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 - t2new_aaaa[np.ix_(soa,sOa,sva,sva)] += einsum(x89, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 - del x89 - x90 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0]), dtype=np.float64) - x90 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aaaa.ovOV, (2, 1, 3, 4), (3, 4, 0, 2)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x90, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (3, 4, 0, 5, 6, 1), (2, 4, 5, 6)) * -1.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x90, (4, 5, 6, 0), (6, 1, 4, 2, 3, 5)) * -1.0 - x91 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x91 += einsum(x90, (0, 1, 2, 3), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (4, 3, 0, 5, 6, 1), (2, 4, 5, 6)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x91, (0, 1, 2, 3), (0, 1, 3, 2)) * -3.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x91, (0, 1, 2, 3), (1, 0, 3, 2)) * 3.0 - del x91 - x92 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0]), dtype=np.float64) - x92 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aaaa.oVvO, (2, 3, 1, 4), (4, 3, 0, 2)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x92, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (3, 4, 0, 5, 6, 1), (2, 4, 5, 6)) - x93 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x93 += einsum(x92, (0, 1, 2, 3), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (4, 3, 0, 5, 6, 1), (2, 4, 5, 6)) - del x92 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x93, (0, 1, 2, 3), (0, 1, 3, 2)) * 3.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x93, (0, 1, 2, 3), (1, 0, 3, 2)) * -3.0 - del x93 - x94 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x94 += einsum(v.aaaa.ovOV, (0, 1, 2, 3), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (4, 5, 2, 6, 1, 3), (4, 5, 0, 6)) - x95 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x95 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x94, (2, 3, 0, 4), (2, 3, 1, 4)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x95, (0, 1, 2, 3), (0, 1, 2, 3)) * 6.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x95, (0, 1, 2, 3), (0, 1, 3, 2)) * -6.0 - del x95 - x96 = np.zeros((naocc[0], navir[0]), dtype=np.float64) - x96 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aaaa.ovOV, (0, 1, 2, 3), (2, 3)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x96, (0, 1), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) * 6.0 - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x96, (0, 1), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) * 2.0 - del x96 - x97 = np.zeros((naocc[0], navir[0]), dtype=np.float64) - x97 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aaaa.oVvO, (0, 2, 1, 3), (3, 2)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x97, (0, 1), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) * -6.0 - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x97, (0, 1), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) * -2.0 - del x97 - x98 = np.zeros((naocc[0], navir[0]), dtype=np.float64) - x98 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.aabb.OVov, (2, 3, 0, 1), (2, 3)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x98, (0, 1), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) * 6.0 - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x98, (0, 1), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) * 2.0 - del x98 - x99 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=np.float64) - x99 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.bbbb.ovov, (4, 5, 1, 3), (0, 4, 2, 5)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x99, (0, 1, 2, 3), (0, 1, 2, 3)) - x100 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x100 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x99, (4, 1, 5, 3), (4, 0, 5, 2)) - del x99 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x100, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x100, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x100 - x101 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=np.float64) - x101 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.bbbb.ovov, (4, 3, 1, 5), (0, 4, 2, 5)) - x102 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x102 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x101, (4, 1, 5, 3), (4, 0, 5, 2)) - del x101 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x102, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x102, (0, 1, 2, 3), (0, 1, 3, 2)) - del x102 - x103 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x103 += einsum(x34, (0, 1), t2.aaaa[np.ix_(soa,soa,sva,sva)], (2, 1, 3, 4), (2, 0, 3, 4)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x103, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x103, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - del x103 - x104 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x104 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x46, (4, 1, 5, 3), (0, 4, 2, 5)) - del x46 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x104, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x104, (0, 1, 2, 3), (1, 0, 2, 3)) * -2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x104, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x104, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x104 - x105 = np.zeros((nvir[0], nvir[0]), dtype=np.float64) - x105 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.ovov, (0, 4, 1, 3), (2, 4)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x105, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (2, 3, 1, 4), (2, 3, 0, 4)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x105, (0, 1), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (2, 3, 4, 5, 1, 6), (2, 3, 4, 5, 0, 6)) * -2.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x105, (0, 1), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (2, 3, 4, 1, 5, 6), (2, 3, 4, 0, 5, 6)) * -2.0 - x106 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x106 += einsum(x105, (0, 1), t2.aaaa[np.ix_(soa,soa,sva,sva)], (2, 3, 4, 1), (2, 3, 4, 0)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x106, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x106, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - del x106 - x107 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x107 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x49, (4, 1, 5, 3), (4, 0, 5, 2)) - del x49 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x107, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x107, (0, 1, 2, 3), (0, 1, 3, 2)) * -4.0 - del x107 - x108 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x108 += einsum(x37, (0, 1), t2.aaaa[np.ix_(soa,soa,sva,sva)], (2, 1, 3, 4), (2, 0, 3, 4)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x108, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x108, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x108, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x108, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 - del x108 - x109 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x109 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), v.aaaa.ovov, (4, 3, 1, 5), (0, 4, 2, 5)) - x110 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x110 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x109, (4, 1, 5, 3), (4, 0, 5, 2)) - del x109 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x110, (0, 1, 2, 3), (0, 1, 2, 3)) * -4.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x110, (0, 1, 2, 3), (0, 1, 3, 2)) * 4.0 - del x110 - x111 = np.zeros((nvir[0], nvir[0]), dtype=np.float64) - x111 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), v.aaaa.ovov, (0, 4, 1, 3), (2, 4)) - x112 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x112 += einsum(x111, (0, 1), t2.aaaa[np.ix_(soa,soa,sva,sva)], (2, 3, 4, 1), (2, 3, 4, 0)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x112, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x112, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x112, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x112, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - del x112 - x113 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=np.float64) - x113 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), v.aaaa.ovov, (4, 2, 5, 3), (0, 1, 4, 5)) - x114 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x114 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x113, (4, 5, 0, 1), (5, 4, 2, 3)) * -1.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x114, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x114, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x114 - x115 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x115 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x69, (2, 3, 4, 0), (2, 4, 3, 1)) - x116 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x116 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x115, (2, 0, 3, 4), (2, 3, 1, 4)) - del x115 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x116, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x116, (0, 1, 2, 3), (0, 1, 3, 2)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x116, (0, 1, 2, 3), (1, 0, 2, 3)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x116, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x116 - x117 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x117 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x45, (2, 3, 1, 4), (0, 2, 3, 4)) - x118 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x118 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x117, (2, 3, 0, 4), (2, 3, 1, 4)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x118, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x118, (0, 1, 2, 3), (1, 0, 2, 3)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x118, (0, 1, 2, 3), (0, 1, 3, 2)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x118, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x118 - x119 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x119 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x33, (4, 5, 1, 3), (4, 0, 5, 2)) - x120 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x120 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x119, (2, 3, 0, 4), (2, 3, 1, 4)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x120, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x120, (0, 1, 2, 3), (0, 1, 3, 2)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x120, (0, 1, 2, 3), (1, 0, 2, 3)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x120, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x120 - x121 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=np.float64) - x121 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x35, (2, 3, 4, 1), (2, 0, 4, 3)) - x122 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x122 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x121, (4, 5, 0, 1), (5, 4, 2, 3)) * -1.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x122, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x122, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x122 - x123 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x123 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x35, (4, 1, 5, 3), (4, 0, 5, 2)) - x124 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x124 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x123, (2, 3, 0, 4), (2, 3, 1, 4)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x124, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x124, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x124, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x124, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 - del x124 - x125 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x125 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x35, (4, 5, 1, 3), (4, 0, 5, 2)) - x126 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x126 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x125, (2, 3, 0, 4), (2, 3, 1, 4)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x126, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x126, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x126, (0, 1, 2, 3), (1, 0, 2, 3)) * -2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x126, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - del x126 - x127 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x127 += einsum(x39, (0, 1), t2.aaaa[np.ix_(soa,soa,sva,sva)], (2, 1, 3, 4), (0, 2, 3, 4)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x127, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x127, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 - del x127 - x128 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x128 += einsum(x40, (0, 1), t2.aaaa[np.ix_(soa,soa,sva,sva)], (2, 1, 3, 4), (0, 2, 3, 4)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x128, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x128, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - del x128 - x129 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x129 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x113, (2, 3, 0, 4), (2, 3, 4, 1)) * -1.0 - x130 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x130 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x129, (2, 3, 0, 4), (2, 3, 4, 1)) * -1.0 - del x129 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x130, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x130, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x130 - x131 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x131 += einsum(x11, (0, 1), t2.aaaa[np.ix_(soa,soa,sva,sva)], (2, 3, 4, 1), (2, 3, 0, 4)) - x132 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x132 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x131, (2, 3, 0, 4), (2, 3, 1, 4)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x132, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x132, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - del x132 - x133 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x133 += einsum(x12, (0, 1), t2.aaaa[np.ix_(soa,soa,sva,sva)], (2, 3, 4, 1), (2, 3, 0, 4)) - x134 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x134 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x133, (2, 3, 0, 4), (2, 3, 1, 4)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x134, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x134, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - del x134 - x135 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x135 += einsum(x41, (0, 1), t2.aaaa[np.ix_(soa,soa,sva,sva)], (2, 1, 3, 4), (0, 2, 3, 4)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x135, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x135, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - del x135 - x136 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x136 += einsum(x15, (0, 1), t2.aaaa[np.ix_(soa,soa,sva,sva)], (2, 3, 4, 1), (2, 3, 0, 4)) - x137 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x137 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x136, (2, 3, 0, 4), (2, 3, 1, 4)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x137, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x137, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - del x137 - x138 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x138 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x121, (2, 3, 0, 4), (3, 2, 4, 1)) - x139 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x139 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x138, (2, 3, 0, 4), (2, 3, 1, 4)) - del x138 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x139, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x139, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x139 - x140 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=np.float64) - x140 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.aabb.ovvv, (2, 3, 4, 1), (2, 0, 3, 4)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x140, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x140, (1, 4, 3, 5), (0, 4, 2, 5)) * 2.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x140, (0, 1, 2, 3), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (4, 0, 5, 6, 2, 7), (4, 1, 5, 6, 3, 7)) * 6.0 - x141 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=np.float64) - x141 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aaaa.ovov, (4, 5, 0, 2), (4, 1, 5, 3)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x141, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x141, (1, 4, 3, 5), (0, 4, 2, 5)) * 2.0 - x142 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=np.float64) - x142 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (4, 0, 5, 2)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x142, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x142, (1, 4, 3, 5), (0, 4, 2, 5)) * 4.0 - x143 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x143 += einsum(f.aa.ov, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (2, 3, 1, 4), (0, 2, 3, 4)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x143, (0, 2, 3, 4), (2, 3, 1, 4)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sOb,sva,sVb)], (0, 1, 2, 3), x143, (0, 4, 5, 6), (5, 4, 1, 6, 2, 3)) * -1.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sVa)], (0, 1, 2, 3), x143, (0, 4, 5, 6), (4, 5, 1, 2, 6, 3)) * -2.0 - del x143 - x144 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x144 += einsum(f.bb.ov, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (2, 3, 4, 1), (2, 0, 3, 4)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x144, (2, 0, 3, 4), (2, 3, 4, 1)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.bbbb[np.ix_(sob,sOb,svb,sVb)], (0, 1, 2, 3), x144, (4, 0, 5, 6), (5, 4, 1, 2, 6, 3)) * -2.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(sOa,sob,sVa,svb)], (0, 1, 2, 3), x144, (4, 1, 5, 6), (4, 5, 0, 6, 3, 2)) * -1.0 - del x144 - x145 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x145 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.aabb.oovv, (2, 3, 4, 1), (2, 3, 0, 4)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x145, (2, 0, 3, 4), (2, 3, 1, 4)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sOb,sva,sVb)], (0, 1, 2, 3), x145, (4, 0, 5, 6), (5, 4, 1, 6, 2, 3)) * -1.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sVa)], (0, 1, 2, 3), x145, (4, 0, 5, 6), (4, 5, 1, 2, 6, 3)) * -2.0 - del x145 - x146 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x146 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.aabb.oooo, (2, 3, 4, 0), (2, 3, 4, 1)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x146, (2, 0, 3, 4), (2, 3, 1, 4)) - del x146 - x147 = np.zeros((nocc[1], nvir[0], nvir[0], nvir[1]), dtype=np.float64) - x147 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.aabb.vvvv, (2, 3, 4, 1), (0, 2, 3, 4)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x147, (2, 3, 1, 4), (0, 2, 3, 4)) - del x147 - x148 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x148 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aabb.vvoo, (2, 1, 3, 4), (0, 3, 4, 2)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x148, (2, 3, 0, 4), (2, 3, 4, 1)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.bbbb[np.ix_(sob,sOb,svb,sVb)], (0, 1, 2, 3), x148, (4, 5, 0, 6), (5, 4, 1, 2, 6, 3)) * -2.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(sOa,sob,sVa,svb)], (0, 1, 2, 3), x148, (4, 5, 1, 6), (4, 5, 0, 6, 3, 2)) * -1.0 - del x148 - x149 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x149 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aaaa.ooov, (4, 5, 0, 2), (4, 5, 1, 3)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x149, (2, 0, 3, 4), (2, 3, 1, 4)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sOb,sva,sVb)], (0, 1, 2, 3), x149, (4, 0, 5, 6), (5, 4, 1, 6, 2, 3)) * -1.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sVa)], (0, 1, 2, 3), x149, (4, 0, 5, 6), (4, 5, 1, 2, 6, 3)) * -2.0 - del x149 - x150 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x150 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aaaa.ooov, (4, 0, 5, 2), (4, 5, 1, 3)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x150, (2, 0, 3, 4), (2, 3, 1, 4)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sOb,sva,sVb)], (0, 1, 2, 3), x150, (4, 0, 5, 6), (5, 4, 1, 6, 2, 3)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sVa)], (0, 1, 2, 3), x150, (4, 0, 5, 6), (4, 5, 1, 2, 6, 3)) * 2.0 - del x150 - x151 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=np.float64) - x151 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aabb.ovoo, (2, 1, 3, 4), (0, 2, 3, 4)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x151, (4, 0, 5, 1), (4, 5, 2, 3)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x151, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (3, 1, 4, 5, 6, 7), (2, 0, 4, 5, 6, 7)) * 2.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x151, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (1, 3, 4, 5, 6, 7), (0, 2, 4, 5, 6, 7)) * 2.0 - x152 = np.zeros((nocc[0], nocc[0], nvir[1], nvir[1]), dtype=np.float64) - x152 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aabb.ovvv, (2, 1, 3, 4), (0, 2, 3, 4)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x152, (4, 0, 5, 3), (4, 1, 2, 5)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x152, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 1, 5, 3, 6, 7), (4, 0, 5, 2, 6, 7)) * -2.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x152, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (1, 4, 5, 6, 3, 7), (0, 4, 5, 6, 2, 7)) * -2.0 - del x152 - x153 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x153 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.ovoo, (4, 2, 5, 1), (0, 4, 5, 3)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x153, (2, 0, 3, 4), (2, 3, 1, 4)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sOb,sva,sVb)], (0, 1, 2, 3), x153, (4, 0, 5, 6), (5, 4, 1, 6, 2, 3)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sVa)], (0, 1, 2, 3), x153, (4, 0, 5, 6), (4, 5, 1, 2, 6, 3)) * 2.0 - del x153 - x154 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x154 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.ovvv, (4, 2, 5, 3), (0, 4, 1, 5)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x154, (2, 0, 3, 4), (2, 3, 1, 4)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sOb,sva,sVb)], (0, 1, 2, 3), x154, (4, 0, 5, 6), (5, 4, 1, 6, 2, 3)) * -1.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sVa)], (0, 1, 2, 3), x154, (4, 0, 5, 6), (4, 5, 1, 2, 6, 3)) * -2.0 - del x154 - x155 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x155 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), v.aabb.ooov, (4, 5, 1, 3), (4, 5, 0, 2)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x155, (2, 0, 3, 4), (2, 3, 1, 4)) * -2.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sOb,sva,sVb)], (0, 1, 2, 3), x155, (4, 0, 5, 6), (5, 4, 1, 6, 2, 3)) * -2.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sVa)], (0, 1, 2, 3), x155, (4, 0, 5, 6), (4, 5, 1, 2, 6, 3)) * -4.0 - del x155 - x156 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=np.float64) - x156 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.aabb.ooov, (2, 3, 4, 1), (2, 3, 0, 4)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x156, (4, 0, 5, 1), (4, 5, 2, 3)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x156, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (3, 1, 4, 5, 6, 7), (2, 0, 4, 5, 6, 7)) * 2.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x156, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (1, 3, 4, 5, 6, 7), (0, 2, 4, 5, 6, 7)) * 2.0 - x157 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x157 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.bbbb.ooov, (4, 5, 1, 3), (0, 4, 5, 2)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x157, (2, 3, 0, 4), (2, 3, 4, 1)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.bbbb[np.ix_(sob,sOb,svb,sVb)], (0, 1, 2, 3), x157, (4, 5, 0, 6), (5, 4, 1, 2, 6, 3)) * -2.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(sOa,sob,sVa,svb)], (0, 1, 2, 3), x157, (4, 5, 1, 6), (4, 5, 0, 6, 3, 2)) * -1.0 - del x157 - x158 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x158 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.bbbb.ooov, (4, 1, 5, 3), (0, 4, 5, 2)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x158, (2, 3, 0, 4), (2, 3, 4, 1)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.bbbb[np.ix_(sob,sOb,svb,sVb)], (0, 1, 2, 3), x158, (4, 5, 0, 6), (5, 4, 1, 2, 6, 3)) * 2.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(sOa,sob,sVa,svb)], (0, 1, 2, 3), x158, (4, 5, 1, 6), (4, 5, 0, 6, 3, 2)) - del x158 - x159 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x159 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.ooov, (4, 0, 5, 3), (4, 1, 5, 2)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x159, (2, 3, 0, 4), (2, 3, 4, 1)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.bbbb[np.ix_(sob,sOb,svb,sVb)], (0, 1, 2, 3), x159, (4, 5, 0, 6), (5, 4, 1, 2, 6, 3)) * 2.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(sOa,sob,sVa,svb)], (0, 1, 2, 3), x159, (4, 5, 1, 6), (4, 5, 0, 6, 3, 2)) - del x159 - x160 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x160 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.bbbb.ovvv, (2, 1, 3, 4), (0, 2, 3, 4)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x160, (4, 1, 5, 3), (0, 4, 2, 5)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x160, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (1, 4, 5, 3, 6, 7), (0, 4, 5, 2, 6, 7)) * -2.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x160, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 1, 5, 6, 3, 7), (4, 0, 5, 6, 2, 7)) * -2.0 - x161 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x161 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.bbbb.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x161, (4, 1, 3, 5), (0, 4, 2, 5)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x161, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x161, (0, 1, 2, 3), (0, 1, 3, 2)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x161, (0, 1, 2, 3), (1, 0, 2, 3)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x161, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x161, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (1, 4, 5, 2, 6, 7), (0, 4, 5, 3, 6, 7)) * 2.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x161, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 1, 5, 6, 2, 7), (4, 0, 5, 6, 3, 7)) * 2.0 - x162 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=np.float64) - x162 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.aabb.vvov, (2, 3, 4, 1), (0, 4, 2, 3)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x162, (4, 1, 5, 2), (0, 4, 5, 3)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x162, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (1, 4, 5, 6, 3, 7), (0, 4, 5, 6, 2, 7)) * -2.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x162, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 1, 5, 3, 6, 7), (4, 0, 5, 2, 6, 7)) * -2.0 - x163 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x163 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.vvov, (4, 2, 5, 3), (0, 1, 5, 4)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x163, (2, 3, 0, 4), (2, 3, 4, 1)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.bbbb[np.ix_(sob,sOb,svb,sVb)], (0, 1, 2, 3), x163, (4, 5, 0, 6), (5, 4, 1, 2, 6, 3)) * -2.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(sOa,sob,sVa,svb)], (0, 1, 2, 3), x163, (4, 5, 1, 6), (4, 5, 0, 6, 3, 2)) * -1.0 - del x163 - x164 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x164 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), v.aabb.ovoo, (1, 3, 4, 5), (0, 4, 5, 2)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x164, (2, 3, 0, 4), (2, 3, 4, 1)) * -2.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.bbbb[np.ix_(sob,sOb,svb,sVb)], (0, 1, 2, 3), x164, (4, 5, 0, 6), (5, 4, 1, 2, 6, 3)) * -4.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(sOa,sob,sVa,svb)], (0, 1, 2, 3), x164, (4, 5, 1, 6), (4, 5, 0, 6, 3, 2)) * -2.0 - del x164 - x165 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x165 += einsum(v.aaaa.ovOV, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 5, 2, 1, 6, 3), (4, 0, 5, 6)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x165, (2, 0, 3, 4), (2, 3, 1, 4)) * -2.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sOb,sva,sVb)], (0, 1, 2, 3), x165, (4, 0, 5, 6), (5, 4, 1, 6, 2, 3)) * -2.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sVa)], (0, 1, 2, 3), x165, (4, 0, 5, 6), (4, 5, 1, 2, 6, 3)) * -4.0 - del x165 - x166 = np.zeros((naocc[1], navir[1], nocc[0], nocc[0]), dtype=np.float64) - x166 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aabb.ovOV, (2, 1, 3, 4), (3, 4, 0, 2)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x166, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 3, 0, 5, 6, 1), (2, 4, 6, 5)) * -2.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x166, (4, 5, 6, 0), (1, 6, 4, 3, 2, 5)) * -1.0 - x167 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x167 += einsum(v.aabb.ovOV, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 5, 2, 6, 1, 3), (5, 0, 4, 6)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x167, (2, 0, 3, 4), (2, 3, 1, 4)) * -2.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sOb,sva,sVb)], (0, 1, 2, 3), x167, (4, 0, 5, 6), (5, 4, 1, 6, 2, 3)) * -2.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sVa)], (0, 1, 2, 3), x167, (4, 0, 5, 6), (4, 5, 1, 2, 6, 3)) * -4.0 - del x167 - x168 = np.zeros((naocc[1], navir[1]), dtype=np.float64) - x168 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aabb.ovOV, (0, 1, 2, 3), (2, 3)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x168, (0, 1), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (2, 3, 0, 4, 5, 1), (3, 2, 5, 4)) * 2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x168, (0, 1), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) * 6.0 - del x168 - x169 = np.zeros((naocc[0], navir[0], nocc[1], nocc[1]), dtype=np.float64) - x169 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.aabb.OVov, (2, 3, 4, 1), (2, 3, 0, 4)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x169, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 3, 0, 5, 6, 1), (4, 2, 5, 6)) * -2.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x169, (4, 5, 6, 1), (0, 6, 4, 2, 3, 5)) * -1.0 - x170 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x170 += einsum(v.aabb.OVov, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 5, 0, 6, 3, 1), (4, 5, 2, 6)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x170, (2, 3, 0, 4), (2, 3, 4, 1)) * -2.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.bbbb[np.ix_(sob,sOb,svb,sVb)], (0, 1, 2, 3), x170, (4, 5, 0, 6), (5, 4, 1, 2, 6, 3)) * -4.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(sOa,sob,sVa,svb)], (0, 1, 2, 3), x170, (4, 5, 1, 6), (4, 5, 0, 6, 3, 2)) * -2.0 - del x170 - x171 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1]), dtype=np.float64) - x171 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.bbbb.ovOV, (2, 1, 3, 4), (3, 4, 0, 2)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x171, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (3, 4, 0, 5, 6, 1), (4, 2, 6, 5)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x171, (4, 5, 6, 1), (6, 0, 4, 3, 2, 5)) * -1.0 - x172 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1]), dtype=np.float64) - x172 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.bbbb.oVvO, (2, 3, 1, 4), (4, 3, 0, 2)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x172, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (3, 4, 0, 5, 6, 1), (4, 2, 6, 5)) - x173 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x173 += einsum(v.bbbb.ovOV, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 5, 2, 1, 6, 3), (5, 4, 0, 6)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x173, (2, 3, 0, 4), (2, 3, 4, 1)) * -2.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.bbbb[np.ix_(sob,sOb,svb,sVb)], (0, 1, 2, 3), x173, (4, 5, 0, 6), (5, 4, 1, 2, 6, 3)) * -4.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(sOa,sob,sVa,svb)], (0, 1, 2, 3), x173, (4, 5, 1, 6), (4, 5, 0, 6, 3, 2)) * -2.0 - del x173 - x174 = np.zeros((naocc[1], navir[1]), dtype=np.float64) - x174 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.bbbb.ovOV, (0, 1, 2, 3), (2, 3)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x174, (0, 1), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (2, 3, 0, 4, 5, 1), (3, 2, 5, 4)) * 2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x174, (0, 1), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) * 6.0 - del x174 - x175 = np.zeros((naocc[1], navir[1]), dtype=np.float64) - x175 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.bbbb.oVvO, (0, 2, 1, 3), (3, 2)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x175, (0, 1), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (2, 3, 0, 4, 5, 1), (3, 2, 5, 4)) * -2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x175, (0, 1), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) * -6.0 - del x175 - x176 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=np.float64) - x176 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.ovov, (4, 2, 5, 3), (0, 4, 1, 5)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x176, (4, 0, 5, 1), (4, 5, 2, 3)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x176, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (3, 1, 4, 5, 6, 7), (2, 0, 4, 5, 6, 7)) * 2.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x176, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (1, 3, 4, 5, 6, 7), (0, 2, 4, 5, 6, 7)) * 2.0 - x177 = np.zeros((nvir[1], nvir[1]), dtype=np.float64) - x177 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.ovov, (0, 2, 1, 4), (3, 4)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x177, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (2, 3, 4, 1), (2, 3, 4, 0)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x177, (0, 1), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (2, 3, 4, 1, 5, 6), (2, 3, 4, 0, 5, 6)) * -2.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x177, (0, 1), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (2, 3, 4, 5, 1, 6), (2, 3, 4, 5, 0, 6)) * -2.0 - x178 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=np.float64) - x178 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.ovov, (0, 4, 5, 3), (1, 5, 2, 4)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x178, (4, 1, 5, 2), (0, 4, 5, 3)) - del x178 - x179 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x179 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 5), (1, 4, 3, 5)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x179, (4, 1, 5, 3), (0, 4, 2, 5)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x179, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x179, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x179, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x179, (0, 1, 2, 3), (1, 0, 3, 2)) - del x179 - x180 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x180 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), v.bbbb.ovov, (4, 5, 1, 3), (0, 4, 2, 5)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x180, (4, 1, 5, 3), (0, 4, 2, 5)) * 2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x180, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x180, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x180, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x180, (0, 1, 2, 3), (1, 0, 2, 3)) * -2.0 - x181 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=np.float64) - x181 += einsum(x18, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (2, 1, 3, 4), (2, 0, 3, 4)) * -1.0 - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x181, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x181, (0, 1, 2, 3), (0, 1, 2, 3)) - del x181 - x182 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x182 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), v.bbbb.ovov, (4, 3, 1, 5), (0, 4, 2, 5)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x182, (4, 1, 5, 3), (0, 4, 2, 5)) * -2.0 - x183 = np.zeros((nvir[1], nvir[1]), dtype=np.float64) - x183 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), v.bbbb.ovov, (0, 4, 1, 3), (2, 4)) - x184 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=np.float64) - x184 += einsum(x183, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (2, 3, 4, 1), (2, 3, 4, 0)) * -1.0 - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x184, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x184, (0, 1, 2, 3), (0, 1, 2, 3)) - del x184 - x185 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=np.float64) - x185 += einsum(x111, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (2, 3, 1, 4), (2, 3, 0, 4)) * -1.0 - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x185, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x185, (0, 1, 2, 3), (0, 1, 2, 3)) - del x185 - x186 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=np.float64) - x186 += einsum(x37, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (1, 2, 3, 4), (0, 2, 3, 4)) * -1.0 - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x186, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x186, (0, 1, 2, 3), (0, 1, 2, 3)) - del x186 - x187 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=np.float64) - x187 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aaaa.ovov, (4, 2, 0, 5), (4, 1, 5, 3)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x187, (1, 4, 3, 5), (0, 4, 2, 5)) * -2.0 - x188 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x188 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x140, (2, 3, 1, 4), (0, 2, 3, 4)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x188, (2, 0, 3, 4), (2, 3, 1, 4)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sOb,sva,sVb)], (0, 1, 2, 3), x188, (4, 0, 5, 6), (5, 4, 1, 6, 2, 3)) * -1.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sVa)], (0, 1, 2, 3), x188, (4, 0, 5, 6), (4, 5, 1, 2, 6, 3)) * -2.0 - del x188 - x189 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x189 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x151, (2, 3, 4, 0), (2, 3, 4, 1)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x189, (2, 0, 3, 4), (2, 3, 1, 4)) - del x189 - x190 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x190 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x156, (2, 3, 4, 0), (3, 2, 4, 1)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x190, (0, 2, 3, 4), (2, 3, 1, 4)) - del x190 - x191 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x191 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x162, (2, 3, 4, 1), (0, 2, 3, 4)) - del x162 - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x191, (2, 3, 0, 4), (2, 3, 4, 1)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.bbbb[np.ix_(sob,sOb,svb,sVb)], (0, 1, 2, 3), x191, (4, 5, 0, 6), (5, 4, 1, 2, 6, 3)) * -2.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(sOa,sob,sVa,svb)], (0, 1, 2, 3), x191, (4, 5, 1, 6), (4, 5, 0, 6, 3, 2)) * -1.0 - del x191 - x192 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x192 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x35, (4, 0, 5, 2), (4, 5, 1, 3)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x192, (2, 0, 3, 4), (2, 3, 1, 4)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sOb,sva,sVb)], (0, 1, 2, 3), x192, (4, 0, 5, 6), (5, 4, 1, 6, 2, 3)) * -1.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sVa)], (0, 1, 2, 3), x192, (4, 0, 5, 6), (4, 5, 1, 2, 6, 3)) * -2.0 - del x192 - x193 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x193 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x35, (4, 5, 0, 2), (4, 5, 1, 3)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x193, (2, 0, 3, 4), (2, 3, 1, 4)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sOb,sva,sVb)], (0, 1, 2, 3), x193, (4, 0, 5, 6), (5, 4, 1, 6, 2, 3)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sVa)], (0, 1, 2, 3), x193, (4, 0, 5, 6), (4, 5, 1, 2, 6, 3)) * 2.0 - del x193 - x194 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x194 += einsum(x11, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (2, 3, 1, 4), (2, 0, 3, 4)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x194, (2, 0, 3, 4), (2, 3, 1, 4)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sOb,sva,sVb)], (0, 1, 2, 3), x194, (4, 0, 5, 6), (5, 4, 1, 6, 2, 3)) * -1.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sVa)], (0, 1, 2, 3), x194, (4, 0, 5, 6), (4, 5, 1, 2, 6, 3)) * -2.0 - del x194 - x195 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x195 += einsum(x12, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (2, 3, 1, 4), (2, 0, 3, 4)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x195, (2, 0, 3, 4), (2, 3, 1, 4)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sOb,sva,sVb)], (0, 1, 2, 3), x195, (4, 0, 5, 6), (5, 4, 1, 6, 2, 3)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sVa)], (0, 1, 2, 3), x195, (4, 0, 5, 6), (4, 5, 1, 2, 6, 3)) * 2.0 - del x195 - x196 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x196 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x33, (4, 5, 1, 3), (4, 5, 0, 2)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x196, (2, 0, 3, 4), (2, 3, 1, 4)) * -2.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sOb,sva,sVb)], (0, 1, 2, 3), x196, (4, 0, 5, 6), (5, 4, 1, 6, 2, 3)) * -2.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sVa)], (0, 1, 2, 3), x196, (4, 0, 5, 6), (4, 5, 1, 2, 6, 3)) * -4.0 - del x196 - x197 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=np.float64) - x197 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x13, (2, 3, 4, 1), (0, 2, 3, 4)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x197, (4, 0, 5, 1), (4, 5, 2, 3)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x197, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (3, 1, 4, 5, 6, 7), (2, 0, 4, 5, 6, 7)) * 2.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x197, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (1, 3, 4, 5, 6, 7), (0, 2, 4, 5, 6, 7)) * 2.0 - x198 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x198 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x33, (4, 0, 5, 3), (4, 1, 5, 2)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x198, (2, 3, 0, 4), (2, 3, 4, 1)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.bbbb[np.ix_(sob,sOb,svb,sVb)], (0, 1, 2, 3), x198, (4, 5, 0, 6), (5, 4, 1, 2, 6, 3)) * 2.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(sOa,sob,sVa,svb)], (0, 1, 2, 3), x198, (4, 5, 1, 6), (4, 5, 0, 6, 3, 2)) - del x198 - x199 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x199 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x13, (4, 5, 1, 2), (0, 4, 5, 3)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x199, (2, 0, 3, 4), (2, 3, 1, 4)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sOb,sva,sVb)], (0, 1, 2, 3), x199, (4, 0, 5, 6), (5, 4, 1, 6, 2, 3)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sVa)], (0, 1, 2, 3), x199, (4, 0, 5, 6), (4, 5, 1, 2, 6, 3)) * 2.0 - del x199 - x200 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x200 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x176, (2, 3, 4, 0), (2, 3, 4, 1)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x200, (2, 0, 3, 4), (2, 3, 1, 4)) - del x200 - x201 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x201 += einsum(x15, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (2, 3, 1, 4), (2, 0, 3, 4)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x201, (2, 0, 3, 4), (2, 3, 1, 4)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sOb,sva,sVb)], (0, 1, 2, 3), x201, (4, 0, 5, 6), (5, 4, 1, 6, 2, 3)) * -1.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sVa)], (0, 1, 2, 3), x201, (4, 0, 5, 6), (4, 5, 1, 2, 6, 3)) * -2.0 - del x201 - x202 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x202 += einsum(x0, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (2, 3, 4, 1), (2, 3, 0, 4)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x202, (2, 3, 0, 4), (2, 3, 4, 1)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.bbbb[np.ix_(sob,sOb,svb,sVb)], (0, 1, 2, 3), x202, (4, 5, 0, 6), (5, 4, 1, 2, 6, 3)) * -2.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(sOa,sob,sVa,svb)], (0, 1, 2, 3), x202, (4, 5, 1, 6), (4, 5, 0, 6, 3, 2)) * -1.0 - del x202 - x203 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x203 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x16, (4, 1, 5, 3), (0, 4, 5, 2)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x203, (2, 3, 0, 4), (2, 3, 4, 1)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.bbbb[np.ix_(sob,sOb,svb,sVb)], (0, 1, 2, 3), x203, (4, 5, 0, 6), (5, 4, 1, 2, 6, 3)) * -2.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(sOa,sob,sVa,svb)], (0, 1, 2, 3), x203, (4, 5, 1, 6), (4, 5, 0, 6, 3, 2)) * -1.0 - del x203 - x204 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x204 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x16, (4, 5, 1, 3), (0, 4, 5, 2)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x204, (2, 3, 0, 4), (2, 3, 4, 1)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.bbbb[np.ix_(sob,sOb,svb,sVb)], (0, 1, 2, 3), x204, (4, 5, 0, 6), (5, 4, 1, 2, 6, 3)) * 2.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(sOa,sob,sVa,svb)], (0, 1, 2, 3), x204, (4, 5, 1, 6), (4, 5, 0, 6, 3, 2)) - del x204 - x205 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x205 += einsum(x1, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (2, 3, 4, 1), (2, 3, 0, 4)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x205, (2, 3, 0, 4), (2, 3, 4, 1)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.bbbb[np.ix_(sob,sOb,svb,sVb)], (0, 1, 2, 3), x205, (4, 5, 0, 6), (5, 4, 1, 2, 6, 3)) * -2.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(sOa,sob,sVa,svb)], (0, 1, 2, 3), x205, (4, 5, 1, 6), (4, 5, 0, 6, 3, 2)) * -1.0 - del x205 - x206 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x206 += einsum(x20, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (2, 3, 4, 1), (2, 3, 0, 4)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x206, (2, 3, 0, 4), (2, 3, 4, 1)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.bbbb[np.ix_(sob,sOb,svb,sVb)], (0, 1, 2, 3), x206, (4, 5, 0, 6), (5, 4, 1, 2, 6, 3)) * 2.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(sOa,sob,sVa,svb)], (0, 1, 2, 3), x206, (4, 5, 1, 6), (4, 5, 0, 6, 3, 2)) - del x206 - x207 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x207 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x13, (1, 4, 5, 3), (0, 4, 5, 2)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x207, (2, 3, 0, 4), (2, 3, 4, 1)) * -2.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.bbbb[np.ix_(sob,sOb,svb,sVb)], (0, 1, 2, 3), x207, (4, 5, 0, 6), (5, 4, 1, 2, 6, 3)) * -4.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(sOa,sob,sVa,svb)], (0, 1, 2, 3), x207, (4, 5, 1, 6), (4, 5, 0, 6, 3, 2)) * -2.0 - del x207 - x208 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x208 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x197, (2, 3, 4, 0), (2, 3, 4, 1)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x208, (2, 0, 3, 4), (2, 3, 1, 4)) - del x208 - x209 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x209 += einsum(f.bb.oo, (0, 1), t2.bbbb[np.ix_(sob,sob,svb,svb)], (2, 1, 3, 4), (0, 2, 3, 4)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x209, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x209, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - del x209 - x210 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x210 += einsum(f.bb.vv, (0, 1), t2.bbbb[np.ix_(sob,sob,svb,svb)], (2, 3, 4, 1), (2, 3, 0, 4)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x210, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x210, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 - del x210 - x211 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x211 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.bbbb.ooov, (2, 0, 3, 4), (2, 3, 1, 4)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x211, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x211, (0, 1, 2, 3), (1, 0, 2, 3)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x211, (0, 1, 2, 3), (0, 1, 3, 2)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x211, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x211 - x212 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x212 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), v.bbbb.oooo, (4, 0, 5, 1), (4, 5, 2, 3)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x212, (0, 1, 2, 3), (1, 0, 3, 2)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x212, (0, 1, 2, 3), (1, 0, 3, 2)) - del x212 - x213 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x213 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), v.bbbb.oovv, (4, 1, 5, 3), (0, 4, 2, 5)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x213, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x213, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x213, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x213, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 - del x213 - x214 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x214 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), v.bbbb.vvvv, (4, 2, 5, 3), (0, 1, 4, 5)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x214, (0, 1, 2, 3), (1, 0, 3, 2)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x214, (0, 1, 2, 3), (1, 0, 3, 2)) - del x214 - x215 = np.zeros((navir[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x215 += einsum(v.aabb.ovoO, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 0, 3, 5, 1, 6), (6, 4, 2, 5)) - t2new_bbbb[np.ix_(sob,sob,svb,sVb)] += einsum(x215, (0, 1, 2, 3), (2, 1, 3, 0)) * 2.0 - t2new_bbbb[np.ix_(sob,sob,svb,sVb)] += einsum(x215, (0, 1, 2, 3), (1, 2, 3, 0)) * -2.0 - del x215 - x216 = np.zeros((naocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x216 += einsum(v.aabb.ovvV, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 0, 5, 6, 1, 3), (5, 4, 6, 2)) - t2new_bbbb[np.ix_(sob,sOb,svb,svb)] += einsum(x216, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 - t2new_bbbb[np.ix_(sob,sOb,svb,svb)] += einsum(x216, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 - del x216 - x217 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x217 += einsum(v.bbbb.ooOV, (0, 1, 2, 3), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (4, 1, 2, 5, 6, 3), (4, 0, 5, 6)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x217, (0, 1, 2, 3), (1, 0, 3, 2)) * -6.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x217, (0, 1, 2, 3), (0, 1, 3, 2)) * 6.0 - del x217 - x218 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x218 += einsum(v.bbbb.vOvV, (0, 1, 2, 3), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (4, 5, 1, 6, 0, 3), (4, 5, 6, 2)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x218, (0, 1, 2, 3), (0, 1, 3, 2)) * 6.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x218, (0, 1, 2, 3), (0, 1, 2, 3)) * -6.0 - del x218 - x219 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x219 += einsum(x4, (0, 1), t2.bbbb[np.ix_(sob,sob,svb,svb)], (2, 0, 3, 4), (1, 2, 3, 4)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x219, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x219, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - del x219 - x220 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x220 += einsum(f.bb.ov, (0, 1), t2.bbbb[np.ix_(sob,sob,svb,svb)], (2, 3, 4, 1), (0, 2, 3, 4)) - x221 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x221 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x220, (0, 2, 3, 4), (2, 3, 1, 4)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x221, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x221, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - del x221 - x222 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x222 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.bbbb.oovv, (2, 3, 4, 1), (0, 2, 3, 4)) - x223 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x223 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x222, (2, 3, 0, 4), (2, 3, 1, 4)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x223, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x223, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x223, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x223, (0, 1, 2, 3), (1, 0, 3, 2)) - del x223 - x224 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x224 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.bbbb.oooo, (2, 3, 4, 0), (2, 3, 4, 1)) - x225 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x225 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x224, (2, 0, 3, 4), (2, 3, 1, 4)) - del x224 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x225, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x225, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x225 - x226 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x226 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x16, (2, 3, 0, 4), (2, 3, 1, 4)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x226, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x226, (0, 1, 2, 3), (0, 1, 3, 2)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x226, (0, 1, 2, 3), (1, 0, 2, 3)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x226, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x226 - x227 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=np.float64) - x227 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.bbbb.vvvv, (2, 3, 4, 1), (0, 2, 3, 4)) - x228 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x228 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x227, (2, 3, 1, 4), (0, 2, 3, 4)) - del x227 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x228, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x228, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x228 - x229 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x229 += einsum(x6, (0, 1), t2.bbbb[np.ix_(sob,sob,svb,svb)], (2, 1, 3, 4), (2, 0, 3, 4)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x229, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x229, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 - del x229 - x230 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x230 += einsum(x5, (0, 1), t2.bbbb[np.ix_(sob,sob,svb,svb)], (2, 3, 4, 1), (2, 3, 4, 0)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x230, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x230, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - del x230 - x231 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x231 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x140, (0, 4, 2, 5), (4, 1, 3, 5)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x231, (0, 1, 2, 3), (0, 1, 3, 2)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x231, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x231, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x231, (0, 1, 2, 3), (1, 0, 2, 3)) - del x231 - x232 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x232 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.ovoo, (0, 2, 4, 5), (1, 4, 5, 3)) - x233 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x233 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x232, (2, 3, 0, 4), (2, 3, 1, 4)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x233, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x233, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x233, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x233, (0, 1, 2, 3), (1, 0, 3, 2)) - del x233 - x234 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=np.float64) - x234 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.bbbb.ooov, (2, 3, 4, 1), (0, 2, 3, 4)) - x235 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x235 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x234, (4, 5, 0, 1), (4, 5, 2, 3)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x235, (0, 1, 2, 3), (0, 1, 3, 2)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x235, (0, 1, 2, 3), (0, 1, 3, 2)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x235, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x235, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x235 - x236 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x236 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), v.bbbb.ooov, (4, 5, 1, 3), (0, 4, 5, 2)) - x237 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x237 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x236, (2, 3, 0, 4), (2, 3, 1, 4)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x237, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x237, (0, 1, 2, 3), (1, 0, 2, 3)) * -2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x237, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x237, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - del x237 - x238 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x238 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), v.bbbb.ooov, (4, 1, 5, 3), (0, 4, 5, 2)) - x239 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x239 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x238, (2, 3, 0, 4), (2, 3, 1, 4)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x239, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x239, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x239, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x239, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 - del x239 - x240 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x240 += einsum(x7, (0, 1), t2.bbbb[np.ix_(sob,sob,svb,svb)], (2, 1, 3, 4), (2, 0, 3, 4)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x240, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x240, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - del x240 - x241 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x241 += einsum(x8, (0, 1), t2.bbbb[np.ix_(sob,sob,svb,svb)], (2, 1, 3, 4), (2, 0, 3, 4)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x241, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x241, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 - del x241 - x242 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x242 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x160, (4, 1, 5, 3), (4, 0, 2, 5)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x242, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x242, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x242, (0, 1, 2, 3), (1, 0, 2, 3)) * -2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x242, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - del x242 - x243 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x243 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x161, (4, 1, 3, 5), (4, 0, 2, 5)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x243, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x243, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x243, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x243, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 - del x243 - x244 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x244 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), v.bbbb.ovvv, (4, 3, 5, 2), (0, 1, 4, 5)) * -1.0 - x245 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x245 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x244, (2, 3, 0, 4), (2, 3, 1, 4)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x245, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x245, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x245, (0, 1, 2, 3), (0, 1, 3, 2)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x245, (0, 1, 2, 3), (0, 1, 3, 2)) - del x245 - x246 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x246 += einsum(x10, (0, 1), t2.bbbb[np.ix_(sob,sob,svb,svb)], (2, 3, 4, 1), (2, 3, 4, 0)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x246, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x246, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - del x246 - x247 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x247 += einsum(x9, (0, 1), t2.bbbb[np.ix_(sob,sob,svb,svb)], (2, 3, 4, 0), (2, 3, 4, 1)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x247, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x247, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - del x247 - x248 = np.zeros((naocc[1], nocc[0], nocc[1], nvir[0]), dtype=np.float64) - x248 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.aabb.ovvO, (2, 3, 1, 4), (4, 2, 0, 3)) - x249 = np.zeros((navir[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x249 += einsum(x248, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 1, 0, 5, 3, 6), (6, 2, 4, 5)) - del x248 - t2new_bbbb[np.ix_(sob,sob,svb,sVb)] += einsum(x249, (0, 1, 2, 3), (1, 2, 3, 0)) * 2.0 - t2new_bbbb[np.ix_(sob,sob,svb,sVb)] += einsum(x249, (0, 1, 2, 3), (2, 1, 3, 0)) * -2.0 - del x249 - x250 = np.zeros((naocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x250 += einsum(v.aabb.ovoV, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 0, 5, 6, 1, 3), (5, 4, 2, 6)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), x250, (4, 5, 1, 6), (5, 0, 4, 6, 2, 3)) * -2.0 - x251 = np.zeros((naocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x251 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x250, (2, 3, 0, 4), (2, 3, 1, 4)) - t2new_bbbb[np.ix_(sob,sOb,svb,svb)] += einsum(x251, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 - t2new_bbbb[np.ix_(sob,sOb,svb,svb)] += einsum(x251, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 - del x251 - x252 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x252 += einsum(x171, (0, 1, 2, 3), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (4, 3, 0, 5, 6, 1), (2, 4, 5, 6)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x252, (0, 1, 2, 3), (0, 1, 3, 2)) * -3.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x252, (0, 1, 2, 3), (1, 0, 3, 2)) * 3.0 - del x252 - x253 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x253 += einsum(x172, (0, 1, 2, 3), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (4, 3, 0, 5, 6, 1), (2, 4, 5, 6)) - del x172 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x253, (0, 1, 2, 3), (0, 1, 3, 2)) * 3.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x253, (0, 1, 2, 3), (1, 0, 3, 2)) * -3.0 - del x253 - x254 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x254 += einsum(v.bbbb.ovOV, (0, 1, 2, 3), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (4, 5, 2, 6, 1, 3), (4, 5, 0, 6)) - x255 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x255 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x254, (2, 3, 0, 4), (2, 3, 1, 4)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x255, (0, 1, 2, 3), (0, 1, 2, 3)) * 6.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x255, (0, 1, 2, 3), (0, 1, 3, 2)) * -6.0 - del x255 - x256 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x256 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x141, (0, 4, 2, 5), (4, 1, 5, 3)) - del x141 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x256, (0, 1, 2, 3), (1, 0, 3, 2)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x256, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x256 - x257 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x257 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x187, (0, 4, 2, 5), (4, 1, 5, 3)) - del x187 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x257, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x257, (0, 1, 2, 3), (1, 0, 2, 3)) - del x257 - x258 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x258 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x142, (0, 4, 2, 5), (1, 4, 3, 5)) - del x142 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x258, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x258, (0, 1, 2, 3), (1, 0, 2, 3)) * -2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x258, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x258, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x258 - x259 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x259 += einsum(x14, (0, 1), t2.bbbb[np.ix_(sob,sob,svb,svb)], (2, 1, 3, 4), (2, 0, 3, 4)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x259, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x259, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 - del x259 - x260 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x260 += einsum(x177, (0, 1), t2.bbbb[np.ix_(sob,sob,svb,svb)], (2, 3, 4, 1), (2, 3, 4, 0)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x260, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x260, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - del x260 - x261 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x261 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x180, (4, 1, 5, 3), (4, 0, 5, 2)) - del x180 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x261, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x261, (0, 1, 2, 3), (0, 1, 3, 2)) * -4.0 - del x261 - x262 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x262 += einsum(x18, (0, 1), t2.bbbb[np.ix_(sob,sob,svb,svb)], (2, 1, 3, 4), (2, 0, 3, 4)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x262, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x262, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x262, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x262, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 - del x262 - x263 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x263 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x182, (4, 1, 5, 3), (4, 0, 5, 2)) - del x182 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x263, (0, 1, 2, 3), (0, 1, 2, 3)) * -4.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x263, (0, 1, 2, 3), (0, 1, 3, 2)) * 4.0 - del x263 - x264 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x264 += einsum(x183, (0, 1), t2.bbbb[np.ix_(sob,sob,svb,svb)], (2, 3, 4, 1), (2, 3, 4, 0)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x264, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x264, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x264, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x264, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - del x264 - x265 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=np.float64) - x265 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), v.bbbb.ovov, (4, 2, 5, 3), (0, 1, 4, 5)) - x266 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x266 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x265, (4, 5, 0, 1), (5, 4, 2, 3)) * -1.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x266, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x266, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x266 - x267 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x267 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x234, (2, 3, 4, 0), (2, 4, 3, 1)) - x268 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x268 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x267, (2, 0, 3, 4), (2, 3, 1, 4)) - del x267 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x268, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x268, (0, 1, 2, 3), (0, 1, 3, 2)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x268, (0, 1, 2, 3), (1, 0, 2, 3)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x268, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x268 - x269 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x269 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x161, (2, 3, 1, 4), (0, 2, 3, 4)) - x270 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x270 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x269, (2, 3, 0, 4), (2, 3, 1, 4)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x270, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x270, (0, 1, 2, 3), (1, 0, 2, 3)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x270, (0, 1, 2, 3), (0, 1, 3, 2)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x270, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x270 - x271 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x271 += einsum(x21, (0, 1), t2.bbbb[np.ix_(sob,sob,svb,svb)], (2, 1, 3, 4), (0, 2, 3, 4)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x271, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x271, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - del x271 - x272 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x272 += einsum(x0, (0, 1), t2.bbbb[np.ix_(sob,sob,svb,svb)], (2, 3, 4, 1), (2, 3, 0, 4)) - x273 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x273 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x272, (2, 3, 0, 4), (2, 3, 1, 4)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x273, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x273, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - del x273 - x274 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x274 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x13, (0, 4, 5, 2), (4, 1, 5, 3)) - x275 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x275 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x274, (2, 3, 0, 4), (2, 3, 1, 4)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x275, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x275, (0, 1, 2, 3), (0, 1, 3, 2)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x275, (0, 1, 2, 3), (1, 0, 2, 3)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x275, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x275 - x276 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=np.float64) - x276 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x16, (2, 3, 4, 1), (2, 0, 4, 3)) - x277 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x277 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x276, (4, 5, 0, 1), (5, 4, 2, 3)) * -1.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x277, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x277, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x277 - x278 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x278 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x16, (4, 1, 5, 3), (4, 0, 5, 2)) - x279 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x279 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x278, (2, 3, 0, 4), (2, 3, 1, 4)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x279, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x279, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x279, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x279, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 - del x279 - x280 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x280 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x16, (4, 5, 1, 3), (4, 0, 5, 2)) - x281 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x281 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x280, (2, 3, 0, 4), (2, 3, 1, 4)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x281, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x281, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x281, (0, 1, 2, 3), (1, 0, 2, 3)) * -2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x281, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - del x281 - x282 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x282 += einsum(x22, (0, 1), t2.bbbb[np.ix_(sob,sob,svb,svb)], (2, 1, 3, 4), (0, 2, 3, 4)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x282, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x282, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 - del x282 - x283 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x283 += einsum(x23, (0, 1), t2.bbbb[np.ix_(sob,sob,svb,svb)], (2, 1, 3, 4), (0, 2, 3, 4)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x283, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x283, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - del x283 - x284 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x284 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x265, (2, 3, 0, 4), (2, 3, 4, 1)) * -1.0 - x285 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x285 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x284, (2, 3, 0, 4), (2, 3, 4, 1)) * -1.0 - del x284 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x285, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x285, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x285 - x286 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x286 += einsum(x1, (0, 1), t2.bbbb[np.ix_(sob,sob,svb,svb)], (2, 3, 4, 1), (2, 3, 0, 4)) - x287 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x287 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x286, (2, 3, 0, 4), (2, 3, 1, 4)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x287, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x287, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - del x287 - x288 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x288 += einsum(x20, (0, 1), t2.bbbb[np.ix_(sob,sob,svb,svb)], (2, 3, 4, 1), (2, 3, 0, 4)) - x289 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x289 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x288, (2, 3, 0, 4), (2, 3, 1, 4)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x289, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x289, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - del x289 - x290 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x290 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x276, (2, 3, 0, 4), (3, 2, 4, 1)) - x291 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x291 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x290, (2, 3, 0, 4), (2, 3, 1, 4)) - del x290 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x291, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x291, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x291 - x292 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x292 += einsum(f.aa.oo, (0, 1), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (2, 1, 3, 4, 5, 6), (3, 6, 0, 2, 4, 5)) - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x292, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -6.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x292, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 6.0 - del x292 - x293 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x293 += einsum(f.aa.vv, (0, 1), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (2, 3, 4, 5, 1, 6), (4, 6, 2, 3, 0, 5)) - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x293, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -6.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x293, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 6.0 - del x293 - x294 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x294 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), v.aaaa.oovO, (4, 1, 5, 6), (6, 3, 0, 4, 2, 5)) * -1.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x294, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x294, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x294, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x294, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - del x294 - x295 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x295 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), v.aaaa.ooOV, (4, 1, 5, 6), (5, 6, 0, 4, 2, 3)) - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x295, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x295, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - del x295 - x296 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x296 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), v.aaaa.ovoO, (4, 5, 1, 6), (6, 3, 0, 4, 2, 5)) * -1.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x296, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x296, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x296, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x296, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -2.0 - del x296 - x297 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x297 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), v.aaaa.oOoV, (1, 4, 5, 6), (4, 6, 0, 5, 2, 3)) - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x297, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x297, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - del x297 - x298 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x298 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sva)], (0, 1, 2, 3), v.aaaa.oooV, (4, 0, 5, 6), (1, 6, 5, 4, 2, 3)) * -1.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x298, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x298, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - del x298 - x299 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x299 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sVa)], (0, 1, 2, 3), v.aaaa.ooov, (4, 0, 5, 6), (1, 3, 4, 5, 2, 6)) - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x299, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x299, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x299, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x299, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - del x299 - x300 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x300 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sva)], (0, 1, 2, 3), v.aaaa.ovvV, (4, 5, 3, 6), (1, 6, 0, 4, 2, 5)) * -1.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x300, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x300, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x300, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x300, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 2.0 - del x300 - x301 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x301 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sVa)], (0, 1, 2, 3), v.aaaa.ovvv, (4, 5, 6, 2), (1, 3, 0, 4, 5, 6)) - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x301, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x301, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x301, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x301, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x301, (4, 5, 6, 0, 2, 7), (6, 1, 4, 7, 3, 5)) * 2.0 - x302 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x302 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sva)], (0, 1, 2, 3), v.aaaa.oVvv, (4, 5, 6, 3), (1, 5, 0, 4, 2, 6)) * -1.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x302, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x302, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x302, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x302, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - del x302 - x303 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x303 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), v.aaaa.vvvO, (4, 2, 5, 6), (6, 3, 0, 1, 5, 4)) * -1.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x303, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x303, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - del x303 - x304 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x304 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), v.aaaa.vvOV, (4, 3, 5, 6), (5, 6, 0, 1, 2, 4)) - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x304, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x304, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - del x304 - x305 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x305 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), v.aaaa.vOvV, (4, 5, 3, 6), (5, 6, 0, 1, 2, 4)) - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x305, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x305, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - del x305 - x306 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x306 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 2, 5, 6, 3, 7), (5, 7, 4, 0, 6, 1)) - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x306, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x306, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x306, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x306, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x306, (4, 5, 6, 0, 7, 2), (6, 1, 4, 7, 3, 5)) * 2.0 - x307 = np.zeros((naocc[0], navir[0], navir[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x307 += einsum(v.aabb.oVov, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 2, 5, 6, 3, 7), (5, 7, 1, 4, 0, 6)) - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sVa,sVfa)] += einsum(x307, (0, 1, 2, 3, 4, 5), (4, 3, 0, 5, 1, 2)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sVa,sVfa)] += einsum(x307, (0, 1, 2, 3, 4, 5), (3, 4, 0, 5, 1, 2)) * -2.0 - del x307 - x308 = np.zeros((naocc[0], naocc[0], navir[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x308 += einsum(v.aabb.vOov, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 2, 5, 6, 3, 7), (5, 1, 7, 4, 6, 0)) - t3new_aaaaaa[np.ix_(soa,sOa,sOfa,sva,sva,sVfa)] += einsum(x308, (0, 1, 2, 3, 4, 5), (3, 0, 1, 5, 4, 2)) * 2.0 - t3new_aaaaaa[np.ix_(soa,sOa,sOfa,sva,sva,sVfa)] += einsum(x308, (0, 1, 2, 3, 4, 5), (3, 0, 1, 4, 5, 2)) * -2.0 - del x308 - x309 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x309 += einsum(v.aaaa.ooOO, (0, 1, 2, 3), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (4, 1, 3, 5, 6, 7), (2, 7, 4, 0, 5, 6)) - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x309, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 6.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x309, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -6.0 - del x309 - x310 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x310 += einsum(v.aaaa.oovv, (0, 1, 2, 3), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (4, 1, 5, 6, 3, 7), (5, 7, 4, 0, 6, 2)) - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x310, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -6.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x310, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 6.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x310, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 6.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x310, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -6.0 - del x310 - x311 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x311 += einsum(v.aaaa.ooVV, (0, 1, 2, 3), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (4, 1, 5, 6, 7, 3), (5, 2, 4, 0, 6, 7)) - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x311, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -6.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x311, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 6.0 - del x311 - x312 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x312 += einsum(v.aaaa.ovov, (0, 1, 2, 3), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (4, 2, 5, 6, 3, 7), (5, 7, 4, 0, 6, 1)) - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x312, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 6.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x312, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -6.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x312, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -6.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x312, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 6.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x312, (4, 5, 6, 0, 7, 2), (6, 1, 4, 7, 3, 5)) * 6.0 - x313 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x313 += einsum(v.aaaa.oVoV, (0, 1, 2, 3), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (4, 2, 5, 6, 7, 3), (5, 1, 4, 0, 6, 7)) - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x313, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 6.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x313, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -6.0 - del x313 - x314 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x314 += einsum(v.aaaa.vOvO, (0, 1, 2, 3), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (4, 5, 3, 6, 2, 7), (1, 7, 4, 5, 6, 0)) - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x314, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -6.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x314, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 6.0 - del x314 - x315 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x315 += einsum(v.aaaa.vvOO, (0, 1, 2, 3), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (4, 5, 3, 6, 1, 7), (2, 7, 4, 5, 6, 0)) - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x315, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 6.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x315, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -6.0 - del x315 - x316 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x316 += einsum(v.aaaa.vvVV, (0, 1, 2, 3), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (4, 5, 6, 7, 1, 3), (6, 2, 4, 5, 7, 0)) - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x316, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -6.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x316, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 6.0 - del x316 - x317 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x317 += einsum(x26, (0, 1), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (2, 0, 3, 4, 5, 6), (3, 6, 1, 2, 4, 5)) - del x26 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x317, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -6.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x317, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 6.0 - del x317 - x318 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x318 += einsum(f.aa.ov, (0, 1), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (2, 3, 4, 5, 1, 6), (4, 6, 0, 2, 3, 5)) - x319 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x319 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x318, (2, 3, 0, 4, 5, 6), (2, 3, 4, 5, 1, 6)) - del x318 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x319, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 6.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x319, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -6.0 - del x319 - x320 = np.zeros((navir[0], navir[0]), dtype=np.float64) - x320 += einsum(f.aa.oV, (0, 1), t1.aa[np.ix_(soa,sVa)], (0, 2), (1, 2)) - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x320, (0, 1), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 6, 1)) * -6.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x320, (0, 1), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 6, 1)) * -2.0 - del x320 - x321 = np.zeros((naocc[0], naocc[0]), dtype=np.float64) - x321 += einsum(f.aa.vO, (0, 1), t1.aa[np.ix_(sOa,sva)], (2, 0), (1, 2)) - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x321, (0, 1), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (2, 3, 0, 4, 5, 6), (2, 3, 1, 4, 5, 6)) * -6.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x321, (0, 1), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (2, 3, 0, 4, 5, 6), (2, 3, 1, 4, 5, 6)) * -2.0 - del x321 - x322 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0]), dtype=np.float64) - x322 += einsum(f.aa.ov, (0, 1), t2.aaaa[np.ix_(soa,sOa,sva,sVa)], (2, 3, 1, 4), (3, 4, 0, 2)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x322, (4, 5, 0, 6), (6, 1, 4, 2, 3, 5)) * -2.0 - x323 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x323 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x322, (4, 5, 1, 6), (4, 5, 6, 0, 2, 3)) - del x322 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x323, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x323, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -4.0 - del x323 - x324 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x324 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sVa)], (0, 1, 2, 3), x56, (0, 4, 5, 6), (1, 3, 4, 5, 2, 6)) - del x56 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x324, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x324, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 4.0 - del x324 - x325 = np.zeros((naocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x325 += einsum(f.aa.ov, (0, 1), t2.aaaa[np.ix_(soa,sOa,sva,sva)], (2, 3, 4, 1), (3, 0, 2, 4)) * -1.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), x325, (4, 0, 5, 6), (5, 1, 4, 6, 3, 2)) * 2.0 - x326 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x326 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), x325, (4, 1, 5, 6), (4, 3, 5, 0, 6, 2)) * -1.0 - del x325 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x326, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x326, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x326, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x326, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -4.0 - del x326 - x327 = np.zeros((navir[0], nocc[0], nocc[0], nocc[0]), dtype=np.float64) - x327 += einsum(f.aa.ov, (0, 1), t2.aaaa[np.ix_(soa,soa,sva,sVa)], (2, 3, 1, 4), (4, 0, 2, 3)) * -1.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sva)], (0, 1, 2, 3), x327, (4, 0, 5, 6), (6, 5, 1, 2, 3, 4)) * 4.0 - del x327 - x328 = np.zeros((naocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x328 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aaaa.oooO, (2, 0, 3, 4), (4, 3, 2, 1)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), x328, (4, 0, 5, 6), (5, 1, 4, 6, 3, 2)) - x329 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x329 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), x328, (4, 1, 5, 6), (4, 3, 0, 5, 6, 2)) * -1.0 - del x328 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x329, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x329, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x329, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x329, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - del x329 - x330 = np.zeros((naocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x330 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aaaa.oooO, (2, 3, 0, 4), (4, 2, 3, 1)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), x330, (4, 5, 0, 6), (5, 1, 4, 6, 3, 2)) * -1.0 - x331 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x331 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), x330, (4, 5, 1, 6), (4, 3, 0, 5, 6, 2)) * -1.0 - del x330 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x331, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x331, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x331, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x331, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - del x331 - x332 = np.zeros((naocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x332 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aaaa.ovvO, (2, 1, 3, 4), (4, 0, 2, 3)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), x332, (4, 5, 0, 6), (5, 1, 4, 6, 3, 2)) - x333 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x333 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), x332, (4, 5, 1, 6), (4, 3, 5, 0, 2, 6)) * -1.0 - del x332 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x333, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x333, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x333, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x333, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - del x333 - x334 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x334 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x90, (4, 5, 6, 1), (4, 5, 6, 0, 2, 3)) - del x90 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x334, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x334, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - del x334 - x335 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x335 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), v.aaaa.ovvO, (4, 2, 5, 6), (6, 3, 0, 1, 4, 5)) * -1.0 - x336 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x336 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x335, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x335 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x336, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x336, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - del x336 - x337 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x337 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), v.aaaa.ovOV, (4, 3, 5, 6), (5, 6, 0, 1, 4, 2)) - x338 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x338 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x337, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x337 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x338, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x338, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - del x338 - x339 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0]), dtype=np.float64) - x339 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aaaa.oOvV, (2, 3, 1, 4), (3, 4, 0, 2)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x339, (4, 5, 6, 0), (6, 1, 4, 2, 3, 5)) - x340 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x340 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x339, (4, 5, 6, 1), (4, 5, 6, 0, 2, 3)) - del x339 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x340, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x340, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - del x340 - x341 = np.zeros((naocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x341 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aaaa.oOvv, (2, 3, 4, 1), (3, 0, 2, 4)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), x341, (4, 5, 0, 6), (5, 1, 4, 6, 3, 2)) * -1.0 - x342 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x342 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), x341, (4, 5, 1, 6), (4, 3, 5, 0, 2, 6)) * -1.0 - del x341 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x342, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x342, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x342, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x342, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - del x342 - x343 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x343 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), v.aaaa.oOvV, (4, 5, 3, 6), (5, 6, 0, 1, 4, 2)) - x344 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x344 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x343, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x343 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x344, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x344, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - del x344 - x345 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x345 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), v.aaaa.oOvv, (4, 5, 6, 2), (5, 3, 0, 1, 4, 6)) * -1.0 - x346 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x346 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x345, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x345 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x346, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x346, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - del x346 - x347 = np.zeros((navir[0], nocc[0], nocc[0], nocc[0]), dtype=np.float64) - x347 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aaaa.oovV, (2, 3, 1, 4), (4, 0, 2, 3)) - x348 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x348 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sva)], (0, 1, 2, 3), x347, (4, 5, 6, 0), (1, 4, 5, 6, 2, 3)) * -1.0 - del x347 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x348, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x348, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - del x348 - x349 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x349 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sVa)], (0, 1, 2, 3), x58, (4, 5, 0, 6), (1, 3, 4, 5, 2, 6)) - del x58 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x349, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x349, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x349, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x349, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - del x349 - x350 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x350 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sVa)], (0, 1, 2, 3), v.aaaa.oooo, (4, 5, 6, 0), (1, 3, 4, 5, 6, 2)) - x351 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x351 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x350, (2, 3, 0, 4, 5, 6), (2, 3, 4, 5, 1, 6)) - del x350 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x351, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x351, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x351, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x351, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - del x351 - x352 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x352 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sva)], (0, 1, 2, 3), v.aaaa.oovV, (4, 5, 3, 6), (1, 6, 0, 4, 5, 2)) * -1.0 - x353 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x353 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x352, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 1, 6)) - del x352 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x353, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x353, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x353, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x353, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - del x353 - x354 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x354 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sVa)], (0, 1, 2, 3), v.aaaa.oovv, (4, 5, 6, 2), (1, 3, 0, 4, 5, 6)) - x355 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x355 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x354, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 1, 6)) - del x354 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x355, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x355, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x355, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x355, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - del x355 - x356 = np.zeros((navir[0], nocc[0], nocc[0], nocc[0]), dtype=np.float64) - x356 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aaaa.ovoV, (2, 1, 3, 4), (4, 0, 3, 2)) - x357 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x357 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sva)], (0, 1, 2, 3), x356, (4, 5, 6, 0), (1, 4, 5, 6, 2, 3)) * -1.0 - del x356 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x357, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x357, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - del x357 - x358 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x358 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sVa)], (0, 1, 2, 3), x35, (4, 5, 0, 6), (1, 3, 4, 5, 2, 6)) - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x358, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x358, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x358, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x358, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 2.0 - del x358 - x359 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x359 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sva)], (0, 1, 2, 3), v.aaaa.ovoV, (4, 3, 5, 6), (1, 6, 0, 5, 4, 2)) * -1.0 - x360 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x360 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x359, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x359 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x360, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x360, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x360, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x360, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - del x360 - x361 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x361 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sVa)], (0, 1, 2, 3), v.aaaa.ovov, (4, 5, 6, 2), (1, 3, 0, 4, 6, 5)) - x362 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x362 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x361, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x362, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x362, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x362, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x362, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - del x362 - x363 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0]), dtype=np.float64) - x363 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), v.aaaa.oooO, (2, 0, 3, 4), (4, 1, 3, 2)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x363, (4, 5, 0, 6), (6, 1, 4, 2, 3, 5)) * -1.0 - x364 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x364 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x363, (4, 5, 1, 6), (4, 5, 0, 6, 2, 3)) - del x363 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x364, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x364, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - del x364 - x365 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0]), dtype=np.float64) - x365 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), v.aaaa.oooO, (2, 3, 0, 4), (4, 1, 2, 3)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x365, (4, 5, 6, 0), (6, 1, 4, 2, 3, 5)) - x366 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x366 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x365, (4, 5, 6, 1), (4, 5, 0, 6, 2, 3)) - del x365 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x366, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x366, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - del x366 - x367 = np.zeros((naocc[0], navir[0], nvir[0], nvir[0]), dtype=np.float64) - x367 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), v.aaaa.ovvO, (0, 2, 3, 4), (4, 1, 3, 2)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x367, (4, 5, 6, 2), (0, 1, 4, 6, 3, 5)) - x368 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x368 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x367, (4, 5, 6, 3), (4, 5, 0, 1, 2, 6)) - del x367 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x368, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x368, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - del x368 - x369 = np.zeros((naocc[0], navir[0], nvir[0], nvir[0]), dtype=np.float64) - x369 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), v.aaaa.oOvv, (0, 2, 3, 4), (2, 1, 3, 4)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x369, (4, 5, 6, 2), (0, 1, 4, 6, 3, 5)) * -1.0 - x370 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x370 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x369, (4, 5, 6, 3), (4, 5, 0, 1, 2, 6)) - del x369 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x370, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x370, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - del x370 - x371 = np.zeros((navir[0], nocc[0], nocc[0], nocc[0]), dtype=np.float64) - x371 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), v.aaaa.oooo, (2, 3, 4, 0), (1, 2, 3, 4)) - x372 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x372 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sva)], (0, 1, 2, 3), x371, (4, 5, 0, 6), (1, 4, 6, 5, 2, 3)) * -1.0 - del x371 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x372, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x372, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - del x372 - x373 = np.zeros((navir[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x373 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), v.aaaa.oovv, (2, 0, 3, 4), (1, 2, 3, 4)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), x373, (4, 5, 6, 2), (5, 1, 0, 6, 3, 4)) - x374 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x374 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sva)], (0, 1, 2, 3), x373, (4, 5, 6, 3), (1, 4, 0, 5, 2, 6)) * -1.0 - del x373 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x374, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x374, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x374, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x374, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - del x374 - x375 = np.zeros((navir[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x375 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), v.aaaa.ovov, (2, 3, 0, 4), (1, 2, 3, 4)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), x375, (4, 5, 6, 2), (5, 1, 0, 6, 3, 4)) * -1.0 - x376 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x376 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sva)], (0, 1, 2, 3), x375, (4, 5, 6, 3), (1, 4, 0, 5, 2, 6)) * -1.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x376, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x376, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x376, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x376, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -2.0 - del x376 - x377 = np.zeros((navir[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x377 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aaaa.vvvV, (2, 1, 3, 4), (4, 0, 3, 2)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), x377, (4, 5, 2, 6), (5, 1, 0, 6, 3, 4)) - x378 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x378 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sva)], (0, 1, 2, 3), x377, (4, 5, 3, 6), (1, 4, 5, 0, 2, 6)) * -1.0 - del x377 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x378, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x378, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x378, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x378, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -2.0 - del x378 - x379 = np.zeros((navir[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x379 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aaaa.vvvV, (2, 3, 1, 4), (4, 0, 2, 3)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), x379, (4, 5, 6, 2), (5, 1, 0, 6, 3, 4)) * -1.0 - x380 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x380 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sva)], (0, 1, 2, 3), x379, (4, 5, 6, 3), (1, 4, 5, 0, 2, 6)) * -1.0 - del x379 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x380, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x380, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x380, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x380, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 2.0 - del x380 - x381 = np.zeros((naocc[0], navir[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=np.float64) - x381 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sVa)], (0, 1, 2, 3), v.aaaa.vvvv, (4, 5, 6, 2), (1, 3, 0, 4, 5, 6)) - x382 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x382 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x381, (2, 3, 4, 1, 5, 6), (2, 3, 0, 4, 5, 6)) - del x381 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x382, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x382, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x382, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x382, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - del x382 - x383 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0]), dtype=np.float64) - x383 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), v.aaaa.oovV, (2, 3, 1, 4), (0, 4, 2, 3)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x383, (4, 5, 6, 0), (6, 1, 4, 2, 3, 5)) * -1.0 - x384 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x384 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x383, (4, 5, 6, 1), (4, 5, 0, 6, 2, 3)) - del x383 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x384, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x384, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - del x384 - x385 = np.zeros((naocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x385 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), v.aaaa.oovv, (2, 3, 4, 1), (0, 2, 3, 4)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), x385, (4, 5, 0, 6), (5, 1, 4, 6, 3, 2)) - x386 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x386 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), x385, (4, 5, 1, 6), (4, 3, 0, 5, 2, 6)) * -1.0 - del x385 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x386, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x386, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x386, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x386, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - del x386 - x387 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0]), dtype=np.float64) - x387 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), v.aaaa.ovoV, (2, 1, 3, 4), (0, 4, 3, 2)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x387, (4, 5, 6, 0), (6, 1, 4, 2, 3, 5)) - x388 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x388 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x387, (4, 5, 6, 1), (4, 5, 0, 6, 2, 3)) - del x387 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x388, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x388, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - del x388 - x389 = np.zeros((naocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x389 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), v.aaaa.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), x389, (4, 5, 0, 6), (5, 1, 4, 6, 3, 2)) * -1.0 - x390 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x390 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), x389, (4, 5, 1, 6), (4, 3, 0, 5, 2, 6)) * -1.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x390, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x390, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x390, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x390, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -2.0 - del x390 - x391 = np.zeros((naocc[0], navir[0], nvir[0], nvir[0]), dtype=np.float64) - x391 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), v.aaaa.vvvV, (2, 1, 3, 4), (0, 4, 3, 2)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x391, (4, 5, 2, 6), (0, 1, 4, 6, 3, 5)) * -1.0 - x392 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x392 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x391, (4, 5, 3, 6), (4, 5, 0, 1, 2, 6)) - del x391 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x392, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x392, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - del x392 - x393 = np.zeros((naocc[0], navir[0], nvir[0], nvir[0]), dtype=np.float64) - x393 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), v.aaaa.vvvV, (2, 3, 1, 4), (0, 4, 2, 3)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x393, (4, 5, 6, 2), (0, 1, 4, 6, 3, 5)) - x394 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x394 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x393, (4, 5, 6, 3), (4, 5, 0, 1, 2, 6)) - del x393 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x394, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x394, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - del x394 - x395 = np.zeros((naocc[0], nvir[0], nvir[0], nvir[0]), dtype=np.float64) - x395 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), v.aaaa.vvvv, (2, 3, 4, 1), (0, 2, 3, 4)) - x396 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x396 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), x395, (4, 5, 2, 6), (4, 3, 0, 1, 6, 5)) * -1.0 - del x395 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x396, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x396, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - del x396 - x397 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x397 += einsum(v.aabb.ooov, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 2, 5, 6, 3, 7), (5, 7, 4, 0, 1, 6)) - x398 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x398 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x397, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 1, 6)) - del x397 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x398, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x398, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x398, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x398, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - del x398 - x399 = np.zeros((naocc[0], naocc[0], navir[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x399 += einsum(v.aabb.oOov, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 2, 5, 6, 3, 7), (5, 1, 7, 4, 0, 6)) - x400 = np.zeros((naocc[0], naocc[0], navir[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x400 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x399, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x399 - t3new_aaaaaa[np.ix_(soa,sOa,sOfa,sva,sva,sVfa)] += einsum(x400, (0, 1, 2, 3, 4, 5), (3, 0, 1, 4, 5, 2)) * -2.0 - t3new_aaaaaa[np.ix_(soa,sOa,sOfa,sva,sva,sVfa)] += einsum(x400, (0, 1, 2, 3, 4, 5), (3, 0, 1, 5, 4, 2)) * 2.0 - del x400 - x401 = np.zeros((navir[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x401 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), v.aabb.ooov, (2, 0, 3, 4), (1, 2, 3, 4)) - x402 = np.zeros((naocc[0], navir[0], navir[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x402 += einsum(x401, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 2, 5, 6, 3, 7), (5, 0, 7, 4, 1, 6)) - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sVa,sVfa)] += einsum(x402, (0, 1, 2, 3, 4, 5), (4, 3, 0, 5, 2, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sVa,sVfa)] += einsum(x402, (0, 1, 2, 3, 4, 5), (3, 4, 0, 5, 2, 1)) * 2.0 - del x402 - x403 = np.zeros((naocc[0], navir[0], nocc[1], nvir[1]), dtype=np.float64) - x403 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), v.aabb.oOov, (0, 2, 3, 4), (2, 1, 3, 4)) - t3new_aaaaaa[np.ix_(soa,sOa,sOfa,sva,sVa,sVfa)] += einsum(x403, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 2, 5, 6, 3, 7), (4, 5, 0, 6, 7, 1)) * -2.0 - x404 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x404 += einsum(x67, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 1, 5, 6, 3, 7), (5, 7, 0, 4, 6, 2)) - del x67 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x404, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x404, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x404, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x404, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 2.0 - del x404 - x405 = np.zeros((navir[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x405 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aabb.vVov, (1, 2, 3, 4), (2, 0, 3, 4)) - x406 = np.zeros((naocc[0], navir[0], navir[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x406 += einsum(x405, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 2, 5, 6, 3, 7), (5, 7, 0, 1, 4, 6)) - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sVa,sVfa)] += einsum(x406, (0, 1, 2, 3, 4, 5), (3, 4, 0, 5, 1, 2)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sVa,sVfa)] += einsum(x406, (0, 1, 2, 3, 4, 5), (4, 3, 0, 5, 1, 2)) * -2.0 - del x406 - x407 = np.zeros((naocc[0], nocc[1], nvir[0], nvir[1]), dtype=np.float64) - x407 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), v.aabb.vvov, (2, 1, 3, 4), (0, 3, 2, 4)) - x408 = np.zeros((naocc[0], naocc[0], navir[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x408 += einsum(x407, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 1, 5, 6, 3, 7), (0, 5, 7, 4, 6, 2)) - t3new_aaaaaa[np.ix_(soa,sOa,sOfa,sva,sva,sVfa)] += einsum(x408, (0, 1, 2, 3, 4, 5), (3, 1, 0, 5, 4, 2)) * 2.0 - t3new_aaaaaa[np.ix_(soa,sOa,sOfa,sva,sva,sVfa)] += einsum(x408, (0, 1, 2, 3, 4, 5), (3, 1, 0, 4, 5, 2)) * -2.0 - del x408 - x409 = np.zeros((naocc[0], navir[0], nocc[1], nvir[1]), dtype=np.float64) - x409 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), v.aabb.vVov, (1, 2, 3, 4), (0, 2, 3, 4)) - t3new_aaaaaa[np.ix_(soa,sOa,sOfa,sva,sVa,sVfa)] += einsum(x409, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 2, 5, 6, 3, 7), (4, 5, 0, 6, 7, 1)) * 2.0 - x410 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x410 += einsum(x69, (0, 1, 2, 3), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (3, 2, 4, 5, 6, 7), (4, 7, 0, 1, 5, 6)) * -1.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x410, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 6.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x410, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -6.0 - del x410 - x411 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x411 += einsum(v.aaaa.ooov, (0, 1, 2, 3), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (4, 2, 5, 6, 3, 7), (5, 7, 4, 0, 1, 6)) - x412 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x412 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x411, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 1, 6)) - del x411 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x412, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -6.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x412, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 6.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x412, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 6.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x412, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -6.0 - del x412 - x413 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x413 += einsum(v.aaaa.ooov, (0, 1, 2, 3), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (4, 1, 5, 6, 3, 7), (5, 7, 4, 0, 2, 6)) - x414 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x414 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x413, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x413 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x414, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 6.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x414, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -6.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x414, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -6.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x414, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 6.0 - del x414 - x415 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x415 += einsum(x27, (0, 1), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (2, 1, 3, 4, 5, 6), (3, 6, 2, 0, 4, 5)) - del x27 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x415, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 6.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x415, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -6.0 - del x415 - x416 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x416 += einsum(x28, (0, 1), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (2, 1, 3, 4, 5, 6), (3, 6, 2, 0, 4, 5)) - del x28 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x416, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -6.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x416, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 6.0 - del x416 - x417 = np.zeros((naocc[0], naocc[0], nocc[0], nocc[0]), dtype=np.float64) - x417 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aaaa.ovOO, (2, 1, 3, 4), (3, 4, 0, 2)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x417, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (3, 4, 1, 5, 6, 7), (2, 4, 0, 5, 6, 7)) * 2.0 - x418 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x418 += einsum(x417, (0, 1, 2, 3), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (4, 3, 1, 5, 6, 7), (0, 7, 2, 4, 5, 6)) - del x417 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x418, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 6.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x418, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -6.0 - del x418 - x419 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x419 += einsum(x77, (0, 1, 2, 3), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (4, 1, 5, 6, 3, 7), (5, 7, 0, 4, 6, 2)) - del x77 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x419, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -6.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x419, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 6.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x419, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 6.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x419, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -6.0 - del x419 - x420 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x420 += einsum(x45, (0, 1, 2, 3), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (4, 1, 5, 6, 2, 7), (5, 7, 0, 4, 6, 3)) - del x45 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x420, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 6.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x420, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -6.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x420, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -6.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x420, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 6.0 - del x420 - x421 = np.zeros((navir[0], navir[0], nocc[0], nocc[0]), dtype=np.float64) - x421 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aaaa.ovVV, (2, 1, 3, 4), (3, 4, 0, 2)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x421, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (3, 4, 5, 6, 7, 1), (2, 4, 5, 6, 7, 0)) * -2.0 - x422 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x422 += einsum(x421, (0, 1, 2, 3), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (4, 3, 5, 6, 7, 1), (5, 0, 2, 4, 6, 7)) - del x421 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x422, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -6.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x422, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 6.0 - del x422 - x423 = np.zeros((navir[0], navir[0], nocc[0], nocc[0]), dtype=np.float64) - x423 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aaaa.oVvV, (2, 3, 1, 4), (3, 4, 0, 2)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x423, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (3, 4, 5, 6, 7, 0), (2, 4, 5, 6, 7, 1)) * 2.0 - x424 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x424 += einsum(x423, (0, 1, 2, 3), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (4, 3, 5, 6, 7, 0), (5, 1, 2, 4, 6, 7)) - del x423 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x424, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 6.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x424, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -6.0 - del x424 - x425 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x425 += einsum(v.aaaa.ovOO, (0, 1, 2, 3), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (4, 5, 3, 6, 1, 7), (2, 7, 4, 5, 0, 6)) - x426 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x426 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x425, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x425 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x426, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -6.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x426, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 6.0 - del x426 - x427 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x427 += einsum(v.aaaa.oOvO, (0, 1, 2, 3), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (4, 5, 3, 6, 2, 7), (1, 7, 4, 5, 0, 6)) - x428 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x428 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x427, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x427 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x428, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 6.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x428, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -6.0 - del x428 - x429 = np.zeros((naocc[0], naocc[0]), dtype=np.float64) - x429 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aaaa.ovOO, (0, 1, 2, 3), (2, 3)) - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x429, (0, 1), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (2, 3, 1, 4, 5, 6), (2, 3, 0, 4, 5, 6)) * -6.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x429, (0, 1), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (2, 3, 1, 4, 5, 6), (2, 3, 0, 4, 5, 6)) * -2.0 - del x429 - x430 = np.zeros((naocc[0], naocc[0]), dtype=np.float64) - x430 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aaaa.oOvO, (0, 2, 1, 3), (2, 3)) - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x430, (0, 1), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (2, 3, 1, 4, 5, 6), (2, 3, 0, 4, 5, 6)) * 6.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x430, (0, 1), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (2, 3, 1, 4, 5, 6), (2, 3, 0, 4, 5, 6)) * 2.0 - del x430 - x431 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x431 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (4, 5, 6, 1, 3, 7), (6, 7, 4, 5, 0, 2)) - x432 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x432 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x431, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x431 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x432, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -6.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x432, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 6.0 - del x432 - x433 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x433 += einsum(v.aaaa.ovVV, (0, 1, 2, 3), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (4, 5, 6, 7, 1, 3), (6, 2, 4, 5, 0, 7)) - x434 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x434 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x433, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x433 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x434, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 6.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x434, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -6.0 - del x434 - x435 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x435 += einsum(x30, (0, 1), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (2, 3, 4, 5, 1, 6), (4, 6, 2, 3, 5, 0)) - del x30 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x435, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -6.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x435, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 6.0 - del x435 - x436 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x436 += einsum(x29, (0, 1), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (2, 3, 4, 5, 0, 6), (4, 6, 2, 3, 5, 1)) - del x29 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x436, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 6.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x436, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -6.0 - del x436 - x437 = np.zeros((navir[0], navir[0]), dtype=np.float64) - x437 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aaaa.ovVV, (0, 1, 2, 3), (2, 3)) - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x437, (0, 1), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 6, 0)) * 6.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x437, (0, 1), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 6, 0)) * 2.0 - del x437 - x438 = np.zeros((navir[0], navir[0]), dtype=np.float64) - x438 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aaaa.oVvV, (0, 2, 1, 3), (2, 3)) - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x438, (0, 1), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 6, 1)) * -6.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x438, (0, 1), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 6, 1)) * -2.0 - del x438 - x439 = np.zeros((navir[0], navir[0], nocc[0], nocc[0]), dtype=np.float64) - x439 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), v.aaaa.oooV, (2, 0, 3, 4), (1, 4, 3, 2)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x439, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (2, 4, 5, 6, 7, 1), (3, 4, 5, 6, 7, 0)) * -2.0 - x440 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x440 += einsum(x439, (0, 1, 2, 3), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (4, 2, 5, 6, 7, 1), (5, 0, 4, 3, 6, 7)) - del x439 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x440, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -6.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x440, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 6.0 - del x440 - x441 = np.zeros((navir[0], navir[0], nocc[0], nocc[0]), dtype=np.float64) - x441 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), v.aaaa.oooV, (2, 3, 0, 4), (1, 4, 2, 3)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x441, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (3, 4, 5, 6, 7, 1), (2, 4, 5, 6, 7, 0)) * 2.0 - x442 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x442 += einsum(x441, (0, 1, 2, 3), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (4, 3, 5, 6, 7, 1), (5, 0, 4, 2, 6, 7)) - del x441 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x442, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 6.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x442, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -6.0 - del x442 - x443 = np.zeros((naocc[0], naocc[0], navir[0], navir[0]), dtype=np.float64) - x443 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), v.aaaa.oVOO, (0, 2, 3, 4), (3, 4, 1, 2)) - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x443, (0, 1, 2, 3), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (4, 5, 1, 6, 7, 3), (4, 5, 0, 6, 7, 2)) * 6.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x443, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 5, 1, 6, 7, 3), (4, 5, 0, 6, 7, 2)) * 2.0 - del x443 - x444 = np.zeros((naocc[0], naocc[0], navir[0], navir[0]), dtype=np.float64) - x444 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), v.aaaa.oOOV, (0, 2, 3, 4), (3, 2, 1, 4)) - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x444, (0, 1, 2, 3), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (4, 5, 0, 6, 7, 3), (4, 5, 1, 6, 7, 2)) * -6.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x444, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 5, 0, 6, 7, 3), (4, 5, 1, 6, 7, 2)) * -2.0 - del x444 - x445 = np.zeros((navir[0], navir[0], nvir[0], nvir[0]), dtype=np.float64) - x445 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), v.aaaa.ovvV, (0, 2, 3, 4), (1, 4, 3, 2)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x445, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 5, 6, 3, 7, 1), (4, 5, 6, 2, 7, 0)) * 2.0 - x446 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x446 += einsum(x445, (0, 1, 2, 3), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (4, 5, 6, 7, 3, 1), (6, 0, 4, 5, 7, 2)) - del x445 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x446, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -6.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x446, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 6.0 - del x446 - x447 = np.zeros((naocc[0], naocc[0], nocc[0], nocc[0]), dtype=np.float64) - x447 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), v.aaaa.oovO, (2, 3, 1, 4), (0, 4, 2, 3)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x447, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (3, 4, 1, 5, 6, 7), (2, 4, 0, 5, 6, 7)) * 2.0 - x448 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x448 += einsum(x447, (0, 1, 2, 3), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (4, 3, 1, 5, 6, 7), (0, 7, 4, 2, 5, 6)) - del x447 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x448, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 6.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x448, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -6.0 - del x448 - x449 = np.zeros((naocc[0], naocc[0], nvir[0], nvir[0]), dtype=np.float64) - x449 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), v.aaaa.vvvO, (2, 3, 1, 4), (0, 4, 2, 3)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x449, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 5, 1, 3, 6, 7), (4, 5, 0, 2, 6, 7)) * -2.0 - x450 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x450 += einsum(x449, (0, 1, 2, 3), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (4, 5, 1, 6, 3, 7), (0, 7, 4, 5, 6, 2)) - del x449 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x450, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 6.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x450, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -6.0 - del x450 - x451 = np.zeros((naocc[0], naocc[0], nvir[0], nvir[0]), dtype=np.float64) - x451 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), v.aaaa.vvvO, (2, 1, 3, 4), (0, 4, 3, 2)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x451, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 5, 1, 2, 6, 7), (4, 5, 0, 3, 6, 7)) * 2.0 - x452 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x452 += einsum(x451, (0, 1, 2, 3), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (4, 5, 1, 6, 2, 7), (0, 7, 4, 5, 6, 3)) - del x451 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x452, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -6.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x452, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 6.0 - del x452 - x453 = np.zeros((naocc[0], naocc[0], navir[0], navir[0]), dtype=np.float64) - x453 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), v.aaaa.vOVV, (1, 2, 3, 4), (0, 2, 3, 4)) - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x453, (0, 1, 2, 3), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (4, 5, 1, 6, 7, 3), (4, 5, 0, 6, 7, 2)) * -6.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x453, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 5, 1, 6, 7, 3), (4, 5, 0, 6, 7, 2)) * -2.0 - del x453 - x454 = np.zeros((naocc[0], naocc[0], navir[0], navir[0]), dtype=np.float64) - x454 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), v.aaaa.vVOV, (1, 2, 3, 4), (0, 3, 4, 2)) - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x454, (0, 1, 2, 3), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (4, 5, 1, 6, 7, 2), (4, 5, 0, 6, 7, 3)) * 6.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x454, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 5, 1, 6, 7, 2), (4, 5, 0, 6, 7, 3)) * 2.0 - del x454 - x455 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x455 += einsum(x31, (0, 1), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (2, 1, 3, 4, 5, 6), (3, 6, 2, 0, 4, 5)) - del x31 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x455, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -6.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x455, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 6.0 - del x455 - x456 = np.zeros((naocc[0], naocc[0]), dtype=np.float64) - x456 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.aabb.OOov, (2, 3, 0, 1), (2, 3)) - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x456, (0, 1), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (2, 3, 1, 4, 5, 6), (2, 3, 0, 4, 5, 6)) * -6.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x456, (0, 1), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (2, 3, 1, 4, 5, 6), (2, 3, 0, 4, 5, 6)) * -2.0 - del x456 - x457 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x457 += einsum(x32, (0, 1), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (2, 3, 4, 5, 1, 6), (4, 6, 2, 3, 5, 0)) - del x32 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x457, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -6.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x457, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 6.0 - del x457 - x458 = np.zeros((navir[0], navir[0]), dtype=np.float64) - x458 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.aabb.VVov, (2, 3, 0, 1), (2, 3)) - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x458, (0, 1), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 6, 0)) * 6.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x458, (0, 1), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 6, 0)) * 2.0 - del x458 - x459 = np.zeros((naocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x459 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.oOov, (4, 5, 1, 3), (5, 0, 4, 2)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), x459, (4, 5, 0, 6), (5, 1, 4, 6, 3, 2)) * -1.0 - x460 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x460 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), x459, (4, 5, 1, 6), (4, 3, 0, 5, 2, 6)) * -1.0 - del x459 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x460, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x460, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x460, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x460, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - del x460 - x461 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x461 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sVa)], (0, 1, 2, 3), x65, (4, 5, 0, 6), (1, 3, 4, 5, 2, 6)) - del x65 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x461, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x461, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x461, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x461, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -2.0 - del x461 - x462 = np.zeros((naocc[0], navir[0], nocc[0], nocc[1], nvir[0], nvir[1]), dtype=np.float64) - x462 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sVa)], (0, 1, 2, 3), v.aabb.vvov, (4, 2, 5, 6), (1, 3, 0, 5, 4, 6)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x462, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x462, (4, 5, 6, 1, 7, 3), (6, 0, 4, 7, 2, 5)) * 4.0 - x463 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x463 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x462, (4, 5, 6, 1, 7, 3), (4, 5, 6, 0, 2, 7)) - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x463, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x463, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x463, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x463, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - del x463 - x464 = np.zeros((navir[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x464 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.vVov, (4, 5, 1, 3), (5, 0, 2, 4)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), x464, (4, 5, 6, 2), (5, 1, 0, 6, 3, 4)) - x465 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x465 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sva)], (0, 1, 2, 3), x464, (4, 5, 6, 3), (1, 4, 0, 5, 2, 6)) * -1.0 - del x464 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x465, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x465, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x465, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x465, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - del x465 - x466 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0]), dtype=np.float64) - x466 += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), v.aabb.oOov, (4, 5, 1, 3), (5, 2, 0, 4)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x466, (4, 5, 6, 0), (6, 1, 4, 2, 3, 5)) - x467 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x467 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x466, (4, 5, 6, 1), (4, 5, 6, 0, 2, 3)) - del x466 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x467, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x467, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - del x467 - x468 = np.zeros((navir[0], nocc[0], nocc[0], nocc[0]), dtype=np.float64) - x468 += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), v.aabb.ooov, (4, 5, 1, 3), (2, 0, 4, 5)) - x469 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x469 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sva)], (0, 1, 2, 3), x468, (4, 5, 6, 0), (1, 4, 5, 6, 2, 3)) * -1.0 - del x468 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x469, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x469, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - del x469 - x470 = np.zeros((navir[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x470 += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), v.aabb.vvov, (4, 5, 1, 3), (2, 0, 4, 5)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), x470, (4, 5, 6, 2), (5, 1, 0, 6, 3, 4)) * -1.0 - x471 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x471 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sva)], (0, 1, 2, 3), x470, (4, 5, 6, 3), (1, 4, 0, 5, 2, 6)) * -1.0 - del x470 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x471, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x471, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x471, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x471, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - del x471 - x472 = np.zeros((naocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x472 += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.ooov, (4, 5, 1, 3), (0, 4, 5, 2)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), x472, (4, 5, 0, 6), (5, 1, 4, 6, 3, 2)) - x473 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x473 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), x472, (4, 5, 1, 6), (4, 3, 0, 5, 6, 2)) * -1.0 - del x472 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x473, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x473, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x473, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x473, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - del x473 - x474 = np.zeros((naocc[0], nvir[0], nvir[0], nvir[0]), dtype=np.float64) - x474 += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.vvov, (4, 5, 1, 3), (0, 2, 4, 5)) - x475 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x475 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), x474, (4, 5, 6, 2), (4, 3, 0, 1, 5, 6)) * -1.0 - del x474 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x475, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x475, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - del x475 - x476 = np.zeros((naocc[0], navir[0], nvir[0], nvir[0]), dtype=np.float64) - x476 += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.vVov, (4, 5, 1, 3), (0, 5, 2, 4)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x476, (4, 5, 6, 2), (0, 1, 4, 6, 3, 5)) * -1.0 - x477 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x477 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x476, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) - del x476 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x477, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x477, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - del x477 - x478 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0]), dtype=np.float64) - x478 += einsum(t2.abab[np.ix_(sOa,sob,sVa,svb)], (0, 1, 2, 3), v.aabb.ooov, (4, 5, 1, 3), (0, 2, 4, 5)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x478, (4, 5, 6, 0), (6, 1, 4, 2, 3, 5)) * -1.0 - x479 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x479 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x478, (4, 5, 6, 1), (4, 5, 0, 6, 2, 3)) - del x478 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x479, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x479, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - del x479 - x480 = np.zeros((naocc[0], navir[0], nvir[0], nvir[0]), dtype=np.float64) - x480 += einsum(t2.abab[np.ix_(sOa,sob,sVa,svb)], (0, 1, 2, 3), v.aabb.vvov, (4, 5, 1, 3), (0, 2, 4, 5)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x480, (4, 5, 6, 2), (0, 1, 4, 6, 3, 5)) - x481 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x481 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x480, (4, 5, 6, 3), (4, 5, 0, 1, 2, 6)) - del x480 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x481, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x481, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - del x481 - x482 = np.zeros((naocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x482 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), v.aaaa.ovoO, (1, 3, 4, 5), (5, 0, 4, 2)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), x482, (4, 5, 0, 6), (5, 1, 4, 6, 3, 2)) * -2.0 - x483 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x483 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), x482, (4, 5, 1, 6), (4, 3, 0, 5, 2, 6)) * -1.0 - del x482 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x483, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x483, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x483, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x483, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 4.0 - del x483 - x484 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0]), dtype=np.float64) - x484 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), v.aaaa.ovoO, (4, 2, 1, 5), (5, 3, 0, 4)) * -1.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x484, (4, 5, 6, 0), (6, 1, 4, 2, 3, 5)) * -2.0 - x485 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x485 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x484, (4, 5, 6, 1), (4, 5, 6, 0, 2, 3)) - del x484 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x485, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x485, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -4.0 - del x485 - x486 = np.zeros((naocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x486 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), v.aaaa.ovoO, (4, 3, 1, 5), (5, 0, 4, 2)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), x486, (4, 5, 0, 6), (5, 1, 4, 6, 3, 2)) * 2.0 - x487 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x487 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), x486, (4, 5, 1, 6), (4, 3, 0, 5, 2, 6)) * -1.0 - del x486 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x487, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x487, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x487, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x487, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -4.0 - del x487 - x488 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0]), dtype=np.float64) - x488 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), v.aaaa.ovoO, (1, 2, 4, 5), (5, 3, 0, 4)) * -1.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x488, (4, 5, 6, 0), (6, 1, 4, 2, 3, 5)) * 2.0 - x489 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x489 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x488, (4, 5, 6, 1), (4, 5, 6, 0, 2, 3)) - del x488 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x489, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x489, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 4.0 - del x489 - x490 = np.zeros((naocc[0], navir[0], nvir[0], nvir[0]), dtype=np.float64) - x490 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), v.aaaa.ovoO, (1, 4, 0, 5), (5, 3, 2, 4)) * -1.0 - x491 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x491 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x490, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x491, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x491, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x491, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x491, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - del x491 - x492 = np.zeros((naocc[0], nvir[0], nvir[0], nvir[0]), dtype=np.float64) - x492 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), v.aaaa.ovoO, (1, 4, 0, 5), (5, 2, 3, 4)) - x493 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x493 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), x492, (4, 5, 6, 2), (4, 3, 0, 1, 5, 6)) * -1.0 - del x492 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x493, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x493, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - del x493 - x494 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x494 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sVa)], (0, 1, 2, 3), x73, (4, 5, 0, 6), (1, 3, 4, 5, 2, 6)) - del x73 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x494, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x494, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x494, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x494, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 4.0 - del x494 - x495 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0]), dtype=np.float64) - x495 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sVa)], (0, 1, 2, 3), v.aaaa.ooov, (4, 5, 0, 2), (1, 3, 4, 5)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x495, (4, 5, 6, 0), (6, 1, 4, 2, 3, 5)) * -2.0 - x496 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x496 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x495, (4, 5, 6, 1), (4, 5, 0, 6, 2, 3)) - del x495 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x496, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x496, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -4.0 - del x496 - x497 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x497 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sVa)], (0, 1, 2, 3), x71, (4, 5, 0, 6), (1, 3, 4, 5, 2, 6)) - del x71 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x497, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x497, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x497, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x497, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -4.0 - del x497 - x498 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0]), dtype=np.float64) - x498 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sVa)], (0, 1, 2, 3), v.aaaa.ooov, (4, 0, 5, 2), (1, 3, 4, 5)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x498, (4, 5, 6, 0), (6, 1, 4, 2, 3, 5)) * 2.0 - x499 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x499 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x498, (4, 5, 6, 1), (4, 5, 0, 6, 2, 3)) - del x498 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x499, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x499, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 4.0 - del x499 - x500 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[0], nocc[0]), dtype=np.float64) - x500 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sVa)], (0, 1, 2, 3), v.aaaa.ooov, (4, 5, 6, 2), (1, 3, 0, 4, 5, 6)) - x501 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x501 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x500, (4, 5, 6, 7, 0, 1), (4, 5, 6, 7, 2, 3)) - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x501, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x501, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x501, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x501, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - del x501 - x502 = np.zeros((naocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x502 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sva)], (0, 1, 2, 3), v.aaaa.ooov, (4, 5, 0, 3), (1, 4, 5, 2)) * -1.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), x502, (4, 5, 0, 6), (5, 1, 4, 6, 3, 2)) * 2.0 - x503 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x503 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), x502, (4, 5, 1, 6), (4, 3, 0, 5, 6, 2)) * -1.0 - del x502 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x503, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x503, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x503, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x503, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -4.0 - del x503 - x504 = np.zeros((navir[0], nocc[0], nocc[0], nocc[0]), dtype=np.float64) - x504 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), v.aaaa.ooov, (4, 1, 5, 2), (3, 0, 4, 5)) * -1.0 - x505 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x505 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sva)], (0, 1, 2, 3), x504, (4, 5, 6, 0), (1, 4, 5, 6, 2, 3)) * -1.0 - del x504 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x505, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x505, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -4.0 - del x505 - x506 = np.zeros((naocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x506 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sva)], (0, 1, 2, 3), v.aaaa.ooov, (4, 0, 5, 3), (1, 4, 5, 2)) * -1.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), x506, (4, 5, 0, 6), (5, 1, 4, 6, 3, 2)) * -2.0 - x507 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x507 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), x506, (4, 5, 1, 6), (4, 3, 0, 5, 6, 2)) * -1.0 - del x506 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x507, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x507, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x507, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x507, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 4.0 - del x507 - x508 = np.zeros((navir[0], nocc[0], nocc[0], nocc[0]), dtype=np.float64) - x508 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), v.aaaa.ooov, (4, 5, 1, 2), (3, 0, 4, 5)) * -1.0 - x509 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x509 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sva)], (0, 1, 2, 3), x508, (4, 5, 6, 0), (1, 4, 5, 6, 2, 3)) * -1.0 - del x508 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x509, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x509, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 4.0 - del x509 - x510 = np.zeros((navir[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x510 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), v.aaaa.ooov, (4, 1, 0, 5), (3, 4, 2, 5)) - x511 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x511 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sva)], (0, 1, 2, 3), x510, (4, 5, 6, 3), (1, 4, 0, 5, 2, 6)) * -1.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x511, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x511, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x511, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x511, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x511, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x511, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x511, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x511, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -2.0 - del x511 - x512 = np.zeros((navir[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x512 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), v.aaaa.ovvV, (1, 3, 4, 5), (5, 0, 2, 4)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), x512, (4, 5, 6, 2), (5, 1, 0, 6, 3, 4)) * 2.0 - x513 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x513 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sva)], (0, 1, 2, 3), x512, (4, 5, 6, 3), (1, 4, 0, 5, 2, 6)) * -1.0 - del x512 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x513, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x513, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x513, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x513, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -4.0 - del x513 - x514 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0]), dtype=np.float64) - x514 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sva)], (0, 1, 2, 3), v.aaaa.ovvV, (4, 3, 2, 5), (1, 5, 0, 4)) * -1.0 - x515 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x515 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x514, (4, 5, 6, 1), (4, 5, 6, 0, 2, 3)) - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x515, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x515, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x515, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x515, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - del x515 - x516 = np.zeros((navir[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x516 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), v.aaaa.ovvV, (1, 4, 3, 5), (5, 0, 2, 4)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), x516, (4, 5, 6, 2), (5, 1, 0, 6, 3, 4)) * -2.0 - x517 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x517 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sva)], (0, 1, 2, 3), x516, (4, 5, 6, 3), (1, 4, 0, 5, 2, 6)) * -1.0 - del x516 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x517, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x517, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x517, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x517, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 4.0 - del x517 - x518 = np.zeros((naocc[0], navir[0], nvir[0], nvir[0]), dtype=np.float64) - x518 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sva)], (0, 1, 2, 3), v.aaaa.ovvV, (0, 4, 3, 5), (1, 5, 2, 4)) * -1.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x518, (4, 5, 6, 2), (0, 1, 4, 6, 3, 5)) * 2.0 - x519 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x519 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x518, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) - del x518 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x519, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x519, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -4.0 - del x519 - x520 = np.zeros((navir[0], nocc[0], nocc[0], nocc[0]), dtype=np.float64) - x520 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), v.aaaa.ovvV, (4, 3, 2, 5), (5, 0, 1, 4)) - x521 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x521 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sva)], (0, 1, 2, 3), x520, (4, 5, 6, 0), (1, 4, 5, 6, 2, 3)) * -1.0 - del x520 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x521, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x521, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - del x521 - x522 = np.zeros((naocc[0], navir[0], nvir[0], nvir[0]), dtype=np.float64) - x522 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sva)], (0, 1, 2, 3), v.aaaa.ovvV, (0, 3, 4, 5), (1, 5, 2, 4)) * -1.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x522, (4, 5, 6, 2), (0, 1, 4, 6, 3, 5)) * -2.0 - x523 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x523 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x522, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) - del x522 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x523, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x523, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 4.0 - del x523 - x524 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x524 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x301, (4, 5, 6, 1, 3, 7), (4, 5, 6, 0, 2, 7)) - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x524, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x524, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x524, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x524, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 4.0 - del x524 - x525 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x525 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sVa)], (0, 1, 2, 3), v.aaaa.ovvv, (4, 2, 5, 6), (1, 3, 0, 4, 5, 6)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x525, (4, 5, 6, 0, 2, 7), (6, 1, 4, 7, 3, 5)) * -2.0 - x526 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x526 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x525, (4, 5, 6, 1, 7, 3), (4, 5, 6, 0, 2, 7)) - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x526, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x526, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x526, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x526, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -4.0 - del x526 - x527 = np.zeros((naocc[0], navir[0], nvir[0], nvir[0]), dtype=np.float64) - x527 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sVa)], (0, 1, 2, 3), v.aaaa.ovvv, (0, 4, 5, 2), (1, 3, 4, 5)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x527, (4, 5, 2, 6), (0, 1, 4, 6, 3, 5)) * -2.0 - x528 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x528 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x527, (4, 5, 3, 6), (4, 5, 0, 1, 2, 6)) - del x527 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x528, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x528, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 4.0 - del x528 - x529 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x529 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sVa)], (0, 1, 2, 3), x80, (4, 5, 0, 6), (1, 3, 4, 5, 2, 6)) - del x80 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x529, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x529, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x529, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x529, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - del x529 - x530 = np.zeros((naocc[0], navir[0], nvir[0], nvir[0]), dtype=np.float64) - x530 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sVa)], (0, 1, 2, 3), v.aaaa.ovvv, (0, 2, 4, 5), (1, 3, 4, 5)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x530, (4, 5, 6, 2), (0, 1, 4, 6, 3, 5)) * 2.0 - x531 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x531 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x530, (4, 5, 6, 3), (4, 5, 0, 1, 2, 6)) - del x530 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x531, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x531, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -4.0 - del x531 - x532 = np.zeros((naocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x532 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sva)], (0, 1, 2, 3), v.aaaa.ovvv, (4, 2, 5, 3), (1, 0, 4, 5)) * -1.0 - x533 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x533 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), x532, (4, 5, 1, 6), (4, 3, 5, 0, 2, 6)) * -1.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x533, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x533, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x533, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x533, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x533, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x533, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x533, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x533, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - del x533 - x534 = np.zeros((navir[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x534 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), v.aaaa.ovvv, (1, 2, 4, 5), (3, 0, 4, 5)) * -1.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), x534, (4, 5, 6, 2), (5, 1, 0, 6, 3, 4)) * -2.0 - x535 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x535 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sva)], (0, 1, 2, 3), x534, (4, 5, 6, 3), (1, 4, 0, 5, 2, 6)) * -1.0 - del x534 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x535, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x535, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x535, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x535, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -4.0 - del x535 - x536 = np.zeros((navir[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x536 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), v.aaaa.ovvv, (1, 4, 5, 2), (3, 0, 4, 5)) * -1.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), x536, (4, 5, 2, 6), (5, 1, 0, 6, 3, 4)) * 2.0 - x537 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x537 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sva)], (0, 1, 2, 3), x536, (4, 5, 3, 6), (1, 4, 0, 5, 2, 6)) * -1.0 - del x536 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x537, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x537, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x537, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x537, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 4.0 - del x537 - x538 = np.zeros((naocc[0], nvir[0], nvir[0], nvir[0]), dtype=np.float64) - x538 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sva)], (0, 1, 2, 3), v.aaaa.ovvv, (0, 4, 5, 3), (1, 2, 4, 5)) * -1.0 - x539 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x539 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), x538, (4, 5, 2, 6), (4, 3, 0, 1, 5, 6)) * -1.0 - del x538 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x539, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x539, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -4.0 - del x539 - x540 = np.zeros((naocc[0], nvir[0], nvir[0], nvir[0]), dtype=np.float64) - x540 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sva)], (0, 1, 2, 3), v.aaaa.ovvv, (0, 3, 4, 5), (1, 2, 4, 5)) * -1.0 - x541 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x541 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), x540, (4, 5, 6, 2), (4, 3, 0, 1, 5, 6)) * -1.0 - del x540 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x541, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x541, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 4.0 - del x541 - x542 = np.zeros((naocc[0], navir[0], nocc[0], nocc[1], nvir[0], nvir[1]), dtype=np.float64) - x542 += einsum(v.bbbb.ovov, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 2, 5, 6, 3, 7), (5, 7, 4, 0, 6, 1)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x542, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x542, (4, 5, 6, 1, 7, 3), (6, 0, 4, 7, 2, 5)) * 4.0 - x543 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x543 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x542, (4, 5, 6, 1, 7, 3), (4, 5, 0, 6, 2, 7)) - del x542 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x543, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x543, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x543, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x543, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - del x543 - x544 = np.zeros((naocc[0], navir[0], nocc[0], nocc[1], nvir[0], nvir[1]), dtype=np.float64) - x544 += einsum(v.bbbb.ovov, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 2, 5, 6, 1, 7), (5, 7, 4, 0, 6, 3)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x544, (4, 5, 6, 1, 7, 3), (6, 0, 4, 7, 2, 5)) * -4.0 - x545 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x545 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x544, (4, 5, 6, 1, 7, 3), (4, 5, 0, 6, 2, 7)) - del x544 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x545, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x545, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x545, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x545, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - del x545 - x546 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x546 += einsum(x34, (0, 1), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (2, 1, 3, 4, 5, 6), (3, 6, 0, 2, 4, 5)) - del x34 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x546, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -6.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x546, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 6.0 - del x546 - x547 = np.zeros((naocc[0], navir[0], nocc[0], nocc[1], nvir[0], nvir[1]), dtype=np.float64) - x547 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (4, 0, 5, 6, 1, 7), (5, 7, 4, 2, 6, 3)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x547, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 6.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x547, (4, 5, 6, 1, 7, 3), (6, 0, 4, 7, 2, 5)) * 12.0 - x548 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x548 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x547, (4, 5, 6, 1, 7, 3), (4, 5, 0, 6, 2, 7)) - del x547 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x548, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 6.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x548, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -6.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x548, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -6.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x548, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 6.0 - del x548 - x549 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x549 += einsum(x105, (0, 1), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (2, 3, 4, 5, 1, 6), (4, 6, 2, 3, 0, 5)) - del x105 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x549, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 6.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x549, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -6.0 - del x549 - x550 = np.zeros((navir[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x550 += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), v.bbbb.ovov, (4, 5, 1, 3), (2, 0, 4, 5)) - x551 = np.zeros((naocc[0], navir[0], navir[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x551 += einsum(x550, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 2, 5, 6, 3, 7), (5, 0, 7, 1, 4, 6)) - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sVa,sVfa)] += einsum(x551, (0, 1, 2, 3, 4, 5), (3, 4, 0, 5, 2, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sVa,sVfa)] += einsum(x551, (0, 1, 2, 3, 4, 5), (4, 3, 0, 5, 2, 1)) * -2.0 - del x551 - x552 = np.zeros((navir[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x552 += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), v.bbbb.ovov, (4, 3, 1, 5), (2, 0, 4, 5)) - x553 = np.zeros((naocc[0], navir[0], navir[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x553 += einsum(x552, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 2, 5, 6, 3, 7), (5, 0, 7, 1, 4, 6)) - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sVa,sVfa)] += einsum(x553, (0, 1, 2, 3, 4, 5), (3, 4, 0, 5, 2, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sVa,sVfa)] += einsum(x553, (0, 1, 2, 3, 4, 5), (4, 3, 0, 5, 2, 1)) * 2.0 - del x553 - x554 = np.zeros((navir[0], navir[0], nocc[0], nocc[0]), dtype=np.float64) - x554 += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), v.aabb.oVov, (4, 5, 1, 3), (2, 5, 0, 4)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x554, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (3, 4, 5, 6, 7, 1), (2, 4, 5, 6, 7, 0)) * 2.0 - x555 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x555 += einsum(x554, (0, 1, 2, 3), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (4, 3, 5, 6, 7, 1), (5, 0, 2, 4, 6, 7)) - del x554 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x555, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 6.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x555, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -6.0 - del x555 - x556 = np.zeros((navir[0], navir[0]), dtype=np.float64) - x556 += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), v.aabb.oVov, (0, 4, 1, 3), (2, 4)) - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x556, (0, 1), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 6, 0)) * -6.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x556, (0, 1), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 6, 0)) * -2.0 - del x556 - x557 = np.zeros((naocc[0], nocc[1], nvir[0], nvir[1]), dtype=np.float64) - x557 += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), v.bbbb.ovov, (4, 5, 1, 3), (0, 4, 2, 5)) - x558 = np.zeros((naocc[0], naocc[0], navir[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x558 += einsum(x557, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 1, 5, 6, 3, 7), (0, 5, 7, 4, 2, 6)) - t3new_aaaaaa[np.ix_(soa,sOa,sOfa,sva,sva,sVfa)] += einsum(x558, (0, 1, 2, 3, 4, 5), (3, 1, 0, 4, 5, 2)) * 2.0 - t3new_aaaaaa[np.ix_(soa,sOa,sOfa,sva,sva,sVfa)] += einsum(x558, (0, 1, 2, 3, 4, 5), (3, 1, 0, 5, 4, 2)) * -2.0 - del x558 - x559 = np.zeros((naocc[0], nocc[1], nvir[0], nvir[1]), dtype=np.float64) - x559 += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), v.bbbb.ovov, (4, 3, 1, 5), (0, 4, 2, 5)) - x560 = np.zeros((naocc[0], naocc[0], navir[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x560 += einsum(x559, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 1, 5, 6, 3, 7), (0, 5, 7, 4, 2, 6)) - t3new_aaaaaa[np.ix_(soa,sOa,sOfa,sva,sva,sVfa)] += einsum(x560, (0, 1, 2, 3, 4, 5), (3, 1, 0, 4, 5, 2)) * -2.0 - t3new_aaaaaa[np.ix_(soa,sOa,sOfa,sva,sva,sVfa)] += einsum(x560, (0, 1, 2, 3, 4, 5), (3, 1, 0, 5, 4, 2)) * 2.0 - del x560 - x561 = np.zeros((naocc[0], naocc[0]), dtype=np.float64) - x561 += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.vOov, (2, 4, 1, 3), (0, 4)) - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x561, (0, 1), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (2, 3, 1, 4, 5, 6), (2, 3, 0, 4, 5, 6)) * -6.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x561, (0, 1), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (2, 3, 1, 4, 5, 6), (2, 3, 0, 4, 5, 6)) * -2.0 - del x561 - x562 = np.zeros((naocc[0], naocc[0], nvir[0], nvir[0]), dtype=np.float64) - x562 += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.vOov, (4, 5, 1, 3), (0, 5, 2, 4)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x562, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 5, 1, 3, 6, 7), (4, 5, 0, 2, 6, 7)) * 2.0 - x563 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x563 += einsum(x562, (0, 1, 2, 3), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (4, 5, 1, 6, 3, 7), (0, 7, 4, 5, 2, 6)) - del x562 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x563, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -6.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x563, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 6.0 - del x563 - x564 = np.zeros((naocc[0], navir[0], nocc[1], nvir[1]), dtype=np.float64) - x564 += einsum(t2.abab[np.ix_(sOa,sob,sVa,svb)], (0, 1, 2, 3), v.bbbb.ovov, (4, 5, 1, 3), (0, 2, 4, 5)) - t3new_aaaaaa[np.ix_(soa,sOa,sOfa,sva,sVa,sVfa)] += einsum(x564, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 2, 5, 6, 3, 7), (4, 5, 0, 6, 7, 1)) * 2.0 - x565 = np.zeros((naocc[0], navir[0], nocc[1], nvir[1]), dtype=np.float64) - x565 += einsum(t2.abab[np.ix_(sOa,sob,sVa,svb)], (0, 1, 2, 3), v.bbbb.ovov, (4, 3, 1, 5), (0, 2, 4, 5)) - t3new_aaaaaa[np.ix_(soa,sOa,sOfa,sva,sVa,sVfa)] += einsum(x565, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 2, 5, 6, 3, 7), (4, 5, 0, 6, 7, 1)) * -2.0 - x566 = np.zeros((naocc[0], naocc[0], navir[0], navir[0]), dtype=np.float64) - x566 += einsum(t2.abab[np.ix_(sOa,sob,sVa,svb)], (0, 1, 2, 3), v.aabb.OVov, (4, 5, 1, 3), (0, 4, 2, 5)) - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x566, (0, 1, 2, 3), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (4, 5, 1, 6, 7, 3), (4, 5, 0, 6, 7, 2)) * 6.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x566, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 5, 1, 6, 7, 3), (4, 5, 0, 6, 7, 2)) * 2.0 - del x566 - x567 = np.zeros((naocc[0], navir[0], nvir[0], nvir[0]), dtype=np.float64) - x567 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (0, 2, 4, 5, 3, 6), (4, 6, 5, 1)) - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sVa,sVfa)] += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), x567, (4, 5, 6, 2), (0, 1, 4, 6, 5, 3)) * 4.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x567, (4, 5, 6, 2), (0, 1, 4, 6, 3, 5)) * -2.0 - x568 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x568 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x567, (4, 5, 6, 3), (4, 5, 0, 1, 2, 6)) - del x567 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x568, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x568, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 4.0 - del x568 - x569 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0]), dtype=np.float64) - x569 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 2, 5, 1, 3, 6), (5, 6, 4, 0)) - t3new_aaaaaa[np.ix_(soa,sOa,sOfa,sva,sva,sVfa)] += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sva)], (0, 1, 2, 3), x569, (4, 5, 6, 0), (6, 4, 1, 2, 3, 5)) * 4.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x569, (4, 5, 6, 0), (6, 1, 4, 2, 3, 5)) * -2.0 - x570 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x570 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x569, (4, 5, 6, 1), (4, 5, 0, 6, 2, 3)) - del x569 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x570, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x570, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -4.0 - del x570 - x571 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x571 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x306, (4, 5, 6, 1, 7, 3), (4, 5, 0, 6, 2, 7)) - del x306 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x571, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x571, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x571, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x571, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 4.0 - del x571 - x572 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x572 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), x88, (4, 5, 1, 6), (4, 3, 0, 5, 2, 6)) * -1.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x572, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x572, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x572, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x572, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 4.0 - del x572 - x573 = np.zeros((navir[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x573 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), v.aabb.ovov, (1, 2, 4, 5), (3, 0, 4, 5)) * -1.0 - x574 = np.zeros((naocc[0], navir[0], navir[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x574 += einsum(x573, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 2, 5, 6, 3, 7), (5, 0, 7, 1, 4, 6)) - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sVa,sVfa)] += einsum(x574, (0, 1, 2, 3, 4, 5), (3, 4, 0, 5, 2, 1)) * 4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sVa,sVfa)] += einsum(x574, (0, 1, 2, 3, 4, 5), (4, 3, 0, 5, 2, 1)) * -4.0 - del x574 - x575 = np.zeros((navir[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x575 += einsum(v.aabb.vOov, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 2, 1, 5, 3, 6), (6, 4, 5, 0)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), x575, (4, 5, 6, 2), (5, 1, 0, 6, 3, 4)) * -2.0 - x576 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x576 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sva)], (0, 1, 2, 3), x575, (4, 5, 6, 3), (1, 4, 0, 5, 2, 6)) * -1.0 - del x575 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x576, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x576, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x576, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x576, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 4.0 - del x576 - x577 = np.zeros((naocc[0], nocc[1], nvir[0], nvir[1]), dtype=np.float64) - x577 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sva)], (0, 1, 2, 3), v.aabb.ovov, (0, 3, 4, 5), (1, 4, 2, 5)) * -1.0 - x578 = np.zeros((naocc[0], naocc[0], navir[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x578 += einsum(x577, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 1, 5, 6, 3, 7), (0, 5, 7, 4, 2, 6)) - t3new_aaaaaa[np.ix_(soa,sOa,sOfa,sva,sva,sVfa)] += einsum(x578, (0, 1, 2, 3, 4, 5), (3, 1, 0, 4, 5, 2)) * 4.0 - t3new_aaaaaa[np.ix_(soa,sOa,sOfa,sva,sva,sVfa)] += einsum(x578, (0, 1, 2, 3, 4, 5), (3, 1, 0, 5, 4, 2)) * -4.0 - del x578 - x579 = np.zeros((naocc[0], naocc[0], navir[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x579 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sVa)], (0, 1, 2, 3), v.aabb.vOov, (2, 4, 5, 6), (1, 4, 3, 0, 5, 6)) - x580 = np.zeros((naocc[0], navir[0], navir[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x580 += einsum(t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (0, 1, 2, 3, 4, 5), x579, (6, 2, 7, 8, 1, 4), (6, 7, 5, 8, 0, 3)) - del x579 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sVa,sVfa)] += einsum(x580, (0, 1, 2, 3, 4, 5), (3, 4, 0, 5, 2, 1)) * 4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sVa,sVfa)] += einsum(x580, (0, 1, 2, 3, 4, 5), (4, 3, 0, 5, 2, 1)) * -4.0 - del x580 - x581 = np.zeros((naocc[0], naocc[0], navir[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x581 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sVa)], (0, 1, 2, 3), x88, (4, 5, 0, 6), (1, 4, 3, 5, 2, 6)) - del x88 - t3new_aaaaaa[np.ix_(soa,sOa,sOfa,sva,sva,sVfa)] += einsum(x581, (0, 1, 2, 3, 4, 5), (3, 1, 0, 4, 5, 2)) * 4.0 - t3new_aaaaaa[np.ix_(soa,sOa,sOfa,sva,sva,sVfa)] += einsum(x581, (0, 1, 2, 3, 4, 5), (3, 1, 0, 5, 4, 2)) * -4.0 - del x581 - x582 = np.zeros((naocc[0], navir[0], nocc[1], nvir[1]), dtype=np.float64) - x582 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sVa)], (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 5), (1, 3, 4, 5)) - t3new_aaaaaa[np.ix_(soa,sOa,sOfa,sva,sVa,sVfa)] += einsum(x582, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 2, 5, 6, 3, 7), (4, 5, 0, 6, 7, 1)) * 4.0 - x583 = np.zeros((naocc[0], navir[0], nvir[0], nvir[0]), dtype=np.float64) - x583 += einsum(v.aaaa.ovov, (0, 1, 2, 3), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (0, 2, 4, 5, 1, 6), (4, 6, 5, 3)) * -1.0 - x584 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x584 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x583, (4, 5, 6, 3), (4, 5, 0, 1, 2, 6)) - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x584, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -6.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x584, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 6.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x584, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -6.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x584, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 6.0 - del x584 - x585 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x585 += einsum(x113, (0, 1, 2, 3), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (2, 3, 4, 5, 6, 7), (4, 7, 1, 0, 5, 6)) * -1.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x585, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -3.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x585, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -3.0 - del x585 - x586 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0]), dtype=np.float64) - x586 += einsum(v.aaaa.ovov, (0, 1, 2, 3), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (4, 2, 5, 3, 1, 6), (5, 6, 4, 0)) * -1.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x586, (4, 5, 6, 0), (6, 1, 4, 2, 3, 5)) * -6.0 - x587 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x587 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x586, (4, 5, 6, 1), (4, 5, 0, 6, 2, 3)) - del x586 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x587, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 12.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x587, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -12.0 - del x587 - x588 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x588 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x312, (4, 5, 6, 1, 7, 3), (4, 5, 0, 6, 2, 7)) - del x312 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x588, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 12.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x588, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -12.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x588, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -12.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x588, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 12.0 - del x588 - x589 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x589 += einsum(x37, (0, 1), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (2, 1, 3, 4, 5, 6), (3, 6, 0, 2, 4, 5)) * -1.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x589, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 6.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x589, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 6.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x589, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -6.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x589, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -6.0 - del x589 - x590 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x590 += einsum(v.aaaa.ovov, (0, 1, 2, 3), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (4, 2, 5, 6, 1, 7), (5, 7, 4, 0, 6, 3)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x590, (4, 5, 6, 0, 7, 2), (6, 1, 4, 7, 3, 5)) * -6.0 - x591 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x591 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x590, (4, 5, 6, 1, 7, 3), (4, 5, 0, 6, 2, 7)) - del x590 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x591, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -12.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x591, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 12.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x591, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 12.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x591, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -12.0 - del x591 - x592 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[0], nocc[0]), dtype=np.float64) - x592 += einsum(v.aaaa.ovov, (0, 1, 2, 3), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (4, 5, 6, 3, 1, 7), (6, 7, 4, 5, 0, 2)) * -1.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x592, (4, 5, 6, 7, 0, 1), (6, 7, 4, 2, 3, 5)) * 6.0 - x593 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x593 += einsum(x111, (0, 1), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (2, 3, 4, 5, 1, 6), (4, 6, 2, 3, 0, 5)) * -1.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x593, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -6.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x593, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 6.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x593, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -6.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x593, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 6.0 - del x593 - x594 = np.zeros((naocc[0], nvir[0], nvir[0], nvir[0]), dtype=np.float64) - x594 += einsum(v.aaaa.ovoV, (0, 1, 2, 3), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (2, 0, 4, 5, 6, 3), (4, 5, 6, 1)) - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), x594, (4, 5, 6, 2), (0, 1, 4, 5, 6, 3)) * 6.0 - del x594 - x595 = np.zeros((naocc[0], nvir[0], nvir[0], nvir[0]), dtype=np.float64) - x595 += einsum(v.aaaa.ovoV, (0, 1, 2, 3), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (2, 0, 4, 5, 6, 3), (4, 5, 6, 1)) - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), x595, (4, 5, 6, 2), (0, 1, 4, 5, 6, 3)) * 6.0 - del x595 - x596 = np.zeros((naocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x596 += einsum(v.aaaa.ovoV, (0, 1, 2, 3), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (4, 2, 5, 6, 1, 3), (5, 4, 0, 6)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), x596, (4, 5, 0, 6), (5, 1, 4, 6, 3, 2)) * 6.0 - x597 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x597 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), x596, (4, 5, 1, 6), (4, 3, 0, 5, 2, 6)) * -1.0 - del x596 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x597, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -12.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x597, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 12.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x597, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 12.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x597, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -12.0 - del x597 - x598 = np.zeros((navir[0], navir[0], nocc[0], nocc[0]), dtype=np.float64) - x598 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), v.aaaa.ovoV, (1, 2, 4, 5), (3, 5, 0, 4)) * -1.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x598, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (3, 4, 5, 6, 7, 1), (2, 4, 5, 6, 7, 0)) * 4.0 - x599 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x599 += einsum(x598, (0, 1, 2, 3), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (4, 3, 5, 6, 7, 1), (5, 0, 2, 4, 6, 7)) - del x598 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x599, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 12.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x599, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -12.0 - del x599 - x600 = np.zeros((navir[0], navir[0], nocc[0], nocc[0]), dtype=np.float64) - x600 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), v.aaaa.ovoV, (4, 2, 1, 5), (3, 5, 0, 4)) * -1.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x600, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (3, 4, 5, 6, 7, 1), (2, 4, 5, 6, 7, 0)) * -4.0 - x601 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x601 += einsum(x600, (0, 1, 2, 3), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (4, 3, 5, 6, 7, 1), (5, 0, 2, 4, 6, 7)) - del x600 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x601, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -12.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x601, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 12.0 - del x601 - x602 = np.zeros((navir[0], navir[0], nvir[0], nvir[0]), dtype=np.float64) - x602 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), v.aaaa.ovoV, (1, 4, 0, 5), (3, 5, 2, 4)) * -1.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x602, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 5, 6, 3, 7, 1), (4, 5, 6, 2, 7, 0)) * 2.0 - x603 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x603 += einsum(x602, (0, 1, 2, 3), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (4, 5, 6, 7, 3, 1), (6, 0, 4, 5, 2, 7)) - del x602 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x603, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -6.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x603, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 6.0 - del x603 - x604 = np.zeros((navir[0], navir[0]), dtype=np.float64) - x604 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), v.aaaa.ovoV, (1, 2, 0, 4), (3, 4)) * -1.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x604, (0, 1), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 6, 0)) * -6.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x604, (0, 1), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 6, 0)) * -2.0 - del x604 - x605 = np.zeros((navir[0], navir[0]), dtype=np.float64) - x605 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), v.aaaa.ovoV, (1, 2, 0, 4), (3, 4)) * -1.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x605, (0, 1), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 6, 0)) * -6.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x605, (0, 1), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 6, 0)) * -2.0 - del x605 - x606 = np.zeros((navir[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x606 += einsum(v.aaaa.ovvO, (0, 1, 2, 3), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (4, 0, 3, 5, 2, 6), (6, 4, 5, 1)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), x606, (4, 5, 6, 2), (5, 1, 0, 6, 3, 4)) * 3.0 - x607 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x607 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sva)], (0, 1, 2, 3), x606, (4, 5, 6, 3), (1, 4, 0, 5, 2, 6)) * -1.0 - del x606 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x607, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -6.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x607, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 6.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x607, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 6.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x607, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -6.0 - del x607 - x608 = np.zeros((naocc[0], naocc[0], nocc[0], nocc[0]), dtype=np.float64) - x608 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sva)], (0, 1, 2, 3), v.aaaa.ovvO, (4, 3, 2, 5), (1, 5, 0, 4)) * -1.0 - x609 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x609 += einsum(x608, (0, 1, 2, 3), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (4, 3, 1, 5, 6, 7), (0, 7, 2, 4, 5, 6)) - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x609, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 3.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x609, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 3.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x609, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -3.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x609, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -3.0 - del x609 - x610 = np.zeros((navir[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x610 += einsum(v.aaaa.ovvO, (0, 1, 2, 3), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (4, 0, 3, 5, 1, 6), (6, 4, 5, 2)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), x610, (4, 5, 6, 2), (5, 1, 0, 6, 3, 4)) * -3.0 - x611 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x611 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sva)], (0, 1, 2, 3), x610, (4, 5, 6, 3), (1, 4, 0, 5, 2, 6)) * -1.0 - del x610 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x611, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 6.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x611, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -6.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x611, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -6.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x611, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 6.0 - del x611 - x612 = np.zeros((navir[0], nocc[0], nocc[0], nocc[0]), dtype=np.float64) - x612 += einsum(v.aaaa.ovvO, (0, 1, 2, 3), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (4, 5, 3, 2, 1, 6), (6, 4, 5, 0)) - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sva)], (0, 1, 2, 3), x612, (4, 5, 6, 0), (6, 5, 1, 2, 3, 4)) * -12.0 - del x612 - x613 = np.zeros((naocc[0], naocc[0], nvir[0], nvir[0]), dtype=np.float64) - x613 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sva)], (0, 1, 2, 3), v.aaaa.ovvO, (0, 3, 4, 5), (1, 5, 2, 4)) * -1.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x613, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 5, 1, 3, 6, 7), (4, 5, 0, 2, 6, 7)) * 4.0 - x614 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x614 += einsum(x613, (0, 1, 2, 3), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (4, 5, 1, 6, 3, 7), (0, 7, 4, 5, 2, 6)) - del x613 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x614, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -12.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x614, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 12.0 - del x614 - x615 = np.zeros((naocc[0], naocc[0]), dtype=np.float64) - x615 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sva)], (0, 1, 2, 3), v.aaaa.ovvO, (0, 3, 2, 4), (1, 4)) * -1.0 - x616 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x616 += einsum(x615, (0, 1), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (2, 3, 1, 4, 5, 6), (0, 6, 2, 3, 4, 5)) - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x616, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 6.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x616, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 6.0 - del x616 - x617 = np.zeros((naocc[0], naocc[0], nvir[0], nvir[0]), dtype=np.float64) - x617 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sva)], (0, 1, 2, 3), v.aaaa.ovvO, (0, 4, 3, 5), (1, 5, 2, 4)) * -1.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x617, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 5, 1, 3, 6, 7), (4, 5, 0, 2, 6, 7)) * -4.0 - x618 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x618 += einsum(x617, (0, 1, 2, 3), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (4, 5, 1, 6, 3, 7), (0, 7, 4, 5, 2, 6)) - del x617 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x618, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 12.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x618, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -12.0 - del x618 - x619 = np.zeros((naocc[0], naocc[0], navir[0], navir[0], nocc[0], nocc[0]), dtype=np.float64) - x619 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sVa)], (0, 1, 2, 3), v.aaaa.ovOV, (4, 2, 5, 6), (1, 5, 3, 6, 0, 4)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (0, 1, 2, 3, 4, 5), x619, (6, 2, 7, 5, 8, 0), (8, 1, 6, 3, 4, 7)) * -2.0 - x620 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x620 += einsum(t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (0, 1, 2, 3, 4, 5), x619, (6, 2, 7, 5, 8, 1), (6, 7, 8, 0, 3, 4)) - del x619 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x620, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -6.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x620, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 6.0 - del x620 - x621 = np.zeros((naocc[0], naocc[0], navir[0], navir[0], nocc[0], nocc[0]), dtype=np.float64) - x621 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sVa)], (0, 1, 2, 3), v.aaaa.oVvO, (4, 5, 2, 6), (1, 6, 3, 5, 0, 4)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (0, 1, 2, 3, 4, 5), x621, (6, 2, 7, 5, 8, 0), (8, 1, 6, 3, 4, 7)) * 2.0 - x622 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x622 += einsum(t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (0, 1, 2, 3, 4, 5), x621, (6, 2, 7, 5, 8, 1), (6, 7, 8, 0, 3, 4)) - del x621 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x622, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 6.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x622, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -6.0 - del x622 - x623 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x623 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sVa)], (0, 1, 2, 3), x94, (4, 5, 0, 6), (1, 3, 4, 5, 2, 6)) - del x94 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x623, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 12.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x623, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -12.0 - del x623 - x624 = np.zeros((naocc[0], naocc[0], navir[0], navir[0]), dtype=np.float64) - x624 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sVa)], (0, 1, 2, 3), v.aaaa.ovOV, (0, 2, 4, 5), (1, 4, 3, 5)) - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x624, (0, 1, 2, 3), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (4, 5, 1, 6, 7, 3), (4, 5, 0, 6, 7, 2)) * 12.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x624, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 5, 1, 6, 7, 3), (4, 5, 0, 6, 7, 2)) * 4.0 - del x624 - x625 = np.zeros((naocc[0], naocc[0], navir[0], navir[0]), dtype=np.float64) - x625 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sVa)], (0, 1, 2, 3), v.aaaa.oVvO, (0, 4, 2, 5), (1, 5, 3, 4)) - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x625, (0, 1, 2, 3), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (4, 5, 1, 6, 7, 3), (4, 5, 0, 6, 7, 2)) * -12.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x625, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 5, 1, 6, 7, 3), (4, 5, 0, 6, 7, 2)) * -4.0 - del x625 - x626 = np.zeros((naocc[0], nocc[0], nocc[0], nocc[0]), dtype=np.float64) - x626 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aaaa.ovoO, (2, 1, 3, 4), (4, 0, 3, 2)) - x627 = np.zeros((naocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x627 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x626, (2, 3, 4, 0), (2, 3, 4, 1)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), x627, (4, 5, 0, 6), (5, 1, 4, 6, 3, 2)) - x628 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x628 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), x627, (4, 5, 1, 6), (4, 3, 5, 0, 6, 2)) * -1.0 - del x627 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x628, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x628, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x628, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x628, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - del x628 - x629 = np.zeros((naocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x629 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x626, (2, 3, 0, 4), (2, 3, 4, 1)) - del x626 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), x629, (4, 5, 0, 6), (5, 1, 4, 6, 3, 2)) * -1.0 - x630 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x630 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), x629, (4, 5, 1, 6), (4, 3, 5, 0, 6, 2)) * -1.0 - del x629 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x630, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x630, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x630, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x630, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - del x630 - x631 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[0], nocc[0]), dtype=np.float64) - x631 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), v.aaaa.ovoO, (4, 2, 5, 6), (6, 3, 0, 1, 5, 4)) * -1.0 - x632 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x632 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x631, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 6, 1)) - del x631 - x633 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x633 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x632, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x632 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x633, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x633, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - del x633 - x634 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x634 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sVa)], (0, 1, 2, 3), x69, (4, 5, 6, 0), (1, 3, 4, 6, 5, 2)) - x635 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x635 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x634, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 1, 6)) - del x634 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x635, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x635, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x635, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x635, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - del x635 - x636 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x636 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sVa)], (0, 1, 2, 3), x69, (4, 5, 0, 6), (1, 3, 4, 5, 6, 2)) - del x69 - x637 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x637 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x636, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x636 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x637, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x637, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x637, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x637, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - del x637 - x638 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x638 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x500, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 6, 1)) - del x500 - x639 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x639 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x638, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 1, 6)) - del x638 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x639, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x639, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x639, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x639, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - del x639 - x640 = np.zeros((navir[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x640 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aaaa.ovvV, (2, 1, 3, 4), (4, 0, 2, 3)) - x641 = np.zeros((navir[0], nocc[0], nocc[0], nocc[0]), dtype=np.float64) - x641 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x640, (2, 3, 4, 1), (2, 0, 3, 4)) - x642 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x642 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sva)], (0, 1, 2, 3), x641, (4, 5, 6, 0), (1, 4, 5, 6, 2, 3)) * -1.0 - del x641 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x642, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x642, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - del x642 - x643 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x643 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sVa)], (0, 1, 2, 3), x117, (4, 5, 0, 6), (1, 3, 4, 5, 2, 6)) - del x117 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x643, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x643, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x643, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x643, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - del x643 - x644 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x644 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sva)], (0, 1, 2, 3), x640, (4, 5, 6, 3), (1, 4, 5, 0, 6, 2)) * -1.0 - x645 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x645 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x644, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x644 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x645, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x645, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x645, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x645, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - del x645 - x646 = np.zeros((navir[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x646 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aaaa.ovvV, (2, 3, 1, 4), (4, 0, 2, 3)) - x647 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x647 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sva)], (0, 1, 2, 3), x646, (4, 5, 6, 3), (1, 4, 5, 0, 6, 2)) * -1.0 - x648 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x648 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x647, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x647 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x648, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x648, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x648, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x648, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - del x648 - x649 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x649 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x301, (2, 3, 4, 5, 1, 6), (2, 3, 0, 4, 5, 6)) - del x301 - x650 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x650 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x649, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x649 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x650, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x650, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x650, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x650, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - del x650 - x651 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x651 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x525, (2, 3, 4, 5, 6, 1), (2, 3, 0, 4, 5, 6)) - del x525 - x652 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x652 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x651, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x651 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x652, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x652, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x652, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x652, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - del x652 - x653 = np.zeros((naocc[0], navir[0], nocc[0], nvir[0]), dtype=np.float64) - x653 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), v.aaaa.ovoO, (0, 2, 3, 4), (4, 1, 3, 2)) - x654 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0]), dtype=np.float64) - x654 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x653, (2, 3, 4, 1), (2, 3, 0, 4)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x654, (4, 5, 6, 0), (6, 1, 4, 2, 3, 5)) * -1.0 - x655 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x655 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x654, (4, 5, 6, 1), (4, 5, 6, 0, 2, 3)) - del x654 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x655, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x655, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - del x655 - x656 = np.zeros((naocc[0], navir[0], nocc[0], nvir[0]), dtype=np.float64) - x656 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), v.aaaa.ovoO, (2, 3, 0, 4), (4, 1, 2, 3)) - x657 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0]), dtype=np.float64) - x657 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x656, (2, 3, 4, 1), (2, 3, 0, 4)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x657, (4, 5, 6, 0), (6, 1, 4, 2, 3, 5)) - x658 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x658 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x657, (4, 5, 6, 1), (4, 5, 6, 0, 2, 3)) - del x657 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x658, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x658, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - del x658 - x659 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x659 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x656, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) - x660 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x660 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x659, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x659 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x660, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x660, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - del x660 - x661 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x661 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x653, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) - x662 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x662 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x661, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x661 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x662, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x662, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - del x662 - x663 = np.zeros((navir[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x663 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), v.aaaa.ooov, (2, 0, 3, 4), (1, 2, 3, 4)) - x664 = np.zeros((navir[0], nocc[0], nocc[0], nocc[0]), dtype=np.float64) - x664 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x663, (2, 3, 4, 1), (2, 0, 3, 4)) - x665 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x665 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sva)], (0, 1, 2, 3), x664, (4, 5, 6, 0), (1, 4, 5, 6, 2, 3)) * -1.0 - del x664 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x665, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x665, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - del x665 - x666 = np.zeros((navir[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x666 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), v.aaaa.ooov, (2, 3, 0, 4), (1, 2, 3, 4)) - x667 = np.zeros((navir[0], nocc[0], nocc[0], nocc[0]), dtype=np.float64) - x667 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x666, (2, 3, 4, 1), (2, 0, 4, 3)) - x668 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x668 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sva)], (0, 1, 2, 3), x667, (4, 5, 0, 6), (1, 4, 5, 6, 2, 3)) * -1.0 - del x667 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x668, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x668, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - del x668 - x669 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x669 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sva)], (0, 1, 2, 3), x666, (4, 5, 6, 3), (1, 4, 0, 6, 5, 2)) * -1.0 - x670 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x670 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x669, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 1, 6)) - del x669 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x670, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x670, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x670, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x670, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - del x670 - x671 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x671 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sva)], (0, 1, 2, 3), x663, (4, 5, 6, 3), (1, 4, 0, 5, 6, 2)) * -1.0 - x672 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x672 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x671, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x671 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x672, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x672, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x672, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x672, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - del x672 - x673 = np.zeros((navir[0], nvir[0], nvir[0], nvir[0]), dtype=np.float64) - x673 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), v.aaaa.ovvv, (0, 2, 3, 4), (1, 2, 3, 4)) - x674 = np.zeros((navir[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x674 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x673, (2, 1, 3, 4), (2, 0, 4, 3)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), x674, (4, 5, 2, 6), (5, 1, 0, 6, 3, 4)) - x675 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x675 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sva)], (0, 1, 2, 3), x674, (4, 5, 3, 6), (1, 4, 5, 0, 2, 6)) * -1.0 - del x674 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x675, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x675, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x675, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x675, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - del x675 - x676 = np.zeros((navir[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x676 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x673, (2, 3, 4, 1), (2, 0, 3, 4)) - del x673 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), x676, (4, 5, 2, 6), (5, 1, 0, 6, 3, 4)) * -1.0 - x677 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x677 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sva)], (0, 1, 2, 3), x676, (4, 5, 3, 6), (1, 4, 5, 0, 2, 6)) * -1.0 - del x676 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x677, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x677, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x677, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x677, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - del x677 - x678 = np.zeros((naocc[0], nocc[0], nocc[0], nocc[0]), dtype=np.float64) - x678 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), v.aaaa.ooov, (2, 3, 4, 1), (0, 2, 3, 4)) - x679 = np.zeros((naocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x679 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x678, (2, 3, 0, 4), (2, 3, 4, 1)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), x679, (4, 5, 0, 6), (5, 1, 4, 6, 3, 2)) - x680 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x680 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), x679, (4, 5, 1, 6), (4, 3, 0, 5, 6, 2)) * -1.0 - del x679 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x680, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x680, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x680, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x680, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - del x680 - x681 = np.zeros((naocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x681 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x678, (2, 3, 4, 0), (2, 4, 3, 1)) - del x678 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), x681, (4, 0, 5, 6), (5, 1, 4, 6, 3, 2)) * -1.0 - x682 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x682 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), x681, (4, 1, 5, 6), (4, 3, 0, 5, 6, 2)) * -1.0 - del x681 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x682, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x682, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x682, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x682, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - del x682 - x683 = np.zeros((naocc[0], navir[0], nocc[0], nvir[0]), dtype=np.float64) - x683 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), v.aaaa.ovvV, (2, 3, 1, 4), (0, 4, 2, 3)) - x684 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0]), dtype=np.float64) - x684 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x683, (2, 3, 4, 1), (2, 3, 0, 4)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x684, (4, 5, 6, 0), (6, 1, 4, 2, 3, 5)) * -1.0 - x685 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x685 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x684, (4, 5, 6, 1), (4, 5, 6, 0, 2, 3)) - del x684 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x685, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x685, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - del x685 - x686 = np.zeros((naocc[0], navir[0], nocc[0], nvir[0]), dtype=np.float64) - x686 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), v.aaaa.ovvV, (2, 1, 3, 4), (0, 4, 2, 3)) - x687 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0]), dtype=np.float64) - x687 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x686, (2, 3, 4, 1), (2, 3, 0, 4)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x687, (4, 5, 6, 0), (6, 1, 4, 2, 3, 5)) - x688 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x688 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x687, (4, 5, 6, 1), (4, 5, 6, 0, 2, 3)) - del x687 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x688, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x688, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - del x688 - x689 = np.zeros((naocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x689 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), v.aaaa.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) - x690 = np.zeros((naocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x690 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x689, (2, 3, 1, 4), (2, 0, 3, 4)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), x690, (4, 5, 0, 6), (5, 1, 4, 6, 3, 2)) - x691 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x691 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), x690, (4, 5, 1, 6), (4, 3, 5, 0, 2, 6)) * -1.0 - del x690 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x691, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x691, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x691, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x691, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - del x691 - x692 = np.zeros((naocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x692 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), v.aaaa.ovvv, (2, 1, 3, 4), (0, 2, 3, 4)) - x693 = np.zeros((naocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x693 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x692, (2, 3, 4, 1), (2, 0, 3, 4)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), x693, (4, 5, 0, 6), (5, 1, 4, 6, 3, 2)) * -1.0 - x694 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x694 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), x693, (4, 5, 1, 6), (4, 3, 5, 0, 2, 6)) * -1.0 - del x693 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x694, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x694, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x694, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x694, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - del x694 - x695 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x695 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x686, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) - x696 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x696 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x695, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x695 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x696, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x696, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - del x696 - x697 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x697 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x683, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) - x698 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x698 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x697, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x697 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x698, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x698, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - del x698 - x699 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x699 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), x692, (4, 5, 6, 2), (4, 3, 0, 1, 5, 6)) * -1.0 - del x692 - x700 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x700 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x699, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x699 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x700, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x700, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - del x700 - x701 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x701 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), x689, (4, 5, 2, 6), (4, 3, 0, 1, 5, 6)) * -1.0 - del x689 - x702 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x702 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x701, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x701 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x702, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x702, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - del x702 - x703 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0]), dtype=np.float64) - x703 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), t1.aa[np.ix_(sOa,sva)], (2, 3), v.aaaa.ooov, (4, 0, 5, 3), (2, 1, 4, 5)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x703, (4, 5, 6, 0), (6, 1, 4, 2, 3, 5)) * -1.0 - x704 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x704 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x703, (4, 5, 6, 1), (4, 5, 0, 6, 2, 3)) - del x703 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x704, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x704, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - del x704 - x705 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0]), dtype=np.float64) - x705 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), t1.aa[np.ix_(sOa,sva)], (2, 3), v.aaaa.ooov, (4, 5, 0, 3), (2, 1, 4, 5)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x705, (4, 5, 0, 6), (6, 1, 4, 2, 3, 5)) - x706 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x706 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x705, (4, 5, 1, 6), (4, 5, 0, 6, 2, 3)) - del x705 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x706, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x706, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - del x706 - x707 = np.zeros((naocc[0], navir[0], nvir[0], nvir[0]), dtype=np.float64) - x707 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), t1.aa[np.ix_(sOa,sva)], (2, 3), v.aaaa.ovvv, (0, 3, 4, 5), (2, 1, 4, 5)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x707, (4, 5, 2, 6), (0, 1, 4, 6, 3, 5)) * -1.0 - x708 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x708 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x707, (4, 5, 3, 6), (4, 5, 0, 1, 2, 6)) - del x707 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x708, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x708, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - del x708 - x709 = np.zeros((naocc[0], navir[0], nvir[0], nvir[0]), dtype=np.float64) - x709 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), t1.aa[np.ix_(sOa,sva)], (2, 3), v.aaaa.ovvv, (0, 4, 5, 3), (2, 1, 4, 5)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x709, (4, 5, 2, 6), (0, 1, 4, 6, 3, 5)) - x710 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x710 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x709, (4, 5, 3, 6), (4, 5, 0, 1, 2, 6)) - del x709 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x710, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x710, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - del x710 - x711 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x711 += einsum(x33, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 2, 5, 6, 3, 7), (5, 7, 0, 4, 1, 6)) - x712 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x712 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x711, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x711 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x712, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x712, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x712, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x712, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - del x712 - x713 = np.zeros((navir[0], nocc[1], nvir[0], nvir[1]), dtype=np.float64) - x713 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), v.aabb.ovov, (0, 2, 3, 4), (1, 3, 2, 4)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sva)], (0, 1, 2, 3), x713, (4, 5, 3, 6), (0, 5, 1, 2, 6, 4)) * -2.0 - x714 = np.zeros((navir[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x714 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x713, (2, 3, 1, 4), (2, 0, 3, 4)) - x715 = np.zeros((naocc[0], navir[0], navir[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x715 += einsum(x714, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 2, 5, 6, 3, 7), (5, 0, 7, 1, 4, 6)) - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sVa,sVfa)] += einsum(x715, (0, 1, 2, 3, 4, 5), (3, 4, 0, 5, 2, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sVa,sVfa)] += einsum(x715, (0, 1, 2, 3, 4, 5), (4, 3, 0, 5, 2, 1)) * 2.0 - del x715 - x716 = np.zeros((naocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x716 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), v.aabb.ovov, (2, 1, 3, 4), (0, 2, 3, 4)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), x716, (4, 1, 5, 6), (0, 5, 4, 2, 6, 3)) * -2.0 - x717 = np.zeros((naocc[0], naocc[0], navir[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x717 += einsum(x716, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 2, 5, 6, 3, 7), (0, 5, 7, 4, 1, 6)) - x718 = np.zeros((naocc[0], naocc[0], navir[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x718 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x717, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x717 - t3new_aaaaaa[np.ix_(soa,sOa,sOfa,sva,sva,sVfa)] += einsum(x718, (0, 1, 2, 3, 4, 5), (3, 1, 0, 4, 5, 2)) * -2.0 - t3new_aaaaaa[np.ix_(soa,sOa,sOfa,sva,sva,sVfa)] += einsum(x718, (0, 1, 2, 3, 4, 5), (3, 1, 0, 5, 4, 2)) * 2.0 - del x718 - x719 = np.zeros((naocc[0], navir[0], nocc[1], nvir[1]), dtype=np.float64) - x719 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), t1.aa[np.ix_(sOa,sva)], (2, 3), v.aabb.ovov, (0, 3, 4, 5), (2, 1, 4, 5)) - t3new_aaaaaa[np.ix_(soa,sOa,sOfa,sva,sVa,sVfa)] += einsum(x719, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 2, 5, 6, 3, 7), (4, 5, 0, 6, 7, 1)) * -2.0 - x720 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x720 += einsum(x121, (0, 1, 2, 3), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (2, 3, 4, 5, 6, 7), (4, 7, 1, 0, 5, 6)) * -1.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x720, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -3.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x720, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -3.0 - del x720 - x721 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x721 += einsum(x35, (0, 1, 2, 3), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (4, 1, 5, 6, 3, 7), (5, 7, 0, 4, 2, 6)) - x722 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x722 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x721, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x721 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x722, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -6.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x722, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 6.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x722, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 6.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x722, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -6.0 - del x722 - x723 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x723 += einsum(x35, (0, 1, 2, 3), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (4, 2, 5, 6, 3, 7), (5, 7, 0, 4, 1, 6)) - x724 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x724 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x723, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x723 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x724, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 6.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x724, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -6.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x724, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -6.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x724, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 6.0 - del x724 - x725 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x725 += einsum(x39, (0, 1), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (2, 1, 3, 4, 5, 6), (3, 6, 0, 2, 4, 5)) - del x39 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x725, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 6.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x725, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -6.0 - del x725 - x726 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x726 += einsum(x40, (0, 1), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (2, 1, 3, 4, 5, 6), (3, 6, 0, 2, 4, 5)) - del x40 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x726, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -6.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x726, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 6.0 - del x726 - x727 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x727 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x592, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 6, 1)) - del x592 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x727, (2, 3, 4, 5, 0, 6), (4, 5, 2, 1, 6, 3)) * 6.0 - del x727 - x728 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x728 += einsum(x11, (0, 1), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (2, 3, 4, 5, 1, 6), (4, 6, 2, 3, 0, 5)) - x729 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x729 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x728, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x728 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x729, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 6.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x729, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -6.0 - del x729 - x730 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x730 += einsum(x12, (0, 1), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (2, 3, 4, 5, 1, 6), (4, 6, 2, 3, 0, 5)) - x731 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x731 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x730, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x730 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x731, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -6.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x731, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 6.0 - del x731 - x732 = np.zeros((navir[0], navir[0], nocc[0], nvir[0]), dtype=np.float64) - x732 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), v.aaaa.ovoV, (0, 2, 3, 4), (1, 4, 3, 2)) - x733 = np.zeros((navir[0], navir[0], nocc[0], nocc[0]), dtype=np.float64) - x733 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x732, (2, 3, 4, 1), (2, 3, 0, 4)) - del x732 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x733, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (3, 4, 5, 6, 7, 1), (2, 4, 5, 6, 7, 0)) * -2.0 - x734 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x734 += einsum(x733, (0, 1, 2, 3), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (4, 3, 5, 6, 7, 1), (5, 0, 2, 4, 6, 7)) - del x733 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x734, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -6.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x734, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 6.0 - del x734 - x735 = np.zeros((navir[0], navir[0], nocc[0], nvir[0]), dtype=np.float64) - x735 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), v.aaaa.ovoV, (2, 3, 0, 4), (1, 4, 2, 3)) - x736 = np.zeros((navir[0], navir[0], nocc[0], nocc[0]), dtype=np.float64) - x736 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x735, (2, 3, 4, 1), (2, 3, 0, 4)) - del x735 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x736, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (3, 4, 5, 6, 7, 1), (2, 4, 5, 6, 7, 0)) * 2.0 - x737 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x737 += einsum(x736, (0, 1, 2, 3), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (4, 3, 5, 6, 7, 1), (5, 0, 2, 4, 6, 7)) - del x736 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x737, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 6.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x737, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -6.0 - del x737 - x738 = np.zeros((navir[0], navir[0], nocc[0], nvir[0]), dtype=np.float64) - x738 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), v.aaaa.ovoV, (2, 3, 0, 4), (1, 4, 2, 3)) - x739 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x739 += einsum(x738, (0, 1, 2, 3), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (4, 5, 6, 7, 3, 1), (6, 0, 4, 5, 2, 7)) - x740 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x740 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x739, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x739 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x740, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -6.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x740, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 6.0 - del x740 - x741 = np.zeros((navir[0], nocc[0]), dtype=np.float64) - x741 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aaaa.ovoV, (0, 1, 2, 3), (3, 2)) - x742 = np.zeros((navir[0], navir[0]), dtype=np.float64) - x742 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x741, (2, 0), (1, 2)) - del x741 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x742, (0, 1), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 6, 0)) * -6.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x742, (0, 1), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 6, 0)) * -2.0 - del x742 - x743 = np.zeros((navir[0], nocc[0]), dtype=np.float64) - x743 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aaaa.ovoV, (2, 1, 0, 3), (3, 2)) - x744 = np.zeros((navir[0], navir[0]), dtype=np.float64) - x744 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x743, (2, 0), (1, 2)) - del x743 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x744, (0, 1), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 6, 0)) * 6.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x744, (0, 1), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 6, 0)) * 2.0 - del x744 - x745 = np.zeros((naocc[0], naocc[0], nocc[0], nvir[0]), dtype=np.float64) - x745 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), v.aaaa.ovvO, (2, 3, 1, 4), (0, 4, 2, 3)) - x746 = np.zeros((naocc[0], naocc[0], nocc[0], nocc[0]), dtype=np.float64) - x746 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x745, (2, 3, 4, 1), (2, 3, 0, 4)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x746, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (3, 4, 1, 5, 6, 7), (2, 4, 0, 5, 6, 7)) - x747 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x747 += einsum(x746, (0, 1, 2, 3), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (4, 3, 1, 5, 6, 7), (0, 7, 2, 4, 5, 6)) - del x746 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x747, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 3.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x747, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -3.0 - del x747 - x748 = np.zeros((naocc[0], naocc[0], nocc[0], nvir[0]), dtype=np.float64) - x748 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), v.aaaa.ovvO, (2, 1, 3, 4), (0, 4, 2, 3)) - x749 = np.zeros((naocc[0], naocc[0], nocc[0], nocc[0]), dtype=np.float64) - x749 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x748, (2, 3, 4, 1), (2, 3, 0, 4)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x749, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (3, 4, 1, 5, 6, 7), (2, 4, 0, 5, 6, 7)) * -1.0 - x750 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x750 += einsum(x749, (0, 1, 2, 3), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (4, 3, 1, 5, 6, 7), (0, 7, 2, 4, 5, 6)) - del x749 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x750, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -3.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x750, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 3.0 - del x750 - x751 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x751 += einsum(x748, (0, 1, 2, 3), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (4, 5, 1, 6, 3, 7), (0, 7, 4, 5, 2, 6)) - x752 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x752 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x751, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x751 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x752, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 6.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x752, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -6.0 - del x752 - x753 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x753 += einsum(x745, (0, 1, 2, 3), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (4, 5, 1, 6, 3, 7), (0, 7, 4, 5, 2, 6)) - x754 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x754 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x753, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x753 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x754, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -6.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x754, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 6.0 - del x754 - x755 = np.zeros((naocc[0], nvir[0]), dtype=np.float64) - x755 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aaaa.ovvO, (0, 1, 2, 3), (3, 2)) - x756 = np.zeros((naocc[0], naocc[0]), dtype=np.float64) - x756 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), x755, (2, 1), (0, 2)) - del x755 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x756, (0, 1), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (2, 3, 1, 4, 5, 6), (2, 3, 0, 4, 5, 6)) * -6.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x756, (0, 1), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (2, 3, 1, 4, 5, 6), (2, 3, 0, 4, 5, 6)) * -2.0 - del x756 - x757 = np.zeros((naocc[0], nvir[0]), dtype=np.float64) - x757 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aaaa.ovvO, (0, 2, 1, 3), (3, 2)) - x758 = np.zeros((naocc[0], naocc[0]), dtype=np.float64) - x758 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), x757, (2, 1), (0, 2)) - del x757 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x758, (0, 1), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (2, 3, 1, 4, 5, 6), (2, 3, 0, 4, 5, 6)) * 6.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x758, (0, 1), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (2, 3, 1, 4, 5, 6), (2, 3, 0, 4, 5, 6)) * 2.0 - del x758 - x759 = np.zeros((naocc[0], naocc[0], navir[0], nocc[0]), dtype=np.float64) - x759 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), v.aaaa.ovOV, (2, 1, 3, 4), (0, 3, 4, 2)) - x760 = np.zeros((naocc[0], naocc[0], navir[0], navir[0]), dtype=np.float64) - x760 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x759, (2, 3, 4, 0), (2, 3, 1, 4)) - del x759 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x760, (0, 1, 2, 3), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (4, 5, 1, 6, 7, 3), (4, 5, 0, 6, 7, 2)) * -6.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x760, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 5, 1, 6, 7, 3), (4, 5, 0, 6, 7, 2)) * -2.0 - del x760 - x761 = np.zeros((naocc[0], naocc[0], navir[0], nocc[0]), dtype=np.float64) - x761 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), v.aaaa.oVvO, (2, 3, 1, 4), (0, 4, 3, 2)) - x762 = np.zeros((naocc[0], naocc[0], navir[0], navir[0]), dtype=np.float64) - x762 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x761, (2, 3, 4, 0), (2, 3, 1, 4)) - del x761 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x762, (0, 1, 2, 3), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (4, 5, 1, 6, 7, 3), (4, 5, 0, 6, 7, 2)) * 6.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x762, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 5, 1, 6, 7, 3), (4, 5, 0, 6, 7, 2)) * 2.0 - del x762 - x763 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x763 += einsum(x41, (0, 1), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (2, 1, 3, 4, 5, 6), (3, 6, 0, 2, 4, 5)) - del x41 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x763, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -6.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x763, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 6.0 - del x763 - x764 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x764 += einsum(x15, (0, 1), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (2, 3, 4, 5, 1, 6), (4, 6, 2, 3, 0, 5)) - x765 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x765 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x764, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x764 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x765, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 6.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x765, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -6.0 - del x765 - x766 = np.zeros((navir[0], nocc[0]), dtype=np.float64) - x766 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.aabb.oVov, (2, 3, 0, 1), (3, 2)) - x767 = np.zeros((navir[0], navir[0]), dtype=np.float64) - x767 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x766, (2, 0), (1, 2)) - del x766 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x767, (0, 1), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 6, 0)) * -6.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x767, (0, 1), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 6, 0)) * -2.0 - del x767 - x768 = np.zeros((naocc[0], nvir[0]), dtype=np.float64) - x768 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.aabb.vOov, (2, 3, 0, 1), (3, 2)) - x769 = np.zeros((naocc[0], naocc[0]), dtype=np.float64) - x769 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), x768, (2, 1), (0, 2)) - del x768 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x769, (0, 1), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (2, 3, 1, 4, 5, 6), (2, 3, 0, 4, 5, 6)) * -6.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x769, (0, 1), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (2, 3, 1, 4, 5, 6), (2, 3, 0, 4, 5, 6)) * -2.0 - del x769 - x770 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x770 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sVa)], (0, 1, 2, 3), x119, (4, 5, 0, 6), (1, 3, 4, 5, 2, 6)) - del x119 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x770, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x770, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x770, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x770, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 2.0 - del x770 - x771 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x771 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sVa)], (0, 1, 2, 3), v.aabb.ovov, (4, 2, 5, 6), (1, 3, 0, 4, 5, 6)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x771, (2, 3, 4, 0, 5, 6), (4, 5, 2, 1, 6, 3)) * -2.0 - x772 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x772 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x771, (4, 5, 6, 7, 1, 3), (4, 5, 6, 0, 7, 2)) - x773 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x773 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x772, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x772 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x773, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x773, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x773, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x773, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - del x773 - x774 = np.zeros((navir[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x774 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x713, (4, 1, 5, 3), (4, 0, 2, 5)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), x774, (4, 5, 6, 2), (5, 1, 0, 6, 3, 4)) * -1.0 - x775 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x775 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sva)], (0, 1, 2, 3), x774, (4, 5, 6, 3), (1, 4, 0, 5, 2, 6)) * -1.0 - del x774 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x775, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x775, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x775, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x775, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - del x775 - x776 = np.zeros((naocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x776 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x716, (4, 5, 1, 3), (4, 0, 5, 2)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), x776, (4, 5, 0, 6), (5, 1, 4, 6, 3, 2)) * -1.0 - x777 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x777 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), x776, (4, 5, 1, 6), (4, 3, 0, 5, 2, 6)) * -1.0 - del x776 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x777, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x777, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x777, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x777, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - del x777 - x778 = np.zeros((navir[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x778 += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (2, 0, 4, 5)) - x779 = np.zeros((navir[0], nocc[0], nocc[0], nocc[0]), dtype=np.float64) - x779 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x778, (2, 3, 4, 1), (2, 0, 3, 4)) - x780 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x780 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sva)], (0, 1, 2, 3), x779, (4, 5, 6, 0), (1, 4, 5, 6, 2, 3)) * -1.0 - del x779 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x780, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x780, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - del x780 - x781 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x781 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sva)], (0, 1, 2, 3), x778, (4, 5, 6, 3), (1, 4, 0, 5, 6, 2)) * -1.0 - x782 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x782 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x781, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x781 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x782, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x782, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x782, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x782, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - del x782 - x783 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0]), dtype=np.float64) - x783 += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), x716, (4, 5, 1, 3), (4, 2, 0, 5)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x783, (4, 5, 6, 0), (6, 1, 4, 2, 3, 5)) - x784 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x784 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x783, (4, 5, 6, 1), (4, 5, 6, 0, 2, 3)) - del x783 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x784, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x784, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - del x784 - x785 = np.zeros((naocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x785 += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), x33, (4, 5, 1, 3), (0, 4, 5, 2)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), x785, (4, 5, 0, 6), (5, 1, 4, 6, 3, 2)) - x786 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x786 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), x785, (4, 5, 1, 6), (4, 3, 5, 0, 6, 2)) * -1.0 - del x785 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x786, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x786, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x786, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x786, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - del x786 - x787 = np.zeros((naocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x787 += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (0, 4, 2, 5)) - x788 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x788 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), x787, (4, 5, 6, 2), (4, 3, 0, 1, 5, 6)) * -1.0 - del x787 - x789 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x789 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x788, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x788 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x789, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x789, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - del x789 - x790 = np.zeros((naocc[0], navir[0], nvir[0], nvir[0]), dtype=np.float64) - x790 += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), x713, (4, 1, 5, 3), (0, 4, 2, 5)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x790, (4, 5, 6, 2), (0, 1, 4, 6, 3, 5)) - x791 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x791 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x790, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) - del x790 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x791, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x791, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - del x791 - x792 = np.zeros((naocc[0], navir[0], nocc[0], nvir[0]), dtype=np.float64) - x792 += einsum(t2.abab[np.ix_(sOa,sob,sVa,svb)], (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (0, 2, 4, 5)) - x793 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0]), dtype=np.float64) - x793 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x792, (2, 3, 4, 1), (2, 3, 0, 4)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x793, (4, 5, 6, 0), (6, 1, 4, 2, 3, 5)) * -1.0 - x794 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x794 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x793, (4, 5, 6, 1), (4, 5, 6, 0, 2, 3)) - del x793 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x794, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x794, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - del x794 - x795 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x795 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x792, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) - x796 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x796 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x795, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x795 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x796, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x796, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - del x796 - x797 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x797 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sVa)], (0, 1, 2, 3), x125, (4, 5, 0, 6), (1, 3, 4, 5, 2, 6)) - del x125 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x797, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x797, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x797, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x797, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -4.0 - del x797 - x798 = np.zeros((naocc[0], navir[0], nocc[0], nvir[0]), dtype=np.float64) - x798 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sVa)], (0, 1, 2, 3), v.aaaa.ovov, (4, 5, 0, 2), (1, 3, 4, 5)) - x799 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0]), dtype=np.float64) - x799 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x798, (2, 3, 4, 1), (2, 3, 0, 4)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x799, (4, 5, 6, 0), (6, 1, 4, 2, 3, 5)) * -2.0 - x800 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x800 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x799, (4, 5, 6, 1), (4, 5, 6, 0, 2, 3)) - del x799 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x800, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x800, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 4.0 - del x800 - x801 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x801 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sVa)], (0, 1, 2, 3), x123, (4, 5, 0, 6), (1, 3, 4, 5, 2, 6)) - del x123 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x801, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x801, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x801, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x801, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 4.0 - del x801 - x802 = np.zeros((naocc[0], navir[0], nocc[0], nvir[0]), dtype=np.float64) - x802 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sVa)], (0, 1, 2, 3), v.aaaa.ovov, (4, 2, 0, 5), (1, 3, 4, 5)) - x803 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0]), dtype=np.float64) - x803 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x802, (2, 3, 4, 1), (2, 3, 0, 4)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x803, (4, 5, 6, 0), (6, 1, 4, 2, 3, 5)) * 2.0 - x804 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x804 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x803, (4, 5, 6, 1), (4, 5, 6, 0, 2, 3)) - del x803 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x804, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x804, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -4.0 - del x804 - x805 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[0], nocc[0]), dtype=np.float64) - x805 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x361, (2, 3, 4, 5, 6, 1), (2, 3, 0, 4, 5, 6)) - x806 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x806 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x805, (4, 5, 6, 7, 0, 1), (4, 5, 6, 7, 2, 3)) - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x806, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x806, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x806, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x806, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - del x806 - x807 = np.zeros((naocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x807 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sva)], (0, 1, 2, 3), x35, (4, 0, 5, 3), (1, 4, 5, 2)) * -1.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), x807, (4, 5, 0, 6), (5, 1, 4, 6, 3, 2)) * 2.0 - x808 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x808 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), x807, (4, 5, 1, 6), (4, 3, 5, 0, 6, 2)) * -1.0 - del x807 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x808, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x808, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x808, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x808, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 4.0 - del x808 - x809 = np.zeros((navir[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x809 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), v.aaaa.ovov, (4, 2, 1, 5), (3, 0, 4, 5)) * -1.0 - x810 = np.zeros((navir[0], nocc[0], nocc[0], nocc[0]), dtype=np.float64) - x810 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x809, (2, 3, 4, 1), (2, 0, 3, 4)) - x811 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x811 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sva)], (0, 1, 2, 3), x810, (4, 5, 6, 0), (1, 4, 5, 6, 2, 3)) * -1.0 - del x810 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x811, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x811, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 4.0 - del x811 - x812 = np.zeros((naocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x812 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sva)], (0, 1, 2, 3), x35, (4, 5, 0, 3), (1, 4, 5, 2)) * -1.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), x812, (4, 5, 0, 6), (5, 1, 4, 6, 3, 2)) * -2.0 - x813 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x813 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), x812, (4, 5, 1, 6), (4, 3, 5, 0, 6, 2)) * -1.0 - del x812 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x813, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x813, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x813, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x813, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -4.0 - del x813 - x814 = np.zeros((navir[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x814 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), v.aaaa.ovov, (4, 5, 1, 2), (3, 0, 4, 5)) * -1.0 - x815 = np.zeros((navir[0], nocc[0], nocc[0], nocc[0]), dtype=np.float64) - x815 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x814, (2, 3, 4, 1), (2, 0, 3, 4)) - x816 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x816 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sva)], (0, 1, 2, 3), x815, (4, 5, 6, 0), (1, 4, 5, 6, 2, 3)) * -1.0 - del x815 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x816, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x816, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -4.0 - del x816 - x817 = np.zeros((navir[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x817 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), x35, (4, 0, 1, 5), (3, 4, 2, 5)) * -1.0 - x818 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x818 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sva)], (0, 1, 2, 3), x817, (4, 5, 6, 3), (1, 4, 5, 0, 2, 6)) - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x818, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x818, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x818, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x818, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x818, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x818, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x818, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x818, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 2.0 - del x818 - x819 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x819 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x361, (4, 5, 6, 7, 1, 3), (4, 5, 6, 0, 7, 2)) - x820 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x820 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x819, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x819 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x820, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x820, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x820, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x820, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -4.0 - del x820 - x821 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x821 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x361, (4, 5, 6, 1, 7, 3), (4, 5, 6, 0, 7, 2)) - x822 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x822 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x821, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x821 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x822, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x822, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x822, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x822, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 4.0 - del x822 - x823 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x823 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x798, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) - x824 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x824 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x823, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x823 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x824, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x824, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -4.0 - del x824 - x825 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x825 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sVa)], (0, 1, 2, 3), x113, (4, 5, 0, 6), (1, 3, 4, 5, 6, 2)) * -1.0 - del x113 - x826 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x826 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x825, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x825 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x826, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x826, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x826, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x826, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - del x826 - x827 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x827 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x802, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) - x828 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x828 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x827, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x827 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x828, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x828, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 4.0 - del x828 - x829 = np.zeros((naocc[0], nocc[0], nocc[0], nocc[0]), dtype=np.float64) - x829 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sva)], (0, 1, 2, 3), v.aaaa.ovov, (4, 2, 5, 3), (1, 0, 4, 5)) * -1.0 - x830 = np.zeros((naocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x830 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x829, (2, 3, 4, 0), (2, 3, 4, 1)) - del x829 - x831 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x831 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), x830, (4, 5, 1, 6), (4, 3, 5, 0, 6, 2)) - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x831, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x831, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x831, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x831, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x831, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x831, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x831, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x831, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - del x831 - x832 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x832 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sva)], (0, 1, 2, 3), x809, (4, 5, 6, 3), (1, 4, 0, 5, 6, 2)) * -1.0 - x833 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x833 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x832, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x832 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x833, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x833, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x833, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x833, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 4.0 - del x833 - x834 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x834 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sva)], (0, 1, 2, 3), x814, (4, 5, 6, 3), (1, 4, 0, 5, 6, 2)) * -1.0 - x835 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x835 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x834, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x834 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x835, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x835, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x835, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x835, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -4.0 - del x835 - x836 = np.zeros((naocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x836 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sva)], (0, 1, 2, 3), v.aaaa.ovov, (4, 5, 0, 3), (1, 4, 2, 5)) * -1.0 - x837 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x837 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), x836, (4, 5, 6, 2), (4, 3, 0, 1, 5, 6)) * -1.0 - del x836 - x838 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x838 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x837, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x837 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x838, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x838, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 4.0 - del x838 - x839 = np.zeros((naocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x839 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sva)], (0, 1, 2, 3), v.aaaa.ovov, (4, 3, 0, 5), (1, 4, 2, 5)) * -1.0 - x840 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x840 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), x839, (4, 5, 6, 2), (4, 3, 0, 1, 5, 6)) * -1.0 - del x839 - x841 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x841 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x840, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x840 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x841, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x841, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -4.0 - del x841 - x842 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0]), dtype=np.float64) - x842 += einsum(x11, (0, 1), t2.aaaa[np.ix_(soa,sOa,sva,sVa)], (2, 3, 1, 4), (3, 4, 2, 0)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x842, (4, 5, 6, 0), (6, 1, 4, 2, 3, 5)) * -2.0 - x843 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x843 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x842, (4, 5, 6, 1), (4, 5, 6, 0, 2, 3)) - del x842 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x843, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x843, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -4.0 - del x843 - x844 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0]), dtype=np.float64) - x844 += einsum(x12, (0, 1), t2.aaaa[np.ix_(soa,sOa,sva,sVa)], (2, 3, 1, 4), (3, 4, 2, 0)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x844, (4, 5, 6, 0), (6, 1, 4, 2, 3, 5)) * 2.0 - x845 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x845 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x844, (4, 5, 6, 1), (4, 5, 6, 0, 2, 3)) - del x844 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x845, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x845, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 4.0 - del x845 - x846 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x846 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sVa)], (0, 1, 2, 3), x131, (4, 5, 0, 6), (1, 3, 4, 5, 2, 6)) - del x131 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x846, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x846, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 4.0 - del x846 - x847 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x847 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sVa)], (0, 1, 2, 3), x133, (4, 5, 0, 6), (1, 3, 4, 5, 2, 6)) - del x133 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x847, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x847, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -4.0 - del x847 - x848 = np.zeros((naocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x848 += einsum(x11, (0, 1), t2.aaaa[np.ix_(soa,sOa,sva,sva)], (2, 3, 4, 1), (3, 2, 0, 4)) * -1.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), x848, (4, 5, 0, 6), (5, 1, 4, 6, 3, 2)) * 2.0 - x849 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x849 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), x848, (4, 5, 1, 6), (4, 3, 5, 0, 6, 2)) * -1.0 - del x848 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x849, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x849, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x849, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x849, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -4.0 - del x849 - x850 = np.zeros((naocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x850 += einsum(x12, (0, 1), t2.aaaa[np.ix_(soa,sOa,sva,sva)], (2, 3, 4, 1), (3, 2, 0, 4)) * -1.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), x850, (4, 5, 0, 6), (5, 1, 4, 6, 3, 2)) * -2.0 - x851 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x851 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), x850, (4, 5, 1, 6), (4, 3, 5, 0, 6, 2)) * -1.0 - del x850 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x851, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x851, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x851, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x851, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 4.0 - del x851 - x852 = np.zeros((navir[0], nocc[0], nocc[0], nocc[0]), dtype=np.float64) - x852 += einsum(x11, (0, 1), t2.aaaa[np.ix_(soa,soa,sva,sVa)], (2, 3, 1, 4), (4, 2, 3, 0)) * -1.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sva)], (0, 1, 2, 3), x852, (4, 5, 6, 0), (6, 5, 1, 2, 3, 4)) * 4.0 - del x852 - x853 = np.zeros((navir[0], nocc[0], nocc[0], nocc[0]), dtype=np.float64) - x853 += einsum(x12, (0, 1), t2.aaaa[np.ix_(soa,soa,sva,sVa)], (2, 3, 1, 4), (4, 2, 3, 0)) * -1.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sva)], (0, 1, 2, 3), x853, (4, 5, 6, 0), (6, 5, 1, 2, 3, 4)) * -4.0 - del x853 - x854 = np.zeros((navir[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x854 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x375, (4, 1, 5, 3), (4, 0, 2, 5)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), x854, (4, 5, 6, 2), (5, 1, 0, 6, 3, 4)) * 2.0 - x855 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x855 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sva)], (0, 1, 2, 3), x854, (4, 5, 6, 3), (1, 4, 0, 5, 2, 6)) * -1.0 - del x854 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x855, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x855, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x855, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x855, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -4.0 - del x855 - x856 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0]), dtype=np.float64) - x856 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sva)], (0, 1, 2, 3), x375, (4, 5, 3, 2), (1, 4, 0, 5)) - x857 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x857 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x856, (4, 5, 6, 1), (4, 5, 6, 0, 2, 3)) * -1.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x857, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x857, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x857, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x857, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - del x857 - x858 = np.zeros((navir[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x858 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x375, (4, 1, 3, 5), (4, 0, 2, 5)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), x858, (4, 5, 6, 2), (5, 1, 0, 6, 3, 4)) * -2.0 - x859 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x859 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sva)], (0, 1, 2, 3), x858, (4, 5, 6, 3), (1, 4, 0, 5, 2, 6)) * -1.0 - del x858 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x859, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x859, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x859, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x859, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 4.0 - del x859 - x860 = np.zeros((naocc[0], navir[0], nvir[0], nvir[0]), dtype=np.float64) - x860 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sva)], (0, 1, 2, 3), x375, (4, 0, 3, 5), (1, 4, 2, 5)) * -1.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x860, (4, 5, 6, 2), (0, 1, 4, 6, 3, 5)) * 2.0 - x861 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x861 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x860, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) - del x860 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x861, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x861, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -4.0 - del x861 - x862 = np.zeros((navir[0], nocc[0], nocc[0], nocc[0]), dtype=np.float64) - x862 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x375, (4, 5, 2, 3), (4, 0, 1, 5)) - x863 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x863 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sva)], (0, 1, 2, 3), x862, (4, 5, 6, 0), (1, 4, 5, 6, 2, 3)) - del x862 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x863, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x863, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - del x863 - x864 = np.zeros((naocc[0], navir[0], nvir[0], nvir[0]), dtype=np.float64) - x864 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sva)], (0, 1, 2, 3), x375, (4, 0, 5, 3), (1, 4, 2, 5)) * -1.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x864, (4, 5, 6, 2), (0, 1, 4, 6, 3, 5)) * -2.0 - x865 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x865 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x864, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) - del x864 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x865, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x865, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 4.0 - del x865 - x866 = np.zeros((naocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x866 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x389, (4, 5, 1, 3), (4, 0, 5, 2)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), x866, (4, 5, 0, 6), (5, 1, 4, 6, 3, 2)) * 2.0 - x867 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x867 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), x866, (4, 5, 1, 6), (4, 3, 0, 5, 2, 6)) * -1.0 - del x866 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x867, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x867, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x867, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x867, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -4.0 - del x867 - x868 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0]), dtype=np.float64) - x868 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), x389, (4, 1, 5, 2), (4, 3, 0, 5)) * -1.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x868, (4, 5, 6, 0), (6, 1, 4, 2, 3, 5)) * 2.0 - x869 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x869 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x868, (4, 5, 6, 1), (4, 5, 6, 0, 2, 3)) - del x868 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x869, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x869, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 4.0 - del x869 - x870 = np.zeros((naocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x870 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x389, (4, 1, 5, 3), (4, 0, 5, 2)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), x870, (4, 5, 0, 6), (5, 1, 4, 6, 3, 2)) * -2.0 - x871 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x871 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), x870, (4, 5, 1, 6), (4, 3, 0, 5, 2, 6)) * -1.0 - del x870 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x871, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x871, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x871, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x871, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 4.0 - del x871 - x872 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0]), dtype=np.float64) - x872 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), x389, (4, 5, 1, 2), (4, 3, 0, 5)) * -1.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x872, (4, 5, 6, 0), (6, 1, 4, 2, 3, 5)) * -2.0 - x873 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x873 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x872, (4, 5, 6, 1), (4, 5, 6, 0, 2, 3)) - del x872 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x873, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x873, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -4.0 - del x873 - x874 = np.zeros((naocc[0], navir[0], nvir[0], nvir[0]), dtype=np.float64) - x874 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), x389, (4, 0, 1, 5), (4, 3, 2, 5)) * -1.0 - x875 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x875 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x874, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) * -1.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x875, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x875, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x875, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x875, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - del x875 - x876 = np.zeros((naocc[0], nvir[0], nvir[0], nvir[0]), dtype=np.float64) - x876 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x389, (4, 1, 0, 5), (4, 2, 3, 5)) * -1.0 - x877 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x877 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), x876, (4, 5, 6, 2), (4, 3, 0, 1, 6, 5)) * -1.0 - del x876 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x877, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x877, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - del x877 - x878 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0]), dtype=np.float64) - x878 += einsum(x15, (0, 1), t2.aaaa[np.ix_(soa,sOa,sva,sVa)], (2, 3, 1, 4), (3, 4, 2, 0)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x878, (4, 5, 6, 0), (6, 1, 4, 2, 3, 5)) * -2.0 - x879 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x879 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x878, (4, 5, 6, 1), (4, 5, 6, 0, 2, 3)) - del x878 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x879, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x879, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -4.0 - del x879 - x880 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x880 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sVa)], (0, 1, 2, 3), x136, (4, 5, 0, 6), (1, 3, 4, 5, 2, 6)) - del x136 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x880, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x880, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 4.0 - del x880 - x881 = np.zeros((naocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x881 += einsum(x15, (0, 1), t2.aaaa[np.ix_(soa,sOa,sva,sva)], (2, 3, 4, 1), (3, 2, 0, 4)) * -1.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), x881, (4, 5, 0, 6), (5, 1, 4, 6, 3, 2)) * 2.0 - x882 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x882 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), x881, (4, 5, 1, 6), (4, 3, 5, 0, 6, 2)) * -1.0 - del x881 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x882, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x882, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x882, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 4.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x882, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -4.0 - del x882 - x883 = np.zeros((navir[0], nocc[0], nocc[0], nocc[0]), dtype=np.float64) - x883 += einsum(x15, (0, 1), t2.aaaa[np.ix_(soa,soa,sva,sVa)], (2, 3, 1, 4), (4, 2, 3, 0)) * -1.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sva)], (0, 1, 2, 3), x883, (4, 5, 6, 0), (6, 5, 1, 2, 3, 4)) * 4.0 - del x883 - x884 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x884 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sVa)], (0, 1, 2, 3), x121, (4, 5, 0, 6), (1, 3, 5, 4, 6, 2)) - del x121 - x885 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x885 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x884, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x884 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x885, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x885, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x885, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x885, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - del x885 - x886 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x886 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x805, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 6, 1)) - del x805 - x887 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x887 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x886, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x886 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x887, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x887, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x887, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x887, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - del x887 - x888 = np.zeros((navir[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x888 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x375, (2, 3, 1, 4), (2, 0, 3, 4)) - x889 = np.zeros((navir[0], nocc[0], nocc[0], nocc[0]), dtype=np.float64) - x889 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x888, (2, 3, 4, 1), (2, 3, 0, 4)) - x890 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x890 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sva)], (0, 1, 2, 3), x889, (4, 5, 6, 0), (1, 4, 6, 5, 2, 3)) * -1.0 - del x889 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x890, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x890, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - del x890 - x891 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x891 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sva)], (0, 1, 2, 3), x888, (4, 5, 6, 3), (1, 4, 5, 0, 6, 2)) * -1.0 - x892 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x892 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x891, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x891 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x892, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x892, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x892, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x892, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - del x892 - x893 = np.zeros((navir[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x893 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x375, (2, 3, 4, 1), (2, 0, 3, 4)) - x894 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x894 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sva)], (0, 1, 2, 3), x893, (4, 5, 6, 3), (1, 4, 5, 0, 6, 2)) * -1.0 - x895 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x895 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x894, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x894 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x895, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x895, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x895, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x895, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - del x895 - x896 = np.zeros((naocc[0], nocc[0], nocc[0], nocc[0]), dtype=np.float64) - x896 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x389, (2, 3, 4, 1), (2, 0, 4, 3)) - x897 = np.zeros((naocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x897 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x896, (2, 3, 4, 0), (2, 3, 4, 1)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), x897, (4, 5, 0, 6), (5, 1, 4, 6, 3, 2)) - x898 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x898 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), x897, (4, 5, 1, 6), (4, 3, 5, 0, 6, 2)) * -1.0 - del x897 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x898, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x898, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x898, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x898, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - del x898 - x899 = np.zeros((naocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x899 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x896, (2, 3, 0, 4), (2, 3, 4, 1)) - del x896 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), x899, (4, 5, 0, 6), (5, 1, 4, 6, 3, 2)) * -1.0 - x900 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x900 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), x899, (4, 5, 1, 6), (4, 3, 5, 0, 6, 2)) * -1.0 - del x899 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x900, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x900, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x900, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x900, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - del x900 - x901 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[0], nocc[0]), dtype=np.float64) - x901 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), x389, (4, 5, 6, 2), (4, 3, 0, 1, 6, 5)) * -1.0 - x902 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x902 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x901, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 6, 1)) - del x901 - x903 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x903 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x902, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x902 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x903, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x903, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - del x903 - x904 = np.zeros((naocc[0], navir[0], nocc[0], nvir[0]), dtype=np.float64) - x904 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), t1.aa[np.ix_(sOa,sva)], (2, 3), v.aaaa.ovov, (4, 3, 0, 5), (2, 1, 4, 5)) - x905 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0]), dtype=np.float64) - x905 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x904, (2, 3, 4, 1), (2, 3, 0, 4)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x905, (4, 5, 6, 0), (6, 1, 4, 2, 3, 5)) * -1.0 - x906 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x906 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x905, (4, 5, 6, 1), (4, 5, 6, 0, 2, 3)) - del x905 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x906, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x906, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - del x906 - x907 = np.zeros((naocc[0], navir[0], nocc[0], nvir[0]), dtype=np.float64) - x907 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), t1.aa[np.ix_(sOa,sva)], (2, 3), v.aaaa.ovov, (4, 5, 0, 3), (2, 1, 4, 5)) - x908 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0]), dtype=np.float64) - x908 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x907, (2, 3, 4, 1), (2, 3, 0, 4)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x908, (4, 5, 6, 0), (6, 1, 4, 2, 3, 5)) - x909 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x909 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x908, (4, 5, 6, 1), (4, 5, 6, 0, 2, 3)) - del x908 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x909, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x909, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - del x909 - x910 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x910 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x904, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) - x911 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x911 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x910, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x910 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x911, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x911, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - del x911 - x912 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x912 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x907, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) - x913 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x913 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x912, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x912 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x913, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new_aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)] += einsum(x913, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - del x913 - x914 = np.zeros((naocc[1], navir[1], nocc[0], nocc[1], nvir[0], nvir[1]), dtype=np.float64) - x914 += einsum(t2.abab[np.ix_(soa,sOb,sva,sVb)], (0, 1, 2, 3), v.aabb.vvov, (4, 2, 5, 6), (1, 3, 0, 5, 4, 6)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x914, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x914, (4, 5, 6, 1, 7, 3), (0, 6, 4, 2, 7, 5)) * 2.0 - x915 = np.zeros((naocc[1], navir[1], nocc[0], nocc[1], nvir[0], nvir[1]), dtype=np.float64) - x915 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,sVb)], (0, 1, 2, 3), v.aabb.ovvv, (4, 5, 6, 2), (1, 3, 4, 0, 5, 6)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x915, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x915, (4, 5, 1, 6, 3, 7), (6, 0, 4, 7, 2, 5)) * 4.0 - x916 = np.zeros((naocc[1], navir[1], nocc[0], nocc[1], nvir[0], nvir[1]), dtype=np.float64) - x916 += einsum(v.bbbb.ovov, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (2, 4, 5, 3, 6, 7), (5, 7, 4, 0, 6, 1)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x916, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x916, (4, 5, 6, 1, 7, 3), (0, 6, 4, 2, 7, 5)) * 4.0 - del x916 - x917 = np.zeros((naocc[1], navir[1], nocc[0], nocc[1], nvir[0], nvir[1]), dtype=np.float64) - x917 += einsum(v.aaaa.ovov, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 2, 5, 6, 3, 7), (5, 7, 0, 4, 1, 6)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x917, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x917, (4, 5, 1, 6, 3, 7), (6, 0, 4, 7, 2, 5)) * 4.0 - x918 = np.zeros((naocc[1], navir[1], nocc[0], nocc[1], nvir[0], nvir[1]), dtype=np.float64) - x918 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (4, 2, 5, 6, 3, 7), (5, 7, 0, 4, 1, 6)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x918, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 6.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x918, (4, 5, 1, 6, 3, 7), (6, 0, 4, 7, 2, 5)) * 12.0 - x919 = np.zeros((naocc[1], navir[1], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x919 += einsum(f.aa.ov, (0, 1), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (2, 3, 4, 5, 1, 6), (4, 6, 0, 3, 2, 5)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x919, (2, 3, 0, 4, 5, 6), (5, 4, 2, 6, 1, 3)) * -2.0 - del x919 - x920 = np.zeros((naocc[1], navir[1], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x920 += einsum(f.bb.ov, (0, 1), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (2, 3, 4, 1, 5, 6), (4, 6, 3, 0, 2, 5)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x920, (2, 3, 4, 0, 5, 6), (5, 4, 2, 1, 6, 3)) * -2.0 - del x920 - x921 = np.zeros((navir[1], navir[1]), dtype=np.float64) - x921 += einsum(f.bb.oV, (0, 1), t1.bb[np.ix_(sob,sVb)], (0, 2), (1, 2)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x921, (0, 1), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 6, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x921, (0, 1), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 6, 1)) * -6.0 - del x921 - x922 = np.zeros((naocc[1], naocc[1]), dtype=np.float64) - x922 += einsum(f.bb.vO, (0, 1), t1.bb[np.ix_(sOb,svb)], (2, 0), (1, 2)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x922, (0, 1), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (2, 3, 0, 4, 5, 6), (2, 3, 1, 4, 5, 6)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x922, (0, 1), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (2, 3, 0, 4, 5, 6), (2, 3, 1, 4, 5, 6)) * -6.0 - del x922 - x923 = np.zeros((naocc[1], navir[1], nocc[0], nocc[0]), dtype=np.float64) - x923 += einsum(f.aa.ov, (0, 1), t2.abab[np.ix_(soa,sOb,sva,sVb)], (2, 3, 1, 4), (3, 4, 0, 2)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x923, (4, 5, 0, 6), (1, 6, 4, 3, 2, 5)) * -1.0 - del x923 - x924 = np.zeros((navir[1], nocc[0], nocc[0], nocc[1]), dtype=np.float64) - x924 += einsum(f.aa.ov, (0, 1), t2.abab[np.ix_(soa,sob,sva,sVb)], (2, 3, 1, 4), (4, 0, 2, 3)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), x924, (4, 0, 5, 6), (6, 5, 1, 3, 2, 4)) * -1.0 - del x924 - x925 = np.zeros((naocc[1], nocc[0], nocc[0], nvir[1]), dtype=np.float64) - x925 += einsum(f.aa.ov, (0, 1), t2.abab[np.ix_(soa,sOb,sva,svb)], (2, 3, 1, 4), (3, 0, 2, 4)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), x925, (4, 0, 5, 6), (1, 5, 4, 6, 2, 3)) * -1.0 - del x925 - x926 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1]), dtype=np.float64) - x926 += einsum(f.bb.ov, (0, 1), t2.bbbb[np.ix_(sob,sOb,svb,sVb)], (2, 3, 1, 4), (3, 4, 0, 2)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x926, (4, 5, 1, 6), (6, 0, 4, 3, 2, 5)) * -2.0 - x927 = np.zeros((naocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x927 += einsum(f.bb.ov, (0, 1), t2.bbbb[np.ix_(sob,sOb,svb,svb)], (2, 3, 4, 1), (3, 0, 2, 4)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), x927, (4, 1, 5, 6), (5, 0, 4, 6, 2, 3)) * 2.0 - x928 = np.zeros((naocc[1], nocc[0], nocc[1], nvir[0]), dtype=np.float64) - x928 += einsum(f.bb.ov, (0, 1), t2.abab[np.ix_(soa,sOb,sva,svb)], (2, 3, 4, 1), (3, 2, 0, 4)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), x928, (4, 5, 1, 6), (0, 5, 4, 2, 6, 3)) * 2.0 - del x928 - x929 = np.zeros((naocc[1], nocc[0], nocc[0], nvir[1]), dtype=np.float64) - x929 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aabb.ovvO, (2, 1, 3, 4), (4, 0, 2, 3)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), x929, (4, 5, 0, 6), (1, 5, 4, 6, 2, 3)) - del x929 - x930 = np.zeros((naocc[1], navir[1], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x930 += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), v.aabb.ovvO, (4, 2, 5, 6), (6, 3, 0, 4, 1, 5)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x930, (2, 3, 4, 0, 5, 6), (5, 4, 2, 6, 1, 3)) * -1.0 - del x930 - x931 = np.zeros((naocc[1], navir[1], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x931 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.ovOV, (4, 2, 5, 6), (5, 6, 0, 4, 1, 3)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x931, (2, 3, 4, 0, 5, 6), (5, 4, 2, 6, 1, 3)) * -1.0 - del x931 - x932 = np.zeros((navir[1], nocc[0], nocc[0], nocc[1]), dtype=np.float64) - x932 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aabb.ovoV, (2, 1, 3, 4), (4, 0, 2, 3)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), x932, (4, 5, 0, 6), (6, 5, 1, 3, 2, 4)) - del x932 - x933 = np.zeros((naocc[1], navir[1], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x933 += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), v.aabb.ovoV, (4, 2, 5, 6), (1, 6, 0, 4, 5, 3)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x933, (2, 3, 4, 0, 5, 6), (5, 4, 2, 6, 1, 3)) * -1.0 - del x933 - x934 = np.zeros((naocc[1], navir[1], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x934 += einsum(t2.abab[np.ix_(soa,sOb,sva,sVb)], (0, 1, 2, 3), v.aabb.ovov, (4, 2, 5, 6), (1, 3, 0, 4, 5, 6)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x934, (2, 3, 4, 0, 5, 6), (5, 4, 2, 6, 1, 3)) * -1.0 - x935 = np.zeros((naocc[1], nocc[0], nocc[1], nvir[0]), dtype=np.float64) - x935 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aabb.oooO, (2, 0, 3, 4), (4, 2, 3, 1)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), x935, (4, 5, 1, 6), (0, 5, 4, 2, 6, 3)) * 2.0 - del x935 - x936 = np.zeros((naocc[1], navir[1], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x936 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,sVb)], (0, 1, 2, 3), v.aabb.oooo, (4, 5, 6, 0), (1, 3, 4, 5, 6, 2)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x936, (2, 3, 0, 4, 5, 6), (5, 4, 2, 6, 1, 3)) * 2.0 - del x936 - x937 = np.zeros((naocc[1], navir[1], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x937 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,svb)], (0, 1, 2, 3), v.aabb.oovV, (4, 5, 3, 6), (1, 6, 4, 5, 0, 2)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x937, (2, 3, 0, 4, 5, 6), (5, 4, 2, 6, 1, 3)) * 2.0 - del x937 - x938 = np.zeros((naocc[1], navir[1], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x938 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,sVb)], (0, 1, 2, 3), v.aabb.oovv, (4, 5, 6, 2), (1, 3, 4, 5, 0, 6)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x938, (2, 3, 0, 4, 5, 6), (5, 4, 2, 6, 1, 3)) * -2.0 - del x938 - x939 = np.zeros((naocc[1], nocc[0], nocc[1], nvir[0]), dtype=np.float64) - x939 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aabb.vvoO, (2, 1, 3, 4), (4, 0, 3, 2)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), x939, (4, 5, 1, 6), (0, 5, 4, 2, 6, 3)) * -2.0 - del x939 - x940 = np.zeros((navir[1], nocc[0], nvir[0], nvir[1]), dtype=np.float64) - x940 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aabb.vvvV, (2, 1, 3, 4), (4, 0, 2, 3)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.bbbb[np.ix_(sob,sOb,svb,svb)], (0, 1, 2, 3), x940, (4, 5, 6, 3), (0, 5, 1, 2, 6, 4)) * 2.0 - del x940 - x941 = np.zeros((naocc[1], navir[1], nocc[1], nvir[0], nvir[0], nvir[1]), dtype=np.float64) - x941 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,sVb)], (0, 1, 2, 3), v.aabb.vvvv, (4, 5, 6, 2), (1, 3, 0, 4, 5, 6)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x941, (2, 3, 4, 1, 5, 6), (4, 0, 2, 6, 5, 3)) * 2.0 - del x941 - x942 = np.zeros((naocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x942 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.bbbb.oooO, (2, 0, 3, 4), (4, 3, 2, 1)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), x942, (4, 1, 5, 6), (5, 0, 4, 6, 2, 3)) - x943 = np.zeros((naocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x943 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.bbbb.oooO, (2, 3, 0, 4), (4, 2, 3, 1)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), x943, (4, 5, 1, 6), (5, 0, 4, 6, 2, 3)) * -1.0 - x944 = np.zeros((naocc[1], nocc[0], nocc[0], nvir[1]), dtype=np.float64) - x944 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.aabb.oooO, (2, 3, 0, 4), (4, 2, 3, 1)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), x944, (4, 5, 0, 6), (1, 5, 4, 6, 2, 3)) * -1.0 - del x944 - x945 = np.zeros((naocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x945 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.bbbb.ovvO, (2, 1, 3, 4), (4, 0, 2, 3)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), x945, (4, 5, 1, 6), (5, 0, 4, 6, 2, 3)) - x946 = np.zeros((naocc[1], navir[1], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x946 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.bbbb.ovOV, (4, 3, 5, 6), (5, 6, 0, 1, 4, 2)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x946, (2, 3, 4, 5, 0, 6), (5, 4, 2, 1, 6, 3)) * -1.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t3.babbab[np.ix_(sob,sOa,sOfb,svb,sVa,sVfb)], (0, 1, 2, 3, 4, 5), x946, (2, 5, 6, 7, 0, 8), (6, 7, 1, 8, 3, 4)) * -1.0 - del x946 - x947 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1]), dtype=np.float64) - x947 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.bbbb.oOvV, (2, 3, 1, 4), (3, 4, 0, 2)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x947, (4, 5, 6, 1), (6, 0, 4, 3, 2, 5)) - x948 = np.zeros((naocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x948 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.bbbb.oOvv, (2, 3, 4, 1), (3, 0, 2, 4)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), x948, (4, 5, 1, 6), (5, 0, 4, 6, 2, 3)) * -1.0 - x949 = np.zeros((naocc[1], navir[1], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x949 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.bbbb.oOvV, (4, 5, 3, 6), (5, 6, 0, 1, 4, 2)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x949, (2, 3, 4, 5, 0, 6), (5, 4, 2, 1, 6, 3)) - del x949 - x950 = np.zeros((navir[1], nocc[0], nocc[0], nocc[1]), dtype=np.float64) - x950 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.aabb.oovV, (2, 3, 1, 4), (4, 2, 3, 0)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), x950, (4, 5, 0, 6), (6, 5, 1, 3, 2, 4)) - del x950 - x951 = np.zeros((naocc[1], navir[1], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x951 += einsum(t2.abab[np.ix_(soa,sOb,sva,sVb)], (0, 1, 2, 3), v.aabb.oooo, (4, 0, 5, 6), (1, 3, 4, 5, 6, 2)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x951, (2, 3, 4, 0, 5, 6), (5, 4, 2, 1, 6, 3)) - del x951 - x952 = np.zeros((naocc[1], navir[1], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x952 += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), v.bbbb.oovV, (4, 5, 3, 6), (1, 6, 0, 4, 5, 2)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x952, (2, 3, 4, 0, 5, 6), (5, 4, 2, 1, 6, 3)) - del x952 - x953 = np.zeros((naocc[1], navir[1], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x953 += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), v.bbbb.ovoV, (4, 3, 5, 6), (1, 6, 0, 5, 4, 2)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x953, (2, 3, 4, 5, 0, 6), (5, 4, 2, 1, 6, 3)) * -1.0 - del x953 - x954 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1]), dtype=np.float64) - x954 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), v.bbbb.oooO, (2, 0, 3, 4), (4, 1, 3, 2)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x954, (4, 5, 1, 6), (6, 0, 4, 3, 2, 5)) * -1.0 - x955 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1]), dtype=np.float64) - x955 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), v.bbbb.oooO, (2, 3, 0, 4), (4, 1, 2, 3)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x955, (4, 5, 6, 1), (6, 0, 4, 3, 2, 5)) - x956 = np.zeros((naocc[1], navir[1], nocc[0], nocc[0]), dtype=np.float64) - x956 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), v.aabb.oooO, (2, 3, 0, 4), (4, 1, 2, 3)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x956, (4, 5, 6, 0), (1, 6, 4, 3, 2, 5)) - del x956 - x957 = np.zeros((naocc[1], navir[1], nvir[1], nvir[1]), dtype=np.float64) - x957 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), v.bbbb.ovvO, (0, 2, 3, 4), (4, 1, 3, 2)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x957, (4, 5, 6, 3), (1, 0, 4, 6, 2, 5)) - x958 = np.zeros((naocc[1], navir[1], nvir[1], nvir[1]), dtype=np.float64) - x958 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), v.bbbb.oOvv, (0, 2, 3, 4), (2, 1, 3, 4)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x958, (4, 5, 6, 3), (1, 0, 4, 6, 2, 5)) * -1.0 - x959 = np.zeros((navir[1], nocc[0], nocc[0], nocc[1]), dtype=np.float64) - x959 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), v.aabb.oooo, (2, 3, 4, 0), (1, 2, 3, 4)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), x959, (4, 5, 0, 6), (6, 5, 1, 3, 2, 4)) * -1.0 - del x959 - x960 = np.zeros((navir[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x960 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), v.bbbb.oovv, (2, 0, 3, 4), (1, 2, 3, 4)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), x960, (4, 5, 6, 3), (5, 0, 1, 6, 2, 4)) - x961 = np.zeros((navir[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x961 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), v.bbbb.ovov, (2, 3, 0, 4), (1, 2, 3, 4)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), x961, (4, 5, 6, 3), (5, 0, 1, 6, 2, 4)) * -1.0 - x962 = np.zeros((naocc[1], navir[1], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x962 += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), v.aabb.vvoO, (4, 2, 5, 6), (6, 3, 0, 1, 5, 4)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x962, (2, 3, 4, 5, 0, 6), (5, 4, 2, 1, 6, 3)) * -1.0 - del x962 - x963 = np.zeros((navir[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x963 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.bbbb.vvvV, (2, 1, 3, 4), (4, 0, 3, 2)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), x963, (4, 5, 3, 6), (5, 0, 1, 6, 2, 4)) - x964 = np.zeros((navir[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x964 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.bbbb.vvvV, (2, 3, 1, 4), (4, 0, 2, 3)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), x964, (4, 5, 6, 3), (5, 0, 1, 6, 2, 4)) * -1.0 - x965 = np.zeros((navir[1], nocc[1], nvir[0], nvir[0]), dtype=np.float64) - x965 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.aabb.vvvV, (2, 3, 1, 4), (4, 0, 2, 3)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), x965, (4, 5, 6, 2), (5, 0, 1, 3, 6, 4)) * -1.0 - del x965 - x966 = np.zeros((naocc[1], navir[1], nocc[0], nvir[0], nvir[1], nvir[1]), dtype=np.float64) - x966 += einsum(t2.abab[np.ix_(soa,sOb,sva,sVb)], (0, 1, 2, 3), v.aabb.vvvv, (4, 2, 5, 6), (1, 3, 0, 4, 5, 6)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x966, (2, 3, 4, 5, 1, 6), (0, 4, 2, 6, 5, 3)) - del x966 - x967 = np.zeros((naocc[1], navir[1], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x967 += einsum(t2.abab[np.ix_(soa,sOb,sva,sVb)], (0, 1, 2, 3), v.aabb.vvoo, (4, 2, 5, 6), (1, 3, 0, 5, 6, 4)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x967, (2, 3, 4, 0, 5, 6), (5, 4, 2, 1, 6, 3)) * -1.0 - del x967 - x968 = np.zeros((naocc[1], navir[1], nvir[0], nvir[0]), dtype=np.float64) - x968 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), v.aabb.vvoO, (2, 3, 0, 4), (4, 1, 2, 3)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x968, (4, 5, 6, 2), (1, 0, 4, 3, 6, 5)) * -1.0 - del x968 - x969 = np.zeros((navir[1], nocc[1], nvir[0], nvir[0]), dtype=np.float64) - x969 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), v.aabb.vvoo, (2, 3, 4, 0), (1, 4, 2, 3)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), x969, (4, 5, 6, 2), (5, 0, 1, 3, 6, 4)) - del x969 - x970 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1]), dtype=np.float64) - x970 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), v.bbbb.oovV, (2, 3, 1, 4), (0, 4, 2, 3)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x970, (4, 5, 6, 1), (6, 0, 4, 3, 2, 5)) * -1.0 - x971 = np.zeros((naocc[1], navir[1], nocc[0], nocc[0]), dtype=np.float64) - x971 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), v.aabb.oovV, (2, 3, 1, 4), (0, 4, 2, 3)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x971, (4, 5, 6, 0), (1, 6, 4, 3, 2, 5)) * -1.0 - del x971 - x972 = np.zeros((naocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x972 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), v.bbbb.oovv, (2, 3, 4, 1), (0, 2, 3, 4)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), x972, (4, 5, 1, 6), (5, 0, 4, 6, 2, 3)) - x973 = np.zeros((naocc[1], nocc[0], nocc[0], nvir[1]), dtype=np.float64) - x973 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), v.aabb.oovv, (2, 3, 4, 1), (0, 2, 3, 4)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), x973, (4, 5, 0, 6), (1, 5, 4, 6, 2, 3)) - del x973 - x974 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1]), dtype=np.float64) - x974 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), v.bbbb.ovoV, (2, 1, 3, 4), (0, 4, 3, 2)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x974, (4, 5, 6, 1), (6, 0, 4, 3, 2, 5)) - x975 = np.zeros((naocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x975 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), v.bbbb.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), x975, (4, 5, 1, 6), (5, 0, 4, 6, 2, 3)) * -1.0 - x976 = np.zeros((naocc[1], navir[1], nvir[1], nvir[1]), dtype=np.float64) - x976 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), v.bbbb.vvvV, (2, 1, 3, 4), (0, 4, 3, 2)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x976, (4, 5, 3, 6), (1, 0, 4, 6, 2, 5)) * -1.0 - x977 = np.zeros((naocc[1], navir[1], nvir[1], nvir[1]), dtype=np.float64) - x977 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), v.bbbb.vvvV, (2, 3, 1, 4), (0, 4, 2, 3)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x977, (4, 5, 6, 3), (1, 0, 4, 6, 2, 5)) - x978 = np.zeros((naocc[1], navir[1], nvir[0], nvir[0]), dtype=np.float64) - x978 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), v.aabb.vvvV, (2, 3, 1, 4), (0, 4, 2, 3)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x978, (4, 5, 6, 2), (1, 0, 4, 3, 6, 5)) - del x978 - x979 = np.zeros((naocc[1], nvir[0], nvir[0], nvir[1]), dtype=np.float64) - x979 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), v.aabb.vvvv, (2, 3, 4, 1), (0, 2, 3, 4)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), x979, (4, 5, 2, 6), (1, 0, 4, 6, 5, 3)) * -1.0 - del x979 - x980 = np.zeros((naocc[1], navir[1], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x980 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,sVb)], (0, 1, 2, 3), v.aabb.ovov, (4, 5, 6, 2), (1, 3, 4, 0, 6, 5)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x980, (2, 3, 4, 5, 0, 6), (5, 4, 2, 1, 6, 3)) * -2.0 - x981 = np.zeros((navir[1], nocc[0], nvir[0], nvir[1]), dtype=np.float64) - x981 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), v.aabb.ovov, (2, 3, 0, 4), (1, 2, 3, 4)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.bbbb[np.ix_(sob,sOb,svb,svb)], (0, 1, 2, 3), x981, (4, 5, 6, 3), (0, 5, 1, 2, 6, 4)) * -2.0 - x982 = np.zeros((naocc[1], nocc[0], nocc[1], nvir[0]), dtype=np.float64) - x982 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), v.aabb.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), x982, (4, 5, 1, 6), (0, 5, 4, 2, 6, 3)) * -2.0 - x983 = np.zeros((naocc[1], navir[1], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x983 += einsum(v.aaaa.ooov, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 2, 5, 6, 3, 7), (5, 7, 0, 1, 4, 6)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x983, (2, 3, 0, 4, 5, 6), (5, 4, 2, 6, 1, 3)) * -2.0 - del x983 - x984 = np.zeros((naocc[1], navir[1], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x984 += einsum(v.aaaa.ooov, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 1, 5, 6, 3, 7), (5, 7, 0, 2, 4, 6)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x984, (2, 3, 4, 0, 5, 6), (5, 4, 2, 6, 1, 3)) * 2.0 - del x984 - x985 = np.zeros((naocc[1], naocc[1], nocc[0], nocc[0]), dtype=np.float64) - x985 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aabb.ovOO, (2, 1, 3, 4), (3, 4, 0, 2)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x985, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 3, 1, 5, 6, 7), (4, 2, 0, 5, 6, 7)) * 2.0 - del x985 - x986 = np.zeros((navir[1], navir[1], nocc[0], nocc[0]), dtype=np.float64) - x986 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aabb.ovVV, (2, 1, 3, 4), (3, 4, 0, 2)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x986, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 3, 5, 6, 7, 1), (4, 2, 5, 6, 7, 0)) * -2.0 - del x986 - x987 = np.zeros((naocc[1], navir[1], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x987 += einsum(v.aabb.ovOO, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 5, 3, 6, 1, 7), (2, 7, 5, 0, 4, 6)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x987, (2, 3, 4, 0, 5, 6), (5, 4, 2, 6, 1, 3)) * 2.0 - del x987 - x988 = np.zeros((naocc[1], naocc[1]), dtype=np.float64) - x988 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aabb.ovOO, (0, 1, 2, 3), (2, 3)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x988, (0, 1), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (2, 3, 1, 4, 5, 6), (2, 3, 0, 4, 5, 6)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x988, (0, 1), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (2, 3, 1, 4, 5, 6), (2, 3, 0, 4, 5, 6)) * -6.0 - del x988 - x989 = np.zeros((naocc[1], navir[1], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x989 += einsum(v.aabb.ovoo, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (3, 4, 5, 6, 1, 7), (5, 7, 4, 0, 2, 6)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x989, (2, 3, 4, 0, 5, 6), (5, 4, 2, 6, 1, 3)) * 2.0 - del x989 - x990 = np.zeros((naocc[1], navir[1], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x990 += einsum(v.aabb.ovvv, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 5, 6, 3, 1, 7), (6, 7, 5, 0, 4, 2)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x990, (2, 3, 4, 0, 5, 6), (5, 4, 2, 6, 1, 3)) * -2.0 - del x990 - x991 = np.zeros((naocc[1], navir[1], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x991 += einsum(v.aabb.ovVV, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 5, 6, 7, 1, 3), (6, 2, 5, 0, 4, 7)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x991, (2, 3, 4, 0, 5, 6), (5, 4, 2, 6, 1, 3)) * -2.0 - del x991 - x992 = np.zeros((navir[1], navir[1]), dtype=np.float64) - x992 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aabb.ovVV, (0, 1, 2, 3), (2, 3)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x992, (0, 1), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 6, 0)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x992, (0, 1), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 6, 0)) * 6.0 - del x992 - x993 = np.zeros((naocc[1], navir[1], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x993 += einsum(v.aabb.ooov, (0, 1, 2, 3), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (4, 2, 5, 6, 3, 7), (5, 7, 0, 1, 4, 6)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x993, (2, 3, 0, 4, 5, 6), (5, 4, 2, 6, 1, 3)) * -6.0 - del x993 - x994 = np.zeros((naocc[0], naocc[1], navir[0], navir[1]), dtype=np.float64) - x994 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), v.aabb.OVoO, (2, 3, 0, 4), (2, 4, 3, 1)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x994, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 5, 0, 6, 7, 2), (5, 4, 1, 7, 6, 3)) * -2.0 - del x994 - x995 = np.zeros((naocc[0], naocc[1], navir[0], navir[1]), dtype=np.float64) - x995 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), v.aabb.OVvV, (2, 3, 1, 4), (2, 0, 3, 4)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x995, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 5, 0, 6, 7, 2), (5, 4, 1, 7, 6, 3)) * 2.0 - del x995 - x996 = np.zeros((naocc[0], naocc[1], navir[0], nvir[1]), dtype=np.float64) - x996 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.aabb.OVoO, (2, 3, 0, 4), (2, 4, 3, 1)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x996, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,sVb,sVfa)], (4, 5, 0, 6, 7, 2), (5, 4, 1, 3, 6, 7)) * 2.0 - del x996 - x997 = np.zeros((naocc[0], naocc[1], navir[0], nvir[1]), dtype=np.float64) - x997 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), v.aabb.OVvv, (2, 3, 4, 1), (2, 0, 3, 4)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x997, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,sVb,sVfa)], (4, 5, 0, 6, 7, 2), (5, 4, 1, 3, 6, 7)) * -2.0 - del x997 - x998 = np.zeros((naocc[0], navir[0], navir[1], nocc[1]), dtype=np.float64) - x998 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.aabb.OVvV, (2, 3, 1, 4), (2, 3, 4, 0)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x998, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sOb,sOfa,sva,svb,sVfa)], (4, 5, 0, 6, 7, 1), (3, 4, 5, 7, 6, 2)) * -2.0 - del x998 - x999 = np.zeros((naocc[0], navir[0], navir[1], nocc[1]), dtype=np.float64) - x999 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), v.aabb.OVoo, (2, 3, 4, 0), (2, 3, 1, 4)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x999, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sOb,sOfa,sva,svb,sVfa)], (4, 5, 0, 6, 7, 1), (3, 4, 5, 7, 6, 2)) * 2.0 - del x999 - x1000 = np.zeros((naocc[0], navir[0], nocc[1], nvir[1]), dtype=np.float64) - x1000 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.aabb.OVvv, (2, 3, 4, 1), (2, 3, 0, 4)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x1000, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sOb,sOfa,sva,sVb,sVfa)], (4, 5, 0, 6, 7, 1), (2, 4, 5, 3, 6, 7)) * 2.0 - del x1000 - x1001 = np.zeros((naocc[0], navir[0], nocc[1], nvir[1]), dtype=np.float64) - x1001 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.aabb.OVoo, (2, 3, 4, 0), (2, 3, 4, 1)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x1001, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sOb,sOfa,sva,sVb,sVfa)], (4, 5, 0, 6, 7, 1), (2, 4, 5, 3, 6, 7)) * -2.0 - del x1001 - x1002 = np.zeros((naocc[1], navir[1], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1002 += einsum(v.bbbb.ooov, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (2, 4, 5, 3, 6, 7), (5, 7, 4, 0, 1, 6)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1002, (2, 3, 4, 0, 5, 6), (5, 4, 2, 1, 6, 3)) * -2.0 - del x1002 - x1003 = np.zeros((naocc[1], navir[1], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1003 += einsum(v.bbbb.ooov, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (1, 4, 5, 3, 6, 7), (5, 7, 4, 0, 2, 6)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1003, (2, 3, 4, 5, 0, 6), (5, 4, 2, 1, 6, 3)) * 2.0 - del x1003 - x1004 = np.zeros((naocc[1], navir[1], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1004 += einsum(v.aabb.ooov, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 1, 5, 3, 6, 7), (5, 7, 0, 4, 2, 6)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1004, (2, 3, 4, 5, 0, 6), (5, 4, 2, 1, 6, 3)) * 2.0 - del x1004 - x1005 = np.zeros((naocc[1], naocc[1], nocc[1], nocc[1]), dtype=np.float64) - x1005 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.bbbb.ovOO, (2, 1, 3, 4), (3, 4, 0, 2)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x1005, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (3, 4, 1, 5, 6, 7), (2, 4, 0, 5, 6, 7)) * 2.0 - x1006 = np.zeros((navir[1], navir[1], nocc[1], nocc[1]), dtype=np.float64) - x1006 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.bbbb.ovVV, (2, 1, 3, 4), (3, 4, 0, 2)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x1006, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (3, 4, 5, 6, 7, 1), (2, 4, 5, 6, 7, 0)) * -2.0 - x1007 = np.zeros((navir[1], navir[1], nocc[1], nocc[1]), dtype=np.float64) - x1007 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.bbbb.oVvV, (2, 3, 1, 4), (3, 4, 0, 2)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x1007, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (3, 4, 5, 6, 7, 0), (2, 4, 5, 6, 7, 1)) * 2.0 - x1008 = np.zeros((naocc[1], navir[1], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1008 += einsum(v.bbbb.ovOO, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 5, 3, 1, 6, 7), (2, 7, 5, 4, 0, 6)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1008, (2, 3, 4, 5, 0, 6), (5, 4, 2, 1, 6, 3)) * 2.0 - del x1008 - x1009 = np.zeros((naocc[1], navir[1], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1009 += einsum(v.bbbb.oOvO, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 5, 3, 2, 6, 7), (1, 7, 5, 4, 0, 6)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1009, (2, 3, 4, 5, 0, 6), (5, 4, 2, 1, 6, 3)) * -2.0 - del x1009 - x1010 = np.zeros((naocc[1], naocc[1]), dtype=np.float64) - x1010 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.bbbb.ovOO, (0, 1, 2, 3), (2, 3)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x1010, (0, 1), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (2, 3, 1, 4, 5, 6), (2, 3, 0, 4, 5, 6)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1010, (0, 1), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (2, 3, 1, 4, 5, 6), (2, 3, 0, 4, 5, 6)) * -6.0 - del x1010 - x1011 = np.zeros((naocc[1], naocc[1]), dtype=np.float64) - x1011 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.bbbb.oOvO, (0, 2, 1, 3), (2, 3)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x1011, (0, 1), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (2, 3, 1, 4, 5, 6), (2, 3, 0, 4, 5, 6)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1011, (0, 1), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (2, 3, 1, 4, 5, 6), (2, 3, 0, 4, 5, 6)) * 6.0 - del x1011 - x1012 = np.zeros((naocc[1], navir[1], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1012 += einsum(v.bbbb.ovVV, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 5, 6, 1, 7, 3), (6, 2, 5, 4, 0, 7)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1012, (2, 3, 4, 5, 0, 6), (5, 4, 2, 1, 6, 3)) * -2.0 - del x1012 - x1013 = np.zeros((navir[1], navir[1]), dtype=np.float64) - x1013 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.bbbb.ovVV, (0, 1, 2, 3), (2, 3)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x1013, (0, 1), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 6, 0)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1013, (0, 1), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 6, 0)) * 6.0 - del x1013 - x1014 = np.zeros((navir[1], navir[1]), dtype=np.float64) - x1014 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.bbbb.oVvV, (0, 2, 1, 3), (2, 3)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x1014, (0, 1), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 6, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1014, (0, 1), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 6, 1)) * -6.0 - del x1014 - x1015 = np.zeros((navir[1], navir[1], nocc[1], nocc[1]), dtype=np.float64) - x1015 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), v.bbbb.oooV, (2, 0, 3, 4), (1, 4, 3, 2)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x1015, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (2, 4, 5, 6, 7, 1), (3, 4, 5, 6, 7, 0)) * -2.0 - x1016 = np.zeros((navir[1], navir[1], nocc[1], nocc[1]), dtype=np.float64) - x1016 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), v.bbbb.oooV, (2, 3, 0, 4), (1, 4, 2, 3)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x1016, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (3, 4, 5, 6, 7, 1), (2, 4, 5, 6, 7, 0)) * 2.0 - x1017 = np.zeros((navir[1], navir[1], nocc[0], nocc[0]), dtype=np.float64) - x1017 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), v.aabb.oooV, (2, 3, 0, 4), (1, 4, 2, 3)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x1017, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 3, 5, 6, 7, 1), (4, 2, 5, 6, 7, 0)) * 2.0 - del x1017 - x1018 = np.zeros((naocc[1], naocc[1], navir[1], navir[1]), dtype=np.float64) - x1018 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), v.bbbb.oVOO, (0, 2, 3, 4), (3, 4, 1, 2)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x1018, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 5, 1, 6, 7, 3), (4, 5, 0, 6, 7, 2)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1018, (0, 1, 2, 3), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (4, 5, 1, 6, 7, 3), (4, 5, 0, 6, 7, 2)) * 6.0 - del x1018 - x1019 = np.zeros((naocc[1], naocc[1], navir[1], navir[1]), dtype=np.float64) - x1019 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), v.bbbb.oOOV, (0, 2, 3, 4), (3, 2, 1, 4)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x1019, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 5, 0, 6, 7, 3), (4, 5, 1, 6, 7, 2)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1019, (0, 1, 2, 3), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (4, 5, 0, 6, 7, 3), (4, 5, 1, 6, 7, 2)) * -6.0 - del x1019 - x1020 = np.zeros((navir[1], navir[1], nvir[1], nvir[1]), dtype=np.float64) - x1020 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), v.bbbb.ovvV, (0, 2, 3, 4), (1, 4, 3, 2)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x1020, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 5, 6, 3, 7, 1), (4, 5, 6, 2, 7, 0)) * 2.0 - x1021 = np.zeros((naocc[1], navir[1], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1021 += einsum(v.aabb.vvov, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 5, 6, 3, 1, 7), (6, 7, 5, 4, 2, 0)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1021, (2, 3, 4, 5, 0, 6), (5, 4, 2, 1, 6, 3)) * -2.0 - del x1021 - x1022 = np.zeros((navir[1], navir[1], nvir[0], nvir[0]), dtype=np.float64) - x1022 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), v.aabb.vvoV, (2, 3, 0, 4), (1, 4, 2, 3)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x1022, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 5, 6, 7, 3, 1), (4, 5, 6, 7, 2, 0)) * -2.0 - del x1022 - x1023 = np.zeros((naocc[1], naocc[1], nocc[1], nocc[1]), dtype=np.float64) - x1023 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), v.bbbb.oovO, (2, 3, 1, 4), (0, 4, 2, 3)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x1023, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (3, 4, 1, 5, 6, 7), (2, 4, 0, 5, 6, 7)) * 2.0 - x1024 = np.zeros((naocc[1], naocc[1], nocc[0], nocc[0]), dtype=np.float64) - x1024 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), v.aabb.oovO, (2, 3, 1, 4), (0, 4, 2, 3)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x1024, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 3, 1, 5, 6, 7), (4, 2, 0, 5, 6, 7)) * 2.0 - del x1024 - x1025 = np.zeros((naocc[1], naocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1025 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), v.bbbb.vvvO, (2, 3, 1, 4), (0, 4, 2, 3)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x1025, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 5, 1, 3, 6, 7), (4, 5, 0, 2, 6, 7)) * -2.0 - x1026 = np.zeros((naocc[1], naocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1026 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), v.bbbb.vvvO, (2, 1, 3, 4), (0, 4, 3, 2)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x1026, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 5, 1, 2, 6, 7), (4, 5, 0, 3, 6, 7)) * 2.0 - x1027 = np.zeros((naocc[1], naocc[1], navir[1], navir[1]), dtype=np.float64) - x1027 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), v.bbbb.vOVV, (1, 2, 3, 4), (0, 2, 3, 4)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x1027, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 5, 1, 6, 7, 3), (4, 5, 0, 6, 7, 2)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1027, (0, 1, 2, 3), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (4, 5, 1, 6, 7, 3), (4, 5, 0, 6, 7, 2)) * -6.0 - del x1027 - x1028 = np.zeros((naocc[1], naocc[1], navir[1], navir[1]), dtype=np.float64) - x1028 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), v.bbbb.vVOV, (1, 2, 3, 4), (0, 3, 4, 2)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x1028, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 5, 1, 6, 7, 2), (4, 5, 0, 6, 7, 3)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1028, (0, 1, 2, 3), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (4, 5, 1, 6, 7, 2), (4, 5, 0, 6, 7, 3)) * 6.0 - del x1028 - x1029 = np.zeros((naocc[1], naocc[1], nvir[0], nvir[0]), dtype=np.float64) - x1029 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), v.aabb.vvvO, (2, 3, 1, 4), (0, 4, 2, 3)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x1029, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 5, 1, 6, 3, 7), (4, 5, 0, 6, 2, 7)) * -2.0 - del x1029 - x1030 = np.zeros((naocc[1], navir[1], nvir[0], nvir[0]), dtype=np.float64) - x1030 += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), v.aabb.ovoO, (0, 4, 1, 5), (5, 3, 2, 4)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1030, (4, 5, 6, 2), (1, 0, 4, 3, 6, 5)) * -1.0 - del x1030 - x1031 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1]), dtype=np.float64) - x1031 += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), v.aabb.ovoO, (0, 2, 4, 5), (5, 3, 1, 4)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1031, (4, 5, 6, 1), (6, 0, 4, 3, 2, 5)) * -1.0 - x1032 = np.zeros((naocc[1], nocc[0], nocc[0], nvir[1]), dtype=np.float64) - x1032 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.ovoO, (4, 2, 1, 5), (5, 0, 4, 3)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), x1032, (4, 5, 0, 6), (1, 5, 4, 6, 2, 3)) * -1.0 - del x1032 - x1033 = np.zeros((naocc[1], navir[1], nocc[0], nocc[0]), dtype=np.float64) - x1033 += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), v.aabb.ovoO, (4, 2, 1, 5), (5, 3, 0, 4)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1033, (4, 5, 6, 0), (1, 6, 4, 3, 2, 5)) * -1.0 - del x1033 - x1034 = np.zeros((naocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x1034 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.ovoO, (0, 2, 4, 5), (5, 1, 4, 3)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), x1034, (4, 5, 1, 6), (5, 0, 4, 6, 2, 3)) * -1.0 - x1035 = np.zeros((naocc[1], nvir[0], nvir[0], nvir[1]), dtype=np.float64) - x1035 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.ovoO, (0, 4, 1, 5), (5, 2, 4, 3)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), x1035, (4, 5, 2, 6), (1, 0, 4, 6, 5, 3)) * -1.0 - del x1035 - x1036 = np.zeros((naocc[1], navir[1], nocc[0], nocc[0]), dtype=np.float64) - x1036 += einsum(t2.abab[np.ix_(soa,sOb,sva,sVb)], (0, 1, 2, 3), v.aaaa.ooov, (4, 5, 0, 2), (1, 3, 4, 5)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1036, (4, 5, 6, 0), (1, 6, 4, 3, 2, 5)) * -1.0 - del x1036 - x1037 = np.zeros((naocc[1], navir[1], nocc[0], nocc[0]), dtype=np.float64) - x1037 += einsum(t2.abab[np.ix_(soa,sOb,sva,sVb)], (0, 1, 2, 3), v.aaaa.ooov, (4, 0, 5, 2), (1, 3, 4, 5)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1037, (4, 5, 6, 0), (1, 6, 4, 3, 2, 5)) - del x1037 - x1038 = np.zeros((naocc[1], nocc[0], nocc[0], nvir[1]), dtype=np.float64) - x1038 += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), v.aaaa.ooov, (4, 5, 0, 2), (1, 4, 5, 3)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), x1038, (4, 5, 0, 6), (1, 5, 4, 6, 2, 3)) * -1.0 - del x1038 - x1039 = np.zeros((navir[1], nocc[0], nocc[0], nocc[1]), dtype=np.float64) - x1039 += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), v.aaaa.ooov, (4, 0, 5, 2), (3, 4, 5, 1)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), x1039, (4, 5, 0, 6), (6, 5, 1, 3, 2, 4)) - del x1039 - x1040 = np.zeros((naocc[1], nocc[0], nocc[0], nvir[1]), dtype=np.float64) - x1040 += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), v.aaaa.ooov, (4, 0, 5, 2), (1, 4, 5, 3)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), x1040, (4, 5, 0, 6), (1, 5, 4, 6, 2, 3)) - del x1040 - x1041 = np.zeros((navir[1], nocc[0], nocc[0], nocc[1]), dtype=np.float64) - x1041 += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), v.aaaa.ooov, (4, 5, 0, 2), (3, 4, 5, 1)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), x1041, (4, 5, 0, 6), (6, 5, 1, 3, 2, 4)) * -1.0 - del x1041 - x1042 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1]), dtype=np.float64) - x1042 += einsum(t2.abab[np.ix_(soa,sOb,sva,sVb)], (0, 1, 2, 3), v.aabb.ovoo, (0, 2, 4, 5), (1, 3, 4, 5)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1042, (4, 5, 6, 1), (6, 0, 4, 3, 2, 5)) * -1.0 - x1043 = np.zeros((naocc[1], navir[1], nocc[0], nocc[0], nocc[1], nocc[1]), dtype=np.float64) - x1043 += einsum(t2.abab[np.ix_(soa,sOb,sva,sVb)], (0, 1, 2, 3), v.aabb.ovoo, (4, 2, 5, 6), (1, 3, 0, 4, 5, 6)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1043, (4, 5, 6, 0, 1, 7), (7, 6, 4, 3, 2, 5)) - x1044 = np.zeros((naocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x1044 += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), v.aabb.ovoo, (0, 2, 4, 5), (1, 4, 5, 3)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), x1044, (4, 5, 1, 6), (5, 0, 4, 6, 2, 3)) * -1.0 - x1045 = np.zeros((navir[1], nocc[0], nocc[0], nocc[1]), dtype=np.float64) - x1045 += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), v.aabb.ovoo, (4, 2, 5, 1), (3, 0, 4, 5)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), x1045, (4, 5, 0, 6), (6, 5, 1, 3, 2, 4)) - del x1045 - x1046 = np.zeros((navir[1], nocc[1], nvir[0], nvir[0]), dtype=np.float64) - x1046 += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), v.aabb.ovoo, (0, 4, 5, 1), (3, 5, 2, 4)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), x1046, (4, 5, 6, 2), (5, 0, 1, 3, 6, 4)) - del x1046 - x1047 = np.zeros((naocc[1], navir[1], nvir[0], nvir[0]), dtype=np.float64) - x1047 += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), v.aabb.ovvV, (0, 4, 3, 5), (1, 5, 2, 4)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1047, (4, 5, 6, 2), (1, 0, 4, 3, 6, 5)) - del x1047 - x1048 = np.zeros((navir[1], nocc[0], nocc[0], nocc[1]), dtype=np.float64) - x1048 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.ovvV, (4, 2, 3, 5), (5, 0, 4, 1)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), x1048, (4, 5, 0, 6), (6, 5, 1, 3, 2, 4)) - del x1048 - x1049 = np.zeros((naocc[1], navir[1], nvir[1], nvir[1]), dtype=np.float64) - x1049 += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), v.aabb.ovvV, (0, 2, 4, 5), (1, 5, 3, 4)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1049, (4, 5, 6, 3), (1, 0, 4, 6, 2, 5)) - x1050 = np.zeros((naocc[1], navir[1], nocc[0], nocc[0]), dtype=np.float64) - x1050 += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), v.aabb.ovvV, (4, 2, 3, 5), (1, 5, 0, 4)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1050, (4, 5, 6, 0), (1, 6, 4, 3, 2, 5)) - del x1050 - x1051 = np.zeros((navir[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1051 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.ovvV, (0, 2, 4, 5), (5, 1, 3, 4)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), x1051, (4, 5, 6, 3), (5, 0, 1, 6, 2, 4)) - x1052 = np.zeros((navir[1], nocc[1], nvir[0], nvir[0]), dtype=np.float64) - x1052 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.ovvV, (0, 4, 3, 5), (5, 1, 2, 4)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), x1052, (4, 5, 6, 2), (5, 0, 1, 3, 6, 4)) - del x1052 - x1053 = np.zeros((naocc[1], navir[1], nvir[0], nvir[0]), dtype=np.float64) - x1053 += einsum(t2.abab[np.ix_(soa,sOb,sva,sVb)], (0, 1, 2, 3), v.aaaa.ovvv, (0, 4, 5, 2), (1, 3, 4, 5)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1053, (4, 5, 2, 6), (1, 0, 4, 3, 6, 5)) * -1.0 - del x1053 - x1054 = np.zeros((naocc[1], navir[1], nvir[1], nvir[1]), dtype=np.float64) - x1054 += einsum(t2.abab[np.ix_(soa,sOb,sva,sVb)], (0, 1, 2, 3), v.aabb.ovvv, (0, 2, 4, 5), (1, 3, 4, 5)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1054, (4, 5, 6, 3), (1, 0, 4, 6, 2, 5)) - x1055 = np.zeros((naocc[1], navir[1], nvir[0], nvir[0]), dtype=np.float64) - x1055 += einsum(t2.abab[np.ix_(soa,sOb,sva,sVb)], (0, 1, 2, 3), v.aaaa.ovvv, (0, 2, 4, 5), (1, 3, 4, 5)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1055, (4, 5, 6, 2), (1, 0, 4, 3, 6, 5)) - del x1055 - x1056 = np.zeros((naocc[1], navir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x1056 += einsum(t2.abab[np.ix_(soa,sOb,sva,sVb)], (0, 1, 2, 3), v.aaaa.ovvv, (4, 5, 6, 2), (1, 3, 0, 4, 5, 6)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1056, (4, 5, 6, 0, 2, 7), (1, 6, 4, 3, 7, 5)) - del x1056 - x1057 = np.zeros((naocc[1], navir[1], nocc[0], nocc[0], nvir[1], nvir[1]), dtype=np.float64) - x1057 += einsum(t2.abab[np.ix_(soa,sOb,sva,sVb)], (0, 1, 2, 3), v.aabb.ovvv, (4, 2, 5, 6), (1, 3, 0, 4, 5, 6)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1057, (4, 5, 6, 0, 3, 7), (1, 6, 4, 7, 2, 5)) * -1.0 - x1058 = np.zeros((naocc[1], navir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x1058 += einsum(t2.abab[np.ix_(soa,sOb,sva,sVb)], (0, 1, 2, 3), v.aaaa.ovvv, (4, 2, 5, 6), (1, 3, 0, 4, 5, 6)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1058, (4, 5, 6, 0, 2, 7), (1, 6, 4, 3, 7, 5)) * -1.0 - del x1058 - x1059 = np.zeros((naocc[1], nvir[0], nvir[0], nvir[1]), dtype=np.float64) - x1059 += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), v.aabb.ovvv, (0, 4, 5, 3), (1, 2, 4, 5)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), x1059, (4, 5, 2, 6), (1, 0, 4, 6, 5, 3)) * -1.0 - del x1059 - x1060 = np.zeros((naocc[1], nvir[0], nvir[0], nvir[1]), dtype=np.float64) - x1060 += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), v.aaaa.ovvv, (0, 4, 5, 2), (1, 4, 5, 3)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), x1060, (4, 2, 5, 6), (1, 0, 4, 6, 5, 3)) * -1.0 - del x1060 - x1061 = np.zeros((naocc[1], nvir[0], nvir[0], nvir[1]), dtype=np.float64) - x1061 += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), v.aaaa.ovvv, (0, 2, 4, 5), (1, 4, 5, 3)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), x1061, (4, 5, 2, 6), (1, 0, 4, 6, 5, 3)) - del x1061 - x1062 = np.zeros((naocc[1], nocc[0], nocc[0], nvir[1]), dtype=np.float64) - x1062 += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), v.aabb.ovvv, (4, 2, 5, 3), (1, 0, 4, 5)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), x1062, (4, 5, 0, 6), (1, 5, 4, 6, 2, 3)) * -1.0 - del x1062 - x1063 = np.zeros((navir[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1063 += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), v.aabb.ovvv, (0, 2, 4, 5), (3, 1, 4, 5)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), x1063, (4, 5, 6, 3), (5, 0, 1, 6, 2, 4)) - x1064 = np.zeros((navir[1], nocc[1], nvir[0], nvir[0]), dtype=np.float64) - x1064 += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), v.aaaa.ovvv, (0, 2, 4, 5), (3, 1, 4, 5)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), x1064, (4, 5, 6, 2), (5, 0, 1, 3, 6, 4)) - del x1064 - x1065 = np.zeros((navir[1], nocc[1], nvir[0], nvir[0]), dtype=np.float64) - x1065 += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), v.aaaa.ovvv, (0, 4, 5, 2), (3, 1, 4, 5)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), x1065, (4, 5, 2, 6), (5, 0, 1, 3, 6, 4)) * -1.0 - del x1065 - x1066 = np.zeros((naocc[1], nocc[0], nocc[1], nvir[0]), dtype=np.float64) - x1066 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.bbbb.ovoO, (1, 3, 4, 5), (5, 0, 4, 2)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), x1066, (4, 5, 1, 6), (0, 5, 4, 2, 6, 3)) * -2.0 - del x1066 - x1067 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1]), dtype=np.float64) - x1067 += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), v.bbbb.ovoO, (4, 2, 1, 5), (5, 3, 0, 4)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1067, (4, 5, 6, 1), (6, 0, 4, 3, 2, 5)) * -2.0 - x1068 = np.zeros((naocc[1], nocc[0], nocc[1], nvir[0]), dtype=np.float64) - x1068 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.bbbb.ovoO, (4, 3, 1, 5), (5, 0, 4, 2)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), x1068, (4, 5, 1, 6), (0, 5, 4, 2, 6, 3)) * 2.0 - del x1068 - x1069 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1]), dtype=np.float64) - x1069 += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), v.bbbb.ovoO, (1, 2, 4, 5), (5, 3, 0, 4)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1069, (4, 5, 6, 1), (6, 0, 4, 3, 2, 5)) * 2.0 - x1070 = np.zeros((naocc[1], navir[1], nvir[1], nvir[1]), dtype=np.float64) - x1070 += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), v.bbbb.ovoO, (1, 4, 0, 5), (5, 3, 2, 4)) * -1.0 - x1071 = np.zeros((naocc[1], navir[1], nocc[0], nocc[1], nvir[0], nvir[1]), dtype=np.float64) - x1071 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1070, (4, 5, 6, 3), (4, 5, 0, 1, 2, 6)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x1071, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x1071, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) - del x1071 - x1072 = np.zeros((naocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x1072 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), v.bbbb.ovoO, (4, 3, 1, 5), (5, 0, 4, 2)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), x1072, (4, 5, 1, 6), (5, 0, 4, 6, 2, 3)) * 2.0 - x1073 = np.zeros((naocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x1073 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), v.bbbb.ovoO, (1, 3, 4, 5), (5, 0, 4, 2)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), x1073, (4, 5, 1, 6), (5, 0, 4, 6, 2, 3)) * -2.0 - x1074 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1]), dtype=np.float64) - x1074 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,sVb)], (0, 1, 2, 3), v.bbbb.ooov, (4, 5, 0, 2), (1, 3, 4, 5)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1074, (4, 5, 6, 1), (6, 0, 4, 3, 2, 5)) * -2.0 - x1075 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1]), dtype=np.float64) - x1075 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,sVb)], (0, 1, 2, 3), v.bbbb.ooov, (4, 0, 5, 2), (1, 3, 4, 5)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1075, (4, 5, 6, 1), (6, 0, 4, 3, 2, 5)) * 2.0 - x1076 = np.zeros((naocc[1], navir[1], nocc[0], nocc[0], nocc[1], nocc[1]), dtype=np.float64) - x1076 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,sVb)], (0, 1, 2, 3), v.aabb.ooov, (4, 5, 6, 2), (1, 3, 4, 5, 0, 6)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1076, (4, 5, 6, 0, 7, 1), (7, 6, 4, 3, 2, 5)) * 2.0 - x1077 = np.zeros((naocc[1], navir[1], nocc[0], nocc[0]), dtype=np.float64) - x1077 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,sVb)], (0, 1, 2, 3), v.aabb.ooov, (4, 5, 0, 2), (1, 3, 4, 5)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1077, (4, 5, 6, 0), (1, 6, 4, 3, 2, 5)) * -2.0 - del x1077 - x1078 = np.zeros((naocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x1078 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,svb)], (0, 1, 2, 3), v.bbbb.ooov, (4, 5, 0, 3), (1, 4, 5, 2)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), x1078, (4, 5, 1, 6), (5, 0, 4, 6, 2, 3)) * 2.0 - x1079 = np.zeros((naocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x1079 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,svb)], (0, 1, 2, 3), v.bbbb.ooov, (4, 0, 5, 3), (1, 4, 5, 2)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), x1079, (4, 5, 1, 6), (5, 0, 4, 6, 2, 3)) * -2.0 - x1080 = np.zeros((navir[1], nocc[0], nvir[0], nvir[1]), dtype=np.float64) - x1080 += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), v.aabb.ooov, (4, 0, 1, 5), (3, 4, 2, 5)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.bbbb[np.ix_(sob,sOb,svb,svb)], (0, 1, 2, 3), x1080, (4, 5, 6, 3), (0, 5, 1, 2, 6, 4)) * -2.0 - del x1080 - x1081 = np.zeros((naocc[1], nocc[0], nocc[0], nvir[1]), dtype=np.float64) - x1081 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,svb)], (0, 1, 2, 3), v.aabb.ooov, (4, 5, 0, 3), (1, 4, 5, 2)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), x1081, (4, 5, 0, 6), (1, 5, 4, 6, 2, 3)) * 2.0 - del x1081 - x1082 = np.zeros((navir[1], nocc[0], nvir[0], nvir[1]), dtype=np.float64) - x1082 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.bbbb.ovvV, (1, 3, 4, 5), (5, 0, 2, 4)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.bbbb[np.ix_(sob,sOb,svb,svb)], (0, 1, 2, 3), x1082, (4, 5, 6, 3), (0, 5, 1, 2, 6, 4)) * 2.0 - del x1082 - x1083 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1]), dtype=np.float64) - x1083 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,svb)], (0, 1, 2, 3), v.bbbb.ovvV, (4, 3, 2, 5), (1, 5, 0, 4)) * -1.0 - x1084 = np.zeros((naocc[1], navir[1], nocc[0], nocc[1], nvir[0], nvir[1]), dtype=np.float64) - x1084 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1083, (4, 5, 6, 1), (4, 5, 0, 6, 2, 3)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x1084, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x1084, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -1.0 - del x1084 - x1085 = np.zeros((navir[1], nocc[0], nvir[0], nvir[1]), dtype=np.float64) - x1085 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.bbbb.ovvV, (1, 4, 3, 5), (5, 0, 2, 4)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.bbbb[np.ix_(sob,sOb,svb,svb)], (0, 1, 2, 3), x1085, (4, 5, 6, 3), (0, 5, 1, 2, 6, 4)) * -2.0 - del x1085 - x1086 = np.zeros((naocc[1], navir[1], nvir[1], nvir[1]), dtype=np.float64) - x1086 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,svb)], (0, 1, 2, 3), v.bbbb.ovvV, (0, 4, 3, 5), (1, 5, 2, 4)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1086, (4, 5, 6, 3), (1, 0, 4, 6, 2, 5)) * 2.0 - x1087 = np.zeros((naocc[1], navir[1], nvir[1], nvir[1]), dtype=np.float64) - x1087 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,svb)], (0, 1, 2, 3), v.bbbb.ovvV, (0, 3, 4, 5), (1, 5, 2, 4)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1087, (4, 5, 6, 3), (1, 0, 4, 6, 2, 5)) * -2.0 - x1088 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1088 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,sVb)], (0, 1, 2, 3), v.bbbb.ovvv, (4, 5, 6, 2), (1, 3, 0, 4, 5, 6)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1088, (4, 5, 6, 1, 3, 7), (6, 0, 4, 7, 2, 5)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1088, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1088, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1088, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1088, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - x1089 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1089 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,sVb)], (0, 1, 2, 3), v.bbbb.ovvv, (4, 2, 5, 6), (1, 3, 0, 4, 5, 6)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1089, (4, 5, 6, 1, 3, 7), (6, 0, 4, 7, 2, 5)) * -2.0 - x1090 = np.zeros((naocc[1], navir[1], nvir[1], nvir[1]), dtype=np.float64) - x1090 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,sVb)], (0, 1, 2, 3), v.bbbb.ovvv, (0, 4, 5, 2), (1, 3, 4, 5)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1090, (4, 5, 3, 6), (1, 0, 4, 6, 2, 5)) * -2.0 - x1091 = np.zeros((naocc[1], navir[1], nvir[1], nvir[1]), dtype=np.float64) - x1091 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,sVb)], (0, 1, 2, 3), v.bbbb.ovvv, (0, 2, 4, 5), (1, 3, 4, 5)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1091, (4, 5, 6, 3), (1, 0, 4, 6, 2, 5)) * 2.0 - x1092 = np.zeros((naocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x1092 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,svb)], (0, 1, 2, 3), v.bbbb.ovvv, (4, 2, 5, 3), (1, 0, 4, 5)) * -1.0 - x1093 = np.zeros((naocc[1], navir[1], nocc[0], nocc[1], nvir[0], nvir[1]), dtype=np.float64) - x1093 += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), x1092, (4, 5, 1, 6), (4, 3, 0, 5, 2, 6)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x1093, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x1093, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) - del x1093 - x1094 = np.zeros((navir[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1094 += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), v.bbbb.ooov, (4, 0, 1, 5), (3, 4, 2, 5)) * -1.0 - x1095 = np.zeros((naocc[1], navir[1], nocc[0], nocc[1], nvir[0], nvir[1]), dtype=np.float64) - x1095 += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), x1094, (4, 5, 6, 3), (1, 4, 0, 5, 2, 6)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x1095, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x1095, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) - del x1095 - x1096 = np.zeros((naocc[1], nocc[0], nocc[1], nvir[0]), dtype=np.float64) - x1096 += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), v.aabb.ooov, (4, 0, 5, 3), (1, 4, 5, 2)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), x1096, (4, 5, 1, 6), (0, 5, 4, 2, 6, 3)) * -2.0 - del x1096 - x1097 = np.zeros((navir[1], nocc[0], nocc[0], nocc[1]), dtype=np.float64) - x1097 += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), v.aabb.ooov, (4, 5, 1, 2), (3, 4, 5, 0)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), x1097, (4, 5, 0, 6), (6, 5, 1, 3, 2, 4)) * 2.0 - del x1097 - x1098 = np.zeros((navir[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1098 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), v.bbbb.ovvV, (1, 4, 3, 5), (5, 0, 2, 4)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), x1098, (4, 5, 6, 3), (5, 0, 1, 6, 2, 4)) * -2.0 - x1099 = np.zeros((navir[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1099 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), v.bbbb.ovvV, (1, 3, 4, 5), (5, 0, 2, 4)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), x1099, (4, 5, 6, 3), (5, 0, 1, 6, 2, 4)) * 2.0 - x1100 = np.zeros((navir[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1100 += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), v.bbbb.ovvv, (1, 4, 5, 2), (3, 0, 4, 5)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), x1100, (4, 5, 3, 6), (5, 0, 1, 6, 2, 4)) * 2.0 - x1101 = np.zeros((navir[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1101 += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), v.bbbb.ovvv, (1, 2, 4, 5), (3, 0, 4, 5)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), x1101, (4, 5, 6, 3), (5, 0, 1, 6, 2, 4)) * -2.0 - x1102 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[0], nvir[0]), dtype=np.float64) - x1102 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,sVb)], (0, 1, 2, 3), v.aabb.vvov, (4, 5, 6, 2), (1, 3, 0, 6, 4, 5)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1102, (4, 5, 6, 1, 7, 2), (6, 0, 4, 3, 7, 5)) * -2.0 - x1103 = np.zeros((naocc[1], navir[1], nvir[0], nvir[0]), dtype=np.float64) - x1103 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,sVb)], (0, 1, 2, 3), v.aabb.vvov, (4, 5, 0, 2), (1, 3, 4, 5)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1103, (4, 5, 6, 2), (1, 0, 4, 3, 6, 5)) * 2.0 - del x1103 - x1104 = np.zeros((navir[1], nocc[0], nvir[0], nvir[1]), dtype=np.float64) - x1104 += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), v.aabb.vvov, (4, 2, 1, 5), (3, 0, 4, 5)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.bbbb[np.ix_(sob,sOb,svb,svb)], (0, 1, 2, 3), x1104, (4, 5, 6, 3), (0, 5, 1, 2, 6, 4)) * 2.0 - del x1104 - x1105 = np.zeros((naocc[1], nvir[0], nvir[0], nvir[1]), dtype=np.float64) - x1105 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,svb)], (0, 1, 2, 3), v.aabb.vvov, (4, 5, 0, 3), (1, 4, 5, 2)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), x1105, (4, 5, 2, 6), (1, 0, 4, 6, 5, 3)) * -2.0 - del x1105 - x1106 = np.zeros((naocc[1], nocc[0], nocc[1], nvir[0]), dtype=np.float64) - x1106 += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), v.aabb.vvov, (4, 2, 5, 3), (1, 0, 5, 4)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), x1106, (4, 5, 1, 6), (0, 5, 4, 2, 6, 3)) * 2.0 - del x1106 - x1107 = np.zeros((navir[1], nocc[1], nvir[0], nvir[0]), dtype=np.float64) - x1107 += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), v.aabb.vvov, (4, 5, 1, 2), (3, 0, 4, 5)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), x1107, (4, 5, 6, 2), (5, 0, 1, 3, 6, 4)) * -2.0 - del x1107 - x1108 = np.zeros((naocc[1], nocc[0], nocc[1], nvir[0]), dtype=np.float64) - x1108 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), v.aabb.ovoO, (1, 3, 4, 5), (5, 0, 4, 2)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), x1108, (4, 5, 1, 6), (0, 5, 4, 2, 6, 3)) * -4.0 - del x1108 - x1109 = np.zeros((navir[1], nocc[0], nvir[0], nvir[1]), dtype=np.float64) - x1109 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), v.aabb.ovvV, (1, 3, 4, 5), (5, 0, 2, 4)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.bbbb[np.ix_(sob,sOb,svb,svb)], (0, 1, 2, 3), x1109, (4, 5, 6, 3), (0, 5, 1, 2, 6, 4)) * 4.0 - del x1109 - x1110 = np.zeros((naocc[0], naocc[1], navir[0], navir[1], nocc[0], nocc[0]), dtype=np.float64) - x1110 += einsum(t2.abab[np.ix_(soa,sOb,sva,sVb)], (0, 1, 2, 3), v.aaaa.ovOV, (4, 2, 5, 6), (5, 1, 6, 3, 0, 4)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (0, 1, 2, 3, 4, 5), x1110, (2, 6, 5, 7, 8, 0), (1, 8, 6, 4, 3, 7)) * -1.0 - del x1110 - x1111 = np.zeros((naocc[0], naocc[1], navir[0], navir[1], nocc[0], nocc[0]), dtype=np.float64) - x1111 += einsum(t2.abab[np.ix_(soa,sOb,sva,sVb)], (0, 1, 2, 3), v.aaaa.oVvO, (4, 5, 2, 6), (6, 1, 5, 3, 0, 4)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (0, 1, 2, 3, 4, 5), x1111, (2, 6, 5, 7, 8, 0), (1, 8, 6, 4, 3, 7)) - del x1111 - x1112 = np.zeros((naocc[0], naocc[1], navir[0], navir[1]), dtype=np.float64) - x1112 += einsum(t2.abab[np.ix_(soa,sOb,sva,sVb)], (0, 1, 2, 3), v.aaaa.ovOV, (0, 2, 4, 5), (4, 1, 5, 3)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x1112, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 5, 0, 6, 7, 2), (5, 4, 1, 7, 6, 3)) * 2.0 - del x1112 - x1113 = np.zeros((naocc[0], naocc[1], navir[0], navir[1]), dtype=np.float64) - x1113 += einsum(t2.abab[np.ix_(soa,sOb,sva,sVb)], (0, 1, 2, 3), v.aaaa.oVvO, (0, 4, 2, 5), (5, 1, 4, 3)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x1113, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 5, 0, 6, 7, 2), (5, 4, 1, 7, 6, 3)) * -2.0 - del x1113 - x1114 = np.zeros((naocc[0], naocc[1], navir[0], nocc[0], nocc[0], nvir[1]), dtype=np.float64) - x1114 += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), v.aaaa.ovOV, (4, 2, 5, 6), (5, 1, 6, 0, 4, 3)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t3.abaaba[np.ix_(soa,sob,sOfa,sva,sVb,sVfa)], (0, 1, 2, 3, 4, 5), x1114, (2, 6, 5, 7, 0, 8), (1, 7, 6, 8, 3, 4)) * -1.0 - del x1114 - x1115 = np.zeros((naocc[0], naocc[1], navir[0], nocc[0], nocc[0], nvir[1]), dtype=np.float64) - x1115 += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), v.aaaa.oVvO, (4, 5, 2, 6), (6, 1, 5, 0, 4, 3)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t3.abaaba[np.ix_(soa,sob,sOfa,sva,sVb,sVfa)], (0, 1, 2, 3, 4, 5), x1115, (2, 6, 5, 7, 0, 8), (1, 7, 6, 8, 3, 4)) - del x1115 - x1116 = np.zeros((navir[1], nocc[0], nocc[0], nocc[1]), dtype=np.float64) - x1116 += einsum(v.aaaa.ovOV, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,sVb,sVfa)], (4, 5, 2, 1, 6, 3), (6, 4, 0, 5)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), x1116, (4, 5, 0, 6), (6, 5, 1, 3, 2, 4)) * -2.0 - del x1116 - x1117 = np.zeros((naocc[0], naocc[1], navir[0], nvir[1]), dtype=np.float64) - x1117 += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), v.aaaa.ovOV, (0, 2, 4, 5), (4, 1, 5, 3)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x1117, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,sVb,sVfa)], (4, 5, 0, 6, 7, 2), (5, 4, 1, 3, 6, 7)) * 2.0 - del x1117 - x1118 = np.zeros((naocc[0], naocc[1], navir[0], nvir[1]), dtype=np.float64) - x1118 += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), v.aaaa.oVvO, (0, 4, 2, 5), (5, 1, 4, 3)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x1118, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,sVb,sVfa)], (4, 5, 0, 6, 7, 2), (5, 4, 1, 3, 6, 7)) * -2.0 - del x1118 - x1119 = np.zeros((naocc[0], navir[0], navir[1], nocc[0], nocc[0], nocc[1]), dtype=np.float64) - x1119 += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), v.aaaa.ovOV, (4, 2, 5, 6), (5, 6, 3, 0, 4, 1)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t3.abaaba[np.ix_(soa,sOb,sOfa,sva,svb,sVfa)], (0, 1, 2, 3, 4, 5), x1119, (2, 5, 6, 7, 0, 8), (8, 7, 1, 4, 3, 6)) * -1.0 - del x1119 - x1120 = np.zeros((naocc[0], navir[0], navir[1], nocc[0], nocc[0], nocc[1]), dtype=np.float64) - x1120 += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), v.aaaa.oVvO, (4, 5, 2, 6), (6, 5, 3, 0, 4, 1)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t3.abaaba[np.ix_(soa,sOb,sOfa,sva,svb,sVfa)], (0, 1, 2, 3, 4, 5), x1120, (2, 5, 6, 7, 0, 8), (8, 7, 1, 4, 3, 6)) - del x1120 - x1121 = np.zeros((naocc[1], nocc[0], nocc[0], nvir[1]), dtype=np.float64) - x1121 += einsum(v.aaaa.ovOV, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sOb,sOfa,sva,svb,sVfa)], (4, 5, 2, 1, 6, 3), (5, 4, 0, 6)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), x1121, (4, 5, 0, 6), (1, 5, 4, 6, 2, 3)) * -2.0 - del x1121 - x1122 = np.zeros((naocc[0], navir[0], navir[1], nocc[1]), dtype=np.float64) - x1122 += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), v.aaaa.ovOV, (0, 2, 4, 5), (4, 5, 3, 1)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x1122, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sOb,sOfa,sva,svb,sVfa)], (4, 5, 0, 6, 7, 1), (3, 4, 5, 7, 6, 2)) * 2.0 - del x1122 - x1123 = np.zeros((naocc[0], navir[0], navir[1], nocc[1]), dtype=np.float64) - x1123 += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), v.aaaa.oVvO, (0, 4, 2, 5), (5, 4, 3, 1)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x1123, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sOb,sOfa,sva,svb,sVfa)], (4, 5, 0, 6, 7, 1), (3, 4, 5, 7, 6, 2)) * -2.0 - del x1123 - x1124 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1124 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aaaa.ovOV, (4, 2, 5, 6), (5, 6, 0, 4, 1, 3)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t3.abaaba[np.ix_(soa,sOb,sOfa,sva,sVb,sVfa)], (0, 1, 2, 3, 4, 5), x1124, (2, 5, 6, 0, 7, 8), (7, 6, 1, 8, 3, 4)) * -1.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1124, (2, 3, 4, 0, 5, 6), (4, 5, 2, 1, 6, 3)) * -1.0 - del x1124 - x1125 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1125 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aaaa.oVvO, (4, 5, 2, 6), (6, 5, 0, 4, 1, 3)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t3.abaaba[np.ix_(soa,sOb,sOfa,sva,sVb,sVfa)], (0, 1, 2, 3, 4, 5), x1125, (2, 5, 6, 0, 7, 8), (7, 6, 1, 8, 3, 4)) - del x1125 - x1126 = np.zeros((naocc[1], navir[1], nocc[0], nocc[0]), dtype=np.float64) - x1126 += einsum(v.aaaa.ovOV, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sOb,sOfa,sva,sVb,sVfa)], (4, 5, 2, 1, 6, 3), (5, 6, 4, 0)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1126, (4, 5, 6, 0), (1, 6, 4, 3, 2, 5)) * -2.0 - del x1126 - x1127 = np.zeros((naocc[0], navir[0], nocc[1], nvir[1]), dtype=np.float64) - x1127 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aaaa.ovOV, (0, 2, 4, 5), (4, 5, 1, 3)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x1127, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sOb,sOfa,sva,sVb,sVfa)], (4, 5, 0, 6, 7, 1), (2, 4, 5, 3, 6, 7)) * 2.0 - del x1127 - x1128 = np.zeros((naocc[0], navir[0], nocc[1], nvir[1]), dtype=np.float64) - x1128 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aaaa.oVvO, (0, 4, 2, 5), (5, 4, 1, 3)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x1128, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sOb,sOfa,sva,sVb,sVfa)], (4, 5, 0, 6, 7, 1), (2, 4, 5, 3, 6, 7)) * -2.0 - del x1128 - x1129 = np.zeros((naocc[1], navir[1], nvir[0], nvir[0]), dtype=np.float64) - x1129 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (2, 0, 4, 3, 5, 6), (4, 6, 5, 1)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1129, (4, 5, 6, 2), (1, 0, 4, 3, 6, 5)) * -2.0 - del x1129 - x1130 = np.zeros((naocc[1], navir[1], nvir[1], nvir[1]), dtype=np.float64) - x1130 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (2, 0, 4, 5, 1, 6), (4, 6, 5, 3)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1130, (4, 5, 6, 3), (1, 0, 4, 6, 2, 5)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,sVb,sVfb)] += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), x1130, (4, 5, 6, 2), (0, 1, 4, 6, 5, 3)) * 4.0 - x1131 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1]), dtype=np.float64) - x1131 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 0, 5, 3, 1, 6), (5, 6, 4, 2)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1131, (4, 5, 6, 1), (6, 0, 4, 3, 2, 5)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sOb,sOfb,svb,svb,sVfb)] += einsum(t2.bbbb[np.ix_(sob,sOb,svb,svb)], (0, 1, 2, 3), x1131, (4, 5, 6, 0), (6, 4, 1, 2, 3, 5)) * 4.0 - x1132 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[0], nvir[0]), dtype=np.float64) - x1132 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 0, 5, 3, 6, 7), (5, 7, 4, 2, 6, 1)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1132, (4, 5, 6, 1, 7, 2), (6, 0, 4, 3, 7, 5)) * 2.0 - del x1132 - x1133 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1133 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 0, 5, 6, 1, 7), (5, 7, 4, 2, 6, 3)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1133, (4, 5, 6, 1, 7, 3), (6, 0, 4, 7, 2, 5)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1133, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1133, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1133, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1133, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - x1134 = np.zeros((naocc[1], navir[1], nocc[0], nocc[0]), dtype=np.float64) - x1134 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (2, 4, 5, 3, 1, 6), (5, 6, 4, 0)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1134, (4, 5, 6, 0), (1, 6, 4, 3, 2, 5)) * -2.0 - del x1134 - x1135 = np.zeros((naocc[1], navir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=np.float64) - x1135 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (2, 4, 5, 3, 6, 7), (5, 7, 4, 0, 6, 1)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1135, (4, 5, 6, 0, 7, 2), (1, 6, 4, 3, 7, 5)) * 2.0 - del x1135 - x1136 = np.zeros((naocc[1], navir[1], nocc[0], nocc[0], nvir[1], nvir[1]), dtype=np.float64) - x1136 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (2, 4, 5, 6, 1, 7), (5, 7, 4, 0, 6, 3)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1136, (4, 5, 6, 0, 7, 3), (1, 6, 4, 7, 2, 5)) * 2.0 - del x1136 - x1137 = np.zeros((naocc[1], navir[1], nocc[0], nocc[0], nocc[1], nocc[1]), dtype=np.float64) - x1137 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 5, 6, 3, 1, 7), (6, 7, 5, 0, 4, 2)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1137, (4, 5, 6, 0, 7, 1), (7, 6, 4, 3, 2, 5)) * 2.0 - x1138 = np.zeros((naocc[1], nvir[0], nvir[0], nvir[1]), dtype=np.float64) - x1138 += einsum(v.aabb.ovoV, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (2, 0, 4, 5, 6, 3), (4, 6, 1, 5)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), x1138, (4, 5, 2, 6), (1, 0, 4, 6, 5, 3)) * -2.0 - del x1138 - x1139 = np.zeros((navir[1], navir[1], nocc[0], nocc[0]), dtype=np.float64) - x1139 += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), v.aabb.ovoV, (4, 2, 1, 5), (3, 5, 0, 4)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x1139, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 3, 5, 6, 7, 1), (4, 2, 5, 6, 7, 0)) * -2.0 - del x1139 - x1140 = np.zeros((naocc[1], nocc[0], nocc[0], nvir[1]), dtype=np.float64) - x1140 += einsum(v.aabb.ovoV, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (2, 4, 5, 6, 1, 3), (5, 4, 0, 6)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), x1140, (4, 5, 0, 6), (1, 5, 4, 6, 2, 3)) * -2.0 - del x1140 - x1141 = np.zeros((navir[1], navir[1], nocc[1], nocc[1]), dtype=np.float64) - x1141 += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), v.aabb.ovoV, (0, 2, 4, 5), (3, 5, 1, 4)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x1141, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (3, 4, 5, 6, 7, 1), (2, 4, 5, 6, 7, 0)) * -2.0 - x1142 = np.zeros((navir[1], navir[1], nvir[0], nvir[0]), dtype=np.float64) - x1142 += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), v.aabb.ovoV, (0, 4, 1, 5), (3, 5, 2, 4)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x1142, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 5, 6, 7, 3, 1), (4, 5, 6, 7, 2, 0)) * -2.0 - del x1142 - x1143 = np.zeros((navir[1], navir[1]), dtype=np.float64) - x1143 += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), v.aabb.ovoV, (0, 2, 1, 4), (3, 4)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x1143, (0, 1), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 6, 0)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1143, (0, 1), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 6, 0)) * 6.0 - del x1143 - x1144 = np.zeros((navir[1], nocc[1], nvir[0], nvir[0]), dtype=np.float64) - x1144 += einsum(v.aabb.ovvO, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 0, 3, 2, 5, 6), (6, 4, 5, 1)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), x1144, (4, 5, 6, 2), (5, 0, 1, 3, 6, 4)) * -2.0 - del x1144 - x1145 = np.zeros((naocc[1], naocc[1], nocc[0], nocc[0]), dtype=np.float64) - x1145 += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), v.aabb.ovvO, (4, 2, 3, 5), (1, 5, 0, 4)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x1145, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 3, 1, 5, 6, 7), (4, 2, 0, 5, 6, 7)) * -2.0 - del x1145 - x1146 = np.zeros((navir[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1146 += einsum(v.aabb.ovvO, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 0, 3, 5, 1, 6), (6, 4, 5, 2)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), x1146, (4, 5, 6, 3), (5, 0, 1, 6, 2, 4)) * -2.0 - x1147 = np.zeros((navir[1], nocc[0], nocc[0], nocc[1]), dtype=np.float64) - x1147 += einsum(v.aabb.ovvO, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 5, 3, 2, 1, 6), (6, 5, 0, 4)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), x1147, (4, 5, 0, 6), (6, 5, 1, 3, 2, 4)) * -2.0 - del x1147 - x1148 = np.zeros((naocc[1], naocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1148 += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), v.aabb.ovvO, (0, 2, 4, 5), (1, 5, 3, 4)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x1148, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 5, 1, 3, 6, 7), (4, 5, 0, 2, 6, 7)) * -2.0 - x1149 = np.zeros((naocc[1], naocc[1]), dtype=np.float64) - x1149 += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), v.aabb.ovvO, (0, 2, 3, 4), (1, 4)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x1149, (0, 1), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (2, 3, 1, 4, 5, 6), (2, 3, 0, 4, 5, 6)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1149, (0, 1), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (2, 3, 1, 4, 5, 6), (2, 3, 0, 4, 5, 6)) * 6.0 - del x1149 - x1150 = np.zeros((naocc[1], naocc[1], nvir[0], nvir[0]), dtype=np.float64) - x1150 += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), v.aabb.ovvO, (0, 4, 3, 5), (1, 5, 2, 4)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x1150, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 5, 1, 6, 3, 7), (4, 5, 0, 6, 2, 7)) * -2.0 - del x1150 - x1151 = np.zeros((naocc[1], naocc[1], navir[1], navir[1], nocc[0], nocc[0]), dtype=np.float64) - x1151 += einsum(t2.abab[np.ix_(soa,sOb,sva,sVb)], (0, 1, 2, 3), v.aabb.ovOV, (4, 2, 5, 6), (1, 5, 3, 6, 0, 4)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (0, 1, 2, 3, 4, 5), x1151, (6, 2, 7, 5, 8, 1), (0, 8, 6, 3, 4, 7)) * -2.0 - del x1151 - x1152 = np.zeros((naocc[1], naocc[1], navir[1], navir[1]), dtype=np.float64) - x1152 += einsum(t2.abab[np.ix_(soa,sOb,sva,sVb)], (0, 1, 2, 3), v.aabb.ovOV, (0, 2, 4, 5), (1, 4, 3, 5)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x1152, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 5, 1, 6, 7, 3), (4, 5, 0, 6, 7, 2)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1152, (0, 1, 2, 3), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (4, 5, 1, 6, 7, 3), (4, 5, 0, 6, 7, 2)) * 6.0 - del x1152 - x1153 = np.zeros((naocc[1], navir[1], nvir[1], nvir[1]), dtype=np.float64) - x1153 += einsum(v.bbbb.ovov, (0, 1, 2, 3), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (0, 2, 4, 5, 3, 6), (4, 6, 5, 1)) - x1154 = np.zeros((naocc[1], navir[1], nocc[0], nocc[1], nvir[0], nvir[1]), dtype=np.float64) - x1154 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1153, (4, 5, 6, 3), (4, 5, 0, 1, 2, 6)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x1154, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -3.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x1154, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -3.0 - del x1154 - x1155 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1]), dtype=np.float64) - x1155 += einsum(v.bbbb.ovov, (0, 1, 2, 3), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (4, 2, 5, 1, 3, 6), (5, 6, 4, 0)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1155, (4, 5, 6, 1), (6, 0, 4, 3, 2, 5)) * -6.0 - x1156 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1156 += einsum(v.bbbb.ovov, (0, 1, 2, 3), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (4, 2, 5, 6, 3, 7), (5, 7, 4, 0, 6, 1)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1156, (4, 5, 6, 1, 7, 3), (6, 0, 4, 7, 2, 5)) * 6.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1156, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 6.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1156, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -6.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1156, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -6.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1156, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 6.0 - x1157 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1157 += einsum(v.bbbb.ovov, (0, 1, 2, 3), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (4, 2, 5, 6, 1, 7), (5, 7, 4, 0, 6, 3)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1157, (4, 5, 6, 1, 7, 3), (6, 0, 4, 7, 2, 5)) * -6.0 - x1158 = np.zeros((naocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x1158 += einsum(v.bbbb.ovoV, (0, 1, 2, 3), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (4, 2, 5, 6, 1, 3), (5, 4, 0, 6)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), x1158, (4, 5, 1, 6), (5, 0, 4, 6, 2, 3)) * 6.0 - x1159 = np.zeros((navir[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1159 += einsum(v.bbbb.ovvO, (0, 1, 2, 3), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (4, 0, 3, 5, 2, 6), (6, 4, 5, 1)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), x1159, (4, 5, 6, 3), (5, 0, 1, 6, 2, 4)) * 3.0 - x1160 = np.zeros((navir[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1160 += einsum(v.bbbb.ovvO, (0, 1, 2, 3), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (4, 0, 3, 5, 1, 6), (6, 4, 5, 2)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), x1160, (4, 5, 6, 3), (5, 0, 1, 6, 2, 4)) * -3.0 - x1161 = np.zeros((naocc[0], naocc[1], navir[0], navir[1], nocc[1], nocc[1]), dtype=np.float64) - x1161 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,sVb)], (0, 1, 2, 3), v.aabb.OVov, (4, 5, 6, 2), (4, 1, 5, 3, 0, 6)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (0, 1, 2, 3, 4, 5), x1161, (2, 6, 5, 7, 8, 1), (8, 0, 6, 4, 3, 7)) * -4.0 - del x1161 - x1162 = np.zeros((naocc[0], naocc[1], navir[0], navir[1]), dtype=np.float64) - x1162 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,sVb)], (0, 1, 2, 3), v.aabb.OVov, (4, 5, 0, 2), (4, 1, 5, 3)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x1162, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 5, 0, 6, 7, 2), (5, 4, 1, 7, 6, 3)) * 4.0 - del x1162 - x1163 = np.zeros((naocc[0], naocc[1], navir[0], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x1163 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,svb)], (0, 1, 2, 3), v.aabb.OVov, (4, 5, 6, 3), (4, 1, 5, 0, 6, 2)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t3.abaaba[np.ix_(soa,sob,sOfa,sva,sVb,sVfa)], (0, 1, 2, 3, 4, 5), x1163, (2, 6, 5, 7, 1, 8), (7, 0, 6, 8, 3, 4)) * 4.0 - del x1163 - x1164 = np.zeros((naocc[0], naocc[1], navir[0], nvir[1]), dtype=np.float64) - x1164 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,svb)], (0, 1, 2, 3), v.aabb.OVov, (4, 5, 0, 3), (4, 1, 5, 2)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x1164, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,sVb,sVfa)], (4, 5, 0, 6, 7, 2), (5, 4, 1, 3, 6, 7)) * -4.0 - del x1164 - x1165 = np.zeros((naocc[1], nocc[0], nocc[1], nvir[0]), dtype=np.float64) - x1165 += einsum(v.aabb.OVov, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sOb,sOfa,sva,svb,sVfa)], (4, 5, 0, 6, 3, 1), (5, 4, 2, 6)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), x1165, (4, 5, 1, 6), (0, 5, 4, 2, 6, 3)) * 4.0 - del x1165 - x1166 = np.zeros((naocc[0], navir[0], navir[1], nocc[1]), dtype=np.float64) - x1166 += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), v.aabb.OVov, (4, 5, 1, 2), (4, 5, 3, 0)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x1166, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sOb,sOfa,sva,svb,sVfa)], (4, 5, 0, 6, 7, 1), (3, 4, 5, 7, 6, 2)) * -4.0 - del x1166 - x1167 = np.zeros((naocc[0], navir[0], nocc[1], nvir[1]), dtype=np.float64) - x1167 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), v.aabb.OVov, (4, 5, 1, 3), (4, 5, 0, 2)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x1167, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sOb,sOfa,sva,sVb,sVfa)], (4, 5, 0, 6, 7, 1), (2, 4, 5, 3, 6, 7)) * 4.0 - del x1167 - x1168 = np.zeros((naocc[1], navir[1], nocc[0], nocc[1], nvir[0], nvir[1]), dtype=np.float64) - x1168 += einsum(x18, (0, 1), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (1, 2, 3, 4, 5, 6), (3, 6, 2, 0, 5, 4)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x1168, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x1168, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - del x1168 - x1169 = np.zeros((naocc[1], navir[1], nocc[0], nocc[1], nvir[0], nvir[1]), dtype=np.float64) - x1169 += einsum(v.bbbb.ovov, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (2, 4, 5, 1, 6, 7), (5, 7, 4, 0, 6, 3)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x1169, (4, 5, 6, 1, 7, 3), (0, 6, 4, 2, 7, 5)) * -4.0 - del x1169 - x1170 = np.zeros((naocc[1], navir[1], nocc[0], nocc[1], nvir[0], nvir[1]), dtype=np.float64) - x1170 += einsum(x37, (0, 1), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (2, 1, 3, 4, 5, 6), (3, 6, 0, 2, 5, 4)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x1170, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x1170, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - del x1170 - x1171 = np.zeros((naocc[1], navir[1], nocc[0], nocc[1], nvir[0], nvir[1]), dtype=np.float64) - x1171 += einsum(v.aaaa.ovov, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 2, 5, 6, 1, 7), (5, 7, 0, 4, 3, 6)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x1171, (4, 5, 1, 6, 3, 7), (6, 0, 4, 7, 2, 5)) * -4.0 - x1172 = np.zeros((naocc[1], navir[1], nocc[0], nocc[1], nvir[0], nvir[1]), dtype=np.float64) - x1172 += einsum(x183, (0, 1), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (2, 3, 4, 1, 5, 6), (4, 6, 3, 2, 5, 0)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x1172, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x1172, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - del x1172 - x1173 = np.zeros((naocc[1], navir[1], nocc[0], nocc[1], nvir[0], nvir[1]), dtype=np.float64) - x1173 += einsum(x111, (0, 1), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (2, 3, 4, 5, 1, 6), (4, 6, 3, 2, 0, 5)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x1173, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x1173, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - del x1173 - x1174 = np.zeros((naocc[1], nocc[0], nocc[1], nvir[0]), dtype=np.float64) - x1174 += einsum(v.bbbb.ovoV, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (2, 4, 5, 1, 6, 3), (5, 4, 0, 6)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), x1174, (4, 5, 1, 6), (0, 5, 4, 2, 6, 3)) * 4.0 - del x1174 - x1175 = np.zeros((navir[1], navir[1], nocc[1], nocc[1]), dtype=np.float64) - x1175 += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), v.bbbb.ovoV, (1, 2, 4, 5), (3, 5, 0, 4)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x1175, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (3, 4, 5, 6, 7, 1), (2, 4, 5, 6, 7, 0)) * 4.0 - x1176 = np.zeros((navir[1], navir[1], nocc[1], nocc[1]), dtype=np.float64) - x1176 += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), v.bbbb.ovoV, (4, 2, 1, 5), (3, 5, 0, 4)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x1176, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (3, 4, 5, 6, 7, 1), (2, 4, 5, 6, 7, 0)) * -4.0 - x1177 = np.zeros((navir[1], navir[1], nvir[1], nvir[1]), dtype=np.float64) - x1177 += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), v.bbbb.ovoV, (1, 4, 0, 5), (3, 5, 2, 4)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x1177, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 5, 6, 3, 7, 1), (4, 5, 6, 2, 7, 0)) * 2.0 - x1178 = np.zeros((navir[1], navir[1]), dtype=np.float64) - x1178 += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), v.bbbb.ovoV, (1, 2, 0, 4), (3, 4)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x1178, (0, 1), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 6, 0)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1178, (0, 1), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 6, 0)) * -6.0 - del x1178 - x1179 = np.zeros((navir[1], navir[1]), dtype=np.float64) - x1179 += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), v.bbbb.ovoV, (1, 2, 0, 4), (3, 4)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x1179, (0, 1), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 6, 0)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1179, (0, 1), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 6, 0)) * -6.0 - del x1179 - x1180 = np.zeros((navir[1], nocc[0], nvir[0], nvir[1]), dtype=np.float64) - x1180 += einsum(v.bbbb.ovvO, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (0, 4, 3, 2, 5, 6), (6, 4, 5, 1)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.bbbb[np.ix_(sob,sOb,svb,svb)], (0, 1, 2, 3), x1180, (4, 5, 6, 3), (0, 5, 1, 2, 6, 4)) * 2.0 - del x1180 - x1181 = np.zeros((naocc[1], naocc[1], nocc[1], nocc[1]), dtype=np.float64) - x1181 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,svb)], (0, 1, 2, 3), v.bbbb.ovvO, (4, 3, 2, 5), (1, 5, 0, 4)) * -1.0 - x1182 = np.zeros((naocc[1], navir[1], nocc[0], nocc[1], nvir[0], nvir[1]), dtype=np.float64) - x1182 += einsum(x1181, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (3, 4, 1, 5, 6, 7), (0, 7, 4, 2, 6, 5)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x1182, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x1182, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) - del x1182 - x1183 = np.zeros((navir[1], nocc[0], nvir[0], nvir[1]), dtype=np.float64) - x1183 += einsum(v.bbbb.ovvO, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (0, 4, 3, 1, 5, 6), (6, 4, 5, 2)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.bbbb[np.ix_(sob,sOb,svb,svb)], (0, 1, 2, 3), x1183, (4, 5, 6, 3), (0, 5, 1, 2, 6, 4)) * -2.0 - del x1183 - x1184 = np.zeros((naocc[1], naocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1184 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,svb)], (0, 1, 2, 3), v.bbbb.ovvO, (0, 3, 4, 5), (1, 5, 2, 4)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x1184, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 5, 1, 3, 6, 7), (4, 5, 0, 2, 6, 7)) * 4.0 - x1185 = np.zeros((naocc[1], naocc[1]), dtype=np.float64) - x1185 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,svb)], (0, 1, 2, 3), v.bbbb.ovvO, (0, 3, 2, 4), (1, 4)) * -1.0 - x1186 = np.zeros((naocc[1], navir[1], nocc[0], nocc[1], nvir[0], nvir[1]), dtype=np.float64) - x1186 += einsum(x1185, (0, 1), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (2, 3, 1, 4, 5, 6), (0, 6, 3, 2, 5, 4)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x1186, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x1186, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - del x1186 - x1187 = np.zeros((naocc[1], naocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1187 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,svb)], (0, 1, 2, 3), v.bbbb.ovvO, (0, 4, 3, 5), (1, 5, 2, 4)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x1187, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 5, 1, 3, 6, 7), (4, 5, 0, 2, 6, 7)) * -4.0 - x1188 = np.zeros((naocc[1], naocc[1], navir[1], navir[1], nocc[1], nocc[1]), dtype=np.float64) - x1188 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,sVb)], (0, 1, 2, 3), v.bbbb.ovOV, (4, 2, 5, 6), (1, 5, 3, 6, 0, 4)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (0, 1, 2, 3, 4, 5), x1188, (6, 2, 7, 5, 8, 0), (8, 1, 6, 3, 4, 7)) * -2.0 - x1189 = np.zeros((naocc[1], naocc[1], navir[1], navir[1], nocc[1], nocc[1]), dtype=np.float64) - x1189 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,sVb)], (0, 1, 2, 3), v.bbbb.oVvO, (4, 5, 2, 6), (1, 6, 3, 5, 0, 4)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (0, 1, 2, 3, 4, 5), x1189, (6, 2, 7, 5, 8, 0), (8, 1, 6, 3, 4, 7)) * 2.0 - x1190 = np.zeros((naocc[1], naocc[1], navir[1], navir[1]), dtype=np.float64) - x1190 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,sVb)], (0, 1, 2, 3), v.bbbb.ovOV, (0, 2, 4, 5), (1, 4, 3, 5)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x1190, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 5, 1, 6, 7, 3), (4, 5, 0, 6, 7, 2)) * 4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1190, (0, 1, 2, 3), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (4, 5, 1, 6, 7, 3), (4, 5, 0, 6, 7, 2)) * 12.0 - del x1190 - x1191 = np.zeros((naocc[1], naocc[1], navir[1], navir[1]), dtype=np.float64) - x1191 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,sVb)], (0, 1, 2, 3), v.bbbb.oVvO, (0, 4, 2, 5), (1, 5, 3, 4)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x1191, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 5, 1, 6, 7, 3), (4, 5, 0, 6, 7, 2)) * -4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1191, (0, 1, 2, 3), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (4, 5, 1, 6, 7, 3), (4, 5, 0, 6, 7, 2)) * -12.0 - del x1191 - x1192 = np.zeros((naocc[1], nocc[0], nocc[0], nocc[1]), dtype=np.float64) - x1192 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aabb.ovoO, (2, 1, 3, 4), (4, 0, 2, 3)) - x1193 = np.zeros((naocc[1], nocc[0], nocc[1], nvir[0]), dtype=np.float64) - x1193 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1192, (2, 3, 0, 4), (2, 3, 4, 1)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), x1193, (4, 5, 1, 6), (0, 5, 4, 2, 6, 3)) * 2.0 - del x1193 - x1194 = np.zeros((naocc[1], navir[1], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1194 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,sVb)], (0, 1, 2, 3), x151, (4, 5, 6, 0), (1, 3, 4, 5, 6, 2)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1194, (2, 3, 4, 0, 5, 6), (5, 4, 2, 6, 1, 3)) * 2.0 - del x1194 - x1195 = np.zeros((navir[1], nocc[0], nocc[0], nvir[1]), dtype=np.float64) - x1195 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aabb.ovvV, (2, 1, 3, 4), (4, 0, 2, 3)) - x1196 = np.zeros((naocc[1], navir[1], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1196 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,svb)], (0, 1, 2, 3), x1195, (4, 5, 6, 3), (1, 4, 5, 6, 0, 2)) * -1.0 - del x1195 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1196, (2, 3, 4, 0, 5, 6), (5, 4, 2, 6, 1, 3)) * 2.0 - del x1196 - x1197 = np.zeros((naocc[1], navir[1], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1197 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x915, (2, 3, 4, 5, 1, 6), (2, 3, 0, 4, 5, 6)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1197, (2, 3, 4, 0, 5, 6), (5, 4, 2, 6, 1, 3)) * -2.0 - del x1197 - x1198 = np.zeros((naocc[1], nocc[0], nocc[0], nvir[1]), dtype=np.float64) - x1198 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1192, (2, 3, 4, 0), (2, 3, 4, 1)) - del x1192 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), x1198, (4, 5, 0, 6), (1, 5, 4, 6, 2, 3)) * -1.0 - del x1198 - x1199 = np.zeros((naocc[1], navir[1], nocc[0], nocc[0], nocc[1], nocc[1]), dtype=np.float64) - x1199 += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), v.aabb.ovoO, (4, 2, 5, 6), (6, 3, 0, 4, 1, 5)) * -1.0 - x1200 = np.zeros((naocc[1], navir[1], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1200 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1199, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 6, 1)) - del x1199 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1200, (2, 3, 4, 0, 5, 6), (5, 4, 2, 6, 1, 3)) - del x1200 - x1201 = np.zeros((navir[1], nocc[0], nocc[1], nvir[0]), dtype=np.float64) - x1201 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.aabb.ovvV, (2, 3, 1, 4), (4, 2, 0, 3)) - x1202 = np.zeros((navir[1], nocc[0], nocc[0], nocc[1]), dtype=np.float64) - x1202 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1201, (2, 3, 4, 1), (2, 0, 3, 4)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), x1202, (4, 5, 0, 6), (6, 5, 1, 3, 2, 4)) - del x1202 - x1203 = np.zeros((naocc[1], navir[1], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1203 += einsum(t2.abab[np.ix_(soa,sOb,sva,sVb)], (0, 1, 2, 3), x151, (4, 0, 5, 6), (1, 3, 4, 6, 5, 2)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1203, (2, 3, 4, 0, 5, 6), (5, 4, 2, 1, 6, 3)) - del x1203 - x1204 = np.zeros((naocc[1], navir[1], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1204 += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), x1201, (4, 5, 6, 2), (1, 4, 0, 5, 6, 3)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1204, (2, 3, 4, 0, 5, 6), (5, 4, 2, 6, 1, 3)) * -1.0 - del x1204 - x1205 = np.zeros((naocc[1], navir[1], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1205 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1057, (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 0, 6)) - del x1057 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1205, (2, 3, 4, 0, 5, 6), (5, 4, 2, 6, 1, 3)) * -1.0 - del x1205 - x1206 = np.zeros((naocc[1], navir[1], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1206 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1043, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 6, 1)) - del x1043 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1206, (2, 3, 4, 0, 5, 6), (5, 4, 2, 6, 1, 3)) - del x1206 - x1207 = np.zeros((naocc[1], navir[1], nocc[0], nvir[0]), dtype=np.float64) - x1207 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), v.aabb.ovoO, (2, 3, 0, 4), (4, 1, 2, 3)) - t3new_bbbbbb[np.ix_(sob,sOb,sOfb,svb,sVb,sVfb)] += einsum(x1207, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 2, 5, 6, 3, 7), (4, 5, 0, 6, 7, 1)) * -2.0 - x1208 = np.zeros((naocc[1], navir[1], nocc[0], nocc[0]), dtype=np.float64) - x1208 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1207, (2, 3, 4, 1), (2, 3, 0, 4)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1208, (4, 5, 6, 0), (1, 6, 4, 3, 2, 5)) - del x1208 - x1209 = np.zeros((naocc[1], navir[1], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1209 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1207, (4, 5, 6, 2), (4, 5, 0, 6, 1, 3)) - del x1207 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1209, (2, 3, 4, 0, 5, 6), (5, 4, 2, 6, 1, 3)) - del x1209 - x1210 = np.zeros((navir[1], nocc[0], nocc[1], nvir[0]), dtype=np.float64) - x1210 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), v.aabb.ovoo, (2, 3, 4, 0), (1, 2, 4, 3)) - x1211 = np.zeros((navir[1], nocc[0], nocc[0], nocc[1]), dtype=np.float64) - x1211 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1210, (2, 3, 4, 1), (2, 0, 3, 4)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), x1211, (4, 5, 0, 6), (6, 5, 1, 3, 2, 4)) * -1.0 - del x1211 - x1212 = np.zeros((naocc[1], navir[1], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1212 += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), x1210, (4, 5, 6, 2), (1, 4, 0, 5, 6, 3)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1212, (2, 3, 4, 0, 5, 6), (5, 4, 2, 6, 1, 3)) - del x1212 - x1213 = np.zeros((naocc[1], navir[1], nocc[0], nvir[0]), dtype=np.float64) - x1213 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), v.aabb.ovvV, (2, 3, 1, 4), (0, 4, 2, 3)) - t3new_bbbbbb[np.ix_(sob,sOb,sOfb,svb,sVb,sVfb)] += einsum(x1213, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 2, 5, 6, 3, 7), (4, 5, 0, 6, 7, 1)) * 2.0 - x1214 = np.zeros((naocc[1], navir[1], nocc[0], nocc[0]), dtype=np.float64) - x1214 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1213, (2, 3, 4, 1), (2, 3, 0, 4)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1214, (4, 5, 6, 0), (1, 6, 4, 3, 2, 5)) * -1.0 - del x1214 - x1215 = np.zeros((naocc[1], nocc[0], nvir[0], nvir[1]), dtype=np.float64) - x1215 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), v.aabb.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) - x1216 = np.zeros((naocc[1], nocc[0], nocc[0], nvir[1]), dtype=np.float64) - x1216 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1215, (2, 3, 1, 4), (2, 0, 3, 4)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), x1216, (4, 5, 0, 6), (1, 5, 4, 6, 2, 3)) - del x1216 - x1217 = np.zeros((naocc[1], navir[1], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1217 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1213, (4, 5, 6, 2), (4, 5, 0, 6, 1, 3)) - del x1213 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1217, (2, 3, 4, 0, 5, 6), (5, 4, 2, 6, 1, 3)) * -1.0 - del x1217 - x1218 = np.zeros((naocc[1], navir[1], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1218 += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), x1215, (4, 5, 2, 6), (4, 3, 0, 5, 1, 6)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1218, (2, 3, 4, 0, 5, 6), (5, 4, 2, 6, 1, 3)) * -1.0 - del x1218 - x1219 = np.zeros((naocc[1], navir[1], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1219 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,sVb)], (0, 1, 2, 3), x156, (4, 5, 6, 0), (1, 3, 5, 4, 6, 2)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1219, (2, 3, 0, 4, 5, 6), (5, 4, 2, 6, 1, 3)) * 2.0 - del x1219 - x1220 = np.zeros((naocc[1], navir[1], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1220 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1076, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 6, 1)) - del x1076 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1220, (2, 3, 0, 4, 5, 6), (5, 4, 2, 6, 1, 3)) * 2.0 - del x1220 - x1221 = np.zeros((navir[1], nocc[0], nocc[0], nvir[1]), dtype=np.float64) - x1221 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), v.aabb.ooov, (2, 3, 0, 4), (1, 2, 3, 4)) - x1222 = np.zeros((naocc[1], navir[1], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1222 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,svb)], (0, 1, 2, 3), x1221, (4, 5, 6, 3), (1, 4, 6, 5, 0, 2)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1222, (2, 3, 0, 4, 5, 6), (5, 4, 2, 6, 1, 3)) * -2.0 - del x1222 - x1223 = np.zeros((naocc[1], navir[1], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1223 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1102, (2, 3, 4, 5, 6, 1), (2, 3, 0, 4, 5, 6)) - del x1102 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1223, (2, 3, 4, 5, 0, 6), (5, 4, 2, 1, 6, 3)) * -2.0 - del x1223 - x1224 = np.zeros((navir[1], nvir[0], nvir[0], nvir[1]), dtype=np.float64) - x1224 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), v.aabb.vvov, (2, 3, 0, 4), (1, 2, 3, 4)) - x1225 = np.zeros((navir[1], nocc[0], nvir[0], nvir[1]), dtype=np.float64) - x1225 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1224, (2, 3, 1, 4), (2, 0, 3, 4)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.bbbb[np.ix_(sob,sOb,svb,svb)], (0, 1, 2, 3), x1225, (4, 5, 6, 3), (0, 5, 1, 2, 6, 4)) * -2.0 - del x1225 - x1226 = np.zeros((naocc[1], nocc[0], nocc[0], nocc[1]), dtype=np.float64) - x1226 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), v.aabb.ooov, (2, 3, 4, 1), (0, 2, 3, 4)) - x1227 = np.zeros((naocc[1], nocc[0], nocc[1], nvir[0]), dtype=np.float64) - x1227 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1226, (2, 3, 0, 4), (2, 3, 4, 1)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), x1227, (4, 5, 1, 6), (0, 5, 4, 2, 6, 3)) * 2.0 - del x1227 - x1228 = np.zeros((naocc[1], nocc[1], nvir[0], nvir[0]), dtype=np.float64) - x1228 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), v.aabb.vvov, (2, 3, 4, 1), (0, 4, 2, 3)) - x1229 = np.zeros((naocc[1], nocc[0], nocc[1], nvir[0]), dtype=np.float64) - x1229 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1228, (2, 3, 4, 1), (2, 0, 3, 4)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), x1229, (4, 5, 1, 6), (0, 5, 4, 2, 6, 3)) * -2.0 - del x1229 - x1230 = np.zeros((naocc[1], nocc[1], nocc[1], nocc[1]), dtype=np.float64) - x1230 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.bbbb.ovoO, (2, 1, 3, 4), (4, 0, 3, 2)) - x1231 = np.zeros((naocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x1231 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1230, (2, 3, 4, 0), (2, 3, 4, 1)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), x1231, (4, 5, 1, 6), (5, 0, 4, 6, 2, 3)) - x1232 = np.zeros((naocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x1232 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1230, (2, 3, 0, 4), (2, 3, 4, 1)) - del x1230 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), x1232, (4, 5, 1, 6), (5, 0, 4, 6, 2, 3)) * -1.0 - x1233 = np.zeros((naocc[1], navir[1], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1233 += einsum(t2.abab[np.ix_(soa,sOb,sva,sVb)], (0, 1, 2, 3), x156, (4, 0, 5, 6), (1, 3, 4, 5, 6, 2)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1233, (2, 3, 4, 5, 0, 6), (5, 4, 2, 1, 6, 3)) - del x1233 - x1234 = np.zeros((navir[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x1234 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.bbbb.ovvV, (2, 1, 3, 4), (4, 0, 2, 3)) - x1235 = np.zeros((naocc[1], navir[1], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1235 += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), x1234, (4, 5, 6, 3), (1, 4, 0, 5, 6, 2)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1235, (2, 3, 4, 5, 0, 6), (5, 4, 2, 1, 6, 3)) - del x1235 - x1236 = np.zeros((navir[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x1236 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.bbbb.ovvV, (2, 3, 1, 4), (4, 0, 2, 3)) - x1237 = np.zeros((naocc[1], navir[1], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1237 += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), x1236, (4, 5, 6, 3), (1, 4, 0, 5, 6, 2)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1237, (2, 3, 4, 5, 0, 6), (5, 4, 2, 1, 6, 3)) * -1.0 - del x1237 - x1238 = np.zeros((naocc[1], navir[1], nocc[1], nvir[1]), dtype=np.float64) - x1238 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), v.bbbb.ovoO, (0, 2, 3, 4), (4, 1, 3, 2)) - x1239 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1]), dtype=np.float64) - x1239 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1238, (2, 3, 4, 1), (2, 3, 0, 4)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1239, (4, 5, 6, 1), (6, 0, 4, 3, 2, 5)) * -1.0 - x1240 = np.zeros((naocc[1], navir[1], nocc[1], nvir[1]), dtype=np.float64) - x1240 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), v.bbbb.ovoO, (2, 3, 0, 4), (4, 1, 2, 3)) - x1241 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1]), dtype=np.float64) - x1241 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1240, (2, 3, 4, 1), (2, 3, 0, 4)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1241, (4, 5, 6, 1), (6, 0, 4, 3, 2, 5)) - x1242 = np.zeros((naocc[1], navir[1], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1242 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1240, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1242, (2, 3, 4, 5, 0, 6), (5, 4, 2, 1, 6, 3)) - del x1242 - x1243 = np.zeros((naocc[1], navir[1], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1243 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1238, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1243, (2, 3, 4, 5, 0, 6), (5, 4, 2, 1, 6, 3)) * -1.0 - del x1243 - x1244 = np.zeros((navir[1], nocc[0], nocc[0], nocc[1]), dtype=np.float64) - x1244 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1221, (2, 3, 4, 1), (2, 4, 3, 0)) - del x1221 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), x1244, (4, 0, 5, 6), (6, 5, 1, 3, 2, 4)) * -1.0 - del x1244 - x1245 = np.zeros((navir[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x1245 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), v.bbbb.ooov, (2, 3, 0, 4), (1, 2, 3, 4)) - x1246 = np.zeros((naocc[1], navir[1], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1246 += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), x1245, (4, 5, 6, 3), (1, 4, 0, 6, 5, 2)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1246, (2, 3, 4, 0, 5, 6), (5, 4, 2, 1, 6, 3)) * -1.0 - del x1246 - x1247 = np.zeros((navir[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x1247 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), v.bbbb.ooov, (2, 0, 3, 4), (1, 2, 3, 4)) - x1248 = np.zeros((naocc[1], navir[1], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1248 += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), x1247, (4, 5, 6, 3), (1, 4, 0, 5, 6, 2)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1248, (2, 3, 4, 5, 0, 6), (5, 4, 2, 1, 6, 3)) - del x1248 - x1249 = np.zeros((navir[1], nvir[1], nvir[1], nvir[1]), dtype=np.float64) - x1249 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), v.bbbb.ovvv, (0, 2, 3, 4), (1, 2, 3, 4)) - x1250 = np.zeros((navir[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1250 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1249, (2, 1, 3, 4), (2, 0, 4, 3)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), x1250, (4, 5, 3, 6), (5, 0, 1, 6, 2, 4)) - x1251 = np.zeros((navir[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1251 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1249, (2, 3, 4, 1), (2, 0, 3, 4)) - del x1249 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), x1251, (4, 5, 3, 6), (5, 0, 1, 6, 2, 4)) * -1.0 - x1252 = np.zeros((naocc[1], navir[1], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1252 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x914, (2, 3, 4, 5, 6, 1), (2, 3, 4, 0, 5, 6)) - del x914 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1252, (2, 3, 4, 5, 0, 6), (5, 4, 2, 1, 6, 3)) * -1.0 - del x1252 - x1253 = np.zeros((navir[1], nocc[1], nvir[0], nvir[0]), dtype=np.float64) - x1253 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1224, (2, 3, 4, 1), (2, 0, 4, 3)) - del x1224 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), x1253, (4, 5, 2, 6), (5, 0, 1, 3, 6, 4)) - del x1253 - x1254 = np.zeros((naocc[1], nocc[1], nocc[1], nocc[1]), dtype=np.float64) - x1254 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), v.bbbb.ooov, (2, 3, 4, 1), (0, 2, 3, 4)) - x1255 = np.zeros((naocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x1255 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1254, (2, 3, 0, 4), (2, 3, 4, 1)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), x1255, (4, 5, 1, 6), (5, 0, 4, 6, 2, 3)) - x1256 = np.zeros((naocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x1256 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1254, (2, 3, 4, 0), (2, 4, 3, 1)) - del x1254 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), x1256, (4, 1, 5, 6), (5, 0, 4, 6, 2, 3)) * -1.0 - x1257 = np.zeros((naocc[1], nocc[0], nocc[0], nvir[1]), dtype=np.float64) - x1257 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1226, (2, 3, 4, 0), (2, 4, 3, 1)) - del x1226 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), x1257, (4, 0, 5, 6), (1, 5, 4, 6, 2, 3)) * -1.0 - del x1257 - x1258 = np.zeros((naocc[1], navir[1], nocc[1], nvir[1]), dtype=np.float64) - x1258 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), v.bbbb.ovvV, (2, 3, 1, 4), (0, 4, 2, 3)) - x1259 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1]), dtype=np.float64) - x1259 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1258, (2, 3, 4, 1), (2, 3, 0, 4)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1259, (4, 5, 6, 1), (6, 0, 4, 3, 2, 5)) * -1.0 - x1260 = np.zeros((naocc[1], navir[1], nocc[1], nvir[1]), dtype=np.float64) - x1260 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), v.bbbb.ovvV, (2, 1, 3, 4), (0, 4, 2, 3)) - x1261 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1]), dtype=np.float64) - x1261 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1260, (2, 3, 4, 1), (2, 3, 0, 4)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1261, (4, 5, 6, 1), (6, 0, 4, 3, 2, 5)) - x1262 = np.zeros((naocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1262 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), v.bbbb.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) - x1263 = np.zeros((naocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x1263 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1262, (2, 3, 1, 4), (2, 0, 3, 4)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), x1263, (4, 5, 1, 6), (5, 0, 4, 6, 2, 3)) - x1264 = np.zeros((naocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1264 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), v.bbbb.ovvv, (2, 1, 3, 4), (0, 2, 3, 4)) - x1265 = np.zeros((naocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x1265 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1264, (2, 3, 4, 1), (2, 0, 3, 4)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), x1265, (4, 5, 1, 6), (5, 0, 4, 6, 2, 3)) * -1.0 - x1266 = np.zeros((naocc[1], navir[1], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1266 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1260, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1266, (2, 3, 4, 5, 0, 6), (5, 4, 2, 1, 6, 3)) - del x1266 - x1267 = np.zeros((naocc[1], navir[1], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1267 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1258, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1267, (2, 3, 4, 5, 0, 6), (5, 4, 2, 1, 6, 3)) * -1.0 - del x1267 - x1268 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1]), dtype=np.float64) - x1268 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), t1.bb[np.ix_(sOb,svb)], (2, 3), v.bbbb.ooov, (4, 0, 5, 3), (2, 1, 4, 5)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1268, (4, 5, 6, 1), (6, 0, 4, 3, 2, 5)) * -1.0 - x1269 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1]), dtype=np.float64) - x1269 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), t1.bb[np.ix_(sOb,svb)], (2, 3), v.bbbb.ooov, (4, 5, 0, 3), (2, 1, 4, 5)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1269, (4, 5, 1, 6), (6, 0, 4, 3, 2, 5)) - x1270 = np.zeros((naocc[1], navir[1], nocc[0], nocc[0]), dtype=np.float64) - x1270 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), t1.bb[np.ix_(sOb,svb)], (2, 3), v.aabb.ooov, (4, 5, 0, 3), (2, 1, 4, 5)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1270, (4, 5, 0, 6), (1, 6, 4, 3, 2, 5)) - del x1270 - x1271 = np.zeros((naocc[1], navir[1], nvir[1], nvir[1]), dtype=np.float64) - x1271 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), t1.bb[np.ix_(sOb,svb)], (2, 3), v.bbbb.ovvv, (0, 3, 4, 5), (2, 1, 4, 5)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1271, (4, 5, 3, 6), (1, 0, 4, 6, 2, 5)) * -1.0 - x1272 = np.zeros((naocc[1], navir[1], nvir[1], nvir[1]), dtype=np.float64) - x1272 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), t1.bb[np.ix_(sOb,svb)], (2, 3), v.bbbb.ovvv, (0, 4, 5, 3), (2, 1, 4, 5)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1272, (4, 5, 3, 6), (1, 0, 4, 6, 2, 5)) - x1273 = np.zeros((naocc[1], navir[1], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1273 += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), x1228, (4, 5, 6, 2), (4, 3, 0, 1, 5, 6)) * -1.0 - del x1228 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1273, (2, 3, 4, 5, 0, 6), (5, 4, 2, 1, 6, 3)) * -1.0 - del x1273 - x1274 = np.zeros((naocc[1], navir[1], nvir[0], nvir[0]), dtype=np.float64) - x1274 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), t1.bb[np.ix_(sOb,svb)], (2, 3), v.aabb.vvov, (4, 5, 0, 3), (2, 1, 4, 5)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1274, (4, 5, 2, 6), (1, 0, 4, 3, 6, 5)) * -1.0 - del x1274 - x1275 = np.zeros((naocc[1], navir[1], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1275 += einsum(x35, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 1, 5, 6, 3, 7), (5, 7, 0, 2, 4, 6)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1275, (2, 3, 4, 0, 5, 6), (5, 4, 2, 6, 1, 3)) * -2.0 - del x1275 - x1276 = np.zeros((naocc[1], navir[1], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1276 += einsum(x35, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 2, 5, 6, 3, 7), (5, 7, 0, 1, 4, 6)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1276, (2, 3, 4, 0, 5, 6), (5, 4, 2, 6, 1, 3)) * 2.0 - del x1276 - x1277 = np.zeros((naocc[1], navir[1], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1277 += einsum(x11, (0, 1), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (2, 3, 4, 5, 1, 6), (4, 6, 3, 0, 2, 5)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1277, (2, 3, 4, 0, 5, 6), (5, 4, 2, 6, 1, 3)) * -2.0 - del x1277 - x1278 = np.zeros((naocc[1], navir[1], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1278 += einsum(x12, (0, 1), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (2, 3, 4, 5, 1, 6), (4, 6, 3, 0, 2, 5)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1278, (2, 3, 4, 0, 5, 6), (5, 4, 2, 6, 1, 3)) * 2.0 - del x1278 - x1279 = np.zeros((naocc[1], navir[1], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1279 += einsum(x33, (0, 1, 2, 3), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (4, 2, 5, 6, 3, 7), (5, 7, 0, 1, 4, 6)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1279, (2, 3, 4, 0, 5, 6), (5, 4, 2, 6, 1, 3)) * -6.0 - del x1279 - x1280 = np.zeros((naocc[1], navir[1], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1280 += einsum(x33, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 1, 5, 3, 6, 7), (5, 7, 0, 4, 2, 6)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1280, (2, 3, 4, 5, 0, 6), (5, 4, 2, 1, 6, 3)) * 2.0 - del x1280 - x1281 = np.zeros((naocc[1], navir[1], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1281 += einsum(x13, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (2, 4, 5, 6, 3, 7), (5, 7, 4, 0, 1, 6)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1281, (2, 3, 4, 0, 5, 6), (5, 4, 2, 6, 1, 3)) * 2.0 - del x1281 - x1282 = np.zeros((naocc[1], navir[1], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1282 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1137, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 6, 1)) - del x1137 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1282, (2, 3, 4, 0, 5, 6), (5, 4, 2, 6, 1, 3)) * 2.0 - del x1282 - x1283 = np.zeros((naocc[1], navir[1], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1283 += einsum(x15, (0, 1), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (2, 3, 4, 5, 1, 6), (4, 6, 3, 0, 2, 5)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1283, (2, 3, 4, 0, 5, 6), (5, 4, 2, 6, 1, 3)) * -2.0 - del x1283 - x1284 = np.zeros((naocc[1], navir[1], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1284 += einsum(x0, (0, 1), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (2, 3, 4, 1, 5, 6), (4, 6, 3, 2, 0, 5)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1284, (2, 3, 4, 5, 0, 6), (5, 4, 2, 1, 6, 3)) * -2.0 - del x1284 - x1285 = np.zeros((navir[1], navir[1], nocc[0], nvir[0]), dtype=np.float64) - x1285 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), v.aabb.ovoV, (2, 3, 0, 4), (1, 4, 2, 3)) - x1286 = np.zeros((navir[1], navir[1], nocc[0], nocc[0]), dtype=np.float64) - x1286 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1285, (2, 3, 4, 1), (2, 3, 0, 4)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x1286, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 3, 5, 6, 7, 1), (4, 2, 5, 6, 7, 0)) * 2.0 - del x1286 - x1287 = np.zeros((naocc[1], navir[1], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1287 += einsum(x1285, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 5, 6, 7, 3, 1), (6, 0, 5, 2, 4, 7)) - del x1285 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1287, (2, 3, 4, 0, 5, 6), (5, 4, 2, 6, 1, 3)) * 2.0 - del x1287 - x1288 = np.zeros((navir[1], nocc[1]), dtype=np.float64) - x1288 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aabb.ovoV, (0, 1, 2, 3), (3, 2)) - x1289 = np.zeros((navir[1], navir[1]), dtype=np.float64) - x1289 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), x1288, (2, 0), (1, 2)) - del x1288 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x1289, (0, 1), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 6, 0)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1289, (0, 1), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 6, 0)) * -6.0 - del x1289 - x1290 = np.zeros((naocc[1], naocc[1], nocc[0], nvir[0]), dtype=np.float64) - x1290 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), v.aabb.ovvO, (2, 3, 1, 4), (0, 4, 2, 3)) - x1291 = np.zeros((naocc[1], naocc[1], nocc[0], nocc[0]), dtype=np.float64) - x1291 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1290, (2, 3, 4, 1), (2, 3, 0, 4)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x1291, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 3, 1, 5, 6, 7), (4, 2, 0, 5, 6, 7)) * 2.0 - del x1291 - x1292 = np.zeros((naocc[1], navir[1], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1292 += einsum(x1290, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 5, 1, 6, 3, 7), (0, 7, 5, 2, 4, 6)) - del x1290 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1292, (2, 3, 4, 0, 5, 6), (5, 4, 2, 6, 1, 3)) * 2.0 - del x1292 - x1293 = np.zeros((naocc[1], nvir[1]), dtype=np.float64) - x1293 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aabb.ovvO, (0, 1, 2, 3), (3, 2)) - x1294 = np.zeros((naocc[1], naocc[1]), dtype=np.float64) - x1294 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), x1293, (2, 1), (0, 2)) - del x1293 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x1294, (0, 1), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (2, 3, 1, 4, 5, 6), (2, 3, 0, 4, 5, 6)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1294, (0, 1), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (2, 3, 1, 4, 5, 6), (2, 3, 0, 4, 5, 6)) * -6.0 - del x1294 - x1295 = np.zeros((naocc[0], naocc[1], navir[0], nocc[1]), dtype=np.float64) - x1295 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), v.aabb.OVov, (2, 3, 4, 1), (2, 0, 3, 4)) - x1296 = np.zeros((naocc[0], naocc[1], navir[0], navir[1]), dtype=np.float64) - x1296 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), x1295, (2, 3, 4, 0), (2, 3, 4, 1)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x1296, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 5, 0, 6, 7, 2), (5, 4, 1, 7, 6, 3)) * -2.0 - del x1296 - x1297 = np.zeros((naocc[0], naocc[1], navir[0], nvir[1]), dtype=np.float64) - x1297 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1295, (2, 3, 4, 0), (2, 3, 4, 1)) - del x1295 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x1297, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,sVb,sVfa)], (4, 5, 0, 6, 7, 2), (5, 4, 1, 3, 6, 7)) * 2.0 - del x1297 - x1298 = np.zeros((naocc[0], navir[0], navir[1], nvir[1]), dtype=np.float64) - x1298 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), v.aabb.OVov, (2, 3, 0, 4), (2, 3, 1, 4)) - x1299 = np.zeros((naocc[0], navir[0], navir[1], nocc[1]), dtype=np.float64) - x1299 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1298, (2, 3, 4, 1), (2, 3, 4, 0)) - del x1298 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x1299, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sOb,sOfa,sva,svb,sVfa)], (4, 5, 0, 6, 7, 1), (3, 4, 5, 7, 6, 2)) * 2.0 - del x1299 - x1300 = np.zeros((naocc[0], navir[0], nocc[1], nvir[1]), dtype=np.float64) - x1300 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x169, (2, 3, 4, 0), (2, 3, 4, 1)) - del x169 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x1300, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sOb,sOfa,sva,sVb,sVfa)], (4, 5, 0, 6, 7, 1), (2, 4, 5, 3, 6, 7)) * -2.0 - del x1300 - x1301 = np.zeros((naocc[1], navir[1], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1301 += einsum(x16, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (1, 4, 5, 3, 6, 7), (5, 7, 4, 0, 2, 6)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1301, (2, 3, 4, 5, 0, 6), (5, 4, 2, 1, 6, 3)) * -2.0 - del x1301 - x1302 = np.zeros((naocc[1], navir[1], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1302 += einsum(x16, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (2, 4, 5, 3, 6, 7), (5, 7, 4, 0, 1, 6)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1302, (2, 3, 4, 5, 0, 6), (5, 4, 2, 1, 6, 3)) * 2.0 - del x1302 - x1303 = np.zeros((naocc[1], navir[1], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1303 += einsum(x1, (0, 1), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (2, 3, 4, 1, 5, 6), (4, 6, 3, 2, 0, 5)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1303, (2, 3, 4, 5, 0, 6), (5, 4, 2, 1, 6, 3)) * -2.0 - del x1303 - x1304 = np.zeros((naocc[1], navir[1], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1304 += einsum(x20, (0, 1), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (2, 3, 4, 1, 5, 6), (4, 6, 3, 2, 0, 5)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1304, (2, 3, 4, 5, 0, 6), (5, 4, 2, 1, 6, 3)) * 2.0 - del x1304 - x1305 = np.zeros((navir[1], navir[1], nocc[1], nvir[1]), dtype=np.float64) - x1305 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), v.bbbb.ovoV, (0, 2, 3, 4), (1, 4, 3, 2)) - x1306 = np.zeros((navir[1], navir[1], nocc[1], nocc[1]), dtype=np.float64) - x1306 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1305, (2, 3, 4, 1), (2, 3, 0, 4)) - del x1305 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x1306, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (3, 4, 5, 6, 7, 1), (2, 4, 5, 6, 7, 0)) * -2.0 - x1307 = np.zeros((navir[1], navir[1], nocc[1], nvir[1]), dtype=np.float64) - x1307 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), v.bbbb.ovoV, (2, 3, 0, 4), (1, 4, 2, 3)) - x1308 = np.zeros((navir[1], navir[1], nocc[1], nocc[1]), dtype=np.float64) - x1308 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1307, (2, 3, 4, 1), (2, 3, 0, 4)) - del x1307 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x1308, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (3, 4, 5, 6, 7, 1), (2, 4, 5, 6, 7, 0)) * 2.0 - x1309 = np.zeros((navir[1], navir[1], nocc[1], nvir[1]), dtype=np.float64) - x1309 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), v.bbbb.ovoV, (2, 3, 0, 4), (1, 4, 2, 3)) - x1310 = np.zeros((naocc[1], navir[1], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1310 += einsum(x1309, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 5, 6, 3, 7, 1), (6, 0, 5, 4, 2, 7)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1310, (2, 3, 4, 5, 0, 6), (5, 4, 2, 1, 6, 3)) * 2.0 - del x1310 - x1311 = np.zeros((navir[1], nocc[1]), dtype=np.float64) - x1311 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.bbbb.ovoV, (0, 1, 2, 3), (3, 2)) - x1312 = np.zeros((navir[1], navir[1]), dtype=np.float64) - x1312 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), x1311, (2, 0), (1, 2)) - del x1311 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x1312, (0, 1), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 6, 0)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1312, (0, 1), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 6, 0)) * -6.0 - del x1312 - x1313 = np.zeros((navir[1], nocc[1]), dtype=np.float64) - x1313 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.bbbb.ovoV, (2, 1, 0, 3), (3, 2)) - x1314 = np.zeros((navir[1], navir[1]), dtype=np.float64) - x1314 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), x1313, (2, 0), (1, 2)) - del x1313 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x1314, (0, 1), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 6, 0)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1314, (0, 1), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 6, 0)) * 6.0 - del x1314 - x1315 = np.zeros((naocc[1], naocc[1], nocc[1], nvir[1]), dtype=np.float64) - x1315 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), v.bbbb.ovvO, (2, 3, 1, 4), (0, 4, 2, 3)) - x1316 = np.zeros((naocc[1], naocc[1], nocc[1], nocc[1]), dtype=np.float64) - x1316 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1315, (2, 3, 4, 1), (2, 3, 0, 4)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x1316, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (3, 4, 1, 5, 6, 7), (2, 4, 0, 5, 6, 7)) - x1317 = np.zeros((naocc[1], naocc[1], nocc[1], nvir[1]), dtype=np.float64) - x1317 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), v.bbbb.ovvO, (2, 1, 3, 4), (0, 4, 2, 3)) - x1318 = np.zeros((naocc[1], naocc[1], nocc[1], nocc[1]), dtype=np.float64) - x1318 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1317, (2, 3, 4, 1), (2, 3, 0, 4)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x1318, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (3, 4, 1, 5, 6, 7), (2, 4, 0, 5, 6, 7)) * -1.0 - x1319 = np.zeros((naocc[1], navir[1], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1319 += einsum(x1317, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 5, 1, 3, 6, 7), (0, 7, 5, 4, 2, 6)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1319, (2, 3, 4, 5, 0, 6), (5, 4, 2, 1, 6, 3)) * -2.0 - del x1319 - x1320 = np.zeros((naocc[1], navir[1], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1320 += einsum(x1315, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 5, 1, 3, 6, 7), (0, 7, 5, 4, 2, 6)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1320, (2, 3, 4, 5, 0, 6), (5, 4, 2, 1, 6, 3)) * 2.0 - del x1320 - x1321 = np.zeros((naocc[1], nvir[1]), dtype=np.float64) - x1321 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.bbbb.ovvO, (0, 1, 2, 3), (3, 2)) - x1322 = np.zeros((naocc[1], naocc[1]), dtype=np.float64) - x1322 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), x1321, (2, 1), (0, 2)) - del x1321 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x1322, (0, 1), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (2, 3, 1, 4, 5, 6), (2, 3, 0, 4, 5, 6)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1322, (0, 1), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (2, 3, 1, 4, 5, 6), (2, 3, 0, 4, 5, 6)) * -6.0 - del x1322 - x1323 = np.zeros((naocc[1], nvir[1]), dtype=np.float64) - x1323 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.bbbb.ovvO, (0, 2, 1, 3), (3, 2)) - x1324 = np.zeros((naocc[1], naocc[1]), dtype=np.float64) - x1324 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), x1323, (2, 1), (0, 2)) - del x1323 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x1324, (0, 1), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (2, 3, 1, 4, 5, 6), (2, 3, 0, 4, 5, 6)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1324, (0, 1), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (2, 3, 1, 4, 5, 6), (2, 3, 0, 4, 5, 6)) * 6.0 - del x1324 - x1325 = np.zeros((naocc[1], naocc[1], navir[1], nocc[1]), dtype=np.float64) - x1325 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), v.bbbb.ovOV, (2, 1, 3, 4), (0, 3, 4, 2)) - x1326 = np.zeros((naocc[1], naocc[1], navir[1], navir[1]), dtype=np.float64) - x1326 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), x1325, (2, 3, 4, 0), (2, 3, 1, 4)) - del x1325 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x1326, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 5, 1, 6, 7, 3), (4, 5, 0, 6, 7, 2)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1326, (0, 1, 2, 3), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (4, 5, 1, 6, 7, 3), (4, 5, 0, 6, 7, 2)) * -6.0 - del x1326 - x1327 = np.zeros((naocc[1], naocc[1], navir[1], nocc[1]), dtype=np.float64) - x1327 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), v.bbbb.oVvO, (2, 3, 1, 4), (0, 4, 3, 2)) - x1328 = np.zeros((naocc[1], naocc[1], navir[1], navir[1]), dtype=np.float64) - x1328 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), x1327, (2, 3, 4, 0), (2, 3, 1, 4)) - del x1327 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x1328, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 5, 1, 6, 7, 3), (4, 5, 0, 6, 7, 2)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1328, (0, 1, 2, 3), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (4, 5, 1, 6, 7, 3), (4, 5, 0, 6, 7, 2)) * 6.0 - del x1328 - x1329 = np.zeros((naocc[1], navir[1], nocc[0], nvir[0]), dtype=np.float64) - x1329 += einsum(t2.abab[np.ix_(soa,sOb,sva,sVb)], (0, 1, 2, 3), v.aaaa.ovov, (4, 5, 0, 2), (1, 3, 4, 5)) - t3new_bbbbbb[np.ix_(sob,sOb,sOfb,svb,sVb,sVfb)] += einsum(x1329, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 2, 5, 6, 3, 7), (4, 5, 0, 6, 7, 1)) * 2.0 - x1330 = np.zeros((naocc[1], navir[1], nocc[0], nocc[0]), dtype=np.float64) - x1330 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1329, (2, 3, 4, 1), (2, 3, 0, 4)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1330, (4, 5, 6, 0), (1, 6, 4, 3, 2, 5)) * -1.0 - del x1330 - x1331 = np.zeros((naocc[1], navir[1], nocc[0], nvir[0]), dtype=np.float64) - x1331 += einsum(t2.abab[np.ix_(soa,sOb,sva,sVb)], (0, 1, 2, 3), v.aaaa.ovov, (4, 2, 0, 5), (1, 3, 4, 5)) - t3new_bbbbbb[np.ix_(sob,sOb,sOfb,svb,sVb,sVfb)] += einsum(x1331, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 2, 5, 6, 3, 7), (4, 5, 0, 6, 7, 1)) * -2.0 - x1332 = np.zeros((naocc[1], navir[1], nocc[0], nocc[0]), dtype=np.float64) - x1332 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1331, (2, 3, 4, 1), (2, 3, 0, 4)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1332, (4, 5, 6, 0), (1, 6, 4, 3, 2, 5)) - del x1332 - x1333 = np.zeros((naocc[1], nocc[0], nocc[0], nvir[1]), dtype=np.float64) - x1333 += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), x35, (4, 0, 5, 2), (1, 4, 5, 3)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), x1333, (4, 5, 0, 6), (1, 5, 4, 6, 2, 3)) * -1.0 - del x1333 - x1334 = np.zeros((navir[1], nocc[0], nocc[1], nvir[0]), dtype=np.float64) - x1334 += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), v.aaaa.ovov, (4, 2, 0, 5), (3, 4, 1, 5)) * -1.0 - x1335 = np.zeros((navir[1], nocc[0], nocc[0], nocc[1]), dtype=np.float64) - x1335 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1334, (2, 3, 4, 1), (2, 0, 3, 4)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), x1335, (4, 5, 0, 6), (6, 5, 1, 3, 2, 4)) - del x1335 - x1336 = np.zeros((naocc[1], nocc[0], nocc[0], nvir[1]), dtype=np.float64) - x1336 += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), x35, (4, 5, 0, 2), (1, 4, 5, 3)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), x1336, (4, 5, 0, 6), (1, 5, 4, 6, 2, 3)) - del x1336 - x1337 = np.zeros((navir[1], nocc[0], nocc[1], nvir[0]), dtype=np.float64) - x1337 += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), v.aaaa.ovov, (4, 5, 0, 2), (3, 4, 1, 5)) * -1.0 - x1338 = np.zeros((navir[1], nocc[0], nocc[0], nocc[1]), dtype=np.float64) - x1338 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1337, (2, 3, 4, 1), (2, 0, 3, 4)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), x1338, (4, 5, 0, 6), (6, 5, 1, 3, 2, 4)) * -1.0 - del x1338 - x1339 = np.zeros((naocc[1], navir[1], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1339 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1329, (4, 5, 6, 2), (4, 5, 0, 6, 1, 3)) - del x1329 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1339, (2, 3, 4, 0, 5, 6), (5, 4, 2, 6, 1, 3)) * -1.0 - del x1339 - x1340 = np.zeros((naocc[1], navir[1], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1340 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1331, (4, 5, 6, 2), (4, 5, 0, 6, 1, 3)) - del x1331 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1340, (2, 3, 4, 0, 5, 6), (5, 4, 2, 6, 1, 3)) - del x1340 - x1341 = np.zeros((naocc[1], navir[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x1341 += einsum(t2.abab[np.ix_(soa,sOb,sva,sVb)], (0, 1, 2, 3), v.aaaa.ovov, (4, 5, 6, 2), (1, 3, 0, 4, 6, 5)) - x1342 = np.zeros((naocc[1], navir[1], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1342 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1341, (4, 5, 6, 7, 0, 2), (4, 5, 6, 7, 1, 3)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1342, (2, 3, 4, 0, 5, 6), (5, 4, 2, 6, 1, 3)) - del x1342 - x1343 = np.zeros((naocc[1], navir[1], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1343 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1341, (4, 5, 6, 0, 7, 2), (4, 5, 6, 7, 1, 3)) - del x1341 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1343, (2, 3, 4, 0, 5, 6), (5, 4, 2, 6, 1, 3)) * -1.0 - del x1343 - x1344 = np.zeros((naocc[1], nocc[0], nvir[0], nvir[1]), dtype=np.float64) - x1344 += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), v.aaaa.ovov, (4, 5, 0, 2), (1, 4, 5, 3)) * -1.0 - x1345 = np.zeros((naocc[1], navir[1], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1345 += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), x1344, (4, 5, 2, 6), (4, 3, 0, 5, 1, 6)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1345, (2, 3, 4, 0, 5, 6), (5, 4, 2, 6, 1, 3)) - del x1345 - x1346 = np.zeros((naocc[1], nocc[0], nvir[0], nvir[1]), dtype=np.float64) - x1346 += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), v.aaaa.ovov, (4, 2, 0, 5), (1, 4, 5, 3)) * -1.0 - x1347 = np.zeros((naocc[1], navir[1], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1347 += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), x1346, (4, 5, 2, 6), (4, 3, 0, 5, 1, 6)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1347, (2, 3, 4, 0, 5, 6), (5, 4, 2, 6, 1, 3)) * -1.0 - del x1347 - x1348 = np.zeros((naocc[1], navir[1], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1348 += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), x1334, (4, 5, 6, 2), (1, 4, 0, 5, 6, 3)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1348, (2, 3, 4, 0, 5, 6), (5, 4, 2, 6, 1, 3)) * -1.0 - del x1348 - x1349 = np.zeros((naocc[1], navir[1], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1349 += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), x1337, (4, 5, 6, 2), (1, 4, 0, 5, 6, 3)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1349, (2, 3, 4, 0, 5, 6), (5, 4, 2, 6, 1, 3)) - del x1349 - x1350 = np.zeros((naocc[1], navir[1], nocc[0], nocc[0]), dtype=np.float64) - x1350 += einsum(x11, (0, 1), t2.abab[np.ix_(soa,sOb,sva,sVb)], (2, 3, 1, 4), (3, 4, 2, 0)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1350, (4, 5, 6, 0), (1, 6, 4, 3, 2, 5)) * -1.0 - del x1350 - x1351 = np.zeros((naocc[1], navir[1], nocc[0], nocc[0]), dtype=np.float64) - x1351 += einsum(x12, (0, 1), t2.abab[np.ix_(soa,sOb,sva,sVb)], (2, 3, 1, 4), (3, 4, 2, 0)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1351, (4, 5, 6, 0), (1, 6, 4, 3, 2, 5)) - del x1351 - x1352 = np.zeros((navir[1], nocc[0], nocc[0], nocc[1]), dtype=np.float64) - x1352 += einsum(x11, (0, 1), t2.abab[np.ix_(soa,sob,sva,sVb)], (2, 3, 1, 4), (4, 2, 0, 3)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), x1352, (4, 5, 0, 6), (6, 5, 1, 3, 2, 4)) * -1.0 - del x1352 - x1353 = np.zeros((navir[1], nocc[0], nocc[0], nocc[1]), dtype=np.float64) - x1353 += einsum(x12, (0, 1), t2.abab[np.ix_(soa,sob,sva,sVb)], (2, 3, 1, 4), (4, 2, 0, 3)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), x1353, (4, 5, 0, 6), (6, 5, 1, 3, 2, 4)) - del x1353 - x1354 = np.zeros((naocc[1], nocc[0], nocc[0], nvir[1]), dtype=np.float64) - x1354 += einsum(x11, (0, 1), t2.abab[np.ix_(soa,sOb,sva,svb)], (2, 3, 1, 4), (3, 2, 0, 4)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), x1354, (4, 5, 0, 6), (1, 5, 4, 6, 2, 3)) * -1.0 - del x1354 - x1355 = np.zeros((naocc[1], nocc[0], nocc[0], nvir[1]), dtype=np.float64) - x1355 += einsum(x12, (0, 1), t2.abab[np.ix_(soa,sOb,sva,svb)], (2, 3, 1, 4), (3, 2, 0, 4)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), x1355, (4, 5, 0, 6), (1, 5, 4, 6, 2, 3)) - del x1355 - x1356 = np.zeros((naocc[1], navir[1], nocc[0], nocc[0], nocc[1], nocc[1]), dtype=np.float64) - x1356 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x980, (2, 3, 4, 5, 6, 1), (2, 3, 0, 4, 5, 6)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1356, (4, 5, 6, 0, 7, 1), (7, 6, 4, 3, 2, 5)) * 2.0 - x1357 = np.zeros((naocc[1], navir[1], nocc[0], nvir[0]), dtype=np.float64) - x1357 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,sVb)], (0, 1, 2, 3), v.aabb.ovov, (4, 5, 0, 2), (1, 3, 4, 5)) - t3new_bbbbbb[np.ix_(sob,sOb,sOfb,svb,sVb,sVfb)] += einsum(x1357, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 2, 5, 6, 3, 7), (4, 5, 0, 6, 7, 1)) * 4.0 - x1358 = np.zeros((naocc[1], navir[1], nocc[0], nocc[0]), dtype=np.float64) - x1358 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1357, (2, 3, 4, 1), (2, 3, 0, 4)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1358, (4, 5, 6, 0), (1, 6, 4, 3, 2, 5)) * -2.0 - del x1358 - x1359 = np.zeros((navir[1], nocc[0], nvir[0], nvir[1]), dtype=np.float64) - x1359 += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), x33, (4, 0, 1, 5), (3, 4, 2, 5)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.bbbb[np.ix_(sob,sOb,svb,svb)], (0, 1, 2, 3), x1359, (4, 5, 6, 3), (0, 5, 1, 2, 6, 4)) * -2.0 - del x1359 - x1360 = np.zeros((naocc[1], nocc[0], nocc[0], nvir[1]), dtype=np.float64) - x1360 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,svb)], (0, 1, 2, 3), x33, (4, 5, 0, 3), (1, 4, 5, 2)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), x1360, (4, 5, 0, 6), (1, 5, 4, 6, 2, 3)) * 2.0 - del x1360 - x1361 = np.zeros((naocc[1], navir[1], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1361 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x980, (4, 5, 6, 7, 1, 2), (4, 5, 0, 6, 7, 3)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1361, (2, 3, 4, 0, 5, 6), (5, 4, 2, 6, 1, 3)) * 2.0 - del x1361 - x1362 = np.zeros((naocc[1], navir[1], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1362 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,sVb)], (0, 1, 2, 3), x176, (4, 5, 6, 0), (1, 3, 4, 5, 6, 2)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1362, (2, 3, 4, 0, 5, 6), (5, 4, 2, 6, 1, 3)) * 2.0 - del x1362 - x1363 = np.zeros((naocc[1], navir[1], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1363 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1357, (4, 5, 6, 2), (4, 5, 0, 6, 1, 3)) - del x1357 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1363, (2, 3, 4, 0, 5, 6), (5, 4, 2, 6, 1, 3)) * -2.0 - del x1363 - x1364 = np.zeros((navir[1], nocc[0], nocc[0], nvir[1]), dtype=np.float64) - x1364 += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), v.aabb.ovov, (4, 2, 1, 5), (3, 0, 4, 5)) * -1.0 - x1365 = np.zeros((naocc[1], navir[1], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1365 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,svb)], (0, 1, 2, 3), x1364, (4, 5, 6, 3), (1, 4, 5, 6, 0, 2)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1365, (2, 3, 4, 0, 5, 6), (5, 4, 2, 6, 1, 3)) * 2.0 - del x1365 - x1366 = np.zeros((naocc[1], nocc[0], nvir[0], nvir[1]), dtype=np.float64) - x1366 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,svb)], (0, 1, 2, 3), v.aabb.ovov, (4, 5, 0, 3), (1, 4, 5, 2)) * -1.0 - x1367 = np.zeros((naocc[1], navir[1], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1367 += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), x1366, (4, 5, 2, 6), (4, 3, 0, 5, 1, 6)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1367, (2, 3, 4, 0, 5, 6), (5, 4, 2, 6, 1, 3)) * -2.0 - del x1367 - x1368 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1]), dtype=np.float64) - x1368 += einsum(x0, (0, 1), t2.bbbb[np.ix_(sob,sOb,svb,sVb)], (2, 3, 1, 4), (3, 4, 2, 0)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1368, (4, 5, 6, 1), (6, 0, 4, 3, 2, 5)) * -2.0 - x1369 = np.zeros((naocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x1369 += einsum(x0, (0, 1), t2.bbbb[np.ix_(sob,sOb,svb,svb)], (2, 3, 4, 1), (3, 2, 0, 4)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), x1369, (4, 5, 1, 6), (5, 0, 4, 6, 2, 3)) * 2.0 - x1370 = np.zeros((naocc[1], nocc[0], nocc[1], nvir[0]), dtype=np.float64) - x1370 += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), x33, (4, 0, 5, 3), (1, 4, 5, 2)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), x1370, (4, 5, 1, 6), (0, 5, 4, 2, 6, 3)) * -2.0 - del x1370 - x1371 = np.zeros((navir[1], nocc[0], nocc[1], nvir[0]), dtype=np.float64) - x1371 += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 2), (3, 4, 0, 5)) * -1.0 - x1372 = np.zeros((navir[1], nocc[0], nocc[0], nocc[1]), dtype=np.float64) - x1372 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1371, (2, 3, 4, 1), (2, 0, 3, 4)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), x1372, (4, 5, 0, 6), (6, 5, 1, 3, 2, 4)) * 2.0 - del x1372 - x1373 = np.zeros((naocc[1], nocc[0], nocc[0], nocc[1]), dtype=np.float64) - x1373 += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), v.aabb.ovov, (4, 2, 5, 3), (1, 0, 4, 5)) * -1.0 - x1374 = np.zeros((naocc[1], nocc[0], nocc[1], nvir[0]), dtype=np.float64) - x1374 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1373, (2, 3, 0, 4), (2, 3, 4, 1)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), x1374, (4, 5, 1, 6), (0, 5, 4, 2, 6, 3)) * -2.0 - del x1374 - x1375 = np.zeros((naocc[1], navir[1], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1375 += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), x1371, (4, 5, 6, 2), (1, 4, 0, 5, 6, 3)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1375, (2, 3, 4, 0, 5, 6), (5, 4, 2, 6, 1, 3)) * -2.0 - del x1375 - x1376 = np.zeros((naocc[1], navir[1], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1376 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x934, (4, 5, 6, 7, 1, 3), (4, 5, 6, 7, 0, 2)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1376, (2, 3, 4, 0, 5, 6), (5, 4, 2, 6, 1, 3)) * -2.0 - del x1376 - x1377 = np.zeros((naocc[1], nocc[0], nocc[1], nvir[0]), dtype=np.float64) - x1377 += einsum(x0, (0, 1), t2.abab[np.ix_(soa,sOb,sva,svb)], (2, 3, 4, 1), (3, 2, 0, 4)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), x1377, (4, 5, 1, 6), (0, 5, 4, 2, 6, 3)) * 2.0 - del x1377 - x1378 = np.zeros((naocc[1], navir[1], nocc[1], nvir[1]), dtype=np.float64) - x1378 += einsum(t2.abab[np.ix_(soa,sOb,sva,sVb)], (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 5), (1, 3, 4, 5)) - x1379 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1]), dtype=np.float64) - x1379 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1378, (2, 3, 4, 1), (2, 3, 0, 4)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1379, (4, 5, 6, 1), (6, 0, 4, 3, 2, 5)) * -1.0 - x1380 = np.zeros((naocc[1], navir[1], nocc[0], nocc[0], nocc[1], nocc[1]), dtype=np.float64) - x1380 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x934, (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 0, 6)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1380, (4, 5, 6, 0, 7, 1), (7, 6, 4, 3, 2, 5)) - x1381 = np.zeros((naocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x1381 += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), x13, (0, 4, 5, 2), (1, 4, 5, 3)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), x1381, (4, 5, 1, 6), (5, 0, 4, 6, 2, 3)) * -1.0 - x1382 = np.zeros((navir[1], nocc[0], nocc[0], nocc[1]), dtype=np.float64) - x1382 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1364, (2, 3, 4, 1), (2, 3, 4, 0)) - del x1364 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), x1382, (4, 5, 0, 6), (6, 5, 1, 3, 2, 4)) - del x1382 - x1383 = np.zeros((navir[1], nocc[1], nvir[0], nvir[0]), dtype=np.float64) - x1383 += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), x13, (0, 4, 1, 5), (3, 4, 2, 5)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), x1383, (4, 5, 6, 2), (5, 0, 1, 3, 6, 4)) - del x1383 - x1384 = np.zeros((naocc[1], navir[1], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1384 += einsum(t2.abab[np.ix_(soa,sOb,sva,sVb)], (0, 1, 2, 3), x176, (4, 0, 5, 6), (1, 3, 4, 5, 6, 2)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1384, (2, 3, 4, 5, 0, 6), (5, 4, 2, 1, 6, 3)) - del x1384 - x1385 = np.zeros((naocc[1], navir[1], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1385 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1378, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1385, (2, 3, 4, 5, 0, 6), (5, 4, 2, 1, 6, 3)) * -1.0 - del x1385 - x1386 = np.zeros((naocc[1], navir[1], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1386 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x934, (4, 5, 6, 0, 7, 3), (4, 5, 6, 1, 7, 2)) - del x934 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1386, (2, 3, 4, 5, 0, 6), (5, 4, 2, 1, 6, 3)) - del x1386 - x1387 = np.zeros((naocc[1], nocc[1], nvir[0], nvir[0]), dtype=np.float64) - x1387 += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), v.aabb.ovov, (0, 4, 5, 3), (1, 5, 2, 4)) * -1.0 - x1388 = np.zeros((naocc[1], navir[1], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1388 += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), x1387, (4, 5, 6, 2), (4, 3, 0, 1, 5, 6)) * -1.0 - del x1387 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1388, (2, 3, 4, 5, 0, 6), (5, 4, 2, 1, 6, 3)) * -1.0 - del x1388 - x1389 = np.zeros((naocc[1], nocc[0], nocc[0], nvir[1]), dtype=np.float64) - x1389 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1373, (2, 3, 4, 0), (2, 3, 4, 1)) - del x1373 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), x1389, (4, 5, 0, 6), (1, 5, 4, 6, 2, 3)) - del x1389 - x1390 = np.zeros((navir[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x1390 += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 5), (3, 1, 4, 5)) * -1.0 - x1391 = np.zeros((naocc[1], navir[1], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1391 += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), x1390, (4, 5, 6, 3), (1, 4, 0, 5, 6, 2)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1391, (2, 3, 4, 5, 0, 6), (5, 4, 2, 1, 6, 3)) - del x1391 - x1392 = np.zeros((naocc[1], navir[1], nocc[0], nocc[0]), dtype=np.float64) - x1392 += einsum(x15, (0, 1), t2.abab[np.ix_(soa,sOb,sva,sVb)], (2, 3, 1, 4), (3, 4, 2, 0)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1392, (4, 5, 6, 0), (1, 6, 4, 3, 2, 5)) * -1.0 - del x1392 - x1393 = np.zeros((navir[1], nocc[0], nocc[0], nocc[1]), dtype=np.float64) - x1393 += einsum(x15, (0, 1), t2.abab[np.ix_(soa,sob,sva,sVb)], (2, 3, 1, 4), (4, 2, 0, 3)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), x1393, (4, 5, 0, 6), (6, 5, 1, 3, 2, 4)) * -1.0 - del x1393 - x1394 = np.zeros((naocc[1], nocc[0], nocc[0], nvir[1]), dtype=np.float64) - x1394 += einsum(x15, (0, 1), t2.abab[np.ix_(soa,sOb,sva,svb)], (2, 3, 1, 4), (3, 2, 0, 4)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), x1394, (4, 5, 0, 6), (1, 5, 4, 6, 2, 3)) * -1.0 - del x1394 - x1395 = np.zeros((naocc[1], navir[1], nvir[0], nvir[0]), dtype=np.float64) - x1395 += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), x981, (4, 0, 5, 3), (1, 4, 2, 5)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1395, (4, 5, 6, 2), (1, 0, 4, 3, 6, 5)) * -1.0 - del x1395 - x1396 = np.zeros((navir[1], nocc[0], nocc[0], nocc[1]), dtype=np.float64) - x1396 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x981, (4, 5, 2, 3), (4, 0, 5, 1)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), x1396, (4, 5, 0, 6), (6, 5, 1, 3, 2, 4)) * -1.0 - del x1396 - x1397 = np.zeros((naocc[1], navir[1], nvir[1], nvir[1]), dtype=np.float64) - x1397 += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), x981, (4, 0, 2, 5), (1, 4, 3, 5)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1397, (4, 5, 6, 3), (1, 0, 4, 6, 2, 5)) * -1.0 - x1398 = np.zeros((naocc[1], navir[1], nocc[0], nocc[0]), dtype=np.float64) - x1398 += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), x981, (4, 5, 2, 3), (1, 4, 0, 5)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1398, (4, 5, 6, 0), (1, 6, 4, 3, 2, 5)) * -1.0 - del x1398 - x1399 = np.zeros((navir[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1399 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x981, (4, 0, 2, 5), (4, 1, 3, 5)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), x1399, (4, 5, 6, 3), (5, 0, 1, 6, 2, 4)) * -1.0 - x1400 = np.zeros((navir[1], nocc[1], nvir[0], nvir[0]), dtype=np.float64) - x1400 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x981, (4, 0, 5, 3), (4, 1, 2, 5)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), x1400, (4, 5, 6, 2), (5, 0, 1, 3, 6, 4)) * -1.0 - del x1400 - x1401 = np.zeros((naocc[1], navir[1], nvir[0], nvir[0]), dtype=np.float64) - x1401 += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), x982, (4, 0, 1, 5), (4, 3, 2, 5)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1401, (4, 5, 6, 2), (1, 0, 4, 3, 6, 5)) * -1.0 - del x1401 - x1402 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1]), dtype=np.float64) - x1402 += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), x982, (4, 0, 5, 2), (4, 3, 1, 5)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1402, (4, 5, 6, 1), (6, 0, 4, 3, 2, 5)) * -1.0 - x1403 = np.zeros((naocc[1], nocc[0], nocc[0], nvir[1]), dtype=np.float64) - x1403 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x982, (4, 5, 1, 2), (4, 0, 5, 3)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), x1403, (4, 5, 0, 6), (1, 5, 4, 6, 2, 3)) * -1.0 - del x1403 - x1404 = np.zeros((naocc[1], navir[1], nocc[0], nocc[0]), dtype=np.float64) - x1404 += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), x982, (4, 5, 1, 2), (4, 3, 0, 5)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1404, (4, 5, 6, 0), (1, 6, 4, 3, 2, 5)) * -1.0 - del x1404 - x1405 = np.zeros((naocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x1405 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x982, (4, 0, 5, 2), (4, 1, 5, 3)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), x1405, (4, 5, 1, 6), (5, 0, 4, 6, 2, 3)) * -1.0 - x1406 = np.zeros((naocc[1], nvir[0], nvir[0], nvir[1]), dtype=np.float64) - x1406 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x982, (4, 0, 1, 5), (4, 2, 5, 3)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), x1406, (4, 5, 2, 6), (1, 0, 4, 6, 5, 3)) * -1.0 - del x1406 - x1407 = np.zeros((naocc[1], navir[1], nocc[1], nvir[1]), dtype=np.float64) - x1407 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,sVb)], (0, 1, 2, 3), v.bbbb.ovov, (4, 5, 0, 2), (1, 3, 4, 5)) - x1408 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1]), dtype=np.float64) - x1408 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1407, (2, 3, 4, 1), (2, 3, 0, 4)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1408, (4, 5, 6, 1), (6, 0, 4, 3, 2, 5)) * -2.0 - x1409 = np.zeros((naocc[1], navir[1], nocc[1], nvir[1]), dtype=np.float64) - x1409 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,sVb)], (0, 1, 2, 3), v.bbbb.ovov, (4, 2, 0, 5), (1, 3, 4, 5)) - x1410 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1]), dtype=np.float64) - x1410 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1409, (2, 3, 4, 1), (2, 3, 0, 4)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1410, (4, 5, 6, 1), (6, 0, 4, 3, 2, 5)) * 2.0 - x1411 = np.zeros((naocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x1411 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,svb)], (0, 1, 2, 3), x16, (4, 0, 5, 3), (1, 4, 5, 2)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), x1411, (4, 5, 1, 6), (5, 0, 4, 6, 2, 3)) * 2.0 - x1412 = np.zeros((naocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x1412 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,svb)], (0, 1, 2, 3), x16, (4, 5, 0, 3), (1, 4, 5, 2)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), x1412, (4, 5, 1, 6), (5, 0, 4, 6, 2, 3)) * -2.0 - x1413 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x1413 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,sVb)], (0, 1, 2, 3), v.bbbb.ovov, (4, 5, 6, 2), (1, 3, 0, 4, 6, 5)) - x1414 = np.zeros((naocc[1], navir[1], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1414 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1413, (4, 5, 6, 7, 1, 3), (4, 5, 0, 6, 7, 2)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1414, (2, 3, 4, 5, 0, 6), (5, 4, 2, 1, 6, 3)) * 2.0 - del x1414 - x1415 = np.zeros((naocc[1], navir[1], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1415 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1413, (4, 5, 6, 1, 7, 3), (4, 5, 0, 6, 7, 2)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1415, (2, 3, 4, 5, 0, 6), (5, 4, 2, 1, 6, 3)) * -2.0 - del x1415 - x1416 = np.zeros((naocc[1], navir[1], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1416 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1407, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1416, (2, 3, 4, 5, 0, 6), (5, 4, 2, 1, 6, 3)) * -2.0 - del x1416 - x1417 = np.zeros((naocc[1], navir[1], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1417 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1409, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1417, (2, 3, 4, 5, 0, 6), (5, 4, 2, 1, 6, 3)) * 2.0 - del x1417 - x1418 = np.zeros((naocc[1], nocc[1], nocc[1], nocc[1]), dtype=np.float64) - x1418 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,svb)], (0, 1, 2, 3), v.bbbb.ovov, (4, 3, 5, 2), (1, 0, 4, 5)) - x1419 = np.zeros((naocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x1419 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1418, (2, 3, 4, 0), (2, 3, 4, 1)) - del x1418 - x1420 = np.zeros((naocc[1], navir[1], nocc[0], nocc[1], nvir[0], nvir[1]), dtype=np.float64) - x1420 += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), x1419, (4, 5, 1, 6), (4, 3, 0, 5, 2, 6)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x1420, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x1420, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) - del x1420 - x1421 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1]), dtype=np.float64) - x1421 += einsum(x1, (0, 1), t2.bbbb[np.ix_(sob,sOb,svb,sVb)], (2, 3, 1, 4), (3, 4, 2, 0)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1421, (4, 5, 6, 1), (6, 0, 4, 3, 2, 5)) * -2.0 - x1422 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1]), dtype=np.float64) - x1422 += einsum(x20, (0, 1), t2.bbbb[np.ix_(sob,sOb,svb,sVb)], (2, 3, 1, 4), (3, 4, 2, 0)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1422, (4, 5, 6, 1), (6, 0, 4, 3, 2, 5)) * 2.0 - x1423 = np.zeros((naocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x1423 += einsum(x1, (0, 1), t2.bbbb[np.ix_(sob,sOb,svb,svb)], (2, 3, 4, 1), (3, 2, 0, 4)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), x1423, (4, 5, 1, 6), (5, 0, 4, 6, 2, 3)) * 2.0 - x1424 = np.zeros((naocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x1424 += einsum(x20, (0, 1), t2.bbbb[np.ix_(sob,sOb,svb,svb)], (2, 3, 4, 1), (3, 2, 0, 4)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), x1424, (4, 5, 1, 6), (5, 0, 4, 6, 2, 3)) * -2.0 - x1425 = np.zeros((navir[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1425 += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), x16, (4, 1, 0, 5), (3, 4, 2, 5)) - x1426 = np.zeros((naocc[1], navir[1], nocc[0], nocc[1], nvir[0], nvir[1]), dtype=np.float64) - x1426 += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), x1425, (4, 5, 6, 3), (1, 4, 0, 5, 2, 6)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x1426, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x1426, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) - del x1426 - x1427 = np.zeros((navir[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x1427 += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), v.bbbb.ovov, (4, 5, 1, 2), (3, 0, 4, 5)) * -1.0 - x1428 = np.zeros((naocc[1], navir[1], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1428 += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), x1427, (4, 5, 6, 3), (1, 4, 0, 5, 6, 2)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1428, (2, 3, 4, 5, 0, 6), (5, 4, 2, 1, 6, 3)) * -2.0 - del x1428 - x1429 = np.zeros((navir[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x1429 += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), v.bbbb.ovov, (4, 2, 1, 5), (3, 0, 4, 5)) * -1.0 - x1430 = np.zeros((naocc[1], navir[1], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1430 += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), x1429, (4, 5, 6, 3), (1, 4, 0, 5, 6, 2)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1430, (2, 3, 4, 5, 0, 6), (5, 4, 2, 1, 6, 3)) * 2.0 - del x1430 - x1431 = np.zeros((naocc[1], nocc[0], nocc[1], nvir[0]), dtype=np.float64) - x1431 += einsum(x1, (0, 1), t2.abab[np.ix_(soa,sOb,sva,svb)], (2, 3, 4, 1), (3, 2, 0, 4)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), x1431, (4, 5, 1, 6), (0, 5, 4, 2, 6, 3)) * 2.0 - del x1431 - x1432 = np.zeros((naocc[1], nocc[0], nocc[1], nvir[0]), dtype=np.float64) - x1432 += einsum(x20, (0, 1), t2.abab[np.ix_(soa,sOb,sva,svb)], (2, 3, 4, 1), (3, 2, 0, 4)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), x1432, (4, 5, 1, 6), (0, 5, 4, 2, 6, 3)) * -2.0 - del x1432 - x1433 = np.zeros((navir[1], nocc[0], nvir[0], nvir[1]), dtype=np.float64) - x1433 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x961, (4, 1, 5, 3), (4, 0, 2, 5)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.bbbb[np.ix_(sob,sOb,svb,svb)], (0, 1, 2, 3), x1433, (4, 5, 6, 3), (0, 5, 1, 2, 6, 4)) * 2.0 - del x1433 - x1434 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1]), dtype=np.float64) - x1434 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,svb)], (0, 1, 2, 3), x961, (4, 5, 3, 2), (1, 4, 0, 5)) - x1435 = np.zeros((naocc[1], navir[1], nocc[0], nocc[1], nvir[0], nvir[1]), dtype=np.float64) - x1435 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1434, (4, 5, 6, 1), (4, 5, 0, 6, 2, 3)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x1435, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x1435, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) - del x1435 - x1436 = np.zeros((navir[1], nocc[0], nvir[0], nvir[1]), dtype=np.float64) - x1436 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x961, (4, 1, 3, 5), (4, 0, 2, 5)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.bbbb[np.ix_(sob,sOb,svb,svb)], (0, 1, 2, 3), x1436, (4, 5, 6, 3), (0, 5, 1, 2, 6, 4)) * -2.0 - del x1436 - x1437 = np.zeros((naocc[1], navir[1], nvir[1], nvir[1]), dtype=np.float64) - x1437 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,svb)], (0, 1, 2, 3), x961, (4, 0, 3, 5), (1, 4, 2, 5)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1437, (4, 5, 6, 3), (1, 0, 4, 6, 2, 5)) * 2.0 - x1438 = np.zeros((naocc[1], navir[1], nvir[1], nvir[1]), dtype=np.float64) - x1438 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,svb)], (0, 1, 2, 3), x961, (4, 0, 5, 3), (1, 4, 2, 5)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1438, (4, 5, 6, 3), (1, 0, 4, 6, 2, 5)) * -2.0 - x1439 = np.zeros((navir[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1439 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x961, (4, 1, 3, 5), (4, 0, 2, 5)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), x1439, (4, 5, 6, 3), (5, 0, 1, 6, 2, 4)) * -2.0 - x1440 = np.zeros((navir[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1440 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x961, (4, 1, 5, 3), (4, 0, 2, 5)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), x1440, (4, 5, 6, 3), (5, 0, 1, 6, 2, 4)) * 2.0 - x1441 = np.zeros((naocc[1], nocc[0], nocc[1], nvir[0]), dtype=np.float64) - x1441 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x975, (4, 5, 1, 3), (4, 0, 5, 2)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), x1441, (4, 5, 1, 6), (0, 5, 4, 2, 6, 3)) * 2.0 - del x1441 - x1442 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1]), dtype=np.float64) - x1442 += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), x975, (4, 1, 5, 2), (4, 3, 0, 5)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1442, (4, 5, 6, 1), (6, 0, 4, 3, 2, 5)) * 2.0 - x1443 = np.zeros((naocc[1], nocc[0], nocc[1], nvir[0]), dtype=np.float64) - x1443 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x975, (4, 1, 5, 3), (4, 0, 5, 2)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), x1443, (4, 5, 1, 6), (0, 5, 4, 2, 6, 3)) * -2.0 - del x1443 - x1444 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1]), dtype=np.float64) - x1444 += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), x975, (4, 5, 1, 2), (4, 3, 0, 5)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1444, (4, 5, 6, 1), (6, 0, 4, 3, 2, 5)) * -2.0 - x1445 = np.zeros((naocc[1], navir[1], nvir[1], nvir[1]), dtype=np.float64) - x1445 += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), x975, (4, 1, 0, 5), (4, 3, 2, 5)) - x1446 = np.zeros((naocc[1], navir[1], nocc[0], nocc[1], nvir[0], nvir[1]), dtype=np.float64) - x1446 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1445, (4, 5, 6, 3), (4, 5, 0, 1, 2, 6)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x1446, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(x1446, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) - del x1446 - x1447 = np.zeros((naocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x1447 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x975, (4, 1, 5, 3), (4, 0, 5, 2)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), x1447, (4, 5, 1, 6), (5, 0, 4, 6, 2, 3)) * -2.0 - x1448 = np.zeros((naocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x1448 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x975, (4, 5, 1, 3), (4, 0, 5, 2)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), x1448, (4, 5, 1, 6), (5, 0, 4, 6, 2, 3)) * 2.0 - x1449 = np.zeros((naocc[1], navir[1], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1449 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x980, (4, 5, 1, 6, 7, 3), (4, 5, 0, 6, 7, 2)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1449, (2, 3, 4, 5, 0, 6), (5, 4, 2, 1, 6, 3)) * -4.0 - del x1449 - x1450 = np.zeros((navir[1], nocc[0], nvir[0], nvir[1]), dtype=np.float64) - x1450 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x981, (4, 1, 3, 5), (4, 0, 2, 5)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.bbbb[np.ix_(sob,sOb,svb,svb)], (0, 1, 2, 3), x1450, (4, 5, 6, 3), (0, 5, 1, 2, 6, 4)) * -4.0 - del x1450 - x1451 = np.zeros((naocc[1], nocc[0], nocc[1], nvir[0]), dtype=np.float64) - x1451 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x982, (4, 1, 5, 3), (4, 0, 5, 2)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), x1451, (4, 5, 1, 6), (0, 5, 4, 2, 6, 3)) * -4.0 - del x1451 - x1452 = np.zeros((naocc[1], navir[1], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1452 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,sVb)], (0, 1, 2, 3), x197, (4, 5, 6, 0), (1, 3, 4, 5, 6, 2)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1452, (2, 3, 4, 0, 5, 6), (5, 4, 2, 6, 1, 3)) * 2.0 - del x1452 - x1453 = np.zeros((naocc[1], navir[1], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1453 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1356, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 6, 1)) - del x1356 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1453, (2, 3, 4, 0, 5, 6), (5, 4, 2, 6, 1, 3)) * 2.0 - del x1453 - x1454 = np.zeros((navir[1], nocc[0], nocc[0], nvir[1]), dtype=np.float64) - x1454 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x981, (2, 3, 1, 4), (2, 0, 3, 4)) - x1455 = np.zeros((naocc[1], navir[1], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1455 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,svb)], (0, 1, 2, 3), x1454, (4, 5, 6, 3), (1, 4, 5, 6, 0, 2)) * -1.0 - del x1454 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1455, (2, 3, 4, 0, 5, 6), (5, 4, 2, 6, 1, 3)) * -2.0 - del x1455 - x1456 = np.zeros((naocc[1], nocc[0], nocc[0], nocc[1]), dtype=np.float64) - x1456 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x982, (2, 3, 4, 1), (2, 0, 3, 4)) - x1457 = np.zeros((naocc[1], nocc[0], nocc[1], nvir[0]), dtype=np.float64) - x1457 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1456, (2, 3, 0, 4), (2, 3, 4, 1)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), x1457, (4, 5, 1, 6), (0, 5, 4, 2, 6, 3)) * 2.0 - del x1457 - x1458 = np.zeros((naocc[1], navir[1], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1458 += einsum(t2.abab[np.ix_(soa,sOb,sva,sVb)], (0, 1, 2, 3), x197, (4, 0, 5, 6), (1, 3, 4, 5, 6, 2)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1458, (2, 3, 4, 5, 0, 6), (5, 4, 2, 1, 6, 3)) - del x1458 - x1459 = np.zeros((naocc[1], navir[1], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1459 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1380, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 6, 1)) - del x1380 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1459, (2, 3, 4, 0, 5, 6), (5, 4, 2, 6, 1, 3)) - del x1459 - x1460 = np.zeros((navir[1], nocc[0], nocc[1], nvir[0]), dtype=np.float64) - x1460 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x981, (2, 3, 4, 1), (2, 3, 0, 4)) - del x981 - x1461 = np.zeros((navir[1], nocc[0], nocc[0], nocc[1]), dtype=np.float64) - x1461 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1460, (2, 3, 4, 1), (2, 0, 3, 4)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), x1461, (4, 5, 0, 6), (6, 5, 1, 3, 2, 4)) * -1.0 - del x1461 - x1462 = np.zeros((naocc[1], navir[1], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1462 += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), x1460, (4, 5, 6, 2), (1, 4, 0, 5, 6, 3)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1462, (2, 3, 4, 0, 5, 6), (5, 4, 2, 6, 1, 3)) - del x1462 - x1463 = np.zeros((naocc[1], nocc[0], nocc[0], nvir[1]), dtype=np.float64) - x1463 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1456, (2, 3, 4, 0), (2, 3, 4, 1)) - del x1456 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), x1463, (4, 5, 0, 6), (1, 5, 4, 6, 2, 3)) * -1.0 - del x1463 - x1464 = np.zeros((naocc[1], navir[1], nocc[0], nocc[0], nocc[1], nocc[1]), dtype=np.float64) - x1464 += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), x982, (4, 5, 6, 2), (4, 3, 0, 5, 1, 6)) * -1.0 - x1465 = np.zeros((naocc[1], navir[1], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1465 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1464, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 6, 1)) - del x1464 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1465, (2, 3, 4, 0, 5, 6), (5, 4, 2, 6, 1, 3)) - del x1465 - x1466 = np.zeros((naocc[1], navir[1], nocc[0], nvir[0]), dtype=np.float64) - x1466 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), t1.bb[np.ix_(sOb,svb)], (2, 3), v.aabb.ovov, (4, 5, 0, 3), (2, 1, 4, 5)) - t3new_bbbbbb[np.ix_(sob,sOb,sOfb,svb,sVb,sVfb)] += einsum(x1466, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 2, 5, 6, 3, 7), (4, 5, 0, 6, 7, 1)) * -2.0 - x1467 = np.zeros((naocc[1], navir[1], nocc[0], nocc[0]), dtype=np.float64) - x1467 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1466, (2, 3, 4, 1), (2, 3, 0, 4)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1467, (4, 5, 6, 0), (1, 6, 4, 3, 2, 5)) - del x1467 - x1468 = np.zeros((naocc[1], navir[1], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1468 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1466, (4, 5, 6, 2), (4, 5, 0, 6, 1, 3)) - del x1466 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1468, (2, 3, 4, 0, 5, 6), (5, 4, 2, 6, 1, 3)) - del x1468 - x1469 = np.zeros((navir[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x1469 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x961, (2, 3, 1, 4), (2, 0, 3, 4)) - x1470 = np.zeros((naocc[1], navir[1], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1470 += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), x1469, (4, 5, 6, 3), (1, 4, 0, 5, 6, 2)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1470, (2, 3, 4, 5, 0, 6), (5, 4, 2, 1, 6, 3)) * -1.0 - del x1470 - x1471 = np.zeros((navir[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x1471 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x961, (2, 3, 4, 1), (2, 0, 3, 4)) - x1472 = np.zeros((naocc[1], navir[1], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1472 += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), x1471, (4, 5, 6, 3), (1, 4, 0, 5, 6, 2)) * -1.0 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1472, (2, 3, 4, 5, 0, 6), (5, 4, 2, 1, 6, 3)) - del x1472 - x1473 = np.zeros((naocc[1], nocc[1], nocc[1], nocc[1]), dtype=np.float64) - x1473 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x975, (2, 3, 4, 1), (2, 0, 4, 3)) - x1474 = np.zeros((naocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x1474 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1473, (2, 3, 4, 0), (2, 3, 4, 1)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), x1474, (4, 5, 1, 6), (5, 0, 4, 6, 2, 3)) - x1475 = np.zeros((naocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x1475 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1473, (2, 3, 0, 4), (2, 3, 4, 1)) - del x1473 - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), x1475, (4, 5, 1, 6), (5, 0, 4, 6, 2, 3)) * -1.0 - x1476 = np.zeros((naocc[1], navir[1], nocc[1], nvir[1]), dtype=np.float64) - x1476 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), t1.bb[np.ix_(sOb,svb)], (2, 3), v.bbbb.ovov, (4, 3, 0, 5), (2, 1, 4, 5)) - x1477 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1]), dtype=np.float64) - x1477 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1476, (2, 3, 4, 1), (2, 3, 0, 4)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1477, (4, 5, 6, 1), (6, 0, 4, 3, 2, 5)) * -1.0 - x1478 = np.zeros((naocc[1], navir[1], nocc[1], nvir[1]), dtype=np.float64) - x1478 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), t1.bb[np.ix_(sOb,svb)], (2, 3), v.bbbb.ovov, (4, 5, 0, 3), (2, 1, 4, 5)) - x1479 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1]), dtype=np.float64) - x1479 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1478, (2, 3, 4, 1), (2, 3, 0, 4)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1479, (4, 5, 6, 1), (6, 0, 4, 3, 2, 5)) - x1480 = np.zeros((naocc[1], navir[1], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1480 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1476, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1480, (2, 3, 4, 5, 0, 6), (5, 4, 2, 1, 6, 3)) * -1.0 - del x1480 - x1481 = np.zeros((naocc[1], navir[1], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1481 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1478, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) - t3new_babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1481, (2, 3, 4, 5, 0, 6), (5, 4, 2, 1, 6, 3)) - del x1481 - x1482 = np.zeros((naocc[0], navir[0], nocc[0], nocc[1], nvir[0], nvir[1]), dtype=np.float64) - x1482 += einsum(t2.abab[np.ix_(sOa,sob,sVa,svb)], (0, 1, 2, 3), v.aabb.ovvv, (4, 5, 6, 3), (0, 2, 4, 1, 5, 6)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x1482, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x1482, (4, 5, 1, 6, 3, 7), (0, 6, 4, 2, 7, 5)) * 2.0 - x1483 = np.zeros((naocc[0], navir[0], nocc[0], nocc[1], nvir[0], nvir[1]), dtype=np.float64) - x1483 += einsum(v.aaaa.ovov, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (2, 4, 5, 3, 6, 7), (5, 7, 0, 4, 1, 6)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x1483, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x1483, (4, 5, 1, 6, 3, 7), (0, 6, 4, 2, 7, 5)) * 4.0 - del x1483 - x1484 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1484 += einsum(f.aa.ov, (0, 1), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (2, 3, 4, 1, 5, 6), (4, 6, 0, 2, 3, 5)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1484, (2, 3, 0, 4, 5, 6), (4, 5, 2, 1, 6, 3)) * -2.0 - del x1484 - x1485 = np.zeros((naocc[0], navir[0], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1485 += einsum(f.bb.ov, (0, 1), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (2, 3, 4, 5, 1, 6), (4, 6, 2, 0, 3, 5)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1485, (2, 3, 4, 0, 5, 6), (4, 5, 2, 6, 1, 3)) * -2.0 - del x1485 - x1486 = np.zeros((naocc[0], navir[0], nocc[1], nocc[1]), dtype=np.float64) - x1486 += einsum(f.bb.ov, (0, 1), t2.abab[np.ix_(sOa,sob,sVa,svb)], (2, 3, 4, 1), (2, 4, 0, 3)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1486, (4, 5, 1, 6), (0, 6, 4, 2, 3, 5)) * -1.0 - del x1486 - x1487 = np.zeros((navir[0], nocc[0], nocc[1], nocc[1]), dtype=np.float64) - x1487 += einsum(f.bb.ov, (0, 1), t2.abab[np.ix_(soa,sob,sVa,svb)], (2, 3, 4, 1), (4, 2, 0, 3)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), x1487, (4, 5, 1, 6), (5, 6, 0, 2, 3, 4)) - del x1487 - x1488 = np.zeros((naocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1488 += einsum(f.bb.ov, (0, 1), t2.abab[np.ix_(sOa,sob,sva,svb)], (2, 3, 4, 1), (2, 0, 3, 4)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), x1488, (4, 1, 5, 6), (0, 5, 4, 6, 3, 2)) - del x1488 - x1489 = np.zeros((naocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1489 += einsum(f.aa.ov, (0, 1), t2.abab[np.ix_(sOa,sob,sva,svb)], (2, 3, 1, 4), (2, 0, 3, 4)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), x1489, (4, 1, 5, 6), (0, 5, 4, 2, 6, 3)) * -2.0 - del x1489 - x1490 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1490 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aaaa.oOvV, (4, 5, 2, 6), (5, 6, 0, 4, 1, 3)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1490, (2, 3, 4, 0, 5, 6), (4, 5, 2, 1, 6, 3)) - del x1490 - x1491 = np.zeros((naocc[0], navir[0], nocc[1], nocc[1]), dtype=np.float64) - x1491 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), v.aabb.oOoo, (0, 2, 3, 4), (2, 1, 3, 4)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1491, (4, 5, 6, 1), (0, 6, 4, 2, 3, 5)) - del x1491 - x1492 = np.zeros((naocc[0], navir[0], nvir[1], nvir[1]), dtype=np.float64) - x1492 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), v.aabb.oOvv, (0, 2, 3, 4), (2, 1, 3, 4)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1492, (4, 5, 6, 3), (0, 1, 4, 2, 6, 5)) * -1.0 - del x1492 - x1493 = np.zeros((naocc[0], navir[0], nocc[1], nocc[1]), dtype=np.float64) - x1493 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), v.aabb.vVoo, (1, 2, 3, 4), (0, 2, 3, 4)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1493, (4, 5, 6, 1), (0, 6, 4, 2, 3, 5)) * -1.0 - del x1493 - x1494 = np.zeros((naocc[0], navir[0], nvir[1], nvir[1]), dtype=np.float64) - x1494 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), v.aabb.vVvv, (1, 2, 3, 4), (0, 2, 3, 4)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1494, (4, 5, 6, 3), (0, 1, 4, 2, 6, 5)) - del x1494 - x1495 = np.zeros((naocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1495 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aabb.oOoo, (0, 2, 3, 4), (2, 3, 4, 1)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), x1495, (4, 5, 1, 6), (0, 5, 4, 6, 3, 2)) * -1.0 - del x1495 - x1496 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1496 += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), v.aabb.oOvv, (4, 5, 6, 3), (5, 2, 0, 4, 1, 6)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1496, (2, 3, 4, 0, 5, 6), (4, 5, 2, 1, 6, 3)) - del x1496 - x1497 = np.zeros((naocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1497 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), v.aabb.vvoo, (2, 1, 3, 4), (0, 3, 4, 2)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), x1497, (4, 5, 1, 6), (0, 5, 4, 6, 3, 2)) - del x1497 - x1498 = np.zeros((naocc[0], nvir[0], nvir[1], nvir[1]), dtype=np.float64) - x1498 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), v.aabb.vvvv, (2, 1, 3, 4), (0, 2, 3, 4)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), x1498, (4, 5, 6, 3), (0, 1, 4, 5, 6, 2)) * -1.0 - del x1498 - x1499 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1499 += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), v.aaaa.oovV, (4, 5, 2, 6), (0, 6, 4, 5, 1, 3)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1499, (2, 3, 0, 4, 5, 6), (4, 5, 2, 1, 6, 3)) * -1.0 - del x1499 - x1500 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1500 += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), v.aaaa.ovoV, (4, 2, 5, 6), (0, 6, 5, 4, 1, 3)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1500, (2, 3, 4, 0, 5, 6), (4, 5, 2, 1, 6, 3)) - del x1500 - x1501 = np.zeros((navir[0], nocc[0], nocc[1], nocc[1]), dtype=np.float64) - x1501 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), v.aabb.oooo, (2, 0, 3, 4), (1, 2, 3, 4)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), x1501, (4, 5, 6, 1), (5, 6, 0, 2, 3, 4)) * -1.0 - del x1501 - x1502 = np.zeros((navir[0], nocc[0], nvir[1], nvir[1]), dtype=np.float64) - x1502 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), v.aabb.oovv, (2, 0, 3, 4), (1, 2, 3, 4)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), x1502, (4, 5, 6, 3), (5, 1, 0, 2, 6, 4)) - del x1502 - x1503 = np.zeros((navir[0], nocc[0], nocc[1], nocc[1]), dtype=np.float64) - x1503 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aabb.vVoo, (1, 2, 3, 4), (2, 0, 3, 4)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), x1503, (4, 5, 6, 1), (5, 6, 0, 2, 3, 4)) - del x1503 - x1504 = np.zeros((navir[0], nocc[0], nvir[1], nvir[1]), dtype=np.float64) - x1504 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aabb.vVvv, (1, 2, 3, 4), (2, 0, 3, 4)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), x1504, (4, 5, 6, 3), (5, 1, 0, 2, 6, 4)) * -1.0 - del x1504 - x1505 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1505 += einsum(t2.abab[np.ix_(sOa,sob,sVa,svb)], (0, 1, 2, 3), v.aabb.oooo, (4, 5, 6, 1), (0, 2, 4, 5, 6, 3)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1505, (2, 3, 0, 4, 5, 6), (4, 5, 2, 1, 6, 3)) - del x1505 - x1506 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1506 += einsum(t2.abab[np.ix_(sOa,sob,sVa,svb)], (0, 1, 2, 3), v.aabb.oovv, (4, 5, 6, 3), (0, 2, 4, 5, 1, 6)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1506, (2, 3, 0, 4, 5, 6), (4, 5, 2, 1, 6, 3)) * -1.0 - del x1506 - x1507 = np.zeros((naocc[0], navir[0], nocc[1], nvir[0], nvir[0], nvir[1]), dtype=np.float64) - x1507 += einsum(t2.abab[np.ix_(sOa,sob,sVa,svb)], (0, 1, 2, 3), v.aabb.vvvv, (4, 5, 6, 3), (0, 2, 1, 4, 5, 6)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1507, (2, 3, 4, 1, 5, 6), (0, 4, 2, 5, 6, 3)) - del x1507 - x1508 = np.zeros((naocc[0], navir[0], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1508 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.OVov, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1508, (2, 3, 4, 5, 0, 6), (4, 5, 2, 6, 1, 3)) * -1.0 - del x1508 - x1509 = np.zeros((naocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1509 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.aabb.vOov, (2, 3, 4, 1), (3, 0, 4, 2)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), x1509, (4, 5, 1, 6), (0, 5, 4, 6, 3, 2)) - del x1509 - x1510 = np.zeros((naocc[0], navir[0], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1510 += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), v.aabb.vOov, (4, 5, 6, 3), (5, 2, 0, 1, 6, 4)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1510, (2, 3, 4, 5, 0, 6), (4, 5, 2, 6, 1, 3)) - del x1510 - x1511 = np.zeros((navir[0], nocc[0], nocc[1], nocc[1]), dtype=np.float64) - x1511 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.aabb.oVov, (2, 3, 4, 1), (3, 2, 0, 4)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), x1511, (4, 5, 6, 1), (5, 6, 0, 2, 3, 4)) - del x1511 - x1512 = np.zeros((naocc[0], navir[0], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1512 += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.oVov, (4, 5, 6, 3), (0, 5, 4, 1, 6, 2)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1512, (2, 3, 4, 5, 0, 6), (4, 5, 2, 6, 1, 3)) - del x1512 - x1513 = np.zeros((naocc[0], navir[0], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1513 += einsum(t2.abab[np.ix_(sOa,sob,sVa,svb)], (0, 1, 2, 3), v.aabb.ovov, (4, 5, 6, 3), (0, 2, 4, 1, 6, 5)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1513, (2, 3, 4, 5, 0, 6), (4, 5, 2, 6, 1, 3)) * -1.0 - x1514 = np.zeros((naocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1514 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.aabb.oOvv, (2, 3, 4, 1), (3, 2, 0, 4)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), x1514, (4, 1, 5, 6), (0, 5, 4, 2, 6, 3)) * -2.0 - del x1514 - x1515 = np.zeros((naocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1515 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.aabb.oOoo, (2, 3, 4, 0), (3, 2, 4, 1)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), x1515, (4, 1, 5, 6), (0, 5, 4, 2, 6, 3)) * 2.0 - del x1515 - x1516 = np.zeros((naocc[0], navir[0], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1516 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sVa)], (0, 1, 2, 3), v.aabb.oooo, (4, 0, 5, 6), (1, 3, 4, 5, 6, 2)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1516, (2, 3, 4, 0, 5, 6), (4, 5, 2, 6, 1, 3)) * 2.0 - del x1516 - x1517 = np.zeros((naocc[0], navir[0], nocc[0], nvir[0], nvir[1], nvir[1]), dtype=np.float64) - x1517 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sVa)], (0, 1, 2, 3), v.aabb.vvvv, (4, 2, 5, 6), (1, 3, 0, 4, 5, 6)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1517, (2, 3, 4, 5, 1, 6), (4, 0, 2, 5, 6, 3)) * 2.0 - del x1517 - x1518 = np.zeros((naocc[0], navir[0], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1518 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sVa)], (0, 1, 2, 3), v.aabb.vvoo, (4, 2, 5, 6), (1, 3, 0, 5, 6, 4)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1518, (2, 3, 4, 0, 5, 6), (4, 5, 2, 6, 1, 3)) * -2.0 - del x1518 - x1519 = np.zeros((navir[0], nocc[1], nvir[0], nvir[1]), dtype=np.float64) - x1519 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.aabb.vVvv, (2, 3, 4, 1), (3, 0, 2, 4)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sva)], (0, 1, 2, 3), x1519, (4, 5, 3, 6), (0, 5, 1, 2, 6, 4)) * 2.0 - del x1519 - x1520 = np.zeros((naocc[0], navir[0], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1520 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sva)], (0, 1, 2, 3), v.aabb.vVoo, (3, 4, 5, 6), (1, 4, 0, 5, 6, 2)) * -1.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1520, (2, 3, 4, 0, 5, 6), (4, 5, 2, 6, 1, 3)) * 2.0 - del x1520 - x1521 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1521 += einsum(v.aaaa.ooov, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (2, 4, 5, 3, 6, 7), (5, 7, 0, 1, 4, 6)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1521, (2, 3, 0, 4, 5, 6), (4, 5, 2, 1, 6, 3)) * -2.0 - del x1521 - x1522 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1522 += einsum(v.aaaa.ooov, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (1, 4, 5, 3, 6, 7), (5, 7, 0, 2, 4, 6)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1522, (2, 3, 4, 0, 5, 6), (4, 5, 2, 1, 6, 3)) * 2.0 - del x1522 - x1523 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1523 += einsum(v.aaaa.ovOO, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 5, 3, 1, 6, 7), (2, 7, 4, 0, 5, 6)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1523, (2, 3, 4, 0, 5, 6), (4, 5, 2, 1, 6, 3)) * 2.0 - del x1523 - x1524 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1524 += einsum(v.aaaa.oOvO, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 5, 3, 2, 6, 7), (1, 7, 4, 0, 5, 6)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1524, (2, 3, 4, 0, 5, 6), (4, 5, 2, 1, 6, 3)) * -2.0 - del x1524 - x1525 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1525 += einsum(v.aabb.ovoo, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 3, 5, 1, 6, 7), (5, 7, 4, 0, 2, 6)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1525, (2, 3, 4, 0, 5, 6), (4, 5, 2, 1, 6, 3)) * 2.0 - del x1525 - x1526 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1526 += einsum(v.aabb.ovvv, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 5, 6, 1, 3, 7), (6, 7, 4, 0, 5, 2)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1526, (2, 3, 4, 0, 5, 6), (4, 5, 2, 1, 6, 3)) * -2.0 - del x1526 - x1527 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1527 += einsum(v.aaaa.ovVV, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 5, 6, 1, 7, 3), (6, 2, 4, 0, 5, 7)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1527, (2, 3, 4, 0, 5, 6), (4, 5, 2, 1, 6, 3)) * -2.0 - del x1527 - x1528 = np.zeros((navir[0], navir[0], nocc[1], nocc[1]), dtype=np.float64) - x1528 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), v.aabb.oVoo, (0, 2, 3, 4), (1, 2, 3, 4)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x1528, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 3, 5, 6, 7, 1), (4, 2, 5, 6, 7, 0)) * 2.0 - del x1528 - x1529 = np.zeros((navir[0], navir[0], nvir[1], nvir[1]), dtype=np.float64) - x1529 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), v.aabb.oVvv, (0, 2, 3, 4), (1, 2, 3, 4)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x1529, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 5, 6, 7, 3, 1), (4, 5, 6, 7, 2, 0)) * -2.0 - del x1529 - x1530 = np.zeros((naocc[0], naocc[0], nocc[1], nocc[1]), dtype=np.float64) - x1530 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), v.aabb.vOoo, (1, 2, 3, 4), (0, 2, 3, 4)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x1530, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 3, 1, 5, 6, 7), (4, 2, 0, 5, 6, 7)) * 2.0 - del x1530 - x1531 = np.zeros((naocc[0], naocc[0], nvir[1], nvir[1]), dtype=np.float64) - x1531 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), v.aabb.vOvv, (1, 2, 3, 4), (0, 2, 3, 4)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x1531, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 5, 1, 6, 3, 7), (4, 5, 0, 6, 2, 7)) * -2.0 - del x1531 - x1532 = np.zeros((naocc[0], naocc[1], navir[0], navir[1]), dtype=np.float64) - x1532 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), v.aabb.oOOV, (0, 2, 3, 4), (2, 3, 1, 4)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x1532, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 5, 1, 6, 7, 3), (5, 4, 0, 7, 6, 2)) * -2.0 - del x1532 - x1533 = np.zeros((naocc[0], naocc[1], navir[0], navir[1]), dtype=np.float64) - x1533 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), v.aabb.vVOV, (1, 2, 3, 4), (0, 3, 2, 4)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x1533, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 5, 1, 6, 7, 3), (5, 4, 0, 7, 6, 2)) * 2.0 - del x1533 - x1534 = np.zeros((naocc[0], naocc[1], navir[1], nvir[0]), dtype=np.float64) - x1534 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aabb.oOOV, (0, 2, 3, 4), (2, 3, 4, 1)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x1534, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sVa,sVfb)], (4, 5, 1, 6, 7, 2), (5, 4, 0, 3, 6, 7)) * 2.0 - del x1534 - x1535 = np.zeros((naocc[0], naocc[1], navir[1], nvir[0]), dtype=np.float64) - x1535 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), v.aabb.vvOV, (2, 1, 3, 4), (0, 3, 4, 2)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x1535, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sVa,sVfb)], (4, 5, 1, 6, 7, 2), (5, 4, 0, 3, 6, 7)) * -2.0 - del x1535 - x1536 = np.zeros((naocc[1], navir[0], navir[1], nocc[0]), dtype=np.float64) - x1536 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), v.aabb.ooOV, (2, 0, 3, 4), (3, 1, 4, 2)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x1536, (0, 1, 2, 3), t3.babbab[np.ix_(sob,sOa,sOfb,svb,sva,sVfb)], (4, 5, 0, 6, 7, 2), (3, 4, 5, 7, 6, 1)) * 2.0 - del x1536 - x1537 = np.zeros((naocc[1], navir[0], navir[1], nocc[0]), dtype=np.float64) - x1537 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aabb.vVOV, (1, 2, 3, 4), (3, 2, 4, 0)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x1537, (0, 1, 2, 3), t3.babbab[np.ix_(sob,sOa,sOfb,svb,sva,sVfb)], (4, 5, 0, 6, 7, 2), (3, 4, 5, 7, 6, 1)) * -2.0 - del x1537 - x1538 = np.zeros((naocc[1], navir[1], nocc[0], nvir[0]), dtype=np.float64) - x1538 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aabb.ooOV, (2, 0, 3, 4), (3, 4, 2, 1)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x1538, (0, 1, 2, 3), t3.babbab[np.ix_(sob,sOa,sOfb,svb,sVa,sVfb)], (4, 5, 0, 6, 7, 1), (2, 4, 5, 3, 6, 7)) * -2.0 - del x1538 - x1539 = np.zeros((naocc[1], navir[1], nocc[0], nvir[0]), dtype=np.float64) - x1539 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aabb.vvOV, (2, 1, 3, 4), (3, 4, 0, 2)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x1539, (0, 1, 2, 3), t3.babbab[np.ix_(sob,sOa,sOfb,svb,sVa,sVfb)], (4, 5, 0, 6, 7, 1), (2, 4, 5, 3, 6, 7)) * 2.0 - del x1539 - x1540 = np.zeros((naocc[0], navir[0], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1540 += einsum(v.aabb.ooov, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (1, 4, 5, 6, 3, 7), (5, 7, 0, 4, 2, 6)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1540, (2, 3, 4, 5, 0, 6), (4, 5, 2, 6, 1, 3)) * 2.0 - del x1540 - x1541 = np.zeros((naocc[0], navir[0], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1541 += einsum(v.bbbb.ooov, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 2, 5, 6, 3, 7), (5, 7, 4, 0, 1, 6)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1541, (2, 3, 4, 0, 5, 6), (4, 5, 2, 6, 1, 3)) * -2.0 - del x1541 - x1542 = np.zeros((naocc[0], navir[0], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1542 += einsum(v.bbbb.ooov, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 1, 5, 6, 3, 7), (5, 7, 4, 0, 2, 6)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1542, (2, 3, 4, 5, 0, 6), (4, 5, 2, 6, 1, 3)) * 2.0 - del x1542 - x1543 = np.zeros((naocc[0], naocc[0], nocc[1], nocc[1]), dtype=np.float64) - x1543 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.aabb.OOov, (2, 3, 4, 1), (2, 3, 0, 4)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x1543, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 3, 1, 5, 6, 7), (4, 2, 0, 5, 6, 7)) * 2.0 - del x1543 - x1544 = np.zeros((naocc[0], navir[0], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1544 += einsum(v.aabb.OOov, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 5, 1, 6, 3, 7), (0, 7, 4, 5, 2, 6)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1544, (2, 3, 4, 5, 0, 6), (4, 5, 2, 6, 1, 3)) * 2.0 - del x1544 - x1545 = np.zeros((naocc[0], navir[0], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1545 += einsum(v.aabb.vvov, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 5, 6, 1, 3, 7), (6, 7, 4, 5, 2, 0)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1545, (2, 3, 4, 5, 0, 6), (4, 5, 2, 6, 1, 3)) * -2.0 - del x1545 - x1546 = np.zeros((navir[0], navir[0], nocc[1], nocc[1]), dtype=np.float64) - x1546 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.aabb.VVov, (2, 3, 4, 1), (2, 3, 0, 4)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x1546, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 3, 5, 6, 7, 1), (4, 2, 5, 6, 7, 0)) * -2.0 - del x1546 - x1547 = np.zeros((naocc[0], navir[0], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1547 += einsum(v.aabb.VVov, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 5, 6, 7, 3, 1), (6, 0, 4, 5, 2, 7)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1547, (2, 3, 4, 5, 0, 6), (4, 5, 2, 6, 1, 3)) * -2.0 - del x1547 - x1548 = np.zeros((naocc[0], navir[0], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1548 += einsum(v.aabb.ovoo, (0, 1, 2, 3), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (4, 0, 5, 6, 1, 7), (5, 7, 4, 2, 3, 6)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1548, (2, 3, 4, 0, 5, 6), (4, 5, 2, 6, 1, 3)) * -6.0 - del x1548 - x1549 = np.zeros((naocc[0], navir[0], nvir[1], nvir[1]), dtype=np.float64) - x1549 += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), v.aabb.oOov, (0, 4, 1, 5), (4, 2, 3, 5)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1549, (4, 5, 6, 3), (0, 1, 4, 2, 6, 5)) - del x1549 - x1550 = np.zeros((naocc[0], navir[0], nocc[1], nocc[1]), dtype=np.float64) - x1550 += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), v.aabb.oOov, (0, 4, 5, 3), (4, 2, 1, 5)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1550, (4, 5, 6, 1), (0, 6, 4, 2, 3, 5)) - del x1550 - x1551 = np.zeros((naocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1551 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.oOov, (0, 4, 5, 3), (4, 1, 5, 2)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), x1551, (4, 5, 1, 6), (0, 5, 4, 6, 3, 2)) * -1.0 - del x1551 - x1552 = np.zeros((naocc[0], nvir[0], nvir[1], nvir[1]), dtype=np.float64) - x1552 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.oOov, (0, 4, 1, 5), (4, 2, 3, 5)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), x1552, (4, 5, 6, 3), (0, 1, 4, 5, 6, 2)) * -1.0 - del x1552 - x1553 = np.zeros((navir[0], nocc[0], nocc[1], nocc[1]), dtype=np.float64) - x1553 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.vVov, (2, 4, 5, 3), (4, 0, 1, 5)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), x1553, (4, 5, 6, 1), (5, 6, 0, 2, 3, 4)) - del x1553 - x1554 = np.zeros((naocc[0], navir[0], nocc[1], nocc[1]), dtype=np.float64) - x1554 += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.vVov, (2, 4, 5, 3), (0, 4, 1, 5)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1554, (4, 5, 6, 1), (0, 6, 4, 2, 3, 5)) * -1.0 - del x1554 - x1555 = np.zeros((navir[0], nocc[0], nvir[1], nvir[1]), dtype=np.float64) - x1555 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.vVov, (2, 4, 1, 5), (4, 0, 3, 5)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), x1555, (4, 5, 6, 3), (5, 1, 0, 2, 6, 4)) - del x1555 - x1556 = np.zeros((naocc[0], navir[0], nvir[1], nvir[1]), dtype=np.float64) - x1556 += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.vVov, (2, 4, 1, 5), (0, 4, 3, 5)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1556, (4, 5, 6, 3), (0, 1, 4, 2, 6, 5)) * -1.0 - del x1556 - x1557 = np.zeros((naocc[0], navir[0], nocc[1], nocc[1]), dtype=np.float64) - x1557 += einsum(t2.abab[np.ix_(sOa,sob,sVa,svb)], (0, 1, 2, 3), v.bbbb.ooov, (4, 5, 1, 3), (0, 2, 4, 5)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1557, (4, 5, 6, 1), (0, 6, 4, 2, 3, 5)) * -1.0 - del x1557 - x1558 = np.zeros((naocc[0], navir[0], nocc[1], nocc[1]), dtype=np.float64) - x1558 += einsum(t2.abab[np.ix_(sOa,sob,sVa,svb)], (0, 1, 2, 3), v.bbbb.ooov, (4, 1, 5, 3), (0, 2, 4, 5)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1558, (4, 5, 6, 1), (0, 6, 4, 2, 3, 5)) - del x1558 - x1559 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[1], nocc[1]), dtype=np.float64) - x1559 += einsum(t2.abab[np.ix_(sOa,sob,sVa,svb)], (0, 1, 2, 3), v.aabb.ooov, (4, 5, 6, 3), (0, 2, 4, 5, 1, 6)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1559, (4, 5, 6, 0, 7, 1), (6, 7, 4, 2, 3, 5)) - x1560 = np.zeros((naocc[0], navir[0], nvir[1], nvir[1]), dtype=np.float64) - x1560 += einsum(t2.abab[np.ix_(sOa,sob,sVa,svb)], (0, 1, 2, 3), v.bbbb.ovvv, (1, 4, 5, 3), (0, 2, 4, 5)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1560, (4, 5, 3, 6), (0, 1, 4, 2, 6, 5)) * -1.0 - del x1560 - x1561 = np.zeros((naocc[0], navir[0], nvir[1], nvir[1]), dtype=np.float64) - x1561 += einsum(t2.abab[np.ix_(sOa,sob,sVa,svb)], (0, 1, 2, 3), v.bbbb.ovvv, (1, 3, 4, 5), (0, 2, 4, 5)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1561, (4, 5, 6, 3), (0, 1, 4, 2, 6, 5)) - del x1561 - x1562 = np.zeros((naocc[0], navir[0], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1562 += einsum(t2.abab[np.ix_(sOa,sob,sVa,svb)], (0, 1, 2, 3), v.bbbb.ovvv, (4, 5, 6, 3), (0, 2, 1, 4, 5, 6)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1562, (4, 5, 6, 1, 3, 7), (0, 6, 4, 2, 7, 5)) - del x1562 - x1563 = np.zeros((naocc[0], navir[0], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1563 += einsum(t2.abab[np.ix_(sOa,sob,sVa,svb)], (0, 1, 2, 3), v.bbbb.ovvv, (4, 3, 5, 6), (0, 2, 1, 4, 5, 6)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1563, (4, 5, 6, 1, 3, 7), (0, 6, 4, 2, 7, 5)) * -1.0 - del x1563 - x1564 = np.zeros((naocc[0], navir[0], nocc[1], nocc[1], nvir[0], nvir[0]), dtype=np.float64) - x1564 += einsum(t2.abab[np.ix_(sOa,sob,sVa,svb)], (0, 1, 2, 3), v.aabb.vvov, (4, 5, 6, 3), (0, 2, 1, 6, 4, 5)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1564, (4, 5, 6, 1, 7, 2), (0, 6, 4, 7, 3, 5)) * -1.0 - x1565 = np.zeros((naocc[0], navir[0], nocc[0], nocc[1], nvir[0], nvir[1]), dtype=np.float64) - x1565 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x490, (4, 5, 6, 2), (4, 5, 0, 1, 6, 3)) - del x490 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x1565, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x1565, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) - del x1565 - x1566 = np.zeros((naocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1566 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aaaa.ovoO, (0, 2, 4, 5), (5, 4, 1, 3)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), x1566, (4, 1, 5, 6), (0, 5, 4, 2, 6, 3)) * -2.0 - del x1566 - x1567 = np.zeros((naocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1567 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aaaa.ovoO, (4, 2, 0, 5), (5, 4, 1, 3)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), x1567, (4, 1, 5, 6), (0, 5, 4, 2, 6, 3)) * 2.0 - del x1567 - x1568 = np.zeros((naocc[0], navir[0], nocc[1], nocc[1]), dtype=np.float64) - x1568 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sVa)], (0, 1, 2, 3), v.aabb.ovoo, (0, 2, 4, 5), (1, 3, 4, 5)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1568, (4, 5, 6, 1), (0, 6, 4, 2, 3, 5)) * -2.0 - del x1568 - x1569 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[1], nocc[1]), dtype=np.float64) - x1569 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sVa)], (0, 1, 2, 3), v.aabb.ovoo, (4, 2, 5, 6), (1, 3, 0, 4, 5, 6)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1569, (4, 5, 6, 0, 1, 7), (6, 7, 4, 2, 3, 5)) * 2.0 - x1570 = np.zeros((naocc[0], navir[0], nocc[0], nocc[1], nvir[0], nvir[1]), dtype=np.float64) - x1570 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x514, (4, 5, 6, 0), (4, 5, 6, 1, 2, 3)) - del x514 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x1570, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -1.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x1570, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -1.0 - del x1570 - x1571 = np.zeros((navir[0], nocc[1], nvir[0], nvir[1]), dtype=np.float64) - x1571 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aaaa.ovvV, (0, 2, 4, 5), (5, 1, 4, 3)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sva)], (0, 1, 2, 3), x1571, (4, 5, 3, 6), (0, 5, 1, 2, 6, 4)) * 2.0 - del x1571 - x1572 = np.zeros((navir[0], nocc[1], nvir[0], nvir[1]), dtype=np.float64) - x1572 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aaaa.ovvV, (0, 4, 2, 5), (5, 1, 4, 3)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sva)], (0, 1, 2, 3), x1572, (4, 5, 3, 6), (0, 5, 1, 2, 6, 4)) * -2.0 - del x1572 - x1573 = np.zeros((naocc[0], navir[0], nvir[1], nvir[1]), dtype=np.float64) - x1573 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sVa)], (0, 1, 2, 3), v.aabb.ovvv, (0, 2, 4, 5), (1, 3, 4, 5)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1573, (4, 5, 6, 3), (0, 1, 4, 2, 6, 5)) * 2.0 - del x1573 - x1574 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[1], nvir[1]), dtype=np.float64) - x1574 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sVa)], (0, 1, 2, 3), v.aabb.ovvv, (4, 2, 5, 6), (1, 3, 0, 4, 5, 6)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1574, (4, 5, 6, 0, 3, 7), (6, 1, 4, 2, 7, 5)) * -2.0 - x1575 = np.zeros((naocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1575 += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), v.bbbb.ooov, (4, 5, 1, 3), (0, 4, 5, 2)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), x1575, (4, 5, 1, 6), (0, 5, 4, 6, 3, 2)) - del x1575 - x1576 = np.zeros((navir[0], nocc[0], nocc[1], nocc[1]), dtype=np.float64) - x1576 += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), v.bbbb.ooov, (4, 1, 5, 3), (2, 0, 4, 5)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), x1576, (4, 5, 6, 1), (5, 6, 0, 2, 3, 4)) * -1.0 - del x1576 - x1577 = np.zeros((naocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1577 += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), v.bbbb.ooov, (4, 1, 5, 3), (0, 4, 5, 2)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), x1577, (4, 5, 1, 6), (0, 5, 4, 6, 3, 2)) * -1.0 - del x1577 - x1578 = np.zeros((navir[0], nocc[0], nocc[1], nocc[1]), dtype=np.float64) - x1578 += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), v.bbbb.ooov, (4, 5, 1, 3), (2, 0, 4, 5)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), x1578, (4, 5, 6, 1), (5, 6, 0, 2, 3, 4)) - del x1578 - x1579 = np.zeros((navir[0], nocc[0], nocc[1], nocc[1]), dtype=np.float64) - x1579 += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), v.aabb.ooov, (4, 0, 5, 3), (2, 4, 1, 5)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), x1579, (4, 5, 6, 1), (5, 6, 0, 2, 3, 4)) * -1.0 - del x1579 - x1580 = np.zeros((navir[0], nocc[0], nvir[1], nvir[1]), dtype=np.float64) - x1580 += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), v.aabb.ooov, (4, 0, 1, 5), (2, 4, 3, 5)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), x1580, (4, 5, 6, 3), (5, 1, 0, 2, 6, 4)) * -1.0 - del x1580 - x1581 = np.zeros((naocc[0], nvir[0], nvir[1], nvir[1]), dtype=np.float64) - x1581 += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), v.bbbb.ovvv, (1, 4, 5, 3), (0, 2, 4, 5)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), x1581, (4, 5, 3, 6), (0, 1, 4, 5, 6, 2)) - del x1581 - x1582 = np.zeros((naocc[0], nvir[0], nvir[1], nvir[1]), dtype=np.float64) - x1582 += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), v.bbbb.ovvv, (1, 3, 4, 5), (0, 2, 4, 5)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), x1582, (4, 5, 6, 3), (0, 1, 4, 5, 6, 2)) * -1.0 - del x1582 - x1583 = np.zeros((navir[0], nocc[0], nvir[1], nvir[1]), dtype=np.float64) - x1583 += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), v.bbbb.ovvv, (1, 3, 4, 5), (2, 0, 4, 5)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), x1583, (4, 5, 6, 3), (5, 1, 0, 2, 6, 4)) * -1.0 - del x1583 - x1584 = np.zeros((navir[0], nocc[0], nvir[1], nvir[1]), dtype=np.float64) - x1584 += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), v.bbbb.ovvv, (1, 4, 5, 3), (2, 0, 4, 5)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), x1584, (4, 5, 3, 6), (5, 1, 0, 2, 6, 4)) - del x1584 - x1585 = np.zeros((naocc[0], nvir[0], nvir[1], nvir[1]), dtype=np.float64) - x1585 += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.vvov, (4, 2, 1, 5), (0, 4, 3, 5)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), x1585, (4, 5, 6, 3), (0, 1, 4, 5, 6, 2)) - del x1585 - x1586 = np.zeros((naocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1586 += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.vvov, (4, 2, 5, 3), (0, 1, 5, 4)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), x1586, (4, 5, 1, 6), (0, 5, 4, 6, 3, 2)) - del x1586 - x1587 = np.zeros((naocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1587 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sva)], (0, 1, 2, 3), v.aabb.ovoo, (0, 3, 4, 5), (1, 4, 5, 2)) * -1.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), x1587, (4, 5, 1, 6), (0, 5, 4, 6, 3, 2)) * 2.0 - del x1587 - x1588 = np.zeros((navir[0], nocc[1], nvir[0], nvir[1]), dtype=np.float64) - x1588 += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), v.aabb.ovoo, (0, 4, 5, 1), (2, 5, 4, 3)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sva)], (0, 1, 2, 3), x1588, (4, 5, 3, 6), (0, 5, 1, 2, 6, 4)) * 2.0 - del x1588 - x1589 = np.zeros((naocc[0], nvir[0], nvir[1], nvir[1]), dtype=np.float64) - x1589 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sva)], (0, 1, 2, 3), v.aabb.ovvv, (0, 3, 4, 5), (1, 2, 4, 5)) * -1.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), x1589, (4, 5, 6, 3), (0, 1, 4, 5, 6, 2)) * -2.0 - del x1589 - x1590 = np.zeros((naocc[0], navir[0], nocc[0], nocc[1], nvir[0], nvir[1]), dtype=np.float64) - x1590 += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), x532, (4, 5, 0, 6), (4, 2, 5, 1, 6, 3)) - del x532 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x1590, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -1.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x1590, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -1.0 - del x1590 - x1591 = np.zeros((navir[0], nocc[1], nvir[0], nvir[1]), dtype=np.float64) - x1591 += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), v.aabb.ovvv, (0, 4, 5, 3), (2, 1, 4, 5)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sva)], (0, 1, 2, 3), x1591, (4, 5, 3, 6), (0, 5, 1, 2, 6, 4)) * -2.0 - del x1591 - x1592 = np.zeros((naocc[0], navir[0], nocc[0], nocc[1], nvir[0], nvir[1]), dtype=np.float64) - x1592 += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), x510, (4, 5, 6, 2), (0, 4, 5, 1, 6, 3)) - del x510 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x1592, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -1.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x1592, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -1.0 - del x1592 - x1593 = np.zeros((navir[0], nocc[0], nocc[1], nocc[1]), dtype=np.float64) - x1593 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), v.aabb.ovoo, (1, 2, 4, 5), (3, 0, 4, 5)) * -1.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), x1593, (4, 5, 6, 1), (5, 6, 0, 2, 3, 4)) * 2.0 - del x1593 - x1594 = np.zeros((naocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1594 += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.ovoo, (4, 2, 5, 1), (0, 4, 5, 3)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), x1594, (4, 1, 5, 6), (0, 5, 4, 2, 6, 3)) * 2.0 - del x1594 - x1595 = np.zeros((naocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1595 += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.ovvv, (4, 2, 5, 3), (0, 4, 1, 5)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), x1595, (4, 1, 5, 6), (0, 5, 4, 2, 6, 3)) * -2.0 - del x1595 - x1596 = np.zeros((navir[0], nocc[0], nvir[1], nvir[1]), dtype=np.float64) - x1596 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), v.aabb.ovvv, (1, 2, 4, 5), (3, 0, 4, 5)) * -1.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), x1596, (4, 5, 6, 3), (5, 1, 0, 2, 6, 4)) * -2.0 - del x1596 - x1597 = np.zeros((naocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1597 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), v.aabb.oOov, (4, 5, 1, 3), (5, 4, 0, 2)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), x1597, (4, 1, 5, 6), (0, 5, 4, 2, 6, 3)) * -4.0 - del x1597 - x1598 = np.zeros((navir[0], nocc[1], nvir[0], nvir[1]), dtype=np.float64) - x1598 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), v.aabb.vVov, (4, 5, 1, 3), (5, 0, 4, 2)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sva)], (0, 1, 2, 3), x1598, (4, 5, 3, 6), (0, 5, 1, 2, 6, 4)) * 4.0 - del x1598 - x1599 = np.zeros((naocc[0], navir[0], nvir[1], nvir[1]), dtype=np.float64) - x1599 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (0, 2, 4, 1, 5, 6), (4, 6, 5, 3)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1599, (4, 5, 6, 3), (0, 1, 4, 2, 6, 5)) * -2.0 - del x1599 - x1600 = np.zeros((naocc[0], navir[0], nocc[1], nocc[1]), dtype=np.float64) - x1600 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (0, 4, 5, 1, 3, 6), (5, 6, 4, 2)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1600, (4, 5, 6, 1), (0, 6, 4, 2, 3, 5)) * -2.0 - del x1600 - x1601 = np.zeros((naocc[0], navir[0], nocc[1], nocc[1], nvir[0], nvir[0]), dtype=np.float64) - x1601 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (0, 4, 5, 6, 3, 7), (5, 7, 4, 2, 6, 1)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1601, (4, 5, 6, 1, 7, 2), (0, 6, 4, 7, 3, 5)) * 2.0 - del x1601 - x1602 = np.zeros((naocc[0], navir[0], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1602 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (0, 4, 5, 1, 6, 7), (5, 7, 4, 2, 6, 3)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1602, (4, 5, 6, 1, 7, 3), (0, 6, 4, 2, 7, 5)) * 2.0 - del x1602 - x1603 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nvir[1], nvir[1]), dtype=np.float64) - x1603 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 2, 5, 1, 6, 7), (5, 7, 4, 0, 6, 3)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1603, (4, 5, 6, 0, 7, 3), (6, 1, 4, 2, 7, 5)) * 2.0 - del x1603 - x1604 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[1], nocc[1]), dtype=np.float64) - x1604 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 5, 6, 1, 3, 7), (6, 7, 4, 0, 5, 2)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1604, (4, 5, 6, 0, 7, 1), (6, 7, 4, 2, 3, 5)) * 2.0 - x1605 = np.zeros((naocc[1], navir[1], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1605 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.bbbb.oVvO, (4, 5, 3, 6), (6, 5, 0, 1, 4, 2)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t3.babbab[np.ix_(sob,sOa,sOfb,svb,sVa,sVfb)], (0, 1, 2, 3, 4, 5), x1605, (2, 5, 6, 7, 0, 8), (6, 7, 1, 8, 3, 4)) - del x1605 - x1606 = np.zeros((naocc[0], navir[0], nocc[1], nocc[1]), dtype=np.float64) - x1606 += einsum(v.bbbb.ovOV, (0, 1, 2, 3), t3.babbab[np.ix_(sob,sOa,sOfb,svb,sVa,sVfb)], (4, 5, 2, 1, 6, 3), (5, 6, 4, 0)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1606, (4, 5, 6, 1), (0, 6, 4, 2, 3, 5)) * -2.0 - del x1606 - x1607 = np.zeros((naocc[1], navir[1], nocc[0], nvir[0]), dtype=np.float64) - x1607 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.bbbb.ovOV, (1, 3, 4, 5), (4, 5, 0, 2)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x1607, (0, 1, 2, 3), t3.babbab[np.ix_(sob,sOa,sOfb,svb,sVa,sVfb)], (4, 5, 0, 6, 7, 1), (2, 4, 5, 3, 6, 7)) * 2.0 - del x1607 - x1608 = np.zeros((naocc[1], navir[1], nocc[0], nvir[0]), dtype=np.float64) - x1608 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.bbbb.oVvO, (1, 4, 3, 5), (5, 4, 0, 2)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x1608, (0, 1, 2, 3), t3.babbab[np.ix_(sob,sOa,sOfb,svb,sVa,sVfb)], (4, 5, 0, 6, 7, 1), (2, 4, 5, 3, 6, 7)) * -2.0 - del x1608 - x1609 = np.zeros((naocc[0], navir[0], nocc[0], nocc[1], nvir[0], nvir[1]), dtype=np.float64) - x1609 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x583, (4, 5, 6, 2), (4, 5, 0, 1, 6, 3)) - del x583 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x1609, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -3.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x1609, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -3.0 - del x1609 - x1610 = np.zeros((naocc[0], nvir[0], nvir[1], nvir[1]), dtype=np.float64) - x1610 += einsum(v.aabb.oVov, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (0, 2, 4, 5, 6, 1), (4, 5, 6, 3)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), x1610, (4, 5, 6, 3), (0, 1, 4, 5, 6, 2)) * -2.0 - del x1610 - x1611 = np.zeros((naocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1611 += einsum(v.aabb.oVov, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (0, 4, 5, 6, 3, 1), (5, 4, 2, 6)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), x1611, (4, 5, 1, 6), (0, 5, 4, 6, 3, 2)) * -2.0 - del x1611 - x1612 = np.zeros((navir[0], navir[0], nocc[1], nocc[1]), dtype=np.float64) - x1612 += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), v.aabb.oVov, (0, 4, 5, 3), (2, 4, 1, 5)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x1612, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 3, 5, 6, 7, 1), (4, 2, 5, 6, 7, 0)) * 2.0 - del x1612 - x1613 = np.zeros((navir[0], navir[0], nvir[1], nvir[1]), dtype=np.float64) - x1613 += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), v.aabb.oVov, (0, 4, 1, 5), (2, 4, 3, 5)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x1613, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 5, 6, 7, 3, 1), (4, 5, 6, 7, 2, 0)) * 2.0 - del x1613 - x1614 = np.zeros((naocc[1], navir[0], navir[1], nocc[0], nocc[1], nocc[1]), dtype=np.float64) - x1614 += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), v.bbbb.ovOV, (4, 3, 5, 6), (5, 2, 6, 0, 1, 4)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t3.babbab[np.ix_(sob,sOa,sOfb,svb,sva,sVfb)], (0, 1, 2, 3, 4, 5), x1614, (2, 6, 5, 7, 8, 0), (7, 8, 1, 4, 3, 6)) - del x1614 - x1615 = np.zeros((naocc[1], navir[0], navir[1], nocc[0], nocc[1], nocc[1]), dtype=np.float64) - x1615 += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), v.bbbb.oVvO, (4, 5, 3, 6), (6, 2, 5, 0, 1, 4)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t3.babbab[np.ix_(sob,sOa,sOfb,svb,sva,sVfb)], (0, 1, 2, 3, 4, 5), x1615, (2, 6, 5, 7, 8, 0), (7, 8, 1, 4, 3, 6)) * -1.0 - del x1615 - x1616 = np.zeros((naocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1616 += einsum(v.bbbb.ovOV, (0, 1, 2, 3), t3.babbab[np.ix_(sob,sOa,sOfb,svb,sva,sVfb)], (4, 5, 2, 1, 6, 3), (5, 4, 0, 6)) * -1.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), x1616, (4, 5, 1, 6), (0, 5, 4, 6, 3, 2)) * -2.0 - del x1616 - x1617 = np.zeros((naocc[1], navir[0], navir[1], nocc[0]), dtype=np.float64) - x1617 += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), v.bbbb.ovOV, (1, 3, 4, 5), (4, 2, 5, 0)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x1617, (0, 1, 2, 3), t3.babbab[np.ix_(sob,sOa,sOfb,svb,sva,sVfb)], (4, 5, 0, 6, 7, 2), (3, 4, 5, 7, 6, 1)) * -2.0 - del x1617 - x1618 = np.zeros((naocc[1], navir[0], navir[1], nocc[0]), dtype=np.float64) - x1618 += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), v.bbbb.oVvO, (1, 4, 3, 5), (5, 2, 4, 0)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x1618, (0, 1, 2, 3), t3.babbab[np.ix_(sob,sOa,sOfb,svb,sva,sVfb)], (4, 5, 0, 6, 7, 2), (3, 4, 5, 7, 6, 1)) * 2.0 - del x1618 - x1619 = np.zeros((naocc[0], naocc[0], nocc[1], nocc[1]), dtype=np.float64) - x1619 += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.vOov, (2, 4, 5, 3), (0, 4, 1, 5)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x1619, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 3, 1, 5, 6, 7), (4, 2, 0, 5, 6, 7)) * 2.0 - del x1619 - x1620 = np.zeros((navir[0], nocc[0], nvir[1], nvir[1]), dtype=np.float64) - x1620 += einsum(v.aabb.vOov, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 2, 1, 0, 5, 6), (6, 4, 5, 3)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), x1620, (4, 5, 6, 3), (5, 1, 0, 2, 6, 4)) * -2.0 - del x1620 - x1621 = np.zeros((navir[0], nocc[0], nocc[1], nocc[1]), dtype=np.float64) - x1621 += einsum(v.aabb.vOov, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 5, 1, 0, 3, 6), (6, 4, 5, 2)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), x1621, (4, 5, 6, 1), (5, 6, 0, 2, 3, 4)) * -2.0 - del x1621 - x1622 = np.zeros((naocc[0], naocc[0], nvir[1], nvir[1]), dtype=np.float64) - x1622 += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.vOov, (2, 4, 1, 5), (0, 4, 3, 5)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x1622, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 5, 1, 6, 3, 7), (4, 5, 0, 6, 2, 7)) * 2.0 - del x1622 - x1623 = np.zeros((naocc[0], naocc[1], navir[1], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1623 += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), v.bbbb.ovOV, (4, 3, 5, 6), (0, 5, 6, 1, 4, 2)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t3.babbab[np.ix_(sob,soa,sOfb,svb,sVa,sVfb)], (0, 1, 2, 3, 4, 5), x1623, (6, 2, 5, 7, 0, 8), (1, 7, 6, 8, 3, 4)) - del x1623 - x1624 = np.zeros((naocc[0], naocc[1], navir[1], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1624 += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), v.bbbb.oVvO, (4, 5, 3, 6), (0, 6, 5, 1, 4, 2)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t3.babbab[np.ix_(sob,soa,sOfb,svb,sVa,sVfb)], (0, 1, 2, 3, 4, 5), x1624, (6, 2, 5, 7, 0, 8), (1, 7, 6, 8, 3, 4)) * -1.0 - del x1624 - x1625 = np.zeros((navir[0], nocc[0], nocc[1], nocc[1]), dtype=np.float64) - x1625 += einsum(v.bbbb.ovOV, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sVa,sVfb)], (4, 5, 2, 1, 6, 3), (6, 5, 4, 0)) * -1.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), x1625, (4, 5, 6, 1), (5, 6, 0, 2, 3, 4)) * -2.0 - del x1625 - x1626 = np.zeros((naocc[0], naocc[1], navir[1], nvir[0]), dtype=np.float64) - x1626 += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), v.bbbb.ovOV, (1, 3, 4, 5), (0, 4, 5, 2)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x1626, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sVa,sVfb)], (4, 5, 1, 6, 7, 2), (5, 4, 0, 3, 6, 7)) * -2.0 - del x1626 - x1627 = np.zeros((naocc[0], naocc[1], navir[1], nvir[0]), dtype=np.float64) - x1627 += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), v.bbbb.oVvO, (1, 4, 3, 5), (0, 5, 4, 2)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x1627, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sVa,sVfb)], (4, 5, 1, 6, 7, 2), (5, 4, 0, 3, 6, 7)) * 2.0 - del x1627 - x1628 = np.zeros((naocc[0], naocc[0], navir[0], navir[0], nocc[1], nocc[1]), dtype=np.float64) - x1628 += einsum(t2.abab[np.ix_(sOa,sob,sVa,svb)], (0, 1, 2, 3), v.aabb.OVov, (4, 5, 6, 3), (0, 4, 2, 5, 1, 6)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (0, 1, 2, 3, 4, 5), x1628, (6, 2, 7, 5, 8, 1), (0, 8, 6, 3, 4, 7)) * -2.0 - del x1628 - x1629 = np.zeros((naocc[0], naocc[1], navir[0], navir[1], nocc[1], nocc[1]), dtype=np.float64) - x1629 += einsum(t2.abab[np.ix_(sOa,sob,sVa,svb)], (0, 1, 2, 3), v.bbbb.ovOV, (4, 3, 5, 6), (0, 5, 2, 6, 1, 4)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (0, 1, 2, 3, 4, 5), x1629, (6, 2, 7, 5, 8, 0), (1, 8, 6, 4, 3, 7)) * -1.0 - del x1629 - x1630 = np.zeros((naocc[0], naocc[1], navir[0], navir[1], nocc[1], nocc[1]), dtype=np.float64) - x1630 += einsum(t2.abab[np.ix_(sOa,sob,sVa,svb)], (0, 1, 2, 3), v.bbbb.oVvO, (4, 5, 3, 6), (0, 6, 2, 5, 1, 4)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (0, 1, 2, 3, 4, 5), x1630, (6, 2, 7, 5, 8, 0), (1, 8, 6, 4, 3, 7)) - del x1630 - x1631 = np.zeros((naocc[0], naocc[1], navir[0], navir[1]), dtype=np.float64) - x1631 += einsum(t2.abab[np.ix_(sOa,sob,sVa,svb)], (0, 1, 2, 3), v.bbbb.ovOV, (1, 3, 4, 5), (0, 4, 2, 5)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x1631, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 5, 1, 6, 7, 3), (5, 4, 0, 7, 6, 2)) * 2.0 - del x1631 - x1632 = np.zeros((naocc[0], naocc[1], navir[0], navir[1]), dtype=np.float64) - x1632 += einsum(t2.abab[np.ix_(sOa,sob,sVa,svb)], (0, 1, 2, 3), v.bbbb.oVvO, (1, 4, 3, 5), (0, 5, 2, 4)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x1632, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 5, 1, 6, 7, 3), (5, 4, 0, 7, 6, 2)) * -2.0 - del x1632 - x1633 = np.zeros((naocc[0], navir[0], nocc[0], nocc[1], nvir[0], nvir[1]), dtype=np.float64) - x1633 += einsum(x37, (0, 1), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (1, 2, 3, 4, 5, 6), (3, 6, 0, 2, 4, 5)) * -1.0 - del x37 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x1633, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x1633, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - del x1633 - x1634 = np.zeros((naocc[0], navir[0], nocc[0], nocc[1], nvir[0], nvir[1]), dtype=np.float64) - x1634 += einsum(v.aaaa.ovov, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (2, 4, 5, 1, 6, 7), (5, 7, 0, 4, 3, 6)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x1634, (4, 5, 1, 6, 3, 7), (0, 6, 4, 2, 7, 5)) * -4.0 - del x1634 - x1635 = np.zeros((naocc[0], navir[0], nocc[0], nocc[1], nvir[0], nvir[1]), dtype=np.float64) - x1635 += einsum(x18, (0, 1), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (2, 1, 3, 4, 5, 6), (3, 6, 2, 0, 4, 5)) * -1.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x1635, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x1635, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - del x1635 - x1636 = np.zeros((naocc[0], navir[0], nocc[0], nocc[1], nvir[0], nvir[1]), dtype=np.float64) - x1636 += einsum(x111, (0, 1), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (2, 3, 4, 1, 5, 6), (4, 6, 2, 3, 0, 5)) * -1.0 - del x111 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x1636, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x1636, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - del x1636 - x1637 = np.zeros((naocc[0], navir[0], nocc[0], nocc[1], nvir[0], nvir[1]), dtype=np.float64) - x1637 += einsum(x183, (0, 1), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (2, 3, 4, 5, 1, 6), (4, 6, 2, 3, 5, 0)) * -1.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x1637, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x1637, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - del x1637 - x1638 = np.zeros((naocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1638 += einsum(v.aaaa.ovoV, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (2, 4, 5, 1, 6, 3), (5, 0, 4, 6)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), x1638, (4, 1, 5, 6), (0, 5, 4, 2, 6, 3)) * 4.0 - del x1638 - x1639 = np.zeros((navir[0], nocc[1], nvir[0], nvir[1]), dtype=np.float64) - x1639 += einsum(v.aaaa.ovvO, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (0, 4, 3, 2, 5, 6), (6, 4, 1, 5)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sva)], (0, 1, 2, 3), x1639, (4, 5, 3, 6), (0, 5, 1, 2, 6, 4)) * 2.0 - del x1639 - x1640 = np.zeros((naocc[0], navir[0], nocc[0], nocc[1], nvir[0], nvir[1]), dtype=np.float64) - x1640 += einsum(x608, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (3, 4, 1, 5, 6, 7), (0, 7, 2, 4, 5, 6)) - del x608 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x1640, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x1640, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) - del x1640 - x1641 = np.zeros((navir[0], nocc[1], nvir[0], nvir[1]), dtype=np.float64) - x1641 += einsum(v.aaaa.ovvO, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (0, 4, 3, 1, 5, 6), (6, 4, 2, 5)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sva)], (0, 1, 2, 3), x1641, (4, 5, 3, 6), (0, 5, 1, 2, 6, 4)) * -2.0 - del x1641 - x1642 = np.zeros((naocc[0], navir[0], nocc[0], nocc[1], nvir[0], nvir[1]), dtype=np.float64) - x1642 += einsum(x615, (0, 1), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (2, 3, 1, 4, 5, 6), (0, 6, 2, 3, 4, 5)) - del x615 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x1642, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x1642, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - del x1642 - x1643 = np.zeros((naocc[0], naocc[1], navir[0], navir[1], nocc[0], nocc[0]), dtype=np.float64) - x1643 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sVa)], (0, 1, 2, 3), v.aabb.ovOV, (4, 2, 5, 6), (1, 5, 3, 6, 0, 4)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (0, 1, 2, 3, 4, 5), x1643, (6, 2, 7, 5, 8, 1), (8, 0, 6, 4, 3, 7)) * -4.0 - del x1643 - x1644 = np.zeros((naocc[0], naocc[1], navir[0], navir[1]), dtype=np.float64) - x1644 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sVa)], (0, 1, 2, 3), v.aabb.ovOV, (0, 2, 4, 5), (1, 4, 3, 5)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x1644, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 5, 1, 6, 7, 3), (5, 4, 0, 7, 6, 2)) * 4.0 - del x1644 - x1645 = np.zeros((naocc[0], naocc[1], navir[1], nocc[0], nocc[0], nvir[0]), dtype=np.float64) - x1645 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sva)], (0, 1, 2, 3), v.aabb.ovOV, (4, 3, 5, 6), (1, 5, 6, 0, 4, 2)) * -1.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t3.babbab[np.ix_(sob,soa,sOfb,svb,sVa,sVfb)], (0, 1, 2, 3, 4, 5), x1645, (6, 2, 5, 7, 1, 8), (7, 0, 6, 8, 3, 4)) * 4.0 - del x1645 - x1646 = np.zeros((naocc[0], naocc[1], navir[1], nvir[0]), dtype=np.float64) - x1646 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sva)], (0, 1, 2, 3), v.aabb.ovOV, (0, 3, 4, 5), (1, 4, 5, 2)) * -1.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x1646, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sVa,sVfb)], (4, 5, 1, 6, 7, 2), (5, 4, 0, 3, 6, 7)) * -4.0 - del x1646 - x1647 = np.zeros((naocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1647 += einsum(v.aabb.ovOV, (0, 1, 2, 3), t3.babbab[np.ix_(sob,sOa,sOfb,svb,sva,sVfb)], (4, 5, 2, 6, 1, 3), (5, 0, 4, 6)) * -1.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), x1647, (4, 1, 5, 6), (0, 5, 4, 2, 6, 3)) * 4.0 - del x1647 - x1648 = np.zeros((naocc[1], navir[0], navir[1], nocc[0]), dtype=np.float64) - x1648 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), v.aabb.ovOV, (1, 2, 4, 5), (4, 3, 5, 0)) * -1.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x1648, (0, 1, 2, 3), t3.babbab[np.ix_(sob,sOa,sOfb,svb,sva,sVfb)], (4, 5, 0, 6, 7, 2), (3, 4, 5, 7, 6, 1)) * -4.0 - del x1648 - x1649 = np.zeros((naocc[1], navir[1], nocc[0], nvir[0]), dtype=np.float64) - x1649 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), v.aabb.ovOV, (1, 3, 4, 5), (4, 5, 0, 2)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x1649, (0, 1, 2, 3), t3.babbab[np.ix_(sob,sOa,sOfb,svb,sVa,sVfb)], (4, 5, 0, 6, 7, 1), (2, 4, 5, 3, 6, 7)) * 4.0 - del x1649 - x1650 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1650 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x656, (4, 5, 6, 2), (4, 5, 0, 6, 1, 3)) - del x656 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1650, (2, 3, 4, 0, 5, 6), (4, 5, 2, 1, 6, 3)) - del x1650 - x1651 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1651 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x653, (4, 5, 6, 2), (4, 5, 0, 6, 1, 3)) - del x653 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1651, (2, 3, 4, 0, 5, 6), (4, 5, 2, 1, 6, 3)) * -1.0 - del x1651 - x1652 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1652 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x686, (4, 5, 6, 2), (4, 5, 0, 6, 1, 3)) - del x686 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1652, (2, 3, 4, 0, 5, 6), (4, 5, 2, 1, 6, 3)) - del x1652 - x1653 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1653 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x683, (4, 5, 6, 2), (4, 5, 0, 6, 1, 3)) - del x683 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1653, (2, 3, 4, 0, 5, 6), (4, 5, 2, 1, 6, 3)) * -1.0 - del x1653 - x1654 = np.zeros((naocc[0], navir[0], nocc[1], nocc[1]), dtype=np.float64) - x1654 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), t1.aa[np.ix_(sOa,sva)], (2, 3), v.aabb.ovoo, (0, 3, 4, 5), (2, 1, 4, 5)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1654, (4, 5, 1, 6), (0, 6, 4, 2, 3, 5)) - del x1654 - x1655 = np.zeros((naocc[0], navir[0], nvir[1], nvir[1]), dtype=np.float64) - x1655 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), t1.aa[np.ix_(sOa,sva)], (2, 3), v.aabb.ovvv, (0, 3, 4, 5), (2, 1, 4, 5)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1655, (4, 5, 3, 6), (0, 1, 4, 2, 6, 5)) * -1.0 - del x1655 - x1656 = np.zeros((naocc[0], nocc[0], nocc[1], nocc[1]), dtype=np.float64) - x1656 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), v.aabb.ovoo, (2, 1, 3, 4), (0, 2, 3, 4)) - x1657 = np.zeros((naocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1657 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1656, (2, 0, 3, 4), (2, 4, 3, 1)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), x1657, (4, 1, 5, 6), (0, 5, 4, 6, 3, 2)) * -1.0 - del x1657 - x1658 = np.zeros((naocc[0], nocc[0], nvir[1], nvir[1]), dtype=np.float64) - x1658 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), v.aabb.ovvv, (2, 1, 3, 4), (0, 2, 3, 4)) - x1659 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1659 += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), x1658, (4, 5, 6, 3), (4, 2, 0, 5, 1, 6)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1659, (2, 3, 4, 0, 5, 6), (4, 5, 2, 1, 6, 3)) - del x1659 - x1660 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1660 += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), x640, (4, 5, 6, 2), (0, 4, 5, 6, 1, 3)) - del x640 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1660, (2, 3, 4, 0, 5, 6), (4, 5, 2, 1, 6, 3)) * -1.0 - del x1660 - x1661 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1661 += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), x646, (4, 5, 6, 2), (0, 4, 5, 6, 1, 3)) - del x646 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1661, (2, 3, 4, 0, 5, 6), (4, 5, 2, 1, 6, 3)) - del x1661 - x1662 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1662 += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), x666, (4, 5, 6, 2), (0, 4, 6, 5, 1, 3)) - del x666 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1662, (2, 3, 0, 4, 5, 6), (4, 5, 2, 1, 6, 3)) - del x1662 - x1663 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1663 += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), x663, (4, 5, 6, 2), (0, 4, 5, 6, 1, 3)) - del x663 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1663, (2, 3, 4, 0, 5, 6), (4, 5, 2, 1, 6, 3)) * -1.0 - del x1663 - x1664 = np.zeros((navir[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1664 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), v.aabb.ovoo, (0, 2, 3, 4), (1, 3, 4, 2)) - x1665 = np.zeros((navir[0], nocc[0], nocc[1], nocc[1]), dtype=np.float64) - x1665 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1664, (2, 3, 4, 1), (2, 0, 4, 3)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), x1665, (4, 5, 1, 6), (5, 6, 0, 2, 3, 4)) * -1.0 - del x1665 - x1666 = np.zeros((navir[0], nvir[0], nvir[1], nvir[1]), dtype=np.float64) - x1666 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), v.aabb.ovvv, (0, 2, 3, 4), (1, 2, 3, 4)) - x1667 = np.zeros((navir[0], nocc[0], nvir[1], nvir[1]), dtype=np.float64) - x1667 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1666, (2, 1, 3, 4), (2, 0, 4, 3)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), x1667, (4, 5, 3, 6), (5, 1, 0, 2, 6, 4)) - del x1667 - x1668 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1668 += einsum(t2.abab[np.ix_(sOa,sob,sVa,svb)], (0, 1, 2, 3), x151, (4, 5, 6, 1), (0, 2, 4, 5, 6, 3)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1668, (2, 3, 4, 0, 5, 6), (4, 5, 2, 1, 6, 3)) - del x1668 - x1669 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1669 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1482, (2, 3, 4, 5, 1, 6), (2, 3, 0, 4, 5, 6)) - del x1482 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1669, (2, 3, 4, 0, 5, 6), (4, 5, 2, 1, 6, 3)) * -1.0 - del x1669 - x1670 = np.zeros((naocc[0], navir[0], nocc[1], nocc[1]), dtype=np.float64) - x1670 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x403, (2, 3, 4, 1), (2, 3, 0, 4)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1670, (4, 5, 6, 1), (0, 6, 4, 2, 3, 5)) - del x1670 - x1671 = np.zeros((naocc[0], navir[0], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1671 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x403, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) - del x403 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1671, (2, 3, 4, 5, 0, 6), (4, 5, 2, 6, 1, 3)) - del x1671 - x1672 = np.zeros((naocc[0], navir[0], nocc[1], nocc[1]), dtype=np.float64) - x1672 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x409, (2, 3, 4, 1), (2, 3, 0, 4)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1672, (4, 5, 6, 1), (0, 6, 4, 2, 3, 5)) * -1.0 - del x1672 - x1673 = np.zeros((naocc[0], navir[0], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1673 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x409, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) - del x409 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1673, (2, 3, 4, 5, 0, 6), (4, 5, 2, 6, 1, 3)) * -1.0 - del x1673 - x1674 = np.zeros((naocc[0], nocc[0], nocc[1], nocc[1]), dtype=np.float64) - x1674 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.aabb.oOov, (2, 3, 4, 1), (3, 2, 0, 4)) - x1675 = np.zeros((naocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1675 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1674, (2, 0, 3, 4), (2, 3, 4, 1)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), x1675, (4, 5, 1, 6), (0, 5, 4, 6, 3, 2)) * -1.0 - del x1675 - x1676 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[1], nocc[1]), dtype=np.float64) - x1676 += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), v.aabb.oOov, (4, 5, 6, 3), (5, 2, 0, 4, 1, 6)) - x1677 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1677 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1676, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 6, 1)) - del x1676 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1677, (2, 3, 4, 0, 5, 6), (4, 5, 2, 1, 6, 3)) * -1.0 - del x1677 - x1678 = np.zeros((naocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1678 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x407, (2, 3, 4, 1), (2, 0, 3, 4)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), x1678, (4, 5, 1, 6), (0, 5, 4, 6, 3, 2)) - del x1678 - x1679 = np.zeros((naocc[0], navir[0], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1679 += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), x407, (4, 5, 6, 3), (4, 2, 0, 1, 5, 6)) - del x407 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1679, (2, 3, 4, 5, 0, 6), (4, 5, 2, 6, 1, 3)) - del x1679 - x1680 = np.zeros((navir[0], nocc[0], nocc[1], nocc[1]), dtype=np.float64) - x1680 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x401, (2, 3, 4, 1), (2, 3, 0, 4)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), x1680, (4, 5, 6, 1), (5, 6, 0, 2, 3, 4)) * -1.0 - del x1680 - x1681 = np.zeros((naocc[0], navir[0], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1681 += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), x401, (4, 5, 6, 3), (0, 4, 5, 1, 6, 2)) - del x401 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1681, (2, 3, 4, 5, 0, 6), (4, 5, 2, 6, 1, 3)) * -1.0 - del x1681 - x1682 = np.zeros((navir[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1682 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.aabb.vVov, (2, 3, 4, 1), (3, 0, 4, 2)) - x1683 = np.zeros((navir[0], nocc[0], nocc[1], nocc[1]), dtype=np.float64) - x1683 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1682, (2, 3, 4, 1), (2, 0, 3, 4)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), x1683, (4, 5, 6, 1), (5, 6, 0, 2, 3, 4)) - del x1683 - x1684 = np.zeros((naocc[0], navir[0], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1684 += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), x405, (4, 5, 6, 3), (0, 4, 5, 1, 6, 2)) - del x405 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1684, (2, 3, 4, 5, 0, 6), (4, 5, 2, 6, 1, 3)) - del x1684 - x1685 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1685 += einsum(t2.abab[np.ix_(sOa,sob,sVa,svb)], (0, 1, 2, 3), x156, (4, 5, 6, 1), (0, 2, 5, 4, 6, 3)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1685, (2, 3, 0, 4, 5, 6), (4, 5, 2, 1, 6, 3)) - del x1685 - x1686 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1686 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1559, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 6, 1)) - del x1559 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1686, (2, 3, 0, 4, 5, 6), (4, 5, 2, 1, 6, 3)) - del x1686 - x1687 = np.zeros((naocc[0], navir[0], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1687 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1564, (2, 3, 4, 5, 6, 1), (2, 3, 0, 4, 5, 6)) - del x1564 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1687, (2, 3, 4, 5, 0, 6), (4, 5, 2, 6, 1, 3)) * -1.0 - del x1687 - x1688 = np.zeros((naocc[0], navir[0], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1688 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sVa)], (0, 1, 2, 3), x151, (4, 0, 5, 6), (1, 3, 4, 6, 5, 2)) - del x151 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1688, (2, 3, 4, 0, 5, 6), (4, 5, 2, 6, 1, 3)) * 2.0 - del x1688 - x1689 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1689 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1574, (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 0, 6)) - del x1574 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1689, (2, 3, 4, 0, 5, 6), (4, 5, 2, 1, 6, 3)) * -2.0 - del x1689 - x1690 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1690 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1569, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 6, 1)) - del x1569 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1690, (2, 3, 4, 0, 5, 6), (4, 5, 2, 1, 6, 3)) * 2.0 - del x1690 - x1691 = np.zeros((navir[0], nocc[1], nvir[0], nvir[1]), dtype=np.float64) - x1691 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1666, (2, 3, 4, 1), (2, 0, 3, 4)) - del x1666 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sva)], (0, 1, 2, 3), x1691, (4, 5, 3, 6), (0, 5, 1, 2, 6, 4)) * -2.0 - del x1691 - x1692 = np.zeros((naocc[0], navir[0], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1692 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sva)], (0, 1, 2, 3), x1664, (4, 5, 6, 3), (1, 4, 0, 6, 5, 2)) * -1.0 - del x1664 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1692, (2, 3, 4, 0, 5, 6), (4, 5, 2, 6, 1, 3)) * -2.0 - del x1692 - x1693 = np.zeros((naocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1693 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1658, (2, 3, 4, 1), (2, 3, 0, 4)) - del x1658 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), x1693, (4, 1, 5, 6), (0, 5, 4, 2, 6, 3)) * -2.0 - del x1693 - x1694 = np.zeros((naocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1694 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1656, (2, 3, 4, 0), (2, 3, 4, 1)) - del x1656 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), x1694, (4, 1, 5, 6), (0, 5, 4, 2, 6, 3)) * 2.0 - del x1694 - x1695 = np.zeros((naocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1695 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1674, (2, 3, 4, 0), (2, 3, 4, 1)) - del x1674 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), x1695, (4, 1, 5, 6), (0, 5, 4, 2, 6, 3)) * 2.0 - del x1695 - x1696 = np.zeros((naocc[0], navir[0], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1696 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sVa)], (0, 1, 2, 3), x156, (4, 0, 5, 6), (1, 3, 4, 5, 6, 2)) - del x156 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1696, (2, 3, 4, 5, 0, 6), (4, 5, 2, 6, 1, 3)) * 2.0 - del x1696 - x1697 = np.zeros((naocc[0], navir[0], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1697 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x462, (2, 3, 4, 5, 6, 1), (2, 3, 4, 0, 5, 6)) - del x462 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1697, (2, 3, 4, 5, 0, 6), (4, 5, 2, 6, 1, 3)) * -2.0 - del x1697 - x1698 = np.zeros((naocc[0], navir[0], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1698 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sva)], (0, 1, 2, 3), x1682, (4, 5, 6, 3), (1, 4, 0, 5, 6, 2)) * -1.0 - del x1682 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1698, (2, 3, 4, 5, 0, 6), (4, 5, 2, 6, 1, 3)) * 2.0 - del x1698 - x1699 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1699 += einsum(x35, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (1, 4, 5, 3, 6, 7), (5, 7, 0, 2, 4, 6)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1699, (2, 3, 4, 0, 5, 6), (4, 5, 2, 1, 6, 3)) * -2.0 - del x1699 - x1700 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1700 += einsum(x35, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (2, 4, 5, 3, 6, 7), (5, 7, 0, 1, 4, 6)) - del x35 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1700, (2, 3, 4, 0, 5, 6), (4, 5, 2, 1, 6, 3)) * 2.0 - del x1700 - x1701 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1701 += einsum(x11, (0, 1), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (2, 3, 4, 1, 5, 6), (4, 6, 2, 0, 3, 5)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1701, (2, 3, 4, 0, 5, 6), (4, 5, 2, 1, 6, 3)) * -2.0 - del x1701 - x1702 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1702 += einsum(x12, (0, 1), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (2, 3, 4, 1, 5, 6), (4, 6, 2, 0, 3, 5)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1702, (2, 3, 4, 0, 5, 6), (4, 5, 2, 1, 6, 3)) * 2.0 - del x1702 - x1703 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1703 += einsum(x738, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 5, 6, 3, 7, 1), (6, 0, 4, 2, 5, 7)) - del x738 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1703, (2, 3, 4, 0, 5, 6), (4, 5, 2, 1, 6, 3)) * 2.0 - del x1703 - x1704 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1704 += einsum(x748, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 5, 1, 3, 6, 7), (0, 7, 4, 2, 5, 6)) - del x748 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1704, (2, 3, 4, 0, 5, 6), (4, 5, 2, 1, 6, 3)) * -2.0 - del x1704 - x1705 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1705 += einsum(x745, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 5, 1, 3, 6, 7), (0, 7, 4, 2, 5, 6)) - del x745 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1705, (2, 3, 4, 0, 5, 6), (4, 5, 2, 1, 6, 3)) * 2.0 - del x1705 - x1706 = np.zeros((naocc[0], naocc[1], navir[1], nocc[0]), dtype=np.float64) - x1706 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), v.aabb.ovOV, (2, 1, 3, 4), (0, 3, 4, 2)) - x1707 = np.zeros((naocc[0], naocc[1], navir[0], navir[1]), dtype=np.float64) - x1707 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x1706, (2, 3, 4, 0), (2, 3, 1, 4)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x1707, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 5, 1, 6, 7, 3), (5, 4, 0, 7, 6, 2)) * -2.0 - del x1707 - x1708 = np.zeros((naocc[0], naocc[1], navir[1], nvir[0]), dtype=np.float64) - x1708 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1706, (2, 3, 4, 0), (2, 3, 4, 1)) - del x1706 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x1708, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sVa,sVfb)], (4, 5, 1, 6, 7, 2), (5, 4, 0, 3, 6, 7)) * 2.0 - del x1708 - x1709 = np.zeros((naocc[1], navir[0], navir[1], nvir[0]), dtype=np.float64) - x1709 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), v.aabb.ovOV, (0, 2, 3, 4), (3, 1, 4, 2)) - x1710 = np.zeros((naocc[1], navir[0], navir[1], nocc[0]), dtype=np.float64) - x1710 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1709, (2, 3, 4, 1), (2, 3, 4, 0)) - del x1709 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x1710, (0, 1, 2, 3), t3.babbab[np.ix_(sob,sOa,sOfb,svb,sva,sVfb)], (4, 5, 0, 6, 7, 2), (3, 4, 5, 7, 6, 1)) * 2.0 - del x1710 - x1711 = np.zeros((naocc[1], navir[1], nocc[0], nvir[0]), dtype=np.float64) - x1711 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x166, (2, 3, 4, 0), (2, 3, 4, 1)) - del x166 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x1711, (0, 1, 2, 3), t3.babbab[np.ix_(sob,sOa,sOfb,svb,sVa,sVfb)], (4, 5, 0, 6, 7, 1), (2, 4, 5, 3, 6, 7)) * -2.0 - del x1711 - x1712 = np.zeros((naocc[0], navir[0], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1712 += einsum(x33, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (1, 4, 5, 6, 3, 7), (5, 7, 0, 4, 2, 6)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1712, (2, 3, 4, 5, 0, 6), (4, 5, 2, 6, 1, 3)) * 2.0 - del x1712 - x1713 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1713 += einsum(x13, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 2, 5, 3, 6, 7), (5, 7, 4, 0, 1, 6)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1713, (2, 3, 4, 0, 5, 6), (4, 5, 2, 1, 6, 3)) * 2.0 - del x1713 - x1714 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1714 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1604, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 6, 1)) - del x1604 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1714, (2, 3, 4, 0, 5, 6), (4, 5, 2, 1, 6, 3)) * 2.0 - del x1714 - x1715 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1715 += einsum(x15, (0, 1), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (2, 3, 4, 1, 5, 6), (4, 6, 2, 0, 3, 5)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1715, (2, 3, 4, 0, 5, 6), (4, 5, 2, 1, 6, 3)) * -2.0 - del x1715 - x1716 = np.zeros((naocc[0], navir[0], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1716 += einsum(x0, (0, 1), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (2, 3, 4, 5, 1, 6), (4, 6, 2, 3, 0, 5)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1716, (2, 3, 4, 5, 0, 6), (4, 5, 2, 6, 1, 3)) * -2.0 - del x1716 - x1717 = np.zeros((navir[0], navir[0], nocc[1], nvir[1]), dtype=np.float64) - x1717 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), v.aabb.oVov, (0, 2, 3, 4), (1, 2, 3, 4)) - x1718 = np.zeros((navir[0], navir[0], nocc[1], nocc[1]), dtype=np.float64) - x1718 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1717, (2, 3, 4, 1), (2, 3, 0, 4)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x1718, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 3, 5, 6, 7, 1), (4, 2, 5, 6, 7, 0)) * 2.0 - del x1718 - x1719 = np.zeros((naocc[0], navir[0], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1719 += einsum(x1717, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 5, 6, 7, 3, 1), (6, 0, 4, 5, 2, 7)) - del x1717 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1719, (2, 3, 4, 5, 0, 6), (4, 5, 2, 6, 1, 3)) * 2.0 - del x1719 - x1720 = np.zeros((naocc[0], naocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1720 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), v.aabb.vOov, (1, 2, 3, 4), (0, 2, 3, 4)) - x1721 = np.zeros((naocc[0], naocc[0], nocc[1], nocc[1]), dtype=np.float64) - x1721 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1720, (2, 3, 4, 1), (2, 3, 0, 4)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x1721, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 3, 1, 5, 6, 7), (4, 2, 0, 5, 6, 7)) * 2.0 - del x1721 - x1722 = np.zeros((naocc[0], navir[0], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1722 += einsum(x1720, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 5, 1, 6, 3, 7), (0, 7, 4, 5, 2, 6)) - del x1720 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1722, (2, 3, 4, 5, 0, 6), (4, 5, 2, 6, 1, 3)) * 2.0 - del x1722 - x1723 = np.zeros((naocc[0], navir[0], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1723 += einsum(x16, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 1, 5, 6, 3, 7), (5, 7, 4, 0, 2, 6)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1723, (2, 3, 4, 5, 0, 6), (4, 5, 2, 6, 1, 3)) * -2.0 - del x1723 - x1724 = np.zeros((naocc[0], navir[0], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1724 += einsum(x16, (0, 1, 2, 3), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (4, 2, 5, 6, 3, 7), (5, 7, 4, 0, 1, 6)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1724, (2, 3, 4, 5, 0, 6), (4, 5, 2, 6, 1, 3)) * 2.0 - del x1724 - x1725 = np.zeros((naocc[0], navir[0], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1725 += einsum(x1, (0, 1), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (2, 3, 4, 5, 1, 6), (4, 6, 2, 3, 0, 5)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1725, (2, 3, 4, 5, 0, 6), (4, 5, 2, 6, 1, 3)) * -2.0 - del x1725 - x1726 = np.zeros((naocc[0], navir[0], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1726 += einsum(x20, (0, 1), t3.abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)], (2, 3, 4, 5, 1, 6), (4, 6, 2, 3, 0, 5)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1726, (2, 3, 4, 5, 0, 6), (4, 5, 2, 6, 1, 3)) * 2.0 - del x1726 - x1727 = np.zeros((naocc[0], navir[0], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1727 += einsum(x13, (0, 1, 2, 3), t3.aaaaaa[np.ix_(soa,soa,sOfa,sva,sva,sVfa)], (4, 0, 5, 6, 3, 7), (5, 7, 4, 1, 2, 6)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1727, (2, 3, 4, 5, 0, 6), (4, 5, 2, 6, 1, 3)) * -6.0 - del x1727 - x1728 = np.zeros((naocc[0], navir[0], nvir[1], nvir[1]), dtype=np.float64) - x1728 += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), x716, (4, 0, 1, 5), (4, 2, 3, 5)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1728, (4, 5, 6, 3), (0, 1, 4, 2, 6, 5)) - del x1728 - x1729 = np.zeros((naocc[0], navir[0], nocc[1], nocc[1]), dtype=np.float64) - x1729 += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), x716, (4, 0, 5, 3), (4, 2, 1, 5)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1729, (4, 5, 6, 1), (0, 6, 4, 2, 3, 5)) - del x1729 - x1730 = np.zeros((naocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1730 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x716, (4, 0, 5, 3), (4, 1, 5, 2)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), x1730, (4, 5, 1, 6), (0, 5, 4, 6, 3, 2)) * -1.0 - del x1730 - x1731 = np.zeros((naocc[0], nvir[0], nvir[1], nvir[1]), dtype=np.float64) - x1731 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x716, (4, 0, 1, 5), (4, 2, 3, 5)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), x1731, (4, 5, 6, 3), (0, 1, 4, 5, 6, 2)) * -1.0 - del x1731 - x1732 = np.zeros((navir[0], nocc[0], nocc[1], nocc[1]), dtype=np.float64) - x1732 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x713, (4, 5, 2, 3), (4, 0, 1, 5)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), x1732, (4, 5, 6, 1), (5, 6, 0, 2, 3, 4)) * -1.0 - del x1732 - x1733 = np.zeros((naocc[0], navir[0], nvir[1], nvir[1]), dtype=np.float64) - x1733 += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), x713, (4, 1, 2, 5), (0, 4, 3, 5)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1733, (4, 5, 6, 3), (0, 1, 4, 2, 6, 5)) - del x1733 - x1734 = np.zeros((naocc[0], navir[0], nocc[1], nocc[1]), dtype=np.float64) - x1734 += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), x713, (4, 5, 2, 3), (0, 4, 1, 5)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1734, (4, 5, 6, 1), (0, 6, 4, 2, 3, 5)) - del x1734 - x1735 = np.zeros((navir[0], nocc[0], nvir[1], nvir[1]), dtype=np.float64) - x1735 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x713, (4, 1, 2, 5), (4, 0, 3, 5)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), x1735, (4, 5, 6, 3), (5, 1, 0, 2, 6, 4)) * -1.0 - del x1735 - x1736 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[1], nocc[1]), dtype=np.float64) - x1736 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1513, (2, 3, 4, 5, 6, 1), (2, 3, 0, 4, 5, 6)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1736, (4, 5, 6, 0, 7, 1), (6, 7, 4, 2, 3, 5)) - x1737 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1737 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x792, (4, 5, 6, 2), (4, 5, 0, 6, 1, 3)) - del x792 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1737, (2, 3, 4, 0, 5, 6), (4, 5, 2, 1, 6, 3)) * -1.0 - del x1737 - x1738 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1738 += einsum(t2.abab[np.ix_(sOa,sob,sVa,svb)], (0, 1, 2, 3), x176, (4, 5, 6, 1), (0, 2, 4, 5, 6, 3)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1738, (2, 3, 4, 0, 5, 6), (4, 5, 2, 1, 6, 3)) - del x1738 - x1739 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1739 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1513, (4, 5, 6, 7, 1, 2), (4, 5, 0, 6, 7, 3)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1739, (2, 3, 4, 0, 5, 6), (4, 5, 2, 1, 6, 3)) - del x1739 - x1740 = np.zeros((naocc[0], navir[0], nocc[1], nocc[1]), dtype=np.float64) - x1740 += einsum(x0, (0, 1), t2.abab[np.ix_(sOa,sob,sVa,svb)], (2, 3, 4, 1), (2, 4, 3, 0)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1740, (4, 5, 6, 1), (0, 6, 4, 2, 3, 5)) * -1.0 - del x1740 - x1741 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1741 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x798, (4, 5, 6, 2), (4, 5, 0, 6, 1, 3)) - del x798 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1741, (2, 3, 4, 0, 5, 6), (4, 5, 2, 1, 6, 3)) * -2.0 - del x1741 - x1742 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1742 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x802, (4, 5, 6, 2), (4, 5, 0, 6, 1, 3)) - del x802 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1742, (2, 3, 4, 0, 5, 6), (4, 5, 2, 1, 6, 3)) * 2.0 - del x1742 - x1743 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1743 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x361, (4, 5, 6, 7, 0, 2), (4, 5, 6, 7, 1, 3)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1743, (2, 3, 4, 0, 5, 6), (4, 5, 2, 1, 6, 3)) * 2.0 - del x1743 - x1744 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1744 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x361, (4, 5, 6, 0, 7, 2), (4, 5, 6, 7, 1, 3)) - del x361 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1744, (2, 3, 4, 0, 5, 6), (4, 5, 2, 1, 6, 3)) * -2.0 - del x1744 - x1745 = np.zeros((naocc[0], navir[0], nocc[0], nocc[1], nvir[0], nvir[1]), dtype=np.float64) - x1745 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x856, (4, 5, 6, 0), (4, 5, 6, 1, 2, 3)) * -1.0 - del x856 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x1745, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x1745, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) - del x1745 - x1746 = np.zeros((navir[0], nocc[1], nvir[0], nvir[1]), dtype=np.float64) - x1746 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x375, (4, 0, 5, 2), (4, 1, 5, 3)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sva)], (0, 1, 2, 3), x1746, (4, 5, 3, 6), (0, 5, 1, 2, 6, 4)) * 2.0 - del x1746 - x1747 = np.zeros((navir[0], nocc[1], nvir[0], nvir[1]), dtype=np.float64) - x1747 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x375, (4, 0, 2, 5), (4, 1, 5, 3)) - del x375 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sva)], (0, 1, 2, 3), x1747, (4, 5, 3, 6), (0, 5, 1, 2, 6, 4)) * -2.0 - del x1747 - x1748 = np.zeros((naocc[0], navir[0], nocc[0], nocc[1], nvir[0], nvir[1]), dtype=np.float64) - x1748 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x874, (4, 5, 6, 2), (4, 5, 0, 1, 6, 3)) * -1.0 - del x874 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x1748, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x1748, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) - del x1748 - x1749 = np.zeros((naocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1749 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x389, (4, 5, 0, 2), (4, 5, 1, 3)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), x1749, (4, 1, 5, 6), (0, 5, 4, 2, 6, 3)) * 2.0 - del x1749 - x1750 = np.zeros((naocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1750 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x389, (4, 0, 5, 2), (4, 5, 1, 3)) - del x389 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), x1750, (4, 1, 5, 6), (0, 5, 4, 2, 6, 3)) * -2.0 - del x1750 - x1751 = np.zeros((navir[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1751 += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), v.aabb.ovov, (0, 4, 5, 3), (2, 1, 5, 4)) - x1752 = np.zeros((navir[0], nocc[0], nocc[1], nocc[1]), dtype=np.float64) - x1752 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1751, (2, 3, 4, 1), (2, 0, 3, 4)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), x1752, (4, 5, 6, 1), (5, 6, 0, 2, 3, 4)) * -1.0 - del x1752 - x1753 = np.zeros((navir[0], nocc[0], nvir[1], nvir[1]), dtype=np.float64) - x1753 += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), x33, (4, 0, 1, 5), (2, 4, 3, 5)) - del x33 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), x1753, (4, 5, 6, 3), (5, 1, 0, 2, 6, 4)) * -1.0 - del x1753 - x1754 = np.zeros((naocc[0], nocc[0], nvir[1], nvir[1]), dtype=np.float64) - x1754 += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.ovov, (4, 2, 1, 5), (0, 4, 3, 5)) - x1755 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1755 += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), x1754, (4, 5, 6, 3), (4, 2, 0, 5, 1, 6)) - del x1754 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1755, (2, 3, 4, 0, 5, 6), (4, 5, 2, 1, 6, 3)) * -1.0 - del x1755 - x1756 = np.zeros((naocc[0], nocc[0], nocc[1], nocc[1]), dtype=np.float64) - x1756 += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.ovov, (4, 2, 5, 3), (0, 4, 1, 5)) - x1757 = np.zeros((naocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1757 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1756, (2, 0, 3, 4), (2, 3, 4, 1)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), x1757, (4, 5, 1, 6), (0, 5, 4, 6, 3, 2)) * -1.0 - del x1757 - x1758 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1758 += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), x778, (4, 5, 6, 2), (0, 4, 5, 6, 1, 3)) - del x778 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1758, (2, 3, 4, 0, 5, 6), (4, 5, 2, 1, 6, 3)) - del x1758 - x1759 = np.zeros((navir[0], nocc[0], nocc[1], nocc[1]), dtype=np.float64) - x1759 += einsum(x0, (0, 1), t2.abab[np.ix_(soa,sob,sVa,svb)], (2, 3, 4, 1), (4, 2, 3, 0)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), x1759, (4, 5, 6, 1), (5, 6, 0, 2, 3, 4)) - del x1759 - x1760 = np.zeros((naocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1760 += einsum(x0, (0, 1), t2.abab[np.ix_(sOa,sob,sva,svb)], (2, 3, 4, 1), (2, 3, 0, 4)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), x1760, (4, 5, 1, 6), (0, 5, 4, 6, 3, 2)) - del x1760 - x1761 = np.zeros((naocc[0], navir[0], nocc[0], nocc[1], nvir[0], nvir[1]), dtype=np.float64) - x1761 += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), x830, (4, 5, 0, 6), (4, 2, 5, 1, 6, 3)) * -1.0 - del x830 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x1761, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -1.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x1761, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -1.0 - del x1761 - x1762 = np.zeros((naocc[0], navir[0], nocc[0], nocc[1], nvir[0], nvir[1]), dtype=np.float64) - x1762 += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), x817, (4, 5, 6, 2), (0, 4, 5, 1, 6, 3)) * -1.0 - del x817 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x1762, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -1.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(x1762, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -1.0 - del x1762 - x1763 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1763 += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), x814, (4, 5, 6, 2), (0, 4, 5, 6, 1, 3)) - del x814 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1763, (2, 3, 4, 0, 5, 6), (4, 5, 2, 1, 6, 3)) * 2.0 - del x1763 - x1764 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1764 += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), x809, (4, 5, 6, 2), (0, 4, 5, 6, 1, 3)) - del x809 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1764, (2, 3, 4, 0, 5, 6), (4, 5, 2, 1, 6, 3)) * -2.0 - del x1764 - x1765 = np.zeros((naocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1765 += einsum(x11, (0, 1), t2.abab[np.ix_(sOa,sob,sva,svb)], (2, 3, 1, 4), (2, 0, 3, 4)) - del x11 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), x1765, (4, 1, 5, 6), (0, 5, 4, 2, 6, 3)) * -2.0 - del x1765 - x1766 = np.zeros((naocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1766 += einsum(x12, (0, 1), t2.abab[np.ix_(sOa,sob,sva,svb)], (2, 3, 1, 4), (2, 0, 3, 4)) - del x12 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), x1766, (4, 1, 5, 6), (0, 5, 4, 2, 6, 3)) * 2.0 - del x1766 - x1767 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1767 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x771, (4, 5, 6, 7, 1, 3), (4, 5, 6, 7, 0, 2)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1767, (2, 3, 4, 0, 5, 6), (4, 5, 2, 1, 6, 3)) * -4.0 - del x1767 - x1768 = np.zeros((navir[0], nocc[1], nvir[0], nvir[1]), dtype=np.float64) - x1768 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x713, (4, 1, 5, 3), (4, 0, 5, 2)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sva)], (0, 1, 2, 3), x1768, (4, 5, 3, 6), (0, 5, 1, 2, 6, 4)) * -4.0 - del x1768 - x1769 = np.zeros((naocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1769 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x716, (4, 5, 1, 3), (4, 5, 0, 2)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), x1769, (4, 1, 5, 6), (0, 5, 4, 2, 6, 3)) * -4.0 - del x1769 - x1770 = np.zeros((naocc[0], navir[0], nocc[1], nocc[1]), dtype=np.float64) - x1770 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x564, (2, 3, 4, 1), (2, 3, 0, 4)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1770, (4, 5, 6, 1), (0, 6, 4, 2, 3, 5)) * -1.0 - del x1770 - x1771 = np.zeros((naocc[0], navir[0], nocc[1], nocc[1]), dtype=np.float64) - x1771 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x565, (2, 3, 4, 1), (2, 3, 0, 4)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1771, (4, 5, 6, 1), (0, 6, 4, 2, 3, 5)) - del x1771 - x1772 = np.zeros((naocc[0], navir[0], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1772 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x564, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) - del x564 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1772, (2, 3, 4, 5, 0, 6), (4, 5, 2, 6, 1, 3)) * -1.0 - del x1772 - x1773 = np.zeros((naocc[0], navir[0], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1773 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x565, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) - del x565 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1773, (2, 3, 4, 5, 0, 6), (4, 5, 2, 6, 1, 3)) - del x1773 - x1774 = np.zeros((naocc[0], navir[0], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x1774 += einsum(t2.abab[np.ix_(sOa,sob,sVa,svb)], (0, 1, 2, 3), v.bbbb.ovov, (4, 5, 6, 3), (0, 2, 1, 4, 6, 5)) - x1775 = np.zeros((naocc[0], navir[0], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1775 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1774, (4, 5, 6, 7, 1, 3), (4, 5, 0, 6, 7, 2)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1775, (2, 3, 4, 5, 0, 6), (4, 5, 2, 6, 1, 3)) - del x1775 - x1776 = np.zeros((naocc[0], navir[0], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1776 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1774, (4, 5, 6, 1, 7, 3), (4, 5, 0, 6, 7, 2)) - del x1774 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1776, (2, 3, 4, 5, 0, 6), (4, 5, 2, 6, 1, 3)) * -1.0 - del x1776 - x1777 = np.zeros((naocc[0], navir[0], nocc[1], nocc[1]), dtype=np.float64) - x1777 += einsum(x1, (0, 1), t2.abab[np.ix_(sOa,sob,sVa,svb)], (2, 3, 4, 1), (2, 4, 3, 0)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1777, (4, 5, 6, 1), (0, 6, 4, 2, 3, 5)) * -1.0 - del x1777 - x1778 = np.zeros((naocc[0], navir[0], nocc[1], nocc[1]), dtype=np.float64) - x1778 += einsum(x20, (0, 1), t2.abab[np.ix_(sOa,sob,sVa,svb)], (2, 3, 4, 1), (2, 4, 3, 0)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1778, (4, 5, 6, 1), (0, 6, 4, 2, 3, 5)) - del x1778 - x1779 = np.zeros((naocc[0], navir[0], nocc[1], nocc[1]), dtype=np.float64) - x1779 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x582, (2, 3, 4, 1), (2, 3, 0, 4)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1779, (4, 5, 6, 1), (0, 6, 4, 2, 3, 5)) * -2.0 - del x1779 - x1780 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[1], nocc[1]), dtype=np.float64) - x1780 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x771, (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 0, 6)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1780, (4, 5, 6, 0, 7, 1), (6, 7, 4, 2, 3, 5)) * 2.0 - x1781 = np.zeros((naocc[0], navir[0], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1781 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sVa)], (0, 1, 2, 3), x176, (4, 0, 5, 6), (1, 3, 4, 5, 6, 2)) - del x176 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1781, (2, 3, 4, 5, 0, 6), (4, 5, 2, 6, 1, 3)) * 2.0 - del x1781 - x1782 = np.zeros((naocc[0], navir[0], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1782 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x582, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) - del x582 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1782, (2, 3, 4, 5, 0, 6), (4, 5, 2, 6, 1, 3)) * -2.0 - del x1782 - x1783 = np.zeros((naocc[0], navir[0], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1783 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x771, (4, 5, 6, 0, 7, 3), (4, 5, 6, 1, 7, 2)) - del x771 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1783, (2, 3, 4, 5, 0, 6), (4, 5, 2, 6, 1, 3)) * 2.0 - del x1783 - x1784 = np.zeros((naocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1784 += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), x16, (4, 1, 5, 3), (0, 4, 5, 2)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), x1784, (4, 5, 1, 6), (0, 5, 4, 6, 3, 2)) - del x1784 - x1785 = np.zeros((navir[0], nocc[0], nocc[1], nocc[1]), dtype=np.float64) - x1785 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x552, (2, 3, 4, 1), (2, 3, 0, 4)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), x1785, (4, 5, 6, 1), (5, 6, 0, 2, 3, 4)) * -1.0 - del x1785 - x1786 = np.zeros((naocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1786 += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), x16, (4, 5, 1, 3), (0, 4, 5, 2)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), x1786, (4, 5, 1, 6), (0, 5, 4, 6, 3, 2)) * -1.0 - del x1786 - x1787 = np.zeros((navir[0], nocc[0], nocc[1], nocc[1]), dtype=np.float64) - x1787 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x550, (2, 3, 4, 1), (2, 3, 0, 4)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), x1787, (4, 5, 6, 1), (5, 6, 0, 2, 3, 4)) - del x1787 - x1788 = np.zeros((naocc[0], navir[0], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1788 += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), x557, (4, 5, 6, 3), (4, 2, 0, 1, 5, 6)) - del x557 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1788, (2, 3, 4, 5, 0, 6), (4, 5, 2, 6, 1, 3)) - del x1788 - x1789 = np.zeros((naocc[0], navir[0], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1789 += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), x559, (4, 5, 6, 3), (4, 2, 0, 1, 5, 6)) - del x559 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1789, (2, 3, 4, 5, 0, 6), (4, 5, 2, 6, 1, 3)) * -1.0 - del x1789 - x1790 = np.zeros((naocc[0], navir[0], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1790 += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), x552, (4, 5, 6, 3), (0, 4, 5, 1, 6, 2)) - del x552 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1790, (2, 3, 4, 5, 0, 6), (4, 5, 2, 6, 1, 3)) * -1.0 - del x1790 - x1791 = np.zeros((naocc[0], navir[0], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1791 += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), x550, (4, 5, 6, 3), (0, 4, 5, 1, 6, 2)) - del x550 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1791, (2, 3, 4, 5, 0, 6), (4, 5, 2, 6, 1, 3)) - del x1791 - x1792 = np.zeros((navir[0], nocc[0], nocc[1], nocc[1]), dtype=np.float64) - x1792 += einsum(x1, (0, 1), t2.abab[np.ix_(soa,sob,sVa,svb)], (2, 3, 4, 1), (4, 2, 3, 0)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), x1792, (4, 5, 6, 1), (5, 6, 0, 2, 3, 4)) - del x1792 - x1793 = np.zeros((navir[0], nocc[0], nocc[1], nocc[1]), dtype=np.float64) - x1793 += einsum(x20, (0, 1), t2.abab[np.ix_(soa,sob,sVa,svb)], (2, 3, 4, 1), (4, 2, 3, 0)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), x1793, (4, 5, 6, 1), (5, 6, 0, 2, 3, 4)) * -1.0 - del x1793 - x1794 = np.zeros((naocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1794 += einsum(x1, (0, 1), t2.abab[np.ix_(sOa,sob,sva,svb)], (2, 3, 4, 1), (2, 3, 0, 4)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), x1794, (4, 5, 1, 6), (0, 5, 4, 6, 3, 2)) - del x1794 - x1795 = np.zeros((naocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1795 += einsum(x20, (0, 1), t2.abab[np.ix_(sOa,sob,sva,svb)], (2, 3, 4, 1), (2, 3, 0, 4)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), x1795, (4, 5, 1, 6), (0, 5, 4, 6, 3, 2)) * -1.0 - del x1795 - x1796 = np.zeros((naocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1796 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sva)], (0, 1, 2, 3), x13, (0, 4, 5, 3), (1, 4, 5, 2)) * -1.0 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), x1796, (4, 5, 1, 6), (0, 5, 4, 6, 3, 2)) * 2.0 - del x1796 - x1797 = np.zeros((navir[0], nocc[1], nvir[0], nvir[1]), dtype=np.float64) - x1797 += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), x13, (0, 4, 1, 5), (2, 4, 5, 3)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sva)], (0, 1, 2, 3), x1797, (4, 5, 3, 6), (0, 5, 1, 2, 6, 4)) * 2.0 - del x1797 - x1798 = np.zeros((naocc[0], navir[0], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1798 += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), x577, (4, 5, 6, 3), (4, 2, 0, 1, 5, 6)) - del x577 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1798, (2, 3, 4, 5, 0, 6), (4, 5, 2, 6, 1, 3)) * 2.0 - del x1798 - x1799 = np.zeros((naocc[0], navir[0], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1799 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sva)], (0, 1, 2, 3), x1751, (4, 5, 6, 3), (1, 4, 0, 5, 6, 2)) * -1.0 - del x1751 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1799, (2, 3, 4, 5, 0, 6), (4, 5, 2, 6, 1, 3)) * -2.0 - del x1799 - x1800 = np.zeros((navir[0], nocc[0], nocc[1], nocc[1]), dtype=np.float64) - x1800 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x573, (2, 3, 4, 1), (2, 3, 0, 4)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), x1800, (4, 5, 6, 1), (5, 6, 0, 2, 3, 4)) * 2.0 - del x1800 - x1801 = np.zeros((naocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1801 += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), x13, (4, 5, 1, 2), (0, 4, 5, 3)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), x1801, (4, 1, 5, 6), (0, 5, 4, 2, 6, 3)) * 2.0 - del x1801 - x1802 = np.zeros((naocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1802 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1756, (2, 3, 4, 0), (2, 3, 4, 1)) - del x1756 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), x1802, (4, 1, 5, 6), (0, 5, 4, 2, 6, 3)) * 2.0 - del x1802 - x1803 = np.zeros((naocc[0], navir[0], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1803 += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), x573, (4, 5, 6, 3), (0, 4, 5, 1, 6, 2)) - del x573 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1803, (2, 3, 4, 5, 0, 6), (4, 5, 2, 6, 1, 3)) * 2.0 - del x1803 - x1804 = np.zeros((naocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1804 += einsum(x15, (0, 1), t2.abab[np.ix_(sOa,sob,sva,svb)], (2, 3, 1, 4), (2, 0, 3, 4)) - del x15 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), x1804, (4, 1, 5, 6), (0, 5, 4, 2, 6, 3)) * -2.0 - del x1804 - x1805 = np.zeros((naocc[0], navir[0], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1805 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x1513, (4, 5, 1, 6, 7, 3), (4, 5, 0, 6, 7, 2)) - del x1513 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1805, (2, 3, 4, 5, 0, 6), (4, 5, 2, 6, 1, 3)) * -2.0 - del x1805 - x1806 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1806 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x904, (4, 5, 6, 2), (4, 5, 0, 6, 1, 3)) - del x904 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1806, (2, 3, 4, 0, 5, 6), (4, 5, 2, 1, 6, 3)) * -1.0 - del x1806 - x1807 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1807 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x907, (4, 5, 6, 2), (4, 5, 0, 6, 1, 3)) - del x907 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1807, (2, 3, 4, 0, 5, 6), (4, 5, 2, 1, 6, 3)) - del x1807 - x1808 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1808 += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), x888, (4, 5, 6, 2), (0, 4, 5, 6, 1, 3)) - del x888 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1808, (2, 3, 4, 0, 5, 6), (4, 5, 2, 1, 6, 3)) - del x1808 - x1809 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1809 += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), x893, (4, 5, 6, 2), (0, 4, 5, 6, 1, 3)) - del x893 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1809, (2, 3, 4, 0, 5, 6), (4, 5, 2, 1, 6, 3)) * -1.0 - del x1809 - x1810 = np.zeros((naocc[0], navir[0], nocc[1], nocc[1]), dtype=np.float64) - x1810 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x719, (2, 3, 4, 1), (2, 3, 0, 4)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1810, (4, 5, 6, 1), (0, 6, 4, 2, 3, 5)) - del x1810 - x1811 = np.zeros((naocc[0], navir[0], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1811 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x719, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) - del x719 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1811, (2, 3, 4, 5, 0, 6), (4, 5, 2, 6, 1, 3)) - del x1811 - x1812 = np.zeros((naocc[0], nocc[0], nocc[1], nocc[1]), dtype=np.float64) - x1812 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x716, (2, 3, 4, 1), (2, 3, 0, 4)) - x1813 = np.zeros((naocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1813 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1812, (2, 0, 3, 4), (2, 3, 4, 1)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), x1813, (4, 5, 1, 6), (0, 5, 4, 6, 3, 2)) * -1.0 - del x1813 - x1814 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[1], nocc[1]), dtype=np.float64) - x1814 += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), x716, (4, 5, 6, 3), (4, 2, 0, 5, 1, 6)) - del x716 - x1815 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1815 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1814, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 6, 1)) - del x1814 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1815, (2, 3, 4, 0, 5, 6), (4, 5, 2, 1, 6, 3)) * -1.0 - del x1815 - x1816 = np.zeros((navir[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1816 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x713, (2, 3, 4, 1), (2, 0, 3, 4)) - del x713 - x1817 = np.zeros((navir[0], nocc[0], nocc[1], nocc[1]), dtype=np.float64) - x1817 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1816, (2, 3, 4, 1), (2, 0, 3, 4)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), x1817, (4, 5, 6, 1), (5, 6, 0, 2, 3, 4)) * -1.0 - del x1817 - x1818 = np.zeros((naocc[0], navir[0], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1818 += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), x714, (4, 5, 6, 3), (0, 4, 5, 1, 6, 2)) - del x714 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1818, (2, 3, 4, 5, 0, 6), (4, 5, 2, 6, 1, 3)) * -1.0 - del x1818 - x1819 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1819 += einsum(t2.abab[np.ix_(sOa,sob,sVa,svb)], (0, 1, 2, 3), x197, (4, 5, 6, 1), (0, 2, 4, 5, 6, 3)) - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1819, (2, 3, 4, 0, 5, 6), (4, 5, 2, 1, 6, 3)) - del x1819 - x1820 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1820 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1736, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 6, 1)) - del x1736 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1820, (2, 3, 4, 0, 5, 6), (4, 5, 2, 1, 6, 3)) - del x1820 - x1821 = np.zeros((naocc[0], navir[0], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1821 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sVa)], (0, 1, 2, 3), x197, (4, 0, 5, 6), (1, 3, 4, 5, 6, 2)) - del x197 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1821, (2, 3, 4, 5, 0, 6), (4, 5, 2, 6, 1, 3)) * 2.0 - del x1821 - x1822 = np.zeros((naocc[0], navir[0], nocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1822 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1780, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 6, 1)) - del x1780 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x1822, (2, 3, 4, 0, 5, 6), (4, 5, 2, 1, 6, 3)) * 2.0 - del x1822 - x1823 = np.zeros((naocc[0], navir[0], nocc[0], nocc[1], nocc[1], nvir[0]), dtype=np.float64) - x1823 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sva)], (0, 1, 2, 3), x1816, (4, 5, 6, 3), (1, 4, 0, 5, 6, 2)) * -1.0 - del x1816 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1823, (2, 3, 4, 5, 0, 6), (4, 5, 2, 6, 1, 3)) * -2.0 - del x1823 - x1824 = np.zeros((naocc[0], nocc[0], nocc[1], nvir[1]), dtype=np.float64) - x1824 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1812, (2, 3, 4, 0), (2, 3, 4, 1)) - del x1812 - t3new_abaaba[np.ix_(soa,sob,sOfa,sva,svb,sVfa)] += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), x1824, (4, 1, 5, 6), (0, 5, 4, 2, 6, 3)) * 2.0 - del x1824 - x1825 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1825 += einsum(f.bb.oo, (0, 1), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (2, 1, 3, 4, 5, 6), (3, 6, 0, 2, 4, 5)) - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1825, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -6.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1825, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 6.0 - del x1825 - x1826 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1826 += einsum(f.bb.vv, (0, 1), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (2, 3, 4, 5, 1, 6), (4, 6, 2, 3, 0, 5)) - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1826, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -6.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1826, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 6.0 - del x1826 - x1827 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1827 += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), v.bbbb.oovO, (4, 1, 5, 6), (6, 3, 0, 4, 2, 5)) * -1.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1827, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1827, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1827, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1827, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - del x1827 - x1828 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1828 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), v.bbbb.ooOV, (4, 1, 5, 6), (5, 6, 0, 4, 2, 3)) - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1828, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1828, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - del x1828 - x1829 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1829 += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), v.bbbb.ovoO, (4, 5, 1, 6), (6, 3, 0, 4, 2, 5)) * -1.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1829, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1829, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1829, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1829, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -2.0 - del x1829 - x1830 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1830 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), v.bbbb.oOoV, (1, 4, 5, 6), (4, 6, 0, 5, 2, 3)) - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1830, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1830, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - del x1830 - x1831 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1831 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,svb)], (0, 1, 2, 3), v.bbbb.oooV, (4, 0, 5, 6), (1, 6, 5, 4, 2, 3)) * -1.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1831, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1831, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - del x1831 - x1832 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1832 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,sVb)], (0, 1, 2, 3), v.bbbb.ooov, (4, 0, 5, 6), (1, 3, 4, 5, 2, 6)) - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1832, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1832, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1832, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1832, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - del x1832 - x1833 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1833 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,svb)], (0, 1, 2, 3), v.bbbb.ovvV, (4, 5, 3, 6), (1, 6, 0, 4, 2, 5)) * -1.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1833, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1833, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1833, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1833, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 2.0 - del x1833 - x1834 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1834 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,svb)], (0, 1, 2, 3), v.bbbb.oVvv, (4, 5, 6, 3), (1, 5, 0, 4, 2, 6)) * -1.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1834, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1834, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1834, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1834, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - del x1834 - x1835 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1835 += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), v.bbbb.vvvO, (4, 2, 5, 6), (6, 3, 0, 1, 5, 4)) * -1.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1835, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1835, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - del x1835 - x1836 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1836 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), v.bbbb.vvOV, (4, 3, 5, 6), (5, 6, 0, 1, 2, 4)) - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1836, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1836, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - del x1836 - x1837 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1837 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), v.bbbb.vOvV, (4, 5, 3, 6), (5, 6, 0, 1, 2, 4)) - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1837, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1837, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - del x1837 - x1838 = np.zeros((naocc[1], navir[1], navir[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x1838 += einsum(v.aabb.ovoV, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 0, 5, 6, 1, 7), (5, 7, 3, 4, 2, 6)) - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,sVb,sVfb)] += einsum(x1838, (0, 1, 2, 3, 4, 5), (4, 3, 0, 5, 1, 2)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,sVb,sVfb)] += einsum(x1838, (0, 1, 2, 3, 4, 5), (3, 4, 0, 5, 1, 2)) * -2.0 - del x1838 - x1839 = np.zeros((naocc[1], naocc[1], navir[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1839 += einsum(v.aabb.ovvO, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 0, 5, 6, 1, 7), (5, 3, 7, 4, 6, 2)) - t3new_bbbbbb[np.ix_(sob,sOb,sOfb,svb,svb,sVfb)] += einsum(x1839, (0, 1, 2, 3, 4, 5), (3, 0, 1, 5, 4, 2)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sOb,sOfb,svb,svb,sVfb)] += einsum(x1839, (0, 1, 2, 3, 4, 5), (3, 0, 1, 4, 5, 2)) * -2.0 - del x1839 - x1840 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1840 += einsum(v.bbbb.ooOO, (0, 1, 2, 3), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (4, 1, 3, 5, 6, 7), (2, 7, 4, 0, 5, 6)) - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1840, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 6.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1840, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -6.0 - del x1840 - x1841 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1841 += einsum(v.bbbb.oovv, (0, 1, 2, 3), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (4, 1, 5, 6, 3, 7), (5, 7, 4, 0, 6, 2)) - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1841, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -6.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1841, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 6.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1841, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 6.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1841, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -6.0 - del x1841 - x1842 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1842 += einsum(v.bbbb.ooVV, (0, 1, 2, 3), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (4, 1, 5, 6, 7, 3), (5, 2, 4, 0, 6, 7)) - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1842, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -6.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1842, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 6.0 - del x1842 - x1843 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1843 += einsum(v.bbbb.oVoV, (0, 1, 2, 3), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (4, 2, 5, 6, 7, 3), (5, 1, 4, 0, 6, 7)) - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1843, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 6.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1843, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -6.0 - del x1843 - x1844 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1844 += einsum(v.bbbb.vOvO, (0, 1, 2, 3), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (4, 5, 3, 6, 2, 7), (1, 7, 4, 5, 6, 0)) - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1844, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -6.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1844, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 6.0 - del x1844 - x1845 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1845 += einsum(v.bbbb.vvOO, (0, 1, 2, 3), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (4, 5, 3, 6, 1, 7), (2, 7, 4, 5, 6, 0)) - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1845, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 6.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1845, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -6.0 - del x1845 - x1846 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1846 += einsum(v.bbbb.vvVV, (0, 1, 2, 3), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (4, 5, 6, 7, 1, 3), (6, 2, 4, 5, 7, 0)) - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1846, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -6.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1846, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 6.0 - del x1846 - x1847 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1847 += einsum(x4, (0, 1), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (2, 0, 3, 4, 5, 6), (3, 6, 1, 2, 4, 5)) - del x4 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1847, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -6.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1847, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 6.0 - del x1847 - x1848 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x1848 += einsum(f.bb.ov, (0, 1), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (2, 3, 4, 5, 1, 6), (4, 6, 0, 2, 3, 5)) - x1849 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1849 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1848, (2, 3, 0, 4, 5, 6), (2, 3, 4, 5, 1, 6)) - del x1848 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1849, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 6.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1849, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -6.0 - del x1849 - x1850 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1850 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x926, (4, 5, 1, 6), (4, 5, 6, 0, 2, 3)) - del x926 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1850, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1850, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -4.0 - del x1850 - x1851 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1851 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,sVb)], (0, 1, 2, 3), x220, (0, 4, 5, 6), (1, 3, 4, 5, 2, 6)) - del x220 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1851, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1851, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 4.0 - del x1851 - x1852 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1852 += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), x927, (4, 1, 5, 6), (4, 3, 5, 0, 6, 2)) * -1.0 - del x927 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1852, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1852, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1852, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1852, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -4.0 - del x1852 - x1853 = np.zeros((navir[1], nocc[1], nocc[1], nocc[1]), dtype=np.float64) - x1853 += einsum(f.bb.ov, (0, 1), t2.bbbb[np.ix_(sob,sob,svb,sVb)], (2, 3, 1, 4), (4, 0, 2, 3)) * -1.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(t2.bbbb[np.ix_(sob,sOb,svb,svb)], (0, 1, 2, 3), x1853, (4, 0, 5, 6), (6, 5, 1, 2, 3, 4)) * 4.0 - del x1853 - x1854 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1854 += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), x942, (4, 1, 5, 6), (4, 3, 0, 5, 6, 2)) * -1.0 - del x942 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1854, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1854, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1854, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1854, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - del x1854 - x1855 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1855 += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), x943, (4, 5, 1, 6), (4, 3, 0, 5, 6, 2)) * -1.0 - del x943 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1855, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1855, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1855, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1855, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - del x1855 - x1856 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1856 += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), x945, (4, 5, 1, 6), (4, 3, 5, 0, 2, 6)) * -1.0 - del x945 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1856, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1856, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1856, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1856, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - del x1856 - x1857 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1857 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x171, (4, 5, 6, 1), (4, 5, 6, 0, 2, 3)) - del x171 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1857, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1857, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - del x1857 - x1858 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x1858 += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), v.bbbb.ovvO, (4, 2, 5, 6), (6, 3, 0, 1, 4, 5)) * -1.0 - x1859 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1859 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1858, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x1858 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1859, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1859, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - del x1859 - x1860 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x1860 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), v.bbbb.ovOV, (4, 3, 5, 6), (5, 6, 0, 1, 4, 2)) - x1861 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1861 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1860, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x1860 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1861, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1861, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - del x1861 - x1862 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1862 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x947, (4, 5, 6, 1), (4, 5, 6, 0, 2, 3)) - del x947 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1862, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1862, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - del x1862 - x1863 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1863 += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), x948, (4, 5, 1, 6), (4, 3, 5, 0, 2, 6)) * -1.0 - del x948 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1863, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1863, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1863, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1863, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - del x1863 - x1864 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x1864 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), v.bbbb.oOvV, (4, 5, 3, 6), (5, 6, 0, 1, 4, 2)) - x1865 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1865 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1864, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x1864 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1865, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1865, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - del x1865 - x1866 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x1866 += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), v.bbbb.oOvv, (4, 5, 6, 2), (5, 3, 0, 1, 4, 6)) * -1.0 - x1867 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1867 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1866, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x1866 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1867, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1867, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - del x1867 - x1868 = np.zeros((navir[1], nocc[1], nocc[1], nocc[1]), dtype=np.float64) - x1868 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.bbbb.oovV, (2, 3, 1, 4), (4, 0, 2, 3)) - x1869 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1869 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,svb)], (0, 1, 2, 3), x1868, (4, 5, 6, 0), (1, 4, 5, 6, 2, 3)) * -1.0 - del x1868 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1869, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1869, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - del x1869 - x1870 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1870 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,sVb)], (0, 1, 2, 3), x222, (4, 5, 0, 6), (1, 3, 4, 5, 2, 6)) - del x222 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1870, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1870, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1870, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1870, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - del x1870 - x1871 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x1871 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,sVb)], (0, 1, 2, 3), v.bbbb.oooo, (4, 5, 6, 0), (1, 3, 4, 5, 6, 2)) - x1872 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1872 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1871, (2, 3, 0, 4, 5, 6), (2, 3, 4, 5, 1, 6)) - del x1871 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1872, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1872, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1872, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1872, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - del x1872 - x1873 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x1873 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,svb)], (0, 1, 2, 3), v.bbbb.oovV, (4, 5, 3, 6), (1, 6, 0, 4, 5, 2)) * -1.0 - x1874 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1874 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1873, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 1, 6)) - del x1873 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1874, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1874, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1874, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1874, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - del x1874 - x1875 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x1875 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,sVb)], (0, 1, 2, 3), v.bbbb.oovv, (4, 5, 6, 2), (1, 3, 0, 4, 5, 6)) - x1876 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1876 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1875, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 1, 6)) - del x1875 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1876, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1876, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1876, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1876, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - del x1876 - x1877 = np.zeros((navir[1], nocc[1], nocc[1], nocc[1]), dtype=np.float64) - x1877 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.bbbb.ovoV, (2, 1, 3, 4), (4, 0, 3, 2)) - x1878 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1878 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,svb)], (0, 1, 2, 3), x1877, (4, 5, 6, 0), (1, 4, 5, 6, 2, 3)) * -1.0 - del x1877 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1878, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1878, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - del x1878 - x1879 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1879 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,sVb)], (0, 1, 2, 3), x16, (4, 5, 0, 6), (1, 3, 4, 5, 2, 6)) - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1879, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1879, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1879, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1879, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 2.0 - del x1879 - x1880 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x1880 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,svb)], (0, 1, 2, 3), v.bbbb.ovoV, (4, 3, 5, 6), (1, 6, 0, 5, 4, 2)) * -1.0 - x1881 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1881 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1880, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x1880 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1881, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1881, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1881, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1881, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - del x1881 - x1882 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1882 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1413, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1882, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1882, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1882, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1882, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - del x1882 - x1883 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1883 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x954, (4, 5, 1, 6), (4, 5, 0, 6, 2, 3)) - del x954 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1883, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1883, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - del x1883 - x1884 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1884 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x955, (4, 5, 6, 1), (4, 5, 0, 6, 2, 3)) - del x955 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1884, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1884, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - del x1884 - x1885 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1885 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x957, (4, 5, 6, 3), (4, 5, 0, 1, 2, 6)) - del x957 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1885, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1885, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - del x1885 - x1886 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1886 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x958, (4, 5, 6, 3), (4, 5, 0, 1, 2, 6)) - del x958 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1886, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1886, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - del x1886 - x1887 = np.zeros((navir[1], nocc[1], nocc[1], nocc[1]), dtype=np.float64) - x1887 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), v.bbbb.oooo, (2, 3, 4, 0), (1, 2, 3, 4)) - x1888 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1888 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,svb)], (0, 1, 2, 3), x1887, (4, 5, 0, 6), (1, 4, 6, 5, 2, 3)) * -1.0 - del x1887 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1888, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1888, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - del x1888 - x1889 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1889 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,svb)], (0, 1, 2, 3), x960, (4, 5, 6, 3), (1, 4, 0, 5, 2, 6)) * -1.0 - del x960 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1889, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1889, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1889, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1889, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - del x1889 - x1890 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1890 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,svb)], (0, 1, 2, 3), x961, (4, 5, 6, 3), (1, 4, 0, 5, 2, 6)) * -1.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1890, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1890, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1890, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1890, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -2.0 - del x1890 - x1891 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1891 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,svb)], (0, 1, 2, 3), x963, (4, 5, 3, 6), (1, 4, 5, 0, 2, 6)) * -1.0 - del x963 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1891, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1891, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1891, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1891, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -2.0 - del x1891 - x1892 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1892 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,svb)], (0, 1, 2, 3), x964, (4, 5, 6, 3), (1, 4, 5, 0, 2, 6)) * -1.0 - del x964 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1892, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1892, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1892, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1892, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 2.0 - del x1892 - x1893 = np.zeros((naocc[1], navir[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=np.float64) - x1893 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,sVb)], (0, 1, 2, 3), v.bbbb.vvvv, (4, 5, 6, 2), (1, 3, 0, 4, 5, 6)) - x1894 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1894 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1893, (2, 3, 4, 1, 5, 6), (2, 3, 0, 4, 5, 6)) - del x1893 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1894, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1894, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1894, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1894, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - del x1894 - x1895 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1895 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x970, (4, 5, 6, 1), (4, 5, 0, 6, 2, 3)) - del x970 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1895, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1895, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - del x1895 - x1896 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1896 += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), x972, (4, 5, 1, 6), (4, 3, 0, 5, 2, 6)) * -1.0 - del x972 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1896, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1896, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1896, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1896, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - del x1896 - x1897 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1897 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x974, (4, 5, 6, 1), (4, 5, 0, 6, 2, 3)) - del x974 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1897, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1897, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - del x1897 - x1898 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1898 += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), x975, (4, 5, 1, 6), (4, 3, 0, 5, 2, 6)) * -1.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1898, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1898, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1898, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1898, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -2.0 - del x1898 - x1899 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1899 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x976, (4, 5, 3, 6), (4, 5, 0, 1, 2, 6)) - del x976 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1899, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1899, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - del x1899 - x1900 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1900 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x977, (4, 5, 6, 3), (4, 5, 0, 1, 2, 6)) - del x977 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1900, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1900, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - del x1900 - x1901 = np.zeros((naocc[1], nvir[1], nvir[1], nvir[1]), dtype=np.float64) - x1901 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), v.bbbb.vvvv, (2, 3, 4, 1), (0, 2, 3, 4)) - x1902 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1902 += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), x1901, (4, 5, 2, 6), (4, 3, 0, 1, 6, 5)) * -1.0 - del x1901 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1902, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1902, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - del x1902 - x1903 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1903 += einsum(x6, (0, 1), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (2, 1, 3, 4, 5, 6), (3, 6, 2, 0, 4, 5)) - del x6 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1903, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -6.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1903, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 6.0 - del x1903 - x1904 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1904 += einsum(x5, (0, 1), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (2, 3, 4, 5, 1, 6), (4, 6, 2, 3, 5, 0)) - del x5 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1904, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -6.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1904, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 6.0 - del x1904 - x1905 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1905 += einsum(x140, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 0, 5, 6, 2, 7), (5, 7, 1, 4, 6, 3)) - del x140 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1905, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1905, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1905, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1905, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 2.0 - del x1905 - x1906 = np.zeros((naocc[1], navir[1], navir[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x1906 += einsum(x1201, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 1, 5, 6, 3, 7), (5, 7, 0, 2, 4, 6)) - del x1201 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,sVb,sVfb)] += einsum(x1906, (0, 1, 2, 3, 4, 5), (3, 4, 0, 5, 1, 2)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,sVb,sVfb)] += einsum(x1906, (0, 1, 2, 3, 4, 5), (4, 3, 0, 5, 1, 2)) * -2.0 - del x1906 - x1907 = np.zeros((naocc[1], naocc[1], navir[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x1907 += einsum(v.aabb.ovoO, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 0, 5, 6, 1, 7), (5, 3, 7, 4, 2, 6)) - x1908 = np.zeros((naocc[1], naocc[1], navir[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1908 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1907, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x1907 - t3new_bbbbbb[np.ix_(sob,sOb,sOfb,svb,svb,sVfb)] += einsum(x1908, (0, 1, 2, 3, 4, 5), (3, 0, 1, 4, 5, 2)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sOb,sOfb,svb,svb,sVfb)] += einsum(x1908, (0, 1, 2, 3, 4, 5), (3, 0, 1, 5, 4, 2)) * 2.0 - del x1908 - x1909 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x1909 += einsum(v.aabb.ovoo, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 0, 5, 6, 1, 7), (5, 7, 4, 2, 3, 6)) - x1910 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1910 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1909, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 1, 6)) - del x1909 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1910, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1910, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1910, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1910, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - del x1910 - x1911 = np.zeros((naocc[1], navir[1], navir[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x1911 += einsum(x1210, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 1, 5, 6, 3, 7), (5, 0, 7, 4, 2, 6)) - del x1210 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,sVb,sVfb)] += einsum(x1911, (0, 1, 2, 3, 4, 5), (4, 3, 0, 5, 2, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,sVb,sVfb)] += einsum(x1911, (0, 1, 2, 3, 4, 5), (3, 4, 0, 5, 2, 1)) * 2.0 - del x1911 - x1912 = np.zeros((naocc[1], naocc[1], navir[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1912 += einsum(x1215, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 1, 5, 6, 2, 7), (0, 5, 7, 4, 6, 3)) - del x1215 - t3new_bbbbbb[np.ix_(sob,sOb,sOfb,svb,svb,sVfb)] += einsum(x1912, (0, 1, 2, 3, 4, 5), (3, 1, 0, 5, 4, 2)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sOb,sOfb,svb,svb,sVfb)] += einsum(x1912, (0, 1, 2, 3, 4, 5), (3, 1, 0, 4, 5, 2)) * -2.0 - del x1912 - x1913 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1913 += einsum(x234, (0, 1, 2, 3), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (2, 3, 4, 5, 6, 7), (4, 7, 0, 1, 5, 6)) - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1913, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 6.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1913, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -6.0 - del x1913 - x1914 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x1914 += einsum(v.bbbb.ooov, (0, 1, 2, 3), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (4, 2, 5, 6, 3, 7), (5, 7, 4, 0, 1, 6)) - x1915 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1915 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1914, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 1, 6)) - del x1914 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1915, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -6.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1915, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 6.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1915, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 6.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1915, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -6.0 - del x1915 - x1916 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x1916 += einsum(v.bbbb.ooov, (0, 1, 2, 3), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (4, 1, 5, 6, 3, 7), (5, 7, 4, 0, 2, 6)) - x1917 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1917 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1916, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x1916 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1917, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 6.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1917, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -6.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1917, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -6.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1917, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 6.0 - del x1917 - x1918 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1918 += einsum(x7, (0, 1), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (2, 1, 3, 4, 5, 6), (3, 6, 2, 0, 4, 5)) - del x7 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1918, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 6.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1918, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -6.0 - del x1918 - x1919 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1919 += einsum(x8, (0, 1), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (2, 1, 3, 4, 5, 6), (3, 6, 2, 0, 4, 5)) - del x8 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1919, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -6.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1919, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 6.0 - del x1919 - x1920 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1920 += einsum(x1005, (0, 1, 2, 3), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (4, 3, 1, 5, 6, 7), (0, 7, 2, 4, 5, 6)) - del x1005 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1920, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 6.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1920, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -6.0 - del x1920 - x1921 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1921 += einsum(x160, (0, 1, 2, 3), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (4, 1, 5, 6, 3, 7), (5, 7, 0, 4, 6, 2)) - del x160 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1921, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -6.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1921, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 6.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1921, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 6.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1921, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -6.0 - del x1921 - x1922 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1922 += einsum(x161, (0, 1, 2, 3), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (4, 1, 5, 6, 2, 7), (5, 7, 0, 4, 6, 3)) - del x161 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1922, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 6.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1922, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -6.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1922, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -6.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1922, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 6.0 - del x1922 - x1923 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1923 += einsum(x1006, (0, 1, 2, 3), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (4, 3, 5, 6, 7, 1), (5, 0, 2, 4, 6, 7)) - del x1006 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1923, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -6.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1923, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 6.0 - del x1923 - x1924 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1924 += einsum(x1007, (0, 1, 2, 3), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (4, 3, 5, 6, 7, 0), (5, 1, 2, 4, 6, 7)) - del x1007 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1924, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 6.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1924, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -6.0 - del x1924 - x1925 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x1925 += einsum(v.bbbb.ovOO, (0, 1, 2, 3), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (4, 5, 3, 6, 1, 7), (2, 7, 4, 5, 0, 6)) - x1926 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1926 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1925, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x1925 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1926, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -6.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1926, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 6.0 - del x1926 - x1927 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x1927 += einsum(v.bbbb.oOvO, (0, 1, 2, 3), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (4, 5, 3, 6, 2, 7), (1, 7, 4, 5, 0, 6)) - x1928 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1928 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1927, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x1927 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1928, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 6.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1928, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -6.0 - del x1928 - x1929 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x1929 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (4, 5, 6, 3, 1, 7), (6, 7, 4, 5, 0, 2)) * -1.0 - x1930 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1930 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1929, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x1929 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1930, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -6.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1930, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 6.0 - del x1930 - x1931 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x1931 += einsum(v.bbbb.ovVV, (0, 1, 2, 3), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (4, 5, 6, 7, 1, 3), (6, 2, 4, 5, 0, 7)) - x1932 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1932 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1931, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x1931 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1932, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 6.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1932, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -6.0 - del x1932 - x1933 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1933 += einsum(x10, (0, 1), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (2, 3, 4, 5, 1, 6), (4, 6, 2, 3, 5, 0)) - del x10 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1933, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -6.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1933, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 6.0 - del x1933 - x1934 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1934 += einsum(x9, (0, 1), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (2, 3, 4, 5, 0, 6), (4, 6, 2, 3, 5, 1)) - del x9 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1934, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 6.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1934, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -6.0 - del x1934 - x1935 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1935 += einsum(x1015, (0, 1, 2, 3), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (4, 2, 5, 6, 7, 1), (5, 0, 4, 3, 6, 7)) - del x1015 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1935, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -6.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1935, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 6.0 - del x1935 - x1936 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1936 += einsum(x1016, (0, 1, 2, 3), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (4, 3, 5, 6, 7, 1), (5, 0, 4, 2, 6, 7)) - del x1016 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1936, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 6.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1936, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -6.0 - del x1936 - x1937 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1937 += einsum(x1020, (0, 1, 2, 3), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (4, 5, 6, 7, 3, 1), (6, 0, 4, 5, 7, 2)) - del x1020 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1937, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -6.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1937, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 6.0 - del x1937 - x1938 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1938 += einsum(x1023, (0, 1, 2, 3), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (4, 3, 1, 5, 6, 7), (0, 7, 4, 2, 5, 6)) - del x1023 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1938, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 6.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1938, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -6.0 - del x1938 - x1939 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1939 += einsum(x1025, (0, 1, 2, 3), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (4, 5, 1, 6, 3, 7), (0, 7, 4, 5, 6, 2)) - del x1025 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1939, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 6.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1939, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -6.0 - del x1939 - x1940 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1940 += einsum(x1026, (0, 1, 2, 3), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (4, 5, 1, 6, 2, 7), (0, 7, 4, 5, 6, 3)) - del x1026 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1940, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -6.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1940, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 6.0 - del x1940 - x1941 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1941 += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), x1034, (4, 5, 1, 6), (4, 3, 0, 5, 2, 6)) * -1.0 - del x1034 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1941, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1941, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1941, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1941, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - del x1941 - x1942 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1942 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x1031, (4, 5, 6, 1), (4, 5, 6, 0, 2, 3)) - del x1031 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1942, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1942, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - del x1942 - x1943 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1943 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,sVb)], (0, 1, 2, 3), x232, (4, 5, 0, 6), (1, 3, 4, 5, 2, 6)) - del x232 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1943, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1943, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1943, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1943, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - del x1943 - x1944 = np.zeros((navir[1], nocc[1], nocc[1], nocc[1]), dtype=np.float64) - x1944 += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), v.aabb.ovoo, (0, 2, 4, 5), (3, 1, 4, 5)) * -1.0 - x1945 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1945 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,svb)], (0, 1, 2, 3), x1944, (4, 5, 6, 0), (1, 4, 5, 6, 2, 3)) * -1.0 - del x1944 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1945, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1945, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - del x1945 - x1946 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1946 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,svb)], (0, 1, 2, 3), x1051, (4, 5, 6, 3), (1, 4, 0, 5, 2, 6)) * -1.0 - del x1051 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1946, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1946, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1946, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1946, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - del x1946 - x1947 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1947 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x915, (4, 5, 0, 6, 2, 7), (4, 5, 6, 1, 3, 7)) - del x915 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1947, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1947, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1947, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1947, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 2.0 - del x1947 - x1948 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1948 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,svb)], (0, 1, 2, 3), x1063, (4, 5, 6, 3), (1, 4, 0, 5, 2, 6)) * -1.0 - del x1063 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1948, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1948, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1948, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1948, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - del x1948 - x1949 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1949 += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), x1044, (4, 5, 1, 6), (4, 3, 0, 5, 6, 2)) * -1.0 - del x1044 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1949, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1949, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1949, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1949, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 2.0 - del x1949 - x1950 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1950 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x1042, (4, 5, 6, 1), (4, 5, 0, 6, 2, 3)) - del x1042 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1950, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1950, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - del x1950 - x1951 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1951 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x1049, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) - del x1049 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1951, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1951, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - del x1951 - x1952 = np.zeros((naocc[1], nvir[1], nvir[1], nvir[1]), dtype=np.float64) - x1952 += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), v.aabb.ovvv, (0, 2, 4, 5), (1, 3, 4, 5)) * -1.0 - x1953 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1953 += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), x1952, (4, 5, 6, 2), (4, 3, 0, 1, 5, 6)) * -1.0 - del x1952 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1953, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1953, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - del x1953 - x1954 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1954 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x1054, (4, 5, 6, 3), (4, 5, 0, 1, 2, 6)) - del x1054 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1954, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1954, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - del x1954 - x1955 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1955 += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), x1073, (4, 5, 1, 6), (4, 3, 0, 5, 2, 6)) * -1.0 - del x1073 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1955, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1955, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1955, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1955, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 4.0 - del x1955 - x1956 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1956 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x1067, (4, 5, 6, 1), (4, 5, 6, 0, 2, 3)) - del x1067 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1956, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1956, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -4.0 - del x1956 - x1957 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1957 += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), x1072, (4, 5, 1, 6), (4, 3, 0, 5, 2, 6)) * -1.0 - del x1072 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1957, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1957, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1957, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1957, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -4.0 - del x1957 - x1958 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1958 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x1069, (4, 5, 6, 1), (4, 5, 6, 0, 2, 3)) - del x1069 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1958, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1958, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 4.0 - del x1958 - x1959 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1959 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x1070, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) - del x1070 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1959, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1959, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1959, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1959, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - del x1959 - x1960 = np.zeros((naocc[1], nvir[1], nvir[1], nvir[1]), dtype=np.float64) - x1960 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), v.bbbb.ovoO, (1, 4, 0, 5), (5, 2, 3, 4)) - x1961 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1961 += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), x1960, (4, 5, 6, 2), (4, 3, 0, 1, 5, 6)) * -1.0 - del x1960 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1961, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1961, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - del x1961 - x1962 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1962 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,sVb)], (0, 1, 2, 3), x238, (4, 5, 0, 6), (1, 3, 4, 5, 2, 6)) - del x238 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1962, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1962, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1962, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1962, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 4.0 - del x1962 - x1963 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1963 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x1074, (4, 5, 6, 1), (4, 5, 0, 6, 2, 3)) - del x1074 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1963, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1963, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -4.0 - del x1963 - x1964 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1964 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,sVb)], (0, 1, 2, 3), x236, (4, 5, 0, 6), (1, 3, 4, 5, 2, 6)) - del x236 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1964, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1964, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1964, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1964, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -4.0 - del x1964 - x1965 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1965 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x1075, (4, 5, 6, 1), (4, 5, 0, 6, 2, 3)) - del x1075 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1965, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1965, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 4.0 - del x1965 - x1966 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nocc[1], nocc[1]), dtype=np.float64) - x1966 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,sVb)], (0, 1, 2, 3), v.bbbb.ooov, (4, 5, 6, 2), (1, 3, 0, 4, 5, 6)) - x1967 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1967 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x1966, (4, 5, 6, 0, 7, 1), (4, 5, 6, 7, 2, 3)) - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1967, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1967, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1967, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1967, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - del x1967 - x1968 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1968 += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), x1078, (4, 5, 1, 6), (4, 3, 0, 5, 6, 2)) * -1.0 - del x1078 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1968, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1968, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1968, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1968, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -4.0 - del x1968 - x1969 = np.zeros((navir[1], nocc[1], nocc[1], nocc[1]), dtype=np.float64) - x1969 += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), v.bbbb.ooov, (4, 1, 5, 2), (3, 0, 4, 5)) * -1.0 - x1970 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1970 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,svb)], (0, 1, 2, 3), x1969, (4, 5, 6, 0), (1, 4, 5, 6, 2, 3)) * -1.0 - del x1969 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1970, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1970, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -4.0 - del x1970 - x1971 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1971 += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), x1079, (4, 5, 1, 6), (4, 3, 0, 5, 6, 2)) * -1.0 - del x1079 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1971, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1971, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1971, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1971, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 4.0 - del x1971 - x1972 = np.zeros((navir[1], nocc[1], nocc[1], nocc[1]), dtype=np.float64) - x1972 += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), v.bbbb.ooov, (4, 5, 1, 2), (3, 0, 4, 5)) * -1.0 - x1973 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1973 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,svb)], (0, 1, 2, 3), x1972, (4, 5, 6, 0), (1, 4, 5, 6, 2, 3)) * -1.0 - del x1972 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1973, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1973, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 4.0 - del x1973 - x1974 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1974 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,svb)], (0, 1, 2, 3), x1094, (4, 5, 6, 3), (1, 4, 0, 5, 2, 6)) * -1.0 - del x1094 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1974, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1974, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1974, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1974, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1974, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1974, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1974, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1974, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -2.0 - del x1974 - x1975 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1975 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,svb)], (0, 1, 2, 3), x1099, (4, 5, 6, 3), (1, 4, 0, 5, 2, 6)) * -1.0 - del x1099 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1975, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1975, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1975, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1975, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -4.0 - del x1975 - x1976 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1976 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x1083, (4, 5, 6, 1), (4, 5, 6, 0, 2, 3)) - del x1083 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1976, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1976, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1976, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1976, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - del x1976 - x1977 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1977 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,svb)], (0, 1, 2, 3), x1098, (4, 5, 6, 3), (1, 4, 0, 5, 2, 6)) * -1.0 - del x1098 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1977, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1977, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1977, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1977, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 4.0 - del x1977 - x1978 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1978 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x1086, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) - del x1086 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1978, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1978, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -4.0 - del x1978 - x1979 = np.zeros((navir[1], nocc[1], nocc[1], nocc[1]), dtype=np.float64) - x1979 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), v.bbbb.ovvV, (4, 3, 2, 5), (5, 0, 1, 4)) - x1980 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1980 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,svb)], (0, 1, 2, 3), x1979, (4, 5, 6, 0), (1, 4, 5, 6, 2, 3)) * -1.0 - del x1979 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1980, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1980, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - del x1980 - x1981 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1981 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x1087, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) - del x1087 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1981, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1981, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 4.0 - del x1981 - x1982 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1982 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x1088, (4, 5, 6, 1, 3, 7), (4, 5, 6, 0, 2, 7)) - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1982, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1982, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1982, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1982, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 4.0 - del x1982 - x1983 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1983 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x1089, (4, 5, 6, 1, 7, 3), (4, 5, 6, 0, 2, 7)) - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1983, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1983, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1983, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1983, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -4.0 - del x1983 - x1984 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1984 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x1090, (4, 5, 3, 6), (4, 5, 0, 1, 2, 6)) - del x1090 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1984, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1984, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 4.0 - del x1984 - x1985 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1985 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,sVb)], (0, 1, 2, 3), x244, (4, 5, 0, 6), (1, 3, 4, 5, 2, 6)) - del x244 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1985, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1985, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1985, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1985, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - del x1985 - x1986 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1986 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x1091, (4, 5, 6, 3), (4, 5, 0, 1, 2, 6)) - del x1091 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1986, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1986, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -4.0 - del x1986 - x1987 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1987 += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), x1092, (4, 5, 1, 6), (4, 3, 5, 0, 2, 6)) * -1.0 - del x1092 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1987, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1987, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1987, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1987, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1987, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1987, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1987, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1987, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - del x1987 - x1988 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1988 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,svb)], (0, 1, 2, 3), x1101, (4, 5, 6, 3), (1, 4, 0, 5, 2, 6)) * -1.0 - del x1101 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1988, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1988, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1988, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1988, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -4.0 - del x1988 - x1989 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1989 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,svb)], (0, 1, 2, 3), x1100, (4, 5, 3, 6), (1, 4, 0, 5, 2, 6)) * -1.0 - del x1100 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1989, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1989, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1989, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1989, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 4.0 - del x1989 - x1990 = np.zeros((naocc[1], nvir[1], nvir[1], nvir[1]), dtype=np.float64) - x1990 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,svb)], (0, 1, 2, 3), v.bbbb.ovvv, (0, 4, 5, 3), (1, 2, 4, 5)) * -1.0 - x1991 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1991 += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), x1990, (4, 5, 2, 6), (4, 3, 0, 1, 5, 6)) * -1.0 - del x1990 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1991, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1991, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -4.0 - del x1991 - x1992 = np.zeros((naocc[1], nvir[1], nvir[1], nvir[1]), dtype=np.float64) - x1992 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,svb)], (0, 1, 2, 3), v.bbbb.ovvv, (0, 3, 4, 5), (1, 2, 4, 5)) * -1.0 - x1993 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1993 += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), x1992, (4, 5, 6, 2), (4, 3, 0, 1, 5, 6)) * -1.0 - del x1992 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1993, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1993, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 4.0 - del x1993 - x1994 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1994 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x917, (4, 5, 0, 6, 2, 7), (4, 5, 1, 6, 3, 7)) - del x917 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1994, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1994, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1994, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1994, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - del x1994 - x1995 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1995 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x1171, (4, 5, 0, 6, 2, 7), (4, 5, 1, 6, 3, 7)) - del x1171 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1995, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1995, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1995, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x1995, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - del x1995 - x1996 = np.zeros((naocc[1], navir[1], navir[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x1996 += einsum(x1337, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 1, 5, 6, 3, 7), (5, 0, 7, 2, 4, 6)) - del x1337 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,sVb,sVfb)] += einsum(x1996, (0, 1, 2, 3, 4, 5), (3, 4, 0, 5, 2, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,sVb,sVfb)] += einsum(x1996, (0, 1, 2, 3, 4, 5), (4, 3, 0, 5, 2, 1)) * 2.0 - del x1996 - x1997 = np.zeros((naocc[1], navir[1], navir[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x1997 += einsum(x1334, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 1, 5, 6, 3, 7), (5, 0, 7, 2, 4, 6)) - del x1334 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,sVb,sVfb)] += einsum(x1997, (0, 1, 2, 3, 4, 5), (3, 4, 0, 5, 2, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,sVb,sVfb)] += einsum(x1997, (0, 1, 2, 3, 4, 5), (4, 3, 0, 5, 2, 1)) * -2.0 - del x1997 - x1998 = np.zeros((naocc[1], naocc[1], navir[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1998 += einsum(x1344, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 1, 5, 6, 2, 7), (0, 5, 7, 4, 3, 6)) - del x1344 - t3new_bbbbbb[np.ix_(sob,sOb,sOfb,svb,svb,sVfb)] += einsum(x1998, (0, 1, 2, 3, 4, 5), (3, 1, 0, 4, 5, 2)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sOb,sOfb,svb,svb,sVfb)] += einsum(x1998, (0, 1, 2, 3, 4, 5), (3, 1, 0, 5, 4, 2)) * 2.0 - del x1998 - x1999 = np.zeros((naocc[1], naocc[1], navir[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x1999 += einsum(x1346, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 1, 5, 6, 2, 7), (0, 5, 7, 4, 3, 6)) - del x1346 - t3new_bbbbbb[np.ix_(sob,sOb,sOfb,svb,svb,sVfb)] += einsum(x1999, (0, 1, 2, 3, 4, 5), (3, 1, 0, 4, 5, 2)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sOb,sOfb,svb,svb,sVfb)] += einsum(x1999, (0, 1, 2, 3, 4, 5), (3, 1, 0, 5, 4, 2)) * -2.0 - del x1999 - x2000 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2000 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x918, (4, 5, 0, 6, 2, 7), (4, 5, 1, 6, 3, 7)) - del x918 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2000, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 6.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2000, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -6.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2000, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -6.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2000, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 6.0 - del x2000 - x2001 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2001 += einsum(x14, (0, 1), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (2, 1, 3, 4, 5, 6), (3, 6, 0, 2, 4, 5)) - del x14 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2001, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -6.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2001, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 6.0 - del x2001 - x2002 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2002 += einsum(x177, (0, 1), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (2, 3, 4, 5, 1, 6), (4, 6, 2, 3, 0, 5)) - del x177 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2002, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 6.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2002, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -6.0 - del x2002 - x2003 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2003 += einsum(x1141, (0, 1, 2, 3), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (4, 3, 5, 6, 7, 1), (5, 0, 2, 4, 6, 7)) - del x1141 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2003, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 6.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2003, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -6.0 - del x2003 - x2004 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2004 += einsum(x1148, (0, 1, 2, 3), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (4, 5, 1, 6, 3, 7), (0, 7, 4, 5, 2, 6)) - del x1148 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2004, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 6.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2004, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -6.0 - del x2004 - x2005 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2005 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x1130, (4, 5, 6, 3), (4, 5, 0, 1, 2, 6)) - del x1130 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2005, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2005, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 4.0 - del x2005 - x2006 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2006 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x1131, (4, 5, 6, 1), (4, 5, 0, 6, 2, 3)) - del x1131 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2006, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2006, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -4.0 - del x2006 - x2007 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2007 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x1133, (4, 5, 6, 1, 7, 3), (4, 5, 0, 6, 2, 7)) - del x1133 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2007, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2007, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2007, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2007, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 4.0 - del x2007 - x2008 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2008 += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), x250, (4, 5, 1, 6), (4, 3, 0, 5, 2, 6)) * -1.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2008, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2008, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2008, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2008, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 4.0 - del x2008 - x2009 = np.zeros((naocc[1], navir[1], navir[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x2009 += einsum(x1371, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 1, 5, 6, 3, 7), (5, 0, 7, 2, 4, 6)) - del x1371 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,sVb,sVfb)] += einsum(x2009, (0, 1, 2, 3, 4, 5), (3, 4, 0, 5, 2, 1)) * 4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,sVb,sVfb)] += einsum(x2009, (0, 1, 2, 3, 4, 5), (4, 3, 0, 5, 2, 1)) * -4.0 - del x2009 - x2010 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2010 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,svb)], (0, 1, 2, 3), x1146, (4, 5, 6, 3), (1, 4, 0, 5, 2, 6)) * -1.0 - del x1146 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2010, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2010, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2010, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2010, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 4.0 - del x2010 - x2011 = np.zeros((naocc[1], naocc[1], navir[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2011 += einsum(x1366, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 1, 5, 6, 2, 7), (0, 5, 7, 4, 3, 6)) - del x1366 - t3new_bbbbbb[np.ix_(sob,sOb,sOfb,svb,svb,sVfb)] += einsum(x2011, (0, 1, 2, 3, 4, 5), (3, 1, 0, 4, 5, 2)) * 4.0 - t3new_bbbbbb[np.ix_(sob,sOb,sOfb,svb,svb,sVfb)] += einsum(x2011, (0, 1, 2, 3, 4, 5), (3, 1, 0, 5, 4, 2)) * -4.0 - del x2011 - x2012 = np.zeros((naocc[1], naocc[1], navir[1], nocc[0], nocc[1], nvir[0]), dtype=np.float64) - x2012 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,sVb)], (0, 1, 2, 3), v.aabb.ovvO, (4, 5, 2, 6), (1, 6, 3, 4, 0, 5)) - x2013 = np.zeros((naocc[1], navir[1], navir[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x2013 += einsum(t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (0, 1, 2, 3, 4, 5), x2012, (6, 2, 7, 1, 8, 4), (6, 7, 5, 8, 0, 3)) - del x2012 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,sVb,sVfb)] += einsum(x2013, (0, 1, 2, 3, 4, 5), (3, 4, 0, 5, 2, 1)) * 4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,sVb,sVfb)] += einsum(x2013, (0, 1, 2, 3, 4, 5), (4, 3, 0, 5, 2, 1)) * -4.0 - del x2013 - x2014 = np.zeros((naocc[1], naocc[1], navir[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2014 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,sVb)], (0, 1, 2, 3), x250, (4, 5, 0, 6), (1, 4, 3, 5, 2, 6)) - del x250 - t3new_bbbbbb[np.ix_(sob,sOb,sOfb,svb,svb,sVfb)] += einsum(x2014, (0, 1, 2, 3, 4, 5), (3, 1, 0, 4, 5, 2)) * 4.0 - t3new_bbbbbb[np.ix_(sob,sOb,sOfb,svb,svb,sVfb)] += einsum(x2014, (0, 1, 2, 3, 4, 5), (3, 1, 0, 5, 4, 2)) * -4.0 - del x2014 - x2015 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2015 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x1153, (4, 5, 6, 3), (4, 5, 0, 1, 2, 6)) - del x1153 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2015, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -6.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2015, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 6.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2015, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -6.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2015, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 6.0 - del x2015 - x2016 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2016 += einsum(x265, (0, 1, 2, 3), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (2, 3, 4, 5, 6, 7), (4, 7, 1, 0, 5, 6)) * -1.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2016, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -3.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2016, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -3.0 - del x2016 - x2017 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2017 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x1155, (4, 5, 6, 1), (4, 5, 0, 6, 2, 3)) - del x1155 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2017, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 12.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2017, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -12.0 - del x2017 - x2018 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2018 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x1156, (4, 5, 6, 1, 7, 3), (4, 5, 0, 6, 2, 7)) - del x1156 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2018, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 12.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2018, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -12.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2018, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -12.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2018, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 12.0 - del x2018 - x2019 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2019 += einsum(x18, (0, 1), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (2, 1, 3, 4, 5, 6), (3, 6, 0, 2, 4, 5)) * -1.0 - del x18 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2019, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 6.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2019, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 6.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2019, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -6.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2019, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -6.0 - del x2019 - x2020 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2020 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x1157, (4, 5, 6, 1, 7, 3), (4, 5, 0, 6, 2, 7)) - del x1157 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2020, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -12.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2020, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 12.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2020, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 12.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2020, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -12.0 - del x2020 - x2021 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nocc[1], nocc[1]), dtype=np.float64) - x2021 += einsum(v.bbbb.ovov, (0, 1, 2, 3), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (4, 5, 6, 3, 1, 7), (6, 7, 4, 5, 0, 2)) * -1.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x2021, (4, 5, 6, 7, 1, 0), (6, 7, 4, 2, 3, 5)) * -6.0 - x2022 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2022 += einsum(x183, (0, 1), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (2, 3, 4, 5, 1, 6), (4, 6, 2, 3, 0, 5)) * -1.0 - del x183 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2022, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -6.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2022, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 6.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2022, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -6.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2022, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 6.0 - del x2022 - x2023 = np.zeros((naocc[1], nvir[1], nvir[1], nvir[1]), dtype=np.float64) - x2023 += einsum(v.bbbb.ovoV, (0, 1, 2, 3), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (2, 0, 4, 5, 6, 3), (4, 5, 6, 1)) - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), x2023, (4, 5, 6, 2), (0, 1, 4, 5, 6, 3)) * 6.0 - del x2023 - x2024 = np.zeros((naocc[1], nvir[1], nvir[1], nvir[1]), dtype=np.float64) - x2024 += einsum(v.bbbb.ovoV, (0, 1, 2, 3), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (2, 0, 4, 5, 6, 3), (4, 5, 6, 1)) - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), x2024, (4, 5, 6, 2), (0, 1, 4, 5, 6, 3)) * 6.0 - del x2024 - x2025 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2025 += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), x1158, (4, 5, 1, 6), (4, 3, 0, 5, 2, 6)) * -1.0 - del x1158 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2025, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -12.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2025, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 12.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2025, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 12.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2025, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -12.0 - del x2025 - x2026 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2026 += einsum(x1175, (0, 1, 2, 3), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (4, 3, 5, 6, 7, 1), (5, 0, 2, 4, 6, 7)) - del x1175 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2026, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 12.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2026, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -12.0 - del x2026 - x2027 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2027 += einsum(x1176, (0, 1, 2, 3), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (4, 3, 5, 6, 7, 1), (5, 0, 2, 4, 6, 7)) - del x1176 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2027, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -12.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2027, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 12.0 - del x2027 - x2028 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2028 += einsum(x1177, (0, 1, 2, 3), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (4, 5, 6, 7, 3, 1), (6, 0, 4, 5, 2, 7)) - del x1177 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2028, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -6.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2028, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 6.0 - del x2028 - x2029 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2029 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,svb)], (0, 1, 2, 3), x1159, (4, 5, 6, 3), (1, 4, 0, 5, 2, 6)) * -1.0 - del x1159 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2029, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -6.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2029, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 6.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2029, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 6.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2029, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -6.0 - del x2029 - x2030 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2030 += einsum(x1181, (0, 1, 2, 3), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (4, 3, 1, 5, 6, 7), (0, 7, 2, 4, 5, 6)) - del x1181 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2030, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 3.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2030, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 3.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2030, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -3.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2030, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -3.0 - del x2030 - x2031 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2031 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,svb)], (0, 1, 2, 3), x1160, (4, 5, 6, 3), (1, 4, 0, 5, 2, 6)) * -1.0 - del x1160 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2031, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 6.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2031, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -6.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2031, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -6.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2031, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 6.0 - del x2031 - x2032 = np.zeros((navir[1], nocc[1], nocc[1], nocc[1]), dtype=np.float64) - x2032 += einsum(v.bbbb.ovvO, (0, 1, 2, 3), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (4, 5, 3, 2, 1, 6), (6, 4, 5, 0)) - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(t2.bbbb[np.ix_(sob,sOb,svb,svb)], (0, 1, 2, 3), x2032, (4, 5, 6, 0), (6, 5, 1, 2, 3, 4)) * -12.0 - del x2032 - x2033 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2033 += einsum(x1184, (0, 1, 2, 3), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (4, 5, 1, 6, 3, 7), (0, 7, 4, 5, 2, 6)) - del x1184 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2033, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -12.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2033, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 12.0 - del x2033 - x2034 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2034 += einsum(x1185, (0, 1), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (2, 3, 1, 4, 5, 6), (0, 6, 2, 3, 4, 5)) - del x1185 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2034, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 6.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2034, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 6.0 - del x2034 - x2035 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2035 += einsum(x1187, (0, 1, 2, 3), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (4, 5, 1, 6, 3, 7), (0, 7, 4, 5, 2, 6)) - del x1187 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2035, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 12.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2035, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -12.0 - del x2035 - x2036 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2036 += einsum(t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (0, 1, 2, 3, 4, 5), x1188, (6, 2, 7, 5, 8, 1), (6, 7, 8, 0, 3, 4)) - del x1188 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2036, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -6.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2036, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 6.0 - del x2036 - x2037 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2037 += einsum(t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (0, 1, 2, 3, 4, 5), x1189, (6, 2, 7, 5, 8, 1), (6, 7, 8, 0, 3, 4)) - del x1189 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2037, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 6.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2037, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -6.0 - del x2037 - x2038 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2038 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,sVb)], (0, 1, 2, 3), x254, (4, 5, 0, 6), (1, 3, 4, 5, 2, 6)) - del x254 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2038, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 12.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2038, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -12.0 - del x2038 - x2039 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2039 += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), x1231, (4, 5, 1, 6), (4, 3, 5, 0, 6, 2)) * -1.0 - del x1231 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2039, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2039, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2039, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2039, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - del x2039 - x2040 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2040 += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), x1232, (4, 5, 1, 6), (4, 3, 5, 0, 6, 2)) * -1.0 - del x1232 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2040, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2040, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2040, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2040, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - del x2040 - x2041 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nocc[1], nocc[1]), dtype=np.float64) - x2041 += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), v.bbbb.ovoO, (4, 2, 5, 6), (6, 3, 0, 1, 5, 4)) * -1.0 - x2042 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x2042 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x2041, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 6, 1)) - del x2041 - x2043 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2043 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x2042, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x2042 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2043, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2043, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - del x2043 - x2044 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x2044 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,sVb)], (0, 1, 2, 3), x234, (4, 5, 6, 0), (1, 3, 4, 6, 5, 2)) - x2045 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2045 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x2044, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 1, 6)) - del x2044 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2045, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2045, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2045, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2045, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - del x2045 - x2046 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x2046 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,sVb)], (0, 1, 2, 3), x234, (4, 5, 0, 6), (1, 3, 4, 5, 6, 2)) - del x234 - x2047 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2047 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x2046, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x2046 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2047, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2047, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2047, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2047, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - del x2047 - x2048 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x2048 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1966, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 6, 1)) - del x1966 - x2049 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2049 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x2048, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 1, 6)) - del x2048 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2049, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2049, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2049, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2049, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - del x2049 - x2050 = np.zeros((navir[1], nocc[1], nocc[1], nocc[1]), dtype=np.float64) - x2050 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1234, (2, 3, 4, 1), (2, 0, 3, 4)) - x2051 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2051 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,svb)], (0, 1, 2, 3), x2050, (4, 5, 6, 0), (1, 4, 5, 6, 2, 3)) * -1.0 - del x2050 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2051, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2051, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - del x2051 - x2052 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2052 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,sVb)], (0, 1, 2, 3), x269, (4, 5, 0, 6), (1, 3, 4, 5, 2, 6)) - del x269 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2052, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2052, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2052, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2052, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - del x2052 - x2053 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x2053 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,svb)], (0, 1, 2, 3), x1234, (4, 5, 6, 3), (1, 4, 5, 0, 6, 2)) * -1.0 - del x1234 - x2054 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2054 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x2053, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x2053 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2054, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2054, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2054, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2054, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - del x2054 - x2055 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x2055 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,svb)], (0, 1, 2, 3), x1236, (4, 5, 6, 3), (1, 4, 5, 0, 6, 2)) * -1.0 - del x1236 - x2056 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2056 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x2055, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x2055 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2056, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2056, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2056, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2056, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - del x2056 - x2057 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x2057 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1088, (2, 3, 4, 5, 1, 6), (2, 3, 0, 4, 5, 6)) - del x1088 - x2058 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2058 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x2057, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x2057 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2058, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2058, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2058, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2058, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - del x2058 - x2059 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x2059 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1089, (2, 3, 4, 5, 6, 1), (2, 3, 0, 4, 5, 6)) - del x1089 - x2060 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2060 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x2059, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x2059 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2060, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2060, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2060, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2060, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - del x2060 - x2061 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2061 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x1239, (4, 5, 6, 1), (4, 5, 6, 0, 2, 3)) - del x1239 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2061, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2061, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - del x2061 - x2062 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2062 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x1241, (4, 5, 6, 1), (4, 5, 6, 0, 2, 3)) - del x1241 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2062, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2062, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - del x2062 - x2063 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x2063 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x1240, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) - del x1240 - x2064 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2064 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x2063, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x2063 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2064, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2064, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - del x2064 - x2065 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x2065 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x1238, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) - del x1238 - x2066 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2066 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x2065, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x2065 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2066, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2066, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - del x2066 - x2067 = np.zeros((navir[1], nocc[1], nocc[1], nocc[1]), dtype=np.float64) - x2067 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1247, (2, 3, 4, 1), (2, 0, 3, 4)) - x2068 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2068 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,svb)], (0, 1, 2, 3), x2067, (4, 5, 6, 0), (1, 4, 5, 6, 2, 3)) * -1.0 - del x2067 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2068, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2068, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - del x2068 - x2069 = np.zeros((navir[1], nocc[1], nocc[1], nocc[1]), dtype=np.float64) - x2069 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1245, (2, 3, 4, 1), (2, 0, 4, 3)) - x2070 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2070 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,svb)], (0, 1, 2, 3), x2069, (4, 5, 0, 6), (1, 4, 5, 6, 2, 3)) * -1.0 - del x2069 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2070, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2070, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - del x2070 - x2071 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x2071 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,svb)], (0, 1, 2, 3), x1245, (4, 5, 6, 3), (1, 4, 0, 6, 5, 2)) * -1.0 - del x1245 - x2072 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2072 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x2071, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 1, 6)) - del x2071 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2072, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2072, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2072, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2072, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - del x2072 - x2073 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x2073 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,svb)], (0, 1, 2, 3), x1247, (4, 5, 6, 3), (1, 4, 0, 5, 6, 2)) * -1.0 - del x1247 - x2074 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2074 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x2073, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x2073 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2074, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2074, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2074, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2074, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - del x2074 - x2075 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2075 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,svb)], (0, 1, 2, 3), x1250, (4, 5, 3, 6), (1, 4, 5, 0, 2, 6)) * -1.0 - del x1250 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2075, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2075, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2075, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2075, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - del x2075 - x2076 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2076 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,svb)], (0, 1, 2, 3), x1251, (4, 5, 3, 6), (1, 4, 5, 0, 2, 6)) * -1.0 - del x1251 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2076, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2076, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2076, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2076, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - del x2076 - x2077 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2077 += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), x1255, (4, 5, 1, 6), (4, 3, 0, 5, 6, 2)) * -1.0 - del x1255 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2077, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2077, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2077, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2077, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - del x2077 - x2078 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2078 += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), x1256, (4, 1, 5, 6), (4, 3, 0, 5, 6, 2)) * -1.0 - del x1256 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2078, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2078, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2078, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2078, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - del x2078 - x2079 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2079 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x1259, (4, 5, 6, 1), (4, 5, 6, 0, 2, 3)) - del x1259 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2079, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2079, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - del x2079 - x2080 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2080 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x1261, (4, 5, 6, 1), (4, 5, 6, 0, 2, 3)) - del x1261 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2080, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2080, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - del x2080 - x2081 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2081 += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), x1263, (4, 5, 1, 6), (4, 3, 5, 0, 2, 6)) * -1.0 - del x1263 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2081, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2081, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2081, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2081, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - del x2081 - x2082 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2082 += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), x1265, (4, 5, 1, 6), (4, 3, 5, 0, 2, 6)) * -1.0 - del x1265 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2082, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2082, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2082, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2082, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - del x2082 - x2083 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x2083 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x1260, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) - del x1260 - x2084 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2084 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x2083, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x2083 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2084, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2084, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - del x2084 - x2085 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x2085 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x1258, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) - del x1258 - x2086 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2086 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x2085, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x2085 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2086, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2086, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - del x2086 - x2087 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x2087 += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), x1264, (4, 5, 6, 2), (4, 3, 0, 1, 5, 6)) * -1.0 - del x1264 - x2088 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2088 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x2087, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x2087 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2088, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2088, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - del x2088 - x2089 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x2089 += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), x1262, (4, 5, 2, 6), (4, 3, 0, 1, 5, 6)) * -1.0 - del x1262 - x2090 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2090 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x2089, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x2089 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2090, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2090, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - del x2090 - x2091 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2091 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x1268, (4, 5, 6, 1), (4, 5, 0, 6, 2, 3)) - del x1268 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2091, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2091, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - del x2091 - x2092 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2092 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x1269, (4, 5, 1, 6), (4, 5, 0, 6, 2, 3)) - del x1269 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2092, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2092, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - del x2092 - x2093 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2093 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x1271, (4, 5, 3, 6), (4, 5, 0, 1, 2, 6)) - del x1271 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2093, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2093, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - del x2093 - x2094 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2094 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x1272, (4, 5, 3, 6), (4, 5, 0, 1, 2, 6)) - del x1272 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2094, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2094, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - del x2094 - x2095 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2095 += einsum(x21, (0, 1), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (2, 1, 3, 4, 5, 6), (3, 6, 0, 2, 4, 5)) - del x21 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2095, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -6.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2095, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 6.0 - del x2095 - x2096 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x2096 += einsum(x0, (0, 1), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (2, 3, 4, 5, 1, 6), (4, 6, 2, 3, 0, 5)) - x2097 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2097 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x2096, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x2096 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2097, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 6.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2097, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -6.0 - del x2097 - x2098 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x2098 += einsum(x13, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 0, 5, 6, 3, 7), (5, 7, 1, 4, 2, 6)) - del x13 - x2099 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2099 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x2098, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x2098 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2099, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2099, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2099, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2099, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - del x2099 - x2100 = np.zeros((naocc[1], navir[1], navir[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x2100 += einsum(x1460, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 1, 5, 6, 3, 7), (5, 0, 7, 2, 4, 6)) - del x1460 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,sVb,sVfb)] += einsum(x2100, (0, 1, 2, 3, 4, 5), (3, 4, 0, 5, 2, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,sVb,sVfb)] += einsum(x2100, (0, 1, 2, 3, 4, 5), (4, 3, 0, 5, 2, 1)) * 2.0 - del x2100 - x2101 = np.zeros((naocc[1], naocc[1], navir[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x2101 += einsum(x982, (0, 1, 2, 3), t3.babbab[np.ix_(sob,soa,sOfb,svb,sva,sVfb)], (4, 1, 5, 6, 3, 7), (0, 5, 7, 4, 2, 6)) - del x982 - x2102 = np.zeros((naocc[1], naocc[1], navir[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2102 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x2101, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x2101 - t3new_bbbbbb[np.ix_(sob,sOb,sOfb,svb,svb,sVfb)] += einsum(x2102, (0, 1, 2, 3, 4, 5), (3, 1, 0, 4, 5, 2)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sOb,sOfb,svb,svb,sVfb)] += einsum(x2102, (0, 1, 2, 3, 4, 5), (3, 1, 0, 5, 4, 2)) * 2.0 - del x2102 - x2103 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2103 += einsum(x276, (0, 1, 2, 3), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (2, 3, 4, 5, 6, 7), (4, 7, 1, 0, 5, 6)) * -1.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2103, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -3.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2103, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -3.0 - del x2103 - x2104 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x2104 += einsum(x16, (0, 1, 2, 3), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (4, 1, 5, 6, 3, 7), (5, 7, 0, 4, 2, 6)) - x2105 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2105 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x2104, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x2104 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2105, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -6.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2105, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 6.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2105, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 6.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2105, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -6.0 - del x2105 - x2106 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x2106 += einsum(x16, (0, 1, 2, 3), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (4, 2, 5, 6, 3, 7), (5, 7, 0, 4, 1, 6)) - del x16 - x2107 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2107 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x2106, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x2106 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2107, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 6.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2107, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -6.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2107, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -6.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2107, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 6.0 - del x2107 - x2108 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2108 += einsum(x22, (0, 1), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (2, 1, 3, 4, 5, 6), (3, 6, 0, 2, 4, 5)) - del x22 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2108, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 6.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2108, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -6.0 - del x2108 - x2109 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2109 += einsum(x23, (0, 1), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (2, 1, 3, 4, 5, 6), (3, 6, 0, 2, 4, 5)) - del x23 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2109, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -6.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2109, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 6.0 - del x2109 - x2110 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x2110 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x2021, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 6, 1)) - del x2021 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x2110, (2, 3, 4, 5, 0, 6), (4, 5, 2, 1, 6, 3)) * 6.0 - del x2110 - x2111 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x2111 += einsum(x1, (0, 1), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (2, 3, 4, 5, 1, 6), (4, 6, 2, 3, 0, 5)) - x2112 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2112 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x2111, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x2111 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2112, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 6.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2112, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -6.0 - del x2112 - x2113 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x2113 += einsum(x20, (0, 1), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (2, 3, 4, 5, 1, 6), (4, 6, 2, 3, 0, 5)) - x2114 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2114 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x2113, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x2113 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2114, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -6.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2114, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 6.0 - del x2114 - x2115 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2115 += einsum(x1306, (0, 1, 2, 3), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (4, 3, 5, 6, 7, 1), (5, 0, 2, 4, 6, 7)) - del x1306 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2115, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -6.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2115, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 6.0 - del x2115 - x2116 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2116 += einsum(x1308, (0, 1, 2, 3), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (4, 3, 5, 6, 7, 1), (5, 0, 2, 4, 6, 7)) - del x1308 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2116, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 6.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2116, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -6.0 - del x2116 - x2117 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x2117 += einsum(x1309, (0, 1, 2, 3), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (4, 5, 6, 7, 3, 1), (6, 0, 4, 5, 2, 7)) - del x1309 - x2118 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2118 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x2117, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x2117 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2118, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -6.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2118, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 6.0 - del x2118 - x2119 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2119 += einsum(x1316, (0, 1, 2, 3), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (4, 3, 1, 5, 6, 7), (0, 7, 2, 4, 5, 6)) - del x1316 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2119, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 3.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2119, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -3.0 - del x2119 - x2120 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2120 += einsum(x1318, (0, 1, 2, 3), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (4, 3, 1, 5, 6, 7), (0, 7, 2, 4, 5, 6)) - del x1318 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2120, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -3.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2120, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 3.0 - del x2120 - x2121 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x2121 += einsum(x1317, (0, 1, 2, 3), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (4, 5, 1, 6, 3, 7), (0, 7, 4, 5, 2, 6)) - del x1317 - x2122 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2122 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x2121, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x2121 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2122, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 6.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2122, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -6.0 - del x2122 - x2123 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x2123 += einsum(x1315, (0, 1, 2, 3), t3.bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)], (4, 5, 1, 6, 3, 7), (0, 7, 4, 5, 2, 6)) - del x1315 - x2124 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2124 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x2123, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x2123 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2124, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -6.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2124, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 6.0 - del x2124 - x2125 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2125 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x1368, (4, 5, 6, 1), (4, 5, 6, 0, 2, 3)) - del x1368 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2125, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2125, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -4.0 - del x2125 - x2126 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2126 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,sVb)], (0, 1, 2, 3), x272, (4, 5, 0, 6), (1, 3, 4, 5, 2, 6)) - del x272 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2126, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2126, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 4.0 - del x2126 - x2127 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2127 += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), x1369, (4, 5, 1, 6), (4, 3, 5, 0, 6, 2)) * -1.0 - del x1369 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2127, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2127, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2127, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2127, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -4.0 - del x2127 - x2128 = np.zeros((navir[1], nocc[1], nocc[1], nocc[1]), dtype=np.float64) - x2128 += einsum(x0, (0, 1), t2.bbbb[np.ix_(sob,sob,svb,sVb)], (2, 3, 1, 4), (4, 2, 3, 0)) * -1.0 - del x0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(t2.bbbb[np.ix_(sob,sOb,svb,svb)], (0, 1, 2, 3), x2128, (4, 5, 6, 0), (6, 5, 1, 2, 3, 4)) * 4.0 - del x2128 - x2129 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2129 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,sVb)], (0, 1, 2, 3), x274, (4, 5, 0, 6), (1, 3, 4, 5, 2, 6)) - del x274 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2129, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2129, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2129, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2129, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - del x2129 - x2130 = np.zeros((navir[1], nocc[1], nocc[1], nocc[1]), dtype=np.float64) - x2130 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1390, (2, 3, 4, 1), (2, 0, 3, 4)) - x2131 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2131 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,svb)], (0, 1, 2, 3), x2130, (4, 5, 6, 0), (1, 4, 5, 6, 2, 3)) * -1.0 - del x2130 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2131, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2131, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - del x2131 - x2132 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x2132 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x980, (4, 5, 0, 6, 7, 2), (4, 5, 6, 1, 7, 3)) - del x980 - x2133 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2133 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x2132, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x2132 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2133, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2133, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2133, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2133, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - del x2133 - x2134 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x2134 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,svb)], (0, 1, 2, 3), x1390, (4, 5, 6, 3), (1, 4, 0, 5, 6, 2)) * -1.0 - del x1390 - x2135 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2135 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x2134, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x2134 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2135, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2135, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2135, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2135, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - del x2135 - x2136 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2136 += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), x1381, (4, 5, 1, 6), (4, 3, 5, 0, 6, 2)) * -1.0 - del x1381 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2136, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2136, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2136, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2136, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -2.0 - del x2136 - x2137 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2137 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x1379, (4, 5, 6, 1), (4, 5, 6, 0, 2, 3)) - del x1379 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2137, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2137, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - del x2137 - x2138 = np.zeros((naocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2138 += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 5), (1, 4, 3, 5)) * -1.0 - x2139 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x2139 += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), x2138, (4, 5, 6, 2), (4, 3, 0, 1, 5, 6)) * -1.0 - del x2138 - x2140 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2140 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x2139, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x2139 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2140, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2140, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - del x2140 - x2141 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x2141 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x1378, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) - del x1378 - x2142 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2142 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x2141, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x2141 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2142, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2142, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - del x2142 - x2143 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2143 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,svb)], (0, 1, 2, 3), x1399, (4, 5, 6, 3), (1, 4, 0, 5, 2, 6)) * -1.0 - del x1399 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2143, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2143, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2143, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2143, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - del x2143 - x2144 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2144 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x1397, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) - del x1397 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2144, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2144, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - del x2144 - x2145 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2145 += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), x1405, (4, 5, 1, 6), (4, 3, 0, 5, 2, 6)) * -1.0 - del x1405 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2145, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2145, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2145, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2145, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - del x2145 - x2146 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2146 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x1402, (4, 5, 6, 1), (4, 5, 6, 0, 2, 3)) - del x1402 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2146, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2146, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - del x2146 - x2147 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2147 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,sVb)], (0, 1, 2, 3), x280, (4, 5, 0, 6), (1, 3, 4, 5, 2, 6)) - del x280 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2147, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2147, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2147, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2147, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -4.0 - del x2147 - x2148 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2148 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x1408, (4, 5, 6, 1), (4, 5, 6, 0, 2, 3)) - del x1408 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2148, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2148, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 4.0 - del x2148 - x2149 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2149 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,sVb)], (0, 1, 2, 3), x278, (4, 5, 0, 6), (1, 3, 4, 5, 2, 6)) - del x278 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2149, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2149, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2149, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2149, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 4.0 - del x2149 - x2150 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2150 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x1410, (4, 5, 6, 1), (4, 5, 6, 0, 2, 3)) - del x1410 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2150, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2150, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -4.0 - del x2150 - x2151 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nocc[1], nocc[1]), dtype=np.float64) - x2151 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1413, (2, 3, 4, 5, 6, 1), (2, 3, 0, 4, 5, 6)) - x2152 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2152 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x2151, (4, 5, 6, 7, 0, 1), (4, 5, 6, 7, 2, 3)) - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2152, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2152, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2152, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2152, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - del x2152 - x2153 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2153 += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), x1411, (4, 5, 1, 6), (4, 3, 5, 0, 6, 2)) * -1.0 - del x1411 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2153, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2153, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2153, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2153, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 4.0 - del x2153 - x2154 = np.zeros((navir[1], nocc[1], nocc[1], nocc[1]), dtype=np.float64) - x2154 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1429, (2, 3, 4, 1), (2, 0, 3, 4)) - x2155 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2155 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,svb)], (0, 1, 2, 3), x2154, (4, 5, 6, 0), (1, 4, 5, 6, 2, 3)) * -1.0 - del x2154 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2155, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2155, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 4.0 - del x2155 - x2156 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2156 += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), x1412, (4, 5, 1, 6), (4, 3, 5, 0, 6, 2)) * -1.0 - del x1412 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2156, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2156, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2156, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2156, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -4.0 - del x2156 - x2157 = np.zeros((navir[1], nocc[1], nocc[1], nocc[1]), dtype=np.float64) - x2157 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1427, (2, 3, 4, 1), (2, 0, 3, 4)) - x2158 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2158 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,svb)], (0, 1, 2, 3), x2157, (4, 5, 6, 0), (1, 4, 5, 6, 2, 3)) * -1.0 - del x2157 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2158, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2158, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -4.0 - del x2158 - x2159 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2159 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,svb)], (0, 1, 2, 3), x1425, (4, 5, 6, 3), (1, 4, 5, 0, 2, 6)) - del x1425 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2159, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2159, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2159, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2159, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2159, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2159, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2159, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2159, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 2.0 - del x2159 - x2160 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x2160 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x1413, (4, 5, 6, 7, 1, 3), (4, 5, 6, 0, 7, 2)) - x2161 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2161 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x2160, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x2160 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2161, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2161, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2161, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2161, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -4.0 - del x2161 - x2162 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x2162 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x1413, (4, 5, 6, 1, 7, 3), (4, 5, 6, 0, 7, 2)) - del x1413 - x2163 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2163 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x2162, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x2162 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2163, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2163, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2163, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2163, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 4.0 - del x2163 - x2164 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x2164 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x1407, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) - del x1407 - x2165 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2165 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x2164, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x2164 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2165, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2165, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -4.0 - del x2165 - x2166 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x2166 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,sVb)], (0, 1, 2, 3), x265, (4, 5, 0, 6), (1, 3, 4, 5, 6, 2)) * -1.0 - del x265 - x2167 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2167 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x2166, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x2166 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2167, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2167, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2167, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2167, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - del x2167 - x2168 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x2168 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x1409, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) - del x1409 - x2169 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2169 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x2168, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x2168 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2169, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2169, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 4.0 - del x2169 - x2170 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2170 += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), x1419, (4, 5, 1, 6), (4, 3, 5, 0, 6, 2)) - del x1419 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2170, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2170, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2170, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2170, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2170, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2170, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2170, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2170, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - del x2170 - x2171 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x2171 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,svb)], (0, 1, 2, 3), x1429, (4, 5, 6, 3), (1, 4, 0, 5, 6, 2)) * -1.0 - del x1429 - x2172 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2172 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x2171, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x2171 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2172, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2172, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2172, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2172, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 4.0 - del x2172 - x2173 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x2173 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,svb)], (0, 1, 2, 3), x1427, (4, 5, 6, 3), (1, 4, 0, 5, 6, 2)) * -1.0 - del x1427 - x2174 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2174 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x2173, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x2173 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2174, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2174, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2174, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2174, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -4.0 - del x2174 - x2175 = np.zeros((naocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2175 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,svb)], (0, 1, 2, 3), v.bbbb.ovov, (4, 5, 0, 3), (1, 4, 2, 5)) * -1.0 - x2176 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x2176 += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), x2175, (4, 5, 6, 2), (4, 3, 0, 1, 5, 6)) * -1.0 - del x2175 - x2177 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2177 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x2176, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x2176 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2177, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2177, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 4.0 - del x2177 - x2178 = np.zeros((naocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2178 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,svb)], (0, 1, 2, 3), v.bbbb.ovov, (4, 3, 0, 5), (1, 4, 2, 5)) * -1.0 - x2179 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x2179 += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), x2178, (4, 5, 6, 2), (4, 3, 0, 1, 5, 6)) * -1.0 - del x2178 - x2180 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2180 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x2179, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x2179 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2180, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2180, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -4.0 - del x2180 - x2181 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2181 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x1421, (4, 5, 6, 1), (4, 5, 6, 0, 2, 3)) - del x1421 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2181, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2181, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -4.0 - del x2181 - x2182 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2182 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x1422, (4, 5, 6, 1), (4, 5, 6, 0, 2, 3)) - del x1422 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2182, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2182, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 4.0 - del x2182 - x2183 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2183 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,sVb)], (0, 1, 2, 3), x286, (4, 5, 0, 6), (1, 3, 4, 5, 2, 6)) - del x286 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2183, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2183, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 4.0 - del x2183 - x2184 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2184 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,sVb)], (0, 1, 2, 3), x288, (4, 5, 0, 6), (1, 3, 4, 5, 2, 6)) - del x288 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2184, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2184, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -4.0 - del x2184 - x2185 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2185 += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), x1423, (4, 5, 1, 6), (4, 3, 5, 0, 6, 2)) * -1.0 - del x1423 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2185, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2185, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2185, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2185, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -4.0 - del x2185 - x2186 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2186 += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), x1424, (4, 5, 1, 6), (4, 3, 5, 0, 6, 2)) * -1.0 - del x1424 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2186, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2186, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2186, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2186, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 4.0 - del x2186 - x2187 = np.zeros((navir[1], nocc[1], nocc[1], nocc[1]), dtype=np.float64) - x2187 += einsum(x1, (0, 1), t2.bbbb[np.ix_(sob,sob,svb,sVb)], (2, 3, 1, 4), (4, 2, 3, 0)) * -1.0 - del x1 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(t2.bbbb[np.ix_(sob,sOb,svb,svb)], (0, 1, 2, 3), x2187, (4, 5, 6, 0), (6, 5, 1, 2, 3, 4)) * 4.0 - del x2187 - x2188 = np.zeros((navir[1], nocc[1], nocc[1], nocc[1]), dtype=np.float64) - x2188 += einsum(x20, (0, 1), t2.bbbb[np.ix_(sob,sob,svb,sVb)], (2, 3, 1, 4), (4, 2, 3, 0)) * -1.0 - del x20 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(t2.bbbb[np.ix_(sob,sOb,svb,svb)], (0, 1, 2, 3), x2188, (4, 5, 6, 0), (6, 5, 1, 2, 3, 4)) * -4.0 - del x2188 - x2189 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2189 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,svb)], (0, 1, 2, 3), x1440, (4, 5, 6, 3), (1, 4, 0, 5, 2, 6)) * -1.0 - del x1440 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2189, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2189, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2189, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2189, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -4.0 - del x2189 - x2190 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2190 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x1434, (4, 5, 6, 1), (4, 5, 6, 0, 2, 3)) * -1.0 - del x1434 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2190, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2190, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2190, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2190, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - del x2190 - x2191 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2191 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,svb)], (0, 1, 2, 3), x1439, (4, 5, 6, 3), (1, 4, 0, 5, 2, 6)) * -1.0 - del x1439 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2191, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2191, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2191, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2191, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 4.0 - del x2191 - x2192 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2192 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x1437, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) - del x1437 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2192, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2192, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -4.0 - del x2192 - x2193 = np.zeros((navir[1], nocc[1], nocc[1], nocc[1]), dtype=np.float64) - x2193 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x961, (4, 5, 2, 3), (4, 0, 1, 5)) - del x961 - x2194 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2194 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,svb)], (0, 1, 2, 3), x2193, (4, 5, 6, 0), (1, 4, 5, 6, 2, 3)) - del x2193 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2194, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2194, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - del x2194 - x2195 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2195 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x1438, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) - del x1438 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2195, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2195, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 4.0 - del x2195 - x2196 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2196 += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), x1448, (4, 5, 1, 6), (4, 3, 0, 5, 2, 6)) * -1.0 - del x1448 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2196, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2196, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2196, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2196, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -4.0 - del x2196 - x2197 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2197 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x1442, (4, 5, 6, 1), (4, 5, 6, 0, 2, 3)) - del x1442 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2197, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2197, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 4.0 - del x2197 - x2198 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2198 += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), x1447, (4, 5, 1, 6), (4, 3, 0, 5, 2, 6)) * -1.0 - del x1447 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2198, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2198, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2198, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2198, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 4.0 - del x2198 - x2199 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2199 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x1444, (4, 5, 6, 1), (4, 5, 6, 0, 2, 3)) - del x1444 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2199, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 4.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2199, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -4.0 - del x2199 - x2200 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2200 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x1445, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) * -1.0 - del x1445 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2200, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2200, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2200, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2200, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - del x2200 - x2201 = np.zeros((naocc[1], nvir[1], nvir[1], nvir[1]), dtype=np.float64) - x2201 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x975, (4, 0, 1, 5), (4, 2, 3, 5)) - x2202 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2202 += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), x2201, (4, 5, 6, 2), (4, 3, 0, 1, 6, 5)) * -1.0 - del x2201 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2202, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2202, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - del x2202 - x2203 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x2203 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,sVb)], (0, 1, 2, 3), x276, (4, 5, 0, 6), (1, 3, 5, 4, 6, 2)) - del x276 - x2204 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2204 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x2203, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x2203 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2204, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2204, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2204, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2204, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - del x2204 - x2205 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x2205 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x2151, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 6, 1)) - del x2151 - x2206 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2206 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x2205, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x2205 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2206, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2206, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2206, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2206, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - del x2206 - x2207 = np.zeros((navir[1], nocc[1], nocc[1], nocc[1]), dtype=np.float64) - x2207 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1469, (2, 3, 4, 1), (2, 3, 0, 4)) - x2208 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2208 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,svb)], (0, 1, 2, 3), x2207, (4, 5, 6, 0), (1, 4, 6, 5, 2, 3)) * -1.0 - del x2207 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2208, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2208, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - del x2208 - x2209 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x2209 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,svb)], (0, 1, 2, 3), x1469, (4, 5, 6, 3), (1, 4, 5, 0, 6, 2)) * -1.0 - del x1469 - x2210 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2210 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x2209, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x2209 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2210, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2210, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2210, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2210, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - del x2210 - x2211 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x2211 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,svb)], (0, 1, 2, 3), x1471, (4, 5, 6, 3), (1, 4, 5, 0, 6, 2)) * -1.0 - del x1471 - x2212 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2212 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x2211, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x2211 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2212, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2212, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2212, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2212, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - del x2212 - x2213 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2213 += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), x1474, (4, 5, 1, 6), (4, 3, 5, 0, 6, 2)) * -1.0 - del x1474 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2213, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2213, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2213, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2213, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - del x2213 - x2214 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2214 += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), x1475, (4, 5, 1, 6), (4, 3, 5, 0, 6, 2)) * -1.0 - del x1475 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2214, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2214, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2214, (0, 1, 2, 3, 4, 5), (3, 2, 0, 4, 5, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2214, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - del x2214 - x2215 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nocc[1], nocc[1]), dtype=np.float64) - x2215 += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), x975, (4, 5, 6, 2), (4, 3, 0, 1, 6, 5)) * -1.0 - del x975 - x2216 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x2216 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x2215, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 6, 1)) - del x2215 - x2217 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2217 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x2216, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x2216 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2217, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2217, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - del x2217 - x2218 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2218 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x1477, (4, 5, 6, 1), (4, 5, 6, 0, 2, 3)) - del x1477 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2218, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2218, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * 2.0 - del x2218 - x2219 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2219 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x1479, (4, 5, 6, 1), (4, 5, 6, 0, 2, 3)) - del x1479 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2219, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2219, (0, 1, 2, 3, 4, 5), (3, 2, 0, 5, 4, 1)) * -2.0 - del x2219 - x2220 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x2220 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x1476, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) - del x1476 - x2221 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2221 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x2220, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x2220 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2221, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * 2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2221, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * -2.0 - del x2221 - x2222 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=np.float64) - x2222 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x1478, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) - del x1478 - x2223 = np.zeros((naocc[1], navir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=np.float64) - x2223 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x2222, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x2222 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2223, (0, 1, 2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -2.0 - t3new_bbbbbb[np.ix_(sob,sob,sOfb,svb,svb,sVfb)] += einsum(x2223, (0, 1, 2, 3, 4, 5), (2, 3, 0, 5, 4, 1)) * 2.0 - del x2223 - - t1new.aa = t1new_aa - t1new.bb = t1new_bb - t2new.aaaa = t2new_aaaa - t2new.abab = t2new_abab - t2new.bbbb = t2new_bbbb - t3new.aaaaaa = t3new_aaaaaa - t3new.abaaba = t3new_abaaba - t3new.babbab = t3new_babbab - t3new.bbbbbb = t3new_bbbbbb - - return {"t1new": t1new, "t2new": t2new, "t3new": t3new} - diff --git a/ebcc/codegen/UCCSDtp.py b/ebcc/codegen/UCCSDtp.py deleted file mode 100644 index 7ebbb59e..00000000 --- a/ebcc/codegen/UCCSDtp.py +++ /dev/null @@ -1,7454 +0,0 @@ -# Code generated for ebcc. - -from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, Namespace -from ebcc.precision import types - -def energy(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, t3=None, **kwargs): - # energy - e_cc = 0 - e_cc += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (0, 2, 1, 3), ()) - e_cc += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 1, 3), ()) - e_cc += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (0, 3, 1, 2), ()) * -1.0 - x0 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x0 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x0 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x1 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x1 += einsum(f.bb.ov, (0, 1), (0, 1)) * 2.0 - x1 += einsum(t1.aa, (0, 1), v.aabb.ovov, (0, 1, 2, 3), (2, 3)) * 2.0 - x1 += einsum(t1.bb, (0, 1), x0, (0, 2, 3, 1), (2, 3)) * -1.0 - del x0 - e_cc += einsum(t1.bb, (0, 1), x1, (0, 1), ()) * 0.5 - del x1 - x2 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x2 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x2 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x3 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x3 += einsum(f.aa.ov, (0, 1), (0, 1)) - x3 += einsum(t1.aa, (0, 1), x2, (0, 2, 3, 1), (2, 3)) * -0.5 - del x2 - e_cc += einsum(t1.aa, (0, 1), x3, (0, 1), ()) - del x3 - - return e_cc - -def update_amps(f=None, v=None, space=None, t1=None, t2=None, t3=None, **kwargs): - t1new = Namespace() - t2new = Namespace() - t3new = Namespace() - - nocc = (space[0].ncocc, space[1].ncocc) - nvir = (space[0].ncvir, space[1].ncvir) - naocc = (space[0].naocc, space[1].naocc) - navir = (space[0].navir, space[1].navir) - soa = np.ones((nocc[0],), dtype=bool) - sva = np.ones((nvir[0],), dtype=bool) - sob = np.ones((nocc[1],), dtype=bool) - svb = np.ones((nvir[1],), dtype=bool) - sOa = space[0].active[space[0].correlated][space[0].occupied[space[0].correlated]] - sVa = space[0].active[space[0].correlated][space[0].virtual[space[0].correlated]] - sOb = space[1].active[space[1].correlated][space[1].occupied[space[1].correlated]] - sVb = space[1].active[space[1].correlated][space[1].virtual[space[1].correlated]] - - # T amplitudes - t1new_bb = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - t1new_bb[np.ix_(sob,svb)] += einsum(f.bb.ov, (0, 1), (0, 1)) - t1new_bb[np.ix_(sob,svb)] += einsum(f.bb.oo, (0, 1), t1.bb[np.ix_(sob,svb)], (1, 2), (0, 2)) * -1.0 - t1new_bb[np.ix_(sob,svb)] += einsum(f.bb.vv, (0, 1), t1.bb[np.ix_(sob,svb)], (2, 1), (2, 0)) - t1new_bb[np.ix_(sob,svb)] += einsum(f.aa.ov, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (0, 2, 1, 3), (2, 3)) - t1new_bb[np.ix_(sob,svb)] += einsum(f.bb.ov, (0, 1), t2.bbbb[np.ix_(sob,sob,svb,svb)], (2, 0, 3, 1), (2, 3)) * 2.0 - t1new_bb[np.ix_(sob,svb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.bbbb.oovv, (2, 0, 3, 1), (2, 3)) * -1.0 - t1new_bb[np.ix_(sob,svb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.ovoo, (0, 2, 4, 1), (4, 3)) * -1.0 - t1new_bb[np.ix_(sob,svb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.ovvv, (0, 2, 4, 3), (1, 4)) - t1new_bb[np.ix_(sOb,sVb)] += einsum(v.aaaa.OVOV, (0, 1, 2, 3), t3.abaaba, (0, 4, 2, 1, 5, 3), (4, 5)) - t1new_bb[np.ix_(sOb,sVb)] += einsum(v.aabb.OVOV, (0, 1, 2, 3), t3.babbab, (4, 0, 2, 5, 1, 3), (4, 5)) * 2.0 - t1new_bb[np.ix_(sOb,sVb)] += einsum(v.bbbb.OVOV, (0, 1, 2, 3), t3.bbbbbb, (4, 0, 2, 5, 1, 3), (4, 5)) * 3.0 - t1new_aa = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - t1new_aa[np.ix_(soa,sva)] += einsum(f.aa.ov, (0, 1), (0, 1)) - t1new_aa[np.ix_(soa,sva)] += einsum(f.aa.oo, (0, 1), t1.aa[np.ix_(soa,sva)], (1, 2), (0, 2)) * -1.0 - t1new_aa[np.ix_(soa,sva)] += einsum(f.aa.vv, (0, 1), t1.aa[np.ix_(soa,sva)], (2, 1), (2, 0)) - t1new_aa[np.ix_(soa,sva)] += einsum(f.bb.ov, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (2, 0, 3, 1), (2, 3)) - t1new_aa[np.ix_(soa,sva)] += einsum(f.aa.ov, (0, 1), t2.aaaa[np.ix_(soa,soa,sva,sva)], (2, 0, 3, 1), (2, 3)) * 2.0 - t1new_aa[np.ix_(soa,sva)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aaaa.oovv, (2, 0, 3, 1), (2, 3)) * -1.0 - t1new_aa[np.ix_(soa,sva)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.ooov, (4, 0, 1, 3), (4, 2)) * -1.0 - t1new_aa[np.ix_(soa,sva)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.vvov, (4, 2, 1, 3), (0, 4)) - t1new_aa[np.ix_(sOa,sVa)] += einsum(v.aabb.OVOV, (0, 1, 2, 3), t3.abaaba, (4, 2, 0, 5, 3, 1), (4, 5)) * 2.0 - t1new_aa[np.ix_(sOa,sVa)] += einsum(v.bbbb.OVOV, (0, 1, 2, 3), t3.babbab, (0, 4, 2, 1, 5, 3), (4, 5)) - t1new_aa[np.ix_(sOa,sVa)] += einsum(v.aaaa.OVOV, (0, 1, 2, 3), t3.aaaaaa, (4, 0, 2, 5, 1, 3), (4, 5)) * 3.0 - t2new_aaaa = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - t2new_aaaa[np.ix_(sOa,sOa,sVa,sVa)] += einsum(f.bb.OV, (0, 1), t3.abaaba, (2, 0, 3, 4, 1, 5), (2, 3, 4, 5)) * 2.0 - t2new_aaaa[np.ix_(sOa,sOa,sVa,sVa)] += einsum(f.aa.OV, (0, 1), t3.aaaaaa, (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) * 6.0 - t2new_abab = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(v.aabb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(f.aa.oo, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (1, 2, 3, 4), (0, 2, 3, 4)) * -1.0 - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(f.bb.oo, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (2, 1, 3, 4), (2, 0, 3, 4)) * -1.0 - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(f.aa.vv, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (2, 3, 1, 4), (2, 3, 0, 4)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(f.bb.vv, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (2, 3, 4, 1), (2, 3, 4, 0)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aabb.ooov, (2, 0, 3, 4), (2, 3, 1, 4)) * -1.0 - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.aabb.ovoo, (2, 3, 4, 0), (2, 4, 3, 1)) * -1.0 - t2new_abab[np.ix_(sOa,sOb,sVa,sVb)] += einsum(f.aa.OV, (0, 1), t3.abaaba, (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) * 2.0 - t2new_abab[np.ix_(sOa,sOb,sVa,sVb)] += einsum(f.bb.OV, (0, 1), t3.babbab, (2, 3, 0, 4, 5, 1), (3, 2, 5, 4)) * 2.0 - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.oooo, (4, 0, 5, 1), (4, 5, 2, 3)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.bbbb.oovv, (4, 1, 5, 3), (0, 4, 2, 5)) * -1.0 - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.oovv, (4, 0, 5, 3), (4, 1, 2, 5)) * -1.0 - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aaaa.oovv, (4, 0, 5, 2), (4, 1, 5, 3)) * -1.0 - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.vvoo, (4, 2, 5, 1), (0, 5, 4, 3)) * -1.0 - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.vvvv, (4, 2, 5, 3), (0, 1, 4, 5)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), v.aabb.ovov, (1, 3, 4, 5), (0, 4, 2, 5)) * 2.0 - t2new_abab[np.ix_(soa,sOb,sVa,sVb)] += einsum(v.aaaa.oOOV, (0, 1, 2, 3), t3.abaaba, (1, 4, 2, 5, 6, 3), (0, 4, 5, 6)) * -2.0 - t2new_abab[np.ix_(sOa,sob,sVa,sVb)] += einsum(v.aabb.OVoO, (0, 1, 2, 3), t3.abaaba, (4, 3, 0, 5, 6, 1), (4, 2, 5, 6)) * -2.0 - t2new_abab[np.ix_(sOa,sOb,sva,sVb)] += einsum(v.aaaa.vVOV, (0, 1, 2, 3), t3.abaaba, (4, 5, 2, 3, 6, 1), (4, 5, 0, 6)) * -2.0 - t2new_abab[np.ix_(sOa,sOb,sVa,svb)] += einsum(v.aabb.OVvV, (0, 1, 2, 3), t3.abaaba, (4, 5, 0, 6, 3, 1), (4, 5, 6, 2)) * 2.0 - t2new_abab[np.ix_(soa,sOb,sVa,sVb)] += einsum(v.aabb.oOOV, (0, 1, 2, 3), t3.babbab, (4, 1, 2, 5, 6, 3), (0, 4, 6, 5)) * -2.0 - t2new_abab[np.ix_(sOa,sob,sVa,sVb)] += einsum(v.bbbb.oOOV, (0, 1, 2, 3), t3.babbab, (1, 4, 2, 5, 6, 3), (4, 0, 6, 5)) * -2.0 - t2new_abab[np.ix_(sOa,sOb,sVa,svb)] += einsum(v.bbbb.vVOV, (0, 1, 2, 3), t3.babbab, (4, 5, 2, 1, 6, 3), (5, 4, 6, 0)) * 2.0 - t2new_abab[np.ix_(sOa,sOb,sva,sVb)] += einsum(v.aabb.vVOV, (0, 1, 2, 3), t3.babbab, (4, 5, 2, 6, 1, 3), (5, 4, 0, 6)) * 2.0 - t2new_bbbb = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - t2new_bbbb[np.ix_(sOb,sOb,sVb,sVb)] += einsum(f.aa.OV, (0, 1), t3.babbab, (2, 0, 3, 4, 1, 5), (2, 3, 4, 5)) * 2.0 - t2new_bbbb[np.ix_(sOb,sOb,sVb,sVb)] += einsum(f.bb.OV, (0, 1), t3.bbbbbb, (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) * 6.0 - t3new_babbab = np.zeros((naocc[1], naocc[0], naocc[1], navir[1], navir[0], navir[1]), dtype=types[float]) - t3new_babbab += einsum(f.aa.OO, (0, 1), t3.babbab, (2, 1, 3, 4, 5, 6), (2, 0, 3, 4, 5, 6)) * -2.0 - t3new_babbab += einsum(f.aa.VV, (0, 1), t3.babbab, (2, 3, 4, 5, 1, 6), (2, 3, 4, 5, 0, 6)) * 2.0 - t3new_babbab += einsum(v.bbbb.OOOO, (0, 1, 2, 3), t3.babbab, (3, 4, 1, 5, 6, 7), (0, 4, 2, 5, 6, 7)) * -2.0 - t3new_babbab += einsum(v.aaaa.OOVV, (0, 1, 2, 3), t3.babbab, (4, 1, 5, 6, 3, 7), (4, 0, 5, 6, 2, 7)) * -2.0 - t3new_babbab += einsum(v.aaaa.OVOV, (0, 1, 2, 3), t3.babbab, (4, 2, 5, 6, 3, 7), (4, 0, 5, 6, 1, 7)) * 2.0 - t3new_babbab += einsum(v.bbbb.VVVV, (0, 1, 2, 3), t3.babbab, (4, 5, 6, 1, 7, 3), (4, 5, 6, 0, 7, 2)) * 2.0 - t3new_babbab += einsum(v.aabb.OVOV, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 2, 6, 7, 3), (4, 0, 5, 6, 1, 7)) * 6.0 - t3new_abaaba = np.zeros((naocc[0], naocc[1], naocc[0], navir[0], navir[1], navir[0]), dtype=types[float]) - t3new_abaaba += einsum(f.bb.OO, (0, 1), t3.abaaba, (2, 1, 3, 4, 5, 6), (2, 0, 3, 4, 5, 6)) * -2.0 - t3new_abaaba += einsum(f.bb.VV, (0, 1), t3.abaaba, (2, 3, 4, 5, 1, 6), (2, 3, 4, 5, 0, 6)) * 2.0 - t3new_abaaba += einsum(v.aaaa.OOOO, (0, 1, 2, 3), t3.abaaba, (1, 4, 3, 5, 6, 7), (0, 4, 2, 5, 6, 7)) * 2.0 - t3new_abaaba += einsum(v.bbbb.OOVV, (0, 1, 2, 3), t3.abaaba, (4, 1, 5, 6, 3, 7), (4, 0, 5, 6, 2, 7)) * -2.0 - t3new_abaaba += einsum(v.bbbb.OVOV, (0, 1, 2, 3), t3.abaaba, (4, 2, 5, 6, 3, 7), (4, 0, 5, 6, 1, 7)) * 2.0 - t3new_abaaba += einsum(v.aaaa.VVVV, (0, 1, 2, 3), t3.abaaba, (4, 5, 6, 1, 7, 3), (4, 5, 6, 0, 7, 2)) * 2.0 - t3new_abaaba += einsum(v.aabb.OVOV, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 0, 6, 7, 1), (4, 2, 5, 6, 3, 7)) * 6.0 - x0 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x0 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aabb.ovov, (0, 1, 2, 3), (2, 3)) - t1new_bb[np.ix_(sob,svb)] += einsum(x0, (0, 1), (0, 1)) - t1new_bb[np.ix_(sob,svb)] += einsum(x0, (0, 1), t2.bbbb[np.ix_(sob,sob,svb,svb)], (2, 0, 3, 1), (2, 3)) * 2.0 - t1new_aa[np.ix_(soa,sva)] += einsum(x0, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (2, 0, 3, 1), (2, 3)) - x1 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x1 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.bbbb.ovov, (2, 3, 0, 1), (2, 3)) - t1new_bb[np.ix_(sob,svb)] += einsum(x1, (0, 1), (0, 1)) - t1new_bb[np.ix_(sob,svb)] += einsum(x1, (0, 1), t2.bbbb[np.ix_(sob,sob,svb,svb)], (2, 0, 3, 1), (2, 3)) * 2.0 - t1new_aa[np.ix_(soa,sva)] += einsum(x1, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (2, 0, 3, 1), (2, 3)) - x2 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x2 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), v.bbbb.ooov, (4, 1, 0, 3), (4, 2)) * -1.0 - t1new_bb[np.ix_(sob,svb)] += einsum(x2, (0, 1), (0, 1)) * -1.0 - t1new_bb[np.ix_(sob,svb)] += einsum(x2, (0, 1), (0, 1)) * -1.0 - del x2 - x3 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x3 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), v.bbbb.ovvv, (1, 3, 4, 2), (0, 4)) * -1.0 - t1new_bb[np.ix_(sob,svb)] += einsum(x3, (0, 1), (0, 1)) * -1.0 - t1new_bb[np.ix_(sob,svb)] += einsum(x3, (0, 1), (0, 1)) * -1.0 - del x3 - x4 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x4 += einsum(f.bb.ov, (0, 1), t1.bb[np.ix_(sob,svb)], (2, 1), (0, 2)) - t1new_bb[np.ix_(sob,svb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x4, (0, 2), (2, 1)) * -1.0 - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x4, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (2, 0, 3, 4), (2, 1, 3, 4)) * -1.0 - x5 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x5 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aabb.ovvv, (0, 1, 2, 3), (2, 3)) - t1new_bb[np.ix_(sob,svb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x5, (2, 1), (0, 2)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x5, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (2, 3, 4, 1), (2, 3, 4, 0)) - x6 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x6 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aabb.ovoo, (0, 1, 2, 3), (2, 3)) - t1new_bb[np.ix_(sob,svb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x6, (2, 0), (2, 1)) * -1.0 - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x6, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (2, 1, 3, 4), (2, 0, 3, 4)) * -1.0 - x7 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x7 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.bbbb.ooov, (2, 0, 3, 1), (2, 3)) - t1new_bb[np.ix_(sob,svb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x7, (2, 0), (2, 1)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x7, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (2, 1, 3, 4), (2, 0, 3, 4)) - x8 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x8 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.bbbb.ooov, (2, 3, 0, 1), (2, 3)) - t1new_bb[np.ix_(sob,svb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x8, (2, 0), (2, 1)) * -1.0 - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x8, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (2, 1, 3, 4), (2, 0, 3, 4)) * -1.0 - x9 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x9 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.bbbb.ovvv, (0, 2, 3, 1), (2, 3)) - t1new_bb[np.ix_(sob,svb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x9, (1, 2), (0, 2)) * -1.0 - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x9, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (2, 3, 4, 0), (2, 3, 4, 1)) * -1.0 - x10 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x10 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.bbbb.ovvv, (0, 1, 2, 3), (2, 3)) - t1new_bb[np.ix_(sob,svb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x10, (2, 1), (0, 2)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x10, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (2, 3, 4, 1), (2, 3, 4, 0)) - x11 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x11 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aaaa.ovov, (2, 3, 0, 1), (2, 3)) - t1new_bb[np.ix_(sob,svb)] += einsum(x11, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (0, 2, 1, 3), (2, 3)) - t1new_aa[np.ix_(soa,sva)] += einsum(x11, (0, 1), (0, 1)) - t1new_aa[np.ix_(soa,sva)] += einsum(x11, (0, 1), t2.aaaa[np.ix_(soa,soa,sva,sva)], (2, 0, 3, 1), (2, 3)) * 2.0 - x12 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x12 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aaaa.ovov, (2, 1, 0, 3), (2, 3)) - t1new_bb[np.ix_(sob,svb)] += einsum(x12, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (0, 2, 1, 3), (2, 3)) * -1.0 - t1new_aa[np.ix_(soa,sva)] += einsum(x12, (0, 1), t2.aaaa[np.ix_(soa,soa,sva,sva)], (2, 0, 3, 1), (2, 3)) * -2.0 - x13 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x13 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.aabb.ovov, (2, 3, 4, 1), (2, 0, 4, 3)) - t1new_bb[np.ix_(sob,svb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x13, (0, 4, 1, 2), (4, 3)) * -1.0 - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x13, (2, 3, 0, 4), (2, 3, 4, 1)) * -1.0 - x14 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x14 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 3), (1, 4)) - t1new_bb[np.ix_(sob,svb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x14, (2, 0), (2, 1)) * -1.0 - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x14, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (2, 1, 3, 4), (2, 0, 3, 4)) * -1.0 - x15 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x15 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.aabb.ovov, (2, 3, 0, 1), (2, 3)) - t1new_bb[np.ix_(sob,svb)] += einsum(x15, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (0, 2, 1, 3), (2, 3)) - t1new_aa[np.ix_(soa,sva)] += einsum(x15, (0, 1), (0, 1)) - t1new_aa[np.ix_(soa,sva)] += einsum(x15, (0, 1), t2.aaaa[np.ix_(soa,soa,sva,sva)], (2, 0, 3, 1), (2, 3)) * 2.0 - x16 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x16 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.bbbb.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) - x17 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x17 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x16, (4, 0, 1, 3), (4, 2)) * -1.0 - t1new_bb[np.ix_(sob,svb)] += einsum(x17, (0, 1), (0, 1)) * -1.0 - t1new_bb[np.ix_(sob,svb)] += einsum(x17, (0, 1), (0, 1)) * -1.0 - del x17 - x18 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x18 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), v.bbbb.ovov, (4, 3, 1, 2), (0, 4)) * -1.0 - x19 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x19 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x18, (2, 0), (2, 1)) - t1new_bb[np.ix_(sob,svb)] += einsum(x19, (0, 1), (0, 1)) * -1.0 - t1new_bb[np.ix_(sob,svb)] += einsum(x19, (0, 1), (0, 1)) * -1.0 - del x19 - x20 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x20 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.bbbb.ovov, (2, 1, 0, 3), (2, 3)) - t1new_bb[np.ix_(sob,svb)] += einsum(x20, (0, 1), t2.bbbb[np.ix_(sob,sob,svb,svb)], (2, 0, 3, 1), (2, 3)) * -2.0 - t1new_aa[np.ix_(soa,sva)] += einsum(x20, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (2, 0, 3, 1), (2, 3)) * -1.0 - x21 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x21 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x0, (2, 1), (0, 2)) - t1new_bb[np.ix_(sob,svb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x21, (2, 0), (2, 1)) * -1.0 - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x21, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (2, 1, 3, 4), (2, 0, 3, 4)) * -1.0 - x22 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x22 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x20, (2, 1), (0, 2)) - t1new_bb[np.ix_(sob,svb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x22, (2, 0), (2, 1)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x22, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (2, 1, 3, 4), (2, 0, 3, 4)) - x23 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x23 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1, (2, 1), (0, 2)) - t1new_bb[np.ix_(sob,svb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x23, (2, 0), (2, 1)) * -1.0 - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x23, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (2, 1, 3, 4), (2, 0, 3, 4)) * -1.0 - x24 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x24 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), v.aaaa.ooov, (4, 0, 1, 3), (4, 2)) - t1new_aa[np.ix_(soa,sva)] += einsum(x24, (0, 1), (0, 1)) * -1.0 - t1new_aa[np.ix_(soa,sva)] += einsum(x24, (0, 1), (0, 1)) * -1.0 - del x24 - x25 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x25 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), v.aaaa.ovvv, (1, 2, 4, 3), (0, 4)) - t1new_aa[np.ix_(soa,sva)] += einsum(x25, (0, 1), (0, 1)) * -1.0 - t1new_aa[np.ix_(soa,sva)] += einsum(x25, (0, 1), (0, 1)) * -1.0 - del x25 - x26 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x26 += einsum(f.aa.ov, (0, 1), t1.aa[np.ix_(soa,sva)], (2, 1), (0, 2)) - t1new_aa[np.ix_(soa,sva)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x26, (0, 2), (2, 1)) * -1.0 - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x26, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (0, 2, 3, 4), (1, 2, 3, 4)) * -1.0 - x27 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x27 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aaaa.ooov, (2, 0, 3, 1), (2, 3)) - t1new_aa[np.ix_(soa,sva)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x27, (2, 0), (2, 1)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x27, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (1, 2, 3, 4), (0, 2, 3, 4)) - x28 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x28 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aaaa.ooov, (2, 3, 0, 1), (2, 3)) - t1new_aa[np.ix_(soa,sva)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x28, (2, 0), (2, 1)) * -1.0 - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x28, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (1, 2, 3, 4), (0, 2, 3, 4)) * -1.0 - x29 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x29 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aaaa.ovvv, (0, 2, 3, 1), (2, 3)) - t1new_aa[np.ix_(soa,sva)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x29, (1, 2), (0, 2)) * -1.0 - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x29, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (2, 3, 0, 4), (2, 3, 1, 4)) * -1.0 - x30 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x30 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aaaa.ovvv, (0, 1, 2, 3), (2, 3)) - t1new_aa[np.ix_(soa,sva)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x30, (2, 1), (0, 2)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x30, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (2, 3, 1, 4), (2, 3, 0, 4)) - x31 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x31 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.aabb.ooov, (2, 3, 0, 1), (2, 3)) - t1new_aa[np.ix_(soa,sva)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x31, (2, 0), (2, 1)) * -1.0 - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x31, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (1, 2, 3, 4), (0, 2, 3, 4)) * -1.0 - x32 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x32 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.aabb.vvov, (2, 3, 0, 1), (2, 3)) - t1new_aa[np.ix_(soa,sva)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x32, (2, 1), (0, 2)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x32, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (2, 3, 1, 4), (2, 3, 0, 4)) - x33 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x33 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aabb.ovov, (2, 1, 3, 4), (0, 2, 3, 4)) - t1new_aa[np.ix_(soa,sva)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x33, (4, 0, 1, 3), (4, 2)) * -1.0 - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x33, (2, 0, 3, 4), (2, 3, 1, 4)) * -1.0 - x34 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x34 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.ovov, (4, 2, 1, 3), (0, 4)) - t1new_aa[np.ix_(soa,sva)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x34, (2, 0), (2, 1)) * -1.0 - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x34, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (1, 2, 3, 4), (0, 2, 3, 4)) * -1.0 - x35 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x35 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aaaa.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) - x36 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x36 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x35, (4, 0, 1, 3), (4, 2)) * -1.0 - t1new_aa[np.ix_(soa,sva)] += einsum(x36, (0, 1), (0, 1)) * -1.0 - t1new_aa[np.ix_(soa,sva)] += einsum(x36, (0, 1), (0, 1)) * -1.0 - del x36 - x37 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x37 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), v.aaaa.ovov, (4, 2, 1, 3), (0, 4)) - x38 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x38 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x37, (2, 0), (2, 1)) - t1new_aa[np.ix_(soa,sva)] += einsum(x38, (0, 1), (0, 1)) * -1.0 - t1new_aa[np.ix_(soa,sva)] += einsum(x38, (0, 1), (0, 1)) * -1.0 - del x38 - x39 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x39 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x12, (2, 1), (0, 2)) - t1new_aa[np.ix_(soa,sva)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x39, (2, 0), (2, 1)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x39, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (1, 2, 3, 4), (0, 2, 3, 4)) - x40 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x40 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x11, (2, 1), (0, 2)) - t1new_aa[np.ix_(soa,sva)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x40, (2, 0), (2, 1)) * -1.0 - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x40, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (1, 2, 3, 4), (0, 2, 3, 4)) * -1.0 - x41 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x41 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x15, (2, 1), (0, 2)) - t1new_aa[np.ix_(soa,sva)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x41, (2, 0), (2, 1)) * -1.0 - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x41, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (1, 2, 3, 4), (0, 2, 3, 4)) * -1.0 - x42 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x42 += einsum(f.aa.oo, (0, 1), t2.aaaa[np.ix_(soa,soa,sva,sva)], (2, 1, 3, 4), (0, 2, 3, 4)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x42, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x42, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - del x42 - x43 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x43 += einsum(f.aa.vv, (0, 1), t2.aaaa[np.ix_(soa,soa,sva,sva)], (2, 3, 4, 1), (2, 3, 0, 4)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x43, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x43, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 - del x43 - x44 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x44 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aaaa.ooov, (2, 0, 3, 4), (2, 3, 1, 4)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x44, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x44, (0, 1, 2, 3), (1, 0, 2, 3)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x44, (0, 1, 2, 3), (0, 1, 3, 2)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x44, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x44 - x45 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x45 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aaaa.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x45, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x45, (0, 1, 2, 3), (0, 1, 3, 2)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x45, (0, 1, 2, 3), (1, 0, 2, 3)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x45, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x45, (4, 0, 2, 5), (4, 1, 5, 3)) - x46 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x46 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (0, 4, 2, 5)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x46, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x46, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x46, (0, 1, 2, 3), (1, 0, 3, 2)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x46, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x47 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x47 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), v.aaaa.oooo, (4, 1, 5, 0), (4, 5, 2, 3)) * -1.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x47, (0, 1, 2, 3), (1, 0, 3, 2)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x47, (0, 1, 2, 3), (1, 0, 3, 2)) - del x47 - x48 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x48 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), v.aaaa.oovv, (4, 1, 5, 3), (0, 4, 2, 5)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x48, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x48, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x48, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x48, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 - del x48 - x49 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x49 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), v.aaaa.ovov, (4, 5, 1, 3), (0, 4, 2, 5)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x49, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x49, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x49, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x49, (0, 1, 2, 3), (1, 0, 2, 3)) * -2.0 - x50 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x50 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), v.aaaa.vvvv, (4, 2, 5, 3), (0, 1, 4, 5)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x50, (0, 1, 2, 3), (1, 0, 3, 2)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x50, (0, 1, 2, 3), (1, 0, 3, 2)) - del x50 - x51 = np.zeros((naocc[0], navir[0], navir[0], nocc[0]), dtype=types[float]) - x51 += einsum(v.aabb.oOOV, (0, 1, 2, 3), t3.abaaba, (4, 2, 1, 5, 3, 6), (4, 5, 6, 0)) - t2new_aaaa[np.ix_(soa,sOa,sVa,sVa)] += einsum(x51, (0, 1, 2, 3), (3, 0, 2, 1)) * -2.0 - t2new_aaaa[np.ix_(sOa,soa,sVa,sVa)] += einsum(x51, (0, 1, 2, 3), (0, 3, 2, 1)) * 2.0 - del x51 - x52 = np.zeros((naocc[0], naocc[0], navir[0], nvir[0]), dtype=types[float]) - x52 += einsum(v.aabb.vVOV, (0, 1, 2, 3), t3.abaaba, (4, 2, 5, 6, 3, 1), (4, 5, 6, 0)) - t2new_aaaa[np.ix_(sOa,sOa,sva,sVa)] += einsum(x52, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - t2new_aaaa[np.ix_(sOa,sOa,sVa,sva)] += einsum(x52, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x52 - x53 = np.zeros((naocc[0], navir[0], navir[0], nocc[0]), dtype=types[float]) - x53 += einsum(v.aaaa.oOOV, (0, 1, 2, 3), t3.aaaaaa, (4, 2, 1, 5, 6, 3), (4, 5, 6, 0)) - t2new_aaaa[np.ix_(soa,sOa,sVa,sVa)] += einsum(x53, (0, 1, 2, 3), (3, 0, 2, 1)) * 6.0 - t2new_aaaa[np.ix_(sOa,soa,sVa,sVa)] += einsum(x53, (0, 1, 2, 3), (0, 3, 2, 1)) * -6.0 - del x53 - x54 = np.zeros((naocc[0], naocc[0], navir[0], nvir[0]), dtype=types[float]) - x54 += einsum(v.aaaa.vVOV, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 2, 6, 3, 1), (4, 5, 6, 0)) - t2new_aaaa[np.ix_(sOa,sOa,sva,sVa)] += einsum(x54, (0, 1, 2, 3), (0, 1, 3, 2)) * 6.0 - t2new_aaaa[np.ix_(sOa,sOa,sVa,sva)] += einsum(x54, (0, 1, 2, 3), (0, 1, 2, 3)) * -6.0 - del x54 - x55 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x55 += einsum(x26, (0, 1), t2.aaaa[np.ix_(soa,soa,sva,sva)], (2, 0, 3, 4), (1, 2, 3, 4)) - del x26 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x55, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x55, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - del x55 - x56 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x56 += einsum(f.aa.ov, (0, 1), t2.aaaa[np.ix_(soa,soa,sva,sva)], (2, 3, 4, 1), (0, 2, 3, 4)) - x57 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x57 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x56, (0, 2, 3, 4), (2, 3, 1, 4)) - del x56 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x57, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x57, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - del x57 - x58 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x58 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aaaa.oovv, (2, 3, 4, 1), (0, 2, 3, 4)) - x59 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x59 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x58, (2, 3, 0, 4), (2, 3, 1, 4)) - del x58 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x59, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x59, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x59, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x59, (0, 1, 2, 3), (1, 0, 3, 2)) - del x59 - x60 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x60 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aaaa.oooo, (2, 3, 4, 0), (2, 3, 4, 1)) - x61 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x61 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x60, (2, 0, 3, 4), (2, 3, 1, 4)) - del x60 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x61, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x61, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x61 - x62 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x62 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x35, (2, 3, 0, 4), (2, 3, 1, 4)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x62, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x62, (0, 1, 2, 3), (0, 1, 3, 2)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x62, (0, 1, 2, 3), (1, 0, 2, 3)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x62, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x62 - x63 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x63 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aaaa.vvvv, (2, 3, 4, 1), (0, 2, 3, 4)) - x64 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x64 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x63, (2, 3, 1, 4), (0, 2, 3, 4)) - del x63 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x64, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x64, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x64 - x65 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x65 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.ooov, (4, 5, 1, 3), (0, 4, 5, 2)) - x66 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x66 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x65, (2, 3, 0, 4), (2, 3, 1, 4)) - del x65 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x66, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x66, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x66, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x66, (0, 1, 2, 3), (1, 0, 3, 2)) - del x66 - x67 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x67 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aabb.vvov, (2, 1, 3, 4), (0, 3, 2, 4)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x67, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x67, (4, 1, 5, 3), (4, 0, 5, 2)) * 2.0 - x68 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x68 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x67, (4, 1, 5, 3), (4, 0, 2, 5)) - del x67 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x68, (0, 1, 2, 3), (0, 1, 3, 2)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x68, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x68, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x68, (0, 1, 2, 3), (1, 0, 2, 3)) - del x68 - x69 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x69 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aaaa.ooov, (2, 3, 4, 1), (0, 2, 3, 4)) - x70 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x70 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x69, (4, 5, 0, 1), (4, 5, 2, 3)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x70, (0, 1, 2, 3), (0, 1, 3, 2)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x70, (0, 1, 2, 3), (0, 1, 3, 2)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x70, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x70, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x70 - x71 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x71 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), v.aaaa.ooov, (4, 5, 1, 3), (0, 4, 5, 2)) - x72 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x72 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x71, (2, 3, 0, 4), (2, 3, 1, 4)) - del x71 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x72, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x72, (0, 1, 2, 3), (1, 0, 2, 3)) * -2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x72, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x72, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - del x72 - x73 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x73 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), v.aaaa.ooov, (4, 1, 5, 3), (0, 4, 5, 2)) - x74 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x74 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x73, (2, 3, 0, 4), (2, 3, 1, 4)) - del x73 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x74, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x74, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x74, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x74, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 - del x74 - x75 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x75 += einsum(x27, (0, 1), t2.aaaa[np.ix_(soa,soa,sva,sva)], (2, 1, 3, 4), (2, 0, 3, 4)) - del x27 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x75, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x75, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - del x75 - x76 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x76 += einsum(x28, (0, 1), t2.aaaa[np.ix_(soa,soa,sva,sva)], (2, 1, 3, 4), (2, 0, 3, 4)) - del x28 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x76, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x76, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 - del x76 - x77 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x77 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aaaa.ovvv, (2, 1, 3, 4), (0, 2, 3, 4)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x77, (4, 0, 5, 2), (4, 1, 5, 3)) * -1.0 - x78 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x78 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x77, (4, 1, 5, 3), (4, 0, 2, 5)) - del x77 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x78, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x78, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x78, (0, 1, 2, 3), (1, 0, 2, 3)) * -2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x78, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - del x78 - x79 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x79 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x45, (4, 1, 3, 5), (4, 0, 2, 5)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x79, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x79, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x79, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x79, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 - del x79 - x80 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x80 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), v.aaaa.ovvv, (4, 2, 5, 3), (0, 1, 4, 5)) - x81 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x81 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x80, (2, 3, 0, 4), (2, 3, 1, 4)) - del x80 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x81, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x81, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x81, (0, 1, 2, 3), (0, 1, 3, 2)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x81, (0, 1, 2, 3), (0, 1, 3, 2)) - del x81 - x82 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x82 += einsum(x30, (0, 1), t2.aaaa[np.ix_(soa,soa,sva,sva)], (2, 3, 4, 1), (2, 3, 4, 0)) - del x30 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x82, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x82, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - del x82 - x83 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x83 += einsum(x29, (0, 1), t2.aaaa[np.ix_(soa,soa,sva,sva)], (2, 3, 4, 0), (2, 3, 4, 1)) - del x29 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x83, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x83, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - del x83 - x84 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x84 += einsum(x31, (0, 1), t2.aaaa[np.ix_(soa,soa,sva,sva)], (2, 1, 3, 4), (2, 0, 3, 4)) - del x31 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x84, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x84, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 - del x84 - x85 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x85 += einsum(x32, (0, 1), t2.aaaa[np.ix_(soa,soa,sva,sva)], (2, 3, 4, 1), (2, 3, 4, 0)) - del x32 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x85, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x85, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x85 - x86 = np.zeros((naocc[0], naocc[1], navir[1], nocc[0]), dtype=types[float]) - x86 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aabb.vOOV, (1, 2, 3, 4), (2, 3, 4, 0)) - t2new_abab[np.ix_(soa,sOb,sVa,sVb)] += einsum(x86, (0, 1, 2, 3), t3.babbab, (4, 0, 1, 5, 6, 2), (3, 4, 6, 5)) * -2.0 - x87 = np.zeros((naocc[0], navir[0], navir[0], nocc[0]), dtype=types[float]) - x87 += einsum(x86, (0, 1, 2, 3), t3.abaaba, (4, 1, 0, 5, 2, 6), (4, 5, 6, 3)) - del x86 - t2new_aaaa[np.ix_(soa,sOa,sVa,sVa)] += einsum(x87, (0, 1, 2, 3), (3, 0, 2, 1)) * -2.0 - t2new_aaaa[np.ix_(sOa,soa,sVa,sVa)] += einsum(x87, (0, 1, 2, 3), (0, 3, 2, 1)) * 2.0 - del x87 - x88 = np.zeros((naocc[0], naocc[0], navir[0], nocc[0]), dtype=types[float]) - x88 += einsum(v.aabb.oVOV, (0, 1, 2, 3), t3.abaaba, (4, 2, 5, 6, 3, 1), (4, 5, 6, 0)) - x89 = np.zeros((naocc[0], naocc[0], navir[0], nvir[0]), dtype=types[float]) - x89 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x88, (2, 3, 4, 0), (3, 2, 4, 1)) * -1.0 - del x88 - t2new_aaaa[np.ix_(sOa,sOa,sva,sVa)] += einsum(x89, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - t2new_aaaa[np.ix_(sOa,sOa,sVa,sva)] += einsum(x89, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - del x89 - x90 = np.zeros((naocc[1], navir[1]), dtype=types[float]) - x90 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aabb.ovOV, (0, 1, 2, 3), (2, 3)) - t2new_aaaa[np.ix_(sOa,sOa,sVa,sVa)] += einsum(x90, (0, 1), t3.abaaba, (2, 0, 3, 4, 1, 5), (2, 3, 4, 5)) * 2.0 - t2new_abab[np.ix_(sOa,sOb,sVa,sVb)] += einsum(x90, (0, 1), t3.babbab, (2, 3, 0, 4, 5, 1), (3, 2, 5, 4)) * 2.0 - t2new_bbbb[np.ix_(sOb,sOb,sVb,sVb)] += einsum(x90, (0, 1), t3.bbbbbb, (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) * 6.0 - del x90 - x91 = np.zeros((naocc[0], naocc[0], navir[0], nocc[0]), dtype=types[float]) - x91 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aaaa.vOOV, (1, 2, 3, 4), (3, 2, 4, 0)) - t2new_abab[np.ix_(soa,sOb,sVa,sVb)] += einsum(x91, (0, 1, 2, 3), t3.abaaba, (1, 4, 0, 5, 6, 2), (3, 4, 5, 6)) * -1.0 - x92 = np.zeros((naocc[0], navir[0], navir[0], nocc[0]), dtype=types[float]) - x92 += einsum(x91, (0, 1, 2, 3), t3.aaaaaa, (4, 1, 0, 5, 6, 2), (4, 5, 6, 3)) * -1.0 - del x91 - t2new_aaaa[np.ix_(soa,sOa,sVa,sVa)] += einsum(x92, (0, 1, 2, 3), (3, 0, 2, 1)) * 3.0 - t2new_aaaa[np.ix_(sOa,soa,sVa,sVa)] += einsum(x92, (0, 1, 2, 3), (0, 3, 2, 1)) * -3.0 - del x92 - x93 = np.zeros((naocc[0], naocc[0], navir[0], nocc[0]), dtype=types[float]) - x93 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aaaa.vOOV, (1, 2, 3, 4), (3, 2, 4, 0)) - t2new_abab[np.ix_(soa,sOb,sVa,sVb)] += einsum(x93, (0, 1, 2, 3), t3.abaaba, (1, 4, 0, 5, 6, 2), (3, 4, 5, 6)) * -1.0 - x94 = np.zeros((naocc[0], navir[0], navir[0], nocc[0]), dtype=types[float]) - x94 += einsum(x93, (0, 1, 2, 3), t3.aaaaaa, (4, 1, 0, 5, 6, 2), (4, 5, 6, 3)) * -1.0 - del x93 - t2new_aaaa[np.ix_(soa,sOa,sVa,sVa)] += einsum(x94, (0, 1, 2, 3), (3, 0, 2, 1)) * 3.0 - t2new_aaaa[np.ix_(sOa,soa,sVa,sVa)] += einsum(x94, (0, 1, 2, 3), (0, 3, 2, 1)) * -3.0 - del x94 - x95 = np.zeros((naocc[0], naocc[0], navir[0], nocc[0]), dtype=types[float]) - x95 += einsum(v.aaaa.oVOV, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 2, 6, 3, 1), (4, 5, 6, 0)) - x96 = np.zeros((naocc[0], naocc[0], navir[0], nvir[0]), dtype=types[float]) - x96 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x95, (2, 3, 4, 0), (3, 2, 4, 1)) * -1.0 - del x95 - t2new_aaaa[np.ix_(sOa,sOa,sva,sVa)] += einsum(x96, (0, 1, 2, 3), (0, 1, 3, 2)) * -6.0 - t2new_aaaa[np.ix_(sOa,sOa,sVa,sva)] += einsum(x96, (0, 1, 2, 3), (0, 1, 2, 3)) * 6.0 - del x96 - x97 = np.zeros((naocc[0], navir[0]), dtype=types[float]) - x97 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aaaa.ovOV, (0, 1, 2, 3), (2, 3)) - t2new_aaaa[np.ix_(sOa,sOa,sVa,sVa)] += einsum(x97, (0, 1), t3.aaaaaa, (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) * 6.0 - t2new_abab[np.ix_(sOa,sOb,sVa,sVb)] += einsum(x97, (0, 1), t3.abaaba, (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) * 2.0 - t2new_bbbb[np.ix_(sOb,sOb,sVb,sVb)] += einsum(x97, (0, 1), t3.babbab, (2, 0, 3, 4, 1, 5), (2, 3, 4, 5)) * 2.0 - del x97 - x98 = np.zeros((naocc[0], navir[0]), dtype=types[float]) - x98 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aaaa.oVvO, (0, 2, 1, 3), (3, 2)) - t2new_aaaa[np.ix_(sOa,sOa,sVa,sVa)] += einsum(x98, (0, 1), t3.aaaaaa, (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) * -6.0 - t2new_abab[np.ix_(sOa,sOb,sVa,sVb)] += einsum(x98, (0, 1), t3.abaaba, (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) * -2.0 - t2new_bbbb[np.ix_(sOb,sOb,sVb,sVb)] += einsum(x98, (0, 1), t3.babbab, (2, 0, 3, 4, 1, 5), (2, 3, 4, 5)) * -2.0 - del x98 - x99 = np.zeros((naocc[1], navir[1]), dtype=types[float]) - x99 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.bbbb.ovOV, (0, 1, 2, 3), (2, 3)) - t2new_aaaa[np.ix_(sOa,sOa,sVa,sVa)] += einsum(x99, (0, 1), t3.abaaba, (2, 0, 3, 4, 1, 5), (2, 3, 4, 5)) * 2.0 - t2new_abab[np.ix_(sOa,sOb,sVa,sVb)] += einsum(x99, (0, 1), t3.babbab, (2, 3, 0, 4, 5, 1), (3, 2, 5, 4)) * 2.0 - t2new_bbbb[np.ix_(sOb,sOb,sVb,sVb)] += einsum(x99, (0, 1), t3.bbbbbb, (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) * 6.0 - del x99 - x100 = np.zeros((naocc[1], navir[1]), dtype=types[float]) - x100 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.bbbb.oVvO, (0, 2, 1, 3), (3, 2)) - t2new_aaaa[np.ix_(sOa,sOa,sVa,sVa)] += einsum(x100, (0, 1), t3.abaaba, (2, 0, 3, 4, 1, 5), (2, 3, 4, 5)) * -2.0 - t2new_abab[np.ix_(sOa,sOb,sVa,sVb)] += einsum(x100, (0, 1), t3.babbab, (2, 3, 0, 4, 5, 1), (3, 2, 5, 4)) * -2.0 - t2new_bbbb[np.ix_(sOb,sOb,sVb,sVb)] += einsum(x100, (0, 1), t3.bbbbbb, (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) * -6.0 - del x100 - x101 = np.zeros((naocc[0], navir[0]), dtype=types[float]) - x101 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.aabb.OVov, (2, 3, 0, 1), (2, 3)) - t2new_aaaa[np.ix_(sOa,sOa,sVa,sVa)] += einsum(x101, (0, 1), t3.aaaaaa, (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) * 6.0 - t2new_abab[np.ix_(sOa,sOb,sVa,sVb)] += einsum(x101, (0, 1), t3.abaaba, (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) * 2.0 - t2new_bbbb[np.ix_(sOb,sOb,sVb,sVb)] += einsum(x101, (0, 1), t3.babbab, (2, 0, 3, 4, 1, 5), (2, 3, 4, 5)) * 2.0 - del x101 - x102 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x102 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.bbbb.ovov, (4, 5, 1, 3), (0, 4, 2, 5)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x102, (0, 1, 2, 3), (0, 1, 2, 3)) - x103 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x103 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x102, (4, 1, 5, 3), (4, 0, 5, 2)) - del x102 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x103, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x103, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x103 - x104 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x104 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.bbbb.ovov, (4, 3, 1, 5), (0, 4, 2, 5)) - x105 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x105 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x104, (4, 1, 5, 3), (4, 0, 5, 2)) - del x104 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x105, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x105, (0, 1, 2, 3), (0, 1, 3, 2)) - del x105 - x106 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x106 += einsum(x34, (0, 1), t2.aaaa[np.ix_(soa,soa,sva,sva)], (2, 1, 3, 4), (2, 0, 3, 4)) - del x34 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x106, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x106, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - del x106 - x107 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x107 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x46, (4, 1, 5, 3), (0, 4, 2, 5)) - del x46 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x107, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x107, (0, 1, 2, 3), (1, 0, 2, 3)) * -2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x107, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x107, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x107 - x108 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x108 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.ovov, (0, 4, 1, 3), (2, 4)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x108, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (2, 3, 1, 4), (2, 3, 0, 4)) * -1.0 - x109 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x109 += einsum(x108, (0, 1), t2.aaaa[np.ix_(soa,soa,sva,sva)], (2, 3, 4, 1), (2, 3, 4, 0)) - del x108 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x109, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x109, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - del x109 - x110 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x110 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x49, (4, 1, 5, 3), (4, 0, 5, 2)) - del x49 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x110, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x110, (0, 1, 2, 3), (0, 1, 3, 2)) * -4.0 - del x110 - x111 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x111 += einsum(x37, (0, 1), t2.aaaa[np.ix_(soa,soa,sva,sva)], (2, 1, 3, 4), (2, 0, 3, 4)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x111, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x111, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x111, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x111, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 - del x111 - x112 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x112 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), v.aaaa.ovov, (4, 3, 1, 5), (0, 4, 2, 5)) - x113 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x113 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x112, (4, 1, 5, 3), (4, 0, 5, 2)) - del x112 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x113, (0, 1, 2, 3), (0, 1, 2, 3)) * -4.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x113, (0, 1, 2, 3), (0, 1, 3, 2)) * 4.0 - del x113 - x114 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x114 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), v.aaaa.ovov, (0, 3, 1, 4), (2, 4)) * -1.0 - x115 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x115 += einsum(x114, (0, 1), t2.aaaa[np.ix_(soa,soa,sva,sva)], (2, 3, 4, 1), (2, 3, 4, 0)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x115, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x115, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x115, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x115, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - del x115 - x116 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x116 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), v.aaaa.ovov, (4, 3, 5, 2), (0, 1, 4, 5)) * -1.0 - x117 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x117 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x116, (4, 5, 0, 1), (5, 4, 2, 3)) * -1.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x117, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x117, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x117 - x118 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x118 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x69, (2, 3, 4, 0), (2, 4, 3, 1)) - del x69 - x119 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x119 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x118, (2, 0, 3, 4), (2, 3, 1, 4)) - del x118 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x119, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x119, (0, 1, 2, 3), (0, 1, 3, 2)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x119, (0, 1, 2, 3), (1, 0, 2, 3)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x119, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x119 - x120 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x120 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x45, (2, 3, 1, 4), (0, 2, 3, 4)) - del x45 - x121 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x121 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x120, (2, 3, 0, 4), (2, 3, 1, 4)) - del x120 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x121, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x121, (0, 1, 2, 3), (1, 0, 2, 3)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x121, (0, 1, 2, 3), (0, 1, 3, 2)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x121, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x121 - x122 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x122 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x33, (4, 5, 1, 3), (4, 0, 5, 2)) - x123 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x123 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x122, (2, 3, 0, 4), (2, 3, 1, 4)) - del x122 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x123, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x123, (0, 1, 2, 3), (0, 1, 3, 2)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x123, (0, 1, 2, 3), (1, 0, 2, 3)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x123, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x123 - x124 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x124 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x35, (2, 3, 4, 1), (2, 0, 4, 3)) - x125 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x125 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x124, (4, 5, 0, 1), (5, 4, 2, 3)) * -1.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x125, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x125, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x125 - x126 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x126 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x35, (4, 1, 5, 3), (4, 0, 5, 2)) - x127 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x127 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x126, (2, 3, 0, 4), (2, 3, 1, 4)) - del x126 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x127, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x127, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x127, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x127, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 - del x127 - x128 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x128 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x35, (4, 5, 1, 3), (4, 0, 5, 2)) - x129 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x129 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x128, (2, 3, 0, 4), (2, 3, 1, 4)) - del x128 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x129, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x129, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x129, (0, 1, 2, 3), (1, 0, 2, 3)) * -2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x129, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - del x129 - x130 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x130 += einsum(x39, (0, 1), t2.aaaa[np.ix_(soa,soa,sva,sva)], (2, 1, 3, 4), (0, 2, 3, 4)) - del x39 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x130, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x130, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 - del x130 - x131 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x131 += einsum(x40, (0, 1), t2.aaaa[np.ix_(soa,soa,sva,sva)], (2, 1, 3, 4), (0, 2, 3, 4)) - del x40 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x131, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x131, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - del x131 - x132 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x132 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x116, (2, 3, 0, 4), (2, 3, 4, 1)) * -1.0 - del x116 - x133 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x133 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x132, (2, 3, 0, 4), (2, 3, 4, 1)) * -1.0 - del x132 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x133, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x133, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x133 - x134 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x134 += einsum(x11, (0, 1), t2.aaaa[np.ix_(soa,soa,sva,sva)], (2, 3, 4, 1), (2, 3, 0, 4)) - x135 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x135 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x134, (2, 3, 0, 4), (2, 3, 1, 4)) - del x134 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x135, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x135, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - del x135 - x136 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x136 += einsum(x12, (0, 1), t2.aaaa[np.ix_(soa,soa,sva,sva)], (2, 3, 4, 1), (2, 3, 0, 4)) - x137 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x137 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x136, (2, 3, 0, 4), (2, 3, 1, 4)) - del x136 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x137, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x137, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - del x137 - x138 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x138 += einsum(x41, (0, 1), t2.aaaa[np.ix_(soa,soa,sva,sva)], (2, 1, 3, 4), (0, 2, 3, 4)) - del x41 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x138, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x138, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - del x138 - x139 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x139 += einsum(x15, (0, 1), t2.aaaa[np.ix_(soa,soa,sva,sva)], (2, 3, 4, 1), (2, 3, 0, 4)) - x140 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x140 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x139, (2, 3, 0, 4), (2, 3, 1, 4)) - del x139 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x140, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x140, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - del x140 - x141 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x141 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x124, (2, 3, 0, 4), (3, 2, 4, 1)) - del x124 - x142 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x142 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x141, (2, 3, 0, 4), (2, 3, 1, 4)) - del x141 - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x142, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x142, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x142 - x143 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x143 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.aabb.ovvv, (2, 3, 4, 1), (2, 0, 3, 4)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x143, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x143, (1, 4, 3, 5), (0, 4, 2, 5)) * 2.0 - x144 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x144 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aaaa.ovov, (4, 5, 0, 2), (4, 1, 5, 3)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x144, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x144, (1, 4, 3, 5), (0, 4, 2, 5)) * 2.0 - x145 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x145 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (4, 0, 5, 2)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x145, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x145, (1, 4, 3, 5), (0, 4, 2, 5)) * 4.0 - x146 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x146 += einsum(f.aa.ov, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (2, 3, 1, 4), (0, 2, 3, 4)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x146, (0, 2, 3, 4), (2, 3, 1, 4)) * -1.0 - del x146 - x147 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x147 += einsum(f.bb.ov, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (2, 3, 4, 1), (2, 0, 3, 4)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x147, (2, 0, 3, 4), (2, 3, 4, 1)) * -1.0 - del x147 - x148 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x148 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.aabb.oovv, (2, 3, 4, 1), (2, 3, 0, 4)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x148, (2, 0, 3, 4), (2, 3, 1, 4)) * -1.0 - del x148 - x149 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x149 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.aabb.oooo, (2, 3, 4, 0), (2, 3, 4, 1)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x149, (2, 0, 3, 4), (2, 3, 1, 4)) - del x149 - x150 = np.zeros((nocc[1], nvir[0], nvir[0], nvir[1]), dtype=types[float]) - x150 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.aabb.vvvv, (2, 3, 4, 1), (0, 2, 3, 4)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x150, (2, 3, 1, 4), (0, 2, 3, 4)) - del x150 - x151 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x151 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aabb.vvoo, (2, 1, 3, 4), (0, 3, 4, 2)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x151, (2, 3, 0, 4), (2, 3, 4, 1)) * -1.0 - del x151 - x152 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x152 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aaaa.ooov, (4, 5, 0, 2), (4, 5, 1, 3)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x152, (2, 0, 3, 4), (2, 3, 1, 4)) * -1.0 - del x152 - x153 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x153 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aaaa.ooov, (4, 0, 5, 2), (4, 5, 1, 3)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x153, (2, 0, 3, 4), (2, 3, 1, 4)) - del x153 - x154 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x154 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aabb.ovoo, (2, 1, 3, 4), (0, 2, 3, 4)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x154, (4, 0, 5, 1), (4, 5, 2, 3)) - x155 = np.zeros((nocc[0], nocc[0], nvir[1], nvir[1]), dtype=types[float]) - x155 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aabb.ovvv, (2, 1, 3, 4), (0, 2, 3, 4)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x155, (4, 0, 5, 3), (4, 1, 2, 5)) * -1.0 - del x155 - x156 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x156 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.ovoo, (4, 2, 5, 1), (0, 4, 5, 3)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x156, (2, 0, 3, 4), (2, 3, 1, 4)) - del x156 - x157 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x157 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.ovvv, (4, 2, 5, 3), (0, 4, 1, 5)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x157, (2, 0, 3, 4), (2, 3, 1, 4)) * -1.0 - del x157 - x158 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x158 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), v.aabb.ooov, (4, 5, 1, 3), (4, 5, 0, 2)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x158, (2, 0, 3, 4), (2, 3, 1, 4)) * -2.0 - del x158 - x159 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x159 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.aabb.ooov, (2, 3, 4, 1), (2, 3, 0, 4)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x159, (4, 0, 5, 1), (4, 5, 2, 3)) - x160 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x160 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.bbbb.ooov, (4, 5, 1, 3), (0, 4, 5, 2)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x160, (2, 3, 0, 4), (2, 3, 4, 1)) * -1.0 - del x160 - x161 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x161 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.bbbb.ooov, (4, 1, 5, 3), (0, 4, 5, 2)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x161, (2, 3, 0, 4), (2, 3, 4, 1)) - del x161 - x162 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x162 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.ooov, (4, 0, 5, 3), (4, 1, 5, 2)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x162, (2, 3, 0, 4), (2, 3, 4, 1)) - del x162 - x163 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x163 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.bbbb.ovvv, (2, 1, 3, 4), (0, 2, 3, 4)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x163, (4, 1, 5, 3), (0, 4, 2, 5)) * -1.0 - x164 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x164 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.bbbb.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x164, (4, 1, 3, 5), (0, 4, 2, 5)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x164, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x164, (0, 1, 2, 3), (0, 1, 3, 2)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x164, (0, 1, 2, 3), (1, 0, 2, 3)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x164, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - x165 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x165 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.aabb.vvov, (2, 3, 4, 1), (0, 4, 2, 3)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x165, (4, 1, 5, 2), (0, 4, 5, 3)) * -1.0 - x166 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x166 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.vvov, (4, 2, 5, 3), (0, 1, 5, 4)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x166, (2, 3, 0, 4), (2, 3, 4, 1)) * -1.0 - del x166 - x167 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x167 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), v.aabb.ovoo, (1, 3, 4, 5), (0, 4, 5, 2)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x167, (2, 3, 0, 4), (2, 3, 4, 1)) * -2.0 - del x167 - x168 = np.zeros((naocc[0], naocc[1], navir[1], nocc[0]), dtype=types[float]) - x168 += einsum(v.aaaa.oVOV, (0, 1, 2, 3), t3.abaaba, (4, 5, 2, 3, 6, 1), (4, 5, 6, 0)) - t2new_abab[np.ix_(sOa,sOb,sva,sVb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x168, (2, 3, 4, 0), (2, 3, 1, 4)) * 2.0 - del x168 - x169 = np.zeros((naocc[0], naocc[1], navir[1], nocc[0]), dtype=types[float]) - x169 += einsum(v.aabb.oVOV, (0, 1, 2, 3), t3.babbab, (4, 5, 2, 6, 1, 3), (5, 4, 6, 0)) - t2new_abab[np.ix_(sOa,sOb,sva,sVb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x169, (2, 3, 4, 0), (2, 3, 1, 4)) * -2.0 - del x169 - x170 = np.zeros((naocc[0], naocc[1], navir[0], nocc[1]), dtype=types[float]) - x170 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.aabb.OVvO, (2, 3, 1, 4), (2, 4, 3, 0)) - t2new_abab[np.ix_(sOa,sob,sVa,sVb)] += einsum(x170, (0, 1, 2, 3), t3.abaaba, (4, 1, 0, 5, 6, 2), (4, 3, 5, 6)) * -2.0 - x171 = np.zeros((naocc[0], naocc[1], navir[0], nocc[1]), dtype=types[float]) - x171 += einsum(v.aabb.OVoV, (0, 1, 2, 3), t3.abaaba, (4, 5, 0, 6, 3, 1), (4, 5, 6, 2)) - t2new_abab[np.ix_(sOa,sOb,sVa,svb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x171, (2, 3, 4, 0), (2, 3, 4, 1)) * -2.0 - del x171 - x172 = np.zeros((naocc[1], naocc[1], navir[1], nocc[1]), dtype=types[float]) - x172 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.bbbb.vOOV, (1, 2, 3, 4), (3, 2, 4, 0)) - t2new_abab[np.ix_(sOa,sob,sVa,sVb)] += einsum(x172, (0, 1, 2, 3), t3.babbab, (1, 4, 0, 5, 6, 2), (4, 3, 6, 5)) * -1.0 - x173 = np.zeros((naocc[1], naocc[1], navir[1], nocc[1]), dtype=types[float]) - x173 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.bbbb.vOOV, (1, 2, 3, 4), (3, 2, 4, 0)) - t2new_abab[np.ix_(sOa,sob,sVa,sVb)] += einsum(x173, (0, 1, 2, 3), t3.babbab, (0, 4, 1, 5, 6, 2), (4, 3, 6, 5)) - x174 = np.zeros((naocc[0], naocc[1], navir[0], nocc[1]), dtype=types[float]) - x174 += einsum(v.bbbb.oVOV, (0, 1, 2, 3), t3.babbab, (4, 5, 2, 1, 6, 3), (5, 4, 6, 0)) * -1.0 - t2new_abab[np.ix_(sOa,sOb,sVa,svb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x174, (2, 3, 4, 0), (2, 3, 4, 1)) * 2.0 - del x174 - x175 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x175 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.ovov, (4, 2, 5, 3), (0, 4, 1, 5)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x175, (4, 0, 5, 1), (4, 5, 2, 3)) - x176 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x176 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.ovov, (0, 2, 1, 4), (3, 4)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x176, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (2, 3, 4, 1), (2, 3, 4, 0)) * -1.0 - x177 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x177 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.ovov, (0, 4, 5, 3), (1, 5, 2, 4)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x177, (4, 1, 5, 2), (0, 4, 5, 3)) - del x177 - x178 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x178 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 5), (1, 4, 3, 5)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x178, (4, 1, 5, 3), (0, 4, 2, 5)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x178, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x178, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x178, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x178, (0, 1, 2, 3), (1, 0, 3, 2)) - del x178 - x179 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x179 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), v.bbbb.ovov, (4, 5, 1, 3), (0, 4, 2, 5)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x179, (4, 1, 5, 3), (0, 4, 2, 5)) * 2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x179, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x179, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x179, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x179, (0, 1, 2, 3), (1, 0, 2, 3)) * -2.0 - x180 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x180 += einsum(x18, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (2, 1, 3, 4), (2, 0, 3, 4)) * -1.0 - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x180, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x180, (0, 1, 2, 3), (0, 1, 2, 3)) - del x180 - x181 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x181 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), v.bbbb.ovov, (4, 3, 1, 5), (0, 4, 2, 5)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x181, (4, 1, 5, 3), (0, 4, 2, 5)) * -2.0 - x182 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x182 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), v.bbbb.ovov, (0, 3, 1, 4), (2, 4)) * -1.0 - x183 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x183 += einsum(x182, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (2, 3, 4, 1), (2, 3, 4, 0)) * -1.0 - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x183, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x183, (0, 1, 2, 3), (0, 1, 2, 3)) - del x183 - x184 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x184 += einsum(x114, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (2, 3, 1, 4), (2, 3, 0, 4)) * -1.0 - del x114 - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x184, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x184, (0, 1, 2, 3), (0, 1, 2, 3)) - del x184 - x185 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x185 += einsum(x37, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (1, 2, 3, 4), (0, 2, 3, 4)) * -1.0 - del x37 - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x185, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x185, (0, 1, 2, 3), (0, 1, 2, 3)) - del x185 - x186 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x186 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aaaa.ovov, (4, 2, 0, 5), (4, 1, 5, 3)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x186, (1, 4, 3, 5), (0, 4, 2, 5)) * -2.0 - x187 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x187 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x143, (2, 3, 1, 4), (0, 2, 3, 4)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x187, (2, 0, 3, 4), (2, 3, 1, 4)) * -1.0 - del x187 - x188 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x188 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x154, (2, 3, 4, 0), (2, 3, 4, 1)) - del x154 - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x188, (2, 0, 3, 4), (2, 3, 1, 4)) - del x188 - x189 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x189 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x159, (2, 3, 4, 0), (3, 2, 4, 1)) - del x159 - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x189, (0, 2, 3, 4), (2, 3, 1, 4)) - del x189 - x190 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x190 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x165, (2, 3, 4, 1), (0, 2, 3, 4)) - del x165 - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x190, (2, 3, 0, 4), (2, 3, 4, 1)) * -1.0 - del x190 - x191 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x191 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x35, (4, 0, 5, 2), (4, 5, 1, 3)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x191, (2, 0, 3, 4), (2, 3, 1, 4)) * -1.0 - del x191 - x192 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x192 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x35, (4, 5, 0, 2), (4, 5, 1, 3)) - del x35 - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x192, (2, 0, 3, 4), (2, 3, 1, 4)) - del x192 - x193 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x193 += einsum(x11, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (2, 3, 1, 4), (2, 0, 3, 4)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x193, (2, 0, 3, 4), (2, 3, 1, 4)) * -1.0 - del x193 - x194 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x194 += einsum(x12, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (2, 3, 1, 4), (2, 0, 3, 4)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x194, (2, 0, 3, 4), (2, 3, 1, 4)) - del x194 - x195 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x195 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x33, (4, 5, 1, 3), (4, 5, 0, 2)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x195, (2, 0, 3, 4), (2, 3, 1, 4)) * -2.0 - del x195 - x196 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x196 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x13, (2, 3, 4, 1), (0, 2, 3, 4)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x196, (4, 0, 5, 1), (4, 5, 2, 3)) - x197 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x197 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x33, (4, 0, 5, 3), (4, 1, 5, 2)) - del x33 - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x197, (2, 3, 0, 4), (2, 3, 4, 1)) - del x197 - x198 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x198 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x13, (4, 5, 1, 2), (0, 4, 5, 3)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x198, (2, 0, 3, 4), (2, 3, 1, 4)) - del x198 - x199 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x199 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x175, (2, 3, 4, 0), (2, 3, 4, 1)) - del x175 - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x199, (2, 0, 3, 4), (2, 3, 1, 4)) - del x199 - x200 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x200 += einsum(x15, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (2, 3, 1, 4), (2, 0, 3, 4)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x200, (2, 0, 3, 4), (2, 3, 1, 4)) * -1.0 - del x200 - x201 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x201 += einsum(x0, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (2, 3, 4, 1), (2, 3, 0, 4)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x201, (2, 3, 0, 4), (2, 3, 4, 1)) * -1.0 - del x201 - x202 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x202 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x16, (4, 1, 5, 3), (0, 4, 5, 2)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x202, (2, 3, 0, 4), (2, 3, 4, 1)) * -1.0 - del x202 - x203 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x203 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x16, (4, 5, 1, 3), (0, 4, 5, 2)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x203, (2, 3, 0, 4), (2, 3, 4, 1)) - del x203 - x204 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x204 += einsum(x1, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (2, 3, 4, 1), (2, 3, 0, 4)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x204, (2, 3, 0, 4), (2, 3, 4, 1)) * -1.0 - del x204 - x205 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x205 += einsum(x20, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (2, 3, 4, 1), (2, 3, 0, 4)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x205, (2, 3, 0, 4), (2, 3, 4, 1)) - del x205 - x206 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x206 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x13, (1, 4, 5, 3), (0, 4, 5, 2)) - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x206, (2, 3, 0, 4), (2, 3, 4, 1)) * -2.0 - del x206 - x207 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x207 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x196, (2, 3, 4, 0), (2, 3, 4, 1)) - del x196 - t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x207, (2, 0, 3, 4), (2, 3, 1, 4)) - del x207 - x208 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x208 += einsum(f.bb.oo, (0, 1), t2.bbbb[np.ix_(sob,sob,svb,svb)], (2, 1, 3, 4), (0, 2, 3, 4)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x208, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x208, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - del x208 - x209 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x209 += einsum(f.bb.vv, (0, 1), t2.bbbb[np.ix_(sob,sob,svb,svb)], (2, 3, 4, 1), (2, 3, 0, 4)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x209, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x209, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 - del x209 - x210 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x210 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.bbbb.ooov, (2, 0, 3, 4), (2, 3, 1, 4)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x210, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x210, (0, 1, 2, 3), (1, 0, 2, 3)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x210, (0, 1, 2, 3), (0, 1, 3, 2)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x210, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x210 - x211 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x211 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), v.bbbb.oooo, (4, 0, 5, 1), (4, 5, 2, 3)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x211, (0, 1, 2, 3), (1, 0, 3, 2)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x211, (0, 1, 2, 3), (1, 0, 3, 2)) - del x211 - x212 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x212 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), v.bbbb.oovv, (4, 1, 5, 3), (0, 4, 2, 5)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x212, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x212, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x212, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x212, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 - del x212 - x213 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x213 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), v.bbbb.vvvv, (4, 2, 5, 3), (0, 1, 4, 5)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x213, (0, 1, 2, 3), (1, 0, 3, 2)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x213, (0, 1, 2, 3), (1, 0, 3, 2)) - del x213 - x214 = np.zeros((naocc[1], navir[1], navir[1], nocc[1]), dtype=types[float]) - x214 += einsum(v.aabb.OVoO, (0, 1, 2, 3), t3.babbab, (4, 0, 3, 5, 1, 6), (4, 5, 6, 2)) - t2new_bbbb[np.ix_(sob,sOb,sVb,sVb)] += einsum(x214, (0, 1, 2, 3), (3, 0, 2, 1)) * -2.0 - t2new_bbbb[np.ix_(sOb,sob,sVb,sVb)] += einsum(x214, (0, 1, 2, 3), (0, 3, 2, 1)) * 2.0 - del x214 - x215 = np.zeros((naocc[1], naocc[1], navir[1], nvir[1]), dtype=types[float]) - x215 += einsum(v.aabb.OVvV, (0, 1, 2, 3), t3.babbab, (4, 0, 5, 6, 1, 3), (4, 5, 6, 2)) - t2new_bbbb[np.ix_(sOb,sOb,svb,sVb)] += einsum(x215, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - t2new_bbbb[np.ix_(sOb,sOb,sVb,svb)] += einsum(x215, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x215 - x216 = np.zeros((naocc[1], navir[1], navir[1], nocc[1]), dtype=types[float]) - x216 += einsum(v.bbbb.oOOV, (0, 1, 2, 3), t3.bbbbbb, (4, 1, 2, 5, 6, 3), (4, 5, 6, 0)) * -1.0 - t2new_bbbb[np.ix_(sob,sOb,sVb,sVb)] += einsum(x216, (0, 1, 2, 3), (3, 0, 2, 1)) * 6.0 - t2new_bbbb[np.ix_(sOb,sob,sVb,sVb)] += einsum(x216, (0, 1, 2, 3), (0, 3, 2, 1)) * -6.0 - del x216 - x217 = np.zeros((naocc[1], naocc[1], navir[1], nvir[1]), dtype=types[float]) - x217 += einsum(v.bbbb.vVOV, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 2, 6, 1, 3), (4, 5, 6, 0)) * -1.0 - t2new_bbbb[np.ix_(sOb,sOb,svb,sVb)] += einsum(x217, (0, 1, 2, 3), (0, 1, 3, 2)) * 6.0 - t2new_bbbb[np.ix_(sOb,sOb,sVb,svb)] += einsum(x217, (0, 1, 2, 3), (0, 1, 2, 3)) * -6.0 - del x217 - x218 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x218 += einsum(x4, (0, 1), t2.bbbb[np.ix_(sob,sob,svb,svb)], (2, 0, 3, 4), (1, 2, 3, 4)) - del x4 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x218, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x218, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - del x218 - x219 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x219 += einsum(f.bb.ov, (0, 1), t2.bbbb[np.ix_(sob,sob,svb,svb)], (2, 3, 4, 1), (0, 2, 3, 4)) - x220 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x220 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x219, (0, 2, 3, 4), (2, 3, 1, 4)) - del x219 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x220, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x220, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - del x220 - x221 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x221 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.bbbb.oovv, (2, 3, 4, 1), (0, 2, 3, 4)) - x222 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x222 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x221, (2, 3, 0, 4), (2, 3, 1, 4)) - del x221 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x222, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x222, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x222, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x222, (0, 1, 2, 3), (1, 0, 3, 2)) - del x222 - x223 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x223 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.bbbb.oooo, (2, 3, 4, 0), (2, 3, 4, 1)) - x224 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x224 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x223, (2, 0, 3, 4), (2, 3, 1, 4)) - del x223 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x224, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x224, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x224 - x225 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x225 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x16, (2, 3, 0, 4), (2, 3, 1, 4)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x225, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x225, (0, 1, 2, 3), (0, 1, 3, 2)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x225, (0, 1, 2, 3), (1, 0, 2, 3)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x225, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x225 - x226 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x226 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.bbbb.vvvv, (2, 3, 4, 1), (0, 2, 3, 4)) - x227 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x227 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x226, (2, 3, 1, 4), (0, 2, 3, 4)) - del x226 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x227, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x227, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x227 - x228 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x228 += einsum(x6, (0, 1), t2.bbbb[np.ix_(sob,sob,svb,svb)], (2, 1, 3, 4), (2, 0, 3, 4)) - del x6 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x228, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x228, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 - del x228 - x229 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x229 += einsum(x5, (0, 1), t2.bbbb[np.ix_(sob,sob,svb,svb)], (2, 3, 4, 1), (2, 3, 4, 0)) - del x5 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x229, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x229, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - del x229 - x230 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x230 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x143, (0, 4, 2, 5), (4, 1, 3, 5)) - del x143 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x230, (0, 1, 2, 3), (0, 1, 3, 2)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x230, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x230, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x230, (0, 1, 2, 3), (1, 0, 2, 3)) - del x230 - x231 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x231 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.ovoo, (0, 2, 4, 5), (1, 4, 5, 3)) - x232 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x232 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x231, (2, 3, 0, 4), (2, 3, 1, 4)) - del x231 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x232, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x232, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x232, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x232, (0, 1, 2, 3), (1, 0, 3, 2)) - del x232 - x233 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x233 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.bbbb.ooov, (2, 3, 4, 1), (0, 2, 3, 4)) - x234 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x234 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x233, (4, 5, 0, 1), (4, 5, 2, 3)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x234, (0, 1, 2, 3), (0, 1, 3, 2)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x234, (0, 1, 2, 3), (0, 1, 3, 2)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x234, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x234, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x234 - x235 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x235 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), v.bbbb.ooov, (4, 5, 1, 3), (0, 4, 5, 2)) - x236 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x236 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x235, (2, 3, 0, 4), (2, 3, 1, 4)) - del x235 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x236, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x236, (0, 1, 2, 3), (1, 0, 2, 3)) * -2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x236, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x236, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - del x236 - x237 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x237 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), v.bbbb.ooov, (4, 1, 5, 3), (0, 4, 5, 2)) - x238 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x238 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x237, (2, 3, 0, 4), (2, 3, 1, 4)) - del x237 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x238, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x238, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x238, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x238, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 - del x238 - x239 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x239 += einsum(x7, (0, 1), t2.bbbb[np.ix_(sob,sob,svb,svb)], (2, 1, 3, 4), (2, 0, 3, 4)) - del x7 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x239, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x239, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - del x239 - x240 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x240 += einsum(x8, (0, 1), t2.bbbb[np.ix_(sob,sob,svb,svb)], (2, 1, 3, 4), (2, 0, 3, 4)) - del x8 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x240, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x240, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 - del x240 - x241 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x241 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x163, (4, 1, 5, 3), (4, 0, 2, 5)) - del x163 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x241, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x241, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x241, (0, 1, 2, 3), (1, 0, 2, 3)) * -2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x241, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - del x241 - x242 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x242 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x164, (4, 1, 3, 5), (4, 0, 2, 5)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x242, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x242, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x242, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x242, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 - del x242 - x243 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x243 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), v.bbbb.ovvv, (4, 2, 5, 3), (0, 1, 4, 5)) - x244 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x244 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x243, (2, 3, 0, 4), (2, 3, 1, 4)) - del x243 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x244, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x244, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x244, (0, 1, 2, 3), (0, 1, 3, 2)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x244, (0, 1, 2, 3), (0, 1, 3, 2)) - del x244 - x245 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x245 += einsum(x10, (0, 1), t2.bbbb[np.ix_(sob,sob,svb,svb)], (2, 3, 4, 1), (2, 3, 4, 0)) - del x10 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x245, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x245, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - del x245 - x246 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x246 += einsum(x9, (0, 1), t2.bbbb[np.ix_(sob,sob,svb,svb)], (2, 3, 4, 0), (2, 3, 4, 1)) - del x9 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x246, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x246, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - del x246 - x247 = np.zeros((naocc[1], navir[1], navir[1], nocc[1]), dtype=types[float]) - x247 += einsum(x170, (0, 1, 2, 3), t3.babbab, (4, 0, 1, 5, 2, 6), (4, 5, 6, 3)) - del x170 - t2new_bbbb[np.ix_(sob,sOb,sVb,sVb)] += einsum(x247, (0, 1, 2, 3), (3, 0, 2, 1)) * -2.0 - t2new_bbbb[np.ix_(sOb,sob,sVb,sVb)] += einsum(x247, (0, 1, 2, 3), (0, 3, 2, 1)) * 2.0 - del x247 - x248 = np.zeros((naocc[1], naocc[1], navir[1], nocc[1]), dtype=types[float]) - x248 += einsum(v.aabb.OVoV, (0, 1, 2, 3), t3.babbab, (4, 0, 5, 6, 1, 3), (4, 5, 6, 2)) - x249 = np.zeros((naocc[1], naocc[1], navir[1], nvir[1]), dtype=types[float]) - x249 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x248, (2, 3, 4, 0), (3, 2, 4, 1)) * -1.0 - del x248 - t2new_bbbb[np.ix_(sOb,sOb,svb,sVb)] += einsum(x249, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - t2new_bbbb[np.ix_(sOb,sOb,sVb,svb)] += einsum(x249, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - del x249 - x250 = np.zeros((naocc[1], navir[1], navir[1], nocc[1]), dtype=types[float]) - x250 += einsum(x172, (0, 1, 2, 3), t3.bbbbbb, (4, 0, 1, 5, 6, 2), (4, 5, 6, 3)) - del x172 - t2new_bbbb[np.ix_(sob,sOb,sVb,sVb)] += einsum(x250, (0, 1, 2, 3), (3, 0, 2, 1)) * 3.0 - t2new_bbbb[np.ix_(sOb,sob,sVb,sVb)] += einsum(x250, (0, 1, 2, 3), (0, 3, 2, 1)) * -3.0 - del x250 - x251 = np.zeros((naocc[1], navir[1], navir[1], nocc[1]), dtype=types[float]) - x251 += einsum(x173, (0, 1, 2, 3), t3.bbbbbb, (4, 1, 0, 5, 6, 2), (4, 5, 6, 3)) * -1.0 - del x173 - t2new_bbbb[np.ix_(sob,sOb,sVb,sVb)] += einsum(x251, (0, 1, 2, 3), (3, 0, 2, 1)) * 3.0 - t2new_bbbb[np.ix_(sOb,sob,sVb,sVb)] += einsum(x251, (0, 1, 2, 3), (0, 3, 2, 1)) * -3.0 - del x251 - x252 = np.zeros((naocc[1], naocc[1], navir[1], nocc[1]), dtype=types[float]) - x252 += einsum(v.bbbb.oVOV, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 2, 6, 3, 1), (4, 5, 6, 0)) - x253 = np.zeros((naocc[1], naocc[1], navir[1], nvir[1]), dtype=types[float]) - x253 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x252, (2, 3, 4, 0), (3, 2, 4, 1)) * -1.0 - del x252 - t2new_bbbb[np.ix_(sOb,sOb,svb,sVb)] += einsum(x253, (0, 1, 2, 3), (0, 1, 3, 2)) * -6.0 - t2new_bbbb[np.ix_(sOb,sOb,sVb,svb)] += einsum(x253, (0, 1, 2, 3), (0, 1, 2, 3)) * 6.0 - del x253 - x254 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x254 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x144, (0, 4, 2, 5), (4, 1, 5, 3)) - del x144 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x254, (0, 1, 2, 3), (1, 0, 3, 2)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x254, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x254 - x255 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x255 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x186, (0, 4, 2, 5), (4, 1, 5, 3)) - del x186 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x255, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x255, (0, 1, 2, 3), (1, 0, 2, 3)) - del x255 - x256 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x256 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x145, (0, 4, 2, 5), (1, 4, 3, 5)) - del x145 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x256, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x256, (0, 1, 2, 3), (1, 0, 2, 3)) * -2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x256, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x256, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x256 - x257 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x257 += einsum(x14, (0, 1), t2.bbbb[np.ix_(sob,sob,svb,svb)], (2, 1, 3, 4), (2, 0, 3, 4)) - del x14 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x257, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x257, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 - del x257 - x258 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x258 += einsum(x176, (0, 1), t2.bbbb[np.ix_(sob,sob,svb,svb)], (2, 3, 4, 1), (2, 3, 4, 0)) - del x176 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x258, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x258, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - del x258 - x259 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x259 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x179, (4, 1, 5, 3), (0, 4, 2, 5)) - del x179 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x259, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x259, (0, 1, 2, 3), (0, 1, 3, 2)) * -4.0 - del x259 - x260 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x260 += einsum(x18, (0, 1), t2.bbbb[np.ix_(sob,sob,svb,svb)], (2, 1, 3, 4), (2, 0, 3, 4)) - del x18 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x260, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x260, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x260, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x260, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 - del x260 - x261 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x261 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x181, (4, 1, 5, 3), (0, 4, 2, 5)) - del x181 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x261, (0, 1, 2, 3), (0, 1, 2, 3)) * -4.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x261, (0, 1, 2, 3), (0, 1, 3, 2)) * 4.0 - del x261 - x262 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x262 += einsum(x182, (0, 1), t2.bbbb[np.ix_(sob,sob,svb,svb)], (2, 3, 4, 1), (2, 3, 4, 0)) - del x182 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x262, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x262, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x262, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x262, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - del x262 - x263 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x263 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), v.bbbb.ovov, (4, 2, 5, 3), (0, 1, 4, 5)) - x264 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x264 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x263, (4, 5, 0, 1), (5, 4, 2, 3)) * -1.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x264, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x264, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x264 - x265 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x265 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x233, (2, 3, 4, 0), (2, 4, 3, 1)) - del x233 - x266 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x266 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x265, (2, 0, 3, 4), (2, 3, 1, 4)) - del x265 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x266, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x266, (0, 1, 2, 3), (0, 1, 3, 2)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x266, (0, 1, 2, 3), (1, 0, 2, 3)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x266, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x266 - x267 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x267 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x164, (2, 3, 1, 4), (0, 2, 3, 4)) - del x164 - x268 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x268 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x267, (2, 3, 0, 4), (2, 3, 1, 4)) - del x267 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x268, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x268, (0, 1, 2, 3), (1, 0, 2, 3)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x268, (0, 1, 2, 3), (0, 1, 3, 2)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x268, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x268 - x269 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x269 += einsum(x21, (0, 1), t2.bbbb[np.ix_(sob,sob,svb,svb)], (2, 1, 3, 4), (0, 2, 3, 4)) - del x21 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x269, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x269, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - del x269 - x270 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x270 += einsum(x0, (0, 1), t2.bbbb[np.ix_(sob,sob,svb,svb)], (2, 3, 4, 1), (2, 3, 0, 4)) - x271 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x271 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x270, (2, 3, 0, 4), (2, 3, 1, 4)) - del x270 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x271, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x271, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - del x271 - x272 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x272 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x13, (0, 4, 5, 2), (4, 1, 5, 3)) - del x13 - x273 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x273 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x272, (2, 3, 0, 4), (2, 3, 1, 4)) - del x272 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x273, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x273, (0, 1, 2, 3), (0, 1, 3, 2)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x273, (0, 1, 2, 3), (1, 0, 2, 3)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x273, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x273 - x274 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x274 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x16, (2, 3, 4, 1), (2, 0, 4, 3)) - x275 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x275 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x274, (4, 5, 0, 1), (5, 4, 2, 3)) * -1.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x275, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x275, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x275 - x276 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x276 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x16, (4, 1, 5, 3), (4, 0, 5, 2)) - x277 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x277 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x276, (2, 3, 0, 4), (2, 3, 1, 4)) - del x276 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x277, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x277, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x277, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x277, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 - del x277 - x278 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x278 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x16, (4, 5, 1, 3), (4, 0, 5, 2)) - del x16 - x279 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x279 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x278, (2, 3, 0, 4), (2, 3, 1, 4)) - del x278 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x279, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x279, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x279, (0, 1, 2, 3), (1, 0, 2, 3)) * -2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x279, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - del x279 - x280 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x280 += einsum(x22, (0, 1), t2.bbbb[np.ix_(sob,sob,svb,svb)], (2, 1, 3, 4), (0, 2, 3, 4)) - del x22 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x280, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x280, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 - del x280 - x281 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x281 += einsum(x23, (0, 1), t2.bbbb[np.ix_(sob,sob,svb,svb)], (2, 1, 3, 4), (0, 2, 3, 4)) - del x23 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x281, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x281, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - del x281 - x282 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x282 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x263, (2, 3, 0, 4), (2, 3, 4, 1)) * -1.0 - del x263 - x283 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x283 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x282, (2, 3, 0, 4), (2, 3, 4, 1)) * -1.0 - del x282 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x283, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x283, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x283 - x284 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x284 += einsum(x1, (0, 1), t2.bbbb[np.ix_(sob,sob,svb,svb)], (2, 3, 4, 1), (2, 3, 0, 4)) - x285 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x285 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x284, (2, 3, 0, 4), (2, 3, 1, 4)) - del x284 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x285, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x285, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - del x285 - x286 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x286 += einsum(x20, (0, 1), t2.bbbb[np.ix_(sob,sob,svb,svb)], (2, 3, 4, 1), (2, 3, 0, 4)) - x287 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x287 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x286, (2, 3, 0, 4), (2, 3, 1, 4)) - del x286 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x287, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x287, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - del x287 - x288 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x288 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x274, (2, 3, 0, 4), (3, 2, 4, 1)) - del x274 - x289 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x289 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x288, (2, 3, 0, 4), (2, 3, 1, 4)) - del x288 - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x289, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x289, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x289 - x290 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) - x290 += einsum(f.aa.OO, (0, 1), t3.aaaaaa, (2, 3, 1, 4, 5, 6), (0, 2, 3, 4, 5, 6)) - t3new_aaaaaa = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) - t3new_aaaaaa += einsum(x290, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 6.0 - t3new_aaaaaa += einsum(x290, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * 6.0 - t3new_aaaaaa += einsum(x290, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -6.0 - del x290 - x291 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) - x291 += einsum(f.aa.VV, (0, 1), t3.aaaaaa, (2, 3, 4, 5, 6, 1), (2, 3, 4, 0, 5, 6)) - t3new_aaaaaa += einsum(x291, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -6.0 - t3new_aaaaaa += einsum(x291, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * 6.0 - t3new_aaaaaa += einsum(x291, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -6.0 - del x291 - x292 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) - x292 += einsum(t2.aaaa[np.ix_(soa,sOa,sVa,sVa)], (0, 1, 2, 3), v.aaaa.oOOV, (0, 4, 5, 6), (1, 5, 4, 2, 3, 6)) * -1.0 - t3new_aaaaaa += einsum(x292, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 2.0 - t3new_aaaaaa += einsum(x292, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 - t3new_aaaaaa += einsum(x292, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 2.0 - t3new_aaaaaa += einsum(x292, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -2.0 - t3new_aaaaaa += einsum(x292, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 2.0 - t3new_aaaaaa += einsum(x292, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -2.0 - t3new_aaaaaa += einsum(x292, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -2.0 - t3new_aaaaaa += einsum(x292, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * 2.0 - t3new_aaaaaa += einsum(x292, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) * -2.0 - t3new_aaaaaa += einsum(x292, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 - t3new_aaaaaa += einsum(x292, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -2.0 - t3new_aaaaaa += einsum(x292, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * 2.0 - t3new_aaaaaa += einsum(x292, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * 2.0 - t3new_aaaaaa += einsum(x292, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -2.0 - t3new_aaaaaa += einsum(x292, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * 2.0 - t3new_aaaaaa += einsum(x292, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * -2.0 - t3new_aaaaaa += einsum(x292, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 2.0 - t3new_aaaaaa += einsum(x292, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -2.0 - del x292 - x293 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) - x293 += einsum(t2.aaaa[np.ix_(sOa,sOa,sva,sVa)], (0, 1, 2, 3), v.aaaa.vVOV, (2, 4, 5, 6), (0, 1, 5, 3, 6, 4)) * -1.0 - t3new_aaaaaa += einsum(x293, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -2.0 - t3new_aaaaaa += einsum(x293, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 - t3new_aaaaaa += einsum(x293, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * 2.0 - t3new_aaaaaa += einsum(x293, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -2.0 - t3new_aaaaaa += einsum(x293, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 - t3new_aaaaaa += einsum(x293, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 2.0 - t3new_aaaaaa += einsum(x293, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 2.0 - t3new_aaaaaa += einsum(x293, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -2.0 - t3new_aaaaaa += einsum(x293, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -2.0 - t3new_aaaaaa += einsum(x293, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 2.0 - t3new_aaaaaa += einsum(x293, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 2.0 - t3new_aaaaaa += einsum(x293, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -2.0 - t3new_aaaaaa += einsum(x293, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -2.0 - t3new_aaaaaa += einsum(x293, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * 2.0 - t3new_aaaaaa += einsum(x293, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * 2.0 - t3new_aaaaaa += einsum(x293, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -2.0 - t3new_aaaaaa += einsum(x293, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -2.0 - t3new_aaaaaa += einsum(x293, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * 2.0 - del x293 - x294 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) - x294 += einsum(v.aabb.OVOV, (0, 1, 2, 3), t3.abaaba, (4, 2, 5, 6, 3, 7), (4, 5, 0, 6, 7, 1)) - t3new_aaaaaa += einsum(x294, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * 2.0 - t3new_aaaaaa += einsum(x294, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -2.0 - t3new_aaaaaa += einsum(x294, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * 2.0 - t3new_aaaaaa += einsum(x294, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 2.0 - t3new_aaaaaa += einsum(x294, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 - t3new_aaaaaa += einsum(x294, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 2.0 - t3new_aaaaaa += einsum(x294, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -2.0 - t3new_aaaaaa += einsum(x294, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 2.0 - t3new_aaaaaa += einsum(x294, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -2.0 - del x294 - x295 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) - x295 += einsum(v.aaaa.OOOO, (0, 1, 2, 3), t3.aaaaaa, (4, 3, 1, 5, 6, 7), (4, 0, 2, 5, 6, 7)) * -1.0 - t3new_aaaaaa += einsum(x295, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 6.0 - t3new_aaaaaa += einsum(x295, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -6.0 - t3new_aaaaaa += einsum(x295, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -6.0 - del x295 - x296 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) - x296 += einsum(v.aaaa.OOVV, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 1, 6, 7, 3), (4, 5, 0, 6, 7, 2)) - t3new_aaaaaa += einsum(x296, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -6.0 - t3new_aaaaaa += einsum(x296, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * 6.0 - t3new_aaaaaa += einsum(x296, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -6.0 - t3new_aaaaaa += einsum(x296, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -6.0 - t3new_aaaaaa += einsum(x296, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 6.0 - t3new_aaaaaa += einsum(x296, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -6.0 - t3new_aaaaaa += einsum(x296, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 6.0 - t3new_aaaaaa += einsum(x296, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -6.0 - t3new_aaaaaa += einsum(x296, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 6.0 - del x296 - x297 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) - x297 += einsum(v.aaaa.OVOV, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 2, 6, 7, 3), (4, 5, 0, 6, 7, 1)) - t3new_aaaaaa += einsum(x297, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * 6.0 - t3new_aaaaaa += einsum(x297, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -6.0 - t3new_aaaaaa += einsum(x297, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * 6.0 - t3new_aaaaaa += einsum(x297, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 6.0 - t3new_aaaaaa += einsum(x297, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -6.0 - t3new_aaaaaa += einsum(x297, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 6.0 - t3new_aaaaaa += einsum(x297, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -6.0 - t3new_aaaaaa += einsum(x297, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 6.0 - t3new_aaaaaa += einsum(x297, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -6.0 - del x297 - x298 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) - x298 += einsum(v.aaaa.VVVV, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 6, 7, 3, 1), (4, 5, 6, 7, 0, 2)) * -1.0 - t3new_aaaaaa += einsum(x298, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -6.0 - t3new_aaaaaa += einsum(x298, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * 6.0 - t3new_aaaaaa += einsum(x298, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -6.0 - del x298 - x299 = np.zeros((naocc[0], naocc[0]), dtype=types[float]) - x299 += einsum(f.aa.vO, (0, 1), t1.aa[np.ix_(sOa,sva)], (2, 0), (1, 2)) - t3new_babbab += einsum(x299, (0, 1), t3.babbab, (2, 0, 3, 4, 5, 6), (2, 1, 3, 4, 5, 6)) * -2.0 - x300 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) - x300 += einsum(x299, (0, 1), t3.aaaaaa, (2, 3, 0, 4, 5, 6), (1, 2, 3, 4, 5, 6)) - t3new_aaaaaa += einsum(x300, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 6.0 - t3new_aaaaaa += einsum(x300, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * 6.0 - t3new_aaaaaa += einsum(x300, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -6.0 - del x300 - x301 = np.zeros((navir[0], navir[0]), dtype=types[float]) - x301 += einsum(f.aa.oV, (0, 1), t1.aa[np.ix_(soa,sVa)], (0, 2), (1, 2)) - t3new_babbab += einsum(x301, (0, 1), t3.babbab, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) * -2.0 - x302 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) - x302 += einsum(x301, (0, 1), t3.aaaaaa, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) - t3new_aaaaaa += einsum(x302, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 6.0 - t3new_aaaaaa += einsum(x302, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -6.0 - t3new_aaaaaa += einsum(x302, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 6.0 - del x302 - x303 = np.zeros((naocc[0], naocc[0], navir[0], nocc[0]), dtype=types[float]) - x303 += einsum(f.aa.ov, (0, 1), t2.aaaa[np.ix_(sOa,sOa,sva,sVa)], (2, 3, 1, 4), (2, 3, 4, 0)) * -1.0 - x304 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) - x304 += einsum(t2.aaaa[np.ix_(soa,sOa,sVa,sVa)], (0, 1, 2, 3), x303, (4, 5, 6, 0), (5, 4, 1, 6, 2, 3)) - t3new_aaaaaa += einsum(x304, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 4.0 - t3new_aaaaaa += einsum(x304, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -4.0 - t3new_aaaaaa += einsum(x304, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 4.0 - t3new_aaaaaa += einsum(x304, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * -4.0 - t3new_aaaaaa += einsum(x304, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * 4.0 - t3new_aaaaaa += einsum(x304, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * 4.0 - t3new_aaaaaa += einsum(x304, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -4.0 - t3new_aaaaaa += einsum(x304, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * 4.0 - t3new_aaaaaa += einsum(x304, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -4.0 - del x304 - x305 = np.zeros((naocc[0], naocc[0], navir[0], nocc[0]), dtype=types[float]) - x305 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), v.aaaa.oOvV, (2, 3, 1, 4), (0, 3, 4, 2)) - x306 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) - x306 += einsum(t2.aaaa[np.ix_(soa,sOa,sVa,sVa)], (0, 1, 2, 3), x305, (4, 5, 6, 0), (4, 1, 5, 2, 3, 6)) * -1.0 - t3new_aaaaaa += einsum(x306, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -2.0 - t3new_aaaaaa += einsum(x306, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 2.0 - t3new_aaaaaa += einsum(x306, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 2.0 - t3new_aaaaaa += einsum(x306, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 - t3new_aaaaaa += einsum(x306, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -2.0 - t3new_aaaaaa += einsum(x306, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -2.0 - t3new_aaaaaa += einsum(x306, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * 2.0 - t3new_aaaaaa += einsum(x306, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -2.0 - t3new_aaaaaa += einsum(x306, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -2.0 - t3new_aaaaaa += einsum(x306, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * -2.0 - t3new_aaaaaa += einsum(x306, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * 2.0 - t3new_aaaaaa += einsum(x306, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) * 2.0 - t3new_aaaaaa += einsum(x306, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -2.0 - t3new_aaaaaa += einsum(x306, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * 2.0 - t3new_aaaaaa += einsum(x306, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * 2.0 - t3new_aaaaaa += einsum(x306, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * 2.0 - t3new_aaaaaa += einsum(x306, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -2.0 - t3new_aaaaaa += einsum(x306, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -2.0 - del x306 - x307 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], nocc[0]), dtype=types[float]) - x307 += einsum(t2.aaaa[np.ix_(soa,sOa,sVa,sVa)], (0, 1, 2, 3), v.aaaa.oOoO, (4, 5, 0, 6), (1, 5, 6, 2, 3, 4)) * -1.0 - x308 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) - x308 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x307, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) - del x307 - t3new_aaaaaa += einsum(x308, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 2.0 - t3new_aaaaaa += einsum(x308, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 - t3new_aaaaaa += einsum(x308, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * -2.0 - t3new_aaaaaa += einsum(x308, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) * 2.0 - t3new_aaaaaa += einsum(x308, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * 2.0 - t3new_aaaaaa += einsum(x308, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -2.0 - t3new_aaaaaa += einsum(x308, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -2.0 - t3new_aaaaaa += einsum(x308, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 2.0 - t3new_aaaaaa += einsum(x308, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 - t3new_aaaaaa += einsum(x308, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -2.0 - t3new_aaaaaa += einsum(x308, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -2.0 - t3new_aaaaaa += einsum(x308, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * 2.0 - t3new_aaaaaa += einsum(x308, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 2.0 - t3new_aaaaaa += einsum(x308, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -2.0 - t3new_aaaaaa += einsum(x308, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -2.0 - t3new_aaaaaa += einsum(x308, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) * 2.0 - t3new_aaaaaa += einsum(x308, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * 2.0 - t3new_aaaaaa += einsum(x308, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -2.0 - del x308 - x309 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], nocc[0]), dtype=types[float]) - x309 += einsum(t2.aaaa[np.ix_(sOa,sOa,sva,sVa)], (0, 1, 2, 3), v.aaaa.oOvV, (4, 5, 2, 6), (0, 1, 5, 3, 6, 4)) * -1.0 - x310 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) - x310 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x309, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) - del x309 - t3new_aaaaaa += einsum(x310, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * 2.0 - t3new_aaaaaa += einsum(x310, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 - t3new_aaaaaa += einsum(x310, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -2.0 - t3new_aaaaaa += einsum(x310, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 2.0 - t3new_aaaaaa += einsum(x310, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * 2.0 - t3new_aaaaaa += einsum(x310, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -2.0 - t3new_aaaaaa += einsum(x310, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -2.0 - t3new_aaaaaa += einsum(x310, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 2.0 - t3new_aaaaaa += einsum(x310, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 2.0 - t3new_aaaaaa += einsum(x310, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -2.0 - t3new_aaaaaa += einsum(x310, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -2.0 - t3new_aaaaaa += einsum(x310, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * 2.0 - t3new_aaaaaa += einsum(x310, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 - t3new_aaaaaa += einsum(x310, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -2.0 - t3new_aaaaaa += einsum(x310, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -2.0 - t3new_aaaaaa += einsum(x310, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 2.0 - t3new_aaaaaa += einsum(x310, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * 2.0 - t3new_aaaaaa += einsum(x310, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -2.0 - del x310 - x311 = np.zeros((naocc[0], naocc[0], navir[0], nocc[0]), dtype=types[float]) - x311 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), v.aaaa.ovOV, (2, 1, 3, 4), (0, 3, 4, 2)) - x312 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) - x312 += einsum(t2.aaaa[np.ix_(soa,sOa,sVa,sVa)], (0, 1, 2, 3), x311, (4, 5, 6, 0), (4, 1, 5, 2, 3, 6)) * -1.0 - t3new_aaaaaa += einsum(x312, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -2.0 - t3new_aaaaaa += einsum(x312, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 2.0 - t3new_aaaaaa += einsum(x312, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -2.0 - t3new_aaaaaa += einsum(x312, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 2.0 - t3new_aaaaaa += einsum(x312, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 - t3new_aaaaaa += einsum(x312, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 2.0 - t3new_aaaaaa += einsum(x312, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * 2.0 - t3new_aaaaaa += einsum(x312, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -2.0 - t3new_aaaaaa += einsum(x312, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 - t3new_aaaaaa += einsum(x312, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) * -2.0 - t3new_aaaaaa += einsum(x312, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * 2.0 - t3new_aaaaaa += einsum(x312, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -2.0 - t3new_aaaaaa += einsum(x312, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -2.0 - t3new_aaaaaa += einsum(x312, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 2.0 - t3new_aaaaaa += einsum(x312, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * -2.0 - t3new_aaaaaa += einsum(x312, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * 2.0 - t3new_aaaaaa += einsum(x312, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -2.0 - t3new_aaaaaa += einsum(x312, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * 2.0 - del x312 - x313 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], nocc[0]), dtype=types[float]) - x313 += einsum(t2.aaaa[np.ix_(sOa,sOa,sva,sVa)], (0, 1, 2, 3), v.aaaa.ovOV, (4, 2, 5, 6), (0, 1, 5, 3, 6, 4)) * -1.0 - x314 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) - x314 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x313, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) - del x313 - t3new_aaaaaa += einsum(x314, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.0 - t3new_aaaaaa += einsum(x314, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -2.0 - t3new_aaaaaa += einsum(x314, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -2.0 - t3new_aaaaaa += einsum(x314, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 2.0 - t3new_aaaaaa += einsum(x314, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * 2.0 - t3new_aaaaaa += einsum(x314, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -2.0 - t3new_aaaaaa += einsum(x314, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -2.0 - t3new_aaaaaa += einsum(x314, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 2.0 - t3new_aaaaaa += einsum(x314, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * 2.0 - t3new_aaaaaa += einsum(x314, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -2.0 - t3new_aaaaaa += einsum(x314, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * -2.0 - t3new_aaaaaa += einsum(x314, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * 2.0 - t3new_aaaaaa += einsum(x314, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 2.0 - t3new_aaaaaa += einsum(x314, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 - t3new_aaaaaa += einsum(x314, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -2.0 - t3new_aaaaaa += einsum(x314, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 2.0 - t3new_aaaaaa += einsum(x314, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * 2.0 - t3new_aaaaaa += einsum(x314, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -2.0 - del x314 - x315 = np.zeros((naocc[0], naocc[0], navir[0], navir[0], navir[0], nvir[0]), dtype=types[float]) - x315 += einsum(t2.aaaa[np.ix_(sOa,sOa,sva,sVa)], (0, 1, 2, 3), v.aaaa.vVvV, (4, 5, 2, 6), (0, 1, 3, 5, 6, 4)) * -1.0 - x316 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) - x316 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), x315, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) - del x315 - t3new_aaaaaa += einsum(x316, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -2.0 - t3new_aaaaaa += einsum(x316, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 - t3new_aaaaaa += einsum(x316, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 2.0 - t3new_aaaaaa += einsum(x316, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -2.0 - t3new_aaaaaa += einsum(x316, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * 2.0 - t3new_aaaaaa += einsum(x316, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 - t3new_aaaaaa += einsum(x316, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -2.0 - t3new_aaaaaa += einsum(x316, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * 2.0 - t3new_aaaaaa += einsum(x316, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 - t3new_aaaaaa += einsum(x316, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -2.0 - t3new_aaaaaa += einsum(x316, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * 2.0 - t3new_aaaaaa += einsum(x316, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * -2.0 - t3new_aaaaaa += einsum(x316, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * 2.0 - t3new_aaaaaa += einsum(x316, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -2.0 - t3new_aaaaaa += einsum(x316, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -2.0 - t3new_aaaaaa += einsum(x316, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * 2.0 - t3new_aaaaaa += einsum(x316, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) * -2.0 - t3new_aaaaaa += einsum(x316, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * 2.0 - del x316 - x317 = np.zeros((naocc[0], naocc[1], navir[0], navir[1]), dtype=types[float]) - x317 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), v.aabb.oOOV, (0, 2, 3, 4), (2, 3, 1, 4)) - t3new_babbab += einsum(x317, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 1, 6, 7, 3), (4, 0, 5, 6, 2, 7)) * -6.0 - x318 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) - x318 += einsum(x317, (0, 1, 2, 3), t3.abaaba, (4, 1, 5, 6, 3, 7), (4, 5, 0, 2, 6, 7)) - t3new_aaaaaa += einsum(x318, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -2.0 - t3new_aaaaaa += einsum(x318, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 - t3new_aaaaaa += einsum(x318, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 2.0 - t3new_aaaaaa += einsum(x318, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * 2.0 - t3new_aaaaaa += einsum(x318, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 2.0 - t3new_aaaaaa += einsum(x318, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -2.0 - t3new_aaaaaa += einsum(x318, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -2.0 - t3new_aaaaaa += einsum(x318, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -2.0 - t3new_aaaaaa += einsum(x318, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 2.0 - del x318 - x319 = np.zeros((naocc[0], naocc[1], navir[0], navir[1]), dtype=types[float]) - x319 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), v.aabb.vVOV, (1, 2, 3, 4), (0, 3, 2, 4)) - t3new_babbab += einsum(x319, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 1, 6, 7, 3), (4, 0, 5, 6, 2, 7)) * 6.0 - x320 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) - x320 += einsum(x319, (0, 1, 2, 3), t3.abaaba, (4, 1, 5, 6, 3, 7), (0, 4, 5, 6, 7, 2)) - t3new_aaaaaa += einsum(x320, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 2.0 - t3new_aaaaaa += einsum(x320, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 - t3new_aaaaaa += einsum(x320, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 2.0 - t3new_aaaaaa += einsum(x320, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * 2.0 - t3new_aaaaaa += einsum(x320, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -2.0 - t3new_aaaaaa += einsum(x320, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 - t3new_aaaaaa += einsum(x320, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -2.0 - t3new_aaaaaa += einsum(x320, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 2.0 - t3new_aaaaaa += einsum(x320, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * -2.0 - del x320 - x321 = np.zeros((naocc[0], naocc[0], naocc[0], naocc[0]), dtype=types[float]) - x321 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), v.aaaa.vOOO, (1, 2, 3, 4), (0, 3, 4, 2)) - x322 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) - x322 += einsum(x321, (0, 1, 2, 3), t3.aaaaaa, (4, 3, 2, 5, 6, 7), (0, 4, 1, 5, 6, 7)) * -1.0 - t3new_aaaaaa += einsum(x322, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -6.0 - t3new_aaaaaa += einsum(x322, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 6.0 - t3new_aaaaaa += einsum(x322, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * 6.0 - t3new_aaaaaa += einsum(x322, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -6.0 - t3new_aaaaaa += einsum(x322, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -6.0 - t3new_aaaaaa += einsum(x322, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 6.0 - del x322 - x323 = np.zeros((naocc[0], naocc[0], navir[0], navir[0]), dtype=types[float]) - x323 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), v.aaaa.oOOV, (0, 2, 3, 4), (3, 2, 1, 4)) - t3new_babbab += einsum(x323, (0, 1, 2, 3), t3.babbab, (4, 0, 5, 6, 3, 7), (4, 1, 5, 6, 2, 7)) * -2.0 - x324 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) - x324 += einsum(x323, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 0, 6, 7, 3), (4, 5, 1, 2, 6, 7)) - t3new_aaaaaa += einsum(x324, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -6.0 - t3new_aaaaaa += einsum(x324, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -6.0 - t3new_aaaaaa += einsum(x324, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 6.0 - t3new_aaaaaa += einsum(x324, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * 6.0 - t3new_aaaaaa += einsum(x324, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 6.0 - t3new_aaaaaa += einsum(x324, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -6.0 - t3new_aaaaaa += einsum(x324, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -6.0 - t3new_aaaaaa += einsum(x324, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -6.0 - t3new_aaaaaa += einsum(x324, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 6.0 - del x324 - x325 = np.zeros((naocc[0], naocc[0], navir[0], navir[0]), dtype=types[float]) - x325 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), v.aaaa.oVOO, (0, 2, 3, 4), (3, 4, 1, 2)) - t3new_babbab += einsum(x325, (0, 1, 2, 3), t3.babbab, (4, 1, 5, 6, 3, 7), (4, 0, 5, 6, 2, 7)) * 2.0 - x326 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) - x326 += einsum(x325, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 1, 6, 7, 3), (4, 5, 0, 2, 6, 7)) - t3new_aaaaaa += einsum(x326, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * 6.0 - t3new_aaaaaa += einsum(x326, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 6.0 - t3new_aaaaaa += einsum(x326, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -6.0 - t3new_aaaaaa += einsum(x326, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * -6.0 - t3new_aaaaaa += einsum(x326, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -6.0 - t3new_aaaaaa += einsum(x326, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * 6.0 - t3new_aaaaaa += einsum(x326, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * 6.0 - t3new_aaaaaa += einsum(x326, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 6.0 - t3new_aaaaaa += einsum(x326, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -6.0 - del x326 - x327 = np.zeros((naocc[0], naocc[0]), dtype=types[float]) - x327 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aaaa.oOvO, (0, 2, 1, 3), (2, 3)) - t3new_babbab += einsum(x327, (0, 1), t3.babbab, (2, 1, 3, 4, 5, 6), (2, 0, 3, 4, 5, 6)) * 2.0 - x328 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) - x328 += einsum(x327, (0, 1), t3.aaaaaa, (2, 3, 1, 4, 5, 6), (2, 3, 0, 4, 5, 6)) - t3new_aaaaaa += einsum(x328, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -6.0 - t3new_aaaaaa += einsum(x328, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -6.0 - t3new_aaaaaa += einsum(x328, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 6.0 - del x328 - x329 = np.zeros((naocc[0], naocc[0]), dtype=types[float]) - x329 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aaaa.ovOO, (0, 1, 2, 3), (2, 3)) - t3new_babbab += einsum(x329, (0, 1), t3.babbab, (2, 1, 3, 4, 5, 6), (2, 0, 3, 4, 5, 6)) * -2.0 - x330 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) - x330 += einsum(x329, (0, 1), t3.aaaaaa, (2, 3, 1, 4, 5, 6), (2, 3, 0, 4, 5, 6)) - t3new_aaaaaa += einsum(x330, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * 6.0 - t3new_aaaaaa += einsum(x330, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 6.0 - t3new_aaaaaa += einsum(x330, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -6.0 - del x330 - x331 = np.zeros((naocc[0], naocc[0], navir[0], navir[0]), dtype=types[float]) - x331 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), v.aaaa.vOVV, (1, 2, 3, 4), (0, 2, 3, 4)) - t3new_babbab += einsum(x331, (0, 1, 2, 3), t3.babbab, (4, 1, 5, 6, 3, 7), (4, 0, 5, 6, 2, 7)) * -2.0 - x332 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) - x332 += einsum(x331, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 1, 6, 7, 3), (0, 4, 5, 6, 7, 2)) - t3new_aaaaaa += einsum(x332, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -6.0 - t3new_aaaaaa += einsum(x332, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 6.0 - t3new_aaaaaa += einsum(x332, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -6.0 - t3new_aaaaaa += einsum(x332, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -6.0 - t3new_aaaaaa += einsum(x332, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * 6.0 - t3new_aaaaaa += einsum(x332, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -6.0 - t3new_aaaaaa += einsum(x332, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * 6.0 - t3new_aaaaaa += einsum(x332, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -6.0 - t3new_aaaaaa += einsum(x332, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * 6.0 - del x332 - x333 = np.zeros((naocc[0], naocc[0], navir[0], navir[0]), dtype=types[float]) - x333 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), v.aaaa.vVOV, (1, 2, 3, 4), (0, 3, 4, 2)) - t3new_babbab += einsum(x333, (0, 1, 2, 3), t3.babbab, (4, 1, 5, 6, 2, 7), (4, 0, 5, 6, 3, 7)) * 2.0 - x334 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) - x334 += einsum(x333, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 1, 6, 7, 2), (0, 4, 5, 6, 7, 3)) - t3new_aaaaaa += einsum(x334, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 6.0 - t3new_aaaaaa += einsum(x334, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -6.0 - t3new_aaaaaa += einsum(x334, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 6.0 - t3new_aaaaaa += einsum(x334, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * 6.0 - t3new_aaaaaa += einsum(x334, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -6.0 - t3new_aaaaaa += einsum(x334, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 6.0 - t3new_aaaaaa += einsum(x334, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -6.0 - t3new_aaaaaa += einsum(x334, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 6.0 - t3new_aaaaaa += einsum(x334, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * -6.0 - del x334 - x335 = np.zeros((navir[0], navir[0], navir[0], navir[0]), dtype=types[float]) - x335 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), v.aaaa.oVVV, (0, 2, 3, 4), (1, 3, 4, 2)) - x336 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) - x336 += einsum(x335, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 6, 7, 2, 3), (4, 5, 6, 0, 7, 1)) - t3new_aaaaaa += einsum(x336, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 6.0 - t3new_aaaaaa += einsum(x336, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -6.0 - t3new_aaaaaa += einsum(x336, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -6.0 - t3new_aaaaaa += einsum(x336, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 6.0 - t3new_aaaaaa += einsum(x336, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 6.0 - t3new_aaaaaa += einsum(x336, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -6.0 - del x336 - x337 = np.zeros((navir[0], navir[0]), dtype=types[float]) - x337 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aaaa.ovVV, (0, 1, 2, 3), (2, 3)) - t3new_babbab += einsum(x337, (0, 1), t3.babbab, (2, 3, 4, 5, 1, 6), (2, 3, 4, 5, 0, 6)) * 2.0 - x338 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) - x338 += einsum(x337, (0, 1), t3.aaaaaa, (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 6, 0)) - t3new_aaaaaa += einsum(x338, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -6.0 - t3new_aaaaaa += einsum(x338, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 6.0 - t3new_aaaaaa += einsum(x338, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -6.0 - del x338 - x339 = np.zeros((navir[0], navir[0]), dtype=types[float]) - x339 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aaaa.oVvV, (0, 2, 1, 3), (2, 3)) - t3new_babbab += einsum(x339, (0, 1), t3.babbab, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) * -2.0 - x340 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) - x340 += einsum(x339, (0, 1), t3.aaaaaa, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 6, 1)) - t3new_aaaaaa += einsum(x340, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 6.0 - t3new_aaaaaa += einsum(x340, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -6.0 - t3new_aaaaaa += einsum(x340, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 6.0 - del x340 - x341 = np.zeros((naocc[0], naocc[0]), dtype=types[float]) - x341 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.aabb.OOov, (2, 3, 0, 1), (2, 3)) - t3new_babbab += einsum(x341, (0, 1), t3.babbab, (2, 1, 3, 4, 5, 6), (2, 0, 3, 4, 5, 6)) * -2.0 - x342 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) - x342 += einsum(x341, (0, 1), t3.aaaaaa, (2, 3, 1, 4, 5, 6), (2, 3, 0, 4, 5, 6)) - t3new_aaaaaa += einsum(x342, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * 6.0 - t3new_aaaaaa += einsum(x342, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 6.0 - t3new_aaaaaa += einsum(x342, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -6.0 - del x342 - x343 = np.zeros((navir[0], navir[0]), dtype=types[float]) - x343 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.aabb.VVov, (2, 3, 0, 1), (2, 3)) - t3new_babbab += einsum(x343, (0, 1), t3.babbab, (2, 3, 4, 5, 1, 6), (2, 3, 4, 5, 0, 6)) * 2.0 - x344 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) - x344 += einsum(x343, (0, 1), t3.aaaaaa, (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 6, 0)) - t3new_aaaaaa += einsum(x344, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -6.0 - t3new_aaaaaa += einsum(x344, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 6.0 - t3new_aaaaaa += einsum(x344, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -6.0 - del x344 - x345 = np.zeros((naocc[0], naocc[0], navir[0], nocc[0]), dtype=types[float]) - x345 += einsum(t2.abab[np.ix_(sOa,sob,sVa,svb)], (0, 1, 2, 3), v.aabb.oOov, (4, 5, 1, 3), (0, 5, 2, 4)) - x346 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) - x346 += einsum(t2.aaaa[np.ix_(soa,sOa,sVa,sVa)], (0, 1, 2, 3), x345, (4, 5, 6, 0), (1, 4, 5, 2, 3, 6)) * -1.0 - t3new_aaaaaa += einsum(x346, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * 2.0 - t3new_aaaaaa += einsum(x346, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -2.0 - t3new_aaaaaa += einsum(x346, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 - t3new_aaaaaa += einsum(x346, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -2.0 - t3new_aaaaaa += einsum(x346, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 2.0 - t3new_aaaaaa += einsum(x346, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * -2.0 - t3new_aaaaaa += einsum(x346, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -2.0 - t3new_aaaaaa += einsum(x346, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 2.0 - t3new_aaaaaa += einsum(x346, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -2.0 - t3new_aaaaaa += einsum(x346, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * 2.0 - t3new_aaaaaa += einsum(x346, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -2.0 - t3new_aaaaaa += einsum(x346, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * 2.0 - t3new_aaaaaa += einsum(x346, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 2.0 - t3new_aaaaaa += einsum(x346, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 - t3new_aaaaaa += einsum(x346, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 2.0 - t3new_aaaaaa += einsum(x346, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) * -2.0 - t3new_aaaaaa += einsum(x346, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * 2.0 - t3new_aaaaaa += einsum(x346, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -2.0 - del x346 - x347 = np.zeros((naocc[0], navir[0], navir[0], nvir[0]), dtype=types[float]) - x347 += einsum(t2.abab[np.ix_(sOa,sob,sVa,svb)], (0, 1, 2, 3), v.aabb.vVov, (4, 5, 1, 3), (0, 2, 5, 4)) - x348 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) - x348 += einsum(t2.aaaa[np.ix_(sOa,sOa,sva,sVa)], (0, 1, 2, 3), x347, (4, 5, 6, 2), (0, 1, 4, 3, 5, 6)) * -1.0 - t3new_aaaaaa += einsum(x348, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -2.0 - t3new_aaaaaa += einsum(x348, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * 2.0 - t3new_aaaaaa += einsum(x348, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * 2.0 - t3new_aaaaaa += einsum(x348, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -2.0 - t3new_aaaaaa += einsum(x348, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -2.0 - t3new_aaaaaa += einsum(x348, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * 2.0 - t3new_aaaaaa += einsum(x348, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -2.0 - t3new_aaaaaa += einsum(x348, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 2.0 - t3new_aaaaaa += einsum(x348, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 - t3new_aaaaaa += einsum(x348, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 - t3new_aaaaaa += einsum(x348, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -2.0 - t3new_aaaaaa += einsum(x348, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * 2.0 - t3new_aaaaaa += einsum(x348, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 2.0 - t3new_aaaaaa += einsum(x348, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -2.0 - t3new_aaaaaa += einsum(x348, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -2.0 - t3new_aaaaaa += einsum(x348, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 2.0 - t3new_aaaaaa += einsum(x348, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 2.0 - t3new_aaaaaa += einsum(x348, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -2.0 - del x348 - x349 = np.zeros((naocc[0], naocc[0], navir[0], nocc[0]), dtype=types[float]) - x349 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sVa)], (0, 1, 2, 3), v.aaaa.ovoO, (0, 2, 4, 5), (1, 5, 3, 4)) - x350 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) - x350 += einsum(t2.aaaa[np.ix_(soa,sOa,sVa,sVa)], (0, 1, 2, 3), x349, (4, 5, 6, 0), (1, 4, 5, 2, 3, 6)) * -1.0 - t3new_aaaaaa += einsum(x350, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 4.0 - t3new_aaaaaa += einsum(x350, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -4.0 - t3new_aaaaaa += einsum(x350, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -4.0 - t3new_aaaaaa += einsum(x350, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * 4.0 - t3new_aaaaaa += einsum(x350, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -4.0 - t3new_aaaaaa += einsum(x350, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 4.0 - t3new_aaaaaa += einsum(x350, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -4.0 - t3new_aaaaaa += einsum(x350, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 4.0 - t3new_aaaaaa += einsum(x350, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 4.0 - t3new_aaaaaa += einsum(x350, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -4.0 - t3new_aaaaaa += einsum(x350, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 4.0 - t3new_aaaaaa += einsum(x350, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * -4.0 - t3new_aaaaaa += einsum(x350, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * 4.0 - t3new_aaaaaa += einsum(x350, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -4.0 - t3new_aaaaaa += einsum(x350, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) * -4.0 - t3new_aaaaaa += einsum(x350, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * 4.0 - t3new_aaaaaa += einsum(x350, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -4.0 - t3new_aaaaaa += einsum(x350, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * 4.0 - del x350 - x351 = np.zeros((naocc[0], naocc[0], navir[0], nocc[0]), dtype=types[float]) - x351 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sVa)], (0, 1, 2, 3), v.aaaa.ovoO, (4, 2, 0, 5), (1, 5, 3, 4)) - x352 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) - x352 += einsum(t2.aaaa[np.ix_(soa,sOa,sVa,sVa)], (0, 1, 2, 3), x351, (4, 5, 6, 0), (1, 4, 5, 2, 3, 6)) * -1.0 - t3new_aaaaaa += einsum(x352, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -4.0 - t3new_aaaaaa += einsum(x352, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * 4.0 - t3new_aaaaaa += einsum(x352, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -4.0 - t3new_aaaaaa += einsum(x352, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -4.0 - t3new_aaaaaa += einsum(x352, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 4.0 - t3new_aaaaaa += einsum(x352, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 4.0 - t3new_aaaaaa += einsum(x352, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * 4.0 - t3new_aaaaaa += einsum(x352, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -4.0 - t3new_aaaaaa += einsum(x352, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * 4.0 - t3new_aaaaaa += einsum(x352, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 4.0 - t3new_aaaaaa += einsum(x352, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -4.0 - t3new_aaaaaa += einsum(x352, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -4.0 - t3new_aaaaaa += einsum(x352, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -4.0 - t3new_aaaaaa += einsum(x352, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * 4.0 - t3new_aaaaaa += einsum(x352, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -4.0 - t3new_aaaaaa += einsum(x352, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * -4.0 - t3new_aaaaaa += einsum(x352, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * 4.0 - t3new_aaaaaa += einsum(x352, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) * 4.0 - del x352 - x353 = np.zeros((naocc[0], navir[0], navir[0], nvir[0]), dtype=types[float]) - x353 += einsum(t2.aaaa[np.ix_(soa,soa,sVa,sVa)], (0, 1, 2, 3), v.aaaa.ovoO, (1, 4, 0, 5), (5, 2, 3, 4)) - x354 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) - x354 += einsum(t2.aaaa[np.ix_(sOa,sOa,sva,sVa)], (0, 1, 2, 3), x353, (4, 5, 6, 2), (0, 1, 4, 3, 5, 6)) * -1.0 - t3new_aaaaaa += einsum(x354, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 - t3new_aaaaaa += einsum(x354, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 2.0 - t3new_aaaaaa += einsum(x354, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -2.0 - t3new_aaaaaa += einsum(x354, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 - t3new_aaaaaa += einsum(x354, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 2.0 - t3new_aaaaaa += einsum(x354, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -2.0 - t3new_aaaaaa += einsum(x354, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 2.0 - t3new_aaaaaa += einsum(x354, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -2.0 - t3new_aaaaaa += einsum(x354, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 2.0 - t3new_aaaaaa += einsum(x354, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 2.0 - t3new_aaaaaa += einsum(x354, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -2.0 - t3new_aaaaaa += einsum(x354, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 2.0 - t3new_aaaaaa += einsum(x354, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -2.0 - t3new_aaaaaa += einsum(x354, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * 2.0 - t3new_aaaaaa += einsum(x354, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -2.0 - t3new_aaaaaa += einsum(x354, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -2.0 - t3new_aaaaaa += einsum(x354, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * 2.0 - t3new_aaaaaa += einsum(x354, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -2.0 - del x354 - x355 = np.zeros((naocc[0], navir[0], navir[0], nvir[0]), dtype=types[float]) - x355 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sVa)], (0, 1, 2, 3), v.aaaa.ovvV, (0, 4, 2, 5), (1, 3, 5, 4)) - x356 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) - x356 += einsum(t2.aaaa[np.ix_(sOa,sOa,sva,sVa)], (0, 1, 2, 3), x355, (4, 5, 6, 2), (0, 1, 4, 3, 5, 6)) * -1.0 - t3new_aaaaaa += einsum(x356, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -4.0 - t3new_aaaaaa += einsum(x356, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 4.0 - t3new_aaaaaa += einsum(x356, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 4.0 - t3new_aaaaaa += einsum(x356, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -4.0 - t3new_aaaaaa += einsum(x356, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -4.0 - t3new_aaaaaa += einsum(x356, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 4.0 - t3new_aaaaaa += einsum(x356, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * 4.0 - t3new_aaaaaa += einsum(x356, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -4.0 - t3new_aaaaaa += einsum(x356, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -4.0 - t3new_aaaaaa += einsum(x356, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * 4.0 - t3new_aaaaaa += einsum(x356, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * 4.0 - t3new_aaaaaa += einsum(x356, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * -4.0 - t3new_aaaaaa += einsum(x356, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 4.0 - t3new_aaaaaa += einsum(x356, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -4.0 - t3new_aaaaaa += einsum(x356, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -4.0 - t3new_aaaaaa += einsum(x356, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * 4.0 - t3new_aaaaaa += einsum(x356, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 4.0 - t3new_aaaaaa += einsum(x356, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -4.0 - del x356 - x357 = np.zeros((naocc[0], naocc[0], navir[0], nocc[0]), dtype=types[float]) - x357 += einsum(t2.aaaa[np.ix_(sOa,sOa,sva,sva)], (0, 1, 2, 3), v.aaaa.ovvV, (4, 2, 3, 5), (0, 1, 5, 4)) * -1.0 - x358 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) - x358 += einsum(t2.aaaa[np.ix_(soa,sOa,sVa,sVa)], (0, 1, 2, 3), x357, (4, 5, 6, 0), (5, 4, 1, 2, 3, 6)) - t3new_aaaaaa += einsum(x358, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 - t3new_aaaaaa += einsum(x358, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 2.0 - t3new_aaaaaa += einsum(x358, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 2.0 - t3new_aaaaaa += einsum(x358, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 - t3new_aaaaaa += einsum(x358, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 2.0 - t3new_aaaaaa += einsum(x358, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 2.0 - t3new_aaaaaa += einsum(x358, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -2.0 - t3new_aaaaaa += einsum(x358, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * 2.0 - t3new_aaaaaa += einsum(x358, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * 2.0 - t3new_aaaaaa += einsum(x358, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -2.0 - t3new_aaaaaa += einsum(x358, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * 2.0 - t3new_aaaaaa += einsum(x358, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * 2.0 - t3new_aaaaaa += einsum(x358, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 2.0 - t3new_aaaaaa += einsum(x358, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -2.0 - t3new_aaaaaa += einsum(x358, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -2.0 - t3new_aaaaaa += einsum(x358, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 2.0 - t3new_aaaaaa += einsum(x358, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -2.0 - t3new_aaaaaa += einsum(x358, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -2.0 - del x358 - x359 = np.zeros((naocc[0], navir[0], navir[0], nvir[0]), dtype=types[float]) - x359 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sVa)], (0, 1, 2, 3), v.aaaa.ovvV, (0, 2, 4, 5), (1, 3, 5, 4)) - x360 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) - x360 += einsum(t2.aaaa[np.ix_(sOa,sOa,sva,sVa)], (0, 1, 2, 3), x359, (4, 5, 6, 2), (0, 1, 4, 3, 5, 6)) * -1.0 - t3new_aaaaaa += einsum(x360, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * 4.0 - t3new_aaaaaa += einsum(x360, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -4.0 - t3new_aaaaaa += einsum(x360, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -4.0 - t3new_aaaaaa += einsum(x360, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 4.0 - t3new_aaaaaa += einsum(x360, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 4.0 - t3new_aaaaaa += einsum(x360, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -4.0 - t3new_aaaaaa += einsum(x360, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -4.0 - t3new_aaaaaa += einsum(x360, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * 4.0 - t3new_aaaaaa += einsum(x360, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * 4.0 - t3new_aaaaaa += einsum(x360, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -4.0 - t3new_aaaaaa += einsum(x360, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -4.0 - t3new_aaaaaa += einsum(x360, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * 4.0 - t3new_aaaaaa += einsum(x360, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -4.0 - t3new_aaaaaa += einsum(x360, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 4.0 - t3new_aaaaaa += einsum(x360, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 4.0 - t3new_aaaaaa += einsum(x360, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -4.0 - t3new_aaaaaa += einsum(x360, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -4.0 - t3new_aaaaaa += einsum(x360, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 4.0 - del x360 - x361 = np.zeros((naocc[0], naocc[1], navir[0], navir[1]), dtype=types[float]) - x361 += einsum(t2.abab[np.ix_(sOa,sob,sVa,svb)], (0, 1, 2, 3), v.bbbb.ovOV, (1, 3, 4, 5), (0, 4, 2, 5)) - t3new_babbab += einsum(x361, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 1, 6, 7, 3), (4, 0, 5, 6, 2, 7)) * 6.0000000000000595 - x362 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) - x362 += einsum(x361, (0, 1, 2, 3), t3.abaaba, (4, 1, 5, 6, 3, 7), (0, 4, 5, 2, 6, 7)) - t3new_aaaaaa += einsum(x362, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.00000000000002 - t3new_aaaaaa += einsum(x362, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -2.00000000000002 - t3new_aaaaaa += einsum(x362, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 2.00000000000002 - t3new_aaaaaa += einsum(x362, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * 2.00000000000002 - t3new_aaaaaa += einsum(x362, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.00000000000002 - t3new_aaaaaa += einsum(x362, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * 2.00000000000002 - t3new_aaaaaa += einsum(x362, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -2.00000000000002 - t3new_aaaaaa += einsum(x362, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * 2.00000000000002 - t3new_aaaaaa += einsum(x362, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -2.00000000000002 - del x362 - x363 = np.zeros((naocc[0], naocc[1], navir[0], navir[1]), dtype=types[float]) - x363 += einsum(t2.abab[np.ix_(sOa,sob,sVa,svb)], (0, 1, 2, 3), v.bbbb.oVvO, (1, 4, 3, 5), (0, 5, 2, 4)) - t3new_babbab += einsum(x363, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 1, 6, 7, 3), (4, 0, 5, 6, 2, 7)) * -6.0000000000000595 - x364 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) - x364 += einsum(x363, (0, 1, 2, 3), t3.abaaba, (4, 1, 5, 6, 3, 7), (0, 4, 5, 2, 6, 7)) - t3new_aaaaaa += einsum(x364, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.00000000000002 - t3new_aaaaaa += einsum(x364, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 2.00000000000002 - t3new_aaaaaa += einsum(x364, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -2.00000000000002 - t3new_aaaaaa += einsum(x364, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * -2.00000000000002 - t3new_aaaaaa += einsum(x364, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.00000000000002 - t3new_aaaaaa += einsum(x364, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -2.00000000000002 - t3new_aaaaaa += einsum(x364, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * 2.00000000000002 - t3new_aaaaaa += einsum(x364, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -2.00000000000002 - t3new_aaaaaa += einsum(x364, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * 2.00000000000002 - del x364 - x365 = np.zeros((naocc[0], naocc[0]), dtype=types[float]) - x365 += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.vOov, (2, 4, 1, 3), (0, 4)) - t3new_babbab += einsum(x365, (0, 1), t3.babbab, (2, 1, 3, 4, 5, 6), (2, 0, 3, 4, 5, 6)) * -2.0 - x366 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) - x366 += einsum(x365, (0, 1), t3.aaaaaa, (2, 3, 1, 4, 5, 6), (0, 2, 3, 4, 5, 6)) - t3new_aaaaaa += einsum(x366, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 6.0 - t3new_aaaaaa += einsum(x366, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * 6.0 - t3new_aaaaaa += einsum(x366, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -6.0 - del x366 - x367 = np.zeros((naocc[0], naocc[0], navir[0], navir[0]), dtype=types[float]) - x367 += einsum(t2.abab[np.ix_(sOa,sob,sVa,svb)], (0, 1, 2, 3), v.aabb.OVov, (4, 5, 1, 3), (0, 4, 2, 5)) - t3new_babbab += einsum(x367, (0, 1, 2, 3), t3.babbab, (4, 1, 5, 6, 3, 7), (4, 0, 5, 6, 2, 7)) * 2.00000000000002 - x368 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) - x368 += einsum(x367, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 1, 6, 7, 3), (0, 4, 5, 2, 6, 7)) - t3new_aaaaaa += einsum(x368, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 6.0000000000000595 - t3new_aaaaaa += einsum(x368, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -6.0000000000000595 - t3new_aaaaaa += einsum(x368, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 6.0000000000000595 - t3new_aaaaaa += einsum(x368, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * 6.0000000000000595 - t3new_aaaaaa += einsum(x368, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -6.0000000000000595 - t3new_aaaaaa += einsum(x368, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * 6.0000000000000595 - t3new_aaaaaa += einsum(x368, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -6.0000000000000595 - t3new_aaaaaa += einsum(x368, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * 6.0000000000000595 - t3new_aaaaaa += einsum(x368, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -6.0000000000000595 - del x368 - x369 = np.zeros((navir[0], navir[0]), dtype=types[float]) - x369 += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), v.aabb.oVov, (0, 4, 1, 3), (2, 4)) - t3new_babbab += einsum(x369, (0, 1), t3.babbab, (2, 3, 4, 5, 1, 6), (2, 3, 4, 5, 0, 6)) * -2.0 - x370 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) - x370 += einsum(x369, (0, 1), t3.aaaaaa, (2, 3, 4, 5, 6, 1), (2, 3, 4, 0, 5, 6)) - t3new_aaaaaa += einsum(x370, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 6.0 - t3new_aaaaaa += einsum(x370, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -6.0 - t3new_aaaaaa += einsum(x370, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 6.0 - del x370 - x371 = np.zeros((naocc[0], naocc[0], naocc[0], naocc[1], navir[0], navir[1]), dtype=types[float]) - x371 += einsum(t2.aaaa[np.ix_(sOa,sOa,sva,sVa)], (0, 1, 2, 3), v.aabb.vOOV, (2, 4, 5, 6), (0, 1, 4, 5, 3, 6)) * -1.0 - x372 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) - x372 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x371, (6, 7, 2, 1, 8, 4), (7, 6, 0, 8, 3, 5)) * -1.0 - t3new_aaaaaa += einsum(x372, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -4.0 - t3new_aaaaaa += einsum(x372, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * 4.0 - t3new_aaaaaa += einsum(x372, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -4.0 - t3new_aaaaaa += einsum(x372, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 4.0 - t3new_aaaaaa += einsum(x372, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -4.0 - t3new_aaaaaa += einsum(x372, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 4.0 - t3new_aaaaaa += einsum(x372, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * 4.0 - t3new_aaaaaa += einsum(x372, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * -4.0 - t3new_aaaaaa += einsum(x372, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * 4.0 - del x372 - x373 = np.zeros((naocc[0], naocc[1], navir[0], navir[0], navir[0], navir[1]), dtype=types[float]) - x373 += einsum(t2.aaaa[np.ix_(soa,sOa,sVa,sVa)], (0, 1, 2, 3), v.aabb.oVOV, (0, 4, 5, 6), (1, 5, 2, 3, 4, 6)) * -1.0 - x374 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) - x374 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x373, (6, 1, 7, 8, 5, 4), (6, 0, 2, 7, 8, 3)) - t3new_aaaaaa += einsum(x374, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 4.0 - t3new_aaaaaa += einsum(x374, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -4.0 - t3new_aaaaaa += einsum(x374, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 4.0 - t3new_aaaaaa += einsum(x374, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 4.0 - t3new_aaaaaa += einsum(x374, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -4.0 - t3new_aaaaaa += einsum(x374, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * 4.0 - t3new_aaaaaa += einsum(x374, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * -4.0 - t3new_aaaaaa += einsum(x374, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 4.0 - t3new_aaaaaa += einsum(x374, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -4.0 - del x374 - x375 = np.zeros((naocc[0], naocc[1], navir[0], navir[1]), dtype=types[float]) - x375 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sVa)], (0, 1, 2, 3), v.aabb.ovOV, (0, 2, 4, 5), (1, 4, 3, 5)) - t3new_babbab += einsum(x375, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 1, 6, 7, 3), (4, 0, 5, 6, 2, 7)) * 12.000000000000123 - x376 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) - x376 += einsum(x375, (0, 1, 2, 3), t3.abaaba, (4, 1, 5, 6, 3, 7), (0, 4, 5, 2, 6, 7)) - t3new_aaaaaa += einsum(x376, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 4.00000000000004 - t3new_aaaaaa += einsum(x376, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -4.00000000000004 - t3new_aaaaaa += einsum(x376, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 4.00000000000004 - t3new_aaaaaa += einsum(x376, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * 4.00000000000004 - t3new_aaaaaa += einsum(x376, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -4.00000000000004 - t3new_aaaaaa += einsum(x376, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * 4.00000000000004 - t3new_aaaaaa += einsum(x376, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -4.00000000000004 - t3new_aaaaaa += einsum(x376, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * 4.00000000000004 - t3new_aaaaaa += einsum(x376, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -4.00000000000004 - del x376 - x377 = np.zeros((naocc[0], naocc[0], naocc[0], naocc[0], navir[0], navir[0]), dtype=types[float]) - x377 += einsum(t2.aaaa[np.ix_(sOa,sOa,sva,sVa)], (0, 1, 2, 3), v.aaaa.vOOV, (2, 4, 5, 6), (0, 1, 5, 4, 3, 6)) * -1.0 - x378 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) - x378 += einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), x377, (6, 7, 1, 2, 8, 5), (7, 6, 0, 8, 3, 4)) * -1.0 - t3new_aaaaaa += einsum(x378, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 6.0 - t3new_aaaaaa += einsum(x378, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -6.0 - t3new_aaaaaa += einsum(x378, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 6.0 - t3new_aaaaaa += einsum(x378, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -6.0 - t3new_aaaaaa += einsum(x378, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 6.0 - t3new_aaaaaa += einsum(x378, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -6.0 - t3new_aaaaaa += einsum(x378, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -6.0 - t3new_aaaaaa += einsum(x378, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * 6.0 - t3new_aaaaaa += einsum(x378, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -6.0 - del x378 - x379 = np.zeros((naocc[0], naocc[0], naocc[0], naocc[0]), dtype=types[float]) - x379 += einsum(t2.aaaa[np.ix_(sOa,sOa,sva,sva)], (0, 1, 2, 3), v.aaaa.vOvO, (2, 4, 3, 5), (0, 1, 4, 5)) - x380 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) - x380 += einsum(x379, (0, 1, 2, 3), t3.aaaaaa, (4, 2, 3, 5, 6, 7), (1, 0, 4, 5, 6, 7)) * -1.0 - t3new_aaaaaa += einsum(x380, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 3.0 - t3new_aaaaaa += einsum(x380, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 3.0 - t3new_aaaaaa += einsum(x380, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -3.0 - t3new_aaaaaa += einsum(x380, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -3.0 - t3new_aaaaaa += einsum(x380, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -3.0 - t3new_aaaaaa += einsum(x380, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -3.0 - del x380 - x381 = np.zeros((naocc[0], naocc[0], naocc[0], naocc[0], navir[0], navir[0]), dtype=types[float]) - x381 += einsum(t2.aaaa[np.ix_(sOa,sOa,sva,sVa)], (0, 1, 2, 3), v.aaaa.vOOV, (2, 4, 5, 6), (0, 1, 5, 4, 3, 6)) * -1.0 - x382 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) - x382 += einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), x381, (6, 7, 1, 2, 8, 5), (7, 6, 0, 8, 3, 4)) * -1.0 - t3new_aaaaaa += einsum(x382, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 6.0 - t3new_aaaaaa += einsum(x382, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -6.0 - t3new_aaaaaa += einsum(x382, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 6.0 - t3new_aaaaaa += einsum(x382, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -6.0 - t3new_aaaaaa += einsum(x382, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 6.0 - t3new_aaaaaa += einsum(x382, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -6.0 - t3new_aaaaaa += einsum(x382, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -6.0 - t3new_aaaaaa += einsum(x382, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * 6.0 - t3new_aaaaaa += einsum(x382, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -6.0 - del x382 - x383 = np.zeros((naocc[0], naocc[0], navir[0], navir[0], navir[0], navir[0]), dtype=types[float]) - x383 += einsum(t2.aaaa[np.ix_(soa,sOa,sVa,sVa)], (0, 1, 2, 3), v.aaaa.oVOV, (0, 4, 5, 6), (1, 5, 2, 3, 6, 4)) * -1.0 - x384 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) - x384 += einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), x383, (6, 2, 7, 8, 4, 5), (6, 0, 1, 7, 8, 3)) - t3new_aaaaaa += einsum(x384, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -12.0 - t3new_aaaaaa += einsum(x384, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 12.0 - t3new_aaaaaa += einsum(x384, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -12.0 - t3new_aaaaaa += einsum(x384, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -12.0 - t3new_aaaaaa += einsum(x384, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * 12.0 - t3new_aaaaaa += einsum(x384, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -12.0 - t3new_aaaaaa += einsum(x384, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * 12.0 - t3new_aaaaaa += einsum(x384, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -12.0 - t3new_aaaaaa += einsum(x384, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * 12.0 - del x384 - x385 = np.zeros((naocc[0], naocc[0], navir[0], navir[0]), dtype=types[float]) - x385 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sVa)], (0, 1, 2, 3), v.aaaa.ovOV, (0, 2, 4, 5), (1, 4, 3, 5)) - t3new_babbab += einsum(x385, (0, 1, 2, 3), t3.babbab, (4, 1, 5, 6, 3, 7), (4, 0, 5, 6, 2, 7)) * 4.00000000000004 - x386 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) - x386 += einsum(x385, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 1, 6, 7, 3), (0, 4, 5, 2, 6, 7)) - t3new_aaaaaa += einsum(x386, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 12.000000000000123 - t3new_aaaaaa += einsum(x386, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -12.000000000000123 - t3new_aaaaaa += einsum(x386, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 12.000000000000123 - t3new_aaaaaa += einsum(x386, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * 12.000000000000123 - t3new_aaaaaa += einsum(x386, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -12.000000000000123 - t3new_aaaaaa += einsum(x386, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * 12.000000000000123 - t3new_aaaaaa += einsum(x386, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -12.000000000000123 - t3new_aaaaaa += einsum(x386, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * 12.000000000000123 - t3new_aaaaaa += einsum(x386, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -12.000000000000123 - del x386 - x387 = np.zeros((naocc[0], naocc[0]), dtype=types[float]) - x387 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sva)], (0, 1, 2, 3), v.aaaa.ovvO, (0, 3, 2, 4), (1, 4)) * -1.0 - x388 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) - x388 += einsum(x387, (0, 1), t3.aaaaaa, (2, 3, 1, 4, 5, 6), (0, 2, 3, 4, 5, 6)) - t3new_aaaaaa += einsum(x388, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 6.0 - t3new_aaaaaa += einsum(x388, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 6.0 - t3new_aaaaaa += einsum(x388, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * 6.0 - t3new_aaaaaa += einsum(x388, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * 6.0 - t3new_aaaaaa += einsum(x388, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -6.0 - t3new_aaaaaa += einsum(x388, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -6.0 - del x388 - x389 = np.zeros((naocc[0], naocc[0], navir[0], navir[0]), dtype=types[float]) - x389 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sVa)], (0, 1, 2, 3), v.aaaa.oVvO, (0, 4, 2, 5), (1, 5, 3, 4)) - t3new_babbab += einsum(x389, (0, 1, 2, 3), t3.babbab, (4, 1, 5, 6, 3, 7), (4, 0, 5, 6, 2, 7)) * -4.00000000000004 - x390 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) - x390 += einsum(x389, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 1, 6, 7, 3), (0, 4, 5, 2, 6, 7)) - t3new_aaaaaa += einsum(x390, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -12.000000000000123 - t3new_aaaaaa += einsum(x390, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 12.000000000000123 - t3new_aaaaaa += einsum(x390, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -12.000000000000123 - t3new_aaaaaa += einsum(x390, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * -12.000000000000123 - t3new_aaaaaa += einsum(x390, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 12.000000000000123 - t3new_aaaaaa += einsum(x390, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -12.000000000000123 - t3new_aaaaaa += einsum(x390, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * 12.000000000000123 - t3new_aaaaaa += einsum(x390, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -12.000000000000123 - t3new_aaaaaa += einsum(x390, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * 12.000000000000123 - del x390 - x391 = np.zeros((navir[0], navir[0], navir[0], navir[0]), dtype=types[float]) - x391 += einsum(t2.aaaa[np.ix_(soa,soa,sVa,sVa)], (0, 1, 2, 3), v.aaaa.oVoV, (0, 4, 1, 5), (2, 3, 4, 5)) - t3new_abaaba += einsum(x391, (0, 1, 2, 3), t3.abaaba, (4, 5, 6, 2, 7, 3), (4, 5, 6, 0, 7, 1)) * 2.0 - x392 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) - x392 += einsum(x391, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 6, 7, 2, 3), (4, 5, 6, 1, 0, 7)) * -1.0 - del x391 - t3new_aaaaaa += einsum(x392, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -6.0 - t3new_aaaaaa += einsum(x392, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 6.0 - t3new_aaaaaa += einsum(x392, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -6.0 - del x392 - x393 = np.zeros((navir[0], navir[0]), dtype=types[float]) - x393 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), v.aaaa.ovoV, (1, 2, 0, 4), (3, 4)) * -1.0 - t3new_babbab += einsum(x393, (0, 1), t3.babbab, (2, 3, 4, 5, 1, 6), (2, 3, 4, 5, 0, 6)) * -2.0 - x394 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) - x394 += einsum(x393, (0, 1), t3.aaaaaa, (2, 3, 4, 5, 6, 1), (2, 3, 4, 0, 5, 6)) - t3new_aaaaaa += einsum(x394, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 6.0 - t3new_aaaaaa += einsum(x394, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -6.0 - t3new_aaaaaa += einsum(x394, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 6.0 - del x394 - x395 = np.zeros((navir[0], navir[0]), dtype=types[float]) - x395 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), v.aaaa.ovoV, (1, 2, 0, 4), (3, 4)) * -1.0 - t3new_babbab += einsum(x395, (0, 1), t3.babbab, (2, 3, 4, 5, 1, 6), (2, 3, 4, 5, 0, 6)) * -2.0 - x396 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) - x396 += einsum(x395, (0, 1), t3.aaaaaa, (2, 3, 4, 5, 6, 1), (2, 3, 4, 0, 5, 6)) - t3new_aaaaaa += einsum(x396, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 6.0 - t3new_aaaaaa += einsum(x396, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -6.0 - t3new_aaaaaa += einsum(x396, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 6.0 - del x396 - x397 = np.zeros((naocc[0], naocc[0], navir[0], navir[0], navir[0], nvir[0]), dtype=types[float]) - x397 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), t2.aaaa[np.ix_(soa,sOa,sVa,sVa)], (2, 3, 4, 5), v.aaaa.ovoO, (2, 6, 0, 7), (3, 7, 1, 4, 5, 6)) * -1.0 - x398 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) - x398 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), x397, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) - del x397 - t3new_aaaaaa += einsum(x398, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 2.0 - t3new_aaaaaa += einsum(x398, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 - t3new_aaaaaa += einsum(x398, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -2.0 - t3new_aaaaaa += einsum(x398, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 2.0 - t3new_aaaaaa += einsum(x398, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 2.0 - t3new_aaaaaa += einsum(x398, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -2.0 - t3new_aaaaaa += einsum(x398, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * -2.0 - t3new_aaaaaa += einsum(x398, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) * 2.0 - t3new_aaaaaa += einsum(x398, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 - t3new_aaaaaa += einsum(x398, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -2.0 - t3new_aaaaaa += einsum(x398, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -2.0 - t3new_aaaaaa += einsum(x398, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) * 2.0 - t3new_aaaaaa += einsum(x398, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * 2.0 - t3new_aaaaaa += einsum(x398, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -2.0 - t3new_aaaaaa += einsum(x398, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -2.0 - t3new_aaaaaa += einsum(x398, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * 2.0 - t3new_aaaaaa += einsum(x398, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * 2.0 - t3new_aaaaaa += einsum(x398, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -2.0 - del x398 - x399 = np.zeros((naocc[0], naocc[0], navir[0], navir[0], navir[0], nvir[0]), dtype=types[float]) - x399 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), t2.aaaa[np.ix_(soa,sOa,sVa,sVa)], (2, 3, 4, 5), v.aaaa.ovoO, (0, 6, 2, 7), (3, 7, 1, 4, 5, 6)) * -1.0 - x400 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) - x400 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), x399, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) - del x399 - t3new_aaaaaa += einsum(x400, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -2.0 - t3new_aaaaaa += einsum(x400, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.0 - t3new_aaaaaa += einsum(x400, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * 2.0 - t3new_aaaaaa += einsum(x400, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -2.0 - t3new_aaaaaa += einsum(x400, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -2.0 - t3new_aaaaaa += einsum(x400, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 2.0 - t3new_aaaaaa += einsum(x400, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * 2.0 - t3new_aaaaaa += einsum(x400, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) * -2.0 - t3new_aaaaaa += einsum(x400, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 - t3new_aaaaaa += einsum(x400, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * 2.0 - t3new_aaaaaa += einsum(x400, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * 2.0 - t3new_aaaaaa += einsum(x400, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) * -2.0 - t3new_aaaaaa += einsum(x400, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -2.0 - t3new_aaaaaa += einsum(x400, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * 2.0 - t3new_aaaaaa += einsum(x400, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * 2.0 - t3new_aaaaaa += einsum(x400, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * -2.0 - t3new_aaaaaa += einsum(x400, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -2.0 - t3new_aaaaaa += einsum(x400, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * 2.0 - del x400 - x401 = np.zeros((naocc[0], navir[0], navir[0], nvir[0]), dtype=types[float]) - x401 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), t1.aa[np.ix_(soa,sVa)], (2, 3), v.aaaa.ovoO, (2, 4, 0, 5), (5, 1, 3, 4)) - x402 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) - x402 += einsum(t2.aaaa[np.ix_(sOa,sOa,sva,sVa)], (0, 1, 2, 3), x401, (4, 5, 6, 2), (0, 1, 4, 5, 6, 3)) * -1.0 - t3new_aaaaaa += einsum(x402, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * 2.0 - t3new_aaaaaa += einsum(x402, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -2.0 - t3new_aaaaaa += einsum(x402, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -2.0 - t3new_aaaaaa += einsum(x402, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 2.0 - t3new_aaaaaa += einsum(x402, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * 2.0 - t3new_aaaaaa += einsum(x402, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -2.0 - t3new_aaaaaa += einsum(x402, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 - t3new_aaaaaa += einsum(x402, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 - t3new_aaaaaa += einsum(x402, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 2.0 - t3new_aaaaaa += einsum(x402, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -2.0 - t3new_aaaaaa += einsum(x402, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -2.0 - t3new_aaaaaa += einsum(x402, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * 2.0 - t3new_aaaaaa += einsum(x402, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 2.0 - t3new_aaaaaa += einsum(x402, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -2.0 - t3new_aaaaaa += einsum(x402, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -2.0 - t3new_aaaaaa += einsum(x402, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 2.0 - t3new_aaaaaa += einsum(x402, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * 2.0 - t3new_aaaaaa += einsum(x402, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -2.0 - del x402 - x403 = np.zeros((naocc[0], naocc[0], navir[0], navir[0], navir[0], nvir[0]), dtype=types[float]) - x403 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), t2.aaaa[np.ix_(soa,sOa,sVa,sVa)], (2, 3, 4, 5), v.aaaa.ovvV, (2, 1, 6, 7), (0, 3, 4, 5, 7, 6)) * -1.0 - x404 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) - x404 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), x403, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) - del x403 - t3new_aaaaaa += einsum(x404, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -2.0 - t3new_aaaaaa += einsum(x404, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 - t3new_aaaaaa += einsum(x404, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * 2.0 - t3new_aaaaaa += einsum(x404, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 2.0 - t3new_aaaaaa += einsum(x404, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -2.0 - t3new_aaaaaa += einsum(x404, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -2.0 - t3new_aaaaaa += einsum(x404, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 2.0 - t3new_aaaaaa += einsum(x404, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * -2.0 - t3new_aaaaaa += einsum(x404, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -2.0 - t3new_aaaaaa += einsum(x404, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 - t3new_aaaaaa += einsum(x404, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 2.0 - t3new_aaaaaa += einsum(x404, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 2.0 - t3new_aaaaaa += einsum(x404, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -2.0 - t3new_aaaaaa += einsum(x404, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * 2.0 - t3new_aaaaaa += einsum(x404, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * 2.0 - t3new_aaaaaa += einsum(x404, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * 2.0 - t3new_aaaaaa += einsum(x404, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -2.0 - t3new_aaaaaa += einsum(x404, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) * -2.0 - del x404 - x405 = np.zeros((naocc[0], naocc[0], navir[0], navir[0], navir[0], nvir[0]), dtype=types[float]) - x405 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), t2.aaaa[np.ix_(sOa,sOa,sva,sVa)], (2, 3, 4, 5), v.aaaa.ovvV, (0, 6, 4, 7), (2, 3, 1, 5, 7, 6)) * -1.0 - x406 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) - x406 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), x405, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) - del x405 - t3new_aaaaaa += einsum(x406, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * 2.0 - t3new_aaaaaa += einsum(x406, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 - t3new_aaaaaa += einsum(x406, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -2.0 - t3new_aaaaaa += einsum(x406, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 2.0 - t3new_aaaaaa += einsum(x406, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 - t3new_aaaaaa += einsum(x406, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -2.0 - t3new_aaaaaa += einsum(x406, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * 2.0 - t3new_aaaaaa += einsum(x406, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * -2.0 - t3new_aaaaaa += einsum(x406, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -2.0 - t3new_aaaaaa += einsum(x406, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 - t3new_aaaaaa += einsum(x406, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * 2.0 - t3new_aaaaaa += einsum(x406, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -2.0 - t3new_aaaaaa += einsum(x406, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) * -2.0 - t3new_aaaaaa += einsum(x406, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * 2.0 - t3new_aaaaaa += einsum(x406, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * 2.0 - t3new_aaaaaa += einsum(x406, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -2.0 - t3new_aaaaaa += einsum(x406, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -2.0 - t3new_aaaaaa += einsum(x406, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * 2.0 - del x406 - x407 = np.zeros((naocc[0], naocc[0], navir[0], navir[0], navir[0], nvir[0]), dtype=types[float]) - x407 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), t2.aaaa[np.ix_(sOa,sOa,sva,sVa)], (2, 3, 4, 5), v.aaaa.ovvV, (0, 4, 6, 7), (2, 3, 1, 5, 7, 6)) * -1.0 - x408 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) - x408 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), x407, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) - del x407 - t3new_aaaaaa += einsum(x408, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -2.0 - t3new_aaaaaa += einsum(x408, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.0 - t3new_aaaaaa += einsum(x408, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 2.0 - t3new_aaaaaa += einsum(x408, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -2.0 - t3new_aaaaaa += einsum(x408, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 - t3new_aaaaaa += einsum(x408, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 2.0 - t3new_aaaaaa += einsum(x408, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * -2.0 - t3new_aaaaaa += einsum(x408, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * 2.0 - t3new_aaaaaa += einsum(x408, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 - t3new_aaaaaa += einsum(x408, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 - t3new_aaaaaa += einsum(x408, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -2.0 - t3new_aaaaaa += einsum(x408, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * 2.0 - t3new_aaaaaa += einsum(x408, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) * 2.0 - t3new_aaaaaa += einsum(x408, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -2.0 - t3new_aaaaaa += einsum(x408, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * -2.0 - t3new_aaaaaa += einsum(x408, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * 2.0 - t3new_aaaaaa += einsum(x408, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 2.0 - t3new_aaaaaa += einsum(x408, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -2.0 - del x408 - x409 = np.zeros((naocc[0], naocc[1], navir[1], nocc[0]), dtype=types[float]) - x409 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), v.aabb.ovOV, (2, 1, 3, 4), (0, 3, 4, 2)) - x410 = np.zeros((naocc[0], naocc[1], navir[0], navir[1]), dtype=types[float]) - x410 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x409, (2, 3, 4, 0), (2, 3, 1, 4)) - t3new_babbab += einsum(x410, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 1, 6, 7, 3), (4, 0, 5, 6, 2, 7)) * -6.0 - x411 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) - x411 += einsum(x410, (0, 1, 2, 3), t3.abaaba, (4, 1, 5, 6, 3, 7), (0, 4, 5, 2, 6, 7)) - t3new_aaaaaa += einsum(x411, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 - t3new_aaaaaa += einsum(x411, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 2.0 - t3new_aaaaaa += einsum(x411, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -2.0 - t3new_aaaaaa += einsum(x411, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * -2.0 - t3new_aaaaaa += einsum(x411, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 - t3new_aaaaaa += einsum(x411, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -2.0 - t3new_aaaaaa += einsum(x411, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * 2.0 - t3new_aaaaaa += einsum(x411, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -2.0 - t3new_aaaaaa += einsum(x411, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * 2.0 - del x411 - x412 = np.zeros((naocc[0], naocc[0], naocc[0], nvir[0]), dtype=types[float]) - x412 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), v.aaaa.vOvO, (2, 3, 1, 4), (0, 3, 4, 2)) - x413 = np.zeros((naocc[0], naocc[0], naocc[0], naocc[0]), dtype=types[float]) - x413 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), x412, (2, 3, 4, 1), (2, 0, 4, 3)) - del x412 - x414 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) - x414 += einsum(x413, (0, 1, 2, 3), t3.aaaaaa, (4, 2, 3, 5, 6, 7), (1, 0, 4, 5, 6, 7)) * -1.0 - t3new_aaaaaa += einsum(x414, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 3.0 - t3new_aaaaaa += einsum(x414, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 3.0 - t3new_aaaaaa += einsum(x414, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -3.0 - t3new_aaaaaa += einsum(x414, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -3.0 - t3new_aaaaaa += einsum(x414, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -3.0 - t3new_aaaaaa += einsum(x414, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -3.0 - del x414 - x415 = np.zeros((naocc[0], naocc[0], navir[0], nocc[0]), dtype=types[float]) - x415 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), v.aaaa.ovOV, (2, 1, 3, 4), (0, 3, 4, 2)) - x416 = np.zeros((naocc[0], naocc[0], navir[0], navir[0]), dtype=types[float]) - x416 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x415, (2, 3, 4, 0), (2, 3, 1, 4)) - del x415 - t3new_babbab += einsum(x416, (0, 1, 2, 3), t3.babbab, (4, 1, 5, 6, 3, 7), (4, 0, 5, 6, 2, 7)) * -2.0 - x417 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) - x417 += einsum(x416, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 1, 6, 7, 3), (0, 4, 5, 2, 6, 7)) - t3new_aaaaaa += einsum(x417, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -6.0 - t3new_aaaaaa += einsum(x417, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 6.0 - t3new_aaaaaa += einsum(x417, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -6.0 - t3new_aaaaaa += einsum(x417, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * -6.0 - t3new_aaaaaa += einsum(x417, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 6.0 - t3new_aaaaaa += einsum(x417, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -6.0 - t3new_aaaaaa += einsum(x417, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * 6.0 - t3new_aaaaaa += einsum(x417, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -6.0 - t3new_aaaaaa += einsum(x417, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * 6.0 - del x417 - x418 = np.zeros((naocc[0], naocc[0], navir[0], nocc[0]), dtype=types[float]) - x418 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), v.aaaa.oVvO, (2, 3, 1, 4), (0, 4, 3, 2)) - x419 = np.zeros((naocc[0], naocc[0], navir[0], navir[0]), dtype=types[float]) - x419 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x418, (2, 3, 4, 0), (2, 3, 1, 4)) - del x418 - t3new_babbab += einsum(x419, (0, 1, 2, 3), t3.babbab, (4, 1, 5, 6, 3, 7), (4, 0, 5, 6, 2, 7)) * 2.0 - x420 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) - x420 += einsum(x419, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 1, 6, 7, 3), (0, 4, 5, 2, 6, 7)) - t3new_aaaaaa += einsum(x420, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 6.0 - t3new_aaaaaa += einsum(x420, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -6.0 - t3new_aaaaaa += einsum(x420, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 6.0 - t3new_aaaaaa += einsum(x420, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * 6.0 - t3new_aaaaaa += einsum(x420, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -6.0 - t3new_aaaaaa += einsum(x420, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * 6.0 - t3new_aaaaaa += einsum(x420, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -6.0 - t3new_aaaaaa += einsum(x420, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * 6.0 - t3new_aaaaaa += einsum(x420, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -6.0 - del x420 - x421 = np.zeros((naocc[0], nvir[0]), dtype=types[float]) - x421 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aaaa.ovvO, (0, 2, 1, 3), (3, 2)) - x422 = np.zeros((naocc[0], naocc[0]), dtype=types[float]) - x422 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), x421, (2, 1), (0, 2)) - del x421 - t3new_babbab += einsum(x422, (0, 1), t3.babbab, (2, 1, 3, 4, 5, 6), (2, 0, 3, 4, 5, 6)) * 2.0 - x423 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) - x423 += einsum(x422, (0, 1), t3.aaaaaa, (2, 3, 1, 4, 5, 6), (0, 2, 3, 4, 5, 6)) - t3new_aaaaaa += einsum(x423, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -6.0 - t3new_aaaaaa += einsum(x423, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -6.0 - t3new_aaaaaa += einsum(x423, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 6.0 - del x423 - x424 = np.zeros((naocc[0], nvir[0]), dtype=types[float]) - x424 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aaaa.ovvO, (0, 1, 2, 3), (3, 2)) - x425 = np.zeros((naocc[0], naocc[0]), dtype=types[float]) - x425 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), x424, (2, 1), (0, 2)) - del x424 - t3new_babbab += einsum(x425, (0, 1), t3.babbab, (2, 1, 3, 4, 5, 6), (2, 0, 3, 4, 5, 6)) * -2.0 - x426 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) - x426 += einsum(x425, (0, 1), t3.aaaaaa, (2, 3, 1, 4, 5, 6), (0, 2, 3, 4, 5, 6)) - t3new_aaaaaa += einsum(x426, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 6.0 - t3new_aaaaaa += einsum(x426, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * 6.0 - t3new_aaaaaa += einsum(x426, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -6.0 - del x426 - x427 = np.zeros((navir[0], navir[0], navir[0], nocc[0]), dtype=types[float]) - x427 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), v.aaaa.oVoV, (2, 3, 0, 4), (1, 3, 4, 2)) - x428 = np.zeros((navir[0], navir[0], navir[0], navir[0]), dtype=types[float]) - x428 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x427, (2, 3, 4, 0), (2, 1, 4, 3)) - del x427 - t3new_abaaba += einsum(x428, (0, 1, 2, 3), t3.abaaba, (4, 5, 6, 3, 7, 2), (4, 5, 6, 0, 7, 1)) * -2.0 - x429 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) - x429 += einsum(x428, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 6, 7, 2, 3), (4, 5, 6, 1, 0, 7)) * -1.0 - del x428 - t3new_aaaaaa += einsum(x429, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -6.0 - t3new_aaaaaa += einsum(x429, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 6.0 - t3new_aaaaaa += einsum(x429, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -6.0 - del x429 - x430 = np.zeros((navir[0], nocc[0]), dtype=types[float]) - x430 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aaaa.ovoV, (0, 1, 2, 3), (3, 2)) - x431 = np.zeros((navir[0], navir[0]), dtype=types[float]) - x431 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x430, (2, 0), (1, 2)) - del x430 - t3new_babbab += einsum(x431, (0, 1), t3.babbab, (2, 3, 4, 5, 1, 6), (2, 3, 4, 5, 0, 6)) * -2.0 - x432 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) - x432 += einsum(x431, (0, 1), t3.aaaaaa, (2, 3, 4, 5, 6, 1), (2, 3, 4, 0, 5, 6)) - t3new_aaaaaa += einsum(x432, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 6.0 - t3new_aaaaaa += einsum(x432, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -6.0 - t3new_aaaaaa += einsum(x432, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 6.0 - del x432 - x433 = np.zeros((navir[0], nocc[0]), dtype=types[float]) - x433 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aaaa.ovoV, (2, 1, 0, 3), (3, 2)) - x434 = np.zeros((navir[0], navir[0]), dtype=types[float]) - x434 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x433, (2, 0), (1, 2)) - del x433 - t3new_babbab += einsum(x434, (0, 1), t3.babbab, (2, 3, 4, 5, 1, 6), (2, 3, 4, 5, 0, 6)) * 2.0 - x435 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) - x435 += einsum(x434, (0, 1), t3.aaaaaa, (2, 3, 4, 5, 6, 1), (2, 3, 4, 0, 5, 6)) - t3new_aaaaaa += einsum(x435, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -6.0 - t3new_aaaaaa += einsum(x435, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * 6.0 - t3new_aaaaaa += einsum(x435, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -6.0 - del x435 - x436 = np.zeros((naocc[0], nvir[0]), dtype=types[float]) - x436 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.aabb.vOov, (2, 3, 0, 1), (3, 2)) - x437 = np.zeros((naocc[0], naocc[0]), dtype=types[float]) - x437 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), x436, (2, 1), (0, 2)) - del x436 - t3new_babbab += einsum(x437, (0, 1), t3.babbab, (2, 1, 3, 4, 5, 6), (2, 0, 3, 4, 5, 6)) * -2.0 - x438 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) - x438 += einsum(x437, (0, 1), t3.aaaaaa, (2, 3, 1, 4, 5, 6), (0, 2, 3, 4, 5, 6)) - t3new_aaaaaa += einsum(x438, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 6.0 - t3new_aaaaaa += einsum(x438, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * 6.0 - t3new_aaaaaa += einsum(x438, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -6.0 - del x438 - x439 = np.zeros((navir[0], nocc[0]), dtype=types[float]) - x439 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.aabb.oVov, (2, 3, 0, 1), (3, 2)) - x440 = np.zeros((navir[0], navir[0]), dtype=types[float]) - x440 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x439, (2, 0), (1, 2)) - del x439 - t3new_babbab += einsum(x440, (0, 1), t3.babbab, (2, 3, 4, 5, 1, 6), (2, 3, 4, 5, 0, 6)) * -2.0 - x441 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) - x441 += einsum(x440, (0, 1), t3.aaaaaa, (2, 3, 4, 5, 6, 1), (2, 3, 4, 0, 5, 6)) - t3new_aaaaaa += einsum(x441, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 6.0 - t3new_aaaaaa += einsum(x441, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -6.0 - t3new_aaaaaa += einsum(x441, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 6.0 - del x441 - x442 = np.zeros((naocc[0], navir[0], nocc[0], nvir[0]), dtype=types[float]) - x442 += einsum(t2.abab[np.ix_(sOa,sob,sVa,svb)], (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (0, 2, 4, 5)) - x443 = np.zeros((naocc[0], naocc[0], navir[0], nocc[0]), dtype=types[float]) - x443 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), x442, (2, 3, 4, 1), (0, 2, 3, 4)) - x444 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) - x444 += einsum(t2.aaaa[np.ix_(soa,sOa,sVa,sVa)], (0, 1, 2, 3), x443, (4, 5, 6, 0), (4, 1, 5, 2, 3, 6)) * -1.0 - t3new_aaaaaa += einsum(x444, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 2.0 - t3new_aaaaaa += einsum(x444, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 - t3new_aaaaaa += einsum(x444, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 2.0 - t3new_aaaaaa += einsum(x444, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -2.0 - t3new_aaaaaa += einsum(x444, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 2.0 - t3new_aaaaaa += einsum(x444, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -2.0 - t3new_aaaaaa += einsum(x444, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) * -2.0 - t3new_aaaaaa += einsum(x444, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * 2.0 - t3new_aaaaaa += einsum(x444, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -2.0 - t3new_aaaaaa += einsum(x444, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * 2.0 - t3new_aaaaaa += einsum(x444, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -2.0 - t3new_aaaaaa += einsum(x444, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 - t3new_aaaaaa += einsum(x444, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * 2.0 - t3new_aaaaaa += einsum(x444, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -2.0 - t3new_aaaaaa += einsum(x444, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * 2.0 - t3new_aaaaaa += einsum(x444, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -2.0 - t3new_aaaaaa += einsum(x444, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 2.0 - t3new_aaaaaa += einsum(x444, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * -2.0 - del x444 - x445 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], nocc[0]), dtype=types[float]) - x445 += einsum(t2.aaaa[np.ix_(sOa,sOa,sva,sVa)], (0, 1, 2, 3), x442, (4, 5, 6, 2), (0, 1, 4, 3, 5, 6)) * -1.0 - x446 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) - x446 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x445, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) - del x445 - t3new_aaaaaa += einsum(x446, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * 2.0 - t3new_aaaaaa += einsum(x446, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -2.0 - t3new_aaaaaa += einsum(x446, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.0 - t3new_aaaaaa += einsum(x446, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -2.0 - t3new_aaaaaa += einsum(x446, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -2.0 - t3new_aaaaaa += einsum(x446, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 2.0 - t3new_aaaaaa += einsum(x446, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * -2.0 - t3new_aaaaaa += einsum(x446, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * 2.0 - t3new_aaaaaa += einsum(x446, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -2.0 - t3new_aaaaaa += einsum(x446, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 2.0 - t3new_aaaaaa += einsum(x446, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * 2.0 - t3new_aaaaaa += einsum(x446, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -2.0 - t3new_aaaaaa += einsum(x446, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * 2.0 - t3new_aaaaaa += einsum(x446, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -2.0 - t3new_aaaaaa += einsum(x446, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 2.0 - t3new_aaaaaa += einsum(x446, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 - t3new_aaaaaa += einsum(x446, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -2.0 - t3new_aaaaaa += einsum(x446, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 2.0 - del x446 - x447 = np.zeros((naocc[0], navir[0], nocc[0], nvir[0]), dtype=types[float]) - x447 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sVa)], (0, 1, 2, 3), v.aaaa.ovov, (4, 5, 0, 2), (1, 3, 4, 5)) - x448 = np.zeros((naocc[0], naocc[0], navir[0], nocc[0]), dtype=types[float]) - x448 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), x447, (2, 3, 4, 1), (0, 2, 3, 4)) - x449 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) - x449 += einsum(t2.aaaa[np.ix_(soa,sOa,sVa,sVa)], (0, 1, 2, 3), x448, (4, 5, 6, 0), (4, 1, 5, 2, 3, 6)) * -1.0 - t3new_aaaaaa += einsum(x449, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 4.0 - t3new_aaaaaa += einsum(x449, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -4.0 - t3new_aaaaaa += einsum(x449, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -4.0 - t3new_aaaaaa += einsum(x449, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 4.0 - t3new_aaaaaa += einsum(x449, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -4.0 - t3new_aaaaaa += einsum(x449, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 4.0 - t3new_aaaaaa += einsum(x449, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -4.0 - t3new_aaaaaa += einsum(x449, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 4.0 - t3new_aaaaaa += einsum(x449, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * 4.0 - t3new_aaaaaa += einsum(x449, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) * -4.0 - t3new_aaaaaa += einsum(x449, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * 4.0 - t3new_aaaaaa += einsum(x449, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -4.0 - t3new_aaaaaa += einsum(x449, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 4.0 - t3new_aaaaaa += einsum(x449, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * -4.0 - t3new_aaaaaa += einsum(x449, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -4.0 - t3new_aaaaaa += einsum(x449, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * 4.0 - t3new_aaaaaa += einsum(x449, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -4.0 - t3new_aaaaaa += einsum(x449, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * 4.0 - del x449 - x450 = np.zeros((naocc[0], navir[0], nocc[0], nvir[0]), dtype=types[float]) - x450 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sVa)], (0, 1, 2, 3), v.aaaa.ovov, (4, 2, 0, 5), (1, 3, 4, 5)) - x451 = np.zeros((naocc[0], naocc[0], navir[0], nocc[0]), dtype=types[float]) - x451 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), x450, (2, 3, 4, 1), (0, 2, 3, 4)) - x452 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) - x452 += einsum(t2.aaaa[np.ix_(soa,sOa,sVa,sVa)], (0, 1, 2, 3), x451, (4, 5, 6, 0), (4, 1, 5, 2, 3, 6)) * -1.0 - t3new_aaaaaa += einsum(x452, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -4.0 - t3new_aaaaaa += einsum(x452, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 4.0 - t3new_aaaaaa += einsum(x452, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -4.0 - t3new_aaaaaa += einsum(x452, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -4.0 - t3new_aaaaaa += einsum(x452, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 4.0 - t3new_aaaaaa += einsum(x452, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 4.0 - t3new_aaaaaa += einsum(x452, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) * 4.0 - t3new_aaaaaa += einsum(x452, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * -4.0 - t3new_aaaaaa += einsum(x452, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * 4.0 - t3new_aaaaaa += einsum(x452, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * 4.0 - t3new_aaaaaa += einsum(x452, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -4.0 - t3new_aaaaaa += einsum(x452, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -4.0 - t3new_aaaaaa += einsum(x452, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -4.0 - t3new_aaaaaa += einsum(x452, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * 4.0 - t3new_aaaaaa += einsum(x452, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -4.0 - t3new_aaaaaa += einsum(x452, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -4.0 - t3new_aaaaaa += einsum(x452, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * 4.0 - t3new_aaaaaa += einsum(x452, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * 4.0 - del x452 - x453 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], nocc[0], nocc[0]), dtype=types[float]) - x453 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), t2.aaaa[np.ix_(sOa,sOa,sva,sVa)], (2, 3, 4, 5), v.aaaa.ovov, (6, 1, 7, 4), (0, 2, 3, 5, 6, 7)) * -1.0 - x454 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) - x454 += einsum(t2.aaaa[np.ix_(soa,soa,sVa,sVa)], (0, 1, 2, 3), x453, (4, 5, 6, 7, 0, 1), (4, 5, 6, 7, 2, 3)) - del x453 - t3new_aaaaaa += einsum(x454, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 - t3new_aaaaaa += einsum(x454, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 2.0 - t3new_aaaaaa += einsum(x454, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -2.0 - t3new_aaaaaa += einsum(x454, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 - t3new_aaaaaa += einsum(x454, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 2.0 - t3new_aaaaaa += einsum(x454, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -2.0 - t3new_aaaaaa += einsum(x454, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * -2.0 - t3new_aaaaaa += einsum(x454, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 - t3new_aaaaaa += einsum(x454, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -2.0 - t3new_aaaaaa += einsum(x454, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * -2.0 - t3new_aaaaaa += einsum(x454, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 - t3new_aaaaaa += einsum(x454, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -2.0 - t3new_aaaaaa += einsum(x454, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * 2.0 - t3new_aaaaaa += einsum(x454, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -2.0 - t3new_aaaaaa += einsum(x454, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * 2.0 - t3new_aaaaaa += einsum(x454, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * 2.0 - t3new_aaaaaa += einsum(x454, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -2.0 - t3new_aaaaaa += einsum(x454, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * 2.0 - del x454 - x455 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], nocc[0]), dtype=types[float]) - x455 += einsum(t2.aaaa[np.ix_(sOa,sOa,sva,sVa)], (0, 1, 2, 3), x447, (4, 5, 6, 2), (0, 1, 4, 3, 5, 6)) * -1.0 - x456 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) - x456 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x455, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) - del x455 - t3new_aaaaaa += einsum(x456, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -4.0 - t3new_aaaaaa += einsum(x456, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 4.0 - t3new_aaaaaa += einsum(x456, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * 4.0 - t3new_aaaaaa += einsum(x456, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -4.0 - t3new_aaaaaa += einsum(x456, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 4.0 - t3new_aaaaaa += einsum(x456, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -4.0 - t3new_aaaaaa += einsum(x456, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 4.0 - t3new_aaaaaa += einsum(x456, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -4.0 - t3new_aaaaaa += einsum(x456, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * -4.0 - t3new_aaaaaa += einsum(x456, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * 4.0 - t3new_aaaaaa += einsum(x456, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -4.0 - t3new_aaaaaa += einsum(x456, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * 4.0 - t3new_aaaaaa += einsum(x456, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -4.0 - t3new_aaaaaa += einsum(x456, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 4.0 - t3new_aaaaaa += einsum(x456, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * 4.0 - t3new_aaaaaa += einsum(x456, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -4.0 - t3new_aaaaaa += einsum(x456, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 4.0 - t3new_aaaaaa += einsum(x456, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -4.0 - del x456 - x457 = np.zeros((naocc[0], naocc[0], nocc[0], nocc[0]), dtype=types[float]) - x457 += einsum(t2.aaaa[np.ix_(sOa,sOa,sva,sva)], (0, 1, 2, 3), v.aaaa.ovov, (4, 2, 5, 3), (0, 1, 4, 5)) - x458 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], nocc[0]), dtype=types[float]) - x458 += einsum(t2.aaaa[np.ix_(soa,sOa,sVa,sVa)], (0, 1, 2, 3), x457, (4, 5, 0, 6), (4, 5, 1, 2, 3, 6)) - x459 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) - x459 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x458, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) - del x458 - t3new_aaaaaa += einsum(x459, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 - t3new_aaaaaa += einsum(x459, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 - t3new_aaaaaa += einsum(x459, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -2.0 - t3new_aaaaaa += einsum(x459, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -2.0 - t3new_aaaaaa += einsum(x459, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 2.0 - t3new_aaaaaa += einsum(x459, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 2.0 - t3new_aaaaaa += einsum(x459, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 2.0 - t3new_aaaaaa += einsum(x459, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 2.0 - t3new_aaaaaa += einsum(x459, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * 2.0 - t3new_aaaaaa += einsum(x459, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * 2.0 - t3new_aaaaaa += einsum(x459, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -2.0 - t3new_aaaaaa += einsum(x459, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -2.0 - t3new_aaaaaa += einsum(x459, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -2.0 - t3new_aaaaaa += einsum(x459, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -2.0 - t3new_aaaaaa += einsum(x459, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -2.0 - t3new_aaaaaa += einsum(x459, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -2.0 - t3new_aaaaaa += einsum(x459, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 2.0 - t3new_aaaaaa += einsum(x459, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 2.0 - del x459 - x460 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], nocc[0]), dtype=types[float]) - x460 += einsum(t2.aaaa[np.ix_(sOa,sOa,sva,sVa)], (0, 1, 2, 3), x450, (4, 5, 6, 2), (0, 1, 4, 3, 5, 6)) * -1.0 - x461 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) - x461 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x460, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) - del x460 - t3new_aaaaaa += einsum(x461, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * 4.0 - t3new_aaaaaa += einsum(x461, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -4.0 - t3new_aaaaaa += einsum(x461, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -4.0 - t3new_aaaaaa += einsum(x461, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * 4.0 - t3new_aaaaaa += einsum(x461, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -4.0 - t3new_aaaaaa += einsum(x461, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 4.0 - t3new_aaaaaa += einsum(x461, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -4.0 - t3new_aaaaaa += einsum(x461, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 4.0 - t3new_aaaaaa += einsum(x461, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * 4.0 - t3new_aaaaaa += einsum(x461, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -4.0 - t3new_aaaaaa += einsum(x461, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 4.0 - t3new_aaaaaa += einsum(x461, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -4.0 - t3new_aaaaaa += einsum(x461, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 4.0 - t3new_aaaaaa += einsum(x461, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -4.0 - t3new_aaaaaa += einsum(x461, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -4.0 - t3new_aaaaaa += einsum(x461, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * 4.0 - t3new_aaaaaa += einsum(x461, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -4.0 - t3new_aaaaaa += einsum(x461, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 4.0 - del x461 - x462 = np.zeros((naocc[0], naocc[0], navir[0], nocc[0]), dtype=types[float]) - x462 += einsum(x11, (0, 1), t2.aaaa[np.ix_(sOa,sOa,sva,sVa)], (2, 3, 1, 4), (2, 3, 4, 0)) * -1.0 - x463 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) - x463 += einsum(t2.aaaa[np.ix_(soa,sOa,sVa,sVa)], (0, 1, 2, 3), x462, (4, 5, 6, 0), (5, 4, 1, 6, 2, 3)) - t3new_aaaaaa += einsum(x463, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 4.0 - t3new_aaaaaa += einsum(x463, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -4.0 - t3new_aaaaaa += einsum(x463, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 4.0 - t3new_aaaaaa += einsum(x463, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * -4.0 - t3new_aaaaaa += einsum(x463, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * 4.0 - t3new_aaaaaa += einsum(x463, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * 4.0 - t3new_aaaaaa += einsum(x463, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -4.0 - t3new_aaaaaa += einsum(x463, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * 4.0 - t3new_aaaaaa += einsum(x463, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -4.0 - del x463 - x464 = np.zeros((naocc[0], naocc[0], navir[0], nocc[0]), dtype=types[float]) - x464 += einsum(x12, (0, 1), t2.aaaa[np.ix_(sOa,sOa,sva,sVa)], (2, 3, 1, 4), (2, 3, 4, 0)) * -1.0 - x465 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) - x465 += einsum(t2.aaaa[np.ix_(soa,sOa,sVa,sVa)], (0, 1, 2, 3), x464, (4, 5, 6, 0), (5, 4, 1, 6, 2, 3)) - t3new_aaaaaa += einsum(x465, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -4.0 - t3new_aaaaaa += einsum(x465, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 4.0 - t3new_aaaaaa += einsum(x465, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -4.0 - t3new_aaaaaa += einsum(x465, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * 4.0 - t3new_aaaaaa += einsum(x465, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -4.0 - t3new_aaaaaa += einsum(x465, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -4.0 - t3new_aaaaaa += einsum(x465, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 4.0 - t3new_aaaaaa += einsum(x465, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -4.0 - t3new_aaaaaa += einsum(x465, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 4.0 - del x465 - x466 = np.zeros((naocc[0], naocc[0], navir[0], nocc[0]), dtype=types[float]) - x466 += einsum(x15, (0, 1), t2.aaaa[np.ix_(sOa,sOa,sva,sVa)], (2, 3, 1, 4), (2, 3, 4, 0)) * -1.0 - x467 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) - x467 += einsum(t2.aaaa[np.ix_(soa,sOa,sVa,sVa)], (0, 1, 2, 3), x466, (4, 5, 6, 0), (5, 4, 1, 6, 2, 3)) - t3new_aaaaaa += einsum(x467, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 4.0 - t3new_aaaaaa += einsum(x467, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -4.0 - t3new_aaaaaa += einsum(x467, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 4.0 - t3new_aaaaaa += einsum(x467, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * -4.0 - t3new_aaaaaa += einsum(x467, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * 4.0 - t3new_aaaaaa += einsum(x467, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * 4.0 - t3new_aaaaaa += einsum(x467, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -4.0 - t3new_aaaaaa += einsum(x467, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * 4.0 - t3new_aaaaaa += einsum(x467, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -4.0 - del x467 - x468 = np.zeros((naocc[0], naocc[0], navir[0], navir[0], nocc[0], nvir[0]), dtype=types[float]) - x468 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), t2.aaaa[np.ix_(soa,sOa,sVa,sVa)], (2, 3, 4, 5), v.aaaa.ovov, (6, 7, 2, 1), (0, 3, 4, 5, 6, 7)) * -1.0 - x469 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], nocc[0]), dtype=types[float]) - x469 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), x468, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) - del x468 - x470 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) - x470 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x469, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) - del x469 - t3new_aaaaaa += einsum(x470, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 2.0 - t3new_aaaaaa += einsum(x470, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * -2.0 - t3new_aaaaaa += einsum(x470, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -2.0 - t3new_aaaaaa += einsum(x470, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 - t3new_aaaaaa += einsum(x470, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 2.0 - t3new_aaaaaa += einsum(x470, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -2.0 - t3new_aaaaaa += einsum(x470, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 - t3new_aaaaaa += einsum(x470, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * 2.0 - t3new_aaaaaa += einsum(x470, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 2.0 - t3new_aaaaaa += einsum(x470, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -2.0 - t3new_aaaaaa += einsum(x470, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -2.0 - t3new_aaaaaa += einsum(x470, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * 2.0 - t3new_aaaaaa += einsum(x470, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) * 2.0 - t3new_aaaaaa += einsum(x470, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -2.0 - t3new_aaaaaa += einsum(x470, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -2.0 - t3new_aaaaaa += einsum(x470, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * 2.0 - t3new_aaaaaa += einsum(x470, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) * 2.0 - t3new_aaaaaa += einsum(x470, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -2.0 - del x470 - x471 = np.zeros((naocc[0], naocc[0], navir[0], navir[0], nocc[0], nvir[0]), dtype=types[float]) - x471 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), t2.aaaa[np.ix_(sOa,sOa,sva,sVa)], (2, 3, 4, 5), v.aaaa.ovov, (6, 7, 0, 4), (2, 3, 1, 5, 6, 7)) * -1.0 - x472 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], nocc[0]), dtype=types[float]) - x472 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), x471, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) - del x471 - x473 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) - x473 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x472, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) - del x472 - t3new_aaaaaa += einsum(x473, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * 2.0 - t3new_aaaaaa += einsum(x473, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -2.0 - t3new_aaaaaa += einsum(x473, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 - t3new_aaaaaa += einsum(x473, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 - t3new_aaaaaa += einsum(x473, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 2.0 - t3new_aaaaaa += einsum(x473, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -2.0 - t3new_aaaaaa += einsum(x473, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * 2.0 - t3new_aaaaaa += einsum(x473, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -2.0 - t3new_aaaaaa += einsum(x473, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * -2.0 - t3new_aaaaaa += einsum(x473, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * 2.0 - t3new_aaaaaa += einsum(x473, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 - t3new_aaaaaa += einsum(x473, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -2.0 - t3new_aaaaaa += einsum(x473, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) * -2.0 - t3new_aaaaaa += einsum(x473, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * 2.0 - t3new_aaaaaa += einsum(x473, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * 2.0 - t3new_aaaaaa += einsum(x473, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -2.0 - t3new_aaaaaa += einsum(x473, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -2.0 - t3new_aaaaaa += einsum(x473, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * 2.0 - del x473 - x474 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x474 += einsum(f.bb.OO, (0, 1), t3.babbab, (2, 3, 1, 4, 5, 6), (3, 0, 2, 5, 4, 6)) - t3new_babbab += einsum(x474, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 - t3new_babbab += einsum(x474, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * 2.0 - del x474 - x475 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x475 += einsum(f.bb.VV, (0, 1), t3.babbab, (2, 3, 4, 5, 6, 1), (3, 2, 4, 6, 0, 5)) - t3new_babbab += einsum(x475, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -2.0 - t3new_babbab += einsum(x475, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 - del x475 - x476 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x476 += einsum(t2.abab[np.ix_(sOa,sob,sVa,sVb)], (0, 1, 2, 3), v.bbbb.oOOV, (1, 4, 5, 6), (0, 5, 4, 2, 3, 6)) - t3new_babbab += einsum(x476, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -1.0 - t3new_babbab += einsum(x476, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) - t3new_babbab += einsum(x476, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) - t3new_babbab += einsum(x476, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 - del x476 - x477 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x477 += einsum(t2.abab[np.ix_(soa,sOb,sVa,sVb)], (0, 1, 2, 3), v.aabb.oOOV, (0, 4, 5, 6), (4, 1, 5, 2, 3, 6)) * -1.0 - t3new_babbab += einsum(x477, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) - t3new_babbab += einsum(x477, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 - t3new_babbab += einsum(x477, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -1.0 - t3new_babbab += einsum(x477, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) - del x477 - x478 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x478 += einsum(t2.abab[np.ix_(sOa,sOb,sVa,svb)], (0, 1, 2, 3), v.bbbb.vVOV, (3, 4, 5, 6), (0, 1, 5, 2, 6, 4)) - t3new_babbab += einsum(x478, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) - t3new_babbab += einsum(x478, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 - t3new_babbab += einsum(x478, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 - t3new_babbab += einsum(x478, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) - del x478 - x479 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x479 += einsum(t2.abab[np.ix_(sOa,sOb,sva,sVb)], (0, 1, 2, 3), v.aabb.vVOV, (2, 4, 5, 6), (0, 1, 5, 4, 3, 6)) * -1.0 - t3new_babbab += einsum(x479, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 - t3new_babbab += einsum(x479, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) - t3new_babbab += einsum(x479, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) - t3new_babbab += einsum(x479, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 - del x479 - x480 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x480 += einsum(t2.bbbb[np.ix_(sob,sOb,sVb,sVb)], (0, 1, 2, 3), v.aabb.OVoO, (4, 5, 0, 6), (4, 1, 6, 5, 2, 3)) * -1.0 - t3new_babbab += einsum(x480, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 - t3new_babbab += einsum(x480, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -2.0 - del x480 - x481 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x481 += einsum(t2.bbbb[np.ix_(sOb,sOb,svb,sVb)], (0, 1, 2, 3), v.aabb.OVvV, (4, 5, 2, 6), (4, 0, 1, 5, 3, 6)) * -1.0 - t3new_babbab += einsum(x481, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 - t3new_babbab += einsum(x481, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 - del x481 - x482 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x482 += einsum(v.aabb.OVOV, (0, 1, 2, 3), t3.abaaba, (4, 5, 0, 6, 7, 1), (4, 5, 2, 6, 7, 3)) - t3new_babbab += einsum(x482, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * 2.0 - t3new_babbab += einsum(x482, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -2.0 - t3new_babbab += einsum(x482, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 - t3new_babbab += einsum(x482, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 - del x482 - x483 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x483 += einsum(v.aabb.OOOO, (0, 1, 2, 3), t3.babbab, (4, 1, 3, 5, 6, 7), (0, 4, 2, 6, 5, 7)) - t3new_babbab += einsum(x483, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * 2.0 - t3new_babbab += einsum(x483, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 - del x483 - x484 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x484 += einsum(v.bbbb.OOVV, (0, 1, 2, 3), t3.babbab, (4, 5, 1, 6, 7, 3), (5, 4, 0, 7, 6, 2)) - t3new_babbab += einsum(x484, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -2.0 - t3new_babbab += einsum(x484, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * 2.0 - t3new_babbab += einsum(x484, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 - t3new_babbab += einsum(x484, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -2.0 - del x484 - x485 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x485 += einsum(v.aabb.OOVV, (0, 1, 2, 3), t3.babbab, (4, 1, 5, 6, 7, 3), (0, 4, 5, 7, 6, 2)) - t3new_babbab += einsum(x485, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 - t3new_babbab += einsum(x485, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -2.0 - del x485 - x486 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x486 += einsum(v.bbbb.OVOV, (0, 1, 2, 3), t3.babbab, (4, 5, 2, 6, 7, 3), (5, 4, 0, 7, 6, 1)) - t3new_babbab += einsum(x486, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * 2.0 - t3new_babbab += einsum(x486, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -2.0 - t3new_babbab += einsum(x486, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 - t3new_babbab += einsum(x486, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 - del x486 - x487 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x487 += einsum(v.aabb.VVOO, (0, 1, 2, 3), t3.babbab, (4, 5, 3, 6, 1, 7), (5, 4, 2, 0, 6, 7)) - t3new_babbab += einsum(x487, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -2.0 - t3new_babbab += einsum(x487, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 - del x487 - x488 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x488 += einsum(v.aabb.VVVV, (0, 1, 2, 3), t3.babbab, (4, 5, 6, 7, 1, 3), (5, 4, 6, 0, 7, 2)) - t3new_babbab += einsum(x488, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 - t3new_babbab += einsum(x488, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 - del x488 - x489 = np.zeros((naocc[1], naocc[1]), dtype=types[float]) - x489 += einsum(f.bb.vO, (0, 1), t1.bb[np.ix_(sOb,svb)], (2, 0), (1, 2)) - t3new_abaaba += einsum(x489, (0, 1), t3.abaaba, (2, 0, 3, 4, 5, 6), (2, 1, 3, 4, 5, 6)) * -2.0 - x490 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x490 += einsum(x489, (0, 1), t3.babbab, (2, 3, 0, 4, 5, 6), (3, 1, 2, 5, 4, 6)) - t3new_babbab += einsum(x490, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 - t3new_babbab += einsum(x490, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * 2.0 - del x490 - x491 = np.zeros((navir[1], navir[1]), dtype=types[float]) - x491 += einsum(f.bb.oV, (0, 1), t1.bb[np.ix_(sob,sVb)], (0, 2), (1, 2)) - t3new_abaaba += einsum(x491, (0, 1), t3.abaaba, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) * -2.0 - x492 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x492 += einsum(x491, (0, 1), t3.babbab, (2, 3, 4, 5, 6, 0), (3, 2, 4, 6, 1, 5)) - t3new_babbab += einsum(x492, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 - t3new_babbab += einsum(x492, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 - del x492 - x493 = np.zeros((naocc[0], naocc[1], navir[1], nocc[0]), dtype=types[float]) - x493 += einsum(f.aa.ov, (0, 1), t2.abab[np.ix_(sOa,sOb,sva,sVb)], (2, 3, 1, 4), (2, 3, 4, 0)) * -1.0 - x494 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x494 += einsum(t2.abab[np.ix_(soa,sOb,sVa,sVb)], (0, 1, 2, 3), x493, (4, 5, 6, 0), (4, 5, 1, 2, 6, 3)) * -1.0 - t3new_babbab += einsum(x494, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 - t3new_babbab += einsum(x494, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) - t3new_babbab += einsum(x494, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) - t3new_babbab += einsum(x494, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 - del x494 - x495 = np.zeros((naocc[0], naocc[1], navir[0], nocc[1]), dtype=types[float]) - x495 += einsum(f.bb.ov, (0, 1), t2.abab[np.ix_(sOa,sOb,sVa,svb)], (2, 3, 4, 1), (2, 3, 4, 0)) - x496 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x496 += einsum(t2.bbbb[np.ix_(sob,sOb,sVb,sVb)], (0, 1, 2, 3), x495, (4, 5, 6, 0), (4, 5, 1, 6, 2, 3)) * -1.0 - t3new_babbab += einsum(x496, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * 2.0 - t3new_babbab += einsum(x496, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 - del x496 - x497 = np.zeros((naocc[1], naocc[1], navir[1], nocc[1]), dtype=types[float]) - x497 += einsum(f.bb.ov, (0, 1), t2.bbbb[np.ix_(sOb,sOb,svb,sVb)], (2, 3, 1, 4), (2, 3, 4, 0)) * -1.0 - x498 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x498 += einsum(t2.abab[np.ix_(sOa,sob,sVa,sVb)], (0, 1, 2, 3), x497, (4, 5, 6, 1), (0, 5, 4, 2, 6, 3)) * -1.0 - t3new_babbab += einsum(x498, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -2.0 - t3new_babbab += einsum(x498, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 - del x498 - x499 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x499 += einsum(t2.abab[np.ix_(soa,sOb,sVa,sVb)], (0, 1, 2, 3), x409, (4, 5, 6, 0), (4, 1, 5, 2, 3, 6)) * -1.0 - t3new_babbab += einsum(x499, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) - t3new_babbab += einsum(x499, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 - t3new_babbab += einsum(x499, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -1.0 - t3new_babbab += einsum(x499, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) - del x499 - x500 = np.zeros((naocc[0], naocc[1], naocc[1], navir[1], navir[1], nocc[0]), dtype=types[float]) - x500 += einsum(t2.abab[np.ix_(sOa,sOb,sva,sVb)], (0, 1, 2, 3), v.aabb.ovOV, (4, 2, 5, 6), (0, 1, 5, 3, 6, 4)) * -1.0 - x501 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x501 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x500, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) - del x500 - t3new_babbab += einsum(x501, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) - t3new_babbab += einsum(x501, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 - t3new_babbab += einsum(x501, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -1.0 - t3new_babbab += einsum(x501, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) - del x501 - x502 = np.zeros((naocc[0], naocc[1], naocc[1], navir[1], navir[1], nocc[0]), dtype=types[float]) - x502 += einsum(t2.bbbb[np.ix_(sob,sOb,sVb,sVb)], (0, 1, 2, 3), v.aabb.oOoO, (4, 5, 0, 6), (5, 1, 6, 2, 3, 4)) * -1.0 - x503 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x503 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x502, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) - del x502 - t3new_babbab += einsum(x503, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 - t3new_babbab += einsum(x503, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * 2.0 - del x503 - x504 = np.zeros((naocc[0], naocc[1], naocc[1], navir[1], navir[1], nocc[0]), dtype=types[float]) - x504 += einsum(t2.bbbb[np.ix_(sOb,sOb,svb,sVb)], (0, 1, 2, 3), v.aabb.oOvV, (4, 5, 2, 6), (5, 0, 1, 3, 6, 4)) * -1.0 - x505 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x505 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x504, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) - del x504 - t3new_babbab += einsum(x505, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -2.0 - t3new_babbab += einsum(x505, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 - del x505 - x506 = np.zeros((naocc[0], naocc[1], navir[0], nocc[1]), dtype=types[float]) - x506 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), v.aabb.vVoO, (1, 2, 3, 4), (0, 4, 2, 3)) - x507 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x507 += einsum(t2.bbbb[np.ix_(sob,sOb,sVb,sVb)], (0, 1, 2, 3), x506, (4, 5, 6, 0), (4, 1, 5, 6, 2, 3)) * -1.0 - t3new_babbab += einsum(x507, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 - t3new_babbab += einsum(x507, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -2.0 - del x507 - x508 = np.zeros((naocc[1], naocc[1], navir[0], navir[1], navir[1], nvir[0]), dtype=types[float]) - x508 += einsum(t2.bbbb[np.ix_(sOb,sOb,svb,sVb)], (0, 1, 2, 3), v.aabb.vVvV, (4, 5, 2, 6), (0, 1, 5, 3, 6, 4)) * -1.0 - x509 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x509 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), x508, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) - del x508 - t3new_babbab += einsum(x509, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 - t3new_babbab += einsum(x509, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 - del x509 - x510 = np.zeros((naocc[1], naocc[1], navir[1], nocc[1]), dtype=types[float]) - x510 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), v.bbbb.oOvV, (2, 3, 1, 4), (0, 3, 4, 2)) - x511 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x511 += einsum(t2.abab[np.ix_(sOa,sob,sVa,sVb)], (0, 1, 2, 3), x510, (4, 5, 6, 1), (0, 4, 5, 2, 3, 6)) - t3new_babbab += einsum(x511, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 - t3new_babbab += einsum(x511, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) - t3new_babbab += einsum(x511, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) - t3new_babbab += einsum(x511, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -1.0 - del x511 - x512 = np.zeros((naocc[0], naocc[1], navir[1], nocc[0]), dtype=types[float]) - x512 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), v.aabb.oOvV, (2, 3, 1, 4), (3, 0, 4, 2)) - x513 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x513 += einsum(t2.abab[np.ix_(soa,sOb,sVa,sVb)], (0, 1, 2, 3), x512, (4, 5, 6, 0), (4, 5, 1, 2, 3, 6)) * -1.0 - t3new_babbab += einsum(x513, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) - t3new_babbab += einsum(x513, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 - t3new_babbab += einsum(x513, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 - t3new_babbab += einsum(x513, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) - del x513 - x514 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], nocc[1]), dtype=types[float]) - x514 += einsum(t2.abab[np.ix_(sOa,sob,sVa,sVb)], (0, 1, 2, 3), v.bbbb.oOoO, (4, 5, 1, 6), (0, 5, 6, 2, 3, 4)) - x515 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x515 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), x514, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 1, 6)) - del x514 - t3new_babbab += einsum(x515, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) - t3new_babbab += einsum(x515, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -1.0 - t3new_babbab += einsum(x515, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 - t3new_babbab += einsum(x515, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) - del x515 - x516 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], nocc[1]), dtype=types[float]) - x516 += einsum(t2.abab[np.ix_(soa,sOb,sVa,sVb)], (0, 1, 2, 3), v.aabb.oOoO, (0, 4, 5, 6), (4, 1, 6, 2, 3, 5)) * -1.0 - x517 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x517 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), x516, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 1, 6)) - del x516 - t3new_babbab += einsum(x517, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) - t3new_babbab += einsum(x517, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -1.0 - t3new_babbab += einsum(x517, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 - t3new_babbab += einsum(x517, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) - del x517 - x518 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], nocc[1]), dtype=types[float]) - x518 += einsum(t2.abab[np.ix_(sOa,sOb,sVa,svb)], (0, 1, 2, 3), v.bbbb.oOvV, (4, 5, 3, 6), (0, 1, 5, 2, 6, 4)) - x519 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x519 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), x518, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 1, 6)) - del x518 - t3new_babbab += einsum(x519, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -1.0 - t3new_babbab += einsum(x519, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) - t3new_babbab += einsum(x519, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) - t3new_babbab += einsum(x519, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 - del x519 - x520 = np.zeros((naocc[1], naocc[1], navir[1], nocc[1]), dtype=types[float]) - x520 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), v.bbbb.ovOV, (2, 1, 3, 4), (0, 3, 4, 2)) - x521 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x521 += einsum(t2.abab[np.ix_(sOa,sob,sVa,sVb)], (0, 1, 2, 3), x520, (4, 5, 6, 1), (0, 4, 5, 2, 3, 6)) - t3new_babbab += einsum(x521, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) - t3new_babbab += einsum(x521, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 - t3new_babbab += einsum(x521, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 - t3new_babbab += einsum(x521, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) - del x521 - x522 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], nocc[1]), dtype=types[float]) - x522 += einsum(t2.abab[np.ix_(sOa,sOb,sVa,svb)], (0, 1, 2, 3), v.bbbb.ovOV, (4, 3, 5, 6), (0, 1, 5, 2, 6, 4)) - x523 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x523 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), x522, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 1, 6)) - del x522 - t3new_babbab += einsum(x523, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) - t3new_babbab += einsum(x523, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 - t3new_babbab += einsum(x523, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 - t3new_babbab += einsum(x523, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) - del x523 - x524 = np.zeros((naocc[0], naocc[1], navir[0], navir[1], navir[1], nvir[1]), dtype=types[float]) - x524 += einsum(t2.abab[np.ix_(sOa,sOb,sVa,svb)], (0, 1, 2, 3), v.bbbb.vVvV, (4, 5, 3, 6), (0, 1, 2, 5, 6, 4)) - x525 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x525 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), x524, (2, 3, 4, 5, 6, 1), (2, 0, 3, 4, 5, 6)) - del x524 - t3new_babbab += einsum(x525, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) - t3new_babbab += einsum(x525, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 - t3new_babbab += einsum(x525, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -1.0 - t3new_babbab += einsum(x525, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) - del x525 - x526 = np.zeros((naocc[0], naocc[1], navir[0], navir[1], navir[1], nvir[1]), dtype=types[float]) - x526 += einsum(t2.abab[np.ix_(sOa,sOb,sva,sVb)], (0, 1, 2, 3), v.aabb.vVvV, (2, 4, 5, 6), (0, 1, 4, 3, 6, 5)) * -1.0 - x527 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x527 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), x526, (2, 3, 4, 5, 6, 1), (2, 0, 3, 4, 5, 6)) - del x526 - t3new_babbab += einsum(x527, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 - t3new_babbab += einsum(x527, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) - t3new_babbab += einsum(x527, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) - t3new_babbab += einsum(x527, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -1.0 - del x527 - x528 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], nocc[1]), dtype=types[float]) - x528 += einsum(t2.abab[np.ix_(sOa,sOb,sva,sVb)], (0, 1, 2, 3), v.aabb.vVoO, (2, 4, 5, 6), (0, 1, 6, 4, 3, 5)) * -1.0 - x529 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x529 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), x528, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 1, 6)) - del x528 - t3new_babbab += einsum(x529, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 - t3new_babbab += einsum(x529, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) - t3new_babbab += einsum(x529, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) - t3new_babbab += einsum(x529, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 - del x529 - x530 = np.zeros((naocc[0], naocc[1], navir[0], nocc[1]), dtype=types[float]) - x530 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), v.aabb.OVov, (2, 3, 4, 1), (2, 0, 3, 4)) - x531 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x531 += einsum(t2.bbbb[np.ix_(sob,sOb,sVb,sVb)], (0, 1, 2, 3), x530, (4, 5, 6, 0), (4, 5, 1, 6, 2, 3)) * -1.0 - t3new_babbab += einsum(x531, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 - t3new_babbab += einsum(x531, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * 2.0 - del x531 - x532 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], nocc[1]), dtype=types[float]) - x532 += einsum(t2.bbbb[np.ix_(sOb,sOb,svb,sVb)], (0, 1, 2, 3), v.aabb.OVov, (4, 5, 6, 2), (4, 0, 1, 5, 3, 6)) * -1.0 - x533 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x533 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), x532, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 1, 6)) - del x532 - t3new_babbab += einsum(x533, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 - t3new_babbab += einsum(x533, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 - del x533 - x534 = np.zeros((naocc[0], naocc[0], naocc[1], naocc[1]), dtype=types[float]) - x534 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), v.aabb.vOOO, (1, 2, 3, 4), (0, 2, 3, 4)) - x535 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x535 += einsum(x534, (0, 1, 2, 3), t3.babbab, (4, 1, 3, 5, 6, 7), (0, 4, 2, 6, 5, 7)) - t3new_babbab += einsum(x535, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * 2.0 - t3new_babbab += einsum(x535, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 - del x535 - x536 = np.zeros((naocc[0], naocc[0], navir[1], navir[1]), dtype=types[float]) - x536 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), v.aabb.vOVV, (1, 2, 3, 4), (0, 2, 3, 4)) - x537 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x537 += einsum(x536, (0, 1, 2, 3), t3.babbab, (4, 1, 5, 6, 7, 3), (0, 4, 5, 7, 6, 2)) - t3new_babbab += einsum(x537, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 - t3new_babbab += einsum(x537, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -2.0 - del x537 - x538 = np.zeros((naocc[1], naocc[1], navir[0], navir[0]), dtype=types[float]) - x538 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), v.aabb.oVOO, (0, 2, 3, 4), (3, 4, 1, 2)) - x539 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x539 += einsum(x538, (0, 1, 2, 3), t3.babbab, (4, 5, 1, 6, 3, 7), (5, 4, 0, 2, 6, 7)) - t3new_babbab += einsum(x539, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * 2.0 - t3new_babbab += einsum(x539, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 - del x539 - x540 = np.zeros((naocc[1], naocc[1]), dtype=types[float]) - x540 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aabb.ovOO, (0, 1, 2, 3), (2, 3)) - t3new_abaaba += einsum(x540, (0, 1), t3.abaaba, (2, 1, 3, 4, 5, 6), (2, 0, 3, 4, 5, 6)) * -2.0 - x541 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x541 += einsum(x540, (0, 1), t3.babbab, (2, 3, 1, 4, 5, 6), (3, 2, 0, 5, 4, 6)) - t3new_babbab += einsum(x541, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -2.0 - t3new_babbab += einsum(x541, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 - del x541 - x542 = np.zeros((navir[0], navir[0], navir[1], navir[1]), dtype=types[float]) - x542 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), v.aabb.oVVV, (0, 2, 3, 4), (1, 2, 3, 4)) - x543 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x543 += einsum(x542, (0, 1, 2, 3), t3.babbab, (4, 5, 6, 7, 1, 3), (5, 4, 6, 0, 7, 2)) - t3new_babbab += einsum(x543, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 - t3new_babbab += einsum(x543, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -2.0 - del x543 - x544 = np.zeros((navir[1], navir[1]), dtype=types[float]) - x544 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aabb.ovVV, (0, 1, 2, 3), (2, 3)) - t3new_abaaba += einsum(x544, (0, 1), t3.abaaba, (2, 3, 4, 5, 1, 6), (2, 3, 4, 5, 0, 6)) * 2.0 - x545 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x545 += einsum(x544, (0, 1), t3.babbab, (2, 3, 4, 5, 6, 1), (3, 2, 4, 6, 5, 0)) - t3new_babbab += einsum(x545, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 - t3new_babbab += einsum(x545, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 - del x545 - x546 = np.zeros((naocc[0], naocc[1], navir[0], navir[1]), dtype=types[float]) - x546 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), v.aabb.OVvV, (2, 3, 1, 4), (2, 0, 3, 4)) - t3new_abaaba += einsum(x546, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 0, 6, 7, 2), (4, 1, 5, 6, 3, 7)) * 6.0 - x547 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x547 += einsum(x546, (0, 1, 2, 3), t3.abaaba, (4, 5, 0, 6, 7, 2), (4, 1, 5, 6, 7, 3)) - t3new_babbab += einsum(x547, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 - t3new_babbab += einsum(x547, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -2.0 - t3new_babbab += einsum(x547, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -2.0 - t3new_babbab += einsum(x547, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * 2.0 - del x547 - x548 = np.zeros((naocc[0], naocc[1], navir[0], navir[1]), dtype=types[float]) - x548 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), v.aabb.OVoO, (2, 3, 0, 4), (2, 4, 3, 1)) - t3new_abaaba += einsum(x548, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 0, 6, 7, 2), (4, 1, 5, 6, 3, 7)) * -6.0 - x549 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x549 += einsum(x548, (0, 1, 2, 3), t3.abaaba, (4, 5, 0, 6, 7, 2), (4, 5, 1, 6, 3, 7)) - t3new_babbab += einsum(x549, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -2.0 - t3new_babbab += einsum(x549, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 - t3new_babbab += einsum(x549, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * 2.0 - t3new_babbab += einsum(x549, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 - del x549 - x550 = np.zeros((naocc[0], naocc[0], naocc[1], naocc[1]), dtype=types[float]) - x550 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), v.aabb.OOvO, (2, 3, 1, 4), (2, 3, 0, 4)) - x551 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x551 += einsum(x550, (0, 1, 2, 3), t3.babbab, (4, 1, 3, 5, 6, 7), (0, 2, 4, 6, 5, 7)) - t3new_babbab += einsum(x551, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 - t3new_babbab += einsum(x551, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -2.0 - del x551 - x552 = np.zeros((naocc[1], naocc[1], naocc[1], naocc[1]), dtype=types[float]) - x552 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), v.bbbb.vOOO, (1, 2, 3, 4), (0, 3, 4, 2)) - x553 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x553 += einsum(x552, (0, 1, 2, 3), t3.babbab, (3, 4, 2, 5, 6, 7), (4, 0, 1, 6, 5, 7)) * -1.0 - t3new_babbab += einsum(x553, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 - t3new_babbab += einsum(x553, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -2.0 - del x553 - x554 = np.zeros((naocc[1], naocc[1], navir[1], navir[1]), dtype=types[float]) - x554 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), v.bbbb.oOOV, (0, 2, 3, 4), (3, 2, 1, 4)) - t3new_abaaba += einsum(x554, (0, 1, 2, 3), t3.abaaba, (4, 0, 5, 6, 3, 7), (4, 1, 5, 6, 2, 7)) * -2.0 - x555 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x555 += einsum(x554, (0, 1, 2, 3), t3.babbab, (4, 5, 0, 6, 7, 3), (5, 4, 1, 7, 2, 6)) - t3new_babbab += einsum(x555, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -2.0 - t3new_babbab += einsum(x555, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 - t3new_babbab += einsum(x555, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * 2.0 - t3new_babbab += einsum(x555, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 - del x555 - x556 = np.zeros((naocc[1], naocc[1], navir[1], navir[1]), dtype=types[float]) - x556 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), v.bbbb.oVOO, (0, 2, 3, 4), (3, 4, 1, 2)) - t3new_abaaba += einsum(x556, (0, 1, 2, 3), t3.abaaba, (4, 1, 5, 6, 3, 7), (4, 0, 5, 6, 2, 7)) * 2.0 - x557 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x557 += einsum(x556, (0, 1, 2, 3), t3.babbab, (4, 5, 1, 6, 7, 3), (5, 4, 0, 7, 2, 6)) - t3new_babbab += einsum(x557, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * 2.0 - t3new_babbab += einsum(x557, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -2.0 - t3new_babbab += einsum(x557, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -2.0 - t3new_babbab += einsum(x557, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 - del x557 - x558 = np.zeros((naocc[0], naocc[0], navir[1], navir[1]), dtype=types[float]) - x558 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), v.aabb.OOoV, (2, 3, 0, 4), (2, 3, 1, 4)) - x559 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x559 += einsum(x558, (0, 1, 2, 3), t3.babbab, (4, 1, 5, 6, 7, 3), (0, 4, 5, 7, 2, 6)) - t3new_babbab += einsum(x559, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -2.0 - t3new_babbab += einsum(x559, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 - del x559 - x560 = np.zeros((naocc[1], naocc[1]), dtype=types[float]) - x560 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.bbbb.oOvO, (0, 2, 1, 3), (2, 3)) - t3new_abaaba += einsum(x560, (0, 1), t3.abaaba, (2, 1, 3, 4, 5, 6), (2, 0, 3, 4, 5, 6)) * 2.0 - x561 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x561 += einsum(x560, (0, 1), t3.babbab, (2, 3, 1, 4, 5, 6), (3, 2, 0, 5, 4, 6)) - t3new_babbab += einsum(x561, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * 2.0 - t3new_babbab += einsum(x561, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 - del x561 - x562 = np.zeros((naocc[1], naocc[1]), dtype=types[float]) - x562 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.bbbb.ovOO, (0, 1, 2, 3), (2, 3)) - t3new_abaaba += einsum(x562, (0, 1), t3.abaaba, (2, 1, 3, 4, 5, 6), (2, 0, 3, 4, 5, 6)) * -2.0 - x563 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x563 += einsum(x562, (0, 1), t3.babbab, (2, 3, 1, 4, 5, 6), (3, 2, 0, 5, 4, 6)) - t3new_babbab += einsum(x563, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -2.0 - t3new_babbab += einsum(x563, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 - del x563 - x564 = np.zeros((naocc[1], naocc[1], navir[1], navir[1]), dtype=types[float]) - x564 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), v.bbbb.vOVV, (1, 2, 3, 4), (0, 2, 3, 4)) - t3new_abaaba += einsum(x564, (0, 1, 2, 3), t3.abaaba, (4, 1, 5, 6, 3, 7), (4, 0, 5, 6, 2, 7)) * -2.0 - x565 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x565 += einsum(x564, (0, 1, 2, 3), t3.babbab, (4, 5, 1, 6, 7, 3), (5, 0, 4, 7, 6, 2)) - t3new_babbab += einsum(x565, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 - t3new_babbab += einsum(x565, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 - t3new_babbab += einsum(x565, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * 2.0 - t3new_babbab += einsum(x565, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -2.0 - del x565 - x566 = np.zeros((naocc[1], naocc[1], navir[1], navir[1]), dtype=types[float]) - x566 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), v.bbbb.vVOV, (1, 2, 3, 4), (0, 3, 4, 2)) - t3new_abaaba += einsum(x566, (0, 1, 2, 3), t3.abaaba, (4, 1, 5, 6, 2, 7), (4, 0, 5, 6, 3, 7)) * 2.0 - x567 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x567 += einsum(x566, (0, 1, 2, 3), t3.babbab, (4, 5, 1, 6, 7, 2), (5, 0, 4, 7, 6, 3)) - t3new_babbab += einsum(x567, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 - t3new_babbab += einsum(x567, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -2.0 - t3new_babbab += einsum(x567, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -2.0 - t3new_babbab += einsum(x567, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * 2.0 - del x567 - x568 = np.zeros((navir[1], navir[1], navir[1], navir[1]), dtype=types[float]) - x568 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), v.bbbb.oVVV, (0, 2, 3, 4), (1, 3, 4, 2)) - x569 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x569 += einsum(x568, (0, 1, 2, 3), t3.babbab, (4, 5, 6, 3, 7, 2), (5, 4, 6, 7, 0, 1)) * -1.0 - t3new_babbab += einsum(x569, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 - t3new_babbab += einsum(x569, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 - del x569 - x570 = np.zeros((navir[1], navir[1]), dtype=types[float]) - x570 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.bbbb.ovVV, (0, 1, 2, 3), (2, 3)) - t3new_abaaba += einsum(x570, (0, 1), t3.abaaba, (2, 3, 4, 5, 1, 6), (2, 3, 4, 5, 0, 6)) * 2.0 - x571 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x571 += einsum(x570, (0, 1), t3.babbab, (2, 3, 4, 5, 6, 1), (3, 2, 4, 6, 5, 0)) - t3new_babbab += einsum(x571, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 - t3new_babbab += einsum(x571, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 - del x571 - x572 = np.zeros((navir[1], navir[1]), dtype=types[float]) - x572 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.bbbb.oVvV, (0, 2, 1, 3), (2, 3)) - t3new_abaaba += einsum(x572, (0, 1), t3.abaaba, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) * -2.0 - x573 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x573 += einsum(x572, (0, 1), t3.babbab, (2, 3, 4, 5, 6, 0), (3, 2, 4, 6, 5, 1)) - t3new_babbab += einsum(x573, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 - t3new_babbab += einsum(x573, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -2.0 - del x573 - x574 = np.zeros((naocc[1], naocc[1], navir[0], navir[0]), dtype=types[float]) - x574 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), v.aabb.VVvO, (2, 3, 1, 4), (0, 4, 2, 3)) - x575 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x575 += einsum(x574, (0, 1, 2, 3), t3.babbab, (4, 5, 1, 6, 3, 7), (5, 0, 4, 2, 6, 7)) - t3new_babbab += einsum(x575, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 - t3new_babbab += einsum(x575, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * 2.0 - del x575 - x576 = np.zeros((navir[0], navir[0], navir[1], navir[1]), dtype=types[float]) - x576 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), v.aabb.VVoV, (2, 3, 0, 4), (2, 3, 1, 4)) - x577 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x577 += einsum(x576, (0, 1, 2, 3), t3.babbab, (4, 5, 6, 7, 1, 3), (5, 4, 6, 0, 2, 7)) - t3new_babbab += einsum(x577, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 - t3new_babbab += einsum(x577, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 - del x577 - x578 = np.zeros((naocc[0], naocc[1], navir[1], nocc[0]), dtype=types[float]) - x578 += einsum(t2.abab[np.ix_(soa,sOb,sva,sVb)], (0, 1, 2, 3), v.aaaa.ovoO, (4, 2, 0, 5), (5, 1, 3, 4)) - x579 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x579 += einsum(t2.abab[np.ix_(soa,sOb,sVa,sVb)], (0, 1, 2, 3), x578, (4, 5, 6, 0), (4, 1, 5, 2, 3, 6)) * -1.0 - t3new_babbab += einsum(x579, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 - t3new_babbab += einsum(x579, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) - t3new_babbab += einsum(x579, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) - t3new_babbab += einsum(x579, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 - del x579 - x580 = np.zeros((naocc[0], naocc[1], navir[1], nocc[0]), dtype=types[float]) - x580 += einsum(t2.abab[np.ix_(soa,sOb,sva,sVb)], (0, 1, 2, 3), v.aaaa.ovoO, (0, 2, 4, 5), (5, 1, 3, 4)) - x581 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x581 += einsum(t2.abab[np.ix_(soa,sOb,sVa,sVb)], (0, 1, 2, 3), x580, (4, 5, 6, 0), (4, 1, 5, 2, 3, 6)) * -1.0 - t3new_babbab += einsum(x581, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) - t3new_babbab += einsum(x581, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -1.0 - t3new_babbab += einsum(x581, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 - t3new_babbab += einsum(x581, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) - del x581 - x582 = np.zeros((naocc[1], navir[0], navir[1], nvir[0]), dtype=types[float]) - x582 += einsum(t2.abab[np.ix_(soa,sob,sVa,sVb)], (0, 1, 2, 3), v.aabb.ovoO, (0, 4, 1, 5), (5, 2, 3, 4)) - x583 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x583 += einsum(t2.abab[np.ix_(sOa,sOb,sva,sVb)], (0, 1, 2, 3), x582, (4, 5, 6, 2), (0, 1, 4, 5, 3, 6)) * -1.0 - t3new_babbab += einsum(x583, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 - t3new_babbab += einsum(x583, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) - t3new_babbab += einsum(x583, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) - t3new_babbab += einsum(x583, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 - del x583 - x584 = np.zeros((naocc[1], naocc[1], navir[1], nocc[1]), dtype=types[float]) - x584 += einsum(t2.abab[np.ix_(soa,sOb,sva,sVb)], (0, 1, 2, 3), v.aabb.ovoO, (0, 2, 4, 5), (1, 5, 3, 4)) - x585 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x585 += einsum(t2.abab[np.ix_(sOa,sob,sVa,sVb)], (0, 1, 2, 3), x584, (4, 5, 6, 1), (0, 4, 5, 2, 3, 6)) - t3new_babbab += einsum(x585, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) - t3new_babbab += einsum(x585, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 - t3new_babbab += einsum(x585, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -1.0 - t3new_babbab += einsum(x585, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) - del x585 - x586 = np.zeros((naocc[0], naocc[1], navir[1], nocc[0]), dtype=types[float]) - x586 += einsum(t2.abab[np.ix_(sOa,sob,sva,sVb)], (0, 1, 2, 3), v.aabb.ovoO, (4, 2, 1, 5), (0, 5, 3, 4)) * -1.0 - x587 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x587 += einsum(t2.abab[np.ix_(soa,sOb,sVa,sVb)], (0, 1, 2, 3), x586, (4, 5, 6, 0), (4, 1, 5, 2, 6, 3)) * -1.0 - t3new_babbab += einsum(x587, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 - t3new_babbab += einsum(x587, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) - t3new_babbab += einsum(x587, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) - t3new_babbab += einsum(x587, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 - del x587 - x588 = np.zeros((naocc[1], navir[0], navir[1], nvir[0]), dtype=types[float]) - x588 += einsum(t2.abab[np.ix_(soa,sOb,sVa,svb)], (0, 1, 2, 3), v.aabb.ovvV, (0, 4, 3, 5), (1, 2, 5, 4)) * -1.0 - x589 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x589 += einsum(t2.abab[np.ix_(sOa,sOb,sva,sVb)], (0, 1, 2, 3), x588, (4, 5, 6, 2), (0, 1, 4, 5, 3, 6)) * -1.0 - t3new_babbab += einsum(x589, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) - t3new_babbab += einsum(x589, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 - t3new_babbab += einsum(x589, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 - t3new_babbab += einsum(x589, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) - del x589 - x590 = np.zeros((naocc[0], naocc[1], navir[1], nocc[0]), dtype=types[float]) - x590 += einsum(t2.abab[np.ix_(sOa,sOb,sva,svb)], (0, 1, 2, 3), v.aabb.ovvV, (4, 2, 3, 5), (0, 1, 5, 4)) - x591 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x591 += einsum(t2.abab[np.ix_(soa,sOb,sVa,sVb)], (0, 1, 2, 3), x590, (4, 5, 6, 0), (4, 5, 1, 2, 3, 6)) * -1.0 - t3new_babbab += einsum(x591, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) - t3new_babbab += einsum(x591, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 - t3new_babbab += einsum(x591, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 - t3new_babbab += einsum(x591, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) - del x591 - x592 = np.zeros((naocc[1], navir[0], navir[1], nvir[0]), dtype=types[float]) - x592 += einsum(t2.abab[np.ix_(soa,sOb,sva,sVb)], (0, 1, 2, 3), v.aaaa.ovvV, (0, 4, 2, 5), (1, 5, 3, 4)) - x593 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x593 += einsum(t2.abab[np.ix_(sOa,sOb,sva,sVb)], (0, 1, 2, 3), x592, (4, 5, 6, 2), (0, 1, 4, 5, 3, 6)) * -1.0 - t3new_babbab += einsum(x593, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) - t3new_babbab += einsum(x593, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 - t3new_babbab += einsum(x593, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -1.0 - t3new_babbab += einsum(x593, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) - del x593 - x594 = np.zeros((naocc[1], navir[1], navir[1], nvir[1]), dtype=types[float]) - x594 += einsum(t2.abab[np.ix_(soa,sOb,sva,sVb)], (0, 1, 2, 3), v.aabb.ovvV, (0, 2, 4, 5), (1, 3, 5, 4)) - x595 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x595 += einsum(t2.abab[np.ix_(sOa,sOb,sVa,svb)], (0, 1, 2, 3), x594, (4, 5, 6, 3), (0, 1, 4, 2, 5, 6)) - t3new_babbab += einsum(x595, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) - t3new_babbab += einsum(x595, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 - t3new_babbab += einsum(x595, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 - t3new_babbab += einsum(x595, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) - del x595 - x596 = np.zeros((naocc[1], navir[0], navir[1], nvir[0]), dtype=types[float]) - x596 += einsum(t2.abab[np.ix_(soa,sOb,sva,sVb)], (0, 1, 2, 3), v.aaaa.ovvV, (0, 2, 4, 5), (1, 5, 3, 4)) - x597 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x597 += einsum(t2.abab[np.ix_(sOa,sOb,sva,sVb)], (0, 1, 2, 3), x596, (4, 5, 6, 2), (0, 1, 4, 5, 3, 6)) * -1.0 - t3new_babbab += einsum(x597, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 - t3new_babbab += einsum(x597, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) - t3new_babbab += einsum(x597, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) - t3new_babbab += einsum(x597, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 - del x597 - x598 = np.zeros((naocc[1], naocc[1], navir[1], nocc[1]), dtype=types[float]) - x598 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,sVb)], (0, 1, 2, 3), v.bbbb.ovoO, (0, 2, 4, 5), (1, 5, 3, 4)) - x599 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x599 += einsum(t2.abab[np.ix_(sOa,sob,sVa,sVb)], (0, 1, 2, 3), x598, (4, 5, 6, 1), (0, 4, 5, 2, 3, 6)) - t3new_babbab += einsum(x599, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 - t3new_babbab += einsum(x599, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 - t3new_babbab += einsum(x599, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * 2.0 - t3new_babbab += einsum(x599, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -2.0 - del x599 - x600 = np.zeros((naocc[0], naocc[1], navir[0], nocc[1]), dtype=types[float]) - x600 += einsum(t2.abab[np.ix_(sOa,sob,sVa,svb)], (0, 1, 2, 3), v.bbbb.ovoO, (4, 3, 1, 5), (0, 5, 2, 4)) - x601 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x601 += einsum(t2.bbbb[np.ix_(sob,sOb,sVb,sVb)], (0, 1, 2, 3), x600, (4, 5, 6, 0), (4, 1, 5, 6, 2, 3)) * -1.0 - t3new_babbab += einsum(x601, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 - t3new_babbab += einsum(x601, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * 2.0 - del x601 - x602 = np.zeros((naocc[1], naocc[1], navir[1], nocc[1]), dtype=types[float]) - x602 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,sVb)], (0, 1, 2, 3), v.bbbb.ovoO, (4, 2, 0, 5), (1, 5, 3, 4)) - x603 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x603 += einsum(t2.abab[np.ix_(sOa,sob,sVa,sVb)], (0, 1, 2, 3), x602, (4, 5, 6, 1), (0, 4, 5, 2, 3, 6)) - t3new_babbab += einsum(x603, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 - t3new_babbab += einsum(x603, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -2.0 - t3new_babbab += einsum(x603, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -2.0 - t3new_babbab += einsum(x603, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * 2.0 - del x603 - x604 = np.zeros((naocc[0], naocc[1], navir[0], nocc[1]), dtype=types[float]) - x604 += einsum(t2.abab[np.ix_(sOa,sob,sVa,svb)], (0, 1, 2, 3), v.bbbb.ovoO, (1, 3, 4, 5), (0, 5, 2, 4)) - x605 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x605 += einsum(t2.bbbb[np.ix_(sob,sOb,sVb,sVb)], (0, 1, 2, 3), x604, (4, 5, 6, 0), (4, 1, 5, 6, 2, 3)) * -1.0 - t3new_babbab += einsum(x605, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 - t3new_babbab += einsum(x605, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -2.0 - del x605 - x606 = np.zeros((naocc[1], navir[1], navir[1], nvir[1]), dtype=types[float]) - x606 += einsum(t2.bbbb[np.ix_(sob,sob,sVb,sVb)], (0, 1, 2, 3), v.bbbb.ovoO, (1, 4, 0, 5), (5, 2, 3, 4)) - x607 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x607 += einsum(t2.abab[np.ix_(sOa,sOb,sVa,svb)], (0, 1, 2, 3), x606, (4, 5, 6, 3), (0, 1, 4, 2, 5, 6)) - t3new_babbab += einsum(x607, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 - t3new_babbab += einsum(x607, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 - t3new_babbab += einsum(x607, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) - t3new_babbab += einsum(x607, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) - del x607 - x608 = np.zeros((naocc[0], naocc[1], navir[1], nocc[0]), dtype=types[float]) - x608 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,sVb)], (0, 1, 2, 3), v.aabb.oOov, (4, 5, 0, 2), (5, 1, 3, 4)) - x609 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x609 += einsum(t2.abab[np.ix_(soa,sOb,sVa,sVb)], (0, 1, 2, 3), x608, (4, 5, 6, 0), (4, 5, 1, 2, 6, 3)) * -1.0 - t3new_babbab += einsum(x609, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 - t3new_babbab += einsum(x609, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 - t3new_babbab += einsum(x609, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -2.0 - t3new_babbab += einsum(x609, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * 2.0 - del x609 - x610 = np.zeros((naocc[0], naocc[1], navir[0], nocc[1]), dtype=types[float]) - x610 += einsum(t2.abab[np.ix_(soa,sOb,sVa,svb)], (0, 1, 2, 3), v.aabb.oOov, (0, 4, 5, 3), (4, 1, 2, 5)) * -1.0 - x611 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x611 += einsum(t2.bbbb[np.ix_(sob,sOb,sVb,sVb)], (0, 1, 2, 3), x610, (4, 5, 6, 0), (4, 1, 5, 6, 2, 3)) * -1.0 - t3new_babbab += einsum(x611, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 - t3new_babbab += einsum(x611, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -2.0 - del x611 - x612 = np.zeros((naocc[0], navir[0], navir[1], nvir[1]), dtype=types[float]) - x612 += einsum(t2.abab[np.ix_(soa,sob,sVa,sVb)], (0, 1, 2, 3), v.aabb.oOov, (0, 4, 1, 5), (4, 2, 3, 5)) - x613 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x613 += einsum(t2.bbbb[np.ix_(sOb,sOb,svb,sVb)], (0, 1, 2, 3), x612, (4, 5, 6, 2), (4, 0, 1, 5, 3, 6)) * -1.0 - t3new_babbab += einsum(x613, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 - t3new_babbab += einsum(x613, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 - del x613 - x614 = np.zeros((naocc[1], navir[1], navir[1], nvir[1]), dtype=types[float]) - x614 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,sVb)], (0, 1, 2, 3), v.bbbb.ovvV, (0, 4, 2, 5), (1, 3, 5, 4)) - x615 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x615 += einsum(t2.abab[np.ix_(sOa,sOb,sVa,svb)], (0, 1, 2, 3), x614, (4, 5, 6, 3), (0, 1, 4, 2, 5, 6)) - t3new_babbab += einsum(x615, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -2.0 - t3new_babbab += einsum(x615, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * 2.0 - t3new_babbab += einsum(x615, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 - t3new_babbab += einsum(x615, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 - del x615 - x616 = np.zeros((naocc[1], navir[1], navir[1], nvir[1]), dtype=types[float]) - x616 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,sVb)], (0, 1, 2, 3), v.bbbb.ovvV, (0, 2, 4, 5), (1, 3, 5, 4)) - x617 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x617 += einsum(t2.abab[np.ix_(sOa,sOb,sVa,svb)], (0, 1, 2, 3), x616, (4, 5, 6, 3), (0, 1, 4, 2, 5, 6)) - t3new_babbab += einsum(x617, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * 2.0 - t3new_babbab += einsum(x617, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -2.0 - t3new_babbab += einsum(x617, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -2.0 - t3new_babbab += einsum(x617, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 - del x617 - x618 = np.zeros((naocc[0], navir[0], navir[1], nvir[1]), dtype=types[float]) - x618 += einsum(t2.abab[np.ix_(sOa,sob,sVa,svb)], (0, 1, 2, 3), v.bbbb.ovvV, (1, 3, 4, 5), (0, 2, 5, 4)) - x619 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x619 += einsum(t2.bbbb[np.ix_(sOb,sOb,svb,sVb)], (0, 1, 2, 3), x618, (4, 5, 6, 2), (4, 0, 1, 5, 3, 6)) * -1.0 - t3new_babbab += einsum(x619, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 - t3new_babbab += einsum(x619, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 - del x619 - x620 = np.zeros((naocc[1], naocc[1], navir[1], nocc[1]), dtype=types[float]) - x620 += einsum(t2.bbbb[np.ix_(sOb,sOb,svb,svb)], (0, 1, 2, 3), v.bbbb.ovvV, (4, 3, 2, 5), (0, 1, 5, 4)) - x621 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x621 += einsum(t2.abab[np.ix_(sOa,sob,sVa,sVb)], (0, 1, 2, 3), x620, (4, 5, 6, 1), (0, 5, 4, 2, 3, 6)) * -1.0 - t3new_babbab += einsum(x621, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 - t3new_babbab += einsum(x621, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) - t3new_babbab += einsum(x621, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 - t3new_babbab += einsum(x621, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) - del x621 - x622 = np.zeros((naocc[0], navir[0], navir[1], nvir[1]), dtype=types[float]) - x622 += einsum(t2.abab[np.ix_(sOa,sob,sVa,svb)], (0, 1, 2, 3), v.bbbb.ovvV, (1, 4, 3, 5), (0, 2, 5, 4)) - x623 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x623 += einsum(t2.bbbb[np.ix_(sOb,sOb,svb,sVb)], (0, 1, 2, 3), x622, (4, 5, 6, 2), (4, 0, 1, 5, 3, 6)) * -1.0 - t3new_babbab += einsum(x623, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -2.0 - t3new_babbab += einsum(x623, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 - del x623 - x624 = np.zeros((naocc[1], navir[0], navir[1], nvir[0]), dtype=types[float]) - x624 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,sVb)], (0, 1, 2, 3), v.aabb.vVov, (4, 5, 0, 2), (1, 5, 3, 4)) - x625 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x625 += einsum(t2.abab[np.ix_(sOa,sOb,sva,sVb)], (0, 1, 2, 3), x624, (4, 5, 6, 2), (0, 1, 4, 5, 3, 6)) * -1.0 - t3new_babbab += einsum(x625, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -2.0 - t3new_babbab += einsum(x625, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * 2.0 - t3new_babbab += einsum(x625, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 - t3new_babbab += einsum(x625, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -2.0 - del x625 - x626 = np.zeros((naocc[0], naocc[1], navir[0], nocc[1]), dtype=types[float]) - x626 += einsum(t2.abab[np.ix_(sOa,sOb,sva,svb)], (0, 1, 2, 3), v.aabb.vVov, (2, 4, 5, 3), (0, 1, 4, 5)) - x627 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x627 += einsum(t2.bbbb[np.ix_(sob,sOb,sVb,sVb)], (0, 1, 2, 3), x626, (4, 5, 6, 0), (4, 5, 1, 6, 2, 3)) * -1.0 - t3new_babbab += einsum(x627, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * 2.0 - t3new_babbab += einsum(x627, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 - del x627 - x628 = np.zeros((naocc[0], navir[0], navir[1], nvir[1]), dtype=types[float]) - x628 += einsum(t2.abab[np.ix_(sOa,sob,sva,sVb)], (0, 1, 2, 3), v.aabb.vVov, (2, 4, 1, 5), (0, 4, 3, 5)) * -1.0 - x629 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x629 += einsum(t2.bbbb[np.ix_(sOb,sOb,svb,sVb)], (0, 1, 2, 3), x628, (4, 5, 6, 2), (4, 0, 1, 5, 3, 6)) * -1.0 - t3new_babbab += einsum(x629, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 - t3new_babbab += einsum(x629, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 - del x629 - x630 = np.zeros((naocc[0], naocc[1], navir[0], nocc[1]), dtype=types[float]) - x630 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sVa)], (0, 1, 2, 3), v.aabb.ovoO, (0, 2, 4, 5), (1, 5, 3, 4)) - x631 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x631 += einsum(t2.bbbb[np.ix_(sob,sOb,sVb,sVb)], (0, 1, 2, 3), x630, (4, 5, 6, 0), (4, 1, 5, 6, 2, 3)) * -1.0 - t3new_babbab += einsum(x631, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 4.0 - t3new_babbab += einsum(x631, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -4.0 - del x631 - x632 = np.zeros((naocc[0], navir[0], navir[1], nvir[1]), dtype=types[float]) - x632 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sVa)], (0, 1, 2, 3), v.aabb.ovvV, (0, 2, 4, 5), (1, 3, 5, 4)) - x633 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x633 += einsum(t2.bbbb[np.ix_(sOb,sOb,svb,sVb)], (0, 1, 2, 3), x632, (4, 5, 6, 2), (4, 0, 1, 5, 3, 6)) * -1.0 - t3new_babbab += einsum(x633, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 4.0 - t3new_babbab += einsum(x633, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -4.0 - del x633 - x634 = np.zeros((naocc[0], naocc[0], naocc[0], naocc[1], navir[0], navir[1]), dtype=types[float]) - x634 += einsum(t2.abab[np.ix_(sOa,sOb,sva,sVb)], (0, 1, 2, 3), v.aaaa.vOOV, (2, 4, 5, 6), (0, 5, 4, 1, 6, 3)) * -1.0 - x635 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x635 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x634, (6, 0, 2, 7, 5, 8), (6, 7, 1, 3, 8, 4)) - t3new_babbab += einsum(x635, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 - t3new_babbab += einsum(x635, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) - t3new_babbab += einsum(x635, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) - t3new_babbab += einsum(x635, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 - del x635 - x636 = np.zeros((naocc[0], naocc[0], naocc[0], naocc[1], navir[0], navir[1]), dtype=types[float]) - x636 += einsum(t2.abab[np.ix_(sOa,sOb,sva,sVb)], (0, 1, 2, 3), v.aaaa.vOOV, (2, 4, 5, 6), (0, 5, 4, 1, 6, 3)) * -1.0 - x637 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x637 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x636, (6, 0, 2, 7, 5, 8), (6, 7, 1, 3, 8, 4)) - t3new_babbab += einsum(x637, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 - t3new_babbab += einsum(x637, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) - t3new_babbab += einsum(x637, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) - t3new_babbab += einsum(x637, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 - del x637 - x638 = np.zeros((naocc[0], naocc[1], navir[0], navir[0], navir[0], navir[1]), dtype=types[float]) - x638 += einsum(t2.abab[np.ix_(soa,sOb,sVa,sVb)], (0, 1, 2, 3), v.aaaa.oVOV, (0, 4, 5, 6), (5, 1, 2, 6, 4, 3)) * -1.0 - x639 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x639 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x638, (2, 6, 7, 3, 5, 8), (0, 6, 1, 7, 8, 4)) - t3new_babbab += einsum(x639, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -2.0 - t3new_babbab += einsum(x639, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 - t3new_babbab += einsum(x639, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * 2.0 - t3new_babbab += einsum(x639, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -2.0 - del x639 - x640 = np.zeros((naocc[0], naocc[1], navir[0], navir[1]), dtype=types[float]) - x640 += einsum(t2.abab[np.ix_(soa,sOb,sva,sVb)], (0, 1, 2, 3), v.aaaa.ovOV, (0, 2, 4, 5), (4, 1, 5, 3)) - t3new_abaaba += einsum(x640, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 0, 6, 7, 2), (4, 1, 5, 6, 3, 7)) * 6.0000000000000595 - x641 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x641 += einsum(x640, (0, 1, 2, 3), t3.abaaba, (4, 5, 0, 6, 7, 2), (4, 1, 5, 6, 3, 7)) - t3new_babbab += einsum(x641, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.00000000000002 - t3new_babbab += einsum(x641, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.00000000000002 - t3new_babbab += einsum(x641, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -2.00000000000002 - t3new_babbab += einsum(x641, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * 2.00000000000002 - del x641 - x642 = np.zeros((naocc[0], naocc[1], navir[0], navir[1]), dtype=types[float]) - x642 += einsum(t2.abab[np.ix_(soa,sOb,sva,sVb)], (0, 1, 2, 3), v.aaaa.oVvO, (0, 4, 2, 5), (5, 1, 4, 3)) - t3new_abaaba += einsum(x642, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 0, 6, 7, 2), (4, 1, 5, 6, 3, 7)) * -6.0000000000000595 - x643 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x643 += einsum(x642, (0, 1, 2, 3), t3.abaaba, (4, 5, 0, 6, 7, 2), (4, 1, 5, 6, 3, 7)) - t3new_babbab += einsum(x643, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -2.00000000000002 - t3new_babbab += einsum(x643, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.00000000000002 - t3new_babbab += einsum(x643, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * 2.00000000000002 - t3new_babbab += einsum(x643, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -2.00000000000002 - del x643 - x644 = np.zeros((naocc[0], naocc[0], naocc[1], naocc[1], navir[1], navir[1]), dtype=types[float]) - x644 += einsum(t2.abab[np.ix_(sOa,sOb,sva,sVb)], (0, 1, 2, 3), v.aabb.vOOV, (2, 4, 5, 6), (0, 4, 1, 5, 3, 6)) * -1.0 - x645 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x645 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x644, (6, 1, 7, 2, 8, 5), (6, 7, 0, 4, 8, 3)) - t3new_babbab += einsum(x645, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 - t3new_babbab += einsum(x645, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 - t3new_babbab += einsum(x645, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -2.0 - t3new_babbab += einsum(x645, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * 2.0 - del x645 - x646 = np.zeros((naocc[0], naocc[0], naocc[1], naocc[1]), dtype=types[float]) - x646 += einsum(t2.abab[np.ix_(sOa,sOb,sva,svb)], (0, 1, 2, 3), v.aabb.vOvO, (2, 4, 3, 5), (0, 4, 1, 5)) - x647 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x647 += einsum(x646, (0, 1, 2, 3), t3.babbab, (4, 1, 3, 5, 6, 7), (0, 2, 4, 6, 5, 7)) - t3new_babbab += einsum(x647, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 - t3new_babbab += einsum(x647, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -2.0 - del x647 - x648 = np.zeros((naocc[0], naocc[0], naocc[1], naocc[1], navir[0], navir[0]), dtype=types[float]) - x648 += einsum(t2.abab[np.ix_(sOa,sOb,sVa,svb)], (0, 1, 2, 3), v.aabb.OVvO, (4, 5, 3, 6), (0, 4, 1, 6, 2, 5)) - x649 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x649 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x648, (6, 1, 7, 2, 8, 4), (6, 7, 0, 8, 3, 5)) - t3new_babbab += einsum(x649, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 - t3new_babbab += einsum(x649, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * 2.0 - del x649 - x650 = np.zeros((naocc[0], naocc[0], navir[0], navir[0], navir[1], navir[1]), dtype=types[float]) - x650 += einsum(t2.abab[np.ix_(sOa,sob,sVa,sVb)], (0, 1, 2, 3), v.aabb.OVoV, (4, 5, 1, 6), (0, 4, 2, 5, 3, 6)) - x651 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x651 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x650, (6, 1, 7, 4, 8, 5), (6, 0, 2, 7, 8, 3)) - t3new_babbab += einsum(x651, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 - t3new_babbab += einsum(x651, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 - del x651 - x652 = np.zeros((naocc[0], naocc[0], navir[1], navir[1]), dtype=types[float]) - x652 += einsum(t2.abab[np.ix_(sOa,sob,sva,sVb)], (0, 1, 2, 3), v.aabb.vOoV, (2, 4, 1, 5), (0, 4, 3, 5)) * -1.0 - x653 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x653 += einsum(x652, (0, 1, 2, 3), t3.babbab, (4, 1, 5, 6, 7, 3), (0, 4, 5, 7, 2, 6)) - t3new_babbab += einsum(x653, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.00000000000002 - t3new_babbab += einsum(x653, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.00000000000002 - del x653 - x654 = np.zeros((naocc[1], naocc[1], navir[0], navir[0], navir[1], navir[1]), dtype=types[float]) - x654 += einsum(t2.abab[np.ix_(soa,sOb,sVa,sVb)], (0, 1, 2, 3), v.aabb.oVOV, (0, 4, 5, 6), (1, 5, 2, 4, 3, 6)) * -1.0 - x655 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x655 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x654, (6, 2, 7, 4, 8, 5), (1, 6, 0, 7, 8, 3)) - t3new_babbab += einsum(x655, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 - t3new_babbab += einsum(x655, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 - t3new_babbab += einsum(x655, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -2.0 - t3new_babbab += einsum(x655, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * 2.0 - del x655 - x656 = np.zeros((naocc[1], naocc[1], navir[1], navir[1]), dtype=types[float]) - x656 += einsum(t2.abab[np.ix_(soa,sOb,sva,sVb)], (0, 1, 2, 3), v.aabb.ovOV, (0, 2, 4, 5), (1, 4, 3, 5)) - t3new_abaaba += einsum(x656, (0, 1, 2, 3), t3.abaaba, (4, 1, 5, 6, 3, 7), (4, 0, 5, 6, 2, 7)) * 2.00000000000002 - x657 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x657 += einsum(x656, (0, 1, 2, 3), t3.babbab, (4, 5, 1, 6, 7, 3), (5, 0, 4, 7, 2, 6)) - t3new_babbab += einsum(x657, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.00000000000002 - t3new_babbab += einsum(x657, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.00000000000002 - t3new_babbab += einsum(x657, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -2.00000000000002 - t3new_babbab += einsum(x657, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * 2.00000000000002 - del x657 - x658 = np.zeros((naocc[1], naocc[1]), dtype=types[float]) - x658 += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), v.aabb.ovvO, (0, 2, 3, 4), (1, 4)) * -1.0 - t3new_abaaba += einsum(x658, (0, 1), t3.abaaba, (2, 1, 3, 4, 5, 6), (2, 0, 3, 4, 5, 6)) * 2.0 - x659 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x659 += einsum(x658, (0, 1), t3.babbab, (2, 3, 1, 4, 5, 6), (3, 0, 2, 5, 4, 6)) - t3new_babbab += einsum(x659, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 - t3new_babbab += einsum(x659, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -2.0 - del x659 - x660 = np.zeros((naocc[1], naocc[1], navir[0], navir[0]), dtype=types[float]) - x660 += einsum(t2.abab[np.ix_(soa,sOb,sVa,svb)], (0, 1, 2, 3), v.aabb.oVvO, (0, 4, 3, 5), (1, 5, 2, 4)) * -1.0 - x661 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x661 += einsum(x660, (0, 1, 2, 3), t3.babbab, (4, 5, 1, 6, 3, 7), (5, 0, 4, 2, 6, 7)) - t3new_babbab += einsum(x661, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.00000000000002 - t3new_babbab += einsum(x661, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * 2.00000000000002 - del x661 - x662 = np.zeros((navir[0], navir[0], navir[1], navir[1]), dtype=types[float]) - x662 += einsum(t2.abab[np.ix_(soa,sob,sVa,sVb)], (0, 1, 2, 3), v.aabb.oVoV, (0, 4, 1, 5), (2, 4, 3, 5)) - x663 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x663 += einsum(x662, (0, 1, 2, 3), t3.babbab, (4, 5, 6, 7, 1, 3), (5, 4, 6, 0, 2, 7)) - t3new_babbab += einsum(x663, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -2.0 - t3new_babbab += einsum(x663, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 - del x663 - x664 = np.zeros((navir[1], navir[1]), dtype=types[float]) - x664 += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), v.aabb.ovoV, (0, 2, 1, 4), (3, 4)) * -1.0 - t3new_abaaba += einsum(x664, (0, 1), t3.abaaba, (2, 3, 4, 5, 1, 6), (2, 3, 4, 5, 0, 6)) * 2.0 - x665 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x665 += einsum(x664, (0, 1), t3.babbab, (2, 3, 4, 5, 6, 1), (3, 2, 4, 6, 0, 5)) - t3new_babbab += einsum(x665, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -2.0 - t3new_babbab += einsum(x665, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 - del x665 - x666 = np.zeros((naocc[0], naocc[1], naocc[1], naocc[1], navir[0], navir[1]), dtype=types[float]) - x666 += einsum(t2.abab[np.ix_(sOa,sOb,sVa,svb)], (0, 1, 2, 3), v.bbbb.vOOV, (3, 4, 5, 6), (0, 1, 5, 4, 2, 6)) - x667 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x667 += einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), x666, (6, 7, 1, 2, 8, 5), (6, 7, 0, 8, 3, 4)) - t3new_babbab += einsum(x667, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 3.0 - t3new_babbab += einsum(x667, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -3.0 - del x667 - x668 = np.zeros((naocc[0], naocc[1], naocc[1], naocc[1], navir[0], navir[1]), dtype=types[float]) - x668 += einsum(t2.abab[np.ix_(sOa,sOb,sVa,svb)], (0, 1, 2, 3), v.bbbb.vOOV, (3, 4, 5, 6), (0, 1, 5, 4, 2, 6)) - x669 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x669 += einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), x668, (6, 7, 1, 2, 8, 5), (6, 7, 0, 8, 3, 4)) - t3new_babbab += einsum(x669, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 3.0 - t3new_babbab += einsum(x669, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -3.0 - del x669 - x670 = np.zeros((naocc[0], naocc[1], navir[0], navir[1], navir[1], navir[1]), dtype=types[float]) - x670 += einsum(t2.abab[np.ix_(sOa,sob,sVa,sVb)], (0, 1, 2, 3), v.bbbb.oVOV, (1, 4, 5, 6), (0, 5, 2, 3, 6, 4)) - x671 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x671 += einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), x670, (6, 2, 7, 8, 4, 5), (6, 0, 1, 7, 8, 3)) - t3new_babbab += einsum(x671, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -6.0 - t3new_babbab += einsum(x671, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 6.0 - del x671 - x672 = np.zeros((naocc[0], naocc[1], naocc[1], naocc[1], navir[0], navir[1]), dtype=types[float]) - x672 += einsum(t2.bbbb[np.ix_(sOb,sOb,svb,sVb)], (0, 1, 2, 3), v.aabb.OVvO, (4, 5, 2, 6), (4, 0, 1, 6, 5, 3)) * -1.0 - x673 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x673 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x672, (2, 6, 7, 1, 5, 8), (0, 7, 6, 3, 8, 4)) * -1.0 - t3new_babbab += einsum(x673, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -4.0 - t3new_babbab += einsum(x673, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 4.0 - del x673 - x674 = np.zeros((naocc[0], naocc[1], navir[0], navir[1], navir[1], navir[1]), dtype=types[float]) - x674 += einsum(t2.bbbb[np.ix_(sob,sOb,sVb,sVb)], (0, 1, 2, 3), v.aabb.OVoV, (4, 5, 0, 6), (4, 1, 5, 2, 3, 6)) * -1.0 - x675 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x675 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x674, (2, 6, 5, 7, 8, 4), (0, 6, 1, 3, 7, 8)) - t3new_babbab += einsum(x675, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 4.0 - t3new_babbab += einsum(x675, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -4.0 - del x675 - x676 = np.zeros((naocc[0], naocc[1], navir[0], navir[1]), dtype=types[float]) - x676 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,sVb)], (0, 1, 2, 3), v.aabb.OVov, (4, 5, 0, 2), (4, 1, 5, 3)) - t3new_abaaba += einsum(x676, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 0, 6, 7, 2), (4, 1, 5, 6, 3, 7)) * 12.000000000000123 - x677 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x677 += einsum(x676, (0, 1, 2, 3), t3.abaaba, (4, 5, 0, 6, 7, 2), (4, 1, 5, 6, 3, 7)) - t3new_babbab += einsum(x677, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 4.00000000000004 - t3new_babbab += einsum(x677, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -4.00000000000004 - t3new_babbab += einsum(x677, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -4.00000000000004 - t3new_babbab += einsum(x677, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * 4.00000000000004 - del x677 - x678 = np.zeros((naocc[1], naocc[1], naocc[1], naocc[1], navir[1], navir[1]), dtype=types[float]) - x678 += einsum(t2.bbbb[np.ix_(sOb,sOb,svb,sVb)], (0, 1, 2, 3), v.bbbb.vOOV, (2, 4, 5, 6), (0, 1, 5, 4, 3, 6)) * -1.0 - x679 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x679 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x678, (6, 7, 2, 0, 8, 5), (1, 7, 6, 4, 8, 3)) - t3new_babbab += einsum(x679, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 - t3new_babbab += einsum(x679, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 - del x679 - x680 = np.zeros((naocc[1], naocc[1], naocc[1], naocc[1]), dtype=types[float]) - x680 += einsum(t2.bbbb[np.ix_(sOb,sOb,svb,svb)], (0, 1, 2, 3), v.bbbb.vOvO, (2, 4, 3, 5), (0, 1, 4, 5)) - x681 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x681 += einsum(x680, (0, 1, 2, 3), t3.babbab, (2, 4, 3, 5, 6, 7), (4, 1, 0, 6, 5, 7)) * -1.0 - t3new_babbab += einsum(x681, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 - t3new_babbab += einsum(x681, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 - del x681 - x682 = np.zeros((naocc[1], naocc[1], naocc[1], naocc[1], navir[1], navir[1]), dtype=types[float]) - x682 += einsum(t2.bbbb[np.ix_(sOb,sOb,svb,sVb)], (0, 1, 2, 3), v.bbbb.vOOV, (2, 4, 5, 6), (0, 1, 5, 4, 3, 6)) * -1.0 - x683 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x683 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x682, (6, 7, 0, 2, 8, 5), (1, 7, 6, 4, 8, 3)) * -1.0 - t3new_babbab += einsum(x683, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 - t3new_babbab += einsum(x683, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 - del x683 - x684 = np.zeros((naocc[1], naocc[1], navir[1], navir[1], navir[1], navir[1]), dtype=types[float]) - x684 += einsum(t2.bbbb[np.ix_(sob,sOb,sVb,sVb)], (0, 1, 2, 3), v.bbbb.oVOV, (0, 4, 5, 6), (1, 5, 2, 3, 6, 4)) * -1.0 - x685 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x685 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x684, (6, 2, 7, 8, 3, 5), (1, 6, 0, 4, 7, 8)) - t3new_babbab += einsum(x685, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -4.0 - t3new_babbab += einsum(x685, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * 4.0 - del x685 - x686 = np.zeros((naocc[1], naocc[1], navir[1], navir[1]), dtype=types[float]) - x686 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,sVb)], (0, 1, 2, 3), v.bbbb.ovOV, (0, 2, 4, 5), (1, 4, 3, 5)) - t3new_abaaba += einsum(x686, (0, 1, 2, 3), t3.abaaba, (4, 1, 5, 6, 3, 7), (4, 0, 5, 6, 2, 7)) * 4.00000000000004 - x687 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x687 += einsum(x686, (0, 1, 2, 3), t3.babbab, (4, 5, 1, 6, 7, 3), (5, 0, 4, 7, 2, 6)) - t3new_babbab += einsum(x687, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 4.00000000000004 - t3new_babbab += einsum(x687, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -4.00000000000004 - t3new_babbab += einsum(x687, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -4.00000000000004 - t3new_babbab += einsum(x687, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * 4.00000000000004 - del x687 - x688 = np.zeros((naocc[1], naocc[1]), dtype=types[float]) - x688 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,svb)], (0, 1, 2, 3), v.bbbb.ovvO, (0, 3, 2, 4), (1, 4)) * -1.0 - x689 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x689 += einsum(x688, (0, 1), t3.babbab, (2, 3, 1, 4, 5, 6), (3, 0, 2, 5, 4, 6)) - t3new_babbab += einsum(x689, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 - t3new_babbab += einsum(x689, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 - t3new_babbab += einsum(x689, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * 2.0 - t3new_babbab += einsum(x689, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * 2.0 - del x689 - x690 = np.zeros((naocc[1], naocc[1], navir[1], navir[1]), dtype=types[float]) - x690 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,sVb)], (0, 1, 2, 3), v.bbbb.oVvO, (0, 4, 2, 5), (1, 5, 3, 4)) - t3new_abaaba += einsum(x690, (0, 1, 2, 3), t3.abaaba, (4, 1, 5, 6, 3, 7), (4, 0, 5, 6, 2, 7)) * -4.00000000000004 - x691 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x691 += einsum(x690, (0, 1, 2, 3), t3.babbab, (4, 5, 1, 6, 7, 3), (5, 0, 4, 7, 2, 6)) - t3new_babbab += einsum(x691, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -4.00000000000004 - t3new_babbab += einsum(x691, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 4.00000000000004 - t3new_babbab += einsum(x691, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * 4.00000000000004 - t3new_babbab += einsum(x691, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -4.00000000000004 - del x691 - x692 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x692 += einsum(x387, (0, 1), t3.babbab, (2, 1, 3, 4, 5, 6), (0, 2, 3, 5, 4, 6)) - t3new_babbab += einsum(x692, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 - t3new_babbab += einsum(x692, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 - del x692 - x693 = np.zeros((navir[1], navir[1], navir[1], navir[1]), dtype=types[float]) - x693 += einsum(t2.bbbb[np.ix_(sob,sob,sVb,sVb)], (0, 1, 2, 3), v.bbbb.oVoV, (0, 4, 1, 5), (2, 3, 5, 4)) * -1.0 - t3new_babbab += einsum(x693, (0, 1, 2, 3), t3.babbab, (4, 5, 6, 2, 7, 3), (4, 5, 6, 0, 7, 1)) * 2.0 - x694 = np.zeros((navir[1], navir[1]), dtype=types[float]) - x694 += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), v.bbbb.ovoV, (1, 2, 0, 4), (3, 4)) * -1.0 - t3new_abaaba += einsum(x694, (0, 1), t3.abaaba, (2, 3, 4, 5, 1, 6), (2, 3, 4, 5, 0, 6)) * -2.0 - x695 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x695 += einsum(x694, (0, 1), t3.babbab, (2, 3, 4, 5, 6, 1), (3, 2, 4, 6, 0, 5)) - t3new_babbab += einsum(x695, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 - t3new_babbab += einsum(x695, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 - del x695 - x696 = np.zeros((navir[1], navir[1]), dtype=types[float]) - x696 += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), v.bbbb.ovoV, (1, 2, 0, 4), (3, 4)) * -1.0 - t3new_abaaba += einsum(x696, (0, 1), t3.abaaba, (2, 3, 4, 5, 1, 6), (2, 3, 4, 5, 0, 6)) * -2.0 - x697 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x697 += einsum(x696, (0, 1), t3.babbab, (2, 3, 4, 5, 6, 1), (3, 2, 4, 6, 0, 5)) - t3new_babbab += einsum(x697, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 - t3new_babbab += einsum(x697, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 - del x697 - x698 = np.zeros((naocc[1], naocc[1], navir[0], navir[1], navir[1], nvir[0]), dtype=types[float]) - x698 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), t2.bbbb[np.ix_(sob,sOb,sVb,sVb)], (2, 3, 4, 5), v.aabb.ovoO, (0, 6, 2, 7), (3, 7, 1, 4, 5, 6)) * -1.0 - x699 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x699 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), x698, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) - del x698 - t3new_babbab += einsum(x699, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 - t3new_babbab += einsum(x699, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * 2.0 - del x699 - x700 = np.zeros((naocc[1], naocc[1], navir[0], navir[1], navir[1], nvir[0]), dtype=types[float]) - x700 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), t2.bbbb[np.ix_(sOb,sOb,svb,sVb)], (2, 3, 4, 5), v.aabb.ovvV, (0, 6, 4, 7), (2, 3, 1, 5, 7, 6)) * -1.0 - x701 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x701 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), x700, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) - del x700 - t3new_babbab += einsum(x701, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -2.0 - t3new_babbab += einsum(x701, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 - del x701 - x702 = np.zeros((naocc[1], naocc[1], navir[0], navir[1], navir[1], nvir[0]), dtype=types[float]) - x702 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), t2.abab[np.ix_(soa,sOb,sVa,sVb)], (2, 3, 4, 5), v.aabb.ovvV, (2, 6, 1, 7), (0, 3, 4, 5, 7, 6)) * -1.0 - x703 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x703 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), x702, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) - del x702 - t3new_babbab += einsum(x703, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) - t3new_babbab += einsum(x703, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 - t3new_babbab += einsum(x703, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 - t3new_babbab += einsum(x703, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) - del x703 - x704 = np.zeros((naocc[1], naocc[1], navir[0], navir[1], navir[1], nvir[0]), dtype=types[float]) - x704 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), t2.abab[np.ix_(soa,sOb,sVa,sVb)], (2, 3, 4, 5), v.aabb.ovoO, (2, 6, 0, 7), (3, 7, 4, 1, 5, 6)) * -1.0 - x705 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x705 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), x704, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) - del x704 - t3new_babbab += einsum(x705, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) - t3new_babbab += einsum(x705, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -1.0 - t3new_babbab += einsum(x705, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 - t3new_babbab += einsum(x705, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) - del x705 - x706 = np.zeros((naocc[0], naocc[1], navir[0], navir[1], navir[1], nvir[1]), dtype=types[float]) - x706 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), t2.abab[np.ix_(sOa,sOb,sva,sVb)], (2, 3, 4, 5), v.aabb.ovvV, (0, 4, 6, 7), (2, 3, 1, 5, 7, 6)) * -1.0 - x707 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x707 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), x706, (2, 3, 4, 5, 6, 1), (2, 0, 3, 4, 5, 6)) - del x706 - t3new_babbab += einsum(x707, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) - t3new_babbab += einsum(x707, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 - t3new_babbab += einsum(x707, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 - t3new_babbab += einsum(x707, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) - del x707 - x708 = np.zeros((naocc[1], navir[0], navir[1], nvir[0]), dtype=types[float]) - x708 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), t1.bb[np.ix_(sob,sVb)], (2, 3), v.aabb.ovoO, (0, 4, 2, 5), (5, 1, 3, 4)) - x709 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x709 += einsum(t2.abab[np.ix_(sOa,sOb,sva,sVb)], (0, 1, 2, 3), x708, (4, 5, 6, 2), (0, 1, 4, 5, 6, 3)) * -1.0 - t3new_babbab += einsum(x709, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) - t3new_babbab += einsum(x709, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -1.0 - t3new_babbab += einsum(x709, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 - t3new_babbab += einsum(x709, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) - del x709 - x710 = np.zeros((naocc[0], naocc[1], navir[0], navir[1], navir[1], nvir[1]), dtype=types[float]) - x710 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), t2.bbbb[np.ix_(sob,sOb,sVb,sVb)], (2, 3, 4, 5), v.aabb.oOov, (0, 6, 2, 7), (6, 3, 1, 4, 5, 7)) * -1.0 - x711 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x711 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), x710, (2, 3, 4, 5, 6, 1), (2, 0, 3, 4, 5, 6)) - del x710 - t3new_babbab += einsum(x711, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 - t3new_babbab += einsum(x711, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -2.0 - del x711 - x712 = np.zeros((naocc[0], navir[0], navir[1], nvir[1]), dtype=types[float]) - x712 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), t1.bb[np.ix_(sob,sVb)], (2, 3), v.aabb.oOov, (0, 4, 2, 5), (4, 1, 3, 5)) - x713 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x713 += einsum(t2.bbbb[np.ix_(sOb,sOb,svb,sVb)], (0, 1, 2, 3), x712, (4, 5, 6, 2), (4, 0, 1, 5, 6, 3)) * -1.0 - t3new_babbab += einsum(x713, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -2.0 - t3new_babbab += einsum(x713, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 - del x713 - x714 = np.zeros((naocc[1], naocc[1], navir[0], navir[1], navir[1], nvir[0]), dtype=types[float]) - x714 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), t2.bbbb[np.ix_(sob,sOb,sVb,sVb)], (2, 3, 4, 5), v.aabb.vVov, (6, 7, 2, 1), (0, 3, 7, 4, 5, 6)) * -1.0 - x715 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x715 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), x714, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) - del x714 - t3new_babbab += einsum(x715, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 - t3new_babbab += einsum(x715, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * 2.0 - del x715 - x716 = np.zeros((naocc[1], naocc[1], navir[0], navir[1], navir[1], nvir[0]), dtype=types[float]) - x716 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), t2.bbbb[np.ix_(sOb,sOb,svb,sVb)], (2, 3, 4, 5), v.aabb.vVov, (6, 7, 0, 4), (2, 3, 7, 1, 5, 6)) * -1.0 - x717 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x717 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), x716, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) - del x716 - t3new_babbab += einsum(x717, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 - t3new_babbab += einsum(x717, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 - del x717 - x718 = np.zeros((naocc[0], naocc[1], navir[0], navir[1], navir[1], nvir[1]), dtype=types[float]) - x718 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), t2.abab[np.ix_(sOa,sob,sVa,sVb)], (2, 3, 4, 5), v.bbbb.ovoO, (3, 6, 0, 7), (2, 7, 4, 1, 5, 6)) - x719 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x719 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), x718, (2, 3, 4, 5, 6, 1), (2, 0, 3, 4, 5, 6)) - del x718 - t3new_babbab += einsum(x719, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 - t3new_babbab += einsum(x719, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) - t3new_babbab += einsum(x719, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) - t3new_babbab += einsum(x719, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 - del x719 - x720 = np.zeros((naocc[0], naocc[1], navir[0], navir[1], navir[1], nvir[1]), dtype=types[float]) - x720 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), t2.abab[np.ix_(sOa,sob,sVa,sVb)], (2, 3, 4, 5), v.bbbb.ovoO, (0, 6, 3, 7), (2, 7, 4, 1, 5, 6)) - x721 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x721 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), x720, (2, 3, 4, 5, 6, 1), (2, 0, 3, 4, 5, 6)) - del x720 - t3new_babbab += einsum(x721, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) - t3new_babbab += einsum(x721, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 - t3new_babbab += einsum(x721, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -1.0 - t3new_babbab += einsum(x721, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) - del x721 - x722 = np.zeros((naocc[0], naocc[1], navir[0], navir[1], navir[1], nvir[1]), dtype=types[float]) - x722 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), t2.abab[np.ix_(soa,sOb,sVa,sVb)], (2, 3, 4, 5), v.aabb.oOov, (2, 6, 0, 7), (6, 3, 4, 1, 5, 7)) * -1.0 - x723 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x723 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), x722, (2, 3, 4, 5, 6, 1), (2, 0, 3, 4, 5, 6)) - del x722 - t3new_babbab += einsum(x723, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 - t3new_babbab += einsum(x723, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) - t3new_babbab += einsum(x723, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) - t3new_babbab += einsum(x723, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 - del x723 - x724 = np.zeros((naocc[1], navir[1], navir[1], nvir[1]), dtype=types[float]) - x724 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), t1.bb[np.ix_(sob,sVb)], (2, 3), v.bbbb.ovoO, (2, 4, 0, 5), (5, 1, 3, 4)) - x725 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x725 += einsum(t2.abab[np.ix_(sOa,sOb,sVa,svb)], (0, 1, 2, 3), x724, (4, 5, 6, 3), (0, 1, 4, 2, 5, 6)) - t3new_babbab += einsum(x725, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) - t3new_babbab += einsum(x725, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 - t3new_babbab += einsum(x725, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 - t3new_babbab += einsum(x725, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) - del x725 - x726 = np.zeros((naocc[0], naocc[1], navir[0], navir[1], navir[1], nvir[1]), dtype=types[float]) - x726 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), t2.abab[np.ix_(sOa,sob,sVa,sVb)], (2, 3, 4, 5), v.bbbb.ovvV, (3, 1, 6, 7), (2, 0, 4, 5, 7, 6)) - x727 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x727 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), x726, (2, 3, 4, 5, 6, 1), (2, 0, 3, 4, 5, 6)) - del x726 - t3new_babbab += einsum(x727, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) - t3new_babbab += einsum(x727, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -1.0 - t3new_babbab += einsum(x727, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 - t3new_babbab += einsum(x727, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) - del x727 - x728 = np.zeros((naocc[0], naocc[1], navir[0], navir[1], navir[1], nvir[1]), dtype=types[float]) - x728 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), t2.abab[np.ix_(sOa,sOb,sVa,svb)], (2, 3, 4, 5), v.bbbb.ovvV, (0, 6, 5, 7), (2, 3, 4, 1, 7, 6)) - x729 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x729 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), x728, (2, 3, 4, 5, 6, 1), (2, 0, 3, 4, 5, 6)) - del x728 - t3new_babbab += einsum(x729, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 - t3new_babbab += einsum(x729, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) - t3new_babbab += einsum(x729, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) - t3new_babbab += einsum(x729, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 - del x729 - x730 = np.zeros((naocc[0], naocc[1], navir[0], navir[1], navir[1], nvir[1]), dtype=types[float]) - x730 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), t2.abab[np.ix_(sOa,sOb,sVa,svb)], (2, 3, 4, 5), v.bbbb.ovvV, (0, 5, 6, 7), (2, 3, 4, 1, 7, 6)) - x731 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x731 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), x730, (2, 3, 4, 5, 6, 1), (2, 0, 3, 4, 5, 6)) - del x730 - t3new_babbab += einsum(x731, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) - t3new_babbab += einsum(x731, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 - t3new_babbab += einsum(x731, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -1.0 - t3new_babbab += einsum(x731, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) - del x731 - x732 = np.zeros((naocc[0], naocc[1], navir[0], navir[1], navir[1], nvir[1]), dtype=types[float]) - x732 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), t2.abab[np.ix_(sOa,sOb,sva,sVb)], (2, 3, 4, 5), v.aabb.vVov, (4, 6, 0, 7), (2, 3, 6, 1, 5, 7)) * -1.0 - x733 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x733 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), x732, (2, 3, 4, 5, 6, 1), (2, 0, 3, 4, 5, 6)) - del x732 - t3new_babbab += einsum(x733, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) - t3new_babbab += einsum(x733, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 - t3new_babbab += einsum(x733, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -1.0 - t3new_babbab += einsum(x733, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) - del x733 - x734 = np.zeros((naocc[0], naocc[1], naocc[1], nvir[0]), dtype=types[float]) - x734 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), v.aabb.vOvO, (2, 3, 1, 4), (3, 0, 4, 2)) - x735 = np.zeros((naocc[0], naocc[0], naocc[1], naocc[1]), dtype=types[float]) - x735 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), x734, (2, 3, 4, 1), (0, 2, 3, 4)) - del x734 - x736 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x736 += einsum(x735, (0, 1, 2, 3), t3.babbab, (4, 1, 3, 5, 6, 7), (0, 2, 4, 6, 5, 7)) - t3new_babbab += einsum(x736, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 - t3new_babbab += einsum(x736, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -2.0 - del x736 - x737 = np.zeros((naocc[0], naocc[0], navir[1], nocc[1]), dtype=types[float]) - x737 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), v.aabb.vOoV, (1, 2, 3, 4), (0, 2, 4, 3)) - x738 = np.zeros((naocc[0], naocc[0], navir[1], navir[1]), dtype=types[float]) - x738 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), x737, (2, 3, 4, 0), (2, 3, 1, 4)) - del x737 - x739 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x739 += einsum(x738, (0, 1, 2, 3), t3.babbab, (4, 1, 5, 6, 7, 3), (0, 4, 5, 7, 2, 6)) - t3new_babbab += einsum(x739, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -2.0 - t3new_babbab += einsum(x739, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 - del x739 - x740 = np.zeros((naocc[1], naocc[1], navir[0], nocc[0]), dtype=types[float]) - x740 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), v.aabb.oVvO, (2, 3, 1, 4), (0, 4, 3, 2)) - x741 = np.zeros((naocc[1], naocc[1], navir[0], navir[0]), dtype=types[float]) - x741 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x740, (2, 3, 4, 0), (2, 3, 1, 4)) - del x740 - x742 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x742 += einsum(x741, (0, 1, 2, 3), t3.babbab, (4, 5, 1, 6, 3, 7), (5, 0, 4, 2, 6, 7)) - t3new_babbab += einsum(x742, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 - t3new_babbab += einsum(x742, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -2.0 - del x742 - x743 = np.zeros((naocc[1], nvir[1]), dtype=types[float]) - x743 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aabb.ovvO, (0, 1, 2, 3), (3, 2)) - x744 = np.zeros((naocc[1], naocc[1]), dtype=types[float]) - x744 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), x743, (2, 1), (0, 2)) - del x743 - t3new_abaaba += einsum(x744, (0, 1), t3.abaaba, (2, 1, 3, 4, 5, 6), (2, 0, 3, 4, 5, 6)) * -2.0 - x745 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x745 += einsum(x744, (0, 1), t3.babbab, (2, 3, 1, 4, 5, 6), (3, 0, 2, 5, 4, 6)) - t3new_babbab += einsum(x745, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 - t3new_babbab += einsum(x745, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * 2.0 - del x745 - x746 = np.zeros((navir[0], navir[1], navir[1], nocc[0]), dtype=types[float]) - x746 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), v.aabb.oVoV, (2, 3, 0, 4), (3, 1, 4, 2)) - x747 = np.zeros((navir[0], navir[0], navir[1], navir[1]), dtype=types[float]) - x747 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x746, (2, 3, 4, 0), (1, 2, 3, 4)) - del x746 - x748 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x748 += einsum(x747, (0, 1, 2, 3), t3.babbab, (4, 5, 6, 7, 1, 3), (5, 4, 6, 0, 2, 7)) - t3new_babbab += einsum(x748, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -2.0 - t3new_babbab += einsum(x748, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 - del x748 - x749 = np.zeros((navir[1], nocc[1]), dtype=types[float]) - x749 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aabb.ovoV, (0, 1, 2, 3), (3, 2)) - x750 = np.zeros((navir[1], navir[1]), dtype=types[float]) - x750 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), x749, (2, 0), (1, 2)) - del x749 - t3new_abaaba += einsum(x750, (0, 1), t3.abaaba, (2, 3, 4, 5, 1, 6), (2, 3, 4, 5, 0, 6)) * -2.0 - x751 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x751 += einsum(x750, (0, 1), t3.babbab, (2, 3, 4, 5, 6, 1), (3, 2, 4, 6, 0, 5)) - t3new_babbab += einsum(x751, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 - t3new_babbab += einsum(x751, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 - del x751 - x752 = np.zeros((naocc[0], naocc[1], navir[0], navir[1]), dtype=types[float]) - x752 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), x530, (2, 3, 4, 0), (2, 3, 4, 1)) - t3new_abaaba += einsum(x752, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 0, 6, 7, 2), (4, 1, 5, 6, 3, 7)) * -6.0 - x753 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x753 += einsum(x752, (0, 1, 2, 3), t3.abaaba, (4, 5, 0, 6, 7, 2), (4, 1, 5, 6, 3, 7)) - t3new_babbab += einsum(x753, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -2.0 - t3new_babbab += einsum(x753, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 - t3new_babbab += einsum(x753, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * 2.0 - t3new_babbab += einsum(x753, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -2.0 - del x753 - x754 = np.zeros((naocc[1], naocc[1], naocc[1], nvir[1]), dtype=types[float]) - x754 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), v.bbbb.vOvO, (2, 3, 1, 4), (0, 3, 4, 2)) - x755 = np.zeros((naocc[1], naocc[1], naocc[1], naocc[1]), dtype=types[float]) - x755 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), x754, (2, 3, 4, 1), (2, 0, 4, 3)) - del x754 - x756 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x756 += einsum(x755, (0, 1, 2, 3), t3.babbab, (2, 4, 3, 5, 6, 7), (4, 1, 0, 6, 5, 7)) * -1.0 - t3new_babbab += einsum(x756, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 - t3new_babbab += einsum(x756, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 - del x756 - x757 = np.zeros((naocc[1], naocc[1], navir[1], nocc[1]), dtype=types[float]) - x757 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), v.bbbb.ovOV, (2, 1, 3, 4), (0, 3, 4, 2)) - x758 = np.zeros((naocc[1], naocc[1], navir[1], navir[1]), dtype=types[float]) - x758 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), x757, (2, 3, 4, 0), (2, 3, 1, 4)) - del x757 - t3new_abaaba += einsum(x758, (0, 1, 2, 3), t3.abaaba, (4, 1, 5, 6, 3, 7), (4, 0, 5, 6, 2, 7)) * -2.0 - x759 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x759 += einsum(x758, (0, 1, 2, 3), t3.babbab, (4, 5, 1, 6, 7, 3), (5, 0, 4, 7, 2, 6)) - t3new_babbab += einsum(x759, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -2.0 - t3new_babbab += einsum(x759, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 - t3new_babbab += einsum(x759, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * 2.0 - t3new_babbab += einsum(x759, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -2.0 - del x759 - x760 = np.zeros((naocc[1], naocc[1], navir[1], nocc[1]), dtype=types[float]) - x760 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), v.bbbb.oVvO, (2, 3, 1, 4), (0, 4, 3, 2)) - x761 = np.zeros((naocc[1], naocc[1], navir[1], navir[1]), dtype=types[float]) - x761 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), x760, (2, 3, 4, 0), (2, 3, 1, 4)) - del x760 - t3new_abaaba += einsum(x761, (0, 1, 2, 3), t3.abaaba, (4, 1, 5, 6, 3, 7), (4, 0, 5, 6, 2, 7)) * 2.0 - x762 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x762 += einsum(x761, (0, 1, 2, 3), t3.babbab, (4, 5, 1, 6, 7, 3), (5, 0, 4, 7, 2, 6)) - t3new_babbab += einsum(x762, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 - t3new_babbab += einsum(x762, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 - t3new_babbab += einsum(x762, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -2.0 - t3new_babbab += einsum(x762, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * 2.0 - del x762 - x763 = np.zeros((naocc[1], nvir[1]), dtype=types[float]) - x763 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.bbbb.ovvO, (0, 2, 1, 3), (3, 2)) - x764 = np.zeros((naocc[1], naocc[1]), dtype=types[float]) - x764 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), x763, (2, 1), (0, 2)) - del x763 - t3new_abaaba += einsum(x764, (0, 1), t3.abaaba, (2, 1, 3, 4, 5, 6), (2, 0, 3, 4, 5, 6)) * 2.0 - x765 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x765 += einsum(x764, (0, 1), t3.babbab, (2, 3, 1, 4, 5, 6), (3, 0, 2, 5, 4, 6)) - t3new_babbab += einsum(x765, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 - t3new_babbab += einsum(x765, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -2.0 - del x765 - x766 = np.zeros((naocc[1], nvir[1]), dtype=types[float]) - x766 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.bbbb.ovvO, (0, 1, 2, 3), (3, 2)) - x767 = np.zeros((naocc[1], naocc[1]), dtype=types[float]) - x767 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), x766, (2, 1), (0, 2)) - del x766 - t3new_abaaba += einsum(x767, (0, 1), t3.abaaba, (2, 1, 3, 4, 5, 6), (2, 0, 3, 4, 5, 6)) * -2.0 - x768 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x768 += einsum(x767, (0, 1), t3.babbab, (2, 3, 1, 4, 5, 6), (3, 0, 2, 5, 4, 6)) - t3new_babbab += einsum(x768, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 - t3new_babbab += einsum(x768, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * 2.0 - del x768 - x769 = np.zeros((navir[1], navir[1], navir[1], nocc[1]), dtype=types[float]) - x769 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), v.bbbb.oVoV, (2, 3, 0, 4), (1, 3, 4, 2)) - x770 = np.zeros((navir[1], navir[1], navir[1], navir[1]), dtype=types[float]) - x770 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), x769, (2, 3, 4, 0), (2, 1, 4, 3)) - del x769 - t3new_babbab += einsum(x770, (0, 1, 2, 3), t3.babbab, (4, 5, 6, 2, 7, 3), (4, 5, 6, 0, 7, 1)) * 2.0 - x771 = np.zeros((navir[1], nocc[1]), dtype=types[float]) - x771 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.bbbb.ovoV, (0, 1, 2, 3), (3, 2)) - x772 = np.zeros((navir[1], navir[1]), dtype=types[float]) - x772 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), x771, (2, 0), (1, 2)) - del x771 - t3new_abaaba += einsum(x772, (0, 1), t3.abaaba, (2, 3, 4, 5, 1, 6), (2, 3, 4, 5, 0, 6)) * -2.0 - x773 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x773 += einsum(x772, (0, 1), t3.babbab, (2, 3, 4, 5, 6, 1), (3, 2, 4, 6, 0, 5)) - t3new_babbab += einsum(x773, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 - t3new_babbab += einsum(x773, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 - del x773 - x774 = np.zeros((navir[1], nocc[1]), dtype=types[float]) - x774 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.bbbb.ovoV, (2, 1, 0, 3), (3, 2)) - x775 = np.zeros((navir[1], navir[1]), dtype=types[float]) - x775 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), x774, (2, 0), (1, 2)) - del x774 - t3new_abaaba += einsum(x775, (0, 1), t3.abaaba, (2, 3, 4, 5, 1, 6), (2, 3, 4, 5, 0, 6)) * 2.0 - x776 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x776 += einsum(x775, (0, 1), t3.babbab, (2, 3, 4, 5, 6, 1), (3, 2, 4, 6, 0, 5)) - t3new_babbab += einsum(x776, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -2.0 - t3new_babbab += einsum(x776, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 - del x776 - x777 = np.zeros((naocc[1], navir[1], nocc[0], nvir[0]), dtype=types[float]) - x777 += einsum(t2.abab[np.ix_(soa,sOb,sva,sVb)], (0, 1, 2, 3), v.aaaa.ovov, (4, 2, 0, 5), (1, 3, 4, 5)) - x778 = np.zeros((naocc[0], naocc[1], navir[1], nocc[0]), dtype=types[float]) - x778 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), x777, (2, 3, 4, 1), (0, 2, 3, 4)) - x779 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x779 += einsum(t2.abab[np.ix_(soa,sOb,sVa,sVb)], (0, 1, 2, 3), x778, (4, 5, 6, 0), (4, 1, 5, 2, 3, 6)) * -1.0 - t3new_babbab += einsum(x779, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 - t3new_babbab += einsum(x779, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) - t3new_babbab += einsum(x779, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) - t3new_babbab += einsum(x779, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 - del x779 - x780 = np.zeros((naocc[1], navir[1], nocc[0], nvir[0]), dtype=types[float]) - x780 += einsum(t2.abab[np.ix_(soa,sOb,sva,sVb)], (0, 1, 2, 3), v.aaaa.ovov, (4, 5, 0, 2), (1, 3, 4, 5)) - x781 = np.zeros((naocc[0], naocc[1], navir[1], nocc[0]), dtype=types[float]) - x781 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), x780, (2, 3, 4, 1), (0, 2, 3, 4)) - x782 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x782 += einsum(t2.abab[np.ix_(soa,sOb,sVa,sVb)], (0, 1, 2, 3), x781, (4, 5, 6, 0), (4, 1, 5, 2, 3, 6)) * -1.0 - t3new_babbab += einsum(x782, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) - t3new_babbab += einsum(x782, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -1.0 - t3new_babbab += einsum(x782, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 - t3new_babbab += einsum(x782, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) - del x782 - x783 = np.zeros((naocc[0], naocc[1], naocc[1], navir[1], navir[1], nocc[0]), dtype=types[float]) - x783 += einsum(t2.abab[np.ix_(sOa,sOb,sva,sVb)], (0, 1, 2, 3), x780, (4, 5, 6, 2), (0, 1, 4, 3, 5, 6)) * -1.0 - x784 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x784 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x783, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) - del x783 - t3new_babbab += einsum(x784, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) - t3new_babbab += einsum(x784, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 - t3new_babbab += einsum(x784, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -1.0 - t3new_babbab += einsum(x784, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) - del x784 - x785 = np.zeros((naocc[0], naocc[1], naocc[1], navir[1], navir[1], nocc[0]), dtype=types[float]) - x785 += einsum(t2.abab[np.ix_(sOa,sOb,sva,sVb)], (0, 1, 2, 3), x777, (4, 5, 6, 2), (0, 1, 4, 3, 5, 6)) * -1.0 - x786 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x786 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x785, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) - del x785 - t3new_babbab += einsum(x786, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 - t3new_babbab += einsum(x786, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) - t3new_babbab += einsum(x786, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) - t3new_babbab += einsum(x786, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 - del x786 - x787 = np.zeros((naocc[0], naocc[1], navir[1], nocc[0]), dtype=types[float]) - x787 += einsum(x11, (0, 1), t2.abab[np.ix_(sOa,sOb,sva,sVb)], (2, 3, 1, 4), (2, 3, 4, 0)) * -1.0 - del x11 - x788 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x788 += einsum(t2.abab[np.ix_(soa,sOb,sVa,sVb)], (0, 1, 2, 3), x787, (4, 5, 6, 0), (4, 5, 1, 2, 6, 3)) * -1.0 - t3new_babbab += einsum(x788, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 - t3new_babbab += einsum(x788, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) - t3new_babbab += einsum(x788, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) - t3new_babbab += einsum(x788, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 - del x788 - x789 = np.zeros((naocc[0], naocc[1], navir[1], nocc[0]), dtype=types[float]) - x789 += einsum(x12, (0, 1), t2.abab[np.ix_(sOa,sOb,sva,sVb)], (2, 3, 1, 4), (2, 3, 4, 0)) * -1.0 - del x12 - x790 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x790 += einsum(t2.abab[np.ix_(soa,sOb,sVa,sVb)], (0, 1, 2, 3), x789, (4, 5, 6, 0), (4, 5, 1, 2, 6, 3)) * -1.0 - t3new_babbab += einsum(x790, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) - t3new_babbab += einsum(x790, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 - t3new_babbab += einsum(x790, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -1.0 - t3new_babbab += einsum(x790, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) - del x790 - x791 = np.zeros((naocc[1], navir[1], nocc[0], nvir[0]), dtype=types[float]) - x791 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,sVb)], (0, 1, 2, 3), v.aabb.ovov, (4, 5, 0, 2), (1, 3, 4, 5)) - x792 = np.zeros((naocc[0], naocc[1], navir[1], nocc[0]), dtype=types[float]) - x792 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), x791, (2, 3, 4, 1), (0, 2, 3, 4)) - x793 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x793 += einsum(t2.abab[np.ix_(soa,sOb,sVa,sVb)], (0, 1, 2, 3), x792, (4, 5, 6, 0), (4, 5, 1, 2, 6, 3)) * -1.0 - t3new_babbab += einsum(x793, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 - t3new_babbab += einsum(x793, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 - t3new_babbab += einsum(x793, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -2.0 - t3new_babbab += einsum(x793, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * 2.0 - del x793 - x794 = np.zeros((naocc[1], navir[0], nocc[1], nvir[0]), dtype=types[float]) - x794 += einsum(t2.abab[np.ix_(soa,sOb,sVa,svb)], (0, 1, 2, 3), v.aabb.ovov, (0, 4, 5, 3), (1, 2, 5, 4)) * -1.0 - x795 = np.zeros((naocc[0], naocc[1], navir[0], nocc[1]), dtype=types[float]) - x795 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), x794, (2, 3, 4, 1), (0, 2, 3, 4)) - x796 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x796 += einsum(t2.bbbb[np.ix_(sob,sOb,sVb,sVb)], (0, 1, 2, 3), x795, (4, 5, 6, 0), (4, 1, 5, 6, 2, 3)) * -1.0 - t3new_babbab += einsum(x796, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 - t3new_babbab += einsum(x796, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -2.0 - del x796 - x797 = np.zeros((naocc[0], naocc[1], naocc[1], navir[1], nocc[0], nocc[1]), dtype=types[float]) - x797 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), t2.bbbb[np.ix_(sOb,sOb,svb,sVb)], (2, 3, 4, 5), v.aabb.ovov, (6, 1, 7, 4), (0, 2, 3, 5, 6, 7)) * -1.0 - x798 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x798 += einsum(t2.abab[np.ix_(soa,sob,sVa,sVb)], (0, 1, 2, 3), x797, (4, 5, 6, 7, 0, 1), (4, 5, 6, 2, 7, 3)) - del x797 - t3new_babbab += einsum(x798, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 - t3new_babbab += einsum(x798, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 - del x798 - x799 = np.zeros((naocc[0], naocc[1], naocc[1], navir[1], navir[1], nocc[0]), dtype=types[float]) - x799 += einsum(t2.abab[np.ix_(sOa,sOb,sva,sVb)], (0, 1, 2, 3), x791, (4, 5, 6, 2), (0, 1, 4, 3, 5, 6)) * -1.0 - x800 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x800 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x799, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) - del x799 - t3new_babbab += einsum(x800, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * 2.0 - t3new_babbab += einsum(x800, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -2.0 - t3new_babbab += einsum(x800, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 - t3new_babbab += einsum(x800, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 - del x800 - x801 = np.zeros((naocc[0], naocc[1], nocc[0], nocc[1]), dtype=types[float]) - x801 += einsum(t2.abab[np.ix_(sOa,sOb,sva,svb)], (0, 1, 2, 3), v.aabb.ovov, (4, 2, 5, 3), (0, 1, 4, 5)) - x802 = np.zeros((naocc[0], naocc[1], naocc[1], navir[1], navir[1], nocc[0]), dtype=types[float]) - x802 += einsum(t2.bbbb[np.ix_(sob,sOb,sVb,sVb)], (0, 1, 2, 3), x801, (4, 5, 6, 0), (4, 5, 1, 2, 3, 6)) * -1.0 - x803 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x803 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x802, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) - del x802 - t3new_babbab += einsum(x803, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -2.0 - t3new_babbab += einsum(x803, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 - del x803 - x804 = np.zeros((naocc[0], navir[1], nocc[0], nvir[1]), dtype=types[float]) - x804 += einsum(t2.abab[np.ix_(sOa,sob,sva,sVb)], (0, 1, 2, 3), v.aabb.ovov, (4, 2, 1, 5), (0, 3, 4, 5)) * -1.0 - x805 = np.zeros((naocc[0], naocc[1], naocc[1], navir[1], navir[1], nocc[0]), dtype=types[float]) - x805 += einsum(t2.bbbb[np.ix_(sOb,sOb,svb,sVb)], (0, 1, 2, 3), x804, (4, 5, 6, 2), (4, 0, 1, 3, 5, 6)) * -1.0 - x806 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x806 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x805, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) - del x805 - t3new_babbab += einsum(x806, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -2.0 - t3new_babbab += einsum(x806, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 - del x806 - x807 = np.zeros((naocc[0], naocc[1], navir[0], nocc[1]), dtype=types[float]) - x807 += einsum(x0, (0, 1), t2.abab[np.ix_(sOa,sOb,sVa,svb)], (2, 3, 4, 1), (2, 3, 4, 0)) - x808 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x808 += einsum(t2.bbbb[np.ix_(sob,sOb,sVb,sVb)], (0, 1, 2, 3), x807, (4, 5, 6, 0), (4, 5, 1, 6, 2, 3)) * -1.0 - t3new_babbab += einsum(x808, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * 2.0 - t3new_babbab += einsum(x808, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 - del x808 - x809 = np.zeros((naocc[1], naocc[1], navir[1], nocc[1]), dtype=types[float]) - x809 += einsum(x0, (0, 1), t2.bbbb[np.ix_(sOb,sOb,svb,sVb)], (2, 3, 1, 4), (2, 3, 4, 0)) * -1.0 - del x0 - x810 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x810 += einsum(t2.abab[np.ix_(sOa,sob,sVa,sVb)], (0, 1, 2, 3), x809, (4, 5, 6, 1), (0, 5, 4, 2, 6, 3)) * -1.0 - t3new_babbab += einsum(x810, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -2.0 - t3new_babbab += einsum(x810, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 - del x810 - x811 = np.zeros((naocc[0], naocc[1], naocc[1], navir[1], nocc[0], nocc[1]), dtype=types[float]) - x811 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), t2.abab[np.ix_(sOa,sOb,sva,sVb)], (2, 3, 4, 5), v.aabb.ovov, (6, 4, 7, 1), (2, 0, 3, 5, 6, 7)) * -1.0 - x812 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x812 += einsum(t2.abab[np.ix_(soa,sob,sVa,sVb)], (0, 1, 2, 3), x811, (4, 5, 6, 7, 0, 1), (4, 5, 6, 2, 7, 3)) - del x811 - t3new_babbab += einsum(x812, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) - t3new_babbab += einsum(x812, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 - t3new_babbab += einsum(x812, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -1.0 - t3new_babbab += einsum(x812, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) - del x812 - x813 = np.zeros((naocc[1], navir[1], nocc[1], nvir[1]), dtype=types[float]) - x813 += einsum(t2.abab[np.ix_(soa,sOb,sva,sVb)], (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 5), (1, 3, 4, 5)) - x814 = np.zeros((naocc[1], naocc[1], navir[1], nocc[1]), dtype=types[float]) - x814 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), x813, (2, 3, 4, 1), (0, 2, 3, 4)) - x815 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x815 += einsum(t2.abab[np.ix_(sOa,sob,sVa,sVb)], (0, 1, 2, 3), x814, (4, 5, 6, 1), (0, 4, 5, 2, 3, 6)) - t3new_babbab += einsum(x815, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 - t3new_babbab += einsum(x815, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) - t3new_babbab += einsum(x815, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) - t3new_babbab += einsum(x815, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 - del x815 - x816 = np.zeros((naocc[0], naocc[1], navir[1], nocc[0]), dtype=types[float]) - x816 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), x804, (2, 3, 4, 1), (2, 0, 3, 4)) - x817 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x817 += einsum(t2.abab[np.ix_(soa,sOb,sVa,sVb)], (0, 1, 2, 3), x816, (4, 5, 6, 0), (4, 5, 1, 2, 6, 3)) * -1.0 - t3new_babbab += einsum(x817, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) - t3new_babbab += einsum(x817, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 - t3new_babbab += einsum(x817, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -1.0 - t3new_babbab += einsum(x817, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) - del x817 - x818 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], nocc[1]), dtype=types[float]) - x818 += einsum(t2.abab[np.ix_(sOa,sOb,sva,sVb)], (0, 1, 2, 3), x794, (4, 5, 6, 2), (0, 1, 4, 5, 3, 6)) * -1.0 - x819 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x819 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), x818, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 1, 6)) - del x818 - t3new_babbab += einsum(x819, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 - t3new_babbab += einsum(x819, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) - t3new_babbab += einsum(x819, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) - t3new_babbab += einsum(x819, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 - del x819 - x820 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], nocc[1]), dtype=types[float]) - x820 += einsum(t2.abab[np.ix_(soa,sOb,sVa,sVb)], (0, 1, 2, 3), x801, (4, 5, 0, 6), (4, 5, 1, 2, 3, 6)) * -1.0 - x821 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x821 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), x820, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 1, 6)) - del x820 - t3new_babbab += einsum(x821, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 - t3new_babbab += einsum(x821, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) - t3new_babbab += einsum(x821, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) - t3new_babbab += einsum(x821, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 - del x821 - x822 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], nocc[1]), dtype=types[float]) - x822 += einsum(t2.abab[np.ix_(sOa,sOb,sVa,svb)], (0, 1, 2, 3), x813, (4, 5, 6, 3), (0, 1, 4, 2, 5, 6)) - x823 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x823 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), x822, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 1, 6)) - del x822 - t3new_babbab += einsum(x823, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 - t3new_babbab += einsum(x823, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) - t3new_babbab += einsum(x823, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) - t3new_babbab += einsum(x823, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 - del x823 - x824 = np.zeros((naocc[0], naocc[1], navir[1], nocc[0]), dtype=types[float]) - x824 += einsum(x15, (0, 1), t2.abab[np.ix_(sOa,sOb,sva,sVb)], (2, 3, 1, 4), (2, 3, 4, 0)) * -1.0 - del x15 - x825 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x825 += einsum(t2.abab[np.ix_(soa,sOb,sVa,sVb)], (0, 1, 2, 3), x824, (4, 5, 6, 0), (4, 5, 1, 2, 6, 3)) * -1.0 - t3new_babbab += einsum(x825, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 - t3new_babbab += einsum(x825, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) - t3new_babbab += einsum(x825, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) - t3new_babbab += einsum(x825, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 - del x825 - x826 = np.zeros((naocc[1], navir[1], nocc[1], nvir[1]), dtype=types[float]) - x826 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,sVb)], (0, 1, 2, 3), v.bbbb.ovov, (4, 5, 0, 2), (1, 3, 4, 5)) - x827 = np.zeros((naocc[1], naocc[1], navir[1], nocc[1]), dtype=types[float]) - x827 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), x826, (2, 3, 4, 1), (0, 2, 3, 4)) - x828 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x828 += einsum(t2.abab[np.ix_(sOa,sob,sVa,sVb)], (0, 1, 2, 3), x827, (4, 5, 6, 1), (0, 4, 5, 2, 3, 6)) - t3new_babbab += einsum(x828, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 - t3new_babbab += einsum(x828, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -2.0 - t3new_babbab += einsum(x828, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -2.0 - t3new_babbab += einsum(x828, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * 2.0 - del x828 - x829 = np.zeros((naocc[0], navir[0], nocc[1], nvir[1]), dtype=types[float]) - x829 += einsum(t2.abab[np.ix_(sOa,sob,sVa,svb)], (0, 1, 2, 3), v.bbbb.ovov, (4, 3, 1, 5), (0, 2, 4, 5)) - x830 = np.zeros((naocc[0], naocc[1], navir[0], nocc[1]), dtype=types[float]) - x830 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), x829, (2, 3, 4, 1), (2, 0, 3, 4)) - x831 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x831 += einsum(t2.bbbb[np.ix_(sob,sOb,sVb,sVb)], (0, 1, 2, 3), x830, (4, 5, 6, 0), (4, 5, 1, 6, 2, 3)) * -1.0 - t3new_babbab += einsum(x831, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 - t3new_babbab += einsum(x831, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -2.0 - del x831 - x832 = np.zeros((naocc[1], navir[1], nocc[1], nvir[1]), dtype=types[float]) - x832 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,sVb)], (0, 1, 2, 3), v.bbbb.ovov, (4, 2, 0, 5), (1, 3, 4, 5)) - x833 = np.zeros((naocc[1], naocc[1], navir[1], nocc[1]), dtype=types[float]) - x833 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), x832, (2, 3, 4, 1), (0, 2, 3, 4)) - x834 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x834 += einsum(t2.abab[np.ix_(sOa,sob,sVa,sVb)], (0, 1, 2, 3), x833, (4, 5, 6, 1), (0, 4, 5, 2, 3, 6)) - t3new_babbab += einsum(x834, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 - t3new_babbab += einsum(x834, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 - t3new_babbab += einsum(x834, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * 2.0 - t3new_babbab += einsum(x834, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -2.0 - del x834 - x835 = np.zeros((naocc[0], navir[0], nocc[1], nvir[1]), dtype=types[float]) - x835 += einsum(t2.abab[np.ix_(sOa,sob,sVa,svb)], (0, 1, 2, 3), v.bbbb.ovov, (4, 5, 1, 3), (0, 2, 4, 5)) - x836 = np.zeros((naocc[0], naocc[1], navir[0], nocc[1]), dtype=types[float]) - x836 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), x835, (2, 3, 4, 1), (2, 0, 3, 4)) - x837 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x837 += einsum(t2.bbbb[np.ix_(sob,sOb,sVb,sVb)], (0, 1, 2, 3), x836, (4, 5, 6, 0), (4, 5, 1, 6, 2, 3)) * -1.0 - t3new_babbab += einsum(x837, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 - t3new_babbab += einsum(x837, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * 2.0 - del x837 - x838 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], nocc[1], nocc[1]), dtype=types[float]) - x838 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), t2.abab[np.ix_(sOa,sOb,sVa,svb)], (2, 3, 4, 5), v.bbbb.ovov, (6, 1, 7, 5), (2, 0, 3, 4, 6, 7)) - x839 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x839 += einsum(t2.bbbb[np.ix_(sob,sob,sVb,sVb)], (0, 1, 2, 3), x838, (4, 5, 6, 7, 0, 1), (4, 5, 6, 7, 2, 3)) - del x838 - t3new_babbab += einsum(x839, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 - t3new_babbab += einsum(x839, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 - t3new_babbab += einsum(x839, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) - t3new_babbab += einsum(x839, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) - del x839 - x840 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], nocc[1]), dtype=types[float]) - x840 += einsum(t2.abab[np.ix_(sOa,sOb,sVa,svb)], (0, 1, 2, 3), x826, (4, 5, 6, 3), (0, 1, 4, 2, 5, 6)) - x841 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x841 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), x840, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 1, 6)) - del x840 - t3new_babbab += einsum(x841, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * 2.0 - t3new_babbab += einsum(x841, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -2.0 - t3new_babbab += einsum(x841, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -2.0 - t3new_babbab += einsum(x841, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 - del x841 - x842 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], nocc[1]), dtype=types[float]) - x842 += einsum(t2.abab[np.ix_(sOa,sOb,sVa,svb)], (0, 1, 2, 3), x832, (4, 5, 6, 3), (0, 1, 4, 2, 5, 6)) - x843 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x843 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), x842, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 1, 6)) - del x842 - t3new_babbab += einsum(x843, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -2.0 - t3new_babbab += einsum(x843, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 - t3new_babbab += einsum(x843, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * 2.0 - t3new_babbab += einsum(x843, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 - del x843 - x844 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], nocc[1]), dtype=types[float]) - x844 += einsum(t2.bbbb[np.ix_(sOb,sOb,svb,sVb)], (0, 1, 2, 3), x829, (4, 5, 6, 2), (4, 0, 1, 5, 3, 6)) * -1.0 - x845 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x845 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), x844, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 1, 6)) - del x844 - t3new_babbab += einsum(x845, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -2.0 - t3new_babbab += einsum(x845, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 - del x845 - x846 = np.zeros((naocc[1], naocc[1], nocc[1], nocc[1]), dtype=types[float]) - x846 += einsum(t2.bbbb[np.ix_(sOb,sOb,svb,svb)], (0, 1, 2, 3), v.bbbb.ovov, (4, 2, 5, 3), (0, 1, 4, 5)) - x847 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], nocc[1]), dtype=types[float]) - x847 += einsum(t2.abab[np.ix_(sOa,sob,sVa,sVb)], (0, 1, 2, 3), x846, (4, 5, 1, 6), (0, 4, 5, 2, 3, 6)) * -1.0 - x848 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x848 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), x847, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 1, 6)) - del x847 - t3new_babbab += einsum(x848, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) - t3new_babbab += einsum(x848, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) - t3new_babbab += einsum(x848, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 - t3new_babbab += einsum(x848, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 - del x848 - x849 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], nocc[1]), dtype=types[float]) - x849 += einsum(t2.bbbb[np.ix_(sOb,sOb,svb,sVb)], (0, 1, 2, 3), x835, (4, 5, 6, 2), (4, 0, 1, 5, 3, 6)) * -1.0 - x850 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x850 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), x849, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 1, 6)) - del x849 - t3new_babbab += einsum(x850, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 - t3new_babbab += einsum(x850, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 - del x850 - x851 = np.zeros((naocc[0], naocc[1], navir[0], nocc[1]), dtype=types[float]) - x851 += einsum(x1, (0, 1), t2.abab[np.ix_(sOa,sOb,sVa,svb)], (2, 3, 4, 1), (2, 3, 4, 0)) - x852 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x852 += einsum(t2.bbbb[np.ix_(sob,sOb,sVb,sVb)], (0, 1, 2, 3), x851, (4, 5, 6, 0), (4, 5, 1, 6, 2, 3)) * -1.0 - t3new_babbab += einsum(x852, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * 2.0 - t3new_babbab += einsum(x852, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 - del x852 - x853 = np.zeros((naocc[0], naocc[1], navir[0], nocc[1]), dtype=types[float]) - x853 += einsum(x20, (0, 1), t2.abab[np.ix_(sOa,sOb,sVa,svb)], (2, 3, 4, 1), (2, 3, 4, 0)) - x854 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x854 += einsum(t2.bbbb[np.ix_(sob,sOb,sVb,sVb)], (0, 1, 2, 3), x853, (4, 5, 6, 0), (4, 5, 1, 6, 2, 3)) * -1.0 - t3new_babbab += einsum(x854, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -2.0 - t3new_babbab += einsum(x854, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 - del x854 - x855 = np.zeros((naocc[1], naocc[1], navir[1], nocc[1]), dtype=types[float]) - x855 += einsum(x1, (0, 1), t2.bbbb[np.ix_(sOb,sOb,svb,sVb)], (2, 3, 1, 4), (2, 3, 4, 0)) * -1.0 - del x1 - x856 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x856 += einsum(t2.abab[np.ix_(sOa,sob,sVa,sVb)], (0, 1, 2, 3), x855, (4, 5, 6, 1), (0, 5, 4, 2, 6, 3)) * -1.0 - t3new_babbab += einsum(x856, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -2.0 - t3new_babbab += einsum(x856, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 - del x856 - x857 = np.zeros((naocc[1], naocc[1], navir[1], nocc[1]), dtype=types[float]) - x857 += einsum(x20, (0, 1), t2.bbbb[np.ix_(sOb,sOb,svb,sVb)], (2, 3, 1, 4), (2, 3, 4, 0)) * -1.0 - del x20 - x858 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x858 += einsum(t2.abab[np.ix_(sOa,sob,sVa,sVb)], (0, 1, 2, 3), x857, (4, 5, 6, 1), (0, 5, 4, 2, 6, 3)) * -1.0 - t3new_babbab += einsum(x858, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 - t3new_babbab += einsum(x858, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 - del x858 - x859 = np.zeros((naocc[0], navir[0], nocc[1], nvir[1]), dtype=types[float]) - x859 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sVa)], (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 5), (1, 3, 4, 5)) - x860 = np.zeros((naocc[0], naocc[1], navir[0], nocc[1]), dtype=types[float]) - x860 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), x859, (2, 3, 4, 1), (2, 0, 3, 4)) - x861 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x861 += einsum(t2.bbbb[np.ix_(sob,sOb,sVb,sVb)], (0, 1, 2, 3), x860, (4, 5, 6, 0), (4, 5, 1, 6, 2, 3)) * -1.0 - t3new_babbab += einsum(x861, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -4.0 - t3new_babbab += einsum(x861, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * 4.0 - del x861 - x862 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], nocc[1]), dtype=types[float]) - x862 += einsum(t2.bbbb[np.ix_(sOb,sOb,svb,sVb)], (0, 1, 2, 3), x859, (4, 5, 6, 2), (4, 0, 1, 5, 3, 6)) * -1.0 - x863 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x863 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), x862, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 1, 6)) - del x862 - t3new_babbab += einsum(x863, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 4.0 - t3new_babbab += einsum(x863, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -4.0 - del x863 - x864 = np.zeros((naocc[1], naocc[1], navir[1], navir[1], nocc[0], nvir[0]), dtype=types[float]) - x864 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), t2.bbbb[np.ix_(sob,sOb,sVb,sVb)], (2, 3, 4, 5), v.aabb.ovov, (6, 7, 2, 1), (0, 3, 4, 5, 6, 7)) * -1.0 - x865 = np.zeros((naocc[0], naocc[1], naocc[1], navir[1], navir[1], nocc[0]), dtype=types[float]) - x865 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), x864, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) - del x864 - x866 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x866 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x865, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) - del x865 - t3new_babbab += einsum(x866, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 - t3new_babbab += einsum(x866, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -2.0 - del x866 - x867 = np.zeros((naocc[1], naocc[1], navir[1], navir[1], nocc[0], nvir[0]), dtype=types[float]) - x867 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), t2.bbbb[np.ix_(sOb,sOb,svb,sVb)], (2, 3, 4, 5), v.aabb.ovov, (6, 7, 0, 4), (2, 3, 1, 5, 6, 7)) * -1.0 - x868 = np.zeros((naocc[0], naocc[1], naocc[1], navir[1], navir[1], nocc[0]), dtype=types[float]) - x868 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), x867, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) - del x867 - x869 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x869 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x868, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) - del x868 - t3new_babbab += einsum(x869, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -2.0 - t3new_babbab += einsum(x869, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 - del x869 - x870 = np.zeros((naocc[1], naocc[1], navir[0], navir[1], nocc[1], nvir[0]), dtype=types[float]) - x870 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), t2.abab[np.ix_(soa,sOb,sVa,sVb)], (2, 3, 4, 5), v.aabb.ovov, (2, 6, 7, 1), (0, 3, 4, 5, 7, 6)) * -1.0 - x871 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], nocc[1]), dtype=types[float]) - x871 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), x870, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) - del x870 - x872 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x872 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), x871, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 1, 6)) - del x871 - t3new_babbab += einsum(x872, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 - t3new_babbab += einsum(x872, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) - t3new_babbab += einsum(x872, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) - t3new_babbab += einsum(x872, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 - del x872 - x873 = np.zeros((naocc[0], naocc[1], navir[1], navir[1], nocc[0], nvir[1]), dtype=types[float]) - x873 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), t2.abab[np.ix_(sOa,sOb,sva,sVb)], (2, 3, 4, 5), v.aabb.ovov, (6, 4, 0, 7), (2, 3, 1, 5, 6, 7)) * -1.0 - x874 = np.zeros((naocc[0], naocc[1], naocc[1], navir[1], navir[1], nocc[0]), dtype=types[float]) - x874 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), x873, (2, 3, 4, 5, 6, 1), (2, 0, 3, 4, 5, 6)) - del x873 - x875 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x875 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x874, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) - del x874 - t3new_babbab += einsum(x875, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 - t3new_babbab += einsum(x875, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) - t3new_babbab += einsum(x875, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) - t3new_babbab += einsum(x875, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 - del x875 - x876 = np.zeros((naocc[0], naocc[1], navir[0], navir[1], nocc[1], nvir[1]), dtype=types[float]) - x876 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), t2.abab[np.ix_(sOa,sob,sVa,sVb)], (2, 3, 4, 5), v.bbbb.ovov, (6, 7, 3, 1), (2, 0, 4, 5, 6, 7)) - x877 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], nocc[1]), dtype=types[float]) - x877 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), x876, (2, 3, 4, 5, 6, 1), (2, 0, 3, 4, 5, 6)) - del x876 - x878 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x878 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), x877, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 1, 6)) - del x877 - t3new_babbab += einsum(x878, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) - t3new_babbab += einsum(x878, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -1.0 - t3new_babbab += einsum(x878, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 - t3new_babbab += einsum(x878, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) - del x878 - x879 = np.zeros((naocc[0], naocc[1], navir[0], navir[1], nocc[1], nvir[1]), dtype=types[float]) - x879 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), t2.abab[np.ix_(sOa,sOb,sVa,svb)], (2, 3, 4, 5), v.bbbb.ovov, (6, 7, 0, 5), (2, 3, 4, 1, 6, 7)) - x880 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], nocc[1]), dtype=types[float]) - x880 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), x879, (2, 3, 4, 5, 6, 1), (2, 0, 3, 4, 5, 6)) - del x879 - x881 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) - x881 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), x880, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 1, 6)) - del x880 - t3new_babbab += einsum(x881, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) - t3new_babbab += einsum(x881, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 - t3new_babbab += einsum(x881, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -1.0 - t3new_babbab += einsum(x881, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) - del x881 - x882 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x882 += einsum(f.aa.OO, (0, 1), t3.abaaba, (2, 3, 1, 4, 5, 6), (0, 2, 3, 4, 6, 5)) - t3new_abaaba += einsum(x882, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 - t3new_abaaba += einsum(x882, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 2.0 - del x882 - x883 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x883 += einsum(f.aa.VV, (0, 1), t3.abaaba, (2, 3, 4, 5, 6, 1), (2, 4, 3, 0, 5, 6)) - t3new_abaaba += einsum(x883, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 - t3new_abaaba += einsum(x883, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 - del x883 - x884 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x884 += einsum(t2.abab[np.ix_(soa,sOb,sVa,sVb)], (0, 1, 2, 3), v.aaaa.oOOV, (0, 4, 5, 6), (5, 4, 1, 2, 6, 3)) * -1.0 - t3new_abaaba += einsum(x884, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) - t3new_abaaba += einsum(x884, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 - t3new_abaaba += einsum(x884, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - t3new_abaaba += einsum(x884, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - del x884 - x885 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x885 += einsum(t2.abab[np.ix_(sOa,sob,sVa,sVb)], (0, 1, 2, 3), v.aabb.OVoO, (4, 5, 1, 6), (0, 4, 6, 2, 5, 3)) - t3new_abaaba += einsum(x885, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - t3new_abaaba += einsum(x885, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - t3new_abaaba += einsum(x885, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 - t3new_abaaba += einsum(x885, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) - del x885 - x886 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x886 += einsum(t2.abab[np.ix_(sOa,sOb,sVa,svb)], (0, 1, 2, 3), v.aabb.OVvV, (4, 5, 3, 6), (0, 4, 1, 2, 5, 6)) - t3new_abaaba += einsum(x886, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 - t3new_abaaba += einsum(x886, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - t3new_abaaba += einsum(x886, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) - t3new_abaaba += einsum(x886, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -1.0 - del x886 - x887 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x887 += einsum(t2.abab[np.ix_(sOa,sOb,sva,sVb)], (0, 1, 2, 3), v.aaaa.vVOV, (2, 4, 5, 6), (0, 5, 1, 6, 4, 3)) * -1.0 - t3new_abaaba += einsum(x887, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - t3new_abaaba += einsum(x887, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 - t3new_abaaba += einsum(x887, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -1.0 - t3new_abaaba += einsum(x887, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) - del x887 - x888 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x888 += einsum(t2.aaaa[np.ix_(soa,sOa,sVa,sVa)], (0, 1, 2, 3), v.aabb.oOOV, (0, 4, 5, 6), (1, 4, 5, 2, 3, 6)) * -1.0 - t3new_abaaba += einsum(x888, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 - t3new_abaaba += einsum(x888, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -2.0 - del x888 - x889 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x889 += einsum(t2.aaaa[np.ix_(sOa,sOa,sva,sVa)], (0, 1, 2, 3), v.aabb.vVOV, (2, 4, 5, 6), (0, 1, 5, 3, 4, 6)) * -1.0 - t3new_abaaba += einsum(x889, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 - t3new_abaaba += einsum(x889, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.0 - del x889 - x890 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x890 += einsum(v.aabb.OOOO, (0, 1, 2, 3), t3.abaaba, (4, 3, 1, 5, 6, 7), (4, 0, 2, 5, 7, 6)) - t3new_abaaba += einsum(x890, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 2.0 - t3new_abaaba += einsum(x890, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 - del x890 - x891 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x891 += einsum(v.aaaa.OOVV, (0, 1, 2, 3), t3.abaaba, (4, 5, 1, 6, 7, 3), (4, 0, 5, 6, 2, 7)) - t3new_abaaba += einsum(x891, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -2.0 - t3new_abaaba += einsum(x891, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * 2.0 - t3new_abaaba += einsum(x891, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 - t3new_abaaba += einsum(x891, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 - del x891 - x892 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x892 += einsum(v.aabb.OOVV, (0, 1, 2, 3), t3.abaaba, (4, 5, 1, 6, 3, 7), (4, 0, 5, 6, 7, 2)) - t3new_abaaba += einsum(x892, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -2.0 - t3new_abaaba += einsum(x892, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 - del x892 - x893 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x893 += einsum(v.aaaa.OVOV, (0, 1, 2, 3), t3.abaaba, (4, 5, 2, 6, 7, 3), (4, 0, 5, 6, 1, 7)) - t3new_abaaba += einsum(x893, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 2.0 - t3new_abaaba += einsum(x893, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -2.0 - t3new_abaaba += einsum(x893, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 - t3new_abaaba += einsum(x893, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.0 - del x893 - x894 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x894 += einsum(v.aabb.VVOO, (0, 1, 2, 3), t3.abaaba, (4, 3, 5, 6, 7, 1), (4, 5, 2, 6, 0, 7)) - t3new_abaaba += einsum(x894, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 - t3new_abaaba += einsum(x894, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 - del x894 - x895 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x895 += einsum(v.aabb.VVVV, (0, 1, 2, 3), t3.abaaba, (4, 5, 6, 7, 3, 1), (4, 6, 5, 7, 0, 2)) - t3new_abaaba += einsum(x895, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 - t3new_abaaba += einsum(x895, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.0 - del x895 - x896 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x896 += einsum(v.aabb.OVOV, (0, 1, 2, 3), t3.babbab, (4, 5, 2, 6, 7, 3), (5, 0, 4, 7, 1, 6)) - t3new_abaaba += einsum(x896, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 2.0 - t3new_abaaba += einsum(x896, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -2.0 - t3new_abaaba += einsum(x896, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 - t3new_abaaba += einsum(x896, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.0 - del x896 - x897 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x897 += einsum(x299, (0, 1), t3.abaaba, (2, 3, 0, 4, 5, 6), (1, 2, 3, 4, 6, 5)) - del x299 - t3new_abaaba += einsum(x897, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 - t3new_abaaba += einsum(x897, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 2.0 - del x897 - x898 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x898 += einsum(x301, (0, 1), t3.abaaba, (2, 3, 4, 5, 6, 0), (2, 4, 3, 1, 5, 6)) - del x301 - t3new_abaaba += einsum(x898, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.0 - t3new_abaaba += einsum(x898, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 - del x898 - x899 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x899 += einsum(t2.abab[np.ix_(sOa,sob,sVa,sVb)], (0, 1, 2, 3), x495, (4, 5, 6, 1), (4, 0, 5, 6, 2, 3)) - del x495 - t3new_abaaba += einsum(x899, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - t3new_abaaba += einsum(x899, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - t3new_abaaba += einsum(x899, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 - t3new_abaaba += einsum(x899, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) - del x899 - x900 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x900 += einsum(t2.aaaa[np.ix_(soa,sOa,sVa,sVa)], (0, 1, 2, 3), x493, (4, 5, 6, 0), (4, 1, 5, 2, 3, 6)) * -1.0 - del x493 - t3new_abaaba += einsum(x900, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 - t3new_abaaba += einsum(x900, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -2.0 - del x900 - x901 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x901 += einsum(t2.abab[np.ix_(soa,sOb,sVa,sVb)], (0, 1, 2, 3), x303, (4, 5, 6, 0), (5, 4, 1, 6, 2, 3)) - del x303 - t3new_abaaba += einsum(x901, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 - t3new_abaaba += einsum(x901, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.0 - del x901 - x902 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x902 += einsum(t2.abab[np.ix_(soa,sOb,sVa,sVb)], (0, 1, 2, 3), x305, (4, 5, 6, 0), (4, 5, 1, 2, 6, 3)) * -1.0 - del x305 - t3new_abaaba += einsum(x902, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - t3new_abaaba += einsum(x902, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - t3new_abaaba += einsum(x902, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) - t3new_abaaba += einsum(x902, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 - del x902 - x903 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[1], nocc[0]), dtype=types[float]) - x903 += einsum(t2.abab[np.ix_(sOa,sob,sVa,sVb)], (0, 1, 2, 3), v.aabb.oOoO, (4, 5, 1, 6), (0, 5, 6, 2, 3, 4)) - x904 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x904 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x903, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) - del x903 - t3new_abaaba += einsum(x904, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - t3new_abaaba += einsum(x904, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) - t3new_abaaba += einsum(x904, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - t3new_abaaba += einsum(x904, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 - del x904 - x905 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[1], nocc[0]), dtype=types[float]) - x905 += einsum(t2.abab[np.ix_(soa,sOb,sVa,sVb)], (0, 1, 2, 3), v.aaaa.oOoO, (4, 5, 0, 6), (5, 6, 1, 2, 3, 4)) * -1.0 - x906 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x906 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x905, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) - del x905 - t3new_abaaba += einsum(x906, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - t3new_abaaba += einsum(x906, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) - t3new_abaaba += einsum(x906, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - t3new_abaaba += einsum(x906, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 - del x906 - x907 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[1], nocc[0]), dtype=types[float]) - x907 += einsum(t2.abab[np.ix_(sOa,sOb,sVa,svb)], (0, 1, 2, 3), v.aabb.oOvV, (4, 5, 3, 6), (0, 5, 1, 2, 6, 4)) - x908 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x908 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x907, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) - del x907 - t3new_abaaba += einsum(x908, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - t3new_abaaba += einsum(x908, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -1.0 - t3new_abaaba += einsum(x908, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 - t3new_abaaba += einsum(x908, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) - del x908 - x909 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[1], nocc[0]), dtype=types[float]) - x909 += einsum(t2.abab[np.ix_(sOa,sOb,sva,sVb)], (0, 1, 2, 3), v.aaaa.oOvV, (4, 5, 2, 6), (0, 5, 1, 6, 3, 4)) * -1.0 - x910 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x910 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x909, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) - del x909 - t3new_abaaba += einsum(x910, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - t3new_abaaba += einsum(x910, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) - t3new_abaaba += einsum(x910, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - t3new_abaaba += einsum(x910, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 - del x910 - x911 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x911 += einsum(t2.abab[np.ix_(soa,sOb,sVa,sVb)], (0, 1, 2, 3), x311, (4, 5, 6, 0), (4, 5, 1, 2, 6, 3)) * -1.0 - del x311 - t3new_abaaba += einsum(x911, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 - t3new_abaaba += einsum(x911, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - t3new_abaaba += einsum(x911, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) - t3new_abaaba += einsum(x911, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -1.0 - del x911 - x912 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[1], nocc[0]), dtype=types[float]) - x912 += einsum(t2.abab[np.ix_(sOa,sOb,sva,sVb)], (0, 1, 2, 3), v.aaaa.ovOV, (4, 2, 5, 6), (0, 5, 1, 6, 3, 4)) * -1.0 - x913 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x913 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x912, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) - del x912 - t3new_abaaba += einsum(x913, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - t3new_abaaba += einsum(x913, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -1.0 - t3new_abaaba += einsum(x913, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 - t3new_abaaba += einsum(x913, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) - del x913 - x914 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x914 += einsum(t2.abab[np.ix_(sOa,sob,sVa,sVb)], (0, 1, 2, 3), x506, (4, 5, 6, 1), (4, 0, 5, 2, 6, 3)) - del x506 - t3new_abaaba += einsum(x914, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 - t3new_abaaba += einsum(x914, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - t3new_abaaba += einsum(x914, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) - t3new_abaaba += einsum(x914, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -1.0 - del x914 - x915 = np.zeros((naocc[0], naocc[1], navir[0], navir[0], navir[1], nvir[0]), dtype=types[float]) - x915 += einsum(t2.abab[np.ix_(sOa,sOb,sVa,svb)], (0, 1, 2, 3), v.aabb.vVvV, (4, 5, 3, 6), (0, 1, 2, 5, 6, 4)) - x916 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x916 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), x915, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) - del x915 - t3new_abaaba += einsum(x916, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - t3new_abaaba += einsum(x916, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - t3new_abaaba += einsum(x916, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 - t3new_abaaba += einsum(x916, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) - del x916 - x917 = np.zeros((naocc[0], naocc[1], navir[0], navir[0], navir[1], nvir[0]), dtype=types[float]) - x917 += einsum(t2.abab[np.ix_(sOa,sOb,sva,sVb)], (0, 1, 2, 3), v.aaaa.vVvV, (4, 5, 2, 6), (0, 1, 5, 6, 3, 4)) * -1.0 - x918 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x918 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), x917, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) - del x917 - t3new_abaaba += einsum(x918, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - t3new_abaaba += einsum(x918, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - t3new_abaaba += einsum(x918, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) - t3new_abaaba += einsum(x918, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 - del x918 - x919 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x919 += einsum(t2.aaaa[np.ix_(soa,sOa,sVa,sVa)], (0, 1, 2, 3), x409, (4, 5, 6, 0), (4, 1, 5, 2, 3, 6)) * -1.0 - del x409 - t3new_abaaba += einsum(x919, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 - t3new_abaaba += einsum(x919, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 2.0 - del x919 - x920 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[1], nocc[0]), dtype=types[float]) - x920 += einsum(t2.aaaa[np.ix_(sOa,sOa,sva,sVa)], (0, 1, 2, 3), v.aabb.ovOV, (4, 2, 5, 6), (0, 1, 5, 3, 6, 4)) * -1.0 - x921 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x921 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x920, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) - del x920 - t3new_abaaba += einsum(x921, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.0 - t3new_abaaba += einsum(x921, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 - del x921 - x922 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x922 += einsum(t2.abab[np.ix_(sOa,sob,sVa,sVb)], (0, 1, 2, 3), x530, (4, 5, 6, 1), (0, 4, 5, 2, 6, 3)) - del x530 - t3new_abaaba += einsum(x922, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - t3new_abaaba += einsum(x922, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - t3new_abaaba += einsum(x922, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 - t3new_abaaba += einsum(x922, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) - del x922 - x923 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], nocc[1]), dtype=types[float]) - x923 += einsum(t2.abab[np.ix_(sOa,sOb,sVa,svb)], (0, 1, 2, 3), v.aabb.OVov, (4, 5, 6, 3), (0, 4, 1, 2, 5, 6)) - x924 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x924 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), x923, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 6, 1)) - del x923 - t3new_abaaba += einsum(x924, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - t3new_abaaba += einsum(x924, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - t3new_abaaba += einsum(x924, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 - t3new_abaaba += einsum(x924, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) - del x924 - x925 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x925 += einsum(t2.aaaa[np.ix_(soa,sOa,sVa,sVa)], (0, 1, 2, 3), x512, (4, 5, 6, 0), (1, 4, 5, 2, 3, 6)) * -1.0 - del x512 - t3new_abaaba += einsum(x925, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 - t3new_abaaba += einsum(x925, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -2.0 - del x925 - x926 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], nocc[1]), dtype=types[float]) - x926 += einsum(t2.aaaa[np.ix_(soa,sOa,sVa,sVa)], (0, 1, 2, 3), v.aabb.oOoO, (0, 4, 5, 6), (1, 4, 6, 2, 3, 5)) * -1.0 - x927 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x927 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), x926, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 6, 1)) - del x926 - t3new_abaaba += einsum(x927, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 - t3new_abaaba += einsum(x927, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 2.0 - del x927 - x928 = np.zeros((naocc[0], naocc[0], navir[0], navir[0], navir[1], nvir[1]), dtype=types[float]) - x928 += einsum(t2.aaaa[np.ix_(sOa,sOa,sva,sVa)], (0, 1, 2, 3), v.aabb.vVvV, (2, 4, 5, 6), (0, 1, 3, 4, 6, 5)) * -1.0 - x929 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x929 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), x928, (2, 3, 4, 5, 6, 1), (2, 3, 0, 4, 5, 6)) - del x928 - t3new_abaaba += einsum(x929, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 - t3new_abaaba += einsum(x929, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.0 - del x929 - x930 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], nocc[1]), dtype=types[float]) - x930 += einsum(t2.aaaa[np.ix_(sOa,sOa,sva,sVa)], (0, 1, 2, 3), v.aabb.vVoO, (2, 4, 5, 6), (0, 1, 6, 3, 4, 5)) * -1.0 - x931 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x931 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), x930, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 6, 1)) - del x930 - t3new_abaaba += einsum(x931, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 - t3new_abaaba += einsum(x931, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 - del x931 - x932 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x932 += einsum(x321, (0, 1, 2, 3), t3.abaaba, (2, 4, 3, 5, 6, 7), (0, 1, 4, 5, 7, 6)) - del x321 - t3new_abaaba += einsum(x932, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 - t3new_abaaba += einsum(x932, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -2.0 - del x932 - x933 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x933 += einsum(x323, (0, 1, 2, 3), t3.abaaba, (4, 5, 0, 6, 7, 3), (4, 1, 5, 2, 6, 7)) - del x323 - t3new_abaaba += einsum(x933, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -2.0 - t3new_abaaba += einsum(x933, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.0 - t3new_abaaba += einsum(x933, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 2.0 - t3new_abaaba += einsum(x933, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 - del x933 - x934 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x934 += einsum(x325, (0, 1, 2, 3), t3.abaaba, (4, 5, 1, 6, 7, 3), (4, 0, 5, 2, 6, 7)) - del x325 - t3new_abaaba += einsum(x934, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * 2.0 - t3new_abaaba += einsum(x934, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 - t3new_abaaba += einsum(x934, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -2.0 - t3new_abaaba += einsum(x934, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 - del x934 - x935 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x935 += einsum(x327, (0, 1), t3.abaaba, (2, 3, 1, 4, 5, 6), (2, 0, 3, 4, 6, 5)) - del x327 - t3new_abaaba += einsum(x935, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 2.0 - t3new_abaaba += einsum(x935, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 - del x935 - x936 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x936 += einsum(x329, (0, 1), t3.abaaba, (2, 3, 1, 4, 5, 6), (2, 0, 3, 4, 6, 5)) - del x329 - t3new_abaaba += einsum(x936, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -2.0 - t3new_abaaba += einsum(x936, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 - del x936 - x937 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x937 += einsum(x534, (0, 1, 2, 3), t3.abaaba, (4, 3, 1, 5, 6, 7), (0, 4, 2, 5, 7, 6)) - del x534 - t3new_abaaba += einsum(x937, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 - t3new_abaaba += einsum(x937, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -2.0 - del x937 - x938 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x938 += einsum(x331, (0, 1, 2, 3), t3.abaaba, (4, 5, 1, 6, 7, 3), (0, 4, 5, 6, 2, 7)) - del x331 - t3new_abaaba += einsum(x938, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 - t3new_abaaba += einsum(x938, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.0 - t3new_abaaba += einsum(x938, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 2.0 - t3new_abaaba += einsum(x938, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -2.0 - del x938 - x939 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x939 += einsum(x536, (0, 1, 2, 3), t3.abaaba, (4, 5, 1, 6, 3, 7), (0, 4, 5, 6, 7, 2)) - del x536 - t3new_abaaba += einsum(x939, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 - t3new_abaaba += einsum(x939, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 2.0 - del x939 - x940 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x940 += einsum(x333, (0, 1, 2, 3), t3.abaaba, (4, 5, 1, 6, 7, 2), (0, 4, 5, 6, 3, 7)) - del x333 - t3new_abaaba += einsum(x940, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 - t3new_abaaba += einsum(x940, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 - t3new_abaaba += einsum(x940, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -2.0 - t3new_abaaba += einsum(x940, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * 2.0 - del x940 - x941 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x941 += einsum(x538, (0, 1, 2, 3), t3.abaaba, (4, 1, 5, 6, 7, 3), (4, 5, 0, 2, 6, 7)) - del x538 - t3new_abaaba += einsum(x941, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 - t3new_abaaba += einsum(x941, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 - del x941 - x942 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x942 += einsum(x542, (0, 1, 2, 3), t3.abaaba, (4, 5, 6, 7, 3, 1), (4, 6, 5, 0, 7, 2)) - del x542 - t3new_abaaba += einsum(x942, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.0 - t3new_abaaba += einsum(x942, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 - del x942 - x943 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x943 += einsum(x335, (0, 1, 2, 3), t3.abaaba, (4, 5, 6, 2, 7, 3), (4, 6, 5, 0, 1, 7)) - del x335 - t3new_abaaba += einsum(x943, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.0 - t3new_abaaba += einsum(x943, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 - del x943 - x944 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x944 += einsum(x337, (0, 1), t3.abaaba, (2, 3, 4, 5, 6, 1), (2, 4, 3, 5, 0, 6)) - del x337 - t3new_abaaba += einsum(x944, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 - t3new_abaaba += einsum(x944, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.0 - del x944 - x945 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x945 += einsum(x339, (0, 1), t3.abaaba, (2, 3, 4, 5, 6, 0), (2, 4, 3, 5, 1, 6)) - del x339 - t3new_abaaba += einsum(x945, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 - t3new_abaaba += einsum(x945, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 - del x945 - x946 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x946 += einsum(x317, (0, 1, 2, 3), t3.babbab, (4, 5, 1, 6, 7, 3), (5, 0, 4, 2, 7, 6)) - del x317 - t3new_abaaba += einsum(x946, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -2.0 - t3new_abaaba += einsum(x946, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.0 - t3new_abaaba += einsum(x946, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 2.0 - t3new_abaaba += einsum(x946, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 - del x946 - x947 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x947 += einsum(x319, (0, 1, 2, 3), t3.babbab, (4, 5, 1, 6, 7, 3), (0, 5, 4, 7, 2, 6)) - del x319 - t3new_abaaba += einsum(x947, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 - t3new_abaaba += einsum(x947, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 - t3new_abaaba += einsum(x947, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -2.0 - t3new_abaaba += einsum(x947, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * 2.0 - del x947 - x948 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x948 += einsum(x550, (0, 1, 2, 3), t3.abaaba, (4, 3, 1, 5, 6, 7), (4, 0, 2, 5, 7, 6)) - del x550 - t3new_abaaba += einsum(x948, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 2.0 - t3new_abaaba += einsum(x948, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 - del x948 - x949 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x949 += einsum(x558, (0, 1, 2, 3), t3.abaaba, (4, 5, 1, 6, 3, 7), (4, 0, 5, 6, 7, 2)) - del x558 - t3new_abaaba += einsum(x949, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 2.0 - t3new_abaaba += einsum(x949, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 - del x949 - x950 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x950 += einsum(x341, (0, 1), t3.abaaba, (2, 3, 1, 4, 5, 6), (2, 0, 3, 4, 6, 5)) - del x341 - t3new_abaaba += einsum(x950, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -2.0 - t3new_abaaba += einsum(x950, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 - del x950 - x951 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x951 += einsum(x574, (0, 1, 2, 3), t3.abaaba, (4, 1, 5, 6, 7, 3), (4, 5, 0, 6, 2, 7)) - del x574 - t3new_abaaba += einsum(x951, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 - t3new_abaaba += einsum(x951, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 - del x951 - x952 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x952 += einsum(x576, (0, 1, 2, 3), t3.abaaba, (4, 5, 6, 7, 3, 1), (4, 6, 5, 7, 0, 2)) - del x576 - t3new_abaaba += einsum(x952, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 - t3new_abaaba += einsum(x952, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 - del x952 - x953 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x953 += einsum(x343, (0, 1), t3.abaaba, (2, 3, 4, 5, 6, 1), (2, 4, 3, 5, 0, 6)) - del x343 - t3new_abaaba += einsum(x953, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 - t3new_abaaba += einsum(x953, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.0 - del x953 - x954 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x954 += einsum(t2.abab[np.ix_(sOa,sob,sVa,sVb)], (0, 1, 2, 3), x604, (4, 5, 6, 1), (0, 4, 5, 2, 6, 3)) - del x604 - t3new_abaaba += einsum(x954, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - t3new_abaaba += einsum(x954, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - t3new_abaaba += einsum(x954, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 - t3new_abaaba += einsum(x954, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) - del x954 - x955 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x955 += einsum(t2.abab[np.ix_(sOa,sob,sVa,sVb)], (0, 1, 2, 3), x600, (4, 5, 6, 1), (0, 4, 5, 2, 6, 3)) - del x600 - t3new_abaaba += einsum(x955, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) - t3new_abaaba += einsum(x955, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -1.0 - t3new_abaaba += einsum(x955, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - t3new_abaaba += einsum(x955, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 - del x955 - x956 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x956 += einsum(t2.abab[np.ix_(sOa,sOb,sVa,svb)], (0, 1, 2, 3), x612, (4, 5, 6, 3), (0, 4, 1, 2, 5, 6)) - del x612 - t3new_abaaba += einsum(x956, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - t3new_abaaba += einsum(x956, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 - t3new_abaaba += einsum(x956, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -1.0 - t3new_abaaba += einsum(x956, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) - del x956 - x957 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x957 += einsum(t2.abab[np.ix_(sOa,sob,sVa,sVb)], (0, 1, 2, 3), x610, (4, 5, 6, 1), (0, 4, 5, 2, 6, 3)) - del x610 - t3new_abaaba += einsum(x957, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - t3new_abaaba += einsum(x957, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - t3new_abaaba += einsum(x957, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) - t3new_abaaba += einsum(x957, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 - del x957 - x958 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x958 += einsum(t2.abab[np.ix_(soa,sOb,sVa,sVb)], (0, 1, 2, 3), x345, (4, 5, 6, 0), (4, 5, 1, 6, 2, 3)) * -1.0 - del x345 - t3new_abaaba += einsum(x958, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - t3new_abaaba += einsum(x958, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 - t3new_abaaba += einsum(x958, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -1.0 - t3new_abaaba += einsum(x958, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) - del x958 - x959 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x959 += einsum(t2.abab[np.ix_(sOa,sOb,sVa,svb)], (0, 1, 2, 3), x622, (4, 5, 6, 3), (0, 4, 1, 2, 5, 6)) - del x622 - t3new_abaaba += einsum(x959, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - t3new_abaaba += einsum(x959, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - t3new_abaaba += einsum(x959, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 - t3new_abaaba += einsum(x959, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) - del x959 - x960 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x960 += einsum(t2.abab[np.ix_(sOa,sOb,sVa,svb)], (0, 1, 2, 3), x618, (4, 5, 6, 3), (0, 4, 1, 2, 5, 6)) - del x618 - t3new_abaaba += einsum(x960, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - t3new_abaaba += einsum(x960, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 - t3new_abaaba += einsum(x960, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) - t3new_abaaba += einsum(x960, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -1.0 - del x960 - x961 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x961 += einsum(t2.abab[np.ix_(sOa,sOb,sva,sVb)], (0, 1, 2, 3), x347, (4, 5, 6, 2), (0, 4, 1, 5, 6, 3)) * -1.0 - del x347 - t3new_abaaba += einsum(x961, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 - t3new_abaaba += einsum(x961, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) - t3new_abaaba += einsum(x961, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - t3new_abaaba += einsum(x961, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -1.0 - del x961 - x962 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x962 += einsum(t2.abab[np.ix_(sOa,sob,sVa,sVb)], (0, 1, 2, 3), x626, (4, 5, 6, 1), (4, 0, 5, 2, 6, 3)) - del x626 - t3new_abaaba += einsum(x962, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 - t3new_abaaba += einsum(x962, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) - t3new_abaaba += einsum(x962, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - t3new_abaaba += einsum(x962, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -1.0 - del x962 - x963 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x963 += einsum(t2.abab[np.ix_(sOa,sOb,sVa,svb)], (0, 1, 2, 3), x628, (4, 5, 6, 3), (0, 4, 1, 2, 5, 6)) - del x628 - t3new_abaaba += einsum(x963, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 - t3new_abaaba += einsum(x963, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) - t3new_abaaba += einsum(x963, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - t3new_abaaba += einsum(x963, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -1.0 - del x963 - x964 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x964 += einsum(t2.abab[np.ix_(sOa,sOb,sva,sVb)], (0, 1, 2, 3), x353, (4, 5, 6, 2), (0, 4, 1, 5, 6, 3)) * -1.0 - del x353 - t3new_abaaba += einsum(x964, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 - t3new_abaaba += einsum(x964, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 - t3new_abaaba += einsum(x964, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) - t3new_abaaba += einsum(x964, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) - del x964 - x965 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x965 += einsum(t2.abab[np.ix_(soa,sOb,sVa,sVb)], (0, 1, 2, 3), x349, (4, 5, 6, 0), (4, 5, 1, 6, 2, 3)) * -1.0 - del x349 - t3new_abaaba += einsum(x965, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 - t3new_abaaba += einsum(x965, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.0 - t3new_abaaba += einsum(x965, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 2.0 - t3new_abaaba += einsum(x965, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -2.0 - del x965 - x966 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x966 += einsum(t2.aaaa[np.ix_(soa,sOa,sVa,sVa)], (0, 1, 2, 3), x578, (4, 5, 6, 0), (1, 4, 5, 2, 3, 6)) * -1.0 - del x578 - t3new_abaaba += einsum(x966, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 - t3new_abaaba += einsum(x966, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 2.0 - del x966 - x967 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x967 += einsum(t2.abab[np.ix_(soa,sOb,sVa,sVb)], (0, 1, 2, 3), x351, (4, 5, 6, 0), (4, 5, 1, 6, 2, 3)) * -1.0 - del x351 - t3new_abaaba += einsum(x967, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 - t3new_abaaba += einsum(x967, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 - t3new_abaaba += einsum(x967, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -2.0 - t3new_abaaba += einsum(x967, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * 2.0 - del x967 - x968 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x968 += einsum(t2.aaaa[np.ix_(soa,sOa,sVa,sVa)], (0, 1, 2, 3), x580, (4, 5, 6, 0), (1, 4, 5, 2, 3, 6)) * -1.0 - del x580 - t3new_abaaba += einsum(x968, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 - t3new_abaaba += einsum(x968, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -2.0 - del x968 - x969 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x969 += einsum(t2.abab[np.ix_(sOa,sob,sVa,sVb)], (0, 1, 2, 3), x630, (4, 5, 6, 1), (0, 4, 5, 2, 6, 3)) - del x630 - t3new_abaaba += einsum(x969, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 - t3new_abaaba += einsum(x969, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 - t3new_abaaba += einsum(x969, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * 2.0 - t3new_abaaba += einsum(x969, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -2.0 - del x969 - x970 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x970 += einsum(t2.aaaa[np.ix_(soa,sOa,sVa,sVa)], (0, 1, 2, 3), x586, (4, 5, 6, 0), (1, 4, 5, 2, 3, 6)) * -1.0 - del x586 - t3new_abaaba += einsum(x970, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -2.0 - t3new_abaaba += einsum(x970, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 - del x970 - x971 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x971 += einsum(t2.aaaa[np.ix_(sOa,sOa,sva,sVa)], (0, 1, 2, 3), x582, (4, 5, 6, 2), (0, 1, 4, 3, 5, 6)) * -1.0 - del x582 - t3new_abaaba += einsum(x971, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 - t3new_abaaba += einsum(x971, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.0 - del x971 - x972 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x972 += einsum(t2.aaaa[np.ix_(soa,sOa,sVa,sVa)], (0, 1, 2, 3), x590, (4, 5, 6, 0), (4, 1, 5, 2, 3, 6)) * -1.0 - del x590 - t3new_abaaba += einsum(x972, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 - t3new_abaaba += einsum(x972, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 2.0 - del x972 - x973 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x973 += einsum(t2.abab[np.ix_(sOa,sOb,sva,sVb)], (0, 1, 2, 3), x355, (4, 5, 6, 2), (0, 4, 1, 5, 6, 3)) * -1.0 - del x355 - t3new_abaaba += einsum(x973, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 - t3new_abaaba += einsum(x973, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 - t3new_abaaba += einsum(x973, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * 2.0 - t3new_abaaba += einsum(x973, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -2.0 - del x973 - x974 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x974 += einsum(t2.abab[np.ix_(sOa,sOb,sVa,svb)], (0, 1, 2, 3), x632, (4, 5, 6, 3), (0, 4, 1, 2, 5, 6)) - del x632 - t3new_abaaba += einsum(x974, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.0 - t3new_abaaba += einsum(x974, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 - t3new_abaaba += einsum(x974, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -2.0 - t3new_abaaba += einsum(x974, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 2.0 - del x974 - x975 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x975 += einsum(t2.abab[np.ix_(sOa,sOb,sva,sVb)], (0, 1, 2, 3), x359, (4, 5, 6, 2), (0, 4, 1, 5, 6, 3)) * -1.0 - del x359 - t3new_abaaba += einsum(x975, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.0 - t3new_abaaba += einsum(x975, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 - t3new_abaaba += einsum(x975, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -2.0 - t3new_abaaba += einsum(x975, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 2.0 - del x975 - x976 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x976 += einsum(t2.abab[np.ix_(soa,sOb,sVa,sVb)], (0, 1, 2, 3), x357, (4, 5, 6, 0), (5, 4, 1, 2, 6, 3)) - del x357 - t3new_abaaba += einsum(x976, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - t3new_abaaba += einsum(x976, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - t3new_abaaba += einsum(x976, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - t3new_abaaba += einsum(x976, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - del x976 - x977 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x977 += einsum(t2.aaaa[np.ix_(sOa,sOa,sva,sVa)], (0, 1, 2, 3), x596, (4, 5, 6, 2), (0, 1, 4, 3, 5, 6)) * -1.0 - del x596 - t3new_abaaba += einsum(x977, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.0 - t3new_abaaba += einsum(x977, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 - del x977 - x978 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x978 += einsum(t2.aaaa[np.ix_(sOa,sOa,sva,sVa)], (0, 1, 2, 3), x588, (4, 5, 6, 2), (0, 1, 4, 3, 5, 6)) * -1.0 - del x588 - t3new_abaaba += einsum(x978, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 - t3new_abaaba += einsum(x978, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.0 - del x978 - x979 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x979 += einsum(t2.aaaa[np.ix_(sOa,sOa,sva,sVa)], (0, 1, 2, 3), x592, (4, 5, 6, 2), (0, 1, 4, 3, 5, 6)) * -1.0 - del x592 - t3new_abaaba += einsum(x979, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 - t3new_abaaba += einsum(x979, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 - del x979 - x980 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x980 += einsum(t2.aaaa[np.ix_(soa,sOa,sVa,sVa)], (0, 1, 2, 3), x608, (4, 5, 6, 0), (1, 4, 5, 2, 3, 6)) * -1.0 - del x608 - t3new_abaaba += einsum(x980, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 4.0 - t3new_abaaba += einsum(x980, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -4.0 - del x980 - x981 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x981 += einsum(t2.aaaa[np.ix_(sOa,sOa,sva,sVa)], (0, 1, 2, 3), x624, (4, 5, 6, 2), (0, 1, 4, 3, 5, 6)) * -1.0 - del x624 - t3new_abaaba += einsum(x981, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -4.0 - t3new_abaaba += einsum(x981, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 4.0 - del x981 - x982 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x982 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x644, (6, 2, 7, 1, 8, 4), (6, 0, 7, 3, 5, 8)) - del x644 - t3new_abaaba += einsum(x982, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 - t3new_abaaba += einsum(x982, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -2.0 - del x982 - x983 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x983 += einsum(x646, (0, 1, 2, 3), t3.abaaba, (4, 3, 1, 5, 6, 7), (0, 4, 2, 5, 7, 6)) - del x646 - t3new_abaaba += einsum(x983, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 - t3new_abaaba += einsum(x983, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -2.0 - del x983 - x984 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x984 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x648, (6, 2, 7, 1, 8, 5), (6, 0, 7, 8, 3, 4)) - del x648 - t3new_abaaba += einsum(x984, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 - t3new_abaaba += einsum(x984, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 - t3new_abaaba += einsum(x984, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * 2.0 - t3new_abaaba += einsum(x984, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -2.0 - del x984 - x985 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x985 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x650, (6, 2, 7, 5, 8, 4), (6, 0, 1, 7, 3, 8)) - del x650 - t3new_abaaba += einsum(x985, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 - t3new_abaaba += einsum(x985, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 - t3new_abaaba += einsum(x985, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * 2.0 - t3new_abaaba += einsum(x985, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -2.0 - del x985 - x986 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x986 += einsum(x652, (0, 1, 2, 3), t3.abaaba, (4, 5, 1, 6, 3, 7), (0, 4, 5, 6, 7, 2)) - del x652 - t3new_abaaba += einsum(x986, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.00000000000002 - t3new_abaaba += einsum(x986, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 2.00000000000002 - del x986 - x987 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x987 += einsum(x365, (0, 1), t3.abaaba, (2, 3, 1, 4, 5, 6), (0, 2, 3, 4, 6, 5)) - del x365 - t3new_abaaba += einsum(x987, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 - t3new_abaaba += einsum(x987, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 2.0 - del x987 - x988 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x988 += einsum(x367, (0, 1, 2, 3), t3.abaaba, (4, 5, 1, 6, 7, 3), (0, 4, 5, 2, 6, 7)) - del x367 - t3new_abaaba += einsum(x988, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.00000000000002 - t3new_abaaba += einsum(x988, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.00000000000002 - t3new_abaaba += einsum(x988, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -2.00000000000002 - t3new_abaaba += einsum(x988, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 2.00000000000002 - del x988 - x989 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x989 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x654, (6, 1, 7, 5, 8, 4), (0, 2, 6, 7, 3, 8)) - del x654 - t3new_abaaba += einsum(x989, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 - t3new_abaaba += einsum(x989, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 - del x989 - x990 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x990 += einsum(x660, (0, 1, 2, 3), t3.abaaba, (4, 1, 5, 6, 7, 3), (4, 5, 0, 2, 6, 7)) - del x660 - t3new_abaaba += einsum(x990, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.00000000000002 - t3new_abaaba += einsum(x990, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.00000000000002 - del x990 - x991 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x991 += einsum(x662, (0, 1, 2, 3), t3.abaaba, (4, 5, 6, 7, 3, 1), (4, 6, 5, 0, 7, 2)) - del x662 - t3new_abaaba += einsum(x991, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 - t3new_abaaba += einsum(x991, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 - del x991 - x992 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x992 += einsum(x369, (0, 1), t3.abaaba, (2, 3, 4, 5, 6, 1), (2, 4, 3, 0, 5, 6)) - del x369 - t3new_abaaba += einsum(x992, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.0 - t3new_abaaba += einsum(x992, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 - del x992 - x993 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x993 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x666, (6, 7, 0, 2, 8, 5), (6, 1, 7, 8, 4, 3)) - del x666 - t3new_abaaba += einsum(x993, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - t3new_abaaba += einsum(x993, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 - t3new_abaaba += einsum(x993, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -1.0 - t3new_abaaba += einsum(x993, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) - del x993 - x994 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x994 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x668, (6, 7, 0, 2, 8, 5), (6, 1, 7, 8, 4, 3)) - del x668 - t3new_abaaba += einsum(x994, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - t3new_abaaba += einsum(x994, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 - t3new_abaaba += einsum(x994, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -1.0 - t3new_abaaba += einsum(x994, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) - del x994 - x995 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x995 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x670, (6, 2, 7, 8, 3, 5), (6, 1, 0, 7, 4, 8)) - del x670 - t3new_abaaba += einsum(x995, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.0 - t3new_abaaba += einsum(x995, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 - t3new_abaaba += einsum(x995, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -2.0 - t3new_abaaba += einsum(x995, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 2.0 - del x995 - x996 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x996 += einsum(x361, (0, 1, 2, 3), t3.babbab, (4, 5, 1, 6, 7, 3), (0, 5, 4, 2, 7, 6)) - del x361 - t3new_abaaba += einsum(x996, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.00000000000002 - t3new_abaaba += einsum(x996, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.00000000000002 - t3new_abaaba += einsum(x996, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -2.00000000000002 - t3new_abaaba += einsum(x996, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 2.00000000000002 - del x996 - x997 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x997 += einsum(x363, (0, 1, 2, 3), t3.babbab, (4, 5, 1, 6, 7, 3), (0, 5, 4, 2, 7, 6)) - del x363 - t3new_abaaba += einsum(x997, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.00000000000002 - t3new_abaaba += einsum(x997, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.00000000000002 - t3new_abaaba += einsum(x997, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * 2.00000000000002 - t3new_abaaba += einsum(x997, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -2.00000000000002 - del x997 - x998 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x998 += einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), x634, (6, 2, 1, 7, 5, 8), (6, 0, 7, 3, 4, 8)) * -1.0 - del x634 - t3new_abaaba += einsum(x998, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -3.0 - t3new_abaaba += einsum(x998, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 3.0 - del x998 - x999 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x999 += einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), x636, (6, 1, 2, 7, 5, 8), (6, 0, 7, 3, 4, 8)) - del x636 - t3new_abaaba += einsum(x999, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -3.0 - t3new_abaaba += einsum(x999, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 3.0 - del x999 - x1000 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x1000 += einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), x638, (2, 6, 7, 5, 4, 8), (0, 1, 6, 7, 3, 8)) * -1.0 - del x638 - t3new_abaaba += einsum(x1000, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 6.0 - t3new_abaaba += einsum(x1000, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -6.0 - del x1000 - x1001 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x1001 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x377, (6, 7, 0, 2, 8, 5), (7, 6, 1, 8, 3, 4)) * -1.0 - del x377 - t3new_abaaba += einsum(x1001, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.0 - t3new_abaaba += einsum(x1001, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 - del x1001 - x1002 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x1002 += einsum(x379, (0, 1, 2, 3), t3.abaaba, (2, 4, 3, 5, 6, 7), (1, 0, 4, 5, 7, 6)) * -1.0 - del x379 - t3new_abaaba += einsum(x1002, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 - t3new_abaaba += einsum(x1002, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 - del x1002 - x1003 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x1003 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x381, (6, 7, 0, 2, 8, 5), (7, 6, 1, 8, 3, 4)) * -1.0 - del x381 - t3new_abaaba += einsum(x1003, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.0 - t3new_abaaba += einsum(x1003, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 - del x1003 - x1004 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x1004 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x383, (6, 2, 7, 8, 3, 5), (6, 0, 1, 7, 8, 4)) - del x383 - t3new_abaaba += einsum(x1004, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -4.0 - t3new_abaaba += einsum(x1004, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 4.0 - del x1004 - x1005 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x1005 += einsum(x385, (0, 1, 2, 3), t3.abaaba, (4, 5, 1, 6, 7, 3), (0, 4, 5, 2, 6, 7)) - del x385 - t3new_abaaba += einsum(x1005, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 4.00000000000004 - t3new_abaaba += einsum(x1005, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -4.00000000000004 - t3new_abaaba += einsum(x1005, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -4.00000000000004 - t3new_abaaba += einsum(x1005, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 4.00000000000004 - del x1005 - x1006 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x1006 += einsum(x387, (0, 1), t3.abaaba, (2, 3, 1, 4, 5, 6), (0, 2, 3, 4, 6, 5)) - del x387 - t3new_abaaba += einsum(x1006, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 - t3new_abaaba += einsum(x1006, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 - t3new_abaaba += einsum(x1006, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 2.0 - t3new_abaaba += einsum(x1006, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 2.0 - del x1006 - x1007 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x1007 += einsum(x389, (0, 1, 2, 3), t3.abaaba, (4, 5, 1, 6, 7, 3), (0, 4, 5, 2, 6, 7)) - del x389 - t3new_abaaba += einsum(x1007, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -4.00000000000004 - t3new_abaaba += einsum(x1007, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 4.00000000000004 - t3new_abaaba += einsum(x1007, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * 4.00000000000004 - t3new_abaaba += einsum(x1007, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -4.00000000000004 - del x1007 - x1008 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x1008 += einsum(x688, (0, 1), t3.abaaba, (2, 1, 3, 4, 5, 6), (2, 3, 0, 4, 6, 5)) - t3new_abaaba += einsum(x1008, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 - t3new_abaaba += einsum(x1008, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 - del x1008 - x1009 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x1009 += einsum(x393, (0, 1), t3.abaaba, (2, 3, 4, 5, 6, 1), (2, 4, 3, 0, 5, 6)) - del x393 - t3new_abaaba += einsum(x1009, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.0 - t3new_abaaba += einsum(x1009, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 - del x1009 - x1010 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x1010 += einsum(x395, (0, 1), t3.abaaba, (2, 3, 4, 5, 6, 1), (2, 4, 3, 0, 5, 6)) - del x395 - t3new_abaaba += einsum(x1010, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.0 - t3new_abaaba += einsum(x1010, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 - del x1010 - x1011 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x1011 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x371, (6, 7, 1, 2, 8, 5), (7, 6, 0, 8, 4, 3)) * -1.0 - del x371 - t3new_abaaba += einsum(x1011, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -4.0 - t3new_abaaba += einsum(x1011, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 4.0 - del x1011 - x1012 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x1012 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x373, (6, 2, 7, 8, 4, 5), (6, 1, 0, 7, 8, 3)) - del x373 - t3new_abaaba += einsum(x1012, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 4.0 - t3new_abaaba += einsum(x1012, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -4.0 - del x1012 - x1013 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x1013 += einsum(x375, (0, 1, 2, 3), t3.babbab, (4, 5, 1, 6, 7, 3), (0, 5, 4, 2, 7, 6)) - del x375 - t3new_abaaba += einsum(x1013, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 4.00000000000004 - t3new_abaaba += einsum(x1013, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -4.00000000000004 - t3new_abaaba += einsum(x1013, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -4.00000000000004 - t3new_abaaba += einsum(x1013, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 4.00000000000004 - del x1013 - x1014 = np.zeros((naocc[0], naocc[1], navir[0], navir[0], navir[1], nvir[0]), dtype=types[float]) - x1014 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), t2.abab[np.ix_(soa,sOb,sVa,sVb)], (2, 3, 4, 5), v.aaaa.ovoO, (2, 6, 0, 7), (7, 3, 1, 4, 5, 6)) * -1.0 - x1015 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x1015 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), x1014, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) - del x1014 - t3new_abaaba += einsum(x1015, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - t3new_abaaba += einsum(x1015, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 - t3new_abaaba += einsum(x1015, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -1.0 - t3new_abaaba += einsum(x1015, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) - del x1015 - x1016 = np.zeros((naocc[0], naocc[1], navir[0], navir[0], navir[1], nvir[0]), dtype=types[float]) - x1016 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), t2.abab[np.ix_(soa,sOb,sVa,sVb)], (2, 3, 4, 5), v.aaaa.ovoO, (0, 6, 2, 7), (7, 3, 1, 4, 5, 6)) * -1.0 - x1017 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x1017 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), x1016, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) - del x1016 - t3new_abaaba += einsum(x1017, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - t3new_abaaba += einsum(x1017, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - t3new_abaaba += einsum(x1017, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) - t3new_abaaba += einsum(x1017, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 - del x1017 - x1018 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x1018 += einsum(t2.abab[np.ix_(sOa,sOb,sva,sVb)], (0, 1, 2, 3), x401, (4, 5, 6, 2), (0, 4, 1, 5, 6, 3)) * -1.0 - del x401 - t3new_abaaba += einsum(x1018, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - t3new_abaaba += einsum(x1018, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 - t3new_abaaba += einsum(x1018, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -1.0 - t3new_abaaba += einsum(x1018, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) - del x1018 - x1019 = np.zeros((naocc[0], naocc[1], navir[0], navir[0], navir[1], nvir[0]), dtype=types[float]) - x1019 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), t2.abab[np.ix_(soa,sOb,sVa,sVb)], (2, 3, 4, 5), v.aaaa.ovvV, (2, 1, 6, 7), (0, 3, 4, 7, 5, 6)) * -1.0 - x1020 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x1020 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), x1019, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) - del x1019 - t3new_abaaba += einsum(x1020, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) - t3new_abaaba += einsum(x1020, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 - t3new_abaaba += einsum(x1020, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - t3new_abaaba += einsum(x1020, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - del x1020 - x1021 = np.zeros((naocc[0], naocc[1], navir[0], navir[0], navir[1], nvir[0]), dtype=types[float]) - x1021 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), t2.abab[np.ix_(sOa,sob,sVa,sVb)], (2, 3, 4, 5), v.aabb.ovoO, (0, 6, 3, 7), (2, 7, 1, 4, 5, 6)) - x1022 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x1022 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), x1021, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) - del x1021 - t3new_abaaba += einsum(x1022, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - t3new_abaaba += einsum(x1022, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 - t3new_abaaba += einsum(x1022, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -1.0 - t3new_abaaba += einsum(x1022, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) - del x1022 - x1023 = np.zeros((naocc[0], naocc[1], navir[0], navir[0], navir[1], nvir[0]), dtype=types[float]) - x1023 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), t2.abab[np.ix_(sOa,sOb,sVa,svb)], (2, 3, 4, 5), v.aabb.ovvV, (0, 6, 5, 7), (2, 3, 1, 4, 7, 6)) - x1024 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x1024 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), x1023, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) - del x1023 - t3new_abaaba += einsum(x1024, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - t3new_abaaba += einsum(x1024, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - t3new_abaaba += einsum(x1024, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) - t3new_abaaba += einsum(x1024, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 - del x1024 - x1025 = np.zeros((naocc[0], naocc[1], navir[0], navir[0], navir[1], nvir[0]), dtype=types[float]) - x1025 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), t2.abab[np.ix_(sOa,sOb,sva,sVb)], (2, 3, 4, 5), v.aaaa.ovvV, (0, 6, 4, 7), (2, 3, 1, 7, 5, 6)) * -1.0 - x1026 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x1026 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), x1025, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) - del x1025 - t3new_abaaba += einsum(x1026, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - t3new_abaaba += einsum(x1026, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 - t3new_abaaba += einsum(x1026, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -1.0 - t3new_abaaba += einsum(x1026, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) - del x1026 - x1027 = np.zeros((naocc[0], naocc[1], navir[0], navir[0], navir[1], nvir[0]), dtype=types[float]) - x1027 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), t2.abab[np.ix_(sOa,sOb,sva,sVb)], (2, 3, 4, 5), v.aaaa.ovvV, (0, 4, 6, 7), (2, 3, 1, 7, 5, 6)) * -1.0 - x1028 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x1028 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), x1027, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) - del x1027 - t3new_abaaba += einsum(x1028, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - t3new_abaaba += einsum(x1028, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - t3new_abaaba += einsum(x1028, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) - t3new_abaaba += einsum(x1028, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 - del x1028 - x1029 = np.zeros((naocc[0], naocc[0], navir[0], navir[0], navir[1], nvir[1]), dtype=types[float]) - x1029 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), t2.abab[np.ix_(sOa,sob,sVa,sVb)], (2, 3, 4, 5), v.aabb.oOov, (0, 6, 3, 7), (2, 6, 1, 4, 5, 7)) - x1030 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x1030 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), x1029, (2, 3, 4, 5, 6, 1), (2, 3, 0, 4, 5, 6)) - del x1029 - t3new_abaaba += einsum(x1030, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - t3new_abaaba += einsum(x1030, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) - t3new_abaaba += einsum(x1030, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - t3new_abaaba += einsum(x1030, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 - del x1030 - x1031 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x1031 += einsum(t2.abab[np.ix_(sOa,sOb,sVa,svb)], (0, 1, 2, 3), x712, (4, 5, 6, 3), (0, 4, 1, 5, 2, 6)) - del x712 - t3new_abaaba += einsum(x1031, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - t3new_abaaba += einsum(x1031, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) - t3new_abaaba += einsum(x1031, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - t3new_abaaba += einsum(x1031, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 - del x1031 - x1032 = np.zeros((naocc[0], naocc[1], navir[0], navir[0], navir[1], nvir[0]), dtype=types[float]) - x1032 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), t2.abab[np.ix_(sOa,sob,sVa,sVb)], (2, 3, 4, 5), v.aabb.vVov, (6, 7, 3, 1), (2, 0, 4, 7, 5, 6)) - x1033 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x1033 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), x1032, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) - del x1032 - t3new_abaaba += einsum(x1033, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 - t3new_abaaba += einsum(x1033, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - t3new_abaaba += einsum(x1033, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) - t3new_abaaba += einsum(x1033, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -1.0 - del x1033 - x1034 = np.zeros((naocc[0], naocc[1], navir[0], navir[0], navir[1], nvir[0]), dtype=types[float]) - x1034 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), t2.abab[np.ix_(sOa,sOb,sVa,svb)], (2, 3, 4, 5), v.aabb.vVov, (6, 7, 0, 5), (2, 3, 4, 7, 1, 6)) - x1035 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x1035 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), x1034, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) - del x1034 - t3new_abaaba += einsum(x1035, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 - t3new_abaaba += einsum(x1035, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - t3new_abaaba += einsum(x1035, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) - t3new_abaaba += einsum(x1035, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -1.0 - del x1035 - x1036 = np.zeros((naocc[0], naocc[1], navir[0], navir[0], navir[1], nvir[0]), dtype=types[float]) - x1036 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), t2.aaaa[np.ix_(soa,sOa,sVa,sVa)], (2, 3, 4, 5), v.aabb.ovvV, (2, 6, 1, 7), (3, 0, 4, 5, 7, 6)) * -1.0 - x1037 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x1037 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), x1036, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) - del x1036 - t3new_abaaba += einsum(x1037, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 - t3new_abaaba += einsum(x1037, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 2.0 - del x1037 - x1038 = np.zeros((naocc[0], naocc[1], navir[0], navir[0], navir[1], nvir[0]), dtype=types[float]) - x1038 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), t2.aaaa[np.ix_(soa,sOa,sVa,sVa)], (2, 3, 4, 5), v.aabb.ovoO, (2, 6, 0, 7), (3, 7, 4, 5, 1, 6)) * -1.0 - x1039 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x1039 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), x1038, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) - del x1038 - t3new_abaaba += einsum(x1039, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 - t3new_abaaba += einsum(x1039, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -2.0 - del x1039 - x1040 = np.zeros((naocc[0], naocc[0], navir[0], navir[0], navir[1], nvir[1]), dtype=types[float]) - x1040 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), t2.aaaa[np.ix_(sOa,sOa,sva,sVa)], (2, 3, 4, 5), v.aabb.ovvV, (0, 4, 6, 7), (2, 3, 1, 5, 7, 6)) * -1.0 - x1041 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x1041 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), x1040, (2, 3, 4, 5, 6, 1), (2, 3, 0, 4, 5, 6)) - del x1040 - t3new_abaaba += einsum(x1041, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.0 - t3new_abaaba += einsum(x1041, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 - del x1041 - x1042 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x1042 += einsum(t2.aaaa[np.ix_(sOa,sOa,sva,sVa)], (0, 1, 2, 3), x708, (4, 5, 6, 2), (0, 1, 4, 5, 3, 6)) * -1.0 - del x708 - t3new_abaaba += einsum(x1042, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 - t3new_abaaba += einsum(x1042, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 - del x1042 - x1043 = np.zeros((naocc[0], naocc[0], navir[0], navir[0], navir[1], nvir[1]), dtype=types[float]) - x1043 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), t2.aaaa[np.ix_(soa,sOa,sVa,sVa)], (2, 3, 4, 5), v.aabb.oOov, (2, 6, 0, 7), (3, 6, 4, 5, 1, 7)) * -1.0 - x1044 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x1044 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), x1043, (2, 3, 4, 5, 6, 1), (2, 3, 0, 4, 5, 6)) - del x1043 - t3new_abaaba += einsum(x1044, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 - t3new_abaaba += einsum(x1044, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 2.0 - del x1044 - x1045 = np.zeros((naocc[0], naocc[0], navir[0], navir[0], navir[1], nvir[1]), dtype=types[float]) - x1045 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), t2.aaaa[np.ix_(sOa,sOa,sva,sVa)], (2, 3, 4, 5), v.aabb.vVov, (4, 6, 0, 7), (2, 3, 5, 6, 1, 7)) * -1.0 - x1046 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x1046 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), x1045, (2, 3, 4, 5, 6, 1), (2, 3, 0, 4, 5, 6)) - del x1045 - t3new_abaaba += einsum(x1046, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 - t3new_abaaba += einsum(x1046, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 - del x1046 - x1047 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x1047 += einsum(x413, (0, 1, 2, 3), t3.abaaba, (3, 4, 2, 5, 6, 7), (1, 0, 4, 5, 7, 6)) - del x413 - t3new_abaaba += einsum(x1047, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 - t3new_abaaba += einsum(x1047, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 - del x1047 - x1048 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x1048 += einsum(x416, (0, 1, 2, 3), t3.abaaba, (4, 5, 1, 6, 7, 3), (0, 4, 5, 2, 6, 7)) - del x416 - t3new_abaaba += einsum(x1048, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 - t3new_abaaba += einsum(x1048, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 - t3new_abaaba += einsum(x1048, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * 2.0 - t3new_abaaba += einsum(x1048, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -2.0 - del x1048 - x1049 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x1049 += einsum(x419, (0, 1, 2, 3), t3.abaaba, (4, 5, 1, 6, 7, 3), (0, 4, 5, 2, 6, 7)) - del x419 - t3new_abaaba += einsum(x1049, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.0 - t3new_abaaba += einsum(x1049, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 - t3new_abaaba += einsum(x1049, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -2.0 - t3new_abaaba += einsum(x1049, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 2.0 - del x1049 - x1050 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x1050 += einsum(x422, (0, 1), t3.abaaba, (2, 3, 1, 4, 5, 6), (0, 2, 3, 4, 6, 5)) - del x422 - t3new_abaaba += einsum(x1050, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 - t3new_abaaba += einsum(x1050, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -2.0 - del x1050 - x1051 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x1051 += einsum(x425, (0, 1), t3.abaaba, (2, 3, 1, 4, 5, 6), (0, 2, 3, 4, 6, 5)) - del x425 - t3new_abaaba += einsum(x1051, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 - t3new_abaaba += einsum(x1051, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 2.0 - del x1051 - x1052 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x1052 += einsum(x431, (0, 1), t3.abaaba, (2, 3, 4, 5, 6, 1), (2, 4, 3, 0, 5, 6)) - del x431 - t3new_abaaba += einsum(x1052, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.0 - t3new_abaaba += einsum(x1052, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 - del x1052 - x1053 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x1053 += einsum(x434, (0, 1), t3.abaaba, (2, 3, 4, 5, 6, 1), (2, 4, 3, 0, 5, 6)) - del x434 - t3new_abaaba += einsum(x1053, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 - t3new_abaaba += einsum(x1053, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 - del x1053 - x1054 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x1054 += einsum(x410, (0, 1, 2, 3), t3.babbab, (4, 5, 1, 6, 7, 3), (0, 5, 4, 2, 7, 6)) - del x410 - t3new_abaaba += einsum(x1054, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 - t3new_abaaba += einsum(x1054, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 - t3new_abaaba += einsum(x1054, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * 2.0 - t3new_abaaba += einsum(x1054, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -2.0 - del x1054 - x1055 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x1055 += einsum(x735, (0, 1, 2, 3), t3.abaaba, (4, 3, 1, 5, 6, 7), (0, 4, 2, 5, 7, 6)) - del x735 - t3new_abaaba += einsum(x1055, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 - t3new_abaaba += einsum(x1055, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -2.0 - del x1055 - x1056 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x1056 += einsum(x738, (0, 1, 2, 3), t3.abaaba, (4, 5, 1, 6, 3, 7), (0, 4, 5, 6, 7, 2)) - del x738 - t3new_abaaba += einsum(x1056, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 - t3new_abaaba += einsum(x1056, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -2.0 - del x1056 - x1057 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x1057 += einsum(x437, (0, 1), t3.abaaba, (2, 3, 1, 4, 5, 6), (0, 2, 3, 4, 6, 5)) - del x437 - t3new_abaaba += einsum(x1057, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 - t3new_abaaba += einsum(x1057, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 2.0 - del x1057 - x1058 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x1058 += einsum(x741, (0, 1, 2, 3), t3.abaaba, (4, 1, 5, 6, 7, 3), (4, 5, 0, 2, 6, 7)) - del x741 - t3new_abaaba += einsum(x1058, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 - t3new_abaaba += einsum(x1058, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 - del x1058 - x1059 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x1059 += einsum(x747, (0, 1, 2, 3), t3.abaaba, (4, 5, 6, 7, 3, 1), (4, 6, 5, 0, 7, 2)) - del x747 - t3new_abaaba += einsum(x1059, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 - t3new_abaaba += einsum(x1059, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 - del x1059 - x1060 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x1060 += einsum(x440, (0, 1), t3.abaaba, (2, 3, 4, 5, 6, 1), (2, 4, 3, 0, 5, 6)) - del x440 - t3new_abaaba += einsum(x1060, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.0 - t3new_abaaba += einsum(x1060, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 - del x1060 - x1061 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], nocc[0], nocc[1]), dtype=types[float]) - x1061 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), t2.abab[np.ix_(sOa,sOb,sVa,svb)], (2, 3, 4, 5), v.aabb.ovov, (6, 1, 7, 5), (0, 2, 3, 4, 6, 7)) - x1062 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x1062 += einsum(t2.abab[np.ix_(soa,sob,sVa,sVb)], (0, 1, 2, 3), x1061, (4, 5, 6, 7, 0, 1), (4, 5, 6, 7, 2, 3)) - del x1061 - t3new_abaaba += einsum(x1062, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - t3new_abaaba += einsum(x1062, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - t3new_abaaba += einsum(x1062, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) - t3new_abaaba += einsum(x1062, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 - del x1062 - x1063 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x1063 += einsum(t2.abab[np.ix_(sOa,sob,sVa,sVb)], (0, 1, 2, 3), x795, (4, 5, 6, 1), (4, 0, 5, 2, 6, 3)) - del x795 - t3new_abaaba += einsum(x1063, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - t3new_abaaba += einsum(x1063, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 - t3new_abaaba += einsum(x1063, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -1.0 - t3new_abaaba += einsum(x1063, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) - del x1063 - x1064 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x1064 += einsum(t2.abab[np.ix_(soa,sOb,sVa,sVb)], (0, 1, 2, 3), x443, (4, 5, 6, 0), (4, 5, 1, 6, 2, 3)) * -1.0 - del x443 - t3new_abaaba += einsum(x1064, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - t3new_abaaba += einsum(x1064, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - t3new_abaaba += einsum(x1064, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) - t3new_abaaba += einsum(x1064, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 - del x1064 - x1065 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[1], nocc[0]), dtype=types[float]) - x1065 += einsum(t2.abab[np.ix_(sOa,sOb,sva,sVb)], (0, 1, 2, 3), x442, (4, 5, 6, 2), (0, 4, 1, 5, 3, 6)) * -1.0 - del x442 - x1066 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x1066 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x1065, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) - del x1065 - t3new_abaaba += einsum(x1066, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - t3new_abaaba += einsum(x1066, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -1.0 - t3new_abaaba += einsum(x1066, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 - t3new_abaaba += einsum(x1066, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) - del x1066 - x1067 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[1], nocc[0]), dtype=types[float]) - x1067 += einsum(t2.abab[np.ix_(sOa,sob,sVa,sVb)], (0, 1, 2, 3), x801, (4, 5, 6, 1), (4, 0, 5, 2, 3, 6)) - x1068 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x1068 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x1067, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) - del x1067 - t3new_abaaba += einsum(x1068, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - t3new_abaaba += einsum(x1068, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -1.0 - t3new_abaaba += einsum(x1068, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 - t3new_abaaba += einsum(x1068, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) - del x1068 - x1069 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[1], nocc[0]), dtype=types[float]) - x1069 += einsum(t2.abab[np.ix_(sOa,sOb,sVa,svb)], (0, 1, 2, 3), x804, (4, 5, 6, 3), (0, 4, 1, 2, 5, 6)) - del x804 - x1070 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x1070 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x1069, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) - del x1069 - t3new_abaaba += einsum(x1070, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - t3new_abaaba += einsum(x1070, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -1.0 - t3new_abaaba += einsum(x1070, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 - t3new_abaaba += einsum(x1070, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) - del x1070 - x1071 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x1071 += einsum(t2.abab[np.ix_(sOa,sob,sVa,sVb)], (0, 1, 2, 3), x807, (4, 5, 6, 1), (4, 0, 5, 6, 2, 3)) - del x807 - t3new_abaaba += einsum(x1071, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - t3new_abaaba += einsum(x1071, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - t3new_abaaba += einsum(x1071, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 - t3new_abaaba += einsum(x1071, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) - del x1071 - x1072 = np.zeros((naocc[0], naocc[0], naocc[1], navir[1], nocc[0], nocc[0]), dtype=types[float]) - x1072 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), t2.abab[np.ix_(sOa,sOb,sva,sVb)], (2, 3, 4, 5), v.aaaa.ovov, (6, 1, 7, 4), (0, 2, 3, 5, 6, 7)) * -1.0 - x1073 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x1073 += einsum(t2.aaaa[np.ix_(soa,soa,sVa,sVa)], (0, 1, 2, 3), x1072, (4, 5, 6, 7, 0, 1), (4, 5, 6, 2, 3, 7)) - del x1072 - t3new_abaaba += einsum(x1073, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - t3new_abaaba += einsum(x1073, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - t3new_abaaba += einsum(x1073, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 - t3new_abaaba += einsum(x1073, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 - del x1073 - x1074 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x1074 += einsum(t2.abab[np.ix_(soa,sOb,sVa,sVb)], (0, 1, 2, 3), x448, (4, 5, 6, 0), (4, 5, 1, 6, 2, 3)) * -1.0 - del x448 - t3new_abaaba += einsum(x1074, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 - t3new_abaaba += einsum(x1074, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 - t3new_abaaba += einsum(x1074, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -2.0 - t3new_abaaba += einsum(x1074, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * 2.0 - del x1074 - x1075 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x1075 += einsum(t2.aaaa[np.ix_(soa,sOa,sVa,sVa)], (0, 1, 2, 3), x778, (4, 5, 6, 0), (4, 1, 5, 2, 3, 6)) * -1.0 - del x778 - t3new_abaaba += einsum(x1075, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 - t3new_abaaba += einsum(x1075, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -2.0 - del x1075 - x1076 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x1076 += einsum(t2.abab[np.ix_(soa,sOb,sVa,sVb)], (0, 1, 2, 3), x451, (4, 5, 6, 0), (4, 5, 1, 6, 2, 3)) * -1.0 - del x451 - t3new_abaaba += einsum(x1076, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 - t3new_abaaba += einsum(x1076, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.0 - t3new_abaaba += einsum(x1076, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 2.0 - t3new_abaaba += einsum(x1076, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -2.0 - del x1076 - x1077 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x1077 += einsum(t2.aaaa[np.ix_(soa,sOa,sVa,sVa)], (0, 1, 2, 3), x781, (4, 5, 6, 0), (4, 1, 5, 2, 3, 6)) * -1.0 - del x781 - t3new_abaaba += einsum(x1077, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 - t3new_abaaba += einsum(x1077, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 2.0 - del x1077 - x1078 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[1], nocc[0]), dtype=types[float]) - x1078 += einsum(t2.abab[np.ix_(sOa,sOb,sva,sVb)], (0, 1, 2, 3), x447, (4, 5, 6, 2), (0, 4, 1, 5, 3, 6)) * -1.0 - del x447 - x1079 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x1079 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x1078, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) - del x1078 - t3new_abaaba += einsum(x1079, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.0 - t3new_abaaba += einsum(x1079, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -2.0 - t3new_abaaba += einsum(x1079, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 - t3new_abaaba += einsum(x1079, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 2.0 - del x1079 - x1080 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[1], nocc[0]), dtype=types[float]) - x1080 += einsum(t2.abab[np.ix_(sOa,sOb,sva,sVb)], (0, 1, 2, 3), x450, (4, 5, 6, 2), (0, 4, 1, 5, 3, 6)) * -1.0 - del x450 - x1081 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x1081 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x1080, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) - del x1080 - t3new_abaaba += einsum(x1081, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 - t3new_abaaba += einsum(x1081, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * 2.0 - t3new_abaaba += einsum(x1081, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 - t3new_abaaba += einsum(x1081, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -2.0 - del x1081 - x1082 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[1], nocc[0]), dtype=types[float]) - x1082 += einsum(t2.abab[np.ix_(soa,sOb,sVa,sVb)], (0, 1, 2, 3), x457, (4, 5, 0, 6), (4, 5, 1, 2, 3, 6)) - del x457 - x1083 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x1083 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x1082, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) - del x1082 - t3new_abaaba += einsum(x1083, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - t3new_abaaba += einsum(x1083, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - t3new_abaaba += einsum(x1083, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - t3new_abaaba += einsum(x1083, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - del x1083 - x1084 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[1], nocc[0]), dtype=types[float]) - x1084 += einsum(t2.aaaa[np.ix_(sOa,sOa,sva,sVa)], (0, 1, 2, 3), x777, (4, 5, 6, 2), (0, 1, 4, 3, 5, 6)) * -1.0 - del x777 - x1085 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x1085 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x1084, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) - del x1084 - t3new_abaaba += einsum(x1085, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 - t3new_abaaba += einsum(x1085, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 - del x1085 - x1086 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[1], nocc[0]), dtype=types[float]) - x1086 += einsum(t2.aaaa[np.ix_(sOa,sOa,sva,sVa)], (0, 1, 2, 3), x780, (4, 5, 6, 2), (0, 1, 4, 3, 5, 6)) * -1.0 - del x780 - x1087 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x1087 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x1086, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) - del x1086 - t3new_abaaba += einsum(x1087, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.0 - t3new_abaaba += einsum(x1087, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 - del x1087 - x1088 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x1088 += einsum(t2.aaaa[np.ix_(soa,sOa,sVa,sVa)], (0, 1, 2, 3), x787, (4, 5, 6, 0), (4, 1, 5, 2, 3, 6)) * -1.0 - del x787 - t3new_abaaba += einsum(x1088, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 - t3new_abaaba += einsum(x1088, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -2.0 - del x1088 - x1089 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x1089 += einsum(t2.aaaa[np.ix_(soa,sOa,sVa,sVa)], (0, 1, 2, 3), x789, (4, 5, 6, 0), (4, 1, 5, 2, 3, 6)) * -1.0 - del x789 - t3new_abaaba += einsum(x1089, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 - t3new_abaaba += einsum(x1089, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 2.0 - del x1089 - x1090 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x1090 += einsum(t2.abab[np.ix_(soa,sOb,sVa,sVb)], (0, 1, 2, 3), x462, (4, 5, 6, 0), (5, 4, 1, 6, 2, 3)) - del x462 - t3new_abaaba += einsum(x1090, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 - t3new_abaaba += einsum(x1090, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.0 - del x1090 - x1091 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x1091 += einsum(t2.abab[np.ix_(soa,sOb,sVa,sVb)], (0, 1, 2, 3), x464, (4, 5, 6, 0), (5, 4, 1, 6, 2, 3)) - del x464 - t3new_abaaba += einsum(x1091, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 - t3new_abaaba += einsum(x1091, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 - del x1091 - x1092 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x1092 += einsum(t2.aaaa[np.ix_(soa,sOa,sVa,sVa)], (0, 1, 2, 3), x792, (4, 5, 6, 0), (4, 1, 5, 2, 3, 6)) * -1.0 - del x792 - t3new_abaaba += einsum(x1092, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -4.0 - t3new_abaaba += einsum(x1092, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 4.0 - del x1092 - x1093 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[1], nocc[0]), dtype=types[float]) - x1093 += einsum(t2.aaaa[np.ix_(sOa,sOa,sva,sVa)], (0, 1, 2, 3), x791, (4, 5, 6, 2), (0, 1, 4, 3, 5, 6)) * -1.0 - del x791 - x1094 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x1094 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x1093, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) - del x1093 - t3new_abaaba += einsum(x1094, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 4.0 - t3new_abaaba += einsum(x1094, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -4.0 - del x1094 - x1095 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x1095 += einsum(t2.abab[np.ix_(sOa,sob,sVa,sVb)], (0, 1, 2, 3), x836, (4, 5, 6, 1), (0, 4, 5, 2, 6, 3)) - del x836 - t3new_abaaba += einsum(x1095, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - t3new_abaaba += einsum(x1095, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - t3new_abaaba += einsum(x1095, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 - t3new_abaaba += einsum(x1095, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) - del x1095 - x1096 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x1096 += einsum(t2.abab[np.ix_(sOa,sob,sVa,sVb)], (0, 1, 2, 3), x830, (4, 5, 6, 1), (0, 4, 5, 2, 6, 3)) - del x830 - t3new_abaaba += einsum(x1096, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) - t3new_abaaba += einsum(x1096, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -1.0 - t3new_abaaba += einsum(x1096, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - t3new_abaaba += einsum(x1096, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 - del x1096 - x1097 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], nocc[1]), dtype=types[float]) - x1097 += einsum(t2.abab[np.ix_(sOa,sOb,sVa,svb)], (0, 1, 2, 3), x835, (4, 5, 6, 3), (0, 4, 1, 2, 5, 6)) - del x835 - x1098 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x1098 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), x1097, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 6, 1)) - del x1097 - t3new_abaaba += einsum(x1098, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - t3new_abaaba += einsum(x1098, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - t3new_abaaba += einsum(x1098, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 - t3new_abaaba += einsum(x1098, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) - del x1098 - x1099 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], nocc[1]), dtype=types[float]) - x1099 += einsum(t2.abab[np.ix_(sOa,sOb,sVa,svb)], (0, 1, 2, 3), x829, (4, 5, 6, 3), (0, 4, 1, 2, 5, 6)) - del x829 - x1100 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x1100 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), x1099, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 6, 1)) - del x1099 - t3new_abaaba += einsum(x1100, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - t3new_abaaba += einsum(x1100, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 - t3new_abaaba += einsum(x1100, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) - t3new_abaaba += einsum(x1100, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -1.0 - del x1100 - x1101 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x1101 += einsum(t2.abab[np.ix_(sOa,sob,sVa,sVb)], (0, 1, 2, 3), x851, (4, 5, 6, 1), (4, 0, 5, 6, 2, 3)) - del x851 - t3new_abaaba += einsum(x1101, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - t3new_abaaba += einsum(x1101, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - t3new_abaaba += einsum(x1101, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 - t3new_abaaba += einsum(x1101, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) - del x1101 - x1102 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x1102 += einsum(t2.abab[np.ix_(sOa,sob,sVa,sVb)], (0, 1, 2, 3), x853, (4, 5, 6, 1), (4, 0, 5, 6, 2, 3)) - del x853 - t3new_abaaba += einsum(x1102, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - t3new_abaaba += einsum(x1102, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 - t3new_abaaba += einsum(x1102, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) - t3new_abaaba += einsum(x1102, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -1.0 - del x1102 - x1103 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x1103 += einsum(t2.abab[np.ix_(sOa,sob,sVa,sVb)], (0, 1, 2, 3), x860, (4, 5, 6, 1), (0, 4, 5, 2, 6, 3)) - del x860 - t3new_abaaba += einsum(x1103, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 - t3new_abaaba += einsum(x1103, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 - t3new_abaaba += einsum(x1103, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * 2.0 - t3new_abaaba += einsum(x1103, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -2.0 - del x1103 - x1104 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x1104 += einsum(t2.aaaa[np.ix_(soa,sOa,sVa,sVa)], (0, 1, 2, 3), x816, (4, 5, 6, 0), (1, 4, 5, 2, 3, 6)) * -1.0 - del x816 - t3new_abaaba += einsum(x1104, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -2.0 - t3new_abaaba += einsum(x1104, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 - del x1104 - x1105 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], nocc[0], nocc[1]), dtype=types[float]) - x1105 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), t2.aaaa[np.ix_(sOa,sOa,sva,sVa)], (2, 3, 4, 5), v.aabb.ovov, (6, 4, 7, 1), (2, 3, 0, 5, 6, 7)) * -1.0 - x1106 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x1106 += einsum(t2.abab[np.ix_(soa,sob,sVa,sVb)], (0, 1, 2, 3), x1105, (4, 5, 6, 7, 0, 1), (4, 5, 6, 7, 2, 3)) - del x1105 - t3new_abaaba += einsum(x1106, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 - t3new_abaaba += einsum(x1106, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.0 - del x1106 - x1107 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], nocc[1]), dtype=types[float]) - x1107 += einsum(t2.aaaa[np.ix_(soa,sOa,sVa,sVa)], (0, 1, 2, 3), x801, (4, 5, 0, 6), (4, 1, 5, 2, 3, 6)) * -1.0 - del x801 - x1108 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x1108 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), x1107, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 6, 1)) - del x1107 - t3new_abaaba += einsum(x1108, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 - t3new_abaaba += einsum(x1108, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -2.0 - del x1108 - x1109 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], nocc[1]), dtype=types[float]) - x1109 += einsum(t2.abab[np.ix_(sOa,sOb,sVa,svb)], (0, 1, 2, 3), x859, (4, 5, 6, 3), (0, 4, 1, 2, 5, 6)) - del x859 - x1110 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x1110 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), x1109, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 6, 1)) - del x1109 - t3new_abaaba += einsum(x1110, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 - t3new_abaaba += einsum(x1110, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 - t3new_abaaba += einsum(x1110, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * 2.0 - t3new_abaaba += einsum(x1110, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -2.0 - del x1110 - x1111 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], nocc[1]), dtype=types[float]) - x1111 += einsum(t2.aaaa[np.ix_(sOa,sOa,sva,sVa)], (0, 1, 2, 3), x794, (4, 5, 6, 2), (0, 1, 4, 3, 5, 6)) * -1.0 - del x794 - x1112 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x1112 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), x1111, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 6, 1)) - del x1111 - t3new_abaaba += einsum(x1112, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 - t3new_abaaba += einsum(x1112, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 - del x1112 - x1113 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x1113 += einsum(t2.aaaa[np.ix_(soa,sOa,sVa,sVa)], (0, 1, 2, 3), x824, (4, 5, 6, 0), (4, 1, 5, 2, 3, 6)) * -1.0 - del x824 - t3new_abaaba += einsum(x1113, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 - t3new_abaaba += einsum(x1113, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -2.0 - del x1113 - x1114 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x1114 += einsum(t2.abab[np.ix_(soa,sOb,sVa,sVb)], (0, 1, 2, 3), x466, (4, 5, 6, 0), (5, 4, 1, 6, 2, 3)) - del x466 - t3new_abaaba += einsum(x1114, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 - t3new_abaaba += einsum(x1114, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.0 - del x1114 - x1115 = np.zeros((naocc[0], naocc[1], navir[0], navir[1], nocc[0], nvir[0]), dtype=types[float]) - x1115 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), t2.abab[np.ix_(soa,sOb,sVa,sVb)], (2, 3, 4, 5), v.aaaa.ovov, (6, 7, 2, 1), (0, 3, 4, 5, 6, 7)) * -1.0 - x1116 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[1], nocc[0]), dtype=types[float]) - x1116 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), x1115, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) - del x1115 - x1117 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x1117 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x1116, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) - del x1116 - t3new_abaaba += einsum(x1117, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - t3new_abaaba += einsum(x1117, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) - t3new_abaaba += einsum(x1117, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - t3new_abaaba += einsum(x1117, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 - del x1117 - x1118 = np.zeros((naocc[0], naocc[1], navir[0], navir[1], nocc[0], nvir[0]), dtype=types[float]) - x1118 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), t2.abab[np.ix_(sOa,sOb,sva,sVb)], (2, 3, 4, 5), v.aaaa.ovov, (6, 7, 0, 4), (2, 3, 1, 5, 6, 7)) * -1.0 - x1119 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[1], nocc[0]), dtype=types[float]) - x1119 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), x1118, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) - del x1118 - x1120 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x1120 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x1119, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) - del x1119 - t3new_abaaba += einsum(x1120, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - t3new_abaaba += einsum(x1120, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - t3new_abaaba += einsum(x1120, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) - t3new_abaaba += einsum(x1120, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 - del x1120 - x1121 = np.zeros((naocc[0], naocc[1], navir[0], navir[1], nocc[0], nvir[0]), dtype=types[float]) - x1121 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), t2.abab[np.ix_(sOa,sob,sVa,sVb)], (2, 3, 4, 5), v.aabb.ovov, (6, 7, 3, 1), (2, 0, 4, 5, 6, 7)) - x1122 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[1], nocc[0]), dtype=types[float]) - x1122 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), x1121, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) - del x1121 - x1123 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x1123 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x1122, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) - del x1122 - t3new_abaaba += einsum(x1123, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - t3new_abaaba += einsum(x1123, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 - t3new_abaaba += einsum(x1123, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -1.0 - t3new_abaaba += einsum(x1123, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) - del x1123 - x1124 = np.zeros((naocc[0], naocc[1], navir[0], navir[1], nocc[0], nvir[0]), dtype=types[float]) - x1124 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), t2.abab[np.ix_(sOa,sOb,sVa,svb)], (2, 3, 4, 5), v.aabb.ovov, (6, 7, 0, 5), (2, 3, 4, 1, 6, 7)) - x1125 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[1], nocc[0]), dtype=types[float]) - x1125 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), x1124, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) - del x1124 - x1126 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x1126 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x1125, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) - del x1125 - t3new_abaaba += einsum(x1126, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - t3new_abaaba += einsum(x1126, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 - t3new_abaaba += einsum(x1126, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -1.0 - t3new_abaaba += einsum(x1126, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) - del x1126 - x1127 = np.zeros((naocc[0], naocc[1], navir[0], navir[0], nocc[1], nvir[0]), dtype=types[float]) - x1127 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), t2.aaaa[np.ix_(soa,sOa,sVa,sVa)], (2, 3, 4, 5), v.aabb.ovov, (2, 6, 7, 1), (3, 0, 4, 5, 7, 6)) * -1.0 - x1128 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], nocc[1]), dtype=types[float]) - x1128 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), x1127, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) - del x1127 - x1129 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x1129 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), x1128, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 6, 1)) - del x1128 - t3new_abaaba += einsum(x1129, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 - t3new_abaaba += einsum(x1129, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -2.0 - del x1129 - x1130 = np.zeros((naocc[0], naocc[0], navir[0], navir[1], nocc[0], nvir[1]), dtype=types[float]) - x1130 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), t2.aaaa[np.ix_(sOa,sOa,sva,sVa)], (2, 3, 4, 5), v.aabb.ovov, (6, 4, 0, 7), (2, 3, 5, 1, 6, 7)) * -1.0 - x1131 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[1], nocc[0]), dtype=types[float]) - x1131 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), x1130, (2, 3, 4, 5, 6, 1), (2, 3, 0, 4, 5, 6)) - del x1130 - x1132 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) - x1132 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x1131, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) - del x1131 - t3new_abaaba += einsum(x1132, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 - t3new_abaaba += einsum(x1132, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 - del x1132 - x1133 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) - x1133 += einsum(f.bb.OO, (0, 1), t3.bbbbbb, (2, 3, 1, 4, 5, 6), (0, 2, 3, 4, 5, 6)) - t3new_bbbbbb = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) - t3new_bbbbbb += einsum(x1133, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 6.0 - t3new_bbbbbb += einsum(x1133, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * 6.0 - t3new_bbbbbb += einsum(x1133, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -6.0 - del x1133 - x1134 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) - x1134 += einsum(f.bb.VV, (0, 1), t3.bbbbbb, (2, 3, 4, 5, 6, 1), (2, 3, 4, 0, 5, 6)) - t3new_bbbbbb += einsum(x1134, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -6.0 - t3new_bbbbbb += einsum(x1134, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * 6.0 - t3new_bbbbbb += einsum(x1134, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -6.0 - del x1134 - x1135 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) - x1135 += einsum(t2.bbbb[np.ix_(sob,sOb,sVb,sVb)], (0, 1, 2, 3), v.bbbb.oOOV, (0, 4, 5, 6), (1, 5, 4, 2, 3, 6)) * -1.0 - t3new_bbbbbb += einsum(x1135, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 2.0 - t3new_bbbbbb += einsum(x1135, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 - t3new_bbbbbb += einsum(x1135, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 2.0 - t3new_bbbbbb += einsum(x1135, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -2.0 - t3new_bbbbbb += einsum(x1135, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 2.0 - t3new_bbbbbb += einsum(x1135, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -2.0 - t3new_bbbbbb += einsum(x1135, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -2.0 - t3new_bbbbbb += einsum(x1135, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * 2.0 - t3new_bbbbbb += einsum(x1135, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) * -2.0 - t3new_bbbbbb += einsum(x1135, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 - t3new_bbbbbb += einsum(x1135, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -2.0 - t3new_bbbbbb += einsum(x1135, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * 2.0 - t3new_bbbbbb += einsum(x1135, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * 2.0 - t3new_bbbbbb += einsum(x1135, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -2.0 - t3new_bbbbbb += einsum(x1135, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * 2.0 - t3new_bbbbbb += einsum(x1135, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * -2.0 - t3new_bbbbbb += einsum(x1135, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 2.0 - t3new_bbbbbb += einsum(x1135, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -2.0 - del x1135 - x1136 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) - x1136 += einsum(t2.bbbb[np.ix_(sOb,sOb,svb,sVb)], (0, 1, 2, 3), v.bbbb.vVOV, (2, 4, 5, 6), (0, 1, 5, 3, 6, 4)) * -1.0 - t3new_bbbbbb += einsum(x1136, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -2.0 - t3new_bbbbbb += einsum(x1136, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 - t3new_bbbbbb += einsum(x1136, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * 2.0 - t3new_bbbbbb += einsum(x1136, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -2.0 - t3new_bbbbbb += einsum(x1136, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 - t3new_bbbbbb += einsum(x1136, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 2.0 - t3new_bbbbbb += einsum(x1136, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 2.0 - t3new_bbbbbb += einsum(x1136, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -2.0 - t3new_bbbbbb += einsum(x1136, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -2.0 - t3new_bbbbbb += einsum(x1136, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 2.0 - t3new_bbbbbb += einsum(x1136, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 2.0 - t3new_bbbbbb += einsum(x1136, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -2.0 - t3new_bbbbbb += einsum(x1136, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -2.0 - t3new_bbbbbb += einsum(x1136, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * 2.0 - t3new_bbbbbb += einsum(x1136, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * 2.0 - t3new_bbbbbb += einsum(x1136, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -2.0 - t3new_bbbbbb += einsum(x1136, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -2.0 - t3new_bbbbbb += einsum(x1136, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * 2.0 - del x1136 - x1137 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) - x1137 += einsum(v.aabb.OVOV, (0, 1, 2, 3), t3.babbab, (4, 0, 5, 6, 1, 7), (4, 5, 2, 6, 7, 3)) - t3new_bbbbbb += einsum(x1137, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * 2.0 - t3new_bbbbbb += einsum(x1137, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -2.0 - t3new_bbbbbb += einsum(x1137, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * 2.0 - t3new_bbbbbb += einsum(x1137, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 2.0 - t3new_bbbbbb += einsum(x1137, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 - t3new_bbbbbb += einsum(x1137, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 2.0 - t3new_bbbbbb += einsum(x1137, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -2.0 - t3new_bbbbbb += einsum(x1137, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 2.0 - t3new_bbbbbb += einsum(x1137, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -2.0 - del x1137 - x1138 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) - x1138 += einsum(v.bbbb.OOOO, (0, 1, 2, 3), t3.bbbbbb, (4, 3, 1, 5, 6, 7), (4, 0, 2, 5, 6, 7)) * -1.0 - t3new_bbbbbb += einsum(x1138, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 6.0 - t3new_bbbbbb += einsum(x1138, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -6.0 - t3new_bbbbbb += einsum(x1138, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -6.0 - del x1138 - x1139 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) - x1139 += einsum(v.bbbb.OOVV, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 1, 6, 7, 3), (4, 5, 0, 6, 7, 2)) - t3new_bbbbbb += einsum(x1139, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -6.0 - t3new_bbbbbb += einsum(x1139, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * 6.0 - t3new_bbbbbb += einsum(x1139, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -6.0 - t3new_bbbbbb += einsum(x1139, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -6.0 - t3new_bbbbbb += einsum(x1139, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 6.0 - t3new_bbbbbb += einsum(x1139, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -6.0 - t3new_bbbbbb += einsum(x1139, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 6.0 - t3new_bbbbbb += einsum(x1139, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -6.0 - t3new_bbbbbb += einsum(x1139, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 6.0 - del x1139 - x1140 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) - x1140 += einsum(v.bbbb.OVOV, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 2, 6, 7, 3), (4, 5, 0, 6, 7, 1)) - t3new_bbbbbb += einsum(x1140, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * 6.0 - t3new_bbbbbb += einsum(x1140, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -6.0 - t3new_bbbbbb += einsum(x1140, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * 6.0 - t3new_bbbbbb += einsum(x1140, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 6.0 - t3new_bbbbbb += einsum(x1140, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -6.0 - t3new_bbbbbb += einsum(x1140, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 6.0 - t3new_bbbbbb += einsum(x1140, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -6.0 - t3new_bbbbbb += einsum(x1140, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 6.0 - t3new_bbbbbb += einsum(x1140, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -6.0 - del x1140 - x1141 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) - x1141 += einsum(v.bbbb.VVVV, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 6, 7, 3, 1), (4, 5, 6, 7, 0, 2)) * -1.0 - t3new_bbbbbb += einsum(x1141, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -6.0 - t3new_bbbbbb += einsum(x1141, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * 6.0 - t3new_bbbbbb += einsum(x1141, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -6.0 - del x1141 - x1142 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) - x1142 += einsum(x489, (0, 1), t3.bbbbbb, (2, 3, 0, 4, 5, 6), (1, 2, 3, 4, 5, 6)) - del x489 - t3new_bbbbbb += einsum(x1142, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 6.0 - t3new_bbbbbb += einsum(x1142, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * 6.0 - t3new_bbbbbb += einsum(x1142, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -6.0 - del x1142 - x1143 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) - x1143 += einsum(x491, (0, 1), t3.bbbbbb, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) - del x491 - t3new_bbbbbb += einsum(x1143, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 6.0 - t3new_bbbbbb += einsum(x1143, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -6.0 - t3new_bbbbbb += einsum(x1143, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 6.0 - del x1143 - x1144 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) - x1144 += einsum(t2.bbbb[np.ix_(sob,sOb,sVb,sVb)], (0, 1, 2, 3), x497, (4, 5, 6, 0), (5, 4, 1, 6, 2, 3)) - del x497 - t3new_bbbbbb += einsum(x1144, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 4.0 - t3new_bbbbbb += einsum(x1144, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -4.0 - t3new_bbbbbb += einsum(x1144, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 4.0 - t3new_bbbbbb += einsum(x1144, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * -4.0 - t3new_bbbbbb += einsum(x1144, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * 4.0 - t3new_bbbbbb += einsum(x1144, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * 4.0 - t3new_bbbbbb += einsum(x1144, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -4.0 - t3new_bbbbbb += einsum(x1144, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * 4.0 - t3new_bbbbbb += einsum(x1144, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -4.0 - del x1144 - x1145 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) - x1145 += einsum(t2.bbbb[np.ix_(sob,sOb,sVb,sVb)], (0, 1, 2, 3), x510, (4, 5, 6, 0), (4, 1, 5, 2, 3, 6)) * -1.0 - del x510 - t3new_bbbbbb += einsum(x1145, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -2.0 - t3new_bbbbbb += einsum(x1145, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 2.0 - t3new_bbbbbb += einsum(x1145, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 2.0 - t3new_bbbbbb += einsum(x1145, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 - t3new_bbbbbb += einsum(x1145, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -2.0 - t3new_bbbbbb += einsum(x1145, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -2.0 - t3new_bbbbbb += einsum(x1145, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * 2.0 - t3new_bbbbbb += einsum(x1145, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -2.0 - t3new_bbbbbb += einsum(x1145, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -2.0 - t3new_bbbbbb += einsum(x1145, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * -2.0 - t3new_bbbbbb += einsum(x1145, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * 2.0 - t3new_bbbbbb += einsum(x1145, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) * 2.0 - t3new_bbbbbb += einsum(x1145, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -2.0 - t3new_bbbbbb += einsum(x1145, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * 2.0 - t3new_bbbbbb += einsum(x1145, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * 2.0 - t3new_bbbbbb += einsum(x1145, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * 2.0 - t3new_bbbbbb += einsum(x1145, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -2.0 - t3new_bbbbbb += einsum(x1145, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -2.0 - del x1145 - x1146 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], nocc[1]), dtype=types[float]) - x1146 += einsum(t2.bbbb[np.ix_(sob,sOb,sVb,sVb)], (0, 1, 2, 3), v.bbbb.oOoO, (4, 5, 0, 6), (1, 5, 6, 2, 3, 4)) * -1.0 - x1147 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) - x1147 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), x1146, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) - del x1146 - t3new_bbbbbb += einsum(x1147, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 2.0 - t3new_bbbbbb += einsum(x1147, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 - t3new_bbbbbb += einsum(x1147, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * -2.0 - t3new_bbbbbb += einsum(x1147, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) * 2.0 - t3new_bbbbbb += einsum(x1147, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * 2.0 - t3new_bbbbbb += einsum(x1147, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -2.0 - t3new_bbbbbb += einsum(x1147, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -2.0 - t3new_bbbbbb += einsum(x1147, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 2.0 - t3new_bbbbbb += einsum(x1147, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 - t3new_bbbbbb += einsum(x1147, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -2.0 - t3new_bbbbbb += einsum(x1147, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -2.0 - t3new_bbbbbb += einsum(x1147, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * 2.0 - t3new_bbbbbb += einsum(x1147, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 2.0 - t3new_bbbbbb += einsum(x1147, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -2.0 - t3new_bbbbbb += einsum(x1147, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -2.0 - t3new_bbbbbb += einsum(x1147, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) * 2.0 - t3new_bbbbbb += einsum(x1147, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * 2.0 - t3new_bbbbbb += einsum(x1147, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -2.0 - del x1147 - x1148 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], nocc[1]), dtype=types[float]) - x1148 += einsum(t2.bbbb[np.ix_(sOb,sOb,svb,sVb)], (0, 1, 2, 3), v.bbbb.oOvV, (4, 5, 2, 6), (0, 1, 5, 3, 6, 4)) * -1.0 - x1149 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) - x1149 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), x1148, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) - del x1148 - t3new_bbbbbb += einsum(x1149, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * 2.0 - t3new_bbbbbb += einsum(x1149, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 - t3new_bbbbbb += einsum(x1149, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -2.0 - t3new_bbbbbb += einsum(x1149, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 2.0 - t3new_bbbbbb += einsum(x1149, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * 2.0 - t3new_bbbbbb += einsum(x1149, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -2.0 - t3new_bbbbbb += einsum(x1149, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -2.0 - t3new_bbbbbb += einsum(x1149, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 2.0 - t3new_bbbbbb += einsum(x1149, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 2.0 - t3new_bbbbbb += einsum(x1149, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -2.0 - t3new_bbbbbb += einsum(x1149, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -2.0 - t3new_bbbbbb += einsum(x1149, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * 2.0 - t3new_bbbbbb += einsum(x1149, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 - t3new_bbbbbb += einsum(x1149, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -2.0 - t3new_bbbbbb += einsum(x1149, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -2.0 - t3new_bbbbbb += einsum(x1149, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 2.0 - t3new_bbbbbb += einsum(x1149, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * 2.0 - t3new_bbbbbb += einsum(x1149, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -2.0 - del x1149 - x1150 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) - x1150 += einsum(t2.bbbb[np.ix_(sob,sOb,sVb,sVb)], (0, 1, 2, 3), x520, (4, 5, 6, 0), (4, 1, 5, 2, 3, 6)) * -1.0 - del x520 - t3new_bbbbbb += einsum(x1150, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -2.0 - t3new_bbbbbb += einsum(x1150, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 2.0 - t3new_bbbbbb += einsum(x1150, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -2.0 - t3new_bbbbbb += einsum(x1150, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 2.0 - t3new_bbbbbb += einsum(x1150, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 - t3new_bbbbbb += einsum(x1150, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 2.0 - t3new_bbbbbb += einsum(x1150, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * 2.0 - t3new_bbbbbb += einsum(x1150, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -2.0 - t3new_bbbbbb += einsum(x1150, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 - t3new_bbbbbb += einsum(x1150, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) * -2.0 - t3new_bbbbbb += einsum(x1150, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * 2.0 - t3new_bbbbbb += einsum(x1150, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -2.0 - t3new_bbbbbb += einsum(x1150, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -2.0 - t3new_bbbbbb += einsum(x1150, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 2.0 - t3new_bbbbbb += einsum(x1150, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * -2.0 - t3new_bbbbbb += einsum(x1150, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * 2.0 - t3new_bbbbbb += einsum(x1150, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -2.0 - t3new_bbbbbb += einsum(x1150, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * 2.0 - del x1150 - x1151 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], nocc[1]), dtype=types[float]) - x1151 += einsum(t2.bbbb[np.ix_(sOb,sOb,svb,sVb)], (0, 1, 2, 3), v.bbbb.ovOV, (4, 2, 5, 6), (0, 1, 5, 3, 6, 4)) * -1.0 - x1152 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) - x1152 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), x1151, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) - del x1151 - t3new_bbbbbb += einsum(x1152, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.0 - t3new_bbbbbb += einsum(x1152, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -2.0 - t3new_bbbbbb += einsum(x1152, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -2.0 - t3new_bbbbbb += einsum(x1152, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 2.0 - t3new_bbbbbb += einsum(x1152, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * 2.0 - t3new_bbbbbb += einsum(x1152, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -2.0 - t3new_bbbbbb += einsum(x1152, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -2.0 - t3new_bbbbbb += einsum(x1152, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 2.0 - t3new_bbbbbb += einsum(x1152, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * 2.0 - t3new_bbbbbb += einsum(x1152, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -2.0 - t3new_bbbbbb += einsum(x1152, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * -2.0 - t3new_bbbbbb += einsum(x1152, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * 2.0 - t3new_bbbbbb += einsum(x1152, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 2.0 - t3new_bbbbbb += einsum(x1152, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 - t3new_bbbbbb += einsum(x1152, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -2.0 - t3new_bbbbbb += einsum(x1152, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 2.0 - t3new_bbbbbb += einsum(x1152, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * 2.0 - t3new_bbbbbb += einsum(x1152, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -2.0 - del x1152 - x1153 = np.zeros((naocc[1], naocc[1], navir[1], navir[1], navir[1], nvir[1]), dtype=types[float]) - x1153 += einsum(t2.bbbb[np.ix_(sOb,sOb,svb,sVb)], (0, 1, 2, 3), v.bbbb.vVvV, (4, 5, 2, 6), (0, 1, 3, 5, 6, 4)) * -1.0 - x1154 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) - x1154 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), x1153, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) - del x1153 - t3new_bbbbbb += einsum(x1154, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -2.0 - t3new_bbbbbb += einsum(x1154, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 - t3new_bbbbbb += einsum(x1154, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 2.0 - t3new_bbbbbb += einsum(x1154, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -2.0 - t3new_bbbbbb += einsum(x1154, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * 2.0 - t3new_bbbbbb += einsum(x1154, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 - t3new_bbbbbb += einsum(x1154, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -2.0 - t3new_bbbbbb += einsum(x1154, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * 2.0 - t3new_bbbbbb += einsum(x1154, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 - t3new_bbbbbb += einsum(x1154, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -2.0 - t3new_bbbbbb += einsum(x1154, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * 2.0 - t3new_bbbbbb += einsum(x1154, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * -2.0 - t3new_bbbbbb += einsum(x1154, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * 2.0 - t3new_bbbbbb += einsum(x1154, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -2.0 - t3new_bbbbbb += einsum(x1154, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -2.0 - t3new_bbbbbb += einsum(x1154, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * 2.0 - t3new_bbbbbb += einsum(x1154, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) * -2.0 - t3new_bbbbbb += einsum(x1154, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * 2.0 - del x1154 - x1155 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) - x1155 += einsum(x540, (0, 1), t3.bbbbbb, (2, 3, 1, 4, 5, 6), (2, 3, 0, 4, 5, 6)) - del x540 - t3new_bbbbbb += einsum(x1155, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * 6.0 - t3new_bbbbbb += einsum(x1155, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 6.0 - t3new_bbbbbb += einsum(x1155, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -6.0 - del x1155 - x1156 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) - x1156 += einsum(x544, (0, 1), t3.bbbbbb, (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 6, 0)) - del x544 - t3new_bbbbbb += einsum(x1156, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -6.0 - t3new_bbbbbb += einsum(x1156, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 6.0 - t3new_bbbbbb += einsum(x1156, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -6.0 - del x1156 - x1157 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) - x1157 += einsum(x546, (0, 1, 2, 3), t3.babbab, (4, 0, 5, 6, 2, 7), (1, 4, 5, 6, 7, 3)) - del x546 - t3new_bbbbbb += einsum(x1157, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 2.0 - t3new_bbbbbb += einsum(x1157, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 - t3new_bbbbbb += einsum(x1157, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 2.0 - t3new_bbbbbb += einsum(x1157, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * 2.0 - t3new_bbbbbb += einsum(x1157, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -2.0 - t3new_bbbbbb += einsum(x1157, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 - t3new_bbbbbb += einsum(x1157, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -2.0 - t3new_bbbbbb += einsum(x1157, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 2.0 - t3new_bbbbbb += einsum(x1157, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * -2.0 - del x1157 - x1158 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) - x1158 += einsum(x548, (0, 1, 2, 3), t3.babbab, (4, 0, 5, 6, 2, 7), (4, 5, 1, 3, 6, 7)) - del x548 - t3new_bbbbbb += einsum(x1158, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -2.0 - t3new_bbbbbb += einsum(x1158, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 - t3new_bbbbbb += einsum(x1158, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 2.0 - t3new_bbbbbb += einsum(x1158, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * 2.0 - t3new_bbbbbb += einsum(x1158, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 2.0 - t3new_bbbbbb += einsum(x1158, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -2.0 - t3new_bbbbbb += einsum(x1158, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -2.0 - t3new_bbbbbb += einsum(x1158, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -2.0 - t3new_bbbbbb += einsum(x1158, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 2.0 - del x1158 - x1159 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) - x1159 += einsum(x552, (0, 1, 2, 3), t3.bbbbbb, (4, 3, 2, 5, 6, 7), (0, 4, 1, 5, 6, 7)) * -1.0 - del x552 - t3new_bbbbbb += einsum(x1159, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -6.0 - t3new_bbbbbb += einsum(x1159, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 6.0 - t3new_bbbbbb += einsum(x1159, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * 6.0 - t3new_bbbbbb += einsum(x1159, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -6.0 - t3new_bbbbbb += einsum(x1159, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -6.0 - t3new_bbbbbb += einsum(x1159, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 6.0 - del x1159 - x1160 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) - x1160 += einsum(x554, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 0, 6, 7, 3), (4, 5, 1, 2, 6, 7)) - del x554 - t3new_bbbbbb += einsum(x1160, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -6.0 - t3new_bbbbbb += einsum(x1160, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -6.0 - t3new_bbbbbb += einsum(x1160, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 6.0 - t3new_bbbbbb += einsum(x1160, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * 6.0 - t3new_bbbbbb += einsum(x1160, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 6.0 - t3new_bbbbbb += einsum(x1160, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -6.0 - t3new_bbbbbb += einsum(x1160, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -6.0 - t3new_bbbbbb += einsum(x1160, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -6.0 - t3new_bbbbbb += einsum(x1160, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 6.0 - del x1160 - x1161 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) - x1161 += einsum(x556, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 1, 6, 7, 3), (4, 5, 0, 2, 6, 7)) - del x556 - t3new_bbbbbb += einsum(x1161, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * 6.0 - t3new_bbbbbb += einsum(x1161, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 6.0 - t3new_bbbbbb += einsum(x1161, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -6.0 - t3new_bbbbbb += einsum(x1161, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * -6.0 - t3new_bbbbbb += einsum(x1161, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -6.0 - t3new_bbbbbb += einsum(x1161, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * 6.0 - t3new_bbbbbb += einsum(x1161, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * 6.0 - t3new_bbbbbb += einsum(x1161, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 6.0 - t3new_bbbbbb += einsum(x1161, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -6.0 - del x1161 - x1162 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) - x1162 += einsum(x560, (0, 1), t3.bbbbbb, (2, 3, 1, 4, 5, 6), (2, 3, 0, 4, 5, 6)) - del x560 - t3new_bbbbbb += einsum(x1162, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -6.0 - t3new_bbbbbb += einsum(x1162, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -6.0 - t3new_bbbbbb += einsum(x1162, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 6.0 - del x1162 - x1163 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) - x1163 += einsum(x562, (0, 1), t3.bbbbbb, (2, 3, 1, 4, 5, 6), (2, 3, 0, 4, 5, 6)) - del x562 - t3new_bbbbbb += einsum(x1163, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * 6.0 - t3new_bbbbbb += einsum(x1163, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 6.0 - t3new_bbbbbb += einsum(x1163, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -6.0 - del x1163 - x1164 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) - x1164 += einsum(x564, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 1, 6, 7, 3), (0, 4, 5, 6, 7, 2)) - del x564 - t3new_bbbbbb += einsum(x1164, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -6.0 - t3new_bbbbbb += einsum(x1164, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 6.0 - t3new_bbbbbb += einsum(x1164, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -6.0 - t3new_bbbbbb += einsum(x1164, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -6.0 - t3new_bbbbbb += einsum(x1164, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * 6.0 - t3new_bbbbbb += einsum(x1164, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -6.0 - t3new_bbbbbb += einsum(x1164, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * 6.0 - t3new_bbbbbb += einsum(x1164, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -6.0 - t3new_bbbbbb += einsum(x1164, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * 6.0 - del x1164 - x1165 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) - x1165 += einsum(x566, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 1, 6, 7, 2), (0, 4, 5, 6, 7, 3)) - del x566 - t3new_bbbbbb += einsum(x1165, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 6.0 - t3new_bbbbbb += einsum(x1165, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -6.0 - t3new_bbbbbb += einsum(x1165, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 6.0 - t3new_bbbbbb += einsum(x1165, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * 6.0 - t3new_bbbbbb += einsum(x1165, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -6.0 - t3new_bbbbbb += einsum(x1165, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 6.0 - t3new_bbbbbb += einsum(x1165, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -6.0 - t3new_bbbbbb += einsum(x1165, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 6.0 - t3new_bbbbbb += einsum(x1165, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * -6.0 - del x1165 - x1166 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) - x1166 += einsum(x568, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 6, 7, 2, 3), (4, 5, 6, 0, 7, 1)) - del x568 - t3new_bbbbbb += einsum(x1166, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 6.0 - t3new_bbbbbb += einsum(x1166, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -6.0 - t3new_bbbbbb += einsum(x1166, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -6.0 - t3new_bbbbbb += einsum(x1166, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 6.0 - t3new_bbbbbb += einsum(x1166, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 6.0 - t3new_bbbbbb += einsum(x1166, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -6.0 - del x1166 - x1167 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) - x1167 += einsum(x570, (0, 1), t3.bbbbbb, (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 6, 0)) - del x570 - t3new_bbbbbb += einsum(x1167, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -6.0 - t3new_bbbbbb += einsum(x1167, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 6.0 - t3new_bbbbbb += einsum(x1167, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -6.0 - del x1167 - x1168 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) - x1168 += einsum(x572, (0, 1), t3.bbbbbb, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 6, 1)) - del x572 - t3new_bbbbbb += einsum(x1168, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 6.0 - t3new_bbbbbb += einsum(x1168, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -6.0 - t3new_bbbbbb += einsum(x1168, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 6.0 - del x1168 - x1169 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) - x1169 += einsum(t2.bbbb[np.ix_(sob,sOb,sVb,sVb)], (0, 1, 2, 3), x584, (4, 5, 6, 0), (1, 4, 5, 2, 3, 6)) * -1.0 - del x584 - t3new_bbbbbb += einsum(x1169, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 2.0 - t3new_bbbbbb += einsum(x1169, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -2.0 - t3new_bbbbbb += einsum(x1169, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -2.0 - t3new_bbbbbb += einsum(x1169, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 - t3new_bbbbbb += einsum(x1169, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 2.0 - t3new_bbbbbb += einsum(x1169, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 2.0 - t3new_bbbbbb += einsum(x1169, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -2.0 - t3new_bbbbbb += einsum(x1169, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 - t3new_bbbbbb += einsum(x1169, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * 2.0 - t3new_bbbbbb += einsum(x1169, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * 2.0 - t3new_bbbbbb += einsum(x1169, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -2.0 - t3new_bbbbbb += einsum(x1169, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) * -2.0 - t3new_bbbbbb += einsum(x1169, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 2.0 - t3new_bbbbbb += einsum(x1169, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * -2.0 - t3new_bbbbbb += einsum(x1169, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -2.0 - t3new_bbbbbb += einsum(x1169, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -2.0 - t3new_bbbbbb += einsum(x1169, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * 2.0 - t3new_bbbbbb += einsum(x1169, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * 2.0 - del x1169 - x1170 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) - x1170 += einsum(t2.bbbb[np.ix_(sOb,sOb,svb,sVb)], (0, 1, 2, 3), x594, (4, 5, 6, 2), (0, 1, 4, 3, 5, 6)) * -1.0 - del x594 - t3new_bbbbbb += einsum(x1170, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 - t3new_bbbbbb += einsum(x1170, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * 2.0 - t3new_bbbbbb += einsum(x1170, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 2.0 - t3new_bbbbbb += einsum(x1170, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -2.0 - t3new_bbbbbb += einsum(x1170, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -2.0 - t3new_bbbbbb += einsum(x1170, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 - t3new_bbbbbb += einsum(x1170, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 2.0 - t3new_bbbbbb += einsum(x1170, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -2.0 - t3new_bbbbbb += einsum(x1170, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -2.0 - t3new_bbbbbb += einsum(x1170, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 2.0 - t3new_bbbbbb += einsum(x1170, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 2.0 - t3new_bbbbbb += einsum(x1170, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -2.0 - t3new_bbbbbb += einsum(x1170, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -2.0 - t3new_bbbbbb += einsum(x1170, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * 2.0 - t3new_bbbbbb += einsum(x1170, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * 2.0 - t3new_bbbbbb += einsum(x1170, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -2.0 - t3new_bbbbbb += einsum(x1170, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -2.0 - t3new_bbbbbb += einsum(x1170, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * 2.0 - del x1170 - x1171 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) - x1171 += einsum(t2.bbbb[np.ix_(sob,sOb,sVb,sVb)], (0, 1, 2, 3), x598, (4, 5, 6, 0), (1, 4, 5, 2, 3, 6)) * -1.0 - del x598 - t3new_bbbbbb += einsum(x1171, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 4.0 - t3new_bbbbbb += einsum(x1171, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -4.0 - t3new_bbbbbb += einsum(x1171, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -4.0 - t3new_bbbbbb += einsum(x1171, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * 4.0 - t3new_bbbbbb += einsum(x1171, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -4.0 - t3new_bbbbbb += einsum(x1171, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 4.0 - t3new_bbbbbb += einsum(x1171, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -4.0 - t3new_bbbbbb += einsum(x1171, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 4.0 - t3new_bbbbbb += einsum(x1171, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 4.0 - t3new_bbbbbb += einsum(x1171, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -4.0 - t3new_bbbbbb += einsum(x1171, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 4.0 - t3new_bbbbbb += einsum(x1171, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * -4.0 - t3new_bbbbbb += einsum(x1171, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * 4.0 - t3new_bbbbbb += einsum(x1171, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -4.0 - t3new_bbbbbb += einsum(x1171, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) * -4.0 - t3new_bbbbbb += einsum(x1171, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * 4.0 - t3new_bbbbbb += einsum(x1171, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -4.0 - t3new_bbbbbb += einsum(x1171, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * 4.0 - del x1171 - x1172 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) - x1172 += einsum(t2.bbbb[np.ix_(sob,sOb,sVb,sVb)], (0, 1, 2, 3), x602, (4, 5, 6, 0), (1, 4, 5, 2, 3, 6)) * -1.0 - del x602 - t3new_bbbbbb += einsum(x1172, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -4.0 - t3new_bbbbbb += einsum(x1172, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * 4.0 - t3new_bbbbbb += einsum(x1172, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -4.0 - t3new_bbbbbb += einsum(x1172, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -4.0 - t3new_bbbbbb += einsum(x1172, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 4.0 - t3new_bbbbbb += einsum(x1172, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 4.0 - t3new_bbbbbb += einsum(x1172, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * 4.0 - t3new_bbbbbb += einsum(x1172, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -4.0 - t3new_bbbbbb += einsum(x1172, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * 4.0 - t3new_bbbbbb += einsum(x1172, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 4.0 - t3new_bbbbbb += einsum(x1172, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -4.0 - t3new_bbbbbb += einsum(x1172, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -4.0 - t3new_bbbbbb += einsum(x1172, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -4.0 - t3new_bbbbbb += einsum(x1172, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * 4.0 - t3new_bbbbbb += einsum(x1172, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -4.0 - t3new_bbbbbb += einsum(x1172, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * -4.0 - t3new_bbbbbb += einsum(x1172, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * 4.0 - t3new_bbbbbb += einsum(x1172, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) * 4.0 - del x1172 - x1173 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) - x1173 += einsum(t2.bbbb[np.ix_(sOb,sOb,svb,sVb)], (0, 1, 2, 3), x606, (4, 5, 6, 2), (0, 1, 4, 3, 5, 6)) * -1.0 - del x606 - t3new_bbbbbb += einsum(x1173, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 - t3new_bbbbbb += einsum(x1173, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 2.0 - t3new_bbbbbb += einsum(x1173, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -2.0 - t3new_bbbbbb += einsum(x1173, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 - t3new_bbbbbb += einsum(x1173, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 2.0 - t3new_bbbbbb += einsum(x1173, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -2.0 - t3new_bbbbbb += einsum(x1173, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 2.0 - t3new_bbbbbb += einsum(x1173, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -2.0 - t3new_bbbbbb += einsum(x1173, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 2.0 - t3new_bbbbbb += einsum(x1173, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 2.0 - t3new_bbbbbb += einsum(x1173, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -2.0 - t3new_bbbbbb += einsum(x1173, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 2.0 - t3new_bbbbbb += einsum(x1173, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -2.0 - t3new_bbbbbb += einsum(x1173, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * 2.0 - t3new_bbbbbb += einsum(x1173, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -2.0 - t3new_bbbbbb += einsum(x1173, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -2.0 - t3new_bbbbbb += einsum(x1173, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * 2.0 - t3new_bbbbbb += einsum(x1173, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -2.0 - del x1173 - x1174 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) - x1174 += einsum(t2.bbbb[np.ix_(sOb,sOb,svb,sVb)], (0, 1, 2, 3), x614, (4, 5, 6, 2), (0, 1, 4, 3, 5, 6)) * -1.0 - del x614 - t3new_bbbbbb += einsum(x1174, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -4.0 - t3new_bbbbbb += einsum(x1174, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 4.0 - t3new_bbbbbb += einsum(x1174, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 4.0 - t3new_bbbbbb += einsum(x1174, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -4.0 - t3new_bbbbbb += einsum(x1174, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -4.0 - t3new_bbbbbb += einsum(x1174, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 4.0 - t3new_bbbbbb += einsum(x1174, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * 4.0 - t3new_bbbbbb += einsum(x1174, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -4.0 - t3new_bbbbbb += einsum(x1174, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -4.0 - t3new_bbbbbb += einsum(x1174, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * 4.0 - t3new_bbbbbb += einsum(x1174, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * 4.0 - t3new_bbbbbb += einsum(x1174, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * -4.0 - t3new_bbbbbb += einsum(x1174, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 4.0 - t3new_bbbbbb += einsum(x1174, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -4.0 - t3new_bbbbbb += einsum(x1174, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -4.0 - t3new_bbbbbb += einsum(x1174, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * 4.0 - t3new_bbbbbb += einsum(x1174, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 4.0 - t3new_bbbbbb += einsum(x1174, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -4.0 - del x1174 - x1175 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) - x1175 += einsum(t2.bbbb[np.ix_(sob,sOb,sVb,sVb)], (0, 1, 2, 3), x620, (4, 5, 6, 0), (5, 4, 1, 2, 3, 6)) - del x620 - t3new_bbbbbb += einsum(x1175, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 - t3new_bbbbbb += einsum(x1175, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 2.0 - t3new_bbbbbb += einsum(x1175, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 2.0 - t3new_bbbbbb += einsum(x1175, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 - t3new_bbbbbb += einsum(x1175, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 2.0 - t3new_bbbbbb += einsum(x1175, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 2.0 - t3new_bbbbbb += einsum(x1175, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -2.0 - t3new_bbbbbb += einsum(x1175, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * 2.0 - t3new_bbbbbb += einsum(x1175, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * 2.0 - t3new_bbbbbb += einsum(x1175, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -2.0 - t3new_bbbbbb += einsum(x1175, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * 2.0 - t3new_bbbbbb += einsum(x1175, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * 2.0 - t3new_bbbbbb += einsum(x1175, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 2.0 - t3new_bbbbbb += einsum(x1175, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -2.0 - t3new_bbbbbb += einsum(x1175, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -2.0 - t3new_bbbbbb += einsum(x1175, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 2.0 - t3new_bbbbbb += einsum(x1175, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -2.0 - t3new_bbbbbb += einsum(x1175, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -2.0 - del x1175 - x1176 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) - x1176 += einsum(t2.bbbb[np.ix_(sOb,sOb,svb,sVb)], (0, 1, 2, 3), x616, (4, 5, 6, 2), (0, 1, 4, 3, 5, 6)) * -1.0 - del x616 - t3new_bbbbbb += einsum(x1176, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * 4.0 - t3new_bbbbbb += einsum(x1176, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -4.0 - t3new_bbbbbb += einsum(x1176, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -4.0 - t3new_bbbbbb += einsum(x1176, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 4.0 - t3new_bbbbbb += einsum(x1176, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 4.0 - t3new_bbbbbb += einsum(x1176, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -4.0 - t3new_bbbbbb += einsum(x1176, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -4.0 - t3new_bbbbbb += einsum(x1176, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * 4.0 - t3new_bbbbbb += einsum(x1176, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * 4.0 - t3new_bbbbbb += einsum(x1176, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -4.0 - t3new_bbbbbb += einsum(x1176, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -4.0 - t3new_bbbbbb += einsum(x1176, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * 4.0 - t3new_bbbbbb += einsum(x1176, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -4.0 - t3new_bbbbbb += einsum(x1176, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 4.0 - t3new_bbbbbb += einsum(x1176, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 4.0 - t3new_bbbbbb += einsum(x1176, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -4.0 - t3new_bbbbbb += einsum(x1176, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -4.0 - t3new_bbbbbb += einsum(x1176, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 4.0 - del x1176 - x1177 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) - x1177 += einsum(x640, (0, 1, 2, 3), t3.babbab, (4, 0, 5, 6, 2, 7), (1, 4, 5, 3, 6, 7)) - del x640 - t3new_bbbbbb += einsum(x1177, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.00000000000002 - t3new_bbbbbb += einsum(x1177, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -2.00000000000002 - t3new_bbbbbb += einsum(x1177, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 2.00000000000002 - t3new_bbbbbb += einsum(x1177, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * 2.00000000000002 - t3new_bbbbbb += einsum(x1177, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.00000000000002 - t3new_bbbbbb += einsum(x1177, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * 2.00000000000002 - t3new_bbbbbb += einsum(x1177, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -2.00000000000002 - t3new_bbbbbb += einsum(x1177, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * 2.00000000000002 - t3new_bbbbbb += einsum(x1177, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -2.00000000000002 - del x1177 - x1178 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) - x1178 += einsum(x642, (0, 1, 2, 3), t3.babbab, (4, 0, 5, 6, 2, 7), (1, 4, 5, 3, 6, 7)) - del x642 - t3new_bbbbbb += einsum(x1178, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.00000000000002 - t3new_bbbbbb += einsum(x1178, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 2.00000000000002 - t3new_bbbbbb += einsum(x1178, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -2.00000000000002 - t3new_bbbbbb += einsum(x1178, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * -2.00000000000002 - t3new_bbbbbb += einsum(x1178, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.00000000000002 - t3new_bbbbbb += einsum(x1178, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -2.00000000000002 - t3new_bbbbbb += einsum(x1178, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * 2.00000000000002 - t3new_bbbbbb += einsum(x1178, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -2.00000000000002 - t3new_bbbbbb += einsum(x1178, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * 2.00000000000002 - del x1178 - x1179 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) - x1179 += einsum(x656, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 1, 6, 7, 3), (0, 4, 5, 2, 6, 7)) - del x656 - t3new_bbbbbb += einsum(x1179, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 6.0000000000000595 - t3new_bbbbbb += einsum(x1179, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -6.0000000000000595 - t3new_bbbbbb += einsum(x1179, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 6.0000000000000595 - t3new_bbbbbb += einsum(x1179, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * 6.0000000000000595 - t3new_bbbbbb += einsum(x1179, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -6.0000000000000595 - t3new_bbbbbb += einsum(x1179, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * 6.0000000000000595 - t3new_bbbbbb += einsum(x1179, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -6.0000000000000595 - t3new_bbbbbb += einsum(x1179, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * 6.0000000000000595 - t3new_bbbbbb += einsum(x1179, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -6.0000000000000595 - del x1179 - x1180 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) - x1180 += einsum(x658, (0, 1), t3.bbbbbb, (2, 3, 1, 4, 5, 6), (0, 2, 3, 4, 5, 6)) - del x658 - t3new_bbbbbb += einsum(x1180, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -6.0 - t3new_bbbbbb += einsum(x1180, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -6.0 - t3new_bbbbbb += einsum(x1180, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 6.0 - del x1180 - x1181 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) - x1181 += einsum(x664, (0, 1), t3.bbbbbb, (2, 3, 4, 5, 6, 1), (2, 3, 4, 0, 5, 6)) - del x664 - t3new_bbbbbb += einsum(x1181, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -6.0 - t3new_bbbbbb += einsum(x1181, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * 6.0 - t3new_bbbbbb += einsum(x1181, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -6.0 - del x1181 - x1182 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) - x1182 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x672, (1, 6, 7, 2, 4, 8), (7, 6, 0, 8, 3, 5)) * -1.0 - del x672 - t3new_bbbbbb += einsum(x1182, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -4.0 - t3new_bbbbbb += einsum(x1182, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * 4.0 - t3new_bbbbbb += einsum(x1182, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -4.0 - t3new_bbbbbb += einsum(x1182, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 4.0 - t3new_bbbbbb += einsum(x1182, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -4.0 - t3new_bbbbbb += einsum(x1182, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 4.0 - t3new_bbbbbb += einsum(x1182, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * 4.0 - t3new_bbbbbb += einsum(x1182, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * -4.0 - t3new_bbbbbb += einsum(x1182, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * 4.0 - del x1182 - x1183 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) - x1183 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x674, (1, 6, 4, 7, 8, 5), (6, 0, 2, 7, 8, 3)) - del x674 - t3new_bbbbbb += einsum(x1183, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 4.0 - t3new_bbbbbb += einsum(x1183, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -4.0 - t3new_bbbbbb += einsum(x1183, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 4.0 - t3new_bbbbbb += einsum(x1183, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 4.0 - t3new_bbbbbb += einsum(x1183, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -4.0 - t3new_bbbbbb += einsum(x1183, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * 4.0 - t3new_bbbbbb += einsum(x1183, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * -4.0 - t3new_bbbbbb += einsum(x1183, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 4.0 - t3new_bbbbbb += einsum(x1183, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -4.0 - del x1183 - x1184 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) - x1184 += einsum(x676, (0, 1, 2, 3), t3.babbab, (4, 0, 5, 6, 2, 7), (1, 4, 5, 3, 6, 7)) - del x676 - t3new_bbbbbb += einsum(x1184, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 4.00000000000004 - t3new_bbbbbb += einsum(x1184, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -4.00000000000004 - t3new_bbbbbb += einsum(x1184, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 4.00000000000004 - t3new_bbbbbb += einsum(x1184, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * 4.00000000000004 - t3new_bbbbbb += einsum(x1184, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -4.00000000000004 - t3new_bbbbbb += einsum(x1184, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * 4.00000000000004 - t3new_bbbbbb += einsum(x1184, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -4.00000000000004 - t3new_bbbbbb += einsum(x1184, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * 4.00000000000004 - t3new_bbbbbb += einsum(x1184, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -4.00000000000004 - del x1184 - x1185 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) - x1185 += einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), x678, (6, 7, 1, 2, 8, 5), (7, 6, 0, 8, 3, 4)) * -1.0 - del x678 - t3new_bbbbbb += einsum(x1185, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 6.0 - t3new_bbbbbb += einsum(x1185, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -6.0 - t3new_bbbbbb += einsum(x1185, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 6.0 - t3new_bbbbbb += einsum(x1185, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -6.0 - t3new_bbbbbb += einsum(x1185, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 6.0 - t3new_bbbbbb += einsum(x1185, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -6.0 - t3new_bbbbbb += einsum(x1185, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -6.0 - t3new_bbbbbb += einsum(x1185, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * 6.0 - t3new_bbbbbb += einsum(x1185, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -6.0 - del x1185 - x1186 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) - x1186 += einsum(x680, (0, 1, 2, 3), t3.bbbbbb, (4, 2, 3, 5, 6, 7), (1, 0, 4, 5, 6, 7)) * -1.0 - del x680 - t3new_bbbbbb += einsum(x1186, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 3.0 - t3new_bbbbbb += einsum(x1186, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 3.0 - t3new_bbbbbb += einsum(x1186, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -3.0 - t3new_bbbbbb += einsum(x1186, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -3.0 - t3new_bbbbbb += einsum(x1186, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -3.0 - t3new_bbbbbb += einsum(x1186, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -3.0 - del x1186 - x1187 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) - x1187 += einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), x682, (6, 7, 1, 2, 8, 5), (7, 6, 0, 8, 3, 4)) * -1.0 - del x682 - t3new_bbbbbb += einsum(x1187, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 6.0 - t3new_bbbbbb += einsum(x1187, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -6.0 - t3new_bbbbbb += einsum(x1187, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 6.0 - t3new_bbbbbb += einsum(x1187, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -6.0 - t3new_bbbbbb += einsum(x1187, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 6.0 - t3new_bbbbbb += einsum(x1187, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -6.0 - t3new_bbbbbb += einsum(x1187, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -6.0 - t3new_bbbbbb += einsum(x1187, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * 6.0 - t3new_bbbbbb += einsum(x1187, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -6.0 - del x1187 - x1188 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) - x1188 += einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), x684, (6, 2, 7, 8, 4, 5), (6, 0, 1, 7, 8, 3)) - del x684 - t3new_bbbbbb += einsum(x1188, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -12.0 - t3new_bbbbbb += einsum(x1188, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 12.0 - t3new_bbbbbb += einsum(x1188, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -12.0 - t3new_bbbbbb += einsum(x1188, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -12.0 - t3new_bbbbbb += einsum(x1188, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * 12.0 - t3new_bbbbbb += einsum(x1188, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -12.0 - t3new_bbbbbb += einsum(x1188, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * 12.0 - t3new_bbbbbb += einsum(x1188, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -12.0 - t3new_bbbbbb += einsum(x1188, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * 12.0 - del x1188 - x1189 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) - x1189 += einsum(x686, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 1, 6, 7, 3), (0, 4, 5, 2, 6, 7)) - del x686 - t3new_bbbbbb += einsum(x1189, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 12.000000000000123 - t3new_bbbbbb += einsum(x1189, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -12.000000000000123 - t3new_bbbbbb += einsum(x1189, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 12.000000000000123 - t3new_bbbbbb += einsum(x1189, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * 12.000000000000123 - t3new_bbbbbb += einsum(x1189, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -12.000000000000123 - t3new_bbbbbb += einsum(x1189, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * 12.000000000000123 - t3new_bbbbbb += einsum(x1189, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -12.000000000000123 - t3new_bbbbbb += einsum(x1189, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * 12.000000000000123 - t3new_bbbbbb += einsum(x1189, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -12.000000000000123 - del x1189 - x1190 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) - x1190 += einsum(x688, (0, 1), t3.bbbbbb, (2, 3, 1, 4, 5, 6), (0, 2, 3, 4, 5, 6)) - del x688 - t3new_bbbbbb += einsum(x1190, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 6.0 - t3new_bbbbbb += einsum(x1190, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 6.0 - t3new_bbbbbb += einsum(x1190, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * 6.0 - t3new_bbbbbb += einsum(x1190, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * 6.0 - t3new_bbbbbb += einsum(x1190, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -6.0 - t3new_bbbbbb += einsum(x1190, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -6.0 - del x1190 - x1191 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) - x1191 += einsum(x690, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 1, 6, 7, 3), (0, 4, 5, 2, 6, 7)) - del x690 - t3new_bbbbbb += einsum(x1191, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -12.000000000000123 - t3new_bbbbbb += einsum(x1191, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 12.000000000000123 - t3new_bbbbbb += einsum(x1191, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -12.000000000000123 - t3new_bbbbbb += einsum(x1191, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * -12.000000000000123 - t3new_bbbbbb += einsum(x1191, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 12.000000000000123 - t3new_bbbbbb += einsum(x1191, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -12.000000000000123 - t3new_bbbbbb += einsum(x1191, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * 12.000000000000123 - t3new_bbbbbb += einsum(x1191, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -12.000000000000123 - t3new_bbbbbb += einsum(x1191, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * 12.000000000000123 - del x1191 - x1192 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) - x1192 += einsum(x693, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 6, 7, 3, 2), (4, 5, 6, 1, 0, 7)) - del x693 - t3new_bbbbbb += einsum(x1192, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -6.0 - t3new_bbbbbb += einsum(x1192, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 6.0 - t3new_bbbbbb += einsum(x1192, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -6.0 - del x1192 - x1193 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) - x1193 += einsum(x694, (0, 1), t3.bbbbbb, (2, 3, 4, 5, 6, 1), (2, 3, 4, 0, 5, 6)) - del x694 - t3new_bbbbbb += einsum(x1193, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 6.0 - t3new_bbbbbb += einsum(x1193, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -6.0 - t3new_bbbbbb += einsum(x1193, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 6.0 - del x1193 - x1194 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) - x1194 += einsum(x696, (0, 1), t3.bbbbbb, (2, 3, 4, 5, 6, 1), (2, 3, 4, 0, 5, 6)) - del x696 - t3new_bbbbbb += einsum(x1194, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 6.0 - t3new_bbbbbb += einsum(x1194, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -6.0 - t3new_bbbbbb += einsum(x1194, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 6.0 - del x1194 - x1195 = np.zeros((naocc[1], naocc[1], navir[1], navir[1], navir[1], nvir[1]), dtype=types[float]) - x1195 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), t2.bbbb[np.ix_(sob,sOb,sVb,sVb)], (2, 3, 4, 5), v.bbbb.ovoO, (2, 6, 0, 7), (3, 7, 1, 4, 5, 6)) * -1.0 - x1196 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) - x1196 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), x1195, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) - del x1195 - t3new_bbbbbb += einsum(x1196, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 2.0 - t3new_bbbbbb += einsum(x1196, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 - t3new_bbbbbb += einsum(x1196, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -2.0 - t3new_bbbbbb += einsum(x1196, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 2.0 - t3new_bbbbbb += einsum(x1196, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 2.0 - t3new_bbbbbb += einsum(x1196, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -2.0 - t3new_bbbbbb += einsum(x1196, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * -2.0 - t3new_bbbbbb += einsum(x1196, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) * 2.0 - t3new_bbbbbb += einsum(x1196, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 - t3new_bbbbbb += einsum(x1196, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -2.0 - t3new_bbbbbb += einsum(x1196, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -2.0 - t3new_bbbbbb += einsum(x1196, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) * 2.0 - t3new_bbbbbb += einsum(x1196, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * 2.0 - t3new_bbbbbb += einsum(x1196, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -2.0 - t3new_bbbbbb += einsum(x1196, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -2.0 - t3new_bbbbbb += einsum(x1196, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * 2.0 - t3new_bbbbbb += einsum(x1196, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * 2.0 - t3new_bbbbbb += einsum(x1196, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -2.0 - del x1196 - x1197 = np.zeros((naocc[1], naocc[1], navir[1], navir[1], navir[1], nvir[1]), dtype=types[float]) - x1197 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), t2.bbbb[np.ix_(sob,sOb,sVb,sVb)], (2, 3, 4, 5), v.bbbb.ovoO, (0, 6, 2, 7), (3, 7, 1, 4, 5, 6)) * -1.0 - x1198 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) - x1198 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), x1197, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) - del x1197 - t3new_bbbbbb += einsum(x1198, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -2.0 - t3new_bbbbbb += einsum(x1198, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.0 - t3new_bbbbbb += einsum(x1198, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * 2.0 - t3new_bbbbbb += einsum(x1198, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -2.0 - t3new_bbbbbb += einsum(x1198, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -2.0 - t3new_bbbbbb += einsum(x1198, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 2.0 - t3new_bbbbbb += einsum(x1198, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * 2.0 - t3new_bbbbbb += einsum(x1198, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) * -2.0 - t3new_bbbbbb += einsum(x1198, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 - t3new_bbbbbb += einsum(x1198, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * 2.0 - t3new_bbbbbb += einsum(x1198, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * 2.0 - t3new_bbbbbb += einsum(x1198, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) * -2.0 - t3new_bbbbbb += einsum(x1198, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -2.0 - t3new_bbbbbb += einsum(x1198, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * 2.0 - t3new_bbbbbb += einsum(x1198, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * 2.0 - t3new_bbbbbb += einsum(x1198, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * -2.0 - t3new_bbbbbb += einsum(x1198, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -2.0 - t3new_bbbbbb += einsum(x1198, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * 2.0 - del x1198 - x1199 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) - x1199 += einsum(t2.bbbb[np.ix_(sOb,sOb,svb,sVb)], (0, 1, 2, 3), x724, (4, 5, 6, 2), (0, 1, 4, 5, 6, 3)) * -1.0 - del x724 - t3new_bbbbbb += einsum(x1199, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * 2.0 - t3new_bbbbbb += einsum(x1199, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -2.0 - t3new_bbbbbb += einsum(x1199, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -2.0 - t3new_bbbbbb += einsum(x1199, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 2.0 - t3new_bbbbbb += einsum(x1199, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * 2.0 - t3new_bbbbbb += einsum(x1199, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -2.0 - t3new_bbbbbb += einsum(x1199, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 - t3new_bbbbbb += einsum(x1199, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 - t3new_bbbbbb += einsum(x1199, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 2.0 - t3new_bbbbbb += einsum(x1199, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -2.0 - t3new_bbbbbb += einsum(x1199, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -2.0 - t3new_bbbbbb += einsum(x1199, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * 2.0 - t3new_bbbbbb += einsum(x1199, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 2.0 - t3new_bbbbbb += einsum(x1199, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -2.0 - t3new_bbbbbb += einsum(x1199, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -2.0 - t3new_bbbbbb += einsum(x1199, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 2.0 - t3new_bbbbbb += einsum(x1199, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * 2.0 - t3new_bbbbbb += einsum(x1199, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -2.0 - del x1199 - x1200 = np.zeros((naocc[1], naocc[1], navir[1], navir[1], navir[1], nvir[1]), dtype=types[float]) - x1200 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), t2.bbbb[np.ix_(sob,sOb,sVb,sVb)], (2, 3, 4, 5), v.bbbb.ovvV, (2, 1, 6, 7), (0, 3, 4, 5, 7, 6)) * -1.0 - x1201 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) - x1201 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), x1200, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) - del x1200 - t3new_bbbbbb += einsum(x1201, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -2.0 - t3new_bbbbbb += einsum(x1201, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 - t3new_bbbbbb += einsum(x1201, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * 2.0 - t3new_bbbbbb += einsum(x1201, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 2.0 - t3new_bbbbbb += einsum(x1201, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -2.0 - t3new_bbbbbb += einsum(x1201, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -2.0 - t3new_bbbbbb += einsum(x1201, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 2.0 - t3new_bbbbbb += einsum(x1201, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * -2.0 - t3new_bbbbbb += einsum(x1201, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -2.0 - t3new_bbbbbb += einsum(x1201, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 - t3new_bbbbbb += einsum(x1201, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 2.0 - t3new_bbbbbb += einsum(x1201, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 2.0 - t3new_bbbbbb += einsum(x1201, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -2.0 - t3new_bbbbbb += einsum(x1201, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * 2.0 - t3new_bbbbbb += einsum(x1201, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * 2.0 - t3new_bbbbbb += einsum(x1201, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * 2.0 - t3new_bbbbbb += einsum(x1201, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -2.0 - t3new_bbbbbb += einsum(x1201, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) * -2.0 - del x1201 - x1202 = np.zeros((naocc[1], naocc[1], navir[1], navir[1], navir[1], nvir[1]), dtype=types[float]) - x1202 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), t2.bbbb[np.ix_(sOb,sOb,svb,sVb)], (2, 3, 4, 5), v.bbbb.ovvV, (0, 6, 4, 7), (2, 3, 1, 5, 7, 6)) * -1.0 - x1203 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) - x1203 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), x1202, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) - del x1202 - t3new_bbbbbb += einsum(x1203, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * 2.0 - t3new_bbbbbb += einsum(x1203, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 - t3new_bbbbbb += einsum(x1203, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -2.0 - t3new_bbbbbb += einsum(x1203, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 2.0 - t3new_bbbbbb += einsum(x1203, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 - t3new_bbbbbb += einsum(x1203, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -2.0 - t3new_bbbbbb += einsum(x1203, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * 2.0 - t3new_bbbbbb += einsum(x1203, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * -2.0 - t3new_bbbbbb += einsum(x1203, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -2.0 - t3new_bbbbbb += einsum(x1203, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 - t3new_bbbbbb += einsum(x1203, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * 2.0 - t3new_bbbbbb += einsum(x1203, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -2.0 - t3new_bbbbbb += einsum(x1203, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) * -2.0 - t3new_bbbbbb += einsum(x1203, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * 2.0 - t3new_bbbbbb += einsum(x1203, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * 2.0 - t3new_bbbbbb += einsum(x1203, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -2.0 - t3new_bbbbbb += einsum(x1203, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -2.0 - t3new_bbbbbb += einsum(x1203, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * 2.0 - del x1203 - x1204 = np.zeros((naocc[1], naocc[1], navir[1], navir[1], navir[1], nvir[1]), dtype=types[float]) - x1204 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), t2.bbbb[np.ix_(sOb,sOb,svb,sVb)], (2, 3, 4, 5), v.bbbb.ovvV, (0, 4, 6, 7), (2, 3, 1, 5, 7, 6)) * -1.0 - x1205 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) - x1205 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), x1204, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) - del x1204 - t3new_bbbbbb += einsum(x1205, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -2.0 - t3new_bbbbbb += einsum(x1205, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.0 - t3new_bbbbbb += einsum(x1205, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 2.0 - t3new_bbbbbb += einsum(x1205, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -2.0 - t3new_bbbbbb += einsum(x1205, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 - t3new_bbbbbb += einsum(x1205, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 2.0 - t3new_bbbbbb += einsum(x1205, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * -2.0 - t3new_bbbbbb += einsum(x1205, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * 2.0 - t3new_bbbbbb += einsum(x1205, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 - t3new_bbbbbb += einsum(x1205, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 - t3new_bbbbbb += einsum(x1205, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -2.0 - t3new_bbbbbb += einsum(x1205, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * 2.0 - t3new_bbbbbb += einsum(x1205, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) * 2.0 - t3new_bbbbbb += einsum(x1205, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -2.0 - t3new_bbbbbb += einsum(x1205, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * -2.0 - t3new_bbbbbb += einsum(x1205, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * 2.0 - t3new_bbbbbb += einsum(x1205, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 2.0 - t3new_bbbbbb += einsum(x1205, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -2.0 - del x1205 - x1206 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) - x1206 += einsum(x744, (0, 1), t3.bbbbbb, (2, 3, 1, 4, 5, 6), (0, 2, 3, 4, 5, 6)) - del x744 - t3new_bbbbbb += einsum(x1206, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 6.0 - t3new_bbbbbb += einsum(x1206, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * 6.0 - t3new_bbbbbb += einsum(x1206, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -6.0 - del x1206 - x1207 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) - x1207 += einsum(x750, (0, 1), t3.bbbbbb, (2, 3, 4, 5, 6, 1), (2, 3, 4, 0, 5, 6)) - del x750 - t3new_bbbbbb += einsum(x1207, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 6.0 - t3new_bbbbbb += einsum(x1207, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -6.0 - t3new_bbbbbb += einsum(x1207, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 6.0 - del x1207 - x1208 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) - x1208 += einsum(x752, (0, 1, 2, 3), t3.babbab, (4, 0, 5, 6, 2, 7), (1, 4, 5, 3, 6, 7)) - del x752 - t3new_bbbbbb += einsum(x1208, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 - t3new_bbbbbb += einsum(x1208, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 2.0 - t3new_bbbbbb += einsum(x1208, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -2.0 - t3new_bbbbbb += einsum(x1208, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * -2.0 - t3new_bbbbbb += einsum(x1208, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 - t3new_bbbbbb += einsum(x1208, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -2.0 - t3new_bbbbbb += einsum(x1208, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * 2.0 - t3new_bbbbbb += einsum(x1208, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -2.0 - t3new_bbbbbb += einsum(x1208, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * 2.0 - del x1208 - x1209 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) - x1209 += einsum(x755, (0, 1, 2, 3), t3.bbbbbb, (4, 2, 3, 5, 6, 7), (1, 0, 4, 5, 6, 7)) * -1.0 - del x755 - t3new_bbbbbb += einsum(x1209, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 3.0 - t3new_bbbbbb += einsum(x1209, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 3.0 - t3new_bbbbbb += einsum(x1209, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -3.0 - t3new_bbbbbb += einsum(x1209, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -3.0 - t3new_bbbbbb += einsum(x1209, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -3.0 - t3new_bbbbbb += einsum(x1209, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -3.0 - del x1209 - x1210 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) - x1210 += einsum(x758, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 1, 6, 7, 3), (0, 4, 5, 2, 6, 7)) - del x758 - t3new_bbbbbb += einsum(x1210, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -6.0 - t3new_bbbbbb += einsum(x1210, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 6.0 - t3new_bbbbbb += einsum(x1210, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -6.0 - t3new_bbbbbb += einsum(x1210, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * -6.0 - t3new_bbbbbb += einsum(x1210, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 6.0 - t3new_bbbbbb += einsum(x1210, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -6.0 - t3new_bbbbbb += einsum(x1210, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * 6.0 - t3new_bbbbbb += einsum(x1210, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -6.0 - t3new_bbbbbb += einsum(x1210, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * 6.0 - del x1210 - x1211 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) - x1211 += einsum(x761, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 1, 6, 7, 3), (0, 4, 5, 2, 6, 7)) - del x761 - t3new_bbbbbb += einsum(x1211, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 6.0 - t3new_bbbbbb += einsum(x1211, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -6.0 - t3new_bbbbbb += einsum(x1211, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 6.0 - t3new_bbbbbb += einsum(x1211, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * 6.0 - t3new_bbbbbb += einsum(x1211, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -6.0 - t3new_bbbbbb += einsum(x1211, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * 6.0 - t3new_bbbbbb += einsum(x1211, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -6.0 - t3new_bbbbbb += einsum(x1211, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * 6.0 - t3new_bbbbbb += einsum(x1211, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -6.0 - del x1211 - x1212 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) - x1212 += einsum(x764, (0, 1), t3.bbbbbb, (2, 3, 1, 4, 5, 6), (0, 2, 3, 4, 5, 6)) - del x764 - t3new_bbbbbb += einsum(x1212, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -6.0 - t3new_bbbbbb += einsum(x1212, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -6.0 - t3new_bbbbbb += einsum(x1212, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 6.0 - del x1212 - x1213 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) - x1213 += einsum(x767, (0, 1), t3.bbbbbb, (2, 3, 1, 4, 5, 6), (0, 2, 3, 4, 5, 6)) - del x767 - t3new_bbbbbb += einsum(x1213, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 6.0 - t3new_bbbbbb += einsum(x1213, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * 6.0 - t3new_bbbbbb += einsum(x1213, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -6.0 - del x1213 - x1214 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) - x1214 += einsum(x770, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 6, 7, 3, 2), (4, 5, 6, 1, 0, 7)) - del x770 - t3new_bbbbbb += einsum(x1214, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -6.0 - t3new_bbbbbb += einsum(x1214, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 6.0 - t3new_bbbbbb += einsum(x1214, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -6.0 - del x1214 - x1215 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) - x1215 += einsum(x772, (0, 1), t3.bbbbbb, (2, 3, 4, 5, 6, 1), (2, 3, 4, 0, 5, 6)) - del x772 - t3new_bbbbbb += einsum(x1215, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 6.0 - t3new_bbbbbb += einsum(x1215, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -6.0 - t3new_bbbbbb += einsum(x1215, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 6.0 - del x1215 - x1216 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) - x1216 += einsum(x775, (0, 1), t3.bbbbbb, (2, 3, 4, 5, 6, 1), (2, 3, 4, 0, 5, 6)) - del x775 - t3new_bbbbbb += einsum(x1216, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -6.0 - t3new_bbbbbb += einsum(x1216, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * 6.0 - t3new_bbbbbb += einsum(x1216, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -6.0 - del x1216 - x1217 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) - x1217 += einsum(t2.bbbb[np.ix_(sob,sOb,sVb,sVb)], (0, 1, 2, 3), x809, (4, 5, 6, 0), (5, 4, 1, 6, 2, 3)) - del x809 - t3new_bbbbbb += einsum(x1217, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 4.0 - t3new_bbbbbb += einsum(x1217, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -4.0 - t3new_bbbbbb += einsum(x1217, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 4.0 - t3new_bbbbbb += einsum(x1217, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * -4.0 - t3new_bbbbbb += einsum(x1217, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * 4.0 - t3new_bbbbbb += einsum(x1217, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * 4.0 - t3new_bbbbbb += einsum(x1217, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -4.0 - t3new_bbbbbb += einsum(x1217, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * 4.0 - t3new_bbbbbb += einsum(x1217, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -4.0 - del x1217 - x1218 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) - x1218 += einsum(t2.bbbb[np.ix_(sob,sOb,sVb,sVb)], (0, 1, 2, 3), x814, (4, 5, 6, 0), (4, 1, 5, 2, 3, 6)) * -1.0 - del x814 - t3new_bbbbbb += einsum(x1218, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 2.0 - t3new_bbbbbb += einsum(x1218, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -2.0 - t3new_bbbbbb += einsum(x1218, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -2.0 - t3new_bbbbbb += einsum(x1218, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 - t3new_bbbbbb += einsum(x1218, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 2.0 - t3new_bbbbbb += einsum(x1218, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 2.0 - t3new_bbbbbb += einsum(x1218, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -2.0 - t3new_bbbbbb += einsum(x1218, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 - t3new_bbbbbb += einsum(x1218, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * 2.0 - t3new_bbbbbb += einsum(x1218, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * 2.0 - t3new_bbbbbb += einsum(x1218, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -2.0 - t3new_bbbbbb += einsum(x1218, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) * -2.0 - t3new_bbbbbb += einsum(x1218, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 2.0 - t3new_bbbbbb += einsum(x1218, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * -2.0 - t3new_bbbbbb += einsum(x1218, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -2.0 - t3new_bbbbbb += einsum(x1218, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -2.0 - t3new_bbbbbb += einsum(x1218, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * 2.0 - t3new_bbbbbb += einsum(x1218, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * 2.0 - del x1218 - x1219 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], nocc[1]), dtype=types[float]) - x1219 += einsum(t2.bbbb[np.ix_(sOb,sOb,svb,sVb)], (0, 1, 2, 3), x813, (4, 5, 6, 2), (0, 1, 4, 3, 5, 6)) * -1.0 - del x813 - x1220 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) - x1220 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), x1219, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) - del x1219 - t3new_bbbbbb += einsum(x1220, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -2.0 - t3new_bbbbbb += einsum(x1220, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.0 - t3new_bbbbbb += einsum(x1220, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 2.0 - t3new_bbbbbb += einsum(x1220, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -2.0 - t3new_bbbbbb += einsum(x1220, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -2.0 - t3new_bbbbbb += einsum(x1220, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * 2.0 - t3new_bbbbbb += einsum(x1220, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 2.0 - t3new_bbbbbb += einsum(x1220, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -2.0 - t3new_bbbbbb += einsum(x1220, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -2.0 - t3new_bbbbbb += einsum(x1220, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * 2.0 - t3new_bbbbbb += einsum(x1220, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * 2.0 - t3new_bbbbbb += einsum(x1220, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * -2.0 - t3new_bbbbbb += einsum(x1220, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 - t3new_bbbbbb += einsum(x1220, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 2.0 - t3new_bbbbbb += einsum(x1220, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 2.0 - t3new_bbbbbb += einsum(x1220, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -2.0 - t3new_bbbbbb += einsum(x1220, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -2.0 - t3new_bbbbbb += einsum(x1220, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * 2.0 - del x1220 - x1221 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) - x1221 += einsum(t2.bbbb[np.ix_(sob,sOb,sVb,sVb)], (0, 1, 2, 3), x827, (4, 5, 6, 0), (4, 1, 5, 2, 3, 6)) * -1.0 - del x827 - t3new_bbbbbb += einsum(x1221, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 4.0 - t3new_bbbbbb += einsum(x1221, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -4.0 - t3new_bbbbbb += einsum(x1221, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -4.0 - t3new_bbbbbb += einsum(x1221, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 4.0 - t3new_bbbbbb += einsum(x1221, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -4.0 - t3new_bbbbbb += einsum(x1221, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 4.0 - t3new_bbbbbb += einsum(x1221, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -4.0 - t3new_bbbbbb += einsum(x1221, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 4.0 - t3new_bbbbbb += einsum(x1221, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * 4.0 - t3new_bbbbbb += einsum(x1221, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) * -4.0 - t3new_bbbbbb += einsum(x1221, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * 4.0 - t3new_bbbbbb += einsum(x1221, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -4.0 - t3new_bbbbbb += einsum(x1221, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 4.0 - t3new_bbbbbb += einsum(x1221, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * -4.0 - t3new_bbbbbb += einsum(x1221, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -4.0 - t3new_bbbbbb += einsum(x1221, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * 4.0 - t3new_bbbbbb += einsum(x1221, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -4.0 - t3new_bbbbbb += einsum(x1221, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * 4.0 - del x1221 - x1222 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) - x1222 += einsum(t2.bbbb[np.ix_(sob,sOb,sVb,sVb)], (0, 1, 2, 3), x833, (4, 5, 6, 0), (4, 1, 5, 2, 3, 6)) * -1.0 - del x833 - t3new_bbbbbb += einsum(x1222, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -4.0 - t3new_bbbbbb += einsum(x1222, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 4.0 - t3new_bbbbbb += einsum(x1222, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -4.0 - t3new_bbbbbb += einsum(x1222, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -4.0 - t3new_bbbbbb += einsum(x1222, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 4.0 - t3new_bbbbbb += einsum(x1222, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 4.0 - t3new_bbbbbb += einsum(x1222, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) * 4.0 - t3new_bbbbbb += einsum(x1222, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * -4.0 - t3new_bbbbbb += einsum(x1222, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * 4.0 - t3new_bbbbbb += einsum(x1222, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * 4.0 - t3new_bbbbbb += einsum(x1222, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -4.0 - t3new_bbbbbb += einsum(x1222, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -4.0 - t3new_bbbbbb += einsum(x1222, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -4.0 - t3new_bbbbbb += einsum(x1222, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * 4.0 - t3new_bbbbbb += einsum(x1222, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -4.0 - t3new_bbbbbb += einsum(x1222, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -4.0 - t3new_bbbbbb += einsum(x1222, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * 4.0 - t3new_bbbbbb += einsum(x1222, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * 4.0 - del x1222 - x1223 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], nocc[1], nocc[1]), dtype=types[float]) - x1223 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), t2.bbbb[np.ix_(sOb,sOb,svb,sVb)], (2, 3, 4, 5), v.bbbb.ovov, (6, 1, 7, 4), (0, 2, 3, 5, 6, 7)) * -1.0 - x1224 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) - x1224 += einsum(t2.bbbb[np.ix_(sob,sob,sVb,sVb)], (0, 1, 2, 3), x1223, (4, 5, 6, 7, 0, 1), (4, 5, 6, 7, 2, 3)) - del x1223 - t3new_bbbbbb += einsum(x1224, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 - t3new_bbbbbb += einsum(x1224, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 2.0 - t3new_bbbbbb += einsum(x1224, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -2.0 - t3new_bbbbbb += einsum(x1224, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 - t3new_bbbbbb += einsum(x1224, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 2.0 - t3new_bbbbbb += einsum(x1224, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -2.0 - t3new_bbbbbb += einsum(x1224, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * -2.0 - t3new_bbbbbb += einsum(x1224, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 - t3new_bbbbbb += einsum(x1224, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -2.0 - t3new_bbbbbb += einsum(x1224, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * -2.0 - t3new_bbbbbb += einsum(x1224, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 - t3new_bbbbbb += einsum(x1224, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -2.0 - t3new_bbbbbb += einsum(x1224, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * 2.0 - t3new_bbbbbb += einsum(x1224, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -2.0 - t3new_bbbbbb += einsum(x1224, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * 2.0 - t3new_bbbbbb += einsum(x1224, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * 2.0 - t3new_bbbbbb += einsum(x1224, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -2.0 - t3new_bbbbbb += einsum(x1224, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * 2.0 - del x1224 - x1225 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], nocc[1]), dtype=types[float]) - x1225 += einsum(t2.bbbb[np.ix_(sOb,sOb,svb,sVb)], (0, 1, 2, 3), x826, (4, 5, 6, 2), (0, 1, 4, 3, 5, 6)) * -1.0 - del x826 - x1226 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) - x1226 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), x1225, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) - del x1225 - t3new_bbbbbb += einsum(x1226, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -4.0 - t3new_bbbbbb += einsum(x1226, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 4.0 - t3new_bbbbbb += einsum(x1226, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * 4.0 - t3new_bbbbbb += einsum(x1226, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -4.0 - t3new_bbbbbb += einsum(x1226, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 4.0 - t3new_bbbbbb += einsum(x1226, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -4.0 - t3new_bbbbbb += einsum(x1226, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 4.0 - t3new_bbbbbb += einsum(x1226, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -4.0 - t3new_bbbbbb += einsum(x1226, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * -4.0 - t3new_bbbbbb += einsum(x1226, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * 4.0 - t3new_bbbbbb += einsum(x1226, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -4.0 - t3new_bbbbbb += einsum(x1226, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * 4.0 - t3new_bbbbbb += einsum(x1226, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -4.0 - t3new_bbbbbb += einsum(x1226, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 4.0 - t3new_bbbbbb += einsum(x1226, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * 4.0 - t3new_bbbbbb += einsum(x1226, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -4.0 - t3new_bbbbbb += einsum(x1226, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 4.0 - t3new_bbbbbb += einsum(x1226, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -4.0 - del x1226 - x1227 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], nocc[1]), dtype=types[float]) - x1227 += einsum(t2.bbbb[np.ix_(sob,sOb,sVb,sVb)], (0, 1, 2, 3), x846, (4, 5, 0, 6), (4, 5, 1, 2, 3, 6)) - del x846 - x1228 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) - x1228 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), x1227, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) - del x1227 - t3new_bbbbbb += einsum(x1228, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 - t3new_bbbbbb += einsum(x1228, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 - t3new_bbbbbb += einsum(x1228, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -2.0 - t3new_bbbbbb += einsum(x1228, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -2.0 - t3new_bbbbbb += einsum(x1228, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 2.0 - t3new_bbbbbb += einsum(x1228, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 2.0 - t3new_bbbbbb += einsum(x1228, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 2.0 - t3new_bbbbbb += einsum(x1228, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 2.0 - t3new_bbbbbb += einsum(x1228, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * 2.0 - t3new_bbbbbb += einsum(x1228, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * 2.0 - t3new_bbbbbb += einsum(x1228, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -2.0 - t3new_bbbbbb += einsum(x1228, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -2.0 - t3new_bbbbbb += einsum(x1228, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -2.0 - t3new_bbbbbb += einsum(x1228, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -2.0 - t3new_bbbbbb += einsum(x1228, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -2.0 - t3new_bbbbbb += einsum(x1228, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -2.0 - t3new_bbbbbb += einsum(x1228, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 2.0 - t3new_bbbbbb += einsum(x1228, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 2.0 - del x1228 - x1229 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], nocc[1]), dtype=types[float]) - x1229 += einsum(t2.bbbb[np.ix_(sOb,sOb,svb,sVb)], (0, 1, 2, 3), x832, (4, 5, 6, 2), (0, 1, 4, 3, 5, 6)) * -1.0 - del x832 - x1230 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) - x1230 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), x1229, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) - del x1229 - t3new_bbbbbb += einsum(x1230, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * 4.0 - t3new_bbbbbb += einsum(x1230, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -4.0 - t3new_bbbbbb += einsum(x1230, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -4.0 - t3new_bbbbbb += einsum(x1230, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * 4.0 - t3new_bbbbbb += einsum(x1230, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -4.0 - t3new_bbbbbb += einsum(x1230, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 4.0 - t3new_bbbbbb += einsum(x1230, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -4.0 - t3new_bbbbbb += einsum(x1230, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 4.0 - t3new_bbbbbb += einsum(x1230, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * 4.0 - t3new_bbbbbb += einsum(x1230, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -4.0 - t3new_bbbbbb += einsum(x1230, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 4.0 - t3new_bbbbbb += einsum(x1230, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -4.0 - t3new_bbbbbb += einsum(x1230, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 4.0 - t3new_bbbbbb += einsum(x1230, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -4.0 - t3new_bbbbbb += einsum(x1230, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -4.0 - t3new_bbbbbb += einsum(x1230, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * 4.0 - t3new_bbbbbb += einsum(x1230, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -4.0 - t3new_bbbbbb += einsum(x1230, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 4.0 - del x1230 - x1231 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) - x1231 += einsum(t2.bbbb[np.ix_(sob,sOb,sVb,sVb)], (0, 1, 2, 3), x855, (4, 5, 6, 0), (5, 4, 1, 6, 2, 3)) - del x855 - t3new_bbbbbb += einsum(x1231, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 4.0 - t3new_bbbbbb += einsum(x1231, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -4.0 - t3new_bbbbbb += einsum(x1231, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 4.0 - t3new_bbbbbb += einsum(x1231, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * -4.0 - t3new_bbbbbb += einsum(x1231, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * 4.0 - t3new_bbbbbb += einsum(x1231, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * 4.0 - t3new_bbbbbb += einsum(x1231, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -4.0 - t3new_bbbbbb += einsum(x1231, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * 4.0 - t3new_bbbbbb += einsum(x1231, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -4.0 - del x1231 - x1232 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) - x1232 += einsum(t2.bbbb[np.ix_(sob,sOb,sVb,sVb)], (0, 1, 2, 3), x857, (4, 5, 6, 0), (5, 4, 1, 6, 2, 3)) - del x857 - t3new_bbbbbb += einsum(x1232, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -4.0 - t3new_bbbbbb += einsum(x1232, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 4.0 - t3new_bbbbbb += einsum(x1232, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -4.0 - t3new_bbbbbb += einsum(x1232, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * 4.0 - t3new_bbbbbb += einsum(x1232, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -4.0 - t3new_bbbbbb += einsum(x1232, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -4.0 - t3new_bbbbbb += einsum(x1232, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 4.0 - t3new_bbbbbb += einsum(x1232, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -4.0 - t3new_bbbbbb += einsum(x1232, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 4.0 - del x1232 - x1233 = np.zeros((naocc[1], naocc[1], navir[1], navir[1], nocc[1], nvir[1]), dtype=types[float]) - x1233 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), t2.bbbb[np.ix_(sob,sOb,sVb,sVb)], (2, 3, 4, 5), v.bbbb.ovov, (6, 7, 2, 1), (0, 3, 4, 5, 6, 7)) * -1.0 - x1234 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], nocc[1]), dtype=types[float]) - x1234 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), x1233, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) - del x1233 - x1235 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) - x1235 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), x1234, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) - del x1234 - t3new_bbbbbb += einsum(x1235, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 2.0 - t3new_bbbbbb += einsum(x1235, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * -2.0 - t3new_bbbbbb += einsum(x1235, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -2.0 - t3new_bbbbbb += einsum(x1235, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 - t3new_bbbbbb += einsum(x1235, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 2.0 - t3new_bbbbbb += einsum(x1235, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -2.0 - t3new_bbbbbb += einsum(x1235, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 - t3new_bbbbbb += einsum(x1235, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * 2.0 - t3new_bbbbbb += einsum(x1235, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 2.0 - t3new_bbbbbb += einsum(x1235, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -2.0 - t3new_bbbbbb += einsum(x1235, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -2.0 - t3new_bbbbbb += einsum(x1235, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * 2.0 - t3new_bbbbbb += einsum(x1235, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) * 2.0 - t3new_bbbbbb += einsum(x1235, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -2.0 - t3new_bbbbbb += einsum(x1235, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -2.0 - t3new_bbbbbb += einsum(x1235, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * 2.0 - t3new_bbbbbb += einsum(x1235, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) * 2.0 - t3new_bbbbbb += einsum(x1235, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -2.0 - del x1235 - x1236 = np.zeros((naocc[1], naocc[1], navir[1], navir[1], nocc[1], nvir[1]), dtype=types[float]) - x1236 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), t2.bbbb[np.ix_(sOb,sOb,svb,sVb)], (2, 3, 4, 5), v.bbbb.ovov, (6, 7, 0, 4), (2, 3, 1, 5, 6, 7)) * -1.0 - x1237 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], nocc[1]), dtype=types[float]) - x1237 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), x1236, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) - del x1236 - x1238 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) - x1238 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), x1237, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) - del x1237 - t3new_bbbbbb += einsum(x1238, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * 2.0 - t3new_bbbbbb += einsum(x1238, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -2.0 - t3new_bbbbbb += einsum(x1238, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 - t3new_bbbbbb += einsum(x1238, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 - t3new_bbbbbb += einsum(x1238, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 2.0 - t3new_bbbbbb += einsum(x1238, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -2.0 - t3new_bbbbbb += einsum(x1238, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * 2.0 - t3new_bbbbbb += einsum(x1238, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -2.0 - t3new_bbbbbb += einsum(x1238, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * -2.0 - t3new_bbbbbb += einsum(x1238, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * 2.0 - t3new_bbbbbb += einsum(x1238, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 - t3new_bbbbbb += einsum(x1238, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -2.0 - t3new_bbbbbb += einsum(x1238, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) * -2.0 - t3new_bbbbbb += einsum(x1238, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * 2.0 - t3new_bbbbbb += einsum(x1238, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * 2.0 - t3new_bbbbbb += einsum(x1238, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -2.0 - t3new_bbbbbb += einsum(x1238, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -2.0 - t3new_bbbbbb += einsum(x1238, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * 2.0 - del x1238 - - t1new.aa = t1new_aa - t1new.bb = t1new_bb - t2new.aaaa = t2new_aaaa - t2new.abab = t2new_abab - t2new.bbbb = t2new_bbbb - t3new.aaaaaa = t3new_aaaaaa - t3new.abaaba = t3new_abaaba - t3new.babbab = t3new_babbab - t3new.bbbbbb = t3new_bbbbbb - - return {"t1new": t1new, "t2new": t2new, "t3new": t3new} - diff --git a/ebcc/codegen/UCCSDxTx.py b/ebcc/codegen/UCCSDxTx.py deleted file mode 100644 index e3c1644c..00000000 --- a/ebcc/codegen/UCCSDxTx.py +++ /dev/null @@ -1,1029 +0,0 @@ -# Code generated for ebcc. - -from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, direct_sum, Namespace -from ebcc.precision import types - -def energy(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, **kwargs): - # energy - e_cc = 0 - e_cc += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 1, 3), ()) - e_cc += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (0, 2, 1, 3), ()) - e_cc += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (0, 2, 1, 3), ()) - x0 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x0 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x0 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x1 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x1 += einsum(f.aa.ov, (0, 1), (0, 1)) - x1 += einsum(t1.bb, (0, 1), v.aabb.ovov, (2, 3, 0, 1), (2, 3)) - x1 += einsum(t1.aa, (0, 1), x0, (0, 2, 3, 1), (2, 3)) * -0.5 - del x0 - e_cc += einsum(t1.aa, (0, 1), x1, (0, 1), ()) - del x1 - x2 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x2 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x2 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x3 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x3 += einsum(f.bb.ov, (0, 1), (0, 1)) * 2.0 - x3 += einsum(t1.bb, (0, 1), x2, (0, 2, 1, 3), (2, 3)) * -1.0 - del x2 - e_cc += einsum(t1.bb, (0, 1), x3, (0, 1), ()) * 0.5 - del x3 - - return e_cc - -def update_amps(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, **kwargs): - t1new = Namespace() - t2new = Namespace() - - # T amplitudes - t1new_bb = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - t1new_bb += einsum(f.bb.ov, (0, 1), (0, 1)) - t1new_aa = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - t1new_aa += einsum(f.aa.ov, (0, 1), (0, 1)) - t2new_aaaa = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - t2new_aaaa += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.vvvv, (4, 3, 5, 2), (0, 1, 4, 5)) * -2.0 - t2new_abab = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - t2new_abab += einsum(v.aabb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - t2new_bbbb = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - t2new_bbbb += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.vvvv, (4, 3, 5, 2), (0, 1, 4, 5)) * -2.0 - x0 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x0 += einsum(t1.aa, (0, 1), v.aabb.ovov, (0, 1, 2, 3), (2, 3)) - t1new_bb += einsum(x0, (0, 1), (0, 1)) - x1 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x1 += einsum(t1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) - x2 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x2 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) - x2 += einsum(x1, (0, 1, 2, 3), (0, 1, 2, 3)) - t1new_bb += einsum(t2.bbbb, (0, 1, 2, 3), x2, (4, 0, 1, 3), (4, 2)) * 2.0 - del x2 - x3 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x3 += einsum(t1.bb, (0, 1), v.aabb.ovov, (2, 3, 4, 1), (2, 0, 4, 3)) - x4 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x4 += einsum(v.aabb.ovoo, (0, 1, 2, 3), (0, 2, 3, 1)) - x4 += einsum(x3, (0, 1, 2, 3), (0, 2, 1, 3)) - t1new_bb += einsum(t2.abab, (0, 1, 2, 3), x4, (0, 1, 4, 2), (4, 3)) * -1.0 - x5 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x5 += einsum(t2.bbbb, (0, 1, 2, 3), (0, 1, 2, 3)) - x5 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3)) * 0.5 - t1new_bb += einsum(v.bbbb.ovvv, (0, 1, 2, 3), x5, (0, 4, 3, 1), (4, 2)) * -2.0 - del x5 - x6 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x6 += einsum(t2.abab, (0, 1, 2, 3), (0, 1, 2, 3)) - x6 += einsum(t1.aa, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3)) - t1new_bb += einsum(v.aabb.ovvv, (0, 1, 2, 3), x6, (0, 4, 1, 3), (4, 2)) - t1new_aa += einsum(v.aabb.vvov, (0, 1, 2, 3), x6, (4, 2, 1, 3), (4, 0)) - x7 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x7 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x7 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x8 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x8 += einsum(t1.bb, (0, 1), x7, (0, 2, 1, 3), (2, 3)) - x9 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x9 += einsum(f.bb.ov, (0, 1), (0, 1)) - x9 += einsum(x0, (0, 1), (0, 1)) - del x0 - x9 += einsum(x8, (0, 1), (0, 1)) * -1.0 - del x8 - t1new_bb += einsum(x9, (0, 1), t2.bbbb, (2, 0, 3, 1), (2, 3)) * 2.0 - t1new_aa += einsum(x9, (0, 1), t2.abab, (2, 0, 3, 1), (2, 3)) - x10 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x10 += einsum(t1.bb, (0, 1), v.aabb.ovov, (2, 3, 0, 1), (2, 3)) - t1new_aa += einsum(x10, (0, 1), (0, 1)) - x11 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x11 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x11 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x12 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x12 += einsum(t1.aa, (0, 1), x11, (0, 2, 3, 1), (2, 3)) - x13 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x13 += einsum(f.aa.ov, (0, 1), (0, 1)) - x13 += einsum(x10, (0, 1), (0, 1)) - del x10 - x13 += einsum(x12, (0, 1), (0, 1)) * -1.0 - del x12 - t1new_bb += einsum(x13, (0, 1), t2.abab, (0, 2, 1, 3), (2, 3)) - t1new_aa += einsum(x13, (0, 1), t2.aaaa, (2, 0, 3, 1), (2, 3)) * 2.0 - x14 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x14 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) - x14 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - t1new_bb += einsum(t1.bb, (0, 1), x14, (0, 2, 1, 3), (2, 3)) * -1.0 - x15 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x15 += einsum(t1.aa, (0, 1), v.aabb.ovoo, (0, 1, 2, 3), (2, 3)) - x16 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x16 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 3), (1, 4)) - x17 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x17 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 3, 1, 2), (0, 4)) * -1.0 - x18 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x18 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x18 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) - x19 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x19 += einsum(t1.bb, (0, 1), x18, (2, 3, 0, 1), (2, 3)) - x20 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x20 += einsum(t1.bb, (0, 1), x9, (2, 1), (0, 2)) - x21 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x21 += einsum(f.bb.oo, (0, 1), (0, 1)) - x21 += einsum(x15, (0, 1), (1, 0)) - x21 += einsum(x16, (0, 1), (1, 0)) - x21 += einsum(x17, (0, 1), (1, 0)) * 2.0 - x21 += einsum(x19, (0, 1), (1, 0)) * -1.0 - x21 += einsum(x20, (0, 1), (1, 0)) - t1new_bb += einsum(t1.bb, (0, 1), x21, (0, 2), (2, 1)) * -1.0 - t2new_abab += einsum(x21, (0, 1), t2.abab, (2, 0, 3, 4), (2, 1, 3, 4)) * -1.0 - del x21 - x22 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x22 += einsum(f.bb.vv, (0, 1), (0, 1)) - x22 += einsum(t1.bb, (0, 1), v.bbbb.ovvv, (0, 1, 2, 3), (2, 3)) - t1new_bb += einsum(t1.bb, (0, 1), x22, (1, 2), (0, 2)) - del x22 - x23 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x23 += einsum(t1.aa, (0, 1), v.aabb.ovov, (2, 1, 3, 4), (0, 2, 3, 4)) - x24 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x24 += einsum(v.aabb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x24 += einsum(x23, (0, 1, 2, 3), (1, 0, 2, 3)) - t1new_aa += einsum(t2.abab, (0, 1, 2, 3), x24, (0, 4, 1, 3), (4, 2)) * -1.0 - del x24 - x25 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x25 += einsum(t1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) - x26 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x26 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) - x26 += einsum(x25, (0, 1, 2, 3), (0, 1, 2, 3)) - t1new_aa += einsum(t2.aaaa, (0, 1, 2, 3), x26, (4, 1, 0, 3), (4, 2)) * -2.0 - del x26 - x27 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x27 += einsum(t2.aaaa, (0, 1, 2, 3), (0, 1, 2, 3)) - x27 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 1, 3)) * 0.5 - t1new_aa += einsum(v.aaaa.ovvv, (0, 1, 2, 3), x27, (0, 4, 1, 3), (4, 2)) * 2.0 - del x27 - x28 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x28 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) - x28 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - t1new_aa += einsum(t1.aa, (0, 1), x28, (0, 2, 1, 3), (2, 3)) * -1.0 - del x28 - x29 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x29 += einsum(t1.bb, (0, 1), v.aabb.ooov, (2, 3, 0, 1), (2, 3)) - x30 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x30 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 3, 1, 2), (0, 4)) * -1.0 - x31 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x31 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 1, 3), (0, 4)) - x32 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x32 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x32 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) - x33 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x33 += einsum(t1.aa, (0, 1), x32, (2, 3, 0, 1), (2, 3)) - del x32 - x34 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x34 += einsum(t1.aa, (0, 1), x13, (2, 1), (0, 2)) - x35 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x35 += einsum(f.aa.oo, (0, 1), (0, 1)) - x35 += einsum(x29, (0, 1), (1, 0)) - x35 += einsum(x30, (0, 1), (1, 0)) * 2.0 - x35 += einsum(x31, (0, 1), (1, 0)) - x35 += einsum(x33, (0, 1), (1, 0)) * -1.0 - x35 += einsum(x34, (0, 1), (1, 0)) - t1new_aa += einsum(t1.aa, (0, 1), x35, (0, 2), (2, 1)) * -1.0 - t2new_abab += einsum(x35, (0, 1), t2.abab, (0, 2, 3, 4), (1, 2, 3, 4)) * -1.0 - del x35 - x36 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x36 += einsum(f.aa.vv, (0, 1), (0, 1)) - x36 += einsum(t1.aa, (0, 1), v.aaaa.ovvv, (0, 2, 3, 1), (2, 3)) * -1.0 - t1new_aa += einsum(t1.aa, (0, 1), x36, (1, 2), (0, 2)) - del x36 - x37 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x37 += einsum(t1.aa, (0, 1), v.aaaa.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) - x38 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x38 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (0, 4, 2, 5)) - x39 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x39 += einsum(t1.aa, (0, 1), v.aabb.vvov, (2, 1, 3, 4), (0, 3, 2, 4)) - t2new_abab += einsum(x39, (0, 1, 2, 3), (0, 1, 2, 3)) - x40 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x40 += einsum(t2.abab, (0, 1, 2, 3), x39, (4, 1, 5, 3), (4, 0, 2, 5)) - x41 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x41 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x41 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x41 += einsum(x38, (0, 1, 2, 3), (1, 0, 3, 2)) - x42 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x42 += einsum(t2.aaaa, (0, 1, 2, 3), x41, (1, 4, 3, 5), (0, 4, 2, 5)) * 2.0 - del x41 - x43 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x43 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) - x43 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x44 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x44 += einsum(t1.aa, (0, 1), x43, (2, 1, 3, 4), (0, 2, 3, 4)) - del x43 - x45 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x45 += einsum(t2.aaaa, (0, 1, 2, 3), x44, (4, 1, 5, 3), (0, 4, 2, 5)) * -2.0 - del x44 - x46 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x46 += einsum(t1.aa, (0, 1), v.aaaa.ooov, (2, 3, 4, 1), (0, 2, 3, 4)) - x47 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x47 += einsum(t1.aa, (0, 1), x46, (2, 3, 4, 0), (2, 4, 3, 1)) - x48 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x48 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ooov, (4, 5, 1, 3), (0, 4, 5, 2)) - x49 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x49 += einsum(t2.abab, (0, 1, 2, 3), x23, (4, 5, 1, 3), (4, 0, 5, 2)) - del x23 - x50 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x50 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x50 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) - x51 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x51 += einsum(t2.aaaa, (0, 1, 2, 3), x50, (1, 4, 5, 3), (0, 4, 5, 2)) * 2.0 - del x50 - x52 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x52 += einsum(x25, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x52 += einsum(x25, (0, 1, 2, 3), (0, 2, 1, 3)) - x53 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x53 += einsum(t2.aaaa, (0, 1, 2, 3), x52, (4, 1, 5, 3), (0, 4, 5, 2)) * 2.0 - del x52 - x54 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x54 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x54 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x54 += einsum(x37, (0, 1, 2, 3), (0, 1, 2, 3)) - x55 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x55 += einsum(t1.aa, (0, 1), x54, (2, 3, 1, 4), (0, 2, 3, 4)) - del x54 - x56 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x56 += einsum(x47, (0, 1, 2, 3), (0, 2, 1, 3)) - del x47 - x56 += einsum(x48, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x48 - x56 += einsum(x49, (0, 1, 2, 3), (0, 2, 1, 3)) - del x49 - x56 += einsum(x51, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x51 - x56 += einsum(x53, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - del x53 - x56 += einsum(x55, (0, 1, 2, 3), (0, 2, 1, 3)) - del x55 - x57 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x57 += einsum(t1.aa, (0, 1), x56, (2, 0, 3, 4), (2, 3, 1, 4)) - del x56 - x58 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x58 += einsum(x37, (0, 1, 2, 3), (0, 1, 2, 3)) - del x37 - x58 += einsum(x38, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x38 - x58 += einsum(x40, (0, 1, 2, 3), (0, 1, 2, 3)) - del x40 - x58 += einsum(x42, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x42 - x58 += einsum(x45, (0, 1, 2, 3), (1, 0, 2, 3)) - del x45 - x58 += einsum(x57, (0, 1, 2, 3), (0, 1, 2, 3)) - del x57 - t2new_aaaa += einsum(x58, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_aaaa += einsum(x58, (0, 1, 2, 3), (0, 1, 3, 2)) - t2new_aaaa += einsum(x58, (0, 1, 2, 3), (1, 0, 2, 3)) - t2new_aaaa += einsum(x58, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x58 - x59 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x59 += einsum(t1.aa, (0, 1), v.aaaa.vvvv, (2, 3, 4, 1), (0, 2, 3, 4)) - x60 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x60 += einsum(t1.aa, (0, 1), x59, (2, 3, 1, 4), (0, 2, 3, 4)) - del x59 - x61 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x61 += einsum(t2.aaaa, (0, 1, 2, 3), x11, (1, 4, 5, 3), (4, 0, 5, 2)) - x62 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x62 += einsum(t2.aaaa, (0, 1, 2, 3), x61, (1, 4, 3, 5), (0, 4, 2, 5)) * -4.0 - del x61 - x63 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x63 += einsum(t2.abab, (0, 1, 2, 3), x7, (1, 4, 3, 5), (0, 4, 2, 5)) - del x7 - x64 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x64 += einsum(t2.abab, (0, 1, 2, 3), x63, (4, 1, 5, 3), (0, 4, 2, 5)) * -1.0 - del x63 - x65 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x65 += einsum(t1.bb, (0, 1), v.aabb.vvov, (2, 3, 0, 1), (2, 3)) - x66 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x66 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (0, 4, 1, 3), (2, 4)) - x67 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x67 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 4, 1, 3), (2, 4)) - x68 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x68 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x68 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) - x69 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x69 += einsum(t1.aa, (0, 1), x68, (0, 2, 1, 3), (2, 3)) - del x68 - x70 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x70 += einsum(x65, (0, 1), (1, 0)) * -1.0 - x70 += einsum(x66, (0, 1), (1, 0)) * 2.0 - x70 += einsum(x67, (0, 1), (1, 0)) - x70 += einsum(x69, (0, 1), (0, 1)) * -1.0 - x71 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x71 += einsum(x70, (0, 1), t2.aaaa, (2, 3, 4, 0), (2, 3, 4, 1)) * -2.0 - del x70 - x72 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x72 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovvv, (4, 2, 5, 3), (0, 1, 4, 5)) - x73 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x73 += einsum(x13, (0, 1), t2.aaaa, (2, 3, 4, 1), (0, 2, 3, 4)) * -2.0 - x74 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x74 += einsum(t1.aa, (0, 1), x25, (2, 3, 4, 1), (2, 0, 4, 3)) - del x25 - x75 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x75 += einsum(v.aaaa.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x75 += einsum(x74, (0, 1, 2, 3), (3, 1, 2, 0)) - x76 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x76 += einsum(t1.aa, (0, 1), x75, (0, 2, 3, 4), (2, 3, 4, 1)) - del x75 - x77 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x77 += einsum(x72, (0, 1, 2, 3), (2, 1, 0, 3)) * -2.0 - del x72 - x77 += einsum(x73, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x73 - x77 += einsum(x76, (0, 1, 2, 3), (1, 0, 2, 3)) - del x76 - x78 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x78 += einsum(t1.aa, (0, 1), x77, (0, 2, 3, 4), (2, 3, 1, 4)) - del x77 - x79 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x79 += einsum(x60, (0, 1, 2, 3), (0, 1, 2, 3)) - del x60 - x79 += einsum(x62, (0, 1, 2, 3), (1, 0, 3, 2)) - del x62 - x79 += einsum(x64, (0, 1, 2, 3), (1, 0, 3, 2)) - del x64 - x79 += einsum(x71, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x71 - x79 += einsum(x78, (0, 1, 2, 3), (1, 0, 2, 3)) - del x78 - t2new_aaaa += einsum(x79, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new_aaaa += einsum(x79, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x79 - x80 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x80 += einsum(f.aa.vv, (0, 1), t2.aaaa, (2, 3, 4, 1), (2, 3, 0, 4)) - x81 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x81 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x81 += einsum(x80, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 - del x80 - t2new_aaaa += einsum(x81, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new_aaaa += einsum(x81, (0, 1, 2, 3), (0, 1, 2, 3)) - del x81 - x82 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x82 += einsum(t1.aa, (0, 1), v.aaaa.ooov, (2, 0, 3, 4), (2, 3, 1, 4)) - x83 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x83 += einsum(t2.aaaa, (0, 1, 2, 3), x46, (4, 5, 0, 1), (4, 5, 2, 3)) - del x46 - x84 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x84 += einsum(f.aa.oo, (0, 1), (0, 1)) - x84 += einsum(x34, (0, 1), (0, 1)) - del x34 - x85 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x85 += einsum(x84, (0, 1), t2.aaaa, (2, 1, 3, 4), (2, 0, 3, 4)) * -2.0 - del x84 - x86 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x86 += einsum(x29, (0, 1), (1, 0)) - del x29 - x86 += einsum(x30, (0, 1), (1, 0)) * 2.0 - del x30 - x86 += einsum(x31, (0, 1), (1, 0)) - del x31 - x86 += einsum(x33, (0, 1), (1, 0)) * -1.0 - del x33 - x87 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x87 += einsum(x86, (0, 1), t2.aaaa, (2, 0, 3, 4), (2, 1, 3, 4)) * -2.0 - del x86 - x88 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x88 += einsum(x82, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x82 - x88 += einsum(x83, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - del x83 - x88 += einsum(x85, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x85 - x88 += einsum(x87, (0, 1, 2, 3), (0, 1, 3, 2)) - del x87 - t2new_aaaa += einsum(x88, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_aaaa += einsum(x88, (0, 1, 2, 3), (1, 0, 2, 3)) - del x88 - x89 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x89 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 2, 5, 3), (0, 1, 4, 5)) - x90 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x90 += einsum(v.aaaa.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x90 += einsum(x89, (0, 1, 2, 3), (3, 1, 2, 0)) - x90 += einsum(x74, (0, 1, 2, 3), (3, 1, 2, 0)) - del x74 - t2new_aaaa += einsum(t2.aaaa, (0, 1, 2, 3), x90, (0, 4, 1, 5), (4, 5, 2, 3)) * 2.0 - del x90 - x91 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x91 += einsum(t1.aa, (0, 1), x89, (2, 3, 0, 4), (2, 3, 4, 1)) * -2.0 - del x89 - x91 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x91 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) - t2new_aaaa += einsum(t1.aa, (0, 1), x91, (2, 3, 0, 4), (2, 3, 1, 4)) - del x91 - x92 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x92 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x92 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x93 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x93 += einsum(t2.bbbb, (0, 1, 2, 3), (0, 1, 2, 3)) - x93 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1)) * -0.5 - x94 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x94 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) - x94 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x95 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x95 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x95 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x95 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 5), (4, 1, 5, 3)) - x95 += einsum(x92, (0, 1, 2, 3), x93, (0, 4, 3, 5), (1, 4, 2, 5)) * -2.0 - x95 += einsum(t1.bb, (0, 1), x94, (2, 1, 3, 4), (2, 0, 4, 3)) * -1.0 - x95 += einsum(t1.bb, (0, 1), x18, (2, 3, 0, 4), (3, 2, 4, 1)) * -1.0 - del x18 - t2new_abab += einsum(t2.abab, (0, 1, 2, 3), x95, (1, 4, 3, 5), (0, 4, 2, 5)) - del x95 - x96 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x96 += einsum(t2.aaaa, (0, 1, 2, 3), (0, 1, 2, 3)) - x96 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 3, 1)) * -0.5 - x97 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x97 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) - x97 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x98 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x98 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x98 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x99 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x99 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) - x99 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x99 += einsum(x11, (0, 1, 2, 3), x96, (0, 4, 2, 5), (1, 4, 3, 5)) * -2.0 - x99 += einsum(t1.aa, (0, 1), x97, (2, 3, 1, 4), (2, 0, 3, 4)) * -1.0 - del x97 - x99 += einsum(t1.aa, (0, 1), x98, (2, 3, 0, 4), (3, 2, 4, 1)) * -1.0 - del x98 - t2new_abab += einsum(t2.abab, (0, 1, 2, 3), x99, (0, 4, 2, 5), (4, 1, 5, 3)) * -1.0 - del x99 - x100 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x100 += einsum(v.aabb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x100 += einsum(t1.aa, (0, 1), v.aabb.ooov, (2, 0, 3, 4), (2, 3, 1, 4)) * -1.0 - x100 += einsum(x39, (0, 1, 2, 3), (0, 1, 2, 3)) - del x39 - x100 += einsum(v.aabb.ovov, (0, 1, 2, 3), x96, (0, 4, 1, 5), (4, 2, 5, 3)) * 2.0 - t2new_abab += einsum(t2.bbbb, (0, 1, 2, 3), x100, (4, 1, 5, 3), (4, 0, 5, 2)) * 2.0 - del x100 - x101 = np.zeros((nocc[0], nocc[0], nvir[1], nvir[1]), dtype=types[float]) - x101 += einsum(v.aabb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x101 += einsum(t1.bb, (0, 1), v.aabb.ooov, (2, 3, 0, 4), (2, 3, 4, 1)) - x101 += einsum(t1.aa, (0, 1), v.aabb.ovvv, (2, 1, 3, 4), (2, 0, 3, 4)) * -1.0 - x101 += einsum(v.aabb.ovov, (0, 1, 2, 3), x6, (4, 2, 1, 5), (0, 4, 3, 5)) - t2new_abab += einsum(t2.abab, (0, 1, 2, 3), x101, (0, 4, 3, 5), (4, 1, 2, 5)) - del x101 - x102 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x102 += einsum(t1.bb, (0, 1), v.aabb.ovvv, (2, 3, 4, 1), (2, 0, 3, 4)) - x103 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x103 += einsum(v.aabb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x103 += einsum(x102, (0, 1, 2, 3), (0, 1, 2, 3)) - x103 += einsum(t1.bb, (0, 1), x4, (2, 0, 3, 4), (2, 3, 4, 1)) * -1.0 - del x4 - t2new_abab += einsum(x103, (0, 1, 2, 3), x96, (0, 4, 2, 5), (4, 1, 5, 3)) * 2.0 - del x96, x103 - x104 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x104 += einsum(t1.bb, (0, 1), v.aabb.vvov, (2, 3, 4, 1), (0, 4, 2, 3)) - x105 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x105 += einsum(v.aabb.ovoo, (0, 1, 2, 3), (0, 2, 3, 1)) - x105 += einsum(x3, (0, 1, 2, 3), (0, 1, 2, 3)) - x106 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x106 += einsum(v.aabb.vvoo, (0, 1, 2, 3), (2, 3, 0, 1)) - x106 += einsum(x104, (0, 1, 2, 3), (1, 0, 3, 2)) - x106 += einsum(t1.aa, (0, 1), x105, (0, 2, 3, 4), (3, 2, 4, 1)) * -1.0 - del x105 - t2new_abab += einsum(t2.abab, (0, 1, 2, 3), x106, (1, 4, 2, 5), (0, 4, 5, 3)) * -1.0 - del x106 - x107 = np.zeros((nvir[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) - x107 += einsum(v.aabb.vvvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x107 += einsum(t1.aa, (0, 1), v.aabb.ovvv, (0, 2, 3, 4), (2, 1, 3, 4)) - x107 += einsum(t1.bb, (0, 1), v.aabb.vvov, (2, 3, 0, 4), (2, 3, 4, 1)) - t2new_abab += einsum(t2.abab, (0, 1, 2, 3), x107, (2, 4, 3, 5), (0, 1, 4, 5)) * -1.0 - del x107 - x108 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x108 += einsum(t1.bb, (0, 1), v.aabb.ooov, (2, 3, 4, 1), (2, 3, 0, 4)) - x109 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x109 += einsum(v.aabb.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x109 += einsum(t1.aa, (0, 1), v.aabb.ovoo, (2, 1, 3, 4), (2, 0, 3, 4)) - x109 += einsum(x108, (0, 1, 2, 3), (1, 0, 3, 2)) - x109 += einsum(v.aabb.ovov, (0, 1, 2, 3), x6, (4, 5, 1, 3), (0, 4, 2, 5)) - del x6 - t2new_abab += einsum(t2.abab, (0, 1, 2, 3), x109, (0, 4, 1, 5), (4, 5, 2, 3)) - del x109 - x110 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x110 += einsum(t1.aa, (0, 1), v.aabb.ovvv, (0, 1, 2, 3), (2, 3)) - x111 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x111 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 1, 4), (3, 4)) - x112 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x112 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (0, 3, 1, 4), (2, 4)) * -1.0 - x113 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x113 += einsum(t1.bb, (0, 1), x94, (0, 1, 2, 3), (2, 3)) - del x94 - x114 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x114 += einsum(f.bb.vv, (0, 1), (0, 1)) * -1.0 - x114 += einsum(x110, (0, 1), (1, 0)) * -1.0 - x114 += einsum(x111, (0, 1), (1, 0)) - x114 += einsum(x112, (0, 1), (1, 0)) * 2.0 - x114 += einsum(x113, (0, 1), (1, 0)) * -1.0 - x114 += einsum(t1.bb, (0, 1), x9, (0, 2), (2, 1)) - t2new_abab += einsum(x114, (0, 1), t2.abab, (2, 3, 4, 0), (2, 3, 4, 1)) * -1.0 - del x114 - x115 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x115 += einsum(f.aa.vv, (0, 1), (0, 1)) * -1.0 - x115 += einsum(x65, (0, 1), (1, 0)) * -1.0 - del x65 - x115 += einsum(x66, (0, 1), (1, 0)) * 2.0 - del x66 - x115 += einsum(x67, (0, 1), (1, 0)) - del x67 - x115 += einsum(x69, (0, 1), (0, 1)) * -1.0 - del x69 - x115 += einsum(t1.aa, (0, 1), x13, (0, 2), (2, 1)) - del x13 - t2new_abab += einsum(x115, (0, 1), t2.abab, (2, 3, 0, 4), (2, 3, 1, 4)) * -1.0 - del x115 - x116 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x116 += einsum(v.aabb.vvoo, (0, 1, 2, 3), (2, 3, 0, 1)) - x116 += einsum(x104, (0, 1, 2, 3), (0, 1, 3, 2)) - del x104 - x117 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x117 += einsum(v.aabb.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x117 += einsum(x108, (0, 1, 2, 3), (1, 0, 2, 3)) - del x108 - x117 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 5, 3), (4, 0, 1, 5)) - x118 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x118 += einsum(v.aabb.ovoo, (0, 1, 2, 3), (0, 2, 3, 1)) - x118 += einsum(x3, (0, 1, 2, 3), (0, 2, 1, 3)) - x118 += einsum(t1.aa, (0, 1), x116, (2, 3, 1, 4), (0, 3, 2, 4)) - del x116 - x118 += einsum(t1.aa, (0, 1), x117, (0, 2, 3, 4), (2, 4, 3, 1)) * -1.0 - del x117 - t2new_abab += einsum(t1.bb, (0, 1), x118, (2, 0, 3, 4), (2, 3, 4, 1)) * -1.0 - del x118 - x119 = np.zeros((nocc[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) - x119 += einsum(v.aabb.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) - x119 += einsum(t1.aa, (0, 1), v.aabb.vvvv, (2, 1, 3, 4), (0, 2, 3, 4)) - t2new_abab += einsum(t1.bb, (0, 1), x119, (2, 3, 1, 4), (2, 0, 3, 4)) - del x119 - x120 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x120 += einsum(v.aabb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x120 += einsum(t1.bb, (0, 1), v.aabb.oovv, (2, 3, 4, 1), (2, 3, 0, 4)) - t2new_abab += einsum(t1.aa, (0, 1), x120, (0, 2, 3, 4), (2, 3, 1, 4)) * -1.0 - del x120 - x121 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x121 += einsum(t1.bb, (0, 1), v.bbbb.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) - x122 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x122 += einsum(t2.abab, (0, 1, 2, 3), x102, (0, 4, 2, 5), (4, 1, 3, 5)) - del x102 - x123 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x123 += einsum(x14, (0, 1, 2, 3), x93, (0, 4, 2, 5), (1, 4, 3, 5)) * 2.0 - del x14, x93 - x124 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x124 += einsum(t2.bbbb, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (4, 0, 5, 2)) - x125 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x125 += einsum(v.aabb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x125 += einsum(x124, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x124 - x126 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x126 += einsum(t2.abab, (0, 1, 2, 3), x125, (0, 4, 2, 5), (1, 4, 3, 5)) - del x125 - x127 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x127 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x127 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) - x128 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x128 += einsum(t1.bb, (0, 1), x127, (2, 3, 1, 4), (0, 2, 3, 4)) - del x127 - x129 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x129 += einsum(t2.bbbb, (0, 1, 2, 3), x128, (4, 1, 3, 5), (0, 4, 2, 5)) * -2.0 - del x128 - x130 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x130 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovoo, (0, 2, 4, 5), (1, 4, 5, 3)) - x131 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x131 += einsum(t1.bb, (0, 1), v.bbbb.ooov, (2, 3, 4, 1), (0, 2, 3, 4)) - x132 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x132 += einsum(t1.bb, (0, 1), x131, (2, 3, 4, 0), (2, 4, 3, 1)) - x133 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x133 += einsum(t1.bb, (0, 1), x121, (2, 3, 1, 4), (0, 2, 3, 4)) - x134 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x134 += einsum(t2.abab, (0, 1, 2, 3), x3, (0, 4, 5, 2), (4, 1, 5, 3)) - del x3 - x135 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x135 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x135 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) - x136 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x136 += einsum(t2.bbbb, (0, 1, 2, 3), x135, (1, 4, 5, 3), (0, 4, 5, 2)) * 2.0 - del x135 - x137 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x137 += einsum(x1, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x137 += einsum(x1, (0, 1, 2, 3), (0, 2, 1, 3)) - x138 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x138 += einsum(t2.bbbb, (0, 1, 2, 3), x137, (4, 1, 5, 3), (0, 4, 5, 2)) * 2.0 - del x137 - x139 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x139 += einsum(x130, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x130 - x139 += einsum(x132, (0, 1, 2, 3), (0, 2, 1, 3)) - del x132 - x139 += einsum(x133, (0, 1, 2, 3), (0, 2, 1, 3)) - del x133 - x139 += einsum(x134, (0, 1, 2, 3), (0, 2, 1, 3)) - del x134 - x139 += einsum(x136, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x136 - x139 += einsum(x138, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - del x138 - x140 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x140 += einsum(t1.bb, (0, 1), x139, (2, 0, 3, 4), (2, 3, 1, 4)) - del x139 - x141 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x141 += einsum(x121, (0, 1, 2, 3), (0, 1, 2, 3)) - del x121 - x141 += einsum(x122, (0, 1, 2, 3), (0, 1, 2, 3)) - del x122 - x141 += einsum(x123, (0, 1, 2, 3), (1, 0, 3, 2)) - del x123 - x141 += einsum(x126, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x126 - x141 += einsum(x129, (0, 1, 2, 3), (1, 0, 2, 3)) - del x129 - x141 += einsum(x140, (0, 1, 2, 3), (0, 1, 2, 3)) - del x140 - t2new_bbbb += einsum(x141, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_bbbb += einsum(x141, (0, 1, 2, 3), (0, 1, 3, 2)) - t2new_bbbb += einsum(x141, (0, 1, 2, 3), (1, 0, 2, 3)) - t2new_bbbb += einsum(x141, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x141 - x142 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x142 += einsum(t1.bb, (0, 1), v.bbbb.ooov, (2, 0, 3, 4), (2, 3, 1, 4)) - x143 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x143 += einsum(t2.bbbb, (0, 1, 2, 3), x131, (4, 5, 0, 1), (4, 5, 2, 3)) - del x131 - x144 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x144 += einsum(f.bb.oo, (0, 1), (0, 1)) - x144 += einsum(x20, (0, 1), (0, 1)) - del x20 - x145 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x145 += einsum(x144, (0, 1), t2.bbbb, (2, 1, 3, 4), (2, 0, 3, 4)) * -2.0 - del x144 - x146 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x146 += einsum(x15, (0, 1), (1, 0)) - del x15 - x146 += einsum(x16, (0, 1), (1, 0)) - del x16 - x146 += einsum(x17, (0, 1), (1, 0)) * 2.0 - del x17 - x146 += einsum(x19, (0, 1), (1, 0)) * -1.0 - del x19 - x147 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x147 += einsum(x146, (0, 1), t2.bbbb, (2, 0, 3, 4), (2, 1, 3, 4)) * -2.0 - del x146 - x148 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x148 += einsum(x142, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x142 - x148 += einsum(x143, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - del x143 - x148 += einsum(x145, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x145 - x148 += einsum(x147, (0, 1, 2, 3), (0, 1, 3, 2)) - del x147 - t2new_bbbb += einsum(x148, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_bbbb += einsum(x148, (0, 1, 2, 3), (1, 0, 2, 3)) - del x148 - x149 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x149 += einsum(t1.bb, (0, 1), v.bbbb.vvvv, (2, 3, 4, 1), (0, 2, 3, 4)) - x150 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x150 += einsum(t1.bb, (0, 1), x149, (2, 3, 1, 4), (0, 2, 3, 4)) - del x149 - x151 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x151 += einsum(t2.bbbb, (0, 1, 2, 3), x92, (1, 4, 5, 3), (0, 4, 2, 5)) - del x92 - x152 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x152 += einsum(t2.bbbb, (0, 1, 2, 3), x151, (4, 1, 5, 3), (0, 4, 2, 5)) * -4.0 - del x151 - x153 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x153 += einsum(x110, (0, 1), (1, 0)) * -1.0 - del x110 - x153 += einsum(x111, (0, 1), (1, 0)) - del x111 - x153 += einsum(x112, (0, 1), (1, 0)) * 2.0 - del x112 - x153 += einsum(x113, (0, 1), (1, 0)) * -1.0 - del x113 - x154 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x154 += einsum(x153, (0, 1), t2.bbbb, (2, 3, 4, 0), (2, 3, 4, 1)) * -2.0 - del x153 - x155 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x155 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovvv, (4, 2, 5, 3), (0, 1, 4, 5)) - x156 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x156 += einsum(x9, (0, 1), t2.bbbb, (2, 3, 4, 1), (2, 3, 0, 4)) * -2.0 - del x9 - x157 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x157 += einsum(t1.bb, (0, 1), x1, (2, 3, 4, 1), (2, 0, 4, 3)) - del x1 - x158 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x158 += einsum(v.bbbb.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x158 += einsum(x157, (0, 1, 2, 3), (3, 1, 2, 0)) - x159 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x159 += einsum(t1.bb, (0, 1), x158, (0, 2, 3, 4), (2, 3, 4, 1)) - del x158 - x160 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x160 += einsum(x155, (0, 1, 2, 3), (2, 1, 0, 3)) * -2.0 - del x155 - x160 += einsum(x156, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - del x156 - x160 += einsum(x159, (0, 1, 2, 3), (1, 0, 2, 3)) - del x159 - x161 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x161 += einsum(t1.bb, (0, 1), x160, (0, 2, 3, 4), (2, 3, 1, 4)) - del x160 - x162 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x162 += einsum(x150, (0, 1, 2, 3), (0, 1, 2, 3)) - del x150 - x162 += einsum(x152, (0, 1, 2, 3), (1, 0, 3, 2)) - del x152 - x162 += einsum(x154, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x154 - x162 += einsum(x161, (0, 1, 2, 3), (1, 0, 2, 3)) - del x161 - t2new_bbbb += einsum(x162, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new_bbbb += einsum(x162, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x162 - x163 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x163 += einsum(f.bb.vv, (0, 1), t2.bbbb, (2, 3, 4, 1), (2, 3, 0, 4)) - x164 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x164 += einsum(t2.abab, (0, 1, 2, 3), x11, (0, 4, 5, 2), (4, 1, 5, 3)) - del x11 - x165 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x165 += einsum(t2.abab, (0, 1, 2, 3), x164, (0, 4, 2, 5), (1, 4, 3, 5)) * -1.0 - del x164 - x166 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x166 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x166 += einsum(x163, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 - del x163 - x166 += einsum(x165, (0, 1, 2, 3), (0, 1, 2, 3)) - del x165 - t2new_bbbb += einsum(x166, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new_bbbb += einsum(x166, (0, 1, 2, 3), (0, 1, 2, 3)) - del x166 - x167 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x167 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 2, 5, 3), (0, 1, 4, 5)) - x168 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x168 += einsum(v.bbbb.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x168 += einsum(x167, (0, 1, 2, 3), (3, 1, 0, 2)) - x168 += einsum(x157, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - del x157 - t2new_bbbb += einsum(t2.bbbb, (0, 1, 2, 3), x168, (0, 4, 5, 1), (5, 4, 2, 3)) * -2.0 - del x168 - x169 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x169 += einsum(t1.bb, (0, 1), x167, (2, 3, 0, 4), (2, 3, 4, 1)) * -2.0 - del x167 - x169 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x169 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) - t2new_bbbb += einsum(t1.bb, (0, 1), x169, (2, 3, 0, 4), (2, 3, 1, 4)) - del x169 - - t1new.aa = t1new_aa - t1new.bb = t1new_bb - t2new.aaaa = t2new_aaaa - t2new.abab = t2new_abab - t2new.bbbb = t2new_bbbb - - return {"t1new": t1new, "t2new": t2new} - -def energy_perturbative(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, l1=None, l2=None, **kwargs): - # T3 amplitude - x0 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x0 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ooov, (4, 1, 5, 6), (0, 4, 5, 2, 3, 6)) - t3_aaaaaa = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - t3_aaaaaa += einsum(x0, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 2.0 - t3_aaaaaa += einsum(x0, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -2.0 - t3_aaaaaa += einsum(x0, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 2.0 - t3_aaaaaa += einsum(x0, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -2.0 - t3_aaaaaa += einsum(x0, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 - t3_aaaaaa += einsum(x0, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -2.0 - t3_aaaaaa += einsum(x0, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -2.0 - t3_aaaaaa += einsum(x0, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * 2.0 - t3_aaaaaa += einsum(x0, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -2.0 - t3_aaaaaa += einsum(x0, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * 2.0 - t3_aaaaaa += einsum(x0, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * -2.0 - t3_aaaaaa += einsum(x0, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) * 2.0 - t3_aaaaaa += einsum(x0, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * 2.0 - t3_aaaaaa += einsum(x0, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -2.0 - t3_aaaaaa += einsum(x0, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * 2.0 - t3_aaaaaa += einsum(x0, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -2.0 - t3_aaaaaa += einsum(x0, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * 2.0 - t3_aaaaaa += einsum(x0, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -2.0 - del x0 - x1 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x1 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovvv, (4, 5, 6, 3), (0, 1, 4, 2, 5, 6)) - t3_aaaaaa += einsum(x1, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -2.0 - t3_aaaaaa += einsum(x1, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 2.0 - t3_aaaaaa += einsum(x1, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 2.0 - t3_aaaaaa += einsum(x1, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -2.0 - t3_aaaaaa += einsum(x1, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -2.0 - t3_aaaaaa += einsum(x1, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 2.0 - t3_aaaaaa += einsum(x1, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * 2.0 - t3_aaaaaa += einsum(x1, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 - t3_aaaaaa += einsum(x1, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -2.0 - t3_aaaaaa += einsum(x1, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 2.0 - t3_aaaaaa += einsum(x1, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 - t3_aaaaaa += einsum(x1, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -2.0 - t3_aaaaaa += einsum(x1, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * 2.0 - t3_aaaaaa += einsum(x1, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -2.0 - t3_aaaaaa += einsum(x1, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -2.0 - t3_aaaaaa += einsum(x1, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * 2.0 - t3_aaaaaa += einsum(x1, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * 2.0 - t3_aaaaaa += einsum(x1, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -2.0 - del x1 - x2 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0], nvir[1], nvir[1]), dtype=types[float]) - x2 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ooov, (4, 0, 5, 6), (4, 1, 5, 2, 3, 6)) - x3 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0], nvir[1], nvir[1]), dtype=types[float]) - x3 += einsum(t2.abab, (0, 1, 2, 3), v.bbbb.ooov, (4, 1, 5, 6), (0, 4, 5, 2, 3, 6)) - x4 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0], nvir[1], nvir[1]), dtype=types[float]) - x4 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.vvov, (4, 2, 5, 6), (0, 1, 5, 4, 3, 6)) - x5 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0], nvir[1], nvir[1]), dtype=types[float]) - x5 += einsum(t2.abab, (0, 1, 2, 3), v.bbbb.ovvv, (4, 5, 6, 3), (0, 1, 4, 2, 5, 6)) - x6 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0], nvir[1], nvir[1]), dtype=types[float]) - x6 += einsum(x2, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x2 - x6 += einsum(x3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x3 - x6 += einsum(x4, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - del x4 - x6 += einsum(x5, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x5 - t3_babbab = np.zeros((nocc[1], nocc[0], nocc[1], nvir[1], nvir[0], nvir[1]), dtype=types[float]) - t3_babbab += einsum(x6, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 - t3_babbab += einsum(x6, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) - t3_babbab += einsum(x6, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) - t3_babbab += einsum(x6, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 - del x6 - x7 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0], nvir[1], nvir[1]), dtype=types[float]) - x7 += einsum(t2.bbbb, (0, 1, 2, 3), v.aabb.ovvv, (4, 5, 6, 3), (4, 0, 1, 5, 2, 6)) - t3_babbab += einsum(x7, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 - t3_babbab += einsum(x7, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 - del x7 - x8 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0], nvir[1], nvir[1]), dtype=types[float]) - x8 += einsum(t2.bbbb, (0, 1, 2, 3), v.aabb.ovoo, (4, 5, 6, 1), (4, 0, 6, 5, 2, 3)) - t3_babbab += einsum(x8, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 - t3_babbab += einsum(x8, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -2.0 - del x8 - x9 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[0], nvir[0], nvir[1]), dtype=types[float]) - x9 += einsum(t2.abab, (0, 1, 2, 3), v.aaaa.ooov, (4, 0, 5, 6), (4, 5, 1, 2, 6, 3)) - x10 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[0], nvir[0], nvir[1]), dtype=types[float]) - x10 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovoo, (4, 5, 6, 1), (0, 4, 6, 2, 5, 3)) - x11 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[0], nvir[0], nvir[1]), dtype=types[float]) - x11 += einsum(t2.abab, (0, 1, 2, 3), v.aaaa.ovvv, (4, 5, 6, 2), (0, 4, 1, 5, 6, 3)) - x12 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[0], nvir[0], nvir[1]), dtype=types[float]) - x12 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovvv, (4, 5, 6, 3), (0, 4, 1, 2, 5, 6)) - x13 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[0], nvir[0], nvir[1]), dtype=types[float]) - x13 += einsum(x9, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x9 - x13 += einsum(x10, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x10 - x13 += einsum(x11, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x11 - x13 += einsum(x12, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - del x12 - t3_abaaba = np.zeros((nocc[0], nocc[1], nocc[0], nvir[0], nvir[1], nvir[0]), dtype=types[float]) - t3_abaaba += einsum(x13, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - t3_abaaba += einsum(x13, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - t3_abaaba += einsum(x13, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) - t3_abaaba += einsum(x13, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 - del x13 - x14 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[0], nvir[0], nvir[1]), dtype=types[float]) - x14 += einsum(t2.aaaa, (0, 1, 2, 3), v.aabb.ooov, (4, 1, 5, 6), (0, 4, 5, 2, 3, 6)) - t3_abaaba += einsum(x14, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 - t3_abaaba += einsum(x14, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -2.0 - del x14 - x15 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[0], nvir[0], nvir[1]), dtype=types[float]) - x15 += einsum(t2.aaaa, (0, 1, 2, 3), v.aabb.vvov, (4, 3, 5, 6), (0, 1, 5, 2, 4, 6)) - t3_abaaba += einsum(x15, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.0 - t3_abaaba += einsum(x15, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 - del x15 - x16 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x16 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ooov, (4, 1, 5, 6), (0, 4, 5, 2, 3, 6)) - t3_bbbbbb = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - t3_bbbbbb += einsum(x16, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 2.0 - t3_bbbbbb += einsum(x16, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -2.0 - t3_bbbbbb += einsum(x16, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 2.0 - t3_bbbbbb += einsum(x16, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -2.0 - t3_bbbbbb += einsum(x16, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 - t3_bbbbbb += einsum(x16, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -2.0 - t3_bbbbbb += einsum(x16, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -2.0 - t3_bbbbbb += einsum(x16, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * 2.0 - t3_bbbbbb += einsum(x16, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -2.0 - t3_bbbbbb += einsum(x16, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * 2.0 - t3_bbbbbb += einsum(x16, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * -2.0 - t3_bbbbbb += einsum(x16, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) * 2.0 - t3_bbbbbb += einsum(x16, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * 2.0 - t3_bbbbbb += einsum(x16, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -2.0 - t3_bbbbbb += einsum(x16, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * 2.0 - t3_bbbbbb += einsum(x16, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -2.0 - t3_bbbbbb += einsum(x16, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * 2.0 - t3_bbbbbb += einsum(x16, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -2.0 - del x16 - x17 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x17 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovvv, (4, 5, 6, 3), (0, 1, 4, 2, 5, 6)) - t3_bbbbbb += einsum(x17, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -2.0 - t3_bbbbbb += einsum(x17, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 2.0 - t3_bbbbbb += einsum(x17, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 2.0 - t3_bbbbbb += einsum(x17, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -2.0 - t3_bbbbbb += einsum(x17, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -2.0 - t3_bbbbbb += einsum(x17, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 2.0 - t3_bbbbbb += einsum(x17, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * 2.0 - t3_bbbbbb += einsum(x17, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 - t3_bbbbbb += einsum(x17, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -2.0 - t3_bbbbbb += einsum(x17, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 2.0 - t3_bbbbbb += einsum(x17, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 - t3_bbbbbb += einsum(x17, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -2.0 - t3_bbbbbb += einsum(x17, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * 2.0 - t3_bbbbbb += einsum(x17, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -2.0 - t3_bbbbbb += einsum(x17, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -2.0 - t3_bbbbbb += einsum(x17, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * 2.0 - t3_bbbbbb += einsum(x17, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * 2.0 - t3_bbbbbb += einsum(x17, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -2.0 - del x17 - t3_aaaaaa /= direct_sum( - "ia+jb+kc->ijkabc", - direct_sum("i-a->ia", np.diag(f.aa.oo), np.diag(f.aa.vv)), - direct_sum("i-a->ia", np.diag(f.aa.oo), np.diag(f.aa.vv)), - direct_sum("i-a->ia", np.diag(f.aa.oo), np.diag(f.aa.vv)), - ) - t3_babbab /= direct_sum( - "ia+jb+kc->ijkabc", - direct_sum("i-a->ia", np.diag(f.bb.oo), np.diag(f.bb.vv)), - direct_sum("i-a->ia", np.diag(f.aa.oo), np.diag(f.aa.vv)), - direct_sum("i-a->ia", np.diag(f.bb.oo), np.diag(f.bb.vv)), - ) - t3_abaaba /= direct_sum( - "ia+jb+kc->ijkabc", - direct_sum("i-a->ia", np.diag(f.aa.oo), np.diag(f.aa.vv)), - direct_sum("i-a->ia", np.diag(f.bb.oo), np.diag(f.bb.vv)), - direct_sum("i-a->ia", np.diag(f.aa.oo), np.diag(f.aa.vv)), - ) - t3_bbbbbb /= direct_sum( - "ia+jb+kc->ijkabc", - direct_sum("i-a->ia", np.diag(f.bb.oo), np.diag(f.bb.vv)), - direct_sum("i-a->ia", np.diag(f.bb.oo), np.diag(f.bb.vv)), - direct_sum("i-a->ia", np.diag(f.bb.oo), np.diag(f.bb.vv)), - ) - - # energy - x0 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x0 += einsum(v.aaaa.ovov, (0, 1, 2, 3), t3_abaaba, (0, 4, 2, 1, 5, 3), (4, 5)) - e_pert = 0 - e_pert += einsum(l1.bb, (0, 1), x0, (1, 0), ()) - del x0 - x1 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x1 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3_abaaba, (4, 2, 0, 5, 3, 1), (4, 5)) - e_pert += einsum(l1.aa, (0, 1), x1, (1, 0), ()) * 2.0 - del x1 - x2 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x2 += einsum(v.bbbb.ovov, (0, 1, 2, 3), t3_bbbbbb, (4, 0, 2, 5, 1, 3), (4, 5)) - e_pert += einsum(l1.bb, (0, 1), x2, (1, 0), ()) * 3.0 - del x2 - x3 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x3 += einsum(l2.abab, (0, 1, 2, 3), t3_babbab, (4, 2, 5, 6, 0, 1), (3, 4, 5, 6)) - e_pert += einsum(v.bbbb.ooov, (0, 1, 2, 3), x3, (0, 2, 1, 3), ()) * -2.0 - del x3 - x4 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x4 += einsum(v.aaaa.ovov, (0, 1, 2, 3), t3_aaaaaa, (4, 0, 2, 5, 1, 3), (4, 5)) - e_pert += einsum(l1.aa, (0, 1), x4, (1, 0), ()) * 3.0 - del x4 - x5 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x5 += einsum(l2.bbbb, (0, 1, 2, 3), t3_bbbbbb, (4, 5, 3, 6, 0, 1), (2, 4, 5, 6)) - e_pert += einsum(v.bbbb.ooov, (0, 1, 2, 3), x5, (0, 1, 2, 3), ()) * 6.0 - del x5 - x6 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x6 += einsum(v.bbbb.ovov, (0, 1, 2, 3), t3_babbab, (0, 4, 2, 1, 5, 3), (4, 5)) - e_pert += einsum(l1.aa, (0, 1), x6, (1, 0), ()) - del x6 - x7 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x7 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3_babbab, (4, 0, 2, 5, 1, 3), (4, 5)) - e_pert += einsum(l1.bb, (0, 1), x7, (1, 0), ()) * 2.0 - del x7 - x8 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x8 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), t3_abaaba, (4, 5, 0, 1, 6, 3), (4, 5, 2, 6)) - x8 += einsum(v.aabb.ovvv, (0, 1, 2, 3), t3_abaaba, (4, 5, 0, 6, 3, 1), (4, 5, 6, 2)) * -1.0 - x8 += einsum(v.aabb.vvov, (0, 1, 2, 3), t3_babbab, (4, 5, 2, 6, 1, 3), (5, 4, 0, 6)) * -1.0 - x8 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), t3_babbab, (4, 5, 0, 1, 6, 3), (5, 4, 6, 2)) - e_pert += einsum(l2.abab, (0, 1, 2, 3), x8, (2, 3, 0, 1), ()) * -2.0 - del x8 - x9 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x9 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), t3_aaaaaa, (4, 5, 0, 6, 3, 1), (4, 5, 6, 2)) * -3.0 - x9 += einsum(v.aabb.vvov, (0, 1, 2, 3), t3_abaaba, (4, 2, 5, 6, 3, 1), (4, 5, 6, 0)) * -1.0 - e_pert += einsum(l2.aaaa, (0, 1, 2, 3), x9, (3, 2, 0, 1), ()) * 2.0 - del x9 - x10 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x10 += einsum(v.aabb.ovvv, (0, 1, 2, 3), t3_babbab, (4, 0, 5, 6, 1, 3), (4, 5, 6, 2)) * -1.0 - x10 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), t3_bbbbbb, (4, 5, 0, 6, 3, 1), (4, 5, 6, 2)) * -3.0 - e_pert += einsum(l2.bbbb, (0, 1, 2, 3), x10, (3, 2, 0, 1), ()) * 2.0 - del x10 - x11 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x11 += einsum(l2.abab, (0, 1, 2, 3), t3_abaaba, (4, 5, 2, 6, 1, 0), (4, 3, 5, 6)) - x11 += einsum(l2.bbbb, (0, 1, 2, 3), t3_babbab, (4, 5, 3, 0, 6, 1), (5, 2, 4, 6)) - e_pert += einsum(v.aabb.ovoo, (0, 1, 2, 3), x11, (0, 3, 2, 1), ()) * -2.0 - del x11 - x12 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x12 += einsum(l2.aaaa, (0, 1, 2, 3), t3_aaaaaa, (4, 5, 3, 6, 0, 1), (2, 4, 5, 6)) * 3.0 - x12 += einsum(l2.abab, (0, 1, 2, 3), t3_abaaba, (4, 3, 5, 6, 1, 0), (2, 4, 5, 6)) - e_pert += einsum(v.aaaa.ooov, (0, 1, 2, 3), x12, (1, 0, 2, 3), ()) * 2.0 - del x12 - x13 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x13 += einsum(l2.aaaa, (0, 1, 2, 3), t3_abaaba, (4, 5, 3, 0, 6, 1), (2, 4, 5, 6)) - x13 += einsum(l2.abab, (0, 1, 2, 3), t3_babbab, (4, 5, 3, 6, 0, 1), (2, 5, 4, 6)) - e_pert += einsum(v.aabb.ooov, (0, 1, 2, 3), x13, (1, 0, 2, 3), ()) * -2.0 - del x13 - e_pert /= 2 - - return e_pert - diff --git a/ebcc/codegen/UDCD.py b/ebcc/codegen/UDCD.py deleted file mode 100644 index 32f0e6bc..00000000 --- a/ebcc/codegen/UDCD.py +++ /dev/null @@ -1,254 +0,0 @@ -# Code generated for ebcc. - -from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, Namespace -from ebcc.precision import types - -def energy(f=None, v=None, nocc=None, nvir=None, t2=None, **kwargs): - # energy - e_cc = 0 - e_cc += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (0, 2, 1, 3), ()) - e_cc += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (0, 2, 1, 3), ()) - e_cc += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 1, 3), ()) - - return e_cc - -def update_amps(f=None, v=None, nocc=None, nvir=None, t2=None, **kwargs): - t2new = Namespace() - - # T amplitudes - t2new_aaaa = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - t2new_aaaa += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.vvvv, (4, 2, 5, 3), (0, 1, 4, 5)) * 2.0 - t2new_aaaa += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.oooo, (4, 0, 5, 1), (4, 5, 2, 3)) * 2.0 - t2new_abab = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - t2new_abab += einsum(t2.abab, (0, 1, 2, 3), v.aabb.vvoo, (4, 2, 5, 1), (0, 5, 4, 3)) * -1.0 - t2new_abab += einsum(t2.abab, (0, 1, 2, 3), v.aabb.oovv, (4, 0, 5, 3), (4, 1, 2, 5)) * -1.0 - t2new_abab += einsum(t2.abab, (0, 1, 2, 3), v.aabb.oooo, (4, 0, 5, 1), (4, 5, 2, 3)) - t2new_abab += einsum(v.aabb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - t2new_abab += einsum(t2.abab, (0, 1, 2, 3), v.aabb.vvvv, (4, 2, 5, 3), (0, 1, 4, 5)) - t2new_bbbb = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - t2new_bbbb += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.oooo, (4, 1, 5, 0), (4, 5, 2, 3)) * -2.0 - t2new_bbbb += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.vvvv, (4, 2, 5, 3), (0, 1, 4, 5)) * 2.0 - x0 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x0 += einsum(f.aa.oo, (0, 1), t2.aaaa, (2, 1, 3, 4), (0, 2, 3, 4)) - x1 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x1 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 3, 1, 2), (0, 4)) * -1.0 - x2 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x2 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 1, 3), (0, 4)) - x3 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x3 += einsum(x1, (0, 1), (0, 1)) - x3 += einsum(x2, (0, 1), (0, 1)) * 0.5 - x4 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x4 += einsum(x3, (0, 1), t2.aaaa, (2, 1, 3, 4), (2, 0, 3, 4)) * -2.0 - del x3 - x5 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x5 += einsum(x0, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - del x0 - x5 += einsum(x4, (0, 1, 2, 3), (0, 1, 3, 2)) - del x4 - t2new_aaaa += einsum(x5, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_aaaa += einsum(x5, (0, 1, 2, 3), (1, 0, 2, 3)) - del x5 - x6 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x6 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 5, 1, 3), (0, 4, 2, 5)) - x7 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x7 += einsum(t2.aaaa, (0, 1, 2, 3), x6, (4, 1, 5, 3), (4, 0, 5, 2)) - x8 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x8 += einsum(t2.abab, (0, 1, 2, 3), v.bbbb.ovov, (4, 5, 1, 3), (0, 4, 2, 5)) - x9 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x9 += einsum(t2.abab, (0, 1, 2, 3), x8, (4, 1, 5, 3), (4, 0, 5, 2)) - del x8 - x10 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x10 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (0, 4, 1, 3), (2, 4)) - x11 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x11 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 4, 1, 3), (2, 4)) - x12 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x12 += einsum(x10, (0, 1), (0, 1)) - x12 += einsum(x11, (0, 1), (0, 1)) * 0.5 - x13 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x13 += einsum(x12, (0, 1), t2.aaaa, (2, 3, 4, 1), (2, 3, 4, 0)) * -2.0 - del x12 - x14 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x14 += einsum(x7, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.0 - del x7 - x14 += einsum(x9, (0, 1, 2, 3), (0, 1, 2, 3)) - del x9 - x14 += einsum(x13, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x13 - t2new_aaaa += einsum(x14, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new_aaaa += einsum(x14, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x14 - x15 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x15 += einsum(f.aa.vv, (0, 1), t2.aaaa, (2, 3, 4, 1), (2, 3, 0, 4)) - x16 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x16 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x16 += einsum(x15, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 - del x15 - t2new_aaaa += einsum(x16, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new_aaaa += einsum(x16, (0, 1, 2, 3), (0, 1, 2, 3)) - del x16 - x17 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x17 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (0, 4, 2, 5)) - x18 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x18 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x18 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x18 += einsum(x17, (0, 1, 2, 3), (1, 0, 3, 2)) - x19 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x19 += einsum(t2.aaaa, (0, 1, 2, 3), x18, (1, 4, 3, 5), (0, 4, 2, 5)) * 2.0 - del x18 - x20 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x20 += einsum(x17, (0, 1, 2, 3), (0, 1, 2, 3)) - del x17 - x20 += einsum(x19, (0, 1, 2, 3), (0, 1, 2, 3)) - del x19 - t2new_aaaa += einsum(x20, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new_aaaa += einsum(x20, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new_aaaa += einsum(x20, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - t2new_aaaa += einsum(x20, (0, 1, 2, 3), (1, 0, 3, 2)) - del x20 - x21 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x21 += einsum(t2.aaaa, (0, 1, 2, 3), v.aabb.ovov, (1, 3, 4, 5), (0, 4, 2, 5)) - t2new_abab += einsum(x21, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x22 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x22 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 5, 1, 3), (0, 4, 2, 5)) - x23 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x23 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * 0.5 - x23 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x23 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 5), (4, 1, 5, 3)) * 0.5 - x23 += einsum(x22, (0, 1, 2, 3), (1, 0, 3, 2)) - t2new_abab += einsum(t2.abab, (0, 1, 2, 3), x23, (1, 4, 3, 5), (0, 4, 2, 5)) * 2.0 - del x23 - x24 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x24 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x24 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x24 += einsum(x6, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - del x6 - t2new_abab += einsum(t2.abab, (0, 1, 2, 3), x24, (0, 4, 2, 5), (4, 1, 5, 3)) - del x24 - x25 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x25 += einsum(v.aabb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * 0.5 - x25 += einsum(x21, (0, 1, 2, 3), (0, 1, 2, 3)) - del x21 - t2new_abab += einsum(t2.bbbb, (0, 1, 2, 3), x25, (4, 1, 5, 3), (4, 0, 5, 2)) * 4.0 - del x25 - x26 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x26 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 1, 4), (3, 4)) - x27 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x27 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (0, 3, 1, 4), (2, 4)) * -1.0 - x28 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x28 += einsum(f.bb.vv, (0, 1), (0, 1)) * -1.0 - x28 += einsum(x26, (0, 1), (1, 0)) * 0.5 - x28 += einsum(x27, (0, 1), (1, 0)) - t2new_abab += einsum(x28, (0, 1), t2.abab, (2, 3, 4, 0), (2, 3, 4, 1)) * -1.0 - del x28 - x29 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x29 += einsum(f.aa.vv, (0, 1), (0, 1)) * -2.0 - x29 += einsum(x10, (0, 1), (1, 0)) * 2.0 - del x10 - x29 += einsum(x11, (0, 1), (1, 0)) - del x11 - t2new_abab += einsum(x29, (0, 1), t2.abab, (2, 3, 0, 4), (2, 3, 1, 4)) * -0.5 - del x29 - x30 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x30 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 3), (1, 4)) - x31 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x31 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 3, 1, 2), (0, 4)) * -1.0 - x32 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x32 += einsum(f.bb.oo, (0, 1), (0, 1)) * 2.0 - x32 += einsum(x30, (0, 1), (1, 0)) - x32 += einsum(x31, (0, 1), (1, 0)) * 2.0 - t2new_abab += einsum(x32, (0, 1), t2.abab, (2, 0, 3, 4), (2, 1, 3, 4)) * -0.5 - del x32 - x33 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x33 += einsum(f.aa.oo, (0, 1), (0, 1)) - x33 += einsum(x1, (0, 1), (1, 0)) - del x1 - x33 += einsum(x2, (0, 1), (1, 0)) * 0.5 - del x2 - t2new_abab += einsum(x33, (0, 1), t2.abab, (0, 2, 3, 4), (1, 2, 3, 4)) * -1.0 - del x33 - x34 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x34 += einsum(f.bb.oo, (0, 1), t2.bbbb, (2, 1, 3, 4), (0, 2, 3, 4)) - x35 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x35 += einsum(x30, (0, 1), (0, 1)) - del x30 - x35 += einsum(x31, (0, 1), (0, 1)) * 2.0 - del x31 - x36 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x36 += einsum(x35, (0, 1), t2.bbbb, (2, 1, 3, 4), (0, 2, 3, 4)) * -1.0 - del x35 - x37 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x37 += einsum(x34, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - del x34 - x37 += einsum(x36, (0, 1, 2, 3), (1, 0, 3, 2)) - del x36 - t2new_bbbb += einsum(x37, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_bbbb += einsum(x37, (0, 1, 2, 3), (1, 0, 2, 3)) - del x37 - x38 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x38 += einsum(t2.bbbb, (0, 1, 2, 3), x22, (4, 1, 5, 3), (4, 0, 5, 2)) - del x22 - x39 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x39 += einsum(x26, (0, 1), (0, 1)) - del x26 - x39 += einsum(x27, (0, 1), (0, 1)) * 2.0 - del x27 - x40 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x40 += einsum(x39, (0, 1), t2.bbbb, (2, 3, 4, 1), (2, 3, 0, 4)) * -1.0 - del x39 - x41 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x41 += einsum(x38, (0, 1, 2, 3), (0, 1, 2, 3)) * -4.0 - del x38 - x41 += einsum(x40, (0, 1, 2, 3), (1, 0, 3, 2)) - del x40 - t2new_bbbb += einsum(x41, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_bbbb += einsum(x41, (0, 1, 2, 3), (0, 1, 3, 2)) - del x41 - x42 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x42 += einsum(t2.bbbb, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (4, 0, 5, 2)) - x43 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x43 += einsum(v.aabb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x43 += einsum(x42, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x42 - x44 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x44 += einsum(t2.abab, (0, 1, 2, 3), x43, (0, 4, 2, 5), (4, 1, 5, 3)) - del x43 - x45 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x45 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) - x45 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x46 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x46 += einsum(t2.bbbb, (0, 1, 2, 3), x45, (1, 4, 3, 5), (4, 0, 5, 2)) * 2.0 - del x45 - x47 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x47 += einsum(x44, (0, 1, 2, 3), (1, 0, 3, 2)) - del x44 - x47 += einsum(x46, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x46 - t2new_bbbb += einsum(x47, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new_bbbb += einsum(x47, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new_bbbb += einsum(x47, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - t2new_bbbb += einsum(x47, (0, 1, 2, 3), (1, 0, 3, 2)) - del x47 - x48 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x48 += einsum(f.bb.vv, (0, 1), t2.bbbb, (2, 3, 4, 1), (2, 3, 0, 4)) - x49 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x49 += einsum(t2.abab, (0, 1, 2, 3), v.aaaa.ovov, (4, 5, 0, 2), (4, 1, 5, 3)) - x50 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x50 += einsum(t2.abab, (0, 1, 2, 3), x49, (0, 4, 2, 5), (4, 1, 5, 3)) - del x49 - x51 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x51 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x51 += einsum(x48, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 - del x48 - x51 += einsum(x50, (0, 1, 2, 3), (1, 0, 3, 2)) - del x50 - t2new_bbbb += einsum(x51, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new_bbbb += einsum(x51, (0, 1, 2, 3), (0, 1, 2, 3)) - del x51 - - t2new.aaaa = t2new_aaaa - t2new.abab = t2new_abab - t2new.bbbb = t2new_bbbb - - return {"t2new": t2new} - diff --git a/ebcc/codegen/UDCSD.py b/ebcc/codegen/UDCSD.py deleted file mode 100644 index a341c958..00000000 --- a/ebcc/codegen/UDCSD.py +++ /dev/null @@ -1,785 +0,0 @@ -# Code generated for ebcc. - -from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, Namespace -from ebcc.precision import types - -def energy(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, **kwargs): - # energy - e_cc = 0 - e_cc += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (0, 2, 1, 3), ()) - e_cc += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (0, 3, 1, 2), ()) * -1.0 - e_cc += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 1, 3), ()) - x0 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x0 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x0 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x1 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x1 += einsum(f.aa.ov, (0, 1), (0, 1)) * 2.0 - x1 += einsum(t1.bb, (0, 1), v.aabb.ovov, (2, 3, 0, 1), (2, 3)) * 2.0 - x1 += einsum(t1.aa, (0, 1), x0, (0, 2, 3, 1), (2, 3)) * -1.0 - del x0 - e_cc += einsum(t1.aa, (0, 1), x1, (0, 1), ()) * 0.5 - del x1 - x2 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x2 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x2 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x3 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x3 += einsum(f.bb.ov, (0, 1), (0, 1)) * 2.0 - x3 += einsum(t1.bb, (0, 1), x2, (0, 2, 1, 3), (2, 3)) * -1.0 - del x2 - e_cc += einsum(t1.bb, (0, 1), x3, (0, 1), ()) * 0.5 - del x3 - - return e_cc - -def update_amps(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, **kwargs): - t1new = Namespace() - t2new = Namespace() - - # T amplitudes - t1new_aa = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - t1new_aa += einsum(f.aa.ov, (0, 1), (0, 1)) - t1new_bb = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - t1new_bb += einsum(f.bb.ov, (0, 1), (0, 1)) - t2new_aaaa = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - t2new_aaaa += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.vvvv, (4, 3, 5, 2), (0, 1, 4, 5)) * -2.0 - t2new_abab = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - t2new_abab += einsum(v.aabb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - t2new_bbbb = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - t2new_bbbb += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.vvvv, (4, 3, 5, 2), (0, 1, 4, 5)) * -2.0 - x0 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x0 += einsum(t1.bb, (0, 1), v.aabb.ovov, (2, 3, 0, 1), (2, 3)) - t1new_aa += einsum(x0, (0, 1), (0, 1)) - x1 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x1 += einsum(t1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) - x2 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x2 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) - x2 += einsum(x1, (0, 1, 2, 3), (0, 1, 2, 3)) - t1new_aa += einsum(t2.aaaa, (0, 1, 2, 3), x2, (4, 0, 1, 3), (4, 2)) * 2.0 - del x2 - x3 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x3 += einsum(t1.aa, (0, 1), v.aabb.ovov, (2, 1, 3, 4), (0, 2, 3, 4)) - x4 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x4 += einsum(v.aabb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x4 += einsum(x3, (0, 1, 2, 3), (1, 0, 2, 3)) - t1new_aa += einsum(t2.abab, (0, 1, 2, 3), x4, (0, 4, 1, 3), (4, 2)) * -1.0 - del x4 - x5 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x5 += einsum(t2.aaaa, (0, 1, 2, 3), (0, 1, 2, 3)) - x5 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 1, 3)) * 0.5 - t1new_aa += einsum(v.aaaa.ovvv, (0, 1, 2, 3), x5, (0, 4, 1, 3), (4, 2)) * 2.0 - del x5 - x6 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x6 += einsum(t2.abab, (0, 1, 2, 3), (0, 1, 2, 3)) - x6 += einsum(t1.aa, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3)) - t1new_aa += einsum(v.aabb.vvov, (0, 1, 2, 3), x6, (4, 2, 1, 3), (4, 0)) - t1new_bb += einsum(v.aabb.ovvv, (0, 1, 2, 3), x6, (0, 4, 1, 3), (4, 2)) - del x6 - x7 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x7 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x7 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x8 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x8 += einsum(t1.aa, (0, 1), x7, (0, 2, 3, 1), (2, 3)) - del x7 - x9 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x9 += einsum(f.aa.ov, (0, 1), (0, 1)) - x9 += einsum(x0, (0, 1), (0, 1)) - del x0 - x9 += einsum(x8, (0, 1), (0, 1)) * -1.0 - del x8 - t1new_aa += einsum(x9, (0, 1), t2.aaaa, (2, 0, 3, 1), (2, 3)) * 2.0 - t1new_bb += einsum(x9, (0, 1), t2.abab, (0, 2, 1, 3), (2, 3)) - x10 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x10 += einsum(t1.aa, (0, 1), v.aabb.ovov, (0, 1, 2, 3), (2, 3)) - t1new_bb += einsum(x10, (0, 1), (0, 1)) - x11 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x11 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x11 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x12 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x12 += einsum(t1.bb, (0, 1), x11, (0, 2, 1, 3), (2, 3)) - del x11 - x13 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x13 += einsum(f.bb.ov, (0, 1), (0, 1)) - x13 += einsum(x10, (0, 1), (0, 1)) - del x10 - x13 += einsum(x12, (0, 1), (0, 1)) * -1.0 - del x12 - t1new_aa += einsum(x13, (0, 1), t2.abab, (2, 0, 3, 1), (2, 3)) - t1new_bb += einsum(x13, (0, 1), t2.bbbb, (2, 0, 3, 1), (2, 3)) * 2.0 - x14 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x14 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) - x14 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - t1new_aa += einsum(t1.aa, (0, 1), x14, (0, 2, 1, 3), (2, 3)) * -1.0 - del x14 - x15 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x15 += einsum(t1.bb, (0, 1), v.aabb.ooov, (2, 3, 0, 1), (2, 3)) - x16 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x16 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 3, 1, 2), (0, 4)) * -1.0 - x17 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x17 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 1, 3), (0, 4)) - x18 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x18 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x18 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) - x19 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x19 += einsum(t1.aa, (0, 1), x18, (2, 3, 0, 1), (2, 3)) - x20 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x20 += einsum(t1.aa, (0, 1), x9, (2, 1), (0, 2)) - x21 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x21 += einsum(f.aa.oo, (0, 1), (0, 1)) - x21 += einsum(x15, (0, 1), (1, 0)) - x21 += einsum(x16, (0, 1), (1, 0)) * 2.0 - x21 += einsum(x17, (0, 1), (1, 0)) - x21 += einsum(x19, (0, 1), (1, 0)) * -1.0 - x21 += einsum(x20, (0, 1), (1, 0)) - t1new_aa += einsum(t1.aa, (0, 1), x21, (0, 2), (2, 1)) * -1.0 - del x21 - x22 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x22 += einsum(f.aa.vv, (0, 1), (0, 1)) - x22 += einsum(t1.aa, (0, 1), v.aaaa.ovvv, (0, 2, 3, 1), (2, 3)) * -1.0 - t1new_aa += einsum(t1.aa, (0, 1), x22, (1, 2), (0, 2)) - del x22 - x23 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x23 += einsum(t1.bb, (0, 1), v.aabb.ovov, (2, 3, 4, 1), (2, 0, 4, 3)) - x24 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x24 += einsum(v.aabb.ovoo, (0, 1, 2, 3), (0, 2, 3, 1)) - x24 += einsum(x23, (0, 1, 2, 3), (0, 2, 1, 3)) - t1new_bb += einsum(t2.abab, (0, 1, 2, 3), x24, (0, 1, 4, 2), (4, 3)) * -1.0 - x25 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x25 += einsum(t1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) - x26 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x26 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) - x26 += einsum(x25, (0, 1, 2, 3), (0, 1, 2, 3)) - t1new_bb += einsum(t2.bbbb, (0, 1, 2, 3), x26, (4, 0, 1, 3), (4, 2)) * 2.0 - del x26 - x27 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x27 += einsum(t2.bbbb, (0, 1, 2, 3), (0, 1, 2, 3)) - x27 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3)) * 0.5 - t1new_bb += einsum(v.bbbb.ovvv, (0, 1, 2, 3), x27, (0, 4, 1, 3), (4, 2)) * 2.0 - del x27 - x28 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x28 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) - x28 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - t1new_bb += einsum(t1.bb, (0, 1), x28, (0, 2, 1, 3), (2, 3)) * -1.0 - x29 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x29 += einsum(t1.aa, (0, 1), v.aabb.ovoo, (0, 1, 2, 3), (2, 3)) - x30 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x30 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 3), (1, 4)) - x31 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x31 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 3, 1, 2), (0, 4)) * -1.0 - x32 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x32 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x32 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) - x33 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x33 += einsum(t1.bb, (0, 1), x32, (2, 3, 0, 1), (2, 3)) - del x32 - x34 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x34 += einsum(t1.bb, (0, 1), x13, (2, 1), (0, 2)) - x35 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x35 += einsum(f.bb.oo, (0, 1), (0, 1)) - x35 += einsum(x29, (0, 1), (1, 0)) - x35 += einsum(x30, (0, 1), (1, 0)) - x35 += einsum(x31, (0, 1), (1, 0)) * 2.0 - x35 += einsum(x33, (0, 1), (1, 0)) * -1.0 - x35 += einsum(x34, (0, 1), (1, 0)) - t1new_bb += einsum(t1.bb, (0, 1), x35, (0, 2), (2, 1)) * -1.0 - del x35 - x36 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x36 += einsum(f.bb.vv, (0, 1), (0, 1)) - x36 += einsum(t1.bb, (0, 1), v.bbbb.ovvv, (0, 2, 3, 1), (2, 3)) * -1.0 - t1new_bb += einsum(t1.bb, (0, 1), x36, (1, 2), (0, 2)) - del x36 - x37 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x37 += einsum(t1.aa, (0, 1), v.aaaa.vvvv, (2, 3, 4, 1), (0, 2, 3, 4)) - x38 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x38 += einsum(t1.aa, (0, 1), x37, (2, 3, 1, 4), (0, 2, 3, 4)) - del x37 - x39 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x39 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 5, 1, 3), (0, 4, 2, 5)) - x40 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x40 += einsum(t2.aaaa, (0, 1, 2, 3), x39, (4, 1, 5, 3), (4, 0, 5, 2)) - x41 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x41 += einsum(t2.abab, (0, 1, 2, 3), v.bbbb.ovov, (4, 5, 1, 3), (0, 4, 2, 5)) - x42 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x42 += einsum(t2.abab, (0, 1, 2, 3), x41, (4, 1, 5, 3), (4, 0, 5, 2)) - del x41 - x43 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x43 += einsum(t1.bb, (0, 1), v.aabb.vvov, (2, 3, 0, 1), (2, 3)) - x44 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x44 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (0, 3, 1, 4), (2, 4)) * -1.0 - x45 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x45 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 4, 1, 3), (2, 4)) - x46 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x46 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) - x46 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x47 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x47 += einsum(t1.aa, (0, 1), x46, (0, 1, 2, 3), (2, 3)) - x48 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x48 += einsum(x43, (0, 1), (1, 0)) * -1.0 - x48 += einsum(x44, (0, 1), (1, 0)) - x48 += einsum(x45, (0, 1), (1, 0)) * 0.5 - x48 += einsum(x47, (0, 1), (1, 0)) * -1.0 - del x47 - x49 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x49 += einsum(x48, (0, 1), t2.aaaa, (2, 3, 4, 0), (2, 3, 4, 1)) * -2.0 - del x48 - x50 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x50 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovvv, (4, 3, 5, 2), (0, 1, 4, 5)) * -1.0 - x51 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x51 += einsum(x9, (0, 1), t2.aaaa, (2, 3, 4, 1), (2, 3, 0, 4)) * -2.0 - x52 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x52 += einsum(t1.aa, (0, 1), x1, (2, 3, 4, 1), (2, 0, 4, 3)) - x53 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x53 += einsum(v.aaaa.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x53 += einsum(x52, (0, 1, 2, 3), (3, 1, 2, 0)) - del x52 - t2new_aaaa += einsum(t2.aaaa, (0, 1, 2, 3), x53, (0, 4, 1, 5), (4, 5, 2, 3)) * 2.0 - x54 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x54 += einsum(t1.aa, (0, 1), x53, (0, 2, 3, 4), (2, 3, 4, 1)) - del x53 - x55 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x55 += einsum(x50, (0, 1, 2, 3), (2, 1, 0, 3)) * -2.0 - del x50 - x55 += einsum(x51, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - del x51 - x55 += einsum(x54, (0, 1, 2, 3), (1, 0, 2, 3)) - del x54 - x56 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x56 += einsum(t1.aa, (0, 1), x55, (0, 2, 3, 4), (2, 3, 1, 4)) - del x55 - x57 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x57 += einsum(x38, (0, 1, 2, 3), (0, 1, 2, 3)) - del x38 - x57 += einsum(x40, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.0 - del x40 - x57 += einsum(x42, (0, 1, 2, 3), (0, 1, 2, 3)) - del x42 - x57 += einsum(x49, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x49 - x57 += einsum(x56, (0, 1, 2, 3), (1, 0, 2, 3)) - del x56 - t2new_aaaa += einsum(x57, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new_aaaa += einsum(x57, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x57 - x58 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x58 += einsum(t1.aa, (0, 1), v.aaaa.ooov, (2, 3, 4, 1), (0, 2, 3, 4)) - x59 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x59 += einsum(t2.aaaa, (0, 1, 2, 3), x58, (4, 5, 0, 1), (4, 5, 2, 3)) - x60 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x60 += einsum(f.aa.oo, (0, 1), (0, 1)) - x60 += einsum(x20, (0, 1), (0, 1)) - del x20 - x61 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x61 += einsum(x60, (0, 1), t2.aaaa, (2, 1, 3, 4), (2, 0, 3, 4)) * -2.0 - del x60 - x62 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x62 += einsum(x15, (0, 1), (1, 0)) - x62 += einsum(x16, (0, 1), (1, 0)) - x62 += einsum(x17, (0, 1), (1, 0)) * 0.5 - x62 += einsum(x19, (0, 1), (1, 0)) * -1.0 - del x19 - x63 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x63 += einsum(x62, (0, 1), t2.aaaa, (2, 0, 3, 4), (2, 1, 3, 4)) * -2.0 - del x62 - x64 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x64 += einsum(x59, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - del x59 - x64 += einsum(x61, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x61 - x64 += einsum(x63, (0, 1, 2, 3), (0, 1, 3, 2)) - del x63 - t2new_aaaa += einsum(x64, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_aaaa += einsum(x64, (0, 1, 2, 3), (1, 0, 2, 3)) - del x64 - x65 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x65 += einsum(t1.aa, (0, 1), v.aaaa.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) - x66 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x66 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (0, 4, 2, 5)) - x67 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x67 += einsum(t1.aa, (0, 1), v.aabb.vvov, (2, 1, 3, 4), (0, 3, 2, 4)) - t2new_abab += einsum(x67, (0, 1, 2, 3), (0, 1, 2, 3)) - x68 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x68 += einsum(t2.abab, (0, 1, 2, 3), x67, (4, 1, 5, 3), (4, 0, 2, 5)) - x69 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x69 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x69 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x69 += einsum(x66, (0, 1, 2, 3), (1, 0, 3, 2)) - x70 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x70 += einsum(t2.aaaa, (0, 1, 2, 3), x69, (1, 4, 3, 5), (0, 4, 2, 5)) * 2.0 - del x69 - x71 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x71 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x71 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) - x72 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x72 += einsum(t1.aa, (0, 1), x71, (2, 3, 1, 4), (0, 2, 3, 4)) - del x71 - x73 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x73 += einsum(t2.aaaa, (0, 1, 2, 3), x72, (4, 1, 3, 5), (0, 4, 2, 5)) * -2.0 - del x72 - x74 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x74 += einsum(t1.aa, (0, 1), x58, (2, 3, 4, 0), (2, 4, 3, 1)) - del x58 - x75 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x75 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ooov, (4, 5, 1, 3), (0, 4, 5, 2)) - x76 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x76 += einsum(t2.abab, (0, 1, 2, 3), x3, (4, 5, 1, 3), (4, 0, 5, 2)) - x77 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x77 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x77 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) - x78 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x78 += einsum(t2.aaaa, (0, 1, 2, 3), x77, (1, 4, 5, 3), (0, 4, 5, 2)) * 2.0 - del x77 - x79 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x79 += einsum(x1, (0, 1, 2, 3), (0, 1, 2, 3)) - x79 += einsum(x1, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x80 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x80 += einsum(t2.aaaa, (0, 1, 2, 3), x79, (4, 5, 1, 3), (0, 4, 5, 2)) * 2.0 - del x79 - x81 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x81 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x81 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x81 += einsum(x65, (0, 1, 2, 3), (0, 1, 2, 3)) - x82 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x82 += einsum(t1.aa, (0, 1), x81, (2, 3, 1, 4), (0, 2, 3, 4)) - del x81 - x83 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x83 += einsum(x74, (0, 1, 2, 3), (0, 2, 1, 3)) - del x74 - x83 += einsum(x75, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x75 - x83 += einsum(x76, (0, 1, 2, 3), (0, 2, 1, 3)) - del x76 - x83 += einsum(x78, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x78 - x83 += einsum(x80, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - del x80 - x83 += einsum(x82, (0, 1, 2, 3), (0, 2, 1, 3)) - del x82 - x84 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x84 += einsum(t1.aa, (0, 1), x83, (2, 0, 3, 4), (2, 3, 1, 4)) - del x83 - x85 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x85 += einsum(x65, (0, 1, 2, 3), (0, 1, 2, 3)) - del x65 - x85 += einsum(x66, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x66 - x85 += einsum(x68, (0, 1, 2, 3), (0, 1, 2, 3)) - del x68 - x85 += einsum(x70, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x70 - x85 += einsum(x73, (0, 1, 2, 3), (1, 0, 2, 3)) - del x73 - x85 += einsum(x84, (0, 1, 2, 3), (0, 1, 2, 3)) - del x84 - t2new_aaaa += einsum(x85, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_aaaa += einsum(x85, (0, 1, 2, 3), (0, 1, 3, 2)) - t2new_aaaa += einsum(x85, (0, 1, 2, 3), (1, 0, 2, 3)) - t2new_aaaa += einsum(x85, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x85 - x86 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x86 += einsum(t1.aa, (0, 1), v.aaaa.ooov, (2, 0, 3, 4), (2, 3, 1, 4)) - t2new_aaaa += einsum(x86, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_aaaa += einsum(x86, (0, 1, 2, 3), (1, 0, 2, 3)) - del x86 - x87 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x87 += einsum(f.aa.vv, (0, 1), t2.aaaa, (2, 3, 4, 1), (2, 3, 0, 4)) - x88 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x88 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x88 += einsum(x87, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 - del x87 - t2new_aaaa += einsum(x88, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new_aaaa += einsum(x88, (0, 1, 2, 3), (0, 1, 2, 3)) - del x88 - x89 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x89 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 2, 5, 3), (0, 1, 4, 5)) - x90 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x90 += einsum(t1.aa, (0, 1), x89, (2, 3, 0, 4), (2, 3, 4, 1)) * -2.0 - del x89 - x90 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x90 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) - t2new_aaaa += einsum(t1.aa, (0, 1), x90, (2, 3, 0, 4), (2, 3, 4, 1)) * -1.0 - del x90 - x91 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x91 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 5, 1, 3), (0, 4, 2, 5)) - x92 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x92 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) - x92 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x93 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x93 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x93 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) - x93 += einsum(x25, (0, 1, 2, 3), (0, 1, 2, 3)) - x93 += einsum(x25, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x94 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x94 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * 0.5 - x94 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x94 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 5), (4, 1, 5, 3)) * 0.5 - x94 += einsum(x91, (0, 1, 2, 3), (1, 0, 3, 2)) - x94 += einsum(t1.bb, (0, 1), x92, (2, 1, 3, 4), (2, 0, 4, 3)) * -0.5 - x94 += einsum(t1.bb, (0, 1), x93, (2, 3, 0, 4), (3, 2, 4, 1)) * -0.5 - del x93 - t2new_abab += einsum(t2.abab, (0, 1, 2, 3), x94, (1, 4, 3, 5), (0, 4, 2, 5)) * 2.0 - del x94 - x95 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x95 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x95 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) - x95 += einsum(x1, (0, 1, 2, 3), (0, 1, 2, 3)) - x95 += einsum(x1, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x1 - x96 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x96 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x96 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x96 += einsum(x39, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - del x39 - x96 += einsum(t1.aa, (0, 1), x46, (2, 1, 3, 4), (2, 0, 4, 3)) * -1.0 - x96 += einsum(t1.aa, (0, 1), x95, (2, 3, 0, 4), (3, 2, 4, 1)) * -1.0 - del x95 - t2new_abab += einsum(t2.abab, (0, 1, 2, 3), x96, (0, 4, 2, 5), (4, 1, 5, 3)) - del x96 - x97 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x97 += einsum(t2.aaaa, (0, 1, 2, 3), (0, 1, 2, 3)) - x97 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 3, 1)) * -0.5 - x98 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x98 += einsum(v.aabb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x98 += einsum(t1.aa, (0, 1), v.aabb.ooov, (2, 0, 3, 4), (2, 3, 1, 4)) * -1.0 - x98 += einsum(x67, (0, 1, 2, 3), (0, 1, 2, 3)) - del x67 - x98 += einsum(v.aabb.ovov, (0, 1, 2, 3), x97, (0, 4, 1, 5), (4, 2, 5, 3)) * 2.0 - t2new_abab += einsum(t2.bbbb, (0, 1, 2, 3), x98, (4, 1, 5, 3), (4, 0, 5, 2)) * 2.0 - del x98 - x99 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x99 += einsum(t1.bb, (0, 1), v.aabb.ovvv, (2, 3, 4, 1), (2, 0, 3, 4)) - x100 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x100 += einsum(v.aabb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x100 += einsum(x99, (0, 1, 2, 3), (0, 1, 2, 3)) - x100 += einsum(t1.bb, (0, 1), x24, (2, 0, 3, 4), (2, 3, 4, 1)) * -1.0 - del x24 - t2new_abab += einsum(x100, (0, 1, 2, 3), x97, (0, 4, 2, 5), (4, 1, 5, 3)) * 2.0 - del x97, x100 - x101 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x101 += einsum(t1.bb, (0, 1), v.aabb.vvov, (2, 3, 4, 1), (0, 4, 2, 3)) - x102 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x102 += einsum(v.aabb.ovoo, (0, 1, 2, 3), (0, 2, 3, 1)) - x102 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) - x103 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x103 += einsum(v.aabb.vvoo, (0, 1, 2, 3), (2, 3, 0, 1)) - x103 += einsum(x101, (0, 1, 2, 3), (1, 0, 3, 2)) - x103 += einsum(t1.aa, (0, 1), x102, (0, 2, 3, 4), (3, 2, 4, 1)) * -1.0 - t2new_abab += einsum(t2.abab, (0, 1, 2, 3), x103, (1, 4, 2, 5), (0, 4, 5, 3)) * -1.0 - del x103 - x104 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x104 += einsum(v.aabb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x104 += einsum(x3, (0, 1, 2, 3), (0, 1, 2, 3)) - del x3 - x105 = np.zeros((nocc[0], nocc[0], nvir[1], nvir[1]), dtype=types[float]) - x105 += einsum(v.aabb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) - x105 += einsum(t1.aa, (0, 1), v.aabb.ovvv, (2, 1, 3, 4), (2, 0, 3, 4)) - x105 += einsum(t1.bb, (0, 1), x104, (2, 3, 0, 4), (3, 2, 4, 1)) * -1.0 - del x104 - t2new_abab += einsum(t2.abab, (0, 1, 2, 3), x105, (0, 4, 3, 5), (4, 1, 2, 5)) * -1.0 - del x105 - x106 = np.zeros((nvir[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) - x106 += einsum(v.aabb.vvvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x106 += einsum(t1.aa, (0, 1), v.aabb.ovvv, (0, 2, 3, 4), (2, 1, 3, 4)) - x106 += einsum(t1.bb, (0, 1), v.aabb.vvov, (2, 3, 0, 4), (2, 3, 4, 1)) - t2new_abab += einsum(t2.abab, (0, 1, 2, 3), x106, (2, 4, 3, 5), (0, 1, 4, 5)) * -1.0 - del x106 - x107 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x107 += einsum(t1.aa, (0, 1), v.aabb.ovvv, (0, 1, 2, 3), (2, 3)) - x108 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x108 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 1, 4), (3, 4)) - x109 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x109 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (0, 3, 1, 4), (2, 4)) * -1.0 - x110 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x110 += einsum(t1.bb, (0, 1), x92, (0, 1, 2, 3), (2, 3)) - x111 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x111 += einsum(f.bb.vv, (0, 1), (0, 1)) * -1.0 - x111 += einsum(x107, (0, 1), (1, 0)) * -1.0 - x111 += einsum(x108, (0, 1), (1, 0)) * 0.5 - x111 += einsum(x109, (0, 1), (1, 0)) - x111 += einsum(x110, (0, 1), (1, 0)) * -1.0 - x111 += einsum(t1.bb, (0, 1), x13, (0, 2), (2, 1)) - t2new_abab += einsum(x111, (0, 1), t2.abab, (2, 3, 4, 0), (2, 3, 4, 1)) * -1.0 - del x111 - x112 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x112 += einsum(f.aa.vv, (0, 1), (0, 1)) * -2.0 - x112 += einsum(x43, (0, 1), (1, 0)) * -2.0 - del x43 - x112 += einsum(x44, (0, 1), (1, 0)) * 2.0 - del x44 - x112 += einsum(x45, (0, 1), (1, 0)) - del x45 - x112 += einsum(t1.aa, (0, 1), x46, (0, 1, 2, 3), (3, 2)) * -2.0 - del x46 - x112 += einsum(t1.aa, (0, 1), x9, (0, 2), (2, 1)) * 2.0 - t2new_abab += einsum(x112, (0, 1), t2.abab, (2, 3, 0, 4), (2, 3, 1, 4)) * -0.5 - del x112 - x113 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x113 += einsum(t1.bb, (0, 1), v.aabb.ooov, (2, 3, 4, 1), (2, 3, 0, 4)) - x114 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x114 += einsum(v.aabb.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x114 += einsum(x113, (0, 1, 2, 3), (1, 0, 3, 2)) - x114 += einsum(t1.aa, (0, 1), x102, (2, 3, 4, 1), (2, 0, 4, 3)) - del x102 - t2new_abab += einsum(t2.abab, (0, 1, 2, 3), x114, (0, 4, 1, 5), (4, 5, 2, 3)) - del x114 - x115 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x115 += einsum(f.bb.oo, (0, 1), (0, 1)) - x115 += einsum(x29, (0, 1), (1, 0)) - x115 += einsum(x30, (0, 1), (1, 0)) * 0.5 - x115 += einsum(x31, (0, 1), (1, 0)) - x115 += einsum(x33, (0, 1), (1, 0)) * -1.0 - x115 += einsum(x34, (0, 1), (1, 0)) - t2new_abab += einsum(x115, (0, 1), t2.abab, (2, 0, 3, 4), (2, 1, 3, 4)) * -1.0 - del x115 - x116 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x116 += einsum(f.aa.oo, (0, 1), (0, 1)) * 2.0 - x116 += einsum(x15, (0, 1), (1, 0)) * 2.0 - del x15 - x116 += einsum(x16, (0, 1), (1, 0)) * 2.0 - del x16 - x116 += einsum(x17, (0, 1), (1, 0)) - del x17 - x116 += einsum(t1.aa, (0, 1), x18, (2, 3, 0, 1), (3, 2)) * -2.0 - del x18 - x116 += einsum(t1.aa, (0, 1), x9, (2, 1), (2, 0)) * 2.0 - del x9 - t2new_abab += einsum(x116, (0, 1), t2.abab, (0, 2, 3, 4), (1, 2, 3, 4)) * -0.5 - del x116 - x117 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x117 += einsum(v.aabb.vvoo, (0, 1, 2, 3), (2, 3, 0, 1)) - x117 += einsum(x101, (0, 1, 2, 3), (0, 1, 3, 2)) - del x101 - x118 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x118 += einsum(v.aabb.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x118 += einsum(x113, (0, 1, 2, 3), (1, 0, 2, 3)) - del x113 - x118 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 5, 3), (4, 0, 1, 5)) - x119 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x119 += einsum(v.aabb.ovoo, (0, 1, 2, 3), (0, 2, 3, 1)) - x119 += einsum(x23, (0, 1, 2, 3), (0, 2, 1, 3)) - x119 += einsum(t1.aa, (0, 1), x117, (2, 3, 1, 4), (0, 3, 2, 4)) - del x117 - x119 += einsum(t1.aa, (0, 1), x118, (0, 2, 3, 4), (2, 4, 3, 1)) * -1.0 - del x118 - t2new_abab += einsum(t1.bb, (0, 1), x119, (2, 0, 3, 4), (2, 3, 4, 1)) * -1.0 - del x119 - x120 = np.zeros((nocc[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) - x120 += einsum(v.aabb.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) - x120 += einsum(t1.aa, (0, 1), v.aabb.vvvv, (2, 1, 3, 4), (0, 2, 3, 4)) - t2new_abab += einsum(t1.bb, (0, 1), x120, (2, 3, 1, 4), (2, 0, 3, 4)) - del x120 - x121 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x121 += einsum(v.aabb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x121 += einsum(t1.bb, (0, 1), v.aabb.oovv, (2, 3, 4, 1), (2, 3, 0, 4)) - t2new_abab += einsum(t1.aa, (0, 1), x121, (0, 2, 3, 4), (2, 3, 1, 4)) * -1.0 - del x121 - x122 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x122 += einsum(t1.bb, (0, 1), v.bbbb.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) - x123 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x123 += einsum(t2.abab, (0, 1, 2, 3), x99, (0, 4, 2, 5), (4, 1, 3, 5)) - del x99 - x124 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x124 += einsum(t2.bbbb, (0, 1, 2, 3), (0, 1, 2, 3)) - x124 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1)) * -0.5 - x125 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x125 += einsum(x124, (0, 1, 2, 3), x28, (0, 4, 2, 5), (4, 1, 5, 3)) * 2.0 - del x28, x124 - x126 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x126 += einsum(t2.bbbb, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (4, 0, 5, 2)) - x127 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x127 += einsum(v.aabb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x127 += einsum(x126, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x126 - x128 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x128 += einsum(t2.abab, (0, 1, 2, 3), x127, (0, 4, 2, 5), (1, 4, 3, 5)) - del x127 - x129 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x129 += einsum(t1.bb, (0, 1), x92, (2, 1, 3, 4), (0, 2, 3, 4)) - del x92 - x130 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x130 += einsum(t2.bbbb, (0, 1, 2, 3), x129, (4, 1, 5, 3), (0, 4, 2, 5)) * -2.0 - del x129 - x131 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x131 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovoo, (0, 2, 4, 5), (1, 4, 5, 3)) - x132 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x132 += einsum(t1.bb, (0, 1), v.bbbb.ooov, (2, 3, 4, 1), (0, 2, 3, 4)) - x133 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x133 += einsum(t1.bb, (0, 1), x132, (2, 3, 4, 0), (2, 4, 3, 1)) - x134 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x134 += einsum(t1.bb, (0, 1), x122, (2, 3, 1, 4), (0, 2, 3, 4)) - x135 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x135 += einsum(t2.abab, (0, 1, 2, 3), x23, (0, 4, 5, 2), (4, 1, 5, 3)) - del x23 - x136 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x136 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x136 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x137 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x137 += einsum(t2.bbbb, (0, 1, 2, 3), x136, (4, 5, 1, 3), (0, 4, 5, 2)) * 2.0 - del x136 - x138 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x138 += einsum(x25, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x138 += einsum(x25, (0, 1, 2, 3), (0, 2, 1, 3)) - x139 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x139 += einsum(t2.bbbb, (0, 1, 2, 3), x138, (4, 1, 5, 3), (0, 4, 5, 2)) * 2.0 - del x138 - x140 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x140 += einsum(x131, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x131 - x140 += einsum(x133, (0, 1, 2, 3), (0, 2, 1, 3)) - del x133 - x140 += einsum(x134, (0, 1, 2, 3), (0, 2, 1, 3)) - del x134 - x140 += einsum(x135, (0, 1, 2, 3), (0, 2, 1, 3)) - del x135 - x140 += einsum(x137, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x137 - x140 += einsum(x139, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - del x139 - x141 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x141 += einsum(t1.bb, (0, 1), x140, (2, 0, 3, 4), (2, 3, 1, 4)) - del x140 - x142 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x142 += einsum(x122, (0, 1, 2, 3), (0, 1, 2, 3)) - del x122 - x142 += einsum(x123, (0, 1, 2, 3), (0, 1, 2, 3)) - del x123 - x142 += einsum(x125, (0, 1, 2, 3), (1, 0, 3, 2)) - del x125 - x142 += einsum(x128, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x128 - x142 += einsum(x130, (0, 1, 2, 3), (1, 0, 2, 3)) - del x130 - x142 += einsum(x141, (0, 1, 2, 3), (0, 1, 2, 3)) - del x141 - t2new_bbbb += einsum(x142, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_bbbb += einsum(x142, (0, 1, 2, 3), (0, 1, 3, 2)) - t2new_bbbb += einsum(x142, (0, 1, 2, 3), (1, 0, 2, 3)) - t2new_bbbb += einsum(x142, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x142 - x143 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x143 += einsum(f.bb.vv, (0, 1), t2.bbbb, (2, 3, 4, 1), (2, 3, 0, 4)) - x144 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x144 += einsum(t2.abab, (0, 1, 2, 3), v.aaaa.ovov, (4, 5, 0, 2), (4, 1, 5, 3)) - x145 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x145 += einsum(t2.abab, (0, 1, 2, 3), x144, (0, 4, 2, 5), (4, 1, 5, 3)) - del x144 - x146 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x146 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x146 += einsum(x143, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 - del x143 - x146 += einsum(x145, (0, 1, 2, 3), (1, 0, 3, 2)) - del x145 - t2new_bbbb += einsum(x146, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new_bbbb += einsum(x146, (0, 1, 2, 3), (0, 1, 2, 3)) - del x146 - x147 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x147 += einsum(t1.bb, (0, 1), v.bbbb.ooov, (2, 0, 3, 4), (2, 3, 1, 4)) - x148 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x148 += einsum(t2.bbbb, (0, 1, 2, 3), x132, (4, 5, 0, 1), (4, 5, 2, 3)) - del x132 - x149 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x149 += einsum(f.bb.oo, (0, 1), (0, 1)) - x149 += einsum(x34, (0, 1), (0, 1)) - del x34 - x150 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x150 += einsum(x149, (0, 1), t2.bbbb, (2, 1, 3, 4), (2, 0, 3, 4)) * -2.0 - del x149 - x151 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x151 += einsum(x29, (0, 1), (1, 0)) - del x29 - x151 += einsum(x30, (0, 1), (1, 0)) * 0.5 - del x30 - x151 += einsum(x31, (0, 1), (1, 0)) - del x31 - x151 += einsum(x33, (0, 1), (1, 0)) * -1.0 - del x33 - x152 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x152 += einsum(x151, (0, 1), t2.bbbb, (2, 0, 3, 4), (2, 1, 3, 4)) * -2.0 - del x151 - x153 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x153 += einsum(x147, (0, 1, 2, 3), (0, 1, 3, 2)) - del x147 - x153 += einsum(x148, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - del x148 - x153 += einsum(x150, (0, 1, 2, 3), (1, 0, 3, 2)) - del x150 - x153 += einsum(x152, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x152 - t2new_bbbb += einsum(x153, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new_bbbb += einsum(x153, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x153 - x154 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x154 += einsum(t1.bb, (0, 1), v.bbbb.vvvv, (2, 3, 4, 1), (0, 2, 3, 4)) - x155 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x155 += einsum(t1.bb, (0, 1), x154, (2, 3, 1, 4), (0, 2, 3, 4)) - del x154 - x156 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x156 += einsum(t2.bbbb, (0, 1, 2, 3), x91, (4, 1, 5, 3), (0, 4, 2, 5)) - del x91 - x157 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x157 += einsum(x107, (0, 1), (1, 0)) * -1.0 - del x107 - x157 += einsum(x108, (0, 1), (1, 0)) * 0.5 - del x108 - x157 += einsum(x109, (0, 1), (1, 0)) - del x109 - x157 += einsum(x110, (0, 1), (1, 0)) * -1.0 - del x110 - x158 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x158 += einsum(x157, (0, 1), t2.bbbb, (2, 3, 4, 0), (2, 3, 4, 1)) * -2.0 - del x157 - x159 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x159 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovvv, (4, 3, 5, 2), (0, 1, 4, 5)) * -1.0 - x160 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x160 += einsum(x13, (0, 1), t2.bbbb, (2, 3, 4, 1), (0, 2, 3, 4)) * -2.0 - del x13 - x161 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x161 += einsum(t1.bb, (0, 1), x25, (2, 3, 4, 1), (2, 0, 4, 3)) - del x25 - x162 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x162 += einsum(v.bbbb.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x162 += einsum(x161, (0, 1, 2, 3), (3, 1, 2, 0)) - del x161 - t2new_bbbb += einsum(t2.bbbb, (0, 1, 2, 3), x162, (0, 4, 1, 5), (4, 5, 2, 3)) * 2.0 - x163 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x163 += einsum(t1.bb, (0, 1), x162, (0, 2, 3, 4), (2, 3, 4, 1)) - del x162 - x164 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x164 += einsum(x159, (0, 1, 2, 3), (2, 1, 0, 3)) * -2.0 - del x159 - x164 += einsum(x160, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x160 - x164 += einsum(x163, (0, 1, 2, 3), (1, 0, 2, 3)) - del x163 - x165 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x165 += einsum(t1.bb, (0, 1), x164, (0, 2, 3, 4), (2, 3, 1, 4)) - del x164 - x166 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x166 += einsum(x155, (0, 1, 2, 3), (0, 1, 2, 3)) - del x155 - x166 += einsum(x156, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.0 - del x156 - x166 += einsum(x158, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x158 - x166 += einsum(x165, (0, 1, 2, 3), (1, 0, 2, 3)) - del x165 - t2new_bbbb += einsum(x166, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new_bbbb += einsum(x166, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x166 - x167 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x167 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 2, 5, 3), (0, 1, 4, 5)) - x168 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x168 += einsum(t1.bb, (0, 1), x167, (2, 3, 0, 4), (2, 3, 4, 1)) * -1.0 - del x167 - x168 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 - x168 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) * 0.5 - t2new_bbbb += einsum(t1.bb, (0, 1), x168, (2, 3, 0, 4), (2, 3, 1, 4)) * 2.0 - del x168 - - t1new.aa = t1new_aa - t1new.bb = t1new_bb - t2new.aaaa = t2new_aaaa - t2new.abab = t2new_abab - t2new.bbbb = t2new_bbbb - - return {"t1new": t1new, "t2new": t2new} - diff --git a/ebcc/codegen/UDFCC2.py b/ebcc/codegen/UDFCC2.py deleted file mode 100644 index dc1ded26..00000000 --- a/ebcc/codegen/UDFCC2.py +++ /dev/null @@ -1,2363 +0,0 @@ -# Code generated for ebcc. - -from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, Namespace -from ebcc.precision import types - -def energy(f=None, v=None, nocc=None, nvir=None, naux=None, t1=None, t2=None, **kwargs): - # energy - x0 = np.zeros((naux,), dtype=types[float]) - x0 += einsum(t1.aa, (0, 1), v.aaa.xov, (2, 0, 1), (2,)) - x1 = np.zeros((naux,), dtype=types[float]) - x1 += einsum(x0, (0,), (0,)) - x1 += einsum(t1.bb, (0, 1), v.abb.xov, (2, 0, 1), (2,)) * 0.5 - x2 = np.zeros((nocc[1], nvir[1], naux), dtype=types[float]) - x2 += einsum(v.aaa.xov, (0, 1, 2), t2.abab, (1, 3, 2, 4), (3, 4, 0)) - x2 += einsum(v.abb.xov, (0, 1, 2), t2.bbbb, (3, 1, 4, 2), (3, 4, 0)) - x2 += einsum(x1, (0,), t1.bb, (1, 2), (1, 2, 0)) - del x1 - e_cc = 0 - e_cc += einsum(v.abb.xov, (0, 1, 2), x2, (1, 2, 0), ()) - del x2 - x3 = np.zeros((nocc[1], nocc[1], naux), dtype=types[float]) - x3 += einsum(t1.bb, (0, 1), v.abb.xov, (2, 3, 1), (0, 3, 2)) - x4 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x4 += einsum(f.bb.ov, (0, 1), (0, 1)) * 2.0 - x4 += einsum(v.abb.xov, (0, 1, 2), x3, (1, 3, 0), (3, 2)) * -1.0 - del x3 - e_cc += einsum(t1.bb, (0, 1), x4, (0, 1), ()) * 0.5 - del x4 - x5 = np.zeros((nocc[0], nocc[0], naux), dtype=types[float]) - x5 += einsum(t1.aa, (0, 1), v.aaa.xov, (2, 3, 1), (0, 3, 2)) - x6 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x6 += einsum(f.aa.ov, (0, 1), (0, 1)) * 2.0 - x6 += einsum(v.aaa.xov, (0, 1, 2), x5, (1, 3, 0), (3, 2)) * -1.0 - del x5 - e_cc += einsum(t1.aa, (0, 1), x6, (0, 1), ()) * 0.5 - del x6 - x7 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x7 += einsum(v.aaa.xov, (0, 1, 2), t2.aaaa, (3, 1, 4, 2), (3, 4, 0)) - x7 += einsum(x0, (0,), t1.aa, (1, 2), (1, 2, 0)) * 0.5 - del x0 - e_cc += einsum(v.aaa.xov, (0, 1, 2), x7, (1, 2, 0), ()) - del x7 - - return e_cc - -def update_amps(f=None, v=None, nocc=None, nvir=None, naux=None, t1=None, t2=None, **kwargs): - t1new = Namespace() - t2new = Namespace() - - # T amplitudes - t1new_aa = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - t1new_aa += einsum(f.aa.vv, (0, 1), t1.aa, (2, 1), (2, 0)) - t1new_aa += einsum(f.aa.ov, (0, 1), (0, 1)) - t1new_bb = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - t1new_bb += einsum(f.bb.vv, (0, 1), t1.bb, (2, 1), (2, 0)) - t1new_bb += einsum(f.bb.ov, (0, 1), (0, 1)) - x0 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x0 += einsum(t1.aa, (0, 1), v.aaa.xoo, (2, 3, 0), (3, 1, 2)) - x1 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x1 += einsum(v.abb.xov, (0, 1, 2), t2.abab, (3, 1, 4, 2), (3, 4, 0)) - x2 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x2 += einsum(t2.aaaa, (0, 1, 2, 3), (0, 1, 2, 3)) - x2 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 3, 1)) * -0.5 - x3 = np.zeros((naux,), dtype=types[float]) - x3 += einsum(t1.aa, (0, 1), v.aaa.xov, (2, 0, 1), (2,)) - x4 = np.zeros((naux,), dtype=types[float]) - x4 += einsum(t1.bb, (0, 1), v.abb.xov, (2, 0, 1), (2,)) - x5 = np.zeros((naux,), dtype=types[float]) - x5 += einsum(x3, (0,), (0,)) - del x3 - x5 += einsum(x4, (0,), (0,)) - del x4 - x6 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x6 += einsum(x0, (0, 1, 2), (0, 1, 2)) * -1.0 - x6 += einsum(x1, (0, 1, 2), (0, 1, 2)) - x6 += einsum(v.aaa.xov, (0, 1, 2), x2, (1, 3, 2, 4), (3, 4, 0)) * 2.0 - del x2 - x6 += einsum(x5, (0,), t1.aa, (1, 2), (1, 2, 0)) - t1new_aa += einsum(v.aaa.xvv, (0, 1, 2), x6, (3, 2, 0), (3, 1)) - del x6 - x7 = np.zeros((nocc[0], nocc[0], naux), dtype=types[float]) - x7 += einsum(t1.aa, (0, 1), v.aaa.xov, (2, 3, 1), (0, 3, 2)) - x8 = np.zeros((nocc[0], nocc[0], naux), dtype=types[float]) - x8 += einsum(v.aaa.xoo, (0, 1, 2), (1, 2, 0)) - x8 += einsum(x7, (0, 1, 2), (1, 0, 2)) - x9 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x9 += einsum(v.aaa.xov, (0, 1, 2), x8, (3, 4, 0), (1, 3, 4, 2)) - t1new_aa += einsum(t2.aaaa, (0, 1, 2, 3), x9, (0, 1, 4, 3), (4, 2)) * 2.0 - x10 = np.zeros((nocc[0], nocc[0], naux), dtype=types[float]) - x10 += einsum(v.aaa.xoo, (0, 1, 2), (1, 2, 0)) - x10 += einsum(x7, (0, 1, 2), (0, 1, 2)) - x11 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x11 += einsum(v.abb.xov, (0, 1, 2), x10, (3, 4, 0), (4, 3, 1, 2)) - del x10 - t1new_aa += einsum(t2.abab, (0, 1, 2, 3), x11, (0, 4, 1, 3), (4, 2)) * -1.0 - del x11 - x12 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x12 += einsum(v.aaa.xov, (0, 1, 2), x7, (1, 3, 0), (3, 2)) - x13 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x13 += einsum(x5, (0,), v.aaa.xov, (0, 1, 2), (1, 2)) - t1new_aa += einsum(x13, (0, 1), (0, 1)) - x14 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x14 += einsum(f.aa.ov, (0, 1), (0, 1)) - x14 += einsum(x12, (0, 1), (0, 1)) * -1.0 - x14 += einsum(x13, (0, 1), (0, 1)) - del x13 - t1new_aa += einsum(x14, (0, 1), t2.aaaa, (2, 0, 3, 1), (2, 3)) * 2.0 - t1new_bb += einsum(x14, (0, 1), t2.abab, (0, 2, 1, 3), (2, 3)) - del x14 - x15 = np.zeros((nocc[1], nocc[1], naux), dtype=types[float]) - x15 += einsum(t1.bb, (0, 1), v.abb.xov, (2, 3, 1), (0, 3, 2)) - x16 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x16 += einsum(v.abb.xov, (0, 1, 2), x15, (1, 3, 0), (3, 2)) - x17 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x17 += einsum(x5, (0,), v.abb.xov, (0, 1, 2), (1, 2)) - t1new_bb += einsum(x17, (0, 1), (0, 1)) - x18 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x18 += einsum(f.bb.ov, (0, 1), (0, 1)) - x18 += einsum(x16, (0, 1), (0, 1)) * -1.0 - x18 += einsum(x17, (0, 1), (0, 1)) - del x17 - t1new_aa += einsum(x18, (0, 1), t2.abab, (2, 0, 3, 1), (2, 3)) - t1new_bb += einsum(x18, (0, 1), t2.bbbb, (2, 0, 3, 1), (2, 3)) * 2.0 - del x18 - x19 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x19 += einsum(x0, (0, 1, 2), (0, 1, 2)) * -1.0 - x19 += einsum(v.aaa.xov, (0, 1, 2), t2.aaaa, (3, 1, 4, 2), (3, 4, 0)) * 2.0 - x19 += einsum(x1, (0, 1, 2), (0, 1, 2)) - del x1 - x19 += einsum(x5, (0,), t1.aa, (1, 2), (1, 2, 0)) - x20 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x20 += einsum(f.aa.ov, (0, 1), (0, 1)) - x20 += einsum(x12, (0, 1), (0, 1)) * -1.0 - del x12 - x21 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x21 += einsum(f.aa.oo, (0, 1), (0, 1)) * 0.5 - x21 += einsum(v.aaa.xov, (0, 1, 2), x19, (3, 2, 0), (1, 3)) * 0.5 - del x19 - x21 += einsum(x5, (0,), v.aaa.xoo, (0, 1, 2), (1, 2)) * 0.5 - x21 += einsum(t1.aa, (0, 1), x20, (2, 1), (2, 0)) * 0.5 - del x20 - t1new_aa += einsum(t1.aa, (0, 1), x21, (0, 2), (2, 1)) * -2.0 - del x21 - x22 = np.zeros((nocc[1], nvir[1], naux), dtype=types[float]) - x22 += einsum(t1.bb, (0, 1), v.abb.xoo, (2, 3, 0), (3, 1, 2)) - x23 = np.zeros((nocc[1], nvir[1], naux), dtype=types[float]) - x23 += einsum(v.aaa.xov, (0, 1, 2), t2.abab, (1, 3, 2, 4), (3, 4, 0)) - x24 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x24 += einsum(t2.bbbb, (0, 1, 2, 3), (0, 1, 2, 3)) - x24 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1)) * -0.5 - x25 = np.zeros((nocc[1], nvir[1], naux), dtype=types[float]) - x25 += einsum(x22, (0, 1, 2), (0, 1, 2)) * -1.0 - x25 += einsum(x23, (0, 1, 2), (0, 1, 2)) - x25 += einsum(v.abb.xov, (0, 1, 2), x24, (1, 3, 2, 4), (3, 4, 0)) * 2.0 - del x24 - x25 += einsum(x5, (0,), t1.bb, (1, 2), (1, 2, 0)) - t1new_bb += einsum(v.abb.xvv, (0, 1, 2), x25, (3, 2, 0), (3, 1)) - del x25 - x26 = np.zeros((nocc[1], nocc[1], naux), dtype=types[float]) - x26 += einsum(v.abb.xoo, (0, 1, 2), (1, 2, 0)) - x26 += einsum(x15, (0, 1, 2), (0, 1, 2)) - x27 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x27 += einsum(v.aaa.xov, (0, 1, 2), x26, (3, 4, 0), (1, 4, 3, 2)) - del x26 - t1new_bb += einsum(t2.abab, (0, 1, 2, 3), x27, (0, 1, 4, 2), (4, 3)) * -1.0 - del x27 - x28 = np.zeros((nocc[1], nocc[1], naux), dtype=types[float]) - x28 += einsum(v.abb.xoo, (0, 1, 2), (1, 2, 0)) - x28 += einsum(x15, (0, 1, 2), (1, 0, 2)) - x29 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x29 += einsum(v.abb.xov, (0, 1, 2), x28, (3, 4, 0), (1, 3, 4, 2)) - t1new_bb += einsum(t2.bbbb, (0, 1, 2, 3), x29, (0, 1, 4, 3), (4, 2)) * 2.0 - x30 = np.zeros((nocc[1], nvir[1], naux), dtype=types[float]) - x30 += einsum(x22, (0, 1, 2), (0, 1, 2)) * -1.0 - x30 += einsum(x23, (0, 1, 2), (0, 1, 2)) - del x23 - x30 += einsum(v.abb.xov, (0, 1, 2), t2.bbbb, (3, 1, 4, 2), (3, 4, 0)) * 2.0 - x30 += einsum(x5, (0,), t1.bb, (1, 2), (1, 2, 0)) - x31 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x31 += einsum(f.bb.ov, (0, 1), (0, 1)) - x31 += einsum(x16, (0, 1), (0, 1)) * -1.0 - del x16 - x32 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x32 += einsum(f.bb.oo, (0, 1), (0, 1)) - x32 += einsum(v.abb.xov, (0, 1, 2), x30, (3, 2, 0), (1, 3)) - del x30 - x32 += einsum(x5, (0,), v.abb.xoo, (0, 1, 2), (1, 2)) - del x5 - x32 += einsum(t1.bb, (0, 1), x31, (2, 1), (2, 0)) - del x31 - t1new_bb += einsum(t1.bb, (0, 1), x32, (0, 2), (2, 1)) * -1.0 - del x32 - x33 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x33 += einsum(f.aa.ov, (0, 1), t1.aa, (2, 1), (0, 2)) - x34 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x34 += einsum(f.aa.oo, (0, 1), (0, 1)) - x34 += einsum(x33, (0, 1), (0, 1)) - del x33 - t2new_abab = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - t2new_abab += einsum(x34, (0, 1), t2.abab, (0, 2, 3, 4), (1, 2, 3, 4)) * -1.0 - x35 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x35 += einsum(x34, (0, 1), t2.aaaa, (2, 0, 3, 4), (2, 1, 3, 4)) * -2.0 - del x34 - t2new_aaaa = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - t2new_aaaa += einsum(x35, (0, 1, 2, 3), (1, 0, 3, 2)) - t2new_aaaa += einsum(x35, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x35 - x36 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x36 += einsum(t1.aa, (0, 1), v.aaa.xvv, (2, 3, 1), (0, 3, 2)) - x37 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x37 += einsum(x36, (0, 1, 2), x36, (3, 4, 2), (0, 3, 1, 4)) - x38 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x38 += einsum(f.aa.ov, (0, 1), t2.aaaa, (2, 3, 4, 1), (0, 2, 3, 4)) - x39 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x39 += einsum(v.aaa.xoo, (0, 1, 2), v.aaa.xoo, (0, 3, 4), (1, 3, 4, 2)) - x40 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x40 += einsum(x7, (0, 1, 2), x7, (3, 4, 2), (0, 3, 1, 4)) - x41 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x41 += einsum(x39, (0, 1, 2, 3), (3, 2, 1, 0)) - del x39 - x41 += einsum(x40, (0, 1, 2, 3), (2, 3, 1, 0)) - del x40 - x42 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x42 += einsum(t1.aa, (0, 1), x41, (0, 2, 3, 4), (2, 3, 4, 1)) * 0.5 - del x41 - x43 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x43 += einsum(x38, (0, 1, 2, 3), (0, 2, 1, 3)) - del x38 - x43 += einsum(x42, (0, 1, 2, 3), (0, 2, 1, 3)) - del x42 - x44 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x44 += einsum(t1.aa, (0, 1), x43, (0, 2, 3, 4), (2, 3, 1, 4)) * 2.0 - del x43 - x45 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x45 += einsum(x37, (0, 1, 2, 3), (0, 1, 2, 3)) - del x37 - x45 += einsum(x44, (0, 1, 2, 3), (1, 0, 2, 3)) - del x44 - t2new_aaaa += einsum(x45, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new_aaaa += einsum(x45, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x45 - x46 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x46 += einsum(v.aaa.xov, (0, 1, 2), (1, 2, 0)) * -1.0 - x46 += einsum(x0, (0, 1, 2), (0, 1, 2)) - del x0 - x47 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x47 += einsum(x36, (0, 1, 2), x46, (3, 4, 2), (0, 3, 1, 4)) - del x46 - x48 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x48 += einsum(v.aaa.xoo, (0, 1, 2), x7, (3, 4, 0), (3, 1, 2, 4)) - x49 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x49 += einsum(t1.aa, (0, 1), x48, (2, 3, 4, 0), (2, 3, 4, 1)) - del x48 - x50 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x50 += einsum(x36, (0, 1, 2), x7, (3, 4, 2), (3, 0, 4, 1)) - del x7 - x51 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x51 += einsum(x49, (0, 1, 2, 3), (0, 2, 1, 3)) - del x49 - x51 += einsum(x50, (0, 1, 2, 3), (0, 1, 2, 3)) - del x50 - x51 += einsum(x9, (0, 1, 2, 3), (2, 0, 1, 3)) - del x9 - x52 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x52 += einsum(t1.aa, (0, 1), x51, (2, 3, 0, 4), (2, 3, 1, 4)) - del x51 - x53 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x53 += einsum(x47, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x47 - x53 += einsum(x52, (0, 1, 2, 3), (0, 1, 2, 3)) - del x52 - t2new_aaaa += einsum(x53, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_aaaa += einsum(x53, (0, 1, 2, 3), (0, 1, 3, 2)) - t2new_aaaa += einsum(x53, (0, 1, 2, 3), (1, 0, 2, 3)) - t2new_aaaa += einsum(x53, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x53 - x54 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x54 += einsum(f.aa.vv, (0, 1), t2.aaaa, (2, 3, 4, 1), (2, 3, 0, 4)) - x55 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x55 += einsum(v.aaa.xov, (0, 1, 2), v.aaa.xov, (0, 3, 4), (1, 3, 2, 4)) - x56 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x56 += einsum(x54, (0, 1, 2, 3), (1, 0, 2, 3)) * -2.0 - del x54 - x56 += einsum(x55, (0, 1, 2, 3), (1, 0, 2, 3)) - del x55 - t2new_aaaa += einsum(x56, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_aaaa += einsum(x56, (0, 1, 2, 3), (0, 1, 3, 2)) - del x56 - x57 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x57 += einsum(v.aaa.xov, (0, 1, 2), (1, 2, 0)) - x57 += einsum(x36, (0, 1, 2), (0, 1, 2)) - del x36 - x57 += einsum(t1.aa, (0, 1), x8, (0, 2, 3), (2, 1, 3)) * -1.0 - del x8 - x58 = np.zeros((nocc[1], nvir[1], naux), dtype=types[float]) - x58 += einsum(t1.bb, (0, 1), v.abb.xvv, (2, 3, 1), (0, 3, 2)) - x59 = np.zeros((nocc[1], nvir[1], naux), dtype=types[float]) - x59 += einsum(v.abb.xov, (0, 1, 2), (1, 2, 0)) - x59 += einsum(x58, (0, 1, 2), (0, 1, 2)) - x59 += einsum(t1.bb, (0, 1), x28, (0, 2, 3), (2, 1, 3)) * -1.0 - del x28 - t2new_abab += einsum(x57, (0, 1, 2), x59, (3, 4, 2), (0, 3, 1, 4)) - del x57, x59 - x60 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x60 += einsum(f.bb.vv, (0, 1), (0, 1)) - x60 += einsum(f.bb.ov, (0, 1), t1.bb, (0, 2), (1, 2)) * -1.0 - t2new_abab += einsum(x60, (0, 1), t2.abab, (2, 3, 4, 0), (2, 3, 4, 1)) - del x60 - x61 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x61 += einsum(f.aa.vv, (0, 1), (0, 1)) - x61 += einsum(f.aa.ov, (0, 1), t1.aa, (0, 2), (1, 2)) * -1.0 - t2new_abab += einsum(x61, (0, 1), t2.abab, (2, 3, 0, 4), (2, 3, 1, 4)) - del x61 - x62 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x62 += einsum(f.bb.ov, (0, 1), t1.bb, (2, 1), (0, 2)) - x63 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x63 += einsum(f.bb.oo, (0, 1), (0, 1)) - x63 += einsum(x62, (0, 1), (0, 1)) - del x62 - t2new_abab += einsum(x63, (0, 1), t2.abab, (2, 0, 3, 4), (2, 1, 3, 4)) * -1.0 - x64 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x64 += einsum(x63, (0, 1), t2.bbbb, (2, 0, 3, 4), (2, 1, 3, 4)) * -2.0 - del x63 - t2new_bbbb = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - t2new_bbbb += einsum(x64, (0, 1, 2, 3), (1, 0, 3, 2)) - t2new_bbbb += einsum(x64, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x64 - x65 = np.zeros((nocc[1], nvir[1], naux), dtype=types[float]) - x65 += einsum(v.abb.xov, (0, 1, 2), (1, 2, 0)) * -1.0 - x65 += einsum(x22, (0, 1, 2), (0, 1, 2)) - del x22 - x66 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x66 += einsum(x58, (0, 1, 2), x65, (3, 4, 2), (0, 3, 1, 4)) - del x65 - x67 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x67 += einsum(v.abb.xoo, (0, 1, 2), x15, (3, 4, 0), (3, 1, 2, 4)) - x68 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x68 += einsum(t1.bb, (0, 1), x67, (2, 3, 4, 0), (2, 3, 4, 1)) - del x67 - x69 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x69 += einsum(x15, (0, 1, 2), x58, (3, 4, 2), (0, 3, 1, 4)) - x70 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x70 += einsum(x68, (0, 1, 2, 3), (0, 2, 1, 3)) - del x68 - x70 += einsum(x69, (0, 1, 2, 3), (0, 1, 2, 3)) - del x69 - x70 += einsum(x29, (0, 1, 2, 3), (2, 0, 1, 3)) - del x29 - x71 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x71 += einsum(t1.bb, (0, 1), x70, (2, 3, 0, 4), (2, 3, 1, 4)) - del x70 - x72 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x72 += einsum(x66, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x66 - x72 += einsum(x71, (0, 1, 2, 3), (0, 1, 2, 3)) - del x71 - t2new_bbbb += einsum(x72, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_bbbb += einsum(x72, (0, 1, 2, 3), (0, 1, 3, 2)) - t2new_bbbb += einsum(x72, (0, 1, 2, 3), (1, 0, 2, 3)) - t2new_bbbb += einsum(x72, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x72 - x73 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x73 += einsum(x58, (0, 1, 2), x58, (3, 4, 2), (0, 3, 1, 4)) - del x58 - x74 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x74 += einsum(f.bb.ov, (0, 1), t2.bbbb, (2, 3, 4, 1), (0, 2, 3, 4)) - x75 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x75 += einsum(v.abb.xoo, (0, 1, 2), v.abb.xoo, (0, 3, 4), (1, 3, 4, 2)) - x76 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x76 += einsum(x15, (0, 1, 2), x15, (3, 4, 2), (0, 3, 1, 4)) - del x15 - x77 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x77 += einsum(x75, (0, 1, 2, 3), (3, 2, 1, 0)) - del x75 - x77 += einsum(x76, (0, 1, 2, 3), (2, 3, 1, 0)) - del x76 - x78 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x78 += einsum(t1.bb, (0, 1), x77, (0, 2, 3, 4), (2, 3, 4, 1)) * 0.5 - del x77 - x79 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x79 += einsum(x74, (0, 1, 2, 3), (0, 2, 1, 3)) - del x74 - x79 += einsum(x78, (0, 1, 2, 3), (0, 2, 1, 3)) - del x78 - x80 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x80 += einsum(t1.bb, (0, 1), x79, (0, 2, 3, 4), (2, 3, 1, 4)) * 2.0 - del x79 - x81 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x81 += einsum(x73, (0, 1, 2, 3), (0, 1, 2, 3)) - del x73 - x81 += einsum(x80, (0, 1, 2, 3), (1, 0, 2, 3)) - del x80 - t2new_bbbb += einsum(x81, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new_bbbb += einsum(x81, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x81 - x82 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x82 += einsum(f.bb.vv, (0, 1), t2.bbbb, (2, 3, 4, 1), (2, 3, 0, 4)) - x83 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x83 += einsum(v.abb.xov, (0, 1, 2), v.abb.xov, (0, 3, 4), (1, 3, 2, 4)) - x84 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x84 += einsum(x82, (0, 1, 2, 3), (1, 0, 2, 3)) * -2.0 - del x82 - x84 += einsum(x83, (0, 1, 2, 3), (1, 0, 2, 3)) - del x83 - t2new_bbbb += einsum(x84, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_bbbb += einsum(x84, (0, 1, 2, 3), (0, 1, 3, 2)) - del x84 - - t1new.aa = t1new_aa - t1new.bb = t1new_bb - t2new.aaaa = t2new_aaaa - t2new.abab = t2new_abab - t2new.bbbb = t2new_bbbb - - return {"t1new": t1new, "t2new": t2new} - -def update_lams(f=None, v=None, nocc=None, nvir=None, naux=None, t1=None, t2=None, l1=None, l2=None, **kwargs): - l1new = Namespace() - l2new = Namespace() - - # L amplitudes - l1new_aa = np.zeros((nvir[0], nocc[0]), dtype=types[float]) - l1new_aa += einsum(f.aa.ov, (0, 1), (1, 0)) - l1new_bb = np.zeros((nvir[1], nocc[1]), dtype=types[float]) - l1new_bb += einsum(f.bb.ov, (0, 1), (1, 0)) - x0 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x0 += einsum(t1.aa, (0, 1), l2.aaaa, (2, 1, 3, 4), (3, 4, 0, 2)) - x1 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x1 += einsum(t1.bb, (0, 1), l2.abab, (2, 1, 3, 4), (3, 4, 0, 2)) - x2 = np.zeros((nocc[0], nocc[0], naux), dtype=types[float]) - x2 += einsum(t1.aa, (0, 1), v.aaa.xov, (2, 3, 1), (0, 3, 2)) - x3 = np.zeros((nocc[1], nocc[1], naux), dtype=types[float]) - x3 += einsum(t1.bb, (0, 1), v.abb.xov, (2, 3, 1), (0, 3, 2)) - x4 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x4 += einsum(t1.aa, (0, 1), v.aaa.xvv, (2, 3, 1), (0, 3, 2)) - x5 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x5 += einsum(v.aaa.xov, (0, 1, 2), t2.aaaa, (3, 1, 4, 2), (3, 4, 0)) - x6 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x6 += einsum(v.abb.xov, (0, 1, 2), t2.abab, (3, 1, 4, 2), (3, 4, 0)) - x7 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x7 += einsum(v.aaa.xov, (0, 1, 2), (1, 2, 0)) - x7 += einsum(x4, (0, 1, 2), (0, 1, 2)) - x7 += einsum(x5, (0, 1, 2), (0, 1, 2)) * 2.0 - x7 += einsum(x6, (0, 1, 2), (0, 1, 2)) - x8 = np.zeros((nocc[1], nvir[1], naux), dtype=types[float]) - x8 += einsum(t1.bb, (0, 1), v.abb.xvv, (2, 3, 1), (0, 3, 2)) - x9 = np.zeros((nocc[1], nvir[1], naux), dtype=types[float]) - x9 += einsum(v.aaa.xov, (0, 1, 2), t2.abab, (1, 3, 2, 4), (3, 4, 0)) - x10 = np.zeros((nocc[1], nvir[1], naux), dtype=types[float]) - x10 += einsum(v.abb.xov, (0, 1, 2), t2.bbbb, (3, 1, 4, 2), (3, 4, 0)) - x11 = np.zeros((nocc[1], nvir[1], naux), dtype=types[float]) - x11 += einsum(v.abb.xov, (0, 1, 2), (1, 2, 0)) - x11 += einsum(x8, (0, 1, 2), (0, 1, 2)) - x11 += einsum(x9, (0, 1, 2), (0, 1, 2)) - x11 += einsum(x10, (0, 1, 2), (0, 1, 2)) * 2.0 - x12 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x12 += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (2, 3, 4, 1), (0, 4)) - x13 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x13 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 4, 1), (0, 4)) - x14 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x14 += einsum(x12, (0, 1), (0, 1)) - x14 += einsum(x13, (0, 1), (0, 1)) * 0.5 - x15 = np.zeros((nocc[0], nocc[0], naux), dtype=types[float]) - x15 += einsum(v.aaa.xoo, (0, 1, 2), (1, 2, 0)) - x15 += einsum(x2, (0, 1, 2), (0, 1, 2)) - x16 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x16 += einsum(v.aaa.xoo, (0, 1, 2), x0, (3, 1, 2, 4), (3, 4, 0)) * -1.0 - x16 += einsum(v.abb.xoo, (0, 1, 2), x1, (3, 1, 2, 4), (3, 4, 0)) * -0.5 - x16 += einsum(x2, (0, 1, 2), x0, (0, 3, 1, 4), (3, 4, 2)) - x16 += einsum(x3, (0, 1, 2), x1, (3, 0, 1, 4), (3, 4, 2)) * -0.5 - x16 += einsum(x7, (0, 1, 2), l2.aaaa, (3, 1, 4, 0), (4, 3, 2)) - x16 += einsum(x11, (0, 1, 2), l2.abab, (3, 1, 4, 0), (4, 3, 2)) * 0.5 - x16 += einsum(x14, (0, 1), v.aaa.xov, (2, 3, 1), (3, 0, 2)) * -1.0 - del x14 - x16 += einsum(l1.aa, (0, 1), x15, (1, 2, 3), (2, 0, 3)) * -0.5 - l1new_aa += einsum(v.aaa.xvv, (0, 1, 2), x16, (3, 2, 0), (1, 3)) * 2.0 - del x16 - x17 = np.zeros((nocc[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) - x17 += einsum(v.aaa.xov, (0, 1, 2), v.abb.xvv, (0, 3, 4), (1, 2, 3, 4)) - x18 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x18 += einsum(v.aaa.xoo, (0, 1, 2), v.aaa.xov, (0, 3, 4), (1, 2, 3, 4)) - x19 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x19 += einsum(v.aaa.xov, (0, 1, 2), x2, (3, 4, 0), (3, 1, 4, 2)) - x20 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x20 += einsum(x18, (0, 1, 2, 3), (1, 0, 2, 3)) - x20 += einsum(x18, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - x20 += einsum(x19, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x20 += einsum(x19, (0, 1, 2, 3), (2, 0, 1, 3)) - x21 = np.zeros((nocc[1], nvir[1], naux), dtype=types[float]) - x21 += einsum(v.abb.xov, (0, 1, 2), (1, 2, 0)) - x21 += einsum(x8, (0, 1, 2), (0, 1, 2)) - x22 = np.zeros((nocc[1], nocc[1], naux), dtype=types[float]) - x22 += einsum(v.abb.xoo, (0, 1, 2), (1, 2, 0)) - x22 += einsum(x3, (0, 1, 2), (0, 1, 2)) - x23 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x23 += einsum(v.aaa.xov, (0, 1, 2), x22, (3, 4, 0), (1, 4, 3, 2)) - x24 = np.zeros((nocc[0], nocc[0], naux), dtype=types[float]) - x24 += einsum(v.aaa.xoo, (0, 1, 2), (1, 2, 0)) - x24 += einsum(x2, (0, 1, 2), (1, 0, 2)) - x25 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x25 += einsum(v.abb.xov, (0, 1, 2), x24, (3, 4, 0), (3, 4, 1, 2)) - l2new_abab = np.zeros((nvir[0], nvir[1], nocc[0], nocc[1]), dtype=types[float]) - l2new_abab += einsum(x1, (0, 1, 2, 3), x25, (4, 0, 2, 5), (3, 5, 4, 1)) - l2new_abab += einsum(l1.aa, (0, 1), x25, (2, 1, 3, 4), (0, 4, 2, 3)) * -1.0 - x26 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x26 += einsum(v.aaa.xov, (0, 1, 2), x2, (1, 3, 0), (3, 2)) - x27 = np.zeros((naux,), dtype=types[float]) - x27 += einsum(t1.aa, (0, 1), v.aaa.xov, (2, 0, 1), (2,)) - x28 = np.zeros((naux,), dtype=types[float]) - x28 += einsum(t1.bb, (0, 1), v.abb.xov, (2, 0, 1), (2,)) - x29 = np.zeros((naux,), dtype=types[float]) - x29 += einsum(x27, (0,), (0,)) - del x27 - x29 += einsum(x28, (0,), (0,)) - del x28 - x30 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x30 += einsum(x29, (0,), v.aaa.xov, (0, 1, 2), (1, 2)) - x31 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x31 += einsum(f.aa.ov, (0, 1), (0, 1)) - x31 += einsum(x26, (0, 1), (0, 1)) * -1.0 - x31 += einsum(x30, (0, 1), (0, 1)) - l2new_abab += einsum(l1.bb, (0, 1), x31, (2, 3), (3, 0, 2, 1)) - x32 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x32 += einsum(v.aaa.xov, (0, 1, 2), v.abb.xov, (0, 3, 4), (1, 3, 2, 4)) - x33 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x33 += einsum(t2.abab, (0, 1, 2, 3), x32, (4, 5, 2, 3), (0, 4, 1, 5)) - x34 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x34 += einsum(x33, (0, 1, 2, 3), (0, 1, 3, 2)) - x34 += einsum(x22, (0, 1, 2), x24, (3, 4, 2), (4, 3, 1, 0)) - x35 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x35 += einsum(t2.abab, (0, 1, 2, 3), x17, (4, 2, 3, 5), (4, 0, 1, 5)) - x35 += einsum(t2.abab, (0, 1, 2, 3), x20, (0, 4, 5, 2), (5, 4, 1, 3)) * -1.0 - del x20 - x35 += einsum(x15, (0, 1, 2), x21, (3, 4, 2), (1, 0, 3, 4)) - x35 += einsum(t2.abab, (0, 1, 2, 3), x23, (4, 1, 5, 2), (4, 0, 5, 3)) * -1.0 - del x23 - x35 += einsum(t2.bbbb, (0, 1, 2, 3), x25, (4, 5, 1, 3), (4, 5, 0, 2)) * 2.0 - x35 += einsum(x31, (0, 1), t2.abab, (2, 3, 1, 4), (0, 2, 3, 4)) - x35 += einsum(t1.bb, (0, 1), x34, (2, 3, 0, 4), (3, 2, 4, 1)) * -1.0 - del x34 - l1new_aa += einsum(l2.abab, (0, 1, 2, 3), x35, (4, 2, 3, 1), (0, 4)) * -1.0 - del x35 - x36 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x36 += einsum(v.aaa.xov, (0, 1, 2), v.aaa.xvv, (0, 3, 4), (1, 2, 3, 4)) - x37 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x37 += einsum(x18, (0, 1, 2, 3), (1, 0, 2, 3)) - x37 += einsum(x18, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - x37 += einsum(x19, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x37 += einsum(x19, (0, 1, 2, 3), (0, 2, 1, 3)) - x38 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x38 += einsum(v.aaa.xoo, (0, 1, 2), v.aaa.xoo, (0, 3, 4), (1, 3, 4, 2)) - x39 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x39 += einsum(v.aaa.xov, (0, 1, 2), v.aaa.xov, (0, 3, 4), (1, 3, 2, 4)) - x40 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x40 += einsum(x2, (0, 1, 2), x2, (3, 4, 2), (0, 3, 1, 4)) - x41 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x41 += einsum(v.aaa.xoo, (0, 1, 2), x2, (3, 4, 0), (3, 1, 2, 4)) - x42 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x42 += einsum(x38, (0, 1, 2, 3), (3, 2, 1, 0)) - x42 += einsum(t2.aaaa, (0, 1, 2, 3), x39, (4, 5, 3, 2), (5, 4, 0, 1)) * -1.0 - x42 += einsum(x40, (0, 1, 2, 3), (2, 3, 1, 0)) - x42 += einsum(x41, (0, 1, 2, 3), (1, 3, 0, 2)) - x42 += einsum(x41, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - x43 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x43 += einsum(v.aaa.xoo, (0, 1, 2), x4, (3, 4, 0), (1, 2, 3, 4)) * -1.0 - x43 += einsum(t2.aaaa, (0, 1, 2, 3), x36, (4, 2, 5, 3), (4, 0, 1, 5)) * -1.0 - x43 += einsum(x2, (0, 1, 2), x4, (3, 4, 2), (1, 3, 0, 4)) - x43 += einsum(t2.aaaa, (0, 1, 2, 3), x37, (4, 1, 5, 3), (5, 0, 4, 2)) * -2.0 - del x37 - x43 += einsum(t2.abab, (0, 1, 2, 3), x25, (4, 5, 1, 3), (4, 0, 5, 2)) - del x25 - x43 += einsum(v.aaa.xov, (0, 1, 2), x15, (3, 4, 0), (4, 1, 3, 2)) - x43 += einsum(x31, (0, 1), t2.aaaa, (2, 3, 4, 1), (0, 2, 3, 4)) - x43 += einsum(t1.aa, (0, 1), x42, (0, 2, 3, 4), (2, 4, 3, 1)) * -1.0 - del x42 - l1new_aa += einsum(l2.aaaa, (0, 1, 2, 3), x43, (4, 2, 3, 1), (0, 4)) * 2.0 - del x43 - x44 = np.zeros((nocc[0], nocc[0], nvir[1], nvir[1]), dtype=types[float]) - x44 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 0, 5), (2, 4, 1, 5)) - x45 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x45 += einsum(t1.aa, (0, 1), l2.abab, (1, 2, 3, 4), (3, 0, 4, 2)) - l2new_abab += einsum(x17, (0, 1, 2, 3), x45, (4, 0, 5, 2), (1, 3, 4, 5)) * -1.0 - del x17 - l2new_abab += einsum(x31, (0, 1), x45, (2, 0, 3, 4), (1, 4, 2, 3)) * -1.0 - x46 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x46 += einsum(t1.aa, (0, 1), x0, (2, 3, 4, 1), (3, 2, 4, 0)) - l2new_aaaa = np.zeros((nvir[0], nvir[0], nocc[0], nocc[0]), dtype=types[float]) - l2new_aaaa += einsum(x39, (0, 1, 2, 3), x46, (4, 5, 0, 1), (3, 2, 5, 4)) * 2.0 - x47 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x47 += einsum(t1.aa, (0, 1), x1, (2, 3, 4, 1), (2, 0, 3, 4)) - l2new_abab += einsum(x32, (0, 1, 2, 3), x47, (4, 0, 5, 1), (2, 3, 4, 5)) - del x32 - x48 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x48 += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 5, 0, 1), (2, 3, 4, 5)) - x49 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x49 += einsum(t2.aaaa, (0, 1, 2, 3), x0, (4, 1, 5, 3), (4, 5, 0, 2)) * -1.0 - x50 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x50 += einsum(t2.abab, (0, 1, 2, 3), x45, (4, 5, 1, 3), (4, 5, 0, 2)) - x51 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x51 += einsum(x49, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x49 - x51 += einsum(x50, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - del x50 - x52 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x52 += einsum(l1.aa, (0, 1), t2.aaaa, (2, 3, 4, 0), (1, 2, 3, 4)) - x52 += einsum(x0, (0, 1, 2, 3), (1, 0, 2, 3)) - x52 += einsum(t1.aa, (0, 1), x48, (2, 0, 3, 4), (2, 3, 4, 1)) - x52 += einsum(x51, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x52 += einsum(x51, (0, 1, 2, 3), (0, 2, 1, 3)) - del x51 - x53 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x53 += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 3, 5, 1), (2, 4, 0, 5)) - x53 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 5, 1), (2, 4, 0, 5)) * 0.25 - x54 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x54 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 5, 0, 1), (2, 4, 3, 5)) - x55 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x55 += einsum(l1.aa, (0, 1), t2.abab, (2, 3, 0, 4), (1, 2, 3, 4)) - x55 += einsum(x45, (0, 1, 2, 3), (0, 1, 2, 3)) - x55 += einsum(t2.abab, (0, 1, 2, 3), x0, (4, 0, 5, 2), (4, 5, 1, 3)) * -2.0 - x55 += einsum(t2.bbbb, (0, 1, 2, 3), x45, (4, 5, 1, 3), (4, 5, 0, 2)) * 2.0 - x55 += einsum(t2.abab, (0, 1, 2, 3), x1, (4, 1, 5, 2), (4, 0, 5, 3)) * -1.0 - x55 += einsum(t1.bb, (0, 1), x54, (2, 3, 0, 4), (2, 3, 4, 1)) * -1.0 - x56 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x56 += einsum(l1.aa, (0, 1), t2.aaaa, (2, 1, 3, 0), (2, 3)) - x57 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x57 += einsum(l1.bb, (0, 1), t2.abab, (2, 1, 3, 0), (2, 3)) - x58 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x58 += einsum(t2.aaaa, (0, 1, 2, 3), x0, (0, 1, 4, 3), (4, 2)) * -1.0 - x59 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x59 += einsum(t2.abab, (0, 1, 2, 3), x45, (0, 4, 1, 3), (4, 2)) - x60 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x60 += einsum(l1.aa, (0, 1), t1.aa, (2, 0), (1, 2)) - l1new_aa += einsum(x30, (0, 1), x60, (2, 0), (1, 2)) * -1.0 - x61 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x61 += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 3, 0, 1), (2, 4)) - x62 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x62 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 0, 1), (2, 4)) - x63 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x63 += einsum(x60, (0, 1), (0, 1)) - x63 += einsum(x61, (0, 1), (0, 1)) * 2.0 - x63 += einsum(x62, (0, 1), (0, 1)) - l1new_aa += einsum(f.aa.ov, (0, 1), x63, (2, 0), (1, 2)) * -1.0 - x64 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x64 += einsum(t1.aa, (0, 1), x63, (0, 2), (2, 1)) - x65 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x65 += einsum(t1.aa, (0, 1), (0, 1)) * -1.0 - x65 += einsum(x56, (0, 1), (0, 1)) * -2.0 - x65 += einsum(x57, (0, 1), (0, 1)) * -1.0 - x65 += einsum(x58, (0, 1), (0, 1)) * 2.0 - x65 += einsum(x59, (0, 1), (0, 1)) - x65 += einsum(x64, (0, 1), (0, 1)) - x66 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x66 += einsum(x48, (0, 1, 2, 3), (1, 0, 3, 2)) - del x48 - x66 += einsum(x46, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x67 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x67 += einsum(x54, (0, 1, 2, 3), (0, 1, 2, 3)) - x67 += einsum(x47, (0, 1, 2, 3), (0, 1, 2, 3)) - x68 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x68 += einsum(l1.aa, (0, 1), v.aaa.xvv, (2, 3, 0), (1, 3, 2)) - x69 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x69 += einsum(x68, (0, 1, 2), (0, 1, 2)) - x69 += einsum(x63, (0, 1), v.aaa.xov, (2, 1, 3), (0, 3, 2)) * -1.0 - del x63 - x70 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x70 += einsum(x60, (0, 1), (0, 1)) * 0.5 - x70 += einsum(x61, (0, 1), (0, 1)) - x70 += einsum(x62, (0, 1), (0, 1)) * 0.5 - x71 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x71 += einsum(x61, (0, 1), (0, 1)) - x71 += einsum(x62, (0, 1), (0, 1)) * 0.5 - x72 = np.zeros((nocc[0], nocc[0], naux), dtype=types[float]) - x72 += einsum(x4, (0, 1, 2), x0, (3, 0, 4, 1), (4, 3, 2)) * -2.0 - x72 += einsum(v.abb.xvv, (0, 1, 2), x44, (3, 4, 2, 1), (4, 3, 0)) - del x44 - x72 += einsum(x8, (0, 1, 2), x45, (3, 4, 0, 1), (4, 3, 2)) - x72 += einsum(x2, (0, 1, 2), x46, (0, 3, 1, 4), (4, 3, 2)) * -2.0 - del x46 - x72 += einsum(x3, (0, 1, 2), x47, (3, 4, 0, 1), (4, 3, 2)) * -1.0 - x72 += einsum(v.aaa.xov, (0, 1, 2), x52, (3, 1, 4, 2), (4, 3, 0)) * 2.0 - del x52 - x72 += einsum(v.aaa.xvv, (0, 1, 2), x53, (3, 4, 1, 2), (4, 3, 0)) * 4.0 - del x53 - x72 += einsum(v.abb.xov, (0, 1, 2), x55, (3, 4, 1, 2), (4, 3, 0)) - del x55 - x72 += einsum(x65, (0, 1), v.aaa.xov, (2, 3, 1), (0, 3, 2)) * -1.0 - del x65 - x72 += einsum(v.aaa.xoo, (0, 1, 2), x66, (1, 3, 2, 4), (4, 3, 0)) * -2.0 - del x66 - x72 += einsum(v.abb.xoo, (0, 1, 2), x67, (3, 4, 1, 2), (4, 3, 0)) * -1.0 - del x67 - x72 += einsum(t1.aa, (0, 1), x69, (2, 1, 3), (0, 2, 3)) - del x69 - x72 += einsum(x70, (0, 1), v.aaa.xoo, (2, 3, 0), (1, 3, 2)) * -2.0 - del x70 - x72 += einsum(x29, (0,), x71, (1, 2), (2, 1, 0)) * 2.0 - del x71 - l1new_aa += einsum(v.aaa.xov, (0, 1, 2), x72, (1, 3, 0), (2, 3)) * -1.0 - del x72 - x73 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x73 += einsum(l1.aa, (0, 1), t1.aa, (1, 2), (0, 2)) - x74 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x74 += einsum(x73, (0, 1), (0, 1)) - del x73 - x74 += einsum(x12, (0, 1), (1, 0)) * 2.0 - del x12 - x74 += einsum(x13, (0, 1), (1, 0)) - del x13 - x75 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x75 += einsum(l1.bb, (0, 1), t1.bb, (1, 2), (0, 2)) - x76 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x76 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 0, 4), (1, 4)) - x77 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x77 += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (2, 3, 4, 1), (0, 4)) - x78 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x78 += einsum(x75, (0, 1), (0, 1)) * 0.5 - del x75 - x78 += einsum(x76, (0, 1), (0, 1)) * 0.5 - x78 += einsum(x77, (0, 1), (0, 1)) - x79 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x79 += einsum(l1.aa, (0, 1), (1, 0)) * -1.0 - x79 += einsum(t1.aa, (0, 1), (0, 1)) * -1.0 - x79 += einsum(x56, (0, 1), (0, 1)) * -2.0 - del x56 - x79 += einsum(x57, (0, 1), (0, 1)) * -1.0 - del x57 - x79 += einsum(x58, (0, 1), (0, 1)) * 2.0 - del x58 - x79 += einsum(x59, (0, 1), (0, 1)) - del x59 - x79 += einsum(x64, (0, 1), (0, 1)) - del x64 - x80 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x80 += einsum(l1.aa, (0, 1), t2.abab, (1, 2, 0, 3), (2, 3)) - x81 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x81 += einsum(l1.bb, (0, 1), t2.bbbb, (2, 1, 3, 0), (2, 3)) - x82 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x82 += einsum(t2.abab, (0, 1, 2, 3), x1, (0, 1, 4, 2), (4, 3)) - x83 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x83 += einsum(t1.bb, (0, 1), l2.bbbb, (2, 1, 3, 4), (3, 4, 0, 2)) - x84 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x84 += einsum(t2.bbbb, (0, 1, 2, 3), x83, (0, 1, 4, 3), (4, 2)) * -1.0 - x85 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x85 += einsum(l1.bb, (0, 1), t1.bb, (2, 0), (1, 2)) - x86 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x86 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 1), (3, 4)) - x87 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x87 += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 3, 0, 1), (2, 4)) - x88 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x88 += einsum(x85, (0, 1), (0, 1)) * 0.5 - x88 += einsum(x86, (0, 1), (0, 1)) * 0.5 - x88 += einsum(x87, (0, 1), (0, 1)) - x89 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x89 += einsum(t1.bb, (0, 1), x88, (0, 2), (2, 1)) * 2.0 - x90 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x90 += einsum(l1.bb, (0, 1), (1, 0)) * -1.0 - x90 += einsum(t1.bb, (0, 1), (0, 1)) * -1.0 - x90 += einsum(x80, (0, 1), (0, 1)) * -1.0 - x90 += einsum(x81, (0, 1), (0, 1)) * -2.0 - x90 += einsum(x82, (0, 1), (0, 1)) - x90 += einsum(x84, (0, 1), (0, 1)) * 2.0 - x90 += einsum(x89, (0, 1), (0, 1)) - x91 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x91 += einsum(x60, (0, 1), (0, 1)) * 0.5 - x91 += einsum(x61, (0, 1), (0, 1)) - del x61 - x91 += einsum(x62, (0, 1), (1, 0)) * 0.5 - del x62 - x92 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x92 += einsum(x85, (0, 1), (0, 1)) - x92 += einsum(x86, (0, 1), (1, 0)) - x92 += einsum(x87, (0, 1), (0, 1)) * 2.0 - x93 = np.zeros((naux,), dtype=types[float]) - x93 += einsum(x74, (0, 1), v.aaa.xvv, (2, 0, 1), (2,)) - x93 += einsum(x78, (0, 1), v.abb.xvv, (2, 1, 0), (2,)) * 2.0 - x93 += einsum(x79, (0, 1), v.aaa.xov, (2, 0, 1), (2,)) * -1.0 - x93 += einsum(x90, (0, 1), v.abb.xov, (2, 0, 1), (2,)) * -1.0 - x93 += einsum(x91, (0, 1), v.aaa.xoo, (2, 1, 0), (2,)) * -2.0 - x93 += einsum(x92, (0, 1), v.abb.xoo, (2, 1, 0), (2,)) * -1.0 - l1new_aa += einsum(x93, (0,), v.aaa.xov, (0, 1, 2), (2, 1)) - del x93 - x94 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x94 += einsum(x29, (0,), v.aaa.xvv, (0, 1, 2), (1, 2)) - x95 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x95 += einsum(f.aa.vv, (0, 1), (0, 1)) - x95 += einsum(x94, (0, 1), (1, 0)) - l1new_aa += einsum(l1.aa, (0, 1), x95, (0, 2), (2, 1)) - del x95 - x96 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x96 += einsum(t1.aa, (0, 1), v.aaa.xoo, (2, 3, 0), (3, 1, 2)) * -1.0 - x96 += einsum(x5, (0, 1, 2), (0, 1, 2)) * 2.0 - del x5 - x96 += einsum(x6, (0, 1, 2), (0, 1, 2)) - del x6 - x97 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x97 += einsum(f.aa.oo, (0, 1), (0, 1)) * 0.5 - x97 += einsum(v.aaa.xov, (0, 1, 2), x96, (3, 2, 0), (3, 1)) * 0.5 - del x96 - x97 += einsum(x29, (0,), v.aaa.xoo, (0, 1, 2), (1, 2)) * 0.5 - x97 += einsum(t1.aa, (0, 1), x31, (2, 1), (0, 2)) * 0.5 - l1new_aa += einsum(l1.aa, (0, 1), x97, (1, 2), (0, 2)) * -2.0 - del x97 - x98 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x98 += einsum(x76, (0, 1), (0, 1)) - del x76 - x98 += einsum(x77, (0, 1), (0, 1)) * 2.0 - del x77 - x99 = np.zeros((nocc[1], nvir[1], naux), dtype=types[float]) - x99 += einsum(v.aaa.xoo, (0, 1, 2), x45, (1, 2, 3, 4), (3, 4, 0)) * -0.5 - x99 += einsum(v.abb.xoo, (0, 1, 2), x83, (1, 3, 2, 4), (3, 4, 0)) - x99 += einsum(x2, (0, 1, 2), x45, (0, 1, 3, 4), (3, 4, 2)) * -0.5 - x99 += einsum(x3, (0, 1, 2), x83, (3, 0, 1, 4), (3, 4, 2)) * -1.0 - x99 += einsum(x7, (0, 1, 2), l2.abab, (1, 3, 0, 4), (4, 3, 2)) * 0.5 - del x7 - x99 += einsum(x11, (0, 1, 2), l2.bbbb, (3, 1, 4, 0), (4, 3, 2)) - del x11 - x99 += einsum(x98, (0, 1), v.abb.xov, (2, 3, 1), (3, 0, 2)) * -0.5 - del x98 - x99 += einsum(l1.bb, (0, 1), x22, (1, 2, 3), (2, 0, 3)) * -0.5 - l1new_bb += einsum(v.abb.xvv, (0, 1, 2), x99, (3, 2, 0), (1, 3)) * 2.0 - del x99 - x100 = np.zeros((nocc[1], nvir[0], nvir[0], nvir[1]), dtype=types[float]) - x100 += einsum(v.abb.xov, (0, 1, 2), v.aaa.xvv, (0, 3, 4), (1, 3, 4, 2)) - l2new_abab += einsum(x1, (0, 1, 2, 3), x100, (2, 4, 3, 5), (4, 5, 0, 1)) * -1.0 - x101 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x101 += einsum(v.abb.xoo, (0, 1, 2), v.abb.xov, (0, 3, 4), (1, 2, 3, 4)) - x102 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x102 += einsum(v.abb.xov, (0, 1, 2), x3, (3, 4, 0), (3, 1, 4, 2)) - x103 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x103 += einsum(x101, (0, 1, 2, 3), (1, 0, 2, 3)) - x103 += einsum(x101, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - x103 += einsum(x102, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x103 += einsum(x102, (0, 1, 2, 3), (2, 0, 1, 3)) - x104 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x104 += einsum(v.aaa.xov, (0, 1, 2), (1, 2, 0)) - x104 += einsum(x4, (0, 1, 2), (0, 1, 2)) - x105 = np.zeros((nocc[1], nocc[1], naux), dtype=types[float]) - x105 += einsum(v.abb.xoo, (0, 1, 2), (1, 2, 0)) - x105 += einsum(x3, (0, 1, 2), (1, 0, 2)) - x106 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x106 += einsum(v.aaa.xov, (0, 1, 2), x105, (3, 4, 0), (1, 3, 4, 2)) - l2new_abab += einsum(x106, (0, 1, 2, 3), x45, (4, 0, 2, 5), (3, 5, 4, 1)) - l2new_abab += einsum(l1.bb, (0, 1), x106, (2, 3, 1, 4), (4, 0, 2, 3)) * -1.0 - x107 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x107 += einsum(v.abb.xov, (0, 1, 2), x15, (3, 4, 0), (4, 3, 1, 2)) - x108 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x108 += einsum(v.abb.xov, (0, 1, 2), x3, (1, 3, 0), (3, 2)) - x109 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x109 += einsum(x29, (0,), v.abb.xov, (0, 1, 2), (1, 2)) - l1new_bb += einsum(x109, (0, 1), x85, (2, 0), (1, 2)) * -1.0 - x110 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x110 += einsum(f.bb.ov, (0, 1), (0, 1)) - x110 += einsum(x108, (0, 1), (0, 1)) * -1.0 - x110 += einsum(x109, (0, 1), (0, 1)) - l2new_abab += einsum(x110, (0, 1), x1, (2, 3, 0, 4), (4, 1, 2, 3)) * -1.0 - l2new_abab += einsum(l1.aa, (0, 1), x110, (2, 3), (0, 3, 1, 2)) - x111 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x111 += einsum(x33, (0, 1, 2, 3), (1, 0, 2, 3)) - del x33 - x111 += einsum(x105, (0, 1, 2), x15, (3, 4, 2), (4, 3, 1, 0)) - del x15 - x112 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x112 += einsum(t2.abab, (0, 1, 2, 3), x100, (4, 2, 5, 3), (0, 4, 1, 5)) - del x100 - x112 += einsum(t2.abab, (0, 1, 2, 3), x103, (1, 4, 5, 3), (0, 5, 4, 2)) * -1.0 - del x103 - x112 += einsum(x104, (0, 1, 2), x22, (3, 4, 2), (0, 4, 3, 1)) - x112 += einsum(t2.aaaa, (0, 1, 2, 3), x106, (1, 4, 5, 3), (0, 4, 5, 2)) * 2.0 - x112 += einsum(t2.abab, (0, 1, 2, 3), x107, (0, 4, 5, 3), (4, 5, 1, 2)) * -1.0 - del x107 - x112 += einsum(x110, (0, 1), t2.abab, (2, 3, 4, 1), (2, 0, 3, 4)) - x112 += einsum(t1.aa, (0, 1), x111, (0, 2, 3, 4), (2, 4, 3, 1)) * -1.0 - del x111 - l1new_bb += einsum(l2.abab, (0, 1, 2, 3), x112, (2, 4, 3, 0), (1, 4)) * -1.0 - del x112 - x113 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x113 += einsum(v.abb.xov, (0, 1, 2), v.abb.xvv, (0, 3, 4), (1, 2, 3, 4)) - x114 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x114 += einsum(x101, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x114 += einsum(x101, (0, 1, 2, 3), (1, 2, 0, 3)) - x114 += einsum(x102, (0, 1, 2, 3), (0, 1, 2, 3)) - x114 += einsum(x102, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x115 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x115 += einsum(v.abb.xoo, (0, 1, 2), v.abb.xoo, (0, 3, 4), (1, 3, 4, 2)) - x116 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x116 += einsum(v.abb.xov, (0, 1, 2), v.abb.xov, (0, 3, 4), (1, 3, 2, 4)) - x117 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x117 += einsum(x3, (0, 1, 2), x3, (3, 4, 2), (0, 3, 1, 4)) - x118 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x118 += einsum(v.abb.xoo, (0, 1, 2), x3, (3, 4, 0), (3, 1, 2, 4)) - x119 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x119 += einsum(x115, (0, 1, 2, 3), (3, 2, 1, 0)) - x119 += einsum(t2.bbbb, (0, 1, 2, 3), x116, (4, 5, 2, 3), (5, 4, 0, 1)) - x119 += einsum(x117, (0, 1, 2, 3), (2, 3, 1, 0)) - x119 += einsum(x118, (0, 1, 2, 3), (1, 3, 0, 2)) - x119 += einsum(x118, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - x120 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x120 += einsum(v.abb.xoo, (0, 1, 2), x8, (3, 4, 0), (1, 2, 3, 4)) * -1.0 - x120 += einsum(t2.bbbb, (0, 1, 2, 3), x113, (4, 2, 3, 5), (4, 0, 1, 5)) * -1.0 - x120 += einsum(x3, (0, 1, 2), x8, (3, 4, 2), (1, 3, 0, 4)) - x120 += einsum(t2.bbbb, (0, 1, 2, 3), x114, (4, 5, 1, 3), (5, 0, 4, 2)) * -2.0 - del x114 - x120 += einsum(t2.abab, (0, 1, 2, 3), x106, (0, 4, 5, 2), (4, 1, 5, 3)) - del x106 - x120 += einsum(v.abb.xov, (0, 1, 2), x22, (3, 4, 0), (4, 1, 3, 2)) - del x22 - x120 += einsum(x110, (0, 1), t2.bbbb, (2, 3, 4, 1), (0, 2, 3, 4)) - x120 += einsum(t1.bb, (0, 1), x119, (0, 2, 3, 4), (2, 4, 3, 1)) * -1.0 - del x119 - l1new_bb += einsum(l2.bbbb, (0, 1, 2, 3), x120, (4, 2, 3, 1), (0, 4)) * 2.0 - del x120 - x121 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x121 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 5, 1), (3, 4, 0, 5)) - x122 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x122 += einsum(t1.bb, (0, 1), x83, (2, 3, 4, 1), (2, 3, 0, 4)) - l2new_bbbb = np.zeros((nvir[1], nvir[1], nocc[1], nocc[1]), dtype=types[float]) - l2new_bbbb += einsum(x116, (0, 1, 2, 3), x122, (4, 5, 0, 1), (3, 2, 5, 4)) * 2.0 - x123 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x123 += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 5, 0, 1), (2, 3, 4, 5)) - x124 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x124 += einsum(t2.abab, (0, 1, 2, 3), x1, (0, 4, 5, 2), (4, 5, 1, 3)) - x125 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x125 += einsum(t2.bbbb, (0, 1, 2, 3), x83, (4, 1, 5, 3), (4, 5, 0, 2)) * -1.0 - x126 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x126 += einsum(x124, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - del x124 - x126 += einsum(x125, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x125 - x127 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x127 += einsum(l1.bb, (0, 1), t2.bbbb, (2, 3, 4, 0), (1, 2, 3, 4)) - x127 += einsum(x83, (0, 1, 2, 3), (1, 0, 2, 3)) - x127 += einsum(t1.bb, (0, 1), x123, (2, 0, 3, 4), (2, 3, 4, 1)) - x127 += einsum(x126, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x127 += einsum(x126, (0, 1, 2, 3), (0, 2, 1, 3)) - del x126 - x128 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x128 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 5), (3, 4, 1, 5)) - x128 += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 3, 5, 1), (2, 4, 0, 5)) * 4.0 - x129 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x129 += einsum(l1.bb, (0, 1), t2.abab, (2, 3, 4, 0), (2, 1, 3, 4)) - x129 += einsum(x1, (0, 1, 2, 3), (0, 1, 2, 3)) - x129 += einsum(t2.aaaa, (0, 1, 2, 3), x1, (1, 4, 5, 3), (0, 4, 5, 2)) * 2.0 - x129 += einsum(t2.abab, (0, 1, 2, 3), x45, (0, 4, 5, 3), (4, 5, 1, 2)) * -1.0 - x129 += einsum(t1.aa, (0, 1), x54, (0, 2, 3, 4), (2, 3, 4, 1)) * -1.0 - x129 += einsum(t2.abab, (0, 1, 2, 3), x83, (4, 1, 5, 3), (0, 4, 5, 2)) * -2.0 - x130 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x130 += einsum(t1.bb, (0, 1), (0, 1)) * -1.0 - x130 += einsum(x80, (0, 1), (0, 1)) * -1.0 - del x80 - x130 += einsum(x81, (0, 1), (0, 1)) * -2.0 - del x81 - x130 += einsum(x82, (0, 1), (0, 1)) - del x82 - x130 += einsum(x84, (0, 1), (0, 1)) * 2.0 - del x84 - x130 += einsum(x89, (0, 1), (0, 1)) - del x89 - x131 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x131 += einsum(x54, (0, 1, 2, 3), (0, 1, 2, 3)) - del x54 - x131 += einsum(x47, (0, 1, 2, 3), (1, 0, 2, 3)) - x132 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x132 += einsum(x123, (0, 1, 2, 3), (1, 0, 3, 2)) - del x123 - x132 += einsum(x122, (0, 1, 2, 3), (2, 1, 0, 3)) - x133 = np.zeros((nocc[1], nvir[1], naux), dtype=types[float]) - x133 += einsum(l1.bb, (0, 1), v.abb.xvv, (2, 3, 0), (1, 3, 2)) - x134 = np.zeros((nocc[1], nvir[1], naux), dtype=types[float]) - x134 += einsum(x133, (0, 1, 2), (0, 1, 2)) - x134 += einsum(x88, (0, 1), v.abb.xov, (2, 1, 3), (0, 3, 2)) * -2.0 - del x88 - x135 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x135 += einsum(x85, (0, 1), (0, 1)) - x135 += einsum(x86, (0, 1), (0, 1)) - x135 += einsum(x87, (0, 1), (0, 1)) * 2.0 - l1new_bb += einsum(f.bb.ov, (0, 1), x135, (2, 0), (1, 2)) * -1.0 - x136 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x136 += einsum(x86, (0, 1), (0, 1)) * 0.5 - del x86 - x136 += einsum(x87, (0, 1), (0, 1)) - del x87 - x137 = np.zeros((nocc[1], nocc[1], naux), dtype=types[float]) - x137 += einsum(v.aaa.xvv, (0, 1, 2), x121, (3, 4, 1, 2), (4, 3, 0)) * 0.25 - del x121 - x137 += einsum(x4, (0, 1, 2), x1, (0, 3, 4, 1), (4, 3, 2)) * 0.25 - x137 += einsum(x8, (0, 1, 2), x83, (3, 0, 4, 1), (4, 3, 2)) * -0.5 - x137 += einsum(x2, (0, 1, 2), x47, (0, 1, 3, 4), (4, 3, 2)) * -0.25 - del x47 - x137 += einsum(x3, (0, 1, 2), x122, (0, 3, 1, 4), (4, 3, 2)) * -0.5 - del x122 - x137 += einsum(v.abb.xov, (0, 1, 2), x127, (3, 1, 4, 2), (4, 3, 0)) * 0.5 - del x127 - x137 += einsum(v.abb.xvv, (0, 1, 2), x128, (3, 4, 1, 2), (4, 3, 0)) * 0.25 - del x128 - x137 += einsum(v.aaa.xov, (0, 1, 2), x129, (1, 3, 4, 2), (4, 3, 0)) * 0.25 - del x129 - x137 += einsum(x130, (0, 1), v.abb.xov, (2, 3, 1), (0, 3, 2)) * -0.25 - del x130 - x137 += einsum(v.aaa.xoo, (0, 1, 2), x131, (1, 2, 3, 4), (4, 3, 0)) * -0.25 - del x131 - x137 += einsum(v.abb.xoo, (0, 1, 2), x132, (1, 3, 2, 4), (4, 3, 0)) * -0.5 - del x132 - x137 += einsum(t1.bb, (0, 1), x134, (2, 1, 3), (0, 2, 3)) * 0.25 - del x134 - x137 += einsum(x135, (0, 1), v.abb.xoo, (2, 3, 0), (1, 3, 2)) * -0.25 - del x135 - x137 += einsum(x29, (0,), x136, (1, 2), (2, 1, 0)) * 0.5 - del x136 - l1new_bb += einsum(v.abb.xov, (0, 1, 2), x137, (1, 3, 0), (2, 3)) * -4.0 - del x137 - x138 = np.zeros((naux,), dtype=types[float]) - x138 += einsum(x74, (0, 1), v.aaa.xvv, (2, 0, 1), (2,)) * 0.5 - del x74 - x138 += einsum(x78, (0, 1), v.abb.xvv, (2, 1, 0), (2,)) - del x78 - x138 += einsum(x79, (0, 1), v.aaa.xov, (2, 0, 1), (2,)) * -0.5 - del x79 - x138 += einsum(x90, (0, 1), v.abb.xov, (2, 0, 1), (2,)) * -0.5 - del x90 - x138 += einsum(x91, (0, 1), v.aaa.xoo, (2, 1, 0), (2,)) * -1.0 - del x91 - x138 += einsum(x92, (0, 1), v.abb.xoo, (2, 1, 0), (2,)) * -0.5 - del x92 - l1new_bb += einsum(x138, (0,), v.abb.xov, (0, 1, 2), (2, 1)) * 2.0 - del x138 - x139 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x139 += einsum(x29, (0,), v.abb.xvv, (0, 1, 2), (1, 2)) - x140 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x140 += einsum(f.bb.vv, (0, 1), (0, 1)) - x140 += einsum(x139, (0, 1), (1, 0)) - l1new_bb += einsum(l1.bb, (0, 1), x140, (0, 2), (2, 1)) - del x140 - x141 = np.zeros((nocc[1], nvir[1], naux), dtype=types[float]) - x141 += einsum(t1.bb, (0, 1), v.abb.xoo, (2, 3, 0), (3, 1, 2)) * -0.5 - x141 += einsum(x9, (0, 1, 2), (0, 1, 2)) * 0.5 - del x9 - x141 += einsum(x10, (0, 1, 2), (0, 1, 2)) - del x10 - x142 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x142 += einsum(x29, (0,), v.abb.xoo, (0, 1, 2), (1, 2)) - x143 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x143 += einsum(t1.bb, (0, 1), x110, (2, 1), (2, 0)) - del x110 - x144 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x144 += einsum(f.bb.oo, (0, 1), (0, 1)) - x144 += einsum(v.abb.xov, (0, 1, 2), x141, (3, 2, 0), (3, 1)) * 2.0 - del x141 - x144 += einsum(x142, (0, 1), (1, 0)) - x144 += einsum(x143, (0, 1), (1, 0)) - l1new_bb += einsum(l1.bb, (0, 1), x144, (1, 2), (0, 2)) * -1.0 - del x144 - x145 = np.zeros((nvir[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x145 += einsum(v.aaa.xvv, (0, 1, 2), v.aaa.xvv, (0, 3, 4), (1, 3, 4, 2)) - l2new_aaaa += einsum(l2.aaaa, (0, 1, 2, 3), x145, (4, 5, 0, 1), (4, 5, 2, 3)) * -2.0 - del x145 - x146 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x146 += einsum(v.abb.xoo, (0, 1, 2), v.aaa.xov, (0, 3, 4), (3, 1, 2, 4)) - l2new_abab += einsum(x146, (0, 1, 2, 3), x83, (4, 1, 2, 5), (3, 5, 0, 4)) * -2.0 - x147 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x147 += einsum(x1, (0, 1, 2, 3), x146, (4, 1, 2, 5), (0, 4, 3, 5)) - del x146 - x148 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x148 += einsum(v.aaa.xov, (0, 1, 2), x3, (3, 4, 0), (1, 3, 4, 2)) - l2new_abab += einsum(x148, (0, 1, 2, 3), x83, (4, 1, 2, 5), (3, 5, 0, 4)) * -2.0 - x149 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x149 += einsum(x1, (0, 1, 2, 3), x148, (4, 1, 2, 5), (0, 4, 3, 5)) - del x148 - x150 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x150 += einsum(x104, (0, 1, 2), l2.aaaa, (3, 1, 4, 0), (4, 3, 2)) - x151 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x151 += einsum(x21, (0, 1, 2), l2.abab, (3, 1, 4, 0), (4, 3, 2)) * 0.5 - x152 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x152 += einsum(x150, (0, 1, 2), (0, 1, 2)) - x152 += einsum(x151, (0, 1, 2), (0, 1, 2)) - x153 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x153 += einsum(v.aaa.xov, (0, 1, 2), x152, (3, 4, 0), (3, 1, 4, 2)) * 2.0 - del x152 - x154 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x154 += einsum(v.aaa.xvv, (0, 1, 2), x24, (3, 4, 0), (3, 4, 1, 2)) - l2new_abab += einsum(l2.abab, (0, 1, 2, 3), x154, (4, 2, 5, 0), (5, 1, 4, 3)) * -1.0 - x155 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x155 += einsum(l2.aaaa, (0, 1, 2, 3), x154, (4, 3, 5, 1), (4, 2, 5, 0)) * 2.0 - del x154 - x156 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x156 += einsum(x60, (0, 1), v.aaa.xov, (2, 1, 3), (0, 3, 2)) - del x60 - x157 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x157 += einsum(x68, (0, 1, 2), (0, 1, 2)) - x157 += einsum(x156, (0, 1, 2), (0, 1, 2)) * -1.0 - x158 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x158 += einsum(v.aaa.xov, (0, 1, 2), x157, (3, 4, 0), (3, 1, 4, 2)) - del x157 - x159 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x159 += einsum(x19, (0, 1, 2, 3), (0, 1, 2, 3)) - x159 += einsum(x19, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - l2new_abab += einsum(x159, (0, 1, 2, 3), x45, (0, 2, 4, 5), (3, 5, 1, 4)) * -1.0 - x160 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x160 += einsum(x0, (0, 1, 2, 3), x159, (0, 4, 2, 5), (4, 1, 5, 3)) * 2.0 - del x159 - x161 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x161 += einsum(x18, (0, 1, 2, 3), (1, 0, 2, 3)) - x161 += einsum(x18, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - x162 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x162 += einsum(x0, (0, 1, 2, 3), x161, (0, 2, 4, 5), (4, 1, 5, 3)) * 2.0 - del x161 - x163 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x163 += einsum(x18, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x163 += einsum(x19, (0, 1, 2, 3), (0, 1, 2, 3)) - del x19 - x164 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x164 += einsum(l1.aa, (0, 1), x163, (1, 2, 3, 4), (2, 3, 4, 0)) - del x163 - x165 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x165 += einsum(x26, (0, 1), (0, 1)) * -1.0 - del x26 - x165 += einsum(x30, (0, 1), (0, 1)) - del x30 - x166 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x166 += einsum(f.aa.ov, (0, 1), l1.aa, (2, 3), (0, 3, 1, 2)) - x166 += einsum(x147, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x147 - x166 += einsum(x149, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x149 - x166 += einsum(x153, (0, 1, 2, 3), (0, 1, 2, 3)) - del x153 - x166 += einsum(x155, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x155 - x166 += einsum(x158, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x158 - x166 += einsum(x160, (0, 1, 2, 3), (1, 0, 3, 2)) - del x160 - x166 += einsum(x162, (0, 1, 2, 3), (1, 0, 3, 2)) - del x162 - x166 += einsum(x164, (0, 1, 2, 3), (0, 1, 3, 2)) - del x164 - x166 += einsum(l1.aa, (0, 1), x165, (2, 3), (1, 2, 0, 3)) - l2new_aaaa += einsum(x166, (0, 1, 2, 3), (2, 3, 0, 1)) - l2new_aaaa += einsum(x166, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - l2new_aaaa += einsum(x166, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 - l2new_aaaa += einsum(x166, (0, 1, 2, 3), (3, 2, 1, 0)) - del x166 - x167 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x167 += einsum(f.aa.vv, (0, 1), l2.aaaa, (2, 1, 3, 4), (3, 4, 0, 2)) - x168 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x168 += einsum(f.aa.ov, (0, 1), x0, (2, 3, 0, 4), (2, 3, 1, 4)) - x169 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x169 += einsum(x0, (0, 1, 2, 3), x36, (2, 4, 3, 5), (1, 0, 4, 5)) - del x36 - x170 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x170 += einsum(v.aaa.xov, (0, 1, 2), x4, (1, 3, 0), (2, 3)) - del x4 - x171 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x171 += einsum(x170, (0, 1), (0, 1)) * -1.0 - x171 += einsum(x94, (0, 1), (1, 0)) - x172 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x172 += einsum(x171, (0, 1), l2.aaaa, (2, 1, 3, 4), (3, 4, 0, 2)) * -2.0 - del x171 - x173 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x173 += einsum(x165, (0, 1), x0, (2, 3, 0, 4), (2, 3, 1, 4)) * 2.0 - x174 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x174 += einsum(x167, (0, 1, 2, 3), (1, 0, 2, 3)) * -2.0 - del x167 - x174 += einsum(x39, (0, 1, 2, 3), (1, 0, 2, 3)) - del x39 - x174 += einsum(x168, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - del x168 - x174 += einsum(x169, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x169 - x174 += einsum(x172, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x172 - x174 += einsum(x173, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x173 - l2new_aaaa += einsum(x174, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 - l2new_aaaa += einsum(x174, (0, 1, 2, 3), (3, 2, 0, 1)) - del x174 - x175 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x175 += einsum(f.aa.ov, (0, 1), t1.aa, (2, 1), (0, 2)) - x176 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x176 += einsum(x175, (0, 1), l2.aaaa, (2, 3, 4, 1), (0, 4, 2, 3)) - del x175 - x177 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x177 += einsum(l2.aaaa, (0, 1, 2, 3), x41, (3, 4, 2, 5), (4, 5, 0, 1)) * -1.0 - del x41 - x178 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x178 += einsum(v.aaa.xoo, (0, 1, 2), x2, (2, 3, 0), (1, 3)) - x179 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x179 += einsum(x29, (0,), v.aaa.xoo, (0, 1, 2), (1, 2)) - del x29 - x180 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x180 += einsum(t1.aa, (0, 1), x165, (2, 1), (2, 0)) - del x165 - x181 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x181 += einsum(x178, (0, 1), (0, 1)) * -1.0 - x181 += einsum(x179, (0, 1), (1, 0)) - x181 += einsum(x180, (0, 1), (1, 0)) - del x180 - x182 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x182 += einsum(x181, (0, 1), l2.aaaa, (2, 3, 4, 0), (1, 4, 2, 3)) * -2.0 - del x181 - x183 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x183 += einsum(x176, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - del x176 - x183 += einsum(x177, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - del x177 - x183 += einsum(x182, (0, 1, 2, 3), (1, 0, 3, 2)) - del x182 - l2new_aaaa += einsum(x183, (0, 1, 2, 3), (3, 2, 0, 1)) - l2new_aaaa += einsum(x183, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 - del x183 - x184 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x184 += einsum(f.aa.oo, (0, 1), l2.aaaa, (2, 3, 4, 1), (0, 4, 2, 3)) - l2new_aaaa += einsum(x184, (0, 1, 2, 3), (3, 2, 0, 1)) * -2.0 - l2new_aaaa += einsum(x184, (0, 1, 2, 3), (3, 2, 1, 0)) * 2.0 - del x184 - x185 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x185 += einsum(x38, (0, 1, 2, 3), (3, 2, 1, 0)) - del x38 - x185 += einsum(x40, (0, 1, 2, 3), (0, 3, 1, 2)) - del x40 - l2new_aaaa += einsum(l2.aaaa, (0, 1, 2, 3), x185, (3, 4, 2, 5), (0, 1, 4, 5)) * 2.0 - del x185 - x186 = np.zeros((nvir[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) - x186 += einsum(v.aaa.xvv, (0, 1, 2), v.abb.xvv, (0, 3, 4), (1, 2, 3, 4)) - l2new_abab += einsum(l2.abab, (0, 1, 2, 3), x186, (4, 0, 1, 5), (4, 5, 2, 3)) - del x186 - x187 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x187 += einsum(v.abb.xov, (0, 1, 2), x2, (3, 4, 0), (3, 4, 1, 2)) - del x2 - l2new_abab += einsum(x0, (0, 1, 2, 3), x187, (1, 2, 4, 5), (3, 5, 0, 4)) * -2.0 - x188 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x188 += einsum(v.aaa.xoo, (0, 1, 2), v.abb.xov, (0, 3, 4), (1, 2, 3, 4)) - l2new_abab += einsum(x0, (0, 1, 2, 3), x188, (1, 2, 4, 5), (3, 5, 0, 4)) * -2.0 - del x0 - x189 = np.zeros((nocc[1], nvir[1], naux), dtype=types[float]) - x189 += einsum(x85, (0, 1), v.abb.xov, (2, 1, 3), (0, 3, 2)) - del x85 - x190 = np.zeros((nocc[1], nvir[1], naux), dtype=types[float]) - x190 += einsum(x104, (0, 1, 2), l2.abab, (1, 3, 0, 4), (4, 3, 2)) - del x104 - x191 = np.zeros((nocc[1], nvir[1], naux), dtype=types[float]) - x191 += einsum(x21, (0, 1, 2), l2.bbbb, (3, 1, 4, 0), (4, 3, 2)) * 2.0 - del x21 - x192 = np.zeros((nocc[1], nvir[1], naux), dtype=types[float]) - x192 += einsum(v.abb.xov, (0, 1, 2), (1, 2, 0)) - x192 += einsum(x133, (0, 1, 2), (0, 1, 2)) - x192 += einsum(x189, (0, 1, 2), (0, 1, 2)) * -1.0 - x192 += einsum(x190, (0, 1, 2), (0, 1, 2)) - x192 += einsum(x191, (0, 1, 2), (0, 1, 2)) - l2new_abab += einsum(v.aaa.xov, (0, 1, 2), x192, (3, 4, 0), (2, 4, 1, 3)) - del x192 - x193 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x193 += einsum(x68, (0, 1, 2), (0, 1, 2)) * 0.5 - del x68 - x193 += einsum(x156, (0, 1, 2), (0, 1, 2)) * -0.5 - del x156 - x193 += einsum(x150, (0, 1, 2), (0, 1, 2)) - del x150 - x193 += einsum(x151, (0, 1, 2), (0, 1, 2)) - del x151 - l2new_abab += einsum(v.abb.xov, (0, 1, 2), x193, (3, 4, 0), (4, 2, 3, 1)) * 2.0 - del x193 - x194 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x194 += einsum(v.aaa.xvv, (0, 1, 2), x105, (3, 4, 0), (4, 3, 1, 2)) - l2new_abab += einsum(l2.abab, (0, 1, 2, 3), x194, (3, 4, 0, 5), (5, 1, 2, 4)) * -1.0 - del x194 - x195 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x195 += einsum(v.abb.xvv, (0, 1, 2), x105, (3, 4, 0), (3, 4, 1, 2)) - l2new_abab += einsum(l2.abab, (0, 1, 2, 3), x195, (4, 3, 5, 1), (0, 5, 2, 4)) * -1.0 - x196 = np.zeros((nocc[0], nocc[0], nvir[1], nvir[1]), dtype=types[float]) - x196 += einsum(v.abb.xvv, (0, 1, 2), x24, (3, 4, 0), (4, 3, 1, 2)) - l2new_abab += einsum(l2.abab, (0, 1, 2, 3), x196, (2, 4, 1, 5), (0, 5, 4, 3)) * -1.0 - del x196 - x197 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x197 += einsum(x105, (0, 1, 2), x24, (3, 4, 2), (4, 3, 1, 0)) - del x24, x105 - l2new_abab += einsum(l2.abab, (0, 1, 2, 3), x197, (2, 4, 3, 5), (0, 1, 4, 5)) - del x197 - x198 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x198 += einsum(f.aa.vv, (0, 1), (0, 1)) - x198 += einsum(x170, (0, 1), (1, 0)) * -1.0 - del x170 - x198 += einsum(x94, (0, 1), (1, 0)) - del x94 - l2new_abab += einsum(x198, (0, 1), l2.abab, (0, 2, 3, 4), (1, 2, 3, 4)) - del x198 - x199 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x199 += einsum(v.abb.xov, (0, 1, 2), x8, (1, 3, 0), (2, 3)) - del x8 - x200 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x200 += einsum(f.bb.vv, (0, 1), (0, 1)) - x200 += einsum(x199, (0, 1), (1, 0)) * -1.0 - x200 += einsum(x139, (0, 1), (1, 0)) - l2new_abab += einsum(x200, (0, 1), l2.abab, (2, 0, 3, 4), (2, 1, 3, 4)) - del x200 - x201 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x201 += einsum(x18, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x201 += einsum(x18, (0, 1, 2, 3), (1, 2, 0, 3)) - del x18 - l2new_abab += einsum(x201, (0, 1, 2, 3), x45, (0, 2, 4, 5), (3, 5, 1, 4)) * -1.0 - del x201 - x202 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x202 += einsum(x101, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x202 += einsum(x101, (0, 1, 2, 3), (1, 2, 0, 3)) - l2new_abab += einsum(x1, (0, 1, 2, 3), x202, (1, 4, 2, 5), (3, 5, 0, 4)) * -1.0 - x203 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x203 += einsum(x102, (0, 1, 2, 3), (0, 1, 2, 3)) - x203 += einsum(x102, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - l2new_abab += einsum(x1, (0, 1, 2, 3), x203, (1, 4, 2, 5), (3, 5, 0, 4)) * -1.0 - del x1 - x204 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x204 += einsum(v.abb.xoo, (0, 1, 2), x3, (2, 3, 0), (1, 3)) - del x3 - x205 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x205 += einsum(f.bb.oo, (0, 1), (0, 1)) - x205 += einsum(x204, (0, 1), (0, 1)) * -1.0 - x205 += einsum(x142, (0, 1), (1, 0)) - x205 += einsum(x143, (0, 1), (1, 0)) - del x143 - l2new_abab += einsum(x205, (0, 1), l2.abab, (2, 3, 4, 0), (2, 3, 4, 1)) * -1.0 - del x205 - x206 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x206 += einsum(f.aa.oo, (0, 1), (0, 1)) - x206 += einsum(x178, (0, 1), (0, 1)) * -1.0 - del x178 - x206 += einsum(x179, (0, 1), (1, 0)) - del x179 - x206 += einsum(t1.aa, (0, 1), x31, (2, 1), (0, 2)) - del x31 - l2new_abab += einsum(x206, (0, 1), l2.abab, (2, 3, 0, 4), (2, 3, 1, 4)) * -1.0 - del x206 - x207 = np.zeros((nvir[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x207 += einsum(v.abb.xvv, (0, 1, 2), v.abb.xvv, (0, 3, 4), (1, 3, 4, 2)) - l2new_bbbb += einsum(l2.bbbb, (0, 1, 2, 3), x207, (4, 5, 0, 1), (4, 5, 2, 3)) * -2.0 - del x207 - x208 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x208 += einsum(x188, (0, 1, 2, 3), x45, (0, 1, 4, 5), (4, 2, 5, 3)) - del x188 - x209 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x209 += einsum(x187, (0, 1, 2, 3), x45, (0, 1, 4, 5), (4, 2, 5, 3)) - del x45, x187 - x210 = np.zeros((nocc[1], nvir[1], naux), dtype=types[float]) - x210 += einsum(x190, (0, 1, 2), (0, 1, 2)) - del x190 - x210 += einsum(x191, (0, 1, 2), (0, 1, 2)) - del x191 - x211 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x211 += einsum(v.abb.xov, (0, 1, 2), x210, (3, 4, 0), (3, 1, 4, 2)) - del x210 - x212 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x212 += einsum(l2.bbbb, (0, 1, 2, 3), x195, (4, 3, 5, 1), (4, 2, 5, 0)) * 2.0 - del x195 - x213 = np.zeros((nocc[1], nvir[1], naux), dtype=types[float]) - x213 += einsum(x133, (0, 1, 2), (0, 1, 2)) - del x133 - x213 += einsum(x189, (0, 1, 2), (0, 1, 2)) * -1.0 - del x189 - x214 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x214 += einsum(v.abb.xov, (0, 1, 2), x213, (3, 4, 0), (3, 1, 4, 2)) - del x213 - x215 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x215 += einsum(x203, (0, 1, 2, 3), x83, (0, 4, 2, 5), (1, 4, 3, 5)) * 2.0 - del x203 - x216 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x216 += einsum(x202, (0, 1, 2, 3), x83, (0, 4, 2, 5), (1, 4, 3, 5)) * 2.0 - del x202 - x217 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x217 += einsum(x101, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x101 - x217 += einsum(x102, (0, 1, 2, 3), (0, 1, 2, 3)) - del x102 - x218 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x218 += einsum(l1.bb, (0, 1), x217, (1, 2, 3, 4), (2, 3, 4, 0)) - del x217 - x219 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x219 += einsum(x108, (0, 1), (0, 1)) * -1.0 - del x108 - x219 += einsum(x109, (0, 1), (0, 1)) - del x109 - x220 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x220 += einsum(f.bb.ov, (0, 1), l1.bb, (2, 3), (0, 3, 1, 2)) - x220 += einsum(x208, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x208 - x220 += einsum(x209, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x209 - x220 += einsum(x211, (0, 1, 2, 3), (0, 1, 2, 3)) - del x211 - x220 += einsum(x212, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x212 - x220 += einsum(x214, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x214 - x220 += einsum(x215, (0, 1, 2, 3), (1, 0, 3, 2)) - del x215 - x220 += einsum(x216, (0, 1, 2, 3), (1, 0, 3, 2)) - del x216 - x220 += einsum(x218, (0, 1, 2, 3), (0, 1, 3, 2)) - del x218 - x220 += einsum(l1.bb, (0, 1), x219, (2, 3), (1, 2, 0, 3)) - l2new_bbbb += einsum(x220, (0, 1, 2, 3), (2, 3, 0, 1)) - l2new_bbbb += einsum(x220, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - l2new_bbbb += einsum(x220, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 - l2new_bbbb += einsum(x220, (0, 1, 2, 3), (3, 2, 1, 0)) - del x220 - x221 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x221 += einsum(f.bb.vv, (0, 1), l2.bbbb, (2, 1, 3, 4), (3, 4, 0, 2)) - x222 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x222 += einsum(f.bb.ov, (0, 1), x83, (2, 3, 0, 4), (2, 3, 1, 4)) - x223 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x223 += einsum(x113, (0, 1, 2, 3), x83, (4, 5, 0, 2), (5, 4, 1, 3)) - del x113 - x224 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x224 += einsum(x199, (0, 1), (0, 1)) * -1.0 - del x199 - x224 += einsum(x139, (0, 1), (1, 0)) - del x139 - x225 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x225 += einsum(x224, (0, 1), l2.bbbb, (2, 1, 3, 4), (3, 4, 0, 2)) * -2.0 - del x224 - x226 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x226 += einsum(x219, (0, 1), x83, (2, 3, 0, 4), (2, 3, 1, 4)) * 2.0 - del x83 - x227 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x227 += einsum(x221, (0, 1, 2, 3), (1, 0, 2, 3)) * -2.0 - del x221 - x227 += einsum(x116, (0, 1, 2, 3), (1, 0, 2, 3)) - del x116 - x227 += einsum(x222, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - del x222 - x227 += einsum(x223, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x223 - x227 += einsum(x225, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x225 - x227 += einsum(x226, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x226 - l2new_bbbb += einsum(x227, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 - l2new_bbbb += einsum(x227, (0, 1, 2, 3), (3, 2, 0, 1)) - del x227 - x228 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x228 += einsum(f.bb.ov, (0, 1), t1.bb, (2, 1), (0, 2)) - x229 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x229 += einsum(x228, (0, 1), l2.bbbb, (2, 3, 4, 1), (0, 4, 2, 3)) - del x228 - x230 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x230 += einsum(l2.bbbb, (0, 1, 2, 3), x118, (3, 4, 2, 5), (4, 5, 0, 1)) * -1.0 - del x118 - x231 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x231 += einsum(t1.bb, (0, 1), x219, (2, 1), (2, 0)) - del x219 - x232 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x232 += einsum(x204, (0, 1), (0, 1)) * -1.0 - del x204 - x232 += einsum(x142, (0, 1), (1, 0)) - del x142 - x232 += einsum(x231, (0, 1), (1, 0)) - del x231 - x233 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x233 += einsum(x232, (0, 1), l2.bbbb, (2, 3, 4, 0), (1, 4, 2, 3)) * -2.0 - del x232 - x234 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x234 += einsum(x229, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - del x229 - x234 += einsum(x230, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - del x230 - x234 += einsum(x233, (0, 1, 2, 3), (1, 0, 3, 2)) - del x233 - l2new_bbbb += einsum(x234, (0, 1, 2, 3), (3, 2, 0, 1)) - l2new_bbbb += einsum(x234, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 - del x234 - x235 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x235 += einsum(f.bb.oo, (0, 1), l2.bbbb, (2, 3, 4, 1), (0, 4, 2, 3)) - l2new_bbbb += einsum(x235, (0, 1, 2, 3), (3, 2, 0, 1)) * -2.0 - l2new_bbbb += einsum(x235, (0, 1, 2, 3), (3, 2, 1, 0)) * 2.0 - del x235 - x236 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x236 += einsum(x115, (0, 1, 2, 3), (3, 2, 1, 0)) - del x115 - x236 += einsum(x117, (0, 1, 2, 3), (0, 3, 1, 2)) - del x117 - l2new_bbbb += einsum(l2.bbbb, (0, 1, 2, 3), x236, (3, 4, 2, 5), (0, 1, 4, 5)) * 2.0 - del x236 - - l1new.aa = l1new_aa - l1new.bb = l1new_bb - l2new.aaaa = l2new_aaaa - l2new.abab = l2new_abab - l2new.bbbb = l2new_bbbb - - return {"l1new": l1new, "l2new": l2new} - -def make_rdm1_f(f=None, v=None, nocc=None, nvir=None, naux=None, t1=None, t2=None, l1=None, l2=None, **kwargs): - rdm1_f = Namespace() - - delta = Namespace(aa=Namespace(), bb=Namespace()) - delta.aa = Namespace(oo=np.eye(nocc[0]), vv=np.eye(nvir[0])) - delta.bb = Namespace(oo=np.eye(nocc[1]), vv=np.eye(nvir[1])) - - # RDM1 - rdm1_f_aa_oo = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - rdm1_f_aa_oo += einsum(delta.aa.oo, (0, 1), (0, 1)) - rdm1_f_bb_oo = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - rdm1_f_bb_oo += einsum(delta.bb.oo, (0, 1), (0, 1)) - rdm1_f_aa_ov = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - rdm1_f_aa_ov += einsum(l1.bb, (0, 1), t2.abab, (2, 1, 3, 0), (2, 3)) - rdm1_f_aa_ov += einsum(t1.aa, (0, 1), (0, 1)) - rdm1_f_aa_ov += einsum(l1.aa, (0, 1), t2.aaaa, (2, 1, 3, 0), (2, 3)) * 2.0 - rdm1_f_bb_ov = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - rdm1_f_bb_ov += einsum(l1.bb, (0, 1), t2.bbbb, (2, 1, 3, 0), (2, 3)) * 2.0 - rdm1_f_bb_ov += einsum(l1.aa, (0, 1), t2.abab, (1, 2, 0, 3), (2, 3)) - rdm1_f_bb_ov += einsum(t1.bb, (0, 1), (0, 1)) - rdm1_f_aa_vo = np.zeros((nvir[0], nocc[0]), dtype=types[float]) - rdm1_f_aa_vo += einsum(l1.aa, (0, 1), (0, 1)) - rdm1_f_bb_vo = np.zeros((nvir[1], nocc[1]), dtype=types[float]) - rdm1_f_bb_vo += einsum(l1.bb, (0, 1), (0, 1)) - rdm1_f_aa_vv = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - rdm1_f_aa_vv += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (2, 3, 4, 1), (0, 4)) * 2.0 - rdm1_f_aa_vv += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 4, 1), (0, 4)) - rdm1_f_aa_vv += einsum(l1.aa, (0, 1), t1.aa, (1, 2), (0, 2)) - rdm1_f_bb_vv = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - rdm1_f_bb_vv += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (2, 3, 4, 1), (0, 4)) * 2.0 - rdm1_f_bb_vv += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 0, 4), (1, 4)) - rdm1_f_bb_vv += einsum(l1.bb, (0, 1), t1.bb, (1, 2), (0, 2)) - x0 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x0 += einsum(l1.aa, (0, 1), t1.aa, (2, 0), (1, 2)) - rdm1_f_aa_oo += einsum(x0, (0, 1), (1, 0)) * -1.0 - x1 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x1 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 0, 1), (2, 4)) - rdm1_f_aa_oo += einsum(x1, (0, 1), (1, 0)) * -1.0 - x2 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x2 += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 3, 0, 1), (2, 4)) - rdm1_f_aa_oo += einsum(x2, (0, 1), (1, 0)) * -2.0 - x3 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x3 += einsum(l1.bb, (0, 1), t1.bb, (2, 0), (1, 2)) - rdm1_f_bb_oo += einsum(x3, (0, 1), (1, 0)) * -1.0 - x4 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x4 += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 3, 0, 1), (2, 4)) - rdm1_f_bb_oo += einsum(x4, (0, 1), (1, 0)) * -2.0 - x5 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x5 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 1), (3, 4)) - rdm1_f_bb_oo += einsum(x5, (0, 1), (1, 0)) * -1.0 - x6 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x6 += einsum(t1.aa, (0, 1), l2.abab, (1, 2, 3, 4), (3, 0, 4, 2)) - rdm1_f_aa_ov += einsum(t2.abab, (0, 1, 2, 3), x6, (0, 4, 1, 3), (4, 2)) * -1.0 - del x6 - x7 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x7 += einsum(t1.aa, (0, 1), l2.aaaa, (2, 1, 3, 4), (3, 4, 0, 2)) - rdm1_f_aa_ov += einsum(t2.aaaa, (0, 1, 2, 3), x7, (1, 0, 4, 3), (4, 2)) * -2.0 - del x7 - x8 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x8 += einsum(x0, (0, 1), (0, 1)) * 0.5 - del x0 - x8 += einsum(x2, (0, 1), (0, 1)) - del x2 - x8 += einsum(x1, (0, 1), (0, 1)) * 0.5 - del x1 - rdm1_f_aa_ov += einsum(t1.aa, (0, 1), x8, (0, 2), (2, 1)) * -2.0 - del x8 - x9 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x9 += einsum(t1.bb, (0, 1), l2.bbbb, (2, 1, 3, 4), (3, 4, 0, 2)) - rdm1_f_bb_ov += einsum(t2.bbbb, (0, 1, 2, 3), x9, (1, 0, 4, 3), (4, 2)) * -2.0 - del x9 - x10 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x10 += einsum(t1.bb, (0, 1), l2.abab, (2, 1, 3, 4), (3, 4, 0, 2)) - rdm1_f_bb_ov += einsum(t2.abab, (0, 1, 2, 3), x10, (0, 1, 4, 2), (4, 3)) * -1.0 - del x10 - x11 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x11 += einsum(x3, (0, 1), (0, 1)) - del x3 - x11 += einsum(x5, (0, 1), (0, 1)) - del x5 - x11 += einsum(x4, (0, 1), (0, 1)) * 2.0 - del x4 - rdm1_f_bb_ov += einsum(t1.bb, (0, 1), x11, (0, 2), (2, 1)) * -1.0 - del x11 - - rdm1_f_aa = np.block([[rdm1_f_aa_oo, rdm1_f_aa_ov], [rdm1_f_aa_vo, rdm1_f_aa_vv]]) - rdm1_f_bb = np.block([[rdm1_f_bb_oo, rdm1_f_bb_ov], [rdm1_f_bb_vo, rdm1_f_bb_vv]]) - - rdm1_f.aa = rdm1_f_aa - rdm1_f.bb = rdm1_f_bb - - return rdm1_f - -def make_rdm2_f(f=None, v=None, nocc=None, nvir=None, naux=None, t1=None, t2=None, l1=None, l2=None, **kwargs): - rdm2_f = Namespace() - - delta = Namespace(aa=Namespace(), bb=Namespace()) - delta.aa = Namespace(oo=np.eye(nocc[0]), vv=np.eye(nvir[0])) - delta.bb = Namespace(oo=np.eye(nocc[1]), vv=np.eye(nvir[1])) - - # RDM2 - rdm2_f_aaaa_oooo = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - rdm2_f_aaaa_oooo += einsum(delta.aa.oo, (0, 1), delta.aa.oo, (2, 3), (0, 2, 1, 3)) - rdm2_f_aaaa_oooo += einsum(delta.aa.oo, (0, 1), delta.aa.oo, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_bbbb_oooo = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - rdm2_f_bbbb_oooo += einsum(delta.bb.oo, (0, 1), delta.bb.oo, (2, 3), (0, 2, 1, 3)) - rdm2_f_bbbb_oooo += einsum(delta.bb.oo, (0, 1), delta.bb.oo, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_aaaa_ovoo = np.zeros((nocc[0], nvir[0], nocc[0], nocc[0]), dtype=types[float]) - rdm2_f_aaaa_ovoo += einsum(delta.aa.oo, (0, 1), l1.aa, (2, 3), (0, 2, 1, 3)) - rdm2_f_aaaa_ovoo += einsum(delta.aa.oo, (0, 1), l1.aa, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_abab_ovoo = np.zeros((nocc[0], nvir[1], nocc[0], nocc[1]), dtype=types[float]) - rdm2_f_abab_ovoo += einsum(delta.aa.oo, (0, 1), l1.bb, (2, 3), (0, 2, 1, 3)) - rdm2_f_bbbb_ovoo = np.zeros((nocc[1], nvir[1], nocc[1], nocc[1]), dtype=types[float]) - rdm2_f_bbbb_ovoo += einsum(delta.bb.oo, (0, 1), l1.bb, (2, 3), (0, 2, 1, 3)) - rdm2_f_bbbb_ovoo += einsum(delta.bb.oo, (0, 1), l1.bb, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_aaaa_vooo = np.zeros((nvir[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - rdm2_f_aaaa_vooo += einsum(delta.aa.oo, (0, 1), l1.aa, (2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_aaaa_vooo += einsum(delta.aa.oo, (0, 1), l1.aa, (2, 3), (2, 0, 3, 1)) - rdm2_f_abab_vooo = np.zeros((nvir[0], nocc[1], nocc[0], nocc[1]), dtype=types[float]) - rdm2_f_abab_vooo += einsum(delta.bb.oo, (0, 1), l1.aa, (2, 3), (2, 0, 3, 1)) - rdm2_f_bbbb_vooo = np.zeros((nvir[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - rdm2_f_bbbb_vooo += einsum(delta.bb.oo, (0, 1), l1.bb, (2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_bbbb_vooo += einsum(delta.bb.oo, (0, 1), l1.bb, (2, 3), (2, 0, 3, 1)) - rdm2_f_aaaa_oovv = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - rdm2_f_aaaa_oovv += einsum(t2.aaaa, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - rdm2_f_aaaa_oovv += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_aaaa_oovv += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 1, 3)) - rdm2_f_abab_oovv = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - rdm2_f_abab_oovv += einsum(t2.abab, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_bbbb_oovv = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - rdm2_f_bbbb_oovv += einsum(t2.bbbb, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - rdm2_f_aaaa_ovov = np.zeros((nocc[0], nvir[0], nocc[0], nvir[0]), dtype=types[float]) - rdm2_f_aaaa_ovov += einsum(l1.aa, (0, 1), t1.aa, (2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_bbbb_ovov = np.zeros((nocc[1], nvir[1], nocc[1], nvir[1]), dtype=types[float]) - rdm2_f_bbbb_ovov += einsum(l1.bb, (0, 1), t1.bb, (2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_aaaa_ovvo = np.zeros((nocc[0], nvir[0], nvir[0], nocc[0]), dtype=types[float]) - rdm2_f_aaaa_ovvo += einsum(l1.aa, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1)) - rdm2_f_abab_ovvo = np.zeros((nocc[0], nvir[1], nvir[0], nocc[1]), dtype=types[float]) - rdm2_f_abab_ovvo += einsum(l1.bb, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1)) - rdm2_f_bbbb_ovvo = np.zeros((nocc[1], nvir[1], nvir[1], nocc[1]), dtype=types[float]) - rdm2_f_bbbb_ovvo += einsum(l1.bb, (0, 1), t1.bb, (2, 3), (2, 0, 3, 1)) - rdm2_f_aaaa_voov = np.zeros((nvir[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - rdm2_f_aaaa_voov += einsum(l1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 1, 3)) - rdm2_f_abab_voov = np.zeros((nvir[0], nocc[1], nocc[0], nvir[1]), dtype=types[float]) - rdm2_f_abab_voov += einsum(l1.aa, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3)) - rdm2_f_bbbb_voov = np.zeros((nvir[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - rdm2_f_bbbb_voov += einsum(l1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3)) - rdm2_f_aaaa_vovo = np.zeros((nvir[0], nocc[0], nvir[0], nocc[0]), dtype=types[float]) - rdm2_f_aaaa_vovo += einsum(l1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_bbbb_vovo = np.zeros((nvir[1], nocc[1], nvir[1], nocc[1]), dtype=types[float]) - rdm2_f_bbbb_vovo += einsum(l1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_aaaa_vvoo = np.zeros((nvir[0], nvir[0], nocc[0], nocc[0]), dtype=types[float]) - rdm2_f_aaaa_vvoo += einsum(l2.aaaa, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - rdm2_f_abab_vvoo = np.zeros((nvir[0], nvir[1], nocc[0], nocc[1]), dtype=types[float]) - rdm2_f_abab_vvoo += einsum(l2.abab, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_bbbb_vvoo = np.zeros((nvir[1], nvir[1], nocc[1], nocc[1]), dtype=types[float]) - rdm2_f_bbbb_vvoo += einsum(l2.bbbb, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - rdm2_f_abab_ovvv = np.zeros((nocc[0], nvir[1], nvir[0], nvir[1]), dtype=types[float]) - rdm2_f_abab_ovvv += einsum(l1.bb, (0, 1), t2.abab, (2, 1, 3, 4), (2, 0, 3, 4)) - rdm2_f_abab_vovv = np.zeros((nvir[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - rdm2_f_abab_vovv += einsum(l1.aa, (0, 1), t2.abab, (1, 2, 3, 4), (0, 2, 3, 4)) - rdm2_f_abab_vvvo = np.zeros((nvir[0], nvir[1], nvir[0], nocc[1]), dtype=types[float]) - rdm2_f_abab_vvvo += einsum(t1.aa, (0, 1), l2.abab, (2, 3, 0, 4), (2, 3, 1, 4)) - rdm2_f_aaaa_vvvv = np.zeros((nvir[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - rdm2_f_aaaa_vvvv += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (2, 3, 4, 5), (0, 1, 4, 5)) * 2.0 - rdm2_f_abab_vvvv = np.zeros((nvir[0], nvir[1], nvir[0], nvir[1]), dtype=types[float]) - rdm2_f_abab_vvvv += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 4, 5), (0, 1, 4, 5)) - rdm2_f_bbbb_vvvv = np.zeros((nvir[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - rdm2_f_bbbb_vvvv += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (2, 3, 4, 5), (0, 1, 4, 5)) * 2.0 - x0 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x0 += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 5, 0, 1), (2, 3, 4, 5)) - rdm2_f_aaaa_oooo += einsum(x0, (0, 1, 2, 3), (3, 2, 1, 0)) * 2.0 - x1 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x1 += einsum(t1.aa, (0, 1), l2.aaaa, (2, 1, 3, 4), (3, 4, 0, 2)) - rdm2_f_aaaa_ovoo += einsum(x1, (0, 1, 2, 3), (2, 3, 1, 0)) * -2.0 - rdm2_f_aaaa_vooo += einsum(x1, (0, 1, 2, 3), (3, 2, 1, 0)) * 2.0 - x2 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x2 += einsum(t1.aa, (0, 1), x1, (2, 3, 4, 1), (2, 3, 0, 4)) - rdm2_f_aaaa_oooo += einsum(x2, (0, 1, 2, 3), (2, 3, 1, 0)) * -2.0 - x3 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x3 += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 3, 0, 1), (2, 4)) - x4 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x4 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 0, 1), (2, 4)) - x5 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x5 += einsum(x3, (0, 1), (0, 1)) - x5 += einsum(x4, (0, 1), (0, 1)) * 0.5 - rdm2_f_aaaa_oooo += einsum(delta.aa.oo, (0, 1), x5, (2, 3), (0, 3, 1, 2)) * -2.0 - rdm2_f_aaaa_oooo += einsum(delta.aa.oo, (0, 1), x5, (2, 3), (0, 3, 2, 1)) * 2.0 - rdm2_f_aaaa_oooo += einsum(delta.aa.oo, (0, 1), x5, (2, 3), (3, 0, 1, 2)) * 2.0 - rdm2_f_aaaa_oooo += einsum(delta.aa.oo, (0, 1), x5, (2, 3), (3, 0, 2, 1)) * -2.0 - x6 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x6 += einsum(l1.aa, (0, 1), t1.aa, (2, 0), (1, 2)) - rdm2_f_aaaa_oooo += einsum(delta.aa.oo, (0, 1), x6, (2, 3), (0, 3, 1, 2)) * -1.0 - rdm2_f_aaaa_oooo += einsum(delta.aa.oo, (0, 1), x6, (2, 3), (3, 0, 1, 2)) - rdm2_f_aaaa_oooo += einsum(delta.aa.oo, (0, 1), x6, (2, 3), (0, 3, 2, 1)) - rdm2_f_aaaa_oooo += einsum(delta.aa.oo, (0, 1), x6, (2, 3), (3, 0, 2, 1)) * -1.0 - x7 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x7 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 5, 0, 1), (2, 4, 3, 5)) - rdm2_f_abab_oooo = np.zeros((nocc[0], nocc[1], nocc[0], nocc[1]), dtype=types[float]) - rdm2_f_abab_oooo += einsum(x7, (0, 1, 2, 3), (1, 3, 0, 2)) - x8 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x8 += einsum(t1.bb, (0, 1), l2.abab, (2, 1, 3, 4), (3, 4, 0, 2)) - rdm2_f_abab_vooo += einsum(x8, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - rdm2_f_abab_vovo = np.zeros((nvir[0], nocc[1], nvir[0], nocc[1]), dtype=types[float]) - rdm2_f_abab_vovo += einsum(t1.aa, (0, 1), x8, (0, 2, 3, 4), (4, 3, 1, 2)) * -1.0 - rdm2_f_abab_vovv += einsum(t2.abab, (0, 1, 2, 3), x8, (0, 1, 4, 5), (5, 4, 2, 3)) * -1.0 - x9 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x9 += einsum(t1.aa, (0, 1), x8, (2, 3, 4, 1), (2, 0, 3, 4)) - rdm2_f_abab_oooo += einsum(x9, (0, 1, 2, 3), (1, 3, 0, 2)) - x10 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x10 += einsum(l1.bb, (0, 1), t1.bb, (2, 0), (1, 2)) - rdm2_f_bbbb_oooo += einsum(delta.bb.oo, (0, 1), x10, (2, 3), (0, 3, 1, 2)) * -1.0 - rdm2_f_bbbb_oooo += einsum(delta.bb.oo, (0, 1), x10, (2, 3), (3, 0, 1, 2)) - rdm2_f_bbbb_oooo += einsum(delta.bb.oo, (0, 1), x10, (2, 3), (0, 3, 2, 1)) - rdm2_f_bbbb_oooo += einsum(delta.bb.oo, (0, 1), x10, (2, 3), (3, 0, 2, 1)) * -1.0 - x11 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x11 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 1), (3, 4)) - x12 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x12 += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 3, 0, 1), (2, 4)) - x13 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x13 += einsum(delta.bb.oo, (0, 1), (0, 1)) * -1.0 - x13 += einsum(x10, (0, 1), (0, 1)) - x13 += einsum(x11, (0, 1), (0, 1)) - x13 += einsum(x12, (0, 1), (0, 1)) * 2.0 - rdm2_f_abab_oooo += einsum(delta.aa.oo, (0, 1), x13, (2, 3), (0, 3, 1, 2)) * -1.0 - del x13 - x14 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x14 += einsum(x6, (0, 1), (0, 1)) - x14 += einsum(x3, (0, 1), (0, 1)) * 2.0 - x14 += einsum(x4, (0, 1), (0, 1)) - rdm2_f_abab_oooo += einsum(delta.bb.oo, (0, 1), x14, (2, 3), (3, 0, 2, 1)) * -1.0 - rdm2_f_abab_oovv += einsum(x14, (0, 1), t2.abab, (0, 2, 3, 4), (1, 2, 3, 4)) * -1.0 - x15 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x15 += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 5, 0, 1), (2, 3, 4, 5)) - rdm2_f_bbbb_oooo += einsum(x15, (0, 1, 2, 3), (3, 2, 1, 0)) * 2.0 - x16 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x16 += einsum(t1.bb, (0, 1), l2.bbbb, (2, 1, 3, 4), (3, 4, 0, 2)) - rdm2_f_bbbb_ovoo += einsum(x16, (0, 1, 2, 3), (2, 3, 1, 0)) * -2.0 - rdm2_f_bbbb_vooo += einsum(x16, (0, 1, 2, 3), (3, 2, 1, 0)) * 2.0 - x17 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x17 += einsum(t1.bb, (0, 1), x16, (2, 3, 4, 1), (2, 3, 0, 4)) - rdm2_f_bbbb_oooo += einsum(x17, (0, 1, 2, 3), (2, 3, 1, 0)) * -2.0 - x18 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x18 += einsum(x11, (0, 1), (0, 1)) - x18 += einsum(x12, (0, 1), (0, 1)) * 2.0 - rdm2_f_bbbb_oooo += einsum(delta.bb.oo, (0, 1), x18, (2, 3), (0, 3, 1, 2)) * -1.0 - rdm2_f_bbbb_oooo += einsum(delta.bb.oo, (0, 1), x18, (2, 3), (0, 3, 2, 1)) - rdm2_f_bbbb_oooo += einsum(delta.bb.oo, (0, 1), x18, (2, 3), (3, 0, 1, 2)) - rdm2_f_bbbb_oooo += einsum(delta.bb.oo, (0, 1), x18, (2, 3), (3, 0, 2, 1)) * -1.0 - x19 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x19 += einsum(l1.aa, (0, 1), t2.aaaa, (2, 3, 4, 0), (1, 2, 3, 4)) - rdm2_f_aaaa_ooov = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - rdm2_f_aaaa_ooov += einsum(x19, (0, 1, 2, 3), (2, 1, 0, 3)) * -2.0 - rdm2_f_aaaa_oovo = np.zeros((nocc[0], nocc[0], nvir[0], nocc[0]), dtype=types[float]) - rdm2_f_aaaa_oovo += einsum(x19, (0, 1, 2, 3), (2, 1, 3, 0)) * 2.0 - x20 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x20 += einsum(l1.aa, (0, 1), t2.aaaa, (2, 1, 3, 0), (2, 3)) - x21 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x21 += einsum(l1.bb, (0, 1), t2.abab, (2, 1, 3, 0), (2, 3)) - x22 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x22 += einsum(t2.aaaa, (0, 1, 2, 3), x1, (0, 1, 4, 3), (4, 2)) * -1.0 - x23 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x23 += einsum(t1.aa, (0, 1), l2.abab, (1, 2, 3, 4), (3, 0, 4, 2)) - rdm2_f_abab_ovoo += einsum(x23, (0, 1, 2, 3), (1, 3, 0, 2)) * -1.0 - rdm2_f_abab_ovov = np.zeros((nocc[0], nvir[1], nocc[0], nvir[1]), dtype=types[float]) - rdm2_f_abab_ovov += einsum(t1.bb, (0, 1), x23, (2, 3, 0, 4), (3, 4, 2, 1)) * -1.0 - rdm2_f_abab_ovvv += einsum(t2.abab, (0, 1, 2, 3), x23, (0, 4, 1, 5), (4, 5, 2, 3)) * -1.0 - x24 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x24 += einsum(t2.abab, (0, 1, 2, 3), x23, (0, 4, 1, 3), (4, 2)) - x25 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x25 += einsum(t1.aa, (0, 1), x14, (0, 2), (2, 1)) * 0.5 - x26 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x26 += einsum(x20, (0, 1), (0, 1)) * -1.0 - x26 += einsum(x21, (0, 1), (0, 1)) * -0.5 - x26 += einsum(x22, (0, 1), (0, 1)) - x26 += einsum(x24, (0, 1), (0, 1)) * 0.5 - x26 += einsum(x25, (0, 1), (0, 1)) - del x25 - rdm2_f_aaaa_ooov += einsum(delta.aa.oo, (0, 1), x26, (2, 3), (0, 2, 1, 3)) * -2.0 - rdm2_f_aaaa_ooov += einsum(delta.aa.oo, (0, 1), x26, (2, 3), (2, 0, 1, 3)) * 2.0 - rdm2_f_aaaa_oovo += einsum(delta.aa.oo, (0, 1), x26, (2, 3), (0, 2, 3, 1)) * 2.0 - rdm2_f_aaaa_oovo += einsum(delta.aa.oo, (0, 1), x26, (2, 3), (2, 0, 3, 1)) * -2.0 - x27 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x27 += einsum(t2.aaaa, (0, 1, 2, 3), x1, (4, 1, 5, 3), (4, 5, 0, 2)) * -1.0 - x28 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x28 += einsum(t2.abab, (0, 1, 2, 3), x23, (4, 5, 1, 3), (4, 5, 0, 2)) - x29 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x29 += einsum(delta.aa.oo, (0, 1), t1.aa, (2, 3), (0, 1, 2, 3)) - x29 += einsum(x27, (0, 1, 2, 3), (1, 0, 2, 3)) * -4.0 - x29 += einsum(x28, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x29 += einsum(t1.aa, (0, 1), x14, (2, 3), (0, 2, 3, 1)) - rdm2_f_aaaa_ooov += einsum(x29, (0, 1, 2, 3), (0, 2, 1, 3)) - rdm2_f_aaaa_ooov += einsum(x29, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_aaaa_oovo += einsum(x29, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_aaaa_oovo += einsum(x29, (0, 1, 2, 3), (2, 0, 3, 1)) - del x29 - x30 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x30 += einsum(x0, (0, 1, 2, 3), (1, 0, 3, 2)) - del x0 - x30 += einsum(x2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x2 - rdm2_f_aaaa_oovv += einsum(t2.aaaa, (0, 1, 2, 3), x30, (0, 1, 4, 5), (5, 4, 2, 3)) * -2.0 - x31 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x31 += einsum(t1.aa, (0, 1), x30, (0, 2, 3, 4), (2, 3, 4, 1)) * 2.0 - rdm2_f_aaaa_ooov += einsum(x31, (0, 1, 2, 3), (2, 1, 0, 3)) - rdm2_f_aaaa_oovo += einsum(x31, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - del x31 - x32 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x32 += einsum(t2.abab, (0, 1, 2, 3), x8, (4, 1, 5, 2), (4, 0, 5, 3)) - rdm2_f_abab_ooov = np.zeros((nocc[0], nocc[1], nocc[0], nvir[1]), dtype=types[float]) - rdm2_f_abab_ooov += einsum(x32, (0, 1, 2, 3), (1, 2, 0, 3)) - x33 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x33 += einsum(t2.bbbb, (0, 1, 2, 3), x23, (4, 5, 1, 3), (4, 5, 0, 2)) - rdm2_f_abab_ooov += einsum(x33, (0, 1, 2, 3), (1, 2, 0, 3)) * -2.0 - x34 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x34 += einsum(l1.aa, (0, 1), t2.abab, (2, 3, 0, 4), (1, 2, 3, 4)) - rdm2_f_abab_ooov += einsum(x34, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - x35 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x35 += einsum(t2.abab, (0, 1, 2, 3), x1, (4, 0, 5, 2), (4, 5, 1, 3)) * -1.0 - rdm2_f_abab_ooov += einsum(x35, (0, 1, 2, 3), (1, 2, 0, 3)) * -2.0 - x36 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x36 += einsum(x7, (0, 1, 2, 3), (0, 1, 2, 3)) - del x7 - x36 += einsum(x9, (0, 1, 2, 3), (0, 1, 2, 3)) - del x9 - rdm2_f_abab_ooov += einsum(t1.bb, (0, 1), x36, (2, 3, 0, 4), (3, 4, 2, 1)) - rdm2_f_abab_oovv += einsum(t2.abab, (0, 1, 2, 3), x36, (0, 4, 1, 5), (4, 5, 2, 3)) - x37 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x37 += einsum(l1.aa, (0, 1), t2.abab, (1, 2, 0, 3), (2, 3)) - x38 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x38 += einsum(l1.bb, (0, 1), t2.bbbb, (2, 1, 3, 0), (2, 3)) - x39 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x39 += einsum(t2.abab, (0, 1, 2, 3), x8, (0, 1, 4, 2), (4, 3)) - x40 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x40 += einsum(t2.bbbb, (0, 1, 2, 3), x16, (0, 1, 4, 3), (4, 2)) * -1.0 - x41 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x41 += einsum(x10, (0, 1), (0, 1)) * 0.5 - x41 += einsum(x11, (0, 1), (0, 1)) * 0.5 - x41 += einsum(x12, (0, 1), (0, 1)) - x42 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x42 += einsum(t1.bb, (0, 1), x41, (0, 2), (2, 1)) * 2.0 - x43 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x43 += einsum(t1.bb, (0, 1), (0, 1)) * -1.0 - x43 += einsum(x37, (0, 1), (0, 1)) * -1.0 - x43 += einsum(x38, (0, 1), (0, 1)) * -2.0 - x43 += einsum(x39, (0, 1), (0, 1)) - x43 += einsum(x40, (0, 1), (0, 1)) * 2.0 - x43 += einsum(x42, (0, 1), (0, 1)) - rdm2_f_abab_ooov += einsum(delta.aa.oo, (0, 1), x43, (2, 3), (0, 2, 1, 3)) * -1.0 - del x43 - x44 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x44 += einsum(x6, (0, 1), (0, 1)) * 0.5 - x44 += einsum(x3, (0, 1), (0, 1)) - del x3 - x44 += einsum(x4, (0, 1), (0, 1)) * 0.5 - del x4 - rdm2_f_abab_ooov += einsum(t1.bb, (0, 1), x44, (2, 3), (3, 0, 2, 1)) * -2.0 - del x44 - x45 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x45 += einsum(l1.bb, (0, 1), t2.bbbb, (2, 3, 4, 0), (1, 2, 3, 4)) - rdm2_f_bbbb_ooov = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - rdm2_f_bbbb_ooov += einsum(x45, (0, 1, 2, 3), (2, 1, 0, 3)) * -2.0 - rdm2_f_bbbb_oovo = np.zeros((nocc[1], nocc[1], nvir[1], nocc[1]), dtype=types[float]) - rdm2_f_bbbb_oovo += einsum(x45, (0, 1, 2, 3), (2, 1, 3, 0)) * 2.0 - x46 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x46 += einsum(x37, (0, 1), (0, 1)) * -1.0 - x46 += einsum(x38, (0, 1), (0, 1)) * -2.0 - x46 += einsum(x39, (0, 1), (0, 1)) - x46 += einsum(x40, (0, 1), (0, 1)) * 2.0 - x46 += einsum(x42, (0, 1), (0, 1)) - del x42 - rdm2_f_bbbb_ooov += einsum(delta.bb.oo, (0, 1), x46, (2, 3), (0, 2, 1, 3)) * -1.0 - rdm2_f_bbbb_ooov += einsum(delta.bb.oo, (0, 1), x46, (2, 3), (2, 0, 1, 3)) - rdm2_f_bbbb_oovo += einsum(delta.bb.oo, (0, 1), x46, (2, 3), (0, 2, 3, 1)) - rdm2_f_bbbb_oovo += einsum(delta.bb.oo, (0, 1), x46, (2, 3), (2, 0, 3, 1)) * -1.0 - x47 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x47 += einsum(t2.abab, (0, 1, 2, 3), x8, (0, 4, 5, 2), (4, 5, 1, 3)) - x48 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x48 += einsum(t2.bbbb, (0, 1, 2, 3), x16, (4, 1, 5, 3), (4, 5, 0, 2)) * -1.0 - x49 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x49 += einsum(delta.bb.oo, (0, 1), t1.bb, (2, 3), (0, 1, 2, 3)) - x49 += einsum(x47, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x49 += einsum(x48, (0, 1, 2, 3), (1, 0, 2, 3)) * -4.0 - x49 += einsum(t1.bb, (0, 1), x41, (2, 3), (0, 2, 3, 1)) * 2.0 - rdm2_f_bbbb_ooov += einsum(x49, (0, 1, 2, 3), (0, 2, 1, 3)) - rdm2_f_bbbb_ooov += einsum(x49, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_bbbb_oovo += einsum(x49, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_bbbb_oovo += einsum(x49, (0, 1, 2, 3), (2, 0, 3, 1)) - del x49 - x50 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x50 += einsum(x15, (0, 1, 2, 3), (1, 0, 3, 2)) - del x15 - x50 += einsum(x17, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x17 - rdm2_f_bbbb_oovv += einsum(t2.bbbb, (0, 1, 2, 3), x50, (0, 1, 4, 5), (5, 4, 2, 3)) * -2.0 - x51 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x51 += einsum(t1.bb, (0, 1), x50, (0, 2, 3, 4), (2, 3, 4, 1)) * 2.0 - rdm2_f_bbbb_ooov += einsum(x51, (0, 1, 2, 3), (2, 1, 0, 3)) - rdm2_f_bbbb_oovo += einsum(x51, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - del x51 - x52 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x52 += einsum(t2.abab, (0, 1, 2, 3), x23, (0, 4, 5, 3), (4, 5, 1, 2)) - rdm2_f_abab_oovo = np.zeros((nocc[0], nocc[1], nvir[0], nocc[1]), dtype=types[float]) - rdm2_f_abab_oovo += einsum(x52, (0, 1, 2, 3), (0, 2, 3, 1)) - x53 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x53 += einsum(t2.aaaa, (0, 1, 2, 3), x8, (1, 4, 5, 3), (0, 4, 5, 2)) - rdm2_f_abab_oovo += einsum(x53, (0, 1, 2, 3), (0, 2, 3, 1)) * -2.0 - x54 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x54 += einsum(l1.bb, (0, 1), t2.abab, (2, 3, 4, 0), (2, 1, 3, 4)) - rdm2_f_abab_oovo += einsum(x54, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x55 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x55 += einsum(t2.abab, (0, 1, 2, 3), x16, (4, 1, 5, 3), (0, 4, 5, 2)) * -1.0 - rdm2_f_abab_oovo += einsum(x55, (0, 1, 2, 3), (0, 2, 3, 1)) * -2.0 - x56 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x56 += einsum(t1.aa, (0, 1), x36, (0, 2, 3, 4), (2, 3, 4, 1)) - del x36 - rdm2_f_abab_oovo += einsum(x56, (0, 1, 2, 3), (0, 2, 3, 1)) - x57 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x57 += einsum(t1.aa, (0, 1), x14, (0, 2), (2, 1)) - del x14 - x58 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x58 += einsum(t1.aa, (0, 1), (0, 1)) * -1.0 - x58 += einsum(x20, (0, 1), (0, 1)) * -2.0 - del x20 - x58 += einsum(x21, (0, 1), (0, 1)) * -1.0 - del x21 - x58 += einsum(x22, (0, 1), (0, 1)) * 2.0 - del x22 - x58 += einsum(x24, (0, 1), (0, 1)) - del x24 - x58 += einsum(x57, (0, 1), (0, 1)) - del x57 - rdm2_f_abab_oovo += einsum(delta.bb.oo, (0, 1), x58, (2, 3), (2, 0, 3, 1)) * -1.0 - rdm2_f_abab_oovv += einsum(t1.bb, (0, 1), x58, (2, 3), (2, 0, 3, 1)) * -1.0 - del x58 - x59 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x59 += einsum(x10, (0, 1), (0, 1)) - x59 += einsum(x11, (0, 1), (0, 1)) - del x11 - x59 += einsum(x12, (0, 1), (0, 1)) * 2.0 - del x12 - rdm2_f_abab_oovo += einsum(t1.aa, (0, 1), x59, (2, 3), (0, 3, 1, 2)) * -1.0 - rdm2_f_abab_oovv += einsum(x59, (0, 1), t2.abab, (2, 0, 3, 4), (2, 1, 3, 4)) * -1.0 - del x59 - x60 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x60 += einsum(l2.abab, (0, 1, 2, 3), t2.aaaa, (4, 2, 5, 0), (4, 3, 5, 1)) - rdm2_f_abab_ovvo += einsum(x60, (0, 1, 2, 3), (0, 3, 2, 1)) * 2.0 - x61 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x61 += einsum(t2.abab, (0, 1, 2, 3), x60, (4, 1, 5, 3), (4, 0, 5, 2)) - x62 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x62 += einsum(x27, (0, 1, 2, 3), (0, 1, 2, 3)) - del x27 - x62 += einsum(x28, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.25 - del x28 - x63 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x63 += einsum(t1.aa, (0, 1), x62, (0, 2, 3, 4), (2, 3, 1, 4)) * 4.0 - del x62 - x64 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x64 += einsum(x61, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - del x61 - x64 += einsum(x63, (0, 1, 2, 3), (0, 1, 2, 3)) - del x63 - x64 += einsum(t1.aa, (0, 1), x26, (2, 3), (0, 2, 1, 3)) * 2.0 - del x26 - rdm2_f_aaaa_oovv += einsum(x64, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - rdm2_f_aaaa_oovv += einsum(x64, (0, 1, 2, 3), (0, 1, 3, 2)) - rdm2_f_aaaa_oovv += einsum(x64, (0, 1, 2, 3), (1, 0, 2, 3)) - rdm2_f_aaaa_oovv += einsum(x64, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x64 - x65 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x65 += einsum(t1.aa, (0, 1), x19, (0, 2, 3, 4), (2, 3, 1, 4)) - del x19 - x66 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x66 += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 3, 5, 1), (2, 4, 0, 5)) - rdm2_f_aaaa_ovov += einsum(x66, (0, 1, 2, 3), (1, 2, 0, 3)) * -4.0 - rdm2_f_aaaa_ovvo += einsum(x66, (0, 1, 2, 3), (1, 2, 3, 0)) * 4.0 - rdm2_f_aaaa_voov += einsum(x66, (0, 1, 2, 3), (2, 1, 0, 3)) * 4.0 - rdm2_f_aaaa_vovo += einsum(x66, (0, 1, 2, 3), (2, 1, 3, 0)) * -4.0 - x67 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x67 += einsum(t2.aaaa, (0, 1, 2, 3), x66, (1, 4, 3, 5), (0, 4, 2, 5)) - x68 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x68 += einsum(l2.bbbb, (0, 1, 2, 3), t2.abab, (4, 3, 5, 1), (4, 2, 5, 0)) - rdm2_f_abab_ovvo += einsum(x68, (0, 1, 2, 3), (0, 3, 2, 1)) * 2.0 - x69 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x69 += einsum(t2.abab, (0, 1, 2, 3), x68, (4, 1, 5, 3), (4, 0, 5, 2)) - x70 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x70 += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (2, 3, 4, 1), (0, 4)) - x71 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x71 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 4, 1), (0, 4)) - x72 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x72 += einsum(x70, (0, 1), (0, 1)) - x72 += einsum(x71, (0, 1), (0, 1)) * 0.5 - rdm2_f_abab_oovv += einsum(x72, (0, 1), t2.abab, (2, 3, 0, 4), (2, 3, 1, 4)) * -2.0 - x73 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x73 += einsum(x72, (0, 1), t2.aaaa, (2, 3, 4, 0), (2, 3, 4, 1)) * -4.0 - del x72 - x74 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x74 += einsum(x65, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x65 - x74 += einsum(x67, (0, 1, 2, 3), (0, 1, 2, 3)) * 8.0 - del x67 - x74 += einsum(x69, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x69 - x74 += einsum(x73, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x73 - rdm2_f_aaaa_oovv += einsum(x74, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_aaaa_oovv += einsum(x74, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x74 - x75 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x75 += einsum(x6, (0, 1), t2.aaaa, (2, 0, 3, 4), (1, 2, 3, 4)) - del x6 - x76 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x76 += einsum(x5, (0, 1), t2.aaaa, (2, 0, 3, 4), (2, 1, 3, 4)) * -4.0 - del x5 - x77 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x77 += einsum(x75, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - del x75 - x77 += einsum(x76, (0, 1, 2, 3), (0, 1, 3, 2)) - del x76 - rdm2_f_aaaa_oovv += einsum(x77, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - rdm2_f_aaaa_oovv += einsum(x77, (0, 1, 2, 3), (1, 0, 2, 3)) - del x77 - x78 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x78 += einsum(t1.aa, (0, 1), x30, (0, 2, 3, 4), (2, 4, 3, 1)) - del x30 - rdm2_f_aaaa_oovv += einsum(t1.aa, (0, 1), x78, (0, 2, 3, 4), (2, 3, 1, 4)) * 2.0 - del x78 - x79 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x79 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 5, 1), (3, 4, 0, 5)) - rdm2_f_abab_oovv += einsum(t2.abab, (0, 1, 2, 3), x79, (1, 4, 2, 5), (0, 4, 5, 3)) - rdm2_f_abab_vovo += einsum(x79, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - rdm2_f_abab_vovv += einsum(t1.bb, (0, 1), x79, (0, 2, 3, 4), (3, 2, 4, 1)) * -1.0 - del x79 - x80 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x80 += einsum(x60, (0, 1, 2, 3), (0, 1, 2, 3)) - x80 += einsum(x68, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_abab_oovv += einsum(t2.bbbb, (0, 1, 2, 3), x80, (4, 1, 5, 3), (4, 0, 5, 2)) * 4.0 - del x80 - x81 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x81 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 5, 1), (2, 4, 0, 5)) - rdm2_f_aaaa_ovov += einsum(x81, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_aaaa_ovvo += einsum(x81, (0, 1, 2, 3), (1, 2, 3, 0)) - rdm2_f_aaaa_voov += einsum(x81, (0, 1, 2, 3), (2, 1, 0, 3)) - rdm2_f_aaaa_vovo += einsum(x81, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - x82 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x82 += einsum(x66, (0, 1, 2, 3), (0, 1, 2, 3)) - del x66 - x82 += einsum(x81, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.25 - del x81 - rdm2_f_abab_oovv += einsum(t2.abab, (0, 1, 2, 3), x82, (0, 4, 2, 5), (4, 1, 5, 3)) * 4.0 - x83 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x83 += einsum(x54, (0, 1, 2, 3), (0, 1, 2, 3)) - del x54 - x83 += einsum(x53, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x53 - x83 += einsum(x52, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x52 - x83 += einsum(x55, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x55 - x83 += einsum(x56, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x56 - rdm2_f_abab_oovv += einsum(t1.bb, (0, 1), x83, (2, 0, 3, 4), (2, 3, 4, 1)) * -1.0 - del x83 - x84 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x84 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 0, 4), (1, 4)) - x85 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x85 += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (2, 3, 4, 1), (0, 4)) - x86 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x86 += einsum(x84, (0, 1), (0, 1)) * 0.5 - x86 += einsum(x85, (0, 1), (0, 1)) - rdm2_f_abab_oovv += einsum(x86, (0, 1), t2.abab, (2, 3, 4, 0), (2, 3, 4, 1)) * -2.0 - del x86 - x87 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x87 += einsum(x34, (0, 1, 2, 3), (0, 1, 2, 3)) - del x34 - x87 += einsum(x35, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x35 - x87 += einsum(x33, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x33 - x87 += einsum(x32, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x32 - rdm2_f_abab_oovv += einsum(t1.aa, (0, 1), x87, (0, 2, 3, 4), (2, 3, 1, 4)) * -1.0 - del x87 - x88 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x88 += einsum(x37, (0, 1), (0, 1)) * -0.5 - del x37 - x88 += einsum(x38, (0, 1), (0, 1)) * -1.0 - del x38 - x88 += einsum(x39, (0, 1), (0, 1)) * 0.5 - del x39 - x88 += einsum(x40, (0, 1), (0, 1)) - del x40 - x88 += einsum(t1.bb, (0, 1), x41, (0, 2), (2, 1)) - del x41 - rdm2_f_abab_oovv += einsum(t1.aa, (0, 1), x88, (2, 3), (0, 2, 1, 3)) * -2.0 - del x88 - x89 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x89 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 5), (3, 4, 1, 5)) - rdm2_f_bbbb_ovov += einsum(x89, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_bbbb_ovvo += einsum(x89, (0, 1, 2, 3), (1, 2, 3, 0)) - rdm2_f_bbbb_voov += einsum(x89, (0, 1, 2, 3), (2, 1, 0, 3)) - rdm2_f_bbbb_vovo += einsum(x89, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - x90 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x90 += einsum(t2.bbbb, (0, 1, 2, 3), x89, (1, 4, 3, 5), (4, 0, 5, 2)) - x91 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x91 += einsum(x47, (0, 1, 2, 3), (0, 1, 2, 3)) - del x47 - x91 += einsum(x48, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.0 - del x48 - x92 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x92 += einsum(t1.bb, (0, 1), x91, (0, 2, 3, 4), (2, 3, 1, 4)) - del x91 - x93 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x93 += einsum(x90, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - del x90 - x93 += einsum(x92, (0, 1, 2, 3), (0, 1, 2, 3)) - del x92 - x93 += einsum(t1.bb, (0, 1), x46, (2, 3), (0, 2, 1, 3)) - del x46 - rdm2_f_bbbb_oovv += einsum(x93, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - rdm2_f_bbbb_oovv += einsum(x93, (0, 1, 2, 3), (0, 1, 3, 2)) - rdm2_f_bbbb_oovv += einsum(x93, (0, 1, 2, 3), (1, 0, 2, 3)) - rdm2_f_bbbb_oovv += einsum(x93, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x93 - x94 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x94 += einsum(x10, (0, 1), t2.bbbb, (2, 0, 3, 4), (1, 2, 3, 4)) - del x10 - x95 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x95 += einsum(x18, (0, 1), t2.bbbb, (2, 0, 3, 4), (2, 1, 3, 4)) * -2.0 - del x18 - x96 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x96 += einsum(x94, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - del x94 - x96 += einsum(x95, (0, 1, 2, 3), (0, 1, 3, 2)) - del x95 - rdm2_f_bbbb_oovv += einsum(x96, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - rdm2_f_bbbb_oovv += einsum(x96, (0, 1, 2, 3), (1, 0, 2, 3)) - del x96 - x97 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x97 += einsum(t1.bb, (0, 1), x45, (0, 2, 3, 4), (2, 3, 1, 4)) - del x45 - x98 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x98 += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 3, 5, 1), (2, 4, 0, 5)) - rdm2_f_bbbb_ovov += einsum(x98, (0, 1, 2, 3), (1, 2, 0, 3)) * -4.0 - rdm2_f_bbbb_ovvo += einsum(x98, (0, 1, 2, 3), (1, 2, 3, 0)) * 4.0 - rdm2_f_bbbb_voov += einsum(x98, (0, 1, 2, 3), (2, 1, 0, 3)) * 4.0 - rdm2_f_bbbb_vovo += einsum(x98, (0, 1, 2, 3), (2, 1, 3, 0)) * -4.0 - x99 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x99 += einsum(t2.bbbb, (0, 1, 2, 3), x98, (1, 4, 3, 5), (4, 0, 5, 2)) - x100 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x100 += einsum(x84, (0, 1), (0, 1)) - x100 += einsum(x85, (0, 1), (0, 1)) * 2.0 - x101 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x101 += einsum(x100, (0, 1), t2.bbbb, (2, 3, 4, 0), (2, 3, 4, 1)) * -2.0 - del x100 - x102 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x102 += einsum(x97, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x97 - x102 += einsum(x99, (0, 1, 2, 3), (0, 1, 2, 3)) * 8.0 - del x99 - x102 += einsum(x101, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x101 - rdm2_f_bbbb_oovv += einsum(x102, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_bbbb_oovv += einsum(x102, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x102 - x103 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x103 += einsum(l2.aaaa, (0, 1, 2, 3), t2.abab, (3, 4, 1, 5), (2, 4, 0, 5)) - rdm2_f_abab_voov += einsum(x103, (0, 1, 2, 3), (2, 1, 0, 3)) * 2.0 - x104 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x104 += einsum(t2.abab, (0, 1, 2, 3), x103, (0, 4, 2, 5), (4, 1, 5, 3)) - x105 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x105 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3)) - x105 += einsum(x104, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - del x104 - rdm2_f_bbbb_oovv += einsum(x105, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_bbbb_oovv += einsum(x105, (0, 1, 2, 3), (0, 1, 2, 3)) - del x105 - x106 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x106 += einsum(t1.bb, (0, 1), x50, (0, 2, 3, 4), (2, 4, 3, 1)) - del x50 - rdm2_f_bbbb_oovv += einsum(t1.bb, (0, 1), x106, (0, 2, 3, 4), (2, 3, 4, 1)) * -2.0 - del x106 - x107 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x107 += einsum(t1.aa, (0, 1), x1, (2, 0, 3, 4), (2, 3, 4, 1)) - rdm2_f_aaaa_ovov += einsum(x107, (0, 1, 2, 3), (1, 2, 0, 3)) * 2.0 - rdm2_f_aaaa_ovvo += einsum(x107, (0, 1, 2, 3), (1, 2, 3, 0)) * -2.0 - rdm2_f_aaaa_voov += einsum(x107, (0, 1, 2, 3), (2, 1, 0, 3)) * -2.0 - rdm2_f_aaaa_vovo += einsum(x107, (0, 1, 2, 3), (2, 1, 3, 0)) * 2.0 - x108 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x108 += einsum(l1.aa, (0, 1), t1.aa, (1, 2), (0, 2)) - x109 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x109 += einsum(x108, (0, 1), (0, 1)) - x109 += einsum(x70, (0, 1), (0, 1)) * 2.0 - x109 += einsum(x71, (0, 1), (0, 1)) - rdm2_f_aaaa_ovov += einsum(delta.aa.oo, (0, 1), x109, (2, 3), (0, 2, 1, 3)) - rdm2_f_aaaa_voov += einsum(delta.aa.oo, (0, 1), x109, (2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_abab_vovo += einsum(delta.bb.oo, (0, 1), x109, (2, 3), (2, 0, 3, 1)) - rdm2_f_abab_vovv += einsum(t1.bb, (0, 1), x109, (2, 3), (2, 0, 3, 1)) - x110 = np.zeros((nocc[0], nocc[0], nvir[1], nvir[1]), dtype=types[float]) - x110 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 0, 5), (2, 4, 1, 5)) - rdm2_f_abab_ovov += einsum(x110, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_abab_ovvv += einsum(t1.aa, (0, 1), x110, (0, 2, 3, 4), (2, 3, 1, 4)) * -1.0 - del x110 - x111 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x111 += einsum(l1.bb, (0, 1), t1.bb, (1, 2), (0, 2)) - x112 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x112 += einsum(x111, (0, 1), (0, 1)) * 0.5 - x112 += einsum(x84, (0, 1), (0, 1)) * 0.5 - x112 += einsum(x85, (0, 1), (0, 1)) - rdm2_f_abab_ovov += einsum(delta.aa.oo, (0, 1), x112, (2, 3), (0, 2, 1, 3)) * 2.0 - rdm2_f_bbbb_ovvo += einsum(delta.bb.oo, (0, 1), x112, (2, 3), (0, 2, 3, 1)) * -2.0 - rdm2_f_bbbb_vovo += einsum(delta.bb.oo, (0, 1), x112, (2, 3), (2, 0, 3, 1)) * 2.0 - rdm2_f_abab_ovvv += einsum(t1.aa, (0, 1), x112, (2, 3), (0, 2, 1, 3)) * 2.0 - del x112 - x113 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x113 += einsum(t1.bb, (0, 1), x16, (2, 0, 3, 4), (2, 3, 4, 1)) - rdm2_f_bbbb_ovov += einsum(x113, (0, 1, 2, 3), (1, 2, 0, 3)) * 2.0 - rdm2_f_bbbb_ovvo += einsum(x113, (0, 1, 2, 3), (1, 2, 3, 0)) * -2.0 - rdm2_f_bbbb_voov += einsum(x113, (0, 1, 2, 3), (2, 1, 0, 3)) * -2.0 - rdm2_f_bbbb_vovo += einsum(x113, (0, 1, 2, 3), (2, 1, 3, 0)) * 2.0 - x114 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x114 += einsum(x111, (0, 1), (0, 1)) - del x111 - x114 += einsum(x84, (0, 1), (0, 1)) - del x84 - x114 += einsum(x85, (0, 1), (0, 1)) * 2.0 - del x85 - rdm2_f_bbbb_ovov += einsum(delta.bb.oo, (0, 1), x114, (2, 3), (0, 2, 1, 3)) - rdm2_f_bbbb_voov += einsum(delta.bb.oo, (0, 1), x114, (2, 3), (2, 0, 1, 3)) * -1.0 - x115 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x115 += einsum(x108, (0, 1), (0, 1)) * 0.5 - del x108 - x115 += einsum(x70, (0, 1), (0, 1)) - del x70 - x115 += einsum(x71, (0, 1), (0, 1)) * 0.5 - del x71 - rdm2_f_aaaa_ovvo += einsum(delta.aa.oo, (0, 1), x115, (2, 3), (0, 2, 3, 1)) * -2.0 - rdm2_f_aaaa_vovo += einsum(delta.aa.oo, (0, 1), x115, (2, 3), (2, 0, 3, 1)) * 2.0 - del x115 - x116 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x116 += einsum(t1.aa, (0, 1), x23, (0, 2, 3, 4), (2, 3, 1, 4)) - del x23 - rdm2_f_abab_ovvo += einsum(x116, (0, 1, 2, 3), (0, 3, 2, 1)) * -1.0 - x117 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x117 += einsum(l2.abab, (0, 1, 2, 3), t2.bbbb, (4, 3, 5, 1), (2, 4, 0, 5)) - rdm2_f_abab_voov += einsum(x117, (0, 1, 2, 3), (2, 1, 0, 3)) * 2.0 - x118 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x118 += einsum(t1.bb, (0, 1), x8, (2, 0, 3, 4), (2, 3, 4, 1)) - del x8 - rdm2_f_abab_voov += einsum(x118, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - x119 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x119 += einsum(l1.aa, (0, 1), t2.aaaa, (2, 1, 3, 4), (2, 0, 3, 4)) - rdm2_f_aaaa_ovvv = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - rdm2_f_aaaa_ovvv += einsum(x119, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - rdm2_f_aaaa_vovv = np.zeros((nvir[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - rdm2_f_aaaa_vovv += einsum(x119, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - del x119 - x120 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x120 += einsum(t2.aaaa, (0, 1, 2, 3), x1, (0, 1, 4, 5), (4, 5, 2, 3)) - del x1 - rdm2_f_aaaa_ovvv += einsum(x120, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - rdm2_f_aaaa_vovv += einsum(x120, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - del x120 - x121 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x121 += einsum(t1.aa, (0, 1), x107, (0, 2, 3, 4), (2, 3, 4, 1)) * -1.0 - del x107 - rdm2_f_aaaa_ovvv += einsum(x121, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - rdm2_f_aaaa_vovv += einsum(x121, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - del x121 - x122 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x122 += einsum(t1.aa, (0, 1), x82, (0, 2, 3, 4), (2, 1, 3, 4)) * 4.0 - del x82 - x123 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x123 += einsum(x122, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x122 - x123 += einsum(t1.aa, (0, 1), x109, (2, 3), (0, 2, 1, 3)) - del x109 - rdm2_f_aaaa_ovvv += einsum(x123, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_aaaa_ovvv += einsum(x123, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_aaaa_vovv += einsum(x123, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - rdm2_f_aaaa_vovv += einsum(x123, (0, 1, 2, 3), (1, 0, 3, 2)) - del x123 - x124 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x124 += einsum(x60, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x60 - x124 += einsum(x116, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x116 - x124 += einsum(x68, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x68 - rdm2_f_abab_ovvv += einsum(t1.bb, (0, 1), x124, (2, 0, 3, 4), (2, 4, 3, 1)) - del x124 - x125 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x125 += einsum(l1.bb, (0, 1), t2.bbbb, (2, 1, 3, 4), (2, 0, 3, 4)) - rdm2_f_bbbb_ovvv = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - rdm2_f_bbbb_ovvv += einsum(x125, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - rdm2_f_bbbb_vovv = np.zeros((nvir[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - rdm2_f_bbbb_vovv += einsum(x125, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - del x125 - x126 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x126 += einsum(t2.bbbb, (0, 1, 2, 3), x16, (0, 1, 4, 5), (4, 5, 2, 3)) - del x16 - rdm2_f_bbbb_ovvv += einsum(x126, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - rdm2_f_bbbb_vovv += einsum(x126, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - del x126 - x127 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x127 += einsum(t1.bb, (0, 1), x113, (0, 2, 3, 4), (2, 3, 4, 1)) * -1.0 - del x113 - rdm2_f_bbbb_ovvv += einsum(x127, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - rdm2_f_bbbb_vovv += einsum(x127, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - del x127 - x128 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x128 += einsum(x89, (0, 1, 2, 3), (0, 1, 2, 3)) - del x89 - x128 += einsum(x98, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.0 - del x98 - x129 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x129 += einsum(t1.bb, (0, 1), x128, (0, 2, 3, 4), (2, 1, 3, 4)) - del x128 - x130 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x130 += einsum(x129, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x129 - x130 += einsum(t1.bb, (0, 1), x114, (2, 3), (0, 2, 1, 3)) - del x114 - rdm2_f_bbbb_ovvv += einsum(x130, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_bbbb_ovvv += einsum(x130, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_bbbb_vovv += einsum(x130, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - rdm2_f_bbbb_vovv += einsum(x130, (0, 1, 2, 3), (1, 0, 3, 2)) - del x130 - x131 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x131 += einsum(x103, (0, 1, 2, 3), (0, 1, 2, 3)) - del x103 - x131 += einsum(x117, (0, 1, 2, 3), (0, 1, 2, 3)) - del x117 - x131 += einsum(x118, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - del x118 - rdm2_f_abab_vovv += einsum(t1.aa, (0, 1), x131, (0, 2, 3, 4), (3, 2, 1, 4)) * 2.0 - del x131 - x132 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x132 += einsum(t1.aa, (0, 1), l2.aaaa, (2, 3, 4, 0), (4, 2, 3, 1)) - rdm2_f_aaaa_vvov = np.zeros((nvir[0], nvir[0], nocc[0], nvir[0]), dtype=types[float]) - rdm2_f_aaaa_vvov += einsum(x132, (0, 1, 2, 3), (2, 1, 0, 3)) * -2.0 - rdm2_f_aaaa_vvvo = np.zeros((nvir[0], nvir[0], nvir[0], nocc[0]), dtype=types[float]) - rdm2_f_aaaa_vvvo += einsum(x132, (0, 1, 2, 3), (2, 1, 3, 0)) * 2.0 - rdm2_f_aaaa_vvvv += einsum(t1.aa, (0, 1), x132, (0, 2, 3, 4), (2, 3, 1, 4)) * 2.0 - del x132 - x133 = np.zeros((nocc[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) - x133 += einsum(t1.bb, (0, 1), l2.abab, (2, 3, 4, 0), (4, 2, 3, 1)) - rdm2_f_abab_vvov = np.zeros((nvir[0], nvir[1], nocc[0], nvir[1]), dtype=types[float]) - rdm2_f_abab_vvov += einsum(x133, (0, 1, 2, 3), (1, 2, 0, 3)) - rdm2_f_abab_vvvv += einsum(t1.aa, (0, 1), x133, (0, 2, 3, 4), (2, 3, 1, 4)) - del x133 - x134 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x134 += einsum(t1.bb, (0, 1), l2.bbbb, (2, 3, 4, 0), (4, 2, 3, 1)) - rdm2_f_bbbb_vvov = np.zeros((nvir[1], nvir[1], nocc[1], nvir[1]), dtype=types[float]) - rdm2_f_bbbb_vvov += einsum(x134, (0, 1, 2, 3), (2, 1, 0, 3)) * -2.0 - rdm2_f_bbbb_vvvo = np.zeros((nvir[1], nvir[1], nvir[1], nocc[1]), dtype=types[float]) - rdm2_f_bbbb_vvvo += einsum(x134, (0, 1, 2, 3), (2, 1, 3, 0)) * 2.0 - rdm2_f_bbbb_vvvv += einsum(t1.bb, (0, 1), x134, (0, 2, 3, 4), (2, 3, 1, 4)) * 2.0 - del x134 - - rdm2_f_aaaa = pack_2e(rdm2_f_aaaa_oooo, rdm2_f_aaaa_ooov, rdm2_f_aaaa_oovo, rdm2_f_aaaa_ovoo, rdm2_f_aaaa_vooo, rdm2_f_aaaa_oovv, rdm2_f_aaaa_ovov, rdm2_f_aaaa_ovvo, rdm2_f_aaaa_voov, rdm2_f_aaaa_vovo, rdm2_f_aaaa_vvoo, rdm2_f_aaaa_ovvv, rdm2_f_aaaa_vovv, rdm2_f_aaaa_vvov, rdm2_f_aaaa_vvvo, rdm2_f_aaaa_vvvv) - rdm2_f_abab = pack_2e(rdm2_f_abab_oooo, rdm2_f_abab_ooov, rdm2_f_abab_oovo, rdm2_f_abab_ovoo, rdm2_f_abab_vooo, rdm2_f_abab_oovv, rdm2_f_abab_ovov, rdm2_f_abab_ovvo, rdm2_f_abab_voov, rdm2_f_abab_vovo, rdm2_f_abab_vvoo, rdm2_f_abab_ovvv, rdm2_f_abab_vovv, rdm2_f_abab_vvov, rdm2_f_abab_vvvo, rdm2_f_abab_vvvv) - rdm2_f_bbbb = pack_2e(rdm2_f_bbbb_oooo, rdm2_f_bbbb_ooov, rdm2_f_bbbb_oovo, rdm2_f_bbbb_ovoo, rdm2_f_bbbb_vooo, rdm2_f_bbbb_oovv, rdm2_f_bbbb_ovov, rdm2_f_bbbb_ovvo, rdm2_f_bbbb_voov, rdm2_f_bbbb_vovo, rdm2_f_bbbb_vvoo, rdm2_f_bbbb_ovvv, rdm2_f_bbbb_vovv, rdm2_f_bbbb_vvov, rdm2_f_bbbb_vvvo, rdm2_f_bbbb_vvvv) - - rdm2_f_aaaa = rdm2_f_aaaa.swapaxes(1, 2) - rdm2_f_aabb = rdm2_f_abab.swapaxes(1, 2) - rdm2_f_bbbb = rdm2_f_bbbb.swapaxes(1, 2) - - rdm2_f.aaaa = rdm2_f_aaaa - rdm2_f.aabb = rdm2_f_aabb - rdm2_f.bbbb = rdm2_f_bbbb - - return rdm2_f - diff --git a/ebcc/codegen/UDFCCD.py b/ebcc/codegen/UDFCCD.py deleted file mode 100644 index 7e56a21e..00000000 --- a/ebcc/codegen/UDFCCD.py +++ /dev/null @@ -1,661 +0,0 @@ -# Code generated for ebcc. - -from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, Namespace -from ebcc.precision import types - -def energy(f=None, v=None, nocc=None, nvir=None, naux=None, t2=None, **kwargs): - # energy - x0 = np.zeros((nocc[1], nvir[1], naux), dtype=types[float]) - x0 += einsum(v.abb.xov, (0, 1, 2), t2.bbbb, (3, 1, 4, 2), (3, 4, 0)) - e_cc = 0 - e_cc += einsum(v.abb.xov, (0, 1, 2), x0, (1, 2, 0), ()) - del x0 - x1 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x1 += einsum(v.aaa.xov, (0, 1, 2), t2.aaaa, (3, 1, 4, 2), (3, 4, 0)) - x1 += einsum(v.abb.xov, (0, 1, 2), t2.abab, (3, 1, 4, 2), (3, 4, 0)) - e_cc += einsum(v.aaa.xov, (0, 1, 2), x1, (1, 2, 0), ()) - del x1 - - return e_cc - -def update_amps(f=None, v=None, nocc=None, nvir=None, naux=None, t2=None, **kwargs): - t2new = Namespace() - - # T amplitudes - x0 = np.zeros((nvir[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x0 += einsum(v.aaa.xvv, (0, 1, 2), v.aaa.xvv, (0, 3, 4), (1, 3, 4, 2)) - t2new_aaaa = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - t2new_aaaa += einsum(t2.aaaa, (0, 1, 2, 3), x0, (4, 2, 5, 3), (0, 1, 4, 5)) * -2.0 - del x0 - x1 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x1 += einsum(f.aa.vv, (0, 1), t2.aaaa, (2, 3, 4, 1), (2, 3, 0, 4)) - x2 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x2 += einsum(v.aaa.xov, (0, 1, 2), v.aaa.xov, (0, 3, 4), (1, 3, 2, 4)) - x3 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x3 += einsum(x1, (0, 1, 2, 3), (1, 0, 2, 3)) * -2.0 - del x1 - x3 += einsum(x2, (0, 1, 2, 3), (1, 0, 2, 3)) - t2new_aaaa += einsum(x3, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_aaaa += einsum(x3, (0, 1, 2, 3), (0, 1, 3, 2)) - del x3 - x4 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x4 += einsum(f.aa.oo, (0, 1), t2.aaaa, (2, 1, 3, 4), (0, 2, 3, 4)) - x5 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x5 += einsum(v.aaa.xov, (0, 1, 2), t2.aaaa, (3, 1, 4, 2), (3, 4, 0)) - x6 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x6 += einsum(v.abb.xov, (0, 1, 2), t2.abab, (3, 1, 4, 2), (3, 4, 0)) - x7 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x7 += einsum(x5, (0, 1, 2), (0, 1, 2)) - x7 += einsum(x6, (0, 1, 2), (0, 1, 2)) * 0.5 - x8 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x8 += einsum(v.aaa.xov, (0, 1, 2), x7, (3, 2, 0), (3, 1)) - x9 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x9 += einsum(x8, (0, 1), t2.aaaa, (2, 1, 3, 4), (0, 2, 3, 4)) * -4.0 - del x8 - x10 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x10 += einsum(x4, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - del x4 - x10 += einsum(x9, (0, 1, 2, 3), (1, 0, 3, 2)) - del x9 - t2new_aaaa += einsum(x10, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_aaaa += einsum(x10, (0, 1, 2, 3), (1, 0, 2, 3)) - del x10 - x11 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x11 += einsum(x2, (0, 1, 2, 3), (1, 0, 2, 3)) - x11 += einsum(x2, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - x12 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x12 += einsum(t2.aaaa, (0, 1, 2, 3), x11, (1, 4, 3, 5), (4, 0, 5, 2)) - del x11 - x13 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x13 += einsum(t2.aaaa, (0, 1, 2, 3), x12, (1, 4, 3, 5), (4, 0, 5, 2)) * -4.0 - del x12 - x14 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x14 += einsum(v.abb.xov, (0, 1, 2), v.abb.xov, (0, 3, 4), (1, 3, 2, 4)) - x15 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x15 += einsum(x14, (0, 1, 2, 3), (1, 0, 2, 3)) - x15 += einsum(x14, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - x16 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x16 += einsum(t2.abab, (0, 1, 2, 3), x15, (1, 4, 3, 5), (0, 4, 2, 5)) - x17 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x17 += einsum(t2.abab, (0, 1, 2, 3), x16, (4, 1, 5, 3), (4, 0, 5, 2)) * -1.0 - del x16 - x18 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x18 += einsum(v.aaa.xov, (0, 1, 2), x7, (1, 3, 0), (3, 2)) - x19 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x19 += einsum(x18, (0, 1), t2.aaaa, (2, 3, 4, 1), (2, 3, 0, 4)) * -4.0 - del x18 - x20 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x20 += einsum(x13, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x13 - x20 += einsum(x17, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x17 - x20 += einsum(x19, (0, 1, 2, 3), (1, 0, 3, 2)) - del x19 - t2new_aaaa += einsum(x20, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_aaaa += einsum(x20, (0, 1, 2, 3), (0, 1, 3, 2)) - del x20 - x21 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x21 += einsum(v.aaa.xov, (0, 1, 2), x6, (3, 4, 0), (3, 1, 4, 2)) - x22 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x22 += einsum(v.aaa.xoo, (0, 1, 2), v.aaa.xvv, (0, 3, 4), (1, 2, 3, 4)) - x23 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x23 += einsum(v.aaa.xov, (0, 1, 2), (1, 2, 0)) - x23 += einsum(x6, (0, 1, 2), (0, 1, 2)) - x24 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x24 += einsum(v.aaa.xov, (0, 1, 2), x23, (3, 4, 0), (3, 1, 4, 2)) - del x23 - x25 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x25 += einsum(x22, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - x25 += einsum(x24, (0, 1, 2, 3), (1, 0, 3, 2)) - del x24 - x26 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x26 += einsum(t2.aaaa, (0, 1, 2, 3), x25, (1, 4, 3, 5), (4, 0, 5, 2)) * 2.0 - del x25 - x27 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x27 += einsum(x21, (0, 1, 2, 3), (0, 1, 2, 3)) - del x21 - x27 += einsum(x26, (0, 1, 2, 3), (1, 0, 3, 2)) - del x26 - t2new_aaaa += einsum(x27, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new_aaaa += einsum(x27, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new_aaaa += einsum(x27, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - t2new_aaaa += einsum(x27, (0, 1, 2, 3), (1, 0, 3, 2)) - del x27 - x28 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x28 += einsum(v.aaa.xoo, (0, 1, 2), v.aaa.xoo, (0, 3, 4), (1, 3, 4, 2)) - x28 += einsum(t2.aaaa, (0, 1, 2, 3), x2, (4, 5, 2, 3), (5, 0, 4, 1)) - t2new_aaaa += einsum(t2.aaaa, (0, 1, 2, 3), x28, (0, 4, 1, 5), (4, 5, 2, 3)) * -2.0 - del x28 - x29 = np.zeros((nocc[0], nocc[0], nvir[1], nvir[1]), dtype=types[float]) - x29 += einsum(v.aaa.xoo, (0, 1, 2), v.abb.xvv, (0, 3, 4), (1, 2, 3, 4)) - t2new_abab = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - t2new_abab += einsum(t2.abab, (0, 1, 2, 3), x29, (4, 0, 5, 3), (4, 1, 2, 5)) * -1.0 - del x29 - x30 = np.zeros((nvir[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) - x30 += einsum(v.aaa.xvv, (0, 1, 2), v.abb.xvv, (0, 3, 4), (1, 2, 3, 4)) - t2new_abab += einsum(t2.abab, (0, 1, 2, 3), x30, (4, 2, 5, 3), (0, 1, 4, 5)) - del x30 - x31 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x31 += einsum(v.aaa.xov, (0, 1, 2), (1, 2, 0)) - x31 += einsum(x5, (0, 1, 2), (0, 1, 2)) * 2.0 - del x5 - x31 += einsum(x6, (0, 1, 2), (0, 1, 2)) - del x6 - x32 = np.zeros((nocc[1], nvir[1], naux), dtype=types[float]) - x32 += einsum(v.aaa.xov, (0, 1, 2), t2.abab, (1, 3, 2, 4), (3, 4, 0)) - x33 = np.zeros((nocc[1], nvir[1], naux), dtype=types[float]) - x33 += einsum(v.abb.xov, (0, 1, 2), t2.bbbb, (3, 1, 4, 2), (3, 4, 0)) - x34 = np.zeros((nocc[1], nvir[1], naux), dtype=types[float]) - x34 += einsum(v.abb.xov, (0, 1, 2), (1, 2, 0)) - x34 += einsum(x32, (0, 1, 2), (0, 1, 2)) - x34 += einsum(x33, (0, 1, 2), (0, 1, 2)) * 2.0 - t2new_abab += einsum(x31, (0, 1, 2), x34, (3, 4, 2), (0, 3, 1, 4)) - del x31, x34 - x35 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x35 += einsum(v.abb.xoo, (0, 1, 2), v.abb.xvv, (0, 3, 4), (1, 2, 3, 4)) - x36 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x36 += einsum(x35, (0, 1, 2, 3), (1, 0, 3, 2)) - x36 += einsum(t2.bbbb, (0, 1, 2, 3), x14, (1, 4, 5, 3), (4, 0, 5, 2)) * 2.0 - t2new_abab += einsum(t2.abab, (0, 1, 2, 3), x36, (1, 4, 3, 5), (0, 4, 2, 5)) * -1.0 - del x36 - x37 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x37 += einsum(v.aaa.xov, (0, 1, 2), v.abb.xov, (0, 3, 4), (1, 3, 2, 4)) - x38 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x38 += einsum(v.abb.xoo, (0, 1, 2), v.aaa.xvv, (0, 3, 4), (1, 2, 3, 4)) - x38 += einsum(t2.abab, (0, 1, 2, 3), x37, (0, 4, 5, 3), (4, 1, 5, 2)) * -1.0 - t2new_abab += einsum(t2.abab, (0, 1, 2, 3), x38, (1, 4, 2, 5), (0, 4, 5, 3)) * -1.0 - del x38 - x39 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x39 += einsum(x22, (0, 1, 2, 3), (1, 0, 3, 2)) - del x22 - x39 += einsum(t2.aaaa, (0, 1, 2, 3), x2, (4, 1, 3, 5), (4, 0, 5, 2)) * 2.0 - t2new_abab += einsum(t2.abab, (0, 1, 2, 3), x39, (0, 4, 2, 5), (4, 1, 5, 3)) * -1.0 - del x39 - x40 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x40 += einsum(f.aa.vv, (0, 1), (0, 1)) * -1.0 - x40 += einsum(v.aaa.xov, (0, 1, 2), x7, (1, 3, 0), (2, 3)) * 2.0 - t2new_abab += einsum(x40, (0, 1), t2.abab, (2, 3, 0, 4), (2, 3, 1, 4)) * -1.0 - del x40 - x41 = np.zeros((nocc[1], nvir[1], naux), dtype=types[float]) - x41 += einsum(x32, (0, 1, 2), (0, 1, 2)) - x41 += einsum(x33, (0, 1, 2), (0, 1, 2)) * 2.0 - x42 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x42 += einsum(v.abb.xov, (0, 1, 2), x41, (1, 3, 0), (3, 2)) - x43 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x43 += einsum(f.bb.vv, (0, 1), (0, 1)) * -1.0 - x43 += einsum(x42, (0, 1), (1, 0)) - t2new_abab += einsum(x43, (0, 1), t2.abab, (2, 3, 4, 0), (2, 3, 4, 1)) * -1.0 - del x43 - x44 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x44 += einsum(v.aaa.xoo, (0, 1, 2), v.abb.xoo, (0, 3, 4), (1, 2, 3, 4)) - x44 += einsum(t2.abab, (0, 1, 2, 3), x37, (4, 5, 2, 3), (4, 0, 5, 1)) - del x37 - t2new_abab += einsum(t2.abab, (0, 1, 2, 3), x44, (0, 4, 1, 5), (4, 5, 2, 3)) - del x44 - x45 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x45 += einsum(f.aa.oo, (0, 1), (0, 1)) - x45 += einsum(v.aaa.xov, (0, 1, 2), x7, (3, 2, 0), (1, 3)) * 2.0 - del x7 - t2new_abab += einsum(x45, (0, 1), t2.abab, (0, 2, 3, 4), (1, 2, 3, 4)) * -1.0 - del x45 - x46 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x46 += einsum(v.abb.xov, (0, 1, 2), x41, (3, 2, 0), (3, 1)) - del x41 - x47 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x47 += einsum(f.bb.oo, (0, 1), (0, 1)) - x47 += einsum(x46, (0, 1), (1, 0)) - t2new_abab += einsum(x47, (0, 1), t2.abab, (2, 0, 3, 4), (2, 1, 3, 4)) * -1.0 - del x47 - x48 = np.zeros((nvir[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x48 += einsum(v.abb.xvv, (0, 1, 2), v.abb.xvv, (0, 3, 4), (1, 3, 4, 2)) - t2new_bbbb = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - t2new_bbbb += einsum(t2.bbbb, (0, 1, 2, 3), x48, (4, 2, 5, 3), (0, 1, 4, 5)) * -2.0 - del x48 - x49 = np.zeros((nocc[1], nvir[1], naux), dtype=types[float]) - x49 += einsum(v.abb.xov, (0, 1, 2), (1, 2, 0)) - x49 += einsum(x33, (0, 1, 2), (0, 1, 2)) * 2.0 - del x33 - x50 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x50 += einsum(x32, (0, 1, 2), x49, (3, 4, 2), (0, 3, 1, 4)) - del x32, x49 - x51 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x51 += einsum(x35, (0, 1, 2, 3), (1, 0, 3, 2)) - del x35 - x51 += einsum(x14, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - x52 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x52 += einsum(t2.bbbb, (0, 1, 2, 3), x51, (1, 4, 3, 5), (0, 4, 2, 5)) * 2.0 - del x51 - x53 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x53 += einsum(x50, (0, 1, 2, 3), (0, 1, 2, 3)) - del x50 - x53 += einsum(x52, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x52 - t2new_bbbb += einsum(x53, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new_bbbb += einsum(x53, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new_bbbb += einsum(x53, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - t2new_bbbb += einsum(x53, (0, 1, 2, 3), (1, 0, 3, 2)) - del x53 - x54 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x54 += einsum(f.bb.oo, (0, 1), t2.bbbb, (2, 1, 3, 4), (0, 2, 3, 4)) - x55 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x55 += einsum(x46, (0, 1), t2.bbbb, (2, 1, 3, 4), (2, 0, 3, 4)) * -2.0 - del x46 - x56 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x56 += einsum(x54, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - del x54 - x56 += einsum(x55, (0, 1, 2, 3), (0, 1, 3, 2)) - del x55 - t2new_bbbb += einsum(x56, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_bbbb += einsum(x56, (0, 1, 2, 3), (1, 0, 2, 3)) - del x56 - x57 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x57 += einsum(t2.bbbb, (0, 1, 2, 3), x15, (1, 4, 3, 5), (4, 0, 5, 2)) - del x15 - x58 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x58 += einsum(t2.bbbb, (0, 1, 2, 3), x57, (1, 4, 3, 5), (0, 4, 2, 5)) * -4.0 - del x57 - x59 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x59 += einsum(x42, (0, 1), t2.bbbb, (2, 3, 4, 1), (2, 3, 4, 0)) * -2.0 - del x42 - x60 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x60 += einsum(x58, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x58 - x60 += einsum(x59, (0, 1, 2, 3), (1, 0, 2, 3)) - del x59 - t2new_bbbb += einsum(x60, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_bbbb += einsum(x60, (0, 1, 2, 3), (0, 1, 3, 2)) - del x60 - x61 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x61 += einsum(f.bb.vv, (0, 1), t2.bbbb, (2, 3, 4, 1), (2, 3, 0, 4)) - x62 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x62 += einsum(x2, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x62 += einsum(x2, (0, 1, 2, 3), (1, 0, 3, 2)) - del x2 - x63 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x63 += einsum(t2.abab, (0, 1, 2, 3), x62, (0, 4, 5, 2), (4, 1, 5, 3)) - del x62 - x64 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x64 += einsum(t2.abab, (0, 1, 2, 3), x63, (0, 4, 2, 5), (4, 1, 5, 3)) * -1.0 - del x63 - x65 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x65 += einsum(x61, (0, 1, 2, 3), (1, 0, 2, 3)) * -2.0 - del x61 - x65 += einsum(x14, (0, 1, 2, 3), (1, 0, 2, 3)) - x65 += einsum(x64, (0, 1, 2, 3), (0, 1, 3, 2)) - del x64 - t2new_bbbb += einsum(x65, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_bbbb += einsum(x65, (0, 1, 2, 3), (0, 1, 3, 2)) - del x65 - x66 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x66 += einsum(v.abb.xoo, (0, 1, 2), v.abb.xoo, (0, 3, 4), (1, 3, 4, 2)) - x66 += einsum(t2.bbbb, (0, 1, 2, 3), x14, (4, 5, 2, 3), (5, 0, 4, 1)) - del x14 - t2new_bbbb += einsum(t2.bbbb, (0, 1, 2, 3), x66, (0, 4, 1, 5), (4, 5, 2, 3)) * -2.0 - del x66 - - t2new.aaaa = t2new_aaaa - t2new.abab = t2new_abab - t2new.bbbb = t2new_bbbb - - return {"t2new": t2new} - -def update_lams(f=None, v=None, nocc=None, nvir=None, naux=None, t2=None, l2=None, **kwargs): - l2new = Namespace() - - # L amplitudes - x0 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x0 += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 5, 0, 1), (2, 3, 4, 5)) - x1 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x1 += einsum(v.aaa.xov, (0, 1, 2), v.aaa.xov, (0, 3, 4), (1, 3, 2, 4)) - l2new_aaaa = np.zeros((nvir[0], nvir[0], nocc[0], nocc[0]), dtype=types[float]) - l2new_aaaa += einsum(x0, (0, 1, 2, 3), x1, (2, 3, 4, 5), (5, 4, 1, 0)) * 2.0 - del x0 - x2 = np.zeros((nvir[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x2 += einsum(v.aaa.xvv, (0, 1, 2), v.aaa.xvv, (0, 3, 4), (1, 3, 4, 2)) - l2new_aaaa += einsum(l2.aaaa, (0, 1, 2, 3), x2, (4, 1, 5, 0), (5, 4, 2, 3)) * -2.0 - del x2 - x3 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x3 += einsum(f.aa.vv, (0, 1), l2.aaaa, (2, 1, 3, 4), (3, 4, 0, 2)) - x4 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x4 += einsum(v.aaa.xov, (0, 1, 2), t2.aaaa, (3, 1, 4, 2), (3, 4, 0)) - x5 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x5 += einsum(v.abb.xov, (0, 1, 2), t2.abab, (3, 1, 4, 2), (3, 4, 0)) - x6 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x6 += einsum(x4, (0, 1, 2), (0, 1, 2)) - x6 += einsum(x5, (0, 1, 2), (0, 1, 2)) * 0.5 - x7 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x7 += einsum(v.aaa.xov, (0, 1, 2), x6, (1, 3, 0), (2, 3)) - x8 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x8 += einsum(x7, (0, 1), l2.aaaa, (2, 1, 3, 4), (3, 4, 0, 2)) * -4.0 - del x7 - x9 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x9 += einsum(x3, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 - del x3 - x9 += einsum(x1, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x9 += einsum(x8, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x8 - l2new_aaaa += einsum(x9, (0, 1, 2, 3), (2, 3, 0, 1)) - l2new_aaaa += einsum(x9, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - del x9 - x10 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x10 += einsum(f.aa.oo, (0, 1), l2.aaaa, (2, 3, 4, 1), (0, 4, 2, 3)) - l2new_aaaa += einsum(x10, (0, 1, 2, 3), (3, 2, 0, 1)) * -2.0 - l2new_aaaa += einsum(x10, (0, 1, 2, 3), (3, 2, 1, 0)) * 2.0 - del x10 - x11 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x11 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 5, 1), (2, 4, 0, 5)) - x12 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x12 += einsum(x1, (0, 1, 2, 3), x11, (4, 1, 5, 2), (4, 0, 5, 3)) - del x11 - x13 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x13 += einsum(v.aaa.xov, (0, 1, 2), (1, 2, 0)) - x13 += einsum(x4, (0, 1, 2), (0, 1, 2)) * 2.0 - del x4 - x13 += einsum(x5, (0, 1, 2), (0, 1, 2)) - del x5 - x14 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x14 += einsum(x13, (0, 1, 2), l2.aaaa, (3, 1, 4, 0), (4, 3, 2)) - x15 = np.zeros((nocc[1], nvir[1], naux), dtype=types[float]) - x15 += einsum(v.aaa.xov, (0, 1, 2), t2.abab, (1, 3, 2, 4), (3, 4, 0)) - x16 = np.zeros((nocc[1], nvir[1], naux), dtype=types[float]) - x16 += einsum(v.abb.xov, (0, 1, 2), t2.bbbb, (3, 1, 4, 2), (3, 4, 0)) - x17 = np.zeros((nocc[1], nvir[1], naux), dtype=types[float]) - x17 += einsum(v.abb.xov, (0, 1, 2), (1, 2, 0)) - x17 += einsum(x15, (0, 1, 2), (0, 1, 2)) - x17 += einsum(x16, (0, 1, 2), (0, 1, 2)) * 2.0 - x18 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x18 += einsum(x17, (0, 1, 2), l2.abab, (3, 1, 4, 0), (4, 3, 2)) * 0.5 - x19 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x19 += einsum(x14, (0, 1, 2), (0, 1, 2)) - del x14 - x19 += einsum(x18, (0, 1, 2), (0, 1, 2)) - del x18 - x20 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x20 += einsum(v.aaa.xov, (0, 1, 2), x19, (3, 4, 0), (1, 3, 2, 4)) * 2.0 - del x19 - x21 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x21 += einsum(v.aaa.xoo, (0, 1, 2), v.aaa.xvv, (0, 3, 4), (1, 2, 3, 4)) - x22 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x22 += einsum(t2.aaaa, (0, 1, 2, 3), x1, (4, 1, 3, 5), (0, 4, 2, 5)) - x23 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x23 += einsum(x21, (0, 1, 2, 3), (1, 0, 3, 2)) - x23 += einsum(x22, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x24 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x24 += einsum(l2.aaaa, (0, 1, 2, 3), x23, (3, 4, 1, 5), (4, 2, 5, 0)) * 2.0 - del x23 - x25 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x25 += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 3, 0, 1), (2, 4)) - x26 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x26 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 0, 1), (2, 4)) - x27 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x27 += einsum(x25, (0, 1), (0, 1)) - del x25 - x27 += einsum(x26, (0, 1), (0, 1)) * 0.5 - del x26 - x28 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x28 += einsum(x27, (0, 1), v.aaa.xov, (2, 1, 3), (0, 3, 2)) - x29 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x29 += einsum(v.aaa.xov, (0, 1, 2), x28, (3, 4, 0), (1, 3, 2, 4)) * -2.0 - del x28 - x30 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x30 += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (2, 3, 4, 1), (0, 4)) - x31 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x31 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 4, 1), (0, 4)) - x32 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x32 += einsum(x30, (0, 1), (0, 1)) - del x30 - x32 += einsum(x31, (0, 1), (0, 1)) * 0.5 - del x31 - x33 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x33 += einsum(x32, (0, 1), v.aaa.xov, (2, 3, 1), (3, 0, 2)) * 2.0 - del x32 - x34 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x34 += einsum(v.aaa.xov, (0, 1, 2), x33, (3, 4, 0), (1, 3, 2, 4)) * -1.0 - x35 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x35 += einsum(x12, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x12 - x35 += einsum(x20, (0, 1, 2, 3), (1, 0, 3, 2)) - del x20 - x35 += einsum(x24, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x24 - x35 += einsum(x29, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x29 - x35 += einsum(x34, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x34 - l2new_aaaa += einsum(x35, (0, 1, 2, 3), (2, 3, 0, 1)) - l2new_aaaa += einsum(x35, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - l2new_aaaa += einsum(x35, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 - l2new_aaaa += einsum(x35, (0, 1, 2, 3), (3, 2, 1, 0)) - del x35 - x36 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x36 += einsum(v.aaa.xov, (0, 1, 2), x6, (3, 2, 0), (1, 3)) - x37 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x37 += einsum(x36, (0, 1), l2.aaaa, (2, 3, 4, 1), (0, 4, 2, 3)) * -4.0 - del x36 - l2new_aaaa += einsum(x37, (0, 1, 2, 3), (2, 3, 1, 0)) - l2new_aaaa += einsum(x37, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 - del x37 - x38 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x38 += einsum(v.aaa.xoo, (0, 1, 2), v.aaa.xoo, (0, 3, 4), (1, 3, 4, 2)) - x38 += einsum(t2.aaaa, (0, 1, 2, 3), x1, (4, 5, 2, 3), (0, 1, 5, 4)) - l2new_aaaa += einsum(l2.aaaa, (0, 1, 2, 3), x38, (3, 2, 4, 5), (0, 1, 5, 4)) * -2.0 - del x38 - x39 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x39 += einsum(v.abb.xoo, (0, 1, 2), v.abb.xvv, (0, 3, 4), (1, 2, 3, 4)) - l2new_abab = np.zeros((nvir[0], nvir[1], nocc[0], nocc[1]), dtype=types[float]) - l2new_abab += einsum(l2.abab, (0, 1, 2, 3), x39, (4, 3, 5, 1), (0, 5, 2, 4)) * -1.0 - x40 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x40 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 5, 0, 1), (2, 4, 3, 5)) - x41 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x41 += einsum(v.aaa.xov, (0, 1, 2), v.abb.xov, (0, 3, 4), (1, 3, 2, 4)) - l2new_abab += einsum(x40, (0, 1, 2, 3), x41, (1, 3, 4, 5), (4, 5, 0, 2)) - del x40 - x42 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x42 += einsum(l2.bbbb, (0, 1, 2, 3), t2.abab, (4, 3, 5, 1), (4, 2, 5, 0)) - l2new_abab += einsum(x1, (0, 1, 2, 3), x42, (1, 4, 2, 5), (3, 5, 0, 4)) * -2.0 - del x1, x42 - x43 = np.zeros((nvir[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) - x43 += einsum(v.aaa.xvv, (0, 1, 2), v.abb.xvv, (0, 3, 4), (1, 2, 3, 4)) - l2new_abab += einsum(l2.abab, (0, 1, 2, 3), x43, (4, 0, 5, 1), (4, 5, 2, 3)) - del x43 - x44 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x44 += einsum(v.aaa.xov, (0, 1, 2), (1, 2, 0)) - x44 += einsum(x13, (0, 1, 2), l2.aaaa, (3, 1, 4, 0), (4, 3, 2)) * 2.0 - x44 += einsum(x17, (0, 1, 2), l2.abab, (3, 1, 4, 0), (4, 3, 2)) - x44 += einsum(x33, (0, 1, 2), (0, 1, 2)) * -1.0 - del x33 - x44 += einsum(x27, (0, 1), v.aaa.xov, (2, 1, 3), (0, 3, 2)) * -2.0 - del x27 - l2new_abab += einsum(v.abb.xov, (0, 1, 2), x44, (3, 4, 0), (4, 2, 3, 1)) - del x44 - x45 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x45 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 0, 4), (1, 4)) - x46 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x46 += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (2, 3, 4, 1), (0, 4)) - x47 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x47 += einsum(x45, (0, 1), (0, 1)) - del x45 - x47 += einsum(x46, (0, 1), (0, 1)) * 2.0 - del x46 - x48 = np.zeros((nocc[1], nvir[1], naux), dtype=types[float]) - x48 += einsum(x47, (0, 1), v.abb.xov, (2, 3, 1), (3, 0, 2)) * 0.5 - del x47 - x49 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x49 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 1), (3, 4)) - x50 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x50 += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 3, 0, 1), (2, 4)) - x51 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x51 += einsum(x49, (0, 1), (0, 1)) - del x49 - x51 += einsum(x50, (0, 1), (0, 1)) * 2.0 - del x50 - x52 = np.zeros((nocc[1], nvir[1], naux), dtype=types[float]) - x52 += einsum(x13, (0, 1, 2), l2.abab, (1, 3, 0, 4), (4, 3, 2)) * 0.5 - x52 += einsum(x17, (0, 1, 2), l2.bbbb, (3, 1, 4, 0), (4, 3, 2)) - x52 += einsum(x48, (0, 1, 2), (0, 1, 2)) * -1.0 - x52 += einsum(x51, (0, 1), v.abb.xov, (2, 1, 3), (0, 3, 2)) * -0.5 - l2new_abab += einsum(v.aaa.xov, (0, 1, 2), x52, (3, 4, 0), (2, 4, 1, 3)) * 2.0 - del x52 - x53 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x53 += einsum(l2.aaaa, (0, 1, 2, 3), t2.abab, (3, 4, 1, 5), (2, 4, 0, 5)) - x53 += einsum(l2.abab, (0, 1, 2, 3), t2.bbbb, (4, 3, 5, 1), (2, 4, 0, 5)) - x54 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x54 += einsum(v.abb.xov, (0, 1, 2), v.abb.xov, (0, 3, 4), (1, 3, 2, 4)) - l2new_abab += einsum(x53, (0, 1, 2, 3), x54, (1, 4, 5, 3), (2, 5, 0, 4)) * -2.0 - del x53 - x55 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x55 += einsum(v.abb.xoo, (0, 1, 2), v.aaa.xvv, (0, 3, 4), (1, 2, 3, 4)) - x55 += einsum(t2.abab, (0, 1, 2, 3), x41, (0, 4, 5, 3), (1, 4, 2, 5)) * -1.0 - l2new_abab += einsum(l2.abab, (0, 1, 2, 3), x55, (3, 4, 0, 5), (5, 1, 2, 4)) * -1.0 - del x55 - x56 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x56 += einsum(x21, (0, 1, 2, 3), (1, 0, 3, 2)) * 0.5 - del x21 - x56 += einsum(x22, (0, 1, 2, 3), (0, 1, 2, 3)) - del x22 - l2new_abab += einsum(l2.abab, (0, 1, 2, 3), x56, (2, 4, 0, 5), (5, 1, 4, 3)) * -2.0 - del x56 - x57 = np.zeros((nocc[0], nocc[0], nvir[1], nvir[1]), dtype=types[float]) - x57 += einsum(v.aaa.xoo, (0, 1, 2), v.abb.xvv, (0, 3, 4), (1, 2, 3, 4)) - x57 += einsum(t2.abab, (0, 1, 2, 3), x41, (4, 1, 2, 5), (0, 4, 3, 5)) * -1.0 - l2new_abab += einsum(l2.abab, (0, 1, 2, 3), x57, (2, 4, 1, 5), (0, 5, 4, 3)) * -1.0 - del x57 - x58 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x58 += einsum(f.aa.vv, (0, 1), (0, 1)) * -1.0 - x58 += einsum(v.aaa.xov, (0, 1, 2), x6, (1, 3, 0), (3, 2)) * 2.0 - l2new_abab += einsum(x58, (0, 1), l2.abab, (0, 2, 3, 4), (1, 2, 3, 4)) * -1.0 - del x58 - x59 = np.zeros((nocc[1], nvir[1], naux), dtype=types[float]) - x59 += einsum(x15, (0, 1, 2), (0, 1, 2)) - del x15 - x59 += einsum(x16, (0, 1, 2), (0, 1, 2)) * 2.0 - del x16 - x60 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x60 += einsum(f.bb.vv, (0, 1), (0, 1)) * -0.5 - x60 += einsum(v.abb.xov, (0, 1, 2), x59, (1, 3, 0), (3, 2)) * 0.5 - l2new_abab += einsum(x60, (0, 1), l2.abab, (2, 0, 3, 4), (2, 1, 3, 4)) * -2.0 - del x60 - x61 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x61 += einsum(v.aaa.xoo, (0, 1, 2), v.abb.xoo, (0, 3, 4), (1, 2, 3, 4)) - x61 += einsum(t2.abab, (0, 1, 2, 3), x41, (4, 5, 2, 3), (0, 4, 1, 5)) - del x41 - l2new_abab += einsum(l2.abab, (0, 1, 2, 3), x61, (2, 4, 3, 5), (0, 1, 4, 5)) - del x61 - x62 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x62 += einsum(f.aa.oo, (0, 1), (0, 1)) - x62 += einsum(v.aaa.xov, (0, 1, 2), x6, (3, 2, 0), (3, 1)) * 2.0 - del x6 - l2new_abab += einsum(x62, (0, 1), l2.abab, (2, 3, 0, 4), (2, 3, 1, 4)) * -1.0 - del x62 - x63 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x63 += einsum(v.abb.xov, (0, 1, 2), x59, (3, 2, 0), (1, 3)) - x64 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x64 += einsum(f.bb.oo, (0, 1), (0, 1)) - x64 += einsum(x63, (0, 1), (1, 0)) - l2new_abab += einsum(x64, (0, 1), l2.abab, (2, 3, 4, 0), (2, 3, 4, 1)) * -1.0 - del x64 - x65 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x65 += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 5, 0, 1), (2, 3, 4, 5)) - l2new_bbbb = np.zeros((nvir[1], nvir[1], nocc[1], nocc[1]), dtype=types[float]) - l2new_bbbb += einsum(x54, (0, 1, 2, 3), x65, (4, 5, 0, 1), (3, 2, 5, 4)) * 2.0 - del x65 - x66 = np.zeros((nvir[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x66 += einsum(v.abb.xvv, (0, 1, 2), v.abb.xvv, (0, 3, 4), (1, 3, 4, 2)) - l2new_bbbb += einsum(l2.bbbb, (0, 1, 2, 3), x66, (4, 1, 5, 0), (5, 4, 2, 3)) * -2.0 - del x66 - x67 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x67 += einsum(l2.bbbb, (0, 1, 2, 3), x39, (4, 3, 5, 1), (2, 4, 0, 5)) - del x39 - x68 = np.zeros((nocc[1], nvir[1], naux), dtype=types[float]) - x68 += einsum(x13, (0, 1, 2), l2.abab, (1, 3, 0, 4), (4, 3, 2)) - del x13 - x69 = np.zeros((nocc[1], nvir[1], naux), dtype=types[float]) - x69 += einsum(x17, (0, 1, 2), l2.bbbb, (3, 1, 4, 0), (4, 3, 2)) * 2.0 - del x17 - x70 = np.zeros((nocc[1], nvir[1], naux), dtype=types[float]) - x70 += einsum(x68, (0, 1, 2), (0, 1, 2)) - del x68 - x70 += einsum(x69, (0, 1, 2), (0, 1, 2)) - del x69 - x71 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x71 += einsum(v.abb.xov, (0, 1, 2), x70, (3, 4, 0), (1, 3, 2, 4)) - del x70 - x72 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x72 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 5), (3, 4, 1, 5)) - x73 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x73 += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 3, 5, 1), (2, 4, 0, 5)) - x74 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x74 += einsum(x72, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.25 - del x72 - x74 += einsum(x73, (0, 1, 2, 3), (0, 1, 2, 3)) - del x73 - x75 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x75 += einsum(x54, (0, 1, 2, 3), x74, (4, 0, 5, 3), (4, 1, 5, 2)) * 4.0 - del x74 - x76 = np.zeros((nocc[1], nvir[1], naux), dtype=types[float]) - x76 += einsum(x51, (0, 1), v.abb.xov, (2, 1, 3), (0, 3, 2)) - del x51 - x77 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x77 += einsum(v.abb.xov, (0, 1, 2), x76, (3, 4, 0), (1, 3, 2, 4)) * -1.0 - del x76 - x78 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x78 += einsum(v.abb.xov, (0, 1, 2), x48, (3, 4, 0), (1, 3, 2, 4)) * -2.0 - del x48 - x79 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x79 += einsum(x67, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - del x67 - x79 += einsum(x71, (0, 1, 2, 3), (1, 0, 3, 2)) - del x71 - x79 += einsum(x75, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x75 - x79 += einsum(x77, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x77 - x79 += einsum(x78, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x78 - l2new_bbbb += einsum(x79, (0, 1, 2, 3), (2, 3, 0, 1)) - l2new_bbbb += einsum(x79, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - l2new_bbbb += einsum(x79, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 - l2new_bbbb += einsum(x79, (0, 1, 2, 3), (3, 2, 1, 0)) - del x79 - x80 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x80 += einsum(f.bb.vv, (0, 1), l2.bbbb, (2, 1, 3, 4), (3, 4, 0, 2)) - x81 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x81 += einsum(v.abb.xov, (0, 1, 2), x59, (1, 3, 0), (2, 3)) - del x59 - x82 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x82 += einsum(x81, (0, 1), l2.bbbb, (2, 1, 3, 4), (3, 4, 2, 0)) * -2.0 - del x81 - x83 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x83 += einsum(x80, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 - del x80 - x83 += einsum(x54, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x83 += einsum(x82, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x82 - l2new_bbbb += einsum(x83, (0, 1, 2, 3), (2, 3, 0, 1)) - l2new_bbbb += einsum(x83, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - del x83 - x84 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x84 += einsum(x63, (0, 1), l2.bbbb, (2, 3, 4, 1), (4, 0, 2, 3)) * -2.0 - del x63 - l2new_bbbb += einsum(x84, (0, 1, 2, 3), (2, 3, 0, 1)) - l2new_bbbb += einsum(x84, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 - del x84 - x85 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x85 += einsum(f.bb.oo, (0, 1), l2.bbbb, (2, 3, 4, 1), (0, 4, 2, 3)) - l2new_bbbb += einsum(x85, (0, 1, 2, 3), (3, 2, 0, 1)) * -2.0 - l2new_bbbb += einsum(x85, (0, 1, 2, 3), (3, 2, 1, 0)) * 2.0 - del x85 - x86 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x86 += einsum(v.abb.xoo, (0, 1, 2), v.abb.xoo, (0, 3, 4), (1, 3, 4, 2)) - x86 += einsum(t2.bbbb, (0, 1, 2, 3), x54, (4, 5, 2, 3), (0, 1, 5, 4)) - del x54 - l2new_bbbb += einsum(l2.bbbb, (0, 1, 2, 3), x86, (3, 2, 4, 5), (0, 1, 5, 4)) * -2.0 - del x86 - - l2new.aaaa = l2new_aaaa - l2new.abab = l2new_abab - l2new.bbbb = l2new_bbbb - - return {"l2new": l2new} - diff --git a/ebcc/codegen/UDFCCSD.py b/ebcc/codegen/UDFCCSD.py deleted file mode 100644 index 1af43689..00000000 --- a/ebcc/codegen/UDFCCSD.py +++ /dev/null @@ -1,2898 +0,0 @@ -# Code generated by qwick. - -from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, Namespace -from ebcc.precision import types - -def energy(f=None, v=None, nocc=None, nvir=None, naux=None, t1=None, t2=None, **kwargs): - # energy - x0 = np.zeros((naux,), dtype=types[float]) - x0 += einsum(t1.bb, (0, 1), v.abb.xov, (2, 0, 1), (2,)) - x1 = np.zeros((naux,), dtype=types[float]) - x1 += einsum(t1.aa, (0, 1), v.aaa.xov, (2, 0, 1), (2,)) - x1 += einsum(x0, (0,), (0,)) * 2.0 - x2 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x2 += einsum(v.aaa.xov, (0, 1, 2), t2.aaaa, (3, 1, 4, 2), (3, 4, 0)) - x2 += einsum(v.abb.xov, (0, 1, 2), t2.abab, (3, 1, 4, 2), (3, 4, 0)) - x2 += einsum(x1, (0,), t1.aa, (1, 2), (1, 2, 0)) * 0.5 - del x1 - e_cc = 0 - e_cc += einsum(v.aaa.xov, (0, 1, 2), x2, (1, 2, 0), ()) - del x2 - x3 = np.zeros((nocc[0], nocc[0], naux), dtype=types[float]) - x3 += einsum(t1.aa, (0, 1), v.aaa.xov, (2, 3, 1), (0, 3, 2)) - x4 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x4 += einsum(f.aa.ov, (0, 1), (0, 1)) * 2.0 - x4 += einsum(v.aaa.xov, (0, 1, 2), x3, (1, 3, 0), (3, 2)) * -1.0 - del x3 - e_cc += einsum(t1.aa, (0, 1), x4, (0, 1), ()) * 0.5 - del x4 - x5 = np.zeros((nocc[1], nocc[1], naux), dtype=types[float]) - x5 += einsum(t1.bb, (0, 1), v.abb.xov, (2, 3, 1), (0, 3, 2)) - x6 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x6 += einsum(f.bb.ov, (0, 1), (0, 1)) - x6 += einsum(v.abb.xov, (0, 1, 2), x5, (1, 3, 0), (3, 2)) * -0.5 - del x5 - e_cc += einsum(t1.bb, (0, 1), x6, (0, 1), ()) - del x6 - x7 = np.zeros((nocc[1], nvir[1], naux), dtype=types[float]) - x7 += einsum(v.abb.xov, (0, 1, 2), t2.bbbb, (3, 1, 4, 2), (3, 4, 0)) - x7 += einsum(x0, (0,), t1.bb, (1, 2), (1, 2, 0)) * 0.5 - del x0 - e_cc += einsum(v.abb.xov, (0, 1, 2), x7, (1, 2, 0), ()) - del x7 - - return e_cc - -def update_amps(f=None, v=None, nocc=None, nvir=None, naux=None, t1=None, t2=None, **kwargs): - t1new = Namespace() - t2new = Namespace() - - # T amplitudes - t1new_aa = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - t1new_aa += einsum(f.aa.ov, (0, 1), (0, 1)) - t1new_aa += einsum(f.aa.vv, (0, 1), t1.aa, (2, 1), (2, 0)) - t1new_bb = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - t1new_bb += einsum(f.bb.vv, (0, 1), t1.bb, (2, 1), (2, 0)) - t1new_bb += einsum(f.bb.ov, (0, 1), (0, 1)) - x0 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x0 += einsum(t1.aa, (0, 1), v.aaa.xoo, (2, 3, 0), (3, 1, 2)) - x1 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x1 += einsum(v.abb.xov, (0, 1, 2), t2.abab, (3, 1, 4, 2), (3, 4, 0)) - x2 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x2 += einsum(t2.aaaa, (0, 1, 2, 3), (0, 1, 2, 3)) - x2 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 3, 1)) * -0.5 - x3 = np.zeros((naux,), dtype=types[float]) - x3 += einsum(t1.aa, (0, 1), v.aaa.xov, (2, 0, 1), (2,)) - x4 = np.zeros((naux,), dtype=types[float]) - x4 += einsum(t1.bb, (0, 1), v.abb.xov, (2, 0, 1), (2,)) - x5 = np.zeros((naux,), dtype=types[float]) - x5 += einsum(x3, (0,), (0,)) - del x3 - x5 += einsum(x4, (0,), (0,)) - del x4 - x6 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x6 += einsum(x0, (0, 1, 2), (0, 1, 2)) * -1.0 - x6 += einsum(x1, (0, 1, 2), (0, 1, 2)) - x6 += einsum(v.aaa.xov, (0, 1, 2), x2, (1, 3, 2, 4), (3, 4, 0)) * 2.0 - del x2 - x6 += einsum(x5, (0,), t1.aa, (1, 2), (1, 2, 0)) - t1new_aa += einsum(v.aaa.xvv, (0, 1, 2), x6, (3, 2, 0), (3, 1)) - del x6 - x7 = np.zeros((nocc[0], nocc[0], naux), dtype=types[float]) - x7 += einsum(t1.aa, (0, 1), v.aaa.xov, (2, 3, 1), (0, 3, 2)) - x8 = np.zeros((nocc[0], nocc[0], naux), dtype=types[float]) - x8 += einsum(v.aaa.xoo, (0, 1, 2), (1, 2, 0)) - x8 += einsum(x7, (0, 1, 2), (0, 1, 2)) - x9 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x9 += einsum(v.abb.xov, (0, 1, 2), x8, (3, 4, 0), (4, 3, 1, 2)) - t1new_aa += einsum(t2.abab, (0, 1, 2, 3), x9, (0, 4, 1, 3), (4, 2)) * -1.0 - del x9 - x10 = np.zeros((nocc[0], nocc[0], naux), dtype=types[float]) - x10 += einsum(v.aaa.xoo, (0, 1, 2), (1, 2, 0)) - x10 += einsum(x7, (0, 1, 2), (1, 0, 2)) - x11 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x11 += einsum(v.aaa.xov, (0, 1, 2), x10, (3, 4, 0), (1, 3, 4, 2)) - t1new_aa += einsum(t2.aaaa, (0, 1, 2, 3), x11, (0, 1, 4, 3), (4, 2)) * 2.0 - x12 = np.zeros((nocc[1], nocc[1], naux), dtype=types[float]) - x12 += einsum(t1.bb, (0, 1), v.abb.xov, (2, 3, 1), (0, 3, 2)) - x13 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x13 += einsum(v.abb.xov, (0, 1, 2), x12, (1, 3, 0), (3, 2)) - x14 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x14 += einsum(x5, (0,), v.abb.xov, (0, 1, 2), (1, 2)) - t1new_bb += einsum(x14, (0, 1), (0, 1)) - x15 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x15 += einsum(f.bb.ov, (0, 1), (0, 1)) - x15 += einsum(x13, (0, 1), (0, 1)) * -1.0 - x15 += einsum(x14, (0, 1), (0, 1)) - del x14 - t1new_aa += einsum(x15, (0, 1), t2.abab, (2, 0, 3, 1), (2, 3)) - t1new_bb += einsum(x15, (0, 1), t2.bbbb, (2, 0, 3, 1), (2, 3)) * 2.0 - x16 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x16 += einsum(v.aaa.xov, (0, 1, 2), x7, (1, 3, 0), (3, 2)) - x17 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x17 += einsum(x5, (0,), v.aaa.xov, (0, 1, 2), (1, 2)) - t1new_aa += einsum(x17, (0, 1), (0, 1)) - x18 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x18 += einsum(f.aa.ov, (0, 1), (0, 1)) - x18 += einsum(x16, (0, 1), (0, 1)) * -1.0 - x18 += einsum(x17, (0, 1), (0, 1)) - del x17 - t1new_aa += einsum(x18, (0, 1), t2.aaaa, (2, 0, 3, 1), (2, 3)) * 2.0 - t1new_bb += einsum(x18, (0, 1), t2.abab, (0, 2, 1, 3), (2, 3)) - x19 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x19 += einsum(v.aaa.xov, (0, 1, 2), t2.aaaa, (3, 1, 4, 2), (3, 4, 0)) - x20 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x20 += einsum(x0, (0, 1, 2), (0, 1, 2)) * -1.0 - x20 += einsum(x19, (0, 1, 2), (0, 1, 2)) * 2.0 - x20 += einsum(x1, (0, 1, 2), (0, 1, 2)) - x20 += einsum(x5, (0,), t1.aa, (1, 2), (1, 2, 0)) - x21 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x21 += einsum(v.aaa.xov, (0, 1, 2), x20, (3, 2, 0), (1, 3)) - del x20 - x22 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x22 += einsum(x5, (0,), v.aaa.xoo, (0, 1, 2), (1, 2)) - x23 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x23 += einsum(f.aa.ov, (0, 1), (0, 1)) - x23 += einsum(x16, (0, 1), (0, 1)) * -1.0 - del x16 - x24 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x24 += einsum(t1.aa, (0, 1), x23, (2, 1), (0, 2)) - x25 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x25 += einsum(f.aa.oo, (0, 1), (0, 1)) - x25 += einsum(x21, (0, 1), (0, 1)) - del x21 - x25 += einsum(x22, (0, 1), (1, 0)) - x25 += einsum(x24, (0, 1), (1, 0)) - del x24 - t1new_aa += einsum(t1.aa, (0, 1), x25, (0, 2), (2, 1)) * -1.0 - t2new_abab = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - t2new_abab += einsum(x25, (0, 1), t2.abab, (0, 2, 3, 4), (1, 2, 3, 4)) * -1.0 - del x25 - x26 = np.zeros((nocc[1], nvir[1], naux), dtype=types[float]) - x26 += einsum(t1.bb, (0, 1), v.abb.xoo, (2, 3, 0), (3, 1, 2)) - x27 = np.zeros((nocc[1], nvir[1], naux), dtype=types[float]) - x27 += einsum(v.aaa.xov, (0, 1, 2), t2.abab, (1, 3, 2, 4), (3, 4, 0)) - x28 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x28 += einsum(t2.bbbb, (0, 1, 2, 3), (0, 1, 2, 3)) - x28 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1)) * -0.5 - x29 = np.zeros((nocc[1], nvir[1], naux), dtype=types[float]) - x29 += einsum(v.abb.xov, (0, 1, 2), x28, (1, 3, 2, 4), (3, 4, 0)) - del x28 - x30 = np.zeros((nocc[1], nvir[1], naux), dtype=types[float]) - x30 += einsum(x26, (0, 1, 2), (0, 1, 2)) * -0.5 - x30 += einsum(x27, (0, 1, 2), (0, 1, 2)) * 0.5 - x30 += einsum(x29, (0, 1, 2), (0, 1, 2)) - x30 += einsum(x5, (0,), t1.bb, (1, 2), (1, 2, 0)) * 0.5 - t1new_bb += einsum(v.abb.xvv, (0, 1, 2), x30, (3, 2, 0), (3, 1)) * 2.0 - del x30 - x31 = np.zeros((nocc[1], nocc[1], naux), dtype=types[float]) - x31 += einsum(v.abb.xoo, (0, 1, 2), (1, 2, 0)) - x31 += einsum(x12, (0, 1, 2), (1, 0, 2)) - x32 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x32 += einsum(v.abb.xov, (0, 1, 2), x31, (3, 4, 0), (4, 1, 3, 2)) - t1new_bb += einsum(t2.bbbb, (0, 1, 2, 3), x32, (4, 0, 1, 3), (4, 2)) * 2.0 - del x32 - x33 = np.zeros((nocc[1], nocc[1], naux), dtype=types[float]) - x33 += einsum(v.abb.xoo, (0, 1, 2), (1, 2, 0)) - x33 += einsum(x12, (0, 1, 2), (0, 1, 2)) - x34 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x34 += einsum(v.aaa.xov, (0, 1, 2), x33, (3, 4, 0), (1, 4, 3, 2)) - t1new_bb += einsum(t2.abab, (0, 1, 2, 3), x34, (0, 1, 4, 2), (4, 3)) * -1.0 - del x34 - x35 = np.zeros((nocc[1], nvir[1], naux), dtype=types[float]) - x35 += einsum(v.abb.xov, (0, 1, 2), t2.bbbb, (3, 1, 4, 2), (3, 4, 0)) - x36 = np.zeros((nocc[1], nvir[1], naux), dtype=types[float]) - x36 += einsum(x26, (0, 1, 2), (0, 1, 2)) * -1.0 - x36 += einsum(x27, (0, 1, 2), (0, 1, 2)) - x36 += einsum(x35, (0, 1, 2), (0, 1, 2)) * 2.0 - x36 += einsum(x5, (0,), t1.bb, (1, 2), (1, 2, 0)) - x37 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x37 += einsum(v.abb.xov, (0, 1, 2), x36, (3, 2, 0), (1, 3)) * 0.5 - del x36 - x38 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x38 += einsum(x5, (0,), v.abb.xoo, (0, 1, 2), (1, 2)) * 0.5 - x39 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x39 += einsum(f.bb.ov, (0, 1), (0, 1)) - x39 += einsum(x13, (0, 1), (0, 1)) * -1.0 - del x13 - x40 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x40 += einsum(t1.bb, (0, 1), x39, (2, 1), (0, 2)) * 0.5 - x41 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x41 += einsum(f.bb.oo, (0, 1), (0, 1)) * 0.5 - x41 += einsum(x37, (0, 1), (0, 1)) - del x37 - x41 += einsum(x38, (0, 1), (1, 0)) - del x38 - x41 += einsum(x40, (0, 1), (1, 0)) - del x40 - t1new_bb += einsum(t1.bb, (0, 1), x41, (0, 2), (2, 1)) * -2.0 - t2new_abab += einsum(x41, (0, 1), t2.abab, (2, 0, 3, 4), (2, 1, 3, 4)) * -2.0 - del x41 - x42 = np.zeros((nvir[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x42 += einsum(v.aaa.xvv, (0, 1, 2), v.aaa.xvv, (0, 3, 4), (1, 3, 4, 2)) - t2new_aaaa = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - t2new_aaaa += einsum(t2.aaaa, (0, 1, 2, 3), x42, (4, 3, 5, 2), (0, 1, 4, 5)) * 2.0 - del x42 - x43 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x43 += einsum(v.aaa.xov, (0, 1, 2), v.aaa.xov, (0, 3, 4), (1, 3, 2, 4)) - x44 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x44 += einsum(t2.aaaa, (0, 1, 2, 3), x43, (4, 5, 2, 3), (0, 1, 5, 4)) * -1.0 - x45 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x45 += einsum(t1.aa, (0, 1), x44, (2, 3, 4, 0), (2, 3, 4, 1)) - t2new_aaaa += einsum(t1.aa, (0, 1), x45, (2, 3, 0, 4), (2, 3, 1, 4)) * 2.0 - del x45 - x46 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x46 += einsum(t1.aa, (0, 1), v.aaa.xvv, (2, 3, 1), (0, 3, 2)) - x47 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x47 += einsum(x46, (0, 1, 2), x46, (3, 4, 2), (0, 3, 1, 4)) - x48 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x48 += einsum(x46, (0, 1, 2), (0, 1, 2)) - x48 += einsum(x19, (0, 1, 2), (0, 1, 2)) * 2.0 - x48 += einsum(x1, (0, 1, 2), (0, 1, 2)) - x49 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x49 += einsum(v.aaa.xov, (0, 1, 2), x48, (1, 3, 0), (2, 3)) - del x48 - x50 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x50 += einsum(x5, (0,), v.aaa.xvv, (0, 1, 2), (1, 2)) - x51 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x51 += einsum(x49, (0, 1), (0, 1)) - del x49 - x51 += einsum(x50, (0, 1), (1, 0)) * -1.0 - x52 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x52 += einsum(x51, (0, 1), t2.aaaa, (2, 3, 4, 0), (2, 3, 4, 1)) * -2.0 - del x51 - x53 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x53 += einsum(x43, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x53 += einsum(x43, (0, 1, 2, 3), (1, 0, 3, 2)) - x54 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x54 += einsum(t2.aaaa, (0, 1, 2, 3), x53, (1, 4, 5, 3), (0, 4, 2, 5)) - del x53 - x55 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x55 += einsum(t2.aaaa, (0, 1, 2, 3), x54, (4, 1, 5, 3), (0, 4, 2, 5)) * -4.0 - del x54 - x56 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x56 += einsum(v.abb.xov, (0, 1, 2), v.abb.xov, (0, 3, 4), (1, 3, 2, 4)) - x57 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x57 += einsum(x56, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x57 += einsum(x56, (0, 1, 2, 3), (1, 0, 3, 2)) - x58 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x58 += einsum(t2.abab, (0, 1, 2, 3), x57, (1, 4, 5, 3), (0, 4, 2, 5)) - del x57 - x59 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x59 += einsum(t2.abab, (0, 1, 2, 3), x58, (4, 1, 5, 3), (0, 4, 2, 5)) * -1.0 - del x58 - x60 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x60 += einsum(v.aaa.xov, (0, 1, 2), v.aaa.xvv, (0, 3, 4), (1, 2, 3, 4)) - x61 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x61 += einsum(t2.aaaa, (0, 1, 2, 3), x60, (4, 2, 5, 3), (0, 1, 4, 5)) - del x60 - x62 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x62 += einsum(x18, (0, 1), t2.aaaa, (2, 3, 4, 1), (2, 3, 0, 4)) * -1.0 - x63 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x63 += einsum(v.aaa.xoo, (0, 1, 2), v.aaa.xoo, (0, 3, 4), (1, 3, 4, 2)) - x64 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x64 += einsum(x7, (0, 1, 2), x7, (3, 4, 2), (0, 3, 1, 4)) - x65 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x65 += einsum(x63, (0, 1, 2, 3), (3, 2, 1, 0)) - x65 += einsum(x64, (0, 1, 2, 3), (2, 3, 1, 0)) - x66 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x66 += einsum(t1.aa, (0, 1), x65, (0, 2, 3, 4), (2, 3, 4, 1)) * 0.5 - del x65 - x67 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x67 += einsum(x61, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - del x61 - x67 += einsum(x62, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - del x62 - x67 += einsum(x66, (0, 1, 2, 3), (0, 2, 1, 3)) - del x66 - x68 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x68 += einsum(t1.aa, (0, 1), x67, (0, 2, 3, 4), (2, 3, 1, 4)) * 2.0 - del x67 - x69 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x69 += einsum(x47, (0, 1, 2, 3), (0, 1, 2, 3)) - del x47 - x69 += einsum(x52, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x52 - x69 += einsum(x55, (0, 1, 2, 3), (1, 0, 3, 2)) - del x55 - x69 += einsum(x59, (0, 1, 2, 3), (0, 1, 2, 3)) - del x59 - x69 += einsum(x68, (0, 1, 2, 3), (1, 0, 2, 3)) - del x68 - t2new_aaaa += einsum(x69, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new_aaaa += einsum(x69, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x69 - x70 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x70 += einsum(v.aaa.xov, (0, 1, 2), x1, (3, 4, 0), (3, 1, 4, 2)) - x71 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x71 += einsum(v.aaa.xvv, (0, 1, 2), x7, (3, 4, 0), (3, 4, 1, 2)) - x72 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x72 += einsum(t2.aaaa, (0, 1, 2, 3), x71, (4, 1, 5, 3), (4, 0, 2, 5)) - del x71 - x73 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x73 += einsum(v.aaa.xov, (0, 1, 2), (1, 2, 0)) * 0.5 - x73 += einsum(x0, (0, 1, 2), (0, 1, 2)) * -0.5 - x73 += einsum(x19, (0, 1, 2), (0, 1, 2)) - x73 += einsum(x1, (0, 1, 2), (0, 1, 2)) * 0.5 - x74 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x74 += einsum(x46, (0, 1, 2), x73, (3, 4, 2), (0, 3, 1, 4)) * 2.0 - del x73 - x75 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x75 += einsum(v.aaa.xoo, (0, 1, 2), v.aaa.xvv, (0, 3, 4), (1, 2, 3, 4)) - x76 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x76 += einsum(v.aaa.xov, (0, 1, 2), (1, 2, 0)) - x76 += einsum(x1, (0, 1, 2), (0, 1, 2)) - x77 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x77 += einsum(v.aaa.xov, (0, 1, 2), x76, (3, 4, 0), (1, 3, 2, 4)) - del x76 - x78 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x78 += einsum(x75, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x75 - x78 += einsum(x77, (0, 1, 2, 3), (0, 1, 2, 3)) - del x77 - x79 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x79 += einsum(t2.aaaa, (0, 1, 2, 3), x78, (1, 4, 3, 5), (0, 4, 2, 5)) * 2.0 - del x78 - x80 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x80 += einsum(v.aaa.xoo, (0, 1, 2), x7, (3, 4, 0), (3, 1, 2, 4)) - x81 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x81 += einsum(t1.aa, (0, 1), x80, (2, 3, 4, 0), (2, 3, 4, 1)) - x82 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x82 += einsum(v.aaa.xoo, (0, 1, 2), v.abb.xov, (0, 3, 4), (1, 2, 3, 4)) - x83 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x83 += einsum(t2.abab, (0, 1, 2, 3), x82, (4, 5, 1, 3), (0, 5, 4, 2)) - del x82 - x84 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x84 += einsum(x46, (0, 1, 2), x7, (3, 4, 2), (3, 0, 4, 1)) - x85 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x85 += einsum(v.abb.xov, (0, 1, 2), x7, (3, 4, 0), (3, 4, 1, 2)) - x86 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x86 += einsum(t2.abab, (0, 1, 2, 3), x85, (4, 5, 1, 3), (4, 0, 5, 2)) - del x85 - x87 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x87 += einsum(v.aaa.xoo, (0, 1, 2), v.aaa.xov, (0, 3, 4), (1, 2, 3, 4)) - x88 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x88 += einsum(x87, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x88 += einsum(x87, (0, 1, 2, 3), (2, 1, 0, 3)) - del x87 - x89 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x89 += einsum(t2.aaaa, (0, 1, 2, 3), x88, (1, 4, 5, 3), (0, 4, 5, 2)) * 2.0 - del x88 - x90 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x90 += einsum(v.aaa.xov, (0, 1, 2), x7, (3, 4, 0), (3, 1, 4, 2)) - del x7 - x91 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x91 += einsum(x90, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x91 += einsum(x90, (0, 1, 2, 3), (0, 2, 1, 3)) - del x90 - x92 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x92 += einsum(t2.aaaa, (0, 1, 2, 3), x91, (4, 1, 5, 3), (0, 4, 5, 2)) * 2.0 - del x91 - x93 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x93 += einsum(x81, (0, 1, 2, 3), (0, 2, 1, 3)) - del x81 - x93 += einsum(x83, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x83 - x93 += einsum(x84, (0, 1, 2, 3), (0, 1, 2, 3)) - del x84 - x93 += einsum(x86, (0, 1, 2, 3), (0, 1, 2, 3)) - del x86 - x93 += einsum(x89, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x89 - x93 += einsum(x92, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x92 - x93 += einsum(x11, (0, 1, 2, 3), (2, 0, 1, 3)) - del x11 - x94 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x94 += einsum(t1.aa, (0, 1), x93, (2, 3, 0, 4), (2, 3, 1, 4)) - del x93 - x95 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x95 += einsum(x70, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x70 - x95 += einsum(x72, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - del x72 - x95 += einsum(x74, (0, 1, 2, 3), (0, 1, 3, 2)) - del x74 - x95 += einsum(x79, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x79 - x95 += einsum(x94, (0, 1, 2, 3), (0, 1, 2, 3)) - del x94 - t2new_aaaa += einsum(x95, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_aaaa += einsum(x95, (0, 1, 2, 3), (0, 1, 3, 2)) - t2new_aaaa += einsum(x95, (0, 1, 2, 3), (1, 0, 2, 3)) - t2new_aaaa += einsum(x95, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x95 - x96 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x96 += einsum(t2.aaaa, (0, 1, 2, 3), x80, (4, 0, 5, 1), (4, 5, 2, 3)) - del x80 - x97 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x97 += einsum(t1.aa, (0, 1), x18, (2, 1), (0, 2)) - del x18 - x98 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x98 += einsum(f.aa.oo, (0, 1), (0, 1)) - x98 += einsum(x97, (0, 1), (0, 1)) - del x97 - x99 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x99 += einsum(x98, (0, 1), t2.aaaa, (2, 1, 3, 4), (2, 0, 3, 4)) * -2.0 - del x98 - x100 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x100 += einsum(x0, (0, 1, 2), (0, 1, 2)) * -1.0 - del x0 - x100 += einsum(x19, (0, 1, 2), (0, 1, 2)) * 2.0 - x100 += einsum(x1, (0, 1, 2), (0, 1, 2)) - x101 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x101 += einsum(v.aaa.xov, (0, 1, 2), x100, (3, 2, 0), (1, 3)) - del x100 - x102 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x102 += einsum(x101, (0, 1), (0, 1)) - del x101 - x102 += einsum(x22, (0, 1), (1, 0)) - del x22 - x103 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x103 += einsum(x102, (0, 1), t2.aaaa, (2, 0, 3, 4), (2, 1, 3, 4)) * -2.0 - del x102 - x104 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x104 += einsum(x96, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - del x96 - x104 += einsum(x99, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x99 - x104 += einsum(x103, (0, 1, 2, 3), (0, 1, 3, 2)) - del x103 - t2new_aaaa += einsum(x104, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_aaaa += einsum(x104, (0, 1, 2, 3), (1, 0, 2, 3)) - del x104 - x105 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x105 += einsum(f.aa.vv, (0, 1), t2.aaaa, (2, 3, 4, 1), (2, 3, 0, 4)) - x106 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x106 += einsum(x105, (0, 1, 2, 3), (1, 0, 2, 3)) * -2.0 - del x105 - x106 += einsum(x43, (0, 1, 2, 3), (1, 0, 2, 3)) - t2new_aaaa += einsum(x106, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_aaaa += einsum(x106, (0, 1, 2, 3), (0, 1, 3, 2)) - del x106 - x107 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x107 += einsum(x63, (0, 1, 2, 3), (3, 2, 1, 0)) - del x63 - x107 += einsum(x44, (0, 1, 2, 3), (2, 1, 3, 0)) - del x44 - x107 += einsum(x64, (0, 1, 2, 3), (2, 1, 3, 0)) - del x64 - t2new_aaaa += einsum(t2.aaaa, (0, 1, 2, 3), x107, (0, 4, 1, 5), (4, 5, 2, 3)) * -2.0 - del x107 - x108 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x108 += einsum(v.aaa.xov, (0, 1, 2), (1, 2, 0)) - x108 += einsum(x46, (0, 1, 2), (0, 1, 2)) - x108 += einsum(x19, (0, 1, 2), (0, 1, 2)) * 2.0 - x108 += einsum(x1, (0, 1, 2), (0, 1, 2)) - x109 = np.zeros((nocc[1], nvir[1], naux), dtype=types[float]) - x109 += einsum(t1.bb, (0, 1), v.abb.xvv, (2, 3, 1), (0, 3, 2)) - x110 = np.zeros((nocc[1], nvir[1], naux), dtype=types[float]) - x110 += einsum(v.abb.xov, (0, 1, 2), (1, 2, 0)) - x110 += einsum(x109, (0, 1, 2), (0, 1, 2)) - x110 += einsum(x27, (0, 1, 2), (0, 1, 2)) - x110 += einsum(x35, (0, 1, 2), (0, 1, 2)) * 2.0 - t2new_abab += einsum(x108, (0, 1, 2), x110, (3, 4, 2), (0, 3, 1, 4)) - del x108, x110 - x111 = np.zeros((nvir[0], nvir[0], naux), dtype=types[float]) - x111 += einsum(t1.aa, (0, 1), v.aaa.xov, (2, 0, 3), (1, 3, 2)) - x112 = np.zeros((nvir[0], nvir[0], naux), dtype=types[float]) - x112 += einsum(v.aaa.xvv, (0, 1, 2), (1, 2, 0)) - x112 += einsum(x111, (0, 1, 2), (0, 1, 2)) * -1.0 - del x111 - x113 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x113 += einsum(v.aaa.xov, (0, 1, 2), x8, (3, 4, 0), (4, 3, 1, 2)) - x114 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x114 += einsum(t2.aaaa, (0, 1, 2, 3), x43, (1, 4, 5, 3), (4, 0, 5, 2)) - x114 += einsum(x112, (0, 1, 2), x8, (3, 4, 2), (4, 3, 1, 0)) * 0.5 - x114 += einsum(t1.aa, (0, 1), x113, (0, 2, 3, 4), (3, 2, 4, 1)) * 0.5 - del x113 - t2new_abab += einsum(t2.abab, (0, 1, 2, 3), x114, (0, 4, 2, 5), (4, 1, 5, 3)) * -2.0 - del x114 - x115 = np.zeros((nvir[1], nvir[1], naux), dtype=types[float]) - x115 += einsum(t1.bb, (0, 1), v.abb.xov, (2, 0, 3), (1, 3, 2)) - x116 = np.zeros((nvir[1], nvir[1], naux), dtype=types[float]) - x116 += einsum(v.abb.xvv, (0, 1, 2), (1, 2, 0)) - x116 += einsum(x115, (0, 1, 2), (0, 1, 2)) * -1.0 - del x115 - x117 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x117 += einsum(v.abb.xov, (0, 1, 2), x33, (3, 4, 0), (4, 3, 1, 2)) - x118 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x118 += einsum(t2.bbbb, (0, 1, 2, 3), x56, (1, 4, 5, 3), (4, 0, 5, 2)) * 2.0 - x118 += einsum(x116, (0, 1, 2), x33, (3, 4, 2), (4, 3, 1, 0)) - x118 += einsum(t1.bb, (0, 1), x117, (0, 2, 3, 4), (3, 2, 4, 1)) - del x117 - t2new_abab += einsum(t2.abab, (0, 1, 2, 3), x118, (1, 4, 3, 5), (0, 4, 2, 5)) * -1.0 - del x118 - x119 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x119 += einsum(v.aaa.xov, (0, 1, 2), v.abb.xov, (0, 3, 4), (1, 3, 2, 4)) - x120 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x120 += einsum(t2.abab, (0, 1, 2, 3), x119, (0, 4, 5, 3), (4, 1, 5, 2)) - x120 += einsum(x112, (0, 1, 2), x33, (3, 4, 2), (4, 3, 1, 0)) * -1.0 - del x112 - t2new_abab += einsum(t2.abab, (0, 1, 2, 3), x120, (1, 4, 2, 5), (0, 4, 5, 3)) - del x120 - x121 = np.zeros((nocc[0], nocc[0], nvir[1], nvir[1]), dtype=types[float]) - x121 += einsum(x116, (0, 1, 2), x8, (3, 4, 2), (4, 3, 1, 0)) - t2new_abab += einsum(t2.abab, (0, 1, 2, 3), x121, (0, 4, 3, 5), (4, 1, 2, 5)) * -1.0 - del x121 - x122 = np.zeros((nocc[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) - x122 += einsum(v.aaa.xov, (0, 1, 2), v.abb.xvv, (0, 3, 4), (1, 2, 3, 4)) - x123 = np.zeros((nvir[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) - x123 += einsum(t1.aa, (0, 1), x122, (0, 2, 3, 4), (2, 1, 4, 3)) - del x122 - x123 += einsum(v.aaa.xvv, (0, 1, 2), x116, (3, 4, 0), (1, 2, 4, 3)) * -1.0 - del x116 - t2new_abab += einsum(t2.abab, (0, 1, 2, 3), x123, (2, 4, 3, 5), (0, 1, 4, 5)) * -1.0 - del x123 - x124 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x124 += einsum(t2.abab, (0, 1, 2, 3), x119, (4, 5, 2, 3), (4, 0, 5, 1)) - del x119 - x124 += einsum(x33, (0, 1, 2), x8, (3, 4, 2), (4, 3, 1, 0)) - x125 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x125 += einsum(t2.abab, (0, 1, 2, 3), (0, 1, 2, 3)) - x125 += einsum(t1.aa, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3)) - t2new_abab += einsum(x124, (0, 1, 2, 3), x125, (0, 2, 4, 5), (1, 3, 4, 5)) - del x124, x125 - x126 = np.zeros((nocc[1], nvir[1], naux), dtype=types[float]) - x126 += einsum(x109, (0, 1, 2), (0, 1, 2)) - x126 += einsum(x27, (0, 1, 2), (0, 1, 2)) - x126 += einsum(x35, (0, 1, 2), (0, 1, 2)) * 2.0 - x126 += einsum(x5, (0,), t1.bb, (1, 2), (1, 2, 0)) - x127 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x127 += einsum(x5, (0,), v.abb.xvv, (0, 1, 2), (1, 2)) - x128 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x128 += einsum(f.bb.vv, (0, 1), (0, 1)) * -1.0 - x128 += einsum(v.abb.xov, (0, 1, 2), x126, (1, 3, 0), (2, 3)) - del x126 - x128 += einsum(x127, (0, 1), (1, 0)) * -1.0 - x128 += einsum(t1.bb, (0, 1), x39, (0, 2), (2, 1)) - del x39 - t2new_abab += einsum(x128, (0, 1), t2.abab, (2, 3, 4, 0), (2, 3, 4, 1)) * -1.0 - del x128 - x129 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x129 += einsum(x46, (0, 1, 2), (0, 1, 2)) - x129 += einsum(x19, (0, 1, 2), (0, 1, 2)) * 2.0 - del x19 - x129 += einsum(x1, (0, 1, 2), (0, 1, 2)) - del x1 - x129 += einsum(x5, (0,), t1.aa, (1, 2), (1, 2, 0)) - x130 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x130 += einsum(f.aa.vv, (0, 1), (0, 1)) * -1.0 - x130 += einsum(v.aaa.xov, (0, 1, 2), x129, (1, 3, 0), (2, 3)) - del x129 - x130 += einsum(x50, (0, 1), (1, 0)) * -1.0 - del x50 - x130 += einsum(t1.aa, (0, 1), x23, (0, 2), (2, 1)) - del x23 - t2new_abab += einsum(x130, (0, 1), t2.abab, (2, 3, 0, 4), (2, 3, 1, 4)) * -1.0 - del x130 - x131 = np.zeros((nocc[1], nvir[1], naux), dtype=types[float]) - x131 += einsum(v.abb.xov, (0, 1, 2), (1, 2, 0)) - x131 += einsum(x109, (0, 1, 2), (0, 1, 2)) - x132 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x132 += einsum(v.abb.xov, (0, 1, 2), x10, (3, 4, 0), (4, 3, 1, 2)) - del x10 - x133 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x133 += einsum(x131, (0, 1, 2), x8, (3, 4, 2), (4, 3, 0, 1)) - del x8, x131 - x133 += einsum(t2.bbbb, (0, 1, 2, 3), x132, (4, 5, 1, 3), (5, 4, 0, 2)) * 2.0 - del x132 - t2new_abab += einsum(t1.aa, (0, 1), x133, (0, 2, 3, 4), (2, 3, 1, 4)) * -1.0 - del x133 - x134 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x134 += einsum(v.aaa.xov, (0, 1, 2), (1, 2, 0)) - x134 += einsum(x46, (0, 1, 2), (0, 1, 2)) - del x46 - x135 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x135 += einsum(v.aaa.xov, (0, 1, 2), x31, (3, 4, 0), (1, 4, 3, 2)) - del x31 - x136 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x136 += einsum(x134, (0, 1, 2), x33, (3, 4, 2), (0, 4, 3, 1)) - del x33, x134 - x136 += einsum(t2.aaaa, (0, 1, 2, 3), x135, (1, 4, 5, 3), (0, 5, 4, 2)) * 2.0 - del x135 - t2new_abab += einsum(t1.bb, (0, 1), x136, (2, 0, 3, 4), (2, 3, 4, 1)) * -1.0 - del x136 - x137 = np.zeros((nvir[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x137 += einsum(v.abb.xvv, (0, 1, 2), v.abb.xvv, (0, 3, 4), (1, 3, 4, 2)) - t2new_bbbb = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - t2new_bbbb += einsum(t2.bbbb, (0, 1, 2, 3), x137, (4, 2, 5, 3), (0, 1, 4, 5)) * -2.0 - del x137 - x138 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x138 += einsum(t2.bbbb, (0, 1, 2, 3), x56, (4, 5, 2, 3), (0, 1, 5, 4)) * -1.0 - x139 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x139 += einsum(t1.bb, (0, 1), x138, (2, 3, 4, 0), (2, 3, 4, 1)) - t2new_bbbb += einsum(t1.bb, (0, 1), x139, (2, 3, 0, 4), (2, 3, 1, 4)) * 2.0 - del x139 - x140 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x140 += einsum(x109, (0, 1, 2), x109, (3, 4, 2), (0, 3, 1, 4)) - x141 = np.zeros((nocc[1], nvir[1], naux), dtype=types[float]) - x141 += einsum(x109, (0, 1, 2), (0, 1, 2)) - x141 += einsum(x27, (0, 1, 2), (0, 1, 2)) - x141 += einsum(x35, (0, 1, 2), (0, 1, 2)) * 2.0 - x142 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x142 += einsum(v.abb.xov, (0, 1, 2), x141, (1, 3, 0), (3, 2)) - del x141 - x143 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x143 += einsum(x142, (0, 1), (1, 0)) - del x142 - x143 += einsum(x127, (0, 1), (1, 0)) * -1.0 - del x127 - x144 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x144 += einsum(x143, (0, 1), t2.bbbb, (2, 3, 4, 0), (2, 3, 1, 4)) * -2.0 - del x143 - x145 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x145 += einsum(x56, (0, 1, 2, 3), (1, 0, 2, 3)) - x145 += einsum(x56, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - x146 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x146 += einsum(t2.bbbb, (0, 1, 2, 3), x145, (1, 4, 3, 5), (4, 0, 5, 2)) - del x145 - x147 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x147 += einsum(t2.bbbb, (0, 1, 2, 3), x146, (1, 4, 3, 5), (4, 0, 5, 2)) * -4.0 - del x146 - x148 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x148 += einsum(v.abb.xov, (0, 1, 2), v.abb.xvv, (0, 3, 4), (1, 2, 3, 4)) - x149 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x149 += einsum(t2.bbbb, (0, 1, 2, 3), x148, (4, 2, 5, 3), (0, 1, 4, 5)) - del x148 - x150 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x150 += einsum(x15, (0, 1), t2.bbbb, (2, 3, 4, 1), (0, 2, 3, 4)) * -1.0 - x151 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x151 += einsum(v.abb.xoo, (0, 1, 2), v.abb.xoo, (0, 3, 4), (1, 3, 4, 2)) - x152 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x152 += einsum(x12, (0, 1, 2), x12, (3, 4, 2), (0, 3, 1, 4)) - x153 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x153 += einsum(x151, (0, 1, 2, 3), (3, 2, 1, 0)) - x153 += einsum(x152, (0, 1, 2, 3), (2, 3, 1, 0)) - x154 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x154 += einsum(t1.bb, (0, 1), x153, (0, 2, 3, 4), (2, 3, 4, 1)) * 0.5 - del x153 - x155 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x155 += einsum(x149, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - del x149 - x155 += einsum(x150, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x150 - x155 += einsum(x154, (0, 1, 2, 3), (0, 2, 1, 3)) - del x154 - x156 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x156 += einsum(t1.bb, (0, 1), x155, (0, 2, 3, 4), (2, 3, 4, 1)) * 2.0 - del x155 - x157 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x157 += einsum(x140, (0, 1, 2, 3), (0, 1, 2, 3)) - del x140 - x157 += einsum(x144, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x144 - x157 += einsum(x147, (0, 1, 2, 3), (1, 0, 3, 2)) - del x147 - x157 += einsum(x156, (0, 1, 2, 3), (1, 0, 3, 2)) - del x156 - t2new_bbbb += einsum(x157, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new_bbbb += einsum(x157, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x157 - x158 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x158 += einsum(f.bb.vv, (0, 1), t2.bbbb, (2, 3, 4, 1), (2, 3, 0, 4)) - x159 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x159 += einsum(x43, (0, 1, 2, 3), (1, 0, 2, 3)) - x159 += einsum(x43, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x43 - x160 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x160 += einsum(t2.abab, (0, 1, 2, 3), x159, (0, 4, 2, 5), (4, 1, 5, 3)) - del x159 - x161 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x161 += einsum(t2.abab, (0, 1, 2, 3), x160, (0, 4, 2, 5), (4, 1, 5, 3)) * -1.0 - del x160 - x162 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x162 += einsum(x158, (0, 1, 2, 3), (1, 0, 2, 3)) * -2.0 - del x158 - x162 += einsum(x56, (0, 1, 2, 3), (1, 0, 2, 3)) - del x56 - x162 += einsum(x161, (0, 1, 2, 3), (0, 1, 3, 2)) - del x161 - t2new_bbbb += einsum(x162, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_bbbb += einsum(x162, (0, 1, 2, 3), (0, 1, 3, 2)) - del x162 - x163 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x163 += einsum(v.abb.xoo, (0, 1, 2), x12, (3, 4, 0), (3, 1, 2, 4)) - x164 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x164 += einsum(t2.bbbb, (0, 1, 2, 3), x163, (4, 0, 5, 1), (4, 5, 2, 3)) - x165 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x165 += einsum(t1.bb, (0, 1), x15, (2, 1), (0, 2)) - del x15 - x166 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x166 += einsum(f.bb.oo, (0, 1), (0, 1)) - x166 += einsum(x165, (0, 1), (0, 1)) - del x165 - x167 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x167 += einsum(x166, (0, 1), t2.bbbb, (2, 1, 3, 4), (0, 2, 3, 4)) * -2.0 - del x166 - x168 = np.zeros((nocc[1], nvir[1], naux), dtype=types[float]) - x168 += einsum(x26, (0, 1, 2), (0, 1, 2)) * -1.0 - x168 += einsum(x27, (0, 1, 2), (0, 1, 2)) - x168 += einsum(x35, (0, 1, 2), (0, 1, 2)) * 2.0 - x169 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x169 += einsum(v.abb.xov, (0, 1, 2), x168, (3, 2, 0), (3, 1)) - del x168 - x170 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x170 += einsum(x5, (0,), v.abb.xoo, (0, 1, 2), (1, 2)) - del x5 - x171 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x171 += einsum(x169, (0, 1), (1, 0)) - del x169 - x171 += einsum(x170, (0, 1), (1, 0)) - del x170 - x172 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x172 += einsum(x171, (0, 1), t2.bbbb, (2, 0, 3, 4), (1, 2, 3, 4)) * -2.0 - del x171 - x173 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x173 += einsum(x164, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - del x164 - x173 += einsum(x167, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x167 - x173 += einsum(x172, (0, 1, 2, 3), (1, 0, 3, 2)) - del x172 - t2new_bbbb += einsum(x173, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_bbbb += einsum(x173, (0, 1, 2, 3), (1, 0, 2, 3)) - del x173 - x174 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x174 += einsum(v.abb.xoo, (0, 1, 2), v.abb.xvv, (0, 3, 4), (1, 2, 3, 4)) - x175 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x175 += einsum(t2.bbbb, (0, 1, 2, 3), x174, (4, 1, 5, 3), (0, 4, 2, 5)) - del x174 - x176 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x176 += einsum(v.abb.xvv, (0, 1, 2), x12, (3, 4, 0), (3, 4, 1, 2)) - x177 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x177 += einsum(t2.bbbb, (0, 1, 2, 3), x176, (4, 1, 5, 3), (4, 0, 2, 5)) - del x176 - x178 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x178 += einsum(x27, (0, 1, 2), x35, (3, 4, 2), (0, 3, 1, 4)) - x179 = np.zeros((nocc[1], nvir[1], naux), dtype=types[float]) - x179 += einsum(v.abb.xov, (0, 1, 2), (1, 2, 0)) - x179 += einsum(x26, (0, 1, 2), (0, 1, 2)) * -1.0 - x179 += einsum(x27, (0, 1, 2), (0, 1, 2)) - x179 += einsum(x35, (0, 1, 2), (0, 1, 2)) * 2.0 - del x35 - x180 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x180 += einsum(x109, (0, 1, 2), x179, (3, 4, 2), (3, 0, 4, 1)) - del x179 - x181 = np.zeros((nocc[1], nvir[1], naux), dtype=types[float]) - x181 += einsum(x26, (0, 1, 2), (0, 1, 2)) * -0.5 - del x26 - x181 += einsum(x27, (0, 1, 2), (0, 1, 2)) * 0.5 - del x27 - x181 += einsum(x29, (0, 1, 2), (0, 1, 2)) - del x29 - x182 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x182 += einsum(v.abb.xov, (0, 1, 2), x181, (3, 4, 0), (3, 1, 4, 2)) * 2.0 - del x181 - x183 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x183 += einsum(v.abb.xoo, (0, 1, 2), v.aaa.xov, (0, 3, 4), (3, 1, 2, 4)) - x184 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x184 += einsum(t2.abab, (0, 1, 2, 3), x183, (0, 4, 5, 2), (1, 5, 4, 3)) - del x183 - x185 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x185 += einsum(t1.bb, (0, 1), x163, (2, 3, 4, 0), (2, 3, 4, 1)) - del x163 - x186 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x186 += einsum(x109, (0, 1, 2), x12, (3, 4, 2), (3, 0, 4, 1)) - del x109 - x187 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x187 += einsum(v.aaa.xov, (0, 1, 2), x12, (3, 4, 0), (1, 3, 4, 2)) - x188 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x188 += einsum(t2.abab, (0, 1, 2, 3), x187, (0, 4, 5, 2), (4, 1, 5, 3)) - del x187 - x189 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x189 += einsum(v.abb.xoo, (0, 1, 2), v.abb.xov, (0, 3, 4), (1, 2, 3, 4)) - x190 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x190 += einsum(x189, (0, 1, 2, 3), (1, 0, 2, 3)) - x190 += einsum(x189, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - del x189 - x191 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x191 += einsum(t2.bbbb, (0, 1, 2, 3), x190, (4, 5, 1, 3), (4, 5, 0, 2)) * 2.0 - del x190 - x192 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x192 += einsum(v.abb.xov, (0, 1, 2), x12, (3, 4, 0), (3, 1, 4, 2)) - del x12 - x193 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x193 += einsum(x192, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x193 += einsum(x192, (0, 1, 2, 3), (0, 2, 1, 3)) - del x192 - x194 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x194 += einsum(t2.bbbb, (0, 1, 2, 3), x193, (4, 1, 5, 3), (4, 5, 0, 2)) * 2.0 - del x193 - x195 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x195 += einsum(x184, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x184 - x195 += einsum(x185, (0, 1, 2, 3), (0, 2, 1, 3)) - del x185 - x195 += einsum(x186, (0, 1, 2, 3), (0, 2, 1, 3)) - del x186 - x195 += einsum(x188, (0, 1, 2, 3), (0, 2, 1, 3)) - del x188 - x195 += einsum(x191, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - del x191 - x195 += einsum(x194, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x194 - x196 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x196 += einsum(t1.bb, (0, 1), x195, (2, 0, 3, 4), (2, 3, 4, 1)) - del x195 - x197 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x197 += einsum(x175, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x175 - x197 += einsum(x177, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - del x177 - x197 += einsum(x178, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - del x178 - x197 += einsum(x180, (0, 1, 2, 3), (1, 0, 2, 3)) - del x180 - x197 += einsum(x182, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x182 - x197 += einsum(x196, (0, 1, 2, 3), (0, 1, 3, 2)) - del x196 - t2new_bbbb += einsum(x197, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_bbbb += einsum(x197, (0, 1, 2, 3), (0, 1, 3, 2)) - t2new_bbbb += einsum(x197, (0, 1, 2, 3), (1, 0, 2, 3)) - t2new_bbbb += einsum(x197, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x197 - x198 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x198 += einsum(x151, (0, 1, 2, 3), (3, 2, 1, 0)) - del x151 - x198 += einsum(x138, (0, 1, 2, 3), (2, 1, 3, 0)) - del x138 - x198 += einsum(x152, (0, 1, 2, 3), (2, 1, 3, 0)) - del x152 - t2new_bbbb += einsum(t2.bbbb, (0, 1, 2, 3), x198, (0, 4, 1, 5), (4, 5, 2, 3)) * -2.0 - del x198 - - t1new.aa = t1new_aa - t1new.bb = t1new_bb - t2new.aaaa = t2new_aaaa - t2new.abab = t2new_abab - t2new.bbbb = t2new_bbbb - - return {"t1new": t1new, "t2new": t2new} - -def update_lams(f=None, v=None, nocc=None, nvir=None, naux=None, t1=None, t2=None, l1=None, l2=None, **kwargs): - l1new = Namespace() - l2new = Namespace() - - # L amplitudes - l1new_aa = np.zeros((nvir[0], nocc[0]), dtype=types[float]) - l1new_aa += einsum(f.aa.ov, (0, 1), (1, 0)) - l1new_bb = np.zeros((nvir[1], nocc[1]), dtype=types[float]) - l1new_bb += einsum(f.bb.ov, (0, 1), (1, 0)) - x0 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x0 += einsum(t1.aa, (0, 1), l2.aaaa, (2, 1, 3, 4), (3, 4, 0, 2)) - x1 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x1 += einsum(t1.bb, (0, 1), l2.abab, (2, 1, 3, 4), (3, 4, 0, 2)) - x2 = np.zeros((nocc[0], nocc[0], naux), dtype=types[float]) - x2 += einsum(t1.aa, (0, 1), v.aaa.xov, (2, 3, 1), (0, 3, 2)) - x3 = np.zeros((nocc[1], nocc[1], naux), dtype=types[float]) - x3 += einsum(t1.bb, (0, 1), v.abb.xov, (2, 3, 1), (0, 3, 2)) - x4 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x4 += einsum(t1.aa, (0, 1), v.aaa.xvv, (2, 3, 1), (0, 3, 2)) - x5 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x5 += einsum(v.aaa.xov, (0, 1, 2), t2.aaaa, (3, 1, 4, 2), (3, 4, 0)) - x6 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x6 += einsum(v.abb.xov, (0, 1, 2), t2.abab, (3, 1, 4, 2), (3, 4, 0)) - x7 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x7 += einsum(v.aaa.xov, (0, 1, 2), (1, 2, 0)) - x7 += einsum(x4, (0, 1, 2), (0, 1, 2)) - x7 += einsum(x5, (0, 1, 2), (0, 1, 2)) * 2.0 - x7 += einsum(x6, (0, 1, 2), (0, 1, 2)) - x8 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x8 += einsum(x7, (0, 1, 2), l2.aaaa, (3, 1, 4, 0), (4, 3, 2)) * 0.5 - x9 = np.zeros((nocc[1], nvir[1], naux), dtype=types[float]) - x9 += einsum(t1.bb, (0, 1), v.abb.xvv, (2, 3, 1), (0, 3, 2)) - x10 = np.zeros((nocc[1], nvir[1], naux), dtype=types[float]) - x10 += einsum(v.aaa.xov, (0, 1, 2), t2.abab, (1, 3, 2, 4), (3, 4, 0)) - x11 = np.zeros((nocc[1], nvir[1], naux), dtype=types[float]) - x11 += einsum(v.abb.xov, (0, 1, 2), t2.bbbb, (3, 1, 4, 2), (3, 4, 0)) - x12 = np.zeros((nocc[1], nvir[1], naux), dtype=types[float]) - x12 += einsum(v.abb.xov, (0, 1, 2), (1, 2, 0)) - x12 += einsum(x9, (0, 1, 2), (0, 1, 2)) - x12 += einsum(x10, (0, 1, 2), (0, 1, 2)) - x12 += einsum(x11, (0, 1, 2), (0, 1, 2)) * 2.0 - x13 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x13 += einsum(x12, (0, 1, 2), l2.abab, (3, 1, 4, 0), (4, 3, 2)) * 0.25 - x14 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x14 += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (2, 3, 4, 1), (0, 4)) - x15 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x15 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 4, 1), (0, 4)) - x16 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x16 += einsum(x14, (0, 1), (0, 1)) - x16 += einsum(x15, (0, 1), (0, 1)) * 0.5 - x17 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x17 += einsum(x16, (0, 1), v.aaa.xov, (2, 3, 1), (3, 0, 2)) * 0.5 - x18 = np.zeros((nocc[0], nocc[0], naux), dtype=types[float]) - x18 += einsum(v.aaa.xoo, (0, 1, 2), (1, 2, 0)) - x18 += einsum(x2, (0, 1, 2), (0, 1, 2)) - x19 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x19 += einsum(v.aaa.xoo, (0, 1, 2), x0, (1, 3, 2, 4), (3, 4, 0)) * 0.5 - x19 += einsum(v.abb.xoo, (0, 1, 2), x1, (3, 1, 2, 4), (3, 4, 0)) * -0.25 - x19 += einsum(x2, (0, 1, 2), x0, (0, 3, 1, 4), (3, 4, 2)) * 0.5 - x19 += einsum(x3, (0, 1, 2), x1, (3, 0, 1, 4), (3, 4, 2)) * -0.25 - x19 += einsum(x8, (0, 1, 2), (0, 1, 2)) - x19 += einsum(x13, (0, 1, 2), (0, 1, 2)) - x19 += einsum(x17, (0, 1, 2), (0, 1, 2)) * -1.0 - x19 += einsum(l1.aa, (0, 1), x18, (1, 2, 3), (2, 0, 3)) * -0.25 - l1new_aa += einsum(v.aaa.xvv, (0, 1, 2), x19, (3, 2, 0), (1, 3)) * 4.0 - del x19 - x20 = np.zeros((nocc[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) - x20 += einsum(v.aaa.xov, (0, 1, 2), v.abb.xvv, (0, 3, 4), (1, 2, 3, 4)) - x21 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x21 += einsum(v.aaa.xoo, (0, 1, 2), v.aaa.xov, (0, 3, 4), (1, 2, 3, 4)) - x22 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x22 += einsum(v.aaa.xov, (0, 1, 2), x2, (3, 4, 0), (3, 1, 4, 2)) - x23 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x23 += einsum(x21, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x23 += einsum(x21, (0, 1, 2, 3), (1, 2, 0, 3)) - x23 += einsum(x22, (0, 1, 2, 3), (0, 1, 2, 3)) - x23 += einsum(x22, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x24 = np.zeros((nocc[1], nvir[1], naux), dtype=types[float]) - x24 += einsum(v.abb.xov, (0, 1, 2), (1, 2, 0)) - x24 += einsum(x9, (0, 1, 2), (0, 1, 2)) - x25 = np.zeros((nocc[1], nocc[1], naux), dtype=types[float]) - x25 += einsum(v.abb.xoo, (0, 1, 2), (1, 2, 0)) - x25 += einsum(x3, (0, 1, 2), (0, 1, 2)) - x26 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x26 += einsum(v.aaa.xov, (0, 1, 2), x25, (3, 4, 0), (1, 4, 3, 2)) - x27 = np.zeros((nocc[0], nocc[0], naux), dtype=types[float]) - x27 += einsum(v.aaa.xoo, (0, 1, 2), (1, 2, 0)) - x27 += einsum(x2, (0, 1, 2), (1, 0, 2)) - x28 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x28 += einsum(v.abb.xov, (0, 1, 2), x27, (3, 4, 0), (3, 4, 1, 2)) - l2new_abab = np.zeros((nvir[0], nvir[1], nocc[0], nocc[1]), dtype=types[float]) - l2new_abab += einsum(x1, (0, 1, 2, 3), x28, (4, 0, 2, 5), (3, 5, 4, 1)) - l2new_abab += einsum(l1.aa, (0, 1), x28, (2, 1, 3, 4), (0, 4, 2, 3)) * -1.0 - x29 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x29 += einsum(v.aaa.xov, (0, 1, 2), x2, (1, 3, 0), (3, 2)) - x30 = np.zeros((naux,), dtype=types[float]) - x30 += einsum(t1.aa, (0, 1), v.aaa.xov, (2, 0, 1), (2,)) - x31 = np.zeros((naux,), dtype=types[float]) - x31 += einsum(t1.bb, (0, 1), v.abb.xov, (2, 0, 1), (2,)) - x32 = np.zeros((naux,), dtype=types[float]) - x32 += einsum(x30, (0,), (0,)) - del x30 - x32 += einsum(x31, (0,), (0,)) - del x31 - x33 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x33 += einsum(x32, (0,), v.aaa.xov, (0, 1, 2), (1, 2)) - x34 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x34 += einsum(f.aa.ov, (0, 1), (0, 1)) - x34 += einsum(x29, (0, 1), (0, 1)) * -1.0 - x34 += einsum(x33, (0, 1), (0, 1)) - l2new_abab += einsum(l1.bb, (0, 1), x34, (2, 3), (3, 0, 2, 1)) - x35 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x35 += einsum(v.aaa.xov, (0, 1, 2), v.abb.xov, (0, 3, 4), (1, 3, 2, 4)) - x36 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x36 += einsum(t2.abab, (0, 1, 2, 3), x35, (4, 5, 2, 3), (0, 4, 1, 5)) - x37 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x37 += einsum(x36, (0, 1, 2, 3), (0, 1, 3, 2)) - x37 += einsum(x25, (0, 1, 2), x27, (3, 4, 2), (4, 3, 1, 0)) - x38 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x38 += einsum(t2.abab, (0, 1, 2, 3), x20, (4, 2, 5, 3), (4, 0, 1, 5)) - x38 += einsum(t2.abab, (0, 1, 2, 3), x23, (4, 5, 0, 2), (5, 4, 1, 3)) * -1.0 - del x23 - x38 += einsum(x18, (0, 1, 2), x24, (3, 4, 2), (1, 0, 3, 4)) - del x24 - x38 += einsum(t2.abab, (0, 1, 2, 3), x26, (4, 1, 5, 2), (4, 0, 5, 3)) * -1.0 - del x26 - x38 += einsum(t2.bbbb, (0, 1, 2, 3), x28, (4, 5, 1, 3), (4, 5, 0, 2)) * 2.0 - x38 += einsum(x34, (0, 1), t2.abab, (2, 3, 1, 4), (0, 2, 3, 4)) - x38 += einsum(t1.bb, (0, 1), x37, (2, 3, 0, 4), (3, 2, 4, 1)) * -1.0 - del x37 - l1new_aa += einsum(l2.abab, (0, 1, 2, 3), x38, (4, 2, 3, 1), (0, 4)) * -1.0 - del x38 - x39 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x39 += einsum(v.aaa.xov, (0, 1, 2), v.aaa.xvv, (0, 3, 4), (1, 2, 3, 4)) - x40 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x40 += einsum(x21, (0, 1, 2, 3), (1, 0, 2, 3)) - x40 += einsum(x21, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - x40 += einsum(x22, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x40 += einsum(x22, (0, 1, 2, 3), (0, 2, 1, 3)) - x41 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x41 += einsum(v.aaa.xoo, (0, 1, 2), v.aaa.xoo, (0, 3, 4), (1, 3, 4, 2)) - x42 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x42 += einsum(v.aaa.xov, (0, 1, 2), v.aaa.xov, (0, 3, 4), (1, 3, 2, 4)) - x43 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x43 += einsum(t2.aaaa, (0, 1, 2, 3), x42, (4, 5, 2, 3), (0, 1, 5, 4)) * -1.0 - x44 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x44 += einsum(x2, (0, 1, 2), x2, (3, 4, 2), (0, 3, 1, 4)) - x45 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x45 += einsum(v.aaa.xoo, (0, 1, 2), x2, (3, 4, 0), (3, 1, 2, 4)) - x46 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x46 += einsum(x41, (0, 1, 2, 3), (3, 2, 1, 0)) - x46 += einsum(x43, (0, 1, 2, 3), (2, 3, 1, 0)) - x46 += einsum(x44, (0, 1, 2, 3), (2, 3, 1, 0)) - x46 += einsum(x45, (0, 1, 2, 3), (1, 3, 0, 2)) - x46 += einsum(x45, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - x47 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x47 += einsum(v.aaa.xoo, (0, 1, 2), x4, (3, 4, 0), (1, 2, 3, 4)) * -1.0 - x47 += einsum(t2.aaaa, (0, 1, 2, 3), x39, (4, 2, 3, 5), (4, 0, 1, 5)) * -1.0 - x47 += einsum(x2, (0, 1, 2), x4, (3, 4, 2), (1, 3, 0, 4)) - x47 += einsum(t2.aaaa, (0, 1, 2, 3), x40, (4, 1, 5, 3), (5, 0, 4, 2)) * -2.0 - del x40 - x47 += einsum(t2.abab, (0, 1, 2, 3), x28, (4, 5, 1, 3), (4, 0, 5, 2)) - del x28 - x47 += einsum(v.aaa.xov, (0, 1, 2), x18, (3, 4, 0), (4, 1, 3, 2)) - x47 += einsum(x34, (0, 1), t2.aaaa, (2, 3, 4, 1), (0, 2, 3, 4)) - x47 += einsum(t1.aa, (0, 1), x46, (0, 2, 3, 4), (2, 4, 3, 1)) * -1.0 - del x46 - l1new_aa += einsum(l2.aaaa, (0, 1, 2, 3), x47, (4, 2, 3, 1), (0, 4)) * 2.0 - del x47 - x48 = np.zeros((nocc[0], nocc[0], nvir[1], nvir[1]), dtype=types[float]) - x48 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 0, 5), (2, 4, 1, 5)) - x49 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x49 += einsum(t1.aa, (0, 1), l2.abab, (1, 2, 3, 4), (3, 0, 4, 2)) - l2new_abab += einsum(x20, (0, 1, 2, 3), x49, (4, 0, 5, 2), (1, 3, 4, 5)) * -1.0 - del x20 - l2new_abab += einsum(x34, (0, 1), x49, (2, 0, 3, 4), (1, 4, 2, 3)) * -1.0 - x50 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x50 += einsum(t1.aa, (0, 1), x0, (2, 3, 4, 1), (3, 2, 4, 0)) - x51 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x51 += einsum(t1.aa, (0, 1), x1, (2, 3, 4, 1), (2, 0, 3, 4)) - x52 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x52 += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 5, 0, 1), (2, 3, 4, 5)) - x53 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x53 += einsum(t2.aaaa, (0, 1, 2, 3), x0, (4, 1, 5, 3), (4, 5, 0, 2)) * -1.0 - x54 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x54 += einsum(t2.abab, (0, 1, 2, 3), x49, (4, 5, 1, 3), (4, 5, 0, 2)) - x55 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x55 += einsum(x53, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x53 - x55 += einsum(x54, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - del x54 - x56 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x56 += einsum(l1.aa, (0, 1), t2.aaaa, (2, 3, 4, 0), (1, 2, 3, 4)) - x56 += einsum(x0, (0, 1, 2, 3), (1, 0, 2, 3)) - x56 += einsum(t1.aa, (0, 1), x52, (2, 0, 3, 4), (2, 3, 4, 1)) - x56 += einsum(x55, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x56 += einsum(x55, (0, 1, 2, 3), (0, 2, 1, 3)) - del x55 - x57 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x57 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 5, 1), (2, 4, 0, 5)) - x58 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x58 += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 3, 5, 1), (2, 4, 0, 5)) - x58 += einsum(x57, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.25 - x59 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x59 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 5, 0, 1), (2, 4, 3, 5)) - x60 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x60 += einsum(l1.aa, (0, 1), t2.abab, (2, 3, 0, 4), (1, 2, 3, 4)) - x60 += einsum(x49, (0, 1, 2, 3), (0, 1, 2, 3)) - x60 += einsum(t2.abab, (0, 1, 2, 3), x0, (4, 0, 5, 2), (4, 5, 1, 3)) * -2.0 - x60 += einsum(t2.bbbb, (0, 1, 2, 3), x49, (4, 5, 1, 3), (4, 5, 0, 2)) * 2.0 - x60 += einsum(t2.abab, (0, 1, 2, 3), x1, (4, 1, 5, 2), (4, 0, 5, 3)) * -1.0 - x60 += einsum(t1.bb, (0, 1), x59, (2, 3, 0, 4), (2, 3, 4, 1)) * -1.0 - x61 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x61 += einsum(l1.aa, (0, 1), t2.aaaa, (2, 1, 3, 0), (2, 3)) - x62 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x62 += einsum(l1.bb, (0, 1), t2.abab, (2, 1, 3, 0), (2, 3)) - x63 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x63 += einsum(t2.aaaa, (0, 1, 2, 3), x0, (0, 1, 4, 3), (4, 2)) * -1.0 - x64 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x64 += einsum(t2.abab, (0, 1, 2, 3), x49, (0, 4, 1, 3), (4, 2)) - x65 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x65 += einsum(l1.aa, (0, 1), t1.aa, (2, 0), (1, 2)) - l1new_aa += einsum(x33, (0, 1), x65, (2, 0), (1, 2)) * -1.0 - x66 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x66 += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 3, 0, 1), (2, 4)) - x67 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x67 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 0, 1), (2, 4)) - x68 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x68 += einsum(x65, (0, 1), (0, 1)) - x68 += einsum(x66, (0, 1), (0, 1)) * 2.0 - x68 += einsum(x67, (0, 1), (0, 1)) - x69 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x69 += einsum(t1.aa, (0, 1), x68, (0, 2), (2, 1)) - x70 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x70 += einsum(t1.aa, (0, 1), (0, 1)) * -1.0 - x70 += einsum(x61, (0, 1), (0, 1)) * -2.0 - x70 += einsum(x62, (0, 1), (0, 1)) * -1.0 - x70 += einsum(x63, (0, 1), (0, 1)) * 2.0 - x70 += einsum(x64, (0, 1), (0, 1)) - x70 += einsum(x69, (0, 1), (0, 1)) - x71 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x71 += einsum(x52, (0, 1, 2, 3), (1, 0, 3, 2)) - x71 += einsum(x50, (0, 1, 2, 3), (2, 1, 0, 3)) - x72 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x72 += einsum(x59, (0, 1, 2, 3), (0, 1, 2, 3)) - x72 += einsum(x51, (0, 1, 2, 3), (0, 1, 2, 3)) - l2new_abab += einsum(x35, (0, 1, 2, 3), x72, (4, 0, 5, 1), (2, 3, 4, 5)) - x73 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x73 += einsum(l1.aa, (0, 1), v.aaa.xvv, (2, 3, 0), (1, 3, 2)) - x74 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x74 += einsum(x68, (0, 1), v.aaa.xov, (2, 1, 3), (0, 3, 2)) - x75 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x75 += einsum(x73, (0, 1, 2), (0, 1, 2)) - x75 += einsum(x74, (0, 1, 2), (0, 1, 2)) * -1.0 - del x74 - x76 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x76 += einsum(x65, (0, 1), (0, 1)) * 0.5 - del x65 - x76 += einsum(x66, (0, 1), (0, 1)) - x76 += einsum(x67, (0, 1), (0, 1)) * 0.5 - l1new_aa += einsum(f.aa.ov, (0, 1), x76, (2, 0), (1, 2)) * -2.0 - x77 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x77 += einsum(x66, (0, 1), (0, 1)) - del x66 - x77 += einsum(x67, (0, 1), (0, 1)) * 0.5 - del x67 - x78 = np.zeros((nocc[0], nocc[0], naux), dtype=types[float]) - x78 += einsum(x4, (0, 1, 2), x0, (3, 0, 4, 1), (4, 3, 2)) * -1.0 - x78 += einsum(v.abb.xvv, (0, 1, 2), x48, (3, 4, 1, 2), (4, 3, 0)) * 0.5 - del x48 - x78 += einsum(x9, (0, 1, 2), x49, (3, 4, 0, 1), (4, 3, 2)) * 0.5 - x78 += einsum(x2, (0, 1, 2), x50, (0, 3, 1, 4), (4, 3, 2)) * -1.0 - x78 += einsum(x3, (0, 1, 2), x51, (3, 4, 0, 1), (4, 3, 2)) * -0.5 - x78 += einsum(v.aaa.xov, (0, 1, 2), x56, (3, 1, 4, 2), (4, 3, 0)) - del x56 - x78 += einsum(v.aaa.xvv, (0, 1, 2), x58, (3, 4, 1, 2), (4, 3, 0)) * 2.0 - del x58 - x78 += einsum(v.abb.xov, (0, 1, 2), x60, (3, 4, 1, 2), (4, 3, 0)) * 0.5 - del x60 - x78 += einsum(x70, (0, 1), v.aaa.xov, (2, 3, 1), (0, 3, 2)) * -0.5 - del x70 - x78 += einsum(v.aaa.xoo, (0, 1, 2), x71, (2, 3, 1, 4), (4, 3, 0)) * -1.0 - del x71 - x78 += einsum(v.abb.xoo, (0, 1, 2), x72, (3, 4, 1, 2), (4, 3, 0)) * -0.5 - del x72 - x78 += einsum(t1.aa, (0, 1), x75, (2, 1, 3), (0, 2, 3)) * 0.5 - x78 += einsum(x76, (0, 1), v.aaa.xoo, (2, 3, 0), (1, 3, 2)) * -1.0 - x78 += einsum(x32, (0,), x77, (1, 2), (2, 1, 0)) - del x77 - l1new_aa += einsum(v.aaa.xov, (0, 1, 2), x78, (1, 3, 0), (2, 3)) * -2.0 - del x78 - x79 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x79 += einsum(l1.aa, (0, 1), t1.aa, (1, 2), (0, 2)) - x80 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x80 += einsum(x79, (0, 1), (0, 1)) - del x79 - x80 += einsum(x14, (0, 1), (1, 0)) * 2.0 - del x14 - x80 += einsum(x15, (0, 1), (0, 1)) - del x15 - x81 = np.zeros((naux,), dtype=types[float]) - x81 += einsum(x80, (0, 1), v.aaa.xvv, (2, 0, 1), (2,)) - del x80 - x82 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x82 += einsum(l1.bb, (0, 1), t1.bb, (1, 2), (0, 2)) - x83 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x83 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 0, 4), (1, 4)) - x84 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x84 += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (2, 3, 4, 1), (0, 4)) - x85 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x85 += einsum(x82, (0, 1), (0, 1)) - del x82 - x85 += einsum(x83, (0, 1), (1, 0)) - x85 += einsum(x84, (0, 1), (1, 0)) * 2.0 - x86 = np.zeros((naux,), dtype=types[float]) - x86 += einsum(x85, (0, 1), v.abb.xvv, (2, 1, 0), (2,)) - del x85 - x87 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x87 += einsum(l1.aa, (0, 1), (1, 0)) * -1.0 - x87 += einsum(t1.aa, (0, 1), (0, 1)) * -1.0 - x87 += einsum(x61, (0, 1), (0, 1)) * -2.0 - del x61 - x87 += einsum(x62, (0, 1), (0, 1)) * -1.0 - del x62 - x87 += einsum(x63, (0, 1), (0, 1)) * 2.0 - del x63 - x87 += einsum(x64, (0, 1), (0, 1)) - del x64 - x87 += einsum(x69, (0, 1), (0, 1)) - del x69 - x88 = np.zeros((naux,), dtype=types[float]) - x88 += einsum(x87, (0, 1), v.aaa.xov, (2, 0, 1), (2,)) - del x87 - x89 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x89 += einsum(l1.aa, (0, 1), t2.abab, (1, 2, 0, 3), (2, 3)) - x90 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x90 += einsum(l1.bb, (0, 1), t2.bbbb, (2, 1, 3, 0), (2, 3)) - x91 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x91 += einsum(t2.abab, (0, 1, 2, 3), x1, (0, 1, 4, 2), (4, 3)) - x92 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x92 += einsum(t1.bb, (0, 1), l2.bbbb, (2, 1, 3, 4), (3, 4, 0, 2)) - x93 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x93 += einsum(t2.bbbb, (0, 1, 2, 3), x92, (0, 1, 4, 3), (4, 2)) * -1.0 - x94 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x94 += einsum(l1.bb, (0, 1), t1.bb, (2, 0), (1, 2)) - x95 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x95 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 1), (3, 4)) - x96 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x96 += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 3, 0, 1), (2, 4)) - x97 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x97 += einsum(x94, (0, 1), (0, 1)) * 0.5 - x97 += einsum(x95, (0, 1), (0, 1)) * 0.5 - x97 += einsum(x96, (0, 1), (0, 1)) - x98 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x98 += einsum(t1.bb, (0, 1), x97, (0, 2), (2, 1)) * 2.0 - x99 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x99 += einsum(l1.bb, (0, 1), (1, 0)) * -1.0 - x99 += einsum(t1.bb, (0, 1), (0, 1)) * -1.0 - x99 += einsum(x89, (0, 1), (0, 1)) * -1.0 - x99 += einsum(x90, (0, 1), (0, 1)) * -2.0 - x99 += einsum(x91, (0, 1), (0, 1)) - x99 += einsum(x93, (0, 1), (0, 1)) * 2.0 - x99 += einsum(x98, (0, 1), (0, 1)) - x100 = np.zeros((naux,), dtype=types[float]) - x100 += einsum(x99, (0, 1), v.abb.xov, (2, 0, 1), (2,)) - del x99 - x101 = np.zeros((naux,), dtype=types[float]) - x101 += einsum(x76, (0, 1), v.aaa.xoo, (2, 1, 0), (2,)) * 2.0 - del x76 - x102 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x102 += einsum(x94, (0, 1), (0, 1)) - x102 += einsum(x95, (0, 1), (1, 0)) - x102 += einsum(x96, (0, 1), (0, 1)) * 2.0 - x103 = np.zeros((naux,), dtype=types[float]) - x103 += einsum(x102, (0, 1), v.abb.xoo, (2, 0, 1), (2,)) - del x102 - x104 = np.zeros((naux,), dtype=types[float]) - x104 += einsum(x81, (0,), (0,)) - del x81 - x104 += einsum(x86, (0,), (0,)) - del x86 - x104 += einsum(x88, (0,), (0,)) * -1.0 - del x88 - x104 += einsum(x100, (0,), (0,)) * -1.0 - del x100 - x104 += einsum(x101, (0,), (0,)) * -1.0 - del x101 - x104 += einsum(x103, (0,), (0,)) * -1.0 - del x103 - l1new_aa += einsum(x104, (0,), v.aaa.xov, (0, 1, 2), (2, 1)) - l1new_bb += einsum(x104, (0,), v.abb.xov, (0, 1, 2), (2, 1)) - del x104 - x105 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x105 += einsum(x32, (0,), v.aaa.xvv, (0, 1, 2), (1, 2)) - x106 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x106 += einsum(f.aa.vv, (0, 1), (0, 1)) - x106 += einsum(x105, (0, 1), (1, 0)) - l1new_aa += einsum(l1.aa, (0, 1), x106, (0, 2), (2, 1)) - del x106 - x107 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x107 += einsum(t1.aa, (0, 1), v.aaa.xoo, (2, 3, 0), (3, 1, 2)) - x108 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x108 += einsum(x107, (0, 1, 2), (0, 1, 2)) * -1.0 - del x107 - x108 += einsum(x5, (0, 1, 2), (0, 1, 2)) * 2.0 - x108 += einsum(x6, (0, 1, 2), (0, 1, 2)) - x109 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x109 += einsum(v.aaa.xov, (0, 1, 2), x108, (3, 2, 0), (3, 1)) - del x108 - x110 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x110 += einsum(x32, (0,), v.aaa.xoo, (0, 1, 2), (1, 2)) - x111 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x111 += einsum(t1.aa, (0, 1), x34, (2, 1), (0, 2)) - del x34 - x112 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x112 += einsum(f.aa.oo, (0, 1), (0, 1)) - x112 += einsum(x109, (0, 1), (0, 1)) - x112 += einsum(x110, (0, 1), (1, 0)) - x112 += einsum(x111, (0, 1), (0, 1)) - del x111 - l1new_aa += einsum(l1.aa, (0, 1), x112, (1, 2), (0, 2)) * -1.0 - l2new_abab += einsum(x112, (0, 1), l2.abab, (2, 3, 0, 4), (2, 3, 1, 4)) * -1.0 - del x112 - x113 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x113 += einsum(x83, (0, 1), (0, 1)) - del x83 - x113 += einsum(x84, (0, 1), (0, 1)) * 2.0 - del x84 - x114 = np.zeros((nocc[1], nvir[1], naux), dtype=types[float]) - x114 += einsum(x113, (0, 1), v.abb.xov, (2, 3, 1), (3, 0, 2)) * 0.5 - x115 = np.zeros((nocc[1], nvir[1], naux), dtype=types[float]) - x115 += einsum(v.aaa.xoo, (0, 1, 2), x49, (1, 2, 3, 4), (3, 4, 0)) * -0.5 - x115 += einsum(v.abb.xoo, (0, 1, 2), x92, (1, 3, 2, 4), (3, 4, 0)) - x115 += einsum(x2, (0, 1, 2), x49, (0, 1, 3, 4), (3, 4, 2)) * -0.5 - x115 += einsum(x3, (0, 1, 2), x92, (3, 0, 1, 4), (3, 4, 2)) * -1.0 - x115 += einsum(x7, (0, 1, 2), l2.abab, (1, 3, 0, 4), (4, 3, 2)) * 0.5 - x115 += einsum(x12, (0, 1, 2), l2.bbbb, (3, 1, 4, 0), (4, 3, 2)) - x115 += einsum(x114, (0, 1, 2), (0, 1, 2)) * -1.0 - x115 += einsum(l1.bb, (0, 1), x25, (1, 2, 3), (2, 0, 3)) * -0.5 - l1new_bb += einsum(v.abb.xvv, (0, 1, 2), x115, (3, 2, 0), (1, 3)) * 2.0 - del x115 - x116 = np.zeros((nocc[1], nvir[0], nvir[0], nvir[1]), dtype=types[float]) - x116 += einsum(v.abb.xov, (0, 1, 2), v.aaa.xvv, (0, 3, 4), (1, 3, 4, 2)) - l2new_abab += einsum(x1, (0, 1, 2, 3), x116, (2, 4, 3, 5), (4, 5, 0, 1)) * -1.0 - x117 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x117 += einsum(v.abb.xoo, (0, 1, 2), v.abb.xov, (0, 3, 4), (1, 2, 3, 4)) - x118 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x118 += einsum(v.abb.xov, (0, 1, 2), x3, (3, 4, 0), (3, 1, 4, 2)) - x119 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x119 += einsum(x117, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x119 += einsum(x117, (0, 1, 2, 3), (1, 2, 0, 3)) - x119 += einsum(x118, (0, 1, 2, 3), (0, 1, 2, 3)) - x119 += einsum(x118, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x120 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x120 += einsum(v.aaa.xov, (0, 1, 2), (1, 2, 0)) - x120 += einsum(x4, (0, 1, 2), (0, 1, 2)) - x121 = np.zeros((nocc[1], nocc[1], naux), dtype=types[float]) - x121 += einsum(v.abb.xoo, (0, 1, 2), (1, 2, 0)) - x121 += einsum(x3, (0, 1, 2), (1, 0, 2)) - x122 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x122 += einsum(v.aaa.xov, (0, 1, 2), x121, (3, 4, 0), (1, 3, 4, 2)) - l2new_abab += einsum(x122, (0, 1, 2, 3), x49, (4, 0, 2, 5), (3, 5, 4, 1)) - l2new_abab += einsum(l1.bb, (0, 1), x122, (2, 3, 1, 4), (4, 0, 2, 3)) * -1.0 - x123 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x123 += einsum(v.abb.xov, (0, 1, 2), x18, (3, 4, 0), (4, 3, 1, 2)) - x124 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x124 += einsum(v.abb.xov, (0, 1, 2), x3, (1, 3, 0), (3, 2)) - x125 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x125 += einsum(x32, (0,), v.abb.xov, (0, 1, 2), (1, 2)) - l1new_bb += einsum(x125, (0, 1), x94, (2, 0), (1, 2)) * -1.0 - x126 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x126 += einsum(f.bb.ov, (0, 1), (0, 1)) - x126 += einsum(x124, (0, 1), (0, 1)) * -1.0 - x126 += einsum(x125, (0, 1), (0, 1)) - l2new_abab += einsum(x126, (0, 1), x1, (2, 3, 0, 4), (4, 1, 2, 3)) * -1.0 - l2new_abab += einsum(l1.aa, (0, 1), x126, (2, 3), (0, 3, 1, 2)) - x127 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x127 += einsum(x36, (0, 1, 2, 3), (1, 0, 2, 3)) - x127 += einsum(x121, (0, 1, 2), x18, (3, 4, 2), (4, 3, 1, 0)) - del x18 - x128 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x128 += einsum(t2.abab, (0, 1, 2, 3), x116, (4, 5, 2, 3), (0, 4, 1, 5)) - del x116 - x128 += einsum(t2.abab, (0, 1, 2, 3), x119, (4, 5, 1, 3), (0, 5, 4, 2)) * -1.0 - del x119 - x128 += einsum(x120, (0, 1, 2), x25, (3, 4, 2), (0, 4, 3, 1)) - del x120 - x128 += einsum(t2.aaaa, (0, 1, 2, 3), x122, (1, 4, 5, 3), (0, 4, 5, 2)) * 2.0 - x128 += einsum(t2.abab, (0, 1, 2, 3), x123, (0, 4, 5, 3), (4, 5, 1, 2)) * -1.0 - del x123 - x128 += einsum(x126, (0, 1), t2.abab, (2, 3, 4, 1), (2, 0, 3, 4)) - x128 += einsum(t1.aa, (0, 1), x127, (0, 2, 3, 4), (2, 4, 3, 1)) * -1.0 - del x127 - l1new_bb += einsum(l2.abab, (0, 1, 2, 3), x128, (2, 4, 3, 0), (1, 4)) * -1.0 - del x128 - x129 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x129 += einsum(v.abb.xov, (0, 1, 2), v.abb.xvv, (0, 3, 4), (1, 2, 3, 4)) - x130 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x130 += einsum(x117, (0, 1, 2, 3), (1, 0, 2, 3)) - x130 += einsum(x117, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - x130 += einsum(x118, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x130 += einsum(x118, (0, 1, 2, 3), (0, 2, 1, 3)) - x131 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x131 += einsum(v.abb.xoo, (0, 1, 2), v.abb.xoo, (0, 3, 4), (1, 3, 4, 2)) - x132 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x132 += einsum(v.abb.xov, (0, 1, 2), v.abb.xov, (0, 3, 4), (1, 3, 2, 4)) - x133 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x133 += einsum(t2.bbbb, (0, 1, 2, 3), x132, (4, 5, 3, 2), (0, 1, 5, 4)) - x134 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x134 += einsum(x3, (0, 1, 2), x3, (3, 4, 2), (0, 3, 1, 4)) - x135 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x135 += einsum(v.abb.xoo, (0, 1, 2), x3, (3, 4, 0), (3, 1, 2, 4)) - x136 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x136 += einsum(x131, (0, 1, 2, 3), (3, 2, 1, 0)) - x136 += einsum(x133, (0, 1, 2, 3), (2, 3, 1, 0)) - x136 += einsum(x134, (0, 1, 2, 3), (2, 3, 1, 0)) - x136 += einsum(x135, (0, 1, 2, 3), (1, 3, 0, 2)) - x136 += einsum(x135, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - x137 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x137 += einsum(v.abb.xoo, (0, 1, 2), x9, (3, 4, 0), (1, 2, 3, 4)) * -1.0 - x137 += einsum(t2.bbbb, (0, 1, 2, 3), x129, (4, 2, 3, 5), (4, 0, 1, 5)) * -1.0 - x137 += einsum(x3, (0, 1, 2), x9, (3, 4, 2), (1, 3, 0, 4)) - x137 += einsum(t2.bbbb, (0, 1, 2, 3), x130, (4, 1, 5, 3), (5, 0, 4, 2)) * -2.0 - del x130 - x137 += einsum(t2.abab, (0, 1, 2, 3), x122, (0, 4, 5, 2), (4, 1, 5, 3)) - del x122 - x137 += einsum(v.abb.xov, (0, 1, 2), x25, (3, 4, 0), (4, 1, 3, 2)) - del x25 - x137 += einsum(x126, (0, 1), t2.bbbb, (2, 3, 4, 1), (0, 2, 3, 4)) - x137 += einsum(t1.bb, (0, 1), x136, (0, 2, 3, 4), (2, 4, 3, 1)) * -1.0 - del x136 - l1new_bb += einsum(l2.bbbb, (0, 1, 2, 3), x137, (4, 2, 3, 1), (0, 4)) * 2.0 - del x137 - x138 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x138 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 5, 1), (3, 4, 0, 5)) - x139 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x139 += einsum(t1.bb, (0, 1), x92, (2, 3, 4, 1), (2, 3, 0, 4)) - x140 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x140 += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 5, 0, 1), (2, 3, 4, 5)) - x141 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x141 += einsum(t2.abab, (0, 1, 2, 3), x1, (0, 4, 5, 2), (4, 5, 1, 3)) - x142 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x142 += einsum(t2.bbbb, (0, 1, 2, 3), x92, (4, 1, 5, 3), (4, 5, 0, 2)) * -1.0 - x143 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x143 += einsum(x141, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - del x141 - x143 += einsum(x142, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x142 - x144 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x144 += einsum(l1.bb, (0, 1), t2.bbbb, (2, 3, 4, 0), (1, 2, 3, 4)) - x144 += einsum(x92, (0, 1, 2, 3), (1, 0, 2, 3)) - x144 += einsum(t1.bb, (0, 1), x140, (2, 0, 3, 4), (2, 3, 4, 1)) - x144 += einsum(x143, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x144 += einsum(x143, (0, 1, 2, 3), (0, 2, 1, 3)) - del x143 - x145 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x145 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 5), (3, 4, 1, 5)) - x146 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x146 += einsum(x145, (0, 1, 2, 3), (0, 1, 2, 3)) - x146 += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 3, 5, 1), (2, 4, 5, 0)) * 4.0 - x147 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x147 += einsum(l1.bb, (0, 1), t2.abab, (2, 3, 4, 0), (2, 1, 3, 4)) - x147 += einsum(x1, (0, 1, 2, 3), (0, 1, 2, 3)) - x147 += einsum(t2.aaaa, (0, 1, 2, 3), x1, (1, 4, 5, 3), (0, 4, 5, 2)) * 2.0 - x147 += einsum(t2.abab, (0, 1, 2, 3), x49, (0, 4, 5, 3), (4, 5, 1, 2)) * -1.0 - x147 += einsum(t1.aa, (0, 1), x59, (0, 2, 3, 4), (2, 3, 4, 1)) * -1.0 - x147 += einsum(t2.abab, (0, 1, 2, 3), x92, (4, 1, 5, 3), (0, 4, 5, 2)) * -2.0 - x148 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x148 += einsum(t1.bb, (0, 1), (0, 1)) * -1.0 - x148 += einsum(x89, (0, 1), (0, 1)) * -1.0 - del x89 - x148 += einsum(x90, (0, 1), (0, 1)) * -2.0 - del x90 - x148 += einsum(x91, (0, 1), (0, 1)) - del x91 - x148 += einsum(x93, (0, 1), (0, 1)) * 2.0 - del x93 - x148 += einsum(x98, (0, 1), (0, 1)) - del x98 - x149 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x149 += einsum(x59, (0, 1, 2, 3), (0, 1, 2, 3)) - del x59 - x149 += einsum(x51, (0, 1, 2, 3), (1, 0, 2, 3)) - x150 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x150 += einsum(x140, (0, 1, 2, 3), (1, 0, 3, 2)) - x150 += einsum(x139, (0, 1, 2, 3), (2, 1, 0, 3)) - x151 = np.zeros((nocc[1], nvir[1], naux), dtype=types[float]) - x151 += einsum(l1.bb, (0, 1), v.abb.xvv, (2, 3, 0), (1, 3, 2)) - x152 = np.zeros((nocc[1], nvir[1], naux), dtype=types[float]) - x152 += einsum(x97, (0, 1), v.abb.xov, (2, 1, 3), (0, 3, 2)) * 2.0 - del x97 - x153 = np.zeros((nocc[1], nvir[1], naux), dtype=types[float]) - x153 += einsum(x151, (0, 1, 2), (0, 1, 2)) - x153 += einsum(x152, (0, 1, 2), (0, 1, 2)) * -1.0 - x154 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x154 += einsum(x94, (0, 1), (0, 1)) - del x94 - x154 += einsum(x95, (0, 1), (0, 1)) - x154 += einsum(x96, (0, 1), (0, 1)) * 2.0 - l1new_bb += einsum(f.bb.ov, (0, 1), x154, (2, 0), (1, 2)) * -1.0 - x155 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x155 += einsum(x95, (0, 1), (0, 1)) * 0.5 - del x95 - x155 += einsum(x96, (0, 1), (0, 1)) - del x96 - x156 = np.zeros((nocc[1], nocc[1], naux), dtype=types[float]) - x156 += einsum(v.aaa.xvv, (0, 1, 2), x138, (3, 4, 1, 2), (4, 3, 0)) - del x138 - x156 += einsum(x4, (0, 1, 2), x1, (0, 3, 4, 1), (4, 3, 2)) - x156 += einsum(x9, (0, 1, 2), x92, (3, 0, 4, 1), (4, 3, 2)) * -2.0 - x156 += einsum(x2, (0, 1, 2), x51, (0, 1, 3, 4), (4, 3, 2)) * -1.0 - del x51 - x156 += einsum(x3, (0, 1, 2), x139, (0, 3, 1, 4), (4, 3, 2)) * -2.0 - x156 += einsum(v.abb.xov, (0, 1, 2), x144, (3, 1, 4, 2), (4, 3, 0)) * 2.0 - del x144 - x156 += einsum(v.abb.xvv, (0, 1, 2), x146, (3, 4, 1, 2), (4, 3, 0)) - del x146 - x156 += einsum(v.aaa.xov, (0, 1, 2), x147, (1, 3, 4, 2), (4, 3, 0)) - del x147 - x156 += einsum(x148, (0, 1), v.abb.xov, (2, 3, 1), (0, 3, 2)) * -1.0 - del x148 - x156 += einsum(v.aaa.xoo, (0, 1, 2), x149, (1, 2, 3, 4), (4, 3, 0)) * -1.0 - del x149 - x156 += einsum(v.abb.xoo, (0, 1, 2), x150, (1, 3, 2, 4), (4, 3, 0)) * -2.0 - del x150 - x156 += einsum(t1.bb, (0, 1), x153, (2, 1, 3), (0, 2, 3)) - x156 += einsum(x154, (0, 1), v.abb.xoo, (2, 3, 0), (1, 3, 2)) * -1.0 - del x154 - x156 += einsum(x32, (0,), x155, (1, 2), (2, 1, 0)) * 2.0 - del x155 - l1new_bb += einsum(v.abb.xov, (0, 1, 2), x156, (1, 3, 0), (2, 3)) * -1.0 - del x156 - x157 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x157 += einsum(x32, (0,), v.abb.xvv, (0, 1, 2), (1, 2)) - x158 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x158 += einsum(f.bb.vv, (0, 1), (0, 1)) - x158 += einsum(x157, (0, 1), (1, 0)) - l1new_bb += einsum(l1.bb, (0, 1), x158, (0, 2), (2, 1)) - del x158 - x159 = np.zeros((nocc[1], nvir[1], naux), dtype=types[float]) - x159 += einsum(t1.bb, (0, 1), v.abb.xoo, (2, 3, 0), (3, 1, 2)) - x160 = np.zeros((nocc[1], nvir[1], naux), dtype=types[float]) - x160 += einsum(x159, (0, 1, 2), (0, 1, 2)) * -0.5 - del x159 - x160 += einsum(x10, (0, 1, 2), (0, 1, 2)) * 0.5 - x160 += einsum(x11, (0, 1, 2), (0, 1, 2)) - x161 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x161 += einsum(v.abb.xov, (0, 1, 2), x160, (3, 2, 0), (3, 1)) * 2.0 - x162 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x162 += einsum(x32, (0,), v.abb.xoo, (0, 1, 2), (1, 2)) - x163 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x163 += einsum(f.bb.oo, (0, 1), (0, 1)) - x163 += einsum(x161, (0, 1), (0, 1)) - x163 += einsum(x162, (0, 1), (1, 0)) - x163 += einsum(t1.bb, (0, 1), x126, (2, 1), (0, 2)) - l1new_bb += einsum(l1.bb, (0, 1), x163, (1, 2), (0, 2)) * -1.0 - del x163 - x164 = np.zeros((nvir[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x164 += einsum(v.aaa.xvv, (0, 1, 2), v.aaa.xvv, (0, 3, 4), (1, 3, 4, 2)) - l2new_aaaa = np.zeros((nvir[0], nvir[0], nocc[0], nocc[0]), dtype=types[float]) - l2new_aaaa += einsum(l2.aaaa, (0, 1, 2, 3), x164, (4, 5, 0, 1), (4, 5, 2, 3)) * -2.0 - del x164 - x165 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x165 += einsum(f.aa.vv, (0, 1), l2.aaaa, (2, 1, 3, 4), (3, 4, 0, 2)) - x166 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x166 += einsum(f.aa.ov, (0, 1), x0, (2, 3, 0, 4), (2, 3, 1, 4)) - x167 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x167 += einsum(x0, (0, 1, 2, 3), x39, (2, 4, 3, 5), (1, 0, 4, 5)) - del x39 - x168 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x168 += einsum(x4, (0, 1, 2), (0, 1, 2)) - del x4 - x168 += einsum(x5, (0, 1, 2), (0, 1, 2)) * 2.0 - del x5 - x168 += einsum(x6, (0, 1, 2), (0, 1, 2)) - del x6 - x169 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x169 += einsum(v.aaa.xov, (0, 1, 2), x168, (1, 3, 0), (3, 2)) - del x168 - x170 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x170 += einsum(x169, (0, 1), (1, 0)) - x170 += einsum(x105, (0, 1), (1, 0)) * -1.0 - x171 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x171 += einsum(x170, (0, 1), l2.aaaa, (2, 1, 3, 4), (3, 4, 0, 2)) * -2.0 - del x170 - x172 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x172 += einsum(x29, (0, 1), (0, 1)) * -1.0 - del x29 - x172 += einsum(x33, (0, 1), (0, 1)) - del x33 - x173 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x173 += einsum(x172, (0, 1), x0, (2, 3, 0, 4), (2, 3, 1, 4)) * 2.0 - x174 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x174 += einsum(x165, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 - del x165 - x174 += einsum(x42, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x174 += einsum(x166, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x166 - x174 += einsum(x167, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - del x167 - x174 += einsum(x171, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x171 - x174 += einsum(x173, (0, 1, 2, 3), (1, 0, 3, 2)) - del x173 - l2new_aaaa += einsum(x174, (0, 1, 2, 3), (2, 3, 0, 1)) - l2new_aaaa += einsum(x174, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - del x174 - x175 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x175 += einsum(v.abb.xoo, (0, 1, 2), v.aaa.xov, (0, 3, 4), (3, 1, 2, 4)) - l2new_abab += einsum(x175, (0, 1, 2, 3), x92, (4, 1, 2, 5), (3, 5, 0, 4)) * -2.0 - x176 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x176 += einsum(x1, (0, 1, 2, 3), x175, (4, 1, 2, 5), (0, 4, 3, 5)) - del x175 - x177 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x177 += einsum(x42, (0, 1, 2, 3), x57, (4, 0, 5, 3), (4, 1, 5, 2)) - del x57 - x178 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x178 += einsum(v.aaa.xov, (0, 1, 2), x3, (3, 4, 0), (1, 3, 4, 2)) - del x3 - l2new_abab += einsum(x178, (0, 1, 2, 3), x92, (4, 1, 2, 5), (3, 5, 0, 4)) * -2.0 - x179 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x179 += einsum(x1, (0, 1, 2, 3), x178, (4, 1, 2, 5), (0, 4, 3, 5)) - del x178 - x180 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x180 += einsum(x7, (0, 1, 2), l2.aaaa, (3, 1, 4, 0), (4, 3, 2)) - x181 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x181 += einsum(x12, (0, 1, 2), l2.abab, (3, 1, 4, 0), (4, 3, 2)) * 0.5 - x182 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x182 += einsum(x180, (0, 1, 2), (0, 1, 2)) - del x180 - x182 += einsum(x181, (0, 1, 2), (0, 1, 2)) - del x181 - x183 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x183 += einsum(v.aaa.xov, (0, 1, 2), x182, (3, 4, 0), (3, 1, 4, 2)) * 2.0 - del x182 - x184 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x184 += einsum(t2.aaaa, (0, 1, 2, 3), x42, (4, 1, 3, 5), (0, 4, 2, 5)) - x185 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x185 += einsum(v.aaa.xvv, (0, 1, 2), x27, (3, 4, 0), (3, 4, 1, 2)) - x186 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x186 += einsum(x184, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x184 - x186 += einsum(x185, (0, 1, 2, 3), (1, 0, 3, 2)) - del x185 - l2new_abab += einsum(l2.abab, (0, 1, 2, 3), x186, (2, 4, 0, 5), (5, 1, 4, 3)) * -1.0 - x187 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x187 += einsum(l2.aaaa, (0, 1, 2, 3), x186, (3, 4, 1, 5), (4, 2, 5, 0)) * 2.0 - del x186 - x188 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x188 += einsum(v.aaa.xov, (0, 1, 2), x75, (3, 4, 0), (1, 3, 2, 4)) - del x75 - x189 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x189 += einsum(x16, (0, 1), v.aaa.xov, (2, 3, 1), (3, 0, 2)) * 2.0 - del x16 - x190 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x190 += einsum(v.aaa.xov, (0, 1, 2), x189, (3, 4, 0), (3, 1, 4, 2)) * -1.0 - del x189 - x191 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x191 += einsum(x22, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x191 += einsum(x22, (0, 1, 2, 3), (0, 2, 1, 3)) - x192 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x192 += einsum(x0, (0, 1, 2, 3), x191, (0, 2, 4, 5), (4, 1, 5, 3)) * 2.0 - del x191 - x193 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x193 += einsum(x21, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x193 += einsum(x21, (0, 1, 2, 3), (1, 2, 0, 3)) - l2new_abab += einsum(x193, (0, 1, 2, 3), x49, (0, 2, 4, 5), (3, 5, 1, 4)) * -1.0 - x194 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x194 += einsum(x0, (0, 1, 2, 3), x193, (0, 4, 2, 5), (4, 1, 5, 3)) * 2.0 - del x193 - x195 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x195 += einsum(x21, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x21 - x195 += einsum(x22, (0, 1, 2, 3), (0, 1, 2, 3)) - x196 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x196 += einsum(l1.aa, (0, 1), x195, (1, 2, 3, 4), (2, 3, 4, 0)) - del x195 - x197 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x197 += einsum(f.aa.ov, (0, 1), l1.aa, (2, 3), (0, 3, 1, 2)) - x197 += einsum(x176, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x176 - x197 += einsum(x177, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x177 - x197 += einsum(x179, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x179 - x197 += einsum(x183, (0, 1, 2, 3), (0, 1, 2, 3)) - del x183 - x197 += einsum(x187, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x187 - x197 += einsum(x188, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x188 - x197 += einsum(x190, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x190 - x197 += einsum(x192, (0, 1, 2, 3), (1, 0, 3, 2)) - del x192 - x197 += einsum(x194, (0, 1, 2, 3), (1, 0, 3, 2)) - del x194 - x197 += einsum(x196, (0, 1, 2, 3), (0, 1, 3, 2)) - del x196 - x197 += einsum(l1.aa, (0, 1), x172, (2, 3), (1, 2, 0, 3)) - l2new_aaaa += einsum(x197, (0, 1, 2, 3), (2, 3, 0, 1)) - l2new_aaaa += einsum(x197, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - l2new_aaaa += einsum(x197, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 - l2new_aaaa += einsum(x197, (0, 1, 2, 3), (3, 2, 1, 0)) - del x197 - x198 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x198 += einsum(f.aa.oo, (0, 1), l2.aaaa, (2, 3, 4, 1), (0, 4, 2, 3)) - l2new_aaaa += einsum(x198, (0, 1, 2, 3), (3, 2, 0, 1)) * -2.0 - l2new_aaaa += einsum(x198, (0, 1, 2, 3), (3, 2, 1, 0)) * 2.0 - del x198 - x199 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x199 += einsum(f.aa.ov, (0, 1), t1.aa, (2, 1), (0, 2)) - x200 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x200 += einsum(x199, (0, 1), l2.aaaa, (2, 3, 4, 1), (0, 4, 2, 3)) - del x199 - x201 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x201 += einsum(l2.aaaa, (0, 1, 2, 3), x45, (2, 4, 3, 5), (4, 5, 0, 1)) - del x45 - x202 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x202 += einsum(t1.aa, (0, 1), x172, (2, 1), (2, 0)) - del x172 - x203 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x203 += einsum(x109, (0, 1), (0, 1)) - del x109 - x203 += einsum(x110, (0, 1), (1, 0)) - del x110 - x203 += einsum(x202, (0, 1), (1, 0)) - del x202 - x204 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x204 += einsum(x203, (0, 1), l2.aaaa, (2, 3, 4, 0), (1, 4, 2, 3)) * -2.0 - del x203 - x205 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x205 += einsum(x200, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - del x200 - x205 += einsum(x201, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - del x201 - x205 += einsum(x204, (0, 1, 2, 3), (1, 0, 3, 2)) - del x204 - l2new_aaaa += einsum(x205, (0, 1, 2, 3), (3, 2, 0, 1)) - l2new_aaaa += einsum(x205, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 - del x205 - x206 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x206 += einsum(x41, (0, 1, 2, 3), (3, 2, 1, 0)) - del x41 - x206 += einsum(x43, (0, 1, 2, 3), (0, 3, 1, 2)) - del x43 - x206 += einsum(x44, (0, 1, 2, 3), (0, 3, 1, 2)) - del x44 - l2new_aaaa += einsum(l2.aaaa, (0, 1, 2, 3), x206, (2, 4, 3, 5), (0, 1, 4, 5)) * -2.0 - del x206 - x207 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x207 += einsum(x52, (0, 1, 2, 3), (1, 0, 3, 2)) - del x52 - x207 += einsum(x50, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x50 - l2new_aaaa += einsum(x207, (0, 1, 2, 3), x42, (2, 3, 4, 5), (5, 4, 1, 0)) * 2.0 - del x207 - x208 = np.zeros((nvir[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) - x208 += einsum(v.aaa.xvv, (0, 1, 2), v.abb.xvv, (0, 3, 4), (1, 2, 3, 4)) - l2new_abab += einsum(l2.abab, (0, 1, 2, 3), x208, (4, 0, 1, 5), (4, 5, 2, 3)) - del x208 - x209 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x209 += einsum(l2.bbbb, (0, 1, 2, 3), t2.abab, (4, 3, 5, 1), (4, 2, 5, 0)) - l2new_abab += einsum(x209, (0, 1, 2, 3), x42, (4, 0, 2, 5), (5, 3, 4, 1)) * -2.0 - del x42, x209 - x210 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x210 += einsum(l2.aaaa, (0, 1, 2, 3), t2.abab, (3, 4, 1, 5), (2, 4, 0, 5)) - l2new_abab += einsum(x132, (0, 1, 2, 3), x210, (4, 1, 5, 2), (5, 3, 4, 0)) * -2.0 - del x210 - x211 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x211 += einsum(v.abb.xov, (0, 1, 2), x2, (3, 4, 0), (3, 4, 1, 2)) - del x2 - l2new_abab += einsum(x0, (0, 1, 2, 3), x211, (1, 2, 4, 5), (3, 5, 0, 4)) * -2.0 - x212 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x212 += einsum(v.aaa.xoo, (0, 1, 2), v.abb.xov, (0, 3, 4), (1, 2, 3, 4)) - l2new_abab += einsum(x0, (0, 1, 2, 3), x212, (1, 2, 4, 5), (3, 5, 0, 4)) * -2.0 - del x0 - x213 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x213 += einsum(v.aaa.xov, (0, 1, 2), (1, 2, 0)) * 0.25 - x213 += einsum(x73, (0, 1, 2), (0, 1, 2)) * 0.25 - del x73 - x213 += einsum(x8, (0, 1, 2), (0, 1, 2)) - del x8 - x213 += einsum(x13, (0, 1, 2), (0, 1, 2)) - del x13 - x213 += einsum(x17, (0, 1, 2), (0, 1, 2)) * -1.0 - del x17 - x213 += einsum(x68, (0, 1), v.aaa.xov, (2, 1, 3), (0, 3, 2)) * -0.25 - del x68 - l2new_abab += einsum(v.abb.xov, (0, 1, 2), x213, (3, 4, 0), (4, 2, 3, 1)) * 4.0 - del x213 - x214 = np.zeros((nocc[1], nvir[1], naux), dtype=types[float]) - x214 += einsum(x7, (0, 1, 2), l2.abab, (1, 3, 0, 4), (4, 3, 2)) - del x7 - x215 = np.zeros((nocc[1], nvir[1], naux), dtype=types[float]) - x215 += einsum(x12, (0, 1, 2), l2.bbbb, (3, 1, 4, 0), (4, 3, 2)) * 2.0 - del x12 - x216 = np.zeros((nocc[1], nvir[1], naux), dtype=types[float]) - x216 += einsum(x151, (0, 1, 2), (0, 1, 2)) - del x151 - x216 += einsum(x214, (0, 1, 2), (0, 1, 2)) - x216 += einsum(x215, (0, 1, 2), (0, 1, 2)) - x216 += einsum(x113, (0, 1), v.abb.xov, (2, 3, 1), (3, 0, 2)) * -1.0 - del x113 - x216 += einsum(x152, (0, 1, 2), (0, 1, 2)) * -1.0 - del x152 - l2new_abab += einsum(v.aaa.xov, (0, 1, 2), x216, (3, 4, 0), (2, 4, 1, 3)) - del x216 - x217 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x217 += einsum(t2.bbbb, (0, 1, 2, 3), x132, (4, 1, 3, 5), (0, 4, 2, 5)) - x218 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x218 += einsum(v.abb.xvv, (0, 1, 2), x121, (3, 4, 0), (3, 4, 1, 2)) - x219 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x219 += einsum(x217, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x217 - x219 += einsum(x218, (0, 1, 2, 3), (1, 0, 3, 2)) - del x218 - l2new_abab += einsum(l2.abab, (0, 1, 2, 3), x219, (3, 4, 1, 5), (0, 5, 2, 4)) * -1.0 - x220 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x220 += einsum(t2.abab, (0, 1, 2, 3), x35, (0, 4, 5, 3), (1, 4, 2, 5)) * -1.0 - x220 += einsum(v.aaa.xvv, (0, 1, 2), x121, (3, 4, 0), (4, 3, 1, 2)) - l2new_abab += einsum(l2.abab, (0, 1, 2, 3), x220, (3, 4, 0, 5), (5, 1, 2, 4)) * -1.0 - del x220 - x221 = np.zeros((nocc[0], nocc[0], nvir[1], nvir[1]), dtype=types[float]) - x221 += einsum(t2.abab, (0, 1, 2, 3), x35, (4, 1, 2, 5), (0, 4, 3, 5)) * -1.0 - del x35 - x221 += einsum(v.abb.xvv, (0, 1, 2), x27, (3, 4, 0), (4, 3, 1, 2)) - l2new_abab += einsum(l2.abab, (0, 1, 2, 3), x221, (2, 4, 1, 5), (0, 5, 4, 3)) * -1.0 - del x221 - x222 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x222 += einsum(x36, (0, 1, 2, 3), (0, 1, 2, 3)) - del x36 - x222 += einsum(x121, (0, 1, 2), x27, (3, 4, 2), (4, 3, 1, 0)) - del x27, x121 - l2new_abab += einsum(l2.abab, (0, 1, 2, 3), x222, (2, 4, 3, 5), (0, 1, 4, 5)) - del x222 - x223 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x223 += einsum(f.aa.vv, (0, 1), (0, 1)) * -1.0 - x223 += einsum(x169, (0, 1), (0, 1)) - del x169 - x223 += einsum(x105, (0, 1), (1, 0)) * -1.0 - del x105 - l2new_abab += einsum(x223, (0, 1), l2.abab, (0, 2, 3, 4), (1, 2, 3, 4)) * -1.0 - del x223 - x224 = np.zeros((nocc[1], nvir[1], naux), dtype=types[float]) - x224 += einsum(x9, (0, 1, 2), (0, 1, 2)) * 0.5 - x224 += einsum(x10, (0, 1, 2), (0, 1, 2)) * 0.5 - x224 += einsum(x11, (0, 1, 2), (0, 1, 2)) - x225 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x225 += einsum(f.bb.vv, (0, 1), (0, 1)) * -1.0 - x225 += einsum(v.abb.xov, (0, 1, 2), x224, (1, 3, 0), (3, 2)) * 2.0 - del x224 - x225 += einsum(x157, (0, 1), (1, 0)) * -1.0 - l2new_abab += einsum(x225, (0, 1), l2.abab, (2, 0, 3, 4), (2, 1, 3, 4)) * -1.0 - del x225 - x226 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x226 += einsum(x118, (0, 1, 2, 3), (0, 1, 2, 3)) - x226 += einsum(x118, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - l2new_abab += einsum(x1, (0, 1, 2, 3), x226, (1, 4, 2, 5), (3, 5, 0, 4)) * -1.0 - del x226 - x227 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x227 += einsum(x117, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x227 += einsum(x117, (0, 1, 2, 3), (1, 2, 0, 3)) - l2new_abab += einsum(x1, (0, 1, 2, 3), x227, (1, 4, 2, 5), (3, 5, 0, 4)) * -1.0 - del x1, x227 - x228 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x228 += einsum(x22, (0, 1, 2, 3), (0, 1, 2, 3)) - x228 += einsum(x22, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x22 - l2new_abab += einsum(x228, (0, 1, 2, 3), x49, (0, 2, 4, 5), (3, 5, 1, 4)) * -1.0 - del x228 - x229 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x229 += einsum(f.bb.oo, (0, 1), (0, 1)) * 0.5 - x229 += einsum(v.abb.xov, (0, 1, 2), x160, (3, 2, 0), (3, 1)) - del x160 - x229 += einsum(x32, (0,), v.abb.xoo, (0, 1, 2), (1, 2)) * 0.5 - del x32 - x229 += einsum(t1.bb, (0, 1), x126, (2, 1), (0, 2)) * 0.5 - del x126 - l2new_abab += einsum(x229, (0, 1), l2.abab, (2, 3, 4, 0), (2, 3, 4, 1)) * -2.0 - del x229 - x230 = np.zeros((nvir[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x230 += einsum(v.abb.xvv, (0, 1, 2), v.abb.xvv, (0, 3, 4), (1, 3, 4, 2)) - l2new_bbbb = np.zeros((nvir[1], nvir[1], nocc[1], nocc[1]), dtype=types[float]) - l2new_bbbb += einsum(l2.bbbb, (0, 1, 2, 3), x230, (4, 5, 0, 1), (4, 5, 2, 3)) * -2.0 - del x230 - x231 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x231 += einsum(f.bb.vv, (0, 1), l2.bbbb, (2, 1, 3, 4), (3, 4, 0, 2)) - x232 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x232 += einsum(f.bb.ov, (0, 1), x92, (2, 3, 0, 4), (2, 3, 1, 4)) - x233 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x233 += einsum(x129, (0, 1, 2, 3), x92, (4, 5, 0, 2), (5, 4, 1, 3)) - del x129 - x234 = np.zeros((nocc[1], nvir[1], naux), dtype=types[float]) - x234 += einsum(x9, (0, 1, 2), (0, 1, 2)) - del x9 - x234 += einsum(x10, (0, 1, 2), (0, 1, 2)) - del x10 - x234 += einsum(x11, (0, 1, 2), (0, 1, 2)) * 2.0 - del x11 - x235 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x235 += einsum(v.abb.xov, (0, 1, 2), x234, (1, 3, 0), (3, 2)) - del x234 - x236 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x236 += einsum(x235, (0, 1), (1, 0)) - del x235 - x236 += einsum(x157, (0, 1), (1, 0)) * -1.0 - del x157 - x237 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x237 += einsum(x236, (0, 1), l2.bbbb, (2, 1, 3, 4), (3, 4, 0, 2)) * -2.0 - del x236 - x238 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x238 += einsum(x124, (0, 1), (0, 1)) * -1.0 - del x124 - x238 += einsum(x125, (0, 1), (0, 1)) - del x125 - x239 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x239 += einsum(x238, (0, 1), x92, (2, 3, 0, 4), (2, 3, 1, 4)) * 2.0 - x240 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x240 += einsum(x231, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 - del x231 - x240 += einsum(x132, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x240 += einsum(x232, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x232 - x240 += einsum(x233, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - del x233 - x240 += einsum(x237, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x237 - x240 += einsum(x239, (0, 1, 2, 3), (1, 0, 3, 2)) - del x239 - l2new_bbbb += einsum(x240, (0, 1, 2, 3), (2, 3, 0, 1)) - l2new_bbbb += einsum(x240, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - del x240 - x241 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x241 += einsum(x212, (0, 1, 2, 3), x49, (0, 1, 4, 5), (4, 2, 5, 3)) - del x212 - x242 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x242 += einsum(x211, (0, 1, 2, 3), x49, (0, 1, 4, 5), (4, 2, 5, 3)) - del x49, x211 - x243 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x243 += einsum(x132, (0, 1, 2, 3), x145, (4, 0, 5, 3), (4, 1, 5, 2)) - del x145 - x244 = np.zeros((nocc[1], nvir[1], naux), dtype=types[float]) - x244 += einsum(x214, (0, 1, 2), (0, 1, 2)) - del x214 - x244 += einsum(x215, (0, 1, 2), (0, 1, 2)) - del x215 - x245 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x245 += einsum(v.abb.xov, (0, 1, 2), x244, (3, 4, 0), (3, 1, 4, 2)) - del x244 - x246 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x246 += einsum(l2.bbbb, (0, 1, 2, 3), x219, (3, 4, 1, 5), (4, 2, 5, 0)) * 2.0 - del x219 - x247 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x247 += einsum(v.abb.xov, (0, 1, 2), x153, (3, 4, 0), (3, 1, 4, 2)) - del x153 - x248 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x248 += einsum(v.abb.xov, (0, 1, 2), x114, (3, 4, 0), (3, 1, 4, 2)) * -2.0 - del x114 - x249 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x249 += einsum(x118, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x249 += einsum(x118, (0, 1, 2, 3), (0, 2, 1, 3)) - x250 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x250 += einsum(x249, (0, 1, 2, 3), x92, (0, 4, 1, 5), (2, 4, 3, 5)) * 2.0 - del x249 - x251 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x251 += einsum(x117, (0, 1, 2, 3), (1, 0, 2, 3)) - x251 += einsum(x117, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - x252 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x252 += einsum(x251, (0, 1, 2, 3), x92, (0, 4, 1, 5), (2, 4, 3, 5)) * 2.0 - del x92, x251 - x253 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x253 += einsum(x117, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x117 - x253 += einsum(x118, (0, 1, 2, 3), (0, 1, 2, 3)) - del x118 - x254 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x254 += einsum(l1.bb, (0, 1), x253, (1, 2, 3, 4), (2, 3, 4, 0)) - del x253 - x255 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x255 += einsum(f.bb.ov, (0, 1), l1.bb, (2, 3), (0, 3, 1, 2)) - x255 += einsum(x241, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x241 - x255 += einsum(x242, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x242 - x255 += einsum(x243, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x243 - x255 += einsum(x245, (0, 1, 2, 3), (0, 1, 2, 3)) - del x245 - x255 += einsum(x246, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x246 - x255 += einsum(x247, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x247 - x255 += einsum(x248, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x248 - x255 += einsum(x250, (0, 1, 2, 3), (1, 0, 3, 2)) - del x250 - x255 += einsum(x252, (0, 1, 2, 3), (1, 0, 3, 2)) - del x252 - x255 += einsum(x254, (0, 1, 2, 3), (0, 1, 3, 2)) - del x254 - x255 += einsum(l1.bb, (0, 1), x238, (2, 3), (1, 2, 0, 3)) - l2new_bbbb += einsum(x255, (0, 1, 2, 3), (2, 3, 0, 1)) - l2new_bbbb += einsum(x255, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - l2new_bbbb += einsum(x255, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 - l2new_bbbb += einsum(x255, (0, 1, 2, 3), (3, 2, 1, 0)) - del x255 - x256 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x256 += einsum(f.bb.ov, (0, 1), t1.bb, (2, 1), (0, 2)) - x257 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x257 += einsum(x256, (0, 1), l2.bbbb, (2, 3, 4, 1), (0, 4, 2, 3)) - del x256 - x258 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x258 += einsum(l2.bbbb, (0, 1, 2, 3), x135, (2, 4, 3, 5), (4, 5, 0, 1)) - del x135 - x259 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x259 += einsum(t1.bb, (0, 1), x238, (2, 1), (2, 0)) - del x238 - x260 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x260 += einsum(x161, (0, 1), (0, 1)) - del x161 - x260 += einsum(x162, (0, 1), (1, 0)) - del x162 - x260 += einsum(x259, (0, 1), (1, 0)) - del x259 - x261 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x261 += einsum(x260, (0, 1), l2.bbbb, (2, 3, 4, 0), (1, 4, 2, 3)) * -2.0 - del x260 - x262 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x262 += einsum(x257, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - del x257 - x262 += einsum(x258, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - del x258 - x262 += einsum(x261, (0, 1, 2, 3), (1, 0, 3, 2)) - del x261 - l2new_bbbb += einsum(x262, (0, 1, 2, 3), (3, 2, 0, 1)) - l2new_bbbb += einsum(x262, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 - del x262 - x263 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x263 += einsum(f.bb.oo, (0, 1), l2.bbbb, (2, 3, 4, 1), (0, 4, 2, 3)) - l2new_bbbb += einsum(x263, (0, 1, 2, 3), (3, 2, 0, 1)) * -2.0 - l2new_bbbb += einsum(x263, (0, 1, 2, 3), (3, 2, 1, 0)) * 2.0 - del x263 - x264 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x264 += einsum(x131, (0, 1, 2, 3), (3, 2, 1, 0)) - del x131 - x264 += einsum(x133, (0, 1, 2, 3), (0, 3, 1, 2)) - del x133 - x264 += einsum(x134, (0, 1, 2, 3), (0, 3, 1, 2)) - del x134 - l2new_bbbb += einsum(l2.bbbb, (0, 1, 2, 3), x264, (2, 4, 3, 5), (0, 1, 4, 5)) * -2.0 - del x264 - x265 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x265 += einsum(x140, (0, 1, 2, 3), (1, 0, 3, 2)) - del x140 - x265 += einsum(x139, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x139 - l2new_bbbb += einsum(x132, (0, 1, 2, 3), x265, (4, 5, 0, 1), (3, 2, 5, 4)) * 2.0 - del x132, x265 - - l1new.aa = l1new_aa - l1new.bb = l1new_bb - l2new.aaaa = l2new_aaaa - l2new.abab = l2new_abab - l2new.bbbb = l2new_bbbb - - return {"l1new": l1new, "l2new": l2new} - -def make_rdm1_f(f=None, v=None, nocc=None, nvir=None, naux=None, t1=None, t2=None, l1=None, l2=None, **kwargs): - rdm1_f = Namespace() - - delta = Namespace(aa=Namespace(), bb=Namespace()) - delta.aa = Namespace(oo=np.eye(nocc[0]), vv=np.eye(nvir[0])) - delta.bb = Namespace(oo=np.eye(nocc[1]), vv=np.eye(nvir[1])) - - # RDM1 - rdm1_f_aa_oo = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - rdm1_f_aa_oo += einsum(delta.aa.oo, (0, 1), (0, 1)) - rdm1_f_bb_oo = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - rdm1_f_bb_oo += einsum(delta.bb.oo, (0, 1), (0, 1)) - rdm1_f_aa_ov = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - rdm1_f_aa_ov += einsum(l1.aa, (0, 1), t2.aaaa, (2, 1, 3, 0), (2, 3)) * 2.0 - rdm1_f_aa_ov += einsum(t1.aa, (0, 1), (0, 1)) - rdm1_f_aa_ov += einsum(l1.bb, (0, 1), t2.abab, (2, 1, 3, 0), (2, 3)) - rdm1_f_bb_ov = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - rdm1_f_bb_ov += einsum(l1.bb, (0, 1), t2.bbbb, (2, 1, 3, 0), (2, 3)) * 2.0 - rdm1_f_bb_ov += einsum(l1.aa, (0, 1), t2.abab, (1, 2, 0, 3), (2, 3)) - rdm1_f_bb_ov += einsum(t1.bb, (0, 1), (0, 1)) - rdm1_f_aa_vo = np.zeros((nvir[0], nocc[0]), dtype=types[float]) - rdm1_f_aa_vo += einsum(l1.aa, (0, 1), (0, 1)) - rdm1_f_bb_vo = np.zeros((nvir[1], nocc[1]), dtype=types[float]) - rdm1_f_bb_vo += einsum(l1.bb, (0, 1), (0, 1)) - rdm1_f_aa_vv = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - rdm1_f_aa_vv += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (2, 3, 4, 1), (0, 4)) * 2.0 - rdm1_f_aa_vv += einsum(l1.aa, (0, 1), t1.aa, (1, 2), (0, 2)) - rdm1_f_aa_vv += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 4, 1), (0, 4)) - rdm1_f_bb_vv = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - rdm1_f_bb_vv += einsum(l1.bb, (0, 1), t1.bb, (1, 2), (0, 2)) - rdm1_f_bb_vv += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 0, 4), (1, 4)) - rdm1_f_bb_vv += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (2, 3, 4, 1), (0, 4)) * 2.0 - x0 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x0 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 0, 1), (2, 4)) - rdm1_f_aa_oo += einsum(x0, (0, 1), (1, 0)) * -1.0 - x1 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x1 += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 3, 0, 1), (2, 4)) - rdm1_f_aa_oo += einsum(x1, (0, 1), (1, 0)) * -2.0 - x2 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x2 += einsum(l1.aa, (0, 1), t1.aa, (2, 0), (1, 2)) - rdm1_f_aa_oo += einsum(x2, (0, 1), (1, 0)) * -1.0 - x3 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x3 += einsum(l1.bb, (0, 1), t1.bb, (2, 0), (1, 2)) - rdm1_f_bb_oo += einsum(x3, (0, 1), (1, 0)) * -1.0 - x4 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x4 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 1), (3, 4)) - rdm1_f_bb_oo += einsum(x4, (0, 1), (1, 0)) * -1.0 - x5 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x5 += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 3, 0, 1), (2, 4)) - rdm1_f_bb_oo += einsum(x5, (0, 1), (1, 0)) * -2.0 - x6 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x6 += einsum(t1.aa, (0, 1), l2.aaaa, (2, 1, 3, 4), (3, 4, 0, 2)) - rdm1_f_aa_ov += einsum(t2.aaaa, (0, 1, 2, 3), x6, (0, 1, 4, 3), (4, 2)) * 2.0 - del x6 - x7 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x7 += einsum(t1.aa, (0, 1), l2.abab, (1, 2, 3, 4), (3, 0, 4, 2)) - rdm1_f_aa_ov += einsum(t2.abab, (0, 1, 2, 3), x7, (0, 4, 1, 3), (4, 2)) * -1.0 - del x7 - x8 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x8 += einsum(x2, (0, 1), (0, 1)) - del x2 - x8 += einsum(x1, (0, 1), (0, 1)) * 2.0 - del x1 - x8 += einsum(x0, (0, 1), (0, 1)) - del x0 - rdm1_f_aa_ov += einsum(t1.aa, (0, 1), x8, (0, 2), (2, 1)) * -1.0 - del x8 - x9 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x9 += einsum(t1.bb, (0, 1), l2.abab, (2, 1, 3, 4), (3, 4, 0, 2)) - rdm1_f_bb_ov += einsum(t2.abab, (0, 1, 2, 3), x9, (0, 1, 4, 2), (4, 3)) * -1.0 - del x9 - x10 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x10 += einsum(t1.bb, (0, 1), l2.bbbb, (2, 1, 3, 4), (3, 4, 0, 2)) - rdm1_f_bb_ov += einsum(t2.bbbb, (0, 1, 2, 3), x10, (1, 0, 4, 3), (4, 2)) * -2.0 - del x10 - x11 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x11 += einsum(x3, (0, 1), (0, 1)) - del x3 - x11 += einsum(x4, (0, 1), (0, 1)) - del x4 - x11 += einsum(x5, (0, 1), (0, 1)) * 2.0 - del x5 - rdm1_f_bb_ov += einsum(t1.bb, (0, 1), x11, (0, 2), (2, 1)) * -1.0 - del x11 - - rdm1_f_aa = np.block([[rdm1_f_aa_oo, rdm1_f_aa_ov], [rdm1_f_aa_vo, rdm1_f_aa_vv]]) - rdm1_f_bb = np.block([[rdm1_f_bb_oo, rdm1_f_bb_ov], [rdm1_f_bb_vo, rdm1_f_bb_vv]]) - - rdm1_f.aa = rdm1_f_aa - rdm1_f.bb = rdm1_f_bb - - return rdm1_f - -def make_rdm2_f(f=None, v=None, nocc=None, nvir=None, naux=None, t1=None, t2=None, l1=None, l2=None, **kwargs): - rdm2_f = Namespace() - - delta = Namespace(aa=Namespace(), bb=Namespace()) - delta.aa = Namespace(oo=np.eye(nocc[0]), vv=np.eye(nvir[0])) - delta.bb = Namespace(oo=np.eye(nocc[1]), vv=np.eye(nvir[1])) - - # RDM2 - rdm2_f_aaaa_oooo = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - rdm2_f_aaaa_oooo += einsum(delta.aa.oo, (0, 1), delta.aa.oo, (2, 3), (0, 2, 1, 3)) - rdm2_f_aaaa_oooo += einsum(delta.aa.oo, (0, 1), delta.aa.oo, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_bbbb_oooo = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - rdm2_f_bbbb_oooo += einsum(delta.bb.oo, (0, 1), delta.bb.oo, (2, 3), (0, 2, 1, 3)) - rdm2_f_bbbb_oooo += einsum(delta.bb.oo, (0, 1), delta.bb.oo, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_aaaa_ovoo = np.zeros((nocc[0], nvir[0], nocc[0], nocc[0]), dtype=types[float]) - rdm2_f_aaaa_ovoo += einsum(delta.aa.oo, (0, 1), l1.aa, (2, 3), (0, 2, 1, 3)) - rdm2_f_aaaa_ovoo += einsum(delta.aa.oo, (0, 1), l1.aa, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_abab_ovoo = np.zeros((nocc[0], nvir[1], nocc[0], nocc[1]), dtype=types[float]) - rdm2_f_abab_ovoo += einsum(delta.aa.oo, (0, 1), l1.bb, (2, 3), (0, 2, 1, 3)) - rdm2_f_bbbb_ovoo = np.zeros((nocc[1], nvir[1], nocc[1], nocc[1]), dtype=types[float]) - rdm2_f_bbbb_ovoo += einsum(delta.bb.oo, (0, 1), l1.bb, (2, 3), (0, 2, 1, 3)) - rdm2_f_bbbb_ovoo += einsum(delta.bb.oo, (0, 1), l1.bb, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_aaaa_vooo = np.zeros((nvir[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - rdm2_f_aaaa_vooo += einsum(delta.aa.oo, (0, 1), l1.aa, (2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_aaaa_vooo += einsum(delta.aa.oo, (0, 1), l1.aa, (2, 3), (2, 0, 3, 1)) - rdm2_f_abab_vooo = np.zeros((nvir[0], nocc[1], nocc[0], nocc[1]), dtype=types[float]) - rdm2_f_abab_vooo += einsum(delta.bb.oo, (0, 1), l1.aa, (2, 3), (2, 0, 3, 1)) - rdm2_f_bbbb_vooo = np.zeros((nvir[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - rdm2_f_bbbb_vooo += einsum(delta.bb.oo, (0, 1), l1.bb, (2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_bbbb_vooo += einsum(delta.bb.oo, (0, 1), l1.bb, (2, 3), (2, 0, 3, 1)) - rdm2_f_aaaa_oovv = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - rdm2_f_aaaa_oovv += einsum(t2.aaaa, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - rdm2_f_aaaa_oovv += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_aaaa_oovv += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 1, 3)) - rdm2_f_abab_oovv = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - rdm2_f_abab_oovv += einsum(t2.abab, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_bbbb_oovv = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - rdm2_f_bbbb_oovv += einsum(t2.bbbb, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - rdm2_f_aaaa_ovov = np.zeros((nocc[0], nvir[0], nocc[0], nvir[0]), dtype=types[float]) - rdm2_f_aaaa_ovov += einsum(l1.aa, (0, 1), t1.aa, (2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_bbbb_ovov = np.zeros((nocc[1], nvir[1], nocc[1], nvir[1]), dtype=types[float]) - rdm2_f_bbbb_ovov += einsum(l1.bb, (0, 1), t1.bb, (2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_aaaa_ovvo = np.zeros((nocc[0], nvir[0], nvir[0], nocc[0]), dtype=types[float]) - rdm2_f_aaaa_ovvo += einsum(l1.aa, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1)) - rdm2_f_abab_ovvo = np.zeros((nocc[0], nvir[1], nvir[0], nocc[1]), dtype=types[float]) - rdm2_f_abab_ovvo += einsum(l1.bb, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1)) - rdm2_f_bbbb_ovvo = np.zeros((nocc[1], nvir[1], nvir[1], nocc[1]), dtype=types[float]) - rdm2_f_bbbb_ovvo += einsum(l1.bb, (0, 1), t1.bb, (2, 3), (2, 0, 3, 1)) - rdm2_f_aaaa_voov = np.zeros((nvir[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - rdm2_f_aaaa_voov += einsum(l1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 1, 3)) - rdm2_f_abab_voov = np.zeros((nvir[0], nocc[1], nocc[0], nvir[1]), dtype=types[float]) - rdm2_f_abab_voov += einsum(l1.aa, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3)) - rdm2_f_bbbb_voov = np.zeros((nvir[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - rdm2_f_bbbb_voov += einsum(l1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3)) - rdm2_f_aaaa_vovo = np.zeros((nvir[0], nocc[0], nvir[0], nocc[0]), dtype=types[float]) - rdm2_f_aaaa_vovo += einsum(l1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_bbbb_vovo = np.zeros((nvir[1], nocc[1], nvir[1], nocc[1]), dtype=types[float]) - rdm2_f_bbbb_vovo += einsum(l1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_aaaa_vvoo = np.zeros((nvir[0], nvir[0], nocc[0], nocc[0]), dtype=types[float]) - rdm2_f_aaaa_vvoo += einsum(l2.aaaa, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - rdm2_f_abab_vvoo = np.zeros((nvir[0], nvir[1], nocc[0], nocc[1]), dtype=types[float]) - rdm2_f_abab_vvoo += einsum(l2.abab, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_bbbb_vvoo = np.zeros((nvir[1], nvir[1], nocc[1], nocc[1]), dtype=types[float]) - rdm2_f_bbbb_vvoo += einsum(l2.bbbb, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - rdm2_f_abab_ovvv = np.zeros((nocc[0], nvir[1], nvir[0], nvir[1]), dtype=types[float]) - rdm2_f_abab_ovvv += einsum(l1.bb, (0, 1), t2.abab, (2, 1, 3, 4), (2, 0, 3, 4)) - rdm2_f_abab_vovv = np.zeros((nvir[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - rdm2_f_abab_vovv += einsum(l1.aa, (0, 1), t2.abab, (1, 2, 3, 4), (0, 2, 3, 4)) - rdm2_f_abab_vvvo = np.zeros((nvir[0], nvir[1], nvir[0], nocc[1]), dtype=types[float]) - rdm2_f_abab_vvvo += einsum(t1.aa, (0, 1), l2.abab, (2, 3, 0, 4), (2, 3, 1, 4)) - rdm2_f_aaaa_vvvv = np.zeros((nvir[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - rdm2_f_aaaa_vvvv += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (2, 3, 4, 5), (0, 1, 4, 5)) * 2.0 - rdm2_f_abab_vvvv = np.zeros((nvir[0], nvir[1], nvir[0], nvir[1]), dtype=types[float]) - rdm2_f_abab_vvvv += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 4, 5), (0, 1, 4, 5)) - rdm2_f_bbbb_vvvv = np.zeros((nvir[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - rdm2_f_bbbb_vvvv += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (2, 3, 4, 5), (0, 1, 4, 5)) * 2.0 - x0 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x0 += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 5, 0, 1), (2, 3, 4, 5)) - rdm2_f_aaaa_oooo += einsum(x0, (0, 1, 2, 3), (3, 2, 1, 0)) * 2.0 - x1 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x1 += einsum(t1.aa, (0, 1), l2.aaaa, (2, 1, 3, 4), (3, 4, 0, 2)) - rdm2_f_aaaa_ovoo += einsum(x1, (0, 1, 2, 3), (2, 3, 1, 0)) * -2.0 - rdm2_f_aaaa_vooo += einsum(x1, (0, 1, 2, 3), (3, 2, 1, 0)) * 2.0 - x2 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x2 += einsum(t1.aa, (0, 1), x1, (2, 3, 4, 1), (2, 3, 0, 4)) - rdm2_f_aaaa_oooo += einsum(x2, (0, 1, 2, 3), (2, 3, 1, 0)) * -2.0 - x3 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x3 += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 3, 0, 1), (2, 4)) - x4 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x4 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 0, 1), (2, 4)) - x5 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x5 += einsum(x3, (0, 1), (0, 1)) - x5 += einsum(x4, (0, 1), (0, 1)) * 0.5 - rdm2_f_aaaa_oooo += einsum(delta.aa.oo, (0, 1), x5, (2, 3), (0, 3, 1, 2)) * -2.0 - rdm2_f_aaaa_oooo += einsum(delta.aa.oo, (0, 1), x5, (2, 3), (0, 3, 2, 1)) * 2.0 - rdm2_f_aaaa_oooo += einsum(delta.aa.oo, (0, 1), x5, (2, 3), (3, 0, 1, 2)) * 2.0 - rdm2_f_aaaa_oooo += einsum(delta.aa.oo, (0, 1), x5, (2, 3), (3, 0, 2, 1)) * -2.0 - x6 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x6 += einsum(l1.aa, (0, 1), t1.aa, (2, 0), (1, 2)) - rdm2_f_aaaa_oooo += einsum(delta.aa.oo, (0, 1), x6, (2, 3), (0, 3, 1, 2)) * -1.0 - rdm2_f_aaaa_oooo += einsum(delta.aa.oo, (0, 1), x6, (2, 3), (3, 0, 1, 2)) - rdm2_f_aaaa_oooo += einsum(delta.aa.oo, (0, 1), x6, (2, 3), (0, 3, 2, 1)) - rdm2_f_aaaa_oooo += einsum(delta.aa.oo, (0, 1), x6, (2, 3), (3, 0, 2, 1)) * -1.0 - x7 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x7 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 5, 0, 1), (2, 4, 3, 5)) - rdm2_f_abab_oooo = np.zeros((nocc[0], nocc[1], nocc[0], nocc[1]), dtype=types[float]) - rdm2_f_abab_oooo += einsum(x7, (0, 1, 2, 3), (1, 3, 0, 2)) - x8 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x8 += einsum(t1.bb, (0, 1), l2.abab, (2, 1, 3, 4), (3, 4, 0, 2)) - rdm2_f_abab_vooo += einsum(x8, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - rdm2_f_abab_vovo = np.zeros((nvir[0], nocc[1], nvir[0], nocc[1]), dtype=types[float]) - rdm2_f_abab_vovo += einsum(t1.aa, (0, 1), x8, (0, 2, 3, 4), (4, 3, 1, 2)) * -1.0 - rdm2_f_abab_vovv += einsum(t2.abab, (0, 1, 2, 3), x8, (0, 1, 4, 5), (5, 4, 2, 3)) * -1.0 - x9 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x9 += einsum(t1.aa, (0, 1), x8, (2, 3, 4, 1), (2, 0, 3, 4)) - rdm2_f_abab_oooo += einsum(x9, (0, 1, 2, 3), (1, 3, 0, 2)) - x10 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x10 += einsum(delta.aa.oo, (0, 1), (0, 1)) * -1.0 - x10 += einsum(x6, (0, 1), (0, 1)) - x10 += einsum(x3, (0, 1), (0, 1)) * 2.0 - x10 += einsum(x4, (0, 1), (0, 1)) - rdm2_f_abab_oooo += einsum(delta.bb.oo, (0, 1), x10, (2, 3), (3, 0, 2, 1)) * -1.0 - del x10 - x11 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x11 += einsum(l1.bb, (0, 1), t1.bb, (2, 0), (1, 2)) - rdm2_f_bbbb_oooo += einsum(delta.bb.oo, (0, 1), x11, (2, 3), (0, 3, 1, 2)) * -1.0 - rdm2_f_bbbb_oooo += einsum(delta.bb.oo, (0, 1), x11, (2, 3), (3, 0, 1, 2)) - rdm2_f_bbbb_oooo += einsum(delta.bb.oo, (0, 1), x11, (2, 3), (0, 3, 2, 1)) - rdm2_f_bbbb_oooo += einsum(delta.bb.oo, (0, 1), x11, (2, 3), (3, 0, 2, 1)) * -1.0 - x12 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x12 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 1), (3, 4)) - x13 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x13 += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 3, 0, 1), (2, 4)) - x14 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x14 += einsum(x11, (0, 1), (0, 1)) - x14 += einsum(x12, (0, 1), (0, 1)) - x14 += einsum(x13, (0, 1), (0, 1)) * 2.0 - rdm2_f_abab_oooo += einsum(delta.aa.oo, (0, 1), x14, (2, 3), (0, 3, 1, 2)) * -1.0 - rdm2_f_abab_oovv += einsum(x14, (0, 1), t2.abab, (2, 0, 3, 4), (2, 1, 3, 4)) * -1.0 - del x14 - x15 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x15 += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 5, 0, 1), (2, 3, 4, 5)) - rdm2_f_bbbb_oooo += einsum(x15, (0, 1, 2, 3), (3, 2, 1, 0)) * 2.0 - x16 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x16 += einsum(t1.bb, (0, 1), l2.bbbb, (2, 1, 3, 4), (3, 4, 0, 2)) - rdm2_f_bbbb_ovoo += einsum(x16, (0, 1, 2, 3), (2, 3, 1, 0)) * -2.0 - rdm2_f_bbbb_vooo += einsum(x16, (0, 1, 2, 3), (3, 2, 1, 0)) * 2.0 - x17 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x17 += einsum(t1.bb, (0, 1), x16, (2, 3, 4, 1), (2, 3, 0, 4)) - rdm2_f_bbbb_oooo += einsum(x17, (0, 1, 2, 3), (2, 3, 1, 0)) * -2.0 - x18 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x18 += einsum(x12, (0, 1), (0, 1)) - x18 += einsum(x13, (0, 1), (0, 1)) * 2.0 - rdm2_f_bbbb_oooo += einsum(delta.bb.oo, (0, 1), x18, (2, 3), (0, 3, 1, 2)) * -1.0 - rdm2_f_bbbb_oooo += einsum(delta.bb.oo, (0, 1), x18, (2, 3), (0, 3, 2, 1)) - rdm2_f_bbbb_oooo += einsum(delta.bb.oo, (0, 1), x18, (2, 3), (3, 0, 1, 2)) - rdm2_f_bbbb_oooo += einsum(delta.bb.oo, (0, 1), x18, (2, 3), (3, 0, 2, 1)) * -1.0 - x19 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x19 += einsum(l1.aa, (0, 1), t2.aaaa, (2, 3, 4, 0), (1, 2, 3, 4)) - rdm2_f_aaaa_ooov = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - rdm2_f_aaaa_ooov += einsum(x19, (0, 1, 2, 3), (2, 1, 0, 3)) * -2.0 - rdm2_f_aaaa_oovo = np.zeros((nocc[0], nocc[0], nvir[0], nocc[0]), dtype=types[float]) - rdm2_f_aaaa_oovo += einsum(x19, (0, 1, 2, 3), (2, 1, 3, 0)) * 2.0 - x20 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x20 += einsum(t2.aaaa, (0, 1, 2, 3), x1, (4, 1, 5, 3), (4, 5, 0, 2)) * -1.0 - x21 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x21 += einsum(t1.aa, (0, 1), l2.abab, (1, 2, 3, 4), (3, 0, 4, 2)) - rdm2_f_abab_ovoo += einsum(x21, (0, 1, 2, 3), (1, 3, 0, 2)) * -1.0 - rdm2_f_abab_ovov = np.zeros((nocc[0], nvir[1], nocc[0], nvir[1]), dtype=types[float]) - rdm2_f_abab_ovov += einsum(t1.bb, (0, 1), x21, (2, 3, 0, 4), (3, 4, 2, 1)) * -1.0 - rdm2_f_abab_ovvv += einsum(t2.abab, (0, 1, 2, 3), x21, (0, 4, 1, 5), (4, 5, 2, 3)) * -1.0 - x22 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x22 += einsum(t2.abab, (0, 1, 2, 3), x21, (4, 5, 1, 3), (4, 5, 0, 2)) - x23 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x23 += einsum(x6, (0, 1), (0, 1)) - x23 += einsum(x3, (0, 1), (0, 1)) * 2.0 - del x3 - x23 += einsum(x4, (0, 1), (0, 1)) - del x4 - rdm2_f_abab_ooov = np.zeros((nocc[0], nocc[1], nocc[0], nvir[1]), dtype=types[float]) - rdm2_f_abab_ooov += einsum(t1.bb, (0, 1), x23, (2, 3), (3, 0, 2, 1)) * -1.0 - rdm2_f_abab_oovv += einsum(x23, (0, 1), t2.abab, (0, 2, 3, 4), (1, 2, 3, 4)) * -1.0 - x24 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x24 += einsum(delta.aa.oo, (0, 1), t1.aa, (2, 3), (0, 1, 2, 3)) - x24 += einsum(x20, (0, 1, 2, 3), (1, 0, 2, 3)) * -4.0 - x24 += einsum(x22, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x24 += einsum(t1.aa, (0, 1), x23, (2, 3), (0, 2, 3, 1)) - rdm2_f_aaaa_ooov += einsum(x24, (0, 1, 2, 3), (0, 2, 1, 3)) - rdm2_f_aaaa_ooov += einsum(x24, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_aaaa_oovo += einsum(x24, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_aaaa_oovo += einsum(x24, (0, 1, 2, 3), (2, 0, 3, 1)) - del x24 - x25 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x25 += einsum(l1.aa, (0, 1), t2.aaaa, (2, 1, 3, 0), (2, 3)) - x26 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x26 += einsum(l1.bb, (0, 1), t2.abab, (2, 1, 3, 0), (2, 3)) - x27 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x27 += einsum(t2.aaaa, (0, 1, 2, 3), x1, (0, 1, 4, 3), (4, 2)) * -1.0 - x28 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x28 += einsum(t2.abab, (0, 1, 2, 3), x21, (0, 4, 1, 3), (4, 2)) - x29 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x29 += einsum(t1.aa, (0, 1), x23, (0, 2), (2, 1)) * 0.5 - x30 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x30 += einsum(x25, (0, 1), (0, 1)) * -1.0 - x30 += einsum(x26, (0, 1), (0, 1)) * -0.5 - x30 += einsum(x27, (0, 1), (0, 1)) - x30 += einsum(x28, (0, 1), (0, 1)) * 0.5 - x30 += einsum(x29, (0, 1), (0, 1)) - rdm2_f_aaaa_ooov += einsum(delta.aa.oo, (0, 1), x30, (2, 3), (0, 2, 1, 3)) * -2.0 - rdm2_f_aaaa_ooov += einsum(delta.aa.oo, (0, 1), x30, (2, 3), (2, 0, 1, 3)) * 2.0 - rdm2_f_aaaa_oovo += einsum(delta.aa.oo, (0, 1), x30, (2, 3), (0, 2, 3, 1)) * 2.0 - rdm2_f_aaaa_oovo += einsum(delta.aa.oo, (0, 1), x30, (2, 3), (2, 0, 3, 1)) * -2.0 - x31 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x31 += einsum(x0, (0, 1, 2, 3), (1, 0, 3, 2)) - del x0 - x31 += einsum(x2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x2 - rdm2_f_aaaa_oovv += einsum(t2.aaaa, (0, 1, 2, 3), x31, (0, 1, 4, 5), (5, 4, 2, 3)) * -2.0 - x32 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x32 += einsum(t1.aa, (0, 1), x31, (0, 2, 3, 4), (2, 3, 4, 1)) * 2.0 - rdm2_f_aaaa_ooov += einsum(x32, (0, 1, 2, 3), (2, 1, 0, 3)) - rdm2_f_aaaa_oovo += einsum(x32, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - del x32 - x33 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x33 += einsum(t2.abab, (0, 1, 2, 3), x1, (4, 0, 5, 2), (4, 5, 1, 3)) * -1.0 - rdm2_f_abab_ooov += einsum(x33, (0, 1, 2, 3), (1, 2, 0, 3)) * -2.0 - x34 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x34 += einsum(l1.aa, (0, 1), t2.abab, (2, 3, 0, 4), (1, 2, 3, 4)) - rdm2_f_abab_ooov += einsum(x34, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - x35 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x35 += einsum(t2.abab, (0, 1, 2, 3), x8, (4, 1, 5, 2), (4, 0, 5, 3)) - rdm2_f_abab_ooov += einsum(x35, (0, 1, 2, 3), (1, 2, 0, 3)) - x36 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x36 += einsum(t2.bbbb, (0, 1, 2, 3), x21, (4, 5, 1, 3), (4, 5, 0, 2)) - rdm2_f_abab_ooov += einsum(x36, (0, 1, 2, 3), (1, 2, 0, 3)) * -2.0 - x37 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x37 += einsum(x7, (0, 1, 2, 3), (0, 1, 2, 3)) - del x7 - x37 += einsum(x9, (0, 1, 2, 3), (0, 1, 2, 3)) - del x9 - rdm2_f_abab_ooov += einsum(t1.bb, (0, 1), x37, (2, 3, 0, 4), (3, 4, 2, 1)) - rdm2_f_abab_oovo = np.zeros((nocc[0], nocc[1], nvir[0], nocc[1]), dtype=types[float]) - rdm2_f_abab_oovo += einsum(t1.aa, (0, 1), x37, (0, 2, 3, 4), (2, 4, 1, 3)) - rdm2_f_abab_oovv += einsum(t2.abab, (0, 1, 2, 3), x37, (0, 4, 1, 5), (4, 5, 2, 3)) - x38 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x38 += einsum(l1.aa, (0, 1), t2.abab, (1, 2, 0, 3), (2, 3)) - x39 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x39 += einsum(l1.bb, (0, 1), t2.bbbb, (2, 1, 3, 0), (2, 3)) - x40 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x40 += einsum(t2.abab, (0, 1, 2, 3), x8, (0, 1, 4, 2), (4, 3)) - x41 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x41 += einsum(t2.bbbb, (0, 1, 2, 3), x16, (0, 1, 4, 3), (4, 2)) * -1.0 - x42 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x42 += einsum(x11, (0, 1), (0, 1)) * 0.5 - x42 += einsum(x12, (0, 1), (0, 1)) * 0.5 - x42 += einsum(x13, (0, 1), (0, 1)) - x43 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x43 += einsum(t1.bb, (0, 1), x42, (0, 2), (2, 1)) * 2.0 - x44 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x44 += einsum(t1.bb, (0, 1), (0, 1)) * -1.0 - x44 += einsum(x38, (0, 1), (0, 1)) * -1.0 - x44 += einsum(x39, (0, 1), (0, 1)) * -2.0 - x44 += einsum(x40, (0, 1), (0, 1)) - x44 += einsum(x41, (0, 1), (0, 1)) * 2.0 - x44 += einsum(x43, (0, 1), (0, 1)) - rdm2_f_abab_ooov += einsum(delta.aa.oo, (0, 1), x44, (2, 3), (0, 2, 1, 3)) * -1.0 - del x44 - x45 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x45 += einsum(l1.bb, (0, 1), t2.bbbb, (2, 3, 4, 0), (1, 2, 3, 4)) - rdm2_f_bbbb_ooov = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - rdm2_f_bbbb_ooov += einsum(x45, (0, 1, 2, 3), (2, 1, 0, 3)) * -2.0 - rdm2_f_bbbb_oovo = np.zeros((nocc[1], nocc[1], nvir[1], nocc[1]), dtype=types[float]) - rdm2_f_bbbb_oovo += einsum(x45, (0, 1, 2, 3), (2, 1, 3, 0)) * 2.0 - x46 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x46 += einsum(t2.abab, (0, 1, 2, 3), x8, (0, 4, 5, 2), (4, 5, 1, 3)) - x47 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x47 += einsum(t2.bbbb, (0, 1, 2, 3), x16, (4, 1, 5, 3), (4, 5, 0, 2)) * -1.0 - x48 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x48 += einsum(delta.bb.oo, (0, 1), t1.bb, (2, 3), (0, 1, 2, 3)) - x48 += einsum(x46, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x48 += einsum(x47, (0, 1, 2, 3), (1, 0, 2, 3)) * -4.0 - x48 += einsum(t1.bb, (0, 1), x42, (2, 3), (0, 2, 3, 1)) * 2.0 - rdm2_f_bbbb_ooov += einsum(x48, (0, 1, 2, 3), (0, 2, 1, 3)) - rdm2_f_bbbb_ooov += einsum(x48, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_bbbb_oovo += einsum(x48, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_bbbb_oovo += einsum(x48, (0, 1, 2, 3), (2, 0, 3, 1)) - del x48 - x49 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x49 += einsum(x38, (0, 1), (0, 1)) * -1.0 - x49 += einsum(x39, (0, 1), (0, 1)) * -2.0 - x49 += einsum(x40, (0, 1), (0, 1)) - x49 += einsum(x41, (0, 1), (0, 1)) * 2.0 - x49 += einsum(x43, (0, 1), (0, 1)) - del x43 - rdm2_f_bbbb_ooov += einsum(delta.bb.oo, (0, 1), x49, (2, 3), (0, 2, 1, 3)) * -1.0 - rdm2_f_bbbb_ooov += einsum(delta.bb.oo, (0, 1), x49, (2, 3), (2, 0, 1, 3)) - rdm2_f_bbbb_oovo += einsum(delta.bb.oo, (0, 1), x49, (2, 3), (0, 2, 3, 1)) - rdm2_f_bbbb_oovo += einsum(delta.bb.oo, (0, 1), x49, (2, 3), (2, 0, 3, 1)) * -1.0 - x50 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x50 += einsum(x15, (0, 1, 2, 3), (1, 0, 3, 2)) - del x15 - x50 += einsum(x17, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x17 - rdm2_f_bbbb_oovv += einsum(t2.bbbb, (0, 1, 2, 3), x50, (0, 1, 4, 5), (5, 4, 2, 3)) * -2.0 - x51 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x51 += einsum(t1.bb, (0, 1), x50, (0, 2, 3, 4), (2, 3, 4, 1)) * 2.0 - rdm2_f_bbbb_ooov += einsum(x51, (0, 1, 2, 3), (2, 1, 0, 3)) - rdm2_f_bbbb_oovo += einsum(x51, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - del x51 - x52 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x52 += einsum(l1.bb, (0, 1), t2.abab, (2, 3, 4, 0), (2, 1, 3, 4)) - rdm2_f_abab_oovo += einsum(x52, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x53 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x53 += einsum(t2.abab, (0, 1, 2, 3), x16, (4, 1, 5, 3), (0, 4, 5, 2)) * -1.0 - rdm2_f_abab_oovo += einsum(x53, (0, 1, 2, 3), (0, 2, 3, 1)) * -2.0 - x54 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x54 += einsum(t2.abab, (0, 1, 2, 3), x21, (0, 4, 5, 3), (4, 5, 1, 2)) - rdm2_f_abab_oovo += einsum(x54, (0, 1, 2, 3), (0, 2, 3, 1)) - x55 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x55 += einsum(t2.aaaa, (0, 1, 2, 3), x8, (1, 4, 5, 3), (0, 4, 5, 2)) - rdm2_f_abab_oovo += einsum(x55, (0, 1, 2, 3), (0, 2, 3, 1)) * -2.0 - x56 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x56 += einsum(delta.bb.oo, (0, 1), (0, 1)) * -1.0 - x56 += einsum(x11, (0, 1), (0, 1)) - x56 += einsum(x12, (0, 1), (0, 1)) - del x12 - x56 += einsum(x13, (0, 1), (0, 1)) * 2.0 - del x13 - rdm2_f_abab_oovo += einsum(t1.aa, (0, 1), x56, (2, 3), (0, 3, 1, 2)) * -1.0 - del x56 - x57 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x57 += einsum(x25, (0, 1), (0, 1)) * -2.0 - x57 += einsum(x26, (0, 1), (0, 1)) * -1.0 - x57 += einsum(x27, (0, 1), (0, 1)) * 2.0 - x57 += einsum(x28, (0, 1), (0, 1)) - x57 += einsum(t1.aa, (0, 1), x23, (0, 2), (2, 1)) - del x23 - rdm2_f_abab_oovo += einsum(delta.bb.oo, (0, 1), x57, (2, 3), (2, 0, 3, 1)) * -1.0 - del x57 - x58 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x58 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 5, 1), (2, 4, 0, 5)) - rdm2_f_aaaa_ovov += einsum(x58, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_aaaa_ovvo += einsum(x58, (0, 1, 2, 3), (1, 2, 3, 0)) - rdm2_f_aaaa_voov += einsum(x58, (0, 1, 2, 3), (2, 1, 0, 3)) - rdm2_f_aaaa_vovo += einsum(x58, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - x59 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x59 += einsum(t2.aaaa, (0, 1, 2, 3), x58, (1, 4, 3, 5), (0, 4, 2, 5)) - x60 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x60 += einsum(x20, (0, 1, 2, 3), (0, 1, 2, 3)) - del x20 - x60 += einsum(x22, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.25 - del x22 - x61 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x61 += einsum(t1.aa, (0, 1), x60, (0, 2, 3, 4), (2, 3, 1, 4)) * 4.0 - del x60 - x62 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x62 += einsum(x59, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - del x59 - x62 += einsum(x61, (0, 1, 2, 3), (0, 1, 2, 3)) - del x61 - x62 += einsum(t1.aa, (0, 1), x30, (2, 3), (0, 2, 1, 3)) * 2.0 - del x30 - rdm2_f_aaaa_oovv += einsum(x62, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - rdm2_f_aaaa_oovv += einsum(x62, (0, 1, 2, 3), (0, 1, 3, 2)) - rdm2_f_aaaa_oovv += einsum(x62, (0, 1, 2, 3), (1, 0, 2, 3)) - rdm2_f_aaaa_oovv += einsum(x62, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x62 - x63 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x63 += einsum(x6, (0, 1), t2.aaaa, (2, 0, 3, 4), (1, 2, 3, 4)) - del x6 - x64 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x64 += einsum(x5, (0, 1), t2.aaaa, (2, 0, 3, 4), (2, 1, 3, 4)) * -4.0 - del x5 - x65 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x65 += einsum(x63, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - del x63 - x65 += einsum(x64, (0, 1, 2, 3), (0, 1, 3, 2)) - del x64 - rdm2_f_aaaa_oovv += einsum(x65, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - rdm2_f_aaaa_oovv += einsum(x65, (0, 1, 2, 3), (1, 0, 2, 3)) - del x65 - x66 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x66 += einsum(t1.aa, (0, 1), x19, (0, 2, 3, 4), (2, 3, 1, 4)) - del x19 - x67 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x67 += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 3, 5, 1), (2, 4, 0, 5)) - rdm2_f_aaaa_ovov += einsum(x67, (0, 1, 2, 3), (1, 2, 0, 3)) * -4.0 - rdm2_f_aaaa_ovvo += einsum(x67, (0, 1, 2, 3), (1, 2, 3, 0)) * 4.0 - rdm2_f_aaaa_voov += einsum(x67, (0, 1, 2, 3), (2, 1, 0, 3)) * 4.0 - rdm2_f_aaaa_vovo += einsum(x67, (0, 1, 2, 3), (2, 1, 3, 0)) * -4.0 - x68 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x68 += einsum(t2.aaaa, (0, 1, 2, 3), x67, (1, 4, 3, 5), (0, 4, 2, 5)) - x69 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x69 += einsum(l2.bbbb, (0, 1, 2, 3), t2.abab, (4, 3, 5, 1), (4, 2, 5, 0)) - rdm2_f_abab_ovvo += einsum(x69, (0, 1, 2, 3), (0, 3, 2, 1)) * 2.0 - x70 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x70 += einsum(t2.abab, (0, 1, 2, 3), x69, (4, 1, 5, 3), (4, 0, 5, 2)) - x71 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x71 += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (2, 3, 4, 1), (0, 4)) - x72 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x72 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 4, 1), (0, 4)) - x73 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x73 += einsum(x71, (0, 1), (0, 1)) - x73 += einsum(x72, (0, 1), (0, 1)) * 0.5 - rdm2_f_abab_oovv += einsum(x73, (0, 1), t2.abab, (2, 3, 0, 4), (2, 3, 1, 4)) * -2.0 - x74 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x74 += einsum(x73, (0, 1), t2.aaaa, (2, 3, 4, 0), (2, 3, 4, 1)) * -4.0 - del x73 - x75 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x75 += einsum(x66, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x66 - x75 += einsum(x68, (0, 1, 2, 3), (0, 1, 2, 3)) * 8.0 - del x68 - x75 += einsum(x70, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x70 - x75 += einsum(x74, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x74 - rdm2_f_aaaa_oovv += einsum(x75, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_aaaa_oovv += einsum(x75, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x75 - x76 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x76 += einsum(t1.aa, (0, 1), x31, (0, 2, 3, 4), (2, 4, 3, 1)) - del x31 - rdm2_f_aaaa_oovv += einsum(t1.aa, (0, 1), x76, (0, 2, 3, 4), (2, 3, 4, 1)) * -2.0 - del x76 - x77 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x77 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 5, 1), (3, 4, 0, 5)) - rdm2_f_abab_oovv += einsum(t2.abab, (0, 1, 2, 3), x77, (1, 4, 2, 5), (0, 4, 5, 3)) - rdm2_f_abab_vovo += einsum(x77, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - rdm2_f_abab_vovv += einsum(t1.bb, (0, 1), x77, (0, 2, 3, 4), (3, 2, 4, 1)) * -1.0 - del x77 - x78 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x78 += einsum(x67, (0, 1, 2, 3), (0, 1, 2, 3)) - del x67 - x78 += einsum(x58, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.25 - del x58 - rdm2_f_abab_oovv += einsum(t2.abab, (0, 1, 2, 3), x78, (0, 4, 2, 5), (4, 1, 5, 3)) * 4.0 - x79 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x79 += einsum(l2.abab, (0, 1, 2, 3), t2.aaaa, (4, 2, 5, 0), (4, 3, 5, 1)) - rdm2_f_abab_ovvo += einsum(x79, (0, 1, 2, 3), (0, 3, 2, 1)) * 2.0 - x80 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x80 += einsum(x79, (0, 1, 2, 3), (0, 1, 2, 3)) - x80 += einsum(x69, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_abab_oovv += einsum(t2.bbbb, (0, 1, 2, 3), x80, (4, 1, 5, 3), (4, 0, 5, 2)) * 4.0 - del x80 - x81 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x81 += einsum(x34, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - del x34 - x81 += einsum(x33, (0, 1, 2, 3), (0, 1, 2, 3)) - del x33 - x81 += einsum(x36, (0, 1, 2, 3), (0, 1, 2, 3)) - del x36 - x81 += einsum(x35, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - del x35 - x81 += einsum(t1.bb, (0, 1), x37, (2, 3, 0, 4), (2, 3, 4, 1)) * -0.5 - del x37 - rdm2_f_abab_oovv += einsum(t1.aa, (0, 1), x81, (0, 2, 3, 4), (2, 3, 1, 4)) * -2.0 - del x81 - x82 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x82 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 0, 4), (1, 4)) - x83 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x83 += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (2, 3, 4, 1), (0, 4)) - x84 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x84 += einsum(x82, (0, 1), (0, 1)) * 0.5 - x84 += einsum(x83, (0, 1), (0, 1)) - rdm2_f_abab_oovv += einsum(x84, (0, 1), t2.abab, (2, 3, 4, 0), (2, 3, 4, 1)) * -2.0 - del x84 - x85 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x85 += einsum(x52, (0, 1, 2, 3), (0, 1, 2, 3)) - del x52 - x85 += einsum(x55, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x55 - x85 += einsum(x54, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x54 - x85 += einsum(x53, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x53 - rdm2_f_abab_oovv += einsum(t1.bb, (0, 1), x85, (2, 0, 3, 4), (2, 3, 4, 1)) * -1.0 - del x85 - x86 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x86 += einsum(t1.aa, (0, 1), (0, 1)) * -0.5 - x86 += einsum(x25, (0, 1), (0, 1)) * -1.0 - del x25 - x86 += einsum(x26, (0, 1), (0, 1)) * -0.5 - del x26 - x86 += einsum(x27, (0, 1), (0, 1)) - del x27 - x86 += einsum(x28, (0, 1), (0, 1)) * 0.5 - del x28 - x86 += einsum(x29, (0, 1), (0, 1)) - del x29 - rdm2_f_abab_oovv += einsum(t1.bb, (0, 1), x86, (2, 3), (2, 0, 3, 1)) * -2.0 - del x86 - x87 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x87 += einsum(x38, (0, 1), (0, 1)) * -0.5 - del x38 - x87 += einsum(x39, (0, 1), (0, 1)) * -1.0 - del x39 - x87 += einsum(x40, (0, 1), (0, 1)) * 0.5 - del x40 - x87 += einsum(x41, (0, 1), (0, 1)) - del x41 - x87 += einsum(t1.bb, (0, 1), x42, (0, 2), (2, 1)) - del x42 - rdm2_f_abab_oovv += einsum(t1.aa, (0, 1), x87, (2, 3), (0, 2, 1, 3)) * -2.0 - del x87 - x88 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x88 += einsum(l2.aaaa, (0, 1, 2, 3), t2.abab, (3, 4, 1, 5), (2, 4, 0, 5)) - rdm2_f_abab_voov += einsum(x88, (0, 1, 2, 3), (2, 1, 0, 3)) * 2.0 - x89 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x89 += einsum(t2.abab, (0, 1, 2, 3), x88, (0, 4, 2, 5), (4, 1, 5, 3)) - x90 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x90 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3)) - x90 += einsum(x89, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - del x89 - rdm2_f_bbbb_oovv += einsum(x90, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_bbbb_oovv += einsum(x90, (0, 1, 2, 3), (0, 1, 2, 3)) - del x90 - x91 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x91 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 5), (3, 4, 1, 5)) - rdm2_f_bbbb_ovov += einsum(x91, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_bbbb_ovvo += einsum(x91, (0, 1, 2, 3), (1, 2, 3, 0)) - rdm2_f_bbbb_voov += einsum(x91, (0, 1, 2, 3), (2, 1, 0, 3)) - rdm2_f_bbbb_vovo += einsum(x91, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - x92 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x92 += einsum(t2.bbbb, (0, 1, 2, 3), x91, (1, 4, 3, 5), (4, 0, 5, 2)) - x93 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x93 += einsum(x46, (0, 1, 2, 3), (0, 1, 2, 3)) - del x46 - x93 += einsum(x47, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.0 - del x47 - x94 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x94 += einsum(t1.bb, (0, 1), x93, (0, 2, 3, 4), (2, 3, 1, 4)) - del x93 - x95 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x95 += einsum(x92, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - del x92 - x95 += einsum(x94, (0, 1, 2, 3), (0, 1, 2, 3)) - del x94 - x95 += einsum(t1.bb, (0, 1), x49, (2, 3), (0, 2, 1, 3)) - del x49 - rdm2_f_bbbb_oovv += einsum(x95, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - rdm2_f_bbbb_oovv += einsum(x95, (0, 1, 2, 3), (0, 1, 3, 2)) - rdm2_f_bbbb_oovv += einsum(x95, (0, 1, 2, 3), (1, 0, 2, 3)) - rdm2_f_bbbb_oovv += einsum(x95, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x95 - x96 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x96 += einsum(x11, (0, 1), t2.bbbb, (2, 0, 3, 4), (1, 2, 3, 4)) - del x11 - x97 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x97 += einsum(x18, (0, 1), t2.bbbb, (2, 0, 3, 4), (2, 1, 3, 4)) * -2.0 - del x18 - x98 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x98 += einsum(x96, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - del x96 - x98 += einsum(x97, (0, 1, 2, 3), (0, 1, 3, 2)) - del x97 - rdm2_f_bbbb_oovv += einsum(x98, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - rdm2_f_bbbb_oovv += einsum(x98, (0, 1, 2, 3), (1, 0, 2, 3)) - del x98 - x99 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x99 += einsum(t1.bb, (0, 1), x45, (0, 2, 3, 4), (2, 3, 1, 4)) - del x45 - x100 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x100 += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 3, 5, 1), (2, 4, 0, 5)) - rdm2_f_bbbb_ovov += einsum(x100, (0, 1, 2, 3), (1, 2, 0, 3)) * -4.0 - rdm2_f_bbbb_ovvo += einsum(x100, (0, 1, 2, 3), (1, 2, 3, 0)) * 4.0 - rdm2_f_bbbb_voov += einsum(x100, (0, 1, 2, 3), (2, 1, 0, 3)) * 4.0 - rdm2_f_bbbb_vovo += einsum(x100, (0, 1, 2, 3), (2, 1, 3, 0)) * -4.0 - x101 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x101 += einsum(t2.bbbb, (0, 1, 2, 3), x100, (1, 4, 3, 5), (0, 4, 2, 5)) - x102 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x102 += einsum(x82, (0, 1), (0, 1)) - x102 += einsum(x83, (0, 1), (0, 1)) * 2.0 - x103 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x103 += einsum(x102, (0, 1), t2.bbbb, (2, 3, 4, 0), (2, 3, 4, 1)) * -2.0 - del x102 - x104 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x104 += einsum(x99, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x99 - x104 += einsum(x101, (0, 1, 2, 3), (0, 1, 2, 3)) * 8.0 - del x101 - x104 += einsum(x103, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x103 - rdm2_f_bbbb_oovv += einsum(x104, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_bbbb_oovv += einsum(x104, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x104 - x105 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x105 += einsum(t1.bb, (0, 1), x50, (0, 2, 3, 4), (2, 4, 3, 1)) - del x50 - rdm2_f_bbbb_oovv += einsum(t1.bb, (0, 1), x105, (0, 2, 3, 4), (2, 3, 4, 1)) * -2.0 - del x105 - x106 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x106 += einsum(t1.aa, (0, 1), x1, (2, 0, 3, 4), (2, 3, 4, 1)) - rdm2_f_aaaa_ovov += einsum(x106, (0, 1, 2, 3), (1, 2, 0, 3)) * 2.0 - rdm2_f_aaaa_ovvo += einsum(x106, (0, 1, 2, 3), (1, 2, 3, 0)) * -2.0 - rdm2_f_aaaa_voov += einsum(x106, (0, 1, 2, 3), (2, 1, 0, 3)) * -2.0 - rdm2_f_aaaa_vovo += einsum(x106, (0, 1, 2, 3), (2, 1, 3, 0)) * 2.0 - x107 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x107 += einsum(l1.aa, (0, 1), t1.aa, (1, 2), (0, 2)) - x108 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x108 += einsum(x107, (0, 1), (0, 1)) - x108 += einsum(x71, (0, 1), (0, 1)) * 2.0 - x108 += einsum(x72, (0, 1), (0, 1)) - rdm2_f_aaaa_ovov += einsum(delta.aa.oo, (0, 1), x108, (2, 3), (0, 2, 1, 3)) - rdm2_f_aaaa_voov += einsum(delta.aa.oo, (0, 1), x108, (2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_abab_vovo += einsum(delta.bb.oo, (0, 1), x108, (2, 3), (2, 0, 3, 1)) - rdm2_f_abab_vovv += einsum(t1.bb, (0, 1), x108, (2, 3), (2, 0, 3, 1)) - x109 = np.zeros((nocc[0], nocc[0], nvir[1], nvir[1]), dtype=types[float]) - x109 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 0, 5), (2, 4, 1, 5)) - rdm2_f_abab_ovov += einsum(x109, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_abab_ovvv += einsum(t1.aa, (0, 1), x109, (0, 2, 3, 4), (2, 3, 1, 4)) * -1.0 - del x109 - x110 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x110 += einsum(l1.bb, (0, 1), t1.bb, (1, 2), (0, 2)) - x111 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x111 += einsum(x110, (0, 1), (0, 1)) - x111 += einsum(x82, (0, 1), (0, 1)) - x111 += einsum(x83, (0, 1), (0, 1)) * 2.0 - rdm2_f_abab_ovov += einsum(delta.aa.oo, (0, 1), x111, (2, 3), (0, 2, 1, 3)) - rdm2_f_bbbb_ovvo += einsum(delta.bb.oo, (0, 1), x111, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_bbbb_vovo += einsum(delta.bb.oo, (0, 1), x111, (2, 3), (2, 0, 3, 1)) - rdm2_f_abab_ovvv += einsum(t1.aa, (0, 1), x111, (2, 3), (0, 2, 1, 3)) - x112 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x112 += einsum(t1.bb, (0, 1), x16, (2, 0, 3, 4), (2, 3, 4, 1)) - rdm2_f_bbbb_ovov += einsum(x112, (0, 1, 2, 3), (1, 2, 0, 3)) * 2.0 - rdm2_f_bbbb_ovvo += einsum(x112, (0, 1, 2, 3), (1, 2, 3, 0)) * -2.0 - rdm2_f_bbbb_voov += einsum(x112, (0, 1, 2, 3), (2, 1, 0, 3)) * -2.0 - rdm2_f_bbbb_vovo += einsum(x112, (0, 1, 2, 3), (2, 1, 3, 0)) * 2.0 - x113 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x113 += einsum(x110, (0, 1), (0, 1)) * 0.5 - del x110 - x113 += einsum(x82, (0, 1), (0, 1)) * 0.5 - del x82 - x113 += einsum(x83, (0, 1), (0, 1)) - del x83 - rdm2_f_bbbb_ovov += einsum(delta.bb.oo, (0, 1), x113, (2, 3), (0, 2, 1, 3)) * 2.0 - rdm2_f_bbbb_voov += einsum(delta.bb.oo, (0, 1), x113, (2, 3), (2, 0, 1, 3)) * -2.0 - del x113 - x114 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x114 += einsum(x107, (0, 1), (0, 1)) * 0.5 - del x107 - x114 += einsum(x71, (0, 1), (0, 1)) - del x71 - x114 += einsum(x72, (0, 1), (0, 1)) * 0.5 - del x72 - rdm2_f_aaaa_ovvo += einsum(delta.aa.oo, (0, 1), x114, (2, 3), (0, 2, 3, 1)) * -2.0 - rdm2_f_aaaa_vovo += einsum(delta.aa.oo, (0, 1), x114, (2, 3), (2, 0, 3, 1)) * 2.0 - del x114 - x115 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x115 += einsum(t1.aa, (0, 1), x21, (0, 2, 3, 4), (2, 3, 1, 4)) - del x21 - rdm2_f_abab_ovvo += einsum(x115, (0, 1, 2, 3), (0, 3, 2, 1)) * -1.0 - x116 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x116 += einsum(l2.abab, (0, 1, 2, 3), t2.bbbb, (4, 3, 5, 1), (2, 4, 0, 5)) - rdm2_f_abab_voov += einsum(x116, (0, 1, 2, 3), (2, 1, 0, 3)) * 2.0 - x117 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x117 += einsum(t1.bb, (0, 1), x8, (2, 0, 3, 4), (2, 3, 4, 1)) - del x8 - rdm2_f_abab_voov += einsum(x117, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - x118 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x118 += einsum(l1.aa, (0, 1), t2.aaaa, (2, 1, 3, 4), (2, 0, 3, 4)) - rdm2_f_aaaa_ovvv = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - rdm2_f_aaaa_ovvv += einsum(x118, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - rdm2_f_aaaa_vovv = np.zeros((nvir[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - rdm2_f_aaaa_vovv += einsum(x118, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - del x118 - x119 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x119 += einsum(t2.aaaa, (0, 1, 2, 3), x1, (0, 1, 4, 5), (4, 5, 2, 3)) - del x1 - rdm2_f_aaaa_ovvv += einsum(x119, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - rdm2_f_aaaa_vovv += einsum(x119, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - del x119 - x120 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x120 += einsum(t1.aa, (0, 1), x106, (0, 2, 3, 4), (2, 3, 4, 1)) * -1.0 - del x106 - rdm2_f_aaaa_ovvv += einsum(x120, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - rdm2_f_aaaa_vovv += einsum(x120, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - del x120 - x121 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x121 += einsum(t1.aa, (0, 1), x78, (0, 2, 3, 4), (2, 1, 3, 4)) * 4.0 - del x78 - x122 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x122 += einsum(x121, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x121 - x122 += einsum(t1.aa, (0, 1), x108, (2, 3), (0, 2, 1, 3)) - del x108 - rdm2_f_aaaa_ovvv += einsum(x122, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_aaaa_ovvv += einsum(x122, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_aaaa_vovv += einsum(x122, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - rdm2_f_aaaa_vovv += einsum(x122, (0, 1, 2, 3), (1, 0, 3, 2)) - del x122 - x123 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x123 += einsum(x79, (0, 1, 2, 3), (0, 1, 2, 3)) - del x79 - x123 += einsum(x115, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - del x115 - x123 += einsum(x69, (0, 1, 2, 3), (0, 1, 2, 3)) - del x69 - rdm2_f_abab_ovvv += einsum(t1.bb, (0, 1), x123, (2, 0, 3, 4), (2, 4, 3, 1)) * 2.0 - del x123 - x124 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x124 += einsum(l1.bb, (0, 1), t2.bbbb, (2, 1, 3, 4), (2, 0, 3, 4)) - rdm2_f_bbbb_ovvv = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - rdm2_f_bbbb_ovvv += einsum(x124, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - rdm2_f_bbbb_vovv = np.zeros((nvir[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - rdm2_f_bbbb_vovv += einsum(x124, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - del x124 - x125 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x125 += einsum(t2.bbbb, (0, 1, 2, 3), x16, (0, 1, 4, 5), (4, 5, 2, 3)) - del x16 - rdm2_f_bbbb_ovvv += einsum(x125, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - rdm2_f_bbbb_vovv += einsum(x125, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - del x125 - x126 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x126 += einsum(t1.bb, (0, 1), x112, (0, 2, 3, 4), (2, 3, 4, 1)) * -1.0 - del x112 - rdm2_f_bbbb_ovvv += einsum(x126, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - rdm2_f_bbbb_vovv += einsum(x126, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - del x126 - x127 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x127 += einsum(x91, (0, 1, 2, 3), (0, 1, 2, 3)) - del x91 - x127 += einsum(x100, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.0 - del x100 - x128 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x128 += einsum(t1.bb, (0, 1), x127, (0, 2, 3, 4), (2, 1, 3, 4)) - del x127 - x129 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x129 += einsum(x128, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x128 - x129 += einsum(t1.bb, (0, 1), x111, (2, 3), (0, 2, 1, 3)) - del x111 - rdm2_f_bbbb_ovvv += einsum(x129, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_bbbb_ovvv += einsum(x129, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_bbbb_vovv += einsum(x129, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - rdm2_f_bbbb_vovv += einsum(x129, (0, 1, 2, 3), (1, 0, 3, 2)) - del x129 - x130 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x130 += einsum(x88, (0, 1, 2, 3), (0, 1, 2, 3)) - del x88 - x130 += einsum(x116, (0, 1, 2, 3), (0, 1, 2, 3)) - del x116 - x130 += einsum(x117, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - del x117 - rdm2_f_abab_vovv += einsum(t1.aa, (0, 1), x130, (0, 2, 3, 4), (3, 2, 1, 4)) * 2.0 - del x130 - x131 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x131 += einsum(t1.aa, (0, 1), l2.aaaa, (2, 3, 4, 0), (4, 2, 3, 1)) - rdm2_f_aaaa_vvov = np.zeros((nvir[0], nvir[0], nocc[0], nvir[0]), dtype=types[float]) - rdm2_f_aaaa_vvov += einsum(x131, (0, 1, 2, 3), (2, 1, 0, 3)) * -2.0 - rdm2_f_aaaa_vvvo = np.zeros((nvir[0], nvir[0], nvir[0], nocc[0]), dtype=types[float]) - rdm2_f_aaaa_vvvo += einsum(x131, (0, 1, 2, 3), (2, 1, 3, 0)) * 2.0 - rdm2_f_aaaa_vvvv += einsum(t1.aa, (0, 1), x131, (0, 2, 3, 4), (2, 3, 1, 4)) * 2.0 - del x131 - x132 = np.zeros((nocc[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) - x132 += einsum(t1.bb, (0, 1), l2.abab, (2, 3, 4, 0), (4, 2, 3, 1)) - rdm2_f_abab_vvov = np.zeros((nvir[0], nvir[1], nocc[0], nvir[1]), dtype=types[float]) - rdm2_f_abab_vvov += einsum(x132, (0, 1, 2, 3), (1, 2, 0, 3)) - rdm2_f_abab_vvvv += einsum(t1.aa, (0, 1), x132, (0, 2, 3, 4), (2, 3, 1, 4)) - del x132 - x133 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x133 += einsum(t1.bb, (0, 1), l2.bbbb, (2, 3, 4, 0), (4, 2, 3, 1)) - rdm2_f_bbbb_vvov = np.zeros((nvir[1], nvir[1], nocc[1], nvir[1]), dtype=types[float]) - rdm2_f_bbbb_vvov += einsum(x133, (0, 1, 2, 3), (2, 1, 0, 3)) * -2.0 - rdm2_f_bbbb_vvvo = np.zeros((nvir[1], nvir[1], nvir[1], nocc[1]), dtype=types[float]) - rdm2_f_bbbb_vvvo += einsum(x133, (0, 1, 2, 3), (2, 1, 3, 0)) * 2.0 - rdm2_f_bbbb_vvvv += einsum(t1.bb, (0, 1), x133, (0, 2, 3, 4), (2, 3, 1, 4)) * 2.0 - del x133 - - rdm2_f_aaaa = pack_2e(rdm2_f_aaaa_oooo, rdm2_f_aaaa_ooov, rdm2_f_aaaa_oovo, rdm2_f_aaaa_ovoo, rdm2_f_aaaa_vooo, rdm2_f_aaaa_oovv, rdm2_f_aaaa_ovov, rdm2_f_aaaa_ovvo, rdm2_f_aaaa_voov, rdm2_f_aaaa_vovo, rdm2_f_aaaa_vvoo, rdm2_f_aaaa_ovvv, rdm2_f_aaaa_vovv, rdm2_f_aaaa_vvov, rdm2_f_aaaa_vvvo, rdm2_f_aaaa_vvvv) - rdm2_f_abab = pack_2e(rdm2_f_abab_oooo, rdm2_f_abab_ooov, rdm2_f_abab_oovo, rdm2_f_abab_ovoo, rdm2_f_abab_vooo, rdm2_f_abab_oovv, rdm2_f_abab_ovov, rdm2_f_abab_ovvo, rdm2_f_abab_voov, rdm2_f_abab_vovo, rdm2_f_abab_vvoo, rdm2_f_abab_ovvv, rdm2_f_abab_vovv, rdm2_f_abab_vvov, rdm2_f_abab_vvvo, rdm2_f_abab_vvvv) - rdm2_f_bbbb = pack_2e(rdm2_f_bbbb_oooo, rdm2_f_bbbb_ooov, rdm2_f_bbbb_oovo, rdm2_f_bbbb_ovoo, rdm2_f_bbbb_vooo, rdm2_f_bbbb_oovv, rdm2_f_bbbb_ovov, rdm2_f_bbbb_ovvo, rdm2_f_bbbb_voov, rdm2_f_bbbb_vovo, rdm2_f_bbbb_vvoo, rdm2_f_bbbb_ovvv, rdm2_f_bbbb_vovv, rdm2_f_bbbb_vvov, rdm2_f_bbbb_vvvo, rdm2_f_bbbb_vvvv) - - rdm2_f_aaaa = rdm2_f_aaaa.swapaxes(1, 2) - rdm2_f_aabb = rdm2_f_abab.swapaxes(1, 2) - rdm2_f_bbbb = rdm2_f_bbbb.swapaxes(1, 2) - - rdm2_f.aaaa = rdm2_f_aaaa - rdm2_f.aabb = rdm2_f_aabb - rdm2_f.bbbb = rdm2_f_bbbb - - return rdm2_f - diff --git a/ebcc/codegen/UDFDCD.py b/ebcc/codegen/UDFDCD.py deleted file mode 100644 index 557afc13..00000000 --- a/ebcc/codegen/UDFDCD.py +++ /dev/null @@ -1,263 +0,0 @@ -# Code generated for ebcc. - -from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, Namespace -from ebcc.precision import types - -def energy(f=None, v=None, nocc=None, nvir=None, naux=None, t2=None, **kwargs): - # energy - x0 = np.zeros((nocc[1], nvir[1], naux), dtype=types[float]) - x0 += einsum(v.abb.xov, (0, 1, 2), t2.bbbb, (3, 1, 4, 2), (3, 4, 0)) - e_cc = 0 - e_cc += einsum(v.abb.xov, (0, 1, 2), x0, (1, 2, 0), ()) - del x0 - x1 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x1 += einsum(v.aaa.xov, (0, 1, 2), t2.aaaa, (3, 1, 4, 2), (3, 4, 0)) - x1 += einsum(v.abb.xov, (0, 1, 2), t2.abab, (3, 1, 4, 2), (3, 4, 0)) - e_cc += einsum(v.aaa.xov, (0, 1, 2), x1, (1, 2, 0), ()) - del x1 - - return e_cc - -def update_amps(f=None, v=None, nocc=None, nvir=None, naux=None, t2=None, **kwargs): - t2new = Namespace() - - # T amplitudes - x0 = np.zeros((nvir[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x0 += einsum(v.aaa.xvv, (0, 1, 2), v.aaa.xvv, (0, 3, 4), (1, 3, 4, 2)) - t2new_aaaa = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - t2new_aaaa += einsum(t2.aaaa, (0, 1, 2, 3), x0, (4, 3, 5, 2), (0, 1, 4, 5)) * 2.0 - del x0 - x1 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x1 += einsum(v.aaa.xoo, (0, 1, 2), v.aaa.xoo, (0, 3, 4), (1, 3, 4, 2)) - t2new_aaaa += einsum(t2.aaaa, (0, 1, 2, 3), x1, (4, 1, 5, 0), (5, 4, 2, 3)) * -2.0 - del x1 - x2 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x2 += einsum(v.aaa.xov, (0, 1, 2), t2.aaaa, (3, 1, 4, 2), (3, 4, 0)) - x3 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x3 += einsum(x2, (0, 1, 2), x2, (3, 4, 2), (0, 3, 1, 4)) - x4 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x4 += einsum(v.abb.xov, (0, 1, 2), t2.abab, (3, 1, 4, 2), (3, 4, 0)) - x5 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x5 += einsum(x4, (0, 1, 2), x4, (3, 4, 2), (0, 3, 1, 4)) - x6 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x6 += einsum(x2, (0, 1, 2), (0, 1, 2)) - x6 += einsum(x4, (0, 1, 2), (0, 1, 2)) * 0.5 - x7 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x7 += einsum(v.aaa.xov, (0, 1, 2), x6, (1, 3, 0), (3, 2)) - x8 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x8 += einsum(x7, (0, 1), t2.aaaa, (2, 3, 4, 1), (2, 3, 4, 0)) * -2.0 - x9 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x9 += einsum(x3, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.0 - del x3 - x9 += einsum(x5, (0, 1, 2, 3), (0, 1, 2, 3)) - del x5 - x9 += einsum(x8, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x8 - t2new_aaaa += einsum(x9, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new_aaaa += einsum(x9, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x9 - x10 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x10 += einsum(f.aa.oo, (0, 1), t2.aaaa, (2, 1, 3, 4), (0, 2, 3, 4)) - x11 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x11 += einsum(v.aaa.xov, (0, 1, 2), x6, (3, 2, 0), (3, 1)) - x12 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x12 += einsum(x11, (0, 1), t2.aaaa, (2, 1, 3, 4), (0, 2, 3, 4)) * -2.0 - del x11 - x13 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x13 += einsum(x10, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - del x10 - x13 += einsum(x12, (0, 1, 2, 3), (1, 0, 3, 2)) - del x12 - t2new_aaaa += einsum(x13, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_aaaa += einsum(x13, (0, 1, 2, 3), (1, 0, 2, 3)) - del x13 - x14 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x14 += einsum(v.aaa.xov, (0, 1, 2), x4, (3, 4, 0), (3, 1, 4, 2)) - x15 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x15 += einsum(v.aaa.xoo, (0, 1, 2), v.aaa.xvv, (0, 3, 4), (1, 2, 3, 4)) - t2new_abab = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - t2new_abab += einsum(t2.abab, (0, 1, 2, 3), x15, (4, 0, 5, 2), (4, 1, 5, 3)) * -1.0 - x16 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x16 += einsum(v.aaa.xov, (0, 1, 2), (1, 2, 0)) - x16 += einsum(x4, (0, 1, 2), (0, 1, 2)) - x17 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x17 += einsum(v.aaa.xov, (0, 1, 2), x16, (3, 4, 0), (3, 1, 4, 2)) - del x16 - x18 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x18 += einsum(x15, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x15 - x18 += einsum(x17, (0, 1, 2, 3), (1, 0, 3, 2)) - del x17 - x19 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x19 += einsum(t2.aaaa, (0, 1, 2, 3), x18, (1, 4, 3, 5), (4, 0, 5, 2)) * 2.0 - del x18 - x20 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x20 += einsum(x14, (0, 1, 2, 3), (0, 1, 2, 3)) - del x14 - x20 += einsum(x19, (0, 1, 2, 3), (1, 0, 3, 2)) - del x19 - t2new_aaaa += einsum(x20, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new_aaaa += einsum(x20, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new_aaaa += einsum(x20, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - t2new_aaaa += einsum(x20, (0, 1, 2, 3), (1, 0, 3, 2)) - del x20 - x21 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x21 += einsum(f.aa.vv, (0, 1), t2.aaaa, (2, 3, 4, 1), (2, 3, 0, 4)) - x22 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x22 += einsum(v.aaa.xov, (0, 1, 2), v.aaa.xov, (0, 3, 4), (1, 3, 2, 4)) - x23 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x23 += einsum(x21, (0, 1, 2, 3), (1, 0, 2, 3)) * -2.0 - del x21 - x23 += einsum(x22, (0, 1, 2, 3), (1, 0, 2, 3)) - del x22 - t2new_aaaa += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_aaaa += einsum(x23, (0, 1, 2, 3), (0, 1, 3, 2)) - del x23 - x24 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x24 += einsum(v.abb.xoo, (0, 1, 2), v.abb.xvv, (0, 3, 4), (1, 2, 3, 4)) - t2new_abab += einsum(t2.abab, (0, 1, 2, 3), x24, (4, 1, 5, 3), (0, 4, 2, 5)) * -1.0 - x25 = np.zeros((nocc[0], nocc[0], nvir[1], nvir[1]), dtype=types[float]) - x25 += einsum(v.aaa.xoo, (0, 1, 2), v.abb.xvv, (0, 3, 4), (1, 2, 3, 4)) - t2new_abab += einsum(t2.abab, (0, 1, 2, 3), x25, (4, 0, 5, 3), (4, 1, 2, 5)) * -1.0 - del x25 - x26 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x26 += einsum(v.aaa.xoo, (0, 1, 2), v.abb.xoo, (0, 3, 4), (1, 2, 3, 4)) - t2new_abab += einsum(t2.abab, (0, 1, 2, 3), x26, (4, 0, 5, 1), (4, 5, 2, 3)) - del x26 - x27 = np.zeros((nvir[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) - x27 += einsum(v.aaa.xvv, (0, 1, 2), v.abb.xvv, (0, 3, 4), (1, 2, 3, 4)) - t2new_abab += einsum(t2.abab, (0, 1, 2, 3), x27, (4, 2, 5, 3), (0, 1, 4, 5)) - del x27 - x28 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x28 += einsum(v.abb.xoo, (0, 1, 2), v.aaa.xvv, (0, 3, 4), (1, 2, 3, 4)) - t2new_abab += einsum(t2.abab, (0, 1, 2, 3), x28, (4, 1, 5, 2), (0, 4, 5, 3)) * -1.0 - del x28 - x29 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x29 += einsum(v.aaa.xov, (0, 1, 2), (1, 2, 0)) - x29 += einsum(x2, (0, 1, 2), (0, 1, 2)) * 2.0 - del x2 - x29 += einsum(x4, (0, 1, 2), (0, 1, 2)) - del x4 - x30 = np.zeros((nocc[1], nvir[1], naux), dtype=types[float]) - x30 += einsum(v.aaa.xov, (0, 1, 2), t2.abab, (1, 3, 2, 4), (3, 4, 0)) - x31 = np.zeros((nocc[1], nvir[1], naux), dtype=types[float]) - x31 += einsum(v.abb.xov, (0, 1, 2), t2.bbbb, (3, 1, 4, 2), (3, 4, 0)) - x32 = np.zeros((nocc[1], nvir[1], naux), dtype=types[float]) - x32 += einsum(v.abb.xov, (0, 1, 2), (1, 2, 0)) - x32 += einsum(x30, (0, 1, 2), (0, 1, 2)) - x32 += einsum(x31, (0, 1, 2), (0, 1, 2)) * 2.0 - t2new_abab += einsum(x29, (0, 1, 2), x32, (3, 4, 2), (0, 3, 1, 4)) - del x29, x32 - x33 = np.zeros((nocc[1], nvir[1], naux), dtype=types[float]) - x33 += einsum(x30, (0, 1, 2), (0, 1, 2)) - x33 += einsum(x31, (0, 1, 2), (0, 1, 2)) * 2.0 - x34 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x34 += einsum(f.bb.vv, (0, 1), (0, 1)) * -1.0 - x34 += einsum(v.abb.xov, (0, 1, 2), x33, (1, 3, 0), (2, 3)) * 0.5 - t2new_abab += einsum(x34, (0, 1), t2.abab, (2, 3, 4, 0), (2, 3, 4, 1)) * -1.0 - del x34 - x35 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x35 += einsum(f.aa.vv, (0, 1), (0, 1)) * -1.0 - x35 += einsum(x7, (0, 1), (1, 0)) - del x7 - t2new_abab += einsum(x35, (0, 1), t2.abab, (2, 3, 0, 4), (2, 3, 1, 4)) * -1.0 - del x35 - x36 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x36 += einsum(f.aa.oo, (0, 1), (0, 1)) * 2.0 - x36 += einsum(v.aaa.xov, (0, 1, 2), x6, (3, 2, 0), (1, 3)) * 2.0 - del x6 - t2new_abab += einsum(x36, (0, 1), t2.abab, (0, 2, 3, 4), (1, 2, 3, 4)) * -0.5 - del x36 - x37 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x37 += einsum(f.bb.oo, (0, 1), (0, 1)) - x37 += einsum(v.abb.xov, (0, 1, 2), x33, (3, 2, 0), (1, 3)) * 0.5 - t2new_abab += einsum(x37, (0, 1), t2.abab, (2, 0, 3, 4), (2, 1, 3, 4)) * -1.0 - del x37 - x38 = np.zeros((nvir[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x38 += einsum(v.abb.xvv, (0, 1, 2), v.abb.xvv, (0, 3, 4), (1, 3, 4, 2)) - t2new_bbbb = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - t2new_bbbb += einsum(t2.bbbb, (0, 1, 2, 3), x38, (4, 2, 5, 3), (0, 1, 4, 5)) * -2.0 - del x38 - x39 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x39 += einsum(v.abb.xoo, (0, 1, 2), v.abb.xoo, (0, 3, 4), (1, 3, 4, 2)) - t2new_bbbb += einsum(t2.bbbb, (0, 1, 2, 3), x39, (4, 0, 5, 1), (5, 4, 2, 3)) * 2.0 - del x39 - x40 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x40 += einsum(f.bb.vv, (0, 1), t2.bbbb, (2, 3, 4, 1), (2, 3, 0, 4)) - x41 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x41 += einsum(v.abb.xov, (0, 1, 2), v.abb.xov, (0, 3, 4), (1, 3, 2, 4)) - x42 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x42 += einsum(x30, (0, 1, 2), x30, (3, 4, 2), (0, 3, 1, 4)) - x43 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x43 += einsum(x40, (0, 1, 2, 3), (1, 0, 2, 3)) * -2.0 - del x40 - x43 += einsum(x41, (0, 1, 2, 3), (1, 0, 2, 3)) - x43 += einsum(x42, (0, 1, 2, 3), (1, 0, 2, 3)) - del x42 - t2new_bbbb += einsum(x43, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_bbbb += einsum(x43, (0, 1, 2, 3), (0, 1, 3, 2)) - del x43 - x44 = np.zeros((nocc[1], nvir[1], naux), dtype=types[float]) - x44 += einsum(v.abb.xov, (0, 1, 2), (1, 2, 0)) - x44 += einsum(x31, (0, 1, 2), (0, 1, 2)) * 2.0 - x45 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x45 += einsum(x30, (0, 1, 2), x44, (3, 4, 2), (0, 3, 1, 4)) - del x30, x44 - x46 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x46 += einsum(x24, (0, 1, 2, 3), (1, 0, 3, 2)) - del x24 - x46 += einsum(x41, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x41 - x47 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x47 += einsum(t2.bbbb, (0, 1, 2, 3), x46, (1, 4, 3, 5), (0, 4, 2, 5)) * 2.0 - del x46 - x48 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x48 += einsum(x45, (0, 1, 2, 3), (0, 1, 2, 3)) - del x45 - x48 += einsum(x47, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x47 - t2new_bbbb += einsum(x48, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new_bbbb += einsum(x48, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new_bbbb += einsum(x48, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - t2new_bbbb += einsum(x48, (0, 1, 2, 3), (1, 0, 3, 2)) - del x48 - x49 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x49 += einsum(x31, (0, 1, 2), x31, (3, 4, 2), (0, 3, 1, 4)) - del x31 - x50 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x50 += einsum(v.abb.xov, (0, 1, 2), x33, (1, 3, 0), (3, 2)) - x51 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x51 += einsum(x50, (0, 1), t2.bbbb, (2, 3, 4, 1), (2, 3, 4, 0)) * -1.0 - del x50 - x52 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x52 += einsum(x49, (0, 1, 2, 3), (0, 1, 2, 3)) * -4.0 - del x49 - x52 += einsum(x51, (0, 1, 2, 3), (1, 0, 2, 3)) - del x51 - t2new_bbbb += einsum(x52, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_bbbb += einsum(x52, (0, 1, 2, 3), (0, 1, 3, 2)) - del x52 - x53 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x53 += einsum(f.bb.oo, (0, 1), t2.bbbb, (2, 1, 3, 4), (0, 2, 3, 4)) - x54 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x54 += einsum(v.abb.xov, (0, 1, 2), x33, (3, 2, 0), (3, 1)) - del x33 - x55 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x55 += einsum(x54, (0, 1), t2.bbbb, (2, 1, 3, 4), (2, 0, 3, 4)) * -1.0 - del x54 - x56 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x56 += einsum(x53, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - del x53 - x56 += einsum(x55, (0, 1, 2, 3), (0, 1, 3, 2)) - del x55 - t2new_bbbb += einsum(x56, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_bbbb += einsum(x56, (0, 1, 2, 3), (1, 0, 2, 3)) - del x56 - - t2new.aaaa = t2new_aaaa - t2new.abab = t2new_abab - t2new.bbbb = t2new_bbbb - - return {"t2new": t2new} - diff --git a/ebcc/codegen/UDFDCSD.py b/ebcc/codegen/UDFDCSD.py deleted file mode 100644 index 4cc95414..00000000 --- a/ebcc/codegen/UDFDCSD.py +++ /dev/null @@ -1,836 +0,0 @@ -# Code generated for ebcc. - -from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, Namespace -from ebcc.precision import types - -def energy(f=None, v=None, nocc=None, nvir=None, naux=None, t1=None, t2=None, **kwargs): - # energy - x0 = np.zeros((naux,), dtype=types[float]) - x0 += einsum(t1.bb, (0, 1), v.abb.xov, (2, 0, 1), (2,)) - x1 = np.zeros((naux,), dtype=types[float]) - x1 += einsum(t1.aa, (0, 1), v.aaa.xov, (2, 0, 1), (2,)) - x1 += einsum(x0, (0,), (0,)) * 2.0 - x2 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x2 += einsum(v.aaa.xov, (0, 1, 2), t2.aaaa, (3, 1, 4, 2), (3, 4, 0)) - x2 += einsum(v.abb.xov, (0, 1, 2), t2.abab, (3, 1, 4, 2), (3, 4, 0)) - x2 += einsum(x1, (0,), t1.aa, (1, 2), (1, 2, 0)) * 0.5 - del x1 - e_cc = 0 - e_cc += einsum(v.aaa.xov, (0, 1, 2), x2, (1, 2, 0), ()) - del x2 - x3 = np.zeros((nocc[1], nocc[1], naux), dtype=types[float]) - x3 += einsum(t1.bb, (0, 1), v.abb.xov, (2, 3, 1), (0, 3, 2)) - x4 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x4 += einsum(f.bb.ov, (0, 1), (0, 1)) - x4 += einsum(v.abb.xov, (0, 1, 2), x3, (1, 3, 0), (3, 2)) * -0.5 - del x3 - e_cc += einsum(t1.bb, (0, 1), x4, (0, 1), ()) - del x4 - x5 = np.zeros((nocc[0], nocc[0], naux), dtype=types[float]) - x5 += einsum(t1.aa, (0, 1), v.aaa.xov, (2, 3, 1), (0, 3, 2)) - x6 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x6 += einsum(f.aa.ov, (0, 1), (0, 1)) - x6 += einsum(v.aaa.xov, (0, 1, 2), x5, (1, 3, 0), (3, 2)) * -0.5 - del x5 - e_cc += einsum(t1.aa, (0, 1), x6, (0, 1), ()) - del x6 - x7 = np.zeros((nocc[1], nvir[1], naux), dtype=types[float]) - x7 += einsum(v.abb.xov, (0, 1, 2), t2.bbbb, (3, 1, 4, 2), (3, 4, 0)) - x7 += einsum(x0, (0,), t1.bb, (1, 2), (1, 2, 0)) * 0.5 - del x0 - e_cc += einsum(v.abb.xov, (0, 1, 2), x7, (1, 2, 0), ()) - del x7 - - return e_cc - -def update_amps(f=None, v=None, nocc=None, nvir=None, naux=None, t1=None, t2=None, **kwargs): - t1new = Namespace() - t2new = Namespace() - - # T amplitudes - t1new_aa = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - t1new_aa += einsum(f.aa.vv, (0, 1), t1.aa, (2, 1), (2, 0)) - t1new_aa += einsum(f.aa.ov, (0, 1), (0, 1)) - t1new_bb = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - t1new_bb += einsum(f.bb.vv, (0, 1), t1.bb, (2, 1), (2, 0)) - t1new_bb += einsum(f.bb.ov, (0, 1), (0, 1)) - x0 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x0 += einsum(t1.aa, (0, 1), v.aaa.xoo, (2, 3, 0), (3, 1, 2)) - x1 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x1 += einsum(v.abb.xov, (0, 1, 2), t2.abab, (3, 1, 4, 2), (3, 4, 0)) - x2 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x2 += einsum(t2.aaaa, (0, 1, 2, 3), (0, 1, 2, 3)) - x2 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 3, 1)) * -0.5 - x3 = np.zeros((naux,), dtype=types[float]) - x3 += einsum(t1.aa, (0, 1), v.aaa.xov, (2, 0, 1), (2,)) - x4 = np.zeros((naux,), dtype=types[float]) - x4 += einsum(t1.bb, (0, 1), v.abb.xov, (2, 0, 1), (2,)) - x5 = np.zeros((naux,), dtype=types[float]) - x5 += einsum(x3, (0,), (0,)) - del x3 - x5 += einsum(x4, (0,), (0,)) - del x4 - x6 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x6 += einsum(x0, (0, 1, 2), (0, 1, 2)) * -1.0 - x6 += einsum(x1, (0, 1, 2), (0, 1, 2)) - x6 += einsum(v.aaa.xov, (0, 1, 2), x2, (1, 3, 2, 4), (3, 4, 0)) * 2.0 - del x2 - x6 += einsum(x5, (0,), t1.aa, (1, 2), (1, 2, 0)) - t1new_aa += einsum(v.aaa.xvv, (0, 1, 2), x6, (3, 2, 0), (3, 1)) - del x6 - x7 = np.zeros((nocc[0], nocc[0], naux), dtype=types[float]) - x7 += einsum(t1.aa, (0, 1), v.aaa.xov, (2, 3, 1), (0, 3, 2)) - x8 = np.zeros((nocc[0], nocc[0], naux), dtype=types[float]) - x8 += einsum(v.aaa.xoo, (0, 1, 2), (1, 2, 0)) - x8 += einsum(x7, (0, 1, 2), (0, 1, 2)) - x9 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x9 += einsum(v.abb.xov, (0, 1, 2), x8, (3, 4, 0), (4, 3, 1, 2)) - t1new_aa += einsum(t2.abab, (0, 1, 2, 3), x9, (0, 4, 1, 3), (4, 2)) * -1.0 - del x9 - x10 = np.zeros((nocc[0], nocc[0], naux), dtype=types[float]) - x10 += einsum(v.aaa.xoo, (0, 1, 2), (1, 2, 0)) - x10 += einsum(x7, (0, 1, 2), (1, 0, 2)) - x11 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x11 += einsum(v.aaa.xov, (0, 1, 2), x10, (3, 4, 0), (1, 3, 4, 2)) - t1new_aa += einsum(t2.aaaa, (0, 1, 2, 3), x11, (0, 1, 4, 3), (4, 2)) * 2.0 - x12 = np.zeros((nocc[1], nocc[1], naux), dtype=types[float]) - x12 += einsum(t1.bb, (0, 1), v.abb.xov, (2, 3, 1), (0, 3, 2)) - x13 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x13 += einsum(v.abb.xov, (0, 1, 2), x12, (1, 3, 0), (3, 2)) - x14 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x14 += einsum(x5, (0,), v.abb.xov, (0, 1, 2), (1, 2)) - t1new_bb += einsum(x14, (0, 1), (0, 1)) - x15 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x15 += einsum(f.bb.ov, (0, 1), (0, 1)) - x15 += einsum(x13, (0, 1), (0, 1)) * -1.0 - x15 += einsum(x14, (0, 1), (0, 1)) - del x14 - t1new_aa += einsum(x15, (0, 1), t2.abab, (2, 0, 3, 1), (2, 3)) - t1new_bb += einsum(x15, (0, 1), t2.bbbb, (2, 0, 3, 1), (2, 3)) * 2.0 - x16 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x16 += einsum(v.aaa.xov, (0, 1, 2), x7, (1, 3, 0), (3, 2)) - x17 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x17 += einsum(x5, (0,), v.aaa.xov, (0, 1, 2), (1, 2)) - t1new_aa += einsum(x17, (0, 1), (0, 1)) - x18 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x18 += einsum(f.aa.ov, (0, 1), (0, 1)) - x18 += einsum(x16, (0, 1), (0, 1)) * -1.0 - x18 += einsum(x17, (0, 1), (0, 1)) - del x17 - t1new_aa += einsum(x18, (0, 1), t2.aaaa, (2, 0, 3, 1), (2, 3)) * 2.0 - t1new_bb += einsum(x18, (0, 1), t2.abab, (0, 2, 1, 3), (2, 3)) - x19 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x19 += einsum(v.aaa.xov, (0, 1, 2), t2.aaaa, (3, 1, 4, 2), (3, 4, 0)) - x20 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x20 += einsum(x0, (0, 1, 2), (0, 1, 2)) * -1.0 - x20 += einsum(x19, (0, 1, 2), (0, 1, 2)) * 2.0 - x20 += einsum(x1, (0, 1, 2), (0, 1, 2)) - x20 += einsum(x5, (0,), t1.aa, (1, 2), (1, 2, 0)) - x21 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x21 += einsum(x5, (0,), v.aaa.xoo, (0, 1, 2), (1, 2)) - x22 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x22 += einsum(f.aa.ov, (0, 1), (0, 1)) - x22 += einsum(x16, (0, 1), (0, 1)) * -1.0 - del x16 - x23 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x23 += einsum(f.aa.oo, (0, 1), (0, 1)) - x23 += einsum(v.aaa.xov, (0, 1, 2), x20, (3, 2, 0), (1, 3)) - del x20 - x23 += einsum(x21, (0, 1), (1, 0)) - x23 += einsum(t1.aa, (0, 1), x22, (2, 1), (2, 0)) - t1new_aa += einsum(t1.aa, (0, 1), x23, (0, 2), (2, 1)) * -1.0 - del x23 - x24 = np.zeros((nocc[1], nvir[1], naux), dtype=types[float]) - x24 += einsum(t1.bb, (0, 1), v.abb.xoo, (2, 3, 0), (3, 1, 2)) - x25 = np.zeros((nocc[1], nvir[1], naux), dtype=types[float]) - x25 += einsum(v.aaa.xov, (0, 1, 2), t2.abab, (1, 3, 2, 4), (3, 4, 0)) - x26 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x26 += einsum(t2.bbbb, (0, 1, 2, 3), (0, 1, 2, 3)) - x26 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1)) * -0.5 - x27 = np.zeros((nocc[1], nvir[1], naux), dtype=types[float]) - x27 += einsum(x24, (0, 1, 2), (0, 1, 2)) * -1.0 - x27 += einsum(x25, (0, 1, 2), (0, 1, 2)) - x27 += einsum(v.abb.xov, (0, 1, 2), x26, (1, 3, 2, 4), (3, 4, 0)) * 2.0 - x27 += einsum(x5, (0,), t1.bb, (1, 2), (1, 2, 0)) - t1new_bb += einsum(v.abb.xvv, (0, 1, 2), x27, (3, 2, 0), (3, 1)) - del x27 - x28 = np.zeros((nocc[1], nocc[1], naux), dtype=types[float]) - x28 += einsum(v.abb.xoo, (0, 1, 2), (1, 2, 0)) - x28 += einsum(x12, (0, 1, 2), (1, 0, 2)) - x29 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x29 += einsum(v.abb.xov, (0, 1, 2), x28, (3, 4, 0), (4, 1, 3, 2)) - t1new_bb += einsum(t2.bbbb, (0, 1, 2, 3), x29, (4, 0, 1, 3), (4, 2)) * 2.0 - del x29 - x30 = np.zeros((nocc[1], nocc[1], naux), dtype=types[float]) - x30 += einsum(v.abb.xoo, (0, 1, 2), (1, 2, 0)) - x30 += einsum(x12, (0, 1, 2), (0, 1, 2)) - x31 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x31 += einsum(v.aaa.xov, (0, 1, 2), x30, (3, 4, 0), (1, 4, 3, 2)) - t1new_bb += einsum(t2.abab, (0, 1, 2, 3), x31, (0, 1, 4, 2), (4, 3)) * -1.0 - del x31 - x32 = np.zeros((nocc[1], nvir[1], naux), dtype=types[float]) - x32 += einsum(v.abb.xov, (0, 1, 2), t2.bbbb, (3, 1, 4, 2), (3, 4, 0)) - x33 = np.zeros((nocc[1], nvir[1], naux), dtype=types[float]) - x33 += einsum(x24, (0, 1, 2), (0, 1, 2)) * -1.0 - x33 += einsum(x25, (0, 1, 2), (0, 1, 2)) - x33 += einsum(x32, (0, 1, 2), (0, 1, 2)) * 2.0 - x33 += einsum(x5, (0,), t1.bb, (1, 2), (1, 2, 0)) - x34 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x34 += einsum(x5, (0,), v.abb.xoo, (0, 1, 2), (1, 2)) - x35 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x35 += einsum(f.bb.ov, (0, 1), (0, 1)) - x35 += einsum(x13, (0, 1), (0, 1)) * -1.0 - del x13 - x36 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x36 += einsum(t1.bb, (0, 1), x35, (2, 1), (0, 2)) - x37 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x37 += einsum(f.bb.oo, (0, 1), (0, 1)) - x37 += einsum(v.abb.xov, (0, 1, 2), x33, (3, 2, 0), (1, 3)) - del x33 - x37 += einsum(x34, (0, 1), (1, 0)) - x37 += einsum(x36, (0, 1), (1, 0)) - t1new_bb += einsum(t1.bb, (0, 1), x37, (0, 2), (2, 1)) * -1.0 - del x37 - x38 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x38 += einsum(v.aaa.xov, (0, 1, 2), v.aaa.xov, (0, 3, 4), (1, 3, 2, 4)) - x39 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x39 += einsum(t2.aaaa, (0, 1, 2, 3), x38, (4, 5, 2, 3), (0, 1, 5, 4)) * -1.0 - x40 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x40 += einsum(t1.aa, (0, 1), x39, (2, 3, 4, 0), (2, 3, 4, 1)) - del x39 - t2new_aaaa = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - t2new_aaaa += einsum(t1.aa, (0, 1), x40, (2, 3, 0, 4), (2, 3, 1, 4)) * 2.0 - del x40 - x41 = np.zeros((nvir[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x41 += einsum(v.aaa.xvv, (0, 1, 2), v.aaa.xvv, (0, 3, 4), (1, 3, 4, 2)) - t2new_aaaa += einsum(t2.aaaa, (0, 1, 2, 3), x41, (4, 2, 5, 3), (0, 1, 4, 5)) * -2.0 - del x41 - x42 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x42 += einsum(t1.aa, (0, 1), v.aaa.xvv, (2, 3, 1), (0, 3, 2)) - x43 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x43 += einsum(x42, (0, 1, 2), x42, (3, 4, 2), (0, 3, 1, 4)) - x44 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x44 += einsum(x19, (0, 1, 2), x19, (3, 4, 2), (0, 3, 1, 4)) - x45 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x45 += einsum(x1, (0, 1, 2), x1, (3, 4, 2), (0, 3, 1, 4)) - x46 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x46 += einsum(x42, (0, 1, 2), (0, 1, 2)) - x46 += einsum(x19, (0, 1, 2), (0, 1, 2)) - x46 += einsum(x1, (0, 1, 2), (0, 1, 2)) * 0.5 - x47 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x47 += einsum(v.aaa.xov, (0, 1, 2), x46, (1, 3, 0), (2, 3)) - del x46 - x48 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x48 += einsum(x5, (0,), v.aaa.xvv, (0, 1, 2), (1, 2)) - x49 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x49 += einsum(x47, (0, 1), (0, 1)) - del x47 - x49 += einsum(x48, (0, 1), (1, 0)) * -1.0 - x50 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x50 += einsum(x49, (0, 1), t2.aaaa, (2, 3, 4, 0), (2, 3, 4, 1)) * -2.0 - del x49 - x51 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x51 += einsum(v.aaa.xov, (0, 1, 2), v.aaa.xvv, (0, 3, 4), (1, 2, 3, 4)) - x52 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x52 += einsum(t2.aaaa, (0, 1, 2, 3), x51, (4, 3, 5, 2), (0, 1, 4, 5)) * -1.0 - del x51 - x53 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x53 += einsum(x18, (0, 1), t2.aaaa, (2, 3, 4, 1), (2, 3, 0, 4)) * -1.0 - x54 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x54 += einsum(v.aaa.xoo, (0, 1, 2), v.aaa.xoo, (0, 3, 4), (1, 3, 4, 2)) - x55 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x55 += einsum(x7, (0, 1, 2), x7, (3, 4, 2), (0, 3, 1, 4)) - x56 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x56 += einsum(x54, (0, 1, 2, 3), (3, 2, 1, 0)) - x56 += einsum(x55, (0, 1, 2, 3), (2, 3, 1, 0)) - x57 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x57 += einsum(t1.aa, (0, 1), x56, (0, 2, 3, 4), (2, 3, 4, 1)) * 0.5 - del x56 - x58 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x58 += einsum(x52, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - del x52 - x58 += einsum(x53, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - del x53 - x58 += einsum(x57, (0, 1, 2, 3), (0, 2, 1, 3)) - del x57 - x59 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x59 += einsum(t1.aa, (0, 1), x58, (0, 2, 3, 4), (2, 3, 1, 4)) * 2.0 - del x58 - x60 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x60 += einsum(x43, (0, 1, 2, 3), (0, 1, 2, 3)) - del x43 - x60 += einsum(x44, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.0 - del x44 - x60 += einsum(x45, (0, 1, 2, 3), (0, 1, 2, 3)) - del x45 - x60 += einsum(x50, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x50 - x60 += einsum(x59, (0, 1, 2, 3), (1, 0, 2, 3)) - del x59 - t2new_aaaa += einsum(x60, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new_aaaa += einsum(x60, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x60 - x61 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x61 += einsum(v.aaa.xoo, (0, 1, 2), x7, (3, 4, 0), (3, 1, 2, 4)) - x62 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x62 += einsum(t2.aaaa, (0, 1, 2, 3), x61, (4, 0, 5, 1), (4, 5, 2, 3)) - x63 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x63 += einsum(t1.aa, (0, 1), x18, (2, 1), (0, 2)) - del x18 - x64 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x64 += einsum(f.aa.oo, (0, 1), (0, 1)) - x64 += einsum(x63, (0, 1), (0, 1)) - del x63 - x65 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x65 += einsum(x64, (0, 1), t2.aaaa, (2, 1, 3, 4), (2, 0, 3, 4)) * -2.0 - del x64 - x66 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x66 += einsum(x0, (0, 1, 2), (0, 1, 2)) * -1.0 - x66 += einsum(x19, (0, 1, 2), (0, 1, 2)) - x66 += einsum(x1, (0, 1, 2), (0, 1, 2)) * 0.5 - x67 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x67 += einsum(v.aaa.xov, (0, 1, 2), x66, (3, 2, 0), (1, 3)) - del x66 - x68 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x68 += einsum(x67, (0, 1), (0, 1)) - del x67 - x68 += einsum(x21, (0, 1), (1, 0)) - del x21 - x69 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x69 += einsum(x68, (0, 1), t2.aaaa, (2, 0, 3, 4), (2, 1, 3, 4)) * -2.0 - del x68 - x70 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x70 += einsum(x62, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - del x62 - x70 += einsum(x65, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x65 - x70 += einsum(x69, (0, 1, 2, 3), (0, 1, 3, 2)) - del x69 - t2new_aaaa += einsum(x70, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_aaaa += einsum(x70, (0, 1, 2, 3), (1, 0, 2, 3)) - del x70 - x71 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x71 += einsum(v.aaa.xov, (0, 1, 2), x1, (3, 4, 0), (3, 1, 4, 2)) - x72 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x72 += einsum(v.aaa.xvv, (0, 1, 2), x7, (3, 4, 0), (3, 4, 1, 2)) - x73 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x73 += einsum(t2.aaaa, (0, 1, 2, 3), x72, (4, 1, 5, 3), (4, 0, 2, 5)) - del x72 - x74 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x74 += einsum(v.aaa.xov, (0, 1, 2), (1, 2, 0)) * 0.5 - x74 += einsum(x0, (0, 1, 2), (0, 1, 2)) * -0.5 - x74 += einsum(x19, (0, 1, 2), (0, 1, 2)) - x74 += einsum(x1, (0, 1, 2), (0, 1, 2)) * 0.5 - x75 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x75 += einsum(x42, (0, 1, 2), x74, (3, 4, 2), (0, 3, 1, 4)) * 2.0 - del x74 - x76 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x76 += einsum(v.aaa.xoo, (0, 1, 2), v.aaa.xvv, (0, 3, 4), (1, 2, 3, 4)) - x77 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x77 += einsum(v.aaa.xov, (0, 1, 2), (1, 2, 0)) - x77 += einsum(x1, (0, 1, 2), (0, 1, 2)) - x78 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x78 += einsum(v.aaa.xov, (0, 1, 2), x77, (3, 4, 0), (1, 3, 2, 4)) - del x77 - x79 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x79 += einsum(x76, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x76 - x79 += einsum(x78, (0, 1, 2, 3), (0, 1, 2, 3)) - del x78 - x80 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x80 += einsum(t2.aaaa, (0, 1, 2, 3), x79, (1, 4, 3, 5), (0, 4, 2, 5)) * 2.0 - del x79 - x81 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x81 += einsum(t1.aa, (0, 1), x61, (2, 3, 4, 0), (2, 3, 4, 1)) - del x61 - x82 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x82 += einsum(v.aaa.xoo, (0, 1, 2), v.abb.xov, (0, 3, 4), (1, 2, 3, 4)) - x83 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x83 += einsum(t2.abab, (0, 1, 2, 3), x82, (4, 5, 1, 3), (0, 5, 4, 2)) - del x82 - x84 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x84 += einsum(x42, (0, 1, 2), x7, (3, 4, 2), (3, 0, 4, 1)) - x85 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x85 += einsum(v.abb.xov, (0, 1, 2), x7, (3, 4, 0), (3, 4, 1, 2)) - x86 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x86 += einsum(t2.abab, (0, 1, 2, 3), x85, (4, 5, 1, 3), (4, 0, 5, 2)) - del x85 - x87 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x87 += einsum(v.aaa.xoo, (0, 1, 2), v.aaa.xov, (0, 3, 4), (1, 2, 3, 4)) - x88 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x88 += einsum(x87, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x88 += einsum(x87, (0, 1, 2, 3), (2, 1, 0, 3)) - del x87 - x89 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x89 += einsum(t2.aaaa, (0, 1, 2, 3), x88, (1, 4, 5, 3), (0, 4, 5, 2)) * 2.0 - del x88 - x90 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x90 += einsum(v.aaa.xov, (0, 1, 2), x7, (3, 4, 0), (3, 1, 4, 2)) - del x7 - x91 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x91 += einsum(x90, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x91 += einsum(x90, (0, 1, 2, 3), (0, 2, 1, 3)) - del x90 - x92 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x92 += einsum(t2.aaaa, (0, 1, 2, 3), x91, (4, 1, 5, 3), (0, 4, 5, 2)) * 2.0 - del x91 - x93 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x93 += einsum(x81, (0, 1, 2, 3), (0, 2, 1, 3)) - del x81 - x93 += einsum(x83, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x83 - x93 += einsum(x84, (0, 1, 2, 3), (0, 1, 2, 3)) - del x84 - x93 += einsum(x86, (0, 1, 2, 3), (0, 1, 2, 3)) - del x86 - x93 += einsum(x89, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x89 - x93 += einsum(x92, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x92 - x93 += einsum(x11, (0, 1, 2, 3), (2, 0, 1, 3)) - del x11 - x94 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x94 += einsum(t1.aa, (0, 1), x93, (2, 3, 0, 4), (2, 3, 1, 4)) - del x93 - x95 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x95 += einsum(x71, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x71 - x95 += einsum(x73, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - del x73 - x95 += einsum(x75, (0, 1, 2, 3), (0, 1, 3, 2)) - del x75 - x95 += einsum(x80, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x80 - x95 += einsum(x94, (0, 1, 2, 3), (0, 1, 2, 3)) - del x94 - t2new_aaaa += einsum(x95, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_aaaa += einsum(x95, (0, 1, 2, 3), (0, 1, 3, 2)) - t2new_aaaa += einsum(x95, (0, 1, 2, 3), (1, 0, 2, 3)) - t2new_aaaa += einsum(x95, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x95 - x96 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x96 += einsum(f.aa.vv, (0, 1), t2.aaaa, (2, 3, 4, 1), (2, 3, 0, 4)) - x97 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x97 += einsum(x96, (0, 1, 2, 3), (1, 0, 2, 3)) * -2.0 - del x96 - x97 += einsum(x38, (0, 1, 2, 3), (1, 0, 2, 3)) - del x38 - t2new_aaaa += einsum(x97, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_aaaa += einsum(x97, (0, 1, 2, 3), (0, 1, 3, 2)) - del x97 - x98 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x98 += einsum(x54, (0, 1, 2, 3), (3, 2, 1, 0)) - del x54 - x98 += einsum(x55, (0, 1, 2, 3), (2, 1, 3, 0)) - del x55 - t2new_aaaa += einsum(t2.aaaa, (0, 1, 2, 3), x98, (0, 4, 1, 5), (4, 5, 2, 3)) * -2.0 - del x98 - x99 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x99 += einsum(v.aaa.xov, (0, 1, 2), (1, 2, 0)) - x99 += einsum(x42, (0, 1, 2), (0, 1, 2)) - x99 += einsum(x19, (0, 1, 2), (0, 1, 2)) * 2.0 - x99 += einsum(x1, (0, 1, 2), (0, 1, 2)) - x100 = np.zeros((nocc[1], nvir[1], naux), dtype=types[float]) - x100 += einsum(t1.bb, (0, 1), v.abb.xvv, (2, 3, 1), (0, 3, 2)) - x101 = np.zeros((nocc[1], nvir[1], naux), dtype=types[float]) - x101 += einsum(v.abb.xov, (0, 1, 2), (1, 2, 0)) * 0.5 - x101 += einsum(x100, (0, 1, 2), (0, 1, 2)) * 0.5 - x101 += einsum(x25, (0, 1, 2), (0, 1, 2)) * 0.5 - x101 += einsum(x32, (0, 1, 2), (0, 1, 2)) - t2new_abab = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - t2new_abab += einsum(x101, (0, 1, 2), x99, (3, 4, 2), (3, 0, 4, 1)) * 2.0 - del x101, x99 - x102 = np.zeros((nvir[1], nvir[1], naux), dtype=types[float]) - x102 += einsum(t1.bb, (0, 1), v.abb.xov, (2, 0, 3), (1, 3, 2)) - x103 = np.zeros((nvir[1], nvir[1], naux), dtype=types[float]) - x103 += einsum(v.abb.xvv, (0, 1, 2), (1, 2, 0)) - x103 += einsum(x102, (0, 1, 2), (0, 1, 2)) * -1.0 - del x102 - x104 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x104 += einsum(v.abb.xov, (0, 1, 2), x30, (3, 4, 0), (4, 3, 1, 2)) - x105 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x105 += einsum(x103, (0, 1, 2), x30, (3, 4, 2), (4, 3, 1, 0)) - x105 += einsum(t1.bb, (0, 1), x104, (0, 2, 3, 4), (3, 2, 4, 1)) - del x104 - t2new_abab += einsum(t2.abab, (0, 1, 2, 3), x105, (1, 4, 3, 5), (0, 4, 2, 5)) * -1.0 - del x105 - x106 = np.zeros((nvir[0], nvir[0], naux), dtype=types[float]) - x106 += einsum(t1.aa, (0, 1), v.aaa.xov, (2, 0, 3), (1, 3, 2)) - x107 = np.zeros((nvir[0], nvir[0], naux), dtype=types[float]) - x107 += einsum(v.aaa.xvv, (0, 1, 2), (1, 2, 0)) - x107 += einsum(x106, (0, 1, 2), (0, 1, 2)) * -1.0 - del x106 - x108 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x108 += einsum(v.aaa.xov, (0, 1, 2), x8, (3, 4, 0), (4, 3, 1, 2)) - x109 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x109 += einsum(x107, (0, 1, 2), x8, (3, 4, 2), (4, 3, 1, 0)) - x109 += einsum(t1.aa, (0, 1), x108, (0, 2, 3, 4), (3, 2, 4, 1)) - del x108 - t2new_abab += einsum(t2.abab, (0, 1, 2, 3), x109, (0, 4, 2, 5), (4, 1, 5, 3)) * -1.0 - del x109 - x110 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x110 += einsum(x107, (0, 1, 2), x30, (3, 4, 2), (4, 3, 1, 0)) - del x107 - t2new_abab += einsum(t2.abab, (0, 1, 2, 3), x110, (1, 4, 2, 5), (0, 4, 5, 3)) * -1.0 - del x110 - x111 = np.zeros((nocc[0], nocc[0], nvir[1], nvir[1]), dtype=types[float]) - x111 += einsum(x103, (0, 1, 2), x8, (3, 4, 2), (4, 3, 1, 0)) - t2new_abab += einsum(t2.abab, (0, 1, 2, 3), x111, (0, 4, 3, 5), (4, 1, 2, 5)) * -1.0 - del x111 - x112 = np.zeros((nocc[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) - x112 += einsum(v.aaa.xov, (0, 1, 2), v.abb.xvv, (0, 3, 4), (1, 2, 3, 4)) - x113 = np.zeros((nvir[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) - x113 += einsum(t1.aa, (0, 1), x112, (0, 2, 3, 4), (2, 1, 4, 3)) - del x112 - x113 += einsum(v.aaa.xvv, (0, 1, 2), x103, (3, 4, 0), (1, 2, 4, 3)) * -1.0 - del x103 - t2new_abab += einsum(t2.abab, (0, 1, 2, 3), x113, (2, 4, 3, 5), (0, 1, 4, 5)) * -1.0 - del x113 - x114 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x114 += einsum(x30, (0, 1, 2), x8, (3, 4, 2), (4, 3, 1, 0)) - x115 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x115 += einsum(t2.abab, (0, 1, 2, 3), (0, 1, 2, 3)) - x115 += einsum(t1.aa, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3)) - t2new_abab += einsum(x114, (0, 1, 2, 3), x115, (0, 2, 4, 5), (1, 3, 4, 5)) - del x114, x115 - x116 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x116 += einsum(x42, (0, 1, 2), (0, 1, 2)) - x116 += einsum(x19, (0, 1, 2), (0, 1, 2)) - x116 += einsum(x1, (0, 1, 2), (0, 1, 2)) * 0.5 - x116 += einsum(x5, (0,), t1.aa, (1, 2), (1, 2, 0)) - x117 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x117 += einsum(f.aa.vv, (0, 1), (0, 1)) * -1.0 - x117 += einsum(v.aaa.xov, (0, 1, 2), x116, (1, 3, 0), (2, 3)) - del x116 - x117 += einsum(x48, (0, 1), (1, 0)) * -1.0 - del x48 - x117 += einsum(t1.aa, (0, 1), x22, (0, 2), (2, 1)) - t2new_abab += einsum(x117, (0, 1), t2.abab, (2, 3, 0, 4), (2, 3, 1, 4)) * -1.0 - del x117 - x118 = np.zeros((nocc[1], nvir[1], naux), dtype=types[float]) - x118 += einsum(x100, (0, 1, 2), (0, 1, 2)) - x118 += einsum(x25, (0, 1, 2), (0, 1, 2)) * 0.5 - x118 += einsum(x32, (0, 1, 2), (0, 1, 2)) - x118 += einsum(x5, (0,), t1.bb, (1, 2), (1, 2, 0)) - x119 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x119 += einsum(x5, (0,), v.abb.xvv, (0, 1, 2), (1, 2)) - x120 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x120 += einsum(f.bb.vv, (0, 1), (0, 1)) * -1.0 - x120 += einsum(v.abb.xov, (0, 1, 2), x118, (1, 3, 0), (2, 3)) - del x118 - x120 += einsum(x119, (0, 1), (1, 0)) * -1.0 - x120 += einsum(t1.bb, (0, 1), x35, (0, 2), (2, 1)) - del x35 - t2new_abab += einsum(x120, (0, 1), t2.abab, (2, 3, 4, 0), (2, 3, 4, 1)) * -1.0 - del x120 - x121 = np.zeros((nocc[1], nvir[1], naux), dtype=types[float]) - x121 += einsum(x24, (0, 1, 2), (0, 1, 2)) * -1.0 - x121 += einsum(x25, (0, 1, 2), (0, 1, 2)) * 0.5 - x121 += einsum(x32, (0, 1, 2), (0, 1, 2)) - x121 += einsum(x5, (0,), t1.bb, (1, 2), (1, 2, 0)) - x122 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x122 += einsum(f.bb.oo, (0, 1), (0, 1)) - x122 += einsum(v.abb.xov, (0, 1, 2), x121, (3, 2, 0), (1, 3)) - del x121 - x122 += einsum(x34, (0, 1), (1, 0)) - x122 += einsum(x36, (0, 1), (1, 0)) - del x36 - t2new_abab += einsum(x122, (0, 1), t2.abab, (2, 0, 3, 4), (2, 1, 3, 4)) * -1.0 - del x122 - x123 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x123 += einsum(x0, (0, 1, 2), (0, 1, 2)) * -1.0 - del x0 - x123 += einsum(x19, (0, 1, 2), (0, 1, 2)) - del x19 - x123 += einsum(x1, (0, 1, 2), (0, 1, 2)) * 0.5 - del x1 - x123 += einsum(x5, (0,), t1.aa, (1, 2), (1, 2, 0)) - x124 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x124 += einsum(f.aa.oo, (0, 1), (0, 1)) * 2.0 - x124 += einsum(v.aaa.xov, (0, 1, 2), x123, (3, 2, 0), (1, 3)) * 2.0 - del x123 - x124 += einsum(x5, (0,), v.aaa.xoo, (0, 1, 2), (1, 2)) * 2.0 - del x5 - x124 += einsum(t1.aa, (0, 1), x22, (2, 1), (2, 0)) * 2.0 - del x22 - t2new_abab += einsum(x124, (0, 1), t2.abab, (0, 2, 3, 4), (1, 2, 3, 4)) * -0.5 - del x124 - x125 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x125 += einsum(v.aaa.xov, (0, 1, 2), v.abb.xov, (0, 3, 4), (1, 3, 2, 4)) - x126 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x126 += einsum(t2.abab, (0, 1, 2, 3), x125, (4, 5, 2, 3), (0, 4, 1, 5)) - del x125 - x127 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x127 += einsum(v.aaa.xov, (0, 1, 2), (1, 2, 0)) - x127 += einsum(x42, (0, 1, 2), (0, 1, 2)) - del x42 - x128 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x128 += einsum(v.aaa.xov, (0, 1, 2), x28, (3, 4, 0), (1, 4, 3, 2)) - del x28 - x129 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x129 += einsum(t1.aa, (0, 1), x126, (2, 0, 3, 4), (2, 4, 3, 1)) * -1.0 - del x126 - x129 += einsum(x127, (0, 1, 2), x30, (3, 4, 2), (0, 4, 3, 1)) - del x30, x127 - x129 += einsum(t2.aaaa, (0, 1, 2, 3), x128, (1, 4, 5, 3), (0, 5, 4, 2)) * 2.0 - del x128 - t2new_abab += einsum(t1.bb, (0, 1), x129, (2, 0, 3, 4), (2, 3, 4, 1)) * -1.0 - del x129 - x130 = np.zeros((nocc[1], nvir[1], naux), dtype=types[float]) - x130 += einsum(v.abb.xov, (0, 1, 2), (1, 2, 0)) - x130 += einsum(x100, (0, 1, 2), (0, 1, 2)) - x131 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x131 += einsum(v.abb.xov, (0, 1, 2), x10, (3, 4, 0), (4, 3, 1, 2)) - del x10 - x132 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x132 += einsum(x130, (0, 1, 2), x8, (3, 4, 2), (4, 3, 0, 1)) * 0.5 - del x8, x130 - x132 += einsum(t2.bbbb, (0, 1, 2, 3), x131, (4, 5, 1, 3), (5, 4, 0, 2)) - del x131 - t2new_abab += einsum(t1.aa, (0, 1), x132, (0, 2, 3, 4), (2, 3, 1, 4)) * -2.0 - del x132 - x133 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x133 += einsum(v.abb.xov, (0, 1, 2), v.abb.xov, (0, 3, 4), (1, 3, 2, 4)) - x134 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x134 += einsum(t2.bbbb, (0, 1, 2, 3), x133, (4, 5, 2, 3), (0, 1, 5, 4)) * -1.0 - x135 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x135 += einsum(t1.bb, (0, 1), x134, (2, 3, 4, 0), (2, 3, 4, 1)) - del x134 - t2new_bbbb = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - t2new_bbbb += einsum(t1.bb, (0, 1), x135, (2, 3, 0, 4), (2, 3, 1, 4)) * 2.0 - del x135 - x136 = np.zeros((nvir[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x136 += einsum(v.abb.xvv, (0, 1, 2), v.abb.xvv, (0, 3, 4), (1, 3, 4, 2)) - t2new_bbbb += einsum(t2.bbbb, (0, 1, 2, 3), x136, (4, 3, 5, 2), (0, 1, 4, 5)) * 2.0 - del x136 - x137 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x137 += einsum(f.bb.vv, (0, 1), t2.bbbb, (2, 3, 4, 1), (2, 3, 0, 4)) - x138 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x138 += einsum(x25, (0, 1, 2), x25, (3, 4, 2), (0, 3, 1, 4)) - x139 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x139 += einsum(x137, (0, 1, 2, 3), (1, 0, 2, 3)) * -2.0 - del x137 - x139 += einsum(x133, (0, 1, 2, 3), (1, 0, 2, 3)) - del x133 - x139 += einsum(x138, (0, 1, 2, 3), (1, 0, 2, 3)) - del x138 - t2new_bbbb += einsum(x139, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_bbbb += einsum(x139, (0, 1, 2, 3), (0, 1, 3, 2)) - del x139 - x140 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x140 += einsum(v.abb.xoo, (0, 1, 2), v.abb.xvv, (0, 3, 4), (1, 2, 3, 4)) - x141 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x141 += einsum(t2.bbbb, (0, 1, 2, 3), x140, (4, 1, 5, 3), (0, 4, 2, 5)) - del x140 - x142 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x142 += einsum(v.abb.xvv, (0, 1, 2), x12, (3, 4, 0), (3, 4, 1, 2)) - x143 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x143 += einsum(t2.bbbb, (0, 1, 2, 3), x142, (4, 1, 5, 3), (4, 0, 2, 5)) - del x142 - x144 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x144 += einsum(x25, (0, 1, 2), x32, (3, 4, 2), (0, 3, 1, 4)) - x145 = np.zeros((nocc[1], nvir[1], naux), dtype=types[float]) - x145 += einsum(v.abb.xov, (0, 1, 2), (1, 2, 0)) - x145 += einsum(x24, (0, 1, 2), (0, 1, 2)) * -1.0 - x145 += einsum(x25, (0, 1, 2), (0, 1, 2)) - x145 += einsum(x32, (0, 1, 2), (0, 1, 2)) * 2.0 - x146 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x146 += einsum(x100, (0, 1, 2), x145, (3, 4, 2), (3, 0, 4, 1)) - del x145 - x147 = np.zeros((nocc[1], nvir[1], naux), dtype=types[float]) - x147 += einsum(v.abb.xov, (0, 1, 2), x26, (1, 3, 2, 4), (3, 4, 0)) - del x26 - x148 = np.zeros((nocc[1], nvir[1], naux), dtype=types[float]) - x148 += einsum(x24, (0, 1, 2), (0, 1, 2)) * -0.5 - x148 += einsum(x25, (0, 1, 2), (0, 1, 2)) * 0.5 - x148 += einsum(x147, (0, 1, 2), (0, 1, 2)) - del x147 - x149 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x149 += einsum(v.abb.xov, (0, 1, 2), x148, (3, 4, 0), (3, 1, 4, 2)) * 2.0 - del x148 - x150 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x150 += einsum(v.abb.xoo, (0, 1, 2), v.aaa.xov, (0, 3, 4), (3, 1, 2, 4)) - x151 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x151 += einsum(t2.abab, (0, 1, 2, 3), x150, (0, 4, 5, 2), (1, 5, 4, 3)) - del x150 - x152 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x152 += einsum(v.abb.xoo, (0, 1, 2), x12, (3, 4, 0), (3, 1, 2, 4)) - x153 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x153 += einsum(t1.bb, (0, 1), x152, (2, 3, 4, 0), (2, 3, 4, 1)) - x154 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x154 += einsum(x100, (0, 1, 2), x12, (3, 4, 2), (3, 0, 4, 1)) - x155 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x155 += einsum(v.aaa.xov, (0, 1, 2), x12, (3, 4, 0), (1, 3, 4, 2)) - x156 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x156 += einsum(t2.abab, (0, 1, 2, 3), x155, (0, 4, 5, 2), (4, 1, 5, 3)) - del x155 - x157 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x157 += einsum(v.abb.xoo, (0, 1, 2), v.abb.xov, (0, 3, 4), (1, 2, 3, 4)) - x158 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x158 += einsum(x157, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x158 += einsum(x157, (0, 1, 2, 3), (2, 1, 0, 3)) - del x157 - x159 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x159 += einsum(t2.bbbb, (0, 1, 2, 3), x158, (1, 4, 5, 3), (4, 5, 0, 2)) * 2.0 - del x158 - x160 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x160 += einsum(v.abb.xov, (0, 1, 2), x12, (3, 4, 0), (3, 1, 4, 2)) - x161 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x161 += einsum(x160, (0, 1, 2, 3), (0, 1, 2, 3)) - x161 += einsum(x160, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x160 - x162 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x162 += einsum(t2.bbbb, (0, 1, 2, 3), x161, (4, 5, 1, 3), (4, 5, 0, 2)) * 2.0 - del x161 - x163 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x163 += einsum(x151, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x151 - x163 += einsum(x153, (0, 1, 2, 3), (0, 2, 1, 3)) - del x153 - x163 += einsum(x154, (0, 1, 2, 3), (0, 2, 1, 3)) - del x154 - x163 += einsum(x156, (0, 1, 2, 3), (0, 2, 1, 3)) - del x156 - x163 += einsum(x159, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - del x159 - x163 += einsum(x162, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x162 - x164 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x164 += einsum(t1.bb, (0, 1), x163, (2, 0, 3, 4), (2, 3, 4, 1)) - del x163 - x165 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x165 += einsum(x141, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x141 - x165 += einsum(x143, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - del x143 - x165 += einsum(x144, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - del x144 - x165 += einsum(x146, (0, 1, 2, 3), (1, 0, 2, 3)) - del x146 - x165 += einsum(x149, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x149 - x165 += einsum(x164, (0, 1, 2, 3), (0, 1, 3, 2)) - del x164 - t2new_bbbb += einsum(x165, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_bbbb += einsum(x165, (0, 1, 2, 3), (0, 1, 3, 2)) - t2new_bbbb += einsum(x165, (0, 1, 2, 3), (1, 0, 2, 3)) - t2new_bbbb += einsum(x165, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x165 - x166 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x166 += einsum(t2.bbbb, (0, 1, 2, 3), x152, (4, 0, 5, 1), (4, 5, 2, 3)) - del x152 - x167 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x167 += einsum(t1.bb, (0, 1), x15, (2, 1), (0, 2)) - x168 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x168 += einsum(f.bb.oo, (0, 1), (0, 1)) - x168 += einsum(x167, (0, 1), (0, 1)) - del x167 - x169 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x169 += einsum(x168, (0, 1), t2.bbbb, (2, 1, 3, 4), (0, 2, 3, 4)) * -2.0 - del x168 - x170 = np.zeros((nocc[1], nvir[1], naux), dtype=types[float]) - x170 += einsum(x24, (0, 1, 2), (0, 1, 2)) * -1.0 - del x24 - x170 += einsum(x25, (0, 1, 2), (0, 1, 2)) * 0.5 - x170 += einsum(x32, (0, 1, 2), (0, 1, 2)) - x171 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x171 += einsum(v.abb.xov, (0, 1, 2), x170, (3, 2, 0), (3, 1)) - del x170 - x172 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x172 += einsum(x171, (0, 1), (1, 0)) - del x171 - x172 += einsum(x34, (0, 1), (1, 0)) - del x34 - x173 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x173 += einsum(x172, (0, 1), t2.bbbb, (2, 0, 3, 4), (1, 2, 3, 4)) * -2.0 - del x172 - x174 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x174 += einsum(x166, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - del x166 - x174 += einsum(x169, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x169 - x174 += einsum(x173, (0, 1, 2, 3), (1, 0, 3, 2)) - del x173 - t2new_bbbb += einsum(x174, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_bbbb += einsum(x174, (0, 1, 2, 3), (1, 0, 2, 3)) - del x174 - x175 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x175 += einsum(x100, (0, 1, 2), x100, (3, 4, 2), (0, 3, 1, 4)) - x176 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x176 += einsum(x32, (0, 1, 2), x32, (3, 4, 2), (0, 3, 1, 4)) - x177 = np.zeros((nocc[1], nvir[1], naux), dtype=types[float]) - x177 += einsum(x100, (0, 1, 2), (0, 1, 2)) - del x100 - x177 += einsum(x25, (0, 1, 2), (0, 1, 2)) * 0.5 - del x25 - x177 += einsum(x32, (0, 1, 2), (0, 1, 2)) - del x32 - x178 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x178 += einsum(v.abb.xov, (0, 1, 2), x177, (1, 3, 0), (3, 2)) - del x177 - x179 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x179 += einsum(x178, (0, 1), (1, 0)) - del x178 - x179 += einsum(x119, (0, 1), (1, 0)) * -1.0 - del x119 - x180 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x180 += einsum(x179, (0, 1), t2.bbbb, (2, 3, 4, 0), (2, 3, 1, 4)) * -2.0 - del x179 - x181 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x181 += einsum(v.abb.xov, (0, 1, 2), v.abb.xvv, (0, 3, 4), (1, 2, 3, 4)) - x182 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x182 += einsum(t2.bbbb, (0, 1, 2, 3), x181, (4, 3, 5, 2), (0, 1, 4, 5)) * -1.0 - del x181 - x183 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x183 += einsum(x15, (0, 1), t2.bbbb, (2, 3, 4, 1), (0, 2, 3, 4)) * -1.0 - del x15 - x184 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x184 += einsum(v.abb.xoo, (0, 1, 2), v.abb.xoo, (0, 3, 4), (1, 3, 4, 2)) - x185 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x185 += einsum(x12, (0, 1, 2), x12, (3, 4, 2), (0, 3, 1, 4)) - del x12 - x186 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x186 += einsum(x184, (0, 1, 2, 3), (3, 2, 1, 0)) - x186 += einsum(x185, (0, 1, 2, 3), (2, 3, 1, 0)) - x187 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x187 += einsum(t1.bb, (0, 1), x186, (0, 2, 3, 4), (2, 3, 4, 1)) * 0.5 - del x186 - x188 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x188 += einsum(x182, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - del x182 - x188 += einsum(x183, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x183 - x188 += einsum(x187, (0, 1, 2, 3), (0, 2, 1, 3)) - del x187 - x189 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x189 += einsum(t1.bb, (0, 1), x188, (0, 2, 3, 4), (2, 3, 4, 1)) * 2.0 - del x188 - x190 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x190 += einsum(x175, (0, 1, 2, 3), (0, 1, 2, 3)) - del x175 - x190 += einsum(x176, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.0 - del x176 - x190 += einsum(x180, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x180 - x190 += einsum(x189, (0, 1, 2, 3), (1, 0, 3, 2)) - del x189 - t2new_bbbb += einsum(x190, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new_bbbb += einsum(x190, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x190 - x191 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x191 += einsum(x184, (0, 1, 2, 3), (3, 2, 1, 0)) - del x184 - x191 += einsum(x185, (0, 1, 2, 3), (2, 1, 3, 0)) - del x185 - t2new_bbbb += einsum(t2.bbbb, (0, 1, 2, 3), x191, (0, 4, 1, 5), (4, 5, 2, 3)) * -2.0 - del x191 - - t1new.aa = t1new_aa - t1new.bb = t1new_bb - t2new.aaaa = t2new_aaaa - t2new.abab = t2new_abab - t2new.bbbb = t2new_bbbb - - return {"t1new": t1new, "t2new": t2new} - diff --git a/ebcc/codegen/UDFQCISD.py b/ebcc/codegen/UDFQCISD.py deleted file mode 100644 index 28978f85..00000000 --- a/ebcc/codegen/UDFQCISD.py +++ /dev/null @@ -1,438 +0,0 @@ -# Code generated for ebcc. - -from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, Namespace -from ebcc.precision import types - -def energy(f=None, v=None, nocc=None, nvir=None, naux=None, t1=None, t2=None, **kwargs): - # energy - x0 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x0 += einsum(v.aaa.xov, (0, 1, 2), t2.aaaa, (3, 1, 4, 2), (3, 4, 0)) - e_cc = 0 - e_cc += einsum(v.aaa.xov, (0, 1, 2), x0, (1, 2, 0), ()) - del x0 - x1 = np.zeros((nocc[1], nvir[1], naux), dtype=types[float]) - x1 += einsum(v.aaa.xov, (0, 1, 2), t2.abab, (1, 3, 2, 4), (3, 4, 0)) - x1 += einsum(v.abb.xov, (0, 1, 2), t2.bbbb, (3, 1, 4, 2), (3, 4, 0)) - e_cc += einsum(v.abb.xov, (0, 1, 2), x1, (1, 2, 0), ()) - del x1 - - return e_cc - -def update_amps(f=None, v=None, nocc=None, nvir=None, naux=None, t1=None, t2=None, **kwargs): - t1new = Namespace() - t2new = Namespace() - - # T amplitudes - t1new_aa = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - t1new_aa += einsum(f.aa.vv, (0, 1), t1.aa, (2, 1), (2, 0)) - t1new_bb = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - t1new_bb += einsum(f.bb.vv, (0, 1), t1.bb, (2, 1), (2, 0)) - x0 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x0 += einsum(t1.aa, (0, 1), v.aaa.xoo, (2, 3, 0), (3, 1, 2)) - x1 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x1 += einsum(v.aaa.xov, (0, 1, 2), t2.aaaa, (3, 1, 4, 2), (3, 4, 0)) - x2 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x2 += einsum(v.abb.xov, (0, 1, 2), t2.abab, (3, 1, 4, 2), (3, 4, 0)) - x3 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x3 += einsum(x0, (0, 1, 2), (0, 1, 2)) * -0.5 - x3 += einsum(x1, (0, 1, 2), (0, 1, 2)) - x3 += einsum(x2, (0, 1, 2), (0, 1, 2)) * 0.5 - t1new_aa += einsum(v.aaa.xvv, (0, 1, 2), x3, (3, 2, 0), (3, 1)) * 2.0 - del x3 - x4 = np.zeros((nocc[0], nocc[0], naux), dtype=types[float]) - x4 += einsum(t1.aa, (0, 1), v.aaa.xov, (2, 3, 1), (0, 3, 2)) - x5 = np.zeros((nocc[0], nocc[0], naux), dtype=types[float]) - x5 += einsum(v.aaa.xoo, (0, 1, 2), (1, 2, 0)) - x5 += einsum(x4, (0, 1, 2), (0, 1, 2)) - x6 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x6 += einsum(v.abb.xov, (0, 1, 2), x5, (3, 4, 0), (4, 3, 1, 2)) - del x5 - t1new_aa += einsum(t2.abab, (0, 1, 2, 3), x6, (0, 4, 1, 3), (4, 2)) * -1.0 - del x6 - x7 = np.zeros((nocc[0], nocc[0], naux), dtype=types[float]) - x7 += einsum(v.aaa.xoo, (0, 1, 2), (1, 2, 0)) - x7 += einsum(x4, (0, 1, 2), (1, 0, 2)) - x8 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x8 += einsum(v.aaa.xov, (0, 1, 2), x7, (3, 4, 0), (4, 1, 3, 2)) - del x7 - t1new_aa += einsum(t2.aaaa, (0, 1, 2, 3), x8, (4, 0, 1, 3), (4, 2)) * 2.0 - del x8 - x9 = np.zeros((nocc[1], nocc[1], naux), dtype=types[float]) - x9 += einsum(t1.bb, (0, 1), v.abb.xov, (2, 3, 1), (0, 3, 2)) - x10 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x10 += einsum(v.abb.xov, (0, 1, 2), x9, (1, 3, 0), (3, 2)) - x11 = np.zeros((naux,), dtype=types[float]) - x11 += einsum(t1.aa, (0, 1), v.aaa.xov, (2, 0, 1), (2,)) - x12 = np.zeros((naux,), dtype=types[float]) - x12 += einsum(t1.bb, (0, 1), v.abb.xov, (2, 0, 1), (2,)) - x13 = np.zeros((naux,), dtype=types[float]) - x13 += einsum(x11, (0,), (0,)) - del x11 - x13 += einsum(x12, (0,), (0,)) - del x12 - x14 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x14 += einsum(x13, (0,), v.abb.xov, (0, 1, 2), (1, 2)) - t1new_bb += einsum(x14, (0, 1), (0, 1)) - x15 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x15 += einsum(f.bb.ov, (0, 1), (0, 1)) - x15 += einsum(x10, (0, 1), (0, 1)) * -1.0 - del x10 - x15 += einsum(x14, (0, 1), (0, 1)) - del x14 - t1new_aa += einsum(x15, (0, 1), t2.abab, (2, 0, 3, 1), (2, 3)) - t1new_bb += einsum(x15, (0, 1), t2.bbbb, (2, 0, 3, 1), (2, 3)) * 2.0 - del x15 - x16 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x16 += einsum(v.aaa.xov, (0, 1, 2), x4, (1, 3, 0), (3, 2)) - del x4 - x17 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x17 += einsum(x13, (0,), v.aaa.xov, (0, 1, 2), (1, 2)) - del x13 - t1new_aa += einsum(x17, (0, 1), (0, 1)) - x18 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x18 += einsum(f.aa.ov, (0, 1), (0, 1)) - x18 += einsum(x16, (0, 1), (0, 1)) * -1.0 - del x16 - x18 += einsum(x17, (0, 1), (0, 1)) - del x17 - t1new_aa += einsum(x18, (0, 1), t2.aaaa, (2, 0, 3, 1), (2, 3)) * 2.0 - t1new_bb += einsum(x18, (0, 1), t2.abab, (0, 2, 1, 3), (2, 3)) - del x18 - x19 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x19 += einsum(x1, (0, 1, 2), (0, 1, 2)) - x19 += einsum(x2, (0, 1, 2), (0, 1, 2)) * 0.5 - x20 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x20 += einsum(f.aa.oo, (0, 1), (0, 1)) - x20 += einsum(v.aaa.xov, (0, 1, 2), x19, (3, 2, 0), (1, 3)) * 2.0 - t1new_aa += einsum(t1.aa, (0, 1), x20, (0, 2), (2, 1)) * -1.0 - del x20 - x21 = np.zeros((nocc[1], nvir[1], naux), dtype=types[float]) - x21 += einsum(t1.bb, (0, 1), v.abb.xoo, (2, 3, 0), (3, 1, 2)) - x22 = np.zeros((nocc[1], nvir[1], naux), dtype=types[float]) - x22 += einsum(v.aaa.xov, (0, 1, 2), t2.abab, (1, 3, 2, 4), (3, 4, 0)) - x23 = np.zeros((nocc[1], nvir[1], naux), dtype=types[float]) - x23 += einsum(v.abb.xov, (0, 1, 2), t2.bbbb, (3, 1, 4, 2), (3, 4, 0)) - t2new_abab = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - t2new_abab += einsum(x1, (0, 1, 2), x23, (3, 4, 2), (0, 3, 1, 4)) * 4.0 - x24 = np.zeros((nocc[1], nvir[1], naux), dtype=types[float]) - x24 += einsum(x21, (0, 1, 2), (0, 1, 2)) * -0.5 - x24 += einsum(x22, (0, 1, 2), (0, 1, 2)) * 0.5 - x24 += einsum(x23, (0, 1, 2), (0, 1, 2)) - t1new_bb += einsum(v.abb.xvv, (0, 1, 2), x24, (3, 2, 0), (3, 1)) * 2.0 - x25 = np.zeros((nocc[1], nocc[1], naux), dtype=types[float]) - x25 += einsum(v.abb.xoo, (0, 1, 2), (1, 2, 0)) - x25 += einsum(x9, (0, 1, 2), (0, 1, 2)) - x26 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x26 += einsum(v.aaa.xov, (0, 1, 2), x25, (3, 4, 0), (1, 4, 3, 2)) - del x25 - t1new_bb += einsum(t2.abab, (0, 1, 2, 3), x26, (0, 1, 4, 2), (4, 3)) * -1.0 - del x26 - x27 = np.zeros((nocc[1], nocc[1], naux), dtype=types[float]) - x27 += einsum(v.abb.xoo, (0, 1, 2), (1, 2, 0)) - x27 += einsum(x9, (0, 1, 2), (1, 0, 2)) - del x9 - x28 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x28 += einsum(v.abb.xov, (0, 1, 2), x27, (3, 4, 0), (4, 1, 3, 2)) - del x27 - t1new_bb += einsum(t2.bbbb, (0, 1, 2, 3), x28, (4, 0, 1, 3), (4, 2)) * 2.0 - del x28 - x29 = np.zeros((nocc[1], nvir[1], naux), dtype=types[float]) - x29 += einsum(x22, (0, 1, 2), (0, 1, 2)) - x29 += einsum(x23, (0, 1, 2), (0, 1, 2)) * 2.0 - x30 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x30 += einsum(v.abb.xov, (0, 1, 2), x29, (3, 2, 0), (1, 3)) - x31 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x31 += einsum(f.bb.oo, (0, 1), (0, 1)) - x31 += einsum(x30, (0, 1), (0, 1)) - t1new_bb += einsum(t1.bb, (0, 1), x31, (0, 2), (2, 1)) * -1.0 - t2new_abab += einsum(x31, (0, 1), t2.abab, (2, 0, 3, 4), (2, 1, 3, 4)) * -1.0 - del x31 - x32 = np.zeros((nvir[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x32 += einsum(v.aaa.xvv, (0, 1, 2), v.aaa.xvv, (0, 3, 4), (1, 3, 4, 2)) - t2new_aaaa = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - t2new_aaaa += einsum(t2.aaaa, (0, 1, 2, 3), x32, (4, 2, 5, 3), (0, 1, 4, 5)) * -2.0 - del x32 - x33 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x33 += einsum(v.aaa.xov, (0, 1, 2), v.aaa.xov, (0, 3, 4), (1, 3, 2, 4)) - x34 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x34 += einsum(x33, (0, 1, 2, 3), (1, 0, 2, 3)) - x34 += einsum(x33, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - x35 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x35 += einsum(t2.aaaa, (0, 1, 2, 3), x34, (1, 4, 3, 5), (0, 4, 2, 5)) - x36 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x36 += einsum(t2.aaaa, (0, 1, 2, 3), x35, (4, 1, 5, 3), (0, 4, 2, 5)) * -4.0 - del x35 - x37 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x37 += einsum(v.abb.xov, (0, 1, 2), v.abb.xov, (0, 3, 4), (1, 3, 2, 4)) - x38 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x38 += einsum(x37, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x38 += einsum(x37, (0, 1, 2, 3), (1, 0, 3, 2)) - x39 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x39 += einsum(t2.abab, (0, 1, 2, 3), x38, (1, 4, 5, 3), (0, 4, 2, 5)) - del x38 - x40 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x40 += einsum(t2.abab, (0, 1, 2, 3), x39, (4, 1, 5, 3), (0, 4, 2, 5)) * -1.0 - del x39 - x41 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x41 += einsum(v.aaa.xov, (0, 1, 2), x19, (1, 3, 0), (2, 3)) - x42 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x42 += einsum(x41, (0, 1), t2.aaaa, (2, 3, 4, 0), (2, 3, 4, 1)) * -4.0 - x43 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x43 += einsum(x36, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x36 - x43 += einsum(x40, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x40 - x43 += einsum(x42, (0, 1, 2, 3), (1, 0, 2, 3)) - del x42 - t2new_aaaa += einsum(x43, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_aaaa += einsum(x43, (0, 1, 2, 3), (0, 1, 3, 2)) - del x43 - x44 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x44 += einsum(f.aa.vv, (0, 1), t2.aaaa, (2, 3, 4, 1), (2, 3, 0, 4)) - x45 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x45 += einsum(x44, (0, 1, 2, 3), (1, 0, 2, 3)) * -2.0 - del x44 - x45 += einsum(x33, (0, 1, 2, 3), (1, 0, 2, 3)) - t2new_aaaa += einsum(x45, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_aaaa += einsum(x45, (0, 1, 2, 3), (0, 1, 3, 2)) - del x45 - x46 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x46 += einsum(f.aa.oo, (0, 1), t2.aaaa, (2, 1, 3, 4), (0, 2, 3, 4)) - x47 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x47 += einsum(v.aaa.xov, (0, 1, 2), x19, (3, 2, 0), (1, 3)) - del x19 - x48 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x48 += einsum(x47, (0, 1), t2.aaaa, (2, 0, 3, 4), (2, 1, 3, 4)) * -4.0 - x49 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x49 += einsum(x46, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - del x46 - x49 += einsum(x48, (0, 1, 2, 3), (0, 1, 3, 2)) - del x48 - t2new_aaaa += einsum(x49, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_aaaa += einsum(x49, (0, 1, 2, 3), (1, 0, 2, 3)) - del x49 - x50 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x50 += einsum(t1.aa, (0, 1), v.aaa.xvv, (2, 3, 1), (0, 3, 2)) - x51 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x51 += einsum(v.aaa.xov, (0, 1, 2), x50, (3, 4, 0), (3, 1, 2, 4)) - x52 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x52 += einsum(v.aaa.xoo, (0, 1, 2), v.aaa.xvv, (0, 3, 4), (1, 2, 3, 4)) - x53 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x53 += einsum(v.aaa.xov, (0, 1, 2), (1, 2, 0)) - x53 += einsum(x2, (0, 1, 2), (0, 1, 2)) - x54 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x54 += einsum(v.aaa.xov, (0, 1, 2), x53, (3, 4, 0), (1, 3, 2, 4)) - del x53 - x55 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x55 += einsum(x52, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - x55 += einsum(x54, (0, 1, 2, 3), (0, 1, 2, 3)) - del x54 - x56 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x56 += einsum(t2.aaaa, (0, 1, 2, 3), x55, (1, 4, 3, 5), (0, 4, 2, 5)) * 2.0 - del x55 - x57 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x57 += einsum(x0, (0, 1, 2), (0, 1, 2)) - x57 += einsum(x2, (0, 1, 2), (0, 1, 2)) * -1.0 - del x2 - x58 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x58 += einsum(v.aaa.xov, (0, 1, 2), x57, (3, 4, 0), (1, 3, 2, 4)) - del x57 - x59 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x59 += einsum(x51, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x51 - x59 += einsum(x56, (0, 1, 2, 3), (0, 1, 2, 3)) - del x56 - x59 += einsum(x58, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x58 - t2new_aaaa += einsum(x59, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new_aaaa += einsum(x59, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new_aaaa += einsum(x59, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - t2new_aaaa += einsum(x59, (0, 1, 2, 3), (1, 0, 3, 2)) - del x59 - x60 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x60 += einsum(v.aaa.xoo, (0, 1, 2), v.aaa.xoo, (0, 3, 4), (1, 3, 4, 2)) - x60 += einsum(t2.aaaa, (0, 1, 2, 3), x33, (4, 5, 2, 3), (5, 0, 4, 1)) - t2new_aaaa += einsum(t2.aaaa, (0, 1, 2, 3), x60, (0, 4, 1, 5), (4, 5, 2, 3)) * -2.0 - del x60 - x61 = np.zeros((nvir[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) - x61 += einsum(v.aaa.xvv, (0, 1, 2), v.abb.xvv, (0, 3, 4), (1, 2, 3, 4)) - t2new_abab += einsum(t2.abab, (0, 1, 2, 3), x61, (4, 2, 5, 3), (0, 1, 4, 5)) - del x61 - x62 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x62 += einsum(v.abb.xoo, (0, 1, 2), v.aaa.xvv, (0, 3, 4), (1, 2, 3, 4)) - t2new_abab += einsum(t2.abab, (0, 1, 2, 3), x62, (4, 1, 5, 2), (0, 4, 5, 3)) * -1.0 - del x62 - x63 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x63 += einsum(v.abb.xoo, (0, 1, 2), v.abb.xvv, (0, 3, 4), (1, 2, 3, 4)) - x64 = np.zeros((nocc[1], nvir[1], naux), dtype=types[float]) - x64 += einsum(v.abb.xov, (0, 1, 2), (1, 2, 0)) - x64 += einsum(x22, (0, 1, 2), (0, 1, 2)) - x64 += einsum(x23, (0, 1, 2), (0, 1, 2)) * 2.0 - x65 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x65 += einsum(x63, (0, 1, 2, 3), (1, 0, 3, 2)) * -0.5 - x65 += einsum(t2.bbbb, (0, 1, 2, 3), x37, (1, 4, 5, 3), (4, 0, 5, 2)) * -1.0 - x65 += einsum(v.abb.xov, (0, 1, 2), x64, (3, 4, 0), (1, 3, 2, 4)) * 0.5 - del x64 - t2new_abab += einsum(t2.abab, (0, 1, 2, 3), x65, (1, 4, 3, 5), (0, 4, 2, 5)) * 2.0 - del x65 - x66 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x66 += einsum(v.aaa.xov, (0, 1, 2), (1, 2, 0)) - x66 += einsum(x1, (0, 1, 2), (0, 1, 2)) * 2.0 - x67 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x67 += einsum(x52, (0, 1, 2, 3), (1, 0, 3, 2)) - del x52 - x67 += einsum(t2.aaaa, (0, 1, 2, 3), x33, (1, 4, 5, 3), (4, 0, 5, 2)) * 2.0 - del x33 - x67 += einsum(v.aaa.xov, (0, 1, 2), x66, (3, 4, 0), (1, 3, 2, 4)) * -1.0 - del x66 - t2new_abab += einsum(t2.abab, (0, 1, 2, 3), x67, (0, 4, 2, 5), (4, 1, 5, 3)) * -1.0 - del x67 - x68 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x68 += einsum(v.aaa.xov, (0, 1, 2), v.abb.xov, (0, 3, 4), (1, 3, 2, 4)) - x69 = np.zeros((nocc[0], nocc[0], nvir[1], nvir[1]), dtype=types[float]) - x69 += einsum(v.aaa.xoo, (0, 1, 2), v.abb.xvv, (0, 3, 4), (1, 2, 3, 4)) - x69 += einsum(t2.abab, (0, 1, 2, 3), x68, (4, 1, 2, 5), (4, 0, 5, 3)) * -1.0 - t2new_abab += einsum(t2.abab, (0, 1, 2, 3), x69, (0, 4, 3, 5), (4, 1, 2, 5)) * -1.0 - del x69 - x70 = np.zeros((nocc[0], nvir[0], naux), dtype=types[float]) - x70 += einsum(v.aaa.xov, (0, 1, 2), (1, 2, 0)) - x70 += einsum(x0, (0, 1, 2), (0, 1, 2)) * -1.0 - del x0 - x70 += einsum(x50, (0, 1, 2), (0, 1, 2)) - del x50 - x70 += einsum(x1, (0, 1, 2), (0, 1, 2)) * 2.0 - del x1 - t2new_abab += einsum(v.abb.xov, (0, 1, 2), x70, (3, 4, 0), (3, 1, 4, 2)) - del x70 - x71 = np.zeros((nocc[1], nvir[1], naux), dtype=types[float]) - x71 += einsum(t1.bb, (0, 1), v.abb.xvv, (2, 3, 1), (0, 3, 2)) - x72 = np.zeros((nocc[1], nvir[1], naux), dtype=types[float]) - x72 += einsum(x21, (0, 1, 2), (0, 1, 2)) * -1.0 - del x21 - x72 += einsum(x71, (0, 1, 2), (0, 1, 2)) - x72 += einsum(x23, (0, 1, 2), (0, 1, 2)) * 2.0 - t2new_abab += einsum(v.aaa.xov, (0, 1, 2), x72, (3, 4, 0), (1, 3, 2, 4)) - del x72 - x73 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x73 += einsum(f.bb.vv, (0, 1), (0, 1)) * -0.5 - x73 += einsum(v.abb.xov, (0, 1, 2), x29, (1, 3, 0), (2, 3)) * 0.5 - t2new_abab += einsum(x73, (0, 1), t2.abab, (2, 3, 4, 0), (2, 3, 4, 1)) * -2.0 - del x73 - x74 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x74 += einsum(f.aa.vv, (0, 1), (0, 1)) * -0.5 - x74 += einsum(x41, (0, 1), (0, 1)) - del x41 - t2new_abab += einsum(x74, (0, 1), t2.abab, (2, 3, 0, 4), (2, 3, 1, 4)) * -2.0 - del x74 - x75 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) - x75 += einsum(v.aaa.xoo, (0, 1, 2), v.abb.xoo, (0, 3, 4), (1, 2, 3, 4)) - x75 += einsum(t2.abab, (0, 1, 2, 3), x68, (4, 5, 2, 3), (4, 0, 5, 1)) - del x68 - t2new_abab += einsum(t2.abab, (0, 1, 2, 3), x75, (0, 4, 1, 5), (4, 5, 2, 3)) - del x75 - x76 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x76 += einsum(f.aa.oo, (0, 1), (0, 1)) * 0.5 - x76 += einsum(x47, (0, 1), (0, 1)) - del x47 - t2new_abab += einsum(x76, (0, 1), t2.abab, (0, 2, 3, 4), (1, 2, 3, 4)) * -2.0 - del x76 - x77 = np.zeros((nvir[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x77 += einsum(v.abb.xvv, (0, 1, 2), v.abb.xvv, (0, 3, 4), (1, 3, 4, 2)) - t2new_bbbb = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - t2new_bbbb += einsum(t2.bbbb, (0, 1, 2, 3), x77, (4, 3, 5, 2), (0, 1, 4, 5)) * 2.0 - del x77 - x78 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x78 += einsum(v.abb.xov, (0, 1, 2), x71, (3, 4, 0), (3, 1, 2, 4)) - del x71 - x79 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x79 += einsum(t2.bbbb, (0, 1, 2, 3), x63, (4, 1, 5, 3), (0, 4, 2, 5)) - del x63 - x80 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x80 += einsum(x22, (0, 1, 2), x23, (3, 4, 2), (0, 3, 1, 4)) - del x23, x22 - x81 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x81 += einsum(v.abb.xov, (0, 1, 2), x24, (3, 4, 0), (1, 3, 2, 4)) * 2.0 - del x24 - x82 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x82 += einsum(x78, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x78 - x82 += einsum(x79, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - del x79 - x82 += einsum(x80, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x80 - x82 += einsum(x81, (0, 1, 2, 3), (1, 0, 3, 2)) - del x81 - t2new_bbbb += einsum(x82, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new_bbbb += einsum(x82, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new_bbbb += einsum(x82, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - t2new_bbbb += einsum(x82, (0, 1, 2, 3), (1, 0, 3, 2)) - del x82 - x83 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x83 += einsum(f.bb.oo, (0, 1), t2.bbbb, (2, 1, 3, 4), (0, 2, 3, 4)) - x84 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x84 += einsum(x30, (0, 1), t2.bbbb, (2, 0, 3, 4), (2, 1, 3, 4)) * -2.0 - del x30 - x85 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x85 += einsum(x83, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - del x83 - x85 += einsum(x84, (0, 1, 2, 3), (0, 1, 3, 2)) - del x84 - t2new_bbbb += einsum(x85, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_bbbb += einsum(x85, (0, 1, 2, 3), (1, 0, 2, 3)) - del x85 - x86 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x86 += einsum(x37, (0, 1, 2, 3), (1, 0, 2, 3)) - x86 += einsum(x37, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - x87 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x87 += einsum(t2.bbbb, (0, 1, 2, 3), x86, (1, 4, 3, 5), (0, 4, 2, 5)) - del x86 - x88 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x88 += einsum(t2.bbbb, (0, 1, 2, 3), x87, (4, 1, 5, 3), (0, 4, 2, 5)) * -4.0 - del x87 - x89 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x89 += einsum(v.abb.xov, (0, 1, 2), x29, (1, 3, 0), (2, 3)) - del x29 - x90 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x90 += einsum(x89, (0, 1), t2.bbbb, (2, 3, 4, 0), (2, 3, 4, 1)) * -2.0 - del x89 - x91 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x91 += einsum(x88, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x88 - x91 += einsum(x90, (0, 1, 2, 3), (1, 0, 2, 3)) - del x90 - t2new_bbbb += einsum(x91, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_bbbb += einsum(x91, (0, 1, 2, 3), (0, 1, 3, 2)) - del x91 - x92 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x92 += einsum(f.bb.vv, (0, 1), t2.bbbb, (2, 3, 4, 1), (2, 3, 0, 4)) - x93 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - x93 += einsum(t2.abab, (0, 1, 2, 3), x34, (0, 4, 2, 5), (4, 1, 5, 3)) - del x34 - x94 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x94 += einsum(t2.abab, (0, 1, 2, 3), x93, (0, 4, 2, 5), (1, 4, 3, 5)) * -1.0 - del x93 - x95 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x95 += einsum(x92, (0, 1, 2, 3), (1, 0, 2, 3)) * -2.0 - del x92 - x95 += einsum(x37, (0, 1, 2, 3), (1, 0, 2, 3)) - x95 += einsum(x94, (0, 1, 2, 3), (1, 0, 2, 3)) - del x94 - t2new_bbbb += einsum(x95, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_bbbb += einsum(x95, (0, 1, 2, 3), (0, 1, 3, 2)) - del x95 - x96 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x96 += einsum(v.abb.xoo, (0, 1, 2), v.abb.xoo, (0, 3, 4), (1, 3, 4, 2)) - x96 += einsum(t2.bbbb, (0, 1, 2, 3), x37, (4, 5, 2, 3), (5, 0, 4, 1)) - del x37 - t2new_bbbb += einsum(t2.bbbb, (0, 1, 2, 3), x96, (0, 4, 1, 5), (4, 5, 2, 3)) * -2.0 - del x96 - - t1new.aa = t1new_aa - t1new.bb = t1new_bb - t2new.aaaa = t2new_aaaa - t2new.abab = t2new_abab - t2new.bbbb = t2new_bbbb - - return {"t1new": t1new, "t2new": t2new} - diff --git a/ebcc/codegen/UMP2.py b/ebcc/codegen/UMP2.py deleted file mode 100644 index e278c5ca..00000000 --- a/ebcc/codegen/UMP2.py +++ /dev/null @@ -1,15 +0,0 @@ -# Code generated for ebcc. - -from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, direct_sum, Namespace -from ebcc.precision import types - -def energy(f=None, v=None, nocc=None, nvir=None, t2=None, **kwargs): - # energy - e_mp = 0 - e_mp += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (0, 2, 1, 3), ()) - e_mp += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 1, 3), ()) - e_mp += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (0, 2, 1, 3), ()) - - return e_mp - diff --git a/ebcc/codegen/UMP3.py b/ebcc/codegen/UMP3.py deleted file mode 100644 index fca384bb..00000000 --- a/ebcc/codegen/UMP3.py +++ /dev/null @@ -1,56 +0,0 @@ -# Code generated for ebcc. - -from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, direct_sum, Namespace -from ebcc.precision import types - -def energy(f=None, v=None, nocc=None, nvir=None, t2=None, **kwargs): - # energy - x0 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x0 += einsum(t2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 5, 2, 3), (0, 4, 5, 1)) - e_mp = 0 - e_mp += einsum(v.bbbb.oooo, (0, 1, 2, 3), x0, (0, 1, 3, 2), ()) - del x0 - x1 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x1 += einsum(t2.abab, (0, 1, 2, 3), t2.abab, (4, 5, 2, 3), (1, 5, 0, 4)) - e_mp += einsum(v.aabb.oooo, (0, 1, 2, 3), x1, (3, 2, 0, 1), ()) - del x1 - x2 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x2 += einsum(t2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 5, 2, 3), (0, 4, 5, 1)) - e_mp += einsum(v.aaaa.oooo, (0, 1, 2, 3), x2, (1, 2, 0, 3), ()) * -1.0 - del x2 - x3 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x3 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) - x3 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x4 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x4 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) - x4 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x5 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x5 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) - x5 += einsum(t2.bbbb, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (0, 2, 4, 5)) * 4.0 - x5 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.vvoo, (4, 2, 5, 1), (5, 3, 0, 4)) * -1.0 - x5 += einsum(t2.aaaa, (0, 1, 2, 3), v.aabb.ovov, (1, 3, 4, 5), (4, 5, 0, 2)) * 4.0 - x5 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.oovv, (4, 0, 5, 3), (1, 5, 4, 2)) * -1.0 - x5 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.vvvv, (4, 2, 5, 3), (1, 5, 0, 4)) - x5 += einsum(t2.abab, (0, 1, 2, 3), x3, (1, 4, 3, 5), (4, 5, 0, 2)) * -1.0 - del x3 - x5 += einsum(t2.abab, (0, 1, 2, 3), x4, (0, 4, 2, 5), (1, 3, 4, 5)) * -1.0 - e_mp += einsum(t2.abab, (0, 1, 2, 3), x5, (1, 3, 0, 2), ()) - del x5 - x6 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x6 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x6 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.vvvv, (4, 3, 5, 2), (0, 1, 4, 5)) * -1.0 - x6 += einsum(t2.aaaa, (0, 1, 2, 3), x4, (1, 4, 3, 5), (4, 0, 5, 2)) * -4.0 - del x4 - e_mp += einsum(t2.aaaa, (0, 1, 2, 3), x6, (1, 0, 2, 3), ()) * -1.0 - del x6 - x7 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x7 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x7 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.oovv, (4, 1, 5, 3), (4, 0, 2, 5)) * 4.0 - x7 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 5, 1, 3), (0, 4, 5, 2)) * -4.0 - x7 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.vvvv, (4, 2, 5, 3), (0, 1, 4, 5)) - e_mp += einsum(t2.bbbb, (0, 1, 2, 3), x7, (0, 1, 3, 2), ()) * -1.0 - del x7 - - return e_mp - diff --git a/ebcc/codegen/UQCISD.py b/ebcc/codegen/UQCISD.py deleted file mode 100644 index 32cc7195..00000000 --- a/ebcc/codegen/UQCISD.py +++ /dev/null @@ -1,373 +0,0 @@ -# Code generated for ebcc. - -from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, Namespace -from ebcc.precision import types - -def energy(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, **kwargs): - # energy - e_cc = 0 - e_cc += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (0, 3, 1, 2), ()) * -1.0 - e_cc += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 1, 3), ()) - e_cc += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (0, 2, 1, 3), ()) - - return e_cc - -def update_amps(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, **kwargs): - t1new = Namespace() - t2new = Namespace() - - # T amplitudes - t1new_aa = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - t1new_aa += einsum(t2.abab, (0, 1, 2, 3), v.aabb.vvov, (4, 2, 1, 3), (0, 4)) - t1new_aa += einsum(f.aa.vv, (0, 1), t1.aa, (2, 1), (2, 0)) - t1new_aa += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovvv, (1, 3, 4, 2), (0, 4)) * 2.0 - t1new_bb = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - t1new_bb += einsum(f.bb.vv, (0, 1), t1.bb, (2, 1), (2, 0)) - t1new_bb += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovvv, (0, 2, 4, 3), (1, 4)) - t1new_bb += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovvv, (1, 2, 4, 3), (0, 4)) * -2.0 - t2new_aaaa = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - t2new_aaaa += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.vvvv, (4, 3, 5, 2), (0, 1, 4, 5)) * -2.0 - t2new_abab = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - t2new_abab += einsum(t1.bb, (0, 1), v.aabb.ovvv, (2, 3, 4, 1), (2, 0, 3, 4)) - t2new_abab += einsum(t1.aa, (0, 1), v.aabb.ooov, (2, 0, 3, 4), (2, 3, 1, 4)) * -1.0 - t2new_abab += einsum(t2.abab, (0, 1, 2, 3), v.aabb.vvvv, (4, 2, 5, 3), (0, 1, 4, 5)) - t2new_abab += einsum(v.aabb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - t2new_abab += einsum(t1.aa, (0, 1), v.aabb.vvov, (2, 1, 3, 4), (0, 3, 2, 4)) - t2new_abab += einsum(t2.abab, (0, 1, 2, 3), v.aabb.vvoo, (4, 2, 5, 1), (0, 5, 4, 3)) * -1.0 - t2new_abab += einsum(t1.bb, (0, 1), v.aabb.ovoo, (2, 3, 4, 0), (2, 4, 3, 1)) * -1.0 - t2new_bbbb = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - t2new_bbbb += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.vvvv, (4, 3, 5, 2), (0, 1, 4, 5)) * -2.0 - x0 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x0 += einsum(t1.bb, (0, 1), v.aabb.ovov, (2, 3, 0, 1), (2, 3)) - t1new_aa += einsum(x0, (0, 1), (0, 1)) - x1 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x1 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) - x1 += einsum(t1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) - t1new_aa += einsum(t2.aaaa, (0, 1, 2, 3), x1, (4, 0, 1, 3), (4, 2)) * 2.0 - del x1 - x2 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x2 += einsum(v.aabb.ooov, (0, 1, 2, 3), (2, 3, 0, 1)) - x2 += einsum(t1.aa, (0, 1), v.aabb.ovov, (2, 1, 3, 4), (3, 4, 2, 0)) - t1new_aa += einsum(t2.abab, (0, 1, 2, 3), x2, (1, 3, 0, 4), (4, 2)) * -1.0 - del x2 - x3 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x3 += einsum(t1.aa, (0, 1), v.aabb.ovov, (0, 1, 2, 3), (2, 3)) - t1new_bb += einsum(x3, (0, 1), (0, 1)) - x4 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x4 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x4 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x5 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x5 += einsum(t1.bb, (0, 1), x4, (0, 2, 3, 1), (2, 3)) - x6 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x6 += einsum(f.bb.ov, (0, 1), (0, 1)) - x6 += einsum(x3, (0, 1), (0, 1)) - del x3 - x6 += einsum(x5, (0, 1), (0, 1)) * -1.0 - del x5 - t1new_aa += einsum(x6, (0, 1), t2.abab, (2, 0, 3, 1), (2, 3)) - t1new_bb += einsum(x6, (0, 1), t2.bbbb, (2, 0, 3, 1), (2, 3)) * 2.0 - del x6 - x7 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x7 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x7 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x8 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x8 += einsum(t1.aa, (0, 1), x7, (0, 2, 3, 1), (2, 3)) - x9 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x9 += einsum(f.aa.ov, (0, 1), (0, 1)) - x9 += einsum(x0, (0, 1), (0, 1)) - del x0 - x9 += einsum(x8, (0, 1), (0, 1)) * -1.0 - del x8 - t1new_aa += einsum(x9, (0, 1), t2.aaaa, (2, 0, 3, 1), (2, 3)) * 2.0 - t1new_bb += einsum(x9, (0, 1), t2.abab, (0, 2, 1, 3), (2, 3)) - del x9 - x10 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x10 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) - x10 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - t1new_aa += einsum(t1.aa, (0, 1), x10, (0, 2, 1, 3), (2, 3)) * -1.0 - x11 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x11 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 1, 3), (0, 4)) - x12 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x12 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 3, 1, 2), (0, 4)) * -1.0 - x13 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x13 += einsum(f.aa.oo, (0, 1), (0, 1)) * 0.5 - x13 += einsum(x11, (0, 1), (1, 0)) * 0.5 - x13 += einsum(x12, (0, 1), (1, 0)) - t1new_aa += einsum(t1.aa, (0, 1), x13, (0, 2), (2, 1)) * -2.0 - t2new_abab += einsum(x13, (0, 1), t2.abab, (0, 2, 3, 4), (1, 2, 3, 4)) * -2.0 - del x13 - x14 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x14 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) - x14 += einsum(t1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) - t1new_bb += einsum(t2.bbbb, (0, 1, 2, 3), x14, (4, 1, 0, 3), (4, 2)) * -2.0 - del x14 - x15 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x15 += einsum(v.aabb.ovoo, (0, 1, 2, 3), (2, 3, 0, 1)) - x15 += einsum(t1.bb, (0, 1), v.aabb.ovov, (2, 3, 4, 1), (4, 0, 2, 3)) - t1new_bb += einsum(t2.abab, (0, 1, 2, 3), x15, (1, 4, 0, 2), (4, 3)) * -1.0 - del x15 - x16 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x16 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) - x16 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - t1new_bb += einsum(t1.bb, (0, 1), x16, (0, 2, 1, 3), (2, 3)) * -1.0 - del x16 - x17 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x17 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 3, 1, 2), (0, 4)) * -1.0 - x18 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x18 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 3), (1, 4)) - x19 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x19 += einsum(f.bb.oo, (0, 1), (0, 1)) - x19 += einsum(x17, (0, 1), (1, 0)) * 2.0 - x19 += einsum(x18, (0, 1), (1, 0)) - t1new_bb += einsum(t1.bb, (0, 1), x19, (0, 2), (2, 1)) * -1.0 - t2new_abab += einsum(x19, (0, 1), t2.abab, (2, 0, 3, 4), (2, 1, 3, 4)) * -1.0 - del x19 - x20 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x20 += einsum(t1.aa, (0, 1), v.aaaa.ooov, (2, 0, 3, 4), (2, 3, 1, 4)) - x21 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x21 += einsum(t1.aa, (0, 1), v.aaaa.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) - x22 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x22 += einsum(t2.aaaa, (0, 1, 2, 3), v.aabb.ovov, (1, 3, 4, 5), (4, 5, 0, 2)) - x23 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x23 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) - x23 += einsum(x22, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x22 - x24 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x24 += einsum(t2.abab, (0, 1, 2, 3), x23, (1, 3, 4, 5), (0, 4, 2, 5)) - del x23 - x25 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x25 += einsum(t2.aaaa, (0, 1, 2, 3), x10, (1, 4, 3, 5), (0, 4, 2, 5)) * 2.0 - del x10 - x26 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x26 += einsum(x20, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x20 - x26 += einsum(x21, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x21 - x26 += einsum(x24, (0, 1, 2, 3), (0, 1, 2, 3)) - del x24 - x26 += einsum(x25, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x25 - t2new_aaaa += einsum(x26, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new_aaaa += einsum(x26, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new_aaaa += einsum(x26, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - t2new_aaaa += einsum(x26, (0, 1, 2, 3), (1, 0, 3, 2)) - del x26 - x27 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x27 += einsum(f.aa.vv, (0, 1), t2.aaaa, (2, 3, 4, 1), (2, 3, 0, 4)) - x28 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x28 += einsum(t2.abab, (0, 1, 2, 3), x4, (1, 4, 5, 3), (4, 5, 0, 2)) - x29 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x29 += einsum(t2.abab, (0, 1, 2, 3), x28, (1, 3, 4, 5), (0, 4, 2, 5)) * -1.0 - del x28 - x30 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x30 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x30 += einsum(x27, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 - del x27 - x30 += einsum(x29, (0, 1, 2, 3), (0, 1, 2, 3)) - del x29 - t2new_aaaa += einsum(x30, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new_aaaa += einsum(x30, (0, 1, 2, 3), (0, 1, 2, 3)) - del x30 - x31 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x31 += einsum(f.aa.oo, (0, 1), t2.aaaa, (2, 1, 3, 4), (0, 2, 3, 4)) - x32 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x32 += einsum(x11, (0, 1), (0, 1)) - del x11 - x32 += einsum(x12, (0, 1), (0, 1)) * 2.0 - del x12 - x33 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x33 += einsum(x32, (0, 1), t2.aaaa, (2, 1, 3, 4), (2, 0, 3, 4)) * -2.0 - del x32 - x34 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x34 += einsum(x31, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - del x31 - x34 += einsum(x33, (0, 1, 2, 3), (0, 1, 3, 2)) - del x33 - t2new_aaaa += einsum(x34, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_aaaa += einsum(x34, (0, 1, 2, 3), (1, 0, 2, 3)) - del x34 - x35 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x35 += einsum(t2.aaaa, (0, 1, 2, 3), x7, (1, 4, 5, 3), (0, 4, 2, 5)) - x36 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x36 += einsum(t2.aaaa, (0, 1, 2, 3), x35, (4, 1, 5, 3), (0, 4, 2, 5)) * -4.0 - del x35 - x37 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x37 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 4, 1, 3), (2, 4)) - x38 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x38 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (0, 3, 1, 4), (2, 4)) * -1.0 - x39 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x39 += einsum(x37, (0, 1), (0, 1)) - x39 += einsum(x38, (0, 1), (0, 1)) * 2.0 - x40 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x40 += einsum(x39, (0, 1), t2.aaaa, (2, 3, 4, 1), (2, 3, 4, 0)) * -2.0 - del x39 - x41 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x41 += einsum(x36, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x36 - x41 += einsum(x40, (0, 1, 2, 3), (1, 0, 2, 3)) - del x40 - t2new_aaaa += einsum(x41, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_aaaa += einsum(x41, (0, 1, 2, 3), (0, 1, 3, 2)) - del x41 - x42 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x42 += einsum(v.aaaa.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x42 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 3, 5, 2), (4, 0, 5, 1)) * -1.0 - t2new_aaaa += einsum(t2.aaaa, (0, 1, 2, 3), x42, (0, 4, 1, 5), (4, 5, 2, 3)) * 2.0 - del x42 - x43 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x43 += einsum(t2.bbbb, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (0, 2, 4, 5)) - t2new_abab += einsum(x43, (0, 1, 2, 3), (2, 0, 3, 1)) * 2.0 - x44 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x44 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x44 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x45 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x45 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x45 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x45 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (4, 0, 5, 2)) - x45 += einsum(t2.aaaa, (0, 1, 2, 3), x44, (1, 4, 3, 5), (4, 0, 5, 2)) * -2.0 - del x44 - t2new_abab += einsum(t2.abab, (0, 1, 2, 3), x45, (0, 4, 2, 5), (4, 1, 5, 3)) - del x45 - x46 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x46 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x46 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x47 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x47 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) - x47 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x47 += einsum(t2.bbbb, (0, 1, 2, 3), x46, (1, 4, 5, 3), (4, 0, 5, 2)) * -2.0 - del x46 - t2new_abab += einsum(t2.abab, (0, 1, 2, 3), x47, (1, 4, 3, 5), (0, 4, 2, 5)) * -1.0 - del x47 - x48 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x48 += einsum(v.aabb.oovv, (0, 1, 2, 3), (2, 3, 0, 1)) - x48 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 1, 5), (5, 3, 4, 0)) * -1.0 - t2new_abab += einsum(t2.abab, (0, 1, 2, 3), x48, (3, 4, 0, 5), (5, 1, 2, 4)) * -1.0 - del x48 - x49 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x49 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) * 0.5 - x49 += einsum(x43, (0, 1, 2, 3), (0, 1, 2, 3)) - del x43 - t2new_abab += einsum(t2.aaaa, (0, 1, 2, 3), x49, (4, 5, 1, 3), (0, 4, 2, 5)) * 4.0 - del x49 - x50 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x50 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (0, 4, 1, 3), (2, 4)) - x51 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x51 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 1, 4), (3, 4)) - x52 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x52 += einsum(f.bb.vv, (0, 1), (0, 1)) * -1.0 - x52 += einsum(x50, (0, 1), (1, 0)) * 2.0 - x52 += einsum(x51, (0, 1), (1, 0)) - t2new_abab += einsum(x52, (0, 1), t2.abab, (2, 3, 4, 0), (2, 3, 4, 1)) * -1.0 - del x52 - x53 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x53 += einsum(f.aa.vv, (0, 1), (0, 1)) * -0.5 - x53 += einsum(x37, (0, 1), (1, 0)) * 0.5 - del x37 - x53 += einsum(x38, (0, 1), (1, 0)) - del x38 - t2new_abab += einsum(x53, (0, 1), t2.abab, (2, 3, 0, 4), (2, 3, 1, 4)) * -2.0 - del x53 - x54 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x54 += einsum(v.aabb.oooo, (0, 1, 2, 3), (2, 3, 0, 1)) - x54 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 5, 3), (5, 1, 4, 0)) - t2new_abab += einsum(t2.abab, (0, 1, 2, 3), x54, (1, 4, 0, 5), (5, 4, 2, 3)) - del x54 - x55 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x55 += einsum(t1.bb, (0, 1), v.bbbb.ooov, (2, 0, 3, 4), (2, 3, 1, 4)) - x56 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x56 += einsum(t1.bb, (0, 1), v.bbbb.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) - x57 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x57 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 5), (1, 4, 3, 5)) - x58 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x58 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x58 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x58 += einsum(x57, (0, 1, 2, 3), (1, 0, 3, 2)) - x59 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x59 += einsum(t2.bbbb, (0, 1, 2, 3), x58, (1, 4, 3, 5), (0, 4, 2, 5)) * 2.0 - del x58 - x60 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x60 += einsum(x55, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x55 - x60 += einsum(x56, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x56 - x60 += einsum(x57, (0, 1, 2, 3), (0, 1, 2, 3)) - del x57 - x60 += einsum(x59, (0, 1, 2, 3), (0, 1, 2, 3)) - del x59 - t2new_bbbb += einsum(x60, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new_bbbb += einsum(x60, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new_bbbb += einsum(x60, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - t2new_bbbb += einsum(x60, (0, 1, 2, 3), (1, 0, 3, 2)) - del x60 - x61 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x61 += einsum(f.bb.vv, (0, 1), t2.bbbb, (2, 3, 4, 1), (2, 3, 0, 4)) - x62 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x62 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x62 += einsum(x61, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 - del x61 - t2new_bbbb += einsum(x62, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new_bbbb += einsum(x62, (0, 1, 2, 3), (0, 1, 2, 3)) - del x62 - x63 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x63 += einsum(f.bb.oo, (0, 1), t2.bbbb, (2, 1, 3, 4), (0, 2, 3, 4)) - x64 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x64 += einsum(x17, (0, 1), (0, 1)) - del x17 - x64 += einsum(x18, (0, 1), (0, 1)) * 0.5 - del x18 - x65 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x65 += einsum(x64, (0, 1), t2.bbbb, (2, 1, 3, 4), (2, 0, 3, 4)) * -4.0 - del x64 - x66 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x66 += einsum(x63, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - del x63 - x66 += einsum(x65, (0, 1, 2, 3), (0, 1, 3, 2)) - del x65 - t2new_bbbb += einsum(x66, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_bbbb += einsum(x66, (0, 1, 2, 3), (1, 0, 2, 3)) - del x66 - x67 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x67 += einsum(t2.bbbb, (0, 1, 2, 3), x4, (1, 4, 5, 3), (4, 0, 5, 2)) - del x4 - x68 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x68 += einsum(t2.bbbb, (0, 1, 2, 3), x67, (1, 4, 3, 5), (0, 4, 2, 5)) * -4.0 - del x67 - x69 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x69 += einsum(t2.abab, (0, 1, 2, 3), x7, (0, 4, 5, 2), (1, 3, 4, 5)) - del x7 - x70 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x70 += einsum(t2.abab, (0, 1, 2, 3), x69, (4, 5, 0, 2), (1, 4, 3, 5)) * -1.0 - del x69 - x71 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x71 += einsum(x50, (0, 1), (0, 1)) - del x50 - x71 += einsum(x51, (0, 1), (0, 1)) * 0.5 - del x51 - x72 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x72 += einsum(x71, (0, 1), t2.bbbb, (2, 3, 4, 1), (2, 3, 4, 0)) * -4.0 - del x71 - x73 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x73 += einsum(x68, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x68 - x73 += einsum(x70, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x70 - x73 += einsum(x72, (0, 1, 2, 3), (1, 0, 2, 3)) - del x72 - t2new_bbbb += einsum(x73, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_bbbb += einsum(x73, (0, 1, 2, 3), (0, 1, 3, 2)) - del x73 - x74 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x74 += einsum(v.bbbb.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x74 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 3, 5, 2), (4, 0, 1, 5)) * -1.0 - t2new_bbbb += einsum(t2.bbbb, (0, 1, 2, 3), x74, (0, 4, 5, 1), (5, 4, 2, 3)) * -2.0 - del x74 - - t1new.aa = t1new_aa - t1new.bb = t1new_bb - t2new.aaaa = t2new_aaaa - t2new.abab = t2new_abab - t2new.bbbb = t2new_bbbb - - return {"t1new": t1new, "t2new": t2new} - From c66fb7b65d2ffeec605df10e132c93ab2a199dd9 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Sun, 25 Feb 2024 16:14:18 +0000 Subject: [PATCH 002/168] Working on new bootstrapping scripts --- ebcc/codegen/bootstrap_CC2.py | 306 +++++++++++++++++++++++++++++++ ebcc/codegen/bootstrap_common.py | 239 ++++++++++++++++++++++++ 2 files changed, 545 insertions(+) create mode 100644 ebcc/codegen/bootstrap_CC2.py create mode 100644 ebcc/codegen/bootstrap_common.py diff --git a/ebcc/codegen/bootstrap_CC2.py b/ebcc/codegen/bootstrap_CC2.py new file mode 100644 index 00000000..8742db1b --- /dev/null +++ b/ebcc/codegen/bootstrap_CC2.py @@ -0,0 +1,306 @@ +""" +Generate the CC2 code. +""" + +import sys +import pdaggerq +from ebcc.codegen.bootstrap_common import * + +from albert.qc._pdaggerq import import_from_pdaggerq +from albert.canon import canonicalise_indices +from albert.tensor import Tensor + +# Get the spin case +spin = sys.argv[1] + +# Set up the code generators +code_generators = { + "einsum": EinsumCodeGen( + stdout=open(f"{spin[0].upper()}CC2.py", "w"), + einsum_func="einsum", + einsum_kwargs={}, + name_generator=name_generators[spin], + ), +} + +# Write the preamble +for codegen in code_generators.values(): + codegen.preamble() + +# Set up pdaggerq +pq = pdaggerq.pq_helper("fermi") +pq.set_print_level(0) + +# Get the energy contractions in pdaggerq format +pq.clear() +pq.set_left_operators([["1"]]) +pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) +pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) +pq.simplify() +terms = pq.fully_contracted_strings() +terms = remove_hf_energy(terms) + +# Get the energy in albert format +expr = import_from_pdaggerq(terms) +expr = canonicalise_indices(expr, *default_indices.values()) +expr = spin_integrate(expr, spin) +output = tuple(Tensor(name="e_cc") for _ in range(len(expr))) +output, expr = optimise(output, expr, spin, strategy="exhaust") +returns = (Tensor(name="e_cc"),) + +# Generate the energy code +for codegen in code_generators.values(): + codegen( + "energy", + returns, + output, + expr, + ) + +# Get the T1 contractions in pdaggerq format +pq.clear() +pq.set_left_operators([["e1(i,a)"]]) +pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) +pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) +pq.simplify() +terms_t1 = pq.fully_contracted_strings() + +# Get the T2 contractions in pdaggerq format +pq.clear() +pq.set_left_operators([["e2(i,j,b,a)"]]) +pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) +pq.add_st_operator(1.0, ["v"], ["t1"]) +pq.simplify() +terms_t2 = pq.fully_contracted_strings() + +# Get the T amplitudes in albert format +terms = [terms_t1, terms_t2] +expr = [] +output = [] +returns = [] +for n in range(2): + for index_spins in get_amplitude_spins(n + 1, spin): + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) + expr_n = canonicalise_indices(expr_n, *default_indices.values()) + expr_n = spin_integrate(expr_n, spin) + output_n = get_t_amplitude_outputs(expr_n, f"t{n+1}new") + returns_n = (Tensor(*default_indices["o"][:n+1], *default_indices["v"][:n+1], name=f"t{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) +output, expr = optimise(output, expr, spin, strategy="exhaust") + +# Generate the T amplitude code +for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "preamble": "t1new = Namespace()\nt2new = Namespace()" if spin == "uhf" else None, + "as_dict": True, + } + else: + kwargs = {} + codegen( + "update_amps", + returns, + output, + expr, + **kwargs, + ) + +# Get the L1 contractions in pdaggerq format +pq.clear() +pq.set_left_operators([["1"]]) +pq.set_right_operators([["1"]]) +pq.add_st_operator(1.0, ["f", "e1(a,i)"], ["t1", "t2"]) +pq.add_st_operator(1.0, ["v", "e1(a,i)"], ["t1", "t2"]) +pq.set_left_operators([["l1"], ["l2"]]) +pq.add_st_operator( 1.0, ["f", "e1(a,i)"], ["t1", "t2"]) +pq.add_st_operator( 1.0, ["v", "e1(a,i)"], ["t1", "t2"]) +pq.add_st_operator(-1.0, ["e1(a,i)", "f"], ["t1", "t2"]) +pq.add_st_operator(-1.0, ["e1(a,i)", "v"], ["t1", "t2"]) +pq.simplify() +terms_l1 = pq.fully_contracted_strings() + +# Get the L2 contractions in pdaggerq format +pq.clear() +pq.set_left_operators([["1"]]) +pq.set_right_operators([["1"]]) +pq.add_st_operator(1.0, ["f", "e2(a,b,j,i)"], ["t1", "t2"]) +pq.add_st_operator(1.0, ["v", "e2(a,b,j,i)"], ["t1"]) +pq.set_left_operators([["l1"], ["l2"]]) +pq.add_st_operator( 1.0, ["f", "e2(a,b,j,i)"], ["t1", "t2"]) +pq.add_st_operator( 1.0, ["v", "e2(a,b,j,i)"], ["t1"]) +pq.add_st_operator(-1.0, ["e2(a,b,j,i)", "f"], ["t1", "t2"]) +pq.add_st_operator(-1.0, ["e2(a,b,j,i)", "v"], ["t1"]) +pq.simplify() +terms_l2 = pq.fully_contracted_strings() + +# Get the L amplitudes in albert format +terms = [terms_l1, terms_l2] +expr = [] +output = [] +returns = [] +for n in range(2): + for index_spins in get_amplitude_spins(n + 1, spin): + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) + expr_n = canonicalise_indices(expr_n, *default_indices.values()) + expr_n = spin_integrate(expr_n, spin) + output_n = get_l_amplitude_outputs(expr_n, f"l{n+1}new") + returns_n = (Tensor(*default_indices["v"][:n+1], *default_indices["o"][:n+1], name=f"l{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) +output, expr = optimise(output, expr, spin, strategy="opt") + +# Generate the L amplitude code +for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "preamble": "l1new = Namespace()\nl2new = Namespace()" if spin == "uhf" else None, + "as_dict": True, + } + else: + kwargs = {} + codegen( + "update_lams", + returns, + output, + expr, + **kwargs, + ) + +# Get the 1RDM contractions in pdaggerq format +terms = {} +for sectors, indices in [("oo", "ij"), ("ov", "ia"), ("vo", "ai"), ("vv", "ab")]: + pq.clear() + pq.set_left_operators([["1"], ["l1"], ["l2"]]) + pq.add_st_operator(1.0, [f"e1({','.join(indices)})"], ["t1", "t2"]) + pq.simplify() + terms[sectors, indices] = pq.fully_contracted_strings() + +# Get the 1RDM in albert format +expr = [] +output = [] +returns = [] +for sectors, indices in [("oo", "ij"), ("ov", "ia"), ("vo", "ai"), ("vv", "ab")]: + for index_spins in get_density_spins(1, spin): + expr_n = import_from_pdaggerq(terms[sectors, indices], index_spins=index_spins) + expr_n = canonicalise_indices(expr_n, *default_indices.values()) + expr_n = spin_integrate(expr_n, spin) + output_n = get_density_outputs(expr_n, f"d", indices) + returns_n = (Tensor(*indices, name=f"d"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) +output, expr = optimise(output, expr, spin, strategy="exhaust") + +# Generate the 1RDM code +for name, codegen in code_generators.items(): + if name == "einsum": + preamble = "rdm1 = Namespace()" + if spin == "uhf": + preamble += "\nrdm1.aa = Namespace()" + preamble += "\nrdm1.bb = Namespace()" + preamble += "\ndelta = Namespace(" + preamble += "\n aa=Namespace(oo=np.eye(t1.aa.shape[0]), vv=np.eye(t1.aa.shape[1]))," + preamble += "\n bb=Namespace(oo=np.eye(t1.bb.shape[0]), vv=np.eye(t1.bb.shape[1]))," + preamble += "\n)" + postamble = "rdm1.aa = np.block([[rdm1.aa.oo, rdm1.aa.ov], [rdm1.aa.vo, rdm1.aa.vv]])" + postamble += "\nrdm1.bb = np.block([[rdm1.bb.oo, rdm1.bb.ov], [rdm1.bb.vo, rdm1.bb.vv]])" + else: + preamble += "\ndelta = Namespace(" + preamble += "\n oo=np.eye(t1.shape[0])," + preamble += "\n vv=np.eye(t1.shape[1])," + preamble += "\n)" + postamble = "rdm1 = np.block([[rdm1.oo, rdm1.ov], [rdm1.vo, rdm1.vv]])" + kwargs = { + "preamble": preamble, + "postamble": postamble, + } + else: + kwargs = {} + codegen( + "make_rdm1_f", + returns, + output, + expr, + **kwargs, + ) + +# Get the 2RDM contractions in pdaggerq format +terms = {} +for sectors, indices in [ + ("oooo", "ijkl"), ("ooov", "ijka"), ("oovo", "ijak"), ("ovoo", "iajk"), + ("vooo", "aijk"), ("oovv", "ijab"), ("ovov", "iajb"), ("ovvo", "iabj"), + ("voov", "aijb"), ("vovo", "aibj"), ("vvoo", "abij"), ("ovvv", "iabc"), + ("vovv", "aibc"), ("vvov", "abic"), ("vvvo", "abci"), ("vvvv", "abcd"), +]: + pq.clear() + pq.set_left_operators([["1"], ["l1"], ["l2"]]) + pq.add_st_operator(1.0, [f"e2({indices[0]},{indices[1]},{indices[3]},{indices[2]})"], ["t1", "t2"]) + pq.simplify() + terms[sectors, indices] = pq.fully_contracted_strings() + +# Get the 2RDM in albert format +expr = [] +output = [] +returns = [] +for sectors, indices in [ + ("oooo", "ijkl"), ("ooov", "ijka"), ("oovo", "ijak"), ("ovoo", "iajk"), + ("vooo", "aijk"), ("oovv", "ijab"), ("ovov", "iajb"), ("ovvo", "iabj"), + ("voov", "aijb"), ("vovo", "aibj"), ("vvoo", "abij"), ("ovvv", "iabc"), + ("vovv", "aibc"), ("vvov", "abic"), ("vvvo", "abci"), ("vvvv", "abcd"), +]: + for index_spins in get_density_spins(2, spin): + expr_n = import_from_pdaggerq(terms[sectors, indices], index_spins=index_spins) + expr_n = canonicalise_indices(expr_n, *default_indices.values()) + expr_n = spin_integrate(expr_n, spin) + output_n = get_density_outputs(expr_n, f"Γ", indices) + returns_n = (Tensor(*indices, name=f"Γ"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) +output, expr = optimise(output, expr, spin, strategy="exhaust") + +# Generate the 2RDM code +for name, codegen in code_generators.items(): + if name == "einsum": + preamble = "rdm2 = Namespace()" + if spin == "uhf": + preamable += "\nrdm2.aaaa = Namespace()" + preamable += "\nrdm2.abab = Namespace()" + preamable += "\nrdm2.bbbb = Namespace()" + preamble += "\ndelta = Namespace(" + preamble += "\n aa=Namespace(oo=np.eye(t1.aa.shape[0]), vv=np.eye(t1.aa.shape[1]))," + preamble += "\n bb=Namespace(oo=np.eye(t1.bb.shape[0]), vv=np.eye(t1.bb.shape[1]))," + preamble += "\n)" + postamble = "rdm2.aaaa = pack_2e(%s)" % ", ".join(f"rdm2.aaaa.{perm}" for perm in ov_2e) + postamble += "\nrdm2.abab = pack_2e(%s)" % ", ".join(f"rdm2.abab.{perm}" for perm in ov_2e) + postamble += "\nrdm2.bbbb = pack_2e(%s)" % ", ".join(f"rdm2.bbbb.{perm}" for perm in ov_2e) + postamble += "\nrdm2 = Namespace(" + postamble += "\n aaaa=rdm2.aaaa.swapaxes(1, 2)," + postamble += "\n aabb=rdm2.abab.swapaxes(1, 2)," + postamble += "\n bbbb=rdm2.bbbb.swapaxes(1, 2)," + postamble += "\n)" + else: + preamble += "\ndelta = Namespace(" + preamble += "\n oo=np.eye(t1.shape[0])," + preamble += "\n vv=np.eye(t1.shape[1])," + preamble += "\n)" + postamble = "rdm2 = pack_2e(%s)" % ", ".join(f"rdm2.{perm}" for perm in ov_2e) + postamble += "\nrdm2 = rdm2.swapaxes(1, 2)" + kwargs = { + "preamble": preamble, + "postamble": postamble, + } + codegen( + "make_rdm2_f", + returns, + output, + expr, + **kwargs, + ) + +for codegen in code_generators.values(): + codegen.postamble() + codegen.stdout.close() diff --git a/ebcc/codegen/bootstrap_common.py b/ebcc/codegen/bootstrap_common.py new file mode 100644 index 00000000..42e27c84 --- /dev/null +++ b/ebcc/codegen/bootstrap_common.py @@ -0,0 +1,239 @@ +"""Common functionality for the bootstrap scripts for `ebcc`. +""" + +import itertools + +from pdaggerq.config import OCC_INDICES, VIRT_INDICES + +from albert.tensor import Tensor +from albert.codegen.einsum import EinsumCodeGen as _EinsumCodeGen +from albert.qc.spin import generalised_to_unrestricted, generalised_to_restricted +from albert.qc.uhf import SpinIndex +from albert.optim._gristmill import optimise as _optimise + + +ov_2e = ["oooo", "ooov", "oovo", "ovoo", "vooo", "oovv", "ovov", "ovvo", "voov", "vovo", "vvoo", "ovvv", "vovv", "vvov", "vvvo", "vvvv"] +ov_1e = ["oo", "ov", "vo", "vv"] + + +default_indices = { + "o": OCC_INDICES, + "v": VIRT_INDICES, +} + + +default_sectors = {i: k for k, v in default_indices.items() for i in v} + + +default_sizes = { + "o": 4, + "v": 20, +} + + +class EinsumCodeGen(_EinsumCodeGen): + """Code generator for the bootstrap scripts for `ebcc`. + """ + + def preamble(self): + preamble = "from ebcc import numpy as np\n" + preamble += "from ebcc.util import pack_2e, einsum, Namespace" + super().preamble(preamble) + + def ignore_argument(self, arg): + """ + Return `True` if a potential function argument should be + ignored. + """ + return "tmp" in arg.name or arg.name == "δ" + + +def name_generator_rhf(tensor, add_spaces=True): + """Generate names for the RHF case. + """ + if tensor.name in ("f", "v", "d", "Γ", "δ"): + if tensor.name == "d": + name = "rdm1" + elif tensor.name == "Γ": + name = "rdm2" + elif tensor.name == "δ": + name = "delta" + else: + name = tensor.name + if add_spaces: + spaces = [default_sectors[i] for i in tensor.indices] + return f"{name}.{''.join(spaces)}" + else: + return name + else: + return tensor.name + + +def name_generator_uhf(tensor, add_spaces=True): + """Generate names for the UHF case. + """ + if tensor.name in ("f", "v", "d", "Γ", "δ"): + if tensor.name == "d": + name = "rdm1" + elif tensor.name == "Γ": + name = "rdm2" + elif tensor.name == "δ": + name = "delta" + else: + name = tensor.name + if add_spaces: + spins = ["a" if i.spin == "α" else "b" for i in tensor.indices] + spaces = [default_sectors[i.index] for i in tensor.indices] + return f"{name}.{''.join(spins)}.{''.join(spaces)}" + else: + return name + elif tensor.name in ("t1", "t2", "t1new", "t2new", "l1", "l2", "l1new", "l2new"): + if add_spaces: + spins = ["a" if i.spin == "α" else "b" for i in tensor.indices] + return f"{tensor.name}.{''.join(spins)}" + else: + return tensor.name + else: + return tensor.name + + +name_generators = { + "rhf": name_generator_rhf, + "uhf": name_generator_uhf, + "ghf": name_generator_rhf, +} + + +def spin_integrate(expr, spin): + """Perform the spin integration. + """ + if spin == "rhf": + return (generalised_to_restricted(expr),) + elif spin == "uhf": + return generalised_to_unrestricted(expr) + else: + return (expr,) + + +def remove_hf_energy(terms): + """Remove the HF energy from the terms. + """ + terms = [term for term in terms if set(term) != {"+1.00000000000000", "f(i,i)"}] + terms = [term for term in terms if set(term) != {"-0.50000000000000", ""}] + return terms + + +def optimise(outputs, exprs, spin, strategy="greedy", sizes=None): + """Optimise the expressions. + """ + + if sizes is None: + sizes = default_sizes + + if spin in ("rhf", "ghf"): + index_sizes = {} + for sector, indices in default_indices.items(): + index_sizes.update({index: sizes[sector] for index in indices}) + index_groups = list(default_indices.values()) + else: + index_sizes = {} + for sector, indices in default_indices.items(): + for s in ("α", "β"): + index_sizes.update({SpinIndex(index, s): sizes[sector] for index in indices}) + index_groups = list(default_indices.values()) + index_groups = [ + *[SpinIndex(index, "α") for index in indices], + *[SpinIndex(index, "β") for index in indices], + ] + + opt = _optimise( + *zip(outputs, exprs), + index_groups=index_groups, + sizes=index_sizes, + strategy=strategy, + ) + + return zip(*opt) + + +def get_t_amplitude_outputs(exprs, name): + """Get the outputs for the T amplitude code. + """ + + def index_sort(x): + if not isinstance(x, SpinIndex): + return (default_indices["o"] + default_indices["v"]).index(x) + else: + return (x.index in default_indices["v"], x.spin, x.index) + + return [Tensor(*sorted(e.external_indices, key=index_sort), name=name) for e in exprs] + + +def get_l_amplitude_outputs(exprs, name): + """Get the outputs for the L amplitude code. + """ + + def index_sort(x): + if not isinstance(x, SpinIndex): + return (default_indices["v"] + default_indices["o"]).index(x) + else: + return (x.index in default_indices["o"], x.spin, x.index) + + return [Tensor(*sorted(e.external_indices, key=index_sort), name=name) for e in exprs] + + +def get_density_outputs(exprs, name, indices): + """Get the outputs for the density code. + """ + to_index = lambda i: i if not isinstance(i, SpinIndex) else i.index + tensors = [] + for expr in exprs: + external_indices = sorted(expr.external_indices, key=lambda i: indices.index(to_index(i))) + tensors.append(Tensor(*external_indices, name=name)) + return tensors + + +def get_amplitude_spins(n, spin): + """Get the spin cases for the amplitudes. + """ + + if spin == "rhf": + case = {} + for i in range(n): + case[default_indices["o"][i]] = ["α", "β"][i % 2] + case[default_indices["v"][i]] = ["α", "β"][i % 2] + cases = [case] + elif spin == "uhf": + cases = [] + for spins in sorted(set([set(sorted(x)) for x in itertools.permutations(["α", "β"], n)])): + case = {} + for i, s in enumerate(spins): + case[default_indices["o"][i]] = s + case[default_indices["v"][i]] = s + cases.append(case) + elif spin == "ghf": + cases = [None] + + return cases + + +def get_density_spins(n, spin): + """Get the spin cases for the density. + """ + + assert n in (1, 2) # hardcoded, TODO + + if spin == "rhf": + if n == 1: + cases = [("α", "α")] + elif n == 2: + cases = [("α", "α", "α", "α"), ("α", "β", "α", "β"), ("β", "β", "β", "β")] + elif spin == "uhf": + if n == 1: + cases = [("α", "α"), ("β", "β")] + elif n == 2: + cases = [("α", "α", "α", "α"), ("α", "β", "α", "β"), ("β", "α", "β", "α"), ("β", "β", "β", "β")] + elif spin == "ghf": + cases = [None] + + return cases From 1159fb8b709142c3936158649cea855e0eb08c1d Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Mon, 26 Feb 2024 20:21:44 +0000 Subject: [PATCH 003/168] CC2 bootstrap script working --- ebcc/codegen/bootstrap_CC2.py | 500 +++++++++++++++---------------- ebcc/codegen/bootstrap_common.py | 150 +++++++--- 2 files changed, 357 insertions(+), 293 deletions(-) diff --git a/ebcc/codegen/bootstrap_CC2.py b/ebcc/codegen/bootstrap_CC2.py index 8742db1b..64079746 100644 --- a/ebcc/codegen/bootstrap_CC2.py +++ b/ebcc/codegen/bootstrap_CC2.py @@ -3,13 +3,13 @@ """ import sys -import pdaggerq -from ebcc.codegen.bootstrap_common import * +import pdaggerq from albert.qc._pdaggerq import import_from_pdaggerq -from albert.canon import canonicalise_indices from albert.tensor import Tensor +from ebcc.codegen.bootstrap_common import * + # Get the spin case spin = sys.argv[1] @@ -31,275 +31,265 @@ pq = pdaggerq.pq_helper("fermi") pq.set_print_level(0) -# Get the energy contractions in pdaggerq format -pq.clear() -pq.set_left_operators([["1"]]) -pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) -pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) -pq.simplify() -terms = pq.fully_contracted_strings() -terms = remove_hf_energy(terms) - -# Get the energy in albert format -expr = import_from_pdaggerq(terms) -expr = canonicalise_indices(expr, *default_indices.values()) -expr = spin_integrate(expr, spin) -output = tuple(Tensor(name="e_cc") for _ in range(len(expr))) -output, expr = optimise(output, expr, spin, strategy="exhaust") -returns = (Tensor(name="e_cc"),) - -# Generate the energy code -for codegen in code_generators.values(): - codegen( - "energy", - returns, - output, - expr, - ) - -# Get the T1 contractions in pdaggerq format -pq.clear() -pq.set_left_operators([["e1(i,a)"]]) -pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) -pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) -pq.simplify() -terms_t1 = pq.fully_contracted_strings() +with Stopwatch("Energy"): + # Get the energy contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["1"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) + pq.simplify() + terms = pq.fully_contracted_strings() + terms = remove_hf_energy(terms) -# Get the T2 contractions in pdaggerq format -pq.clear() -pq.set_left_operators([["e2(i,j,b,a)"]]) -pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) -pq.add_st_operator(1.0, ["v"], ["t1"]) -pq.simplify() -terms_t2 = pq.fully_contracted_strings() + # Get the energy in albert format + expr = import_from_pdaggerq(terms) + expr = spin_integrate(expr, spin) + output = tuple(Tensor(name="e_cc") for _ in range(len(expr))) + output, expr = optimise(output, expr, spin, strategy="exhaust") + returns = (Tensor(name="e_cc"),) -# Get the T amplitudes in albert format -terms = [terms_t1, terms_t2] -expr = [] -output = [] -returns = [] -for n in range(2): - for index_spins in get_amplitude_spins(n + 1, spin): - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) - expr_n = canonicalise_indices(expr_n, *default_indices.values()) - expr_n = spin_integrate(expr_n, spin) - output_n = get_t_amplitude_outputs(expr_n, f"t{n+1}new") - returns_n = (Tensor(*default_indices["o"][:n+1], *default_indices["v"][:n+1], name=f"t{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) -output, expr = optimise(output, expr, spin, strategy="exhaust") + # Generate the energy code + for codegen in code_generators.values(): + codegen( + "energy", + returns, + output, + expr, + ) -# Generate the T amplitude code -for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "preamble": "t1new = Namespace()\nt2new = Namespace()" if spin == "uhf" else None, - "as_dict": True, - } - else: - kwargs = {} - codegen( - "update_amps", - returns, - output, - expr, - **kwargs, - ) +with Stopwatch("T amplitudes"): + # Get the T1 contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["e1(i,a)"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) + pq.simplify() + terms_t1 = pq.fully_contracted_strings() -# Get the L1 contractions in pdaggerq format -pq.clear() -pq.set_left_operators([["1"]]) -pq.set_right_operators([["1"]]) -pq.add_st_operator(1.0, ["f", "e1(a,i)"], ["t1", "t2"]) -pq.add_st_operator(1.0, ["v", "e1(a,i)"], ["t1", "t2"]) -pq.set_left_operators([["l1"], ["l2"]]) -pq.add_st_operator( 1.0, ["f", "e1(a,i)"], ["t1", "t2"]) -pq.add_st_operator( 1.0, ["v", "e1(a,i)"], ["t1", "t2"]) -pq.add_st_operator(-1.0, ["e1(a,i)", "f"], ["t1", "t2"]) -pq.add_st_operator(-1.0, ["e1(a,i)", "v"], ["t1", "t2"]) -pq.simplify() -terms_l1 = pq.fully_contracted_strings() + # Get the T2 contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["e2(i,j,b,a)"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t1"]) + pq.simplify() + terms_t2 = pq.fully_contracted_strings() -# Get the L2 contractions in pdaggerq format -pq.clear() -pq.set_left_operators([["1"]]) -pq.set_right_operators([["1"]]) -pq.add_st_operator(1.0, ["f", "e2(a,b,j,i)"], ["t1", "t2"]) -pq.add_st_operator(1.0, ["v", "e2(a,b,j,i)"], ["t1"]) -pq.set_left_operators([["l1"], ["l2"]]) -pq.add_st_operator( 1.0, ["f", "e2(a,b,j,i)"], ["t1", "t2"]) -pq.add_st_operator( 1.0, ["v", "e2(a,b,j,i)"], ["t1"]) -pq.add_st_operator(-1.0, ["e2(a,b,j,i)", "f"], ["t1", "t2"]) -pq.add_st_operator(-1.0, ["e2(a,b,j,i)", "v"], ["t1"]) -pq.simplify() -terms_l2 = pq.fully_contracted_strings() + # Get the T amplitudes in albert format + terms = [terms_t1, terms_t2] + expr = [] + output = [] + returns = [] + for n in range(2): + for index_spins in get_amplitude_spins(n + 1, spin): + indices = default_indices["o"][: n + 1] + default_indices["v"][: n + 1] + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + output_n = get_t_amplitude_outputs(expr_n, f"t{n+1}new") + returns_n = (Tensor(*indices, name=f"t{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + output, expr = optimise(output, expr, spin, strategy="exhaust") -# Get the L amplitudes in albert format -terms = [terms_l1, terms_l2] -expr = [] -output = [] -returns = [] -for n in range(2): - for index_spins in get_amplitude_spins(n + 1, spin): - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) - expr_n = canonicalise_indices(expr_n, *default_indices.values()) - expr_n = spin_integrate(expr_n, spin) - output_n = get_l_amplitude_outputs(expr_n, f"l{n+1}new") - returns_n = (Tensor(*default_indices["v"][:n+1], *default_indices["o"][:n+1], name=f"l{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) -output, expr = optimise(output, expr, spin, strategy="opt") + # Generate the T amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "preamble": "t1new = Namespace()\nt2new = Namespace()" if spin == "uhf" else None, + "as_dict": True, + } + else: + kwargs = {} + codegen( + "update_amps", + returns, + output, + expr, + **kwargs, + ) -# Generate the L amplitude code -for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "preamble": "l1new = Namespace()\nl2new = Namespace()" if spin == "uhf" else None, - "as_dict": True, - } - else: - kwargs = {} - codegen( - "update_lams", - returns, - output, - expr, - **kwargs, - ) +with Stopwatch("L amplitudes"): + # Get the L1 contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["1"]]) + pq.set_right_operators([["1"]]) + pq.add_st_operator(1.0, ["f", "e1(a,i)"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v", "e1(a,i)"], ["t1", "t2"]) + pq.set_left_operators([["l1"], ["l2"]]) + pq.add_st_operator(1.0, ["f", "e1(a,i)"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v", "e1(a,i)"], ["t1", "t2"]) + pq.add_st_operator(-1.0, ["e1(a,i)", "f"], ["t1", "t2"]) + pq.add_st_operator(-1.0, ["e1(a,i)", "v"], ["t1", "t2"]) + pq.simplify() + terms_l1 = pq.fully_contracted_strings() -# Get the 1RDM contractions in pdaggerq format -terms = {} -for sectors, indices in [("oo", "ij"), ("ov", "ia"), ("vo", "ai"), ("vv", "ab")]: + # Get the L2 contractions in pdaggerq format pq.clear() - pq.set_left_operators([["1"], ["l1"], ["l2"]]) - pq.add_st_operator(1.0, [f"e1({','.join(indices)})"], ["t1", "t2"]) + pq.set_left_operators([["1"]]) + pq.set_right_operators([["1"]]) + pq.add_st_operator(1.0, ["f", "e2(a,b,j,i)"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v", "e2(a,b,j,i)"], ["t1"]) + pq.set_left_operators([["l1"], ["l2"]]) + pq.add_st_operator(1.0, ["f", "e2(a,b,j,i)"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v", "e2(a,b,j,i)"], ["t1"]) + pq.add_st_operator(-1.0, ["e2(a,b,j,i)", "f"], ["t1", "t2"]) + pq.add_st_operator(-1.0, ["e2(a,b,j,i)", "v"], ["t1"]) pq.simplify() - terms[sectors, indices] = pq.fully_contracted_strings() + terms_l2 = pq.fully_contracted_strings() -# Get the 1RDM in albert format -expr = [] -output = [] -returns = [] -for sectors, indices in [("oo", "ij"), ("ov", "ia"), ("vo", "ai"), ("vv", "ab")]: - for index_spins in get_density_spins(1, spin): - expr_n = import_from_pdaggerq(terms[sectors, indices], index_spins=index_spins) - expr_n = canonicalise_indices(expr_n, *default_indices.values()) - expr_n = spin_integrate(expr_n, spin) - output_n = get_density_outputs(expr_n, f"d", indices) - returns_n = (Tensor(*indices, name=f"d"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) -output, expr = optimise(output, expr, spin, strategy="exhaust") + # Get the L amplitudes in albert format + terms = [terms_l1, terms_l2] + expr = [] + output = [] + returns = [] + for n in range(2): + for index_spins in get_amplitude_spins(n + 1, spin): + indices = default_indices["v"][: n + 1] + default_indices["o"][: n + 1] + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + output_n = get_l_amplitude_outputs(expr_n, f"l{n+1}new") + returns_n = (Tensor(*indices, name=f"l{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + output, expr = optimise(output, expr, spin, strategy="opt") -# Generate the 1RDM code -for name, codegen in code_generators.items(): - if name == "einsum": - preamble = "rdm1 = Namespace()" - if spin == "uhf": - preamble += "\nrdm1.aa = Namespace()" - preamble += "\nrdm1.bb = Namespace()" - preamble += "\ndelta = Namespace(" - preamble += "\n aa=Namespace(oo=np.eye(t1.aa.shape[0]), vv=np.eye(t1.aa.shape[1]))," - preamble += "\n bb=Namespace(oo=np.eye(t1.bb.shape[0]), vv=np.eye(t1.bb.shape[1]))," - preamble += "\n)" - postamble = "rdm1.aa = np.block([[rdm1.aa.oo, rdm1.aa.ov], [rdm1.aa.vo, rdm1.aa.vv]])" - postamble += "\nrdm1.bb = np.block([[rdm1.bb.oo, rdm1.bb.ov], [rdm1.bb.vo, rdm1.bb.vv]])" + # Generate the L amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "preamble": "l1new = Namespace()\nl2new = Namespace()" if spin == "uhf" else None, + "as_dict": True, + } else: - preamble += "\ndelta = Namespace(" - preamble += "\n oo=np.eye(t1.shape[0])," - preamble += "\n vv=np.eye(t1.shape[1])," - preamble += "\n)" - postamble = "rdm1 = np.block([[rdm1.oo, rdm1.ov], [rdm1.vo, rdm1.vv]])" - kwargs = { - "preamble": preamble, - "postamble": postamble, - } - else: - kwargs = {} - codegen( - "make_rdm1_f", - returns, - output, - expr, - **kwargs, - ) + kwargs = {} + codegen( + "update_lams", + returns, + output, + expr, + **kwargs, + ) -# Get the 2RDM contractions in pdaggerq format -terms = {} -for sectors, indices in [ - ("oooo", "ijkl"), ("ooov", "ijka"), ("oovo", "ijak"), ("ovoo", "iajk"), - ("vooo", "aijk"), ("oovv", "ijab"), ("ovov", "iajb"), ("ovvo", "iabj"), - ("voov", "aijb"), ("vovo", "aibj"), ("vvoo", "abij"), ("ovvv", "iabc"), - ("vovv", "aibc"), ("vvov", "abic"), ("vvvo", "abci"), ("vvvv", "abcd"), -]: - pq.clear() - pq.set_left_operators([["1"], ["l1"], ["l2"]]) - pq.add_st_operator(1.0, [f"e2({indices[0]},{indices[1]},{indices[3]},{indices[2]})"], ["t1", "t2"]) - pq.simplify() - terms[sectors, indices] = pq.fully_contracted_strings() +with Stopwatch("1RDM"): + # Get the 1RDM contractions in pdaggerq format + terms = {} + for sectors, indices in [("oo", "ij"), ("ov", "ia"), ("vo", "ai"), ("vv", "ab")]: + pq.clear() + pq.set_left_operators([["1"], ["l1"], ["l2"]]) + pq.add_st_operator(1.0, [f"e1({','.join(indices)})"], ["t1", "t2"]) + pq.simplify() + terms[sectors, indices] = pq.fully_contracted_strings() -# Get the 2RDM in albert format -expr = [] -output = [] -returns = [] -for sectors, indices in [ - ("oooo", "ijkl"), ("ooov", "ijka"), ("oovo", "ijak"), ("ovoo", "iajk"), - ("vooo", "aijk"), ("oovv", "ijab"), ("ovov", "iajb"), ("ovvo", "iabj"), - ("voov", "aijb"), ("vovo", "aibj"), ("vvoo", "abij"), ("ovvv", "iabc"), - ("vovv", "aibc"), ("vvov", "abic"), ("vvvo", "abci"), ("vvvv", "abcd"), -]: - for index_spins in get_density_spins(2, spin): - expr_n = import_from_pdaggerq(terms[sectors, indices], index_spins=index_spins) - expr_n = canonicalise_indices(expr_n, *default_indices.values()) - expr_n = spin_integrate(expr_n, spin) - output_n = get_density_outputs(expr_n, f"Γ", indices) - returns_n = (Tensor(*indices, name=f"Γ"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) -output, expr = optimise(output, expr, spin, strategy="exhaust") + # Get the 1RDM in albert format + expr = [] + output = [] + returns = [] + for sectors, indices in [("oo", "ij"), ("ov", "ia"), ("vo", "ai"), ("vv", "ab")]: + for index_spins in get_density_spins(1, spin, indices): + expr_n = import_from_pdaggerq(terms[sectors, indices], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + if spin == "uhf": + expr_n = tuple(e * 0.5 for e in expr_n) + output_n = get_density_outputs(expr_n, f"d", indices) + returns_n = (Tensor(*indices, name=f"d"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + output, expr = optimise(output, expr, spin, strategy="exhaust") -# Generate the 2RDM code -for name, codegen in code_generators.items(): - if name == "einsum": - preamble = "rdm2 = Namespace()" - if spin == "uhf": - preamable += "\nrdm2.aaaa = Namespace()" - preamable += "\nrdm2.abab = Namespace()" - preamable += "\nrdm2.bbbb = Namespace()" - preamble += "\ndelta = Namespace(" - preamble += "\n aa=Namespace(oo=np.eye(t1.aa.shape[0]), vv=np.eye(t1.aa.shape[1]))," - preamble += "\n bb=Namespace(oo=np.eye(t1.bb.shape[0]), vv=np.eye(t1.bb.shape[1]))," - preamble += "\n)" - postamble = "rdm2.aaaa = pack_2e(%s)" % ", ".join(f"rdm2.aaaa.{perm}" for perm in ov_2e) - postamble += "\nrdm2.abab = pack_2e(%s)" % ", ".join(f"rdm2.abab.{perm}" for perm in ov_2e) - postamble += "\nrdm2.bbbb = pack_2e(%s)" % ", ".join(f"rdm2.bbbb.{perm}" for perm in ov_2e) - postamble += "\nrdm2 = Namespace(" - postamble += "\n aaaa=rdm2.aaaa.swapaxes(1, 2)," - postamble += "\n aabb=rdm2.abab.swapaxes(1, 2)," - postamble += "\n bbbb=rdm2.bbbb.swapaxes(1, 2)," - postamble += "\n)" + # Generate the 1RDM code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "preamble": get_density_einsum_preamble(1, spin), + "postamble": get_density_einsum_postamble(1, spin), + } else: - preamble += "\ndelta = Namespace(" - preamble += "\n oo=np.eye(t1.shape[0])," - preamble += "\n vv=np.eye(t1.shape[1])," - preamble += "\n)" - postamble = "rdm2 = pack_2e(%s)" % ", ".join(f"rdm2.{perm}" for perm in ov_2e) - postamble += "\nrdm2 = rdm2.swapaxes(1, 2)" - kwargs = { - "preamble": preamble, - "postamble": postamble, - } - codegen( - "make_rdm2_f", - returns, - output, - expr, - **kwargs, - ) + kwargs = {} + codegen( + "make_rdm1_f", + returns, + output, + expr, + **kwargs, + ) + +with Stopwatch("2RDM"): + # Get the 2RDM contractions in pdaggerq format + terms = {} + for sectors, indices in [ + ("oooo", "ijkl"), + ("ooov", "ijka"), + ("oovo", "ijak"), + ("ovoo", "iajk"), + ("vooo", "aijk"), + ("oovv", "ijab"), + ("ovov", "iajb"), + ("ovvo", "iabj"), + ("voov", "aijb"), + ("vovo", "aibj"), + ("vvoo", "abij"), + ("ovvv", "iabc"), + ("vovv", "aibc"), + ("vvov", "abic"), + ("vvvo", "abci"), + ("vvvv", "abcd"), + ]: + pq.clear() + pq.set_left_operators([["1"], ["l1"], ["l2"]]) + pq.add_st_operator( + 1.0, [f"e2({indices[0]},{indices[1]},{indices[3]},{indices[2]})"], ["t1", "t2"] + ) + pq.simplify() + terms[sectors, indices] = pq.fully_contracted_strings() + + # Get the 2RDM in albert format + expr = [] + output = [] + returns = [] + for sectors, indices in [ + ("oooo", "ijkl"), + ("ooov", "ijka"), + ("oovo", "ijak"), + ("ovoo", "iajk"), + ("vooo", "aijk"), + ("oovv", "ijab"), + ("ovov", "iajb"), + ("ovvo", "iabj"), + ("voov", "aijb"), + ("vovo", "aibj"), + ("vvoo", "abij"), + ("ovvv", "iabc"), + ("vovv", "aibc"), + ("vvov", "abic"), + ("vvvo", "abci"), + ("vvvv", "abcd"), + ]: + for index_spins in get_density_spins(2, spin, indices): + expr_n = import_from_pdaggerq(terms[sectors, indices], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + output_n = get_density_outputs(expr_n, f"Γ", indices) + returns_n = (Tensor(*indices, name=f"Γ"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + output, expr = optimise(output, expr, spin, strategy="trav") + + # Generate the 2RDM code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "preamble": get_density_einsum_preamble(2, spin), + "postamble": get_density_einsum_postamble(2, spin), + } + codegen( + "make_rdm2_f", + returns, + output, + expr, + **kwargs, + ) for codegen in code_generators.values(): codegen.postamble() diff --git a/ebcc/codegen/bootstrap_common.py b/ebcc/codegen/bootstrap_common.py index 42e27c84..97dd7903 100644 --- a/ebcc/codegen/bootstrap_common.py +++ b/ebcc/codegen/bootstrap_common.py @@ -2,17 +2,33 @@ """ import itertools +import time -from pdaggerq.config import OCC_INDICES, VIRT_INDICES - -from albert.tensor import Tensor from albert.codegen.einsum import EinsumCodeGen as _EinsumCodeGen -from albert.qc.spin import generalised_to_unrestricted, generalised_to_restricted -from albert.qc.uhf import SpinIndex from albert.optim._gristmill import optimise as _optimise +from albert.qc.spin import generalised_to_restricted, generalised_to_unrestricted +from albert.qc.uhf import SpinIndex +from albert.tensor import Tensor +from pdaggerq.config import OCC_INDICES, VIRT_INDICES - -ov_2e = ["oooo", "ooov", "oovo", "ovoo", "vooo", "oovv", "ovov", "ovvo", "voov", "vovo", "vvoo", "ovvv", "vovv", "vvov", "vvvo", "vvvv"] +ov_2e = [ + "oooo", + "ooov", + "oovo", + "ovoo", + "vooo", + "oovv", + "ovov", + "ovvo", + "voov", + "vovo", + "vvoo", + "ovvv", + "vovv", + "vvov", + "vvvo", + "vvvv", +] ov_1e = ["oo", "ov", "vo", "vv"] @@ -32,8 +48,7 @@ class EinsumCodeGen(_EinsumCodeGen): - """Code generator for the bootstrap scripts for `ebcc`. - """ + """Code generator for the bootstrap scripts for `ebcc`.""" def preamble(self): preamble = "from ebcc import numpy as np\n" @@ -48,9 +63,23 @@ def ignore_argument(self, arg): return "tmp" in arg.name or arg.name == "δ" +class Stopwatch: + def __init__(self, name=None): + self.name = name + + def __enter__(self): + self.start = time.time() + return self + + def __exit__(self, *args): + self.end = time.time() + self.elapsed = self.end - self.start + if self.name: + print(f"{self.name}: {self.elapsed:.2f}s") + + def name_generator_rhf(tensor, add_spaces=True): - """Generate names for the RHF case. - """ + """Generate names for the RHF case.""" if tensor.name in ("f", "v", "d", "Γ", "δ"): if tensor.name == "d": name = "rdm1" @@ -70,8 +99,7 @@ def name_generator_rhf(tensor, add_spaces=True): def name_generator_uhf(tensor, add_spaces=True): - """Generate names for the UHF case. - """ + """Generate names for the UHF case.""" if tensor.name in ("f", "v", "d", "Γ", "δ"): if tensor.name == "d": name = "rdm1" @@ -105,8 +133,7 @@ def name_generator_uhf(tensor, add_spaces=True): def spin_integrate(expr, spin): - """Perform the spin integration. - """ + """Perform the spin integration.""" if spin == "rhf": return (generalised_to_restricted(expr),) elif spin == "uhf": @@ -116,16 +143,14 @@ def spin_integrate(expr, spin): def remove_hf_energy(terms): - """Remove the HF energy from the terms. - """ + """Remove the HF energy from the terms.""" terms = [term for term in terms if set(term) != {"+1.00000000000000", "f(i,i)"}] terms = [term for term in terms if set(term) != {"-0.50000000000000", ""}] return terms def optimise(outputs, exprs, spin, strategy="greedy", sizes=None): - """Optimise the expressions. - """ + """Optimise the expressions.""" if sizes is None: sizes = default_sizes @@ -140,11 +165,10 @@ def optimise(outputs, exprs, spin, strategy="greedy", sizes=None): for sector, indices in default_indices.items(): for s in ("α", "β"): index_sizes.update({SpinIndex(index, s): sizes[sector] for index in indices}) - index_groups = list(default_indices.values()) - index_groups = [ - *[SpinIndex(index, "α") for index in indices], - *[SpinIndex(index, "β") for index in indices], - ] + index_groups = [] + for indices in default_indices.values(): + for s in ("α", "β"): + index_groups.append([SpinIndex(index, s) for index in indices]) opt = _optimise( *zip(outputs, exprs), @@ -157,8 +181,7 @@ def optimise(outputs, exprs, spin, strategy="greedy", sizes=None): def get_t_amplitude_outputs(exprs, name): - """Get the outputs for the T amplitude code. - """ + """Get the outputs for the T amplitude code.""" def index_sort(x): if not isinstance(x, SpinIndex): @@ -170,8 +193,7 @@ def index_sort(x): def get_l_amplitude_outputs(exprs, name): - """Get the outputs for the L amplitude code. - """ + """Get the outputs for the L amplitude code.""" def index_sort(x): if not isinstance(x, SpinIndex): @@ -183,8 +205,7 @@ def index_sort(x): def get_density_outputs(exprs, name, indices): - """Get the outputs for the density code. - """ + """Get the outputs for the density code.""" to_index = lambda i: i if not isinstance(i, SpinIndex) else i.index tensors = [] for expr in exprs: @@ -194,8 +215,7 @@ def get_density_outputs(exprs, name, indices): def get_amplitude_spins(n, spin): - """Get the spin cases for the amplitudes. - """ + """Get the spin cases for the amplitudes.""" if spin == "rhf": case = {} @@ -205,7 +225,7 @@ def get_amplitude_spins(n, spin): cases = [case] elif spin == "uhf": cases = [] - for spins in sorted(set([set(sorted(x)) for x in itertools.permutations(["α", "β"], n)])): + for spins in itertools.combinations_with_replacement(["α", "β"], n): case = {} for i, s in enumerate(spins): case[default_indices["o"][i]] = s @@ -217,9 +237,8 @@ def get_amplitude_spins(n, spin): return cases -def get_density_spins(n, spin): - """Get the spin cases for the density. - """ +def get_density_spins(n, spin, indices): + """Get the spin cases for the density.""" assert n in (1, 2) # hardcoded, TODO @@ -227,13 +246,68 @@ def get_density_spins(n, spin): if n == 1: cases = [("α", "α")] elif n == 2: - cases = [("α", "α", "α", "α"), ("α", "β", "α", "β"), ("β", "β", "β", "β")] + cases = [ + ("α", "α", "α", "α"), + ("α", "β", "α", "β"), + ("β", "α", "β", "α"), + ("β", "β", "β", "β"), + ] + cases = [dict(zip(indices, case)) for case in cases] elif spin == "uhf": if n == 1: cases = [("α", "α"), ("β", "β")] elif n == 2: - cases = [("α", "α", "α", "α"), ("α", "β", "α", "β"), ("β", "α", "β", "α"), ("β", "β", "β", "β")] + cases = [("α", "α", "α", "α"), ("α", "β", "α", "β"), ("β", "β", "β", "β")] + cases = [dict(zip(indices, case)) for case in cases] elif spin == "ghf": cases = [None] return cases + + +def get_density_einsum_preamble(n, spin): + """Get the einsum preamble for the density.""" + preamble = "rdm1 = Namespace()" + if spin == "uhf": + for spins in itertools.combinations_with_replacement(["α", "β"], n): + preamble += f"\nrdm1.{''.join(spins)} = Namespace()" + preamble += "\ndelta = Namespace(" + preamble += "\n aa=Namespace(oo=np.eye(t1.aa.shape[0]), vv=np.eye(t1.aa.shape[1]))," + preamble += "\n bb=Namespace(oo=np.eye(t1.bb.shape[0]), vv=np.eye(t1.bb.shape[1]))," + preamble += "\n)" + else: + preamble += "\ndelta = Namespace(" + preamble += "\n oo=np.eye(t1.shape[0])," + preamble += "\n vv=np.eye(t1.shape[1])," + preamble += "\n)" + return preamble + + +def get_density_einsum_postamble(n, spin): + """Get the einsum postamble for the density.""" + # TODO hardcoded + if n == 1: + if spin == "uhf": + postamble = "rdm1.aa = np.block([[rdm1.aa.oo, rdm1.aa.ov], [rdm1.aa.vo, rdm1.aa.vv]])" + postamble += ( + "\nrdm1.bb = np.block([[rdm1.bb.oo, rdm1.bb.ov], [rdm1.bb.vo, rdm1.bb.vv]])" + ) + else: + postamble = "rdm1 = np.block([[rdm1.oo, rdm1.ov], [rdm1.vo, rdm1.vv]])" + elif n == 2: + if spin == "uhf": + postamble = "rdm2.aaaa = pack_2e(%s)" % ", ".join(f"rdm2.aaaa.{perm}" for perm in ov_2e) + postamble += "\nrdm2.abab = pack_2e(%s)" % ", ".join( + f"rdm2.abab.{perm}" for perm in ov_2e + ) + postamble += "\nrdm2.bbbb = pack_2e(%s)" % ", ".join( + f"rdm2.bbbb.{perm}" for perm in ov_2e + ) + postamble += "\nrdm2 = Namespace(" + postamble += "\n aaaa=rdm2.aaaa.swapaxes(1, 2)," + postamble += "\n aabb=rdm2.abab.swapaxes(1, 2)," + postamble += "\n bbbb=rdm2.bbbb.swapaxes(1, 2)," + postamble += "\n)" + else: + postamble = "rdm2 = pack_2e(%s)" % ", ".join(f"rdm2.{perm}" for perm in ov_2e) + postamble += "\nrdm2 = rdm2.swapaxes(1, 2)" From 762c7e19bc36030d84706922a250210f698ecc35 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Thu, 29 Feb 2024 20:41:25 +0000 Subject: [PATCH 004/168] Fixes for CC2 bootstrapping --- ebcc/codegen/bootstrap_CC2.py | 7 +- ebcc/codegen/bootstrap_common.py | 184 +++++++++++++++++++++++++------ 2 files changed, 151 insertions(+), 40 deletions(-) diff --git a/ebcc/codegen/bootstrap_CC2.py b/ebcc/codegen/bootstrap_CC2.py index 64079746..e09848af 100644 --- a/ebcc/codegen/bootstrap_CC2.py +++ b/ebcc/codegen/bootstrap_CC2.py @@ -17,9 +17,8 @@ code_generators = { "einsum": EinsumCodeGen( stdout=open(f"{spin[0].upper()}CC2.py", "w"), - einsum_func="einsum", - einsum_kwargs={}, name_generator=name_generators[spin], + spin=spin, ), } @@ -189,8 +188,8 @@ for index_spins in get_density_spins(1, spin, indices): expr_n = import_from_pdaggerq(terms[sectors, indices], index_spins=index_spins) expr_n = spin_integrate(expr_n, spin) - if spin == "uhf": - expr_n = tuple(e * 0.5 for e in expr_n) + if spin == "rhf": + expr_n = tuple(e * 2 for e in expr_n) output_n = get_density_outputs(expr_n, f"d", indices) returns_n = (Tensor(*indices, name=f"d"),) expr.extend(expr_n) diff --git a/ebcc/codegen/bootstrap_common.py b/ebcc/codegen/bootstrap_common.py index 97dd7903..d2092b9e 100644 --- a/ebcc/codegen/bootstrap_common.py +++ b/ebcc/codegen/bootstrap_common.py @@ -35,6 +35,7 @@ default_indices = { "o": OCC_INDICES, "v": VIRT_INDICES, + "b": ["x", "y", "z", "b0", "b1", "b2", "b3"], } @@ -42,14 +43,35 @@ default_sizes = { - "o": 4, - "v": 20, + "o": 200, + "v": 1000, + "b": 10, } class EinsumCodeGen(_EinsumCodeGen): """Code generator for the bootstrap scripts for `ebcc`.""" + def __init__( + self, + einsum_func="einsum", + einsum_kwargs=None, + transpose_func="{arg}.transpose({transpose})", + name_generator=None, + spin="ghf", + **kwargs, + ): + if einsum_kwargs is None: + einsum_kwargs = {"optimize": True} + super().__init__( + einsum_func=einsum_func, + einsum_kwargs=einsum_kwargs, + transpose_func=transpose_func, + name_generator=name_generator, + spin=spin, + **kwargs, + ) + def preamble(self): preamble = "from ebcc import numpy as np\n" preamble += "from ebcc.util import pack_2e, einsum, Namespace" @@ -60,7 +82,62 @@ def ignore_argument(self, arg): Return `True` if a potential function argument should be ignored. """ - return "tmp" in arg.name or arg.name == "δ" + return "tmp" in arg.name or arg.name in ("δ", "gc") + + def function_docstring(self, docstring): + """Write the function docstring.""" + if self.spin in ("rhf", "ghf"): + array_type = "array" + else: + array_type = "Namespace of arrays" + amplitude_names = [ + "t1", "t2", "t3", "l1", "l2", "l3", "s1", "s2", "ls1", "ls2", "u11", "u12", "lu11", "lu12", + ] + descriptions = { + "f": "Fock matrix.", + "v": "Electron repulsion integrals.", + "G": "One-boson Hamiltonian.", + "w": "Two-boson Hamiltonian.", + "g": "Electron-boson coupling.", + "e_cc": "Coupled cluster energy.", + "e_pert": "Perturbation energy.", + "rdm1": "One-particle reduced density matrix.", + "rdm2": "Two-particle reduced density matrix.", + "rdm1_b": "One-body reduced density matrix.", + "rdm_eb_cre": "Electron-boson coupling reduced density matrix, creation part.", + "rdm_eb_des": "Electron-boson coupling reduced density matrix, annihilation part.", + "dm_cre": "Single boson density matrix, creation part.", + "dm_des": "Single boson density matrix, annihilation part.", + **{f"{name}": f"{name.upper()} amplitudes." for name in amplitude_names}, + **{f"{name}new": f"Updated {name.upper()} residuals." for name in amplitude_names}, + } + types = { + "f": array_type, + "v": array_type, + "G": "array", + "w": "array", + "g": array_type, + "e_cc": "float", + "e_pert": "float", + "rdm1": array_type, + "rdm2": array_type, + "rdm1_b": "array", + "rdm_eb_cre": array_type, + "rdm_eb_des": array_type, + "dm_cre": "array", + "dm_des": "array", + **{f"{name}": array_type if not name.startswith("s") else "array" for name in amplitude_names}, + **{f"{name}new": array_type if not name.startswith("s") else "array" for name in amplitude_names}, + } + docstring = docstring.split("\n") + new_docstring = [] + for line in docstring: + if len(line.split()) and line.split()[0] in descriptions: + name = line.split()[0] + line = f"{name} : {types[name]}\n {descriptions[name]}" + new_docstring.append(line) + docstring = "\n".join(new_docstring) + super().function_docstring(docstring) class Stopwatch: @@ -80,7 +157,7 @@ def __exit__(self, *args): def name_generator_rhf(tensor, add_spaces=True): """Generate names for the RHF case.""" - if tensor.name in ("f", "v", "d", "Γ", "δ"): + if tensor.name in ("f", "v", "d", "Γ", "δ", "g", "gc", "rdm_eb_cre", "rdm_eb_des"): if tensor.name == "d": name = "rdm1" elif tensor.name == "Γ": @@ -100,7 +177,7 @@ def name_generator_rhf(tensor, add_spaces=True): def name_generator_uhf(tensor, add_spaces=True): """Generate names for the UHF case.""" - if tensor.name in ("f", "v", "d", "Γ", "δ"): + if tensor.name in ("f", "v", "d", "Γ", "δ", "g", "gc", "rdm_eb_cre", "rdm_eb_des"): if tensor.name == "d": name = "rdm1" elif tensor.name == "Γ": @@ -110,14 +187,14 @@ def name_generator_uhf(tensor, add_spaces=True): else: name = tensor.name if add_spaces: - spins = ["a" if i.spin == "α" else "b" for i in tensor.indices] + spins = ["a" if i.spin == "α" else "b" for i in tensor.indices if isinstance(i, SpinIndex)] spaces = [default_sectors[i.index] for i in tensor.indices] return f"{name}.{''.join(spins)}.{''.join(spaces)}" else: return name - elif tensor.name in ("t1", "t2", "t1new", "t2new", "l1", "l2", "l1new", "l2new"): + elif tensor.name in ("t1", "t2", "t1new", "t2new", "l1", "l2", "l1new", "l2new", "u11", "u11new", "u12", "u12new"): if add_spaces: - spins = ["a" if i.spin == "α" else "b" for i in tensor.indices] + spins = ["a" if i.spin == "α" else "b" for i in tensor.indices if isinstance(i, SpinIndex)] return f"{tensor.name}.{''.join(spins)}" else: return tensor.name @@ -184,10 +261,11 @@ def get_t_amplitude_outputs(exprs, name): """Get the outputs for the T amplitude code.""" def index_sort(x): - if not isinstance(x, SpinIndex): - return (default_indices["o"] + default_indices["v"]).index(x) + if isinstance(x, SpinIndex): + index, spin = x.index, x.spin else: - return (x.index in default_indices["v"], x.spin, x.index) + index, spin = x, "" + return ("bov".index(default_sectors[index]), spin, index) return [Tensor(*sorted(e.external_indices, key=index_sort), name=name) for e in exprs] @@ -196,10 +274,11 @@ def get_l_amplitude_outputs(exprs, name): """Get the outputs for the L amplitude code.""" def index_sort(x): - if not isinstance(x, SpinIndex): - return (default_indices["v"] + default_indices["o"]).index(x) + if isinstance(x, SpinIndex): + index, spin = x.index, x.spin else: - return (x.index in default_indices["o"], x.spin, x.index) + index, spin = x, "" + return ("bvo".index(default_sectors[index]), spin, index) return [Tensor(*sorted(e.external_indices, key=index_sort), name=name) for e in exprs] @@ -265,12 +344,13 @@ def get_density_spins(n, spin, indices): return cases -def get_density_einsum_preamble(n, spin): +def get_density_einsum_preamble(n, spin, name="rdm{n}"): """Get the einsum preamble for the density.""" - preamble = "rdm1 = Namespace()" + name = name.format(n=n) + preamble = f"{name} = Namespace()" if spin == "uhf": - for spins in itertools.combinations_with_replacement(["α", "β"], n): - preamble += f"\nrdm1.{''.join(spins)} = Namespace()" + for spins in itertools.combinations_with_replacement(["a", "b"], n): + preamble += f"\n{name}.{''.join(spins+spins)} = Namespace()" preamble += "\ndelta = Namespace(" preamble += "\n aa=Namespace(oo=np.eye(t1.aa.shape[0]), vv=np.eye(t1.aa.shape[1]))," preamble += "\n bb=Namespace(oo=np.eye(t1.bb.shape[0]), vv=np.eye(t1.bb.shape[1]))," @@ -283,31 +363,63 @@ def get_density_einsum_preamble(n, spin): return preamble -def get_density_einsum_postamble(n, spin): +def get_density_einsum_postamble(n, spin, name="rdm{n}", spaces=None): """Get the einsum postamble for the density.""" # TODO hardcoded + name = name.format(n=n) + if spaces is None: + if n == 1: + spaces = ["oo", "ov", "vo", "vv"] + elif n == 2: + spaces = ov_2e if n == 1: if spin == "uhf": - postamble = "rdm1.aa = np.block([[rdm1.aa.oo, rdm1.aa.ov], [rdm1.aa.vo, rdm1.aa.vv]])" - postamble += ( - "\nrdm1.bb = np.block([[rdm1.bb.oo, rdm1.bb.ov], [rdm1.bb.vo, rdm1.bb.vv]])" - ) + postamble = f"{name}.aa = np.block([[{name}.aa.{spaces[0]}, {name}.aa.{spaces[1]}], [{name}.aa.{spaces[2]}, {name}.aa.{spaces[3]}]])" + postamble += f"\n{name}.bb = np.block([[{name}.bb.{spaces[0]}, {name}.bb.{spaces[1]}], [{name}.bb.{spaces[2]}, {name}.bb.{spaces[3]}]])" else: - postamble = "rdm1 = np.block([[rdm1.oo, rdm1.ov], [rdm1.vo, rdm1.vv]])" + postamble = f"{name} = np.block([[{name}.{spaces[0]}, {name}.{spaces[1]}], [{name}.{spaces[2]}, {name}.{spaces[3]}]])" elif n == 2: if spin == "uhf": - postamble = "rdm2.aaaa = pack_2e(%s)" % ", ".join(f"rdm2.aaaa.{perm}" for perm in ov_2e) - postamble += "\nrdm2.abab = pack_2e(%s)" % ", ".join( - f"rdm2.abab.{perm}" for perm in ov_2e + postamble = f"{name}.aaaa = pack_2e(%s)" % ", ".join(f"{name}.aaaa.{perm}" for perm in spaces) + postamble += f"\n{name}.abab = pack_2e(%s)" % ", ".join( + f"{name}.abab.{perm}" for perm in spaces ) - postamble += "\nrdm2.bbbb = pack_2e(%s)" % ", ".join( - f"rdm2.bbbb.{perm}" for perm in ov_2e + postamble += f"\n{name}.bbbb = pack_2e(%s)" % ", ".join( + f"{name}.bbbb.{perm}" for perm in spaces ) - postamble += "\nrdm2 = Namespace(" - postamble += "\n aaaa=rdm2.aaaa.swapaxes(1, 2)," - postamble += "\n aabb=rdm2.abab.swapaxes(1, 2)," - postamble += "\n bbbb=rdm2.bbbb.swapaxes(1, 2)," - postamble += "\n)" + postamble += f"\n{name} = Namespace(" + postamble += f"\n aaaa={name}.aaaa.swapaxes(1, 2)," + postamble += f"\n aabb={name}.abab.swapaxes(1, 2)," + postamble += f"\n bbbb={name}.bbbb.swapaxes(1, 2)," + postamble += f"\n)" else: - postamble = "rdm2 = pack_2e(%s)" % ", ".join(f"rdm2.{perm}" for perm in ov_2e) - postamble += "\nrdm2 = rdm2.swapaxes(1, 2)" + postamble = f"{name} = pack_2e(%s)" % ", ".join(f"{name}.{perm}" for perm in spaces) + postamble += f"\n{name} = {name}.swapaxes(1, 2)" + return postamble + + +def get_boson_einsum_preamble(spin): + """Get the einsum preamble for the density.""" + if spin == "uhf": + preamble = "gc = Namespace(" + preamble += "\n aa=Namespace(" + preamble += "\n boo=g.aa.boo.transpose(0, 2, 1)," + preamble += "\n bov=g.aa.bvo.transpose(0, 2, 1)," + preamble += "\n bvo=g.aa.bov.transpose(0, 2, 1)," + preamble += "\n bvv=g.aa.bvv.transpose(0, 2, 1)," + preamble += "\n )," + preamble += "\n bb=Namespace(" + preamble += "\n boo=g.bb.boo.transpose(0, 2, 1)," + preamble += "\n bov=g.bb.bvo.transpose(0, 2, 1)," + preamble += "\n bvo=g.bb.bov.transpose(0, 2, 1)," + preamble += "\n bvv=g.bb.bvv.transpose(0, 2, 1)," + preamble += "\n )," + preamble += "\n)" + else: + preamble = "gc = Namespace(" + preamble += "\n boo=g.boo.transpose(0, 2, 1)," + preamble += "\n bov=g.bvo.transpose(0, 2, 1)," + preamble += "\n bvo=g.bov.transpose(0, 2, 1)," + preamble += "\n bvv=g.bvv.transpose(0, 2, 1)," + preamble += "\n)" + return preamble From 99f7c46a612035144645081e086ce988ddc91904 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Thu, 29 Feb 2024 20:41:38 +0000 Subject: [PATCH 005/168] Buggy boson bootstrapping script --- ebcc/codegen/bootstrap_CCSD_S_1_1.py | 599 +++++++++++++++++++++++++++ 1 file changed, 599 insertions(+) create mode 100644 ebcc/codegen/bootstrap_CCSD_S_1_1.py diff --git a/ebcc/codegen/bootstrap_CCSD_S_1_1.py b/ebcc/codegen/bootstrap_CCSD_S_1_1.py new file mode 100644 index 00000000..ffc79b26 --- /dev/null +++ b/ebcc/codegen/bootstrap_CCSD_S_1_1.py @@ -0,0 +1,599 @@ +""" +Generate the CCSD-S-1-1 code. +""" + +import sys + +from qwick.index import Idx +from qwick.operator import Tensor as WTensor +from qwick.expression import AExpression +from qwick.convenience import PE1 +from albert.qc._wick import * +from albert.qc.uhf import SpinIndex +from albert.tensor import Tensor +from albert.canon import canonicalise_indices + +from ebcc.codegen.bootstrap_common import * + +# Get the spin case +spin = sys.argv[1] + +# Set up the code generators +code_generators = { + "einsum": EinsumCodeGen( + stdout=open(f"{spin[0].upper()}CCSD_S_1_1.py", "w"), + name_generator=name_generators[spin], + spin=spin, + ), +} + +# Write the preamble +for codegen in code_generators.values(): + codegen.preamble() + +# Set up wick +rank = ("SD", "S", "S") +occs = [Idx(n, "occ") for n in range(6)] +virs = [Idx(n, "vir") for n in range(6)] +nms = [Idx(n, "nm", fermion=False) for n in range(6)] +index_dict = { + **{k: o for k, o in zip(default_indices["o"][:len(occs)], occs)}, + **{k: v for k, v in zip(default_indices["v"][:len(virs)], virs)}, + **{k: n for k, n in zip(default_indices["b"][:len(nms)], nms)}, +} + +# Set up common wick objects +with Stopwatch("Common"): + bra1e, bra2e, bra1b, bra1b1e = get_bra_spaces(rank=rank, occs=occs, virs=virs, nms=nms) + ket1e, ket2e, ket1b, ket1b1e = get_ket_spaces(rank=rank, occs=occs, virs=virs, nms=nms) + wick_h = get_hamiltonian(rank=rank) + wick_t = get_excitation_ansatz(rank=rank, occs=occs, virs=virs, nms=nms) + wick_l = get_deexcitation_ansatz(rank=rank, occs=occs, virs=virs, nms=nms) + wick_hbars = construct_hbar(wick_h, wick_t, max_commutator=4) + wick_hbar = wick_hbars[-1] + +with Stopwatch("Energy"): + # Get the energy contractions in wick format + out = apply_wick(wick_hbar) + out.resolve() + expr = AExpression(Ex=out, simplify=True) + + # Get the energy in albert format + expr = import_from_wick(expr) + expr = spin_integrate(expr, spin) + output = tuple(Tensor(name="e_cc") for _ in range(len(expr))) + output, expr = optimise(output, expr, spin, strategy="exhaust") + returns = (Tensor(name="e_cc"),) + + # Generate the energy code + for codegen in code_generators.values(): + codegen( + "energy", + returns, + output, + expr, + ) + +with Stopwatch("T amplitudes"): + # Get the T1 contractions in wick format + out = bra1e * wick_hbar + out = apply_wick(out) + out.resolve() + expr_t1 = AExpression(Ex=out, simplify=True) + + # Get the T2 contractions in wick format + out = bra2e * wick_hbar + out = apply_wick(out) + out.resolve() + expr_t2 = AExpression(Ex=out, simplify=True) + + # Get the S1 contractions in wick format + out = bra1b * wick_hbar + out = apply_wick(out) + out.resolve() + expr_s1 = AExpression(Ex=out, simplify=True) + + # Get the U11 contractions in wick format + out = bra1b1e * wick_hbar + out = apply_wick(out) + out.resolve() + expr_u11 = AExpression(Ex=out, simplify=True) + + # Get the T amplitudes in albert format + expr = [] + output = [] + returns = [] + terms = (expr_t1, expr_t2) + for n in range(2): + for index_spins in get_amplitude_spins(n + 1, spin): + indices = default_indices["o"][: n + 1] + default_indices["v"][: n + 1] + expr_n = import_from_wick(terms[n], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + output_n = get_t_amplitude_outputs(expr_n, f"t{n+1}new") + returns_n = (Tensor(*indices, name=f"t{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + + # Get the S amplitudes in albert format + terms = (expr_s1,) + for n in range(1): + indices = default_indices["b"][: n + 1] + expr_n = import_from_wick(terms[n]) + expr_n = spin_integrate(expr_n, spin) + output_n = get_t_amplitude_outputs(expr_n, f"s{n+1}new") + returns_n = (Tensor(*indices, name=f"s{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + + # Get the U amplitudes in albert format + terms = ((expr_u11,),) + for nb in range(1): + for nf in range(1): + for index_spins in get_amplitude_spins(nf + 1, spin): + indices = default_indices["b"][: nb + 1] + default_indices["o"][: nf + 1] + default_indices["v"][: nf + 1] + expr_n = import_from_wick(terms[nb][nf], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + output_n = get_t_amplitude_outputs(expr_n, f"u{nf+1}{nb+1}new") + returns_n = (Tensor(*indices, name=f"u{nf+1}{nb+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + + # Generate the T amplitude code + output, expr = optimise(output, expr, spin, strategy="trav") + for name, codegen in code_generators.items(): + if name == "einsum": + preamble = get_boson_einsum_preamble(spin) + if spin == "uhf": + preamble += "t1new = Namespace()\n" + preamble += "t2new = Namespace()\n" + preamble += "u11new = Namespace()" + kwargs = { + "preamble": preamble, + "as_dict": True, + } + else: + kwargs = {} + codegen( + "update_amps", + returns, + output, + expr, + **kwargs, + ) + +with Stopwatch("L amplitudes"): + # Get the L1 contractions in wick format: ⟨0|H̄|1e⟩ + out = wick_hbars[1] * ket1e + out = apply_wick(out) + out.resolve() + expr1 = AExpression(Ex=out) + expr1 = expr1.get_connected() + expr1.sort_tensors() + + # Get the L1 contractions in wick format: ⟨0|[L, H̄]|1e⟩ + out = wick_l * wick_hbars[3] * ket1e + out = apply_wick(out) + out.resolve() + expr2 = AExpression(Ex=out) + expr2 = expr2.get_connected() + expr2.sort_tensors() + expr_l1 = expr1 + expr2 + + # Get the L2 contractions in wick format: ⟨0|H̄|2e⟩ + out = wick_hbars[0] * ket2e + out = apply_wick(out) + out.resolve() + expr1 = AExpression(Ex=out) + expr1 = expr1.get_connected() + expr1.sort_tensors() + + # Get the L2 contractions in wick format: ⟨0|L H̄|2e⟩ + out = wick_l * wick_hbars[2] * ket2e + out = apply_wick(out) + out.resolve() + expr2 = AExpression(Ex=out) + expr2 = expr2.get_connected() + expr2.sort_tensors() + + # Get the L2 contractions in wick format: disconnected parts + p1 = PE1("occ", "vir") + out = wick_hbars[1] * p1 * wick_l * ket2e + out = apply_wick(out) + out.resolve() + expr3 = AExpression(Ex=out) + expr3.sort_tensors() + expr_l2 = expr1 + expr2 + expr3 + + # Get the LS1 contractions in wick format: ⟨0|H̄|1b⟩: + out = wick_hbars[1] * ket1b + out = apply_wick(out) + out.resolve() + expr1 = AExpression(Ex=out) + expr1 = expr1.get_connected() + expr1.sort_tensors() + + # Get the LS1 contractions in wick format: ⟨0|L H̄|1b⟩: + out = wick_l * wick_hbars[3] * ket1b + out = apply_wick(out) + out.resolve() + expr2 = AExpression(Ex=out) + expr2 = expr2.get_connected() + expr2.sort_tensors() + expr_ls1 = expr1 + expr2 + + # Get the LU11 contractions in wick format: ⟨0|H̄|1b1e⟩: + out = wick_hbars[0] * ket1b1e + out = apply_wick(out) + out.resolve() + expr1 = AExpression(Ex=out) + expr1 = expr1.get_connected() + expr1.sort_tensors() + + # Get the LU11 contractions in wick format: ⟨0|L H̄|1b1e⟩: + out = wick_l * wick_hbars[2] * ket1b1e + out = apply_wick(out) + out.resolve() + expr2 = AExpression(Ex=out) + expr2 = expr2.get_connected() + expr2.sort_tensors() + + # Get the LU11 contractions in wick format: disconnected parts, fermion projection + p1 = PE1("occ", "vir") + out = wick_hbars[1] * p1 * wick_l * ket1b1e + out = apply_wick(out) + out.resolve() + expr3 = AExpression(Ex=out) + expr3.sort_tensors() + + # Get the LU11 contractions in wick format: disconnected parts, boson projection + p1b = PB1("nm") + out = wick_hbars[1] * p1b * wick_l * ket1b1e + out = apply_wick(out) + out.resolve() + expr4 = AExpression(Ex=out) + expr4.sort_tensors() + expr_lu11 = expr1 + expr2 + expr3 + expr4 + + # Get the L amplitudes in albert format + expr = [] + output = [] + returns = [] + terms = (expr_l1, expr_l2) + for n in range(2): + for index_spins in get_amplitude_spins(n + 1, spin): + indices = default_indices["v"][: n + 1] + default_indices["o"][: n + 1] + expr_n = import_from_wick(terms[n], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + output_n = get_l_amplitude_outputs(expr_n, f"l{n+1}new") + returns_n = (Tensor(*indices, name=f"l{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + + # Get the LS amplitudes in albert format + terms = (expr_ls1,) + for n in range(1): + indices = default_indices["b"][: n + 1] + expr_n = import_from_wick(terms[n]) + expr_n = spin_integrate(expr_n, spin) + output_n = get_l_amplitude_outputs(expr_n, f"ls{n+1}new") + returns_n = (Tensor(*indices, name=f"ls{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + + # Get the LU amplitudes in albert format + terms = ((expr_lu11,),) + for nb in range(1): + for nf in range(1): + for index_spins in get_amplitude_spins(nf + 1, spin): + indices = default_indices["b"][: nb + 1] + default_indices["v"][: nf + 1] + default_indices["o"][: nf + 1] + expr_n = import_from_wick(terms[nb][nf], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + output_n = get_l_amplitude_outputs(expr_n, f"lu{nf+1}{nb+1}new") + returns_n = (Tensor(*indices, name=f"lu{nf+1}{nb+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + + # Generate the L amplitude code + output, expr = optimise(output, expr, spin, strategy="trav") + for name, codegen in code_generators.items(): + if name == "einsum": + preamble = get_boson_einsum_preamble(spin) + if spin == "uhf": + preamble += "l1new = Namespace()\n" + preamble += "l2new = Namespace()\n" + preamble += "ls1new = Namespace()\n" + preamble += "lu11new = Namespace()" + kwargs = { + "preamble": preamble, + "as_dict": True, + } + else: + kwargs = {} + codegen( + "update_lams", + returns, + output, + expr, + **kwargs, + ) + +with Stopwatch("1RDM"): + # Get the 1RDM contractions in wick format + terms = {} + for sectors, indices in [("oo", "ij"), ("ov", "ia"), ("vo", "ai"), ("vv", "ab")]: + i = index_dict[indices[0]] + j = index_dict[indices[1]] + ops = [FOperator(j, True), FOperator(i, False)] + p = Expression([Term(1, [], [WTensor([i, j], "")], ops, [])]) + out = bch(p, wick_t, max_commutator=2)[-1] + out = out + wick_l * out + out = apply_wick(out) + out.resolve() + expr = AExpression(Ex=out, simplify=True) + terms[sectors, indices] = expr + + # Get the 1RDM in albert format + expr = [] + output = [] + returns = [] + for sectors, indices in [("oo", "ij"), ("ov", "ia"), ("vo", "ai"), ("vv", "ab")]: + for index_spins in get_density_spins(1, spin, indices): + # wick canonicalisation is buggy: + expr_n = [import_from_wick(t) for t in str(terms[sectors, indices]).split("\n")] + expr_n = [canonicalise_indices(e, "ijklmn", "abcdef", ["x", "y", "z", "b0", "b1", "b2"]) for e in expr_n] + if index_spins: + expr_n = [e.map_indices({index: SpinIndex(index, s) for key, spin in index_spins.items()}) for e in expr_n] + expr_n = sum([spin_integrate(e, spin) for e in expr_n], tuple()) + if spin == "uhf": + expr_n = tuple(e * 0.5 for e in expr_n) + output_n = get_density_outputs(expr_n, f"d", indices) + returns_n = (Tensor(*indices, name=f"d"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + output, expr = optimise(output, expr, spin, strategy="exhaust") + + # Generate the 1RDM code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "preamble": get_density_einsum_preamble(1, spin), + "postamble": get_density_einsum_postamble(1, spin), + } + else: + kwargs = {} + codegen( + "make_rdm1_f", + returns, + output, + expr, + **kwargs, + ) + +with Stopwatch("2RDM"): + # Get the 2RDM contractions in wick format + terms = {} + for sectors, indices in [ + ("oooo", "ijkl"), + ("ooov", "ijka"), + ("oovo", "ijak"), + ("ovoo", "iajk"), + ("vooo", "aijk"), + ("oovv", "ijab"), + ("ovov", "iajb"), + ("ovvo", "iabj"), + ("voov", "aijb"), + ("vovo", "aibj"), + ("vvoo", "abij"), + ("ovvv", "iabc"), + ("vovv", "aibc"), + ("vvov", "abic"), + ("vvvo", "abci"), + ("vvvv", "abcd"), + ]: + i = index_dict[indices[0]] + j = index_dict[indices[1]] + k = index_dict[indices[2]] + l = index_dict[indices[3]] + ops = [FOperator(l, True), FOperator(k, True), FOperator(i, False), FOperator(j, False)] + p = Expression([Term(1, [], [WTensor([i, j, k, l], "")], ops, [])]) + out = bch(p, wick_t, max_commutator=4)[-1] + out = out + wick_l * out + out = apply_wick(out) + out.resolve() + expr = AExpression(Ex=out, simplify=True) + terms[sectors, indices] = expr + + # Get the 2RDM in albert format + expr = [] + output = [] + returns = [] + for sectors, indices in [ + ("oooo", "ijkl"), + ("ooov", "ijka"), + ("oovo", "ijak"), + ("ovoo", "iajk"), + ("vooo", "aijk"), + ("oovv", "ijab"), + ("ovov", "iajb"), + ("ovvo", "iabj"), + ("voov", "aijb"), + ("vovo", "aibj"), + ("vvoo", "abij"), + ("ovvv", "iabc"), + ("vovv", "aibc"), + ("vvov", "abic"), + ("vvvo", "abci"), + ("vvvv", "abcd"), + ]: + for index_spins in get_density_spins(2, spin, indices): + # wick canonicalisation is buggy: + expr_n = [import_from_wick(t) for t in str(terms[sectors, indices]).split("\n")] + expr_n = [canonicalise_indices(e, "ijklmn", "abcdef", ["x", "y", "z", "b0", "b1", "b2"]) for e in expr_n] + if index_spins: + expr_n = [e.map_indices({key: SpinIndex(key, spin) for key, spin in index_spins.items()}) for e in expr_n] + expr_n = sum([spin_integrate(e, spin) for e in expr_n], tuple()) + output_n = get_density_outputs(expr_n, f"Γ", indices) + returns_n = (Tensor(*indices, name=f"Γ"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + output, expr = optimise(output, expr, spin, strategy="trav") + + # Generate the 2RDM code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "preamble": get_density_einsum_preamble(2, spin), + "postamble": get_density_einsum_postamble(2, spin), + } + else: + kwargs = {} + codegen( + "make_rdm2_f", + returns, + output, + expr, + **kwargs, + ) + +with Stopwatch("BDM"): + # Get the BDM contractions in wick format + terms = {} + for cre, index in [(True, "x"), (False, "x")]: + x = index_dict[index] + ops = [BOperator(x, cre)] + p = Expression([Term(1, [], [WTensor([x], "")], ops, [])]) + out = bch(p, wick_t, max_commutator=3)[-1] + out = out + wick_l * out + out = apply_wick(out) + out.resolve() + expr = AExpression(Ex=out, simplify=True) + terms[cre, index] = expr + + # Get the BDM in albert format + expr = [] + output = [] + returns = [] + for cre, index in [(True, "x"), (False, "x")]: + expr_n = import_from_wick(terms[cre, index]) + expr_n = spin_integrate(expr_n, spin) + output_n = get_density_outputs(expr_n, f"dm_{'cre' if cre else 'des'}", (index,)) + returns_n = (Tensor(index, name=f"dm_{'cre' if cre else 'des'}"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + output, expr = optimise(output, expr, spin, strategy="exhaust") + + # Generate the BDM code + for name, codegen in code_generators.items(): + kwargs = {} + codegen( + "make_sing_b_dm", + returns, + output, + expr, + **kwargs, + ) + +with Stopwatch("B1RDM"): + # Get the B1RDM contractions in wick format + x = index_dict["x"] + y = index_dict["y"] + ops = [BOperator(x, True), BOperator(y, False)] + p = Expression([Term(1, [], [WTensor([x, y], "")], ops, [])]) + out = bch(p, wick_t, max_commutator=3)[-1] + out = out + wick_l * out + out = apply_wick(out) + out.resolve() + term = AExpression(Ex=out, simplify=True) + + # Get the B1RDM in albert format + expr = [] + output = [] + returns = [] + expr_n = import_from_wick(term) + expr_n = spin_integrate(expr_n, spin) + output_n = get_density_outputs(expr_n, f"rdm1_b", ("x", "y")) + returns_n = (Tensor(*indices, name=f"rdm1_b"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + output, expr = optimise(output, expr, spin, strategy="exhaust") + + # Generate the B1RDM code + for name, codegen in code_generators.items(): + kwargs = {} + codegen( + "make_rdm1_b", + returns, + output, + expr, + **kwargs, + ) + +with Stopwatch("EBRDM"): + # Get the EBRDM contractions in wick format + terms = {} + x = index_dict["x"] + for sectors, indices in [("boo", "xij"), ("bov", "xia"), ("bvo", "xai"), ("bvv", "xab")]: + for cre in (False, True): + i = index_dict[indices[1]] + j = index_dict[indices[2]] + ops = [BOperator(x, cre), FOperator(j, True), FOperator(i, False)] + p = Expression([Term(1, [], [WTensor([x, i, j], "")], ops, [])]) + out = bch(p, wick_t, max_commutator=2)[-1] + out = out + wick_l * out + out = apply_wick(out) + out.resolve() + expr = AExpression(Ex=out, simplify=True) + terms[sectors, indices, cre] = expr + + # Get the EBRDM in albert format + expr = [] + output = [] + returns = [] + for sectors, indices in [("boo", "xij"), ("bov", "xia"), ("bvo", "xai"), ("bvv", "xab")]: + for cre in (False, True): + for index_spins in get_density_spins(1, spin, indices): + # wick canonicalisation is buggy: + expr_n = [import_from_wick(t) for t in str(terms[sectors, indices, cre]).split("\n")] + expr_n = [canonicalise_indices(e, "ijklmn", "abcdef", "xyz") for e in expr_n] + if index_spins: + expr_n = [e.map_indices({key: SpinIndex(key, spin) for key, spin in index_spins.items()}) for e in expr_n] + expr_n = sum([spin_integrate(e, spin) for e in expr_n], tuple()) + if spin == "uhf": + expr_n = tuple(e * 0.5 for e in expr_n) + output_n = get_density_outputs(expr_n, f"rdm_eb_{'cre' if cre else 'des'}", indices) + returns_n = (Tensor(*indices, name=f"rdm_eb_{'cre' if cre else 'des'}"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + output, expr = optimise(output, expr, spin, strategy="exhaust") + + # Generate the EBRDM code + for name, codegen in code_generators.items(): + if name == "einsum": + preamble = get_density_einsum_preamble(1, spin) + preamble = preamble.replace("rdm1 = Namespace()", "rdm_eb_cre = Namespace()\nrdm_eb_des = Namespace()") + postamble = get_density_einsum_postamble(1, spin, spaces=["boo", "bov", "bvo", "bvv"]) + postamble = "\n".join([postamble.replace("rdm1", f"rdm_eb_{'cre' if cre else 'des'}") for cre in (True, False)]) + kwargs = { + "preamble": preamble, + "postamble": postamble, + } + else: + kwargs = {} + codegen( + "make_eb_coup_rdm", + returns, + output, + expr, + **kwargs, + ) From d3ade9ee06da50da43a40d0bc15639f070b10692 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Thu, 29 Feb 2024 20:48:19 +0000 Subject: [PATCH 006/168] Updates CC2 files for new bootstrapping --- ebcc/codegen/GCC2.py | 635 +++++++++++++ ebcc/codegen/RCC2.py | 1278 +++++++++++++++++++++++++ ebcc/codegen/UCC2.py | 2145 ++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 4058 insertions(+) create mode 100644 ebcc/codegen/GCC2.py create mode 100644 ebcc/codegen/RCC2.py create mode 100644 ebcc/codegen/UCC2.py diff --git a/ebcc/codegen/GCC2.py b/ebcc/codegen/GCC2.py new file mode 100644 index 00000000..92c0e903 --- /dev/null +++ b/ebcc/codegen/GCC2.py @@ -0,0 +1,635 @@ +""" +Code generated by `albert`: +https://github.com/obackhouse/albert + + * date: 2024-02-29T20:17:32.002991 + * python version: 3.10.12 (main, Nov 20 2023, 15:14:05) [GCC 11.4.0] + * albert version: 0.0.0 + * caller: /home/ollie/git/albert/albert/codegen/einsum.py + * node: ollie-desktop + * system: Linux + * processor: x86_64 + * release: 6.5.0-21-generic +""" + +from ebcc import numpy as np +from ebcc.util import pack_2e, einsum, Namespace + + +def energy(f=None, t1=None, t2=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-02-29T20:17:32.161682. + + Parameters + ---------- + f : array + Fock matrix. + t1 : array + T1 amplitudes. + t2 : array + T2 amplitudes. + v : array + Electron repulsion integrals. + + Returns + ------- + e_cc : float + Coupled cluster energy. + """ + + tmp0 = einsum(t1, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) * 2 + tmp0 += t2.transpose((1, 0, 3, 2)) + e_cc = einsum(tmp0, (0, 1, 2, 3), v.oovv, (0, 1, 2, 3), (), optimize=True) * 0.25 + del tmp0 + e_cc += einsum(f.ov, (0, 1), t1, (0, 1), (), optimize=True) + + return e_cc + +def update_amps(f=None, t1=None, t2=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-02-29T20:17:34.629350. + + Parameters + ---------- + f : array + Fock matrix. + t1 : array + T1 amplitudes. + t2 : array + T2 amplitudes. + v : array + Electron repulsion integrals. + + Returns + ------- + t1new : array + Updated T1 residuals. + t2new : array + Updated T2 residuals. + """ + + tmp0 = einsum(v.oovv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2), optimize=True) + tmp23 = einsum(tmp0, (0, 1, 2, 3), t1, (4, 3), (2, 1, 4, 0), optimize=True) * -1 + tmp23 += v.oooo.transpose((2, 3, 1, 0)) * -1 + tmp24 = einsum(t1, (0, 1), tmp23, (0, 2, 3, 4), (3, 4, 2, 1), optimize=True) * -1 + del tmp23 + tmp24 += v.ooov.transpose((1, 0, 2, 3)) + t2new = einsum(tmp24, (0, 1, 2, 3), t1, (2, 4), (0, 1, 4, 3), optimize=True) + del tmp24 + tmp20 = einsum(v.ovvv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2), optimize=True) + tmp21 = einsum(tmp20, (0, 1, 2, 3), t1, (4, 3), (0, 4, 1, 2), optimize=True) * -1 + del tmp20 + tmp22 = einsum(tmp21, (0, 1, 2, 3), t1, (2, 4), (1, 0, 4, 3), optimize=True) * -1 + del tmp21 + t2new += tmp22.transpose((0, 1, 3, 2)) + t2new += tmp22 * -1 + del tmp22 + tmp19 = einsum(v.ovvv, (0, 1, 2, 3), t1, (4, 1), (4, 0, 2, 3), optimize=True) + t2new += tmp19.transpose((1, 0, 3, 2)) * -1 + t2new += tmp19.transpose((0, 1, 3, 2)) + del tmp19 + tmp18 = einsum(f.vv, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4), optimize=True) + t2new += tmp18.transpose((1, 0, 3, 2)) * -1 + t2new += tmp18.transpose((1, 0, 2, 3)) + del tmp18 + tmp14 = einsum(v.ooov, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2), optimize=True) + tmp15 = einsum(t1, (0, 1), tmp14, (2, 0, 3, 4), (2, 3, 4, 1), optimize=True) * -1 + del tmp14 + tmp16 = einsum(tmp15, (0, 1, 2, 3), t1, (1, 4), (0, 2, 3, 4), optimize=True) * -1 + del tmp15 + tmp17 = tmp16.transpose((0, 1, 3, 2)).copy() + del tmp16 + tmp4 = einsum(t1, (0, 1), f.ov, (2, 1), (2, 0), optimize=True) + tmp13 = einsum(tmp4, (0, 1), t2, (2, 0, 3, 4), (1, 2, 3, 4), optimize=True) + tmp17 += tmp13.transpose((0, 1, 3, 2)) * -1 + del tmp13 + t2new += tmp17.transpose((1, 0, 2, 3)) * -1 + t2new += tmp17 + del tmp17 + tmp11 = einsum(t1, (0, 1), v.ovov, (2, 1, 3, 4), (0, 3, 2, 4), optimize=True) + tmp12 = einsum(tmp11, (0, 1, 2, 3), t1, (1, 4), (0, 2, 4, 3), optimize=True) + del tmp11 + t2new += tmp12.transpose((1, 0, 3, 2)) + t2new += tmp12.transpose((1, 0, 2, 3)) * -1 + t2new += tmp12.transpose((0, 1, 3, 2)) * -1 + t2new += tmp12 + del tmp12 + tmp9 = einsum(t2, (0, 1, 2, 3), f.ov, (4, 3), (4, 0, 1, 2), optimize=True) + tmp10 = einsum(tmp9, (0, 1, 2, 3), t1, (0, 4), (1, 2, 4, 3), optimize=True) + del tmp9 + t2new += tmp10.transpose((0, 1, 3, 2)) * -1 + t2new += tmp10 + del tmp10 + tmp8 = einsum(t2, (0, 1, 2, 3), f.oo, (4, 1), (4, 0, 2, 3), optimize=True) + t2new += tmp8.transpose((1, 0, 3, 2)) + t2new += tmp8.transpose((0, 1, 3, 2)) * -1 + del tmp8 + tmp7 = einsum(v.vvvv, (0, 1, 2, 3), t1, (4, 2), (4, 0, 1, 3), optimize=True) * -1 + t2new += einsum(tmp7, (0, 1, 2, 3), t1, (4, 3), (4, 0, 2, 1), optimize=True) * -1 + del tmp7 + t2new += v.oovv.transpose((1, 0, 3, 2)) + t2new += einsum(t1, (0, 1), v.ooov, (2, 3, 0, 4), (3, 2, 4, 1), optimize=True) * -1 + tmp5 = einsum(t1, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) * 2 + tmp5 += t2.transpose((1, 0, 3, 2)) + tmp6 = einsum(v.oovv, (0, 1, 2, 3), tmp5, (0, 4, 2, 3), (1, 4), optimize=True) * 0.5 + del tmp5 + tmp6 += einsum(v.ooov, (0, 1, 2, 3), t1, (0, 3), (1, 2), optimize=True) * -1 + tmp6 += tmp4 + del tmp4 + tmp6 += f.oo.transpose((1, 0)) + t1new = einsum(t1, (0, 1), tmp6, (0, 2), (2, 1), optimize=True) * -1 + del tmp6 + tmp3 = einsum(v.oovv, (0, 1, 2, 3), t1, (1, 3), (0, 2), optimize=True) + tmp3 += f.ov + t1new += einsum(tmp3, (0, 1), t2, (0, 2, 1, 3), (2, 3), optimize=True) + del tmp3 + tmp2 = einsum(t1, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) + tmp2 += t2.transpose((1, 0, 3, 2)) * 0.5 + t1new += einsum(v.ovvv, (0, 1, 2, 3), tmp2, (0, 4, 2, 3), (4, 1), optimize=True) + del tmp2 + tmp1 = tmp0.transpose((0, 2, 1, 3)).copy() * -1 + del tmp0 + tmp1 += v.ooov.transpose((2, 1, 0, 3)) + t1new += einsum(t2, (0, 1, 2, 3), tmp1, (4, 0, 1, 2), (4, 3), optimize=True) * -0.5 + del tmp1 + t1new += einsum(t1, (0, 1), f.vv, (2, 1), (0, 2), optimize=True) + t1new += f.ov + t1new += einsum(v.ovov, (0, 1, 2, 3), t1, (2, 1), (0, 3), optimize=True) * -1 + + return {f"t1new": t1new, f"t2new": t2new} + +def update_lams(f=None, l1=None, l2=None, t1=None, t2=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-02-29T20:17:42.950558. + + Parameters + ---------- + f : array + Fock matrix. + l1 : array + L1 amplitudes. + l2 : array + L2 amplitudes. + t1 : array + T1 amplitudes. + t2 : array + T2 amplitudes. + v : array + Electron repulsion integrals. + + Returns + ------- + l1new : array + Updated L1 residuals. + l2new : array + Updated L2 residuals. + """ + + tmp5 = einsum(v.oovv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2), optimize=True) + tmp10 = tmp5.transpose((2, 1, 0, 3)).copy() * 0.5 + tmp10 += v.ooov.transpose((1, 0, 2, 3)) * -1 + tmp48 = einsum(t1, (0, 1), tmp10, (2, 3, 4, 1), (4, 0, 3, 2), optimize=True) * -2 + tmp48 += v.oooo.transpose((2, 3, 1, 0)) * -1 + l2new = einsum(tmp48, (0, 1, 2, 3), l2, (4, 5, 0, 1), (5, 4, 2, 3), optimize=True) * -0.5 + del tmp48 + tmp0 = einsum(t1, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2), optimize=True) + tmp47 = einsum(tmp5, (0, 1, 2, 3), tmp0, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) * -1 + l2new += tmp47.transpose((3, 2, 1, 0)) * -1 + l2new += tmp47.transpose((2, 3, 1, 0)) + l2new += tmp47.transpose((3, 2, 0, 1)) + l2new += tmp47.transpose((2, 3, 0, 1)) * -1 + del tmp47 + tmp7 = einsum(v.oovv, (0, 1, 2, 3), t1, (1, 3), (0, 2), optimize=True) + tmp45 = einsum(tmp0, (0, 1, 2, 3), tmp7, (2, 4), (0, 1, 3, 4), optimize=True) + tmp46 = tmp45.copy() + del tmp45 + tmp44 = einsum(l2, (0, 1, 2, 3), f.vv, (4, 1), (2, 3, 4, 0), optimize=True) + tmp46 += tmp44.transpose((1, 0, 2, 3)) * -1 + del tmp44 + l2new += tmp46.transpose((3, 2, 0, 1)) + l2new += tmp46.transpose((2, 3, 0, 1)) * -1 + del tmp46 + tmp42 = einsum(tmp7, (0, 1), t1, (2, 1), (2, 0), optimize=True) + tmp43 = einsum(tmp42, (0, 1), l2, (2, 3, 4, 0), (4, 1, 2, 3), optimize=True) + del tmp42 + l2new += tmp43.transpose((2, 3, 1, 0)) + l2new += tmp43.transpose((2, 3, 0, 1)) * -1 + del tmp43 + l2new += einsum(l1, (0, 1), f.ov, (2, 3), (0, 3, 1, 2), optimize=True) + l2new += einsum(f.ov, (0, 1), l1, (2, 3), (1, 2, 3, 0), optimize=True) * -1 + l2new += einsum(l1, (0, 1), f.ov, (2, 3), (0, 3, 2, 1), optimize=True) * -1 + l2new += einsum(f.ov, (0, 1), l1, (2, 3), (1, 2, 0, 3), optimize=True) + tmp23 = einsum(v.ooov, (0, 1, 2, 3), t1, (1, 3), (0, 2), optimize=True) + tmp40 = einsum(l2, (0, 1, 2, 3), tmp23, (4, 3), (2, 4, 0, 1), optimize=True) + tmp41 = tmp40.transpose((0, 1, 3, 2)).copy() + del tmp40 + tmp17 = einsum(t1, (0, 1), l1, (1, 2), (2, 0), optimize=True) + tmp39 = einsum(v.oovv, (0, 1, 2, 3), tmp17, (4, 1), (4, 0, 2, 3), optimize=True) + tmp41 += tmp39.transpose((0, 1, 3, 2)) * -1 + del tmp39 + tmp37 = einsum(t1, (0, 1), f.ov, (2, 1), (2, 0), optimize=True) + tmp38 = einsum(tmp37, (0, 1), l2, (2, 3, 4, 1), (0, 4, 2, 3), optimize=True) + del tmp37 + tmp41 += tmp38.transpose((0, 1, 3, 2)) * -1 + del tmp38 + l2new += tmp41.transpose((3, 2, 1, 0)) + l2new += tmp41.transpose((3, 2, 0, 1)) * -1 + del tmp41 + tmp4 = einsum(v.ovvv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2), optimize=True) + tmp34 = tmp4.copy() + tmp34 += v.ovov.transpose((2, 0, 1, 3)) * -1 + tmp35 = einsum(tmp34, (0, 1, 2, 3), l2, (2, 4, 0, 5), (1, 5, 3, 4), optimize=True) + del tmp34 + tmp36 = tmp35.transpose((1, 0, 3, 2)).copy() + del tmp35 + tmp33 = einsum(tmp0, (0, 1, 2, 3), v.ooov, (4, 2, 1, 5), (0, 4, 3, 5), optimize=True) + tmp36 += tmp33 + del tmp33 + tmp36 += einsum(tmp7, (0, 1), l1, (2, 3), (3, 0, 2, 1), optimize=True) + l2new += tmp36.transpose((3, 2, 1, 0)) + l2new += tmp36.transpose((2, 3, 1, 0)) * -1 + l2new += tmp36.transpose((3, 2, 0, 1)) * -1 + l2new += tmp36.transpose((2, 3, 0, 1)) + del tmp36 + tmp31 = einsum(v.ovvv, (0, 1, 2, 3), l1, (1, 4), (4, 0, 2, 3), optimize=True) + tmp32 = tmp31.transpose((0, 1, 3, 2)).copy() + del tmp31 + tmp30 = einsum(f.oo, (0, 1), l2, (2, 3, 4, 1), (0, 4, 2, 3), optimize=True) + tmp32 += tmp30.transpose((0, 1, 3, 2)) * -1 + del tmp30 + l2new += tmp32.transpose((2, 3, 1, 0)) * -1 + l2new += tmp32.transpose((2, 3, 0, 1)) + del tmp32 + tmp6 = tmp5.transpose((0, 2, 1, 3)).copy() * -1 + del tmp5 + tmp6 += v.ooov.transpose((2, 1, 0, 3)) + tmp28 = einsum(tmp6, (0, 1, 2, 3), l1, (4, 0), (1, 2, 3, 4), optimize=True) + tmp29 = tmp28.transpose((1, 0, 3, 2)).copy() + del tmp28 + tmp21 = einsum(v.ovvv, (0, 1, 2, 3), t1, (0, 3), (1, 2), optimize=True) + tmp27 = einsum(l2, (0, 1, 2, 3), tmp21, (1, 4), (2, 3, 0, 4), optimize=True) + tmp29 += tmp27 + del tmp27 + tmp26 = einsum(f.ov, (0, 1), tmp0, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) + tmp29 += tmp26 * -1 + del tmp26 + l2new += tmp29.transpose((3, 2, 0, 1)) + l2new += tmp29.transpose((2, 3, 0, 1)) * -1 + del tmp29 + l2new += einsum(v.ovvv, (0, 1, 2, 3), tmp0, (4, 5, 0, 1), (2, 3, 4, 5), optimize=True) + l2new += einsum(l2, (0, 1, 2, 3), v.vvvv, (4, 5, 0, 1), (5, 4, 3, 2), optimize=True) * 0.5 + tmp2 = einsum(t1, (0, 1), tmp0, (2, 3, 4, 1), (3, 2, 4, 0), optimize=True) + l2new += einsum(v.oovv, (0, 1, 2, 3), tmp2, (4, 5, 0, 1), (2, 3, 5, 4), optimize=True) * -0.5 + l2new += v.oovv.transpose((3, 2, 1, 0)) + tmp18 = einsum(l2, (0, 1, 2, 3), t2, (3, 4, 0, 1), (2, 4), optimize=True) * -1 + tmp25 = tmp18.copy() * 0.5 + tmp25 += tmp17 + tmp8 = tmp7.copy() + del tmp7 + tmp8 += f.ov + l1new = einsum(tmp8, (0, 1), tmp25, (2, 0), (1, 2), optimize=True) * -1 + del tmp25 + tmp24 = einsum(tmp8, (0, 1), t1, (2, 1), (2, 0), optimize=True) + tmp24 += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 0, 2, 3), (1, 4), optimize=True) * -0.5 + tmp24 += tmp23.transpose((1, 0)) + del tmp23 + tmp24 += f.oo.transpose((1, 0)) + l1new += einsum(l1, (0, 1), tmp24, (1, 2), (0, 2), optimize=True) * -1 + del tmp24 + tmp22 = tmp21.copy() * -1 + del tmp21 + tmp22 += f.vv.transpose((1, 0)) + l1new += einsum(tmp22, (0, 1), l1, (0, 2), (1, 2), optimize=True) + del tmp22 + tmp19 = tmp18.copy() + del tmp18 + tmp19 += tmp17 * 2 + del tmp17 + l1new += einsum(tmp19, (0, 1), v.ooov, (1, 2, 0, 3), (3, 2), optimize=True) * -0.5 + tmp20 = einsum(t1, (0, 1), tmp19, (0, 2), (2, 1), optimize=True) + del tmp19 + tmp20 += einsum(tmp0, (0, 1, 2, 3), t2, (0, 1, 3, 4), (2, 4), optimize=True) + tmp20 += einsum(t2, (0, 1, 2, 3), l1, (3, 1), (0, 2), optimize=True) * -2 + tmp20 += t1 * -2 + l1new += einsum(tmp20, (0, 1), v.oovv, (0, 2, 1, 3), (3, 2), optimize=True) * -0.5 + del tmp20 + tmp16 = einsum(t2, (0, 1, 2, 3), l2, (4, 2, 0, 1), (4, 3), optimize=True) * -1 + tmp16 += einsum(t1, (0, 1), l1, (2, 0), (2, 1), optimize=True) * 2 + l1new += einsum(tmp16, (0, 1), v.ovvv, (2, 0, 1, 3), (3, 2), optimize=True) * -0.5 + del tmp16 + tmp14 = tmp2.transpose((0, 1, 3, 2)).copy() + tmp1 = einsum(t2, (0, 1, 2, 3), l2, (2, 3, 4, 5), (4, 5, 0, 1), optimize=True) + tmp14 += tmp1.transpose((1, 0, 3, 2)) * -0.5 + tmp15 = einsum(t1, (0, 1), tmp14, (0, 2, 3, 4), (2, 4, 3, 1), optimize=True) * -1 + del tmp14 + tmp15 += einsum(t2, (0, 1, 2, 3), tmp0, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) * -2 + tmp15 += einsum(t2, (0, 1, 2, 3), l1, (3, 4), (4, 1, 0, 2), optimize=True) * -1 + l1new += einsum(tmp15, (0, 1, 2, 3), v.oovv, (1, 2, 3, 4), (4, 0), optimize=True) * -0.5 + del tmp15 + tmp13 = einsum(v.vvvv, (0, 1, 2, 3), t1, (4, 1), (4, 0, 3, 2), optimize=True) + tmp13 += v.ovvv.transpose((0, 1, 3, 2)) * -1 + l1new += einsum(l2, (0, 1, 2, 3), tmp13, (2, 4, 0, 1), (4, 3), optimize=True) * 0.5 + del tmp13 + tmp11 = einsum(tmp10, (0, 1, 2, 3), t1, (4, 3), (1, 0, 4, 2), optimize=True) * -1 + del tmp10 + tmp11 += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 2, 3), (5, 4, 1, 0), optimize=True) * -0.25 + tmp11 += v.oooo.transpose((2, 3, 1, 0)) * 0.5 + tmp12 = einsum(t1, (0, 1), tmp11, (0, 2, 3, 4), (2, 4, 3, 1), optimize=True) * -2 + del tmp11 + tmp9 = tmp4.transpose((0, 1, 3, 2)).copy() * -0.5 + tmp9 += v.ovov.transpose((2, 0, 3, 1)) + tmp12 += einsum(tmp9, (0, 1, 2, 3), t1, (4, 2), (1, 0, 4, 3), optimize=True) * -2 + del tmp9 + tmp12 += einsum(tmp8, (0, 1), t2, (2, 3, 1, 4), (0, 3, 2, 4), optimize=True) + del tmp8 + tmp12 += einsum(t2, (0, 1, 2, 3), tmp6, (4, 0, 5, 2), (5, 1, 4, 3), optimize=True) * 2 + del tmp6 + tmp12 += einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 5, 2, 3), (0, 5, 4, 1), optimize=True) * 0.5 + tmp12 += v.ooov.transpose((2, 1, 0, 3)) + l1new += einsum(tmp12, (0, 1, 2, 3), l2, (3, 4, 1, 2), (4, 0), optimize=True) * -0.5 + del tmp12 + l1new += einsum(tmp4, (0, 1, 2, 3), tmp0, (4, 0, 1, 2), (3, 4), optimize=True) + del tmp4 + tmp3 = einsum(t2, (0, 1, 2, 3), l2, (4, 3, 1, 5), (5, 0, 4, 2), optimize=True) * -1 + l1new += einsum(v.ovvv, (0, 1, 2, 3), tmp3, (4, 0, 1, 3), (2, 4), optimize=True) * -1 + del tmp3 + l1new += einsum(v.ooov, (0, 1, 2, 3), tmp2, (4, 2, 1, 0), (3, 4), optimize=True) * 0.5 + del tmp2 + l1new += einsum(v.ooov, (0, 1, 2, 3), tmp1, (4, 2, 0, 1), (3, 4), optimize=True) * -0.25 + del tmp1 + l1new += f.ov.transpose((1, 0)) + l1new += einsum(tmp0, (0, 1, 2, 3), v.ovov, (1, 4, 2, 3), (4, 0), optimize=True) * -1 + del tmp0 + l1new += einsum(v.ovov, (0, 1, 2, 3), l1, (1, 2), (3, 0), optimize=True) * -1 + + return {f"l1new": l1new, f"l2new": l2new} + +def make_rdm1_f(l1=None, l2=None, t1=None, t2=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-02-29T20:17:43.564237. + + Parameters + ---------- + l1 : array + L1 amplitudes. + l2 : array + L2 amplitudes. + t1 : array + T1 amplitudes. + t2 : array + T2 amplitudes. + + Returns + ------- + rdm1 : array + One-particle reduced density matrix. + """ + + rdm1 = Namespace() + delta = Namespace( + oo=np.eye(t1.shape[0]), + vv=np.eye(t1.shape[1]), + ) + rdm1.vv = einsum(t1, (0, 1), l1, (2, 0), (2, 1), optimize=True) + rdm1.vv += einsum(t2, (0, 1, 2, 3), l2, (3, 4, 0, 1), (4, 2), optimize=True) * -0.5 + rdm1.vo = l1.copy() + tmp0 = einsum(t2, (0, 1, 2, 3), l2, (2, 3, 4, 1), (4, 0), optimize=True) + tmp3 = tmp0.copy() + tmp1 = einsum(t1, (0, 1), l1, (1, 2), (2, 0), optimize=True) + tmp3 += tmp1 * 2 + rdm1.ov = einsum(t1, (0, 1), tmp3, (0, 2), (2, 1), optimize=True) * -0.5 + del tmp3 + rdm1.ov += t1 + tmp2 = einsum(t1, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2), optimize=True) + rdm1.ov += einsum(tmp2, (0, 1, 2, 3), t2, (0, 1, 4, 3), (2, 4), optimize=True) * 0.5 + del tmp2 + rdm1.ov += einsum(t2, (0, 1, 2, 3), l1, (3, 1), (0, 2), optimize=True) + rdm1.oo = tmp1.transpose((1, 0)).copy() * -1 + del tmp1 + rdm1.oo += delta.oo.transpose((1, 0)) + del delta + rdm1.oo += tmp0.transpose((1, 0)) * -0.5 + del tmp0 + rdm1 = np.block([[rdm1.oo, rdm1.ov], [rdm1.vo, rdm1.vv]]) + + return rdm1 + +def make_rdm2_f(l1=None, l2=None, t1=None, t2=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-02-29T20:17:51.664913. + + Parameters + ---------- + l1 : array + L1 amplitudes. + l2 : array + L2 amplitudes. + t1 : array + T1 amplitudes. + t2 : array + T2 amplitudes. + + Returns + ------- + rdm2 : array + Two-particle reduced density matrix. + """ + + rdm2 = Namespace() + delta = Namespace( + oo=np.eye(t1.shape[0]), + vv=np.eye(t1.shape[1]), + ) + tmp38 = einsum(l2, (0, 1, 2, 3), t1, (3, 4), (2, 0, 1, 4), optimize=True) + rdm2.vvvv = einsum(tmp38, (0, 1, 2, 3), t1, (0, 4), (1, 2, 4, 3), optimize=True) + rdm2.vvvv += einsum(t2, (0, 1, 2, 3), l2, (4, 5, 0, 1), (5, 4, 3, 2), optimize=True) * 0.5 + rdm2.vvvo = tmp38.transpose((2, 1, 3, 0)).copy() + rdm2.vvov = tmp38.transpose((2, 1, 0, 3)).copy() * -1 + del tmp38 + tmp18 = einsum(t2, (0, 1, 2, 3), l2, (3, 4, 0, 1), (4, 2), optimize=True) * -1 + tmp31 = tmp18.copy() * 0.5 + tmp30 = einsum(t1, (0, 1), l1, (2, 0), (2, 1), optimize=True) + tmp31 += tmp30 + rdm2.vovv = einsum(tmp31, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) + rdm2.vovv += einsum(t1, (0, 1), tmp31, (2, 3), (2, 0, 1, 3), optimize=True) * -1 + tmp15 = einsum(t2, (0, 1, 2, 3), l2, (3, 4, 5, 1), (5, 0, 4, 2), optimize=True) * -1 + tmp36 = einsum(t1, (0, 1), tmp15, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) + rdm2.vovv += tmp36.transpose((1, 0, 3, 2)) * -1 + rdm2.vovv += tmp36.transpose((1, 0, 2, 3)) + tmp35 = einsum(l1, (0, 1), t2, (2, 1, 3, 4), (2, 0, 3, 4), optimize=True) + rdm2.vovv += tmp35.transpose((1, 0, 3, 2)) + tmp1 = einsum(t1, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2), optimize=True) + tmp29 = einsum(t1, (0, 1), tmp1, (2, 0, 3, 4), (2, 3, 4, 1), optimize=True) + tmp34 = einsum(t1, (0, 1), tmp29, (0, 2, 3, 4), (2, 3, 4, 1), optimize=True) * -1 + rdm2.vovv += tmp34.transpose((1, 0, 3, 2)) + tmp33 = einsum(t2, (0, 1, 2, 3), tmp1, (0, 1, 4, 5), (4, 5, 2, 3), optimize=True) + rdm2.vovv += tmp33.transpose((1, 0, 3, 2)) * 0.5 + rdm2.ovvv = einsum(tmp30, (0, 1), t1, (2, 3), (2, 0, 1, 3), optimize=True) * -1 + rdm2.ovvv += einsum(t1, (0, 1), tmp30, (2, 3), (0, 2, 1, 3), optimize=True) + tmp37 = einsum(tmp18, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) * -0.5 + tmp37 += tmp36 + del tmp36 + rdm2.ovvv += tmp37.transpose((0, 1, 3, 2)) + rdm2.ovvv += tmp37 * -1 + del tmp37 + rdm2.ovvv += tmp35.transpose((0, 1, 3, 2)) * -1 + del tmp35 + rdm2.ovvv += tmp34.transpose((0, 1, 3, 2)) * -1 + del tmp34 + rdm2.ovvv += tmp33.transpose((0, 1, 3, 2)) * -0.5 + del tmp33 + rdm2.vvoo = l2.transpose((1, 0, 3, 2)).copy() + tmp32 = tmp18.copy() + tmp32 += tmp30 * 2 + del tmp30 + rdm2.vovo = einsum(delta.oo, (0, 1), tmp32, (2, 3), (2, 1, 3, 0), optimize=True) * 0.5 + rdm2.vovo += tmp29.transpose((2, 1, 3, 0)) + rdm2.vovo += tmp15.transpose((2, 1, 3, 0)) * -1 + rdm2.vovo += einsum(t1, (0, 1), l1, (2, 3), (2, 0, 1, 3), optimize=True) * -1 + rdm2.voov = einsum(tmp31, (0, 1), delta.oo, (2, 3), (0, 3, 2, 1), optimize=True) * -1 + rdm2.voov += tmp29.transpose((2, 1, 0, 3)) * -1 + rdm2.voov += tmp15.transpose((2, 1, 0, 3)) + rdm2.voov += einsum(t1, (0, 1), l1, (2, 3), (2, 0, 3, 1), optimize=True) + rdm2.ovvo = einsum(delta.oo, (0, 1), tmp32, (2, 3), (1, 2, 3, 0), optimize=True) * -0.5 + del tmp32 + rdm2.ovvo += tmp29.transpose((1, 2, 3, 0)) * -1 + rdm2.ovvo += tmp15.transpose((1, 2, 3, 0)) + rdm2.ovvo += einsum(t1, (0, 1), l1, (2, 3), (0, 2, 1, 3), optimize=True) + rdm2.ovov = einsum(tmp31, (0, 1), delta.oo, (2, 3), (3, 0, 2, 1), optimize=True) + del tmp31 + rdm2.ovov += tmp29.transpose((1, 2, 0, 3)) + del tmp29 + rdm2.ovov += tmp15.transpose((1, 2, 0, 3)) * -1 + rdm2.ovov += einsum(t1, (0, 1), l1, (2, 3), (0, 2, 3, 1), optimize=True) * -1 + tmp2 = einsum(tmp1, (0, 1, 2, 3), t1, (4, 3), (0, 1, 4, 2), optimize=True) + tmp12 = tmp2.transpose((0, 1, 3, 2)).copy() + tmp0 = einsum(t2, (0, 1, 2, 3), l2, (2, 3, 4, 5), (4, 5, 0, 1), optimize=True) + tmp12 += tmp0.transpose((1, 0, 3, 2)) * -0.5 + tmp28 = einsum(t1, (0, 1), tmp12, (0, 2, 3, 4), (2, 4, 3, 1), optimize=True) * -2 + rdm2.oovv = einsum(tmp28, (0, 1, 2, 3), t1, (0, 4), (1, 2, 4, 3), optimize=True) * 0.5 + del tmp28 + rdm2.oovv += einsum(t2, (0, 1, 2, 3), tmp12, (0, 1, 4, 5), (5, 4, 3, 2), optimize=True) * -0.5 + tmp3 = einsum(t1, (0, 1), l1, (1, 2), (2, 0), optimize=True) + tmp27 = einsum(tmp3, (0, 1), t2, (2, 0, 3, 4), (1, 2, 3, 4), optimize=True) + rdm2.oovv += tmp27.transpose((1, 0, 3, 2)) + rdm2.oovv += tmp27.transpose((0, 1, 3, 2)) * -1 + del tmp27 + tmp4 = einsum(t2, (0, 1, 2, 3), l2, (2, 3, 4, 1), (4, 0), optimize=True) + tmp25 = einsum(t1, (0, 1), tmp4, (0, 2), (2, 1), optimize=True) + tmp26 = tmp25.copy() + del tmp25 + tmp8 = einsum(tmp1, (0, 1, 2, 3), t2, (0, 1, 4, 3), (2, 4), optimize=True) * -1 + tmp26 += tmp8 + rdm2.oovv += einsum(tmp26, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) * -0.5 + rdm2.oovv += einsum(t1, (0, 1), tmp26, (2, 3), (2, 0, 1, 3), optimize=True) * 0.5 + rdm2.oovv += einsum(t1, (0, 1), tmp26, (2, 3), (0, 2, 3, 1), optimize=True) * 0.5 + rdm2.oovv += einsum(tmp26, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) * -0.5 + del tmp26 + tmp22 = einsum(t1, (0, 1), tmp3, (0, 2), (2, 1), optimize=True) + tmp23 = tmp22.copy() * -1 + del tmp22 + tmp7 = einsum(t2, (0, 1, 2, 3), l1, (3, 1), (0, 2), optimize=True) + tmp23 += tmp7 + tmp24 = einsum(t1, (0, 1), tmp23, (2, 3), (0, 2, 1, 3), optimize=True) * -1 + del tmp23 + tmp6 = einsum(t2, (0, 1, 2, 3), tmp1, (4, 1, 5, 3), (4, 5, 0, 2), optimize=True) * -1 + tmp21 = einsum(tmp6, (0, 1, 2, 3), t1, (0, 4), (1, 2, 4, 3), optimize=True) + tmp24 += tmp21 + del tmp21 + rdm2.oovv += tmp24.transpose((1, 0, 3, 2)) * -1 + rdm2.oovv += tmp24.transpose((1, 0, 2, 3)) + rdm2.oovv += tmp24.transpose((0, 1, 3, 2)) + rdm2.oovv += tmp24 * -1 + del tmp24 + tmp20 = einsum(tmp4, (0, 1), t2, (2, 0, 3, 4), (2, 1, 3, 4), optimize=True) + rdm2.oovv += tmp20.transpose((1, 0, 3, 2)) * -0.5 + rdm2.oovv += tmp20.transpose((0, 1, 3, 2)) * 0.5 + del tmp20 + tmp19 = einsum(tmp18, (0, 1), t2, (2, 3, 4, 0), (2, 3, 4, 1), optimize=True) + del tmp18 + rdm2.oovv += tmp19.transpose((0, 1, 3, 2)) * 0.5 + rdm2.oovv += tmp19 * -0.5 + del tmp19 + tmp16 = einsum(t2, (0, 1, 2, 3), tmp15, (1, 4, 3, 5), (0, 4, 2, 5), optimize=True) + del tmp15 + tmp17 = tmp16.copy() + del tmp16 + tmp5 = einsum(t2, (0, 1, 2, 3), l1, (3, 4), (4, 0, 1, 2), optimize=True) + tmp14 = einsum(tmp5, (0, 1, 2, 3), t1, (0, 4), (1, 2, 4, 3), optimize=True) + tmp17 += tmp14 + del tmp14 + rdm2.oovv += tmp17.transpose((0, 1, 3, 2)) * -1 + rdm2.oovv += tmp17 + del tmp17 + rdm2.oovv += einsum(t1, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) + rdm2.oovv += einsum(t1, (0, 1), t1, (2, 3), (2, 0, 1, 3), optimize=True) * -1 + rdm2.oovv += t2.transpose((1, 0, 3, 2)) + rdm2.vooo = einsum(l1, (0, 1), delta.oo, (2, 3), (0, 3, 2, 1), optimize=True) * -1 + rdm2.vooo += einsum(l1, (0, 1), delta.oo, (2, 3), (0, 3, 1, 2), optimize=True) + rdm2.vooo += tmp1.transpose((3, 2, 1, 0)) + rdm2.ovoo = einsum(l1, (0, 1), delta.oo, (2, 3), (3, 0, 2, 1), optimize=True) + rdm2.ovoo += einsum(l1, (0, 1), delta.oo, (2, 3), (3, 0, 1, 2), optimize=True) * -1 + rdm2.ovoo += tmp1.transpose((2, 3, 1, 0)) * -1 + del tmp1 + tmp13 = tmp2.transpose((0, 1, 3, 2)).copy() * 2 + tmp13 += tmp0.transpose((1, 0, 3, 2)) * -1 + rdm2.oovo = einsum(t1, (0, 1), tmp13, (0, 2, 3, 4), (4, 3, 1, 2), optimize=True) * 0.5 + del tmp13 + rdm2.oovo += einsum(t1, (0, 1), tmp3, (2, 3), (3, 0, 1, 2), optimize=True) + rdm2.oovo += einsum(tmp3, (0, 1), t1, (2, 3), (2, 1, 3, 0), optimize=True) * -1 + rdm2.oovo += einsum(t1, (0, 1), delta.oo, (2, 3), (3, 0, 1, 2), optimize=True) * -1 + rdm2.oovo += einsum(delta.oo, (0, 1), t1, (2, 3), (2, 1, 3, 0), optimize=True) + tmp9 = tmp4.copy() + tmp9 += tmp3 * 2 + tmp10 = einsum(t1, (0, 1), tmp9, (0, 2), (2, 1), optimize=True) * 0.5 + del tmp9 + tmp11 = tmp10.copy() + del tmp10 + tmp11 += tmp8 * 0.5 + del tmp8 + tmp11 += tmp7 * -1 + del tmp7 + rdm2.oovo += einsum(tmp11, (0, 1), delta.oo, (2, 3), (2, 0, 1, 3), optimize=True) + rdm2.oovo += einsum(tmp11, (0, 1), delta.oo, (2, 3), (0, 3, 1, 2), optimize=True) * -1 + rdm2.oovo += einsum(t1, (0, 1), tmp4, (2, 3), (3, 0, 1, 2), optimize=True) * 0.5 + rdm2.oovo += einsum(tmp4, (0, 1), t1, (2, 3), (2, 1, 3, 0), optimize=True) * -0.5 + rdm2.oovo += tmp6.transpose((2, 1, 3, 0)) * -1 + rdm2.oovo += tmp6.transpose((1, 2, 3, 0)) + rdm2.oovo += tmp5.transpose((2, 1, 3, 0)) + rdm2.ooov = einsum(t1, (0, 1), tmp12, (0, 2, 3, 4), (4, 3, 2, 1), optimize=True) * -1 + del tmp12 + rdm2.ooov += einsum(t1, (0, 1), tmp3, (2, 3), (3, 0, 2, 1), optimize=True) * -1 + rdm2.ooov += einsum(tmp3, (0, 1), t1, (2, 3), (2, 1, 0, 3), optimize=True) + rdm2.ooov += einsum(t1, (0, 1), delta.oo, (2, 3), (3, 0, 2, 1), optimize=True) + rdm2.ooov += einsum(delta.oo, (0, 1), t1, (2, 3), (2, 1, 0, 3), optimize=True) * -1 + rdm2.ooov += einsum(tmp11, (0, 1), delta.oo, (2, 3), (2, 0, 3, 1), optimize=True) * -1 + rdm2.ooov += einsum(tmp11, (0, 1), delta.oo, (2, 3), (0, 3, 2, 1), optimize=True) + del tmp11 + rdm2.ooov += einsum(t1, (0, 1), tmp4, (2, 3), (3, 0, 2, 1), optimize=True) * -0.5 + rdm2.ooov += einsum(tmp4, (0, 1), t1, (2, 3), (2, 1, 0, 3), optimize=True) * 0.5 + rdm2.ooov += tmp6.transpose((2, 1, 0, 3)) + rdm2.ooov += tmp6.transpose((1, 2, 0, 3)) * -1 + del tmp6 + rdm2.ooov += tmp5.transpose((2, 1, 0, 3)) * -1 + del tmp5 + rdm2.oooo = einsum(tmp4, (0, 1), delta.oo, (2, 3), (2, 1, 3, 0), optimize=True) * -0.5 + rdm2.oooo += einsum(tmp4, (0, 1), delta.oo, (2, 3), (1, 3, 2, 0), optimize=True) * 0.5 + rdm2.oooo += einsum(tmp4, (0, 1), delta.oo, (2, 3), (2, 1, 0, 3), optimize=True) * 0.5 + rdm2.oooo += einsum(tmp4, (0, 1), delta.oo, (2, 3), (1, 3, 0, 2), optimize=True) * -0.5 + del tmp4 + rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (3, 0, 1, 2), optimize=True) * -1 + rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (1, 3, 0, 2), optimize=True) + rdm2.oooo += einsum(delta.oo, (0, 1), tmp3, (2, 3), (1, 3, 0, 2), optimize=True) * -1 + rdm2.oooo += einsum(tmp3, (0, 1), delta.oo, (2, 3), (1, 3, 2, 0), optimize=True) + rdm2.oooo += einsum(tmp3, (0, 1), delta.oo, (2, 3), (3, 1, 0, 2), optimize=True) + rdm2.oooo += einsum(tmp3, (0, 1), delta.oo, (2, 3), (1, 3, 0, 2), optimize=True) * -1 + del delta, tmp3 + rdm2.oooo += tmp2.transpose((2, 3, 1, 0)) * -1 + del tmp2 + rdm2.oooo += tmp0.transpose((3, 2, 1, 0)) * 0.5 + del tmp0 + rdm2 = pack_2e(rdm2.oooo, rdm2.ooov, rdm2.oovo, rdm2.ovoo, rdm2.vooo, rdm2.oovv, rdm2.ovov, rdm2.ovvo, rdm2.voov, rdm2.vovo, rdm2.vvoo, rdm2.ovvv, rdm2.vovv, rdm2.vvov, rdm2.vvvo, rdm2.vvvv) + rdm2 = rdm2.swapaxes(1, 2) + + return rdm2 + diff --git a/ebcc/codegen/RCC2.py b/ebcc/codegen/RCC2.py new file mode 100644 index 00000000..71c8a272 --- /dev/null +++ b/ebcc/codegen/RCC2.py @@ -0,0 +1,1278 @@ +""" +Code generated by `albert`: +https://github.com/obackhouse/albert + + * date: 2024-02-29T20:30:56.696292 + * python version: 3.10.12 (main, Nov 20 2023, 15:14:05) [GCC 11.4.0] + * albert version: 0.0.0 + * caller: /home/ollie/git/albert/albert/codegen/einsum.py + * node: ollie-desktop + * system: Linux + * processor: x86_64 + * release: 6.5.0-21-generic +""" + +from ebcc import numpy as np +from ebcc.util import pack_2e, einsum, Namespace + + +def energy(f=None, t1=None, t2=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-02-29T20:30:57.154832. + + Parameters + ---------- + f : array + Fock matrix. + t1 : array + T1 amplitudes. + t2 : array + T2 amplitudes. + v : array + Electron repulsion integrals. + + Returns + ------- + e_cc : float + Coupled cluster energy. + """ + + tmp0 = v.ovov.transpose((2, 0, 3, 1)).copy() * -0.5 + tmp0 += v.ovov.transpose((2, 0, 1, 3)) + tmp1 = einsum(t1, (0, 1), tmp0, (0, 2, 3, 1), (2, 3), optimize=True) + del tmp0 + tmp1 += f.ov + e_cc = einsum(t1, (0, 1), tmp1, (0, 1), (), optimize=True) * 2 + del tmp1 + e_cc += einsum(v.ovov, (0, 1, 2, 3), t2, (0, 2, 3, 1), (), optimize=True) * -1 + e_cc += einsum(t2, (0, 1, 2, 3), v.ovov, (0, 2, 1, 3), (), optimize=True) * 2 + + return e_cc + +def update_amps(f=None, t1=None, t2=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-02-29T20:31:00.999402. + + Parameters + ---------- + f : array + Fock matrix. + t1 : array + T1 amplitudes. + t2 : array + T2 amplitudes. + v : array + Electron repulsion integrals. + + Returns + ------- + t1new : array + Updated T1 residuals. + t2new : array + Updated T2 residuals. + """ + + tmp2 = einsum(t1, (0, 1), v.ovov, (2, 3, 4, 1), (0, 2, 4, 3), optimize=True) + tmp30 = einsum(tmp2, (0, 1, 2, 3), t1, (4, 3), (1, 4, 0, 2), optimize=True) + tmp30 += v.oooo.transpose((2, 3, 1, 0)) + tmp31 = einsum(tmp30, (0, 1, 2, 3), t1, (0, 4), (2, 1, 3, 4), optimize=True) + del tmp30 + tmp31 += v.ooov.transpose((1, 2, 0, 3)) * -1 + t2new = einsum(t1, (0, 1), tmp31, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) + del tmp31 + tmp29 = einsum(t2, (0, 1, 2, 3), f.oo, (4, 1), (4, 0, 2, 3), optimize=True) + t2new += tmp29.transpose((1, 0, 2, 3)) * -1 + t2new += tmp29.transpose((0, 1, 3, 2)) * -1 + del tmp29 + tmp15 = einsum(v.ovvv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2), optimize=True) + tmp27 = einsum(tmp15, (0, 1, 2, 3), t1, (4, 2), (4, 0, 1, 3), optimize=True) + tmp28 = einsum(t1, (0, 1), tmp27, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) + del tmp27 + t2new += tmp28.transpose((1, 0, 3, 2)) * -1 + t2new += tmp28 * -1 + del tmp28 + tmp26 = einsum(tmp2, (0, 1, 2, 3), t1, (2, 4), (0, 1, 4, 3), optimize=True) + t2new += tmp26.transpose((1, 0, 3, 2)) * -1 + t2new += tmp26 * -1 + del tmp26 + tmp22 = einsum(t1, (0, 1), v.oovv, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) + tmp23 = tmp22.transpose((2, 0, 1, 3)).copy() + del tmp22 + tmp21 = einsum(t2, (0, 1, 2, 3), f.ov, (4, 3), (4, 0, 1, 2), optimize=True) + tmp23 += tmp21 + del tmp21 + tmp24 = einsum(tmp23, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4), optimize=True) + del tmp23 + tmp25 = tmp24.transpose((0, 1, 3, 2)).copy() + del tmp24 + tmp8 = einsum(f.ov, (0, 1), t1, (2, 1), (0, 2), optimize=True) + tmp20 = einsum(t2, (0, 1, 2, 3), tmp8, (1, 4), (4, 0, 2, 3), optimize=True) + tmp25 += tmp20 + del tmp20 + t2new += tmp25.transpose((1, 0, 2, 3)) * -1 + t2new += tmp25.transpose((0, 1, 3, 2)) * -1 + del tmp25 + tmp16 = einsum(t1, (0, 1), v.ooov, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) + tmp17 = einsum(t1, (0, 1), tmp16, (2, 3, 4, 0), (2, 4, 3, 1), optimize=True) + del tmp16 + tmp18 = einsum(tmp17, (0, 1, 2, 3), t1, (1, 4), (0, 2, 4, 3), optimize=True) + del tmp17 + tmp19 = tmp18.copy() + del tmp18 + tmp19 += tmp15 + del tmp15 + tmp14 = einsum(f.vv, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4), optimize=True) + tmp19 += tmp14 + del tmp14 + t2new += tmp19.transpose((1, 0, 2, 3)) + t2new += tmp19.transpose((0, 1, 3, 2)) + del tmp19 + tmp13 = einsum(v.vvvv, (0, 1, 2, 3), t1, (4, 2), (4, 0, 1, 3), optimize=True) + t2new += einsum(t1, (0, 1), tmp13, (2, 3, 1, 4), (0, 2, 3, 4), optimize=True) + del tmp13 + t2new += einsum(v.ooov, (0, 1, 2, 3), t1, (1, 4), (2, 0, 3, 4), optimize=True) * -1 + t2new += v.ovov.transpose((2, 0, 3, 1)) + tmp11 = v.ooov.transpose((1, 2, 0, 3)).copy() * -0.5 + tmp11 += v.ooov.transpose((1, 0, 2, 3)) + tmp12 = einsum(t1, (0, 1), tmp11, (2, 3, 0, 1), (3, 2), optimize=True) * 2 + del tmp11 + tmp10 = einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) + tmp10 += t2.transpose((1, 0, 3, 2)) + tmp9 = v.ovov.transpose((2, 0, 3, 1)).copy() * 2 + tmp9 += v.ovov.transpose((2, 0, 1, 3)) * -1 + tmp12 += einsum(tmp9, (0, 1, 2, 3), tmp10, (0, 4, 2, 3), (1, 4), optimize=True) + del tmp9, tmp10 + tmp12 += tmp8 + del tmp8 + tmp12 += f.oo.transpose((1, 0)) + t1new = einsum(tmp12, (0, 1), t1, (0, 2), (1, 2), optimize=True) * -1 + del tmp12 + tmp7 = v.oovv.transpose((1, 0, 3, 2)).copy() * -1 + tmp7 += v.ovov.transpose((2, 0, 3, 1)) * 2 + t1new += einsum(t1, (0, 1), tmp7, (0, 2, 1, 3), (2, 3), optimize=True) + del tmp7 + tmp6 = t2.transpose((1, 0, 3, 2)).copy() * -1 + tmp6 += t2.transpose((1, 0, 2, 3)) * 2 + tmp4 = v.ovov.transpose((2, 0, 3, 1)).copy() * -1 + tmp4 += v.ovov.transpose((2, 0, 1, 3)) * 2 + tmp5 = einsum(t1, (0, 1), tmp4, (0, 2, 3, 1), (2, 3), optimize=True) + del tmp4 + tmp5 += f.ov + t1new += einsum(tmp5, (0, 1), tmp6, (0, 2, 3, 1), (2, 3), optimize=True) + del tmp5, tmp6 + tmp3 = tmp2.transpose((0, 2, 1, 3)).copy() + tmp3 += tmp2 * -0.5 + del tmp2 + tmp3 += v.ooov.transpose((1, 2, 0, 3)) * -0.5 + tmp3 += v.ooov.transpose((1, 0, 2, 3)) + t1new += einsum(t2, (0, 1, 2, 3), tmp3, (4, 0, 1, 3), (4, 2), optimize=True) * -2 + del tmp3 + tmp1 = v.ovvv.transpose((0, 3, 1, 2)).copy() * 2 + tmp1 += v.ovvv.transpose((0, 1, 3, 2)) * -1 + tmp0 = einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) + tmp0 += t2.transpose((1, 0, 3, 2)) + t1new += einsum(tmp0, (0, 1, 2, 3), tmp1, (0, 3, 2, 4), (1, 4), optimize=True) + del tmp0, tmp1 + t1new += einsum(f.vv, (0, 1), t1, (2, 1), (2, 0), optimize=True) + t1new += f.ov + + return {f"t1new": t1new, f"t2new": t2new} + +def update_lams(f=None, l1=None, l2=None, t1=None, t2=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-02-29T20:31:31.910682. + + Parameters + ---------- + f : array + Fock matrix. + l1 : array + L1 amplitudes. + l2 : array + L2 amplitudes. + t1 : array + T1 amplitudes. + t2 : array + T2 amplitudes. + v : array + Electron repulsion integrals. + + Returns + ------- + l1new : array + Updated L1 residuals. + l2new : array + Updated L2 residuals. + """ + + tmp8 = einsum(t1, (0, 1), v.ovov, (2, 3, 4, 1), (0, 2, 4, 3), optimize=True) + tmp26 = einsum(t1, (0, 1), tmp8, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) + tmp104 = tmp26.transpose((0, 2, 3, 1)).copy() + tmp104 += v.oooo.transpose((2, 3, 1, 0)) + l2new = einsum(tmp104, (0, 1, 2, 3), l2, (4, 5, 0, 3), (5, 4, 2, 1), optimize=True) + del tmp104 + tmp101 = einsum(t1, (0, 1), v.ooov, (2, 3, 0, 1), (2, 3), optimize=True) + tmp102 = einsum(l2, (0, 1, 2, 3), tmp101, (4, 3), (2, 4, 0, 1), optimize=True) + del tmp101 + tmp103 = tmp102.copy() * 2 + del tmp102 + tmp100 = einsum(v.ooov, (0, 1, 2, 3), l1, (4, 1), (0, 2, 4, 3), optimize=True) + tmp103 += tmp100 + del tmp100 + l2new += tmp103.transpose((3, 2, 1, 0)) * -1 + l2new += tmp103.transpose((2, 3, 0, 1)) * -1 + del tmp103 + tmp98 = einsum(v.ovvv, (0, 1, 2, 3), t1, (0, 2), (1, 3), optimize=True) + tmp99 = einsum(l2, (0, 1, 2, 3), tmp98, (4, 1), (2, 3, 0, 4), optimize=True) + del tmp98 + l2new += tmp99.transpose((3, 2, 1, 0)) * -1 + l2new += tmp99.transpose((2, 3, 0, 1)) * -1 + del tmp99 + tmp50 = einsum(l1, (0, 1), t1, (2, 0), (1, 2), optimize=True) + tmp96 = einsum(tmp50, (0, 1), v.ovov, (2, 3, 1, 4), (0, 2, 3, 4), optimize=True) + tmp97 = tmp96.copy() + del tmp96 + tmp95 = einsum(l1, (0, 1), tmp8, (1, 2, 3, 4), (2, 3, 0, 4), optimize=True) + tmp97 += tmp95 + del tmp95 + tmp94 = einsum(l2, (0, 1, 2, 3), f.oo, (4, 3), (4, 2, 0, 1), optimize=True) + tmp97 += tmp94 + del tmp94 + l2new += tmp97.transpose((2, 3, 1, 0)) * -1 + l2new += tmp97.transpose((3, 2, 0, 1)) * -1 + del tmp97 + tmp54 = v.ovov.transpose((2, 0, 3, 1)).copy() * -1 + tmp54 += v.ovov.transpose((2, 0, 1, 3)) * 2 + tmp88 = einsum(tmp54, (0, 1, 2, 3), t1, (0, 3), (1, 2), optimize=True) + tmp93 = einsum(l1, (0, 1), tmp88, (2, 3), (1, 2, 0, 3), optimize=True) + tmp17 = einsum(l2, (0, 1, 2, 3), t1, (4, 0), (3, 2, 4, 1), optimize=True) + tmp92 = einsum(tmp88, (0, 1), tmp17, (2, 3, 0, 4), (2, 3, 4, 1), optimize=True) + tmp93 += tmp92 * -1 + del tmp92 + tmp89 = einsum(t1, (0, 1), tmp88, (2, 1), (0, 2), optimize=True) + del tmp88 + tmp90 = tmp89.copy() * -1 + del tmp89 + tmp87 = einsum(v.ooov, (0, 1, 2, 3), t1, (0, 3), (1, 2), optimize=True) + tmp90 += tmp87 + del tmp87 + tmp91 = einsum(tmp90, (0, 1), l2, (2, 3, 0, 4), (4, 1, 2, 3), optimize=True) + del tmp90 + tmp93 += tmp91.transpose((0, 1, 3, 2)) + del tmp91 + tmp85 = tmp8.transpose((0, 2, 1, 3)).copy() * -1 + tmp85 += tmp8 * 2 + tmp86 = einsum(tmp17, (0, 1, 2, 3), tmp85, (1, 4, 2, 5), (0, 4, 3, 5), optimize=True) + del tmp85 + tmp93 += tmp86 * -1 + del tmp86 + tmp44 = tmp17.transpose((1, 0, 2, 3)).copy() * -1 + tmp44 += tmp17 * 2 + tmp84 = einsum(v.ooov, (0, 1, 2, 3), tmp44, (4, 0, 1, 5), (2, 4, 3, 5), optimize=True) + tmp93 += tmp84.transpose((1, 0, 3, 2)) * -1 + del tmp84 + tmp24 = einsum(v.ovvv, (0, 1, 2, 3), t1, (4, 1), (4, 0, 2, 3), optimize=True) + tmp71 = tmp24.transpose((0, 1, 3, 2)).copy() + tmp71 += v.oovv.transpose((1, 0, 3, 2)) + tmp83 = einsum(tmp71, (0, 1, 2, 3), l2, (2, 4, 0, 5), (5, 1, 4, 3), optimize=True) + tmp93 += tmp83 * -1 + del tmp83 + tmp80 = einsum(v.ovvv, (0, 1, 2, 3), t1, (4, 2), (4, 0, 1, 3), optimize=True) + tmp81 = tmp80.copy() + del tmp80 + tmp81 += v.ovov.transpose((2, 0, 1, 3)) + tmp79 = l2.transpose((3, 2, 1, 0)).copy() * -1 + tmp79 += l2.transpose((3, 2, 0, 1)) * 2 + tmp82 = einsum(tmp81, (0, 1, 2, 3), tmp79, (0, 4, 5, 3), (4, 1, 5, 2), optimize=True) + del tmp81, tmp79 + tmp93 += tmp82 + del tmp82 + tmp78 = einsum(tmp8, (0, 1, 2, 3), tmp17, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) + tmp93 += tmp78 + del tmp78 + tmp77 = einsum(tmp17, (0, 1, 2, 3), v.ovvv, (2, 4, 5, 3), (1, 0, 4, 5), optimize=True) + tmp93 += tmp77 * -1 + del tmp77 + tmp75 = einsum(v.ovvv, (0, 1, 2, 3), t1, (0, 1), (2, 3), optimize=True) + tmp76 = einsum(l2, (0, 1, 2, 3), tmp75, (4, 1), (2, 3, 0, 4), optimize=True) + del tmp75 + tmp93 += tmp76 * 2 + del tmp76 + tmp74 = einsum(tmp17, (0, 1, 2, 3), v.ooov, (4, 1, 2, 5), (0, 4, 3, 5), optimize=True) + tmp93 += tmp74 + del tmp74 + tmp93 += einsum(f.ov, (0, 1), l1, (2, 3), (0, 3, 1, 2), optimize=True) + l2new += tmp93.transpose((3, 2, 1, 0)) + l2new += tmp93.transpose((2, 3, 0, 1)) + del tmp93 + tmp72 = einsum(tmp71, (0, 1, 2, 3), l2, (4, 2, 0, 5), (5, 1, 4, 3), optimize=True) + del tmp71 + tmp73 = tmp72.copy() * -1 + del tmp72 + tmp70 = einsum(tmp17, (0, 1, 2, 3), tmp8, (0, 2, 4, 5), (1, 4, 3, 5), optimize=True) + tmp73 += tmp70 + del tmp70 + tmp69 = einsum(tmp17, (0, 1, 2, 3), v.ooov, (4, 0, 2, 5), (1, 4, 3, 5), optimize=True) + tmp73 += tmp69 + del tmp69 + tmp12 = einsum(t1, (0, 1), v.ooov, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) + tmp68 = einsum(tmp12, (0, 1, 2, 3), l2, (4, 5, 1, 0), (2, 3, 5, 4), optimize=True) + tmp73 += tmp68 + del tmp68 + tmp67 = einsum(tmp17, (0, 1, 2, 3), f.ov, (2, 4), (0, 1, 4, 3), optimize=True) + tmp73 += tmp67 * -1 + del tmp67 + tmp65 = einsum(f.ov, (0, 1), t1, (2, 1), (0, 2), optimize=True) + tmp66 = einsum(l2, (0, 1, 2, 3), tmp65, (4, 3), (4, 2, 0, 1), optimize=True) + del tmp65 + tmp73 += tmp66 * -1 + del tmp66 + tmp64 = einsum(v.ovvv, (0, 1, 2, 3), l1, (3, 4), (4, 0, 1, 2), optimize=True) + tmp73 += tmp64 + del tmp64 + tmp63 = einsum(f.vv, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2), optimize=True) + tmp73 += tmp63 + del tmp63 + l2new += tmp73.transpose((2, 3, 1, 0)) + l2new += tmp73.transpose((3, 2, 0, 1)) + del tmp73 + l2new += einsum(v.vvvv, (0, 1, 2, 3), l2, (1, 3, 4, 5), (2, 0, 5, 4), optimize=True) + tmp36 = einsum(tmp17, (0, 1, 2, 3), t1, (4, 3), (1, 0, 2, 4), optimize=True) + l2new += einsum(tmp36, (0, 1, 2, 3), v.ovov, (2, 4, 3, 5), (5, 4, 1, 0), optimize=True) + l2new += v.ovov.transpose((3, 1, 2, 0)) + tmp5 = v.ovov.transpose((2, 0, 3, 1)).copy() * -0.5 + tmp5 += v.ovov.transpose((2, 0, 1, 3)) + tmp6 = einsum(t1, (0, 1), tmp5, (0, 2, 3, 1), (2, 3), optimize=True) * 2 + del tmp5 + tmp59 = tmp6.copy() + tmp59 += f.ov + tmp62 = einsum(t1, (0, 1), tmp59, (2, 1), (0, 2), optimize=True) + tmp61 = v.ooov.transpose((2, 1, 0, 3)).copy() * -0.5 + tmp61 += v.ooov.transpose((1, 0, 2, 3)) + tmp62 += einsum(t1, (0, 1), tmp61, (2, 3, 0, 1), (3, 2), optimize=True) * 2 + del tmp61 + tmp39 = t2.transpose((1, 0, 3, 2)).copy() * 2 + tmp39 += t2.transpose((1, 0, 2, 3)) * -1 + tmp62 += einsum(tmp39, (0, 1, 2, 3), v.ovov, (0, 2, 4, 3), (1, 4), optimize=True) + tmp62 += f.oo.transpose((1, 0)) + l1new = einsum(tmp62, (0, 1), l1, (2, 0), (2, 1), optimize=True) * -1 + del tmp62 + tmp16 = t2.transpose((1, 0, 3, 2)).copy() + tmp16 += t2.transpose((1, 0, 2, 3)) * -0.5 + tmp60 = einsum(tmp16, (0, 1, 2, 3), l2, (2, 3, 0, 4), (4, 1), optimize=True) * 2 + tmp60 += tmp50 + l1new += einsum(tmp59, (0, 1), tmp60, (2, 0), (1, 2), optimize=True) * -1 + del tmp59, tmp60 + tmp57 = v.ovvv.transpose((0, 3, 1, 2)).copy() * -0.5 + tmp57 += v.ovvv.transpose((0, 1, 3, 2)) + tmp58 = einsum(t1, (0, 1), tmp57, (0, 1, 2, 3), (3, 2), optimize=True) * 2 + del tmp57 + tmp58 += f.vv.transpose((1, 0)) + l1new += einsum(l1, (0, 1), tmp58, (0, 2), (2, 1), optimize=True) + del tmp58 + tmp56 = v.oovv.transpose((1, 0, 3, 2)).copy() * -1 + tmp56 += v.ovov.transpose((2, 0, 3, 1)) * 2 + l1new += einsum(tmp56, (0, 1, 2, 3), l1, (2, 0), (3, 1), optimize=True) + del tmp56 + tmp55 = v.ooov.transpose((1, 2, 0, 3)).copy() + tmp55 += v.ooov.transpose((1, 0, 2, 3)) * -0.5 + tmp51 = einsum(tmp16, (0, 1, 2, 3), l2, (2, 3, 0, 4), (4, 1), optimize=True) + tmp52 = tmp51.copy() + del tmp51 + tmp52 += tmp50 * 0.5 + del tmp50 + l1new += einsum(tmp52, (0, 1), tmp55, (0, 2, 1, 3), (3, 2), optimize=True) * -4 + del tmp55 + tmp53 = einsum(tmp52, (0, 1), t1, (0, 2), (1, 2), optimize=True) + del tmp52 + tmp15 = t2.transpose((1, 0, 3, 2)).copy() * -1 + tmp15 += t2.transpose((1, 0, 2, 3)) * 2 + tmp53 += einsum(tmp15, (0, 1, 2, 3), l1, (3, 0), (1, 2), optimize=True) * -0.5 + tmp47 = t2.transpose((1, 0, 3, 2)).copy() * -0.5 + tmp47 += t2.transpose((1, 0, 2, 3)) + tmp53 += einsum(tmp17, (0, 1, 2, 3), tmp47, (1, 0, 3, 4), (2, 4), optimize=True) + tmp53 += t1 * -0.5 + l1new += einsum(tmp54, (0, 1, 2, 3), tmp53, (0, 3), (2, 1), optimize=True) * -2 + del tmp54, tmp53 + tmp49 = v.ovvv.transpose((0, 3, 1, 2)).copy() * -1 + tmp49 += v.ovvv.transpose((0, 1, 3, 2)) * 2 + tmp48 = einsum(l2, (0, 1, 2, 3), tmp47, (2, 3, 1, 4), (0, 4), optimize=True) * 2 + del tmp47 + tmp48 += einsum(l1, (0, 1), t1, (1, 2), (0, 2), optimize=True) + l1new += einsum(tmp48, (0, 1), tmp49, (2, 3, 1, 0), (3, 2), optimize=True) + del tmp48, tmp49 + tmp35 = einsum(t2, (0, 1, 2, 3), l2, (3, 2, 4, 5), (4, 5, 1, 0), optimize=True) + tmp46 = tmp35.transpose((1, 0, 3, 2)).copy() * 2 + tmp46 += tmp35.transpose((1, 0, 2, 3)) * -1 + l1new += einsum(tmp46, (0, 1, 2, 3), v.ooov, (2, 0, 3, 4), (4, 1), optimize=True) + del tmp46 + tmp45 = tmp36.transpose((0, 1, 3, 2)).copy() + tmp45 += tmp36 * -0.5 + l1new += einsum(v.ooov, (0, 1, 2, 3), tmp45, (4, 0, 1, 2), (3, 4), optimize=True) * 2 + del tmp45 + l1new += einsum(tmp44, (0, 1, 2, 3), v.oovv, (1, 2, 3, 4), (4, 0), optimize=True) * -1 + del tmp44 + tmp42 = tmp17.transpose((1, 0, 2, 3)).copy() * -0.5 + tmp42 += tmp17 + tmp43 = einsum(tmp42, (0, 1, 2, 3), t2, (1, 4, 5, 3), (0, 2, 4, 5), optimize=True) * 2 + del tmp42 + tmp33 = tmp17.transpose((1, 0, 2, 3)).copy() * 2 + tmp33 += tmp17 * -1 + tmp43 += einsum(tmp33, (0, 1, 2, 3), t2, (1, 4, 3, 5), (0, 2, 4, 5), optimize=True) + tmp41 = einsum(t2, (0, 1, 2, 3), l1, (3, 4), (4, 0, 1, 2), optimize=True) + tmp43 += tmp41.transpose((0, 2, 1, 3)) + tmp43 += tmp41 * -2 + del tmp41 + l1new += einsum(tmp43, (0, 1, 2, 3), v.ovov, (2, 4, 1, 3), (4, 0), optimize=True) + del tmp43 + tmp40 = einsum(tmp33, (0, 1, 2, 3), tmp39, (1, 4, 3, 5), (0, 2, 4, 5), optimize=True) * -0.5 + del tmp39 + tmp37 = tmp36.copy() + del tmp36 + tmp37 += tmp35.transpose((1, 0, 3, 2)) + del tmp35 + tmp38 = einsum(tmp37, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4), optimize=True) + del tmp37 + tmp40 += tmp38 * -0.5 + tmp40 += tmp38.transpose((0, 2, 1, 3)) + del tmp38 + tmp40 += tmp17.transpose((1, 2, 0, 3)) * -1 + tmp40 += tmp17.transpose((0, 2, 1, 3)) * 0.5 + l1new += einsum(tmp40, (0, 1, 2, 3), v.ovov, (2, 3, 1, 4), (4, 0), optimize=True) * 2 + del tmp40 + tmp34 = einsum(tmp33, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4), optimize=True) + del tmp33 + tmp34 += l2.transpose((3, 2, 0, 1)) + l1new += einsum(tmp34, (0, 1, 2, 3), v.ovvv, (1, 3, 2, 4), (4, 0), optimize=True) * -1 + del tmp34 + tmp31 = tmp12.transpose((0, 3, 2, 1)).copy() * 2 + tmp31 += tmp12.transpose((0, 2, 1, 3)) * -1 + tmp32 = einsum(tmp31, (0, 1, 2, 3), t1, (3, 4), (0, 2, 1, 4), optimize=True) + del tmp31 + tmp30 = v.oovv.transpose((1, 0, 3, 2)).copy() * -1 + tmp30 += v.ovov.transpose((2, 0, 3, 1)) * 2 + tmp32 += einsum(t1, (0, 1), tmp30, (2, 3, 1, 4), (0, 3, 2, 4), optimize=True) * -1 + del tmp30 + tmp29 = tmp8.transpose((0, 2, 1, 3)).copy() + tmp29 += tmp8 * -0.5 + tmp29 += v.ooov.transpose((1, 2, 0, 3)) * -0.5 + tmp29 += v.ooov.transpose((1, 0, 2, 3)) + tmp32 += einsum(tmp29, (0, 1, 2, 3), tmp16, (2, 4, 3, 5), (0, 4, 1, 5), optimize=True) * -4 + del tmp29 + tmp27 = einsum(tmp26, (0, 1, 2, 3), t1, (3, 4), (0, 1, 2, 4), optimize=True) + del tmp26 + tmp28 = tmp27.copy() * -2 + del tmp27 + tmp25 = einsum(tmp24, (0, 1, 2, 3), t1, (4, 3), (0, 4, 1, 2), optimize=True) + del tmp24 + tmp28 += tmp25 * 2 + del tmp25 + tmp32 += tmp28.transpose((1, 0, 2, 3)) * 0.5 + tmp32 += tmp28 * -1 + del tmp28 + l1new += einsum(tmp32, (0, 1, 2, 3), l2, (3, 4, 1, 0), (4, 2), optimize=True) + del tmp32 + tmp22 = l2.transpose((3, 2, 1, 0)).copy() * -1 + tmp22 += l2.transpose((3, 2, 0, 1)) * 2 + tmp23 = einsum(tmp22, (0, 1, 2, 3), tmp16, (0, 4, 3, 5), (1, 4, 2, 5), optimize=True) + del tmp22 + tmp23 += l2.transpose((3, 2, 1, 0)) + l1new += einsum(tmp23, (0, 1, 2, 3), v.ovvv, (1, 3, 2, 4), (4, 0), optimize=True) * 2 + del tmp23 + tmp21 = v.vvvv.transpose((2, 3, 1, 0)).copy() * 2 + tmp21 += v.vvvv.transpose((2, 1, 3, 0)) * -1 + tmp20 = einsum(l2, (0, 1, 2, 3), t1, (3, 4), (2, 0, 1, 4), optimize=True) + l1new += einsum(tmp20, (0, 1, 2, 3), tmp21, (2, 3, 4, 1), (4, 0), optimize=True) + del tmp20, tmp21 + tmp18 = tmp17.transpose((1, 0, 2, 3)).copy() + tmp18 += tmp17 * -0.5 + del tmp17 + tmp19 = einsum(t1, (0, 1), tmp18, (2, 0, 3, 4), (2, 3, 1, 4), optimize=True) * 2 + del tmp18 + tmp19 += einsum(tmp16, (0, 1, 2, 3), l2, (2, 4, 0, 5), (5, 1, 4, 3), optimize=True) * 2 + del tmp16 + tmp19 += einsum(tmp15, (0, 1, 2, 3), l2, (4, 2, 0, 5), (5, 1, 4, 3), optimize=True) + del tmp15 + l1new += einsum(v.ovvv, (0, 1, 2, 3), tmp19, (4, 0, 3, 2), (1, 4), optimize=True) * -1 + del tmp19 + tmp13 = tmp12.transpose((3, 0, 2, 1)).copy() * 2 + tmp13 += tmp12.transpose((2, 0, 3, 1)) * -1 + del tmp12 + tmp13 += v.oooo.transpose((2, 3, 1, 0)) * 2 + tmp13 += v.oooo.transpose((1, 3, 2, 0)) * -1 + tmp14 = einsum(t1, (0, 1), tmp13, (0, 2, 3, 4), (2, 4, 3, 1), optimize=True) * 0.5 + del tmp13 + tmp11 = v.ovov.transpose((2, 0, 3, 1)).copy() * -1 + tmp11 += v.oovv.transpose((1, 0, 3, 2)) * 2 + tmp14 += einsum(tmp11, (0, 1, 2, 3), t1, (4, 2), (4, 1, 0, 3), optimize=True) * -0.5 + del tmp11 + tmp10 = tmp8.transpose((0, 2, 1, 3)).copy() * -0.5 + tmp10 += tmp8 + tmp10 += v.ooov.transpose((1, 2, 0, 3)) + tmp10 += v.ooov.transpose((1, 0, 2, 3)) * -0.5 + tmp14 += einsum(t2, (0, 1, 2, 3), tmp10, (4, 5, 0, 3), (4, 1, 5, 2), optimize=True) + del tmp10 + tmp9 = tmp8.transpose((0, 2, 1, 3)).copy() * 2 + tmp9 += tmp8 * -1 + del tmp8 + tmp9 += v.ooov.transpose((1, 2, 0, 3)) * -1 + tmp9 += v.ooov.transpose((1, 0, 2, 3)) * 2 + tmp14 += einsum(tmp9, (0, 1, 2, 3), t2, (2, 4, 3, 5), (0, 4, 1, 5), optimize=True) * 0.5 + del tmp9 + tmp7 = einsum(t2, (0, 1, 2, 3), tmp6, (4, 2), (0, 1, 4, 3), optimize=True) + del tmp6 + tmp14 += tmp7 * 0.5 + tmp14 += tmp7.transpose((1, 0, 2, 3)) * -1 + del tmp7 + tmp2 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 2, 5, 3), (0, 1, 4, 5), optimize=True) + tmp3 = einsum(tmp2, (0, 1, 2, 3), t1, (3, 4), (0, 1, 2, 4), optimize=True) + del tmp2 + tmp4 = tmp3.copy() * -0.5 + del tmp3 + tmp1 = einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 3, 2, 5), (1, 0, 4, 5), optimize=True) + tmp4 += tmp1 * 0.5 + del tmp1 + tmp14 += tmp4.transpose((1, 0, 2, 3)) * -2 + tmp14 += tmp4 + del tmp4 + tmp0 = einsum(t2, (0, 1, 2, 3), f.ov, (4, 3), (4, 0, 1, 2), optimize=True) + tmp14 += tmp0.transpose((2, 1, 0, 3)) * 0.5 + tmp14 += tmp0.transpose((1, 2, 0, 3)) * -1 + del tmp0 + tmp14 += v.ooov.transpose((2, 1, 0, 3)) * -1 + tmp14 += v.ooov.transpose((1, 2, 0, 3)) * 0.5 + l1new += einsum(l2, (0, 1, 2, 3), tmp14, (3, 2, 4, 1), (0, 4), optimize=True) * 2 + del tmp14 + l1new += f.ov.transpose((1, 0)) + + return {f"l1new": l1new, f"l2new": l2new} + +def make_rdm1_f(l1=None, l2=None, t1=None, t2=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-02-29T20:31:32.984725. + + Parameters + ---------- + l1 : array + L1 amplitudes. + l2 : array + L2 amplitudes. + t1 : array + T1 amplitudes. + t2 : array + T2 amplitudes. + + Returns + ------- + rdm1 : array + One-particle reduced density matrix. + """ + + rdm1 = Namespace() + delta = Namespace( + oo=np.eye(t1.shape[0]), + vv=np.eye(t1.shape[1]), + ) + tmp6 = l2.transpose((3, 2, 1, 0)).copy() * 2 + tmp6 += l2.transpose((3, 2, 0, 1)) * -1 + rdm1.vv = einsum(t2, (0, 1, 2, 3), tmp6, (0, 1, 4, 3), (4, 2), optimize=True) * 2 + del tmp6 + rdm1.vv += einsum(l1, (0, 1), t1, (1, 2), (0, 2), optimize=True) * 2 + rdm1.vo = l1.copy() * 2 + tmp1 = t2.transpose((1, 0, 3, 2)).copy() + tmp1 += t2.transpose((1, 0, 2, 3)) * -0.5 + tmp5 = einsum(tmp1, (0, 1, 2, 3), l2, (2, 3, 0, 4), (4, 1), optimize=True) * 2 + tmp0 = einsum(l1, (0, 1), t1, (2, 0), (1, 2), optimize=True) + tmp5 += tmp0 + rdm1.ov = einsum(tmp5, (0, 1), t1, (0, 2), (1, 2), optimize=True) * -2 + del tmp5 + tmp4 = t2.transpose((1, 0, 3, 2)).copy() * -1 + tmp4 += t2.transpose((1, 0, 2, 3)) * 2 + rdm1.ov += einsum(tmp4, (0, 1, 2, 3), l1, (3, 0), (1, 2), optimize=True) * 2 + del tmp4 + tmp2 = einsum(l2, (0, 1, 2, 3), t1, (4, 1), (2, 3, 4, 0), optimize=True) + tmp3 = tmp2.transpose((1, 0, 2, 3)).copy() + tmp3 += tmp2 * -0.5 + del tmp2 + rdm1.ov += einsum(t2, (0, 1, 2, 3), tmp3, (0, 1, 4, 3), (4, 2), optimize=True) * -4 + del tmp3 + rdm1.ov += t1 * 2 + rdm1.oo = einsum(l2, (0, 1, 2, 3), tmp1, (2, 4, 0, 1), (4, 3), optimize=True) * -4 + del tmp1 + rdm1.oo += tmp0.transpose((1, 0)) * -2 + del tmp0 + rdm1.oo += delta.oo.transpose((1, 0)) * 2 + del delta + rdm1 = np.block([[rdm1.oo, rdm1.ov], [rdm1.vo, rdm1.vv]]) + + return rdm1 + +def make_rdm2_f(l1=None, l2=None, t1=None, t2=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-02-29T20:32:21.053195. + + Parameters + ---------- + l1 : array + L1 amplitudes. + l2 : array + L2 amplitudes. + t1 : array + T1 amplitudes. + t2 : array + T2 amplitudes. + + Returns + ------- + rdm2 : array + Two-particle reduced density matrix. + """ + + rdm2 = Namespace() + delta = Namespace( + oo=np.eye(t1.shape[0]), + vv=np.eye(t1.shape[1]), + ) + tmp114 = einsum(l2, (0, 1, 2, 3), t1, (3, 4), (2, 0, 1, 4), optimize=True) + tmp116 = einsum(tmp114, (0, 1, 2, 3), t1, (0, 4), (2, 1, 3, 4), optimize=True) + tmp117 = tmp116.transpose((1, 0, 3, 2)).copy() + tmp115 = einsum(t2, (0, 1, 2, 3), l2, (4, 5, 0, 1), (4, 5, 2, 3), optimize=True) + tmp117 += tmp115.transpose((1, 0, 3, 2)) + rdm2.vvvv = tmp117.copy() + rdm2.vvvv += tmp117.transpose((0, 1, 3, 2)) * -1 + rdm2.vvvv += tmp116.transpose((1, 0, 3, 2)) + rdm2.vvvv += tmp115.transpose((1, 0, 3, 2)) + rdm2.vvvv += tmp116.transpose((1, 0, 3, 2)) + del tmp116 + rdm2.vvvv += tmp115.transpose((1, 0, 3, 2)) + del tmp115 + rdm2.vvvv += tmp117 + rdm2.vvvv += tmp117.transpose((0, 1, 3, 2)) * -1 + del tmp117 + rdm2.vvvo = tmp114.transpose((2, 1, 3, 0)).copy() + rdm2.vvvo += tmp114.transpose((1, 2, 3, 0)) * -1 + rdm2.vvvo += tmp114.transpose((2, 1, 3, 0)) + rdm2.vvvo += tmp114.transpose((2, 1, 3, 0)) + rdm2.vvvo += tmp114.transpose((2, 1, 3, 0)) + rdm2.vvvo += tmp114.transpose((1, 2, 3, 0)) * -1 + rdm2.vvov = tmp114.transpose((2, 1, 0, 3)).copy() * -1 + rdm2.vvov += tmp114.transpose((1, 2, 0, 3)) + rdm2.vvov += tmp114.transpose((1, 2, 0, 3)) + rdm2.vvov += tmp114.transpose((1, 2, 0, 3)) + rdm2.vvov += tmp114.transpose((2, 1, 0, 3)) * -1 + rdm2.vvov += tmp114.transpose((1, 2, 0, 3)) + del tmp114 + tmp61 = l2.transpose((3, 2, 1, 0)).copy() * 2 + tmp61 += l2.transpose((3, 2, 0, 1)) * -1 + tmp85 = einsum(t2, (0, 1, 2, 3), tmp61, (0, 1, 4, 3), (4, 2), optimize=True) + tmp86 = tmp85.copy() + del tmp85 + tmp84 = einsum(l1, (0, 1), t1, (1, 2), (0, 2), optimize=True) + tmp86 += tmp84 + tmp111 = einsum(t1, (0, 1), tmp86, (2, 3), (0, 2, 1, 3), optimize=True) + tmp1 = einsum(l2, (0, 1, 2, 3), t1, (4, 0), (3, 2, 4, 1), optimize=True) + tmp100 = einsum(t2, (0, 1, 2, 3), tmp1, (0, 1, 4, 5), (4, 5, 2, 3), optimize=True) + tmp111 += tmp100 + rdm2.vovv = tmp111.transpose((1, 0, 3, 2)).copy() + rdm2.vovv += tmp111.transpose((1, 0, 2, 3)) * -1 + tmp80 = t2.transpose((1, 0, 3, 2)).copy() * 2 + tmp80 += t2.transpose((1, 0, 2, 3)) * -1 + tmp81 = einsum(l2, (0, 1, 2, 3), tmp80, (2, 4, 0, 5), (4, 3, 5, 1), optimize=True) + del tmp80 + tmp108 = tmp81.transpose((1, 0, 3, 2)).copy() * -1 + tmp78 = t2.transpose((1, 0, 3, 2)).copy() + tmp78 += t2.transpose((1, 0, 2, 3)) * -1 + tmp79 = einsum(tmp78, (0, 1, 2, 3), l2, (4, 2, 0, 5), (1, 5, 3, 4), optimize=True) + del tmp78 + tmp108 += tmp79.transpose((1, 0, 3, 2)) + tmp92 = einsum(tmp1, (0, 1, 2, 3), t1, (1, 4), (0, 2, 3, 4), optimize=True) + tmp108 += tmp92 + tmp109 = einsum(tmp108, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4), optimize=True) + del tmp108 + tmp110 = tmp109.transpose((0, 1, 3, 2)).copy() + del tmp109 + tmp96 = einsum(t2, (0, 1, 2, 3), l1, (4, 1), (0, 4, 2, 3), optimize=True) + tmp110 += tmp96 + rdm2.vovv += tmp110.transpose((1, 0, 3, 2)) + rdm2.vovv += tmp110.transpose((1, 0, 2, 3)) * -1 + tmp62 = einsum(t2, (0, 1, 2, 3), tmp61, (0, 1, 4, 3), (4, 2), optimize=True) * 0.5 + del tmp61 + tmp95 = tmp62.copy() + tmp95 += tmp84 * 0.5 + rdm2.vovv += einsum(tmp95, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) * 2 + tmp44 = l2.transpose((3, 2, 1, 0)).copy() * -1 + tmp44 += l2.transpose((3, 2, 0, 1)) * 2 + tmp45 = einsum(t2, (0, 1, 2, 3), tmp44, (0, 4, 5, 2), (4, 1, 5, 3), optimize=True) + del tmp44 + tmp112 = tmp45.copy() * -1 + tmp112 += tmp92 + tmp66 = einsum(t2, (0, 1, 2, 3), l2, (4, 2, 5, 1), (5, 0, 4, 3), optimize=True) + tmp112 += tmp66 + tmp113 = einsum(tmp112, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4), optimize=True) + del tmp112 + rdm2.vovv += tmp113.transpose((1, 0, 3, 2)) * -1 + rdm2.vovv += tmp100.transpose((1, 0, 2, 3)) * -1 + tmp68 = einsum(l2, (0, 1, 2, 3), t2, (4, 3, 0, 5), (2, 4, 1, 5), optimize=True) + tmp103 = einsum(tmp68, (0, 1, 2, 3), t1, (0, 4), (1, 2, 4, 3), optimize=True) + rdm2.vovv += tmp103.transpose((1, 0, 3, 2)) * -1 + rdm2.vovv += tmp96.transpose((1, 0, 3, 2)) + rdm2.vovv += einsum(tmp95, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) * 2 + rdm2.vovv += tmp113.transpose((1, 0, 3, 2)) * -1 + del tmp113 + rdm2.vovv += tmp100.transpose((1, 0, 2, 3)) * -1 + rdm2.vovv += tmp103.transpose((1, 0, 3, 2)) * -1 + rdm2.vovv += tmp96.transpose((1, 0, 3, 2)) + rdm2.vovv += tmp111.transpose((1, 0, 3, 2)) + rdm2.vovv += tmp111.transpose((1, 0, 2, 3)) * -1 + del tmp111 + rdm2.vovv += tmp110.transpose((1, 0, 3, 2)) + rdm2.vovv += tmp110.transpose((1, 0, 2, 3)) * -1 + del tmp110 + tmp102 = einsum(t1, (0, 1), tmp92, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) + rdm2.ovvv = tmp102.transpose((0, 1, 3, 2)).copy() * -1 + rdm2.ovvv += tmp102 + tmp101 = einsum(tmp62, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) * 2 + tmp101 += tmp100 + rdm2.ovvv += tmp101.transpose((0, 1, 3, 2)) * -1 + rdm2.ovvv += tmp101 + tmp97 = tmp79.transpose((1, 0, 3, 2)).copy() * -1 + tmp97 += tmp81.transpose((1, 0, 3, 2)) + tmp98 = einsum(tmp97, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4), optimize=True) + del tmp97 + tmp99 = tmp98.transpose((0, 1, 3, 2)).copy() * -1 + del tmp98 + tmp99 += einsum(t1, (0, 1), tmp84, (2, 3), (0, 2, 1, 3), optimize=True) + del tmp84 + tmp99 += tmp96 + rdm2.ovvv += tmp99.transpose((0, 1, 3, 2)) * -1 + rdm2.ovvv += tmp99 + rdm2.ovvv += einsum(t1, (0, 1), tmp86, (2, 3), (0, 2, 1, 3), optimize=True) + tmp104 = l2.transpose((3, 2, 1, 0)).copy() * -1 + tmp104 += l2.transpose((3, 2, 0, 1)) * 2 + tmp105 = einsum(t2, (0, 1, 2, 3), tmp104, (0, 4, 5, 2), (4, 1, 5, 3), optimize=True) + del tmp104 + tmp106 = tmp105.copy() * -1 + del tmp105 + tmp106 += tmp92 + tmp106 += tmp66 + tmp107 = einsum(tmp106, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4), optimize=True) + del tmp106 + rdm2.ovvv += tmp107 * -1 + rdm2.ovvv += tmp103 * -1 + rdm2.ovvv += tmp100.transpose((0, 1, 3, 2)) * -1 + rdm2.ovvv += tmp96 + rdm2.ovvv += einsum(t1, (0, 1), tmp86, (2, 3), (0, 2, 1, 3), optimize=True) + rdm2.ovvv += tmp107 * -1 + del tmp107 + rdm2.ovvv += tmp103 * -1 + del tmp103 + rdm2.ovvv += tmp100.transpose((0, 1, 3, 2)) * -1 + del tmp100 + rdm2.ovvv += tmp96 + del tmp96 + rdm2.ovvv += tmp102.transpose((0, 1, 3, 2)) * -1 + rdm2.ovvv += tmp102 + del tmp102 + rdm2.ovvv += tmp101.transpose((0, 1, 3, 2)) * -1 + rdm2.ovvv += tmp101 + del tmp101 + rdm2.ovvv += tmp99.transpose((0, 1, 3, 2)) * -1 + rdm2.ovvv += tmp99 + del tmp99 + rdm2.vvoo = l2.transpose((1, 0, 3, 2)).copy() + rdm2.vvoo += l2.transpose((0, 1, 3, 2)) * -1 + rdm2.vvoo += l2.transpose((1, 0, 3, 2)) + rdm2.vvoo += l2.transpose((1, 0, 3, 2)) + rdm2.vvoo += l2.transpose((1, 0, 3, 2)) + rdm2.vvoo += l2.transpose((0, 1, 3, 2)) * -1 + rdm2.vovo = einsum(tmp95, (0, 1), delta.oo, (2, 3), (0, 3, 1, 2), optimize=True) * 2 + tmp17 = tmp1.transpose((1, 0, 2, 3)).copy() + tmp17 += tmp1 * -1 + tmp93 = einsum(tmp17, (0, 1, 2, 3), t1, (1, 4), (0, 2, 3, 4), optimize=True) + rdm2.vovo += tmp93.transpose((2, 1, 3, 0)) * -1 + tmp53 = l2.transpose((3, 2, 1, 0)).copy() * -1 + tmp53 += l2.transpose((3, 2, 0, 1)) + tmp94 = einsum(t2, (0, 1, 2, 3), tmp53, (0, 4, 3, 5), (4, 1, 5, 2), optimize=True) + rdm2.vovo += tmp94.transpose((2, 1, 3, 0)) * -1 + tmp88 = l2.transpose((3, 2, 1, 0)).copy() * 2 + tmp88 += l2.transpose((3, 2, 0, 1)) * -1 + tmp89 = einsum(tmp88, (0, 1, 2, 3), t2, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) + del tmp88 + rdm2.vovo += tmp89.transpose((2, 1, 3, 0)) * -1 + rdm2.vovo += einsum(t1, (0, 1), l1, (2, 3), (2, 0, 1, 3), optimize=True) * -1 + rdm2.vovo += einsum(tmp95, (0, 1), delta.oo, (2, 3), (0, 3, 1, 2), optimize=True) * 2 + tmp87 = einsum(tmp1, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4), optimize=True) + rdm2.vovo += tmp87.transpose((2, 1, 3, 0)) * -1 + rdm2.vovo += tmp68.transpose((2, 1, 3, 0)) * -1 + rdm2.vovo += einsum(tmp95, (0, 1), delta.oo, (2, 3), (0, 3, 1, 2), optimize=True) * 2 + rdm2.vovo += tmp87.transpose((2, 1, 3, 0)) * -1 + rdm2.vovo += tmp68.transpose((2, 1, 3, 0)) * -1 + rdm2.vovo += einsum(tmp95, (0, 1), delta.oo, (2, 3), (0, 3, 1, 2), optimize=True) * 2 + del tmp95 + rdm2.vovo += tmp93.transpose((2, 1, 3, 0)) * -1 + rdm2.vovo += tmp94.transpose((2, 1, 3, 0)) * -1 + del tmp94 + rdm2.vovo += tmp89.transpose((2, 1, 3, 0)) * -1 + rdm2.vovo += einsum(t1, (0, 1), l1, (2, 3), (2, 0, 1, 3), optimize=True) * -1 + rdm2.voov = einsum(tmp86, (0, 1), delta.oo, (2, 3), (0, 3, 2, 1), optimize=True) * -1 + rdm2.voov += tmp93.transpose((2, 1, 0, 3)) + rdm2.voov += tmp79.transpose((3, 0, 1, 2)) * -1 + rdm2.voov += tmp81.transpose((3, 0, 1, 2)) + rdm2.voov += einsum(t1, (0, 1), l1, (2, 3), (2, 0, 3, 1), optimize=True) + rdm2.voov += tmp89.transpose((2, 1, 0, 3)) + rdm2.voov += tmp92.transpose((2, 1, 0, 3)) * -1 + rdm2.voov += tmp66.transpose((2, 1, 0, 3)) * -1 + rdm2.voov += einsum(t1, (0, 1), l1, (2, 3), (2, 0, 3, 1), optimize=True) + rdm2.voov += tmp89.transpose((2, 1, 0, 3)) + rdm2.voov += tmp92.transpose((2, 1, 0, 3)) * -1 + rdm2.voov += tmp66.transpose((2, 1, 0, 3)) * -1 + rdm2.voov += einsum(t1, (0, 1), l1, (2, 3), (2, 0, 3, 1), optimize=True) + rdm2.voov += einsum(tmp86, (0, 1), delta.oo, (2, 3), (0, 3, 2, 1), optimize=True) * -1 + rdm2.voov += tmp93.transpose((2, 1, 0, 3)) + del tmp93 + rdm2.voov += tmp79.transpose((3, 0, 1, 2)) * -1 + rdm2.voov += tmp81.transpose((3, 0, 1, 2)) + rdm2.voov += einsum(t1, (0, 1), l1, (2, 3), (2, 0, 3, 1), optimize=True) + rdm2.ovvo = einsum(tmp86, (0, 1), delta.oo, (2, 3), (3, 0, 1, 2), optimize=True) * -1 + tmp82 = tmp1.transpose((1, 0, 2, 3)).copy() * -1 + tmp82 += tmp1 + tmp83 = einsum(tmp82, (0, 1, 2, 3), t1, (1, 4), (0, 2, 3, 4), optimize=True) + del tmp82 + rdm2.ovvo += tmp83.transpose((1, 2, 3, 0)) * -1 + tmp90 = l2.transpose((3, 2, 1, 0)).copy() + tmp90 += l2.transpose((3, 2, 0, 1)) * -1 + tmp91 = einsum(t2, (0, 1, 2, 3), tmp90, (0, 4, 3, 5), (4, 1, 5, 2), optimize=True) + del tmp90 + rdm2.ovvo += tmp91.transpose((1, 2, 3, 0)) * -1 + rdm2.ovvo += tmp89.transpose((1, 2, 3, 0)) + rdm2.ovvo += einsum(t1, (0, 1), l1, (2, 3), (0, 2, 1, 3), optimize=True) + rdm2.ovvo += tmp89.transpose((1, 2, 3, 0)) + rdm2.ovvo += tmp92.transpose((1, 2, 3, 0)) * -1 + rdm2.ovvo += tmp66.transpose((1, 2, 3, 0)) * -1 + rdm2.ovvo += einsum(t1, (0, 1), l1, (2, 3), (0, 2, 1, 3), optimize=True) + rdm2.ovvo += tmp89.transpose((1, 2, 3, 0)) + rdm2.ovvo += tmp92.transpose((1, 2, 3, 0)) * -1 + del tmp92 + rdm2.ovvo += tmp66.transpose((1, 2, 3, 0)) * -1 + rdm2.ovvo += einsum(t1, (0, 1), l1, (2, 3), (0, 2, 1, 3), optimize=True) + rdm2.ovvo += einsum(tmp86, (0, 1), delta.oo, (2, 3), (3, 0, 1, 2), optimize=True) * -1 + rdm2.ovvo += tmp83.transpose((1, 2, 3, 0)) * -1 + rdm2.ovvo += tmp91.transpose((1, 2, 3, 0)) * -1 + del tmp91 + rdm2.ovvo += tmp89.transpose((1, 2, 3, 0)) + del tmp89 + rdm2.ovvo += einsum(t1, (0, 1), l1, (2, 3), (0, 2, 1, 3), optimize=True) + rdm2.ovov = einsum(tmp86, (0, 1), delta.oo, (2, 3), (3, 0, 2, 1), optimize=True) + rdm2.ovov += tmp83.transpose((1, 2, 0, 3)) + rdm2.ovov += tmp81.transpose((0, 3, 1, 2)) * -1 + rdm2.ovov += tmp79.transpose((0, 3, 1, 2)) + rdm2.ovov += einsum(t1, (0, 1), l1, (2, 3), (0, 2, 3, 1), optimize=True) * -1 + rdm2.ovov += einsum(tmp86, (0, 1), delta.oo, (2, 3), (3, 0, 2, 1), optimize=True) + rdm2.ovov += tmp87.transpose((1, 2, 0, 3)) * -1 + rdm2.ovov += tmp68.transpose((1, 2, 0, 3)) * -1 + rdm2.ovov += einsum(tmp86, (0, 1), delta.oo, (2, 3), (3, 0, 2, 1), optimize=True) + rdm2.ovov += tmp87.transpose((1, 2, 0, 3)) * -1 + del tmp87 + rdm2.ovov += tmp68.transpose((1, 2, 0, 3)) * -1 + rdm2.ovov += einsum(tmp86, (0, 1), delta.oo, (2, 3), (3, 0, 2, 1), optimize=True) + del tmp86 + rdm2.ovov += tmp83.transpose((1, 2, 0, 3)) + del tmp83 + rdm2.ovov += tmp81.transpose((0, 3, 1, 2)) * -1 + del tmp81 + rdm2.ovov += tmp79.transpose((0, 3, 1, 2)) + del tmp79 + rdm2.ovov += einsum(t1, (0, 1), l1, (2, 3), (0, 2, 3, 1), optimize=True) * -1 + tmp4 = t2.transpose((1, 0, 3, 2)).copy() + tmp4 += t2.transpose((1, 0, 2, 3)) * -0.5 + tmp5 = einsum(l2, (0, 1, 2, 3), tmp4, (2, 4, 0, 1), (3, 4), optimize=True) * 2 + tmp13 = einsum(tmp5, (0, 1), t1, (0, 2), (1, 2), optimize=True) * 0.5 + tmp14 = tmp13.copy() + del tmp13 + tmp11 = tmp1.transpose((1, 0, 2, 3)).copy() * 2 + tmp11 += tmp1 * -1 + tmp12 = einsum(t2, (0, 1, 2, 3), tmp11, (0, 1, 4, 3), (4, 2), optimize=True) * 0.5 + tmp14 += tmp12 + tmp65 = einsum(t1, (0, 1), tmp14, (2, 3), (0, 2, 1, 3), optimize=True) * 2 + tmp64 = einsum(t2, (0, 1, 2, 3), tmp5, (0, 4), (1, 4, 2, 3), optimize=True) + tmp65 += tmp64.transpose((0, 1, 3, 2)) + del tmp64 + tmp63 = einsum(t2, (0, 1, 2, 3), tmp62, (2, 4), (0, 1, 4, 3), optimize=True) * 2 + del tmp62 + tmp65 += tmp63.transpose((1, 0, 3, 2)) + del tmp63 + rdm2.oovv = tmp65.transpose((1, 0, 3, 2)).copy() * -1 + rdm2.oovv += tmp65.transpose((1, 0, 2, 3)) + rdm2.oovv += tmp65.transpose((0, 1, 3, 2)) + rdm2.oovv += tmp65 * -1 + tmp0 = einsum(t2, (0, 1, 2, 3), l2, (3, 2, 4, 5), (4, 5, 1, 0), optimize=True) + tmp22 = einsum(tmp0, (0, 1, 2, 3), t1, (1, 4), (0, 2, 3, 4), optimize=True) + tmp59 = einsum(tmp22, (0, 1, 2, 3), t1, (0, 4), (1, 2, 4, 3), optimize=True) + tmp60 = tmp59.copy() + del tmp59 + tmp2 = einsum(t1, (0, 1), tmp1, (2, 3, 4, 1), (2, 3, 0, 4), optimize=True) + tmp58 = einsum(t2, (0, 1, 2, 3), tmp2, (1, 0, 4, 5), (4, 5, 3, 2), optimize=True) + tmp60 += tmp58 + tmp57 = einsum(tmp0, (0, 1, 2, 3), t2, (0, 1, 4, 5), (2, 3, 4, 5), optimize=True) + tmp60 += tmp57 + rdm2.oovv += tmp60.transpose((0, 1, 3, 2)) * -1 + rdm2.oovv += tmp60 + tmp54 = einsum(t2, (0, 1, 2, 3), tmp53, (0, 4, 5, 3), (4, 1, 5, 2), optimize=True) + del tmp53 + tmp55 = einsum(t2, (0, 1, 2, 3), tmp54, (0, 4, 3, 5), (4, 1, 5, 2), optimize=True) + del tmp54 + tmp56 = tmp55.transpose((1, 0, 3, 2)).copy() + del tmp55 + tmp52 = einsum(tmp45, (0, 1, 2, 3), t2, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) + tmp56 += tmp52 * 2 + tmp16 = einsum(tmp2, (0, 1, 2, 3), t1, (0, 4), (1, 3, 2, 4), optimize=True) + tmp51 = einsum(t1, (0, 1), tmp16, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) + tmp56 += tmp51 + del tmp51 + rdm2.oovv += tmp56.transpose((0, 1, 3, 2)) * -1 + rdm2.oovv += tmp56 + tmp8 = t2.transpose((1, 0, 3, 2)).copy() * -1 + tmp8 += t2.transpose((1, 0, 2, 3)) * 2 + tmp9 = einsum(tmp8, (0, 1, 2, 3), l1, (3, 0), (1, 2), optimize=True) + del tmp8 + tmp49 = tmp9.copy() * -1 + tmp6 = einsum(l1, (0, 1), t1, (2, 0), (1, 2), optimize=True) + tmp10 = einsum(tmp6, (0, 1), t1, (0, 2), (1, 2), optimize=True) + tmp49 += tmp10 + tmp50 = einsum(t1, (0, 1), tmp49, (2, 3), (0, 2, 1, 3), optimize=True) * -1 + del tmp49 + tmp19 = tmp1.transpose((1, 0, 2, 3)).copy() * 2 + tmp19 += tmp1 * -1 + tmp20 = einsum(t2, (0, 1, 2, 3), tmp19, (4, 0, 5, 2), (4, 5, 1, 3), optimize=True) + del tmp19 + tmp47 = tmp20.copy() * -1 + tmp18 = einsum(tmp17, (0, 1, 2, 3), t2, (1, 4, 5, 3), (0, 2, 4, 5), optimize=True) + del tmp17 + tmp47 += tmp18 + tmp15 = einsum(t2, (0, 1, 2, 3), l1, (3, 4), (4, 0, 1, 2), optimize=True) + tmp47 += tmp15 + tmp48 = einsum(tmp47, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4), optimize=True) + del tmp47 + tmp50 += tmp48.transpose((0, 1, 3, 2)) + del tmp48 + tmp46 = einsum(t2, (0, 1, 2, 3), tmp45, (0, 4, 3, 5), (4, 1, 5, 2), optimize=True) + del tmp45 + tmp50 += tmp46 * -1 + tmp43 = einsum(t2, (0, 1, 2, 3), tmp6, (1, 4), (4, 0, 2, 3), optimize=True) + tmp50 += tmp43 + rdm2.oovv += tmp50.transpose((1, 0, 3, 2)) + rdm2.oovv += tmp50.transpose((1, 0, 2, 3)) * -1 + rdm2.oovv += tmp50.transpose((0, 1, 3, 2)) * -1 + rdm2.oovv += tmp50 + rdm2.oovv += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) + rdm2.oovv += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 3, 1), optimize=True) * -1 + rdm2.oovv += t2.transpose((1, 0, 3, 2)) + rdm2.oovv += t2.transpose((1, 0, 2, 3)) * -1 + tmp77 = tmp10.copy() * -1 + tmp77 += t1 + rdm2.oovv += einsum(tmp77, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) + tmp3 = tmp2.copy() + tmp3 += tmp0.transpose((1, 0, 3, 2)) + tmp28 = einsum(t1, (0, 1), tmp3, (0, 2, 3, 4), (2, 3, 4, 1), optimize=True) + tmp76 = einsum(tmp28, (0, 1, 2, 3), t1, (0, 4), (2, 1, 3, 4), optimize=True) + rdm2.oovv += tmp76.transpose((0, 1, 3, 2)) + rdm2.oovv += tmp52.transpose((1, 0, 3, 2)) * 2 + rdm2.oovv += tmp65.transpose((1, 0, 3, 2)) * -1 + rdm2.oovv += tmp65 * -1 + tmp25 = einsum(tmp1, (0, 1, 2, 3), t2, (4, 1, 3, 5), (0, 2, 4, 5), optimize=True) + tmp73 = tmp25.copy() * -1 + tmp73 += tmp15 + tmp74 = einsum(tmp73, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4), optimize=True) + del tmp73 + tmp75 = tmp74.transpose((0, 1, 3, 2)).copy() + del tmp74 + tmp75 += tmp43 + del tmp43 + rdm2.oovv += tmp75.transpose((1, 0, 2, 3)) * -1 + rdm2.oovv += tmp75.transpose((0, 1, 3, 2)) * -1 + tmp72 = einsum(t1, (0, 1), tmp9, (2, 3), (0, 2, 1, 3), optimize=True) + tmp70 = tmp20.copy() * -1 + tmp24 = einsum(tmp1, (0, 1, 2, 3), t2, (4, 0, 3, 5), (1, 2, 4, 5), optimize=True) + tmp70 += tmp24 + tmp71 = einsum(tmp70, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4), optimize=True) + del tmp70 + tmp72 += tmp71.transpose((0, 1, 3, 2)) + del tmp71 + tmp72 += tmp46 * -1 + del tmp46 + rdm2.oovv += tmp72.transpose((1, 0, 3, 2)) + rdm2.oovv += tmp72 + rdm2.oovv += tmp58 + rdm2.oovv += tmp57 + tmp69 = einsum(tmp68, (0, 1, 2, 3), t2, (4, 0, 2, 5), (1, 4, 3, 5), optimize=True) + del tmp68 + rdm2.oovv += tmp69.transpose((0, 1, 3, 2)) + tmp67 = einsum(tmp66, (0, 1, 2, 3), t2, (4, 0, 2, 5), (1, 4, 3, 5), optimize=True) + del tmp66 + rdm2.oovv += tmp67 + rdm2.oovv += einsum(t1, (0, 1), tmp10, (2, 3), (0, 2, 1, 3), optimize=True) * -1 + rdm2.oovv += t2.transpose((1, 0, 3, 2)) + rdm2.oovv += einsum(tmp77, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) + del tmp77 + rdm2.oovv += tmp76.transpose((0, 1, 3, 2)) + del tmp76 + rdm2.oovv += tmp52.transpose((1, 0, 3, 2)) * 2 + del tmp52 + rdm2.oovv += tmp65.transpose((1, 0, 3, 2)) * -1 + rdm2.oovv += tmp65 * -1 + rdm2.oovv += tmp75.transpose((1, 0, 2, 3)) * -1 + rdm2.oovv += tmp75.transpose((0, 1, 3, 2)) * -1 + del tmp75 + rdm2.oovv += tmp72.transpose((1, 0, 3, 2)) + rdm2.oovv += tmp72 + del tmp72 + rdm2.oovv += tmp58 + del tmp58 + rdm2.oovv += tmp57 + del tmp57 + rdm2.oovv += tmp69.transpose((0, 1, 3, 2)) + del tmp69 + rdm2.oovv += tmp67 + del tmp67 + rdm2.oovv += einsum(t1, (0, 1), tmp10, (2, 3), (0, 2, 1, 3), optimize=True) * -1 + rdm2.oovv += t2.transpose((1, 0, 3, 2)) + rdm2.oovv += tmp65.transpose((1, 0, 3, 2)) * -1 + rdm2.oovv += tmp65.transpose((1, 0, 2, 3)) + rdm2.oovv += tmp65.transpose((0, 1, 3, 2)) + rdm2.oovv += tmp65 * -1 + del tmp65 + rdm2.oovv += tmp60.transpose((0, 1, 3, 2)) * -1 + rdm2.oovv += tmp60 + del tmp60 + rdm2.oovv += tmp56.transpose((0, 1, 3, 2)) * -1 + rdm2.oovv += tmp56 + del tmp56 + rdm2.oovv += tmp50.transpose((1, 0, 3, 2)) + rdm2.oovv += tmp50.transpose((1, 0, 2, 3)) * -1 + rdm2.oovv += tmp50.transpose((0, 1, 3, 2)) * -1 + rdm2.oovv += tmp50 + del tmp50 + rdm2.oovv += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) + rdm2.oovv += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 3, 1), optimize=True) * -1 + rdm2.oovv += t2.transpose((1, 0, 3, 2)) + rdm2.oovv += t2.transpose((1, 0, 2, 3)) * -1 + rdm2.vooo = tmp1.transpose((3, 2, 1, 0)).copy() + rdm2.vooo += tmp1.transpose((3, 2, 0, 1)) * -1 + rdm2.vooo += einsum(l1, (0, 1), delta.oo, (2, 3), (0, 3, 2, 1), optimize=True) * -1 + rdm2.vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 1, 3, 0), optimize=True) + rdm2.vooo += tmp1.transpose((3, 2, 0, 1)) * -1 + rdm2.vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 1, 3, 0), optimize=True) + rdm2.vooo += tmp1.transpose((3, 2, 0, 1)) * -1 + rdm2.vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 1, 3, 0), optimize=True) + rdm2.vooo += tmp1.transpose((3, 2, 1, 0)) + rdm2.vooo += tmp1.transpose((3, 2, 0, 1)) * -1 + rdm2.vooo += einsum(l1, (0, 1), delta.oo, (2, 3), (0, 3, 2, 1), optimize=True) * -1 + rdm2.vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 1, 3, 0), optimize=True) + rdm2.ovoo = tmp1.transpose((2, 3, 1, 0)).copy() * -1 + rdm2.ovoo += tmp1.transpose((2, 3, 0, 1)) + rdm2.ovoo += einsum(l1, (0, 1), delta.oo, (2, 3), (3, 0, 2, 1), optimize=True) + rdm2.ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (1, 2, 3, 0), optimize=True) * -1 + rdm2.ovoo += tmp1.transpose((2, 3, 1, 0)) * -1 + rdm2.ovoo += einsum(l1, (0, 1), delta.oo, (2, 3), (3, 0, 2, 1), optimize=True) + rdm2.ovoo += tmp1.transpose((2, 3, 1, 0)) * -1 + rdm2.ovoo += einsum(l1, (0, 1), delta.oo, (2, 3), (3, 0, 2, 1), optimize=True) + rdm2.ovoo += tmp1.transpose((2, 3, 1, 0)) * -1 + rdm2.ovoo += tmp1.transpose((2, 3, 0, 1)) + rdm2.ovoo += einsum(l1, (0, 1), delta.oo, (2, 3), (3, 0, 2, 1), optimize=True) + rdm2.ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (1, 2, 3, 0), optimize=True) * -1 + tmp39 = einsum(tmp5, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) + tmp39 += tmp28.transpose((0, 2, 1, 3)) + tmp39 += tmp15 + rdm2.oovo = tmp39.transpose((2, 1, 3, 0)).copy() + rdm2.oovo += tmp39.transpose((1, 2, 3, 0)) * -1 + tmp38 = tmp20.copy() * -1 + tmp38 += tmp18 + tmp38 += einsum(tmp6, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) + rdm2.oovo += tmp38.transpose((2, 1, 3, 0)) + rdm2.oovo += tmp38.transpose((1, 2, 3, 0)) * -1 + rdm2.oovo += einsum(delta.oo, (0, 1), t1, (2, 3), (1, 2, 3, 0), optimize=True) * -1 + rdm2.oovo += einsum(t1, (0, 1), delta.oo, (2, 3), (0, 3, 1, 2), optimize=True) + tmp32 = einsum(l2, (0, 1, 2, 3), tmp4, (2, 4, 0, 1), (3, 4), optimize=True) + del tmp4 + tmp33 = tmp32.copy() + del tmp32 + tmp33 += tmp6 * 0.5 + tmp34 = einsum(tmp33, (0, 1), t1, (0, 2), (1, 2), optimize=True) * 2 + tmp37 = tmp34.copy() + tmp29 = einsum(t2, (0, 1, 2, 3), tmp11, (0, 1, 4, 3), (4, 2), optimize=True) + del tmp11 + tmp37 += tmp29 + rdm2.oovo += einsum(delta.oo, (0, 1), tmp37, (2, 3), (0, 2, 3, 1), optimize=True) + rdm2.oovo += einsum(delta.oo, (0, 1), tmp37, (2, 3), (2, 1, 3, 0), optimize=True) * -1 + rdm2.oovo += einsum(delta.oo, (0, 1), tmp9, (2, 3), (0, 2, 3, 1), optimize=True) * -1 + rdm2.oovo += einsum(tmp9, (0, 1), delta.oo, (2, 3), (0, 3, 1, 2), optimize=True) + tmp36 = tmp5.copy() + tmp36 += tmp6 + rdm2.oovo += einsum(t1, (0, 1), tmp36, (2, 3), (0, 3, 1, 2), optimize=True) * -1 + tmp41 = einsum(tmp33, (0, 1), t1, (0, 2), (1, 2), optimize=True) + del tmp33 + tmp42 = tmp41.copy() + del tmp41 + tmp30 = t2.transpose((1, 0, 3, 2)).copy() * -1 + tmp30 += t2.transpose((1, 0, 2, 3)) * 2 + tmp40 = einsum(l1, (0, 1), tmp30, (1, 2, 3, 0), (2, 3), optimize=True) * 0.5 + tmp42 += tmp40 * -1 + del tmp40 + tmp42 += tmp12 + del tmp12 + tmp42 += t1 * -0.5 + rdm2.oovo += einsum(tmp42, (0, 1), delta.oo, (2, 3), (0, 3, 1, 2), optimize=True) * -2 + rdm2.oovo += tmp28.transpose((1, 2, 3, 0)) + tmp26 = tmp1.transpose((1, 0, 2, 3)).copy() * -1 + tmp26 += tmp1 * 2 + del tmp1 + tmp27 = einsum(tmp26, (0, 1, 2, 3), t2, (0, 4, 3, 5), (1, 2, 4, 5), optimize=True) + del tmp26 + rdm2.oovo += tmp27.transpose((2, 1, 3, 0)) * -1 + rdm2.oovo += tmp15.transpose((1, 2, 3, 0)) * -1 + rdm2.oovo += tmp24.transpose((2, 1, 3, 0)) + rdm2.oovo += tmp25.transpose((1, 2, 3, 0)) + rdm2.oovo += einsum(t1, (0, 1), tmp36, (2, 3), (0, 3, 1, 2), optimize=True) * -1 + rdm2.oovo += einsum(tmp42, (0, 1), delta.oo, (2, 3), (0, 3, 1, 2), optimize=True) * -2 + del tmp42 + rdm2.oovo += tmp28.transpose((1, 2, 3, 0)) + rdm2.oovo += tmp27.transpose((2, 1, 3, 0)) * -1 + rdm2.oovo += tmp15.transpose((1, 2, 3, 0)) * -1 + rdm2.oovo += tmp24.transpose((2, 1, 3, 0)) + rdm2.oovo += tmp25.transpose((1, 2, 3, 0)) + rdm2.oovo += tmp39.transpose((2, 1, 3, 0)) + rdm2.oovo += tmp39.transpose((1, 2, 3, 0)) * -1 + del tmp39 + rdm2.oovo += tmp38.transpose((2, 1, 3, 0)) + rdm2.oovo += tmp38.transpose((1, 2, 3, 0)) * -1 + del tmp38 + rdm2.oovo += einsum(delta.oo, (0, 1), t1, (2, 3), (1, 2, 3, 0), optimize=True) * -1 + rdm2.oovo += einsum(t1, (0, 1), delta.oo, (2, 3), (0, 3, 1, 2), optimize=True) + rdm2.oovo += einsum(delta.oo, (0, 1), tmp37, (2, 3), (0, 2, 3, 1), optimize=True) + rdm2.oovo += einsum(delta.oo, (0, 1), tmp37, (2, 3), (2, 1, 3, 0), optimize=True) * -1 + del tmp37 + rdm2.oovo += einsum(delta.oo, (0, 1), tmp9, (2, 3), (0, 2, 3, 1), optimize=True) * -1 + rdm2.oovo += einsum(tmp9, (0, 1), delta.oo, (2, 3), (0, 3, 1, 2), optimize=True) + rdm2.ooov = einsum(tmp6, (0, 1), t1, (2, 3), (1, 2, 0, 3), optimize=True) * -1 + rdm2.ooov += einsum(t1, (0, 1), tmp6, (2, 3), (0, 3, 2, 1), optimize=True) + tmp23 = einsum(tmp5, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) + tmp23 += tmp22 + del tmp22 + rdm2.ooov += tmp23.transpose((2, 1, 0, 3)) * -1 + rdm2.ooov += tmp23.transpose((1, 2, 0, 3)) + tmp21 = tmp20.copy() * -1 + del tmp20 + tmp21 += tmp18 + del tmp18 + tmp21 += tmp16 + del tmp16 + tmp21 += tmp15 + rdm2.ooov += tmp21.transpose((2, 1, 0, 3)) * -1 + rdm2.ooov += tmp21.transpose((1, 2, 0, 3)) + rdm2.ooov += einsum(delta.oo, (0, 1), tmp14, (2, 3), (0, 2, 1, 3), optimize=True) * -2 + rdm2.ooov += einsum(delta.oo, (0, 1), tmp14, (2, 3), (2, 1, 0, 3), optimize=True) * 2 + rdm2.ooov += einsum(delta.oo, (0, 1), t1, (2, 3), (1, 2, 0, 3), optimize=True) + rdm2.ooov += einsum(t1, (0, 1), delta.oo, (2, 3), (0, 3, 2, 1), optimize=True) * -1 + rdm2.ooov += einsum(delta.oo, (0, 1), tmp10, (2, 3), (0, 2, 1, 3), optimize=True) * -1 + rdm2.ooov += einsum(delta.oo, (0, 1), tmp10, (2, 3), (2, 1, 0, 3), optimize=True) + rdm2.ooov += einsum(delta.oo, (0, 1), tmp9, (2, 3), (0, 2, 1, 3), optimize=True) + rdm2.ooov += einsum(tmp9, (0, 1), delta.oo, (2, 3), (0, 3, 2, 1), optimize=True) * -1 + rdm2.ooov += einsum(tmp36, (0, 1), t1, (2, 3), (1, 2, 0, 3), optimize=True) * -1 + tmp35 = tmp34.copy() + del tmp34 + tmp31 = einsum(l1, (0, 1), tmp30, (1, 2, 3, 0), (2, 3), optimize=True) + del tmp30 + tmp35 += tmp31 * -1 + del tmp31 + tmp35 += tmp29 + del tmp29 + tmp35 += t1 * -1 + rdm2.ooov += einsum(delta.oo, (0, 1), tmp35, (2, 3), (1, 2, 0, 3), optimize=True) * -1 + rdm2.ooov += tmp28.transpose((2, 1, 0, 3)) + rdm2.ooov += tmp27.transpose((1, 2, 0, 3)) * -1 + rdm2.ooov += tmp15.transpose((2, 1, 0, 3)) * -1 + rdm2.ooov += tmp25.transpose((2, 1, 0, 3)) + rdm2.ooov += tmp24.transpose((1, 2, 0, 3)) + rdm2.ooov += einsum(tmp36, (0, 1), t1, (2, 3), (1, 2, 0, 3), optimize=True) * -1 + del tmp36 + rdm2.ooov += einsum(delta.oo, (0, 1), tmp35, (2, 3), (1, 2, 0, 3), optimize=True) * -1 + del tmp35 + rdm2.ooov += tmp28.transpose((2, 1, 0, 3)) + del tmp28 + rdm2.ooov += tmp27.transpose((1, 2, 0, 3)) * -1 + del tmp27 + rdm2.ooov += tmp15.transpose((2, 1, 0, 3)) * -1 + del tmp15 + rdm2.ooov += tmp25.transpose((2, 1, 0, 3)) + del tmp25 + rdm2.ooov += tmp24.transpose((1, 2, 0, 3)) + del tmp24 + rdm2.ooov += einsum(tmp6, (0, 1), t1, (2, 3), (1, 2, 0, 3), optimize=True) * -1 + rdm2.ooov += einsum(t1, (0, 1), tmp6, (2, 3), (0, 3, 2, 1), optimize=True) + rdm2.ooov += tmp23.transpose((2, 1, 0, 3)) * -1 + rdm2.ooov += tmp23.transpose((1, 2, 0, 3)) + del tmp23 + rdm2.ooov += tmp21.transpose((2, 1, 0, 3)) * -1 + rdm2.ooov += tmp21.transpose((1, 2, 0, 3)) + del tmp21 + rdm2.ooov += einsum(delta.oo, (0, 1), tmp14, (2, 3), (0, 2, 1, 3), optimize=True) * -2 + rdm2.ooov += einsum(delta.oo, (0, 1), tmp14, (2, 3), (2, 1, 0, 3), optimize=True) * 2 + del tmp14 + rdm2.ooov += einsum(delta.oo, (0, 1), t1, (2, 3), (1, 2, 0, 3), optimize=True) + rdm2.ooov += einsum(t1, (0, 1), delta.oo, (2, 3), (0, 3, 2, 1), optimize=True) * -1 + rdm2.ooov += einsum(delta.oo, (0, 1), tmp10, (2, 3), (0, 2, 1, 3), optimize=True) * -1 + rdm2.ooov += einsum(delta.oo, (0, 1), tmp10, (2, 3), (2, 1, 0, 3), optimize=True) + del tmp10 + rdm2.ooov += einsum(delta.oo, (0, 1), tmp9, (2, 3), (0, 2, 1, 3), optimize=True) + rdm2.ooov += einsum(tmp9, (0, 1), delta.oo, (2, 3), (0, 3, 2, 1), optimize=True) * -1 + del tmp9 + rdm2.oooo = einsum(tmp6, (0, 1), delta.oo, (2, 3), (3, 1, 2, 0), optimize=True) * -1 + rdm2.oooo += einsum(delta.oo, (0, 1), tmp6, (2, 3), (3, 1, 0, 2), optimize=True) + rdm2.oooo += einsum(tmp6, (0, 1), delta.oo, (2, 3), (3, 1, 0, 2), optimize=True) + rdm2.oooo += einsum(delta.oo, (0, 1), tmp6, (2, 3), (3, 1, 2, 0), optimize=True) * -1 + rdm2.oooo += einsum(delta.oo, (0, 1), tmp5, (2, 3), (0, 3, 1, 2), optimize=True) * -1 + rdm2.oooo += einsum(delta.oo, (0, 1), tmp5, (2, 3), (3, 1, 0, 2), optimize=True) + rdm2.oooo += einsum(delta.oo, (0, 1), tmp5, (2, 3), (0, 3, 2, 1), optimize=True) + rdm2.oooo += einsum(tmp5, (0, 1), delta.oo, (2, 3), (1, 3, 0, 2), optimize=True) * -1 + rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (3, 0, 1, 2), optimize=True) * -1 + rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (3, 1, 2, 0), optimize=True) + rdm2.oooo += tmp3.transpose((2, 3, 0, 1)) + rdm2.oooo += tmp3.transpose((3, 2, 0, 1)) * -1 + tmp7 = tmp6.copy() * -1 + tmp7 += delta.oo.transpose((1, 0)) + rdm2.oooo += einsum(tmp7, (0, 1), delta.oo, (2, 3), (1, 3, 0, 2), optimize=True) + rdm2.oooo += einsum(delta.oo, (0, 1), tmp5, (2, 3), (0, 3, 1, 2), optimize=True) * -1 + rdm2.oooo += einsum(tmp5, (0, 1), delta.oo, (2, 3), (1, 3, 0, 2), optimize=True) * -1 + rdm2.oooo += einsum(tmp6, (0, 1), delta.oo, (2, 3), (3, 1, 2, 0), optimize=True) * -1 + rdm2.oooo += tmp2.transpose((3, 2, 1, 0)) + rdm2.oooo += tmp0.transpose((3, 2, 1, 0)) + rdm2.oooo += einsum(tmp7, (0, 1), delta.oo, (2, 3), (1, 3, 0, 2), optimize=True) + del tmp7 + rdm2.oooo += einsum(delta.oo, (0, 1), tmp5, (2, 3), (0, 3, 1, 2), optimize=True) * -1 + rdm2.oooo += einsum(tmp5, (0, 1), delta.oo, (2, 3), (1, 3, 0, 2), optimize=True) * -1 + rdm2.oooo += einsum(tmp6, (0, 1), delta.oo, (2, 3), (3, 1, 2, 0), optimize=True) * -1 + rdm2.oooo += tmp2.transpose((3, 2, 1, 0)) + del tmp2 + rdm2.oooo += tmp0.transpose((3, 2, 1, 0)) + del tmp0 + rdm2.oooo += einsum(tmp6, (0, 1), delta.oo, (2, 3), (3, 1, 2, 0), optimize=True) * -1 + rdm2.oooo += einsum(delta.oo, (0, 1), tmp6, (2, 3), (3, 1, 0, 2), optimize=True) + rdm2.oooo += einsum(tmp6, (0, 1), delta.oo, (2, 3), (3, 1, 0, 2), optimize=True) + rdm2.oooo += einsum(delta.oo, (0, 1), tmp6, (2, 3), (3, 1, 2, 0), optimize=True) * -1 + del tmp6 + rdm2.oooo += einsum(delta.oo, (0, 1), tmp5, (2, 3), (0, 3, 1, 2), optimize=True) * -1 + rdm2.oooo += einsum(delta.oo, (0, 1), tmp5, (2, 3), (3, 1, 0, 2), optimize=True) + rdm2.oooo += einsum(delta.oo, (0, 1), tmp5, (2, 3), (0, 3, 2, 1), optimize=True) + rdm2.oooo += einsum(tmp5, (0, 1), delta.oo, (2, 3), (1, 3, 0, 2), optimize=True) * -1 + del tmp5 + rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (3, 0, 1, 2), optimize=True) * -1 + rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (3, 1, 2, 0), optimize=True) + del delta + rdm2.oooo += tmp3.transpose((2, 3, 0, 1)) + rdm2.oooo += tmp3.transpose((3, 2, 0, 1)) * -1 + del tmp3 + rdm2 = pack_2e(rdm2.oooo, rdm2.ooov, rdm2.oovo, rdm2.ovoo, rdm2.vooo, rdm2.oovv, rdm2.ovov, rdm2.ovvo, rdm2.voov, rdm2.vovo, rdm2.vvoo, rdm2.ovvv, rdm2.vovv, rdm2.vvov, rdm2.vvvo, rdm2.vvvv) + rdm2 = rdm2.swapaxes(1, 2) + + return rdm2 + diff --git a/ebcc/codegen/UCC2.py b/ebcc/codegen/UCC2.py new file mode 100644 index 00000000..2848a7a1 --- /dev/null +++ b/ebcc/codegen/UCC2.py @@ -0,0 +1,2145 @@ +""" +Code generated by `albert`: +https://github.com/obackhouse/albert + + * date: 2024-02-29T20:35:28.423942 + * python version: 3.10.12 (main, Nov 20 2023, 15:14:05) [GCC 11.4.0] + * albert version: 0.0.0 + * caller: /home/ollie/git/albert/albert/codegen/einsum.py + * node: ollie-desktop + * system: Linux + * processor: x86_64 + * release: 6.5.0-21-generic +""" + +from ebcc import numpy as np +from ebcc.util import pack_2e, einsum, Namespace + + +def energy(f=None, t1=None, t2=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-02-29T20:35:29.105068. + + Parameters + ---------- + f : Namespace of arrays + Fock matrix. + t1 : Namespace of arrays + T1 amplitudes. + t2 : Namespace of arrays + T2 amplitudes. + v : Namespace of arrays + Electron repulsion integrals. + + Returns + ------- + e_cc : float + Coupled cluster energy. + """ + + tmp2 = v.aaaa.ovov.transpose((2, 0, 3, 1)).copy() + tmp2 += v.aaaa.ovov.transpose((2, 0, 1, 3)) * -1 + tmp3 = einsum(tmp2, (0, 1, 2, 3), t1.aa, (0, 3), (1, 2), optimize=True) * -1 + del tmp2 + tmp3 += f.aa.ov * 2 + e_cc = einsum(t1.aa, (0, 1), tmp3, (0, 1), (), optimize=True) * 0.5 + del tmp3 + tmp0 = v.bbbb.ovov.transpose((2, 0, 3, 1)).copy() + tmp0 += v.bbbb.ovov.transpose((2, 0, 1, 3)) * -1 + tmp1 = einsum(t1.bb, (0, 1), tmp0, (0, 2, 3, 1), (2, 3), optimize=True) * -1 + del tmp0 + tmp1 += einsum(t1.aa, (0, 1), v.aabb.ovov, (0, 1, 2, 3), (2, 3), optimize=True) * 2 + tmp1 += f.bb.ov * 2 + e_cc += einsum(t1.bb, (0, 1), tmp1, (0, 1), (), optimize=True) * 0.5 + del tmp1 + e_cc += einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 2, 1, 3), (), optimize=True) + e_cc += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (0, 2, 1, 3), (), optimize=True) + e_cc += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (0, 2, 1, 3), (), optimize=True) + + return e_cc + +def update_amps(f=None, t1=None, t2=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-02-29T20:35:42.539838. + + Parameters + ---------- + f : Namespace of arrays + Fock matrix. + t1 : Namespace of arrays + T1 amplitudes. + t2 : Namespace of arrays + T2 amplitudes. + v : Namespace of arrays + Electron repulsion integrals. + + Returns + ------- + t1new : Namespace of arrays + Updated T1 residuals. + t2new : Namespace of arrays + Updated T2 residuals. + """ + + t1new = Namespace() + t2new = Namespace() + tmp87 = einsum(t1.bb, (0, 1), v.bbbb.ovvv, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) + t2new.bbbb = tmp87.transpose((1, 0, 3, 2)).copy() * -1 + tmp90 = einsum(v.bbbb.vvvv, (0, 1, 2, 3), t1.bb, (4, 2), (4, 0, 1, 3), optimize=True) + tmp91 = einsum(t1.bb, (0, 1), tmp90, (2, 3, 1, 4), (0, 2, 3, 4), optimize=True) + del tmp90 + t2new.bbbb += tmp91.transpose((0, 1, 3, 2)) * -1 + t2new.bbbb += tmp91 + del tmp91 + t2new.bbbb += tmp87.transpose((0, 1, 3, 2)) + tmp81 = einsum(v.bbbb.oovv, (0, 1, 2, 3), t1.bb, (4, 3), (4, 0, 1, 2), optimize=True) + tmp85 = tmp81.transpose((2, 0, 1, 3)).copy() + tmp22 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t1.bb, (4, 1), (4, 2, 0, 3), optimize=True) + tmp85 += tmp22 + tmp85 += v.bbbb.ooov.transpose((1, 2, 0, 3)) + tmp86 = einsum(t1.bb, (0, 1), tmp85, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) + del tmp85 + t2new.bbbb += tmp86 * -1 + tmp88 = einsum(tmp87, (0, 1, 2, 3), t1.bb, (4, 2), (4, 0, 1, 3), optimize=True) + tmp89 = einsum(t1.bb, (0, 1), tmp88, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) + del tmp88 + t2new.bbbb += tmp89.transpose((1, 0, 2, 3)) + t2new.bbbb += tmp89 * -1 + tmp82 = tmp81.transpose((2, 1, 0, 3)).copy() + del tmp81 + tmp82 += tmp22.transpose((2, 0, 1, 3)) + tmp82 += v.bbbb.ooov.transpose((1, 0, 2, 3)) + tmp83 = einsum(t1.bb, (0, 1), tmp82, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) + del tmp82 + t2new.bbbb += tmp83.transpose((0, 1, 3, 2)) + t2new.bbbb += tmp89.transpose((1, 0, 3, 2)) * -1 + t2new.bbbb += tmp89.transpose((0, 1, 3, 2)) + del tmp89 + t2new.bbbb += v.bbbb.ovov.transpose((2, 0, 1, 3)) * -1 + t2new.bbbb += tmp87 * -1 + t2new.bbbb += v.bbbb.ovov.transpose((2, 0, 3, 1)) + t2new.bbbb += tmp87.transpose((1, 0, 2, 3)) + del tmp87 + tmp63 = einsum(f.bb.ov, (0, 1), t1.bb, (0, 2), (1, 2), optimize=True) + tmp64 = tmp63.copy() * -1 + del tmp63 + tmp64 += f.bb.vv.transpose((1, 0)) + tmp84 = einsum(tmp64, (0, 1), t2.bbbb, (2, 3, 0, 4), (2, 3, 4, 1), optimize=True) + t2new.bbbb += tmp84.transpose((1, 0, 2, 3)) * 2 + t2new.bbbb += tmp86.transpose((1, 0, 2, 3)) + del tmp86 + t2new.bbbb += tmp84.transpose((1, 0, 3, 2)) * -2 + del tmp84 + t2new.bbbb += tmp83.transpose((1, 0, 3, 2)) * -1 + del tmp83 + tmp57 = einsum(f.bb.ov, (0, 1), t1.bb, (2, 1), (0, 2), optimize=True) + tmp80 = tmp57.copy() + tmp80 += f.bb.oo.transpose((1, 0)) + t2new.bbbb += einsum(t2.bbbb, (0, 1, 2, 3), tmp80, (0, 4), (4, 1, 3, 2), optimize=True) * 2 + del tmp80 + tmp74 = einsum(v.bbbb.ooov, (0, 1, 2, 3), t1.bb, (4, 3), (4, 0, 1, 2), optimize=True) + tmp75 = einsum(t1.bb, (0, 1), tmp74, (2, 3, 4, 0), (2, 4, 3, 1), optimize=True) + del tmp74 + tmp76 = einsum(t1.bb, (0, 1), tmp75, (2, 0, 3, 4), (2, 3, 1, 4), optimize=True) + del tmp75 + t2new.bbbb += tmp76.transpose((1, 0, 3, 2)) * -1 + t2new.bbbb += tmp76.transpose((1, 0, 2, 3)) + tmp72 = einsum(t1.bb, (0, 1), v.bbbb.oooo, (2, 3, 0, 4), (2, 3, 4, 1), optimize=True) + tmp73 = einsum(t1.bb, (0, 1), tmp72, (2, 0, 3, 4), (3, 2, 4, 1), optimize=True) + del tmp72 + t2new.bbbb += tmp73.transpose((0, 1, 3, 2)) * -1 + tmp58 = tmp57.copy() + del tmp57 + tmp58 += f.bb.oo.transpose((1, 0)) + t2new.bbbb += einsum(tmp58, (0, 1), t2.bbbb, (0, 2, 3, 4), (2, 1, 4, 3), optimize=True) * -2 + tmp77 = einsum(tmp22, (0, 1, 2, 3), t1.bb, (4, 3), (0, 4, 2, 1), optimize=True) + tmp78 = einsum(t1.bb, (0, 1), tmp77, (2, 3, 0, 4), (3, 2, 4, 1), optimize=True) + del tmp77 + tmp79 = einsum(t1.bb, (0, 1), tmp78, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) + del tmp78 + t2new.bbbb += tmp79.transpose((0, 1, 3, 2)) * -1 + t2new.bbbb += tmp79 + del tmp79 + t2new.bbbb += tmp76.transpose((0, 1, 3, 2)) + t2new.bbbb += tmp76 * -1 + del tmp76 + t2new.bbbb += tmp73 + del tmp73 + tmp70 = einsum(t1.bb, (0, 1), v.bbaa.ovvv, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) + tmp71 = einsum(t1.aa, (0, 1), tmp70, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) + del tmp70 + t2new.abab = einsum(tmp71, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 3, 4), optimize=True) * -1 + del tmp71 + tmp65 = einsum(v.aabb.ovvv, (0, 1, 2, 3), t1.bb, (4, 3), (0, 4, 1, 2), optimize=True) + tmp68 = tmp65.copy() + tmp68 += v.aabb.ovov.transpose((0, 2, 1, 3)) + tmp69 = einsum(t1.aa, (0, 1), tmp68, (2, 3, 1, 4), (0, 2, 3, 4), optimize=True) + del tmp68 + t2new.abab += einsum(tmp69, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 4, 3), optimize=True) * -1 + del tmp69 + tmp67 = einsum(v.aabb.vvvv, (0, 1, 2, 3), t1.bb, (4, 3), (4, 1, 0, 2), optimize=True) + tmp67 += v.bbaa.ovvv.transpose((0, 3, 2, 1)) + t2new.abab += einsum(t1.aa, (0, 1), tmp67, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) + del tmp67 + tmp66 = einsum(t1.bb, (0, 1), v.aabb.oovv, (2, 3, 4, 1), (3, 2, 0, 4), optimize=True) + tmp66 += v.aabb.ooov.transpose((1, 0, 2, 3)) + t2new.abab += einsum(tmp66, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3), optimize=True) * -1 + del tmp66 + t2new.abab += tmp65 + del tmp65 + t2new.abab += v.aabb.ovov.transpose((0, 2, 1, 3)) + t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp64, (3, 4), (0, 1, 2, 4), optimize=True) + del tmp64 + tmp44 = einsum(t1.aa, (0, 1), f.aa.ov, (0, 2), (2, 1), optimize=True) + tmp62 = tmp44.copy() * -1 + tmp62 += f.aa.vv.transpose((1, 0)) + t2new.abab += einsum(tmp62, (0, 1), t2.abab, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) + del tmp62 + tmp24 = einsum(v.aabb.ovov, (0, 1, 2, 3), t1.bb, (4, 3), (0, 4, 2, 1), optimize=True) + tmp61 = tmp24.transpose((0, 2, 1, 3)).copy() + tmp61 += einsum(t1.aa, (0, 1), v.bbaa.oovv, (2, 3, 4, 1), (0, 3, 2, 4), optimize=True) + tmp61 += v.aabb.ovoo.transpose((0, 3, 2, 1)) + t2new.abab += einsum(tmp61, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 3, 4), optimize=True) * -1 + del tmp61 + tmp38 = einsum(t1.aa, (0, 1), f.aa.ov, (2, 1), (2, 0), optimize=True) + tmp40 = tmp38.copy() + tmp40 += f.aa.oo.transpose((1, 0)) + t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp40, (0, 4), (4, 1, 2, 3), optimize=True) * -1 + tmp59 = einsum(v.aabb.ooov, (0, 1, 2, 3), t1.bb, (4, 3), (0, 1, 4, 2), optimize=True) + tmp60 = einsum(tmp59, (0, 1, 2, 3), t1.bb, (3, 4), (1, 0, 2, 4), optimize=True) + del tmp59 + t2new.abab += einsum(t1.aa, (0, 1), tmp60, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) + del tmp60 + t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp58, (1, 4), (0, 4, 2, 3), optimize=True) * -1 + del tmp58 + tmp54 = tmp24.copy() + tmp54 += v.aabb.ovoo.transpose((0, 3, 2, 1)) + tmp55 = einsum(t1.aa, (0, 1), tmp54, (2, 3, 4, 1), (0, 2, 4, 3), optimize=True) + del tmp54 + tmp55 += v.aabb.oooo.transpose((1, 0, 3, 2)) + tmp56 = einsum(tmp55, (0, 1, 2, 3), t1.bb, (2, 4), (1, 0, 3, 4), optimize=True) + del tmp55 + t2new.abab += einsum(tmp56, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3), optimize=True) + del tmp56 + tmp49 = einsum(v.aaaa.ovvv, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 1, 2), optimize=True) + t2new.aaaa = tmp49.transpose((1, 0, 3, 2)).copy() * -1 + tmp52 = einsum(v.aaaa.vvvv, (0, 1, 2, 3), t1.aa, (4, 2), (4, 0, 1, 3), optimize=True) + tmp53 = einsum(tmp52, (0, 1, 2, 3), t1.aa, (4, 2), (4, 0, 1, 3), optimize=True) + del tmp52 + t2new.aaaa += tmp53.transpose((0, 1, 3, 2)) * -1 + t2new.aaaa += tmp53 + del tmp53 + t2new.aaaa += tmp49.transpose((0, 1, 3, 2)) + tmp41 = einsum(t1.aa, (0, 1), v.aaaa.oovv, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) + tmp47 = tmp41.transpose((2, 0, 1, 3)).copy() + tmp6 = einsum(t1.aa, (0, 1), v.aaaa.ovov, (2, 1, 3, 4), (0, 3, 2, 4), optimize=True) + tmp47 += tmp6 + tmp47 += v.aaaa.ooov.transpose((1, 2, 0, 3)) + tmp48 = einsum(t1.aa, (0, 1), tmp47, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) + del tmp47 + t2new.aaaa += tmp48 * -1 + tmp50 = einsum(tmp49, (0, 1, 2, 3), t1.aa, (4, 2), (4, 0, 1, 3), optimize=True) + tmp51 = einsum(tmp50, (0, 1, 2, 3), t1.aa, (2, 4), (0, 1, 4, 3), optimize=True) + del tmp50 + t2new.aaaa += tmp51.transpose((1, 0, 2, 3)) + t2new.aaaa += tmp51 * -1 + tmp42 = tmp41.transpose((2, 1, 0, 3)).copy() + del tmp41 + tmp42 += tmp6.transpose((2, 0, 1, 3)) + tmp42 += v.aaaa.ooov.transpose((1, 0, 2, 3)) + tmp43 = einsum(tmp42, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3), optimize=True) + del tmp42 + t2new.aaaa += tmp43.transpose((0, 1, 3, 2)) + t2new.aaaa += tmp51.transpose((1, 0, 3, 2)) * -1 + t2new.aaaa += tmp51.transpose((0, 1, 3, 2)) + del tmp51 + t2new.aaaa += tmp49 * -1 + t2new.aaaa += v.aaaa.ovov.transpose((2, 0, 1, 3)) * -1 + t2new.aaaa += tmp49.transpose((1, 0, 2, 3)) + del tmp49 + t2new.aaaa += v.aaaa.ovov.transpose((2, 0, 3, 1)) + tmp45 = tmp44.copy() * -1 + del tmp44 + tmp45 += f.aa.vv.transpose((1, 0)) + tmp46 = einsum(t2.aaaa, (0, 1, 2, 3), tmp45, (2, 4), (0, 1, 3, 4), optimize=True) + del tmp45 + t2new.aaaa += tmp46.transpose((1, 0, 2, 3)) * 2 + t2new.aaaa += tmp48.transpose((1, 0, 2, 3)) + del tmp48 + t2new.aaaa += tmp46.transpose((1, 0, 3, 2)) * -2 + del tmp46 + t2new.aaaa += tmp43.transpose((1, 0, 3, 2)) * -1 + del tmp43 + t2new.aaaa += einsum(tmp40, (0, 1), t2.aaaa, (0, 2, 3, 4), (1, 2, 4, 3), optimize=True) * 2 + del tmp40 + tmp35 = einsum(t1.aa, (0, 1), v.aaaa.ooov, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) + tmp36 = einsum(tmp35, (0, 1, 2, 3), t1.aa, (3, 4), (0, 2, 1, 4), optimize=True) + del tmp35 + tmp37 = einsum(tmp36, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 4, 3), optimize=True) + del tmp36 + t2new.aaaa += tmp37.transpose((1, 0, 3, 2)) * -1 + t2new.aaaa += tmp37.transpose((1, 0, 2, 3)) + tmp30 = einsum(v.aaaa.oooo, (0, 1, 2, 3), t1.aa, (2, 4), (0, 1, 3, 4), optimize=True) + tmp31 = einsum(tmp30, (0, 1, 2, 3), t1.aa, (1, 4), (2, 0, 3, 4), optimize=True) + del tmp30 + t2new.aaaa += tmp31.transpose((0, 1, 3, 2)) * -1 + tmp39 = tmp38.copy() + del tmp38 + tmp39 += f.aa.oo.transpose((1, 0)) + t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp39, (0, 4), (1, 4, 3, 2), optimize=True) * -2 + del tmp39 + t2new.aaaa += tmp37.transpose((0, 1, 3, 2)) + t2new.aaaa += tmp37 * -1 + del tmp37 + tmp32 = einsum(tmp6, (0, 1, 2, 3), t1.aa, (4, 3), (0, 4, 2, 1), optimize=True) + tmp33 = einsum(tmp32, (0, 1, 2, 3), t1.aa, (2, 4), (1, 0, 3, 4), optimize=True) + del tmp32 + tmp34 = einsum(tmp33, (0, 1, 2, 3), t1.aa, (2, 4), (0, 1, 4, 3), optimize=True) + del tmp33 + t2new.aaaa += tmp34.transpose((0, 1, 3, 2)) * -1 + t2new.aaaa += tmp34 + del tmp34 + t2new.aaaa += tmp31 + del tmp31 + tmp27 = v.bbbb.ovov.transpose((2, 0, 3, 1)).copy() + tmp27 += v.bbbb.ovov.transpose((2, 0, 1, 3)) * -1 + tmp28 = einsum(t1.bb, (0, 1), tmp27, (0, 2, 3, 1), (2, 3), optimize=True) * -1 + del tmp27 + tmp8 = einsum(t1.aa, (0, 1), v.aabb.ovov, (0, 1, 2, 3), (2, 3), optimize=True) + tmp28 += tmp8 + tmp28 += f.bb.ov + tmp29 = einsum(t1.bb, (0, 1), tmp28, (2, 1), (2, 0), optimize=True) + del tmp28 + tmp26 = v.bbbb.ooov.transpose((1, 2, 0, 3)).copy() + tmp26 += v.bbbb.ooov.transpose((1, 0, 2, 3)) * -1 + tmp29 += einsum(t1.bb, (0, 1), tmp26, (2, 3, 0, 1), (3, 2), optimize=True) * -1 + del tmp26 + tmp29 += einsum(t1.aa, (0, 1), v.aabb.ovoo, (0, 1, 2, 3), (3, 2), optimize=True) + tmp29 += f.bb.oo.transpose((1, 0)) + t1new.bb = einsum(tmp29, (0, 1), t1.bb, (0, 2), (1, 2), optimize=True) * -1 + del tmp29 + tmp12 = v.aaaa.ovov.transpose((2, 0, 3, 1)).copy() + tmp12 += v.aaaa.ovov.transpose((2, 0, 1, 3)) * -1 + tmp13 = einsum(tmp12, (0, 1, 2, 3), t1.aa, (0, 3), (1, 2), optimize=True) + del tmp12 + tmp14 = tmp13.copy() * -1 + del tmp13 + tmp0 = einsum(v.aabb.ovov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1), optimize=True) + tmp14 += tmp0 + tmp14 += f.aa.ov + t1new.bb += einsum(tmp14, (0, 1), t2.abab, (0, 2, 1, 3), (2, 3), optimize=True) + tmp9 = v.bbbb.ovov.transpose((2, 0, 3, 1)).copy() + tmp9 += v.bbbb.ovov.transpose((2, 0, 1, 3)) * -1 + tmp10 = einsum(t1.bb, (0, 1), tmp9, (0, 2, 3, 1), (2, 3), optimize=True) + del tmp9 + tmp11 = tmp10.copy() * -1 + del tmp10 + tmp11 += tmp8 + tmp11 += f.bb.ov + t1new.bb += einsum(t2.bbbb, (0, 1, 2, 3), tmp11, (0, 2), (1, 3), optimize=True) * 2 + tmp25 = tmp24.transpose((0, 2, 1, 3)).copy() + del tmp24 + tmp25 += v.aabb.ovoo.transpose((0, 3, 2, 1)) + t1new.bb += einsum(tmp25, (0, 1, 2, 3), t2.abab, (0, 1, 3, 4), (2, 4), optimize=True) * -1 + del tmp25 + tmp23 = tmp22.copy() + del tmp22 + tmp23 += v.bbbb.ooov.transpose((1, 2, 0, 3)) + t1new.bb += einsum(t2.bbbb, (0, 1, 2, 3), tmp23, (4, 1, 0, 2), (4, 3), optimize=True) * 2 + del tmp23 + t1new.bb += einsum(t1.bb, (0, 1), v.bbbb.oovv, (2, 0, 3, 1), (2, 3), optimize=True) * -1 + tmp21 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (4, 0, 3, 1), (4, 2), optimize=True) * 2 + tmp21 += einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 4, 1, 3), (4, 2), optimize=True) + t1new.bb += einsum(t1.bb, (0, 1), tmp21, (2, 0), (2, 1), optimize=True) * -1 + del tmp21 + tmp20 = einsum(t1.bb, (0, 1), v.bbbb.ovvv, (0, 2, 3, 1), (2, 3), optimize=True) * -1 + tmp20 += f.bb.vv.transpose((1, 0)) + t1new.bb += einsum(t1.bb, (0, 1), tmp20, (1, 2), (0, 2), optimize=True) + del tmp20 + tmp1 = einsum(t1.aa, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3), optimize=True) + tmp1 += t2.abab + t1new.bb += einsum(tmp1, (0, 1, 2, 3), v.aabb.ovvv, (0, 2, 3, 4), (1, 4), optimize=True) + tmp19 = einsum(t1.bb, (0, 1), t1.bb, (2, 3), (2, 0, 3, 1), optimize=True) + tmp19 += t2.bbbb.transpose((1, 0, 3, 2)) * 2 + t1new.bb += einsum(v.bbbb.ovvv, (0, 1, 2, 3), tmp19, (0, 4, 1, 2), (4, 3), optimize=True) + del tmp19 + t1new.bb += einsum(t1.bb, (0, 1), v.bbbb.ovov, (2, 3, 0, 1), (2, 3), optimize=True) + t1new.bb += tmp8 + del tmp8 + t1new.bb += f.bb.ov + tmp16 = v.aaaa.ovov.transpose((2, 0, 3, 1)).copy() + tmp16 += v.aaaa.ovov.transpose((2, 0, 1, 3)) * -1 + tmp17 = einsum(tmp16, (0, 1, 2, 3), t1.aa, (0, 3), (1, 2), optimize=True) * -1 + del tmp16 + tmp17 += tmp0 + tmp17 += f.aa.ov + tmp18 = einsum(tmp17, (0, 1), t1.aa, (2, 1), (0, 2), optimize=True) + del tmp17 + tmp15 = v.aaaa.ooov.transpose((1, 2, 0, 3)).copy() + tmp15 += v.aaaa.ooov.transpose((1, 0, 2, 3)) * -1 + tmp18 += einsum(tmp15, (0, 1, 2, 3), t1.aa, (2, 3), (1, 0), optimize=True) * -1 + del tmp15 + tmp18 += einsum(t1.bb, (0, 1), v.aabb.ooov, (2, 3, 0, 1), (3, 2), optimize=True) + tmp18 += f.aa.oo.transpose((1, 0)) + t1new.aa = einsum(tmp18, (0, 1), t1.aa, (0, 2), (1, 2), optimize=True) * -1 + del tmp18 + t1new.aa += einsum(t2.aaaa, (0, 1, 2, 3), tmp14, (0, 2), (1, 3), optimize=True) * 2 + del tmp14 + t1new.aa += einsum(tmp11, (0, 1), t2.abab, (2, 0, 3, 1), (2, 3), optimize=True) + del tmp11 + tmp7 = tmp6.copy() + del tmp6 + tmp7 += v.aaaa.ooov.transpose((1, 2, 0, 3)) + t1new.aa += einsum(tmp7, (0, 1, 2, 3), t2.aaaa, (2, 1, 3, 4), (0, 4), optimize=True) * 2 + del tmp7 + tmp5 = einsum(v.aabb.ovov, (0, 1, 2, 3), t1.aa, (4, 1), (0, 4, 2, 3), optimize=True) + tmp5 += v.aabb.ooov.transpose((1, 0, 2, 3)) + t1new.aa += einsum(t2.abab, (0, 1, 2, 3), tmp5, (0, 4, 1, 3), (4, 2), optimize=True) * -1 + del tmp5 + t1new.aa += einsum(v.aaaa.oovv, (0, 1, 2, 3), t1.aa, (1, 3), (0, 2), optimize=True) * -1 + tmp4 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 1, 3), (4, 0), optimize=True) * 0.5 + tmp4 += einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.aaaa, (4, 0, 1, 3), (4, 2), optimize=True) * -1 + t1new.aa += einsum(t1.aa, (0, 1), tmp4, (2, 0), (2, 1), optimize=True) * -2 + del tmp4 + tmp3 = einsum(v.aaaa.ovvv, (0, 1, 2, 3), t1.aa, (0, 1), (3, 2), optimize=True) + tmp3 += f.aa.vv.transpose((1, 0)) + t1new.aa += einsum(t1.aa, (0, 1), tmp3, (1, 2), (0, 2), optimize=True) + del tmp3 + tmp2 = einsum(t1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 1, 3), optimize=True) + tmp2 += t2.aaaa.transpose((1, 0, 3, 2)) * 2 + t1new.aa += einsum(v.aaaa.ovvv, (0, 1, 2, 3), tmp2, (0, 4, 2, 1), (4, 3), optimize=True) * -1 + del tmp2 + t1new.aa += einsum(v.bbaa.ovvv, (0, 1, 2, 3), tmp1, (4, 0, 2, 1), (4, 3), optimize=True) + del tmp1 + t1new.aa += tmp0 + del tmp0 + t1new.aa += f.aa.ov + t1new.aa += einsum(v.aaaa.ovov, (0, 1, 2, 3), t1.aa, (2, 3), (0, 1), optimize=True) + + return {f"t1new": t1new, f"t2new": t2new} + +def update_lams(f=None, l1=None, l2=None, t1=None, t2=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-02-29T20:37:06.185531. + + Parameters + ---------- + f : Namespace of arrays + Fock matrix. + l1 : Namespace of arrays + L1 amplitudes. + l2 : Namespace of arrays + L2 amplitudes. + t1 : Namespace of arrays + T1 amplitudes. + t2 : Namespace of arrays + T2 amplitudes. + v : Namespace of arrays + Electron repulsion integrals. + + Returns + ------- + l1new : Namespace of arrays + Updated L1 residuals. + l2new : Namespace of arrays + Updated L2 residuals. + """ + + l1new = Namespace() + l2new = Namespace() + tmp70 = einsum(t1.bb, (0, 1), l2.bbbb, (2, 1, 3, 4), (3, 4, 0, 2), optimize=True) + tmp202 = einsum(v.bbbb.ooov, (0, 1, 2, 3), tmp70, (1, 4, 2, 5), (4, 0, 5, 3), optimize=True) * -1 + l2new.bbbb = tmp202.transpose((3, 2, 0, 1)).copy() * -2 + tmp92 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t1.bb, (4, 1), (4, 2, 0, 3), optimize=True) + tmp205 = einsum(tmp92, (0, 1, 2, 3), tmp70, (4, 0, 1, 5), (4, 2, 5, 3), optimize=True) + l2new.bbbb += tmp205.transpose((3, 2, 0, 1)) * -2 + tmp72 = einsum(l1.bb, (0, 1), t1.bb, (2, 0), (1, 2), optimize=True) + tmp199 = einsum(tmp72, (0, 1), v.bbbb.ovov, (2, 3, 1, 4), (0, 2, 3, 4), optimize=True) + l2new.bbbb += tmp199.transpose((3, 2, 0, 1)) * -1 + tmp198 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t1.bb, (2, 1), (0, 3), optimize=True) + l2new.bbbb += einsum(tmp198, (0, 1), l1.bb, (2, 3), (1, 2, 3, 0), optimize=True) + tmp217 = tmp92.copy() + tmp217 += v.bbbb.ooov.transpose((1, 2, 0, 3)) + tmp218 = einsum(l1.bb, (0, 1), tmp217, (1, 2, 3, 4), (2, 3, 4, 0), optimize=True) + del tmp217 + l2new.bbbb += tmp218.transpose((3, 2, 1, 0)) * -1 + tmp230 = tmp92.transpose((0, 2, 1, 3)).copy() + tmp230 += v.bbbb.ooov.transpose((1, 0, 2, 3)) + l2new.bbbb += einsum(l1.bb, (0, 1), tmp230, (1, 2, 3, 4), (4, 0, 2, 3), optimize=True) + del tmp230 + tmp103 = einsum(t1.bb, (0, 1), tmp92, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) + tmp229 = tmp103.transpose((0, 2, 3, 1)).copy() + tmp229 += v.bbbb.oooo.transpose((2, 3, 1, 0)) + l2new.bbbb += einsum(tmp229, (0, 1, 2, 3), l2.bbbb, (4, 5, 0, 3), (5, 4, 2, 1), optimize=True) * 2 + del tmp229 + tmp104 = einsum(v.bbbb.ooov, (0, 1, 2, 3), t1.bb, (4, 3), (4, 0, 1, 2), optimize=True) + tmp228 = einsum(l2.bbbb, (0, 1, 2, 3), tmp104, (3, 2, 4, 5), (4, 5, 0, 1), optimize=True) * -1 + l2new.bbbb += tmp228.transpose((2, 3, 1, 0)) * 2 + l2new.bbbb += tmp228.transpose((2, 3, 0, 1)) * -2 + del tmp228 + tmp185 = v.bbbb.ovov.transpose((2, 0, 3, 1)).copy() + tmp185 += v.bbbb.ovov.transpose((2, 0, 1, 3)) * -1 + tmp186 = einsum(t1.bb, (0, 1), tmp185, (0, 2, 3, 1), (2, 3), optimize=True) + del tmp185 + tmp187 = tmp186.copy() * -1 + del tmp186 + tmp94 = einsum(t1.aa, (0, 1), v.aabb.ovov, (0, 1, 2, 3), (2, 3), optimize=True) + tmp187 += tmp94 + tmp187 += f.bb.ov + tmp227 = einsum(tmp70, (0, 1, 2, 3), tmp187, (2, 4), (0, 1, 4, 3), optimize=True) + l2new.bbbb += tmp227.transpose((3, 2, 1, 0)) * 2 + tmp223 = v.bbbb.ovvv.transpose((0, 3, 2, 1)).copy() + tmp223 += v.bbbb.ovvv.transpose((0, 1, 3, 2)) * -1 + tmp224 = einsum(tmp223, (0, 1, 2, 3), t1.bb, (0, 1), (2, 3), optimize=True) + del tmp223 + tmp225 = tmp224.transpose((1, 0)).copy() * -1 + del tmp224 + tmp127 = einsum(t1.aa, (0, 1), v.aabb.ovvv, (0, 1, 2, 3), (2, 3), optimize=True) + tmp225 += tmp127.transpose((1, 0)) + tmp225 += f.bb.vv.transpose((1, 0)) + tmp226 = einsum(l2.bbbb, (0, 1, 2, 3), tmp225, (4, 0), (2, 3, 4, 1), optimize=True) + del tmp225 + l2new.bbbb += tmp226.transpose((3, 2, 1, 0)) * 2 + tmp91 = einsum(t1.bb, (0, 1), tmp70, (2, 3, 4, 1), (3, 2, 4, 0), optimize=True) + tmp222 = einsum(tmp91, (0, 1, 2, 3), v.bbbb.ovov, (2, 4, 3, 5), (0, 1, 4, 5), optimize=True) + l2new.bbbb += tmp222.transpose((3, 2, 1, 0)) + tmp221 = einsum(v.bbbb.ovvv, (0, 1, 2, 3), tmp70, (4, 5, 0, 3), (5, 4, 1, 2), optimize=True) + l2new.bbbb += tmp221.transpose((3, 2, 1, 0)) * -2 + tmp220 = einsum(v.bbbb.vvvv, (0, 1, 2, 3), l2.bbbb, (1, 3, 4, 5), (4, 5, 0, 2), optimize=True) + l2new.bbbb += tmp220.transpose((3, 2, 1, 0)) + l2new.bbbb += tmp227.transpose((2, 3, 1, 0)) * -2 + del tmp227 + l2new.bbbb += tmp226.transpose((2, 3, 1, 0)) * -2 + del tmp226 + l2new.bbbb += tmp205.transpose((3, 2, 1, 0)) * 2 + l2new.bbbb += tmp222.transpose((3, 2, 1, 0)) + del tmp222 + l2new.bbbb += tmp202.transpose((3, 2, 1, 0)) * 2 + l2new.bbbb += tmp221.transpose((2, 3, 1, 0)) * 2 + del tmp221 + l2new.bbbb += tmp220.transpose((3, 2, 1, 0)) + del tmp220 + l2new.bbbb += einsum(l1.bb, (0, 1), tmp198, (2, 3), (3, 0, 2, 1), optimize=True) * -1 + l2new.bbbb += tmp199.transpose((3, 2, 1, 0)) + tmp213 = einsum(t1.bb, (0, 1), v.bbbb.ovov, (2, 3, 0, 1), (2, 3), optimize=True) + tmp214 = tmp213.copy() + tmp214 += tmp94 + tmp214 += f.bb.ov + l2new.bbbb += einsum(l1.bb, (0, 1), tmp214, (2, 3), (0, 3, 2, 1), optimize=True) * -1 + tmp181 = einsum(v.bbaa.ovvv, (0, 1, 2, 3), t1.aa, (4, 2), (4, 0, 3, 1), optimize=True) + tmp182 = tmp181.copy() + tmp182 += v.aabb.ovov.transpose((0, 2, 1, 3)) + tmp209 = einsum(tmp182, (0, 1, 2, 3), l2.abab, (2, 4, 0, 5), (1, 5, 3, 4), optimize=True) + l2new.bbbb += tmp209.transpose((3, 2, 0, 1)) * -1 + tmp108 = v.bbbb.ovvv.transpose((0, 3, 1, 2)).copy() + tmp108 += v.bbbb.ovvv.transpose((0, 1, 3, 2)) * -1 + tmp179 = einsum(tmp108, (0, 1, 2, 3), t1.bb, (4, 2), (4, 0, 1, 3), optimize=True) + tmp207 = tmp179.copy() * -1 + tmp207 += v.bbbb.oovv.transpose((1, 0, 3, 2)) * -1 + tmp207 += v.bbbb.ovov.transpose((2, 0, 1, 3)) + tmp208 = einsum(l2.bbbb, (0, 1, 2, 3), tmp207, (2, 4, 5, 0), (4, 3, 5, 1), optimize=True) + del tmp207 + l2new.bbbb += tmp208.transpose((3, 2, 0, 1)) * -2 + tmp206 = einsum(tmp70, (0, 1, 2, 3), tmp92, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) * -1 + l2new.bbbb += tmp206.transpose((2, 3, 1, 0)) * 2 + tmp35 = einsum(l2.abab, (0, 1, 2, 3), t1.aa, (4, 0), (2, 4, 3, 1), optimize=True) + tmp11 = einsum(t1.aa, (0, 1), v.aabb.ovov, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) + tmp204 = einsum(tmp35, (0, 1, 2, 3), tmp11, (0, 1, 4, 5), (2, 4, 3, 5), optimize=True) + l2new.bbbb += tmp204.transpose((2, 3, 1, 0)) + tmp203 = einsum(v.bbbb.ooov, (0, 1, 2, 3), tmp70, (0, 4, 1, 5), (4, 2, 5, 3), optimize=True) * -1 + l2new.bbbb += tmp203.transpose((2, 3, 1, 0)) * 2 + tmp201 = einsum(v.bbbb.ovvv, (0, 1, 2, 3), l1.bb, (3, 4), (4, 0, 1, 2), optimize=True) + l2new.bbbb += tmp201.transpose((3, 2, 1, 0)) * -1 + tmp200 = einsum(v.aabb.ooov, (0, 1, 2, 3), tmp35, (0, 1, 4, 5), (4, 2, 5, 3), optimize=True) + l2new.bbbb += tmp200.transpose((2, 3, 1, 0)) + l2new.bbbb += einsum(l1.bb, (0, 1), tmp214, (2, 3), (0, 3, 1, 2), optimize=True) + l2new.bbbb += tmp209.transpose((3, 2, 1, 0)) + l2new.bbbb += tmp208.transpose((3, 2, 1, 0)) * 2 + l2new.bbbb += tmp206.transpose((2, 3, 0, 1)) * -2 + l2new.bbbb += tmp204.transpose((2, 3, 0, 1)) * -1 + l2new.bbbb += tmp203.transpose((2, 3, 0, 1)) * -2 + l2new.bbbb += tmp201.transpose((3, 2, 0, 1)) + l2new.bbbb += tmp200.transpose((2, 3, 0, 1)) * -1 + tmp219 = tmp213.copy() + del tmp213 + tmp219 += tmp94 + tmp219 += f.bb.ov + l2new.bbbb += einsum(l1.bb, (0, 1), tmp219, (2, 3), (3, 0, 1, 2), optimize=True) * -1 + del tmp219 + l2new.bbbb += tmp218.transpose((3, 2, 0, 1)) + del tmp218 + tmp95 = v.bbbb.ovov.transpose((2, 0, 3, 1)).copy() + tmp95 += v.bbbb.ovov.transpose((2, 0, 1, 3)) * -1 + tmp96 = einsum(t1.bb, (0, 1), tmp95, (0, 2, 3, 1), (2, 3), optimize=True) + del tmp95 + tmp97 = tmp96.copy() * -1 + del tmp96 + tmp97 += tmp94 + del tmp94 + tmp97 += f.bb.ov + tmp190 = einsum(t1.bb, (0, 1), tmp97, (2, 1), (0, 2), optimize=True) + tmp191 = tmp190.copy() + del tmp190 + tmp132 = v.bbbb.ooov.transpose((2, 1, 0, 3)).copy() + tmp132 += v.bbbb.ooov.transpose((1, 0, 2, 3)) * -1 + tmp189 = einsum(t1.bb, (0, 1), tmp132, (2, 3, 0, 1), (2, 3), optimize=True) + tmp191 += tmp189.transpose((1, 0)) * -1 + del tmp189 + tmp131 = einsum(t1.aa, (0, 1), v.aabb.ovoo, (0, 1, 2, 3), (2, 3), optimize=True) + tmp191 += tmp131.transpose((1, 0)) + tmp191 += f.bb.oo.transpose((1, 0)) + l2new.bbbb += einsum(l2.bbbb, (0, 1, 2, 3), tmp191, (2, 4), (1, 0, 3, 4), optimize=True) * -2 + tmp216 = tmp181.copy() + del tmp181 + tmp216 += v.aabb.ovov.transpose((0, 2, 1, 3)) + l2new.bbbb += einsum(l2.abab, (0, 1, 2, 3), tmp216, (2, 4, 0, 5), (5, 1, 3, 4), optimize=True) * -1 + del tmp216 + tmp128 = v.bbbb.ovvv.transpose((0, 3, 1, 2)).copy() + tmp128 += v.bbbb.ovvv.transpose((0, 1, 3, 2)) * -1 + tmp215 = einsum(t1.bb, (0, 1), tmp128, (2, 3, 1, 4), (0, 2, 3, 4), optimize=True) * -1 + tmp215 += v.bbbb.oovv.transpose((1, 0, 3, 2)) * -1 + tmp215 += v.bbbb.ovov.transpose((2, 0, 1, 3)) + l2new.bbbb += einsum(tmp215, (0, 1, 2, 3), l2.bbbb, (3, 4, 0, 5), (2, 4, 5, 1), optimize=True) * -2 + del tmp215 + l2new.bbbb += tmp206.transpose((3, 2, 0, 1)) * 2 + l2new.bbbb += tmp205.transpose((2, 3, 0, 1)) * 2 + l2new.bbbb += tmp204.transpose((3, 2, 0, 1)) + l2new.bbbb += tmp203.transpose((3, 2, 0, 1)) * 2 + l2new.bbbb += tmp202.transpose((2, 3, 0, 1)) * 2 + l2new.bbbb += tmp201.transpose((2, 3, 0, 1)) * -1 + l2new.bbbb += v.bbbb.ovov.transpose((1, 3, 2, 0)) * -1 + l2new.bbbb += tmp200.transpose((3, 2, 0, 1)) + l2new.bbbb += einsum(l1.bb, (0, 1), tmp198, (2, 3), (0, 3, 1, 2), optimize=True) * -1 + l2new.bbbb += tmp199.transpose((2, 3, 0, 1)) + l2new.bbbb += einsum(l1.bb, (0, 1), tmp214, (2, 3), (3, 0, 2, 1), optimize=True) + del tmp214 + tmp212 = tmp92.transpose((0, 2, 1, 3)).copy() + tmp212 += v.bbbb.ooov.transpose((1, 0, 2, 3)) + l2new.bbbb += einsum(l1.bb, (0, 1), tmp212, (1, 2, 3, 4), (4, 0, 3, 2), optimize=True) * -1 + del tmp212 + tmp211 = einsum(tmp187, (0, 1), t1.bb, (2, 1), (2, 0), optimize=True) + tmp210 = v.bbbb.ooov.transpose((2, 1, 0, 3)).copy() + tmp210 += v.bbbb.ooov.transpose((1, 0, 2, 3)) * -1 + tmp211 += einsum(t1.bb, (0, 1), tmp210, (2, 3, 0, 1), (3, 2), optimize=True) * -1 + del tmp210 + tmp211 += tmp131.transpose((1, 0)) + tmp211 += f.bb.oo.transpose((1, 0)) + l2new.bbbb += einsum(l2.bbbb, (0, 1, 2, 3), tmp211, (2, 4), (1, 0, 4, 3), optimize=True) * 2 + del tmp211 + l2new.bbbb += tmp209.transpose((2, 3, 0, 1)) + del tmp209 + l2new.bbbb += tmp208.transpose((2, 3, 0, 1)) * 2 + del tmp208 + l2new.bbbb += tmp206.transpose((3, 2, 1, 0)) * -2 + del tmp206 + l2new.bbbb += tmp205.transpose((2, 3, 1, 0)) * -2 + del tmp205 + l2new.bbbb += tmp204.transpose((3, 2, 1, 0)) * -1 + del tmp204 + l2new.bbbb += tmp203.transpose((3, 2, 1, 0)) * -2 + del tmp203 + l2new.bbbb += tmp202.transpose((2, 3, 1, 0)) * -2 + del tmp202 + l2new.bbbb += tmp201.transpose((2, 3, 1, 0)) + del tmp201 + l2new.bbbb += v.bbbb.ovov.transpose((3, 1, 2, 0)) + l2new.bbbb += tmp200.transpose((3, 2, 1, 0)) * -1 + del tmp200 + l2new.bbbb += tmp199.transpose((2, 3, 1, 0)) * -1 + del tmp199 + l2new.bbbb += einsum(tmp198, (0, 1), l1.bb, (2, 3), (2, 1, 0, 3), optimize=True) + del tmp198 + tmp9 = einsum(v.aabb.ovov, (0, 1, 2, 3), t1.bb, (4, 3), (0, 4, 2, 1), optimize=True) + tmp197 = tmp9.copy() + tmp197 += v.aabb.ovoo.transpose((0, 3, 2, 1)) + l2new.abab = einsum(tmp197, (0, 1, 2, 3), tmp35, (4, 0, 1, 5), (3, 5, 4, 2), optimize=True) + del tmp197 + tmp57 = einsum(l1.aa, (0, 1), t1.aa, (2, 0), (1, 2), optimize=True) + l2new.abab += einsum(tmp57, (0, 1), v.aabb.ovov, (1, 2, 3, 4), (2, 4, 0, 3), optimize=True) * -1 + tmp196 = einsum(t1.aa, (0, 1), v.aabb.ovvv, (2, 1, 3, 4), (0, 2, 4, 3), optimize=True) + tmp196 += v.aabb.oovv.transpose((1, 0, 3, 2)) + l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp196, (2, 4, 1, 5), (0, 5, 4, 3), optimize=True) * -1 + del tmp196 + tmp10 = tmp9.transpose((0, 2, 1, 3)).copy() + tmp10 += v.aabb.ovoo.transpose((0, 3, 2, 1)) + tmp195 = einsum(t1.aa, (0, 1), tmp10, (2, 3, 4, 1), (0, 2, 4, 3), optimize=True) + tmp19 = einsum(v.aabb.ooov, (0, 1, 2, 3), t1.bb, (4, 3), (0, 1, 4, 2), optimize=True) + tmp195 += tmp19.transpose((1, 0, 2, 3)) + tmp195 += v.aabb.oooo.transpose((1, 0, 3, 2)) + l2new.abab += einsum(tmp195, (0, 1, 2, 3), l2.abab, (4, 5, 0, 2), (4, 5, 1, 3), optimize=True) + del tmp195 + tmp178 = tmp11.copy() + tmp178 += v.aabb.ooov.transpose((1, 0, 2, 3)) + l2new.abab += einsum(tmp178, (0, 1, 2, 3), l1.aa, (4, 0), (4, 3, 1, 2), optimize=True) * -1 + tmp3 = einsum(l2.abab, (0, 1, 2, 3), t1.bb, (4, 1), (2, 3, 4, 0), optimize=True) + l2new.abab += einsum(tmp3, (0, 1, 2, 3), tmp187, (2, 4), (3, 4, 0, 1), optimize=True) * -1 + tmp194 = einsum(tmp108, (0, 1, 2, 3), t1.bb, (0, 1), (3, 2), optimize=True) * -1 + tmp194 += tmp127.transpose((1, 0)) + tmp194 += f.bb.vv.transpose((1, 0)) + l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp194, (1, 4), (0, 4, 2, 3), optimize=True) + del tmp194 + tmp37 = einsum(tmp3, (0, 1, 2, 3), t1.aa, (4, 3), (0, 4, 1, 2), optimize=True) + tmp193 = einsum(v.aabb.ovov, (0, 1, 2, 3), tmp37, (4, 0, 5, 2), (4, 5, 1, 3), optimize=True) + l2new.abab += tmp193.transpose((2, 3, 0, 1)) * 0.5 + tmp192 = einsum(l2.abab, (0, 1, 2, 3), v.aabb.vvvv, (4, 0, 1, 5), (2, 3, 4, 5), optimize=True) + l2new.abab += tmp192.transpose((2, 3, 0, 1)) * 0.5 + l2new.abab += einsum(tmp3, (0, 1, 2, 3), v.bbaa.ovvv, (2, 4, 5, 3), (5, 4, 0, 1), optimize=True) * -1 + tmp151 = v.aaaa.ovov.transpose((2, 0, 3, 1)).copy() + tmp151 += v.aaaa.ovov.transpose((2, 0, 1, 3)) * -1 + tmp152 = einsum(tmp151, (0, 1, 2, 3), t1.aa, (0, 3), (1, 2), optimize=True) + del tmp151 + tmp153 = tmp152.copy() * -1 + del tmp152 + tmp13 = einsum(v.aabb.ovov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1), optimize=True) + tmp153 += tmp13 + tmp153 += f.aa.ov + l2new.abab += einsum(tmp153, (0, 1), tmp35, (2, 0, 3, 4), (1, 4, 2, 3), optimize=True) * -1 + tmp81 = v.aaaa.ovvv.transpose((0, 3, 1, 2)).copy() + tmp81 += v.aaaa.ovvv.transpose((0, 1, 3, 2)) * -1 + tmp82 = einsum(tmp81, (0, 1, 2, 3), t1.aa, (0, 1), (2, 3), optimize=True) + del tmp81 + tmp83 = tmp82.transpose((1, 0)).copy() * -1 + del tmp82 + tmp80 = einsum(v.bbaa.ovvv, (0, 1, 2, 3), t1.bb, (0, 1), (2, 3), optimize=True) + tmp83 += tmp80.transpose((1, 0)) + tmp83 += f.aa.vv.transpose((1, 0)) + l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp83, (0, 4), (4, 1, 2, 3), optimize=True) + l2new.abab += tmp193.transpose((2, 3, 0, 1)) * 0.5 + del tmp193 + l2new.abab += tmp192.transpose((2, 3, 0, 1)) * 0.5 + del tmp192 + l2new.abab += einsum(v.aabb.ovvv, (0, 1, 2, 3), tmp35, (4, 0, 5, 2), (1, 3, 4, 5), optimize=True) * -1 + l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp191, (3, 4), (0, 1, 2, 4), optimize=True) * -1 + del tmp191 + tmp98 = einsum(t1.bb, (0, 1), v.bbaa.ovvv, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) + tmp188 = tmp98.transpose((0, 1, 3, 2)).copy() + tmp188 += v.bbaa.oovv.transpose((1, 0, 3, 2)) + l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp188, (3, 4, 0, 5), (5, 1, 2, 4), optimize=True) * -1 + del tmp188 + l2new.abab += einsum(l1.aa, (0, 1), tmp187, (2, 3), (0, 3, 1, 2), optimize=True) + del tmp187 + tmp184 = v.bbbb.ooov.transpose((1, 2, 0, 3)).copy() * -1 + tmp184 += v.bbbb.ooov.transpose((1, 0, 2, 3)) + l2new.abab += einsum(tmp3, (0, 1, 2, 3), tmp184, (1, 4, 2, 5), (3, 5, 0, 4), optimize=True) + del tmp184 + tmp183 = tmp92.transpose((0, 2, 1, 3)).copy() * -1 + tmp183 += tmp92 + l2new.abab += einsum(tmp3, (0, 1, 2, 3), tmp183, (1, 2, 4, 5), (3, 5, 0, 4), optimize=True) + del tmp183 + l2new.abab += einsum(tmp182, (0, 1, 2, 3), l2.aaaa, (2, 4, 0, 5), (4, 3, 5, 1), optimize=True) * 2 + del tmp182 + tmp180 = tmp179.transpose((0, 1, 3, 2)).copy() * -1 + del tmp179 + tmp180 += v.bbbb.oovv.transpose((1, 0, 3, 2)) * -1 + tmp180 += v.bbbb.ovov.transpose((2, 0, 3, 1)) + l2new.abab += einsum(tmp180, (0, 1, 2, 3), l2.abab, (4, 2, 5, 0), (4, 3, 5, 1), optimize=True) + del tmp180 + l2new.abab += einsum(l1.aa, (0, 1), v.bbaa.ovvv, (2, 3, 4, 0), (4, 3, 1, 2), optimize=True) + tmp0 = einsum(l2.aaaa, (0, 1, 2, 3), t1.aa, (4, 1), (2, 3, 4, 0), optimize=True) + l2new.abab += einsum(tmp0, (0, 1, 2, 3), tmp11, (1, 2, 4, 5), (3, 5, 0, 4), optimize=True) * -2 + l2new.abab += einsum(v.aabb.ooov, (0, 1, 2, 3), tmp0, (4, 0, 1, 5), (5, 3, 4, 2), optimize=True) * -2 + l2new.abab += einsum(l1.bb, (0, 1), tmp153, (2, 3), (3, 0, 2, 1), optimize=True) + tmp21 = tmp9.copy() + tmp21 += v.aabb.ovoo.transpose((0, 3, 2, 1)) + l2new.abab += einsum(tmp21, (0, 1, 2, 3), l1.bb, (4, 1), (3, 4, 0, 2), optimize=True) * -1 + tmp154 = einsum(tmp153, (0, 1), t1.aa, (2, 1), (0, 2), optimize=True) + tmp155 = tmp154.transpose((1, 0)).copy() + del tmp154 + tmp149 = v.aaaa.ooov.transpose((2, 1, 0, 3)).copy() * -1 + tmp149 += v.aaaa.ooov.transpose((1, 0, 2, 3)) + tmp150 = einsum(tmp149, (0, 1, 2, 3), t1.aa, (0, 3), (1, 2), optimize=True) + del tmp149 + tmp155 += tmp150 * -1 + del tmp150 + tmp84 = einsum(v.aabb.ooov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1), optimize=True) + tmp155 += tmp84.transpose((1, 0)) + tmp155 += f.aa.oo.transpose((1, 0)) + l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp155, (2, 4), (0, 1, 4, 3), optimize=True) * -1 + l2new.abab += einsum(tmp178, (0, 1, 2, 3), tmp3, (0, 4, 2, 5), (5, 3, 1, 4), optimize=True) + del tmp178 + tmp7 = einsum(t1.aa, (0, 1), v.aaaa.ovov, (2, 1, 3, 4), (0, 3, 2, 4), optimize=True) + tmp177 = tmp7.transpose((0, 2, 1, 3)).copy() * -1 + tmp177 += tmp7 + l2new.abab += einsum(tmp35, (0, 1, 2, 3), tmp177, (0, 1, 4, 5), (5, 3, 4, 2), optimize=True) + del tmp177 + tmp176 = v.aaaa.ooov.transpose((1, 2, 0, 3)).copy() + tmp176 += v.aaaa.ooov.transpose((1, 0, 2, 3)) * -1 + l2new.abab += einsum(tmp35, (0, 1, 2, 3), tmp176, (0, 4, 1, 5), (5, 3, 4, 2), optimize=True) * -1 + del tmp176 + tmp17 = einsum(t1.bb, (0, 1), v.aabb.ovvv, (2, 3, 1, 4), (2, 0, 3, 4), optimize=True) + tmp147 = tmp17.copy() + tmp147 += v.aabb.ovov.transpose((0, 2, 1, 3)) + l2new.abab += einsum(l2.bbbb, (0, 1, 2, 3), tmp147, (4, 2, 5, 0), (5, 1, 4, 3), optimize=True) * 2 + tmp174 = v.aaaa.ovvv.transpose((0, 3, 1, 2)).copy() + tmp174 += v.aaaa.ovvv.transpose((0, 1, 3, 2)) * -1 + tmp175 = einsum(tmp174, (0, 1, 2, 3), t1.aa, (4, 2), (4, 0, 3, 1), optimize=True) * -1 + del tmp174 + tmp175 += v.aaaa.oovv.transpose((1, 0, 3, 2)) * -1 + tmp175 += v.aaaa.ovov.transpose((2, 0, 3, 1)) + l2new.abab += einsum(tmp175, (0, 1, 2, 3), l2.abab, (2, 4, 0, 5), (3, 4, 1, 5), optimize=True) + del tmp175 + l2new.abab += einsum(v.aabb.ovvv, (0, 1, 2, 3), l1.bb, (3, 4), (1, 2, 0, 4), optimize=True) + l2new.abab += einsum(v.aabb.ovov, (0, 1, 2, 3), tmp72, (4, 2), (1, 3, 0, 4), optimize=True) * -1 + l2new.abab += einsum(tmp70, (0, 1, 2, 3), tmp9, (4, 1, 2, 5), (5, 3, 4, 0), optimize=True) * -2 + l2new.abab += einsum(v.aabb.ovoo, (0, 1, 2, 3), tmp70, (4, 2, 3, 5), (1, 5, 0, 4), optimize=True) * -2 + l2new.abab += v.aabb.ovov.transpose((1, 3, 0, 2)) + tmp135 = einsum(tmp0, (0, 1, 2, 3), tmp7, (1, 2, 4, 5), (0, 4, 3, 5), optimize=True) + l2new.aaaa = tmp135.transpose((3, 2, 0, 1)).copy() * -2 + tmp137 = einsum(tmp0, (0, 1, 2, 3), v.aaaa.ooov, (4, 0, 2, 5), (1, 4, 3, 5), optimize=True) * -1 + l2new.aaaa += tmp137.transpose((3, 2, 0, 1)) * -2 + tmp141 = einsum(v.aaaa.ovov, (0, 1, 2, 3), tmp57, (4, 2), (4, 0, 1, 3), optimize=True) + l2new.aaaa += tmp141.transpose((3, 2, 0, 1)) * -1 + tmp140 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t1.aa, (2, 1), (0, 3), optimize=True) + l2new.aaaa += einsum(l1.aa, (0, 1), tmp140, (2, 3), (3, 0, 1, 2), optimize=True) + tmp161 = tmp7.copy() + tmp161 += v.aaaa.ooov.transpose((1, 2, 0, 3)) + tmp162 = einsum(l1.aa, (0, 1), tmp161, (1, 2, 3, 4), (2, 3, 4, 0), optimize=True) + del tmp161 + l2new.aaaa += tmp162.transpose((3, 2, 1, 0)) * -1 + tmp173 = tmp7.transpose((0, 2, 1, 3)).copy() + tmp173 += v.aaaa.ooov.transpose((1, 0, 2, 3)) + l2new.aaaa += einsum(l1.aa, (0, 1), tmp173, (1, 2, 3, 4), (4, 0, 2, 3), optimize=True) + del tmp173 + tmp28 = einsum(t1.aa, (0, 1), tmp7, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) + tmp172 = tmp28.transpose((0, 2, 3, 1)).copy() + tmp172 += v.aaaa.oooo.transpose((2, 3, 1, 0)) + l2new.aaaa += einsum(tmp172, (0, 1, 2, 3), l2.aaaa, (4, 5, 0, 3), (5, 4, 2, 1), optimize=True) * 2 + del tmp172 + tmp29 = einsum(t1.aa, (0, 1), v.aaaa.ooov, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) + tmp171 = einsum(l2.aaaa, (0, 1, 2, 3), tmp29, (3, 2, 4, 5), (4, 5, 0, 1), optimize=True) * -1 + l2new.aaaa += tmp171.transpose((2, 3, 1, 0)) * 2 + l2new.aaaa += tmp171.transpose((2, 3, 0, 1)) * -2 + del tmp171 + tmp170 = einsum(tmp0, (0, 1, 2, 3), tmp153, (2, 4), (0, 1, 4, 3), optimize=True) + del tmp153 + l2new.aaaa += tmp170.transpose((3, 2, 1, 0)) * 2 + tmp33 = v.aaaa.ovvv.transpose((0, 3, 2, 1)).copy() + tmp33 += v.aaaa.ovvv.transpose((0, 1, 3, 2)) * -1 + tmp167 = einsum(tmp33, (0, 1, 2, 3), t1.aa, (0, 1), (2, 3), optimize=True) + tmp168 = tmp167.transpose((1, 0)).copy() * -1 + del tmp167 + tmp168 += tmp80.transpose((1, 0)) + del tmp80 + tmp168 += f.aa.vv.transpose((1, 0)) + tmp169 = einsum(tmp168, (0, 1), l2.aaaa, (1, 2, 3, 4), (3, 4, 0, 2), optimize=True) + del tmp168 + l2new.aaaa += tmp169.transpose((3, 2, 1, 0)) * 2 + tmp166 = einsum(v.aaaa.vvvv, (0, 1, 2, 3), l2.aaaa, (3, 1, 4, 5), (4, 5, 0, 2), optimize=True) * -1 + l2new.aaaa += tmp166.transpose((3, 2, 1, 0)) + tmp165 = einsum(v.aaaa.ovvv, (0, 1, 2, 3), tmp0, (4, 5, 0, 3), (5, 4, 1, 2), optimize=True) + l2new.aaaa += tmp165.transpose((3, 2, 1, 0)) * -2 + tmp5 = einsum(tmp0, (0, 1, 2, 3), t1.aa, (4, 3), (0, 1, 4, 2), optimize=True) + tmp164 = einsum(tmp5, (0, 1, 2, 3), v.aaaa.ovov, (2, 4, 3, 5), (0, 1, 4, 5), optimize=True) + l2new.aaaa += tmp164.transpose((3, 2, 1, 0)) + l2new.aaaa += tmp170.transpose((2, 3, 1, 0)) * -2 + del tmp170 + l2new.aaaa += tmp169.transpose((2, 3, 1, 0)) * -2 + del tmp169 + l2new.aaaa += einsum(l1.aa, (0, 1), tmp140, (2, 3), (3, 0, 2, 1), optimize=True) * -1 + l2new.aaaa += tmp141.transpose((3, 2, 1, 0)) + l2new.aaaa += tmp166.transpose((3, 2, 1, 0)) + del tmp166 + l2new.aaaa += tmp165.transpose((2, 3, 1, 0)) * 2 + del tmp165 + l2new.aaaa += tmp137.transpose((3, 2, 1, 0)) * 2 + l2new.aaaa += tmp135.transpose((3, 2, 1, 0)) * 2 + l2new.aaaa += tmp164.transpose((3, 2, 1, 0)) + del tmp164 + tmp158 = tmp13.copy() + tmp157 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t1.aa, (2, 3), (0, 1), optimize=True) + tmp158 += tmp157 + tmp158 += f.aa.ov + l2new.aaaa += einsum(tmp158, (0, 1), l1.aa, (2, 3), (2, 1, 0, 3), optimize=True) * -1 + tmp148 = einsum(tmp147, (0, 1, 2, 3), l2.abab, (4, 3, 5, 1), (0, 5, 2, 4), optimize=True) + del tmp147 + l2new.aaaa += tmp148.transpose((3, 2, 0, 1)) * -1 + tmp143 = v.aaaa.ovvv.transpose((0, 3, 2, 1)).copy() * -1 + tmp143 += v.aaaa.ovvv.transpose((0, 1, 3, 2)) + tmp144 = einsum(tmp143, (0, 1, 2, 3), t1.aa, (4, 1), (0, 4, 2, 3), optimize=True) + del tmp143 + tmp145 = tmp144.transpose((1, 0, 3, 2)).copy() * -1 + del tmp144 + tmp145 += v.aaaa.oovv.transpose((1, 0, 3, 2)) * -1 + tmp145 += v.aaaa.ovov.transpose((2, 0, 1, 3)) + tmp146 = einsum(l2.aaaa, (0, 1, 2, 3), tmp145, (2, 4, 5, 0), (4, 3, 5, 1), optimize=True) + del tmp145 + l2new.aaaa += tmp146.transpose((3, 2, 0, 1)) * -2 + tmp142 = einsum(v.aaaa.ovvv, (0, 1, 2, 3), l1.aa, (3, 4), (4, 0, 1, 2), optimize=True) + l2new.aaaa += tmp142.transpose((3, 2, 1, 0)) * -1 + tmp139 = einsum(tmp3, (0, 1, 2, 3), v.aabb.ovoo, (4, 5, 1, 2), (0, 4, 3, 5), optimize=True) + l2new.aaaa += tmp139.transpose((2, 3, 1, 0)) + tmp138 = einsum(tmp0, (0, 1, 2, 3), v.aaaa.ooov, (0, 2, 4, 5), (1, 4, 3, 5), optimize=True) * -1 + l2new.aaaa += tmp138.transpose((2, 3, 1, 0)) * 2 + tmp136 = einsum(tmp0, (0, 1, 2, 3), tmp7, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) * -1 + l2new.aaaa += tmp136.transpose((2, 3, 1, 0)) * 2 + tmp134 = einsum(tmp3, (0, 1, 2, 3), tmp9, (4, 1, 2, 5), (0, 4, 3, 5), optimize=True) + l2new.aaaa += tmp134.transpose((2, 3, 1, 0)) + l2new.aaaa += einsum(l1.aa, (0, 1), tmp158, (2, 3), (0, 3, 1, 2), optimize=True) + l2new.aaaa += tmp148.transpose((3, 2, 1, 0)) + l2new.aaaa += tmp146.transpose((3, 2, 1, 0)) * 2 + l2new.aaaa += tmp142.transpose((3, 2, 0, 1)) + l2new.aaaa += tmp139.transpose((2, 3, 0, 1)) * -1 + l2new.aaaa += tmp138.transpose((2, 3, 0, 1)) * -2 + l2new.aaaa += tmp136.transpose((2, 3, 0, 1)) * -2 + l2new.aaaa += tmp134.transpose((2, 3, 0, 1)) * -1 + tmp163 = tmp13.copy() + tmp163 += tmp157 + del tmp157 + tmp163 += f.aa.ov + l2new.aaaa += einsum(l1.aa, (0, 1), tmp163, (2, 3), (3, 0, 1, 2), optimize=True) * -1 + del tmp163 + l2new.aaaa += tmp162.transpose((3, 2, 0, 1)) + del tmp162 + tmp14 = v.aaaa.ovov.transpose((2, 0, 3, 1)).copy() + tmp14 += v.aaaa.ovov.transpose((2, 0, 1, 3)) * -1 + tmp15 = einsum(tmp14, (0, 1, 2, 3), t1.aa, (0, 3), (1, 2), optimize=True) + tmp16 = tmp15.copy() * -1 + del tmp15 + tmp16 += tmp13 + del tmp13 + tmp16 += f.aa.ov + tmp87 = einsum(t1.aa, (0, 1), tmp16, (2, 1), (0, 2), optimize=True) + tmp160 = tmp87.copy() + tmp85 = v.aaaa.ooov.transpose((2, 1, 0, 3)).copy() * -1 + tmp85 += v.aaaa.ooov.transpose((1, 0, 2, 3)) + tmp86 = einsum(tmp85, (0, 1, 2, 3), t1.aa, (0, 3), (1, 2), optimize=True) + del tmp85 + tmp160 += tmp86 * -1 + tmp160 += tmp84.transpose((1, 0)) + tmp160 += f.aa.oo.transpose((1, 0)) + l2new.aaaa += einsum(l2.aaaa, (0, 1, 2, 3), tmp160, (2, 4), (1, 0, 3, 4), optimize=True) * -2 + del tmp160 + tmp18 = tmp17.copy() + del tmp17 + tmp18 += v.aabb.ovov.transpose((0, 2, 1, 3)) + l2new.aaaa += einsum(l2.abab, (0, 1, 2, 3), tmp18, (4, 3, 5, 1), (5, 0, 2, 4), optimize=True) * -1 + tmp52 = v.aaaa.ovvv.transpose((0, 3, 2, 1)).copy() * -1 + tmp52 += v.aaaa.ovvv.transpose((0, 1, 3, 2)) + tmp159 = einsum(tmp52, (0, 1, 2, 3), t1.aa, (4, 1), (4, 0, 3, 2), optimize=True) * -1 + tmp159 += v.aaaa.oovv.transpose((1, 0, 3, 2)) * -1 + tmp159 += v.aaaa.ovov.transpose((2, 0, 1, 3)) + l2new.aaaa += einsum(tmp159, (0, 1, 2, 3), l2.aaaa, (3, 4, 0, 5), (2, 4, 5, 1), optimize=True) * -2 + del tmp159 + l2new.aaaa += tmp142.transpose((2, 3, 0, 1)) * -1 + l2new.aaaa += einsum(tmp140, (0, 1), l1.aa, (2, 3), (2, 1, 3, 0), optimize=True) * -1 + l2new.aaaa += tmp141.transpose((2, 3, 0, 1)) + l2new.aaaa += tmp139.transpose((3, 2, 0, 1)) + l2new.aaaa += tmp138.transpose((3, 2, 0, 1)) * 2 + l2new.aaaa += tmp137.transpose((2, 3, 0, 1)) * 2 + l2new.aaaa += v.aaaa.ovov.transpose((1, 3, 2, 0)) * -1 + l2new.aaaa += tmp136.transpose((3, 2, 0, 1)) * 2 + l2new.aaaa += tmp135.transpose((2, 3, 0, 1)) * 2 + l2new.aaaa += tmp134.transpose((3, 2, 0, 1)) + l2new.aaaa += einsum(l1.aa, (0, 1), tmp158, (2, 3), (3, 0, 2, 1), optimize=True) + del tmp158 + tmp156 = tmp7.transpose((0, 2, 1, 3)).copy() + tmp156 += v.aaaa.ooov.transpose((1, 0, 2, 3)) + l2new.aaaa += einsum(l1.aa, (0, 1), tmp156, (1, 2, 3, 4), (4, 0, 3, 2), optimize=True) * -1 + del tmp156 + l2new.aaaa += einsum(l2.aaaa, (0, 1, 2, 3), tmp155, (2, 4), (1, 0, 4, 3), optimize=True) * 2 + del tmp155 + l2new.aaaa += tmp148.transpose((2, 3, 0, 1)) + del tmp148 + l2new.aaaa += tmp146.transpose((2, 3, 0, 1)) * 2 + del tmp146 + l2new.aaaa += tmp142.transpose((2, 3, 1, 0)) + del tmp142 + l2new.aaaa += tmp141.transpose((2, 3, 1, 0)) * -1 + del tmp141 + l2new.aaaa += einsum(l1.aa, (0, 1), tmp140, (2, 3), (0, 3, 2, 1), optimize=True) + del tmp140 + l2new.aaaa += tmp139.transpose((3, 2, 1, 0)) * -1 + del tmp139 + l2new.aaaa += tmp138.transpose((3, 2, 1, 0)) * -2 + del tmp138 + l2new.aaaa += tmp137.transpose((2, 3, 1, 0)) * -2 + del tmp137 + l2new.aaaa += v.aaaa.ovov.transpose((3, 1, 2, 0)) + l2new.aaaa += tmp136.transpose((3, 2, 1, 0)) * -2 + del tmp136 + l2new.aaaa += tmp135.transpose((2, 3, 1, 0)) * -2 + del tmp135 + l2new.aaaa += tmp134.transpose((3, 2, 1, 0)) * -1 + del tmp134 + tmp133 = einsum(t1.bb, (0, 1), tmp97, (2, 1), (0, 2), optimize=True) * 0.5 + tmp133 += einsum(t1.bb, (0, 1), tmp132, (2, 3, 0, 1), (3, 2), optimize=True) * -0.5 + del tmp132 + tmp133 += einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (2, 4, 1, 3), (4, 0), optimize=True) * -1 + tmp133 += einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 4, 1, 3), (4, 2), optimize=True) * 0.5 + tmp133 += tmp131.transpose((1, 0)) * 0.5 + del tmp131 + tmp133 += f.bb.oo.transpose((1, 0)) * 0.5 + l1new.bb = einsum(tmp133, (0, 1), l1.bb, (2, 0), (2, 1), optimize=True) * -2 + del tmp133 + tmp74 = einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (2, 4, 0, 1), (3, 4), optimize=True) + tmp130 = tmp74.copy() + tmp73 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 1), (3, 4), optimize=True) + tmp130 += tmp73 * 0.5 + tmp130 += tmp72 * 0.5 + l1new.bb += einsum(tmp130, (0, 1), tmp97, (1, 2), (2, 0), optimize=True) * -2 + del tmp130 + tmp129 = einsum(tmp128, (0, 1, 2, 3), t1.bb, (0, 1), (3, 2), optimize=True) * -1 + del tmp128 + tmp129 += tmp127.transpose((1, 0)) + del tmp127 + tmp129 += f.bb.vv.transpose((1, 0)) + l1new.bb += einsum(tmp129, (0, 1), l1.bb, (0, 2), (1, 2), optimize=True) + del tmp129 + tmp59 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 3, 4, 1), (4, 0), optimize=True) + tmp77 = tmp59.copy() + tmp58 = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (2, 3, 4, 0), (4, 1), optimize=True) * -1 + tmp77 += tmp58 * 2 + tmp77 += tmp57 + l1new.bb += einsum(v.aabb.ooov, (0, 1, 2, 3), tmp77, (1, 0), (3, 2), optimize=True) * -1 + tmp126 = v.bbbb.oovv.transpose((1, 0, 3, 2)).copy() * -1 + tmp126 += v.bbbb.ovov.transpose((2, 0, 3, 1)) + l1new.bb += einsum(l1.bb, (0, 1), tmp126, (1, 2, 0, 3), (3, 2), optimize=True) + del tmp126 + tmp125 = v.bbbb.ooov.transpose((1, 2, 0, 3)).copy() + tmp125 += v.bbbb.ooov.transpose((1, 0, 2, 3)) * -1 + tmp75 = tmp74.copy() * 2 + del tmp74 + tmp75 += tmp73 + del tmp73 + tmp75 += tmp72 + del tmp72 + l1new.bb += einsum(tmp75, (0, 1), tmp125, (0, 2, 1, 3), (3, 2), optimize=True) * -1 + del tmp125 + tmp60 = tmp59.copy() * 0.5 + del tmp59 + tmp60 += tmp58 + del tmp58 + tmp60 += tmp57 * 0.5 + del tmp57 + tmp61 = einsum(t1.aa, (0, 1), tmp60, (0, 2), (2, 1), optimize=True) * 2 + del tmp60 + tmp124 = tmp61.copy() + tmp56 = einsum(t2.abab, (0, 1, 2, 3), tmp35, (0, 4, 1, 3), (4, 2), optimize=True) + tmp124 += tmp56 + tmp55 = einsum(tmp0, (0, 1, 2, 3), t2.aaaa, (0, 1, 3, 4), (2, 4), optimize=True) + tmp124 += tmp55 * 2 + tmp54 = einsum(l1.bb, (0, 1), t2.abab, (2, 1, 3, 0), (2, 3), optimize=True) + tmp124 += tmp54 * -1 + tmp53 = einsum(l1.aa, (0, 1), t2.aaaa, (2, 1, 3, 0), (2, 3), optimize=True) + tmp124 += tmp53 * -2 + tmp124 += t1.aa * -1 + tmp124 += l1.aa.transpose((1, 0)) * -1 + l1new.bb += einsum(v.aabb.ovov, (0, 1, 2, 3), tmp124, (0, 1), (3, 2), optimize=True) * -1 + del tmp124 + tmp50 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 4, 1), (0, 4), optimize=True) + tmp51 = tmp50.copy() + del tmp50 + tmp49 = einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (2, 3, 0, 4), (1, 4), optimize=True) + tmp51 += tmp49 * 2 + del tmp49 + tmp48 = einsum(t1.aa, (0, 1), l1.aa, (2, 0), (2, 1), optimize=True) + tmp51 += tmp48 + del tmp48 + l1new.bb += einsum(v.bbaa.ovvv, (0, 1, 2, 3), tmp51, (3, 2), (1, 0), optimize=True) + tmp123 = v.bbbb.ovov.transpose((2, 0, 3, 1)).copy() * -1 + tmp123 += v.bbbb.ovov.transpose((2, 0, 1, 3)) + tmp122 = einsum(tmp75, (0, 1), t1.bb, (0, 2), (1, 2), optimize=True) * 0.5 + tmp71 = einsum(tmp70, (0, 1, 2, 3), t2.bbbb, (0, 1, 3, 4), (2, 4), optimize=True) + tmp122 += tmp71 + tmp69 = einsum(tmp3, (0, 1, 2, 3), t2.abab, (0, 1, 3, 4), (2, 4), optimize=True) + tmp122 += tmp69 * 0.5 + tmp68 = einsum(t2.bbbb, (0, 1, 2, 3), l1.bb, (3, 1), (0, 2), optimize=True) + tmp122 += tmp68 * -1 + tmp67 = einsum(l1.aa, (0, 1), t2.abab, (1, 2, 0, 3), (2, 3), optimize=True) + tmp122 += tmp67 * -0.5 + tmp122 += t1.bb * -0.5 + l1new.bb += einsum(tmp122, (0, 1), tmp123, (0, 2, 3, 1), (3, 2), optimize=True) * -2 + del tmp122, tmp123 + tmp65 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (2, 4, 0, 1), (4, 3), optimize=True) + tmp121 = tmp65.copy() + tmp64 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 4, 0, 1), (4, 3), optimize=True) + tmp121 += tmp64 * 0.5 + tmp63 = einsum(l1.bb, (0, 1), t1.bb, (1, 2), (0, 2), optimize=True) + tmp121 += tmp63 * 0.5 + tmp113 = v.bbbb.ovvv.transpose((0, 3, 2, 1)).copy() * -1 + tmp113 += v.bbbb.ovvv.transpose((0, 1, 3, 2)) + l1new.bb += einsum(tmp113, (0, 1, 2, 3), tmp121, (2, 1), (3, 0), optimize=True) * -2 + del tmp121 + tmp120 = tmp37.transpose((1, 0, 2, 3)).copy() + tmp36 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 5, 0, 1), (2, 4, 3, 5), optimize=True) + tmp120 += tmp36 + l1new.bb += einsum(v.aabb.ooov, (0, 1, 2, 3), tmp120, (1, 0, 4, 2), (3, 4), optimize=True) + del tmp120 + tmp116 = einsum(t2.bbbb, (0, 1, 2, 3), tmp70, (4, 1, 5, 3), (4, 5, 0, 2), optimize=True) * -1 + tmp119 = tmp116.transpose((0, 2, 1, 3)).copy() * 2 + tmp115 = einsum(tmp3, (0, 1, 2, 3), t2.abab, (0, 4, 3, 5), (1, 2, 4, 5), optimize=True) + tmp119 += tmp115.transpose((0, 2, 1, 3)) * 0.5 + tmp119 += einsum(t2.bbbb, (0, 1, 2, 3), l1.bb, (3, 4), (4, 1, 0, 2), optimize=True) * -1 + l1new.bb += einsum(tmp119, (0, 1, 2, 3), v.bbbb.ovov, (1, 4, 2, 3), (4, 0), optimize=True) * 2 + del tmp119 + tmp117 = tmp91.transpose((0, 1, 3, 2)).copy() * -1 + tmp90 = einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 5, 0, 1), (2, 3, 4, 5), optimize=True) + tmp117 += tmp90.transpose((1, 0, 3, 2)) + tmp118 = einsum(t1.bb, (0, 1), tmp117, (0, 2, 3, 4), (4, 2, 3, 1), optimize=True) + del tmp117 + tmp118 += tmp116.transpose((2, 0, 1, 3)) * 2 + del tmp116 + tmp118 += tmp115.transpose((2, 0, 1, 3)) * 0.5 + del tmp115 + tmp118 += tmp70.transpose((1, 0, 2, 3)) * -1 + l1new.bb += einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp118, (0, 4, 2, 1), (3, 4), optimize=True) * -2 + del tmp118 + tmp114 = einsum(v.bbbb.vvvv, (0, 1, 2, 3), t1.bb, (4, 2), (4, 1, 3, 0), optimize=True) * -1 + tmp114 += v.bbbb.ovvv.transpose((0, 1, 3, 2)) + l1new.bb += einsum(tmp114, (0, 1, 2, 3), l2.bbbb, (1, 2, 0, 4), (3, 4), optimize=True) * 2 + del tmp114 + tmp112 = einsum(t1.bb, (0, 1), tmp70, (2, 0, 3, 4), (2, 3, 4, 1), optimize=True) + l1new.bb += einsum(tmp113, (0, 1, 2, 3), tmp112, (4, 0, 2, 1), (3, 4), optimize=True) * -2 + del tmp113, tmp112 + tmp111 = einsum(t1.aa, (0, 1), tmp3, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) + tmp111 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 5, 1), (3, 4, 0, 5), optimize=True) + l1new.bb += einsum(v.bbaa.ovvv, (0, 1, 2, 3), tmp111, (4, 0, 3, 2), (1, 4), optimize=True) * -1 + del tmp111 + tmp38 = tmp37.copy() + tmp38 += tmp36 + tmp110 = einsum(t1.aa, (0, 1), tmp38, (0, 2, 3, 4), (2, 3, 4, 1), optimize=True) * -0.5 + tmp110 += einsum(t2.abab, (0, 1, 2, 3), tmp70, (4, 1, 5, 3), (0, 4, 5, 2), optimize=True) * -1 + tmp110 += einsum(tmp35, (0, 1, 2, 3), t2.abab, (0, 4, 5, 3), (1, 2, 4, 5), optimize=True) * -0.5 + tmp110 += einsum(t2.aaaa, (0, 1, 2, 3), tmp3, (1, 4, 5, 3), (0, 4, 5, 2), optimize=True) + tmp110 += tmp3 * 0.5 + tmp110 += einsum(l1.bb, (0, 1), t2.abab, (2, 3, 4, 0), (2, 1, 3, 4), optimize=True) * 0.5 + l1new.bb += einsum(v.aabb.ovov, (0, 1, 2, 3), tmp110, (0, 4, 2, 1), (3, 4), optimize=True) * -2 + del tmp110 + tmp109 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (3, 4, 5, 1), (5, 0, 4, 2), optimize=True) * -4 + tmp109 += einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 4, 0, 5), (5, 1, 4, 3), optimize=True) + l1new.bb += einsum(tmp109, (0, 1, 2, 3), tmp108, (1, 4, 3, 2), (4, 0), optimize=True) + del tmp108, tmp109 + tmp107 = einsum(t2.abab, (0, 1, 2, 3), l2.bbbb, (4, 3, 1, 5), (0, 5, 2, 4), optimize=True) * -2 + tmp107 += einsum(tmp35, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3), optimize=True) * -1 + tmp107 += einsum(t2.aaaa, (0, 1, 2, 3), l2.abab, (3, 4, 1, 5), (0, 5, 2, 4), optimize=True) * 2 + tmp107 += l2.abab.transpose((2, 3, 0, 1)) + l1new.bb += einsum(tmp107, (0, 1, 2, 3), v.aabb.ovvv, (0, 2, 3, 4), (4, 1), optimize=True) + del tmp107 + tmp105 = tmp104.transpose((3, 0, 2, 1)).copy() + tmp105 += tmp104.transpose((2, 0, 3, 1)) * -1 + del tmp104 + tmp105 += tmp103.transpose((2, 1, 3, 0)) * -1 + del tmp103 + tmp105 += einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (4, 5, 3, 1), (2, 5, 0, 4), optimize=True) * -1 + tmp105 += v.bbbb.oooo.transpose((2, 3, 1, 0)) + tmp106 = einsum(t1.bb, (0, 1), tmp105, (0, 2, 3, 4), (3, 4, 2, 1), optimize=True) + del tmp105 + tmp102 = einsum(v.bbbb.ovvv, (0, 1, 2, 3), t1.bb, (4, 2), (4, 0, 3, 1), optimize=True) + tmp102 += v.bbbb.oovv.transpose((1, 0, 3, 2)) * -1 + tmp102 += v.bbbb.ovov.transpose((2, 0, 3, 1)) + tmp106 += einsum(t1.bb, (0, 1), tmp102, (2, 3, 4, 1), (3, 2, 0, 4), optimize=True) + del tmp102 + tmp106 += einsum(tmp97, (0, 1), t2.bbbb, (2, 3, 1, 4), (0, 3, 2, 4), optimize=True) + tmp106 += einsum(t2.abab, (0, 1, 2, 3), tmp21, (0, 4, 5, 2), (5, 1, 4, 3), optimize=True) + tmp101 = tmp92.transpose((0, 2, 1, 3)).copy() + tmp101 += tmp92 * -1 + tmp101 += v.bbbb.ooov.transpose((1, 2, 0, 3)) * -1 + tmp101 += v.bbbb.ooov.transpose((1, 0, 2, 3)) + tmp106 += einsum(t2.bbbb, (0, 1, 2, 3), tmp101, (4, 5, 0, 2), (5, 1, 4, 3), optimize=True) * 2 + del tmp101 + tmp106 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), t2.bbbb, (4, 5, 2, 1), (0, 5, 4, 3), optimize=True) * -1 + tmp106 += v.bbbb.ooov.transpose((1, 0, 2, 3)) * -1 + l1new.bb += einsum(l2.bbbb, (0, 1, 2, 3), tmp106, (4, 2, 3, 0), (1, 4), optimize=True) * -2 + del tmp106 + tmp22 = einsum(t1.aa, (0, 1), tmp21, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) + del tmp21 + tmp23 = tmp22.transpose((1, 0, 3, 2)).copy() + del tmp22 + tmp20 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (4, 5, 1, 3), (4, 0, 5, 2), optimize=True) + tmp23 += tmp20.transpose((1, 0, 3, 2)) + del tmp20 + tmp23 += tmp19.transpose((1, 0, 3, 2)) + del tmp19 + tmp23 += v.aabb.oooo.transpose((1, 0, 3, 2)) + tmp100 = einsum(tmp23, (0, 1, 2, 3), t1.aa, (0, 4), (1, 3, 2, 4), optimize=True) * -1 + tmp99 = tmp98.transpose((1, 0, 3, 2)).copy() + del tmp98 + tmp99 += v.bbaa.oovv.transpose((1, 0, 3, 2)) + tmp100 += einsum(tmp99, (0, 1, 2, 3), t1.aa, (4, 2), (4, 1, 0, 3), optimize=True) + del tmp99 + tmp100 += einsum(tmp97, (0, 1), t2.abab, (2, 3, 4, 1), (2, 3, 0, 4), optimize=True) + del tmp97 + tmp12 = tmp11.transpose((1, 0, 2, 3)).copy() + tmp12 += v.aabb.ooov.transpose((1, 0, 2, 3)) + tmp100 += einsum(t2.abab, (0, 1, 2, 3), tmp12, (0, 4, 5, 3), (4, 1, 5, 2), optimize=True) * -1 + tmp100 += einsum(t2.aaaa, (0, 1, 2, 3), tmp10, (0, 4, 5, 2), (1, 5, 4, 3), optimize=True) * 2 + tmp93 = tmp92.transpose((2, 0, 1, 3)).copy() + tmp93 += tmp92.transpose((1, 0, 2, 3)) * -1 + del tmp92 + tmp93 += v.bbbb.ooov.transpose((2, 1, 0, 3)) * -1 + tmp93 += v.bbbb.ooov.transpose((1, 0, 2, 3)) + tmp100 += einsum(t2.abab, (0, 1, 2, 3), tmp93, (4, 5, 1, 3), (0, 5, 4, 2), optimize=True) + del tmp93 + tmp100 += einsum(v.bbaa.ovvv, (0, 1, 2, 3), t2.abab, (4, 5, 2, 1), (4, 5, 0, 3), optimize=True) + tmp100 += tmp9 + del tmp9 + tmp100 += v.aabb.ovoo.transpose((0, 3, 2, 1)) + l1new.bb += einsum(l2.abab, (0, 1, 2, 3), tmp100, (2, 3, 4, 0), (1, 4), optimize=True) * -1 + del tmp100 + l1new.bb += einsum(tmp91, (0, 1, 2, 3), v.bbbb.ooov, (1, 2, 3, 4), (4, 0), optimize=True) * -2 + del tmp91 + l1new.bb += einsum(tmp90, (0, 1, 2, 3), v.bbbb.ooov, (3, 1, 2, 4), (4, 0), optimize=True) * 2 + del tmp90 + l1new.bb += einsum(v.aabb.oovv, (0, 1, 2, 3), tmp35, (0, 1, 4, 3), (2, 4), optimize=True) * -1 + l1new.bb += f.bb.ov.transpose((1, 0)) + l1new.bb += einsum(v.bbbb.oovv, (0, 1, 2, 3), tmp70, (4, 0, 1, 3), (2, 4), optimize=True) * -2 + del tmp70 + tmp89 = einsum(t1.aa, (0, 1), v.aabb.vvvv, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) + l1new.bb += einsum(l2.abab, (0, 1, 2, 3), tmp89, (2, 0, 4, 1), (4, 3), optimize=True) + del tmp89 + tmp88 = tmp87.copy() + del tmp87 + tmp88 += tmp86 * -1 + del tmp86 + tmp88 += einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 1, 3), (4, 0), optimize=True) + tmp88 += einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.aaaa, (2, 4, 3, 1), (4, 0), optimize=True) * 2 + tmp88 += tmp84.transpose((1, 0)) + del tmp84 + tmp88 += f.aa.oo.transpose((1, 0)) + l1new.aa = einsum(tmp88, (0, 1), l1.aa, (2, 0), (2, 1), optimize=True) * -1 + del tmp88 + l1new.aa += einsum(tmp77, (0, 1), tmp16, (1, 2), (2, 0), optimize=True) * -1 + l1new.aa += einsum(l1.aa, (0, 1), tmp83, (0, 2), (2, 1), optimize=True) + del tmp83 + l1new.aa += einsum(v.aabb.ovoo, (0, 1, 2, 3), tmp75, (3, 2), (1, 0), optimize=True) * -1 + tmp79 = v.aaaa.oovv.transpose((1, 0, 3, 2)).copy() * -1 + tmp79 += v.aaaa.ovov.transpose((2, 0, 3, 1)) + l1new.aa += einsum(tmp79, (0, 1, 2, 3), l1.aa, (2, 0), (3, 1), optimize=True) + del tmp79 + tmp78 = v.aaaa.ooov.transpose((1, 2, 0, 3)).copy() + tmp78 += v.aaaa.ooov.transpose((1, 0, 2, 3)) * -1 + l1new.aa += einsum(tmp77, (0, 1), tmp78, (0, 2, 1, 3), (3, 2), optimize=True) * -1 + del tmp77, tmp78 + tmp76 = einsum(tmp75, (0, 1), t1.bb, (0, 2), (1, 2), optimize=True) + del tmp75 + tmp76 += tmp71 * 2 + del tmp71 + tmp76 += tmp69 + del tmp69 + tmp76 += tmp68 * -2 + del tmp68 + tmp76 += tmp67 * -1 + del tmp67 + tmp76 += t1.bb * -1 + tmp76 += l1.bb.transpose((1, 0)) * -1 + l1new.aa += einsum(v.aabb.ovov, (0, 1, 2, 3), tmp76, (2, 3), (1, 0), optimize=True) * -1 + del tmp76 + tmp66 = tmp65.copy() * 2 + del tmp65 + tmp66 += tmp64 + del tmp64 + tmp66 += tmp63 + del tmp63 + l1new.aa += einsum(v.aabb.ovvv, (0, 1, 2, 3), tmp66, (3, 2), (1, 0), optimize=True) + del tmp66 + tmp62 = tmp61.copy() + del tmp61 + tmp62 += tmp56 + del tmp56 + tmp62 += tmp55 * 2 + del tmp55 + tmp62 += tmp54 * -1 + del tmp54 + tmp62 += tmp53 * -2 + del tmp53 + tmp62 += t1.aa * -1 + l1new.aa += einsum(tmp62, (0, 1), tmp14, (0, 2, 3, 1), (3, 2), optimize=True) + del tmp14, tmp62 + l1new.aa += einsum(tmp52, (0, 1, 2, 3), tmp51, (2, 1), (3, 0), optimize=True) * -1 + del tmp52, tmp51 + tmp47 = tmp37.transpose((0, 1, 3, 2)).copy() + del tmp37 + tmp47 += tmp36 + del tmp36 + l1new.aa += einsum(v.aabb.ovoo, (0, 1, 2, 3), tmp47, (4, 0, 3, 2), (1, 4), optimize=True) + del tmp47 + tmp43 = einsum(t2.abab, (0, 1, 2, 3), tmp35, (4, 5, 1, 3), (4, 5, 0, 2), optimize=True) + tmp46 = tmp43.transpose((0, 2, 1, 3)).copy() * 0.5 + tmp42 = einsum(tmp0, (0, 1, 2, 3), t2.aaaa, (4, 1, 5, 3), (0, 2, 4, 5), optimize=True) * -1 + tmp46 += tmp42.transpose((0, 2, 1, 3)) * 2 + tmp46 += einsum(l1.aa, (0, 1), t2.aaaa, (2, 3, 4, 0), (1, 3, 2, 4), optimize=True) * -1 + l1new.aa += einsum(tmp46, (0, 1, 2, 3), v.aaaa.ovov, (1, 4, 2, 3), (4, 0), optimize=True) * 2 + del tmp46 + tmp44 = tmp5.transpose((0, 1, 3, 2)).copy() * -1 + tmp4 = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (2, 3, 4, 5), (4, 5, 0, 1), optimize=True) + tmp44 += tmp4.transpose((1, 0, 3, 2)) + tmp45 = einsum(tmp44, (0, 1, 2, 3), t1.aa, (0, 4), (3, 1, 2, 4), optimize=True) + del tmp44 + tmp45 += tmp43.transpose((2, 0, 1, 3)) * 0.5 + del tmp43 + tmp45 += tmp42.transpose((2, 0, 1, 3)) * 2 + del tmp42 + tmp45 += tmp0.transpose((1, 0, 2, 3)) * -1 + l1new.aa += einsum(tmp45, (0, 1, 2, 3), v.aaaa.ovov, (0, 3, 2, 4), (4, 1), optimize=True) * -2 + del tmp45 + tmp41 = einsum(t1.bb, (0, 1), tmp35, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) + tmp41 += einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 4, 5, 1), (5, 0, 4, 3), optimize=True) + l1new.aa += einsum(v.aabb.ovvv, (0, 1, 2, 3), tmp41, (4, 0, 3, 2), (1, 4), optimize=True) * -1 + del tmp41 + tmp40 = einsum(tmp0, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 3, 4), optimize=True) + tmp40 += l2.aaaa.transpose((3, 2, 1, 0)) * -1 + l1new.aa += einsum(v.aaaa.ovvv, (0, 1, 2, 3), tmp40, (4, 0, 2, 1), (3, 4), optimize=True) * -2 + del tmp40 + tmp39 = einsum(t1.bb, (0, 1), tmp38, (2, 3, 0, 4), (2, 3, 4, 1), optimize=True) * -1 + del tmp38 + tmp39 += einsum(tmp3, (0, 1, 2, 3), t2.abab, (4, 1, 3, 5), (0, 4, 2, 5), optimize=True) * -1 + tmp39 += einsum(t2.bbbb, (0, 1, 2, 3), tmp35, (4, 5, 1, 3), (4, 5, 0, 2), optimize=True) * 2 + tmp39 += einsum(t2.abab, (0, 1, 2, 3), tmp0, (4, 0, 5, 2), (4, 5, 1, 3), optimize=True) * -2 + tmp39 += tmp35 + del tmp35 + tmp39 += einsum(t2.abab, (0, 1, 2, 3), l1.aa, (2, 4), (4, 0, 1, 3), optimize=True) + l1new.aa += einsum(v.aabb.ovov, (0, 1, 2, 3), tmp39, (4, 0, 2, 3), (1, 4), optimize=True) * -1 + del tmp39 + tmp34 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 5, 1), (2, 4, 0, 5), optimize=True) + tmp34 += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 3, 5, 0), (2, 4, 1, 5), optimize=True) * -4 + l1new.aa += einsum(tmp34, (0, 1, 2, 3), tmp33, (1, 3, 2, 4), (4, 0), optimize=True) * -1 + del tmp33, tmp34 + tmp32 = einsum(tmp3, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 3, 4), optimize=True) * -0.5 + tmp32 += einsum(t2.bbbb, (0, 1, 2, 3), l2.abab, (4, 3, 5, 1), (5, 0, 4, 2), optimize=True) + tmp32 += einsum(l2.aaaa, (0, 1, 2, 3), t2.abab, (3, 4, 0, 5), (2, 4, 1, 5), optimize=True) * -1 + tmp32 += l2.abab.transpose((2, 3, 0, 1)) * 0.5 + l1new.aa += einsum(v.bbaa.ovvv, (0, 1, 2, 3), tmp32, (4, 0, 2, 1), (3, 4), optimize=True) * 2 + del tmp32 + tmp30 = tmp29.transpose((3, 0, 2, 1)).copy() + tmp30 += tmp29.transpose((2, 0, 3, 1)) * -1 + del tmp29 + tmp30 += tmp28.transpose((2, 1, 3, 0)) * -1 + del tmp28 + tmp30 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 3, 5, 2), (5, 1, 4, 0), optimize=True) * -1 + tmp30 += v.aaaa.oooo.transpose((2, 3, 1, 0)) + tmp31 = einsum(t1.aa, (0, 1), tmp30, (0, 2, 3, 4), (3, 4, 2, 1), optimize=True) + del tmp30 + tmp1 = einsum(v.aaaa.ovvv, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 1, 2), optimize=True) + tmp27 = tmp1.transpose((0, 1, 3, 2)).copy() + tmp27 += v.aaaa.oovv.transpose((1, 0, 3, 2)) * -1 + tmp27 += v.aaaa.ovov.transpose((2, 0, 3, 1)) + tmp31 += einsum(tmp27, (0, 1, 2, 3), t1.aa, (4, 3), (1, 0, 4, 2), optimize=True) + del tmp27 + tmp31 += einsum(tmp16, (0, 1), t2.aaaa, (2, 3, 1, 4), (0, 3, 2, 4), optimize=True) + tmp26 = tmp11.copy() + del tmp11 + tmp26 += v.aabb.ooov.transpose((1, 0, 2, 3)) + tmp31 += einsum(tmp26, (0, 1, 2, 3), t2.abab, (4, 2, 5, 3), (1, 4, 0, 5), optimize=True) + del tmp26 + tmp25 = tmp7.transpose((0, 2, 1, 3)).copy() + tmp25 += tmp7 * -1 + tmp25 += v.aaaa.ooov.transpose((1, 2, 0, 3)) * -1 + tmp25 += v.aaaa.ooov.transpose((1, 0, 2, 3)) + tmp31 += einsum(tmp25, (0, 1, 2, 3), t2.aaaa, (2, 4, 3, 5), (1, 4, 0, 5), optimize=True) * 2 + del tmp25 + tmp31 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovvv, (4, 3, 2, 5), (4, 1, 0, 5), optimize=True) * -1 + tmp31 += v.aaaa.ooov.transpose((1, 0, 2, 3)) * -1 + l1new.aa += einsum(l2.aaaa, (0, 1, 2, 3), tmp31, (4, 2, 3, 0), (1, 4), optimize=True) * -2 + del tmp31 + tmp24 = einsum(tmp23, (0, 1, 2, 3), t1.bb, (2, 4), (1, 0, 3, 4), optimize=True) * -0.5 + del tmp23 + tmp24 += einsum(t1.aa, (0, 1), tmp18, (2, 3, 1, 4), (0, 2, 3, 4), optimize=True) * 0.5 + del tmp18 + tmp24 += einsum(tmp16, (0, 1), t2.abab, (2, 3, 1, 4), (2, 0, 3, 4), optimize=True) * 0.5 + del tmp16 + tmp24 += einsum(t2.bbbb, (0, 1, 2, 3), tmp12, (4, 5, 0, 2), (5, 4, 1, 3), optimize=True) + del tmp12 + tmp24 += einsum(t2.abab, (0, 1, 2, 3), tmp10, (4, 1, 5, 2), (0, 4, 5, 3), optimize=True) * -0.5 + del tmp10 + tmp8 = tmp7.transpose((2, 0, 1, 3)).copy() * -1 + tmp8 += tmp7.transpose((1, 0, 2, 3)) + del tmp7 + tmp8 += v.aaaa.ooov.transpose((2, 1, 0, 3)) + tmp8 += v.aaaa.ooov.transpose((1, 0, 2, 3)) * -1 + tmp24 += einsum(tmp8, (0, 1, 2, 3), t2.abab, (0, 4, 3, 5), (1, 2, 4, 5), optimize=True) * 0.5 + del tmp8 + tmp24 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovvv, (4, 2, 3, 5), (0, 4, 1, 5), optimize=True) * 0.5 + tmp24 += einsum(t1.bb, (0, 1), v.aabb.oovv, (2, 3, 4, 1), (3, 2, 0, 4), optimize=True) * 0.5 + tmp24 += v.aabb.ooov.transpose((1, 0, 2, 3)) * 0.5 + l1new.aa += einsum(l2.abab, (0, 1, 2, 3), tmp24, (2, 4, 3, 1), (0, 4), optimize=True) * -2 + del tmp24 + tmp6 = einsum(v.aabb.vvvv, (0, 1, 2, 3), t1.bb, (4, 3), (4, 0, 1, 2), optimize=True) + l1new.aa += einsum(l2.abab, (0, 1, 2, 3), tmp6, (3, 4, 0, 1), (4, 2), optimize=True) + del tmp6 + l1new.aa += f.aa.ov.transpose((1, 0)) + l1new.aa += einsum(v.aaaa.ooov, (0, 1, 2, 3), tmp5, (4, 0, 1, 2), (3, 4), optimize=True) * -2 + del tmp5 + l1new.aa += einsum(v.aaaa.ooov, (0, 1, 2, 3), tmp4, (4, 1, 2, 0), (3, 4), optimize=True) * 2 + del tmp4 + l1new.aa += einsum(v.aaaa.oovv, (0, 1, 2, 3), tmp0, (4, 0, 1, 3), (2, 4), optimize=True) * -2 + l1new.aa += einsum(tmp3, (0, 1, 2, 3), v.bbaa.oovv, (1, 2, 4, 3), (4, 0), optimize=True) * -1 + del tmp3 + tmp2 = einsum(v.aaaa.vvvv, (0, 1, 2, 3), t1.aa, (4, 2), (4, 0, 1, 3), optimize=True) + l1new.aa += einsum(tmp2, (0, 1, 2, 3), l2.aaaa, (3, 2, 4, 0), (1, 4), optimize=True) * -2 + del tmp2 + l1new.aa += einsum(tmp0, (0, 1, 2, 3), tmp1, (1, 2, 4, 3), (4, 0), optimize=True) * 2 + del tmp0, tmp1 + + return {f"l1new": l1new, f"l2new": l2new} + +def make_rdm1_f(l1=None, l2=None, t1=None, t2=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-02-29T20:37:07.750000. + + Parameters + ---------- + l1 : Namespace of arrays + L1 amplitudes. + l2 : Namespace of arrays + L2 amplitudes. + t1 : Namespace of arrays + T1 amplitudes. + t2 : Namespace of arrays + T2 amplitudes. + + Returns + ------- + rdm1 : Namespace of arrays + One-particle reduced density matrix. + """ + + rdm1 = Namespace() + rdm1.aa = Namespace() + rdm1.bb = Namespace() + delta = Namespace( + aa=Namespace(oo=np.eye(t1.aa.shape[0]), vv=np.eye(t1.aa.shape[1])), + bb=Namespace(oo=np.eye(t1.bb.shape[0]), vv=np.eye(t1.bb.shape[1])), + ) + rdm1.bb.vv = einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (2, 3, 4, 0), (1, 4), optimize=True) * -2 + rdm1.bb.vv += einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 4, 0, 1), (4, 3), optimize=True) + rdm1.bb.vv += einsum(l1.bb, (0, 1), t1.bb, (1, 2), (0, 2), optimize=True) + rdm1.aa.vv = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (3, 4, 0, 1), (4, 2), optimize=True) * -2 + rdm1.aa.vv += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 4, 1), (0, 4), optimize=True) + rdm1.aa.vv += einsum(t1.aa, (0, 1), l1.aa, (2, 0), (2, 1), optimize=True) + rdm1.bb.vo = l1.bb.copy() + rdm1.aa.vo = l1.aa.copy() + tmp4 = einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 3, 0, 1), (2, 4), optimize=True) + tmp11 = tmp4.copy() * 2 + tmp3 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 1), (3, 4), optimize=True) + tmp11 += tmp3 + tmp5 = einsum(l1.bb, (0, 1), t1.bb, (2, 0), (1, 2), optimize=True) + tmp11 += tmp5 + rdm1.bb.ov = einsum(tmp11, (0, 1), t1.bb, (0, 2), (1, 2), optimize=True) * -1 + del tmp11 + rdm1.bb.ov += einsum(t2.bbbb, (0, 1, 2, 3), l1.bb, (3, 1), (0, 2), optimize=True) * 2 + rdm1.bb.ov += einsum(l1.aa, (0, 1), t2.abab, (1, 2, 0, 3), (2, 3), optimize=True) + tmp10 = einsum(l2.abab, (0, 1, 2, 3), t1.bb, (4, 1), (2, 3, 4, 0), optimize=True) + rdm1.bb.ov += einsum(t2.abab, (0, 1, 2, 3), tmp10, (0, 1, 4, 2), (4, 3), optimize=True) * -1 + del tmp10 + tmp9 = einsum(t1.bb, (0, 1), l2.bbbb, (2, 1, 3, 4), (3, 4, 0, 2), optimize=True) + rdm1.bb.ov += einsum(tmp9, (0, 1, 2, 3), t2.bbbb, (0, 1, 4, 3), (2, 4), optimize=True) * 2 + del tmp9 + rdm1.bb.ov += t1.bb + tmp1 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 3, 4, 1), (4, 0), optimize=True) + tmp8 = tmp1.copy() + tmp2 = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (2, 3, 4, 1), (4, 0), optimize=True) + tmp8 += tmp2 * 2 + tmp0 = einsum(l1.aa, (0, 1), t1.aa, (2, 0), (1, 2), optimize=True) + tmp8 += tmp0 + rdm1.aa.ov = einsum(tmp8, (0, 1), t1.aa, (0, 2), (1, 2), optimize=True) * -1 + del tmp8 + rdm1.aa.ov += einsum(l1.bb, (0, 1), t2.abab, (2, 1, 3, 0), (2, 3), optimize=True) + tmp7 = einsum(l2.aaaa, (0, 1, 2, 3), t1.aa, (4, 1), (2, 3, 4, 0), optimize=True) + rdm1.aa.ov += einsum(tmp7, (0, 1, 2, 3), t2.aaaa, (0, 1, 4, 3), (2, 4), optimize=True) * 2 + del tmp7 + rdm1.aa.ov += t1.aa + tmp6 = einsum(l2.abab, (0, 1, 2, 3), t1.aa, (4, 0), (2, 4, 3, 1), optimize=True) + rdm1.aa.ov += einsum(t2.abab, (0, 1, 2, 3), tmp6, (0, 4, 1, 3), (4, 2), optimize=True) * -1 + del tmp6 + rdm1.aa.ov += einsum(l1.aa, (0, 1), t2.aaaa, (2, 1, 3, 0), (2, 3), optimize=True) * 2 + rdm1.bb.oo = tmp5.transpose((1, 0)).copy() * -1 + del tmp5 + rdm1.bb.oo += tmp4.transpose((1, 0)) * -2 + del tmp4 + rdm1.bb.oo += tmp3.transpose((1, 0)) * -1 + del tmp3 + rdm1.bb.oo += delta.bb.oo.transpose((1, 0)) + rdm1.aa.oo = tmp2.transpose((1, 0)).copy() * -2 + del tmp2 + rdm1.aa.oo += tmp1.transpose((1, 0)) * -1 + del tmp1 + rdm1.aa.oo += tmp0.transpose((1, 0)) * -1 + del tmp0 + rdm1.aa.oo += delta.aa.oo.transpose((1, 0)) + del delta + rdm1.aa = np.block([[rdm1.aa.oo, rdm1.aa.ov], [rdm1.aa.vo, rdm1.aa.vv]]) + rdm1.bb = np.block([[rdm1.bb.oo, rdm1.bb.ov], [rdm1.bb.vo, rdm1.bb.vv]]) + + return rdm1 + +def make_rdm2_f(l1=None, l2=None, t1=None, t2=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-02-29T20:37:42.471427. + + Parameters + ---------- + l1 : Namespace of arrays + L1 amplitudes. + l2 : Namespace of arrays + L2 amplitudes. + t1 : Namespace of arrays + T1 amplitudes. + t2 : Namespace of arrays + T2 amplitudes. + + Returns + ------- + rdm2 : Namespace of arrays + Two-particle reduced density matrix. + """ + + rdm2 = Namespace() + rdm2.aaaa = Namespace() + rdm2.abab = Namespace() + rdm2.bbbb = Namespace() + delta = Namespace( + aa=Namespace(oo=np.eye(t1.aa.shape[0]), vv=np.eye(t1.aa.shape[1])), + bb=Namespace(oo=np.eye(t1.bb.shape[0]), vv=np.eye(t1.bb.shape[1])), + ) + tmp131 = einsum(t1.bb, (0, 1), l2.bbbb, (2, 3, 4, 0), (4, 2, 3, 1), optimize=True) + rdm2.bbbb.vvvv = einsum(tmp131, (0, 1, 2, 3), t1.bb, (0, 4), (1, 2, 4, 3), optimize=True) * 2 + rdm2.bbbb.vvvv += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (2, 3, 4, 5), (1, 0, 5, 4), optimize=True) * 2 + tmp130 = einsum(l2.abab, (0, 1, 2, 3), t1.bb, (3, 4), (2, 0, 1, 4), optimize=True) + rdm2.abab.vvvv = einsum(t1.aa, (0, 1), tmp130, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) + rdm2.abab.vvvv += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 4, 5), (0, 1, 4, 5), optimize=True) + tmp129 = einsum(l2.aaaa, (0, 1, 2, 3), t1.aa, (3, 4), (2, 0, 1, 4), optimize=True) + rdm2.aaaa.vvvv = einsum(tmp129, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3), optimize=True) * 2 + rdm2.aaaa.vvvv += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (2, 3, 4, 5), (1, 0, 5, 4), optimize=True) * 2 + rdm2.bbbb.vvvo = tmp131.transpose((2, 1, 3, 0)).copy() * 2 + rdm2.abab.vvvo = einsum(t1.aa, (0, 1), l2.abab, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) + rdm2.aaaa.vvvo = tmp129.transpose((2, 1, 3, 0)).copy() * 2 + rdm2.bbbb.vvov = tmp131.transpose((2, 1, 0, 3)).copy() * -2 + del tmp131 + rdm2.abab.vvov = tmp130.transpose((1, 2, 0, 3)).copy() + del tmp130 + rdm2.aaaa.vvov = tmp129.transpose((2, 1, 0, 3)).copy() * -2 + del tmp129 + tmp17 = einsum(t1.bb, (0, 1), l2.bbbb, (2, 1, 3, 4), (3, 4, 0, 2), optimize=True) + tmp113 = einsum(tmp17, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 3, 4), optimize=True) + tmp128 = einsum(t1.bb, (0, 1), tmp113, (0, 2, 3, 4), (2, 3, 4, 1), optimize=True) * -1 + rdm2.bbbb.vovv = tmp128.transpose((1, 0, 3, 2)).copy() * 2 + tmp79 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (3, 4, 5, 1), (5, 0, 4, 2), optimize=True) * -1 + tmp80 = tmp79.copy() * 4 + tmp78 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 4, 0, 5), (5, 1, 4, 3), optimize=True) + tmp80 += tmp78 + tmp127 = einsum(tmp80, (0, 1, 2, 3), t1.bb, (0, 4), (1, 4, 2, 3), optimize=True) + rdm2.bbbb.vovv += tmp127.transpose((2, 0, 3, 1)) * -1 + rdm2.bbbb.vovv += tmp127.transpose((2, 0, 1, 3)) + tmp76 = einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (2, 3, 4, 0), (1, 4), optimize=True) * -1 + tmp112 = tmp76.copy() * 2 + tmp75 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 4, 0, 1), (4, 3), optimize=True) + tmp112 += tmp75 + tmp111 = einsum(l1.bb, (0, 1), t1.bb, (1, 2), (0, 2), optimize=True) + tmp112 += tmp111 + rdm2.bbbb.vovv += einsum(tmp112, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3), optimize=True) + rdm2.bbbb.vovv += einsum(tmp112, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1), optimize=True) * -1 + tmp125 = einsum(t2.bbbb, (0, 1, 2, 3), tmp17, (0, 1, 4, 5), (4, 5, 2, 3), optimize=True) + rdm2.bbbb.vovv += tmp125.transpose((1, 0, 3, 2)) * 2 + tmp124 = einsum(t2.bbbb, (0, 1, 2, 3), l1.bb, (4, 1), (0, 4, 2, 3), optimize=True) + rdm2.bbbb.vovv += tmp124.transpose((1, 0, 3, 2)) * 2 + tmp13 = einsum(l2.abab, (0, 1, 2, 3), t1.bb, (4, 1), (2, 3, 4, 0), optimize=True) + tmp116 = einsum(t1.bb, (0, 1), tmp13, (2, 0, 3, 4), (2, 3, 4, 1), optimize=True) + rdm2.abab.vovv = einsum(tmp116, (0, 1, 2, 3), t1.aa, (0, 4), (2, 1, 4, 3), optimize=True) * -1 + tmp117 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 5, 1), (3, 4, 0, 5), optimize=True) + rdm2.abab.vovv += einsum(t1.bb, (0, 1), tmp117, (0, 2, 3, 4), (3, 2, 4, 1), optimize=True) * -1 + tmp82 = einsum(t2.bbbb, (0, 1, 2, 3), l2.abab, (4, 3, 5, 1), (5, 0, 4, 2), optimize=True) + tmp83 = tmp82.copy() + tmp81 = einsum(l2.aaaa, (0, 1, 2, 3), t2.abab, (3, 4, 0, 5), (2, 4, 1, 5), optimize=True) * -1 + tmp83 += tmp81 + rdm2.abab.vovv += einsum(t1.aa, (0, 1), tmp83, (0, 2, 3, 4), (3, 2, 1, 4), optimize=True) * 2 + tmp56 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 4, 1), (0, 4), optimize=True) + tmp108 = tmp56.copy() + tmp55 = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (3, 4, 0, 1), (4, 2), optimize=True) * -1 + tmp108 += tmp55 * 2 + tmp107 = einsum(t1.aa, (0, 1), l1.aa, (2, 0), (2, 1), optimize=True) + tmp108 += tmp107 + rdm2.abab.vovv += einsum(tmp108, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3), optimize=True) + rdm2.abab.vovv += einsum(tmp13, (0, 1, 2, 3), t2.abab, (0, 1, 4, 5), (3, 2, 4, 5), optimize=True) * -1 + rdm2.abab.vovv += einsum(l1.aa, (0, 1), t2.abab, (1, 2, 3, 4), (0, 2, 3, 4), optimize=True) + tmp6 = einsum(l2.aaaa, (0, 1, 2, 3), t1.aa, (4, 1), (2, 3, 4, 0), optimize=True) + tmp110 = einsum(tmp6, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 3, 4), optimize=True) + tmp122 = einsum(t1.aa, (0, 1), tmp110, (0, 2, 3, 4), (2, 3, 4, 1), optimize=True) * -1 + rdm2.aaaa.vovv = tmp122.transpose((1, 0, 3, 2)).copy() * 2 + tmp109 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 5, 1), (2, 4, 0, 5), optimize=True) + tmp120 = tmp109.copy() + tmp58 = einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 3, 5, 0), (2, 4, 1, 5), optimize=True) * -1 + tmp120 += tmp58 * 4 + tmp121 = einsum(tmp120, (0, 1, 2, 3), t1.aa, (0, 4), (1, 4, 2, 3), optimize=True) + del tmp120 + rdm2.aaaa.vovv += tmp121.transpose((2, 0, 3, 1)) * -1 + rdm2.aaaa.vovv += tmp121.transpose((2, 0, 1, 3)) + rdm2.aaaa.vovv += einsum(tmp108, (0, 1), t1.aa, (2, 3), (0, 2, 1, 3), optimize=True) + rdm2.aaaa.vovv += einsum(t1.aa, (0, 1), tmp108, (2, 3), (2, 0, 1, 3), optimize=True) * -1 + tmp119 = einsum(tmp6, (0, 1, 2, 3), t2.aaaa, (0, 1, 4, 5), (2, 3, 4, 5), optimize=True) + rdm2.aaaa.vovv += tmp119.transpose((1, 0, 3, 2)) * 2 + tmp118 = einsum(t2.aaaa, (0, 1, 2, 3), l1.aa, (4, 1), (0, 4, 2, 3), optimize=True) + rdm2.aaaa.vovv += tmp118.transpose((1, 0, 3, 2)) * 2 + rdm2.bbbb.ovvv = tmp128.transpose((0, 1, 3, 2)).copy() * -2 + del tmp128 + rdm2.bbbb.ovvv += tmp127.transpose((0, 2, 3, 1)) + rdm2.bbbb.ovvv += tmp127.transpose((0, 2, 1, 3)) * -1 + del tmp127 + tmp126 = tmp76.copy() * 2 + tmp126 += tmp75 + rdm2.bbbb.ovvv += einsum(tmp126, (0, 1), t1.bb, (2, 3), (2, 0, 1, 3), optimize=True) * -1 + rdm2.bbbb.ovvv += einsum(t1.bb, (0, 1), tmp126, (2, 3), (0, 2, 1, 3), optimize=True) + del tmp126 + rdm2.bbbb.ovvv += einsum(tmp111, (0, 1), t1.bb, (2, 3), (2, 0, 1, 3), optimize=True) * -1 + rdm2.bbbb.ovvv += einsum(tmp111, (0, 1), t1.bb, (2, 3), (2, 0, 3, 1), optimize=True) + del tmp111 + rdm2.bbbb.ovvv += tmp125.transpose((0, 1, 3, 2)) * -2 + del tmp125 + rdm2.bbbb.ovvv += tmp124.transpose((0, 1, 3, 2)) * -2 + del tmp124 + tmp22 = einsum(l2.abab, (0, 1, 2, 3), t1.aa, (4, 0), (2, 4, 3, 1), optimize=True) + tmp115 = einsum(tmp22, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3), optimize=True) + rdm2.abab.ovvv = einsum(t1.bb, (0, 1), tmp115, (2, 0, 3, 4), (2, 4, 3, 1), optimize=True) * -1 + tmp60 = einsum(l2.bbbb, (0, 1, 2, 3), t2.abab, (4, 3, 5, 0), (4, 2, 5, 1), optimize=True) * -1 + tmp123 = tmp60.copy() + tmp62 = einsum(t2.aaaa, (0, 1, 2, 3), l2.abab, (3, 4, 1, 5), (0, 5, 2, 4), optimize=True) + tmp123 += tmp62 + rdm2.abab.ovvv += einsum(tmp123, (0, 1, 2, 3), t1.bb, (1, 4), (0, 3, 2, 4), optimize=True) * 2 + del tmp123 + tmp89 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 4, 5, 1), (5, 0, 4, 3), optimize=True) + rdm2.abab.ovvv += einsum(tmp89, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3), optimize=True) * -1 + rdm2.abab.ovvv += einsum(t1.aa, (0, 1), tmp112, (2, 3), (0, 2, 1, 3), optimize=True) + rdm2.abab.ovvv += einsum(tmp22, (0, 1, 2, 3), t2.abab, (0, 2, 4, 5), (1, 3, 4, 5), optimize=True) * -1 + rdm2.abab.ovvv += einsum(l1.bb, (0, 1), t2.abab, (2, 1, 3, 4), (2, 0, 3, 4), optimize=True) + rdm2.aaaa.ovvv = tmp122.transpose((0, 1, 3, 2)).copy() * -2 + del tmp122 + rdm2.aaaa.ovvv += tmp121.transpose((0, 2, 3, 1)) + rdm2.aaaa.ovvv += tmp121.transpose((0, 2, 1, 3)) * -1 + del tmp121 + tmp65 = tmp56.copy() * 0.5 + tmp65 += tmp55 + rdm2.aaaa.ovvv += einsum(tmp65, (0, 1), t1.aa, (2, 3), (2, 0, 1, 3), optimize=True) * -2 + rdm2.aaaa.ovvv += einsum(tmp65, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1), optimize=True) * 2 + rdm2.aaaa.ovvv += einsum(tmp107, (0, 1), t1.aa, (2, 3), (2, 0, 1, 3), optimize=True) * -1 + rdm2.aaaa.ovvv += einsum(tmp107, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1), optimize=True) + rdm2.aaaa.ovvv += tmp119.transpose((0, 1, 3, 2)) * -2 + del tmp119 + rdm2.aaaa.ovvv += tmp118.transpose((0, 1, 3, 2)) * -2 + del tmp118 + rdm2.bbbb.vvoo = l2.bbbb.transpose((1, 0, 3, 2)).copy() * 2 + rdm2.abab.vvoo = l2.abab.copy() + rdm2.aaaa.vvoo = l2.aaaa.transpose((1, 0, 3, 2)).copy() * 2 + rdm2.bbbb.vovo = tmp113.transpose((2, 1, 3, 0)).copy() * 2 + rdm2.bbbb.vovo += einsum(t1.bb, (0, 1), l1.bb, (2, 3), (2, 0, 1, 3), optimize=True) * -1 + rdm2.bbbb.vovo += tmp78.transpose((2, 1, 3, 0)) * -1 + rdm2.bbbb.vovo += tmp79.transpose((2, 1, 3, 0)) * -4 + rdm2.bbbb.vovo += einsum(tmp112, (0, 1), delta.bb.oo, (2, 3), (0, 3, 1, 2), optimize=True) + rdm2.abab.vovo = einsum(t1.aa, (0, 1), tmp13, (0, 2, 3, 4), (4, 3, 1, 2), optimize=True) * -1 + rdm2.abab.vovo += tmp117.transpose((2, 1, 3, 0)) * -1 + del tmp117 + rdm2.abab.vovo += einsum(tmp108, (0, 1), delta.bb.oo, (2, 3), (0, 3, 1, 2), optimize=True) + rdm2.aaaa.vovo = tmp110.transpose((2, 1, 3, 0)).copy() * 2 + rdm2.aaaa.vovo += einsum(t1.aa, (0, 1), l1.aa, (2, 3), (2, 0, 1, 3), optimize=True) * -1 + rdm2.aaaa.vovo += tmp109.transpose((2, 1, 3, 0)) * -1 + rdm2.aaaa.vovo += tmp58.transpose((2, 1, 3, 0)) * -4 + tmp114 = tmp56.copy() * 0.5 + tmp114 += tmp55 + tmp114 += tmp107 * 0.5 + del tmp107 + rdm2.aaaa.vovo += einsum(delta.aa.oo, (0, 1), tmp114, (2, 3), (2, 1, 3, 0), optimize=True) * 2 + rdm2.bbbb.voov = tmp113.transpose((2, 1, 0, 3)).copy() * -2 + rdm2.bbbb.voov += einsum(t1.bb, (0, 1), l1.bb, (2, 3), (2, 0, 3, 1), optimize=True) + rdm2.bbbb.voov += tmp78.transpose((2, 1, 0, 3)) + rdm2.bbbb.voov += tmp79.transpose((2, 1, 0, 3)) * 4 + rdm2.bbbb.voov += einsum(tmp112, (0, 1), delta.bb.oo, (2, 3), (0, 3, 2, 1), optimize=True) * -1 + rdm2.abab.voov = tmp116.transpose((2, 1, 0, 3)).copy() * -1 + del tmp116 + rdm2.abab.voov += tmp82.transpose((2, 1, 0, 3)) * 2 + rdm2.abab.voov += einsum(l1.aa, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3), optimize=True) + rdm2.abab.voov += tmp81.transpose((2, 1, 0, 3)) * 2 + rdm2.aaaa.voov = tmp110.transpose((2, 1, 0, 3)).copy() * -2 + rdm2.aaaa.voov += tmp109.transpose((2, 1, 0, 3)) + rdm2.aaaa.voov += einsum(t1.aa, (0, 1), l1.aa, (2, 3), (2, 0, 3, 1), optimize=True) + rdm2.aaaa.voov += tmp58.transpose((2, 1, 0, 3)) * 4 + rdm2.aaaa.voov += einsum(tmp108, (0, 1), delta.aa.oo, (2, 3), (0, 3, 2, 1), optimize=True) * -1 + rdm2.bbbb.ovvo = tmp113.transpose((1, 2, 3, 0)).copy() * -2 + rdm2.bbbb.ovvo += einsum(t1.bb, (0, 1), l1.bb, (2, 3), (0, 2, 1, 3), optimize=True) + rdm2.bbbb.ovvo += tmp78.transpose((1, 2, 3, 0)) + rdm2.bbbb.ovvo += tmp79.transpose((1, 2, 3, 0)) * 4 + rdm2.bbbb.ovvo += einsum(tmp112, (0, 1), delta.bb.oo, (2, 3), (3, 0, 1, 2), optimize=True) * -1 + rdm2.abab.ovvo = tmp115.transpose((0, 3, 2, 1)).copy() * -1 + del tmp115 + rdm2.abab.ovvo += einsum(t1.aa, (0, 1), l1.bb, (2, 3), (0, 2, 1, 3), optimize=True) + rdm2.abab.ovvo += tmp60.transpose((0, 3, 2, 1)) * 2 + rdm2.abab.ovvo += tmp62.transpose((0, 3, 2, 1)) * 2 + rdm2.aaaa.ovvo = tmp110.transpose((1, 2, 3, 0)).copy() * -2 + rdm2.aaaa.ovvo += tmp109.transpose((1, 2, 3, 0)) + rdm2.aaaa.ovvo += einsum(t1.aa, (0, 1), l1.aa, (2, 3), (0, 2, 1, 3), optimize=True) + rdm2.aaaa.ovvo += tmp58.transpose((1, 2, 3, 0)) * 4 + rdm2.aaaa.ovvo += einsum(delta.aa.oo, (0, 1), tmp114, (2, 3), (1, 2, 3, 0), optimize=True) * -2 + del tmp114 + rdm2.bbbb.ovov = tmp113.transpose((1, 2, 0, 3)).copy() * 2 + del tmp113 + rdm2.bbbb.ovov += einsum(t1.bb, (0, 1), l1.bb, (2, 3), (0, 2, 3, 1), optimize=True) * -1 + rdm2.bbbb.ovov += tmp78.transpose((1, 2, 0, 3)) * -1 + del tmp78 + rdm2.bbbb.ovov += tmp79.transpose((1, 2, 0, 3)) * -4 + rdm2.bbbb.ovov += einsum(tmp112, (0, 1), delta.bb.oo, (2, 3), (3, 0, 2, 1), optimize=True) + rdm2.abab.ovov = einsum(tmp22, (0, 1, 2, 3), t1.bb, (2, 4), (1, 3, 0, 4), optimize=True) * -1 + rdm2.abab.ovov += tmp89.transpose((1, 2, 0, 3)) * -1 + rdm2.abab.ovov += einsum(tmp112, (0, 1), delta.aa.oo, (2, 3), (3, 0, 2, 1), optimize=True) + del tmp112 + rdm2.aaaa.ovov = tmp110.transpose((1, 2, 0, 3)).copy() * 2 + del tmp110 + rdm2.aaaa.ovov += einsum(t1.aa, (0, 1), l1.aa, (2, 3), (0, 2, 3, 1), optimize=True) * -1 + rdm2.aaaa.ovov += tmp109.transpose((1, 2, 0, 3)) * -1 + del tmp109 + rdm2.aaaa.ovov += tmp58.transpose((1, 2, 0, 3)) * -4 + rdm2.aaaa.ovov += einsum(tmp108, (0, 1), delta.aa.oo, (2, 3), (3, 0, 2, 1), optimize=True) + del tmp108 + tmp18 = einsum(t1.bb, (0, 1), tmp17, (2, 3, 4, 1), (2, 3, 0, 4), optimize=True) + tmp46 = einsum(t1.bb, (0, 1), tmp18, (0, 2, 3, 4), (2, 4, 3, 1), optimize=True) + rdm2.bbbb.oovv = einsum(t1.bb, (0, 1), tmp46, (0, 2, 3, 4), (3, 2, 1, 4), optimize=True) * -2 + tmp43 = einsum(t2.bbbb, (0, 1, 2, 3), tmp17, (4, 1, 5, 3), (4, 5, 0, 2), optimize=True) * -1 + tmp105 = tmp43.copy() * 4 + tmp42 = einsum(t2.abab, (0, 1, 2, 3), tmp13, (0, 4, 5, 2), (4, 5, 1, 3), optimize=True) + tmp105 += tmp42 + tmp106 = einsum(t1.bb, (0, 1), tmp105, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) + del tmp105 + rdm2.bbbb.oovv += tmp106.transpose((1, 0, 3, 2)) * -1 + rdm2.bbbb.oovv += tmp106.transpose((1, 0, 2, 3)) + del tmp106 + tmp104 = einsum(t1.bb, (0, 1), t1.bb, (2, 3), (2, 0, 3, 1), optimize=True) + tmp104 += t2.bbbb.transpose((1, 0, 3, 2)) + tmp16 = einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 5, 0, 1), (2, 3, 4, 5), optimize=True) + rdm2.bbbb.oovv += einsum(tmp16, (0, 1, 2, 3), tmp104, (0, 1, 4, 5), (3, 2, 5, 4), optimize=True) * 2 + del tmp104 + tmp10 = einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 3, 0, 1), (2, 4), optimize=True) + tmp100 = tmp10.copy() + tmp9 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 1), (3, 4), optimize=True) + tmp100 += tmp9 * 0.5 + tmp103 = einsum(t2.bbbb, (0, 1, 2, 3), tmp100, (0, 4), (1, 4, 2, 3), optimize=True) * 4 + rdm2.bbbb.oovv += tmp103.transpose((0, 1, 3, 2)) * -1 + tmp8 = einsum(l1.bb, (0, 1), t1.bb, (2, 0), (1, 2), optimize=True) + tmp102 = einsum(tmp8, (0, 1), t1.bb, (0, 2), (1, 2), optimize=True) + rdm2.bbbb.oovv += einsum(tmp102, (0, 1), t1.bb, (2, 3), (2, 0, 1, 3), optimize=True) + rdm2.bbbb.oovv += einsum(tmp102, (0, 1), t1.bb, (2, 3), (2, 0, 3, 1), optimize=True) * -1 + tmp101 = einsum(tmp100, (0, 1), t1.bb, (0, 2), (1, 2), optimize=True) * 2 + del tmp100 + rdm2.bbbb.oovv += einsum(tmp101, (0, 1), t1.bb, (2, 3), (2, 0, 1, 3), optimize=True) + rdm2.bbbb.oovv += einsum(t1.bb, (0, 1), tmp101, (2, 3), (0, 2, 1, 3), optimize=True) * -1 + rdm2.bbbb.oovv += tmp103.transpose((1, 0, 3, 2)) + del tmp103 + rdm2.bbbb.oovv += einsum(t1.bb, (0, 1), tmp102, (2, 3), (2, 0, 3, 1), optimize=True) * -1 + rdm2.bbbb.oovv += einsum(tmp102, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1), optimize=True) + del tmp102 + rdm2.bbbb.oovv += einsum(tmp101, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3), optimize=True) * -1 + rdm2.bbbb.oovv += einsum(tmp101, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1), optimize=True) + del tmp101 + rdm2.bbbb.oovv += einsum(tmp18, (0, 1, 2, 3), t2.bbbb, (1, 0, 4, 5), (3, 2, 5, 4), optimize=True) * -2 + tmp92 = einsum(t2.bbbb, (0, 1, 2, 3), tmp8, (1, 4), (4, 0, 2, 3), optimize=True) + rdm2.bbbb.oovv += tmp92.transpose((1, 0, 3, 2)) * 2 + tmp99 = tmp43.transpose((0, 2, 1, 3)).copy() * 4 + tmp99 += tmp42.transpose((0, 2, 1, 3)) + tmp44 = einsum(t2.bbbb, (0, 1, 2, 3), l1.bb, (3, 4), (4, 0, 1, 2), optimize=True) + tmp99 += tmp44.transpose((0, 2, 1, 3)) * -2 + rdm2.bbbb.oovv += einsum(tmp99, (0, 1, 2, 3), t1.bb, (0, 4), (2, 1, 3, 4), optimize=True) + del tmp99 + tmp98 = tmp43.transpose((0, 2, 1, 3)).copy() * 4 + tmp98 += tmp42.transpose((0, 2, 1, 3)) + tmp98 += tmp44.transpose((0, 2, 1, 3)) * -2 + rdm2.bbbb.oovv += einsum(t1.bb, (0, 1), tmp98, (0, 2, 3, 4), (3, 2, 1, 4), optimize=True) * -1 + del tmp98 + tmp77 = tmp76.copy() + del tmp76 + tmp77 += tmp75 * 0.5 + del tmp75 + tmp93 = einsum(tmp77, (0, 1), t2.bbbb, (2, 3, 0, 4), (2, 3, 4, 1), optimize=True) * 4 + rdm2.bbbb.oovv += tmp93.transpose((1, 0, 3, 2)) + tmp34 = einsum(t2.bbbb, (0, 1, 2, 3), tmp17, (0, 1, 4, 3), (4, 2), optimize=True) * -1 + tmp97 = tmp34.copy() * -1 + tmp33 = einsum(t2.abab, (0, 1, 2, 3), tmp13, (0, 1, 4, 2), (4, 3), optimize=True) + tmp97 += tmp33 * -0.5 + tmp32 = einsum(t2.bbbb, (0, 1, 2, 3), l1.bb, (3, 1), (0, 2), optimize=True) + tmp97 += tmp32 + tmp31 = einsum(l1.aa, (0, 1), t2.abab, (1, 2, 0, 3), (2, 3), optimize=True) + tmp97 += tmp31 * 0.5 + rdm2.bbbb.oovv += einsum(tmp97, (0, 1), t1.bb, (2, 3), (2, 0, 1, 3), optimize=True) * -2 + rdm2.bbbb.oovv += einsum(t1.bb, (0, 1), tmp97, (2, 3), (2, 0, 3, 1), optimize=True) * 2 + del tmp97 + tmp52 = tmp34.copy() * -1 + tmp52 += tmp33 * -0.5 + tmp52 += tmp32 + tmp52 += tmp31 * 0.5 + tmp52 += t1.bb * 0.5 + rdm2.bbbb.oovv += einsum(tmp52, (0, 1), t1.bb, (2, 3), (2, 0, 3, 1), optimize=True) * 2 + tmp96 = einsum(t2.abab, (0, 1, 2, 3), tmp82, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) + del tmp82 + rdm2.bbbb.oovv += tmp96.transpose((1, 0, 3, 2)) * 2 + rdm2.bbbb.oovv += tmp96 * 2 + tmp95 = einsum(tmp79, (0, 1, 2, 3), t2.bbbb, (4, 0, 5, 2), (4, 1, 5, 3), optimize=True) + del tmp79 + rdm2.bbbb.oovv += tmp95 * 8 + tmp94 = einsum(t2.abab, (0, 1, 2, 3), tmp81, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) + del tmp81 + rdm2.bbbb.oovv += tmp94.transpose((1, 0, 3, 2)) * 2 + rdm2.bbbb.oovv += einsum(tmp52, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1), optimize=True) * -2 + rdm2.bbbb.oovv += tmp96.transpose((1, 0, 2, 3)) * -2 + rdm2.bbbb.oovv += tmp96.transpose((0, 1, 3, 2)) * -2 + del tmp96 + rdm2.bbbb.oovv += tmp95.transpose((0, 1, 3, 2)) * -8 + del tmp95 + rdm2.bbbb.oovv += tmp94.transpose((0, 1, 3, 2)) * -2 + del tmp94 + rdm2.bbbb.oovv += tmp93.transpose((1, 0, 2, 3)) * -1 + del tmp93 + rdm2.bbbb.oovv += t2.bbbb.transpose((1, 0, 3, 2)) * 2 + rdm2.bbbb.oovv += tmp92.transpose((0, 1, 3, 2)) * -2 + del tmp92 + tmp14 = einsum(tmp13, (0, 1, 2, 3), t1.aa, (4, 3), (0, 4, 1, 2), optimize=True) + tmp41 = einsum(t1.bb, (0, 1), tmp14, (2, 3, 0, 4), (2, 3, 4, 1), optimize=True) + rdm2.abab.oovv = einsum(tmp41, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3), optimize=True) + tmp50 = einsum(t2.abab, (0, 1, 2, 3), tmp17, (4, 1, 5, 3), (0, 4, 5, 2), optimize=True) * -1 + tmp91 = tmp50.copy() + tmp51 = einsum(t2.aaaa, (0, 1, 2, 3), tmp13, (1, 4, 5, 3), (0, 4, 5, 2), optimize=True) + tmp91 += tmp51 + rdm2.abab.oovv += einsum(tmp91, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 3, 4), optimize=True) * -2 + del tmp91 + tmp40 = einsum(tmp13, (0, 1, 2, 3), t2.abab, (4, 1, 3, 5), (0, 4, 2, 5), optimize=True) + rdm2.abab.oovv += einsum(t1.aa, (0, 1), tmp40, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) + tmp2 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 3, 4, 1), (4, 0), optimize=True) + tmp3 = tmp2.copy() * 0.5 + tmp1 = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (2, 3, 4, 1), (4, 0), optimize=True) + tmp3 += tmp1 + tmp0 = einsum(l1.aa, (0, 1), t1.aa, (2, 0), (1, 2), optimize=True) + tmp3 += tmp0 * 0.5 + tmp90 = einsum(tmp3, (0, 1), t1.aa, (0, 2), (1, 2), optimize=True) + rdm2.abab.oovv += einsum(t1.bb, (0, 1), tmp90, (2, 3), (2, 0, 3, 1), optimize=True) * -2 + del tmp90 + rdm2.abab.oovv += einsum(tmp89, (0, 1, 2, 3), t2.abab, (0, 4, 5, 2), (1, 4, 5, 3), optimize=True) + del tmp89 + tmp88 = einsum(t1.aa, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3), optimize=True) + tmp88 += t2.abab + tmp12 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 5, 0, 1), (2, 4, 3, 5), optimize=True) + rdm2.abab.oovv += einsum(tmp88, (0, 1, 2, 3), tmp12, (0, 4, 1, 5), (4, 5, 2, 3), optimize=True) + del tmp88 + tmp15 = tmp10.copy() * 2 + tmp15 += tmp9 + tmp15 += tmp8 + tmp39 = einsum(t1.bb, (0, 1), tmp15, (0, 2), (2, 1), optimize=True) + rdm2.abab.oovv += einsum(t1.aa, (0, 1), tmp39, (2, 3), (0, 2, 1, 3), optimize=True) * -1 + tmp87 = tmp10.copy() * 2 + tmp87 += tmp9 + rdm2.abab.oovv += einsum(t2.abab, (0, 1, 2, 3), tmp87, (1, 4), (0, 4, 2, 3), optimize=True) * -1 + del tmp87 + tmp68 = tmp2.copy() + tmp68 += tmp1 * 2 + rdm2.abab.oovv += einsum(t2.abab, (0, 1, 2, 3), tmp68, (0, 4), (4, 1, 2, 3), optimize=True) * -1 + rdm2.abab.oovv += einsum(tmp14, (0, 1, 2, 3), t2.abab, (0, 2, 4, 5), (1, 3, 4, 5), optimize=True) + rdm2.abab.oovv += einsum(tmp8, (0, 1), t2.abab, (2, 0, 3, 4), (2, 1, 3, 4), optimize=True) * -1 + tmp48 = einsum(tmp22, (0, 1, 2, 3), t2.abab, (0, 4, 5, 3), (1, 2, 4, 5), optimize=True) + tmp86 = tmp48.copy() * -1 + tmp49 = einsum(l1.bb, (0, 1), t2.abab, (2, 3, 4, 0), (2, 1, 3, 4), optimize=True) + tmp86 += tmp49 + rdm2.abab.oovv += einsum(tmp86, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 3, 4), optimize=True) * -1 + del tmp86 + tmp37 = einsum(t2.bbbb, (0, 1, 2, 3), tmp22, (4, 5, 1, 3), (4, 5, 0, 2), optimize=True) + tmp85 = tmp37.copy() * 2 + tmp38 = einsum(t2.abab, (0, 1, 2, 3), tmp6, (4, 0, 5, 2), (4, 5, 1, 3), optimize=True) * -1 + tmp85 += tmp38 * 2 + tmp36 = einsum(t2.abab, (0, 1, 2, 3), l1.aa, (2, 4), (4, 0, 1, 3), optimize=True) + tmp85 += tmp36 + rdm2.abab.oovv += einsum(tmp85, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3), optimize=True) * -1 + del tmp85 + tmp57 = tmp56.copy() + del tmp56 + tmp57 += tmp55 * 2 + del tmp55 + rdm2.abab.oovv += einsum(t2.abab, (0, 1, 2, 3), tmp57, (2, 4), (0, 1, 4, 3), optimize=True) * -1 + tmp23 = einsum(tmp22, (0, 1, 2, 3), t2.abab, (0, 2, 4, 3), (1, 4), optimize=True) + tmp84 = tmp23.copy() * -0.5 + tmp21 = einsum(t2.aaaa, (0, 1, 2, 3), tmp6, (0, 1, 4, 3), (4, 2), optimize=True) * -1 + tmp84 += tmp21 * -1 + tmp20 = einsum(l1.bb, (0, 1), t2.abab, (2, 1, 3, 0), (2, 3), optimize=True) + tmp84 += tmp20 * 0.5 + tmp19 = einsum(l1.aa, (0, 1), t2.aaaa, (2, 1, 3, 0), (2, 3), optimize=True) + tmp84 += tmp19 + rdm2.abab.oovv += einsum(t1.bb, (0, 1), tmp84, (2, 3), (2, 0, 3, 1), optimize=True) * 2 + del tmp84 + tmp35 = tmp34.copy() * -2 + del tmp34 + tmp35 += tmp33 * -1 + del tmp33 + tmp35 += tmp32 * 2 + del tmp32 + tmp35 += tmp31 + del tmp31 + tmp35 += t1.bb + rdm2.abab.oovv += einsum(t1.aa, (0, 1), tmp35, (2, 3), (0, 2, 1, 3), optimize=True) + rdm2.abab.oovv += einsum(t2.aaaa, (0, 1, 2, 3), tmp83, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) * 4 + del tmp83 + rdm2.abab.oovv += einsum(t2.abab, (0, 1, 2, 3), tmp80, (1, 4, 3, 5), (0, 4, 2, 5), optimize=True) + del tmp80 + rdm2.abab.oovv += einsum(t2.abab, (0, 1, 2, 3), tmp77, (3, 4), (0, 1, 2, 4), optimize=True) * -2 + del tmp77 + rdm2.abab.oovv += t2.abab + rdm2.abab.oovv += einsum(t2.abab, (0, 1, 2, 3), tmp0, (0, 4), (4, 1, 2, 3), optimize=True) * -1 + tmp7 = einsum(tmp6, (0, 1, 2, 3), t1.aa, (4, 3), (0, 1, 4, 2), optimize=True) + tmp30 = einsum(tmp7, (0, 1, 2, 3), t1.aa, (0, 4), (1, 3, 2, 4), optimize=True) + rdm2.aaaa.oovv = einsum(t1.aa, (0, 1), tmp30, (0, 2, 3, 4), (3, 2, 1, 4), optimize=True) * -2 + tmp26 = einsum(tmp22, (0, 1, 2, 3), t2.abab, (4, 2, 5, 3), (0, 1, 4, 5), optimize=True) + tmp73 = tmp26.copy() + tmp27 = einsum(tmp6, (0, 1, 2, 3), t2.aaaa, (4, 1, 5, 3), (0, 2, 4, 5), optimize=True) * -1 + tmp73 += tmp27 * 4 + tmp74 = einsum(tmp73, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3), optimize=True) + del tmp73 + rdm2.aaaa.oovv += tmp74.transpose((1, 0, 3, 2)) * -1 + rdm2.aaaa.oovv += tmp74.transpose((1, 0, 2, 3)) + del tmp74 + tmp72 = einsum(t1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 1, 3), optimize=True) + tmp72 += t2.aaaa.transpose((1, 0, 3, 2)) + tmp5 = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (2, 3, 4, 5), (4, 5, 0, 1), optimize=True) + rdm2.aaaa.oovv += einsum(tmp5, (0, 1, 2, 3), tmp72, (0, 1, 4, 5), (3, 2, 5, 4), optimize=True) * 2 + del tmp72 + tmp71 = einsum(tmp68, (0, 1), t2.aaaa, (0, 2, 3, 4), (1, 2, 3, 4), optimize=True) * 2 + rdm2.aaaa.oovv += tmp71.transpose((1, 0, 3, 2)) * -1 + tmp70 = einsum(tmp0, (0, 1), t1.aa, (0, 2), (1, 2), optimize=True) + rdm2.aaaa.oovv += einsum(tmp70, (0, 1), t1.aa, (2, 3), (2, 0, 1, 3), optimize=True) + rdm2.aaaa.oovv += einsum(t1.aa, (0, 1), tmp70, (2, 3), (0, 2, 1, 3), optimize=True) * -1 + tmp69 = einsum(t1.aa, (0, 1), tmp68, (0, 2), (2, 1), optimize=True) * 0.5 + del tmp68 + rdm2.aaaa.oovv += einsum(t1.aa, (0, 1), tmp69, (2, 3), (0, 2, 3, 1), optimize=True) * 2 + rdm2.aaaa.oovv += einsum(t1.aa, (0, 1), tmp69, (2, 3), (0, 2, 1, 3), optimize=True) * -2 + rdm2.aaaa.oovv += tmp71.transpose((0, 1, 3, 2)) + del tmp71 + rdm2.aaaa.oovv += einsum(tmp70, (0, 1), t1.aa, (2, 3), (0, 2, 1, 3), optimize=True) * -1 + rdm2.aaaa.oovv += einsum(t1.aa, (0, 1), tmp70, (2, 3), (2, 0, 1, 3), optimize=True) + del tmp70 + rdm2.aaaa.oovv += einsum(tmp69, (0, 1), t1.aa, (2, 3), (0, 2, 1, 3), optimize=True) * -2 + rdm2.aaaa.oovv += einsum(tmp69, (0, 1), t1.aa, (2, 3), (0, 2, 3, 1), optimize=True) * 2 + del tmp69 + rdm2.aaaa.oovv += einsum(t2.aaaa, (0, 1, 2, 3), tmp7, (1, 0, 4, 5), (5, 4, 3, 2), optimize=True) * -2 + tmp54 = einsum(tmp0, (0, 1), t2.aaaa, (2, 0, 3, 4), (1, 2, 3, 4), optimize=True) + rdm2.aaaa.oovv += tmp54.transpose((1, 0, 3, 2)) * 2 + tmp67 = tmp26.transpose((0, 2, 1, 3)).copy() + tmp67 += tmp27.transpose((0, 2, 1, 3)) * 4 + tmp25 = einsum(l1.aa, (0, 1), t2.aaaa, (2, 3, 4, 0), (1, 2, 3, 4), optimize=True) + tmp67 += tmp25.transpose((0, 2, 1, 3)) * -2 + rdm2.aaaa.oovv += einsum(tmp67, (0, 1, 2, 3), t1.aa, (0, 4), (2, 1, 3, 4), optimize=True) + del tmp67 + tmp66 = tmp26.transpose((0, 2, 1, 3)).copy() * 0.5 + tmp66 += tmp27.transpose((0, 2, 1, 3)) * 2 + tmp66 += tmp25.transpose((0, 2, 1, 3)) * -1 + rdm2.aaaa.oovv += einsum(t1.aa, (0, 1), tmp66, (0, 2, 3, 4), (3, 2, 1, 4), optimize=True) * -2 + del tmp66 + rdm2.aaaa.oovv += einsum(tmp65, (0, 1), t2.aaaa, (2, 3, 0, 4), (3, 2, 1, 4), optimize=True) * 4 + del tmp65 + tmp64 = tmp23.copy() * -1 + tmp64 += tmp21 * -2 + tmp64 += tmp20 + tmp64 += tmp19 * 2 + rdm2.aaaa.oovv += einsum(t1.aa, (0, 1), tmp64, (2, 3), (0, 2, 3, 1), optimize=True) * -1 + rdm2.aaaa.oovv += einsum(tmp64, (0, 1), t1.aa, (2, 3), (0, 2, 1, 3), optimize=True) + del tmp64 + tmp24 = tmp23.copy() * -0.5 + tmp24 += tmp21 * -1 + tmp24 += tmp20 * 0.5 + tmp24 += tmp19 + tmp24 += t1.aa * 0.5 + rdm2.aaaa.oovv += einsum(t1.aa, (0, 1), tmp24, (2, 3), (0, 2, 1, 3), optimize=True) * 2 + tmp63 = einsum(tmp62, (0, 1, 2, 3), t2.abab, (4, 1, 5, 3), (0, 4, 2, 5), optimize=True) + del tmp62 + rdm2.aaaa.oovv += tmp63.transpose((1, 0, 3, 2)) * 2 + rdm2.aaaa.oovv += tmp63 * 2 + tmp59 = einsum(t2.aaaa, (0, 1, 2, 3), tmp58, (1, 4, 3, 5), (4, 0, 5, 2), optimize=True) + del tmp58 + rdm2.aaaa.oovv += tmp59 * 8 + tmp61 = einsum(t2.abab, (0, 1, 2, 3), tmp60, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) + del tmp60 + rdm2.aaaa.oovv += tmp61 * 2 + rdm2.aaaa.oovv += einsum(t1.aa, (0, 1), tmp24, (2, 3), (2, 0, 1, 3), optimize=True) * -2 + rdm2.aaaa.oovv += tmp63.transpose((1, 0, 2, 3)) * -2 + rdm2.aaaa.oovv += tmp63.transpose((0, 1, 3, 2)) * -2 + del tmp63 + rdm2.aaaa.oovv += tmp61.transpose((0, 1, 3, 2)) * -2 + del tmp61 + rdm2.aaaa.oovv += tmp59.transpose((0, 1, 3, 2)) * -8 + del tmp59 + rdm2.aaaa.oovv += einsum(t2.aaaa, (0, 1, 2, 3), tmp57, (2, 4), (1, 0, 3, 4), optimize=True) * -2 + del tmp57 + rdm2.aaaa.oovv += t2.aaaa.transpose((1, 0, 3, 2)) * 2 + rdm2.aaaa.oovv += tmp54.transpose((0, 1, 3, 2)) * -2 + del tmp54 + rdm2.bbbb.vooo = tmp17.transpose((3, 2, 1, 0)).copy() * 2 + rdm2.bbbb.vooo += einsum(l1.bb, (0, 1), delta.bb.oo, (2, 3), (0, 3, 2, 1), optimize=True) * -1 + rdm2.bbbb.vooo += einsum(delta.bb.oo, (0, 1), l1.bb, (2, 3), (2, 1, 3, 0), optimize=True) + rdm2.abab.vooo = tmp13.transpose((3, 2, 0, 1)).copy() * -1 + del tmp13 + rdm2.abab.vooo += einsum(l1.aa, (0, 1), delta.bb.oo, (2, 3), (0, 3, 1, 2), optimize=True) + rdm2.aaaa.vooo = tmp6.transpose((3, 2, 1, 0)).copy() * 2 + rdm2.aaaa.vooo += einsum(l1.aa, (0, 1), delta.aa.oo, (2, 3), (0, 3, 2, 1), optimize=True) * -1 + rdm2.aaaa.vooo += einsum(l1.aa, (0, 1), delta.aa.oo, (2, 3), (0, 3, 1, 2), optimize=True) + rdm2.bbbb.ovoo = tmp17.transpose((2, 3, 1, 0)).copy() * -2 + del tmp17 + rdm2.bbbb.ovoo += einsum(l1.bb, (0, 1), delta.bb.oo, (2, 3), (3, 0, 2, 1), optimize=True) + rdm2.bbbb.ovoo += einsum(delta.bb.oo, (0, 1), l1.bb, (2, 3), (1, 2, 3, 0), optimize=True) * -1 + rdm2.abab.ovoo = tmp22.transpose((1, 3, 0, 2)).copy() * -1 + del tmp22 + rdm2.abab.ovoo += einsum(l1.bb, (0, 1), delta.aa.oo, (2, 3), (3, 0, 2, 1), optimize=True) + rdm2.aaaa.ovoo = tmp6.transpose((2, 3, 1, 0)).copy() * -2 + del tmp6 + rdm2.aaaa.ovoo += einsum(l1.aa, (0, 1), delta.aa.oo, (2, 3), (3, 0, 2, 1), optimize=True) + rdm2.aaaa.ovoo += einsum(l1.aa, (0, 1), delta.aa.oo, (2, 3), (3, 0, 1, 2), optimize=True) * -1 + rdm2.bbbb.oovo = tmp46.transpose((1, 2, 3, 0)).copy() * -2 + rdm2.bbbb.oovo += tmp43.transpose((2, 1, 3, 0)) * -4 + rdm2.bbbb.oovo += tmp42.transpose((2, 1, 3, 0)) * -1 + tmp45 = einsum(t1.bb, (0, 1), tmp16, (2, 0, 3, 4), (2, 3, 4, 1), optimize=True) + rdm2.bbbb.oovo += tmp45.transpose((1, 2, 3, 0)) * -2 + rdm2.bbbb.oovo += einsum(t1.bb, (0, 1), tmp15, (2, 3), (0, 3, 1, 2), optimize=True) * -1 + rdm2.bbbb.oovo += einsum(t1.bb, (0, 1), tmp15, (2, 3), (3, 0, 1, 2), optimize=True) + tmp53 = einsum(t1.bb, (0, 1), tmp15, (0, 2), (2, 1), optimize=True) * 0.5 + rdm2.bbbb.oovo += einsum(delta.bb.oo, (0, 1), tmp53, (2, 3), (1, 2, 3, 0), optimize=True) * 2 + rdm2.bbbb.oovo += einsum(delta.bb.oo, (0, 1), tmp53, (2, 3), (2, 1, 3, 0), optimize=True) * -2 + del tmp53 + rdm2.bbbb.oovo += tmp44.transpose((2, 1, 3, 0)) * 2 + rdm2.bbbb.oovo += tmp43.transpose((1, 2, 3, 0)) * 4 + rdm2.bbbb.oovo += tmp42.transpose((1, 2, 3, 0)) + rdm2.bbbb.oovo += einsum(delta.bb.oo, (0, 1), tmp52, (2, 3), (1, 2, 3, 0), optimize=True) * -2 + rdm2.bbbb.oovo += einsum(delta.bb.oo, (0, 1), tmp52, (2, 3), (2, 1, 3, 0), optimize=True) * 2 + del tmp52 + rdm2.abab.oovo = einsum(tmp14, (0, 1, 2, 3), t1.aa, (0, 4), (1, 3, 4, 2), optimize=True) + rdm2.abab.oovo += tmp51.transpose((0, 2, 3, 1)) * -2 + del tmp51 + rdm2.abab.oovo += tmp50.transpose((0, 2, 3, 1)) * -2 + del tmp50 + rdm2.abab.oovo += einsum(t1.aa, (0, 1), tmp12, (0, 2, 3, 4), (2, 4, 1, 3), optimize=True) + tmp11 = tmp10.copy() + del tmp10 + tmp11 += tmp9 * 0.5 + del tmp9 + tmp11 += tmp8 * 0.5 + del tmp8 + rdm2.abab.oovo += einsum(t1.aa, (0, 1), tmp11, (2, 3), (0, 3, 1, 2), optimize=True) * -2 + tmp28 = einsum(tmp3, (0, 1), t1.aa, (0, 2), (1, 2), optimize=True) * 2 + rdm2.abab.oovo += einsum(tmp28, (0, 1), delta.bb.oo, (2, 3), (0, 3, 1, 2), optimize=True) * -1 + rdm2.abab.oovo += tmp49.transpose((0, 2, 3, 1)) * -1 + del tmp49 + rdm2.abab.oovo += tmp48.transpose((0, 2, 3, 1)) + del tmp48 + rdm2.abab.oovo += einsum(tmp24, (0, 1), delta.bb.oo, (2, 3), (0, 3, 1, 2), optimize=True) * 2 + rdm2.aaaa.oovo = tmp30.transpose((1, 2, 3, 0)).copy() * -2 + rdm2.aaaa.oovo += tmp27.transpose((2, 1, 3, 0)) * -4 + rdm2.aaaa.oovo += tmp26.transpose((2, 1, 3, 0)) * -1 + tmp29 = einsum(tmp5, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 3, 4), optimize=True) + rdm2.aaaa.oovo += tmp29.transpose((1, 2, 3, 0)) * -2 + tmp4 = tmp2.copy() + del tmp2 + tmp4 += tmp1 * 2 + del tmp1 + tmp4 += tmp0 + del tmp0 + rdm2.aaaa.oovo += einsum(t1.aa, (0, 1), tmp4, (2, 3), (0, 3, 1, 2), optimize=True) * -1 + rdm2.aaaa.oovo += einsum(tmp4, (0, 1), t1.aa, (2, 3), (1, 2, 3, 0), optimize=True) + rdm2.aaaa.oovo += einsum(tmp28, (0, 1), delta.aa.oo, (2, 3), (3, 0, 1, 2), optimize=True) + rdm2.aaaa.oovo += einsum(tmp28, (0, 1), delta.aa.oo, (2, 3), (0, 3, 1, 2), optimize=True) * -1 + rdm2.aaaa.oovo += tmp27.transpose((1, 2, 3, 0)) * 4 + rdm2.aaaa.oovo += tmp26.transpose((1, 2, 3, 0)) + rdm2.aaaa.oovo += tmp25.transpose((2, 1, 3, 0)) * 2 + tmp47 = tmp23.copy() * -1 + del tmp23 + tmp47 += tmp21 * -2 + del tmp21 + tmp47 += tmp20 + del tmp20 + tmp47 += tmp19 * 2 + del tmp19 + tmp47 += t1.aa + rdm2.aaaa.oovo += einsum(tmp47, (0, 1), delta.aa.oo, (2, 3), (3, 0, 1, 2), optimize=True) * -1 + rdm2.aaaa.oovo += einsum(delta.aa.oo, (0, 1), tmp47, (2, 3), (2, 1, 3, 0), optimize=True) + del tmp47 + rdm2.bbbb.ooov = tmp46.transpose((1, 2, 0, 3)).copy() * 2 + del tmp46 + rdm2.bbbb.ooov += tmp43.transpose((2, 1, 0, 3)) * 4 + rdm2.bbbb.ooov += tmp42.transpose((2, 1, 0, 3)) + rdm2.bbbb.ooov += tmp45.transpose((1, 2, 0, 3)) * 2 + del tmp45 + rdm2.bbbb.ooov += einsum(t1.bb, (0, 1), tmp11, (2, 3), (0, 3, 2, 1), optimize=True) * 2 + rdm2.bbbb.ooov += einsum(tmp11, (0, 1), t1.bb, (2, 3), (1, 2, 0, 3), optimize=True) * -2 + rdm2.bbbb.ooov += einsum(delta.bb.oo, (0, 1), tmp39, (2, 3), (1, 2, 0, 3), optimize=True) * -1 + rdm2.bbbb.ooov += einsum(delta.bb.oo, (0, 1), tmp39, (2, 3), (2, 1, 0, 3), optimize=True) + rdm2.bbbb.ooov += tmp44.transpose((2, 1, 0, 3)) * -2 + del tmp44 + rdm2.bbbb.ooov += tmp43.transpose((1, 2, 0, 3)) * -4 + del tmp43 + rdm2.bbbb.ooov += tmp42.transpose((1, 2, 0, 3)) * -1 + del tmp42 + rdm2.bbbb.ooov += einsum(delta.bb.oo, (0, 1), tmp35, (2, 3), (1, 2, 0, 3), optimize=True) + rdm2.bbbb.ooov += einsum(delta.bb.oo, (0, 1), tmp35, (2, 3), (2, 1, 0, 3), optimize=True) * -1 + rdm2.abab.ooov = tmp41.transpose((1, 2, 0, 3)).copy() + del tmp41 + rdm2.abab.ooov += tmp40.transpose((1, 2, 0, 3)) + del tmp40 + rdm2.abab.ooov += einsum(t1.bb, (0, 1), tmp12, (2, 3, 0, 4), (3, 4, 2, 1), optimize=True) + rdm2.abab.ooov += einsum(tmp4, (0, 1), t1.bb, (2, 3), (1, 2, 0, 3), optimize=True) * -1 + rdm2.abab.ooov += einsum(delta.aa.oo, (0, 1), tmp39, (2, 3), (1, 2, 0, 3), optimize=True) * -1 + del tmp39 + rdm2.abab.ooov += tmp38.transpose((1, 2, 0, 3)) * -2 + del tmp38 + rdm2.abab.ooov += tmp37.transpose((1, 2, 0, 3)) * -2 + del tmp37 + rdm2.abab.ooov += tmp36.transpose((1, 2, 0, 3)) * -1 + del tmp36 + rdm2.abab.ooov += einsum(delta.aa.oo, (0, 1), tmp35, (2, 3), (1, 2, 0, 3), optimize=True) + del tmp35 + rdm2.aaaa.ooov = tmp30.transpose((1, 2, 0, 3)).copy() * 2 + del tmp30 + rdm2.aaaa.ooov += tmp27.transpose((2, 1, 0, 3)) * 4 + rdm2.aaaa.ooov += tmp26.transpose((2, 1, 0, 3)) + rdm2.aaaa.ooov += tmp29.transpose((1, 2, 0, 3)) * 2 + del tmp29 + rdm2.aaaa.ooov += einsum(t1.aa, (0, 1), tmp4, (2, 3), (0, 3, 2, 1), optimize=True) + rdm2.aaaa.ooov += einsum(tmp4, (0, 1), t1.aa, (2, 3), (1, 2, 0, 3), optimize=True) * -1 + rdm2.aaaa.ooov += einsum(tmp28, (0, 1), delta.aa.oo, (2, 3), (3, 0, 2, 1), optimize=True) * -1 + rdm2.aaaa.ooov += einsum(tmp28, (0, 1), delta.aa.oo, (2, 3), (0, 3, 2, 1), optimize=True) + del tmp28 + rdm2.aaaa.ooov += tmp27.transpose((1, 2, 0, 3)) * -4 + del tmp27 + rdm2.aaaa.ooov += tmp26.transpose((1, 2, 0, 3)) * -1 + del tmp26 + rdm2.aaaa.ooov += tmp25.transpose((2, 1, 0, 3)) * -2 + del tmp25 + rdm2.aaaa.ooov += einsum(tmp24, (0, 1), delta.aa.oo, (2, 3), (3, 0, 2, 1), optimize=True) * 2 + rdm2.aaaa.ooov += einsum(delta.aa.oo, (0, 1), tmp24, (2, 3), (2, 1, 0, 3), optimize=True) * -2 + del tmp24 + rdm2.bbbb.oooo = tmp18.transpose((2, 3, 1, 0)).copy() * -2 + del tmp18 + rdm2.bbbb.oooo += tmp16.transpose((3, 2, 1, 0)) * 2 + del tmp16 + rdm2.bbbb.oooo += einsum(delta.bb.oo, (0, 1), tmp11, (2, 3), (1, 3, 0, 2), optimize=True) * -2 + rdm2.bbbb.oooo += einsum(tmp11, (0, 1), delta.bb.oo, (2, 3), (1, 3, 2, 0), optimize=True) * 2 + rdm2.bbbb.oooo += einsum(tmp15, (0, 1), delta.bb.oo, (2, 3), (3, 1, 0, 2), optimize=True) + rdm2.bbbb.oooo += einsum(delta.bb.oo, (0, 1), tmp15, (2, 3), (3, 1, 2, 0), optimize=True) * -1 + del tmp15 + rdm2.bbbb.oooo += einsum(delta.bb.oo, (0, 1), delta.bb.oo, (2, 3), (3, 0, 1, 2), optimize=True) * -1 + rdm2.bbbb.oooo += einsum(delta.bb.oo, (0, 1), delta.bb.oo, (2, 3), (1, 3, 0, 2), optimize=True) + rdm2.abab.oooo = tmp14.transpose((1, 3, 0, 2)).copy() + del tmp14 + rdm2.abab.oooo += tmp12.transpose((1, 3, 0, 2)) + del tmp12 + rdm2.abab.oooo += einsum(delta.aa.oo, (0, 1), tmp11, (2, 3), (1, 3, 0, 2), optimize=True) * -2 + del tmp11 + rdm2.abab.oooo += einsum(tmp4, (0, 1), delta.bb.oo, (2, 3), (1, 3, 0, 2), optimize=True) * -1 + rdm2.abab.oooo += einsum(delta.aa.oo, (0, 1), delta.bb.oo, (2, 3), (1, 3, 0, 2), optimize=True) + rdm2.aaaa.oooo = tmp7.transpose((2, 3, 1, 0)).copy() * -2 + del tmp7 + rdm2.aaaa.oooo += tmp5.transpose((3, 2, 1, 0)) * 2 + del tmp5 + rdm2.aaaa.oooo += einsum(delta.aa.oo, (0, 1), tmp4, (2, 3), (1, 3, 0, 2), optimize=True) * -1 + rdm2.aaaa.oooo += einsum(delta.aa.oo, (0, 1), tmp4, (2, 3), (3, 1, 0, 2), optimize=True) + del tmp4 + rdm2.aaaa.oooo += einsum(tmp3, (0, 1), delta.aa.oo, (2, 3), (3, 1, 0, 2), optimize=True) * 2 + rdm2.aaaa.oooo += einsum(delta.aa.oo, (0, 1), tmp3, (2, 3), (3, 1, 2, 0), optimize=True) * -2 + del tmp3 + rdm2.aaaa.oooo += einsum(delta.aa.oo, (0, 1), delta.aa.oo, (2, 3), (1, 2, 3, 0), optimize=True) * -1 + rdm2.aaaa.oooo += einsum(delta.aa.oo, (0, 1), delta.aa.oo, (2, 3), (3, 1, 2, 0), optimize=True) + del delta + rdm2.aaaa = pack_2e(rdm2.aaaa.oooo, rdm2.aaaa.ooov, rdm2.aaaa.oovo, rdm2.aaaa.ovoo, rdm2.aaaa.vooo, rdm2.aaaa.oovv, rdm2.aaaa.ovov, rdm2.aaaa.ovvo, rdm2.aaaa.voov, rdm2.aaaa.vovo, rdm2.aaaa.vvoo, rdm2.aaaa.ovvv, rdm2.aaaa.vovv, rdm2.aaaa.vvov, rdm2.aaaa.vvvo, rdm2.aaaa.vvvv) + rdm2.abab = pack_2e(rdm2.abab.oooo, rdm2.abab.ooov, rdm2.abab.oovo, rdm2.abab.ovoo, rdm2.abab.vooo, rdm2.abab.oovv, rdm2.abab.ovov, rdm2.abab.ovvo, rdm2.abab.voov, rdm2.abab.vovo, rdm2.abab.vvoo, rdm2.abab.ovvv, rdm2.abab.vovv, rdm2.abab.vvov, rdm2.abab.vvvo, rdm2.abab.vvvv) + rdm2.bbbb = pack_2e(rdm2.bbbb.oooo, rdm2.bbbb.ooov, rdm2.bbbb.oovo, rdm2.bbbb.ovoo, rdm2.bbbb.vooo, rdm2.bbbb.oovv, rdm2.bbbb.ovov, rdm2.bbbb.ovvo, rdm2.bbbb.voov, rdm2.bbbb.vovo, rdm2.bbbb.vvoo, rdm2.bbbb.ovvv, rdm2.bbbb.vovv, rdm2.bbbb.vvov, rdm2.bbbb.vvvo, rdm2.bbbb.vvvv) + rdm2 = Namespace( + aaaa=rdm2.aaaa.swapaxes(1, 2), + aabb=rdm2.abab.swapaxes(1, 2), + bbbb=rdm2.bbbb.swapaxes(1, 2), + ) + + return rdm2 + From 6b30ee548c2d95cdd7c97be4069ab53bd1c3e176 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Sat, 2 Mar 2024 15:20:34 +0000 Subject: [PATCH 007/168] Some more bootstrapping files --- ebcc/codegen/bootstrap_CC3.py | 125 ++++++++++++ ebcc/codegen/bootstrap_CCD.py | 269 ++++++++++++++++++++++++++ ebcc/codegen/bootstrap_CCSD.py | 295 ++++++++++++++++++++++++++++ ebcc/codegen/bootstrap_CCSDT.py | 317 +++++++++++++++++++++++++++++++ ebcc/codegen/bootstrap_CCSDTQ.py | 128 +++++++++++++ 5 files changed, 1134 insertions(+) create mode 100644 ebcc/codegen/bootstrap_CC3.py create mode 100644 ebcc/codegen/bootstrap_CCD.py create mode 100644 ebcc/codegen/bootstrap_CCSD.py create mode 100644 ebcc/codegen/bootstrap_CCSDT.py create mode 100644 ebcc/codegen/bootstrap_CCSDTQ.py diff --git a/ebcc/codegen/bootstrap_CC3.py b/ebcc/codegen/bootstrap_CC3.py new file mode 100644 index 00000000..6fd1c2b3 --- /dev/null +++ b/ebcc/codegen/bootstrap_CC3.py @@ -0,0 +1,125 @@ +""" +Generate the CC3 code. +""" + +import sys + +import pdaggerq +from albert.qc._pdaggerq import import_from_pdaggerq +from albert.tensor import Tensor + +from ebcc.codegen.bootstrap_common import * + +# Get the spin case +spin = sys.argv[1] + +# Set up the code generators +code_generators = { + "einsum": EinsumCodeGen( + stdout=open(f"{spin[0].upper()}CC3.py", "w"), + name_generator=name_generators[spin], + spin=spin, + ), +} + +# Write the preamble +for codegen in code_generators.values(): + codegen.preamble() + +# Set up pdaggerq +pq = pdaggerq.pq_helper("fermi") +pq.set_print_level(0) + +with Stopwatch("Energy"): + # Get the energy contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["1"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) + pq.simplify() + terms = pq.fully_contracted_strings() + terms = remove_hf_energy(terms) + + # Get the energy in albert format + expr = import_from_pdaggerq(terms) + expr = spin_integrate(expr, spin) + output = tuple(Tensor(name="e_cc") for _ in range(len(expr))) + output, expr = optimise(output, expr, spin, strategy="exhaust") + returns = (Tensor(name="e_cc"),) + + # Generate the energy code + for codegen in code_generators.values(): + codegen( + "energy", + returns, + output, + expr, + ) + +with Stopwatch("T amplitudes"): + # Get the T1 contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["e1(i,a)"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2", "t3"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3"]) + pq.simplify() + terms_t1 = pq.fully_contracted_strings() + + # Get the T2 contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["e2(i,j,b,a)"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2", "t3"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3"]) + pq.simplify() + terms_t2 = pq.fully_contracted_strings() + + # Get the T3 contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["e3(i,j,k,c,b,a)"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2", "t3"]) + pq.add_st_operator(1.0, ["v"], ["t1"]) + pq.add_operator_product(1.0, ["v"]) + pq.add_commutator(1.0, ["v"], ["t2"]) + pq.add_double_commutator(1.0, ["v"], ["t1"], ["t2"]) + pq.add_triple_commutator(0.5, ["v"], ["t1"], ["t1"], ["t2"]) + pq.add_quadruple_commutator(1/6, ["v"], ["t1"], ["t1"], ["t1"], ["t2"]) + pq.simplify() + terms_t3 = pq.fully_contracted_strings() + + # Get the T amplitudes in albert format + terms = [terms_t1, terms_t2, terms_t3] + expr = [] + output = [] + returns = [] + for n in range(3): + for index_spins in get_amplitude_spins(n + 1, spin): + indices = default_indices["o"][: n + 1] + default_indices["v"][: n + 1] + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + output_n = get_t_amplitude_outputs(expr_n, f"t{n+1}new") + returns_n = (Tensor(*indices, name=f"t{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + output, expr = optimise(output, expr, spin, strategy="exhaust") + + # Generate the T amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "preamble": "t1new = Namespace()\nt2new = Namespace()" if spin == "uhf" else None, + "as_dict": True, + } + else: + kwargs = {} + codegen( + "update_amps", + returns, + output, + expr, + **kwargs, + ) + +for codegen in code_generators.values(): + codegen.postamble() + codegen.stdout.close() diff --git a/ebcc/codegen/bootstrap_CCD.py b/ebcc/codegen/bootstrap_CCD.py new file mode 100644 index 00000000..e6ac442e --- /dev/null +++ b/ebcc/codegen/bootstrap_CCD.py @@ -0,0 +1,269 @@ +""" +Generate the CCD code. +""" + +import sys + +import pdaggerq +from albert.qc._pdaggerq import import_from_pdaggerq +from albert.tensor import Tensor + +from ebcc.codegen.bootstrap_common import * + +# Get the spin case +spin = sys.argv[1] + +# Set up the code generators +code_generators = { + "einsum": EinsumCodeGen( + stdout=open(f"{spin[0].upper()}CCD.py", "w"), + name_generator=name_generators[spin], + spin=spin, + ), +} + +# Write the preamble +for codegen in code_generators.values(): + codegen.preamble() + +# Set up pdaggerq +pq = pdaggerq.pq_helper("fermi") +pq.set_print_level(0) + +with Stopwatch("Energy"): + # Get the energy contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["1"]]) + pq.add_st_operator(1.0, ["f"], ["t2"]) + pq.add_st_operator(1.0, ["v"], ["t2"]) + pq.simplify() + terms = pq.fully_contracted_strings() + terms = remove_hf_energy(terms) + + # Get the energy in albert format + expr = import_from_pdaggerq(terms) + expr = spin_integrate(expr, spin) + output = tuple(Tensor(name="e_cc") for _ in range(len(expr))) + output, expr = optimise(output, expr, spin, strategy="exhaust") + returns = (Tensor(name="e_cc"),) + + # Generate the energy code + for codegen in code_generators.values(): + codegen( + "energy", + returns, + output, + expr, + ) + +with Stopwatch("T amplitudes"): + # Get the T2 contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["e2(i,j,b,a)"]]) + pq.add_st_operator(1.0, ["f"], ["t2"]) + pq.add_st_operator(1.0, ["v"], ["t2"]) + pq.simplify() + terms = pq.fully_contracted_strings() + + # Get the T amplitudes in albert format + expr = [] + output = [] + returns = [] + for index_spins in get_amplitude_spins(2, spin): + indices = default_indices["o"][:2] + default_indices["v"][:2] + expr_n = import_from_pdaggerq(terms, index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + output_n = get_t_amplitude_outputs(expr_n, f"t2new") + returns_n = (Tensor(*indices, name=f"t2new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + output, expr = optimise(output, expr, spin, strategy="exhaust") + + # Generate the T amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "preamble": "t2new = Namespace()" if spin == "uhf" else None, + "as_dict": True, + } + else: + kwargs = {} + codegen( + "update_amps", + returns, + output, + expr, + **kwargs, + ) + +with Stopwatch("L amplitudes"): + # Get the L2 contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["1"]]) + pq.set_right_operators([["1"]]) + pq.add_st_operator(1.0, ["f", "e2(a,b,j,i)"], ["t2"]) + pq.add_st_operator(1.0, ["v", "e2(a,b,j,i)"], ["t2"]) + pq.set_left_operators([["l2"]]) + pq.add_st_operator( 1.0, ["f", "e2(a,b,j,i)"], ["t2"]) + pq.add_st_operator( 1.0, ["v", "e2(a,b,j,i)"], ["t2"]) + pq.add_st_operator(-1.0, ["e2(a,b,j,i)", "f"], ["t2"]) + pq.add_st_operator(-1.0, ["e2(a,b,j,i)", "v"], ["t2"]) + pq.simplify() + terms = pq.fully_contracted_strings() + + # Get the L amplitudes in albert format + expr = [] + output = [] + returns = [] + for index_spins in get_amplitude_spins(2, spin): + indices = default_indices["v"][:2] + default_indices["o"][:2] + expr_n = import_from_pdaggerq(terms, index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + output_n = get_l_amplitude_outputs(expr_n, f"l2new") + returns_n = (Tensor(*indices, name=f"l2new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + output, expr = optimise(output, expr, spin, strategy="opt") + + # Generate the L amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "preamble": "l2new = Namespace()" if spin == "uhf" else None, + "as_dict": True, + } + else: + kwargs = {} + codegen( + "update_lams", + returns, + output, + expr, + **kwargs, + ) + +with Stopwatch("1RDM"): + # Get the 1RDM contractions in pdaggerq format + terms = {} + for sectors, indices in [("oo", "ij"), ("ov", "ia"), ("vo", "ai"), ("vv", "ab")]: + pq.clear() + pq.set_left_operators([["1"], ["l2"]]) + pq.add_st_operator(1.0, [f"e1({','.join(indices)})"], ["t2"]) + pq.simplify() + terms[sectors, indices] = pq.fully_contracted_strings() + + # Get the 1RDM in albert format + expr = [] + output = [] + returns = [] + for sectors, indices in [("oo", "ij"), ("ov", "ia"), ("vo", "ai"), ("vv", "ab")]: + for index_spins in get_density_spins(1, spin, indices): + expr_n = import_from_pdaggerq(terms[sectors, indices], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + if spin == "rhf": + expr_n = tuple(e * 2 for e in expr_n) + output_n = get_density_outputs(expr_n, f"d", indices) + returns_n = (Tensor(*indices, name=f"d"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + output, expr = optimise(output, expr, spin, strategy="exhaust") + + # Generate the 1RDM code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "preamble": get_density_einsum_preamble(1, spin), + "postamble": get_density_einsum_postamble(1, spin), + } + else: + kwargs = {} + codegen( + "make_rdm1_f", + returns, + output, + expr, + **kwargs, + ) + +with Stopwatch("2RDM"): + # Get the 2RDM contractions in pdaggerq format + terms = {} + for sectors, indices in [ + ("oooo", "ijkl"), + ("ooov", "ijka"), + ("oovo", "ijak"), + ("ovoo", "iajk"), + ("vooo", "aijk"), + ("oovv", "ijab"), + ("ovov", "iajb"), + ("ovvo", "iabj"), + ("voov", "aijb"), + ("vovo", "aibj"), + ("vvoo", "abij"), + ("ovvv", "iabc"), + ("vovv", "aibc"), + ("vvov", "abic"), + ("vvvo", "abci"), + ("vvvv", "abcd"), + ]: + pq.clear() + pq.set_left_operators([["1"], ["l2"]]) + pq.add_st_operator( + 1.0, [f"e2({indices[0]},{indices[1]},{indices[3]},{indices[2]})"], ["t2"] + ) + pq.simplify() + terms[sectors, indices] = pq.fully_contracted_strings() + + # Get the 2RDM in albert format + expr = [] + output = [] + returns = [] + for sectors, indices in [ + ("oooo", "ijkl"), + ("ooov", "ijka"), + ("oovo", "ijak"), + ("ovoo", "iajk"), + ("vooo", "aijk"), + ("oovv", "ijab"), + ("ovov", "iajb"), + ("ovvo", "iabj"), + ("voov", "aijb"), + ("vovo", "aibj"), + ("vvoo", "abij"), + ("ovvv", "iabc"), + ("vovv", "aibc"), + ("vvov", "abic"), + ("vvvo", "abci"), + ("vvvv", "abcd"), + ]: + for index_spins in get_density_spins(2, spin, indices): + expr_n = import_from_pdaggerq(terms[sectors, indices], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + output_n = get_density_outputs(expr_n, f"Γ", indices) + returns_n = (Tensor(*indices, name=f"Γ"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + output, expr = optimise(output, expr, spin, strategy="trav") + + # Generate the 2RDM code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "preamble": get_density_einsum_preamble(2, spin), + "postamble": get_density_einsum_postamble(2, spin), + } + codegen( + "make_rdm2_f", + returns, + output, + expr, + **kwargs, + ) + +for codegen in code_generators.values(): + codegen.postamble() + codegen.stdout.close() diff --git a/ebcc/codegen/bootstrap_CCSD.py b/ebcc/codegen/bootstrap_CCSD.py new file mode 100644 index 00000000..9ddc811f --- /dev/null +++ b/ebcc/codegen/bootstrap_CCSD.py @@ -0,0 +1,295 @@ +""" +Generate the CCSD code. +""" + +import sys + +import pdaggerq +from albert.qc._pdaggerq import import_from_pdaggerq +from albert.tensor import Tensor + +from ebcc.codegen.bootstrap_common import * + +# Get the spin case +spin = sys.argv[1] + +# Set up the code generators +code_generators = { + "einsum": EinsumCodeGen( + stdout=open(f"{spin[0].upper()}CCSD.py", "w"), + name_generator=name_generators[spin], + spin=spin, + ), +} + +# Write the preamble +for codegen in code_generators.values(): + codegen.preamble() + +# Set up pdaggerq +pq = pdaggerq.pq_helper("fermi") +pq.set_print_level(0) + +with Stopwatch("Energy"): + # Get the energy contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["1"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) + pq.simplify() + terms = pq.fully_contracted_strings() + terms = remove_hf_energy(terms) + + # Get the energy in albert format + expr = import_from_pdaggerq(terms) + expr = spin_integrate(expr, spin) + output = tuple(Tensor(name="e_cc") for _ in range(len(expr))) + output, expr = optimise(output, expr, spin, strategy="exhaust") + returns = (Tensor(name="e_cc"),) + + # Generate the energy code + for codegen in code_generators.values(): + codegen( + "energy", + returns, + output, + expr, + ) + +with Stopwatch("T amplitudes"): + # Get the T1 contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["e1(i,a)"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) + pq.simplify() + terms_t1 = pq.fully_contracted_strings() + + # Get the T2 contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["e2(i,j,b,a)"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) + pq.simplify() + terms_t2 = pq.fully_contracted_strings() + + # Get the T amplitudes in albert format + terms = [terms_t1, terms_t2] + expr = [] + output = [] + returns = [] + for n in range(2): + for index_spins in get_amplitude_spins(n + 1, spin): + indices = default_indices["o"][: n + 1] + default_indices["v"][: n + 1] + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + output_n = get_t_amplitude_outputs(expr_n, f"t{n+1}new") + returns_n = (Tensor(*indices, name=f"t{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + output, expr = optimise(output, expr, spin, strategy="exhaust") + + # Generate the T amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "preamble": "t1new = Namespace()\nt2new = Namespace()" if spin == "uhf" else None, + "as_dict": True, + } + else: + kwargs = {} + codegen( + "update_amps", + returns, + output, + expr, + **kwargs, + ) + +with Stopwatch("L amplitudes"): + # Get the L1 contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["1"]]) + pq.set_right_operators([["1"]]) + pq.add_st_operator(1.0, ["f", "e1(a,i)"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v", "e1(a,i)"], ["t1", "t2"]) + pq.set_left_operators([["l1"], ["l2"]]) + pq.add_st_operator(1.0, ["f", "e1(a,i)"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v", "e1(a,i)"], ["t1", "t2"]) + pq.add_st_operator(-1.0, ["e1(a,i)", "f"], ["t1", "t2"]) + pq.add_st_operator(-1.0, ["e1(a,i)", "v"], ["t1", "t2"]) + pq.simplify() + terms_l1 = pq.fully_contracted_strings() + + # Get the L2 contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["1"]]) + pq.set_right_operators([["1"]]) + pq.add_st_operator(1.0, ["f", "e2(a,b,j,i)"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v", "e2(a,b,j,i)"], ["t1", "t2"]) + pq.set_left_operators([["l1"], ["l2"]]) + pq.add_st_operator(1.0, ["f", "e2(a,b,j,i)"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v", "e2(a,b,j,i)"], ["t1", "t2"]) + pq.add_st_operator(-1.0, ["e2(a,b,j,i)", "f"], ["t1", "t2"]) + pq.add_st_operator(-1.0, ["e2(a,b,j,i)", "v"], ["t1", "t2"]) + pq.simplify() + terms_l2 = pq.fully_contracted_strings() + + # Get the L amplitudes in albert format + terms = [terms_l1, terms_l2] + expr = [] + output = [] + returns = [] + for n in range(2): + for index_spins in get_amplitude_spins(n + 1, spin): + indices = default_indices["v"][: n + 1] + default_indices["o"][: n + 1] + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + output_n = get_l_amplitude_outputs(expr_n, f"l{n+1}new") + returns_n = (Tensor(*indices, name=f"l{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + output, expr = optimise(output, expr, spin, strategy="opt") + + # Generate the L amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "preamble": "l1new = Namespace()\nl2new = Namespace()" if spin == "uhf" else None, + "as_dict": True, + } + else: + kwargs = {} + codegen( + "update_lams", + returns, + output, + expr, + **kwargs, + ) + +with Stopwatch("1RDM"): + # Get the 1RDM contractions in pdaggerq format + terms = {} + for sectors, indices in [("oo", "ij"), ("ov", "ia"), ("vo", "ai"), ("vv", "ab")]: + pq.clear() + pq.set_left_operators([["1"], ["l1"], ["l2"]]) + pq.add_st_operator(1.0, [f"e1({','.join(indices)})"], ["t1", "t2"]) + pq.simplify() + terms[sectors, indices] = pq.fully_contracted_strings() + + # Get the 1RDM in albert format + expr = [] + output = [] + returns = [] + for sectors, indices in [("oo", "ij"), ("ov", "ia"), ("vo", "ai"), ("vv", "ab")]: + for index_spins in get_density_spins(1, spin, indices): + expr_n = import_from_pdaggerq(terms[sectors, indices], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + if spin == "rhf": + expr_n = tuple(e * 2 for e in expr_n) + output_n = get_density_outputs(expr_n, f"d", indices) + returns_n = (Tensor(*indices, name=f"d"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + output, expr = optimise(output, expr, spin, strategy="exhaust") + + # Generate the 1RDM code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "preamble": get_density_einsum_preamble(1, spin), + "postamble": get_density_einsum_postamble(1, spin), + } + else: + kwargs = {} + codegen( + "make_rdm1_f", + returns, + output, + expr, + **kwargs, + ) + +with Stopwatch("2RDM"): + # Get the 2RDM contractions in pdaggerq format + terms = {} + for sectors, indices in [ + ("oooo", "ijkl"), + ("ooov", "ijka"), + ("oovo", "ijak"), + ("ovoo", "iajk"), + ("vooo", "aijk"), + ("oovv", "ijab"), + ("ovov", "iajb"), + ("ovvo", "iabj"), + ("voov", "aijb"), + ("vovo", "aibj"), + ("vvoo", "abij"), + ("ovvv", "iabc"), + ("vovv", "aibc"), + ("vvov", "abic"), + ("vvvo", "abci"), + ("vvvv", "abcd"), + ]: + pq.clear() + pq.set_left_operators([["1"], ["l1"], ["l2"]]) + pq.add_st_operator( + 1.0, [f"e2({indices[0]},{indices[1]},{indices[3]},{indices[2]})"], ["t1", "t2"] + ) + pq.simplify() + terms[sectors, indices] = pq.fully_contracted_strings() + + # Get the 2RDM in albert format + expr = [] + output = [] + returns = [] + for sectors, indices in [ + ("oooo", "ijkl"), + ("ooov", "ijka"), + ("oovo", "ijak"), + ("ovoo", "iajk"), + ("vooo", "aijk"), + ("oovv", "ijab"), + ("ovov", "iajb"), + ("ovvo", "iabj"), + ("voov", "aijb"), + ("vovo", "aibj"), + ("vvoo", "abij"), + ("ovvv", "iabc"), + ("vovv", "aibc"), + ("vvov", "abic"), + ("vvvo", "abci"), + ("vvvv", "abcd"), + ]: + for index_spins in get_density_spins(2, spin, indices): + expr_n = import_from_pdaggerq(terms[sectors, indices], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + output_n = get_density_outputs(expr_n, f"Γ", indices) + returns_n = (Tensor(*indices, name=f"Γ"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + output, expr = optimise(output, expr, spin, strategy="trav") + + # Generate the 2RDM code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "preamble": get_density_einsum_preamble(2, spin), + "postamble": get_density_einsum_postamble(2, spin), + } + codegen( + "make_rdm2_f", + returns, + output, + expr, + **kwargs, + ) + +for codegen in code_generators.values(): + codegen.postamble() + codegen.stdout.close() diff --git a/ebcc/codegen/bootstrap_CCSDT.py b/ebcc/codegen/bootstrap_CCSDT.py new file mode 100644 index 00000000..32fa47e8 --- /dev/null +++ b/ebcc/codegen/bootstrap_CCSDT.py @@ -0,0 +1,317 @@ +""" +Generate the CCSDT code. +""" + +import sys + +import pdaggerq +from albert.qc._pdaggerq import import_from_pdaggerq +from albert.tensor import Tensor + +from ebcc.codegen.bootstrap_common import * + +# Get the spin case +spin = sys.argv[1] + +# Set up the code generators +code_generators = { + "einsum": EinsumCodeGen( + stdout=open(f"{spin[0].upper()}CCSDT.py", "w"), + name_generator=name_generators[spin], + spin=spin, + ), +} + +# Write the preamble +for codegen in code_generators.values(): + codegen.preamble() + +# Set up pdaggerq +pq = pdaggerq.pq_helper("fermi") +pq.set_print_level(0) + +with Stopwatch("Energy"): + # Get the energy contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["1"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) + pq.simplify() + terms = pq.fully_contracted_strings() + terms = remove_hf_energy(terms) + + # Get the energy in albert format + expr = import_from_pdaggerq(terms) + expr = spin_integrate(expr, spin) + output = tuple(Tensor(name="e_cc") for _ in range(len(expr))) + output, expr = optimise(output, expr, spin, strategy="exhaust") + returns = (Tensor(name="e_cc"),) + + # Generate the energy code + for codegen in code_generators.values(): + codegen( + "energy", + returns, + output, + expr, + ) + +with Stopwatch("T amplitudes"): + # Get the T1 contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["e1(i,a)"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2", "t3"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3"]) + pq.simplify() + terms_t1 = pq.fully_contracted_strings() + + # Get the T2 contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["e2(i,j,b,a)"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2", "t3"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3"]) + pq.simplify() + terms_t2 = pq.fully_contracted_strings() + + # Get the T2 contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["e2(i,j,k,c,b,a)"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2", "t3"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3"]) + pq.simplify() + terms_t3 = pq.fully_contracted_strings() + + # Get the T amplitudes in albert format + terms = [terms_t1, terms_t2, terms_t3] + expr = [] + output = [] + returns = [] + for n in range(3): + for index_spins in get_amplitude_spins(n + 1, spin): + indices = default_indices["o"][: n + 1] + default_indices["v"][: n + 1] + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + output_n = get_t_amplitude_outputs(expr_n, f"t{n+1}new") + returns_n = (Tensor(*indices, name=f"t{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + output, expr = optimise(output, expr, spin, strategy="exhaust") + + # Generate the T amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "preamble": "t1new = Namespace()\nt2new = Namespace()\nt3new = Namespace()" if spin == "uhf" else None, + "as_dict": True, + } + else: + kwargs = {} + codegen( + "update_amps", + returns, + output, + expr, + **kwargs, + ) + +with Stopwatch("L amplitudes"): + # Get the L1 contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["1"]]) + pq.set_right_operators([["1"]]) + pq.add_st_operator(1.0, ["f", "e1(a,i)"], ["t1", "t2", "t3"]) + pq.add_st_operator(1.0, ["v", "e1(a,i)"], ["t1", "t2", "t3"]) + pq.set_left_operators([["l1"], ["l2"], ["l3"]) + pq.add_st_operator(1.0, ["f", "e1(a,i)"], ["t1", "t2", "t3"]) + pq.add_st_operator(1.0, ["v", "e1(a,i)"], ["t1", "t2", "t3"]) + pq.add_st_operator(-1.0, ["e1(a,i)", "f"], ["t1", "t2", "t3"]) + pq.add_st_operator(-1.0, ["e1(a,i)", "v"], ["t1", "t2", "t3"]) + pq.simplify() + terms_l1 = pq.fully_contracted_strings() + + # Get the L2 contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["1"]]) + pq.set_right_operators([["1"]]) + pq.add_st_operator(1.0, ["f", "e2(a,b,j,i)"], ["t1", "t2", "t3"]) + pq.add_st_operator(1.0, ["v", "e2(a,b,j,i)"], ["t1", "t2", "t3"]) + pq.set_left_operators([["l1"], ["l2"], ["l3"]) + pq.add_st_operator(1.0, ["f", "e2(a,b,j,i)"], ["t1", "t2", "t3"]) + pq.add_st_operator(1.0, ["v", "e2(a,b,j,i)"], ["t1", "t2", "t3"]) + pq.add_st_operator(-1.0, ["e2(a,b,j,i)", "f"], ["t1", "t2", "t3"]) + pq.add_st_operator(-1.0, ["e2(a,b,j,i)", "v"], ["t1", "t2", "t3"]) + pq.simplify() + terms_l2 = pq.fully_contracted_strings() + + # Get the L3 contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["1"]]) + pq.set_right_operators([["1"]]) + pq.add_st_operator(1.0, ["f", "e3(a,b,c,k,j,i)"], ["t1", "t2", "t3"]) + pq.add_st_operator(1.0, ["v", "e3(a,b,c,k,j,i)"], ["t1", "t2", "t3"]) + pq.set_left_operators([["l1"], ["l2"], ["l3"]) + pq.add_st_operator(1.0, ["f", "e3(a,b,c,k,j,i)"], ["t1", "t2", "t3"]) + pq.add_st_operator(1.0, ["v", "e3(a,b,c,k,j,i)"], ["t1", "t2", "t3"]) + pq.add_st_operator(-1.0, ["e3(a,b,c,k,j,i)", "f"], ["t1", "t2", "t3"]) + pq.add_st_operator(-1.0, ["e3(a,b,c,k,j,i)", "v"], ["t1", "t2", "t3"]) + pq.simplify() + terms_l3 = pq.fully_contracted_strings() + + # Get the L amplitudes in albert format + terms = [terms_l1, terms_l2, terms_l3] + expr = [] + output = [] + returns = [] + for n in range(3): + for index_spins in get_amplitude_spins(n + 1, spin): + indices = default_indices["v"][: n + 1] + default_indices["o"][: n + 1] + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + output_n = get_l_amplitude_outputs(expr_n, f"l{n+1}new") + returns_n = (Tensor(*indices, name=f"l{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + output, expr = optimise(output, expr, spin, strategy="opt") + + # Generate the L amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "preamble": "l1new = Namespace()\nl2new = Namespace()\nl3new = Namespace()" if spin == "uhf" else None, + "as_dict": True, + } + else: + kwargs = {} + codegen( + "update_lams", + returns, + output, + expr, + **kwargs, + ) + +with Stopwatch("1RDM"): + # Get the 1RDM contractions in pdaggerq format + terms = {} + for sectors, indices in [("oo", "ij"), ("ov", "ia"), ("vo", "ai"), ("vv", "ab")]: + pq.clear() + pq.set_left_operators([["1"], ["l1"], ["l2"], ["l3"]) + pq.add_st_operator(1.0, [f"e1({','.join(indices)})"], ["t1", "t2", "t3"]) + pq.simplify() + terms[sectors, indices] = pq.fully_contracted_strings() + + # Get the 1RDM in albert format + expr = [] + output = [] + returns = [] + for sectors, indices in [("oo", "ij"), ("ov", "ia"), ("vo", "ai"), ("vv", "ab")]: + for index_spins in get_density_spins(1, spin, indices): + expr_n = import_from_pdaggerq(terms[sectors, indices], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + if spin == "rhf": + expr_n = tuple(e * 2 for e in expr_n) + output_n = get_density_outputs(expr_n, f"d", indices) + returns_n = (Tensor(*indices, name=f"d"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + output, expr = optimise(output, expr, spin, strategy="trav") + + # Generate the 1RDM code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "preamble": get_density_einsum_preamble(1, spin), + "postamble": get_density_einsum_postamble(1, spin), + } + else: + kwargs = {} + codegen( + "make_rdm1_f", + returns, + output, + expr, + **kwargs, + ) + +with Stopwatch("2RDM"): + # Get the 2RDM contractions in pdaggerq format + terms = {} + for sectors, indices in [ + ("oooo", "ijkl"), + ("ooov", "ijka"), + ("oovo", "ijak"), + ("ovoo", "iajk"), + ("vooo", "aijk"), + ("oovv", "ijab"), + ("ovov", "iajb"), + ("ovvo", "iabj"), + ("voov", "aijb"), + ("vovo", "aibj"), + ("vvoo", "abij"), + ("ovvv", "iabc"), + ("vovv", "aibc"), + ("vvov", "abic"), + ("vvvo", "abci"), + ("vvvv", "abcd"), + ]: + pq.clear() + pq.set_left_operators([["1"], ["l1"], ["l2"], ["l3"]) + pq.add_st_operator( + 1.0, [f"e2({indices[0]},{indices[1]},{indices[3]},{indices[2]})"], ["t1", "t2", "t3"] + ) + pq.simplify() + terms[sectors, indices] = pq.fully_contracted_strings() + + # Get the 2RDM in albert format + expr = [] + output = [] + returns = [] + for sectors, indices in [ + ("oooo", "ijkl"), + ("ooov", "ijka"), + ("oovo", "ijak"), + ("ovoo", "iajk"), + ("vooo", "aijk"), + ("oovv", "ijab"), + ("ovov", "iajb"), + ("ovvo", "iabj"), + ("voov", "aijb"), + ("vovo", "aibj"), + ("vvoo", "abij"), + ("ovvv", "iabc"), + ("vovv", "aibc"), + ("vvov", "abic"), + ("vvvo", "abci"), + ("vvvv", "abcd"), + ]: + for index_spins in get_density_spins(2, spin, indices): + expr_n = import_from_pdaggerq(terms[sectors, indices], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + output_n = get_density_outputs(expr_n, f"Γ", indices) + returns_n = (Tensor(*indices, name=f"Γ"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + output, expr = optimise(output, expr, spin, strategy="trav") + + # Generate the 2RDM code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "preamble": get_density_einsum_preamble(2, spin), + "postamble": get_density_einsum_postamble(2, spin), + } + codegen( + "make_rdm2_f", + returns, + output, + expr, + **kwargs, + ) + +for codegen in code_generators.values(): + codegen.postamble() + codegen.stdout.close() diff --git a/ebcc/codegen/bootstrap_CCSDTQ.py b/ebcc/codegen/bootstrap_CCSDTQ.py new file mode 100644 index 00000000..1b85864a --- /dev/null +++ b/ebcc/codegen/bootstrap_CCSDTQ.py @@ -0,0 +1,128 @@ +""" +Generate the CCSDTQ code. +""" + +import sys + +import pdaggerq +from albert.qc._pdaggerq import import_from_pdaggerq +from albert.tensor import Tensor + +from ebcc.codegen.bootstrap_common import * + +# Get the spin case +spin = sys.argv[1] + +# Set up the code generators +code_generators = { + "einsum": EinsumCodeGen( + stdout=open(f"{spin[0].upper()}CCSDTQ.py", "w"), + name_generator=name_generators[spin], + spin=spin, + ), +} + +# Write the preamble +for codegen in code_generators.values(): + codegen.preamble() + +# Set up pdaggerq +pq = pdaggerq.pq_helper("fermi") +pq.set_print_level(0) + +with Stopwatch("Energy"): + # Get the energy contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["1"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) + pq.simplify() + terms = pq.fully_contracted_strings() + terms = remove_hf_energy(terms) + + # Get the energy in albert format + expr = import_from_pdaggerq(terms) + expr = spin_integrate(expr, spin) + output = tuple(Tensor(name="e_cc") for _ in range(len(expr))) + output, expr = optimise(output, expr, spin, strategy="exhaust") + returns = (Tensor(name="e_cc"),) + + # Generate the energy code + for codegen in code_generators.values(): + codegen( + "energy", + returns, + output, + expr, + ) + +with Stopwatch("T amplitudes"): + # Get the T1 contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["e1(i,a)"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2", "t3", "t4"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3", "t4"]) + pq.simplify() + terms_t1 = pq.fully_contracted_strings() + + # Get the T2 contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["e2(i,j,b,a)"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2", "t3", "t4"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3", "t4"]) + pq.simplify() + terms_t2 = pq.fully_contracted_strings() + + # Get the T2 contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["e2(i,j,k,c,b,a)"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2", "t3", "t4"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3", "t4"]) + pq.simplify() + terms_t3 = pq.fully_contracted_strings() + + # Get the T3 contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["e3(i,j,k,l,d,c,b,a)"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2", "t3", "t4"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3", "t4"]) + pq.simplify() + terms_t4 = pq.fully_contracted_strings() + + # Get the T amplitudes in albert format + terms = [terms_t1, terms_t2, terms_t3, terms_t4] + expr = [] + output = [] + returns = [] + for n in range(4): + for index_spins in get_amplitude_spins(n + 1, spin): + indices = default_indices["o"][: n + 1] + default_indices["v"][: n + 1] + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + output_n = get_t_amplitude_outputs(expr_n, f"t{n+1}new") + returns_n = (Tensor(*indices, name=f"t{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + output, expr = optimise(output, expr, spin, strategy="greedy") + + # Generate the T amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "preamble": "t1new = Namespace()\nt2new = Namespace()\nt3new = Namespace()\nt4new = Namespace()" if spin == "uhf" else None, + "as_dict": True, + } + else: + kwargs = {} + codegen( + "update_amps", + returns, + output, + expr, + **kwargs, + ) + +for codegen in code_generators.values(): + codegen.postamble() + codegen.stdout.close() From 76e8a771c24e03ef752eac8882f6af859442a615 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Sat, 2 Mar 2024 15:37:08 +0000 Subject: [PATCH 008/168] Bootstrapped CCSD files --- ebcc/codegen/GCCSD.py | 730 ++++++++++++ ebcc/codegen/RCCSD.py | 1426 ++++++++++++++++++++++ ebcc/codegen/UCCSD.py | 2650 +++++++++++++++++++++++++++++++++++++++++ 3 files changed, 4806 insertions(+) create mode 100644 ebcc/codegen/GCCSD.py create mode 100644 ebcc/codegen/RCCSD.py create mode 100644 ebcc/codegen/UCCSD.py diff --git a/ebcc/codegen/GCCSD.py b/ebcc/codegen/GCCSD.py new file mode 100644 index 00000000..95f3dc37 --- /dev/null +++ b/ebcc/codegen/GCCSD.py @@ -0,0 +1,730 @@ +""" +Code generated by `albert`: +https://github.com/obackhouse/albert + + * date: 2024-03-02T15:24:42.798018 + * python version: 3.10.12 (main, Nov 20 2023, 15:14:05) [GCC 11.4.0] + * albert version: 0.0.0 + * caller: /home/ollie/git/albert/albert/codegen/einsum.py + * node: ollie-desktop + * system: Linux + * processor: x86_64 + * release: 6.5.0-21-generic +""" + +from ebcc import numpy as np +from ebcc.util import pack_2e, einsum, Namespace + + +def energy(f=None, t1=None, t2=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-03-02T15:24:42.982804. + + Parameters + ---------- + f : array + Fock matrix. + t1 : array + T1 amplitudes. + t2 : array + T2 amplitudes. + v : array + Electron repulsion integrals. + + Returns + ------- + e_cc : float + Coupled cluster energy. + """ + + tmp0 = einsum(t1, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) * 2 + tmp0 += t2.transpose((1, 0, 3, 2)) + e_cc = einsum(tmp0, (0, 1, 2, 3), v.oovv, (0, 1, 2, 3), (), optimize=True) * 0.25 + del tmp0 + e_cc += einsum(f.ov, (0, 1), t1, (0, 1), (), optimize=True) + + return e_cc + +def update_amps(f=None, t1=None, t2=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-03-02T15:24:49.127945. + + Parameters + ---------- + f : array + Fock matrix. + t1 : array + T1 amplitudes. + t2 : array + T2 amplitudes. + v : array + Electron repulsion integrals. + + Returns + ------- + t1new : array + Updated T1 residuals. + t2new : array + Updated T2 residuals. + """ + + tmp2 = einsum(t1, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) + tmp2 += t2.transpose((1, 0, 3, 2)) * 0.5 + t2new = einsum(tmp2, (0, 1, 2, 3), v.vvvv, (2, 3, 4, 5), (1, 0, 4, 5), optimize=True) * -1 + tmp7 = einsum(t1, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) * 2 + tmp7 += t2.transpose((1, 0, 3, 2)) + tmp49 = einsum(v.oovv, (0, 1, 2, 3), tmp7, (4, 5, 2, 3), (1, 0, 5, 4), optimize=True) + tmp49 += v.oooo.transpose((2, 3, 1, 0)) * -2 + t2new += einsum(tmp7, (0, 1, 2, 3), tmp49, (0, 1, 4, 5), (4, 5, 3, 2), optimize=True) * -0.25 + del tmp49 + tmp45 = einsum(v.ovvv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2), optimize=True) + tmp47 = einsum(t1, (0, 1), tmp45, (2, 3, 4, 1), (2, 0, 3, 4), optimize=True) * -1 + tmp48 = einsum(tmp47, (0, 1, 2, 3), t1, (2, 4), (1, 0, 4, 3), optimize=True) * -1 + del tmp47 + t2new += tmp48.transpose((0, 1, 3, 2)) + t2new += tmp48 * -1 + del tmp48 + tmp46 = einsum(tmp45, (0, 1, 2, 3), t2, (4, 1, 5, 3), (0, 4, 5, 2), optimize=True) * -1 + del tmp45 + t2new += tmp46.transpose((1, 0, 3, 2)) + t2new += tmp46.transpose((1, 0, 2, 3)) * -1 + t2new += tmp46.transpose((0, 1, 3, 2)) * -1 + t2new += tmp46 + del tmp46 + tmp44 = einsum(f.oo, (0, 1), t2, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) + t2new += tmp44.transpose((1, 0, 3, 2)) + t2new += tmp44.transpose((0, 1, 3, 2)) * -1 + del tmp44 + tmp42 = einsum(f.vv, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4), optimize=True) + tmp43 = tmp42.transpose((1, 0, 2, 3)).copy() * -1 + del tmp42 + tmp41 = einsum(t1, (0, 1), v.ooov, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) + tmp43 += tmp41.transpose((1, 0, 2, 3)) * -1 + del tmp41 + t2new += tmp43.transpose((0, 1, 3, 2)) + t2new += tmp43 * -1 + del tmp43 + tmp38 = einsum(t1, (0, 1), t1, (2, 3), (0, 2, 3, 1), optimize=True) * -1 + tmp38 += t2.transpose((1, 0, 3, 2)) + tmp39 = einsum(tmp38, (0, 1, 2, 3), v.ovov, (0, 4, 5, 2), (1, 5, 3, 4), optimize=True) + del tmp38 + tmp40 = tmp39.copy() * -1 + del tmp39 + tmp36 = einsum(v.ooov, (0, 1, 2, 3), t2, (4, 0, 5, 3), (4, 1, 2, 5), optimize=True) * -1 + tmp37 = einsum(t1, (0, 1), tmp36, (2, 0, 3, 4), (2, 3, 1, 4), optimize=True) + del tmp36 + tmp40 += tmp37 + del tmp37 + t2new += tmp40.transpose((1, 0, 3, 2)) + t2new += tmp40.transpose((1, 0, 2, 3)) * -1 + t2new += tmp40.transpose((0, 1, 3, 2)) * -1 + t2new += tmp40 + del tmp40 + tmp3 = einsum(t1, (0, 1), v.oovv, (2, 0, 3, 1), (2, 3), optimize=True) + tmp33 = einsum(tmp3, (0, 1), t1, (2, 1), (2, 0), optimize=True) + tmp34 = einsum(t2, (0, 1, 2, 3), tmp33, (4, 1), (4, 0, 2, 3), optimize=True) * -1 + del tmp33 + tmp35 = tmp34.transpose((0, 1, 3, 2)).copy() * -1 + del tmp34 + tmp6 = einsum(v.ooov, (0, 1, 2, 3), t1, (0, 3), (1, 2), optimize=True) * -1 + tmp32 = einsum(tmp6, (0, 1), t2, (2, 0, 3, 4), (2, 1, 3, 4), optimize=True) * -1 + tmp35 += tmp32.transpose((0, 1, 3, 2)) + del tmp32 + tmp31 = einsum(v.ovvv, (0, 1, 2, 3), t1, (4, 1), (4, 0, 2, 3), optimize=True) + tmp35 += tmp31.transpose((0, 1, 3, 2)) * -1 + del tmp31 + t2new += tmp35.transpose((1, 0, 2, 3)) + t2new += tmp35 * -1 + del tmp35 + tmp0 = einsum(t1, (0, 1), v.oovv, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) + tmp29 = einsum(t2, (0, 1, 2, 3), tmp0, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) + tmp30 = einsum(tmp29, (0, 1, 2, 3), t1, (2, 4), (0, 1, 4, 3), optimize=True) + del tmp29 + t2new += tmp30.transpose((1, 0, 3, 2)) * -1 + t2new += tmp30.transpose((1, 0, 2, 3)) + t2new += tmp30.transpose((0, 1, 3, 2)) + t2new += tmp30 * -1 + del tmp30 + tmp26 = einsum(v.ooov, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2), optimize=True) + tmp27 = einsum(tmp7, (0, 1, 2, 3), tmp26, (4, 0, 1, 5), (4, 5, 2, 3), optimize=True) * 0.5 + del tmp26 + tmp28 = tmp27.transpose((0, 1, 3, 2)).copy() * -1 + del tmp27 + tmp24 = einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 2, 3), (0, 4), optimize=True) * -1 + tmp25 = einsum(tmp24, (0, 1), t2, (2, 1, 3, 4), (2, 0, 3, 4), optimize=True) + del tmp24 + tmp28 += tmp25.transpose((0, 1, 3, 2)) * -0.5 + del tmp25 + tmp5 = einsum(t1, (0, 1), f.ov, (2, 1), (2, 0), optimize=True) + tmp23 = einsum(t2, (0, 1, 2, 3), tmp5, (1, 4), (4, 0, 2, 3), optimize=True) + tmp28 += tmp23.transpose((0, 1, 3, 2)) + del tmp23 + t2new += tmp28.transpose((1, 0, 2, 3)) + t2new += tmp28 * -1 + del tmp28 + tmp19 = einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 2, 3), (0, 1, 4, 5), optimize=True) + tmp20 = tmp19.transpose((2, 1, 0, 3)).copy() * 0.5 + del tmp19 + tmp18 = einsum(t2, (0, 1, 2, 3), f.ov, (4, 3), (4, 0, 1, 2), optimize=True) + tmp20 += tmp18.transpose((0, 2, 1, 3)) * -1 + del tmp18 + tmp21 = einsum(tmp20, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4), optimize=True) + del tmp20 + tmp22 = tmp21.transpose((1, 0, 3, 2)).copy() + del tmp21 + tmp16 = einsum(v.oovv, (0, 1, 2, 3), t2, (0, 1, 4, 2), (4, 3), optimize=True) * -1 + tmp17 = einsum(t2, (0, 1, 2, 3), tmp16, (4, 3), (0, 1, 2, 4), optimize=True) + del tmp16 + tmp22 += tmp17 * 0.5 + del tmp17 + t2new += tmp22.transpose((0, 1, 3, 2)) + t2new += tmp22 * -1 + del tmp22 + tmp13 = einsum(t2, (0, 1, 2, 3), tmp3, (4, 3), (0, 1, 4, 2), optimize=True) * -1 + tmp14 = einsum(t1, (0, 1), tmp13, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) + del tmp13 + tmp15 = tmp14.copy() * -1 + del tmp14 + tmp11 = einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 3, 5), (0, 4, 2, 5), optimize=True) + tmp12 = einsum(t2, (0, 1, 2, 3), tmp11, (4, 1, 5, 3), (0, 4, 2, 5), optimize=True) + del tmp11 + tmp15 += tmp12 + del tmp12 + tmp9 = einsum(t1, (0, 1), v.ovvv, (0, 2, 1, 3), (2, 3), optimize=True) * -1 + tmp10 = einsum(tmp9, (0, 1), t2, (2, 3, 4, 1), (2, 3, 4, 0), optimize=True) * -1 + del tmp9 + tmp15 += tmp10 + del tmp10 + t2new += tmp15.transpose((0, 1, 3, 2)) * -1 + t2new += tmp15 + del tmp15 + t2new += v.oovv.transpose((1, 0, 3, 2)) + tmp8 = einsum(tmp7, (0, 1, 2, 3), v.oovv, (0, 4, 2, 3), (4, 1), optimize=True) + del tmp7 + tmp8 += tmp6 * 2 + del tmp6 + tmp8 += tmp5 * 2 + del tmp5 + tmp8 += f.oo.transpose((1, 0)) * 2 + t1new = einsum(tmp8, (0, 1), t1, (0, 2), (1, 2), optimize=True) * -0.5 + del tmp8 + tmp4 = tmp3.copy() + del tmp3 + tmp4 += f.ov + t1new += einsum(t2, (0, 1, 2, 3), tmp4, (0, 2), (1, 3), optimize=True) + del tmp4 + t1new += einsum(v.ovvv, (0, 1, 2, 3), tmp2, (0, 4, 2, 3), (4, 1), optimize=True) + del tmp2 + tmp1 = tmp0.transpose((0, 2, 1, 3)).copy() * -1 + del tmp0 + tmp1 += v.ooov.transpose((2, 1, 0, 3)) + t1new += einsum(tmp1, (0, 1, 2, 3), t2, (1, 2, 3, 4), (0, 4), optimize=True) * -0.5 + del tmp1 + t1new += einsum(t1, (0, 1), f.vv, (2, 1), (0, 2), optimize=True) + t1new += f.ov + t1new += einsum(v.ovov, (0, 1, 2, 3), t1, (2, 1), (0, 3), optimize=True) * -1 + + return {f"t1new": t1new, f"t2new": t2new} + +def update_lams(f=None, l1=None, l2=None, t1=None, t2=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-03-02T15:24:59.466285. + + Parameters + ---------- + f : array + Fock matrix. + l1 : array + L1 amplitudes. + l2 : array + L2 amplitudes. + t1 : array + T1 amplitudes. + t2 : array + T2 amplitudes. + v : array + Electron repulsion integrals. + + Returns + ------- + l1new : array + Updated L1 residuals. + l2new : array + Updated L2 residuals. + """ + + tmp1 = einsum(l2, (0, 1, 2, 3), t1, (4, 1), (2, 3, 4, 0), optimize=True) + tmp2 = einsum(t1, (0, 1), tmp1, (2, 3, 4, 1), (2, 3, 0, 4), optimize=True) + tmp59 = tmp2.transpose((0, 1, 3, 2)).copy() * 2 + tmp0 = einsum(l2, (0, 1, 2, 3), t2, (4, 5, 0, 1), (2, 3, 4, 5), optimize=True) + tmp59 += tmp0.transpose((1, 0, 3, 2)) * -1 + l2new = einsum(v.oovv, (0, 1, 2, 3), tmp59, (4, 5, 0, 1), (3, 2, 5, 4), optimize=True) * -0.25 + del tmp59 + tmp5 = einsum(t1, (0, 1), v.oovv, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) + tmp11 = tmp5.transpose((2, 1, 0, 3)).copy() * 0.5 + tmp11 += v.ooov.transpose((1, 0, 2, 3)) * -1 + tmp58 = einsum(t1, (0, 1), tmp11, (2, 3, 4, 1), (4, 0, 3, 2), optimize=True) * -4 + tmp10 = einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 2, 3), (0, 1, 4, 5), optimize=True) + tmp58 += tmp10.transpose((1, 0, 3, 2)) + tmp58 += v.oooo.transpose((2, 3, 1, 0)) * -2 + l2new += einsum(l2, (0, 1, 2, 3), tmp58, (2, 3, 4, 5), (1, 0, 4, 5), optimize=True) * -0.25 + del tmp58 + l2new += einsum(f.ov, (0, 1), l1, (2, 3), (2, 1, 3, 0), optimize=True) + l2new += einsum(l1, (0, 1), f.ov, (2, 3), (3, 0, 1, 2), optimize=True) * -1 + l2new += einsum(l1, (0, 1), f.ov, (2, 3), (0, 3, 2, 1), optimize=True) * -1 + l2new += einsum(l1, (0, 1), f.ov, (2, 3), (3, 0, 2, 1), optimize=True) + tmp56 = einsum(v.ovvv, (0, 1, 2, 3), l1, (1, 4), (4, 0, 2, 3), optimize=True) + tmp57 = tmp56.transpose((0, 1, 3, 2)).copy() + del tmp56 + tmp55 = einsum(f.oo, (0, 1), l2, (2, 3, 4, 1), (0, 4, 2, 3), optimize=True) + tmp57 += tmp55.transpose((0, 1, 3, 2)) * -1 + del tmp55 + l2new += tmp57.transpose((2, 3, 1, 0)) * -1 + l2new += tmp57.transpose((2, 3, 0, 1)) + del tmp57 + tmp4 = einsum(v.ovvv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2), optimize=True) + tmp52 = tmp4.copy() + tmp52 += v.ovov.transpose((2, 0, 1, 3)) * -1 + tmp53 = einsum(tmp52, (0, 1, 2, 3), l2, (2, 4, 0, 5), (1, 5, 3, 4), optimize=True) + del tmp52 + tmp54 = tmp53.transpose((1, 0, 3, 2)).copy() + del tmp53 + tmp51 = einsum(tmp1, (0, 1, 2, 3), v.ooov, (4, 2, 1, 5), (0, 4, 3, 5), optimize=True) + tmp54 += tmp51 + del tmp51 + tmp7 = einsum(t1, (0, 1), v.oovv, (2, 0, 3, 1), (2, 3), optimize=True) + tmp54 += einsum(l1, (0, 1), tmp7, (2, 3), (1, 2, 0, 3), optimize=True) + l2new += tmp54.transpose((3, 2, 1, 0)) + l2new += tmp54.transpose((2, 3, 1, 0)) * -1 + l2new += tmp54.transpose((3, 2, 0, 1)) * -1 + l2new += tmp54.transpose((2, 3, 0, 1)) + del tmp54 + tmp49 = einsum(tmp7, (0, 1), tmp1, (2, 3, 0, 4), (2, 3, 4, 1), optimize=True) + tmp50 = tmp49.copy() + del tmp49 + tmp48 = einsum(f.vv, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2), optimize=True) + tmp50 += tmp48.transpose((1, 0, 2, 3)) * -1 + del tmp48 + l2new += tmp50.transpose((3, 2, 0, 1)) + l2new += tmp50.transpose((2, 3, 0, 1)) * -1 + del tmp50 + tmp46 = einsum(tmp7, (0, 1), t1, (2, 1), (2, 0), optimize=True) + tmp47 = einsum(l2, (0, 1, 2, 3), tmp46, (3, 4), (2, 4, 0, 1), optimize=True) + del tmp46 + l2new += tmp47.transpose((2, 3, 1, 0)) + l2new += tmp47.transpose((2, 3, 0, 1)) * -1 + del tmp47 + tmp6 = tmp5.transpose((0, 2, 1, 3)).copy() * -1 + tmp6 += v.ooov.transpose((2, 1, 0, 3)) + tmp44 = einsum(tmp6, (0, 1, 2, 3), l1, (4, 0), (1, 2, 3, 4), optimize=True) + tmp45 = tmp44.transpose((1, 0, 3, 2)).copy() + del tmp44 + tmp41 = einsum(t2, (0, 1, 2, 3), v.oovv, (0, 1, 4, 2), (3, 4), optimize=True) * -1 + tmp42 = tmp41.copy() * 0.5 + del tmp41 + tmp24 = einsum(v.ovvv, (0, 1, 2, 3), t1, (0, 3), (1, 2), optimize=True) + tmp42 += tmp24 + tmp43 = einsum(l2, (0, 1, 2, 3), tmp42, (0, 4), (2, 3, 4, 1), optimize=True) + del tmp42 + tmp45 += tmp43.transpose((1, 0, 3, 2)) + del tmp43 + tmp17 = einsum(l2, (0, 1, 2, 3), t2, (2, 3, 0, 4), (1, 4), optimize=True) + tmp40 = einsum(tmp17, (0, 1), v.oovv, (2, 3, 4, 1), (3, 2, 0, 4), optimize=True) + tmp45 += tmp40 * 0.5 + del tmp40 + tmp39 = einsum(f.ov, (0, 1), tmp1, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) + tmp45 += tmp39 * -1 + del tmp39 + l2new += tmp45.transpose((3, 2, 0, 1)) + l2new += tmp45.transpose((2, 3, 0, 1)) * -1 + del tmp45 + tmp27 = einsum(v.oovv, (0, 1, 2, 3), t2, (1, 4, 2, 3), (4, 0), optimize=True) * -1 + tmp36 = tmp27.transpose((1, 0)).copy() + tmp26 = einsum(v.ooov, (0, 1, 2, 3), t1, (1, 3), (0, 2), optimize=True) + tmp36 += tmp26 * 2 + tmp37 = einsum(l2, (0, 1, 2, 3), tmp36, (4, 2), (4, 3, 0, 1), optimize=True) * 0.5 + del tmp36 + tmp38 = tmp37.transpose((1, 0, 3, 2)).copy() + del tmp37 + tmp20 = einsum(l2, (0, 1, 2, 3), t2, (2, 4, 0, 1), (3, 4), optimize=True) + tmp23 = tmp20.copy() * 0.5 + tmp19 = einsum(t1, (0, 1), l1, (1, 2), (2, 0), optimize=True) + tmp23 += tmp19 + tmp35 = einsum(tmp23, (0, 1), v.oovv, (1, 2, 3, 4), (0, 2, 3, 4), optimize=True) + tmp38 += tmp35.transpose((0, 1, 3, 2)) * -1 + del tmp35 + tmp33 = einsum(t1, (0, 1), f.ov, (2, 1), (2, 0), optimize=True) + tmp34 = einsum(tmp33, (0, 1), l2, (2, 3, 4, 1), (0, 4, 2, 3), optimize=True) + del tmp33 + tmp38 += tmp34.transpose((0, 1, 3, 2)) + del tmp34 + l2new += tmp38.transpose((3, 2, 1, 0)) * -1 + l2new += tmp38.transpose((3, 2, 0, 1)) + del tmp38 + tmp31 = einsum(tmp1, (0, 1, 2, 3), tmp5, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) * -1 + del tmp5 + tmp32 = tmp31.copy() * -1 + del tmp31 + tmp29 = einsum(v.oovv, (0, 1, 2, 3), t2, (1, 4, 2, 5), (4, 0, 5, 3), optimize=True) * -1 + tmp30 = einsum(tmp29, (0, 1, 2, 3), l2, (4, 2, 0, 5), (5, 1, 4, 3), optimize=True) * -1 + del tmp29 + tmp32 += tmp30 + del tmp30 + l2new += tmp32.transpose((3, 2, 1, 0)) + l2new += tmp32.transpose((2, 3, 1, 0)) * -1 + l2new += tmp32.transpose((3, 2, 0, 1)) * -1 + l2new += tmp32.transpose((2, 3, 0, 1)) + del tmp32 + l2new += einsum(tmp1, (0, 1, 2, 3), v.ovvv, (2, 3, 4, 5), (4, 5, 0, 1), optimize=True) + l2new += v.oovv.transpose((3, 2, 1, 0)) + l2new += einsum(l2, (0, 1, 2, 3), v.vvvv, (4, 5, 0, 1), (5, 4, 3, 2), optimize=True) * 0.5 + tmp8 = tmp7.copy() + del tmp7 + tmp8 += f.ov + l1new = einsum(tmp23, (0, 1), tmp8, (1, 2), (2, 0), optimize=True) * -1 + tmp28 = einsum(tmp8, (0, 1), t1, (2, 1), (2, 0), optimize=True) + tmp28 += tmp27 * 0.5 + del tmp27 + tmp28 += tmp26.transpose((1, 0)) + del tmp26 + tmp28 += f.oo.transpose((1, 0)) + l1new += einsum(l1, (0, 1), tmp28, (1, 2), (0, 2), optimize=True) * -1 + del tmp28 + tmp25 = tmp24.copy() * -1 + del tmp24 + tmp25 += f.vv.transpose((1, 0)) + l1new += einsum(l1, (0, 1), tmp25, (0, 2), (2, 1), optimize=True) + del tmp25 + l1new += einsum(v.ooov, (0, 1, 2, 3), tmp23, (2, 0), (3, 1), optimize=True) * -1 + del tmp23 + tmp21 = tmp20.copy() + del tmp20 + tmp21 += tmp19 * 2 + del tmp19 + tmp22 = einsum(t1, (0, 1), tmp21, (0, 2), (2, 1), optimize=True) * 0.5 + del tmp21 + tmp22 += einsum(tmp1, (0, 1, 2, 3), t2, (0, 1, 3, 4), (2, 4), optimize=True) * 0.5 + tmp22 += einsum(l1, (0, 1), t2, (2, 1, 3, 0), (2, 3), optimize=True) * -1 + tmp22 += t1 * -1 + l1new += einsum(v.oovv, (0, 1, 2, 3), tmp22, (0, 2), (3, 1), optimize=True) * -1 + del tmp22 + tmp18 = tmp17.copy() * 0.5 + del tmp17 + tmp18 += einsum(t1, (0, 1), l1, (2, 0), (2, 1), optimize=True) + l1new += einsum(tmp18, (0, 1), v.ovvv, (2, 0, 1, 3), (3, 2), optimize=True) * -1 + del tmp18 + tmp15 = tmp2.transpose((0, 1, 3, 2)).copy() + tmp15 += tmp0.transpose((1, 0, 3, 2)) * -0.5 + tmp16 = einsum(t1, (0, 1), tmp15, (0, 2, 3, 4), (2, 4, 3, 1), optimize=True) * -0.5 + del tmp15 + tmp16 += einsum(tmp1, (0, 1, 2, 3), t2, (4, 1, 5, 3), (0, 4, 2, 5), optimize=True) * -1 + tmp16 += einsum(t2, (0, 1, 2, 3), l1, (3, 4), (4, 1, 0, 2), optimize=True) * -0.5 + l1new += einsum(tmp16, (0, 1, 2, 3), v.oovv, (1, 2, 3, 4), (4, 0), optimize=True) * -1 + del tmp16 + tmp14 = einsum(v.vvvv, (0, 1, 2, 3), t1, (4, 1), (4, 0, 3, 2), optimize=True) + tmp14 += v.ovvv.transpose((0, 1, 3, 2)) * -1 + l1new += einsum(l2, (0, 1, 2, 3), tmp14, (2, 4, 0, 1), (4, 3), optimize=True) * 0.5 + del tmp14 + tmp12 = einsum(tmp11, (0, 1, 2, 3), t1, (4, 3), (1, 0, 4, 2), optimize=True) * -1 + del tmp11 + tmp12 += tmp10.transpose((3, 2, 1, 0)) * -0.25 + del tmp10 + tmp12 += v.oooo.transpose((2, 3, 1, 0)) * 0.5 + tmp13 = einsum(t1, (0, 1), tmp12, (0, 2, 3, 4), (2, 4, 3, 1), optimize=True) * -1 + del tmp12 + tmp9 = tmp4.transpose((0, 1, 3, 2)).copy() * -0.5 + tmp9 += v.ovov.transpose((2, 0, 3, 1)) + tmp13 += einsum(tmp9, (0, 1, 2, 3), t1, (4, 2), (1, 0, 4, 3), optimize=True) * -1 + del tmp9 + tmp13 += einsum(tmp8, (0, 1), t2, (2, 3, 1, 4), (0, 3, 2, 4), optimize=True) * 0.5 + del tmp8 + tmp13 += einsum(t2, (0, 1, 2, 3), tmp6, (4, 0, 5, 2), (5, 1, 4, 3), optimize=True) + del tmp6 + tmp13 += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 2, 3), (4, 1, 0, 5), optimize=True) * 0.25 + tmp13 += v.ooov.transpose((2, 1, 0, 3)) * 0.5 + l1new += einsum(tmp13, (0, 1, 2, 3), l2, (3, 4, 1, 2), (4, 0), optimize=True) * -1 + del tmp13 + l1new += einsum(v.ovov, (0, 1, 2, 3), tmp1, (4, 0, 2, 3), (1, 4), optimize=True) * -1 + l1new += f.ov.transpose((1, 0)) + l1new += einsum(tmp4, (0, 1, 2, 3), tmp1, (4, 0, 1, 2), (3, 4), optimize=True) + del tmp1, tmp4 + tmp3 = einsum(t2, (0, 1, 2, 3), l2, (4, 3, 1, 5), (5, 0, 4, 2), optimize=True) * -1 + l1new += einsum(tmp3, (0, 1, 2, 3), v.ovvv, (1, 2, 4, 3), (4, 0), optimize=True) * -1 + del tmp3 + l1new += einsum(v.ovov, (0, 1, 2, 3), l1, (1, 2), (3, 0), optimize=True) * -1 + l1new += einsum(v.ooov, (0, 1, 2, 3), tmp2, (4, 2, 1, 0), (3, 4), optimize=True) * 0.5 + del tmp2 + l1new += einsum(v.ooov, (0, 1, 2, 3), tmp0, (4, 2, 0, 1), (3, 4), optimize=True) * -0.25 + del tmp0 + + return {f"l1new": l1new, f"l2new": l2new} + +def make_rdm1_f(l1=None, l2=None, t1=None, t2=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-03-02T15:24:59.948892. + + Parameters + ---------- + l1 : array + L1 amplitudes. + l2 : array + L2 amplitudes. + t1 : array + T1 amplitudes. + t2 : array + T2 amplitudes. + + Returns + ------- + rdm1 : array + One-particle reduced density matrix. + """ + + rdm1 = Namespace() + delta = Namespace( + oo=np.eye(t1.shape[0]), + vv=np.eye(t1.shape[1]), + ) + rdm1.vv = einsum(l2, (0, 1, 2, 3), t2, (2, 3, 4, 0), (1, 4), optimize=True) * -0.5 + rdm1.vv += einsum(t1, (0, 1), l1, (2, 0), (2, 1), optimize=True) + rdm1.vo = l1.copy() + tmp0 = einsum(l2, (0, 1, 2, 3), t2, (4, 3, 0, 1), (2, 4), optimize=True) + tmp3 = tmp0.copy() * 0.5 + tmp1 = einsum(t1, (0, 1), l1, (1, 2), (2, 0), optimize=True) + tmp3 += tmp1 + rdm1.ov = einsum(t1, (0, 1), tmp3, (0, 2), (2, 1), optimize=True) * -1 + del tmp3 + rdm1.ov += einsum(l1, (0, 1), t2, (2, 1, 3, 0), (2, 3), optimize=True) + rdm1.ov += t1 + tmp2 = einsum(l2, (0, 1, 2, 3), t1, (4, 1), (2, 3, 4, 0), optimize=True) + rdm1.ov += einsum(tmp2, (0, 1, 2, 3), t2, (0, 1, 4, 3), (2, 4), optimize=True) * 0.5 + del tmp2 + rdm1.oo = tmp1.transpose((1, 0)).copy() * -1 + del tmp1 + rdm1.oo += delta.oo.transpose((1, 0)) + del delta + rdm1.oo += tmp0.transpose((1, 0)) * -0.5 + del tmp0 + rdm1 = np.block([[rdm1.oo, rdm1.ov], [rdm1.vo, rdm1.vv]]) + + return rdm1 + +def make_rdm2_f(l1=None, l2=None, t1=None, t2=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-03-02T15:25:08.561385. + + Parameters + ---------- + l1 : array + L1 amplitudes. + l2 : array + L2 amplitudes. + t1 : array + T1 amplitudes. + t2 : array + T2 amplitudes. + + Returns + ------- + rdm2 : array + Two-particle reduced density matrix. + """ + + rdm2 = Namespace() + delta = Namespace( + oo=np.eye(t1.shape[0]), + vv=np.eye(t1.shape[1]), + ) + tmp38 = einsum(l2, (0, 1, 2, 3), t1, (3, 4), (2, 0, 1, 4), optimize=True) + rdm2.vvvv = einsum(tmp38, (0, 1, 2, 3), t1, (0, 4), (1, 2, 4, 3), optimize=True) + rdm2.vvvv += einsum(l2, (0, 1, 2, 3), t2, (2, 3, 4, 5), (1, 0, 5, 4), optimize=True) * 0.5 + rdm2.vvvo = tmp38.transpose((2, 1, 3, 0)).copy() + rdm2.vvov = tmp38.transpose((2, 1, 0, 3)).copy() * -1 + del tmp38 + tmp15 = einsum(t2, (0, 1, 2, 3), l2, (3, 4, 5, 1), (5, 0, 4, 2), optimize=True) * -1 + tmp36 = einsum(t1, (0, 1), tmp15, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) + rdm2.vovv = tmp36.transpose((1, 0, 3, 2)).copy() * -1 + rdm2.vovv += tmp36.transpose((1, 0, 2, 3)) + tmp18 = einsum(l2, (0, 1, 2, 3), t2, (2, 3, 4, 0), (1, 4), optimize=True) * -1 + tmp31 = tmp18.copy() * 0.5 + tmp30 = einsum(t1, (0, 1), l1, (2, 0), (2, 1), optimize=True) + tmp31 += tmp30 + rdm2.vovv += einsum(t1, (0, 1), tmp31, (2, 3), (2, 0, 3, 1), optimize=True) + rdm2.vovv += einsum(t1, (0, 1), tmp31, (2, 3), (2, 0, 1, 3), optimize=True) * -1 + tmp1 = einsum(l2, (0, 1, 2, 3), t1, (4, 1), (2, 3, 4, 0), optimize=True) + tmp29 = einsum(tmp1, (0, 1, 2, 3), t1, (1, 4), (0, 2, 3, 4), optimize=True) + tmp35 = einsum(tmp29, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4), optimize=True) * -1 + rdm2.vovv += tmp35.transpose((1, 0, 3, 2)) + tmp34 = einsum(t2, (0, 1, 2, 3), tmp1, (0, 1, 4, 5), (4, 5, 2, 3), optimize=True) + rdm2.vovv += tmp34.transpose((1, 0, 3, 2)) * 0.5 + tmp33 = einsum(l1, (0, 1), t2, (2, 1, 3, 4), (2, 0, 3, 4), optimize=True) + rdm2.vovv += tmp33.transpose((1, 0, 3, 2)) + tmp37 = einsum(t1, (0, 1), tmp18, (2, 3), (0, 2, 1, 3), optimize=True) * -0.5 + tmp37 += tmp36 + del tmp36 + rdm2.ovvv = tmp37.transpose((0, 1, 3, 2)).copy() + rdm2.ovvv += tmp37 * -1 + del tmp37 + rdm2.ovvv += einsum(tmp30, (0, 1), t1, (2, 3), (2, 0, 1, 3), optimize=True) * -1 + rdm2.ovvv += einsum(t1, (0, 1), tmp30, (2, 3), (0, 2, 1, 3), optimize=True) + rdm2.ovvv += tmp35.transpose((0, 1, 3, 2)) * -1 + del tmp35 + rdm2.ovvv += tmp34.transpose((0, 1, 3, 2)) * -0.5 + del tmp34 + rdm2.ovvv += tmp33.transpose((0, 1, 3, 2)) * -1 + del tmp33 + rdm2.vvoo = l2.transpose((1, 0, 3, 2)).copy() + tmp32 = tmp18.copy() + tmp32 += tmp30 * 2 + del tmp30 + rdm2.vovo = einsum(tmp32, (0, 1), delta.oo, (2, 3), (0, 3, 1, 2), optimize=True) * 0.5 + rdm2.vovo += einsum(t1, (0, 1), l1, (2, 3), (2, 0, 1, 3), optimize=True) * -1 + rdm2.vovo += tmp29.transpose((2, 1, 3, 0)) + rdm2.vovo += tmp15.transpose((2, 1, 3, 0)) * -1 + rdm2.voov = einsum(tmp32, (0, 1), delta.oo, (2, 3), (0, 3, 2, 1), optimize=True) * -0.5 + del tmp32 + rdm2.voov += einsum(t1, (0, 1), l1, (2, 3), (2, 0, 3, 1), optimize=True) + rdm2.voov += tmp29.transpose((2, 1, 0, 3)) * -1 + rdm2.voov += tmp15.transpose((2, 1, 0, 3)) + rdm2.ovvo = einsum(tmp31, (0, 1), delta.oo, (2, 3), (3, 0, 1, 2), optimize=True) * -1 + rdm2.ovvo += einsum(t1, (0, 1), l1, (2, 3), (0, 2, 1, 3), optimize=True) + rdm2.ovvo += tmp29.transpose((1, 2, 3, 0)) * -1 + rdm2.ovvo += tmp15.transpose((1, 2, 3, 0)) + rdm2.ovov = einsum(tmp31, (0, 1), delta.oo, (2, 3), (3, 0, 2, 1), optimize=True) + del tmp31 + rdm2.ovov += einsum(t1, (0, 1), l1, (2, 3), (0, 2, 3, 1), optimize=True) * -1 + rdm2.ovov += tmp29.transpose((1, 2, 0, 3)) + del tmp29 + rdm2.ovov += tmp15.transpose((1, 2, 0, 3)) * -1 + tmp2 = einsum(t1, (0, 1), tmp1, (2, 3, 4, 1), (2, 3, 0, 4), optimize=True) + tmp12 = tmp2.transpose((0, 1, 3, 2)).copy() + tmp0 = einsum(l2, (0, 1, 2, 3), t2, (4, 5, 0, 1), (2, 3, 4, 5), optimize=True) + tmp12 += tmp0.transpose((1, 0, 3, 2)) * -0.5 + tmp28 = einsum(t1, (0, 1), tmp12, (0, 2, 3, 4), (2, 4, 3, 1), optimize=True) * -2 + rdm2.oovv = einsum(tmp28, (0, 1, 2, 3), t1, (0, 4), (1, 2, 4, 3), optimize=True) * 0.5 + del tmp28 + rdm2.oovv += einsum(t2, (0, 1, 2, 3), tmp12, (0, 1, 4, 5), (5, 4, 3, 2), optimize=True) * -0.5 + rdm2.oovv += einsum(t1, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) + rdm2.oovv += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 3, 1), optimize=True) * -1 + tmp4 = einsum(t1, (0, 1), l1, (1, 2), (2, 0), optimize=True) + tmp27 = einsum(tmp4, (0, 1), t2, (2, 0, 3, 4), (1, 2, 3, 4), optimize=True) + rdm2.oovv += tmp27.transpose((1, 0, 3, 2)) + rdm2.oovv += tmp27.transpose((0, 1, 3, 2)) * -1 + del tmp27 + tmp3 = einsum(l2, (0, 1, 2, 3), t2, (4, 3, 0, 1), (2, 4), optimize=True) + tmp25 = einsum(t1, (0, 1), tmp3, (0, 2), (2, 1), optimize=True) + tmp26 = tmp25.copy() + del tmp25 + tmp8 = einsum(tmp1, (0, 1, 2, 3), t2, (0, 1, 4, 3), (2, 4), optimize=True) * -1 + tmp26 += tmp8 + rdm2.oovv += einsum(tmp26, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) * -0.5 + rdm2.oovv += einsum(t1, (0, 1), tmp26, (2, 3), (2, 0, 1, 3), optimize=True) * 0.5 + rdm2.oovv += einsum(t1, (0, 1), tmp26, (2, 3), (0, 2, 3, 1), optimize=True) * 0.5 + rdm2.oovv += einsum(tmp26, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) * -0.5 + del tmp26 + tmp22 = einsum(t1, (0, 1), tmp4, (0, 2), (2, 1), optimize=True) + tmp23 = tmp22.copy() * -1 + del tmp22 + tmp7 = einsum(l1, (0, 1), t2, (2, 1, 3, 0), (2, 3), optimize=True) + tmp23 += tmp7 + tmp24 = einsum(tmp23, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) * -1 + del tmp23 + tmp6 = einsum(tmp1, (0, 1, 2, 3), t2, (4, 1, 5, 3), (0, 2, 4, 5), optimize=True) * -1 + tmp21 = einsum(tmp6, (0, 1, 2, 3), t1, (0, 4), (1, 2, 4, 3), optimize=True) + tmp24 += tmp21 + del tmp21 + rdm2.oovv += tmp24.transpose((1, 0, 3, 2)) * -1 + rdm2.oovv += tmp24.transpose((1, 0, 2, 3)) + rdm2.oovv += tmp24.transpose((0, 1, 3, 2)) + rdm2.oovv += tmp24 * -1 + del tmp24 + tmp20 = einsum(t2, (0, 1, 2, 3), tmp3, (1, 4), (0, 4, 2, 3), optimize=True) + rdm2.oovv += tmp20.transpose((1, 0, 3, 2)) * -0.5 + rdm2.oovv += tmp20.transpose((0, 1, 3, 2)) * 0.5 + del tmp20 + tmp19 = einsum(tmp18, (0, 1), t2, (2, 3, 4, 0), (2, 3, 4, 1), optimize=True) + del tmp18 + rdm2.oovv += tmp19.transpose((0, 1, 3, 2)) * 0.5 + rdm2.oovv += tmp19 * -0.5 + del tmp19 + tmp16 = einsum(t2, (0, 1, 2, 3), tmp15, (1, 4, 3, 5), (0, 4, 2, 5), optimize=True) + del tmp15 + tmp17 = tmp16.copy() + del tmp16 + tmp5 = einsum(t2, (0, 1, 2, 3), l1, (3, 4), (4, 0, 1, 2), optimize=True) + tmp14 = einsum(tmp5, (0, 1, 2, 3), t1, (0, 4), (1, 2, 4, 3), optimize=True) + tmp17 += tmp14 + del tmp14 + rdm2.oovv += tmp17.transpose((0, 1, 3, 2)) * -1 + rdm2.oovv += tmp17 + del tmp17 + rdm2.oovv += t2.transpose((1, 0, 3, 2)) + rdm2.vooo = einsum(l1, (0, 1), delta.oo, (2, 3), (0, 3, 2, 1), optimize=True) * -1 + rdm2.vooo += einsum(l1, (0, 1), delta.oo, (2, 3), (0, 3, 1, 2), optimize=True) + rdm2.vooo += tmp1.transpose((3, 2, 1, 0)) + rdm2.ovoo = einsum(l1, (0, 1), delta.oo, (2, 3), (3, 0, 2, 1), optimize=True) + rdm2.ovoo += einsum(l1, (0, 1), delta.oo, (2, 3), (3, 0, 1, 2), optimize=True) * -1 + rdm2.ovoo += tmp1.transpose((2, 3, 1, 0)) * -1 + del tmp1 + tmp13 = tmp2.transpose((0, 1, 3, 2)).copy() * 2 + tmp13 += tmp0.transpose((1, 0, 3, 2)) * -1 + rdm2.oovo = einsum(t1, (0, 1), tmp13, (0, 2, 3, 4), (4, 3, 1, 2), optimize=True) * 0.5 + del tmp13 + rdm2.oovo += einsum(tmp4, (0, 1), t1, (2, 3), (1, 2, 3, 0), optimize=True) + rdm2.oovo += einsum(tmp4, (0, 1), t1, (2, 3), (2, 1, 3, 0), optimize=True) * -1 + tmp9 = tmp3.copy() + tmp9 += tmp4 * 2 + tmp10 = einsum(t1, (0, 1), tmp9, (0, 2), (2, 1), optimize=True) * 0.5 + del tmp9 + tmp11 = tmp10.copy() + del tmp10 + tmp11 += tmp8 * 0.5 + del tmp8 + tmp11 += tmp7 * -1 + del tmp7 + rdm2.oovo += einsum(tmp11, (0, 1), delta.oo, (2, 3), (2, 0, 1, 3), optimize=True) + rdm2.oovo += einsum(tmp11, (0, 1), delta.oo, (2, 3), (0, 3, 1, 2), optimize=True) * -1 + rdm2.oovo += einsum(t1, (0, 1), tmp3, (2, 3), (3, 0, 1, 2), optimize=True) * 0.5 + rdm2.oovo += einsum(tmp3, (0, 1), t1, (2, 3), (2, 1, 3, 0), optimize=True) * -0.5 + rdm2.oovo += tmp6.transpose((2, 1, 3, 0)) * -1 + rdm2.oovo += tmp6.transpose((1, 2, 3, 0)) + rdm2.oovo += einsum(t1, (0, 1), delta.oo, (2, 3), (3, 0, 1, 2), optimize=True) * -1 + rdm2.oovo += einsum(delta.oo, (0, 1), t1, (2, 3), (2, 1, 3, 0), optimize=True) + rdm2.oovo += tmp5.transpose((2, 1, 3, 0)) + rdm2.ooov = einsum(t1, (0, 1), tmp12, (0, 2, 3, 4), (4, 3, 2, 1), optimize=True) * -1 + del tmp12 + rdm2.ooov += einsum(tmp4, (0, 1), t1, (2, 3), (1, 2, 0, 3), optimize=True) * -1 + rdm2.ooov += einsum(tmp4, (0, 1), t1, (2, 3), (2, 1, 0, 3), optimize=True) + rdm2.ooov += einsum(tmp11, (0, 1), delta.oo, (2, 3), (2, 0, 3, 1), optimize=True) * -1 + rdm2.ooov += einsum(tmp11, (0, 1), delta.oo, (2, 3), (0, 3, 2, 1), optimize=True) + del tmp11 + rdm2.ooov += einsum(t1, (0, 1), tmp3, (2, 3), (3, 0, 2, 1), optimize=True) * -0.5 + rdm2.ooov += einsum(tmp3, (0, 1), t1, (2, 3), (2, 1, 0, 3), optimize=True) * 0.5 + rdm2.ooov += tmp6.transpose((2, 1, 0, 3)) + rdm2.ooov += tmp6.transpose((1, 2, 0, 3)) * -1 + del tmp6 + rdm2.ooov += einsum(t1, (0, 1), delta.oo, (2, 3), (3, 0, 2, 1), optimize=True) + rdm2.ooov += einsum(delta.oo, (0, 1), t1, (2, 3), (2, 1, 0, 3), optimize=True) * -1 + rdm2.ooov += tmp5.transpose((2, 1, 0, 3)) * -1 + del tmp5 + rdm2.oooo = einsum(tmp4, (0, 1), delta.oo, (2, 3), (3, 1, 2, 0), optimize=True) * -1 + rdm2.oooo += einsum(delta.oo, (0, 1), tmp4, (2, 3), (3, 1, 0, 2), optimize=True) + rdm2.oooo += einsum(delta.oo, (0, 1), tmp4, (2, 3), (1, 3, 2, 0), optimize=True) + rdm2.oooo += einsum(tmp4, (0, 1), delta.oo, (2, 3), (1, 3, 0, 2), optimize=True) * -1 + del tmp4 + rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (3, 0, 1, 2), optimize=True) * -1 + rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (3, 1, 2, 0), optimize=True) + rdm2.oooo += einsum(delta.oo, (0, 1), tmp3, (2, 3), (0, 3, 1, 2), optimize=True) * -0.5 + rdm2.oooo += einsum(delta.oo, (0, 1), tmp3, (2, 3), (3, 1, 0, 2), optimize=True) * 0.5 + rdm2.oooo += einsum(delta.oo, (0, 1), tmp3, (2, 3), (0, 3, 2, 1), optimize=True) * 0.5 + rdm2.oooo += einsum(delta.oo, (0, 1), tmp3, (2, 3), (3, 1, 2, 0), optimize=True) * -0.5 + del delta, tmp3 + rdm2.oooo += tmp2.transpose((2, 3, 1, 0)) * -1 + del tmp2 + rdm2.oooo += tmp0.transpose((3, 2, 1, 0)) * 0.5 + del tmp0 + rdm2 = pack_2e(rdm2.oooo, rdm2.ooov, rdm2.oovo, rdm2.ovoo, rdm2.vooo, rdm2.oovv, rdm2.ovov, rdm2.ovvo, rdm2.voov, rdm2.vovo, rdm2.vvoo, rdm2.ovvv, rdm2.vovv, rdm2.vvov, rdm2.vvvo, rdm2.vvvv) + rdm2 = rdm2.swapaxes(1, 2) + + return rdm2 + diff --git a/ebcc/codegen/RCCSD.py b/ebcc/codegen/RCCSD.py new file mode 100644 index 00000000..e8a540b1 --- /dev/null +++ b/ebcc/codegen/RCCSD.py @@ -0,0 +1,1426 @@ +""" +Code generated by `albert`: +https://github.com/obackhouse/albert + + * date: 2024-03-02T15:24:42.798019 + * python version: 3.10.12 (main, Nov 20 2023, 15:14:05) [GCC 11.4.0] + * albert version: 0.0.0 + * caller: /home/ollie/git/albert/albert/codegen/einsum.py + * node: ollie-desktop + * system: Linux + * processor: x86_64 + * release: 6.5.0-21-generic +""" + +from ebcc import numpy as np +from ebcc.util import pack_2e, einsum, Namespace + + +def energy(f=None, t1=None, t2=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-03-02T15:24:43.336038. + + Parameters + ---------- + f : array + Fock matrix. + t1 : array + T1 amplitudes. + t2 : array + T2 amplitudes. + v : array + Electron repulsion integrals. + + Returns + ------- + e_cc : float + Coupled cluster energy. + """ + + tmp0 = v.ovov.transpose((2, 0, 3, 1)).copy() + tmp0 += v.ovov.transpose((2, 0, 1, 3)) * -0.5 + tmp1 = einsum(tmp0, (0, 1, 2, 3), t1, (0, 2), (1, 3), optimize=True) + del tmp0 + tmp1 += f.ov + e_cc = einsum(tmp1, (0, 1), t1, (0, 1), (), optimize=True) * 2 + del tmp1 + e_cc += einsum(v.ovov, (0, 1, 2, 3), t2, (0, 2, 3, 1), (), optimize=True) * -1 + e_cc += einsum(v.ovov, (0, 1, 2, 3), t2, (0, 2, 1, 3), (), optimize=True) * 2 + + return e_cc + +def update_amps(f=None, t1=None, t2=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-03-02T15:24:55.456799. + + Parameters + ---------- + f : array + Fock matrix. + t1 : array + T1 amplitudes. + t2 : array + T2 amplitudes. + v : array + Electron repulsion integrals. + + Returns + ------- + t1new : array + Updated T1 residuals. + t2new : array + Updated T2 residuals. + """ + + tmp18 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 0, 1, 5), (4, 2, 5, 3), optimize=True) + tmp73 = tmp18.copy() + tmp73 += v.ovov.transpose((2, 0, 3, 1)) * -1 + t2new = einsum(t2, (0, 1, 2, 3), tmp73, (4, 0, 5, 3), (1, 4, 2, 5), optimize=True) + del tmp73 + tmp72 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 0, 3, 5), (4, 2, 5, 1), optimize=True) + tmp72 += v.oovv.transpose((1, 0, 3, 2)) * -1 + t2new += einsum(tmp72, (0, 1, 2, 3), t2, (1, 4, 5, 3), (4, 0, 2, 5), optimize=True) + del tmp72 + tmp1 = einsum(v.ovov, (0, 1, 2, 3), t1, (4, 3), (4, 0, 2, 1), optimize=True) + tmp17 = einsum(tmp1, (0, 1, 2, 3), t1, (4, 3), (0, 4, 2, 1), optimize=True) + tmp70 = tmp17.transpose((3, 1, 0, 2)).copy() + tmp68 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 3, 5, 2), (0, 1, 5, 4), optimize=True) + tmp70 += tmp68.transpose((3, 1, 0, 2)) + tmp70 += v.oooo.transpose((2, 3, 1, 0)) + tmp71 = einsum(t1, (0, 1), tmp70, (0, 2, 3, 4), (3, 2, 4, 1), optimize=True) + del tmp70 + tmp71 += v.ooov.transpose((1, 2, 0, 3)) * -1 + t2new += einsum(tmp71, (0, 1, 2, 3), t1, (2, 4), (0, 1, 4, 3), optimize=True) + del tmp71 + tmp69 = tmp68.transpose((3, 1, 2, 0)).copy() + del tmp68 + tmp69 += v.oooo.transpose((2, 3, 1, 0)) + t2new += einsum(t2, (0, 1, 2, 3), tmp69, (0, 4, 1, 5), (4, 5, 2, 3), optimize=True) + del tmp69 + tmp3 = v.ovov.transpose((2, 0, 3, 1)).copy() * 2 + tmp3 += v.ovov.transpose((2, 0, 1, 3)) * -1 + tmp38 = einsum(t2, (0, 1, 2, 3), tmp3, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) + tmp67 = tmp38.transpose((1, 0, 3, 2)).copy() * 2 + tmp67 += v.oovv.transpose((1, 0, 3, 2)) * -1 + tmp67 += v.ovov.transpose((2, 0, 3, 1)) * 2 + t2new += einsum(tmp67, (0, 1, 2, 3), t2, (1, 4, 3, 5), (0, 4, 2, 5), optimize=True) + del tmp67 + tmp65 = einsum(v.ooov, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2), optimize=True) + tmp66 = einsum(tmp65, (0, 1, 2, 3), t2, (3, 2, 4, 5), (0, 1, 5, 4), optimize=True) + del tmp65 + t2new += tmp66.transpose((1, 0, 2, 3)) + t2new += tmp66.transpose((0, 1, 3, 2)) + del tmp66 + tmp61 = einsum(f.ov, (0, 1), t1, (2, 1), (0, 2), optimize=True) + tmp62 = tmp61.copy() + del tmp61 + tmp62 += f.oo.transpose((1, 0)) + tmp63 = einsum(tmp62, (0, 1), t2, (0, 2, 3, 4), (1, 2, 3, 4), optimize=True) + del tmp62 + tmp64 = tmp63.transpose((0, 1, 3, 2)).copy() + del tmp63 + tmp59 = einsum(t2, (0, 1, 2, 3), f.ov, (4, 3), (4, 0, 1, 2), optimize=True) + tmp60 = einsum(tmp59, (0, 1, 2, 3), t1, (0, 4), (1, 2, 4, 3), optimize=True) + del tmp59 + tmp64 += tmp60 + del tmp60 + t2new += tmp64.transpose((1, 0, 2, 3)) * -1 + t2new += tmp64.transpose((0, 1, 3, 2)) * -1 + del tmp64 + tmp13 = v.ovov.transpose((2, 0, 3, 1)).copy() + tmp13 += v.ovov.transpose((2, 0, 1, 3)) * -0.5 + tmp56 = einsum(t2, (0, 1, 2, 3), tmp13, (0, 4, 2, 3), (4, 1), optimize=True) * 2 + tmp57 = einsum(t2, (0, 1, 2, 3), tmp56, (0, 4), (4, 1, 2, 3), optimize=True) + del tmp56 + tmp58 = tmp57.transpose((1, 0, 3, 2)).copy() + del tmp57 + tmp53 = v.ovov.transpose((2, 0, 3, 1)).copy() * -0.5 + tmp53 += v.ovov.transpose((2, 0, 1, 3)) + tmp54 = einsum(t2, (0, 1, 2, 3), tmp53, (0, 1, 3, 4), (4, 2), optimize=True) + del tmp53 + tmp55 = einsum(tmp54, (0, 1), t2, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) * 2 + del tmp54 + tmp58 += tmp55.transpose((1, 0, 3, 2)) + del tmp55 + tmp51 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 5, 1, 3), (4, 5, 0, 2), optimize=True) + tmp52 = einsum(tmp51, (0, 1, 2, 3), t1, (2, 4), (0, 1, 4, 3), optimize=True) + del tmp51 + tmp58 += tmp52 + del tmp52 + t2new += tmp58.transpose((1, 0, 3, 2)) * -1 + t2new += tmp58 * -1 + del tmp58 + tmp47 = v.ooov.transpose((2, 1, 0, 3)).copy() * 2 + tmp47 += v.ooov.transpose((1, 0, 2, 3)) * -1 + tmp48 = einsum(tmp47, (0, 1, 2, 3), t1, (0, 3), (1, 2), optimize=True) + del tmp47 + tmp49 = einsum(t2, (0, 1, 2, 3), tmp48, (4, 0), (4, 1, 2, 3), optimize=True) + del tmp48 + tmp50 = tmp49.transpose((1, 0, 3, 2)).copy() * -1 + del tmp49 + tmp43 = tmp1.transpose((0, 2, 1, 3)).copy() * -1 + tmp43 += tmp1 * 2 + tmp44 = einsum(tmp43, (0, 1, 2, 3), t2, (1, 4, 3, 5), (0, 2, 4, 5), optimize=True) + del tmp43 + tmp45 = tmp44.transpose((0, 2, 1, 3)).copy() + del tmp44 + tmp42 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 1, 5, 2), (0, 4, 5, 3), optimize=True) + tmp45 += tmp42 * -1 + del tmp42 + tmp45 += tmp1 + tmp46 = einsum(tmp45, (0, 1, 2, 3), t1, (2, 4), (0, 1, 3, 4), optimize=True) + del tmp45 + tmp50 += tmp46.transpose((0, 1, 3, 2)) * -1 + del tmp46 + tmp8 = v.ovvv.transpose((0, 3, 2, 1)).copy() * -1 + tmp8 += v.ovvv.transpose((0, 1, 3, 2)) * 2 + tmp9 = einsum(tmp8, (0, 1, 2, 3), t1, (0, 1), (2, 3), optimize=True) + del tmp8 + tmp41 = einsum(t2, (0, 1, 2, 3), tmp9, (4, 2), (0, 1, 4, 3), optimize=True) + tmp50 += tmp41.transpose((1, 0, 3, 2)) + del tmp41 + tmp39 = tmp38.transpose((1, 0, 3, 2)).copy() * -1 + del tmp38 + tmp37 = einsum(tmp1, (0, 1, 2, 3), t1, (2, 4), (0, 1, 4, 3), optimize=True) + tmp39 += tmp37 + del tmp37 + tmp40 = einsum(t2, (0, 1, 2, 3), tmp39, (4, 0, 5, 3), (4, 1, 5, 2), optimize=True) + del tmp39 + tmp50 += tmp40 + del tmp40 + t2new += tmp50.transpose((1, 0, 3, 2)) + t2new += tmp50 + del tmp50 + tmp4 = einsum(tmp3, (0, 1, 2, 3), t1, (0, 2), (1, 3), optimize=True) + del tmp3 + tmp34 = einsum(tmp4, (0, 1), t1, (2, 1), (0, 2), optimize=True) + tmp35 = einsum(tmp34, (0, 1), t2, (0, 2, 3, 4), (1, 2, 3, 4), optimize=True) + del tmp34 + tmp36 = tmp35.transpose((0, 1, 3, 2)).copy() * -1 + del tmp35 + tmp31 = einsum(t2, (0, 1, 2, 3), tmp4, (4, 2), (4, 0, 1, 3), optimize=True) + tmp32 = tmp31.transpose((2, 0, 1, 3)).copy() * -1 + del tmp31 + tmp29 = t2.transpose((1, 0, 3, 2)).copy() + tmp29 += t2.transpose((1, 0, 2, 3)) * -2 + tmp29 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) + tmp30 = einsum(tmp29, (0, 1, 2, 3), v.ooov, (4, 5, 0, 3), (4, 5, 1, 2), optimize=True) + del tmp29 + tmp32 += tmp30.transpose((2, 1, 0, 3)) + del tmp30 + tmp28 = einsum(tmp1, (0, 1, 2, 3), t2, (4, 2, 3, 5), (0, 4, 1, 5), optimize=True) + tmp32 += tmp28.transpose((0, 2, 1, 3)) + del tmp28 + tmp27 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 1, 5, 3), (0, 4, 5, 2), optimize=True) + tmp32 += tmp27.transpose((0, 2, 1, 3)) + del tmp27 + tmp26 = einsum(t1, (0, 1), v.oovv, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) + tmp32 += tmp26.transpose((0, 2, 1, 3)) * -1 + del tmp26 + tmp33 = einsum(tmp32, (0, 1, 2, 3), t1, (1, 4), (0, 2, 3, 4), optimize=True) + del tmp32 + tmp36 += tmp33.transpose((0, 1, 3, 2)) + del tmp33 + tmp23 = einsum(v.ovvv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2), optimize=True) + tmp6 = t2.transpose((1, 0, 3, 2)).copy() * 2 + tmp6 += t2.transpose((1, 0, 2, 3)) * -1 + tmp25 = einsum(tmp23, (0, 1, 2, 3), tmp6, (1, 4, 2, 5), (4, 0, 5, 3), optimize=True) + tmp36 += tmp25.transpose((1, 0, 2, 3)) + del tmp25 + tmp19 = einsum(v.ovvv, (0, 1, 2, 3), t1, (4, 1), (4, 0, 2, 3), optimize=True) + tmp24 = einsum(t2, (0, 1, 2, 3), tmp19, (4, 1, 5, 3), (4, 0, 2, 5), optimize=True) + tmp36 += tmp24 * -1 + del tmp24 + tmp36 += tmp23 + del tmp23 + tmp22 = einsum(t2, (0, 1, 2, 3), f.vv, (4, 3), (0, 1, 4, 2), optimize=True) + tmp36 += tmp22 + del tmp22 + t2new += tmp36.transpose((1, 0, 2, 3)) + t2new += tmp36.transpose((0, 1, 3, 2)) + del tmp36 + tmp20 = einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) + tmp20 += t2.transpose((1, 0, 3, 2)) + tmp21 = einsum(tmp19, (0, 1, 2, 3), tmp20, (1, 4, 5, 2), (0, 4, 3, 5), optimize=True) + del tmp19, tmp20 + t2new += tmp21.transpose((1, 0, 2, 3)) * -1 + t2new += tmp21.transpose((0, 1, 3, 2)) * -1 + del tmp21 + t2new += einsum(v.ooov, (0, 1, 2, 3), t1, (1, 4), (2, 0, 3, 4), optimize=True) * -1 + t2new += einsum(v.ovov, (0, 1, 2, 3), t2, (4, 0, 5, 1), (4, 2, 5, 3), optimize=True) * 2 + t2new += einsum(v.oovv, (0, 1, 2, 3), t2, (4, 1, 3, 5), (0, 4, 5, 2), optimize=True) * -1 + t2new += tmp18.transpose((1, 0, 3, 2)) * -1 + del tmp18 + t2new += einsum(v.oovv, (0, 1, 2, 3), t2, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) * -1 + t2new += v.ovov.transpose((2, 0, 3, 1)) + t2new += einsum(tmp17, (0, 1, 2, 3), t2, (2, 3, 4, 5), (1, 0, 5, 4), optimize=True) + del tmp17 + tmp16 = einsum(v.vvvv, (0, 1, 2, 3), t1, (4, 2), (4, 0, 1, 3), optimize=True) + t2new += einsum(tmp16, (0, 1, 2, 3), t1, (4, 2), (4, 0, 1, 3), optimize=True) + del tmp16 + t2new += einsum(v.vvvv, (0, 1, 2, 3), t2, (4, 5, 2, 1), (5, 4, 0, 3), optimize=True) + tmp14 = einsum(tmp13, (0, 1, 2, 3), t1, (0, 2), (1, 3), optimize=True) + del tmp13 + tmp14 += f.ov * 0.5 + tmp15 = einsum(tmp14, (0, 1), t1, (2, 1), (0, 2), optimize=True) * 2 + del tmp14 + tmp12 = v.ooov.transpose((2, 1, 0, 3)).copy() + tmp12 += v.ooov.transpose((1, 0, 2, 3)) * -0.5 + tmp15 += einsum(tmp12, (0, 1, 2, 3), t1, (0, 3), (2, 1), optimize=True) * 2 + del tmp12 + tmp11 = v.ovov.transpose((2, 0, 3, 1)).copy() * 2 + tmp11 += v.ovov.transpose((2, 0, 1, 3)) * -1 + tmp15 += einsum(tmp11, (0, 1, 2, 3), t2, (0, 4, 2, 3), (1, 4), optimize=True) + del tmp11 + tmp15 += f.oo.transpose((1, 0)) + t1new = einsum(tmp15, (0, 1), t1, (0, 2), (1, 2), optimize=True) * -1 + del tmp15 + tmp10 = tmp9.transpose((1, 0)).copy() + del tmp9 + tmp10 += f.vv.transpose((1, 0)) + t1new += einsum(t1, (0, 1), tmp10, (1, 2), (0, 2), optimize=True) + del tmp10 + tmp7 = v.oovv.transpose((1, 0, 3, 2)).copy() * -1 + tmp7 += v.ovov.transpose((2, 0, 3, 1)) * 2 + t1new += einsum(tmp7, (0, 1, 2, 3), t1, (0, 2), (1, 3), optimize=True) + del tmp7 + tmp5 = tmp4.copy() + del tmp4 + tmp5 += f.ov + t1new += einsum(tmp6, (0, 1, 2, 3), tmp5, (0, 2), (1, 3), optimize=True) + del tmp6, tmp5 + tmp2 = tmp1.transpose((0, 2, 1, 3)).copy() + tmp2 += tmp1 * -0.5 + del tmp1 + tmp2 += v.ooov.transpose((1, 2, 0, 3)) * -0.5 + tmp2 += v.ooov.transpose((1, 0, 2, 3)) + t1new += einsum(t2, (0, 1, 2, 3), tmp2, (4, 0, 1, 3), (4, 2), optimize=True) * -2 + del tmp2 + tmp0 = v.ovvv.transpose((0, 3, 1, 2)).copy() * -0.5 + tmp0 += v.ovvv.transpose((0, 1, 3, 2)) + t1new += einsum(t2, (0, 1, 2, 3), tmp0, (0, 2, 3, 4), (1, 4), optimize=True) * 2 + del tmp0 + t1new += f.ov + + return {f"t1new": t1new, f"t2new": t2new} + +def update_lams(f=None, l1=None, l2=None, t1=None, t2=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-03-02T15:25:32.906278. + + Parameters + ---------- + f : array + Fock matrix. + l1 : array + L1 amplitudes. + l2 : array + L2 amplitudes. + t1 : array + T1 amplitudes. + t2 : array + T2 amplitudes. + v : array + Electron repulsion integrals. + + Returns + ------- + l1new : array + Updated L1 residuals. + l2new : array + Updated L2 residuals. + """ + + tmp8 = einsum(v.ovov, (0, 1, 2, 3), t1, (4, 1), (4, 2, 0, 3), optimize=True) + tmp27 = einsum(tmp8, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2), optimize=True) + tmp116 = tmp27.transpose((0, 2, 3, 1)).copy() + tmp116 += v.oooo.transpose((2, 3, 1, 0)) + l2new = einsum(tmp116, (0, 1, 2, 3), l2, (4, 5, 0, 3), (5, 4, 2, 1), optimize=True) + del tmp116 + tmp17 = einsum(l2, (0, 1, 2, 3), t1, (4, 0), (3, 2, 4, 1), optimize=True) + tmp37 = einsum(t1, (0, 1), tmp17, (2, 3, 4, 1), (3, 2, 4, 0), optimize=True) + tmp38 = tmp37.copy() + tmp36 = einsum(l2, (0, 1, 2, 3), t2, (4, 5, 0, 1), (2, 3, 4, 5), optimize=True) + tmp38 += tmp36.transpose((1, 0, 3, 2)) + l2new += einsum(tmp38, (0, 1, 2, 3), v.ovov, (2, 4, 3, 5), (5, 4, 1, 0), optimize=True) + tmp16 = t2.transpose((1, 0, 3, 2)).copy() + tmp16 += t2.transpose((1, 0, 2, 3)) * -0.5 + tmp60 = einsum(tmp16, (0, 1, 2, 3), l2, (2, 3, 0, 4), (4, 1), optimize=True) * 2 + tmp61 = tmp60.copy() + del tmp60 + tmp50 = einsum(l1, (0, 1), t1, (2, 0), (1, 2), optimize=True) + tmp61 += tmp50 + tmp114 = einsum(v.ovov, (0, 1, 2, 3), tmp61, (4, 0), (2, 4, 1, 3), optimize=True) + tmp115 = tmp114.transpose((1, 0, 3, 2)).copy() + del tmp114 + tmp47 = t2.transpose((1, 0, 3, 2)).copy() * -0.5 + tmp47 += t2.transpose((1, 0, 2, 3)) + tmp112 = einsum(l2, (0, 1, 2, 3), tmp47, (2, 3, 1, 4), (0, 4), optimize=True) * 2 + tmp113 = einsum(v.ovov, (0, 1, 2, 3), tmp112, (4, 1), (0, 2, 3, 4), optimize=True) + del tmp112 + tmp115 += tmp113.transpose((1, 0, 3, 2)) + del tmp113 + tmp111 = einsum(tmp8, (0, 1, 2, 3), l1, (4, 0), (1, 2, 4, 3), optimize=True) + tmp115 += tmp111 + del tmp111 + tmp110 = einsum(f.oo, (0, 1), l2, (2, 3, 4, 1), (0, 4, 2, 3), optimize=True) + tmp115 += tmp110 + del tmp110 + l2new += tmp115.transpose((2, 3, 1, 0)) * -1 + l2new += tmp115.transpose((3, 2, 0, 1)) * -1 + del tmp115 + tmp23 = t2.transpose((1, 0, 3, 2)).copy() * 2 + tmp23 += t2.transpose((1, 0, 2, 3)) * -1 + tmp106 = einsum(v.ovov, (0, 1, 2, 3), tmp23, (0, 4, 1, 3), (2, 4), optimize=True) * 0.5 + tmp107 = tmp106.transpose((1, 0)).copy() + del tmp106 + tmp105 = einsum(t1, (0, 1), v.ooov, (2, 3, 0, 1), (2, 3), optimize=True) + tmp107 += tmp105.transpose((1, 0)) + del tmp105 + tmp108 = einsum(tmp107, (0, 1), l2, (2, 3, 0, 4), (4, 1, 2, 3), optimize=True) * 2 + del tmp107 + tmp109 = tmp108.transpose((0, 1, 3, 2)).copy() + del tmp108 + tmp15 = t2.transpose((1, 0, 3, 2)).copy() * -1 + tmp15 += t2.transpose((1, 0, 2, 3)) * 2 + tmp103 = einsum(v.ovov, (0, 1, 2, 3), tmp15, (0, 2, 3, 4), (1, 4), optimize=True) * 0.5 + tmp104 = einsum(tmp103, (0, 1), l2, (1, 2, 3, 4), (3, 4, 2, 0), optimize=True) * 2 + del tmp103 + tmp109 += tmp104.transpose((1, 0, 2, 3)) + del tmp104 + tmp102 = einsum(v.ooov, (0, 1, 2, 3), l1, (4, 1), (0, 2, 4, 3), optimize=True) + tmp109 += tmp102 + del tmp102 + l2new += tmp109.transpose((3, 2, 1, 0)) * -1 + l2new += tmp109.transpose((2, 3, 0, 1)) * -1 + del tmp109 + tmp76 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 3, 0, 5), (1, 4, 2, 5), optimize=True) + tmp77 = tmp76.copy() * -1 + del tmp76 + tmp25 = einsum(v.ovvv, (0, 1, 2, 3), t1, (4, 1), (4, 0, 2, 3), optimize=True) + tmp77 += tmp25.transpose((0, 1, 3, 2)) + tmp77 += v.oovv.transpose((1, 0, 3, 2)) + tmp100 = einsum(l2, (0, 1, 2, 3), tmp77, (2, 4, 1, 5), (3, 4, 0, 5), optimize=True) + tmp101 = tmp100.copy() * -1 + del tmp100 + tmp99 = einsum(tmp17, (0, 1, 2, 3), tmp8, (0, 2, 4, 5), (1, 4, 3, 5), optimize=True) + tmp101 += tmp99 + del tmp99 + tmp98 = einsum(v.ooov, (0, 1, 2, 3), tmp17, (1, 4, 2, 5), (4, 0, 5, 3), optimize=True) + tmp101 += tmp98 + del tmp98 + tmp12 = einsum(v.ooov, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2), optimize=True) + tmp97 = einsum(l2, (0, 1, 2, 3), tmp12, (3, 2, 4, 5), (4, 5, 1, 0), optimize=True) + tmp101 += tmp97 + del tmp97 + tmp96 = einsum(f.ov, (0, 1), tmp17, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) + tmp101 += tmp96 * -1 + del tmp96 + tmp94 = einsum(f.ov, (0, 1), t1, (2, 1), (0, 2), optimize=True) + tmp95 = einsum(l2, (0, 1, 2, 3), tmp94, (4, 3), (4, 2, 0, 1), optimize=True) + del tmp94 + tmp101 += tmp95 * -1 + del tmp95 + tmp93 = einsum(v.ovvv, (0, 1, 2, 3), l1, (3, 4), (4, 0, 1, 2), optimize=True) + tmp101 += tmp93 + del tmp93 + tmp92 = einsum(l2, (0, 1, 2, 3), f.vv, (4, 1), (2, 3, 4, 0), optimize=True) + tmp101 += tmp92 + del tmp92 + l2new += tmp101.transpose((2, 3, 1, 0)) + l2new += tmp101.transpose((3, 2, 0, 1)) + del tmp101 + tmp90 = einsum(v.ovvv, (0, 1, 2, 3), t1, (0, 2), (1, 3), optimize=True) + tmp91 = einsum(l2, (0, 1, 2, 3), tmp90, (4, 1), (2, 3, 0, 4), optimize=True) + del tmp90 + l2new += tmp91.transpose((3, 2, 1, 0)) * -1 + l2new += tmp91.transpose((2, 3, 0, 1)) * -1 + del tmp91 + tmp83 = v.ovov.transpose((2, 0, 3, 1)).copy() * 2 + tmp83 += v.ovov.transpose((2, 0, 1, 3)) * -1 + tmp84 = einsum(tmp83, (0, 1, 2, 3), t1, (0, 2), (1, 3), optimize=True) + del tmp83 + tmp89 = einsum(tmp84, (0, 1), l1, (2, 3), (3, 0, 2, 1), optimize=True) + tmp88 = einsum(tmp84, (0, 1), tmp17, (2, 3, 0, 4), (2, 3, 4, 1), optimize=True) + tmp89 += tmp88 * -1 + del tmp88 + tmp85 = einsum(tmp84, (0, 1), t1, (2, 1), (2, 0), optimize=True) + del tmp84 + tmp86 = tmp85.copy() * -1 + del tmp85 + tmp82 = einsum(t1, (0, 1), v.ooov, (0, 2, 3, 1), (2, 3), optimize=True) + tmp86 += tmp82 + del tmp82 + tmp87 = einsum(tmp86, (0, 1), l2, (2, 3, 0, 4), (4, 1, 2, 3), optimize=True) + del tmp86 + tmp89 += tmp87.transpose((0, 1, 3, 2)) + del tmp87 + tmp80 = tmp8.transpose((0, 2, 1, 3)).copy() * -1 + tmp80 += tmp8 * 2 + tmp81 = einsum(tmp80, (0, 1, 2, 3), tmp17, (4, 0, 2, 5), (4, 1, 5, 3), optimize=True) + del tmp80 + tmp89 += tmp81 * -1 + del tmp81 + tmp44 = tmp17.transpose((1, 0, 2, 3)).copy() * -1 + tmp44 += tmp17 * 2 + tmp79 = einsum(v.ooov, (0, 1, 2, 3), tmp44, (4, 0, 1, 5), (2, 4, 3, 5), optimize=True) + tmp89 += tmp79.transpose((1, 0, 3, 2)) * -1 + del tmp79 + tmp78 = einsum(l2, (0, 1, 2, 3), tmp77, (2, 4, 0, 5), (3, 4, 1, 5), optimize=True) + del tmp77 + tmp89 += tmp78 * -1 + del tmp78 + tmp72 = t2.transpose((1, 0, 3, 2)).copy() * 2 + tmp72 += t2.transpose((1, 0, 2, 3)) * -1 + tmp73 = einsum(tmp72, (0, 1, 2, 3), v.ovov, (0, 2, 4, 5), (4, 1, 5, 3), optimize=True) + del tmp72 + tmp74 = tmp73.transpose((1, 0, 3, 2)).copy() + del tmp73 + tmp71 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 2, 0, 5), (1, 4, 3, 5), optimize=True) + tmp74 += tmp71 * -1 + del tmp71 + tmp70 = einsum(v.ovvv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2), optimize=True) + tmp74 += tmp70.transpose((0, 1, 3, 2)) + del tmp70 + tmp74 += v.ovov.transpose((2, 0, 3, 1)) + tmp69 = l2.transpose((3, 2, 1, 0)).copy() * 2 + tmp69 += l2.transpose((3, 2, 0, 1)) * -1 + tmp75 = einsum(tmp69, (0, 1, 2, 3), tmp74, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) + del tmp69, tmp74 + tmp89 += tmp75 + del tmp75 + tmp68 = einsum(tmp17, (0, 1, 2, 3), tmp8, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) + tmp89 += tmp68 + del tmp68 + tmp67 = einsum(v.ovvv, (0, 1, 2, 3), tmp17, (4, 5, 0, 3), (5, 4, 1, 2), optimize=True) + tmp89 += tmp67 * -1 + del tmp67 + tmp65 = einsum(v.ovvv, (0, 1, 2, 3), t1, (0, 1), (2, 3), optimize=True) + tmp66 = einsum(tmp65, (0, 1), l2, (2, 1, 3, 4), (3, 4, 2, 0), optimize=True) + del tmp65 + tmp89 += tmp66 * 2 + del tmp66 + tmp64 = einsum(v.ooov, (0, 1, 2, 3), tmp17, (4, 1, 2, 5), (4, 0, 5, 3), optimize=True) + tmp89 += tmp64 + del tmp64 + tmp89 += einsum(f.ov, (0, 1), l1, (2, 3), (0, 3, 1, 2), optimize=True) + l2new += tmp89.transpose((3, 2, 1, 0)) + l2new += tmp89.transpose((2, 3, 0, 1)) + del tmp89 + l2new += v.ovov.transpose((3, 1, 2, 0)) + tmp2 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 2, 5, 3), (0, 1, 4, 5), optimize=True) + l2new += einsum(tmp2, (0, 1, 2, 3), l2, (4, 5, 0, 1), (4, 5, 2, 3), optimize=True) + l2new += einsum(l2, (0, 1, 2, 3), v.vvvv, (4, 0, 5, 1), (5, 4, 3, 2), optimize=True) + tmp5 = v.ovov.transpose((2, 0, 3, 1)).copy() + tmp5 += v.ovov.transpose((2, 0, 1, 3)) * -0.5 + tmp6 = einsum(tmp5, (0, 1, 2, 3), t1, (0, 2), (1, 3), optimize=True) * 2 + del tmp5 + tmp59 = tmp6.copy() + tmp59 += f.ov + tmp63 = einsum(tmp59, (0, 1), t1, (2, 1), (2, 0), optimize=True) + tmp62 = v.ooov.transpose((2, 1, 0, 3)).copy() + tmp62 += v.ooov.transpose((1, 0, 2, 3)) * -0.5 + tmp63 += einsum(tmp62, (0, 1, 2, 3), t1, (0, 3), (1, 2), optimize=True) * 2 + del tmp62 + tmp63 += einsum(tmp23, (0, 1, 2, 3), v.ovov, (0, 2, 4, 3), (1, 4), optimize=True) + tmp63 += f.oo.transpose((1, 0)) + l1new = einsum(l1, (0, 1), tmp63, (1, 2), (0, 2), optimize=True) * -1 + del tmp63 + l1new += einsum(tmp59, (0, 1), tmp61, (2, 0), (1, 2), optimize=True) * -1 + del tmp61, tmp59 + tmp57 = v.ovvv.transpose((0, 3, 1, 2)).copy() + tmp57 += v.ovvv.transpose((0, 1, 3, 2)) * -0.5 + tmp58 = einsum(tmp57, (0, 1, 2, 3), t1, (0, 2), (3, 1), optimize=True) * 2 + del tmp57 + tmp58 += f.vv.transpose((1, 0)) + l1new += einsum(l1, (0, 1), tmp58, (0, 2), (2, 1), optimize=True) + del tmp58 + tmp56 = v.oovv.transpose((1, 0, 3, 2)).copy() * -1 + tmp56 += v.ovov.transpose((2, 0, 3, 1)) * 2 + l1new += einsum(tmp56, (0, 1, 2, 3), l1, (2, 0), (3, 1), optimize=True) + del tmp56 + tmp55 = v.ooov.transpose((2, 1, 0, 3)).copy() * -0.5 + tmp55 += v.ooov.transpose((1, 0, 2, 3)) + tmp51 = einsum(tmp16, (0, 1, 2, 3), l2, (2, 3, 0, 4), (4, 1), optimize=True) + tmp52 = tmp51.copy() + del tmp51 + tmp52 += tmp50 * 0.5 + del tmp50 + l1new += einsum(tmp55, (0, 1, 2, 3), tmp52, (1, 0), (3, 2), optimize=True) * -4 + del tmp55 + tmp54 = v.ovov.transpose((2, 0, 3, 1)).copy() * 2 + tmp54 += v.ovov.transpose((2, 0, 1, 3)) * -1 + tmp53 = einsum(tmp52, (0, 1), t1, (0, 2), (1, 2), optimize=True) * 2 + del tmp52 + tmp53 += einsum(l1, (0, 1), tmp23, (1, 2, 0, 3), (2, 3), optimize=True) * -1 + tmp53 += einsum(tmp17, (0, 1, 2, 3), tmp16, (1, 0, 4, 3), (2, 4), optimize=True) * 2 + tmp53 += t1 * -1 + l1new += einsum(tmp53, (0, 1), tmp54, (0, 2, 1, 3), (3, 2), optimize=True) * -1 + del tmp53, tmp54 + tmp49 = v.ovvv.transpose((0, 3, 2, 1)).copy() * 2 + tmp49 += v.ovvv.transpose((0, 1, 3, 2)) * -1 + tmp48 = einsum(l2, (0, 1, 2, 3), tmp47, (2, 3, 1, 4), (0, 4), optimize=True) + del tmp47 + tmp48 += einsum(l1, (0, 1), t1, (1, 2), (0, 2), optimize=True) * 0.5 + l1new += einsum(tmp49, (0, 1, 2, 3), tmp48, (2, 1), (3, 0), optimize=True) * 2 + del tmp49, tmp48 + tmp46 = tmp36.transpose((1, 0, 3, 2)).copy() * -0.5 + tmp46 += tmp36.transpose((1, 0, 2, 3)) + del tmp36 + l1new += einsum(tmp46, (0, 1, 2, 3), v.ooov, (3, 0, 2, 4), (4, 1), optimize=True) * 2 + del tmp46 + tmp45 = tmp37.transpose((0, 1, 3, 2)).copy() + tmp45 += tmp37 * -0.5 + del tmp37 + l1new += einsum(tmp45, (0, 1, 2, 3), v.ooov, (1, 2, 3, 4), (4, 0), optimize=True) * 2 + del tmp45 + l1new += einsum(tmp44, (0, 1, 2, 3), v.oovv, (1, 2, 3, 4), (4, 0), optimize=True) * -1 + del tmp44 + tmp34 = tmp17.transpose((1, 0, 2, 3)).copy() * -0.5 + tmp34 += tmp17 + tmp43 = einsum(tmp34, (0, 1, 2, 3), t2, (1, 4, 5, 3), (0, 2, 4, 5), optimize=True) * 2 + tmp40 = tmp17.transpose((1, 0, 2, 3)).copy() * 2 + tmp40 += tmp17 * -1 + tmp43 += einsum(tmp40, (0, 1, 2, 3), t2, (1, 4, 3, 5), (0, 2, 4, 5), optimize=True) + tmp42 = einsum(l1, (0, 1), t2, (2, 3, 4, 0), (1, 2, 3, 4), optimize=True) + tmp43 += tmp42.transpose((0, 2, 1, 3)) + tmp43 += tmp42 * -2 + del tmp42 + l1new += einsum(tmp43, (0, 1, 2, 3), v.ovov, (2, 4, 1, 3), (4, 0), optimize=True) + del tmp43 + tmp41 = einsum(tmp40, (0, 1, 2, 3), tmp15, (1, 4, 5, 3), (0, 2, 4, 5), optimize=True) * -0.5 + del tmp40 + tmp39 = einsum(t1, (0, 1), tmp38, (0, 2, 3, 4), (2, 3, 4, 1), optimize=True) + del tmp38 + tmp41 += tmp39 * -0.5 + tmp41 += tmp39.transpose((0, 2, 1, 3)) + del tmp39 + tmp41 += tmp17.transpose((1, 2, 0, 3)) * -1 + tmp41 += tmp17.transpose((0, 2, 1, 3)) * 0.5 + l1new += einsum(v.ovov, (0, 1, 2, 3), tmp41, (4, 2, 0, 1), (3, 4), optimize=True) * 2 + del tmp41 + tmp35 = einsum(tmp34, (0, 1, 2, 3), t1, (1, 4), (0, 2, 3, 4), optimize=True) * -2 + del tmp34 + tmp35 += l2.transpose((3, 2, 1, 0)) * 2 + l1new += einsum(tmp35, (0, 1, 2, 3), v.ovvv, (1, 3, 2, 4), (4, 0), optimize=True) + del tmp35 + tmp32 = tmp12.transpose((0, 3, 2, 1)).copy() * 2 + tmp32 += tmp12.transpose((0, 2, 1, 3)) * -1 + tmp33 = einsum(tmp32, (0, 1, 2, 3), t1, (3, 4), (0, 2, 1, 4), optimize=True) + del tmp32 + tmp31 = v.oovv.transpose((1, 0, 3, 2)).copy() * -1 + tmp31 += v.ovov.transpose((2, 0, 3, 1)) * 2 + tmp33 += einsum(tmp31, (0, 1, 2, 3), t1, (4, 2), (4, 1, 0, 3), optimize=True) * -1 + del tmp31 + tmp30 = tmp8.transpose((0, 2, 1, 3)).copy() * -0.5 + tmp30 += tmp8 + tmp30 += v.ooov.transpose((1, 2, 0, 3)) + tmp30 += v.ooov.transpose((1, 0, 2, 3)) * -0.5 + tmp33 += einsum(tmp30, (0, 1, 2, 3), tmp16, (1, 4, 3, 5), (0, 4, 2, 5), optimize=True) * -4 + del tmp30 + tmp28 = einsum(t1, (0, 1), tmp27, (2, 3, 4, 0), (2, 3, 4, 1), optimize=True) + del tmp27 + tmp29 = tmp28.copy() * -2 + del tmp28 + tmp26 = einsum(tmp25, (0, 1, 2, 3), t1, (4, 3), (0, 4, 1, 2), optimize=True) + del tmp25 + tmp29 += tmp26 * 2 + del tmp26 + tmp33 += tmp29.transpose((1, 0, 2, 3)) * 0.5 + tmp33 += tmp29 * -1 + del tmp29 + l1new += einsum(tmp33, (0, 1, 2, 3), l2, (3, 4, 1, 0), (4, 2), optimize=True) + del tmp33 + tmp22 = l2.transpose((3, 2, 1, 0)).copy() * 2 + tmp22 += l2.transpose((3, 2, 0, 1)) * -1 + tmp24 = einsum(tmp23, (0, 1, 2, 3), tmp22, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) * -0.5 + del tmp23, tmp22 + tmp24 += l2.transpose((3, 2, 0, 1)) * 0.5 + l1new += einsum(v.ovvv, (0, 1, 2, 3), tmp24, (4, 0, 2, 1), (3, 4), optimize=True) * -2 + del tmp24 + tmp21 = v.vvvv.transpose((2, 3, 1, 0)).copy() * 2 + tmp21 += v.vvvv.transpose((1, 3, 2, 0)) * -1 + tmp20 = einsum(l2, (0, 1, 2, 3), t1, (3, 4), (2, 0, 1, 4), optimize=True) + l1new += einsum(tmp21, (0, 1, 2, 3), tmp20, (4, 0, 2, 3), (1, 4), optimize=True) + del tmp21, tmp20 + tmp18 = tmp17.transpose((1, 0, 2, 3)).copy() + tmp18 += tmp17 * -0.5 + del tmp17 + tmp19 = einsum(t1, (0, 1), tmp18, (2, 0, 3, 4), (2, 3, 1, 4), optimize=True) * 2 + del tmp18 + tmp19 += einsum(tmp16, (0, 1, 2, 3), l2, (2, 4, 0, 5), (5, 1, 4, 3), optimize=True) * 2 + del tmp16 + tmp19 += einsum(l2, (0, 1, 2, 3), tmp15, (2, 4, 1, 5), (3, 4, 0, 5), optimize=True) + del tmp15 + l1new += einsum(v.ovvv, (0, 1, 2, 3), tmp19, (4, 0, 3, 2), (1, 4), optimize=True) * -1 + del tmp19 + tmp13 = tmp12.transpose((3, 0, 2, 1)).copy() * 2 + tmp13 += tmp12.transpose((2, 0, 3, 1)) * -1 + del tmp12 + tmp13 += v.oooo.transpose((2, 3, 1, 0)) * 2 + tmp13 += v.oooo.transpose((1, 3, 2, 0)) * -1 + tmp14 = einsum(tmp13, (0, 1, 2, 3), t1, (0, 4), (1, 3, 2, 4), optimize=True) * 0.5 + del tmp13 + tmp11 = v.ovov.transpose((2, 0, 3, 1)).copy() * -1 + tmp11 += v.oovv.transpose((1, 0, 3, 2)) * 2 + tmp14 += einsum(tmp11, (0, 1, 2, 3), t1, (4, 2), (4, 1, 0, 3), optimize=True) * -0.5 + del tmp11 + tmp10 = tmp8.transpose((0, 2, 1, 3)).copy() + tmp10 += tmp8 * -0.5 + tmp10 += v.ooov.transpose((1, 2, 0, 3)) * -0.5 + tmp10 += v.ooov.transpose((1, 0, 2, 3)) + tmp14 += einsum(t2, (0, 1, 2, 3), tmp10, (4, 0, 5, 3), (4, 1, 5, 2), optimize=True) + del tmp10 + tmp9 = tmp8.transpose((0, 2, 1, 3)).copy() * -1 + tmp9 += tmp8 * 2 + del tmp8 + tmp9 += v.ooov.transpose((1, 2, 0, 3)) * 2 + tmp9 += v.ooov.transpose((1, 0, 2, 3)) * -1 + tmp14 += einsum(tmp9, (0, 1, 2, 3), t2, (1, 4, 3, 5), (0, 4, 2, 5), optimize=True) * 0.5 + del tmp9 + tmp7 = einsum(tmp6, (0, 1), t2, (2, 3, 1, 4), (2, 3, 0, 4), optimize=True) + del tmp6 + tmp14 += tmp7 * 0.5 + tmp14 += tmp7.transpose((1, 0, 2, 3)) * -1 + del tmp7 + tmp3 = einsum(tmp2, (0, 1, 2, 3), t1, (3, 4), (0, 1, 2, 4), optimize=True) + del tmp2 + tmp4 = tmp3.copy() * -0.5 + del tmp3 + tmp1 = einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 3, 2, 5), (1, 0, 4, 5), optimize=True) + tmp4 += tmp1 * 0.5 + del tmp1 + tmp14 += tmp4.transpose((1, 0, 2, 3)) * -2 + tmp14 += tmp4 + del tmp4 + tmp0 = einsum(t2, (0, 1, 2, 3), f.ov, (4, 3), (4, 0, 1, 2), optimize=True) + tmp14 += tmp0.transpose((2, 1, 0, 3)) * 0.5 + tmp14 += tmp0.transpose((1, 2, 0, 3)) * -1 + del tmp0 + tmp14 += v.ooov.transpose((2, 1, 0, 3)) * -1 + tmp14 += v.ooov.transpose((1, 2, 0, 3)) * 0.5 + l1new += einsum(l2, (0, 1, 2, 3), tmp14, (3, 2, 4, 1), (0, 4), optimize=True) * 2 + del tmp14 + l1new += f.ov.transpose((1, 0)) + + return {f"l1new": l1new, f"l2new": l2new} + +def make_rdm1_f(l1=None, l2=None, t1=None, t2=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-03-02T15:25:33.920507. + + Parameters + ---------- + l1 : array + L1 amplitudes. + l2 : array + L2 amplitudes. + t1 : array + T1 amplitudes. + t2 : array + T2 amplitudes. + + Returns + ------- + rdm1 : array + One-particle reduced density matrix. + """ + + rdm1 = Namespace() + delta = Namespace( + oo=np.eye(t1.shape[0]), + vv=np.eye(t1.shape[1]), + ) + tmp6 = l2.transpose((3, 2, 1, 0)).copy() * -1 + tmp6 += l2.transpose((3, 2, 0, 1)) * 2 + rdm1.vv = einsum(t2, (0, 1, 2, 3), tmp6, (0, 1, 3, 4), (4, 2), optimize=True) * 2 + del tmp6 + rdm1.vv += einsum(l1, (0, 1), t1, (1, 2), (0, 2), optimize=True) * 2 + rdm1.vo = l1.copy() * 2 + tmp1 = t2.transpose((1, 0, 3, 2)).copy() * -0.5 + tmp1 += t2.transpose((1, 0, 2, 3)) + tmp5 = einsum(l2, (0, 1, 2, 3), tmp1, (2, 4, 1, 0), (3, 4), optimize=True) * 2 + tmp0 = einsum(l1, (0, 1), t1, (2, 0), (1, 2), optimize=True) + tmp5 += tmp0 + rdm1.ov = einsum(tmp5, (0, 1), t1, (0, 2), (1, 2), optimize=True) * -2 + del tmp5 + tmp4 = t2.transpose((1, 0, 3, 2)).copy() * 2 + tmp4 += t2.transpose((1, 0, 2, 3)) * -1 + rdm1.ov += einsum(l1, (0, 1), tmp4, (1, 2, 0, 3), (2, 3), optimize=True) * 2 + del tmp4 + tmp2 = einsum(l2, (0, 1, 2, 3), t1, (4, 1), (2, 3, 4, 0), optimize=True) + tmp3 = tmp2.transpose((1, 0, 2, 3)).copy() * -0.5 + tmp3 += tmp2 + del tmp2 + rdm1.ov += einsum(t2, (0, 1, 2, 3), tmp3, (1, 0, 4, 3), (4, 2), optimize=True) * -4 + del tmp3 + rdm1.ov += t1 * 2 + rdm1.oo = einsum(l2, (0, 1, 2, 3), tmp1, (2, 4, 1, 0), (4, 3), optimize=True) * -4 + del tmp1 + rdm1.oo += tmp0.transpose((1, 0)) * -2 + del tmp0 + rdm1.oo += delta.oo.transpose((1, 0)) * 2 + del delta + rdm1 = np.block([[rdm1.oo, rdm1.ov], [rdm1.vo, rdm1.vv]]) + + return rdm1 + +def make_rdm2_f(l1=None, l2=None, t1=None, t2=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-03-02T15:26:24.048838. + + Parameters + ---------- + l1 : array + L1 amplitudes. + l2 : array + L2 amplitudes. + t1 : array + T1 amplitudes. + t2 : array + T2 amplitudes. + + Returns + ------- + rdm2 : array + Two-particle reduced density matrix. + """ + + rdm2 = Namespace() + delta = Namespace( + oo=np.eye(t1.shape[0]), + vv=np.eye(t1.shape[1]), + ) + tmp110 = einsum(l2, (0, 1, 2, 3), t1, (3, 4), (2, 0, 1, 4), optimize=True) + tmp112 = einsum(tmp110, (0, 1, 2, 3), t1, (0, 4), (2, 1, 3, 4), optimize=True) + tmp113 = tmp112.transpose((1, 0, 3, 2)).copy() + tmp111 = einsum(l2, (0, 1, 2, 3), t2, (2, 3, 4, 5), (0, 1, 4, 5), optimize=True) + tmp113 += tmp111.transpose((1, 0, 3, 2)) + rdm2.vvvv = tmp113.copy() + rdm2.vvvv += tmp113.transpose((0, 1, 3, 2)) * -1 + rdm2.vvvv += tmp112.transpose((1, 0, 3, 2)) + rdm2.vvvv += tmp111.transpose((1, 0, 3, 2)) + rdm2.vvvv += tmp112.transpose((1, 0, 3, 2)) + del tmp112 + rdm2.vvvv += tmp111.transpose((1, 0, 3, 2)) + del tmp111 + rdm2.vvvv += tmp113 + rdm2.vvvv += tmp113.transpose((0, 1, 3, 2)) * -1 + del tmp113 + rdm2.vvvo = tmp110.transpose((2, 1, 3, 0)).copy() + rdm2.vvvo += tmp110.transpose((1, 2, 3, 0)) * -1 + rdm2.vvvo += tmp110.transpose((2, 1, 3, 0)) + rdm2.vvvo += tmp110.transpose((2, 1, 3, 0)) + rdm2.vvvo += tmp110.transpose((2, 1, 3, 0)) + rdm2.vvvo += tmp110.transpose((1, 2, 3, 0)) * -1 + rdm2.vvov = tmp110.transpose((2, 1, 0, 3)).copy() * -1 + rdm2.vvov += tmp110.transpose((1, 2, 0, 3)) + rdm2.vvov += tmp110.transpose((1, 2, 0, 3)) + rdm2.vvov += tmp110.transpose((1, 2, 0, 3)) + rdm2.vvov += tmp110.transpose((2, 1, 0, 3)) * -1 + rdm2.vvov += tmp110.transpose((1, 2, 0, 3)) + del tmp110 + tmp61 = l2.transpose((3, 2, 1, 0)).copy() * -1 + tmp61 += l2.transpose((3, 2, 0, 1)) * 2 + tmp83 = einsum(t2, (0, 1, 2, 3), tmp61, (0, 1, 3, 4), (4, 2), optimize=True) + tmp84 = tmp83.copy() + del tmp83 + tmp82 = einsum(l1, (0, 1), t1, (1, 2), (0, 2), optimize=True) + tmp84 += tmp82 + tmp107 = einsum(tmp84, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) + tmp2 = einsum(l2, (0, 1, 2, 3), t1, (4, 0), (3, 2, 4, 1), optimize=True) + tmp96 = einsum(tmp2, (0, 1, 2, 3), t2, (0, 1, 4, 5), (2, 3, 4, 5), optimize=True) + tmp107 += tmp96 + rdm2.vovv = tmp107.transpose((1, 0, 3, 2)).copy() + rdm2.vovv += tmp107.transpose((1, 0, 2, 3)) * -1 + tmp12 = t2.transpose((1, 0, 3, 2)).copy() * 2 + tmp12 += t2.transpose((1, 0, 2, 3)) * -1 + tmp80 = einsum(tmp12, (0, 1, 2, 3), l2, (2, 4, 0, 5), (1, 5, 3, 4), optimize=True) + tmp104 = tmp80.transpose((1, 0, 3, 2)).copy() * -1 + tmp78 = t2.transpose((1, 0, 3, 2)).copy() + tmp78 += t2.transpose((1, 0, 2, 3)) * -1 + tmp79 = einsum(l2, (0, 1, 2, 3), tmp78, (2, 4, 1, 5), (4, 3, 5, 0), optimize=True) + del tmp78 + tmp104 += tmp79.transpose((1, 0, 3, 2)) + tmp86 = einsum(tmp2, (0, 1, 2, 3), t1, (1, 4), (0, 2, 3, 4), optimize=True) + tmp104 += tmp86 + tmp105 = einsum(tmp104, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4), optimize=True) + del tmp104 + tmp106 = tmp105.transpose((0, 1, 3, 2)).copy() + del tmp105 + tmp92 = einsum(l1, (0, 1), t2, (2, 1, 3, 4), (2, 0, 3, 4), optimize=True) + tmp106 += tmp92 + rdm2.vovv += tmp106.transpose((1, 0, 3, 2)) + rdm2.vovv += tmp106.transpose((1, 0, 2, 3)) * -1 + tmp62 = einsum(t2, (0, 1, 2, 3), tmp61, (0, 1, 3, 4), (4, 2), optimize=True) * 0.5 + del tmp61 + tmp91 = tmp62.copy() + tmp91 += tmp82 * 0.5 + rdm2.vovv += einsum(tmp91, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) * 2 + tmp44 = l2.transpose((3, 2, 1, 0)).copy() * 2 + tmp44 += l2.transpose((3, 2, 0, 1)) * -1 + tmp45 = einsum(tmp44, (0, 1, 2, 3), t2, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) + del tmp44 + tmp108 = tmp45.copy() * -1 + tmp108 += tmp86 + tmp66 = einsum(t2, (0, 1, 2, 3), l2, (4, 2, 5, 1), (5, 0, 4, 3), optimize=True) + tmp108 += tmp66 + tmp109 = einsum(t1, (0, 1), tmp108, (0, 2, 3, 4), (2, 3, 4, 1), optimize=True) + del tmp108 + rdm2.vovv += tmp109.transpose((1, 0, 3, 2)) * -1 + rdm2.vovv += tmp96.transpose((1, 0, 2, 3)) * -1 + tmp68 = einsum(t2, (0, 1, 2, 3), l2, (2, 4, 5, 1), (5, 0, 4, 3), optimize=True) + tmp99 = einsum(tmp68, (0, 1, 2, 3), t1, (0, 4), (1, 2, 4, 3), optimize=True) + rdm2.vovv += tmp99.transpose((1, 0, 3, 2)) * -1 + rdm2.vovv += tmp92.transpose((1, 0, 3, 2)) + rdm2.vovv += einsum(tmp91, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) * 2 + rdm2.vovv += tmp109.transpose((1, 0, 3, 2)) * -1 + del tmp109 + rdm2.vovv += tmp96.transpose((1, 0, 2, 3)) * -1 + rdm2.vovv += tmp99.transpose((1, 0, 3, 2)) * -1 + rdm2.vovv += tmp92.transpose((1, 0, 3, 2)) + rdm2.vovv += tmp107.transpose((1, 0, 3, 2)) + rdm2.vovv += tmp107.transpose((1, 0, 2, 3)) * -1 + del tmp107 + rdm2.vovv += tmp106.transpose((1, 0, 3, 2)) + rdm2.vovv += tmp106.transpose((1, 0, 2, 3)) * -1 + del tmp106 + tmp98 = einsum(tmp86, (0, 1, 2, 3), t1, (0, 4), (1, 2, 4, 3), optimize=True) + rdm2.ovvv = tmp98.transpose((0, 1, 3, 2)).copy() * -1 + rdm2.ovvv += tmp98 + tmp97 = einsum(tmp62, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) * 2 + tmp97 += tmp96 + rdm2.ovvv += tmp97.transpose((0, 1, 3, 2)) * -1 + rdm2.ovvv += tmp97 + tmp93 = tmp79.transpose((1, 0, 3, 2)).copy() * -1 + tmp93 += tmp80.transpose((1, 0, 3, 2)) + tmp94 = einsum(tmp93, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4), optimize=True) + del tmp93 + tmp95 = tmp94.transpose((0, 1, 3, 2)).copy() * -1 + del tmp94 + tmp95 += einsum(tmp82, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) + del tmp82 + tmp95 += tmp92 + rdm2.ovvv += tmp95.transpose((0, 1, 3, 2)) * -1 + rdm2.ovvv += tmp95 + rdm2.ovvv += einsum(tmp84, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) + tmp100 = l2.transpose((3, 2, 1, 0)).copy() * 2 + tmp100 += l2.transpose((3, 2, 0, 1)) * -1 + tmp101 = einsum(t2, (0, 1, 2, 3), tmp100, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) + del tmp100 + tmp102 = tmp101.copy() * -1 + del tmp101 + tmp102 += tmp86 + tmp102 += tmp66 + tmp103 = einsum(tmp102, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4), optimize=True) + del tmp102 + rdm2.ovvv += tmp103 * -1 + rdm2.ovvv += tmp99 * -1 + rdm2.ovvv += tmp96.transpose((0, 1, 3, 2)) * -1 + rdm2.ovvv += tmp92 + rdm2.ovvv += einsum(tmp84, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) + rdm2.ovvv += tmp103 * -1 + del tmp103 + rdm2.ovvv += tmp99 * -1 + del tmp99 + rdm2.ovvv += tmp96.transpose((0, 1, 3, 2)) * -1 + del tmp96 + rdm2.ovvv += tmp92 + del tmp92 + rdm2.ovvv += tmp98.transpose((0, 1, 3, 2)) * -1 + rdm2.ovvv += tmp98 + del tmp98 + rdm2.ovvv += tmp97.transpose((0, 1, 3, 2)) * -1 + rdm2.ovvv += tmp97 + del tmp97 + rdm2.ovvv += tmp95.transpose((0, 1, 3, 2)) * -1 + rdm2.ovvv += tmp95 + del tmp95 + rdm2.vvoo = l2.transpose((1, 0, 3, 2)).copy() + rdm2.vvoo += l2.transpose((0, 1, 3, 2)) * -1 + rdm2.vvoo += l2.transpose((1, 0, 3, 2)) + rdm2.vvoo += l2.transpose((1, 0, 3, 2)) + rdm2.vvoo += l2.transpose((1, 0, 3, 2)) + rdm2.vvoo += l2.transpose((0, 1, 3, 2)) * -1 + rdm2.vovo = einsum(tmp91, (0, 1), delta.oo, (2, 3), (0, 3, 1, 2), optimize=True) * 2 + tmp87 = tmp2.transpose((1, 0, 2, 3)).copy() * -1 + tmp87 += tmp2 + tmp88 = einsum(t1, (0, 1), tmp87, (0, 2, 3, 4), (2, 3, 4, 1), optimize=True) + del tmp87 + rdm2.vovo += tmp88.transpose((2, 1, 3, 0)) * -1 + tmp89 = l2.transpose((3, 2, 1, 0)).copy() * -1 + tmp89 += l2.transpose((3, 2, 0, 1)) + tmp90 = einsum(tmp89, (0, 1, 2, 3), t2, (0, 4, 5, 2), (1, 4, 3, 5), optimize=True) + del tmp89 + rdm2.vovo += tmp90.transpose((2, 1, 3, 0)) * -1 + rdm2.vovo += tmp45.transpose((2, 1, 3, 0)) * -1 + rdm2.vovo += einsum(l1, (0, 1), t1, (2, 3), (0, 2, 3, 1), optimize=True) * -1 + rdm2.vovo += einsum(tmp91, (0, 1), delta.oo, (2, 3), (0, 3, 1, 2), optimize=True) * 2 + tmp85 = einsum(tmp2, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4), optimize=True) + rdm2.vovo += tmp85.transpose((2, 1, 3, 0)) * -1 + rdm2.vovo += tmp68.transpose((2, 1, 3, 0)) * -1 + rdm2.vovo += einsum(tmp91, (0, 1), delta.oo, (2, 3), (0, 3, 1, 2), optimize=True) * 2 + rdm2.vovo += tmp85.transpose((2, 1, 3, 0)) * -1 + rdm2.vovo += tmp68.transpose((2, 1, 3, 0)) * -1 + rdm2.vovo += einsum(tmp91, (0, 1), delta.oo, (2, 3), (0, 3, 1, 2), optimize=True) * 2 + del tmp91 + rdm2.vovo += tmp88.transpose((2, 1, 3, 0)) * -1 + rdm2.vovo += tmp90.transpose((2, 1, 3, 0)) * -1 + del tmp90 + rdm2.vovo += tmp45.transpose((2, 1, 3, 0)) * -1 + rdm2.vovo += einsum(l1, (0, 1), t1, (2, 3), (0, 2, 3, 1), optimize=True) * -1 + rdm2.voov = einsum(tmp84, (0, 1), delta.oo, (2, 3), (0, 3, 2, 1), optimize=True) * -1 + rdm2.voov += tmp88.transpose((2, 1, 0, 3)) + rdm2.voov += tmp79.transpose((3, 0, 1, 2)) * -1 + rdm2.voov += tmp80.transpose((3, 0, 1, 2)) + rdm2.voov += einsum(l1, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) + rdm2.voov += tmp45.transpose((2, 1, 0, 3)) + rdm2.voov += tmp86.transpose((2, 1, 0, 3)) * -1 + rdm2.voov += tmp66.transpose((2, 1, 0, 3)) * -1 + rdm2.voov += einsum(l1, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) + rdm2.voov += tmp45.transpose((2, 1, 0, 3)) + rdm2.voov += tmp86.transpose((2, 1, 0, 3)) * -1 + rdm2.voov += tmp66.transpose((2, 1, 0, 3)) * -1 + rdm2.voov += einsum(l1, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) + rdm2.voov += einsum(tmp84, (0, 1), delta.oo, (2, 3), (0, 3, 2, 1), optimize=True) * -1 + rdm2.voov += tmp88.transpose((2, 1, 0, 3)) + del tmp88 + rdm2.voov += tmp79.transpose((3, 0, 1, 2)) * -1 + rdm2.voov += tmp80.transpose((3, 0, 1, 2)) + rdm2.voov += einsum(l1, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) + rdm2.ovvo = einsum(tmp84, (0, 1), delta.oo, (2, 3), (3, 0, 1, 2), optimize=True) * -1 + tmp17 = tmp2.transpose((1, 0, 2, 3)).copy() + tmp17 += tmp2 * -1 + tmp81 = einsum(t1, (0, 1), tmp17, (0, 2, 3, 4), (2, 3, 4, 1), optimize=True) + rdm2.ovvo += tmp81.transpose((1, 2, 3, 0)) * -1 + tmp47 = l2.transpose((3, 2, 1, 0)).copy() + tmp47 += l2.transpose((3, 2, 0, 1)) * -1 + tmp48 = einsum(t2, (0, 1, 2, 3), tmp47, (0, 4, 3, 5), (4, 1, 5, 2), optimize=True) + del tmp47 + rdm2.ovvo += tmp48.transpose((1, 2, 3, 0)) * -1 + rdm2.ovvo += tmp45.transpose((1, 2, 3, 0)) + rdm2.ovvo += einsum(l1, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) + rdm2.ovvo += tmp45.transpose((1, 2, 3, 0)) + rdm2.ovvo += tmp86.transpose((1, 2, 3, 0)) * -1 + rdm2.ovvo += tmp66.transpose((1, 2, 3, 0)) * -1 + rdm2.ovvo += einsum(l1, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) + rdm2.ovvo += tmp45.transpose((1, 2, 3, 0)) + rdm2.ovvo += tmp86.transpose((1, 2, 3, 0)) * -1 + del tmp86 + rdm2.ovvo += tmp66.transpose((1, 2, 3, 0)) * -1 + rdm2.ovvo += einsum(l1, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) + rdm2.ovvo += einsum(tmp84, (0, 1), delta.oo, (2, 3), (3, 0, 1, 2), optimize=True) * -1 + rdm2.ovvo += tmp81.transpose((1, 2, 3, 0)) * -1 + rdm2.ovvo += tmp48.transpose((1, 2, 3, 0)) * -1 + rdm2.ovvo += tmp45.transpose((1, 2, 3, 0)) + rdm2.ovvo += einsum(l1, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) + rdm2.ovov = einsum(tmp84, (0, 1), delta.oo, (2, 3), (3, 0, 2, 1), optimize=True) + rdm2.ovov += tmp81.transpose((1, 2, 0, 3)) + rdm2.ovov += tmp80.transpose((0, 3, 1, 2)) * -1 + rdm2.ovov += tmp79.transpose((0, 3, 1, 2)) + rdm2.ovov += einsum(l1, (0, 1), t1, (2, 3), (2, 0, 1, 3), optimize=True) * -1 + rdm2.ovov += einsum(tmp84, (0, 1), delta.oo, (2, 3), (3, 0, 2, 1), optimize=True) + rdm2.ovov += tmp85.transpose((1, 2, 0, 3)) * -1 + rdm2.ovov += tmp68.transpose((1, 2, 0, 3)) * -1 + rdm2.ovov += einsum(tmp84, (0, 1), delta.oo, (2, 3), (3, 0, 2, 1), optimize=True) + rdm2.ovov += tmp85.transpose((1, 2, 0, 3)) * -1 + del tmp85 + rdm2.ovov += tmp68.transpose((1, 2, 0, 3)) * -1 + rdm2.ovov += einsum(tmp84, (0, 1), delta.oo, (2, 3), (3, 0, 2, 1), optimize=True) + del tmp84 + rdm2.ovov += tmp81.transpose((1, 2, 0, 3)) + del tmp81 + rdm2.ovov += tmp80.transpose((0, 3, 1, 2)) * -1 + del tmp80 + rdm2.ovov += tmp79.transpose((0, 3, 1, 2)) + del tmp79 + rdm2.ovov += einsum(l1, (0, 1), t1, (2, 3), (2, 0, 1, 3), optimize=True) * -1 + rdm2.oovv = einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) + rdm2.oovv += einsum(t1, (0, 1), t1, (2, 3), (2, 0, 1, 3), optimize=True) * -1 + rdm2.oovv += t2.transpose((1, 0, 3, 2)) + rdm2.oovv += t2.transpose((1, 0, 2, 3)) * -1 + tmp5 = t2.transpose((1, 0, 3, 2)).copy() * -0.5 + tmp5 += t2.transpose((1, 0, 2, 3)) + tmp6 = einsum(tmp5, (0, 1, 2, 3), l2, (3, 2, 0, 4), (4, 1), optimize=True) * 2 + tmp10 = einsum(tmp6, (0, 1), t1, (0, 2), (1, 2), optimize=True) * 0.5 + tmp11 = tmp10.copy() + del tmp10 + tmp8 = tmp2.transpose((1, 0, 2, 3)).copy() * -1 + tmp8 += tmp2 * 2 + tmp9 = einsum(t2, (0, 1, 2, 3), tmp8, (1, 0, 4, 3), (4, 2), optimize=True) * 0.5 + tmp11 += tmp9 + tmp65 = einsum(tmp11, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) * 2 + tmp64 = einsum(t2, (0, 1, 2, 3), tmp6, (0, 4), (1, 4, 2, 3), optimize=True) + tmp65 += tmp64.transpose((0, 1, 3, 2)) + del tmp64 + tmp63 = einsum(t2, (0, 1, 2, 3), tmp62, (2, 4), (0, 1, 4, 3), optimize=True) * 2 + del tmp62 + tmp65 += tmp63.transpose((1, 0, 3, 2)) + del tmp63 + rdm2.oovv += tmp65.transpose((1, 0, 3, 2)) * -1 + rdm2.oovv += tmp65.transpose((1, 0, 2, 3)) + rdm2.oovv += tmp65.transpose((0, 1, 3, 2)) + rdm2.oovv += tmp65 * -1 + tmp1 = einsum(l2, (0, 1, 2, 3), t2, (4, 5, 1, 0), (2, 3, 5, 4), optimize=True) + tmp22 = einsum(t1, (0, 1), tmp1, (2, 0, 3, 4), (2, 3, 4, 1), optimize=True) + tmp59 = einsum(tmp22, (0, 1, 2, 3), t1, (0, 4), (1, 2, 4, 3), optimize=True) + tmp60 = tmp59.copy() + del tmp59 + tmp3 = einsum(t1, (0, 1), tmp2, (2, 3, 4, 1), (2, 3, 0, 4), optimize=True) + tmp58 = einsum(tmp3, (0, 1, 2, 3), t2, (1, 0, 4, 5), (2, 3, 5, 4), optimize=True) + tmp60 += tmp58 + tmp57 = einsum(tmp1, (0, 1, 2, 3), t2, (0, 1, 4, 5), (2, 3, 4, 5), optimize=True) + tmp60 += tmp57 + rdm2.oovv += tmp60.transpose((0, 1, 3, 2)) * -1 + rdm2.oovv += tmp60 + tmp13 = einsum(tmp12, (0, 1, 2, 3), l1, (2, 0), (1, 3), optimize=True) + del tmp12 + tmp55 = tmp13.copy() * -1 + tmp0 = einsum(l1, (0, 1), t1, (2, 0), (1, 2), optimize=True) + tmp14 = einsum(tmp0, (0, 1), t1, (0, 2), (1, 2), optimize=True) + tmp55 += tmp14 + tmp56 = einsum(tmp55, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) * -1 + del tmp55 + tmp19 = tmp2.transpose((1, 0, 2, 3)).copy() * 2 + tmp19 += tmp2 * -1 + tmp20 = einsum(tmp19, (0, 1, 2, 3), t2, (1, 4, 3, 5), (0, 2, 4, 5), optimize=True) + del tmp19 + tmp53 = tmp20.copy() * -1 + tmp18 = einsum(tmp17, (0, 1, 2, 3), t2, (1, 4, 5, 3), (0, 2, 4, 5), optimize=True) + del tmp17 + tmp53 += tmp18 + tmp15 = einsum(l1, (0, 1), t2, (2, 3, 4, 0), (1, 2, 3, 4), optimize=True) + tmp53 += tmp15 + tmp54 = einsum(t1, (0, 1), tmp53, (0, 2, 3, 4), (2, 3, 4, 1), optimize=True) + del tmp53 + tmp56 += tmp54.transpose((0, 1, 3, 2)) + del tmp54 + tmp52 = einsum(tmp45, (0, 1, 2, 3), t2, (0, 4, 5, 2), (1, 4, 3, 5), optimize=True) + tmp56 += tmp52 * -1 + tmp51 = einsum(tmp0, (0, 1), t2, (2, 0, 3, 4), (1, 2, 3, 4), optimize=True) + tmp56 += tmp51 + rdm2.oovv += tmp56.transpose((1, 0, 3, 2)) + rdm2.oovv += tmp56.transpose((1, 0, 2, 3)) * -1 + rdm2.oovv += tmp56.transpose((0, 1, 3, 2)) * -1 + rdm2.oovv += tmp56 + tmp49 = einsum(t2, (0, 1, 2, 3), tmp48, (0, 4, 3, 5), (4, 1, 5, 2), optimize=True) + del tmp48 + tmp50 = tmp49.transpose((1, 0, 3, 2)).copy() + del tmp49 + tmp46 = einsum(tmp45, (0, 1, 2, 3), t2, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) + del tmp45 + tmp50 += tmp46 * 2 + tmp16 = einsum(t1, (0, 1), tmp3, (0, 2, 3, 4), (2, 4, 3, 1), optimize=True) + tmp43 = einsum(t1, (0, 1), tmp16, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) + tmp50 += tmp43 + del tmp43 + rdm2.oovv += tmp50.transpose((0, 1, 3, 2)) * -1 + rdm2.oovv += tmp50 + tmp77 = tmp14.copy() * -1 + tmp77 += t1 + rdm2.oovv += einsum(tmp77, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) + tmp4 = tmp3.copy() + tmp4 += tmp1.transpose((1, 0, 3, 2)) + tmp28 = einsum(t1, (0, 1), tmp4, (0, 2, 3, 4), (2, 3, 4, 1), optimize=True) + tmp76 = einsum(tmp28, (0, 1, 2, 3), t1, (0, 4), (2, 1, 3, 4), optimize=True) + rdm2.oovv += tmp76.transpose((0, 1, 3, 2)) + rdm2.oovv += tmp46.transpose((1, 0, 3, 2)) * 2 + tmp25 = einsum(tmp2, (0, 1, 2, 3), t2, (4, 1, 3, 5), (0, 2, 4, 5), optimize=True) + tmp73 = tmp25.copy() * -1 + tmp73 += tmp15 + tmp74 = einsum(tmp73, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4), optimize=True) + del tmp73 + tmp75 = tmp74.transpose((0, 1, 3, 2)).copy() + del tmp74 + tmp75 += tmp51 + del tmp51 + rdm2.oovv += tmp75.transpose((1, 0, 2, 3)) * -1 + rdm2.oovv += tmp75.transpose((0, 1, 3, 2)) * -1 + rdm2.oovv += tmp65.transpose((1, 0, 3, 2)) * -1 + rdm2.oovv += tmp65 * -1 + tmp72 = einsum(tmp13, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) + tmp70 = tmp20.copy() * -1 + tmp24 = einsum(tmp2, (0, 1, 2, 3), t2, (4, 0, 3, 5), (1, 2, 4, 5), optimize=True) + tmp70 += tmp24 + tmp71 = einsum(tmp70, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4), optimize=True) + del tmp70 + tmp72 += tmp71.transpose((0, 1, 3, 2)) + del tmp71 + tmp72 += tmp52 * -1 + del tmp52 + rdm2.oovv += tmp72.transpose((1, 0, 3, 2)) + rdm2.oovv += tmp72 + rdm2.oovv += einsum(tmp14, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) * -1 + rdm2.oovv += t2.transpose((1, 0, 3, 2)) + rdm2.oovv += tmp58 + rdm2.oovv += tmp57 + tmp69 = einsum(t2, (0, 1, 2, 3), tmp68, (1, 4, 2, 5), (4, 0, 5, 3), optimize=True) + del tmp68 + rdm2.oovv += tmp69.transpose((0, 1, 3, 2)) + tmp67 = einsum(t2, (0, 1, 2, 3), tmp66, (1, 4, 2, 5), (4, 0, 5, 3), optimize=True) + del tmp66 + rdm2.oovv += tmp67 + rdm2.oovv += einsum(tmp77, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) + del tmp77 + rdm2.oovv += tmp76.transpose((0, 1, 3, 2)) + del tmp76 + rdm2.oovv += tmp46.transpose((1, 0, 3, 2)) * 2 + del tmp46 + rdm2.oovv += tmp75.transpose((1, 0, 2, 3)) * -1 + rdm2.oovv += tmp75.transpose((0, 1, 3, 2)) * -1 + del tmp75 + rdm2.oovv += tmp65.transpose((1, 0, 3, 2)) * -1 + rdm2.oovv += tmp65 * -1 + rdm2.oovv += tmp72.transpose((1, 0, 3, 2)) + rdm2.oovv += tmp72 + del tmp72 + rdm2.oovv += einsum(tmp14, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) * -1 + rdm2.oovv += t2.transpose((1, 0, 3, 2)) + rdm2.oovv += tmp58 + del tmp58 + rdm2.oovv += tmp57 + del tmp57 + rdm2.oovv += tmp69.transpose((0, 1, 3, 2)) + del tmp69 + rdm2.oovv += tmp67 + del tmp67 + rdm2.oovv += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) + rdm2.oovv += einsum(t1, (0, 1), t1, (2, 3), (2, 0, 1, 3), optimize=True) * -1 + rdm2.oovv += t2.transpose((1, 0, 3, 2)) + rdm2.oovv += t2.transpose((1, 0, 2, 3)) * -1 + rdm2.oovv += tmp65.transpose((1, 0, 3, 2)) * -1 + rdm2.oovv += tmp65.transpose((1, 0, 2, 3)) + rdm2.oovv += tmp65.transpose((0, 1, 3, 2)) + rdm2.oovv += tmp65 * -1 + del tmp65 + rdm2.oovv += tmp60.transpose((0, 1, 3, 2)) * -1 + rdm2.oovv += tmp60 + del tmp60 + rdm2.oovv += tmp56.transpose((1, 0, 3, 2)) + rdm2.oovv += tmp56.transpose((1, 0, 2, 3)) * -1 + rdm2.oovv += tmp56.transpose((0, 1, 3, 2)) * -1 + rdm2.oovv += tmp56 + del tmp56 + rdm2.oovv += tmp50.transpose((0, 1, 3, 2)) * -1 + rdm2.oovv += tmp50 + del tmp50 + rdm2.vooo = tmp2.transpose((3, 2, 1, 0)).copy() + rdm2.vooo += tmp2.transpose((3, 2, 0, 1)) * -1 + rdm2.vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 1, 0, 3), optimize=True) * -1 + rdm2.vooo += einsum(l1, (0, 1), delta.oo, (2, 3), (0, 3, 1, 2), optimize=True) + rdm2.vooo += tmp2.transpose((3, 2, 0, 1)) * -1 + rdm2.vooo += einsum(l1, (0, 1), delta.oo, (2, 3), (0, 3, 1, 2), optimize=True) + rdm2.vooo += tmp2.transpose((3, 2, 0, 1)) * -1 + rdm2.vooo += einsum(l1, (0, 1), delta.oo, (2, 3), (0, 3, 1, 2), optimize=True) + rdm2.vooo += tmp2.transpose((3, 2, 1, 0)) + rdm2.vooo += tmp2.transpose((3, 2, 0, 1)) * -1 + rdm2.vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 1, 0, 3), optimize=True) * -1 + rdm2.vooo += einsum(l1, (0, 1), delta.oo, (2, 3), (0, 3, 1, 2), optimize=True) + rdm2.ovoo = tmp2.transpose((2, 3, 1, 0)).copy() * -1 + rdm2.ovoo += tmp2.transpose((2, 3, 0, 1)) + rdm2.ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (1, 2, 0, 3), optimize=True) + rdm2.ovoo += einsum(l1, (0, 1), delta.oo, (2, 3), (3, 0, 1, 2), optimize=True) * -1 + rdm2.ovoo += tmp2.transpose((2, 3, 1, 0)) * -1 + rdm2.ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (1, 2, 0, 3), optimize=True) + rdm2.ovoo += tmp2.transpose((2, 3, 1, 0)) * -1 + rdm2.ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (1, 2, 0, 3), optimize=True) + rdm2.ovoo += tmp2.transpose((2, 3, 1, 0)) * -1 + rdm2.ovoo += tmp2.transpose((2, 3, 0, 1)) + rdm2.ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (1, 2, 0, 3), optimize=True) + rdm2.ovoo += einsum(l1, (0, 1), delta.oo, (2, 3), (3, 0, 1, 2), optimize=True) * -1 + tmp39 = einsum(tmp6, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) + tmp39 += tmp28.transpose((0, 2, 1, 3)) + tmp39 += tmp15 + rdm2.oovo = tmp39.transpose((2, 1, 3, 0)).copy() + rdm2.oovo += tmp39.transpose((1, 2, 3, 0)) * -1 + tmp38 = tmp20.copy() * -1 + tmp38 += tmp18 + tmp38 += einsum(tmp0, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) + rdm2.oovo += tmp38.transpose((2, 1, 3, 0)) + rdm2.oovo += tmp38.transpose((1, 2, 3, 0)) * -1 + rdm2.oovo += einsum(delta.oo, (0, 1), tmp13, (2, 3), (0, 2, 3, 1), optimize=True) * -1 + rdm2.oovo += einsum(delta.oo, (0, 1), tmp13, (2, 3), (2, 1, 3, 0), optimize=True) + rdm2.oovo += einsum(t1, (0, 1), delta.oo, (2, 3), (3, 0, 1, 2), optimize=True) * -1 + rdm2.oovo += einsum(delta.oo, (0, 1), t1, (2, 3), (2, 1, 3, 0), optimize=True) + tmp32 = einsum(tmp5, (0, 1, 2, 3), l2, (3, 2, 0, 4), (4, 1), optimize=True) + del tmp5 + tmp33 = tmp32.copy() + del tmp32 + tmp33 += tmp0 * 0.5 + tmp34 = einsum(tmp33, (0, 1), t1, (0, 2), (1, 2), optimize=True) * 2 + tmp37 = tmp34.copy() + tmp29 = einsum(t2, (0, 1, 2, 3), tmp8, (1, 0, 4, 3), (4, 2), optimize=True) + del tmp8 + tmp37 += tmp29 + rdm2.oovo += einsum(delta.oo, (0, 1), tmp37, (2, 3), (0, 2, 3, 1), optimize=True) + rdm2.oovo += einsum(delta.oo, (0, 1), tmp37, (2, 3), (2, 1, 3, 0), optimize=True) * -1 + tmp36 = tmp6.copy() + tmp36 += tmp0 + rdm2.oovo += einsum(t1, (0, 1), tmp36, (2, 3), (0, 3, 1, 2), optimize=True) * -1 + tmp41 = einsum(tmp33, (0, 1), t1, (0, 2), (1, 2), optimize=True) + del tmp33 + tmp42 = tmp41.copy() + del tmp41 + tmp30 = t2.transpose((1, 0, 3, 2)).copy() * 2 + tmp30 += t2.transpose((1, 0, 2, 3)) * -1 + tmp40 = einsum(l1, (0, 1), tmp30, (1, 2, 0, 3), (2, 3), optimize=True) * 0.5 + tmp42 += tmp40 * -1 + del tmp40 + tmp42 += tmp9 + del tmp9 + tmp42 += t1 * -0.5 + rdm2.oovo += einsum(delta.oo, (0, 1), tmp42, (2, 3), (2, 1, 3, 0), optimize=True) * -2 + rdm2.oovo += tmp28.transpose((1, 2, 3, 0)) + tmp26 = tmp2.transpose((1, 0, 2, 3)).copy() * -1 + tmp26 += tmp2 * 2 + del tmp2 + tmp27 = einsum(tmp26, (0, 1, 2, 3), t2, (0, 4, 3, 5), (1, 2, 4, 5), optimize=True) + del tmp26 + rdm2.oovo += tmp27.transpose((2, 1, 3, 0)) * -1 + rdm2.oovo += tmp15.transpose((1, 2, 3, 0)) * -1 + rdm2.oovo += tmp24.transpose((2, 1, 3, 0)) + rdm2.oovo += tmp25.transpose((1, 2, 3, 0)) + rdm2.oovo += einsum(t1, (0, 1), tmp36, (2, 3), (0, 3, 1, 2), optimize=True) * -1 + rdm2.oovo += einsum(delta.oo, (0, 1), tmp42, (2, 3), (2, 1, 3, 0), optimize=True) * -2 + del tmp42 + rdm2.oovo += tmp28.transpose((1, 2, 3, 0)) + rdm2.oovo += tmp27.transpose((2, 1, 3, 0)) * -1 + rdm2.oovo += tmp15.transpose((1, 2, 3, 0)) * -1 + rdm2.oovo += tmp24.transpose((2, 1, 3, 0)) + rdm2.oovo += tmp25.transpose((1, 2, 3, 0)) + rdm2.oovo += tmp39.transpose((2, 1, 3, 0)) + rdm2.oovo += tmp39.transpose((1, 2, 3, 0)) * -1 + del tmp39 + rdm2.oovo += tmp38.transpose((2, 1, 3, 0)) + rdm2.oovo += tmp38.transpose((1, 2, 3, 0)) * -1 + del tmp38 + rdm2.oovo += einsum(delta.oo, (0, 1), tmp13, (2, 3), (0, 2, 3, 1), optimize=True) * -1 + rdm2.oovo += einsum(delta.oo, (0, 1), tmp13, (2, 3), (2, 1, 3, 0), optimize=True) + rdm2.oovo += einsum(t1, (0, 1), delta.oo, (2, 3), (3, 0, 1, 2), optimize=True) * -1 + rdm2.oovo += einsum(delta.oo, (0, 1), t1, (2, 3), (2, 1, 3, 0), optimize=True) + rdm2.oovo += einsum(delta.oo, (0, 1), tmp37, (2, 3), (0, 2, 3, 1), optimize=True) + rdm2.oovo += einsum(delta.oo, (0, 1), tmp37, (2, 3), (2, 1, 3, 0), optimize=True) * -1 + del tmp37 + rdm2.ooov = einsum(tmp0, (0, 1), t1, (2, 3), (1, 2, 0, 3), optimize=True) * -1 + rdm2.ooov += einsum(tmp0, (0, 1), t1, (2, 3), (2, 1, 0, 3), optimize=True) + tmp23 = einsum(tmp6, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) + tmp23 += tmp22 + del tmp22 + rdm2.ooov += tmp23.transpose((2, 1, 0, 3)) * -1 + rdm2.ooov += tmp23.transpose((1, 2, 0, 3)) + tmp21 = tmp20.copy() * -1 + del tmp20 + tmp21 += tmp18 + del tmp18 + tmp21 += tmp16 + del tmp16 + tmp21 += tmp15 + rdm2.ooov += tmp21.transpose((2, 1, 0, 3)) * -1 + rdm2.ooov += tmp21.transpose((1, 2, 0, 3)) + rdm2.ooov += einsum(delta.oo, (0, 1), tmp14, (2, 3), (0, 2, 1, 3), optimize=True) * -1 + rdm2.ooov += einsum(delta.oo, (0, 1), tmp14, (2, 3), (2, 1, 0, 3), optimize=True) + rdm2.ooov += einsum(delta.oo, (0, 1), tmp13, (2, 3), (0, 2, 1, 3), optimize=True) + rdm2.ooov += einsum(delta.oo, (0, 1), tmp13, (2, 3), (2, 1, 0, 3), optimize=True) * -1 + rdm2.ooov += einsum(t1, (0, 1), delta.oo, (2, 3), (3, 0, 2, 1), optimize=True) + rdm2.ooov += einsum(delta.oo, (0, 1), t1, (2, 3), (2, 1, 0, 3), optimize=True) * -1 + rdm2.ooov += einsum(delta.oo, (0, 1), tmp11, (2, 3), (0, 2, 1, 3), optimize=True) * -2 + rdm2.ooov += einsum(delta.oo, (0, 1), tmp11, (2, 3), (2, 1, 0, 3), optimize=True) * 2 + rdm2.ooov += einsum(tmp36, (0, 1), t1, (2, 3), (1, 2, 0, 3), optimize=True) * -1 + tmp35 = tmp34.copy() + del tmp34 + tmp31 = einsum(l1, (0, 1), tmp30, (1, 2, 0, 3), (2, 3), optimize=True) + del tmp30 + tmp35 += tmp31 * -1 + del tmp31 + tmp35 += tmp29 + del tmp29 + tmp35 += t1 * -1 + rdm2.ooov += einsum(tmp35, (0, 1), delta.oo, (2, 3), (3, 0, 2, 1), optimize=True) * -1 + rdm2.ooov += tmp28.transpose((2, 1, 0, 3)) + rdm2.ooov += tmp27.transpose((1, 2, 0, 3)) * -1 + rdm2.ooov += tmp15.transpose((2, 1, 0, 3)) * -1 + rdm2.ooov += tmp25.transpose((2, 1, 0, 3)) + rdm2.ooov += tmp24.transpose((1, 2, 0, 3)) + rdm2.ooov += einsum(tmp36, (0, 1), t1, (2, 3), (1, 2, 0, 3), optimize=True) * -1 + del tmp36 + rdm2.ooov += einsum(tmp35, (0, 1), delta.oo, (2, 3), (3, 0, 2, 1), optimize=True) * -1 + del tmp35 + rdm2.ooov += tmp28.transpose((2, 1, 0, 3)) + del tmp28 + rdm2.ooov += tmp27.transpose((1, 2, 0, 3)) * -1 + del tmp27 + rdm2.ooov += tmp15.transpose((2, 1, 0, 3)) * -1 + del tmp15 + rdm2.ooov += tmp25.transpose((2, 1, 0, 3)) + del tmp25 + rdm2.ooov += tmp24.transpose((1, 2, 0, 3)) + del tmp24 + rdm2.ooov += einsum(tmp0, (0, 1), t1, (2, 3), (1, 2, 0, 3), optimize=True) * -1 + rdm2.ooov += einsum(tmp0, (0, 1), t1, (2, 3), (2, 1, 0, 3), optimize=True) + rdm2.ooov += tmp23.transpose((2, 1, 0, 3)) * -1 + rdm2.ooov += tmp23.transpose((1, 2, 0, 3)) + del tmp23 + rdm2.ooov += tmp21.transpose((2, 1, 0, 3)) * -1 + rdm2.ooov += tmp21.transpose((1, 2, 0, 3)) + del tmp21 + rdm2.ooov += einsum(delta.oo, (0, 1), tmp14, (2, 3), (0, 2, 1, 3), optimize=True) * -1 + rdm2.ooov += einsum(delta.oo, (0, 1), tmp14, (2, 3), (2, 1, 0, 3), optimize=True) + del tmp14 + rdm2.ooov += einsum(delta.oo, (0, 1), tmp13, (2, 3), (0, 2, 1, 3), optimize=True) + rdm2.ooov += einsum(delta.oo, (0, 1), tmp13, (2, 3), (2, 1, 0, 3), optimize=True) * -1 + del tmp13 + rdm2.ooov += einsum(t1, (0, 1), delta.oo, (2, 3), (3, 0, 2, 1), optimize=True) + rdm2.ooov += einsum(delta.oo, (0, 1), t1, (2, 3), (2, 1, 0, 3), optimize=True) * -1 + rdm2.ooov += einsum(delta.oo, (0, 1), tmp11, (2, 3), (0, 2, 1, 3), optimize=True) * -2 + rdm2.ooov += einsum(delta.oo, (0, 1), tmp11, (2, 3), (2, 1, 0, 3), optimize=True) * 2 + del tmp11 + rdm2.oooo = einsum(delta.oo, (0, 1), tmp6, (2, 3), (0, 3, 1, 2), optimize=True) * -1 + rdm2.oooo += einsum(tmp6, (0, 1), delta.oo, (2, 3), (1, 3, 2, 0), optimize=True) + rdm2.oooo += einsum(tmp6, (0, 1), delta.oo, (2, 3), (2, 1, 0, 3), optimize=True) + rdm2.oooo += einsum(tmp6, (0, 1), delta.oo, (2, 3), (1, 3, 0, 2), optimize=True) * -1 + rdm2.oooo += tmp4.transpose((2, 3, 0, 1)) + rdm2.oooo += tmp4.transpose((3, 2, 0, 1)) * -1 + rdm2.oooo += einsum(tmp0, (0, 1), delta.oo, (2, 3), (3, 1, 2, 0), optimize=True) * -1 + rdm2.oooo += einsum(delta.oo, (0, 1), tmp0, (2, 3), (3, 1, 0, 2), optimize=True) + rdm2.oooo += einsum(tmp0, (0, 1), delta.oo, (2, 3), (3, 1, 0, 2), optimize=True) + rdm2.oooo += einsum(tmp0, (0, 1), delta.oo, (2, 3), (1, 3, 0, 2), optimize=True) * -1 + rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (3, 0, 1, 2), optimize=True) * -1 + rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (3, 1, 2, 0), optimize=True) + tmp7 = tmp0.copy() * -1 + tmp7 += delta.oo.transpose((1, 0)) + rdm2.oooo += einsum(tmp7, (0, 1), delta.oo, (2, 3), (1, 3, 0, 2), optimize=True) + rdm2.oooo += einsum(delta.oo, (0, 1), tmp6, (2, 3), (0, 3, 1, 2), optimize=True) * -1 + rdm2.oooo += einsum(tmp6, (0, 1), delta.oo, (2, 3), (1, 3, 0, 2), optimize=True) * -1 + rdm2.oooo += tmp3.transpose((3, 2, 1, 0)) + rdm2.oooo += tmp1.transpose((3, 2, 1, 0)) + rdm2.oooo += einsum(tmp0, (0, 1), delta.oo, (2, 3), (3, 1, 2, 0), optimize=True) * -1 + rdm2.oooo += einsum(tmp7, (0, 1), delta.oo, (2, 3), (1, 3, 0, 2), optimize=True) + del tmp7 + rdm2.oooo += einsum(delta.oo, (0, 1), tmp6, (2, 3), (0, 3, 1, 2), optimize=True) * -1 + rdm2.oooo += einsum(tmp6, (0, 1), delta.oo, (2, 3), (1, 3, 0, 2), optimize=True) * -1 + rdm2.oooo += tmp3.transpose((3, 2, 1, 0)) + del tmp3 + rdm2.oooo += tmp1.transpose((3, 2, 1, 0)) + del tmp1 + rdm2.oooo += einsum(tmp0, (0, 1), delta.oo, (2, 3), (3, 1, 2, 0), optimize=True) * -1 + rdm2.oooo += einsum(delta.oo, (0, 1), tmp6, (2, 3), (0, 3, 1, 2), optimize=True) * -1 + rdm2.oooo += einsum(tmp6, (0, 1), delta.oo, (2, 3), (1, 3, 2, 0), optimize=True) + rdm2.oooo += einsum(tmp6, (0, 1), delta.oo, (2, 3), (2, 1, 0, 3), optimize=True) + rdm2.oooo += einsum(tmp6, (0, 1), delta.oo, (2, 3), (1, 3, 0, 2), optimize=True) * -1 + del tmp6 + rdm2.oooo += tmp4.transpose((2, 3, 0, 1)) + rdm2.oooo += tmp4.transpose((3, 2, 0, 1)) * -1 + del tmp4 + rdm2.oooo += einsum(tmp0, (0, 1), delta.oo, (2, 3), (3, 1, 2, 0), optimize=True) * -1 + rdm2.oooo += einsum(delta.oo, (0, 1), tmp0, (2, 3), (3, 1, 0, 2), optimize=True) + rdm2.oooo += einsum(tmp0, (0, 1), delta.oo, (2, 3), (3, 1, 0, 2), optimize=True) + rdm2.oooo += einsum(tmp0, (0, 1), delta.oo, (2, 3), (1, 3, 0, 2), optimize=True) * -1 + del tmp0 + rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (3, 0, 1, 2), optimize=True) * -1 + rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (3, 1, 2, 0), optimize=True) + del delta + rdm2 = pack_2e(rdm2.oooo, rdm2.ooov, rdm2.oovo, rdm2.ovoo, rdm2.vooo, rdm2.oovv, rdm2.ovov, rdm2.ovvo, rdm2.voov, rdm2.vovo, rdm2.vvoo, rdm2.ovvv, rdm2.vovv, rdm2.vvov, rdm2.vvvo, rdm2.vvvv) + rdm2 = rdm2.swapaxes(1, 2) + + return rdm2 + diff --git a/ebcc/codegen/UCCSD.py b/ebcc/codegen/UCCSD.py new file mode 100644 index 00000000..9dc07df1 --- /dev/null +++ b/ebcc/codegen/UCCSD.py @@ -0,0 +1,2650 @@ +""" +Code generated by `albert`: +https://github.com/obackhouse/albert + + * date: 2024-03-02T15:24:42.798022 + * python version: 3.10.12 (main, Nov 20 2023, 15:14:05) [GCC 11.4.0] + * albert version: 0.0.0 + * caller: /home/ollie/git/albert/albert/codegen/einsum.py + * node: ollie-desktop + * system: Linux + * processor: x86_64 + * release: 6.5.0-21-generic +""" + +from ebcc import numpy as np +from ebcc.util import pack_2e, einsum, Namespace + + +def energy(f=None, t1=None, t2=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-03-02T15:24:43.583536. + + Parameters + ---------- + f : Namespace of arrays + Fock matrix. + t1 : Namespace of arrays + T1 amplitudes. + t2 : Namespace of arrays + T2 amplitudes. + v : Namespace of arrays + Electron repulsion integrals. + + Returns + ------- + e_cc : float + Coupled cluster energy. + """ + + tmp2 = v.bbbb.ovov.transpose((2, 0, 3, 1)).copy() + tmp2 += v.bbbb.ovov.transpose((2, 0, 1, 3)) * -1 + tmp3 = einsum(tmp2, (0, 1, 2, 3), t1.bb, (0, 3), (1, 2), optimize=True) * -0.5 + del tmp2 + tmp3 += f.bb.ov + e_cc = einsum(tmp3, (0, 1), t1.bb, (0, 1), (), optimize=True) + del tmp3 + tmp0 = v.aaaa.ovov.transpose((2, 0, 3, 1)).copy() + tmp0 += v.aaaa.ovov.transpose((2, 0, 1, 3)) * -1 + tmp1 = einsum(t1.aa, (0, 1), tmp0, (0, 2, 3, 1), (2, 3), optimize=True) * -0.5 + del tmp0 + tmp1 += einsum(v.aabb.ovov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1), optimize=True) + tmp1 += f.aa.ov + e_cc += einsum(tmp1, (0, 1), t1.aa, (0, 1), (), optimize=True) + del tmp1 + e_cc += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (0, 3, 1, 2), (), optimize=True) * -1 + e_cc += einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (0, 2, 1, 3), (), optimize=True) + e_cc += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 1, 3), (), optimize=True) + + return e_cc + +def update_amps(f=None, t1=None, t2=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-03-02T15:25:21.168040. + + Parameters + ---------- + f : Namespace of arrays + Fock matrix. + t1 : Namespace of arrays + T1 amplitudes. + t2 : Namespace of arrays + T2 amplitudes. + v : Namespace of arrays + Electron repulsion integrals. + + Returns + ------- + t1new : Namespace of arrays + Updated T1 residuals. + t2new : Namespace of arrays + Updated T2 residuals. + """ + + t1new = Namespace() + t2new = Namespace() + tmp199 = einsum(v.bbbb.ovvv, (0, 1, 2, 3), t2.bbbb, (4, 5, 1, 3), (4, 5, 0, 2), optimize=True) + t2new.bbbb = einsum(tmp199, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 4, 3), optimize=True) * -2 + del tmp199 + tmp197 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t1.bb, (2, 4), (0, 3, 1, 4), optimize=True) + tmp197 += v.bbbb.ovvv.transpose((0, 1, 3, 2)) + tmp198 = einsum(tmp197, (0, 1, 2, 3), t1.bb, (0, 4), (1, 4, 3, 2), optimize=True) + del tmp197 + tmp198 += v.bbbb.vvvv.transpose((2, 3, 1, 0)) * -1 + t2new.bbbb += einsum(t2.bbbb, (0, 1, 2, 3), tmp198, (2, 4, 5, 3), (1, 0, 5, 4), optimize=True) * -2 + del tmp198 + tmp192 = einsum(v.bbbb.ovvv, (0, 1, 2, 3), t1.bb, (4, 3), (4, 0, 1, 2), optimize=True) + t2new.bbbb += tmp192.transpose((1, 0, 3, 2)) * -1 + tmp195 = einsum(t1.bb, (0, 1), v.bbbb.vvvv, (2, 1, 3, 4), (0, 3, 4, 2), optimize=True) + tmp196 = einsum(t1.bb, (0, 1), tmp195, (2, 3, 1, 4), (0, 2, 3, 4), optimize=True) + del tmp195 + t2new.bbbb += tmp196.transpose((0, 1, 3, 2)) * -1 + t2new.bbbb += tmp196 + del tmp196 + t2new.bbbb += tmp192.transpose((0, 1, 3, 2)) + tmp31 = einsum(v.aabb.ovov, (0, 1, 2, 3), t1.bb, (4, 3), (0, 4, 2, 1), optimize=True) + tmp189 = tmp31.copy() + tmp189 += v.aabb.ovoo.transpose((0, 3, 2, 1)) + tmp190 = einsum(t2.abab, (0, 1, 2, 3), tmp189, (0, 4, 5, 2), (1, 4, 5, 3), optimize=True) + del tmp189 + tmp191 = einsum(t1.bb, (0, 1), tmp190, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) + del tmp190 + t2new.bbbb += tmp191.transpose((1, 0, 3, 2)) + tmp179 = einsum(v.bbbb.oovv, (0, 1, 2, 3), t1.bb, (4, 3), (4, 0, 1, 2), optimize=True) + tmp187 = tmp179.transpose((2, 0, 1, 3)).copy() + tmp33 = einsum(t1.bb, (0, 1), v.bbbb.ovov, (2, 1, 3, 4), (0, 3, 2, 4), optimize=True) + tmp187 += tmp33 + tmp187 += v.bbbb.ooov.transpose((1, 2, 0, 3)) + tmp188 = einsum(tmp187, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 4, 3), optimize=True) + del tmp187 + t2new.bbbb += tmp188 * -1 + tmp182 = tmp33.transpose((0, 2, 1, 3)).copy() * -1 + tmp182 += tmp33 + tmp182 += v.bbbb.ooov.transpose((1, 2, 0, 3)) + tmp182 += v.bbbb.ooov.transpose((1, 0, 2, 3)) * -1 + tmp183 = einsum(t1.bb, (0, 1), tmp182, (2, 0, 3, 4), (2, 3, 1, 4), optimize=True) + del tmp182 + tmp184 = tmp183.copy() * -1 + del tmp183 + tmp184 += v.bbbb.oovv.transpose((1, 0, 3, 2)) + tmp185 = einsum(t2.bbbb, (0, 1, 2, 3), tmp184, (4, 0, 5, 2), (1, 4, 3, 5), optimize=True) + del tmp184 + t2new.bbbb += tmp185.transpose((1, 0, 2, 3)) * 2 + tmp132 = einsum(v.aabb.ovvv, (0, 1, 2, 3), t1.bb, (4, 3), (0, 4, 1, 2), optimize=True) + tmp142 = tmp132.copy() + tmp142 += v.aabb.ovov.transpose((0, 2, 1, 3)) + tmp176 = einsum(t2.abab, (0, 1, 2, 3), tmp142, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) + t2new.bbbb += tmp176 + tmp169 = v.bbbb.ovvv.transpose((0, 3, 1, 2)).copy() + tmp169 += v.bbbb.ovvv.transpose((0, 1, 3, 2)) * -1 + tmp170 = einsum(t1.bb, (0, 1), tmp169, (2, 3, 1, 4), (0, 2, 3, 4), optimize=True) + del tmp169 + tmp171 = tmp170.copy() * -1 + del tmp170 + tmp171 += v.bbbb.ovov.transpose((2, 0, 1, 3)) + tmp172 = einsum(t2.bbbb, (0, 1, 2, 3), tmp171, (4, 0, 2, 5), (1, 4, 3, 5), optimize=True) + del tmp171 + t2new.bbbb += tmp172 * 2 + tmp193 = einsum(tmp192, (0, 1, 2, 3), t1.bb, (4, 2), (4, 0, 1, 3), optimize=True) + tmp194 = einsum(t1.bb, (0, 1), tmp193, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) + del tmp193 + t2new.bbbb += tmp194.transpose((1, 0, 2, 3)) + t2new.bbbb += tmp194 * -1 + tmp180 = tmp179.transpose((2, 1, 0, 3)).copy() + del tmp179 + tmp180 += tmp33.transpose((2, 0, 1, 3)) + tmp180 += v.bbbb.ooov.transpose((1, 0, 2, 3)) + tmp181 = einsum(t1.bb, (0, 1), tmp180, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) + del tmp180 + t2new.bbbb += tmp181.transpose((0, 1, 3, 2)) + t2new.bbbb += tmp176.transpose((0, 1, 3, 2)) * -1 + tmp139 = tmp31.transpose((0, 2, 1, 3)).copy() + tmp139 += v.aabb.ovoo.transpose((0, 3, 2, 1)) + tmp140 = einsum(tmp139, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 3, 4), optimize=True) + del tmp139 + tmp174 = tmp140.copy() + tmp15 = v.aaaa.ovov.transpose((2, 0, 3, 1)).copy() + tmp15 += v.aaaa.ovov.transpose((2, 0, 1, 3)) * -1 + tmp173 = einsum(t2.abab, (0, 1, 2, 3), tmp15, (0, 4, 5, 2), (4, 1, 5, 3), optimize=True) + tmp174 += tmp173 + del tmp173 + tmp175 = einsum(tmp174, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) + del tmp174 + t2new.bbbb += tmp175.transpose((1, 0, 3, 2)) * -1 + t2new.bbbb += tmp172.transpose((0, 1, 3, 2)) * -2 + tmp165 = v.bbbb.ooov.transpose((2, 1, 0, 3)).copy() * -1 + tmp165 += v.bbbb.ooov.transpose((1, 0, 2, 3)) + tmp166 = einsum(t1.bb, (0, 1), tmp165, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) + del tmp165 + tmp167 = tmp166.transpose((1, 0, 2, 3)).copy() * -1 + del tmp166 + tmp163 = einsum(t1.bb, (0, 1), t1.bb, (2, 3), (2, 0, 1, 3), optimize=True) * -1 + tmp163 += t2.bbbb.transpose((1, 0, 3, 2)) * 2 + tmp12 = v.bbbb.ovov.transpose((2, 0, 3, 1)).copy() + tmp12 += v.bbbb.ovov.transpose((2, 0, 1, 3)) * -1 + tmp164 = einsum(tmp12, (0, 1, 2, 3), tmp163, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) + del tmp163 + tmp167 += tmp164.transpose((1, 0, 3, 2)) * -1 + del tmp164 + tmp167 += v.bbbb.oovv.transpose((1, 0, 3, 2)) + tmp168 = einsum(t2.bbbb, (0, 1, 2, 3), tmp167, (4, 0, 5, 2), (1, 4, 3, 5), optimize=True) + del tmp167 + t2new.bbbb += tmp168.transpose((1, 0, 3, 2)) * -2 + tmp161 = einsum(t2.bbbb, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (4, 0, 5, 2), optimize=True) + tmp162 = einsum(t2.abab, (0, 1, 2, 3), tmp161, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) + del tmp161 + t2new.bbbb += tmp162.transpose((1, 0, 3, 2)) * 2 + t2new.bbbb += tmp162 * 2 + t2new.bbbb += tmp194.transpose((1, 0, 3, 2)) * -1 + t2new.bbbb += tmp194.transpose((0, 1, 3, 2)) + del tmp194 + t2new.bbbb += tmp192 * -1 + t2new.bbbb += v.bbbb.ovov.transpose((2, 0, 1, 3)) * -1 + t2new.bbbb += tmp192.transpose((1, 0, 2, 3)) + del tmp192 + t2new.bbbb += v.bbbb.ovov.transpose((2, 0, 3, 1)) + t2new.bbbb += tmp191.transpose((0, 1, 3, 2)) * -1 + del tmp191 + t2new.bbbb += tmp188.transpose((1, 0, 2, 3)) + del tmp188 + tmp13 = einsum(tmp12, (0, 1, 2, 3), t1.bb, (0, 3), (1, 2), optimize=True) + tmp14 = tmp13.copy() * -1 + del tmp13 + tmp11 = einsum(v.aabb.ovov, (0, 1, 2, 3), t1.aa, (0, 1), (2, 3), optimize=True) + tmp14 += tmp11 + tmp14 += f.bb.ov + tmp130 = einsum(tmp14, (0, 1), t1.bb, (0, 2), (2, 1), optimize=True) + tmp186 = tmp130.transpose((1, 0)).copy() + tmp136 = v.bbbb.ovvv.transpose((0, 3, 2, 1)).copy() * -1 + tmp136 += v.bbbb.ovvv.transpose((0, 1, 3, 2)) + tmp186 += einsum(t1.bb, (0, 1), tmp136, (0, 1, 2, 3), (3, 2), optimize=True) * -1 + tmp128 = einsum(v.aabb.ovvv, (0, 1, 2, 3), t1.aa, (0, 1), (2, 3), optimize=True) + tmp186 += tmp128.transpose((1, 0)) * -1 + tmp186 += f.bb.vv.transpose((1, 0)) * -1 + t2new.bbbb += einsum(tmp186, (0, 1), t2.bbbb, (2, 3, 0, 4), (3, 2, 4, 1), optimize=True) * -2 + del tmp186 + t2new.bbbb += tmp185 * -2 + del tmp185 + t2new.bbbb += tmp176.transpose((1, 0, 2, 3)) * -1 + t2new.bbbb += tmp172.transpose((1, 0, 2, 3)) * -2 + t2new.bbbb += tmp181.transpose((1, 0, 3, 2)) * -1 + del tmp181 + tmp38 = v.bbbb.ovov.transpose((2, 0, 3, 1)).copy() + tmp38 += v.bbbb.ovov.transpose((2, 0, 1, 3)) * -1 + tmp39 = einsum(tmp38, (0, 1, 2, 3), t1.bb, (0, 3), (1, 2), optimize=True) + del tmp38 + tmp40 = tmp39.copy() * -1 + del tmp39 + tmp40 += tmp11 + tmp40 += f.bb.ov + tmp178 = einsum(tmp40, (0, 1), t1.bb, (0, 2), (1, 2), optimize=True) + tmp177 = v.bbbb.ovvv.transpose((0, 3, 2, 1)).copy() * -1 + tmp177 += v.bbbb.ovvv.transpose((0, 1, 3, 2)) + tmp178 += einsum(t1.bb, (0, 1), tmp177, (0, 1, 2, 3), (3, 2), optimize=True) * -1 + del tmp177 + tmp119 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (0, 4, 1, 3), (2, 4), optimize=True) + tmp178 += tmp119.transpose((1, 0)) * 2 + tmp118 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 1, 4), (3, 4), optimize=True) + tmp178 += tmp118.transpose((1, 0)) + tmp178 += tmp128.transpose((1, 0)) * -1 + tmp178 += f.bb.vv.transpose((1, 0)) * -1 + t2new.bbbb += einsum(t2.bbbb, (0, 1, 2, 3), tmp178, (2, 4), (1, 0, 4, 3), optimize=True) * 2 + del tmp178 + t2new.bbbb += tmp176.transpose((1, 0, 3, 2)) + del tmp176 + t2new.bbbb += tmp175.transpose((0, 1, 3, 2)) + del tmp175 + t2new.bbbb += tmp172.transpose((1, 0, 3, 2)) * 2 + del tmp172 + t2new.bbbb += tmp168.transpose((0, 1, 3, 2)) * 2 + del tmp168 + t2new.bbbb += tmp162.transpose((1, 0, 2, 3)) * -2 + t2new.bbbb += tmp162.transpose((0, 1, 3, 2)) * -2 + del tmp162 + tmp160 = tmp119.copy() + tmp160 += tmp118 * 0.5 + t2new.bbbb += einsum(tmp160, (0, 1), t2.bbbb, (2, 3, 1, 4), (3, 2, 4, 0), optimize=True) * -4 + del tmp160 + tmp41 = einsum(tmp40, (0, 1), t1.bb, (2, 1), (2, 0), optimize=True) + del tmp40 + tmp111 = tmp41.transpose((1, 0)).copy() + tmp36 = v.bbbb.ooov.transpose((2, 1, 0, 3)).copy() * -1 + tmp36 += v.bbbb.ooov.transpose((1, 0, 2, 3)) + tmp37 = einsum(tmp36, (0, 1, 2, 3), t1.bb, (0, 3), (1, 2), optimize=True) + del tmp36 + tmp111 += tmp37.transpose((1, 0)) * -1 + tmp29 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (1, 2, 4, 3), (0, 4), optimize=True) * -1 + tmp111 += tmp29.transpose((1, 0)) * 2 + tmp28 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 3), (1, 4), optimize=True) + tmp111 += tmp28.transpose((1, 0)) + tmp35 = einsum(v.aabb.ovoo, (0, 1, 2, 3), t1.aa, (0, 1), (2, 3), optimize=True) + tmp111 += tmp35.transpose((1, 0)) + tmp111 += f.bb.oo.transpose((1, 0)) + tmp158 = einsum(tmp111, (0, 1), t2.bbbb, (0, 2, 3, 4), (2, 1, 3, 4), optimize=True) * 2 + t2new.bbbb += tmp158.transpose((1, 0, 3, 2)) + tmp159 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (4, 5, 3, 1), (2, 5, 0, 4), optimize=True) * 2 + tmp150 = einsum(t1.bb, (0, 1), v.bbbb.ooov, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) + tmp159 += tmp150.transpose((3, 2, 1, 0)) * 2 + tmp159 += v.bbbb.oooo.transpose((2, 3, 1, 0)) * -1 + t2new.bbbb += einsum(tmp159, (0, 1, 2, 3), t2.bbbb, (0, 2, 4, 5), (1, 3, 5, 4), optimize=True) + del tmp159 + tmp151 = einsum(tmp150, (0, 1, 2, 3), t1.bb, (3, 4), (0, 2, 1, 4), optimize=True) + del tmp150 + tmp152 = einsum(tmp151, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 4, 3), optimize=True) + del tmp151 + t2new.bbbb += tmp152.transpose((1, 0, 3, 2)) * -1 + t2new.bbbb += tmp152.transpose((1, 0, 2, 3)) + tmp148 = einsum(v.bbbb.oooo, (0, 1, 2, 3), t1.bb, (1, 4), (2, 3, 0, 4), optimize=True) + tmp149 = einsum(tmp148, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 4, 3), optimize=True) + del tmp148 + t2new.bbbb += tmp149.transpose((0, 1, 3, 2)) * -1 + t2new.bbbb += tmp158.transpose((0, 1, 3, 2)) * -1 + del tmp158 + tmp156 = tmp33.copy() * -1 + tmp156 += v.bbbb.ooov.transpose((1, 0, 2, 3)) + tmp157 = einsum(t1.bb, (0, 1), tmp156, (2, 3, 4, 1), (4, 0, 3, 2), optimize=True) * 2 + del tmp156 + tmp157 += v.bbbb.oooo.transpose((2, 3, 1, 0)) + t2new.bbbb += einsum(tmp157, (0, 1, 2, 3), t2.bbbb, (0, 2, 4, 5), (1, 3, 5, 4), optimize=True) * -1 + del tmp157 + tmp153 = einsum(tmp33, (0, 1, 2, 3), t1.bb, (4, 3), (0, 4, 2, 1), optimize=True) + tmp154 = einsum(tmp153, (0, 1, 2, 3), t1.bb, (2, 4), (1, 0, 3, 4), optimize=True) + del tmp153 + tmp155 = einsum(t1.bb, (0, 1), tmp154, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) + del tmp154 + t2new.bbbb += tmp155.transpose((0, 1, 3, 2)) * -1 + t2new.bbbb += tmp155 + del tmp155 + t2new.bbbb += tmp152.transpose((0, 1, 3, 2)) + t2new.bbbb += tmp152 * -1 + del tmp152 + t2new.bbbb += tmp149 + del tmp149 + tmp147 = einsum(v.aabb.ovvv, (0, 1, 2, 3), t2.abab, (4, 5, 1, 3), (4, 0, 5, 2), optimize=True) + t2new.abab = einsum(tmp147, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 4, 3), optimize=True) * -1 + del tmp147 + tmp146 = einsum(t1.bb, (0, 1), v.bbaa.ovvv, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) + tmp1 = einsum(t1.aa, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3), optimize=True) + tmp1 += t2.abab + t2new.abab += einsum(tmp146, (0, 1, 2, 3), tmp1, (4, 1, 2, 5), (4, 0, 3, 5), optimize=True) * -1 + del tmp146 + tmp144 = einsum(t1.aa, (0, 1), v.aabb.ovov, (0, 2, 3, 4), (3, 1, 2, 4), optimize=True) * -1 + tmp144 += v.bbaa.ovvv.transpose((0, 3, 2, 1)) + tmp145 = einsum(tmp144, (0, 1, 2, 3), t1.bb, (0, 4), (2, 1, 3, 4), optimize=True) * -1 + del tmp144 + tmp145 += v.aabb.vvvv.transpose((1, 0, 3, 2)) + t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp145, (2, 4, 3, 5), (0, 1, 4, 5), optimize=True) + del tmp145 + tmp143 = einsum(tmp142, (0, 1, 2, 3), t1.aa, (4, 2), (4, 0, 1, 3), optimize=True) + del tmp142 + t2new.abab += einsum(tmp143, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 4, 3), optimize=True) * -1 + del tmp143 + tmp141 = tmp140.copy() * -1 + del tmp140 + tmp141 += tmp132 + tmp141 += v.aabb.ovov.transpose((0, 2, 1, 3)) + t2new.abab += einsum(t2.aaaa, (0, 1, 2, 3), tmp141, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) * 2 + del tmp141 + tmp137 = tmp33.transpose((2, 0, 1, 3)).copy() * -1 + tmp137 += tmp33.transpose((1, 0, 2, 3)) + tmp137 += v.bbbb.ooov.transpose((2, 1, 0, 3)) + tmp137 += v.bbbb.ooov.transpose((1, 0, 2, 3)) * -1 + tmp138 = einsum(tmp137, (0, 1, 2, 3), t1.bb, (0, 4), (2, 1, 3, 4), optimize=True) + del tmp137 + tmp138 += einsum(tmp136, (0, 1, 2, 3), t1.bb, (4, 1), (0, 4, 3, 2), optimize=True) * -1 + del tmp136 + tmp138 += v.bbbb.oovv.transpose((1, 0, 3, 2)) * -1 + tmp138 += v.bbbb.ovov.transpose((2, 0, 3, 1)) + t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp138, (1, 4, 3, 5), (0, 4, 2, 5), optimize=True) + del tmp138 + tmp135 = einsum(t1.bb, (0, 1), v.aabb.vvvv, (2, 3, 4, 1), (0, 3, 2, 4), optimize=True) + tmp135 += v.bbaa.ovvv.transpose((0, 3, 2, 1)) + t2new.abab += einsum(t1.aa, (0, 1), tmp135, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) + del tmp135 + tmp134 = einsum(v.aabb.oovv, (0, 1, 2, 3), t1.bb, (4, 3), (1, 0, 4, 2), optimize=True) + tmp134 += v.aabb.ooov.transpose((1, 0, 2, 3)) + t2new.abab += einsum(t1.aa, (0, 1), tmp134, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) * -1 + del tmp134 + tmp7 = einsum(t1.aa, (0, 1), v.aabb.ovov, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) + tmp95 = tmp7.copy() + tmp95 += v.aabb.ooov.transpose((1, 0, 2, 3)) + tmp133 = einsum(t1.bb, (0, 1), tmp95, (2, 3, 0, 4), (3, 2, 4, 1), optimize=True) + tmp133 += v.aabb.oovv.transpose((1, 0, 3, 2)) * -1 + t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp133, (0, 4, 3, 5), (4, 1, 2, 5), optimize=True) + del tmp133 + t2new.abab += tmp132 + del tmp132 + t2new.abab += v.aabb.ovov.transpose((0, 2, 1, 3)) + tmp131 = tmp130.transpose((1, 0)).copy() * -1 + del tmp130 + tmp129 = v.bbbb.ovvv.transpose((0, 3, 2, 1)).copy() + tmp129 += v.bbbb.ovvv.transpose((0, 1, 3, 2)) * -1 + tmp131 += einsum(tmp129, (0, 1, 2, 3), t1.bb, (0, 1), (3, 2), optimize=True) * -1 + del tmp129 + tmp131 += tmp128.transpose((1, 0)) + del tmp128 + tmp131 += f.bb.vv.transpose((1, 0)) + t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp131, (3, 4), (0, 1, 2, 4), optimize=True) + del tmp131 + tmp127 = einsum(v.aabb.ovvv, (0, 1, 2, 3), t1.aa, (4, 1), (4, 0, 2, 3), optimize=True) + t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp127, (4, 0, 5, 3), (4, 1, 2, 5), optimize=True) * -1 + del tmp127 + tmp126 = tmp31.transpose((0, 2, 1, 3)).copy() + tmp126 += einsum(t1.aa, (0, 1), v.bbaa.oovv, (2, 3, 4, 1), (0, 3, 2, 4), optimize=True) + tmp126 += v.aabb.ovoo.transpose((0, 3, 2, 1)) + t2new.abab += einsum(t1.bb, (0, 1), tmp126, (2, 0, 3, 4), (2, 3, 4, 1), optimize=True) * -1 + del tmp126 + tmp21 = v.aaaa.ovov.transpose((2, 0, 3, 1)).copy() + tmp21 += v.aaaa.ovov.transpose((2, 0, 1, 3)) * -1 + tmp22 = einsum(t1.aa, (0, 1), tmp21, (0, 2, 3, 1), (2, 3), optimize=True) + del tmp21 + tmp23 = tmp22.copy() * -1 + del tmp22 + tmp0 = einsum(v.aabb.ovov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1), optimize=True) + tmp23 += tmp0 + tmp23 += f.aa.ov + tmp82 = einsum(t1.aa, (0, 1), tmp23, (0, 2), (1, 2), optimize=True) + tmp83 = tmp82.transpose((1, 0)).copy() + del tmp82 + tmp80 = v.aaaa.ovvv.transpose((0, 3, 1, 2)).copy() + tmp80 += v.aaaa.ovvv.transpose((0, 1, 3, 2)) * -1 + tmp81 = einsum(tmp80, (0, 1, 2, 3), t1.aa, (0, 2), (1, 3), optimize=True) + del tmp80 + tmp83 += tmp81 * -1 + del tmp81 + tmp57 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 4, 1, 3), (2, 4), optimize=True) + tmp83 += tmp57.transpose((1, 0)) + tmp56 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.aaaa, (0, 2, 4, 3), (4, 1), optimize=True) + tmp83 += tmp56.transpose((1, 0)) * 2 + tmp79 = einsum(v.bbaa.ovvv, (0, 1, 2, 3), t1.bb, (0, 1), (2, 3), optimize=True) + tmp83 += tmp79.transpose((1, 0)) * -1 + tmp83 += f.aa.vv.transpose((1, 0)) * -1 + t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp83, (2, 4), (0, 1, 4, 3), optimize=True) * -1 + tmp124 = einsum(t1.aa, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3), optimize=True) + tmp124 += t2.abab + tmp125 = einsum(v.aabb.ovov, (0, 1, 2, 3), tmp124, (0, 4, 5, 3), (2, 4, 1, 5), optimize=True) + del tmp124 + tmp125 += einsum(t1.aa, (0, 1), v.aabb.ovoo, (0, 2, 3, 4), (4, 3, 2, 1), optimize=True) + tmp125 += v.bbaa.oovv.transpose((1, 0, 3, 2)) * -1 + t2new.abab += einsum(tmp125, (0, 1, 2, 3), t2.abab, (4, 0, 2, 5), (4, 1, 3, 5), optimize=True) + del tmp125 + tmp61 = einsum(t1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 3, 1), optimize=True) * -1 + tmp61 += t2.aaaa.transpose((1, 0, 3, 2)) * 2 + tmp123 = einsum(tmp61, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 5), (1, 4, 3, 5), optimize=True) + tmp123 += einsum(tmp12, (0, 1, 2, 3), t2.abab, (4, 0, 5, 3), (4, 1, 5, 2), optimize=True) * -1 + del tmp12 + tmp76 = einsum(t1.aa, (0, 1), v.bbaa.ovvv, (2, 3, 4, 1), (0, 2, 4, 3), optimize=True) + tmp123 += tmp76 + tmp123 += einsum(v.aabb.ooov, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 4, 3), optimize=True) * -1 + tmp123 += v.aabb.ovov.transpose((0, 2, 1, 3)) + t2new.abab += einsum(tmp123, (0, 1, 2, 3), t2.bbbb, (1, 4, 3, 5), (0, 4, 2, 5), optimize=True) * 2 + del tmp123 + tmp121 = v.aaaa.ooov.transpose((1, 2, 0, 3)).copy() * -1 + tmp121 += v.aaaa.ooov.transpose((1, 0, 2, 3)) + tmp122 = einsum(t1.aa, (0, 1), tmp121, (2, 3, 0, 4), (3, 2, 4, 1), optimize=True) + del tmp121 + tmp91 = v.aaaa.ovvv.transpose((0, 3, 1, 2)).copy() + tmp91 += v.aaaa.ovvv.transpose((0, 1, 3, 2)) * -1 + tmp122 += einsum(t1.aa, (0, 1), tmp91, (2, 3, 1, 4), (2, 0, 3, 4), optimize=True) * -1 + tmp62 = v.aaaa.ovov.transpose((2, 0, 3, 1)).copy() * -1 + tmp62 += v.aaaa.ovov.transpose((2, 0, 1, 3)) + tmp63 = einsum(tmp61, (0, 1, 2, 3), tmp62, (0, 4, 5, 2), (1, 4, 3, 5), optimize=True) + del tmp61, tmp62 + tmp122 += tmp63.transpose((1, 0, 3, 2)) + tmp59 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 5, 3), (4, 0, 5, 1), optimize=True) + tmp122 += tmp59.transpose((1, 0, 3, 2)) + tmp122 += v.aaaa.oovv.transpose((1, 0, 3, 2)) * -1 + tmp122 += v.aaaa.ovov.transpose((2, 0, 3, 1)) + t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp122, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) + del tmp122 + tmp120 = tmp119.copy() * 2 + del tmp119 + tmp120 += tmp118 + del tmp118 + t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp120, (4, 3), (0, 1, 2, 4), optimize=True) * -1 + del tmp120 + tmp117 = einsum(tmp23, (0, 1), t1.aa, (2, 1), (0, 2), optimize=True) * 0.5 + tmp19 = v.aaaa.ooov.transpose((1, 2, 0, 3)).copy() + tmp19 += v.aaaa.ooov.transpose((1, 0, 2, 3)) * -1 + tmp117 += einsum(tmp19, (0, 1, 2, 3), t1.aa, (2, 3), (1, 0), optimize=True) * -0.5 + tmp5 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 1, 3), (0, 4), optimize=True) + tmp117 += tmp5.transpose((1, 0)) * 0.5 + tmp4 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.aaaa, (4, 0, 1, 3), (4, 2), optimize=True) * -1 + tmp117 += tmp4.transpose((1, 0)) + tmp18 = einsum(v.aabb.ooov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1), optimize=True) + tmp117 += tmp18.transpose((1, 0)) * 0.5 + tmp117 += f.aa.oo.transpose((1, 0)) * 0.5 + t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp117, (0, 4), (4, 1, 2, 3), optimize=True) * -2 + del tmp117 + tmp116 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 5, 3), (4, 0, 5, 1), optimize=True) * 2 + tmp114 = einsum(v.aabb.ooov, (0, 1, 2, 3), t1.bb, (4, 3), (0, 1, 4, 2), optimize=True) + tmp116 += tmp114.transpose((1, 0, 3, 2)) * 2 + tmp116 += v.aabb.oooo.transpose((1, 0, 3, 2)) + t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp116, (0, 4, 1, 5), (4, 5, 2, 3), optimize=True) * 0.5 + del tmp116 + tmp115 = einsum(t1.bb, (0, 1), tmp114, (2, 3, 4, 0), (3, 2, 4, 1), optimize=True) + del tmp114 + t2new.abab += einsum(tmp115, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3), optimize=True) + del tmp115 + tmp109 = tmp31.copy() + tmp109 += v.aabb.ovoo.transpose((0, 3, 2, 1)) + tmp112 = einsum(tmp109, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 2, 1), optimize=True) + tmp112 += v.aabb.oooo.transpose((1, 0, 3, 2)) + tmp113 = einsum(t1.bb, (0, 1), tmp112, (2, 3, 0, 4), (3, 2, 4, 1), optimize=True) + del tmp112 + t2new.abab += einsum(tmp113, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3), optimize=True) + del tmp113 + t2new.abab += einsum(tmp111, (0, 1), t2.abab, (2, 0, 3, 4), (2, 1, 3, 4), optimize=True) * -1 + del tmp111 + tmp110 = einsum(tmp109, (0, 1, 2, 3), t1.aa, (4, 3), (0, 4, 2, 1), optimize=True) * 2 + del tmp109 + tmp110 += v.aabb.oooo.transpose((1, 0, 3, 2)) + t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp110, (0, 4, 1, 5), (4, 5, 2, 3), optimize=True) * 0.5 + del tmp110 + tmp108 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovvv, (4, 2, 5, 3), (0, 1, 4, 5), optimize=True) + t2new.aaaa = einsum(tmp108, (0, 1, 2, 3), t1.aa, (2, 4), (0, 1, 4, 3), optimize=True) * -2 + del tmp108 + tmp106 = einsum(t1.aa, (0, 1), v.aaaa.ovov, (2, 3, 0, 4), (2, 4, 3, 1), optimize=True) + tmp106 += v.aaaa.ovvv.transpose((0, 1, 3, 2)) + tmp107 = einsum(t1.aa, (0, 1), tmp106, (0, 2, 3, 4), (2, 1, 4, 3), optimize=True) + del tmp106 + tmp107 += v.aaaa.vvvv.transpose((2, 3, 1, 0)) * -1 + t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp107, (2, 4, 5, 3), (1, 0, 5, 4), optimize=True) * -2 + del tmp107 + tmp98 = einsum(t1.aa, (0, 1), v.aaaa.ovvv, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) + t2new.aaaa += tmp98.transpose((1, 0, 3, 2)) * -1 + tmp104 = einsum(t1.aa, (0, 1), v.aaaa.vvvv, (2, 1, 3, 4), (0, 3, 4, 2), optimize=True) + tmp105 = einsum(t1.aa, (0, 1), tmp104, (2, 3, 1, 4), (0, 2, 3, 4), optimize=True) + del tmp104 + t2new.aaaa += tmp105.transpose((0, 1, 3, 2)) * -1 + t2new.aaaa += tmp105 + del tmp105 + t2new.aaaa += tmp98.transpose((0, 1, 3, 2)) + tmp96 = einsum(t2.abab, (0, 1, 2, 3), tmp95, (4, 5, 1, 3), (0, 4, 5, 2), optimize=True) + del tmp95 + tmp97 = einsum(tmp96, (0, 1, 2, 3), t1.aa, (2, 4), (0, 1, 4, 3), optimize=True) + del tmp96 + t2new.aaaa += tmp97.transpose((1, 0, 3, 2)) + tmp84 = einsum(t1.aa, (0, 1), v.aaaa.oovv, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) + tmp93 = tmp84.transpose((2, 0, 1, 3)).copy() + tmp9 = einsum(t1.aa, (0, 1), v.aaaa.ovov, (2, 1, 3, 4), (0, 3, 2, 4), optimize=True) + tmp93 += tmp9 + tmp93 += v.aaaa.ooov.transpose((1, 2, 0, 3)) + tmp94 = einsum(tmp93, (0, 1, 2, 3), t1.aa, (2, 4), (0, 1, 4, 3), optimize=True) + del tmp93 + t2new.aaaa += tmp94 * -1 + tmp87 = tmp9.transpose((0, 2, 1, 3)).copy() + tmp87 += tmp9 * -1 + tmp87 += v.aaaa.ooov.transpose((1, 2, 0, 3)) * -1 + tmp87 += v.aaaa.ooov.transpose((1, 0, 2, 3)) + tmp88 = einsum(tmp87, (0, 1, 2, 3), t1.aa, (2, 4), (0, 1, 4, 3), optimize=True) + del tmp87 + tmp89 = tmp88.copy() * -1 + del tmp88 + tmp89 += v.aaaa.oovv.transpose((1, 0, 3, 2)) + tmp90 = einsum(t2.aaaa, (0, 1, 2, 3), tmp89, (4, 0, 5, 2), (1, 4, 3, 5), optimize=True) + del tmp89 + t2new.aaaa += tmp90.transpose((1, 0, 2, 3)) * 2 + tmp77 = tmp76.copy() + del tmp76 + tmp77 += v.aabb.ovov.transpose((0, 2, 1, 3)) + tmp78 = einsum(tmp77, (0, 1, 2, 3), t2.abab, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) + del tmp77 + t2new.aaaa += tmp78 + tmp66 = v.aaaa.ovvv.transpose((0, 3, 2, 1)).copy() * -1 + tmp66 += v.aaaa.ovvv.transpose((0, 1, 3, 2)) + tmp67 = einsum(t1.aa, (0, 1), tmp66, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) + del tmp66 + tmp68 = tmp67.transpose((0, 1, 3, 2)).copy() * -1 + del tmp67 + tmp68 += v.aaaa.ovov.transpose((2, 0, 1, 3)) + tmp69 = einsum(t2.aaaa, (0, 1, 2, 3), tmp68, (4, 0, 2, 5), (1, 4, 3, 5), optimize=True) + del tmp68 + t2new.aaaa += tmp69 * 2 + tmp99 = einsum(t1.aa, (0, 1), tmp98, (2, 3, 1, 4), (0, 2, 3, 4), optimize=True) + tmp100 = einsum(tmp99, (0, 1, 2, 3), t1.aa, (2, 4), (0, 1, 4, 3), optimize=True) + del tmp99 + t2new.aaaa += tmp100.transpose((1, 0, 2, 3)) + t2new.aaaa += tmp100 * -1 + tmp85 = tmp84.transpose((2, 1, 0, 3)).copy() + del tmp84 + tmp85 += tmp9.transpose((2, 0, 1, 3)) + tmp85 += v.aaaa.ooov.transpose((1, 0, 2, 3)) + tmp86 = einsum(tmp85, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3), optimize=True) + del tmp85 + t2new.aaaa += tmp86.transpose((0, 1, 3, 2)) + tmp102 = tmp9.transpose((0, 2, 1, 3)).copy() * -1 + tmp102 += tmp9 + tmp102 += v.aaaa.ooov.transpose((1, 2, 0, 3)) + tmp102 += v.aaaa.ooov.transpose((1, 0, 2, 3)) * -1 + tmp103 = einsum(t2.aaaa, (0, 1, 2, 3), tmp102, (4, 0, 5, 2), (1, 5, 4, 3), optimize=True) + del tmp102 + t2new.aaaa += einsum(tmp103, (0, 1, 2, 3), t1.aa, (1, 4), (2, 0, 4, 3), optimize=True) * -2 + del tmp103 + t2new.aaaa += tmp78.transpose((0, 1, 3, 2)) * -1 + tmp101 = einsum(t2.aaaa, (0, 1, 2, 3), tmp15, (0, 4, 5, 2), (1, 4, 3, 5), optimize=True) * -1 + t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp101, (4, 0, 5, 2), (1, 4, 3, 5), optimize=True) * 4 + del tmp101 + tmp72 = tmp7.transpose((1, 0, 2, 3)).copy() + tmp72 += v.aabb.ooov.transpose((1, 0, 2, 3)) + tmp73 = einsum(tmp72, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3), optimize=True) + del tmp72 + tmp74 = tmp73.copy() + del tmp73 + tmp70 = v.bbbb.ovov.transpose((2, 0, 3, 1)).copy() * -1 + tmp70 += v.bbbb.ovov.transpose((2, 0, 1, 3)) + tmp71 = einsum(t2.abab, (0, 1, 2, 3), tmp70, (1, 4, 5, 3), (0, 4, 2, 5), optimize=True) + del tmp70 + tmp74 += tmp71 * -1 + del tmp71 + tmp75 = einsum(t2.abab, (0, 1, 2, 3), tmp74, (4, 1, 5, 3), (0, 4, 2, 5), optimize=True) + del tmp74 + t2new.aaaa += tmp75.transpose((1, 0, 3, 2)) * -1 + t2new.aaaa += tmp69.transpose((0, 1, 3, 2)) * -2 + tmp60 = einsum(tmp59, (0, 1, 2, 3), t2.aaaa, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) + del tmp59 + t2new.aaaa += tmp60.transpose((1, 0, 3, 2)) * 2 + t2new.aaaa += tmp60 * 2 + t2new.aaaa += tmp100.transpose((1, 0, 3, 2)) * -1 + t2new.aaaa += tmp100.transpose((0, 1, 3, 2)) + del tmp100 + t2new.aaaa += einsum(v.aaaa.oovv, (0, 1, 2, 3), t2.aaaa, (4, 1, 5, 3), (0, 4, 2, 5), optimize=True) * -2 + t2new.aaaa += tmp98 * -1 + t2new.aaaa += v.aaaa.ovov.transpose((2, 0, 1, 3)) * -1 + t2new.aaaa += tmp98.transpose((1, 0, 2, 3)) + del tmp98 + t2new.aaaa += v.aaaa.ovov.transpose((2, 0, 3, 1)) + t2new.aaaa += tmp97.transpose((0, 1, 3, 2)) * -1 + del tmp97 + t2new.aaaa += tmp94.transpose((1, 0, 2, 3)) + del tmp94 + tmp16 = einsum(tmp15, (0, 1, 2, 3), t1.aa, (0, 3), (1, 2), optimize=True) + del tmp15 + tmp17 = tmp16.copy() * -1 + del tmp16 + tmp17 += tmp0 + tmp17 += f.aa.ov + tmp92 = einsum(t1.aa, (0, 1), tmp17, (0, 2), (2, 1), optimize=True) + tmp92 += einsum(t1.aa, (0, 1), tmp91, (0, 2, 1, 3), (2, 3), optimize=True) * -1 + del tmp91 + tmp92 += tmp79.transpose((1, 0)) * -1 + del tmp79 + tmp92 += f.aa.vv.transpose((1, 0)) * -1 + t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp92, (2, 4), (1, 0, 3, 4), optimize=True) * -2 + del tmp92 + t2new.aaaa += tmp90 * -2 + del tmp90 + t2new.aaaa += tmp78.transpose((1, 0, 2, 3)) * -1 + t2new.aaaa += tmp69.transpose((1, 0, 2, 3)) * -2 + t2new.aaaa += tmp86.transpose((1, 0, 3, 2)) * -1 + del tmp86 + t2new.aaaa += einsum(tmp83, (0, 1), t2.aaaa, (2, 3, 0, 4), (3, 2, 1, 4), optimize=True) * 2 + del tmp83 + t2new.aaaa += tmp78.transpose((1, 0, 3, 2)) + del tmp78 + t2new.aaaa += tmp75.transpose((0, 1, 3, 2)) + del tmp75 + t2new.aaaa += tmp69.transpose((1, 0, 3, 2)) * 2 + del tmp69 + tmp64 = v.aaaa.ooov.transpose((2, 1, 0, 3)).copy() + tmp64 += v.aaaa.ooov.transpose((1, 0, 2, 3)) * -1 + tmp65 = einsum(tmp64, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3), optimize=True) * -1 + del tmp64 + tmp65 += tmp63 * -1 + del tmp63 + tmp65 += v.aaaa.oovv.transpose((1, 0, 3, 2)) + t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp65, (4, 0, 5, 2), (1, 4, 5, 3), optimize=True) * 2 + del tmp65 + t2new.aaaa += tmp60.transpose((1, 0, 2, 3)) * -2 + t2new.aaaa += tmp60.transpose((0, 1, 3, 2)) * -2 + del tmp60 + tmp58 = tmp57.copy() + del tmp57 + tmp58 += tmp56 * 2 + del tmp56 + t2new.aaaa += einsum(tmp58, (0, 1), t2.aaaa, (2, 3, 1, 4), (3, 2, 4, 0), optimize=True) * -2 + del tmp58 + tmp24 = einsum(tmp23, (0, 1), t1.aa, (2, 1), (2, 0), optimize=True) + del tmp23 + tmp53 = tmp24.transpose((1, 0)).copy() + tmp20 = einsum(tmp19, (0, 1, 2, 3), t1.aa, (2, 3), (0, 1), optimize=True) + del tmp19 + tmp53 += tmp20.transpose((1, 0)) * -1 + tmp53 += tmp5.transpose((1, 0)) + tmp53 += tmp4.transpose((1, 0)) * 2 + tmp53 += tmp18.transpose((1, 0)) + tmp53 += f.aa.oo.transpose((1, 0)) + tmp54 = einsum(t2.aaaa, (0, 1, 2, 3), tmp53, (0, 4), (1, 4, 2, 3), optimize=True) * 2 + del tmp53 + t2new.aaaa += tmp54.transpose((1, 0, 3, 2)) + tmp55 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 2, 5, 3), (5, 1, 4, 0), optimize=True) + tmp45 = einsum(v.aaaa.ooov, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 1, 2), optimize=True) + tmp55 += tmp45.transpose((2, 1, 3, 0)) + tmp55 += v.aaaa.oooo.transpose((2, 3, 1, 0)) * 0.5 + t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp55, (0, 4, 1, 5), (4, 5, 3, 2), optimize=True) * -2 + del tmp55 + tmp46 = einsum(t1.aa, (0, 1), tmp45, (2, 3, 4, 0), (2, 4, 3, 1), optimize=True) + del tmp45 + tmp47 = einsum(tmp46, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 4, 3), optimize=True) + del tmp46 + t2new.aaaa += tmp47.transpose((1, 0, 3, 2)) * -1 + t2new.aaaa += tmp47.transpose((1, 0, 2, 3)) + tmp43 = einsum(v.aaaa.oooo, (0, 1, 2, 3), t1.aa, (2, 4), (0, 1, 3, 4), optimize=True) + tmp44 = einsum(tmp43, (0, 1, 2, 3), t1.aa, (1, 4), (2, 0, 3, 4), optimize=True) + del tmp43 + t2new.aaaa += tmp44.transpose((0, 1, 3, 2)) * -1 + t2new.aaaa += tmp54.transpose((0, 1, 3, 2)) * -1 + del tmp54 + tmp51 = tmp9.copy() * -1 + tmp51 += v.aaaa.ooov.transpose((1, 0, 2, 3)) + tmp52 = einsum(tmp51, (0, 1, 2, 3), t1.aa, (4, 3), (1, 4, 2, 0), optimize=True) * -1 + del tmp51 + tmp52 += v.aaaa.oooo.transpose((2, 3, 1, 0)) * 0.5 + t2new.aaaa += einsum(tmp52, (0, 1, 2, 3), t2.aaaa, (0, 2, 4, 5), (1, 3, 5, 4), optimize=True) * -2 + del tmp52 + tmp48 = einsum(tmp9, (0, 1, 2, 3), t1.aa, (4, 3), (0, 4, 2, 1), optimize=True) + tmp49 = einsum(tmp48, (0, 1, 2, 3), t1.aa, (2, 4), (1, 0, 3, 4), optimize=True) + del tmp48 + tmp50 = einsum(tmp49, (0, 1, 2, 3), t1.aa, (2, 4), (0, 1, 4, 3), optimize=True) + del tmp49 + t2new.aaaa += tmp50.transpose((0, 1, 3, 2)) * -1 + t2new.aaaa += tmp50 + del tmp50 + t2new.aaaa += tmp47.transpose((0, 1, 3, 2)) + t2new.aaaa += tmp47 * -1 + del tmp47 + t2new.aaaa += tmp44 + del tmp44 + tmp42 = tmp41.transpose((1, 0)).copy() + del tmp41 + tmp42 += tmp37.transpose((1, 0)) * -1 + del tmp37 + tmp42 += tmp35.transpose((1, 0)) + del tmp35 + tmp42 += f.bb.oo.transpose((1, 0)) + t1new.bb = einsum(t1.bb, (0, 1), tmp42, (0, 2), (2, 1), optimize=True) * -1 + del tmp42 + t1new.bb += einsum(tmp14, (0, 1), t2.bbbb, (0, 2, 1, 3), (2, 3), optimize=True) * 2 + t1new.bb += einsum(t2.abab, (0, 1, 2, 3), tmp17, (0, 2), (1, 3), optimize=True) + tmp34 = tmp33.copy() + del tmp33 + tmp34 += v.bbbb.ooov.transpose((1, 2, 0, 3)) + t1new.bb += einsum(tmp34, (0, 1, 2, 3), t2.bbbb, (2, 1, 3, 4), (0, 4), optimize=True) * 2 + del tmp34 + tmp32 = tmp31.transpose((0, 2, 1, 3)).copy() + del tmp31 + tmp32 += v.aabb.ovoo.transpose((0, 3, 2, 1)) + t1new.bb += einsum(t2.abab, (0, 1, 2, 3), tmp32, (0, 1, 4, 2), (4, 3), optimize=True) * -1 + del tmp32 + t1new.bb += einsum(v.bbbb.oovv, (0, 1, 2, 3), t1.bb, (1, 3), (0, 2), optimize=True) * -1 + tmp30 = tmp29.copy() + del tmp29 + tmp30 += tmp28 * 0.5 + del tmp28 + t1new.bb += einsum(t1.bb, (0, 1), tmp30, (2, 0), (2, 1), optimize=True) * -2 + del tmp30 + tmp27 = einsum(t1.bb, (0, 1), v.bbbb.ovvv, (0, 1, 2, 3), (3, 2), optimize=True) + tmp27 += f.bb.vv.transpose((1, 0)) + t1new.bb += einsum(tmp27, (0, 1), t1.bb, (2, 0), (2, 1), optimize=True) + del tmp27 + tmp26 = einsum(t1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3), optimize=True) + tmp26 += t2.bbbb.transpose((1, 0, 3, 2)) * 2 + t1new.bb += einsum(tmp26, (0, 1, 2, 3), v.bbbb.ovvv, (0, 3, 2, 4), (1, 4), optimize=True) * -1 + del tmp26 + t1new.bb += einsum(tmp1, (0, 1, 2, 3), v.aabb.ovvv, (0, 2, 3, 4), (1, 4), optimize=True) + t1new.bb += einsum(v.bbbb.ovov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1), optimize=True) + t1new.bb += tmp11 + del tmp11 + t1new.bb += f.bb.ov + tmp25 = tmp24.transpose((1, 0)).copy() + del tmp24 + tmp25 += tmp20.transpose((1, 0)) * -1 + del tmp20 + tmp25 += tmp18.transpose((1, 0)) + del tmp18 + tmp25 += f.aa.oo.transpose((1, 0)) + t1new.aa = einsum(tmp25, (0, 1), t1.aa, (0, 2), (1, 2), optimize=True) * -1 + del tmp25 + t1new.aa += einsum(tmp17, (0, 1), t2.aaaa, (0, 2, 1, 3), (2, 3), optimize=True) * 2 + del tmp17 + t1new.aa += einsum(t2.abab, (0, 1, 2, 3), tmp14, (1, 3), (0, 2), optimize=True) + del tmp14 + tmp10 = tmp9.copy() + del tmp9 + tmp10 += v.aaaa.ooov.transpose((1, 2, 0, 3)) + t1new.aa += einsum(tmp10, (0, 1, 2, 3), t2.aaaa, (2, 1, 3, 4), (0, 4), optimize=True) * 2 + del tmp10 + tmp8 = tmp7.transpose((1, 0, 2, 3)).copy() + del tmp7 + tmp8 += v.aabb.ooov.transpose((1, 0, 2, 3)) + t1new.aa += einsum(tmp8, (0, 1, 2, 3), t2.abab, (0, 2, 4, 3), (1, 4), optimize=True) * -1 + del tmp8 + t1new.aa += einsum(t1.aa, (0, 1), v.aaaa.oovv, (2, 0, 3, 1), (2, 3), optimize=True) * -1 + tmp6 = tmp5.copy() * 0.5 + del tmp5 + tmp6 += tmp4 + del tmp4 + t1new.aa += einsum(t1.aa, (0, 1), tmp6, (2, 0), (2, 1), optimize=True) * -2 + del tmp6 + tmp3 = einsum(t1.aa, (0, 1), v.aaaa.ovvv, (0, 1, 2, 3), (3, 2), optimize=True) + tmp3 += f.aa.vv.transpose((1, 0)) + t1new.aa += einsum(t1.aa, (0, 1), tmp3, (1, 2), (0, 2), optimize=True) + del tmp3 + tmp2 = einsum(t1.aa, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1), optimize=True) + tmp2 += t2.aaaa.transpose((1, 0, 3, 2)) * 2 + t1new.aa += einsum(v.aaaa.ovvv, (0, 1, 2, 3), tmp2, (0, 4, 2, 1), (4, 3), optimize=True) * -1 + del tmp2 + t1new.aa += einsum(tmp1, (0, 1, 2, 3), v.bbaa.ovvv, (1, 3, 2, 4), (0, 4), optimize=True) + del tmp1 + t1new.aa += tmp0 + del tmp0 + t1new.aa += einsum(t1.aa, (0, 1), v.aaaa.ovov, (2, 3, 0, 1), (2, 3), optimize=True) + t1new.aa += f.aa.ov + + return {f"t1new": t1new, f"t2new": t2new} + +def update_lams(f=None, l1=None, l2=None, t1=None, t2=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-03-02T15:26:44.562816. + + Parameters + ---------- + f : Namespace of arrays + Fock matrix. + l1 : Namespace of arrays + L1 amplitudes. + l2 : Namespace of arrays + L2 amplitudes. + t1 : Namespace of arrays + T1 amplitudes. + t2 : Namespace of arrays + T2 amplitudes. + v : Namespace of arrays + Electron repulsion integrals. + + Returns + ------- + l1new : Namespace of arrays + Updated L1 residuals. + l2new : Namespace of arrays + Updated L2 residuals. + """ + + l1new = Namespace() + l2new = Namespace() + tmp77 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (2, 3, 0, 4), (4, 1), optimize=True) + tmp137 = tmp77.copy() + tmp76 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 3, 0, 4), (4, 1), optimize=True) + tmp137 += tmp76 * 0.5 + tmp75 = einsum(t1.bb, (0, 1), l1.bb, (1, 2), (2, 0), optimize=True) + tmp137 += tmp75 * 0.5 + tmp243 = einsum(tmp137, (0, 1), v.bbbb.ovov, (1, 2, 3, 4), (0, 3, 2, 4), optimize=True) * 2 + l2new.bbbb = tmp243.transpose((2, 3, 0, 1)).copy() * -1 + tmp117 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (4, 3, 1, 5), (5, 0, 4, 2), optimize=True) * -1 + tmp118 = tmp117.copy() * 4 + del tmp117 + tmp116 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 4, 0, 5), (5, 1, 4, 3), optimize=True) + tmp118 += tmp116 + del tmp116 + tmp239 = einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp118, (4, 0, 5, 3), (2, 4, 1, 5), optimize=True) + l2new.bbbb += tmp239.transpose((2, 3, 1, 0)) + tmp73 = einsum(l2.bbbb, (0, 1, 2, 3), t1.bb, (4, 1), (2, 3, 4, 0), optimize=True) + tmp225 = einsum(v.bbbb.ooov, (0, 1, 2, 3), tmp73, (1, 4, 2, 5), (4, 0, 5, 3), optimize=True) * -1 + l2new.bbbb += tmp225.transpose((3, 2, 0, 1)) * -2 + tmp98 = einsum(t1.bb, (0, 1), v.bbbb.ovov, (2, 1, 3, 4), (0, 3, 2, 4), optimize=True) + tmp228 = einsum(tmp98, (0, 1, 2, 3), tmp73, (4, 0, 1, 5), (4, 2, 5, 3), optimize=True) + l2new.bbbb += tmp228.transpose((3, 2, 0, 1)) * -2 + tmp232 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t1.bb, (0, 3), (2, 1), optimize=True) + l2new.bbbb += einsum(tmp232, (0, 1), l1.bb, (2, 3), (1, 2, 3, 0), optimize=True) + tmp249 = tmp98.copy() + tmp249 += v.bbbb.ooov.transpose((1, 2, 0, 3)) + tmp250 = einsum(l1.bb, (0, 1), tmp249, (1, 2, 3, 4), (2, 3, 4, 0), optimize=True) + del tmp249 + l2new.bbbb += tmp250.transpose((3, 2, 1, 0)) * -1 + tmp68 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (2, 4, 0, 1), (4, 3), optimize=True) + tmp241 = tmp68.copy() * 2 + tmp67 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 4, 0, 1), (4, 3), optimize=True) + tmp241 += tmp67 + tmp260 = einsum(tmp241, (0, 1), v.bbbb.ovov, (2, 3, 4, 1), (2, 4, 0, 3), optimize=True) + l2new.bbbb += tmp260.transpose((2, 3, 1, 0)) * -1 + tmp261 = tmp98.transpose((0, 2, 1, 3)).copy() + tmp261 += v.bbbb.ooov.transpose((1, 0, 2, 3)) + l2new.bbbb += einsum(l1.bb, (0, 1), tmp261, (1, 2, 3, 4), (4, 0, 2, 3), optimize=True) + del tmp261 + l2new.bbbb += tmp260.transpose((3, 2, 1, 0)) + del tmp260 + tmp110 = einsum(tmp98, (0, 1, 2, 3), t1.bb, (4, 3), (4, 0, 1, 2), optimize=True) + tmp259 = tmp110.transpose((0, 2, 3, 1)).copy() + tmp109 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (4, 5, 1, 3), (4, 5, 0, 2), optimize=True) + tmp259 += tmp109.transpose((1, 3, 2, 0)) + tmp259 += v.bbbb.oooo.transpose((2, 3, 1, 0)) + l2new.bbbb += einsum(tmp259, (0, 1, 2, 3), l2.bbbb, (4, 5, 0, 3), (5, 4, 2, 1), optimize=True) * 2 + del tmp259 + tmp111 = einsum(t1.bb, (0, 1), v.bbbb.ooov, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) + tmp258 = einsum(l2.bbbb, (0, 1, 2, 3), tmp111, (3, 2, 4, 5), (4, 5, 0, 1), optimize=True) * -1 + l2new.bbbb += tmp258.transpose((2, 3, 1, 0)) * 2 + l2new.bbbb += tmp258.transpose((2, 3, 0, 1)) * -2 + del tmp258 + tmp101 = v.bbbb.ovov.transpose((2, 0, 3, 1)).copy() + tmp101 += v.bbbb.ovov.transpose((2, 0, 1, 3)) * -1 + tmp102 = einsum(tmp101, (0, 1, 2, 3), t1.bb, (0, 3), (1, 2), optimize=True) + tmp103 = tmp102.copy() * -1 + del tmp102 + tmp100 = einsum(v.aabb.ovov, (0, 1, 2, 3), t1.aa, (0, 1), (2, 3), optimize=True) + tmp103 += tmp100 + tmp103 += f.bb.ov + l2new.bbbb += einsum(tmp73, (0, 1, 2, 3), tmp103, (2, 4), (3, 4, 1, 0), optimize=True) * 2 + tmp129 = v.bbbb.ovvv.transpose((0, 3, 2, 1)).copy() * -1 + tmp129 += v.bbbb.ovvv.transpose((0, 1, 3, 2)) + tmp255 = einsum(t1.bb, (0, 1), tmp129, (0, 1, 2, 3), (2, 3), optimize=True) + tmp256 = tmp255.transpose((1, 0)).copy() * -1 + del tmp255 + tmp218 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (0, 4, 1, 2), (3, 4), optimize=True) * -1 + tmp256 += tmp218.transpose((1, 0)) * 2 + tmp217 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 1, 4), (3, 4), optimize=True) + tmp256 += tmp217.transpose((1, 0)) + tmp134 = einsum(v.aabb.ovvv, (0, 1, 2, 3), t1.aa, (0, 1), (2, 3), optimize=True) + tmp256 += tmp134.transpose((1, 0)) * -1 + tmp256 += f.bb.vv.transpose((1, 0)) * -1 + tmp257 = einsum(l2.bbbb, (0, 1, 2, 3), tmp256, (4, 0), (2, 3, 4, 1), optimize=True) * 2 + del tmp256 + l2new.bbbb += tmp257.transpose((3, 2, 1, 0)) * -1 + tmp96 = einsum(tmp73, (0, 1, 2, 3), t1.bb, (4, 3), (1, 0, 2, 4), optimize=True) + tmp124 = tmp96.transpose((0, 1, 3, 2)).copy() * -1 + tmp95 = einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 5, 0, 1), (2, 3, 4, 5), optimize=True) + tmp124 += tmp95.transpose((1, 0, 3, 2)) + tmp254 = einsum(tmp124, (0, 1, 2, 3), v.bbbb.ovov, (2, 4, 3, 5), (0, 1, 4, 5), optimize=True) + l2new.bbbb += tmp254.transpose((3, 2, 1, 0)) + tmp253 = einsum(tmp73, (0, 1, 2, 3), v.bbbb.ovvv, (2, 4, 5, 3), (1, 0, 4, 5), optimize=True) + l2new.bbbb += tmp253.transpose((3, 2, 1, 0)) * -2 + tmp252 = einsum(v.bbbb.vvvv, (0, 1, 2, 3), l2.bbbb, (3, 1, 4, 5), (4, 5, 0, 2), optimize=True) * -1 + l2new.bbbb += tmp252.transpose((3, 2, 1, 0)) + l2new.bbbb += tmp243.transpose((2, 3, 1, 0)) + tmp207 = v.bbbb.ovov.transpose((2, 0, 3, 1)).copy() + tmp207 += v.bbbb.ovov.transpose((2, 0, 1, 3)) * -1 + tmp211 = einsum(tmp207, (0, 1, 2, 3), t1.bb, (0, 3), (1, 2), optimize=True) + tmp212 = tmp211.copy() * -1 + del tmp211 + tmp212 += tmp100 + tmp212 += f.bb.ov + l2new.bbbb += einsum(tmp73, (0, 1, 2, 3), tmp212, (2, 4), (4, 3, 1, 0), optimize=True) * -2 + l2new.bbbb += tmp257.transpose((2, 3, 1, 0)) + del tmp257 + l2new.bbbb += tmp254.transpose((3, 2, 1, 0)) + del tmp254 + l2new.bbbb += tmp239.transpose((2, 3, 0, 1)) * -1 + l2new.bbbb += einsum(tmp232, (0, 1), l1.bb, (2, 3), (1, 2, 0, 3), optimize=True) * -1 + l2new.bbbb += tmp228.transpose((3, 2, 1, 0)) * 2 + l2new.bbbb += tmp253.transpose((2, 3, 1, 0)) * 2 + del tmp253 + l2new.bbbb += tmp225.transpose((3, 2, 1, 0)) * 2 + l2new.bbbb += tmp252.transpose((3, 2, 1, 0)) + del tmp252 + tmp245 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1), optimize=True) + tmp246 = tmp245.copy() + tmp246 += tmp100 + tmp246 += f.bb.ov + l2new.bbbb += einsum(l1.bb, (0, 1), tmp246, (2, 3), (0, 3, 2, 1), optimize=True) * -1 + tmp236 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 5, 3), (4, 0, 5, 1), optimize=True) + tmp237 = tmp236.copy() + tmp206 = einsum(t2.aaaa, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 5), (1, 4, 3, 5), optimize=True) + tmp237 += tmp206 * 2 + tmp205 = einsum(t1.aa, (0, 1), v.bbaa.ovvv, (2, 3, 4, 1), (0, 2, 4, 3), optimize=True) + tmp237 += tmp205 + tmp237 += v.aabb.ovov.transpose((0, 2, 1, 3)) + tmp238 = einsum(l2.abab, (0, 1, 2, 3), tmp237, (2, 4, 0, 5), (4, 3, 5, 1), optimize=True) + del tmp237 + l2new.bbbb += tmp238.transpose((3, 2, 0, 1)) * -1 + tmp115 = v.bbbb.ovvv.transpose((0, 3, 1, 2)).copy() + tmp115 += v.bbbb.ovvv.transpose((0, 1, 3, 2)) * -1 + tmp203 = einsum(t1.bb, (0, 1), tmp115, (2, 3, 1, 4), (0, 2, 3, 4), optimize=True) + tmp234 = tmp203.transpose((0, 1, 3, 2)).copy() * -1 + tmp233 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 5, 0, 2), (1, 4, 3, 5), optimize=True) + tmp234 += tmp233 * 2 + tmp201 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 5), (1, 4, 3, 5), optimize=True) + tmp234 += tmp201 + tmp234 += v.bbbb.oovv.transpose((1, 0, 3, 2)) * -1 + tmp234 += v.bbbb.ovov.transpose((2, 0, 3, 1)) + tmp235 = einsum(tmp234, (0, 1, 2, 3), l2.bbbb, (2, 4, 0, 5), (1, 5, 3, 4), optimize=True) + del tmp234 + l2new.bbbb += tmp235.transpose((3, 2, 0, 1)) * -2 + tmp36 = einsum(t1.aa, (0, 1), l2.abab, (1, 2, 3, 4), (3, 0, 4, 2), optimize=True) + tmp9 = einsum(t1.aa, (0, 1), v.aabb.ovov, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) + tmp231 = einsum(tmp36, (0, 1, 2, 3), tmp9, (0, 1, 4, 5), (2, 4, 3, 5), optimize=True) + l2new.bbbb += tmp231.transpose((2, 3, 1, 0)) + tmp230 = einsum(v.aabb.ooov, (0, 1, 2, 3), tmp36, (0, 1, 4, 5), (4, 2, 5, 3), optimize=True) + l2new.bbbb += tmp230.transpose((2, 3, 1, 0)) + tmp229 = einsum(tmp98, (0, 1, 2, 3), tmp73, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) * -1 + l2new.bbbb += tmp229.transpose((2, 3, 1, 0)) * 2 + tmp227 = einsum(l1.bb, (0, 1), v.bbbb.ovvv, (2, 3, 4, 0), (1, 2, 3, 4), optimize=True) + l2new.bbbb += tmp227.transpose((3, 2, 1, 0)) * -1 + tmp226 = einsum(v.bbbb.ooov, (0, 1, 2, 3), tmp73, (0, 4, 1, 5), (4, 2, 5, 3), optimize=True) * -1 + l2new.bbbb += tmp226.transpose((2, 3, 1, 0)) * 2 + l2new.bbbb += einsum(tmp246, (0, 1), l1.bb, (2, 3), (2, 1, 3, 0), optimize=True) + l2new.bbbb += tmp238.transpose((3, 2, 1, 0)) + l2new.bbbb += tmp235.transpose((3, 2, 1, 0)) * 2 + l2new.bbbb += tmp231.transpose((2, 3, 0, 1)) * -1 + l2new.bbbb += tmp230.transpose((2, 3, 0, 1)) * -1 + l2new.bbbb += tmp229.transpose((2, 3, 0, 1)) * -2 + l2new.bbbb += tmp227.transpose((3, 2, 0, 1)) + l2new.bbbb += tmp226.transpose((2, 3, 0, 1)) * -2 + tmp251 = tmp245.copy() + del tmp245 + tmp251 += tmp100 + del tmp100 + tmp251 += f.bb.ov + l2new.bbbb += einsum(tmp251, (0, 1), l1.bb, (2, 3), (1, 2, 3, 0), optimize=True) * -1 + del tmp251 + l2new.bbbb += tmp250.transpose((3, 2, 0, 1)) + del tmp250 + tmp78 = tmp77.copy() * 2 + del tmp77 + tmp78 += tmp76 + del tmp76 + tmp78 += tmp75 + del tmp75 + l2new.bbbb += einsum(tmp78, (0, 1), v.bbbb.ovov, (1, 2, 3, 4), (4, 2, 0, 3), optimize=True) + tmp242 = einsum(tmp241, (0, 1), v.bbbb.ovov, (2, 1, 3, 4), (2, 3, 0, 4), optimize=True) + del tmp241 + l2new.bbbb += tmp242.transpose((2, 3, 1, 0)) + tmp143 = einsum(tmp103, (0, 1), t1.bb, (2, 1), (2, 0), optimize=True) + tmp144 = tmp143.copy() + del tmp143 + tmp141 = v.bbbb.ooov.transpose((2, 1, 0, 3)).copy() + tmp141 += v.bbbb.ooov.transpose((1, 0, 2, 3)) * -1 + tmp142 = einsum(tmp141, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1), optimize=True) + del tmp141 + tmp144 += tmp142.transpose((1, 0)) * -1 + del tmp142 + tmp140 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (2, 4, 3, 1), (4, 0), optimize=True) + tmp144 += tmp140 * 2 + del tmp140 + tmp139 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 3), (1, 4), optimize=True) + tmp144 += tmp139 + del tmp139 + tmp138 = einsum(v.aabb.ovoo, (0, 1, 2, 3), t1.aa, (0, 1), (2, 3), optimize=True) + tmp144 += tmp138.transpose((1, 0)) + del tmp138 + tmp144 += f.bb.oo.transpose((1, 0)) + tmp240 = einsum(tmp144, (0, 1), l2.bbbb, (2, 3, 0, 4), (1, 4, 2, 3), optimize=True) * 2 + l2new.bbbb += tmp240.transpose((3, 2, 1, 0)) * -1 + l2new.bbbb += tmp239.transpose((3, 2, 1, 0)) * -1 + tmp248 = tmp236.copy() + del tmp236 + tmp248 += tmp206 * 2 + tmp248 += tmp205 + tmp248 += v.aabb.ovov.transpose((0, 2, 1, 3)) + l2new.bbbb += einsum(tmp248, (0, 1, 2, 3), l2.abab, (2, 4, 0, 5), (3, 4, 5, 1), optimize=True) * -1 + del tmp248 + tmp135 = v.bbbb.ovvv.transpose((0, 3, 1, 2)).copy() + tmp135 += v.bbbb.ovvv.transpose((0, 1, 3, 2)) * -1 + tmp247 = einsum(tmp135, (0, 1, 2, 3), t1.bb, (4, 2), (4, 0, 3, 1), optimize=True) * -1 + tmp247 += tmp233 * 2 + del tmp233 + tmp247 += tmp201 + tmp247 += v.bbbb.oovv.transpose((1, 0, 3, 2)) * -1 + tmp247 += v.bbbb.ovov.transpose((2, 0, 3, 1)) + l2new.bbbb += einsum(tmp247, (0, 1, 2, 3), l2.bbbb, (2, 4, 0, 5), (3, 4, 5, 1), optimize=True) * -2 + del tmp247 + l2new.bbbb += einsum(l1.bb, (0, 1), tmp232, (2, 3), (0, 3, 1, 2), optimize=True) * -1 + l2new.bbbb += tmp231.transpose((3, 2, 0, 1)) + l2new.bbbb += tmp230.transpose((3, 2, 0, 1)) + l2new.bbbb += tmp229.transpose((3, 2, 0, 1)) * 2 + l2new.bbbb += tmp228.transpose((2, 3, 0, 1)) * 2 + l2new.bbbb += v.bbbb.ovov.transpose((1, 3, 2, 0)) * -1 + l2new.bbbb += tmp227.transpose((2, 3, 0, 1)) * -1 + l2new.bbbb += tmp226.transpose((3, 2, 0, 1)) * 2 + l2new.bbbb += tmp225.transpose((2, 3, 0, 1)) * 2 + l2new.bbbb += einsum(tmp246, (0, 1), l1.bb, (2, 3), (1, 2, 0, 3), optimize=True) + del tmp246 + tmp244 = tmp98.transpose((0, 2, 1, 3)).copy() + tmp244 += v.bbbb.ooov.transpose((1, 0, 2, 3)) + l2new.bbbb += einsum(l1.bb, (0, 1), tmp244, (1, 2, 3, 4), (4, 0, 3, 2), optimize=True) * -1 + del tmp244 + l2new.bbbb += tmp243.transpose((3, 2, 1, 0)) * -1 + del tmp243 + l2new.bbbb += tmp242.transpose((3, 2, 1, 0)) * -1 + del tmp242 + l2new.bbbb += tmp240.transpose((3, 2, 0, 1)) + del tmp240 + l2new.bbbb += tmp239.transpose((3, 2, 0, 1)) + del tmp239 + l2new.bbbb += tmp238.transpose((2, 3, 0, 1)) + del tmp238 + l2new.bbbb += tmp235.transpose((2, 3, 0, 1)) * 2 + del tmp235 + l2new.bbbb += einsum(l1.bb, (0, 1), tmp232, (2, 3), (0, 3, 2, 1), optimize=True) + del tmp232 + l2new.bbbb += tmp231.transpose((3, 2, 1, 0)) * -1 + del tmp231 + l2new.bbbb += tmp230.transpose((3, 2, 1, 0)) * -1 + del tmp230 + l2new.bbbb += tmp229.transpose((3, 2, 1, 0)) * -2 + del tmp229 + l2new.bbbb += tmp228.transpose((2, 3, 1, 0)) * -2 + del tmp228 + l2new.bbbb += v.bbbb.ovov.transpose((3, 1, 2, 0)) + l2new.bbbb += tmp227.transpose((2, 3, 1, 0)) + del tmp227 + l2new.bbbb += tmp226.transpose((3, 2, 1, 0)) * -2 + del tmp226 + l2new.bbbb += tmp225.transpose((2, 3, 1, 0)) * -2 + del tmp225 + tmp62 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 3, 4, 1), (4, 0), optimize=True) + tmp80 = tmp62.copy() + tmp61 = einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (2, 4, 0, 1), (3, 4), optimize=True) + tmp80 += tmp61 * 2 + tmp60 = einsum(l1.aa, (0, 1), t1.aa, (2, 0), (1, 2), optimize=True) + tmp80 += tmp60 + l2new.abab = einsum(v.aabb.ovov, (0, 1, 2, 3), tmp80, (4, 0), (1, 3, 4, 2), optimize=True) * -1 + tmp7 = einsum(v.aabb.ovov, (0, 1, 2, 3), t1.bb, (4, 3), (0, 4, 2, 1), optimize=True) + tmp224 = tmp7.copy() + tmp224 += v.aabb.ovoo.transpose((0, 3, 2, 1)) + l2new.abab += einsum(tmp36, (0, 1, 2, 3), tmp224, (1, 2, 4, 5), (5, 3, 0, 4), optimize=True) + del tmp224 + tmp223 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 4, 5, 3), (1, 5, 2, 4), optimize=True) + l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp223, (3, 4, 0, 5), (5, 1, 2, 4), optimize=True) + del tmp223 + tmp222 = einsum(v.aabb.ovvv, (0, 1, 2, 3), t1.aa, (4, 1), (4, 0, 3, 2), optimize=True) + tmp222 += v.aabb.oovv.transpose((1, 0, 3, 2)) + l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp222, (2, 4, 1, 5), (0, 5, 4, 3), optimize=True) * -1 + del tmp222 + tmp8 = tmp7.transpose((0, 2, 1, 3)).copy() + tmp8 += v.aabb.ovoo.transpose((0, 3, 2, 1)) + tmp221 = einsum(t1.aa, (0, 1), tmp8, (2, 3, 4, 1), (0, 2, 4, 3), optimize=True) + tmp18 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 5, 3), (0, 4, 1, 5), optimize=True) + tmp221 += tmp18 + tmp17 = einsum(v.aabb.ooov, (0, 1, 2, 3), t1.bb, (4, 3), (0, 1, 4, 2), optimize=True) + tmp221 += tmp17.transpose((1, 0, 2, 3)) + tmp221 += v.aabb.oooo.transpose((1, 0, 3, 2)) + l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp221, (2, 4, 3, 5), (0, 1, 4, 5), optimize=True) + del tmp221 + tmp196 = tmp9.copy() + tmp196 += v.aabb.ooov.transpose((1, 0, 2, 3)) + l2new.abab += einsum(tmp196, (0, 1, 2, 3), l1.aa, (4, 0), (4, 3, 1, 2), optimize=True) * -1 + tmp53 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (4, 3, 0, 1), (4, 2), optimize=True) + tmp165 = tmp53.copy() * 0.5 + tmp52 = einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (2, 3, 0, 4), (1, 4), optimize=True) + tmp165 += tmp52 + l2new.abab += einsum(tmp165, (0, 1), v.aabb.ovov, (2, 1, 3, 4), (0, 4, 2, 3), optimize=True) * -2 + tmp0 = einsum(t1.bb, (0, 1), l2.abab, (2, 1, 3, 4), (3, 4, 0, 2), optimize=True) + l2new.abab += einsum(tmp212, (0, 1), tmp0, (2, 3, 0, 4), (4, 1, 2, 3), optimize=True) * -1 + tmp219 = v.bbbb.ovvv.transpose((0, 3, 1, 2)).copy() * -1 + tmp219 += v.bbbb.ovvv.transpose((0, 1, 3, 2)) + tmp220 = einsum(t1.bb, (0, 1), tmp219, (0, 1, 2, 3), (3, 2), optimize=True) * -0.5 + del tmp219 + tmp220 += tmp218 + del tmp218 + tmp220 += tmp217 * 0.5 + del tmp217 + tmp220 += tmp134.transpose((1, 0)) * -0.5 + tmp220 += f.bb.vv.transpose((1, 0)) * -0.5 + l2new.abab += einsum(tmp220, (0, 1), l2.abab, (2, 0, 3, 4), (2, 1, 3, 4), optimize=True) * -2 + del tmp220 + tmp38 = einsum(t1.aa, (0, 1), tmp0, (2, 3, 4, 1), (2, 0, 3, 4), optimize=True) + tmp39 = tmp38.copy() + tmp37 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 3, 4, 5), (4, 0, 5, 1), optimize=True) + tmp39 += tmp37 + tmp215 = einsum(v.aabb.ovov, (0, 1, 2, 3), tmp39, (4, 0, 5, 2), (4, 5, 1, 3), optimize=True) * 0.5 + l2new.abab += tmp215.transpose((2, 3, 0, 1)) + tmp214 = einsum(l2.abab, (0, 1, 2, 3), v.aabb.vvvv, (4, 0, 1, 5), (2, 3, 4, 5), optimize=True) + l2new.abab += tmp214.transpose((2, 3, 0, 1)) * 0.5 + l2new.abab += einsum(tmp0, (0, 1, 2, 3), v.bbaa.ovvv, (2, 4, 5, 3), (5, 4, 0, 1), optimize=True) * -1 + tmp185 = v.aaaa.ovov.transpose((2, 0, 3, 1)).copy() + tmp185 += v.aaaa.ovov.transpose((2, 0, 1, 3)) * -1 + tmp186 = einsum(t1.aa, (0, 1), tmp185, (0, 2, 3, 1), (2, 3), optimize=True) + tmp187 = tmp186.copy() * -1 + del tmp186 + tmp11 = einsum(v.aabb.ovov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1), optimize=True) + tmp187 += tmp11 + tmp187 += f.aa.ov + l2new.abab += einsum(tmp36, (0, 1, 2, 3), tmp187, (1, 4), (4, 3, 0, 2), optimize=True) * -1 + tmp55 = v.aaaa.ovvv.transpose((0, 3, 1, 2)).copy() + tmp55 += v.aaaa.ovvv.transpose((0, 1, 3, 2)) * -1 + tmp182 = einsum(t1.aa, (0, 1), tmp55, (0, 2, 1, 3), (2, 3), optimize=True) + tmp216 = tmp182.transpose((1, 0)).copy() * -1 + tmp181 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 4, 1, 3), (2, 4), optimize=True) + tmp216 += tmp181 + tmp180 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (0, 4, 1, 2), (3, 4), optimize=True) * -1 + tmp216 += tmp180 * 2 + tmp83 = einsum(v.bbaa.ovvv, (0, 1, 2, 3), t1.bb, (0, 1), (2, 3), optimize=True) + tmp216 += tmp83.transpose((1, 0)) * -1 + tmp216 += f.aa.vv.transpose((1, 0)) * -1 + l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp216, (0, 4), (4, 1, 2, 3), optimize=True) * -1 + del tmp216 + l2new.abab += tmp215.transpose((2, 3, 0, 1)) + del tmp215 + l2new.abab += tmp214.transpose((2, 3, 0, 1)) * 0.5 + del tmp214 + l2new.abab += einsum(v.aabb.ovvv, (0, 1, 2, 3), tmp36, (4, 0, 5, 2), (1, 3, 4, 5), optimize=True) * -1 + l2new.abab += einsum(tmp144, (0, 1), l2.abab, (2, 3, 4, 0), (2, 3, 4, 1), optimize=True) * -1 + tmp104 = einsum(t1.bb, (0, 1), v.bbaa.ovvv, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) + tmp213 = tmp104.transpose((0, 1, 3, 2)).copy() + tmp213 += v.bbaa.oovv.transpose((1, 0, 3, 2)) + l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp213, (3, 4, 0, 5), (5, 1, 2, 4), optimize=True) * -1 + del tmp213 + l2new.abab += einsum(l1.aa, (0, 1), tmp212, (2, 3), (0, 3, 1, 2), optimize=True) + del tmp212 + tmp210 = v.bbbb.ooov.transpose((1, 2, 0, 3)).copy() + tmp210 += v.bbbb.ooov.transpose((1, 0, 2, 3)) * -1 + l2new.abab += einsum(tmp0, (0, 1, 2, 3), tmp210, (1, 2, 4, 5), (3, 5, 0, 4), optimize=True) + del tmp210 + tmp209 = tmp98.transpose((0, 2, 1, 3)).copy() + tmp209 += tmp98 * -1 + l2new.abab += einsum(tmp0, (0, 1, 2, 3), tmp209, (1, 4, 2, 5), (3, 5, 0, 4), optimize=True) + del tmp209 + tmp208 = einsum(tmp207, (0, 1, 2, 3), t2.abab, (4, 0, 5, 3), (4, 1, 5, 2), optimize=True) * -1 + del tmp207 + tmp208 += tmp206 * 2 + del tmp206 + tmp208 += tmp205 + del tmp205 + tmp208 += v.aabb.ovov.transpose((0, 2, 1, 3)) + l2new.abab += einsum(tmp208, (0, 1, 2, 3), l2.aaaa, (2, 4, 0, 5), (4, 3, 5, 1), optimize=True) * 2 + del tmp208 + tmp204 = tmp203.transpose((0, 1, 3, 2)).copy() * -1 + del tmp203 + tmp202 = v.bbbb.ovov.transpose((2, 0, 3, 1)).copy() * -1 + tmp202 += v.bbbb.ovov.transpose((2, 0, 1, 3)) + tmp204 += einsum(t2.bbbb, (0, 1, 2, 3), tmp202, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) * -2 + del tmp202 + tmp204 += tmp201 + del tmp201 + tmp204 += v.bbbb.oovv.transpose((1, 0, 3, 2)) * -1 + tmp204 += v.bbbb.ovov.transpose((2, 0, 3, 1)) + l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp204, (3, 4, 1, 5), (0, 5, 2, 4), optimize=True) + del tmp204 + tmp3 = einsum(t1.aa, (0, 1), l2.aaaa, (2, 1, 3, 4), (3, 4, 0, 2), optimize=True) + l2new.abab += einsum(tmp3, (0, 1, 2, 3), tmp9, (1, 2, 4, 5), (3, 5, 0, 4), optimize=True) * -2 + l2new.abab += einsum(v.bbaa.ovvv, (0, 1, 2, 3), l1.aa, (3, 4), (2, 1, 4, 0), optimize=True) + l2new.abab += einsum(tmp3, (0, 1, 2, 3), v.aabb.ooov, (1, 2, 4, 5), (3, 5, 0, 4), optimize=True) * -2 + l2new.abab += einsum(tmp187, (0, 1), l1.bb, (2, 3), (1, 2, 0, 3), optimize=True) + tmp19 = tmp7.copy() + tmp19 += v.aabb.ovoo.transpose((0, 3, 2, 1)) + l2new.abab += einsum(l1.bb, (0, 1), tmp19, (2, 1, 3, 4), (4, 0, 2, 3), optimize=True) * -1 + l2new.abab += einsum(v.aabb.ovov, (0, 1, 2, 3), tmp78, (4, 2), (1, 3, 0, 4), optimize=True) * -1 + tmp200 = tmp68.copy() + tmp200 += tmp67 * 0.5 + l2new.abab += einsum(tmp200, (0, 1), v.aabb.ovov, (2, 3, 4, 1), (3, 0, 2, 4), optimize=True) * -2 + del tmp200 + tmp12 = v.aaaa.ovov.transpose((2, 0, 3, 1)).copy() + tmp12 += v.aaaa.ovov.transpose((2, 0, 1, 3)) * -1 + tmp13 = einsum(t1.aa, (0, 1), tmp12, (0, 2, 3, 1), (2, 3), optimize=True) + tmp14 = tmp13.copy() * -1 + del tmp13 + tmp14 += tmp11 + tmp14 += f.aa.ov + tmp199 = einsum(tmp14, (0, 1), t1.aa, (2, 1), (2, 0), optimize=True) * 0.5 + tmp89 = v.aaaa.ooov.transpose((2, 1, 0, 3)).copy() * -1 + tmp89 += v.aaaa.ooov.transpose((1, 0, 2, 3)) + tmp199 += einsum(tmp89, (0, 1, 2, 3), t1.aa, (0, 3), (1, 2), optimize=True) * -0.5 + tmp88 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 1, 3), (0, 4), optimize=True) + tmp199 += tmp88 * 0.5 + tmp87 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 3, 0, 2), (1, 4), optimize=True) + tmp199 += tmp87 + tmp86 = einsum(v.aabb.ooov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1), optimize=True) + tmp199 += tmp86.transpose((1, 0)) * 0.5 + tmp199 += f.aa.oo.transpose((1, 0)) * 0.5 + l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp199, (2, 4), (0, 1, 4, 3), optimize=True) * -2 + del tmp199 + tmp5 = einsum(t1.aa, (0, 1), v.aaaa.ovov, (2, 1, 3, 4), (0, 3, 2, 4), optimize=True) + tmp198 = tmp5.transpose((0, 2, 1, 3)).copy() + tmp198 += tmp5 * -1 + l2new.abab += einsum(tmp36, (0, 1, 2, 3), tmp198, (0, 4, 1, 5), (5, 3, 4, 2), optimize=True) + del tmp198 + tmp197 = v.aaaa.ooov.transpose((1, 2, 0, 3)).copy() + tmp197 += v.aaaa.ooov.transpose((1, 0, 2, 3)) * -1 + l2new.abab += einsum(tmp36, (0, 1, 2, 3), tmp197, (0, 4, 1, 5), (5, 3, 4, 2), optimize=True) * -1 + del tmp197 + l2new.abab += einsum(tmp0, (0, 1, 2, 3), tmp196, (0, 4, 2, 5), (3, 5, 4, 1), optimize=True) + del tmp196 + tmp194 = v.aaaa.ovov.transpose((2, 0, 3, 1)).copy() * -1 + tmp194 += v.aaaa.ovov.transpose((2, 0, 1, 3)) + tmp195 = einsum(t2.abab, (0, 1, 2, 3), tmp194, (0, 4, 5, 2), (4, 1, 5, 3), optimize=True) + del tmp194 + tmp160 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.bbbb, (2, 4, 3, 5), (0, 4, 1, 5), optimize=True) + tmp195 += tmp160 * 2 + tmp15 = einsum(t1.bb, (0, 1), v.aabb.ovvv, (2, 3, 1, 4), (2, 0, 3, 4), optimize=True) + tmp195 += tmp15 + tmp195 += v.aabb.ovov.transpose((0, 2, 1, 3)) + l2new.abab += einsum(l2.bbbb, (0, 1, 2, 3), tmp195, (4, 2, 5, 0), (5, 1, 4, 3), optimize=True) * 2 + del tmp195 + tmp155 = v.aaaa.ovvv.transpose((0, 3, 1, 2)).copy() * -1 + tmp155 += v.aaaa.ovvv.transpose((0, 1, 3, 2)) + tmp156 = einsum(t1.aa, (0, 1), tmp155, (2, 1, 3, 4), (2, 0, 3, 4), optimize=True) + del tmp155 + tmp193 = tmp156.transpose((1, 0, 3, 2)).copy() * -1 + tmp193 += einsum(t2.aaaa, (0, 1, 2, 3), tmp185, (0, 4, 5, 2), (1, 4, 3, 5), optimize=True) * -2 + del tmp185 + tmp154 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 5, 3), (4, 0, 5, 1), optimize=True) + tmp193 += tmp154 + tmp193 += v.aaaa.oovv.transpose((1, 0, 3, 2)) * -1 + tmp193 += v.aaaa.ovov.transpose((2, 0, 3, 1)) + l2new.abab += einsum(tmp193, (0, 1, 2, 3), l2.abab, (2, 4, 0, 5), (3, 4, 1, 5), optimize=True) + del tmp193 + l2new.abab += einsum(tmp73, (0, 1, 2, 3), tmp7, (4, 1, 2, 5), (5, 3, 4, 0), optimize=True) * -2 + l2new.abab += einsum(v.aabb.ovvv, (0, 1, 2, 3), l1.bb, (3, 4), (1, 2, 0, 4), optimize=True) + l2new.abab += einsum(v.aabb.ovoo, (0, 1, 2, 3), tmp73, (4, 2, 3, 5), (1, 5, 0, 4), optimize=True) * -2 + l2new.abab += v.aabb.ovov.transpose((1, 3, 0, 2)) + tmp192 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 1, 5), (0, 4, 3, 5), optimize=True) + l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp192, (2, 4, 1, 5), (0, 5, 4, 3), optimize=True) + del tmp192 + tmp167 = einsum(tmp80, (0, 1), v.aaaa.ovov, (1, 2, 3, 4), (3, 0, 2, 4), optimize=True) + l2new.aaaa = tmp167.transpose((2, 3, 1, 0)).copy() * -1 + tmp34 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (4, 3, 5, 1), (5, 0, 4, 2), optimize=True) + tmp35 = tmp34.copy() + del tmp34 + tmp33 = einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 2, 5, 1), (3, 4, 0, 5), optimize=True) * -1 + tmp35 += tmp33 * 4 + del tmp33 + tmp163 = einsum(v.aaaa.ovov, (0, 1, 2, 3), tmp35, (4, 0, 5, 3), (2, 4, 1, 5), optimize=True) + l2new.aaaa += tmp163.transpose((2, 3, 1, 0)) + tmp151 = einsum(tmp3, (0, 1, 2, 3), tmp5, (1, 2, 4, 5), (0, 4, 3, 5), optimize=True) + l2new.aaaa += tmp151.transpose((3, 2, 0, 1)) * -2 + tmp145 = einsum(tmp3, (0, 1, 2, 3), v.aaaa.ooov, (4, 0, 2, 5), (1, 4, 3, 5), optimize=True) * -1 + l2new.aaaa += tmp145.transpose((3, 2, 0, 1)) * -2 + tmp147 = einsum(t1.aa, (0, 1), v.aaaa.ovov, (0, 2, 3, 1), (3, 2), optimize=True) + l2new.aaaa += einsum(tmp147, (0, 1), l1.aa, (2, 3), (1, 2, 3, 0), optimize=True) + tmp173 = tmp5.copy() + tmp173 += v.aaaa.ooov.transpose((1, 2, 0, 3)) + tmp174 = einsum(l1.aa, (0, 1), tmp173, (1, 2, 3, 4), (2, 3, 4, 0), optimize=True) + del tmp173 + l2new.aaaa += tmp174.transpose((3, 2, 1, 0)) * -1 + tmp191 = tmp53.copy() + tmp191 += tmp52 * 2 + l2new.aaaa += einsum(tmp191, (0, 1), v.aaaa.ovov, (2, 3, 4, 1), (0, 3, 4, 2), optimize=True) * -1 + del tmp191 + tmp190 = tmp5.transpose((0, 2, 1, 3)).copy() + tmp190 += v.aaaa.ooov.transpose((1, 0, 2, 3)) + l2new.aaaa += einsum(l1.aa, (0, 1), tmp190, (1, 2, 3, 4), (4, 0, 2, 3), optimize=True) + del tmp190 + l2new.aaaa += einsum(v.aaaa.ovov, (0, 1, 2, 3), tmp165, (4, 3), (1, 4, 2, 0), optimize=True) * 2 + tmp27 = einsum(tmp5, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 1, 2), optimize=True) + tmp189 = tmp27.transpose((0, 2, 3, 1)).copy() + tmp26 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.aaaa, (4, 5, 1, 3), (4, 5, 0, 2), optimize=True) + tmp189 += tmp26.transpose((1, 3, 2, 0)) + tmp189 += v.aaaa.oooo.transpose((2, 3, 1, 0)) + l2new.aaaa += einsum(tmp189, (0, 1, 2, 3), l2.aaaa, (4, 5, 0, 3), (5, 4, 2, 1), optimize=True) * 2 + del tmp189 + tmp28 = einsum(v.aaaa.ooov, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 1, 2), optimize=True) + tmp188 = einsum(l2.aaaa, (0, 1, 2, 3), tmp28, (3, 2, 4, 5), (4, 5, 0, 1), optimize=True) * -1 + l2new.aaaa += tmp188.transpose((2, 3, 1, 0)) * 2 + l2new.aaaa += tmp188.transpose((2, 3, 0, 1)) * -2 + del tmp188 + l2new.aaaa += einsum(tmp3, (0, 1, 2, 3), tmp14, (2, 4), (3, 4, 1, 0), optimize=True) * 2 + tmp183 = tmp182.copy() * -1 + del tmp182 + tmp183 += tmp181.transpose((1, 0)) + del tmp181 + tmp183 += tmp180.transpose((1, 0)) * 2 + del tmp180 + tmp183 += tmp83.transpose((1, 0)) * -1 + tmp183 += f.aa.vv.transpose((1, 0)) * -1 + tmp184 = einsum(l2.aaaa, (0, 1, 2, 3), tmp183, (4, 0), (2, 3, 4, 1), optimize=True) * 2 + del tmp183 + l2new.aaaa += tmp184.transpose((3, 2, 1, 0)) * -1 + tmp47 = einsum(t1.aa, (0, 1), tmp3, (2, 3, 4, 1), (3, 2, 4, 0), optimize=True) + tmp178 = tmp47.transpose((0, 1, 3, 2)).copy() * -1 + tmp44 = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (2, 3, 4, 5), (4, 5, 0, 1), optimize=True) + tmp178 += tmp44.transpose((1, 0, 3, 2)) + tmp179 = einsum(v.aaaa.ovov, (0, 1, 2, 3), tmp178, (4, 5, 0, 2), (4, 5, 1, 3), optimize=True) + del tmp178 + l2new.aaaa += tmp179.transpose((3, 2, 1, 0)) + tmp177 = einsum(v.aaaa.vvvv, (0, 1, 2, 3), l2.aaaa, (3, 1, 4, 5), (4, 5, 0, 2), optimize=True) * -1 + l2new.aaaa += tmp177.transpose((3, 2, 1, 0)) + tmp176 = einsum(v.aaaa.ovvv, (0, 1, 2, 3), tmp3, (4, 5, 0, 3), (5, 4, 1, 2), optimize=True) + l2new.aaaa += tmp176.transpose((3, 2, 1, 0)) * -2 + l2new.aaaa += tmp167.transpose((2, 3, 0, 1)) + l2new.aaaa += einsum(tmp3, (0, 1, 2, 3), tmp187, (2, 4), (4, 3, 1, 0), optimize=True) * -2 + del tmp187 + l2new.aaaa += tmp184.transpose((2, 3, 1, 0)) + del tmp184 + l2new.aaaa += tmp179.transpose((3, 2, 1, 0)) + del tmp179 + l2new.aaaa += tmp163.transpose((2, 3, 0, 1)) * -1 + l2new.aaaa += tmp151.transpose((3, 2, 1, 0)) * 2 + l2new.aaaa += einsum(l1.aa, (0, 1), tmp147, (2, 3), (3, 0, 2, 1), optimize=True) * -1 + l2new.aaaa += tmp145.transpose((3, 2, 1, 0)) * 2 + l2new.aaaa += tmp177.transpose((3, 2, 1, 0)) + del tmp177 + l2new.aaaa += tmp176.transpose((2, 3, 1, 0)) * 2 + del tmp176 + tmp170 = tmp11.copy() + tmp169 = einsum(t1.aa, (0, 1), v.aaaa.ovov, (2, 3, 0, 1), (2, 3), optimize=True) + tmp170 += tmp169 + tmp170 += f.aa.ov + l2new.aaaa += einsum(l1.aa, (0, 1), tmp170, (2, 3), (0, 3, 2, 1), optimize=True) * -1 + tmp161 = tmp160.copy() * 2 + tmp159 = einsum(t2.abab, (0, 1, 2, 3), v.aaaa.ovov, (4, 5, 0, 2), (4, 1, 5, 3), optimize=True) + tmp161 += tmp159 + tmp161 += tmp15 + tmp161 += v.aabb.ovov.transpose((0, 2, 1, 3)) + tmp162 = einsum(l2.abab, (0, 1, 2, 3), tmp161, (4, 3, 5, 1), (4, 2, 5, 0), optimize=True) + del tmp161 + l2new.aaaa += tmp162.transpose((3, 2, 0, 1)) * -1 + tmp157 = tmp156.transpose((1, 0, 3, 2)).copy() * -1 + del tmp156 + tmp157 += tmp154 + tmp153 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 5, 0, 2), (1, 4, 3, 5), optimize=True) + tmp157 += tmp153 * 2 + tmp157 += v.aaaa.oovv.transpose((1, 0, 3, 2)) * -1 + tmp157 += v.aaaa.ovov.transpose((2, 0, 3, 1)) + tmp158 = einsum(l2.aaaa, (0, 1, 2, 3), tmp157, (2, 4, 0, 5), (4, 3, 5, 1), optimize=True) + del tmp157 + l2new.aaaa += tmp158.transpose((3, 2, 0, 1)) * -2 + tmp152 = einsum(tmp5, (0, 1, 2, 3), tmp3, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) * -1 + l2new.aaaa += tmp152.transpose((2, 3, 1, 0)) * 2 + tmp150 = einsum(l1.aa, (0, 1), v.aaaa.ovvv, (2, 3, 4, 0), (1, 2, 3, 4), optimize=True) + l2new.aaaa += tmp150.transpose((3, 2, 1, 0)) * -1 + tmp149 = einsum(tmp7, (0, 1, 2, 3), tmp0, (4, 1, 2, 5), (4, 0, 5, 3), optimize=True) + l2new.aaaa += tmp149.transpose((2, 3, 1, 0)) + tmp148 = einsum(v.aabb.ovoo, (0, 1, 2, 3), tmp0, (4, 2, 3, 5), (4, 0, 5, 1), optimize=True) + l2new.aaaa += tmp148.transpose((2, 3, 1, 0)) + tmp146 = einsum(tmp3, (0, 1, 2, 3), v.aaaa.ooov, (0, 2, 4, 5), (1, 4, 3, 5), optimize=True) * -1 + l2new.aaaa += tmp146.transpose((2, 3, 1, 0)) * 2 + l2new.aaaa += einsum(tmp170, (0, 1), l1.aa, (2, 3), (2, 1, 3, 0), optimize=True) + l2new.aaaa += tmp162.transpose((3, 2, 1, 0)) + l2new.aaaa += tmp158.transpose((3, 2, 1, 0)) * 2 + l2new.aaaa += tmp152.transpose((2, 3, 0, 1)) * -2 + l2new.aaaa += tmp150.transpose((3, 2, 0, 1)) + l2new.aaaa += tmp149.transpose((2, 3, 0, 1)) * -1 + l2new.aaaa += tmp148.transpose((2, 3, 0, 1)) * -1 + l2new.aaaa += tmp146.transpose((2, 3, 0, 1)) * -2 + tmp175 = tmp11.copy() + del tmp11 + tmp175 += tmp169 + del tmp169 + tmp175 += f.aa.ov + l2new.aaaa += einsum(tmp175, (0, 1), l1.aa, (2, 3), (1, 2, 3, 0), optimize=True) * -1 + del tmp175 + l2new.aaaa += tmp174.transpose((3, 2, 0, 1)) + del tmp174 + l2new.aaaa += tmp167.transpose((3, 2, 1, 0)) + tmp166 = einsum(v.aaaa.ovov, (0, 1, 2, 3), tmp165, (4, 1), (0, 2, 4, 3), optimize=True) * 2 + del tmp165 + l2new.aaaa += tmp166.transpose((2, 3, 1, 0)) + tmp91 = einsum(tmp14, (0, 1), t1.aa, (2, 1), (2, 0), optimize=True) + tmp92 = tmp91.copy() + del tmp91 + tmp90 = einsum(tmp89, (0, 1, 2, 3), t1.aa, (0, 3), (1, 2), optimize=True) + del tmp89 + tmp92 += tmp90 * -1 + del tmp90 + tmp92 += tmp88 + del tmp88 + tmp92 += tmp87 * 2 + del tmp87 + tmp92 += tmp86.transpose((1, 0)) + del tmp86 + tmp92 += f.aa.oo.transpose((1, 0)) + tmp164 = einsum(l2.aaaa, (0, 1, 2, 3), tmp92, (2, 4), (3, 4, 0, 1), optimize=True) * 2 + l2new.aaaa += tmp164.transpose((3, 2, 0, 1)) * -1 + l2new.aaaa += tmp163.transpose((3, 2, 1, 0)) * -1 + tmp172 = tmp160.copy() * 2 + del tmp160 + tmp172 += tmp159 + del tmp159 + tmp172 += tmp15 + tmp172 += v.aabb.ovov.transpose((0, 2, 1, 3)) + l2new.aaaa += einsum(tmp172, (0, 1, 2, 3), l2.abab, (4, 3, 5, 1), (2, 4, 5, 0), optimize=True) * -1 + del tmp172 + tmp84 = v.aaaa.ovvv.transpose((0, 3, 1, 2)).copy() * -1 + tmp84 += v.aaaa.ovvv.transpose((0, 1, 3, 2)) + tmp171 = einsum(t1.aa, (0, 1), tmp84, (2, 1, 3, 4), (0, 2, 4, 3), optimize=True) * -1 + tmp171 += tmp154 + del tmp154 + tmp171 += tmp153 * 2 + del tmp153 + tmp171 += v.aaaa.oovv.transpose((1, 0, 3, 2)) * -1 + tmp171 += v.aaaa.ovov.transpose((2, 0, 3, 1)) + l2new.aaaa += einsum(l2.aaaa, (0, 1, 2, 3), tmp171, (2, 4, 0, 5), (5, 1, 3, 4), optimize=True) * -2 + del tmp171 + l2new.aaaa += tmp152.transpose((3, 2, 0, 1)) * 2 + l2new.aaaa += tmp151.transpose((2, 3, 0, 1)) * 2 + l2new.aaaa += tmp150.transpose((2, 3, 0, 1)) * -1 + l2new.aaaa += tmp149.transpose((3, 2, 0, 1)) + l2new.aaaa += tmp148.transpose((3, 2, 0, 1)) + l2new.aaaa += einsum(l1.aa, (0, 1), tmp147, (2, 3), (0, 3, 1, 2), optimize=True) * -1 + l2new.aaaa += v.aaaa.ovov.transpose((1, 3, 2, 0)) * -1 + l2new.aaaa += tmp146.transpose((3, 2, 0, 1)) * 2 + l2new.aaaa += tmp145.transpose((2, 3, 0, 1)) * 2 + l2new.aaaa += einsum(l1.aa, (0, 1), tmp170, (2, 3), (3, 0, 2, 1), optimize=True) + del tmp170 + tmp168 = tmp5.transpose((0, 2, 1, 3)).copy() + tmp168 += v.aaaa.ooov.transpose((1, 0, 2, 3)) + l2new.aaaa += einsum(l1.aa, (0, 1), tmp168, (1, 2, 3, 4), (4, 0, 3, 2), optimize=True) * -1 + del tmp168 + l2new.aaaa += tmp167.transpose((3, 2, 0, 1)) * -1 + del tmp167 + l2new.aaaa += tmp166.transpose((3, 2, 1, 0)) * -1 + del tmp166 + l2new.aaaa += tmp164.transpose((3, 2, 1, 0)) + del tmp164 + l2new.aaaa += tmp163.transpose((3, 2, 0, 1)) + del tmp163 + l2new.aaaa += tmp162.transpose((2, 3, 0, 1)) + del tmp162 + l2new.aaaa += tmp158.transpose((2, 3, 0, 1)) * 2 + del tmp158 + l2new.aaaa += tmp152.transpose((3, 2, 1, 0)) * -2 + del tmp152 + l2new.aaaa += tmp151.transpose((2, 3, 1, 0)) * -2 + del tmp151 + l2new.aaaa += tmp150.transpose((2, 3, 1, 0)) + del tmp150 + l2new.aaaa += tmp149.transpose((3, 2, 1, 0)) * -1 + del tmp149 + l2new.aaaa += tmp148.transpose((3, 2, 1, 0)) * -1 + del tmp148 + l2new.aaaa += einsum(tmp147, (0, 1), l1.aa, (2, 3), (2, 1, 0, 3), optimize=True) + del tmp147 + l2new.aaaa += v.aaaa.ovov.transpose((3, 1, 2, 0)) + l2new.aaaa += tmp146.transpose((3, 2, 1, 0)) * -2 + del tmp146 + l2new.aaaa += tmp145.transpose((2, 3, 1, 0)) * -2 + del tmp145 + l1new.bb = einsum(tmp144, (0, 1), l1.bb, (2, 0), (2, 1), optimize=True) * -1 + del tmp144 + l1new.bb += einsum(tmp103, (0, 1), tmp137, (2, 0), (1, 2), optimize=True) * -2 + del tmp137 + tmp136 = einsum(t1.bb, (0, 1), tmp135, (0, 1, 2, 3), (3, 2), optimize=True) * -1 + del tmp135 + tmp136 += tmp134.transpose((1, 0)) + del tmp134 + tmp136 += f.bb.vv.transpose((1, 0)) + l1new.bb += einsum(tmp136, (0, 1), l1.bb, (0, 2), (1, 2), optimize=True) + del tmp136 + l1new.bb += einsum(v.aabb.ooov, (0, 1, 2, 3), tmp80, (1, 0), (3, 2), optimize=True) * -1 + tmp133 = v.bbbb.oovv.transpose((1, 0, 3, 2)).copy() * -1 + tmp133 += v.bbbb.ovov.transpose((2, 0, 3, 1)) + l1new.bb += einsum(tmp133, (0, 1, 2, 3), l1.bb, (2, 0), (3, 1), optimize=True) + del tmp133 + tmp132 = v.bbbb.ooov.transpose((2, 1, 0, 3)).copy() * -1 + tmp132 += v.bbbb.ooov.transpose((1, 0, 2, 3)) + l1new.bb += einsum(tmp78, (0, 1), tmp132, (1, 0, 2, 3), (3, 2), optimize=True) * -1 + del tmp132 + tmp63 = tmp62.copy() * 0.5 + del tmp62 + tmp63 += tmp61 + del tmp61 + tmp63 += tmp60 * 0.5 + del tmp60 + tmp64 = einsum(tmp63, (0, 1), t1.aa, (0, 2), (1, 2), optimize=True) * 2 + tmp131 = tmp64.copy() + tmp59 = einsum(t2.abab, (0, 1, 2, 3), tmp36, (0, 4, 1, 3), (4, 2), optimize=True) + tmp131 += tmp59 + tmp58 = einsum(tmp3, (0, 1, 2, 3), t2.aaaa, (0, 1, 3, 4), (2, 4), optimize=True) + tmp131 += tmp58 * 2 + tmp57 = einsum(t2.abab, (0, 1, 2, 3), l1.bb, (3, 1), (0, 2), optimize=True) + tmp131 += tmp57 * -1 + tmp56 = einsum(l1.aa, (0, 1), t2.aaaa, (2, 1, 3, 0), (2, 3), optimize=True) + tmp131 += tmp56 * -2 + tmp131 += t1.aa * -1 + tmp131 += l1.aa.transpose((1, 0)) * -1 + l1new.bb += einsum(tmp131, (0, 1), v.aabb.ovov, (0, 1, 2, 3), (3, 2), optimize=True) * -1 + del tmp131 + tmp54 = tmp53.copy() + del tmp53 + tmp54 += tmp52 * 2 + del tmp52 + tmp51 = einsum(t1.aa, (0, 1), l1.aa, (2, 0), (2, 1), optimize=True) + tmp54 += tmp51 + del tmp51 + l1new.bb += einsum(v.bbaa.ovvv, (0, 1, 2, 3), tmp54, (3, 2), (1, 0), optimize=True) + tmp130 = einsum(t1.bb, (0, 1), tmp78, (0, 2), (2, 1), optimize=True) + tmp74 = einsum(tmp73, (0, 1, 2, 3), t2.bbbb, (0, 1, 3, 4), (2, 4), optimize=True) + tmp130 += tmp74 * 2 + tmp72 = einsum(t2.abab, (0, 1, 2, 3), tmp0, (0, 1, 4, 2), (4, 3), optimize=True) + tmp130 += tmp72 + tmp71 = einsum(t2.bbbb, (0, 1, 2, 3), l1.bb, (3, 1), (0, 2), optimize=True) + tmp130 += tmp71 * -2 + tmp70 = einsum(l1.aa, (0, 1), t2.abab, (1, 2, 0, 3), (2, 3), optimize=True) + tmp130 += tmp70 * -1 + tmp130 += t1.bb * -1 + l1new.bb += einsum(tmp130, (0, 1), tmp101, (0, 2, 3, 1), (3, 2), optimize=True) + del tmp101, tmp130 + tmp128 = tmp68.copy() + tmp128 += tmp67 * 0.5 + tmp66 = einsum(t1.bb, (0, 1), l1.bb, (2, 0), (2, 1), optimize=True) + tmp128 += tmp66 * 0.5 + l1new.bb += einsum(tmp129, (0, 1, 2, 3), tmp128, (2, 1), (3, 0), optimize=True) * -2 + del tmp129, tmp128 + tmp127 = tmp38.transpose((1, 0, 2, 3)).copy() + tmp127 += tmp37 + l1new.bb += einsum(tmp127, (0, 1, 2, 3), v.aabb.ooov, (1, 0, 3, 4), (4, 2), optimize=True) + del tmp127 + tmp123 = einsum(t2.bbbb, (0, 1, 2, 3), tmp73, (4, 1, 5, 3), (4, 5, 0, 2), optimize=True) * -1 + tmp126 = tmp123.transpose((0, 2, 1, 3)).copy() + tmp122 = einsum(t2.abab, (0, 1, 2, 3), tmp0, (0, 4, 5, 2), (4, 5, 1, 3), optimize=True) + tmp126 += tmp122.transpose((0, 2, 1, 3)) * 0.25 + tmp126 += einsum(t2.bbbb, (0, 1, 2, 3), l1.bb, (3, 4), (4, 1, 0, 2), optimize=True) * -0.5 + l1new.bb += einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp126, (4, 0, 2, 3), (1, 4), optimize=True) * 4 + del tmp126 + tmp125 = einsum(tmp124, (0, 1, 2, 3), t1.bb, (0, 4), (3, 1, 2, 4), optimize=True) * 0.5 + del tmp124 + tmp125 += tmp123.transpose((2, 0, 1, 3)) + del tmp123 + tmp125 += tmp122.transpose((2, 0, 1, 3)) * 0.25 + del tmp122 + tmp125 += tmp73.transpose((1, 0, 2, 3)) * -0.5 + l1new.bb += einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp125, (0, 4, 2, 1), (3, 4), optimize=True) * -4 + del tmp125 + tmp121 = einsum(tmp0, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3), optimize=True) + tmp121 += einsum(t2.abab, (0, 1, 2, 3), l2.abab, (4, 3, 0, 5), (5, 1, 4, 2), optimize=True) + l1new.bb += einsum(v.bbaa.ovvv, (0, 1, 2, 3), tmp121, (4, 0, 3, 2), (1, 4), optimize=True) * -1 + del tmp121 + tmp120 = einsum(tmp73, (0, 1, 2, 3), t1.bb, (0, 4), (1, 2, 3, 4), optimize=True) * -1 + tmp120 += l2.bbbb.transpose((3, 2, 1, 0)) * -1 + l1new.bb += einsum(v.bbbb.ovvv, (0, 1, 2, 3), tmp120, (4, 0, 2, 1), (3, 4), optimize=True) * -2 + del tmp120 + tmp119 = einsum(tmp39, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 3, 4), optimize=True) * -1 + tmp119 += einsum(t2.abab, (0, 1, 2, 3), tmp73, (4, 1, 5, 3), (0, 4, 5, 2), optimize=True) * -2 + tmp119 += einsum(t2.abab, (0, 1, 2, 3), tmp36, (0, 4, 5, 3), (4, 5, 1, 2), optimize=True) * -1 + tmp119 += einsum(t2.aaaa, (0, 1, 2, 3), tmp0, (1, 4, 5, 3), (0, 4, 5, 2), optimize=True) * 2 + tmp119 += tmp0 + tmp119 += einsum(t2.abab, (0, 1, 2, 3), l1.bb, (3, 4), (0, 4, 1, 2), optimize=True) + l1new.bb += einsum(tmp119, (0, 1, 2, 3), v.aabb.ovov, (0, 3, 2, 4), (4, 1), optimize=True) * -1 + del tmp119 + l1new.bb += einsum(tmp115, (0, 1, 2, 3), tmp118, (4, 0, 3, 2), (1, 4), optimize=True) + del tmp118, tmp115 + tmp114 = einsum(t2.abab, (0, 1, 2, 3), l2.bbbb, (4, 3, 1, 5), (0, 5, 2, 4), optimize=True) * -2 + tmp114 += einsum(tmp36, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3), optimize=True) * -1 + tmp114 += einsum(t2.aaaa, (0, 1, 2, 3), l2.abab, (3, 4, 1, 5), (0, 5, 2, 4), optimize=True) * 2 + tmp114 += l2.abab.transpose((2, 3, 0, 1)) + l1new.bb += einsum(tmp114, (0, 1, 2, 3), v.aabb.ovvv, (0, 2, 3, 4), (4, 1), optimize=True) + del tmp114 + tmp112 = tmp111.transpose((3, 0, 2, 1)).copy() + tmp112 += tmp111.transpose((2, 0, 3, 1)) * -1 + del tmp111 + tmp112 += tmp110.transpose((2, 1, 3, 0)) * -1 + del tmp110 + tmp112 += tmp109.transpose((3, 1, 2, 0)) + del tmp109 + tmp112 += v.bbbb.oooo.transpose((2, 3, 1, 0)) + tmp113 = einsum(tmp112, (0, 1, 2, 3), t1.bb, (0, 4), (2, 3, 1, 4), optimize=True) + del tmp112 + tmp94 = einsum(t1.bb, (0, 1), v.bbbb.ovvv, (2, 3, 1, 4), (0, 2, 3, 4), optimize=True) + tmp108 = tmp94.transpose((0, 1, 3, 2)).copy() + tmp108 += v.bbbb.oovv.transpose((1, 0, 3, 2)) * -1 + tmp108 += v.bbbb.ovov.transpose((2, 0, 3, 1)) + tmp113 += einsum(tmp108, (0, 1, 2, 3), t1.bb, (4, 3), (1, 0, 4, 2), optimize=True) + del tmp108 + tmp113 += einsum(tmp103, (0, 1), t2.bbbb, (2, 3, 1, 4), (0, 3, 2, 4), optimize=True) + tmp113 += einsum(t2.abab, (0, 1, 2, 3), tmp19, (0, 4, 5, 2), (5, 1, 4, 3), optimize=True) + tmp107 = tmp98.transpose((0, 2, 1, 3)).copy() + tmp107 += tmp98 * -1 + tmp107 += v.bbbb.ooov.transpose((1, 2, 0, 3)) * -1 + tmp107 += v.bbbb.ooov.transpose((1, 0, 2, 3)) + tmp113 += einsum(tmp107, (0, 1, 2, 3), t2.bbbb, (2, 4, 3, 5), (1, 4, 0, 5), optimize=True) * 2 + del tmp107 + tmp113 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovvv, (4, 2, 3, 5), (4, 1, 0, 5), optimize=True) + tmp113 += v.bbbb.ooov.transpose((1, 0, 2, 3)) * -1 + l1new.bb += einsum(l2.bbbb, (0, 1, 2, 3), tmp113, (4, 2, 3, 0), (1, 4), optimize=True) * -2 + del tmp113 + tmp20 = einsum(tmp19, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 1, 2), optimize=True) + del tmp19 + tmp21 = tmp20.transpose((1, 0, 3, 2)).copy() + del tmp20 + tmp21 += tmp18.transpose((1, 0, 3, 2)) + del tmp18 + tmp21 += tmp17.transpose((1, 0, 3, 2)) + del tmp17 + tmp21 += v.aabb.oooo.transpose((1, 0, 3, 2)) + tmp106 = einsum(tmp21, (0, 1, 2, 3), t1.aa, (0, 4), (1, 3, 2, 4), optimize=True) * -1 + tmp105 = tmp104.transpose((1, 0, 3, 2)).copy() + del tmp104 + tmp105 += v.bbaa.oovv.transpose((1, 0, 3, 2)) + tmp106 += einsum(t1.aa, (0, 1), tmp105, (2, 3, 1, 4), (0, 3, 2, 4), optimize=True) + del tmp105 + tmp106 += einsum(t2.abab, (0, 1, 2, 3), tmp103, (4, 3), (0, 1, 4, 2), optimize=True) + del tmp103 + tmp10 = tmp9.transpose((1, 0, 2, 3)).copy() + tmp10 += v.aabb.ooov.transpose((1, 0, 2, 3)) + tmp106 += einsum(t2.abab, (0, 1, 2, 3), tmp10, (0, 4, 5, 3), (4, 1, 5, 2), optimize=True) * -1 + tmp106 += einsum(t2.aaaa, (0, 1, 2, 3), tmp8, (0, 4, 5, 2), (1, 5, 4, 3), optimize=True) * 2 + tmp99 = tmp98.transpose((2, 0, 1, 3)).copy() + tmp99 += tmp98.transpose((1, 0, 2, 3)) * -1 + del tmp98 + tmp99 += v.bbbb.ooov.transpose((2, 1, 0, 3)) * -1 + tmp99 += v.bbbb.ooov.transpose((1, 0, 2, 3)) + tmp106 += einsum(t2.abab, (0, 1, 2, 3), tmp99, (4, 5, 1, 3), (0, 5, 4, 2), optimize=True) + del tmp99 + tmp106 += einsum(t2.abab, (0, 1, 2, 3), v.bbaa.ovvv, (4, 3, 2, 5), (0, 1, 4, 5), optimize=True) + tmp106 += tmp7 + del tmp7 + tmp106 += v.aabb.ovoo.transpose((0, 3, 2, 1)) + l1new.bb += einsum(tmp106, (0, 1, 2, 3), l2.abab, (3, 4, 0, 1), (4, 2), optimize=True) * -1 + del tmp106 + tmp97 = einsum(t1.aa, (0, 1), v.aabb.vvvv, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) + l1new.bb += einsum(tmp97, (0, 1, 2, 3), l2.abab, (1, 3, 0, 4), (2, 4), optimize=True) + del tmp97 + l1new.bb += einsum(tmp73, (0, 1, 2, 3), v.bbbb.oovv, (1, 2, 4, 3), (4, 0), optimize=True) * -2 + l1new.bb += einsum(tmp96, (0, 1, 2, 3), v.bbbb.ooov, (1, 2, 3, 4), (4, 0), optimize=True) * -2 + del tmp96 + l1new.bb += einsum(tmp95, (0, 1, 2, 3), v.bbbb.ooov, (3, 1, 2, 4), (4, 0), optimize=True) * 2 + del tmp95 + l1new.bb += f.bb.ov.transpose((1, 0)) + l1new.bb += einsum(tmp73, (0, 1, 2, 3), tmp94, (1, 2, 4, 3), (4, 0), optimize=True) * 2 + del tmp73, tmp94 + l1new.bb += einsum(v.aabb.oovv, (0, 1, 2, 3), tmp36, (0, 1, 4, 3), (2, 4), optimize=True) * -1 + tmp93 = einsum(t1.bb, (0, 1), v.bbbb.vvvv, (2, 3, 1, 4), (0, 2, 3, 4), optimize=True) + l1new.bb += einsum(tmp93, (0, 1, 2, 3), l2.bbbb, (3, 2, 4, 0), (1, 4), optimize=True) * -2 + del tmp93 + l1new.aa = einsum(l1.aa, (0, 1), tmp92, (1, 2), (0, 2), optimize=True) * -1 + del tmp92 + l1new.aa += einsum(tmp63, (0, 1), tmp14, (1, 2), (2, 0), optimize=True) * -2 + del tmp63 + tmp85 = einsum(t1.aa, (0, 1), tmp84, (0, 2, 1, 3), (3, 2), optimize=True) * -1 + del tmp84 + tmp85 += tmp83.transpose((1, 0)) + del tmp83 + tmp85 += f.aa.vv.transpose((1, 0)) + l1new.aa += einsum(tmp85, (0, 1), l1.aa, (0, 2), (1, 2), optimize=True) + del tmp85 + l1new.aa += einsum(v.aabb.ovoo, (0, 1, 2, 3), tmp78, (3, 2), (1, 0), optimize=True) * -1 + tmp82 = v.aaaa.oovv.transpose((1, 0, 3, 2)).copy() * -1 + tmp82 += v.aaaa.ovov.transpose((2, 0, 3, 1)) + l1new.aa += einsum(l1.aa, (0, 1), tmp82, (1, 2, 0, 3), (3, 2), optimize=True) + del tmp82 + tmp81 = v.aaaa.ooov.transpose((1, 2, 0, 3)).copy() + tmp81 += v.aaaa.ooov.transpose((1, 0, 2, 3)) * -1 + l1new.aa += einsum(tmp80, (0, 1), tmp81, (0, 2, 1, 3), (3, 2), optimize=True) * -1 + del tmp80, tmp81 + tmp79 = einsum(t1.bb, (0, 1), tmp78, (0, 2), (2, 1), optimize=True) * 0.5 + del tmp78 + tmp79 += tmp74 + del tmp74 + tmp79 += tmp72 * 0.5 + del tmp72 + tmp79 += tmp71 * -1 + del tmp71 + tmp79 += tmp70 * -0.5 + del tmp70 + tmp79 += t1.bb * -0.5 + tmp79 += l1.bb.transpose((1, 0)) * -0.5 + l1new.aa += einsum(v.aabb.ovov, (0, 1, 2, 3), tmp79, (2, 3), (1, 0), optimize=True) * -2 + del tmp79 + tmp69 = tmp68.copy() * 2 + del tmp68 + tmp69 += tmp67 + del tmp67 + tmp69 += tmp66 + del tmp66 + l1new.aa += einsum(tmp69, (0, 1), v.aabb.ovvv, (2, 3, 1, 0), (3, 2), optimize=True) + del tmp69 + tmp65 = tmp64.copy() + del tmp64 + tmp65 += tmp59 + del tmp59 + tmp65 += tmp58 * 2 + del tmp58 + tmp65 += tmp57 * -1 + del tmp57 + tmp65 += tmp56 * -2 + del tmp56 + tmp65 += t1.aa * -1 + l1new.aa += einsum(tmp12, (0, 1, 2, 3), tmp65, (0, 3), (2, 1), optimize=True) + del tmp12, tmp65 + l1new.aa += einsum(tmp54, (0, 1), tmp55, (2, 3, 1, 0), (3, 2), optimize=True) * -1 + del tmp55, tmp54 + tmp50 = tmp38.transpose((0, 1, 3, 2)).copy() + del tmp38 + tmp50 += tmp37 + del tmp37 + l1new.aa += einsum(v.aabb.ovoo, (0, 1, 2, 3), tmp50, (4, 0, 3, 2), (1, 4), optimize=True) + del tmp50 + tmp49 = tmp47.transpose((2, 1, 0, 3)).copy() + tmp49 += tmp44.transpose((1, 0, 3, 2)) + l1new.aa += einsum(v.aaaa.ooov, (0, 1, 2, 3), tmp49, (1, 4, 0, 2), (3, 4), optimize=True) * 2 + del tmp49 + tmp45 = einsum(t2.abab, (0, 1, 2, 3), tmp36, (4, 5, 1, 3), (4, 5, 0, 2), optimize=True) + tmp48 = tmp45.transpose((2, 0, 1, 3)).copy() * 0.25 + tmp48 += einsum(tmp47, (0, 1, 2, 3), t1.aa, (0, 4), (3, 1, 2, 4), optimize=True) * 0.5 + del tmp47 + tmp43 = einsum(t2.aaaa, (0, 1, 2, 3), tmp3, (4, 1, 5, 3), (4, 5, 0, 2), optimize=True) * -1 + tmp48 += tmp43.transpose((2, 0, 1, 3)) + tmp48 += tmp3.transpose((1, 0, 2, 3)) * -0.5 + l1new.aa += einsum(v.aaaa.ovov, (0, 1, 2, 3), tmp48, (0, 4, 2, 1), (3, 4), optimize=True) * -4 + del tmp48 + tmp46 = tmp45.transpose((0, 2, 1, 3)).copy() * 0.25 + del tmp45 + tmp46 += einsum(tmp44, (0, 1, 2, 3), t1.aa, (1, 4), (0, 3, 2, 4), optimize=True) * -0.5 + del tmp44 + tmp46 += tmp43.transpose((0, 2, 1, 3)) + del tmp43 + tmp46 += einsum(t2.aaaa, (0, 1, 2, 3), l1.aa, (3, 4), (4, 1, 0, 2), optimize=True) * -0.5 + l1new.aa += einsum(tmp46, (0, 1, 2, 3), v.aaaa.ovov, (1, 4, 2, 3), (4, 0), optimize=True) * 4 + del tmp46 + tmp42 = einsum(tmp36, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 4, 3), optimize=True) + tmp42 += einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 4, 5, 1), (5, 0, 4, 3), optimize=True) + l1new.aa += einsum(tmp42, (0, 1, 2, 3), v.aabb.ovvv, (1, 4, 3, 2), (4, 0), optimize=True) * -1 + del tmp42 + tmp41 = einsum(t1.aa, (0, 1), tmp3, (0, 2, 3, 4), (2, 3, 4, 1), optimize=True) * -1 + tmp41 += l2.aaaa.transpose((3, 2, 1, 0)) * -1 + l1new.aa += einsum(v.aaaa.ovvv, (0, 1, 2, 3), tmp41, (4, 0, 2, 1), (3, 4), optimize=True) * -2 + del tmp41 + tmp40 = einsum(tmp39, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 3, 4), optimize=True) * -1 + del tmp39 + tmp40 += einsum(t2.abab, (0, 1, 2, 3), tmp0, (4, 1, 5, 2), (4, 0, 5, 3), optimize=True) * -1 + tmp40 += einsum(t2.bbbb, (0, 1, 2, 3), tmp36, (4, 5, 1, 3), (4, 5, 0, 2), optimize=True) * 2 + tmp40 += einsum(tmp3, (0, 1, 2, 3), t2.abab, (1, 4, 3, 5), (0, 2, 4, 5), optimize=True) * -2 + tmp40 += tmp36 + del tmp36 + tmp40 += einsum(l1.aa, (0, 1), t2.abab, (2, 3, 0, 4), (1, 2, 3, 4), optimize=True) + l1new.aa += einsum(tmp40, (0, 1, 2, 3), v.aabb.ovov, (1, 4, 2, 3), (4, 0), optimize=True) * -1 + del tmp40 + tmp32 = v.aaaa.ovvv.transpose((0, 3, 2, 1)).copy() * -1 + tmp32 += v.aaaa.ovvv.transpose((0, 1, 3, 2)) + l1new.aa += einsum(tmp35, (0, 1, 2, 3), tmp32, (1, 3, 2, 4), (4, 0), optimize=True) + del tmp35, tmp32 + tmp31 = einsum(t1.bb, (0, 1), tmp0, (2, 0, 3, 4), (2, 3, 4, 1), optimize=True) * -1 + tmp31 += einsum(t2.bbbb, (0, 1, 2, 3), l2.abab, (4, 3, 5, 1), (5, 0, 4, 2), optimize=True) * 2 + tmp31 += einsum(t2.abab, (0, 1, 2, 3), l2.aaaa, (4, 2, 0, 5), (5, 1, 4, 3), optimize=True) * -2 + tmp31 += l2.abab.transpose((2, 3, 0, 1)) + l1new.aa += einsum(tmp31, (0, 1, 2, 3), v.bbaa.ovvv, (1, 3, 2, 4), (4, 0), optimize=True) + del tmp31 + tmp29 = tmp28.transpose((3, 0, 2, 1)).copy() + tmp29 += tmp28.transpose((2, 0, 3, 1)) * -1 + del tmp28 + tmp29 += tmp27.transpose((2, 1, 3, 0)) * -1 + del tmp27 + tmp29 += tmp26.transpose((3, 1, 2, 0)) + del tmp26 + tmp29 += v.aaaa.oooo.transpose((2, 3, 1, 0)) + tmp30 = einsum(tmp29, (0, 1, 2, 3), t1.aa, (0, 4), (2, 3, 1, 4), optimize=True) * 0.5 + del tmp29 + tmp4 = einsum(t1.aa, (0, 1), v.aaaa.ovvv, (2, 3, 1, 4), (0, 2, 3, 4), optimize=True) + tmp25 = tmp4.transpose((0, 1, 3, 2)).copy() + tmp25 += v.aaaa.oovv.transpose((1, 0, 3, 2)) * -1 + tmp25 += v.aaaa.ovov.transpose((2, 0, 3, 1)) + tmp30 += einsum(tmp25, (0, 1, 2, 3), t1.aa, (4, 3), (1, 0, 4, 2), optimize=True) * 0.5 + del tmp25 + tmp30 += einsum(t2.aaaa, (0, 1, 2, 3), tmp14, (4, 2), (4, 1, 0, 3), optimize=True) * 0.5 + tmp24 = tmp9.copy() + del tmp9 + tmp24 += v.aabb.ooov.transpose((1, 0, 2, 3)) + tmp30 += einsum(t2.abab, (0, 1, 2, 3), tmp24, (4, 5, 1, 3), (5, 0, 4, 2), optimize=True) * 0.5 + del tmp24 + tmp23 = tmp5.transpose((0, 2, 1, 3)).copy() + tmp23 += tmp5 * -1 + tmp23 += v.aaaa.ooov.transpose((1, 2, 0, 3)) * -1 + tmp23 += v.aaaa.ooov.transpose((1, 0, 2, 3)) + tmp30 += einsum(t2.aaaa, (0, 1, 2, 3), tmp23, (4, 5, 0, 2), (5, 1, 4, 3), optimize=True) + del tmp23 + tmp30 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovvv, (4, 2, 3, 5), (4, 1, 0, 5), optimize=True) * 0.5 + tmp30 += v.aaaa.ooov.transpose((1, 0, 2, 3)) * -0.5 + l1new.aa += einsum(tmp30, (0, 1, 2, 3), l2.aaaa, (3, 4, 1, 2), (4, 0), optimize=True) * -4 + del tmp30 + tmp22 = einsum(t1.bb, (0, 1), tmp21, (2, 3, 0, 4), (3, 2, 4, 1), optimize=True) * -0.5 + del tmp21 + tmp16 = tmp15.copy() + del tmp15 + tmp16 += v.aabb.ovov.transpose((0, 2, 1, 3)) + tmp22 += einsum(tmp16, (0, 1, 2, 3), t1.aa, (4, 2), (4, 0, 1, 3), optimize=True) * 0.5 + del tmp16 + tmp22 += einsum(t2.abab, (0, 1, 2, 3), tmp14, (4, 2), (0, 4, 1, 3), optimize=True) * 0.5 + del tmp14 + tmp22 += einsum(tmp10, (0, 1, 2, 3), t2.bbbb, (2, 4, 3, 5), (1, 0, 4, 5), optimize=True) + del tmp10 + tmp22 += einsum(t2.abab, (0, 1, 2, 3), tmp8, (4, 1, 5, 2), (0, 4, 5, 3), optimize=True) * -0.5 + del tmp8 + tmp6 = tmp5.transpose((2, 0, 1, 3)).copy() * -1 + tmp6 += tmp5.transpose((1, 0, 2, 3)) + del tmp5 + tmp6 += v.aaaa.ooov.transpose((2, 1, 0, 3)) + tmp6 += v.aaaa.ooov.transpose((1, 0, 2, 3)) * -1 + tmp22 += einsum(t2.abab, (0, 1, 2, 3), tmp6, (0, 4, 5, 2), (4, 5, 1, 3), optimize=True) * 0.5 + del tmp6 + tmp22 += einsum(v.aabb.ovvv, (0, 1, 2, 3), t2.abab, (4, 5, 1, 2), (4, 0, 5, 3), optimize=True) * 0.5 + tmp22 += einsum(v.aabb.oovv, (0, 1, 2, 3), t1.bb, (4, 3), (1, 0, 4, 2), optimize=True) * 0.5 + tmp22 += v.aabb.ooov.transpose((1, 0, 2, 3)) * 0.5 + l1new.aa += einsum(tmp22, (0, 1, 2, 3), l2.abab, (4, 3, 0, 2), (4, 1), optimize=True) * -2 + del tmp22 + l1new.aa += einsum(tmp3, (0, 1, 2, 3), v.aaaa.oovv, (1, 2, 4, 3), (4, 0), optimize=True) * -2 + l1new.aa += einsum(tmp3, (0, 1, 2, 3), tmp4, (1, 2, 4, 3), (4, 0), optimize=True) * 2 + del tmp3, tmp4 + l1new.aa += f.aa.ov.transpose((1, 0)) + tmp2 = einsum(t1.bb, (0, 1), v.aabb.vvvv, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) + l1new.aa += einsum(l2.abab, (0, 1, 2, 3), tmp2, (3, 4, 0, 1), (4, 2), optimize=True) + del tmp2 + tmp1 = einsum(t1.aa, (0, 1), v.aaaa.vvvv, (2, 3, 1, 4), (0, 2, 3, 4), optimize=True) + l1new.aa += einsum(l2.aaaa, (0, 1, 2, 3), tmp1, (3, 4, 1, 0), (4, 2), optimize=True) * -2 + del tmp1 + l1new.aa += einsum(tmp0, (0, 1, 2, 3), v.bbaa.oovv, (1, 2, 4, 3), (4, 0), optimize=True) * -1 + del tmp0 + + return {f"l1new": l1new, f"l2new": l2new} + +def make_rdm1_f(l1=None, l2=None, t1=None, t2=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-03-02T15:26:46.164774. + + Parameters + ---------- + l1 : Namespace of arrays + L1 amplitudes. + l2 : Namespace of arrays + L2 amplitudes. + t1 : Namespace of arrays + T1 amplitudes. + t2 : Namespace of arrays + T2 amplitudes. + + Returns + ------- + rdm1 : Namespace of arrays + One-particle reduced density matrix. + """ + + rdm1 = Namespace() + rdm1.aa = Namespace() + rdm1.bb = Namespace() + delta = Namespace( + aa=Namespace(oo=np.eye(t1.aa.shape[0]), vv=np.eye(t1.aa.shape[1])), + bb=Namespace(oo=np.eye(t1.bb.shape[0]), vv=np.eye(t1.bb.shape[1])), + ) + rdm1.bb.vv = einsum(t1.bb, (0, 1), l1.bb, (2, 0), (2, 1), optimize=True) + rdm1.bb.vv += einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 4, 0, 1), (4, 3), optimize=True) + rdm1.bb.vv += einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (3, 4, 0, 1), (4, 2), optimize=True) * -2 + rdm1.aa.vv = einsum(t1.aa, (0, 1), l1.aa, (2, 0), (2, 1), optimize=True) + rdm1.aa.vv += einsum(t2.abab, (0, 1, 2, 3), l2.abab, (4, 3, 0, 1), (4, 2), optimize=True) + rdm1.aa.vv += einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (3, 4, 0, 1), (4, 2), optimize=True) * -2 + rdm1.bb.vo = l1.bb.copy() + rdm1.aa.vo = l1.aa.copy() + tmp4 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (2, 3, 4, 1), (4, 0), optimize=True) + tmp11 = tmp4.copy() * 2 + tmp3 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 3, 0, 4), (4, 1), optimize=True) + tmp11 += tmp3 + tmp5 = einsum(t1.bb, (0, 1), l1.bb, (1, 2), (2, 0), optimize=True) + tmp11 += tmp5 + rdm1.bb.ov = einsum(t1.bb, (0, 1), tmp11, (0, 2), (2, 1), optimize=True) * -1 + del tmp11 + tmp10 = einsum(l2.bbbb, (0, 1, 2, 3), t1.bb, (4, 1), (2, 3, 4, 0), optimize=True) + rdm1.bb.ov += einsum(t2.bbbb, (0, 1, 2, 3), tmp10, (0, 1, 4, 3), (4, 2), optimize=True) * 2 + del tmp10 + rdm1.bb.ov += einsum(t2.bbbb, (0, 1, 2, 3), l1.bb, (3, 1), (0, 2), optimize=True) * 2 + rdm1.bb.ov += einsum(l1.aa, (0, 1), t2.abab, (1, 2, 0, 3), (2, 3), optimize=True) + tmp9 = einsum(t1.bb, (0, 1), l2.abab, (2, 1, 3, 4), (3, 4, 0, 2), optimize=True) + rdm1.bb.ov += einsum(t2.abab, (0, 1, 2, 3), tmp9, (0, 1, 4, 2), (4, 3), optimize=True) * -1 + del tmp9 + rdm1.bb.ov += t1.bb + tmp2 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 3, 4, 1), (4, 0), optimize=True) + tmp8 = tmp2.copy() * 0.5 + tmp0 = einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 3, 0, 1), (2, 4), optimize=True) + tmp8 += tmp0 + tmp1 = einsum(l1.aa, (0, 1), t1.aa, (2, 0), (1, 2), optimize=True) + tmp8 += tmp1 * 0.5 + rdm1.aa.ov = einsum(tmp8, (0, 1), t1.aa, (0, 2), (1, 2), optimize=True) * -2 + del tmp8 + tmp7 = einsum(t1.aa, (0, 1), l2.aaaa, (2, 1, 3, 4), (3, 4, 0, 2), optimize=True) + rdm1.aa.ov += einsum(t2.aaaa, (0, 1, 2, 3), tmp7, (0, 1, 4, 3), (4, 2), optimize=True) * 2 + del tmp7 + rdm1.aa.ov += einsum(t2.abab, (0, 1, 2, 3), l1.bb, (3, 1), (0, 2), optimize=True) + rdm1.aa.ov += einsum(l1.aa, (0, 1), t2.aaaa, (2, 1, 3, 0), (2, 3), optimize=True) * 2 + rdm1.aa.ov += t1.aa + tmp6 = einsum(t1.aa, (0, 1), l2.abab, (1, 2, 3, 4), (3, 0, 4, 2), optimize=True) + rdm1.aa.ov += einsum(tmp6, (0, 1, 2, 3), t2.abab, (0, 2, 4, 3), (1, 4), optimize=True) * -1 + del tmp6 + rdm1.bb.oo = tmp5.transpose((1, 0)).copy() * -1 + del tmp5 + rdm1.bb.oo += tmp4.transpose((1, 0)) * -2 + del tmp4 + rdm1.bb.oo += tmp3.transpose((1, 0)) * -1 + del tmp3 + rdm1.bb.oo += delta.bb.oo.transpose((1, 0)) + rdm1.aa.oo = tmp2.transpose((1, 0)).copy() * -1 + del tmp2 + rdm1.aa.oo += tmp1.transpose((1, 0)) * -1 + del tmp1 + rdm1.aa.oo += tmp0.transpose((1, 0)) * -2 + del tmp0 + rdm1.aa.oo += delta.aa.oo.transpose((1, 0)) + del delta + rdm1.aa = np.block([[rdm1.aa.oo, rdm1.aa.ov], [rdm1.aa.vo, rdm1.aa.vv]]) + rdm1.bb = np.block([[rdm1.bb.oo, rdm1.bb.ov], [rdm1.bb.vo, rdm1.bb.vv]]) + + return rdm1 + +def make_rdm2_f(l1=None, l2=None, t1=None, t2=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-03-02T15:27:22.043395. + + Parameters + ---------- + l1 : Namespace of arrays + L1 amplitudes. + l2 : Namespace of arrays + L2 amplitudes. + t1 : Namespace of arrays + T1 amplitudes. + t2 : Namespace of arrays + T2 amplitudes. + + Returns + ------- + rdm2 : Namespace of arrays + Two-particle reduced density matrix. + """ + + rdm2 = Namespace() + rdm2.aaaa = Namespace() + rdm2.abab = Namespace() + rdm2.bbbb = Namespace() + delta = Namespace( + aa=Namespace(oo=np.eye(t1.aa.shape[0]), vv=np.eye(t1.aa.shape[1])), + bb=Namespace(oo=np.eye(t1.bb.shape[0]), vv=np.eye(t1.bb.shape[1])), + ) + tmp131 = einsum(t1.bb, (0, 1), l2.bbbb, (2, 3, 4, 0), (4, 2, 3, 1), optimize=True) + rdm2.bbbb.vvvv = einsum(t1.bb, (0, 1), tmp131, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) * 2 + rdm2.bbbb.vvvv += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (2, 3, 4, 5), (1, 0, 5, 4), optimize=True) * 2 + tmp130 = einsum(t1.bb, (0, 1), l2.abab, (2, 3, 4, 0), (4, 2, 3, 1), optimize=True) + rdm2.abab.vvvv = einsum(t1.aa, (0, 1), tmp130, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) + rdm2.abab.vvvv += einsum(t2.abab, (0, 1, 2, 3), l2.abab, (4, 5, 0, 1), (4, 5, 2, 3), optimize=True) + tmp129 = einsum(t1.aa, (0, 1), l2.aaaa, (2, 3, 4, 0), (4, 2, 3, 1), optimize=True) + rdm2.aaaa.vvvv = einsum(t1.aa, (0, 1), tmp129, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) * 2 + rdm2.aaaa.vvvv += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (2, 3, 4, 5), (1, 0, 5, 4), optimize=True) * 2 + rdm2.bbbb.vvvo = tmp131.transpose((2, 1, 3, 0)).copy() * 2 + rdm2.abab.vvvo = einsum(t1.aa, (0, 1), l2.abab, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) + rdm2.aaaa.vvvo = tmp129.transpose((2, 1, 3, 0)).copy() * 2 + rdm2.bbbb.vvov = tmp131.transpose((2, 1, 0, 3)).copy() * -2 + del tmp131 + rdm2.abab.vvov = tmp130.transpose((1, 2, 0, 3)).copy() + del tmp130 + rdm2.aaaa.vvov = tmp129.transpose((2, 1, 0, 3)).copy() * -2 + del tmp129 + tmp17 = einsum(l2.bbbb, (0, 1, 2, 3), t1.bb, (4, 1), (2, 3, 4, 0), optimize=True) + tmp114 = einsum(tmp17, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 3, 4), optimize=True) + tmp128 = einsum(tmp114, (0, 1, 2, 3), t1.bb, (0, 4), (1, 2, 3, 4), optimize=True) * -1 + rdm2.bbbb.vovv = tmp128.transpose((1, 0, 3, 2)).copy() * 2 + tmp83 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (3, 4, 5, 1), (5, 0, 4, 2), optimize=True) * -1 + tmp84 = tmp83.copy() * 4 + tmp82 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 4, 0, 5), (5, 1, 4, 3), optimize=True) + tmp84 += tmp82 + tmp127 = einsum(t1.bb, (0, 1), tmp84, (0, 2, 3, 4), (2, 1, 3, 4), optimize=True) + rdm2.bbbb.vovv += tmp127.transpose((2, 0, 3, 1)) * -1 + rdm2.bbbb.vovv += tmp127.transpose((2, 0, 1, 3)) + tmp77 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (3, 4, 0, 1), (4, 2), optimize=True) * -1 + tmp113 = tmp77.copy() * 2 + tmp76 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 4, 0, 1), (4, 3), optimize=True) + tmp113 += tmp76 + tmp110 = einsum(t1.bb, (0, 1), l1.bb, (2, 0), (2, 1), optimize=True) + tmp113 += tmp110 + rdm2.bbbb.vovv += einsum(t1.bb, (0, 1), tmp113, (2, 3), (2, 0, 3, 1), optimize=True) + rdm2.bbbb.vovv += einsum(tmp113, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1), optimize=True) * -1 + tmp126 = einsum(l1.bb, (0, 1), t2.bbbb, (2, 1, 3, 4), (2, 0, 3, 4), optimize=True) + rdm2.bbbb.vovv += tmp126.transpose((1, 0, 3, 2)) * 2 + tmp125 = einsum(tmp17, (0, 1, 2, 3), t2.bbbb, (0, 1, 4, 5), (2, 3, 4, 5), optimize=True) + rdm2.bbbb.vovv += tmp125.transpose((1, 0, 3, 2)) * 2 + tmp13 = einsum(t1.bb, (0, 1), l2.abab, (2, 1, 3, 4), (3, 4, 0, 2), optimize=True) + tmp117 = einsum(t1.bb, (0, 1), tmp13, (2, 0, 3, 4), (2, 3, 4, 1), optimize=True) + rdm2.abab.vovv = einsum(t1.aa, (0, 1), tmp117, (0, 2, 3, 4), (3, 2, 1, 4), optimize=True) * -1 + tmp90 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (4, 3, 0, 5), (5, 1, 4, 2), optimize=True) + rdm2.abab.vovv += einsum(t1.bb, (0, 1), tmp90, (0, 2, 3, 4), (3, 2, 4, 1), optimize=True) * -1 + tmp80 = einsum(t2.bbbb, (0, 1, 2, 3), l2.abab, (4, 3, 5, 1), (5, 0, 4, 2), optimize=True) + tmp81 = tmp80.copy() + tmp79 = einsum(t2.abab, (0, 1, 2, 3), l2.aaaa, (2, 4, 5, 0), (5, 1, 4, 3), optimize=True) * -1 + tmp81 += tmp79 + rdm2.abab.vovv += einsum(t1.aa, (0, 1), tmp81, (0, 2, 3, 4), (3, 2, 1, 4), optimize=True) * 2 + tmp57 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (4, 3, 0, 1), (4, 2), optimize=True) + tmp108 = tmp57.copy() + tmp56 = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (3, 4, 0, 1), (4, 2), optimize=True) * -1 + tmp108 += tmp56 * 2 + tmp107 = einsum(t1.aa, (0, 1), l1.aa, (2, 0), (2, 1), optimize=True) + tmp108 += tmp107 + rdm2.abab.vovv += einsum(tmp108, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3), optimize=True) + rdm2.abab.vovv += einsum(l1.aa, (0, 1), t2.abab, (1, 2, 3, 4), (0, 2, 3, 4), optimize=True) + rdm2.abab.vovv += einsum(tmp13, (0, 1, 2, 3), t2.abab, (0, 1, 4, 5), (3, 2, 4, 5), optimize=True) * -1 + tmp6 = einsum(t1.aa, (0, 1), l2.aaaa, (2, 1, 3, 4), (3, 4, 0, 2), optimize=True) + tmp109 = einsum(tmp6, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 3, 4), optimize=True) + tmp123 = einsum(t1.aa, (0, 1), tmp109, (0, 2, 3, 4), (2, 3, 4, 1), optimize=True) * -1 + rdm2.aaaa.vovv = tmp123.transpose((1, 0, 3, 2)).copy() * 2 + tmp64 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (4, 3, 5, 1), (5, 0, 4, 2), optimize=True) + tmp121 = tmp64.copy() + tmp62 = einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 3, 5, 0), (2, 4, 1, 5), optimize=True) * -1 + tmp121 += tmp62 * 4 + tmp122 = einsum(tmp121, (0, 1, 2, 3), t1.aa, (0, 4), (1, 4, 2, 3), optimize=True) + del tmp121 + rdm2.aaaa.vovv += tmp122.transpose((2, 0, 3, 1)) * -1 + rdm2.aaaa.vovv += tmp122.transpose((2, 0, 1, 3)) + rdm2.aaaa.vovv += einsum(t1.aa, (0, 1), tmp108, (2, 3), (2, 0, 3, 1), optimize=True) + rdm2.aaaa.vovv += einsum(t1.aa, (0, 1), tmp108, (2, 3), (2, 0, 1, 3), optimize=True) * -1 + tmp120 = einsum(t2.aaaa, (0, 1, 2, 3), l1.aa, (4, 1), (0, 4, 2, 3), optimize=True) + rdm2.aaaa.vovv += tmp120.transpose((1, 0, 3, 2)) * 2 + tmp119 = einsum(tmp6, (0, 1, 2, 3), t2.aaaa, (0, 1, 4, 5), (2, 3, 4, 5), optimize=True) + rdm2.aaaa.vovv += tmp119.transpose((1, 0, 3, 2)) * 2 + rdm2.bbbb.ovvv = tmp128.transpose((0, 1, 3, 2)).copy() * -2 + del tmp128 + rdm2.bbbb.ovvv += tmp127.transpose((0, 2, 3, 1)) + rdm2.bbbb.ovvv += tmp127.transpose((0, 2, 1, 3)) * -1 + del tmp127 + rdm2.bbbb.ovvv += einsum(t1.bb, (0, 1), tmp110, (2, 3), (0, 2, 3, 1), optimize=True) * -1 + rdm2.bbbb.ovvv += einsum(tmp110, (0, 1), t1.bb, (2, 3), (2, 0, 3, 1), optimize=True) + tmp78 = tmp77.copy() * 2 + tmp78 += tmp76 + rdm2.bbbb.ovvv += einsum(t1.bb, (0, 1), tmp78, (2, 3), (0, 2, 3, 1), optimize=True) * -1 + rdm2.bbbb.ovvv += einsum(tmp78, (0, 1), t1.bb, (2, 3), (2, 0, 3, 1), optimize=True) + rdm2.bbbb.ovvv += tmp126.transpose((0, 1, 3, 2)) * -2 + del tmp126 + rdm2.bbbb.ovvv += tmp125.transpose((0, 1, 3, 2)) * -2 + del tmp125 + tmp22 = einsum(t1.aa, (0, 1), l2.abab, (1, 2, 3, 4), (3, 0, 4, 2), optimize=True) + tmp116 = einsum(tmp22, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3), optimize=True) + rdm2.abab.ovvv = einsum(t1.bb, (0, 1), tmp116, (2, 0, 3, 4), (2, 4, 3, 1), optimize=True) * -1 + tmp60 = einsum(l2.bbbb, (0, 1, 2, 3), t2.abab, (4, 3, 5, 0), (4, 2, 5, 1), optimize=True) * -1 + tmp124 = tmp60.copy() + tmp115 = einsum(t2.aaaa, (0, 1, 2, 3), l2.abab, (3, 4, 1, 5), (0, 5, 2, 4), optimize=True) + tmp124 += tmp115 + rdm2.abab.ovvv += einsum(t1.bb, (0, 1), tmp124, (2, 0, 3, 4), (2, 4, 3, 1), optimize=True) * 2 + del tmp124 + tmp112 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 4, 5, 1), (5, 0, 4, 3), optimize=True) + rdm2.abab.ovvv += einsum(tmp112, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3), optimize=True) * -1 + tmp111 = tmp77.copy() + tmp111 += tmp76 * 0.5 + tmp111 += tmp110 * 0.5 + del tmp110 + rdm2.abab.ovvv += einsum(t1.aa, (0, 1), tmp111, (2, 3), (0, 2, 1, 3), optimize=True) * 2 + rdm2.abab.ovvv += einsum(tmp22, (0, 1, 2, 3), t2.abab, (0, 2, 4, 5), (1, 3, 4, 5), optimize=True) * -1 + rdm2.abab.ovvv += einsum(l1.bb, (0, 1), t2.abab, (2, 1, 3, 4), (2, 0, 3, 4), optimize=True) + rdm2.aaaa.ovvv = tmp123.transpose((0, 1, 3, 2)).copy() * -2 + del tmp123 + rdm2.aaaa.ovvv += tmp122.transpose((0, 2, 3, 1)) + rdm2.aaaa.ovvv += tmp122.transpose((0, 2, 1, 3)) * -1 + del tmp122 + rdm2.aaaa.ovvv += einsum(t1.aa, (0, 1), tmp107, (2, 3), (0, 2, 3, 1), optimize=True) * -1 + rdm2.aaaa.ovvv += einsum(t1.aa, (0, 1), tmp107, (2, 3), (0, 2, 1, 3), optimize=True) + tmp58 = tmp57.copy() * 0.5 + tmp58 += tmp56 + rdm2.aaaa.ovvv += einsum(t1.aa, (0, 1), tmp58, (2, 3), (0, 2, 3, 1), optimize=True) * -2 + rdm2.aaaa.ovvv += einsum(t1.aa, (0, 1), tmp58, (2, 3), (0, 2, 1, 3), optimize=True) * 2 + rdm2.aaaa.ovvv += tmp120.transpose((0, 1, 3, 2)) * -2 + del tmp120 + rdm2.aaaa.ovvv += tmp119.transpose((0, 1, 3, 2)) * -2 + del tmp119 + rdm2.bbbb.vvoo = l2.bbbb.transpose((1, 0, 3, 2)).copy() * 2 + rdm2.abab.vvoo = l2.abab.copy() + rdm2.aaaa.vvoo = l2.aaaa.transpose((1, 0, 3, 2)).copy() * 2 + rdm2.bbbb.vovo = tmp114.transpose((2, 1, 3, 0)).copy() * 2 + rdm2.bbbb.vovo += tmp83.transpose((2, 1, 3, 0)) * -4 + rdm2.bbbb.vovo += einsum(t1.bb, (0, 1), l1.bb, (2, 3), (2, 0, 1, 3), optimize=True) * -1 + rdm2.bbbb.vovo += tmp82.transpose((2, 1, 3, 0)) * -1 + rdm2.bbbb.vovo += einsum(delta.bb.oo, (0, 1), tmp113, (2, 3), (2, 1, 3, 0), optimize=True) + rdm2.abab.vovo = einsum(t1.aa, (0, 1), tmp13, (0, 2, 3, 4), (4, 3, 1, 2), optimize=True) * -1 + rdm2.abab.vovo += tmp90.transpose((2, 1, 3, 0)) * -1 + tmp118 = tmp57.copy() * 0.5 + del tmp57 + tmp118 += tmp56 + del tmp56 + tmp118 += tmp107 * 0.5 + del tmp107 + rdm2.abab.vovo += einsum(tmp118, (0, 1), delta.bb.oo, (2, 3), (0, 3, 1, 2), optimize=True) * 2 + del tmp118 + rdm2.aaaa.vovo = tmp109.transpose((2, 1, 3, 0)).copy() * 2 + rdm2.aaaa.vovo += einsum(t1.aa, (0, 1), l1.aa, (2, 3), (2, 0, 1, 3), optimize=True) * -1 + rdm2.aaaa.vovo += tmp64.transpose((2, 1, 3, 0)) * -1 + rdm2.aaaa.vovo += tmp62.transpose((2, 1, 3, 0)) * -4 + rdm2.aaaa.vovo += einsum(delta.aa.oo, (0, 1), tmp108, (2, 3), (2, 1, 3, 0), optimize=True) + rdm2.bbbb.voov = tmp114.transpose((2, 1, 0, 3)).copy() * -2 + rdm2.bbbb.voov += tmp83.transpose((2, 1, 0, 3)) * 4 + rdm2.bbbb.voov += einsum(t1.bb, (0, 1), l1.bb, (2, 3), (2, 0, 3, 1), optimize=True) + rdm2.bbbb.voov += tmp82.transpose((2, 1, 0, 3)) + rdm2.bbbb.voov += einsum(delta.bb.oo, (0, 1), tmp113, (2, 3), (2, 1, 0, 3), optimize=True) * -1 + rdm2.abab.voov = tmp117.transpose((2, 1, 0, 3)).copy() * -1 + del tmp117 + rdm2.abab.voov += einsum(l1.aa, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3), optimize=True) + rdm2.abab.voov += tmp80.transpose((2, 1, 0, 3)) * 2 + rdm2.abab.voov += tmp79.transpose((2, 1, 0, 3)) * 2 + rdm2.aaaa.voov = tmp109.transpose((2, 1, 0, 3)).copy() * -2 + rdm2.aaaa.voov += einsum(t1.aa, (0, 1), l1.aa, (2, 3), (2, 0, 3, 1), optimize=True) + rdm2.aaaa.voov += tmp64.transpose((2, 1, 0, 3)) + rdm2.aaaa.voov += tmp62.transpose((2, 1, 0, 3)) * 4 + rdm2.aaaa.voov += einsum(delta.aa.oo, (0, 1), tmp108, (2, 3), (2, 1, 0, 3), optimize=True) * -1 + rdm2.bbbb.ovvo = tmp114.transpose((1, 2, 3, 0)).copy() * -2 + rdm2.bbbb.ovvo += tmp83.transpose((1, 2, 3, 0)) * 4 + rdm2.bbbb.ovvo += einsum(t1.bb, (0, 1), l1.bb, (2, 3), (0, 2, 1, 3), optimize=True) + rdm2.bbbb.ovvo += tmp82.transpose((1, 2, 3, 0)) + rdm2.bbbb.ovvo += einsum(delta.bb.oo, (0, 1), tmp113, (2, 3), (1, 2, 3, 0), optimize=True) * -1 + rdm2.abab.ovvo = tmp116.transpose((0, 3, 2, 1)).copy() * -1 + del tmp116 + rdm2.abab.ovvo += einsum(l1.bb, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1), optimize=True) + rdm2.abab.ovvo += tmp60.transpose((0, 3, 2, 1)) * 2 + rdm2.abab.ovvo += tmp115.transpose((0, 3, 2, 1)) * 2 + del tmp115 + rdm2.aaaa.ovvo = tmp109.transpose((1, 2, 3, 0)).copy() * -2 + rdm2.aaaa.ovvo += einsum(t1.aa, (0, 1), l1.aa, (2, 3), (0, 2, 1, 3), optimize=True) + rdm2.aaaa.ovvo += tmp64.transpose((1, 2, 3, 0)) + rdm2.aaaa.ovvo += tmp62.transpose((1, 2, 3, 0)) * 4 + rdm2.aaaa.ovvo += einsum(delta.aa.oo, (0, 1), tmp108, (2, 3), (1, 2, 3, 0), optimize=True) * -1 + rdm2.bbbb.ovov = tmp114.transpose((1, 2, 0, 3)).copy() * 2 + del tmp114 + rdm2.bbbb.ovov += tmp83.transpose((1, 2, 0, 3)) * -4 + rdm2.bbbb.ovov += einsum(t1.bb, (0, 1), l1.bb, (2, 3), (0, 2, 3, 1), optimize=True) * -1 + rdm2.bbbb.ovov += tmp82.transpose((1, 2, 0, 3)) * -1 + del tmp82 + rdm2.bbbb.ovov += einsum(delta.bb.oo, (0, 1), tmp113, (2, 3), (1, 2, 0, 3), optimize=True) + del tmp113 + rdm2.abab.ovov = einsum(tmp22, (0, 1, 2, 3), t1.bb, (2, 4), (1, 3, 0, 4), optimize=True) * -1 + rdm2.abab.ovov += tmp112.transpose((1, 2, 0, 3)) * -1 + del tmp112 + rdm2.abab.ovov += einsum(delta.aa.oo, (0, 1), tmp111, (2, 3), (1, 2, 0, 3), optimize=True) * 2 + del tmp111 + rdm2.aaaa.ovov = tmp109.transpose((1, 2, 0, 3)).copy() * 2 + del tmp109 + rdm2.aaaa.ovov += einsum(t1.aa, (0, 1), l1.aa, (2, 3), (0, 2, 3, 1), optimize=True) * -1 + rdm2.aaaa.ovov += tmp64.transpose((1, 2, 0, 3)) * -1 + rdm2.aaaa.ovov += tmp62.transpose((1, 2, 0, 3)) * -4 + rdm2.aaaa.ovov += einsum(delta.aa.oo, (0, 1), tmp108, (2, 3), (1, 2, 0, 3), optimize=True) + del tmp108 + tmp18 = einsum(tmp17, (0, 1, 2, 3), t1.bb, (4, 3), (0, 1, 4, 2), optimize=True) + tmp47 = einsum(tmp18, (0, 1, 2, 3), t1.bb, (0, 4), (1, 3, 2, 4), optimize=True) + rdm2.bbbb.oovv = einsum(tmp47, (0, 1, 2, 3), t1.bb, (0, 4), (2, 1, 4, 3), optimize=True) * -2 + tmp45 = einsum(tmp17, (0, 1, 2, 3), t2.bbbb, (4, 1, 5, 3), (0, 2, 4, 5), optimize=True) * -1 + tmp105 = tmp45.copy() * 4 + tmp43 = einsum(t2.abab, (0, 1, 2, 3), tmp13, (0, 4, 5, 2), (4, 5, 1, 3), optimize=True) + tmp105 += tmp43 + tmp106 = einsum(t1.bb, (0, 1), tmp105, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) + del tmp105 + rdm2.bbbb.oovv += tmp106.transpose((1, 0, 3, 2)) * -1 + rdm2.bbbb.oovv += tmp106.transpose((1, 0, 2, 3)) + del tmp106 + tmp104 = einsum(t1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3), optimize=True) + tmp104 += t2.bbbb.transpose((1, 0, 3, 2)) + tmp16 = einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 5, 0, 1), (2, 3, 4, 5), optimize=True) + rdm2.bbbb.oovv += einsum(tmp16, (0, 1, 2, 3), tmp104, (0, 1, 4, 5), (3, 2, 5, 4), optimize=True) * 2 + del tmp104 + tmp10 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (2, 3, 4, 1), (4, 0), optimize=True) + tmp102 = tmp10.copy() * 2 + tmp9 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 3, 0, 4), (4, 1), optimize=True) + tmp102 += tmp9 + tmp103 = einsum(tmp102, (0, 1), t2.bbbb, (0, 2, 3, 4), (2, 1, 3, 4), optimize=True) * 2 + del tmp102 + rdm2.bbbb.oovv += tmp103.transpose((0, 1, 3, 2)) * -1 + tmp88 = tmp10.copy() + tmp88 += tmp9 * 0.5 + tmp101 = einsum(t1.bb, (0, 1), tmp88, (0, 2), (2, 1), optimize=True) * 2 + rdm2.bbbb.oovv += einsum(tmp101, (0, 1), t1.bb, (2, 3), (2, 0, 1, 3), optimize=True) + rdm2.bbbb.oovv += einsum(tmp101, (0, 1), t1.bb, (2, 3), (2, 0, 3, 1), optimize=True) * -1 + tmp8 = einsum(t1.bb, (0, 1), l1.bb, (1, 2), (2, 0), optimize=True) + tmp100 = einsum(t1.bb, (0, 1), tmp8, (0, 2), (2, 1), optimize=True) + rdm2.bbbb.oovv += einsum(t1.bb, (0, 1), tmp100, (2, 3), (0, 2, 3, 1), optimize=True) + rdm2.bbbb.oovv += einsum(tmp100, (0, 1), t1.bb, (2, 3), (2, 0, 3, 1), optimize=True) * -1 + rdm2.bbbb.oovv += tmp103.transpose((1, 0, 3, 2)) + del tmp103 + rdm2.bbbb.oovv += einsum(tmp101, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3), optimize=True) * -1 + rdm2.bbbb.oovv += einsum(t1.bb, (0, 1), tmp101, (2, 3), (2, 0, 1, 3), optimize=True) + del tmp101 + rdm2.bbbb.oovv += einsum(tmp100, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3), optimize=True) * -1 + rdm2.bbbb.oovv += einsum(t1.bb, (0, 1), tmp100, (2, 3), (2, 0, 1, 3), optimize=True) + del tmp100 + rdm2.bbbb.oovv += einsum(tmp18, (0, 1, 2, 3), t2.bbbb, (1, 0, 4, 5), (3, 2, 5, 4), optimize=True) * -2 + tmp92 = einsum(tmp8, (0, 1), t2.bbbb, (2, 0, 3, 4), (1, 2, 3, 4), optimize=True) + rdm2.bbbb.oovv += tmp92.transpose((1, 0, 3, 2)) * 2 + tmp99 = tmp45.transpose((0, 2, 1, 3)).copy() * 4 + tmp99 += tmp43.transpose((0, 2, 1, 3)) + tmp44 = einsum(t2.bbbb, (0, 1, 2, 3), l1.bb, (3, 4), (4, 0, 1, 2), optimize=True) + tmp99 += tmp44.transpose((0, 2, 1, 3)) * -2 + rdm2.bbbb.oovv += einsum(tmp99, (0, 1, 2, 3), t1.bb, (0, 4), (2, 1, 3, 4), optimize=True) + del tmp99 + tmp98 = tmp45.transpose((0, 2, 1, 3)).copy() * 2 + tmp98 += tmp43.transpose((0, 2, 1, 3)) * 0.5 + tmp98 += tmp44.transpose((0, 2, 1, 3)) * -1 + rdm2.bbbb.oovv += einsum(t1.bb, (0, 1), tmp98, (0, 2, 3, 4), (3, 2, 1, 4), optimize=True) * -2 + del tmp98 + rdm2.bbbb.oovv += einsum(t2.bbbb, (0, 1, 2, 3), tmp78, (2, 4), (1, 0, 4, 3), optimize=True) * 2 + tmp34 = einsum(t2.bbbb, (0, 1, 2, 3), tmp17, (0, 1, 4, 3), (4, 2), optimize=True) * -1 + tmp97 = tmp34.copy() * -2 + tmp33 = einsum(t2.abab, (0, 1, 2, 3), tmp13, (0, 1, 4, 2), (4, 3), optimize=True) + tmp97 += tmp33 * -1 + tmp32 = einsum(t2.bbbb, (0, 1, 2, 3), l1.bb, (3, 1), (0, 2), optimize=True) + tmp97 += tmp32 * 2 + tmp31 = einsum(l1.aa, (0, 1), t2.abab, (1, 2, 0, 3), (2, 3), optimize=True) + tmp97 += tmp31 + rdm2.bbbb.oovv += einsum(tmp97, (0, 1), t1.bb, (2, 3), (2, 0, 1, 3), optimize=True) * -1 + rdm2.bbbb.oovv += einsum(tmp97, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3), optimize=True) + del tmp97 + tmp35 = tmp34.copy() * -2 + tmp35 += tmp33 * -1 + tmp35 += tmp32 * 2 + tmp35 += tmp31 + tmp35 += t1.bb + rdm2.bbbb.oovv += einsum(tmp35, (0, 1), t1.bb, (2, 3), (2, 0, 3, 1), optimize=True) + tmp96 = einsum(t2.abab, (0, 1, 2, 3), tmp80, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) + del tmp80 + rdm2.bbbb.oovv += tmp96.transpose((1, 0, 3, 2)) * 2 + rdm2.bbbb.oovv += tmp96 * 2 + tmp95 = einsum(tmp79, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) + del tmp79 + rdm2.bbbb.oovv += tmp95.transpose((1, 0, 3, 2)) * 2 + tmp94 = einsum(t2.bbbb, (0, 1, 2, 3), tmp83, (1, 4, 3, 5), (0, 4, 2, 5), optimize=True) + del tmp83 + rdm2.bbbb.oovv += tmp94 * 8 + rdm2.bbbb.oovv += einsum(tmp35, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1), optimize=True) * -1 + rdm2.bbbb.oovv += tmp96.transpose((1, 0, 2, 3)) * -2 + rdm2.bbbb.oovv += tmp96.transpose((0, 1, 3, 2)) * -2 + del tmp96 + rdm2.bbbb.oovv += tmp95.transpose((0, 1, 3, 2)) * -2 + del tmp95 + rdm2.bbbb.oovv += tmp94.transpose((0, 1, 3, 2)) * -8 + del tmp94 + tmp93 = tmp77.copy() + del tmp77 + tmp93 += tmp76 * 0.5 + del tmp76 + rdm2.bbbb.oovv += einsum(t2.bbbb, (0, 1, 2, 3), tmp93, (2, 4), (1, 0, 3, 4), optimize=True) * -4 + del tmp93 + rdm2.bbbb.oovv += t2.bbbb.transpose((1, 0, 3, 2)) * 2 + rdm2.bbbb.oovv += tmp92.transpose((0, 1, 3, 2)) * -2 + del tmp92 + tmp14 = einsum(t1.aa, (0, 1), tmp13, (2, 3, 4, 1), (2, 0, 3, 4), optimize=True) + tmp41 = einsum(t1.bb, (0, 1), tmp14, (2, 3, 0, 4), (2, 3, 4, 1), optimize=True) + rdm2.abab.oovv = einsum(tmp41, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3), optimize=True) + tmp53 = einsum(t2.abab, (0, 1, 2, 3), tmp17, (4, 1, 5, 3), (0, 4, 5, 2), optimize=True) * -1 + tmp91 = tmp53.copy() + tmp52 = einsum(t2.aaaa, (0, 1, 2, 3), tmp13, (1, 4, 5, 3), (0, 4, 5, 2), optimize=True) + tmp91 += tmp52 + rdm2.abab.oovv += einsum(tmp91, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 3, 4), optimize=True) * -2 + del tmp91 + tmp40 = einsum(t2.abab, (0, 1, 2, 3), tmp13, (4, 1, 5, 2), (4, 0, 5, 3), optimize=True) + rdm2.abab.oovv += einsum(tmp40, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3), optimize=True) + tmp2 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 3, 4, 1), (4, 0), optimize=True) + tmp4 = tmp2.copy() * 0.5 + tmp1 = einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 3, 0, 1), (2, 4), optimize=True) + tmp4 += tmp1 + tmp0 = einsum(l1.aa, (0, 1), t1.aa, (2, 0), (1, 2), optimize=True) + tmp4 += tmp0 * 0.5 + tmp28 = einsum(tmp4, (0, 1), t1.aa, (0, 2), (1, 2), optimize=True) * 2 + rdm2.abab.oovv += einsum(tmp28, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3), optimize=True) * -1 + rdm2.abab.oovv += einsum(tmp90, (0, 1, 2, 3), t2.abab, (4, 0, 2, 5), (4, 1, 3, 5), optimize=True) + del tmp90 + tmp89 = einsum(t1.aa, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3), optimize=True) + tmp89 += t2.abab + tmp12 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 3, 4, 5), (4, 0, 5, 1), optimize=True) + rdm2.abab.oovv += einsum(tmp12, (0, 1, 2, 3), tmp89, (0, 2, 4, 5), (1, 3, 4, 5), optimize=True) + del tmp89 + tmp11 = tmp10.copy() * 2 + tmp11 += tmp9 + tmp11 += tmp8 + tmp39 = einsum(t1.bb, (0, 1), tmp11, (0, 2), (2, 1), optimize=True) + rdm2.abab.oovv += einsum(tmp39, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1), optimize=True) * -1 + rdm2.abab.oovv += einsum(t2.abab, (0, 1, 2, 3), tmp88, (1, 4), (0, 4, 2, 3), optimize=True) * -2 + del tmp88 + tmp72 = tmp2.copy() * 0.5 + tmp72 += tmp1 + rdm2.abab.oovv += einsum(t2.abab, (0, 1, 2, 3), tmp72, (0, 4), (4, 1, 2, 3), optimize=True) * -2 + rdm2.abab.oovv += einsum(t2.abab, (0, 1, 2, 3), tmp8, (1, 4), (0, 4, 2, 3), optimize=True) * -1 + rdm2.abab.oovv += einsum(t2.abab, (0, 1, 2, 3), tmp14, (0, 4, 1, 5), (4, 5, 2, 3), optimize=True) + tmp51 = einsum(tmp22, (0, 1, 2, 3), t2.abab, (0, 4, 5, 3), (1, 2, 4, 5), optimize=True) + tmp87 = tmp51.copy() * -1 + tmp50 = einsum(t2.abab, (0, 1, 2, 3), l1.bb, (3, 4), (0, 4, 1, 2), optimize=True) + tmp87 += tmp50 + rdm2.abab.oovv += einsum(tmp87, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 3, 4), optimize=True) * -1 + del tmp87 + tmp37 = einsum(t2.bbbb, (0, 1, 2, 3), tmp22, (4, 5, 1, 3), (4, 5, 0, 2), optimize=True) + tmp86 = tmp37.copy() * 2 + tmp36 = einsum(t2.abab, (0, 1, 2, 3), tmp6, (4, 0, 5, 2), (4, 5, 1, 3), optimize=True) * -1 + tmp86 += tmp36 * 2 + tmp38 = einsum(l1.aa, (0, 1), t2.abab, (2, 3, 0, 4), (1, 2, 3, 4), optimize=True) + tmp86 += tmp38 + rdm2.abab.oovv += einsum(tmp86, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3), optimize=True) * -1 + del tmp86 + rdm2.abab.oovv += einsum(tmp58, (0, 1), t2.abab, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) * -2 + tmp23 = einsum(tmp22, (0, 1, 2, 3), t2.abab, (0, 2, 4, 3), (1, 4), optimize=True) + tmp85 = tmp23.copy() * -0.5 + tmp21 = einsum(t2.aaaa, (0, 1, 2, 3), tmp6, (0, 1, 4, 3), (4, 2), optimize=True) * -1 + tmp85 += tmp21 * -1 + tmp20 = einsum(t2.abab, (0, 1, 2, 3), l1.bb, (3, 1), (0, 2), optimize=True) + tmp85 += tmp20 * 0.5 + tmp19 = einsum(l1.aa, (0, 1), t2.aaaa, (2, 1, 3, 0), (2, 3), optimize=True) + tmp85 += tmp19 + rdm2.abab.oovv += einsum(tmp85, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3), optimize=True) * 2 + del tmp85 + rdm2.abab.oovv += einsum(tmp35, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1), optimize=True) + rdm2.abab.oovv += einsum(tmp84, (0, 1, 2, 3), t2.abab, (4, 0, 5, 2), (4, 1, 5, 3), optimize=True) + del tmp84 + rdm2.abab.oovv += einsum(t2.aaaa, (0, 1, 2, 3), tmp81, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) * 4 + del tmp81 + rdm2.abab.oovv += einsum(tmp78, (0, 1), t2.abab, (2, 3, 4, 0), (2, 3, 4, 1), optimize=True) * -1 + del tmp78 + rdm2.abab.oovv += t2.abab + rdm2.abab.oovv += einsum(tmp0, (0, 1), t2.abab, (0, 2, 3, 4), (1, 2, 3, 4), optimize=True) * -1 + tmp7 = einsum(tmp6, (0, 1, 2, 3), t1.aa, (4, 3), (0, 1, 4, 2), optimize=True) + tmp30 = einsum(t1.aa, (0, 1), tmp7, (0, 2, 3, 4), (2, 4, 3, 1), optimize=True) + rdm2.aaaa.oovv = einsum(tmp30, (0, 1, 2, 3), t1.aa, (0, 4), (2, 1, 4, 3), optimize=True) * -2 + tmp27 = einsum(t2.abab, (0, 1, 2, 3), tmp22, (4, 5, 1, 3), (4, 5, 0, 2), optimize=True) + tmp74 = tmp27.copy() + tmp26 = einsum(t2.aaaa, (0, 1, 2, 3), tmp6, (4, 1, 5, 3), (4, 5, 0, 2), optimize=True) * -1 + tmp74 += tmp26 * 4 + tmp75 = einsum(tmp74, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3), optimize=True) + del tmp74 + rdm2.aaaa.oovv += tmp75.transpose((1, 0, 3, 2)) * -1 + rdm2.aaaa.oovv += tmp75.transpose((1, 0, 2, 3)) + del tmp75 + tmp73 = einsum(t1.aa, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1), optimize=True) + tmp73 += t2.aaaa.transpose((1, 0, 3, 2)) + tmp5 = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (2, 3, 4, 5), (4, 5, 0, 1), optimize=True) + rdm2.aaaa.oovv += einsum(tmp73, (0, 1, 2, 3), tmp5, (0, 1, 4, 5), (5, 4, 3, 2), optimize=True) * 2 + del tmp73 + tmp70 = tmp2.copy() + tmp70 += tmp1 * 2 + rdm2.aaaa.oovv += einsum(t2.aaaa, (0, 1, 2, 3), tmp70, (0, 4), (1, 4, 3, 2), optimize=True) * -2 + tmp71 = einsum(tmp70, (0, 1), t1.aa, (0, 2), (1, 2), optimize=True) * 0.5 + del tmp70 + rdm2.aaaa.oovv += einsum(t1.aa, (0, 1), tmp71, (2, 3), (0, 2, 3, 1), optimize=True) * 2 + rdm2.aaaa.oovv += einsum(t1.aa, (0, 1), tmp71, (2, 3), (0, 2, 1, 3), optimize=True) * -2 + tmp69 = einsum(tmp0, (0, 1), t1.aa, (0, 2), (1, 2), optimize=True) + rdm2.aaaa.oovv += einsum(t1.aa, (0, 1), tmp69, (2, 3), (0, 2, 3, 1), optimize=True) + rdm2.aaaa.oovv += einsum(t1.aa, (0, 1), tmp69, (2, 3), (0, 2, 1, 3), optimize=True) * -1 + rdm2.aaaa.oovv += einsum(tmp72, (0, 1), t2.aaaa, (0, 2, 3, 4), (1, 2, 4, 3), optimize=True) * 4 + del tmp72 + rdm2.aaaa.oovv += einsum(t1.aa, (0, 1), tmp71, (2, 3), (2, 0, 3, 1), optimize=True) * -2 + rdm2.aaaa.oovv += einsum(tmp71, (0, 1), t1.aa, (2, 3), (0, 2, 3, 1), optimize=True) * 2 + del tmp71 + rdm2.aaaa.oovv += einsum(t1.aa, (0, 1), tmp69, (2, 3), (2, 0, 3, 1), optimize=True) * -1 + rdm2.aaaa.oovv += einsum(tmp69, (0, 1), t1.aa, (2, 3), (0, 2, 3, 1), optimize=True) + del tmp69 + rdm2.aaaa.oovv += einsum(t2.aaaa, (0, 1, 2, 3), tmp7, (1, 0, 4, 5), (5, 4, 3, 2), optimize=True) * -2 + tmp55 = einsum(tmp0, (0, 1), t2.aaaa, (2, 0, 3, 4), (1, 2, 3, 4), optimize=True) + rdm2.aaaa.oovv += tmp55.transpose((1, 0, 3, 2)) * 2 + tmp68 = tmp27.transpose((0, 2, 1, 3)).copy() + tmp68 += tmp26.transpose((0, 2, 1, 3)) * 4 + tmp25 = einsum(t2.aaaa, (0, 1, 2, 3), l1.aa, (3, 4), (4, 0, 1, 2), optimize=True) + tmp68 += tmp25.transpose((0, 2, 1, 3)) * -2 + rdm2.aaaa.oovv += einsum(t1.aa, (0, 1), tmp68, (0, 2, 3, 4), (3, 2, 4, 1), optimize=True) + del tmp68 + tmp67 = tmp27.transpose((0, 2, 1, 3)).copy() * 0.5 + tmp67 += tmp26.transpose((0, 2, 1, 3)) * 2 + tmp67 += tmp25.transpose((0, 2, 1, 3)) * -1 + rdm2.aaaa.oovv += einsum(tmp67, (0, 1, 2, 3), t1.aa, (0, 4), (2, 1, 4, 3), optimize=True) * -2 + del tmp67 + tmp59 = einsum(t2.aaaa, (0, 1, 2, 3), tmp58, (2, 4), (0, 1, 4, 3), optimize=True) * 4 + del tmp58 + rdm2.aaaa.oovv += tmp59.transpose((1, 0, 2, 3)) + tmp66 = tmp23.copy() * -1 + tmp66 += tmp21 * -2 + tmp66 += tmp20 + tmp66 += tmp19 * 2 + rdm2.aaaa.oovv += einsum(t1.aa, (0, 1), tmp66, (2, 3), (0, 2, 3, 1), optimize=True) * -1 + rdm2.aaaa.oovv += einsum(t1.aa, (0, 1), tmp66, (2, 3), (2, 0, 3, 1), optimize=True) + del tmp66 + tmp24 = tmp23.copy() * -1 + tmp24 += tmp21 * -2 + tmp24 += tmp20 + tmp24 += tmp19 * 2 + tmp24 += t1.aa + rdm2.aaaa.oovv += einsum(t1.aa, (0, 1), tmp24, (2, 3), (0, 2, 1, 3), optimize=True) + tmp65 = einsum(tmp64, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 2), (4, 1, 5, 3), optimize=True) + del tmp64 + rdm2.aaaa.oovv += tmp65.transpose((1, 0, 3, 2)) * 2 + rdm2.aaaa.oovv += tmp65 * 2 + tmp63 = einsum(tmp62, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 2), (1, 4, 3, 5), optimize=True) + del tmp62 + rdm2.aaaa.oovv += tmp63 * 8 + tmp61 = einsum(t2.abab, (0, 1, 2, 3), tmp60, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) + del tmp60 + rdm2.aaaa.oovv += tmp61 * 2 + rdm2.aaaa.oovv += einsum(tmp24, (0, 1), t1.aa, (2, 3), (0, 2, 3, 1), optimize=True) * -1 + rdm2.aaaa.oovv += tmp65.transpose((1, 0, 2, 3)) * -2 + rdm2.aaaa.oovv += tmp65.transpose((0, 1, 3, 2)) * -2 + del tmp65 + rdm2.aaaa.oovv += tmp63.transpose((0, 1, 3, 2)) * -8 + del tmp63 + rdm2.aaaa.oovv += tmp61.transpose((0, 1, 3, 2)) * -2 + del tmp61 + rdm2.aaaa.oovv += tmp59.transpose((1, 0, 3, 2)) * -1 + del tmp59 + rdm2.aaaa.oovv += t2.aaaa.transpose((1, 0, 3, 2)) * 2 + rdm2.aaaa.oovv += tmp55.transpose((0, 1, 3, 2)) * -2 + del tmp55 + rdm2.bbbb.vooo = tmp17.transpose((3, 2, 1, 0)).copy() * 2 + rdm2.bbbb.vooo += einsum(l1.bb, (0, 1), delta.bb.oo, (2, 3), (0, 3, 2, 1), optimize=True) * -1 + rdm2.bbbb.vooo += einsum(delta.bb.oo, (0, 1), l1.bb, (2, 3), (2, 1, 3, 0), optimize=True) + rdm2.abab.vooo = tmp13.transpose((3, 2, 0, 1)).copy() * -1 + del tmp13 + rdm2.abab.vooo += einsum(delta.bb.oo, (0, 1), l1.aa, (2, 3), (2, 1, 3, 0), optimize=True) + rdm2.aaaa.vooo = tmp6.transpose((3, 2, 1, 0)).copy() * 2 + rdm2.aaaa.vooo += einsum(delta.aa.oo, (0, 1), l1.aa, (2, 3), (2, 1, 0, 3), optimize=True) * -1 + rdm2.aaaa.vooo += einsum(delta.aa.oo, (0, 1), l1.aa, (2, 3), (2, 1, 3, 0), optimize=True) + rdm2.bbbb.ovoo = tmp17.transpose((2, 3, 1, 0)).copy() * -2 + del tmp17 + rdm2.bbbb.ovoo += einsum(l1.bb, (0, 1), delta.bb.oo, (2, 3), (3, 0, 2, 1), optimize=True) + rdm2.bbbb.ovoo += einsum(delta.bb.oo, (0, 1), l1.bb, (2, 3), (1, 2, 3, 0), optimize=True) * -1 + rdm2.abab.ovoo = tmp22.transpose((1, 3, 0, 2)).copy() * -1 + del tmp22 + rdm2.abab.ovoo += einsum(delta.aa.oo, (0, 1), l1.bb, (2, 3), (1, 2, 0, 3), optimize=True) + rdm2.aaaa.ovoo = tmp6.transpose((2, 3, 1, 0)).copy() * -2 + del tmp6 + rdm2.aaaa.ovoo += einsum(delta.aa.oo, (0, 1), l1.aa, (2, 3), (1, 2, 0, 3), optimize=True) + rdm2.aaaa.ovoo += einsum(delta.aa.oo, (0, 1), l1.aa, (2, 3), (1, 2, 3, 0), optimize=True) * -1 + rdm2.bbbb.oovo = tmp47.transpose((1, 2, 3, 0)).copy() * -2 + rdm2.bbbb.oovo += tmp45.transpose((2, 1, 3, 0)) * -4 + rdm2.bbbb.oovo += tmp43.transpose((2, 1, 3, 0)) * -1 + tmp46 = einsum(tmp16, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 3, 4), optimize=True) + rdm2.bbbb.oovo += tmp46.transpose((1, 2, 3, 0)) * -2 + rdm2.bbbb.oovo += einsum(tmp11, (0, 1), t1.bb, (2, 3), (2, 1, 3, 0), optimize=True) * -1 + rdm2.bbbb.oovo += einsum(t1.bb, (0, 1), tmp11, (2, 3), (3, 0, 1, 2), optimize=True) + tmp54 = einsum(t1.bb, (0, 1), tmp11, (0, 2), (2, 1), optimize=True) * 0.5 + rdm2.bbbb.oovo += einsum(delta.bb.oo, (0, 1), tmp54, (2, 3), (1, 2, 3, 0), optimize=True) * 2 + rdm2.bbbb.oovo += einsum(delta.bb.oo, (0, 1), tmp54, (2, 3), (2, 1, 3, 0), optimize=True) * -2 + del tmp54 + rdm2.bbbb.oovo += tmp45.transpose((1, 2, 3, 0)) * 4 + rdm2.bbbb.oovo += tmp44.transpose((2, 1, 3, 0)) * 2 + rdm2.bbbb.oovo += tmp43.transpose((1, 2, 3, 0)) + rdm2.bbbb.oovo += einsum(delta.bb.oo, (0, 1), tmp35, (2, 3), (1, 2, 3, 0), optimize=True) * -1 + rdm2.bbbb.oovo += einsum(tmp35, (0, 1), delta.bb.oo, (2, 3), (0, 3, 1, 2), optimize=True) + rdm2.abab.oovo = einsum(tmp14, (0, 1, 2, 3), t1.aa, (0, 4), (1, 3, 4, 2), optimize=True) + rdm2.abab.oovo += tmp53.transpose((0, 2, 3, 1)) * -2 + del tmp53 + rdm2.abab.oovo += tmp52.transpose((0, 2, 3, 1)) * -2 + del tmp52 + rdm2.abab.oovo += einsum(tmp12, (0, 1, 2, 3), t1.aa, (0, 4), (1, 3, 4, 2), optimize=True) + rdm2.abab.oovo += einsum(tmp11, (0, 1), t1.aa, (2, 3), (2, 1, 3, 0), optimize=True) * -1 + tmp48 = einsum(tmp4, (0, 1), t1.aa, (0, 2), (1, 2), optimize=True) + rdm2.abab.oovo += einsum(delta.bb.oo, (0, 1), tmp48, (2, 3), (2, 1, 3, 0), optimize=True) * -2 + rdm2.abab.oovo += tmp51.transpose((0, 2, 3, 1)) + del tmp51 + rdm2.abab.oovo += tmp50.transpose((0, 2, 3, 1)) * -1 + del tmp50 + tmp49 = tmp23.copy() * -0.5 + del tmp23 + tmp49 += tmp21 * -1 + del tmp21 + tmp49 += tmp20 * 0.5 + del tmp20 + tmp49 += tmp19 + del tmp19 + tmp49 += t1.aa * 0.5 + rdm2.abab.oovo += einsum(tmp49, (0, 1), delta.bb.oo, (2, 3), (0, 3, 1, 2), optimize=True) * 2 + del tmp49 + rdm2.aaaa.oovo = tmp30.transpose((1, 2, 3, 0)).copy() * -2 + rdm2.aaaa.oovo += tmp27.transpose((2, 1, 3, 0)) * -1 + rdm2.aaaa.oovo += tmp26.transpose((2, 1, 3, 0)) * -4 + tmp29 = einsum(t1.aa, (0, 1), tmp5, (2, 0, 3, 4), (2, 3, 4, 1), optimize=True) + rdm2.aaaa.oovo += tmp29.transpose((1, 2, 3, 0)) * -2 + tmp3 = tmp2.copy() + del tmp2 + tmp3 += tmp1 * 2 + del tmp1 + tmp3 += tmp0 + del tmp0 + rdm2.aaaa.oovo += einsum(t1.aa, (0, 1), tmp3, (2, 3), (0, 3, 1, 2), optimize=True) * -1 + rdm2.aaaa.oovo += einsum(tmp3, (0, 1), t1.aa, (2, 3), (1, 2, 3, 0), optimize=True) + rdm2.aaaa.oovo += einsum(delta.aa.oo, (0, 1), tmp48, (2, 3), (1, 2, 3, 0), optimize=True) * 2 + rdm2.aaaa.oovo += einsum(delta.aa.oo, (0, 1), tmp48, (2, 3), (2, 1, 3, 0), optimize=True) * -2 + del tmp48 + rdm2.aaaa.oovo += tmp27.transpose((1, 2, 3, 0)) + rdm2.aaaa.oovo += tmp26.transpose((1, 2, 3, 0)) * 4 + rdm2.aaaa.oovo += tmp25.transpose((2, 1, 3, 0)) * 2 + rdm2.aaaa.oovo += einsum(tmp24, (0, 1), delta.aa.oo, (2, 3), (3, 0, 1, 2), optimize=True) * -1 + rdm2.aaaa.oovo += einsum(delta.aa.oo, (0, 1), tmp24, (2, 3), (2, 1, 3, 0), optimize=True) + rdm2.bbbb.ooov = tmp47.transpose((1, 2, 0, 3)).copy() * 2 + del tmp47 + rdm2.bbbb.ooov += tmp45.transpose((2, 1, 0, 3)) * 4 + rdm2.bbbb.ooov += tmp43.transpose((2, 1, 0, 3)) + rdm2.bbbb.ooov += tmp46.transpose((1, 2, 0, 3)) * 2 + del tmp46 + rdm2.bbbb.ooov += einsum(tmp11, (0, 1), t1.bb, (2, 3), (2, 1, 0, 3), optimize=True) + rdm2.bbbb.ooov += einsum(t1.bb, (0, 1), tmp11, (2, 3), (3, 0, 2, 1), optimize=True) * -1 + rdm2.bbbb.ooov += einsum(delta.bb.oo, (0, 1), tmp39, (2, 3), (1, 2, 0, 3), optimize=True) * -1 + rdm2.bbbb.ooov += einsum(delta.bb.oo, (0, 1), tmp39, (2, 3), (2, 1, 0, 3), optimize=True) + rdm2.bbbb.ooov += tmp45.transpose((1, 2, 0, 3)) * -4 + del tmp45 + rdm2.bbbb.ooov += tmp44.transpose((2, 1, 0, 3)) * -2 + del tmp44 + rdm2.bbbb.ooov += tmp43.transpose((1, 2, 0, 3)) * -1 + del tmp43 + tmp42 = tmp34.copy() * -1 + del tmp34 + tmp42 += tmp33 * -0.5 + del tmp33 + tmp42 += tmp32 + del tmp32 + tmp42 += tmp31 * 0.5 + del tmp31 + tmp42 += t1.bb * 0.5 + rdm2.bbbb.ooov += einsum(delta.bb.oo, (0, 1), tmp42, (2, 3), (1, 2, 0, 3), optimize=True) * 2 + rdm2.bbbb.ooov += einsum(delta.bb.oo, (0, 1), tmp42, (2, 3), (2, 1, 0, 3), optimize=True) * -2 + del tmp42 + rdm2.abab.ooov = tmp41.transpose((1, 2, 0, 3)).copy() + del tmp41 + rdm2.abab.ooov += tmp40.transpose((1, 2, 0, 3)) + del tmp40 + rdm2.abab.ooov += einsum(t1.bb, (0, 1), tmp12, (2, 3, 0, 4), (3, 4, 2, 1), optimize=True) + rdm2.abab.ooov += einsum(t1.bb, (0, 1), tmp3, (2, 3), (3, 0, 2, 1), optimize=True) * -1 + rdm2.abab.ooov += einsum(delta.aa.oo, (0, 1), tmp39, (2, 3), (1, 2, 0, 3), optimize=True) * -1 + del tmp39 + rdm2.abab.ooov += tmp38.transpose((1, 2, 0, 3)) * -1 + del tmp38 + rdm2.abab.ooov += tmp37.transpose((1, 2, 0, 3)) * -2 + del tmp37 + rdm2.abab.ooov += tmp36.transpose((1, 2, 0, 3)) * -2 + del tmp36 + rdm2.abab.ooov += einsum(delta.aa.oo, (0, 1), tmp35, (2, 3), (1, 2, 0, 3), optimize=True) + del tmp35 + rdm2.aaaa.ooov = tmp30.transpose((1, 2, 0, 3)).copy() * 2 + del tmp30 + rdm2.aaaa.ooov += tmp27.transpose((2, 1, 0, 3)) + rdm2.aaaa.ooov += tmp26.transpose((2, 1, 0, 3)) * 4 + rdm2.aaaa.ooov += tmp29.transpose((1, 2, 0, 3)) * 2 + del tmp29 + rdm2.aaaa.ooov += einsum(tmp4, (0, 1), t1.aa, (2, 3), (2, 1, 0, 3), optimize=True) * 2 + rdm2.aaaa.ooov += einsum(tmp4, (0, 1), t1.aa, (2, 3), (1, 2, 0, 3), optimize=True) * -2 + rdm2.aaaa.ooov += einsum(tmp28, (0, 1), delta.aa.oo, (2, 3), (3, 0, 2, 1), optimize=True) * -1 + rdm2.aaaa.ooov += einsum(tmp28, (0, 1), delta.aa.oo, (2, 3), (0, 3, 2, 1), optimize=True) + del tmp28 + rdm2.aaaa.ooov += tmp27.transpose((1, 2, 0, 3)) * -1 + del tmp27 + rdm2.aaaa.ooov += tmp26.transpose((1, 2, 0, 3)) * -4 + del tmp26 + rdm2.aaaa.ooov += tmp25.transpose((2, 1, 0, 3)) * -2 + del tmp25 + rdm2.aaaa.ooov += einsum(tmp24, (0, 1), delta.aa.oo, (2, 3), (3, 0, 2, 1), optimize=True) + rdm2.aaaa.ooov += einsum(delta.aa.oo, (0, 1), tmp24, (2, 3), (2, 1, 0, 3), optimize=True) * -1 + del tmp24 + rdm2.bbbb.oooo = tmp18.transpose((2, 3, 1, 0)).copy() * -2 + del tmp18 + rdm2.bbbb.oooo += tmp16.transpose((3, 2, 1, 0)) * 2 + del tmp16 + rdm2.bbbb.oooo += einsum(delta.bb.oo, (0, 1), tmp11, (2, 3), (1, 3, 0, 2), optimize=True) * -1 + rdm2.bbbb.oooo += einsum(delta.bb.oo, (0, 1), tmp11, (2, 3), (3, 1, 0, 2), optimize=True) + tmp15 = tmp10.copy() + del tmp10 + tmp15 += tmp9 * 0.5 + del tmp9 + tmp15 += tmp8 * 0.5 + del tmp8 + rdm2.bbbb.oooo += einsum(tmp15, (0, 1), delta.bb.oo, (2, 3), (3, 1, 0, 2), optimize=True) * 2 + rdm2.bbbb.oooo += einsum(tmp15, (0, 1), delta.bb.oo, (2, 3), (1, 3, 0, 2), optimize=True) * -2 + del tmp15 + rdm2.bbbb.oooo += einsum(delta.bb.oo, (0, 1), delta.bb.oo, (2, 3), (1, 2, 3, 0), optimize=True) * -1 + rdm2.bbbb.oooo += einsum(delta.bb.oo, (0, 1), delta.bb.oo, (2, 3), (1, 3, 0, 2), optimize=True) + rdm2.abab.oooo = tmp14.transpose((1, 3, 0, 2)).copy() + del tmp14 + rdm2.abab.oooo += tmp12.transpose((1, 3, 0, 2)) + del tmp12 + rdm2.abab.oooo += einsum(delta.aa.oo, (0, 1), tmp11, (2, 3), (1, 3, 0, 2), optimize=True) * -1 + del tmp11 + rdm2.abab.oooo += einsum(tmp4, (0, 1), delta.bb.oo, (2, 3), (1, 3, 0, 2), optimize=True) * -2 + rdm2.abab.oooo += einsum(delta.aa.oo, (0, 1), delta.bb.oo, (2, 3), (1, 3, 0, 2), optimize=True) + rdm2.aaaa.oooo = tmp7.transpose((2, 3, 1, 0)).copy() * -2 + del tmp7 + rdm2.aaaa.oooo += tmp5.transpose((3, 2, 1, 0)) * 2 + del tmp5 + rdm2.aaaa.oooo += einsum(tmp4, (0, 1), delta.aa.oo, (2, 3), (3, 1, 2, 0), optimize=True) * -2 + rdm2.aaaa.oooo += einsum(tmp4, (0, 1), delta.aa.oo, (2, 3), (1, 3, 2, 0), optimize=True) * 2 + del tmp4 + rdm2.aaaa.oooo += einsum(delta.aa.oo, (0, 1), tmp3, (2, 3), (1, 3, 2, 0), optimize=True) + rdm2.aaaa.oooo += einsum(tmp3, (0, 1), delta.aa.oo, (2, 3), (1, 3, 0, 2), optimize=True) * -1 + del tmp3 + rdm2.aaaa.oooo += einsum(delta.aa.oo, (0, 1), delta.aa.oo, (2, 3), (1, 2, 3, 0), optimize=True) * -1 + rdm2.aaaa.oooo += einsum(delta.aa.oo, (0, 1), delta.aa.oo, (2, 3), (1, 3, 0, 2), optimize=True) + del delta + rdm2.aaaa = pack_2e(rdm2.aaaa.oooo, rdm2.aaaa.ooov, rdm2.aaaa.oovo, rdm2.aaaa.ovoo, rdm2.aaaa.vooo, rdm2.aaaa.oovv, rdm2.aaaa.ovov, rdm2.aaaa.ovvo, rdm2.aaaa.voov, rdm2.aaaa.vovo, rdm2.aaaa.vvoo, rdm2.aaaa.ovvv, rdm2.aaaa.vovv, rdm2.aaaa.vvov, rdm2.aaaa.vvvo, rdm2.aaaa.vvvv) + rdm2.abab = pack_2e(rdm2.abab.oooo, rdm2.abab.ooov, rdm2.abab.oovo, rdm2.abab.ovoo, rdm2.abab.vooo, rdm2.abab.oovv, rdm2.abab.ovov, rdm2.abab.ovvo, rdm2.abab.voov, rdm2.abab.vovo, rdm2.abab.vvoo, rdm2.abab.ovvv, rdm2.abab.vovv, rdm2.abab.vvov, rdm2.abab.vvvo, rdm2.abab.vvvv) + rdm2.bbbb = pack_2e(rdm2.bbbb.oooo, rdm2.bbbb.ooov, rdm2.bbbb.oovo, rdm2.bbbb.ovoo, rdm2.bbbb.vooo, rdm2.bbbb.oovv, rdm2.bbbb.ovov, rdm2.bbbb.ovvo, rdm2.bbbb.voov, rdm2.bbbb.vovo, rdm2.bbbb.vvoo, rdm2.bbbb.ovvv, rdm2.bbbb.vovv, rdm2.bbbb.vvov, rdm2.bbbb.vvvo, rdm2.bbbb.vvvv) + rdm2 = Namespace( + aaaa=rdm2.aaaa.swapaxes(1, 2), + aabb=rdm2.abab.swapaxes(1, 2), + bbbb=rdm2.bbbb.swapaxes(1, 2), + ) + + return rdm2 + From 7aa0b0cf79d936c80fc86f0ae501f529c2a29ab3 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Sat, 9 Mar 2024 12:01:56 +0000 Subject: [PATCH 009/168] Fixes for new indexing --- ebcc/codegen/bootstrap_common.py | 61 +++++++++++--------------------- 1 file changed, 20 insertions(+), 41 deletions(-) diff --git a/ebcc/codegen/bootstrap_common.py b/ebcc/codegen/bootstrap_common.py index d2092b9e..3d7a352d 100644 --- a/ebcc/codegen/bootstrap_common.py +++ b/ebcc/codegen/bootstrap_common.py @@ -3,11 +3,13 @@ import itertools import time +from collections import defaultdict from albert.codegen.einsum import EinsumCodeGen as _EinsumCodeGen +from albert.codegen.base import sort_exprs from albert.optim._gristmill import optimise as _optimise from albert.qc.spin import generalised_to_restricted, generalised_to_unrestricted -from albert.qc.uhf import SpinIndex +from albert.qc.index import Index from albert.tensor import Tensor from pdaggerq.config import OCC_INDICES, VIRT_INDICES @@ -74,7 +76,7 @@ def __init__( def preamble(self): preamble = "from ebcc import numpy as np\n" - preamble += "from ebcc.util import pack_2e, einsum, Namespace" + preamble += "from ebcc.util import pack_2e, einsum, direct_sum, Namespace" super().preamble(preamble) def ignore_argument(self, arg): @@ -167,7 +169,7 @@ def name_generator_rhf(tensor, add_spaces=True): else: name = tensor.name if add_spaces: - spaces = [default_sectors[i] for i in tensor.indices] + spaces = [i.space for i in tensor.indices] return f"{name}.{''.join(spaces)}" else: return name @@ -187,14 +189,14 @@ def name_generator_uhf(tensor, add_spaces=True): else: name = tensor.name if add_spaces: - spins = ["a" if i.spin == "α" else "b" for i in tensor.indices if isinstance(i, SpinIndex)] - spaces = [default_sectors[i.index] for i in tensor.indices] + spins = ["a" if i.spin == "α" else "b" for i in tensor.indices if i.spin is not None] + spaces = [i.space for i in tensor.indices] return f"{name}.{''.join(spins)}.{''.join(spaces)}" else: return name - elif tensor.name in ("t1", "t2", "t1new", "t2new", "l1", "l2", "l1new", "l2new", "u11", "u11new", "u12", "u12new"): + elif tensor.name in ("t1", "t2", "t3", "t1new", "t2new", "t3new", "l1", "l2", "l3", "l1new", "l2new", "l3new", "u11", "u11new", "u12", "u12new"): if add_spaces: - spins = ["a" if i.spin == "α" else "b" for i in tensor.indices if isinstance(i, SpinIndex)] + spins = ["a" if i.spin == "α" else "b" for i in tensor.indices if i.spin is not None] return f"{tensor.name}.{''.join(spins)}" else: return tensor.name @@ -232,20 +234,12 @@ def optimise(outputs, exprs, spin, strategy="greedy", sizes=None): if sizes is None: sizes = default_sizes - if spin in ("rhf", "ghf"): - index_sizes = {} - for sector, indices in default_indices.items(): - index_sizes.update({index: sizes[sector] for index in indices}) - index_groups = list(default_indices.values()) - else: - index_sizes = {} - for sector, indices in default_indices.items(): - for s in ("α", "β"): - index_sizes.update({SpinIndex(index, s): sizes[sector] for index in indices}) - index_groups = [] - for indices in default_indices.values(): - for s in ("α", "β"): - index_groups.append([SpinIndex(index, s) for index in indices]) + index_sizes = {} + index_groups = [] + for sector, indices in default_indices.items(): + for s in (("α", "β") if spin == "uhf" else (None,)): + index_sizes.update({Index(index, space=sector, spin=s): sizes[sector] for index in indices}) + index_groups.append([Index(index, space=sector, spin=s) for index in indices]) opt = _optimise( *zip(outputs, exprs), @@ -259,36 +253,21 @@ def optimise(outputs, exprs, spin, strategy="greedy", sizes=None): def get_t_amplitude_outputs(exprs, name): """Get the outputs for the T amplitude code.""" - - def index_sort(x): - if isinstance(x, SpinIndex): - index, spin = x.index, x.spin - else: - index, spin = x, "" - return ("bov".index(default_sectors[index]), spin, index) - - return [Tensor(*sorted(e.external_indices, key=index_sort), name=name) for e in exprs] + return [Tensor(*sorted(e.external_indices), name=name) for e in exprs] def get_l_amplitude_outputs(exprs, name): """Get the outputs for the L amplitude code.""" - - def index_sort(x): - if isinstance(x, SpinIndex): - index, spin = x.index, x.spin - else: - index, spin = x, "" - return ("bvo".index(default_sectors[index]), spin, index) - - return [Tensor(*sorted(e.external_indices, key=index_sort), name=name) for e in exprs] + def key(i): + return (" bvo".index(i.space), i.spin, i.name) + return [Tensor(*sorted(e.external_indices, key=key), name=name) for e in exprs] def get_density_outputs(exprs, name, indices): """Get the outputs for the density code.""" - to_index = lambda i: i if not isinstance(i, SpinIndex) else i.index tensors = [] for expr in exprs: - external_indices = sorted(expr.external_indices, key=lambda i: indices.index(to_index(i))) + external_indices = sorted(expr.external_indices) tensors.append(Tensor(*external_indices, name=name)) return tensors From 73ceda5bd71a74accec55a7fdaea2ff6a4f3244a Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Sat, 9 Mar 2024 15:27:49 +0000 Subject: [PATCH 010/168] More work on CCSD-S-1-1 bootstrapping --- ebcc/codegen/bootstrap_CCSD_S_1_1.py | 30 +++++++++++++++++++--------- 1 file changed, 21 insertions(+), 9 deletions(-) diff --git a/ebcc/codegen/bootstrap_CCSD_S_1_1.py b/ebcc/codegen/bootstrap_CCSD_S_1_1.py index ffc79b26..1a9fd840 100644 --- a/ebcc/codegen/bootstrap_CCSD_S_1_1.py +++ b/ebcc/codegen/bootstrap_CCSD_S_1_1.py @@ -9,7 +9,7 @@ from qwick.expression import AExpression from qwick.convenience import PE1 from albert.qc._wick import * -from albert.qc.uhf import SpinIndex +from albert.qc.index import Index from albert.tensor import Tensor from albert.canon import canonicalise_indices @@ -348,12 +348,16 @@ expr_n = [import_from_wick(t) for t in str(terms[sectors, indices]).split("\n")] expr_n = [canonicalise_indices(e, "ijklmn", "abcdef", ["x", "y", "z", "b0", "b1", "b2"]) for e in expr_n] if index_spins: - expr_n = [e.map_indices({index: SpinIndex(index, s) for key, spin in index_spins.items()}) for e in expr_n] + expr_n = [e.map_indices({Index(i, space=o): Index(i, space=o, spin=index_spins[i]) for i, o in zip(indices, sectors)}) for e in expr_n] expr_n = sum([spin_integrate(e, spin) for e in expr_n], tuple()) if spin == "uhf": expr_n = tuple(e * 0.5 for e in expr_n) + expr_n = tuple(e for e in expr_n if not (isinstance(e, (int, float)) and e == 0)) output_n = get_density_outputs(expr_n, f"d", indices) - returns_n = (Tensor(*indices, name=f"d"),) + if index_spins: + returns_n = (Tensor(*[Index(i, space=o, spin=index_spins[i]) for i, o in zip(indices, sectors)], name=f"d"),) + else: + returns_n = (Tensor(*[Index(i, space=o) for i, o in zip(indices, sectors)], name=f"d"),) expr.extend(expr_n) output.extend(output_n) returns.extend(returns_n) @@ -437,10 +441,14 @@ expr_n = [import_from_wick(t) for t in str(terms[sectors, indices]).split("\n")] expr_n = [canonicalise_indices(e, "ijklmn", "abcdef", ["x", "y", "z", "b0", "b1", "b2"]) for e in expr_n] if index_spins: - expr_n = [e.map_indices({key: SpinIndex(key, spin) for key, spin in index_spins.items()}) for e in expr_n] + expr_n = [e.map_indices({Index(i, space=o): Index(i, space=o, spin=index_spins[i]) for i, o in zip(indices, sectors)}) for e in expr_n] expr_n = sum([spin_integrate(e, spin) for e in expr_n], tuple()) + expr_n = tuple(e for e in expr_n if not (isinstance(e, (int, float)) and e == 0)) output_n = get_density_outputs(expr_n, f"Γ", indices) - returns_n = (Tensor(*indices, name=f"Γ"),) + if index_spins: + returns_n = (Tensor(*[Index(i, space=o, spin=index_spins[i]) for i, o in zip(indices, sectors)], name=f"d"),) + else: + returns_n = (Tensor(*[Index(i, space=o) for i, o in zip(indices, sectors)], name=f"d"),) expr.extend(expr_n) output.extend(output_n) returns.extend(returns_n) @@ -485,7 +493,7 @@ expr_n = import_from_wick(terms[cre, index]) expr_n = spin_integrate(expr_n, spin) output_n = get_density_outputs(expr_n, f"dm_{'cre' if cre else 'des'}", (index,)) - returns_n = (Tensor(index, name=f"dm_{'cre' if cre else 'des'}"),) + returns_n = (Tensor(Index(index, space="b"), name=f"dm_{'cre' if cre else 'des'}"),) expr.extend(expr_n) output.extend(output_n) returns.extend(returns_n) @@ -521,7 +529,7 @@ expr_n = import_from_wick(term) expr_n = spin_integrate(expr_n, spin) output_n = get_density_outputs(expr_n, f"rdm1_b", ("x", "y")) - returns_n = (Tensor(*indices, name=f"rdm1_b"),) + returns_n = (Tensor(Index("x", space="b"), Index("y", space="b"), name=f"rdm1_b"),) expr.extend(expr_n) output.extend(output_n) returns.extend(returns_n) @@ -566,12 +574,16 @@ expr_n = [import_from_wick(t) for t in str(terms[sectors, indices, cre]).split("\n")] expr_n = [canonicalise_indices(e, "ijklmn", "abcdef", "xyz") for e in expr_n] if index_spins: - expr_n = [e.map_indices({key: SpinIndex(key, spin) for key, spin in index_spins.items()}) for e in expr_n] + expr_n = [e.map_indices({Index(i, space=o): Index(i, space=o, spin=index_spins.get(i)) for i, o in zip(indices, sectors)}) for e in expr_n] expr_n = sum([spin_integrate(e, spin) for e in expr_n], tuple()) if spin == "uhf": expr_n = tuple(e * 0.5 for e in expr_n) + expr_n = tuple(e for e in expr_n if not (isinstance(e, (int, float)) and e == 0)) output_n = get_density_outputs(expr_n, f"rdm_eb_{'cre' if cre else 'des'}", indices) - returns_n = (Tensor(*indices, name=f"rdm_eb_{'cre' if cre else 'des'}"),) + if index_spins: + returns_n = (Tensor(*[Index(i, space=o, spin=index_spins.get(i)) for i, o in zip(indices, sectors)], name=f"d"),) + else: + returns_n = (Tensor(*[Index(i, space=o) for i, o in zip(indices, sectors)], name=f"d"),) expr.extend(expr_n) output.extend(output_n) returns.extend(returns_n) From bae3571aa319bafa9e45c52feccfffaea4a5e647 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Thu, 18 Jul 2024 09:42:50 +0100 Subject: [PATCH 011/168] Moller-Plesset scripts --- ebcc/codegen/GMP2.py | 38 ++++ ebcc/codegen/GMP3.py | 45 ++++ ebcc/codegen/RMP2.py | 39 ++++ ebcc/codegen/RMP3.py | 65 ++++++ ebcc/codegen/UMP2.py | 40 ++++ ebcc/codegen/UMP3.py | 80 ++++++++ ebcc/codegen/bootstrap_MPn.py | 88 ++++++++ ebcc/codegen/hugenholtz.py | 374 ++++++++++++++++++++++++++++++++++ 8 files changed, 769 insertions(+) create mode 100644 ebcc/codegen/GMP2.py create mode 100644 ebcc/codegen/GMP3.py create mode 100644 ebcc/codegen/RMP2.py create mode 100644 ebcc/codegen/RMP3.py create mode 100644 ebcc/codegen/UMP2.py create mode 100644 ebcc/codegen/UMP3.py create mode 100644 ebcc/codegen/bootstrap_MPn.py create mode 100644 ebcc/codegen/hugenholtz.py diff --git a/ebcc/codegen/GMP2.py b/ebcc/codegen/GMP2.py new file mode 100644 index 00000000..58c7bd4d --- /dev/null +++ b/ebcc/codegen/GMP2.py @@ -0,0 +1,38 @@ +""" +Code generated by `albert`: +https://github.com/obackhouse/albert + + * date: 2024-07-18T09:26:28.737892 + * python version: 3.10.12 (main, Mar 22 2024, 16:50:05) [GCC 11.4.0] + * albert version: 0.0.0 + * caller: /home/ollie/git/albert/albert/codegen/einsum.py + * node: ollie-desktop + * system: Linux + * processor: x86_64 + * release: 6.5.0-44-generic +""" + +from ebcc import numpy as np +from ebcc.util import pack_2e, einsum, direct_sum, Namespace + + +def energy(t2=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-07-18T09:26:28.774405. + + Parameters + ---------- + t2 : array + T2 amplitudes. + v : array + Electron repulsion integrals. + + Returns + ------- + e_mp : array + """ + + e_mp = einsum(v.oovv, (0, 1, 2, 3), t2, (0, 1, 2, 3), (), optimize=True) * 0.25 + + return e_mp + diff --git a/ebcc/codegen/GMP3.py b/ebcc/codegen/GMP3.py new file mode 100644 index 00000000..7ff877af --- /dev/null +++ b/ebcc/codegen/GMP3.py @@ -0,0 +1,45 @@ +""" +Code generated by `albert`: +https://github.com/obackhouse/albert + + * date: 2024-07-18T09:27:02.280687 + * python version: 3.10.12 (main, Mar 22 2024, 16:50:05) [GCC 11.4.0] + * albert version: 0.0.0 + * caller: /home/ollie/git/albert/albert/codegen/einsum.py + * node: ollie-desktop + * system: Linux + * processor: x86_64 + * release: 6.5.0-44-generic +""" + +from ebcc import numpy as np +from ebcc.util import pack_2e, einsum, direct_sum, Namespace + + +def energy(t2=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-07-18T09:27:02.541877. + + Parameters + ---------- + t2 : array + T2 amplitudes. + v : array + Electron repulsion integrals. + + Returns + ------- + e_mp : array + """ + + tmp0 = einsum(t2, (0, 1, 2, 3), t2, (4, 5, 2, 3), (0, 5, 4, 1), optimize=True) * -1 + e_mp = einsum(tmp0, (0, 1, 2, 3), v.oooo, (0, 3, 1, 2), (), optimize=True) * 0.125 + del tmp0 + tmp1 = v.oovv.transpose((1, 0, 3, 2)).copy() * 2 + tmp1 += einsum(v.ovov, (0, 1, 2, 3), t2, (0, 4, 3, 5), (2, 4, 1, 5), optimize=True) * -8 + tmp1 += einsum(v.vvvv, (0, 1, 2, 3), t2, (4, 5, 3, 2), (5, 4, 1, 0), optimize=True) * -1 + e_mp += einsum(tmp1, (0, 1, 2, 3), t2, (0, 1, 2, 3), (), optimize=True) * 0.125 + del tmp1 + + return e_mp + diff --git a/ebcc/codegen/RMP2.py b/ebcc/codegen/RMP2.py new file mode 100644 index 00000000..e2da67a1 --- /dev/null +++ b/ebcc/codegen/RMP2.py @@ -0,0 +1,39 @@ +""" +Code generated by `albert`: +https://github.com/obackhouse/albert + + * date: 2024-07-18T09:27:14.960165 + * python version: 3.10.12 (main, Mar 22 2024, 16:50:05) [GCC 11.4.0] + * albert version: 0.0.0 + * caller: /home/ollie/git/albert/albert/codegen/einsum.py + * node: ollie-desktop + * system: Linux + * processor: x86_64 + * release: 6.5.0-44-generic +""" + +from ebcc import numpy as np +from ebcc.util import pack_2e, einsum, direct_sum, Namespace + + +def energy(t2=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-07-18T09:27:15.109289. + + Parameters + ---------- + t2 : array + T2 amplitudes. + v : array + Electron repulsion integrals. + + Returns + ------- + e_mp : array + """ + + e_mp = einsum(t2, (0, 1, 2, 3), v.ovov, (0, 2, 1, 3), (), optimize=True) * 2 + e_mp += einsum(t2, (0, 1, 2, 3), v.ovov, (0, 3, 1, 2), (), optimize=True) * -1 + + return e_mp + diff --git a/ebcc/codegen/RMP3.py b/ebcc/codegen/RMP3.py new file mode 100644 index 00000000..2f8a85e4 --- /dev/null +++ b/ebcc/codegen/RMP3.py @@ -0,0 +1,65 @@ +""" +Code generated by `albert`: +https://github.com/obackhouse/albert + + * date: 2024-07-18T09:27:17.240842 + * python version: 3.10.12 (main, Mar 22 2024, 16:50:05) [GCC 11.4.0] + * albert version: 0.0.0 + * caller: /home/ollie/git/albert/albert/codegen/einsum.py + * node: ollie-desktop + * system: Linux + * processor: x86_64 + * release: 6.5.0-44-generic +""" + +from ebcc import numpy as np +from ebcc.util import pack_2e, einsum, direct_sum, Namespace + + +def energy(t2=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-07-18T09:27:19.628209. + + Parameters + ---------- + t2 : array + T2 amplitudes. + v : array + Electron repulsion integrals. + + Returns + ------- + e_mp : array + """ + + tmp3 = einsum(v.vvvv, (0, 1, 2, 3), t2, (4, 5, 3, 1), (4, 5, 2, 0), optimize=True) + tmp1 = t2.transpose((1, 0, 2, 3)).copy() + tmp1 += t2.transpose((1, 0, 3, 2)) * -1 + tmp4 = v.ovov.transpose((2, 0, 3, 1)).copy() * 0.5 + tmp4 += tmp3.transpose((1, 0, 3, 2)) * 0.5 + del tmp3 + tmp8 = einsum(t2, (0, 1, 2, 3), t2, (4, 5, 3, 2), (4, 1, 0, 5), optimize=True) + tmp7 = v.ovov.transpose((2, 0, 3, 1)).copy() * -1 + tmp7 += v.oovv.transpose((1, 0, 3, 2)) * 2 + tmp0 = v.ovov.transpose((2, 0, 3, 1)).copy() * 2 + tmp0 += v.oovv.transpose((1, 0, 3, 2)) * -1 + tmp2 = einsum(tmp1, (0, 1, 2, 3), t2, (0, 4, 3, 5), (1, 4, 2, 5), optimize=True) + del tmp1 + e_mp = einsum(tmp2, (0, 1, 2, 3), tmp0, (0, 1, 2, 3), (), optimize=True) * 4 + del tmp2, tmp0 + tmp5 = tmp4.transpose((0, 1, 3, 2)).copy() * -1 + tmp5 += tmp4 * 2 + del tmp4 + e_mp += einsum(tmp5, (0, 1, 2, 3), t2, (0, 1, 2, 3), (), optimize=True) * 2 + del tmp5 + tmp6 = einsum(t2, (0, 1, 2, 3), t2, (4, 1, 2, 5), (0, 4, 3, 5), optimize=True) + e_mp += einsum(tmp7, (0, 1, 2, 3), tmp6, (0, 1, 2, 3), (), optimize=True) * -2 + del tmp7, tmp6 + tmp9 = tmp8.transpose((3, 1, 2, 0)).copy() * -0.5 + tmp9 += tmp8.transpose((3, 2, 1, 0)) + del tmp8 + e_mp += einsum(tmp9, (0, 1, 2, 3), v.oooo, (0, 1, 3, 2), (), optimize=True) * 2 + del tmp9 + + return e_mp + diff --git a/ebcc/codegen/UMP2.py b/ebcc/codegen/UMP2.py new file mode 100644 index 00000000..d1561380 --- /dev/null +++ b/ebcc/codegen/UMP2.py @@ -0,0 +1,40 @@ +""" +Code generated by `albert`: +https://github.com/obackhouse/albert + + * date: 2024-07-18T09:27:06.407819 + * python version: 3.10.12 (main, Mar 22 2024, 16:50:05) [GCC 11.4.0] + * albert version: 0.0.0 + * caller: /home/ollie/git/albert/albert/codegen/einsum.py + * node: ollie-desktop + * system: Linux + * processor: x86_64 + * release: 6.5.0-44-generic +""" + +from ebcc import numpy as np +from ebcc.util import pack_2e, einsum, direct_sum, Namespace + + +def energy(t2=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-07-18T09:27:06.641226. + + Parameters + ---------- + t2 : Namespace of arrays + T2 amplitudes. + v : Namespace of arrays + Electron repulsion integrals. + + Returns + ------- + e_mp : array + """ + + e_mp = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 1, 3), (), optimize=True) + e_mp += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (0, 3, 1, 2), (), optimize=True) * -1 + e_mp += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (0, 3, 1, 2), (), optimize=True) * -1 + + return e_mp + diff --git a/ebcc/codegen/UMP3.py b/ebcc/codegen/UMP3.py new file mode 100644 index 00000000..a56847a8 --- /dev/null +++ b/ebcc/codegen/UMP3.py @@ -0,0 +1,80 @@ +""" +Code generated by `albert`: +https://github.com/obackhouse/albert + + * date: 2024-07-18T09:27:08.402057 + * python version: 3.10.12 (main, Mar 22 2024, 16:50:05) [GCC 11.4.0] + * albert version: 0.0.0 + * caller: /home/ollie/git/albert/albert/codegen/einsum.py + * node: ollie-desktop + * system: Linux + * processor: x86_64 + * release: 6.5.0-44-generic +""" + +from ebcc import numpy as np +from ebcc.util import pack_2e, einsum, direct_sum, Namespace + + +def energy(t2=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-07-18T09:27:11.750315. + + Parameters + ---------- + t2 : Namespace of arrays + T2 amplitudes. + v : Namespace of arrays + Electron repulsion integrals. + + Returns + ------- + e_mp : array + """ + + tmp10 = einsum(t2.abab, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) + tmp2 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.vvvv, (4, 2, 5, 3), (0, 1, 4, 5), optimize=True) + e_mp = einsum(t2.abab, (0, 1, 2, 3), tmp2, (0, 1, 2, 3), (), optimize=True) + del tmp2 + tmp5 = einsum(t2.abab, (0, 1, 2, 3), t2.abab, (4, 5, 2, 3), (0, 4, 1, 5), optimize=True) + e_mp += einsum(v.aabb.oooo, (0, 1, 2, 3), tmp5, (0, 1, 2, 3), (), optimize=True) + del tmp5 + tmp6 = v.aaaa.ovov.transpose((2, 0, 3, 1)).copy() * -1 + tmp6 += einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.aaaa, (0, 4, 1, 5), (2, 4, 5, 3), optimize=True) * 4 + tmp6 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.oovv, (0, 4, 2, 5), (1, 4, 5, 3), optimize=True) * -4 + tmp6 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (4, 0, 2, 5), optimize=True) * 4 + tmp6 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.vvvv, (4, 2, 3, 5), (1, 0, 5, 4), optimize=True) * -1 + e_mp += einsum(tmp6, (0, 1, 2, 3), t2.aaaa, (0, 1, 3, 2), (), optimize=True) + del tmp6 + tmp9 = v.aaaa.ovov.transpose((2, 0, 3, 1)).copy() + tmp9 += v.aaaa.oovv.transpose((1, 0, 3, 2)) * -1 + tmp3 = einsum(t2.abab, (0, 1, 2, 3), t2.abab, (4, 1, 2, 5), (0, 4, 3, 5), optimize=True) + e_mp += einsum(v.aabb.oovv, (0, 1, 2, 3), tmp3, (0, 1, 2, 3), (), optimize=True) * -1 + del tmp3 + tmp1 = einsum(t2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 5, 2, 3), (0, 5, 4, 1), optimize=True) * -1 + e_mp += einsum(tmp1, (0, 1, 2, 3), v.aaaa.oooo, (0, 2, 1, 3), (), optimize=True) * -1 + del tmp1 + tmp4 = einsum(v.bbaa.oovv, (0, 1, 2, 3), t2.abab, (4, 0, 2, 5), (4, 1, 3, 5), optimize=True) + e_mp += einsum(t2.abab, (0, 1, 2, 3), tmp4, (0, 1, 2, 3), (), optimize=True) * -1 + del tmp4 + tmp8 = einsum(t2.abab, (0, 1, 2, 3), t2.abab, (4, 1, 5, 3), (0, 4, 2, 5), optimize=True) + e_mp += einsum(tmp8, (0, 1, 2, 3), tmp9, (0, 1, 2, 3), (), optimize=True) + del tmp8, tmp9 + tmp0 = einsum(t2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 5, 2, 3), (4, 1, 0, 5), optimize=True) * -1 + e_mp += einsum(tmp0, (0, 1, 2, 3), v.bbbb.oooo, (0, 2, 1, 3), (), optimize=True) * -1 + del tmp0 + tmp7 = v.bbbb.ovov.transpose((2, 0, 3, 1)).copy() * -1 + tmp7 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 5), (4, 1, 3, 5), optimize=True) * 4 + tmp7 += einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (0, 4, 1, 5), (2, 4, 5, 3), optimize=True) * 4 + tmp7 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.oovv, (0, 4, 2, 5), (1, 4, 5, 3), optimize=True) * -4 + tmp7 += einsum(v.bbbb.vvvv, (0, 1, 2, 3), t2.bbbb, (4, 5, 1, 2), (5, 4, 3, 0), optimize=True) * -1 + e_mp += einsum(tmp7, (0, 1, 2, 3), t2.bbbb, (0, 1, 3, 2), (), optimize=True) + del tmp7 + tmp11 = v.bbbb.ovov.transpose((2, 0, 3, 1)).copy() + tmp11 += v.bbbb.oovv.transpose((1, 0, 3, 2)) * -1 + e_mp += einsum(tmp10, (0, 1, 2, 3), tmp11, (0, 1, 2, 3), (), optimize=True) + del tmp10, tmp11 + e_mp += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 1, 3), (), optimize=True) + + return e_mp + diff --git a/ebcc/codegen/bootstrap_MPn.py b/ebcc/codegen/bootstrap_MPn.py new file mode 100644 index 00000000..26ce67d7 --- /dev/null +++ b/ebcc/codegen/bootstrap_MPn.py @@ -0,0 +1,88 @@ +""" +Generate the MPn code. +""" + +import sys + +import pdaggerq +from albert.qc._pdaggerq import import_from_pdaggerq +from albert.tensor import Tensor + +from ebcc.codegen import hugenholtz +from ebcc.codegen.bootstrap_common import * + +# Get the spin case +spin = sys.argv[1] +order = int(sys.argv[2]) + +# Set up the code generators +code_generators = { + "einsum": EinsumCodeGen( + stdout=open(f"{spin[0].upper()}MP{order}.py", "w"), + name_generator=name_generators[spin], + spin=spin, + ), +} + +# Write the preamble +for codegen in code_generators.values(): + codegen.preamble() + +with Stopwatch("Energy"): + # Get the energy contractions in pdaggerq format + terms = sum([ + [hugenholtz.get_pdaggerq(graph) for graph in hugenholtz.get_hugenholtz_diagrams(n)] + for n in range(2, order+1) + ], []) + + # Get the energy in albert format + expr = import_from_pdaggerq(terms) + expr = spin_integrate(expr, spin) + output = tuple(Tensor(name="e_mp") for _ in range(len(expr))) + output, expr = optimise(output, expr, spin, strategy="exhaust") + returns = (Tensor(name="e_mp"),) + + # Get the denominators for higher orders + if order > 3: + if spin != "uhf": + lines = [] + for n in ([2] if order in (2, 3) else list(range(1, order+1))): + subscripts = ["ia", "jb", "kc", "ld", "me", "nf"][:n] + lines += [ + " denom%d = 1 / direct_sum(" % n, + " \"%s->%s%s\"," % ("+".join(subscripts), "".join([s[0] for s in subscripts]), "".join([s[1] for s in subscripts])), + ] + for subscript in subscripts: + lines.append( + " direct_sum(\"%s->%s\", np.diag(f.oo), np.diag(f.vv))," + % ("-".join(list(subscript)), subscript) + ) + lines.append(" )") + else: + lines = [ + " denom3 = Namespace()", + ] + for n in ([2] if order in (2, 3) else list(range(1, order+1))): + spins_list = [list(y) for y in sorted(set("".join(sorted(x)) for x in itertools.product("ab", repeat=n)))] + for spins in spins_list: + subscripts = ["ia", "jb", "kc", "ld", "me", "nf"][:n] + lines += [ + " denom%d.%s%s = 1 / direct_sum(" % (n, "".join(spins), "".join(spins)), + " \"%s->%s%s\"," % ("+".join(subscripts), "".join([s[0] for s in subscripts]), "".join([s[1] for s in subscripts])), + ] + for subscript, spin in zip(subscripts, spins): + lines.append( + " direct_sum(\"%s->%s\", np.diag(f.%s%s.oo), np.diag(f.%s%s.vv))," + % ("-".join(list(subscript)), subscript, spin, spin, spin, spin) + ) + lines.append(" )") + function_printer.write_python("\n".join(lines)+"\n") + + # Generate the energy code + for codegen in code_generators.values(): + codegen( + "energy", + returns, + output, + expr, + ) diff --git a/ebcc/codegen/hugenholtz.py b/ebcc/codegen/hugenholtz.py new file mode 100644 index 00000000..fb55031e --- /dev/null +++ b/ebcc/codegen/hugenholtz.py @@ -0,0 +1,374 @@ +""" +Generate Hugenholtz diagrams +Scales roughly +""" +# TODO test energies + +import numpy as np +import itertools +from collections import defaultdict + +OCC_INDS = "ijklmnopIJKLMNOP" +VIR_INDS = "abcdefghABCDEFGH" + + +def index_to_ov(idx): + """Convert i.e. j->o, b->v etc.""" + + if idx in OCC_INDS: + return "o" + elif idx in VIR_INDS: + return "v" + else: + raise ValueError + + +def iter_edges(graph): + """Iterate over the edges (out, in)""" + + for i in range(len(graph)): + yield graph[i - 1], graph[i] + + +def direction(start, end): + """ + Return the direction of an edge: + + 1 : up (occupied) + -1 : down (virtual) + 0 : level (bubble) + """ + + return int(bool(end > start) - bool(start > end)) + + +def classify_graph(graph, ignore_bubble=False): + """ + Return a unique classifier for a graph allowing equality - only + unique among graphs with the same size. + """ + + edges = defaultdict(int) + step = len(graph) // 2 + + for start, end in iter_edges(graph): + if ignore_bubble: + if direction(start, end) == 0: + return False + + edge = start * step + end + edges[edge] += 1 + + return frozenset(edges.items()) + + +def equal_graphs(a, b): + """Return True if two graphs are equal""" + + return classify_graph(a) == classify_graph(b) + + +def get_connectivity(graph): + """ + Return ∑(number of edges going in) - ∑(number of edges going out) + for each node in a graph. + """ + + count = [ + 0, + ] * (len(graph) // 2) + + for start, end in iter_edges(graph): + count[start] += 1 + count[end] -= 1 + + return count + + +def permutations(n=2, ignore_bubble=False): + """ + Return permutations of [0,1,...,n,0,1,...n] + From more_itertools + """ + + perm = sorted(range(n)) * 2 + size = n * 2 + + if n < 2: + yield perm + + while True: + # Find largest i such that i < i+1 + for i in range(size - 2, -1, -1): + if perm[i] < perm[i + 1]: + break + else: + return + + # Find largest j such that i < j + for j in range(size - 1, i, -1): + if perm[i] < perm[j]: + break + + # Swap i, j and reverse from i+1 + perm[i], perm[j] = perm[j], perm[i] + perm[i + 1 :] = perm[: i - size : -1] + + # To skip bubbles at this point: + # + # 0 1 i-1 i i+1 j-1 j j+1 2n-2 2n-1 + # ------------------------------------------------------------- + # Start with: [ 0, 1, ..., a-1, a, a+1, ..., b-1, b, b+1, ..., c-2, c-1 ] + # Swap i,j: [ 0, 1, ..., a-1, b, a+1, ..., b-1, a, b+1, ..., c-2, c-1 ] + # Reverse i+1: [ 0, 1, ..., a-1, b, c-1, ..., b+1, a, b-1, ..., a+2, a+1 ] + # + # Therefore new neighbours exist at: + # + # (i-1, i), (i, i+1), (j-1, j), (j, j+1), (2n-1, 0) + # + # and the first permutation will always have no bubbles. It's probably + # possible to "jump ahead" in the algorithm to the next non-bubble but + # that would take some thinking. + if ignore_bubble: + new_neighbours = set( + [ + (i - 1, i % size), + (i, (i + 1) % size), + (j - 1, j), + (j, (j + 1) % size), + (size - 1, 0), + ] + ) + if any(perm[a] == perm[b] for a, b in new_neighbours): + continue + + yield perm + + +def get_hugenholtz_diagrams(n=2, ignore_bubble=True): + """ + Get a list of directed graphs representing Hugenholtz diagrams + for a given order of perturbation theory. + """ + + seen = set() + + for graph in permutations(n): + classification = classify_graph(graph, ignore_bubble=ignore_bubble) + + # Check if diagram is a duplicate + if classification is False or classification in seen: + continue + seen.add(classification) + + # Check the connectivity is balanced + if any([x != 0 for x in get_connectivity(graph)]): + continue + + # If we get here, it's a valid diagram + yield graph + + +def sort_energy(term): + """Sort the energy repr into a canonical order""" + + occ_part = [char for char in term if char in OCC_INDS] + vir_part = [char for char in term if char in VIR_INDS] + + term_out = "".join(occ_part) + "".join(vir_part) + + return term_out + + +def sort_integral(term): + """Sort the integral repr into a canonical order""" + + term_out = term + score_min = np.inf + sign = 1 + allowed = [ + ((0, 1, 2, 3), 1), + ((1, 0, 3, 2), 1), + ((2, 3, 0, 1), 1), + ((3, 2, 1, 0), 1), + ((0, 1, 3, 2), -1), + ((1, 0, 2, 3), -1), + ((3, 2, 0, 1), -1), + ((2, 3, 1, 0), -1), + ] + + for allow, sign_flip in allowed: + perm = [term[x] for x in allow] + string = "".join(["0" if s in OCC_INDS else "1" for s in perm]) + score = int(string, 2) + if score < score_min: + term_out = "".join(perm) + score_min = score + sign *= sign_flip + + return term_out, sign + + +def label_edges(graph): + """Return a list of index labels for each edge""" + + labels = [] + o = list(OCC_INDS) + v = list(VIR_INDS) + + for start, end in iter_edges(graph): + d = direction(start, end) + + if d == 1: + labels.append(o.pop(0)) + elif d == -1: + labels.append(v.pop(0)) + else: + labels.append(None) + + return labels + + +def direction_dicts(graph, labels): + """ + Return dictionaries with keys corresponding to each vertex and + values containing a list of labels corresponding to edges going + in and out of the vertex. + """ + + outs = defaultdict(list) + ins = defaultdict(list) + + last = graph[-1] + for n in range(len(graph)): + outs[last].append(labels[n]) + last = graph[n] + ins[last].append(labels[n]) + + ins = {k: v for k, v in ins.items()} + outs = {k: v for k, v in outs.items()} + + return ins, outs + + +def get_hugenholtz_energies(graph, labels): + """Get the energy contribution from a given Hugenholtz diagram""" + + order = len(graph) // 2 + terms = [] + + for n in range(order - 1): + x = 0.5 + n + term = "" + + for label, (start, end) in zip(labels, iter_edges(graph)): + if (start < x and end > x) or (start > x and end < x): + term = term + label + + term = sort_energy(term) + terms.append(term) + + return ",".join(terms) + + +def get_hugenholtz_integrals(graph, labels): + """Get the integral contribution from a given Hugentholtz diagram""" + + ins, outs = direction_dicts(graph, labels) + terms = [] + sign = 1 + + for point in set(graph): + term = "".join([*ins[point], *outs[point]]) + term, sf = sort_integral(term) + terms.append(term) + sign *= sf + + return ",".join(terms), sign + + +def get_hugenholtz_sign(graph, labels, integrals): + """Get the sign contribution from a given Hugenholtz diagram""" + + integrals = integrals.split(",") + rule = [x[0] + x[2] for x in integrals] + [x[1] + x[3] for x in integrals] + paths = [rule.pop(0)] + + while len(rule): + r = rule.pop(0) + for i in range(len(paths)): + if r[-1] == paths[i][0]: + paths[i] = r + paths[i] + break + elif r[0] == paths[i][-1]: + paths[i] = paths[i] + r + break + else: + paths.append(r) + + l = len(paths) + h = len([x for x in labels if x in OCC_INDS]) + sign = pow(-1, h + l) + + return sign + + +def get_hugenholtz_factor(graph): + """Get the factor contribution from a given Hugenholtz diagram""" + + count = defaultdict(int) + + for start, end in iter_edges(graph): + count[(start, end)] += 1 + + n = sum([x // 2 for x in count.values()]) + + return pow(0.5, n) + + +def get_pdaggerq( + graph, + use_t2=True, +): + labels = label_edges(graph) + integrals, sign = get_hugenholtz_integrals(graph, labels) + energies = get_hugenholtz_energies(graph, labels) + sign *= get_hugenholtz_sign(graph, labels, integrals) + factor = get_hugenholtz_factor(graph) + + if use_t2: + amplitudes = [] + energies_to_remove = [] + integrals_to_remove = [] + + for i, integral in enumerate(integrals.split(",")): + for j, energy in enumerate(energies.split(",")): + if integral == energy: + inds = tuple(index_to_ov(x) for x in integral) + if inds == ("o", "o", "v", "v"): + if i in integrals_to_remove or j in energies_to_remove: + continue + amplitudes.append(integral) + integrals_to_remove.append(i) + energies_to_remove.append(j) + + energies = [x for i, x in enumerate(energies.split(",")) if i not in energies_to_remove] + integrals = [x for i, x in enumerate(integrals.split(",")) if i not in integrals_to_remove] + + energies = ",".join(energies) + integrals = ",".join(integrals) + amplitudes = ",".join(amplitudes) + + term = [("+" if sign > 0 else "-") + str(factor)] + if integrals.strip(): + for integral in integrals.split(","): + term += ["<%s,%s||%s,%s>" % tuple(integral)] + if energies.strip(): + for energy in energies.split(","): + term += ["denom%d(%s)" % (len(energy) // 2, ",".join(energy))] + if amplitudes.strip(): + for amplitude in amplitudes.split(","): + n = len(amplitude) // 2 + term += ["t2(%s,%s)" % (",".join(amplitude[n:]), ",".join(amplitude[:n]))] + + return term From 116f3b958876521e61f46008d5f6cfd2627baa91 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Thu, 18 Jul 2024 10:22:00 +0100 Subject: [PATCH 012/168] QCISD scripts --- ebcc/codegen/GQCISD.py | 127 +++++++++++ ebcc/codegen/RQCISD.py | 167 +++++++++++++++ ebcc/codegen/UQCISD.py | 368 ++++++++++++++++++++++++++++++++ ebcc/codegen/bootstrap_QCISD.py | 126 +++++++++++ 4 files changed, 788 insertions(+) create mode 100644 ebcc/codegen/GQCISD.py create mode 100644 ebcc/codegen/RQCISD.py create mode 100644 ebcc/codegen/UQCISD.py create mode 100644 ebcc/codegen/bootstrap_QCISD.py diff --git a/ebcc/codegen/GQCISD.py b/ebcc/codegen/GQCISD.py new file mode 100644 index 00000000..47b7d40e --- /dev/null +++ b/ebcc/codegen/GQCISD.py @@ -0,0 +1,127 @@ +""" +Code generated by `albert`: +https://github.com/obackhouse/albert + + * date: 2024-07-18T09:48:58.798733 + * python version: 3.10.12 (main, Mar 22 2024, 16:50:05) [GCC 11.4.0] + * albert version: 0.0.0 + * caller: /home/ollie/git/albert/albert/codegen/einsum.py + * node: ollie-desktop + * system: Linux + * processor: x86_64 + * release: 6.5.0-44-generic +""" + +from ebcc import numpy as np +from ebcc.util import pack_2e, einsum, direct_sum, Namespace + + +def energy(t2=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-07-18T09:48:58.836955. + + Parameters + ---------- + t2 : array + T2 amplitudes. + v : array + Electron repulsion integrals. + + Returns + ------- + e_cc : float + Coupled cluster energy. + """ + + e_cc = einsum(v.oovv, (0, 1, 2, 3), t2, (0, 1, 2, 3), (), optimize=True) * 0.25 + + return e_cc + +def update_amps(f=None, t1=None, t2=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-07-18T09:49:00.164938. + + Parameters + ---------- + f : array + Fock matrix. + t1 : array + T1 amplitudes. + t2 : array + T2 amplitudes. + v : array + Electron repulsion integrals. + + Returns + ------- + t1new : array + Updated T1 residuals. + t2new : array + Updated T2 residuals. + """ + + tmp2 = einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 2, 3), (0, 4), optimize=True) * -1 + tmp5 = einsum(t2, (0, 1, 2, 3), f.vv, (4, 3), (0, 1, 4, 2), optimize=True) + tmp4 = einsum(v.ooov, (0, 1, 2, 3), t1, (2, 4), (0, 1, 4, 3), optimize=True) + tmp10 = einsum(v.oovv, (0, 1, 2, 3), t2, (0, 1, 4, 2), (4, 3), optimize=True) * -1 + tmp8 = einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 3, 5), (0, 4, 2, 5), optimize=True) + tmp14 = einsum(t2, (0, 1, 2, 3), f.oo, (4, 1), (4, 0, 2, 3), optimize=True) + t2new = tmp14.transpose((1, 0, 3, 2)).copy() + t2new += tmp14.transpose((0, 1, 3, 2)) * -1 + del tmp14 + tmp12 = einsum(t2, (0, 1, 2, 3), tmp2, (4, 1), (0, 4, 2, 3), optimize=True) + t2new += tmp12.transpose((1, 0, 3, 2)) * -0.5 + t2new += tmp12.transpose((0, 1, 3, 2)) * 0.5 + del tmp12 + tmp13 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 3, 1, 5), (0, 4, 2, 5), optimize=True) + t2new += tmp13.transpose((1, 0, 3, 2)) * -1 + t2new += tmp13.transpose((1, 0, 2, 3)) + t2new += tmp13.transpose((0, 1, 3, 2)) + t2new += tmp13 * -1 + del tmp13 + tmp7 = einsum(t1, (0, 1), v.ovvv, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) + t2new += tmp7.transpose((1, 0, 3, 2)) * -1 + t2new += tmp7.transpose((0, 1, 3, 2)) + del tmp7 + tmp6 = tmp4.transpose((1, 0, 2, 3)).copy() * -1 + del tmp4 + tmp6 += tmp5.transpose((1, 0, 2, 3)) * -1 + del tmp5 + t2new += tmp6.transpose((0, 1, 3, 2)) + t2new += tmp6 * -1 + del tmp6 + tmp11 = einsum(t2, (0, 1, 2, 3), tmp10, (4, 3), (0, 1, 2, 4), optimize=True) + del tmp10 + t2new += tmp11.transpose((0, 1, 3, 2)) * 0.5 + t2new += tmp11 * -0.5 + del tmp11 + tmp9 = einsum(t2, (0, 1, 2, 3), tmp8, (4, 1, 5, 3), (0, 4, 2, 5), optimize=True) + del tmp8 + t2new += tmp9.transpose((0, 1, 3, 2)) * -1 + t2new += tmp9 + del tmp9 + tmp15 = v.oooo.transpose((2, 3, 1, 0)).copy() * -1 + tmp15 += einsum(v.oovv, (0, 1, 2, 3), t2, (4, 5, 2, 3), (1, 0, 5, 4), optimize=True) * 0.5 + t2new += einsum(t2, (0, 1, 2, 3), tmp15, (0, 1, 4, 5), (4, 5, 3, 2), optimize=True) * -0.5 + del tmp15 + tmp0 = v.ooov.transpose((2, 1, 0, 3)).copy() + tmp0 += einsum(v.oovv, (0, 1, 2, 3), t1, (4, 3), (4, 1, 0, 2), optimize=True) * -1 + t1new = einsum(t2, (0, 1, 2, 3), tmp0, (4, 0, 1, 2), (4, 3), optimize=True) * -0.5 + del tmp0 + tmp1 = f.ov.copy() + tmp1 += einsum(t1, (0, 1), v.oovv, (2, 0, 3, 1), (2, 3), optimize=True) + t1new += einsum(t2, (0, 1, 2, 3), tmp1, (0, 2), (1, 3), optimize=True) + del tmp1 + tmp3 = f.oo.transpose((1, 0)).copy() * 2 + tmp3 += tmp2.transpose((1, 0)) + del tmp2 + t1new += einsum(tmp3, (0, 1), t1, (0, 2), (1, 2), optimize=True) * -0.5 + del tmp3 + t1new += einsum(t1, (0, 1), f.vv, (2, 1), (0, 2), optimize=True) + t1new += einsum(v.ovov, (0, 1, 2, 3), t1, (2, 1), (0, 3), optimize=True) * -1 + t1new += einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 0, 2, 3), (4, 1), optimize=True) * -0.5 + t2new += v.oovv.transpose((1, 0, 3, 2)) + t2new += einsum(v.vvvv, (0, 1, 2, 3), t2, (4, 5, 3, 2), (5, 4, 1, 0), optimize=True) * -0.5 + + return {f"t1new": t1new, f"t2new": t2new} + diff --git a/ebcc/codegen/RQCISD.py b/ebcc/codegen/RQCISD.py new file mode 100644 index 00000000..1dcd2a35 --- /dev/null +++ b/ebcc/codegen/RQCISD.py @@ -0,0 +1,167 @@ +""" +Code generated by `albert`: +https://github.com/obackhouse/albert + + * date: 2024-07-18T10:18:02.485159 + * python version: 3.10.12 (main, Mar 22 2024, 16:50:05) [GCC 11.4.0] + * albert version: 0.0.0 + * caller: /home/ollie/git/albert/albert/codegen/einsum.py + * node: ollie-desktop + * system: Linux + * processor: x86_64 + * release: 6.5.0-44-generic +""" + +from ebcc import numpy as np +from ebcc.util import pack_2e, einsum, direct_sum, Namespace + + +def energy(t2=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-07-18T10:18:02.647075. + + Parameters + ---------- + t2 : array + T2 amplitudes. + v : array + Electron repulsion integrals. + + Returns + ------- + e_cc : float + Coupled cluster energy. + """ + + e_cc = einsum(v.ovov, (0, 1, 2, 3), t2, (0, 2, 1, 3), (), optimize=True) * 2 + e_cc += einsum(v.ovov, (0, 1, 2, 3), t2, (0, 2, 3, 1), (), optimize=True) * -1 + + return e_cc + +def update_amps(f=None, t1=None, t2=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-07-18T10:18:06.300305. + + Parameters + ---------- + f : array + Fock matrix. + t1 : array + T1 amplitudes. + t2 : array + T2 amplitudes. + v : array + Electron repulsion integrals. + + Returns + ------- + t1new : array + Updated T1 residuals. + t2new : array + Updated T2 residuals. + """ + + tmp14 = v.ovov.transpose((2, 0, 1, 3)).copy() * -1 + tmp14 += v.ovov.transpose((2, 0, 3, 1)) * 2 + tmp18 = v.ovov.transpose((2, 0, 1, 3)).copy() + tmp18 += v.ovov.transpose((2, 0, 3, 1)) * -0.5 + tmp15 = einsum(tmp14, (0, 1, 2, 3), t2, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) + del tmp14 + tmp21 = einsum(tmp18, (0, 1, 2, 3), t2, (0, 4, 3, 2), (4, 1), optimize=True) * 2 + tmp19 = einsum(t2, (0, 1, 2, 3), tmp18, (0, 1, 3, 4), (2, 4), optimize=True) + del tmp18 + tmp16 = einsum(tmp15, (0, 1, 2, 3), t2, (1, 4, 5, 3), (4, 0, 5, 2), optimize=True) + tmp13 = einsum(t1, (0, 1), v.ooov, (2, 0, 3, 4), (2, 3, 1, 4), optimize=True) + tmp9 = einsum(t2, (0, 1, 2, 3), v.ovov, (1, 2, 4, 5), (0, 4, 3, 5), optimize=True) + t2new = tmp9.transpose((1, 0, 3, 2)).copy() * -1 + tmp11 = einsum(t1, (0, 1), v.ovvv, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) + tmp10 = einsum(t2, (0, 1, 2, 3), f.vv, (4, 3), (0, 1, 4, 2), optimize=True) + tmp22 = einsum(t2, (0, 1, 2, 3), tmp21, (4, 0), (1, 4, 2, 3), optimize=True) + del tmp21 + tmp20 = einsum(tmp19, (0, 1), t2, (2, 3, 1, 4), (2, 3, 4, 0), optimize=True) * 2 + del tmp19 + tmp1 = einsum(t1, (0, 1), v.ovov, (2, 3, 4, 1), (0, 2, 4, 3), optimize=True) + tmp3 = v.ovov.transpose((2, 0, 1, 3)).copy() * 2 + tmp3 += v.ovov.transpose((2, 0, 3, 1)) * -1 + tmp7 = v.ovov.transpose((2, 0, 1, 3)).copy() * -1 + tmp7 += v.ovov.transpose((2, 0, 3, 1)) * 2 + tmp17 = tmp13.copy() + del tmp13 + tmp17 += tmp16.transpose((1, 0, 3, 2)) + del tmp16 + t2new += tmp17.transpose((1, 0, 3, 2)) * -1 + t2new += tmp17 * -1 + del tmp17 + tmp28 = v.oovv.transpose((1, 0, 3, 2)).copy() * -1 + tmp28 += einsum(t2, (0, 1, 2, 3), v.ovov, (1, 4, 5, 2), (0, 5, 3, 4), optimize=True) + t2new += einsum(t2, (0, 1, 2, 3), tmp28, (4, 0, 5, 3), (4, 1, 2, 5), optimize=True) + del tmp28 + tmp27 = v.ovov.transpose((2, 0, 3, 1)).copy() * -1 + tmp27 += tmp9 + del tmp9 + t2new += einsum(tmp27, (0, 1, 2, 3), t2, (1, 4, 5, 3), (4, 0, 5, 2), optimize=True) + del tmp27 + tmp12 = tmp10.copy() + del tmp10 + tmp12 += tmp11 + del tmp11 + t2new += tmp12.transpose((1, 0, 2, 3)) + t2new += tmp12.transpose((0, 1, 3, 2)) + del tmp12 + tmp23 = tmp20.transpose((1, 0, 2, 3)).copy() + del tmp20 + tmp23 += tmp22.transpose((0, 1, 3, 2)) + del tmp22 + t2new += tmp23.transpose((1, 0, 3, 2)) * -1 + t2new += tmp23 * -1 + del tmp23 + tmp26 = v.oooo.transpose((2, 3, 1, 0)).copy() + tmp26 += einsum(v.ovov, (0, 1, 2, 3), t2, (4, 5, 3, 1), (0, 5, 2, 4), optimize=True) + t2new += einsum(t2, (0, 1, 2, 3), tmp26, (0, 4, 1, 5), (4, 5, 2, 3), optimize=True) + del tmp26 + tmp25 = v.ovov.transpose((2, 0, 3, 1)).copy() * 2 + tmp25 += v.oovv.transpose((1, 0, 3, 2)) * -1 + tmp25 += tmp15 * 2 + del tmp15 + t2new += einsum(tmp25, (0, 1, 2, 3), t2, (1, 4, 3, 5), (4, 0, 5, 2), optimize=True) + del tmp25 + tmp24 = einsum(t2, (0, 1, 2, 3), f.oo, (4, 1), (4, 0, 2, 3), optimize=True) + t2new += tmp24.transpose((1, 0, 2, 3)) * -1 + t2new += tmp24.transpose((0, 1, 3, 2)) * -1 + del tmp24 + tmp2 = v.ooov.transpose((1, 0, 2, 3)).copy() * -0.5 + tmp2 += v.ooov.transpose((1, 2, 0, 3)) + tmp2 += tmp1 + tmp2 += tmp1.transpose((0, 2, 1, 3)) * -0.5 + del tmp1 + t1new = einsum(t2, (0, 1, 2, 3), tmp2, (4, 1, 0, 3), (4, 2), optimize=True) * -2 + del tmp2 + tmp4 = f.ov.copy() + tmp4 += einsum(tmp3, (0, 1, 2, 3), t1, (0, 3), (1, 2), optimize=True) + del tmp3 + tmp8 = f.oo.transpose((1, 0)).copy() * 0.5 + tmp8 += einsum(t2, (0, 1, 2, 3), tmp7, (0, 4, 2, 3), (4, 1), optimize=True) * 0.5 + del tmp7 + t1new += einsum(t1, (0, 1), tmp8, (0, 2), (2, 1), optimize=True) * -2 + del tmp8 + tmp5 = t2.transpose((1, 0, 2, 3)).copy() * 2 + tmp5 += t2.transpose((1, 0, 3, 2)) * -1 + t1new += einsum(tmp5, (0, 1, 2, 3), tmp4, (0, 3), (1, 2), optimize=True) + del tmp5, tmp4 + tmp6 = v.ovov.transpose((2, 0, 3, 1)).copy() * 2 + tmp6 += v.oovv.transpose((1, 0, 3, 2)) * -1 + t1new += einsum(t1, (0, 1), tmp6, (0, 2, 1, 3), (2, 3), optimize=True) + del tmp6 + tmp0 = v.ovvv.transpose((0, 1, 3, 2)).copy() * -0.5 + tmp0 += v.ovvv.transpose((0, 3, 1, 2)) + t1new += einsum(tmp0, (0, 1, 2, 3), t2, (0, 4, 2, 1), (4, 3), optimize=True) * 2 + del tmp0 + t1new += einsum(t1, (0, 1), f.vv, (2, 1), (0, 2), optimize=True) + t2new += einsum(v.oovv, (0, 1, 2, 3), t2, (4, 1, 5, 3), (0, 4, 2, 5), optimize=True) * -1 + t2new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 2), (0, 4, 5, 3), optimize=True) * -1 + t2new += einsum(v.ovov, (0, 1, 2, 3), t2, (4, 0, 5, 1), (2, 4, 3, 5), optimize=True) * 2 + t2new += v.ovov.transpose((2, 0, 3, 1)) + t2new += einsum(v.vvvv, (0, 1, 2, 3), t2, (4, 5, 1, 3), (5, 4, 2, 0), optimize=True) + + return {f"t1new": t1new, f"t2new": t2new} + diff --git a/ebcc/codegen/UQCISD.py b/ebcc/codegen/UQCISD.py new file mode 100644 index 00000000..0a882842 --- /dev/null +++ b/ebcc/codegen/UQCISD.py @@ -0,0 +1,368 @@ +""" +Code generated by `albert`: +https://github.com/obackhouse/albert + + * date: 2024-07-18T10:15:09.194714 + * python version: 3.10.12 (main, Mar 22 2024, 16:50:05) [GCC 11.4.0] + * albert version: 0.0.0 + * caller: /home/ollie/git/albert/albert/codegen/einsum.py + * node: ollie-desktop + * system: Linux + * processor: x86_64 + * release: 6.5.0-44-generic +""" + +from ebcc import numpy as np +from ebcc.util import pack_2e, einsum, direct_sum, Namespace + + +def energy(t2=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-07-18T10:15:09.460596. + + Parameters + ---------- + t2 : Namespace of arrays + T2 amplitudes. + v : Namespace of arrays + Electron repulsion integrals. + + Returns + ------- + e_cc : float + Coupled cluster energy. + """ + + e_cc = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 2, 1, 3), (), optimize=True) + e_cc += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (0, 2, 1, 3), (), optimize=True) + e_cc += einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (0, 2, 3, 1), (), optimize=True) * -1 + + return e_cc + +def update_amps(f=None, t1=None, t2=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-07-18T10:15:19.879416. + + Parameters + ---------- + f : Namespace of arrays + Fock matrix. + t1 : Namespace of arrays + T1 amplitudes. + t2 : Namespace of arrays + T2 amplitudes. + v : Namespace of arrays + Electron repulsion integrals. + + Returns + ------- + t1new : Namespace of arrays + Updated T1 residuals. + t2new : Namespace of arrays + Updated T2 residuals. + """ + + t1new = Namespace() + t2new = Namespace() + tmp1 = v.aaaa.ovov.transpose((2, 0, 1, 3)).copy() * -1 + tmp1 += v.aaaa.ovov.transpose((2, 0, 3, 1)) + tmp16 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (1, 3, 4, 2), (0, 4), optimize=True) + tmp15 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 3), (1, 4), optimize=True) + tmp5 = v.bbbb.ovov.transpose((2, 0, 1, 3)).copy() * -1 + tmp5 += v.bbbb.ovov.transpose((2, 0, 3, 1)) + tmp10 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.aaaa, (4, 0, 3, 1), (4, 2), optimize=True) + tmp11 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 1, 3), (4, 0), optimize=True) + tmp43 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 2, 1, 4), (4, 3), optimize=True) + tmp44 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (0, 4, 1, 3), (2, 4), optimize=True) + tmp46 = einsum(t2.bbbb, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (4, 0, 5, 2), optimize=True) + t2new.abab = tmp46.copy() * 2 + tmp63 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (4, 5, 1, 3), (4, 5, 0, 2), optimize=True) + tmp61 = v.bbbb.ovov.transpose((2, 0, 1, 3)).copy() + tmp61 += v.bbbb.ovov.transpose((2, 0, 3, 1)) * -1 + tmp56 = einsum(t2.abab, (0, 1, 2, 3), tmp1, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) + tmp17 = tmp15.copy() + tmp17 += tmp16 * 2 + t1new.bb = einsum(tmp17, (0, 1), t1.bb, (1, 2), (0, 2), optimize=True) * -1 + tmp54 = v.bbbb.ovov.transpose((2, 0, 1, 3)).copy() + tmp54 += v.bbbb.ovov.transpose((2, 0, 3, 1)) * -1 + tmp30 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (0, 4, 1, 3), (2, 4), optimize=True) + tmp31 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 4, 1, 3), (2, 4), optimize=True) + tmp39 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 1), (4, 2, 5, 3), optimize=True) + t2new.abab += tmp39 * 2 + tmp23 = einsum(t2.abab, (0, 1, 2, 3), tmp5, (1, 4, 5, 3), (0, 4, 2, 5), optimize=True) + tmp20 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 5, 3), (4, 0, 5, 1), optimize=True) + t2new.aaaa = tmp20.copy() + t2new.aaaa += tmp20.transpose((0, 1, 3, 2)) * -1 + t2new.aaaa += tmp20.transpose((1, 0, 2, 3)) * -1 + t2new.aaaa += tmp20.transpose((1, 0, 3, 2)) + tmp28 = v.aaaa.ovov.transpose((2, 0, 1, 3)).copy() * -1 + tmp28 += v.aaaa.ovov.transpose((2, 0, 3, 1)) + tmp12 = tmp10.copy() + del tmp10 + tmp12 += tmp11 * 0.5 + del tmp11 + t2new.abab += einsum(tmp12, (0, 1), t2.abab, (1, 2, 3, 4), (0, 2, 3, 4), optimize=True) * -2 + t1new.aa = einsum(tmp12, (0, 1), t1.aa, (1, 2), (0, 2), optimize=True) * -2 + tmp33 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.aaaa, (4, 5, 3, 1), (4, 5, 0, 2), optimize=True) * -1 + tmp0 = einsum(v.aabb.ovov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1), optimize=True) + t1new.aa += tmp0 + tmp2 = einsum(t1.aa, (0, 1), tmp1, (0, 2, 3, 1), (2, 3), optimize=True) + tmp6 = einsum(t1.bb, (0, 1), tmp5, (0, 2, 3, 1), (2, 3), optimize=True) + del tmp5 + tmp4 = einsum(v.aabb.ovov, (0, 1, 2, 3), t1.aa, (0, 1), (2, 3), optimize=True) + t1new.bb += tmp4 + tmp45 = tmp43.copy() + tmp45 += tmp44 * 2 + t2new.bbbb = einsum(t2.bbbb, (0, 1, 2, 3), tmp45, (4, 2), (1, 0, 3, 4), optimize=True) * -2 + t2new.abab += einsum(tmp45, (0, 1), t2.abab, (2, 3, 4, 1), (2, 3, 4, 0), optimize=True) * -1 + del tmp45 + tmp53 = einsum(t2.abab, (0, 1, 2, 3), tmp46, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) + del tmp46 + t2new.bbbb += tmp53.transpose((1, 0, 3, 2)) * 2 + t2new.bbbb += tmp53 * 2 + t2new.bbbb += tmp53.transpose((1, 0, 2, 3)) * -2 + t2new.bbbb += tmp53.transpose((0, 1, 3, 2)) * -2 + del tmp53 + tmp60 = einsum(t2.bbbb, (0, 1, 2, 3), f.bb.oo, (4, 1), (4, 0, 2, 3), optimize=True) + t2new.bbbb += tmp60.transpose((1, 0, 3, 2)) * 2 + t2new.bbbb += tmp60.transpose((0, 1, 3, 2)) * -2 + del tmp60 + tmp64 = einsum(tmp63, (0, 1, 2, 3), t2.bbbb, (2, 3, 4, 5), (1, 0, 4, 5), optimize=True) * -1 + del tmp63 + t2new.bbbb += tmp64.transpose((0, 1, 3, 2)) * -1 + t2new.bbbb += tmp64.transpose((0, 1, 3, 2)) * -1 + del tmp64 + tmp62 = v.bbbb.oovv.transpose((1, 0, 3, 2)).copy() * 0.5 + tmp62 += einsum(t2.bbbb, (0, 1, 2, 3), tmp61, (0, 4, 5, 2), (1, 4, 3, 5), optimize=True) * -1 + del tmp61 + t2new.bbbb += einsum(t2.bbbb, (0, 1, 2, 3), tmp62, (4, 0, 5, 2), (4, 1, 5, 3), optimize=True) * -4 + del tmp62 + tmp58 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.oovv, (4, 1, 5, 3), (0, 4, 2, 5), optimize=True) + t2new.bbbb += tmp58.transpose((1, 0, 2, 3)) * 2 + t2new.bbbb += tmp58 * -2 + del tmp58 + tmp57 = einsum(tmp56, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) + del tmp56 + t2new.bbbb += tmp57.transpose((1, 0, 3, 2)) + t2new.bbbb += tmp57.transpose((0, 1, 3, 2)) * -1 + del tmp57 + tmp52 = einsum(v.bbbb.ooov, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 4, 3), optimize=True) + t2new.bbbb += tmp52 * -1 + t2new.bbbb += tmp52.transpose((0, 1, 3, 2)) + t2new.bbbb += tmp52.transpose((1, 0, 2, 3)) + t2new.bbbb += tmp52.transpose((1, 0, 3, 2)) * -1 + del tmp52 + tmp66 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 5), (1, 4, 3, 5), optimize=True) + t2new.bbbb += tmp66 + t2new.bbbb += tmp66.transpose((0, 1, 3, 2)) * -1 + t2new.bbbb += tmp66.transpose((1, 0, 2, 3)) * -1 + t2new.bbbb += tmp66.transpose((1, 0, 3, 2)) + del tmp66 + tmp68 = einsum(tmp17, (0, 1), t2.bbbb, (1, 2, 3, 4), (2, 0, 3, 4), optimize=True) * 2 + del tmp17 + t2new.bbbb += tmp68.transpose((1, 0, 3, 2)) + t2new.bbbb += tmp68.transpose((0, 1, 3, 2)) * -1 + del tmp68 + tmp59 = einsum(v.bbbb.oooo, (0, 1, 2, 3), t2.bbbb, (1, 2, 4, 5), (0, 3, 4, 5), optimize=True) + t2new.bbbb += tmp59.transpose((1, 0, 3, 2)) + t2new.bbbb += tmp59.transpose((1, 0, 3, 2)) + del tmp59 + tmp55 = v.bbbb.oovv.transpose((1, 0, 3, 2)).copy() + tmp55 += einsum(tmp54, (0, 1, 2, 3), t2.bbbb, (0, 4, 3, 5), (4, 1, 5, 2), optimize=True) * -2 + del tmp54 + t2new.bbbb += einsum(tmp55, (0, 1, 2, 3), t2.bbbb, (1, 4, 3, 5), (4, 0, 2, 5), optimize=True) * 2 + del tmp55 + tmp65 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (4, 0, 5, 1), (4, 2, 5, 3), optimize=True) + t2new.bbbb += tmp65 * 2 + t2new.bbbb += tmp65.transpose((0, 1, 3, 2)) * -2 + t2new.bbbb += tmp65.transpose((1, 0, 2, 3)) * -2 + t2new.bbbb += tmp65.transpose((1, 0, 3, 2)) * 2 + del tmp65 + tmp51 = einsum(v.bbbb.ovvv, (0, 1, 2, 3), t1.bb, (4, 3), (4, 0, 1, 2), optimize=True) + t2new.bbbb += tmp51.transpose((1, 0, 3, 2)) * -1 + t2new.bbbb += tmp51.transpose((0, 1, 3, 2)) + t2new.bbbb += tmp51 * -1 + t2new.bbbb += tmp51.transpose((1, 0, 2, 3)) + del tmp51 + tmp67 = f.bb.vv.transpose((1, 0)).copy() * -1 + tmp67 += tmp43 + del tmp43 + tmp67 += tmp44 * 2 + del tmp44 + t2new.bbbb += einsum(tmp67, (0, 1), t2.bbbb, (2, 3, 1, 4), (3, 2, 0, 4), optimize=True) * 2 + del tmp67 + tmp42 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.oooo, (4, 0, 5, 1), (4, 5, 2, 3), optimize=True) + t2new.abab += tmp42 * 0.5 + t2new.abab += tmp42 * 0.5 + del tmp42 + tmp50 = tmp15.copy() * 0.5 + del tmp15 + tmp50 += tmp16 + del tmp16 + t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp50, (4, 1), (0, 4, 2, 3), optimize=True) * -2 + del tmp50 + tmp49 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 5, 3), (0, 4, 1, 5), optimize=True) + t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp49, (4, 0, 5, 1), (4, 5, 2, 3), optimize=True) + del tmp49 + tmp48 = v.bbbb.ovov.transpose((2, 0, 3, 1)).copy() + tmp48 += v.bbbb.oovv.transpose((1, 0, 3, 2)) * -1 + t2new.abab += einsum(tmp48, (0, 1, 2, 3), t2.abab, (4, 0, 5, 2), (4, 1, 5, 3), optimize=True) + del tmp48 + tmp41 = v.bbaa.oovv.transpose((1, 0, 3, 2)).copy() + tmp41 += einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 4, 5, 3), (2, 4, 1, 5), optimize=True) * -1 + t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp41, (1, 4, 2, 5), (0, 4, 5, 3), optimize=True) * -1 + del tmp41 + tmp47 = f.aa.vv.transpose((1, 0)).copy() * -1 + tmp47 += tmp30.transpose((1, 0)) * 2 + tmp47 += tmp31.transpose((1, 0)) + t2new.abab += einsum(tmp47, (0, 1), t2.abab, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) * -1 + del tmp47 + tmp40 = tmp39.copy() * 2 + del tmp39 + tmp40 += tmp23 * -1 + t2new.abab += einsum(t2.bbbb, (0, 1, 2, 3), tmp40, (4, 0, 5, 2), (4, 1, 5, 3), optimize=True) * 2 + del tmp40 + tmp38 = v.aaaa.oovv.transpose((1, 0, 3, 2)).copy() + tmp38 += tmp20.transpose((1, 0, 3, 2)) * -1 + tmp38 += einsum(tmp1, (0, 1, 2, 3), t2.aaaa, (0, 4, 3, 5), (1, 4, 2, 5), optimize=True) * 2 + t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp38, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) * -1 + del tmp38 + tmp19 = einsum(v.aaaa.ovvv, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 1, 2), optimize=True) + t2new.aaaa += tmp19.transpose((1, 0, 3, 2)) * -1 + t2new.aaaa += tmp19.transpose((0, 1, 3, 2)) + t2new.aaaa += tmp19 * -1 + t2new.aaaa += tmp19.transpose((1, 0, 2, 3)) + del tmp19 + tmp36 = f.aa.vv.transpose((1, 0)).copy() * -1 + tmp36 += tmp30 * 2 + tmp36 += tmp31 + t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp36, (4, 2), (1, 0, 4, 3), optimize=True) * 2 + del tmp36 + tmp29 = v.aaaa.oovv.transpose((1, 0, 3, 2)).copy() * 0.5 + tmp29 += einsum(tmp28, (0, 1, 2, 3), t2.aaaa, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) * -1 + del tmp28 + t2new.aaaa += einsum(tmp29, (0, 1, 2, 3), t2.aaaa, (1, 4, 3, 5), (0, 4, 2, 5), optimize=True) * -4 + del tmp29 + tmp27 = einsum(v.aaaa.oooo, (0, 1, 2, 3), t2.aaaa, (3, 1, 4, 5), (0, 2, 4, 5), optimize=True) * -1 + t2new.aaaa += tmp27.transpose((1, 0, 3, 2)) + t2new.aaaa += tmp27.transpose((1, 0, 3, 2)) + del tmp27 + tmp37 = einsum(t2.aaaa, (0, 1, 2, 3), tmp12, (4, 0), (1, 4, 2, 3), optimize=True) * 4 + del tmp12 + t2new.aaaa += tmp37.transpose((1, 0, 3, 2)) + t2new.aaaa += tmp37.transpose((0, 1, 3, 2)) * -1 + del tmp37 + tmp32 = tmp30.copy() * 2 + del tmp30 + tmp32 += tmp31 + del tmp31 + t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp32, (4, 2), (1, 0, 3, 4), optimize=True) * -2 + del tmp32 + tmp26 = einsum(f.aa.oo, (0, 1), t2.aaaa, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) + t2new.aaaa += tmp26.transpose((1, 0, 3, 2)) * 2 + t2new.aaaa += tmp26.transpose((0, 1, 3, 2)) * -2 + del tmp26 + tmp25 = einsum(v.aaaa.oovv, (0, 1, 2, 3), t2.aaaa, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) + t2new.aaaa += tmp25.transpose((1, 0, 2, 3)) * 2 + t2new.aaaa += tmp25 * -2 + del tmp25 + tmp34 = einsum(tmp33, (0, 1, 2, 3), t2.aaaa, (2, 3, 4, 5), (1, 0, 4, 5), optimize=True) * -1 + del tmp33 + t2new.aaaa += tmp34.transpose((0, 1, 3, 2)) * -1 + t2new.aaaa += tmp34.transpose((0, 1, 3, 2)) * -1 + del tmp34 + tmp21 = einsum(tmp20, (0, 1, 2, 3), t2.aaaa, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) + del tmp20 + t2new.aaaa += tmp21.transpose((1, 0, 3, 2)) * 2 + t2new.aaaa += tmp21 * 2 + t2new.aaaa += tmp21.transpose((1, 0, 2, 3)) * -2 + t2new.aaaa += tmp21.transpose((0, 1, 3, 2)) * -2 + del tmp21 + tmp22 = v.aaaa.oovv.transpose((1, 0, 3, 2)).copy() + tmp22 += einsum(tmp1, (0, 1, 2, 3), t2.aaaa, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) * -2 + del tmp1 + t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp22, (4, 0, 5, 2), (1, 4, 5, 3), optimize=True) * 2 + del tmp22 + tmp18 = einsum(v.aaaa.ooov, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 4, 3), optimize=True) + t2new.aaaa += tmp18 * -1 + t2new.aaaa += tmp18.transpose((0, 1, 3, 2)) + t2new.aaaa += tmp18.transpose((1, 0, 2, 3)) + t2new.aaaa += tmp18.transpose((1, 0, 3, 2)) * -1 + del tmp18 + tmp35 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (1, 3, 4, 5), (0, 4, 2, 5), optimize=True) + t2new.aaaa += tmp35 * 2 + t2new.aaaa += tmp35.transpose((0, 1, 3, 2)) * -2 + t2new.aaaa += tmp35.transpose((1, 0, 2, 3)) * -2 + t2new.aaaa += tmp35.transpose((1, 0, 3, 2)) * 2 + del tmp35 + tmp24 = einsum(tmp23, (0, 1, 2, 3), t2.abab, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) * -1 + del tmp23 + t2new.aaaa += tmp24 + t2new.aaaa += tmp24.transpose((0, 1, 3, 2)) * -1 + del tmp24 + tmp13 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t1.bb, (4, 1), (4, 2, 0, 3), optimize=True) + t1new.bb += einsum(tmp13, (0, 1, 2, 3), t2.bbbb, (2, 1, 4, 3), (0, 4), optimize=True) * -2 + del tmp13 + tmp14 = einsum(v.aabb.ovov, (0, 1, 2, 3), t1.bb, (4, 3), (0, 4, 2, 1), optimize=True) + t1new.bb += einsum(t2.abab, (0, 1, 2, 3), tmp14, (0, 4, 1, 2), (4, 3), optimize=True) * -1 + del tmp14 + tmp3 = f.aa.ov.copy() + tmp3 += tmp0 + del tmp0 + tmp3 += tmp2 * -1 + del tmp2 + t1new.bb += einsum(tmp3, (0, 1), t2.abab, (0, 2, 1, 3), (2, 3), optimize=True) + t1new.aa += einsum(t2.aaaa, (0, 1, 2, 3), tmp3, (0, 2), (1, 3), optimize=True) * 2 + del tmp3 + tmp7 = f.bb.ov.copy() + tmp7 += tmp4 + del tmp4 + tmp7 += tmp6 * -1 + del tmp6 + t1new.bb += einsum(tmp7, (0, 1), t2.bbbb, (0, 2, 1, 3), (2, 3), optimize=True) * 2 + t1new.aa += einsum(tmp7, (0, 1), t2.abab, (2, 0, 3, 1), (2, 3), optimize=True) + del tmp7 + tmp8 = einsum(t1.aa, (0, 1), v.aabb.ovov, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) + t1new.aa += einsum(t2.abab, (0, 1, 2, 3), tmp8, (4, 0, 1, 3), (4, 2), optimize=True) * -1 + del tmp8 + tmp9 = einsum(t1.aa, (0, 1), v.aaaa.ovov, (2, 1, 3, 4), (0, 3, 2, 4), optimize=True) + t1new.aa += einsum(tmp9, (0, 1, 2, 3), t2.aaaa, (2, 1, 4, 3), (0, 4), optimize=True) * -2 + del tmp9 + t1new.aa += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ooov, (4, 0, 1, 3), (4, 2), optimize=True) * -1 + t1new.aa += einsum(v.aaaa.oovv, (0, 1, 2, 3), t1.aa, (1, 3), (0, 2), optimize=True) * -1 + t1new.aa += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ooov, (4, 0, 1, 3), (4, 2), optimize=True) * -2 + t1new.aa += einsum(t1.aa, (0, 1), f.aa.oo, (2, 0), (2, 1), optimize=True) * -1 + t1new.aa += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovvv, (1, 2, 4, 3), (0, 4), optimize=True) * -2 + t1new.aa += einsum(t1.aa, (0, 1), v.aaaa.ovov, (2, 3, 0, 1), (2, 3), optimize=True) + t1new.aa += einsum(t1.aa, (0, 1), f.aa.vv, (2, 1), (0, 2), optimize=True) + t1new.aa += einsum(v.bbaa.ovvv, (0, 1, 2, 3), t2.abab, (4, 0, 3, 1), (4, 2), optimize=True) + t1new.bb += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovoo, (0, 2, 4, 1), (4, 3), optimize=True) * -1 + t1new.bb += einsum(v.bbbb.oovv, (0, 1, 2, 3), t1.bb, (1, 3), (0, 2), optimize=True) * -1 + t1new.bb += einsum(v.bbbb.ooov, (0, 1, 2, 3), t2.bbbb, (1, 2, 4, 3), (0, 4), optimize=True) * -2 + t1new.bb += einsum(f.bb.oo, (0, 1), t1.bb, (1, 2), (0, 2), optimize=True) * -1 + t1new.bb += einsum(t1.bb, (0, 1), f.bb.vv, (2, 1), (0, 2), optimize=True) + t1new.bb += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovvv, (0, 2, 4, 3), (1, 4), optimize=True) + t1new.bb += einsum(v.bbbb.ovvv, (0, 1, 2, 3), t2.bbbb, (4, 0, 1, 3), (4, 2), optimize=True) * -2 + t1new.bb += einsum(t1.bb, (0, 1), v.bbbb.ovov, (2, 3, 0, 1), (2, 3), optimize=True) + t2new.aaaa += v.aaaa.ovov.transpose((2, 0, 3, 1)) + t2new.aaaa += v.aaaa.ovov.transpose((2, 0, 1, 3)) * -1 + t2new.aaaa += einsum(v.aaaa.vvvv, (0, 1, 2, 3), t2.aaaa, (4, 5, 1, 2), (5, 4, 3, 0), optimize=True) * 2 + t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), f.aa.vv, (4, 3), (1, 0, 2, 4), optimize=True) * -2 + t2new.abab += einsum(v.aabb.ovvv, (0, 1, 2, 3), t1.bb, (4, 3), (0, 4, 1, 2), optimize=True) + t2new.abab += v.aabb.ovov.transpose((0, 2, 1, 3)) + t2new.abab += einsum(v.aabb.ovoo, (0, 1, 2, 3), t1.bb, (3, 4), (0, 2, 1, 4), optimize=True) * -1 + t2new.abab += einsum(t2.abab, (0, 1, 2, 3), v.aabb.oovv, (4, 0, 5, 3), (4, 1, 2, 5), optimize=True) * -1 + t2new.abab += einsum(t1.aa, (0, 1), v.aabb.ooov, (2, 0, 3, 4), (2, 3, 1, 4), optimize=True) * -1 + t2new.abab += einsum(t1.aa, (0, 1), v.bbaa.ovvv, (2, 3, 4, 1), (0, 2, 4, 3), optimize=True) + t2new.abab += einsum(t2.abab, (0, 1, 2, 3), f.bb.oo, (4, 1), (0, 4, 2, 3), optimize=True) * -1 + t2new.abab += einsum(t2.abab, (0, 1, 2, 3), f.aa.oo, (4, 0), (4, 1, 2, 3), optimize=True) * -1 + t2new.abab += einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.abab, (0, 4, 1, 5), (2, 4, 3, 5), optimize=True) + t2new.abab += einsum(t2.abab, (0, 1, 2, 3), f.bb.vv, (4, 3), (0, 1, 2, 4), optimize=True) + t2new.abab += einsum(t2.abab, (0, 1, 2, 3), v.aabb.vvvv, (4, 2, 5, 3), (0, 1, 4, 5), optimize=True) + t2new.bbbb += v.bbbb.ovov.transpose((2, 0, 3, 1)) + t2new.bbbb += v.bbbb.ovov.transpose((2, 0, 1, 3)) * -1 + t2new.bbbb += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.vvvv, (4, 3, 5, 2), (1, 0, 5, 4), optimize=True) * -2 + t2new.bbbb += einsum(t2.bbbb, (0, 1, 2, 3), f.bb.vv, (4, 3), (1, 0, 2, 4), optimize=True) * -2 + + return {f"t1new": t1new, f"t2new": t2new} + diff --git a/ebcc/codegen/bootstrap_QCISD.py b/ebcc/codegen/bootstrap_QCISD.py new file mode 100644 index 00000000..264f7026 --- /dev/null +++ b/ebcc/codegen/bootstrap_QCISD.py @@ -0,0 +1,126 @@ +""" +Generate the QCISD code. +""" + +import sys + +import pdaggerq +from albert.qc._pdaggerq import import_from_pdaggerq +from albert.qc.index import Index +from albert.tensor import Tensor + +from ebcc.codegen.bootstrap_common import * + +# Get the spin case +spin = sys.argv[1] + +# Set up the code generators +code_generators = { + "einsum": EinsumCodeGen( + stdout=open(f"{spin[0].upper()}QCISD.py", "w"), + name_generator=name_generators[spin], + spin=spin, + ), +} + +# Write the preamble +for codegen in code_generators.values(): + codegen.preamble() + +# Set up pdaggerq +pq = pdaggerq.pq_helper("fermi") +pq.set_print_level(0) + +with Stopwatch("Energy"): + # Get the energy contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["1"]]) + pq.add_operator_product(1.0, ["f"]) + pq.add_operator_product(1.0, ["v"]) + pq.add_commutator(1.0, ["f"], ["t2"]) + pq.add_commutator(1.0, ["v"], ["t2"]) + pq.simplify() + terms = pq.fully_contracted_strings() + terms = remove_hf_energy(terms) + + # Get the energy in albert format + expr = import_from_pdaggerq(terms) + expr = spin_integrate(expr, spin) + output = tuple(Tensor(name="e_cc") for _ in range(len(expr))) + output, expr = optimise(output, expr, spin, strategy="exhaust") + returns = (Tensor(name="e_cc"),) + + # Generate the energy code + for codegen in code_generators.values(): + codegen( + "energy", + returns, + output, + expr, + ) + +with Stopwatch("T amplitudes"): + # Get the T1 contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["e1(i,a)"]]) + pq.add_commutator(1.0, ["f"], ["t1"]) + pq.add_commutator(1.0, ["v"], ["t1"]) + pq.add_commutator(1.0, ["f"], ["t2"]) + pq.add_commutator(1.0, ["v"], ["t2"]) + pq.add_double_commutator(1.0, ["f"], ["t1"], ["t2"]) + pq.add_double_commutator(1.0, ["v"], ["t1"], ["t2"]) + pq.simplify() + terms_t1 = pq.fully_contracted_strings() + + # Get the T2 contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["e2(i,j,b,a)"]]) + pq.add_operator_product(1.0, ["f"]) + pq.add_operator_product(1.0, ["v"]) + pq.add_commutator(1.0, ["f"], ["t1"]) + pq.add_commutator(1.0, ["v"], ["t1"]) + pq.add_commutator(1.0, ["f"], ["t2"]) + pq.add_commutator(1.0, ["v"], ["t2"]) + pq.add_double_commutator(0.5, ["f"], ["t2"], ["t2"]) + pq.add_double_commutator(0.5, ["v"], ["t2"], ["t2"]) + pq.simplify() + terms_t2 = pq.fully_contracted_strings() + + # Get the T amplitudes in albert format + terms = [terms_t1, terms_t2] + expr = [] + output = [] + returns = [] + for n in range(2): + for index_spins in get_amplitude_spins(n + 1, spin): + indices = default_indices["o"][: n + 1] + default_indices["v"][: n + 1] + indices = tuple(Index(i, index_spins[i]) for i in indices) + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + output_n = get_t_amplitude_outputs(expr_n, f"t{n+1}new") + returns_n = (Tensor(*indices, name=f"t{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + output, expr = optimise(output, expr, spin, strategy="exhaust") + + # Generate the T amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "preamble": "t1new = Namespace()\nt2new = Namespace()" if spin == "uhf" else None, + "as_dict": True, + } + else: + kwargs = {} + codegen( + "update_amps", + returns, + output, + expr, + **kwargs, + ) + +for codegen in code_generators.values(): + codegen.postamble() + codegen.stdout.close() From f30f01ab94a57b3674a91273b257b9383cd6ede7 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Thu, 18 Jul 2024 08:54:03 +0100 Subject: [PATCH 013/168] Add DCD and DCSD scripts --- ebcc/codegen/GDCD.py | 98 ++++ ebcc/codegen/GDCSD.py | 237 +++++++++ ebcc/codegen/RDCD.py | 113 +++++ ebcc/codegen/RDCSD.py | 305 ++++++++++++ ebcc/codegen/UDCD.py | 263 ++++++++++ ebcc/codegen/UDCSD.py | 853 +++++++++++++++++++++++++++++++++ ebcc/codegen/bootstrap_DCD.py | 110 +++++ ebcc/codegen/bootstrap_DCSD.py | 122 +++++ 8 files changed, 2101 insertions(+) create mode 100644 ebcc/codegen/GDCD.py create mode 100644 ebcc/codegen/GDCSD.py create mode 100644 ebcc/codegen/RDCD.py create mode 100644 ebcc/codegen/RDCSD.py create mode 100644 ebcc/codegen/UDCD.py create mode 100644 ebcc/codegen/UDCSD.py create mode 100644 ebcc/codegen/bootstrap_DCD.py create mode 100644 ebcc/codegen/bootstrap_DCSD.py diff --git a/ebcc/codegen/GDCD.py b/ebcc/codegen/GDCD.py new file mode 100644 index 00000000..52b74966 --- /dev/null +++ b/ebcc/codegen/GDCD.py @@ -0,0 +1,98 @@ +""" +Code generated by `albert`: +https://github.com/obackhouse/albert + + * date: 2024-07-18T10:45:41.806783 + * python version: 3.10.12 (main, Mar 22 2024, 16:50:05) [GCC 11.4.0] + * albert version: 0.0.0 + * caller: /home/ollie/git/albert/albert/codegen/einsum.py + * node: ollie-desktop + * system: Linux + * processor: x86_64 + * release: 6.5.0-44-generic +""" + +from ebcc import numpy as np +from ebcc.util import pack_2e, einsum, direct_sum, Namespace + + +def energy(t2=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-07-18T10:45:41.856098. + + Parameters + ---------- + t2 : array + T2 amplitudes. + v : array + Electron repulsion integrals. + + Returns + ------- + e_cc : float + Coupled cluster energy. + """ + + e_cc = einsum(v.oovv, (0, 1, 2, 3), t2, (0, 1, 2, 3), (), optimize=True) * 0.25 + + return e_cc + +def update_amps(f=None, t2=None, v=None, vs=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-07-18T10:45:42.682494. + + Parameters + ---------- + f : array + Fock matrix. + t2 : array + T2 amplitudes. + v : array + Electron repulsion integrals. + vs : array + + Returns + ------- + t2new : array + Updated T2 residuals. + """ + + tmp3 = einsum(vs, (0, 1, 2, 3), t2, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) + tmp1 = einsum(t2, (0, 1, 2, 3), v.oovv, (0, 1, 3, 4), (2, 4), optimize=True) * -1 + tmp4 = einsum(tmp3, (0, 1, 2, 3), t2, (4, 1, 5, 3), (0, 4, 2, 5), optimize=True) + del tmp3 + tmp2 = einsum(tmp1, (0, 1), t2, (2, 3, 4, 1), (2, 3, 4, 0), optimize=True) + del tmp1 + tmp6 = einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 2, 3), (0, 4), optimize=True) * -1 + tmp8 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 2, 5, 1), (4, 0, 5, 3), optimize=True) + t2new = tmp8.transpose((1, 0, 3, 2)).copy() * -1 + t2new += tmp8.transpose((1, 0, 2, 3)) + t2new += tmp8.transpose((0, 1, 3, 2)) + t2new += tmp8 * -1 + del tmp8 + tmp0 = einsum(f.oo, (0, 1), t2, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) + t2new += tmp0.transpose((1, 0, 3, 2)) + t2new += tmp0.transpose((0, 1, 3, 2)) * -1 + del tmp0 + tmp5 = tmp2.copy() * -0.25 + del tmp2 + tmp5 += tmp4 + del tmp4 + t2new += tmp5.transpose((0, 1, 3, 2)) * -1 + t2new += tmp5 + del tmp5 + tmp9 = einsum(f.vv, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4), optimize=True) + t2new += tmp9.transpose((1, 0, 3, 2)) * -1 + t2new += tmp9.transpose((1, 0, 2, 3)) + del tmp9 + tmp7 = einsum(tmp6, (0, 1), t2, (2, 1, 3, 4), (2, 0, 3, 4), optimize=True) + del tmp6 + t2new += tmp7.transpose((1, 0, 3, 2)) * -0.25 + t2new += tmp7.transpose((0, 1, 3, 2)) * 0.25 + del tmp7 + t2new += einsum(v.vvvv, (0, 1, 2, 3), t2, (4, 5, 3, 2), (5, 4, 1, 0), optimize=True) * -0.5 + t2new += v.oovv.transpose((1, 0, 3, 2)) + t2new += einsum(v.oooo, (0, 1, 2, 3), t2, (3, 2, 4, 5), (1, 0, 5, 4), optimize=True) * -0.5 + + return {f"t2new": t2new} + diff --git a/ebcc/codegen/GDCSD.py b/ebcc/codegen/GDCSD.py new file mode 100644 index 00000000..3725dfac --- /dev/null +++ b/ebcc/codegen/GDCSD.py @@ -0,0 +1,237 @@ +""" +Code generated by `albert`: +https://github.com/obackhouse/albert + + * date: 2024-07-18T10:47:32.748769 + * python version: 3.10.12 (main, Mar 22 2024, 16:50:05) [GCC 11.4.0] + * albert version: 0.0.0 + * caller: /home/ollie/git/albert/albert/codegen/einsum.py + * node: ollie-desktop + * system: Linux + * processor: x86_64 + * release: 6.5.0-44-generic +""" + +from ebcc import numpy as np +from ebcc.util import pack_2e, einsum, direct_sum, Namespace + + +def energy(f=None, t1=None, t2=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-07-18T10:47:32.905608. + + Parameters + ---------- + f : array + Fock matrix. + t1 : array + T1 amplitudes. + t2 : array + T2 amplitudes. + v : array + Electron repulsion integrals. + + Returns + ------- + e_cc : float + Coupled cluster energy. + """ + + tmp0 = t2.transpose((1, 0, 3, 2)).copy() + tmp0 += einsum(t1, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) * 2 + e_cc = einsum(tmp0, (0, 1, 2, 3), v.oovv, (0, 1, 2, 3), (), optimize=True) * 0.25 + del tmp0 + e_cc += einsum(f.ov, (0, 1), t1, (0, 1), (), optimize=True) + + return e_cc + +def update_amps(f=None, t1=None, t2=None, v=None, vs=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-07-18T10:47:38.042285. + + Parameters + ---------- + f : array + Fock matrix. + t1 : array + T1 amplitudes. + t2 : array + T2 amplitudes. + v : array + Electron repulsion integrals. + vs : array + + Returns + ------- + t1new : array + Updated T1 residuals. + t2new : array + Updated T2 residuals. + """ + + tmp3 = einsum(t1, (0, 1), v.oovv, (2, 0, 3, 1), (2, 3), optimize=True) + tmp19 = einsum(t2, (0, 1, 2, 3), f.ov, (4, 3), (4, 0, 1, 2), optimize=True) + tmp20 = einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 2, 3), (0, 1, 4, 5), optimize=True) + tmp10 = einsum(v.ooov, (0, 1, 2, 3), t2, (4, 0, 5, 3), (4, 1, 2, 5), optimize=True) * -1 + tmp12 = t2.transpose((1, 0, 3, 2)).copy() + tmp12 += einsum(t1, (0, 1), t1, (2, 3), (2, 0, 1, 3), optimize=True) * -1 + tmp6 = einsum(t1, (0, 1), v.ooov, (0, 2, 3, 1), (2, 3), optimize=True) * -1 + tmp34 = einsum(tmp3, (0, 1), t1, (2, 1), (2, 0), optimize=True) + tmp42 = einsum(t1, (0, 1), v.ovvv, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) + tmp0 = einsum(v.oovv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2), optimize=True) + tmp25 = einsum(v.oovv, (0, 1, 2, 3), t2, (4, 0, 2, 3), (4, 1), optimize=True) * -1 + tmp5 = einsum(t1, (0, 1), f.ov, (2, 1), (2, 0), optimize=True) + tmp27 = einsum(v.ooov, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2), optimize=True) + tmp7 = t2.transpose((1, 0, 3, 2)).copy() + tmp7 += einsum(t1, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) * 2 + tmp17 = einsum(vs, (0, 1, 2, 3), t2, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) + tmp21 = tmp19.transpose((0, 2, 1, 3)).copy() * -1 + del tmp19 + tmp21 += tmp20.transpose((2, 1, 0, 3)) * 0.5 + del tmp20 + tmp15 = einsum(v.oovv, (0, 1, 2, 3), t2, (0, 1, 4, 2), (4, 3), optimize=True) * -1 + tmp37 = einsum(t1, (0, 1), v.ovvv, (0, 2, 1, 3), (2, 3), optimize=True) * -1 + tmp39 = einsum(tmp3, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4), optimize=True) * -1 + tmp11 = einsum(t1, (0, 1), tmp10, (2, 0, 3, 4), (2, 3, 1, 4), optimize=True) + del tmp10 + tmp13 = einsum(tmp12, (0, 1, 2, 3), v.ovov, (0, 4, 5, 2), (1, 5, 3, 4), optimize=True) + del tmp12 + tmp32 = einsum(t1, (0, 1), v.ovvv, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) + tmp33 = einsum(t2, (0, 1, 2, 3), tmp6, (1, 4), (0, 4, 2, 3), optimize=True) * -1 + tmp35 = einsum(t2, (0, 1, 2, 3), tmp34, (4, 1), (4, 0, 2, 3), optimize=True) * -1 + del tmp34 + tmp51 = einsum(t1, (0, 1), v.oovv, (2, 0, 3, 4), (2, 1, 3, 4), optimize=True) + tmp44 = einsum(tmp42, (0, 1, 2, 3), t1, (4, 3), (0, 4, 1, 2), optimize=True) * -1 + tmp46 = einsum(t1, (0, 1), v.ooov, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) + tmp47 = einsum(t2, (0, 1, 2, 3), f.vv, (4, 3), (0, 1, 4, 2), optimize=True) + tmp30 = einsum(t2, (0, 1, 2, 3), tmp0, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) + tmp26 = einsum(t2, (0, 1, 2, 3), tmp25, (4, 1), (0, 4, 2, 3), optimize=True) + del tmp25 + tmp24 = einsum(t2, (0, 1, 2, 3), tmp5, (1, 4), (4, 0, 2, 3), optimize=True) + tmp28 = einsum(tmp7, (0, 1, 2, 3), tmp27, (4, 0, 1, 5), (4, 5, 2, 3), optimize=True) * 0.5 + del tmp27 + tmp18 = einsum(t2, (0, 1, 2, 3), tmp17, (4, 1, 5, 3), (0, 4, 2, 5), optimize=True) + del tmp17 + tmp22 = einsum(tmp21, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4), optimize=True) + del tmp21 + tmp16 = einsum(t2, (0, 1, 2, 3), tmp15, (4, 3), (0, 1, 2, 4), optimize=True) + del tmp15 + tmp38 = einsum(t2, (0, 1, 2, 3), tmp37, (4, 3), (0, 1, 2, 4), optimize=True) * -1 + del tmp37 + tmp40 = einsum(tmp39, (0, 1, 2, 3), t1, (2, 4), (0, 1, 4, 3), optimize=True) + del tmp39 + tmp50 = v.oooo.transpose((2, 3, 1, 0)).copy() * -1 + tmp50 += einsum(t1, (0, 1), tmp0, (2, 3, 4, 1), (4, 3, 0, 2), optimize=True) * -1 + t2new = einsum(tmp50, (0, 1, 2, 3), tmp7, (0, 1, 4, 5), (2, 3, 5, 4), optimize=True) * -0.5 + del tmp50 + tmp14 = tmp11.copy() + del tmp11 + tmp14 += tmp13 * -1 + del tmp13 + t2new += tmp14.transpose((1, 0, 3, 2)) + t2new += tmp14.transpose((1, 0, 2, 3)) * -1 + t2new += tmp14.transpose((0, 1, 3, 2)) * -1 + t2new += tmp14 + del tmp14 + tmp36 = tmp32.transpose((0, 1, 3, 2)).copy() * -1 + del tmp32 + tmp36 += tmp33.transpose((0, 1, 3, 2)) + del tmp33 + tmp36 += tmp35.transpose((0, 1, 3, 2)) * -1 + del tmp35 + t2new += tmp36.transpose((1, 0, 2, 3)) + t2new += tmp36 * -1 + del tmp36 + tmp52 = v.vvvv.transpose((2, 3, 1, 0)).copy() * -1 + tmp52 += einsum(t1, (0, 1), tmp51, (0, 2, 3, 4), (4, 3, 1, 2), optimize=True) * -1 + del tmp51 + t2new += einsum(tmp52, (0, 1, 2, 3), t2, (4, 5, 0, 1), (5, 4, 2, 3), optimize=True) * -0.5 + del tmp52 + tmp45 = einsum(t1, (0, 1), tmp44, (2, 3, 0, 4), (3, 2, 1, 4), optimize=True) * -1 + del tmp44 + t2new += tmp45.transpose((0, 1, 3, 2)) + t2new += tmp45 * -1 + del tmp45 + tmp43 = einsum(t2, (0, 1, 2, 3), tmp42, (4, 1, 5, 3), (4, 0, 2, 5), optimize=True) * -1 + del tmp42 + t2new += tmp43.transpose((1, 0, 3, 2)) + t2new += tmp43.transpose((1, 0, 2, 3)) * -1 + t2new += tmp43.transpose((0, 1, 3, 2)) * -1 + t2new += tmp43 + del tmp43 + tmp48 = tmp46.transpose((1, 0, 2, 3)).copy() * -1 + del tmp46 + tmp48 += tmp47.transpose((1, 0, 2, 3)) * -1 + del tmp47 + t2new += tmp48.transpose((0, 1, 3, 2)) + t2new += tmp48 * -1 + del tmp48 + tmp31 = einsum(t1, (0, 1), tmp30, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) + del tmp30 + t2new += tmp31.transpose((1, 0, 3, 2)) * -1 + t2new += tmp31.transpose((1, 0, 2, 3)) + t2new += tmp31.transpose((0, 1, 3, 2)) + t2new += tmp31 * -1 + del tmp31 + tmp49 = einsum(f.oo, (0, 1), t2, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) + t2new += tmp49.transpose((1, 0, 3, 2)) + t2new += tmp49.transpose((0, 1, 3, 2)) * -1 + del tmp49 + tmp29 = tmp24.transpose((0, 1, 3, 2)).copy() + del tmp24 + tmp29 += tmp26.transpose((0, 1, 3, 2)) * -0.25 + del tmp26 + tmp29 += tmp28.transpose((0, 1, 3, 2)) * -1 + del tmp28 + t2new += tmp29.transpose((1, 0, 2, 3)) + t2new += tmp29 * -1 + del tmp29 + tmp9 = einsum(v.vvvv, (0, 1, 2, 3), t1, (4, 2), (4, 0, 1, 3), optimize=True) * -1 + t2new += einsum(t1, (0, 1), tmp9, (2, 3, 4, 1), (0, 2, 4, 3), optimize=True) * -1 + del tmp9 + tmp23 = tmp16.copy() * -0.25 + del tmp16 + tmp23 += tmp18 + del tmp18 + tmp23 += tmp22.transpose((1, 0, 3, 2)) * -1 + del tmp22 + t2new += tmp23.transpose((0, 1, 3, 2)) * -1 + t2new += tmp23 + del tmp23 + tmp41 = tmp38.copy() + del tmp38 + tmp41 += tmp40 * -1 + del tmp40 + t2new += tmp41.transpose((0, 1, 3, 2)) * -1 + t2new += tmp41 + del tmp41 + tmp4 = f.ov.copy() + tmp4 += tmp3 + del tmp3 + t1new = einsum(t2, (0, 1, 2, 3), tmp4, (0, 2), (1, 3), optimize=True) + del tmp4 + tmp2 = t2.transpose((1, 0, 3, 2)).copy() * 0.5 + tmp2 += einsum(t1, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) + t1new += einsum(tmp2, (0, 1, 2, 3), v.ovvv, (0, 4, 2, 3), (1, 4), optimize=True) + del tmp2 + tmp8 = f.oo.transpose((1, 0)).copy() * 2 + tmp8 += tmp5 * 2 + del tmp5 + tmp8 += tmp6 * 2 + del tmp6 + tmp8 += einsum(v.oovv, (0, 1, 2, 3), tmp7, (0, 4, 2, 3), (1, 4), optimize=True) + del tmp7 + t1new += einsum(t1, (0, 1), tmp8, (0, 2), (2, 1), optimize=True) * -0.5 + del tmp8 + tmp1 = v.ooov.transpose((2, 1, 0, 3)).copy() + tmp1 += tmp0.transpose((0, 2, 1, 3)) * -1 + del tmp0 + t1new += einsum(t2, (0, 1, 2, 3), tmp1, (4, 0, 1, 2), (4, 3), optimize=True) * -0.5 + del tmp1 + t1new += einsum(v.ovov, (0, 1, 2, 3), t1, (2, 1), (0, 3), optimize=True) * -1 + t1new += f.ov + t1new += einsum(f.vv, (0, 1), t1, (2, 1), (2, 0), optimize=True) + t2new += v.oovv.transpose((1, 0, 3, 2)) + + return {f"t1new": t1new, f"t2new": t2new} + diff --git a/ebcc/codegen/RDCD.py b/ebcc/codegen/RDCD.py new file mode 100644 index 00000000..2bd0191e --- /dev/null +++ b/ebcc/codegen/RDCD.py @@ -0,0 +1,113 @@ +""" +Code generated by `albert`: +https://github.com/obackhouse/albert + + * date: 2024-07-18T10:47:22.922801 + * python version: 3.10.12 (main, Mar 22 2024, 16:50:05) [GCC 11.4.0] + * albert version: 0.0.0 + * caller: /home/ollie/git/albert/albert/codegen/einsum.py + * node: ollie-desktop + * system: Linux + * processor: x86_64 + * release: 6.5.0-44-generic +""" + +from ebcc import numpy as np +from ebcc.util import pack_2e, einsum, direct_sum, Namespace + + +def energy(t2=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-07-18T10:47:23.079638. + + Parameters + ---------- + t2 : array + T2 amplitudes. + v : array + Electron repulsion integrals. + + Returns + ------- + e_cc : float + Coupled cluster energy. + """ + + e_cc = einsum(v.ovov, (0, 1, 2, 3), t2, (0, 2, 1, 3), (), optimize=True) * 2 + e_cc += einsum(v.ovov, (0, 1, 2, 3), t2, (0, 2, 3, 1), (), optimize=True) * -1 + + return e_cc + +def update_amps(f=None, t2=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-07-18T10:47:25.024756. + + Parameters + ---------- + f : array + Fock matrix. + t2 : array + T2 amplitudes. + v : array + Electron repulsion integrals. + + Returns + ------- + t2new : array + Updated T2 residuals. + """ + + tmp6 = v.ovov.transpose((2, 0, 1, 3)).copy() * -0.5 + tmp6 += v.ovov.transpose((2, 0, 3, 1)) + tmp0 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 5, 1, 2), (0, 4, 3, 5), optimize=True) + t2new = tmp0.copy() * -1 + tmp9 = einsum(tmp6, (0, 1, 2, 3), t2, (0, 4, 2, 3), (4, 1), optimize=True) * 2 + tmp7 = einsum(t2, (0, 1, 2, 3), tmp6, (0, 1, 4, 3), (2, 4), optimize=True) + del tmp6 + tmp1 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 5, 1, 3), (0, 4, 2, 5), optimize=True) + t2new += tmp1 * 2 + tmp5 = einsum(t2, (0, 1, 2, 3), tmp0, (4, 1, 5, 3), (0, 4, 2, 5), optimize=True) + tmp10 = einsum(tmp9, (0, 1), t2, (1, 2, 3, 4), (2, 0, 3, 4), optimize=True) * 0.5 + del tmp9 + tmp8 = einsum(t2, (0, 1, 2, 3), tmp7, (4, 2), (0, 1, 3, 4), optimize=True) + del tmp7 + tmp2 = einsum(t2, (0, 1, 2, 3), f.vv, (4, 3), (0, 1, 4, 2), optimize=True) + tmp3 = einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 2), (0, 4, 3, 5), optimize=True) + tmp12 = einsum(t2, (0, 1, 2, 3), f.oo, (4, 1), (4, 0, 2, 3), optimize=True) + t2new += tmp12.transpose((1, 0, 2, 3)) * -1 + t2new += tmp12.transpose((0, 1, 3, 2)) * -1 + del tmp12 + tmp13 = v.ovov.transpose((2, 0, 3, 1)).copy() * 0.5 + tmp13 += v.oovv.transpose((1, 0, 3, 2)) * -0.25 + tmp13 += tmp1 + del tmp1 + t2new += einsum(tmp13, (0, 1, 2, 3), t2, (1, 4, 3, 5), (0, 4, 2, 5), optimize=True) * 4 + del tmp13 + tmp14 = v.ovov.transpose((2, 0, 3, 1)).copy() * -1 + tmp14 += tmp0 + del tmp0 + t2new += einsum(t2, (0, 1, 2, 3), tmp14, (4, 0, 5, 3), (4, 1, 5, 2), optimize=True) + del tmp14 + tmp11 = tmp5.copy() * 2 + del tmp5 + tmp11 += tmp8.transpose((1, 0, 2, 3)) + del tmp8 + tmp11 += tmp10.transpose((0, 1, 3, 2)) + del tmp10 + t2new += tmp11.transpose((1, 0, 3, 2)) * -1 + t2new += tmp11 * -1 + del tmp11 + tmp4 = tmp2.copy() + del tmp2 + tmp4 += tmp3 * -1 + del tmp3 + t2new += tmp4.transpose((1, 0, 2, 3)) + t2new += tmp4.transpose((0, 1, 3, 2)) + del tmp4 + t2new += v.ovov.transpose((2, 0, 3, 1)) + t2new += einsum(v.oooo, (0, 1, 2, 3), t2, (1, 2, 4, 5), (3, 0, 5, 4), optimize=True) + t2new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 3), (0, 4, 2, 5), optimize=True) * -1 + t2new += einsum(v.vvvv, (0, 1, 2, 3), t2, (4, 5, 1, 3), (5, 4, 2, 0), optimize=True) + + return {f"t2new": t2new} + diff --git a/ebcc/codegen/RDCSD.py b/ebcc/codegen/RDCSD.py new file mode 100644 index 00000000..e79c4287 --- /dev/null +++ b/ebcc/codegen/RDCSD.py @@ -0,0 +1,305 @@ +""" +Code generated by `albert`: +https://github.com/obackhouse/albert + + * date: 2024-07-18T10:53:00.318499 + * python version: 3.10.12 (main, Mar 22 2024, 16:50:05) [GCC 11.4.0] + * albert version: 0.0.0 + * caller: /home/ollie/git/albert/albert/codegen/einsum.py + * node: ollie-desktop + * system: Linux + * processor: x86_64 + * release: 6.5.0-44-generic +""" + +from ebcc import numpy as np +from ebcc.util import pack_2e, einsum, direct_sum, Namespace + + +def energy(f=None, t1=None, t2=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-07-18T10:53:00.784356. + + Parameters + ---------- + f : array + Fock matrix. + t1 : array + T1 amplitudes. + t2 : array + T2 amplitudes. + v : array + Electron repulsion integrals. + + Returns + ------- + e_cc : float + Coupled cluster energy. + """ + + tmp0 = v.ovov.transpose((2, 0, 1, 3)).copy() * -0.5 + tmp0 += v.ovov.transpose((2, 0, 3, 1)) + tmp1 = f.ov.copy() + tmp1 += einsum(tmp0, (0, 1, 2, 3), t1, (0, 2), (1, 3), optimize=True) + del tmp0 + e_cc = einsum(t1, (0, 1), tmp1, (0, 1), (), optimize=True) * 2 + del tmp1 + e_cc += einsum(t2, (0, 1, 2, 3), v.ovov, (0, 2, 1, 3), (), optimize=True) * 2 + e_cc += einsum(t2, (0, 1, 2, 3), v.ovov, (0, 3, 1, 2), (), optimize=True) * -1 + + return e_cc + +def update_amps(f=None, t1=None, t2=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-07-18T10:53:11.587302. + + Parameters + ---------- + f : array + Fock matrix. + t1 : array + T1 amplitudes. + t2 : array + T2 amplitudes. + v : array + Electron repulsion integrals. + + Returns + ------- + t1new : array + Updated T1 residuals. + t2new : array + Updated T2 residuals. + """ + + tmp3 = v.ovov.transpose((2, 0, 1, 3)).copy() * -1 + tmp3 += v.ovov.transpose((2, 0, 3, 1)) * 2 + tmp1 = einsum(v.ovov, (0, 1, 2, 3), t1, (4, 1), (4, 2, 0, 3), optimize=True) + tmp50 = einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) + tmp50 += t2.transpose((1, 0, 2, 3)) * -2 + tmp50 += t2.transpose((1, 0, 3, 2)) + tmp4 = einsum(t1, (0, 1), tmp3, (0, 2, 1, 3), (2, 3), optimize=True) + del tmp3 + tmp32 = tmp1.copy() * 2 + tmp32 += tmp1.transpose((0, 2, 1, 3)) * -1 + tmp21 = v.ovov.transpose((2, 0, 1, 3)).copy() + tmp21 += v.ovov.transpose((2, 0, 3, 1)) * -0.5 + tmp60 = einsum(t1, (0, 1), f.ov, (2, 1), (2, 0), optimize=True) + tmp48 = einsum(v.ooov, (0, 1, 2, 3), t2, (4, 1, 5, 3), (4, 0, 2, 5), optimize=True) + tmp49 = einsum(tmp1, (0, 1, 2, 3), t2, (4, 2, 3, 5), (0, 4, 1, 5), optimize=True) + tmp51 = einsum(v.ooov, (0, 1, 2, 3), tmp50, (2, 4, 5, 3), (0, 1, 4, 5), optimize=True) + del tmp50 + tmp47 = einsum(t1, (0, 1), v.oovv, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) + tmp52 = einsum(t2, (0, 1, 2, 3), tmp4, (4, 2), (4, 0, 1, 3), optimize=True) + tmp36 = v.ooov.transpose((1, 0, 2, 3)).copy() * -1 + tmp36 += v.ooov.transpose((2, 1, 0, 3)) * 2 + tmp27 = v.ovvv.transpose((0, 1, 3, 2)).copy() * 2 + tmp27 += v.ovvv.transpose((0, 3, 2, 1)) * -1 + tmp33 = einsum(t2, (0, 1, 2, 3), tmp32, (4, 0, 5, 2), (4, 5, 1, 3), optimize=True) + del tmp32 + tmp31 = einsum(tmp1, (0, 1, 2, 3), t2, (4, 1, 3, 5), (0, 4, 2, 5), optimize=True) + tmp30 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 1, 5, 2), (0, 4, 5, 3), optimize=True) + tmp15 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 0, 1, 5), (4, 2, 5, 3), optimize=True) + t2new = tmp15.transpose((1, 0, 3, 2)).copy() * -1 + tmp18 = einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 3, 5, 2), (1, 0, 4, 5), optimize=True) + tmp24 = einsum(t2, (0, 1, 2, 3), tmp21, (0, 4, 3, 2), (4, 1), optimize=True) * 2 + tmp22 = einsum(tmp21, (0, 1, 2, 3), t2, (0, 1, 3, 4), (2, 4), optimize=True) + del tmp21 + tmp61 = f.oo.transpose((1, 0)).copy() + tmp61 += tmp60 + del tmp60 + tmp58 = einsum(t2, (0, 1, 2, 3), f.ov, (4, 2), (4, 1, 0, 3), optimize=True) + tmp41 = einsum(v.ovvv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2), optimize=True) + tmp45 = t2.transpose((1, 0, 2, 3)).copy() * 2 + tmp45 += t2.transpose((1, 0, 3, 2)) * -1 + tmp43 = einsum(t1, (0, 1), v.ovvv, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) + tmp55 = einsum(t1, (0, 1), tmp4, (2, 1), (2, 0), optimize=True) + tmp53 = tmp47.transpose((0, 2, 1, 3)).copy() * -1 + del tmp47 + tmp53 += tmp48.transpose((0, 2, 1, 3)) + del tmp48 + tmp53 += tmp49.transpose((0, 2, 1, 3)) + del tmp49 + tmp53 += tmp51.transpose((2, 1, 0, 3)) + del tmp51 + tmp53 += tmp52.transpose((2, 0, 1, 3)) * -1 + del tmp52 + tmp37 = einsum(t1, (0, 1), tmp36, (0, 2, 3, 1), (2, 3), optimize=True) + del tmp36 + tmp28 = einsum(t1, (0, 1), tmp27, (0, 1, 2, 3), (2, 3), optimize=True) + del tmp27 + tmp34 = tmp1.copy() * -1 + tmp34 += tmp30 + del tmp30 + tmp34 += tmp31 + del tmp31 + tmp34 += tmp33.transpose((0, 2, 1, 3)) * -1 + del tmp33 + tmp68 = einsum(t1, (0, 1), tmp1, (2, 3, 4, 1), (2, 0, 4, 3), optimize=True) + tmp12 = v.ovov.transpose((2, 0, 1, 3)).copy() * -0.5 + tmp12 += v.ovov.transpose((2, 0, 3, 1)) + tmp20 = einsum(tmp15, (0, 1, 2, 3), t2, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) + tmp19 = einsum(t1, (0, 1), tmp18, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) + del tmp18 + tmp25 = einsum(t2, (0, 1, 2, 3), tmp24, (0, 4), (4, 1, 2, 3), optimize=True) * 0.5 + del tmp24 + tmp23 = einsum(t2, (0, 1, 2, 3), tmp22, (2, 4), (0, 1, 4, 3), optimize=True) + del tmp22 + tmp62 = einsum(tmp61, (0, 1), t2, (0, 2, 3, 4), (1, 2, 3, 4), optimize=True) + del tmp61 + tmp59 = einsum(tmp58, (0, 1, 2, 3), t1, (0, 4), (1, 2, 4, 3), optimize=True) + del tmp58 + tmp16 = einsum(t2, (0, 1, 2, 3), v.ovov, (1, 3, 4, 5), (0, 4, 2, 5), optimize=True) + t2new += tmp16.transpose((1, 0, 3, 2)) * 2 + tmp66 = einsum(v.ooov, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2), optimize=True) + tmp46 = einsum(tmp41, (0, 1, 2, 3), tmp45, (1, 4, 5, 2), (4, 0, 5, 3), optimize=True) + del tmp45 + tmp42 = einsum(v.oovv, (0, 1, 2, 3), t2, (4, 1, 3, 5), (4, 0, 5, 2), optimize=True) + tmp44 = einsum(tmp43, (0, 1, 2, 3), t2, (4, 1, 5, 3), (0, 4, 5, 2), optimize=True) + tmp56 = einsum(tmp55, (0, 1), t2, (0, 2, 3, 4), (1, 2, 3, 4), optimize=True) + del tmp55 + tmp40 = einsum(f.vv, (0, 1), t2, (2, 3, 1, 4), (3, 2, 0, 4), optimize=True) + tmp54 = einsum(tmp53, (0, 1, 2, 3), t1, (1, 4), (0, 2, 3, 4), optimize=True) + del tmp53 + tmp38 = einsum(tmp37, (0, 1), t2, (1, 2, 3, 4), (0, 2, 3, 4), optimize=True) + del tmp37 + tmp29 = einsum(t2, (0, 1, 2, 3), tmp28, (4, 2), (0, 1, 4, 3), optimize=True) + del tmp28 + tmp35 = einsum(t1, (0, 1), tmp34, (2, 3, 0, 4), (2, 3, 4, 1), optimize=True) + del tmp34 + tmp70 = v.oooo.transpose((2, 3, 1, 0)).copy() + tmp70 += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 2, 5, 3), (5, 1, 0, 4), optimize=True) + tmp70 += tmp68.transpose((3, 1, 0, 2)) + tmp64 = t2.transpose((1, 0, 3, 2)).copy() + tmp64 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) + tmp10 = v.ovov.transpose((2, 0, 1, 3)).copy() * 2 + tmp10 += v.ovov.transpose((2, 0, 3, 1)) * -1 + tmp11 = v.ooov.transpose((1, 0, 2, 3)).copy() * -0.5 + tmp11 += v.ooov.transpose((2, 1, 0, 3)) + tmp13 = f.ov.copy() * 0.5 + tmp13 += einsum(tmp12, (0, 1, 2, 3), t1, (0, 2), (1, 3), optimize=True) + del tmp12 + tmp8 = v.ovvv.transpose((0, 1, 3, 2)).copy() + tmp8 += v.ovvv.transpose((0, 3, 2, 1)) * -0.5 + tmp69 = v.oooo.transpose((2, 3, 1, 0)).copy() + tmp69 += tmp68.transpose((3, 1, 2, 0)) + del tmp68 + t2new += einsum(tmp69, (0, 1, 2, 3), t2, (0, 2, 4, 5), (1, 3, 4, 5), optimize=True) + del tmp69 + tmp26 = tmp19.copy() + del tmp19 + tmp26 += tmp20 * 2 + del tmp20 + tmp26 += tmp23.transpose((1, 0, 3, 2)) + del tmp23 + tmp26 += tmp25.transpose((1, 0, 3, 2)) + del tmp25 + t2new += tmp26.transpose((1, 0, 3, 2)) * -1 + t2new += tmp26 * -1 + del tmp26 + tmp63 = tmp59.copy() + del tmp59 + tmp63 += tmp62.transpose((0, 1, 3, 2)) + del tmp62 + t2new += tmp63.transpose((1, 0, 2, 3)) * -1 + t2new += tmp63.transpose((0, 1, 3, 2)) * -1 + del tmp63 + tmp72 = v.ovov.transpose((2, 0, 3, 1)).copy() * 0.5 + tmp72 += v.oovv.transpose((1, 0, 3, 2)) * -0.25 + tmp72 += tmp16 + del tmp16 + t2new += einsum(tmp72, (0, 1, 2, 3), t2, (1, 4, 3, 5), (4, 0, 5, 2), optimize=True) * 4 + del tmp72 + tmp73 = v.ovov.transpose((2, 0, 3, 1)).copy() * -1 + tmp73 += tmp15 + del tmp15 + t2new += einsum(tmp73, (0, 1, 2, 3), t2, (1, 4, 5, 3), (4, 0, 5, 2), optimize=True) + del tmp73 + tmp67 = einsum(tmp66, (0, 1, 2, 3), t2, (2, 3, 4, 5), (0, 1, 4, 5), optimize=True) + del tmp66 + t2new += tmp67.transpose((1, 0, 2, 3)) + t2new += tmp67.transpose((0, 1, 3, 2)) + del tmp67 + tmp17 = einsum(v.vvvv, (0, 1, 2, 3), t1, (4, 2), (4, 0, 1, 3), optimize=True) + t2new += einsum(t1, (0, 1), tmp17, (2, 3, 1, 4), (0, 2, 3, 4), optimize=True) + del tmp17 + tmp57 = tmp40.copy() + del tmp40 + tmp57 += tmp41 + del tmp41 + tmp57 += tmp42 * -1 + del tmp42 + tmp57 += tmp44 * -1 + del tmp44 + tmp57 += tmp46.transpose((1, 0, 2, 3)) + del tmp46 + tmp57 += tmp54.transpose((0, 1, 3, 2)) + del tmp54 + tmp57 += tmp56.transpose((0, 1, 3, 2)) * -1 + del tmp56 + t2new += tmp57.transpose((1, 0, 2, 3)) + t2new += tmp57.transpose((0, 1, 3, 2)) + del tmp57 + tmp39 = tmp29.transpose((1, 0, 3, 2)).copy() + del tmp29 + tmp39 += tmp35.transpose((0, 1, 3, 2)) + del tmp35 + tmp39 += tmp38.transpose((1, 0, 3, 2)) * -1 + del tmp38 + t2new += tmp39.transpose((1, 0, 3, 2)) + t2new += tmp39 + del tmp39 + tmp71 = v.ooov.transpose((1, 2, 0, 3)).copy() * -1 + tmp71 += einsum(tmp70, (0, 1, 2, 3), t1, (0, 4), (2, 1, 3, 4), optimize=True) + del tmp70 + t2new += einsum(t1, (0, 1), tmp71, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) + del tmp71 + tmp65 = einsum(tmp64, (0, 1, 2, 3), tmp43, (4, 0, 3, 5), (1, 4, 2, 5), optimize=True) + del tmp43, tmp64 + t2new += tmp65.transpose((0, 1, 3, 2)) * -1 + t2new += tmp65.transpose((1, 0, 2, 3)) * -1 + del tmp65 + tmp2 = v.ooov.transpose((1, 0, 2, 3)).copy() + tmp2 += v.ooov.transpose((1, 2, 0, 3)) * -0.5 + tmp2 += tmp1 * -0.5 + tmp2 += tmp1.transpose((0, 2, 1, 3)) + del tmp1 + t1new = einsum(t2, (0, 1, 2, 3), tmp2, (4, 1, 0, 2), (4, 3), optimize=True) * -2 + del tmp2 + tmp0 = v.ovvv.transpose((0, 1, 3, 2)).copy() * -0.5 + tmp0 += v.ovvv.transpose((0, 3, 1, 2)) + t1new += einsum(tmp0, (0, 1, 2, 3), t2, (0, 4, 2, 1), (4, 3), optimize=True) * 2 + del tmp0 + tmp14 = f.oo.transpose((1, 0)).copy() + tmp14 += einsum(tmp10, (0, 1, 2, 3), t2, (0, 4, 3, 2), (1, 4), optimize=True) + del tmp10 + tmp14 += einsum(t1, (0, 1), tmp11, (0, 2, 3, 1), (3, 2), optimize=True) * 2 + del tmp11 + tmp14 += einsum(t1, (0, 1), tmp13, (2, 1), (2, 0), optimize=True) * 2 + del tmp13 + t1new += einsum(t1, (0, 1), tmp14, (0, 2), (2, 1), optimize=True) * -1 + del tmp14 + tmp6 = t2.transpose((1, 0, 2, 3)).copy() * -1 + tmp6 += t2.transpose((1, 0, 3, 2)) * 2 + tmp7 = v.ovov.transpose((2, 0, 3, 1)).copy() * 2 + tmp7 += v.oovv.transpose((1, 0, 3, 2)) * -1 + t1new += einsum(tmp7, (0, 1, 2, 3), t1, (0, 2), (1, 3), optimize=True) + del tmp7 + tmp9 = f.vv.transpose((1, 0)).copy() * 0.5 + tmp9 += einsum(t1, (0, 1), tmp8, (0, 1, 2, 3), (3, 2), optimize=True) + del tmp8 + t1new += einsum(t1, (0, 1), tmp9, (1, 2), (0, 2), optimize=True) * 2 + del tmp9 + tmp5 = f.ov.copy() + tmp5 += tmp4 + del tmp4 + t1new += einsum(tmp5, (0, 1), tmp6, (0, 2, 1, 3), (2, 3), optimize=True) + del tmp5, tmp6 + t1new += f.ov + t2new += einsum(v.oovv, (0, 1, 2, 3), t2, (4, 1, 5, 3), (0, 4, 2, 5), optimize=True) * -1 + t2new += v.ovov.transpose((2, 0, 3, 1)) + t2new += einsum(v.vvvv, (0, 1, 2, 3), t2, (4, 5, 1, 3), (5, 4, 2, 0), optimize=True) + t2new += einsum(t1, (0, 1), v.ooov, (2, 0, 3, 4), (3, 2, 4, 1), optimize=True) * -1 + + return {f"t1new": t1new, f"t2new": t2new} + diff --git a/ebcc/codegen/UDCD.py b/ebcc/codegen/UDCD.py new file mode 100644 index 00000000..3995ddcf --- /dev/null +++ b/ebcc/codegen/UDCD.py @@ -0,0 +1,263 @@ +""" +Code generated by `albert`: +https://github.com/obackhouse/albert + + * date: 2024-07-18T10:46:51.791009 + * python version: 3.10.12 (main, Mar 22 2024, 16:50:05) [GCC 11.4.0] + * albert version: 0.0.0 + * caller: /home/ollie/git/albert/albert/codegen/einsum.py + * node: ollie-desktop + * system: Linux + * processor: x86_64 + * release: 6.5.0-44-generic +""" + +from ebcc import numpy as np +from ebcc.util import pack_2e, einsum, direct_sum, Namespace + + +def energy(t2=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-07-18T10:46:52.067075. + + Parameters + ---------- + t2 : Namespace of arrays + T2 amplitudes. + v : Namespace of arrays + Electron repulsion integrals. + + Returns + ------- + e_cc : float + Coupled cluster energy. + """ + + e_cc = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.aaaa, (0, 2, 1, 3), (), optimize=True) + e_cc += einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 2, 1, 3), (), optimize=True) + e_cc += einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (0, 2, 3, 1), (), optimize=True) * -1 + + return e_cc + +def update_amps(f=None, t2=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-07-18T10:46:59.520905. + + Parameters + ---------- + f : Namespace of arrays + Fock matrix. + t2 : Namespace of arrays + T2 amplitudes. + v : Namespace of arrays + Electron repulsion integrals. + + Returns + ------- + t2new : Namespace of arrays + Updated T2 residuals. + """ + + t1new = Namespace() + t2new = Namespace() + tmp31 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (4, 0, 5, 1), (4, 2, 5, 3), optimize=True) + tmp33 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.abab, (0, 4, 1, 5), (2, 4, 3, 5), optimize=True) + tmp21 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 4, 1, 3), (4, 2), optimize=True) + tmp22 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (1, 2, 4, 3), (0, 4), optimize=True) * -1 + tmp26 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 1, 4), (3, 4), optimize=True) + tmp27 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (0, 2, 4, 1), (4, 3), optimize=True) * -1 + tmp1 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 1, 3), (0, 4), optimize=True) + tmp0 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.aaaa, (4, 0, 3, 1), (4, 2), optimize=True) + tmp11 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 5, 3), (4, 0, 5, 1), optimize=True) + tmp14 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 5, 1, 3), (0, 4, 2, 5), optimize=True) + tmp42 = v.bbbb.ovov.transpose((2, 0, 3, 1)).copy() + tmp42 += tmp31 + tmp44 = v.aabb.ovov.transpose((0, 2, 1, 3)).copy() * 2 + tmp44 += tmp33 + tmp36 = f.bb.oo.transpose((1, 0)).copy() + tmp36 += tmp21 * 0.5 + tmp36 += tmp22 + tmp34 = einsum(t2.bbbb, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (4, 0, 5, 2), optimize=True) + tmp39 = f.bb.vv.transpose((1, 0)).copy() * -1 + tmp39 += tmp26 * 0.5 + tmp39 += tmp27 + tmp46 = v.bbbb.ovov.transpose((2, 0, 3, 1)).copy() + tmp46 += v.bbbb.oovv.transpose((1, 0, 3, 2)) * -1 + tmp46 += tmp31 + tmp5 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.aaaa, (0, 2, 4, 1), (4, 3), optimize=True) * -1 + tmp6 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 2, 4, 3), (4, 1), optimize=True) + tmp9 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 5, 3), (4, 0, 5, 1), optimize=True) + tmp2 = f.aa.oo.transpose((1, 0)).copy() * 2 + tmp2 += tmp0 * 2 + tmp2 += tmp1 + tmp17 = v.aabb.ovov.transpose((0, 2, 1, 3)).copy() + tmp17 += tmp11 * 0.5 + tmp15 = v.aaaa.ovov.transpose((2, 0, 3, 1)).copy() + tmp15 += tmp14 + tmp12 = v.aabb.ovov.transpose((0, 2, 1, 3)).copy() * 2 + tmp12 += tmp11 + tmp19 = v.aaaa.ovov.transpose((2, 0, 3, 1)).copy() + tmp19 += v.aaaa.oovv.transpose((1, 0, 3, 2)) * -1 + tmp19 += tmp14 + tmp43 = einsum(t2.bbbb, (0, 1, 2, 3), tmp42, (4, 0, 5, 2), (4, 1, 5, 3), optimize=True) * 2 + del tmp42 + t2new.bbbb = tmp43.transpose((0, 1, 3, 2)).copy() * -1 + t2new.bbbb += tmp43 + del tmp43 + tmp45 = einsum(tmp44, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) * 0.5 + del tmp44 + t2new.bbbb += tmp45.transpose((1, 0, 2, 3)) * -1 + t2new.bbbb += tmp45.transpose((1, 0, 3, 2)) + t2new.bbbb += tmp45.transpose((0, 1, 3, 2)) * -1 + t2new.bbbb += tmp45 + del tmp45 + tmp37 = einsum(t2.bbbb, (0, 1, 2, 3), tmp36, (4, 0), (4, 1, 2, 3), optimize=True) * 2 + del tmp36 + t2new.bbbb += tmp37.transpose((0, 1, 3, 2)) + t2new.bbbb += tmp37.transpose((1, 0, 3, 2)) * -1 + del tmp37 + tmp38 = einsum(v.bbbb.oovv, (0, 1, 2, 3), t2.bbbb, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) + t2new.bbbb += tmp38.transpose((1, 0, 2, 3)) * 2 + t2new.bbbb += tmp38.transpose((1, 0, 3, 2)) * -2 + del tmp38 + tmp41 = einsum(tmp34, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) + t2new.bbbb += tmp41.transpose((1, 0, 2, 3)) * -1 + t2new.bbbb += tmp41.transpose((0, 1, 3, 2)) * -1 + t2new.bbbb += tmp41.transpose((1, 0, 3, 2)) + t2new.bbbb += tmp41 + t2new.bbbb += tmp41.transpose((1, 0, 2, 3)) * -1 + t2new.bbbb += tmp41.transpose((0, 1, 3, 2)) * -1 + t2new.bbbb += tmp41.transpose((1, 0, 3, 2)) + t2new.bbbb += tmp41 + del tmp41 + tmp40 = einsum(t2.bbbb, (0, 1, 2, 3), tmp39, (4, 2), (0, 1, 4, 3), optimize=True) * 2 + del tmp39 + t2new.bbbb += tmp40.transpose((1, 0, 3, 2)) * -1 + t2new.bbbb += tmp40.transpose((1, 0, 2, 3)) + del tmp40 + tmp47 = einsum(tmp46, (0, 1, 2, 3), t2.bbbb, (1, 4, 3, 5), (0, 4, 2, 5), optimize=True) * 2 + del tmp46 + t2new.bbbb += tmp47.transpose((1, 0, 2, 3)) * -1 + t2new.bbbb += tmp47.transpose((1, 0, 3, 2)) + del tmp47 + tmp25 = f.aa.vv.transpose((1, 0)).copy() * -2 + tmp25 += tmp5.transpose((1, 0)) * 2 + tmp25 += tmp6.transpose((1, 0)) + t2new.abab = einsum(tmp25, (0, 1), t2.abab, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) * -0.5 + del tmp25 + tmp29 = v.aabb.ovov.transpose((0, 2, 1, 3)).copy() + tmp29 += einsum(v.aabb.ovov, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 1), (4, 2, 5, 3), optimize=True) + tmp29 += tmp11 * 0.5 + del tmp11 + t2new.abab += einsum(t2.bbbb, (0, 1, 2, 3), tmp29, (4, 0, 5, 2), (4, 1, 5, 3), optimize=True) * 2 + del tmp29 + tmp24 = f.aa.oo.transpose((1, 0)).copy() + tmp24 += tmp0.transpose((1, 0)) + del tmp0 + tmp24 += tmp1.transpose((1, 0)) * 0.5 + del tmp1 + t2new.abab += einsum(tmp24, (0, 1), t2.abab, (0, 2, 3, 4), (1, 2, 3, 4), optimize=True) * -1 + del tmp24 + tmp32 = v.bbbb.ovov.transpose((2, 0, 3, 1)).copy() + tmp32 += v.bbbb.oovv.transpose((1, 0, 3, 2)) * -1 + tmp32 += einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 4, 1, 5), (2, 4, 3, 5), optimize=True) * 0.5 + tmp32 += tmp31.transpose((1, 0, 3, 2)) + del tmp31 + t2new.abab += einsum(tmp32, (0, 1, 2, 3), t2.abab, (4, 0, 5, 2), (4, 1, 5, 3), optimize=True) + del tmp32 + tmp23 = f.bb.oo.transpose((1, 0)).copy() + tmp23 += tmp21.transpose((1, 0)) * 0.5 + del tmp21 + tmp23 += tmp22.transpose((1, 0)) + del tmp22 + t2new.abab += einsum(tmp23, (0, 1), t2.abab, (2, 0, 3, 4), (2, 1, 3, 4), optimize=True) * -1 + del tmp23 + tmp35 = v.aabb.ovov.transpose((0, 2, 1, 3)).copy() + tmp35 += tmp33 * 0.5 + del tmp33 + tmp35 += tmp34 + del tmp34 + t2new.abab += einsum(tmp35, (0, 1, 2, 3), t2.aaaa, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) * 2 + del tmp35 + tmp30 = v.aaaa.ovov.transpose((2, 0, 3, 1)).copy() + tmp30 += tmp14.transpose((1, 0, 3, 2)) + del tmp14 + tmp30 += tmp9.transpose((1, 0, 3, 2)) * 0.5 + t2new.abab += einsum(tmp30, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) + del tmp30 + tmp28 = f.bb.vv.transpose((1, 0)).copy() * -1 + tmp28 += tmp26.transpose((1, 0)) * 0.5 + del tmp26 + tmp28 += tmp27.transpose((1, 0)) + del tmp27 + t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp28, (3, 4), (0, 1, 2, 4), optimize=True) * -1 + del tmp28 + tmp4 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.oovv, (4, 1, 5, 3), (0, 4, 2, 5), optimize=True) + t2new.aaaa = tmp4.transpose((1, 0, 2, 3)).copy() * 2 + t2new.aaaa += tmp4.transpose((1, 0, 3, 2)) * -2 + del tmp4 + tmp8 = f.aa.vv.transpose((1, 0)).copy() * -1 + tmp8 += tmp5 + tmp8 += tmp6 * 0.5 + t2new.aaaa += einsum(tmp8, (0, 1), t2.aaaa, (2, 3, 1, 4), (3, 2, 4, 0), optimize=True) * -2 + del tmp8 + tmp3 = einsum(t2.aaaa, (0, 1, 2, 3), tmp2, (4, 0), (1, 4, 2, 3), optimize=True) + del tmp2 + t2new.aaaa += tmp3.transpose((1, 0, 3, 2)) + t2new.aaaa += tmp3.transpose((0, 1, 3, 2)) * -1 + del tmp3 + tmp7 = f.aa.vv.transpose((1, 0)).copy() * -2 + tmp7 += tmp5 * 2 + del tmp5 + tmp7 += tmp6 + del tmp6 + t2new.aaaa += einsum(tmp7, (0, 1), t2.aaaa, (2, 3, 1, 4), (3, 2, 0, 4), optimize=True) + del tmp7 + tmp18 = einsum(tmp17, (0, 1, 2, 3), t2.abab, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) + del tmp17 + t2new.aaaa += tmp18 + t2new.aaaa += tmp18.transpose((1, 0, 2, 3)) * -1 + del tmp18 + tmp16 = einsum(t2.aaaa, (0, 1, 2, 3), tmp15, (4, 0, 5, 2), (1, 4, 3, 5), optimize=True) * 2 + del tmp15 + t2new.aaaa += tmp16.transpose((1, 0, 2, 3)) * -1 + t2new.aaaa += tmp16.transpose((1, 0, 3, 2)) + del tmp16 + tmp13 = einsum(tmp12, (0, 1, 2, 3), t2.abab, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) * 0.5 + del tmp12 + t2new.aaaa += tmp13.transpose((0, 1, 3, 2)) * -1 + t2new.aaaa += tmp13.transpose((1, 0, 3, 2)) + del tmp13 + tmp20 = einsum(t2.aaaa, (0, 1, 2, 3), tmp19, (4, 0, 5, 2), (1, 4, 3, 5), optimize=True) * 2 + del tmp19 + t2new.aaaa += tmp20.transpose((0, 1, 3, 2)) * -1 + t2new.aaaa += tmp20 + del tmp20 + tmp10 = einsum(t2.aaaa, (0, 1, 2, 3), tmp9, (4, 1, 5, 3), (0, 4, 2, 5), optimize=True) + del tmp9 + t2new.aaaa += tmp10.transpose((1, 0, 2, 3)) * -1 + t2new.aaaa += tmp10.transpose((0, 1, 3, 2)) * -1 + t2new.aaaa += tmp10.transpose((1, 0, 3, 2)) + t2new.aaaa += tmp10 + t2new.aaaa += tmp10.transpose((1, 0, 2, 3)) * -1 + t2new.aaaa += tmp10.transpose((0, 1, 3, 2)) * -1 + t2new.aaaa += tmp10.transpose((1, 0, 3, 2)) + t2new.aaaa += tmp10 + del tmp10 + t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.oooo, (4, 0, 1, 5), (5, 4, 3, 2), optimize=True) * 2 + t2new.aaaa += v.aaaa.ovov.transpose((2, 0, 3, 1)) + t2new.aaaa += v.aaaa.ovov.transpose((2, 0, 1, 3)) * -1 + t2new.aaaa += einsum(v.aaaa.vvvv, (0, 1, 2, 3), t2.aaaa, (4, 5, 3, 1), (5, 4, 2, 0), optimize=True) * -2 + t2new.abab += einsum(t2.abab, (0, 1, 2, 3), v.aabb.oooo, (4, 0, 5, 1), (4, 5, 2, 3), optimize=True) + t2new.abab += einsum(v.aaaa.oovv, (0, 1, 2, 3), t2.abab, (1, 4, 3, 5), (0, 4, 2, 5), optimize=True) * -1 + t2new.abab += einsum(t2.abab, (0, 1, 2, 3), v.aabb.oovv, (4, 0, 5, 3), (4, 1, 2, 5), optimize=True) * -1 + t2new.abab += v.aabb.ovov.transpose((0, 2, 1, 3)) + t2new.abab += einsum(t2.abab, (0, 1, 2, 3), v.aabb.vvvv, (4, 2, 5, 3), (0, 1, 4, 5), optimize=True) + t2new.abab += einsum(t2.abab, (0, 1, 2, 3), v.bbaa.oovv, (4, 1, 5, 2), (0, 4, 5, 3), optimize=True) * -1 + t2new.bbbb += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.oooo, (4, 1, 5, 0), (5, 4, 3, 2), optimize=True) * -2 + t2new.bbbb += v.bbbb.ovov.transpose((2, 0, 3, 1)) + t2new.bbbb += v.bbbb.ovov.transpose((2, 0, 1, 3)) * -1 + t2new.bbbb += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.vvvv, (4, 2, 3, 5), (1, 0, 5, 4), optimize=True) * 2 + + return {f"t2new": t2new} + diff --git a/ebcc/codegen/UDCSD.py b/ebcc/codegen/UDCSD.py new file mode 100644 index 00000000..9740bb63 --- /dev/null +++ b/ebcc/codegen/UDCSD.py @@ -0,0 +1,853 @@ +""" +Code generated by `albert`: +https://github.com/obackhouse/albert + + * date: 2024-07-18T10:48:00.754172 + * python version: 3.10.12 (main, Mar 22 2024, 16:50:05) [GCC 11.4.0] + * albert version: 0.0.0 + * caller: /home/ollie/git/albert/albert/codegen/einsum.py + * node: ollie-desktop + * system: Linux + * processor: x86_64 + * release: 6.5.0-44-generic +""" + +from ebcc import numpy as np +from ebcc.util import pack_2e, einsum, direct_sum, Namespace + + +def energy(f=None, t1=None, t2=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-07-18T10:48:01.458064. + + Parameters + ---------- + f : Namespace of arrays + Fock matrix. + t1 : Namespace of arrays + T1 amplitudes. + t2 : Namespace of arrays + T2 amplitudes. + v : Namespace of arrays + Electron repulsion integrals. + + Returns + ------- + e_cc : float + Coupled cluster energy. + """ + + tmp2 = v.aaaa.ovov.transpose((2, 0, 1, 3)).copy() * -1 + tmp2 += v.aaaa.ovov.transpose((2, 0, 3, 1)) + tmp0 = v.bbbb.ovov.transpose((2, 0, 1, 3)).copy() * -1 + tmp0 += v.bbbb.ovov.transpose((2, 0, 3, 1)) + tmp3 = f.aa.ov.copy() * 2 + tmp3 += einsum(t1.aa, (0, 1), tmp2, (0, 2, 3, 1), (2, 3), optimize=True) * -1 + del tmp2 + e_cc = einsum(t1.aa, (0, 1), tmp3, (0, 1), (), optimize=True) * 0.5 + del tmp3 + tmp1 = f.bb.ov.copy() + tmp1 += einsum(t1.aa, (0, 1), v.aabb.ovov, (0, 1, 2, 3), (2, 3), optimize=True) + tmp1 += einsum(t1.bb, (0, 1), tmp0, (0, 2, 3, 1), (2, 3), optimize=True) * -0.5 + del tmp0 + e_cc += einsum(tmp1, (0, 1), t1.bb, (0, 1), (), optimize=True) + del tmp1 + e_cc += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (0, 3, 1, 2), (), optimize=True) * -1 + e_cc += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (0, 3, 1, 2), (), optimize=True) * -1 + e_cc += einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 2, 1, 3), (), optimize=True) + + return e_cc + +def update_amps(f=None, t1=None, t2=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-07-18T10:48:34.351126. + + Parameters + ---------- + f : Namespace of arrays + Fock matrix. + t1 : Namespace of arrays + T1 amplitudes. + t2 : Namespace of arrays + T2 amplitudes. + v : Namespace of arrays + Electron repulsion integrals. + + Returns + ------- + t1new : Namespace of arrays + Updated T1 residuals. + t2new : Namespace of arrays + Updated T2 residuals. + """ + + t1new = Namespace() + t2new = Namespace() + tmp36 = v.bbbb.ovov.transpose((2, 0, 1, 3)).copy() * -1 + tmp36 += v.bbbb.ovov.transpose((2, 0, 3, 1)) + tmp20 = v.aaaa.ovov.transpose((2, 0, 1, 3)).copy() * -1 + tmp20 += v.aaaa.ovov.transpose((2, 0, 3, 1)) + tmp37 = einsum(t1.bb, (0, 1), tmp36, (0, 2, 3, 1), (2, 3), optimize=True) + del tmp36 + tmp10 = einsum(t1.aa, (0, 1), v.aabb.ovov, (0, 1, 2, 3), (2, 3), optimize=True) + t1new.bb = tmp10.copy() + tmp26 = einsum(t1.bb, (0, 1), v.bbbb.ovov, (2, 1, 3, 4), (0, 3, 2, 4), optimize=True) + tmp21 = einsum(t1.aa, (0, 1), tmp20, (0, 2, 3, 1), (2, 3), optimize=True) + del tmp20 + tmp0 = einsum(v.aabb.ovov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1), optimize=True) + t1new.aa = tmp0.copy() + tmp1 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t1.aa, (4, 1), (4, 2, 0, 3), optimize=True) + tmp35 = v.bbbb.ooov.transpose((1, 0, 2, 3)).copy() * -1 + tmp35 += v.bbbb.ooov.transpose((1, 2, 0, 3)) + tmp38 = f.bb.ov.copy() + tmp38 += tmp10 + tmp38 += tmp37 * -1 + del tmp37 + tmp116 = v.bbbb.ovvv.transpose((0, 1, 3, 2)).copy() * -1 + tmp116 += v.bbbb.ovvv.transpose((0, 3, 1, 2)) + tmp11 = v.bbbb.ovov.transpose((2, 0, 1, 3)).copy() * -1 + tmp11 += v.bbbb.ovov.transpose((2, 0, 3, 1)) + tmp139 = v.bbbb.ooov.transpose((1, 0, 2, 3)).copy() * -1 + tmp139 += v.bbbb.ooov.transpose((2, 1, 0, 3)) + tmp166 = einsum(v.bbbb.ooov, (0, 1, 2, 3), t1.bb, (4, 3), (4, 0, 1, 2), optimize=True) + tmp203 = tmp26.copy() * -1 + tmp203 += tmp26.transpose((0, 2, 1, 3)) + tmp201 = v.bbbb.ovvv.transpose((0, 1, 3, 2)).copy() * -1 + tmp201 += v.bbbb.ovvv.transpose((0, 3, 1, 2)) + tmp7 = v.aaaa.ovov.transpose((2, 0, 1, 3)).copy() * -1 + tmp7 += v.aaaa.ovov.transpose((2, 0, 3, 1)) + tmp64 = einsum(t1.aa, (0, 1), v.aaaa.ooov, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) + tmp22 = f.aa.ov.copy() + tmp22 += tmp0 + tmp22 += tmp21 * -1 + del tmp21 + tmp59 = v.aaaa.ovvv.transpose((0, 1, 3, 2)).copy() * -1 + tmp59 += v.aaaa.ovvv.transpose((0, 3, 1, 2)) + tmp100 = v.aaaa.ovvv.transpose((0, 1, 3, 2)).copy() * -1 + tmp100 += v.aaaa.ovvv.transpose((0, 3, 1, 2)) + tmp102 = tmp1.copy() + tmp102 += tmp1.transpose((0, 2, 1, 3)) * -1 + tmp18 = v.aaaa.ooov.transpose((1, 0, 2, 3)).copy() + tmp18 += v.aaaa.ooov.transpose((2, 1, 0, 3)) * -1 + tmp34 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (1, 3, 4, 2), (0, 4), optimize=True) + tmp156 = einsum(tmp35, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1), optimize=True) + tmp33 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 4, 1, 3), (4, 2), optimize=True) + tmp32 = einsum(t1.aa, (0, 1), v.aabb.ovoo, (0, 1, 2, 3), (2, 3), optimize=True) + tmp28 = einsum(v.aabb.ovov, (0, 1, 2, 3), t1.bb, (4, 3), (0, 4, 2, 1), optimize=True) + tmp114 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 2, 1, 4), (4, 3), optimize=True) + tmp118 = einsum(tmp38, (0, 1), t1.bb, (0, 2), (2, 1), optimize=True) + tmp113 = einsum(t1.aa, (0, 1), v.aabb.ovvv, (0, 1, 2, 3), (2, 3), optimize=True) + tmp115 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (0, 4, 1, 3), (2, 4), optimize=True) + tmp117 = einsum(tmp116, (0, 1, 2, 3), t1.bb, (0, 2), (1, 3), optimize=True) + del tmp116 + tmp12 = einsum(t1.bb, (0, 1), tmp11, (0, 2, 3, 1), (2, 3), optimize=True) + del tmp11 + tmp138 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (4, 0, 5, 1), (4, 2, 5, 3), optimize=True) + t2new.bbbb = tmp138.copy() * 2 + t2new.bbbb += tmp138.transpose((0, 1, 3, 2)) * -2 + t2new.bbbb += tmp138.transpose((1, 0, 2, 3)) * -2 + t2new.bbbb += tmp138.transpose((1, 0, 3, 2)) * 2 + tmp160 = einsum(tmp139, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 4, 3), optimize=True) + tmp175 = einsum(t1.bb, (0, 1), v.bbbb.ovvv, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) + t2new.bbbb += tmp175.transpose((1, 0, 3, 2)) * -1 + t2new.bbbb += tmp175.transpose((0, 1, 3, 2)) + t2new.bbbb += tmp175 * -1 + t2new.bbbb += tmp175.transpose((1, 0, 2, 3)) + tmp176 = v.bbbb.ovvv.transpose((0, 1, 3, 2)).copy() + tmp176 += v.bbbb.ovvv.transpose((0, 3, 1, 2)) * -1 + tmp169 = einsum(tmp166, (0, 1, 2, 3), t1.bb, (3, 4), (0, 2, 1, 4), optimize=True) + tmp168 = einsum(v.bbbb.oovv, (0, 1, 2, 3), t1.bb, (4, 3), (4, 0, 1, 2), optimize=True) + tmp190 = einsum(tmp26, (0, 1, 2, 3), t1.bb, (4, 3), (0, 4, 2, 1), optimize=True) + tmp204 = einsum(t1.bb, (0, 1), tmp203, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) + del tmp203 + tmp202 = einsum(t1.bb, (0, 1), tmp201, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) + del tmp201 + tmp8 = einsum(t1.aa, (0, 1), tmp7, (0, 2, 3, 1), (2, 3), optimize=True) + del tmp7 + tmp3 = einsum(t1.aa, (0, 1), v.aabb.ovov, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) + tmp74 = v.aaaa.ovvv.transpose((0, 1, 3, 2)).copy() + tmp74 += v.aaaa.ovvv.transpose((0, 3, 1, 2)) * -1 + tmp89 = einsum(tmp1, (0, 1, 2, 3), t1.aa, (4, 3), (0, 4, 2, 1), optimize=True) + tmp73 = einsum(v.aaaa.ovvv, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 1, 2), optimize=True) + t2new.aaaa = tmp73.transpose((1, 0, 3, 2)).copy() * -1 + t2new.aaaa += tmp73.transpose((0, 1, 3, 2)) + t2new.aaaa += tmp73 * -1 + t2new.aaaa += tmp73.transpose((1, 0, 2, 3)) + tmp51 = einsum(t1.aa, (0, 1), v.aabb.ooov, (2, 0, 3, 4), (2, 3, 1, 4), optimize=True) + t2new.abab = tmp51.copy() * -1 + tmp52 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.abab, (4, 0, 5, 1), (4, 2, 5, 3), optimize=True) + tmp66 = einsum(v.aaaa.oovv, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 1, 2), optimize=True) + tmp67 = einsum(tmp64, (0, 1, 2, 3), t1.aa, (3, 4), (0, 2, 1, 4), optimize=True) + tmp61 = einsum(t1.aa, (0, 1), tmp22, (0, 2), (1, 2), optimize=True) + tmp60 = einsum(t1.aa, (0, 1), tmp59, (0, 2, 1, 3), (2, 3), optimize=True) + del tmp59 + tmp56 = einsum(v.bbaa.ovvv, (0, 1, 2, 3), t1.bb, (0, 1), (2, 3), optimize=True) + tmp57 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.aaaa, (0, 2, 4, 3), (4, 1), optimize=True) + tmp58 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 2, 4, 3), (4, 1), optimize=True) + tmp101 = einsum(tmp100, (0, 1, 2, 3), t1.aa, (4, 1), (4, 0, 2, 3), optimize=True) + tmp103 = einsum(t1.aa, (0, 1), tmp102, (2, 0, 3, 4), (2, 3, 1, 4), optimize=True) + del tmp102 + tmp47 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (1, 3, 4, 5), (0, 4, 2, 5), optimize=True) + t2new.aaaa += tmp47 * 2 + t2new.aaaa += tmp47.transpose((0, 1, 3, 2)) * -2 + t2new.aaaa += tmp47.transpose((1, 0, 2, 3)) * -2 + t2new.aaaa += tmp47.transpose((1, 0, 3, 2)) * 2 + tmp48 = einsum(t1.aa, (0, 1), tmp18, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) + tmp17 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 1, 3), (4, 0), optimize=True) + tmp16 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.aaaa, (4, 0, 1, 3), (4, 2), optimize=True) * -1 + tmp19 = einsum(t1.aa, (0, 1), tmp18, (0, 2, 3, 1), (2, 3), optimize=True) + del tmp18 + tmp15 = einsum(t1.bb, (0, 1), v.aabb.ooov, (2, 3, 0, 1), (2, 3), optimize=True) + tmp157 = f.bb.oo.transpose((1, 0)).copy() + tmp157 += tmp32.transpose((1, 0)) + tmp157 += tmp33.transpose((1, 0)) * 0.5 + tmp157 += tmp34.transpose((1, 0)) + tmp157 += tmp156.transpose((1, 0)) * -1 + del tmp156 + tmp148 = einsum(tmp28, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 3, 4), optimize=True) + tmp111 = einsum(t2.abab, (0, 1, 2, 3), v.aaaa.ovov, (0, 2, 4, 5), (4, 1, 5, 3), optimize=True) + t2new.abab += tmp111 + tmp124 = einsum(t1.bb, (0, 1), v.aabb.ovvv, (2, 3, 4, 1), (2, 0, 3, 4), optimize=True) + t2new.abab += tmp124 + tmp186 = v.bbbb.ooov.transpose((1, 0, 2, 3)).copy() * -1 + tmp186 += v.bbbb.ooov.transpose((2, 1, 0, 3)) + tmp119 = f.bb.vv.transpose((1, 0)).copy() * -1 + tmp119 += tmp113.transpose((1, 0)) * -1 + del tmp113 + tmp119 += tmp114.transpose((1, 0)) * 0.5 + del tmp114 + tmp119 += tmp115.transpose((1, 0)) + del tmp115 + tmp119 += tmp117 * -1 + del tmp117 + tmp119 += tmp118.transpose((1, 0)) + del tmp118 + t2new.abab += einsum(tmp119, (0, 1), t2.abab, (2, 3, 4, 0), (2, 3, 4, 1), optimize=True) * -1 + tmp141 = einsum(v.aabb.ovoo, (0, 1, 2, 3), t1.bb, (3, 4), (0, 2, 1, 4), optimize=True) + tmp198 = v.bbbb.ovvv.transpose((0, 1, 3, 2)).copy() + tmp198 += einsum(v.bbbb.ovov, (0, 1, 2, 3), t1.bb, (2, 4), (0, 3, 1, 4), optimize=True) + tmp13 = f.bb.ov.copy() + tmp13 += tmp10 + del tmp10 + tmp13 += tmp12 * -1 + del tmp12 + t1new.bb += einsum(t2.bbbb, (0, 1, 2, 3), tmp13, (0, 2), (1, 3), optimize=True) * 2 + t1new.aa += einsum(t2.abab, (0, 1, 2, 3), tmp13, (1, 3), (0, 2), optimize=True) + tmp155 = einsum(t1.bb, (0, 1), v.bbbb.oooo, (2, 3, 0, 4), (2, 3, 4, 1), optimize=True) + t2new.bbbb += einsum(tmp155, (0, 1, 2, 3), t1.bb, (1, 4), (2, 0, 3, 4), optimize=True) + tmp29 = v.aabb.ovoo.transpose((0, 3, 2, 1)).copy() + tmp29 += tmp28.transpose((0, 2, 1, 3)) + t1new.bb += einsum(t2.abab, (0, 1, 2, 3), tmp29, (0, 1, 4, 2), (4, 3), optimize=True) * -1 + tmp161 = v.bbbb.oovv.transpose((1, 0, 3, 2)).copy() * -1 + tmp161 += tmp138 + tmp161 += tmp160.transpose((1, 0, 2, 3)) * -1 + del tmp160 + tmp194 = einsum(t1.bb, (0, 1), v.bbbb.vvvv, (2, 1, 3, 4), (0, 3, 4, 2), optimize=True) + tmp196 = einsum(t1.bb, (0, 1), tmp175, (2, 3, 1, 4), (0, 2, 3, 4), optimize=True) + del tmp175 + tmp112 = einsum(t2.bbbb, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (4, 0, 5, 2), optimize=True) + t2new.abab += tmp112 * 2 + tmp177 = einsum(t1.bb, (0, 1), tmp176, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) + del tmp176 + tmp183 = t2.bbbb.transpose((1, 0, 3, 2)).copy() + tmp183 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1), optimize=True) * -1 + tmp170 = tmp168.transpose((0, 2, 1, 3)).copy() + tmp170 += tmp169.transpose((0, 2, 1, 3)) * -1 + tmp178 = v.bbbb.ooov.transpose((1, 0, 2, 3)).copy() * -1 + tmp178 += v.bbbb.ooov.transpose((1, 2, 0, 3)) + tmp178 += tmp26 + tmp178 += tmp26.transpose((0, 2, 1, 3)) * -1 + tmp192 = einsum(tmp190, (0, 1, 2, 3), t1.bb, (2, 4), (1, 0, 3, 4), optimize=True) + tmp205 = tmp202.transpose((0, 1, 3, 2)).copy() * -1 + del tmp202 + tmp205 += tmp204 * -1 + del tmp204 + tmp45 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 5, 3), (4, 0, 5, 1), optimize=True) + t2new.aaaa += tmp45 + t2new.aaaa += tmp45.transpose((0, 1, 3, 2)) * -1 + t2new.aaaa += tmp45.transpose((1, 0, 2, 3)) * -1 + t2new.aaaa += tmp45.transpose((1, 0, 3, 2)) + tmp125 = v.aaaa.ooov.transpose((1, 0, 2, 3)).copy() * -1 + tmp125 += v.aaaa.ooov.transpose((2, 1, 0, 3)) + tmp143 = v.bbaa.ovvv.transpose((0, 3, 2, 1)).copy() + tmp143 += einsum(t1.aa, (0, 1), v.aabb.ovov, (0, 2, 3, 4), (3, 1, 2, 4), optimize=True) * -1 + tmp9 = f.aa.ov.copy() + tmp9 += tmp0 + del tmp0 + tmp9 += tmp8 * -1 + del tmp8 + t1new.bb += einsum(tmp9, (0, 1), t2.abab, (0, 2, 1, 3), (2, 3), optimize=True) + t1new.aa += einsum(t2.aaaa, (0, 1, 2, 3), tmp9, (0, 2), (1, 3), optimize=True) * 2 + tmp84 = einsum(t1.aa, (0, 1), tmp3, (2, 0, 3, 4), (2, 3, 1, 4), optimize=True) + t2new.abab += tmp84 * -1 + tmp78 = einsum(v.bbaa.ovvv, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 2, 1), optimize=True) + tmp127 = v.aabb.ovoo.transpose((0, 3, 2, 1)).copy() + tmp127 += tmp28 + tmp137 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 4, 1, 5), (4, 2, 5, 3), optimize=True) + t2new.bbbb += tmp137 + t2new.bbbb += tmp137.transpose((0, 1, 3, 2)) * -1 + t2new.bbbb += tmp137.transpose((1, 0, 2, 3)) * -1 + t2new.bbbb += tmp137.transpose((1, 0, 3, 2)) + tmp146 = tmp26.copy() + tmp146 += tmp26.transpose((0, 2, 1, 3)) * -1 + tmp145 = v.bbbb.ovvv.transpose((0, 1, 3, 2)).copy() + tmp145 += v.bbbb.ovvv.transpose((0, 3, 2, 1)) * -1 + tmp133 = tmp1.copy() * -1 + tmp133 += tmp1.transpose((0, 2, 1, 3)) + tmp75 = einsum(t1.aa, (0, 1), tmp74, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) + del tmp74 + tmp82 = t2.aaaa.transpose((1, 0, 3, 2)).copy() + tmp82 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 3, 1), optimize=True) * -1 + tmp93 = einsum(t1.aa, (0, 1), tmp89, (2, 3, 0, 4), (3, 2, 4, 1), optimize=True) + tmp42 = einsum(t1.aa, (0, 1), v.aaaa.oooo, (2, 3, 0, 4), (2, 3, 4, 1), optimize=True) + t2new.aaaa += einsum(t1.aa, (0, 1), tmp42, (2, 0, 3, 4), (3, 2, 4, 1), optimize=True) + tmp95 = einsum(t1.aa, (0, 1), tmp73, (2, 3, 1, 4), (0, 2, 3, 4), optimize=True) + del tmp73 + tmp86 = v.aaaa.ooov.transpose((1, 0, 2, 3)).copy() * -1 + tmp86 += v.aaaa.ooov.transpose((2, 1, 0, 3)) + tmp4 = v.aabb.ooov.transpose((1, 0, 2, 3)).copy() + tmp4 += tmp3.transpose((1, 0, 2, 3)) + t1new.aa += einsum(tmp4, (0, 1, 2, 3), t2.abab, (0, 2, 4, 3), (1, 4), optimize=True) * -1 + tmp91 = einsum(t1.aa, (0, 1), v.aaaa.vvvv, (2, 1, 3, 4), (0, 3, 4, 2), optimize=True) + tmp53 = tmp51.copy() * 2 + tmp53 += tmp52 * -1 + tmp68 = tmp66.transpose((0, 2, 1, 3)).copy() + tmp68 += tmp67.transpose((0, 2, 1, 3)) * -1 + tmp62 = f.aa.vv.transpose((1, 0)).copy() * -1 + tmp62 += tmp56.transpose((1, 0)) * -1 + del tmp56 + tmp62 += tmp57.transpose((1, 0)) + del tmp57 + tmp62 += tmp58.transpose((1, 0)) * 0.5 + del tmp58 + tmp62 += tmp60 * -1 + del tmp60 + tmp62 += tmp61.transpose((1, 0)) + del tmp61 + t2new.abab += einsum(tmp62, (0, 1), t2.abab, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) * -1 + tmp97 = v.aaaa.ovvv.transpose((0, 1, 3, 2)).copy() + tmp97 += einsum(v.aaaa.ovov, (0, 1, 2, 3), t1.aa, (2, 4), (0, 3, 1, 4), optimize=True) + tmp104 = tmp101.transpose((0, 1, 3, 2)).copy() * -1 + del tmp101 + tmp104 += tmp103 * -1 + del tmp103 + tmp49 = v.aaaa.oovv.transpose((1, 0, 3, 2)).copy() * -1 + tmp49 += tmp47 + tmp49 += tmp48 * -1 + del tmp48 + tmp76 = v.aaaa.ooov.transpose((1, 0, 2, 3)).copy() + tmp76 += v.aaaa.ooov.transpose((1, 2, 0, 3)) * -1 + tmp76 += tmp1 * -1 + tmp76 += tmp1.transpose((0, 2, 1, 3)) + tmp43 = f.aa.oo.transpose((1, 0)).copy() + tmp43 += tmp15.transpose((1, 0)) + tmp43 += tmp16.transpose((1, 0)) + tmp43 += tmp17.transpose((1, 0)) * 0.5 + tmp43 += tmp19.transpose((1, 0)) * -1 + t2new.abab += einsum(tmp43, (0, 1), t2.abab, (0, 2, 3, 4), (1, 2, 3, 4), optimize=True) * -1 + tmp23 = einsum(t1.aa, (0, 1), tmp22, (2, 1), (0, 2), optimize=True) + del tmp22 + t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp23, (4, 0), (1, 4, 3, 2), optimize=True) * -2 + tmp120 = einsum(tmp38, (0, 1), t1.bb, (2, 1), (2, 0), optimize=True) + t2new.bbbb += einsum(tmp120, (0, 1), t2.bbbb, (1, 2, 3, 4), (2, 0, 4, 3), optimize=True) * -2 + t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp120, (4, 1), (0, 4, 2, 3), optimize=True) * -1 + del tmp120 + tmp158 = einsum(tmp157, (0, 1), t2.bbbb, (0, 2, 3, 4), (2, 1, 3, 4), optimize=True) * 2 + del tmp157 + t2new.bbbb += tmp158.transpose((1, 0, 3, 2)) + t2new.bbbb += tmp158.transpose((0, 1, 3, 2)) * -1 + del tmp158 + tmp172 = einsum(tmp169, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 4, 3), optimize=True) + del tmp169 + t2new.bbbb += tmp172.transpose((0, 1, 3, 2)) + t2new.bbbb += tmp172 * -1 + del tmp172 + tmp185 = tmp124.copy() + tmp185 += tmp111 * 0.5 + tmp185 += tmp148 * -1 + t2new.bbbb += einsum(tmp185, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) + del tmp185 + tmp154 = einsum(v.bbbb.oooo, (0, 1, 2, 3), t2.bbbb, (1, 2, 4, 5), (0, 3, 4, 5), optimize=True) + t2new.bbbb += tmp154.transpose((1, 0, 3, 2)) + t2new.bbbb += tmp154.transpose((1, 0, 3, 2)) + del tmp154 + tmp200 = einsum(t1.bb, (0, 1), tmp26, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) + t2new.bbbb += tmp200 * -1 + t2new.bbbb += tmp200.transpose((1, 0, 2, 3)) + del tmp200 + tmp207 = tmp124.copy() * -1 + tmp207 += tmp148 + t2new.bbbb += einsum(tmp207, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) * -1 + del tmp207 + tmp187 = v.bbbb.oovv.transpose((1, 0, 3, 2)).copy() + tmp187 += einsum(tmp186, (0, 1, 2, 3), t1.bb, (0, 4), (2, 1, 4, 3), optimize=True) * -1 + del tmp186 + t2new.bbbb += einsum(t2.bbbb, (0, 1, 2, 3), tmp187, (0, 4, 5, 2), (1, 4, 3, 5), optimize=True) * -2 + del tmp187 + tmp165 = einsum(t2.bbbb, (0, 1, 2, 3), tmp119, (2, 4), (0, 1, 3, 4), optimize=True) * 2 + del tmp119 + t2new.bbbb += tmp165.transpose((1, 0, 2, 3)) * -1 + t2new.bbbb += tmp165.transpose((1, 0, 3, 2)) + del tmp165 + tmp173 = einsum(tmp168, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 4, 3), optimize=True) + del tmp168 + t2new.bbbb += tmp173.transpose((0, 1, 3, 2)) * -1 + t2new.bbbb += tmp173 + del tmp173 + tmp163 = tmp141.copy() * 2 + tmp163 += tmp111 * -1 + t2new.bbbb += einsum(tmp163, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) * -0.5 + del tmp163 + tmp199 = v.bbbb.vvvv.transpose((2, 3, 1, 0)).copy() * -1 + tmp199 += einsum(t1.bb, (0, 1), tmp198, (0, 2, 3, 4), (2, 1, 4, 3), optimize=True) + del tmp198 + t2new.bbbb += einsum(tmp199, (0, 1, 2, 3), t2.bbbb, (4, 5, 0, 3), (5, 4, 2, 1), optimize=True) * -2 + del tmp199 + tmp167 = einsum(tmp166, (0, 1, 2, 3), t2.bbbb, (3, 2, 4, 5), (0, 1, 4, 5), optimize=True) * -1 + del tmp166 + t2new.bbbb += tmp167.transpose((0, 1, 3, 2)) * 2 + t2new.bbbb += tmp167.transpose((1, 0, 3, 2)) * -2 + del tmp167 + tmp174 = einsum(tmp13, (0, 1), t1.bb, (2, 1), (2, 0), optimize=True) + del tmp13 + t2new.bbbb += einsum(tmp174, (0, 1), t2.bbbb, (1, 2, 3, 4), (0, 2, 4, 3), optimize=True) * 2 + del tmp174 + tmp164 = v.bbbb.ooov.transpose((1, 0, 2, 3)).copy() + tmp164 += tmp155.transpose((1, 0, 2, 3)) * -1 + del tmp155 + t2new.bbbb += einsum(tmp164, (0, 1, 2, 3), t1.bb, (0, 4), (1, 2, 3, 4), optimize=True) + del tmp164 + tmp180 = tmp124.copy() * -1 + tmp180 += tmp111 * -0.5 + tmp180 += einsum(tmp29, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 3, 4), optimize=True) + del tmp29 + t2new.bbbb += einsum(tmp180, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (4, 1, 3, 5), optimize=True) + del tmp180 + tmp162 = einsum(t2.bbbb, (0, 1, 2, 3), tmp161, (4, 0, 5, 2), (1, 4, 3, 5), optimize=True) * 2 + del tmp161 + t2new.bbbb += tmp162.transpose((1, 0, 2, 3)) * -1 + t2new.bbbb += tmp162.transpose((1, 0, 3, 2)) + del tmp162 + tmp195 = einsum(t1.bb, (0, 1), tmp194, (2, 3, 1, 4), (0, 2, 3, 4), optimize=True) + del tmp194 + t2new.bbbb += tmp195.transpose((0, 1, 3, 2)) * -1 + t2new.bbbb += tmp195 + del tmp195 + tmp197 = einsum(tmp196, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 4, 3), optimize=True) + del tmp196 + t2new.bbbb += tmp197.transpose((1, 0, 2, 3)) + t2new.bbbb += tmp197 * -1 + t2new.bbbb += tmp197.transpose((1, 0, 3, 2)) * -1 + t2new.bbbb += tmp197.transpose((0, 1, 3, 2)) + del tmp197 + tmp159 = einsum(tmp112, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) + t2new.bbbb += tmp159.transpose((1, 0, 2, 3)) * -1 + t2new.bbbb += tmp159.transpose((0, 1, 3, 2)) * -1 + t2new.bbbb += tmp159.transpose((1, 0, 3, 2)) + t2new.bbbb += tmp159 + t2new.bbbb += tmp159.transpose((1, 0, 2, 3)) * -1 + t2new.bbbb += tmp159.transpose((0, 1, 3, 2)) * -1 + t2new.bbbb += tmp159.transpose((1, 0, 3, 2)) + t2new.bbbb += tmp159 + del tmp159 + tmp184 = einsum(tmp26, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 4, 3), optimize=True) + tmp184 += tmp177.transpose((0, 1, 3, 2)) * -1 + tmp184 += einsum(tmp183, (0, 1, 2, 3), v.bbbb.ovov, (0, 2, 4, 5), (1, 4, 3, 5), optimize=True) + del tmp183 + t2new.bbbb += einsum(t2.bbbb, (0, 1, 2, 3), tmp184, (4, 0, 5, 2), (4, 1, 5, 3), optimize=True) * 2 + del tmp184 + tmp149 = tmp124.copy() + tmp149 += tmp148 * -1 + del tmp148 + t2new.bbbb += einsum(t2.abab, (0, 1, 2, 3), tmp149, (0, 4, 2, 5), (4, 1, 3, 5), optimize=True) * -1 + t2new.abab += einsum(t2.aaaa, (0, 1, 2, 3), tmp149, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) * 2 + del tmp149 + tmp181 = v.bbbb.ooov.transpose((1, 0, 2, 3)).copy() + tmp181 += tmp26.transpose((2, 0, 1, 3)) + t2new.bbbb += einsum(tmp181, (0, 1, 2, 3), t1.bb, (0, 4), (2, 1, 3, 4), optimize=True) * -1 + del tmp181 + tmp171 = einsum(tmp170, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 4, 3), optimize=True) + del tmp170 + t2new.bbbb += tmp171.transpose((1, 0, 3, 2)) + t2new.bbbb += tmp171.transpose((1, 0, 2, 3)) * -1 + del tmp171 + tmp191 = einsum(tmp190, (0, 1, 2, 3), t2.bbbb, (2, 3, 4, 5), (1, 0, 4, 5), optimize=True) * -1 + del tmp190 + t2new.bbbb += tmp191.transpose((0, 1, 3, 2)) * -1 + t2new.bbbb += tmp191.transpose((0, 1, 3, 2)) * -1 + del tmp191 + tmp189 = tmp141.copy() + tmp189 += tmp111 * -0.5 + t2new.bbbb += einsum(t2.abab, (0, 1, 2, 3), tmp189, (0, 4, 2, 5), (4, 1, 3, 5), optimize=True) + del tmp189 + tmp188 = tmp26.copy() + tmp188 += einsum(v.aabb.ovoo, (0, 1, 2, 3), t2.abab, (0, 4, 1, 5), (4, 3, 2, 5), optimize=True) * -1 + t2new.bbbb += einsum(tmp188, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 3, 4), optimize=True) + del tmp188 + tmp179 = v.bbbb.oovv.transpose((1, 0, 3, 2)).copy() * -1 + tmp179 += tmp138 + tmp179 += tmp177.transpose((0, 1, 3, 2)) * -1 + del tmp177 + tmp179 += einsum(tmp178, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 4, 3), optimize=True) * -1 + del tmp178 + t2new.bbbb += einsum(tmp179, (0, 1, 2, 3), t2.bbbb, (1, 4, 3, 5), (4, 0, 2, 5), optimize=True) * -2 + del tmp179 + tmp182 = einsum(v.bbbb.ooov, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 4, 3), optimize=True) + t2new.bbbb += tmp182 * -1 + t2new.bbbb += tmp182.transpose((1, 0, 2, 3)) + del tmp182 + tmp193 = einsum(t1.bb, (0, 1), tmp192, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) + del tmp192 + t2new.bbbb += tmp193.transpose((0, 1, 3, 2)) * -1 + t2new.bbbb += tmp193 + del tmp193 + tmp208 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovvv, (4, 2, 5, 3), (0, 1, 4, 5), optimize=True) + t2new.bbbb += einsum(tmp208, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 4, 3), optimize=True) * -2 + del tmp208 + tmp206 = einsum(t2.bbbb, (0, 1, 2, 3), tmp205, (4, 0, 5, 2), (1, 4, 3, 5), optimize=True) + del tmp205 + t2new.bbbb += tmp206.transpose((1, 0, 2, 3)) * 2 + t2new.bbbb += tmp206 * -2 + del tmp206 + tmp126 = v.aaaa.oovv.transpose((1, 0, 3, 2)).copy() * -1 + tmp126 += tmp47.transpose((1, 0, 3, 2)) + tmp126 += tmp45.transpose((1, 0, 3, 2)) * 0.5 + tmp126 += einsum(t1.aa, (0, 1), tmp125, (0, 2, 3, 4), (3, 2, 4, 1), optimize=True) + del tmp125 + t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp126, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) + del tmp126 + tmp144 = v.aabb.vvvv.transpose((1, 0, 3, 2)).copy() + tmp144 += einsum(t1.bb, (0, 1), tmp143, (0, 2, 3, 4), (3, 2, 4, 1), optimize=True) * -1 + del tmp143 + t2new.abab += einsum(tmp144, (0, 1, 2, 3), t2.abab, (4, 5, 0, 2), (4, 5, 1, 3), optimize=True) + del tmp144 + tmp72 = einsum(t1.aa, (0, 1), tmp9, (2, 1), (0, 2), optimize=True) + del tmp9 + t2new.abab += einsum(tmp72, (0, 1), t2.abab, (1, 2, 3, 4), (0, 2, 3, 4), optimize=True) * -1 + t2new.aaaa += einsum(tmp72, (0, 1), t2.aaaa, (1, 2, 3, 4), (0, 2, 4, 3), optimize=True) * 2 + del tmp72 + tmp107 = tmp78.copy() + tmp107 += tmp84 * -1 + t2new.aaaa += einsum(tmp107, (0, 1, 2, 3), t2.abab, (4, 1, 5, 3), (0, 4, 5, 2), optimize=True) * -1 + tmp128 = v.bbaa.oovv.transpose((1, 0, 3, 2)).copy() + tmp128 += einsum(v.bbaa.ovvv, (0, 1, 2, 3), t1.bb, (4, 1), (0, 4, 3, 2), optimize=True) + tmp128 += einsum(t1.aa, (0, 1), tmp127, (0, 2, 3, 4), (3, 2, 4, 1), optimize=True) * -1 + del tmp127 + t2new.abab += einsum(tmp128, (0, 1, 2, 3), t2.abab, (4, 0, 2, 5), (4, 1, 3, 5), optimize=True) * -1 + del tmp128 + tmp109 = f.bb.oo.transpose((1, 0)).copy() * 2 + tmp109 += tmp32.transpose((1, 0)) * 2 + tmp109 += tmp33.transpose((1, 0)) + tmp109 += tmp34.transpose((1, 0)) * 2 + tmp109 += einsum(tmp35, (0, 1, 2, 3), t1.bb, (2, 3), (1, 0), optimize=True) * -2 + t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp109, (1, 4), (0, 4, 2, 3), optimize=True) * -0.5 + del tmp109 + tmp122 = einsum(t1.aa, (0, 1), v.bbaa.oovv, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) + t2new.abab += einsum(tmp122, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 3, 4), optimize=True) * -1 + del tmp122 + tmp123 = einsum(t1.aa, (0, 1), v.aabb.ovoo, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) + tmp131 = v.aabb.oovv.transpose((1, 0, 3, 2)).copy() + tmp131 += einsum(t1.bb, (0, 1), v.aabb.ooov, (2, 3, 0, 4), (3, 2, 4, 1), optimize=True) * -1 + t2new.abab += einsum(tmp131, (0, 1, 2, 3), t2.abab, (0, 4, 5, 2), (1, 4, 5, 3), optimize=True) * -1 + del tmp131 + tmp110 = t2.abab.copy() + tmp110 += einsum(t1.aa, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3), optimize=True) * 2 + t2new.abab += einsum(tmp110, (0, 1, 2, 3), v.aabb.oooo, (0, 4, 1, 5), (4, 5, 2, 3), optimize=True) * 0.5 + del tmp110 + tmp153 = einsum(t1.aa, (0, 1), tmp124, (2, 3, 1, 4), (0, 2, 3, 4), optimize=True) + del tmp124 + t2new.abab += einsum(tmp153, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 4, 3), optimize=True) * -1 + del tmp153 + tmp136 = v.bbaa.ovvv.transpose((0, 3, 2, 1)).copy() + tmp136 += einsum(v.aabb.vvvv, (0, 1, 2, 3), t1.bb, (4, 3), (4, 1, 0, 2), optimize=True) + t2new.abab += einsum(t1.aa, (0, 1), tmp136, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) + del tmp136 + tmp135 = t2.bbbb.transpose((1, 0, 3, 2)).copy() * 2 + tmp135 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1), optimize=True) * -1 + t2new.abab += einsum(tmp107, (0, 1, 2, 3), tmp135, (1, 4, 3, 5), (0, 4, 2, 5), optimize=True) + del tmp107, tmp135 + tmp132 = einsum(t1.aa, (0, 1), tmp28, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) + t2new.abab += einsum(tmp132, (0, 1, 2, 3), t2.abab, (1, 3, 4, 5), (0, 2, 4, 5), optimize=True) + del tmp132 + tmp151 = einsum(v.aabb.ovvv, (0, 1, 2, 3), t2.abab, (4, 5, 1, 3), (4, 0, 5, 2), optimize=True) + t2new.abab += einsum(tmp151, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 4, 3), optimize=True) * -1 + del tmp151 + tmp129 = tmp51.copy() * -1 + del tmp51 + tmp129 += einsum(v.aabb.ovov, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 1), (4, 2, 5, 3), optimize=True) + tmp129 += tmp52 * 0.5 + t2new.abab += einsum(t2.bbbb, (0, 1, 2, 3), tmp129, (4, 0, 5, 2), (4, 1, 5, 3), optimize=True) * 2 + del tmp129 + tmp140 = v.bbbb.ovov.transpose((2, 0, 3, 1)).copy() + tmp140 += v.bbbb.oovv.transpose((1, 0, 3, 2)) * -1 + tmp140 += tmp137.transpose((1, 0, 3, 2)) * 0.5 + del tmp137 + tmp140 += tmp138.transpose((1, 0, 3, 2)) + del tmp138 + tmp140 += einsum(t1.bb, (0, 1), tmp139, (0, 2, 3, 4), (3, 2, 4, 1), optimize=True) + del tmp139 + t2new.abab += einsum(tmp140, (0, 1, 2, 3), t2.abab, (4, 0, 5, 2), (4, 1, 5, 3), optimize=True) + del tmp140 + tmp6 = t2.abab.copy() + tmp6 += einsum(t1.aa, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3), optimize=True) + t2new.abab += einsum(tmp123, (0, 1, 2, 3), tmp6, (1, 2, 4, 5), (0, 3, 4, 5), optimize=True) + del tmp123 + t1new.bb += einsum(v.aabb.ovvv, (0, 1, 2, 3), tmp6, (0, 4, 1, 2), (4, 3), optimize=True) + t1new.aa += einsum(v.bbaa.ovvv, (0, 1, 2, 3), tmp6, (4, 0, 2, 1), (4, 3), optimize=True) + tmp142 = v.aabb.ovov.transpose((0, 2, 1, 3)).copy() * 2 + tmp142 += tmp141 * -2 + del tmp141 + tmp142 += tmp111 + del tmp111 + tmp142 += tmp112 * 2 + del tmp112 + t2new.abab += einsum(t2.aaaa, (0, 1, 2, 3), tmp142, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) + del tmp142 + tmp121 = einsum(v.aabb.ooov, (0, 1, 2, 3), t1.bb, (4, 3), (0, 1, 4, 2), optimize=True) + t2new.abab += einsum(tmp6, (0, 1, 2, 3), tmp121, (0, 4, 5, 1), (4, 5, 2, 3), optimize=True) + del tmp6, tmp121 + tmp152 = einsum(t1.bb, (0, 1), v.aabb.oovv, (2, 3, 4, 1), (2, 3, 0, 4), optimize=True) + t2new.abab += einsum(t1.aa, (0, 1), tmp152, (2, 0, 3, 4), (2, 3, 1, 4), optimize=True) * -1 + del tmp152 + tmp130 = v.aabb.ovoo.transpose((0, 3, 2, 1)).copy() + tmp130 += tmp28.transpose((0, 2, 1, 3)) + del tmp28 + t2new.abab += einsum(tmp130, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 3, 4), optimize=True) * -1 + del tmp130 + tmp147 = einsum(tmp145, (0, 1, 2, 3), t1.bb, (4, 1), (4, 0, 3, 2), optimize=True) * -1 + del tmp145 + tmp147 += einsum(t1.bb, (0, 1), tmp146, (2, 0, 3, 4), (2, 3, 4, 1), optimize=True) + del tmp146 + t2new.abab += einsum(tmp147, (0, 1, 2, 3), t2.abab, (4, 1, 5, 2), (4, 0, 5, 3), optimize=True) + del tmp147 + tmp134 = einsum(t1.aa, (0, 1), tmp100, (2, 3, 1, 4), (0, 2, 3, 4), optimize=True) * -1 + del tmp100 + tmp134 += einsum(tmp133, (0, 1, 2, 3), t1.aa, (2, 4), (0, 1, 3, 4), optimize=True) + del tmp133 + t2new.abab += einsum(tmp134, (0, 1, 2, 3), t2.abab, (1, 4, 2, 5), (0, 4, 3, 5), optimize=True) + del tmp134 + tmp150 = einsum(t1.aa, (0, 1), v.aabb.ovvv, (2, 1, 3, 4), (0, 2, 4, 3), optimize=True) + tmp150 += einsum(t1.bb, (0, 1), tmp3, (2, 3, 0, 4), (2, 3, 4, 1), optimize=True) * -1 + del tmp3 + t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp150, (4, 0, 3, 5), (4, 1, 2, 5), optimize=True) * -1 + del tmp150 + tmp83 = einsum(t1.aa, (0, 1), tmp1, (2, 0, 3, 4), (2, 3, 1, 4), optimize=True) + tmp83 += tmp75.transpose((0, 1, 3, 2)) * -1 + tmp83 += einsum(v.aaaa.ovov, (0, 1, 2, 3), tmp82, (0, 4, 1, 5), (4, 2, 5, 3), optimize=True) + del tmp82 + t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp83, (4, 0, 5, 2), (4, 1, 5, 3), optimize=True) * 2 + del tmp83 + tmp80 = v.aaaa.ooov.transpose((1, 0, 2, 3)).copy() + tmp80 += tmp1.transpose((2, 0, 1, 3)) + t2new.aaaa += einsum(tmp80, (0, 1, 2, 3), t1.aa, (0, 4), (2, 1, 3, 4), optimize=True) * -1 + del tmp80 + tmp88 = tmp1.copy() + tmp88 += einsum(v.aabb.ooov, (0, 1, 2, 3), t2.abab, (4, 2, 5, 3), (4, 1, 0, 5), optimize=True) * -1 + t2new.aaaa += einsum(tmp88, (0, 1, 2, 3), t1.aa, (2, 4), (0, 1, 3, 4), optimize=True) + del tmp88 + tmp106 = tmp78.copy() * -1 + tmp106 += tmp84 + t2new.aaaa += einsum(tmp106, (0, 1, 2, 3), t2.abab, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) * -1 + del tmp106 + tmp99 = einsum(t1.aa, (0, 1), tmp1, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) + t2new.aaaa += tmp99 * -1 + t2new.aaaa += tmp99.transpose((1, 0, 2, 3)) + del tmp99 + tmp94 = einsum(t1.aa, (0, 1), tmp93, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) + del tmp93 + t2new.aaaa += tmp94.transpose((0, 1, 3, 2)) * -1 + t2new.aaaa += tmp94 + del tmp94 + tmp55 = v.aaaa.ooov.transpose((1, 0, 2, 3)).copy() + tmp55 += tmp42.transpose((1, 0, 2, 3)) * -1 + del tmp42 + t2new.aaaa += einsum(t1.aa, (0, 1), tmp55, (0, 2, 3, 4), (2, 3, 4, 1), optimize=True) + del tmp55 + tmp96 = einsum(t1.aa, (0, 1), tmp95, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) + del tmp95 + t2new.aaaa += tmp96.transpose((1, 0, 2, 3)) + t2new.aaaa += tmp96 * -1 + t2new.aaaa += tmp96.transpose((1, 0, 3, 2)) * -1 + t2new.aaaa += tmp96.transpose((0, 1, 3, 2)) + del tmp96 + tmp87 = v.aaaa.oovv.transpose((1, 0, 3, 2)).copy() + tmp87 += einsum(t1.aa, (0, 1), tmp86, (0, 2, 3, 4), (3, 2, 1, 4), optimize=True) * -1 + del tmp86 + t2new.aaaa += einsum(tmp87, (0, 1, 2, 3), t2.aaaa, (0, 4, 3, 5), (4, 1, 5, 2), optimize=True) * -2 + del tmp87 + tmp85 = tmp78.copy() + tmp85 += tmp84 * -1 + del tmp84 + tmp85 += tmp52 * 0.5 + t2new.aaaa += einsum(t2.abab, (0, 1, 2, 3), tmp85, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) + del tmp85 + tmp79 = tmp78.copy() * -1 + del tmp78 + tmp79 += tmp52 * -0.5 + del tmp52 + tmp79 += einsum(tmp4, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3), optimize=True) + del tmp4 + t2new.aaaa += einsum(tmp79, (0, 1, 2, 3), t2.abab, (4, 1, 5, 3), (4, 0, 2, 5), optimize=True) + del tmp79 + tmp65 = einsum(tmp64, (0, 1, 2, 3), t2.aaaa, (3, 2, 4, 5), (0, 1, 4, 5), optimize=True) * -1 + del tmp64 + t2new.aaaa += tmp65.transpose((0, 1, 3, 2)) * 2 + t2new.aaaa += tmp65.transpose((1, 0, 3, 2)) * -2 + del tmp65 + tmp92 = einsum(t1.aa, (0, 1), tmp91, (2, 3, 1, 4), (0, 2, 3, 4), optimize=True) + del tmp91 + t2new.aaaa += tmp92.transpose((0, 1, 3, 2)) * -1 + t2new.aaaa += tmp92 + del tmp92 + tmp54 = einsum(tmp53, (0, 1, 2, 3), t2.abab, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) * 0.5 + del tmp53 + t2new.aaaa += tmp54.transpose((1, 0, 2, 3)) + t2new.aaaa += tmp54.transpose((1, 0, 3, 2)) * -1 + del tmp54 + tmp46 = einsum(tmp45, (0, 1, 2, 3), t2.aaaa, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) + del tmp45 + t2new.aaaa += tmp46.transpose((1, 0, 2, 3)) * -1 + t2new.aaaa += tmp46.transpose((0, 1, 3, 2)) * -1 + t2new.aaaa += tmp46.transpose((1, 0, 3, 2)) + t2new.aaaa += tmp46 + t2new.aaaa += tmp46.transpose((1, 0, 2, 3)) * -1 + t2new.aaaa += tmp46.transpose((0, 1, 3, 2)) * -1 + t2new.aaaa += tmp46.transpose((1, 0, 3, 2)) + t2new.aaaa += tmp46 + del tmp46 + tmp69 = einsum(t1.aa, (0, 1), tmp68, (2, 0, 3, 4), (2, 3, 1, 4), optimize=True) + del tmp68 + t2new.aaaa += tmp69.transpose((1, 0, 3, 2)) + t2new.aaaa += tmp69.transpose((1, 0, 2, 3)) * -1 + del tmp69 + tmp81 = einsum(t1.aa, (0, 1), v.aaaa.ooov, (2, 0, 3, 4), (2, 3, 1, 4), optimize=True) + t2new.aaaa += tmp81 * -1 + t2new.aaaa += tmp81.transpose((1, 0, 2, 3)) + del tmp81 + tmp41 = einsum(v.aaaa.oooo, (0, 1, 2, 3), t2.aaaa, (1, 2, 4, 5), (0, 3, 4, 5), optimize=True) + t2new.aaaa += tmp41.transpose((1, 0, 3, 2)) + t2new.aaaa += tmp41.transpose((1, 0, 3, 2)) + del tmp41 + tmp63 = einsum(t2.aaaa, (0, 1, 2, 3), tmp62, (2, 4), (0, 1, 3, 4), optimize=True) * 2 + del tmp62 + t2new.aaaa += tmp63.transpose((1, 0, 2, 3)) * -1 + t2new.aaaa += tmp63.transpose((1, 0, 3, 2)) + del tmp63 + tmp98 = v.aaaa.vvvv.transpose((2, 3, 1, 0)).copy() * -1 + tmp98 += einsum(t1.aa, (0, 1), tmp97, (0, 2, 3, 4), (2, 1, 4, 3), optimize=True) + del tmp97 + t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp98, (2, 4, 5, 3), (1, 0, 5, 4), optimize=True) * -2 + del tmp98 + tmp90 = einsum(tmp89, (0, 1, 2, 3), t2.aaaa, (2, 3, 4, 5), (1, 0, 4, 5), optimize=True) * -1 + del tmp89 + t2new.aaaa += tmp90.transpose((0, 1, 3, 2)) * -1 + t2new.aaaa += tmp90.transpose((0, 1, 3, 2)) * -1 + del tmp90 + tmp70 = einsum(t1.aa, (0, 1), tmp67, (2, 0, 3, 4), (2, 3, 1, 4), optimize=True) + del tmp67 + t2new.aaaa += tmp70.transpose((0, 1, 3, 2)) + t2new.aaaa += tmp70 * -1 + del tmp70 + tmp105 = einsum(t2.aaaa, (0, 1, 2, 3), tmp104, (4, 0, 5, 2), (1, 4, 3, 5), optimize=True) + del tmp104 + t2new.aaaa += tmp105.transpose((1, 0, 2, 3)) * 2 + t2new.aaaa += tmp105 * -2 + del tmp105 + tmp71 = einsum(t1.aa, (0, 1), tmp66, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) + del tmp66 + t2new.aaaa += tmp71.transpose((0, 1, 3, 2)) * -1 + t2new.aaaa += tmp71 + del tmp71 + tmp50 = einsum(tmp49, (0, 1, 2, 3), t2.aaaa, (1, 4, 3, 5), (4, 0, 5, 2), optimize=True) * 2 + del tmp49 + t2new.aaaa += tmp50.transpose((1, 0, 2, 3)) * -1 + t2new.aaaa += tmp50.transpose((1, 0, 3, 2)) + del tmp50 + tmp77 = v.aaaa.oovv.transpose((1, 0, 3, 2)).copy() * -1 + tmp77 += tmp47 + del tmp47 + tmp77 += tmp75.transpose((0, 1, 3, 2)) * -1 + del tmp75 + tmp77 += einsum(t1.aa, (0, 1), tmp76, (2, 0, 3, 4), (2, 3, 1, 4), optimize=True) * -1 + del tmp76 + t2new.aaaa += einsum(tmp77, (0, 1, 2, 3), t2.aaaa, (1, 4, 3, 5), (4, 0, 2, 5), optimize=True) * -2 + del tmp77 + tmp44 = einsum(tmp43, (0, 1), t2.aaaa, (0, 2, 3, 4), (2, 1, 3, 4), optimize=True) * 2 + del tmp43 + t2new.aaaa += tmp44.transpose((1, 0, 3, 2)) + t2new.aaaa += tmp44.transpose((0, 1, 3, 2)) * -1 + del tmp44 + tmp108 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovvv, (4, 2, 5, 3), (0, 1, 4, 5), optimize=True) + t2new.aaaa += einsum(t1.aa, (0, 1), tmp108, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) * -2 + del tmp108 + tmp30 = t2.bbbb.transpose((1, 0, 3, 2)).copy() * 2 + tmp30 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (2, 0, 3, 1), optimize=True) + t1new.bb += einsum(v.bbbb.ovvv, (0, 1, 2, 3), tmp30, (0, 4, 1, 2), (4, 3), optimize=True) + del tmp30 + tmp39 = f.bb.oo.transpose((1, 0)).copy() * 0.5 + tmp39 += tmp32.transpose((1, 0)) * 0.5 + del tmp32 + tmp39 += tmp33.transpose((1, 0)) * 0.5 + del tmp33 + tmp39 += tmp34.transpose((1, 0)) + del tmp34 + tmp39 += einsum(tmp35, (0, 1, 2, 3), t1.bb, (2, 3), (1, 0), optimize=True) * -0.5 + del tmp35 + tmp39 += einsum(tmp38, (0, 1), t1.bb, (2, 1), (0, 2), optimize=True) * 0.5 + del tmp38 + t1new.bb += einsum(tmp39, (0, 1), t1.bb, (0, 2), (1, 2), optimize=True) * -2 + del tmp39 + tmp27 = v.bbbb.ooov.transpose((1, 2, 0, 3)).copy() + tmp27 += tmp26 + del tmp26 + t1new.bb += einsum(t2.bbbb, (0, 1, 2, 3), tmp27, (4, 1, 0, 2), (4, 3), optimize=True) * 2 + del tmp27 + tmp40 = f.bb.vv.transpose((1, 0)).copy() + tmp40 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), t1.bb, (0, 3), (1, 2), optimize=True) * -1 + t1new.bb += einsum(t1.bb, (0, 1), tmp40, (1, 2), (0, 2), optimize=True) + del tmp40 + tmp31 = v.bbbb.ovov.transpose((2, 0, 3, 1)).copy() + tmp31 += v.bbbb.oovv.transpose((1, 0, 3, 2)) * -1 + t1new.bb += einsum(tmp31, (0, 1, 2, 3), t1.bb, (0, 2), (1, 3), optimize=True) + del tmp31 + tmp24 = f.aa.oo.transpose((1, 0)).copy() + tmp24 += tmp15.transpose((1, 0)) + del tmp15 + tmp24 += tmp16.transpose((1, 0)) * 2 + del tmp16 + tmp24 += tmp17.transpose((1, 0)) + del tmp17 + tmp24 += tmp19.transpose((1, 0)) * -1 + del tmp19 + tmp24 += tmp23.transpose((1, 0)) + del tmp23 + t1new.aa += einsum(tmp24, (0, 1), t1.aa, (0, 2), (1, 2), optimize=True) * -1 + del tmp24 + tmp25 = f.aa.vv.transpose((1, 0)).copy() + tmp25 += einsum(t1.aa, (0, 1), v.aaaa.ovvv, (0, 1, 2, 3), (3, 2), optimize=True) + t1new.aa += einsum(t1.aa, (0, 1), tmp25, (1, 2), (0, 2), optimize=True) + del tmp25 + tmp2 = v.aaaa.ooov.transpose((1, 2, 0, 3)).copy() + tmp2 += tmp1 + del tmp1 + t1new.aa += einsum(t2.aaaa, (0, 1, 2, 3), tmp2, (4, 1, 0, 2), (4, 3), optimize=True) * 2 + del tmp2 + tmp14 = v.aaaa.ovov.transpose((2, 0, 3, 1)).copy() + tmp14 += v.aaaa.oovv.transpose((1, 0, 3, 2)) * -1 + t1new.aa += einsum(t1.aa, (0, 1), tmp14, (0, 2, 1, 3), (2, 3), optimize=True) + del tmp14 + tmp5 = t2.aaaa.transpose((1, 0, 3, 2)).copy() * 2 + tmp5 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 1, 3), optimize=True) + t1new.aa += einsum(tmp5, (0, 1, 2, 3), v.aaaa.ovvv, (0, 3, 2, 4), (1, 4), optimize=True) * -1 + del tmp5 + t1new.aa += f.aa.ov + t1new.bb += f.bb.ov + t2new.aaaa += v.aaaa.ovov.transpose((2, 0, 3, 1)) + t2new.aaaa += v.aaaa.ovov.transpose((2, 0, 1, 3)) * -1 + t2new.abab += einsum(t2.abab, (0, 1, 2, 3), v.aabb.oooo, (4, 0, 5, 1), (4, 5, 2, 3), optimize=True) * 0.5 + t2new.abab += v.aabb.ovov.transpose((0, 2, 1, 3)) + t2new.bbbb += v.bbbb.ovov.transpose((2, 0, 3, 1)) + t2new.bbbb += v.bbbb.ovov.transpose((2, 0, 1, 3)) * -1 + + return {f"t1new": t1new, f"t2new": t2new} + diff --git a/ebcc/codegen/bootstrap_DCD.py b/ebcc/codegen/bootstrap_DCD.py new file mode 100644 index 00000000..48133592 --- /dev/null +++ b/ebcc/codegen/bootstrap_DCD.py @@ -0,0 +1,110 @@ +""" +Generate the DCD code. +""" + +import sys + +import pdaggerq +from albert.qc._pdaggerq import import_from_pdaggerq +from albert.qc.index import Index +from albert.tensor import Tensor + +from ebcc.codegen.bootstrap_common import * + +# Get the spin case +spin = sys.argv[1] + +# Set up the code generators +code_generators = { + "einsum": EinsumCodeGen( + stdout=open(f"{spin[0].upper()}DCD.py", "w"), + name_generator=name_generators[spin], + spin=spin, + ), +} + +# Write the preamble +for codegen in code_generators.values(): + codegen.preamble() + +# Set up pdaggerq +pq = pdaggerq.pq_helper("fermi") +pq.set_print_level(0) + +with Stopwatch("Energy"): + # Get the energy contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["1"]]) + pq.add_st_operator(1.0, ["f"], ["t2"]) + pq.add_st_operator(1.0, ["v"], ["t2"]) + pq.simplify() + terms = pq.fully_contracted_strings() + terms = remove_hf_energy(terms) + + # Get the energy in albert format + expr = import_from_pdaggerq(terms) + expr = spin_integrate(expr, spin) + output = tuple(Tensor(name="e_cc") for _ in range(len(expr))) + output, expr = optimise(output, expr, spin, strategy="exhaust") + returns = (Tensor(name="e_cc"),) + + # Generate the energy code + for codegen in code_generators.values(): + codegen( + "energy", + returns, + output, + expr, + ) + +with Stopwatch("T amplitudes"): + # Get the T2 contractions in pdaggerq format + # 10.1063/1.4944087 + terms = [ + ["-1.00", "P(i,j)", "f(k,j)", "t2(a,b,i,k)"], + ["+1.00", "P(a,b)", "f(a,c)", "t2(c,b,i,j)"], + ["+1.00", ""], + ["+0.50", "", "t2(a,b,k,l)"], + ["+0.50", "", "t2(c,d,i,j)"], + ["+1.00", "P(i,j)", "P(a,b)", "", "t2(a,c,i,k)"], + ["-0.25", "P(i,j)", "", "t2(d,c,i,k)", "t2(a,b,l,j)"], + ["-0.25", "P(a,b)", "", "t2(a,c,l,k)", "t2(d,b,i,j)"], + ["+0.50", "P(i,j)", "P(a,b)", "", "t2(a,c,i,k)", "t2(b,d,j,l)"], + ] + + # Get the T amplitudes in albert format + expr = [] + output = [] + returns = [] + for index_spins in get_amplitude_spins(2, spin): + indices = default_indices["o"][:2] + default_indices["v"][:2] + indices = tuple(Index(i, index_spins[i]) for i in indices) + expr_n = import_from_pdaggerq(terms, index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + output_n = get_t_amplitude_outputs(expr_n, f"t2new") + returns_n = (Tensor(*indices, name=f"t2new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + output, expr = optimise(output, expr, spin, strategy="exhaust") + + # Generate the T amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "preamble": "t1new = Namespace()\nt2new = Namespace()" if spin == "uhf" else None, + "as_dict": True, + } + else: + kwargs = {} + codegen( + "update_amps", + returns, + output, + expr, + **kwargs, + ) + +for codegen in code_generators.values(): + codegen.postamble() + codegen.stdout.close() diff --git a/ebcc/codegen/bootstrap_DCSD.py b/ebcc/codegen/bootstrap_DCSD.py new file mode 100644 index 00000000..30f50d9a --- /dev/null +++ b/ebcc/codegen/bootstrap_DCSD.py @@ -0,0 +1,122 @@ +""" +Generate the DCSD code. +""" + +import sys + +import pdaggerq +from albert.qc._pdaggerq import import_from_pdaggerq +from albert.qc.index import Index +from albert.tensor import Tensor + +from ebcc.codegen.bootstrap_common import * + +# Get the spin case +spin = sys.argv[1] + +# Set up the code generators +code_generators = { + "einsum": EinsumCodeGen( + stdout=open(f"{spin[0].upper()}DCSD.py", "w"), + name_generator=name_generators[spin], + spin=spin, + ), +} + +# Write the preamble +for codegen in code_generators.values(): + codegen.preamble() + +# Set up pdaggerq +pq = pdaggerq.pq_helper("fermi") +pq.set_print_level(0) + +with Stopwatch("Energy"): + # Get the energy contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["1"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) + pq.simplify() + terms = pq.fully_contracted_strings() + terms = remove_hf_energy(terms) + + # Get the energy in albert format + expr = import_from_pdaggerq(terms) + expr = spin_integrate(expr, spin) + output = tuple(Tensor(name="e_cc") for _ in range(len(expr))) + output, expr = optimise(output, expr, spin, strategy="exhaust") + returns = (Tensor(name="e_cc"),) + + # Generate the energy code + for codegen in code_generators.values(): + codegen( + "energy", + returns, + output, + expr, + ) + +with Stopwatch("T amplitudes"): + # T1 residuals: + pq.clear() + pq.set_left_operators([["e1(i,a)"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) + pq.simplify() + terms_t1 = pq.fully_contracted_strings() + + # T2 residuals: + pq.clear() + pq.set_left_operators([["e2(i,j,b,a)"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) + pq.simplify() + terms_t2 = pq.fully_contracted_strings() + + # DCD: 10.1063/1.4944087 + terms_t2 = [term for term in terms_t2 if sum(t.startswith("t2") for t in term) < 2] + terms_t2 += [ + ["-0.25", "P(i,j)", "", "t2(d,c,i,k)", "t2(a,b,l,j)"], + ["-0.25", "P(a,b)", "", "t2(a,c,l,k)", "t2(d,b,i,j)"], + ["+0.50", "P(i,j)", "P(a,b)", "", "t2(a,c,i,k)", "t2(b,d,j,l)"], + ] + + # Get the T amplitudes in albert format + terms = [terms_t1, terms_t2] + expr = [] + output = [] + returns = [] + for n in range(2): + for index_spins in get_amplitude_spins(n + 1, spin): + indices = default_indices["o"][: n + 1] + default_indices["v"][: n + 1] + indices = tuple(Index(i, index_spins[i]) for i in indices) + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + output_n = get_t_amplitude_outputs(expr_n, f"t{n+1}new") + returns_n = (Tensor(*indices, name=f"t{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + output, expr = optimise(output, expr, spin, strategy="exhaust") + + # Generate the T amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "preamble": "t1new = Namespace()\nt2new = Namespace()" if spin == "uhf" else None, + "as_dict": True, + } + else: + kwargs = {} + codegen( + "update_amps", + returns, + output, + expr, + **kwargs, + ) + +for codegen in code_generators.values(): + codegen.postamble() + codegen.stdout.close() From 4fb9e21ce8a92896e3323216173dfa2da9357f40 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Thu, 18 Jul 2024 20:56:02 +0100 Subject: [PATCH 014/168] More bootstrap scripts --- ebcc/codegen/GCCD.py | 284 ++ ebcc/codegen/GCCSD.py | 1028 +++---- ebcc/codegen/RCCD.py | 498 ++++ ebcc/codegen/RCCSD.py | 2334 ++++++++------- ebcc/codegen/RDFCCD.py | 534 ++++ ebcc/codegen/RDFCCSD.py | 1476 ++++++++++ ebcc/codegen/UCCD.py | 896 ++++++ ebcc/codegen/UCCSD.py | 4700 +++++++++++++++--------------- ebcc/codegen/UDFCCD.py | 926 ++++++ ebcc/codegen/UDFCCSD.py | 2580 ++++++++++++++++ ebcc/codegen/bootstrap_CCD.py | 66 +- ebcc/codegen/bootstrap_CCSD.py | 9 +- ebcc/codegen/bootstrap_DFCCD.py | 305 ++ ebcc/codegen/bootstrap_DFCCSD.py | 304 ++ ebcc/codegen/bootstrap_common.py | 50 +- 15 files changed, 11946 insertions(+), 4044 deletions(-) create mode 100644 ebcc/codegen/GCCD.py create mode 100644 ebcc/codegen/RCCD.py create mode 100644 ebcc/codegen/RDFCCD.py create mode 100644 ebcc/codegen/RDFCCSD.py create mode 100644 ebcc/codegen/UCCD.py create mode 100644 ebcc/codegen/UDFCCD.py create mode 100644 ebcc/codegen/UDFCCSD.py create mode 100644 ebcc/codegen/bootstrap_DFCCD.py create mode 100644 ebcc/codegen/bootstrap_DFCCSD.py diff --git a/ebcc/codegen/GCCD.py b/ebcc/codegen/GCCD.py new file mode 100644 index 00000000..4258e243 --- /dev/null +++ b/ebcc/codegen/GCCD.py @@ -0,0 +1,284 @@ +""" +Code generated by `albert`: +https://github.com/obackhouse/albert + + * date: 2024-07-18T20:05:00.813398 + * python version: 3.10.12 (main, Mar 22 2024, 16:50:05) [GCC 11.4.0] + * albert version: 0.0.0 + * caller: /home/ollie/git/albert/albert/codegen/einsum.py + * node: ollie-desktop + * system: Linux + * processor: x86_64 + * release: 6.5.0-44-generic +""" + +from ebcc import numpy as np +from ebcc.util import pack_2e, einsum, direct_sum, Namespace + + +def energy(t2=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-07-18T20:05:00.853940. + + Parameters + ---------- + t2 : array + T2 amplitudes. + v : array + Electron repulsion integrals. + + Returns + ------- + e_cc : float + Coupled cluster energy. + """ + + e_cc = einsum(t2, (0, 1, 2, 3), v.oovv, (0, 1, 2, 3), (), optimize=True) * 0.25 + + return e_cc + +def update_amps(f=None, t2=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-07-18T20:05:01.637880. + + Parameters + ---------- + f : array + Fock matrix. + t2 : array + T2 amplitudes. + v : array + Electron repulsion integrals. + + Returns + ------- + t2new : array + Updated T2 residuals. + """ + + tmp7 = einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 2, 3), (0, 4), optimize=True) * -1 + tmp5 = einsum(t2, (0, 1, 2, 3), v.oovv, (0, 1, 3, 4), (2, 4), optimize=True) * -1 + tmp3 = einsum(v.oovv, (0, 1, 2, 3), t2, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) + tmp9 = v.oooo.transpose((2, 3, 1, 0)).copy() * -2 + tmp9 += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 2, 3), (5, 4, 1, 0), optimize=True) + t2new = einsum(tmp9, (0, 1, 2, 3), t2, (0, 1, 4, 5), (2, 3, 5, 4), optimize=True) * -0.25 + del tmp9 + tmp2 = einsum(t2, (0, 1, 2, 3), f.oo, (4, 1), (4, 0, 2, 3), optimize=True) + t2new += tmp2.transpose((1, 0, 3, 2)) + t2new += tmp2.transpose((0, 1, 3, 2)) * -1 + del tmp2 + tmp8 = einsum(t2, (0, 1, 2, 3), tmp7, (4, 1), (0, 4, 2, 3), optimize=True) + del tmp7 + t2new += tmp8.transpose((1, 0, 3, 2)) * -0.5 + t2new += tmp8.transpose((0, 1, 3, 2)) * 0.5 + del tmp8 + tmp0 = einsum(f.vv, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4), optimize=True) + t2new += tmp0.transpose((1, 0, 3, 2)) * -1 + t2new += tmp0.transpose((1, 0, 2, 3)) + del tmp0 + tmp1 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 3, 1, 5), (0, 4, 2, 5), optimize=True) + t2new += tmp1.transpose((1, 0, 3, 2)) * -1 + t2new += tmp1.transpose((1, 0, 2, 3)) + t2new += tmp1.transpose((0, 1, 3, 2)) + t2new += tmp1 * -1 + del tmp1 + tmp6 = einsum(tmp5, (0, 1), t2, (2, 3, 4, 1), (2, 3, 4, 0), optimize=True) + del tmp5 + t2new += tmp6.transpose((0, 1, 3, 2)) * 0.5 + t2new += tmp6 * -0.5 + del tmp6 + tmp4 = einsum(t2, (0, 1, 2, 3), tmp3, (4, 1, 5, 3), (0, 4, 2, 5), optimize=True) + del tmp3 + t2new += tmp4.transpose((0, 1, 3, 2)) * -1 + t2new += tmp4 + del tmp4 + t2new += einsum(t2, (0, 1, 2, 3), v.vvvv, (4, 5, 3, 2), (1, 0, 5, 4), optimize=True) * -0.5 + t2new += v.oovv.transpose((1, 0, 3, 2)) + + return {f"t2new": t2new} + +def update_lams(f=None, l2=None, t2=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-07-18T20:05:02.761881. + + Parameters + ---------- + f : array + Fock matrix. + l2 : array + L2 amplitudes. + t2 : array + T2 amplitudes. + v : array + Electron repulsion integrals. + + Returns + ------- + l2new : array + Updated L2 residuals. + """ + + tmp13 = einsum(l2, (0, 1, 2, 3), t2, (2, 3, 1, 4), (0, 4), optimize=True) * -1 + tmp11 = einsum(t2, (0, 1, 2, 3), v.oovv, (0, 1, 4, 2), (3, 4), optimize=True) * -1 + tmp6 = einsum(t2, (0, 1, 2, 3), v.oovv, (4, 0, 2, 3), (1, 4), optimize=True) * -1 + tmp8 = einsum(l2, (0, 1, 2, 3), t2, (3, 4, 0, 1), (2, 4), optimize=True) * -1 + tmp2 = einsum(v.oovv, (0, 1, 2, 3), t2, (1, 4, 3, 5), (4, 0, 5, 2), optimize=True) + tmp14 = einsum(v.oovv, (0, 1, 2, 3), tmp13, (4, 3), (0, 1, 4, 2), optimize=True) * -1 + del tmp13 + tmp12 = einsum(tmp11, (0, 1), l2, (2, 0, 3, 4), (3, 4, 2, 1), optimize=True) + del tmp11 + tmp7 = einsum(l2, (0, 1, 2, 3), tmp6, (3, 4), (2, 4, 0, 1), optimize=True) + del tmp6 + tmp9 = einsum(v.oovv, (0, 1, 2, 3), tmp8, (4, 1), (4, 0, 2, 3), optimize=True) * -1 + del tmp8 + tmp3 = v.ovov.transpose((2, 0, 1, 3)).copy() * -1 + tmp3 += tmp2 + del tmp2 + tmp16 = v.oooo.transpose((2, 3, 1, 0)).copy() * -1 + tmp16 += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 2, 3), (1, 0, 5, 4), optimize=True) * 0.5 + l2new = einsum(l2, (0, 1, 2, 3), tmp16, (2, 3, 4, 5), (1, 0, 4, 5), optimize=True) * -0.5 + del tmp16 + tmp15 = tmp12.copy() * 0.5 + del tmp12 + tmp15 += tmp14 * 0.5 + del tmp14 + l2new += tmp15.transpose((3, 2, 1, 0)) * -1 + l2new += tmp15.transpose((2, 3, 1, 0)) + del tmp15 + tmp5 = einsum(l2, (0, 1, 2, 3), f.oo, (4, 3), (4, 2, 0, 1), optimize=True) + l2new += tmp5.transpose((3, 2, 1, 0)) + l2new += tmp5.transpose((3, 2, 0, 1)) * -1 + del tmp5 + tmp0 = einsum(t2, (0, 1, 2, 3), l2, (2, 3, 4, 5), (4, 5, 0, 1), optimize=True) + l2new += einsum(v.oovv, (0, 1, 2, 3), tmp0, (4, 5, 0, 1), (2, 3, 4, 5), optimize=True) * 0.25 + del tmp0 + tmp1 = einsum(l2, (0, 1, 2, 3), f.vv, (4, 1), (2, 3, 4, 0), optimize=True) + l2new += tmp1.transpose((3, 2, 1, 0)) * -1 + l2new += tmp1.transpose((2, 3, 1, 0)) + del tmp1 + tmp10 = tmp7.transpose((0, 1, 3, 2)).copy() * -0.5 + del tmp7 + tmp10 += tmp9.transpose((0, 1, 3, 2)) * -0.5 + del tmp9 + l2new += tmp10.transpose((3, 2, 1, 0)) * -1 + l2new += tmp10.transpose((3, 2, 0, 1)) + del tmp10 + tmp4 = einsum(tmp3, (0, 1, 2, 3), l2, (2, 4, 0, 5), (5, 1, 4, 3), optimize=True) + del tmp3 + l2new += tmp4.transpose((3, 2, 1, 0)) + l2new += tmp4.transpose((2, 3, 1, 0)) * -1 + l2new += tmp4.transpose((3, 2, 0, 1)) * -1 + l2new += tmp4.transpose((2, 3, 0, 1)) + del tmp4 + l2new += einsum(v.vvvv, (0, 1, 2, 3), l2, (3, 2, 4, 5), (1, 0, 5, 4), optimize=True) * -0.5 + l2new += v.oovv.transpose((3, 2, 1, 0)) + + return {f"l2new": l2new} + +def make_rdm1_f(l2=None, t2=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-07-18T20:05:02.857428. + + Parameters + ---------- + l2 : array + L2 amplitudes. + t2 : array + T2 amplitudes. + + Returns + ------- + rdm1 : array + One-particle reduced density matrix. + """ + + rdm1 = Namespace() + delta = Namespace( + oo=np.eye(t2.shape[0]), + vv=np.eye(t2.shape[-1]), + ) + rdm1.oo = delta.oo.transpose((1, 0)).copy() + del delta + rdm1.oo += einsum(l2, (0, 1, 2, 3), t2, (4, 3, 0, 1), (4, 2), optimize=True) * -0.5 + rdm1.vv = einsum(l2, (0, 1, 2, 3), t2, (2, 3, 4, 1), (0, 4), optimize=True) * 0.5 + rdm1.ov = np.zeros((t2.shape[0], t2.shape[-1])) + rdm1.vo = np.zeros((t2.shape[-1], t2.shape[0])) + rdm1 = np.block([[rdm1.oo, rdm1.ov], [rdm1.vo, rdm1.vv]]) + + return rdm1 + +def make_rdm2_f(l2=None, t2=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-07-18T20:05:03.861067. + + Parameters + ---------- + l2 : array + L2 amplitudes. + t2 : array + T2 amplitudes. + + Returns + ------- + rdm2 : array + Two-particle reduced density matrix. + """ + + rdm2 = Namespace() + delta = Namespace( + oo=np.eye(t2.shape[0]), + vv=np.eye(t2.shape[-1]), + ) + tmp4 = einsum(l2, (0, 1, 2, 3), t2, (2, 3, 4, 0), (1, 4), optimize=True) * -1 + rdm2.vovo = einsum(tmp4, (0, 1), delta.oo, (2, 3), (0, 3, 1, 2), optimize=True) * 0.5 + rdm2.voov = einsum(tmp4, (0, 1), delta.oo, (2, 3), (0, 3, 2, 1), optimize=True) * -0.5 + rdm2.ovvo = einsum(tmp4, (0, 1), delta.oo, (2, 3), (2, 0, 1, 3), optimize=True) * -0.5 + rdm2.ovov = einsum(tmp4, (0, 1), delta.oo, (2, 3), (2, 0, 3, 1), optimize=True) * 0.5 + tmp2 = einsum(t2, (0, 1, 2, 3), l2, (4, 3, 5, 1), (5, 0, 4, 2), optimize=True) + rdm2.vovo += tmp2.transpose((2, 1, 3, 0)) * -1 + rdm2.voov += tmp2.transpose((2, 1, 0, 3)) + rdm2.ovvo += tmp2.transpose((1, 2, 3, 0)) + rdm2.ovov += tmp2.transpose((1, 2, 0, 3)) * -1 + tmp1 = einsum(l2, (0, 1, 2, 3), t2, (4, 3, 0, 1), (2, 4), optimize=True) + rdm2.oooo = einsum(delta.oo, (0, 1), tmp1, (2, 3), (0, 3, 1, 2), optimize=True) * -0.5 + rdm2.oooo += einsum(tmp1, (0, 1), delta.oo, (2, 3), (1, 3, 2, 0), optimize=True) * 0.5 + rdm2.oooo += einsum(tmp1, (0, 1), delta.oo, (2, 3), (2, 1, 0, 3), optimize=True) * 0.5 + rdm2.oooo += einsum(delta.oo, (0, 1), tmp1, (2, 3), (3, 1, 2, 0), optimize=True) * -0.5 + tmp5 = einsum(tmp4, (0, 1), t2, (2, 3, 4, 0), (2, 3, 4, 1), optimize=True) + del tmp4 + rdm2.oovv = tmp5.transpose((0, 1, 3, 2)).copy() * 0.5 + rdm2.oovv += tmp5 * -0.5 + del tmp5 + tmp0 = einsum(t2, (0, 1, 2, 3), l2, (2, 3, 4, 5), (4, 5, 0, 1), optimize=True) + rdm2.oovv += einsum(t2, (0, 1, 2, 3), tmp0, (0, 1, 4, 5), (5, 4, 3, 2), optimize=True) * 0.25 + rdm2.oooo += tmp0.transpose((3, 2, 1, 0)) * 0.5 + del tmp0 + tmp3 = einsum(t2, (0, 1, 2, 3), tmp2, (1, 4, 3, 5), (4, 0, 5, 2), optimize=True) + del tmp2 + rdm2.oovv += tmp3.transpose((0, 1, 3, 2)) * -1 + rdm2.oovv += tmp3 + del tmp3 + tmp6 = einsum(t2, (0, 1, 2, 3), tmp1, (1, 4), (0, 4, 2, 3), optimize=True) + del tmp1 + rdm2.oovv += tmp6.transpose((1, 0, 3, 2)) * -0.5 + rdm2.oovv += tmp6.transpose((0, 1, 3, 2)) * 0.5 + del tmp6 + rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (3, 1, 2, 0), optimize=True) + rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (1, 2, 3, 0), optimize=True) * -1 + del delta + rdm2.oovv += t2.transpose((1, 0, 3, 2)) + rdm2.vvoo = l2.transpose((1, 0, 3, 2)).copy() + rdm2.vvvv = einsum(t2, (0, 1, 2, 3), l2, (4, 5, 0, 1), (5, 4, 3, 2), optimize=True) * 0.5 + rdm2.ooov = np.zeros((t2.shape[0], t2.shape[0], t2.shape[0], t2.shape[-1])) + rdm2.oovo = np.zeros((t2.shape[0], t2.shape[0], t2.shape[-1], t2.shape[0])) + rdm2.ovoo = np.zeros((t2.shape[0], t2.shape[-1], t2.shape[0], t2.shape[0])) + rdm2.vooo = np.zeros((t2.shape[-1], t2.shape[0], t2.shape[0], t2.shape[0])) + rdm2.ovvv = np.zeros((t2.shape[0], t2.shape[-1], t2.shape[-1], t2.shape[-1])) + rdm2.vovv = np.zeros((t2.shape[-1], t2.shape[0], t2.shape[-1], t2.shape[-1])) + rdm2.vvov = np.zeros((t2.shape[-1], t2.shape[-1], t2.shape[0], t2.shape[-1])) + rdm2.vvvo = np.zeros((t2.shape[-1], t2.shape[-1], t2.shape[-1], t2.shape[0])) + rdm2 = pack_2e(rdm2.oooo, rdm2.ooov, rdm2.oovo, rdm2.ovoo, rdm2.vooo, rdm2.oovv, rdm2.ovov, rdm2.ovvo, rdm2.voov, rdm2.vovo, rdm2.vvoo, rdm2.ovvv, rdm2.vovv, rdm2.vvov, rdm2.vvvo, rdm2.vvvv) + rdm2 = rdm2.swapaxes(1, 2) + + return rdm2 + diff --git a/ebcc/codegen/GCCSD.py b/ebcc/codegen/GCCSD.py index 95f3dc37..69f97dd8 100644 --- a/ebcc/codegen/GCCSD.py +++ b/ebcc/codegen/GCCSD.py @@ -2,23 +2,23 @@ Code generated by `albert`: https://github.com/obackhouse/albert - * date: 2024-03-02T15:24:42.798018 - * python version: 3.10.12 (main, Nov 20 2023, 15:14:05) [GCC 11.4.0] + * date: 2024-07-18T20:10:22.664181 + * python version: 3.10.12 (main, Mar 22 2024, 16:50:05) [GCC 11.4.0] * albert version: 0.0.0 * caller: /home/ollie/git/albert/albert/codegen/einsum.py * node: ollie-desktop * system: Linux * processor: x86_64 - * release: 6.5.0-21-generic + * release: 6.5.0-44-generic """ from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, Namespace +from ebcc.util import pack_2e, einsum, direct_sum, Namespace def energy(f=None, t1=None, t2=None, v=None, **kwargs): """ - Code generated by `albert` 0.0.0 on 2024-03-02T15:24:42.982804. + Code generated by `albert` 0.0.0 on 2024-07-18T20:10:22.833677. Parameters ---------- @@ -37,9 +37,9 @@ def energy(f=None, t1=None, t2=None, v=None, **kwargs): Coupled cluster energy. """ - tmp0 = einsum(t1, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) * 2 - tmp0 += t2.transpose((1, 0, 3, 2)) - e_cc = einsum(tmp0, (0, 1, 2, 3), v.oovv, (0, 1, 2, 3), (), optimize=True) * 0.25 + tmp0 = t2.transpose((1, 0, 3, 2)).copy() + tmp0 += einsum(t1, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) * 2 + e_cc = einsum(v.oovv, (0, 1, 2, 3), tmp0, (0, 1, 2, 3), (), optimize=True) * 0.25 del tmp0 e_cc += einsum(f.ov, (0, 1), t1, (0, 1), (), optimize=True) @@ -47,7 +47,7 @@ def energy(f=None, t1=None, t2=None, v=None, **kwargs): def update_amps(f=None, t1=None, t2=None, v=None, **kwargs): """ - Code generated by `albert` 0.0.0 on 2024-03-02T15:24:49.127945. + Code generated by `albert` 0.0.0 on 2024-07-18T20:10:27.948736. Parameters ---------- @@ -68,167 +68,167 @@ def update_amps(f=None, t1=None, t2=None, v=None, **kwargs): Updated T2 residuals. """ - tmp2 = einsum(t1, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) - tmp2 += t2.transpose((1, 0, 3, 2)) * 0.5 - t2new = einsum(tmp2, (0, 1, 2, 3), v.vvvv, (2, 3, 4, 5), (1, 0, 4, 5), optimize=True) * -1 - tmp7 = einsum(t1, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) * 2 - tmp7 += t2.transpose((1, 0, 3, 2)) - tmp49 = einsum(v.oovv, (0, 1, 2, 3), tmp7, (4, 5, 2, 3), (1, 0, 5, 4), optimize=True) - tmp49 += v.oooo.transpose((2, 3, 1, 0)) * -2 - t2new += einsum(tmp7, (0, 1, 2, 3), tmp49, (0, 1, 4, 5), (4, 5, 3, 2), optimize=True) * -0.25 - del tmp49 - tmp45 = einsum(v.ovvv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2), optimize=True) - tmp47 = einsum(t1, (0, 1), tmp45, (2, 3, 4, 1), (2, 0, 3, 4), optimize=True) * -1 - tmp48 = einsum(tmp47, (0, 1, 2, 3), t1, (2, 4), (1, 0, 4, 3), optimize=True) * -1 - del tmp47 - t2new += tmp48.transpose((0, 1, 3, 2)) - t2new += tmp48 * -1 - del tmp48 - tmp46 = einsum(tmp45, (0, 1, 2, 3), t2, (4, 1, 5, 3), (0, 4, 5, 2), optimize=True) * -1 - del tmp45 - t2new += tmp46.transpose((1, 0, 3, 2)) - t2new += tmp46.transpose((1, 0, 2, 3)) * -1 - t2new += tmp46.transpose((0, 1, 3, 2)) * -1 - t2new += tmp46 - del tmp46 - tmp44 = einsum(f.oo, (0, 1), t2, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) - t2new += tmp44.transpose((1, 0, 3, 2)) - t2new += tmp44.transpose((0, 1, 3, 2)) * -1 - del tmp44 - tmp42 = einsum(f.vv, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4), optimize=True) - tmp43 = tmp42.transpose((1, 0, 2, 3)).copy() * -1 - del tmp42 - tmp41 = einsum(t1, (0, 1), v.ooov, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) - tmp43 += tmp41.transpose((1, 0, 2, 3)) * -1 - del tmp41 - t2new += tmp43.transpose((0, 1, 3, 2)) - t2new += tmp43 * -1 - del tmp43 - tmp38 = einsum(t1, (0, 1), t1, (2, 3), (0, 2, 3, 1), optimize=True) * -1 - tmp38 += t2.transpose((1, 0, 3, 2)) - tmp39 = einsum(tmp38, (0, 1, 2, 3), v.ovov, (0, 4, 5, 2), (1, 5, 3, 4), optimize=True) - del tmp38 - tmp40 = tmp39.copy() * -1 - del tmp39 - tmp36 = einsum(v.ooov, (0, 1, 2, 3), t2, (4, 0, 5, 3), (4, 1, 2, 5), optimize=True) * -1 - tmp37 = einsum(t1, (0, 1), tmp36, (2, 0, 3, 4), (2, 3, 1, 4), optimize=True) - del tmp36 - tmp40 += tmp37 - del tmp37 - t2new += tmp40.transpose((1, 0, 3, 2)) - t2new += tmp40.transpose((1, 0, 2, 3)) * -1 - t2new += tmp40.transpose((0, 1, 3, 2)) * -1 - t2new += tmp40 - del tmp40 - tmp3 = einsum(t1, (0, 1), v.oovv, (2, 0, 3, 1), (2, 3), optimize=True) - tmp33 = einsum(tmp3, (0, 1), t1, (2, 1), (2, 0), optimize=True) - tmp34 = einsum(t2, (0, 1, 2, 3), tmp33, (4, 1), (4, 0, 2, 3), optimize=True) * -1 - del tmp33 - tmp35 = tmp34.transpose((0, 1, 3, 2)).copy() * -1 - del tmp34 - tmp6 = einsum(v.ooov, (0, 1, 2, 3), t1, (0, 3), (1, 2), optimize=True) * -1 - tmp32 = einsum(tmp6, (0, 1), t2, (2, 0, 3, 4), (2, 1, 3, 4), optimize=True) * -1 - tmp35 += tmp32.transpose((0, 1, 3, 2)) - del tmp32 - tmp31 = einsum(v.ovvv, (0, 1, 2, 3), t1, (4, 1), (4, 0, 2, 3), optimize=True) - tmp35 += tmp31.transpose((0, 1, 3, 2)) * -1 - del tmp31 - t2new += tmp35.transpose((1, 0, 2, 3)) - t2new += tmp35 * -1 - del tmp35 + tmp3 = einsum(v.oovv, (0, 1, 2, 3), t1, (1, 3), (0, 2), optimize=True) + tmp21 = einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 2, 3), (0, 1, 4, 5), optimize=True) + tmp20 = einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) + tmp9 = einsum(v.ovvv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2), optimize=True) + tmp39 = einsum(v.ooov, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2), optimize=True) + tmp7 = t2.transpose((1, 0, 3, 2)).copy() + tmp7 += einsum(t1, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) * 2 + tmp37 = einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 2, 3), (0, 4), optimize=True) * -1 + tmp5 = einsum(f.ov, (0, 1), t1, (2, 1), (0, 2), optimize=True) + tmp44 = einsum(tmp3, (0, 1), t1, (2, 1), (2, 0), optimize=True) + tmp6 = einsum(t1, (0, 1), v.ooov, (0, 2, 3, 1), (2, 3), optimize=True) * -1 tmp0 = einsum(t1, (0, 1), v.oovv, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) - tmp29 = einsum(t2, (0, 1, 2, 3), tmp0, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) - tmp30 = einsum(tmp29, (0, 1, 2, 3), t1, (2, 4), (0, 1, 4, 3), optimize=True) - del tmp29 - t2new += tmp30.transpose((1, 0, 3, 2)) * -1 - t2new += tmp30.transpose((1, 0, 2, 3)) - t2new += tmp30.transpose((0, 1, 3, 2)) - t2new += tmp30 * -1 - del tmp30 - tmp26 = einsum(v.ooov, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2), optimize=True) - tmp27 = einsum(tmp7, (0, 1, 2, 3), tmp26, (4, 0, 1, 5), (4, 5, 2, 3), optimize=True) * 0.5 - del tmp26 - tmp28 = tmp27.transpose((0, 1, 3, 2)).copy() * -1 - del tmp27 - tmp24 = einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 2, 3), (0, 4), optimize=True) * -1 - tmp25 = einsum(tmp24, (0, 1), t2, (2, 1, 3, 4), (2, 0, 3, 4), optimize=True) - del tmp24 - tmp28 += tmp25.transpose((0, 1, 3, 2)) * -0.5 - del tmp25 - tmp5 = einsum(t1, (0, 1), f.ov, (2, 1), (2, 0), optimize=True) - tmp23 = einsum(t2, (0, 1, 2, 3), tmp5, (1, 4), (4, 0, 2, 3), optimize=True) - tmp28 += tmp23.transpose((0, 1, 3, 2)) - del tmp23 - t2new += tmp28.transpose((1, 0, 2, 3)) - t2new += tmp28 * -1 - del tmp28 - tmp19 = einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 2, 3), (0, 1, 4, 5), optimize=True) - tmp20 = tmp19.transpose((2, 1, 0, 3)).copy() * 0.5 - del tmp19 - tmp18 = einsum(t2, (0, 1, 2, 3), f.ov, (4, 3), (4, 0, 1, 2), optimize=True) - tmp20 += tmp18.transpose((0, 2, 1, 3)) * -1 - del tmp18 - tmp21 = einsum(tmp20, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4), optimize=True) + tmp13 = einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 3, 5), (0, 4, 2, 5), optimize=True) + tmp15 = einsum(tmp3, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4), optimize=True) * -1 + tmp11 = einsum(v.ovvv, (0, 1, 2, 3), t1, (0, 2), (1, 3), optimize=True) * -1 + tmp31 = einsum(v.ooov, (0, 1, 2, 3), t2, (4, 0, 5, 3), (4, 1, 2, 5), optimize=True) * -1 + tmp33 = t2.transpose((1, 0, 3, 2)).copy() + tmp33 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 3, 1), optimize=True) * -1 + tmp22 = tmp20.transpose((0, 2, 1, 3)).copy() * -1 del tmp20 - tmp22 = tmp21.transpose((1, 0, 3, 2)).copy() + tmp22 += tmp21.transpose((2, 1, 0, 3)) * 0.5 del tmp21 - tmp16 = einsum(v.oovv, (0, 1, 2, 3), t2, (0, 1, 4, 2), (4, 3), optimize=True) * -1 - tmp17 = einsum(t2, (0, 1, 2, 3), tmp16, (4, 3), (0, 1, 2, 4), optimize=True) - del tmp16 - tmp22 += tmp17 * 0.5 - del tmp17 - t2new += tmp22.transpose((0, 1, 3, 2)) - t2new += tmp22 * -1 - del tmp22 - tmp13 = einsum(t2, (0, 1, 2, 3), tmp3, (4, 3), (0, 1, 4, 2), optimize=True) * -1 - tmp14 = einsum(t1, (0, 1), tmp13, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) + tmp18 = einsum(v.oovv, (0, 1, 2, 3), t2, (0, 1, 4, 2), (4, 3), optimize=True) * -1 + tmp27 = einsum(v.ooov, (0, 1, 2, 3), t1, (2, 4), (0, 1, 4, 3), optimize=True) + tmp28 = einsum(f.vv, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4), optimize=True) + tmp25 = einsum(tmp9, (0, 1, 2, 3), t1, (4, 3), (0, 4, 1, 2), optimize=True) * -1 + tmp40 = einsum(tmp7, (0, 1, 2, 3), tmp39, (4, 0, 1, 5), (4, 5, 2, 3), optimize=True) * 0.5 + del tmp39 + tmp38 = einsum(tmp37, (0, 1), t2, (2, 1, 3, 4), (2, 0, 3, 4), optimize=True) + del tmp37 + tmp36 = einsum(t2, (0, 1, 2, 3), tmp5, (1, 4), (4, 0, 2, 3), optimize=True) + tmp45 = einsum(tmp44, (0, 1), t2, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) * -1 + del tmp44 + tmp42 = einsum(v.ovvv, (0, 1, 2, 3), t1, (4, 1), (4, 0, 2, 3), optimize=True) + tmp43 = einsum(tmp6, (0, 1), t2, (2, 0, 3, 4), (2, 1, 3, 4), optimize=True) * -1 + tmp47 = einsum(t2, (0, 1, 2, 3), tmp0, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) + tmp14 = einsum(tmp13, (0, 1, 2, 3), t2, (4, 1, 5, 3), (0, 4, 2, 5), optimize=True) del tmp13 - tmp15 = tmp14.copy() * -1 - del tmp14 - tmp11 = einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 3, 5), (0, 4, 2, 5), optimize=True) - tmp12 = einsum(t2, (0, 1, 2, 3), tmp11, (4, 1, 5, 3), (0, 4, 2, 5), optimize=True) + tmp16 = einsum(t1, (0, 1), tmp15, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) + del tmp15 + tmp12 = einsum(tmp11, (0, 1), t2, (2, 3, 4, 1), (2, 3, 4, 0), optimize=True) * -1 del tmp11 - tmp15 += tmp12 - del tmp12 - tmp9 = einsum(t1, (0, 1), v.ovvv, (0, 2, 1, 3), (2, 3), optimize=True) * -1 - tmp10 = einsum(tmp9, (0, 1), t2, (2, 3, 4, 1), (2, 3, 4, 0), optimize=True) * -1 + tmp32 = einsum(tmp31, (0, 1, 2, 3), t1, (1, 4), (0, 2, 4, 3), optimize=True) + del tmp31 + tmp34 = einsum(v.ovov, (0, 1, 2, 3), tmp33, (0, 4, 3, 5), (4, 2, 5, 1), optimize=True) + del tmp33 + tmp23 = einsum(t1, (0, 1), tmp22, (0, 2, 3, 4), (2, 3, 4, 1), optimize=True) + del tmp22 + tmp19 = einsum(t2, (0, 1, 2, 3), tmp18, (4, 3), (0, 1, 2, 4), optimize=True) + del tmp18 + tmp29 = tmp27.transpose((1, 0, 2, 3)).copy() * -1 + del tmp27 + tmp29 += tmp28.transpose((1, 0, 2, 3)) * -1 + del tmp28 + t2new = tmp29.transpose((0, 1, 3, 2)).copy() + t2new += tmp29 * -1 + del tmp29 + tmp26 = einsum(t1, (0, 1), tmp25, (2, 3, 0, 4), (3, 2, 1, 4), optimize=True) * -1 + del tmp25 + t2new += tmp26.transpose((0, 1, 3, 2)) + t2new += tmp26 * -1 + del tmp26 + tmp30 = einsum(t2, (0, 1, 2, 3), f.oo, (4, 1), (4, 0, 2, 3), optimize=True) + t2new += tmp30.transpose((1, 0, 3, 2)) + t2new += tmp30.transpose((0, 1, 3, 2)) * -1 + del tmp30 + tmp41 = tmp36.transpose((0, 1, 3, 2)).copy() + del tmp36 + tmp41 += tmp38.transpose((0, 1, 3, 2)) * -0.5 + del tmp38 + tmp41 += tmp40.transpose((0, 1, 3, 2)) * -1 + del tmp40 + t2new += tmp41.transpose((1, 0, 2, 3)) + t2new += tmp41 * -1 + del tmp41 + tmp46 = tmp42.transpose((0, 1, 3, 2)).copy() * -1 + del tmp42 + tmp46 += tmp43.transpose((0, 1, 3, 2)) + del tmp43 + tmp46 += tmp45.transpose((0, 1, 3, 2)) * -1 + del tmp45 + t2new += tmp46.transpose((1, 0, 2, 3)) + t2new += tmp46 * -1 + del tmp46 + tmp10 = einsum(tmp9, (0, 1, 2, 3), t2, (4, 1, 5, 3), (0, 4, 5, 2), optimize=True) * -1 del tmp9 - tmp15 += tmp10 + t2new += tmp10.transpose((1, 0, 3, 2)) + t2new += tmp10.transpose((1, 0, 2, 3)) * -1 + t2new += tmp10.transpose((0, 1, 3, 2)) * -1 + t2new += tmp10 del tmp10 - t2new += tmp15.transpose((0, 1, 3, 2)) * -1 - t2new += tmp15 - del tmp15 - t2new += v.oovv.transpose((1, 0, 3, 2)) - tmp8 = einsum(tmp7, (0, 1, 2, 3), v.oovv, (0, 4, 2, 3), (4, 1), optimize=True) - del tmp7 - tmp8 += tmp6 * 2 - del tmp6 + tmp48 = einsum(t1, (0, 1), tmp47, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) + del tmp47 + t2new += tmp48.transpose((1, 0, 3, 2)) * -1 + t2new += tmp48.transpose((1, 0, 2, 3)) + t2new += tmp48.transpose((0, 1, 3, 2)) + t2new += tmp48 * -1 + del tmp48 + tmp17 = tmp12.copy() + del tmp12 + tmp17 += tmp14 + del tmp14 + tmp17 += tmp16 * -1 + del tmp16 + t2new += tmp17.transpose((0, 1, 3, 2)) * -1 + t2new += tmp17 + del tmp17 + tmp35 = tmp32.copy() + del tmp32 + tmp35 += tmp34 * -1 + del tmp34 + t2new += tmp35.transpose((1, 0, 3, 2)) + t2new += tmp35.transpose((1, 0, 2, 3)) * -1 + t2new += tmp35.transpose((0, 1, 3, 2)) * -1 + t2new += tmp35 + del tmp35 + tmp24 = tmp19.copy() * 0.5 + del tmp19 + tmp24 += tmp23.transpose((1, 0, 3, 2)) + del tmp23 + t2new += tmp24.transpose((0, 1, 3, 2)) + t2new += tmp24 * -1 + del tmp24 + tmp49 = v.oooo.transpose((2, 3, 1, 0)).copy() * -1 + tmp49 += einsum(v.oovv, (0, 1, 2, 3), tmp7, (4, 5, 2, 3), (1, 0, 5, 4), optimize=True) * 0.5 + t2new += einsum(tmp7, (0, 1, 2, 3), tmp49, (0, 1, 4, 5), (4, 5, 3, 2), optimize=True) * -0.5 + del tmp49 + tmp2 = t2.transpose((1, 0, 3, 2)).copy() * 0.5 + tmp2 += einsum(t1, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) + t2new += einsum(tmp2, (0, 1, 2, 3), v.vvvv, (2, 3, 4, 5), (1, 0, 4, 5), optimize=True) * -1 + t1new = einsum(tmp2, (0, 1, 2, 3), v.ovvv, (0, 4, 2, 3), (1, 4), optimize=True) + del tmp2 + tmp8 = f.oo.transpose((1, 0)).copy() * 2 tmp8 += tmp5 * 2 del tmp5 - tmp8 += f.oo.transpose((1, 0)) * 2 - t1new = einsum(tmp8, (0, 1), t1, (0, 2), (1, 2), optimize=True) * -0.5 + tmp8 += tmp6 * 2 + del tmp6 + tmp8 += einsum(v.oovv, (0, 1, 2, 3), tmp7, (0, 4, 2, 3), (1, 4), optimize=True) + del tmp7 + t1new += einsum(tmp8, (0, 1), t1, (0, 2), (1, 2), optimize=True) * -0.5 del tmp8 - tmp4 = tmp3.copy() + tmp4 = f.ov.copy() + tmp4 += tmp3 del tmp3 - tmp4 += f.ov t1new += einsum(t2, (0, 1, 2, 3), tmp4, (0, 2), (1, 3), optimize=True) del tmp4 - t1new += einsum(v.ovvv, (0, 1, 2, 3), tmp2, (0, 4, 2, 3), (4, 1), optimize=True) - del tmp2 - tmp1 = tmp0.transpose((0, 2, 1, 3)).copy() * -1 + tmp1 = v.ooov.transpose((2, 1, 0, 3)).copy() + tmp1 += tmp0.transpose((0, 2, 1, 3)) * -1 del tmp0 - tmp1 += v.ooov.transpose((2, 1, 0, 3)) t1new += einsum(tmp1, (0, 1, 2, 3), t2, (1, 2, 3, 4), (0, 4), optimize=True) * -0.5 del tmp1 - t1new += einsum(t1, (0, 1), f.vv, (2, 1), (0, 2), optimize=True) t1new += f.ov t1new += einsum(v.ovov, (0, 1, 2, 3), t1, (2, 1), (0, 3), optimize=True) * -1 + t1new += einsum(f.vv, (0, 1), t1, (2, 1), (2, 0), optimize=True) + t2new += v.oovv.transpose((1, 0, 3, 2)) return {f"t1new": t1new, f"t2new": t2new} def update_lams(f=None, l1=None, l2=None, t1=None, t2=None, v=None, **kwargs): """ - Code generated by `albert` 0.0.0 on 2024-03-02T15:24:59.466285. + Code generated by `albert` 0.0.0 on 2024-07-18T20:10:35.470671. Parameters ---------- @@ -253,215 +253,216 @@ def update_lams(f=None, l1=None, l2=None, t1=None, t2=None, v=None, **kwargs): Updated L2 residuals. """ - tmp1 = einsum(l2, (0, 1, 2, 3), t1, (4, 1), (2, 3, 4, 0), optimize=True) - tmp2 = einsum(t1, (0, 1), tmp1, (2, 3, 4, 1), (2, 3, 0, 4), optimize=True) - tmp59 = tmp2.transpose((0, 1, 3, 2)).copy() * 2 - tmp0 = einsum(l2, (0, 1, 2, 3), t2, (4, 5, 0, 1), (2, 3, 4, 5), optimize=True) - tmp59 += tmp0.transpose((1, 0, 3, 2)) * -1 - l2new = einsum(v.oovv, (0, 1, 2, 3), tmp59, (4, 5, 0, 1), (3, 2, 5, 4), optimize=True) * -0.25 - del tmp59 + tmp27 = einsum(v.oovv, (0, 1, 2, 3), t2, (1, 4, 2, 3), (4, 0), optimize=True) * -1 + tmp26 = einsum(t1, (0, 1), v.ooov, (2, 0, 3, 1), (2, 3), optimize=True) + tmp19 = einsum(l1, (0, 1), t1, (2, 0), (1, 2), optimize=True) + tmp20 = einsum(l2, (0, 1, 2, 3), t2, (2, 4, 0, 1), (3, 4), optimize=True) + tmp35 = einsum(t2, (0, 1, 2, 3), v.oovv, (0, 1, 4, 2), (3, 4), optimize=True) * -1 + tmp24 = einsum(v.ovvv, (0, 1, 2, 3), t1, (0, 3), (1, 2), optimize=True) tmp5 = einsum(t1, (0, 1), v.oovv, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) - tmp11 = tmp5.transpose((2, 1, 0, 3)).copy() * 0.5 - tmp11 += v.ooov.transpose((1, 0, 2, 3)) * -1 - tmp58 = einsum(t1, (0, 1), tmp11, (2, 3, 4, 1), (4, 0, 3, 2), optimize=True) * -4 - tmp10 = einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 2, 3), (0, 1, 4, 5), optimize=True) - tmp58 += tmp10.transpose((1, 0, 3, 2)) - tmp58 += v.oooo.transpose((2, 3, 1, 0)) * -2 - l2new += einsum(l2, (0, 1, 2, 3), tmp58, (2, 3, 4, 5), (1, 0, 4, 5), optimize=True) * -0.25 - del tmp58 - l2new += einsum(f.ov, (0, 1), l1, (2, 3), (2, 1, 3, 0), optimize=True) - l2new += einsum(l1, (0, 1), f.ov, (2, 3), (3, 0, 1, 2), optimize=True) * -1 - l2new += einsum(l1, (0, 1), f.ov, (2, 3), (0, 3, 2, 1), optimize=True) * -1 - l2new += einsum(l1, (0, 1), f.ov, (2, 3), (3, 0, 2, 1), optimize=True) - tmp56 = einsum(v.ovvv, (0, 1, 2, 3), l1, (1, 4), (4, 0, 2, 3), optimize=True) - tmp57 = tmp56.transpose((0, 1, 3, 2)).copy() - del tmp56 - tmp55 = einsum(f.oo, (0, 1), l2, (2, 3, 4, 1), (0, 4, 2, 3), optimize=True) - tmp57 += tmp55.transpose((0, 1, 3, 2)) * -1 - del tmp55 - l2new += tmp57.transpose((2, 3, 1, 0)) * -1 - l2new += tmp57.transpose((2, 3, 0, 1)) - del tmp57 tmp4 = einsum(v.ovvv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2), optimize=True) - tmp52 = tmp4.copy() - tmp52 += v.ovov.transpose((2, 0, 1, 3)) * -1 - tmp53 = einsum(tmp52, (0, 1, 2, 3), l2, (2, 4, 0, 5), (1, 5, 3, 4), optimize=True) + tmp1 = einsum(l2, (0, 1, 2, 3), t1, (4, 1), (2, 3, 4, 0), optimize=True) + l2new = einsum(v.ovvv, (0, 1, 2, 3), tmp1, (4, 5, 0, 1), (2, 3, 4, 5), optimize=True) + l1new = einsum(v.ovov, (0, 1, 2, 3), tmp1, (4, 0, 2, 3), (1, 4), optimize=True) * -1 + l1new += einsum(tmp1, (0, 1, 2, 3), tmp4, (1, 2, 3, 4), (4, 0), optimize=True) + tmp52 = einsum(t2, (0, 1, 2, 3), v.oovv, (4, 0, 2, 5), (1, 4, 3, 5), optimize=True) * -1 + tmp43 = einsum(f.ov, (0, 1), t1, (2, 1), (0, 2), optimize=True) + tmp46 = tmp26.copy() * 2 + tmp46 += tmp27.transpose((1, 0)) + tmp23 = tmp19.copy() + tmp23 += tmp20 * 0.5 + l1new += einsum(tmp23, (0, 1), v.ooov, (1, 2, 0, 3), (3, 2), optimize=True) * -1 + tmp36 = tmp24.copy() + tmp36 += tmp35 * 0.5 + del tmp35 + tmp6 = v.ooov.transpose((2, 1, 0, 3)).copy() + tmp6 += tmp5.transpose((0, 2, 1, 3)) * -1 + tmp17 = einsum(t2, (0, 1, 2, 3), l2, (2, 4, 0, 1), (4, 3), optimize=True) + tmp7 = einsum(v.oovv, (0, 1, 2, 3), t1, (1, 3), (0, 2), optimize=True) + tmp30 = v.ovov.transpose((2, 0, 1, 3)).copy() * -1 + tmp30 += tmp4 + tmp0 = einsum(t2, (0, 1, 2, 3), l2, (2, 3, 4, 5), (4, 5, 0, 1), optimize=True) + l1new += einsum(v.ooov, (0, 1, 2, 3), tmp0, (4, 2, 0, 1), (3, 4), optimize=True) * -0.25 + tmp2 = einsum(tmp1, (0, 1, 2, 3), t1, (4, 3), (0, 1, 4, 2), optimize=True) + l1new += einsum(tmp2, (0, 1, 2, 3), v.ooov, (3, 2, 1, 4), (4, 0), optimize=True) * 0.5 + tmp11 = v.ooov.transpose((1, 0, 2, 3)).copy() * -1 + tmp11 += tmp5.transpose((2, 1, 0, 3)) * 0.5 + tmp10 = einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 2, 3), (0, 1, 4, 5), optimize=True) + tmp53 = einsum(tmp52, (0, 1, 2, 3), l2, (4, 2, 0, 5), (5, 1, 4, 3), optimize=True) * -1 del tmp52 - tmp54 = tmp53.transpose((1, 0, 3, 2)).copy() + tmp54 = einsum(tmp5, (0, 1, 2, 3), tmp1, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) * -1 + del tmp5 + tmp44 = einsum(l2, (0, 1, 2, 3), tmp43, (4, 3), (4, 2, 0, 1), optimize=True) + del tmp43 + tmp47 = einsum(l2, (0, 1, 2, 3), tmp46, (4, 2), (4, 3, 0, 1), optimize=True) * 0.5 + del tmp46 + tmp45 = einsum(tmp23, (0, 1), v.oovv, (1, 2, 3, 4), (0, 2, 3, 4), optimize=True) + tmp40 = einsum(l2, (0, 1, 2, 3), f.oo, (4, 3), (4, 2, 0, 1), optimize=True) + tmp41 = einsum(v.ovvv, (0, 1, 2, 3), l1, (1, 4), (4, 0, 2, 3), optimize=True) + tmp37 = einsum(l2, (0, 1, 2, 3), tmp36, (0, 4), (2, 3, 4, 1), optimize=True) + del tmp36 + tmp38 = einsum(tmp6, (0, 1, 2, 3), l1, (4, 0), (1, 2, 3, 4), optimize=True) + tmp33 = einsum(f.ov, (0, 1), tmp1, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) + tmp34 = einsum(v.oovv, (0, 1, 2, 3), tmp17, (4, 3), (1, 0, 4, 2), optimize=True) + tmp49 = einsum(f.vv, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2), optimize=True) + tmp50 = einsum(tmp7, (0, 1), tmp1, (2, 3, 0, 4), (2, 3, 4, 1), optimize=True) + tmp29 = einsum(tmp1, (0, 1, 2, 3), v.ooov, (4, 2, 1, 5), (0, 4, 3, 5), optimize=True) + tmp31 = einsum(l2, (0, 1, 2, 3), tmp30, (2, 4, 0, 5), (4, 3, 5, 1), optimize=True) + del tmp30 + tmp56 = einsum(tmp7, (0, 1), t1, (2, 1), (2, 0), optimize=True) + tmp21 = tmp19.copy() * 2 + del tmp19 + tmp21 += tmp20 + del tmp20 + tmp15 = tmp0.transpose((1, 0, 3, 2)).copy() * -0.5 + tmp15 += tmp2.transpose((0, 1, 3, 2)) + tmp8 = f.ov.copy() + tmp8 += tmp7 + l1new += einsum(tmp8, (0, 1), tmp23, (2, 0), (1, 2), optimize=True) * -1 + del tmp23 + tmp12 = v.oooo.transpose((2, 3, 1, 0)).copy() * 0.5 + tmp12 += tmp10.transpose((3, 2, 1, 0)) * -0.25 + tmp12 += einsum(tmp11, (0, 1, 2, 3), t1, (4, 3), (1, 0, 4, 2), optimize=True) * -1 + tmp9 = v.ovov.transpose((2, 0, 3, 1)).copy() + tmp9 += tmp4.transpose((0, 1, 3, 2)) * -0.5 + del tmp4 + tmp55 = tmp53.copy() del tmp53 - tmp51 = einsum(tmp1, (0, 1, 2, 3), v.ooov, (4, 2, 1, 5), (0, 4, 3, 5), optimize=True) - tmp54 += tmp51 - del tmp51 - tmp7 = einsum(t1, (0, 1), v.oovv, (2, 0, 3, 1), (2, 3), optimize=True) - tmp54 += einsum(l1, (0, 1), tmp7, (2, 3), (1, 2, 0, 3), optimize=True) - l2new += tmp54.transpose((3, 2, 1, 0)) - l2new += tmp54.transpose((2, 3, 1, 0)) * -1 - l2new += tmp54.transpose((3, 2, 0, 1)) * -1 - l2new += tmp54.transpose((2, 3, 0, 1)) + tmp55 += tmp54 * -1 del tmp54 - tmp49 = einsum(tmp7, (0, 1), tmp1, (2, 3, 0, 4), (2, 3, 4, 1), optimize=True) - tmp50 = tmp49.copy() - del tmp49 - tmp48 = einsum(f.vv, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2), optimize=True) - tmp50 += tmp48.transpose((1, 0, 2, 3)) * -1 - del tmp48 - l2new += tmp50.transpose((3, 2, 0, 1)) - l2new += tmp50.transpose((2, 3, 0, 1)) * -1 - del tmp50 - tmp46 = einsum(tmp7, (0, 1), t1, (2, 1), (2, 0), optimize=True) - tmp47 = einsum(l2, (0, 1, 2, 3), tmp46, (3, 4), (2, 4, 0, 1), optimize=True) - del tmp46 - l2new += tmp47.transpose((2, 3, 1, 0)) - l2new += tmp47.transpose((2, 3, 0, 1)) * -1 - del tmp47 - tmp6 = tmp5.transpose((0, 2, 1, 3)).copy() * -1 - tmp6 += v.ooov.transpose((2, 1, 0, 3)) - tmp44 = einsum(tmp6, (0, 1, 2, 3), l1, (4, 0), (1, 2, 3, 4), optimize=True) - tmp45 = tmp44.transpose((1, 0, 3, 2)).copy() + l2new += tmp55.transpose((3, 2, 1, 0)) + l2new += tmp55.transpose((2, 3, 1, 0)) * -1 + l2new += tmp55.transpose((3, 2, 0, 1)) * -1 + l2new += tmp55.transpose((2, 3, 0, 1)) + del tmp55 + tmp59 = tmp0.transpose((1, 0, 3, 2)).copy() * -1 + del tmp0 + tmp59 += tmp2.transpose((0, 1, 3, 2)) * 2 + del tmp2 + l2new += einsum(tmp59, (0, 1, 2, 3), v.oovv, (2, 3, 4, 5), (5, 4, 1, 0), optimize=True) * -0.25 + del tmp59 + tmp48 = tmp44.transpose((0, 1, 3, 2)).copy() del tmp44 - tmp41 = einsum(t2, (0, 1, 2, 3), v.oovv, (0, 1, 4, 2), (3, 4), optimize=True) * -1 - tmp42 = tmp41.copy() * 0.5 + tmp48 += tmp45.transpose((0, 1, 3, 2)) * -1 + del tmp45 + tmp48 += tmp47.transpose((1, 0, 3, 2)) + del tmp47 + l2new += tmp48.transpose((3, 2, 1, 0)) * -1 + l2new += tmp48.transpose((3, 2, 0, 1)) + del tmp48 + tmp42 = tmp40.transpose((0, 1, 3, 2)).copy() * -1 + del tmp40 + tmp42 += tmp41.transpose((0, 1, 3, 2)) del tmp41 - tmp24 = einsum(v.ovvv, (0, 1, 2, 3), t1, (0, 3), (1, 2), optimize=True) - tmp42 += tmp24 - tmp43 = einsum(l2, (0, 1, 2, 3), tmp42, (0, 4), (2, 3, 4, 1), optimize=True) + l2new += tmp42.transpose((2, 3, 1, 0)) * -1 + l2new += tmp42.transpose((2, 3, 0, 1)) del tmp42 - tmp45 += tmp43.transpose((1, 0, 3, 2)) - del tmp43 - tmp17 = einsum(l2, (0, 1, 2, 3), t2, (2, 3, 0, 4), (1, 4), optimize=True) - tmp40 = einsum(tmp17, (0, 1), v.oovv, (2, 3, 4, 1), (3, 2, 0, 4), optimize=True) - tmp45 += tmp40 * 0.5 - del tmp40 - tmp39 = einsum(f.ov, (0, 1), tmp1, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) - tmp45 += tmp39 * -1 - del tmp39 - l2new += tmp45.transpose((3, 2, 0, 1)) - l2new += tmp45.transpose((2, 3, 0, 1)) * -1 - del tmp45 - tmp27 = einsum(v.oovv, (0, 1, 2, 3), t2, (1, 4, 2, 3), (4, 0), optimize=True) * -1 - tmp36 = tmp27.transpose((1, 0)).copy() - tmp26 = einsum(v.ooov, (0, 1, 2, 3), t1, (1, 3), (0, 2), optimize=True) - tmp36 += tmp26 * 2 - tmp37 = einsum(l2, (0, 1, 2, 3), tmp36, (4, 2), (4, 3, 0, 1), optimize=True) * 0.5 - del tmp36 - tmp38 = tmp37.transpose((1, 0, 3, 2)).copy() - del tmp37 - tmp20 = einsum(l2, (0, 1, 2, 3), t2, (2, 4, 0, 1), (3, 4), optimize=True) - tmp23 = tmp20.copy() * 0.5 - tmp19 = einsum(t1, (0, 1), l1, (1, 2), (2, 0), optimize=True) - tmp23 += tmp19 - tmp35 = einsum(tmp23, (0, 1), v.oovv, (1, 2, 3, 4), (0, 2, 3, 4), optimize=True) - tmp38 += tmp35.transpose((0, 1, 3, 2)) * -1 - del tmp35 - tmp33 = einsum(t1, (0, 1), f.ov, (2, 1), (2, 0), optimize=True) - tmp34 = einsum(tmp33, (0, 1), l2, (2, 3, 4, 1), (0, 4, 2, 3), optimize=True) + tmp58 = v.oooo.transpose((2, 3, 1, 0)).copy() * -1 + tmp58 += tmp10.transpose((1, 0, 3, 2)) * 0.5 + del tmp10 + tmp58 += einsum(tmp11, (0, 1, 2, 3), t1, (4, 3), (2, 4, 1, 0), optimize=True) * -2 + del tmp11 + l2new += einsum(l2, (0, 1, 2, 3), tmp58, (2, 3, 4, 5), (1, 0, 4, 5), optimize=True) * -0.5 + del tmp58 + tmp39 = tmp33.copy() * -1 del tmp33 - tmp38 += tmp34.transpose((0, 1, 3, 2)) + tmp39 += tmp34 * 0.5 del tmp34 - l2new += tmp38.transpose((3, 2, 1, 0)) * -1 - l2new += tmp38.transpose((3, 2, 0, 1)) + tmp39 += tmp37.transpose((1, 0, 3, 2)) + del tmp37 + tmp39 += tmp38.transpose((1, 0, 3, 2)) del tmp38 - tmp31 = einsum(tmp1, (0, 1, 2, 3), tmp5, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) * -1 - del tmp5 - tmp32 = tmp31.copy() * -1 - del tmp31 - tmp29 = einsum(v.oovv, (0, 1, 2, 3), t2, (1, 4, 2, 5), (4, 0, 5, 3), optimize=True) * -1 - tmp30 = einsum(tmp29, (0, 1, 2, 3), l2, (4, 2, 0, 5), (5, 1, 4, 3), optimize=True) * -1 + l2new += tmp39.transpose((3, 2, 0, 1)) + l2new += tmp39.transpose((2, 3, 0, 1)) * -1 + del tmp39 + tmp51 = tmp49.transpose((1, 0, 2, 3)).copy() * -1 + del tmp49 + tmp51 += tmp50 + del tmp50 + l2new += tmp51.transpose((3, 2, 0, 1)) + l2new += tmp51.transpose((2, 3, 0, 1)) * -1 + del tmp51 + tmp32 = einsum(tmp7, (0, 1), l1, (2, 3), (3, 0, 2, 1), optimize=True) + del tmp7 + tmp32 += tmp29 del tmp29 - tmp32 += tmp30 - del tmp30 + tmp32 += tmp31.transpose((1, 0, 3, 2)) + del tmp31 l2new += tmp32.transpose((3, 2, 1, 0)) l2new += tmp32.transpose((2, 3, 1, 0)) * -1 l2new += tmp32.transpose((3, 2, 0, 1)) * -1 l2new += tmp32.transpose((2, 3, 0, 1)) del tmp32 - l2new += einsum(tmp1, (0, 1, 2, 3), v.ovvv, (2, 3, 4, 5), (4, 5, 0, 1), optimize=True) - l2new += v.oovv.transpose((3, 2, 1, 0)) - l2new += einsum(l2, (0, 1, 2, 3), v.vvvv, (4, 5, 0, 1), (5, 4, 3, 2), optimize=True) * 0.5 - tmp8 = tmp7.copy() - del tmp7 - tmp8 += f.ov - l1new = einsum(tmp23, (0, 1), tmp8, (1, 2), (2, 0), optimize=True) * -1 - tmp28 = einsum(tmp8, (0, 1), t1, (2, 1), (2, 0), optimize=True) - tmp28 += tmp27 * 0.5 - del tmp27 - tmp28 += tmp26.transpose((1, 0)) - del tmp26 - tmp28 += f.oo.transpose((1, 0)) - l1new += einsum(l1, (0, 1), tmp28, (1, 2), (0, 2), optimize=True) * -1 - del tmp28 - tmp25 = tmp24.copy() * -1 - del tmp24 - tmp25 += f.vv.transpose((1, 0)) - l1new += einsum(l1, (0, 1), tmp25, (0, 2), (2, 1), optimize=True) - del tmp25 - l1new += einsum(v.ooov, (0, 1, 2, 3), tmp23, (2, 0), (3, 1), optimize=True) * -1 - del tmp23 - tmp21 = tmp20.copy() - del tmp20 - tmp21 += tmp19 * 2 - del tmp19 - tmp22 = einsum(t1, (0, 1), tmp21, (0, 2), (2, 1), optimize=True) * 0.5 - del tmp21 - tmp22 += einsum(tmp1, (0, 1, 2, 3), t2, (0, 1, 3, 4), (2, 4), optimize=True) * 0.5 - tmp22 += einsum(l1, (0, 1), t2, (2, 1, 3, 0), (2, 3), optimize=True) * -1 - tmp22 += t1 * -1 - l1new += einsum(v.oovv, (0, 1, 2, 3), tmp22, (0, 2), (3, 1), optimize=True) * -1 - del tmp22 - tmp18 = tmp17.copy() * 0.5 + tmp57 = einsum(tmp56, (0, 1), l2, (2, 3, 4, 0), (4, 1, 2, 3), optimize=True) + del tmp56 + l2new += tmp57.transpose((2, 3, 1, 0)) + l2new += tmp57.transpose((2, 3, 0, 1)) * -1 + del tmp57 + tmp18 = einsum(t1, (0, 1), l1, (2, 0), (2, 1), optimize=True) * 2 + tmp18 += tmp17 del tmp17 - tmp18 += einsum(t1, (0, 1), l1, (2, 0), (2, 1), optimize=True) - l1new += einsum(tmp18, (0, 1), v.ovvv, (2, 0, 1, 3), (3, 2), optimize=True) * -1 + l1new += einsum(v.ovvv, (0, 1, 2, 3), tmp18, (1, 2), (3, 0), optimize=True) * -0.5 del tmp18 - tmp15 = tmp2.transpose((0, 1, 3, 2)).copy() - tmp15 += tmp0.transpose((1, 0, 3, 2)) * -0.5 - tmp16 = einsum(t1, (0, 1), tmp15, (0, 2, 3, 4), (2, 4, 3, 1), optimize=True) * -0.5 - del tmp15 + tmp22 = t1.copy() * -1 + tmp22 += einsum(l1, (0, 1), t2, (2, 1, 3, 0), (2, 3), optimize=True) * -1 + tmp22 += einsum(t2, (0, 1, 2, 3), tmp1, (0, 1, 4, 2), (4, 3), optimize=True) * 0.5 + tmp22 += einsum(tmp21, (0, 1), t1, (0, 2), (1, 2), optimize=True) * 0.5 + del tmp21 + l1new += einsum(tmp22, (0, 1), v.oovv, (0, 2, 1, 3), (3, 2), optimize=True) * -1 + del tmp22 + tmp16 = einsum(t2, (0, 1, 2, 3), l1, (3, 4), (4, 1, 0, 2), optimize=True) * -0.5 tmp16 += einsum(tmp1, (0, 1, 2, 3), t2, (4, 1, 5, 3), (0, 4, 2, 5), optimize=True) * -1 - tmp16 += einsum(t2, (0, 1, 2, 3), l1, (3, 4), (4, 1, 0, 2), optimize=True) * -0.5 - l1new += einsum(tmp16, (0, 1, 2, 3), v.oovv, (1, 2, 3, 4), (4, 0), optimize=True) * -1 + del tmp1 + tmp16 += einsum(tmp15, (0, 1, 2, 3), t1, (0, 4), (1, 3, 2, 4), optimize=True) * -0.5 + del tmp15 + l1new += einsum(v.oovv, (0, 1, 2, 3), tmp16, (4, 0, 1, 2), (3, 4), optimize=True) * -1 del tmp16 - tmp14 = einsum(v.vvvv, (0, 1, 2, 3), t1, (4, 1), (4, 0, 3, 2), optimize=True) - tmp14 += v.ovvv.transpose((0, 1, 3, 2)) * -1 - l1new += einsum(l2, (0, 1, 2, 3), tmp14, (2, 4, 0, 1), (4, 3), optimize=True) * 0.5 - del tmp14 - tmp12 = einsum(tmp11, (0, 1, 2, 3), t1, (4, 3), (1, 0, 4, 2), optimize=True) * -1 - del tmp11 - tmp12 += tmp10.transpose((3, 2, 1, 0)) * -0.25 - del tmp10 - tmp12 += v.oooo.transpose((2, 3, 1, 0)) * 0.5 - tmp13 = einsum(t1, (0, 1), tmp12, (0, 2, 3, 4), (2, 4, 3, 1), optimize=True) * -1 - del tmp12 - tmp9 = tmp4.transpose((0, 1, 3, 2)).copy() * -0.5 - tmp9 += v.ovov.transpose((2, 0, 3, 1)) - tmp13 += einsum(tmp9, (0, 1, 2, 3), t1, (4, 2), (1, 0, 4, 3), optimize=True) * -1 - del tmp9 - tmp13 += einsum(tmp8, (0, 1), t2, (2, 3, 1, 4), (0, 3, 2, 4), optimize=True) * 0.5 - del tmp8 - tmp13 += einsum(t2, (0, 1, 2, 3), tmp6, (4, 0, 5, 2), (5, 1, 4, 3), optimize=True) + tmp13 = v.ooov.transpose((2, 1, 0, 3)).copy() + tmp13 += einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 5, 2, 3), (0, 5, 4, 1), optimize=True) * 0.5 + tmp13 += einsum(tmp6, (0, 1, 2, 3), t2, (1, 4, 3, 5), (2, 4, 0, 5), optimize=True) * 2 del tmp6 - tmp13 += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 2, 3), (4, 1, 0, 5), optimize=True) * 0.25 - tmp13 += v.ooov.transpose((2, 1, 0, 3)) * 0.5 - l1new += einsum(tmp13, (0, 1, 2, 3), l2, (3, 4, 1, 2), (4, 0), optimize=True) * -1 + tmp13 += einsum(tmp8, (0, 1), t2, (2, 3, 1, 4), (0, 3, 2, 4), optimize=True) + tmp13 += einsum(t1, (0, 1), tmp9, (2, 3, 1, 4), (3, 2, 0, 4), optimize=True) * -2 + del tmp9 + tmp13 += einsum(tmp12, (0, 1, 2, 3), t1, (0, 4), (1, 3, 2, 4), optimize=True) * -2 + del tmp12 + l1new += einsum(tmp13, (0, 1, 2, 3), l2, (3, 4, 1, 2), (4, 0), optimize=True) * -0.5 del tmp13 - l1new += einsum(v.ovov, (0, 1, 2, 3), tmp1, (4, 0, 2, 3), (1, 4), optimize=True) * -1 - l1new += f.ov.transpose((1, 0)) - l1new += einsum(tmp4, (0, 1, 2, 3), tmp1, (4, 0, 1, 2), (3, 4), optimize=True) - del tmp1, tmp4 - tmp3 = einsum(t2, (0, 1, 2, 3), l2, (4, 3, 1, 5), (5, 0, 4, 2), optimize=True) * -1 + tmp3 = einsum(l2, (0, 1, 2, 3), t2, (4, 2, 5, 1), (3, 4, 0, 5), optimize=True) * -1 l1new += einsum(tmp3, (0, 1, 2, 3), v.ovvv, (1, 2, 4, 3), (4, 0), optimize=True) * -1 del tmp3 - l1new += einsum(v.ovov, (0, 1, 2, 3), l1, (1, 2), (3, 0), optimize=True) * -1 - l1new += einsum(v.ooov, (0, 1, 2, 3), tmp2, (4, 2, 1, 0), (3, 4), optimize=True) * 0.5 - del tmp2 - l1new += einsum(v.ooov, (0, 1, 2, 3), tmp0, (4, 2, 0, 1), (3, 4), optimize=True) * -0.25 - del tmp0 + tmp28 = f.oo.transpose((1, 0)).copy() + tmp28 += tmp26.transpose((1, 0)) + del tmp26 + tmp28 += tmp27 * 0.5 + del tmp27 + tmp28 += einsum(tmp8, (0, 1), t1, (2, 1), (2, 0), optimize=True) + del tmp8 + l1new += einsum(tmp28, (0, 1), l1, (2, 0), (2, 1), optimize=True) * -1 + del tmp28 + tmp14 = v.ovvv.transpose((0, 1, 3, 2)).copy() * -1 + tmp14 += einsum(t1, (0, 1), v.vvvv, (2, 1, 3, 4), (0, 2, 4, 3), optimize=True) + l1new += einsum(tmp14, (0, 1, 2, 3), l2, (2, 3, 0, 4), (1, 4), optimize=True) * 0.5 + del tmp14 + tmp25 = f.vv.transpose((1, 0)).copy() + tmp25 += tmp24 * -1 + del tmp24 + l1new += einsum(tmp25, (0, 1), l1, (0, 2), (1, 2), optimize=True) + del tmp25 + l1new += f.ov.transpose((1, 0)) + l1new += einsum(l1, (0, 1), v.ovov, (2, 0, 1, 3), (3, 2), optimize=True) * -1 + l2new += v.oovv.transpose((3, 2, 1, 0)) + l2new += einsum(l2, (0, 1, 2, 3), v.vvvv, (4, 5, 0, 1), (5, 4, 3, 2), optimize=True) * 0.5 + l2new += einsum(l1, (0, 1), f.ov, (2, 3), (3, 0, 2, 1), optimize=True) + l2new += einsum(f.ov, (0, 1), l1, (2, 3), (2, 1, 0, 3), optimize=True) * -1 + l2new += einsum(f.ov, (0, 1), l1, (2, 3), (1, 2, 3, 0), optimize=True) * -1 + l2new += einsum(l1, (0, 1), f.ov, (2, 3), (0, 3, 1, 2), optimize=True) return {f"l1new": l1new, f"l2new": l2new} def make_rdm1_f(l1=None, l2=None, t1=None, t2=None, **kwargs): """ - Code generated by `albert` 0.0.0 on 2024-03-02T15:24:59.948892. + Code generated by `albert` 0.0.0 on 2024-07-18T20:10:35.909741. Parameters ---------- @@ -482,36 +483,36 @@ def make_rdm1_f(l1=None, l2=None, t1=None, t2=None, **kwargs): rdm1 = Namespace() delta = Namespace( - oo=np.eye(t1.shape[0]), - vv=np.eye(t1.shape[1]), + oo=np.eye(t2.shape[0]), + vv=np.eye(t2.shape[-1]), ) - rdm1.vv = einsum(l2, (0, 1, 2, 3), t2, (2, 3, 4, 0), (1, 4), optimize=True) * -0.5 - rdm1.vv += einsum(t1, (0, 1), l1, (2, 0), (2, 1), optimize=True) - rdm1.vo = l1.copy() + tmp1 = einsum(l1, (0, 1), t1, (2, 0), (1, 2), optimize=True) + rdm1.oo = tmp1.transpose((1, 0)).copy() * -1 tmp0 = einsum(l2, (0, 1, 2, 3), t2, (4, 3, 0, 1), (2, 4), optimize=True) - tmp3 = tmp0.copy() * 0.5 - tmp1 = einsum(t1, (0, 1), l1, (1, 2), (2, 0), optimize=True) - tmp3 += tmp1 - rdm1.ov = einsum(t1, (0, 1), tmp3, (0, 2), (2, 1), optimize=True) * -1 + rdm1.oo += tmp0.transpose((1, 0)) * -0.5 + tmp3 = tmp1.copy() * 2 + del tmp1 + tmp3 += tmp0 + del tmp0 + rdm1.ov = einsum(tmp3, (0, 1), t1, (0, 2), (1, 2), optimize=True) * -0.5 del tmp3 - rdm1.ov += einsum(l1, (0, 1), t2, (2, 1, 3, 0), (2, 3), optimize=True) - rdm1.ov += t1 tmp2 = einsum(l2, (0, 1, 2, 3), t1, (4, 1), (2, 3, 4, 0), optimize=True) - rdm1.ov += einsum(tmp2, (0, 1, 2, 3), t2, (0, 1, 4, 3), (2, 4), optimize=True) * 0.5 + rdm1.ov += einsum(t2, (0, 1, 2, 3), tmp2, (0, 1, 4, 3), (4, 2), optimize=True) * 0.5 del tmp2 - rdm1.oo = tmp1.transpose((1, 0)).copy() * -1 - del tmp1 rdm1.oo += delta.oo.transpose((1, 0)) del delta - rdm1.oo += tmp0.transpose((1, 0)) * -0.5 - del tmp0 + rdm1.ov += einsum(l1, (0, 1), t2, (2, 1, 3, 0), (2, 3), optimize=True) + rdm1.ov += t1 + rdm1.vo = l1.copy() + rdm1.vv = einsum(t2, (0, 1, 2, 3), l2, (3, 4, 0, 1), (4, 2), optimize=True) * -0.5 + rdm1.vv += einsum(t1, (0, 1), l1, (2, 0), (2, 1), optimize=True) rdm1 = np.block([[rdm1.oo, rdm1.ov], [rdm1.vo, rdm1.vv]]) return rdm1 def make_rdm2_f(l1=None, l2=None, t1=None, t2=None, **kwargs): """ - Code generated by `albert` 0.0.0 on 2024-03-02T15:25:08.561385. + Code generated by `albert` 0.0.0 on 2024-07-18T20:10:43.285135. Parameters ---------- @@ -532,197 +533,200 @@ def make_rdm2_f(l1=None, l2=None, t1=None, t2=None, **kwargs): rdm2 = Namespace() delta = Namespace( - oo=np.eye(t1.shape[0]), - vv=np.eye(t1.shape[1]), + oo=np.eye(t2.shape[0]), + vv=np.eye(t2.shape[-1]), ) + tmp3 = einsum(l1, (0, 1), t1, (2, 0), (1, 2), optimize=True) + rdm2.oovo = einsum(tmp3, (0, 1), t1, (2, 3), (1, 2, 3, 0), optimize=True) + rdm2.oovo += einsum(tmp3, (0, 1), t1, (2, 3), (2, 1, 3, 0), optimize=True) * -1 + rdm2.ooov = einsum(tmp3, (0, 1), t1, (2, 3), (1, 2, 0, 3), optimize=True) * -1 + rdm2.ooov += einsum(tmp3, (0, 1), t1, (2, 3), (2, 1, 0, 3), optimize=True) + rdm2.oooo = einsum(tmp3, (0, 1), delta.oo, (2, 3), (3, 1, 2, 0), optimize=True) * -1 + rdm2.oooo += einsum(tmp3, (0, 1), delta.oo, (2, 3), (1, 3, 2, 0), optimize=True) + rdm2.oooo += einsum(delta.oo, (0, 1), tmp3, (2, 3), (1, 3, 2, 0), optimize=True) + rdm2.oooo += einsum(tmp3, (0, 1), delta.oo, (2, 3), (1, 3, 0, 2), optimize=True) * -1 + tmp1 = einsum(l2, (0, 1, 2, 3), t1, (4, 1), (2, 3, 4, 0), optimize=True) + rdm2.vooo = tmp1.transpose((3, 2, 1, 0)).copy() + rdm2.ovoo = tmp1.transpose((2, 3, 1, 0)).copy() * -1 + tmp4 = einsum(l2, (0, 1, 2, 3), t2, (4, 3, 0, 1), (2, 4), optimize=True) + rdm2.oovo += einsum(tmp4, (0, 1), t1, (2, 3), (1, 2, 3, 0), optimize=True) * 0.5 + rdm2.oovo += einsum(tmp4, (0, 1), t1, (2, 3), (2, 1, 3, 0), optimize=True) * -0.5 + rdm2.ooov += einsum(tmp4, (0, 1), t1, (2, 3), (1, 2, 0, 3), optimize=True) * -0.5 + rdm2.ooov += einsum(tmp4, (0, 1), t1, (2, 3), (2, 1, 0, 3), optimize=True) * 0.5 + rdm2.oooo += einsum(delta.oo, (0, 1), tmp4, (2, 3), (0, 3, 1, 2), optimize=True) * -0.5 + rdm2.oooo += einsum(tmp4, (0, 1), delta.oo, (2, 3), (1, 3, 2, 0), optimize=True) * 0.5 + rdm2.oooo += einsum(delta.oo, (0, 1), tmp4, (2, 3), (0, 3, 2, 1), optimize=True) * 0.5 + rdm2.oooo += einsum(delta.oo, (0, 1), tmp4, (2, 3), (3, 1, 2, 0), optimize=True) * -0.5 + tmp21 = einsum(t2, (0, 1, 2, 3), l2, (3, 4, 5, 1), (5, 0, 4, 2), optimize=True) * -1 + rdm2.vovo = tmp21.transpose((2, 1, 3, 0)).copy() * -1 + rdm2.voov = tmp21.transpose((2, 1, 0, 3)).copy() + rdm2.ovvo = tmp21.transpose((1, 2, 3, 0)).copy() + rdm2.ovov = tmp21.transpose((1, 2, 0, 3)).copy() * -1 + tmp6 = einsum(l1, (0, 1), t2, (2, 1, 3, 0), (2, 3), optimize=True) + tmp7 = einsum(tmp3, (0, 1), t1, (0, 2), (1, 2), optimize=True) + tmp9 = einsum(tmp1, (0, 1, 2, 3), t2, (4, 1, 5, 3), (0, 2, 4, 5), optimize=True) * -1 + rdm2.oovo += tmp9.transpose((2, 1, 3, 0)) * -1 + rdm2.oovo += tmp9.transpose((1, 2, 3, 0)) + rdm2.ooov += tmp9.transpose((2, 1, 0, 3)) + rdm2.ooov += tmp9.transpose((1, 2, 0, 3)) * -1 + tmp5 = einsum(t2, (0, 1, 2, 3), l1, (3, 4), (4, 0, 1, 2), optimize=True) + rdm2.oovo += tmp5.transpose((2, 1, 3, 0)) + rdm2.ooov += tmp5.transpose((2, 1, 0, 3)) * -1 + tmp0 = einsum(t2, (0, 1, 2, 3), l2, (2, 3, 4, 5), (4, 5, 0, 1), optimize=True) + rdm2.oooo += tmp0.transpose((3, 2, 1, 0)) * 0.5 + tmp2 = einsum(tmp1, (0, 1, 2, 3), t1, (4, 3), (0, 1, 4, 2), optimize=True) + rdm2.oooo += tmp2.transpose((2, 3, 1, 0)) * -1 + tmp14 = tmp3.copy() * 2 + tmp14 += tmp4 + tmp29 = einsum(t1, (0, 1), tmp1, (2, 0, 3, 4), (2, 3, 4, 1), optimize=True) + rdm2.vovo += tmp29.transpose((2, 1, 3, 0)) + rdm2.voov += tmp29.transpose((2, 1, 0, 3)) * -1 + rdm2.ovvo += tmp29.transpose((1, 2, 3, 0)) * -1 + rdm2.ovov += tmp29.transpose((1, 2, 0, 3)) + tmp30 = einsum(t1, (0, 1), l1, (2, 0), (2, 1), optimize=True) + rdm2.ovvv = einsum(tmp30, (0, 1), t1, (2, 3), (2, 0, 1, 3), optimize=True) * -1 + rdm2.ovvv += einsum(t1, (0, 1), tmp30, (2, 3), (0, 2, 1, 3), optimize=True) + tmp25 = einsum(t2, (0, 1, 2, 3), l2, (3, 4, 0, 1), (4, 2), optimize=True) * -1 + tmp36 = einsum(tmp21, (0, 1, 2, 3), t1, (0, 4), (1, 2, 4, 3), optimize=True) + rdm2.vovv = tmp36.transpose((1, 0, 3, 2)).copy() * -1 + rdm2.vovv += tmp36.transpose((1, 0, 2, 3)) + tmp8 = tmp6.copy() + tmp8 += tmp7 * -1 + del tmp7 + rdm2.ooov += einsum(tmp8, (0, 1), delta.oo, (2, 3), (2, 0, 3, 1), optimize=True) + rdm2.ooov += einsum(tmp8, (0, 1), delta.oo, (2, 3), (0, 3, 2, 1), optimize=True) * -1 + tmp18 = einsum(t1, (0, 1), tmp9, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) + del tmp9 + tmp22 = einsum(t2, (0, 1, 2, 3), tmp21, (1, 4, 3, 5), (0, 4, 2, 5), optimize=True) + del tmp21 + tmp20 = einsum(tmp5, (0, 1, 2, 3), t1, (0, 4), (1, 2, 4, 3), optimize=True) + del tmp5 + tmp13 = tmp0.transpose((1, 0, 3, 2)).copy() * -0.5 + tmp13 += tmp2.transpose((0, 1, 3, 2)) + rdm2.oovv = einsum(tmp13, (0, 1, 2, 3), t2, (0, 1, 4, 5), (3, 2, 5, 4), optimize=True) * -0.5 + rdm2.ooov += einsum(tmp13, (0, 1, 2, 3), t1, (0, 4), (3, 2, 1, 4), optimize=True) * -1 + tmp11 = einsum(tmp4, (0, 1), t1, (0, 2), (1, 2), optimize=True) + tmp10 = einsum(t2, (0, 1, 2, 3), tmp1, (0, 1, 4, 3), (4, 2), optimize=True) * -1 + tmp15 = einsum(tmp14, (0, 1), t1, (0, 2), (1, 2), optimize=True) * 0.5 + del tmp14 tmp38 = einsum(l2, (0, 1, 2, 3), t1, (3, 4), (2, 0, 1, 4), optimize=True) rdm2.vvvv = einsum(tmp38, (0, 1, 2, 3), t1, (0, 4), (1, 2, 4, 3), optimize=True) - rdm2.vvvv += einsum(l2, (0, 1, 2, 3), t2, (2, 3, 4, 5), (1, 0, 5, 4), optimize=True) * 0.5 rdm2.vvvo = tmp38.transpose((2, 1, 3, 0)).copy() rdm2.vvov = tmp38.transpose((2, 1, 0, 3)).copy() * -1 del tmp38 - tmp15 = einsum(t2, (0, 1, 2, 3), l2, (3, 4, 5, 1), (5, 0, 4, 2), optimize=True) * -1 - tmp36 = einsum(t1, (0, 1), tmp15, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) - rdm2.vovv = tmp36.transpose((1, 0, 3, 2)).copy() * -1 - rdm2.vovv += tmp36.transpose((1, 0, 2, 3)) - tmp18 = einsum(l2, (0, 1, 2, 3), t2, (2, 3, 4, 0), (1, 4), optimize=True) * -1 - tmp31 = tmp18.copy() * 0.5 - tmp30 = einsum(t1, (0, 1), l1, (2, 0), (2, 1), optimize=True) - tmp31 += tmp30 - rdm2.vovv += einsum(t1, (0, 1), tmp31, (2, 3), (2, 0, 3, 1), optimize=True) - rdm2.vovv += einsum(t1, (0, 1), tmp31, (2, 3), (2, 0, 1, 3), optimize=True) * -1 - tmp1 = einsum(l2, (0, 1, 2, 3), t1, (4, 1), (2, 3, 4, 0), optimize=True) - tmp29 = einsum(tmp1, (0, 1, 2, 3), t1, (1, 4), (0, 2, 3, 4), optimize=True) - tmp35 = einsum(tmp29, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4), optimize=True) * -1 - rdm2.vovv += tmp35.transpose((1, 0, 3, 2)) - tmp34 = einsum(t2, (0, 1, 2, 3), tmp1, (0, 1, 4, 5), (4, 5, 2, 3), optimize=True) + tmp34 = einsum(tmp1, (0, 1, 2, 3), t2, (0, 1, 4, 5), (2, 3, 4, 5), optimize=True) + del tmp1 rdm2.vovv += tmp34.transpose((1, 0, 3, 2)) * 0.5 - tmp33 = einsum(l1, (0, 1), t2, (2, 1, 3, 4), (2, 0, 3, 4), optimize=True) - rdm2.vovv += tmp33.transpose((1, 0, 3, 2)) - tmp37 = einsum(t1, (0, 1), tmp18, (2, 3), (0, 2, 1, 3), optimize=True) * -0.5 - tmp37 += tmp36 - del tmp36 - rdm2.ovvv = tmp37.transpose((0, 1, 3, 2)).copy() - rdm2.ovvv += tmp37 * -1 - del tmp37 - rdm2.ovvv += einsum(tmp30, (0, 1), t1, (2, 3), (2, 0, 1, 3), optimize=True) * -1 - rdm2.ovvv += einsum(t1, (0, 1), tmp30, (2, 3), (0, 2, 1, 3), optimize=True) - rdm2.ovvv += tmp35.transpose((0, 1, 3, 2)) * -1 - del tmp35 rdm2.ovvv += tmp34.transpose((0, 1, 3, 2)) * -0.5 del tmp34 + tmp33 = einsum(t2, (0, 1, 2, 3), l1, (4, 1), (0, 4, 2, 3), optimize=True) + rdm2.vovv += tmp33.transpose((1, 0, 3, 2)) rdm2.ovvv += tmp33.transpose((0, 1, 3, 2)) * -1 del tmp33 - rdm2.vvoo = l2.transpose((1, 0, 3, 2)).copy() - tmp32 = tmp18.copy() - tmp32 += tmp30 * 2 - del tmp30 - rdm2.vovo = einsum(tmp32, (0, 1), delta.oo, (2, 3), (0, 3, 1, 2), optimize=True) * 0.5 - rdm2.vovo += einsum(t1, (0, 1), l1, (2, 3), (2, 0, 1, 3), optimize=True) * -1 - rdm2.vovo += tmp29.transpose((2, 1, 3, 0)) - rdm2.vovo += tmp15.transpose((2, 1, 3, 0)) * -1 - rdm2.voov = einsum(tmp32, (0, 1), delta.oo, (2, 3), (0, 3, 2, 1), optimize=True) * -0.5 + tmp35 = einsum(tmp29, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4), optimize=True) * -1 + del tmp29 + rdm2.vovv += tmp35.transpose((1, 0, 3, 2)) + rdm2.ovvv += tmp35.transpose((0, 1, 3, 2)) * -1 + del tmp35 + tmp32 = tmp30.copy() + tmp32 += tmp25 * 0.5 + rdm2.vovv += einsum(tmp32, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) + rdm2.vovv += einsum(tmp32, (0, 1), t1, (2, 3), (0, 2, 3, 1), optimize=True) * -1 + rdm2.vovo += einsum(tmp32, (0, 1), delta.oo, (2, 3), (0, 3, 1, 2), optimize=True) + rdm2.ovvo += einsum(tmp32, (0, 1), delta.oo, (2, 3), (3, 0, 1, 2), optimize=True) * -1 del tmp32 - rdm2.voov += einsum(t1, (0, 1), l1, (2, 3), (2, 0, 3, 1), optimize=True) - rdm2.voov += tmp29.transpose((2, 1, 0, 3)) * -1 - rdm2.voov += tmp15.transpose((2, 1, 0, 3)) - rdm2.ovvo = einsum(tmp31, (0, 1), delta.oo, (2, 3), (3, 0, 1, 2), optimize=True) * -1 - rdm2.ovvo += einsum(t1, (0, 1), l1, (2, 3), (0, 2, 1, 3), optimize=True) - rdm2.ovvo += tmp29.transpose((1, 2, 3, 0)) * -1 - rdm2.ovvo += tmp15.transpose((1, 2, 3, 0)) - rdm2.ovov = einsum(tmp31, (0, 1), delta.oo, (2, 3), (3, 0, 2, 1), optimize=True) + tmp37 = tmp36.copy() + del tmp36 + tmp37 += einsum(t1, (0, 1), tmp25, (2, 3), (0, 2, 1, 3), optimize=True) * -0.5 + rdm2.ovvv += tmp37.transpose((0, 1, 3, 2)) + rdm2.ovvv += tmp37 * -1 + del tmp37 + tmp31 = tmp30.copy() * 2 + del tmp30 + tmp31 += tmp25 + rdm2.voov += einsum(delta.oo, (0, 1), tmp31, (2, 3), (2, 1, 0, 3), optimize=True) * -0.5 + rdm2.ovov += einsum(delta.oo, (0, 1), tmp31, (2, 3), (1, 2, 0, 3), optimize=True) * 0.5 del tmp31 - rdm2.ovov += einsum(t1, (0, 1), l1, (2, 3), (0, 2, 3, 1), optimize=True) * -1 - rdm2.ovov += tmp29.transpose((1, 2, 0, 3)) - del tmp29 - rdm2.ovov += tmp15.transpose((1, 2, 0, 3)) * -1 - tmp2 = einsum(t1, (0, 1), tmp1, (2, 3, 4, 1), (2, 3, 0, 4), optimize=True) - tmp12 = tmp2.transpose((0, 1, 3, 2)).copy() - tmp0 = einsum(l2, (0, 1, 2, 3), t2, (4, 5, 0, 1), (2, 3, 4, 5), optimize=True) - tmp12 += tmp0.transpose((1, 0, 3, 2)) * -0.5 - tmp28 = einsum(t1, (0, 1), tmp12, (0, 2, 3, 4), (2, 4, 3, 1), optimize=True) * -2 - rdm2.oovv = einsum(tmp28, (0, 1, 2, 3), t1, (0, 4), (1, 2, 4, 3), optimize=True) * 0.5 - del tmp28 - rdm2.oovv += einsum(t2, (0, 1, 2, 3), tmp12, (0, 1, 4, 5), (5, 4, 3, 2), optimize=True) * -0.5 - rdm2.oovv += einsum(t1, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) - rdm2.oovv += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 3, 1), optimize=True) * -1 - tmp4 = einsum(t1, (0, 1), l1, (1, 2), (2, 0), optimize=True) - tmp27 = einsum(tmp4, (0, 1), t2, (2, 0, 3, 4), (1, 2, 3, 4), optimize=True) - rdm2.oovv += tmp27.transpose((1, 0, 3, 2)) - rdm2.oovv += tmp27.transpose((0, 1, 3, 2)) * -1 + tmp27 = einsum(tmp4, (0, 1), t2, (2, 0, 3, 4), (2, 1, 3, 4), optimize=True) + del tmp4 + rdm2.oovv += tmp27.transpose((1, 0, 3, 2)) * -0.5 + rdm2.oovv += tmp27.transpose((0, 1, 3, 2)) * 0.5 del tmp27 - tmp3 = einsum(l2, (0, 1, 2, 3), t2, (4, 3, 0, 1), (2, 4), optimize=True) - tmp25 = einsum(t1, (0, 1), tmp3, (0, 2), (2, 1), optimize=True) - tmp26 = tmp25.copy() + tmp19 = tmp18.copy() + del tmp18 + tmp19 += einsum(tmp8, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) * -1 + del tmp8 + rdm2.oovv += tmp19.transpose((1, 0, 3, 2)) * -1 + rdm2.oovv += tmp19.transpose((1, 0, 2, 3)) + rdm2.oovv += tmp19.transpose((0, 1, 3, 2)) + rdm2.oovv += tmp19 * -1 + del tmp19 + tmp26 = einsum(t2, (0, 1, 2, 3), tmp25, (3, 4), (0, 1, 2, 4), optimize=True) del tmp25 - tmp8 = einsum(tmp1, (0, 1, 2, 3), t2, (0, 1, 4, 3), (2, 4), optimize=True) * -1 - tmp26 += tmp8 - rdm2.oovv += einsum(tmp26, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) * -0.5 - rdm2.oovv += einsum(t1, (0, 1), tmp26, (2, 3), (2, 0, 1, 3), optimize=True) * 0.5 - rdm2.oovv += einsum(t1, (0, 1), tmp26, (2, 3), (0, 2, 3, 1), optimize=True) * 0.5 - rdm2.oovv += einsum(tmp26, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) * -0.5 + rdm2.oovv += tmp26.transpose((0, 1, 3, 2)) * 0.5 + rdm2.oovv += tmp26 * -0.5 del tmp26 - tmp22 = einsum(t1, (0, 1), tmp4, (0, 2), (2, 1), optimize=True) - tmp23 = tmp22.copy() * -1 + tmp23 = tmp20.copy() + del tmp20 + tmp23 += tmp22 del tmp22 - tmp7 = einsum(l1, (0, 1), t2, (2, 1, 3, 0), (2, 3), optimize=True) - tmp23 += tmp7 - tmp24 = einsum(tmp23, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) * -1 + rdm2.oovv += tmp23.transpose((0, 1, 3, 2)) * -1 + rdm2.oovv += tmp23 del tmp23 - tmp6 = einsum(tmp1, (0, 1, 2, 3), t2, (4, 1, 5, 3), (0, 2, 4, 5), optimize=True) * -1 - tmp21 = einsum(tmp6, (0, 1, 2, 3), t1, (0, 4), (1, 2, 4, 3), optimize=True) - tmp24 += tmp21 - del tmp21 - rdm2.oovv += tmp24.transpose((1, 0, 3, 2)) * -1 - rdm2.oovv += tmp24.transpose((1, 0, 2, 3)) - rdm2.oovv += tmp24.transpose((0, 1, 3, 2)) - rdm2.oovv += tmp24 * -1 - del tmp24 - tmp20 = einsum(t2, (0, 1, 2, 3), tmp3, (1, 4), (0, 4, 2, 3), optimize=True) - rdm2.oovv += tmp20.transpose((1, 0, 3, 2)) * -0.5 - rdm2.oovv += tmp20.transpose((0, 1, 3, 2)) * 0.5 - del tmp20 - tmp19 = einsum(tmp18, (0, 1), t2, (2, 3, 4, 0), (2, 3, 4, 1), optimize=True) - del tmp18 - rdm2.oovv += tmp19.transpose((0, 1, 3, 2)) * 0.5 - rdm2.oovv += tmp19 * -0.5 - del tmp19 - tmp16 = einsum(t2, (0, 1, 2, 3), tmp15, (1, 4, 3, 5), (0, 4, 2, 5), optimize=True) - del tmp15 - tmp17 = tmp16.copy() - del tmp16 - tmp5 = einsum(t2, (0, 1, 2, 3), l1, (3, 4), (4, 0, 1, 2), optimize=True) - tmp14 = einsum(tmp5, (0, 1, 2, 3), t1, (0, 4), (1, 2, 4, 3), optimize=True) - tmp17 += tmp14 - del tmp14 - rdm2.oovv += tmp17.transpose((0, 1, 3, 2)) * -1 - rdm2.oovv += tmp17 - del tmp17 - rdm2.oovv += t2.transpose((1, 0, 3, 2)) - rdm2.vooo = einsum(l1, (0, 1), delta.oo, (2, 3), (0, 3, 2, 1), optimize=True) * -1 - rdm2.vooo += einsum(l1, (0, 1), delta.oo, (2, 3), (0, 3, 1, 2), optimize=True) - rdm2.vooo += tmp1.transpose((3, 2, 1, 0)) - rdm2.ovoo = einsum(l1, (0, 1), delta.oo, (2, 3), (3, 0, 2, 1), optimize=True) - rdm2.ovoo += einsum(l1, (0, 1), delta.oo, (2, 3), (3, 0, 1, 2), optimize=True) * -1 - rdm2.ovoo += tmp1.transpose((2, 3, 1, 0)) * -1 - del tmp1 - tmp13 = tmp2.transpose((0, 1, 3, 2)).copy() * 2 - tmp13 += tmp0.transpose((1, 0, 3, 2)) * -1 - rdm2.oovo = einsum(t1, (0, 1), tmp13, (0, 2, 3, 4), (4, 3, 1, 2), optimize=True) * 0.5 + tmp28 = einsum(tmp13, (0, 1, 2, 3), t1, (0, 4), (1, 3, 2, 4), optimize=True) * -2 del tmp13 - rdm2.oovo += einsum(tmp4, (0, 1), t1, (2, 3), (1, 2, 3, 0), optimize=True) - rdm2.oovo += einsum(tmp4, (0, 1), t1, (2, 3), (2, 1, 3, 0), optimize=True) * -1 - tmp9 = tmp3.copy() - tmp9 += tmp4 * 2 - tmp10 = einsum(t1, (0, 1), tmp9, (0, 2), (2, 1), optimize=True) * 0.5 - del tmp9 - tmp11 = tmp10.copy() - del tmp10 - tmp11 += tmp8 * 0.5 - del tmp8 - tmp11 += tmp7 * -1 - del tmp7 - rdm2.oovo += einsum(tmp11, (0, 1), delta.oo, (2, 3), (2, 0, 1, 3), optimize=True) - rdm2.oovo += einsum(tmp11, (0, 1), delta.oo, (2, 3), (0, 3, 1, 2), optimize=True) * -1 - rdm2.oovo += einsum(t1, (0, 1), tmp3, (2, 3), (3, 0, 1, 2), optimize=True) * 0.5 - rdm2.oovo += einsum(tmp3, (0, 1), t1, (2, 3), (2, 1, 3, 0), optimize=True) * -0.5 - rdm2.oovo += tmp6.transpose((2, 1, 3, 0)) * -1 - rdm2.oovo += tmp6.transpose((1, 2, 3, 0)) - rdm2.oovo += einsum(t1, (0, 1), delta.oo, (2, 3), (3, 0, 1, 2), optimize=True) * -1 - rdm2.oovo += einsum(delta.oo, (0, 1), t1, (2, 3), (2, 1, 3, 0), optimize=True) - rdm2.oovo += tmp5.transpose((2, 1, 3, 0)) - rdm2.ooov = einsum(t1, (0, 1), tmp12, (0, 2, 3, 4), (4, 3, 2, 1), optimize=True) * -1 - del tmp12 - rdm2.ooov += einsum(tmp4, (0, 1), t1, (2, 3), (1, 2, 0, 3), optimize=True) * -1 - rdm2.ooov += einsum(tmp4, (0, 1), t1, (2, 3), (2, 1, 0, 3), optimize=True) - rdm2.ooov += einsum(tmp11, (0, 1), delta.oo, (2, 3), (2, 0, 3, 1), optimize=True) * -1 - rdm2.ooov += einsum(tmp11, (0, 1), delta.oo, (2, 3), (0, 3, 2, 1), optimize=True) + rdm2.oovv += einsum(tmp28, (0, 1, 2, 3), t1, (0, 4), (1, 2, 4, 3), optimize=True) * 0.5 + del tmp28 + tmp12 = tmp10.copy() + tmp12 += tmp11 del tmp11 - rdm2.ooov += einsum(t1, (0, 1), tmp3, (2, 3), (3, 0, 2, 1), optimize=True) * -0.5 - rdm2.ooov += einsum(tmp3, (0, 1), t1, (2, 3), (2, 1, 0, 3), optimize=True) * 0.5 - rdm2.ooov += tmp6.transpose((2, 1, 0, 3)) - rdm2.ooov += tmp6.transpose((1, 2, 0, 3)) * -1 + rdm2.oovv += einsum(t1, (0, 1), tmp12, (2, 3), (2, 0, 3, 1), optimize=True) * -0.5 + rdm2.oovv += einsum(tmp12, (0, 1), t1, (2, 3), (0, 2, 3, 1), optimize=True) * 0.5 + rdm2.oovv += einsum(t1, (0, 1), tmp12, (2, 3), (0, 2, 3, 1), optimize=True) * 0.5 + rdm2.oovv += einsum(tmp12, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) * -0.5 + rdm2.ooov += einsum(delta.oo, (0, 1), tmp12, (2, 3), (0, 2, 1, 3), optimize=True) * -0.5 + rdm2.ooov += einsum(delta.oo, (0, 1), tmp12, (2, 3), (2, 1, 0, 3), optimize=True) * 0.5 + del tmp12 + tmp24 = einsum(tmp3, (0, 1), t2, (2, 0, 3, 4), (1, 2, 3, 4), optimize=True) + del tmp3 + rdm2.oovv += tmp24.transpose((1, 0, 3, 2)) + rdm2.oovv += tmp24.transpose((0, 1, 3, 2)) * -1 + del tmp24 + tmp17 = tmp0.transpose((1, 0, 3, 2)).copy() * -1 + del tmp0 + tmp17 += tmp2.transpose((0, 1, 3, 2)) * 2 + del tmp2 + rdm2.oovo += einsum(tmp17, (0, 1, 2, 3), t1, (0, 4), (3, 2, 4, 1), optimize=True) * 0.5 + del tmp17 + tmp16 = tmp6.copy() * -1 del tmp6 - rdm2.ooov += einsum(t1, (0, 1), delta.oo, (2, 3), (3, 0, 2, 1), optimize=True) - rdm2.ooov += einsum(delta.oo, (0, 1), t1, (2, 3), (2, 1, 0, 3), optimize=True) * -1 - rdm2.ooov += tmp5.transpose((2, 1, 0, 3)) * -1 - del tmp5 - rdm2.oooo = einsum(tmp4, (0, 1), delta.oo, (2, 3), (3, 1, 2, 0), optimize=True) * -1 - rdm2.oooo += einsum(delta.oo, (0, 1), tmp4, (2, 3), (3, 1, 0, 2), optimize=True) - rdm2.oooo += einsum(delta.oo, (0, 1), tmp4, (2, 3), (1, 3, 2, 0), optimize=True) - rdm2.oooo += einsum(tmp4, (0, 1), delta.oo, (2, 3), (1, 3, 0, 2), optimize=True) * -1 - del tmp4 - rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (3, 0, 1, 2), optimize=True) * -1 + tmp16 += tmp10 * 0.5 + del tmp10 + tmp16 += tmp15 + del tmp15 + rdm2.oovo += einsum(delta.oo, (0, 1), tmp16, (2, 3), (0, 2, 3, 1), optimize=True) + rdm2.oovo += einsum(delta.oo, (0, 1), tmp16, (2, 3), (2, 1, 3, 0), optimize=True) * -1 + del tmp16 rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (3, 1, 2, 0), optimize=True) - rdm2.oooo += einsum(delta.oo, (0, 1), tmp3, (2, 3), (0, 3, 1, 2), optimize=True) * -0.5 - rdm2.oooo += einsum(delta.oo, (0, 1), tmp3, (2, 3), (3, 1, 0, 2), optimize=True) * 0.5 - rdm2.oooo += einsum(delta.oo, (0, 1), tmp3, (2, 3), (0, 3, 2, 1), optimize=True) * 0.5 - rdm2.oooo += einsum(delta.oo, (0, 1), tmp3, (2, 3), (3, 1, 2, 0), optimize=True) * -0.5 - del delta, tmp3 - rdm2.oooo += tmp2.transpose((2, 3, 1, 0)) * -1 - del tmp2 - rdm2.oooo += tmp0.transpose((3, 2, 1, 0)) * 0.5 - del tmp0 + rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (1, 2, 3, 0), optimize=True) * -1 + rdm2.ooov += einsum(delta.oo, (0, 1), t1, (2, 3), (2, 1, 0, 3), optimize=True) * -1 + rdm2.ooov += einsum(delta.oo, (0, 1), t1, (2, 3), (1, 2, 0, 3), optimize=True) + rdm2.oovo += einsum(delta.oo, (0, 1), t1, (2, 3), (2, 1, 3, 0), optimize=True) + rdm2.oovo += einsum(delta.oo, (0, 1), t1, (2, 3), (1, 2, 3, 0), optimize=True) * -1 + rdm2.ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (1, 2, 3, 0), optimize=True) * -1 + rdm2.ovoo += einsum(l1, (0, 1), delta.oo, (2, 3), (3, 0, 2, 1), optimize=True) + rdm2.vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 1, 3, 0), optimize=True) + rdm2.vooo += einsum(l1, (0, 1), delta.oo, (2, 3), (0, 3, 2, 1), optimize=True) * -1 + del delta + rdm2.oovv += t2.transpose((1, 0, 3, 2)) + rdm2.oovv += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 3, 1), optimize=True) * -1 + rdm2.oovv += einsum(t1, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) + rdm2.ovov += einsum(t1, (0, 1), l1, (2, 3), (0, 2, 3, 1), optimize=True) * -1 + rdm2.ovvo += einsum(t1, (0, 1), l1, (2, 3), (0, 2, 1, 3), optimize=True) + rdm2.voov += einsum(t1, (0, 1), l1, (2, 3), (2, 0, 3, 1), optimize=True) + rdm2.vovo += einsum(t1, (0, 1), l1, (2, 3), (2, 0, 1, 3), optimize=True) * -1 + rdm2.vvoo = l2.transpose((1, 0, 3, 2)).copy() + rdm2.vvvv += einsum(t2, (0, 1, 2, 3), l2, (4, 5, 0, 1), (5, 4, 3, 2), optimize=True) * 0.5 rdm2 = pack_2e(rdm2.oooo, rdm2.ooov, rdm2.oovo, rdm2.ovoo, rdm2.vooo, rdm2.oovv, rdm2.ovov, rdm2.ovvo, rdm2.voov, rdm2.vovo, rdm2.vvoo, rdm2.ovvv, rdm2.vovv, rdm2.vvov, rdm2.vvvo, rdm2.vvvv) rdm2 = rdm2.swapaxes(1, 2) diff --git a/ebcc/codegen/RCCD.py b/ebcc/codegen/RCCD.py new file mode 100644 index 00000000..176b7cf3 --- /dev/null +++ b/ebcc/codegen/RCCD.py @@ -0,0 +1,498 @@ +""" +Code generated by `albert`: +https://github.com/obackhouse/albert + + * date: 2024-07-18T20:23:43.462621 + * python version: 3.10.12 (main, Mar 22 2024, 16:50:05) [GCC 11.4.0] + * albert version: 0.0.0 + * caller: /home/ollie/git/albert/albert/codegen/einsum.py + * node: ollie-desktop + * system: Linux + * processor: x86_64 + * release: 6.5.0-44-generic +""" + +from ebcc import numpy as np +from ebcc.util import pack_2e, einsum, direct_sum, Namespace + + +def energy(t2=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-07-18T20:23:43.617209. + + Parameters + ---------- + t2 : array + T2 amplitudes. + v : array + Electron repulsion integrals. + + Returns + ------- + e_cc : float + Coupled cluster energy. + """ + + e_cc = einsum(v.ovov, (0, 1, 2, 3), t2, (0, 2, 1, 3), (), optimize=True) * 2 + e_cc += einsum(v.ovov, (0, 1, 2, 3), t2, (0, 2, 3, 1), (), optimize=True) * -1 + + return e_cc + +def update_amps(f=None, t2=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-07-18T20:23:45.808392. + + Parameters + ---------- + f : array + Fock matrix. + t2 : array + T2 amplitudes. + v : array + Electron repulsion integrals. + + Returns + ------- + t2new : array + Updated T2 residuals. + """ + + tmp6 = v.ovov.transpose((2, 0, 1, 3)).copy() * -0.5 + tmp6 += v.ovov.transpose((2, 0, 3, 1)) + tmp3 = v.ovov.transpose((2, 0, 1, 3)).copy() * 2 + tmp3 += v.ovov.transpose((2, 0, 3, 1)) * -1 + tmp9 = einsum(tmp6, (0, 1, 2, 3), t2, (0, 4, 2, 3), (4, 1), optimize=True) * 2 + tmp7 = einsum(t2, (0, 1, 2, 3), tmp6, (0, 1, 4, 3), (2, 4), optimize=True) + del tmp6 + tmp0 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 5, 1, 2), (0, 4, 3, 5), optimize=True) + t2new = tmp0.transpose((1, 0, 3, 2)).copy() * -1 + tmp4 = einsum(t2, (0, 1, 2, 3), tmp3, (0, 4, 5, 2), (1, 4, 3, 5), optimize=True) + del tmp3 + tmp10 = einsum(t2, (0, 1, 2, 3), tmp9, (4, 0), (1, 4, 2, 3), optimize=True) + del tmp9 + tmp8 = einsum(t2, (0, 1, 2, 3), tmp7, (4, 2), (0, 1, 3, 4), optimize=True) * 2 + del tmp7 + tmp14 = v.ovov.transpose((2, 0, 3, 1)).copy() * -1 + tmp14 += tmp0 + del tmp0 + t2new += einsum(t2, (0, 1, 2, 3), tmp14, (4, 0, 5, 3), (1, 4, 2, 5), optimize=True) + del tmp14 + tmp5 = einsum(t2, (0, 1, 2, 3), tmp4, (4, 0, 5, 3), (1, 4, 2, 5), optimize=True) + t2new += tmp5 * -1 + t2new += tmp5.transpose((1, 0, 3, 2)) * -1 + del tmp5 + tmp15 = v.oovv.transpose((1, 0, 3, 2)).copy() * -1 + tmp15 += einsum(t2, (0, 1, 2, 3), v.ovov, (1, 4, 5, 2), (0, 5, 3, 4), optimize=True) + t2new += einsum(t2, (0, 1, 2, 3), tmp15, (4, 0, 5, 3), (1, 4, 5, 2), optimize=True) + del tmp15 + tmp2 = einsum(f.vv, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4), optimize=True) + t2new += tmp2.transpose((1, 0, 2, 3)) + t2new += tmp2.transpose((0, 1, 3, 2)) + del tmp2 + tmp11 = tmp8.transpose((1, 0, 2, 3)).copy() + del tmp8 + tmp11 += tmp10.transpose((0, 1, 3, 2)) + del tmp10 + t2new += tmp11.transpose((1, 0, 3, 2)) * -1 + t2new += tmp11 * -1 + del tmp11 + tmp1 = einsum(f.oo, (0, 1), t2, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) + t2new += tmp1.transpose((1, 0, 2, 3)) * -1 + t2new += tmp1.transpose((0, 1, 3, 2)) * -1 + del tmp1 + tmp13 = v.oooo.transpose((2, 3, 1, 0)).copy() + tmp13 += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 2, 5, 3), (5, 1, 0, 4), optimize=True) + t2new += einsum(tmp13, (0, 1, 2, 3), t2, (0, 3, 4, 5), (2, 1, 5, 4), optimize=True) + del tmp13 + tmp12 = v.ovov.transpose((2, 0, 3, 1)).copy() * 2 + tmp12 += v.oovv.transpose((1, 0, 3, 2)) * -1 + tmp12 += tmp4 * 2 + del tmp4 + t2new += einsum(t2, (0, 1, 2, 3), tmp12, (4, 0, 5, 2), (4, 1, 5, 3), optimize=True) + del tmp12 + t2new += v.ovov.transpose((2, 0, 3, 1)) + t2new += einsum(t2, (0, 1, 2, 3), v.vvvv, (4, 3, 2, 5), (1, 0, 4, 5), optimize=True) + t2new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 3), (0, 4, 2, 5), optimize=True) * -1 + t2new += einsum(v.oovv, (0, 1, 2, 3), t2, (4, 1, 3, 5), (0, 4, 5, 2), optimize=True) * -1 + t2new += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 5, 1, 3), (0, 4, 2, 5), optimize=True) * 2 + + return {f"t2new": t2new} + +def update_lams(f=None, l2=None, t2=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-07-18T20:23:49.488980. + + Parameters + ---------- + f : array + Fock matrix. + l2 : array + L2 amplitudes. + t2 : array + T2 amplitudes. + v : array + Electron repulsion integrals. + + Returns + ------- + l2new : array + Updated L2 residuals. + """ + + tmp10 = l2.transpose((3, 2, 0, 1)).copy() * 2 + tmp10 += l2.transpose((3, 2, 1, 0)) * -1 + tmp22 = t2.transpose((1, 0, 2, 3)).copy() * 2 + tmp22 += t2.transpose((1, 0, 3, 2)) * -1 + tmp19 = t2.transpose((1, 0, 2, 3)).copy() * -1 + tmp19 += t2.transpose((1, 0, 3, 2)) * 2 + tmp4 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 3, 0, 5), (1, 4, 2, 5), optimize=True) + tmp26 = t2.transpose((1, 0, 2, 3)).copy() * -0.5 + tmp26 += t2.transpose((1, 0, 3, 2)) + tmp15 = einsum(t2, (0, 1, 2, 3), l2, (2, 4, 5, 1), (5, 0, 4, 3), optimize=True) + tmp9 = einsum(t2, (0, 1, 2, 3), l2, (4, 2, 5, 1), (5, 0, 4, 3), optimize=True) + tmp11 = einsum(t2, (0, 1, 2, 3), tmp10, (0, 4, 5, 2), (1, 4, 3, 5), optimize=True) + del tmp10 + tmp23 = einsum(v.ovov, (0, 1, 2, 3), tmp22, (0, 4, 3, 1), (2, 4), optimize=True) + del tmp22 + tmp20 = einsum(tmp19, (0, 1, 2, 3), v.ovov, (0, 4, 1, 3), (4, 2), optimize=True) * 0.5 + del tmp19 + tmp5 = v.oovv.transpose((1, 0, 3, 2)).copy() * -1 + tmp5 += tmp4 + del tmp4 + tmp27 = einsum(l2, (0, 1, 2, 3), tmp26, (2, 3, 4, 1), (0, 4), optimize=True) * 2 + tmp29 = einsum(tmp26, (0, 1, 2, 3), l2, (2, 3, 0, 4), (4, 1), optimize=True) * 2 + del tmp26 + tmp16 = tmp15.copy() + del tmp15 + tmp16 += l2.transpose((3, 2, 0, 1)) * -1 + tmp16 += l2.transpose((3, 2, 1, 0)) * 2 + tmp13 = v.ovov.transpose((2, 0, 1, 3)).copy() * 2 + tmp13 += v.ovov.transpose((2, 0, 3, 1)) * -1 + tmp12 = tmp9.copy() + del tmp9 + tmp12 += tmp11.transpose((1, 0, 3, 2)) * -1 + del tmp11 + tmp24 = einsum(tmp23, (0, 1), l2, (2, 3, 1, 4), (4, 0, 2, 3), optimize=True) + del tmp23 + tmp21 = einsum(l2, (0, 1, 2, 3), tmp20, (4, 0), (2, 3, 1, 4), optimize=True) * 2 + del tmp20 + tmp6 = einsum(tmp5, (0, 1, 2, 3), l2, (4, 2, 0, 5), (5, 1, 4, 3), optimize=True) + del tmp5 + tmp3 = einsum(f.vv, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2), optimize=True) + tmp28 = einsum(v.ovov, (0, 1, 2, 3), tmp27, (4, 1), (0, 2, 3, 4), optimize=True) + del tmp27 + tmp30 = einsum(v.ovov, (0, 1, 2, 3), tmp29, (4, 0), (2, 4, 1, 3), optimize=True) + del tmp29 + tmp17 = einsum(tmp16, (0, 1, 2, 3), v.ovov, (1, 3, 4, 5), (4, 0, 5, 2), optimize=True) + del tmp16 + tmp14 = einsum(tmp13, (0, 1, 2, 3), tmp12, (4, 0, 5, 3), (4, 1, 5, 2), optimize=True) + del tmp13, tmp12 + tmp8 = einsum(v.oovv, (0, 1, 2, 3), l2, (4, 3, 5, 1), (5, 0, 4, 2), optimize=True) + tmp25 = tmp21.transpose((1, 0, 2, 3)).copy() + del tmp21 + tmp25 += tmp24.transpose((0, 1, 3, 2)) + del tmp24 + l2new = tmp25.transpose((3, 2, 1, 0)).copy() * -1 + l2new += tmp25.transpose((2, 3, 0, 1)) * -1 + del tmp25 + tmp7 = tmp3.copy() + del tmp3 + tmp7 += tmp6 + del tmp6 + l2new += tmp7.transpose((2, 3, 1, 0)) + l2new += tmp7.transpose((3, 2, 0, 1)) + del tmp7 + tmp2 = einsum(f.oo, (0, 1), l2, (2, 3, 4, 1), (0, 4, 2, 3), optimize=True) + l2new += tmp2.transpose((2, 3, 1, 0)) * -1 + l2new += tmp2.transpose((3, 2, 0, 1)) * -1 + del tmp2 + tmp0 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 5, 1, 3), (4, 5, 0, 2), optimize=True) + l2new += einsum(l2, (0, 1, 2, 3), tmp0, (2, 3, 4, 5), (0, 1, 4, 5), optimize=True) + del tmp0 + tmp1 = einsum(l2, (0, 1, 2, 3), t2, (4, 5, 0, 1), (2, 3, 4, 5), optimize=True) + l2new += einsum(tmp1, (0, 1, 2, 3), v.ovov, (2, 4, 3, 5), (4, 5, 0, 1), optimize=True) + del tmp1 + tmp31 = tmp28.transpose((1, 0, 3, 2)).copy() + del tmp28 + tmp31 += tmp30.transpose((1, 0, 3, 2)) + del tmp30 + l2new += tmp31.transpose((2, 3, 1, 0)) * -1 + l2new += tmp31.transpose((3, 2, 0, 1)) * -1 + del tmp31 + tmp18 = tmp8.copy() + del tmp8 + tmp18 += tmp14 + del tmp14 + tmp18 += tmp17.transpose((1, 0, 3, 2)) * -1 + del tmp17 + l2new += tmp18.transpose((3, 2, 1, 0)) * -1 + l2new += tmp18.transpose((2, 3, 0, 1)) * -1 + del tmp18 + l2new += v.ovov.transpose((3, 1, 2, 0)) + l2new += einsum(l2, (0, 1, 2, 3), v.vvvv, (4, 1, 0, 5), (4, 5, 3, 2), optimize=True) + l2new += einsum(v.oooo, (0, 1, 2, 3), l2, (4, 5, 1, 2), (5, 4, 3, 0), optimize=True) + + return {f"l2new": l2new} + +def make_rdm1_f(l2=None, t2=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-07-18T20:23:49.789244. + + Parameters + ---------- + l2 : array + L2 amplitudes. + t2 : array + T2 amplitudes. + + Returns + ------- + rdm1 : array + One-particle reduced density matrix. + """ + + rdm1 = Namespace() + delta = Namespace( + oo=np.eye(t2.shape[0]), + vv=np.eye(t2.shape[-1]), + ) + tmp0 = t2.transpose((1, 0, 2, 3)).copy() * -0.5 + tmp0 += t2.transpose((1, 0, 3, 2)) + rdm1.vv = einsum(l2, (0, 1, 2, 3), tmp0, (2, 3, 4, 1), (0, 4), optimize=True) * 4 + rdm1.oo = einsum(l2, (0, 1, 2, 3), tmp0, (2, 4, 0, 1), (4, 3), optimize=True) * -4 + del tmp0 + rdm1.oo += delta.oo.transpose((1, 0)) * 2 + del delta + rdm1.ov = np.zeros((t2.shape[0], t2.shape[-1])) + rdm1.vo = np.zeros((t2.shape[-1], t2.shape[0])) + rdm1 = np.block([[rdm1.oo, rdm1.ov], [rdm1.vo, rdm1.vv]]) + + return rdm1 + +def make_rdm2_f(l2=None, t2=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-07-18T20:24:00.844357. + + Parameters + ---------- + l2 : array + L2 amplitudes. + t2 : array + T2 amplitudes. + + Returns + ------- + rdm2 : array + Two-particle reduced density matrix. + """ + + rdm2 = Namespace() + delta = Namespace( + oo=np.eye(t2.shape[0]), + vv=np.eye(t2.shape[-1]), + ) + tmp0 = t2.transpose((1, 0, 2, 3)).copy() * -0.5 + tmp0 += t2.transpose((1, 0, 3, 2)) + tmp13 = l2.transpose((3, 2, 0, 1)).copy() * -1 + tmp13 += l2.transpose((3, 2, 1, 0)) * 2 + tmp6 = l2.transpose((3, 2, 0, 1)).copy() + tmp6 += l2.transpose((3, 2, 1, 0)) * -1 + tmp3 = l2.transpose((3, 2, 0, 1)).copy() * 2 + tmp3 += l2.transpose((3, 2, 1, 0)) * -1 + tmp1 = einsum(tmp0, (0, 1, 2, 3), l2, (2, 3, 0, 4), (4, 1), optimize=True) * 2 + del tmp0 + rdm2.oooo = einsum(tmp1, (0, 1), delta.oo, (2, 3), (2, 1, 3, 0), optimize=True) * -1 + rdm2.oooo += einsum(tmp1, (0, 1), delta.oo, (2, 3), (1, 3, 2, 0), optimize=True) + rdm2.oooo += einsum(delta.oo, (0, 1), tmp1, (2, 3), (0, 3, 2, 1), optimize=True) + rdm2.oooo += einsum(delta.oo, (0, 1), tmp1, (2, 3), (3, 1, 2, 0), optimize=True) * -1 + rdm2.oooo += einsum(tmp1, (0, 1), delta.oo, (2, 3), (2, 1, 3, 0), optimize=True) * -1 + rdm2.oooo += einsum(delta.oo, (0, 1), tmp1, (2, 3), (3, 1, 2, 0), optimize=True) * -1 + rdm2.oooo += einsum(tmp1, (0, 1), delta.oo, (2, 3), (2, 1, 3, 0), optimize=True) * -1 + rdm2.oooo += einsum(delta.oo, (0, 1), tmp1, (2, 3), (3, 1, 2, 0), optimize=True) * -1 + rdm2.oooo += einsum(tmp1, (0, 1), delta.oo, (2, 3), (2, 1, 3, 0), optimize=True) * -1 + rdm2.oooo += einsum(tmp1, (0, 1), delta.oo, (2, 3), (1, 3, 2, 0), optimize=True) + rdm2.oooo += einsum(delta.oo, (0, 1), tmp1, (2, 3), (0, 3, 2, 1), optimize=True) + rdm2.oooo += einsum(delta.oo, (0, 1), tmp1, (2, 3), (3, 1, 2, 0), optimize=True) * -1 + tmp14 = einsum(t2, (0, 1, 2, 3), tmp13, (0, 1, 4, 3), (2, 4), optimize=True) * 0.5 + rdm2.ovvo = einsum(delta.oo, (0, 1), tmp14, (2, 3), (1, 3, 2, 0), optimize=True) * -2 + rdm2.ovvo += einsum(delta.oo, (0, 1), tmp14, (2, 3), (1, 3, 2, 0), optimize=True) * -2 + rdm2.ovov = einsum(delta.oo, (0, 1), tmp14, (2, 3), (1, 3, 0, 2), optimize=True) * 2 + rdm2.ovov += einsum(delta.oo, (0, 1), tmp14, (2, 3), (1, 3, 0, 2), optimize=True) * 2 + rdm2.ovov += einsum(delta.oo, (0, 1), tmp14, (2, 3), (1, 3, 0, 2), optimize=True) * 2 + rdm2.ovov += einsum(delta.oo, (0, 1), tmp14, (2, 3), (1, 3, 0, 2), optimize=True) * 2 + tmp7 = einsum(tmp6, (0, 1, 2, 3), t2, (0, 4, 5, 3), (4, 1, 5, 2), optimize=True) + del tmp6 + rdm2.ovvo += tmp7.transpose((0, 3, 2, 1)) * -1 + rdm2.ovvo += tmp7.transpose((0, 3, 2, 1)) * -1 + tmp4 = einsum(t2, (0, 1, 2, 3), tmp3, (0, 4, 5, 2), (1, 4, 3, 5), optimize=True) + rdm2.vovo = tmp4.transpose((3, 0, 2, 1)).copy() * -1 + rdm2.vovo += tmp4.transpose((3, 0, 2, 1)) * -1 + rdm2.voov = tmp4.transpose((3, 0, 1, 2)).copy() + rdm2.voov += tmp4.transpose((3, 0, 1, 2)) + rdm2.ovvo += tmp4.transpose((0, 3, 2, 1)) + rdm2.ovvo += tmp4.transpose((0, 3, 2, 1)) + rdm2.ovvo += tmp4.transpose((0, 3, 2, 1)) + rdm2.ovvo += tmp4.transpose((0, 3, 2, 1)) + tmp27 = l2.transpose((3, 2, 0, 1)).copy() * -1 + tmp27 += l2.transpose((3, 2, 1, 0)) + tmp24 = t2.transpose((1, 0, 2, 3)).copy() * 2 + tmp24 += t2.transpose((1, 0, 3, 2)) * -1 + tmp22 = t2.transpose((1, 0, 2, 3)).copy() + tmp22 += t2.transpose((1, 0, 3, 2)) * -1 + tmp16 = einsum(t2, (0, 1, 2, 3), tmp1, (0, 4), (1, 4, 2, 3), optimize=True) + del tmp1 + tmp15 = einsum(t2, (0, 1, 2, 3), tmp14, (4, 2), (0, 1, 3, 4), optimize=True) * 2 + del tmp14 + tmp8 = einsum(tmp7, (0, 1, 2, 3), t2, (1, 4, 5, 3), (4, 0, 5, 2), optimize=True) + del tmp7 + tmp5 = einsum(t2, (0, 1, 2, 3), tmp4, (4, 0, 5, 2), (1, 4, 3, 5), optimize=True) + del tmp4 + rdm2.oovv = tmp5.transpose((1, 0, 3, 2)).copy() * 2 + rdm2.oovv += tmp5.transpose((1, 0, 3, 2)) * 2 + tmp10 = einsum(t2, (0, 1, 2, 3), tmp3, (0, 4, 5, 3), (1, 4, 2, 5), optimize=True) + del tmp3 + tmp18 = einsum(t2, (0, 1, 2, 3), l2, (4, 2, 5, 1), (5, 0, 4, 3), optimize=True) + rdm2.voov += tmp18.transpose((2, 1, 0, 3)) * -1 + rdm2.voov += tmp18.transpose((2, 1, 0, 3)) * -1 + rdm2.ovvo += tmp18.transpose((1, 2, 3, 0)) * -1 + rdm2.ovvo += tmp18.transpose((1, 2, 3, 0)) * -1 + tmp20 = einsum(t2, (0, 1, 2, 3), l2, (2, 4, 5, 1), (5, 0, 4, 3), optimize=True) + rdm2.vovo += tmp20.transpose((2, 1, 3, 0)) * -1 + rdm2.vovo += tmp20.transpose((2, 1, 3, 0)) * -1 + rdm2.ovov += tmp20.transpose((1, 2, 0, 3)) * -1 + rdm2.ovov += tmp20.transpose((1, 2, 0, 3)) * -1 + tmp2 = einsum(l2, (0, 1, 2, 3), t2, (4, 5, 0, 1), (2, 3, 4, 5), optimize=True) + rdm2.oooo += tmp2.transpose((3, 2, 1, 0)) + rdm2.oooo += tmp2.transpose((2, 3, 1, 0)) * -1 + rdm2.oooo += tmp2.transpose((3, 2, 1, 0)) + rdm2.oooo += tmp2.transpose((3, 2, 1, 0)) + rdm2.oooo += tmp2.transpose((3, 2, 1, 0)) + rdm2.oooo += tmp2.transpose((2, 3, 1, 0)) * -1 + tmp29 = einsum(t2, (0, 1, 2, 3), l2, (4, 5, 0, 1), (4, 5, 2, 3), optimize=True) + rdm2.vvvv = tmp29.transpose((1, 0, 3, 2)).copy() + rdm2.vvvv += tmp29.transpose((1, 0, 2, 3)) * -1 + rdm2.vvvv += tmp29.transpose((1, 0, 3, 2)) + rdm2.vvvv += tmp29.transpose((1, 0, 3, 2)) + rdm2.vvvv += tmp29.transpose((1, 0, 3, 2)) + rdm2.vvvv += tmp29.transpose((1, 0, 2, 3)) * -1 + del tmp29 + tmp28 = einsum(t2, (0, 1, 2, 3), tmp27, (0, 4, 5, 3), (1, 4, 2, 5), optimize=True) + del tmp27 + rdm2.vovo += tmp28.transpose((3, 0, 2, 1)) * -1 + rdm2.vovo += tmp28.transpose((3, 0, 2, 1)) * -1 + del tmp28 + tmp26 = einsum(t2, (0, 1, 2, 3), tmp13, (0, 1, 4, 3), (2, 4), optimize=True) + del tmp13 + rdm2.vovo += einsum(tmp26, (0, 1), delta.oo, (2, 3), (1, 3, 0, 2), optimize=True) + rdm2.vovo += einsum(tmp26, (0, 1), delta.oo, (2, 3), (1, 3, 0, 2), optimize=True) + rdm2.vovo += einsum(tmp26, (0, 1), delta.oo, (2, 3), (1, 3, 0, 2), optimize=True) + rdm2.vovo += einsum(tmp26, (0, 1), delta.oo, (2, 3), (1, 3, 0, 2), optimize=True) + rdm2.voov += einsum(tmp26, (0, 1), delta.oo, (2, 3), (1, 3, 2, 0), optimize=True) * -1 + rdm2.voov += einsum(tmp26, (0, 1), delta.oo, (2, 3), (1, 3, 2, 0), optimize=True) * -1 + del tmp26 + tmp25 = einsum(l2, (0, 1, 2, 3), tmp24, (2, 4, 5, 0), (3, 4, 1, 5), optimize=True) + del tmp24 + rdm2.voov += tmp25.transpose((2, 1, 0, 3)) + rdm2.voov += tmp25.transpose((2, 1, 0, 3)) + rdm2.ovov += tmp25.transpose((1, 2, 0, 3)) * -1 + rdm2.ovov += tmp25.transpose((1, 2, 0, 3)) * -1 + del tmp25 + tmp23 = einsum(tmp22, (0, 1, 2, 3), l2, (4, 3, 0, 5), (5, 1, 4, 2), optimize=True) + del tmp22 + rdm2.voov += tmp23.transpose((2, 1, 0, 3)) * -1 + rdm2.voov += tmp23.transpose((2, 1, 0, 3)) * -1 + rdm2.ovov += tmp23.transpose((1, 2, 0, 3)) + rdm2.ovov += tmp23.transpose((1, 2, 0, 3)) + del tmp23 + tmp17 = tmp15.transpose((1, 0, 2, 3)).copy() + del tmp15 + tmp17 += tmp16.transpose((0, 1, 3, 2)) + del tmp16 + rdm2.oovv += tmp17.transpose((1, 0, 3, 2)) * -1 + rdm2.oovv += tmp17.transpose((1, 0, 2, 3)) + rdm2.oovv += tmp17.transpose((0, 1, 3, 2)) + rdm2.oovv += tmp17 * -1 + rdm2.oovv += tmp17.transpose((1, 0, 3, 2)) * -1 + rdm2.oovv += tmp17 * -1 + rdm2.oovv += tmp17.transpose((1, 0, 3, 2)) * -1 + rdm2.oovv += tmp17 * -1 + rdm2.oovv += tmp17.transpose((1, 0, 3, 2)) * -1 + rdm2.oovv += tmp17.transpose((1, 0, 2, 3)) + rdm2.oovv += tmp17.transpose((0, 1, 3, 2)) + rdm2.oovv += tmp17 * -1 + del tmp17 + tmp9 = tmp5.copy() * 2 + del tmp5 + tmp9 += tmp8.transpose((1, 0, 3, 2)) + del tmp8 + rdm2.oovv += tmp9.transpose((0, 1, 3, 2)) * -1 + rdm2.oovv += tmp9 + rdm2.oovv += tmp9.transpose((0, 1, 3, 2)) * -1 + rdm2.oovv += tmp9 + del tmp9 + tmp11 = einsum(t2, (0, 1, 2, 3), tmp10, (4, 0, 5, 2), (1, 4, 3, 5), optimize=True) + del tmp10 + rdm2.oovv += tmp11.transpose((1, 0, 3, 2)) * -1 + rdm2.oovv += tmp11.transpose((1, 0, 2, 3)) + rdm2.oovv += tmp11.transpose((0, 1, 3, 2)) + rdm2.oovv += tmp11 * -1 + rdm2.oovv += tmp11.transpose((1, 0, 3, 2)) * -1 + rdm2.oovv += tmp11 * -1 + rdm2.oovv += tmp11.transpose((1, 0, 3, 2)) * -1 + rdm2.oovv += tmp11 * -1 + rdm2.oovv += tmp11.transpose((1, 0, 3, 2)) * -1 + rdm2.oovv += tmp11.transpose((1, 0, 2, 3)) + rdm2.oovv += tmp11.transpose((0, 1, 3, 2)) + rdm2.oovv += tmp11 * -1 + del tmp11 + tmp19 = einsum(t2, (0, 1, 2, 3), tmp18, (1, 4, 2, 5), (0, 4, 3, 5), optimize=True) + del tmp18 + rdm2.oovv += tmp19 + rdm2.oovv += tmp19 + del tmp19 + tmp21 = einsum(t2, (0, 1, 2, 3), tmp20, (1, 4, 2, 5), (0, 4, 3, 5), optimize=True) + del tmp20 + rdm2.oovv += tmp21.transpose((0, 1, 3, 2)) + rdm2.oovv += tmp21.transpose((0, 1, 3, 2)) + del tmp21 + tmp12 = einsum(t2, (0, 1, 2, 3), tmp2, (0, 1, 4, 5), (5, 4, 3, 2), optimize=True) + del tmp2 + rdm2.oovv += tmp12.transpose((0, 1, 3, 2)) * -1 + rdm2.oovv += tmp12 + rdm2.oovv += tmp12 + rdm2.oovv += tmp12 + rdm2.oovv += tmp12.transpose((0, 1, 3, 2)) * -1 + rdm2.oovv += tmp12 + del tmp12 + rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (1, 3, 0, 2), optimize=True) + rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (3, 0, 1, 2), optimize=True) * -1 + rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (1, 3, 0, 2), optimize=True) + rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (1, 3, 0, 2), optimize=True) + rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (1, 3, 0, 2), optimize=True) + rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (3, 0, 1, 2), optimize=True) * -1 + del delta + rdm2.oovv += t2.transpose((1, 0, 2, 3)) * -1 + rdm2.oovv += t2.transpose((1, 0, 3, 2)) + rdm2.oovv += t2.transpose((1, 0, 3, 2)) + rdm2.oovv += t2.transpose((1, 0, 3, 2)) + rdm2.oovv += t2.transpose((1, 0, 2, 3)) * -1 + rdm2.oovv += t2.transpose((1, 0, 3, 2)) + rdm2.vvoo = l2.transpose((0, 1, 3, 2)).copy() * -1 + rdm2.vvoo += l2.transpose((1, 0, 3, 2)) + rdm2.vvoo += l2.transpose((1, 0, 3, 2)) + rdm2.vvoo += l2.transpose((1, 0, 3, 2)) + rdm2.vvoo += l2.transpose((0, 1, 3, 2)) * -1 + rdm2.vvoo += l2.transpose((1, 0, 3, 2)) + rdm2.ooov = np.zeros((t2.shape[0], t2.shape[0], t2.shape[0], t2.shape[-1])) + rdm2.oovo = np.zeros((t2.shape[0], t2.shape[0], t2.shape[-1], t2.shape[0])) + rdm2.ovoo = np.zeros((t2.shape[0], t2.shape[-1], t2.shape[0], t2.shape[0])) + rdm2.vooo = np.zeros((t2.shape[-1], t2.shape[0], t2.shape[0], t2.shape[0])) + rdm2.ovvv = np.zeros((t2.shape[0], t2.shape[-1], t2.shape[-1], t2.shape[-1])) + rdm2.vovv = np.zeros((t2.shape[-1], t2.shape[0], t2.shape[-1], t2.shape[-1])) + rdm2.vvov = np.zeros((t2.shape[-1], t2.shape[-1], t2.shape[0], t2.shape[-1])) + rdm2.vvvo = np.zeros((t2.shape[-1], t2.shape[-1], t2.shape[-1], t2.shape[0])) + rdm2 = pack_2e(rdm2.oooo, rdm2.ooov, rdm2.oovo, rdm2.ovoo, rdm2.vooo, rdm2.oovv, rdm2.ovov, rdm2.ovvo, rdm2.voov, rdm2.vovo, rdm2.vvoo, rdm2.ovvv, rdm2.vovv, rdm2.vvov, rdm2.vvvo, rdm2.vvvv) + rdm2 = rdm2.swapaxes(1, 2) + + return rdm2 + diff --git a/ebcc/codegen/RCCSD.py b/ebcc/codegen/RCCSD.py index e8a540b1..6ed2baa2 100644 --- a/ebcc/codegen/RCCSD.py +++ b/ebcc/codegen/RCCSD.py @@ -2,23 +2,23 @@ Code generated by `albert`: https://github.com/obackhouse/albert - * date: 2024-03-02T15:24:42.798019 - * python version: 3.10.12 (main, Nov 20 2023, 15:14:05) [GCC 11.4.0] + * date: 2024-07-18T20:20:43.113666 + * python version: 3.10.12 (main, Mar 22 2024, 16:50:05) [GCC 11.4.0] * albert version: 0.0.0 * caller: /home/ollie/git/albert/albert/codegen/einsum.py * node: ollie-desktop * system: Linux * processor: x86_64 - * release: 6.5.0-21-generic + * release: 6.5.0-44-generic """ from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, Namespace +from ebcc.util import pack_2e, einsum, direct_sum, Namespace def energy(f=None, t1=None, t2=None, v=None, **kwargs): """ - Code generated by `albert` 0.0.0 on 2024-03-02T15:24:43.336038. + Code generated by `albert` 0.0.0 on 2024-07-18T20:20:43.567964. Parameters ---------- @@ -37,21 +37,21 @@ def energy(f=None, t1=None, t2=None, v=None, **kwargs): Coupled cluster energy. """ - tmp0 = v.ovov.transpose((2, 0, 3, 1)).copy() - tmp0 += v.ovov.transpose((2, 0, 1, 3)) * -0.5 - tmp1 = einsum(tmp0, (0, 1, 2, 3), t1, (0, 2), (1, 3), optimize=True) + tmp0 = v.ovov.transpose((2, 0, 1, 3)).copy() + tmp0 += v.ovov.transpose((2, 0, 3, 1)) * -0.5 + tmp1 = f.ov.copy() + tmp1 += einsum(tmp0, (0, 1, 2, 3), t1, (0, 3), (1, 2), optimize=True) del tmp0 - tmp1 += f.ov e_cc = einsum(tmp1, (0, 1), t1, (0, 1), (), optimize=True) * 2 del tmp1 - e_cc += einsum(v.ovov, (0, 1, 2, 3), t2, (0, 2, 3, 1), (), optimize=True) * -1 e_cc += einsum(v.ovov, (0, 1, 2, 3), t2, (0, 2, 1, 3), (), optimize=True) * 2 + e_cc += einsum(t2, (0, 1, 2, 3), v.ovov, (0, 3, 1, 2), (), optimize=True) * -1 return e_cc def update_amps(f=None, t1=None, t2=None, v=None, **kwargs): """ - Code generated by `albert` 0.0.0 on 2024-03-02T15:24:55.456799. + Code generated by `albert` 0.0.0 on 2024-07-18T20:20:54.656399. Parameters ---------- @@ -72,241 +72,228 @@ def update_amps(f=None, t1=None, t2=None, v=None, **kwargs): Updated T2 residuals. """ - tmp18 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 0, 1, 5), (4, 2, 5, 3), optimize=True) - tmp73 = tmp18.copy() - tmp73 += v.ovov.transpose((2, 0, 3, 1)) * -1 - t2new = einsum(t2, (0, 1, 2, 3), tmp73, (4, 0, 5, 3), (1, 4, 2, 5), optimize=True) - del tmp73 - tmp72 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 0, 3, 5), (4, 2, 5, 1), optimize=True) - tmp72 += v.oovv.transpose((1, 0, 3, 2)) * -1 - t2new += einsum(tmp72, (0, 1, 2, 3), t2, (1, 4, 5, 3), (4, 0, 2, 5), optimize=True) - del tmp72 - tmp1 = einsum(v.ovov, (0, 1, 2, 3), t1, (4, 3), (4, 0, 2, 1), optimize=True) - tmp17 = einsum(tmp1, (0, 1, 2, 3), t1, (4, 3), (0, 4, 2, 1), optimize=True) - tmp70 = tmp17.transpose((3, 1, 0, 2)).copy() - tmp68 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 3, 5, 2), (0, 1, 5, 4), optimize=True) - tmp70 += tmp68.transpose((3, 1, 0, 2)) - tmp70 += v.oooo.transpose((2, 3, 1, 0)) - tmp71 = einsum(t1, (0, 1), tmp70, (0, 2, 3, 4), (3, 2, 4, 1), optimize=True) - del tmp70 - tmp71 += v.ooov.transpose((1, 2, 0, 3)) * -1 - t2new += einsum(tmp71, (0, 1, 2, 3), t1, (2, 4), (0, 1, 4, 3), optimize=True) - del tmp71 - tmp69 = tmp68.transpose((3, 1, 2, 0)).copy() - del tmp68 - tmp69 += v.oooo.transpose((2, 3, 1, 0)) - t2new += einsum(t2, (0, 1, 2, 3), tmp69, (0, 4, 1, 5), (4, 5, 2, 3), optimize=True) - del tmp69 - tmp3 = v.ovov.transpose((2, 0, 3, 1)).copy() * 2 - tmp3 += v.ovov.transpose((2, 0, 1, 3)) * -1 - tmp38 = einsum(t2, (0, 1, 2, 3), tmp3, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) - tmp67 = tmp38.transpose((1, 0, 3, 2)).copy() * 2 - tmp67 += v.oovv.transpose((1, 0, 3, 2)) * -1 - tmp67 += v.ovov.transpose((2, 0, 3, 1)) * 2 - t2new += einsum(tmp67, (0, 1, 2, 3), t2, (1, 4, 3, 5), (0, 4, 2, 5), optimize=True) - del tmp67 - tmp65 = einsum(v.ooov, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2), optimize=True) - tmp66 = einsum(tmp65, (0, 1, 2, 3), t2, (3, 2, 4, 5), (0, 1, 5, 4), optimize=True) - del tmp65 - t2new += tmp66.transpose((1, 0, 2, 3)) - t2new += tmp66.transpose((0, 1, 3, 2)) - del tmp66 - tmp61 = einsum(f.ov, (0, 1), t1, (2, 1), (0, 2), optimize=True) - tmp62 = tmp61.copy() - del tmp61 - tmp62 += f.oo.transpose((1, 0)) - tmp63 = einsum(tmp62, (0, 1), t2, (0, 2, 3, 4), (1, 2, 3, 4), optimize=True) - del tmp62 - tmp64 = tmp63.transpose((0, 1, 3, 2)).copy() - del tmp63 - tmp59 = einsum(t2, (0, 1, 2, 3), f.ov, (4, 3), (4, 0, 1, 2), optimize=True) - tmp60 = einsum(tmp59, (0, 1, 2, 3), t1, (0, 4), (1, 2, 4, 3), optimize=True) - del tmp59 - tmp64 += tmp60 - del tmp60 - t2new += tmp64.transpose((1, 0, 2, 3)) * -1 - t2new += tmp64.transpose((0, 1, 3, 2)) * -1 - del tmp64 - tmp13 = v.ovov.transpose((2, 0, 3, 1)).copy() - tmp13 += v.ovov.transpose((2, 0, 1, 3)) * -0.5 - tmp56 = einsum(t2, (0, 1, 2, 3), tmp13, (0, 4, 2, 3), (4, 1), optimize=True) * 2 - tmp57 = einsum(t2, (0, 1, 2, 3), tmp56, (0, 4), (4, 1, 2, 3), optimize=True) - del tmp56 - tmp58 = tmp57.transpose((1, 0, 3, 2)).copy() - del tmp57 - tmp53 = v.ovov.transpose((2, 0, 3, 1)).copy() * -0.5 - tmp53 += v.ovov.transpose((2, 0, 1, 3)) - tmp54 = einsum(t2, (0, 1, 2, 3), tmp53, (0, 1, 3, 4), (4, 2), optimize=True) - del tmp53 - tmp55 = einsum(tmp54, (0, 1), t2, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) * 2 - del tmp54 - tmp58 += tmp55.transpose((1, 0, 3, 2)) - del tmp55 - tmp51 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 5, 1, 3), (4, 5, 0, 2), optimize=True) - tmp52 = einsum(tmp51, (0, 1, 2, 3), t1, (2, 4), (0, 1, 4, 3), optimize=True) - del tmp51 - tmp58 += tmp52 - del tmp52 - t2new += tmp58.transpose((1, 0, 3, 2)) * -1 - t2new += tmp58 * -1 - del tmp58 - tmp47 = v.ooov.transpose((2, 1, 0, 3)).copy() * 2 - tmp47 += v.ooov.transpose((1, 0, 2, 3)) * -1 - tmp48 = einsum(tmp47, (0, 1, 2, 3), t1, (0, 3), (1, 2), optimize=True) - del tmp47 - tmp49 = einsum(t2, (0, 1, 2, 3), tmp48, (4, 0), (4, 1, 2, 3), optimize=True) - del tmp48 - tmp50 = tmp49.transpose((1, 0, 3, 2)).copy() * -1 - del tmp49 - tmp43 = tmp1.transpose((0, 2, 1, 3)).copy() * -1 - tmp43 += tmp1 * 2 - tmp44 = einsum(tmp43, (0, 1, 2, 3), t2, (1, 4, 3, 5), (0, 2, 4, 5), optimize=True) - del tmp43 - tmp45 = tmp44.transpose((0, 2, 1, 3)).copy() - del tmp44 - tmp42 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 1, 5, 2), (0, 4, 5, 3), optimize=True) - tmp45 += tmp42 * -1 + tmp4 = v.ovov.transpose((2, 0, 1, 3)).copy() * 2 + tmp4 += v.ovov.transpose((2, 0, 3, 1)) * -1 + tmp2 = einsum(t1, (0, 1), v.ovov, (2, 1, 3, 4), (0, 3, 2, 4), optimize=True) + tmp26 = einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) + tmp26 += t2.transpose((1, 0, 2, 3)) * -2 + tmp26 += t2.transpose((1, 0, 3, 2)) + tmp5 = einsum(tmp4, (0, 1, 2, 3), t1, (0, 3), (1, 2), optimize=True) + tmp42 = tmp2.copy() * 2 + tmp42 += tmp2.transpose((0, 2, 1, 3)) * -1 + tmp9 = einsum(f.ov, (0, 1), t1, (2, 1), (0, 2), optimize=True) + tmp24 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 1, 5, 3), (0, 4, 5, 2), optimize=True) + tmp25 = einsum(tmp2, (0, 1, 2, 3), t2, (4, 2, 3, 5), (0, 4, 1, 5), optimize=True) + tmp27 = einsum(tmp26, (0, 1, 2, 3), v.ooov, (4, 5, 0, 3), (4, 5, 1, 2), optimize=True) + del tmp26 + tmp28 = einsum(t2, (0, 1, 2, 3), tmp5, (4, 2), (4, 0, 1, 3), optimize=True) + tmp23 = einsum(v.oovv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2), optimize=True) + tmp46 = v.ooov.transpose((1, 0, 2, 3)).copy() * 2 + tmp46 += v.ooov.transpose((1, 2, 0, 3)) * -1 + tmp38 = v.ovvv.transpose((0, 1, 3, 2)).copy() * 2 + tmp38 += v.ovvv.transpose((0, 3, 2, 1)) * -1 + tmp35 = einsum(tmp4, (0, 1, 2, 3), t2, (0, 4, 3, 5), (1, 4, 2, 5), optimize=True) + del tmp4 + tmp34 = einsum(t1, (0, 1), tmp2, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) + tmp43 = einsum(tmp42, (0, 1, 2, 3), t2, (1, 4, 3, 5), (0, 2, 4, 5), optimize=True) del tmp42 - tmp45 += tmp1 - tmp46 = einsum(tmp45, (0, 1, 2, 3), t1, (2, 4), (0, 1, 3, 4), optimize=True) - del tmp45 - tmp50 += tmp46.transpose((0, 1, 3, 2)) * -1 + tmp41 = einsum(v.ooov, (0, 1, 2, 3), t2, (4, 1, 3, 5), (4, 0, 2, 5), optimize=True) + tmp52 = v.ovov.transpose((2, 0, 1, 3)).copy() * -0.5 + tmp52 += v.ovov.transpose((2, 0, 3, 1)) + tmp58 = einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) + tmp60 = f.oo.transpose((1, 0)).copy() + tmp60 += tmp9 + tmp29 = tmp23.transpose((0, 2, 1, 3)).copy() * -1 + del tmp23 + tmp29 += tmp24.transpose((0, 2, 1, 3)) + del tmp24 + tmp29 += tmp25.transpose((0, 2, 1, 3)) + del tmp25 + tmp29 += tmp27.transpose((2, 1, 0, 3)) + del tmp27 + tmp29 += tmp28.transpose((2, 0, 1, 3)) * -1 + del tmp28 + tmp16 = einsum(t1, (0, 1), v.ovvv, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) + tmp20 = einsum(t1, (0, 1), v.ovvv, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) + tmp7 = t2.transpose((1, 0, 2, 3)).copy() * 2 + tmp7 += t2.transpose((1, 0, 3, 2)) * -1 + tmp31 = einsum(t1, (0, 1), tmp5, (2, 1), (2, 0), optimize=True) + tmp47 = einsum(t1, (0, 1), tmp46, (2, 3, 0, 1), (2, 3), optimize=True) del tmp46 - tmp8 = v.ovvv.transpose((0, 3, 2, 1)).copy() * -1 - tmp8 += v.ovvv.transpose((0, 1, 3, 2)) * 2 - tmp9 = einsum(tmp8, (0, 1, 2, 3), t1, (0, 1), (2, 3), optimize=True) - del tmp8 - tmp41 = einsum(t2, (0, 1, 2, 3), tmp9, (4, 2), (0, 1, 4, 3), optimize=True) - tmp50 += tmp41.transpose((1, 0, 3, 2)) - del tmp41 - tmp39 = tmp38.transpose((1, 0, 3, 2)).copy() * -1 + tmp39 = einsum(t1, (0, 1), tmp38, (0, 1, 2, 3), (2, 3), optimize=True) del tmp38 - tmp37 = einsum(tmp1, (0, 1, 2, 3), t1, (2, 4), (0, 1, 4, 3), optimize=True) - tmp39 += tmp37 - del tmp37 - tmp40 = einsum(t2, (0, 1, 2, 3), tmp39, (4, 0, 5, 3), (4, 1, 5, 2), optimize=True) - del tmp39 - tmp50 += tmp40 - del tmp40 - t2new += tmp50.transpose((1, 0, 3, 2)) - t2new += tmp50 - del tmp50 - tmp4 = einsum(tmp3, (0, 1, 2, 3), t1, (0, 2), (1, 3), optimize=True) - del tmp3 - tmp34 = einsum(tmp4, (0, 1), t1, (2, 1), (0, 2), optimize=True) - tmp35 = einsum(tmp34, (0, 1), t2, (0, 2, 3, 4), (1, 2, 3, 4), optimize=True) + tmp36 = tmp34.copy() del tmp34 - tmp36 = tmp35.transpose((0, 1, 3, 2)).copy() * -1 - del tmp35 - tmp31 = einsum(t2, (0, 1, 2, 3), tmp4, (4, 2), (4, 0, 1, 3), optimize=True) - tmp32 = tmp31.transpose((2, 0, 1, 3)).copy() * -1 - del tmp31 - tmp29 = t2.transpose((1, 0, 3, 2)).copy() - tmp29 += t2.transpose((1, 0, 2, 3)) * -2 - tmp29 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) - tmp30 = einsum(tmp29, (0, 1, 2, 3), v.ooov, (4, 5, 0, 3), (4, 5, 1, 2), optimize=True) + tmp36 += tmp35.transpose((1, 0, 3, 2)) * -1 + tmp44 = tmp2.copy() + tmp44 += tmp41 * -1 + del tmp41 + tmp44 += tmp43.transpose((0, 2, 1, 3)) + del tmp43 + tmp50 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 5, 1, 3), (4, 5, 0, 2), optimize=True) + tmp55 = einsum(tmp52, (0, 1, 2, 3), t2, (0, 4, 2, 3), (1, 4), optimize=True) * 2 + tmp53 = einsum(tmp52, (0, 1, 2, 3), t2, (0, 1, 2, 4), (3, 4), optimize=True) + del tmp52 + tmp17 = t2.transpose((1, 0, 3, 2)).copy() + tmp17 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) + tmp14 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 0, 1, 5), (4, 2, 5, 3), optimize=True) + t2new = tmp14.copy() * -1 + tmp63 = einsum(t1, (0, 1), v.ooov, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) + tmp15 = einsum(tmp2, (0, 1, 2, 3), t1, (4, 3), (0, 4, 2, 1), optimize=True) + t2new += einsum(tmp15, (0, 1, 2, 3), t2, (3, 2, 4, 5), (1, 0, 4, 5), optimize=True) + tmp59 = einsum(t1, (0, 1), tmp58, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) + del tmp58 + tmp61 = einsum(tmp60, (0, 1), t2, (0, 2, 3, 4), (1, 2, 3, 4), optimize=True) + del tmp60 + tmp19 = einsum(f.vv, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4), optimize=True) + tmp30 = einsum(tmp29, (0, 1, 2, 3), t1, (1, 4), (0, 2, 3, 4), optimize=True) del tmp29 - tmp32 += tmp30.transpose((2, 1, 0, 3)) - del tmp30 - tmp28 = einsum(tmp1, (0, 1, 2, 3), t2, (4, 2, 3, 5), (0, 4, 1, 5), optimize=True) - tmp32 += tmp28.transpose((0, 2, 1, 3)) - del tmp28 - tmp27 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 1, 5, 3), (0, 4, 5, 2), optimize=True) - tmp32 += tmp27.transpose((0, 2, 1, 3)) - del tmp27 - tmp26 = einsum(t1, (0, 1), v.oovv, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) - tmp32 += tmp26.transpose((0, 2, 1, 3)) * -1 - del tmp26 - tmp33 = einsum(tmp32, (0, 1, 2, 3), t1, (1, 4), (0, 2, 3, 4), optimize=True) - del tmp32 - tmp36 += tmp33.transpose((0, 1, 3, 2)) - del tmp33 - tmp23 = einsum(v.ovvv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2), optimize=True) - tmp6 = t2.transpose((1, 0, 3, 2)).copy() * 2 - tmp6 += t2.transpose((1, 0, 2, 3)) * -1 - tmp25 = einsum(tmp23, (0, 1, 2, 3), tmp6, (1, 4, 2, 5), (4, 0, 5, 3), optimize=True) - tmp36 += tmp25.transpose((1, 0, 2, 3)) - del tmp25 - tmp19 = einsum(v.ovvv, (0, 1, 2, 3), t1, (4, 1), (4, 0, 2, 3), optimize=True) - tmp24 = einsum(t2, (0, 1, 2, 3), tmp19, (4, 1, 5, 3), (4, 0, 2, 5), optimize=True) - tmp36 += tmp24 * -1 - del tmp24 - tmp36 += tmp23 - del tmp23 - tmp22 = einsum(t2, (0, 1, 2, 3), f.vv, (4, 3), (0, 1, 4, 2), optimize=True) - tmp36 += tmp22 - del tmp22 - t2new += tmp36.transpose((1, 0, 2, 3)) - t2new += tmp36.transpose((0, 1, 3, 2)) + tmp21 = einsum(tmp16, (0, 1, 2, 3), t2, (4, 1, 5, 3), (0, 4, 5, 2), optimize=True) + tmp22 = einsum(tmp20, (0, 1, 2, 3), tmp7, (1, 4, 5, 2), (4, 0, 5, 3), optimize=True) + tmp32 = einsum(tmp31, (0, 1), t2, (0, 2, 3, 4), (1, 2, 3, 4), optimize=True) + del tmp31 + tmp48 = einsum(tmp47, (0, 1), t2, (1, 2, 3, 4), (0, 2, 3, 4), optimize=True) + del tmp47 + tmp40 = einsum(tmp39, (0, 1), t2, (2, 3, 1, 4), (2, 3, 0, 4), optimize=True) + del tmp39 + tmp37 = einsum(t2, (0, 1, 2, 3), tmp36, (4, 0, 5, 3), (4, 1, 5, 2), optimize=True) del tmp36 - tmp20 = einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) - tmp20 += t2.transpose((1, 0, 3, 2)) - tmp21 = einsum(tmp19, (0, 1, 2, 3), tmp20, (1, 4, 5, 2), (0, 4, 3, 5), optimize=True) - del tmp19, tmp20 - t2new += tmp21.transpose((1, 0, 2, 3)) * -1 - t2new += tmp21.transpose((0, 1, 3, 2)) * -1 - del tmp21 - t2new += einsum(v.ooov, (0, 1, 2, 3), t1, (1, 4), (2, 0, 3, 4), optimize=True) * -1 - t2new += einsum(v.ovov, (0, 1, 2, 3), t2, (4, 0, 5, 1), (4, 2, 5, 3), optimize=True) * 2 - t2new += einsum(v.oovv, (0, 1, 2, 3), t2, (4, 1, 3, 5), (0, 4, 5, 2), optimize=True) * -1 - t2new += tmp18.transpose((1, 0, 3, 2)) * -1 + tmp45 = einsum(t1, (0, 1), tmp44, (2, 3, 0, 4), (2, 3, 4, 1), optimize=True) + del tmp44 + tmp51 = einsum(t1, (0, 1), tmp50, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) + del tmp50 + tmp56 = einsum(tmp55, (0, 1), t2, (0, 2, 3, 4), (1, 2, 3, 4), optimize=True) + del tmp55 + tmp54 = einsum(tmp53, (0, 1), t2, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) * 2 + del tmp53 + tmp10 = v.ovov.transpose((2, 0, 1, 3)).copy() * 2 + tmp10 += v.ovov.transpose((2, 0, 3, 1)) * -1 + tmp0 = t2.transpose((1, 0, 3, 2)).copy() + tmp0 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) + tmp11 = v.ooov.transpose((1, 0, 2, 3)).copy() + tmp11 += v.ooov.transpose((1, 2, 0, 3)) * -0.5 + tmp66 = v.oooo.transpose((2, 3, 1, 0)).copy() + tmp66 += einsum(v.ovov, (0, 1, 2, 3), t2, (4, 5, 1, 3), (2, 5, 4, 0), optimize=True) + t2new += einsum(tmp66, (0, 1, 2, 3), tmp0, (0, 3, 4, 5), (2, 1, 5, 4), optimize=True) + del tmp66 + tmp18 = einsum(tmp16, (0, 1, 2, 3), tmp17, (1, 4, 5, 2), (0, 4, 3, 5), optimize=True) + del tmp16, tmp17 + t2new += tmp18.transpose((1, 0, 2, 3)) * -1 + t2new += tmp18.transpose((0, 1, 3, 2)) * -1 del tmp18 - t2new += einsum(v.oovv, (0, 1, 2, 3), t2, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) * -1 - t2new += v.ovov.transpose((2, 0, 3, 1)) - t2new += einsum(tmp17, (0, 1, 2, 3), t2, (2, 3, 4, 5), (1, 0, 5, 4), optimize=True) - del tmp17 - tmp16 = einsum(v.vvvv, (0, 1, 2, 3), t1, (4, 2), (4, 0, 1, 3), optimize=True) - t2new += einsum(tmp16, (0, 1, 2, 3), t1, (4, 2), (4, 0, 1, 3), optimize=True) - del tmp16 - t2new += einsum(v.vvvv, (0, 1, 2, 3), t2, (4, 5, 2, 1), (5, 4, 0, 3), optimize=True) - tmp14 = einsum(tmp13, (0, 1, 2, 3), t1, (0, 2), (1, 3), optimize=True) - del tmp13 - tmp14 += f.ov * 0.5 - tmp15 = einsum(tmp14, (0, 1), t1, (2, 1), (0, 2), optimize=True) * 2 + tmp69 = v.ovov.transpose((2, 0, 3, 1)).copy() * -1 + tmp69 += tmp14 del tmp14 - tmp12 = v.ooov.transpose((2, 1, 0, 3)).copy() - tmp12 += v.ooov.transpose((1, 0, 2, 3)) * -0.5 - tmp15 += einsum(tmp12, (0, 1, 2, 3), t1, (0, 3), (2, 1), optimize=True) * 2 - del tmp12 - tmp11 = v.ovov.transpose((2, 0, 3, 1)).copy() * 2 - tmp11 += v.ovov.transpose((2, 0, 1, 3)) * -1 - tmp15 += einsum(tmp11, (0, 1, 2, 3), t2, (0, 4, 2, 3), (1, 4), optimize=True) - del tmp11 - tmp15 += f.oo.transpose((1, 0)) - t1new = einsum(tmp15, (0, 1), t1, (0, 2), (1, 2), optimize=True) * -1 + t2new += einsum(tmp69, (0, 1, 2, 3), t2, (1, 4, 5, 3), (0, 4, 2, 5), optimize=True) + del tmp69 + tmp64 = einsum(t2, (0, 1, 2, 3), tmp63, (4, 5, 0, 1), (4, 5, 2, 3), optimize=True) + del tmp63 + t2new += tmp64.transpose((1, 0, 2, 3)) + t2new += tmp64.transpose((0, 1, 3, 2)) + del tmp64 + tmp67 = v.ooov.transpose((1, 2, 0, 3)).copy() * -1 + tmp67 += einsum(t1, (0, 1), tmp15, (2, 3, 0, 4), (3, 2, 4, 1), optimize=True) del tmp15 - tmp10 = tmp9.transpose((1, 0)).copy() + t2new += einsum(t1, (0, 1), tmp67, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) + del tmp67 + tmp62 = tmp59.copy() + del tmp59 + tmp62 += tmp61.transpose((0, 1, 3, 2)) + del tmp61 + t2new += tmp62.transpose((1, 0, 2, 3)) * -1 + t2new += tmp62.transpose((0, 1, 3, 2)) * -1 + del tmp62 + tmp13 = einsum(t1, (0, 1), v.vvvv, (2, 1, 3, 4), (0, 3, 4, 2), optimize=True) + t2new += einsum(tmp13, (0, 1, 2, 3), t1, (4, 2), (4, 0, 1, 3), optimize=True) + del tmp13 + tmp33 = tmp19.copy() + del tmp19 + tmp33 += tmp20 + del tmp20 + tmp33 += tmp21 * -1 + del tmp21 + tmp33 += tmp22.transpose((1, 0, 2, 3)) + del tmp22 + tmp33 += tmp30.transpose((0, 1, 3, 2)) + del tmp30 + tmp33 += tmp32.transpose((0, 1, 3, 2)) * -1 + del tmp32 + t2new += tmp33.transpose((1, 0, 2, 3)) + t2new += tmp33.transpose((0, 1, 3, 2)) + del tmp33 + tmp68 = v.oovv.transpose((1, 0, 3, 2)).copy() * -1 + tmp68 += einsum(v.ovov, (0, 1, 2, 3), t2, (4, 0, 3, 5), (4, 2, 5, 1), optimize=True) + t2new += einsum(t2, (0, 1, 2, 3), tmp68, (4, 0, 5, 3), (4, 1, 2, 5), optimize=True) + del tmp68 + tmp49 = tmp37.copy() + del tmp37 + tmp49 += tmp40.transpose((1, 0, 3, 2)) + del tmp40 + tmp49 += tmp45.transpose((0, 1, 3, 2)) * -1 + del tmp45 + tmp49 += tmp48.transpose((1, 0, 3, 2)) * -1 + del tmp48 + t2new += tmp49.transpose((1, 0, 3, 2)) + t2new += tmp49 + del tmp49 + tmp57 = tmp51.copy() + del tmp51 + tmp57 += tmp54.transpose((1, 0, 3, 2)) + del tmp54 + tmp57 += tmp56.transpose((1, 0, 3, 2)) + del tmp56 + t2new += tmp57.transpose((1, 0, 3, 2)) * -1 + t2new += tmp57 * -1 + del tmp57 + tmp65 = v.ovov.transpose((2, 0, 3, 1)).copy() * 2 + tmp65 += v.oovv.transpose((1, 0, 3, 2)) * -1 + tmp65 += tmp35.transpose((1, 0, 3, 2)) * 2 + del tmp35 + t2new += einsum(t2, (0, 1, 2, 3), tmp65, (4, 0, 5, 2), (1, 4, 3, 5), optimize=True) + del tmp65 + tmp12 = f.oo.transpose((1, 0)).copy() * 0.5 + tmp12 += tmp9 * 0.5 del tmp9 - tmp10 += f.vv.transpose((1, 0)) - t1new += einsum(t1, (0, 1), tmp10, (1, 2), (0, 2), optimize=True) + tmp12 += einsum(tmp0, (0, 1, 2, 3), tmp10, (0, 4, 3, 2), (4, 1), optimize=True) * 0.5 del tmp10 - tmp7 = v.oovv.transpose((1, 0, 3, 2)).copy() * -1 - tmp7 += v.ovov.transpose((2, 0, 3, 1)) * 2 - t1new += einsum(tmp7, (0, 1, 2, 3), t1, (0, 2), (1, 3), optimize=True) - del tmp7 - tmp5 = tmp4.copy() - del tmp4 - tmp5 += f.ov - t1new += einsum(tmp6, (0, 1, 2, 3), tmp5, (0, 2), (1, 3), optimize=True) - del tmp6, tmp5 - tmp2 = tmp1.transpose((0, 2, 1, 3)).copy() - tmp2 += tmp1 * -0.5 - del tmp1 - tmp2 += v.ooov.transpose((1, 2, 0, 3)) * -0.5 - tmp2 += v.ooov.transpose((1, 0, 2, 3)) - t1new += einsum(t2, (0, 1, 2, 3), tmp2, (4, 0, 1, 3), (4, 2), optimize=True) * -2 + tmp12 += einsum(t1, (0, 1), tmp11, (2, 3, 0, 1), (3, 2), optimize=True) + del tmp11 + t1new = einsum(tmp12, (0, 1), t1, (0, 2), (1, 2), optimize=True) * -2 + del tmp12 + tmp8 = v.ovov.transpose((2, 0, 3, 1)).copy() * 2 + tmp8 += v.oovv.transpose((1, 0, 3, 2)) * -1 + t1new += einsum(t1, (0, 1), tmp8, (0, 2, 1, 3), (2, 3), optimize=True) + del tmp8 + tmp1 = v.ovvv.transpose((0, 1, 3, 2)).copy() * -0.5 + tmp1 += v.ovvv.transpose((0, 3, 1, 2)) + t1new += einsum(tmp0, (0, 1, 2, 3), tmp1, (0, 3, 2, 4), (1, 4), optimize=True) * 2 + del tmp0, tmp1 + tmp3 = v.ooov.transpose((1, 0, 2, 3)).copy() + tmp3 += v.ooov.transpose((1, 2, 0, 3)) * -0.5 + tmp3 += tmp2 * -0.5 + tmp3 += tmp2.transpose((0, 2, 1, 3)) del tmp2 - tmp0 = v.ovvv.transpose((0, 3, 1, 2)).copy() * -0.5 - tmp0 += v.ovvv.transpose((0, 1, 3, 2)) - t1new += einsum(t2, (0, 1, 2, 3), tmp0, (0, 2, 3, 4), (1, 4), optimize=True) * 2 - del tmp0 + t1new += einsum(tmp3, (0, 1, 2, 3), t2, (2, 1, 3, 4), (0, 4), optimize=True) * -2 + del tmp3 + tmp6 = f.ov.copy() + tmp6 += tmp5 + del tmp5 + t1new += einsum(tmp6, (0, 1), tmp7, (0, 2, 3, 1), (2, 3), optimize=True) + del tmp7, tmp6 + t1new += einsum(f.vv, (0, 1), t1, (2, 1), (2, 0), optimize=True) t1new += f.ov + t2new += einsum(v.ooov, (0, 1, 2, 3), t1, (1, 4), (2, 0, 3, 4), optimize=True) * -1 + t2new += v.ovov.transpose((2, 0, 3, 1)) + t2new += einsum(v.vvvv, (0, 1, 2, 3), t2, (4, 5, 1, 3), (5, 4, 2, 0), optimize=True) + t2new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) * -1 + t2new += einsum(v.oovv, (0, 1, 2, 3), t2, (4, 1, 3, 5), (4, 0, 2, 5), optimize=True) * -1 + t2new += einsum(t2, (0, 1, 2, 3), v.ovov, (1, 3, 4, 5), (4, 0, 5, 2), optimize=True) * 2 return {f"t1new": t1new, f"t2new": t2new} def update_lams(f=None, l1=None, l2=None, t1=None, t2=None, v=None, **kwargs): """ - Code generated by `albert` 0.0.0 on 2024-03-02T15:25:32.906278. + Code generated by `albert` 0.0.0 on 2024-07-18T20:21:35.071705. Parameters ---------- @@ -331,383 +318,378 @@ def update_lams(f=None, l1=None, l2=None, t1=None, t2=None, v=None, **kwargs): Updated L2 residuals. """ - tmp8 = einsum(v.ovov, (0, 1, 2, 3), t1, (4, 1), (4, 2, 0, 3), optimize=True) - tmp27 = einsum(tmp8, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2), optimize=True) - tmp116 = tmp27.transpose((0, 2, 3, 1)).copy() - tmp116 += v.oooo.transpose((2, 3, 1, 0)) - l2new = einsum(tmp116, (0, 1, 2, 3), l2, (4, 5, 0, 3), (5, 4, 2, 1), optimize=True) - del tmp116 - tmp17 = einsum(l2, (0, 1, 2, 3), t1, (4, 0), (3, 2, 4, 1), optimize=True) - tmp37 = einsum(t1, (0, 1), tmp17, (2, 3, 4, 1), (3, 2, 4, 0), optimize=True) - tmp38 = tmp37.copy() - tmp36 = einsum(l2, (0, 1, 2, 3), t2, (4, 5, 0, 1), (2, 3, 4, 5), optimize=True) - tmp38 += tmp36.transpose((1, 0, 3, 2)) - l2new += einsum(tmp38, (0, 1, 2, 3), v.ovov, (2, 4, 3, 5), (5, 4, 1, 0), optimize=True) - tmp16 = t2.transpose((1, 0, 3, 2)).copy() - tmp16 += t2.transpose((1, 0, 2, 3)) * -0.5 - tmp60 = einsum(tmp16, (0, 1, 2, 3), l2, (2, 3, 0, 4), (4, 1), optimize=True) * 2 - tmp61 = tmp60.copy() - del tmp60 - tmp50 = einsum(l1, (0, 1), t1, (2, 0), (1, 2), optimize=True) - tmp61 += tmp50 - tmp114 = einsum(v.ovov, (0, 1, 2, 3), tmp61, (4, 0), (2, 4, 1, 3), optimize=True) - tmp115 = tmp114.transpose((1, 0, 3, 2)).copy() - del tmp114 - tmp47 = t2.transpose((1, 0, 3, 2)).copy() * -0.5 - tmp47 += t2.transpose((1, 0, 2, 3)) - tmp112 = einsum(l2, (0, 1, 2, 3), tmp47, (2, 3, 1, 4), (0, 4), optimize=True) * 2 - tmp113 = einsum(v.ovov, (0, 1, 2, 3), tmp112, (4, 1), (0, 2, 3, 4), optimize=True) - del tmp112 - tmp115 += tmp113.transpose((1, 0, 3, 2)) - del tmp113 - tmp111 = einsum(tmp8, (0, 1, 2, 3), l1, (4, 0), (1, 2, 4, 3), optimize=True) - tmp115 += tmp111 - del tmp111 - tmp110 = einsum(f.oo, (0, 1), l2, (2, 3, 4, 1), (0, 4, 2, 3), optimize=True) - tmp115 += tmp110 - del tmp110 - l2new += tmp115.transpose((2, 3, 1, 0)) * -1 - l2new += tmp115.transpose((3, 2, 0, 1)) * -1 - del tmp115 - tmp23 = t2.transpose((1, 0, 3, 2)).copy() * 2 - tmp23 += t2.transpose((1, 0, 2, 3)) * -1 - tmp106 = einsum(v.ovov, (0, 1, 2, 3), tmp23, (0, 4, 1, 3), (2, 4), optimize=True) * 0.5 - tmp107 = tmp106.transpose((1, 0)).copy() - del tmp106 - tmp105 = einsum(t1, (0, 1), v.ooov, (2, 3, 0, 1), (2, 3), optimize=True) - tmp107 += tmp105.transpose((1, 0)) - del tmp105 - tmp108 = einsum(tmp107, (0, 1), l2, (2, 3, 0, 4), (4, 1, 2, 3), optimize=True) * 2 - del tmp107 - tmp109 = tmp108.transpose((0, 1, 3, 2)).copy() - del tmp108 - tmp15 = t2.transpose((1, 0, 3, 2)).copy() * -1 - tmp15 += t2.transpose((1, 0, 2, 3)) * 2 - tmp103 = einsum(v.ovov, (0, 1, 2, 3), tmp15, (0, 2, 3, 4), (1, 4), optimize=True) * 0.5 - tmp104 = einsum(tmp103, (0, 1), l2, (1, 2, 3, 4), (3, 4, 2, 0), optimize=True) * 2 - del tmp103 - tmp109 += tmp104.transpose((1, 0, 2, 3)) - del tmp104 - tmp102 = einsum(v.ooov, (0, 1, 2, 3), l1, (4, 1), (0, 2, 4, 3), optimize=True) - tmp109 += tmp102 - del tmp102 - l2new += tmp109.transpose((3, 2, 1, 0)) * -1 - l2new += tmp109.transpose((2, 3, 0, 1)) * -1 + tmp81 = v.ovov.transpose((2, 0, 1, 3)).copy() * 2 + tmp81 += v.ovov.transpose((2, 0, 3, 1)) * -1 + tmp5 = einsum(t1, (0, 1), v.ovov, (2, 1, 3, 4), (0, 3, 2, 4), optimize=True) + tmp82 = einsum(tmp81, (0, 1, 2, 3), t1, (0, 3), (1, 2), optimize=True) + del tmp81 + tmp69 = t2.transpose((1, 0, 2, 3)).copy() * 2 + tmp69 += t2.transpose((1, 0, 3, 2)) * -1 + tmp37 = t2.transpose((1, 0, 2, 3)).copy() * -0.5 + tmp37 += t2.transpose((1, 0, 3, 2)) + tmp46 = t2.transpose((1, 0, 2, 3)).copy() * 2 + tmp46 += t2.transpose((1, 0, 3, 2)) * -1 + tmp6 = einsum(t1, (0, 1), tmp5, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) + tmp4 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 3, 5, 2), (0, 1, 5, 4), optimize=True) + tmp73 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 3, 0, 5), (1, 4, 2, 5), optimize=True) + tmp2 = einsum(t1, (0, 1), v.ovvv, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) + tmp80 = einsum(t1, (0, 1), v.ooov, (0, 2, 3, 1), (2, 3), optimize=True) + tmp83 = einsum(t1, (0, 1), tmp82, (2, 1), (0, 2), optimize=True) + tmp68 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 2, 0, 5), (1, 4, 3, 5), optimize=True) + tmp70 = einsum(tmp69, (0, 1, 2, 3), v.ovov, (0, 3, 4, 5), (4, 1, 5, 2), optimize=True) + del tmp69 + tmp67 = einsum(t1, (0, 1), v.ovvv, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) + tmp20 = einsum(t1, (0, 1), l2, (1, 2, 3, 4), (4, 3, 0, 2), optimize=True) + tmp57 = einsum(l2, (0, 1, 2, 3), tmp37, (2, 4, 0, 1), (3, 4), optimize=True) * 2 + tmp47 = einsum(l1, (0, 1), t1, (2, 0), (1, 2), optimize=True) + tmp110 = einsum(v.ovov, (0, 1, 2, 3), tmp46, (0, 4, 3, 1), (2, 4), optimize=True) * 0.5 + tmp109 = einsum(t1, (0, 1), v.ooov, (2, 3, 0, 1), (2, 3), optimize=True) + tmp10 = v.ovov.transpose((2, 0, 1, 3)).copy() + tmp10 += v.ovov.transpose((2, 0, 3, 1)) * -0.5 + tmp7 = tmp4.transpose((1, 0, 3, 2)).copy() + del tmp4 + tmp7 += tmp6 + del tmp6 + l2new = einsum(tmp7, (0, 1, 2, 3), l2, (4, 5, 0, 1), (5, 4, 3, 2), optimize=True) + tmp92 = einsum(f.ov, (0, 1), t1, (2, 1), (0, 2), optimize=True) + tmp74 = v.oovv.transpose((1, 0, 3, 2)).copy() + tmp74 += tmp2.transpose((0, 1, 3, 2)) + tmp74 += tmp73 * -1 + del tmp73 + tmp16 = einsum(t1, (0, 1), v.ooov, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) + tmp78 = tmp5.copy() * -1 + tmp78 += tmp5.transpose((0, 2, 1, 3)) * 2 + tmp84 = tmp80.copy() + del tmp80 + tmp84 += tmp83 * -1 + del tmp83 + tmp62 = einsum(t1, (0, 1), v.ovvv, (0, 1, 2, 3), (2, 3), optimize=True) + tmp66 = l2.transpose((3, 2, 0, 1)).copy() * 2 + tmp66 += l2.transpose((3, 2, 1, 0)) * -1 + tmp71 = v.ovov.transpose((2, 0, 3, 1)).copy() + tmp71 += tmp67.transpose((0, 1, 3, 2)) + del tmp67 + tmp71 += tmp68 * -1 + del tmp68 + tmp71 += tmp70.transpose((1, 0, 3, 2)) + del tmp70 + tmp76 = tmp20.copy() * 2 + tmp76 += tmp20.transpose((1, 0, 2, 3)) * -1 + tmp58 = tmp47.copy() + tmp58 += tmp57 + del tmp57 + tmp102 = einsum(tmp37, (0, 1, 2, 3), l2, (2, 4, 0, 1), (4, 3), optimize=True) * 2 + tmp111 = tmp109.transpose((1, 0)).copy() del tmp109 - tmp76 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 3, 0, 5), (1, 4, 2, 5), optimize=True) - tmp77 = tmp76.copy() * -1 - del tmp76 - tmp25 = einsum(v.ovvv, (0, 1, 2, 3), t1, (4, 1), (4, 0, 2, 3), optimize=True) - tmp77 += tmp25.transpose((0, 1, 3, 2)) - tmp77 += v.oovv.transpose((1, 0, 3, 2)) - tmp100 = einsum(l2, (0, 1, 2, 3), tmp77, (2, 4, 1, 5), (3, 4, 0, 5), optimize=True) - tmp101 = tmp100.copy() * -1 - del tmp100 - tmp99 = einsum(tmp17, (0, 1, 2, 3), tmp8, (0, 2, 4, 5), (1, 4, 3, 5), optimize=True) - tmp101 += tmp99 - del tmp99 - tmp98 = einsum(v.ooov, (0, 1, 2, 3), tmp17, (1, 4, 2, 5), (4, 0, 5, 3), optimize=True) - tmp101 += tmp98 - del tmp98 - tmp12 = einsum(v.ooov, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2), optimize=True) - tmp97 = einsum(l2, (0, 1, 2, 3), tmp12, (3, 2, 4, 5), (4, 5, 1, 0), optimize=True) - tmp101 += tmp97 - del tmp97 - tmp96 = einsum(f.ov, (0, 1), tmp17, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) - tmp101 += tmp96 * -1 - del tmp96 - tmp94 = einsum(f.ov, (0, 1), t1, (2, 1), (0, 2), optimize=True) - tmp95 = einsum(l2, (0, 1, 2, 3), tmp94, (4, 3), (4, 2, 0, 1), optimize=True) - del tmp94 - tmp101 += tmp95 * -1 - del tmp95 - tmp93 = einsum(v.ovvv, (0, 1, 2, 3), l1, (3, 4), (4, 0, 1, 2), optimize=True) - tmp101 += tmp93 - del tmp93 - tmp92 = einsum(l2, (0, 1, 2, 3), f.vv, (4, 1), (2, 3, 4, 0), optimize=True) - tmp101 += tmp92 + tmp111 += tmp110.transpose((1, 0)) + del tmp110 + tmp107 = einsum(tmp46, (0, 1, 2, 3), v.ovov, (0, 3, 1, 4), (4, 2), optimize=True) * 0.5 + tmp48 = einsum(l2, (0, 1, 2, 3), tmp37, (2, 4, 0, 1), (3, 4), optimize=True) + tmp11 = einsum(t1, (0, 1), tmp10, (0, 2, 3, 1), (2, 3), optimize=True) * 2 + del tmp10 + tmp8 = einsum(t1, (0, 1), tmp7, (2, 3, 0, 4), (2, 3, 4, 1), optimize=True) * 2 + del tmp7 + tmp1 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 5, 1, 2), (4, 5, 0, 3), optimize=True) + tmp3 = einsum(tmp2, (0, 1, 2, 3), t1, (4, 3), (0, 4, 1, 2), optimize=True) + del tmp2 + tmp39 = einsum(l2, (0, 1, 2, 3), t2, (4, 5, 1, 0), (2, 3, 5, 4), optimize=True) + l2new += einsum(tmp39, (0, 1, 2, 3), v.ovov, (2, 4, 3, 5), (4, 5, 0, 1), optimize=True) + tmp35 = einsum(t1, (0, 1), tmp20, (2, 3, 4, 1), (3, 2, 4, 0), optimize=True) + l2new += einsum(tmp35, (0, 1, 2, 3), v.ovov, (2, 4, 3, 5), (5, 4, 1, 0), optimize=True) + tmp97 = einsum(tmp5, (0, 1, 2, 3), tmp20, (0, 4, 1, 5), (4, 2, 5, 3), optimize=True) + tmp93 = einsum(l2, (0, 1, 2, 3), tmp92, (4, 3), (4, 2, 0, 1), optimize=True) del tmp92 - l2new += tmp101.transpose((2, 3, 1, 0)) - l2new += tmp101.transpose((3, 2, 0, 1)) - del tmp101 - tmp90 = einsum(v.ovvv, (0, 1, 2, 3), t1, (0, 2), (1, 3), optimize=True) - tmp91 = einsum(l2, (0, 1, 2, 3), tmp90, (4, 1), (2, 3, 0, 4), optimize=True) + tmp96 = einsum(v.ooov, (0, 1, 2, 3), tmp20, (1, 4, 2, 5), (4, 0, 5, 3), optimize=True) + tmp91 = einsum(l1, (0, 1), v.ovvv, (2, 3, 4, 0), (1, 2, 3, 4), optimize=True) + tmp94 = einsum(tmp20, (0, 1, 2, 3), f.ov, (2, 4), (0, 1, 4, 3), optimize=True) + tmp98 = einsum(tmp74, (0, 1, 2, 3), l2, (4, 2, 0, 5), (5, 1, 4, 3), optimize=True) + tmp90 = einsum(f.vv, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2), optimize=True) + tmp95 = einsum(l2, (0, 1, 2, 3), tmp16, (3, 2, 4, 5), (4, 5, 1, 0), optimize=True) + tmp79 = einsum(tmp20, (0, 1, 2, 3), tmp78, (1, 2, 4, 5), (0, 4, 3, 5), optimize=True) + del tmp78 + tmp65 = einsum(tmp5, (0, 1, 2, 3), tmp20, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) + tmp61 = einsum(tmp20, (0, 1, 2, 3), v.ooov, (4, 1, 2, 5), (0, 4, 3, 5), optimize=True) + tmp85 = einsum(l2, (0, 1, 2, 3), tmp84, (2, 4), (3, 4, 0, 1), optimize=True) + del tmp84 + tmp63 = einsum(l2, (0, 1, 2, 3), tmp62, (4, 1), (2, 3, 0, 4), optimize=True) + del tmp62 + tmp72 = einsum(tmp66, (0, 1, 2, 3), tmp71, (0, 4, 3, 5), (1, 4, 2, 5), optimize=True) + del tmp66, tmp71 + tmp75 = einsum(tmp74, (0, 1, 2, 3), l2, (2, 4, 0, 5), (5, 1, 4, 3), optimize=True) + del tmp74 + tmp86 = einsum(tmp82, (0, 1), tmp20, (2, 3, 0, 4), (2, 3, 4, 1), optimize=True) + tmp77 = einsum(v.ooov, (0, 1, 2, 3), tmp76, (4, 0, 1, 5), (2, 4, 3, 5), optimize=True) + del tmp76 + tmp64 = einsum(v.ovvv, (0, 1, 2, 3), tmp20, (4, 5, 0, 3), (5, 4, 1, 2), optimize=True) + tmp104 = einsum(tmp58, (0, 1), v.ovov, (1, 2, 3, 4), (3, 0, 2, 4), optimize=True) + tmp103 = einsum(v.ovov, (0, 1, 2, 3), tmp102, (4, 1), (0, 2, 3, 4), optimize=True) + del tmp102 + tmp100 = einsum(l2, (0, 1, 2, 3), f.oo, (4, 3), (4, 2, 0, 1), optimize=True) + tmp101 = einsum(tmp5, (0, 1, 2, 3), l1, (4, 0), (1, 2, 4, 3), optimize=True) + tmp88 = einsum(t1, (0, 1), v.ovvv, (0, 2, 1, 3), (2, 3), optimize=True) + tmp112 = einsum(l2, (0, 1, 2, 3), tmp111, (2, 4), (3, 4, 0, 1), optimize=True) * 2 + del tmp111 + tmp106 = einsum(v.ooov, (0, 1, 2, 3), l1, (4, 1), (0, 2, 4, 3), optimize=True) + tmp108 = einsum(tmp107, (0, 1), l2, (1, 2, 3, 4), (3, 4, 2, 0), optimize=True) * 2 + del tmp107 + tmp49 = tmp47.copy() * 0.5 + del tmp47 + tmp49 += tmp48 + del tmp48 + tmp15 = v.ovov.transpose((2, 0, 3, 1)).copy() * 2 + tmp15 += v.oovv.transpose((1, 0, 3, 2)) * -1 + tmp0 = einsum(f.ov, (0, 1), t2, (2, 3, 1, 4), (0, 3, 2, 4), optimize=True) + tmp13 = v.ooov.transpose((1, 0, 2, 3)).copy() * -0.5 + tmp13 += v.ooov.transpose((1, 2, 0, 3)) + tmp13 += tmp5 + tmp13 += tmp5.transpose((0, 2, 1, 3)) * -0.5 + tmp14 = t2.transpose((1, 0, 2, 3)).copy() + tmp14 += t2.transpose((1, 0, 3, 2)) * -0.5 + tmp12 = einsum(t2, (0, 1, 2, 3), tmp11, (4, 2), (0, 1, 4, 3), optimize=True) + tmp9 = tmp1.copy() * 2 + del tmp1 + tmp9 += tmp3 * 2 + del tmp3 + tmp9 += tmp8.transpose((1, 0, 2, 3)) * -1 + del tmp8 + tmp17 = v.oooo.transpose((1, 3, 2, 0)).copy() * 2 + tmp17 += v.oooo.transpose((2, 3, 1, 0)) * -1 + tmp17 += tmp16.transpose((2, 0, 3, 1)) * 2 + tmp17 += tmp16.transpose((3, 0, 2, 1)) * -1 + tmp54 = v.ovvv.transpose((0, 1, 3, 2)).copy() + tmp54 += v.ovvv.transpose((0, 3, 1, 2)) * -0.5 + tmp32 = tmp20.copy() * -1 + tmp32 += tmp20.transpose((1, 0, 2, 3)) * 2 + tmp40 = einsum(t1, (0, 1), tmp39, (2, 0, 3, 4), (2, 3, 4, 1), optimize=True) + tmp21 = tmp20.copy() + tmp21 += tmp20.transpose((1, 0, 2, 3)) * -0.5 + tmp25 = l2.transpose((3, 2, 0, 1)).copy() * 2 + tmp25 += l2.transpose((3, 2, 1, 0)) * -1 + tmp36 = einsum(t1, (0, 1), tmp35, (0, 2, 3, 4), (2, 4, 3, 1), optimize=True) + tmp34 = einsum(l1, (0, 1), t2, (2, 3, 0, 4), (1, 3, 2, 4), optimize=True) + tmp19 = t2.transpose((1, 0, 2, 3)).copy() * -1 + tmp19 += t2.transpose((1, 0, 3, 2)) * 2 + tmp59 = v.ooov.transpose((1, 0, 2, 3)).copy() + tmp59 += v.ooov.transpose((2, 1, 0, 3)) * -0.5 + tmp56 = f.ov.copy() + tmp56 += tmp11 + del tmp11 + l1new = einsum(tmp56, (0, 1), tmp58, (2, 0), (1, 2), optimize=True) * -1 + del tmp58 + tmp29 = v.ovov.transpose((2, 0, 3, 1)).copy() * -1 + tmp29 += v.oovv.transpose((1, 0, 3, 2)) * 2 + tmp27 = v.ooov.transpose((1, 0, 2, 3)).copy() * -1 + tmp27 += v.ooov.transpose((1, 2, 0, 3)) * 2 + tmp27 += tmp5 * 2 + tmp27 += tmp5.transpose((0, 2, 1, 3)) * -1 + tmp30 = tmp16.transpose((0, 2, 1, 3)).copy() * -1 + tmp30 += tmp16.transpose((0, 3, 2, 1)) * 2 + del tmp16 + tmp28 = v.ooov.transpose((1, 0, 2, 3)).copy() * 2 + tmp28 += v.ooov.transpose((1, 2, 0, 3)) * -1 + tmp28 += tmp5 * -1 + tmp28 += tmp5.transpose((0, 2, 1, 3)) * 2 + del tmp5 + tmp99 = tmp90.copy() del tmp90 - l2new += tmp91.transpose((3, 2, 1, 0)) * -1 - l2new += tmp91.transpose((2, 3, 0, 1)) * -1 + tmp99 += tmp91 del tmp91 - tmp83 = v.ovov.transpose((2, 0, 3, 1)).copy() * 2 - tmp83 += v.ovov.transpose((2, 0, 1, 3)) * -1 - tmp84 = einsum(tmp83, (0, 1, 2, 3), t1, (0, 2), (1, 3), optimize=True) - del tmp83 - tmp89 = einsum(tmp84, (0, 1), l1, (2, 3), (3, 0, 2, 1), optimize=True) - tmp88 = einsum(tmp84, (0, 1), tmp17, (2, 3, 0, 4), (2, 3, 4, 1), optimize=True) - tmp89 += tmp88 * -1 - del tmp88 - tmp85 = einsum(tmp84, (0, 1), t1, (2, 1), (2, 0), optimize=True) - del tmp84 - tmp86 = tmp85.copy() * -1 + tmp99 += tmp93 * -1 + del tmp93 + tmp99 += tmp94 * -1 + del tmp94 + tmp99 += tmp95 + del tmp95 + tmp99 += tmp96 + del tmp96 + tmp99 += tmp97 + del tmp97 + tmp99 += tmp98 * -1 + del tmp98 + l2new += tmp99.transpose((2, 3, 1, 0)) + l2new += tmp99.transpose((3, 2, 0, 1)) + del tmp99 + tmp87 = einsum(f.ov, (0, 1), l1, (2, 3), (0, 3, 1, 2), optimize=True) + tmp87 += tmp61 + del tmp61 + tmp87 += tmp63 * 2 + del tmp63 + tmp87 += tmp64 * -1 + del tmp64 + tmp87 += tmp65 + del tmp65 + tmp87 += tmp72 + del tmp72 + tmp87 += tmp75 * -1 + del tmp75 + tmp87 += tmp77.transpose((1, 0, 3, 2)) * -1 + del tmp77 + tmp87 += tmp79 * -1 + del tmp79 + tmp87 += tmp85.transpose((0, 1, 3, 2)) del tmp85 - tmp82 = einsum(t1, (0, 1), v.ooov, (0, 2, 3, 1), (2, 3), optimize=True) - tmp86 += tmp82 - del tmp82 - tmp87 = einsum(tmp86, (0, 1), l2, (2, 3, 0, 4), (4, 1, 2, 3), optimize=True) + tmp87 += tmp86 * -1 del tmp86 - tmp89 += tmp87.transpose((0, 1, 3, 2)) + tmp87 += einsum(l1, (0, 1), tmp82, (2, 3), (1, 2, 0, 3), optimize=True) + del tmp82 + l2new += tmp87.transpose((3, 2, 1, 0)) + l2new += tmp87.transpose((2, 3, 0, 1)) del tmp87 - tmp80 = tmp8.transpose((0, 2, 1, 3)).copy() * -1 - tmp80 += tmp8 * 2 - tmp81 = einsum(tmp80, (0, 1, 2, 3), tmp17, (4, 0, 2, 5), (4, 1, 5, 3), optimize=True) - del tmp80 - tmp89 += tmp81 * -1 - del tmp81 - tmp44 = tmp17.transpose((1, 0, 2, 3)).copy() * -1 - tmp44 += tmp17 * 2 - tmp79 = einsum(v.ooov, (0, 1, 2, 3), tmp44, (4, 0, 1, 5), (2, 4, 3, 5), optimize=True) - tmp89 += tmp79.transpose((1, 0, 3, 2)) * -1 - del tmp79 - tmp78 = einsum(l2, (0, 1, 2, 3), tmp77, (2, 4, 0, 5), (3, 4, 1, 5), optimize=True) - del tmp77 - tmp89 += tmp78 * -1 - del tmp78 - tmp72 = t2.transpose((1, 0, 3, 2)).copy() * 2 - tmp72 += t2.transpose((1, 0, 2, 3)) * -1 - tmp73 = einsum(tmp72, (0, 1, 2, 3), v.ovov, (0, 2, 4, 5), (4, 1, 5, 3), optimize=True) - del tmp72 - tmp74 = tmp73.transpose((1, 0, 3, 2)).copy() - del tmp73 - tmp71 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 2, 0, 5), (1, 4, 3, 5), optimize=True) - tmp74 += tmp71 * -1 - del tmp71 - tmp70 = einsum(v.ovvv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2), optimize=True) - tmp74 += tmp70.transpose((0, 1, 3, 2)) - del tmp70 - tmp74 += v.ovov.transpose((2, 0, 3, 1)) - tmp69 = l2.transpose((3, 2, 1, 0)).copy() * 2 - tmp69 += l2.transpose((3, 2, 0, 1)) * -1 - tmp75 = einsum(tmp69, (0, 1, 2, 3), tmp74, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) - del tmp69, tmp74 - tmp89 += tmp75 - del tmp75 - tmp68 = einsum(tmp17, (0, 1, 2, 3), tmp8, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) - tmp89 += tmp68 - del tmp68 - tmp67 = einsum(v.ovvv, (0, 1, 2, 3), tmp17, (4, 5, 0, 3), (5, 4, 1, 2), optimize=True) - tmp89 += tmp67 * -1 - del tmp67 - tmp65 = einsum(v.ovvv, (0, 1, 2, 3), t1, (0, 1), (2, 3), optimize=True) - tmp66 = einsum(tmp65, (0, 1), l2, (2, 1, 3, 4), (3, 4, 2, 0), optimize=True) - del tmp65 - tmp89 += tmp66 * 2 - del tmp66 - tmp64 = einsum(v.ooov, (0, 1, 2, 3), tmp17, (4, 1, 2, 5), (4, 0, 5, 3), optimize=True) - tmp89 += tmp64 - del tmp64 - tmp89 += einsum(f.ov, (0, 1), l1, (2, 3), (0, 3, 1, 2), optimize=True) - l2new += tmp89.transpose((3, 2, 1, 0)) - l2new += tmp89.transpose((2, 3, 0, 1)) + tmp105 = tmp100.copy() + del tmp100 + tmp105 += tmp101 + del tmp101 + tmp105 += tmp103.transpose((1, 0, 3, 2)) + del tmp103 + tmp105 += tmp104.transpose((1, 0, 3, 2)) + del tmp104 + l2new += tmp105.transpose((2, 3, 1, 0)) * -1 + l2new += tmp105.transpose((3, 2, 0, 1)) * -1 + del tmp105 + tmp89 = einsum(tmp88, (0, 1), l2, (2, 1, 3, 4), (3, 4, 2, 0), optimize=True) + del tmp88 + l2new += tmp89.transpose((3, 2, 1, 0)) * -1 + l2new += tmp89.transpose((2, 3, 0, 1)) * -1 del tmp89 - l2new += v.ovov.transpose((3, 1, 2, 0)) - tmp2 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 2, 5, 3), (0, 1, 4, 5), optimize=True) - l2new += einsum(tmp2, (0, 1, 2, 3), l2, (4, 5, 0, 1), (4, 5, 2, 3), optimize=True) - l2new += einsum(l2, (0, 1, 2, 3), v.vvvv, (4, 0, 5, 1), (5, 4, 3, 2), optimize=True) - tmp5 = v.ovov.transpose((2, 0, 3, 1)).copy() - tmp5 += v.ovov.transpose((2, 0, 1, 3)) * -0.5 - tmp6 = einsum(tmp5, (0, 1, 2, 3), t1, (0, 2), (1, 3), optimize=True) * 2 - del tmp5 - tmp59 = tmp6.copy() - tmp59 += f.ov - tmp63 = einsum(tmp59, (0, 1), t1, (2, 1), (2, 0), optimize=True) - tmp62 = v.ooov.transpose((2, 1, 0, 3)).copy() - tmp62 += v.ooov.transpose((1, 0, 2, 3)) * -0.5 - tmp63 += einsum(tmp62, (0, 1, 2, 3), t1, (0, 3), (1, 2), optimize=True) * 2 - del tmp62 - tmp63 += einsum(tmp23, (0, 1, 2, 3), v.ovov, (0, 2, 4, 3), (1, 4), optimize=True) - tmp63 += f.oo.transpose((1, 0)) - l1new = einsum(l1, (0, 1), tmp63, (1, 2), (0, 2), optimize=True) * -1 - del tmp63 - l1new += einsum(tmp59, (0, 1), tmp61, (2, 0), (1, 2), optimize=True) * -1 - del tmp61, tmp59 - tmp57 = v.ovvv.transpose((0, 3, 1, 2)).copy() - tmp57 += v.ovvv.transpose((0, 1, 3, 2)) * -0.5 - tmp58 = einsum(tmp57, (0, 1, 2, 3), t1, (0, 2), (3, 1), optimize=True) * 2 - del tmp57 - tmp58 += f.vv.transpose((1, 0)) - l1new += einsum(l1, (0, 1), tmp58, (0, 2), (2, 1), optimize=True) - del tmp58 - tmp56 = v.oovv.transpose((1, 0, 3, 2)).copy() * -1 - tmp56 += v.ovov.transpose((2, 0, 3, 1)) * 2 - l1new += einsum(tmp56, (0, 1, 2, 3), l1, (2, 0), (3, 1), optimize=True) - del tmp56 - tmp55 = v.ooov.transpose((2, 1, 0, 3)).copy() * -0.5 - tmp55 += v.ooov.transpose((1, 0, 2, 3)) - tmp51 = einsum(tmp16, (0, 1, 2, 3), l2, (2, 3, 0, 4), (4, 1), optimize=True) - tmp52 = tmp51.copy() - del tmp51 - tmp52 += tmp50 * 0.5 - del tmp50 - l1new += einsum(tmp55, (0, 1, 2, 3), tmp52, (1, 0), (3, 2), optimize=True) * -4 + tmp113 = tmp106.copy() + del tmp106 + tmp113 += tmp108.transpose((1, 0, 2, 3)) + del tmp108 + tmp113 += tmp112.transpose((0, 1, 3, 2)) + del tmp112 + l2new += tmp113.transpose((3, 2, 1, 0)) * -1 + l2new += tmp113.transpose((2, 3, 0, 1)) * -1 + del tmp113 + tmp50 = t1.copy() * -0.5 + tmp50 += einsum(tmp37, (0, 1, 2, 3), tmp20, (0, 1, 4, 2), (4, 3), optimize=True) + tmp50 += einsum(l1, (0, 1), tmp46, (1, 2, 3, 0), (2, 3), optimize=True) * -0.5 + tmp50 += einsum(t1, (0, 1), tmp49, (0, 2), (2, 1), optimize=True) + tmp18 = v.ooov.transpose((1, 2, 0, 3)).copy() * -2 + tmp18 += v.ooov.transpose((2, 1, 0, 3)) + tmp18 += tmp0.transpose((1, 2, 0, 3)) + tmp18 += tmp0.transpose((2, 1, 0, 3)) * -2 + del tmp0 + tmp18 += tmp9 * -1 + tmp18 += tmp9.transpose((1, 0, 2, 3)) * 0.5 + del tmp9 + tmp18 += tmp12.transpose((1, 0, 2, 3)) + tmp18 += tmp12 * -2 + del tmp12 + tmp18 += einsum(tmp13, (0, 1, 2, 3), tmp14, (1, 4, 5, 3), (0, 4, 2, 5), optimize=True) * -4 + del tmp13 + tmp18 += einsum(tmp15, (0, 1, 2, 3), t1, (4, 2), (4, 1, 0, 3), optimize=True) * -1 + del tmp15 + tmp18 += einsum(t1, (0, 1), tmp17, (0, 2, 3, 4), (2, 4, 3, 1), optimize=True) + del tmp17 + l1new += einsum(l2, (0, 1, 2, 3), tmp18, (3, 2, 4, 0), (1, 4), optimize=True) + del tmp18 + tmp52 = v.ooov.transpose((1, 0, 2, 3)).copy() * -0.5 + tmp52 += v.ooov.transpose((1, 2, 0, 3)) + l1new += einsum(tmp49, (0, 1), tmp52, (0, 2, 1, 3), (3, 2), optimize=True) * -4 + del tmp49, tmp52 + tmp51 = v.ovov.transpose((2, 0, 1, 3)).copy() * 2 + tmp51 += v.ovov.transpose((2, 0, 3, 1)) * -1 + l1new += einsum(tmp50, (0, 1), tmp51, (0, 2, 3, 1), (3, 2), optimize=True) * -2 + del tmp50, tmp51 + tmp55 = f.vv.transpose((1, 0)).copy() * 0.5 + tmp55 += einsum(tmp54, (0, 1, 2, 3), t1, (0, 1), (3, 2), optimize=True) + del tmp54 + l1new += einsum(l1, (0, 1), tmp55, (0, 2), (2, 1), optimize=True) * 2 del tmp55 - tmp54 = v.ovov.transpose((2, 0, 3, 1)).copy() * 2 - tmp54 += v.ovov.transpose((2, 0, 1, 3)) * -1 - tmp53 = einsum(tmp52, (0, 1), t1, (0, 2), (1, 2), optimize=True) * 2 - del tmp52 - tmp53 += einsum(l1, (0, 1), tmp23, (1, 2, 0, 3), (2, 3), optimize=True) * -1 - tmp53 += einsum(tmp17, (0, 1, 2, 3), tmp16, (1, 0, 4, 3), (2, 4), optimize=True) * 2 - tmp53 += t1 * -1 - l1new += einsum(tmp53, (0, 1), tmp54, (0, 2, 1, 3), (3, 2), optimize=True) * -1 - del tmp53, tmp54 - tmp49 = v.ovvv.transpose((0, 3, 2, 1)).copy() * 2 - tmp49 += v.ovvv.transpose((0, 1, 3, 2)) * -1 - tmp48 = einsum(l2, (0, 1, 2, 3), tmp47, (2, 3, 1, 4), (0, 4), optimize=True) - del tmp47 - tmp48 += einsum(l1, (0, 1), t1, (1, 2), (0, 2), optimize=True) * 0.5 - l1new += einsum(tmp49, (0, 1, 2, 3), tmp48, (2, 1), (3, 0), optimize=True) * 2 - del tmp49, tmp48 - tmp46 = tmp36.transpose((1, 0, 3, 2)).copy() * -0.5 - tmp46 += tmp36.transpose((1, 0, 2, 3)) - del tmp36 - l1new += einsum(tmp46, (0, 1, 2, 3), v.ooov, (3, 0, 2, 4), (4, 1), optimize=True) * 2 - del tmp46 - tmp45 = tmp37.transpose((0, 1, 3, 2)).copy() - tmp45 += tmp37 * -0.5 - del tmp37 - l1new += einsum(tmp45, (0, 1, 2, 3), v.ooov, (1, 2, 3, 4), (4, 0), optimize=True) * 2 - del tmp45 - l1new += einsum(tmp44, (0, 1, 2, 3), v.oovv, (1, 2, 3, 4), (4, 0), optimize=True) * -1 - del tmp44 - tmp34 = tmp17.transpose((1, 0, 2, 3)).copy() * -0.5 - tmp34 += tmp17 - tmp43 = einsum(tmp34, (0, 1, 2, 3), t2, (1, 4, 5, 3), (0, 2, 4, 5), optimize=True) * 2 - tmp40 = tmp17.transpose((1, 0, 2, 3)).copy() * 2 - tmp40 += tmp17 * -1 - tmp43 += einsum(tmp40, (0, 1, 2, 3), t2, (1, 4, 3, 5), (0, 2, 4, 5), optimize=True) - tmp42 = einsum(l1, (0, 1), t2, (2, 3, 4, 0), (1, 2, 3, 4), optimize=True) - tmp43 += tmp42.transpose((0, 2, 1, 3)) - tmp43 += tmp42 * -2 - del tmp42 - l1new += einsum(tmp43, (0, 1, 2, 3), v.ovov, (2, 4, 1, 3), (4, 0), optimize=True) - del tmp43 - tmp41 = einsum(tmp40, (0, 1, 2, 3), tmp15, (1, 4, 5, 3), (0, 2, 4, 5), optimize=True) * -0.5 + tmp41 = tmp40.copy() * -1 + tmp41 += tmp40.transpose((0, 2, 1, 3)) * 2 del tmp40 - tmp39 = einsum(t1, (0, 1), tmp38, (0, 2, 3, 4), (2, 3, 4, 1), optimize=True) - del tmp38 - tmp41 += tmp39 * -0.5 - tmp41 += tmp39.transpose((0, 2, 1, 3)) - del tmp39 - tmp41 += tmp17.transpose((1, 2, 0, 3)) * -1 - tmp41 += tmp17.transpose((0, 2, 1, 3)) * 0.5 - l1new += einsum(v.ovov, (0, 1, 2, 3), tmp41, (4, 2, 0, 1), (3, 4), optimize=True) * 2 + tmp41 += einsum(tmp32, (0, 1, 2, 3), t2, (1, 4, 3, 5), (0, 2, 4, 5), optimize=True) + tmp41 += einsum(tmp21, (0, 1, 2, 3), t2, (1, 4, 5, 3), (0, 2, 4, 5), optimize=True) * 2 + l1new += einsum(v.ovov, (0, 1, 2, 3), tmp41, (4, 2, 0, 3), (1, 4), optimize=True) del tmp41 - tmp35 = einsum(tmp34, (0, 1, 2, 3), t1, (1, 4), (0, 2, 3, 4), optimize=True) * -2 - del tmp34 - tmp35 += l2.transpose((3, 2, 1, 0)) * 2 - l1new += einsum(tmp35, (0, 1, 2, 3), v.ovvv, (1, 3, 2, 4), (4, 0), optimize=True) - del tmp35 - tmp32 = tmp12.transpose((0, 3, 2, 1)).copy() * 2 - tmp32 += tmp12.transpose((0, 2, 1, 3)) * -1 - tmp33 = einsum(tmp32, (0, 1, 2, 3), t1, (3, 4), (0, 2, 1, 4), optimize=True) - del tmp32 - tmp31 = v.oovv.transpose((1, 0, 3, 2)).copy() * -1 - tmp31 += v.ovov.transpose((2, 0, 3, 1)) * 2 - tmp33 += einsum(tmp31, (0, 1, 2, 3), t1, (4, 2), (4, 1, 0, 3), optimize=True) * -1 - del tmp31 - tmp30 = tmp8.transpose((0, 2, 1, 3)).copy() * -0.5 - tmp30 += tmp8 - tmp30 += v.ooov.transpose((1, 2, 0, 3)) - tmp30 += v.ooov.transpose((1, 0, 2, 3)) * -0.5 - tmp33 += einsum(tmp30, (0, 1, 2, 3), tmp16, (1, 4, 3, 5), (0, 4, 2, 5), optimize=True) * -4 - del tmp30 - tmp28 = einsum(t1, (0, 1), tmp27, (2, 3, 4, 0), (2, 3, 4, 1), optimize=True) - del tmp27 - tmp29 = tmp28.copy() * -2 - del tmp28 - tmp26 = einsum(tmp25, (0, 1, 2, 3), t1, (4, 3), (0, 4, 1, 2), optimize=True) + tmp42 = tmp20.copy() * -1 + tmp42 += tmp20.transpose((1, 0, 2, 3)) * 2 + l1new += einsum(v.oovv, (0, 1, 2, 3), tmp42, (0, 4, 1, 2), (3, 4), optimize=True) * -1 + del tmp42 + tmp33 = l2.transpose((3, 2, 0, 1)).copy() + tmp33 += einsum(t1, (0, 1), tmp32, (0, 2, 3, 4), (2, 3, 4, 1), optimize=True) + l1new += einsum(tmp33, (0, 1, 2, 3), v.ovvv, (1, 3, 2, 4), (4, 0), optimize=True) * -1 + del tmp33 + tmp26 = l2.transpose((3, 2, 1, 0)).copy() + tmp26 += einsum(tmp25, (0, 1, 2, 3), tmp14, (0, 4, 5, 3), (1, 4, 2, 5), optimize=True) del tmp25 - tmp29 += tmp26 * 2 + l1new += einsum(tmp26, (0, 1, 2, 3), v.ovvv, (1, 3, 2, 4), (4, 0), optimize=True) * 2 del tmp26 - tmp33 += tmp29.transpose((1, 0, 2, 3)) * 0.5 - tmp33 += tmp29 * -1 - del tmp29 - l1new += einsum(tmp33, (0, 1, 2, 3), l2, (3, 4, 1, 0), (4, 2), optimize=True) - del tmp33 - tmp22 = l2.transpose((3, 2, 1, 0)).copy() * 2 - tmp22 += l2.transpose((3, 2, 0, 1)) * -1 - tmp24 = einsum(tmp23, (0, 1, 2, 3), tmp22, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) * -0.5 - del tmp23, tmp22 - tmp24 += l2.transpose((3, 2, 0, 1)) * 0.5 - l1new += einsum(v.ovvv, (0, 1, 2, 3), tmp24, (4, 0, 2, 1), (3, 4), optimize=True) * -2 - del tmp24 - tmp21 = v.vvvv.transpose((2, 3, 1, 0)).copy() * 2 - tmp21 += v.vvvv.transpose((1, 3, 2, 0)) * -1 - tmp20 = einsum(l2, (0, 1, 2, 3), t1, (3, 4), (2, 0, 1, 4), optimize=True) - l1new += einsum(tmp21, (0, 1, 2, 3), tmp20, (4, 0, 2, 3), (1, 4), optimize=True) - del tmp21, tmp20 - tmp18 = tmp17.transpose((1, 0, 2, 3)).copy() - tmp18 += tmp17 * -0.5 - del tmp17 - tmp19 = einsum(t1, (0, 1), tmp18, (2, 0, 3, 4), (2, 3, 1, 4), optimize=True) * 2 - del tmp18 - tmp19 += einsum(tmp16, (0, 1, 2, 3), l2, (2, 4, 0, 5), (5, 1, 4, 3), optimize=True) * 2 - del tmp16 - tmp19 += einsum(l2, (0, 1, 2, 3), tmp15, (2, 4, 1, 5), (3, 4, 0, 5), optimize=True) - del tmp15 - l1new += einsum(v.ovvv, (0, 1, 2, 3), tmp19, (4, 0, 3, 2), (1, 4), optimize=True) * -1 + tmp24 = v.vvvv.transpose((2, 1, 3, 0)).copy() * -1 + tmp24 += v.vvvv.transpose((2, 3, 1, 0)) * 2 + tmp43 = tmp39.transpose((1, 0, 2, 3)).copy() * -0.5 + tmp43 += tmp39.transpose((1, 0, 3, 2)) + del tmp39 + tmp43 += tmp35.transpose((2, 1, 0, 3)) + tmp43 += tmp35.transpose((3, 1, 0, 2)) * -0.5 + del tmp35 + l1new += einsum(tmp43, (0, 1, 2, 3), v.ooov, (2, 0, 3, 4), (4, 1), optimize=True) * 2 + del tmp43 + tmp45 = v.ovvv.transpose((0, 1, 3, 2)).copy() * -1 + tmp45 += v.ovvv.transpose((0, 3, 2, 1)) * 2 + tmp38 = tmp34.copy() * -0.5 + tmp38 += tmp34.transpose((0, 2, 1, 3)) + del tmp34 + tmp38 += tmp20.transpose((0, 2, 1, 3)) * -0.5 + tmp38 += tmp20.transpose((1, 2, 0, 3)) + del tmp20 + tmp38 += tmp36 * -1 + tmp38 += tmp36.transpose((0, 2, 1, 3)) * 0.5 + del tmp36 + tmp38 += einsum(tmp37, (0, 1, 2, 3), tmp32, (4, 0, 5, 2), (4, 5, 1, 3), optimize=True) + del tmp32 + l1new += einsum(v.ovov, (0, 1, 2, 3), tmp38, (4, 2, 0, 1), (3, 4), optimize=True) * -2 + del tmp38 + tmp23 = einsum(t1, (0, 1), l2, (2, 3, 4, 0), (4, 2, 3, 1), optimize=True) + l1new += einsum(tmp23, (0, 1, 2, 3), tmp24, (2, 3, 4, 1), (4, 0), optimize=True) + del tmp23, tmp24 + tmp22 = einsum(tmp19, (0, 1, 2, 3), l2, (4, 3, 0, 5), (5, 1, 4, 2), optimize=True) del tmp19 - tmp13 = tmp12.transpose((3, 0, 2, 1)).copy() * 2 - tmp13 += tmp12.transpose((2, 0, 3, 1)) * -1 - del tmp12 - tmp13 += v.oooo.transpose((2, 3, 1, 0)) * 2 - tmp13 += v.oooo.transpose((1, 3, 2, 0)) * -1 - tmp14 = einsum(tmp13, (0, 1, 2, 3), t1, (0, 4), (1, 3, 2, 4), optimize=True) * 0.5 - del tmp13 - tmp11 = v.ovov.transpose((2, 0, 3, 1)).copy() * -1 - tmp11 += v.oovv.transpose((1, 0, 3, 2)) * 2 - tmp14 += einsum(tmp11, (0, 1, 2, 3), t1, (4, 2), (4, 1, 0, 3), optimize=True) * -0.5 - del tmp11 - tmp10 = tmp8.transpose((0, 2, 1, 3)).copy() - tmp10 += tmp8 * -0.5 - tmp10 += v.ooov.transpose((1, 2, 0, 3)) * -0.5 - tmp10 += v.ooov.transpose((1, 0, 2, 3)) - tmp14 += einsum(t2, (0, 1, 2, 3), tmp10, (4, 0, 5, 3), (4, 1, 5, 2), optimize=True) - del tmp10 - tmp9 = tmp8.transpose((0, 2, 1, 3)).copy() * -1 - tmp9 += tmp8 * 2 - del tmp8 - tmp9 += v.ooov.transpose((1, 2, 0, 3)) * 2 - tmp9 += v.ooov.transpose((1, 0, 2, 3)) * -1 - tmp14 += einsum(tmp9, (0, 1, 2, 3), t2, (1, 4, 3, 5), (0, 4, 2, 5), optimize=True) * 0.5 - del tmp9 - tmp7 = einsum(tmp6, (0, 1), t2, (2, 3, 1, 4), (2, 3, 0, 4), optimize=True) - del tmp6 - tmp14 += tmp7 * 0.5 - tmp14 += tmp7.transpose((1, 0, 2, 3)) * -1 - del tmp7 - tmp3 = einsum(tmp2, (0, 1, 2, 3), t1, (3, 4), (0, 1, 2, 4), optimize=True) - del tmp2 - tmp4 = tmp3.copy() * -0.5 - del tmp3 - tmp1 = einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 3, 2, 5), (1, 0, 4, 5), optimize=True) - tmp4 += tmp1 * 0.5 - del tmp1 - tmp14 += tmp4.transpose((1, 0, 2, 3)) * -2 - tmp14 += tmp4 - del tmp4 - tmp0 = einsum(t2, (0, 1, 2, 3), f.ov, (4, 3), (4, 0, 1, 2), optimize=True) - tmp14 += tmp0.transpose((2, 1, 0, 3)) * 0.5 - tmp14 += tmp0.transpose((1, 2, 0, 3)) * -1 - del tmp0 - tmp14 += v.ooov.transpose((2, 1, 0, 3)) * -1 - tmp14 += v.ooov.transpose((1, 2, 0, 3)) * 0.5 - l1new += einsum(l2, (0, 1, 2, 3), tmp14, (3, 2, 4, 1), (0, 4), optimize=True) * 2 + tmp22 += einsum(tmp14, (0, 1, 2, 3), l2, (3, 4, 0, 5), (5, 1, 4, 2), optimize=True) * 2 del tmp14 + tmp22 += einsum(t1, (0, 1), tmp21, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) * 2 + del tmp21 + l1new += einsum(tmp22, (0, 1, 2, 3), v.ovvv, (1, 4, 3, 2), (4, 0), optimize=True) * -1 + del tmp22 + tmp53 = v.ovov.transpose((2, 0, 3, 1)).copy() * 2 + tmp53 += v.oovv.transpose((1, 0, 3, 2)) * -1 + l1new += einsum(l1, (0, 1), tmp53, (1, 2, 0, 3), (3, 2), optimize=True) + del tmp53 + tmp60 = f.oo.transpose((1, 0)).copy() + tmp60 += einsum(tmp46, (0, 1, 2, 3), v.ovov, (0, 3, 4, 2), (1, 4), optimize=True) + del tmp46 + tmp60 += einsum(t1, (0, 1), tmp59, (2, 3, 0, 1), (3, 2), optimize=True) * 2 + del tmp59 + tmp60 += einsum(tmp56, (0, 1), t1, (2, 1), (2, 0), optimize=True) + del tmp56 + l1new += einsum(l1, (0, 1), tmp60, (1, 2), (0, 2), optimize=True) * -1 + del tmp60 + tmp44 = einsum(l1, (0, 1), t1, (1, 2), (0, 2), optimize=True) * 0.5 + tmp44 += einsum(tmp37, (0, 1, 2, 3), l2, (2, 4, 0, 1), (4, 3), optimize=True) + del tmp37 + l1new += einsum(tmp44, (0, 1), tmp45, (2, 1, 0, 3), (3, 2), optimize=True) * 2 + del tmp44, tmp45 + tmp31 = einsum(tmp27, (0, 1, 2, 3), t2, (1, 4, 3, 5), (0, 4, 2, 5), optimize=True) + del tmp27 + tmp31 += einsum(tmp28, (0, 1, 2, 3), t2, (1, 4, 5, 3), (0, 4, 2, 5), optimize=True) + del tmp28 + tmp31 += einsum(t1, (0, 1), tmp29, (2, 3, 1, 4), (0, 3, 2, 4), optimize=True) * -1 + del tmp29 + tmp31 += einsum(t1, (0, 1), tmp30, (2, 0, 3, 4), (2, 3, 4, 1), optimize=True) + del tmp30 + l1new += einsum(l2, (0, 1, 2, 3), tmp31, (3, 2, 4, 1), (0, 4), optimize=True) + del tmp31 l1new += f.ov.transpose((1, 0)) + l2new += einsum(l2, (0, 1, 2, 3), v.oooo, (4, 3, 5, 2), (0, 1, 5, 4), optimize=True) + l2new += v.ovov.transpose((3, 1, 2, 0)) + l2new += einsum(v.vvvv, (0, 1, 2, 3), l2, (1, 3, 4, 5), (2, 0, 5, 4), optimize=True) return {f"l1new": l1new, f"l2new": l2new} def make_rdm1_f(l1=None, l2=None, t1=None, t2=None, **kwargs): """ - Code generated by `albert` 0.0.0 on 2024-03-02T15:25:33.920507. + Code generated by `albert` 0.0.0 on 2024-07-18T20:21:36.123023. Parameters ---------- @@ -728,46 +710,49 @@ def make_rdm1_f(l1=None, l2=None, t1=None, t2=None, **kwargs): rdm1 = Namespace() delta = Namespace( - oo=np.eye(t1.shape[0]), - vv=np.eye(t1.shape[1]), + oo=np.eye(t2.shape[0]), + vv=np.eye(t2.shape[-1]), ) - tmp6 = l2.transpose((3, 2, 1, 0)).copy() * -1 - tmp6 += l2.transpose((3, 2, 0, 1)) * 2 - rdm1.vv = einsum(t2, (0, 1, 2, 3), tmp6, (0, 1, 3, 4), (4, 2), optimize=True) * 2 - del tmp6 - rdm1.vv += einsum(l1, (0, 1), t1, (1, 2), (0, 2), optimize=True) * 2 - rdm1.vo = l1.copy() * 2 - tmp1 = t2.transpose((1, 0, 3, 2)).copy() * -0.5 - tmp1 += t2.transpose((1, 0, 2, 3)) - tmp5 = einsum(l2, (0, 1, 2, 3), tmp1, (2, 4, 1, 0), (3, 4), optimize=True) * 2 + tmp2 = einsum(t1, (0, 1), l2, (1, 2, 3, 4), (4, 3, 0, 2), optimize=True) + tmp5 = t2.transpose((1, 0, 2, 3)).copy() + tmp5 += t2.transpose((1, 0, 3, 2)) * -0.5 tmp0 = einsum(l1, (0, 1), t1, (2, 0), (1, 2), optimize=True) - tmp5 += tmp0 - rdm1.ov = einsum(tmp5, (0, 1), t1, (0, 2), (1, 2), optimize=True) * -2 - del tmp5 - tmp4 = t2.transpose((1, 0, 3, 2)).copy() * 2 - tmp4 += t2.transpose((1, 0, 2, 3)) * -1 - rdm1.ov += einsum(l1, (0, 1), tmp4, (1, 2, 0, 3), (2, 3), optimize=True) * 2 + rdm1.oo = tmp0.transpose((1, 0)).copy() * -2 + tmp7 = l2.transpose((3, 2, 0, 1)).copy() * 2 + tmp7 += l2.transpose((3, 2, 1, 0)) * -1 + rdm1.vv = einsum(tmp7, (0, 1, 2, 3), t2, (0, 1, 3, 4), (2, 4), optimize=True) * 2 + del tmp7 + tmp4 = t2.transpose((1, 0, 2, 3)).copy() * 2 + tmp4 += t2.transpose((1, 0, 3, 2)) * -1 + rdm1.ov = einsum(l1, (0, 1), tmp4, (1, 2, 3, 0), (2, 3), optimize=True) * 2 del tmp4 - tmp2 = einsum(l2, (0, 1, 2, 3), t1, (4, 1), (2, 3, 4, 0), optimize=True) - tmp3 = tmp2.transpose((1, 0, 2, 3)).copy() * -0.5 - tmp3 += tmp2 + tmp3 = tmp2.copy() * -0.5 + tmp3 += tmp2.transpose((1, 0, 2, 3)) del tmp2 - rdm1.ov += einsum(t2, (0, 1, 2, 3), tmp3, (1, 0, 4, 3), (4, 2), optimize=True) * -4 + rdm1.ov += einsum(tmp3, (0, 1, 2, 3), t2, (1, 0, 3, 4), (2, 4), optimize=True) * -4 del tmp3 - rdm1.ov += t1 * 2 - rdm1.oo = einsum(l2, (0, 1, 2, 3), tmp1, (2, 4, 1, 0), (4, 3), optimize=True) * -4 - del tmp1 - rdm1.oo += tmp0.transpose((1, 0)) * -2 + tmp6 = tmp0.copy() * 0.5 del tmp0 + tmp6 += einsum(l2, (0, 1, 2, 3), tmp5, (2, 4, 1, 0), (3, 4), optimize=True) + del tmp5 + rdm1.ov += einsum(tmp6, (0, 1), t1, (0, 2), (1, 2), optimize=True) * -4 + del tmp6 + tmp1 = t2.transpose((1, 0, 2, 3)).copy() * -0.5 + tmp1 += t2.transpose((1, 0, 3, 2)) + rdm1.oo += einsum(tmp1, (0, 1, 2, 3), l2, (2, 3, 0, 4), (1, 4), optimize=True) * -4 + del tmp1 rdm1.oo += delta.oo.transpose((1, 0)) * 2 del delta + rdm1.ov += t1 * 2 + rdm1.vo = l1.copy() * 2 + rdm1.vv += einsum(l1, (0, 1), t1, (1, 2), (0, 2), optimize=True) * 2 rdm1 = np.block([[rdm1.oo, rdm1.ov], [rdm1.vo, rdm1.vv]]) return rdm1 def make_rdm2_f(l1=None, l2=None, t1=None, t2=None, **kwargs): """ - Code generated by `albert` 0.0.0 on 2024-03-02T15:26:24.048838. + Code generated by `albert` 0.0.0 on 2024-07-18T20:22:22.891603. Parameters ---------- @@ -788,25 +773,113 @@ def make_rdm2_f(l1=None, l2=None, t1=None, t2=None, **kwargs): rdm2 = Namespace() delta = Namespace( - oo=np.eye(t1.shape[0]), - vv=np.eye(t1.shape[1]), + oo=np.eye(t2.shape[0]), + vv=np.eye(t2.shape[-1]), ) - tmp110 = einsum(l2, (0, 1, 2, 3), t1, (3, 4), (2, 0, 1, 4), optimize=True) - tmp112 = einsum(tmp110, (0, 1, 2, 3), t1, (0, 4), (2, 1, 3, 4), optimize=True) - tmp113 = tmp112.transpose((1, 0, 3, 2)).copy() - tmp111 = einsum(l2, (0, 1, 2, 3), t2, (2, 3, 4, 5), (0, 1, 4, 5), optimize=True) - tmp113 += tmp111.transpose((1, 0, 3, 2)) - rdm2.vvvv = tmp113.copy() - rdm2.vvvv += tmp113.transpose((0, 1, 3, 2)) * -1 - rdm2.vvvv += tmp112.transpose((1, 0, 3, 2)) - rdm2.vvvv += tmp111.transpose((1, 0, 3, 2)) - rdm2.vvvv += tmp112.transpose((1, 0, 3, 2)) - del tmp112 - rdm2.vvvv += tmp111.transpose((1, 0, 3, 2)) - del tmp111 - rdm2.vvvv += tmp113 - rdm2.vvvv += tmp113.transpose((0, 1, 3, 2)) * -1 - del tmp113 + tmp4 = einsum(t1, (0, 1), l2, (1, 2, 3, 4), (4, 3, 0, 2), optimize=True) + rdm2.vooo = tmp4.transpose((3, 2, 1, 0)).copy() + rdm2.vooo += tmp4.transpose((3, 2, 0, 1)) * -1 + rdm2.vooo += tmp4.transpose((3, 2, 0, 1)) * -1 + rdm2.vooo += tmp4.transpose((3, 2, 0, 1)) * -1 + rdm2.vooo += tmp4.transpose((3, 2, 1, 0)) + rdm2.vooo += tmp4.transpose((3, 2, 0, 1)) * -1 + rdm2.ovoo = tmp4.transpose((2, 3, 1, 0)).copy() * -1 + rdm2.ovoo += tmp4.transpose((2, 3, 0, 1)) + rdm2.ovoo += tmp4.transpose((2, 3, 1, 0)) * -1 + rdm2.ovoo += tmp4.transpose((2, 3, 1, 0)) * -1 + rdm2.ovoo += tmp4.transpose((2, 3, 1, 0)) * -1 + rdm2.ovoo += tmp4.transpose((2, 3, 0, 1)) + tmp16 = t2.transpose((1, 0, 2, 3)).copy() * 2 + tmp16 += t2.transpose((1, 0, 3, 2)) * -1 + tmp78 = t2.transpose((1, 0, 2, 3)).copy() + tmp78 += t2.transpose((1, 0, 3, 2)) * -1 + tmp0 = t2.transpose((1, 0, 2, 3)).copy() + tmp0 += t2.transpose((1, 0, 3, 2)) * -0.5 + tmp10 = tmp4.copy() * -1 + tmp10 += tmp4.transpose((1, 0, 2, 3)) + tmp12 = tmp4.copy() * -1 + tmp12 += tmp4.transpose((1, 0, 2, 3)) * 2 + tmp80 = einsum(tmp16, (0, 1, 2, 3), l2, (3, 4, 0, 5), (1, 5, 2, 4), optimize=True) + rdm2.voov = tmp80.transpose((3, 0, 1, 2)).copy() + rdm2.voov += tmp80.transpose((3, 0, 1, 2)) + rdm2.ovov = tmp80.transpose((0, 3, 1, 2)).copy() * -1 + rdm2.ovov += tmp80.transpose((0, 3, 1, 2)) * -1 + tmp87 = einsum(tmp4, (0, 1, 2, 3), t1, (1, 4), (0, 2, 3, 4), optimize=True) + rdm2.voov += tmp87.transpose((2, 1, 0, 3)) * -1 + rdm2.voov += tmp87.transpose((2, 1, 0, 3)) * -1 + rdm2.ovvo = tmp87.transpose((1, 2, 3, 0)).copy() * -1 + rdm2.ovvo += tmp87.transpose((1, 2, 3, 0)) * -1 + tmp79 = einsum(l2, (0, 1, 2, 3), tmp78, (2, 4, 5, 1), (4, 3, 5, 0), optimize=True) + del tmp78 + rdm2.voov += tmp79.transpose((3, 0, 1, 2)) * -1 + rdm2.voov += tmp79.transpose((3, 0, 1, 2)) * -1 + rdm2.ovov += tmp79.transpose((0, 3, 1, 2)) + rdm2.ovov += tmp79.transpose((0, 3, 1, 2)) + tmp62 = l2.transpose((3, 2, 0, 1)).copy() * 2 + tmp62 += l2.transpose((3, 2, 1, 0)) * -1 + tmp45 = l2.transpose((3, 2, 0, 1)).copy() * 2 + tmp45 += l2.transpose((3, 2, 1, 0)) * -1 + tmp1 = einsum(l2, (0, 1, 2, 3), tmp0, (2, 4, 1, 0), (3, 4), optimize=True) * 2 + rdm2.oooo = einsum(tmp1, (0, 1), delta.oo, (2, 3), (2, 1, 3, 0), optimize=True) * -1 + rdm2.oooo += einsum(delta.oo, (0, 1), tmp1, (2, 3), (3, 1, 0, 2), optimize=True) + rdm2.oooo += einsum(tmp1, (0, 1), delta.oo, (2, 3), (2, 1, 0, 3), optimize=True) + rdm2.oooo += einsum(tmp1, (0, 1), delta.oo, (2, 3), (1, 3, 0, 2), optimize=True) * -1 + rdm2.oooo += einsum(tmp1, (0, 1), delta.oo, (2, 3), (2, 1, 3, 0), optimize=True) * -1 + rdm2.oooo += einsum(tmp1, (0, 1), delta.oo, (2, 3), (1, 3, 0, 2), optimize=True) * -1 + rdm2.oooo += einsum(tmp1, (0, 1), delta.oo, (2, 3), (2, 1, 3, 0), optimize=True) * -1 + rdm2.oooo += einsum(tmp1, (0, 1), delta.oo, (2, 3), (1, 3, 0, 2), optimize=True) * -1 + rdm2.oooo += einsum(tmp1, (0, 1), delta.oo, (2, 3), (2, 1, 3, 0), optimize=True) * -1 + rdm2.oooo += einsum(delta.oo, (0, 1), tmp1, (2, 3), (3, 1, 0, 2), optimize=True) + rdm2.oooo += einsum(tmp1, (0, 1), delta.oo, (2, 3), (2, 1, 0, 3), optimize=True) + rdm2.oooo += einsum(tmp1, (0, 1), delta.oo, (2, 3), (1, 3, 0, 2), optimize=True) * -1 + tmp21 = tmp4.copy() * -1 + tmp21 += tmp4.transpose((1, 0, 2, 3)) * 2 + tmp11 = einsum(tmp10, (0, 1, 2, 3), t2, (1, 4, 5, 3), (0, 2, 4, 5), optimize=True) + tmp8 = einsum(l1, (0, 1), t2, (2, 3, 0, 4), (1, 3, 2, 4), optimize=True) + rdm2.oovo = tmp8.transpose((1, 2, 3, 0)).copy() * -1 + rdm2.oovo += tmp8.transpose((1, 2, 3, 0)) * -1 + rdm2.ooov = tmp8.transpose((2, 1, 0, 3)).copy() * -1 + rdm2.ooov += tmp8.transpose((2, 1, 0, 3)) * -1 + tmp13 = einsum(tmp12, (0, 1, 2, 3), t2, (1, 4, 3, 5), (0, 2, 4, 5), optimize=True) + del tmp12 + rdm2.oovo += tmp13.transpose((2, 1, 3, 0)) * -1 + rdm2.oovo += tmp13.transpose((2, 1, 3, 0)) * -1 + tmp2 = einsum(l1, (0, 1), t1, (2, 0), (1, 2), optimize=True) + rdm2.ooov += einsum(tmp2, (0, 1), t1, (2, 3), (1, 2, 0, 3), optimize=True) * -1 + rdm2.ooov += einsum(tmp2, (0, 1), t1, (2, 3), (2, 1, 0, 3), optimize=True) + rdm2.ooov += einsum(tmp2, (0, 1), t1, (2, 3), (1, 2, 0, 3), optimize=True) * -1 + rdm2.ooov += einsum(tmp2, (0, 1), t1, (2, 3), (2, 1, 0, 3), optimize=True) + rdm2.oooo += einsum(delta.oo, (0, 1), tmp2, (2, 3), (1, 3, 0, 2), optimize=True) * -1 + rdm2.oooo += einsum(delta.oo, (0, 1), tmp2, (2, 3), (3, 1, 0, 2), optimize=True) + rdm2.oooo += einsum(tmp2, (0, 1), delta.oo, (2, 3), (3, 1, 0, 2), optimize=True) + rdm2.oooo += einsum(tmp2, (0, 1), delta.oo, (2, 3), (1, 3, 0, 2), optimize=True) * -1 + rdm2.oooo += einsum(delta.oo, (0, 1), tmp2, (2, 3), (1, 3, 0, 2), optimize=True) * -1 + rdm2.oooo += einsum(delta.oo, (0, 1), tmp2, (2, 3), (1, 3, 0, 2), optimize=True) * -1 + rdm2.oooo += einsum(delta.oo, (0, 1), tmp2, (2, 3), (1, 3, 0, 2), optimize=True) * -1 + rdm2.oooo += einsum(delta.oo, (0, 1), tmp2, (2, 3), (3, 1, 0, 2), optimize=True) + rdm2.oooo += einsum(tmp2, (0, 1), delta.oo, (2, 3), (3, 1, 0, 2), optimize=True) + rdm2.oooo += einsum(tmp2, (0, 1), delta.oo, (2, 3), (1, 3, 0, 2), optimize=True) * -1 + tmp26 = einsum(tmp4, (0, 1, 2, 3), t2, (4, 1, 3, 5), (0, 2, 4, 5), optimize=True) + rdm2.oovo += tmp26.transpose((1, 2, 3, 0)) + rdm2.oovo += tmp26.transpose((1, 2, 3, 0)) + rdm2.ooov += tmp26.transpose((2, 1, 0, 3)) + rdm2.ooov += tmp26.transpose((2, 1, 0, 3)) + tmp5 = einsum(t1, (0, 1), tmp4, (2, 3, 4, 1), (2, 3, 0, 4), optimize=True) + rdm2.oooo += tmp5.transpose((3, 2, 1, 0)) + rdm2.oooo += tmp5.transpose((3, 2, 1, 0)) + tmp54 = l2.transpose((3, 2, 0, 1)).copy() + tmp54 += l2.transpose((3, 2, 1, 0)) * -1 + tmp25 = einsum(tmp4, (0, 1, 2, 3), t2, (4, 0, 3, 5), (1, 2, 4, 5), optimize=True) + rdm2.oovo += tmp25.transpose((2, 1, 3, 0)) + rdm2.oovo += tmp25.transpose((2, 1, 3, 0)) + rdm2.ooov += tmp25.transpose((1, 2, 0, 3)) + rdm2.ooov += tmp25.transpose((1, 2, 0, 3)) + tmp33 = einsum(l2, (0, 1, 2, 3), tmp0, (2, 4, 1, 0), (3, 4), optimize=True) + del tmp0 + tmp3 = einsum(l2, (0, 1, 2, 3), t2, (4, 5, 0, 1), (2, 3, 4, 5), optimize=True) + rdm2.oooo += tmp3.transpose((3, 2, 1, 0)) + rdm2.oooo += tmp3.transpose((3, 2, 1, 0)) + tmp110 = einsum(t1, (0, 1), l2, (2, 3, 4, 0), (4, 2, 3, 1), optimize=True) rdm2.vvvo = tmp110.transpose((2, 1, 3, 0)).copy() rdm2.vvvo += tmp110.transpose((1, 2, 3, 0)) * -1 rdm2.vvvo += tmp110.transpose((2, 1, 3, 0)) @@ -819,606 +892,513 @@ def make_rdm2_f(l1=None, l2=None, t1=None, t2=None, **kwargs): rdm2.vvov += tmp110.transpose((1, 2, 0, 3)) rdm2.vvov += tmp110.transpose((2, 1, 0, 3)) * -1 rdm2.vvov += tmp110.transpose((1, 2, 0, 3)) - del tmp110 - tmp61 = l2.transpose((3, 2, 1, 0)).copy() * -1 - tmp61 += l2.transpose((3, 2, 0, 1)) * 2 - tmp83 = einsum(t2, (0, 1, 2, 3), tmp61, (0, 1, 3, 4), (4, 2), optimize=True) - tmp84 = tmp83.copy() - del tmp83 - tmp82 = einsum(l1, (0, 1), t1, (1, 2), (0, 2), optimize=True) - tmp84 += tmp82 - tmp107 = einsum(tmp84, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) - tmp2 = einsum(l2, (0, 1, 2, 3), t1, (4, 0), (3, 2, 4, 1), optimize=True) - tmp96 = einsum(tmp2, (0, 1, 2, 3), t2, (0, 1, 4, 5), (2, 3, 4, 5), optimize=True) - tmp107 += tmp96 - rdm2.vovv = tmp107.transpose((1, 0, 3, 2)).copy() - rdm2.vovv += tmp107.transpose((1, 0, 2, 3)) * -1 - tmp12 = t2.transpose((1, 0, 3, 2)).copy() * 2 - tmp12 += t2.transpose((1, 0, 2, 3)) * -1 - tmp80 = einsum(tmp12, (0, 1, 2, 3), l2, (2, 4, 0, 5), (1, 5, 3, 4), optimize=True) - tmp104 = tmp80.transpose((1, 0, 3, 2)).copy() * -1 - tmp78 = t2.transpose((1, 0, 3, 2)).copy() - tmp78 += t2.transpose((1, 0, 2, 3)) * -1 - tmp79 = einsum(l2, (0, 1, 2, 3), tmp78, (2, 4, 1, 5), (4, 3, 5, 0), optimize=True) - del tmp78 + tmp104 = tmp87.copy() tmp104 += tmp79.transpose((1, 0, 3, 2)) - tmp86 = einsum(tmp2, (0, 1, 2, 3), t1, (1, 4), (0, 2, 3, 4), optimize=True) - tmp104 += tmp86 - tmp105 = einsum(tmp104, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4), optimize=True) + tmp104 += tmp80.transpose((1, 0, 3, 2)) * -1 + tmp83 = einsum(l1, (0, 1), t1, (1, 2), (0, 2), optimize=True) + tmp84 = einsum(tmp62, (0, 1, 2, 3), t2, (0, 1, 3, 4), (2, 4), optimize=True) + tmp67 = einsum(t2, (0, 1, 2, 3), l2, (4, 2, 5, 1), (5, 0, 4, 3), optimize=True) + rdm2.voov += tmp67.transpose((2, 1, 0, 3)) * -1 + rdm2.voov += tmp67.transpose((2, 1, 0, 3)) * -1 + rdm2.ovvo += tmp67.transpose((1, 2, 3, 0)) * -1 + rdm2.ovvo += tmp67.transpose((1, 2, 3, 0)) * -1 + tmp52 = einsum(t2, (0, 1, 2, 3), tmp45, (0, 4, 5, 2), (4, 1, 5, 3), optimize=True) + rdm2.voov += tmp52.transpose((2, 1, 0, 3)) + rdm2.voov += tmp52.transpose((2, 1, 0, 3)) + rdm2.ovvo += tmp52.transpose((1, 2, 3, 0)) + rdm2.ovvo += tmp52.transpose((1, 2, 3, 0)) + tmp101 = einsum(t2, (0, 1, 2, 3), tmp62, (0, 4, 5, 2), (4, 1, 5, 3), optimize=True) + tmp94 = tmp80.transpose((1, 0, 3, 2)).copy() + del tmp80 + tmp94 += tmp79.transpose((1, 0, 3, 2)) * -1 + del tmp79 + tmp63 = einsum(tmp62, (0, 1, 2, 3), t2, (0, 1, 3, 4), (2, 4), optimize=True) * 0.5 + del tmp62 + tmp23 = einsum(tmp1, (0, 1), t1, (0, 2), (1, 2), optimize=True) * 0.5 + tmp22 = einsum(tmp21, (0, 1, 2, 3), t2, (1, 0, 3, 4), (2, 4), optimize=True) * 0.5 + tmp48 = tmp8.copy() + tmp48 += tmp11 + tmp48 += tmp13 * -1 + tmp15 = einsum(t1, (0, 1), tmp2, (0, 2), (2, 1), optimize=True) + rdm2.oovv = einsum(tmp15, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) * -1 + rdm2.oovv += einsum(tmp15, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) * -1 + tmp17 = einsum(l1, (0, 1), tmp16, (1, 2, 3, 0), (2, 3), optimize=True) + del tmp16 + rdm2.oovo += einsum(tmp17, (0, 1), delta.oo, (2, 3), (2, 0, 1, 3), optimize=True) * -1 + rdm2.oovo += einsum(delta.oo, (0, 1), tmp17, (2, 3), (2, 1, 3, 0), optimize=True) + rdm2.oovo += einsum(tmp17, (0, 1), delta.oo, (2, 3), (2, 0, 1, 3), optimize=True) * -1 + rdm2.oovo += einsum(delta.oo, (0, 1), tmp17, (2, 3), (2, 1, 3, 0), optimize=True) + tmp46 = einsum(t2, (0, 1, 2, 3), tmp45, (0, 4, 5, 3), (4, 1, 5, 2), optimize=True) + del tmp45 + tmp74 = tmp8.copy() + tmp74 += tmp26 * -1 + del tmp26 + tmp59 = t2.transpose((1, 0, 3, 2)).copy() + tmp59 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) + tmp9 = einsum(t1, (0, 1), tmp5, (0, 2, 3, 4), (2, 4, 3, 1), optimize=True) + tmp55 = einsum(t2, (0, 1, 2, 3), tmp54, (0, 4, 5, 3), (4, 1, 5, 2), optimize=True) + rdm2.ovvo += tmp55.transpose((1, 2, 3, 0)) * -1 + rdm2.ovvo += tmp55.transpose((1, 2, 3, 0)) * -1 + tmp71 = tmp25.copy() + del tmp25 + tmp71 += tmp13 * -1 + tmp34 = tmp2.copy() * 0.5 + tmp34 += tmp33 + del tmp33 + tmp31 = t2.transpose((1, 0, 2, 3)).copy() * 2 + tmp31 += t2.transpose((1, 0, 3, 2)) * -1 + tmp6 = tmp3.transpose((1, 0, 3, 2)).copy() + tmp6 += tmp5 + rdm2.oooo += tmp6.transpose((2, 3, 0, 1)) + rdm2.oooo += tmp6.transpose((3, 2, 0, 1)) * -1 + rdm2.oooo += tmp6.transpose((2, 3, 0, 1)) + rdm2.oooo += tmp6.transpose((3, 2, 0, 1)) * -1 + tmp112 = einsum(tmp110, (0, 1, 2, 3), t1, (0, 4), (2, 1, 3, 4), optimize=True) + del tmp110 + rdm2.vvvv = tmp112.transpose((1, 0, 3, 2)).copy() + rdm2.vvvv += tmp112.transpose((1, 0, 3, 2)) + tmp111 = einsum(t2, (0, 1, 2, 3), l2, (4, 5, 0, 1), (4, 5, 2, 3), optimize=True) + rdm2.vvvv += tmp111.transpose((1, 0, 3, 2)) + rdm2.vvvv += tmp111.transpose((1, 0, 3, 2)) + tmp69 = einsum(t2, (0, 1, 2, 3), l2, (2, 4, 5, 1), (5, 0, 4, 3), optimize=True) + rdm2.vovo = tmp69.transpose((2, 1, 3, 0)).copy() * -1 + rdm2.vovo += tmp69.transpose((2, 1, 3, 0)) * -1 + rdm2.ovov += tmp69.transpose((1, 2, 0, 3)) * -1 + rdm2.ovov += tmp69.transpose((1, 2, 0, 3)) * -1 + tmp93 = einsum(l1, (0, 1), t2, (2, 1, 3, 4), (2, 0, 3, 4), optimize=True) + rdm2.vovv = tmp93.transpose((1, 0, 3, 2)).copy() + rdm2.vovv += tmp93.transpose((1, 0, 3, 2)) + rdm2.ovvv = tmp93.copy() + rdm2.ovvv += tmp93 + tmp105 = einsum(t1, (0, 1), tmp104, (0, 2, 3, 4), (2, 3, 4, 1), optimize=True) del tmp104 - tmp106 = tmp105.transpose((0, 1, 3, 2)).copy() + tmp97 = einsum(t2, (0, 1, 2, 3), tmp4, (1, 0, 4, 5), (4, 5, 3, 2), optimize=True) + rdm2.vovv += tmp97.transpose((1, 0, 2, 3)) * -1 + rdm2.vovv += tmp97.transpose((1, 0, 2, 3)) * -1 + rdm2.ovvv += tmp97.transpose((0, 1, 3, 2)) * -1 + rdm2.ovvv += tmp97.transpose((0, 1, 3, 2)) * -1 + tmp85 = tmp83.copy() + tmp85 += tmp84 + del tmp84 + rdm2.vovv += einsum(t1, (0, 1), tmp85, (2, 3), (2, 0, 3, 1), optimize=True) + rdm2.vovv += einsum(t1, (0, 1), tmp85, (2, 3), (2, 0, 3, 1), optimize=True) + rdm2.voov += einsum(tmp85, (0, 1), delta.oo, (2, 3), (0, 3, 2, 1), optimize=True) * -1 + rdm2.voov += einsum(tmp85, (0, 1), delta.oo, (2, 3), (0, 3, 2, 1), optimize=True) * -1 + rdm2.ovvo += einsum(tmp85, (0, 1), delta.oo, (2, 3), (3, 0, 1, 2), optimize=True) * -1 + rdm2.ovvo += einsum(tmp85, (0, 1), delta.oo, (2, 3), (3, 0, 1, 2), optimize=True) * -1 + rdm2.ovov += einsum(tmp85, (0, 1), delta.oo, (2, 3), (3, 0, 2, 1), optimize=True) + rdm2.ovov += einsum(tmp85, (0, 1), delta.oo, (2, 3), (3, 0, 2, 1), optimize=True) + rdm2.ovov += einsum(tmp85, (0, 1), delta.oo, (2, 3), (3, 0, 2, 1), optimize=True) + rdm2.ovov += einsum(tmp85, (0, 1), delta.oo, (2, 3), (3, 0, 2, 1), optimize=True) + tmp108 = tmp67.copy() + tmp108 += tmp87 + tmp108 += tmp52 * -1 + tmp102 = tmp67.copy() + tmp102 += tmp87 + tmp102 += tmp101 * -1 + del tmp101 + tmp95 = einsum(t1, (0, 1), tmp94, (0, 2, 3, 4), (2, 3, 4, 1), optimize=True) + del tmp94 + tmp88 = l2.transpose((3, 2, 0, 1)).copy() * -1 + tmp88 += l2.transpose((3, 2, 1, 0)) * 2 + tmp81 = tmp4.copy() + tmp81 += tmp4.transpose((1, 0, 2, 3)) * -1 + tmp65 = einsum(tmp1, (0, 1), t2, (0, 2, 3, 4), (2, 1, 3, 4), optimize=True) + tmp64 = einsum(tmp63, (0, 1), t2, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) * 2 + tmp24 = tmp22.copy() + tmp24 += tmp23 + del tmp23 + rdm2.ooov += einsum(tmp24, (0, 1), delta.oo, (2, 3), (2, 0, 3, 1), optimize=True) * -2 + rdm2.ooov += einsum(delta.oo, (0, 1), tmp24, (2, 3), (2, 1, 0, 3), optimize=True) * 2 + rdm2.ooov += einsum(tmp24, (0, 1), delta.oo, (2, 3), (2, 0, 3, 1), optimize=True) * -2 + rdm2.ooov += einsum(delta.oo, (0, 1), tmp24, (2, 3), (2, 1, 0, 3), optimize=True) * 2 + tmp49 = einsum(tmp48, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4), optimize=True) + del tmp48 + tmp44 = einsum(tmp2, (0, 1), t2, (2, 0, 3, 4), (1, 2, 3, 4), optimize=True) + tmp18 = tmp15.copy() + tmp18 += tmp17 * -1 + rdm2.ooov += einsum(tmp18, (0, 1), delta.oo, (2, 3), (2, 0, 3, 1), optimize=True) * -1 + rdm2.ooov += einsum(delta.oo, (0, 1), tmp18, (2, 3), (2, 1, 0, 3), optimize=True) + rdm2.ooov += einsum(tmp18, (0, 1), delta.oo, (2, 3), (2, 0, 3, 1), optimize=True) * -1 + rdm2.ooov += einsum(delta.oo, (0, 1), tmp18, (2, 3), (2, 1, 0, 3), optimize=True) + tmp47 = einsum(t2, (0, 1, 2, 3), tmp46, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) + del tmp46 + tmp75 = einsum(t1, (0, 1), tmp74, (0, 2, 3, 4), (2, 3, 4, 1), optimize=True) + del tmp74 + tmp60 = einsum(tmp3, (0, 1, 2, 3), tmp59, (0, 1, 4, 5), (2, 3, 4, 5), optimize=True) + del tmp59 + rdm2.oovv += tmp60.transpose((1, 0, 3, 2)) + rdm2.oovv += tmp60.transpose((1, 0, 3, 2)) + tmp58 = einsum(t2, (0, 1, 2, 3), tmp5, (1, 0, 4, 5), (5, 4, 2, 3), optimize=True) + del tmp5 + rdm2.oovv += tmp58 + rdm2.oovv += tmp58 + tmp51 = einsum(t1, (0, 1), tmp9, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) + rdm2.oovv += tmp51 + rdm2.oovv += tmp51 + tmp53 = einsum(tmp52, (0, 1, 2, 3), t2, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) + del tmp52 + rdm2.oovv += tmp53 * 2 + rdm2.oovv += tmp53 * 2 + tmp56 = einsum(t2, (0, 1, 2, 3), tmp55, (0, 4, 3, 5), (4, 1, 5, 2), optimize=True) + del tmp55 + tmp72 = einsum(t1, (0, 1), tmp71, (0, 2, 3, 4), (2, 3, 4, 1), optimize=True) + del tmp71 + tmp42 = einsum(tmp34, (0, 1), t1, (0, 2), (1, 2), optimize=True) + tmp41 = einsum(l1, (0, 1), tmp31, (1, 2, 3, 0), (2, 3), optimize=True) * 0.5 + tmp29 = einsum(t1, (0, 1), tmp6, (0, 2, 3, 4), (2, 3, 4, 1), optimize=True) + del tmp6 + rdm2.oovo += tmp29.transpose((1, 2, 3, 0)) + rdm2.oovo += tmp29.transpose((1, 2, 3, 0)) + rdm2.ooov += tmp29.transpose((2, 1, 0, 3)) + rdm2.ooov += tmp29.transpose((2, 1, 0, 3)) + tmp35 = einsum(tmp34, (0, 1), t1, (0, 2), (1, 2), optimize=True) * 2 + del tmp34 + tmp30 = einsum(tmp21, (0, 1, 2, 3), t2, (1, 0, 3, 4), (2, 4), optimize=True) + del tmp21 + tmp19 = einsum(t1, (0, 1), tmp3, (2, 0, 3, 4), (2, 3, 4, 1), optimize=True) + del tmp3 + tmp27 = tmp4.copy() * 2 + tmp27 += tmp4.transpose((1, 0, 2, 3)) * -1 + tmp32 = einsum(l1, (0, 1), tmp31, (1, 2, 3, 0), (2, 3), optimize=True) + del tmp31 + tmp113 = tmp111.transpose((1, 0, 3, 2)).copy() + del tmp111 + tmp113 += tmp112.transpose((1, 0, 3, 2)) + del tmp112 + rdm2.vvvv += tmp113 + rdm2.vvvv += tmp113.transpose((0, 1, 3, 2)) * -1 + rdm2.vvvv += tmp113 + rdm2.vvvv += tmp113.transpose((0, 1, 3, 2)) * -1 + del tmp113 + tmp100 = einsum(tmp69, (0, 1, 2, 3), t1, (0, 4), (1, 2, 4, 3), optimize=True) + rdm2.vovv += tmp100.transpose((1, 0, 3, 2)) * -1 + rdm2.vovv += tmp100.transpose((1, 0, 3, 2)) * -1 + rdm2.ovvv += tmp100 * -1 + rdm2.ovvv += tmp100 * -1 + del tmp100 + tmp106 = tmp93.copy() + tmp106 += tmp105.transpose((0, 1, 3, 2)) del tmp105 - tmp92 = einsum(l1, (0, 1), t2, (2, 1, 3, 4), (2, 0, 3, 4), optimize=True) - tmp106 += tmp92 rdm2.vovv += tmp106.transpose((1, 0, 3, 2)) rdm2.vovv += tmp106.transpose((1, 0, 2, 3)) * -1 - tmp62 = einsum(t2, (0, 1, 2, 3), tmp61, (0, 1, 3, 4), (4, 2), optimize=True) * 0.5 - del tmp61 - tmp91 = tmp62.copy() - tmp91 += tmp82 * 0.5 - rdm2.vovv += einsum(tmp91, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) * 2 - tmp44 = l2.transpose((3, 2, 1, 0)).copy() * 2 - tmp44 += l2.transpose((3, 2, 0, 1)) * -1 - tmp45 = einsum(tmp44, (0, 1, 2, 3), t2, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) - del tmp44 - tmp108 = tmp45.copy() * -1 - tmp108 += tmp86 - tmp66 = einsum(t2, (0, 1, 2, 3), l2, (4, 2, 5, 1), (5, 0, 4, 3), optimize=True) - tmp108 += tmp66 + rdm2.vovv += tmp106.transpose((1, 0, 3, 2)) + rdm2.vovv += tmp106.transpose((1, 0, 2, 3)) * -1 + del tmp106 + tmp107 = tmp97.copy() + tmp107 += einsum(t1, (0, 1), tmp85, (2, 3), (0, 2, 1, 3), optimize=True) + del tmp85 + rdm2.vovv += tmp107.transpose((1, 0, 3, 2)) + rdm2.vovv += tmp107.transpose((1, 0, 2, 3)) * -1 + rdm2.vovv += tmp107.transpose((1, 0, 3, 2)) + rdm2.vovv += tmp107.transpose((1, 0, 2, 3)) * -1 + del tmp107 tmp109 = einsum(t1, (0, 1), tmp108, (0, 2, 3, 4), (2, 3, 4, 1), optimize=True) del tmp108 rdm2.vovv += tmp109.transpose((1, 0, 3, 2)) * -1 - rdm2.vovv += tmp96.transpose((1, 0, 2, 3)) * -1 - tmp68 = einsum(t2, (0, 1, 2, 3), l2, (2, 4, 5, 1), (5, 0, 4, 3), optimize=True) - tmp99 = einsum(tmp68, (0, 1, 2, 3), t1, (0, 4), (1, 2, 4, 3), optimize=True) - rdm2.vovv += tmp99.transpose((1, 0, 3, 2)) * -1 - rdm2.vovv += tmp92.transpose((1, 0, 3, 2)) - rdm2.vovv += einsum(tmp91, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) * 2 rdm2.vovv += tmp109.transpose((1, 0, 3, 2)) * -1 del tmp109 - rdm2.vovv += tmp96.transpose((1, 0, 2, 3)) * -1 - rdm2.vovv += tmp99.transpose((1, 0, 3, 2)) * -1 - rdm2.vovv += tmp92.transpose((1, 0, 3, 2)) - rdm2.vovv += tmp107.transpose((1, 0, 3, 2)) - rdm2.vovv += tmp107.transpose((1, 0, 2, 3)) * -1 - del tmp107 - rdm2.vovv += tmp106.transpose((1, 0, 3, 2)) - rdm2.vovv += tmp106.transpose((1, 0, 2, 3)) * -1 - del tmp106 - tmp98 = einsum(tmp86, (0, 1, 2, 3), t1, (0, 4), (1, 2, 4, 3), optimize=True) - rdm2.ovvv = tmp98.transpose((0, 1, 3, 2)).copy() * -1 - rdm2.ovvv += tmp98 - tmp97 = einsum(tmp62, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) * 2 - tmp97 += tmp96 - rdm2.ovvv += tmp97.transpose((0, 1, 3, 2)) * -1 - rdm2.ovvv += tmp97 - tmp93 = tmp79.transpose((1, 0, 3, 2)).copy() * -1 - tmp93 += tmp80.transpose((1, 0, 3, 2)) - tmp94 = einsum(tmp93, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4), optimize=True) - del tmp93 - tmp95 = tmp94.transpose((0, 1, 3, 2)).copy() * -1 - del tmp94 - tmp95 += einsum(tmp82, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) - del tmp82 - tmp95 += tmp92 - rdm2.ovvv += tmp95.transpose((0, 1, 3, 2)) * -1 - rdm2.ovvv += tmp95 - rdm2.ovvv += einsum(tmp84, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) - tmp100 = l2.transpose((3, 2, 1, 0)).copy() * 2 - tmp100 += l2.transpose((3, 2, 0, 1)) * -1 - tmp101 = einsum(t2, (0, 1, 2, 3), tmp100, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) - del tmp100 - tmp102 = tmp101.copy() * -1 - del tmp101 - tmp102 += tmp86 - tmp102 += tmp66 - tmp103 = einsum(tmp102, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4), optimize=True) + tmp99 = einsum(tmp87, (0, 1, 2, 3), t1, (0, 4), (1, 2, 4, 3), optimize=True) + del tmp87 + rdm2.ovvv += tmp99.transpose((0, 1, 3, 2)) * -1 + rdm2.ovvv += tmp99 + rdm2.ovvv += tmp99.transpose((0, 1, 3, 2)) * -1 + rdm2.ovvv += tmp99 + del tmp99 + tmp103 = einsum(t1, (0, 1), tmp102, (0, 2, 3, 4), (2, 3, 4, 1), optimize=True) del tmp102 rdm2.ovvv += tmp103 * -1 - rdm2.ovvv += tmp99 * -1 - rdm2.ovvv += tmp96.transpose((0, 1, 3, 2)) * -1 - rdm2.ovvv += tmp92 - rdm2.ovvv += einsum(tmp84, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) rdm2.ovvv += tmp103 * -1 del tmp103 - rdm2.ovvv += tmp99 * -1 - del tmp99 + tmp92 = tmp83.copy() * 0.5 + tmp92 += tmp63 + rdm2.ovvv += einsum(t1, (0, 1), tmp92, (2, 3), (0, 2, 1, 3), optimize=True) * 2 + rdm2.ovvv += einsum(t1, (0, 1), tmp92, (2, 3), (0, 2, 1, 3), optimize=True) * 2 + rdm2.vovo += einsum(tmp92, (0, 1), delta.oo, (2, 3), (0, 3, 1, 2), optimize=True) * 2 + rdm2.vovo += einsum(tmp92, (0, 1), delta.oo, (2, 3), (0, 3, 1, 2), optimize=True) * 2 + rdm2.vovo += einsum(tmp92, (0, 1), delta.oo, (2, 3), (0, 3, 1, 2), optimize=True) * 2 + rdm2.vovo += einsum(tmp92, (0, 1), delta.oo, (2, 3), (0, 3, 1, 2), optimize=True) * 2 + del tmp92 + tmp96 = tmp93.copy() + del tmp93 + tmp96 += einsum(tmp83, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) + del tmp83 + tmp96 += tmp95.transpose((0, 1, 3, 2)) * -1 + del tmp95 + rdm2.ovvv += tmp96.transpose((0, 1, 3, 2)) * -1 + rdm2.ovvv += tmp96 rdm2.ovvv += tmp96.transpose((0, 1, 3, 2)) * -1 + rdm2.ovvv += tmp96 del tmp96 - rdm2.ovvv += tmp92 - del tmp92 + tmp98 = tmp97.copy() + del tmp97 + tmp98 += einsum(tmp63, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) * 2 + del tmp63 + rdm2.ovvv += tmp98.transpose((0, 1, 3, 2)) * -1 + rdm2.ovvv += tmp98 rdm2.ovvv += tmp98.transpose((0, 1, 3, 2)) * -1 rdm2.ovvv += tmp98 del tmp98 - rdm2.ovvv += tmp97.transpose((0, 1, 3, 2)) * -1 - rdm2.ovvv += tmp97 - del tmp97 - rdm2.ovvv += tmp95.transpose((0, 1, 3, 2)) * -1 - rdm2.ovvv += tmp95 - del tmp95 - rdm2.vvoo = l2.transpose((1, 0, 3, 2)).copy() - rdm2.vvoo += l2.transpose((0, 1, 3, 2)) * -1 - rdm2.vvoo += l2.transpose((1, 0, 3, 2)) - rdm2.vvoo += l2.transpose((1, 0, 3, 2)) - rdm2.vvoo += l2.transpose((1, 0, 3, 2)) - rdm2.vvoo += l2.transpose((0, 1, 3, 2)) * -1 - rdm2.vovo = einsum(tmp91, (0, 1), delta.oo, (2, 3), (0, 3, 1, 2), optimize=True) * 2 - tmp87 = tmp2.transpose((1, 0, 2, 3)).copy() * -1 - tmp87 += tmp2 - tmp88 = einsum(t1, (0, 1), tmp87, (0, 2, 3, 4), (2, 3, 4, 1), optimize=True) - del tmp87 - rdm2.vovo += tmp88.transpose((2, 1, 3, 0)) * -1 - tmp89 = l2.transpose((3, 2, 1, 0)).copy() * -1 - tmp89 += l2.transpose((3, 2, 0, 1)) - tmp90 = einsum(tmp89, (0, 1, 2, 3), t2, (0, 4, 5, 2), (1, 4, 3, 5), optimize=True) - del tmp89 - rdm2.vovo += tmp90.transpose((2, 1, 3, 0)) * -1 - rdm2.vovo += tmp45.transpose((2, 1, 3, 0)) * -1 - rdm2.vovo += einsum(l1, (0, 1), t1, (2, 3), (0, 2, 3, 1), optimize=True) * -1 - rdm2.vovo += einsum(tmp91, (0, 1), delta.oo, (2, 3), (0, 3, 1, 2), optimize=True) * 2 - tmp85 = einsum(tmp2, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4), optimize=True) - rdm2.vovo += tmp85.transpose((2, 1, 3, 0)) * -1 - rdm2.vovo += tmp68.transpose((2, 1, 3, 0)) * -1 - rdm2.vovo += einsum(tmp91, (0, 1), delta.oo, (2, 3), (0, 3, 1, 2), optimize=True) * 2 - rdm2.vovo += tmp85.transpose((2, 1, 3, 0)) * -1 - rdm2.vovo += tmp68.transpose((2, 1, 3, 0)) * -1 - rdm2.vovo += einsum(tmp91, (0, 1), delta.oo, (2, 3), (0, 3, 1, 2), optimize=True) * 2 + tmp91 = einsum(t2, (0, 1, 2, 3), tmp54, (0, 4, 3, 5), (4, 1, 5, 2), optimize=True) + del tmp54 + rdm2.vovo += tmp91.transpose((2, 1, 3, 0)) * -1 + rdm2.vovo += tmp91.transpose((2, 1, 3, 0)) * -1 del tmp91 - rdm2.vovo += tmp88.transpose((2, 1, 3, 0)) * -1 + tmp90 = einsum(t1, (0, 1), tmp10, (2, 0, 3, 4), (2, 3, 4, 1), optimize=True) + del tmp10 rdm2.vovo += tmp90.transpose((2, 1, 3, 0)) * -1 + rdm2.vovo += tmp90.transpose((2, 1, 3, 0)) * -1 + rdm2.voov += tmp90.transpose((2, 1, 0, 3)) + rdm2.voov += tmp90.transpose((2, 1, 0, 3)) del tmp90 - rdm2.vovo += tmp45.transpose((2, 1, 3, 0)) * -1 - rdm2.vovo += einsum(l1, (0, 1), t1, (2, 3), (0, 2, 3, 1), optimize=True) * -1 - rdm2.voov = einsum(tmp84, (0, 1), delta.oo, (2, 3), (0, 3, 2, 1), optimize=True) * -1 - rdm2.voov += tmp88.transpose((2, 1, 0, 3)) - rdm2.voov += tmp79.transpose((3, 0, 1, 2)) * -1 - rdm2.voov += tmp80.transpose((3, 0, 1, 2)) - rdm2.voov += einsum(l1, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) - rdm2.voov += tmp45.transpose((2, 1, 0, 3)) - rdm2.voov += tmp86.transpose((2, 1, 0, 3)) * -1 - rdm2.voov += tmp66.transpose((2, 1, 0, 3)) * -1 - rdm2.voov += einsum(l1, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) - rdm2.voov += tmp45.transpose((2, 1, 0, 3)) - rdm2.voov += tmp86.transpose((2, 1, 0, 3)) * -1 - rdm2.voov += tmp66.transpose((2, 1, 0, 3)) * -1 - rdm2.voov += einsum(l1, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) - rdm2.voov += einsum(tmp84, (0, 1), delta.oo, (2, 3), (0, 3, 2, 1), optimize=True) * -1 - rdm2.voov += tmp88.transpose((2, 1, 0, 3)) + tmp89 = einsum(t2, (0, 1, 2, 3), tmp88, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) del tmp88 - rdm2.voov += tmp79.transpose((3, 0, 1, 2)) * -1 - rdm2.voov += tmp80.transpose((3, 0, 1, 2)) - rdm2.voov += einsum(l1, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) - rdm2.ovvo = einsum(tmp84, (0, 1), delta.oo, (2, 3), (3, 0, 1, 2), optimize=True) * -1 - tmp17 = tmp2.transpose((1, 0, 2, 3)).copy() - tmp17 += tmp2 * -1 - tmp81 = einsum(t1, (0, 1), tmp17, (0, 2, 3, 4), (2, 3, 4, 1), optimize=True) - rdm2.ovvo += tmp81.transpose((1, 2, 3, 0)) * -1 - tmp47 = l2.transpose((3, 2, 1, 0)).copy() - tmp47 += l2.transpose((3, 2, 0, 1)) * -1 - tmp48 = einsum(t2, (0, 1, 2, 3), tmp47, (0, 4, 3, 5), (4, 1, 5, 2), optimize=True) - del tmp47 - rdm2.ovvo += tmp48.transpose((1, 2, 3, 0)) * -1 - rdm2.ovvo += tmp45.transpose((1, 2, 3, 0)) - rdm2.ovvo += einsum(l1, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) - rdm2.ovvo += tmp45.transpose((1, 2, 3, 0)) - rdm2.ovvo += tmp86.transpose((1, 2, 3, 0)) * -1 - rdm2.ovvo += tmp66.transpose((1, 2, 3, 0)) * -1 - rdm2.ovvo += einsum(l1, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) - rdm2.ovvo += tmp45.transpose((1, 2, 3, 0)) - rdm2.ovvo += tmp86.transpose((1, 2, 3, 0)) * -1 + rdm2.vovo += tmp89.transpose((2, 1, 3, 0)) * -1 + rdm2.vovo += tmp89.transpose((2, 1, 3, 0)) * -1 + rdm2.ovvo += tmp89.transpose((1, 2, 3, 0)) + rdm2.ovvo += tmp89.transpose((1, 2, 3, 0)) + del tmp89 + tmp86 = einsum(t1, (0, 1), tmp4, (0, 2, 3, 4), (2, 3, 4, 1), optimize=True) + del tmp4 + rdm2.vovo += tmp86.transpose((2, 1, 3, 0)) * -1 + rdm2.vovo += tmp86.transpose((2, 1, 3, 0)) * -1 + rdm2.ovov += tmp86.transpose((1, 2, 0, 3)) * -1 + rdm2.ovov += tmp86.transpose((1, 2, 0, 3)) * -1 del tmp86 - rdm2.ovvo += tmp66.transpose((1, 2, 3, 0)) * -1 - rdm2.ovvo += einsum(l1, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) - rdm2.ovvo += einsum(tmp84, (0, 1), delta.oo, (2, 3), (3, 0, 1, 2), optimize=True) * -1 - rdm2.ovvo += tmp81.transpose((1, 2, 3, 0)) * -1 - rdm2.ovvo += tmp48.transpose((1, 2, 3, 0)) * -1 - rdm2.ovvo += tmp45.transpose((1, 2, 3, 0)) - rdm2.ovvo += einsum(l1, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) - rdm2.ovov = einsum(tmp84, (0, 1), delta.oo, (2, 3), (3, 0, 2, 1), optimize=True) - rdm2.ovov += tmp81.transpose((1, 2, 0, 3)) - rdm2.ovov += tmp80.transpose((0, 3, 1, 2)) * -1 - rdm2.ovov += tmp79.transpose((0, 3, 1, 2)) - rdm2.ovov += einsum(l1, (0, 1), t1, (2, 3), (2, 0, 1, 3), optimize=True) * -1 - rdm2.ovov += einsum(tmp84, (0, 1), delta.oo, (2, 3), (3, 0, 2, 1), optimize=True) - rdm2.ovov += tmp85.transpose((1, 2, 0, 3)) * -1 - rdm2.ovov += tmp68.transpose((1, 2, 0, 3)) * -1 - rdm2.ovov += einsum(tmp84, (0, 1), delta.oo, (2, 3), (3, 0, 2, 1), optimize=True) - rdm2.ovov += tmp85.transpose((1, 2, 0, 3)) * -1 - del tmp85 - rdm2.ovov += tmp68.transpose((1, 2, 0, 3)) * -1 - rdm2.ovov += einsum(tmp84, (0, 1), delta.oo, (2, 3), (3, 0, 2, 1), optimize=True) - del tmp84 - rdm2.ovov += tmp81.transpose((1, 2, 0, 3)) + tmp82 = einsum(t1, (0, 1), tmp81, (2, 0, 3, 4), (2, 3, 4, 1), optimize=True) del tmp81 - rdm2.ovov += tmp80.transpose((0, 3, 1, 2)) * -1 - del tmp80 - rdm2.ovov += tmp79.transpose((0, 3, 1, 2)) - del tmp79 - rdm2.ovov += einsum(l1, (0, 1), t1, (2, 3), (2, 0, 1, 3), optimize=True) * -1 - rdm2.oovv = einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) - rdm2.oovv += einsum(t1, (0, 1), t1, (2, 3), (2, 0, 1, 3), optimize=True) * -1 - rdm2.oovv += t2.transpose((1, 0, 3, 2)) - rdm2.oovv += t2.transpose((1, 0, 2, 3)) * -1 - tmp5 = t2.transpose((1, 0, 3, 2)).copy() * -0.5 - tmp5 += t2.transpose((1, 0, 2, 3)) - tmp6 = einsum(tmp5, (0, 1, 2, 3), l2, (3, 2, 0, 4), (4, 1), optimize=True) * 2 - tmp10 = einsum(tmp6, (0, 1), t1, (0, 2), (1, 2), optimize=True) * 0.5 - tmp11 = tmp10.copy() - del tmp10 - tmp8 = tmp2.transpose((1, 0, 2, 3)).copy() * -1 - tmp8 += tmp2 * 2 - tmp9 = einsum(t2, (0, 1, 2, 3), tmp8, (1, 0, 4, 3), (4, 2), optimize=True) * 0.5 - tmp11 += tmp9 - tmp65 = einsum(tmp11, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) * 2 - tmp64 = einsum(t2, (0, 1, 2, 3), tmp6, (0, 4), (1, 4, 2, 3), optimize=True) - tmp65 += tmp64.transpose((0, 1, 3, 2)) + rdm2.ovvo += tmp82.transpose((1, 2, 3, 0)) * -1 + rdm2.ovvo += tmp82.transpose((1, 2, 3, 0)) * -1 + rdm2.ovov += tmp82.transpose((1, 2, 0, 3)) + rdm2.ovov += tmp82.transpose((1, 2, 0, 3)) + del tmp82 + tmp68 = einsum(tmp67, (0, 1, 2, 3), t2, (4, 0, 2, 5), (4, 1, 5, 3), optimize=True) + del tmp67 + rdm2.oovv += tmp68 + rdm2.oovv += tmp68 + del tmp68 + tmp66 = tmp64.transpose((1, 0, 3, 2)).copy() del tmp64 - tmp63 = einsum(t2, (0, 1, 2, 3), tmp62, (2, 4), (0, 1, 4, 3), optimize=True) * 2 - del tmp62 - tmp65 += tmp63.transpose((1, 0, 3, 2)) - del tmp63 - rdm2.oovv += tmp65.transpose((1, 0, 3, 2)) * -1 - rdm2.oovv += tmp65.transpose((1, 0, 2, 3)) - rdm2.oovv += tmp65.transpose((0, 1, 3, 2)) - rdm2.oovv += tmp65 * -1 - tmp1 = einsum(l2, (0, 1, 2, 3), t2, (4, 5, 1, 0), (2, 3, 5, 4), optimize=True) - tmp22 = einsum(t1, (0, 1), tmp1, (2, 0, 3, 4), (2, 3, 4, 1), optimize=True) - tmp59 = einsum(tmp22, (0, 1, 2, 3), t1, (0, 4), (1, 2, 4, 3), optimize=True) - tmp60 = tmp59.copy() - del tmp59 - tmp3 = einsum(t1, (0, 1), tmp2, (2, 3, 4, 1), (2, 3, 0, 4), optimize=True) - tmp58 = einsum(tmp3, (0, 1, 2, 3), t2, (1, 0, 4, 5), (2, 3, 5, 4), optimize=True) - tmp60 += tmp58 - tmp57 = einsum(tmp1, (0, 1, 2, 3), t2, (0, 1, 4, 5), (2, 3, 4, 5), optimize=True) - tmp60 += tmp57 - rdm2.oovv += tmp60.transpose((0, 1, 3, 2)) * -1 - rdm2.oovv += tmp60 - tmp13 = einsum(tmp12, (0, 1, 2, 3), l1, (2, 0), (1, 3), optimize=True) - del tmp12 - tmp55 = tmp13.copy() * -1 - tmp0 = einsum(l1, (0, 1), t1, (2, 0), (1, 2), optimize=True) - tmp14 = einsum(tmp0, (0, 1), t1, (0, 2), (1, 2), optimize=True) - tmp55 += tmp14 - tmp56 = einsum(tmp55, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) * -1 - del tmp55 - tmp19 = tmp2.transpose((1, 0, 2, 3)).copy() * 2 - tmp19 += tmp2 * -1 - tmp20 = einsum(tmp19, (0, 1, 2, 3), t2, (1, 4, 3, 5), (0, 2, 4, 5), optimize=True) - del tmp19 - tmp53 = tmp20.copy() * -1 - tmp18 = einsum(tmp17, (0, 1, 2, 3), t2, (1, 4, 5, 3), (0, 2, 4, 5), optimize=True) - del tmp17 - tmp53 += tmp18 - tmp15 = einsum(l1, (0, 1), t2, (2, 3, 4, 0), (1, 2, 3, 4), optimize=True) - tmp53 += tmp15 - tmp54 = einsum(t1, (0, 1), tmp53, (0, 2, 3, 4), (2, 3, 4, 1), optimize=True) - del tmp53 - tmp56 += tmp54.transpose((0, 1, 3, 2)) - del tmp54 - tmp52 = einsum(tmp45, (0, 1, 2, 3), t2, (0, 4, 5, 2), (1, 4, 3, 5), optimize=True) - tmp56 += tmp52 * -1 - tmp51 = einsum(tmp0, (0, 1), t2, (2, 0, 3, 4), (1, 2, 3, 4), optimize=True) - tmp56 += tmp51 - rdm2.oovv += tmp56.transpose((1, 0, 3, 2)) - rdm2.oovv += tmp56.transpose((1, 0, 2, 3)) * -1 - rdm2.oovv += tmp56.transpose((0, 1, 3, 2)) * -1 - rdm2.oovv += tmp56 - tmp49 = einsum(t2, (0, 1, 2, 3), tmp48, (0, 4, 3, 5), (4, 1, 5, 2), optimize=True) - del tmp48 - tmp50 = tmp49.transpose((1, 0, 3, 2)).copy() + tmp66 += tmp65.transpose((0, 1, 3, 2)) + del tmp65 + tmp66 += einsum(t1, (0, 1), tmp24, (2, 3), (0, 2, 1, 3), optimize=True) * 2 + del tmp24 + rdm2.oovv += tmp66.transpose((1, 0, 3, 2)) * -1 + rdm2.oovv += tmp66.transpose((1, 0, 2, 3)) + rdm2.oovv += tmp66.transpose((0, 1, 3, 2)) + rdm2.oovv += tmp66 * -1 + rdm2.oovv += tmp66.transpose((1, 0, 3, 2)) * -1 + rdm2.oovv += tmp66 * -1 + rdm2.oovv += tmp66.transpose((1, 0, 3, 2)) * -1 + rdm2.oovv += tmp66 * -1 + rdm2.oovv += tmp66.transpose((1, 0, 3, 2)) * -1 + rdm2.oovv += tmp66.transpose((1, 0, 2, 3)) + rdm2.oovv += tmp66.transpose((0, 1, 3, 2)) + rdm2.oovv += tmp66 * -1 + del tmp66 + tmp50 = tmp44.copy() + tmp50 += tmp47.transpose((1, 0, 3, 2)) * -1 + tmp50 += tmp49.transpose((0, 1, 3, 2)) del tmp49 - tmp46 = einsum(tmp45, (0, 1, 2, 3), t2, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) - del tmp45 - tmp50 += tmp46 * 2 - tmp16 = einsum(t1, (0, 1), tmp3, (0, 2, 3, 4), (2, 4, 3, 1), optimize=True) - tmp43 = einsum(t1, (0, 1), tmp16, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) - tmp50 += tmp43 - del tmp43 + tmp50 += einsum(t1, (0, 1), tmp18, (2, 3), (0, 2, 1, 3), optimize=True) * -1 + del tmp18 + rdm2.oovv += tmp50.transpose((1, 0, 3, 2)) + rdm2.oovv += tmp50.transpose((1, 0, 2, 3)) * -1 rdm2.oovv += tmp50.transpose((0, 1, 3, 2)) * -1 rdm2.oovv += tmp50 - tmp77 = tmp14.copy() * -1 - tmp77 += t1 - rdm2.oovv += einsum(tmp77, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) - tmp4 = tmp3.copy() - tmp4 += tmp1.transpose((1, 0, 3, 2)) - tmp28 = einsum(t1, (0, 1), tmp4, (0, 2, 3, 4), (2, 3, 4, 1), optimize=True) - tmp76 = einsum(tmp28, (0, 1, 2, 3), t1, (0, 4), (2, 1, 3, 4), optimize=True) - rdm2.oovv += tmp76.transpose((0, 1, 3, 2)) - rdm2.oovv += tmp46.transpose((1, 0, 3, 2)) * 2 - tmp25 = einsum(tmp2, (0, 1, 2, 3), t2, (4, 1, 3, 5), (0, 2, 4, 5), optimize=True) - tmp73 = tmp25.copy() * -1 - tmp73 += tmp15 - tmp74 = einsum(tmp73, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4), optimize=True) - del tmp73 - tmp75 = tmp74.transpose((0, 1, 3, 2)).copy() - del tmp74 - tmp75 += tmp51 - del tmp51 - rdm2.oovv += tmp75.transpose((1, 0, 2, 3)) * -1 - rdm2.oovv += tmp75.transpose((0, 1, 3, 2)) * -1 - rdm2.oovv += tmp65.transpose((1, 0, 3, 2)) * -1 - rdm2.oovv += tmp65 * -1 - tmp72 = einsum(tmp13, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) - tmp70 = tmp20.copy() * -1 - tmp24 = einsum(tmp2, (0, 1, 2, 3), t2, (4, 0, 3, 5), (1, 2, 4, 5), optimize=True) - tmp70 += tmp24 - tmp71 = einsum(tmp70, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4), optimize=True) - del tmp70 - tmp72 += tmp71.transpose((0, 1, 3, 2)) - del tmp71 - tmp72 += tmp52 * -1 - del tmp52 - rdm2.oovv += tmp72.transpose((1, 0, 3, 2)) - rdm2.oovv += tmp72 - rdm2.oovv += einsum(tmp14, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) * -1 - rdm2.oovv += t2.transpose((1, 0, 3, 2)) - rdm2.oovv += tmp58 - rdm2.oovv += tmp57 - tmp69 = einsum(t2, (0, 1, 2, 3), tmp68, (1, 4, 2, 5), (4, 0, 5, 3), optimize=True) - del tmp68 - rdm2.oovv += tmp69.transpose((0, 1, 3, 2)) - tmp67 = einsum(t2, (0, 1, 2, 3), tmp66, (1, 4, 2, 5), (4, 0, 5, 3), optimize=True) - del tmp66 - rdm2.oovv += tmp67 - rdm2.oovv += einsum(tmp77, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) - del tmp77 - rdm2.oovv += tmp76.transpose((0, 1, 3, 2)) - del tmp76 - rdm2.oovv += tmp46.transpose((1, 0, 3, 2)) * 2 - del tmp46 - rdm2.oovv += tmp75.transpose((1, 0, 2, 3)) * -1 - rdm2.oovv += tmp75.transpose((0, 1, 3, 2)) * -1 + rdm2.oovv += tmp50.transpose((1, 0, 3, 2)) + rdm2.oovv += tmp50.transpose((1, 0, 2, 3)) * -1 + rdm2.oovv += tmp50.transpose((0, 1, 3, 2)) * -1 + rdm2.oovv += tmp50 + del tmp50 + tmp76 = tmp44.copy() + del tmp44 + tmp76 += tmp75.transpose((0, 1, 3, 2)) del tmp75 - rdm2.oovv += tmp65.transpose((1, 0, 3, 2)) * -1 - rdm2.oovv += tmp65 * -1 - rdm2.oovv += tmp72.transpose((1, 0, 3, 2)) - rdm2.oovv += tmp72 - del tmp72 - rdm2.oovv += einsum(tmp14, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) * -1 - rdm2.oovv += t2.transpose((1, 0, 3, 2)) - rdm2.oovv += tmp58 + rdm2.oovv += tmp76.transpose((1, 0, 2, 3)) * -1 + rdm2.oovv += tmp76.transpose((0, 1, 3, 2)) * -1 + rdm2.oovv += tmp76.transpose((1, 0, 2, 3)) * -1 + rdm2.oovv += tmp76.transpose((0, 1, 3, 2)) * -1 + del tmp76 + tmp61 = tmp58.copy() del tmp58 + tmp61 += tmp60.transpose((1, 0, 3, 2)) + del tmp60 + rdm2.oovv += tmp61.transpose((0, 1, 3, 2)) * -1 + rdm2.oovv += tmp61 + rdm2.oovv += tmp61.transpose((0, 1, 3, 2)) * -1 + rdm2.oovv += tmp61 + del tmp61 + tmp57 = tmp51.copy() + del tmp51 + tmp57 += tmp53.transpose((1, 0, 3, 2)) * 2 + del tmp53 + tmp57 += tmp56 + del tmp56 + rdm2.oovv += tmp57.transpose((0, 1, 3, 2)) * -1 + rdm2.oovv += tmp57 + rdm2.oovv += tmp57.transpose((0, 1, 3, 2)) * -1 rdm2.oovv += tmp57 del tmp57 - rdm2.oovv += tmp69.transpose((0, 1, 3, 2)) + tmp73 = tmp47.transpose((1, 0, 3, 2)).copy() * -1 + del tmp47 + tmp73 += tmp72.transpose((0, 1, 3, 2)) + del tmp72 + tmp73 += einsum(tmp17, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) + del tmp17 + rdm2.oovv += tmp73.transpose((1, 0, 3, 2)) + rdm2.oovv += tmp73 + rdm2.oovv += tmp73.transpose((1, 0, 3, 2)) + rdm2.oovv += tmp73 + del tmp73 + tmp70 = einsum(tmp69, (0, 1, 2, 3), t2, (4, 0, 2, 5), (4, 1, 5, 3), optimize=True) del tmp69 - rdm2.oovv += tmp67 - del tmp67 - rdm2.oovv += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) - rdm2.oovv += einsum(t1, (0, 1), t1, (2, 3), (2, 0, 1, 3), optimize=True) * -1 - rdm2.oovv += t2.transpose((1, 0, 3, 2)) - rdm2.oovv += t2.transpose((1, 0, 2, 3)) * -1 - rdm2.oovv += tmp65.transpose((1, 0, 3, 2)) * -1 - rdm2.oovv += tmp65.transpose((1, 0, 2, 3)) - rdm2.oovv += tmp65.transpose((0, 1, 3, 2)) - rdm2.oovv += tmp65 * -1 - del tmp65 - rdm2.oovv += tmp60.transpose((0, 1, 3, 2)) * -1 - rdm2.oovv += tmp60 - del tmp60 - rdm2.oovv += tmp56.transpose((1, 0, 3, 2)) - rdm2.oovv += tmp56.transpose((1, 0, 2, 3)) * -1 - rdm2.oovv += tmp56.transpose((0, 1, 3, 2)) * -1 - rdm2.oovv += tmp56 - del tmp56 - rdm2.oovv += tmp50.transpose((0, 1, 3, 2)) * -1 - rdm2.oovv += tmp50 - del tmp50 - rdm2.vooo = tmp2.transpose((3, 2, 1, 0)).copy() - rdm2.vooo += tmp2.transpose((3, 2, 0, 1)) * -1 - rdm2.vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 1, 0, 3), optimize=True) * -1 - rdm2.vooo += einsum(l1, (0, 1), delta.oo, (2, 3), (0, 3, 1, 2), optimize=True) - rdm2.vooo += tmp2.transpose((3, 2, 0, 1)) * -1 - rdm2.vooo += einsum(l1, (0, 1), delta.oo, (2, 3), (0, 3, 1, 2), optimize=True) - rdm2.vooo += tmp2.transpose((3, 2, 0, 1)) * -1 - rdm2.vooo += einsum(l1, (0, 1), delta.oo, (2, 3), (0, 3, 1, 2), optimize=True) - rdm2.vooo += tmp2.transpose((3, 2, 1, 0)) - rdm2.vooo += tmp2.transpose((3, 2, 0, 1)) * -1 - rdm2.vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 1, 0, 3), optimize=True) * -1 - rdm2.vooo += einsum(l1, (0, 1), delta.oo, (2, 3), (0, 3, 1, 2), optimize=True) - rdm2.ovoo = tmp2.transpose((2, 3, 1, 0)).copy() * -1 - rdm2.ovoo += tmp2.transpose((2, 3, 0, 1)) - rdm2.ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (1, 2, 0, 3), optimize=True) - rdm2.ovoo += einsum(l1, (0, 1), delta.oo, (2, 3), (3, 0, 1, 2), optimize=True) * -1 - rdm2.ovoo += tmp2.transpose((2, 3, 1, 0)) * -1 - rdm2.ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (1, 2, 0, 3), optimize=True) - rdm2.ovoo += tmp2.transpose((2, 3, 1, 0)) * -1 - rdm2.ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (1, 2, 0, 3), optimize=True) - rdm2.ovoo += tmp2.transpose((2, 3, 1, 0)) * -1 - rdm2.ovoo += tmp2.transpose((2, 3, 0, 1)) - rdm2.ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (1, 2, 0, 3), optimize=True) - rdm2.ovoo += einsum(l1, (0, 1), delta.oo, (2, 3), (3, 0, 1, 2), optimize=True) * -1 - tmp39 = einsum(tmp6, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) - tmp39 += tmp28.transpose((0, 2, 1, 3)) - tmp39 += tmp15 - rdm2.oovo = tmp39.transpose((2, 1, 3, 0)).copy() - rdm2.oovo += tmp39.transpose((1, 2, 3, 0)) * -1 - tmp38 = tmp20.copy() * -1 - tmp38 += tmp18 - tmp38 += einsum(tmp0, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) - rdm2.oovo += tmp38.transpose((2, 1, 3, 0)) - rdm2.oovo += tmp38.transpose((1, 2, 3, 0)) * -1 - rdm2.oovo += einsum(delta.oo, (0, 1), tmp13, (2, 3), (0, 2, 3, 1), optimize=True) * -1 - rdm2.oovo += einsum(delta.oo, (0, 1), tmp13, (2, 3), (2, 1, 3, 0), optimize=True) - rdm2.oovo += einsum(t1, (0, 1), delta.oo, (2, 3), (3, 0, 1, 2), optimize=True) * -1 - rdm2.oovo += einsum(delta.oo, (0, 1), t1, (2, 3), (2, 1, 3, 0), optimize=True) - tmp32 = einsum(tmp5, (0, 1, 2, 3), l2, (3, 2, 0, 4), (4, 1), optimize=True) - del tmp5 - tmp33 = tmp32.copy() - del tmp32 - tmp33 += tmp0 * 0.5 - tmp34 = einsum(tmp33, (0, 1), t1, (0, 2), (1, 2), optimize=True) * 2 - tmp37 = tmp34.copy() - tmp29 = einsum(t2, (0, 1, 2, 3), tmp8, (1, 0, 4, 3), (4, 2), optimize=True) - del tmp8 - tmp37 += tmp29 - rdm2.oovo += einsum(delta.oo, (0, 1), tmp37, (2, 3), (0, 2, 3, 1), optimize=True) - rdm2.oovo += einsum(delta.oo, (0, 1), tmp37, (2, 3), (2, 1, 3, 0), optimize=True) * -1 - tmp36 = tmp6.copy() - tmp36 += tmp0 - rdm2.oovo += einsum(t1, (0, 1), tmp36, (2, 3), (0, 3, 1, 2), optimize=True) * -1 - tmp41 = einsum(tmp33, (0, 1), t1, (0, 2), (1, 2), optimize=True) - del tmp33 - tmp42 = tmp41.copy() + rdm2.oovv += tmp70.transpose((0, 1, 3, 2)) + rdm2.oovv += tmp70.transpose((0, 1, 3, 2)) + del tmp70 + tmp77 = t1.copy() + tmp77 += tmp15 * -1 + del tmp15 + rdm2.oovv += einsum(tmp77, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) + rdm2.oovv += einsum(tmp77, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) + del tmp77 + tmp43 = t1.copy() * -0.5 + tmp43 += tmp22 + del tmp22 + tmp43 += tmp41 * -1 del tmp41 - tmp30 = t2.transpose((1, 0, 3, 2)).copy() * 2 - tmp30 += t2.transpose((1, 0, 2, 3)) * -1 - tmp40 = einsum(l1, (0, 1), tmp30, (1, 2, 0, 3), (2, 3), optimize=True) * 0.5 - tmp42 += tmp40 * -1 - del tmp40 - tmp42 += tmp9 - del tmp9 - tmp42 += t1 * -0.5 - rdm2.oovo += einsum(delta.oo, (0, 1), tmp42, (2, 3), (2, 1, 3, 0), optimize=True) * -2 - rdm2.oovo += tmp28.transpose((1, 2, 3, 0)) - tmp26 = tmp2.transpose((1, 0, 2, 3)).copy() * -1 - tmp26 += tmp2 * 2 - del tmp2 - tmp27 = einsum(tmp26, (0, 1, 2, 3), t2, (0, 4, 3, 5), (1, 2, 4, 5), optimize=True) - del tmp26 - rdm2.oovo += tmp27.transpose((2, 1, 3, 0)) * -1 - rdm2.oovo += tmp15.transpose((1, 2, 3, 0)) * -1 - rdm2.oovo += tmp24.transpose((2, 1, 3, 0)) - rdm2.oovo += tmp25.transpose((1, 2, 3, 0)) - rdm2.oovo += einsum(t1, (0, 1), tmp36, (2, 3), (0, 3, 1, 2), optimize=True) * -1 - rdm2.oovo += einsum(delta.oo, (0, 1), tmp42, (2, 3), (2, 1, 3, 0), optimize=True) * -2 + tmp43 += tmp42 del tmp42 - rdm2.oovo += tmp28.transpose((1, 2, 3, 0)) - rdm2.oovo += tmp27.transpose((2, 1, 3, 0)) * -1 - rdm2.oovo += tmp15.transpose((1, 2, 3, 0)) * -1 - rdm2.oovo += tmp24.transpose((2, 1, 3, 0)) - rdm2.oovo += tmp25.transpose((1, 2, 3, 0)) + rdm2.oovo += einsum(tmp43, (0, 1), delta.oo, (2, 3), (0, 3, 1, 2), optimize=True) * -2 + rdm2.oovo += einsum(tmp43, (0, 1), delta.oo, (2, 3), (0, 3, 1, 2), optimize=True) * -2 + del tmp43 + tmp39 = einsum(t1, (0, 1), tmp2, (2, 3), (2, 0, 3, 1), optimize=True) + tmp39 += tmp11 + tmp39 += tmp13 * -1 + rdm2.oovo += tmp39.transpose((2, 1, 3, 0)) + rdm2.oovo += tmp39.transpose((1, 2, 3, 0)) * -1 rdm2.oovo += tmp39.transpose((2, 1, 3, 0)) rdm2.oovo += tmp39.transpose((1, 2, 3, 0)) * -1 del tmp39 + tmp37 = tmp2.copy() + tmp37 += tmp1 + rdm2.oovo += einsum(tmp37, (0, 1), t1, (2, 3), (2, 1, 3, 0), optimize=True) * -1 + rdm2.oovo += einsum(tmp37, (0, 1), t1, (2, 3), (2, 1, 3, 0), optimize=True) * -1 + rdm2.ooov += einsum(tmp37, (0, 1), t1, (2, 3), (1, 2, 0, 3), optimize=True) * -1 + rdm2.ooov += einsum(tmp37, (0, 1), t1, (2, 3), (1, 2, 0, 3), optimize=True) * -1 + del tmp37 + tmp38 = tmp8.copy() + tmp38 += tmp29.transpose((0, 2, 1, 3)) + del tmp29 + tmp38 += einsum(tmp1, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) + rdm2.oovo += tmp38.transpose((2, 1, 3, 0)) + rdm2.oovo += tmp38.transpose((1, 2, 3, 0)) * -1 rdm2.oovo += tmp38.transpose((2, 1, 3, 0)) rdm2.oovo += tmp38.transpose((1, 2, 3, 0)) * -1 del tmp38 - rdm2.oovo += einsum(delta.oo, (0, 1), tmp13, (2, 3), (0, 2, 3, 1), optimize=True) * -1 - rdm2.oovo += einsum(delta.oo, (0, 1), tmp13, (2, 3), (2, 1, 3, 0), optimize=True) - rdm2.oovo += einsum(t1, (0, 1), delta.oo, (2, 3), (3, 0, 1, 2), optimize=True) * -1 - rdm2.oovo += einsum(delta.oo, (0, 1), t1, (2, 3), (2, 1, 3, 0), optimize=True) - rdm2.oovo += einsum(delta.oo, (0, 1), tmp37, (2, 3), (0, 2, 3, 1), optimize=True) - rdm2.oovo += einsum(delta.oo, (0, 1), tmp37, (2, 3), (2, 1, 3, 0), optimize=True) * -1 - del tmp37 - rdm2.ooov = einsum(tmp0, (0, 1), t1, (2, 3), (1, 2, 0, 3), optimize=True) * -1 - rdm2.ooov += einsum(tmp0, (0, 1), t1, (2, 3), (2, 1, 0, 3), optimize=True) - tmp23 = einsum(tmp6, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) - tmp23 += tmp22 - del tmp22 - rdm2.ooov += tmp23.transpose((2, 1, 0, 3)) * -1 - rdm2.ooov += tmp23.transpose((1, 2, 0, 3)) - tmp21 = tmp20.copy() * -1 + tmp40 = tmp30.copy() + tmp40 += tmp35 + rdm2.oovo += einsum(delta.oo, (0, 1), tmp40, (2, 3), (0, 2, 3, 1), optimize=True) + rdm2.oovo += einsum(tmp40, (0, 1), delta.oo, (2, 3), (0, 3, 1, 2), optimize=True) * -1 + rdm2.oovo += einsum(delta.oo, (0, 1), tmp40, (2, 3), (0, 2, 3, 1), optimize=True) + rdm2.oovo += einsum(tmp40, (0, 1), delta.oo, (2, 3), (0, 3, 1, 2), optimize=True) * -1 + del tmp40 + tmp20 = tmp19.copy() + del tmp19 + tmp20 += einsum(tmp1, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) + del tmp1 + rdm2.ooov += tmp20.transpose((2, 1, 0, 3)) * -1 + rdm2.ooov += tmp20.transpose((1, 2, 0, 3)) + rdm2.ooov += tmp20.transpose((2, 1, 0, 3)) * -1 + rdm2.ooov += tmp20.transpose((1, 2, 0, 3)) del tmp20 - tmp21 += tmp18 - del tmp18 - tmp21 += tmp16 - del tmp16 - tmp21 += tmp15 - rdm2.ooov += tmp21.transpose((2, 1, 0, 3)) * -1 - rdm2.ooov += tmp21.transpose((1, 2, 0, 3)) - rdm2.ooov += einsum(delta.oo, (0, 1), tmp14, (2, 3), (0, 2, 1, 3), optimize=True) * -1 - rdm2.ooov += einsum(delta.oo, (0, 1), tmp14, (2, 3), (2, 1, 0, 3), optimize=True) - rdm2.ooov += einsum(delta.oo, (0, 1), tmp13, (2, 3), (0, 2, 1, 3), optimize=True) - rdm2.ooov += einsum(delta.oo, (0, 1), tmp13, (2, 3), (2, 1, 0, 3), optimize=True) * -1 - rdm2.ooov += einsum(t1, (0, 1), delta.oo, (2, 3), (3, 0, 2, 1), optimize=True) - rdm2.ooov += einsum(delta.oo, (0, 1), t1, (2, 3), (2, 1, 0, 3), optimize=True) * -1 - rdm2.ooov += einsum(delta.oo, (0, 1), tmp11, (2, 3), (0, 2, 1, 3), optimize=True) * -2 - rdm2.ooov += einsum(delta.oo, (0, 1), tmp11, (2, 3), (2, 1, 0, 3), optimize=True) * 2 - rdm2.ooov += einsum(tmp36, (0, 1), t1, (2, 3), (1, 2, 0, 3), optimize=True) * -1 - tmp35 = tmp34.copy() - del tmp34 - tmp31 = einsum(l1, (0, 1), tmp30, (1, 2, 0, 3), (2, 3), optimize=True) + tmp14 = tmp8.copy() + del tmp8 + tmp14 += tmp9 + del tmp9 + tmp14 += tmp11 + del tmp11 + tmp14 += tmp13 * -1 + del tmp13 + rdm2.ooov += tmp14.transpose((2, 1, 0, 3)) * -1 + rdm2.ooov += tmp14.transpose((1, 2, 0, 3)) + rdm2.ooov += tmp14.transpose((2, 1, 0, 3)) * -1 + rdm2.ooov += tmp14.transpose((1, 2, 0, 3)) + del tmp14 + tmp28 = einsum(tmp27, (0, 1, 2, 3), t2, (0, 4, 3, 5), (1, 2, 4, 5), optimize=True) + del tmp27 + rdm2.ooov += tmp28.transpose((1, 2, 0, 3)) * -1 + rdm2.ooov += tmp28.transpose((1, 2, 0, 3)) * -1 + del tmp28 + tmp36 = t1.copy() * -1 + tmp36 += tmp30 del tmp30 - tmp35 += tmp31 * -1 - del tmp31 - tmp35 += tmp29 - del tmp29 - tmp35 += t1 * -1 - rdm2.ooov += einsum(tmp35, (0, 1), delta.oo, (2, 3), (3, 0, 2, 1), optimize=True) * -1 - rdm2.ooov += tmp28.transpose((2, 1, 0, 3)) - rdm2.ooov += tmp27.transpose((1, 2, 0, 3)) * -1 - rdm2.ooov += tmp15.transpose((2, 1, 0, 3)) * -1 - rdm2.ooov += tmp25.transpose((2, 1, 0, 3)) - rdm2.ooov += tmp24.transpose((1, 2, 0, 3)) - rdm2.ooov += einsum(tmp36, (0, 1), t1, (2, 3), (1, 2, 0, 3), optimize=True) * -1 - del tmp36 - rdm2.ooov += einsum(tmp35, (0, 1), delta.oo, (2, 3), (3, 0, 2, 1), optimize=True) * -1 + tmp36 += tmp32 * -1 + del tmp32 + tmp36 += tmp35 del tmp35 - rdm2.ooov += tmp28.transpose((2, 1, 0, 3)) - del tmp28 - rdm2.ooov += tmp27.transpose((1, 2, 0, 3)) * -1 - del tmp27 - rdm2.ooov += tmp15.transpose((2, 1, 0, 3)) * -1 - del tmp15 - rdm2.ooov += tmp25.transpose((2, 1, 0, 3)) - del tmp25 - rdm2.ooov += tmp24.transpose((1, 2, 0, 3)) - del tmp24 - rdm2.ooov += einsum(tmp0, (0, 1), t1, (2, 3), (1, 2, 0, 3), optimize=True) * -1 - rdm2.ooov += einsum(tmp0, (0, 1), t1, (2, 3), (2, 1, 0, 3), optimize=True) - rdm2.ooov += tmp23.transpose((2, 1, 0, 3)) * -1 - rdm2.ooov += tmp23.transpose((1, 2, 0, 3)) - del tmp23 - rdm2.ooov += tmp21.transpose((2, 1, 0, 3)) * -1 - rdm2.ooov += tmp21.transpose((1, 2, 0, 3)) - del tmp21 - rdm2.ooov += einsum(delta.oo, (0, 1), tmp14, (2, 3), (0, 2, 1, 3), optimize=True) * -1 - rdm2.ooov += einsum(delta.oo, (0, 1), tmp14, (2, 3), (2, 1, 0, 3), optimize=True) - del tmp14 - rdm2.ooov += einsum(delta.oo, (0, 1), tmp13, (2, 3), (0, 2, 1, 3), optimize=True) - rdm2.ooov += einsum(delta.oo, (0, 1), tmp13, (2, 3), (2, 1, 0, 3), optimize=True) * -1 - del tmp13 - rdm2.ooov += einsum(t1, (0, 1), delta.oo, (2, 3), (3, 0, 2, 1), optimize=True) - rdm2.ooov += einsum(delta.oo, (0, 1), t1, (2, 3), (2, 1, 0, 3), optimize=True) * -1 - rdm2.ooov += einsum(delta.oo, (0, 1), tmp11, (2, 3), (0, 2, 1, 3), optimize=True) * -2 - rdm2.ooov += einsum(delta.oo, (0, 1), tmp11, (2, 3), (2, 1, 0, 3), optimize=True) * 2 - del tmp11 - rdm2.oooo = einsum(delta.oo, (0, 1), tmp6, (2, 3), (0, 3, 1, 2), optimize=True) * -1 - rdm2.oooo += einsum(tmp6, (0, 1), delta.oo, (2, 3), (1, 3, 2, 0), optimize=True) - rdm2.oooo += einsum(tmp6, (0, 1), delta.oo, (2, 3), (2, 1, 0, 3), optimize=True) - rdm2.oooo += einsum(tmp6, (0, 1), delta.oo, (2, 3), (1, 3, 0, 2), optimize=True) * -1 - rdm2.oooo += tmp4.transpose((2, 3, 0, 1)) - rdm2.oooo += tmp4.transpose((3, 2, 0, 1)) * -1 - rdm2.oooo += einsum(tmp0, (0, 1), delta.oo, (2, 3), (3, 1, 2, 0), optimize=True) * -1 - rdm2.oooo += einsum(delta.oo, (0, 1), tmp0, (2, 3), (3, 1, 0, 2), optimize=True) - rdm2.oooo += einsum(tmp0, (0, 1), delta.oo, (2, 3), (3, 1, 0, 2), optimize=True) - rdm2.oooo += einsum(tmp0, (0, 1), delta.oo, (2, 3), (1, 3, 0, 2), optimize=True) * -1 - rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (3, 0, 1, 2), optimize=True) * -1 - rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (3, 1, 2, 0), optimize=True) - tmp7 = tmp0.copy() * -1 - tmp7 += delta.oo.transpose((1, 0)) + rdm2.ooov += einsum(delta.oo, (0, 1), tmp36, (2, 3), (1, 2, 0, 3), optimize=True) * -1 + rdm2.ooov += einsum(delta.oo, (0, 1), tmp36, (2, 3), (1, 2, 0, 3), optimize=True) * -1 + del tmp36 + tmp7 = delta.oo.transpose((1, 0)).copy() + tmp7 += tmp2 * -1 + del tmp2 rdm2.oooo += einsum(tmp7, (0, 1), delta.oo, (2, 3), (1, 3, 0, 2), optimize=True) - rdm2.oooo += einsum(delta.oo, (0, 1), tmp6, (2, 3), (0, 3, 1, 2), optimize=True) * -1 - rdm2.oooo += einsum(tmp6, (0, 1), delta.oo, (2, 3), (1, 3, 0, 2), optimize=True) * -1 - rdm2.oooo += tmp3.transpose((3, 2, 1, 0)) - rdm2.oooo += tmp1.transpose((3, 2, 1, 0)) - rdm2.oooo += einsum(tmp0, (0, 1), delta.oo, (2, 3), (3, 1, 2, 0), optimize=True) * -1 rdm2.oooo += einsum(tmp7, (0, 1), delta.oo, (2, 3), (1, 3, 0, 2), optimize=True) del tmp7 - rdm2.oooo += einsum(delta.oo, (0, 1), tmp6, (2, 3), (0, 3, 1, 2), optimize=True) * -1 - rdm2.oooo += einsum(tmp6, (0, 1), delta.oo, (2, 3), (1, 3, 0, 2), optimize=True) * -1 - rdm2.oooo += tmp3.transpose((3, 2, 1, 0)) - del tmp3 - rdm2.oooo += tmp1.transpose((3, 2, 1, 0)) - del tmp1 - rdm2.oooo += einsum(tmp0, (0, 1), delta.oo, (2, 3), (3, 1, 2, 0), optimize=True) * -1 - rdm2.oooo += einsum(delta.oo, (0, 1), tmp6, (2, 3), (0, 3, 1, 2), optimize=True) * -1 - rdm2.oooo += einsum(tmp6, (0, 1), delta.oo, (2, 3), (1, 3, 2, 0), optimize=True) - rdm2.oooo += einsum(tmp6, (0, 1), delta.oo, (2, 3), (2, 1, 0, 3), optimize=True) - rdm2.oooo += einsum(tmp6, (0, 1), delta.oo, (2, 3), (1, 3, 0, 2), optimize=True) * -1 - del tmp6 - rdm2.oooo += tmp4.transpose((2, 3, 0, 1)) - rdm2.oooo += tmp4.transpose((3, 2, 0, 1)) * -1 - del tmp4 - rdm2.oooo += einsum(tmp0, (0, 1), delta.oo, (2, 3), (3, 1, 2, 0), optimize=True) * -1 - rdm2.oooo += einsum(delta.oo, (0, 1), tmp0, (2, 3), (3, 1, 0, 2), optimize=True) - rdm2.oooo += einsum(tmp0, (0, 1), delta.oo, (2, 3), (3, 1, 0, 2), optimize=True) - rdm2.oooo += einsum(tmp0, (0, 1), delta.oo, (2, 3), (1, 3, 0, 2), optimize=True) * -1 - del tmp0 + rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (3, 1, 2, 0), optimize=True) rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (3, 0, 1, 2), optimize=True) * -1 rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (3, 1, 2, 0), optimize=True) + rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (3, 0, 1, 2), optimize=True) * -1 + rdm2.ooov += einsum(delta.oo, (0, 1), t1, (2, 3), (2, 1, 0, 3), optimize=True) * -1 + rdm2.ooov += einsum(delta.oo, (0, 1), t1, (2, 3), (1, 2, 0, 3), optimize=True) + rdm2.ooov += einsum(delta.oo, (0, 1), t1, (2, 3), (2, 1, 0, 3), optimize=True) * -1 + rdm2.ooov += einsum(delta.oo, (0, 1), t1, (2, 3), (1, 2, 0, 3), optimize=True) + rdm2.oovo += einsum(delta.oo, (0, 1), t1, (2, 3), (2, 1, 3, 0), optimize=True) + rdm2.oovo += einsum(delta.oo, (0, 1), t1, (2, 3), (1, 2, 3, 0), optimize=True) * -1 + rdm2.oovo += einsum(delta.oo, (0, 1), t1, (2, 3), (2, 1, 3, 0), optimize=True) + rdm2.oovo += einsum(delta.oo, (0, 1), t1, (2, 3), (1, 2, 3, 0), optimize=True) * -1 + rdm2.ovoo += einsum(l1, (0, 1), delta.oo, (2, 3), (3, 0, 1, 2), optimize=True) * -1 + rdm2.ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (1, 2, 0, 3), optimize=True) + rdm2.ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (1, 2, 0, 3), optimize=True) + rdm2.ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (1, 2, 0, 3), optimize=True) + rdm2.ovoo += einsum(l1, (0, 1), delta.oo, (2, 3), (3, 0, 1, 2), optimize=True) * -1 + rdm2.ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (1, 2, 0, 3), optimize=True) + rdm2.vooo += einsum(l1, (0, 1), delta.oo, (2, 3), (0, 3, 1, 2), optimize=True) + rdm2.vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 1, 0, 3), optimize=True) * -1 + rdm2.vooo += einsum(l1, (0, 1), delta.oo, (2, 3), (0, 3, 1, 2), optimize=True) + rdm2.vooo += einsum(l1, (0, 1), delta.oo, (2, 3), (0, 3, 1, 2), optimize=True) + rdm2.vooo += einsum(l1, (0, 1), delta.oo, (2, 3), (0, 3, 1, 2), optimize=True) + rdm2.vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 1, 0, 3), optimize=True) * -1 del delta + rdm2.oovv += t2.transpose((1, 0, 2, 3)) * -1 + rdm2.oovv += t2.transpose((1, 0, 3, 2)) + rdm2.oovv += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 3, 1), optimize=True) * -1 + rdm2.oovv += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) + rdm2.oovv += t2.transpose((1, 0, 3, 2)) + rdm2.oovv += t2.transpose((1, 0, 3, 2)) + rdm2.oovv += t2.transpose((1, 0, 2, 3)) * -1 + rdm2.oovv += t2.transpose((1, 0, 3, 2)) + rdm2.oovv += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 3, 1), optimize=True) * -1 + rdm2.oovv += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) + rdm2.ovov += einsum(l1, (0, 1), t1, (2, 3), (2, 0, 1, 3), optimize=True) * -1 + rdm2.ovov += einsum(l1, (0, 1), t1, (2, 3), (2, 0, 1, 3), optimize=True) * -1 + rdm2.ovvo += einsum(l1, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) + rdm2.ovvo += einsum(l1, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) + rdm2.ovvo += einsum(l1, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) + rdm2.ovvo += einsum(l1, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) + rdm2.voov += einsum(l1, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) + rdm2.voov += einsum(l1, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) + rdm2.voov += einsum(l1, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) + rdm2.voov += einsum(l1, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) + rdm2.vovo += einsum(l1, (0, 1), t1, (2, 3), (0, 2, 3, 1), optimize=True) * -1 + rdm2.vovo += einsum(l1, (0, 1), t1, (2, 3), (0, 2, 3, 1), optimize=True) * -1 + rdm2.vvoo = l2.transpose((0, 1, 3, 2)).copy() * -1 + rdm2.vvoo += l2.transpose((1, 0, 3, 2)) + rdm2.vvoo += l2.transpose((1, 0, 3, 2)) + rdm2.vvoo += l2.transpose((1, 0, 3, 2)) + rdm2.vvoo += l2.transpose((0, 1, 3, 2)) * -1 + rdm2.vvoo += l2.transpose((1, 0, 3, 2)) rdm2 = pack_2e(rdm2.oooo, rdm2.ooov, rdm2.oovo, rdm2.ovoo, rdm2.vooo, rdm2.oovv, rdm2.ovov, rdm2.ovvo, rdm2.voov, rdm2.vovo, rdm2.vvoo, rdm2.ovvv, rdm2.vovv, rdm2.vvov, rdm2.vvvo, rdm2.vvvv) rdm2 = rdm2.swapaxes(1, 2) diff --git a/ebcc/codegen/RDFCCD.py b/ebcc/codegen/RDFCCD.py new file mode 100644 index 00000000..5d0fba71 --- /dev/null +++ b/ebcc/codegen/RDFCCD.py @@ -0,0 +1,534 @@ +""" +Code generated by `albert`: +https://github.com/obackhouse/albert + + * date: 2024-07-18T20:30:30.323303 + * python version: 3.10.12 (main, Mar 22 2024, 16:50:05) [GCC 11.4.0] + * albert version: 0.0.0 + * caller: /home/ollie/git/albert/albert/codegen/einsum.py + * node: ollie-desktop + * system: Linux + * processor: x86_64 + * release: 6.5.0-44-generic +""" + +from ebcc import numpy as np +from ebcc.util import pack_2e, einsum, direct_sum, Namespace + + +def energy(t2=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-07-18T20:30:30.670233. + + Parameters + ---------- + t2 : array + T2 amplitudes. + v : array + Electron repulsion integrals. + + Returns + ------- + e_cc : float + Coupled cluster energy. + """ + + tmp0 = t2.transpose((1, 0, 2, 3)).copy() * -1 + tmp0 += t2.transpose((1, 0, 3, 2)) * 2 + tmp1 = einsum(v.xov, (0, 1, 2), tmp0, (1, 3, 2, 4), (3, 4, 0), optimize=True) * 0.5 + del tmp0 + e_cc = einsum(tmp1, (0, 1, 2), v.xov, (2, 0, 1), (), optimize=True) * 2 + del tmp1 + + return e_cc + +def update_amps(f=None, t2=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-07-18T20:30:34.113854. + + Parameters + ---------- + f : array + Fock matrix. + t2 : array + T2 amplitudes. + v : array + Electron repulsion integrals. + + Returns + ------- + t2new : array + Updated T2 residuals. + """ + + tmp0 = einsum(t2, (0, 1, 2, 3), v.xov, (4, 1, 2), (0, 3, 4), optimize=True) + t2new = einsum(tmp0, (0, 1, 2), tmp0, (3, 4, 2), (3, 0, 4, 1), optimize=True) + tmp11 = t2.transpose((1, 0, 2, 3)).copy() * -1 + tmp11 += t2.transpose((1, 0, 3, 2)) * 2 + tmp1 = einsum(v.xov, (0, 1, 2), v.xov, (0, 3, 4), (3, 1, 4, 2), optimize=True) + t2new += tmp1.transpose((1, 0, 3, 2)) + tmp6 = v.xov.transpose((1, 2, 0)).copy() + tmp6 += tmp0 * -1 + tmp12 = einsum(tmp11, (0, 1, 2, 3), v.xov, (4, 0, 2), (1, 3, 4), optimize=True) + del tmp11 + tmp5 = einsum(v.xvv, (0, 1, 2), v.xoo, (0, 3, 4), (3, 4, 1, 2), optimize=True) + tmp2 = einsum(tmp1, (0, 1, 2, 3), t2, (4, 0, 3, 5), (4, 1, 5, 2), optimize=True) + t2new += einsum(t2, (0, 1, 2, 3), tmp2, (4, 1, 5, 2), (4, 0, 3, 5), optimize=True) + tmp7 = einsum(tmp6, (0, 1, 2), v.xov, (2, 3, 4), (3, 0, 4, 1), optimize=True) + del tmp6 + tmp13 = einsum(v.xov, (0, 1, 2), tmp12, (1, 3, 0), (2, 3), optimize=True) * 0.5 + tmp15 = einsum(tmp12, (0, 1, 2), v.xov, (2, 3, 1), (3, 0), optimize=True) + del tmp12 + tmp8 = tmp5.transpose((1, 0, 3, 2)).copy() + tmp8 += tmp2 * -1 + del tmp2 + tmp8 += tmp7.transpose((1, 0, 3, 2)) * -2 + del tmp7 + tmp14 = einsum(tmp13, (0, 1), t2, (2, 3, 0, 4), (2, 3, 4, 1), optimize=True) * 2 + del tmp13 + tmp16 = einsum(t2, (0, 1, 2, 3), tmp15, (0, 4), (1, 4, 2, 3), optimize=True) + del tmp15 + tmp4 = einsum(v.xov, (0, 1, 2), tmp0, (3, 4, 0), (3, 1, 4, 2), optimize=True) + del tmp0 + tmp9 = einsum(tmp8, (0, 1, 2, 3), t2, (1, 4, 3, 5), (4, 0, 5, 2), optimize=True) + del tmp8 + tmp23 = tmp1.transpose((1, 0, 2, 3)).copy() * 2 + tmp23 += tmp1.transpose((1, 0, 3, 2)) * -1 + tmp19 = einsum(tmp5, (0, 1, 2, 3), t2, (4, 1, 3, 5), (4, 0, 5, 2), optimize=True) + del tmp5 + tmp18 = einsum(t2, (0, 1, 2, 3), f.vv, (4, 2), (1, 0, 4, 3), optimize=True) + tmp17 = tmp14.transpose((1, 0, 2, 3)).copy() + del tmp14 + tmp17 += tmp16.transpose((0, 1, 3, 2)) + del tmp16 + t2new += tmp17.transpose((1, 0, 3, 2)) * -1 + t2new += tmp17 * -1 + del tmp17 + tmp10 = tmp4.copy() + del tmp4 + tmp10 += tmp9 + del tmp9 + t2new += tmp10.transpose((1, 0, 3, 2)) * -1 + t2new += tmp10 * -1 + del tmp10 + tmp24 = einsum(tmp23, (0, 1, 2, 3), t2, (0, 4, 3, 5), (4, 1, 5, 2), optimize=True) + del tmp23 + t2new += einsum(tmp24, (0, 1, 2, 3), t2, (1, 4, 3, 5), (0, 4, 2, 5), optimize=True) * 2 + del tmp24 + tmp3 = einsum(v.xvv, (0, 1, 2), v.xvv, (0, 3, 4), (3, 2, 1, 4), optimize=True) + t2new += einsum(tmp3, (0, 1, 2, 3), t2, (4, 5, 3, 1), (4, 5, 0, 2), optimize=True) + del tmp3 + tmp22 = einsum(v.xoo, (0, 1, 2), v.xoo, (0, 3, 4), (4, 1, 2, 3), optimize=True) + tmp22 += einsum(t2, (0, 1, 2, 3), tmp1, (4, 5, 2, 3), (4, 1, 5, 0), optimize=True) + del tmp1 + t2new += einsum(tmp22, (0, 1, 2, 3), t2, (0, 2, 4, 5), (1, 3, 5, 4), optimize=True) + del tmp22 + tmp20 = tmp18.copy() + del tmp18 + tmp20 += tmp19 * -1 + del tmp19 + t2new += tmp20.transpose((1, 0, 2, 3)) + t2new += tmp20.transpose((0, 1, 3, 2)) + del tmp20 + tmp21 = einsum(t2, (0, 1, 2, 3), f.oo, (4, 1), (4, 0, 2, 3), optimize=True) + t2new += tmp21.transpose((1, 0, 2, 3)) * -1 + t2new += tmp21.transpose((0, 1, 3, 2)) * -1 + del tmp21 + + return {f"t2new": t2new} + +def update_lams(f=None, l2=None, t2=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-07-18T20:30:39.075372. + + Parameters + ---------- + f : array + Fock matrix. + l2 : array + L2 amplitudes. + t2 : array + T2 amplitudes. + v : array + Electron repulsion integrals. + + Returns + ------- + l2new : array + Updated L2 residuals. + """ + + tmp12 = t2.transpose((1, 0, 2, 3)).copy() * -1 + tmp12 += t2.transpose((1, 0, 3, 2)) * 2 + tmp24 = t2.transpose((1, 0, 2, 3)).copy() * -0.5 + tmp24 += t2.transpose((1, 0, 3, 2)) + tmp32 = t2.transpose((1, 0, 2, 3)).copy() * -1 + tmp32 += t2.transpose((1, 0, 3, 2)) * 2 + tmp13 = einsum(tmp12, (0, 1, 2, 3), v.xov, (4, 0, 2), (1, 3, 4), optimize=True) + del tmp12 + tmp8 = l2.transpose((3, 2, 0, 1)).copy() * 2 + tmp8 += l2.transpose((3, 2, 1, 0)) * -1 + tmp1 = einsum(v.xov, (0, 1, 2), v.xov, (0, 3, 4), (3, 1, 4, 2), optimize=True) + l2new = tmp1.transpose((3, 2, 1, 0)).copy() + tmp25 = einsum(l2, (0, 1, 2, 3), tmp24, (2, 4, 0, 1), (3, 4), optimize=True) * 2 + tmp28 = einsum(l2, (0, 1, 2, 3), tmp24, (2, 3, 4, 1), (0, 4), optimize=True) * 2 + del tmp24 + tmp33 = einsum(tmp32, (0, 1, 2, 3), v.xov, (4, 0, 2), (1, 3, 4), optimize=True) + del tmp32 + tmp14 = v.xov.transpose((1, 2, 0)).copy() + tmp14 += tmp13 + del tmp13 + tmp15 = l2.transpose((3, 2, 0, 1)).copy() * -1 + tmp15 += l2.transpose((3, 2, 1, 0)) * 2 + tmp9 = einsum(tmp8, (0, 1, 2, 3), t2, (0, 4, 3, 5), (4, 1, 5, 2), optimize=True) + del tmp8 + tmp7 = einsum(t2, (0, 1, 2, 3), l2, (4, 3, 5, 0), (5, 1, 4, 2), optimize=True) + tmp20 = einsum(tmp1, (0, 1, 2, 3), t2, (4, 1, 2, 5), (4, 0, 5, 3), optimize=True) + tmp5 = einsum(v.xvv, (0, 1, 2), v.xoo, (0, 3, 4), (3, 4, 1, 2), optimize=True) + tmp26 = einsum(tmp25, (0, 1), v.xov, (2, 1, 3), (0, 3, 2), optimize=True) * 0.5 + del tmp25 + tmp29 = einsum(tmp28, (0, 1), v.xov, (2, 3, 1), (3, 0, 2), optimize=True) + del tmp28 + tmp34 = einsum(v.xov, (0, 1, 2), tmp33, (1, 3, 0), (2, 3), optimize=True) * 0.5 + tmp36 = einsum(tmp33, (0, 1, 2), v.xov, (2, 3, 1), (3, 0), optimize=True) + del tmp33 + tmp16 = einsum(tmp14, (0, 1, 2), tmp15, (0, 3, 1, 4), (3, 4, 2), optimize=True) + del tmp14, tmp15 + tmp10 = tmp7.copy() + del tmp7 + tmp10 += tmp9.transpose((1, 0, 3, 2)) * -1 + del tmp9 + tmp21 = tmp5.transpose((1, 0, 3, 2)).copy() * -1 + tmp21 += tmp20 + del tmp20 + tmp27 = einsum(tmp26, (0, 1, 2), v.xov, (2, 3, 4), (3, 0, 4, 1), optimize=True) * 2 + del tmp26 + tmp30 = einsum(tmp29, (0, 1, 2), v.xov, (2, 3, 4), (3, 0, 4, 1), optimize=True) + del tmp29 + tmp35 = einsum(tmp34, (0, 1), l2, (1, 2, 3, 4), (3, 4, 2, 0), optimize=True) * 2 + del tmp34 + tmp37 = einsum(l2, (0, 1, 2, 3), tmp36, (4, 2), (4, 3, 0, 1), optimize=True) + del tmp36 + tmp17 = einsum(tmp16, (0, 1, 2), v.xov, (2, 3, 4), (3, 0, 4, 1), optimize=True) + del tmp16 + tmp6 = einsum(tmp5, (0, 1, 2, 3), l2, (4, 3, 5, 1), (5, 0, 4, 2), optimize=True) + del tmp5 + tmp11 = einsum(tmp1, (0, 1, 2, 3), tmp10, (4, 0, 5, 3), (1, 4, 2, 5), optimize=True) + del tmp10 + tmp19 = einsum(l2, (0, 1, 2, 3), f.vv, (4, 0), (3, 2, 4, 1), optimize=True) + tmp22 = einsum(l2, (0, 1, 2, 3), tmp21, (2, 4, 1, 5), (3, 4, 0, 5), optimize=True) + del tmp21 + tmp31 = tmp27.transpose((1, 0, 2, 3)).copy() + del tmp27 + tmp31 += tmp30.transpose((0, 1, 3, 2)) + del tmp30 + l2new += tmp31.transpose((2, 3, 1, 0)) * -1 + l2new += tmp31.transpose((3, 2, 0, 1)) * -1 + del tmp31 + tmp38 = tmp35.transpose((1, 0, 2, 3)).copy() + del tmp35 + tmp38 += tmp37.transpose((1, 0, 3, 2)) + del tmp37 + l2new += tmp38.transpose((3, 2, 1, 0)) * -1 + l2new += tmp38.transpose((2, 3, 0, 1)) * -1 + del tmp38 + tmp3 = einsum(tmp1, (0, 1, 2, 3), t2, (4, 5, 3, 2), (5, 4, 0, 1), optimize=True) + l2new += einsum(tmp3, (0, 1, 2, 3), l2, (4, 5, 1, 0), (5, 4, 2, 3), optimize=True) + del tmp3 + tmp2 = einsum(l2, (0, 1, 2, 3), t2, (4, 5, 0, 1), (2, 3, 4, 5), optimize=True) + l2new += einsum(tmp2, (0, 1, 2, 3), tmp1, (2, 3, 4, 5), (5, 4, 1, 0), optimize=True) + del tmp1, tmp2 + tmp39 = einsum(f.oo, (0, 1), l2, (2, 3, 4, 1), (0, 4, 2, 3), optimize=True) + l2new += tmp39.transpose((2, 3, 1, 0)) * -1 + l2new += tmp39.transpose((3, 2, 0, 1)) * -1 + del tmp39 + tmp4 = einsum(v.xvv, (0, 1, 2), v.xvv, (0, 3, 4), (3, 2, 1, 4), optimize=True) + l2new += einsum(l2, (0, 1, 2, 3), tmp4, (4, 1, 5, 0), (5, 4, 3, 2), optimize=True) + del tmp4 + tmp18 = tmp6.copy() + del tmp6 + tmp18 += tmp11.transpose((1, 0, 3, 2)) * -1 + del tmp11 + tmp18 += tmp17.transpose((1, 0, 3, 2)) * -1 + del tmp17 + l2new += tmp18.transpose((3, 2, 1, 0)) * -1 + l2new += tmp18.transpose((2, 3, 0, 1)) * -1 + del tmp18 + tmp23 = tmp19.copy() + del tmp19 + tmp23 += tmp22 + del tmp22 + l2new += tmp23.transpose((2, 3, 1, 0)) + l2new += tmp23.transpose((3, 2, 0, 1)) + del tmp23 + tmp0 = einsum(v.xoo, (0, 1, 2), v.xoo, (0, 3, 4), (1, 4, 3, 2), optimize=True) + l2new += einsum(tmp0, (0, 1, 2, 3), l2, (4, 5, 3, 1), (4, 5, 0, 2), optimize=True) + del tmp0 + + return {f"l2new": l2new} + +def make_rdm1_f(l2=None, t2=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-07-18T20:30:39.392217. + + Parameters + ---------- + l2 : array + L2 amplitudes. + t2 : array + T2 amplitudes. + + Returns + ------- + rdm1 : array + One-particle reduced density matrix. + """ + + rdm1 = Namespace() + delta = Namespace( + oo=np.eye(t2.shape[0]), + vv=np.eye(t2.shape[-1]), + ) + tmp1 = t2.transpose((1, 0, 2, 3)).copy() + tmp1 += t2.transpose((1, 0, 3, 2)) * -0.5 + rdm1.vv = einsum(tmp1, (0, 1, 2, 3), l2, (3, 4, 0, 1), (4, 2), optimize=True) * 4 + del tmp1 + tmp0 = t2.transpose((1, 0, 2, 3)).copy() * -0.5 + tmp0 += t2.transpose((1, 0, 3, 2)) + rdm1.oo = einsum(l2, (0, 1, 2, 3), tmp0, (2, 4, 0, 1), (4, 3), optimize=True) * -4 + del tmp0 + rdm1.oo += delta.oo.transpose((1, 0)) * 2 + del delta + rdm1.ov = np.zeros((t2.shape[0], t2.shape[-1])) + rdm1.vo = np.zeros((t2.shape[-1], t2.shape[0])) + rdm1 = np.block([[rdm1.oo, rdm1.ov], [rdm1.vo, rdm1.vv]]) + + return rdm1 + +def make_rdm2_f(l2=None, t2=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-07-18T20:30:50.605518. + + Parameters + ---------- + l2 : array + L2 amplitudes. + t2 : array + T2 amplitudes. + + Returns + ------- + rdm2 : array + Two-particle reduced density matrix. + """ + + rdm2 = Namespace() + delta = Namespace( + oo=np.eye(t2.shape[0]), + vv=np.eye(t2.shape[-1]), + ) + tmp3 = l2.transpose((3, 2, 0, 1)).copy() * 2 + tmp3 += l2.transpose((3, 2, 1, 0)) * -1 + tmp6 = l2.transpose((3, 2, 0, 1)).copy() + tmp6 += l2.transpose((3, 2, 1, 0)) * -1 + tmp12 = l2.transpose((3, 2, 0, 1)).copy() * 2 + tmp12 += l2.transpose((3, 2, 1, 0)) * -1 + tmp0 = t2.transpose((1, 0, 2, 3)).copy() + tmp0 += t2.transpose((1, 0, 3, 2)) * -0.5 + tmp4 = einsum(tmp3, (0, 1, 2, 3), t2, (0, 4, 3, 5), (4, 1, 5, 2), optimize=True) + del tmp3 + rdm2.voov = tmp4.transpose((3, 0, 1, 2)).copy() + rdm2.voov += tmp4.transpose((3, 0, 1, 2)) + rdm2.ovvo = tmp4.transpose((0, 3, 2, 1)).copy() + rdm2.ovvo += tmp4.transpose((0, 3, 2, 1)) + tmp7 = einsum(t2, (0, 1, 2, 3), tmp6, (0, 4, 5, 3), (1, 4, 2, 5), optimize=True) + rdm2.ovvo += tmp7.transpose((0, 3, 2, 1)) * -1 + rdm2.ovvo += tmp7.transpose((0, 3, 2, 1)) * -1 + tmp13 = einsum(t2, (0, 1, 2, 3), tmp12, (0, 1, 3, 4), (2, 4), optimize=True) * 0.5 + rdm2.ovvo += einsum(delta.oo, (0, 1), tmp13, (2, 3), (1, 3, 2, 0), optimize=True) * -2 + rdm2.ovvo += einsum(delta.oo, (0, 1), tmp13, (2, 3), (1, 3, 2, 0), optimize=True) * -2 + rdm2.ovov = einsum(delta.oo, (0, 1), tmp13, (2, 3), (1, 3, 0, 2), optimize=True) * 2 + rdm2.ovov += einsum(delta.oo, (0, 1), tmp13, (2, 3), (1, 3, 0, 2), optimize=True) * 2 + rdm2.ovov += einsum(delta.oo, (0, 1), tmp13, (2, 3), (1, 3, 0, 2), optimize=True) * 2 + rdm2.ovov += einsum(delta.oo, (0, 1), tmp13, (2, 3), (1, 3, 0, 2), optimize=True) * 2 + tmp1 = einsum(l2, (0, 1, 2, 3), tmp0, (2, 4, 1, 0), (3, 4), optimize=True) * 2 + del tmp0 + rdm2.oooo = einsum(tmp1, (0, 1), delta.oo, (2, 3), (2, 1, 3, 0), optimize=True) * -1 + rdm2.oooo += einsum(tmp1, (0, 1), delta.oo, (2, 3), (1, 3, 2, 0), optimize=True) + rdm2.oooo += einsum(tmp1, (0, 1), delta.oo, (2, 3), (2, 1, 0, 3), optimize=True) + rdm2.oooo += einsum(tmp1, (0, 1), delta.oo, (2, 3), (1, 3, 0, 2), optimize=True) * -1 + rdm2.oooo += einsum(tmp1, (0, 1), delta.oo, (2, 3), (2, 1, 3, 0), optimize=True) * -1 + rdm2.oooo += einsum(tmp1, (0, 1), delta.oo, (2, 3), (1, 3, 0, 2), optimize=True) * -1 + rdm2.oooo += einsum(tmp1, (0, 1), delta.oo, (2, 3), (2, 1, 3, 0), optimize=True) * -1 + rdm2.oooo += einsum(tmp1, (0, 1), delta.oo, (2, 3), (1, 3, 0, 2), optimize=True) * -1 + rdm2.oooo += einsum(tmp1, (0, 1), delta.oo, (2, 3), (2, 1, 3, 0), optimize=True) * -1 + rdm2.oooo += einsum(tmp1, (0, 1), delta.oo, (2, 3), (1, 3, 2, 0), optimize=True) + rdm2.oooo += einsum(tmp1, (0, 1), delta.oo, (2, 3), (2, 1, 0, 3), optimize=True) + rdm2.oooo += einsum(tmp1, (0, 1), delta.oo, (2, 3), (1, 3, 0, 2), optimize=True) * -1 + tmp25 = l2.transpose((3, 2, 0, 1)).copy() * -1 + tmp25 += l2.transpose((3, 2, 1, 0)) * 2 + tmp23 = t2.transpose((1, 0, 2, 3)).copy() * 2 + tmp23 += t2.transpose((1, 0, 3, 2)) * -1 + tmp21 = t2.transpose((1, 0, 2, 3)).copy() + tmp21 += t2.transpose((1, 0, 3, 2)) * -1 + tmp5 = einsum(tmp4, (0, 1, 2, 3), t2, (1, 4, 3, 5), (4, 0, 5, 2), optimize=True) + rdm2.oovv = tmp5.copy() * 2 + rdm2.oovv += tmp5 * 2 + tmp8 = einsum(t2, (0, 1, 2, 3), tmp7, (4, 0, 5, 3), (1, 4, 2, 5), optimize=True) + del tmp7 + tmp14 = einsum(tmp13, (0, 1), t2, (2, 3, 1, 4), (2, 3, 4, 0), optimize=True) * 2 + del tmp13 + tmp15 = einsum(tmp1, (0, 1), t2, (0, 2, 3, 4), (2, 1, 3, 4), optimize=True) + del tmp1 + tmp19 = einsum(l2, (0, 1, 2, 3), t2, (4, 2, 1, 5), (3, 4, 0, 5), optimize=True) + rdm2.vovo = tmp19.transpose((2, 1, 3, 0)).copy() * -1 + rdm2.vovo += tmp19.transpose((2, 1, 3, 0)) * -1 + rdm2.ovov += tmp19.transpose((1, 2, 0, 3)) * -1 + rdm2.ovov += tmp19.transpose((1, 2, 0, 3)) * -1 + tmp17 = einsum(t2, (0, 1, 2, 3), l2, (4, 2, 5, 1), (5, 0, 4, 3), optimize=True) + rdm2.voov += tmp17.transpose((2, 1, 0, 3)) * -1 + rdm2.voov += tmp17.transpose((2, 1, 0, 3)) * -1 + rdm2.ovvo += tmp17.transpose((1, 2, 3, 0)) * -1 + rdm2.ovvo += tmp17.transpose((1, 2, 3, 0)) * -1 + tmp2 = einsum(l2, (0, 1, 2, 3), t2, (4, 5, 1, 0), (2, 3, 5, 4), optimize=True) + rdm2.oooo += tmp2.transpose((3, 2, 1, 0)) + rdm2.oooo += tmp2.transpose((2, 3, 1, 0)) * -1 + rdm2.oooo += tmp2.transpose((3, 2, 1, 0)) + rdm2.oooo += tmp2.transpose((3, 2, 1, 0)) + rdm2.oooo += tmp2.transpose((3, 2, 1, 0)) + rdm2.oooo += tmp2.transpose((2, 3, 1, 0)) * -1 + tmp29 = einsum(t2, (0, 1, 2, 3), l2, (4, 5, 0, 1), (4, 5, 2, 3), optimize=True) + rdm2.vvvv = tmp29.transpose((1, 0, 3, 2)).copy() + rdm2.vvvv += tmp29.transpose((1, 0, 2, 3)) * -1 + rdm2.vvvv += tmp29.transpose((1, 0, 3, 2)) + rdm2.vvvv += tmp29.transpose((1, 0, 3, 2)) + rdm2.vvvv += tmp29.transpose((1, 0, 3, 2)) + rdm2.vvvv += tmp29.transpose((1, 0, 2, 3)) * -1 + del tmp29 + tmp27 = einsum(t2, (0, 1, 2, 3), tmp12, (0, 1, 3, 4), (2, 4), optimize=True) + del tmp12 + rdm2.vovo += einsum(delta.oo, (0, 1), tmp27, (2, 3), (3, 1, 2, 0), optimize=True) + rdm2.vovo += einsum(delta.oo, (0, 1), tmp27, (2, 3), (3, 1, 2, 0), optimize=True) + rdm2.vovo += einsum(delta.oo, (0, 1), tmp27, (2, 3), (3, 1, 2, 0), optimize=True) + rdm2.vovo += einsum(delta.oo, (0, 1), tmp27, (2, 3), (3, 1, 2, 0), optimize=True) + rdm2.voov += einsum(delta.oo, (0, 1), tmp27, (2, 3), (3, 1, 0, 2), optimize=True) * -1 + rdm2.voov += einsum(delta.oo, (0, 1), tmp27, (2, 3), (3, 1, 0, 2), optimize=True) * -1 + del tmp27 + tmp26 = einsum(tmp25, (0, 1, 2, 3), t2, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) + del tmp25 + rdm2.vovo += tmp26.transpose((3, 0, 2, 1)) * -1 + rdm2.vovo += tmp26.transpose((3, 0, 2, 1)) * -1 + rdm2.ovvo += tmp26.transpose((0, 3, 2, 1)) + rdm2.ovvo += tmp26.transpose((0, 3, 2, 1)) + del tmp26 + tmp28 = einsum(t2, (0, 1, 2, 3), tmp6, (0, 4, 3, 5), (1, 4, 2, 5), optimize=True) + del tmp6 + rdm2.vovo += tmp28.transpose((3, 0, 2, 1)) * -1 + rdm2.vovo += tmp28.transpose((3, 0, 2, 1)) * -1 + del tmp28 + tmp24 = einsum(l2, (0, 1, 2, 3), tmp23, (2, 4, 5, 0), (3, 4, 1, 5), optimize=True) + del tmp23 + rdm2.voov += tmp24.transpose((2, 1, 0, 3)) + rdm2.voov += tmp24.transpose((2, 1, 0, 3)) + rdm2.ovov += tmp24.transpose((1, 2, 0, 3)) * -1 + rdm2.ovov += tmp24.transpose((1, 2, 0, 3)) * -1 + del tmp24 + tmp22 = einsum(l2, (0, 1, 2, 3), tmp21, (2, 4, 5, 1), (3, 4, 0, 5), optimize=True) + del tmp21 + rdm2.voov += tmp22.transpose((2, 1, 0, 3)) * -1 + rdm2.voov += tmp22.transpose((2, 1, 0, 3)) * -1 + rdm2.ovov += tmp22.transpose((1, 2, 0, 3)) + rdm2.ovov += tmp22.transpose((1, 2, 0, 3)) + del tmp22 + tmp9 = tmp5.copy() * 2 + del tmp5 + tmp9 += tmp8.transpose((1, 0, 3, 2)) + del tmp8 + rdm2.oovv += tmp9.transpose((0, 1, 3, 2)) * -1 + rdm2.oovv += tmp9 + rdm2.oovv += tmp9.transpose((0, 1, 3, 2)) * -1 + rdm2.oovv += tmp9 + del tmp9 + tmp10 = einsum(t2, (0, 1, 2, 3), tmp4, (4, 0, 5, 3), (1, 4, 2, 5), optimize=True) + del tmp4 + rdm2.oovv += tmp10 * -1 + rdm2.oovv += tmp10.transpose((0, 1, 3, 2)) + rdm2.oovv += tmp10.transpose((1, 0, 2, 3)) + rdm2.oovv += tmp10.transpose((1, 0, 3, 2)) * -1 + rdm2.oovv += tmp10 * -1 + rdm2.oovv += tmp10.transpose((1, 0, 3, 2)) * -1 + rdm2.oovv += tmp10 * -1 + rdm2.oovv += tmp10.transpose((1, 0, 3, 2)) * -1 + rdm2.oovv += tmp10 * -1 + rdm2.oovv += tmp10.transpose((0, 1, 3, 2)) + rdm2.oovv += tmp10.transpose((1, 0, 2, 3)) + rdm2.oovv += tmp10.transpose((1, 0, 3, 2)) * -1 + del tmp10 + tmp16 = tmp14.transpose((1, 0, 2, 3)).copy() + del tmp14 + tmp16 += tmp15.transpose((0, 1, 3, 2)) + del tmp15 + rdm2.oovv += tmp16.transpose((1, 0, 3, 2)) * -1 + rdm2.oovv += tmp16.transpose((1, 0, 2, 3)) + rdm2.oovv += tmp16.transpose((0, 1, 3, 2)) + rdm2.oovv += tmp16 * -1 + rdm2.oovv += tmp16.transpose((1, 0, 3, 2)) * -1 + rdm2.oovv += tmp16 * -1 + rdm2.oovv += tmp16.transpose((1, 0, 3, 2)) * -1 + rdm2.oovv += tmp16 * -1 + rdm2.oovv += tmp16.transpose((1, 0, 3, 2)) * -1 + rdm2.oovv += tmp16.transpose((1, 0, 2, 3)) + rdm2.oovv += tmp16.transpose((0, 1, 3, 2)) + rdm2.oovv += tmp16 * -1 + del tmp16 + tmp20 = einsum(tmp19, (0, 1, 2, 3), t2, (4, 0, 2, 5), (4, 1, 5, 3), optimize=True) + del tmp19 + rdm2.oovv += tmp20.transpose((0, 1, 3, 2)) + rdm2.oovv += tmp20.transpose((0, 1, 3, 2)) + del tmp20 + tmp18 = einsum(tmp17, (0, 1, 2, 3), t2, (4, 0, 2, 5), (4, 1, 5, 3), optimize=True) + del tmp17 + rdm2.oovv += tmp18 + rdm2.oovv += tmp18 + del tmp18 + tmp11 = einsum(t2, (0, 1, 2, 3), tmp2, (0, 1, 4, 5), (4, 5, 2, 3), optimize=True) + del tmp2 + rdm2.oovv += tmp11.transpose((0, 1, 3, 2)) * -1 + rdm2.oovv += tmp11 + rdm2.oovv += tmp11 + rdm2.oovv += tmp11 + rdm2.oovv += tmp11.transpose((0, 1, 3, 2)) * -1 + rdm2.oovv += tmp11 + del tmp11 + rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (3, 1, 2, 0), optimize=True) + rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (3, 0, 1, 2), optimize=True) * -1 + rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (3, 1, 2, 0), optimize=True) + rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (3, 1, 2, 0), optimize=True) + rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (3, 1, 2, 0), optimize=True) + rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (3, 0, 1, 2), optimize=True) * -1 + del delta + rdm2.oovv += t2.transpose((1, 0, 2, 3)) * -1 + rdm2.oovv += t2.transpose((1, 0, 3, 2)) + rdm2.oovv += t2.transpose((1, 0, 3, 2)) + rdm2.oovv += t2.transpose((1, 0, 3, 2)) + rdm2.oovv += t2.transpose((1, 0, 2, 3)) * -1 + rdm2.oovv += t2.transpose((1, 0, 3, 2)) + rdm2.vvoo = l2.transpose((0, 1, 3, 2)).copy() * -1 + rdm2.vvoo += l2.transpose((1, 0, 3, 2)) + rdm2.vvoo += l2.transpose((1, 0, 3, 2)) + rdm2.vvoo += l2.transpose((1, 0, 3, 2)) + rdm2.vvoo += l2.transpose((0, 1, 3, 2)) * -1 + rdm2.vvoo += l2.transpose((1, 0, 3, 2)) + rdm2.ooov = np.zeros((t2.shape[0], t2.shape[0], t2.shape[0], t2.shape[-1])) + rdm2.oovo = np.zeros((t2.shape[0], t2.shape[0], t2.shape[-1], t2.shape[0])) + rdm2.ovoo = np.zeros((t2.shape[0], t2.shape[-1], t2.shape[0], t2.shape[0])) + rdm2.vooo = np.zeros((t2.shape[-1], t2.shape[0], t2.shape[0], t2.shape[0])) + rdm2.ovvv = np.zeros((t2.shape[0], t2.shape[-1], t2.shape[-1], t2.shape[-1])) + rdm2.vovv = np.zeros((t2.shape[-1], t2.shape[0], t2.shape[-1], t2.shape[-1])) + rdm2.vvov = np.zeros((t2.shape[-1], t2.shape[-1], t2.shape[0], t2.shape[-1])) + rdm2.vvvo = np.zeros((t2.shape[-1], t2.shape[-1], t2.shape[-1], t2.shape[0])) + rdm2 = pack_2e(rdm2.oooo, rdm2.ooov, rdm2.oovo, rdm2.ovoo, rdm2.vooo, rdm2.oovv, rdm2.ovov, rdm2.ovvo, rdm2.voov, rdm2.vovo, rdm2.vvoo, rdm2.ovvv, rdm2.vovv, rdm2.vvov, rdm2.vvvo, rdm2.vvvv) + rdm2 = rdm2.swapaxes(1, 2) + + return rdm2 + diff --git a/ebcc/codegen/RDFCCSD.py b/ebcc/codegen/RDFCCSD.py new file mode 100644 index 00000000..a3934d71 --- /dev/null +++ b/ebcc/codegen/RDFCCSD.py @@ -0,0 +1,1476 @@ +""" +Code generated by `albert`: +https://github.com/obackhouse/albert + + * date: 2024-07-18T20:37:28.210373 + * python version: 3.10.12 (main, Mar 22 2024, 16:50:05) [GCC 11.4.0] + * albert version: 0.0.0 + * caller: /home/ollie/git/albert/albert/codegen/einsum.py + * node: ollie-desktop + * system: Linux + * processor: x86_64 + * release: 6.5.0-44-generic +""" + +from ebcc import numpy as np +from ebcc.util import pack_2e, einsum, direct_sum, Namespace + + +def energy(f=None, t1=None, t2=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-07-18T20:37:28.976923. + + Parameters + ---------- + f : array + Fock matrix. + t1 : array + T1 amplitudes. + t2 : array + T2 amplitudes. + v : array + Electron repulsion integrals. + + Returns + ------- + e_cc : float + Coupled cluster energy. + """ + + tmp3 = einsum(v.xov, (0, 1, 2), t1, (3, 2), (3, 1, 0), optimize=True) + tmp0 = einsum(t1, (0, 1), v.xov, (2, 0, 1), (2,), optimize=True) + tmp1 = t2.transpose((1, 0, 2, 3)).copy() * -1 + tmp1 += t2.transpose((1, 0, 3, 2)) * 2 + tmp4 = f.ov.copy() * 2 + tmp4 += einsum(v.xov, (0, 1, 2), tmp3, (1, 3, 0), (3, 2), optimize=True) * -1 + del tmp3 + e_cc = einsum(tmp4, (0, 1), t1, (0, 1), (), optimize=True) + del tmp4 + tmp2 = einsum(tmp0, (0,), t1, (1, 2), (1, 2, 0), optimize=True) + del tmp0 + tmp2 += einsum(v.xov, (0, 1, 2), tmp1, (1, 3, 2, 4), (3, 4, 0), optimize=True) * 0.5 + del tmp1 + e_cc += einsum(v.xov, (0, 1, 2), tmp2, (1, 2, 0), (), optimize=True) * 2 + del tmp2 + + return e_cc + +def update_amps(f=None, t1=None, t2=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-07-18T20:37:54.219067. + + Parameters + ---------- + f : array + Fock matrix. + t1 : array + T1 amplitudes. + t2 : array + T2 amplitudes. + v : array + Electron repulsion integrals. + + Returns + ------- + t1new : array + Updated T1 residuals. + t2new : array + Updated T2 residuals. + """ + + tmp0 = einsum(t1, (0, 1), v.xov, (2, 0, 1), (2,), optimize=True) + tmp2 = einsum(v.xov, (0, 1, 2), t1, (3, 2), (3, 1, 0), optimize=True) + tmp1 = einsum(tmp0, (0,), v.xov, (0, 1, 2), (1, 2), optimize=True) + t1new = tmp1.copy() * 2 + tmp9 = einsum(v.xov, (0, 1, 2), tmp2, (1, 3, 0), (3, 2), optimize=True) + tmp33 = einsum(v.xov, (0, 1, 2), v.xoo, (0, 3, 4), (3, 4, 1, 2), optimize=True) + tmp38 = t2.transpose((1, 0, 3, 2)).copy() + tmp38 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) + tmp31 = einsum(tmp2, (0, 1, 2), v.xov, (2, 3, 4), (0, 3, 1, 4), optimize=True) + tmp19 = einsum(v.xov, (0, 1, 2), t2, (3, 1, 2, 4), (3, 4, 0), optimize=True) + t2new = einsum(tmp19, (0, 1, 2), tmp19, (3, 4, 2), (3, 0, 4, 1), optimize=True) + tmp36 = tmp1.copy() * 2 + tmp36 += tmp9 * -1 + tmp34 = tmp33.transpose((1, 0, 2, 3)).copy() * -1 + tmp34 += tmp33.transpose((2, 1, 0, 3)) * 2 + tmp39 = einsum(v.xov, (0, 1, 2), tmp38, (1, 3, 4, 2), (3, 4, 0), optimize=True) + del tmp38 + tmp11 = t2.transpose((1, 0, 2, 3)).copy() * -1 + tmp11 += t2.transpose((1, 0, 3, 2)) * 2 + tmp13 = t2.transpose((1, 0, 2, 3)).copy() * -1 + tmp13 += t2.transpose((1, 0, 3, 2)) * 2 + tmp22 = einsum(t1, (0, 1), v.xvv, (2, 3, 1), (0, 3, 2), optimize=True) + t2new += einsum(tmp22, (0, 1, 2), tmp22, (3, 4, 2), (3, 0, 4, 1), optimize=True) + tmp65 = tmp31.copy() * 2 + tmp65 += tmp31.transpose((0, 2, 1, 3)) * -1 + tmp18 = einsum(v.xov, (0, 1, 2), v.xov, (0, 3, 4), (3, 1, 4, 2), optimize=True) + t2new += tmp18.transpose((1, 0, 3, 2)) + tmp53 = v.xov.transpose((1, 2, 0)).copy() + tmp53 += tmp19 * -1 + tmp32 = einsum(tmp31, (0, 1, 2, 3), t2, (4, 2, 3, 5), (0, 4, 1, 5), optimize=True) + del tmp31 + tmp37 = einsum(tmp36, (0, 1), t2, (2, 3, 1, 4), (0, 2, 3, 4), optimize=True) + tmp35 = einsum(tmp34, (0, 1, 2, 3), t2, (0, 4, 3, 5), (1, 2, 4, 5), optimize=True) + del tmp34 + tmp40 = einsum(v.xoo, (0, 1, 2), tmp39, (3, 4, 0), (1, 2, 3, 4), optimize=True) + tmp28 = einsum(v.xov, (0, 1, 2), tmp11, (1, 3, 2, 4), (3, 4, 0), optimize=True) + tmp6 = einsum(v.xoo, (0, 1, 2), t1, (2, 3), (1, 3, 0), optimize=True) + tmp14 = einsum(v.xov, (0, 1, 2), tmp13, (1, 3, 2, 4), (3, 4, 0), optimize=True) + del tmp13 + tmp77 = einsum(v.xov, (0, 1, 2), v.xvv, (0, 3, 4), (1, 3, 4, 2), optimize=True) + tmp60 = einsum(tmp22, (0, 1, 2), v.xov, (2, 0, 3), (3, 1), optimize=True) + tmp59 = einsum(tmp0, (0,), v.xvv, (0, 1, 2), (1, 2), optimize=True) + tmp63 = einsum(t2, (0, 1, 2, 3), tmp33, (4, 1, 5, 2), (0, 4, 5, 3), optimize=True) + del tmp33 + tmp66 = einsum(tmp65, (0, 1, 2, 3), t2, (1, 4, 3, 5), (0, 2, 4, 5), optimize=True) + del tmp65 + tmp64 = einsum(tmp2, (0, 1, 2), tmp19, (3, 4, 2), (0, 3, 1, 4), optimize=True) + del tmp19 + tmp20 = einsum(t2, (0, 1, 2, 3), tmp18, (1, 4, 5, 2), (0, 4, 3, 5), optimize=True) + t2new += einsum(t2, (0, 1, 2, 3), tmp20, (4, 1, 5, 2), (0, 4, 5, 3), optimize=True) + tmp54 = einsum(v.xov, (0, 1, 2), tmp53, (3, 4, 0), (3, 1, 4, 2), optimize=True) + del tmp53 + tmp24 = einsum(v.xoo, (0, 1, 2), v.xvv, (0, 3, 4), (1, 2, 3, 4), optimize=True) + tmp12 = einsum(v.xoo, (0, 1, 2), tmp0, (0,), (1, 2), optimize=True) + tmp69 = einsum(v.xoo, (0, 1, 2), tmp2, (2, 3, 0), (1, 3), optimize=True) + tmp41 = tmp32.transpose((0, 2, 1, 3)).copy() + del tmp32 + tmp41 += tmp35.transpose((2, 1, 0, 3)) * -1 + del tmp35 + tmp41 += tmp37.transpose((2, 0, 1, 3)) * -1 + del tmp37 + tmp41 += tmp40.transpose((2, 1, 0, 3)) + del tmp40 + tmp29 = v.xov.transpose((1, 2, 0)).copy() + tmp29 += tmp6 * -1 + tmp29 += tmp28 + del tmp28 + tmp26 = einsum(tmp2, (0, 1, 2), v.xvv, (2, 3, 4), (0, 1, 3, 4), optimize=True) + tmp43 = einsum(tmp36, (0, 1), t1, (2, 1), (0, 2), optimize=True) + del tmp36 + tmp82 = einsum(tmp14, (0, 1, 2), v.xov, (2, 3, 1), (0, 3), optimize=True) + tmp78 = einsum(t2, (0, 1, 2, 3), tmp77, (4, 5, 3, 2), (0, 1, 4, 5), optimize=True) + del tmp77 + tmp80 = einsum(tmp14, (0, 1, 2), v.xov, (2, 0, 3), (1, 3), optimize=True) * 0.5 + tmp61 = tmp59.transpose((1, 0)).copy() * 2 + del tmp59 + tmp61 += tmp60 * -1 + del tmp60 + tmp67 = tmp63.copy() + del tmp63 + tmp67 += tmp64 + del tmp64 + tmp67 += tmp66.transpose((0, 2, 1, 3)) * -1 + del tmp66 + tmp57 = tmp6.copy() + tmp57 += tmp39 + del tmp39 + tmp55 = tmp24.transpose((1, 0, 3, 2)).copy() + tmp55 += tmp20 * -1 + del tmp20 + tmp55 += tmp54 * -2 + del tmp54 + tmp70 = tmp69.transpose((1, 0)).copy() * -1 + del tmp69 + tmp70 += tmp12.transpose((1, 0)) * 2 + tmp50 = einsum(tmp2, (0, 1, 2), v.xoo, (2, 3, 4), (0, 4, 3, 1), optimize=True) + tmp48 = einsum(t2, (0, 1, 2, 3), f.ov, (4, 3), (4, 0, 1, 2), optimize=True) + tmp46 = einsum(f.ov, (0, 1), t1, (2, 1), (0, 2), optimize=True) + tmp74 = einsum(tmp22, (0, 1, 2), tmp2, (3, 4, 2), (3, 0, 4, 1), optimize=True) + tmp25 = einsum(t2, (0, 1, 2, 3), tmp24, (4, 1, 5, 2), (0, 4, 3, 5), optimize=True) + del tmp24 + tmp42 = einsum(tmp41, (0, 1, 2, 3), t1, (1, 4), (0, 2, 3, 4), optimize=True) + del tmp41 + tmp23 = einsum(f.vv, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4), optimize=True) + tmp30 = einsum(tmp29, (0, 1, 2), tmp22, (3, 4, 2), (0, 3, 1, 4), optimize=True) + del tmp22, tmp29 + tmp27 = einsum(t2, (0, 1, 2, 3), tmp26, (4, 1, 5, 3), (4, 0, 2, 5), optimize=True) + tmp44 = einsum(tmp43, (0, 1), t2, (0, 2, 3, 4), (1, 2, 3, 4), optimize=True) + del tmp43 + tmp83 = einsum(tmp82, (0, 1), t2, (1, 2, 3, 4), (0, 2, 3, 4), optimize=True) + del tmp82 + tmp79 = einsum(tmp78, (0, 1, 2, 3), t1, (2, 4), (0, 1, 4, 3), optimize=True) + del tmp78 + tmp81 = einsum(t2, (0, 1, 2, 3), tmp80, (4, 2), (0, 1, 4, 3), optimize=True) * 2 + del tmp80 + tmp90 = tmp18.transpose((1, 0, 2, 3)).copy() * 2 + tmp90 += tmp18.transpose((1, 0, 3, 2)) * -1 + tmp62 = einsum(t2, (0, 1, 2, 3), tmp61, (2, 4), (0, 1, 4, 3), optimize=True) + del tmp61 + tmp68 = einsum(tmp67, (0, 1, 2, 3), t1, (2, 4), (0, 1, 3, 4), optimize=True) + del tmp67 + tmp58 = einsum(v.xov, (0, 1, 2), tmp57, (3, 4, 0), (3, 1, 4, 2), optimize=True) + del tmp57 + tmp56 = einsum(t2, (0, 1, 2, 3), tmp55, (4, 0, 5, 2), (4, 1, 5, 3), optimize=True) + del tmp55 + tmp71 = einsum(tmp70, (0, 1), t2, (0, 2, 3, 4), (1, 2, 3, 4), optimize=True) + del tmp70 + tmp88 = einsum(t1, (0, 1), tmp18, (2, 0, 3, 4), (2, 1, 3, 4), optimize=True) + tmp51 = einsum(t2, (0, 1, 2, 3), tmp50, (4, 1, 5, 0), (4, 5, 3, 2), optimize=True) + del tmp50 + tmp49 = einsum(tmp48, (0, 1, 2, 3), t1, (0, 4), (1, 2, 4, 3), optimize=True) + del tmp48 + tmp47 = einsum(t2, (0, 1, 2, 3), tmp46, (1, 4), (4, 0, 2, 3), optimize=True) + del tmp46 + tmp75 = einsum(t1, (0, 1), tmp74, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) + del tmp74 + tmp73 = einsum(t2, (0, 1, 2, 3), tmp26, (4, 1, 5, 2), (4, 0, 3, 5), optimize=True) + del tmp26 + tmp3 = v.xoo.transpose((2, 1, 0)).copy() + tmp3 += tmp2.transpose((1, 0, 2)) + tmp16 = f.ov.copy() + tmp16 += tmp9 * -1 + tmp15 = tmp6.copy() * -1 + tmp15 += einsum(tmp0, (0,), t1, (1, 2), (1, 2, 0), optimize=True) * 2 + tmp15 += tmp14 + del tmp14 + tmp7 = einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) * 0.5 + tmp7 += t2.transpose((1, 0, 2, 3)) * -1 + tmp7 += t2.transpose((1, 0, 3, 2)) * 0.5 + tmp45 = tmp23.copy() + del tmp23 + tmp45 += tmp25 * -1 + del tmp25 + tmp45 += tmp27 * -1 + del tmp27 + tmp45 += tmp30.transpose((1, 0, 2, 3)) + del tmp30 + tmp45 += tmp42.transpose((0, 1, 3, 2)) + del tmp42 + tmp45 += tmp44.transpose((0, 1, 3, 2)) * -1 + del tmp44 + t2new += tmp45.transpose((1, 0, 2, 3)) + t2new += tmp45.transpose((0, 1, 3, 2)) + del tmp45 + tmp21 = einsum(t2, (0, 1, 2, 3), tmp18, (4, 5, 3, 2), (0, 1, 5, 4), optimize=True) + del tmp18 + t2new += einsum(t2, (0, 1, 2, 3), tmp21, (4, 5, 1, 0), (5, 4, 2, 3), optimize=True) + del tmp21 + tmp84 = tmp79.copy() + del tmp79 + tmp84 += tmp81.transpose((1, 0, 3, 2)) + del tmp81 + tmp84 += tmp83.transpose((1, 0, 3, 2)) + del tmp83 + t2new += tmp84.transpose((1, 0, 3, 2)) * -1 + t2new += tmp84 * -1 + del tmp84 + tmp91 = einsum(t2, (0, 1, 2, 3), tmp90, (0, 4, 5, 2), (1, 4, 3, 5), optimize=True) + del tmp90 + t2new += einsum(t2, (0, 1, 2, 3), tmp91, (4, 0, 5, 2), (4, 1, 5, 3), optimize=True) * 2 + del tmp91 + tmp72 = tmp56.transpose((1, 0, 3, 2)).copy() + del tmp56 + tmp72 += tmp58 + del tmp58 + tmp72 += tmp62.transpose((1, 0, 3, 2)) * -1 + del tmp62 + tmp72 += tmp68.transpose((0, 1, 3, 2)) * -1 + del tmp68 + tmp72 += tmp71.transpose((1, 0, 3, 2)) + del tmp71 + t2new += tmp72.transpose((1, 0, 3, 2)) * -1 + t2new += tmp72 * -1 + del tmp72 + tmp89 = einsum(v.xvv, (0, 1, 2), v.xvv, (0, 3, 4), (2, 3, 4, 1), optimize=True) + tmp89 += einsum(t1, (0, 1), tmp88, (0, 2, 3, 4), (4, 1, 3, 2), optimize=True) + del tmp88 + t2new += einsum(t2, (0, 1, 2, 3), tmp89, (2, 4, 3, 5), (1, 0, 4, 5), optimize=True) + del tmp89 + tmp86 = einsum(v.xoo, (0, 1, 2), v.xoo, (0, 3, 4), (4, 1, 2, 3), optimize=True) + tmp86 += einsum(tmp2, (0, 1, 2), tmp2, (3, 4, 2), (1, 3, 4, 0), optimize=True) + del tmp2 + tmp87 = t2.transpose((1, 0, 3, 2)).copy() + tmp87 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) + t2new += einsum(tmp87, (0, 1, 2, 3), tmp86, (0, 4, 1, 5), (4, 5, 3, 2), optimize=True) + del tmp87, tmp86 + tmp85 = einsum(f.oo, (0, 1), t2, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) + t2new += tmp85.transpose((1, 0, 2, 3)) * -1 + t2new += tmp85.transpose((0, 1, 3, 2)) * -1 + del tmp85 + tmp52 = tmp47.copy() + del tmp47 + tmp52 += tmp49 + del tmp49 + tmp52 += tmp51 * -1 + del tmp51 + t2new += tmp52.transpose((1, 0, 2, 3)) * -1 + t2new += tmp52.transpose((0, 1, 3, 2)) * -1 + del tmp52 + tmp76 = tmp73.copy() + del tmp73 + tmp76 += tmp75 + del tmp75 + t2new += tmp76.transpose((1, 0, 3, 2)) * -1 + t2new += tmp76 * -1 + del tmp76 + tmp4 = einsum(v.xov, (0, 1, 2), tmp3, (3, 4, 0), (4, 1, 3, 2), optimize=True) + del tmp3 + tmp5 = t2.transpose((1, 0, 2, 3)).copy() * 2 + tmp5 += t2.transpose((1, 0, 3, 2)) * -1 + t1new += einsum(tmp5, (0, 1, 2, 3), tmp4, (4, 0, 1, 3), (4, 2), optimize=True) * -1 + del tmp5, tmp4 + tmp17 = f.oo.transpose((1, 0)).copy() + tmp17 += tmp12.transpose((1, 0)) * 2 + del tmp12 + tmp17 += einsum(tmp15, (0, 1, 2), v.xov, (2, 3, 1), (3, 0), optimize=True) + del tmp15 + tmp17 += einsum(tmp16, (0, 1), t1, (2, 1), (0, 2), optimize=True) + del tmp16 + t1new += einsum(t1, (0, 1), tmp17, (0, 2), (2, 1), optimize=True) * -1 + del tmp17 + tmp10 = f.ov.copy() + tmp10 += tmp1 * 2 + del tmp1 + tmp10 += tmp9 * -1 + del tmp9 + t1new += einsum(tmp11, (0, 1, 2, 3), tmp10, (0, 2), (1, 3), optimize=True) + del tmp11, tmp10 + tmp8 = tmp6.copy() * 0.5 + del tmp6 + tmp8 += einsum(tmp0, (0,), t1, (1, 2), (1, 2, 0), optimize=True) * -1 + del tmp0 + tmp8 += einsum(v.xov, (0, 1, 2), tmp7, (1, 3, 4, 2), (3, 4, 0), optimize=True) + del tmp7 + t1new += einsum(v.xvv, (0, 1, 2), tmp8, (3, 1, 0), (3, 2), optimize=True) * -2 + del tmp8 + t1new += f.ov + t1new += einsum(t1, (0, 1), f.vv, (2, 1), (0, 2), optimize=True) + + return {f"t1new": t1new, f"t2new": t2new} + +def update_lams(f=None, l1=None, l2=None, t1=None, t2=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-07-18T20:38:50.254515. + + Parameters + ---------- + f : array + Fock matrix. + l1 : array + L1 amplitudes. + l2 : array + L2 amplitudes. + t1 : array + T1 amplitudes. + t2 : array + T2 amplitudes. + v : array + Electron repulsion integrals. + + Returns + ------- + l1new : array + Updated L1 residuals. + l2new : array + Updated L2 residuals. + """ + + tmp5 = einsum(v.xov, (0, 1, 2), t1, (3, 2), (3, 1, 0), optimize=True) + tmp13 = einsum(t1, (0, 1), v.xov, (2, 0, 1), (2,), optimize=True) + tmp93 = t2.transpose((1, 0, 2, 3)).copy() * -1 + tmp93 += t2.transpose((1, 0, 3, 2)) * 2 + tmp21 = t2.transpose((1, 0, 2, 3)).copy() * -1 + tmp21 += t2.transpose((1, 0, 3, 2)) * 2 + tmp28 = t2.transpose((1, 0, 2, 3)).copy() + tmp28 += t2.transpose((1, 0, 3, 2)) * -0.5 + tmp15 = einsum(tmp5, (0, 1, 2), v.xov, (2, 0, 3), (1, 3), optimize=True) + tmp14 = einsum(tmp13, (0,), v.xov, (0, 1, 2), (1, 2), optimize=True) + tmp33 = einsum(l2, (0, 1, 2, 3), t1, (4, 0), (3, 2, 4, 1), optimize=True) + tmp0 = einsum(t1, (0, 1), v.xvv, (2, 3, 1), (0, 3, 2), optimize=True) + tmp94 = einsum(v.xov, (0, 1, 2), tmp93, (1, 3, 2, 4), (3, 4, 0), optimize=True) + del tmp93 + tmp7 = einsum(v.xov, (0, 1, 2), v.xov, (0, 3, 4), (3, 1, 4, 2), optimize=True) + l2new = tmp7.transpose((3, 2, 1, 0)).copy() + tmp78 = v.xoo.transpose((2, 1, 0)).copy() + tmp78 += tmp5.transpose((1, 0, 2)) + tmp22 = einsum(v.xov, (0, 1, 2), tmp21, (1, 3, 2, 4), (3, 4, 0), optimize=True) + tmp20 = t2.transpose((1, 0, 2, 3)).copy() * -0.5 + tmp20 += t2.transpose((1, 0, 3, 2)) + tmp48 = einsum(l2, (0, 1, 2, 3), tmp28, (2, 4, 1, 0), (3, 4), optimize=True) + tmp47 = einsum(l1, (0, 1), t1, (2, 0), (1, 2), optimize=True) + tmp89 = t2.transpose((1, 0, 2, 3)).copy() * 2 + tmp89 += t2.transpose((1, 0, 3, 2)) * -1 + tmp103 = tmp14.copy() * 2 + tmp103 += tmp15 * -1 + tmp98 = tmp33.copy() * 2 + tmp98 += tmp33.transpose((1, 0, 2, 3)) * -1 + tmp96 = l2.transpose((3, 2, 0, 1)).copy() * -1 + tmp96 += l2.transpose((3, 2, 1, 0)) * 2 + tmp95 = v.xov.transpose((1, 2, 0)).copy() + tmp95 += tmp0 + tmp95 += tmp94 + del tmp94 + tmp8 = einsum(t2, (0, 1, 2, 3), tmp7, (4, 5, 3, 2), (0, 1, 5, 4), optimize=True) + l2new += einsum(l2, (0, 1, 2, 3), tmp8, (2, 3, 4, 5), (0, 1, 4, 5), optimize=True) + tmp9 = einsum(tmp5, (0, 1, 2), tmp5, (3, 4, 2), (0, 3, 1, 4), optimize=True) + tmp79 = einsum(tmp78, (0, 1, 2), v.xvv, (2, 3, 4), (0, 1, 3, 4), optimize=True) + del tmp78 + tmp77 = einsum(t2, (0, 1, 2, 3), tmp7, (4, 1, 2, 5), (0, 4, 3, 5), optimize=True) + tmp120 = einsum(tmp22, (0, 1, 2), v.xov, (2, 3, 1), (3, 0), optimize=True) * 0.5 + tmp59 = einsum(tmp13, (0,), v.xoo, (0, 1, 2), (1, 2), optimize=True) + tmp36 = einsum(tmp20, (0, 1, 2, 3), l2, (2, 4, 0, 1), (4, 3), optimize=True) * 2 + tmp49 = tmp47.copy() * 0.5 + tmp49 += tmp48 + del tmp48 + tmp90 = einsum(tmp7, (0, 1, 2, 3), tmp89, (0, 4, 5, 3), (1, 4, 2, 5), optimize=True) + del tmp89 + tmp104 = einsum(t1, (0, 1), tmp103, (2, 1), (0, 2), optimize=True) + tmp60 = einsum(v.xoo, (0, 1, 2), tmp5, (1, 3, 0), (2, 3), optimize=True) + tmp99 = einsum(v.xoo, (0, 1, 2), tmp98, (3, 1, 2, 4), (3, 4, 0), optimize=True) + tmp97 = einsum(tmp96, (0, 1, 2, 3), tmp95, (0, 2, 4), (1, 3, 4), optimize=True) + del tmp96, tmp95 + tmp100 = einsum(tmp5, (0, 1, 2), tmp98, (3, 0, 1, 4), (3, 4, 2), optimize=True) + del tmp98 + tmp54 = einsum(l2, (0, 1, 2, 3), tmp28, (2, 4, 1, 0), (3, 4), optimize=True) * 2 + tmp10 = tmp8.copy() + del tmp8 + tmp10 += tmp9 + tmp3 = einsum(v.xov, (0, 1, 2), v.xvv, (0, 3, 4), (1, 3, 4, 2), optimize=True) + tmp67 = einsum(f.ov, (0, 1), t1, (2, 1), (0, 2), optimize=True) + tmp80 = tmp77.copy() * -1 + del tmp77 + tmp80 += tmp79.transpose((1, 0, 3, 2)) + tmp73 = einsum(v.xov, (0, 1, 2), v.xoo, (0, 3, 4), (3, 4, 1, 2), optimize=True) + tmp25 = einsum(v.xoo, (0, 1, 2), tmp5, (3, 4, 0), (3, 1, 2, 4), optimize=True) + tmp70 = einsum(l1, (0, 1), v.xvv, (2, 3, 0), (1, 3, 2), optimize=True) + tmp75 = einsum(tmp5, (0, 1, 2), v.xov, (2, 3, 4), (0, 3, 1, 4), optimize=True) + tmp121 = tmp59.transpose((1, 0)).copy() + tmp121 += tmp120.transpose((1, 0)) + del tmp120 + tmp118 = einsum(tmp22, (0, 1, 2), v.xov, (2, 0, 3), (3, 1), optimize=True) * 0.5 + tmp37 = einsum(tmp36, (0, 1), v.xov, (2, 3, 1), (3, 0, 2), optimize=True) * 0.5 + del tmp36 + tmp110 = einsum(v.xov, (0, 1, 2), tmp49, (3, 1), (3, 2, 0), optimize=True) * 2 + tmp91 = tmp90.transpose((1, 0, 3, 2)).copy() + del tmp90 + tmp91 += tmp79.transpose((1, 0, 3, 2)) + del tmp79 + tmp63 = einsum(tmp13, (0,), v.xvv, (0, 1, 2), (1, 2), optimize=True) + del tmp13 + tmp105 = tmp60.copy() + tmp105 += tmp104 * -1 + del tmp104 + tmp86 = einsum(l2, (0, 1, 2, 3), t2, (3, 4, 0, 5), (2, 4, 1, 5), optimize=True) + tmp101 = tmp97.copy() * -1 + del tmp97 + tmp101 += tmp99 + del tmp99 + tmp101 += tmp100 + del tmp100 + tmp115 = einsum(v.xov, (0, 1, 2), tmp0, (1, 3, 0), (2, 3), optimize=True) + tmp44 = einsum(t2, (0, 1, 2, 3), l2, (3, 2, 4, 5), (4, 5, 1, 0), optimize=True) + tmp45 = einsum(tmp33, (0, 1, 2, 3), t1, (4, 3), (1, 0, 2, 4), optimize=True) + tmp41 = einsum(l1, (0, 1), t2, (2, 3, 0, 4), (1, 3, 2, 4), optimize=True) + tmp35 = tmp33.copy() + tmp35 += tmp33.transpose((1, 0, 2, 3)) * -0.5 + tmp42 = tmp33.copy() * -1 + tmp42 += tmp33.transpose((1, 0, 2, 3)) * 2 + tmp53 = t2.transpose((1, 0, 2, 3)).copy() * 2 + tmp53 += t2.transpose((1, 0, 3, 2)) * -1 + tmp55 = tmp47.copy() + del tmp47 + tmp55 += tmp54 + del tmp54 + tmp18 = v.xoo.transpose((2, 1, 0)).copy() + tmp18 += tmp5.transpose((1, 0, 2)) + tmp24 = einsum(v.xoo, (0, 1, 2), v.xoo, (0, 3, 4), (3, 2, 1, 4), optimize=True) + tmp11 = einsum(t1, (0, 1), tmp10, (2, 3, 4, 0), (2, 3, 4, 1), optimize=True) * 2 + del tmp10 + tmp4 = einsum(t2, (0, 1, 2, 3), tmp3, (4, 3, 5, 2), (0, 1, 4, 5), optimize=True) + tmp6 = einsum(tmp0, (0, 1, 2), tmp5, (3, 4, 2), (3, 0, 4, 1), optimize=True) + tmp16 = tmp14.copy() * 2 + tmp16 += tmp15 * -1 + tmp69 = einsum(f.ov, (0, 1), tmp33, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) + tmp68 = einsum(l2, (0, 1, 2, 3), tmp67, (4, 3), (4, 2, 0, 1), optimize=True) + del tmp67 + tmp81 = einsum(l2, (0, 1, 2, 3), tmp80, (2, 4, 1, 5), (3, 4, 0, 5), optimize=True) + del tmp80 + tmp74 = einsum(tmp33, (0, 1, 2, 3), tmp73, (4, 0, 2, 5), (1, 4, 3, 5), optimize=True) + tmp72 = einsum(tmp25, (0, 1, 2, 3), l2, (4, 5, 1, 0), (2, 3, 5, 4), optimize=True) + tmp71 = einsum(v.xov, (0, 1, 2), tmp70, (3, 4, 0), (3, 1, 2, 4), optimize=True) + del tmp70 + tmp66 = einsum(l2, (0, 1, 2, 3), f.vv, (4, 1), (2, 3, 4, 0), optimize=True) + tmp76 = einsum(tmp75, (0, 1, 2, 3), tmp33, (0, 4, 1, 5), (4, 2, 5, 3), optimize=True) + tmp122 = einsum(tmp121, (0, 1), l2, (2, 3, 0, 4), (4, 1, 2, 3), optimize=True) * 2 + del tmp121 + tmp119 = einsum(tmp118, (0, 1), l2, (1, 2, 3, 4), (3, 4, 2, 0), optimize=True) * 2 + del tmp118 + tmp109 = einsum(tmp75, (0, 1, 2, 3), l1, (4, 0), (1, 2, 4, 3), optimize=True) + tmp112 = einsum(tmp37, (0, 1, 2), v.xov, (2, 3, 4), (3, 0, 4, 1), optimize=True) * 2 + tmp111 = einsum(v.xov, (0, 1, 2), tmp110, (3, 4, 0), (1, 3, 2, 4), optimize=True) + del tmp110 + tmp83 = einsum(tmp33, (0, 1, 2, 3), tmp73, (4, 1, 2, 5), (0, 4, 3, 5), optimize=True) + tmp85 = einsum(tmp33, (0, 1, 2, 3), tmp3, (2, 4, 3, 5), (1, 0, 5, 4), optimize=True) + del tmp3 + tmp107 = einsum(tmp33, (0, 1, 2, 3), tmp103, (2, 4), (0, 1, 3, 4), optimize=True) + tmp92 = einsum(tmp91, (0, 1, 2, 3), l2, (2, 4, 0, 5), (5, 1, 4, 3), optimize=True) + del tmp91 + tmp84 = einsum(tmp63, (0, 1), l2, (2, 1, 3, 4), (3, 4, 2, 0), optimize=True) + tmp106 = einsum(tmp105, (0, 1), l2, (2, 3, 0, 4), (4, 1, 2, 3), optimize=True) + del tmp105 + tmp88 = einsum(tmp33, (0, 1, 2, 3), tmp75, (1, 2, 4, 5), (0, 4, 3, 5), optimize=True) + del tmp75 + tmp87 = einsum(tmp86, (0, 1, 2, 3), tmp7, (1, 4, 5, 3), (0, 4, 2, 5), optimize=True) + del tmp86 + tmp102 = einsum(tmp101, (0, 1, 2), v.xov, (2, 3, 4), (3, 0, 4, 1), optimize=True) + del tmp101 + tmp114 = einsum(tmp73, (0, 1, 2, 3), l1, (4, 1), (0, 2, 4, 3), optimize=True) + del tmp73 + tmp116 = einsum(l2, (0, 1, 2, 3), tmp115, (4, 1), (2, 3, 0, 4), optimize=True) + del tmp115 + tmp34 = tmp33.copy() * 2 + tmp34 += tmp33.transpose((1, 0, 2, 3)) * -1 + tmp32 = l2.transpose((3, 2, 0, 1)).copy() * -0.5 + tmp32 += l2.transpose((3, 2, 1, 0)) + tmp38 = v.xoo.transpose((2, 1, 0)).copy() + tmp38 += tmp5 + tmp31 = v.xov.transpose((1, 2, 0)).copy() + tmp31 += tmp0 + tmp31 += tmp22 + tmp61 = f.ov.copy() + tmp61 += tmp14 * 2 + tmp61 += tmp15 * -1 + tmp46 = tmp44.transpose((1, 0, 2, 3)).copy() * -1 + tmp46 += tmp44.transpose((1, 0, 3, 2)) * 2 + tmp46 += tmp45 * 2 + tmp46 += tmp45.transpose((0, 1, 3, 2)) * -1 + tmp43 = tmp41.copy() * -1 + tmp43 += tmp41.transpose((0, 2, 1, 3)) * 0.5 + del tmp41 + tmp43 += einsum(t2, (0, 1, 2, 3), tmp42, (4, 0, 5, 2), (4, 5, 1, 3), optimize=True) * 0.5 + del tmp42 + tmp43 += einsum(t2, (0, 1, 2, 3), tmp35, (4, 0, 5, 3), (4, 5, 1, 2), optimize=True) + tmp40 = einsum(tmp21, (0, 1, 2, 3), l2, (4, 3, 0, 5), (5, 1, 4, 2), optimize=True) + tmp40 += einsum(tmp28, (0, 1, 2, 3), l2, (3, 4, 0, 5), (5, 1, 4, 2), optimize=True) * 2 + tmp50 = t1.copy() * -0.5 + tmp50 += einsum(tmp33, (0, 1, 2, 3), tmp28, (0, 1, 4, 3), (2, 4), optimize=True) + tmp50 += einsum(l1, (0, 1), tmp21, (1, 2, 0, 3), (2, 3), optimize=True) * -0.5 + del tmp21 + tmp50 += einsum(t1, (0, 1), tmp49, (0, 2), (2, 1), optimize=True) + tmp52 = einsum(t1, (0, 1), l1, (2, 0), (2, 1), optimize=True) * 0.5 + tmp52 += einsum(tmp20, (0, 1, 2, 3), l2, (2, 4, 0, 1), (4, 3), optimize=True) + tmp56 = l1.transpose((1, 0)).copy() + tmp56 += t1 + tmp56 += einsum(tmp33, (0, 1, 2, 3), tmp53, (0, 1, 4, 3), (2, 4), optimize=True) * -1 + del tmp33, tmp53 + tmp56 += einsum(l1, (0, 1), tmp20, (1, 2, 0, 3), (2, 3), optimize=True) * 2 + tmp56 += einsum(tmp55, (0, 1), t1, (0, 2), (1, 2), optimize=True) * -1 + tmp23 = v.xov.transpose((1, 2, 0)).copy() + tmp23 += tmp22 + tmp1 = einsum(v.xoo, (0, 1, 2), tmp0, (3, 4, 0), (3, 1, 2, 4), optimize=True) + tmp19 = einsum(tmp18, (0, 1, 2), v.xov, (2, 3, 4), (3, 0, 1, 4), optimize=True) + tmp29 = tmp24.transpose((3, 2, 1, 0)).copy() * 0.5 + tmp29 += tmp25.transpose((1, 0, 3, 2)) * 0.5 + tmp29 += tmp25.transpose((3, 0, 2, 1)) * -1 + tmp26 = tmp24.transpose((3, 2, 1, 0)).copy() + tmp26 += tmp25.transpose((1, 0, 3, 2)) + tmp26 += tmp25.transpose((3, 0, 2, 1)) * -0.5 + del tmp25 + tmp2 = einsum(f.ov, (0, 1), t2, (2, 3, 1, 4), (0, 3, 2, 4), optimize=True) + tmp12 = tmp4.copy() * 2 + del tmp4 + tmp12 += tmp6 * 2 + del tmp6 + tmp12 += tmp11 * -1 + del tmp11 + tmp17 = einsum(tmp16, (0, 1), t2, (2, 3, 1, 4), (2, 3, 0, 4), optimize=True) + del tmp16 + tmp125 = tmp44.transpose((1, 0, 3, 2)).copy() + del tmp44 + tmp125 += tmp45 + del tmp45 + l2new += einsum(tmp7, (0, 1, 2, 3), tmp125, (4, 5, 0, 1), (3, 2, 5, 4), optimize=True) + del tmp7, tmp125 + tmp126 = tmp24.transpose((3, 2, 1, 0)).copy() + del tmp24 + tmp126 += tmp9.transpose((0, 3, 1, 2)) + del tmp9 + l2new += einsum(tmp126, (0, 1, 2, 3), l2, (4, 5, 0, 2), (5, 4, 1, 3), optimize=True) + del tmp126 + tmp82 = tmp66.copy() + del tmp66 + tmp82 += tmp68 * -1 + del tmp68 + tmp82 += tmp69 * -1 + del tmp69 + tmp82 += tmp71 + del tmp71 + tmp82 += tmp72 + del tmp72 + tmp82 += tmp74 + del tmp74 + tmp82 += tmp76 + del tmp76 + tmp82 += tmp81 * -1 + del tmp81 + l2new += tmp82.transpose((2, 3, 1, 0)) + l2new += tmp82.transpose((3, 2, 0, 1)) + del tmp82 + tmp123 = tmp119.transpose((1, 0, 2, 3)).copy() + del tmp119 + tmp123 += tmp122.transpose((0, 1, 3, 2)) + del tmp122 + l2new += tmp123.transpose((3, 2, 1, 0)) * -1 + l2new += tmp123.transpose((2, 3, 0, 1)) * -1 + del tmp123 + tmp113 = tmp109.copy() + del tmp109 + tmp113 += tmp111.transpose((1, 0, 2, 3)) + del tmp111 + tmp113 += tmp112.transpose((0, 1, 3, 2)) + del tmp112 + l2new += tmp113.transpose((2, 3, 1, 0)) * -1 + l2new += tmp113.transpose((3, 2, 0, 1)) * -1 + del tmp113 + tmp65 = einsum(v.xvv, (0, 1, 2), v.xvv, (0, 3, 4), (1, 4, 3, 2), optimize=True) + l2new += einsum(l2, (0, 1, 2, 3), tmp65, (4, 5, 1, 0), (4, 5, 2, 3), optimize=True) + del tmp65 + tmp108 = einsum(f.ov, (0, 1), l1, (2, 3), (0, 3, 1, 2), optimize=True) + tmp108 += tmp83 + del tmp83 + tmp108 += tmp84 * 2 + del tmp84 + tmp108 += tmp85 * -1 + del tmp85 + tmp108 += tmp87 + del tmp87 + tmp108 += tmp88 + del tmp88 + tmp108 += tmp92 * -1 + del tmp92 + tmp108 += tmp102.transpose((1, 0, 3, 2)) * -1 + del tmp102 + tmp108 += tmp106.transpose((0, 1, 3, 2)) + del tmp106 + tmp108 += tmp107 * -1 + del tmp107 + tmp108 += einsum(l1, (0, 1), tmp103, (2, 3), (1, 2, 0, 3), optimize=True) + del tmp103 + l2new += tmp108.transpose((3, 2, 1, 0)) + l2new += tmp108.transpose((2, 3, 0, 1)) + del tmp108 + tmp117 = tmp114.copy() + del tmp114 + tmp117 += tmp116 + del tmp116 + l2new += tmp117.transpose((3, 2, 1, 0)) * -1 + l2new += tmp117.transpose((2, 3, 0, 1)) * -1 + del tmp117 + tmp124 = einsum(l2, (0, 1, 2, 3), f.oo, (4, 3), (4, 2, 0, 1), optimize=True) + l2new += tmp124.transpose((2, 3, 1, 0)) * -1 + l2new += tmp124.transpose((3, 2, 0, 1)) * -1 + del tmp124 + tmp39 = einsum(tmp31, (0, 1, 2), tmp32, (0, 3, 1, 4), (3, 4, 2), optimize=True) * -1 + del tmp32 + tmp39 += einsum(v.xoo, (0, 1, 2), tmp34, (3, 1, 2, 4), (3, 4, 0), optimize=True) * 0.5 + del tmp34 + tmp39 += einsum(tmp35, (0, 1, 2, 3), tmp5, (1, 2, 4), (0, 3, 4), optimize=True) + tmp39 += tmp37 + del tmp37 + tmp39 += einsum(tmp38, (0, 1, 2), l1, (3, 0), (1, 3, 2), optimize=True) * 0.5 + del tmp38 + l1new = einsum(v.xvv, (0, 1, 2), tmp39, (3, 1, 0), (2, 3), optimize=True) * -2 + del tmp39 + tmp62 = f.oo.transpose((1, 0)).copy() + tmp62 += tmp59.transpose((1, 0)) * 2 + del tmp59 + tmp62 += tmp60 * -1 + del tmp60 + tmp62 += einsum(v.xov, (0, 1, 2), tmp22, (3, 2, 0), (3, 1), optimize=True) + del tmp22 + tmp62 += einsum(t1, (0, 1), tmp61, (2, 1), (0, 2), optimize=True) + del tmp61 + l1new += einsum(tmp62, (0, 1), l1, (2, 0), (2, 1), optimize=True) * -1 + del tmp62 + tmp58 = f.ov.copy() * 0.5 + tmp58 += tmp14 + del tmp14 + tmp58 += tmp15 * -0.5 + del tmp15 + l1new += einsum(tmp58, (0, 1), tmp49, (2, 0), (1, 2), optimize=True) * -4 + del tmp58 + tmp51 = einsum(l1, (0, 1), tmp0, (2, 0, 3), (2, 1, 3), optimize=True) * -1 + del tmp0 + tmp51 += einsum(tmp40, (0, 1, 2, 3), v.xvv, (4, 3, 2), (1, 0, 4), optimize=True) * -1 + del tmp40 + tmp51 += einsum(tmp31, (0, 1, 2), tmp35, (0, 3, 4, 1), (4, 3, 2), optimize=True) * -2 + del tmp35, tmp31 + tmp51 += einsum(v.xov, (0, 1, 2), tmp43, (3, 1, 4, 2), (4, 3, 0), optimize=True) * 2 + del tmp43 + tmp51 += einsum(tmp5, (0, 1, 2), tmp46, (0, 3, 1, 4), (4, 3, 2), optimize=True) + del tmp5 + tmp51 += einsum(v.xoo, (0, 1, 2), tmp46, (1, 3, 2, 4), (4, 3, 0), optimize=True) + del tmp46 + tmp51 += einsum(v.xov, (0, 1, 2), tmp50, (3, 2), (3, 1, 0), optimize=True) * 2 + del tmp50 + tmp51 += einsum(v.xoo, (0, 1, 2), tmp49, (1, 3), (3, 2, 0), optimize=True) * 2 + del tmp49 + l1new += einsum(tmp51, (0, 1, 2), v.xov, (2, 0, 3), (3, 1), optimize=True) + del tmp51 + tmp64 = f.vv.transpose((1, 0)).copy() + tmp64 += tmp63.transpose((1, 0)) * 2 + del tmp63 + l1new += einsum(l1, (0, 1), tmp64, (0, 2), (2, 1), optimize=True) + del tmp64 + tmp57 = einsum(tmp52, (0, 1), v.xvv, (2, 1, 0), (2,), optimize=True) * 2 + del tmp52 + tmp57 += einsum(v.xov, (0, 1, 2), tmp56, (1, 2), (0,), optimize=True) + del tmp56 + tmp57 += einsum(tmp55, (0, 1), v.xoo, (2, 1, 0), (2,), optimize=True) * -1 + del tmp55 + l1new += einsum(tmp57, (0,), v.xov, (0, 1, 2), (2, 1), optimize=True) * 2 + del tmp57 + tmp30 = tmp1.transpose((0, 2, 1, 3)).copy() * -1 + tmp30 += einsum(tmp19, (0, 1, 2, 3), tmp28, (1, 4, 3, 5), (2, 0, 4, 5), optimize=True) + del tmp28 + tmp30 += einsum(tmp18, (0, 1, 2), tmp23, (3, 4, 2), (1, 0, 3, 4), optimize=True) * 0.5 + tmp30 += einsum(t1, (0, 1), tmp29, (0, 2, 3, 4), (2, 3, 4, 1), optimize=True) * -1 + del tmp29 + l1new += einsum(l2, (0, 1, 2, 3), tmp30, (3, 4, 2, 1), (0, 4), optimize=True) * 2 + del tmp30 + tmp27 = tmp1.transpose((0, 2, 1, 3)).copy() + del tmp1 + tmp27 += tmp2.transpose((1, 0, 2, 3)) + tmp27 += tmp2.transpose((2, 0, 1, 3)) * -2 + del tmp2 + tmp27 += tmp12.transpose((0, 2, 1, 3)) * -1 + tmp27 += tmp12.transpose((1, 2, 0, 3)) * 0.5 + del tmp12 + tmp27 += tmp17.transpose((1, 2, 0, 3)) + tmp27 += tmp17.transpose((0, 2, 1, 3)) * -2 + del tmp17 + tmp27 += einsum(tmp19, (0, 1, 2, 3), tmp20, (1, 4, 3, 5), (2, 0, 4, 5), optimize=True) * 2 + del tmp20, tmp19 + tmp27 += einsum(tmp18, (0, 1, 2), tmp23, (3, 4, 2), (1, 0, 3, 4), optimize=True) * -2 + del tmp18, tmp23 + tmp27 += einsum(t1, (0, 1), tmp26, (0, 2, 3, 4), (2, 3, 4, 1), optimize=True) * 2 + del tmp26 + l1new += einsum(tmp27, (0, 1, 2, 3), l2, (3, 4, 2, 0), (4, 1), optimize=True) + del tmp27 + l1new += f.ov.transpose((1, 0)) + + return {f"l1new": l1new, f"l2new": l2new} + +def make_rdm1_f(l1=None, l2=None, t1=None, t2=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-07-18T20:38:51.367630. + + Parameters + ---------- + l1 : array + L1 amplitudes. + l2 : array + L2 amplitudes. + t1 : array + T1 amplitudes. + t2 : array + T2 amplitudes. + + Returns + ------- + rdm1 : array + One-particle reduced density matrix. + """ + + rdm1 = Namespace() + delta = Namespace( + oo=np.eye(t2.shape[0]), + vv=np.eye(t2.shape[-1]), + ) + tmp2 = einsum(l2, (0, 1, 2, 3), t1, (4, 0), (3, 2, 4, 1), optimize=True) + tmp0 = einsum(l1, (0, 1), t1, (2, 0), (1, 2), optimize=True) + rdm1.oo = tmp0.transpose((1, 0)).copy() * -2 + tmp5 = t2.transpose((1, 0, 2, 3)).copy() * -0.5 + tmp5 += t2.transpose((1, 0, 3, 2)) + tmp7 = l2.transpose((3, 2, 0, 1)).copy() * 2 + tmp7 += l2.transpose((3, 2, 1, 0)) * -1 + rdm1.vv = einsum(t2, (0, 1, 2, 3), tmp7, (0, 1, 4, 2), (4, 3), optimize=True) * 2 + del tmp7 + tmp3 = tmp2.copy() * -0.5 + tmp3 += tmp2.transpose((1, 0, 2, 3)) + del tmp2 + rdm1.ov = einsum(tmp3, (0, 1, 2, 3), t2, (1, 0, 3, 4), (2, 4), optimize=True) * -4 + del tmp3 + tmp4 = t2.transpose((1, 0, 2, 3)).copy() * -1 + tmp4 += t2.transpose((1, 0, 3, 2)) * 2 + rdm1.ov += einsum(tmp4, (0, 1, 2, 3), l1, (2, 0), (1, 3), optimize=True) * 2 + del tmp4 + tmp6 = tmp0.copy() * 0.5 + del tmp0 + tmp6 += einsum(l2, (0, 1, 2, 3), tmp5, (2, 4, 0, 1), (3, 4), optimize=True) + del tmp5 + rdm1.ov += einsum(t1, (0, 1), tmp6, (0, 2), (2, 1), optimize=True) * -4 + del tmp6 + tmp1 = t2.transpose((1, 0, 2, 3)).copy() + tmp1 += t2.transpose((1, 0, 3, 2)) * -0.5 + rdm1.oo += einsum(tmp1, (0, 1, 2, 3), l2, (3, 2, 0, 4), (1, 4), optimize=True) * -4 + del tmp1 + rdm1.oo += delta.oo.transpose((1, 0)) * 2 + del delta + rdm1.ov += t1 * 2 + rdm1.vo = l1.copy() * 2 + rdm1.vv += einsum(t1, (0, 1), l1, (2, 0), (2, 1), optimize=True) * 2 + rdm1 = np.block([[rdm1.oo, rdm1.ov], [rdm1.vo, rdm1.vv]]) + + return rdm1 + +def make_rdm2_f(l1=None, l2=None, t1=None, t2=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-07-18T20:39:44.609793. + + Parameters + ---------- + l1 : array + L1 amplitudes. + l2 : array + L2 amplitudes. + t1 : array + T1 amplitudes. + t2 : array + T2 amplitudes. + + Returns + ------- + rdm2 : array + Two-particle reduced density matrix. + """ + + rdm2 = Namespace() + delta = Namespace( + oo=np.eye(t2.shape[0]), + vv=np.eye(t2.shape[-1]), + ) + tmp4 = einsum(l2, (0, 1, 2, 3), t1, (4, 0), (3, 2, 4, 1), optimize=True) + rdm2.vooo = tmp4.transpose((3, 2, 1, 0)).copy() + rdm2.vooo += tmp4.transpose((3, 2, 0, 1)) * -1 + rdm2.vooo += tmp4.transpose((3, 2, 0, 1)) * -1 + rdm2.vooo += tmp4.transpose((3, 2, 0, 1)) * -1 + rdm2.vooo += tmp4.transpose((3, 2, 1, 0)) + rdm2.vooo += tmp4.transpose((3, 2, 0, 1)) * -1 + rdm2.ovoo = tmp4.transpose((2, 3, 1, 0)).copy() * -1 + rdm2.ovoo += tmp4.transpose((2, 3, 0, 1)) + rdm2.ovoo += tmp4.transpose((2, 3, 1, 0)) * -1 + rdm2.ovoo += tmp4.transpose((2, 3, 1, 0)) * -1 + rdm2.ovoo += tmp4.transpose((2, 3, 1, 0)) * -1 + rdm2.ovoo += tmp4.transpose((2, 3, 0, 1)) + tmp79 = t2.transpose((1, 0, 2, 3)).copy() * -1 + tmp79 += t2.transpose((1, 0, 3, 2)) + tmp9 = t2.transpose((1, 0, 2, 3)).copy() * -1 + tmp9 += t2.transpose((1, 0, 3, 2)) * 2 + tmp20 = tmp4.copy() * -1 + tmp20 += tmp4.transpose((1, 0, 2, 3)) * 2 + tmp18 = tmp4.copy() * -1 + tmp18 += tmp4.transpose((1, 0, 2, 3)) + tmp1 = t2.transpose((1, 0, 2, 3)).copy() * -0.5 + tmp1 += t2.transpose((1, 0, 3, 2)) + tmp45 = l2.transpose((3, 2, 0, 1)).copy() * 2 + tmp45 += l2.transpose((3, 2, 1, 0)) * -1 + tmp87 = einsum(t1, (0, 1), tmp4, (2, 0, 3, 4), (2, 3, 4, 1), optimize=True) + rdm2.voov = tmp87.transpose((2, 1, 0, 3)).copy() * -1 + rdm2.voov += tmp87.transpose((2, 1, 0, 3)) * -1 + rdm2.ovvo = tmp87.transpose((1, 2, 3, 0)).copy() * -1 + rdm2.ovvo += tmp87.transpose((1, 2, 3, 0)) * -1 + tmp80 = einsum(l2, (0, 1, 2, 3), tmp79, (2, 4, 1, 5), (4, 3, 5, 0), optimize=True) + del tmp79 + rdm2.voov += tmp80.transpose((3, 0, 1, 2)) * -1 + rdm2.voov += tmp80.transpose((3, 0, 1, 2)) * -1 + rdm2.ovov = tmp80.transpose((0, 3, 1, 2)).copy() + rdm2.ovov += tmp80.transpose((0, 3, 1, 2)) + tmp81 = einsum(l2, (0, 1, 2, 3), tmp9, (2, 4, 0, 5), (4, 3, 5, 1), optimize=True) + rdm2.voov += tmp81.transpose((3, 0, 1, 2)) + rdm2.voov += tmp81.transpose((3, 0, 1, 2)) + rdm2.ovov += tmp81.transpose((0, 3, 1, 2)) * -1 + rdm2.ovov += tmp81.transpose((0, 3, 1, 2)) * -1 + tmp62 = l2.transpose((3, 2, 0, 1)).copy() * -1 + tmp62 += l2.transpose((3, 2, 1, 0)) * 2 + tmp102 = l2.transpose((3, 2, 0, 1)).copy() * 2 + tmp102 += l2.transpose((3, 2, 1, 0)) * -1 + tmp3 = einsum(l2, (0, 1, 2, 3), t2, (4, 5, 1, 0), (2, 3, 5, 4), optimize=True) + rdm2.oooo = tmp3.transpose((3, 2, 1, 0)).copy() + rdm2.oooo += tmp3.transpose((3, 2, 1, 0)) + tmp25 = einsum(tmp4, (0, 1, 2, 3), t2, (4, 0, 3, 5), (1, 2, 4, 5), optimize=True) + rdm2.oovo = tmp25.transpose((2, 1, 3, 0)).copy() + rdm2.oovo += tmp25.transpose((2, 1, 3, 0)) + rdm2.ooov = tmp25.transpose((1, 2, 0, 3)).copy() + rdm2.ooov += tmp25.transpose((1, 2, 0, 3)) + tmp21 = einsum(t2, (0, 1, 2, 3), tmp20, (4, 0, 5, 2), (4, 5, 1, 3), optimize=True) + del tmp20 + tmp5 = einsum(tmp4, (0, 1, 2, 3), t1, (4, 3), (0, 1, 4, 2), optimize=True) + rdm2.oooo += tmp5.transpose((3, 2, 1, 0)) + rdm2.oooo += tmp5.transpose((3, 2, 1, 0)) + tmp54 = l2.transpose((3, 2, 0, 1)).copy() + tmp54 += l2.transpose((3, 2, 1, 0)) * -1 + tmp16 = einsum(l1, (0, 1), t2, (2, 3, 0, 4), (1, 3, 2, 4), optimize=True) + rdm2.oovo += tmp16.transpose((1, 2, 3, 0)) * -1 + rdm2.oovo += tmp16.transpose((1, 2, 3, 0)) * -1 + rdm2.ooov += tmp16.transpose((2, 1, 0, 3)) * -1 + rdm2.ooov += tmp16.transpose((2, 1, 0, 3)) * -1 + tmp19 = einsum(t2, (0, 1, 2, 3), tmp18, (4, 0, 5, 3), (4, 5, 1, 2), optimize=True) + tmp0 = einsum(l1, (0, 1), t1, (2, 0), (1, 2), optimize=True) + rdm2.ooov += einsum(t1, (0, 1), tmp0, (2, 3), (3, 0, 2, 1), optimize=True) * -1 + rdm2.ooov += einsum(tmp0, (0, 1), t1, (2, 3), (2, 1, 0, 3), optimize=True) + rdm2.ooov += einsum(t1, (0, 1), tmp0, (2, 3), (3, 0, 2, 1), optimize=True) * -1 + rdm2.ooov += einsum(tmp0, (0, 1), t1, (2, 3), (2, 1, 0, 3), optimize=True) + rdm2.oooo += einsum(tmp0, (0, 1), delta.oo, (2, 3), (3, 1, 2, 0), optimize=True) * -1 + rdm2.oooo += einsum(tmp0, (0, 1), delta.oo, (2, 3), (1, 3, 2, 0), optimize=True) + rdm2.oooo += einsum(tmp0, (0, 1), delta.oo, (2, 3), (3, 1, 0, 2), optimize=True) + rdm2.oooo += einsum(delta.oo, (0, 1), tmp0, (2, 3), (3, 1, 2, 0), optimize=True) * -1 + rdm2.oooo += einsum(tmp0, (0, 1), delta.oo, (2, 3), (3, 1, 2, 0), optimize=True) * -1 + rdm2.oooo += einsum(tmp0, (0, 1), delta.oo, (2, 3), (3, 1, 2, 0), optimize=True) * -1 + rdm2.oooo += einsum(tmp0, (0, 1), delta.oo, (2, 3), (3, 1, 2, 0), optimize=True) * -1 + rdm2.oooo += einsum(tmp0, (0, 1), delta.oo, (2, 3), (1, 3, 2, 0), optimize=True) + rdm2.oooo += einsum(tmp0, (0, 1), delta.oo, (2, 3), (3, 1, 0, 2), optimize=True) + rdm2.oooo += einsum(delta.oo, (0, 1), tmp0, (2, 3), (3, 1, 2, 0), optimize=True) * -1 + tmp26 = einsum(tmp4, (0, 1, 2, 3), t2, (4, 1, 3, 5), (0, 2, 4, 5), optimize=True) + rdm2.oovo += tmp26.transpose((1, 2, 3, 0)) + rdm2.oovo += tmp26.transpose((1, 2, 3, 0)) + rdm2.ooov += tmp26.transpose((2, 1, 0, 3)) + rdm2.ooov += tmp26.transpose((2, 1, 0, 3)) + tmp12 = tmp4.copy() * 2 + tmp12 += tmp4.transpose((1, 0, 2, 3)) * -1 + tmp2 = einsum(tmp1, (0, 1, 2, 3), l2, (2, 3, 0, 4), (4, 1), optimize=True) * 2 + rdm2.oooo += einsum(tmp2, (0, 1), delta.oo, (2, 3), (2, 1, 3, 0), optimize=True) * -1 + rdm2.oooo += einsum(tmp2, (0, 1), delta.oo, (2, 3), (1, 3, 2, 0), optimize=True) + rdm2.oooo += einsum(tmp2, (0, 1), delta.oo, (2, 3), (2, 1, 0, 3), optimize=True) + rdm2.oooo += einsum(tmp2, (0, 1), delta.oo, (2, 3), (1, 3, 0, 2), optimize=True) * -1 + rdm2.oooo += einsum(tmp2, (0, 1), delta.oo, (2, 3), (2, 1, 3, 0), optimize=True) * -1 + rdm2.oooo += einsum(tmp2, (0, 1), delta.oo, (2, 3), (1, 3, 0, 2), optimize=True) * -1 + rdm2.oooo += einsum(tmp2, (0, 1), delta.oo, (2, 3), (2, 1, 3, 0), optimize=True) * -1 + rdm2.oooo += einsum(tmp2, (0, 1), delta.oo, (2, 3), (1, 3, 0, 2), optimize=True) * -1 + rdm2.oooo += einsum(tmp2, (0, 1), delta.oo, (2, 3), (2, 1, 3, 0), optimize=True) * -1 + rdm2.oooo += einsum(tmp2, (0, 1), delta.oo, (2, 3), (1, 3, 2, 0), optimize=True) + rdm2.oooo += einsum(tmp2, (0, 1), delta.oo, (2, 3), (2, 1, 0, 3), optimize=True) + rdm2.oooo += einsum(tmp2, (0, 1), delta.oo, (2, 3), (1, 3, 0, 2), optimize=True) * -1 + tmp33 = einsum(tmp1, (0, 1, 2, 3), l2, (2, 3, 0, 4), (4, 1), optimize=True) + del tmp1 + tmp112 = einsum(l2, (0, 1, 2, 3), t1, (3, 4), (2, 0, 1, 4), optimize=True) + rdm2.vvvo = tmp112.transpose((2, 1, 3, 0)).copy() + rdm2.vvvo += tmp112.transpose((1, 2, 3, 0)) * -1 + rdm2.vvvo += tmp112.transpose((2, 1, 3, 0)) + rdm2.vvvo += tmp112.transpose((2, 1, 3, 0)) + rdm2.vvvo += tmp112.transpose((2, 1, 3, 0)) + rdm2.vvvo += tmp112.transpose((1, 2, 3, 0)) * -1 + rdm2.vvov = tmp112.transpose((2, 1, 0, 3)).copy() * -1 + rdm2.vvov += tmp112.transpose((1, 2, 0, 3)) + rdm2.vvov += tmp112.transpose((1, 2, 0, 3)) + rdm2.vvov += tmp112.transpose((1, 2, 0, 3)) + rdm2.vvov += tmp112.transpose((2, 1, 0, 3)) * -1 + rdm2.vvov += tmp112.transpose((1, 2, 0, 3)) + tmp67 = einsum(t2, (0, 1, 2, 3), l2, (4, 2, 5, 1), (5, 0, 4, 3), optimize=True) + rdm2.voov += tmp67.transpose((2, 1, 0, 3)) * -1 + rdm2.voov += tmp67.transpose((2, 1, 0, 3)) * -1 + rdm2.ovvo += tmp67.transpose((1, 2, 3, 0)) * -1 + rdm2.ovvo += tmp67.transpose((1, 2, 3, 0)) * -1 + tmp52 = einsum(t2, (0, 1, 2, 3), tmp45, (0, 4, 5, 2), (4, 1, 5, 3), optimize=True) + rdm2.voov += tmp52.transpose((2, 1, 0, 3)) + rdm2.voov += tmp52.transpose((2, 1, 0, 3)) + rdm2.ovvo += tmp52.transpose((1, 2, 3, 0)) + rdm2.ovvo += tmp52.transpose((1, 2, 3, 0)) + tmp106 = tmp87.copy() + tmp106 += tmp80.transpose((1, 0, 3, 2)) + tmp106 += tmp81.transpose((1, 0, 3, 2)) * -1 + tmp83 = einsum(t1, (0, 1), l1, (2, 0), (2, 1), optimize=True) + tmp84 = einsum(t2, (0, 1, 2, 3), tmp62, (0, 1, 4, 3), (4, 2), optimize=True) + tmp95 = tmp81.transpose((1, 0, 3, 2)).copy() + del tmp81 + tmp95 += tmp80.transpose((1, 0, 3, 2)) * -1 + del tmp80 + tmp103 = einsum(t2, (0, 1, 2, 3), tmp102, (0, 4, 5, 2), (4, 1, 5, 3), optimize=True) + del tmp102 + tmp23 = einsum(t1, (0, 1), tmp3, (2, 0, 3, 4), (2, 3, 4, 1), optimize=True) + tmp71 = tmp25.copy() + del tmp25 + tmp71 += tmp21 * -1 + tmp46 = einsum(tmp45, (0, 1, 2, 3), t2, (0, 4, 5, 3), (1, 4, 2, 5), optimize=True) + del tmp45 + tmp6 = tmp3.transpose((1, 0, 3, 2)).copy() + tmp6 += tmp5 + rdm2.oooo += tmp6.transpose((2, 3, 0, 1)) + rdm2.oooo += tmp6.transpose((3, 2, 0, 1)) * -1 + rdm2.oooo += tmp6.transpose((2, 3, 0, 1)) + rdm2.oooo += tmp6.transpose((3, 2, 0, 1)) * -1 + tmp17 = einsum(t1, (0, 1), tmp5, (0, 2, 3, 4), (2, 4, 3, 1), optimize=True) + tmp55 = einsum(tmp54, (0, 1, 2, 3), t2, (0, 4, 5, 3), (1, 4, 2, 5), optimize=True) + rdm2.ovvo += tmp55.transpose((1, 2, 3, 0)) * -1 + rdm2.ovvo += tmp55.transpose((1, 2, 3, 0)) * -1 + tmp48 = tmp16.copy() + tmp48 += tmp19 + tmp48 += tmp21 * -1 + tmp10 = einsum(l1, (0, 1), tmp9, (1, 2, 0, 3), (2, 3), optimize=True) + del tmp9 + rdm2.oovo += einsum(tmp10, (0, 1), delta.oo, (2, 3), (2, 0, 1, 3), optimize=True) * -1 + rdm2.oovo += einsum(tmp10, (0, 1), delta.oo, (2, 3), (0, 3, 1, 2), optimize=True) + rdm2.oovo += einsum(tmp10, (0, 1), delta.oo, (2, 3), (2, 0, 1, 3), optimize=True) * -1 + rdm2.oovo += einsum(tmp10, (0, 1), delta.oo, (2, 3), (0, 3, 1, 2), optimize=True) + tmp8 = einsum(tmp0, (0, 1), t1, (0, 2), (1, 2), optimize=True) + rdm2.oovv = einsum(t1, (0, 1), tmp8, (2, 3), (0, 2, 1, 3), optimize=True) * -1 + rdm2.oovv += einsum(t1, (0, 1), tmp8, (2, 3), (0, 2, 1, 3), optimize=True) * -1 + tmp74 = tmp16.copy() + tmp74 += tmp26 * -1 + del tmp26 + tmp13 = einsum(tmp12, (0, 1, 2, 3), t2, (1, 0, 4, 3), (2, 4), optimize=True) * 0.5 + tmp14 = einsum(t1, (0, 1), tmp2, (0, 2), (2, 1), optimize=True) * 0.5 + tmp63 = einsum(t2, (0, 1, 2, 3), tmp62, (0, 1, 4, 3), (4, 2), optimize=True) * 0.5 + del tmp62 + tmp34 = tmp0.copy() * 0.5 + tmp34 += tmp33 + del tmp33 + tmp31 = t2.transpose((1, 0, 2, 3)).copy() * -1 + tmp31 += t2.transpose((1, 0, 3, 2)) * 2 + tmp114 = einsum(tmp112, (0, 1, 2, 3), t1, (0, 4), (2, 1, 3, 4), optimize=True) + del tmp112 + rdm2.vvvv = tmp114.transpose((1, 0, 3, 2)).copy() + rdm2.vvvv += tmp114.transpose((1, 0, 3, 2)) + tmp113 = einsum(l2, (0, 1, 2, 3), t2, (2, 3, 4, 5), (0, 1, 4, 5), optimize=True) + rdm2.vvvv += tmp113.transpose((1, 0, 3, 2)) + rdm2.vvvv += tmp113.transpose((1, 0, 3, 2)) + tmp69 = einsum(l2, (0, 1, 2, 3), t2, (4, 3, 0, 5), (2, 4, 1, 5), optimize=True) + rdm2.vovo = tmp69.transpose((2, 1, 3, 0)).copy() * -1 + rdm2.vovo += tmp69.transpose((2, 1, 3, 0)) * -1 + rdm2.ovov += tmp69.transpose((1, 2, 0, 3)) * -1 + rdm2.ovov += tmp69.transpose((1, 2, 0, 3)) * -1 + tmp110 = tmp67.copy() + tmp110 += tmp87 + tmp110 += tmp52 * -1 + tmp107 = einsum(t1, (0, 1), tmp106, (0, 2, 3, 4), (2, 3, 4, 1), optimize=True) + del tmp106 + tmp94 = einsum(t2, (0, 1, 2, 3), l1, (4, 1), (0, 4, 2, 3), optimize=True) + rdm2.vovv = tmp94.transpose((1, 0, 3, 2)).copy() + rdm2.vovv += tmp94.transpose((1, 0, 3, 2)) + rdm2.ovvv = tmp94.copy() + rdm2.ovvv += tmp94 + tmp98 = einsum(tmp4, (0, 1, 2, 3), t2, (0, 1, 4, 5), (2, 3, 4, 5), optimize=True) + rdm2.vovv += tmp98.transpose((1, 0, 2, 3)) * -1 + rdm2.vovv += tmp98.transpose((1, 0, 2, 3)) * -1 + rdm2.ovvv += tmp98.transpose((0, 1, 3, 2)) * -1 + rdm2.ovvv += tmp98.transpose((0, 1, 3, 2)) * -1 + tmp85 = tmp83.copy() + tmp85 += tmp84 + del tmp84 + rdm2.vovv += einsum(t1, (0, 1), tmp85, (2, 3), (2, 0, 3, 1), optimize=True) + rdm2.vovv += einsum(t1, (0, 1), tmp85, (2, 3), (2, 0, 3, 1), optimize=True) + rdm2.voov += einsum(delta.oo, (0, 1), tmp85, (2, 3), (2, 1, 0, 3), optimize=True) * -1 + rdm2.voov += einsum(delta.oo, (0, 1), tmp85, (2, 3), (2, 1, 0, 3), optimize=True) * -1 + rdm2.ovvo += einsum(delta.oo, (0, 1), tmp85, (2, 3), (1, 2, 3, 0), optimize=True) * -1 + rdm2.ovvo += einsum(delta.oo, (0, 1), tmp85, (2, 3), (1, 2, 3, 0), optimize=True) * -1 + rdm2.ovov += einsum(delta.oo, (0, 1), tmp85, (2, 3), (1, 2, 0, 3), optimize=True) + rdm2.ovov += einsum(delta.oo, (0, 1), tmp85, (2, 3), (1, 2, 0, 3), optimize=True) + rdm2.ovov += einsum(delta.oo, (0, 1), tmp85, (2, 3), (1, 2, 0, 3), optimize=True) + rdm2.ovov += einsum(delta.oo, (0, 1), tmp85, (2, 3), (1, 2, 0, 3), optimize=True) + tmp96 = einsum(tmp95, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4), optimize=True) + del tmp95 + tmp104 = tmp67.copy() + tmp104 += tmp87 + tmp104 += tmp103 * -1 + del tmp103 + tmp90 = tmp4.copy() + tmp90 += tmp4.transpose((1, 0, 2, 3)) * -1 + tmp88 = l2.transpose((3, 2, 0, 1)).copy() * -1 + tmp88 += l2.transpose((3, 2, 1, 0)) * 2 + tmp60 = einsum(tmp23, (0, 1, 2, 3), t1, (0, 4), (1, 2, 4, 3), optimize=True) + tmp58 = einsum(t2, (0, 1, 2, 3), tmp3, (0, 1, 4, 5), (4, 5, 2, 3), optimize=True) + del tmp3 + rdm2.oovv += tmp58 + rdm2.oovv += tmp58 + tmp59 = einsum(tmp5, (0, 1, 2, 3), t2, (1, 0, 4, 5), (2, 3, 5, 4), optimize=True) + del tmp5 + rdm2.oovv += tmp59 + rdm2.oovv += tmp59 + tmp72 = einsum(t1, (0, 1), tmp71, (0, 2, 3, 4), (2, 3, 4, 1), optimize=True) + del tmp71 + tmp47 = einsum(t2, (0, 1, 2, 3), tmp46, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) + del tmp46 + tmp29 = einsum(t1, (0, 1), tmp6, (0, 2, 3, 4), (2, 3, 4, 1), optimize=True) + del tmp6 + rdm2.oovo += tmp29.transpose((1, 2, 3, 0)) + rdm2.oovo += tmp29.transpose((1, 2, 3, 0)) + rdm2.ooov += tmp29.transpose((2, 1, 0, 3)) + rdm2.ooov += tmp29.transpose((2, 1, 0, 3)) + tmp51 = einsum(tmp17, (0, 1, 2, 3), t1, (0, 4), (1, 2, 4, 3), optimize=True) + tmp56 = einsum(tmp55, (0, 1, 2, 3), t2, (0, 4, 5, 2), (1, 4, 3, 5), optimize=True) + del tmp55 + tmp53 = einsum(tmp52, (0, 1, 2, 3), t2, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) + del tmp52 + rdm2.oovv += tmp53 * 2 + rdm2.oovv += tmp53 * 2 + tmp49 = einsum(tmp48, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4), optimize=True) + del tmp48 + tmp11 = tmp8.copy() + tmp11 += tmp10 * -1 + rdm2.ooov += einsum(tmp11, (0, 1), delta.oo, (2, 3), (2, 0, 3, 1), optimize=True) * -1 + rdm2.ooov += einsum(tmp11, (0, 1), delta.oo, (2, 3), (0, 3, 2, 1), optimize=True) + rdm2.ooov += einsum(tmp11, (0, 1), delta.oo, (2, 3), (2, 0, 3, 1), optimize=True) * -1 + rdm2.ooov += einsum(tmp11, (0, 1), delta.oo, (2, 3), (0, 3, 2, 1), optimize=True) + tmp44 = einsum(t2, (0, 1, 2, 3), tmp0, (1, 4), (4, 0, 2, 3), optimize=True) + tmp75 = einsum(t1, (0, 1), tmp74, (0, 2, 3, 4), (2, 3, 4, 1), optimize=True) + del tmp74 + tmp15 = tmp13.copy() + tmp15 += tmp14 + del tmp14 + rdm2.ooov += einsum(tmp15, (0, 1), delta.oo, (2, 3), (2, 0, 3, 1), optimize=True) * -2 + rdm2.ooov += einsum(tmp15, (0, 1), delta.oo, (2, 3), (0, 3, 2, 1), optimize=True) * 2 + rdm2.ooov += einsum(tmp15, (0, 1), delta.oo, (2, 3), (2, 0, 3, 1), optimize=True) * -2 + rdm2.ooov += einsum(tmp15, (0, 1), delta.oo, (2, 3), (0, 3, 2, 1), optimize=True) * 2 + tmp65 = einsum(t2, (0, 1, 2, 3), tmp2, (0, 4), (1, 4, 2, 3), optimize=True) + tmp64 = einsum(t2, (0, 1, 2, 3), tmp63, (2, 4), (0, 1, 4, 3), optimize=True) * 2 + tmp30 = einsum(tmp12, (0, 1, 2, 3), t2, (1, 0, 4, 3), (2, 4), optimize=True) + del tmp12 + tmp35 = einsum(tmp34, (0, 1), t1, (0, 2), (1, 2), optimize=True) * 2 + tmp27 = tmp4.copy() * 2 + tmp27 += tmp4.transpose((1, 0, 2, 3)) * -1 + tmp42 = einsum(tmp34, (0, 1), t1, (0, 2), (1, 2), optimize=True) + del tmp34 + tmp41 = einsum(tmp31, (0, 1, 2, 3), l1, (2, 0), (1, 3), optimize=True) * 0.5 + tmp32 = einsum(tmp31, (0, 1, 2, 3), l1, (2, 0), (1, 3), optimize=True) + del tmp31 + tmp115 = tmp113.transpose((1, 0, 3, 2)).copy() + del tmp113 + tmp115 += tmp114.transpose((1, 0, 3, 2)) + del tmp114 + rdm2.vvvv += tmp115 + rdm2.vvvv += tmp115.transpose((0, 1, 3, 2)) * -1 + rdm2.vvvv += tmp115 + rdm2.vvvv += tmp115.transpose((0, 1, 3, 2)) * -1 + del tmp115 + tmp101 = einsum(tmp69, (0, 1, 2, 3), t1, (0, 4), (1, 2, 4, 3), optimize=True) + rdm2.vovv += tmp101.transpose((1, 0, 3, 2)) * -1 + rdm2.vovv += tmp101.transpose((1, 0, 3, 2)) * -1 + rdm2.ovvv += tmp101 * -1 + rdm2.ovvv += tmp101 * -1 + del tmp101 + tmp111 = einsum(tmp110, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4), optimize=True) + del tmp110 + rdm2.vovv += tmp111.transpose((1, 0, 3, 2)) * -1 + rdm2.vovv += tmp111.transpose((1, 0, 3, 2)) * -1 + del tmp111 + tmp108 = tmp94.copy() + tmp108 += tmp107.transpose((0, 1, 3, 2)) + del tmp107 + rdm2.vovv += tmp108.transpose((1, 0, 3, 2)) + rdm2.vovv += tmp108.transpose((1, 0, 2, 3)) * -1 + rdm2.vovv += tmp108.transpose((1, 0, 3, 2)) + rdm2.vovv += tmp108.transpose((1, 0, 2, 3)) * -1 + del tmp108 + tmp109 = tmp98.copy() + tmp109 += einsum(t1, (0, 1), tmp85, (2, 3), (0, 2, 1, 3), optimize=True) + del tmp85 + rdm2.vovv += tmp109.transpose((1, 0, 3, 2)) + rdm2.vovv += tmp109.transpose((1, 0, 2, 3)) * -1 + rdm2.vovv += tmp109.transpose((1, 0, 3, 2)) + rdm2.vovv += tmp109.transpose((1, 0, 2, 3)) * -1 + del tmp109 + tmp97 = tmp94.copy() + del tmp94 + tmp97 += einsum(t1, (0, 1), tmp83, (2, 3), (0, 2, 1, 3), optimize=True) + tmp97 += tmp96.transpose((0, 1, 3, 2)) * -1 + del tmp96 + rdm2.ovvv += tmp97.transpose((0, 1, 3, 2)) * -1 + rdm2.ovvv += tmp97 + rdm2.ovvv += tmp97.transpose((0, 1, 3, 2)) * -1 + rdm2.ovvv += tmp97 + del tmp97 + tmp93 = tmp83.copy() * 0.5 + del tmp83 + tmp93 += tmp63 + rdm2.ovvv += einsum(t1, (0, 1), tmp93, (2, 3), (0, 2, 1, 3), optimize=True) * 2 + rdm2.ovvv += einsum(t1, (0, 1), tmp93, (2, 3), (0, 2, 1, 3), optimize=True) * 2 + rdm2.vovo += einsum(delta.oo, (0, 1), tmp93, (2, 3), (2, 1, 3, 0), optimize=True) * 2 + rdm2.vovo += einsum(delta.oo, (0, 1), tmp93, (2, 3), (2, 1, 3, 0), optimize=True) * 2 + rdm2.vovo += einsum(delta.oo, (0, 1), tmp93, (2, 3), (2, 1, 3, 0), optimize=True) * 2 + rdm2.vovo += einsum(delta.oo, (0, 1), tmp93, (2, 3), (2, 1, 3, 0), optimize=True) * 2 + del tmp93 + tmp99 = tmp98.copy() + del tmp98 + tmp99 += einsum(t1, (0, 1), tmp63, (2, 3), (0, 2, 1, 3), optimize=True) * 2 + del tmp63 + rdm2.ovvv += tmp99.transpose((0, 1, 3, 2)) * -1 + rdm2.ovvv += tmp99 + rdm2.ovvv += tmp99.transpose((0, 1, 3, 2)) * -1 + rdm2.ovvv += tmp99 + del tmp99 + tmp105 = einsum(tmp104, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4), optimize=True) + del tmp104 + rdm2.ovvv += tmp105 * -1 + rdm2.ovvv += tmp105 * -1 + del tmp105 + tmp100 = einsum(tmp87, (0, 1, 2, 3), t1, (0, 4), (1, 2, 4, 3), optimize=True) + del tmp87 + rdm2.ovvv += tmp100.transpose((0, 1, 3, 2)) * -1 + rdm2.ovvv += tmp100 + rdm2.ovvv += tmp100.transpose((0, 1, 3, 2)) * -1 + rdm2.ovvv += tmp100 + del tmp100 + tmp92 = einsum(tmp54, (0, 1, 2, 3), t2, (0, 4, 5, 2), (1, 4, 3, 5), optimize=True) + del tmp54 + rdm2.vovo += tmp92.transpose((2, 1, 3, 0)) * -1 + rdm2.vovo += tmp92.transpose((2, 1, 3, 0)) * -1 + del tmp92 + tmp91 = einsum(tmp90, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4), optimize=True) + del tmp90 + rdm2.vovo += tmp91.transpose((2, 1, 3, 0)) * -1 + rdm2.vovo += tmp91.transpose((2, 1, 3, 0)) * -1 + rdm2.voov += tmp91.transpose((2, 1, 0, 3)) + rdm2.voov += tmp91.transpose((2, 1, 0, 3)) + del tmp91 + tmp86 = einsum(t1, (0, 1), tmp4, (0, 2, 3, 4), (2, 3, 4, 1), optimize=True) + del tmp4 + rdm2.vovo += tmp86.transpose((2, 1, 3, 0)) * -1 + rdm2.vovo += tmp86.transpose((2, 1, 3, 0)) * -1 + rdm2.ovov += tmp86.transpose((1, 2, 0, 3)) * -1 + rdm2.ovov += tmp86.transpose((1, 2, 0, 3)) * -1 + del tmp86 + tmp89 = einsum(t2, (0, 1, 2, 3), tmp88, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) + del tmp88 + rdm2.vovo += tmp89.transpose((2, 1, 3, 0)) * -1 + rdm2.vovo += tmp89.transpose((2, 1, 3, 0)) * -1 + rdm2.ovvo += tmp89.transpose((1, 2, 3, 0)) + rdm2.ovvo += tmp89.transpose((1, 2, 3, 0)) + del tmp89 + tmp82 = einsum(t1, (0, 1), tmp18, (0, 2, 3, 4), (2, 3, 4, 1), optimize=True) + del tmp18 + rdm2.ovvo += tmp82.transpose((1, 2, 3, 0)) * -1 + rdm2.ovvo += tmp82.transpose((1, 2, 3, 0)) * -1 + rdm2.ovov += tmp82.transpose((1, 2, 0, 3)) + rdm2.ovov += tmp82.transpose((1, 2, 0, 3)) + del tmp82 + tmp61 = tmp58.copy() + del tmp58 + tmp61 += tmp59 + del tmp59 + tmp61 += tmp60 + del tmp60 + rdm2.oovv += tmp61.transpose((0, 1, 3, 2)) * -1 + rdm2.oovv += tmp61 + rdm2.oovv += tmp61.transpose((0, 1, 3, 2)) * -1 + rdm2.oovv += tmp61 + del tmp61 + tmp73 = tmp47.transpose((1, 0, 3, 2)).copy() * -1 + tmp73 += tmp72.transpose((0, 1, 3, 2)) + del tmp72 + tmp73 += einsum(t1, (0, 1), tmp10, (2, 3), (0, 2, 1, 3), optimize=True) + del tmp10 + rdm2.oovv += tmp73.transpose((1, 0, 3, 2)) + rdm2.oovv += tmp73 + rdm2.oovv += tmp73.transpose((1, 0, 3, 2)) + rdm2.oovv += tmp73 + del tmp73 + tmp68 = einsum(t2, (0, 1, 2, 3), tmp67, (1, 4, 2, 5), (0, 4, 3, 5), optimize=True) + del tmp67 + rdm2.oovv += tmp68 + rdm2.oovv += tmp68 + del tmp68 + tmp70 = einsum(t2, (0, 1, 2, 3), tmp69, (1, 4, 2, 5), (0, 4, 3, 5), optimize=True) + del tmp69 + rdm2.oovv += tmp70.transpose((0, 1, 3, 2)) + rdm2.oovv += tmp70.transpose((0, 1, 3, 2)) + del tmp70 + tmp77 = einsum(t1, (0, 1), tmp29, (0, 2, 3, 4), (3, 2, 4, 1), optimize=True) + rdm2.oovv += tmp77.transpose((0, 1, 3, 2)) + rdm2.oovv += tmp77.transpose((0, 1, 3, 2)) + del tmp77 + tmp57 = tmp51.copy() + del tmp51 + tmp57 += tmp53.transpose((1, 0, 3, 2)) * 2 + del tmp53 + tmp57 += tmp56 + del tmp56 + rdm2.oovv += tmp57.transpose((0, 1, 3, 2)) * -1 + rdm2.oovv += tmp57 + rdm2.oovv += tmp57.transpose((0, 1, 3, 2)) * -1 + rdm2.oovv += tmp57 + del tmp57 + tmp50 = tmp44.copy() + tmp50 += tmp47.transpose((1, 0, 3, 2)) * -1 + del tmp47 + tmp50 += tmp49.transpose((0, 1, 3, 2)) + del tmp49 + tmp50 += einsum(tmp11, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) * -1 + del tmp11 + rdm2.oovv += tmp50.transpose((1, 0, 3, 2)) + rdm2.oovv += tmp50.transpose((1, 0, 2, 3)) * -1 + rdm2.oovv += tmp50.transpose((0, 1, 3, 2)) * -1 + rdm2.oovv += tmp50 + rdm2.oovv += tmp50.transpose((1, 0, 3, 2)) + rdm2.oovv += tmp50.transpose((1, 0, 2, 3)) * -1 + rdm2.oovv += tmp50.transpose((0, 1, 3, 2)) * -1 + rdm2.oovv += tmp50 + del tmp50 + tmp78 = t1.copy() + tmp78 += tmp8 * -1 + del tmp8 + rdm2.oovv += einsum(t1, (0, 1), tmp78, (2, 3), (2, 0, 3, 1), optimize=True) + rdm2.oovv += einsum(t1, (0, 1), tmp78, (2, 3), (2, 0, 3, 1), optimize=True) + del tmp78 + tmp76 = tmp44.copy() + del tmp44 + tmp76 += tmp75.transpose((0, 1, 3, 2)) + del tmp75 + rdm2.oovv += tmp76.transpose((1, 0, 2, 3)) * -1 + rdm2.oovv += tmp76.transpose((0, 1, 3, 2)) * -1 + rdm2.oovv += tmp76.transpose((1, 0, 2, 3)) * -1 + rdm2.oovv += tmp76.transpose((0, 1, 3, 2)) * -1 + del tmp76 + tmp66 = tmp64.transpose((1, 0, 3, 2)).copy() + del tmp64 + tmp66 += tmp65.transpose((0, 1, 3, 2)) + del tmp65 + tmp66 += einsum(t1, (0, 1), tmp15, (2, 3), (0, 2, 1, 3), optimize=True) * 2 + del tmp15 + rdm2.oovv += tmp66.transpose((1, 0, 3, 2)) * -1 + rdm2.oovv += tmp66.transpose((1, 0, 2, 3)) + rdm2.oovv += tmp66.transpose((0, 1, 3, 2)) + rdm2.oovv += tmp66 * -1 + rdm2.oovv += tmp66.transpose((1, 0, 3, 2)) * -1 + rdm2.oovv += tmp66 * -1 + rdm2.oovv += tmp66.transpose((1, 0, 3, 2)) * -1 + rdm2.oovv += tmp66 * -1 + rdm2.oovv += tmp66.transpose((1, 0, 3, 2)) * -1 + rdm2.oovv += tmp66.transpose((1, 0, 2, 3)) + rdm2.oovv += tmp66.transpose((0, 1, 3, 2)) + rdm2.oovv += tmp66 * -1 + del tmp66 + tmp39 = einsum(tmp0, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) + tmp39 += tmp19 + tmp39 += tmp21 * -1 + rdm2.oovo += tmp39.transpose((2, 1, 3, 0)) + rdm2.oovo += tmp39.transpose((1, 2, 3, 0)) * -1 + rdm2.oovo += tmp39.transpose((2, 1, 3, 0)) + rdm2.oovo += tmp39.transpose((1, 2, 3, 0)) * -1 + del tmp39 + tmp38 = tmp30.copy() + tmp38 += tmp35 + rdm2.oovo += einsum(tmp38, (0, 1), delta.oo, (2, 3), (2, 0, 1, 3), optimize=True) + rdm2.oovo += einsum(tmp38, (0, 1), delta.oo, (2, 3), (0, 3, 1, 2), optimize=True) * -1 + rdm2.oovo += einsum(tmp38, (0, 1), delta.oo, (2, 3), (2, 0, 1, 3), optimize=True) + rdm2.oovo += einsum(tmp38, (0, 1), delta.oo, (2, 3), (0, 3, 1, 2), optimize=True) * -1 + del tmp38 + tmp28 = einsum(t2, (0, 1, 2, 3), tmp27, (0, 4, 5, 2), (4, 5, 1, 3), optimize=True) + del tmp27 + rdm2.oovo += tmp28.transpose((2, 1, 3, 0)) * -1 + rdm2.oovo += tmp28.transpose((2, 1, 3, 0)) * -1 + rdm2.ooov += tmp28.transpose((1, 2, 0, 3)) * -1 + rdm2.ooov += tmp28.transpose((1, 2, 0, 3)) * -1 + del tmp28 + tmp43 = t1.copy() * -0.5 + tmp43 += tmp13 + del tmp13 + tmp43 += tmp41 * -1 + del tmp41 + tmp43 += tmp42 + del tmp42 + rdm2.oovo += einsum(tmp43, (0, 1), delta.oo, (2, 3), (0, 3, 1, 2), optimize=True) * -2 + rdm2.oovo += einsum(tmp43, (0, 1), delta.oo, (2, 3), (0, 3, 1, 2), optimize=True) * -2 + del tmp43 + tmp40 = tmp16.copy() + tmp40 += tmp29.transpose((0, 2, 1, 3)) + del tmp29 + tmp40 += einsum(tmp2, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) + rdm2.oovo += tmp40.transpose((2, 1, 3, 0)) + rdm2.oovo += tmp40.transpose((1, 2, 3, 0)) * -1 + rdm2.oovo += tmp40.transpose((2, 1, 3, 0)) + rdm2.oovo += tmp40.transpose((1, 2, 3, 0)) * -1 + del tmp40 + tmp37 = tmp0.copy() + tmp37 += tmp2 + rdm2.oovo += einsum(t1, (0, 1), tmp37, (2, 3), (0, 3, 1, 2), optimize=True) * -1 + rdm2.oovo += einsum(t1, (0, 1), tmp37, (2, 3), (0, 3, 1, 2), optimize=True) * -1 + rdm2.ooov += einsum(tmp37, (0, 1), t1, (2, 3), (1, 2, 0, 3), optimize=True) * -1 + rdm2.ooov += einsum(tmp37, (0, 1), t1, (2, 3), (1, 2, 0, 3), optimize=True) * -1 + del tmp37 + tmp36 = t1.copy() * -1 + tmp36 += tmp30 + del tmp30 + tmp36 += tmp32 * -1 + del tmp32 + tmp36 += tmp35 + del tmp35 + rdm2.ooov += einsum(tmp36, (0, 1), delta.oo, (2, 3), (3, 0, 2, 1), optimize=True) * -1 + rdm2.ooov += einsum(tmp36, (0, 1), delta.oo, (2, 3), (3, 0, 2, 1), optimize=True) * -1 + del tmp36 + tmp22 = tmp16.copy() + del tmp16 + tmp22 += tmp17 + del tmp17 + tmp22 += tmp19 + del tmp19 + tmp22 += tmp21 * -1 + del tmp21 + rdm2.ooov += tmp22.transpose((2, 1, 0, 3)) * -1 + rdm2.ooov += tmp22.transpose((1, 2, 0, 3)) + rdm2.ooov += tmp22.transpose((2, 1, 0, 3)) * -1 + rdm2.ooov += tmp22.transpose((1, 2, 0, 3)) + del tmp22 + tmp24 = tmp23.copy() + del tmp23 + tmp24 += einsum(tmp2, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) + del tmp2 + rdm2.ooov += tmp24.transpose((2, 1, 0, 3)) * -1 + rdm2.ooov += tmp24.transpose((1, 2, 0, 3)) + rdm2.ooov += tmp24.transpose((2, 1, 0, 3)) * -1 + rdm2.ooov += tmp24.transpose((1, 2, 0, 3)) + del tmp24 + tmp7 = delta.oo.transpose((1, 0)).copy() + tmp7 += tmp0 * -1 + del tmp0 + rdm2.oooo += einsum(delta.oo, (0, 1), tmp7, (2, 3), (3, 1, 2, 0), optimize=True) + rdm2.oooo += einsum(delta.oo, (0, 1), tmp7, (2, 3), (3, 1, 2, 0), optimize=True) + del tmp7 + rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (3, 1, 2, 0), optimize=True) + rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (1, 2, 3, 0), optimize=True) * -1 + rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (3, 1, 2, 0), optimize=True) + rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (1, 2, 3, 0), optimize=True) * -1 + rdm2.ooov += einsum(t1, (0, 1), delta.oo, (2, 3), (0, 3, 2, 1), optimize=True) * -1 + rdm2.ooov += einsum(delta.oo, (0, 1), t1, (2, 3), (1, 2, 0, 3), optimize=True) + rdm2.ooov += einsum(t1, (0, 1), delta.oo, (2, 3), (0, 3, 2, 1), optimize=True) * -1 + rdm2.ooov += einsum(delta.oo, (0, 1), t1, (2, 3), (1, 2, 0, 3), optimize=True) + rdm2.oovo += einsum(t1, (0, 1), delta.oo, (2, 3), (0, 3, 1, 2), optimize=True) + rdm2.oovo += einsum(delta.oo, (0, 1), t1, (2, 3), (1, 2, 3, 0), optimize=True) * -1 + rdm2.oovo += einsum(t1, (0, 1), delta.oo, (2, 3), (0, 3, 1, 2), optimize=True) + rdm2.oovo += einsum(delta.oo, (0, 1), t1, (2, 3), (1, 2, 3, 0), optimize=True) * -1 + rdm2.ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (1, 2, 3, 0), optimize=True) * -1 + rdm2.ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (1, 2, 0, 3), optimize=True) + rdm2.ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (1, 2, 0, 3), optimize=True) + rdm2.ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (1, 2, 0, 3), optimize=True) + rdm2.ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (1, 2, 3, 0), optimize=True) * -1 + rdm2.ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (1, 2, 0, 3), optimize=True) + rdm2.vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 1, 3, 0), optimize=True) + rdm2.vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 1, 0, 3), optimize=True) * -1 + rdm2.vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 1, 3, 0), optimize=True) + rdm2.vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 1, 3, 0), optimize=True) + rdm2.vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 1, 3, 0), optimize=True) + rdm2.vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 1, 0, 3), optimize=True) * -1 + del delta + rdm2.oovv += t2.transpose((1, 0, 2, 3)) * -1 + rdm2.oovv += t2.transpose((1, 0, 3, 2)) + rdm2.oovv += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 3, 1), optimize=True) * -1 + rdm2.oovv += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) + rdm2.oovv += t2.transpose((1, 0, 3, 2)) + rdm2.oovv += t2.transpose((1, 0, 3, 2)) + rdm2.oovv += t2.transpose((1, 0, 2, 3)) * -1 + rdm2.oovv += t2.transpose((1, 0, 3, 2)) + rdm2.oovv += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 3, 1), optimize=True) * -1 + rdm2.oovv += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) + rdm2.ovov += einsum(t1, (0, 1), l1, (2, 3), (0, 2, 3, 1), optimize=True) * -1 + rdm2.ovov += einsum(t1, (0, 1), l1, (2, 3), (0, 2, 3, 1), optimize=True) * -1 + rdm2.ovvo += einsum(t1, (0, 1), l1, (2, 3), (0, 2, 1, 3), optimize=True) + rdm2.ovvo += einsum(t1, (0, 1), l1, (2, 3), (0, 2, 1, 3), optimize=True) + rdm2.ovvo += einsum(t1, (0, 1), l1, (2, 3), (0, 2, 1, 3), optimize=True) + rdm2.ovvo += einsum(t1, (0, 1), l1, (2, 3), (0, 2, 1, 3), optimize=True) + rdm2.voov += einsum(t1, (0, 1), l1, (2, 3), (2, 0, 3, 1), optimize=True) + rdm2.voov += einsum(t1, (0, 1), l1, (2, 3), (2, 0, 3, 1), optimize=True) + rdm2.voov += einsum(t1, (0, 1), l1, (2, 3), (2, 0, 3, 1), optimize=True) + rdm2.voov += einsum(t1, (0, 1), l1, (2, 3), (2, 0, 3, 1), optimize=True) + rdm2.vovo += einsum(t1, (0, 1), l1, (2, 3), (2, 0, 1, 3), optimize=True) * -1 + rdm2.vovo += einsum(t1, (0, 1), l1, (2, 3), (2, 0, 1, 3), optimize=True) * -1 + rdm2.vvoo = l2.transpose((0, 1, 3, 2)).copy() * -1 + rdm2.vvoo += l2.transpose((1, 0, 3, 2)) + rdm2.vvoo += l2.transpose((1, 0, 3, 2)) + rdm2.vvoo += l2.transpose((1, 0, 3, 2)) + rdm2.vvoo += l2.transpose((0, 1, 3, 2)) * -1 + rdm2.vvoo += l2.transpose((1, 0, 3, 2)) + rdm2 = pack_2e(rdm2.oooo, rdm2.ooov, rdm2.oovo, rdm2.ovoo, rdm2.vooo, rdm2.oovv, rdm2.ovov, rdm2.ovvo, rdm2.voov, rdm2.vovo, rdm2.vvoo, rdm2.ovvv, rdm2.vovv, rdm2.vvov, rdm2.vvvo, rdm2.vvvv) + rdm2 = rdm2.swapaxes(1, 2) + + return rdm2 + diff --git a/ebcc/codegen/UCCD.py b/ebcc/codegen/UCCD.py new file mode 100644 index 00000000..4cab9112 --- /dev/null +++ b/ebcc/codegen/UCCD.py @@ -0,0 +1,896 @@ +""" +Code generated by `albert`: +https://github.com/obackhouse/albert + + * date: 2024-07-18T20:23:00.654018 + * python version: 3.10.12 (main, Mar 22 2024, 16:50:05) [GCC 11.4.0] + * albert version: 0.0.0 + * caller: /home/ollie/git/albert/albert/codegen/einsum.py + * node: ollie-desktop + * system: Linux + * processor: x86_64 + * release: 6.5.0-44-generic +""" + +from ebcc import numpy as np +from ebcc.util import pack_2e, einsum, direct_sum, Namespace + + +def energy(t2=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-07-18T20:23:00.888746. + + Parameters + ---------- + t2 : Namespace of arrays + T2 amplitudes. + v : Namespace of arrays + Electron repulsion integrals. + + Returns + ------- + e_cc : float + Coupled cluster energy. + """ + + e_cc = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 2, 1, 3), (), optimize=True) + e_cc += einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (0, 2, 1, 3), (), optimize=True) + e_cc += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (0, 2, 1, 3), (), optimize=True) + + return e_cc + +def update_amps(f=None, t2=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-07-18T20:23:07.460773. + + Parameters + ---------- + f : Namespace of arrays + Fock matrix. + t2 : Namespace of arrays + T2 amplitudes. + v : Namespace of arrays + Electron repulsion integrals. + + Returns + ------- + t2new : Namespace of arrays + Updated T2 residuals. + """ + + t2new = Namespace() + tmp9 = v.aaaa.ovov.transpose((2, 0, 1, 3)).copy() * -1 + tmp9 += v.aaaa.ovov.transpose((2, 0, 3, 1)) + tmp35 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 3), (1, 4), optimize=True) + tmp36 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (1, 3, 4, 2), (0, 4), optimize=True) + tmp11 = v.bbbb.ovov.transpose((2, 0, 1, 3)).copy() * -1 + tmp11 += v.bbbb.ovov.transpose((2, 0, 3, 1)) + tmp13 = v.aaaa.ovov.transpose((2, 0, 1, 3)).copy() + tmp13 += v.aaaa.ovov.transpose((2, 0, 3, 1)) * -1 + tmp45 = einsum(tmp9, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) + t2new.bbbb = einsum(tmp45, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) + tmp25 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (0, 2, 4, 3), (4, 1), optimize=True) + tmp24 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 1, 4), (3, 4), optimize=True) + tmp37 = tmp35.copy() + del tmp35 + tmp37 += tmp36 * 2 + del tmp36 + t2new.abab = einsum(t2.abab, (0, 1, 2, 3), tmp37, (4, 1), (0, 4, 2, 3), optimize=True) * -1 + tmp46 = v.bbbb.ovov.transpose((2, 0, 1, 3)).copy() + tmp46 += v.bbbb.ovov.transpose((2, 0, 3, 1)) * -1 + tmp27 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.bbbb, (4, 2, 5, 3), (0, 4, 1, 5), optimize=True) + t2new.abab += tmp27 * 2 + tmp19 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (1, 2, 4, 3), (0, 4), optimize=True) * -1 + tmp20 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 1, 3), (4, 0), optimize=True) + tmp12 = einsum(tmp11, (0, 1, 2, 3), t2.abab, (4, 0, 5, 3), (4, 1, 5, 2), optimize=True) + t2new.aaaa = einsum(t2.abab, (0, 1, 2, 3), tmp12, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) * -1 + tmp30 = einsum(t2.aaaa, (0, 1, 2, 3), v.aabb.ovov, (1, 3, 4, 5), (0, 4, 2, 5), optimize=True) + t2new.abab += tmp30 * 2 + tmp2 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.aaaa, (0, 2, 4, 3), (4, 1), optimize=True) + tmp3 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 4, 1, 3), (2, 4), optimize=True) + tmp14 = einsum(t2.aaaa, (0, 1, 2, 3), tmp13, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) + del tmp13 + tmp5 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (0, 4, 2, 5), optimize=True) + t2new.aaaa += tmp5 + t2new.aaaa += tmp5.transpose((1, 0, 2, 3)) * -1 + t2new.aaaa += tmp5.transpose((1, 0, 3, 2)) + tmp49 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 3, 5, 2), (0, 1, 4, 5), optimize=True) * -1 + t2new.bbbb += einsum(tmp49, (0, 1, 2, 3), t2.bbbb, (2, 3, 4, 5), (1, 0, 5, 4), optimize=True) * 2 + del tmp49 + tmp48 = v.aabb.ovov.transpose((0, 2, 1, 3)).copy() + tmp48 += tmp45 + del tmp45 + t2new.bbbb += einsum(tmp48, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (4, 1, 3, 5), optimize=True) * -1 + del tmp48 + tmp41 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 4, 1, 5), (4, 2, 5, 3), optimize=True) + t2new.bbbb += tmp41 + t2new.bbbb += tmp41.transpose((1, 0, 2, 3)) * -1 + t2new.bbbb += tmp41.transpose((1, 0, 3, 2)) + del tmp41 + tmp44 = v.bbbb.oovv.transpose((1, 0, 3, 2)).copy() + tmp44 += einsum(t2.bbbb, (0, 1, 2, 3), tmp11, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) * -2 + del tmp11 + t2new.bbbb += einsum(tmp44, (0, 1, 2, 3), t2.bbbb, (1, 4, 3, 5), (0, 4, 2, 5), optimize=True) * -2 + del tmp44 + tmp26 = tmp24.copy() * 0.5 + tmp26 += tmp25 + t2new.bbbb += einsum(t2.bbbb, (0, 1, 2, 3), tmp26, (4, 2), (1, 0, 3, 4), optimize=True) * -4 + t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp26, (4, 3), (0, 1, 2, 4), optimize=True) * -2 + del tmp26 + tmp50 = einsum(tmp37, (0, 1), t2.bbbb, (1, 2, 3, 4), (2, 0, 3, 4), optimize=True) * 2 + del tmp37 + t2new.bbbb += tmp50.transpose((1, 0, 3, 2)) + t2new.bbbb += tmp50.transpose((0, 1, 3, 2)) * -1 + del tmp50 + tmp33 = v.bbbb.ovov.transpose((2, 0, 3, 1)).copy() + tmp33 += v.bbbb.oovv.transpose((1, 0, 3, 2)) * -1 + t2new.bbbb += einsum(tmp33, (0, 1, 2, 3), t2.bbbb, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) * 2 + t2new.abab += einsum(tmp33, (0, 1, 2, 3), t2.abab, (4, 0, 5, 2), (4, 1, 5, 3), optimize=True) + del tmp33 + tmp47 = v.bbbb.ovov.transpose((2, 0, 3, 1)).copy() + tmp47 += v.bbbb.oovv.transpose((1, 0, 3, 2)) * -1 + tmp47 += einsum(tmp46, (0, 1, 2, 3), t2.bbbb, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) * -2 + del tmp46 + t2new.bbbb += einsum(tmp47, (0, 1, 2, 3), t2.bbbb, (1, 4, 3, 5), (4, 0, 2, 5), optimize=True) * -2 + del tmp47 + tmp42 = f.bb.vv.transpose((1, 0)).copy() * -1 + tmp42 += tmp24 + del tmp24 + tmp42 += tmp25 * 2 + del tmp25 + t2new.bbbb += einsum(tmp42, (0, 1), t2.bbbb, (2, 3, 1, 4), (3, 2, 0, 4), optimize=True) * 2 + del tmp42 + tmp40 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (4, 0, 5, 1), (4, 2, 5, 3), optimize=True) + t2new.bbbb += tmp40.transpose((1, 0, 2, 3)) * -2 + t2new.bbbb += tmp40.transpose((1, 0, 3, 2)) * 2 + del tmp40 + tmp38 = einsum(t2.bbbb, (0, 1, 2, 3), f.bb.oo, (4, 1), (4, 0, 2, 3), optimize=True) + t2new.bbbb += tmp38.transpose((0, 1, 3, 2)) * -2 + t2new.bbbb += tmp38.transpose((1, 0, 3, 2)) * 2 + del tmp38 + tmp39 = einsum(v.bbbb.oooo, (0, 1, 2, 3), t2.bbbb, (3, 1, 4, 5), (0, 2, 4, 5), optimize=True) * -1 + t2new.bbbb += tmp39.transpose((1, 0, 3, 2)) + t2new.bbbb += tmp39.transpose((1, 0, 3, 2)) + del tmp39 + tmp43 = einsum(t2.abab, (0, 1, 2, 3), tmp27, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) + del tmp27 + t2new.bbbb += tmp43.transpose((1, 0, 2, 3)) * -2 + t2new.bbbb += tmp43.transpose((0, 1, 3, 2)) * -2 + t2new.bbbb += tmp43.transpose((1, 0, 3, 2)) * 2 + t2new.bbbb += tmp43 * 2 + del tmp43 + tmp21 = tmp19.copy() * 2 + tmp21 += tmp20 + t2new.abab += einsum(tmp21, (0, 1), t2.abab, (1, 2, 3, 4), (0, 2, 3, 4), optimize=True) * -1 + t2new.aaaa += einsum(tmp21, (0, 1), t2.aaaa, (1, 2, 3, 4), (2, 0, 4, 3), optimize=True) * -2 + del tmp21 + tmp32 = v.bbaa.oovv.transpose((1, 0, 3, 2)).copy() + tmp32 += einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 4, 5, 3), (2, 4, 1, 5), optimize=True) * -1 + t2new.abab += einsum(tmp32, (0, 1, 2, 3), t2.abab, (4, 0, 2, 5), (4, 1, 3, 5), optimize=True) * -1 + del tmp32 + tmp31 = tmp30.copy() * 2 + del tmp30 + tmp31 += tmp12 * -1 + t2new.abab += einsum(t2.bbbb, (0, 1, 2, 3), tmp31, (4, 0, 5, 2), (4, 1, 5, 3), optimize=True) * 2 + del tmp31 + tmp28 = f.aa.vv.transpose((1, 0)).copy() * -1 + tmp28 += tmp2.transpose((1, 0)) * 2 + tmp28 += tmp3.transpose((1, 0)) + t2new.abab += einsum(tmp28, (0, 1), t2.abab, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) * -1 + del tmp28 + tmp29 = v.aaaa.oovv.transpose((1, 0, 3, 2)).copy() + tmp29 += tmp5.transpose((1, 0, 3, 2)) * -1 + tmp29 += tmp14.transpose((1, 0, 3, 2)) * 2 + t2new.abab += einsum(tmp29, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) * -1 + del tmp29 + tmp34 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 5, 3), (0, 4, 1, 5), optimize=True) + t2new.abab += einsum(tmp34, (0, 1, 2, 3), t2.abab, (1, 3, 4, 5), (0, 2, 4, 5), optimize=True) + del tmp34 + tmp23 = einsum(v.aabb.oooo, (0, 1, 2, 3), t2.abab, (1, 3, 4, 5), (0, 2, 4, 5), optimize=True) + t2new.abab += tmp23 * 0.5 + t2new.abab += tmp23 * 0.5 + del tmp23 + tmp4 = tmp2.copy() + tmp4 += tmp3 * 0.5 + t2new.aaaa += einsum(tmp4, (0, 1), t2.aaaa, (2, 3, 1, 4), (3, 2, 4, 0), optimize=True) * -4 + del tmp4 + tmp6 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.aaaa, (4, 2, 5, 3), (4, 0, 5, 1), optimize=True) + t2new.aaaa += tmp6.transpose((1, 0, 2, 3)) * -2 + t2new.aaaa += tmp6.transpose((1, 0, 3, 2)) * 2 + del tmp6 + tmp0 = einsum(f.aa.oo, (0, 1), t2.aaaa, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) + t2new.aaaa += tmp0.transpose((0, 1, 3, 2)) * -2 + t2new.aaaa += tmp0.transpose((1, 0, 3, 2)) * 2 + del tmp0 + tmp22 = tmp19.copy() + del tmp19 + tmp22 += tmp20 * 0.5 + del tmp20 + t2new.aaaa += einsum(tmp22, (0, 1), t2.aaaa, (1, 2, 3, 4), (0, 2, 4, 3), optimize=True) * 4 + del tmp22 + tmp10 = v.aaaa.oovv.transpose((1, 0, 3, 2)).copy() + tmp10 += einsum(tmp9, (0, 1, 2, 3), t2.aaaa, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) * -2 + del tmp9 + t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp10, (4, 0, 5, 2), (4, 1, 5, 3), optimize=True) * -2 + del tmp10 + tmp7 = f.aa.vv.transpose((1, 0)).copy() * -1 + tmp7 += tmp2 * 2 + del tmp2 + tmp7 += tmp3 + del tmp3 + t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp7, (4, 2), (1, 0, 4, 3), optimize=True) * 2 + del tmp7 + tmp17 = v.aaaa.ovov.transpose((2, 0, 3, 1)).copy() + tmp17 += v.aaaa.oovv.transpose((1, 0, 3, 2)) * -1 + t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp17, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) * 2 + del tmp17 + tmp16 = v.aabb.ovov.transpose((0, 2, 1, 3)).copy() + tmp16 += tmp12 * -1 + del tmp12 + t2new.aaaa += einsum(t2.abab, (0, 1, 2, 3), tmp16, (4, 1, 5, 3), (0, 4, 5, 2), optimize=True) * -1 + del tmp16 + tmp8 = einsum(tmp5, (0, 1, 2, 3), t2.aaaa, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) + del tmp5 + t2new.aaaa += tmp8.transpose((1, 0, 2, 3)) * -2 + t2new.aaaa += tmp8.transpose((0, 1, 3, 2)) * -2 + t2new.aaaa += tmp8.transpose((1, 0, 3, 2)) * 2 + t2new.aaaa += tmp8 * 2 + del tmp8 + tmp15 = v.aaaa.ovov.transpose((2, 0, 3, 1)).copy() + tmp15 += v.aaaa.oovv.transpose((1, 0, 3, 2)) * -1 + tmp15 += tmp14 * -2 + del tmp14 + t2new.aaaa += einsum(tmp15, (0, 1, 2, 3), t2.aaaa, (1, 4, 3, 5), (4, 0, 2, 5), optimize=True) * -2 + del tmp15 + tmp1 = einsum(v.aaaa.oooo, (0, 1, 2, 3), t2.aaaa, (3, 1, 4, 5), (0, 2, 4, 5), optimize=True) * -1 + t2new.aaaa += tmp1.transpose((1, 0, 3, 2)) + t2new.aaaa += tmp1.transpose((1, 0, 3, 2)) + del tmp1 + tmp18 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 3, 5, 2), (0, 1, 4, 5), optimize=True) * -1 + t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp18, (4, 5, 0, 1), (5, 4, 3, 2), optimize=True) * 2 + del tmp18 + t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), f.aa.vv, (4, 3), (1, 0, 2, 4), optimize=True) * -2 + t2new.aaaa += v.aaaa.ovov.transpose((2, 0, 3, 1)) + t2new.aaaa += v.aaaa.ovov.transpose((2, 0, 1, 3)) * -1 + t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.oovv, (4, 1, 5, 3), (4, 0, 2, 5), optimize=True) * 2 + t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.vvvv, (4, 2, 3, 5), (1, 0, 5, 4), optimize=True) * 2 + t2new.abab += einsum(f.bb.oo, (0, 1), t2.abab, (2, 1, 3, 4), (2, 0, 3, 4), optimize=True) * -1 + t2new.abab += einsum(t2.abab, (0, 1, 2, 3), f.aa.oo, (4, 0), (4, 1, 2, 3), optimize=True) * -1 + t2new.abab += einsum(t2.abab, (0, 1, 2, 3), v.aaaa.ovov, (4, 5, 0, 2), (4, 1, 5, 3), optimize=True) + t2new.abab += einsum(f.bb.vv, (0, 1), t2.abab, (2, 3, 4, 1), (2, 3, 4, 0), optimize=True) + t2new.abab += v.aabb.ovov.transpose((0, 2, 1, 3)) + t2new.abab += einsum(v.aabb.oovv, (0, 1, 2, 3), t2.abab, (1, 4, 5, 3), (0, 4, 5, 2), optimize=True) * -1 + t2new.abab += einsum(v.aabb.vvvv, (0, 1, 2, 3), t2.abab, (4, 5, 1, 3), (4, 5, 0, 2), optimize=True) + t2new.bbbb += einsum(f.bb.vv, (0, 1), t2.bbbb, (2, 3, 4, 1), (3, 2, 4, 0), optimize=True) * -2 + t2new.bbbb += v.bbbb.ovov.transpose((2, 0, 3, 1)) + t2new.bbbb += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.oovv, (4, 1, 5, 3), (4, 0, 2, 5), optimize=True) * 2 + t2new.bbbb += v.bbbb.ovov.transpose((2, 0, 1, 3)) * -1 + t2new.bbbb += einsum(v.bbbb.vvvv, (0, 1, 2, 3), t2.bbbb, (4, 5, 1, 2), (5, 4, 3, 0), optimize=True) * 2 + + return {f"t2new": t2new} + +def update_lams(f=None, l2=None, t2=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-07-18T20:23:19.744972. + + Parameters + ---------- + f : Namespace of arrays + Fock matrix. + l2 : Namespace of arrays + L2 amplitudes. + t2 : Namespace of arrays + T2 amplitudes. + v : Namespace of arrays + Electron repulsion integrals. + + Returns + ------- + l2new : Namespace of arrays + Updated L2 residuals. + """ + + l2new = Namespace() + tmp47 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (2, 3, 4, 0), (4, 1), optimize=True) * -1 + tmp46 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 3, 0, 4), (4, 1), optimize=True) + tmp35 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 0, 4), (1, 4), optimize=True) + tmp36 = einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (2, 3, 1, 4), (0, 4), optimize=True) * -1 + tmp67 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 5, 3), (4, 0, 5, 1), optimize=True) + tmp59 = einsum(t2.aaaa, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 5), (1, 4, 3, 5), optimize=True) + tmp56 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 4, 1, 5), (4, 2, 5, 3), optimize=True) + tmp64 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (2, 4, 3, 5), (4, 0, 5, 1), optimize=True) + tmp53 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (0, 2, 1, 4), (3, 4), optimize=True) + tmp52 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 1, 4), (3, 4), optimize=True) + tmp70 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 5), (3, 4, 1, 5), optimize=True) + tmp71 = einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 3, 5, 1), (2, 4, 0, 5), optimize=True) + tmp39 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (2, 4, 3, 1), (4, 0), optimize=True) + tmp38 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 3), (1, 4), optimize=True) + tmp4 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 5, 0, 2), (1, 4, 3, 5), optimize=True) + tmp5 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (0, 4, 2, 5), optimize=True) + tmp13 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 5, 1), (2, 4, 0, 5), optimize=True) + tmp12 = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (4, 3, 5, 1), (5, 0, 4, 2), optimize=True) + tmp30 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 4, 1, 3), (2, 4), optimize=True) + tmp29 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (0, 2, 1, 4), (3, 4), optimize=True) + tmp0 = einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (2, 3, 1, 4), (0, 4), optimize=True) * -1 + tmp1 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 4, 1), (0, 4), optimize=True) + tmp17 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 1, 3), (4, 0), optimize=True) + tmp16 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.aaaa, (2, 4, 1, 3), (4, 0), optimize=True) * -1 + tmp20 = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (2, 3, 4, 0), (4, 1), optimize=True) * -1 + tmp21 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 3, 4, 1), (4, 0), optimize=True) + tmp8 = einsum(t2.abab, (0, 1, 2, 3), v.aaaa.ovov, (4, 5, 0, 2), (4, 1, 5, 3), optimize=True) + tmp9 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.bbbb, (2, 4, 3, 5), (0, 4, 1, 5), optimize=True) + tmp80 = einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 5, 0, 1), (2, 3, 4, 5), optimize=True) + tmp48 = tmp46.copy() * 0.5 + tmp48 += tmp47 + l2new.abab = einsum(tmp48, (0, 1), v.aabb.ovov, (2, 3, 1, 4), (3, 4, 2, 0), optimize=True) * -2 + tmp37 = tmp35.copy() + del tmp35 + tmp37 += tmp36 * 2 + del tmp36 + l2new.abab += einsum(v.aabb.ovov, (0, 1, 2, 3), tmp37, (4, 3), (1, 4, 0, 2), optimize=True) * -1 + tmp68 = v.aabb.ovov.transpose((0, 2, 1, 3)).copy() + tmp68 += tmp59 * 2 + tmp68 += tmp67 + del tmp67 + tmp65 = v.bbbb.ovov.transpose((2, 0, 3, 1)).copy() + tmp65 += v.bbbb.oovv.transpose((1, 0, 3, 2)) * -1 + tmp65 += tmp56 + tmp65 += tmp64 * 2 + del tmp64 + tmp82 = f.bb.vv.transpose((1, 0)).copy() * -0.5 + tmp82 += tmp52 * 0.5 + tmp82 += tmp53 + tmp72 = tmp70.copy() + del tmp70 + tmp72 += tmp71 * 4 + del tmp71 + tmp77 = tmp46.copy() + del tmp46 + tmp77 += tmp47 * 2 + del tmp47 + tmp74 = f.bb.oo.transpose((1, 0)).copy() + tmp74 += tmp38 + tmp74 += tmp39 * 2 + tmp49 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 5, 0, 1), (2, 4, 3, 5), optimize=True) + tmp57 = v.bbbb.ovov.transpose((2, 0, 1, 3)).copy() + tmp57 += v.bbbb.ovov.transpose((2, 0, 3, 1)) * -1 + tmp42 = v.aaaa.ovov.transpose((2, 0, 1, 3)).copy() + tmp42 += v.aaaa.ovov.transpose((2, 0, 3, 1)) * -1 + tmp44 = v.aaaa.ovov.transpose((2, 0, 1, 3)).copy() * -1 + tmp44 += v.aaaa.ovov.transpose((2, 0, 3, 1)) + tmp60 = v.bbbb.ovov.transpose((2, 0, 1, 3)).copy() * -1 + tmp60 += v.bbbb.ovov.transpose((2, 0, 3, 1)) + tmp6 = v.aaaa.ovov.transpose((2, 0, 3, 1)).copy() + tmp6 += v.aaaa.oovv.transpose((1, 0, 3, 2)) * -1 + tmp6 += tmp4 * 2 + del tmp4 + tmp6 += tmp5 + tmp14 = tmp12.copy() * 4 + del tmp12 + tmp14 += tmp13 + del tmp13 + tmp31 = f.aa.vv.transpose((1, 0)).copy() * -0.5 + tmp31 += tmp29 + del tmp29 + tmp31 += tmp30 * 0.5 + del tmp30 + l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp31, (0, 4), (4, 1, 2, 3), optimize=True) * -2 + tmp2 = tmp0.copy() * 2 + tmp2 += tmp1 + l2new.abab += einsum(v.aabb.ovov, (0, 1, 2, 3), tmp2, (4, 1), (4, 3, 0, 2), optimize=True) * -1 + l2new.aaaa = einsum(tmp2, (0, 1), v.aaaa.ovov, (2, 1, 3, 4), (4, 0, 3, 2), optimize=True) * -1 + tmp27 = einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 5, 0, 1), (2, 3, 4, 5), optimize=True) + tmp18 = f.aa.oo.transpose((1, 0)).copy() + tmp18 += tmp16 * 2 + del tmp16 + tmp18 += tmp17 + del tmp17 + l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp18, (2, 4), (0, 1, 4, 3), optimize=True) * -1 + tmp24 = tmp20.copy() * 2 + tmp24 += tmp21 + l2new.abab += einsum(v.aabb.ovov, (0, 1, 2, 3), tmp24, (4, 0), (1, 3, 4, 2), optimize=True) * -1 + tmp22 = tmp20.copy() + del tmp20 + tmp22 += tmp21 * 0.5 + del tmp21 + tmp10 = v.aabb.ovov.transpose((0, 2, 1, 3)).copy() + tmp10 += tmp8 + del tmp8 + tmp10 += tmp9 * 2 + tmp81 = einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp80, (4, 5, 0, 2), (5, 4, 1, 3), optimize=True) * -1 + del tmp80 + l2new.bbbb = tmp81.transpose((3, 2, 1, 0)).copy() + l2new.bbbb += tmp81.transpose((3, 2, 1, 0)) + del tmp81 + tmp76 = einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp48, (4, 0), (4, 2, 1, 3), optimize=True) * 2 + del tmp48 + l2new.bbbb += tmp76.transpose((2, 3, 0, 1)) * -1 + l2new.bbbb += tmp76.transpose((3, 2, 0, 1)) + del tmp76 + tmp63 = einsum(tmp37, (0, 1), v.bbbb.ovov, (2, 1, 3, 4), (2, 3, 0, 4), optimize=True) + l2new.bbbb += tmp63.transpose((2, 3, 1, 0)) + l2new.bbbb += tmp63.transpose((3, 2, 1, 0)) * -1 + del tmp63 + tmp69 = einsum(tmp68, (0, 1, 2, 3), l2.abab, (2, 4, 0, 5), (1, 5, 3, 4), optimize=True) + del tmp68 + l2new.bbbb += tmp69.transpose((3, 2, 0, 1)) * -1 + l2new.bbbb += tmp69.transpose((3, 2, 1, 0)) + l2new.bbbb += tmp69.transpose((2, 3, 0, 1)) + l2new.bbbb += tmp69.transpose((2, 3, 1, 0)) * -1 + del tmp69 + tmp66 = einsum(l2.bbbb, (0, 1, 2, 3), tmp65, (2, 4, 0, 5), (3, 4, 1, 5), optimize=True) + del tmp65 + l2new.bbbb += tmp66.transpose((2, 3, 1, 0)) * -2 + l2new.bbbb += tmp66.transpose((2, 3, 0, 1)) * 2 + l2new.bbbb += tmp66.transpose((3, 2, 1, 0)) * 2 + l2new.bbbb += tmp66.transpose((3, 2, 0, 1)) * -2 + del tmp66 + tmp83 = einsum(tmp82, (0, 1), l2.bbbb, (0, 2, 3, 4), (3, 4, 2, 1), optimize=True) * 4 + del tmp82 + l2new.bbbb += tmp83.transpose((2, 3, 1, 0)) * -1 + l2new.bbbb += tmp83.transpose((3, 2, 1, 0)) + del tmp83 + tmp73 = einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp72, (4, 0, 5, 3), (4, 2, 5, 1), optimize=True) + del tmp72 + l2new.bbbb += tmp73.transpose((3, 2, 1, 0)) * -1 + l2new.bbbb += tmp73.transpose((3, 2, 0, 1)) + l2new.bbbb += tmp73.transpose((2, 3, 1, 0)) + l2new.bbbb += tmp73.transpose((2, 3, 0, 1)) * -1 + del tmp73 + tmp79 = einsum(v.bbbb.vvvv, (0, 1, 2, 3), l2.bbbb, (1, 2, 4, 5), (4, 5, 0, 3), optimize=True) + l2new.bbbb += tmp79.transpose((3, 2, 1, 0)) + l2new.bbbb += tmp79.transpose((3, 2, 1, 0)) + del tmp79 + tmp84 = v.bbbb.oooo.transpose((2, 3, 1, 0)).copy() + tmp84 += einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (4, 5, 1, 3), (5, 2, 4, 0), optimize=True) + l2new.bbbb += einsum(tmp84, (0, 1, 2, 3), l2.bbbb, (4, 5, 0, 2), (5, 4, 1, 3), optimize=True) * -2 + del tmp84 + tmp78 = einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp77, (4, 0), (4, 2, 1, 3), optimize=True) + del tmp77 + l2new.bbbb += tmp78.transpose((2, 3, 1, 0)) + l2new.bbbb += tmp78.transpose((3, 2, 1, 0)) * -1 + del tmp78 + tmp75 = einsum(l2.bbbb, (0, 1, 2, 3), tmp74, (2, 4), (3, 4, 0, 1), optimize=True) * 2 + del tmp74 + l2new.bbbb += tmp75.transpose((3, 2, 1, 0)) + l2new.bbbb += tmp75.transpose((3, 2, 0, 1)) * -1 + del tmp75 + tmp85 = einsum(tmp37, (0, 1), v.bbbb.ovov, (2, 3, 4, 1), (2, 4, 0, 3), optimize=True) + del tmp37 + l2new.bbbb += tmp85.transpose((2, 3, 1, 0)) * -1 + l2new.bbbb += tmp85.transpose((3, 2, 1, 0)) + del tmp85 + tmp41 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 1, 5), (0, 4, 3, 5), optimize=True) + l2new.abab += einsum(tmp41, (0, 1, 2, 3), l2.abab, (4, 2, 0, 5), (4, 3, 1, 5), optimize=True) + del tmp41 + tmp54 = f.bb.vv.transpose((1, 0)).copy() * -1 + tmp54 += tmp52 + del tmp52 + tmp54 += tmp53 * 2 + del tmp53 + l2new.abab += einsum(tmp54, (0, 1), l2.abab, (2, 0, 3, 4), (2, 1, 3, 4), optimize=True) * -1 + del tmp54 + tmp50 = einsum(v.aabb.ovov, (0, 1, 2, 3), tmp49, (4, 0, 5, 2), (4, 5, 1, 3), optimize=True) + del tmp49 + l2new.abab += tmp50.transpose((2, 3, 0, 1)) * 0.5 + l2new.abab += tmp50.transpose((2, 3, 0, 1)) * 0.5 + del tmp50 + tmp58 = v.bbbb.ovov.transpose((2, 0, 3, 1)).copy() + tmp58 += v.bbbb.oovv.transpose((1, 0, 3, 2)) * -1 + tmp58 += tmp56 + del tmp56 + tmp58 += einsum(tmp57, (0, 1, 2, 3), t2.bbbb, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) * -2 + del tmp57 + l2new.abab += einsum(tmp58, (0, 1, 2, 3), l2.abab, (4, 2, 5, 0), (4, 3, 5, 1), optimize=True) + del tmp58 + tmp40 = f.bb.oo.transpose((1, 0)).copy() * 0.5 + tmp40 += tmp38 * 0.5 + del tmp38 + tmp40 += tmp39 + del tmp39 + l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp40, (3, 4), (0, 1, 2, 4), optimize=True) * -2 + del tmp40 + tmp62 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 4, 5, 3), (4, 2, 5, 1), optimize=True) + l2new.abab += einsum(tmp62, (0, 1, 2, 3), l2.abab, (2, 4, 5, 0), (3, 4, 5, 1), optimize=True) + del tmp62 + tmp51 = einsum(l2.abab, (0, 1, 2, 3), v.aabb.vvvv, (4, 0, 5, 1), (2, 3, 4, 5), optimize=True) + l2new.abab += tmp51.transpose((2, 3, 0, 1)) * 0.5 + l2new.abab += tmp51.transpose((2, 3, 0, 1)) * 0.5 + del tmp51 + tmp55 = v.aabb.oooo.transpose((1, 0, 3, 2)).copy() + tmp55 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 5, 3), (0, 4, 1, 5), optimize=True) + l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp55, (2, 4, 3, 5), (0, 1, 4, 5), optimize=True) + del tmp55 + tmp43 = v.aaaa.ovov.transpose((2, 0, 3, 1)).copy() + tmp43 += v.aaaa.oovv.transpose((1, 0, 3, 2)) * -1 + tmp43 += tmp5 + del tmp5 + tmp43 += einsum(tmp42, (0, 1, 2, 3), t2.aaaa, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) * -2 + del tmp42 + l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp43, (2, 4, 0, 5), (5, 1, 4, 3), optimize=True) + del tmp43 + tmp45 = v.aabb.ovov.transpose((0, 2, 1, 3)).copy() + tmp45 += tmp9 * 2 + del tmp9 + tmp45 += einsum(tmp44, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) + del tmp44 + l2new.abab += einsum(tmp45, (0, 1, 2, 3), l2.bbbb, (3, 4, 1, 5), (2, 4, 0, 5), optimize=True) * 2 + del tmp45 + tmp61 = v.aabb.ovov.transpose((0, 2, 1, 3)).copy() + tmp61 += tmp59 * 2 + del tmp59 + tmp61 += einsum(tmp60, (0, 1, 2, 3), t2.abab, (4, 0, 5, 3), (4, 1, 5, 2), optimize=True) * -1 + del tmp60 + l2new.abab += einsum(l2.aaaa, (0, 1, 2, 3), tmp61, (2, 4, 0, 5), (1, 5, 3, 4), optimize=True) * 2 + del tmp61 + tmp3 = tmp0.copy() + del tmp0 + tmp3 += tmp1 * 0.5 + del tmp1 + l2new.aaaa += einsum(tmp3, (0, 1), v.aaaa.ovov, (2, 1, 3, 4), (0, 4, 3, 2), optimize=True) * 2 + del tmp3 + tmp7 = einsum(tmp6, (0, 1, 2, 3), l2.aaaa, (2, 4, 0, 5), (1, 5, 3, 4), optimize=True) + del tmp6 + l2new.aaaa += tmp7.transpose((3, 2, 0, 1)) * -2 + l2new.aaaa += tmp7.transpose((3, 2, 1, 0)) * 2 + l2new.aaaa += tmp7.transpose((2, 3, 0, 1)) * 2 + l2new.aaaa += tmp7.transpose((2, 3, 1, 0)) * -2 + del tmp7 + tmp15 = einsum(tmp14, (0, 1, 2, 3), v.aaaa.ovov, (1, 4, 5, 3), (5, 0, 4, 2), optimize=True) + del tmp14 + l2new.aaaa += tmp15.transpose((2, 3, 0, 1)) * -1 + l2new.aaaa += tmp15.transpose((2, 3, 1, 0)) + l2new.aaaa += tmp15.transpose((3, 2, 0, 1)) + l2new.aaaa += tmp15.transpose((3, 2, 1, 0)) * -1 + del tmp15 + tmp33 = v.aaaa.oooo.transpose((2, 3, 1, 0)).copy() + tmp33 += einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.aaaa, (4, 5, 1, 3), (5, 2, 4, 0), optimize=True) + l2new.aaaa += einsum(tmp33, (0, 1, 2, 3), l2.aaaa, (4, 5, 0, 2), (5, 4, 1, 3), optimize=True) * -2 + del tmp33 + tmp32 = einsum(tmp31, (0, 1), l2.aaaa, (0, 2, 3, 4), (3, 4, 1, 2), optimize=True) * 4 + del tmp31 + l2new.aaaa += tmp32.transpose((3, 2, 1, 0)) * -1 + l2new.aaaa += tmp32.transpose((2, 3, 1, 0)) + del tmp32 + tmp34 = einsum(tmp2, (0, 1), v.aaaa.ovov, (2, 3, 4, 1), (2, 4, 3, 0), optimize=True) + del tmp2 + l2new.aaaa += tmp34.transpose((3, 2, 1, 0)) * -1 + l2new.aaaa += tmp34.transpose((2, 3, 1, 0)) + del tmp34 + tmp26 = einsum(v.aaaa.vvvv, (0, 1, 2, 3), l2.aaaa, (1, 2, 4, 5), (4, 5, 0, 3), optimize=True) + l2new.aaaa += tmp26.transpose((3, 2, 1, 0)) + l2new.aaaa += tmp26.transpose((3, 2, 1, 0)) + del tmp26 + tmp28 = einsum(tmp27, (0, 1, 2, 3), v.aaaa.ovov, (2, 4, 3, 5), (1, 0, 4, 5), optimize=True) * -1 + del tmp27 + l2new.aaaa += tmp28.transpose((3, 2, 1, 0)) + l2new.aaaa += tmp28.transpose((3, 2, 1, 0)) + del tmp28 + tmp19 = einsum(tmp18, (0, 1), l2.aaaa, (2, 3, 0, 4), (1, 4, 2, 3), optimize=True) * 2 + del tmp18 + l2new.aaaa += tmp19.transpose((3, 2, 0, 1)) + l2new.aaaa += tmp19.transpose((3, 2, 1, 0)) * -1 + del tmp19 + tmp25 = einsum(tmp24, (0, 1), v.aaaa.ovov, (1, 2, 3, 4), (3, 0, 2, 4), optimize=True) + del tmp24 + l2new.aaaa += tmp25.transpose((2, 3, 0, 1)) + l2new.aaaa += tmp25.transpose((3, 2, 0, 1)) * -1 + del tmp25 + tmp23 = einsum(tmp22, (0, 1), v.aaaa.ovov, (1, 2, 3, 4), (3, 0, 2, 4), optimize=True) * 2 + del tmp22 + l2new.aaaa += tmp23.transpose((2, 3, 1, 0)) * -1 + l2new.aaaa += tmp23.transpose((3, 2, 1, 0)) + del tmp23 + tmp11 = einsum(tmp10, (0, 1, 2, 3), l2.abab, (4, 3, 5, 1), (0, 5, 2, 4), optimize=True) + del tmp10 + l2new.aaaa += tmp11.transpose((3, 2, 0, 1)) * -1 + l2new.aaaa += tmp11.transpose((3, 2, 1, 0)) + l2new.aaaa += tmp11.transpose((2, 3, 0, 1)) + l2new.aaaa += tmp11.transpose((2, 3, 1, 0)) * -1 + del tmp11 + l2new.aaaa += v.aaaa.ovov.transpose((3, 1, 2, 0)) + l2new.aaaa += v.aaaa.ovov.transpose((1, 3, 2, 0)) * -1 + l2new.abab += v.aabb.ovov.transpose((1, 3, 0, 2)) + l2new.abab += einsum(l2.abab, (0, 1, 2, 3), v.bbaa.oovv, (4, 3, 5, 0), (5, 1, 2, 4), optimize=True) * -1 + l2new.abab += einsum(v.aabb.oovv, (0, 1, 2, 3), l2.abab, (4, 3, 1, 5), (4, 2, 0, 5), optimize=True) * -1 + l2new.bbbb += v.bbbb.ovov.transpose((3, 1, 2, 0)) + l2new.bbbb += v.bbbb.ovov.transpose((1, 3, 2, 0)) * -1 + + return {f"l2new": l2new} + +def make_rdm1_f(l2=None, t2=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-07-18T20:23:20.163665. + + Parameters + ---------- + l2 : Namespace of arrays + L2 amplitudes. + t2 : Namespace of arrays + T2 amplitudes. + + Returns + ------- + rdm1 : Namespace of arrays + One-particle reduced density matrix. + """ + + rdm1 = Namespace() + rdm1.aa = Namespace() + rdm1.bb = Namespace() + delta = Namespace( + aa=Namespace(oo=np.eye(t2.aaaa.shape[0]), vv=np.eye(t1.aaaa.shape[-1])), + bb=Namespace(oo=np.eye(t2.bbbb.shape[0]), vv=np.eye(t1.bbbb.shape[-1])), + ) + rdm1.aa.oo = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 3, 4, 1), (0, 4), optimize=True) * -1 + rdm1.aa.oo += delta.aa.oo.transpose((1, 0)) + rdm1.aa.oo += einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (2, 3, 4, 1), (0, 4), optimize=True) * -2 + rdm1.bb.oo = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 3, 0, 4), (1, 4), optimize=True) * -1 + rdm1.bb.oo += delta.bb.oo.transpose((1, 0)) + del delta + rdm1.bb.oo += einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (2, 3, 4, 1), (0, 4), optimize=True) * -2 + rdm1.aa.vv = einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (2, 3, 4, 1), (0, 4), optimize=True) * 2 + rdm1.aa.vv += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 4, 1), (0, 4), optimize=True) + rdm1.bb.vv = einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (2, 3, 4, 1), (0, 4), optimize=True) * 2 + rdm1.bb.vv += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 0, 4), (1, 4), optimize=True) + rdm1.aa.oo = np.zeros((t2.aa.shape[0], t2.aa.shape[0])) + rdm1.aa.vv = np.zeros((t2.aa.shape[-1], t2.aa.shape[-1])) + rdm1.bb.oo = np.zeros((t2.bb.shape[0], t2.bb.shape[0])) + rdm1.bb.vv = np.zeros((t2.bb.shape[-1], t2.bb.shape[-1])) + rdm1.aa = np.block([[rdm1.aa.oo, rdm1.aa.ov], [rdm1.aa.vo, rdm1.aa.vv]]) + rdm1.bb = np.block([[rdm1.bb.oo, rdm1.bb.ov], [rdm1.bb.vo, rdm1.bb.vv]]) + + return rdm1 + +def make_rdm2_f(l2=None, t2=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-07-18T20:23:27.094695. + + Parameters + ---------- + l2 : Namespace of arrays + L2 amplitudes. + t2 : Namespace of arrays + T2 amplitudes. + + Returns + ------- + rdm2 : Namespace of arrays + Two-particle reduced density matrix. + """ + + rdm2 = Namespace() + rdm2.aaaa = Namespace() + rdm2.abab = Namespace() + rdm2.bbbb = Namespace() + delta = Namespace( + aa=Namespace(oo=np.eye(t2.aaaa.shape[0]), vv=np.eye(t1.aaaa.shape[-1])), + bb=Namespace(oo=np.eye(t2.bbbb.shape[0]), vv=np.eye(t1.bbbb.shape[-1])), + ) + tmp6 = einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 3, 0, 1), (2, 4), optimize=True) + tmp5 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 3, 0, 4), (4, 1), optimize=True) + tmp13 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 4, 1), (0, 4), optimize=True) + tmp12 = einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (2, 3, 4, 0), (1, 4), optimize=True) * -1 + tmp23 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 0, 4), (1, 4), optimize=True) + tmp24 = einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (2, 3, 4, 0), (1, 4), optimize=True) * -1 + tmp26 = tmp5.copy() + tmp26 += tmp6 * 2 + rdm2.abab.oovv = einsum(t2.abab, (0, 1, 2, 3), tmp26, (1, 4), (0, 4, 2, 3), optimize=True) * -1 + tmp33 = einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 2, 5, 0), (3, 4, 1, 5), optimize=True) + rdm2.bbbb.vovo = tmp33.transpose((2, 1, 3, 0)).copy() * -4 + rdm2.bbbb.voov = tmp33.transpose((2, 1, 0, 3)).copy() * 4 + rdm2.bbbb.ovvo = tmp33.transpose((1, 2, 3, 0)).copy() * 4 + rdm2.bbbb.ovov = tmp33.transpose((1, 2, 0, 3)).copy() * -4 + tmp37 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 5), (3, 4, 1, 5), optimize=True) + rdm2.bbbb.vovo += tmp37.transpose((2, 1, 3, 0)) * -1 + rdm2.bbbb.voov += tmp37.transpose((2, 1, 0, 3)) + rdm2.bbbb.ovvo += tmp37.transpose((1, 2, 3, 0)) + rdm2.bbbb.ovov += tmp37.transpose((1, 2, 0, 3)) * -1 + tmp35 = einsum(l2.aaaa, (0, 1, 2, 3), t2.abab, (3, 4, 1, 5), (2, 4, 0, 5), optimize=True) + rdm2.abab.voov = tmp35.transpose((2, 1, 0, 3)).copy() * 2 + tmp0 = einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 3, 0, 1), (2, 4), optimize=True) + tmp1 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 3, 4, 1), (4, 0), optimize=True) + tmp19 = einsum(l2.bbbb, (0, 1, 2, 3), t2.abab, (4, 3, 5, 1), (4, 2, 5, 0), optimize=True) + rdm2.abab.ovvo = tmp19.transpose((0, 3, 2, 1)).copy() * 2 + tmp21 = einsum(t2.aaaa, (0, 1, 2, 3), l2.abab, (3, 4, 1, 5), (0, 5, 2, 4), optimize=True) + rdm2.abab.ovvo += tmp21.transpose((0, 3, 2, 1)) * 2 + tmp17 = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (4, 3, 5, 1), (5, 0, 4, 2), optimize=True) + rdm2.aaaa.vovo = tmp17.transpose((2, 1, 3, 0)).copy() * -4 + rdm2.aaaa.voov = tmp17.transpose((2, 1, 0, 3)).copy() * 4 + rdm2.aaaa.ovvo = tmp17.transpose((1, 2, 3, 0)).copy() * 4 + rdm2.aaaa.ovov = tmp17.transpose((1, 2, 0, 3)).copy() * -4 + tmp29 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 5, 1), (2, 4, 0, 5), optimize=True) + rdm2.aaaa.vovo += tmp29.transpose((2, 1, 3, 0)) * -1 + rdm2.aaaa.voov += tmp29.transpose((2, 1, 0, 3)) + rdm2.aaaa.ovvo += tmp29.transpose((1, 2, 3, 0)) + rdm2.aaaa.ovov += tmp29.transpose((1, 2, 0, 3)) * -1 + tmp14 = tmp12.copy() + tmp14 += tmp13 * 0.5 + rdm2.aaaa.vovo += einsum(delta.aa.oo, (0, 1), tmp14, (2, 3), (2, 1, 3, 0), optimize=True) * 2 + rdm2.aaaa.ovvo += einsum(delta.aa.oo, (0, 1), tmp14, (2, 3), (1, 2, 3, 0), optimize=True) * -2 + tmp39 = tmp23.copy() + tmp39 += tmp24 * 2 + rdm2.bbbb.vovo += einsum(delta.bb.oo, (0, 1), tmp39, (2, 3), (2, 1, 3, 0), optimize=True) + rdm2.bbbb.ovvo += einsum(delta.bb.oo, (0, 1), tmp39, (2, 3), (1, 2, 3, 0), optimize=True) * -1 + rdm2.bbbb.oovv = einsum(tmp39, (0, 1), t2.bbbb, (2, 3, 0, 4), (3, 2, 1, 4), optimize=True) * 2 + del tmp39 + tmp31 = tmp12.copy() * 2 + del tmp12 + tmp31 += tmp13 + del tmp13 + rdm2.abab.vovo = einsum(tmp31, (0, 1), delta.bb.oo, (2, 3), (0, 3, 1, 2), optimize=True) + rdm2.aaaa.voov += einsum(tmp31, (0, 1), delta.aa.oo, (2, 3), (0, 3, 2, 1), optimize=True) * -1 + rdm2.aaaa.ovov += einsum(tmp31, (0, 1), delta.aa.oo, (2, 3), (3, 0, 2, 1), optimize=True) + rdm2.abab.oovv += einsum(t2.abab, (0, 1, 2, 3), tmp31, (2, 4), (0, 1, 4, 3), optimize=True) * -1 + del tmp31 + tmp27 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 5, 1), (3, 4, 0, 5), optimize=True) + rdm2.abab.vovo += tmp27.transpose((2, 1, 3, 0)) * -1 + rdm2.abab.oovv += einsum(tmp27, (0, 1, 2, 3), t2.abab, (4, 0, 2, 5), (4, 1, 3, 5), optimize=True) + del tmp27 + tmp25 = tmp23.copy() * 0.5 + del tmp23 + tmp25 += tmp24 + del tmp24 + rdm2.bbbb.voov += einsum(tmp25, (0, 1), delta.bb.oo, (2, 3), (0, 3, 2, 1), optimize=True) * -2 + rdm2.bbbb.ovov += einsum(tmp25, (0, 1), delta.bb.oo, (2, 3), (3, 0, 2, 1), optimize=True) * 2 + rdm2.abab.ovov = einsum(tmp25, (0, 1), delta.aa.oo, (2, 3), (3, 0, 2, 1), optimize=True) * 2 + rdm2.bbbb.oovv += einsum(t2.bbbb, (0, 1, 2, 3), tmp25, (2, 4), (1, 0, 3, 4), optimize=True) * -4 + rdm2.abab.oovv += einsum(tmp25, (0, 1), t2.abab, (2, 3, 4, 0), (2, 3, 4, 1), optimize=True) * -2 + del tmp25 + tmp32 = einsum(t2.bbbb, (0, 1, 2, 3), tmp26, (0, 4), (4, 1, 2, 3), optimize=True) * 2 + del tmp26 + rdm2.bbbb.oovv += tmp32.transpose((1, 0, 3, 2)) * -1 + rdm2.bbbb.oovv += tmp32.transpose((0, 1, 3, 2)) + del tmp32 + tmp34 = einsum(tmp33, (0, 1, 2, 3), t2.bbbb, (4, 0, 5, 2), (4, 1, 5, 3), optimize=True) + del tmp33 + rdm2.bbbb.oovv += tmp34 * 8 + rdm2.bbbb.oovv += tmp34.transpose((0, 1, 3, 2)) * -8 + del tmp34 + tmp38 = einsum(tmp37, (0, 1, 2, 3), t2.bbbb, (4, 0, 5, 2), (1, 4, 3, 5), optimize=True) + del tmp37 + rdm2.bbbb.oovv += tmp38.transpose((1, 0, 3, 2)) * 2 + rdm2.bbbb.oovv += tmp38 * 2 + rdm2.bbbb.oovv += tmp38.transpose((1, 0, 2, 3)) * -2 + rdm2.bbbb.oovv += tmp38.transpose((0, 1, 3, 2)) * -2 + del tmp38 + tmp11 = einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 5, 0, 1), (2, 3, 4, 5), optimize=True) + rdm2.bbbb.oovv += einsum(tmp11, (0, 1, 2, 3), t2.bbbb, (0, 1, 4, 5), (3, 2, 5, 4), optimize=True) * 2 + rdm2.bbbb.oooo = tmp11.transpose((3, 2, 1, 0)).copy() * 2 + del tmp11 + tmp36 = einsum(tmp35, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) + del tmp35 + rdm2.bbbb.oovv += tmp36.transpose((1, 0, 3, 2)) * 2 + rdm2.bbbb.oovv += tmp36.transpose((0, 1, 3, 2)) * -2 + del tmp36 + tmp16 = tmp0.copy() * 2 + tmp16 += tmp1 + rdm2.abab.oovv += einsum(t2.abab, (0, 1, 2, 3), tmp16, (0, 4), (4, 1, 2, 3), optimize=True) * -1 + rdm2.aaaa.oovv = einsum(tmp16, (0, 1), t2.aaaa, (0, 2, 3, 4), (2, 1, 4, 3), optimize=True) * -2 + del tmp16 + tmp8 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 5, 0, 1), (2, 4, 3, 5), optimize=True) + rdm2.abab.oovv += einsum(t2.abab, (0, 1, 2, 3), tmp8, (0, 4, 1, 5), (4, 5, 2, 3), optimize=True) + rdm2.abab.oooo = tmp8.transpose((1, 3, 0, 2)).copy() + del tmp8 + tmp28 = tmp21.copy() + tmp28 += tmp19 + rdm2.abab.oovv += einsum(tmp28, (0, 1, 2, 3), t2.bbbb, (1, 4, 3, 5), (0, 4, 2, 5), optimize=True) * 4 + del tmp28 + tmp30 = tmp17.copy() * 4 + tmp30 += tmp29 + del tmp29 + rdm2.abab.oovv += einsum(tmp30, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) + del tmp30 + tmp3 = tmp0.copy() + tmp3 += tmp1 * 0.5 + rdm2.aaaa.oovv += einsum(t2.aaaa, (0, 1, 2, 3), tmp3, (0, 4), (4, 1, 3, 2), optimize=True) * 4 + rdm2.abab.oooo += einsum(tmp3, (0, 1), delta.bb.oo, (2, 3), (1, 3, 0, 2), optimize=True) * -2 + rdm2.aaaa.oooo = einsum(delta.aa.oo, (0, 1), tmp3, (2, 3), (1, 3, 2, 0), optimize=True) * 2 + rdm2.aaaa.oooo += einsum(tmp3, (0, 1), delta.aa.oo, (2, 3), (1, 3, 0, 2), optimize=True) * -2 + del tmp3 + tmp4 = einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 5, 0, 1), (2, 3, 4, 5), optimize=True) + rdm2.aaaa.oovv += einsum(tmp4, (0, 1, 2, 3), t2.aaaa, (0, 1, 4, 5), (3, 2, 5, 4), optimize=True) * 2 + rdm2.aaaa.oooo += tmp4.transpose((3, 2, 1, 0)) * 2 + del tmp4 + tmp20 = einsum(t2.abab, (0, 1, 2, 3), tmp19, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) + del tmp19 + rdm2.aaaa.oovv += tmp20 * 2 + rdm2.aaaa.oovv += tmp20.transpose((0, 1, 3, 2)) * -2 + del tmp20 + tmp15 = einsum(t2.aaaa, (0, 1, 2, 3), tmp14, (2, 4), (0, 1, 3, 4), optimize=True) * 4 + del tmp14 + rdm2.aaaa.oovv += tmp15.transpose((1, 0, 3, 2)) + rdm2.aaaa.oovv += tmp15.transpose((1, 0, 2, 3)) * -1 + del tmp15 + tmp22 = einsum(t2.abab, (0, 1, 2, 3), tmp21, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) + del tmp21 + rdm2.aaaa.oovv += tmp22.transpose((1, 0, 3, 2)) * 2 + rdm2.aaaa.oovv += tmp22 * 2 + rdm2.aaaa.oovv += tmp22.transpose((1, 0, 2, 3)) * -2 + rdm2.aaaa.oovv += tmp22.transpose((0, 1, 3, 2)) * -2 + del tmp22 + tmp18 = einsum(t2.aaaa, (0, 1, 2, 3), tmp17, (1, 4, 3, 5), (4, 0, 5, 2), optimize=True) + del tmp17 + rdm2.aaaa.oovv += tmp18 * 8 + rdm2.aaaa.oovv += tmp18.transpose((0, 1, 3, 2)) * -8 + del tmp18 + tmp10 = tmp5.copy() * 0.5 + tmp10 += tmp6 + rdm2.bbbb.oooo += einsum(delta.bb.oo, (0, 1), tmp10, (2, 3), (1, 3, 2, 0), optimize=True) * 2 + rdm2.bbbb.oooo += einsum(tmp10, (0, 1), delta.bb.oo, (2, 3), (1, 3, 0, 2), optimize=True) * -2 + del tmp10 + tmp9 = delta.bb.oo.transpose((1, 0)).copy() * -1 + tmp9 += tmp5 + tmp9 += tmp6 * 2 + rdm2.bbbb.oooo += einsum(tmp9, (0, 1), delta.bb.oo, (2, 3), (1, 3, 2, 0), optimize=True) + rdm2.bbbb.oooo += einsum(tmp9, (0, 1), delta.bb.oo, (2, 3), (3, 1, 2, 0), optimize=True) * -1 + del tmp9 + tmp7 = delta.bb.oo.transpose((1, 0)).copy() * -0.5 + tmp7 += tmp5 * 0.5 + del tmp5 + tmp7 += tmp6 + del tmp6 + rdm2.abab.oooo += einsum(delta.aa.oo, (0, 1), tmp7, (2, 3), (1, 3, 0, 2), optimize=True) * -2 + del tmp7 + tmp2 = delta.aa.oo.transpose((1, 0)).copy() * -1 + tmp2 += tmp0 * 2 + del tmp0 + tmp2 += tmp1 + del tmp1 + rdm2.aaaa.oooo += einsum(tmp2, (0, 1), delta.aa.oo, (2, 3), (1, 3, 2, 0), optimize=True) + rdm2.aaaa.oooo += einsum(tmp2, (0, 1), delta.aa.oo, (2, 3), (3, 1, 2, 0), optimize=True) * -1 + del delta, tmp2 + rdm2.aaaa.oovv += t2.aaaa.transpose((1, 0, 3, 2)) * 2 + rdm2.abab.oovv += t2.abab + rdm2.bbbb.oovv += t2.bbbb.transpose((1, 0, 3, 2)) * 2 + rdm2.abab.ovov += einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 4, 5, 1), (0, 4, 5, 3), optimize=True) * -1 + rdm2.abab.voov += einsum(t2.bbbb, (0, 1, 2, 3), l2.abab, (4, 3, 5, 1), (4, 0, 5, 2), optimize=True) * 2 + rdm2.aaaa.vvoo = l2.aaaa.transpose((1, 0, 3, 2)).copy() * 2 + rdm2.abab.vvoo = l2.abab.copy() + rdm2.bbbb.vvoo = l2.bbbb.transpose((1, 0, 3, 2)).copy() * 2 + rdm2.aaaa.vvvv = einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (2, 3, 4, 5), (1, 0, 5, 4), optimize=True) * 2 + rdm2.abab.vvvv = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 4, 5), (0, 1, 4, 5), optimize=True) + rdm2.bbbb.vvvv = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (4, 5, 0, 1), (5, 4, 3, 2), optimize=True) * 2 + rdm2.aaaa.ooov = np.zeros((t2.aaaa.shape[0], t2.aaaa.shape[0], t2.aaaa.shape[0], t2.aaaa.shape[-1])) + rdm2.aaaa.oovo = np.zeros((t2.aaaa.shape[0], t2.aaaa.shape[0], t2.aaaa.shape[-1], t2.aaaa.shape[0])) + rdm2.aaaa.ovoo = np.zeros((t2.aaaa.shape[0], t2.aaaa.shape[-1], t2.aaaa.shape[0], t2.aaaa.shape[0])) + rdm2.aaaa.vooo = np.zeros((t2.aaaa.shape[-1], t2.aaaa.shape[0], t2.aaaa.shape[0], t2.aaaa.shape[0])) + rdm2.aaaa.ovvv = np.zeros((t2.aaaa.shape[0], t2.aaaa.shape[-1], t2.aaaa.shape[-1], t2.aaaa.shape[-1])) + rdm2.aaaa.vovv = np.zeros((t2.aaaa.shape[-1], t2.aaaa.shape[0], t2.aaaa.shape[-1], t2.aaaa.shape[-1])) + rdm2.aaaa.vvov = np.zeros((t2.aaaa.shape[-1], t2.aaaa.shape[-1], t2.aaaa.shape[0], t2.aaaa.shape[-1])) + rdm2.aaaa.vvvo = np.zeros((t2.aaaa.shape[-1], t2.aaaa.shape[-1], t2.aaaa.shape[-1], t2.aaaa.shape[0])) + rdm2.aabb.ooov = np.zeros((t2.aaaa.shape[0], t2.aaaa.shape[0], t2.bbbb.shape[0], t2.bbbb.shape[-1])) + rdm2.aabb.oovo = np.zeros((t2.aaaa.shape[0], t2.aaaa.shape[0], t2.bbbb.shape[-1], t2.bbbb.shape[0])) + rdm2.aabb.ovoo = np.zeros((t2.aaaa.shape[0], t2.aaaa.shape[-1], t2.bbbb.shape[0], t2.bbbb.shape[0])) + rdm2.aabb.vooo = np.zeros((t2.aaaa.shape[-1], t2.aaaa.shape[0], t2.bbbb.shape[0], t2.bbbb.shape[0])) + rdm2.aabb.ovvv = np.zeros((t2.aaaa.shape[0], t2.aaaa.shape[-1], t2.bbbb.shape[-1], t2.bbbb.shape[-1])) + rdm2.aabb.vovv = np.zeros((t2.aaaa.shape[-1], t2.aaaa.shape[0], t2.bbbb.shape[-1], t2.bbbb.shape[-1])) + rdm2.aabb.vvov = np.zeros((t2.aaaa.shape[-1], t2.aaaa.shape[-1], t2.bbbb.shape[0], t2.bbbb.shape[-1])) + rdm2.aabb.vvvo = np.zeros((t2.aaaa.shape[-1], t2.aaaa.shape[-1], t2.bbbb.shape[-1], t2.bbbb.shape[0])) + rdm2.bbaa.ooov = np.zeros((t2.bbbb.shape[0], t2.bbbb.shape[0], t2.aaaa.shape[0], t2.aaaa.shape[-1])) + rdm2.bbaa.oovo = np.zeros((t2.bbbb.shape[0], t2.bbbb.shape[0], t2.aaaa.shape[-1], t2.aaaa.shape[0])) + rdm2.bbaa.ovoo = np.zeros((t2.bbbb.shape[0], t2.bbbb.shape[-1], t2.aaaa.shape[0], t2.aaaa.shape[0])) + rdm2.bbaa.vooo = np.zeros((t2.bbbb.shape[-1], t2.bbbb.shape[0], t2.aaaa.shape[0], t2.aaaa.shape[0])) + rdm2.bbaa.ovvv = np.zeros((t2.bbbb.shape[0], t2.bbbb.shape[-1], t2.aaaa.shape[-1], t2.aaaa.shape[-1])) + rdm2.bbaa.vovv = np.zeros((t2.bbbb.shape[-1], t2.bbbb.shape[0], t2.aaaa.shape[-1], t2.aaaa.shape[-1])) + rdm2.bbaa.vvov = np.zeros((t2.bbbb.shape[-1], t2.bbbb.shape[-1], t2.aaaa.shape[0], t2.aaaa.shape[-1])) + rdm2.bbaa.vvvo = np.zeros((t2.bbbb.shape[-1], t2.bbbb.shape[-1], t2.aaaa.shape[-1], t2.aaaa.shape[0])) + rdm2.bbbb.ooov = np.zeros((t2.bbbb.shape[0], t2.bbbb.shape[0], t2.bbbb.shape[0], t2.bbbb.shape[-1])) + rdm2.bbbb.oovo = np.zeros((t2.bbbb.shape[0], t2.bbbb.shape[0], t2.bbbb.shape[-1], t2.bbbb.shape[0])) + rdm2.bbbb.ovoo = np.zeros((t2.bbbb.shape[0], t2.bbbb.shape[-1], t2.bbbb.shape[0], t2.bbbb.shape[0])) + rdm2.bbbb.vooo = np.zeros((t2.bbbb.shape[-1], t2.bbbb.shape[0], t2.bbbb.shape[0], t2.bbbb.shape[0])) + rdm2.bbbb.ovvv = np.zeros((t2.bbbb.shape[0], t2.bbbb.shape[-1], t2.bbbb.shape[-1], t2.bbbb.shape[-1])) + rdm2.bbbb.vovv = np.zeros((t2.bbbb.shape[-1], t2.bbbb.shape[0], t2.bbbb.shape[-1], t2.bbbb.shape[-1])) + rdm2.bbbb.vvov = np.zeros((t2.bbbb.shape[-1], t2.bbbb.shape[-1], t2.bbbb.shape[0], t2.bbbb.shape[-1])) + rdm2.bbbb.vvvo = np.zeros((t2.bbbb.shape[-1], t2.bbbb.shape[-1], t2.bbbb.shape[-1], t2.bbbb.shape[0])) + rdm2.aaaa = pack_2e(rdm2.aaaa.oooo, rdm2.aaaa.ooov, rdm2.aaaa.oovo, rdm2.aaaa.ovoo, rdm2.aaaa.vooo, rdm2.aaaa.oovv, rdm2.aaaa.ovov, rdm2.aaaa.ovvo, rdm2.aaaa.voov, rdm2.aaaa.vovo, rdm2.aaaa.vvoo, rdm2.aaaa.ovvv, rdm2.aaaa.vovv, rdm2.aaaa.vvov, rdm2.aaaa.vvvo, rdm2.aaaa.vvvv) + rdm2.abab = pack_2e(rdm2.abab.oooo, rdm2.abab.ooov, rdm2.abab.oovo, rdm2.abab.ovoo, rdm2.abab.vooo, rdm2.abab.oovv, rdm2.abab.ovov, rdm2.abab.ovvo, rdm2.abab.voov, rdm2.abab.vovo, rdm2.abab.vvoo, rdm2.abab.ovvv, rdm2.abab.vovv, rdm2.abab.vvov, rdm2.abab.vvvo, rdm2.abab.vvvv) + rdm2.bbbb = pack_2e(rdm2.bbbb.oooo, rdm2.bbbb.ooov, rdm2.bbbb.oovo, rdm2.bbbb.ovoo, rdm2.bbbb.vooo, rdm2.bbbb.oovv, rdm2.bbbb.ovov, rdm2.bbbb.ovvo, rdm2.bbbb.voov, rdm2.bbbb.vovo, rdm2.bbbb.vvoo, rdm2.bbbb.ovvv, rdm2.bbbb.vovv, rdm2.bbbb.vvov, rdm2.bbbb.vvvo, rdm2.bbbb.vvvv) + rdm2 = Namespace( + aaaa=rdm2.aaaa.swapaxes(1, 2), + aabb=rdm2.abab.swapaxes(1, 2), + bbbb=rdm2.bbbb.swapaxes(1, 2), + ) + + return rdm2 + diff --git a/ebcc/codegen/UCCSD.py b/ebcc/codegen/UCCSD.py index 9dc07df1..ab1bd190 100644 --- a/ebcc/codegen/UCCSD.py +++ b/ebcc/codegen/UCCSD.py @@ -2,23 +2,23 @@ Code generated by `albert`: https://github.com/obackhouse/albert - * date: 2024-03-02T15:24:42.798022 - * python version: 3.10.12 (main, Nov 20 2023, 15:14:05) [GCC 11.4.0] + * date: 2024-07-18T20:17:31.131668 + * python version: 3.10.12 (main, Mar 22 2024, 16:50:05) [GCC 11.4.0] * albert version: 0.0.0 * caller: /home/ollie/git/albert/albert/codegen/einsum.py * node: ollie-desktop * system: Linux * processor: x86_64 - * release: 6.5.0-21-generic + * release: 6.5.0-44-generic """ from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, Namespace +from ebcc.util import pack_2e, einsum, direct_sum, Namespace def energy(f=None, t1=None, t2=None, v=None, **kwargs): """ - Code generated by `albert` 0.0.0 on 2024-03-02T15:24:43.583536. + Code generated by `albert` 0.0.0 on 2024-07-18T20:17:31.922083. Parameters ---------- @@ -37,30 +37,30 @@ def energy(f=None, t1=None, t2=None, v=None, **kwargs): Coupled cluster energy. """ - tmp2 = v.bbbb.ovov.transpose((2, 0, 3, 1)).copy() - tmp2 += v.bbbb.ovov.transpose((2, 0, 1, 3)) * -1 - tmp3 = einsum(tmp2, (0, 1, 2, 3), t1.bb, (0, 3), (1, 2), optimize=True) * -0.5 - del tmp2 - tmp3 += f.bb.ov - e_cc = einsum(tmp3, (0, 1), t1.bb, (0, 1), (), optimize=True) - del tmp3 - tmp0 = v.aaaa.ovov.transpose((2, 0, 3, 1)).copy() - tmp0 += v.aaaa.ovov.transpose((2, 0, 1, 3)) * -1 - tmp1 = einsum(t1.aa, (0, 1), tmp0, (0, 2, 3, 1), (2, 3), optimize=True) * -0.5 - del tmp0 + tmp0 = v.aaaa.ovov.transpose((2, 0, 1, 3)).copy() + tmp0 += v.aaaa.ovov.transpose((2, 0, 3, 1)) * -1 + tmp2 = v.bbbb.ovov.transpose((2, 0, 1, 3)).copy() * -1 + tmp2 += v.bbbb.ovov.transpose((2, 0, 3, 1)) + tmp1 = f.aa.ov.copy() tmp1 += einsum(v.aabb.ovov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1), optimize=True) - tmp1 += f.aa.ov - e_cc += einsum(tmp1, (0, 1), t1.aa, (0, 1), (), optimize=True) + tmp1 += einsum(t1.aa, (0, 1), tmp0, (0, 2, 1, 3), (2, 3), optimize=True) * -0.5 + del tmp0 + e_cc = einsum(t1.aa, (0, 1), tmp1, (0, 1), (), optimize=True) del tmp1 - e_cc += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (0, 3, 1, 2), (), optimize=True) * -1 + tmp3 = f.bb.ov.copy() * 2 + tmp3 += einsum(tmp2, (0, 1, 2, 3), t1.bb, (0, 3), (1, 2), optimize=True) * -1 + del tmp2 + e_cc += einsum(tmp3, (0, 1), t1.bb, (0, 1), (), optimize=True) * 0.5 + del tmp3 + e_cc += einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 2, 1, 3), (), optimize=True) + e_cc += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (0, 2, 1, 3), (), optimize=True) e_cc += einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (0, 2, 1, 3), (), optimize=True) - e_cc += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 1, 3), (), optimize=True) return e_cc def update_amps(f=None, t1=None, t2=None, v=None, **kwargs): """ - Code generated by `albert` 0.0.0 on 2024-03-02T15:25:21.168040. + Code generated by `albert` 0.0.0 on 2024-07-18T20:18:08.892646. Parameters ---------- @@ -83,729 +83,793 @@ def update_amps(f=None, t1=None, t2=None, v=None, **kwargs): t1new = Namespace() t2new = Namespace() - tmp199 = einsum(v.bbbb.ovvv, (0, 1, 2, 3), t2.bbbb, (4, 5, 1, 3), (4, 5, 0, 2), optimize=True) - t2new.bbbb = einsum(tmp199, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 4, 3), optimize=True) * -2 - del tmp199 - tmp197 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t1.bb, (2, 4), (0, 3, 1, 4), optimize=True) - tmp197 += v.bbbb.ovvv.transpose((0, 1, 3, 2)) - tmp198 = einsum(tmp197, (0, 1, 2, 3), t1.bb, (0, 4), (1, 4, 3, 2), optimize=True) - del tmp197 - tmp198 += v.bbbb.vvvv.transpose((2, 3, 1, 0)) * -1 - t2new.bbbb += einsum(t2.bbbb, (0, 1, 2, 3), tmp198, (2, 4, 5, 3), (1, 0, 5, 4), optimize=True) * -2 - del tmp198 - tmp192 = einsum(v.bbbb.ovvv, (0, 1, 2, 3), t1.bb, (4, 3), (4, 0, 1, 2), optimize=True) - t2new.bbbb += tmp192.transpose((1, 0, 3, 2)) * -1 - tmp195 = einsum(t1.bb, (0, 1), v.bbbb.vvvv, (2, 1, 3, 4), (0, 3, 4, 2), optimize=True) - tmp196 = einsum(t1.bb, (0, 1), tmp195, (2, 3, 1, 4), (0, 2, 3, 4), optimize=True) - del tmp195 - t2new.bbbb += tmp196.transpose((0, 1, 3, 2)) * -1 - t2new.bbbb += tmp196 - del tmp196 - t2new.bbbb += tmp192.transpose((0, 1, 3, 2)) - tmp31 = einsum(v.aabb.ovov, (0, 1, 2, 3), t1.bb, (4, 3), (0, 4, 2, 1), optimize=True) - tmp189 = tmp31.copy() - tmp189 += v.aabb.ovoo.transpose((0, 3, 2, 1)) - tmp190 = einsum(t2.abab, (0, 1, 2, 3), tmp189, (0, 4, 5, 2), (1, 4, 5, 3), optimize=True) - del tmp189 - tmp191 = einsum(t1.bb, (0, 1), tmp190, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) - del tmp190 - t2new.bbbb += tmp191.transpose((1, 0, 3, 2)) - tmp179 = einsum(v.bbbb.oovv, (0, 1, 2, 3), t1.bb, (4, 3), (4, 0, 1, 2), optimize=True) - tmp187 = tmp179.transpose((2, 0, 1, 3)).copy() - tmp33 = einsum(t1.bb, (0, 1), v.bbbb.ovov, (2, 1, 3, 4), (0, 3, 2, 4), optimize=True) - tmp187 += tmp33 - tmp187 += v.bbbb.ooov.transpose((1, 2, 0, 3)) - tmp188 = einsum(tmp187, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 4, 3), optimize=True) - del tmp187 + tmp37 = v.bbbb.ovov.transpose((2, 0, 1, 3)).copy() * -1 + tmp37 += v.bbbb.ovov.transpose((2, 0, 3, 1)) + tmp20 = v.aaaa.ovov.transpose((2, 0, 1, 3)).copy() + tmp20 += v.aaaa.ovov.transpose((2, 0, 3, 1)) * -1 + tmp11 = v.bbbb.ovov.transpose((2, 0, 1, 3)).copy() * -1 + tmp11 += v.bbbb.ovov.transpose((2, 0, 3, 1)) + tmp28 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t1.bb, (4, 3), (4, 0, 2, 1), optimize=True) + tmp10 = einsum(t1.aa, (0, 1), v.aabb.ovov, (0, 1, 2, 3), (2, 3), optimize=True) + t1new.bb = tmp10.copy() + tmp38 = einsum(tmp37, (0, 1, 2, 3), t1.bb, (0, 3), (1, 2), optimize=True) + tmp1 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 2, 1), optimize=True) + tmp21 = einsum(t1.aa, (0, 1), tmp20, (0, 2, 1, 3), (2, 3), optimize=True) + tmp0 = einsum(v.aabb.ovov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1), optimize=True) + t1new.aa = tmp0.copy() + tmp12 = einsum(tmp11, (0, 1, 2, 3), t1.bb, (0, 3), (1, 2), optimize=True) + tmp177 = einsum(v.bbbb.ooov, (0, 1, 2, 3), t1.bb, (4, 3), (4, 0, 1, 2), optimize=True) + tmp151 = tmp28.copy() * -1 + tmp151 += tmp28.transpose((0, 2, 1, 3)) + tmp175 = v.bbbb.ovvv.transpose((0, 1, 3, 2)).copy() * -1 + tmp175 += v.bbbb.ovvv.transpose((0, 3, 1, 2)) + tmp142 = v.bbbb.ooov.transpose((1, 0, 2, 3)).copy() + tmp142 += v.bbbb.ooov.transpose((1, 2, 0, 3)) * -1 + tmp26 = einsum(v.aabb.ovov, (0, 1, 2, 3), t1.bb, (4, 3), (0, 4, 2, 1), optimize=True) + tmp39 = f.bb.ov.copy() + tmp39 += tmp10 + tmp39 += tmp38 * -1 + del tmp38 + tmp87 = tmp1.copy() * -1 + tmp87 += tmp1.transpose((0, 2, 1, 3)) + tmp80 = v.aaaa.ovvv.transpose((0, 1, 3, 2)).copy() + tmp80 += v.aaaa.ovvv.transpose((0, 3, 1, 2)) * -1 + tmp7 = v.aaaa.ovov.transpose((2, 0, 1, 3)).copy() + tmp7 += v.aaaa.ovov.transpose((2, 0, 3, 1)) * -1 + tmp22 = f.aa.ov.copy() + tmp22 += tmp0 + tmp22 += tmp21 * -1 + del tmp21 + tmp91 = v.aaaa.ooov.transpose((1, 0, 2, 3)).copy() * -1 + tmp91 += v.aaaa.ooov.transpose((2, 1, 0, 3)) + tmp68 = einsum(v.aaaa.ooov, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 1, 2), optimize=True) + tmp3 = einsum(t1.aa, (0, 1), v.aabb.ovov, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) + tmp202 = einsum(t1.bb, (0, 1), tmp28, (2, 3, 4, 1), (2, 0, 4, 3), optimize=True) + tmp13 = f.bb.ov.copy() + tmp13 += tmp10 + del tmp10 + tmp13 += tmp12 * -1 + del tmp12 + t1new.bb += einsum(t2.bbbb, (0, 1, 2, 3), tmp13, (0, 2), (1, 3), optimize=True) * 2 + t1new.aa += einsum(tmp13, (0, 1), t2.abab, (2, 0, 3, 1), (2, 3), optimize=True) + tmp188 = einsum(t1.bb, (0, 1), v.bbbb.ovvv, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) + t2new.bbbb = tmp188.transpose((1, 0, 3, 2)).copy() * -1 + t2new.bbbb += tmp188.transpose((0, 1, 3, 2)) t2new.bbbb += tmp188 * -1 - tmp182 = tmp33.transpose((0, 2, 1, 3)).copy() * -1 - tmp182 += tmp33 - tmp182 += v.bbbb.ooov.transpose((1, 2, 0, 3)) - tmp182 += v.bbbb.ooov.transpose((1, 0, 2, 3)) * -1 - tmp183 = einsum(t1.bb, (0, 1), tmp182, (2, 0, 3, 4), (2, 3, 1, 4), optimize=True) - del tmp182 - tmp184 = tmp183.copy() * -1 + t2new.bbbb += tmp188.transpose((1, 0, 2, 3)) + tmp180 = einsum(t1.bb, (0, 1), tmp177, (2, 3, 4, 0), (2, 4, 3, 1), optimize=True) + tmp179 = einsum(v.bbbb.oovv, (0, 1, 2, 3), t1.bb, (4, 3), (4, 0, 1, 2), optimize=True) + tmp152 = einsum(tmp151, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 4, 3), optimize=True) + del tmp151 + tmp190 = einsum(t1.bb, (0, 1), tmp175, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) + tmp35 = v.bbbb.ooov.transpose((1, 0, 2, 3)).copy() * -1 + tmp35 += v.bbbb.ooov.transpose((1, 2, 0, 3)) + tmp143 = einsum(tmp142, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 4, 3), optimize=True) + del tmp142 + tmp134 = v.aabb.ovoo.transpose((0, 3, 2, 1)).copy() + tmp134 += tmp26.transpose((0, 2, 1, 3)) + tmp33 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 4, 1, 3), (4, 2), optimize=True) + tmp34 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (1, 2, 4, 3), (0, 4), optimize=True) * -1 + tmp183 = einsum(tmp39, (0, 1), t1.bb, (2, 1), (2, 0), optimize=True) * 0.5 + tmp154 = einsum(t1.bb, (0, 1), tmp26, (2, 3, 0, 4), (2, 3, 4, 1), optimize=True) + tmp130 = einsum(v.aabb.ovvv, (0, 1, 2, 3), t1.bb, (4, 3), (0, 4, 1, 2), optimize=True) + t2new.abab = tmp130.copy() + tmp56 = v.aaaa.ooov.transpose((1, 0, 2, 3)).copy() + tmp56 += v.aaaa.ooov.transpose((2, 1, 0, 3)) * -1 + tmp62 = v.aaaa.ovvv.transpose((0, 1, 3, 2)).copy() + tmp62 += v.aaaa.ovvv.transpose((0, 3, 2, 1)) * -1 + tmp88 = einsum(tmp87, (0, 1, 2, 3), t1.aa, (2, 4), (0, 1, 4, 3), optimize=True) + del tmp87 + tmp81 = einsum(t1.aa, (0, 1), tmp80, (2, 3, 1, 4), (0, 2, 3, 4), optimize=True) + del tmp80 + tmp50 = v.bbbb.ovov.transpose((2, 0, 1, 3)).copy() + tmp50 += v.bbbb.ovov.transpose((2, 0, 3, 1)) * -1 + tmp8 = einsum(t1.aa, (0, 1), tmp7, (0, 2, 1, 3), (2, 3), optimize=True) + tmp100 = einsum(tmp1, (0, 1, 2, 3), t1.aa, (4, 3), (0, 4, 2, 1), optimize=True) + tmp23 = einsum(tmp22, (0, 1), t1.aa, (2, 1), (2, 0), optimize=True) + tmp16 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (1, 2, 4, 3), (0, 4), optimize=True) * -1 + tmp17 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 1, 3), (4, 0), optimize=True) + tmp92 = einsum(tmp91, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3), optimize=True) + del tmp91 + tmp18 = v.aaaa.ooov.transpose((1, 0, 2, 3)).copy() + tmp18 += v.aaaa.ooov.transpose((2, 1, 0, 3)) * -1 + tmp70 = einsum(v.aaaa.oovv, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 1, 2), optimize=True) + tmp71 = einsum(t1.aa, (0, 1), tmp68, (2, 3, 4, 0), (2, 4, 3, 1), optimize=True) + tmp78 = einsum(t1.aa, (0, 1), v.aaaa.ovvv, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) + t2new.aaaa = tmp78.transpose((1, 0, 3, 2)).copy() * -1 + t2new.aaaa += tmp78.transpose((0, 1, 3, 2)) + t2new.aaaa += tmp78 * -1 + t2new.aaaa += tmp78.transpose((1, 0, 2, 3)) + tmp83 = einsum(v.bbaa.ovvv, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 2, 1), optimize=True) + tmp95 = einsum(tmp3, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 4, 3), optimize=True) + t2new.abab += tmp95 * -1 + tmp191 = v.bbbb.ooov.transpose((1, 0, 2, 3)).copy() * -1 + tmp191 += v.bbbb.ooov.transpose((2, 1, 0, 3)) + tmp189 = t2.bbbb.transpose((1, 0, 3, 2)).copy() * 2 + tmp189 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (2, 0, 1, 3), optimize=True) * -1 + tmp118 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (0, 3, 1, 4), (2, 4), optimize=True) * -1 + tmp117 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 2, 1, 4), (4, 3), optimize=True) + tmp206 = einsum(t1.bb, (0, 1), tmp202, (2, 3, 0, 4), (3, 2, 4, 1), optimize=True) + tmp121 = einsum(t1.aa, (0, 1), v.aabb.ovvv, (0, 1, 2, 3), (2, 3), optimize=True) + tmp123 = einsum(t1.bb, (0, 1), tmp13, (0, 2), (1, 2), optimize=True) + del tmp13 + tmp163 = v.bbbb.ooov.transpose((1, 0, 2, 3)).copy() * -1 + tmp163 += v.bbbb.ooov.transpose((2, 1, 0, 3)) + tmp208 = einsum(v.bbbb.vvvv, (0, 1, 2, 3), t1.bb, (4, 1), (4, 2, 3, 0), optimize=True) + tmp204 = einsum(tmp188, (0, 1, 2, 3), t1.bb, (4, 2), (4, 0, 1, 3), optimize=True) + del tmp188 + tmp181 = tmp179.transpose((0, 2, 1, 3)).copy() + tmp181 += tmp180.transpose((0, 2, 1, 3)) * -1 + tmp210 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (4, 5, 1, 3), (4, 5, 0, 2), optimize=True) + tmp200 = einsum(v.aabb.ovoo, (0, 1, 2, 3), t2.abab, (0, 4, 1, 5), (4, 2, 3, 5), optimize=True) + t2new.bbbb += einsum(t1.bb, (0, 1), tmp200, (2, 3, 0, 4), (3, 2, 4, 1), optimize=True) + tmp168 = v.bbbb.ooov.transpose((1, 0, 2, 3)).copy() * -1 + tmp168 += v.bbbb.ooov.transpose((1, 2, 0, 3)) + tmp32 = einsum(t1.aa, (0, 1), v.aabb.ovoo, (0, 1, 2, 3), (2, 3), optimize=True) + tmp195 = tmp190.transpose((0, 1, 3, 2)).copy() * -1 + tmp195 += tmp152 * -1 + tmp36 = einsum(tmp35, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1), optimize=True) + del tmp35 + tmp173 = v.bbbb.ovvv.transpose((0, 1, 3, 2)).copy() * -1 + tmp173 += v.bbbb.ovvv.transpose((0, 3, 1, 2)) + tmp197 = v.bbbb.oovv.transpose((1, 0, 3, 2)).copy() + tmp197 += tmp143.transpose((1, 0, 2, 3)) * -1 + tmp165 = einsum(tmp7, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) + tmp135 = einsum(tmp134, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 3, 4), optimize=True) + del tmp134 + t2new.abab += tmp135 * -1 + tmp120 = einsum(t2.bbbb, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (4, 0, 5, 2), optimize=True) + t2new.abab += tmp120 * 2 + tmp184 = tmp33.copy() * 0.5 + tmp184 += tmp34 + tmp184 += tmp183 del tmp183 - tmp184 += v.bbbb.oovv.transpose((1, 0, 3, 2)) - tmp185 = einsum(t2.bbbb, (0, 1, 2, 3), tmp184, (4, 0, 5, 2), (1, 4, 3, 5), optimize=True) - del tmp184 - t2new.bbbb += tmp185.transpose((1, 0, 2, 3)) * 2 - tmp132 = einsum(v.aabb.ovvv, (0, 1, 2, 3), t1.bb, (4, 3), (0, 4, 1, 2), optimize=True) - tmp142 = tmp132.copy() - tmp142 += v.aabb.ovov.transpose((0, 2, 1, 3)) - tmp176 = einsum(t2.abab, (0, 1, 2, 3), tmp142, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) - t2new.bbbb += tmp176 - tmp169 = v.bbbb.ovvv.transpose((0, 3, 1, 2)).copy() - tmp169 += v.bbbb.ovvv.transpose((0, 1, 3, 2)) * -1 - tmp170 = einsum(t1.bb, (0, 1), tmp169, (2, 3, 1, 4), (0, 2, 3, 4), optimize=True) - del tmp169 - tmp171 = tmp170.copy() * -1 - del tmp170 - tmp171 += v.bbbb.ovov.transpose((2, 0, 1, 3)) - tmp172 = einsum(t2.bbbb, (0, 1, 2, 3), tmp171, (4, 0, 2, 5), (1, 4, 3, 5), optimize=True) - del tmp171 - t2new.bbbb += tmp172 * 2 - tmp193 = einsum(tmp192, (0, 1, 2, 3), t1.bb, (4, 2), (4, 0, 1, 3), optimize=True) - tmp194 = einsum(t1.bb, (0, 1), tmp193, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) - del tmp193 - t2new.bbbb += tmp194.transpose((1, 0, 2, 3)) - t2new.bbbb += tmp194 * -1 - tmp180 = tmp179.transpose((2, 1, 0, 3)).copy() - del tmp179 - tmp180 += tmp33.transpose((2, 0, 1, 3)) - tmp180 += v.bbbb.ooov.transpose((1, 0, 2, 3)) - tmp181 = einsum(t1.bb, (0, 1), tmp180, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) - del tmp180 - t2new.bbbb += tmp181.transpose((0, 1, 3, 2)) - t2new.bbbb += tmp176.transpose((0, 1, 3, 2)) * -1 - tmp139 = tmp31.transpose((0, 2, 1, 3)).copy() - tmp139 += v.aabb.ovoo.transpose((0, 3, 2, 1)) - tmp140 = einsum(tmp139, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 3, 4), optimize=True) - del tmp139 - tmp174 = tmp140.copy() - tmp15 = v.aaaa.ovov.transpose((2, 0, 3, 1)).copy() - tmp15 += v.aaaa.ovov.transpose((2, 0, 1, 3)) * -1 - tmp173 = einsum(t2.abab, (0, 1, 2, 3), tmp15, (0, 4, 5, 2), (4, 1, 5, 3), optimize=True) - tmp174 += tmp173 - del tmp173 - tmp175 = einsum(tmp174, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) - del tmp174 - t2new.bbbb += tmp175.transpose((1, 0, 3, 2)) * -1 - t2new.bbbb += tmp172.transpose((0, 1, 3, 2)) * -2 - tmp165 = v.bbbb.ooov.transpose((2, 1, 0, 3)).copy() * -1 - tmp165 += v.bbbb.ooov.transpose((1, 0, 2, 3)) - tmp166 = einsum(t1.bb, (0, 1), tmp165, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) - del tmp165 - tmp167 = tmp166.transpose((1, 0, 2, 3)).copy() * -1 - del tmp166 - tmp163 = einsum(t1.bb, (0, 1), t1.bb, (2, 3), (2, 0, 1, 3), optimize=True) * -1 - tmp163 += t2.bbbb.transpose((1, 0, 3, 2)) * 2 - tmp12 = v.bbbb.ovov.transpose((2, 0, 3, 1)).copy() - tmp12 += v.bbbb.ovov.transpose((2, 0, 1, 3)) * -1 - tmp164 = einsum(tmp12, (0, 1, 2, 3), tmp163, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) - del tmp163 - tmp167 += tmp164.transpose((1, 0, 3, 2)) * -1 - del tmp164 - tmp167 += v.bbbb.oovv.transpose((1, 0, 3, 2)) - tmp168 = einsum(t2.bbbb, (0, 1, 2, 3), tmp167, (4, 0, 5, 2), (1, 4, 3, 5), optimize=True) - del tmp167 - t2new.bbbb += tmp168.transpose((1, 0, 3, 2)) * -2 - tmp161 = einsum(t2.bbbb, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (4, 0, 5, 2), optimize=True) - tmp162 = einsum(t2.abab, (0, 1, 2, 3), tmp161, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) - del tmp161 - t2new.bbbb += tmp162.transpose((1, 0, 3, 2)) * 2 - t2new.bbbb += tmp162 * 2 - t2new.bbbb += tmp194.transpose((1, 0, 3, 2)) * -1 - t2new.bbbb += tmp194.transpose((0, 1, 3, 2)) + tmp212 = v.bbbb.ovvv.transpose((0, 1, 3, 2)).copy() + tmp212 += einsum(t1.bb, (0, 1), v.bbbb.ovov, (2, 3, 0, 4), (2, 4, 3, 1), optimize=True) + tmp155 = tmp130.copy() + tmp155 += tmp154 * -1 + t2new.abab += einsum(tmp155, (0, 1, 2, 3), t2.aaaa, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) * 2 + tmp145 = einsum(v.aabb.ovoo, (0, 1, 2, 3), t1.bb, (3, 4), (0, 2, 1, 4), optimize=True) + tmp49 = einsum(v.aabb.ooov, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 4, 3), optimize=True) + t2new.abab += tmp49 * -1 + tmp150 = v.bbbb.ovvv.transpose((0, 1, 3, 2)).copy() + tmp150 += v.bbbb.ovvv.transpose((0, 3, 2, 1)) * -1 + tmp5 = t2.abab.copy() + tmp5 += einsum(t1.aa, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3), optimize=True) + t1new.bb += einsum(v.aabb.ovvv, (0, 1, 2, 3), tmp5, (0, 4, 1, 2), (4, 3), optimize=True) + t1new.aa += einsum(tmp5, (0, 1, 2, 3), v.bbaa.ovvv, (1, 3, 2, 4), (0, 4), optimize=True) + tmp57 = einsum(tmp56, (0, 1, 2, 3), t1.aa, (0, 3), (1, 2), optimize=True) + tmp15 = einsum(v.aabb.ooov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1), optimize=True) + tmp148 = v.bbaa.ovvv.transpose((0, 3, 2, 1)).copy() + tmp148 += einsum(t1.aa, (0, 1), v.aabb.ovov, (0, 2, 3, 4), (3, 1, 2, 4), optimize=True) * -1 + tmp138 = v.aaaa.ovvv.transpose((0, 1, 3, 2)).copy() * -1 + tmp138 += v.aaaa.ovvv.transpose((0, 3, 1, 2)) + tmp40 = einsum(tmp39, (0, 1), t1.bb, (2, 1), (2, 0), optimize=True) + tmp46 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 5, 3), (4, 0, 5, 1), optimize=True) + t2new.aaaa += tmp46 + t2new.aaaa += tmp46.transpose((0, 1, 3, 2)) * -1 + t2new.aaaa += tmp46.transpose((1, 0, 2, 3)) * -1 + t2new.aaaa += tmp46.transpose((1, 0, 3, 2)) + tmp53 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.aaaa, (0, 2, 4, 1), (4, 3), optimize=True) * -1 + tmp64 = einsum(t1.aa, (0, 1), tmp22, (0, 2), (1, 2), optimize=True) + del tmp22 + tmp63 = einsum(t1.aa, (0, 1), tmp62, (0, 1, 2, 3), (2, 3), optimize=True) + del tmp62 + tmp61 = einsum(v.bbaa.ovvv, (0, 1, 2, 3), t1.bb, (0, 1), (2, 3), optimize=True) + tmp54 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 2, 4, 3), (4, 1), optimize=True) + tmp122 = v.bbbb.ovvv.transpose((0, 1, 3, 2)).copy() + tmp122 += v.bbbb.ovvv.transpose((0, 3, 1, 2)) * -1 + tmp89 = tmp81.transpose((0, 1, 3, 2)).copy() * -1 + tmp89 += tmp88 * -1 + tmp51 = einsum(tmp50, (0, 1, 2, 3), t2.abab, (4, 0, 5, 3), (4, 1, 5, 2), optimize=True) + del tmp50 + tmp84 = v.aabb.ooov.transpose((1, 0, 2, 3)).copy() + tmp84 += tmp3.transpose((1, 0, 2, 3)) + tmp108 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.aaaa, (4, 5, 1, 3), (4, 5, 0, 2), optimize=True) + tmp9 = f.aa.ov.copy() + tmp9 += tmp0 + del tmp0 + tmp9 += tmp8 * -1 + del tmp8 + t1new.bb += einsum(tmp9, (0, 1), t2.abab, (0, 2, 1, 3), (2, 3), optimize=True) + t1new.aa += einsum(tmp9, (0, 1), t2.aaaa, (0, 2, 1, 3), (2, 3), optimize=True) * 2 + tmp66 = v.aaaa.ovvv.transpose((0, 1, 3, 2)).copy() + tmp66 += v.aaaa.ovvv.transpose((0, 3, 2, 1)) * -1 + tmp106 = einsum(tmp100, (0, 1, 2, 3), t1.aa, (2, 4), (1, 0, 3, 4), optimize=True) + tmp74 = tmp16.copy() * 2 + tmp74 += tmp17 + tmp74 += tmp23 + tmp93 = v.aaaa.oovv.transpose((1, 0, 3, 2)).copy() + tmp93 += tmp92.transpose((1, 0, 2, 3)) * -1 + del tmp92 + tmp104 = einsum(v.aaaa.vvvv, (0, 1, 2, 3), t1.aa, (4, 1), (4, 2, 3, 0), optimize=True) + tmp79 = t2.aaaa.transpose((1, 0, 3, 2)).copy() * 2 + tmp79 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (2, 0, 1, 3), optimize=True) * -1 + tmp19 = einsum(t1.aa, (0, 1), tmp18, (0, 2, 3, 1), (2, 3), optimize=True) + tmp72 = tmp70.transpose((0, 2, 1, 3)).copy() + tmp72 += tmp71.transpose((0, 2, 1, 3)) * -1 + tmp110 = v.aaaa.ovvv.transpose((0, 1, 3, 2)).copy() + tmp110 += einsum(t1.aa, (0, 1), v.aaaa.ovov, (2, 3, 0, 4), (2, 4, 3, 1), optimize=True) + tmp102 = einsum(tmp78, (0, 1, 2, 3), t1.aa, (4, 2), (4, 0, 1, 3), optimize=True) + del tmp78 + tmp96 = tmp83.copy() + tmp96 += tmp95 * -1 + tmp98 = einsum(v.aabb.ooov, (0, 1, 2, 3), t2.abab, (4, 2, 5, 3), (4, 0, 1, 5), optimize=True) + t2new.aaaa += einsum(tmp98, (0, 1, 2, 3), t1.aa, (2, 4), (1, 0, 3, 4), optimize=True) + tmp194 = v.bbbb.ooov.transpose((1, 0, 2, 3)).copy() + tmp194 += tmp28.transpose((2, 0, 1, 3)) + t2new.bbbb += einsum(tmp194, (0, 1, 2, 3), t1.bb, (0, 4), (2, 1, 3, 4), optimize=True) * -1 del tmp194 - t2new.bbbb += tmp192 * -1 - t2new.bbbb += v.bbbb.ovov.transpose((2, 0, 1, 3)) * -1 - t2new.bbbb += tmp192.transpose((1, 0, 2, 3)) - del tmp192 - t2new.bbbb += v.bbbb.ovov.transpose((2, 0, 3, 1)) - t2new.bbbb += tmp191.transpose((0, 1, 3, 2)) * -1 + tmp192 = v.bbbb.oovv.transpose((1, 0, 3, 2)).copy() + tmp192 += einsum(tmp11, (0, 1, 2, 3), tmp189, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) * -1 + del tmp189 + tmp192 += tmp190.transpose((0, 1, 3, 2)) * -1 + del tmp190 + tmp192 += einsum(tmp191, (0, 1, 2, 3), t1.bb, (0, 4), (1, 2, 4, 3), optimize=True) * -1 del tmp191 - t2new.bbbb += tmp188.transpose((1, 0, 2, 3)) - del tmp188 - tmp13 = einsum(tmp12, (0, 1, 2, 3), t1.bb, (0, 3), (1, 2), optimize=True) - tmp14 = tmp13.copy() * -1 - del tmp13 - tmp11 = einsum(v.aabb.ovov, (0, 1, 2, 3), t1.aa, (0, 1), (2, 3), optimize=True) - tmp14 += tmp11 - tmp14 += f.bb.ov - tmp130 = einsum(tmp14, (0, 1), t1.bb, (0, 2), (2, 1), optimize=True) - tmp186 = tmp130.transpose((1, 0)).copy() - tmp136 = v.bbbb.ovvv.transpose((0, 3, 2, 1)).copy() * -1 - tmp136 += v.bbbb.ovvv.transpose((0, 1, 3, 2)) - tmp186 += einsum(t1.bb, (0, 1), tmp136, (0, 1, 2, 3), (3, 2), optimize=True) * -1 - tmp128 = einsum(v.aabb.ovvv, (0, 1, 2, 3), t1.aa, (0, 1), (2, 3), optimize=True) - tmp186 += tmp128.transpose((1, 0)) * -1 - tmp186 += f.bb.vv.transpose((1, 0)) * -1 - t2new.bbbb += einsum(tmp186, (0, 1), t2.bbbb, (2, 3, 0, 4), (3, 2, 4, 1), optimize=True) * -2 - del tmp186 - t2new.bbbb += tmp185 * -2 - del tmp185 - t2new.bbbb += tmp176.transpose((1, 0, 2, 3)) * -1 - t2new.bbbb += tmp172.transpose((1, 0, 2, 3)) * -2 - t2new.bbbb += tmp181.transpose((1, 0, 3, 2)) * -1 + t2new.bbbb += einsum(tmp192, (0, 1, 2, 3), t2.bbbb, (1, 4, 3, 5), (4, 0, 2, 5), optimize=True) * 2 + del tmp192 + tmp167 = tmp117.copy() + tmp167 += tmp118 * 2 + t2new.bbbb += einsum(tmp167, (0, 1), t2.bbbb, (2, 3, 1, 4), (3, 2, 4, 0), optimize=True) * -2 + del tmp167 + tmp207 = einsum(tmp206, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 4, 3), optimize=True) + del tmp206 + t2new.bbbb += tmp207.transpose((0, 1, 3, 2)) * -1 + t2new.bbbb += tmp207 + del tmp207 + tmp176 = f.bb.vv.transpose((1, 0)).copy() * -1 + tmp176 += tmp121.transpose((1, 0)) * -1 + tmp176 += einsum(tmp175, (0, 1, 2, 3), t1.bb, (0, 2), (1, 3), optimize=True) * -1 + del tmp175 + tmp176 += tmp123.transpose((1, 0)) + t2new.bbbb += einsum(tmp176, (0, 1), t2.bbbb, (2, 3, 0, 4), (3, 2, 4, 1), optimize=True) * -2 + del tmp176 + tmp160 = t2.bbbb.transpose((1, 0, 3, 2)).copy() + tmp160 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3), optimize=True) + t2new.bbbb += einsum(tmp160, (0, 1, 2, 3), v.bbbb.oooo, (0, 4, 5, 1), (5, 4, 3, 2), optimize=True) + del tmp160 + tmp216 = einsum(v.bbbb.ovvv, (0, 1, 2, 3), t2.bbbb, (4, 5, 1, 3), (4, 5, 0, 2), optimize=True) + t2new.bbbb += einsum(tmp216, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 4, 3), optimize=True) * -2 + del tmp216 + tmp164 = v.bbbb.oovv.transpose((1, 0, 3, 2)).copy() * 0.5 + tmp164 += einsum(t2.bbbb, (0, 1, 2, 3), tmp37, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) * -1 + del tmp37 + tmp164 += einsum(tmp163, (0, 1, 2, 3), t1.bb, (0, 4), (1, 2, 4, 3), optimize=True) * -0.5 + del tmp163 + t2new.bbbb += einsum(tmp164, (0, 1, 2, 3), t2.bbbb, (1, 4, 3, 5), (0, 4, 2, 5), optimize=True) * -4 + del tmp164 + tmp209 = einsum(tmp208, (0, 1, 2, 3), t1.bb, (4, 2), (4, 0, 1, 3), optimize=True) + del tmp208 + t2new.bbbb += tmp209.transpose((0, 1, 3, 2)) * -1 + t2new.bbbb += tmp209 + del tmp209 + tmp205 = einsum(tmp204, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 4, 3), optimize=True) + del tmp204 + t2new.bbbb += tmp205.transpose((1, 0, 2, 3)) + t2new.bbbb += tmp205 * -1 + t2new.bbbb += tmp205.transpose((1, 0, 3, 2)) * -1 + t2new.bbbb += tmp205.transpose((0, 1, 3, 2)) + del tmp205 + tmp182 = einsum(tmp181, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 4, 3), optimize=True) del tmp181 - tmp38 = v.bbbb.ovov.transpose((2, 0, 3, 1)).copy() - tmp38 += v.bbbb.ovov.transpose((2, 0, 1, 3)) * -1 - tmp39 = einsum(tmp38, (0, 1, 2, 3), t1.bb, (0, 3), (1, 2), optimize=True) - del tmp38 - tmp40 = tmp39.copy() * -1 - del tmp39 - tmp40 += tmp11 - tmp40 += f.bb.ov - tmp178 = einsum(tmp40, (0, 1), t1.bb, (0, 2), (1, 2), optimize=True) - tmp177 = v.bbbb.ovvv.transpose((0, 3, 2, 1)).copy() * -1 - tmp177 += v.bbbb.ovvv.transpose((0, 1, 3, 2)) - tmp178 += einsum(t1.bb, (0, 1), tmp177, (0, 1, 2, 3), (3, 2), optimize=True) * -1 + t2new.bbbb += tmp182.transpose((1, 0, 3, 2)) + t2new.bbbb += tmp182.transpose((1, 0, 2, 3)) * -1 + del tmp182 + tmp178 = einsum(t2.bbbb, (0, 1, 2, 3), tmp177, (4, 5, 0, 1), (4, 5, 2, 3), optimize=True) del tmp177 - tmp119 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (0, 4, 1, 3), (2, 4), optimize=True) - tmp178 += tmp119.transpose((1, 0)) * 2 - tmp118 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 1, 4), (3, 4), optimize=True) - tmp178 += tmp118.transpose((1, 0)) - tmp178 += tmp128.transpose((1, 0)) * -1 - tmp178 += f.bb.vv.transpose((1, 0)) * -1 - t2new.bbbb += einsum(t2.bbbb, (0, 1, 2, 3), tmp178, (2, 4), (1, 0, 4, 3), optimize=True) * 2 + t2new.bbbb += tmp178.transpose((0, 1, 3, 2)) * 2 + t2new.bbbb += tmp178.transpose((1, 0, 3, 2)) * -2 del tmp178 - t2new.bbbb += tmp176.transpose((1, 0, 3, 2)) - del tmp176 - t2new.bbbb += tmp175.transpose((0, 1, 3, 2)) - del tmp175 - t2new.bbbb += tmp172.transpose((1, 0, 3, 2)) * 2 - del tmp172 - t2new.bbbb += tmp168.transpose((0, 1, 3, 2)) * 2 + tmp171 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (1, 3, 4, 5), (0, 4, 2, 5), optimize=True) + t2new.bbbb += tmp171 * 2 + t2new.bbbb += tmp171.transpose((0, 1, 3, 2)) * -2 + t2new.bbbb += tmp171.transpose((1, 0, 2, 3)) * -2 + t2new.bbbb += tmp171.transpose((1, 0, 3, 2)) * 2 + del tmp171 + tmp211 = einsum(t2.bbbb, (0, 1, 2, 3), tmp210, (4, 5, 0, 1), (5, 4, 2, 3), optimize=True) * -1 + del tmp210 + t2new.bbbb += tmp211.transpose((0, 1, 3, 2)) * -1 + t2new.bbbb += tmp211.transpose((0, 1, 3, 2)) * -1 + del tmp211 + tmp170 = t2.bbbb.transpose((1, 0, 3, 2)).copy() + tmp170 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (2, 0, 1, 3), optimize=True) * -1 + t2new.bbbb += einsum(v.bbbb.oooo, (0, 1, 2, 3), tmp170, (0, 3, 4, 5), (2, 1, 5, 4), optimize=True) + del tmp170 + tmp203 = einsum(t2.bbbb, (0, 1, 2, 3), tmp202, (4, 5, 1, 0), (5, 4, 2, 3), optimize=True) + del tmp202 + t2new.bbbb += tmp203.transpose((0, 1, 3, 2)) * -1 + t2new.bbbb += tmp203.transpose((0, 1, 3, 2)) * -1 + del tmp203 + tmp201 = tmp28.copy() + tmp201 += tmp200.transpose((0, 2, 1, 3)) * -1 + del tmp200 + t2new.bbbb += einsum(t1.bb, (0, 1), tmp201, (2, 3, 0, 4), (2, 3, 4, 1), optimize=True) + del tmp201 + tmp187 = einsum(tmp180, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 4, 3), optimize=True) + del tmp180 + t2new.bbbb += tmp187.transpose((0, 1, 3, 2)) + t2new.bbbb += tmp187 * -1 + del tmp187 + tmp169 = f.bb.oo.transpose((1, 0)).copy() + tmp169 += tmp32.transpose((1, 0)) + tmp169 += einsum(tmp168, (0, 1, 2, 3), t1.bb, (2, 3), (1, 0), optimize=True) * -1 del tmp168 + t2new.bbbb += einsum(t2.bbbb, (0, 1, 2, 3), tmp169, (0, 4), (4, 1, 3, 2), optimize=True) * 2 + del tmp169 + tmp196 = einsum(tmp195, (0, 1, 2, 3), t2.bbbb, (1, 4, 3, 5), (4, 0, 5, 2), optimize=True) + del tmp195 + t2new.bbbb += tmp196.transpose((1, 0, 2, 3)) * 2 + t2new.bbbb += tmp196 * -2 + t2new.bbbb += tmp196.transpose((1, 0, 3, 2)) * -2 + del tmp196 + tmp186 = einsum(tmp179, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 4, 3), optimize=True) + del tmp179 + t2new.bbbb += tmp186.transpose((0, 1, 3, 2)) * -1 + t2new.bbbb += tmp186 + del tmp186 + tmp115 = f.bb.oo.transpose((1, 0)).copy() + tmp115 += tmp32.transpose((1, 0)) + tmp115 += tmp36.transpose((1, 0)) * -1 + t2new.bbbb += einsum(t2.bbbb, (0, 1, 2, 3), tmp115, (0, 4), (1, 4, 3, 2), optimize=True) * -2 + t2new.abab += einsum(tmp115, (0, 1), t2.abab, (2, 0, 3, 4), (2, 1, 3, 4), optimize=True) * -1 + del tmp115 + tmp174 = f.bb.vv.transpose((1, 0)).copy() * -1 + tmp174 += tmp121.transpose((1, 0)) * -1 + tmp174 += tmp117.transpose((1, 0)) + tmp174 += tmp118.transpose((1, 0)) * 2 + tmp174 += einsum(t1.bb, (0, 1), tmp173, (0, 2, 1, 3), (2, 3), optimize=True) * -1 + del tmp173 + tmp174 += einsum(tmp39, (0, 1), t1.bb, (0, 2), (1, 2), optimize=True) + del tmp39 + t2new.bbbb += einsum(tmp174, (0, 1), t2.bbbb, (2, 3, 0, 4), (3, 2, 1, 4), optimize=True) * 2 + del tmp174 + tmp198 = einsum(t2.bbbb, (0, 1, 2, 3), tmp197, (0, 4, 5, 2), (1, 4, 3, 5), optimize=True) + del tmp197 + t2new.bbbb += tmp198.transpose((1, 0, 2, 3)) * 2 + t2new.bbbb += tmp198 * -2 + del tmp198 + tmp193 = tmp130.copy() * -1 + tmp193 += tmp165 + tmp193 += tmp135 + del tmp135 + t2new.bbbb += einsum(tmp193, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (4, 1, 3, 5), optimize=True) + del tmp193 + tmp162 = einsum(tmp120, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) + del tmp120 t2new.bbbb += tmp162.transpose((1, 0, 2, 3)) * -2 t2new.bbbb += tmp162.transpose((0, 1, 3, 2)) * -2 + t2new.bbbb += tmp162.transpose((1, 0, 3, 2)) * 2 + t2new.bbbb += tmp162 * 2 del tmp162 - tmp160 = tmp119.copy() - tmp160 += tmp118 * 0.5 - t2new.bbbb += einsum(tmp160, (0, 1), t2.bbbb, (2, 3, 1, 4), (3, 2, 4, 0), optimize=True) * -4 - del tmp160 - tmp41 = einsum(tmp40, (0, 1), t1.bb, (2, 1), (2, 0), optimize=True) - del tmp40 - tmp111 = tmp41.transpose((1, 0)).copy() - tmp36 = v.bbbb.ooov.transpose((2, 1, 0, 3)).copy() * -1 - tmp36 += v.bbbb.ooov.transpose((1, 0, 2, 3)) - tmp37 = einsum(tmp36, (0, 1, 2, 3), t1.bb, (0, 3), (1, 2), optimize=True) - del tmp36 - tmp111 += tmp37.transpose((1, 0)) * -1 - tmp29 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (1, 2, 4, 3), (0, 4), optimize=True) * -1 - tmp111 += tmp29.transpose((1, 0)) * 2 - tmp28 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 3), (1, 4), optimize=True) - tmp111 += tmp28.transpose((1, 0)) - tmp35 = einsum(v.aabb.ovoo, (0, 1, 2, 3), t1.aa, (0, 1), (2, 3), optimize=True) - tmp111 += tmp35.transpose((1, 0)) - tmp111 += f.bb.oo.transpose((1, 0)) - tmp158 = einsum(tmp111, (0, 1), t2.bbbb, (0, 2, 3, 4), (2, 1, 3, 4), optimize=True) * 2 - t2new.bbbb += tmp158.transpose((1, 0, 3, 2)) - tmp159 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (4, 5, 3, 1), (2, 5, 0, 4), optimize=True) * 2 - tmp150 = einsum(t1.bb, (0, 1), v.bbbb.ooov, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) - tmp159 += tmp150.transpose((3, 2, 1, 0)) * 2 - tmp159 += v.bbbb.oooo.transpose((2, 3, 1, 0)) * -1 - t2new.bbbb += einsum(tmp159, (0, 1, 2, 3), t2.bbbb, (0, 2, 4, 5), (1, 3, 5, 4), optimize=True) - del tmp159 - tmp151 = einsum(tmp150, (0, 1, 2, 3), t1.bb, (3, 4), (0, 2, 1, 4), optimize=True) - del tmp150 - tmp152 = einsum(tmp151, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 4, 3), optimize=True) - del tmp151 - t2new.bbbb += tmp152.transpose((1, 0, 3, 2)) * -1 - t2new.bbbb += tmp152.transpose((1, 0, 2, 3)) - tmp148 = einsum(v.bbbb.oooo, (0, 1, 2, 3), t1.bb, (1, 4), (2, 3, 0, 4), optimize=True) - tmp149 = einsum(tmp148, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 4, 3), optimize=True) - del tmp148 - t2new.bbbb += tmp149.transpose((0, 1, 3, 2)) * -1 - t2new.bbbb += tmp158.transpose((0, 1, 3, 2)) * -1 - del tmp158 - tmp156 = tmp33.copy() * -1 - tmp156 += v.bbbb.ooov.transpose((1, 0, 2, 3)) - tmp157 = einsum(t1.bb, (0, 1), tmp156, (2, 3, 4, 1), (4, 0, 3, 2), optimize=True) * 2 - del tmp156 - tmp157 += v.bbbb.oooo.transpose((2, 3, 1, 0)) - t2new.bbbb += einsum(tmp157, (0, 1, 2, 3), t2.bbbb, (0, 2, 4, 5), (1, 3, 5, 4), optimize=True) * -1 - del tmp157 - tmp153 = einsum(tmp33, (0, 1, 2, 3), t1.bb, (4, 3), (0, 4, 2, 1), optimize=True) - tmp154 = einsum(tmp153, (0, 1, 2, 3), t1.bb, (2, 4), (1, 0, 3, 4), optimize=True) - del tmp153 - tmp155 = einsum(t1.bb, (0, 1), tmp154, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) + tmp185 = einsum(tmp184, (0, 1), t2.bbbb, (1, 2, 3, 4), (2, 0, 3, 4), optimize=True) * 4 + del tmp184 + t2new.bbbb += tmp185.transpose((1, 0, 3, 2)) + t2new.bbbb += tmp185.transpose((0, 1, 3, 2)) * -1 + del tmp185 + tmp214 = einsum(tmp28, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 4, 3), optimize=True) + t2new.bbbb += tmp214 * -1 + t2new.bbbb += tmp214.transpose((1, 0, 2, 3)) + del tmp214 + tmp161 = einsum(v.bbbb.ooov, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 4, 3), optimize=True) + t2new.bbbb += tmp161 * -1 + t2new.bbbb += tmp161.transpose((1, 0, 2, 3)) + t2new.bbbb += tmp161.transpose((0, 1, 3, 2)) + del tmp161 + tmp213 = v.bbbb.vvvv.transpose((2, 3, 1, 0)).copy() * -1 + tmp213 += einsum(tmp212, (0, 1, 2, 3), t1.bb, (0, 4), (1, 4, 3, 2), optimize=True) + del tmp212 + t2new.bbbb += einsum(t2.bbbb, (0, 1, 2, 3), tmp213, (2, 4, 5, 3), (1, 0, 5, 4), optimize=True) * -2 + del tmp213 + tmp172 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 4, 1, 5), (4, 2, 5, 3), optimize=True) + t2new.bbbb += tmp172 + t2new.bbbb += tmp172.transpose((0, 1, 3, 2)) * -1 + t2new.bbbb += tmp172.transpose((1, 0, 2, 3)) * -1 + t2new.bbbb += tmp172.transpose((1, 0, 3, 2)) + del tmp172 + tmp215 = tmp130.copy() * -1 + tmp215 += tmp154 del tmp154 - t2new.bbbb += tmp155.transpose((0, 1, 3, 2)) * -1 - t2new.bbbb += tmp155 + t2new.bbbb += einsum(tmp215, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) * -1 + del tmp215 + tmp199 = einsum(tmp155, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) del tmp155 - t2new.bbbb += tmp152.transpose((0, 1, 3, 2)) - t2new.bbbb += tmp152 * -1 + t2new.bbbb += tmp199.transpose((1, 0, 2, 3)) * -1 + t2new.bbbb += tmp199.transpose((1, 0, 3, 2)) + del tmp199 + tmp166 = tmp145.copy() + tmp166 += tmp165 + del tmp165 + t2new.bbbb += einsum(tmp166, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) * -1 + del tmp166 + tmp147 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (4, 5, 1, 3), (4, 0, 5, 2), optimize=True) + t2new.abab += einsum(tmp147, (0, 1, 2, 3), t2.abab, (1, 3, 4, 5), (0, 2, 4, 5), optimize=True) + del tmp147 + tmp133 = tmp49.copy() * -1 + tmp133 += einsum(t2.aaaa, (0, 1, 2, 3), v.aabb.ovov, (1, 3, 4, 5), (0, 4, 2, 5), optimize=True) * 2 + tmp133 += einsum(tmp11, (0, 1, 2, 3), t2.abab, (4, 0, 5, 3), (4, 1, 5, 2), optimize=True) * -1 + del tmp11 + t2new.abab += einsum(tmp133, (0, 1, 2, 3), t2.bbbb, (1, 4, 3, 5), (0, 4, 2, 5), optimize=True) * 2 + del tmp133 + tmp140 = t2.bbbb.transpose((1, 0, 3, 2)).copy() + tmp140 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (2, 0, 1, 3), optimize=True) * -0.5 + t2new.abab += einsum(tmp96, (0, 1, 2, 3), tmp140, (1, 4, 3, 5), (0, 4, 2, 5), optimize=True) * 2 + del tmp140 + tmp153 = einsum(t1.bb, (0, 1), tmp150, (2, 1, 3, 4), (0, 2, 4, 3), optimize=True) * -1 + del tmp150 + tmp153 += tmp152.transpose((0, 1, 3, 2)) del tmp152 - t2new.bbbb += tmp149 + t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp153, (4, 1, 3, 5), (0, 4, 2, 5), optimize=True) + del tmp153 + tmp132 = v.bbaa.oovv.transpose((1, 0, 3, 2)).copy() * -1 + tmp132 += einsum(v.aabb.ovoo, (0, 1, 2, 3), t1.aa, (0, 4), (3, 2, 1, 4), optimize=True) + tmp132 += einsum(t1.bb, (0, 1), v.bbaa.ovvv, (2, 1, 3, 4), (2, 0, 4, 3), optimize=True) * -1 + tmp132 += einsum(v.aabb.ovov, (0, 1, 2, 3), tmp5, (0, 4, 5, 3), (2, 4, 1, 5), optimize=True) + t2new.abab += einsum(tmp132, (0, 1, 2, 3), t2.abab, (4, 0, 2, 5), (4, 1, 3, 5), optimize=True) + del tmp132 + tmp126 = einsum(v.aabb.ooov, (0, 1, 2, 3), t1.bb, (4, 3), (0, 1, 4, 2), optimize=True) + t2new.abab += einsum(tmp126, (0, 1, 2, 3), tmp5, (0, 3, 4, 5), (1, 2, 4, 5), optimize=True) + del tmp126 + tmp127 = einsum(v.bbaa.oovv, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 1, 2), optimize=True) + t2new.abab += einsum(t1.bb, (0, 1), tmp127, (2, 3, 0, 4), (2, 3, 4, 1), optimize=True) * -1 + del tmp127 + tmp58 = f.aa.oo.transpose((1, 0)).copy() + tmp58 += tmp15.transpose((1, 0)) + tmp58 += tmp57.transpose((1, 0)) * -1 + del tmp57 + t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp58, (0, 4), (4, 1, 2, 3), optimize=True) * -1 + t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp58, (0, 4), (4, 1, 3, 2), optimize=True) * 2 + del tmp58 + tmp156 = einsum(v.aabb.ovvv, (0, 1, 2, 3), t1.aa, (4, 1), (4, 0, 3, 2), optimize=True) + tmp156 += einsum(tmp3, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 3, 4), optimize=True) * -1 + t2new.abab += einsum(tmp156, (0, 1, 2, 3), t2.abab, (1, 4, 5, 2), (0, 4, 5, 3), optimize=True) * -1 + del tmp156 + tmp128 = tmp16.transpose((1, 0)).copy() * 2 + tmp128 += tmp17.transpose((1, 0)) + tmp128 += tmp23.transpose((1, 0)) + t2new.abab += einsum(tmp128, (0, 1), t2.abab, (0, 2, 3, 4), (1, 2, 3, 4), optimize=True) * -1 + del tmp128 + tmp149 = v.aabb.vvvv.transpose((1, 0, 3, 2)).copy() + tmp149 += einsum(tmp148, (0, 1, 2, 3), t1.bb, (0, 4), (2, 1, 3, 4), optimize=True) * -1 + del tmp148 + t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp149, (2, 4, 3, 5), (0, 1, 4, 5), optimize=True) del tmp149 - tmp147 = einsum(v.aabb.ovvv, (0, 1, 2, 3), t2.abab, (4, 5, 1, 3), (4, 0, 5, 2), optimize=True) - t2new.abab = einsum(tmp147, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 4, 3), optimize=True) * -1 - del tmp147 - tmp146 = einsum(t1.bb, (0, 1), v.bbaa.ovvv, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) - tmp1 = einsum(t1.aa, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3), optimize=True) - tmp1 += t2.abab - t2new.abab += einsum(tmp146, (0, 1, 2, 3), tmp1, (4, 1, 2, 5), (4, 0, 3, 5), optimize=True) * -1 - del tmp146 - tmp144 = einsum(t1.aa, (0, 1), v.aabb.ovov, (0, 2, 3, 4), (3, 1, 2, 4), optimize=True) * -1 - tmp144 += v.bbaa.ovvv.transpose((0, 3, 2, 1)) - tmp145 = einsum(tmp144, (0, 1, 2, 3), t1.bb, (0, 4), (2, 1, 3, 4), optimize=True) * -1 - del tmp144 - tmp145 += v.aabb.vvvv.transpose((1, 0, 3, 2)) - t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp145, (2, 4, 3, 5), (0, 1, 4, 5), optimize=True) - del tmp145 - tmp143 = einsum(tmp142, (0, 1, 2, 3), t1.aa, (4, 2), (4, 0, 1, 3), optimize=True) - del tmp142 - t2new.abab += einsum(tmp143, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 4, 3), optimize=True) * -1 + tmp144 = v.bbbb.ovov.transpose((2, 0, 3, 1)).copy() + tmp144 += v.bbbb.oovv.transpose((1, 0, 3, 2)) * -1 + tmp144 += tmp143.transpose((1, 0, 3, 2)) del tmp143 - tmp141 = tmp140.copy() * -1 - del tmp140 - tmp141 += tmp132 - tmp141 += v.aabb.ovov.transpose((0, 2, 1, 3)) - t2new.abab += einsum(t2.aaaa, (0, 1, 2, 3), tmp141, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) * 2 - del tmp141 - tmp137 = tmp33.transpose((2, 0, 1, 3)).copy() * -1 - tmp137 += tmp33.transpose((1, 0, 2, 3)) - tmp137 += v.bbbb.ooov.transpose((2, 1, 0, 3)) - tmp137 += v.bbbb.ooov.transpose((1, 0, 2, 3)) * -1 - tmp138 = einsum(tmp137, (0, 1, 2, 3), t1.bb, (0, 4), (2, 1, 3, 4), optimize=True) + t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp144, (1, 4, 3, 5), (0, 4, 2, 5), optimize=True) + del tmp144 + tmp119 = tmp117.copy() * 0.5 + del tmp117 + tmp119 += tmp118 + del tmp118 + t2new.abab += einsum(tmp119, (0, 1), t2.abab, (2, 3, 4, 1), (2, 3, 4, 0), optimize=True) * -2 + del tmp119 + tmp137 = einsum(tmp26, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 1, 2), optimize=True) + t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp137, (4, 0, 5, 1), (4, 5, 2, 3), optimize=True) del tmp137 - tmp138 += einsum(tmp136, (0, 1, 2, 3), t1.bb, (4, 1), (0, 4, 3, 2), optimize=True) * -1 + tmp136 = v.aabb.oovv.transpose((1, 0, 3, 2)).copy() + tmp136 += einsum(v.aabb.ooov, (0, 1, 2, 3), t1.bb, (2, 4), (1, 0, 3, 4), optimize=True) * -1 + t2new.abab += einsum(tmp136, (0, 1, 2, 3), t2.abab, (0, 4, 5, 2), (1, 4, 5, 3), optimize=True) * -1 del tmp136 - tmp138 += v.bbbb.oovv.transpose((1, 0, 3, 2)) * -1 - tmp138 += v.bbbb.ovov.transpose((2, 0, 3, 1)) - t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp138, (1, 4, 3, 5), (0, 4, 2, 5), optimize=True) - del tmp138 - tmp135 = einsum(t1.bb, (0, 1), v.aabb.vvvv, (2, 3, 4, 1), (0, 3, 2, 4), optimize=True) - tmp135 += v.bbaa.ovvv.transpose((0, 3, 2, 1)) - t2new.abab += einsum(t1.aa, (0, 1), tmp135, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) - del tmp135 - tmp134 = einsum(v.aabb.oovv, (0, 1, 2, 3), t1.bb, (4, 3), (1, 0, 4, 2), optimize=True) - tmp134 += v.aabb.ooov.transpose((1, 0, 2, 3)) - t2new.abab += einsum(t1.aa, (0, 1), tmp134, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) * -1 - del tmp134 - tmp7 = einsum(t1.aa, (0, 1), v.aabb.ovov, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) - tmp95 = tmp7.copy() - tmp95 += v.aabb.ooov.transpose((1, 0, 2, 3)) - tmp133 = einsum(t1.bb, (0, 1), tmp95, (2, 3, 0, 4), (3, 2, 4, 1), optimize=True) - tmp133 += v.aabb.oovv.transpose((1, 0, 3, 2)) * -1 - t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp133, (0, 4, 3, 5), (4, 1, 2, 5), optimize=True) - del tmp133 - t2new.abab += tmp132 - del tmp132 - t2new.abab += v.aabb.ovov.transpose((0, 2, 1, 3)) - tmp131 = tmp130.transpose((1, 0)).copy() * -1 + tmp129 = einsum(v.aabb.ovoo, (0, 1, 2, 3), t1.aa, (4, 1), (4, 0, 2, 3), optimize=True) + t2new.abab += einsum(tmp129, (0, 1, 2, 3), tmp5, (1, 2, 4, 5), (0, 3, 4, 5), optimize=True) + del tmp5, tmp129 + tmp146 = v.aabb.ovov.transpose((0, 2, 1, 3)).copy() + tmp146 += tmp145 * -1 + del tmp145 + t2new.abab += einsum(tmp146, (0, 1, 2, 3), t2.aaaa, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) * 2 + del tmp146 + tmp157 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovvv, (4, 2, 5, 3), (0, 4, 1, 5), optimize=True) + t2new.abab += einsum(t1.aa, (0, 1), tmp157, (2, 0, 3, 4), (2, 3, 1, 4), optimize=True) * -1 + del tmp157 + tmp141 = v.bbaa.ovvv.transpose((0, 3, 2, 1)).copy() + tmp141 += einsum(v.aabb.vvvv, (0, 1, 2, 3), t1.bb, (4, 3), (4, 1, 0, 2), optimize=True) + t2new.abab += einsum(tmp141, (0, 1, 2, 3), t1.aa, (4, 1), (4, 0, 2, 3), optimize=True) + del tmp141 + tmp159 = einsum(tmp130, (0, 1, 2, 3), t1.aa, (4, 2), (4, 0, 1, 3), optimize=True) del tmp130 - tmp129 = v.bbbb.ovvv.transpose((0, 3, 2, 1)).copy() - tmp129 += v.bbbb.ovvv.transpose((0, 1, 3, 2)) * -1 - tmp131 += einsum(tmp129, (0, 1, 2, 3), t1.bb, (0, 1), (3, 2), optimize=True) * -1 - del tmp129 - tmp131 += tmp128.transpose((1, 0)) - del tmp128 - tmp131 += f.bb.vv.transpose((1, 0)) - t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp131, (3, 4), (0, 1, 2, 4), optimize=True) - del tmp131 - tmp127 = einsum(v.aabb.ovvv, (0, 1, 2, 3), t1.aa, (4, 1), (4, 0, 2, 3), optimize=True) - t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp127, (4, 0, 5, 3), (4, 1, 2, 5), optimize=True) * -1 - del tmp127 - tmp126 = tmp31.transpose((0, 2, 1, 3)).copy() - tmp126 += einsum(t1.aa, (0, 1), v.bbaa.oovv, (2, 3, 4, 1), (0, 3, 2, 4), optimize=True) - tmp126 += v.aabb.ovoo.transpose((0, 3, 2, 1)) - t2new.abab += einsum(t1.bb, (0, 1), tmp126, (2, 0, 3, 4), (2, 3, 4, 1), optimize=True) * -1 - del tmp126 - tmp21 = v.aaaa.ovov.transpose((2, 0, 3, 1)).copy() - tmp21 += v.aaaa.ovov.transpose((2, 0, 1, 3)) * -1 - tmp22 = einsum(t1.aa, (0, 1), tmp21, (0, 2, 3, 1), (2, 3), optimize=True) - del tmp21 - tmp23 = tmp22.copy() * -1 - del tmp22 - tmp0 = einsum(v.aabb.ovov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1), optimize=True) - tmp23 += tmp0 - tmp23 += f.aa.ov - tmp82 = einsum(t1.aa, (0, 1), tmp23, (0, 2), (1, 2), optimize=True) - tmp83 = tmp82.transpose((1, 0)).copy() - del tmp82 - tmp80 = v.aaaa.ovvv.transpose((0, 3, 1, 2)).copy() - tmp80 += v.aaaa.ovvv.transpose((0, 1, 3, 2)) * -1 - tmp81 = einsum(tmp80, (0, 1, 2, 3), t1.aa, (0, 2), (1, 3), optimize=True) - del tmp80 - tmp83 += tmp81 * -1 - del tmp81 - tmp57 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 4, 1, 3), (2, 4), optimize=True) - tmp83 += tmp57.transpose((1, 0)) - tmp56 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.aaaa, (0, 2, 4, 3), (4, 1), optimize=True) - tmp83 += tmp56.transpose((1, 0)) * 2 - tmp79 = einsum(v.bbaa.ovvv, (0, 1, 2, 3), t1.bb, (0, 1), (2, 3), optimize=True) - tmp83 += tmp79.transpose((1, 0)) * -1 - tmp83 += f.aa.vv.transpose((1, 0)) * -1 - t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp83, (2, 4), (0, 1, 4, 3), optimize=True) * -1 - tmp124 = einsum(t1.aa, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3), optimize=True) - tmp124 += t2.abab - tmp125 = einsum(v.aabb.ovov, (0, 1, 2, 3), tmp124, (0, 4, 5, 3), (2, 4, 1, 5), optimize=True) - del tmp124 - tmp125 += einsum(t1.aa, (0, 1), v.aabb.ovoo, (0, 2, 3, 4), (4, 3, 2, 1), optimize=True) - tmp125 += v.bbaa.oovv.transpose((1, 0, 3, 2)) * -1 - t2new.abab += einsum(tmp125, (0, 1, 2, 3), t2.abab, (4, 0, 2, 5), (4, 1, 3, 5), optimize=True) + t2new.abab += einsum(tmp159, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 4, 3), optimize=True) * -1 + del tmp159 + tmp139 = einsum(t1.aa, (0, 1), tmp138, (2, 3, 1, 4), (0, 2, 3, 4), optimize=True) * -1 + del tmp138 + tmp139 += tmp88.transpose((0, 1, 3, 2)) + del tmp88 + t2new.abab += einsum(tmp139, (0, 1, 2, 3), t2.abab, (1, 4, 2, 5), (0, 4, 3, 5), optimize=True) + del tmp139 + tmp125 = tmp33.transpose((1, 0)).copy() + tmp125 += tmp34.transpose((1, 0)) * 2 + tmp125 += tmp40.transpose((1, 0)) + t2new.abab += einsum(tmp125, (0, 1), t2.abab, (2, 0, 3, 4), (2, 1, 3, 4), optimize=True) * -1 del tmp125 - tmp61 = einsum(t1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 3, 1), optimize=True) * -1 - tmp61 += t2.aaaa.transpose((1, 0, 3, 2)) * 2 - tmp123 = einsum(tmp61, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 5), (1, 4, 3, 5), optimize=True) - tmp123 += einsum(tmp12, (0, 1, 2, 3), t2.abab, (4, 0, 5, 3), (4, 1, 5, 2), optimize=True) * -1 - del tmp12 - tmp76 = einsum(t1.aa, (0, 1), v.bbaa.ovvv, (2, 3, 4, 1), (0, 2, 4, 3), optimize=True) - tmp123 += tmp76 - tmp123 += einsum(v.aabb.ooov, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 4, 3), optimize=True) * -1 - tmp123 += v.aabb.ovov.transpose((0, 2, 1, 3)) - t2new.abab += einsum(tmp123, (0, 1, 2, 3), t2.bbbb, (1, 4, 3, 5), (0, 4, 2, 5), optimize=True) * 2 - del tmp123 - tmp121 = v.aaaa.ooov.transpose((1, 2, 0, 3)).copy() * -1 - tmp121 += v.aaaa.ooov.transpose((1, 0, 2, 3)) - tmp122 = einsum(t1.aa, (0, 1), tmp121, (2, 3, 0, 4), (3, 2, 4, 1), optimize=True) + tmp158 = einsum(v.aabb.oovv, (0, 1, 2, 3), t1.bb, (4, 3), (0, 1, 4, 2), optimize=True) + t2new.abab += einsum(tmp158, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 4, 3), optimize=True) * -1 + del tmp158 + tmp131 = v.aaaa.oovv.transpose((1, 0, 3, 2)).copy() + tmp131 += tmp46.transpose((1, 0, 3, 2)) * -1 + tmp131 += einsum(t2.aaaa, (0, 1, 2, 3), tmp7, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) * 2 + tmp131 += einsum(tmp56, (0, 1, 2, 3), t1.aa, (0, 4), (2, 1, 3, 4), optimize=True) + t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp131, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) * -1 + del tmp131 + tmp65 = f.aa.vv.transpose((1, 0)).copy() * -1 + tmp65 += tmp61.transpose((1, 0)) * -1 + tmp65 += tmp53.transpose((1, 0)) * 2 + tmp65 += tmp54.transpose((1, 0)) + tmp65 += tmp63.transpose((1, 0)) * -1 + del tmp63 + tmp65 += tmp64.transpose((1, 0)) + del tmp64 + t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp65, (2, 4), (0, 1, 4, 3), optimize=True) * -1 + t2new.aaaa += einsum(tmp65, (0, 1), t2.aaaa, (2, 3, 0, 4), (3, 2, 1, 4), optimize=True) * 2 + del tmp65 + tmp124 = f.bb.vv.transpose((1, 0)).copy() + tmp124 += tmp121.transpose((1, 0)) del tmp121 - tmp91 = v.aaaa.ovvv.transpose((0, 3, 1, 2)).copy() - tmp91 += v.aaaa.ovvv.transpose((0, 1, 3, 2)) * -1 - tmp122 += einsum(t1.aa, (0, 1), tmp91, (2, 3, 1, 4), (2, 0, 3, 4), optimize=True) * -1 - tmp62 = v.aaaa.ovov.transpose((2, 0, 3, 1)).copy() * -1 - tmp62 += v.aaaa.ovov.transpose((2, 0, 1, 3)) - tmp63 = einsum(tmp61, (0, 1, 2, 3), tmp62, (0, 4, 5, 2), (1, 4, 3, 5), optimize=True) - del tmp61, tmp62 - tmp122 += tmp63.transpose((1, 0, 3, 2)) - tmp59 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 5, 3), (4, 0, 5, 1), optimize=True) - tmp122 += tmp59.transpose((1, 0, 3, 2)) - tmp122 += v.aaaa.oovv.transpose((1, 0, 3, 2)) * -1 - tmp122 += v.aaaa.ovov.transpose((2, 0, 3, 1)) - t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp122, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) + tmp124 += einsum(t1.bb, (0, 1), tmp122, (0, 2, 1, 3), (2, 3), optimize=True) * -1 del tmp122 - tmp120 = tmp119.copy() * 2 - del tmp119 - tmp120 += tmp118 - del tmp118 - t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp120, (4, 3), (0, 1, 2, 4), optimize=True) * -1 - del tmp120 - tmp117 = einsum(tmp23, (0, 1), t1.aa, (2, 1), (0, 2), optimize=True) * 0.5 - tmp19 = v.aaaa.ooov.transpose((1, 2, 0, 3)).copy() - tmp19 += v.aaaa.ooov.transpose((1, 0, 2, 3)) * -1 - tmp117 += einsum(tmp19, (0, 1, 2, 3), t1.aa, (2, 3), (1, 0), optimize=True) * -0.5 - tmp5 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 1, 3), (0, 4), optimize=True) - tmp117 += tmp5.transpose((1, 0)) * 0.5 - tmp4 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.aaaa, (4, 0, 1, 3), (4, 2), optimize=True) * -1 - tmp117 += tmp4.transpose((1, 0)) - tmp18 = einsum(v.aabb.ooov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1), optimize=True) - tmp117 += tmp18.transpose((1, 0)) * 0.5 - tmp117 += f.aa.oo.transpose((1, 0)) * 0.5 - t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp117, (0, 4), (4, 1, 2, 3), optimize=True) * -2 - del tmp117 - tmp116 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 5, 3), (4, 0, 5, 1), optimize=True) * 2 - tmp114 = einsum(v.aabb.ooov, (0, 1, 2, 3), t1.bb, (4, 3), (0, 1, 4, 2), optimize=True) - tmp116 += tmp114.transpose((1, 0, 3, 2)) * 2 - tmp116 += v.aabb.oooo.transpose((1, 0, 3, 2)) - t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp116, (0, 4, 1, 5), (4, 5, 2, 3), optimize=True) * 0.5 + tmp124 += tmp123.transpose((1, 0)) * -1 + del tmp123 + t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp124, (3, 4), (0, 1, 2, 4), optimize=True) + del tmp124 + tmp116 = t2.abab.copy() + tmp116 += einsum(t1.aa, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3), optimize=True) * 2 + t2new.abab += einsum(tmp116, (0, 1, 2, 3), v.aabb.oooo, (0, 4, 1, 5), (4, 5, 2, 3), optimize=True) * 0.5 del tmp116 - tmp115 = einsum(t1.bb, (0, 1), tmp114, (2, 3, 4, 0), (3, 2, 4, 1), optimize=True) - del tmp114 - t2new.abab += einsum(tmp115, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3), optimize=True) - del tmp115 - tmp109 = tmp31.copy() - tmp109 += v.aabb.ovoo.transpose((0, 3, 2, 1)) - tmp112 = einsum(tmp109, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 2, 1), optimize=True) - tmp112 += v.aabb.oooo.transpose((1, 0, 3, 2)) - tmp113 = einsum(t1.bb, (0, 1), tmp112, (2, 3, 0, 4), (3, 2, 4, 1), optimize=True) - del tmp112 - t2new.abab += einsum(tmp113, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3), optimize=True) - del tmp113 - t2new.abab += einsum(tmp111, (0, 1), t2.abab, (2, 0, 3, 4), (2, 1, 3, 4), optimize=True) * -1 - del tmp111 - tmp110 = einsum(tmp109, (0, 1, 2, 3), t1.aa, (4, 3), (0, 4, 2, 1), optimize=True) * 2 - del tmp109 - tmp110 += v.aabb.oooo.transpose((1, 0, 3, 2)) - t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp110, (0, 4, 1, 5), (4, 5, 2, 3), optimize=True) * 0.5 - del tmp110 - tmp108 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovvv, (4, 2, 5, 3), (0, 1, 4, 5), optimize=True) - t2new.aaaa = einsum(tmp108, (0, 1, 2, 3), t1.aa, (2, 4), (0, 1, 4, 3), optimize=True) * -2 + tmp90 = einsum(tmp89, (0, 1, 2, 3), t2.aaaa, (1, 4, 3, 5), (4, 0, 5, 2), optimize=True) + del tmp89 + t2new.aaaa += tmp90.transpose((1, 0, 2, 3)) * 2 + t2new.aaaa += tmp90 * -2 + t2new.aaaa += tmp90.transpose((1, 0, 3, 2)) * -2 + del tmp90 + tmp85 = tmp83.copy() * -1 + tmp85 += tmp51 * -1 + tmp85 += einsum(tmp84, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3), optimize=True) + del tmp84 + t2new.aaaa += einsum(tmp85, (0, 1, 2, 3), t2.abab, (4, 1, 5, 3), (4, 0, 2, 5), optimize=True) + del tmp85 + tmp109 = einsum(tmp108, (0, 1, 2, 3), t2.aaaa, (2, 3, 4, 5), (1, 0, 4, 5), optimize=True) * -1 del tmp108 - tmp106 = einsum(t1.aa, (0, 1), v.aaaa.ovov, (2, 3, 0, 4), (2, 4, 3, 1), optimize=True) - tmp106 += v.aaaa.ovvv.transpose((0, 1, 3, 2)) - tmp107 = einsum(t1.aa, (0, 1), tmp106, (0, 2, 3, 4), (2, 1, 4, 3), optimize=True) + t2new.aaaa += tmp109.transpose((0, 1, 3, 2)) * -1 + t2new.aaaa += tmp109.transpose((0, 1, 3, 2)) * -1 + del tmp109 + tmp77 = einsum(tmp71, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 4, 3), optimize=True) + del tmp71 + t2new.aaaa += tmp77.transpose((0, 1, 3, 2)) + t2new.aaaa += tmp77 * -1 + del tmp77 + tmp59 = t2.aaaa.transpose((1, 0, 3, 2)).copy() + tmp59 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (2, 0, 1, 3), optimize=True) * -1 + t2new.aaaa += einsum(tmp59, (0, 1, 2, 3), v.aaaa.oooo, (0, 4, 5, 1), (5, 4, 3, 2), optimize=True) + del tmp59 + tmp67 = f.aa.vv.transpose((1, 0)).copy() * -1 + tmp67 += tmp61.transpose((1, 0)) * -1 + del tmp61 + tmp67 += einsum(t1.aa, (0, 1), tmp66, (0, 1, 2, 3), (3, 2), optimize=True) * -1 + del tmp66 + tmp67 += einsum(tmp9, (0, 1), t1.aa, (0, 2), (1, 2), optimize=True) + del tmp9 + t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp67, (2, 4), (1, 0, 3, 4), optimize=True) * -2 + del tmp67 + tmp69 = einsum(tmp68, (0, 1, 2, 3), t2.aaaa, (2, 3, 4, 5), (0, 1, 4, 5), optimize=True) + del tmp68 + t2new.aaaa += tmp69.transpose((0, 1, 3, 2)) * 2 + t2new.aaaa += tmp69.transpose((1, 0, 3, 2)) * -2 + del tmp69 + tmp107 = einsum(t1.aa, (0, 1), tmp106, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) del tmp106 - tmp107 += v.aaaa.vvvv.transpose((2, 3, 1, 0)) * -1 - t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp107, (2, 4, 5, 3), (1, 0, 5, 4), optimize=True) * -2 + t2new.aaaa += tmp107.transpose((0, 1, 3, 2)) * -1 + t2new.aaaa += tmp107 del tmp107 - tmp98 = einsum(t1.aa, (0, 1), v.aaaa.ovvv, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) - t2new.aaaa += tmp98.transpose((1, 0, 3, 2)) * -1 - tmp104 = einsum(t1.aa, (0, 1), v.aaaa.vvvv, (2, 1, 3, 4), (0, 3, 4, 2), optimize=True) + tmp75 = einsum(t2.aaaa, (0, 1, 2, 3), tmp74, (4, 0), (1, 4, 2, 3), optimize=True) * 2 + del tmp74 + t2new.aaaa += tmp75.transpose((1, 0, 3, 2)) + t2new.aaaa += tmp75.transpose((0, 1, 3, 2)) * -1 + del tmp75 + tmp94 = einsum(t2.aaaa, (0, 1, 2, 3), tmp93, (0, 4, 5, 2), (1, 4, 3, 5), optimize=True) + del tmp93 + t2new.aaaa += tmp94.transpose((1, 0, 2, 3)) * 2 + t2new.aaaa += tmp94 * -2 + del tmp94 + tmp113 = tmp83.copy() * -1 + del tmp83 + tmp113 += tmp95 + del tmp95 + t2new.aaaa += einsum(tmp113, (0, 1, 2, 3), t2.abab, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) * -1 + del tmp113 + tmp101 = einsum(t2.aaaa, (0, 1, 2, 3), tmp100, (4, 5, 1, 0), (5, 4, 2, 3), optimize=True) + del tmp100 + t2new.aaaa += tmp101.transpose((0, 1, 3, 2)) * -1 + t2new.aaaa += tmp101.transpose((0, 1, 3, 2)) * -1 + del tmp101 + tmp48 = v.aaaa.oovv.transpose((1, 0, 3, 2)).copy() + tmp48 += einsum(t2.aaaa, (0, 1, 2, 3), tmp20, (0, 4, 5, 2), (1, 4, 3, 5), optimize=True) * -2 + del tmp20 + tmp48 += einsum(tmp18, (0, 1, 2, 3), t1.aa, (2, 4), (1, 0, 4, 3), optimize=True) * -1 + del tmp18 + t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp48, (4, 0, 5, 2), (4, 1, 5, 3), optimize=True) * -2 + del tmp48 tmp105 = einsum(t1.aa, (0, 1), tmp104, (2, 3, 1, 4), (0, 2, 3, 4), optimize=True) del tmp104 t2new.aaaa += tmp105.transpose((0, 1, 3, 2)) * -1 t2new.aaaa += tmp105 del tmp105 - t2new.aaaa += tmp98.transpose((0, 1, 3, 2)) - tmp96 = einsum(t2.abab, (0, 1, 2, 3), tmp95, (4, 5, 1, 3), (0, 4, 5, 2), optimize=True) - del tmp95 - tmp97 = einsum(tmp96, (0, 1, 2, 3), t1.aa, (2, 4), (0, 1, 4, 3), optimize=True) - del tmp96 - t2new.aaaa += tmp97.transpose((1, 0, 3, 2)) - tmp84 = einsum(t1.aa, (0, 1), v.aaaa.oovv, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) - tmp93 = tmp84.transpose((2, 0, 1, 3)).copy() - tmp9 = einsum(t1.aa, (0, 1), v.aaaa.ovov, (2, 1, 3, 4), (0, 3, 2, 4), optimize=True) - tmp93 += tmp9 - tmp93 += v.aaaa.ooov.transpose((1, 2, 0, 3)) - tmp94 = einsum(tmp93, (0, 1, 2, 3), t1.aa, (2, 4), (0, 1, 4, 3), optimize=True) - del tmp93 - t2new.aaaa += tmp94 * -1 - tmp87 = tmp9.transpose((0, 2, 1, 3)).copy() - tmp87 += tmp9 * -1 - tmp87 += v.aaaa.ooov.transpose((1, 2, 0, 3)) * -1 - tmp87 += v.aaaa.ooov.transpose((1, 0, 2, 3)) - tmp88 = einsum(tmp87, (0, 1, 2, 3), t1.aa, (2, 4), (0, 1, 4, 3), optimize=True) - del tmp87 - tmp89 = tmp88.copy() * -1 - del tmp88 - tmp89 += v.aaaa.oovv.transpose((1, 0, 3, 2)) - tmp90 = einsum(t2.aaaa, (0, 1, 2, 3), tmp89, (4, 0, 5, 2), (1, 4, 3, 5), optimize=True) - del tmp89 - t2new.aaaa += tmp90.transpose((1, 0, 2, 3)) * 2 - tmp77 = tmp76.copy() - del tmp76 - tmp77 += v.aabb.ovov.transpose((0, 2, 1, 3)) - tmp78 = einsum(tmp77, (0, 1, 2, 3), t2.abab, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) - del tmp77 - t2new.aaaa += tmp78 - tmp66 = v.aaaa.ovvv.transpose((0, 3, 2, 1)).copy() * -1 - tmp66 += v.aaaa.ovvv.transpose((0, 1, 3, 2)) - tmp67 = einsum(t1.aa, (0, 1), tmp66, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) - del tmp66 - tmp68 = tmp67.transpose((0, 1, 3, 2)).copy() * -1 - del tmp67 - tmp68 += v.aaaa.ovov.transpose((2, 0, 1, 3)) - tmp69 = einsum(t2.aaaa, (0, 1, 2, 3), tmp68, (4, 0, 2, 5), (1, 4, 3, 5), optimize=True) - del tmp68 - t2new.aaaa += tmp69 * 2 - tmp99 = einsum(t1.aa, (0, 1), tmp98, (2, 3, 1, 4), (0, 2, 3, 4), optimize=True) - tmp100 = einsum(tmp99, (0, 1, 2, 3), t1.aa, (2, 4), (0, 1, 4, 3), optimize=True) - del tmp99 - t2new.aaaa += tmp100.transpose((1, 0, 2, 3)) - t2new.aaaa += tmp100 * -1 - tmp85 = tmp84.transpose((2, 1, 0, 3)).copy() - del tmp84 - tmp85 += tmp9.transpose((2, 0, 1, 3)) - tmp85 += v.aaaa.ooov.transpose((1, 0, 2, 3)) - tmp86 = einsum(tmp85, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3), optimize=True) - del tmp85 - t2new.aaaa += tmp86.transpose((0, 1, 3, 2)) - tmp102 = tmp9.transpose((0, 2, 1, 3)).copy() * -1 - tmp102 += tmp9 - tmp102 += v.aaaa.ooov.transpose((1, 2, 0, 3)) - tmp102 += v.aaaa.ooov.transpose((1, 0, 2, 3)) * -1 - tmp103 = einsum(t2.aaaa, (0, 1, 2, 3), tmp102, (4, 0, 5, 2), (1, 5, 4, 3), optimize=True) - del tmp102 - t2new.aaaa += einsum(tmp103, (0, 1, 2, 3), t1.aa, (1, 4), (2, 0, 4, 3), optimize=True) * -2 - del tmp103 - t2new.aaaa += tmp78.transpose((0, 1, 3, 2)) * -1 - tmp101 = einsum(t2.aaaa, (0, 1, 2, 3), tmp15, (0, 4, 5, 2), (1, 4, 3, 5), optimize=True) * -1 - t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp101, (4, 0, 5, 2), (1, 4, 3, 5), optimize=True) * 4 - del tmp101 - tmp72 = tmp7.transpose((1, 0, 2, 3)).copy() - tmp72 += v.aabb.ooov.transpose((1, 0, 2, 3)) - tmp73 = einsum(tmp72, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3), optimize=True) - del tmp72 - tmp74 = tmp73.copy() - del tmp73 - tmp70 = v.bbbb.ovov.transpose((2, 0, 3, 1)).copy() * -1 - tmp70 += v.bbbb.ovov.transpose((2, 0, 1, 3)) - tmp71 = einsum(t2.abab, (0, 1, 2, 3), tmp70, (1, 4, 5, 3), (0, 4, 2, 5), optimize=True) - del tmp70 - tmp74 += tmp71 * -1 - del tmp71 - tmp75 = einsum(t2.abab, (0, 1, 2, 3), tmp74, (4, 1, 5, 3), (0, 4, 2, 5), optimize=True) - del tmp74 - t2new.aaaa += tmp75.transpose((1, 0, 3, 2)) * -1 - t2new.aaaa += tmp69.transpose((0, 1, 3, 2)) * -2 - tmp60 = einsum(tmp59, (0, 1, 2, 3), t2.aaaa, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) - del tmp59 - t2new.aaaa += tmp60.transpose((1, 0, 3, 2)) * 2 + tmp82 = v.aaaa.oovv.transpose((1, 0, 3, 2)).copy() + tmp82 += einsum(tmp79, (0, 1, 2, 3), tmp7, (0, 4, 5, 2), (1, 4, 3, 5), optimize=True) * -1 + del tmp7, tmp79 + tmp82 += tmp81.transpose((0, 1, 3, 2)) * -1 + del tmp81 + tmp82 += einsum(t1.aa, (0, 1), tmp56, (2, 3, 0, 4), (3, 2, 1, 4), optimize=True) * -1 + del tmp56 + t2new.aaaa += einsum(tmp82, (0, 1, 2, 3), t2.aaaa, (1, 4, 3, 5), (4, 0, 2, 5), optimize=True) * 2 + del tmp82 + tmp60 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (1, 3, 4, 5), (0, 4, 2, 5), optimize=True) t2new.aaaa += tmp60 * 2 - t2new.aaaa += tmp100.transpose((1, 0, 3, 2)) * -1 - t2new.aaaa += tmp100.transpose((0, 1, 3, 2)) - del tmp100 - t2new.aaaa += einsum(v.aaaa.oovv, (0, 1, 2, 3), t2.aaaa, (4, 1, 5, 3), (0, 4, 2, 5), optimize=True) * -2 - t2new.aaaa += tmp98 * -1 - t2new.aaaa += v.aaaa.ovov.transpose((2, 0, 1, 3)) * -1 - t2new.aaaa += tmp98.transpose((1, 0, 2, 3)) - del tmp98 - t2new.aaaa += v.aaaa.ovov.transpose((2, 0, 3, 1)) - t2new.aaaa += tmp97.transpose((0, 1, 3, 2)) * -1 - del tmp97 - t2new.aaaa += tmp94.transpose((1, 0, 2, 3)) - del tmp94 - tmp16 = einsum(tmp15, (0, 1, 2, 3), t1.aa, (0, 3), (1, 2), optimize=True) - del tmp15 - tmp17 = tmp16.copy() * -1 - del tmp16 - tmp17 += tmp0 - tmp17 += f.aa.ov - tmp92 = einsum(t1.aa, (0, 1), tmp17, (0, 2), (2, 1), optimize=True) - tmp92 += einsum(t1.aa, (0, 1), tmp91, (0, 2, 1, 3), (2, 3), optimize=True) * -1 - del tmp91 - tmp92 += tmp79.transpose((1, 0)) * -1 - del tmp79 - tmp92 += f.aa.vv.transpose((1, 0)) * -1 - t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp92, (2, 4), (1, 0, 3, 4), optimize=True) * -2 - del tmp92 - t2new.aaaa += tmp90 * -2 - del tmp90 - t2new.aaaa += tmp78.transpose((1, 0, 2, 3)) * -1 - t2new.aaaa += tmp69.transpose((1, 0, 2, 3)) * -2 - t2new.aaaa += tmp86.transpose((1, 0, 3, 2)) * -1 - del tmp86 - t2new.aaaa += einsum(tmp83, (0, 1), t2.aaaa, (2, 3, 0, 4), (3, 2, 1, 4), optimize=True) * 2 - del tmp83 - t2new.aaaa += tmp78.transpose((1, 0, 3, 2)) - del tmp78 - t2new.aaaa += tmp75.transpose((0, 1, 3, 2)) - del tmp75 - t2new.aaaa += tmp69.transpose((1, 0, 3, 2)) * 2 - del tmp69 - tmp64 = v.aaaa.ooov.transpose((2, 1, 0, 3)).copy() - tmp64 += v.aaaa.ooov.transpose((1, 0, 2, 3)) * -1 - tmp65 = einsum(tmp64, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3), optimize=True) * -1 - del tmp64 - tmp65 += tmp63 * -1 - del tmp63 - tmp65 += v.aaaa.oovv.transpose((1, 0, 3, 2)) - t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp65, (4, 0, 5, 2), (1, 4, 5, 3), optimize=True) * 2 - del tmp65 - t2new.aaaa += tmp60.transpose((1, 0, 2, 3)) * -2 t2new.aaaa += tmp60.transpose((0, 1, 3, 2)) * -2 + t2new.aaaa += tmp60.transpose((1, 0, 2, 3)) * -2 + t2new.aaaa += tmp60.transpose((1, 0, 3, 2)) * 2 del tmp60 - tmp58 = tmp57.copy() - del tmp57 - tmp58 += tmp56 * 2 - del tmp56 - t2new.aaaa += einsum(tmp58, (0, 1), t2.aaaa, (2, 3, 1, 4), (3, 2, 4, 0), optimize=True) * -2 - del tmp58 - tmp24 = einsum(tmp23, (0, 1), t1.aa, (2, 1), (2, 0), optimize=True) - del tmp23 - tmp53 = tmp24.transpose((1, 0)).copy() - tmp20 = einsum(tmp19, (0, 1, 2, 3), t1.aa, (2, 3), (0, 1), optimize=True) - del tmp19 - tmp53 += tmp20.transpose((1, 0)) * -1 - tmp53 += tmp5.transpose((1, 0)) - tmp53 += tmp4.transpose((1, 0)) * 2 - tmp53 += tmp18.transpose((1, 0)) - tmp53 += f.aa.oo.transpose((1, 0)) - tmp54 = einsum(t2.aaaa, (0, 1, 2, 3), tmp53, (0, 4), (1, 4, 2, 3), optimize=True) * 2 - del tmp53 - t2new.aaaa += tmp54.transpose((1, 0, 3, 2)) - tmp55 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 2, 5, 3), (5, 1, 4, 0), optimize=True) - tmp45 = einsum(v.aaaa.ooov, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 1, 2), optimize=True) - tmp55 += tmp45.transpose((2, 1, 3, 0)) - tmp55 += v.aaaa.oooo.transpose((2, 3, 1, 0)) * 0.5 - t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp55, (0, 4, 1, 5), (4, 5, 3, 2), optimize=True) * -2 - del tmp55 - tmp46 = einsum(t1.aa, (0, 1), tmp45, (2, 3, 4, 0), (2, 4, 3, 1), optimize=True) - del tmp45 - tmp47 = einsum(tmp46, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 4, 3), optimize=True) + tmp47 = einsum(t2.aaaa, (0, 1, 2, 3), tmp46, (4, 1, 5, 3), (0, 4, 2, 5), optimize=True) del tmp46 - t2new.aaaa += tmp47.transpose((1, 0, 3, 2)) * -1 - t2new.aaaa += tmp47.transpose((1, 0, 2, 3)) - tmp43 = einsum(v.aaaa.oooo, (0, 1, 2, 3), t1.aa, (2, 4), (0, 1, 3, 4), optimize=True) - tmp44 = einsum(tmp43, (0, 1, 2, 3), t1.aa, (1, 4), (2, 0, 3, 4), optimize=True) + t2new.aaaa += tmp47.transpose((1, 0, 2, 3)) * -2 + t2new.aaaa += tmp47.transpose((0, 1, 3, 2)) * -2 + t2new.aaaa += tmp47.transpose((1, 0, 3, 2)) * 2 + t2new.aaaa += tmp47 * 2 + del tmp47 + tmp43 = f.aa.oo.transpose((1, 0)).copy() + tmp43 += tmp15.transpose((1, 0)) + tmp43 += tmp19.transpose((1, 0)) * -1 + t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp43, (0, 4), (1, 4, 3, 2), optimize=True) * -2 del tmp43 - t2new.aaaa += tmp44.transpose((0, 1, 3, 2)) * -1 - t2new.aaaa += tmp54.transpose((0, 1, 3, 2)) * -1 - del tmp54 - tmp51 = tmp9.copy() * -1 - tmp51 += v.aaaa.ooov.transpose((1, 0, 2, 3)) - tmp52 = einsum(tmp51, (0, 1, 2, 3), t1.aa, (4, 3), (1, 4, 2, 0), optimize=True) * -1 + tmp44 = t2.aaaa.transpose((1, 0, 3, 2)).copy() + tmp44 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1), optimize=True) + t2new.aaaa += einsum(v.aaaa.oooo, (0, 1, 2, 3), tmp44, (0, 3, 4, 5), (2, 1, 5, 4), optimize=True) + del tmp44 + tmp52 = tmp49.copy() + del tmp49 + tmp52 += tmp51 * -1 del tmp51 - tmp52 += v.aaaa.oooo.transpose((2, 3, 1, 0)) * 0.5 - t2new.aaaa += einsum(tmp52, (0, 1, 2, 3), t2.aaaa, (0, 2, 4, 5), (1, 3, 5, 4), optimize=True) * -2 + t2new.aaaa += einsum(tmp52, (0, 1, 2, 3), t2.abab, (4, 1, 5, 3), (0, 4, 2, 5), optimize=True) * -1 del tmp52 - tmp48 = einsum(tmp9, (0, 1, 2, 3), t1.aa, (4, 3), (0, 4, 2, 1), optimize=True) - tmp49 = einsum(tmp48, (0, 1, 2, 3), t1.aa, (2, 4), (1, 0, 3, 4), optimize=True) - del tmp48 - tmp50 = einsum(tmp49, (0, 1, 2, 3), t1.aa, (2, 4), (0, 1, 4, 3), optimize=True) - del tmp49 - t2new.aaaa += tmp50.transpose((0, 1, 3, 2)) * -1 - t2new.aaaa += tmp50 - del tmp50 - t2new.aaaa += tmp47.transpose((0, 1, 3, 2)) - t2new.aaaa += tmp47 * -1 - del tmp47 - t2new.aaaa += tmp44 - del tmp44 - tmp42 = tmp41.transpose((1, 0)).copy() - del tmp41 - tmp42 += tmp37.transpose((1, 0)) * -1 - del tmp37 - tmp42 += tmp35.transpose((1, 0)) - del tmp35 - tmp42 += f.bb.oo.transpose((1, 0)) - t1new.bb = einsum(t1.bb, (0, 1), tmp42, (0, 2), (2, 1), optimize=True) * -1 - del tmp42 - t1new.bb += einsum(tmp14, (0, 1), t2.bbbb, (0, 2, 1, 3), (2, 3), optimize=True) * 2 - t1new.bb += einsum(t2.abab, (0, 1, 2, 3), tmp17, (0, 2), (1, 3), optimize=True) - tmp34 = tmp33.copy() + tmp73 = einsum(tmp72, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 4, 3), optimize=True) + del tmp72 + t2new.aaaa += tmp73.transpose((1, 0, 3, 2)) + t2new.aaaa += tmp73.transpose((1, 0, 2, 3)) * -1 + del tmp73 + tmp45 = einsum(t1.aa, (0, 1), v.aaaa.ooov, (2, 0, 3, 4), (2, 3, 1, 4), optimize=True) + t2new.aaaa += tmp45 * -1 + t2new.aaaa += tmp45.transpose((1, 0, 2, 3)) + t2new.aaaa += tmp45.transpose((0, 1, 3, 2)) + del tmp45 + tmp112 = einsum(t1.aa, (0, 1), tmp1, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) + t2new.aaaa += tmp112 * -1 + t2new.aaaa += tmp112.transpose((1, 0, 2, 3)) + del tmp112 + tmp111 = v.aaaa.vvvv.transpose((2, 3, 1, 0)).copy() * -1 + tmp111 += einsum(tmp110, (0, 1, 2, 3), t1.aa, (0, 4), (1, 4, 3, 2), optimize=True) + del tmp110 + t2new.aaaa += einsum(tmp111, (0, 1, 2, 3), t2.aaaa, (4, 5, 0, 3), (5, 4, 2, 1), optimize=True) * -2 + del tmp111 + tmp55 = tmp53.copy() + del tmp53 + tmp55 += tmp54 * 0.5 + del tmp54 + t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp55, (4, 2), (1, 0, 3, 4), optimize=True) * -4 + del tmp55 + tmp114 = einsum(v.aaaa.ovvv, (0, 1, 2, 3), t2.aaaa, (4, 5, 1, 3), (4, 5, 0, 2), optimize=True) + t2new.aaaa += einsum(tmp114, (0, 1, 2, 3), t1.aa, (2, 4), (0, 1, 4, 3), optimize=True) * -2 + del tmp114 + tmp103 = einsum(t1.aa, (0, 1), tmp102, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) + del tmp102 + t2new.aaaa += tmp103.transpose((1, 0, 2, 3)) + t2new.aaaa += tmp103 * -1 + t2new.aaaa += tmp103.transpose((1, 0, 3, 2)) * -1 + t2new.aaaa += tmp103.transpose((0, 1, 3, 2)) + del tmp103 + tmp86 = v.aaaa.ooov.transpose((1, 0, 2, 3)).copy() + tmp86 += tmp1.transpose((2, 0, 1, 3)) + t2new.aaaa += einsum(tmp86, (0, 1, 2, 3), t1.aa, (0, 4), (2, 1, 3, 4), optimize=True) * -1 + del tmp86 + tmp97 = einsum(tmp96, (0, 1, 2, 3), t2.abab, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) + del tmp96 + t2new.aaaa += tmp97.transpose((1, 0, 2, 3)) * -1 + t2new.aaaa += tmp97.transpose((1, 0, 3, 2)) + del tmp97 + tmp76 = einsum(tmp70, (0, 1, 2, 3), t1.aa, (2, 4), (0, 1, 4, 3), optimize=True) + del tmp70 + t2new.aaaa += tmp76.transpose((0, 1, 3, 2)) * -1 + t2new.aaaa += tmp76 + del tmp76 + tmp99 = tmp1.copy() + tmp99 += tmp98.transpose((0, 2, 1, 3)) * -1 + del tmp98 + t2new.aaaa += einsum(tmp99, (0, 1, 2, 3), t1.aa, (2, 4), (0, 1, 3, 4), optimize=True) + del tmp99 + tmp41 = f.bb.oo.transpose((1, 0)).copy() + tmp41 += tmp32.transpose((1, 0)) + del tmp32 + tmp41 += tmp33.transpose((1, 0)) del tmp33 - tmp34 += v.bbbb.ooov.transpose((1, 2, 0, 3)) - t1new.bb += einsum(tmp34, (0, 1, 2, 3), t2.bbbb, (2, 1, 3, 4), (0, 4), optimize=True) * 2 + tmp41 += tmp34.transpose((1, 0)) * 2 del tmp34 - tmp32 = tmp31.transpose((0, 2, 1, 3)).copy() - del tmp31 - tmp32 += v.aabb.ovoo.transpose((0, 3, 2, 1)) - t1new.bb += einsum(t2.abab, (0, 1, 2, 3), tmp32, (0, 1, 4, 2), (4, 3), optimize=True) * -1 - del tmp32 - t1new.bb += einsum(v.bbbb.oovv, (0, 1, 2, 3), t1.bb, (1, 3), (0, 2), optimize=True) * -1 - tmp30 = tmp29.copy() - del tmp29 - tmp30 += tmp28 * 0.5 - del tmp28 - t1new.bb += einsum(t1.bb, (0, 1), tmp30, (2, 0), (2, 1), optimize=True) * -2 - del tmp30 - tmp27 = einsum(t1.bb, (0, 1), v.bbbb.ovvv, (0, 1, 2, 3), (3, 2), optimize=True) - tmp27 += f.bb.vv.transpose((1, 0)) - t1new.bb += einsum(tmp27, (0, 1), t1.bb, (2, 0), (2, 1), optimize=True) - del tmp27 - tmp26 = einsum(t1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3), optimize=True) - tmp26 += t2.bbbb.transpose((1, 0, 3, 2)) * 2 - t1new.bb += einsum(tmp26, (0, 1, 2, 3), v.bbbb.ovvv, (0, 3, 2, 4), (1, 4), optimize=True) * -1 + tmp41 += tmp36.transpose((1, 0)) * -1 + del tmp36 + tmp41 += tmp40.transpose((1, 0)) + del tmp40 + t1new.bb += einsum(t1.bb, (0, 1), tmp41, (0, 2), (2, 1), optimize=True) * -1 + del tmp41 + tmp27 = v.aabb.ovoo.transpose((0, 3, 2, 1)).copy() + tmp27 += tmp26.transpose((0, 2, 1, 3)) del tmp26 - t1new.bb += einsum(tmp1, (0, 1, 2, 3), v.aabb.ovvv, (0, 2, 3, 4), (1, 4), optimize=True) - t1new.bb += einsum(v.bbbb.ovov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1), optimize=True) - t1new.bb += tmp11 - del tmp11 - t1new.bb += f.bb.ov - tmp25 = tmp24.transpose((1, 0)).copy() - del tmp24 - tmp25 += tmp20.transpose((1, 0)) * -1 - del tmp20 - tmp25 += tmp18.transpose((1, 0)) - del tmp18 - tmp25 += f.aa.oo.transpose((1, 0)) - t1new.aa = einsum(tmp25, (0, 1), t1.aa, (0, 2), (1, 2), optimize=True) * -1 - del tmp25 - t1new.aa += einsum(tmp17, (0, 1), t2.aaaa, (0, 2, 1, 3), (2, 3), optimize=True) * 2 - del tmp17 - t1new.aa += einsum(t2.abab, (0, 1, 2, 3), tmp14, (1, 3), (0, 2), optimize=True) + t1new.bb += einsum(t2.abab, (0, 1, 2, 3), tmp27, (0, 1, 4, 2), (4, 3), optimize=True) * -1 + del tmp27 + tmp42 = f.bb.vv.transpose((1, 0)).copy() + tmp42 += einsum(t1.bb, (0, 1), v.bbbb.ovvv, (0, 1, 2, 3), (3, 2), optimize=True) + t1new.bb += einsum(tmp42, (0, 1), t1.bb, (2, 0), (2, 1), optimize=True) + del tmp42 + tmp30 = t2.bbbb.transpose((1, 0, 3, 2)).copy() * 2 + tmp30 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3), optimize=True) + t1new.bb += einsum(tmp30, (0, 1, 2, 3), v.bbbb.ovvv, (0, 3, 2, 4), (1, 4), optimize=True) * -1 + del tmp30 + tmp29 = v.bbbb.ooov.transpose((1, 2, 0, 3)).copy() + tmp29 += tmp28 + del tmp28 + t1new.bb += einsum(tmp29, (0, 1, 2, 3), t2.bbbb, (1, 2, 3, 4), (0, 4), optimize=True) * -2 + del tmp29 + tmp31 = v.bbbb.ovov.transpose((2, 0, 3, 1)).copy() + tmp31 += v.bbbb.oovv.transpose((1, 0, 3, 2)) * -1 + t1new.bb += einsum(tmp31, (0, 1, 2, 3), t1.bb, (0, 2), (1, 3), optimize=True) + del tmp31 + tmp14 = v.aaaa.ovov.transpose((2, 0, 3, 1)).copy() + tmp14 += v.aaaa.oovv.transpose((1, 0, 3, 2)) * -1 + t1new.aa += einsum(t1.aa, (0, 1), tmp14, (0, 2, 1, 3), (2, 3), optimize=True) del tmp14 - tmp10 = tmp9.copy() - del tmp9 - tmp10 += v.aaaa.ooov.transpose((1, 2, 0, 3)) - t1new.aa += einsum(tmp10, (0, 1, 2, 3), t2.aaaa, (2, 1, 3, 4), (0, 4), optimize=True) * 2 - del tmp10 - tmp8 = tmp7.transpose((1, 0, 2, 3)).copy() - del tmp7 - tmp8 += v.aabb.ooov.transpose((1, 0, 2, 3)) - t1new.aa += einsum(tmp8, (0, 1, 2, 3), t2.abab, (0, 2, 4, 3), (1, 4), optimize=True) * -1 - del tmp8 - t1new.aa += einsum(t1.aa, (0, 1), v.aaaa.oovv, (2, 0, 3, 1), (2, 3), optimize=True) * -1 - tmp6 = tmp5.copy() * 0.5 - del tmp5 - tmp6 += tmp4 - del tmp4 - t1new.aa += einsum(t1.aa, (0, 1), tmp6, (2, 0), (2, 1), optimize=True) * -2 + tmp6 = t2.aaaa.transpose((1, 0, 3, 2)).copy() * 2 + tmp6 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1), optimize=True) + t1new.aa += einsum(v.aaaa.ovvv, (0, 1, 2, 3), tmp6, (0, 4, 2, 1), (4, 3), optimize=True) * -1 del tmp6 - tmp3 = einsum(t1.aa, (0, 1), v.aaaa.ovvv, (0, 1, 2, 3), (3, 2), optimize=True) - tmp3 += f.aa.vv.transpose((1, 0)) - t1new.aa += einsum(t1.aa, (0, 1), tmp3, (1, 2), (0, 2), optimize=True) + tmp25 = f.aa.vv.transpose((1, 0)).copy() + tmp25 += einsum(t1.aa, (0, 1), v.aaaa.ovvv, (0, 1, 2, 3), (3, 2), optimize=True) + t1new.aa += einsum(tmp25, (0, 1), t1.aa, (2, 0), (2, 1), optimize=True) + del tmp25 + tmp4 = v.aabb.ooov.transpose((1, 0, 2, 3)).copy() + tmp4 += tmp3.transpose((1, 0, 2, 3)) del tmp3 - tmp2 = einsum(t1.aa, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1), optimize=True) - tmp2 += t2.aaaa.transpose((1, 0, 3, 2)) * 2 - t1new.aa += einsum(v.aaaa.ovvv, (0, 1, 2, 3), tmp2, (0, 4, 2, 1), (4, 3), optimize=True) * -1 - del tmp2 - t1new.aa += einsum(tmp1, (0, 1, 2, 3), v.bbaa.ovvv, (1, 3, 2, 4), (0, 4), optimize=True) + t1new.aa += einsum(tmp4, (0, 1, 2, 3), t2.abab, (0, 2, 4, 3), (1, 4), optimize=True) * -1 + del tmp4 + tmp2 = v.aaaa.ooov.transpose((1, 2, 0, 3)).copy() + tmp2 += tmp1 del tmp1 - t1new.aa += tmp0 - del tmp0 - t1new.aa += einsum(t1.aa, (0, 1), v.aaaa.ovov, (2, 3, 0, 1), (2, 3), optimize=True) + t1new.aa += einsum(t2.aaaa, (0, 1, 2, 3), tmp2, (4, 0, 1, 2), (4, 3), optimize=True) * -2 + del tmp2 + tmp24 = f.aa.oo.transpose((1, 0)).copy() + tmp24 += tmp15.transpose((1, 0)) + del tmp15 + tmp24 += tmp16.transpose((1, 0)) * 2 + del tmp16 + tmp24 += tmp17.transpose((1, 0)) + del tmp17 + tmp24 += tmp19.transpose((1, 0)) * -1 + del tmp19 + tmp24 += tmp23.transpose((1, 0)) + del tmp23 + t1new.aa += einsum(tmp24, (0, 1), t1.aa, (0, 2), (1, 2), optimize=True) * -1 + del tmp24 t1new.aa += f.aa.ov + t1new.bb += f.bb.ov + t2new.aaaa += v.aaaa.ovov.transpose((2, 0, 3, 1)) + t2new.aaaa += v.aaaa.ovov.transpose((2, 0, 1, 3)) * -1 + t2new.abab += einsum(t2.abab, (0, 1, 2, 3), v.aabb.oooo, (4, 0, 5, 1), (4, 5, 2, 3), optimize=True) * 0.5 + t2new.abab += einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.abab, (0, 4, 1, 5), (2, 4, 3, 5), optimize=True) + t2new.abab += v.aabb.ovov.transpose((0, 2, 1, 3)) + t2new.bbbb += v.bbbb.ovov.transpose((2, 0, 3, 1)) + t2new.bbbb += v.bbbb.ovov.transpose((2, 0, 1, 3)) * -1 return {f"t1new": t1new, f"t2new": t2new} def update_lams(f=None, l1=None, l2=None, t1=None, t2=None, v=None, **kwargs): """ - Code generated by `albert` 0.0.0 on 2024-03-02T15:26:44.562816. + Code generated by `albert` 0.0.0 on 2024-07-18T20:19:38.787706. Parameters ---------- @@ -832,1052 +896,1061 @@ def update_lams(f=None, l1=None, l2=None, t1=None, t2=None, v=None, **kwargs): l1new = Namespace() l2new = Namespace() - tmp77 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (2, 3, 0, 4), (4, 1), optimize=True) - tmp137 = tmp77.copy() - tmp76 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 3, 0, 4), (4, 1), optimize=True) - tmp137 += tmp76 * 0.5 - tmp75 = einsum(t1.bb, (0, 1), l1.bb, (1, 2), (2, 0), optimize=True) - tmp137 += tmp75 * 0.5 - tmp243 = einsum(tmp137, (0, 1), v.bbbb.ovov, (1, 2, 3, 4), (0, 3, 2, 4), optimize=True) * 2 - l2new.bbbb = tmp243.transpose((2, 3, 0, 1)).copy() * -1 - tmp117 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (4, 3, 1, 5), (5, 0, 4, 2), optimize=True) * -1 - tmp118 = tmp117.copy() * 4 - del tmp117 - tmp116 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 4, 0, 5), (5, 1, 4, 3), optimize=True) - tmp118 += tmp116 - del tmp116 - tmp239 = einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp118, (4, 0, 5, 3), (2, 4, 1, 5), optimize=True) - l2new.bbbb += tmp239.transpose((2, 3, 1, 0)) - tmp73 = einsum(l2.bbbb, (0, 1, 2, 3), t1.bb, (4, 1), (2, 3, 4, 0), optimize=True) - tmp225 = einsum(v.bbbb.ooov, (0, 1, 2, 3), tmp73, (1, 4, 2, 5), (4, 0, 5, 3), optimize=True) * -1 - l2new.bbbb += tmp225.transpose((3, 2, 0, 1)) * -2 - tmp98 = einsum(t1.bb, (0, 1), v.bbbb.ovov, (2, 1, 3, 4), (0, 3, 2, 4), optimize=True) - tmp228 = einsum(tmp98, (0, 1, 2, 3), tmp73, (4, 0, 1, 5), (4, 2, 5, 3), optimize=True) - l2new.bbbb += tmp228.transpose((3, 2, 0, 1)) * -2 - tmp232 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t1.bb, (0, 3), (2, 1), optimize=True) - l2new.bbbb += einsum(tmp232, (0, 1), l1.bb, (2, 3), (1, 2, 3, 0), optimize=True) - tmp249 = tmp98.copy() - tmp249 += v.bbbb.ooov.transpose((1, 2, 0, 3)) - tmp250 = einsum(l1.bb, (0, 1), tmp249, (1, 2, 3, 4), (2, 3, 4, 0), optimize=True) - del tmp249 - l2new.bbbb += tmp250.transpose((3, 2, 1, 0)) * -1 - tmp68 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (2, 4, 0, 1), (4, 3), optimize=True) - tmp241 = tmp68.copy() * 2 - tmp67 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 4, 0, 1), (4, 3), optimize=True) - tmp241 += tmp67 - tmp260 = einsum(tmp241, (0, 1), v.bbbb.ovov, (2, 3, 4, 1), (2, 4, 0, 3), optimize=True) - l2new.bbbb += tmp260.transpose((2, 3, 1, 0)) * -1 - tmp261 = tmp98.transpose((0, 2, 1, 3)).copy() - tmp261 += v.bbbb.ooov.transpose((1, 0, 2, 3)) - l2new.bbbb += einsum(l1.bb, (0, 1), tmp261, (1, 2, 3, 4), (4, 0, 2, 3), optimize=True) - del tmp261 - l2new.bbbb += tmp260.transpose((3, 2, 1, 0)) - del tmp260 - tmp110 = einsum(tmp98, (0, 1, 2, 3), t1.bb, (4, 3), (4, 0, 1, 2), optimize=True) - tmp259 = tmp110.transpose((0, 2, 3, 1)).copy() - tmp109 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (4, 5, 1, 3), (4, 5, 0, 2), optimize=True) - tmp259 += tmp109.transpose((1, 3, 2, 0)) - tmp259 += v.bbbb.oooo.transpose((2, 3, 1, 0)) - l2new.bbbb += einsum(tmp259, (0, 1, 2, 3), l2.bbbb, (4, 5, 0, 3), (5, 4, 2, 1), optimize=True) * 2 - del tmp259 - tmp111 = einsum(t1.bb, (0, 1), v.bbbb.ooov, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) - tmp258 = einsum(l2.bbbb, (0, 1, 2, 3), tmp111, (3, 2, 4, 5), (4, 5, 0, 1), optimize=True) * -1 - l2new.bbbb += tmp258.transpose((2, 3, 1, 0)) * 2 - l2new.bbbb += tmp258.transpose((2, 3, 0, 1)) * -2 - del tmp258 - tmp101 = v.bbbb.ovov.transpose((2, 0, 3, 1)).copy() - tmp101 += v.bbbb.ovov.transpose((2, 0, 1, 3)) * -1 - tmp102 = einsum(tmp101, (0, 1, 2, 3), t1.bb, (0, 3), (1, 2), optimize=True) - tmp103 = tmp102.copy() * -1 - del tmp102 - tmp100 = einsum(v.aabb.ovov, (0, 1, 2, 3), t1.aa, (0, 1), (2, 3), optimize=True) - tmp103 += tmp100 - tmp103 += f.bb.ov - l2new.bbbb += einsum(tmp73, (0, 1, 2, 3), tmp103, (2, 4), (3, 4, 1, 0), optimize=True) * 2 - tmp129 = v.bbbb.ovvv.transpose((0, 3, 2, 1)).copy() * -1 - tmp129 += v.bbbb.ovvv.transpose((0, 1, 3, 2)) - tmp255 = einsum(t1.bb, (0, 1), tmp129, (0, 1, 2, 3), (2, 3), optimize=True) - tmp256 = tmp255.transpose((1, 0)).copy() * -1 + tmp99 = v.bbbb.ovov.transpose((2, 0, 1, 3)).copy() * -1 + tmp99 += v.bbbb.ovov.transpose((2, 0, 3, 1)) + tmp12 = v.aaaa.ovov.transpose((2, 0, 1, 3)).copy() + tmp12 += v.aaaa.ovov.transpose((2, 0, 3, 1)) * -1 + tmp7 = einsum(v.aabb.ovov, (0, 1, 2, 3), t1.bb, (4, 3), (0, 4, 2, 1), optimize=True) + tmp72 = einsum(l2.bbbb, (0, 1, 2, 3), t1.bb, (4, 1), (2, 3, 4, 0), optimize=True) + l2new.abab = einsum(tmp72, (0, 1, 2, 3), v.aabb.ovoo, (4, 5, 1, 2), (5, 3, 4, 0), optimize=True) * -2 + l2new.abab += einsum(tmp72, (0, 1, 2, 3), tmp7, (4, 1, 2, 5), (5, 3, 4, 0), optimize=True) * -2 + l1new.bb = einsum(tmp72, (0, 1, 2, 3), v.bbbb.oovv, (1, 2, 4, 3), (4, 0), optimize=True) * -2 + tmp100 = einsum(tmp99, (0, 1, 2, 3), t1.bb, (0, 3), (1, 2), optimize=True) + tmp98 = einsum(t1.aa, (0, 1), v.aabb.ovov, (0, 1, 2, 3), (2, 3), optimize=True) + tmp255 = v.bbbb.ovvv.transpose((0, 1, 3, 2)).copy() * -1 + tmp255 += v.bbbb.ovvv.transpose((0, 3, 1, 2)) + tmp201 = v.bbbb.ovvv.transpose((0, 1, 3, 2)).copy() + tmp201 += v.bbbb.ovvv.transpose((0, 3, 1, 2)) * -1 + tmp13 = einsum(t1.aa, (0, 1), tmp12, (0, 2, 1, 3), (2, 3), optimize=True) + tmp11 = einsum(v.aabb.ovov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1), optimize=True) + tmp0 = einsum(t1.bb, (0, 1), l2.abab, (2, 1, 3, 4), (3, 4, 0, 2), optimize=True) + l2new.abab += einsum(v.bbaa.ovvv, (0, 1, 2, 3), tmp0, (4, 5, 0, 3), (2, 1, 4, 5), optimize=True) * -1 + l1new.aa = einsum(tmp0, (0, 1, 2, 3), v.bbaa.oovv, (1, 2, 4, 3), (4, 0), optimize=True) * -1 + tmp55 = v.aaaa.ovvv.transpose((0, 1, 3, 2)).copy() + tmp55 += v.aaaa.ovvv.transpose((0, 3, 2, 1)) * -1 + tmp3 = einsum(l2.aaaa, (0, 1, 2, 3), t1.aa, (4, 1), (2, 3, 4, 0), optimize=True) + l2new.abab += einsum(tmp3, (0, 1, 2, 3), v.aabb.ooov, (1, 2, 4, 5), (3, 5, 0, 4), optimize=True) * -2 + l1new.aa += einsum(tmp3, (0, 1, 2, 3), v.aaaa.oovv, (1, 2, 4, 3), (4, 0), optimize=True) * -2 + tmp32 = v.aaaa.ovvv.transpose((0, 1, 3, 2)).copy() * -1 + tmp32 += v.aaaa.ovvv.transpose((0, 3, 1, 2)) + tmp75 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 3, 0, 4), (4, 1), optimize=True) + tmp76 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (2, 3, 0, 4), (4, 1), optimize=True) + tmp74 = einsum(t1.bb, (0, 1), l1.bb, (1, 2), (2, 0), optimize=True) + tmp19 = v.aabb.ovoo.transpose((0, 3, 2, 1)).copy() + tmp19 += tmp7 + l2new.abab += einsum(tmp19, (0, 1, 2, 3), l1.bb, (4, 1), (3, 4, 0, 2), optimize=True) * -1 + tmp96 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t1.bb, (4, 1), (4, 2, 0, 3), optimize=True) + tmp5 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t1.aa, (4, 1), (4, 2, 0, 3), optimize=True) + tmp124 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (2, 3, 4, 5), (4, 5, 0, 1), optimize=True) + tmp122 = einsum(tmp72, (0, 1, 2, 3), t1.bb, (4, 3), (0, 1, 4, 2), optimize=True) + tmp114 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 5), (3, 4, 1, 5), optimize=True) + tmp115 = einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 2, 5, 1), (3, 4, 0, 5), optimize=True) * -1 + tmp140 = v.bbbb.ooov.transpose((1, 0, 2, 3)).copy() * -1 + tmp140 += v.bbbb.ooov.transpose((2, 1, 0, 3)) + tmp101 = f.bb.ov.copy() + tmp101 += tmp98 + tmp101 += tmp100 * -1 + del tmp100 + l2new.bbbb = einsum(tmp101, (0, 1), tmp72, (2, 3, 0, 4), (4, 1, 3, 2), optimize=True) * 2 + tmp66 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 4, 0, 1), (4, 3), optimize=True) + tmp67 = einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (2, 3, 0, 4), (1, 4), optimize=True) + tmp206 = v.bbbb.ovov.transpose((2, 0, 1, 3)).copy() * -1 + tmp206 += v.bbbb.ovov.transpose((2, 0, 3, 1)) + tmp204 = einsum(v.bbaa.ovvv, (0, 1, 2, 3), t1.aa, (4, 2), (4, 0, 3, 1), optimize=True) + tmp239 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 5, 3), (4, 0, 5, 1), optimize=True) + tmp205 = einsum(t2.aaaa, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 5), (1, 4, 3, 5), optimize=True) + tmp216 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 2, 1, 4), (4, 3), optimize=True) + tmp134 = einsum(t1.aa, (0, 1), v.aabb.ovvv, (0, 1, 2, 3), (2, 3), optimize=True) + tmp256 = einsum(tmp255, (0, 1, 2, 3), t1.bb, (0, 2), (1, 3), optimize=True) del tmp255 - tmp218 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (0, 4, 1, 2), (3, 4), optimize=True) * -1 - tmp256 += tmp218.transpose((1, 0)) * 2 - tmp217 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 1, 4), (3, 4), optimize=True) - tmp256 += tmp217.transpose((1, 0)) - tmp134 = einsum(v.aabb.ovvv, (0, 1, 2, 3), t1.aa, (0, 1), (2, 3), optimize=True) - tmp256 += tmp134.transpose((1, 0)) * -1 - tmp256 += f.bb.vv.transpose((1, 0)) * -1 - tmp257 = einsum(l2.bbbb, (0, 1, 2, 3), tmp256, (4, 0), (2, 3, 4, 1), optimize=True) * 2 + tmp217 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (0, 2, 1, 4), (4, 3), optimize=True) + tmp202 = einsum(t1.bb, (0, 1), tmp201, (2, 1, 3, 4), (2, 0, 3, 4), optimize=True) + del tmp201 + tmp199 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 4, 1, 5), (4, 2, 5, 3), optimize=True) + tmp237 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (2, 4, 3, 5), (4, 0, 5, 1), optimize=True) + tmp184 = v.aaaa.ovov.transpose((2, 0, 1, 3)).copy() + tmp184 += v.aaaa.ovov.transpose((2, 0, 3, 1)) * -1 + tmp89 = v.aaaa.ooov.transpose((1, 0, 2, 3)).copy() * -1 + tmp89 += v.aaaa.ooov.transpose((2, 1, 0, 3)) + tmp14 = f.aa.ov.copy() + tmp14 += tmp11 + tmp14 += tmp13 * -1 + del tmp13 + l2new.aaaa = einsum(tmp14, (0, 1), tmp3, (2, 3, 0, 4), (4, 1, 3, 2), optimize=True) * 2 + tmp37 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 3, 4, 5), (4, 0, 5, 1), optimize=True) + tmp38 = einsum(tmp0, (0, 1, 2, 3), t1.aa, (4, 3), (0, 4, 1, 2), optimize=True) + tmp52 = einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (2, 3, 0, 4), (1, 4), optimize=True) + tmp53 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (4, 3, 0, 1), (4, 2), optimize=True) + tmp83 = einsum(v.bbaa.ovvv, (0, 1, 2, 3), t1.bb, (0, 1), (2, 3), optimize=True) + tmp180 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 2, 4, 3), (4, 1), optimize=True) + tmp181 = einsum(t1.aa, (0, 1), tmp55, (0, 1, 2, 3), (2, 3), optimize=True) + tmp179 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.aaaa, (0, 2, 1, 4), (4, 3), optimize=True) + tmp47 = einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 5, 0, 1), (2, 3, 4, 5), optimize=True) + tmp44 = einsum(tmp3, (0, 1, 2, 3), t1.aa, (4, 3), (0, 1, 4, 2), optimize=True) + tmp157 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.aaaa, (2, 4, 3, 5), (4, 0, 5, 1), optimize=True) + tmp158 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 5, 3), (4, 0, 5, 1), optimize=True) + tmp168 = einsum(t1.aa, (0, 1), tmp32, (2, 3, 1, 4), (0, 2, 3, 4), optimize=True) + tmp61 = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (2, 3, 0, 4), (4, 1), optimize=True) + tmp60 = einsum(l1.aa, (0, 1), t1.aa, (2, 0), (1, 2), optimize=True) + tmp62 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 3, 4, 1), (4, 0), optimize=True) + tmp33 = einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 2, 5, 1), (3, 4, 0, 5), optimize=True) * -1 + tmp34 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (4, 3, 5, 1), (5, 0, 4, 2), optimize=True) + tmp161 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.bbbb, (2, 4, 3, 5), (0, 4, 1, 5), optimize=True) + tmp15 = einsum(v.aabb.ovvv, (0, 1, 2, 3), t1.bb, (4, 3), (0, 4, 1, 2), optimize=True) + tmp160 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.abab, (0, 4, 1, 5), (2, 4, 3, 5), optimize=True) + tmp77 = tmp74.copy() + del tmp74 + tmp77 += tmp75 + del tmp75 + tmp77 += tmp76 * 2 + del tmp76 + l2new.abab += einsum(v.aabb.ovov, (0, 1, 2, 3), tmp77, (4, 2), (1, 3, 0, 4), optimize=True) * -1 + l1new.bb += einsum(tmp101, (0, 1), tmp77, (2, 0), (1, 2), optimize=True) * -1 + l1new.aa += einsum(v.aabb.ovoo, (0, 1, 2, 3), tmp77, (3, 2), (1, 0), optimize=True) * -1 + tmp17 = einsum(v.aabb.ooov, (0, 1, 2, 3), t1.bb, (4, 3), (0, 1, 4, 2), optimize=True) + tmp18 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (4, 5, 1, 3), (4, 0, 5, 2), optimize=True) + tmp20 = einsum(t1.aa, (0, 1), tmp19, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) + tmp102 = einsum(t1.bb, (0, 1), v.bbaa.ovvv, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) + tmp9 = einsum(t1.aa, (0, 1), v.aabb.ovov, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) + l2new.abab += einsum(tmp9, (0, 1, 2, 3), tmp3, (4, 0, 1, 5), (5, 3, 4, 2), optimize=True) * -2 + tmp109 = einsum(v.bbbb.ooov, (0, 1, 2, 3), t1.bb, (4, 3), (4, 0, 1, 2), optimize=True) + tmp108 = einsum(t1.bb, (0, 1), tmp96, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) + tmp107 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (4, 5, 1, 3), (4, 5, 0, 2), optimize=True) + tmp94 = einsum(t1.bb, (0, 1), v.bbbb.ovvv, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) + l1new.bb += einsum(tmp94, (0, 1, 2, 3), tmp72, (4, 0, 1, 3), (2, 4), optimize=True) * 2 + tmp36 = einsum(l2.abab, (0, 1, 2, 3), t1.aa, (4, 0), (2, 4, 3, 1), optimize=True) + l2new.abab += einsum(v.aabb.ovvv, (0, 1, 2, 3), tmp36, (4, 0, 5, 2), (1, 3, 4, 5), optimize=True) * -1 + l1new.bb += einsum(tmp36, (0, 1, 2, 3), v.aabb.oovv, (0, 1, 4, 3), (4, 2), optimize=True) * -1 + tmp4 = einsum(t1.aa, (0, 1), v.aaaa.ovvv, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) + l1new.aa += einsum(tmp3, (0, 1, 2, 3), tmp4, (1, 2, 4, 3), (4, 0), optimize=True) * 2 + tmp27 = einsum(t1.aa, (0, 1), tmp5, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) + tmp28 = einsum(v.aaaa.ooov, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 1, 2), optimize=True) + tmp26 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.aaaa, (4, 5, 1, 3), (4, 5, 0, 2), optimize=True) + tmp227 = v.bbbb.ooov.transpose((1, 2, 0, 3)).copy() + tmp227 += tmp96 + tmp253 = tmp124.transpose((1, 0, 3, 2)).copy() + tmp253 += tmp122.transpose((0, 1, 3, 2)) * -1 + tmp116 = tmp114.copy() + del tmp114 + tmp116 += tmp115 * 4 + del tmp115 + tmp139 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (2, 4, 3, 1), (4, 0), optimize=True) + tmp141 = einsum(tmp140, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1), optimize=True) + tmp138 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 4, 1, 3), (4, 2), optimize=True) + tmp142 = einsum(tmp101, (0, 1), t1.bb, (2, 1), (2, 0), optimize=True) + tmp137 = einsum(t1.aa, (0, 1), v.aabb.ovoo, (0, 1, 2, 3), (2, 3), optimize=True) + tmp224 = tmp66.copy() * 0.5 + tmp224 += tmp67 + tmp209 = einsum(tmp206, (0, 1, 2, 3), t1.bb, (0, 3), (1, 2), optimize=True) + tmp247 = v.aabb.ovov.transpose((0, 2, 1, 3)).copy() + tmp247 += tmp204 + tmp247 += tmp205 * 2 + tmp247 += tmp239 + tmp135 = v.bbbb.ovvv.transpose((0, 1, 3, 2)).copy() + tmp135 += v.bbbb.ovvv.transpose((0, 3, 1, 2)) * -1 + tmp257 = f.bb.vv.transpose((1, 0)).copy() * -1 + tmp257 += tmp134.transpose((1, 0)) * -1 + tmp257 += tmp216.transpose((1, 0)) + tmp257 += tmp217.transpose((1, 0)) * 2 + tmp257 += tmp256 * -1 del tmp256 - l2new.bbbb += tmp257.transpose((3, 2, 1, 0)) * -1 - tmp96 = einsum(tmp73, (0, 1, 2, 3), t1.bb, (4, 3), (1, 0, 2, 4), optimize=True) - tmp124 = tmp96.transpose((0, 1, 3, 2)).copy() * -1 - tmp95 = einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 5, 0, 1), (2, 3, 4, 5), optimize=True) - tmp124 += tmp95.transpose((1, 0, 3, 2)) - tmp254 = einsum(tmp124, (0, 1, 2, 3), v.bbbb.ovov, (2, 4, 3, 5), (0, 1, 4, 5), optimize=True) + tmp243 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1), optimize=True) + tmp245 = v.bbbb.ovov.transpose((2, 0, 3, 1)).copy() + tmp245 += v.bbbb.oovv.transpose((1, 0, 3, 2)) * -1 + tmp245 += tmp199 + tmp245 += tmp237 * 2 + tmp245 += tmp202.transpose((1, 0, 3, 2)) * -1 + tmp193 = v.aaaa.ovov.transpose((2, 0, 1, 3)).copy() * -1 + tmp193 += v.aaaa.ovov.transpose((2, 0, 3, 1)) + tmp8 = v.aabb.ovoo.transpose((0, 3, 2, 1)).copy() + tmp8 += tmp7.transpose((0, 2, 1, 3)) + tmp200 = v.bbbb.ovov.transpose((2, 0, 1, 3)).copy() + tmp200 += v.bbbb.ovov.transpose((2, 0, 3, 1)) * -1 + tmp185 = einsum(t1.aa, (0, 1), tmp184, (0, 2, 1, 3), (2, 3), optimize=True) + del tmp184 + tmp90 = einsum(tmp89, (0, 1, 2, 3), t1.aa, (2, 3), (0, 1), optimize=True) + tmp88 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 1, 3), (4, 0), optimize=True) + tmp87 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 3, 0, 2), (1, 4), optimize=True) + tmp86 = einsum(v.aabb.ooov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1), optimize=True) + tmp91 = einsum(t1.aa, (0, 1), tmp14, (2, 1), (0, 2), optimize=True) + tmp39 = tmp37.copy() + tmp39 += tmp38 + tmp214 = v.aaaa.ovvv.transpose((0, 1, 3, 2)).copy() + tmp214 += v.aaaa.ovvv.transpose((0, 3, 1, 2)) * -1 + tmp166 = einsum(t1.aa, (0, 1), v.aaaa.ovov, (2, 3, 0, 1), (2, 3), optimize=True) + tmp144 = tmp52.copy() * 2 + tmp144 += tmp53 + tmp182 = f.aa.vv.transpose((1, 0)).copy() * -1 + tmp182 += tmp83.transpose((1, 0)) * -1 + tmp182 += tmp179.transpose((1, 0)) * 2 + tmp182 += tmp180.transpose((1, 0)) + tmp182 += tmp181.transpose((1, 0)) * -1 + del tmp181 + tmp177 = tmp47.transpose((1, 0, 3, 2)).copy() + tmp177 += tmp44.transpose((0, 1, 3, 2)) * -1 + tmp169 = v.aaaa.ovov.transpose((2, 0, 3, 1)).copy() + tmp169 += v.aaaa.oovv.transpose((1, 0, 3, 2)) * -1 + tmp169 += tmp157 * 2 + tmp169 += tmp158 + tmp169 += tmp168.transpose((0, 1, 3, 2)) * -1 + tmp80 = tmp60.copy() + tmp80 += tmp61 * 2 + tmp80 += tmp62 + tmp84 = v.aaaa.ovvv.transpose((0, 1, 3, 2)).copy() * -1 + tmp84 += v.aaaa.ovvv.transpose((0, 3, 1, 2)) + tmp35 = tmp33.copy() * 4 + del tmp33 + tmp35 += tmp34 + del tmp34 + l1new.aa += einsum(tmp32, (0, 1, 2, 3), tmp35, (4, 0, 3, 2), (1, 4), optimize=True) + del tmp32 + tmp147 = v.aaaa.ooov.transpose((1, 2, 0, 3)).copy() + tmp147 += tmp5 + tmp171 = v.aabb.ovov.transpose((0, 2, 1, 3)).copy() + tmp171 += tmp15 + tmp171 += tmp160 + tmp171 += tmp161 * 2 + tmp63 = tmp60.copy() * 0.5 + del tmp60 + tmp63 += tmp61 + del tmp61 + tmp63 += tmp62 * 0.5 + del tmp62 + l2new.abab += einsum(tmp63, (0, 1), v.aabb.ovov, (1, 2, 3, 4), (2, 4, 0, 3), optimize=True) * -2 + l1new.bb += einsum(v.aabb.ooov, (0, 1, 2, 3), tmp63, (1, 0), (3, 2), optimize=True) * -2 + l1new.aa += einsum(tmp63, (0, 1), tmp14, (1, 2), (2, 0), optimize=True) * -2 + tmp70 = einsum(t2.bbbb, (0, 1, 2, 3), l1.bb, (3, 1), (0, 2), optimize=True) + tmp78 = einsum(t1.bb, (0, 1), tmp77, (0, 2), (2, 1), optimize=True) + tmp71 = einsum(tmp0, (0, 1, 2, 3), t2.abab, (0, 1, 3, 4), (2, 4), optimize=True) + tmp73 = einsum(t2.bbbb, (0, 1, 2, 3), tmp72, (0, 1, 4, 2), (4, 3), optimize=True) + tmp69 = einsum(l1.aa, (0, 1), t2.abab, (1, 2, 0, 3), (2, 3), optimize=True) + tmp21 = v.aabb.oooo.transpose((1, 0, 3, 2)).copy() + tmp21 += tmp17.transpose((1, 0, 3, 2)) + tmp21 += tmp18.transpose((1, 0, 3, 2)) + tmp21 += tmp20.transpose((1, 0, 3, 2)) + del tmp20 + tmp103 = v.bbaa.oovv.transpose((1, 0, 3, 2)).copy() + tmp103 += tmp102.transpose((1, 0, 3, 2)) + tmp10 = v.aabb.ooov.transpose((1, 0, 2, 3)).copy() + tmp10 += tmp9.transpose((1, 0, 2, 3)) + tmp97 = v.bbbb.ooov.transpose((1, 0, 2, 3)).copy() + tmp97 += v.bbbb.ooov.transpose((2, 1, 0, 3)) * -1 + tmp97 += tmp96.transpose((1, 0, 2, 3)) * -1 + tmp97 += tmp96.transpose((2, 0, 1, 3)) + tmp65 = einsum(l1.bb, (0, 1), t1.bb, (1, 2), (0, 2), optimize=True) + tmp120 = einsum(t2.abab, (0, 1, 2, 3), tmp0, (0, 4, 5, 2), (4, 5, 1, 3), optimize=True) + tmp121 = einsum(tmp72, (0, 1, 2, 3), t2.bbbb, (4, 1, 5, 3), (0, 2, 4, 5), optimize=True) * -1 + tmp110 = v.bbbb.oooo.transpose((2, 3, 1, 0)).copy() + tmp110 += tmp107.transpose((3, 1, 2, 0)) + tmp110 += tmp108.transpose((3, 1, 2, 0)) + tmp110 += tmp109.transpose((2, 1, 3, 0)) + tmp110 += tmp109.transpose((3, 2, 1, 0)) * -1 + tmp105 = v.bbbb.ooov.transpose((1, 0, 2, 3)).copy() + tmp105 += v.bbbb.ooov.transpose((1, 2, 0, 3)) * -1 + tmp105 += tmp96 * -1 + tmp105 += tmp96.transpose((0, 2, 1, 3)) + tmp106 = v.bbbb.ovov.transpose((2, 0, 3, 1)).copy() + tmp106 += v.bbbb.oovv.transpose((1, 0, 3, 2)) * -1 + tmp106 += tmp94.transpose((0, 1, 3, 2)) + del tmp94 + tmp58 = einsum(t2.aaaa, (0, 1, 2, 3), tmp3, (0, 1, 4, 2), (4, 3), optimize=True) + tmp56 = einsum(t2.aaaa, (0, 1, 2, 3), l1.aa, (3, 1), (0, 2), optimize=True) + tmp57 = einsum(l1.bb, (0, 1), t2.abab, (2, 1, 3, 0), (2, 3), optimize=True) + tmp59 = einsum(t2.abab, (0, 1, 2, 3), tmp36, (0, 4, 1, 3), (4, 2), optimize=True) + tmp51 = einsum(l1.aa, (0, 1), t1.aa, (1, 2), (0, 2), optimize=True) + tmp16 = v.aabb.ovov.transpose((0, 2, 1, 3)).copy() + tmp16 += tmp15 + tmp6 = v.aaaa.ooov.transpose((1, 0, 2, 3)).copy() + tmp6 += v.aaaa.ooov.transpose((2, 1, 0, 3)) * -1 + tmp6 += tmp5.transpose((1, 0, 2, 3)) * -1 + tmp6 += tmp5.transpose((2, 0, 1, 3)) + tmp45 = einsum(tmp36, (0, 1, 2, 3), t2.abab, (4, 2, 5, 3), (0, 1, 4, 5), optimize=True) + tmp43 = einsum(tmp3, (0, 1, 2, 3), t2.aaaa, (4, 1, 5, 3), (0, 2, 4, 5), optimize=True) * -1 + tmp25 = v.aaaa.ovov.transpose((2, 0, 3, 1)).copy() + tmp25 += v.aaaa.oovv.transpose((1, 0, 3, 2)) * -1 + tmp25 += tmp4.transpose((0, 1, 3, 2)) + del tmp4 + tmp29 = v.aaaa.oooo.transpose((2, 3, 1, 0)).copy() + tmp29 += tmp26.transpose((3, 1, 2, 0)) + tmp29 += tmp27.transpose((3, 1, 2, 0)) + tmp29 += tmp28.transpose((2, 1, 3, 0)) + tmp29 += tmp28.transpose((3, 2, 1, 0)) * -1 + tmp24 = v.aabb.ooov.transpose((1, 0, 2, 3)).copy() + tmp24 += tmp9 + tmp23 = v.aaaa.ooov.transpose((1, 0, 2, 3)).copy() + tmp23 += v.aaaa.ooov.transpose((1, 2, 0, 3)) * -1 + tmp23 += tmp5 * -1 + tmp23 += tmp5.transpose((0, 2, 1, 3)) + tmp235 = einsum(tmp96, (0, 1, 2, 3), tmp72, (4, 0, 1, 5), (4, 2, 5, 3), optimize=True) + l2new.bbbb += tmp235.transpose((3, 2, 1, 0)) * 2 + l2new.bbbb += tmp235.transpose((3, 2, 0, 1)) * -2 + l2new.bbbb += tmp235.transpose((2, 3, 1, 0)) * -2 + l2new.bbbb += tmp235.transpose((2, 3, 0, 1)) * 2 + del tmp235 + tmp242 = einsum(tmp77, (0, 1), v.bbbb.ovov, (1, 2, 3, 4), (3, 0, 2, 4), optimize=True) + l2new.bbbb += tmp242.transpose((2, 3, 0, 1)) + l2new.bbbb += tmp242.transpose((2, 3, 1, 0)) * -1 + l2new.bbbb += tmp242.transpose((3, 2, 0, 1)) * -1 + l2new.bbbb += tmp242.transpose((3, 2, 1, 0)) + del tmp242 + tmp228 = einsum(tmp227, (0, 1, 2, 3), l1.bb, (4, 0), (1, 2, 3, 4), optimize=True) + del tmp227 + l2new.bbbb += tmp228.transpose((3, 2, 1, 0)) * -1 + l2new.bbbb += tmp228.transpose((3, 2, 0, 1)) + del tmp228 + tmp254 = einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp253, (4, 5, 0, 2), (4, 5, 1, 3), optimize=True) + del tmp253 l2new.bbbb += tmp254.transpose((3, 2, 1, 0)) - tmp253 = einsum(tmp73, (0, 1, 2, 3), v.bbbb.ovvv, (2, 4, 5, 3), (1, 0, 4, 5), optimize=True) - l2new.bbbb += tmp253.transpose((3, 2, 1, 0)) * -2 - tmp252 = einsum(v.bbbb.vvvv, (0, 1, 2, 3), l2.bbbb, (3, 1, 4, 5), (4, 5, 0, 2), optimize=True) * -1 - l2new.bbbb += tmp252.transpose((3, 2, 1, 0)) - l2new.bbbb += tmp243.transpose((2, 3, 1, 0)) - tmp207 = v.bbbb.ovov.transpose((2, 0, 3, 1)).copy() - tmp207 += v.bbbb.ovov.transpose((2, 0, 1, 3)) * -1 - tmp211 = einsum(tmp207, (0, 1, 2, 3), t1.bb, (0, 3), (1, 2), optimize=True) - tmp212 = tmp211.copy() * -1 - del tmp211 - tmp212 += tmp100 - tmp212 += f.bb.ov - l2new.bbbb += einsum(tmp73, (0, 1, 2, 3), tmp212, (2, 4), (4, 3, 1, 0), optimize=True) * -2 - l2new.bbbb += tmp257.transpose((2, 3, 1, 0)) - del tmp257 l2new.bbbb += tmp254.transpose((3, 2, 1, 0)) del tmp254 - l2new.bbbb += tmp239.transpose((2, 3, 0, 1)) * -1 - l2new.bbbb += einsum(tmp232, (0, 1), l1.bb, (2, 3), (1, 2, 0, 3), optimize=True) * -1 - l2new.bbbb += tmp228.transpose((3, 2, 1, 0)) * 2 - l2new.bbbb += tmp253.transpose((2, 3, 1, 0)) * 2 - del tmp253 - l2new.bbbb += tmp225.transpose((3, 2, 1, 0)) * 2 - l2new.bbbb += tmp252.transpose((3, 2, 1, 0)) - del tmp252 - tmp245 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1), optimize=True) - tmp246 = tmp245.copy() - tmp246 += tmp100 - tmp246 += f.bb.ov - l2new.bbbb += einsum(l1.bb, (0, 1), tmp246, (2, 3), (0, 3, 2, 1), optimize=True) * -1 - tmp236 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 5, 3), (4, 0, 5, 1), optimize=True) - tmp237 = tmp236.copy() - tmp206 = einsum(t2.aaaa, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 5), (1, 4, 3, 5), optimize=True) - tmp237 += tmp206 * 2 - tmp205 = einsum(t1.aa, (0, 1), v.bbaa.ovvv, (2, 3, 4, 1), (0, 2, 4, 3), optimize=True) - tmp237 += tmp205 - tmp237 += v.aabb.ovov.transpose((0, 2, 1, 3)) - tmp238 = einsum(l2.abab, (0, 1, 2, 3), tmp237, (2, 4, 0, 5), (4, 3, 5, 1), optimize=True) - del tmp237 - l2new.bbbb += tmp238.transpose((3, 2, 0, 1)) * -1 - tmp115 = v.bbbb.ovvv.transpose((0, 3, 1, 2)).copy() - tmp115 += v.bbbb.ovvv.transpose((0, 1, 3, 2)) * -1 - tmp203 = einsum(t1.bb, (0, 1), tmp115, (2, 3, 1, 4), (0, 2, 3, 4), optimize=True) - tmp234 = tmp203.transpose((0, 1, 3, 2)).copy() * -1 - tmp233 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 5, 0, 2), (1, 4, 3, 5), optimize=True) - tmp234 += tmp233 * 2 - tmp201 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 5), (1, 4, 3, 5), optimize=True) - tmp234 += tmp201 - tmp234 += v.bbbb.oovv.transpose((1, 0, 3, 2)) * -1 - tmp234 += v.bbbb.ovov.transpose((2, 0, 3, 1)) - tmp235 = einsum(tmp234, (0, 1, 2, 3), l2.bbbb, (2, 4, 0, 5), (1, 5, 3, 4), optimize=True) - del tmp234 - l2new.bbbb += tmp235.transpose((3, 2, 0, 1)) * -2 - tmp36 = einsum(t1.aa, (0, 1), l2.abab, (1, 2, 3, 4), (3, 0, 4, 2), optimize=True) - tmp9 = einsum(t1.aa, (0, 1), v.aabb.ovov, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) - tmp231 = einsum(tmp36, (0, 1, 2, 3), tmp9, (0, 1, 4, 5), (2, 4, 3, 5), optimize=True) - l2new.bbbb += tmp231.transpose((2, 3, 1, 0)) - tmp230 = einsum(v.aabb.ooov, (0, 1, 2, 3), tmp36, (0, 1, 4, 5), (4, 2, 5, 3), optimize=True) - l2new.bbbb += tmp230.transpose((2, 3, 1, 0)) - tmp229 = einsum(tmp98, (0, 1, 2, 3), tmp73, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) * -1 - l2new.bbbb += tmp229.transpose((2, 3, 1, 0)) * 2 - tmp227 = einsum(l1.bb, (0, 1), v.bbbb.ovvv, (2, 3, 4, 0), (1, 2, 3, 4), optimize=True) - l2new.bbbb += tmp227.transpose((3, 2, 1, 0)) * -1 - tmp226 = einsum(v.bbbb.ooov, (0, 1, 2, 3), tmp73, (0, 4, 1, 5), (4, 2, 5, 3), optimize=True) * -1 - l2new.bbbb += tmp226.transpose((2, 3, 1, 0)) * 2 - l2new.bbbb += einsum(tmp246, (0, 1), l1.bb, (2, 3), (2, 1, 3, 0), optimize=True) - l2new.bbbb += tmp238.transpose((3, 2, 1, 0)) - l2new.bbbb += tmp235.transpose((3, 2, 1, 0)) * 2 - l2new.bbbb += tmp231.transpose((2, 3, 0, 1)) * -1 - l2new.bbbb += tmp230.transpose((2, 3, 0, 1)) * -1 - l2new.bbbb += tmp229.transpose((2, 3, 0, 1)) * -2 - l2new.bbbb += tmp227.transpose((3, 2, 0, 1)) - l2new.bbbb += tmp226.transpose((2, 3, 0, 1)) * -2 - tmp251 = tmp245.copy() - del tmp245 - tmp251 += tmp100 - del tmp100 - tmp251 += f.bb.ov - l2new.bbbb += einsum(tmp251, (0, 1), l1.bb, (2, 3), (1, 2, 3, 0), optimize=True) * -1 - del tmp251 - l2new.bbbb += tmp250.transpose((3, 2, 0, 1)) - del tmp250 - tmp78 = tmp77.copy() * 2 - del tmp77 - tmp78 += tmp76 - del tmp76 - tmp78 += tmp75 - del tmp75 - l2new.bbbb += einsum(tmp78, (0, 1), v.bbbb.ovov, (1, 2, 3, 4), (4, 2, 0, 3), optimize=True) - tmp242 = einsum(tmp241, (0, 1), v.bbbb.ovov, (2, 1, 3, 4), (2, 3, 0, 4), optimize=True) + tmp262 = v.bbbb.ooov.transpose((1, 0, 2, 3)).copy() + tmp262 += tmp96.transpose((0, 2, 1, 3)) + l2new.bbbb += einsum(tmp262, (0, 1, 2, 3), l1.bb, (4, 0), (3, 4, 1, 2), optimize=True) + del tmp262 + tmp241 = einsum(tmp116, (0, 1, 2, 3), v.bbbb.ovov, (1, 4, 5, 3), (5, 0, 4, 2), optimize=True) + l2new.bbbb += tmp241.transpose((2, 3, 0, 1)) * -1 + l2new.bbbb += tmp241.transpose((2, 3, 1, 0)) + l2new.bbbb += tmp241.transpose((3, 2, 0, 1)) + l2new.bbbb += tmp241.transpose((3, 2, 1, 0)) * -1 del tmp241 - l2new.bbbb += tmp242.transpose((2, 3, 1, 0)) - tmp143 = einsum(tmp103, (0, 1), t1.bb, (2, 1), (2, 0), optimize=True) - tmp144 = tmp143.copy() - del tmp143 - tmp141 = v.bbbb.ooov.transpose((2, 1, 0, 3)).copy() - tmp141 += v.bbbb.ooov.transpose((1, 0, 2, 3)) * -1 - tmp142 = einsum(tmp141, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1), optimize=True) + tmp233 = einsum(l1.bb, (0, 1), v.bbbb.ovvv, (2, 3, 4, 0), (1, 2, 3, 4), optimize=True) + l2new.bbbb += tmp233.transpose((3, 2, 1, 0)) * -1 + l2new.bbbb += tmp233.transpose((3, 2, 0, 1)) + l2new.bbbb += tmp233.transpose((2, 3, 1, 0)) + l2new.bbbb += tmp233.transpose((2, 3, 0, 1)) * -1 + del tmp233 + tmp259 = einsum(tmp109, (0, 1, 2, 3), l2.bbbb, (4, 5, 1, 0), (2, 3, 4, 5), optimize=True) * -1 + del tmp109 + l2new.bbbb += tmp259.transpose((2, 3, 1, 0)) * 2 + l2new.bbbb += tmp259.transpose((2, 3, 0, 1)) * -2 + del tmp259 + tmp143 = f.bb.oo.transpose((1, 0)).copy() + tmp143 += tmp137.transpose((1, 0)) + tmp143 += tmp138 + tmp143 += tmp139 * 2 + tmp143 += tmp141.transpose((1, 0)) * -1 del tmp141 - tmp144 += tmp142.transpose((1, 0)) * -1 + tmp143 += tmp142 del tmp142 - tmp140 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (2, 4, 3, 1), (4, 0), optimize=True) - tmp144 += tmp140 * 2 - del tmp140 - tmp139 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 3), (1, 4), optimize=True) - tmp144 += tmp139 - del tmp139 - tmp138 = einsum(v.aabb.ovoo, (0, 1, 2, 3), t1.aa, (0, 1), (2, 3), optimize=True) - tmp144 += tmp138.transpose((1, 0)) + l2new.bbbb += einsum(tmp143, (0, 1), l2.bbbb, (2, 3, 0, 4), (3, 2, 4, 1), optimize=True) * -2 + l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp143, (3, 4), (0, 1, 2, 4), optimize=True) * -1 + l1new.bb += einsum(tmp143, (0, 1), l1.bb, (2, 0), (2, 1), optimize=True) * -1 + del tmp143 + tmp240 = v.aabb.ovov.transpose((0, 2, 1, 3)).copy() + tmp240 += tmp204 + tmp240 += tmp205 * 2 + tmp240 += tmp239 + del tmp239 + l2new.bbbb += einsum(l2.abab, (0, 1, 2, 3), tmp240, (2, 4, 0, 5), (5, 1, 3, 4), optimize=True) * -1 + del tmp240 + tmp261 = einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp224, (4, 3), (0, 2, 4, 1), optimize=True) * 2 + l2new.bbbb += tmp261.transpose((2, 3, 1, 0)) * -1 + l2new.bbbb += tmp261.transpose((3, 2, 1, 0)) + del tmp261 + tmp230 = einsum(tmp72, (0, 1, 2, 3), v.bbbb.ooov, (0, 2, 4, 5), (1, 4, 3, 5), optimize=True) * -1 + l2new.bbbb += tmp230.transpose((2, 3, 1, 0)) * 2 + l2new.bbbb += tmp230.transpose((2, 3, 0, 1)) * -2 + l2new.bbbb += tmp230.transpose((3, 2, 1, 0)) * -2 + l2new.bbbb += tmp230.transpose((3, 2, 0, 1)) * 2 + del tmp230 + tmp210 = f.bb.ov.copy() + tmp210 += tmp98 + tmp210 += tmp209 * -1 + del tmp209 + l2new.bbbb += einsum(tmp210, (0, 1), tmp72, (2, 3, 0, 4), (1, 4, 3, 2), optimize=True) * -2 + l2new.abab += einsum(tmp210, (0, 1), tmp0, (2, 3, 0, 4), (4, 1, 2, 3), optimize=True) * -1 + l2new.abab += einsum(tmp210, (0, 1), l1.aa, (2, 3), (2, 1, 3, 0), optimize=True) + del tmp210 + tmp251 = einsum(v.bbbb.ovvv, (0, 1, 2, 3), tmp72, (4, 5, 0, 3), (5, 4, 1, 2), optimize=True) + l2new.bbbb += tmp251.transpose((3, 2, 1, 0)) * -2 + l2new.bbbb += tmp251.transpose((2, 3, 1, 0)) * 2 + del tmp251 + tmp249 = f.bb.oo.transpose((1, 0)).copy() * 0.5 + tmp249 += tmp137.transpose((1, 0)) * 0.5 + del tmp137 + tmp249 += tmp138 * 0.5 del tmp138 - tmp144 += f.bb.oo.transpose((1, 0)) - tmp240 = einsum(tmp144, (0, 1), l2.bbbb, (2, 3, 0, 4), (1, 4, 2, 3), optimize=True) * 2 - l2new.bbbb += tmp240.transpose((3, 2, 1, 0)) * -1 - l2new.bbbb += tmp239.transpose((3, 2, 1, 0)) * -1 - tmp248 = tmp236.copy() - del tmp236 - tmp248 += tmp206 * 2 - tmp248 += tmp205 - tmp248 += v.aabb.ovov.transpose((0, 2, 1, 3)) - l2new.bbbb += einsum(tmp248, (0, 1, 2, 3), l2.abab, (2, 4, 0, 5), (3, 4, 5, 1), optimize=True) * -1 - del tmp248 - tmp135 = v.bbbb.ovvv.transpose((0, 3, 1, 2)).copy() - tmp135 += v.bbbb.ovvv.transpose((0, 1, 3, 2)) * -1 - tmp247 = einsum(tmp135, (0, 1, 2, 3), t1.bb, (4, 2), (4, 0, 3, 1), optimize=True) * -1 - tmp247 += tmp233 * 2 - del tmp233 - tmp247 += tmp201 - tmp247 += v.bbbb.oovv.transpose((1, 0, 3, 2)) * -1 - tmp247 += v.bbbb.ovov.transpose((2, 0, 3, 1)) - l2new.bbbb += einsum(tmp247, (0, 1, 2, 3), l2.bbbb, (2, 4, 0, 5), (3, 4, 5, 1), optimize=True) * -2 + tmp249 += tmp139 + del tmp139 + tmp249 += einsum(tmp140, (0, 1, 2, 3), t1.bb, (2, 3), (1, 0), optimize=True) * -0.5 + del tmp140 + tmp249 += einsum(tmp101, (0, 1), t1.bb, (2, 1), (2, 0), optimize=True) * 0.5 + l2new.bbbb += einsum(tmp249, (0, 1), l2.bbbb, (2, 3, 0, 4), (3, 2, 1, 4), optimize=True) * 4 + del tmp249 + tmp248 = einsum(tmp247, (0, 1, 2, 3), l2.abab, (2, 4, 0, 5), (1, 5, 3, 4), optimize=True) del tmp247 - l2new.bbbb += einsum(l1.bb, (0, 1), tmp232, (2, 3), (0, 3, 1, 2), optimize=True) * -1 - l2new.bbbb += tmp231.transpose((3, 2, 0, 1)) - l2new.bbbb += tmp230.transpose((3, 2, 0, 1)) - l2new.bbbb += tmp229.transpose((3, 2, 0, 1)) * 2 - l2new.bbbb += tmp228.transpose((2, 3, 0, 1)) * 2 - l2new.bbbb += v.bbbb.ovov.transpose((1, 3, 2, 0)) * -1 - l2new.bbbb += tmp227.transpose((2, 3, 0, 1)) * -1 - l2new.bbbb += tmp226.transpose((3, 2, 0, 1)) * 2 - l2new.bbbb += tmp225.transpose((2, 3, 0, 1)) * 2 - l2new.bbbb += einsum(tmp246, (0, 1), l1.bb, (2, 3), (1, 2, 0, 3), optimize=True) - del tmp246 - tmp244 = tmp98.transpose((0, 2, 1, 3)).copy() - tmp244 += v.bbbb.ooov.transpose((1, 0, 2, 3)) - l2new.bbbb += einsum(l1.bb, (0, 1), tmp244, (1, 2, 3, 4), (4, 0, 3, 2), optimize=True) * -1 - del tmp244 - l2new.bbbb += tmp243.transpose((3, 2, 1, 0)) * -1 - del tmp243 - l2new.bbbb += tmp242.transpose((3, 2, 1, 0)) * -1 - del tmp242 - l2new.bbbb += tmp240.transpose((3, 2, 0, 1)) - del tmp240 - l2new.bbbb += tmp239.transpose((3, 2, 0, 1)) - del tmp239 - l2new.bbbb += tmp238.transpose((2, 3, 0, 1)) + l2new.bbbb += tmp248.transpose((3, 2, 0, 1)) * -1 + l2new.bbbb += tmp248.transpose((3, 2, 1, 0)) + l2new.bbbb += tmp248.transpose((2, 3, 0, 1)) + del tmp248 + tmp238 = v.bbbb.ovov.transpose((2, 0, 3, 1)).copy() + tmp238 += v.bbbb.oovv.transpose((1, 0, 3, 2)) * -1 + tmp238 += tmp199 + tmp238 += tmp237 * 2 + del tmp237 + tmp238 += einsum(tmp135, (0, 1, 2, 3), t1.bb, (4, 1), (4, 0, 3, 2), optimize=True) * -1 + l2new.bbbb += einsum(l2.bbbb, (0, 1, 2, 3), tmp238, (2, 4, 0, 5), (5, 1, 3, 4), optimize=True) * -2 del tmp238 - l2new.bbbb += tmp235.transpose((2, 3, 0, 1)) * 2 - del tmp235 - l2new.bbbb += einsum(l1.bb, (0, 1), tmp232, (2, 3), (0, 3, 2, 1), optimize=True) - del tmp232 + tmp225 = einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp224, (4, 1), (0, 2, 4, 3), optimize=True) * 2 + del tmp224 + l2new.bbbb += tmp225.transpose((2, 3, 1, 0)) + l2new.bbbb += tmp225.transpose((3, 2, 1, 0)) * -1 + del tmp225 + tmp231 = einsum(tmp36, (0, 1, 2, 3), tmp9, (0, 1, 4, 5), (2, 4, 3, 5), optimize=True) + l2new.bbbb += tmp231.transpose((2, 3, 1, 0)) + l2new.bbbb += tmp231.transpose((2, 3, 0, 1)) * -1 l2new.bbbb += tmp231.transpose((3, 2, 1, 0)) * -1 + l2new.bbbb += tmp231.transpose((3, 2, 0, 1)) del tmp231 - l2new.bbbb += tmp230.transpose((3, 2, 1, 0)) * -1 - del tmp230 - l2new.bbbb += tmp229.transpose((3, 2, 1, 0)) * -2 - del tmp229 - l2new.bbbb += tmp228.transpose((2, 3, 1, 0)) * -2 - del tmp228 - l2new.bbbb += v.bbbb.ovov.transpose((3, 1, 2, 0)) - l2new.bbbb += tmp227.transpose((2, 3, 1, 0)) - del tmp227 - l2new.bbbb += tmp226.transpose((3, 2, 1, 0)) * -2 + tmp226 = v.bbbb.ooov.transpose((1, 0, 2, 3)).copy() + tmp226 += tmp96.transpose((0, 2, 1, 3)) + l2new.bbbb += einsum(tmp226, (0, 1, 2, 3), l1.bb, (4, 0), (3, 4, 2, 1), optimize=True) * -1 del tmp226 - l2new.bbbb += tmp225.transpose((2, 3, 1, 0)) * -2 - del tmp225 - tmp62 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 3, 4, 1), (4, 0), optimize=True) - tmp80 = tmp62.copy() - tmp61 = einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (2, 4, 0, 1), (3, 4), optimize=True) - tmp80 += tmp61 * 2 - tmp60 = einsum(l1.aa, (0, 1), t1.aa, (2, 0), (1, 2), optimize=True) - tmp80 += tmp60 - l2new.abab = einsum(v.aabb.ovov, (0, 1, 2, 3), tmp80, (4, 0), (1, 3, 4, 2), optimize=True) * -1 - tmp7 = einsum(v.aabb.ovov, (0, 1, 2, 3), t1.bb, (4, 3), (0, 4, 2, 1), optimize=True) - tmp224 = tmp7.copy() - tmp224 += v.aabb.ovoo.transpose((0, 3, 2, 1)) - l2new.abab += einsum(tmp36, (0, 1, 2, 3), tmp224, (1, 2, 4, 5), (5, 3, 0, 4), optimize=True) - del tmp224 - tmp223 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 4, 5, 3), (1, 5, 2, 4), optimize=True) - l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp223, (3, 4, 0, 5), (5, 1, 2, 4), optimize=True) - del tmp223 - tmp222 = einsum(v.aabb.ovvv, (0, 1, 2, 3), t1.aa, (4, 1), (4, 0, 3, 2), optimize=True) - tmp222 += v.aabb.oovv.transpose((1, 0, 3, 2)) - l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp222, (2, 4, 1, 5), (0, 5, 4, 3), optimize=True) * -1 + tmp260 = v.bbbb.oooo.transpose((2, 3, 1, 0)).copy() * -1 + tmp260 += tmp107.transpose((1, 3, 0, 2)) * -1 + del tmp107 + tmp260 += tmp108.transpose((0, 3, 1, 2)) + del tmp108 + l2new.bbbb += einsum(l2.bbbb, (0, 1, 2, 3), tmp260, (2, 4, 3, 5), (1, 0, 4, 5), optimize=True) * 2 + del tmp260 + tmp258 = einsum(tmp257, (0, 1), l2.bbbb, (1, 2, 3, 4), (3, 4, 0, 2), optimize=True) * 2 + del tmp257 + l2new.bbbb += tmp258.transpose((3, 2, 1, 0)) * -1 + l2new.bbbb += tmp258.transpose((2, 3, 1, 0)) + del tmp258 + tmp229 = einsum(tmp72, (0, 1, 2, 3), v.bbbb.ooov, (4, 0, 2, 5), (1, 4, 3, 5), optimize=True) * -1 + l2new.bbbb += tmp229.transpose((3, 2, 1, 0)) * 2 + l2new.bbbb += tmp229.transpose((3, 2, 0, 1)) * -2 + l2new.bbbb += tmp229.transpose((2, 3, 1, 0)) * -2 + l2new.bbbb += tmp229.transpose((2, 3, 0, 1)) * 2 + del tmp229 + tmp252 = einsum(l2.bbbb, (0, 1, 2, 3), v.bbbb.vvvv, (4, 1, 5, 0), (2, 3, 4, 5), optimize=True) * -1 + l2new.bbbb += tmp252.transpose((3, 2, 1, 0)) + l2new.bbbb += tmp252.transpose((3, 2, 1, 0)) + del tmp252 + tmp232 = einsum(t1.bb, (0, 1), v.bbbb.ovov, (2, 1, 0, 3), (2, 3), optimize=True) + l2new.bbbb += einsum(tmp232, (0, 1), l1.bb, (2, 3), (1, 2, 0, 3), optimize=True) * -1 + l2new.bbbb += einsum(tmp232, (0, 1), l1.bb, (2, 3), (1, 2, 3, 0), optimize=True) + l2new.bbbb += einsum(tmp232, (0, 1), l1.bb, (2, 3), (2, 1, 0, 3), optimize=True) + l2new.bbbb += einsum(tmp232, (0, 1), l1.bb, (2, 3), (2, 1, 3, 0), optimize=True) * -1 + del tmp232 + tmp234 = einsum(v.aabb.ooov, (0, 1, 2, 3), tmp36, (0, 1, 4, 5), (4, 2, 5, 3), optimize=True) + l2new.bbbb += tmp234.transpose((2, 3, 1, 0)) + l2new.bbbb += tmp234.transpose((2, 3, 0, 1)) * -1 + l2new.bbbb += tmp234.transpose((3, 2, 1, 0)) * -1 + l2new.bbbb += tmp234.transpose((3, 2, 0, 1)) + del tmp234 + tmp244 = f.bb.ov.copy() + tmp244 += tmp98 + tmp244 += tmp243 + l2new.bbbb += einsum(l1.bb, (0, 1), tmp244, (2, 3), (3, 0, 1, 2), optimize=True) * -1 + del tmp244 + tmp246 = einsum(tmp245, (0, 1, 2, 3), l2.bbbb, (2, 4, 0, 5), (1, 5, 3, 4), optimize=True) + del tmp245 + l2new.bbbb += tmp246.transpose((3, 2, 0, 1)) * -2 + l2new.bbbb += tmp246.transpose((3, 2, 1, 0)) * 2 + l2new.bbbb += tmp246.transpose((2, 3, 0, 1)) * 2 + del tmp246 + tmp250 = f.bb.ov.copy() + tmp250 += tmp98 + del tmp98 + tmp250 += tmp243 + del tmp243 + l2new.bbbb += einsum(tmp250, (0, 1), l1.bb, (2, 3), (2, 1, 0, 3), optimize=True) * -1 + l2new.bbbb += einsum(tmp250, (0, 1), l1.bb, (2, 3), (2, 1, 3, 0), optimize=True) + l2new.bbbb += einsum(l1.bb, (0, 1), tmp250, (2, 3), (3, 0, 2, 1), optimize=True) + del tmp250 + tmp236 = einsum(tmp72, (0, 1, 2, 3), tmp96, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) * -1 + l2new.bbbb += tmp236.transpose((2, 3, 1, 0)) * 2 + l2new.bbbb += tmp236.transpose((2, 3, 0, 1)) * -2 + l2new.bbbb += tmp236.transpose((3, 2, 1, 0)) * -2 + l2new.bbbb += tmp236.transpose((3, 2, 0, 1)) * 2 + del tmp236 + tmp194 = v.aaaa.ovov.transpose((2, 0, 3, 1)).copy() + tmp194 += v.aaaa.oovv.transpose((1, 0, 3, 2)) * -1 + tmp194 += tmp158 + tmp194 += einsum(t2.aaaa, (0, 1, 2, 3), tmp193, (0, 4, 5, 2), (1, 4, 3, 5), optimize=True) * -2 + tmp194 += tmp168.transpose((0, 1, 3, 2)) * -1 + del tmp168 + l2new.abab += einsum(tmp194, (0, 1, 2, 3), l2.abab, (2, 4, 0, 5), (3, 4, 1, 5), optimize=True) + del tmp194 + tmp192 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 1, 5), (4, 0, 5, 3), optimize=True) + l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp192, (2, 4, 1, 5), (0, 5, 4, 3), optimize=True) + del tmp192 + tmp207 = v.aabb.ovov.transpose((0, 2, 1, 3)).copy() + tmp207 += tmp204 + del tmp204 + tmp207 += tmp205 * 2 + del tmp205 + tmp207 += einsum(tmp206, (0, 1, 2, 3), t2.abab, (4, 0, 5, 3), (4, 1, 5, 2), optimize=True) * -1 + del tmp206 + l2new.abab += einsum(tmp207, (0, 1, 2, 3), l2.aaaa, (2, 4, 0, 5), (4, 3, 5, 1), optimize=True) * 2 + del tmp207 + tmp197 = tmp5.copy() * -1 + tmp197 += tmp5.transpose((0, 2, 1, 3)) + l2new.abab += einsum(tmp197, (0, 1, 2, 3), tmp36, (0, 2, 4, 5), (3, 5, 1, 4), optimize=True) + del tmp197 + tmp222 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 4, 5, 3), (4, 2, 5, 1), optimize=True) + l2new.abab += einsum(tmp222, (0, 1, 2, 3), l2.abab, (2, 4, 5, 0), (3, 4, 5, 1), optimize=True) del tmp222 - tmp8 = tmp7.transpose((0, 2, 1, 3)).copy() - tmp8 += v.aabb.ovoo.transpose((0, 3, 2, 1)) - tmp221 = einsum(t1.aa, (0, 1), tmp8, (2, 3, 4, 1), (0, 2, 4, 3), optimize=True) - tmp18 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 5, 3), (0, 4, 1, 5), optimize=True) - tmp221 += tmp18 - tmp17 = einsum(v.aabb.ooov, (0, 1, 2, 3), t1.bb, (4, 3), (0, 1, 4, 2), optimize=True) - tmp221 += tmp17.transpose((1, 0, 2, 3)) - tmp221 += v.aabb.oooo.transpose((1, 0, 3, 2)) - l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp221, (2, 4, 3, 5), (0, 1, 4, 5), optimize=True) - del tmp221 - tmp196 = tmp9.copy() - tmp196 += v.aabb.ooov.transpose((1, 0, 2, 3)) - l2new.abab += einsum(tmp196, (0, 1, 2, 3), l1.aa, (4, 0), (4, 3, 1, 2), optimize=True) * -1 - tmp53 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (4, 3, 0, 1), (4, 2), optimize=True) - tmp165 = tmp53.copy() * 0.5 - tmp52 = einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (2, 3, 0, 4), (1, 4), optimize=True) - tmp165 += tmp52 - l2new.abab += einsum(tmp165, (0, 1), v.aabb.ovov, (2, 1, 3, 4), (0, 4, 2, 3), optimize=True) * -2 - tmp0 = einsum(t1.bb, (0, 1), l2.abab, (2, 1, 3, 4), (3, 4, 0, 2), optimize=True) - l2new.abab += einsum(tmp212, (0, 1), tmp0, (2, 3, 0, 4), (4, 1, 2, 3), optimize=True) * -1 - tmp219 = v.bbbb.ovvv.transpose((0, 3, 1, 2)).copy() * -1 - tmp219 += v.bbbb.ovvv.transpose((0, 1, 3, 2)) - tmp220 = einsum(t1.bb, (0, 1), tmp219, (0, 1, 2, 3), (3, 2), optimize=True) * -0.5 - del tmp219 - tmp220 += tmp218 - del tmp218 - tmp220 += tmp217 * 0.5 - del tmp217 - tmp220 += tmp134.transpose((1, 0)) * -0.5 - tmp220 += f.bb.vv.transpose((1, 0)) * -0.5 - l2new.abab += einsum(tmp220, (0, 1), l2.abab, (2, 0, 3, 4), (2, 1, 3, 4), optimize=True) * -2 + tmp132 = v.bbbb.ooov.transpose((1, 0, 2, 3)).copy() * -1 + tmp132 += v.bbbb.ooov.transpose((1, 2, 0, 3)) + l2new.abab += einsum(tmp132, (0, 1, 2, 3), tmp0, (4, 0, 1, 5), (5, 3, 4, 2), optimize=True) + l1new.bb += einsum(tmp77, (0, 1), tmp132, (0, 2, 1, 3), (3, 2), optimize=True) * -1 + del tmp77, tmp132 + tmp220 = v.aabb.oooo.transpose((1, 0, 3, 2)).copy() + tmp220 += tmp17.transpose((1, 0, 2, 3)) + del tmp17 + tmp220 += tmp18 + del tmp18 + tmp220 += einsum(tmp8, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 2, 1), optimize=True) + l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp220, (2, 4, 3, 5), (0, 1, 4, 5), optimize=True) del tmp220 - tmp38 = einsum(t1.aa, (0, 1), tmp0, (2, 3, 4, 1), (2, 0, 3, 4), optimize=True) - tmp39 = tmp38.copy() - tmp37 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 3, 4, 5), (4, 0, 5, 1), optimize=True) - tmp39 += tmp37 - tmp215 = einsum(v.aabb.ovov, (0, 1, 2, 3), tmp39, (4, 0, 5, 2), (4, 5, 1, 3), optimize=True) * 0.5 - l2new.abab += tmp215.transpose((2, 3, 0, 1)) - tmp214 = einsum(l2.abab, (0, 1, 2, 3), v.aabb.vvvv, (4, 0, 1, 5), (2, 3, 4, 5), optimize=True) - l2new.abab += tmp214.transpose((2, 3, 0, 1)) * 0.5 - l2new.abab += einsum(tmp0, (0, 1, 2, 3), v.bbaa.ovvv, (2, 4, 5, 3), (5, 4, 0, 1), optimize=True) * -1 - tmp185 = v.aaaa.ovov.transpose((2, 0, 3, 1)).copy() - tmp185 += v.aaaa.ovov.transpose((2, 0, 1, 3)) * -1 - tmp186 = einsum(t1.aa, (0, 1), tmp185, (0, 2, 3, 1), (2, 3), optimize=True) - tmp187 = tmp186.copy() * -1 - del tmp186 - tmp11 = einsum(v.aabb.ovov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1), optimize=True) - tmp187 += tmp11 - tmp187 += f.aa.ov - l2new.abab += einsum(tmp36, (0, 1, 2, 3), tmp187, (1, 4), (4, 3, 0, 2), optimize=True) * -1 - tmp55 = v.aaaa.ovvv.transpose((0, 3, 1, 2)).copy() - tmp55 += v.aaaa.ovvv.transpose((0, 1, 3, 2)) * -1 - tmp182 = einsum(t1.aa, (0, 1), tmp55, (0, 2, 1, 3), (2, 3), optimize=True) - tmp216 = tmp182.transpose((1, 0)).copy() * -1 - tmp181 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 4, 1, 3), (2, 4), optimize=True) - tmp216 += tmp181 - tmp180 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (0, 4, 1, 2), (3, 4), optimize=True) * -1 - tmp216 += tmp180 * 2 - tmp83 = einsum(v.bbaa.ovvv, (0, 1, 2, 3), t1.bb, (0, 1), (2, 3), optimize=True) - tmp216 += tmp83.transpose((1, 0)) * -1 - tmp216 += f.aa.vv.transpose((1, 0)) * -1 - l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp216, (0, 4), (4, 1, 2, 3), optimize=True) * -1 - del tmp216 - l2new.abab += tmp215.transpose((2, 3, 0, 1)) - del tmp215 - l2new.abab += tmp214.transpose((2, 3, 0, 1)) * 0.5 - del tmp214 - l2new.abab += einsum(v.aabb.ovvv, (0, 1, 2, 3), tmp36, (4, 0, 5, 2), (1, 3, 4, 5), optimize=True) * -1 - l2new.abab += einsum(tmp144, (0, 1), l2.abab, (2, 3, 4, 0), (2, 3, 4, 1), optimize=True) * -1 - tmp104 = einsum(t1.bb, (0, 1), v.bbaa.ovvv, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) - tmp213 = tmp104.transpose((0, 1, 3, 2)).copy() - tmp213 += v.bbaa.oovv.transpose((1, 0, 3, 2)) - l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp213, (3, 4, 0, 5), (5, 1, 2, 4), optimize=True) * -1 - del tmp213 - l2new.abab += einsum(l1.aa, (0, 1), tmp212, (2, 3), (0, 3, 1, 2), optimize=True) - del tmp212 - tmp210 = v.bbbb.ooov.transpose((1, 2, 0, 3)).copy() - tmp210 += v.bbbb.ooov.transpose((1, 0, 2, 3)) * -1 - l2new.abab += einsum(tmp0, (0, 1, 2, 3), tmp210, (1, 2, 4, 5), (3, 5, 0, 4), optimize=True) - del tmp210 - tmp209 = tmp98.transpose((0, 2, 1, 3)).copy() - tmp209 += tmp98 * -1 - l2new.abab += einsum(tmp0, (0, 1, 2, 3), tmp209, (1, 4, 2, 5), (3, 5, 0, 4), optimize=True) - del tmp209 - tmp208 = einsum(tmp207, (0, 1, 2, 3), t2.abab, (4, 0, 5, 3), (4, 1, 5, 2), optimize=True) * -1 - del tmp207 - tmp208 += tmp206 * 2 - del tmp206 - tmp208 += tmp205 - del tmp205 - tmp208 += v.aabb.ovov.transpose((0, 2, 1, 3)) - l2new.abab += einsum(tmp208, (0, 1, 2, 3), l2.aaaa, (2, 4, 0, 5), (4, 3, 5, 1), optimize=True) * 2 - del tmp208 - tmp204 = tmp203.transpose((0, 1, 3, 2)).copy() * -1 - del tmp203 - tmp202 = v.bbbb.ovov.transpose((2, 0, 3, 1)).copy() * -1 - tmp202 += v.bbbb.ovov.transpose((2, 0, 1, 3)) - tmp204 += einsum(t2.bbbb, (0, 1, 2, 3), tmp202, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) * -2 - del tmp202 - tmp204 += tmp201 - del tmp201 - tmp204 += v.bbbb.oovv.transpose((1, 0, 3, 2)) * -1 - tmp204 += v.bbbb.ovov.transpose((2, 0, 3, 1)) - l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp204, (3, 4, 1, 5), (0, 5, 2, 4), optimize=True) - del tmp204 - tmp3 = einsum(t1.aa, (0, 1), l2.aaaa, (2, 1, 3, 4), (3, 4, 0, 2), optimize=True) - l2new.abab += einsum(tmp3, (0, 1, 2, 3), tmp9, (1, 2, 4, 5), (3, 5, 0, 4), optimize=True) * -2 - l2new.abab += einsum(v.bbaa.ovvv, (0, 1, 2, 3), l1.aa, (3, 4), (2, 1, 4, 0), optimize=True) - l2new.abab += einsum(tmp3, (0, 1, 2, 3), v.aabb.ooov, (1, 2, 4, 5), (3, 5, 0, 4), optimize=True) * -2 - l2new.abab += einsum(tmp187, (0, 1), l1.bb, (2, 3), (1, 2, 0, 3), optimize=True) - tmp19 = tmp7.copy() - tmp19 += v.aabb.ovoo.transpose((0, 3, 2, 1)) - l2new.abab += einsum(l1.bb, (0, 1), tmp19, (2, 1, 3, 4), (4, 0, 2, 3), optimize=True) * -1 - l2new.abab += einsum(v.aabb.ovov, (0, 1, 2, 3), tmp78, (4, 2), (1, 3, 0, 4), optimize=True) * -1 - tmp200 = tmp68.copy() - tmp200 += tmp67 * 0.5 - l2new.abab += einsum(tmp200, (0, 1), v.aabb.ovov, (2, 3, 4, 1), (3, 0, 2, 4), optimize=True) * -2 - del tmp200 - tmp12 = v.aaaa.ovov.transpose((2, 0, 3, 1)).copy() - tmp12 += v.aaaa.ovov.transpose((2, 0, 1, 3)) * -1 - tmp13 = einsum(t1.aa, (0, 1), tmp12, (0, 2, 3, 1), (2, 3), optimize=True) - tmp14 = tmp13.copy() * -1 - del tmp13 - tmp14 += tmp11 - tmp14 += f.aa.ov - tmp199 = einsum(tmp14, (0, 1), t1.aa, (2, 1), (2, 0), optimize=True) * 0.5 - tmp89 = v.aaaa.ooov.transpose((2, 1, 0, 3)).copy() * -1 - tmp89 += v.aaaa.ooov.transpose((1, 0, 2, 3)) - tmp199 += einsum(tmp89, (0, 1, 2, 3), t1.aa, (0, 3), (1, 2), optimize=True) * -0.5 - tmp88 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 1, 3), (0, 4), optimize=True) - tmp199 += tmp88 * 0.5 - tmp87 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 3, 0, 2), (1, 4), optimize=True) - tmp199 += tmp87 - tmp86 = einsum(v.aabb.ooov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1), optimize=True) - tmp199 += tmp86.transpose((1, 0)) * 0.5 - tmp199 += f.aa.oo.transpose((1, 0)) * 0.5 - l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp199, (2, 4), (0, 1, 4, 3), optimize=True) * -2 + tmp223 = v.aabb.ovoo.transpose((0, 3, 2, 1)).copy() + tmp223 += tmp7 + l2new.abab += einsum(tmp223, (0, 1, 2, 3), tmp36, (4, 0, 1, 5), (3, 5, 4, 2), optimize=True) + del tmp223 + tmp219 = tmp52.copy() + tmp219 += tmp53 * 0.5 + l2new.abab += einsum(v.aabb.ovov, (0, 1, 2, 3), tmp219, (4, 1), (4, 3, 0, 2), optimize=True) * -2 + del tmp219 + tmp191 = tmp66.copy() + tmp191 += tmp67 * 2 + l2new.abab += einsum(tmp191, (0, 1), v.aabb.ovov, (2, 3, 4, 1), (3, 0, 2, 4), optimize=True) * -1 + del tmp191 + tmp211 = v.bbaa.oovv.transpose((1, 0, 3, 2)).copy() + tmp211 += tmp102.transpose((0, 1, 3, 2)) + del tmp102 + l2new.abab += einsum(tmp211, (0, 1, 2, 3), l2.abab, (2, 4, 5, 0), (3, 4, 5, 1), optimize=True) * -1 + del tmp211 + tmp203 = v.bbbb.ovov.transpose((2, 0, 3, 1)).copy() + tmp203 += v.bbbb.oovv.transpose((1, 0, 3, 2)) * -1 + tmp203 += tmp199 del tmp199 - tmp5 = einsum(t1.aa, (0, 1), v.aaaa.ovov, (2, 1, 3, 4), (0, 3, 2, 4), optimize=True) - tmp198 = tmp5.transpose((0, 2, 1, 3)).copy() - tmp198 += tmp5 * -1 - l2new.abab += einsum(tmp36, (0, 1, 2, 3), tmp198, (0, 4, 1, 5), (5, 3, 4, 2), optimize=True) - del tmp198 - tmp197 = v.aaaa.ooov.transpose((1, 2, 0, 3)).copy() - tmp197 += v.aaaa.ooov.transpose((1, 0, 2, 3)) * -1 - l2new.abab += einsum(tmp36, (0, 1, 2, 3), tmp197, (0, 4, 1, 5), (5, 3, 4, 2), optimize=True) * -1 - del tmp197 - l2new.abab += einsum(tmp0, (0, 1, 2, 3), tmp196, (0, 4, 2, 5), (3, 5, 4, 1), optimize=True) - del tmp196 - tmp194 = v.aaaa.ovov.transpose((2, 0, 3, 1)).copy() * -1 - tmp194 += v.aaaa.ovov.transpose((2, 0, 1, 3)) - tmp195 = einsum(t2.abab, (0, 1, 2, 3), tmp194, (0, 4, 5, 2), (4, 1, 5, 3), optimize=True) - del tmp194 - tmp160 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.bbbb, (2, 4, 3, 5), (0, 4, 1, 5), optimize=True) - tmp195 += tmp160 * 2 - tmp15 = einsum(t1.bb, (0, 1), v.aabb.ovvv, (2, 3, 1, 4), (2, 0, 3, 4), optimize=True) + tmp203 += einsum(t2.bbbb, (0, 1, 2, 3), tmp200, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) * -2 + del tmp200 + tmp203 += tmp202.transpose((1, 0, 3, 2)) * -1 + del tmp202 + l2new.abab += einsum(tmp203, (0, 1, 2, 3), l2.abab, (4, 2, 5, 0), (4, 3, 5, 1), optimize=True) + del tmp203 + tmp212 = einsum(l2.abab, (0, 1, 2, 3), v.aabb.vvvv, (4, 0, 1, 5), (2, 3, 4, 5), optimize=True) + l2new.abab += tmp212.transpose((2, 3, 0, 1)) * 0.5 + l2new.abab += tmp212.transpose((2, 3, 0, 1)) * 0.5 + del tmp212 + tmp195 = v.aabb.ovov.transpose((0, 2, 1, 3)).copy() tmp195 += tmp15 - tmp195 += v.aabb.ovov.transpose((0, 2, 1, 3)) + tmp195 += tmp161 * 2 + tmp195 += einsum(tmp193, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) + del tmp193 l2new.abab += einsum(l2.bbbb, (0, 1, 2, 3), tmp195, (4, 2, 5, 0), (5, 1, 4, 3), optimize=True) * 2 del tmp195 - tmp155 = v.aaaa.ovvv.transpose((0, 3, 1, 2)).copy() * -1 - tmp155 += v.aaaa.ovvv.transpose((0, 1, 3, 2)) - tmp156 = einsum(t1.aa, (0, 1), tmp155, (2, 1, 3, 4), (2, 0, 3, 4), optimize=True) - del tmp155 - tmp193 = tmp156.transpose((1, 0, 3, 2)).copy() * -1 - tmp193 += einsum(t2.aaaa, (0, 1, 2, 3), tmp185, (0, 4, 5, 2), (1, 4, 3, 5), optimize=True) * -2 + tmp196 = v.aaaa.ooov.transpose((1, 0, 2, 3)).copy() + tmp196 += v.aaaa.ooov.transpose((1, 2, 0, 3)) * -1 + l2new.abab += einsum(tmp196, (0, 1, 2, 3), tmp36, (0, 1, 4, 5), (3, 5, 2, 4), optimize=True) * -1 + del tmp196 + tmp186 = f.aa.ov.copy() + tmp186 += tmp11 + tmp186 += tmp185 * -1 del tmp185 - tmp154 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 5, 3), (4, 0, 5, 1), optimize=True) - tmp193 += tmp154 - tmp193 += v.aaaa.oovv.transpose((1, 0, 3, 2)) * -1 - tmp193 += v.aaaa.ovov.transpose((2, 0, 3, 1)) - l2new.abab += einsum(tmp193, (0, 1, 2, 3), l2.abab, (2, 4, 0, 5), (3, 4, 1, 5), optimize=True) - del tmp193 - l2new.abab += einsum(tmp73, (0, 1, 2, 3), tmp7, (4, 1, 2, 5), (5, 3, 4, 0), optimize=True) * -2 - l2new.abab += einsum(v.aabb.ovvv, (0, 1, 2, 3), l1.bb, (3, 4), (1, 2, 0, 4), optimize=True) - l2new.abab += einsum(v.aabb.ovoo, (0, 1, 2, 3), tmp73, (4, 2, 3, 5), (1, 5, 0, 4), optimize=True) * -2 - l2new.abab += v.aabb.ovov.transpose((1, 3, 0, 2)) - tmp192 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 1, 5), (0, 4, 3, 5), optimize=True) - l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp192, (2, 4, 1, 5), (0, 5, 4, 3), optimize=True) - del tmp192 - tmp167 = einsum(tmp80, (0, 1), v.aaaa.ovov, (1, 2, 3, 4), (3, 0, 2, 4), optimize=True) - l2new.aaaa = tmp167.transpose((2, 3, 1, 0)).copy() * -1 - tmp34 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (4, 3, 5, 1), (5, 0, 4, 2), optimize=True) - tmp35 = tmp34.copy() - del tmp34 - tmp33 = einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 2, 5, 1), (3, 4, 0, 5), optimize=True) * -1 - tmp35 += tmp33 * 4 - del tmp33 - tmp163 = einsum(v.aaaa.ovov, (0, 1, 2, 3), tmp35, (4, 0, 5, 3), (2, 4, 1, 5), optimize=True) - l2new.aaaa += tmp163.transpose((2, 3, 1, 0)) - tmp151 = einsum(tmp3, (0, 1, 2, 3), tmp5, (1, 2, 4, 5), (0, 4, 3, 5), optimize=True) - l2new.aaaa += tmp151.transpose((3, 2, 0, 1)) * -2 - tmp145 = einsum(tmp3, (0, 1, 2, 3), v.aaaa.ooov, (4, 0, 2, 5), (1, 4, 3, 5), optimize=True) * -1 - l2new.aaaa += tmp145.transpose((3, 2, 0, 1)) * -2 - tmp147 = einsum(t1.aa, (0, 1), v.aaaa.ovov, (0, 2, 3, 1), (3, 2), optimize=True) - l2new.aaaa += einsum(tmp147, (0, 1), l1.aa, (2, 3), (1, 2, 3, 0), optimize=True) - tmp173 = tmp5.copy() - tmp173 += v.aaaa.ooov.transpose((1, 2, 0, 3)) - tmp174 = einsum(l1.aa, (0, 1), tmp173, (1, 2, 3, 4), (2, 3, 4, 0), optimize=True) - del tmp173 - l2new.aaaa += tmp174.transpose((3, 2, 1, 0)) * -1 - tmp191 = tmp53.copy() - tmp191 += tmp52 * 2 - l2new.aaaa += einsum(tmp191, (0, 1), v.aaaa.ovov, (2, 3, 4, 1), (0, 3, 4, 2), optimize=True) * -1 - del tmp191 - tmp190 = tmp5.transpose((0, 2, 1, 3)).copy() - tmp190 += v.aaaa.ooov.transpose((1, 0, 2, 3)) + l2new.abab += einsum(tmp186, (0, 1), tmp36, (2, 0, 3, 4), (1, 4, 2, 3), optimize=True) * -1 + l2new.abab += einsum(tmp186, (0, 1), l1.bb, (2, 3), (1, 2, 0, 3), optimize=True) + l2new.aaaa += einsum(tmp186, (0, 1), tmp3, (2, 3, 0, 4), (1, 4, 3, 2), optimize=True) * -2 + del tmp186 + tmp92 = f.aa.oo.transpose((1, 0)).copy() + tmp92 += tmp86.transpose((1, 0)) + tmp92 += tmp87 * 2 + tmp92 += tmp88 + tmp92 += tmp90.transpose((1, 0)) * -1 + del tmp90 + tmp92 += tmp91 + del tmp91 + l2new.abab += einsum(tmp92, (0, 1), l2.abab, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) * -1 + l2new.aaaa += einsum(tmp92, (0, 1), l2.aaaa, (2, 3, 0, 4), (3, 2, 1, 4), optimize=True) * 2 + l1new.aa += einsum(l1.aa, (0, 1), tmp92, (1, 2), (0, 2), optimize=True) * -1 + del tmp92 + tmp208 = tmp96.copy() * -1 + tmp208 += tmp96.transpose((0, 2, 1, 3)) + del tmp96 + l2new.abab += einsum(tmp208, (0, 1, 2, 3), tmp0, (4, 0, 2, 5), (5, 3, 4, 1), optimize=True) + del tmp208 + tmp198 = v.aabb.ooov.transpose((1, 0, 2, 3)).copy() + tmp198 += tmp9 + del tmp9 + l2new.abab += einsum(l1.aa, (0, 1), tmp198, (1, 2, 3, 4), (0, 4, 2, 3), optimize=True) * -1 + l2new.abab += einsum(tmp0, (0, 1, 2, 3), tmp198, (0, 4, 2, 5), (3, 5, 4, 1), optimize=True) + del tmp198 + tmp213 = einsum(v.aabb.ovov, (0, 1, 2, 3), tmp39, (4, 0, 5, 2), (4, 5, 1, 3), optimize=True) * 0.5 + l2new.abab += tmp213.transpose((2, 3, 0, 1)) + l2new.abab += tmp213.transpose((2, 3, 0, 1)) + del tmp213 + tmp221 = v.aabb.oovv.transpose((1, 0, 3, 2)).copy() + tmp221 += einsum(v.aabb.ovvv, (0, 1, 2, 3), t1.aa, (4, 1), (4, 0, 3, 2), optimize=True) + l2new.abab += einsum(tmp221, (0, 1, 2, 3), l2.abab, (4, 2, 0, 5), (4, 3, 1, 5), optimize=True) * -1 + del tmp221 + tmp215 = f.aa.vv.transpose((1, 0)).copy() * -1 + tmp215 += tmp83.transpose((1, 0)) * -1 + tmp215 += tmp179 * 2 + del tmp179 + tmp215 += tmp180 + del tmp180 + tmp215 += einsum(t1.aa, (0, 1), tmp214, (0, 1, 2, 3), (3, 2), optimize=True) * -1 + del tmp214 + l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp215, (0, 4), (4, 1, 2, 3), optimize=True) * -1 + del tmp215 + tmp218 = f.bb.vv.transpose((1, 0)).copy() * -1 + tmp218 += tmp134.transpose((1, 0)) * -1 + tmp218 += tmp216 + del tmp216 + tmp218 += tmp217 * 2 + del tmp217 + tmp218 += einsum(t1.bb, (0, 1), tmp135, (0, 1, 2, 3), (3, 2), optimize=True) * -1 + l2new.abab += einsum(tmp218, (0, 1), l2.abab, (2, 0, 3, 4), (2, 1, 3, 4), optimize=True) * -1 + del tmp218 + tmp167 = f.aa.ov.copy() + tmp167 += tmp166 + tmp167 += tmp11 + l2new.aaaa += einsum(l1.aa, (0, 1), tmp167, (2, 3), (3, 0, 1, 2), optimize=True) * -1 + del tmp167 + tmp190 = v.aaaa.ooov.transpose((1, 0, 2, 3)).copy() + tmp190 += tmp5.transpose((0, 2, 1, 3)) l2new.aaaa += einsum(l1.aa, (0, 1), tmp190, (1, 2, 3, 4), (4, 0, 2, 3), optimize=True) del tmp190 - l2new.aaaa += einsum(v.aaaa.ovov, (0, 1, 2, 3), tmp165, (4, 3), (1, 4, 2, 0), optimize=True) * 2 - tmp27 = einsum(tmp5, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 1, 2), optimize=True) - tmp189 = tmp27.transpose((0, 2, 3, 1)).copy() - tmp26 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.aaaa, (4, 5, 1, 3), (4, 5, 0, 2), optimize=True) - tmp189 += tmp26.transpose((1, 3, 2, 0)) - tmp189 += v.aaaa.oooo.transpose((2, 3, 1, 0)) - l2new.aaaa += einsum(tmp189, (0, 1, 2, 3), l2.aaaa, (4, 5, 0, 3), (5, 4, 2, 1), optimize=True) * 2 - del tmp189 - tmp28 = einsum(v.aaaa.ooov, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 1, 2), optimize=True) - tmp188 = einsum(l2.aaaa, (0, 1, 2, 3), tmp28, (3, 2, 4, 5), (4, 5, 0, 1), optimize=True) * -1 - l2new.aaaa += tmp188.transpose((2, 3, 1, 0)) * 2 - l2new.aaaa += tmp188.transpose((2, 3, 0, 1)) * -2 - del tmp188 - l2new.aaaa += einsum(tmp3, (0, 1, 2, 3), tmp14, (2, 4), (3, 4, 1, 0), optimize=True) * 2 - tmp183 = tmp182.copy() * -1 - del tmp182 - tmp183 += tmp181.transpose((1, 0)) - del tmp181 - tmp183 += tmp180.transpose((1, 0)) * 2 - del tmp180 - tmp183 += tmp83.transpose((1, 0)) * -1 - tmp183 += f.aa.vv.transpose((1, 0)) * -1 - tmp184 = einsum(l2.aaaa, (0, 1, 2, 3), tmp183, (4, 0), (2, 3, 4, 1), optimize=True) * 2 - del tmp183 - l2new.aaaa += tmp184.transpose((3, 2, 1, 0)) * -1 - tmp47 = einsum(t1.aa, (0, 1), tmp3, (2, 3, 4, 1), (3, 2, 4, 0), optimize=True) - tmp178 = tmp47.transpose((0, 1, 3, 2)).copy() * -1 - tmp44 = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (2, 3, 4, 5), (4, 5, 0, 1), optimize=True) - tmp178 += tmp44.transpose((1, 0, 3, 2)) - tmp179 = einsum(v.aaaa.ovov, (0, 1, 2, 3), tmp178, (4, 5, 0, 2), (4, 5, 1, 3), optimize=True) - del tmp178 - l2new.aaaa += tmp179.transpose((3, 2, 1, 0)) - tmp177 = einsum(v.aaaa.vvvv, (0, 1, 2, 3), l2.aaaa, (3, 1, 4, 5), (4, 5, 0, 2), optimize=True) * -1 - l2new.aaaa += tmp177.transpose((3, 2, 1, 0)) - tmp176 = einsum(v.aaaa.ovvv, (0, 1, 2, 3), tmp3, (4, 5, 0, 3), (5, 4, 1, 2), optimize=True) + tmp176 = einsum(tmp3, (0, 1, 2, 3), v.aaaa.ovvv, (2, 4, 5, 3), (1, 0, 4, 5), optimize=True) l2new.aaaa += tmp176.transpose((3, 2, 1, 0)) * -2 - l2new.aaaa += tmp167.transpose((2, 3, 0, 1)) - l2new.aaaa += einsum(tmp3, (0, 1, 2, 3), tmp187, (2, 4), (4, 3, 1, 0), optimize=True) * -2 - del tmp187 - l2new.aaaa += tmp184.transpose((2, 3, 1, 0)) - del tmp184 - l2new.aaaa += tmp179.transpose((3, 2, 1, 0)) - del tmp179 - l2new.aaaa += tmp163.transpose((2, 3, 0, 1)) * -1 - l2new.aaaa += tmp151.transpose((3, 2, 1, 0)) * 2 - l2new.aaaa += einsum(l1.aa, (0, 1), tmp147, (2, 3), (3, 0, 2, 1), optimize=True) * -1 - l2new.aaaa += tmp145.transpose((3, 2, 1, 0)) * 2 - l2new.aaaa += tmp177.transpose((3, 2, 1, 0)) - del tmp177 l2new.aaaa += tmp176.transpose((2, 3, 1, 0)) * 2 del tmp176 - tmp170 = tmp11.copy() - tmp169 = einsum(t1.aa, (0, 1), v.aaaa.ovov, (2, 3, 0, 1), (2, 3), optimize=True) - tmp170 += tmp169 - tmp170 += f.aa.ov - l2new.aaaa += einsum(l1.aa, (0, 1), tmp170, (2, 3), (0, 3, 2, 1), optimize=True) * -1 - tmp161 = tmp160.copy() * 2 - tmp159 = einsum(t2.abab, (0, 1, 2, 3), v.aaaa.ovov, (4, 5, 0, 2), (4, 1, 5, 3), optimize=True) - tmp161 += tmp159 - tmp161 += tmp15 - tmp161 += v.aabb.ovov.transpose((0, 2, 1, 3)) - tmp162 = einsum(l2.abab, (0, 1, 2, 3), tmp161, (4, 3, 5, 1), (4, 2, 5, 0), optimize=True) - del tmp161 - l2new.aaaa += tmp162.transpose((3, 2, 0, 1)) * -1 - tmp157 = tmp156.transpose((1, 0, 3, 2)).copy() * -1 + tmp145 = einsum(tmp144, (0, 1), v.aaaa.ovov, (2, 1, 3, 4), (2, 3, 0, 4), optimize=True) + l2new.aaaa += tmp145.transpose((2, 3, 1, 0)) + l2new.aaaa += tmp145.transpose((3, 2, 1, 0)) * -1 + del tmp145 + tmp164 = f.aa.oo.transpose((1, 0)).copy() * 0.5 + tmp164 += tmp86.transpose((1, 0)) * 0.5 + del tmp86 + tmp164 += tmp87 + del tmp87 + tmp164 += tmp88 * 0.5 + del tmp88 + tmp164 += einsum(t1.aa, (0, 1), tmp89, (2, 3, 0, 1), (3, 2), optimize=True) * -0.5 + del tmp89 + tmp164 += einsum(t1.aa, (0, 1), tmp14, (2, 1), (0, 2), optimize=True) * 0.5 + l2new.aaaa += einsum(l2.aaaa, (0, 1, 2, 3), tmp164, (2, 4), (1, 0, 3, 4), optimize=True) * -4 + del tmp164 + tmp183 = einsum(l2.aaaa, (0, 1, 2, 3), tmp182, (4, 0), (2, 3, 4, 1), optimize=True) * 2 + del tmp182 + l2new.aaaa += tmp183.transpose((3, 2, 1, 0)) * -1 + l2new.aaaa += tmp183.transpose((2, 3, 1, 0)) + del tmp183 + tmp153 = einsum(v.aaaa.ooov, (0, 1, 2, 3), tmp3, (1, 4, 2, 5), (4, 0, 5, 3), optimize=True) * -1 + l2new.aaaa += tmp153.transpose((3, 2, 1, 0)) * 2 + l2new.aaaa += tmp153.transpose((3, 2, 0, 1)) * -2 + l2new.aaaa += tmp153.transpose((2, 3, 1, 0)) * -2 + l2new.aaaa += tmp153.transpose((2, 3, 0, 1)) * 2 + del tmp153 + tmp150 = einsum(tmp3, (0, 1, 2, 3), tmp5, (1, 2, 4, 5), (0, 4, 3, 5), optimize=True) + l2new.aaaa += tmp150.transpose((3, 2, 1, 0)) * 2 + l2new.aaaa += tmp150.transpose((3, 2, 0, 1)) * -2 + l2new.aaaa += tmp150.transpose((2, 3, 1, 0)) * -2 + l2new.aaaa += tmp150.transpose((2, 3, 0, 1)) * 2 + del tmp150 + tmp156 = einsum(t1.aa, (0, 1), v.aaaa.ovov, (0, 2, 3, 1), (3, 2), optimize=True) + l2new.aaaa += einsum(tmp156, (0, 1), l1.aa, (2, 3), (1, 2, 0, 3), optimize=True) * -1 + l2new.aaaa += einsum(l1.aa, (0, 1), tmp156, (2, 3), (3, 0, 1, 2), optimize=True) + l2new.aaaa += einsum(l1.aa, (0, 1), tmp156, (2, 3), (0, 3, 2, 1), optimize=True) + l2new.aaaa += einsum(l1.aa, (0, 1), tmp156, (2, 3), (0, 3, 1, 2), optimize=True) * -1 del tmp156 - tmp157 += tmp154 - tmp153 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 5, 0, 2), (1, 4, 3, 5), optimize=True) - tmp157 += tmp153 * 2 - tmp157 += v.aaaa.oovv.transpose((1, 0, 3, 2)) * -1 - tmp157 += v.aaaa.ovov.transpose((2, 0, 3, 1)) - tmp158 = einsum(l2.aaaa, (0, 1, 2, 3), tmp157, (2, 4, 0, 5), (4, 3, 5, 1), optimize=True) - del tmp157 - l2new.aaaa += tmp158.transpose((3, 2, 0, 1)) * -2 - tmp152 = einsum(tmp5, (0, 1, 2, 3), tmp3, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) * -1 - l2new.aaaa += tmp152.transpose((2, 3, 1, 0)) * 2 - tmp150 = einsum(l1.aa, (0, 1), v.aaaa.ovvv, (2, 3, 4, 0), (1, 2, 3, 4), optimize=True) - l2new.aaaa += tmp150.transpose((3, 2, 1, 0)) * -1 - tmp149 = einsum(tmp7, (0, 1, 2, 3), tmp0, (4, 1, 2, 5), (4, 0, 5, 3), optimize=True) + tmp155 = einsum(tmp0, (0, 1, 2, 3), tmp7, (4, 1, 2, 5), (0, 4, 3, 5), optimize=True) + l2new.aaaa += tmp155.transpose((2, 3, 1, 0)) + l2new.aaaa += tmp155.transpose((2, 3, 0, 1)) * -1 + l2new.aaaa += tmp155.transpose((3, 2, 1, 0)) * -1 + l2new.aaaa += tmp155.transpose((3, 2, 0, 1)) + del tmp155 + tmp178 = einsum(tmp177, (0, 1, 2, 3), v.aaaa.ovov, (2, 4, 3, 5), (0, 1, 4, 5), optimize=True) + del tmp177 + l2new.aaaa += tmp178.transpose((3, 2, 1, 0)) + l2new.aaaa += tmp178.transpose((3, 2, 1, 0)) + del tmp178 + tmp188 = v.aaaa.oooo.transpose((2, 3, 1, 0)).copy() * -1 + tmp188 += tmp26.transpose((1, 3, 0, 2)) * -1 + del tmp26 + tmp188 += tmp27.transpose((0, 3, 1, 2)) + del tmp27 + l2new.aaaa += einsum(l2.aaaa, (0, 1, 2, 3), tmp188, (2, 4, 3, 5), (1, 0, 4, 5), optimize=True) * 2 + del tmp188 + tmp151 = einsum(tmp5, (0, 1, 2, 3), tmp3, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) * -1 + l2new.aaaa += tmp151.transpose((2, 3, 1, 0)) * 2 + l2new.aaaa += tmp151.transpose((2, 3, 0, 1)) * -2 + l2new.aaaa += tmp151.transpose((3, 2, 1, 0)) * -2 + l2new.aaaa += tmp151.transpose((3, 2, 0, 1)) * 2 + del tmp151 + tmp170 = einsum(tmp169, (0, 1, 2, 3), l2.aaaa, (2, 4, 0, 5), (1, 5, 3, 4), optimize=True) + del tmp169 + l2new.aaaa += tmp170.transpose((3, 2, 0, 1)) * -2 + l2new.aaaa += tmp170.transpose((3, 2, 1, 0)) * 2 + l2new.aaaa += tmp170.transpose((2, 3, 0, 1)) * 2 + del tmp170 + tmp149 = einsum(l1.aa, (0, 1), v.aaaa.ovvv, (2, 3, 4, 0), (1, 2, 3, 4), optimize=True) + l2new.aaaa += tmp149.transpose((3, 2, 1, 0)) * -1 + l2new.aaaa += tmp149.transpose((3, 2, 0, 1)) l2new.aaaa += tmp149.transpose((2, 3, 1, 0)) - tmp148 = einsum(v.aabb.ovoo, (0, 1, 2, 3), tmp0, (4, 2, 3, 5), (4, 0, 5, 1), optimize=True) - l2new.aaaa += tmp148.transpose((2, 3, 1, 0)) - tmp146 = einsum(tmp3, (0, 1, 2, 3), v.aaaa.ooov, (0, 2, 4, 5), (1, 4, 3, 5), optimize=True) * -1 - l2new.aaaa += tmp146.transpose((2, 3, 1, 0)) * 2 - l2new.aaaa += einsum(tmp170, (0, 1), l1.aa, (2, 3), (2, 1, 3, 0), optimize=True) - l2new.aaaa += tmp162.transpose((3, 2, 1, 0)) - l2new.aaaa += tmp158.transpose((3, 2, 1, 0)) * 2 - l2new.aaaa += tmp152.transpose((2, 3, 0, 1)) * -2 - l2new.aaaa += tmp150.transpose((3, 2, 0, 1)) l2new.aaaa += tmp149.transpose((2, 3, 0, 1)) * -1 - l2new.aaaa += tmp148.transpose((2, 3, 0, 1)) * -1 - l2new.aaaa += tmp146.transpose((2, 3, 0, 1)) * -2 - tmp175 = tmp11.copy() - del tmp11 - tmp175 += tmp169 - del tmp169 - tmp175 += f.aa.ov - l2new.aaaa += einsum(tmp175, (0, 1), l1.aa, (2, 3), (1, 2, 3, 0), optimize=True) * -1 - del tmp175 - l2new.aaaa += tmp174.transpose((3, 2, 0, 1)) - del tmp174 - l2new.aaaa += tmp167.transpose((3, 2, 1, 0)) - tmp166 = einsum(v.aaaa.ovov, (0, 1, 2, 3), tmp165, (4, 1), (0, 2, 4, 3), optimize=True) * 2 + del tmp149 + tmp165 = einsum(tmp80, (0, 1), v.aaaa.ovov, (1, 2, 3, 4), (3, 0, 2, 4), optimize=True) + l2new.aaaa += tmp165.transpose((2, 3, 1, 0)) * -1 + l2new.aaaa += tmp165.transpose((3, 2, 1, 0)) del tmp165 - l2new.aaaa += tmp166.transpose((2, 3, 1, 0)) - tmp91 = einsum(tmp14, (0, 1), t1.aa, (2, 1), (2, 0), optimize=True) - tmp92 = tmp91.copy() - del tmp91 - tmp90 = einsum(tmp89, (0, 1, 2, 3), t1.aa, (0, 3), (1, 2), optimize=True) - del tmp89 - tmp92 += tmp90 * -1 - del tmp90 - tmp92 += tmp88 - del tmp88 - tmp92 += tmp87 * 2 - del tmp87 - tmp92 += tmp86.transpose((1, 0)) - del tmp86 - tmp92 += f.aa.oo.transpose((1, 0)) - tmp164 = einsum(l2.aaaa, (0, 1, 2, 3), tmp92, (2, 4), (3, 4, 0, 1), optimize=True) * 2 - l2new.aaaa += tmp164.transpose((3, 2, 0, 1)) * -1 - l2new.aaaa += tmp163.transpose((3, 2, 1, 0)) * -1 - tmp172 = tmp160.copy() * 2 - del tmp160 - tmp172 += tmp159 + tmp175 = einsum(v.aaaa.vvvv, (0, 1, 2, 3), l2.aaaa, (3, 1, 4, 5), (4, 5, 0, 2), optimize=True) * -1 + l2new.aaaa += tmp175.transpose((3, 2, 1, 0)) + l2new.aaaa += tmp175.transpose((3, 2, 1, 0)) + del tmp175 + tmp146 = v.aaaa.ooov.transpose((1, 0, 2, 3)).copy() + tmp146 += tmp5.transpose((0, 2, 1, 3)) + del tmp5 + l2new.aaaa += einsum(l1.aa, (0, 1), tmp146, (1, 2, 3, 4), (4, 0, 3, 2), optimize=True) * -1 + del tmp146 + tmp187 = einsum(l2.aaaa, (0, 1, 2, 3), tmp28, (3, 2, 4, 5), (4, 5, 0, 1), optimize=True) * -1 + del tmp28 + l2new.aaaa += tmp187.transpose((2, 3, 1, 0)) * 2 + l2new.aaaa += tmp187.transpose((2, 3, 0, 1)) * -2 + del tmp187 + tmp159 = v.aaaa.ovov.transpose((2, 0, 3, 1)).copy() * 0.5 + tmp159 += v.aaaa.oovv.transpose((1, 0, 3, 2)) * -0.5 + tmp159 += tmp157 + del tmp157 + tmp159 += tmp158 * 0.5 + del tmp158 + tmp159 += einsum(t1.aa, (0, 1), tmp84, (2, 3, 1, 4), (0, 2, 4, 3), optimize=True) * -0.5 + l2new.aaaa += einsum(l2.aaaa, (0, 1, 2, 3), tmp159, (2, 4, 0, 5), (5, 1, 3, 4), optimize=True) * -4 del tmp159 - tmp172 += tmp15 - tmp172 += v.aabb.ovov.transpose((0, 2, 1, 3)) - l2new.aaaa += einsum(tmp172, (0, 1, 2, 3), l2.abab, (4, 3, 5, 1), (2, 4, 5, 0), optimize=True) * -1 - del tmp172 - tmp84 = v.aaaa.ovvv.transpose((0, 3, 1, 2)).copy() * -1 - tmp84 += v.aaaa.ovvv.transpose((0, 1, 3, 2)) - tmp171 = einsum(t1.aa, (0, 1), tmp84, (2, 1, 3, 4), (0, 2, 4, 3), optimize=True) * -1 - tmp171 += tmp154 - del tmp154 - tmp171 += tmp153 * 2 - del tmp153 - tmp171 += v.aaaa.oovv.transpose((1, 0, 3, 2)) * -1 - tmp171 += v.aaaa.ovov.transpose((2, 0, 3, 1)) - l2new.aaaa += einsum(l2.aaaa, (0, 1, 2, 3), tmp171, (2, 4, 0, 5), (5, 1, 3, 4), optimize=True) * -2 - del tmp171 - l2new.aaaa += tmp152.transpose((3, 2, 0, 1)) * 2 - l2new.aaaa += tmp151.transpose((2, 3, 0, 1)) * 2 - l2new.aaaa += tmp150.transpose((2, 3, 0, 1)) * -1 - l2new.aaaa += tmp149.transpose((3, 2, 0, 1)) - l2new.aaaa += tmp148.transpose((3, 2, 0, 1)) - l2new.aaaa += einsum(l1.aa, (0, 1), tmp147, (2, 3), (0, 3, 1, 2), optimize=True) * -1 - l2new.aaaa += v.aaaa.ovov.transpose((1, 3, 2, 0)) * -1 - l2new.aaaa += tmp146.transpose((3, 2, 0, 1)) * 2 - l2new.aaaa += tmp145.transpose((2, 3, 0, 1)) * 2 - l2new.aaaa += einsum(l1.aa, (0, 1), tmp170, (2, 3), (3, 0, 2, 1), optimize=True) - del tmp170 - tmp168 = tmp5.transpose((0, 2, 1, 3)).copy() - tmp168 += v.aaaa.ooov.transpose((1, 0, 2, 3)) - l2new.aaaa += einsum(l1.aa, (0, 1), tmp168, (1, 2, 3, 4), (4, 0, 3, 2), optimize=True) * -1 - del tmp168 - l2new.aaaa += tmp167.transpose((3, 2, 0, 1)) * -1 - del tmp167 - l2new.aaaa += tmp166.transpose((3, 2, 1, 0)) * -1 + tmp174 = f.aa.ov.copy() + tmp174 += tmp166 del tmp166 - l2new.aaaa += tmp164.transpose((3, 2, 1, 0)) - del tmp164 + tmp174 += tmp11 + del tmp11 + l2new.aaaa += einsum(l1.aa, (0, 1), tmp174, (2, 3), (0, 3, 2, 1), optimize=True) * -1 + l2new.aaaa += einsum(l1.aa, (0, 1), tmp174, (2, 3), (0, 3, 1, 2), optimize=True) + l2new.aaaa += einsum(tmp174, (0, 1), l1.aa, (2, 3), (1, 2, 0, 3), optimize=True) + del tmp174 + tmp163 = einsum(tmp35, (0, 1, 2, 3), v.aaaa.ovov, (1, 4, 5, 3), (5, 0, 4, 2), optimize=True) + del tmp35 + l2new.aaaa += tmp163.transpose((2, 3, 0, 1)) * -1 + l2new.aaaa += tmp163.transpose((2, 3, 1, 0)) l2new.aaaa += tmp163.transpose((3, 2, 0, 1)) + l2new.aaaa += tmp163.transpose((3, 2, 1, 0)) * -1 del tmp163 - l2new.aaaa += tmp162.transpose((2, 3, 0, 1)) - del tmp162 - l2new.aaaa += tmp158.transpose((2, 3, 0, 1)) * 2 - del tmp158 - l2new.aaaa += tmp152.transpose((3, 2, 1, 0)) * -2 - del tmp152 - l2new.aaaa += tmp151.transpose((2, 3, 1, 0)) * -2 - del tmp151 - l2new.aaaa += tmp150.transpose((2, 3, 1, 0)) - del tmp150 - l2new.aaaa += tmp149.transpose((3, 2, 1, 0)) * -1 - del tmp149 + tmp148 = einsum(l1.aa, (0, 1), tmp147, (1, 2, 3, 4), (2, 3, 4, 0), optimize=True) + del tmp147 l2new.aaaa += tmp148.transpose((3, 2, 1, 0)) * -1 + l2new.aaaa += tmp148.transpose((3, 2, 0, 1)) del tmp148 - l2new.aaaa += einsum(tmp147, (0, 1), l1.aa, (2, 3), (2, 1, 0, 3), optimize=True) - del tmp147 - l2new.aaaa += v.aaaa.ovov.transpose((3, 1, 2, 0)) - l2new.aaaa += tmp146.transpose((3, 2, 1, 0)) * -2 - del tmp146 - l2new.aaaa += tmp145.transpose((2, 3, 1, 0)) * -2 - del tmp145 - l1new.bb = einsum(tmp144, (0, 1), l1.bb, (2, 0), (2, 1), optimize=True) * -1 + tmp162 = v.aabb.ovov.transpose((0, 2, 1, 3)).copy() + tmp162 += tmp15 + del tmp15 + tmp162 += tmp160 + del tmp160 + tmp162 += tmp161 * 2 + del tmp161 + l2new.aaaa += einsum(l2.abab, (0, 1, 2, 3), tmp162, (4, 3, 5, 1), (5, 0, 2, 4), optimize=True) * -1 + del tmp162 + tmp152 = einsum(tmp0, (0, 1, 2, 3), v.aabb.ovoo, (4, 5, 1, 2), (0, 4, 3, 5), optimize=True) + l2new.aaaa += tmp152.transpose((2, 3, 1, 0)) + l2new.aaaa += tmp152.transpose((2, 3, 0, 1)) * -1 + l2new.aaaa += tmp152.transpose((3, 2, 1, 0)) * -1 + l2new.aaaa += tmp152.transpose((3, 2, 0, 1)) + del tmp152 + tmp189 = einsum(tmp144, (0, 1), v.aaaa.ovov, (2, 3, 4, 1), (2, 4, 0, 3), optimize=True) del tmp144 - l1new.bb += einsum(tmp103, (0, 1), tmp137, (2, 0), (1, 2), optimize=True) * -2 - del tmp137 - tmp136 = einsum(t1.bb, (0, 1), tmp135, (0, 1, 2, 3), (3, 2), optimize=True) * -1 - del tmp135 - tmp136 += tmp134.transpose((1, 0)) - del tmp134 - tmp136 += f.bb.vv.transpose((1, 0)) - l1new.bb += einsum(tmp136, (0, 1), l1.bb, (0, 2), (1, 2), optimize=True) - del tmp136 - l1new.bb += einsum(v.aabb.ooov, (0, 1, 2, 3), tmp80, (1, 0), (3, 2), optimize=True) * -1 - tmp133 = v.bbbb.oovv.transpose((1, 0, 3, 2)).copy() * -1 - tmp133 += v.bbbb.ovov.transpose((2, 0, 3, 1)) + l2new.aaaa += tmp189.transpose((2, 3, 1, 0)) * -1 + l2new.aaaa += tmp189.transpose((3, 2, 1, 0)) + del tmp189 + tmp172 = einsum(tmp171, (0, 1, 2, 3), l2.abab, (4, 3, 5, 1), (0, 5, 2, 4), optimize=True) + del tmp171 + l2new.aaaa += tmp172.transpose((3, 2, 0, 1)) * -1 + l2new.aaaa += tmp172.transpose((3, 2, 1, 0)) + l2new.aaaa += tmp172.transpose((2, 3, 0, 1)) + del tmp172 + tmp154 = einsum(v.aaaa.ooov, (0, 1, 2, 3), tmp3, (0, 4, 1, 5), (4, 2, 5, 3), optimize=True) * -1 + l2new.aaaa += tmp154.transpose((2, 3, 1, 0)) * 2 + l2new.aaaa += tmp154.transpose((2, 3, 0, 1)) * -2 + l2new.aaaa += tmp154.transpose((3, 2, 1, 0)) * -2 + l2new.aaaa += tmp154.transpose((3, 2, 0, 1)) * 2 + del tmp154 + tmp173 = einsum(v.aaaa.ovov, (0, 1, 2, 3), tmp63, (4, 0), (2, 4, 1, 3), optimize=True) * 2 + l2new.aaaa += tmp173.transpose((2, 3, 0, 1)) + l2new.aaaa += tmp173.transpose((3, 2, 0, 1)) * -1 + del tmp173 + tmp118 = l2.bbbb.transpose((3, 2, 1, 0)).copy() * -1 + tmp118 += einsum(tmp72, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 3, 4), optimize=True) + l1new.bb += einsum(v.bbbb.ovvv, (0, 1, 2, 3), tmp118, (4, 0, 2, 1), (3, 4), optimize=True) * -2 + del tmp118 + tmp133 = v.bbbb.ovov.transpose((2, 0, 3, 1)).copy() + tmp133 += v.bbbb.oovv.transpose((1, 0, 3, 2)) * -1 l1new.bb += einsum(tmp133, (0, 1, 2, 3), l1.bb, (2, 0), (3, 1), optimize=True) del tmp133 - tmp132 = v.bbbb.ooov.transpose((2, 1, 0, 3)).copy() * -1 - tmp132 += v.bbbb.ooov.transpose((1, 0, 2, 3)) - l1new.bb += einsum(tmp78, (0, 1), tmp132, (1, 0, 2, 3), (3, 2), optimize=True) * -1 - del tmp132 - tmp63 = tmp62.copy() * 0.5 - del tmp62 - tmp63 += tmp61 - del tmp61 - tmp63 += tmp60 * 0.5 - del tmp60 - tmp64 = einsum(tmp63, (0, 1), t1.aa, (0, 2), (1, 2), optimize=True) * 2 - tmp131 = tmp64.copy() - tmp59 = einsum(t2.abab, (0, 1, 2, 3), tmp36, (0, 4, 1, 3), (4, 2), optimize=True) - tmp131 += tmp59 - tmp58 = einsum(tmp3, (0, 1, 2, 3), t2.aaaa, (0, 1, 3, 4), (2, 4), optimize=True) - tmp131 += tmp58 * 2 - tmp57 = einsum(t2.abab, (0, 1, 2, 3), l1.bb, (3, 1), (0, 2), optimize=True) - tmp131 += tmp57 * -1 - tmp56 = einsum(l1.aa, (0, 1), t2.aaaa, (2, 1, 3, 0), (2, 3), optimize=True) - tmp131 += tmp56 * -2 - tmp131 += t1.aa * -1 - tmp131 += l1.aa.transpose((1, 0)) * -1 - l1new.bb += einsum(tmp131, (0, 1), v.aabb.ovov, (0, 1, 2, 3), (3, 2), optimize=True) * -1 - del tmp131 - tmp54 = tmp53.copy() - del tmp53 - tmp54 += tmp52 * 2 - del tmp52 - tmp51 = einsum(t1.aa, (0, 1), l1.aa, (2, 0), (2, 1), optimize=True) - tmp54 += tmp51 - del tmp51 - l1new.bb += einsum(v.bbaa.ovvv, (0, 1, 2, 3), tmp54, (3, 2), (1, 0), optimize=True) - tmp130 = einsum(t1.bb, (0, 1), tmp78, (0, 2), (2, 1), optimize=True) - tmp74 = einsum(tmp73, (0, 1, 2, 3), t2.bbbb, (0, 1, 3, 4), (2, 4), optimize=True) - tmp130 += tmp74 * 2 - tmp72 = einsum(t2.abab, (0, 1, 2, 3), tmp0, (0, 1, 4, 2), (4, 3), optimize=True) - tmp130 += tmp72 - tmp71 = einsum(t2.bbbb, (0, 1, 2, 3), l1.bb, (3, 1), (0, 2), optimize=True) - tmp130 += tmp71 * -2 - tmp70 = einsum(l1.aa, (0, 1), t2.abab, (1, 2, 0, 3), (2, 3), optimize=True) - tmp130 += tmp70 * -1 - tmp130 += t1.bb * -1 - l1new.bb += einsum(tmp130, (0, 1), tmp101, (0, 2, 3, 1), (3, 2), optimize=True) - del tmp101, tmp130 - tmp128 = tmp68.copy() - tmp128 += tmp67 * 0.5 - tmp66 = einsum(t1.bb, (0, 1), l1.bb, (2, 0), (2, 1), optimize=True) - tmp128 += tmp66 * 0.5 - l1new.bb += einsum(tmp129, (0, 1, 2, 3), tmp128, (2, 1), (3, 0), optimize=True) * -2 - del tmp129, tmp128 - tmp127 = tmp38.transpose((1, 0, 2, 3)).copy() - tmp127 += tmp37 + tmp126 = tmp124.transpose((1, 0, 3, 2)).copy() + tmp126 += tmp122.transpose((2, 1, 0, 3)) + l1new.bb += einsum(tmp126, (0, 1, 2, 3), v.bbbb.ooov, (2, 0, 3, 4), (4, 1), optimize=True) * 2 + del tmp126 + tmp127 = tmp37.copy() + tmp127 += tmp38.transpose((1, 0, 2, 3)) l1new.bb += einsum(tmp127, (0, 1, 2, 3), v.aabb.ooov, (1, 0, 3, 4), (4, 2), optimize=True) del tmp127 - tmp123 = einsum(t2.bbbb, (0, 1, 2, 3), tmp73, (4, 1, 5, 3), (4, 5, 0, 2), optimize=True) * -1 - tmp126 = tmp123.transpose((0, 2, 1, 3)).copy() - tmp122 = einsum(t2.abab, (0, 1, 2, 3), tmp0, (0, 4, 5, 2), (4, 5, 1, 3), optimize=True) - tmp126 += tmp122.transpose((0, 2, 1, 3)) * 0.25 - tmp126 += einsum(t2.bbbb, (0, 1, 2, 3), l1.bb, (3, 4), (4, 1, 0, 2), optimize=True) * -0.5 - l1new.bb += einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp126, (4, 0, 2, 3), (1, 4), optimize=True) * 4 - del tmp126 - tmp125 = einsum(tmp124, (0, 1, 2, 3), t1.bb, (0, 4), (3, 1, 2, 4), optimize=True) * 0.5 - del tmp124 - tmp125 += tmp123.transpose((2, 0, 1, 3)) - del tmp123 - tmp125 += tmp122.transpose((2, 0, 1, 3)) * 0.25 - del tmp122 - tmp125 += tmp73.transpose((1, 0, 2, 3)) * -0.5 - l1new.bb += einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp125, (0, 4, 2, 1), (3, 4), optimize=True) * -4 - del tmp125 - tmp121 = einsum(tmp0, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3), optimize=True) - tmp121 += einsum(t2.abab, (0, 1, 2, 3), l2.abab, (4, 3, 0, 5), (5, 1, 4, 2), optimize=True) - l1new.bb += einsum(v.bbaa.ovvv, (0, 1, 2, 3), tmp121, (4, 0, 3, 2), (1, 4), optimize=True) * -1 - del tmp121 - tmp120 = einsum(tmp73, (0, 1, 2, 3), t1.bb, (0, 4), (1, 2, 3, 4), optimize=True) * -1 - tmp120 += l2.bbbb.transpose((3, 2, 1, 0)) * -1 - l1new.bb += einsum(v.bbbb.ovvv, (0, 1, 2, 3), tmp120, (4, 0, 2, 1), (3, 4), optimize=True) * -2 - del tmp120 - tmp119 = einsum(tmp39, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 3, 4), optimize=True) * -1 - tmp119 += einsum(t2.abab, (0, 1, 2, 3), tmp73, (4, 1, 5, 3), (0, 4, 5, 2), optimize=True) * -2 - tmp119 += einsum(t2.abab, (0, 1, 2, 3), tmp36, (0, 4, 5, 3), (4, 5, 1, 2), optimize=True) * -1 - tmp119 += einsum(t2.aaaa, (0, 1, 2, 3), tmp0, (1, 4, 5, 3), (0, 4, 5, 2), optimize=True) * 2 - tmp119 += tmp0 - tmp119 += einsum(t2.abab, (0, 1, 2, 3), l1.bb, (3, 4), (0, 4, 1, 2), optimize=True) - l1new.bb += einsum(tmp119, (0, 1, 2, 3), v.aabb.ovov, (0, 3, 2, 4), (4, 1), optimize=True) * -1 + tmp128 = v.bbbb.ovvv.transpose((0, 1, 3, 2)).copy() * -1 + tmp128 += v.bbbb.ovvv.transpose((0, 3, 1, 2)) + tmp117 = einsum(t2.abab, (0, 1, 2, 3), l1.bb, (3, 4), (0, 4, 1, 2), optimize=True) + tmp117 += tmp0 + tmp117 += einsum(t2.aaaa, (0, 1, 2, 3), tmp0, (1, 4, 5, 3), (0, 4, 5, 2), optimize=True) * 2 + tmp117 += einsum(t2.abab, (0, 1, 2, 3), tmp36, (0, 4, 5, 3), (4, 5, 1, 2), optimize=True) * -1 + tmp117 += einsum(tmp72, (0, 1, 2, 3), t2.abab, (4, 1, 5, 3), (4, 0, 2, 5), optimize=True) * -2 + tmp117 += einsum(tmp39, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 3, 4), optimize=True) * -1 + l1new.bb += einsum(v.aabb.ovov, (0, 1, 2, 3), tmp117, (0, 4, 2, 1), (3, 4), optimize=True) * -1 + del tmp117 + tmp119 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 5, 1), (3, 4, 0, 5), optimize=True) + tmp119 += einsum(t1.aa, (0, 1), tmp0, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) + l1new.bb += einsum(v.bbaa.ovvv, (0, 1, 2, 3), tmp119, (4, 0, 3, 2), (1, 4), optimize=True) * -1 del tmp119 - l1new.bb += einsum(tmp115, (0, 1, 2, 3), tmp118, (4, 0, 3, 2), (1, 4), optimize=True) - del tmp118, tmp115 - tmp114 = einsum(t2.abab, (0, 1, 2, 3), l2.bbbb, (4, 3, 1, 5), (0, 5, 2, 4), optimize=True) * -2 - tmp114 += einsum(tmp36, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3), optimize=True) * -1 - tmp114 += einsum(t2.aaaa, (0, 1, 2, 3), l2.abab, (3, 4, 1, 5), (0, 5, 2, 4), optimize=True) * 2 - tmp114 += l2.abab.transpose((2, 3, 0, 1)) - l1new.bb += einsum(tmp114, (0, 1, 2, 3), v.aabb.ovvv, (0, 2, 3, 4), (4, 1), optimize=True) - del tmp114 - tmp112 = tmp111.transpose((3, 0, 2, 1)).copy() - tmp112 += tmp111.transpose((2, 0, 3, 1)) * -1 - del tmp111 - tmp112 += tmp110.transpose((2, 1, 3, 0)) * -1 - del tmp110 - tmp112 += tmp109.transpose((3, 1, 2, 0)) - del tmp109 - tmp112 += v.bbbb.oooo.transpose((2, 3, 1, 0)) - tmp113 = einsum(tmp112, (0, 1, 2, 3), t1.bb, (0, 4), (2, 3, 1, 4), optimize=True) - del tmp112 - tmp94 = einsum(t1.bb, (0, 1), v.bbbb.ovvv, (2, 3, 1, 4), (0, 2, 3, 4), optimize=True) - tmp108 = tmp94.transpose((0, 1, 3, 2)).copy() - tmp108 += v.bbbb.oovv.transpose((1, 0, 3, 2)) * -1 - tmp108 += v.bbbb.ovov.transpose((2, 0, 3, 1)) - tmp113 += einsum(tmp108, (0, 1, 2, 3), t1.bb, (4, 3), (1, 0, 4, 2), optimize=True) - del tmp108 - tmp113 += einsum(tmp103, (0, 1), t2.bbbb, (2, 3, 1, 4), (0, 3, 2, 4), optimize=True) - tmp113 += einsum(t2.abab, (0, 1, 2, 3), tmp19, (0, 4, 5, 2), (5, 1, 4, 3), optimize=True) - tmp107 = tmp98.transpose((0, 2, 1, 3)).copy() - tmp107 += tmp98 * -1 - tmp107 += v.bbbb.ooov.transpose((1, 2, 0, 3)) * -1 - tmp107 += v.bbbb.ooov.transpose((1, 0, 2, 3)) - tmp113 += einsum(tmp107, (0, 1, 2, 3), t2.bbbb, (2, 4, 3, 5), (1, 4, 0, 5), optimize=True) * 2 - del tmp107 - tmp113 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovvv, (4, 2, 3, 5), (4, 1, 0, 5), optimize=True) - tmp113 += v.bbbb.ooov.transpose((1, 0, 2, 3)) * -1 - l1new.bb += einsum(l2.bbbb, (0, 1, 2, 3), tmp113, (4, 2, 3, 0), (1, 4), optimize=True) * -2 - del tmp113 - tmp20 = einsum(tmp19, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 1, 2), optimize=True) - del tmp19 - tmp21 = tmp20.transpose((1, 0, 3, 2)).copy() - del tmp20 - tmp21 += tmp18.transpose((1, 0, 3, 2)) - del tmp18 - tmp21 += tmp17.transpose((1, 0, 3, 2)) - del tmp17 - tmp21 += v.aabb.oooo.transpose((1, 0, 3, 2)) - tmp106 = einsum(tmp21, (0, 1, 2, 3), t1.aa, (0, 4), (1, 3, 2, 4), optimize=True) * -1 - tmp105 = tmp104.transpose((1, 0, 3, 2)).copy() - del tmp104 - tmp105 += v.bbaa.oovv.transpose((1, 0, 3, 2)) - tmp106 += einsum(t1.aa, (0, 1), tmp105, (2, 3, 1, 4), (0, 3, 2, 4), optimize=True) - del tmp105 - tmp106 += einsum(t2.abab, (0, 1, 2, 3), tmp103, (4, 3), (0, 1, 4, 2), optimize=True) - del tmp103 - tmp10 = tmp9.transpose((1, 0, 2, 3)).copy() - tmp10 += v.aabb.ooov.transpose((1, 0, 2, 3)) - tmp106 += einsum(t2.abab, (0, 1, 2, 3), tmp10, (0, 4, 5, 3), (4, 1, 5, 2), optimize=True) * -1 - tmp106 += einsum(t2.aaaa, (0, 1, 2, 3), tmp8, (0, 4, 5, 2), (1, 5, 4, 3), optimize=True) * 2 - tmp99 = tmp98.transpose((2, 0, 1, 3)).copy() - tmp99 += tmp98.transpose((1, 0, 2, 3)) * -1 - del tmp98 - tmp99 += v.bbbb.ooov.transpose((2, 1, 0, 3)) * -1 - tmp99 += v.bbbb.ooov.transpose((1, 0, 2, 3)) - tmp106 += einsum(t2.abab, (0, 1, 2, 3), tmp99, (4, 5, 1, 3), (0, 5, 4, 2), optimize=True) - del tmp99 - tmp106 += einsum(t2.abab, (0, 1, 2, 3), v.bbaa.ovvv, (4, 3, 2, 5), (0, 1, 4, 5), optimize=True) - tmp106 += tmp7 + tmp113 = v.bbbb.ovvv.transpose((0, 1, 3, 2)).copy() + tmp113 += v.bbbb.ovvv.transpose((0, 3, 2, 1)) * -1 + l1new.bb += einsum(tmp113, (0, 1, 2, 3), tmp116, (4, 0, 2, 1), (3, 4), optimize=True) + del tmp116, tmp113 + tmp136 = f.bb.vv.transpose((1, 0)).copy() + tmp136 += tmp134.transpose((1, 0)) + del tmp134 + tmp136 += einsum(t1.bb, (0, 1), tmp135, (0, 2, 1, 3), (3, 2), optimize=True) * -1 + del tmp135 + l1new.bb += einsum(tmp136, (0, 1), l1.bb, (0, 2), (1, 2), optimize=True) + del tmp136 + tmp129 = t1.bb.copy() * -1 + tmp129 += tmp69 * -1 + tmp129 += tmp70 * -2 + tmp129 += tmp71 + tmp129 += tmp73 * 2 + tmp129 += tmp78 + l1new.bb += einsum(tmp99, (0, 1, 2, 3), tmp129, (0, 3), (2, 1), optimize=True) + del tmp99, tmp129 + tmp104 = v.aabb.ovoo.transpose((0, 3, 2, 1)).copy() + tmp104 += tmp7 del tmp7 - tmp106 += v.aabb.ovoo.transpose((0, 3, 2, 1)) - l1new.bb += einsum(tmp106, (0, 1, 2, 3), l2.abab, (3, 4, 0, 1), (4, 2), optimize=True) * -1 - del tmp106 - tmp97 = einsum(t1.aa, (0, 1), v.aabb.vvvv, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) - l1new.bb += einsum(tmp97, (0, 1, 2, 3), l2.abab, (1, 3, 0, 4), (2, 4), optimize=True) + tmp104 += einsum(v.bbaa.ovvv, (0, 1, 2, 3), t2.abab, (4, 5, 2, 1), (4, 5, 0, 3), optimize=True) + tmp104 += einsum(t2.abab, (0, 1, 2, 3), tmp97, (4, 5, 1, 3), (0, 5, 4, 2), optimize=True) del tmp97 - l1new.bb += einsum(tmp73, (0, 1, 2, 3), v.bbbb.oovv, (1, 2, 4, 3), (4, 0), optimize=True) * -2 - l1new.bb += einsum(tmp96, (0, 1, 2, 3), v.bbbb.ooov, (1, 2, 3, 4), (4, 0), optimize=True) * -2 - del tmp96 - l1new.bb += einsum(tmp95, (0, 1, 2, 3), v.bbbb.ooov, (3, 1, 2, 4), (4, 0), optimize=True) * 2 + tmp104 += einsum(tmp8, (0, 1, 2, 3), t2.aaaa, (0, 4, 3, 5), (4, 2, 1, 5), optimize=True) * 2 + tmp104 += einsum(t2.abab, (0, 1, 2, 3), tmp10, (0, 4, 5, 3), (4, 1, 5, 2), optimize=True) * -1 + tmp104 += einsum(tmp101, (0, 1), t2.abab, (2, 3, 4, 1), (2, 3, 0, 4), optimize=True) + tmp104 += einsum(tmp103, (0, 1, 2, 3), t1.aa, (4, 2), (4, 1, 0, 3), optimize=True) + del tmp103 + tmp104 += einsum(tmp21, (0, 1, 2, 3), t1.aa, (0, 4), (1, 3, 2, 4), optimize=True) * -1 + l1new.bb += einsum(l2.abab, (0, 1, 2, 3), tmp104, (2, 3, 4, 0), (1, 4), optimize=True) * -1 + del tmp104 + tmp68 = tmp65.copy() + del tmp65 + tmp68 += tmp66 + del tmp66 + tmp68 += tmp67 * 2 + del tmp67 + l1new.bb += einsum(tmp68, (0, 1), tmp128, (2, 3, 1, 0), (3, 2), optimize=True) * -1 + del tmp128 + l1new.aa += einsum(tmp68, (0, 1), v.aabb.ovvv, (2, 3, 1, 0), (3, 2), optimize=True) + del tmp68 + tmp95 = einsum(v.aabb.vvvv, (0, 1, 2, 3), t1.aa, (4, 1), (4, 0, 2, 3), optimize=True) + l1new.bb += einsum(l2.abab, (0, 1, 2, 3), tmp95, (2, 0, 4, 1), (4, 3), optimize=True) del tmp95 - l1new.bb += f.bb.ov.transpose((1, 0)) - l1new.bb += einsum(tmp73, (0, 1, 2, 3), tmp94, (1, 2, 4, 3), (4, 0), optimize=True) * 2 - del tmp73, tmp94 - l1new.bb += einsum(v.aabb.oovv, (0, 1, 2, 3), tmp36, (0, 1, 4, 3), (2, 4), optimize=True) * -1 tmp93 = einsum(t1.bb, (0, 1), v.bbbb.vvvv, (2, 3, 1, 4), (0, 2, 3, 4), optimize=True) l1new.bb += einsum(tmp93, (0, 1, 2, 3), l2.bbbb, (3, 2, 4, 0), (1, 4), optimize=True) * -2 del tmp93 - l1new.aa = einsum(l1.aa, (0, 1), tmp92, (1, 2), (0, 2), optimize=True) * -1 - del tmp92 - l1new.aa += einsum(tmp63, (0, 1), tmp14, (1, 2), (2, 0), optimize=True) * -2 + tmp112 = l2.abab.transpose((2, 3, 0, 1)).copy() * 0.5 + tmp112 += einsum(l2.abab, (0, 1, 2, 3), t2.aaaa, (4, 2, 5, 0), (4, 3, 5, 1), optimize=True) + tmp112 += einsum(t1.aa, (0, 1), tmp36, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) * -0.5 + tmp112 += einsum(l2.bbbb, (0, 1, 2, 3), t2.abab, (4, 2, 5, 1), (4, 3, 5, 0), optimize=True) * -1 + l1new.bb += einsum(v.aabb.ovvv, (0, 1, 2, 3), tmp112, (0, 4, 1, 2), (3, 4), optimize=True) * 2 + del tmp112 + tmp125 = tmp120.copy() * 0.25 + tmp125 += tmp121 + tmp125 += einsum(t1.bb, (0, 1), tmp124, (2, 0, 3, 4), (2, 4, 3, 1), optimize=True) * 0.5 + del tmp124 + l1new.bb += einsum(tmp125, (0, 1, 2, 3), v.bbbb.ovov, (2, 4, 1, 3), (4, 0), optimize=True) * 4 + del tmp125 + tmp111 = v.bbbb.ooov.transpose((1, 2, 0, 3)).copy() * 0.5 + tmp111 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovvv, (4, 2, 3, 5), (4, 1, 0, 5), optimize=True) * 0.5 + tmp111 += einsum(t2.bbbb, (0, 1, 2, 3), tmp105, (4, 5, 0, 2), (5, 1, 4, 3), optimize=True) + del tmp105 + tmp111 += einsum(t2.abab, (0, 1, 2, 3), tmp19, (0, 4, 5, 2), (5, 1, 4, 3), optimize=True) * 0.5 + del tmp19 + tmp111 += einsum(t2.bbbb, (0, 1, 2, 3), tmp101, (4, 2), (4, 1, 0, 3), optimize=True) * 0.5 + del tmp101 + tmp111 += einsum(tmp106, (0, 1, 2, 3), t1.bb, (4, 3), (1, 0, 4, 2), optimize=True) * 0.5 + del tmp106 + tmp111 += einsum(tmp110, (0, 1, 2, 3), t1.bb, (0, 4), (2, 1, 3, 4), optimize=True) * -0.5 + del tmp110 + l1new.bb += einsum(tmp111, (0, 1, 2, 3), l2.bbbb, (3, 4, 1, 2), (4, 0), optimize=True) * -4 + del tmp111 + tmp131 = l1.aa.transpose((1, 0)).copy() * -0.5 + tmp131 += t1.aa * -0.5 + tmp131 += tmp56 * -1 + tmp131 += tmp57 * -0.5 + tmp131 += tmp58 + tmp131 += tmp59 * 0.5 + tmp131 += einsum(tmp63, (0, 1), t1.aa, (0, 2), (1, 2), optimize=True) + l1new.bb += einsum(v.aabb.ovov, (0, 1, 2, 3), tmp131, (0, 1), (3, 2), optimize=True) * -2 + del tmp131 + tmp130 = tmp51.copy() * 0.5 + tmp130 += tmp52 + tmp130 += tmp53 * 0.5 + l1new.bb += einsum(tmp130, (0, 1), v.bbaa.ovvv, (2, 3, 1, 0), (3, 2), optimize=True) * 2 + del tmp130 + tmp123 = einsum(t2.bbbb, (0, 1, 2, 3), l1.bb, (3, 4), (4, 1, 0, 2), optimize=True) * -1 + tmp123 += tmp72.transpose((1, 0, 2, 3)) + del tmp72 + tmp123 += tmp120.transpose((0, 2, 1, 3)) * 0.5 + del tmp120 + tmp123 += tmp121.transpose((0, 2, 1, 3)) * 2 + del tmp121 + tmp123 += einsum(t1.bb, (0, 1), tmp122, (0, 2, 3, 4), (2, 3, 4, 1), optimize=True) * -1 + del tmp122 + l1new.bb += einsum(tmp123, (0, 1, 2, 3), v.bbbb.ovov, (1, 3, 2, 4), (4, 0), optimize=True) * -2 + del tmp123 + tmp22 = v.aabb.ooov.transpose((1, 0, 2, 3)).copy() + tmp22 += einsum(v.aabb.oovv, (0, 1, 2, 3), t1.bb, (4, 3), (1, 0, 4, 2), optimize=True) + tmp22 += einsum(v.aabb.ovvv, (0, 1, 2, 3), t2.abab, (4, 5, 1, 2), (4, 0, 5, 3), optimize=True) + tmp22 += einsum(tmp6, (0, 1, 2, 3), t2.abab, (2, 4, 3, 5), (1, 0, 4, 5), optimize=True) + del tmp6 + tmp22 += einsum(tmp8, (0, 1, 2, 3), t2.abab, (4, 1, 3, 5), (4, 0, 2, 5), optimize=True) * -1 + del tmp8 + tmp22 += einsum(tmp10, (0, 1, 2, 3), t2.bbbb, (2, 4, 3, 5), (1, 0, 4, 5), optimize=True) * 2 + del tmp10 + tmp22 += einsum(tmp14, (0, 1), t2.abab, (2, 3, 1, 4), (2, 0, 3, 4), optimize=True) + tmp22 += einsum(t1.aa, (0, 1), tmp16, (2, 3, 1, 4), (0, 2, 3, 4), optimize=True) + del tmp16 + tmp22 += einsum(tmp21, (0, 1, 2, 3), t1.bb, (2, 4), (1, 0, 3, 4), optimize=True) * -1 + del tmp21 + l1new.aa += einsum(tmp22, (0, 1, 2, 3), l2.abab, (4, 3, 0, 2), (4, 1), optimize=True) * -1 + del tmp22 + tmp64 = t1.aa.copy() * -1 + tmp64 += tmp56 * -2 + del tmp56 + tmp64 += tmp57 * -1 + del tmp57 + tmp64 += tmp58 * 2 + del tmp58 + tmp64 += tmp59 + del tmp59 + tmp64 += einsum(tmp63, (0, 1), t1.aa, (0, 2), (1, 2), optimize=True) * 2 del tmp63 - tmp85 = einsum(t1.aa, (0, 1), tmp84, (0, 2, 1, 3), (3, 2), optimize=True) * -1 - del tmp84 + l1new.aa += einsum(tmp12, (0, 1, 2, 3), tmp64, (0, 2), (3, 1), optimize=True) + del tmp12, tmp64 + tmp85 = f.aa.vv.transpose((1, 0)).copy() tmp85 += tmp83.transpose((1, 0)) del tmp83 - tmp85 += f.aa.vv.transpose((1, 0)) - l1new.aa += einsum(tmp85, (0, 1), l1.aa, (0, 2), (1, 2), optimize=True) + tmp85 += einsum(t1.aa, (0, 1), tmp84, (0, 1, 2, 3), (3, 2), optimize=True) * -1 + del tmp84 + l1new.aa += einsum(l1.aa, (0, 1), tmp85, (0, 2), (2, 1), optimize=True) del tmp85 - l1new.aa += einsum(v.aabb.ovoo, (0, 1, 2, 3), tmp78, (3, 2), (1, 0), optimize=True) * -1 - tmp82 = v.aaaa.oovv.transpose((1, 0, 3, 2)).copy() * -1 - tmp82 += v.aaaa.ovov.transpose((2, 0, 3, 1)) - l1new.aa += einsum(l1.aa, (0, 1), tmp82, (1, 2, 0, 3), (3, 2), optimize=True) - del tmp82 - tmp81 = v.aaaa.ooov.transpose((1, 2, 0, 3)).copy() - tmp81 += v.aaaa.ooov.transpose((1, 0, 2, 3)) * -1 - l1new.aa += einsum(tmp80, (0, 1), tmp81, (0, 2, 1, 3), (3, 2), optimize=True) * -1 - del tmp80, tmp81 - tmp79 = einsum(t1.bb, (0, 1), tmp78, (0, 2), (2, 1), optimize=True) * 0.5 - del tmp78 - tmp79 += tmp74 - del tmp74 - tmp79 += tmp72 * 0.5 - del tmp72 - tmp79 += tmp71 * -1 - del tmp71 - tmp79 += tmp70 * -0.5 - del tmp70 - tmp79 += t1.bb * -0.5 - tmp79 += l1.bb.transpose((1, 0)) * -0.5 - l1new.aa += einsum(v.aabb.ovov, (0, 1, 2, 3), tmp79, (2, 3), (1, 0), optimize=True) * -2 - del tmp79 - tmp69 = tmp68.copy() * 2 - del tmp68 - tmp69 += tmp67 - del tmp67 - tmp69 += tmp66 - del tmp66 - l1new.aa += einsum(tmp69, (0, 1), v.aabb.ovvv, (2, 3, 1, 0), (3, 2), optimize=True) - del tmp69 - tmp65 = tmp64.copy() - del tmp64 - tmp65 += tmp59 - del tmp59 - tmp65 += tmp58 * 2 - del tmp58 - tmp65 += tmp57 * -1 - del tmp57 - tmp65 += tmp56 * -2 - del tmp56 - tmp65 += t1.aa * -1 - l1new.aa += einsum(tmp12, (0, 1, 2, 3), tmp65, (0, 3), (2, 1), optimize=True) - del tmp12, tmp65 - l1new.aa += einsum(tmp54, (0, 1), tmp55, (2, 3, 1, 0), (3, 2), optimize=True) * -1 + tmp54 = tmp51.copy() + del tmp51 + tmp54 += tmp52 * 2 + del tmp52 + tmp54 += tmp53 + del tmp53 + l1new.aa += einsum(tmp54, (0, 1), tmp55, (2, 1, 0, 3), (3, 2), optimize=True) * -1 del tmp55, tmp54 - tmp50 = tmp38.transpose((0, 1, 3, 2)).copy() - del tmp38 - tmp50 += tmp37 - del tmp37 - l1new.aa += einsum(v.aabb.ovoo, (0, 1, 2, 3), tmp50, (4, 0, 3, 2), (1, 4), optimize=True) - del tmp50 - tmp49 = tmp47.transpose((2, 1, 0, 3)).copy() - tmp49 += tmp44.transpose((1, 0, 3, 2)) - l1new.aa += einsum(v.aaaa.ooov, (0, 1, 2, 3), tmp49, (1, 4, 0, 2), (3, 4), optimize=True) * 2 - del tmp49 - tmp45 = einsum(t2.abab, (0, 1, 2, 3), tmp36, (4, 5, 1, 3), (4, 5, 0, 2), optimize=True) - tmp48 = tmp45.transpose((2, 0, 1, 3)).copy() * 0.25 - tmp48 += einsum(tmp47, (0, 1, 2, 3), t1.aa, (0, 4), (3, 1, 2, 4), optimize=True) * 0.5 - del tmp47 - tmp43 = einsum(t2.aaaa, (0, 1, 2, 3), tmp3, (4, 1, 5, 3), (4, 5, 0, 2), optimize=True) * -1 - tmp48 += tmp43.transpose((2, 0, 1, 3)) - tmp48 += tmp3.transpose((1, 0, 2, 3)) * -0.5 - l1new.aa += einsum(v.aaaa.ovov, (0, 1, 2, 3), tmp48, (0, 4, 2, 1), (3, 4), optimize=True) * -4 + tmp41 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 0, 5), (2, 4, 1, 5), optimize=True) + tmp41 += einsum(tmp36, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 4, 3), optimize=True) + l1new.aa += einsum(tmp41, (0, 1, 2, 3), v.aabb.ovvv, (1, 4, 3, 2), (4, 0), optimize=True) * -1 + del tmp41 + tmp42 = l2.aaaa.transpose((3, 2, 1, 0)).copy() * -1 + tmp42 += einsum(tmp3, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 3, 4), optimize=True) + l1new.aa += einsum(v.aaaa.ovvv, (0, 1, 2, 3), tmp42, (4, 0, 2, 1), (3, 4), optimize=True) * -2 + del tmp42 + tmp48 = tmp43.copy() + tmp48 += einsum(tmp47, (0, 1, 2, 3), t1.aa, (1, 4), (0, 3, 2, 4), optimize=True) * 0.5 + tmp48 += tmp45 * 0.25 + l1new.aa += einsum(v.aaaa.ovov, (0, 1, 2, 3), tmp48, (4, 2, 0, 3), (1, 4), optimize=True) * 4 del tmp48 - tmp46 = tmp45.transpose((0, 2, 1, 3)).copy() * 0.25 - del tmp45 - tmp46 += einsum(tmp44, (0, 1, 2, 3), t1.aa, (1, 4), (0, 3, 2, 4), optimize=True) * -0.5 - del tmp44 + tmp46 = einsum(l1.aa, (0, 1), t2.aaaa, (2, 3, 4, 0), (1, 3, 2, 4), optimize=True) * -0.5 + tmp46 += tmp3.transpose((1, 0, 2, 3)) * 0.5 tmp46 += tmp43.transpose((0, 2, 1, 3)) del tmp43 - tmp46 += einsum(t2.aaaa, (0, 1, 2, 3), l1.aa, (3, 4), (4, 1, 0, 2), optimize=True) * -0.5 - l1new.aa += einsum(tmp46, (0, 1, 2, 3), v.aaaa.ovov, (1, 4, 2, 3), (4, 0), optimize=True) * 4 + tmp46 += einsum(tmp44, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 3, 4), optimize=True) * -0.5 + tmp46 += tmp45.transpose((0, 2, 1, 3)) * 0.25 + del tmp45 + l1new.aa += einsum(tmp46, (0, 1, 2, 3), v.aaaa.ovov, (1, 3, 2, 4), (4, 0), optimize=True) * -4 del tmp46 - tmp42 = einsum(tmp36, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 4, 3), optimize=True) - tmp42 += einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 4, 5, 1), (5, 0, 4, 3), optimize=True) - l1new.aa += einsum(tmp42, (0, 1, 2, 3), v.aabb.ovvv, (1, 4, 3, 2), (4, 0), optimize=True) * -1 - del tmp42 - tmp41 = einsum(t1.aa, (0, 1), tmp3, (0, 2, 3, 4), (2, 3, 4, 1), optimize=True) * -1 - tmp41 += l2.aaaa.transpose((3, 2, 1, 0)) * -1 - l1new.aa += einsum(v.aaaa.ovvv, (0, 1, 2, 3), tmp41, (4, 0, 2, 1), (3, 4), optimize=True) * -2 - del tmp41 - tmp40 = einsum(tmp39, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 3, 4), optimize=True) * -1 - del tmp39 - tmp40 += einsum(t2.abab, (0, 1, 2, 3), tmp0, (4, 1, 5, 2), (4, 0, 5, 3), optimize=True) * -1 - tmp40 += einsum(t2.bbbb, (0, 1, 2, 3), tmp36, (4, 5, 1, 3), (4, 5, 0, 2), optimize=True) * 2 - tmp40 += einsum(tmp3, (0, 1, 2, 3), t2.abab, (1, 4, 3, 5), (0, 2, 4, 5), optimize=True) * -2 - tmp40 += tmp36 - del tmp36 - tmp40 += einsum(l1.aa, (0, 1), t2.abab, (2, 3, 0, 4), (1, 2, 3, 4), optimize=True) - l1new.aa += einsum(tmp40, (0, 1, 2, 3), v.aabb.ovov, (1, 4, 2, 3), (4, 0), optimize=True) * -1 - del tmp40 - tmp32 = v.aaaa.ovvv.transpose((0, 3, 2, 1)).copy() * -1 - tmp32 += v.aaaa.ovvv.transpose((0, 1, 3, 2)) - l1new.aa += einsum(tmp35, (0, 1, 2, 3), tmp32, (1, 3, 2, 4), (4, 0), optimize=True) - del tmp35, tmp32 - tmp31 = einsum(t1.bb, (0, 1), tmp0, (2, 0, 3, 4), (2, 3, 4, 1), optimize=True) * -1 - tmp31 += einsum(t2.bbbb, (0, 1, 2, 3), l2.abab, (4, 3, 5, 1), (5, 0, 4, 2), optimize=True) * 2 + tmp82 = v.aaaa.ovov.transpose((2, 0, 3, 1)).copy() + tmp82 += v.aaaa.oovv.transpose((1, 0, 3, 2)) * -1 + l1new.aa += einsum(tmp82, (0, 1, 2, 3), l1.aa, (2, 0), (3, 1), optimize=True) + del tmp82 + tmp81 = v.aaaa.ooov.transpose((1, 0, 2, 3)).copy() + tmp81 += v.aaaa.ooov.transpose((2, 1, 0, 3)) * -1 + l1new.aa += einsum(tmp80, (0, 1), tmp81, (1, 0, 2, 3), (3, 2), optimize=True) * -1 + del tmp80, tmp81 + tmp31 = l2.abab.transpose((2, 3, 0, 1)).copy() tmp31 += einsum(t2.abab, (0, 1, 2, 3), l2.aaaa, (4, 2, 0, 5), (5, 1, 4, 3), optimize=True) * -2 - tmp31 += l2.abab.transpose((2, 3, 0, 1)) + tmp31 += einsum(t2.bbbb, (0, 1, 2, 3), l2.abab, (4, 3, 5, 1), (5, 0, 4, 2), optimize=True) * 2 + tmp31 += einsum(tmp0, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 3, 4), optimize=True) * -1 l1new.aa += einsum(tmp31, (0, 1, 2, 3), v.bbaa.ovvv, (1, 3, 2, 4), (4, 0), optimize=True) del tmp31 - tmp29 = tmp28.transpose((3, 0, 2, 1)).copy() - tmp29 += tmp28.transpose((2, 0, 3, 1)) * -1 - del tmp28 - tmp29 += tmp27.transpose((2, 1, 3, 0)) * -1 - del tmp27 - tmp29 += tmp26.transpose((3, 1, 2, 0)) - del tmp26 - tmp29 += v.aaaa.oooo.transpose((2, 3, 1, 0)) - tmp30 = einsum(tmp29, (0, 1, 2, 3), t1.aa, (0, 4), (2, 3, 1, 4), optimize=True) * 0.5 - del tmp29 - tmp4 = einsum(t1.aa, (0, 1), v.aaaa.ovvv, (2, 3, 1, 4), (0, 2, 3, 4), optimize=True) - tmp25 = tmp4.transpose((0, 1, 3, 2)).copy() - tmp25 += v.aaaa.oovv.transpose((1, 0, 3, 2)) * -1 - tmp25 += v.aaaa.ovov.transpose((2, 0, 3, 1)) - tmp30 += einsum(tmp25, (0, 1, 2, 3), t1.aa, (4, 3), (1, 0, 4, 2), optimize=True) * 0.5 - del tmp25 - tmp30 += einsum(t2.aaaa, (0, 1, 2, 3), tmp14, (4, 2), (4, 1, 0, 3), optimize=True) * 0.5 - tmp24 = tmp9.copy() - del tmp9 - tmp24 += v.aabb.ooov.transpose((1, 0, 2, 3)) - tmp30 += einsum(t2.abab, (0, 1, 2, 3), tmp24, (4, 5, 1, 3), (5, 0, 4, 2), optimize=True) * 0.5 - del tmp24 - tmp23 = tmp5.transpose((0, 2, 1, 3)).copy() - tmp23 += tmp5 * -1 - tmp23 += v.aaaa.ooov.transpose((1, 2, 0, 3)) * -1 - tmp23 += v.aaaa.ooov.transpose((1, 0, 2, 3)) - tmp30 += einsum(t2.aaaa, (0, 1, 2, 3), tmp23, (4, 5, 0, 2), (5, 1, 4, 3), optimize=True) + tmp79 = l1.bb.transpose((1, 0)).copy() * -1 + tmp79 += t1.bb * -1 + tmp79 += tmp69 * -1 + del tmp69 + tmp79 += tmp70 * -2 + del tmp70 + tmp79 += tmp71 + del tmp71 + tmp79 += tmp73 * 2 + del tmp73 + tmp79 += tmp78 + del tmp78 + l1new.aa += einsum(v.aabb.ovov, (0, 1, 2, 3), tmp79, (2, 3), (1, 0), optimize=True) * -1 + del tmp79 + tmp49 = tmp47.transpose((1, 0, 3, 2)).copy() + del tmp47 + tmp49 += tmp44.transpose((2, 1, 0, 3)) + del tmp44 + l1new.aa += einsum(v.aaaa.ooov, (0, 1, 2, 3), tmp49, (1, 4, 0, 2), (3, 4), optimize=True) * 2 + del tmp49 + tmp30 = v.aaaa.ooov.transpose((1, 2, 0, 3)).copy() + tmp30 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovvv, (4, 2, 3, 5), (4, 1, 0, 5), optimize=True) + tmp30 += einsum(tmp23, (0, 1, 2, 3), t2.aaaa, (2, 4, 3, 5), (1, 4, 0, 5), optimize=True) * 2 del tmp23 - tmp30 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovvv, (4, 2, 3, 5), (4, 1, 0, 5), optimize=True) * 0.5 - tmp30 += v.aaaa.ooov.transpose((1, 0, 2, 3)) * -0.5 - l1new.aa += einsum(tmp30, (0, 1, 2, 3), l2.aaaa, (3, 4, 1, 2), (4, 0), optimize=True) * -4 - del tmp30 - tmp22 = einsum(t1.bb, (0, 1), tmp21, (2, 3, 0, 4), (3, 2, 4, 1), optimize=True) * -0.5 - del tmp21 - tmp16 = tmp15.copy() - del tmp15 - tmp16 += v.aabb.ovov.transpose((0, 2, 1, 3)) - tmp22 += einsum(tmp16, (0, 1, 2, 3), t1.aa, (4, 2), (4, 0, 1, 3), optimize=True) * 0.5 - del tmp16 - tmp22 += einsum(t2.abab, (0, 1, 2, 3), tmp14, (4, 2), (0, 4, 1, 3), optimize=True) * 0.5 + tmp30 += einsum(t2.abab, (0, 1, 2, 3), tmp24, (4, 5, 1, 3), (5, 0, 4, 2), optimize=True) + del tmp24 + tmp30 += einsum(tmp14, (0, 1), t2.aaaa, (2, 3, 1, 4), (0, 3, 2, 4), optimize=True) del tmp14 - tmp22 += einsum(tmp10, (0, 1, 2, 3), t2.bbbb, (2, 4, 3, 5), (1, 0, 4, 5), optimize=True) - del tmp10 - tmp22 += einsum(t2.abab, (0, 1, 2, 3), tmp8, (4, 1, 5, 2), (0, 4, 5, 3), optimize=True) * -0.5 - del tmp8 - tmp6 = tmp5.transpose((2, 0, 1, 3)).copy() * -1 - tmp6 += tmp5.transpose((1, 0, 2, 3)) - del tmp5 - tmp6 += v.aaaa.ooov.transpose((2, 1, 0, 3)) - tmp6 += v.aaaa.ooov.transpose((1, 0, 2, 3)) * -1 - tmp22 += einsum(t2.abab, (0, 1, 2, 3), tmp6, (0, 4, 5, 2), (4, 5, 1, 3), optimize=True) * 0.5 - del tmp6 - tmp22 += einsum(v.aabb.ovvv, (0, 1, 2, 3), t2.abab, (4, 5, 1, 2), (4, 0, 5, 3), optimize=True) * 0.5 - tmp22 += einsum(v.aabb.oovv, (0, 1, 2, 3), t1.bb, (4, 3), (1, 0, 4, 2), optimize=True) * 0.5 - tmp22 += v.aabb.ooov.transpose((1, 0, 2, 3)) * 0.5 - l1new.aa += einsum(tmp22, (0, 1, 2, 3), l2.abab, (4, 3, 0, 2), (4, 1), optimize=True) * -2 - del tmp22 - l1new.aa += einsum(tmp3, (0, 1, 2, 3), v.aaaa.oovv, (1, 2, 4, 3), (4, 0), optimize=True) * -2 - l1new.aa += einsum(tmp3, (0, 1, 2, 3), tmp4, (1, 2, 4, 3), (4, 0), optimize=True) * 2 - del tmp3, tmp4 - l1new.aa += f.aa.ov.transpose((1, 0)) - tmp2 = einsum(t1.bb, (0, 1), v.aabb.vvvv, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) - l1new.aa += einsum(l2.abab, (0, 1, 2, 3), tmp2, (3, 4, 0, 1), (4, 2), optimize=True) - del tmp2 - tmp1 = einsum(t1.aa, (0, 1), v.aaaa.vvvv, (2, 3, 1, 4), (0, 2, 3, 4), optimize=True) - l1new.aa += einsum(l2.aaaa, (0, 1, 2, 3), tmp1, (3, 4, 1, 0), (4, 2), optimize=True) * -2 + tmp30 += einsum(tmp25, (0, 1, 2, 3), t1.aa, (4, 3), (1, 0, 4, 2), optimize=True) + del tmp25 + tmp30 += einsum(tmp29, (0, 1, 2, 3), t1.aa, (0, 4), (2, 1, 3, 4), optimize=True) * -1 + del tmp29 + l1new.aa += einsum(l2.aaaa, (0, 1, 2, 3), tmp30, (4, 2, 3, 0), (1, 4), optimize=True) * -2 + del tmp30 + tmp1 = einsum(v.aabb.vvvv, (0, 1, 2, 3), t1.bb, (4, 3), (4, 0, 1, 2), optimize=True) + l1new.aa += einsum(tmp1, (0, 1, 2, 3), l2.abab, (2, 3, 4, 0), (1, 4), optimize=True) del tmp1 - l1new.aa += einsum(tmp0, (0, 1, 2, 3), v.bbaa.oovv, (1, 2, 4, 3), (4, 0), optimize=True) * -1 + tmp40 = einsum(l1.aa, (0, 1), t2.abab, (2, 3, 0, 4), (1, 2, 3, 4), optimize=True) + tmp40 += tmp36 + tmp40 += einsum(tmp3, (0, 1, 2, 3), t2.abab, (1, 4, 3, 5), (0, 2, 4, 5), optimize=True) * -2 + del tmp3 + tmp40 += einsum(tmp36, (0, 1, 2, 3), t2.bbbb, (4, 2, 5, 3), (0, 1, 4, 5), optimize=True) * 2 + del tmp36 + tmp40 += einsum(tmp0, (0, 1, 2, 3), t2.abab, (4, 1, 3, 5), (0, 4, 2, 5), optimize=True) * -1 del tmp0 + tmp40 += einsum(tmp39, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 3, 4), optimize=True) * -1 + del tmp39 + l1new.aa += einsum(tmp40, (0, 1, 2, 3), v.aabb.ovov, (1, 4, 2, 3), (4, 0), optimize=True) * -1 + del tmp40 + tmp2 = einsum(t1.aa, (0, 1), v.aaaa.vvvv, (2, 3, 1, 4), (0, 2, 3, 4), optimize=True) + l1new.aa += einsum(l2.aaaa, (0, 1, 2, 3), tmp2, (3, 4, 1, 0), (4, 2), optimize=True) * -2 + del tmp2 + tmp50 = tmp37.copy() + del tmp37 + tmp50 += tmp38.transpose((0, 1, 3, 2)) + del tmp38 + l1new.aa += einsum(tmp50, (0, 1, 2, 3), v.aabb.ovoo, (1, 4, 3, 2), (4, 0), optimize=True) + del tmp50 + l1new.aa += f.aa.ov.transpose((1, 0)) + l1new.bb += f.bb.ov.transpose((1, 0)) + l2new.aaaa += v.aaaa.ovov.transpose((3, 1, 2, 0)) + l2new.aaaa += v.aaaa.ovov.transpose((1, 3, 2, 0)) * -1 + l2new.abab += v.aabb.ovov.transpose((1, 3, 0, 2)) + l2new.abab += einsum(v.aabb.ovvv, (0, 1, 2, 3), l1.bb, (3, 4), (1, 2, 0, 4), optimize=True) + l2new.abab += einsum(l1.aa, (0, 1), v.bbaa.ovvv, (2, 3, 4, 0), (4, 3, 1, 2), optimize=True) + l2new.bbbb += v.bbbb.ovov.transpose((3, 1, 2, 0)) + l2new.bbbb += v.bbbb.ovov.transpose((1, 3, 2, 0)) * -1 return {f"l1new": l1new, f"l2new": l2new} def make_rdm1_f(l1=None, l2=None, t1=None, t2=None, **kwargs): """ - Code generated by `albert` 0.0.0 on 2024-03-02T15:26:46.164774. + Code generated by `albert` 0.0.0 on 2024-07-18T20:19:40.623843. Parameters ---------- @@ -1900,66 +1973,66 @@ def make_rdm1_f(l1=None, l2=None, t1=None, t2=None, **kwargs): rdm1.aa = Namespace() rdm1.bb = Namespace() delta = Namespace( - aa=Namespace(oo=np.eye(t1.aa.shape[0]), vv=np.eye(t1.aa.shape[1])), - bb=Namespace(oo=np.eye(t1.bb.shape[0]), vv=np.eye(t1.bb.shape[1])), + aa=Namespace(oo=np.eye(t2.aaaa.shape[0]), vv=np.eye(t1.aaaa.shape[-1])), + bb=Namespace(oo=np.eye(t2.bbbb.shape[0]), vv=np.eye(t1.bbbb.shape[-1])), ) - rdm1.bb.vv = einsum(t1.bb, (0, 1), l1.bb, (2, 0), (2, 1), optimize=True) - rdm1.bb.vv += einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 4, 0, 1), (4, 3), optimize=True) - rdm1.bb.vv += einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (3, 4, 0, 1), (4, 2), optimize=True) * -2 - rdm1.aa.vv = einsum(t1.aa, (0, 1), l1.aa, (2, 0), (2, 1), optimize=True) - rdm1.aa.vv += einsum(t2.abab, (0, 1, 2, 3), l2.abab, (4, 3, 0, 1), (4, 2), optimize=True) - rdm1.aa.vv += einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (3, 4, 0, 1), (4, 2), optimize=True) * -2 - rdm1.bb.vo = l1.bb.copy() - rdm1.aa.vo = l1.aa.copy() + tmp5 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 3, 0, 4), (4, 1), optimize=True) + rdm1.bb.oo = tmp5.transpose((1, 0)).copy() * -1 + tmp3 = einsum(t1.bb, (0, 1), l1.bb, (1, 2), (2, 0), optimize=True) + rdm1.bb.oo += tmp3.transpose((1, 0)) * -1 tmp4 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (2, 3, 4, 1), (4, 0), optimize=True) - tmp11 = tmp4.copy() * 2 - tmp3 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 3, 0, 4), (4, 1), optimize=True) - tmp11 += tmp3 - tmp5 = einsum(t1.bb, (0, 1), l1.bb, (1, 2), (2, 0), optimize=True) + rdm1.bb.oo += tmp4.transpose((1, 0)) * -2 + tmp0 = einsum(l1.aa, (0, 1), t1.aa, (2, 0), (1, 2), optimize=True) + rdm1.aa.oo = tmp0.transpose((1, 0)).copy() * -1 + tmp1 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 3, 4, 1), (4, 0), optimize=True) + rdm1.aa.oo += tmp1.transpose((1, 0)) * -1 + tmp2 = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (2, 3, 4, 1), (4, 0), optimize=True) + rdm1.aa.oo += tmp2.transpose((1, 0)) * -2 + tmp9 = einsum(l2.bbbb, (0, 1, 2, 3), t1.bb, (4, 1), (2, 3, 4, 0), optimize=True) + rdm1.bb.ov = einsum(tmp9, (0, 1, 2, 3), t2.bbbb, (0, 1, 4, 3), (2, 4), optimize=True) * 2 + del tmp9 + tmp11 = tmp3.copy() + del tmp3 tmp11 += tmp5 - rdm1.bb.ov = einsum(t1.bb, (0, 1), tmp11, (0, 2), (2, 1), optimize=True) * -1 + del tmp5 + tmp11 += tmp4 * 2 + del tmp4 + rdm1.bb.ov += einsum(tmp11, (0, 1), t1.bb, (0, 2), (1, 2), optimize=True) * -1 del tmp11 - tmp10 = einsum(l2.bbbb, (0, 1, 2, 3), t1.bb, (4, 1), (2, 3, 4, 0), optimize=True) - rdm1.bb.ov += einsum(t2.bbbb, (0, 1, 2, 3), tmp10, (0, 1, 4, 3), (4, 2), optimize=True) * 2 + tmp10 = einsum(t1.bb, (0, 1), l2.abab, (2, 1, 3, 4), (3, 4, 0, 2), optimize=True) + rdm1.bb.ov += einsum(tmp10, (0, 1, 2, 3), t2.abab, (0, 1, 3, 4), (2, 4), optimize=True) * -1 del tmp10 - rdm1.bb.ov += einsum(t2.bbbb, (0, 1, 2, 3), l1.bb, (3, 1), (0, 2), optimize=True) * 2 - rdm1.bb.ov += einsum(l1.aa, (0, 1), t2.abab, (1, 2, 0, 3), (2, 3), optimize=True) - tmp9 = einsum(t1.bb, (0, 1), l2.abab, (2, 1, 3, 4), (3, 4, 0, 2), optimize=True) - rdm1.bb.ov += einsum(t2.abab, (0, 1, 2, 3), tmp9, (0, 1, 4, 2), (4, 3), optimize=True) * -1 - del tmp9 - rdm1.bb.ov += t1.bb - tmp2 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 3, 4, 1), (4, 0), optimize=True) - tmp8 = tmp2.copy() * 0.5 - tmp0 = einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 3, 0, 1), (2, 4), optimize=True) - tmp8 += tmp0 - tmp1 = einsum(l1.aa, (0, 1), t1.aa, (2, 0), (1, 2), optimize=True) - tmp8 += tmp1 * 0.5 - rdm1.aa.ov = einsum(tmp8, (0, 1), t1.aa, (0, 2), (1, 2), optimize=True) * -2 - del tmp8 - tmp7 = einsum(t1.aa, (0, 1), l2.aaaa, (2, 1, 3, 4), (3, 4, 0, 2), optimize=True) - rdm1.aa.ov += einsum(t2.aaaa, (0, 1, 2, 3), tmp7, (0, 1, 4, 3), (4, 2), optimize=True) * 2 + tmp7 = einsum(l2.aaaa, (0, 1, 2, 3), t1.aa, (4, 1), (2, 3, 4, 0), optimize=True) + rdm1.aa.ov = einsum(tmp7, (0, 1, 2, 3), t2.aaaa, (0, 1, 4, 3), (2, 4), optimize=True) * 2 del tmp7 - rdm1.aa.ov += einsum(t2.abab, (0, 1, 2, 3), l1.bb, (3, 1), (0, 2), optimize=True) - rdm1.aa.ov += einsum(l1.aa, (0, 1), t2.aaaa, (2, 1, 3, 0), (2, 3), optimize=True) * 2 - rdm1.aa.ov += t1.aa - tmp6 = einsum(t1.aa, (0, 1), l2.abab, (1, 2, 3, 4), (3, 0, 4, 2), optimize=True) - rdm1.aa.ov += einsum(tmp6, (0, 1, 2, 3), t2.abab, (0, 2, 4, 3), (1, 4), optimize=True) * -1 + tmp6 = einsum(l2.abab, (0, 1, 2, 3), t1.aa, (4, 0), (2, 4, 3, 1), optimize=True) + rdm1.aa.ov += einsum(t2.abab, (0, 1, 2, 3), tmp6, (0, 4, 1, 3), (4, 2), optimize=True) * -1 del tmp6 - rdm1.bb.oo = tmp5.transpose((1, 0)).copy() * -1 - del tmp5 - rdm1.bb.oo += tmp4.transpose((1, 0)) * -2 - del tmp4 - rdm1.bb.oo += tmp3.transpose((1, 0)) * -1 - del tmp3 - rdm1.bb.oo += delta.bb.oo.transpose((1, 0)) - rdm1.aa.oo = tmp2.transpose((1, 0)).copy() * -1 + tmp8 = tmp0.copy() * 0.5 + del tmp0 + tmp8 += tmp2 del tmp2 - rdm1.aa.oo += tmp1.transpose((1, 0)) * -1 + tmp8 += tmp1 * 0.5 del tmp1 - rdm1.aa.oo += tmp0.transpose((1, 0)) * -2 - del tmp0 + rdm1.aa.ov += einsum(tmp8, (0, 1), t1.aa, (0, 2), (1, 2), optimize=True) * -2 + del tmp8 rdm1.aa.oo += delta.aa.oo.transpose((1, 0)) + rdm1.bb.oo += delta.bb.oo.transpose((1, 0)) del delta + rdm1.aa.ov += einsum(l1.bb, (0, 1), t2.abab, (2, 1, 3, 0), (2, 3), optimize=True) + rdm1.aa.ov += t1.aa + rdm1.aa.ov += einsum(t2.aaaa, (0, 1, 2, 3), l1.aa, (3, 1), (0, 2), optimize=True) * 2 + rdm1.bb.ov += einsum(l1.aa, (0, 1), t2.abab, (1, 2, 0, 3), (2, 3), optimize=True) + rdm1.bb.ov += t1.bb + rdm1.bb.ov += einsum(t2.bbbb, (0, 1, 2, 3), l1.bb, (3, 1), (0, 2), optimize=True) * 2 + rdm1.aa.vo = l1.aa.copy() + rdm1.bb.vo = l1.bb.copy() + rdm1.aa.vv = einsum(l1.aa, (0, 1), t1.aa, (1, 2), (0, 2), optimize=True) + rdm1.aa.vv += einsum(t2.abab, (0, 1, 2, 3), l2.abab, (4, 3, 0, 1), (4, 2), optimize=True) + rdm1.aa.vv += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (2, 3, 4, 0), (1, 4), optimize=True) * -2 + rdm1.bb.vv = einsum(l1.bb, (0, 1), t1.bb, (1, 2), (0, 2), optimize=True) + rdm1.bb.vv += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (2, 3, 4, 0), (1, 4), optimize=True) * -2 + rdm1.bb.vv += einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 4, 0, 1), (4, 3), optimize=True) rdm1.aa = np.block([[rdm1.aa.oo, rdm1.aa.ov], [rdm1.aa.vo, rdm1.aa.vv]]) rdm1.bb = np.block([[rdm1.bb.oo, rdm1.bb.ov], [rdm1.bb.vo, rdm1.bb.vv]]) @@ -1967,7 +2040,7 @@ def make_rdm1_f(l1=None, l2=None, t1=None, t2=None, **kwargs): def make_rdm2_f(l1=None, l2=None, t1=None, t2=None, **kwargs): """ - Code generated by `albert` 0.0.0 on 2024-03-02T15:27:22.043395. + Code generated by `albert` 0.0.0 on 2024-07-18T20:20:17.522400. Parameters ---------- @@ -1991,652 +2064,629 @@ def make_rdm2_f(l1=None, l2=None, t1=None, t2=None, **kwargs): rdm2.abab = Namespace() rdm2.bbbb = Namespace() delta = Namespace( - aa=Namespace(oo=np.eye(t1.aa.shape[0]), vv=np.eye(t1.aa.shape[1])), - bb=Namespace(oo=np.eye(t1.bb.shape[0]), vv=np.eye(t1.bb.shape[1])), + aa=Namespace(oo=np.eye(t2.aaaa.shape[0]), vv=np.eye(t1.aaaa.shape[-1])), + bb=Namespace(oo=np.eye(t2.bbbb.shape[0]), vv=np.eye(t1.bbbb.shape[-1])), ) - tmp131 = einsum(t1.bb, (0, 1), l2.bbbb, (2, 3, 4, 0), (4, 2, 3, 1), optimize=True) + tmp13 = einsum(t1.bb, (0, 1), l2.abab, (2, 1, 3, 4), (3, 4, 0, 2), optimize=True) + rdm2.abab.vovv = einsum(tmp13, (0, 1, 2, 3), t2.abab, (0, 1, 4, 5), (3, 2, 4, 5), optimize=True) * -1 + rdm2.abab.vovo = einsum(tmp13, (0, 1, 2, 3), t1.aa, (0, 4), (3, 2, 4, 1), optimize=True) * -1 + rdm2.abab.vooo = tmp13.transpose((3, 2, 0, 1)).copy() * -1 + tmp18 = einsum(l2.bbbb, (0, 1, 2, 3), t1.bb, (4, 1), (2, 3, 4, 0), optimize=True) + rdm2.bbbb.vooo = tmp18.transpose((3, 2, 1, 0)).copy() * 2 + rdm2.bbbb.ovoo = tmp18.transpose((2, 3, 1, 0)).copy() * -2 + tmp9 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 3, 0, 4), (4, 1), optimize=True) + tmp10 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (2, 3, 4, 1), (4, 0), optimize=True) + tmp0 = einsum(l1.aa, (0, 1), t1.aa, (2, 0), (1, 2), optimize=True) + tmp1 = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (2, 3, 4, 1), (4, 0), optimize=True) + tmp2 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 3, 4, 1), (4, 0), optimize=True) + tmp8 = einsum(t1.bb, (0, 1), l1.bb, (1, 2), (2, 0), optimize=True) + tmp6 = einsum(l2.aaaa, (0, 1, 2, 3), t1.aa, (4, 1), (2, 3, 4, 0), optimize=True) + rdm2.aaaa.vooo = tmp6.transpose((3, 2, 1, 0)).copy() * 2 + rdm2.aaaa.ovoo = tmp6.transpose((2, 3, 1, 0)).copy() * -2 + tmp26 = einsum(l2.abab, (0, 1, 2, 3), t1.aa, (4, 0), (2, 4, 3, 1), optimize=True) + rdm2.abab.ovvv = einsum(tmp26, (0, 1, 2, 3), t2.abab, (0, 2, 4, 5), (1, 3, 4, 5), optimize=True) * -1 + rdm2.abab.ovov = einsum(tmp26, (0, 1, 2, 3), t1.bb, (2, 4), (1, 3, 0, 4), optimize=True) * -1 + rdm2.abab.ovoo = tmp26.transpose((1, 3, 0, 2)).copy() * -1 + tmp114 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 5), (3, 4, 1, 5), optimize=True) + rdm2.bbbb.vovo = tmp114.transpose((2, 1, 3, 0)).copy() * -1 + rdm2.bbbb.voov = tmp114.transpose((2, 1, 0, 3)).copy() + rdm2.bbbb.ovvo = tmp114.transpose((1, 2, 3, 0)).copy() + rdm2.bbbb.ovov = tmp114.transpose((1, 2, 0, 3)).copy() * -1 + tmp94 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (3, 4, 5, 1), (5, 0, 4, 2), optimize=True) * -1 + rdm2.bbbb.vovo += tmp94.transpose((2, 1, 3, 0)) * -4 + rdm2.bbbb.voov += tmp94.transpose((2, 1, 0, 3)) * 4 + rdm2.bbbb.ovvo += tmp94.transpose((1, 2, 3, 0)) * 4 + rdm2.bbbb.ovov += tmp94.transpose((1, 2, 0, 3)) * -4 + tmp65 = einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 3, 5, 0), (2, 4, 1, 5), optimize=True) * -1 + rdm2.aaaa.vovo = tmp65.transpose((2, 1, 3, 0)).copy() * -4 + rdm2.aaaa.voov = tmp65.transpose((2, 1, 0, 3)).copy() * 4 + rdm2.aaaa.ovvo = tmp65.transpose((1, 2, 3, 0)).copy() * 4 + rdm2.aaaa.ovov = tmp65.transpose((1, 2, 0, 3)).copy() * -4 + tmp86 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (4, 3, 5, 1), (5, 0, 4, 2), optimize=True) + rdm2.aaaa.vovo += tmp86.transpose((2, 1, 3, 0)) * -1 + rdm2.aaaa.voov += tmp86.transpose((2, 1, 0, 3)) + rdm2.aaaa.ovvo += tmp86.transpose((1, 2, 3, 0)) + rdm2.aaaa.ovov += tmp86.transpose((1, 2, 0, 3)) * -1 + tmp52 = einsum(t2.abab, (0, 1, 2, 3), tmp13, (0, 4, 5, 2), (4, 5, 1, 3), optimize=True) + rdm2.bbbb.oovo = tmp52.transpose((2, 1, 3, 0)).copy() * -1 + rdm2.bbbb.oovo += tmp52.transpose((1, 2, 3, 0)) + rdm2.bbbb.ooov = tmp52.transpose((2, 1, 0, 3)).copy() + rdm2.bbbb.ooov += tmp52.transpose((1, 2, 0, 3)) * -1 + tmp53 = einsum(tmp18, (0, 1, 2, 3), t2.bbbb, (4, 1, 5, 3), (0, 2, 4, 5), optimize=True) * -1 + rdm2.bbbb.oovo += tmp53.transpose((2, 1, 3, 0)) * -4 + rdm2.bbbb.oovo += tmp53.transpose((1, 2, 3, 0)) * 4 + rdm2.bbbb.ooov += tmp53.transpose((2, 1, 0, 3)) * 4 + rdm2.bbbb.ooov += tmp53.transpose((1, 2, 0, 3)) * -4 + tmp17 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (2, 3, 4, 5), (4, 5, 0, 1), optimize=True) + rdm2.bbbb.oooo = tmp17.transpose((3, 2, 1, 0)).copy() * 2 + tmp19 = einsum(tmp18, (0, 1, 2, 3), t1.bb, (4, 3), (0, 1, 4, 2), optimize=True) + rdm2.bbbb.oooo += tmp19.transpose((2, 3, 1, 0)) * -2 + tmp100 = tmp9.copy() * 0.5 + tmp100 += tmp10 + tmp28 = tmp0.copy() * 0.5 + tmp28 += tmp1 + tmp28 += tmp2 * 0.5 + rdm2.abab.oovv = einsum(tmp28, (0, 1), t2.abab, (0, 2, 3, 4), (1, 2, 3, 4), optimize=True) * -2 + rdm2.aaaa.oovo = einsum(t1.aa, (0, 1), tmp28, (2, 3), (0, 3, 1, 2), optimize=True) * -2 + rdm2.aaaa.oovo += einsum(tmp28, (0, 1), t1.aa, (2, 3), (1, 2, 3, 0), optimize=True) * 2 + rdm2.abab.ooov = einsum(tmp28, (0, 1), t1.bb, (2, 3), (1, 2, 0, 3), optimize=True) * -2 + tmp16 = tmp8.copy() + tmp16 += tmp9 + tmp16 += tmp10 * 2 + rdm2.abab.oovv += einsum(tmp16, (0, 1), t2.abab, (2, 0, 3, 4), (2, 1, 3, 4), optimize=True) * -1 + rdm2.bbbb.oovo += einsum(tmp16, (0, 1), t1.bb, (2, 3), (2, 1, 3, 0), optimize=True) * -1 + rdm2.bbbb.oovo += einsum(tmp16, (0, 1), t1.bb, (2, 3), (1, 2, 3, 0), optimize=True) + rdm2.abab.oovo = einsum(tmp16, (0, 1), t1.aa, (2, 3), (2, 1, 3, 0), optimize=True) * -1 + rdm2.bbbb.ooov += einsum(tmp16, (0, 1), t1.bb, (2, 3), (2, 1, 0, 3), optimize=True) + rdm2.bbbb.ooov += einsum(tmp16, (0, 1), t1.bb, (2, 3), (1, 2, 0, 3), optimize=True) * -1 + rdm2.bbbb.oooo += einsum(tmp16, (0, 1), delta.bb.oo, (2, 3), (3, 1, 0, 2), optimize=True) + rdm2.bbbb.oooo += einsum(delta.bb.oo, (0, 1), tmp16, (2, 3), (3, 1, 2, 0), optimize=True) * -1 + tmp12 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 3, 4, 5), (4, 0, 5, 1), optimize=True) + rdm2.abab.oooo = tmp12.transpose((1, 3, 0, 2)).copy() + tmp14 = einsum(tmp13, (0, 1, 2, 3), t1.aa, (4, 3), (0, 4, 1, 2), optimize=True) + rdm2.abab.oooo += tmp14.transpose((1, 3, 0, 2)) + tmp5 = einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 5, 0, 1), (2, 3, 4, 5), optimize=True) + rdm2.aaaa.oooo = tmp5.transpose((3, 2, 1, 0)).copy() * 2 + tmp7 = einsum(t1.aa, (0, 1), tmp6, (2, 3, 4, 1), (2, 3, 0, 4), optimize=True) + rdm2.aaaa.oooo += tmp7.transpose((2, 3, 1, 0)) * -2 + tmp32 = einsum(tmp26, (0, 1, 2, 3), t2.abab, (4, 2, 5, 3), (0, 1, 4, 5), optimize=True) + rdm2.aaaa.oovo += tmp32.transpose((2, 1, 3, 0)) * -1 + rdm2.aaaa.oovo += tmp32.transpose((1, 2, 3, 0)) + rdm2.aaaa.ooov = tmp32.transpose((2, 1, 0, 3)).copy() + rdm2.aaaa.ooov += tmp32.transpose((1, 2, 0, 3)) * -1 + tmp31 = einsum(tmp6, (0, 1, 2, 3), t2.aaaa, (4, 1, 5, 3), (0, 2, 4, 5), optimize=True) * -1 + rdm2.aaaa.oovo += tmp31.transpose((2, 1, 3, 0)) * -4 + rdm2.aaaa.oovo += tmp31.transpose((1, 2, 3, 0)) * 4 + rdm2.aaaa.ooov += tmp31.transpose((2, 1, 0, 3)) * 4 + rdm2.aaaa.ooov += tmp31.transpose((1, 2, 0, 3)) * -4 + tmp74 = tmp1.copy() * 2 + tmp74 += tmp2 + tmp83 = einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (2, 3, 4, 0), (1, 4), optimize=True) * -1 + tmp82 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 4, 0, 1), (4, 3), optimize=True) + tmp111 = einsum(l1.bb, (0, 1), t1.bb, (1, 2), (0, 2), optimize=True) + rdm2.bbbb.ovvv = einsum(t1.bb, (0, 1), tmp111, (2, 3), (0, 2, 3, 1), optimize=True) * -1 + rdm2.bbbb.ovvv += einsum(tmp111, (0, 1), t1.bb, (2, 3), (2, 0, 3, 1), optimize=True) + tmp124 = tmp114.copy() + del tmp114 + tmp124 += tmp94 * 4 + tmp115 = einsum(t1.bb, (0, 1), tmp18, (2, 0, 3, 4), (2, 3, 4, 1), optimize=True) + rdm2.bbbb.vovo += tmp115.transpose((2, 1, 3, 0)) * 2 + rdm2.bbbb.voov += tmp115.transpose((2, 1, 0, 3)) * -2 + rdm2.bbbb.ovvo += tmp115.transpose((1, 2, 3, 0)) * -2 + rdm2.bbbb.ovov += tmp115.transpose((1, 2, 0, 3)) * 2 + tmp96 = einsum(t2.bbbb, (0, 1, 2, 3), l2.abab, (4, 3, 5, 1), (5, 0, 4, 2), optimize=True) + rdm2.abab.voov = tmp96.transpose((2, 1, 0, 3)).copy() * 2 + tmp92 = einsum(l2.aaaa, (0, 1, 2, 3), t2.abab, (3, 4, 0, 5), (2, 4, 1, 5), optimize=True) * -1 + rdm2.abab.voov += tmp92.transpose((2, 1, 0, 3)) * 2 + tmp108 = einsum(l1.aa, (0, 1), t1.aa, (1, 2), (0, 2), optimize=True) + rdm2.aaaa.ovvv = einsum(t1.aa, (0, 1), tmp108, (2, 3), (0, 2, 3, 1), optimize=True) * -1 + rdm2.aaaa.ovvv += einsum(tmp108, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1), optimize=True) + tmp62 = einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (2, 3, 4, 0), (1, 4), optimize=True) * -1 + tmp63 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (4, 3, 0, 1), (4, 2), optimize=True) + tmp87 = tmp65.copy() * 4 + tmp87 += tmp86 + del tmp86 + rdm2.abab.oovv += einsum(tmp87, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) + tmp110 = einsum(tmp6, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 3, 4), optimize=True) + rdm2.aaaa.vovo += tmp110.transpose((2, 1, 3, 0)) * 2 + rdm2.aaaa.voov += tmp110.transpose((2, 1, 0, 3)) * -2 + rdm2.aaaa.ovvo += tmp110.transpose((1, 2, 3, 0)) * -2 + rdm2.aaaa.ovov += tmp110.transpose((1, 2, 0, 3)) * 2 + tmp67 = einsum(t2.abab, (0, 1, 2, 3), l2.bbbb, (3, 4, 5, 1), (0, 5, 2, 4), optimize=True) * -1 + rdm2.abab.ovvo = tmp67.transpose((0, 3, 2, 1)).copy() * 2 + tmp69 = einsum(l2.abab, (0, 1, 2, 3), t2.aaaa, (4, 2, 5, 0), (4, 3, 5, 1), optimize=True) + rdm2.abab.ovvo += tmp69.transpose((0, 3, 2, 1)) * 2 + tmp35 = einsum(l1.aa, (0, 1), t2.abab, (1, 2, 0, 3), (2, 3), optimize=True) + tmp36 = einsum(t2.bbbb, (0, 1, 2, 3), l1.bb, (3, 1), (0, 2), optimize=True) + tmp106 = tmp52.copy() + del tmp52 + tmp106 += tmp53 * 4 + del tmp53 + tmp54 = tmp17.transpose((1, 0, 3, 2)).copy() + del tmp17 + tmp54 += tmp19.transpose((0, 1, 3, 2)) * -1 + del tmp19 + rdm2.bbbb.oovv = einsum(t2.bbbb, (0, 1, 2, 3), tmp54, (0, 1, 4, 5), (5, 4, 3, 2), optimize=True) * 2 + tmp39 = einsum(t2.abab, (0, 1, 2, 3), tmp13, (0, 1, 4, 2), (4, 3), optimize=True) + tmp101 = einsum(t1.bb, (0, 1), tmp100, (0, 2), (2, 1), optimize=True) * 2 + del tmp100 + tmp40 = einsum(tmp18, (0, 1, 2, 3), t2.bbbb, (0, 1, 4, 3), (2, 4), optimize=True) * -1 + tmp49 = einsum(l1.bb, (0, 1), t2.bbbb, (2, 3, 4, 0), (1, 2, 3, 4), optimize=True) + rdm2.bbbb.oovo += tmp49.transpose((2, 1, 3, 0)) * 2 + rdm2.bbbb.ooov += tmp49.transpose((2, 1, 0, 3)) * -2 + tmp60 = einsum(t2.abab, (0, 1, 2, 3), tmp18, (4, 1, 5, 3), (0, 4, 5, 2), optimize=True) * -1 + rdm2.abab.oovo += tmp60.transpose((0, 2, 3, 1)) * -2 + tmp59 = einsum(tmp13, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 3), (4, 1, 2, 5), optimize=True) + rdm2.abab.oovo += tmp59.transpose((0, 2, 3, 1)) * -2 + tmp21 = einsum(l1.bb, (0, 1), t2.abab, (2, 1, 3, 0), (2, 3), optimize=True) + tmp20 = einsum(t2.aaaa, (0, 1, 2, 3), l1.aa, (3, 1), (0, 2), optimize=True) + tmp27 = einsum(t2.abab, (0, 1, 2, 3), tmp26, (0, 4, 1, 3), (4, 2), optimize=True) + tmp25 = einsum(tmp6, (0, 1, 2, 3), t2.aaaa, (0, 1, 4, 3), (2, 4), optimize=True) * -1 + tmp56 = einsum(tmp28, (0, 1), t1.aa, (0, 2), (1, 2), optimize=True) + tmp43 = einsum(tmp6, (0, 1, 2, 3), t2.abab, (1, 4, 3, 5), (0, 2, 4, 5), optimize=True) * -1 + rdm2.abab.ooov += tmp43.transpose((1, 2, 0, 3)) * -2 + tmp44 = einsum(t2.bbbb, (0, 1, 2, 3), tmp26, (4, 5, 1, 3), (4, 5, 0, 2), optimize=True) + rdm2.abab.ooov += tmp44.transpose((1, 2, 0, 3)) * -2 + tmp41 = einsum(tmp16, (0, 1), t1.bb, (0, 2), (1, 2), optimize=True) * 0.5 + tmp45 = tmp12.copy() + del tmp12 + tmp45 += tmp14 + del tmp14 + rdm2.abab.oovv += einsum(tmp45, (0, 1, 2, 3), t2.abab, (0, 2, 4, 5), (1, 3, 4, 5), optimize=True) + rdm2.abab.oovo += einsum(tmp45, (0, 1, 2, 3), t1.aa, (0, 4), (1, 3, 4, 2), optimize=True) + tmp33 = tmp5.transpose((1, 0, 3, 2)).copy() + del tmp5 + tmp33 += tmp7.transpose((0, 1, 3, 2)) * -1 + del tmp7 + rdm2.aaaa.oovv = einsum(t2.aaaa, (0, 1, 2, 3), tmp33, (0, 1, 4, 5), (5, 4, 3, 2), optimize=True) * 2 + tmp4 = tmp0.copy() + tmp4 += tmp1 * 2 + tmp4 += tmp2 + rdm2.aaaa.ooov += einsum(t1.aa, (0, 1), tmp4, (2, 3), (0, 3, 2, 1), optimize=True) + rdm2.aaaa.ooov += einsum(tmp4, (0, 1), t1.aa, (2, 3), (1, 2, 0, 3), optimize=True) * -1 + rdm2.abab.oooo += einsum(delta.bb.oo, (0, 1), tmp4, (2, 3), (3, 1, 2, 0), optimize=True) * -1 + rdm2.aaaa.oooo += einsum(delta.aa.oo, (0, 1), tmp4, (2, 3), (1, 3, 2, 0), optimize=True) + rdm2.aaaa.oooo += einsum(delta.aa.oo, (0, 1), tmp4, (2, 3), (3, 1, 2, 0), optimize=True) * -1 + tmp80 = tmp31.copy() * 4 + del tmp31 + tmp80 += tmp32 + del tmp32 + tmp75 = einsum(t1.aa, (0, 1), tmp74, (0, 2), (2, 1), optimize=True) * 0.5 + del tmp74 + tmp24 = einsum(l1.aa, (0, 1), t2.aaaa, (2, 3, 4, 0), (1, 2, 3, 4), optimize=True) + rdm2.aaaa.oovo += tmp24.transpose((2, 1, 3, 0)) * 2 + rdm2.aaaa.ooov += tmp24.transpose((2, 1, 0, 3)) * -2 + tmp50 = einsum(tmp16, (0, 1), t1.bb, (0, 2), (1, 2), optimize=True) + tmp29 = einsum(tmp28, (0, 1), t1.aa, (0, 2), (1, 2), optimize=True) * 2 + del tmp28 + tmp131 = einsum(l2.bbbb, (0, 1, 2, 3), t1.bb, (3, 4), (2, 0, 1, 4), optimize=True) rdm2.bbbb.vvvv = einsum(t1.bb, (0, 1), tmp131, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) * 2 - rdm2.bbbb.vvvv += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (2, 3, 4, 5), (1, 0, 5, 4), optimize=True) * 2 - tmp130 = einsum(t1.bb, (0, 1), l2.abab, (2, 3, 4, 0), (4, 2, 3, 1), optimize=True) - rdm2.abab.vvvv = einsum(t1.aa, (0, 1), tmp130, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) - rdm2.abab.vvvv += einsum(t2.abab, (0, 1, 2, 3), l2.abab, (4, 5, 0, 1), (4, 5, 2, 3), optimize=True) - tmp129 = einsum(t1.aa, (0, 1), l2.aaaa, (2, 3, 4, 0), (4, 2, 3, 1), optimize=True) - rdm2.aaaa.vvvv = einsum(t1.aa, (0, 1), tmp129, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) * 2 - rdm2.aaaa.vvvv += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (2, 3, 4, 5), (1, 0, 5, 4), optimize=True) * 2 rdm2.bbbb.vvvo = tmp131.transpose((2, 1, 3, 0)).copy() * 2 - rdm2.abab.vvvo = einsum(t1.aa, (0, 1), l2.abab, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) - rdm2.aaaa.vvvo = tmp129.transpose((2, 1, 3, 0)).copy() * 2 rdm2.bbbb.vvov = tmp131.transpose((2, 1, 0, 3)).copy() * -2 del tmp131 + tmp130 = einsum(l2.abab, (0, 1, 2, 3), t1.bb, (3, 4), (2, 0, 1, 4), optimize=True) + rdm2.abab.vvvv = einsum(tmp130, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3), optimize=True) rdm2.abab.vvov = tmp130.transpose((1, 2, 0, 3)).copy() del tmp130 + tmp129 = einsum(t1.aa, (0, 1), l2.aaaa, (2, 3, 4, 0), (4, 2, 3, 1), optimize=True) + rdm2.aaaa.vvvv = einsum(t1.aa, (0, 1), tmp129, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) * 2 + rdm2.aaaa.vvvo = tmp129.transpose((2, 1, 3, 0)).copy() * 2 rdm2.aaaa.vvov = tmp129.transpose((2, 1, 0, 3)).copy() * -2 del tmp129 - tmp17 = einsum(l2.bbbb, (0, 1, 2, 3), t1.bb, (4, 1), (2, 3, 4, 0), optimize=True) - tmp114 = einsum(tmp17, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 3, 4), optimize=True) - tmp128 = einsum(tmp114, (0, 1, 2, 3), t1.bb, (0, 4), (1, 2, 3, 4), optimize=True) * -1 - rdm2.bbbb.vovv = tmp128.transpose((1, 0, 3, 2)).copy() * 2 - tmp83 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (3, 4, 5, 1), (5, 0, 4, 2), optimize=True) * -1 - tmp84 = tmp83.copy() * 4 - tmp82 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 4, 0, 5), (5, 1, 4, 3), optimize=True) - tmp84 += tmp82 - tmp127 = einsum(t1.bb, (0, 1), tmp84, (0, 2, 3, 4), (2, 1, 3, 4), optimize=True) - rdm2.bbbb.vovv += tmp127.transpose((2, 0, 3, 1)) * -1 - rdm2.bbbb.vovv += tmp127.transpose((2, 0, 1, 3)) - tmp77 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (3, 4, 0, 1), (4, 2), optimize=True) * -1 - tmp113 = tmp77.copy() * 2 - tmp76 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 4, 0, 1), (4, 3), optimize=True) - tmp113 += tmp76 - tmp110 = einsum(t1.bb, (0, 1), l1.bb, (2, 0), (2, 1), optimize=True) - tmp113 += tmp110 - rdm2.bbbb.vovv += einsum(t1.bb, (0, 1), tmp113, (2, 3), (2, 0, 3, 1), optimize=True) - rdm2.bbbb.vovv += einsum(tmp113, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1), optimize=True) * -1 - tmp126 = einsum(l1.bb, (0, 1), t2.bbbb, (2, 1, 3, 4), (2, 0, 3, 4), optimize=True) + tmp112 = tmp111.copy() + tmp112 += tmp82 + tmp112 += tmp83 * 2 + rdm2.bbbb.vovv = einsum(tmp112, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3), optimize=True) + rdm2.bbbb.vovv += einsum(tmp112, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1), optimize=True) * -1 + rdm2.abab.ovvv += einsum(tmp112, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1), optimize=True) + rdm2.bbbb.voov += einsum(tmp112, (0, 1), delta.bb.oo, (2, 3), (0, 3, 2, 1), optimize=True) * -1 + rdm2.bbbb.ovov += einsum(tmp112, (0, 1), delta.bb.oo, (2, 3), (3, 0, 2, 1), optimize=True) + rdm2.abab.ovov += einsum(tmp112, (0, 1), delta.aa.oo, (2, 3), (3, 0, 2, 1), optimize=True) + del tmp112 + tmp125 = einsum(tmp124, (0, 1, 2, 3), t1.bb, (0, 4), (1, 4, 2, 3), optimize=True) + del tmp124 + rdm2.bbbb.vovv += tmp125.transpose((2, 0, 3, 1)) * -1 + rdm2.bbbb.vovv += tmp125.transpose((2, 0, 1, 3)) + rdm2.bbbb.ovvv += tmp125.transpose((0, 2, 3, 1)) + rdm2.bbbb.ovvv += tmp125.transpose((0, 2, 1, 3)) * -1 + del tmp125 + tmp123 = einsum(t2.bbbb, (0, 1, 2, 3), l1.bb, (4, 1), (0, 4, 2, 3), optimize=True) + rdm2.bbbb.vovv += tmp123.transpose((1, 0, 3, 2)) * 2 + rdm2.bbbb.ovvv += tmp123.transpose((0, 1, 3, 2)) * -2 + del tmp123 + tmp126 = einsum(tmp18, (0, 1, 2, 3), t2.bbbb, (0, 1, 4, 5), (2, 3, 4, 5), optimize=True) + del tmp18 rdm2.bbbb.vovv += tmp126.transpose((1, 0, 3, 2)) * 2 - tmp125 = einsum(tmp17, (0, 1, 2, 3), t2.bbbb, (0, 1, 4, 5), (2, 3, 4, 5), optimize=True) - rdm2.bbbb.vovv += tmp125.transpose((1, 0, 3, 2)) * 2 - tmp13 = einsum(t1.bb, (0, 1), l2.abab, (2, 1, 3, 4), (3, 4, 0, 2), optimize=True) - tmp117 = einsum(t1.bb, (0, 1), tmp13, (2, 0, 3, 4), (2, 3, 4, 1), optimize=True) - rdm2.abab.vovv = einsum(t1.aa, (0, 1), tmp117, (0, 2, 3, 4), (3, 2, 1, 4), optimize=True) * -1 - tmp90 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (4, 3, 0, 5), (5, 1, 4, 2), optimize=True) - rdm2.abab.vovv += einsum(t1.bb, (0, 1), tmp90, (0, 2, 3, 4), (3, 2, 4, 1), optimize=True) * -1 - tmp80 = einsum(t2.bbbb, (0, 1, 2, 3), l2.abab, (4, 3, 5, 1), (5, 0, 4, 2), optimize=True) - tmp81 = tmp80.copy() - tmp79 = einsum(t2.abab, (0, 1, 2, 3), l2.aaaa, (2, 4, 5, 0), (5, 1, 4, 3), optimize=True) * -1 - tmp81 += tmp79 - rdm2.abab.vovv += einsum(t1.aa, (0, 1), tmp81, (0, 2, 3, 4), (3, 2, 1, 4), optimize=True) * 2 - tmp57 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (4, 3, 0, 1), (4, 2), optimize=True) - tmp108 = tmp57.copy() - tmp56 = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (3, 4, 0, 1), (4, 2), optimize=True) * -1 - tmp108 += tmp56 * 2 - tmp107 = einsum(t1.aa, (0, 1), l1.aa, (2, 0), (2, 1), optimize=True) - tmp108 += tmp107 - rdm2.abab.vovv += einsum(tmp108, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3), optimize=True) - rdm2.abab.vovv += einsum(l1.aa, (0, 1), t2.abab, (1, 2, 3, 4), (0, 2, 3, 4), optimize=True) - rdm2.abab.vovv += einsum(tmp13, (0, 1, 2, 3), t2.abab, (0, 1, 4, 5), (3, 2, 4, 5), optimize=True) * -1 - tmp6 = einsum(t1.aa, (0, 1), l2.aaaa, (2, 1, 3, 4), (3, 4, 0, 2), optimize=True) - tmp109 = einsum(tmp6, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 3, 4), optimize=True) - tmp123 = einsum(t1.aa, (0, 1), tmp109, (0, 2, 3, 4), (2, 3, 4, 1), optimize=True) * -1 - rdm2.aaaa.vovv = tmp123.transpose((1, 0, 3, 2)).copy() * 2 - tmp64 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (4, 3, 5, 1), (5, 0, 4, 2), optimize=True) - tmp121 = tmp64.copy() - tmp62 = einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 3, 5, 0), (2, 4, 1, 5), optimize=True) * -1 - tmp121 += tmp62 * 4 - tmp122 = einsum(tmp121, (0, 1, 2, 3), t1.aa, (0, 4), (1, 4, 2, 3), optimize=True) - del tmp121 - rdm2.aaaa.vovv += tmp122.transpose((2, 0, 3, 1)) * -1 - rdm2.aaaa.vovv += tmp122.transpose((2, 0, 1, 3)) - rdm2.aaaa.vovv += einsum(t1.aa, (0, 1), tmp108, (2, 3), (2, 0, 3, 1), optimize=True) - rdm2.aaaa.vovv += einsum(t1.aa, (0, 1), tmp108, (2, 3), (2, 0, 1, 3), optimize=True) * -1 - tmp120 = einsum(t2.aaaa, (0, 1, 2, 3), l1.aa, (4, 1), (0, 4, 2, 3), optimize=True) - rdm2.aaaa.vovv += tmp120.transpose((1, 0, 3, 2)) * 2 - tmp119 = einsum(tmp6, (0, 1, 2, 3), t2.aaaa, (0, 1, 4, 5), (2, 3, 4, 5), optimize=True) - rdm2.aaaa.vovv += tmp119.transpose((1, 0, 3, 2)) * 2 - rdm2.bbbb.ovvv = tmp128.transpose((0, 1, 3, 2)).copy() * -2 - del tmp128 - rdm2.bbbb.ovvv += tmp127.transpose((0, 2, 3, 1)) - rdm2.bbbb.ovvv += tmp127.transpose((0, 2, 1, 3)) * -1 - del tmp127 - rdm2.bbbb.ovvv += einsum(t1.bb, (0, 1), tmp110, (2, 3), (0, 2, 3, 1), optimize=True) * -1 - rdm2.bbbb.ovvv += einsum(tmp110, (0, 1), t1.bb, (2, 3), (2, 0, 3, 1), optimize=True) - tmp78 = tmp77.copy() * 2 - tmp78 += tmp76 - rdm2.bbbb.ovvv += einsum(t1.bb, (0, 1), tmp78, (2, 3), (0, 2, 3, 1), optimize=True) * -1 - rdm2.bbbb.ovvv += einsum(tmp78, (0, 1), t1.bb, (2, 3), (2, 0, 3, 1), optimize=True) rdm2.bbbb.ovvv += tmp126.transpose((0, 1, 3, 2)) * -2 del tmp126 - rdm2.bbbb.ovvv += tmp125.transpose((0, 1, 3, 2)) * -2 - del tmp125 - tmp22 = einsum(t1.aa, (0, 1), l2.abab, (1, 2, 3, 4), (3, 0, 4, 2), optimize=True) - tmp116 = einsum(tmp22, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3), optimize=True) - rdm2.abab.ovvv = einsum(t1.bb, (0, 1), tmp116, (2, 0, 3, 4), (2, 4, 3, 1), optimize=True) * -1 - tmp60 = einsum(l2.bbbb, (0, 1, 2, 3), t2.abab, (4, 3, 5, 0), (4, 2, 5, 1), optimize=True) * -1 - tmp124 = tmp60.copy() - tmp115 = einsum(t2.aaaa, (0, 1, 2, 3), l2.abab, (3, 4, 1, 5), (0, 5, 2, 4), optimize=True) - tmp124 += tmp115 - rdm2.abab.ovvv += einsum(t1.bb, (0, 1), tmp124, (2, 0, 3, 4), (2, 4, 3, 1), optimize=True) * 2 - del tmp124 - tmp112 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 4, 5, 1), (5, 0, 4, 3), optimize=True) - rdm2.abab.ovvv += einsum(tmp112, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3), optimize=True) * -1 - tmp111 = tmp77.copy() - tmp111 += tmp76 * 0.5 - tmp111 += tmp110 * 0.5 + tmp127 = einsum(t1.bb, (0, 1), tmp115, (0, 2, 3, 4), (2, 3, 4, 1), optimize=True) * -1 + del tmp115 + rdm2.bbbb.vovv += tmp127.transpose((1, 0, 3, 2)) * 2 + rdm2.bbbb.ovvv += tmp127.transpose((0, 1, 3, 2)) * -2 + del tmp127 + tmp118 = einsum(t1.bb, (0, 1), tmp13, (2, 0, 3, 4), (2, 3, 4, 1), optimize=True) + rdm2.abab.vovv += einsum(tmp118, (0, 1, 2, 3), t1.aa, (0, 4), (2, 1, 4, 3), optimize=True) * -1 + rdm2.abab.voov += tmp118.transpose((2, 1, 0, 3)) * -1 + del tmp118 + tmp88 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 5, 1), (3, 4, 0, 5), optimize=True) + rdm2.abab.vovv += einsum(tmp88, (0, 1, 2, 3), t1.bb, (0, 4), (2, 1, 3, 4), optimize=True) * -1 + rdm2.abab.vovo += tmp88.transpose((2, 1, 3, 0)) * -1 + rdm2.abab.oovv += einsum(tmp88, (0, 1, 2, 3), t2.abab, (4, 0, 2, 5), (4, 1, 3, 5), optimize=True) + del tmp88 + tmp128 = tmp92.copy() + tmp128 += tmp96 + rdm2.abab.vovv += einsum(tmp128, (0, 1, 2, 3), t1.aa, (0, 4), (2, 1, 4, 3), optimize=True) * 2 + del tmp128 + tmp109 = tmp108.copy() + del tmp108 + tmp109 += tmp62 * 2 + tmp109 += tmp63 + rdm2.abab.vovv += einsum(t1.bb, (0, 1), tmp109, (2, 3), (2, 0, 3, 1), optimize=True) + rdm2.aaaa.vovv = einsum(t1.aa, (0, 1), tmp109, (2, 3), (2, 0, 3, 1), optimize=True) + rdm2.aaaa.vovv += einsum(tmp109, (0, 1), t1.aa, (2, 3), (0, 2, 3, 1), optimize=True) * -1 + rdm2.abab.vovo += einsum(delta.bb.oo, (0, 1), tmp109, (2, 3), (2, 1, 3, 0), optimize=True) + rdm2.aaaa.vovo += einsum(delta.aa.oo, (0, 1), tmp109, (2, 3), (2, 1, 3, 0), optimize=True) + rdm2.aaaa.voov += einsum(delta.aa.oo, (0, 1), tmp109, (2, 3), (2, 1, 0, 3), optimize=True) * -1 + rdm2.aaaa.ovvo += einsum(delta.aa.oo, (0, 1), tmp109, (2, 3), (1, 2, 3, 0), optimize=True) * -1 + rdm2.aaaa.ovov += einsum(delta.aa.oo, (0, 1), tmp109, (2, 3), (1, 2, 0, 3), optimize=True) + del tmp109 + tmp120 = einsum(tmp87, (0, 1, 2, 3), t1.aa, (0, 4), (1, 4, 2, 3), optimize=True) + del tmp87 + rdm2.aaaa.vovv += tmp120.transpose((2, 0, 3, 1)) * -1 + rdm2.aaaa.vovv += tmp120.transpose((2, 0, 1, 3)) + rdm2.aaaa.ovvv += tmp120.transpose((0, 2, 3, 1)) + rdm2.aaaa.ovvv += tmp120.transpose((0, 2, 1, 3)) * -1 + del tmp120 + tmp122 = einsum(t1.aa, (0, 1), tmp110, (0, 2, 3, 4), (2, 3, 4, 1), optimize=True) * -1 del tmp110 - rdm2.abab.ovvv += einsum(t1.aa, (0, 1), tmp111, (2, 3), (0, 2, 1, 3), optimize=True) * 2 - rdm2.abab.ovvv += einsum(tmp22, (0, 1, 2, 3), t2.abab, (0, 2, 4, 5), (1, 3, 4, 5), optimize=True) * -1 - rdm2.abab.ovvv += einsum(l1.bb, (0, 1), t2.abab, (2, 1, 3, 4), (2, 0, 3, 4), optimize=True) - rdm2.aaaa.ovvv = tmp123.transpose((0, 1, 3, 2)).copy() * -2 - del tmp123 - rdm2.aaaa.ovvv += tmp122.transpose((0, 2, 3, 1)) - rdm2.aaaa.ovvv += tmp122.transpose((0, 2, 1, 3)) * -1 + rdm2.aaaa.vovv += tmp122.transpose((1, 0, 3, 2)) * 2 + rdm2.aaaa.ovvv += tmp122.transpose((0, 1, 3, 2)) * -2 del tmp122 - rdm2.aaaa.ovvv += einsum(t1.aa, (0, 1), tmp107, (2, 3), (0, 2, 3, 1), optimize=True) * -1 - rdm2.aaaa.ovvv += einsum(t1.aa, (0, 1), tmp107, (2, 3), (0, 2, 1, 3), optimize=True) - tmp58 = tmp57.copy() * 0.5 - tmp58 += tmp56 - rdm2.aaaa.ovvv += einsum(t1.aa, (0, 1), tmp58, (2, 3), (0, 2, 3, 1), optimize=True) * -2 - rdm2.aaaa.ovvv += einsum(t1.aa, (0, 1), tmp58, (2, 3), (0, 2, 1, 3), optimize=True) * 2 - rdm2.aaaa.ovvv += tmp120.transpose((0, 1, 3, 2)) * -2 - del tmp120 + tmp121 = einsum(tmp6, (0, 1, 2, 3), t2.aaaa, (0, 1, 4, 5), (2, 3, 4, 5), optimize=True) + del tmp6 + rdm2.aaaa.vovv += tmp121.transpose((1, 0, 3, 2)) * 2 + rdm2.aaaa.ovvv += tmp121.transpose((0, 1, 3, 2)) * -2 + del tmp121 + tmp119 = einsum(l1.aa, (0, 1), t2.aaaa, (2, 1, 3, 4), (2, 0, 3, 4), optimize=True) + rdm2.aaaa.vovv += tmp119.transpose((1, 0, 3, 2)) * 2 rdm2.aaaa.ovvv += tmp119.transpose((0, 1, 3, 2)) * -2 del tmp119 - rdm2.bbbb.vvoo = l2.bbbb.transpose((1, 0, 3, 2)).copy() * 2 - rdm2.abab.vvoo = l2.abab.copy() - rdm2.aaaa.vvoo = l2.aaaa.transpose((1, 0, 3, 2)).copy() * 2 - rdm2.bbbb.vovo = tmp114.transpose((2, 1, 3, 0)).copy() * 2 - rdm2.bbbb.vovo += tmp83.transpose((2, 1, 3, 0)) * -4 - rdm2.bbbb.vovo += einsum(t1.bb, (0, 1), l1.bb, (2, 3), (2, 0, 1, 3), optimize=True) * -1 - rdm2.bbbb.vovo += tmp82.transpose((2, 1, 3, 0)) * -1 - rdm2.bbbb.vovo += einsum(delta.bb.oo, (0, 1), tmp113, (2, 3), (2, 1, 3, 0), optimize=True) - rdm2.abab.vovo = einsum(t1.aa, (0, 1), tmp13, (0, 2, 3, 4), (4, 3, 1, 2), optimize=True) * -1 - rdm2.abab.vovo += tmp90.transpose((2, 1, 3, 0)) * -1 - tmp118 = tmp57.copy() * 0.5 - del tmp57 - tmp118 += tmp56 - del tmp56 - tmp118 += tmp107 * 0.5 - del tmp107 - rdm2.abab.vovo += einsum(tmp118, (0, 1), delta.bb.oo, (2, 3), (0, 3, 1, 2), optimize=True) * 2 - del tmp118 - rdm2.aaaa.vovo = tmp109.transpose((2, 1, 3, 0)).copy() * 2 - rdm2.aaaa.vovo += einsum(t1.aa, (0, 1), l1.aa, (2, 3), (2, 0, 1, 3), optimize=True) * -1 - rdm2.aaaa.vovo += tmp64.transpose((2, 1, 3, 0)) * -1 - rdm2.aaaa.vovo += tmp62.transpose((2, 1, 3, 0)) * -4 - rdm2.aaaa.vovo += einsum(delta.aa.oo, (0, 1), tmp108, (2, 3), (2, 1, 3, 0), optimize=True) - rdm2.bbbb.voov = tmp114.transpose((2, 1, 0, 3)).copy() * -2 - rdm2.bbbb.voov += tmp83.transpose((2, 1, 0, 3)) * 4 - rdm2.bbbb.voov += einsum(t1.bb, (0, 1), l1.bb, (2, 3), (2, 0, 3, 1), optimize=True) - rdm2.bbbb.voov += tmp82.transpose((2, 1, 0, 3)) - rdm2.bbbb.voov += einsum(delta.bb.oo, (0, 1), tmp113, (2, 3), (2, 1, 0, 3), optimize=True) * -1 - rdm2.abab.voov = tmp117.transpose((2, 1, 0, 3)).copy() * -1 - del tmp117 - rdm2.abab.voov += einsum(l1.aa, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3), optimize=True) - rdm2.abab.voov += tmp80.transpose((2, 1, 0, 3)) * 2 - rdm2.abab.voov += tmp79.transpose((2, 1, 0, 3)) * 2 - rdm2.aaaa.voov = tmp109.transpose((2, 1, 0, 3)).copy() * -2 - rdm2.aaaa.voov += einsum(t1.aa, (0, 1), l1.aa, (2, 3), (2, 0, 3, 1), optimize=True) - rdm2.aaaa.voov += tmp64.transpose((2, 1, 0, 3)) - rdm2.aaaa.voov += tmp62.transpose((2, 1, 0, 3)) * 4 - rdm2.aaaa.voov += einsum(delta.aa.oo, (0, 1), tmp108, (2, 3), (2, 1, 0, 3), optimize=True) * -1 - rdm2.bbbb.ovvo = tmp114.transpose((1, 2, 3, 0)).copy() * -2 - rdm2.bbbb.ovvo += tmp83.transpose((1, 2, 3, 0)) * 4 - rdm2.bbbb.ovvo += einsum(t1.bb, (0, 1), l1.bb, (2, 3), (0, 2, 1, 3), optimize=True) - rdm2.bbbb.ovvo += tmp82.transpose((1, 2, 3, 0)) - rdm2.bbbb.ovvo += einsum(delta.bb.oo, (0, 1), tmp113, (2, 3), (1, 2, 3, 0), optimize=True) * -1 - rdm2.abab.ovvo = tmp116.transpose((0, 3, 2, 1)).copy() * -1 - del tmp116 - rdm2.abab.ovvo += einsum(l1.bb, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1), optimize=True) - rdm2.abab.ovvo += tmp60.transpose((0, 3, 2, 1)) * 2 - rdm2.abab.ovvo += tmp115.transpose((0, 3, 2, 1)) * 2 - del tmp115 - rdm2.aaaa.ovvo = tmp109.transpose((1, 2, 3, 0)).copy() * -2 - rdm2.aaaa.ovvo += einsum(t1.aa, (0, 1), l1.aa, (2, 3), (0, 2, 1, 3), optimize=True) - rdm2.aaaa.ovvo += tmp64.transpose((1, 2, 3, 0)) - rdm2.aaaa.ovvo += tmp62.transpose((1, 2, 3, 0)) * 4 - rdm2.aaaa.ovvo += einsum(delta.aa.oo, (0, 1), tmp108, (2, 3), (1, 2, 3, 0), optimize=True) * -1 - rdm2.bbbb.ovov = tmp114.transpose((1, 2, 0, 3)).copy() * 2 - del tmp114 - rdm2.bbbb.ovov += tmp83.transpose((1, 2, 0, 3)) * -4 - rdm2.bbbb.ovov += einsum(t1.bb, (0, 1), l1.bb, (2, 3), (0, 2, 3, 1), optimize=True) * -1 - rdm2.bbbb.ovov += tmp82.transpose((1, 2, 0, 3)) * -1 - del tmp82 - rdm2.bbbb.ovov += einsum(delta.bb.oo, (0, 1), tmp113, (2, 3), (1, 2, 0, 3), optimize=True) + tmp91 = tmp82.copy() + tmp91 += tmp83 * 2 + rdm2.bbbb.ovvv += einsum(tmp91, (0, 1), t1.bb, (2, 3), (2, 0, 1, 3), optimize=True) * -1 + rdm2.bbbb.ovvv += einsum(tmp91, (0, 1), t1.bb, (2, 3), (2, 0, 3, 1), optimize=True) + rdm2.bbbb.oovv += einsum(tmp91, (0, 1), t2.bbbb, (2, 3, 0, 4), (3, 2, 4, 1), optimize=True) * -2 + del tmp91 + tmp85 = tmp69.copy() + tmp85 += tmp67 + rdm2.abab.ovvv += einsum(tmp85, (0, 1, 2, 3), t1.bb, (1, 4), (0, 3, 2, 4), optimize=True) * 2 + rdm2.abab.oovv += einsum(tmp85, (0, 1, 2, 3), t2.bbbb, (1, 4, 3, 5), (0, 4, 2, 5), optimize=True) * 4 + del tmp85 + tmp113 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 0, 5), (2, 4, 1, 5), optimize=True) + rdm2.abab.ovvv += einsum(tmp113, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3), optimize=True) * -1 + rdm2.abab.ovov += tmp113.transpose((1, 2, 0, 3)) * -1 del tmp113 - rdm2.abab.ovov = einsum(tmp22, (0, 1, 2, 3), t1.bb, (2, 4), (1, 3, 0, 4), optimize=True) * -1 - rdm2.abab.ovov += tmp112.transpose((1, 2, 0, 3)) * -1 - del tmp112 - rdm2.abab.ovov += einsum(delta.aa.oo, (0, 1), tmp111, (2, 3), (1, 2, 0, 3), optimize=True) * 2 + tmp116 = einsum(t1.aa, (0, 1), tmp26, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) + rdm2.abab.ovvv += einsum(tmp116, (0, 1, 2, 3), t1.bb, (1, 4), (0, 3, 2, 4), optimize=True) * -1 + rdm2.abab.ovvo += tmp116.transpose((0, 3, 2, 1)) * -1 + del tmp116 + tmp64 = tmp62.copy() + tmp64 += tmp63 * 0.5 + rdm2.aaaa.ovvv += einsum(t1.aa, (0, 1), tmp64, (2, 3), (0, 2, 3, 1), optimize=True) * -2 + rdm2.aaaa.ovvv += einsum(tmp64, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1), optimize=True) * 2 + rdm2.abab.oovv += einsum(t2.abab, (0, 1, 2, 3), tmp64, (2, 4), (0, 1, 4, 3), optimize=True) * -2 + rdm2.aaaa.oovv += einsum(tmp64, (0, 1), t2.aaaa, (2, 3, 0, 4), (3, 2, 4, 1), optimize=True) * -4 + del tmp64 + tmp117 = tmp111.copy() * 0.5 del tmp111 - rdm2.aaaa.ovov = tmp109.transpose((1, 2, 0, 3)).copy() * 2 - del tmp109 - rdm2.aaaa.ovov += einsum(t1.aa, (0, 1), l1.aa, (2, 3), (0, 2, 3, 1), optimize=True) * -1 - rdm2.aaaa.ovov += tmp64.transpose((1, 2, 0, 3)) * -1 - rdm2.aaaa.ovov += tmp62.transpose((1, 2, 0, 3)) * -4 - rdm2.aaaa.ovov += einsum(delta.aa.oo, (0, 1), tmp108, (2, 3), (1, 2, 0, 3), optimize=True) - del tmp108 - tmp18 = einsum(tmp17, (0, 1, 2, 3), t1.bb, (4, 3), (0, 1, 4, 2), optimize=True) - tmp47 = einsum(tmp18, (0, 1, 2, 3), t1.bb, (0, 4), (1, 3, 2, 4), optimize=True) - rdm2.bbbb.oovv = einsum(tmp47, (0, 1, 2, 3), t1.bb, (0, 4), (2, 1, 4, 3), optimize=True) * -2 - tmp45 = einsum(tmp17, (0, 1, 2, 3), t2.bbbb, (4, 1, 5, 3), (0, 2, 4, 5), optimize=True) * -1 - tmp105 = tmp45.copy() * 4 - tmp43 = einsum(t2.abab, (0, 1, 2, 3), tmp13, (0, 4, 5, 2), (4, 5, 1, 3), optimize=True) - tmp105 += tmp43 - tmp106 = einsum(t1.bb, (0, 1), tmp105, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) - del tmp105 - rdm2.bbbb.oovv += tmp106.transpose((1, 0, 3, 2)) * -1 - rdm2.bbbb.oovv += tmp106.transpose((1, 0, 2, 3)) + tmp117 += tmp82 * 0.5 + tmp117 += tmp83 + rdm2.bbbb.vovo += einsum(tmp117, (0, 1), delta.bb.oo, (2, 3), (0, 3, 1, 2), optimize=True) * 2 + rdm2.bbbb.ovvo += einsum(tmp117, (0, 1), delta.bb.oo, (2, 3), (3, 0, 1, 2), optimize=True) * -2 + del tmp117 + tmp93 = einsum(tmp92, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) + del tmp92 + rdm2.bbbb.oovv += tmp93.transpose((1, 0, 3, 2)) * 2 + rdm2.bbbb.oovv += tmp93.transpose((0, 1, 3, 2)) * -2 + del tmp93 + tmp48 = t1.bb.copy() + tmp48 += tmp35 + tmp48 += tmp36 * 2 + rdm2.bbbb.oovv += einsum(t1.bb, (0, 1), tmp48, (2, 3), (2, 0, 1, 3), optimize=True) * -1 + rdm2.bbbb.ooov += einsum(tmp48, (0, 1), delta.bb.oo, (2, 3), (0, 3, 2, 1), optimize=True) * -1 + del tmp48 + tmp107 = einsum(tmp106, (0, 1, 2, 3), t1.bb, (0, 4), (1, 2, 4, 3), optimize=True) del tmp106 - tmp104 = einsum(t1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3), optimize=True) - tmp104 += t2.bbbb.transpose((1, 0, 3, 2)) - tmp16 = einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 5, 0, 1), (2, 3, 4, 5), optimize=True) - rdm2.bbbb.oovv += einsum(tmp16, (0, 1, 2, 3), tmp104, (0, 1, 4, 5), (3, 2, 5, 4), optimize=True) * 2 - del tmp104 - tmp10 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (2, 3, 4, 1), (4, 0), optimize=True) - tmp102 = tmp10.copy() * 2 - tmp9 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 3, 0, 4), (4, 1), optimize=True) - tmp102 += tmp9 - tmp103 = einsum(tmp102, (0, 1), t2.bbbb, (0, 2, 3, 4), (2, 1, 3, 4), optimize=True) * 2 - del tmp102 - rdm2.bbbb.oovv += tmp103.transpose((0, 1, 3, 2)) * -1 - tmp88 = tmp10.copy() - tmp88 += tmp9 * 0.5 - tmp101 = einsum(t1.bb, (0, 1), tmp88, (0, 2), (2, 1), optimize=True) * 2 - rdm2.bbbb.oovv += einsum(tmp101, (0, 1), t1.bb, (2, 3), (2, 0, 1, 3), optimize=True) - rdm2.bbbb.oovv += einsum(tmp101, (0, 1), t1.bb, (2, 3), (2, 0, 3, 1), optimize=True) * -1 - tmp8 = einsum(t1.bb, (0, 1), l1.bb, (1, 2), (2, 0), optimize=True) - tmp100 = einsum(t1.bb, (0, 1), tmp8, (0, 2), (2, 1), optimize=True) - rdm2.bbbb.oovv += einsum(t1.bb, (0, 1), tmp100, (2, 3), (0, 2, 3, 1), optimize=True) - rdm2.bbbb.oovv += einsum(tmp100, (0, 1), t1.bb, (2, 3), (2, 0, 3, 1), optimize=True) * -1 - rdm2.bbbb.oovv += tmp103.transpose((1, 0, 3, 2)) - del tmp103 - rdm2.bbbb.oovv += einsum(tmp101, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3), optimize=True) * -1 - rdm2.bbbb.oovv += einsum(t1.bb, (0, 1), tmp101, (2, 3), (2, 0, 1, 3), optimize=True) + rdm2.bbbb.oovv += tmp107.transpose((0, 1, 3, 2)) + rdm2.bbbb.oovv += tmp107.transpose((1, 0, 3, 2)) * -1 + rdm2.bbbb.oovv += tmp107 * -1 + rdm2.bbbb.oovv += tmp107.transpose((1, 0, 2, 3)) + del tmp107 + tmp105 = einsum(t1.bb, (0, 1), tmp54, (0, 2, 3, 4), (2, 4, 3, 1), optimize=True) + rdm2.bbbb.oovv += einsum(tmp105, (0, 1, 2, 3), t1.bb, (0, 4), (1, 2, 4, 3), optimize=True) * 2 + del tmp105 + tmp102 = tmp39.copy() + tmp102 += tmp40 * 2 + tmp102 += tmp101 del tmp101 - rdm2.bbbb.oovv += einsum(tmp100, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3), optimize=True) * -1 - rdm2.bbbb.oovv += einsum(t1.bb, (0, 1), tmp100, (2, 3), (2, 0, 1, 3), optimize=True) - del tmp100 - rdm2.bbbb.oovv += einsum(tmp18, (0, 1, 2, 3), t2.bbbb, (1, 0, 4, 5), (3, 2, 5, 4), optimize=True) * -2 - tmp92 = einsum(tmp8, (0, 1), t2.bbbb, (2, 0, 3, 4), (1, 2, 3, 4), optimize=True) - rdm2.bbbb.oovv += tmp92.transpose((1, 0, 3, 2)) * 2 - tmp99 = tmp45.transpose((0, 2, 1, 3)).copy() * 4 - tmp99 += tmp43.transpose((0, 2, 1, 3)) - tmp44 = einsum(t2.bbbb, (0, 1, 2, 3), l1.bb, (3, 4), (4, 0, 1, 2), optimize=True) - tmp99 += tmp44.transpose((0, 2, 1, 3)) * -2 - rdm2.bbbb.oovv += einsum(tmp99, (0, 1, 2, 3), t1.bb, (0, 4), (2, 1, 3, 4), optimize=True) - del tmp99 - tmp98 = tmp45.transpose((0, 2, 1, 3)).copy() * 2 - tmp98 += tmp43.transpose((0, 2, 1, 3)) * 0.5 - tmp98 += tmp44.transpose((0, 2, 1, 3)) * -1 - rdm2.bbbb.oovv += einsum(t1.bb, (0, 1), tmp98, (0, 2, 3, 4), (3, 2, 1, 4), optimize=True) * -2 + rdm2.bbbb.oovv += einsum(tmp102, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3), optimize=True) * -1 + rdm2.bbbb.oovv += einsum(tmp102, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1), optimize=True) + rdm2.bbbb.oovv += einsum(tmp102, (0, 1), t1.bb, (2, 3), (2, 0, 1, 3), optimize=True) + rdm2.bbbb.oovv += einsum(tmp102, (0, 1), t1.bb, (2, 3), (2, 0, 3, 1), optimize=True) * -1 + del tmp102 + tmp37 = t1.bb.copy() + tmp37 += tmp35 + tmp37 += tmp36 * 2 + rdm2.bbbb.oovv += einsum(tmp37, (0, 1), t1.bb, (2, 3), (2, 0, 3, 1), optimize=True) + rdm2.abab.oovv += einsum(t1.aa, (0, 1), tmp37, (2, 3), (0, 2, 1, 3), optimize=True) + rdm2.bbbb.oovo += einsum(tmp37, (0, 1), delta.bb.oo, (2, 3), (3, 0, 1, 2), optimize=True) * -1 + rdm2.bbbb.oovo += einsum(tmp37, (0, 1), delta.bb.oo, (2, 3), (0, 3, 1, 2), optimize=True) + rdm2.bbbb.ooov += einsum(tmp37, (0, 1), delta.bb.oo, (2, 3), (3, 0, 2, 1), optimize=True) + rdm2.abab.ooov += einsum(tmp37, (0, 1), delta.aa.oo, (2, 3), (3, 0, 2, 1), optimize=True) + del tmp37 + tmp98 = tmp35.copy() + del tmp35 + tmp98 += tmp36 * 2 + del tmp36 + rdm2.bbbb.oovv += einsum(tmp98, (0, 1), t1.bb, (2, 3), (2, 0, 1, 3), optimize=True) * -1 + rdm2.bbbb.oovv += einsum(tmp98, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3), optimize=True) del tmp98 - rdm2.bbbb.oovv += einsum(t2.bbbb, (0, 1, 2, 3), tmp78, (2, 4), (1, 0, 4, 3), optimize=True) * 2 - tmp34 = einsum(t2.bbbb, (0, 1, 2, 3), tmp17, (0, 1, 4, 3), (4, 2), optimize=True) * -1 - tmp97 = tmp34.copy() * -2 - tmp33 = einsum(t2.abab, (0, 1, 2, 3), tmp13, (0, 1, 4, 2), (4, 3), optimize=True) - tmp97 += tmp33 * -1 - tmp32 = einsum(t2.bbbb, (0, 1, 2, 3), l1.bb, (3, 1), (0, 2), optimize=True) - tmp97 += tmp32 * 2 - tmp31 = einsum(l1.aa, (0, 1), t2.abab, (1, 2, 0, 3), (2, 3), optimize=True) - tmp97 += tmp31 - rdm2.bbbb.oovv += einsum(tmp97, (0, 1), t1.bb, (2, 3), (2, 0, 1, 3), optimize=True) * -1 - rdm2.bbbb.oovv += einsum(tmp97, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3), optimize=True) - del tmp97 - tmp35 = tmp34.copy() * -2 - tmp35 += tmp33 * -1 - tmp35 += tmp32 * 2 - tmp35 += tmp31 - tmp35 += t1.bb - rdm2.bbbb.oovv += einsum(tmp35, (0, 1), t1.bb, (2, 3), (2, 0, 3, 1), optimize=True) - tmp96 = einsum(t2.abab, (0, 1, 2, 3), tmp80, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) - del tmp80 - rdm2.bbbb.oovv += tmp96.transpose((1, 0, 3, 2)) * 2 - rdm2.bbbb.oovv += tmp96 * 2 - tmp95 = einsum(tmp79, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) - del tmp79 - rdm2.bbbb.oovv += tmp95.transpose((1, 0, 3, 2)) * 2 - tmp94 = einsum(t2.bbbb, (0, 1, 2, 3), tmp83, (1, 4, 3, 5), (0, 4, 2, 5), optimize=True) + tmp103 = einsum(t1.bb, (0, 1), tmp8, (0, 2), (2, 1), optimize=True) + rdm2.bbbb.oovv += einsum(tmp103, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3), optimize=True) * -1 + rdm2.bbbb.oovv += einsum(tmp103, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1), optimize=True) + rdm2.bbbb.oovv += einsum(tmp103, (0, 1), t1.bb, (2, 3), (2, 0, 1, 3), optimize=True) + rdm2.bbbb.oovv += einsum(tmp103, (0, 1), t1.bb, (2, 3), (2, 0, 3, 1), optimize=True) * -1 + del tmp103 + tmp104 = einsum(t2.bbbb, (0, 1, 2, 3), tmp16, (0, 4), (1, 4, 2, 3), optimize=True) * 2 + del tmp16 + rdm2.bbbb.oovv += tmp104.transpose((1, 0, 3, 2)) + rdm2.bbbb.oovv += tmp104.transpose((0, 1, 3, 2)) * -1 + del tmp104 + tmp84 = tmp82.copy() * 0.5 + del tmp82 + tmp84 += tmp83 del tmp83 - rdm2.bbbb.oovv += tmp94 * 8 - rdm2.bbbb.oovv += einsum(tmp35, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1), optimize=True) * -1 - rdm2.bbbb.oovv += tmp96.transpose((1, 0, 2, 3)) * -2 - rdm2.bbbb.oovv += tmp96.transpose((0, 1, 3, 2)) * -2 + rdm2.bbbb.oovv += einsum(tmp84, (0, 1), t2.bbbb, (2, 3, 0, 4), (3, 2, 1, 4), optimize=True) * 4 + rdm2.abab.oovv += einsum(tmp84, (0, 1), t2.abab, (2, 3, 4, 0), (2, 3, 4, 1), optimize=True) * -2 + del tmp84 + tmp99 = einsum(tmp49, (0, 1, 2, 3), t1.bb, (0, 4), (1, 2, 4, 3), optimize=True) + del tmp49 + rdm2.bbbb.oovv += tmp99.transpose((0, 1, 3, 2)) * -2 + rdm2.bbbb.oovv += tmp99 * 2 + del tmp99 + tmp97 = einsum(tmp96, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) del tmp96 - rdm2.bbbb.oovv += tmp95.transpose((0, 1, 3, 2)) * -2 - del tmp95 - rdm2.bbbb.oovv += tmp94.transpose((0, 1, 3, 2)) * -8 + rdm2.bbbb.oovv += tmp97.transpose((1, 0, 3, 2)) * 2 + rdm2.bbbb.oovv += tmp97 * 2 + rdm2.bbbb.oovv += tmp97.transpose((1, 0, 2, 3)) * -2 + rdm2.bbbb.oovv += tmp97.transpose((0, 1, 3, 2)) * -2 + del tmp97 + tmp95 = einsum(t2.bbbb, (0, 1, 2, 3), tmp94, (1, 4, 3, 5), (4, 0, 5, 2), optimize=True) del tmp94 - tmp93 = tmp77.copy() - del tmp77 - tmp93 += tmp76 * 0.5 - del tmp76 - rdm2.bbbb.oovv += einsum(t2.bbbb, (0, 1, 2, 3), tmp93, (2, 4), (1, 0, 3, 4), optimize=True) * -4 - del tmp93 - rdm2.bbbb.oovv += t2.bbbb.transpose((1, 0, 3, 2)) * 2 - rdm2.bbbb.oovv += tmp92.transpose((0, 1, 3, 2)) * -2 - del tmp92 - tmp14 = einsum(t1.aa, (0, 1), tmp13, (2, 3, 4, 1), (2, 0, 3, 4), optimize=True) - tmp41 = einsum(t1.bb, (0, 1), tmp14, (2, 3, 0, 4), (2, 3, 4, 1), optimize=True) - rdm2.abab.oovv = einsum(tmp41, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3), optimize=True) - tmp53 = einsum(t2.abab, (0, 1, 2, 3), tmp17, (4, 1, 5, 3), (0, 4, 5, 2), optimize=True) * -1 - tmp91 = tmp53.copy() - tmp52 = einsum(t2.aaaa, (0, 1, 2, 3), tmp13, (1, 4, 5, 3), (0, 4, 5, 2), optimize=True) - tmp91 += tmp52 - rdm2.abab.oovv += einsum(tmp91, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 3, 4), optimize=True) * -2 - del tmp91 - tmp40 = einsum(t2.abab, (0, 1, 2, 3), tmp13, (4, 1, 5, 2), (4, 0, 5, 3), optimize=True) - rdm2.abab.oovv += einsum(tmp40, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3), optimize=True) - tmp2 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 3, 4, 1), (4, 0), optimize=True) - tmp4 = tmp2.copy() * 0.5 - tmp1 = einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 3, 0, 1), (2, 4), optimize=True) - tmp4 += tmp1 - tmp0 = einsum(l1.aa, (0, 1), t1.aa, (2, 0), (1, 2), optimize=True) - tmp4 += tmp0 * 0.5 - tmp28 = einsum(tmp4, (0, 1), t1.aa, (0, 2), (1, 2), optimize=True) * 2 - rdm2.abab.oovv += einsum(tmp28, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3), optimize=True) * -1 - rdm2.abab.oovv += einsum(tmp90, (0, 1, 2, 3), t2.abab, (4, 0, 2, 5), (4, 1, 3, 5), optimize=True) + rdm2.bbbb.oovv += tmp95 * 8 + rdm2.bbbb.oovv += tmp95.transpose((0, 1, 3, 2)) * -8 + del tmp95 + tmp90 = tmp59.copy() + del tmp59 + tmp90 += tmp60 + del tmp60 + rdm2.abab.oovv += einsum(t1.bb, (0, 1), tmp90, (2, 0, 3, 4), (2, 3, 4, 1), optimize=True) * -2 del tmp90 - tmp89 = einsum(t1.aa, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3), optimize=True) - tmp89 += t2.abab - tmp12 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 3, 4, 5), (4, 0, 5, 1), optimize=True) - rdm2.abab.oovv += einsum(tmp12, (0, 1, 2, 3), tmp89, (0, 2, 4, 5), (1, 3, 4, 5), optimize=True) + tmp71 = tmp20.copy() * 2 + tmp71 += tmp21 + rdm2.abab.oovv += einsum(tmp71, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3), optimize=True) + rdm2.aaaa.oovv += einsum(tmp71, (0, 1), t1.aa, (2, 3), (2, 0, 1, 3), optimize=True) * -1 + rdm2.aaaa.oovv += einsum(t1.aa, (0, 1), tmp71, (2, 3), (2, 0, 3, 1), optimize=True) + del tmp71 + tmp57 = tmp25.copy() + tmp57 += tmp27 * 0.5 + tmp57 += tmp56 + del tmp56 + rdm2.abab.oovv += einsum(t1.bb, (0, 1), tmp57, (2, 3), (2, 0, 3, 1), optimize=True) * -2 + rdm2.abab.oovo += einsum(delta.bb.oo, (0, 1), tmp57, (2, 3), (2, 1, 3, 0), optimize=True) * -2 + rdm2.aaaa.oovo += einsum(tmp57, (0, 1), delta.aa.oo, (2, 3), (3, 0, 1, 2), optimize=True) * 2 + rdm2.aaaa.oovo += einsum(delta.aa.oo, (0, 1), tmp57, (2, 3), (2, 1, 3, 0), optimize=True) * -2 + del tmp57 + tmp61 = einsum(t2.abab, (0, 1, 2, 3), tmp26, (0, 4, 5, 3), (4, 5, 1, 2), optimize=True) + del tmp26 + rdm2.abab.oovv += einsum(tmp61, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 3, 4), optimize=True) + rdm2.abab.oovo += tmp61.transpose((0, 2, 3, 1)) + del tmp61 + tmp89 = tmp43.copy() + del tmp43 + tmp89 += tmp44 + del tmp44 + rdm2.abab.oovv += einsum(tmp89, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3), optimize=True) * -2 del tmp89 - tmp11 = tmp10.copy() * 2 - tmp11 += tmp9 - tmp11 += tmp8 - tmp39 = einsum(t1.bb, (0, 1), tmp11, (0, 2), (2, 1), optimize=True) - rdm2.abab.oovv += einsum(tmp39, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1), optimize=True) * -1 - rdm2.abab.oovv += einsum(t2.abab, (0, 1, 2, 3), tmp88, (1, 4), (0, 4, 2, 3), optimize=True) * -2 - del tmp88 - tmp72 = tmp2.copy() * 0.5 - tmp72 += tmp1 - rdm2.abab.oovv += einsum(t2.abab, (0, 1, 2, 3), tmp72, (0, 4), (4, 1, 2, 3), optimize=True) * -2 - rdm2.abab.oovv += einsum(t2.abab, (0, 1, 2, 3), tmp8, (1, 4), (0, 4, 2, 3), optimize=True) * -1 - rdm2.abab.oovv += einsum(t2.abab, (0, 1, 2, 3), tmp14, (0, 4, 1, 5), (4, 5, 2, 3), optimize=True) - tmp51 = einsum(tmp22, (0, 1, 2, 3), t2.abab, (0, 4, 5, 3), (1, 2, 4, 5), optimize=True) - tmp87 = tmp51.copy() * -1 - tmp50 = einsum(t2.abab, (0, 1, 2, 3), l1.bb, (3, 4), (0, 4, 1, 2), optimize=True) - tmp87 += tmp50 - rdm2.abab.oovv += einsum(tmp87, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 3, 4), optimize=True) * -1 - del tmp87 - tmp37 = einsum(t2.bbbb, (0, 1, 2, 3), tmp22, (4, 5, 1, 3), (4, 5, 0, 2), optimize=True) - tmp86 = tmp37.copy() * 2 - tmp36 = einsum(t2.abab, (0, 1, 2, 3), tmp6, (4, 0, 5, 2), (4, 5, 1, 3), optimize=True) * -1 - tmp86 += tmp36 * 2 + tmp58 = einsum(t2.abab, (0, 1, 2, 3), l1.bb, (3, 4), (0, 4, 1, 2), optimize=True) + rdm2.abab.oovv += einsum(tmp58, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 3, 4), optimize=True) * -1 + rdm2.abab.oovo += tmp58.transpose((0, 2, 3, 1)) * -1 + del tmp58 + tmp42 = tmp39.copy() * 0.5 + tmp42 += tmp40 + tmp42 += tmp41 + del tmp41 + rdm2.abab.oovv += einsum(t1.aa, (0, 1), tmp42, (2, 3), (0, 2, 1, 3), optimize=True) * -2 + rdm2.bbbb.oovo += einsum(tmp42, (0, 1), delta.bb.oo, (2, 3), (3, 0, 1, 2), optimize=True) * 2 + rdm2.bbbb.oovo += einsum(tmp42, (0, 1), delta.bb.oo, (2, 3), (0, 3, 1, 2), optimize=True) * -2 + rdm2.abab.ooov += einsum(tmp42, (0, 1), delta.aa.oo, (2, 3), (3, 0, 2, 1), optimize=True) * -2 + del tmp42 + tmp46 = einsum(tmp45, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 3, 4), optimize=True) + del tmp45 + rdm2.abab.oovv += einsum(tmp46, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3), optimize=True) + rdm2.abab.ooov += tmp46.transpose((1, 2, 0, 3)) + del tmp46 tmp38 = einsum(l1.aa, (0, 1), t2.abab, (2, 3, 0, 4), (1, 2, 3, 4), optimize=True) - tmp86 += tmp38 - rdm2.abab.oovv += einsum(tmp86, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3), optimize=True) * -1 - del tmp86 - rdm2.abab.oovv += einsum(tmp58, (0, 1), t2.abab, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) * -2 - tmp23 = einsum(tmp22, (0, 1, 2, 3), t2.abab, (0, 2, 4, 3), (1, 4), optimize=True) - tmp85 = tmp23.copy() * -0.5 - tmp21 = einsum(t2.aaaa, (0, 1, 2, 3), tmp6, (0, 1, 4, 3), (4, 2), optimize=True) * -1 - tmp85 += tmp21 * -1 - tmp20 = einsum(t2.abab, (0, 1, 2, 3), l1.bb, (3, 1), (0, 2), optimize=True) - tmp85 += tmp20 * 0.5 - tmp19 = einsum(l1.aa, (0, 1), t2.aaaa, (2, 1, 3, 0), (2, 3), optimize=True) - tmp85 += tmp19 - rdm2.abab.oovv += einsum(tmp85, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3), optimize=True) * 2 - del tmp85 - rdm2.abab.oovv += einsum(tmp35, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1), optimize=True) - rdm2.abab.oovv += einsum(tmp84, (0, 1, 2, 3), t2.abab, (4, 0, 5, 2), (4, 1, 5, 3), optimize=True) - del tmp84 - rdm2.abab.oovv += einsum(t2.aaaa, (0, 1, 2, 3), tmp81, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) * 4 - del tmp81 - rdm2.abab.oovv += einsum(tmp78, (0, 1), t2.abab, (2, 3, 4, 0), (2, 3, 4, 1), optimize=True) * -1 + rdm2.abab.oovv += einsum(t1.aa, (0, 1), tmp38, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) * -1 + rdm2.abab.ooov += tmp38.transpose((1, 2, 0, 3)) * -1 + del tmp38 + tmp47 = einsum(t2.abab, (0, 1, 2, 3), tmp13, (4, 1, 5, 2), (4, 0, 5, 3), optimize=True) + del tmp13 + rdm2.abab.oovv += einsum(tmp47, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3), optimize=True) + rdm2.abab.ooov += tmp47.transpose((1, 2, 0, 3)) + del tmp47 + tmp22 = t1.aa.copy() + tmp22 += tmp20 * 2 + tmp22 += tmp21 + rdm2.aaaa.oovv += einsum(t1.aa, (0, 1), tmp22, (2, 3), (2, 0, 1, 3), optimize=True) * -1 + rdm2.aaaa.ooov += einsum(tmp22, (0, 1), delta.aa.oo, (2, 3), (0, 3, 2, 1), optimize=True) * -1 + del tmp22 + tmp66 = einsum(tmp65, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 2), (1, 4, 3, 5), optimize=True) + del tmp65 + rdm2.aaaa.oovv += tmp66 * 8 + rdm2.aaaa.oovv += tmp66.transpose((0, 1, 3, 2)) * -8 + del tmp66 + tmp70 = einsum(tmp69, (0, 1, 2, 3), t2.abab, (4, 1, 5, 3), (0, 4, 2, 5), optimize=True) + del tmp69 + rdm2.aaaa.oovv += tmp70.transpose((1, 0, 3, 2)) * 2 + rdm2.aaaa.oovv += tmp70 * 2 + rdm2.aaaa.oovv += tmp70.transpose((1, 0, 2, 3)) * -2 + rdm2.aaaa.oovv += tmp70.transpose((0, 1, 3, 2)) * -2 + del tmp70 + tmp79 = einsum(tmp33, (0, 1, 2, 3), t1.aa, (0, 4), (1, 3, 2, 4), optimize=True) + rdm2.aaaa.oovv += einsum(tmp79, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3), optimize=True) * 2 + del tmp79 + tmp78 = einsum(t2.aaaa, (0, 1, 2, 3), tmp4, (0, 4), (4, 1, 2, 3), optimize=True) * 2 + del tmp4 + rdm2.aaaa.oovv += tmp78.transpose((0, 1, 3, 2)) + rdm2.aaaa.oovv += tmp78.transpose((1, 0, 3, 2)) * -1 del tmp78 - rdm2.abab.oovv += t2.abab - rdm2.abab.oovv += einsum(tmp0, (0, 1), t2.abab, (0, 2, 3, 4), (1, 2, 3, 4), optimize=True) * -1 - tmp7 = einsum(tmp6, (0, 1, 2, 3), t1.aa, (4, 3), (0, 1, 4, 2), optimize=True) - tmp30 = einsum(t1.aa, (0, 1), tmp7, (0, 2, 3, 4), (2, 4, 3, 1), optimize=True) - rdm2.aaaa.oovv = einsum(tmp30, (0, 1, 2, 3), t1.aa, (0, 4), (2, 1, 4, 3), optimize=True) * -2 - tmp27 = einsum(t2.abab, (0, 1, 2, 3), tmp22, (4, 5, 1, 3), (4, 5, 0, 2), optimize=True) - tmp74 = tmp27.copy() - tmp26 = einsum(t2.aaaa, (0, 1, 2, 3), tmp6, (4, 1, 5, 3), (4, 5, 0, 2), optimize=True) * -1 - tmp74 += tmp26 * 4 - tmp75 = einsum(tmp74, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3), optimize=True) - del tmp74 - rdm2.aaaa.oovv += tmp75.transpose((1, 0, 3, 2)) * -1 - rdm2.aaaa.oovv += tmp75.transpose((1, 0, 2, 3)) + tmp23 = t1.aa.copy() + tmp23 += tmp20 * 2 + del tmp20 + tmp23 += tmp21 + del tmp21 + rdm2.aaaa.oovv += einsum(tmp23, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1), optimize=True) + rdm2.abab.oovo += einsum(delta.bb.oo, (0, 1), tmp23, (2, 3), (2, 1, 3, 0), optimize=True) + rdm2.aaaa.oovo += einsum(tmp23, (0, 1), delta.aa.oo, (2, 3), (3, 0, 1, 2), optimize=True) * -1 + rdm2.aaaa.oovo += einsum(delta.aa.oo, (0, 1), tmp23, (2, 3), (2, 1, 3, 0), optimize=True) + rdm2.aaaa.ooov += einsum(tmp23, (0, 1), delta.aa.oo, (2, 3), (3, 0, 2, 1), optimize=True) + del tmp23 + tmp77 = einsum(tmp0, (0, 1), t1.aa, (0, 2), (1, 2), optimize=True) + rdm2.aaaa.oovv += einsum(t1.aa, (0, 1), tmp77, (2, 3), (2, 0, 3, 1), optimize=True) * -1 + rdm2.aaaa.oovv += einsum(tmp77, (0, 1), t1.aa, (2, 3), (0, 2, 3, 1), optimize=True) + rdm2.aaaa.oovv += einsum(tmp77, (0, 1), t1.aa, (2, 3), (2, 0, 1, 3), optimize=True) + rdm2.aaaa.oovv += einsum(tmp77, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1), optimize=True) * -1 + del tmp77 + tmp81 = einsum(tmp80, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3), optimize=True) + del tmp80 + rdm2.aaaa.oovv += tmp81.transpose((0, 1, 3, 2)) + rdm2.aaaa.oovv += tmp81.transpose((1, 0, 3, 2)) * -1 + rdm2.aaaa.oovv += tmp81 * -1 + rdm2.aaaa.oovv += tmp81.transpose((1, 0, 2, 3)) + del tmp81 + tmp76 = tmp25.copy() + tmp76 += tmp27 * 0.5 + tmp76 += tmp75 del tmp75 - tmp73 = einsum(t1.aa, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1), optimize=True) - tmp73 += t2.aaaa.transpose((1, 0, 3, 2)) - tmp5 = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (2, 3, 4, 5), (4, 5, 0, 1), optimize=True) - rdm2.aaaa.oovv += einsum(tmp73, (0, 1, 2, 3), tmp5, (0, 1, 4, 5), (5, 4, 3, 2), optimize=True) * 2 + rdm2.aaaa.oovv += einsum(t1.aa, (0, 1), tmp76, (2, 3), (2, 0, 3, 1), optimize=True) * -2 + rdm2.aaaa.oovv += einsum(tmp76, (0, 1), t1.aa, (2, 3), (0, 2, 3, 1), optimize=True) * 2 + rdm2.aaaa.oovv += einsum(tmp76, (0, 1), t1.aa, (2, 3), (2, 0, 1, 3), optimize=True) * 2 + rdm2.aaaa.oovv += einsum(t1.aa, (0, 1), tmp76, (2, 3), (0, 2, 1, 3), optimize=True) * -2 + del tmp76 + tmp73 = tmp62.copy() * 2 + del tmp62 + tmp73 += tmp63 + del tmp63 + rdm2.aaaa.oovv += einsum(tmp73, (0, 1), t2.aaaa, (2, 3, 0, 4), (3, 2, 1, 4), optimize=True) * 2 del tmp73 - tmp70 = tmp2.copy() - tmp70 += tmp1 * 2 - rdm2.aaaa.oovv += einsum(t2.aaaa, (0, 1, 2, 3), tmp70, (0, 4), (1, 4, 3, 2), optimize=True) * -2 - tmp71 = einsum(tmp70, (0, 1), t1.aa, (0, 2), (1, 2), optimize=True) * 0.5 - del tmp70 - rdm2.aaaa.oovv += einsum(t1.aa, (0, 1), tmp71, (2, 3), (0, 2, 3, 1), optimize=True) * 2 - rdm2.aaaa.oovv += einsum(t1.aa, (0, 1), tmp71, (2, 3), (0, 2, 1, 3), optimize=True) * -2 - tmp69 = einsum(tmp0, (0, 1), t1.aa, (0, 2), (1, 2), optimize=True) - rdm2.aaaa.oovv += einsum(t1.aa, (0, 1), tmp69, (2, 3), (0, 2, 3, 1), optimize=True) - rdm2.aaaa.oovv += einsum(t1.aa, (0, 1), tmp69, (2, 3), (0, 2, 1, 3), optimize=True) * -1 - rdm2.aaaa.oovv += einsum(tmp72, (0, 1), t2.aaaa, (0, 2, 3, 4), (1, 2, 4, 3), optimize=True) * 4 + tmp72 = einsum(tmp24, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3), optimize=True) + del tmp24 + rdm2.aaaa.oovv += tmp72.transpose((0, 1, 3, 2)) * -2 + rdm2.aaaa.oovv += tmp72 * 2 del tmp72 - rdm2.aaaa.oovv += einsum(t1.aa, (0, 1), tmp71, (2, 3), (2, 0, 3, 1), optimize=True) * -2 - rdm2.aaaa.oovv += einsum(tmp71, (0, 1), t1.aa, (2, 3), (0, 2, 3, 1), optimize=True) * 2 - del tmp71 - rdm2.aaaa.oovv += einsum(t1.aa, (0, 1), tmp69, (2, 3), (2, 0, 3, 1), optimize=True) * -1 - rdm2.aaaa.oovv += einsum(tmp69, (0, 1), t1.aa, (2, 3), (0, 2, 3, 1), optimize=True) - del tmp69 - rdm2.aaaa.oovv += einsum(t2.aaaa, (0, 1, 2, 3), tmp7, (1, 0, 4, 5), (5, 4, 3, 2), optimize=True) * -2 - tmp55 = einsum(tmp0, (0, 1), t2.aaaa, (2, 0, 3, 4), (1, 2, 3, 4), optimize=True) - rdm2.aaaa.oovv += tmp55.transpose((1, 0, 3, 2)) * 2 - tmp68 = tmp27.transpose((0, 2, 1, 3)).copy() - tmp68 += tmp26.transpose((0, 2, 1, 3)) * 4 - tmp25 = einsum(t2.aaaa, (0, 1, 2, 3), l1.aa, (3, 4), (4, 0, 1, 2), optimize=True) - tmp68 += tmp25.transpose((0, 2, 1, 3)) * -2 - rdm2.aaaa.oovv += einsum(t1.aa, (0, 1), tmp68, (0, 2, 3, 4), (3, 2, 4, 1), optimize=True) - del tmp68 - tmp67 = tmp27.transpose((0, 2, 1, 3)).copy() * 0.5 - tmp67 += tmp26.transpose((0, 2, 1, 3)) * 2 - tmp67 += tmp25.transpose((0, 2, 1, 3)) * -1 - rdm2.aaaa.oovv += einsum(tmp67, (0, 1, 2, 3), t1.aa, (0, 4), (2, 1, 4, 3), optimize=True) * -2 + tmp68 = einsum(tmp67, (0, 1, 2, 3), t2.abab, (4, 1, 5, 3), (0, 4, 2, 5), optimize=True) del tmp67 - tmp59 = einsum(t2.aaaa, (0, 1, 2, 3), tmp58, (2, 4), (0, 1, 4, 3), optimize=True) * 4 - del tmp58 - rdm2.aaaa.oovv += tmp59.transpose((1, 0, 2, 3)) - tmp66 = tmp23.copy() * -1 - tmp66 += tmp21 * -2 - tmp66 += tmp20 - tmp66 += tmp19 * 2 - rdm2.aaaa.oovv += einsum(t1.aa, (0, 1), tmp66, (2, 3), (0, 2, 3, 1), optimize=True) * -1 - rdm2.aaaa.oovv += einsum(t1.aa, (0, 1), tmp66, (2, 3), (2, 0, 3, 1), optimize=True) - del tmp66 - tmp24 = tmp23.copy() * -1 - tmp24 += tmp21 * -2 - tmp24 += tmp20 - tmp24 += tmp19 * 2 - tmp24 += t1.aa - rdm2.aaaa.oovv += einsum(t1.aa, (0, 1), tmp24, (2, 3), (0, 2, 1, 3), optimize=True) - tmp65 = einsum(tmp64, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 2), (4, 1, 5, 3), optimize=True) - del tmp64 - rdm2.aaaa.oovv += tmp65.transpose((1, 0, 3, 2)) * 2 - rdm2.aaaa.oovv += tmp65 * 2 - tmp63 = einsum(tmp62, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 2), (1, 4, 3, 5), optimize=True) - del tmp62 - rdm2.aaaa.oovv += tmp63 * 8 - tmp61 = einsum(t2.abab, (0, 1, 2, 3), tmp60, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) - del tmp60 - rdm2.aaaa.oovv += tmp61 * 2 - rdm2.aaaa.oovv += einsum(tmp24, (0, 1), t1.aa, (2, 3), (0, 2, 3, 1), optimize=True) * -1 - rdm2.aaaa.oovv += tmp65.transpose((1, 0, 2, 3)) * -2 - rdm2.aaaa.oovv += tmp65.transpose((0, 1, 3, 2)) * -2 - del tmp65 - rdm2.aaaa.oovv += tmp63.transpose((0, 1, 3, 2)) * -8 - del tmp63 - rdm2.aaaa.oovv += tmp61.transpose((0, 1, 3, 2)) * -2 - del tmp61 - rdm2.aaaa.oovv += tmp59.transpose((1, 0, 3, 2)) * -1 - del tmp59 - rdm2.aaaa.oovv += t2.aaaa.transpose((1, 0, 3, 2)) * 2 - rdm2.aaaa.oovv += tmp55.transpose((0, 1, 3, 2)) * -2 - del tmp55 - rdm2.bbbb.vooo = tmp17.transpose((3, 2, 1, 0)).copy() * 2 - rdm2.bbbb.vooo += einsum(l1.bb, (0, 1), delta.bb.oo, (2, 3), (0, 3, 2, 1), optimize=True) * -1 - rdm2.bbbb.vooo += einsum(delta.bb.oo, (0, 1), l1.bb, (2, 3), (2, 1, 3, 0), optimize=True) - rdm2.abab.vooo = tmp13.transpose((3, 2, 0, 1)).copy() * -1 - del tmp13 - rdm2.abab.vooo += einsum(delta.bb.oo, (0, 1), l1.aa, (2, 3), (2, 1, 3, 0), optimize=True) - rdm2.aaaa.vooo = tmp6.transpose((3, 2, 1, 0)).copy() * 2 - rdm2.aaaa.vooo += einsum(delta.aa.oo, (0, 1), l1.aa, (2, 3), (2, 1, 0, 3), optimize=True) * -1 - rdm2.aaaa.vooo += einsum(delta.aa.oo, (0, 1), l1.aa, (2, 3), (2, 1, 3, 0), optimize=True) - rdm2.bbbb.ovoo = tmp17.transpose((2, 3, 1, 0)).copy() * -2 - del tmp17 - rdm2.bbbb.ovoo += einsum(l1.bb, (0, 1), delta.bb.oo, (2, 3), (3, 0, 2, 1), optimize=True) - rdm2.bbbb.ovoo += einsum(delta.bb.oo, (0, 1), l1.bb, (2, 3), (1, 2, 3, 0), optimize=True) * -1 - rdm2.abab.ovoo = tmp22.transpose((1, 3, 0, 2)).copy() * -1 - del tmp22 - rdm2.abab.ovoo += einsum(delta.aa.oo, (0, 1), l1.bb, (2, 3), (1, 2, 0, 3), optimize=True) - rdm2.aaaa.ovoo = tmp6.transpose((2, 3, 1, 0)).copy() * -2 - del tmp6 - rdm2.aaaa.ovoo += einsum(delta.aa.oo, (0, 1), l1.aa, (2, 3), (1, 2, 0, 3), optimize=True) - rdm2.aaaa.ovoo += einsum(delta.aa.oo, (0, 1), l1.aa, (2, 3), (1, 2, 3, 0), optimize=True) * -1 - rdm2.bbbb.oovo = tmp47.transpose((1, 2, 3, 0)).copy() * -2 - rdm2.bbbb.oovo += tmp45.transpose((2, 1, 3, 0)) * -4 - rdm2.bbbb.oovo += tmp43.transpose((2, 1, 3, 0)) * -1 - tmp46 = einsum(tmp16, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 3, 4), optimize=True) - rdm2.bbbb.oovo += tmp46.transpose((1, 2, 3, 0)) * -2 - rdm2.bbbb.oovo += einsum(tmp11, (0, 1), t1.bb, (2, 3), (2, 1, 3, 0), optimize=True) * -1 - rdm2.bbbb.oovo += einsum(t1.bb, (0, 1), tmp11, (2, 3), (3, 0, 1, 2), optimize=True) - tmp54 = einsum(t1.bb, (0, 1), tmp11, (0, 2), (2, 1), optimize=True) * 0.5 - rdm2.bbbb.oovo += einsum(delta.bb.oo, (0, 1), tmp54, (2, 3), (1, 2, 3, 0), optimize=True) * 2 - rdm2.bbbb.oovo += einsum(delta.bb.oo, (0, 1), tmp54, (2, 3), (2, 1, 3, 0), optimize=True) * -2 + rdm2.aaaa.oovv += tmp68 * 2 + rdm2.aaaa.oovv += tmp68.transpose((0, 1, 3, 2)) * -2 + del tmp68 + tmp55 = einsum(t1.bb, (0, 1), tmp54, (0, 2, 3, 4), (2, 3, 4, 1), optimize=True) * 2 del tmp54 - rdm2.bbbb.oovo += tmp45.transpose((1, 2, 3, 0)) * 4 - rdm2.bbbb.oovo += tmp44.transpose((2, 1, 3, 0)) * 2 - rdm2.bbbb.oovo += tmp43.transpose((1, 2, 3, 0)) - rdm2.bbbb.oovo += einsum(delta.bb.oo, (0, 1), tmp35, (2, 3), (1, 2, 3, 0), optimize=True) * -1 - rdm2.bbbb.oovo += einsum(tmp35, (0, 1), delta.bb.oo, (2, 3), (0, 3, 1, 2), optimize=True) - rdm2.abab.oovo = einsum(tmp14, (0, 1, 2, 3), t1.aa, (0, 4), (1, 3, 4, 2), optimize=True) - rdm2.abab.oovo += tmp53.transpose((0, 2, 3, 1)) * -2 - del tmp53 - rdm2.abab.oovo += tmp52.transpose((0, 2, 3, 1)) * -2 - del tmp52 - rdm2.abab.oovo += einsum(tmp12, (0, 1, 2, 3), t1.aa, (0, 4), (1, 3, 4, 2), optimize=True) - rdm2.abab.oovo += einsum(tmp11, (0, 1), t1.aa, (2, 3), (2, 1, 3, 0), optimize=True) * -1 - tmp48 = einsum(tmp4, (0, 1), t1.aa, (0, 2), (1, 2), optimize=True) - rdm2.abab.oovo += einsum(delta.bb.oo, (0, 1), tmp48, (2, 3), (2, 1, 3, 0), optimize=True) * -2 - rdm2.abab.oovo += tmp51.transpose((0, 2, 3, 1)) - del tmp51 - rdm2.abab.oovo += tmp50.transpose((0, 2, 3, 1)) * -1 - del tmp50 - tmp49 = tmp23.copy() * -0.5 - del tmp23 - tmp49 += tmp21 * -1 - del tmp21 - tmp49 += tmp20 * 0.5 - del tmp20 - tmp49 += tmp19 - del tmp19 - tmp49 += t1.aa * 0.5 - rdm2.abab.oovo += einsum(tmp49, (0, 1), delta.bb.oo, (2, 3), (0, 3, 1, 2), optimize=True) * 2 - del tmp49 - rdm2.aaaa.oovo = tmp30.transpose((1, 2, 3, 0)).copy() * -2 - rdm2.aaaa.oovo += tmp27.transpose((2, 1, 3, 0)) * -1 - rdm2.aaaa.oovo += tmp26.transpose((2, 1, 3, 0)) * -4 - tmp29 = einsum(t1.aa, (0, 1), tmp5, (2, 0, 3, 4), (2, 3, 4, 1), optimize=True) - rdm2.aaaa.oovo += tmp29.transpose((1, 2, 3, 0)) * -2 - tmp3 = tmp2.copy() - del tmp2 - tmp3 += tmp1 * 2 - del tmp1 - tmp3 += tmp0 - del tmp0 - rdm2.aaaa.oovo += einsum(t1.aa, (0, 1), tmp3, (2, 3), (0, 3, 1, 2), optimize=True) * -1 - rdm2.aaaa.oovo += einsum(tmp3, (0, 1), t1.aa, (2, 3), (1, 2, 3, 0), optimize=True) - rdm2.aaaa.oovo += einsum(delta.aa.oo, (0, 1), tmp48, (2, 3), (1, 2, 3, 0), optimize=True) * 2 - rdm2.aaaa.oovo += einsum(delta.aa.oo, (0, 1), tmp48, (2, 3), (2, 1, 3, 0), optimize=True) * -2 - del tmp48 - rdm2.aaaa.oovo += tmp27.transpose((1, 2, 3, 0)) - rdm2.aaaa.oovo += tmp26.transpose((1, 2, 3, 0)) * 4 - rdm2.aaaa.oovo += tmp25.transpose((2, 1, 3, 0)) * 2 - rdm2.aaaa.oovo += einsum(tmp24, (0, 1), delta.aa.oo, (2, 3), (3, 0, 1, 2), optimize=True) * -1 - rdm2.aaaa.oovo += einsum(delta.aa.oo, (0, 1), tmp24, (2, 3), (2, 1, 3, 0), optimize=True) - rdm2.bbbb.ooov = tmp47.transpose((1, 2, 0, 3)).copy() * 2 - del tmp47 - rdm2.bbbb.ooov += tmp45.transpose((2, 1, 0, 3)) * 4 - rdm2.bbbb.ooov += tmp43.transpose((2, 1, 0, 3)) - rdm2.bbbb.ooov += tmp46.transpose((1, 2, 0, 3)) * 2 - del tmp46 - rdm2.bbbb.ooov += einsum(tmp11, (0, 1), t1.bb, (2, 3), (2, 1, 0, 3), optimize=True) - rdm2.bbbb.ooov += einsum(t1.bb, (0, 1), tmp11, (2, 3), (3, 0, 2, 1), optimize=True) * -1 - rdm2.bbbb.ooov += einsum(delta.bb.oo, (0, 1), tmp39, (2, 3), (1, 2, 0, 3), optimize=True) * -1 - rdm2.bbbb.ooov += einsum(delta.bb.oo, (0, 1), tmp39, (2, 3), (2, 1, 0, 3), optimize=True) - rdm2.bbbb.ooov += tmp45.transpose((1, 2, 0, 3)) * -4 - del tmp45 - rdm2.bbbb.ooov += tmp44.transpose((2, 1, 0, 3)) * -2 - del tmp44 - rdm2.bbbb.ooov += tmp43.transpose((1, 2, 0, 3)) * -1 - del tmp43 - tmp42 = tmp34.copy() * -1 - del tmp34 - tmp42 += tmp33 * -0.5 + rdm2.bbbb.oovo += tmp55.transpose((2, 1, 3, 0)) * -1 + rdm2.bbbb.ooov += tmp55.transpose((2, 1, 0, 3)) + del tmp55 + tmp34 = einsum(t1.aa, (0, 1), tmp33, (0, 2, 3, 4), (2, 3, 4, 1), optimize=True) * 2 del tmp33 - tmp42 += tmp32 - del tmp32 - tmp42 += tmp31 * 0.5 - del tmp31 - tmp42 += t1.bb * 0.5 - rdm2.bbbb.ooov += einsum(delta.bb.oo, (0, 1), tmp42, (2, 3), (1, 2, 0, 3), optimize=True) * 2 - rdm2.bbbb.ooov += einsum(delta.bb.oo, (0, 1), tmp42, (2, 3), (2, 1, 0, 3), optimize=True) * -2 - del tmp42 - rdm2.abab.ooov = tmp41.transpose((1, 2, 0, 3)).copy() - del tmp41 - rdm2.abab.ooov += tmp40.transpose((1, 2, 0, 3)) - del tmp40 - rdm2.abab.ooov += einsum(t1.bb, (0, 1), tmp12, (2, 3, 0, 4), (3, 4, 2, 1), optimize=True) - rdm2.abab.ooov += einsum(t1.bb, (0, 1), tmp3, (2, 3), (3, 0, 2, 1), optimize=True) * -1 - rdm2.abab.ooov += einsum(delta.aa.oo, (0, 1), tmp39, (2, 3), (1, 2, 0, 3), optimize=True) * -1 + rdm2.aaaa.oovo += tmp34.transpose((2, 1, 3, 0)) * -1 + rdm2.aaaa.ooov += tmp34.transpose((2, 1, 0, 3)) + del tmp34 + tmp51 = tmp39.copy() del tmp39 - rdm2.abab.ooov += tmp38.transpose((1, 2, 0, 3)) * -1 - del tmp38 - rdm2.abab.ooov += tmp37.transpose((1, 2, 0, 3)) * -2 - del tmp37 - rdm2.abab.ooov += tmp36.transpose((1, 2, 0, 3)) * -2 - del tmp36 - rdm2.abab.ooov += einsum(delta.aa.oo, (0, 1), tmp35, (2, 3), (1, 2, 0, 3), optimize=True) - del tmp35 - rdm2.aaaa.ooov = tmp30.transpose((1, 2, 0, 3)).copy() * 2 - del tmp30 - rdm2.aaaa.ooov += tmp27.transpose((2, 1, 0, 3)) - rdm2.aaaa.ooov += tmp26.transpose((2, 1, 0, 3)) * 4 - rdm2.aaaa.ooov += tmp29.transpose((1, 2, 0, 3)) * 2 - del tmp29 - rdm2.aaaa.ooov += einsum(tmp4, (0, 1), t1.aa, (2, 3), (2, 1, 0, 3), optimize=True) * 2 - rdm2.aaaa.ooov += einsum(tmp4, (0, 1), t1.aa, (2, 3), (1, 2, 0, 3), optimize=True) * -2 - rdm2.aaaa.ooov += einsum(tmp28, (0, 1), delta.aa.oo, (2, 3), (3, 0, 2, 1), optimize=True) * -1 - rdm2.aaaa.ooov += einsum(tmp28, (0, 1), delta.aa.oo, (2, 3), (0, 3, 2, 1), optimize=True) - del tmp28 - rdm2.aaaa.ooov += tmp27.transpose((1, 2, 0, 3)) * -1 - del tmp27 - rdm2.aaaa.ooov += tmp26.transpose((1, 2, 0, 3)) * -4 - del tmp26 - rdm2.aaaa.ooov += tmp25.transpose((2, 1, 0, 3)) * -2 + tmp51 += tmp40 * 2 + del tmp40 + tmp51 += tmp50 + del tmp50 + rdm2.bbbb.ooov += einsum(tmp51, (0, 1), delta.bb.oo, (2, 3), (3, 0, 2, 1), optimize=True) * -1 + rdm2.bbbb.ooov += einsum(tmp51, (0, 1), delta.bb.oo, (2, 3), (0, 3, 2, 1), optimize=True) + del tmp51 + tmp30 = tmp25.copy() * 2 del tmp25 - rdm2.aaaa.ooov += einsum(tmp24, (0, 1), delta.aa.oo, (2, 3), (3, 0, 2, 1), optimize=True) - rdm2.aaaa.ooov += einsum(delta.aa.oo, (0, 1), tmp24, (2, 3), (2, 1, 0, 3), optimize=True) * -1 - del tmp24 - rdm2.bbbb.oooo = tmp18.transpose((2, 3, 1, 0)).copy() * -2 - del tmp18 - rdm2.bbbb.oooo += tmp16.transpose((3, 2, 1, 0)) * 2 - del tmp16 - rdm2.bbbb.oooo += einsum(delta.bb.oo, (0, 1), tmp11, (2, 3), (1, 3, 0, 2), optimize=True) * -1 - rdm2.bbbb.oooo += einsum(delta.bb.oo, (0, 1), tmp11, (2, 3), (3, 1, 0, 2), optimize=True) - tmp15 = tmp10.copy() - del tmp10 - tmp15 += tmp9 * 0.5 - del tmp9 + tmp30 += tmp27 + del tmp27 + tmp30 += tmp29 + del tmp29 + rdm2.aaaa.ooov += einsum(tmp30, (0, 1), delta.aa.oo, (2, 3), (3, 0, 2, 1), optimize=True) * -1 + rdm2.aaaa.ooov += einsum(delta.aa.oo, (0, 1), tmp30, (2, 3), (2, 1, 0, 3), optimize=True) + del tmp30 + tmp15 = delta.bb.oo.transpose((1, 0)).copy() * -0.5 tmp15 += tmp8 * 0.5 - del tmp8 - rdm2.bbbb.oooo += einsum(tmp15, (0, 1), delta.bb.oo, (2, 3), (3, 1, 0, 2), optimize=True) * 2 - rdm2.bbbb.oooo += einsum(tmp15, (0, 1), delta.bb.oo, (2, 3), (1, 3, 0, 2), optimize=True) * -2 + tmp15 += tmp9 * 0.5 + tmp15 += tmp10 + rdm2.bbbb.oooo += einsum(tmp15, (0, 1), delta.bb.oo, (2, 3), (1, 3, 2, 0), optimize=True) * 2 + rdm2.bbbb.oooo += einsum(delta.bb.oo, (0, 1), tmp15, (2, 3), (1, 3, 0, 2), optimize=True) * -2 del tmp15 - rdm2.bbbb.oooo += einsum(delta.bb.oo, (0, 1), delta.bb.oo, (2, 3), (1, 2, 3, 0), optimize=True) * -1 - rdm2.bbbb.oooo += einsum(delta.bb.oo, (0, 1), delta.bb.oo, (2, 3), (1, 3, 0, 2), optimize=True) - rdm2.abab.oooo = tmp14.transpose((1, 3, 0, 2)).copy() - del tmp14 - rdm2.abab.oooo += tmp12.transpose((1, 3, 0, 2)) - del tmp12 - rdm2.abab.oooo += einsum(delta.aa.oo, (0, 1), tmp11, (2, 3), (1, 3, 0, 2), optimize=True) * -1 + tmp11 = delta.bb.oo.transpose((1, 0)).copy() * -1 + tmp11 += tmp8 + del tmp8 + tmp11 += tmp9 + del tmp9 + tmp11 += tmp10 * 2 + del tmp10 + rdm2.abab.oooo += einsum(tmp11, (0, 1), delta.aa.oo, (2, 3), (3, 1, 2, 0), optimize=True) * -1 del tmp11 - rdm2.abab.oooo += einsum(tmp4, (0, 1), delta.bb.oo, (2, 3), (1, 3, 0, 2), optimize=True) * -2 - rdm2.abab.oooo += einsum(delta.aa.oo, (0, 1), delta.bb.oo, (2, 3), (1, 3, 0, 2), optimize=True) - rdm2.aaaa.oooo = tmp7.transpose((2, 3, 1, 0)).copy() * -2 - del tmp7 - rdm2.aaaa.oooo += tmp5.transpose((3, 2, 1, 0)) * 2 - del tmp5 - rdm2.aaaa.oooo += einsum(tmp4, (0, 1), delta.aa.oo, (2, 3), (3, 1, 2, 0), optimize=True) * -2 - rdm2.aaaa.oooo += einsum(tmp4, (0, 1), delta.aa.oo, (2, 3), (1, 3, 2, 0), optimize=True) * 2 - del tmp4 - rdm2.aaaa.oooo += einsum(delta.aa.oo, (0, 1), tmp3, (2, 3), (1, 3, 2, 0), optimize=True) - rdm2.aaaa.oooo += einsum(tmp3, (0, 1), delta.aa.oo, (2, 3), (1, 3, 0, 2), optimize=True) * -1 + tmp3 = delta.aa.oo.transpose((1, 0)).copy() * -0.5 + tmp3 += tmp0 * 0.5 + del tmp0 + tmp3 += tmp1 + del tmp1 + tmp3 += tmp2 * 0.5 + del tmp2 + rdm2.aaaa.oooo += einsum(tmp3, (0, 1), delta.aa.oo, (2, 3), (1, 3, 2, 0), optimize=True) * 2 + rdm2.aaaa.oooo += einsum(tmp3, (0, 1), delta.aa.oo, (2, 3), (3, 1, 2, 0), optimize=True) * -2 del tmp3 - rdm2.aaaa.oooo += einsum(delta.aa.oo, (0, 1), delta.aa.oo, (2, 3), (1, 2, 3, 0), optimize=True) * -1 - rdm2.aaaa.oooo += einsum(delta.aa.oo, (0, 1), delta.aa.oo, (2, 3), (1, 3, 0, 2), optimize=True) + rdm2.aaaa.ovoo += einsum(l1.aa, (0, 1), delta.aa.oo, (2, 3), (3, 0, 1, 2), optimize=True) * -1 + rdm2.aaaa.ovoo += einsum(l1.aa, (0, 1), delta.aa.oo, (2, 3), (3, 0, 2, 1), optimize=True) + rdm2.abab.ovoo += einsum(delta.aa.oo, (0, 1), l1.bb, (2, 3), (1, 2, 0, 3), optimize=True) + rdm2.bbbb.ovoo += einsum(delta.bb.oo, (0, 1), l1.bb, (2, 3), (1, 2, 3, 0), optimize=True) * -1 + rdm2.bbbb.ovoo += einsum(l1.bb, (0, 1), delta.bb.oo, (2, 3), (3, 0, 2, 1), optimize=True) + rdm2.aaaa.vooo += einsum(l1.aa, (0, 1), delta.aa.oo, (2, 3), (0, 3, 1, 2), optimize=True) + rdm2.aaaa.vooo += einsum(l1.aa, (0, 1), delta.aa.oo, (2, 3), (0, 3, 2, 1), optimize=True) * -1 + rdm2.abab.vooo += einsum(l1.aa, (0, 1), delta.bb.oo, (2, 3), (0, 3, 1, 2), optimize=True) + rdm2.bbbb.vooo += einsum(delta.bb.oo, (0, 1), l1.bb, (2, 3), (2, 1, 3, 0), optimize=True) + rdm2.bbbb.vooo += einsum(l1.bb, (0, 1), delta.bb.oo, (2, 3), (0, 3, 2, 1), optimize=True) * -1 del delta + rdm2.aaaa.oovv += t2.aaaa.transpose((1, 0, 3, 2)) * 2 + rdm2.abab.oovv += t2.abab + rdm2.bbbb.oovv += t2.bbbb.transpose((1, 0, 3, 2)) * 2 + rdm2.aaaa.ovov += einsum(l1.aa, (0, 1), t1.aa, (2, 3), (2, 0, 1, 3), optimize=True) * -1 + rdm2.bbbb.ovov += einsum(t1.bb, (0, 1), l1.bb, (2, 3), (0, 2, 3, 1), optimize=True) * -1 + rdm2.aaaa.ovvo += einsum(l1.aa, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1), optimize=True) + rdm2.abab.ovvo += einsum(t1.aa, (0, 1), l1.bb, (2, 3), (0, 2, 1, 3), optimize=True) + rdm2.bbbb.ovvo += einsum(t1.bb, (0, 1), l1.bb, (2, 3), (0, 2, 1, 3), optimize=True) + rdm2.aaaa.voov += einsum(l1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 1, 3), optimize=True) + rdm2.abab.voov += einsum(l1.aa, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3), optimize=True) + rdm2.bbbb.voov += einsum(t1.bb, (0, 1), l1.bb, (2, 3), (2, 0, 3, 1), optimize=True) + rdm2.aaaa.vovo += einsum(l1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 3, 1), optimize=True) * -1 + rdm2.bbbb.vovo += einsum(t1.bb, (0, 1), l1.bb, (2, 3), (2, 0, 1, 3), optimize=True) * -1 + rdm2.aaaa.vvoo = l2.aaaa.transpose((1, 0, 3, 2)).copy() * 2 + rdm2.abab.vvoo = l2.abab.copy() + rdm2.bbbb.vvoo = l2.bbbb.transpose((1, 0, 3, 2)).copy() * 2 + rdm2.abab.ovvv += einsum(t2.abab, (0, 1, 2, 3), l1.bb, (4, 1), (0, 4, 2, 3), optimize=True) + rdm2.abab.vovv += einsum(l1.aa, (0, 1), t2.abab, (1, 2, 3, 4), (0, 2, 3, 4), optimize=True) + rdm2.abab.vvvo = einsum(l2.abab, (0, 1, 2, 3), t1.aa, (2, 4), (0, 1, 4, 3), optimize=True) + rdm2.aaaa.vvvv += einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (4, 5, 0, 1), (5, 4, 3, 2), optimize=True) * 2 + rdm2.abab.vvvv += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 4, 5), (0, 1, 4, 5), optimize=True) + rdm2.bbbb.vvvv += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (2, 3, 4, 5), (1, 0, 5, 4), optimize=True) * 2 rdm2.aaaa = pack_2e(rdm2.aaaa.oooo, rdm2.aaaa.ooov, rdm2.aaaa.oovo, rdm2.aaaa.ovoo, rdm2.aaaa.vooo, rdm2.aaaa.oovv, rdm2.aaaa.ovov, rdm2.aaaa.ovvo, rdm2.aaaa.voov, rdm2.aaaa.vovo, rdm2.aaaa.vvoo, rdm2.aaaa.ovvv, rdm2.aaaa.vovv, rdm2.aaaa.vvov, rdm2.aaaa.vvvo, rdm2.aaaa.vvvv) rdm2.abab = pack_2e(rdm2.abab.oooo, rdm2.abab.ooov, rdm2.abab.oovo, rdm2.abab.ovoo, rdm2.abab.vooo, rdm2.abab.oovv, rdm2.abab.ovov, rdm2.abab.ovvo, rdm2.abab.voov, rdm2.abab.vovo, rdm2.abab.vvoo, rdm2.abab.ovvv, rdm2.abab.vovv, rdm2.abab.vvov, rdm2.abab.vvvo, rdm2.abab.vvvv) rdm2.bbbb = pack_2e(rdm2.bbbb.oooo, rdm2.bbbb.ooov, rdm2.bbbb.oovo, rdm2.bbbb.ovoo, rdm2.bbbb.vooo, rdm2.bbbb.oovv, rdm2.bbbb.ovov, rdm2.bbbb.ovvo, rdm2.bbbb.voov, rdm2.bbbb.vovo, rdm2.bbbb.vvoo, rdm2.bbbb.ovvv, rdm2.bbbb.vovv, rdm2.bbbb.vvov, rdm2.bbbb.vvvo, rdm2.bbbb.vvvv) diff --git a/ebcc/codegen/UDFCCD.py b/ebcc/codegen/UDFCCD.py new file mode 100644 index 00000000..119ea890 --- /dev/null +++ b/ebcc/codegen/UDFCCD.py @@ -0,0 +1,926 @@ +""" +Code generated by `albert`: +https://github.com/obackhouse/albert + + * date: 2024-07-18T20:30:59.078557 + * python version: 3.10.12 (main, Mar 22 2024, 16:50:05) [GCC 11.4.0] + * albert version: 0.0.0 + * caller: /home/ollie/git/albert/albert/codegen/einsum.py + * node: ollie-desktop + * system: Linux + * processor: x86_64 + * release: 6.5.0-44-generic +""" + +from ebcc import numpy as np +from ebcc.util import pack_2e, einsum, direct_sum, Namespace + + +def energy(t2=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-07-18T20:30:59.475230. + + Parameters + ---------- + t2 : Namespace of arrays + T2 amplitudes. + v : Namespace of arrays + Electron repulsion integrals. + + Returns + ------- + e_cc : float + Coupled cluster energy. + """ + + tmp0 = einsum(t2.aaaa, (0, 1, 2, 3), v.baa.xov, (4, 1, 3), (0, 2, 4), optimize=True) + e_cc = einsum(tmp0, (0, 1, 2), v.baa.xov, (2, 0, 1), (), optimize=True) + del tmp0 + tmp1 = einsum(t2.abab, (0, 1, 2, 3), v.baa.xov, (4, 0, 2), (1, 3, 4), optimize=True) + tmp1 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbb.xov, (4, 1, 3), (0, 2, 4), optimize=True) + e_cc += einsum(v.bbb.xov, (0, 1, 2), tmp1, (1, 2, 0), (), optimize=True) + del tmp1 + + return e_cc + +def update_amps(f=None, t2=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-07-18T20:31:11.392834. + + Parameters + ---------- + f : Namespace of arrays + Fock matrix. + t2 : Namespace of arrays + T2 amplitudes. + v : Namespace of arrays + Electron repulsion integrals. + + Returns + ------- + t2new : Namespace of arrays + Updated T2 residuals. + """ + + t1new = Namespace() + t2new = Namespace() + tmp31 = einsum(t2.abab, (0, 1, 2, 3), v.baa.xov, (4, 0, 2), (1, 3, 4), optimize=True) + tmp32 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbb.xov, (4, 0, 3), (1, 2, 4), optimize=True) * -1 + tmp4 = einsum(v.bbb.xov, (0, 1, 2), t2.abab, (3, 1, 4, 2), (3, 4, 0), optimize=True) + tmp3 = einsum(t2.aaaa, (0, 1, 2, 3), v.baa.xov, (4, 0, 3), (1, 2, 4), optimize=True) * -1 + tmp15 = einsum(v.bbb.xov, (0, 1, 2), v.bbb.xov, (0, 3, 4), (1, 3, 2, 4), optimize=True) + t2new.bbbb = tmp15.transpose((1, 0, 2, 3)).copy() * -1 + t2new.bbbb += tmp15.transpose((1, 0, 3, 2)) + tmp33 = tmp31.copy() * 0.5 + tmp33 += tmp32 + tmp10 = einsum(v.baa.xov, (0, 1, 2), v.baa.xov, (0, 3, 4), (1, 3, 2, 4), optimize=True) + t2new.aaaa = tmp10.transpose((1, 0, 2, 3)).copy() * -1 + t2new.aaaa += tmp10.transpose((1, 0, 3, 2)) + tmp7 = tmp3.copy() * 2 + tmp7 += tmp4 + tmp5 = tmp3.copy() * 2 + tmp5 += tmp4 + tmp43 = einsum(v.bbb.xvv, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (3, 4, 1, 2), optimize=True) + t2new.abab = einsum(tmp43, (0, 1, 2, 3), t2.abab, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) * -1 + tmp55 = tmp15.transpose((1, 0, 2, 3)).copy() + tmp55 += tmp15.transpose((1, 0, 3, 2)) * -1 + tmp48 = einsum(v.bbb.xoo, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (1, 4, 3, 2), optimize=True) + tmp65 = einsum(tmp33, (0, 1, 2), v.bbb.xov, (2, 3, 1), (0, 3), optimize=True) + tmp59 = v.bbb.xov.transpose((1, 2, 0)).copy() + tmp59 += tmp32 * 2 + tmp61 = v.bbb.xov.transpose((1, 2, 0)).copy() + tmp61 += tmp31 + tmp13 = tmp10.transpose((1, 0, 2, 3)).copy() * -1 + tmp13 += tmp10.transpose((1, 0, 3, 2)) + tmp51 = einsum(tmp33, (0, 1, 2), v.bbb.xov, (2, 0, 3), (1, 3), optimize=True) * 2 + t2new.bbbb += einsum(t2.bbbb, (0, 1, 2, 3), tmp51, (4, 2), (1, 0, 3, 4), optimize=True) * -2 + tmp35 = tmp31.copy() + tmp35 += tmp32 * 2 + t2new.abab += einsum(v.baa.xov, (0, 1, 2), tmp35, (3, 4, 0), (1, 3, 2, 4), optimize=True) + tmp38 = einsum(v.bbb.xov, (0, 1, 2), v.baa.xov, (0, 3, 4), (3, 1, 4, 2), optimize=True) + t2new.abab += tmp38 + tmp12 = einsum(v.baa.xoo, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 2, 3, 4), optimize=True) + tmp8 = einsum(tmp7, (0, 1, 2), v.baa.xov, (2, 3, 4), (3, 0, 4, 1), optimize=True) + t2new.aaaa += tmp8.transpose((1, 0, 3, 2)) + t2new.aaaa += tmp8.transpose((0, 1, 3, 2)) * -1 + t2new.aaaa += tmp8 + tmp19 = einsum(tmp10, (0, 1, 2, 3), t2.aaaa, (4, 1, 5, 2), (4, 0, 5, 3), optimize=True) + tmp29 = einsum(v.baa.xoo, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (1, 2, 3, 4), optimize=True) + tmp36 = tmp3.copy() + tmp36 += tmp4 * 0.5 + tmp22 = einsum(tmp15, (0, 1, 2, 3), t2.abab, (4, 1, 5, 2), (4, 0, 5, 3), optimize=True) + tmp40 = einsum(v.bbb.xov, (0, 1, 2), tmp7, (3, 4, 0), (3, 1, 4, 2), optimize=True) + del tmp7 + t2new.abab += tmp40 + tmp23 = v.baa.xov.transpose((1, 2, 0)).copy() + tmp23 += tmp4 + tmp20 = v.baa.xov.transpose((1, 2, 0)).copy() + tmp20 += tmp3 * 2 + tmp27 = einsum(tmp5, (0, 1, 2), v.baa.xov, (2, 3, 1), (3, 0), optimize=True) * 0.5 + t2new.abab += einsum(tmp27, (0, 1), t2.abab, (0, 2, 3, 4), (1, 2, 3, 4), optimize=True) * -2 + tmp16 = tmp15.transpose((1, 0, 2, 3)).copy() * -1 + tmp16 += tmp15.transpose((1, 0, 3, 2)) + tmp0 = einsum(v.baa.xoo, (0, 1, 2), v.baa.xoo, (0, 3, 4), (1, 4, 3, 2), optimize=True) + tmp6 = einsum(tmp5, (0, 1, 2), v.baa.xov, (2, 0, 3), (3, 1), optimize=True) + del tmp5 + t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp6, (2, 4), (1, 0, 3, 4), optimize=True) * -2 + tmp56 = tmp43.transpose((1, 0, 3, 2)).copy() + tmp56 += einsum(t2.bbbb, (0, 1, 2, 3), tmp55, (0, 4, 5, 2), (1, 4, 3, 5), optimize=True) * -2 + del tmp55 + t2new.bbbb += einsum(t2.bbbb, (0, 1, 2, 3), tmp56, (4, 0, 5, 2), (4, 1, 5, 3), optimize=True) * -2 + del tmp56 + tmp49 = einsum(t2.bbbb, (0, 1, 2, 3), tmp48, (4, 1, 5, 0), (5, 4, 2, 3), optimize=True) * -1 + del tmp48 + t2new.bbbb += tmp49.transpose((0, 1, 3, 2)) * -1 + t2new.bbbb += tmp49.transpose((0, 1, 3, 2)) * -1 + del tmp49 + tmp66 = einsum(t2.bbbb, (0, 1, 2, 3), tmp65, (4, 0), (1, 4, 2, 3), optimize=True) * 4 + del tmp65 + t2new.bbbb += tmp66.transpose((1, 0, 3, 2)) + t2new.bbbb += tmp66.transpose((0, 1, 3, 2)) * -1 + del tmp66 + tmp50 = einsum(f.bb.oo, (0, 1), t2.bbbb, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) + t2new.bbbb += tmp50.transpose((0, 1, 3, 2)) * -2 + t2new.bbbb += tmp50.transpose((1, 0, 3, 2)) * 2 + del tmp50 + tmp60 = tmp43.transpose((1, 0, 3, 2)).copy() * -1 + tmp60 += einsum(t2.bbbb, (0, 1, 2, 3), tmp15, (1, 4, 5, 3), (0, 4, 2, 5), optimize=True) * -2 + tmp60 += einsum(tmp59, (0, 1, 2), v.bbb.xov, (2, 3, 4), (0, 3, 1, 4), optimize=True) + del tmp59 + t2new.bbbb += einsum(t2.bbbb, (0, 1, 2, 3), tmp60, (4, 0, 5, 2), (1, 4, 5, 3), optimize=True) * -2 + del tmp60 + tmp62 = einsum(t2.abab, (0, 1, 2, 3), tmp10, (0, 4, 5, 2), (4, 1, 5, 3), optimize=True) * -1 + tmp62 += einsum(v.baa.xov, (0, 1, 2), tmp61, (3, 4, 0), (1, 3, 2, 4), optimize=True) + del tmp61 + t2new.bbbb += einsum(t2.abab, (0, 1, 2, 3), tmp62, (0, 4, 2, 5), (1, 4, 5, 3), optimize=True) * -1 + del tmp62 + tmp58 = einsum(t2.bbbb, (0, 1, 2, 3), tmp43, (4, 1, 5, 3), (0, 4, 2, 5), optimize=True) + del tmp43 + t2new.bbbb += tmp58 * -2 + t2new.bbbb += tmp58.transpose((1, 0, 2, 3)) * 2 + del tmp58 + tmp54 = einsum(tmp31, (0, 1, 2), tmp32, (3, 4, 2), (0, 3, 1, 4), optimize=True) + del tmp31, tmp32 + t2new.bbbb += tmp54.transpose((1, 0, 2, 3)) * -2 + t2new.bbbb += tmp54.transpose((0, 1, 3, 2)) * -2 + t2new.bbbb += tmp54.transpose((1, 0, 3, 2)) * 2 + t2new.bbbb += tmp54 * 2 + del tmp54 + tmp57 = einsum(t2.abab, (0, 1, 2, 3), tmp13, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) + t2new.bbbb += einsum(tmp57, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) + del tmp57 + tmp53 = f.bb.vv.transpose((1, 0)).copy() * -1 + tmp53 += tmp51 + del tmp51 + t2new.bbbb += einsum(tmp53, (0, 1), t2.bbbb, (2, 3, 1, 4), (3, 2, 0, 4), optimize=True) * 2 + del tmp53 + tmp63 = einsum(v.bbb.xvv, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (3, 2, 1, 4), optimize=True) + t2new.bbbb += einsum(tmp63, (0, 1, 2, 3), t2.bbbb, (4, 5, 3, 1), (4, 5, 0, 2), optimize=True) * 2 + del tmp63 + tmp64 = einsum(t2.bbbb, (0, 1, 2, 3), tmp15, (4, 5, 2, 3), (0, 1, 5, 4), optimize=True) * -1 + del tmp15 + t2new.bbbb += einsum(tmp64, (0, 1, 2, 3), t2.bbbb, (3, 2, 4, 5), (1, 0, 5, 4), optimize=True) * -2 + del tmp64 + tmp52 = einsum(v.bbb.xov, (0, 1, 2), tmp35, (3, 4, 0), (3, 1, 4, 2), optimize=True) + del tmp35 + t2new.bbbb += tmp52 + t2new.bbbb += tmp52.transpose((1, 0, 2, 3)) * -1 + t2new.bbbb += tmp52.transpose((1, 0, 3, 2)) + del tmp52 + tmp42 = einsum(v.bbb.xoo, (0, 1, 2), v.baa.xvv, (0, 3, 4), (2, 1, 4, 3), optimize=True) + tmp42 += einsum(tmp38, (0, 1, 2, 3), t2.abab, (0, 4, 5, 3), (1, 4, 2, 5), optimize=True) * -1 + t2new.abab += einsum(tmp42, (0, 1, 2, 3), t2.abab, (4, 0, 2, 5), (4, 1, 3, 5), optimize=True) * -1 + del tmp42 + tmp39 = tmp12.transpose((1, 0, 3, 2)).copy() + tmp39 += tmp19.transpose((1, 0, 3, 2)) * 2 + tmp39 += tmp8 * -1 + del tmp8 + t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp39, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) * -1 + del tmp39 + tmp30 = einsum(tmp29, (0, 1, 2, 3), t2.abab, (1, 3, 4, 5), (0, 2, 4, 5), optimize=True) + del tmp29 + t2new.abab += tmp30 * 0.5 + t2new.abab += tmp30 * 0.5 + del tmp30 + tmp47 = einsum(tmp33, (0, 1, 2), v.bbb.xov, (2, 3, 1), (0, 3), optimize=True) * 2 + t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp47, (4, 1), (0, 4, 2, 3), optimize=True) * -1 + del tmp47 + tmp37 = f.aa.vv.transpose((1, 0)).copy() * -1 + tmp37 += einsum(tmp36, (0, 1, 2), v.baa.xov, (2, 0, 3), (3, 1), optimize=True) * 2 + del tmp36 + t2new.abab += einsum(tmp37, (0, 1), t2.abab, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) * -1 + del tmp37 + tmp41 = tmp22.copy() * -1 + tmp41 += tmp40 + del tmp40 + t2new.abab += einsum(t2.bbbb, (0, 1, 2, 3), tmp41, (4, 0, 5, 2), (4, 1, 5, 3), optimize=True) * 2 + del tmp41 + tmp45 = einsum(v.bbb.xvv, (0, 1, 2), v.baa.xvv, (0, 3, 4), (3, 4, 1, 2), optimize=True) + t2new.abab += einsum(tmp45, (0, 1, 2, 3), t2.abab, (4, 5, 1, 3), (4, 5, 0, 2), optimize=True) + del tmp45 + tmp34 = einsum(tmp33, (0, 1, 2), v.bbb.xov, (2, 0, 3), (1, 3), optimize=True) + del tmp33 + t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp34, (4, 3), (0, 1, 2, 4), optimize=True) * -2 + del tmp34 + tmp44 = einsum(v.baa.xoo, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (1, 2, 3, 4), optimize=True) + t2new.abab += einsum(tmp44, (0, 1, 2, 3), t2.abab, (1, 4, 5, 3), (0, 4, 5, 2), optimize=True) * -1 + del tmp44 + tmp46 = einsum(tmp38, (0, 1, 2, 3), t2.abab, (4, 5, 2, 3), (4, 0, 5, 1), optimize=True) + del tmp38 + t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp46, (4, 0, 5, 1), (4, 5, 2, 3), optimize=True) + del tmp46 + tmp18 = einsum(tmp12, (0, 1, 2, 3), t2.aaaa, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) + t2new.aaaa += tmp18 * -2 + t2new.aaaa += tmp18.transpose((1, 0, 2, 3)) * 2 + del tmp18 + tmp24 = tmp22.copy() * -1 + del tmp22 + tmp24 += einsum(v.bbb.xov, (0, 1, 2), tmp23, (3, 4, 0), (3, 1, 4, 2), optimize=True) + del tmp23 + t2new.aaaa += einsum(tmp24, (0, 1, 2, 3), t2.abab, (4, 1, 5, 3), (4, 0, 2, 5), optimize=True) * -1 + del tmp24 + tmp14 = tmp12.transpose((1, 0, 3, 2)).copy() + tmp14 += einsum(t2.aaaa, (0, 1, 2, 3), tmp13, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) * -2 + del tmp13 + t2new.aaaa += einsum(tmp14, (0, 1, 2, 3), t2.aaaa, (1, 4, 3, 5), (0, 4, 2, 5), optimize=True) * -2 + del tmp14 + tmp26 = einsum(t2.aaaa, (0, 1, 2, 3), tmp10, (4, 5, 2, 3), (0, 1, 5, 4), optimize=True) * -1 + del tmp10 + t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp26, (4, 5, 1, 0), (5, 4, 3, 2), optimize=True) * -2 + del tmp26 + tmp21 = tmp12.transpose((1, 0, 3, 2)).copy() * -1 + del tmp12 + tmp21 += tmp19 * -2 + del tmp19 + tmp21 += einsum(tmp20, (0, 1, 2), v.baa.xov, (2, 3, 4), (0, 3, 1, 4), optimize=True) + del tmp20 + t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp21, (4, 0, 5, 2), (1, 4, 5, 3), optimize=True) * -2 + del tmp21 + tmp28 = einsum(t2.aaaa, (0, 1, 2, 3), tmp27, (0, 4), (4, 1, 2, 3), optimize=True) * 4 + del tmp27 + t2new.aaaa += tmp28.transpose((0, 1, 3, 2)) + t2new.aaaa += tmp28.transpose((1, 0, 3, 2)) * -1 + del tmp28 + tmp25 = einsum(v.baa.xvv, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 4, 3, 2), optimize=True) + t2new.aaaa += einsum(tmp25, (0, 1, 2, 3), t2.aaaa, (4, 5, 3, 1), (4, 5, 0, 2), optimize=True) * 2 + del tmp25 + tmp17 = einsum(t2.abab, (0, 1, 2, 3), tmp16, (1, 4, 5, 3), (0, 4, 2, 5), optimize=True) * -1 + del tmp16 + t2new.aaaa += einsum(t2.abab, (0, 1, 2, 3), tmp17, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) + del tmp17 + tmp2 = einsum(f.aa.oo, (0, 1), t2.aaaa, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) + t2new.aaaa += tmp2.transpose((0, 1, 3, 2)) * -2 + t2new.aaaa += tmp2.transpose((1, 0, 3, 2)) * 2 + del tmp2 + tmp11 = einsum(tmp3, (0, 1, 2), tmp4, (3, 4, 2), (0, 3, 1, 4), optimize=True) + del tmp3, tmp4 + t2new.aaaa += tmp11.transpose((1, 0, 2, 3)) * -2 + t2new.aaaa += tmp11.transpose((0, 1, 3, 2)) * -2 + t2new.aaaa += tmp11.transpose((1, 0, 3, 2)) * 2 + t2new.aaaa += tmp11 * 2 + del tmp11 + tmp1 = einsum(t2.aaaa, (0, 1, 2, 3), tmp0, (4, 1, 5, 0), (5, 4, 2, 3), optimize=True) * -1 + del tmp0 + t2new.aaaa += tmp1.transpose((0, 1, 3, 2)) * -1 + t2new.aaaa += tmp1.transpose((0, 1, 3, 2)) * -1 + del tmp1 + tmp9 = f.aa.vv.transpose((1, 0)).copy() * -1 + tmp9 += tmp6.transpose((1, 0)) + del tmp6 + t2new.aaaa += einsum(tmp9, (0, 1), t2.aaaa, (2, 3, 1, 4), (3, 2, 0, 4), optimize=True) * 2 + del tmp9 + t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), f.aa.vv, (4, 3), (1, 0, 2, 4), optimize=True) * -2 + t2new.abab += einsum(t2.abab, (0, 1, 2, 3), f.bb.oo, (4, 1), (0, 4, 2, 3), optimize=True) * -1 + t2new.abab += einsum(f.aa.oo, (0, 1), t2.abab, (1, 2, 3, 4), (0, 2, 3, 4), optimize=True) * -1 + t2new.abab += einsum(f.bb.vv, (0, 1), t2.abab, (2, 3, 4, 1), (2, 3, 4, 0), optimize=True) + t2new.bbbb += einsum(t2.bbbb, (0, 1, 2, 3), f.bb.vv, (4, 3), (1, 0, 2, 4), optimize=True) * -2 + + return {f"t2new": t2new} + +def update_lams(f=None, l2=None, t2=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-07-18T20:31:31.055236. + + Parameters + ---------- + f : Namespace of arrays + Fock matrix. + l2 : Namespace of arrays + L2 amplitudes. + t2 : Namespace of arrays + T2 amplitudes. + v : Namespace of arrays + Electron repulsion integrals. + + Returns + ------- + l2new : Namespace of arrays + Updated L2 residuals. + """ + + l1new = Namespace() + l2new = Namespace() + tmp41 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 4, 0, 1), (4, 3), optimize=True) + tmp42 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (4, 2, 0, 1), (4, 3), optimize=True) * -1 + tmp56 = einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (3, 4, 0, 1), (2, 4), optimize=True) * -1 + tmp55 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 3, 0, 4), (4, 1), optimize=True) + tmp17 = einsum(t2.abab, (0, 1, 2, 3), v.baa.xov, (4, 0, 2), (1, 3, 4), optimize=True) + tmp18 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbb.xov, (4, 1, 3), (0, 2, 4), optimize=True) + tmp14 = einsum(v.bbb.xov, (0, 1, 2), t2.abab, (3, 1, 4, 2), (3, 4, 0), optimize=True) + tmp13 = einsum(t2.aaaa, (0, 1, 2, 3), v.baa.xov, (4, 1, 3), (0, 2, 4), optimize=True) + tmp0 = einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (2, 3, 1, 4), (0, 4), optimize=True) * -1 + tmp1 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 4, 1), (0, 4), optimize=True) + tmp21 = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (2, 3, 4, 0), (4, 1), optimize=True) * -1 + tmp22 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 0, 1), (2, 4), optimize=True) + tmp43 = tmp41.copy() * 0.5 + del tmp41 + tmp43 += tmp42 + del tmp42 + tmp57 = tmp55.copy() * 0.5 + del tmp55 + tmp57 += tmp56 + del tmp56 + tmp19 = v.bbb.xov.transpose((1, 2, 0)).copy() + tmp19 += tmp17 + tmp19 += tmp18 * 2 + tmp15 = v.baa.xov.transpose((1, 2, 0)).copy() + tmp15 += tmp13 * 2 + tmp15 += tmp14 + tmp47 = tmp17.copy() * 0.5 + tmp47 += tmp18 + tmp2 = tmp0.copy() * 2 + del tmp0 + tmp2 += tmp1 + del tmp1 + tmp27 = tmp13.copy() * 2 + tmp27 += tmp14 + tmp23 = tmp21.copy() * 2 + del tmp21 + tmp23 += tmp22 + del tmp22 + tmp76 = einsum(v.bbb.xov, (0, 1, 2), tmp43, (3, 2), (1, 3, 0), optimize=True) * 2 + tmp86 = einsum(tmp57, (0, 1), v.bbb.xov, (2, 1, 3), (0, 3, 2), optimize=True) * 0.5 + tmp85 = einsum(tmp19, (0, 1, 2), l2.bbbb, (1, 3, 0, 4), (4, 3, 2), optimize=True) * 0.5 + tmp84 = einsum(tmp15, (0, 1, 2), l2.abab, (1, 3, 0, 4), (4, 3, 2), optimize=True) * 0.25 + tmp65 = einsum(v.bbb.xov, (0, 1, 2), tmp47, (1, 3, 0), (2, 3), optimize=True) * 2 + tmp58 = einsum(tmp57, (0, 1), v.bbb.xov, (2, 1, 3), (0, 3, 2), optimize=True) + del tmp57 + tmp53 = einsum(tmp15, (0, 1, 2), l2.abab, (1, 3, 0, 4), (4, 3, 2), optimize=True) * 0.5 + tmp54 = einsum(tmp19, (0, 1, 2), l2.bbbb, (1, 3, 0, 4), (4, 3, 2), optimize=True) + tmp89 = einsum(v.bbb.xov, (0, 1, 2), tmp47, (3, 2, 0), (1, 3), optimize=True) * 2 + tmp80 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 5), (3, 4, 1, 5), optimize=True) + tmp81 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (4, 2, 5, 0), (5, 1, 4, 3), optimize=True) + tmp3 = einsum(tmp2, (0, 1), v.baa.xov, (2, 3, 1), (3, 0, 2), optimize=True) + tmp35 = einsum(v.baa.xov, (0, 1, 2), tmp27, (1, 3, 0), (3, 2), optimize=True) * 0.5 + tmp24 = einsum(v.baa.xov, (0, 1, 2), tmp23, (3, 1), (3, 2, 0), optimize=True) * 0.5 + del tmp23 + l2new.abab = einsum(v.bbb.xov, (0, 1, 2), tmp24, (3, 4, 0), (4, 2, 3, 1), optimize=True) * -2 + tmp20 = einsum(l2.abab, (0, 1, 2, 3), tmp19, (3, 1, 4), (2, 0, 4), optimize=True) * 0.5 + del tmp19 + tmp16 = einsum(tmp15, (0, 1, 2), l2.aaaa, (1, 3, 0, 4), (4, 3, 2), optimize=True) + del tmp15 + tmp28 = einsum(v.baa.xov, (0, 1, 2), tmp27, (3, 2, 0), (3, 1), optimize=True) + tmp8 = einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (3, 4, 1, 5), (2, 4, 0, 5), optimize=True) + tmp9 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (4, 3, 5, 1), (5, 0, 4, 2), optimize=True) + tmp77 = v.bbb.xov.transpose((1, 2, 0)).copy() + tmp77 += tmp76 * -1 + del tmp76 + tmp68 = einsum(v.bbb.xvv, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (3, 4, 1, 2), optimize=True) + l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp68, (4, 3, 5, 1), (0, 5, 2, 4), optimize=True) * -1 + tmp87 = tmp84.copy() + del tmp84 + tmp87 += tmp85 + del tmp85 + tmp87 += tmp86 * -1 + del tmp86 + tmp66 = f.bb.vv.transpose((1, 0)).copy() * -1 + tmp66 += tmp65.transpose((1, 0)) + del tmp65 + l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp66, (1, 4), (0, 4, 2, 3), optimize=True) * -1 + tmp59 = tmp53.copy() + del tmp53 + tmp59 += tmp54 + del tmp54 + tmp59 += tmp58 * -1 + del tmp58 + l2new.abab += einsum(tmp59, (0, 1, 2), v.baa.xov, (2, 3, 4), (4, 1, 3, 0), optimize=True) * 2 + tmp44 = einsum(v.bbb.xov, (0, 1, 2), tmp43, (3, 2), (1, 3, 0), optimize=True) + del tmp43 + tmp95 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (2, 3, 4, 5), (4, 5, 0, 1), optimize=True) + tmp70 = einsum(v.bbb.xov, (0, 1, 2), v.bbb.xov, (0, 3, 4), (1, 3, 2, 4), optimize=True) + tmp90 = f.bb.oo.transpose((1, 0)).copy() + tmp90 += tmp89.transpose((1, 0)) + del tmp89 + tmp93 = einsum(v.bbb.xvv, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (3, 2, 1, 4), optimize=True) + tmp82 = tmp80.copy() + del tmp80 + tmp82 += tmp81 * 4 + del tmp81 + tmp60 = einsum(v.bbb.xvv, (0, 1, 2), v.baa.xvv, (0, 3, 4), (3, 4, 1, 2), optimize=True) + tmp71 = v.baa.xov.transpose((1, 2, 0)).copy() + tmp71 += tmp13 * 2 + del tmp13 + tmp71 += tmp14 + del tmp14 + tmp72 = v.bbb.xov.transpose((1, 2, 0)).copy() + tmp72 += tmp17 + del tmp17 + tmp72 += tmp18 * 2 + del tmp18 + tmp6 = einsum(v.baa.xoo, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 2, 3, 4), optimize=True) + tmp11 = einsum(v.baa.xov, (0, 1, 2), v.baa.xov, (0, 3, 4), (1, 3, 2, 4), optimize=True) + tmp50 = einsum(v.bbb.xov, (0, 1, 2), v.baa.xov, (0, 3, 4), (3, 1, 4, 2), optimize=True) + tmp62 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 3, 4, 5), (4, 0, 5, 1), optimize=True) + tmp4 = v.baa.xov.transpose((1, 2, 0)).copy() + tmp4 += tmp3 * -1 + del tmp3 + tmp31 = einsum(v.baa.xvv, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 4, 3, 2), optimize=True) + tmp33 = einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 5, 0, 1), (2, 3, 4, 5), optimize=True) + tmp36 = f.aa.vv.transpose((1, 0)).copy() * -0.5 + tmp36 += tmp35 + del tmp35 + tmp39 = einsum(tmp2, (0, 1), v.baa.xov, (2, 3, 1), (3, 0, 2), optimize=True) * 0.5 + del tmp2 + l2new.abab += einsum(tmp39, (0, 1, 2), v.bbb.xov, (2, 3, 4), (1, 4, 0, 3), optimize=True) * -2 + tmp25 = tmp16.copy() + del tmp16 + tmp25 += tmp20 + del tmp20 + tmp25 += tmp24 * -1 + del tmp24 + tmp29 = f.aa.oo.transpose((1, 0)).copy() + tmp29 += tmp28 + del tmp28 + l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp29, (2, 4), (0, 1, 4, 3), optimize=True) * -1 + tmp10 = tmp8.copy() * 4 + del tmp8 + tmp10 += tmp9 + del tmp9 + tmp78 = einsum(tmp77, (0, 1, 2), v.bbb.xov, (2, 3, 4), (3, 0, 4, 1), optimize=True) + del tmp77 + l2new.bbbb = tmp78.transpose((3, 2, 0, 1)).copy() * -1 + l2new.bbbb += tmp78.transpose((2, 3, 0, 1)) + del tmp78 + tmp79 = einsum(l2.bbbb, (0, 1, 2, 3), tmp68, (4, 3, 5, 1), (2, 4, 0, 5), optimize=True) + del tmp68 + l2new.bbbb += tmp79.transpose((2, 3, 1, 0)) * 2 + l2new.bbbb += tmp79.transpose((2, 3, 0, 1)) * -2 + l2new.bbbb += tmp79.transpose((3, 2, 1, 0)) * -2 + l2new.bbbb += tmp79.transpose((3, 2, 0, 1)) * 2 + del tmp79 + tmp88 = einsum(v.bbb.xov, (0, 1, 2), tmp87, (3, 4, 0), (1, 3, 2, 4), optimize=True) * 4 + del tmp87 + l2new.bbbb += tmp88.transpose((3, 2, 1, 0)) + l2new.bbbb += tmp88.transpose((2, 3, 1, 0)) * -1 + del tmp88 + tmp97 = einsum(l2.bbbb, (0, 1, 2, 3), tmp66, (0, 4), (2, 3, 1, 4), optimize=True) * 2 + del tmp66 + l2new.bbbb += tmp97.transpose((2, 3, 1, 0)) * -1 + l2new.bbbb += tmp97.transpose((3, 2, 1, 0)) + del tmp97 + tmp92 = einsum(v.bbb.xov, (0, 1, 2), tmp59, (3, 4, 0), (1, 3, 2, 4), optimize=True) * 2 + del tmp59 + l2new.bbbb += tmp92.transpose((3, 2, 0, 1)) * -1 + l2new.bbbb += tmp92.transpose((2, 3, 0, 1)) + del tmp92 + tmp99 = einsum(v.bbb.xov, (0, 1, 2), tmp44, (3, 4, 0), (1, 3, 2, 4), optimize=True) * -2 + l2new.bbbb += tmp99.transpose((3, 2, 1, 0)) + l2new.bbbb += tmp99.transpose((2, 3, 1, 0)) * -1 + del tmp99 + tmp96 = einsum(tmp95, (0, 1, 2, 3), tmp70, (2, 3, 4, 5), (0, 1, 4, 5), optimize=True) + del tmp95 + l2new.bbbb += tmp96.transpose((3, 2, 1, 0)) + l2new.bbbb += tmp96.transpose((3, 2, 1, 0)) + del tmp96 + tmp91 = einsum(tmp90, (0, 1), l2.bbbb, (2, 3, 0, 4), (4, 1, 2, 3), optimize=True) * 2 + del tmp90 + l2new.bbbb += tmp91.transpose((3, 2, 1, 0)) + l2new.bbbb += tmp91.transpose((3, 2, 0, 1)) * -1 + del tmp91 + tmp98 = einsum(v.bbb.xoo, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (2, 3, 4, 1), optimize=True) + tmp98 += einsum(tmp70, (0, 1, 2, 3), t2.bbbb, (4, 5, 2, 3), (5, 4, 1, 0), optimize=True) * -1 + l2new.bbbb += einsum(l2.bbbb, (0, 1, 2, 3), tmp98, (2, 3, 4, 5), (1, 0, 5, 4), optimize=True) * -2 + del tmp98 + tmp94 = einsum(l2.bbbb, (0, 1, 2, 3), tmp93, (4, 1, 5, 0), (2, 3, 5, 4), optimize=True) * -1 + del tmp93 + l2new.bbbb += tmp94.transpose((2, 3, 1, 0)) * -1 + l2new.bbbb += tmp94.transpose((2, 3, 1, 0)) * -1 + del tmp94 + tmp83 = einsum(tmp70, (0, 1, 2, 3), tmp82, (4, 0, 5, 3), (4, 1, 5, 2), optimize=True) + del tmp82 + l2new.bbbb += tmp83.transpose((3, 2, 1, 0)) * -1 + l2new.bbbb += tmp83.transpose((3, 2, 0, 1)) + l2new.bbbb += tmp83.transpose((2, 3, 1, 0)) + l2new.bbbb += tmp83.transpose((2, 3, 0, 1)) * -1 + del tmp83 + tmp61 = einsum(tmp60, (0, 1, 2, 3), l2.abab, (1, 3, 4, 5), (4, 5, 0, 2), optimize=True) + del tmp60 + l2new.abab += tmp61.transpose((2, 3, 0, 1)) * 0.5 + l2new.abab += tmp61.transpose((2, 3, 0, 1)) * 0.5 + del tmp61 + tmp51 = einsum(l2.bbbb, (0, 1, 2, 3), t2.abab, (4, 3, 5, 1), (4, 2, 5, 0), optimize=True) + l2new.abab += einsum(tmp51, (0, 1, 2, 3), tmp11, (4, 0, 2, 5), (5, 3, 4, 1), optimize=True) * -2 + del tmp51 + tmp48 = f.bb.oo.transpose((1, 0)).copy() * 0.5 + tmp48 += einsum(v.bbb.xov, (0, 1, 2), tmp47, (3, 2, 0), (3, 1), optimize=True) + del tmp47 + l2new.abab += einsum(tmp48, (0, 1), l2.abab, (2, 3, 4, 0), (2, 3, 4, 1), optimize=True) * -2 + del tmp48 + tmp73 = einsum(tmp71, (0, 1, 2), l2.aaaa, (1, 3, 0, 4), (4, 3, 2), optimize=True) * 2 + del tmp71 + tmp73 += einsum(tmp72, (0, 1, 2), l2.abab, (3, 1, 4, 0), (4, 3, 2), optimize=True) + del tmp72 + l2new.abab += einsum(v.bbb.xov, (0, 1, 2), tmp73, (3, 4, 0), (4, 2, 3, 1), optimize=True) + del tmp73 + tmp52 = tmp6.transpose((1, 0, 3, 2)).copy() * 0.5 + tmp52 += einsum(tmp11, (0, 1, 2, 3), t2.aaaa, (4, 1, 5, 2), (4, 0, 5, 3), optimize=True) + l2new.abab += einsum(tmp52, (0, 1, 2, 3), l2.abab, (2, 4, 0, 5), (3, 4, 1, 5), optimize=True) * -2 + del tmp52 + tmp69 = einsum(t2.abab, (0, 1, 2, 3), l2.aaaa, (4, 2, 5, 0), (5, 1, 4, 3), optimize=True) + tmp69 += einsum(t2.bbbb, (0, 1, 2, 3), l2.abab, (4, 2, 5, 0), (5, 1, 4, 3), optimize=True) + l2new.abab += einsum(tmp70, (0, 1, 2, 3), tmp69, (4, 0, 5, 3), (5, 2, 4, 1), optimize=True) * -2 + del tmp70, tmp69 + tmp67 = einsum(v.bbb.xoo, (0, 1, 2), v.baa.xoo, (0, 3, 4), (4, 3, 2, 1), optimize=True) + tmp67 += einsum(tmp50, (0, 1, 2, 3), t2.abab, (4, 5, 2, 3), (4, 0, 5, 1), optimize=True) + l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp67, (2, 4, 3, 5), (0, 1, 4, 5), optimize=True) + del tmp67 + tmp63 = einsum(tmp50, (0, 1, 2, 3), tmp62, (4, 0, 5, 1), (4, 5, 2, 3), optimize=True) + del tmp62 + l2new.abab += tmp63.transpose((2, 3, 0, 1)) * 0.5 + l2new.abab += tmp63.transpose((2, 3, 0, 1)) * 0.5 + del tmp63 + tmp64 = f.aa.vv.transpose((1, 0)).copy() * -1 + tmp64 += einsum(v.baa.xov, (0, 1, 2), tmp27, (1, 3, 0), (3, 2), optimize=True) + del tmp27 + l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp64, (0, 4), (4, 1, 2, 3), optimize=True) * -1 + del tmp64 + tmp49 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (4, 3, 0, 5), (5, 1, 4, 2), optimize=True) + l2new.abab += einsum(tmp50, (0, 1, 2, 3), tmp49, (4, 1, 5, 2), (5, 3, 0, 4), optimize=True) + del tmp49 + tmp45 = v.bbb.xov.transpose((1, 2, 0)).copy() * 0.5 + tmp45 += tmp44 * -1 + del tmp44 + l2new.abab += einsum(tmp45, (0, 1, 2), v.baa.xov, (2, 3, 4), (4, 1, 3, 0), optimize=True) * 2 + del tmp45 + tmp74 = einsum(v.baa.xoo, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (1, 2, 3, 4), optimize=True) + l2new.abab += einsum(tmp74, (0, 1, 2, 3), l2.abab, (4, 3, 1, 5), (4, 2, 0, 5), optimize=True) * -1 + del tmp74 + tmp75 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 4, 5, 1), (5, 0, 4, 3), optimize=True) + l2new.abab += einsum(tmp50, (0, 1, 2, 3), tmp75, (4, 0, 5, 3), (2, 5, 4, 1), optimize=True) + del tmp50, tmp75 + tmp46 = einsum(v.bbb.xoo, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 2, 3, 4), optimize=True) + l2new.abab += einsum(tmp46, (0, 1, 2, 3), l2.abab, (3, 4, 5, 1), (2, 4, 5, 0), optimize=True) * -1 + del tmp46 + tmp5 = einsum(v.baa.xov, (0, 1, 2), tmp4, (3, 4, 0), (3, 1, 4, 2), optimize=True) + del tmp4 + l2new.aaaa = tmp5.transpose((2, 3, 1, 0)).copy() * -1 + l2new.aaaa += tmp5.transpose((3, 2, 1, 0)) + del tmp5 + tmp32 = einsum(l2.aaaa, (0, 1, 2, 3), tmp31, (4, 1, 5, 0), (2, 3, 5, 4), optimize=True) * -1 + del tmp31 + l2new.aaaa += tmp32.transpose((2, 3, 1, 0)) * -1 + l2new.aaaa += tmp32.transpose((2, 3, 1, 0)) * -1 + del tmp32 + tmp38 = einsum(v.baa.xoo, (0, 1, 2), v.baa.xoo, (0, 3, 4), (2, 3, 4, 1), optimize=True) + tmp38 += einsum(tmp11, (0, 1, 2, 3), t2.aaaa, (4, 5, 2, 3), (5, 4, 1, 0), optimize=True) * -1 + l2new.aaaa += einsum(tmp38, (0, 1, 2, 3), l2.aaaa, (4, 5, 0, 1), (5, 4, 3, 2), optimize=True) * -2 + del tmp38 + tmp34 = einsum(tmp11, (0, 1, 2, 3), tmp33, (4, 5, 0, 1), (4, 5, 2, 3), optimize=True) + del tmp33 + l2new.aaaa += tmp34.transpose((3, 2, 1, 0)) + l2new.aaaa += tmp34.transpose((3, 2, 1, 0)) + del tmp34 + tmp37 = einsum(l2.aaaa, (0, 1, 2, 3), tmp36, (0, 4), (2, 3, 1, 4), optimize=True) * 4 + del tmp36 + l2new.aaaa += tmp37.transpose((2, 3, 1, 0)) * -1 + l2new.aaaa += tmp37.transpose((3, 2, 1, 0)) + del tmp37 + tmp40 = einsum(tmp39, (0, 1, 2), v.baa.xov, (2, 3, 4), (0, 3, 1, 4), optimize=True) * -2 + del tmp39 + l2new.aaaa += tmp40.transpose((2, 3, 0, 1)) + l2new.aaaa += tmp40.transpose((3, 2, 0, 1)) * -1 + del tmp40 + tmp26 = einsum(tmp25, (0, 1, 2), v.baa.xov, (2, 3, 4), (0, 3, 1, 4), optimize=True) * 2 + del tmp25 + l2new.aaaa += tmp26.transpose((2, 3, 1, 0)) * -1 + l2new.aaaa += tmp26.transpose((2, 3, 0, 1)) + l2new.aaaa += tmp26.transpose((3, 2, 1, 0)) + l2new.aaaa += tmp26.transpose((3, 2, 0, 1)) * -1 + del tmp26 + tmp30 = einsum(tmp29, (0, 1), l2.aaaa, (2, 3, 0, 4), (4, 1, 2, 3), optimize=True) * 2 + del tmp29 + l2new.aaaa += tmp30.transpose((3, 2, 1, 0)) + l2new.aaaa += tmp30.transpose((3, 2, 0, 1)) * -1 + del tmp30 + tmp7 = einsum(tmp6, (0, 1, 2, 3), l2.aaaa, (4, 3, 5, 1), (5, 0, 4, 2), optimize=True) + del tmp6 + l2new.aaaa += tmp7.transpose((2, 3, 1, 0)) * 2 + l2new.aaaa += tmp7.transpose((2, 3, 0, 1)) * -2 + l2new.aaaa += tmp7.transpose((3, 2, 1, 0)) * -2 + l2new.aaaa += tmp7.transpose((3, 2, 0, 1)) * 2 + del tmp7 + tmp12 = einsum(tmp11, (0, 1, 2, 3), tmp10, (4, 0, 5, 3), (4, 1, 5, 2), optimize=True) + del tmp11, tmp10 + l2new.aaaa += tmp12.transpose((3, 2, 1, 0)) * -1 + l2new.aaaa += tmp12.transpose((3, 2, 0, 1)) + l2new.aaaa += tmp12.transpose((2, 3, 1, 0)) + l2new.aaaa += tmp12.transpose((2, 3, 0, 1)) * -1 + del tmp12 + + return {f"l2new": l2new} + +def make_rdm1_f(l2=None, t2=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-07-18T20:31:31.485370. + + Parameters + ---------- + l2 : Namespace of arrays + L2 amplitudes. + t2 : Namespace of arrays + T2 amplitudes. + + Returns + ------- + rdm1 : Namespace of arrays + One-particle reduced density matrix. + """ + + rdm1 = Namespace() + rdm1.aa = Namespace() + rdm1.bb = Namespace() + delta = Namespace( + aa=Namespace(oo=np.eye(t2.aaaa.shape[0]), vv=np.eye(t1.aaaa.shape[-1])), + bb=Namespace(oo=np.eye(t2.bbbb.shape[0]), vv=np.eye(t1.bbbb.shape[-1])), + ) + rdm1.aa.oo = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 0, 1), (4, 2), optimize=True) * -1 + rdm1.aa.oo += einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (2, 3, 4, 1), (0, 4), optimize=True) * -2 + rdm1.aa.oo += delta.aa.oo.transpose((1, 0)) + rdm1.bb.oo = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (2, 3, 4, 1), (0, 4), optimize=True) * -2 + rdm1.bb.oo += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 1), (4, 3), optimize=True) * -1 + rdm1.bb.oo += delta.bb.oo.transpose((1, 0)) + del delta + rdm1.aa.vv = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 4, 1), (0, 4), optimize=True) + rdm1.aa.vv += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (2, 3, 4, 1), (0, 4), optimize=True) * 2 + rdm1.bb.vv = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 4, 0, 1), (4, 3), optimize=True) + rdm1.bb.vv += einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (4, 3, 0, 1), (4, 2), optimize=True) * 2 + rdm1.aa.oo = np.zeros((t2.aa.shape[0], t2.aa.shape[0])) + rdm1.aa.vv = np.zeros((t2.aa.shape[-1], t2.aa.shape[-1])) + rdm1.bb.oo = np.zeros((t2.bb.shape[0], t2.bb.shape[0])) + rdm1.bb.vv = np.zeros((t2.bb.shape[-1], t2.bb.shape[-1])) + rdm1.aa = np.block([[rdm1.aa.oo, rdm1.aa.ov], [rdm1.aa.vo, rdm1.aa.vv]]) + rdm1.bb = np.block([[rdm1.bb.oo, rdm1.bb.ov], [rdm1.bb.vo, rdm1.bb.vv]]) + + return rdm1 + +def make_rdm2_f(l2=None, t2=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-07-18T20:31:38.746069. + + Parameters + ---------- + l2 : Namespace of arrays + L2 amplitudes. + t2 : Namespace of arrays + T2 amplitudes. + + Returns + ------- + rdm2 : Namespace of arrays + Two-particle reduced density matrix. + """ + + rdm2 = Namespace() + rdm2.aaaa = Namespace() + rdm2.abab = Namespace() + rdm2.bbbb = Namespace() + delta = Namespace( + aa=Namespace(oo=np.eye(t2.aaaa.shape[0]), vv=np.eye(t1.aaaa.shape[-1])), + bb=Namespace(oo=np.eye(t2.bbbb.shape[0]), vv=np.eye(t1.bbbb.shape[-1])), + ) + tmp5 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 3, 0, 4), (4, 1), optimize=True) + tmp6 = einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 3, 0, 1), (2, 4), optimize=True) + tmp0 = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (2, 3, 4, 1), (4, 0), optimize=True) + tmp1 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 0, 1), (2, 4), optimize=True) + tmp25 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (3, 4, 0, 1), (4, 2), optimize=True) * -1 + tmp24 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 4, 0, 1), (4, 3), optimize=True) + tmp14 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 4, 1), (0, 4), optimize=True) + tmp13 = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (3, 4, 0, 1), (4, 2), optimize=True) * -1 + tmp36 = einsum(l2.abab, (0, 1, 2, 3), t2.bbbb, (4, 3, 5, 1), (2, 4, 0, 5), optimize=True) + rdm2.abab.voov = tmp36.transpose((2, 1, 0, 3)).copy() * 2 + tmp32 = einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 3, 5, 1), (2, 4, 0, 5), optimize=True) + rdm2.bbbb.vovo = tmp32.transpose((2, 1, 3, 0)).copy() * -4 + rdm2.bbbb.voov = tmp32.transpose((2, 1, 0, 3)).copy() * 4 + rdm2.bbbb.ovvo = tmp32.transpose((1, 2, 3, 0)).copy() * 4 + rdm2.bbbb.ovov = tmp32.transpose((1, 2, 0, 3)).copy() * -4 + tmp34 = einsum(t2.abab, (0, 1, 2, 3), l2.aaaa, (2, 4, 0, 5), (5, 1, 4, 3), optimize=True) + rdm2.abab.voov += tmp34.transpose((2, 1, 0, 3)) * 2 + tmp11 = tmp5.copy() + tmp11 += tmp6 * 2 + rdm2.abab.oovv = einsum(tmp11, (0, 1), t2.abab, (2, 0, 3, 4), (2, 1, 3, 4), optimize=True) * -1 + rdm2.bbbb.oooo = einsum(tmp11, (0, 1), delta.bb.oo, (2, 3), (3, 1, 0, 2), optimize=True) + rdm2.bbbb.oooo += einsum(tmp11, (0, 1), delta.bb.oo, (2, 3), (1, 3, 0, 2), optimize=True) * -1 + tmp28 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (4, 3, 5, 1), (5, 0, 4, 2), optimize=True) + rdm2.aaaa.vovo = tmp28.transpose((2, 1, 3, 0)).copy() * -1 + rdm2.aaaa.voov = tmp28.transpose((2, 1, 0, 3)).copy() + rdm2.aaaa.ovvo = tmp28.transpose((1, 2, 3, 0)).copy() + rdm2.aaaa.ovov = tmp28.transpose((1, 2, 0, 3)).copy() * -1 + tmp19 = einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 3, 5, 1), (2, 4, 0, 5), optimize=True) + rdm2.aaaa.vovo += tmp19.transpose((2, 1, 3, 0)) * -4 + rdm2.aaaa.voov += tmp19.transpose((2, 1, 0, 3)) * 4 + rdm2.aaaa.ovvo += tmp19.transpose((1, 2, 3, 0)) * 4 + rdm2.aaaa.ovov += tmp19.transpose((1, 2, 0, 3)) * -4 + tmp21 = einsum(t2.aaaa, (0, 1, 2, 3), l2.abab, (3, 4, 1, 5), (0, 5, 2, 4), optimize=True) + rdm2.abab.ovvo = tmp21.transpose((0, 3, 2, 1)).copy() * 2 + tmp17 = einsum(l2.bbbb, (0, 1, 2, 3), t2.abab, (4, 3, 5, 1), (4, 2, 5, 0), optimize=True) + rdm2.abab.ovvo += tmp17.transpose((0, 3, 2, 1)) * 2 + tmp3 = tmp0.copy() + tmp3 += tmp1 * 0.5 + rdm2.aaaa.oooo = einsum(tmp3, (0, 1), delta.aa.oo, (2, 3), (3, 1, 0, 2), optimize=True) * 2 + rdm2.aaaa.oooo += einsum(tmp3, (0, 1), delta.aa.oo, (2, 3), (1, 3, 0, 2), optimize=True) * -2 + tmp39 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 5), (3, 4, 1, 5), optimize=True) + rdm2.bbbb.vovo += tmp39.transpose((2, 1, 3, 0)) * -1 + rdm2.bbbb.voov += tmp39.transpose((2, 1, 0, 3)) + rdm2.bbbb.ovvo += tmp39.transpose((1, 2, 3, 0)) + rdm2.bbbb.ovov += tmp39.transpose((1, 2, 0, 3)) * -1 + del tmp39 + tmp26 = tmp24.copy() * 0.5 + tmp26 += tmp25 + rdm2.bbbb.vovo += einsum(delta.bb.oo, (0, 1), tmp26, (2, 3), (2, 1, 3, 0), optimize=True) * 2 + rdm2.bbbb.ovvo += einsum(delta.bb.oo, (0, 1), tmp26, (2, 3), (1, 2, 3, 0), optimize=True) * -2 + rdm2.abab.ovov = einsum(delta.aa.oo, (0, 1), tmp26, (2, 3), (1, 2, 0, 3), optimize=True) * 2 + rdm2.bbbb.oovv = einsum(tmp26, (0, 1), t2.bbbb, (2, 3, 0, 4), (3, 2, 4, 1), optimize=True) * -4 + rdm2.abab.oovv += einsum(t2.abab, (0, 1, 2, 3), tmp26, (3, 4), (0, 1, 2, 4), optimize=True) * -2 + del tmp26 + tmp23 = tmp13.copy() + tmp23 += tmp14 * 0.5 + rdm2.abab.vovo = einsum(delta.bb.oo, (0, 1), tmp23, (2, 3), (2, 1, 3, 0), optimize=True) * 2 + rdm2.aaaa.vovo += einsum(delta.aa.oo, (0, 1), tmp23, (2, 3), (2, 1, 3, 0), optimize=True) * 2 + rdm2.aaaa.ovvo += einsum(delta.aa.oo, (0, 1), tmp23, (2, 3), (1, 2, 3, 0), optimize=True) * -2 + rdm2.aaaa.oovv = einsum(t2.aaaa, (0, 1, 2, 3), tmp23, (2, 4), (1, 0, 4, 3), optimize=True) * 4 + del tmp23 + tmp38 = tmp24.copy() + del tmp24 + tmp38 += tmp25 * 2 + del tmp25 + rdm2.bbbb.voov += einsum(delta.bb.oo, (0, 1), tmp38, (2, 3), (2, 1, 0, 3), optimize=True) * -1 + rdm2.bbbb.ovov += einsum(delta.bb.oo, (0, 1), tmp38, (2, 3), (1, 2, 0, 3), optimize=True) + rdm2.bbbb.oovv += einsum(tmp38, (0, 1), t2.bbbb, (2, 3, 0, 4), (3, 2, 1, 4), optimize=True) * 2 + del tmp38 + tmp15 = tmp13.copy() * 2 + del tmp13 + tmp15 += tmp14 + del tmp14 + rdm2.aaaa.voov += einsum(delta.aa.oo, (0, 1), tmp15, (2, 3), (2, 1, 0, 3), optimize=True) * -1 + rdm2.aaaa.ovov += einsum(delta.aa.oo, (0, 1), tmp15, (2, 3), (1, 2, 0, 3), optimize=True) + rdm2.abab.oovv += einsum(tmp15, (0, 1), t2.abab, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) * -1 + rdm2.aaaa.oovv += einsum(tmp15, (0, 1), t2.aaaa, (2, 3, 0, 4), (3, 2, 4, 1), optimize=True) * -2 + del tmp15 + tmp27 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 4, 5, 1), (5, 0, 4, 3), optimize=True) + rdm2.abab.ovov += tmp27.transpose((1, 2, 0, 3)) * -1 + rdm2.abab.oovv += einsum(tmp27, (0, 1, 2, 3), t2.abab, (0, 4, 5, 2), (1, 4, 5, 3), optimize=True) + del tmp27 + tmp37 = einsum(tmp36, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) + del tmp36 + rdm2.bbbb.oovv += tmp37.transpose((1, 0, 3, 2)) * 2 + rdm2.bbbb.oovv += tmp37 * 2 + rdm2.bbbb.oovv += tmp37.transpose((1, 0, 2, 3)) * -2 + rdm2.bbbb.oovv += tmp37.transpose((0, 1, 3, 2)) * -2 + del tmp37 + tmp33 = einsum(t2.bbbb, (0, 1, 2, 3), tmp32, (1, 4, 3, 5), (0, 4, 2, 5), optimize=True) + del tmp32 + rdm2.bbbb.oovv += tmp33 * 8 + rdm2.bbbb.oovv += tmp33.transpose((0, 1, 3, 2)) * -8 + del tmp33 + tmp35 = einsum(tmp34, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) + del tmp34 + rdm2.bbbb.oovv += tmp35.transpose((1, 0, 3, 2)) * 2 + rdm2.bbbb.oovv += tmp35.transpose((0, 1, 3, 2)) * -2 + del tmp35 + tmp31 = einsum(t2.bbbb, (0, 1, 2, 3), tmp11, (0, 4), (1, 4, 2, 3), optimize=True) * 2 + del tmp11 + rdm2.bbbb.oovv += tmp31.transpose((0, 1, 3, 2)) * -1 + rdm2.bbbb.oovv += tmp31.transpose((1, 0, 3, 2)) + del tmp31 + tmp12 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (2, 3, 4, 5), (4, 5, 0, 1), optimize=True) + rdm2.bbbb.oovv += einsum(tmp12, (0, 1, 2, 3), t2.bbbb, (0, 1, 4, 5), (3, 2, 5, 4), optimize=True) * 2 + rdm2.bbbb.oooo += tmp12.transpose((3, 2, 1, 0)) * 2 + del tmp12 + tmp29 = tmp19.copy() * 4 + tmp29 += tmp28 + del tmp28 + rdm2.abab.oovv += einsum(t2.abab, (0, 1, 2, 3), tmp29, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) + del tmp29 + tmp30 = tmp21.copy() + tmp30 += tmp17 + rdm2.abab.oovv += einsum(tmp30, (0, 1, 2, 3), t2.bbbb, (1, 4, 3, 5), (0, 4, 2, 5), optimize=True) * 4 + del tmp30 + tmp9 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 3, 4, 5), (4, 0, 5, 1), optimize=True) + rdm2.abab.oovv += einsum(tmp9, (0, 1, 2, 3), t2.abab, (0, 2, 4, 5), (1, 3, 4, 5), optimize=True) + rdm2.abab.oooo = tmp9.transpose((1, 3, 0, 2)).copy() + del tmp9 + tmp8 = tmp0.copy() * 2 + tmp8 += tmp1 + rdm2.abab.oovv += einsum(t2.abab, (0, 1, 2, 3), tmp8, (0, 4), (4, 1, 2, 3), optimize=True) * -1 + rdm2.abab.oooo += einsum(delta.bb.oo, (0, 1), tmp8, (2, 3), (3, 1, 2, 0), optimize=True) * -1 + del tmp8 + tmp4 = einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 5, 0, 1), (2, 3, 4, 5), optimize=True) + rdm2.aaaa.oovv += einsum(tmp4, (0, 1, 2, 3), t2.aaaa, (0, 1, 4, 5), (3, 2, 5, 4), optimize=True) * 2 + rdm2.aaaa.oooo += tmp4.transpose((3, 2, 1, 0)) * 2 + del tmp4 + tmp18 = einsum(tmp17, (0, 1, 2, 3), t2.abab, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) + del tmp17 + rdm2.aaaa.oovv += tmp18 * 2 + rdm2.aaaa.oovv += tmp18.transpose((0, 1, 3, 2)) * -2 + del tmp18 + tmp22 = einsum(t2.abab, (0, 1, 2, 3), tmp21, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) + del tmp21 + rdm2.aaaa.oovv += tmp22.transpose((1, 0, 3, 2)) * 2 + rdm2.aaaa.oovv += tmp22 * 2 + rdm2.aaaa.oovv += tmp22.transpose((1, 0, 2, 3)) * -2 + rdm2.aaaa.oovv += tmp22.transpose((0, 1, 3, 2)) * -2 + del tmp22 + tmp20 = einsum(tmp19, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 2), (1, 4, 3, 5), optimize=True) + del tmp19 + rdm2.aaaa.oovv += tmp20 * 8 + rdm2.aaaa.oovv += tmp20.transpose((0, 1, 3, 2)) * -8 + del tmp20 + tmp16 = einsum(tmp3, (0, 1), t2.aaaa, (0, 2, 3, 4), (2, 1, 3, 4), optimize=True) * 4 + del tmp3 + rdm2.aaaa.oovv += tmp16.transpose((0, 1, 3, 2)) * -1 + rdm2.aaaa.oovv += tmp16.transpose((1, 0, 3, 2)) + del tmp16 + tmp10 = delta.bb.oo.transpose((1, 0)).copy() * -0.5 + tmp10 += tmp5 * 0.5 + tmp10 += tmp6 + rdm2.bbbb.oooo += einsum(tmp10, (0, 1), delta.bb.oo, (2, 3), (1, 3, 2, 0), optimize=True) * 2 + rdm2.bbbb.oooo += einsum(delta.bb.oo, (0, 1), tmp10, (2, 3), (1, 3, 0, 2), optimize=True) * -2 + del tmp10 + tmp7 = delta.bb.oo.transpose((1, 0)).copy() * -1 + tmp7 += tmp5 + del tmp5 + tmp7 += tmp6 * 2 + del tmp6 + rdm2.abab.oooo += einsum(tmp7, (0, 1), delta.aa.oo, (2, 3), (3, 1, 2, 0), optimize=True) * -1 + del tmp7 + tmp2 = delta.aa.oo.transpose((1, 0)).copy() * -1 + tmp2 += tmp0 * 2 + del tmp0 + tmp2 += tmp1 + del tmp1 + rdm2.aaaa.oooo += einsum(delta.aa.oo, (0, 1), tmp2, (2, 3), (3, 1, 0, 2), optimize=True) + rdm2.aaaa.oooo += einsum(delta.aa.oo, (0, 1), tmp2, (2, 3), (1, 3, 0, 2), optimize=True) * -1 + del delta, tmp2 + rdm2.aaaa.oovv += t2.aaaa.transpose((1, 0, 3, 2)) * 2 + rdm2.abab.oovv += t2.abab + rdm2.bbbb.oovv += t2.bbbb.transpose((1, 0, 3, 2)) * 2 + rdm2.abab.vovo += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 5, 1), (0, 4, 5, 3), optimize=True) * -1 + rdm2.aaaa.vvoo = l2.aaaa.transpose((1, 0, 3, 2)).copy() * 2 + rdm2.abab.vvoo = l2.abab.copy() + rdm2.bbbb.vvoo = l2.bbbb.transpose((1, 0, 3, 2)).copy() * 2 + rdm2.aaaa.vvvv = einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (2, 3, 4, 5), (1, 0, 5, 4), optimize=True) * 2 + rdm2.abab.vvvv = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (4, 5, 0, 1), (4, 5, 2, 3), optimize=True) + rdm2.bbbb.vvvv = einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (2, 3, 4, 5), (1, 0, 5, 4), optimize=True) * 2 + rdm2.aaaa.ooov = np.zeros((t2.aaaa.shape[0], t2.aaaa.shape[0], t2.aaaa.shape[0], t2.aaaa.shape[-1])) + rdm2.aaaa.oovo = np.zeros((t2.aaaa.shape[0], t2.aaaa.shape[0], t2.aaaa.shape[-1], t2.aaaa.shape[0])) + rdm2.aaaa.ovoo = np.zeros((t2.aaaa.shape[0], t2.aaaa.shape[-1], t2.aaaa.shape[0], t2.aaaa.shape[0])) + rdm2.aaaa.vooo = np.zeros((t2.aaaa.shape[-1], t2.aaaa.shape[0], t2.aaaa.shape[0], t2.aaaa.shape[0])) + rdm2.aaaa.ovvv = np.zeros((t2.aaaa.shape[0], t2.aaaa.shape[-1], t2.aaaa.shape[-1], t2.aaaa.shape[-1])) + rdm2.aaaa.vovv = np.zeros((t2.aaaa.shape[-1], t2.aaaa.shape[0], t2.aaaa.shape[-1], t2.aaaa.shape[-1])) + rdm2.aaaa.vvov = np.zeros((t2.aaaa.shape[-1], t2.aaaa.shape[-1], t2.aaaa.shape[0], t2.aaaa.shape[-1])) + rdm2.aaaa.vvvo = np.zeros((t2.aaaa.shape[-1], t2.aaaa.shape[-1], t2.aaaa.shape[-1], t2.aaaa.shape[0])) + rdm2.aabb.ooov = np.zeros((t2.aaaa.shape[0], t2.aaaa.shape[0], t2.bbbb.shape[0], t2.bbbb.shape[-1])) + rdm2.aabb.oovo = np.zeros((t2.aaaa.shape[0], t2.aaaa.shape[0], t2.bbbb.shape[-1], t2.bbbb.shape[0])) + rdm2.aabb.ovoo = np.zeros((t2.aaaa.shape[0], t2.aaaa.shape[-1], t2.bbbb.shape[0], t2.bbbb.shape[0])) + rdm2.aabb.vooo = np.zeros((t2.aaaa.shape[-1], t2.aaaa.shape[0], t2.bbbb.shape[0], t2.bbbb.shape[0])) + rdm2.aabb.ovvv = np.zeros((t2.aaaa.shape[0], t2.aaaa.shape[-1], t2.bbbb.shape[-1], t2.bbbb.shape[-1])) + rdm2.aabb.vovv = np.zeros((t2.aaaa.shape[-1], t2.aaaa.shape[0], t2.bbbb.shape[-1], t2.bbbb.shape[-1])) + rdm2.aabb.vvov = np.zeros((t2.aaaa.shape[-1], t2.aaaa.shape[-1], t2.bbbb.shape[0], t2.bbbb.shape[-1])) + rdm2.aabb.vvvo = np.zeros((t2.aaaa.shape[-1], t2.aaaa.shape[-1], t2.bbbb.shape[-1], t2.bbbb.shape[0])) + rdm2.bbaa.ooov = np.zeros((t2.bbbb.shape[0], t2.bbbb.shape[0], t2.aaaa.shape[0], t2.aaaa.shape[-1])) + rdm2.bbaa.oovo = np.zeros((t2.bbbb.shape[0], t2.bbbb.shape[0], t2.aaaa.shape[-1], t2.aaaa.shape[0])) + rdm2.bbaa.ovoo = np.zeros((t2.bbbb.shape[0], t2.bbbb.shape[-1], t2.aaaa.shape[0], t2.aaaa.shape[0])) + rdm2.bbaa.vooo = np.zeros((t2.bbbb.shape[-1], t2.bbbb.shape[0], t2.aaaa.shape[0], t2.aaaa.shape[0])) + rdm2.bbaa.ovvv = np.zeros((t2.bbbb.shape[0], t2.bbbb.shape[-1], t2.aaaa.shape[-1], t2.aaaa.shape[-1])) + rdm2.bbaa.vovv = np.zeros((t2.bbbb.shape[-1], t2.bbbb.shape[0], t2.aaaa.shape[-1], t2.aaaa.shape[-1])) + rdm2.bbaa.vvov = np.zeros((t2.bbbb.shape[-1], t2.bbbb.shape[-1], t2.aaaa.shape[0], t2.aaaa.shape[-1])) + rdm2.bbaa.vvvo = np.zeros((t2.bbbb.shape[-1], t2.bbbb.shape[-1], t2.aaaa.shape[-1], t2.aaaa.shape[0])) + rdm2.bbbb.ooov = np.zeros((t2.bbbb.shape[0], t2.bbbb.shape[0], t2.bbbb.shape[0], t2.bbbb.shape[-1])) + rdm2.bbbb.oovo = np.zeros((t2.bbbb.shape[0], t2.bbbb.shape[0], t2.bbbb.shape[-1], t2.bbbb.shape[0])) + rdm2.bbbb.ovoo = np.zeros((t2.bbbb.shape[0], t2.bbbb.shape[-1], t2.bbbb.shape[0], t2.bbbb.shape[0])) + rdm2.bbbb.vooo = np.zeros((t2.bbbb.shape[-1], t2.bbbb.shape[0], t2.bbbb.shape[0], t2.bbbb.shape[0])) + rdm2.bbbb.ovvv = np.zeros((t2.bbbb.shape[0], t2.bbbb.shape[-1], t2.bbbb.shape[-1], t2.bbbb.shape[-1])) + rdm2.bbbb.vovv = np.zeros((t2.bbbb.shape[-1], t2.bbbb.shape[0], t2.bbbb.shape[-1], t2.bbbb.shape[-1])) + rdm2.bbbb.vvov = np.zeros((t2.bbbb.shape[-1], t2.bbbb.shape[-1], t2.bbbb.shape[0], t2.bbbb.shape[-1])) + rdm2.bbbb.vvvo = np.zeros((t2.bbbb.shape[-1], t2.bbbb.shape[-1], t2.bbbb.shape[-1], t2.bbbb.shape[0])) + rdm2.aaaa = pack_2e(rdm2.aaaa.oooo, rdm2.aaaa.ooov, rdm2.aaaa.oovo, rdm2.aaaa.ovoo, rdm2.aaaa.vooo, rdm2.aaaa.oovv, rdm2.aaaa.ovov, rdm2.aaaa.ovvo, rdm2.aaaa.voov, rdm2.aaaa.vovo, rdm2.aaaa.vvoo, rdm2.aaaa.ovvv, rdm2.aaaa.vovv, rdm2.aaaa.vvov, rdm2.aaaa.vvvo, rdm2.aaaa.vvvv) + rdm2.abab = pack_2e(rdm2.abab.oooo, rdm2.abab.ooov, rdm2.abab.oovo, rdm2.abab.ovoo, rdm2.abab.vooo, rdm2.abab.oovv, rdm2.abab.ovov, rdm2.abab.ovvo, rdm2.abab.voov, rdm2.abab.vovo, rdm2.abab.vvoo, rdm2.abab.ovvv, rdm2.abab.vovv, rdm2.abab.vvov, rdm2.abab.vvvo, rdm2.abab.vvvv) + rdm2.bbbb = pack_2e(rdm2.bbbb.oooo, rdm2.bbbb.ooov, rdm2.bbbb.oovo, rdm2.bbbb.ovoo, rdm2.bbbb.vooo, rdm2.bbbb.oovv, rdm2.bbbb.ovov, rdm2.bbbb.ovvo, rdm2.bbbb.voov, rdm2.bbbb.vovo, rdm2.bbbb.vvoo, rdm2.bbbb.ovvv, rdm2.bbbb.vovv, rdm2.bbbb.vvov, rdm2.bbbb.vvvo, rdm2.bbbb.vvvv) + rdm2 = Namespace( + aaaa=rdm2.aaaa.swapaxes(1, 2), + aabb=rdm2.abab.swapaxes(1, 2), + bbbb=rdm2.bbbb.swapaxes(1, 2), + ) + + return rdm2 + diff --git a/ebcc/codegen/UDFCCSD.py b/ebcc/codegen/UDFCCSD.py new file mode 100644 index 00000000..c2ad657f --- /dev/null +++ b/ebcc/codegen/UDFCCSD.py @@ -0,0 +1,2580 @@ +""" +Code generated by `albert`: +https://github.com/obackhouse/albert + + * date: 2024-07-18T20:45:25.229848 + * python version: 3.10.12 (main, Mar 22 2024, 16:50:05) [GCC 11.4.0] + * albert version: 0.0.0 + * caller: /home/ollie/git/albert/albert/codegen/einsum.py + * node: ollie-desktop + * system: Linux + * processor: x86_64 + * release: 6.5.0-44-generic +""" + +from ebcc import numpy as np +from ebcc.util import pack_2e, einsum, direct_sum, Namespace + + +def energy(f=None, t1=None, t2=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-07-18T20:45:26.470368. + + Parameters + ---------- + f : Namespace of arrays + Fock matrix. + t1 : Namespace of arrays + T1 amplitudes. + t2 : Namespace of arrays + T2 amplitudes. + v : Namespace of arrays + Electron repulsion integrals. + + Returns + ------- + e_cc : float + Coupled cluster energy. + """ + + tmp0 = einsum(v.bbb.xov, (0, 1, 2), t1.bb, (1, 2), (0,), optimize=True) + tmp5 = einsum(v.bbb.xov, (0, 1, 2), t1.bb, (3, 2), (3, 1, 0), optimize=True) + tmp3 = einsum(t1.aa, (0, 1), v.baa.xov, (2, 3, 1), (0, 3, 2), optimize=True) + tmp1 = einsum(t1.aa, (0, 1), v.baa.xov, (2, 0, 1), (2,), optimize=True) + tmp1 += tmp0 * 2 + tmp7 = einsum(v.bbb.xov, (0, 1, 2), t2.bbbb, (3, 1, 4, 2), (3, 4, 0), optimize=True) + tmp7 += einsum(tmp0, (0,), t1.bb, (1, 2), (1, 2, 0), optimize=True) * 0.5 + del tmp0 + e_cc = einsum(v.bbb.xov, (0, 1, 2), tmp7, (1, 2, 0), (), optimize=True) + del tmp7 + tmp6 = f.bb.ov.copy() * 2 + tmp6 += einsum(v.bbb.xov, (0, 1, 2), tmp5, (1, 3, 0), (3, 2), optimize=True) * -1 + del tmp5 + e_cc += einsum(tmp6, (0, 1), t1.bb, (0, 1), (), optimize=True) * 0.5 + del tmp6 + tmp4 = f.aa.ov.copy() * 2 + tmp4 += einsum(tmp3, (0, 1, 2), v.baa.xov, (2, 0, 3), (1, 3), optimize=True) * -1 + del tmp3 + e_cc += einsum(t1.aa, (0, 1), tmp4, (0, 1), (), optimize=True) * 0.5 + del tmp4 + tmp2 = einsum(v.baa.xov, (0, 1, 2), t2.aaaa, (3, 1, 4, 2), (3, 4, 0), optimize=True) + tmp2 += einsum(v.bbb.xov, (0, 1, 2), t2.abab, (3, 1, 4, 2), (3, 4, 0), optimize=True) + tmp2 += einsum(tmp1, (0,), t1.aa, (1, 2), (1, 2, 0), optimize=True) * 0.5 + del tmp1 + e_cc += einsum(tmp2, (0, 1, 2), v.baa.xov, (2, 0, 1), (), optimize=True) + del tmp2 + + return e_cc + +def update_amps(f=None, t1=None, t2=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-07-18T20:46:30.783199. + + Parameters + ---------- + f : Namespace of arrays + Fock matrix. + t1 : Namespace of arrays + T1 amplitudes. + t2 : Namespace of arrays + T2 amplitudes. + v : Namespace of arrays + Electron repulsion integrals. + + Returns + ------- + t1new : Namespace of arrays + Updated T1 residuals. + t2new : Namespace of arrays + Updated T2 residuals. + """ + + t1new = Namespace() + t2new = Namespace() + tmp8 = einsum(t1.aa, (0, 1), v.baa.xov, (2, 0, 1), (2,), optimize=True) + tmp9 = einsum(v.bbb.xov, (0, 1, 2), t1.bb, (1, 2), (0,), optimize=True) + tmp12 = einsum(v.bbb.xov, (0, 1, 2), t1.bb, (3, 2), (3, 1, 0), optimize=True) + tmp0 = einsum(t1.aa, (0, 1), v.baa.xov, (2, 3, 1), (0, 3, 2), optimize=True) + tmp154 = einsum(v.bbb.xov, (0, 1, 2), t1.bb, (1, 3), (3, 2, 0), optimize=True) + tmp10 = tmp8.copy() + tmp10 += tmp9 + tmp33 = einsum(v.bbb.xov, (0, 1, 2), t2.bbbb, (3, 1, 2, 4), (3, 4, 0), optimize=True) * -1 + tmp30 = einsum(v.baa.xov, (0, 1, 2), t2.abab, (1, 3, 2, 4), (3, 4, 0), optimize=True) + tmp13 = einsum(tmp12, (0, 1, 2), v.bbb.xov, (2, 0, 3), (1, 3), optimize=True) + tmp168 = einsum(t1.bb, (0, 1), tmp12, (2, 0, 3), (2, 1, 3), optimize=True) + tmp131 = einsum(t1.bb, (0, 1), v.bbb.xvv, (2, 3, 1), (0, 3, 2), optimize=True) + tmp14 = tmp8.copy() + del tmp8 + tmp14 += tmp9 + del tmp9 + tmp71 = einsum(t1.aa, (0, 1), tmp0, (2, 0, 3), (2, 1, 3), optimize=True) + tmp60 = einsum(v.baa.xvv, (0, 1, 2), t1.aa, (3, 2), (3, 1, 0), optimize=True) + tmp47 = einsum(t1.aa, (0, 1), v.baa.xov, (2, 0, 3), (1, 3, 2), optimize=True) + tmp6 = einsum(v.bbb.xov, (0, 1, 2), t2.abab, (3, 1, 4, 2), (3, 4, 0), optimize=True) + tmp20 = einsum(v.baa.xov, (0, 1, 2), t2.aaaa, (1, 3, 4, 2), (3, 4, 0), optimize=True) * -1 + tmp17 = einsum(v.baa.xov, (0, 1, 2), tmp0, (1, 3, 0), (3, 2), optimize=True) + tmp210 = v.bbb.xvv.transpose((2, 1, 0)).copy() + tmp210 += tmp154.transpose((1, 0, 2)) * -1 + tmp180 = einsum(v.bbb.xov, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (3, 4, 1, 2), optimize=True) + tmp136 = tmp30.copy() + tmp136 += tmp33 * 2 + tmp136 += einsum(tmp10, (0,), t1.bb, (1, 2), (1, 2, 0), optimize=True) + tmp200 = f.bb.ov.copy() * -1 + tmp200 += tmp13 + tmp169 = tmp131.copy() + tmp169 += tmp168 * -1 + t2new.abab = einsum(tmp20, (0, 1, 2), tmp169, (3, 4, 2), (0, 3, 1, 4), optimize=True) * 2 + tmp151 = v.bbb.xoo.transpose((2, 1, 0)).copy() + tmp151 += tmp12.transpose((1, 0, 2)) + tmp15 = einsum(v.bbb.xov, (0, 1, 2), tmp14, (0,), (1, 2), optimize=True) + t1new.bb = tmp15.copy() + tmp88 = v.baa.xoo.transpose((2, 1, 0)).copy() + tmp88 += tmp0.transpose((1, 0, 2)) + tmp72 = tmp60.copy() + tmp72 += tmp71 * -1 + tmp89 = v.baa.xvv.transpose((2, 1, 0)).copy() + tmp89 += tmp47.transpose((1, 0, 2)) * -1 + tmp75 = tmp20.copy() * 2 + tmp75 += tmp6 + tmp75 += einsum(t1.aa, (0, 1), tmp10, (2,), (0, 1, 2), optimize=True) + tmp77 = f.aa.ov.copy() * -1 + tmp77 += tmp17 + tmp42 = einsum(v.baa.xov, (0, 1, 2), v.baa.xoo, (0, 3, 4), (3, 4, 1, 2), optimize=True) + tmp45 = einsum(v.baa.xov, (0, 1, 2), v.baa.xov, (0, 3, 4), (3, 1, 4, 2), optimize=True) + tmp220 = einsum(tmp210, (0, 1, 2), v.bbb.xoo, (2, 3, 4), (3, 4, 0, 1), optimize=True) + tmp181 = einsum(t1.bb, (0, 1), tmp180, (2, 0, 3, 4), (2, 3, 1, 4), optimize=True) + del tmp180 + t2new.bbbb = tmp181.copy() * -1 + t2new.bbbb += tmp181.transpose((1, 0, 2, 3)) + t2new.bbbb += tmp181.transpose((0, 1, 3, 2)) + tmp199 = einsum(v.bbb.xov, (0, 1, 2), tmp136, (3, 2, 0), (1, 3), optimize=True) + tmp201 = einsum(tmp200, (0, 1), t1.bb, (2, 1), (0, 2), optimize=True) + del tmp200 + tmp29 = einsum(t1.bb, (0, 1), v.bbb.xoo, (2, 3, 0), (3, 1, 2), optimize=True) + tmp208 = t2.bbbb.transpose((1, 0, 3, 2)).copy() * 2 + tmp208 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1), optimize=True) * -1 + tmp52 = einsum(v.bbb.xov, (0, 1, 2), v.bbb.xov, (0, 3, 4), (1, 3, 2, 4), optimize=True) + tmp226 = einsum(tmp12, (0, 1, 2), tmp12, (3, 4, 2), (0, 3, 1, 4), optimize=True) + tmp170 = einsum(v.bbb.xov, (0, 1, 2), tmp169, (3, 4, 0), (1, 3, 2, 4), optimize=True) + tmp217 = einsum(tmp210, (0, 1, 2), tmp12, (3, 4, 2), (3, 4, 0, 1), optimize=True) + tmp152 = einsum(tmp151, (0, 1, 2), t1.bb, (0, 3), (1, 3, 2), optimize=True) + tmp16 = f.bb.ov.copy() + tmp16 += tmp13 * -1 + tmp16 += tmp15 + del tmp15 + t1new.bb += einsum(t2.bbbb, (0, 1, 2, 3), tmp16, (0, 2), (1, 3), optimize=True) * 2 + t1new.aa = einsum(t2.abab, (0, 1, 2, 3), tmp16, (1, 3), (0, 2), optimize=True) + tmp184 = v.bbb.xvv.transpose((2, 1, 0)).copy() + tmp184 += tmp154.transpose((1, 0, 2)) * -1 + tmp195 = einsum(v.bbb.xoo, (0, 1, 2), tmp12, (3, 4, 0), (3, 2, 1, 4), optimize=True) + tmp5 = einsum(t1.aa, (0, 1), v.baa.xoo, (2, 3, 0), (3, 1, 2), optimize=True) + tmp22 = f.aa.ov.copy() + tmp22 += tmp17 * -1 + tmp61 = tmp60.copy() + tmp61 += tmp20 * 2 + tmp61 += tmp6 + tmp61 += einsum(t1.aa, (0, 1), tmp10, (2,), (0, 1, 2), optimize=True) + tmp144 = einsum(v.bbb.xov, (0, 1, 2), v.baa.xov, (0, 3, 4), (3, 1, 4, 2), optimize=True) + tmp18 = einsum(v.baa.xov, (0, 1, 2), tmp14, (0,), (1, 2), optimize=True) + t1new.aa += tmp18 + tmp86 = t2.aaaa.transpose((1, 0, 3, 2)).copy() * 2 + tmp86 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (2, 0, 1, 3), optimize=True) * -1 + tmp92 = einsum(t1.aa, (0, 1), tmp88, (0, 2, 3), (2, 1, 3), optimize=True) + tmp98 = einsum(v.baa.xov, (0, 1, 2), tmp72, (3, 4, 0), (1, 3, 2, 4), optimize=True) + tmp99 = einsum(tmp0, (0, 1, 2), tmp89, (3, 4, 2), (0, 1, 3, 4), optimize=True) + tmp50 = einsum(v.bbb.xov, (0, 1, 2), v.baa.xoo, (0, 3, 4), (3, 4, 1, 2), optimize=True) + tmp76 = einsum(tmp75, (0, 1, 2), v.baa.xov, (2, 3, 1), (3, 0), optimize=True) + del tmp75 + tmp78 = einsum(t1.aa, (0, 1), tmp77, (2, 1), (0, 2), optimize=True) + del tmp77 + tmp108 = einsum(tmp0, (0, 1, 2), tmp0, (3, 4, 2), (3, 0, 4, 1), optimize=True) + tmp48 = v.baa.xvv.transpose((2, 1, 0)).copy() + tmp48 += tmp47.transpose((1, 0, 2)) * -1 + tmp43 = einsum(t1.aa, (0, 1), tmp42, (2, 0, 3, 4), (2, 3, 1, 4), optimize=True) + del tmp42 + t2new.aaaa = tmp43.copy() * -1 + t2new.aaaa += tmp43.transpose((1, 0, 2, 3)) + t2new.aaaa += tmp43.transpose((0, 1, 3, 2)) + tmp102 = einsum(v.baa.xoo, (0, 1, 2), tmp89, (3, 4, 0), (1, 2, 3, 4), optimize=True) + tmp69 = einsum(tmp0, (0, 1, 2), v.baa.xoo, (2, 3, 4), (0, 4, 3, 1), optimize=True) + tmp204 = einsum(v.bbb.xoo, (0, 1, 2), tmp131, (3, 4, 0), (3, 2, 1, 4), optimize=True) + tmp186 = einsum(v.baa.xov, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (1, 3, 4, 2), optimize=True) + tmp187 = tmp45.transpose((1, 0, 2, 3)).copy() * -1 + tmp187 += tmp45.transpose((1, 0, 3, 2)) + tmp221 = tmp181.copy() + tmp221 += tmp220.transpose((1, 0, 3, 2)) + del tmp220 + tmp237 = einsum(tmp12, (0, 1, 2), v.bbb.xov, (2, 3, 4), (0, 3, 1, 4), optimize=True) + tmp202 = tmp199.transpose((1, 0)).copy() + del tmp199 + tmp202 += tmp201.transpose((1, 0)) * -1 + del tmp201 + tmp209 = tmp29.copy() * -1 + tmp209 += tmp131 + tmp209 += einsum(v.bbb.xov, (0, 1, 2), tmp208, (1, 3, 2, 4), (3, 4, 0), optimize=True) + del tmp208 + tmp192 = tmp131.copy() + tmp192 += tmp30 + tmp192 += tmp33 * 2 + tmp192 += einsum(tmp10, (0,), t1.bb, (1, 2), (1, 2, 0), optimize=True) + tmp36 = f.bb.ov.copy() + tmp36 += tmp13 * -1 + del tmp13 + tmp128 = tmp30.copy() * 0.5 + tmp128 += tmp33 + tmp233 = einsum(tmp52, (0, 1, 2, 3), t2.bbbb, (4, 5, 2, 3), (4, 5, 1, 0), optimize=True) * -1 + tmp124 = einsum(v.bbb.xoo, (0, 1, 2), tmp12, (2, 3, 0), (1, 3), optimize=True) + tmp230 = einsum(t1.bb, (0, 1), tmp226, (2, 3, 0, 4), (3, 2, 4, 1), optimize=True) + tmp35 = einsum(tmp10, (0,), v.bbb.xoo, (0, 1, 2), (1, 2), optimize=True) + tmp218 = tmp170.transpose((1, 0, 3, 2)).copy() * -1 + tmp218 += tmp217.transpose((0, 1, 3, 2)) + del tmp217 + tmp212 = tmp131.copy() * -1 + tmp212 += tmp30 * -1 + tmp212 += tmp152 + tmp215 = einsum(tmp30, (0, 1, 2), v.bbb.xoo, (2, 3, 4), (0, 4, 3, 1), optimize=True) + tmp133 = einsum(v.bbb.xvv, (0, 1, 2), tmp14, (0,), (1, 2), optimize=True) + tmp132 = einsum(v.bbb.xov, (0, 1, 2), tmp131, (1, 3, 0), (2, 3), optimize=True) + tmp134 = einsum(tmp16, (0, 1), t1.bb, (0, 2), (2, 1), optimize=True) + del tmp16 + tmp197 = einsum(tmp169, (0, 1, 2), v.bbb.xoo, (2, 3, 4), (3, 4, 0, 1), optimize=True) + tmp130 = tmp30.copy() + tmp130 += tmp33 * 2 + t2new.abab += einsum(v.baa.xov, (0, 1, 2), tmp130, (3, 4, 0), (1, 3, 2, 4), optimize=True) + tmp240 = einsum(v.bbb.xov, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (1, 3, 4, 2), optimize=True) + tmp228 = einsum(tmp131, (0, 1, 2), tmp12, (3, 4, 2), (3, 0, 4, 1), optimize=True) + tmp235 = einsum(v.bbb.xov, (0, 1, 2), tmp184, (3, 4, 0), (1, 4, 3, 2), optimize=True) + tmp206 = einsum(t1.bb, (0, 1), tmp195, (2, 3, 4, 0), (2, 3, 4, 1), optimize=True) + tmp183 = tmp52.transpose((1, 0, 2, 3)).copy() + tmp183 += tmp52.transpose((1, 0, 3, 2)) * -1 + tmp147 = tmp5.copy() * -1 + tmp147 += tmp20 * 2 + tmp147 += tmp6 + tmp91 = einsum(t2.abab, (0, 1, 2, 3), tmp52, (1, 4, 5, 3), (0, 4, 2, 5), optimize=True) + tmp141 = tmp20.copy() + tmp141 += tmp6 * 0.5 + tmp141 += einsum(t1.aa, (0, 1), tmp10, (2,), (0, 1, 2), optimize=True) * 0.5 + tmp23 = einsum(t1.aa, (0, 1), tmp22, (2, 1), (0, 2), optimize=True) * 0.5 + tmp38 = einsum(tmp0, (0, 1, 2), v.baa.xoo, (2, 3, 0), (3, 1), optimize=True) + tmp57 = einsum(v.baa.xoo, (0, 1, 2), tmp14, (0,), (1, 2), optimize=True) + tmp27 = v.bbb.xoo.transpose((2, 1, 0)).copy() + tmp27 += tmp12 + tmp145 = v.baa.xvv.transpose((2, 1, 0)).copy() + tmp145 += tmp47 * -1 + tmp148 = v.baa.xvv.transpose((2, 1, 0)).copy() + tmp148 += tmp47 * -1 + del tmp47 + tmp155 = v.bbb.xvv.transpose((2, 1, 0)).copy() + tmp155 += tmp154 * -1 + tmp174 = einsum(v.baa.xov, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (1, 2, 3, 4), optimize=True) + tmp85 = einsum(tmp45, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 3), (4, 1, 5, 2), optimize=True) + tmp62 = einsum(v.baa.xov, (0, 1, 2), tmp61, (1, 3, 0), (2, 3), optimize=True) + del tmp61 + tmp63 = einsum(v.baa.xvv, (0, 1, 2), tmp10, (0,), (1, 2), optimize=True) + tmp64 = einsum(t1.aa, (0, 1), tmp22, (0, 2), (1, 2), optimize=True) + del tmp22 + tmp165 = einsum(tmp144, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 4, 3), optimize=True) + tmp166 = v.bbb.xvv.transpose((2, 1, 0)).copy() + tmp166 += tmp154 * -1 + del tmp154 + tmp31 = t2.bbbb.transpose((1, 0, 3, 2)).copy() * 2 + tmp31 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1), optimize=True) * -1 + tmp161 = v.bbb.xov.transpose((1, 2, 0)).copy() * -1 + tmp161 += tmp29 + tmp19 = f.aa.ov.copy() + tmp19 += tmp17 * -1 + del tmp17 + tmp19 += tmp18 + del tmp18 + t1new.bb += einsum(tmp19, (0, 1), t2.abab, (0, 2, 1, 3), (2, 3), optimize=True) + t1new.aa += einsum(t2.aaaa, (0, 1, 2, 3), tmp19, (0, 2), (1, 3), optimize=True) * 2 + tmp87 = tmp5.copy() * -1 + tmp87 += tmp60 + tmp87 += einsum(v.baa.xov, (0, 1, 2), tmp86, (1, 3, 2, 4), (3, 4, 0), optimize=True) + del tmp86 + tmp93 = tmp60.copy() * -1 + tmp93 += tmp6 * -1 + tmp93 += tmp92 + tmp100 = tmp98.transpose((1, 0, 3, 2)).copy() * -1 + tmp100 += tmp99.transpose((0, 1, 3, 2)) + del tmp99 + tmp96 = einsum(tmp6, (0, 1, 2), v.baa.xoo, (2, 3, 4), (0, 4, 3, 1), optimize=True) + tmp51 = einsum(tmp50, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 4, 3), optimize=True) + del tmp50 + t2new.abab += tmp51 * -1 + tmp53 = tmp52.transpose((1, 0, 2, 3)).copy() * -1 + tmp53 += tmp52.transpose((1, 0, 3, 2)) + tmp55 = tmp20.copy() * 2 + tmp55 += tmp6 + tmp79 = tmp76.transpose((1, 0)).copy() + del tmp76 + tmp79 += tmp78 * -1 + del tmp78 + tmp112 = einsum(tmp108, (0, 1, 2, 3), t1.aa, (2, 4), (1, 0, 3, 4), optimize=True) + tmp115 = einsum(t2.aaaa, (0, 1, 2, 3), tmp45, (4, 5, 2, 3), (0, 1, 5, 4), optimize=True) * -1 + tmp117 = einsum(v.baa.xov, (0, 1, 2), tmp48, (3, 4, 0), (1, 4, 3, 2), optimize=True) + tmp122 = einsum(v.baa.xvv, (0, 1, 2), v.baa.xov, (0, 3, 4), (3, 1, 2, 4), optimize=True) + tmp103 = tmp43.copy() + tmp103 += tmp102.transpose((1, 0, 3, 2)) + del tmp102 + tmp81 = einsum(tmp69, (0, 1, 2, 3), t1.aa, (3, 4), (0, 1, 2, 4), optimize=True) + tmp46 = tmp45.transpose((1, 0, 2, 3)).copy() * -1 + tmp46 += tmp45.transpose((1, 0, 3, 2)) + tmp73 = einsum(tmp72, (0, 1, 2), v.baa.xoo, (2, 3, 4), (3, 4, 0, 1), optimize=True) + tmp83 = einsum(tmp60, (0, 1, 2), v.baa.xoo, (2, 3, 4), (0, 4, 3, 1), optimize=True) + tmp110 = einsum(tmp60, (0, 1, 2), tmp0, (3, 4, 2), (3, 0, 4, 1), optimize=True) + tmp66 = tmp20.copy() * 2 + tmp66 += tmp6 + tmp119 = einsum(tmp0, (0, 1, 2), v.baa.xov, (2, 3, 4), (0, 3, 1, 4), optimize=True) + tmp25 = v.bbb.xoo.transpose((2, 1, 0)).copy() + tmp25 += tmp12.transpose((1, 0, 2)) + tmp34 = tmp29.copy() * -1 + tmp34 += tmp30 + tmp34 += tmp33 * 2 + tmp34 += einsum(tmp10, (0,), t1.bb, (1, 2), (1, 2, 0), optimize=True) + tmp7 = t2.aaaa.transpose((1, 0, 3, 2)).copy() * 2 + tmp7 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (2, 0, 1, 3), optimize=True) * -1 + tmp21 = tmp5.copy() * -1 + tmp21 += tmp20 * 2 + tmp21 += tmp6 + tmp21 += einsum(t1.aa, (0, 1), tmp10, (2,), (0, 1, 2), optimize=True) + tmp3 = v.baa.xoo.transpose((2, 1, 0)).copy() + tmp3 += tmp0 + tmp1 = v.baa.xoo.transpose((2, 1, 0)).copy() + tmp1 += tmp0.transpose((1, 0, 2)) + tmp205 = einsum(t1.bb, (0, 1), tmp204, (2, 0, 3, 4), (2, 3, 1, 4), optimize=True) + del tmp204 + t2new.bbbb += tmp205.transpose((0, 1, 3, 2)) * -1 + t2new.bbbb += tmp205 + del tmp205 + tmp188 = einsum(t1.bb, (0, 1), tmp186, (2, 3, 0, 4), (2, 3, 4, 1), optimize=True) + del tmp186 + tmp188 += einsum(tmp187, (0, 1, 2, 3), t2.abab, (0, 4, 3, 5), (1, 4, 2, 5), optimize=True) + del tmp187 + t2new.bbbb += einsum(t2.abab, (0, 1, 2, 3), tmp188, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) * -1 + del tmp188 + tmp222 = einsum(t2.bbbb, (0, 1, 2, 3), tmp221, (4, 0, 5, 2), (4, 1, 5, 3), optimize=True) + del tmp221 + t2new.bbbb += tmp222.transpose((0, 1, 3, 2)) * 2 + t2new.bbbb += tmp222.transpose((1, 0, 3, 2)) * -2 + del tmp222 + tmp238 = einsum(tmp237, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 4, 3), optimize=True) + del tmp237 + t2new.bbbb += tmp238 * -1 + t2new.bbbb += tmp238.transpose((1, 0, 2, 3)) + del tmp238 + tmp203 = einsum(tmp202, (0, 1), t2.bbbb, (1, 2, 3, 4), (0, 2, 3, 4), optimize=True) * 2 + del tmp202 + t2new.bbbb += tmp203.transpose((0, 1, 3, 2)) + t2new.bbbb += tmp203.transpose((1, 0, 3, 2)) * -1 + del tmp203 + tmp227 = einsum(t2.bbbb, (0, 1, 2, 3), tmp226, (4, 5, 0, 1), (5, 4, 2, 3), optimize=True) * -1 + del tmp226 + t2new.bbbb += tmp227.transpose((0, 1, 3, 2)) * -1 + t2new.bbbb += tmp227.transpose((0, 1, 3, 2)) * -1 + del tmp227 + tmp211 = einsum(t2.bbbb, (0, 1, 2, 3), tmp52, (1, 4, 5, 3), (0, 4, 2, 5), optimize=True) * 2 + del tmp52 + tmp211 += einsum(v.bbb.xov, (0, 1, 2), tmp209, (3, 4, 0), (3, 1, 4, 2), optimize=True) * -1 + del tmp209 + tmp211 += einsum(tmp151, (0, 1, 2), tmp210, (3, 4, 2), (1, 0, 4, 3), optimize=True) + del tmp210, tmp151 + t2new.bbbb += einsum(tmp211, (0, 1, 2, 3), t2.bbbb, (1, 4, 3, 5), (4, 0, 2, 5), optimize=True) * 2 + del tmp211 + tmp193 = f.bb.vv.transpose((1, 0)).copy() * -1 + tmp193 += einsum(v.bbb.xov, (0, 1, 2), tmp192, (1, 3, 0), (2, 3), optimize=True) + del tmp192 + tmp193 += einsum(v.bbb.xvv, (0, 1, 2), tmp10, (0,), (2, 1), optimize=True) * -1 + tmp193 += einsum(t1.bb, (0, 1), tmp36, (0, 2), (2, 1), optimize=True) + t2new.bbbb += einsum(tmp193, (0, 1), t2.bbbb, (2, 3, 0, 4), (3, 2, 1, 4), optimize=True) * 2 + del tmp193 + tmp189 = einsum(tmp128, (0, 1, 2), v.bbb.xov, (2, 0, 3), (1, 3), optimize=True) + t2new.bbbb += einsum(t2.bbbb, (0, 1, 2, 3), tmp189, (4, 2), (1, 0, 3, 4), optimize=True) * -4 + del tmp189 + tmp234 = einsum(tmp233, (0, 1, 2, 3), t2.bbbb, (3, 2, 4, 5), (1, 0, 4, 5), optimize=True) + del tmp233 + t2new.bbbb += tmp234.transpose((0, 1, 3, 2)) * -1 + t2new.bbbb += tmp234.transpose((0, 1, 3, 2)) * -1 + del tmp234 + tmp225 = einsum(v.bbb.xov, (0, 1, 2), tmp131, (3, 4, 0), (3, 1, 2, 4), optimize=True) + t2new.bbbb += tmp225.transpose((1, 0, 3, 2)) * -1 + t2new.bbbb += tmp225.transpose((0, 1, 3, 2)) + del tmp225 + tmp179 = t2.bbbb.transpose((1, 0, 3, 2)).copy() + tmp179 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (2, 0, 3, 1), optimize=True) + tmp190 = f.bb.oo.transpose((1, 0)).copy() + tmp190 += tmp124.transpose((1, 0)) * -1 + tmp190 += einsum(v.bbb.xoo, (0, 1, 2), tmp14, (0,), (2, 1), optimize=True) + t2new.bbbb += einsum(tmp190, (0, 1), t2.bbbb, (0, 2, 3, 4), (1, 2, 4, 3), optimize=True) * 2 + del tmp190 + tmp231 = einsum(t1.bb, (0, 1), tmp230, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) + del tmp230 + t2new.bbbb += tmp231.transpose((0, 1, 3, 2)) * -1 + t2new.bbbb += tmp231 + del tmp231 + tmp125 = f.bb.oo.transpose((1, 0)).copy() + tmp125 += tmp124.transpose((1, 0)) * -1 + del tmp124 + tmp125 += tmp35.transpose((1, 0)) + t2new.bbbb += einsum(t2.bbbb, (0, 1, 2, 3), tmp125, (0, 4), (1, 4, 3, 2), optimize=True) * -2 + t2new.abab += einsum(tmp125, (0, 1), t2.abab, (2, 0, 3, 4), (2, 1, 3, 4), optimize=True) * -1 + del tmp125 + tmp219 = einsum(t2.bbbb, (0, 1, 2, 3), tmp218, (4, 0, 5, 2), (4, 1, 5, 3), optimize=True) + del tmp218 + t2new.bbbb += tmp219.transpose((0, 1, 3, 2)) * 2 + t2new.bbbb += tmp219.transpose((1, 0, 3, 2)) * -2 + t2new.bbbb += tmp219 * -2 + del tmp219 + tmp213 = einsum(tmp45, (0, 1, 2, 3), t2.abab, (0, 4, 3, 5), (1, 4, 2, 5), optimize=True) + del tmp45 + tmp213 += einsum(tmp212, (0, 1, 2), v.baa.xov, (2, 3, 4), (3, 0, 4, 1), optimize=True) + del tmp212 + t2new.bbbb += einsum(t2.abab, (0, 1, 2, 3), tmp213, (0, 4, 2, 5), (1, 4, 5, 3), optimize=True) + del tmp213 + tmp216 = einsum(t1.bb, (0, 1), tmp215, (2, 0, 3, 4), (2, 3, 1, 4), optimize=True) + del tmp215 + t2new.bbbb += tmp216.transpose((1, 0, 3, 2)) + t2new.bbbb += tmp216.transpose((0, 1, 3, 2)) * -1 + del tmp216 + tmp196 = einsum(t2.bbbb, (0, 1, 2, 3), tmp195, (4, 1, 5, 0), (4, 5, 2, 3), optimize=True) * -1 + del tmp195 + t2new.bbbb += tmp196.transpose((0, 1, 3, 2)) * 2 + t2new.bbbb += tmp196.transpose((1, 0, 3, 2)) * -2 + del tmp196 + tmp232 = einsum(tmp131, (0, 1, 2), tmp131, (3, 4, 2), (3, 0, 4, 1), optimize=True) + t2new.bbbb += tmp232.transpose((0, 1, 3, 2)) * -1 + t2new.bbbb += tmp232 + del tmp232 + tmp191 = t2.bbbb.transpose((1, 0, 3, 2)).copy() + tmp191 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1), optimize=True) * -1 + tmp239 = tmp131.copy() * -1 + tmp239 += tmp168 + t2new.bbbb += einsum(tmp239, (0, 1, 2), tmp30, (3, 4, 2), (3, 0, 4, 1), optimize=True) * -1 + del tmp239 + tmp135 = f.bb.vv.transpose((1, 0)).copy() + tmp135 += tmp132 * -1 + del tmp132 + tmp135 += tmp133.transpose((1, 0)) + del tmp133 + tmp135 += tmp134.transpose((1, 0)) * -1 + del tmp134 + t2new.bbbb += einsum(t2.bbbb, (0, 1, 2, 3), tmp135, (2, 4), (1, 0, 3, 4), optimize=True) * 2 + t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp135, (3, 4), (0, 1, 2, 4), optimize=True) + del tmp135 + tmp198 = einsum(t1.bb, (0, 1), tmp197, (2, 0, 3, 4), (3, 2, 4, 1), optimize=True) + del tmp197 + t2new.bbbb += tmp198.transpose((1, 0, 2, 3)) + t2new.bbbb += tmp198.transpose((1, 0, 3, 2)) * -1 + del tmp198 + tmp194 = einsum(v.bbb.xov, (0, 1, 2), tmp130, (3, 4, 0), (1, 3, 2, 4), optimize=True) + del tmp130 + t2new.bbbb += tmp194.transpose((1, 0, 3, 2)) + t2new.bbbb += tmp194.transpose((1, 0, 2, 3)) * -1 + t2new.bbbb += tmp194.transpose((0, 1, 3, 2)) * -1 + t2new.bbbb += tmp194 + del tmp194 + tmp241 = einsum(tmp240, (0, 1, 2, 3), t2.bbbb, (4, 5, 3, 2), (4, 5, 0, 1), optimize=True) + del tmp240 + t2new.bbbb += einsum(tmp241, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 4, 3), optimize=True) * -2 + del tmp241 + tmp178 = einsum(v.bbb.xoo, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (1, 4, 3, 2), optimize=True) + t2new.bbbb += einsum(tmp178, (0, 1, 2, 3), tmp191, (0, 2, 4, 5), (1, 3, 5, 4), optimize=True) + del tmp191 + t2new.bbbb += einsum(tmp179, (0, 1, 2, 3), tmp178, (0, 4, 1, 5), (4, 5, 3, 2), optimize=True) + del tmp178, tmp179 + tmp182 = einsum(tmp30, (0, 1, 2), tmp33, (3, 4, 2), (0, 3, 1, 4), optimize=True) + t2new.bbbb += tmp182.transpose((1, 0, 2, 3)) * -2 + t2new.bbbb += tmp182.transpose((0, 1, 3, 2)) * -2 + t2new.bbbb += tmp182.transpose((1, 0, 3, 2)) * 2 + t2new.bbbb += tmp182 * 2 + del tmp182 + tmp223 = v.bbb.xov.transpose((1, 2, 0)).copy() + tmp223 += tmp131 + tmp223 += tmp168 * -1 + del tmp168 + t2new.bbbb += einsum(v.bbb.xov, (0, 1, 2), tmp223, (3, 4, 0), (3, 1, 2, 4), optimize=True) * -1 + del tmp223 + tmp214 = v.bbb.xov.transpose((1, 2, 0)).copy() * -1 + tmp214 += tmp131 * -1 + tmp214 += tmp152 + t2new.bbbb += einsum(v.bbb.xov, (0, 1, 2), tmp214, (3, 4, 0), (1, 3, 2, 4), optimize=True) * -1 + del tmp214 + tmp229 = einsum(t1.bb, (0, 1), tmp228, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) + del tmp228 + t2new.bbbb += tmp229.transpose((1, 0, 2, 3)) + t2new.bbbb += tmp229 * -1 + t2new.bbbb += tmp229.transpose((1, 0, 3, 2)) * -1 + t2new.bbbb += tmp229.transpose((0, 1, 3, 2)) + del tmp229 + tmp236 = einsum(v.bbb.xvv, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (4, 1, 2, 3), optimize=True) + tmp236 += einsum(tmp235, (0, 1, 2, 3), t1.bb, (0, 4), (3, 2, 4, 1), optimize=True) + del tmp235 + t2new.bbbb += einsum(tmp236, (0, 1, 2, 3), t2.bbbb, (4, 5, 0, 1), (5, 4, 3, 2), optimize=True) * -2 + del tmp236 + tmp207 = einsum(tmp206, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 4, 3), optimize=True) + del tmp206 + t2new.bbbb += tmp207.transpose((0, 1, 3, 2)) + t2new.bbbb += tmp207 * -1 + del tmp207 + tmp185 = tmp181.copy() * 0.5 + del tmp181 + tmp185 += einsum(tmp183, (0, 1, 2, 3), t2.bbbb, (0, 4, 3, 5), (4, 1, 5, 2), optimize=True) * -1 + del tmp183 + tmp185 += einsum(tmp184, (0, 1, 2), v.bbb.xoo, (2, 3, 4), (4, 3, 1, 0), optimize=True) * 0.5 + del tmp184 + t2new.bbbb += einsum(tmp185, (0, 1, 2, 3), t2.bbbb, (1, 4, 3, 5), (0, 4, 2, 5), optimize=True) * -4 + del tmp185 + tmp224 = einsum(tmp30, (0, 1, 2), tmp169, (3, 4, 2), (0, 3, 1, 4), optimize=True) + del tmp169 + t2new.bbbb += tmp224.transpose((1, 0, 2, 3)) * -1 + t2new.bbbb += tmp224.transpose((1, 0, 3, 2)) + del tmp224 + tmp150 = tmp91.copy() * -1 + tmp150 += einsum(v.bbb.xov, (0, 1, 2), tmp147, (3, 4, 0), (3, 1, 4, 2), optimize=True) + t2new.abab += einsum(tmp150, (0, 1, 2, 3), t2.bbbb, (1, 4, 3, 5), (0, 4, 2, 5), optimize=True) * 2 + del tmp150 + tmp142 = einsum(v.baa.xov, (0, 1, 2), tmp141, (3, 2, 0), (1, 3), optimize=True) + del tmp141 + tmp142 += tmp23.transpose((1, 0)) + t2new.abab += einsum(tmp142, (0, 1), t2.abab, (0, 2, 3, 4), (1, 2, 3, 4), optimize=True) * -2 + del tmp142 + tmp138 = einsum(tmp12, (0, 1, 2), v.baa.xoo, (2, 3, 4), (4, 3, 0, 1), optimize=True) + tmp172 = einsum(v.bbb.xov, (0, 1, 2), tmp0, (3, 4, 0), (3, 4, 1, 2), optimize=True) + t2new.abab += einsum(t1.aa, (0, 1), tmp172, (2, 0, 3, 4), (2, 3, 1, 4), optimize=True) * -1 + del tmp172 + tmp139 = t2.abab.copy() + tmp139 += einsum(t1.aa, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3), optimize=True) + t2new.abab += einsum(tmp138, (0, 1, 2, 3), tmp139, (1, 3, 4, 5), (0, 2, 4, 5), optimize=True) + del tmp138 + tmp58 = f.aa.oo.transpose((1, 0)).copy() + tmp58 += tmp38.transpose((1, 0)) * -1 + tmp58 += tmp57.transpose((1, 0)) + del tmp57 + t2new.abab += einsum(tmp58, (0, 1), t2.abab, (0, 2, 3, 4), (1, 2, 3, 4), optimize=True) * -1 + t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp58, (0, 4), (4, 1, 3, 2), optimize=True) * 2 + del tmp58 + tmp146 = einsum(t2.abab, (0, 1, 2, 3), tmp144, (0, 4, 5, 3), (4, 1, 5, 2), optimize=True) + tmp146 += einsum(tmp27, (0, 1, 2), tmp145, (3, 4, 2), (1, 0, 4, 3), optimize=True) * -1 + del tmp145 + t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp146, (1, 4, 2, 5), (0, 4, 5, 3), optimize=True) + del tmp146 + tmp176 = einsum(v.baa.xoo, (0, 1, 2), tmp131, (3, 4, 0), (2, 1, 3, 4), optimize=True) + t2new.abab += einsum(t1.aa, (0, 1), tmp176, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) * -1 + del tmp176 + tmp158 = tmp98.transpose((1, 0, 2, 3)).copy() * -1 + del tmp98 + tmp158 += einsum(tmp148, (0, 1, 2), tmp0, (3, 4, 2), (3, 4, 1, 0), optimize=True) + t2new.abab += einsum(tmp158, (0, 1, 2, 3), t2.abab, (1, 4, 2, 5), (0, 4, 3, 5), optimize=True) * -1 + del tmp158 + tmp171 = tmp170.transpose((1, 0, 2, 3)).copy() * -1 + del tmp170 + tmp171 += einsum(tmp155, (0, 1, 2), tmp12, (3, 4, 2), (3, 4, 1, 0), optimize=True) + t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp171, (4, 1, 3, 5), (0, 4, 2, 5), optimize=True) * -1 + del tmp171 + tmp140 = einsum(tmp60, (0, 1, 2), v.bbb.xoo, (2, 3, 4), (0, 4, 3, 1), optimize=True) + t2new.abab += einsum(tmp140, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 3, 4), optimize=True) * -1 + del tmp140 + tmp175 = einsum(t2.abab, (0, 1, 2, 3), tmp174, (4, 2, 5, 3), (0, 4, 1, 5), optimize=True) + del tmp174 + t2new.abab += einsum(t1.aa, (0, 1), tmp175, (2, 0, 3, 4), (2, 3, 1, 4), optimize=True) * -1 + del tmp175 + tmp149 = tmp85.transpose((1, 0, 3, 2)).copy() * 2 + tmp149 += einsum(tmp147, (0, 1, 2), v.baa.xov, (2, 3, 4), (3, 0, 4, 1), optimize=True) * -1 + del tmp147 + tmp149 += einsum(tmp148, (0, 1, 2), v.baa.xoo, (2, 3, 4), (4, 3, 1, 0), optimize=True) + del tmp148 + t2new.abab += einsum(tmp149, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) * -1 + del tmp149 + tmp157 = einsum(tmp33, (0, 1, 2), tmp0, (3, 4, 2), (3, 4, 0, 1), optimize=True) + del tmp33 + t2new.abab += einsum(t1.aa, (0, 1), tmp157, (2, 0, 3, 4), (2, 3, 1, 4), optimize=True) * -2 + del tmp157 + tmp137 = einsum(v.bbb.xov, (0, 1, 2), tmp136, (3, 2, 0), (1, 3), optimize=True) * 0.5 + del tmp136 + tmp137 += einsum(t1.bb, (0, 1), tmp36, (2, 1), (2, 0), optimize=True) * 0.5 + t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp137, (1, 4), (0, 4, 2, 3), optimize=True) * -2 + del tmp137 + tmp177 = einsum(tmp0, (0, 1, 2), tmp131, (3, 4, 2), (0, 1, 3, 4), optimize=True) + t2new.abab += einsum(t1.aa, (0, 1), tmp177, (2, 0, 3, 4), (2, 3, 1, 4), optimize=True) * -1 + del tmp177 + tmp65 = f.aa.vv.transpose((1, 0)).copy() * -1 + tmp65 += tmp62 + del tmp62 + tmp65 += tmp63.transpose((1, 0)) * -1 + del tmp63 + tmp65 += tmp64.transpose((1, 0)) + del tmp64 + t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp65, (2, 4), (0, 1, 4, 3), optimize=True) * -1 + t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp65, (2, 4), (1, 0, 4, 3), optimize=True) * 2 + del tmp65 + tmp160 = einsum(tmp0, (0, 1, 2), tmp12, (3, 4, 2), (0, 1, 3, 4), optimize=True) + del tmp12 + t2new.abab += einsum(tmp160, (0, 1, 2, 3), tmp139, (1, 3, 4, 5), (0, 2, 4, 5), optimize=True) + del tmp160 + tmp167 = einsum(tmp165, (0, 1, 2, 3), t1.aa, (0, 4), (1, 4, 3, 2), optimize=True) + del tmp165 + tmp167 += einsum(v.baa.xvv, (0, 1, 2), tmp166, (3, 4, 0), (2, 1, 4, 3), optimize=True) + del tmp166 + t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp167, (2, 4, 3, 5), (0, 1, 4, 5), optimize=True) + del tmp167 + tmp164 = einsum(tmp144, (0, 1, 2, 3), t2.abab, (4, 5, 2, 3), (4, 0, 5, 1), optimize=True) + del tmp144 + t2new.abab += einsum(tmp164, (0, 1, 2, 3), t2.abab, (1, 3, 4, 5), (0, 2, 4, 5), optimize=True) + del tmp164 + tmp159 = v.bbb.xov.transpose((1, 2, 0)).copy() * 0.5 + tmp159 += tmp131 * 0.5 + tmp159 += einsum(v.bbb.xov, (0, 1, 2), tmp31, (1, 3, 2, 4), (3, 4, 0), optimize=True) * 0.5 + t2new.abab += einsum(tmp60, (0, 1, 2), tmp159, (3, 4, 2), (0, 3, 1, 4), optimize=True) * 2 + del tmp159 + tmp143 = einsum(tmp0, (0, 1, 2), v.bbb.xoo, (2, 3, 4), (0, 1, 4, 3), optimize=True) + t2new.abab += einsum(tmp139, (0, 1, 2, 3), tmp143, (4, 0, 1, 5), (4, 5, 2, 3), optimize=True) + del tmp139, tmp143 + tmp173 = einsum(tmp0, (0, 1, 2), tmp155, (3, 4, 2), (0, 1, 4, 3), optimize=True) + del tmp0 + t2new.abab += einsum(tmp173, (0, 1, 2, 3), t2.abab, (1, 4, 5, 2), (0, 4, 5, 3), optimize=True) * -1 + del tmp173 + tmp163 = v.bbb.xov.transpose((1, 2, 0)).copy() + tmp163 += tmp29 * -1 + t2new.abab += einsum(tmp20, (0, 1, 2), tmp163, (3, 4, 2), (0, 3, 1, 4), optimize=True) * 2 + del tmp163 + tmp162 = einsum(v.bbb.xov, (0, 1, 2), tmp161, (3, 4, 0), (1, 3, 2, 4), optimize=True) + del tmp161 + tmp162 += einsum(tmp155, (0, 1, 2), v.bbb.xoo, (2, 3, 4), (4, 3, 1, 0), optimize=True) + t2new.abab += einsum(tmp162, (0, 1, 2, 3), t2.abab, (4, 0, 5, 2), (4, 1, 5, 3), optimize=True) * -1 + del tmp162 + tmp126 = einsum(v.baa.xoo, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (1, 2, 3, 4), optimize=True) + t2new.abab += einsum(tmp126, (0, 1, 2, 3), t2.abab, (1, 3, 4, 5), (0, 2, 4, 5), optimize=True) * 0.5 + tmp127 = t2.abab.copy() + tmp127 += einsum(t1.aa, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3), optimize=True) * 2 + t2new.abab += einsum(tmp127, (0, 1, 2, 3), tmp126, (0, 4, 1, 5), (4, 5, 2, 3), optimize=True) * 0.5 + del tmp126, tmp127 + tmp156 = einsum(tmp155, (0, 1, 2), v.baa.xoo, (2, 3, 4), (4, 3, 1, 0), optimize=True) + del tmp155 + t2new.abab += einsum(tmp156, (0, 1, 2, 3), t2.abab, (0, 4, 5, 2), (1, 4, 5, 3), optimize=True) * -1 + del tmp156 + tmp129 = einsum(tmp128, (0, 1, 2), v.bbb.xov, (2, 0, 3), (1, 3), optimize=True) * 2 + del tmp128 + t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp129, (4, 3), (0, 1, 2, 4), optimize=True) * -1 + del tmp129 + tmp153 = v.bbb.xov.transpose((1, 2, 0)).copy() + tmp153 += tmp131 + del tmp131 + tmp153 += tmp152 * -1 + del tmp152 + t2new.abab += einsum(tmp153, (0, 1, 2), v.baa.xov, (2, 3, 4), (3, 0, 4, 1), optimize=True) + del tmp153 + tmp68 = f.aa.vv.transpose((1, 0)).copy() + tmp68 += einsum(tmp60, (0, 1, 2), v.baa.xov, (2, 0, 3), (3, 1), optimize=True) * -1 + tmp68 += einsum(v.baa.xvv, (0, 1, 2), tmp14, (0,), (2, 1), optimize=True) + del tmp14 + tmp68 += einsum(tmp19, (0, 1), t1.aa, (0, 2), (1, 2), optimize=True) * -1 + del tmp19 + t2new.aaaa += einsum(tmp68, (0, 1), t2.aaaa, (2, 3, 0, 4), (3, 2, 4, 1), optimize=True) * 2 + del tmp68 + tmp90 = tmp85.copy() * 2 + del tmp85 + tmp90 += einsum(tmp87, (0, 1, 2), v.baa.xov, (2, 3, 4), (0, 3, 1, 4), optimize=True) * -1 + del tmp87 + tmp90 += einsum(tmp89, (0, 1, 2), tmp88, (3, 4, 2), (4, 3, 1, 0), optimize=True) + del tmp88, tmp89 + t2new.aaaa += einsum(tmp90, (0, 1, 2, 3), t2.aaaa, (1, 4, 3, 5), (4, 0, 2, 5), optimize=True) * 2 + del tmp90 + tmp94 = tmp91.copy() + del tmp91 + tmp94 += einsum(v.bbb.xov, (0, 1, 2), tmp93, (3, 4, 0), (3, 1, 4, 2), optimize=True) + del tmp93 + t2new.aaaa += einsum(t2.abab, (0, 1, 2, 3), tmp94, (4, 1, 5, 3), (0, 4, 5, 2), optimize=True) + del tmp94 + tmp39 = f.aa.oo.transpose((1, 0)).copy() + tmp39 += tmp38.transpose((1, 0)) * -1 + del tmp38 + tmp39 += einsum(tmp10, (0,), v.baa.xoo, (0, 1, 2), (2, 1), optimize=True) + t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp39, (0, 4), (1, 4, 3, 2), optimize=True) * -2 + del tmp39 + tmp105 = v.baa.xov.transpose((1, 2, 0)).copy() + tmp105 += tmp60 + tmp105 += tmp71 * -1 + t2new.aaaa += einsum(v.baa.xov, (0, 1, 2), tmp105, (3, 4, 0), (3, 1, 2, 4), optimize=True) * -1 + del tmp105 + tmp95 = v.baa.xov.transpose((1, 2, 0)).copy() * -1 + tmp95 += tmp60 * -1 + tmp95 += tmp92 + del tmp92 + t2new.aaaa += einsum(tmp95, (0, 1, 2), v.baa.xov, (2, 3, 4), (3, 0, 4, 1), optimize=True) * -1 + del tmp95 + tmp101 = einsum(tmp100, (0, 1, 2, 3), t2.aaaa, (1, 4, 3, 5), (4, 0, 5, 2), optimize=True) + del tmp100 + t2new.aaaa += tmp101.transpose((1, 0, 2, 3)) * 2 + t2new.aaaa += tmp101 * -2 + t2new.aaaa += tmp101.transpose((1, 0, 3, 2)) * -2 + del tmp101 + tmp97 = einsum(tmp96, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 4, 3), optimize=True) + del tmp96 + t2new.aaaa += tmp97.transpose((1, 0, 3, 2)) + t2new.aaaa += tmp97.transpose((0, 1, 3, 2)) * -1 + del tmp97 + tmp40 = einsum(v.baa.xoo, (0, 1, 2), v.baa.xoo, (0, 3, 4), (1, 4, 3, 2), optimize=True) + tmp121 = tmp60.copy() * -1 + tmp121 += tmp71 + del tmp71 + t2new.aaaa += einsum(tmp6, (0, 1, 2), tmp121, (3, 4, 2), (0, 3, 1, 4), optimize=True) * -1 + del tmp121 + tmp54 = tmp51.copy() + del tmp51 + tmp54 += einsum(t2.abab, (0, 1, 2, 3), tmp53, (1, 4, 3, 5), (0, 4, 2, 5), optimize=True) * -1 + del tmp53 + t2new.aaaa += einsum(tmp54, (0, 1, 2, 3), t2.abab, (4, 1, 5, 3), (0, 4, 2, 5), optimize=True) * -1 + del tmp54 + tmp56 = einsum(v.baa.xov, (0, 1, 2), tmp55, (1, 3, 0), (3, 2), optimize=True) + del tmp55 + t2new.aaaa += einsum(tmp56, (0, 1), t2.aaaa, (2, 3, 1, 4), (3, 2, 4, 0), optimize=True) * -2 + del tmp56 + tmp70 = einsum(t2.aaaa, (0, 1, 2, 3), tmp69, (4, 1, 5, 0), (4, 5, 2, 3), optimize=True) * -1 + del tmp69 + t2new.aaaa += tmp70.transpose((0, 1, 3, 2)) * 2 + t2new.aaaa += tmp70.transpose((1, 0, 3, 2)) * -2 + del tmp70 + tmp44 = einsum(tmp20, (0, 1, 2), tmp6, (3, 4, 2), (0, 3, 1, 4), optimize=True) + del tmp20 + t2new.aaaa += tmp44.transpose((1, 0, 2, 3)) * -2 + t2new.aaaa += tmp44.transpose((0, 1, 3, 2)) * -2 + t2new.aaaa += tmp44.transpose((1, 0, 3, 2)) * 2 + t2new.aaaa += tmp44 * 2 + del tmp44 + tmp80 = einsum(tmp79, (0, 1), t2.aaaa, (1, 2, 3, 4), (2, 0, 3, 4), optimize=True) * 2 + del tmp79 + t2new.aaaa += tmp80.transpose((1, 0, 3, 2)) + t2new.aaaa += tmp80.transpose((0, 1, 3, 2)) * -1 + del tmp80 + tmp113 = einsum(t1.aa, (0, 1), tmp112, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) + del tmp112 + t2new.aaaa += tmp113.transpose((0, 1, 3, 2)) * -1 + t2new.aaaa += tmp113 + del tmp113 + tmp107 = einsum(tmp60, (0, 1, 2), v.baa.xov, (2, 3, 4), (0, 3, 4, 1), optimize=True) + t2new.aaaa += tmp107.transpose((1, 0, 3, 2)) * -1 + t2new.aaaa += tmp107.transpose((0, 1, 3, 2)) + del tmp107 + tmp116 = einsum(t2.aaaa, (0, 1, 2, 3), tmp115, (4, 5, 1, 0), (5, 4, 2, 3), optimize=True) + del tmp115 + t2new.aaaa += tmp116.transpose((0, 1, 3, 2)) * -1 + t2new.aaaa += tmp116.transpose((0, 1, 3, 2)) * -1 + del tmp116 + tmp118 = einsum(v.baa.xvv, (0, 1, 2), v.baa.xvv, (0, 3, 4), (4, 1, 2, 3), optimize=True) + tmp118 += einsum(t1.aa, (0, 1), tmp117, (0, 2, 3, 4), (4, 3, 1, 2), optimize=True) + del tmp117 + t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp118, (2, 3, 4, 5), (1, 0, 5, 4), optimize=True) * -2 + del tmp118 + tmp123 = einsum(tmp122, (0, 1, 2, 3), t2.aaaa, (4, 5, 3, 2), (4, 5, 0, 1), optimize=True) + del tmp122 + t2new.aaaa += einsum(t1.aa, (0, 1), tmp123, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) * -2 + del tmp123 + tmp41 = t2.aaaa.transpose((1, 0, 3, 2)).copy() + tmp41 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 1, 3), optimize=True) + t2new.aaaa += einsum(tmp41, (0, 1, 2, 3), tmp40, (0, 4, 1, 5), (4, 5, 3, 2), optimize=True) + del tmp41 + tmp104 = einsum(tmp103, (0, 1, 2, 3), t2.aaaa, (1, 4, 3, 5), (4, 0, 5, 2), optimize=True) + del tmp103 + t2new.aaaa += tmp104.transpose((1, 0, 2, 3)) * 2 + t2new.aaaa += tmp104 * -2 + del tmp104 + tmp82 = einsum(tmp81, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 4, 3), optimize=True) + del tmp81 + t2new.aaaa += tmp82.transpose((0, 1, 3, 2)) + t2new.aaaa += tmp82 * -1 + del tmp82 + tmp49 = tmp43.copy() + del tmp43 + tmp49 += einsum(tmp46, (0, 1, 2, 3), t2.aaaa, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) * -2 + del tmp46 + tmp49 += einsum(v.baa.xoo, (0, 1, 2), tmp48, (3, 4, 0), (2, 1, 4, 3), optimize=True) + del tmp48 + t2new.aaaa += einsum(tmp49, (0, 1, 2, 3), t2.aaaa, (1, 4, 3, 5), (0, 4, 2, 5), optimize=True) * -2 + del tmp49 + tmp74 = einsum(tmp73, (0, 1, 2, 3), t1.aa, (1, 4), (2, 0, 4, 3), optimize=True) + del tmp73 + t2new.aaaa += tmp74.transpose((1, 0, 3, 2)) + t2new.aaaa += tmp74.transpose((1, 0, 2, 3)) * -1 + del tmp74 + tmp109 = einsum(tmp108, (0, 1, 2, 3), t2.aaaa, (2, 3, 4, 5), (1, 0, 4, 5), optimize=True) * -1 + del tmp108 + t2new.aaaa += tmp109.transpose((0, 1, 3, 2)) * -1 + t2new.aaaa += tmp109.transpose((0, 1, 3, 2)) * -1 + del tmp109 + tmp59 = t2.aaaa.transpose((1, 0, 3, 2)).copy() + tmp59 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (2, 0, 1, 3), optimize=True) * -1 + t2new.aaaa += einsum(tmp59, (0, 1, 2, 3), tmp40, (0, 4, 1, 5), (4, 5, 3, 2), optimize=True) + del tmp40, tmp59 + tmp84 = einsum(t1.aa, (0, 1), tmp83, (2, 0, 3, 4), (2, 3, 1, 4), optimize=True) + del tmp83 + t2new.aaaa += tmp84.transpose((0, 1, 3, 2)) * -1 + t2new.aaaa += tmp84 + del tmp84 + tmp111 = einsum(tmp110, (0, 1, 2, 3), t1.aa, (2, 4), (0, 1, 4, 3), optimize=True) + del tmp110 + t2new.aaaa += tmp111.transpose((1, 0, 2, 3)) + t2new.aaaa += tmp111 * -1 + t2new.aaaa += tmp111.transpose((1, 0, 3, 2)) * -1 + t2new.aaaa += tmp111.transpose((0, 1, 3, 2)) + del tmp111 + tmp67 = einsum(v.baa.xov, (0, 1, 2), tmp66, (3, 4, 0), (1, 3, 2, 4), optimize=True) + del tmp66 + t2new.aaaa += tmp67.transpose((1, 0, 3, 2)) + t2new.aaaa += tmp67.transpose((1, 0, 2, 3)) * -1 + t2new.aaaa += tmp67.transpose((0, 1, 3, 2)) * -1 + t2new.aaaa += tmp67 + del tmp67 + tmp106 = einsum(tmp72, (0, 1, 2), tmp6, (3, 4, 2), (3, 0, 4, 1), optimize=True) + del tmp72 + t2new.aaaa += tmp106.transpose((1, 0, 2, 3)) * -1 + t2new.aaaa += tmp106.transpose((1, 0, 3, 2)) + del tmp106 + tmp120 = einsum(t1.aa, (0, 1), tmp119, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) + del tmp119 + t2new.aaaa += tmp120 * -1 + t2new.aaaa += tmp120.transpose((1, 0, 2, 3)) + del tmp120 + tmp114 = einsum(tmp60, (0, 1, 2), tmp60, (3, 4, 2), (3, 0, 4, 1), optimize=True) + del tmp60 + t2new.aaaa += tmp114.transpose((0, 1, 3, 2)) * -1 + t2new.aaaa += tmp114 + del tmp114 + tmp28 = einsum(tmp27, (0, 1, 2), v.baa.xov, (2, 3, 4), (3, 1, 0, 4), optimize=True) + del tmp27 + t1new.bb += einsum(tmp28, (0, 1, 2, 3), t2.abab, (0, 1, 3, 4), (2, 4), optimize=True) * -1 + del tmp28 + tmp32 = tmp29.copy() * -1 + del tmp29 + tmp32 += tmp30 + del tmp30 + tmp32 += einsum(v.bbb.xov, (0, 1, 2), tmp31, (1, 3, 2, 4), (3, 4, 0), optimize=True) + del tmp31 + tmp32 += einsum(tmp10, (0,), t1.bb, (1, 2), (1, 2, 0), optimize=True) + t1new.bb += einsum(tmp32, (0, 1, 2), v.bbb.xvv, (2, 1, 3), (0, 3), optimize=True) + del tmp32 + tmp26 = einsum(v.bbb.xov, (0, 1, 2), tmp25, (3, 4, 0), (4, 1, 3, 2), optimize=True) + del tmp25 + t1new.bb += einsum(tmp26, (0, 1, 2, 3), t2.bbbb, (1, 2, 3, 4), (0, 4), optimize=True) * -2 + del tmp26 + tmp37 = f.bb.oo.transpose((1, 0)).copy() + tmp37 += einsum(v.bbb.xov, (0, 1, 2), tmp34, (3, 2, 0), (1, 3), optimize=True) + del tmp34 + tmp37 += tmp35.transpose((1, 0)) + del tmp35 + tmp37 += einsum(t1.bb, (0, 1), tmp36, (2, 1), (2, 0), optimize=True) + del tmp36 + t1new.bb += einsum(t1.bb, (0, 1), tmp37, (0, 2), (2, 1), optimize=True) * -1 + del tmp37 + tmp11 = tmp5.copy() * -1 + del tmp5 + tmp11 += tmp6 + del tmp6 + tmp11 += einsum(v.baa.xov, (0, 1, 2), tmp7, (1, 3, 2, 4), (3, 4, 0), optimize=True) + del tmp7 + tmp11 += einsum(t1.aa, (0, 1), tmp10, (2,), (0, 1, 2), optimize=True) + t1new.aa += einsum(v.baa.xvv, (0, 1, 2), tmp11, (3, 1, 0), (3, 2), optimize=True) + del tmp11 + tmp24 = f.aa.oo.transpose((1, 0)).copy() * 0.5 + tmp24 += einsum(tmp21, (0, 1, 2), v.baa.xov, (2, 3, 1), (3, 0), optimize=True) * 0.5 + del tmp21 + tmp24 += einsum(tmp10, (0,), v.baa.xoo, (0, 1, 2), (2, 1), optimize=True) * 0.5 + del tmp10 + tmp24 += tmp23.transpose((1, 0)) + del tmp23 + t1new.aa += einsum(tmp24, (0, 1), t1.aa, (0, 2), (1, 2), optimize=True) * -2 + del tmp24 + tmp4 = einsum(v.bbb.xov, (0, 1, 2), tmp3, (3, 4, 0), (4, 3, 1, 2), optimize=True) + del tmp3 + t1new.aa += einsum(t2.abab, (0, 1, 2, 3), tmp4, (0, 4, 1, 3), (4, 2), optimize=True) * -1 + del tmp4 + tmp2 = einsum(tmp1, (0, 1, 2), v.baa.xov, (2, 3, 4), (1, 3, 0, 4), optimize=True) + del tmp1 + t1new.aa += einsum(t2.aaaa, (0, 1, 2, 3), tmp2, (4, 0, 1, 2), (4, 3), optimize=True) * -2 + del tmp2 + t1new.aa += einsum(f.aa.vv, (0, 1), t1.aa, (2, 1), (2, 0), optimize=True) + t1new.aa += f.aa.ov + t1new.bb += f.bb.ov + t1new.bb += einsum(f.bb.vv, (0, 1), t1.bb, (2, 1), (2, 0), optimize=True) + + return {f"t1new": t1new, f"t2new": t2new} + +def update_lams(f=None, l1=None, l2=None, t1=None, t2=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-07-18T20:48:57.648335. + + Parameters + ---------- + f : Namespace of arrays + Fock matrix. + l1 : Namespace of arrays + L1 amplitudes. + l2 : Namespace of arrays + L2 amplitudes. + t1 : Namespace of arrays + T1 amplitudes. + t2 : Namespace of arrays + T2 amplitudes. + v : Namespace of arrays + Electron repulsion integrals. + + Returns + ------- + l1new : Namespace of arrays + Updated L1 residuals. + l2new : Namespace of arrays + Updated L2 residuals. + """ + + l1new = Namespace() + l2new = Namespace() + tmp12 = einsum(t1.aa, (0, 1), v.baa.xov, (2, 0, 1), (2,), optimize=True) + tmp13 = einsum(v.bbb.xov, (0, 1, 2), t1.bb, (1, 2), (0,), optimize=True) + tmp1 = einsum(t1.aa, (0, 1), v.baa.xov, (2, 3, 1), (0, 3, 2), optimize=True) + tmp14 = tmp12.copy() + tmp14 += tmp13 + tmp66 = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (2, 3, 0, 4), (4, 1), optimize=True) + tmp67 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 0, 1), (2, 4), optimize=True) + tmp65 = einsum(t1.aa, (0, 1), l1.aa, (1, 2), (2, 0), optimize=True) + tmp89 = einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (2, 4, 0, 1), (3, 4), optimize=True) + tmp88 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 1), (3, 4), optimize=True) + tmp87 = einsum(l1.bb, (0, 1), t1.bb, (2, 0), (1, 2), optimize=True) + tmp76 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 4, 0, 1), (4, 3), optimize=True) + tmp77 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (2, 4, 0, 1), (4, 3), optimize=True) + tmp4 = einsum(v.bbb.xov, (0, 1, 2), t1.bb, (3, 2), (3, 1, 0), optimize=True) + tmp7 = einsum(t1.bb, (0, 1), v.bbb.xvv, (2, 3, 1), (0, 3, 2), optimize=True) + tmp9 = einsum(v.bbb.xov, (0, 1, 2), t2.bbbb, (1, 3, 2, 4), (3, 4, 0), optimize=True) + tmp8 = einsum(v.baa.xov, (0, 1, 2), t2.abab, (1, 3, 2, 4), (3, 4, 0), optimize=True) + tmp27 = einsum(v.baa.xvv, (0, 1, 2), t1.aa, (3, 1), (3, 2, 0), optimize=True) + tmp24 = einsum(v.baa.xov, (0, 1, 2), t2.aaaa, (3, 1, 4, 2), (3, 4, 0), optimize=True) + tmp25 = einsum(v.bbb.xov, (0, 1, 2), t2.abab, (3, 1, 4, 2), (3, 4, 0), optimize=True) + tmp11 = einsum(tmp1, (0, 1, 2), v.baa.xov, (2, 0, 3), (1, 3), optimize=True) + l2new.aaaa = einsum(tmp11, (0, 1), l1.aa, (2, 3), (1, 2, 0, 3), optimize=True) * -1 + l2new.aaaa += einsum(l1.aa, (0, 1), tmp11, (2, 3), (3, 0, 1, 2), optimize=True) + l2new.aaaa += einsum(tmp11, (0, 1), l1.aa, (2, 3), (2, 1, 0, 3), optimize=True) + l2new.aaaa += einsum(tmp11, (0, 1), l1.aa, (2, 3), (2, 1, 3, 0), optimize=True) * -1 + tmp15 = einsum(v.baa.xov, (0, 1, 2), tmp14, (0,), (1, 2), optimize=True) + tmp45 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 4, 1), (0, 4), optimize=True) + tmp44 = einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (2, 3, 0, 4), (1, 4), optimize=True) + tmp54 = einsum(l2.abab, (0, 1, 2, 3), t1.aa, (4, 0), (2, 4, 3, 1), optimize=True) + tmp68 = tmp65.copy() * 0.5 + tmp68 += tmp66 + tmp68 += tmp67 * 0.5 + tmp35 = einsum(l2.aaaa, (0, 1, 2, 3), t1.aa, (4, 1), (2, 3, 4, 0), optimize=True) + tmp90 = tmp87.copy() + tmp90 += tmp88 + tmp90 += tmp89 * 2 + tmp85 = einsum(t1.bb, (0, 1), l2.bbbb, (2, 1, 3, 4), (3, 4, 0, 2), optimize=True) + tmp37 = einsum(l2.abab, (0, 1, 2, 3), t1.bb, (4, 1), (2, 3, 4, 0), optimize=True) + tmp132 = tmp76.copy() * 0.5 + tmp132 += tmp77 + tmp111 = einsum(v.bbb.xov, (0, 1, 2), tmp14, (0,), (1, 2), optimize=True) + tmp110 = einsum(v.bbb.xov, (0, 1, 2), tmp4, (1, 3, 0), (3, 2), optimize=True) + l2new.bbbb = einsum(tmp110, (0, 1), l1.bb, (2, 3), (1, 2, 0, 3), optimize=True) * -1 + l2new.bbbb += einsum(tmp110, (0, 1), l1.bb, (2, 3), (1, 2, 3, 0), optimize=True) + l2new.bbbb += einsum(l1.bb, (0, 1), tmp110, (2, 3), (0, 3, 2, 1), optimize=True) + l2new.bbbb += einsum(l1.bb, (0, 1), tmp110, (2, 3), (0, 3, 1, 2), optimize=True) * -1 + tmp10 = v.bbb.xov.transpose((1, 2, 0)).copy() + tmp10 += tmp7 + tmp10 += tmp8 + tmp10 += tmp9 * 2 + tmp41 = v.baa.xov.transpose((1, 2, 0)).copy() + tmp41 += tmp27 + tmp41 += tmp24 * 2 + tmp41 += tmp25 + tmp218 = tmp7.copy() + tmp218 += tmp8 + tmp218 += tmp9 * 2 + tmp183 = tmp27.copy() * 0.5 + tmp183 += tmp24 + tmp183 += tmp25 * 0.5 + tmp102 = tmp24.copy() * 2 + tmp102 += tmp25 + tmp16 = f.aa.ov.copy() + tmp16 += tmp11 * -1 + tmp16 += tmp15 + tmp46 = tmp44.copy() * 2 + tmp46 += tmp45 + tmp17 = einsum(v.bbb.xov, (0, 1, 2), v.baa.xov, (0, 3, 4), (3, 1, 4, 2), optimize=True) + tmp120 = einsum(v.bbb.xov, (0, 1, 2), v.bbb.xov, (0, 3, 4), (1, 3, 2, 4), optimize=True) + tmp62 = einsum(l1.bb, (0, 1), t2.abab, (2, 1, 3, 0), (2, 3), optimize=True) + tmp64 = einsum(t2.abab, (0, 1, 2, 3), tmp54, (0, 4, 1, 3), (4, 2), optimize=True) + tmp69 = einsum(t1.aa, (0, 1), tmp68, (0, 2), (2, 1), optimize=True) + tmp61 = einsum(t2.aaaa, (0, 1, 2, 3), l1.aa, (2, 0), (1, 3), optimize=True) + tmp63 = einsum(t2.aaaa, (0, 1, 2, 3), tmp35, (0, 1, 4, 2), (4, 3), optimize=True) + tmp75 = einsum(l1.bb, (0, 1), t1.bb, (1, 2), (0, 2), optimize=True) + tmp72 = einsum(l1.aa, (0, 1), t1.aa, (1, 2), (0, 2), optimize=True) + tmp91 = einsum(tmp90, (0, 1), t1.bb, (0, 2), (1, 2), optimize=True) + tmp82 = einsum(l1.aa, (0, 1), t2.abab, (1, 2, 0, 3), (2, 3), optimize=True) + tmp86 = einsum(tmp85, (0, 1, 2, 3), t2.bbbb, (0, 1, 3, 4), (2, 4), optimize=True) + tmp83 = einsum(t2.bbbb, (0, 1, 2, 3), l1.bb, (3, 1), (0, 2), optimize=True) + tmp84 = einsum(tmp37, (0, 1, 2, 3), t2.abab, (0, 1, 3, 4), (2, 4), optimize=True) + tmp29 = einsum(v.baa.xov, (0, 1, 2), v.baa.xov, (0, 3, 4), (3, 1, 4, 2), optimize=True) + tmp205 = v.bbb.xoo.transpose((2, 1, 0)).copy() + tmp205 += tmp4.transpose((1, 0, 2)) + tmp192 = einsum(tmp132, (0, 1), v.bbb.xov, (2, 3, 1), (3, 0, 2), optimize=True) * 2 + l2new.bbbb += einsum(tmp192, (0, 1, 2), v.bbb.xov, (2, 3, 4), (4, 1, 0, 3), optimize=True) + tmp137 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 5), (3, 4, 1, 5), optimize=True) + tmp138 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (4, 2, 0, 5), (5, 1, 4, 3), optimize=True) * -1 + tmp112 = f.bb.ov.copy() + tmp112 += tmp110 * -1 + tmp112 += tmp111 + l1new.bb = einsum(tmp90, (0, 1), tmp112, (1, 2), (2, 0), optimize=True) * -1 + tmp148 = tmp8.copy() * 0.5 + tmp148 += tmp9 + tmp234 = einsum(l2.bbbb, (0, 1, 2, 3), tmp10, (2, 0, 4), (3, 1, 4), optimize=True) * 2 + tmp197 = einsum(v.bbb.xvv, (0, 1, 2), l1.bb, (2, 3), (3, 1, 0), optimize=True) + tmp128 = einsum(tmp54, (0, 1, 2, 3), tmp1, (0, 1, 4), (2, 3, 4), optimize=True) + tmp233 = einsum(l2.abab, (0, 1, 2, 3), tmp41, (2, 0, 4), (3, 1, 4), optimize=True) + tmp126 = einsum(tmp54, (0, 1, 2, 3), v.baa.xoo, (4, 0, 1), (2, 3, 4), optimize=True) + tmp235 = einsum(tmp90, (0, 1), v.bbb.xov, (2, 1, 3), (0, 3, 2), optimize=True) + tmp127 = einsum(v.bbb.xoo, (0, 1, 2), tmp85, (1, 3, 2, 4), (3, 4, 0), optimize=True) * -1 + tmp129 = einsum(tmp4, (0, 1, 2), tmp85, (3, 0, 1, 4), (3, 4, 2), optimize=True) + tmp142 = einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 5, 0, 1), (2, 3, 4, 5), optimize=True) + tmp136 = einsum(t1.bb, (0, 1), tmp85, (2, 3, 4, 1), (3, 2, 4, 0), optimize=True) + tmp145 = tmp12.copy() + del tmp12 + tmp145 += tmp13 + del tmp13 + tmp220 = einsum(v.bbb.xvv, (0, 1, 2), tmp14, (0,), (1, 2), optimize=True) + tmp219 = einsum(v.bbb.xov, (0, 1, 2), tmp218, (1, 3, 0), (3, 2), optimize=True) + del tmp218 + tmp58 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 5, 0, 1), (2, 4, 3, 5), optimize=True) + tmp59 = einsum(tmp37, (0, 1, 2, 3), t1.aa, (4, 3), (0, 4, 1, 2), optimize=True) + tmp155 = v.baa.xoo.transpose((2, 1, 0)).copy() + tmp155 += tmp1.transpose((1, 0, 2)) + tmp184 = einsum(tmp183, (0, 1, 2), v.baa.xov, (2, 0, 3), (1, 3), optimize=True) * 2 + tmp99 = einsum(v.baa.xvv, (0, 1, 2), tmp14, (0,), (1, 2), optimize=True) + tmp38 = einsum(tmp37, (0, 1, 2, 3), v.bbb.xoo, (4, 1, 2), (0, 3, 4), optimize=True) + tmp43 = einsum(l2.abab, (0, 1, 2, 3), tmp10, (3, 1, 4), (2, 0, 4), optimize=True) + tmp39 = einsum(tmp35, (0, 1, 2, 3), tmp1, (1, 2, 4), (0, 3, 4), optimize=True) + tmp172 = einsum(tmp68, (0, 1), v.baa.xov, (2, 1, 3), (0, 3, 2), optimize=True) * 2 + tmp165 = einsum(v.baa.xvv, (0, 1, 2), l1.aa, (2, 3), (3, 1, 0), optimize=True) + tmp40 = einsum(tmp4, (0, 1, 2), tmp37, (3, 0, 1, 4), (3, 4, 2), optimize=True) + tmp42 = einsum(l2.aaaa, (0, 1, 2, 3), tmp41, (2, 0, 4), (3, 1, 4), optimize=True) * 2 + tmp36 = einsum(tmp35, (0, 1, 2, 3), v.baa.xoo, (4, 0, 2), (1, 3, 4), optimize=True) * -1 + tmp104 = einsum(v.baa.xoo, (0, 1, 2), tmp14, (0,), (1, 2), optimize=True) + tmp103 = einsum(tmp102, (0, 1, 2), v.baa.xov, (2, 3, 1), (0, 3), optimize=True) + tmp105 = einsum(t1.aa, (0, 1), tmp16, (2, 1), (0, 2), optimize=True) + tmp101 = einsum(v.baa.xoo, (0, 1, 2), tmp1, (1, 3, 0), (2, 3), optimize=True) + tmp49 = einsum(t1.aa, (0, 1), tmp35, (2, 3, 4, 1), (2, 3, 0, 4), optimize=True) + tmp57 = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (2, 3, 4, 5), (4, 5, 0, 1), optimize=True) + tmp47 = einsum(v.baa.xov, (0, 1, 2), tmp46, (3, 2), (1, 3, 0), optimize=True) + l2new.abab = einsum(v.bbb.xov, (0, 1, 2), tmp47, (3, 4, 0), (4, 2, 3, 1), optimize=True) * -1 + tmp51 = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (4, 2, 0, 5), (5, 1, 4, 3), optimize=True) * -1 + tmp52 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 5, 1), (2, 4, 0, 5), optimize=True) + tmp113 = v.bbb.xoo.transpose((2, 1, 0)).copy() + tmp113 += tmp4.transpose((1, 0, 2)) + tmp2 = v.baa.xoo.transpose((2, 1, 0)).copy() + tmp2 += tmp1 + tmp18 = einsum(tmp17, (0, 1, 2, 3), t2.abab, (4, 5, 2, 3), (4, 0, 5, 1), optimize=True) + tmp5 = v.bbb.xoo.transpose((2, 1, 0)).copy() + tmp5 += tmp4 + tmp119 = einsum(v.bbb.xoo, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (1, 4, 3, 2), optimize=True) + tmp121 = einsum(tmp120, (0, 1, 2, 3), t2.bbbb, (4, 5, 3, 2), (4, 5, 1, 0), optimize=True) + tmp122 = einsum(tmp4, (0, 1, 2), tmp4, (3, 4, 2), (0, 3, 1, 4), optimize=True) + tmp123 = einsum(v.bbb.xoo, (0, 1, 2), tmp4, (3, 4, 0), (3, 1, 2, 4), optimize=True) + tmp95 = tmp87.copy() + del tmp87 + tmp95 += tmp88.transpose((1, 0)) + del tmp88 + tmp95 += tmp89 * 2 + del tmp89 + tmp80 = l1.aa.transpose((1, 0)).copy() * -0.5 + tmp80 += t1.aa * -0.5 + tmp80 += tmp61 * -1 + tmp80 += tmp62 * -0.5 + tmp80 += tmp63 + tmp80 += tmp64 * 0.5 + tmp80 += tmp69 + tmp78 = tmp75.copy() + del tmp75 + tmp78 += tmp76 + del tmp76 + tmp78 += tmp77 * 2 + del tmp77 + tmp73 = tmp72.copy() * 0.5 + del tmp72 + tmp73 += tmp44 + del tmp44 + tmp73 += tmp45.transpose((1, 0)) * 0.5 + del tmp45 + tmp92 = l1.bb.transpose((1, 0)).copy() * -1 + tmp92 += t1.bb * -1 + tmp92 += tmp82 * -1 + tmp92 += tmp83 * -2 + tmp92 += tmp84 + tmp92 += tmp86 * 2 + tmp92 += tmp91 + tmp31 = einsum(tmp1, (0, 1, 2), tmp1, (3, 4, 2), (3, 0, 4, 1), optimize=True) + tmp30 = einsum(t2.aaaa, (0, 1, 2, 3), tmp29, (4, 5, 3, 2), (0, 1, 5, 4), optimize=True) + tmp28 = einsum(v.baa.xoo, (0, 1, 2), v.baa.xoo, (0, 3, 4), (1, 4, 3, 2), optimize=True) + tmp32 = einsum(tmp1, (0, 1, 2), v.baa.xoo, (2, 3, 4), (0, 3, 4, 1), optimize=True) + tmp19 = v.baa.xoo.transpose((2, 1, 0)).copy() + tmp19 += tmp1.transpose((1, 0, 2)) + tmp147 = einsum(tmp4, (0, 1, 2), v.bbb.xoo, (2, 0, 3), (3, 1), optimize=True) + tmp206 = einsum(tmp205, (0, 1, 2), v.bbb.xvv, (2, 3, 4), (0, 1, 3, 4), optimize=True) + tmp226 = einsum(tmp205, (0, 1, 2), v.bbb.xov, (2, 3, 4), (0, 1, 3, 4), optimize=True) + l2new.bbbb += einsum(tmp226, (0, 1, 2, 3), l1.bb, (4, 1), (3, 4, 0, 2), optimize=True) + tmp204 = einsum(tmp4, (0, 1, 2), v.bbb.xov, (2, 3, 4), (0, 3, 1, 4), optimize=True) + l2new.abab += einsum(tmp37, (0, 1, 2, 3), tmp204, (1, 2, 4, 5), (3, 5, 0, 4), optimize=True) + tmp193 = v.bbb.xov.transpose((1, 2, 0)).copy() + tmp193 += tmp192 * -1 + del tmp192 + l2new.abab += einsum(v.baa.xov, (0, 1, 2), tmp193, (3, 4, 0), (2, 4, 1, 3), optimize=True) + tmp243 = einsum(v.bbb.xvv, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (1, 4, 3, 2), optimize=True) + tmp116 = einsum(v.bbb.xov, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (1, 3, 4, 2), optimize=True) + tmp230 = tmp137.copy() + tmp230 += tmp138 * 4 + tmp151 = einsum(t1.bb, (0, 1), tmp112, (2, 1), (2, 0), optimize=True) + tmp150 = einsum(v.bbb.xoo, (0, 1, 2), tmp14, (0,), (1, 2), optimize=True) + tmp149 = einsum(tmp148, (0, 1, 2), v.bbb.xov, (2, 3, 1), (0, 3), optimize=True) * 2 + tmp236 = tmp197.copy() + tmp236 += tmp126 * -1 + tmp236 += tmp127 * -2 + tmp236 += tmp128 * -1 + tmp236 += tmp129 * -2 + tmp236 += tmp233 + del tmp233 + tmp236 += tmp234 + del tmp234 + tmp236 += tmp235 * -1 + del tmp235 + tmp245 = tmp142.transpose((1, 0, 3, 2)).copy() + tmp245 += tmp136.transpose((0, 1, 3, 2)) * -1 + tmp211 = einsum(v.bbb.xov, (0, 1, 2), tmp145, (0,), (1, 2), optimize=True) + tmp202 = einsum(v.bbb.xov, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (3, 4, 1, 2), optimize=True) + l2new.abab += einsum(tmp202, (0, 1, 2, 3), tmp37, (4, 1, 2, 5), (5, 3, 4, 0), optimize=True) + tmp221 = f.bb.vv.transpose((1, 0)).copy() * -1 + tmp221 += tmp219 + del tmp219 + tmp221 += tmp220.transpose((1, 0)) * -1 + del tmp220 + l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp221, (1, 4), (0, 4, 2, 3), optimize=True) * -1 + tmp214 = einsum(v.baa.xvv, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (1, 2, 3, 4), optimize=True) + tmp209 = v.bbb.xov.transpose((1, 2, 0)).copy() + tmp209 += tmp7 + tmp209 += tmp8 + tmp209 += tmp9 * 2 + tmp208 = v.baa.xov.transpose((1, 2, 0)).copy() + tmp208 += tmp27 + tmp208 += tmp24 * 2 + tmp208 += tmp25 + tmp60 = tmp58.copy() + del tmp58 + tmp60 += tmp59 + del tmp59 + tmp170 = einsum(tmp155, (0, 1, 2), v.baa.xvv, (2, 3, 4), (0, 1, 3, 4), optimize=True) + tmp130 = einsum(l2.abab, (0, 1, 2, 3), tmp41, (2, 0, 4), (3, 1, 4), optimize=True) * 0.5 + tmp131 = einsum(l2.bbbb, (0, 1, 2, 3), tmp10, (2, 0, 4), (3, 1, 4), optimize=True) + tmp175 = einsum(tmp145, (0,), v.baa.xov, (0, 1, 2), (1, 2), optimize=True) + tmp179 = einsum(v.baa.xvv, (0, 1, 2), v.baa.xvv, (0, 3, 4), (3, 2, 1, 4), optimize=True) + tmp185 = f.aa.vv.transpose((1, 0)).copy() * -1 + tmp185 += tmp184 + del tmp184 + tmp185 += tmp99.transpose((1, 0)) * -1 + tmp160 = einsum(v.baa.xov, (0, 1, 2), tmp1, (3, 4, 0), (3, 1, 4, 2), optimize=True) + l2new.abab += einsum(tmp160, (0, 1, 2, 3), tmp54, (0, 1, 4, 5), (3, 5, 2, 4), optimize=True) + tmp173 = tmp165.copy() + tmp173 += tmp36 * -2 + tmp173 += tmp38 * -1 + tmp173 += tmp39 * -2 + tmp173 += tmp40 * -1 + tmp173 += tmp42 + tmp173 += tmp43 + tmp173 += tmp172 * -1 + del tmp172 + tmp106 = f.aa.oo.transpose((1, 0)).copy() + tmp106 += tmp101 * -1 + tmp106 += tmp103 + del tmp103 + tmp106 += tmp104.transpose((1, 0)) + del tmp104 + tmp106 += tmp105 + del tmp105 + l1new.aa = einsum(tmp106, (0, 1), l1.aa, (2, 0), (2, 1), optimize=True) * -1 + tmp156 = einsum(tmp155, (0, 1, 2), v.baa.xov, (2, 3, 4), (0, 1, 3, 4), optimize=True) + l2new.aaaa += einsum(tmp156, (0, 1, 2, 3), l1.aa, (4, 1), (3, 4, 0, 2), optimize=True) + tmp190 = einsum(v.baa.xov, (0, 1, 2), tmp46, (3, 2), (1, 3, 0), optimize=True) * 0.5 + del tmp46 + tmp181 = tmp57.transpose((1, 0, 3, 2)).copy() + tmp181 += tmp49.transpose((0, 1, 3, 2)) * -1 + tmp153 = v.baa.xov.transpose((1, 2, 0)).copy() + tmp153 += tmp47 * -1 + tmp22 = einsum(v.baa.xvv, (0, 1, 2), v.baa.xov, (0, 3, 4), (3, 1, 2, 4), optimize=True) + tmp166 = einsum(tmp68, (0, 1), v.baa.xov, (2, 1, 3), (0, 3, 2), optimize=True) + l2new.abab += einsum(v.bbb.xov, (0, 1, 2), tmp166, (3, 4, 0), (4, 2, 3, 1), optimize=True) * -2 + tmp158 = einsum(v.baa.xov, (0, 1, 2), v.baa.xoo, (0, 3, 4), (3, 4, 1, 2), optimize=True) + l2new.abab += einsum(tmp54, (0, 1, 2, 3), tmp158, (4, 0, 1, 5), (5, 3, 4, 2), optimize=True) + tmp162 = tmp51.copy() * 4 + tmp162 += tmp52 + tmp114 = tmp18.transpose((1, 0, 2, 3)).copy() + tmp114 += einsum(tmp113, (0, 1, 2), tmp2, (3, 4, 2), (4, 3, 1, 0), optimize=True) + tmp108 = einsum(v.bbb.xov, (0, 1, 2), tmp2, (3, 4, 0), (4, 3, 1, 2), optimize=True) + tmp109 = einsum(v.bbb.xov, (0, 1, 2), tmp5, (3, 4, 0), (4, 3, 1, 2), optimize=True) + tmp107 = einsum(v.baa.xvv, (0, 1, 2), v.bbb.xov, (0, 3, 4), (3, 1, 2, 4), optimize=True) + l2new.abab += einsum(tmp37, (0, 1, 2, 3), tmp107, (2, 4, 3, 5), (4, 5, 0, 1), optimize=True) * -1 + tmp139 = tmp137.copy() * 0.25 + del tmp137 + tmp139 += tmp138 + del tmp138 + tmp140 = einsum(t2.bbbb, (0, 1, 2, 3), l1.bb, (3, 4), (4, 1, 0, 2), optimize=True) * 0.5 + tmp140 += einsum(tmp37, (0, 1, 2, 3), t2.abab, (0, 4, 3, 5), (1, 2, 4, 5), optimize=True) * 0.25 + tmp140 += einsum(tmp85, (0, 1, 2, 3), t2.bbbb, (1, 4, 3, 5), (0, 2, 4, 5), optimize=True) * -1 + tmp135 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (4, 3, 0, 5), (5, 1, 4, 2), optimize=True) + l2new.abab += einsum(tmp17, (0, 1, 2, 3), tmp135, (4, 1, 5, 2), (5, 3, 0, 4), optimize=True) + tmp141 = einsum(l1.bb, (0, 1), t2.abab, (2, 3, 4, 0), (2, 1, 3, 4), optimize=True) + tmp141 += einsum(tmp54, (0, 1, 2, 3), t2.abab, (0, 4, 5, 3), (1, 2, 4, 5), optimize=True) * -1 + tmp143 = t1.bb.copy() * -1 + tmp143 += tmp82 * -1 + del tmp82 + tmp143 += tmp83 * -2 + del tmp83 + tmp143 += tmp84 + del tmp84 + tmp143 += tmp86 * 2 + del tmp86 + tmp143 += tmp91 + del tmp91 + tmp118 = v.bbb.xov.transpose((1, 2, 0)).copy() + tmp118 += tmp8 + del tmp8 + tmp118 += tmp9 * 2 + del tmp9 + tmp117 = einsum(tmp113, (0, 1, 2), v.bbb.xov, (2, 3, 4), (0, 1, 3, 4), optimize=True) + l2new.bbbb += einsum(l1.bb, (0, 1), tmp117, (2, 1, 3, 4), (4, 0, 3, 2), optimize=True) * -1 + tmp124 = tmp119.transpose((3, 2, 1, 0)).copy() + tmp124 += tmp121.transpose((2, 3, 1, 0)) + tmp124 += tmp122.transpose((2, 3, 1, 0)) + tmp124 += tmp123.transpose((1, 3, 0, 2)) + tmp124 += tmp123.transpose((3, 2, 0, 1)) * -1 + tmp133 = einsum(tmp132, (0, 1), v.bbb.xov, (2, 3, 1), (3, 0, 2), optimize=True) + del tmp132 + l2new.bbbb += einsum(v.bbb.xov, (0, 1, 2), tmp133, (3, 4, 0), (4, 2, 3, 1), optimize=True) * -2 + tmp96 = einsum(tmp95, (0, 1), v.bbb.xoo, (2, 1, 0), (2,), optimize=True) + del tmp95 + tmp81 = einsum(tmp80, (0, 1), v.baa.xov, (2, 0, 1), (2,), optimize=True) * 2 + del tmp80 + tmp94 = einsum(tmp68, (0, 1), v.baa.xoo, (2, 1, 0), (2,), optimize=True) * 2 + tmp79 = einsum(v.bbb.xvv, (0, 1, 2), tmp78, (2, 1), (0,), optimize=True) + del tmp78 + tmp74 = einsum(tmp73, (0, 1), v.baa.xvv, (2, 1, 0), (2,), optimize=True) * 2 + del tmp73 + tmp93 = einsum(v.bbb.xov, (0, 1, 2), tmp92, (1, 2), (0,), optimize=True) + del tmp92 + tmp55 = einsum(l1.aa, (0, 1), t2.aaaa, (2, 3, 4, 0), (1, 3, 2, 4), optimize=True) * 2 + tmp55 += einsum(t2.aaaa, (0, 1, 2, 3), tmp35, (4, 0, 5, 2), (4, 5, 1, 3), optimize=True) * -4 + tmp55 += einsum(tmp54, (0, 1, 2, 3), t2.abab, (4, 2, 5, 3), (0, 1, 4, 5), optimize=True) + tmp56 = einsum(t2.abab, (0, 1, 2, 3), l1.aa, (2, 4), (4, 0, 1, 3), optimize=True) + tmp56 += einsum(tmp37, (0, 1, 2, 3), t2.abab, (4, 1, 3, 5), (0, 4, 2, 5), optimize=True) * -1 + tmp70 = t1.aa.copy() * -0.5 + tmp70 += tmp61 * -1 + del tmp61 + tmp70 += tmp62 * -0.5 + del tmp62 + tmp70 += tmp63 + del tmp63 + tmp70 += tmp64 * 0.5 + del tmp64 + tmp70 += tmp69 + del tmp69 + tmp53 = tmp51.copy() * 4 + del tmp51 + tmp53 += tmp52.transpose((0, 1, 3, 2)) + del tmp52 + tmp50 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 0, 5), (2, 4, 1, 5), optimize=True) + l2new.abab += einsum(tmp50, (0, 1, 2, 3), tmp17, (1, 4, 5, 3), (5, 2, 0, 4), optimize=True) + tmp26 = v.baa.xov.transpose((1, 2, 0)).copy() + tmp26 += tmp24 * 2 + del tmp24 + tmp26 += tmp25 + del tmp25 + tmp33 = tmp28.transpose((3, 2, 1, 0)).copy() + tmp33 += tmp30.transpose((2, 3, 1, 0)) + tmp33 += tmp31.transpose((2, 3, 1, 0)) + tmp33 += tmp32.transpose((1, 3, 0, 2)) + tmp33 += tmp32.transpose((3, 2, 0, 1)) * -1 + tmp23 = einsum(tmp19, (0, 1, 2), v.baa.xov, (2, 3, 4), (3, 0, 1, 4), optimize=True) + l2new.aaaa += einsum(tmp23, (0, 1, 2, 3), l1.aa, (4, 2), (3, 4, 0, 1), optimize=True) * -1 + tmp0 = einsum(v.baa.xov, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (1, 2, 3, 4), optimize=True) + l2new.abab += einsum(tmp54, (0, 1, 2, 3), tmp0, (1, 4, 3, 5), (4, 5, 0, 2), optimize=True) * -1 + tmp3 = einsum(v.baa.xov, (0, 1, 2), tmp2, (3, 4, 0), (4, 3, 1, 2), optimize=True) + tmp6 = einsum(v.baa.xov, (0, 1, 2), tmp5, (3, 4, 0), (1, 4, 3, 2), optimize=True) + tmp20 = tmp18.transpose((0, 1, 3, 2)).copy() + tmp20 += einsum(tmp5, (0, 1, 2), tmp19, (3, 4, 2), (4, 3, 1, 0), optimize=True) + tmp238 = f.bb.oo.transpose((1, 0)).copy() * 0.5 + tmp238 += tmp147 * -0.5 + tmp238 += einsum(tmp148, (0, 1, 2), v.bbb.xov, (2, 3, 1), (0, 3), optimize=True) + del tmp148 + tmp238 += einsum(v.bbb.xoo, (0, 1, 2), tmp14, (0,), (2, 1), optimize=True) * 0.5 + tmp238 += einsum(tmp112, (0, 1), t1.bb, (2, 1), (2, 0), optimize=True) * 0.5 + l2new.bbbb += einsum(l2.bbbb, (0, 1, 2, 3), tmp238, (2, 4), (1, 0, 3, 4), optimize=True) * -4 + del tmp238 + tmp240 = einsum(tmp206, (0, 1, 2, 3), l2.bbbb, (2, 4, 1, 5), (0, 5, 3, 4), optimize=True) + l2new.bbbb += tmp240.transpose((3, 2, 0, 1)) * 2 + l2new.bbbb += tmp240.transpose((3, 2, 1, 0)) * -2 + l2new.bbbb += tmp240.transpose((2, 3, 0, 1)) * -2 + del tmp240 + tmp227 = einsum(tmp226, (0, 1, 2, 3), l1.bb, (4, 1), (2, 0, 3, 4), optimize=True) + del tmp226 + l2new.bbbb += tmp227.transpose((3, 2, 1, 0)) * -1 + l2new.bbbb += tmp227.transpose((3, 2, 0, 1)) + del tmp227 + tmp228 = einsum(tmp204, (0, 1, 2, 3), tmp85, (4, 0, 1, 5), (4, 2, 5, 3), optimize=True) + del tmp204 + l2new.bbbb += tmp228.transpose((3, 2, 1, 0)) * 2 + l2new.bbbb += tmp228.transpose((3, 2, 0, 1)) * -2 + l2new.bbbb += tmp228.transpose((2, 3, 1, 0)) * -2 + l2new.bbbb += tmp228.transpose((2, 3, 0, 1)) * 2 + del tmp228 + tmp225 = einsum(v.bbb.xov, (0, 1, 2), tmp193, (3, 4, 0), (3, 1, 4, 2), optimize=True) + del tmp193 + l2new.bbbb += tmp225.transpose((2, 3, 1, 0)) * -1 + l2new.bbbb += tmp225.transpose((3, 2, 1, 0)) + del tmp225 + tmp244 = einsum(l2.bbbb, (0, 1, 2, 3), tmp243, (4, 5, 0, 1), (3, 2, 4, 5), optimize=True) + del tmp243 + l2new.bbbb += tmp244.transpose((2, 3, 1, 0)) * -1 + l2new.bbbb += tmp244.transpose((2, 3, 1, 0)) * -1 + del tmp244 + tmp242 = einsum(tmp116, (0, 1, 2, 3), tmp85, (4, 5, 0, 2), (5, 4, 3, 1), optimize=True) + l2new.bbbb += tmp242.transpose((3, 2, 1, 0)) * -2 + l2new.bbbb += tmp242.transpose((2, 3, 1, 0)) * 2 + del tmp242 + tmp231 = einsum(tmp120, (0, 1, 2, 3), tmp230, (4, 0, 5, 3), (4, 1, 5, 2), optimize=True) + del tmp230 + l2new.bbbb += tmp231.transpose((3, 2, 1, 0)) * -1 + l2new.bbbb += tmp231.transpose((3, 2, 0, 1)) + l2new.bbbb += tmp231.transpose((2, 3, 1, 0)) + l2new.bbbb += tmp231.transpose((2, 3, 0, 1)) * -1 + del tmp231 + tmp152 = f.bb.oo.transpose((1, 0)).copy() + tmp152 += tmp147 * -1 + del tmp147 + tmp152 += tmp149 + del tmp149 + tmp152 += tmp150.transpose((1, 0)) + del tmp150 + tmp152 += tmp151.transpose((1, 0)) + del tmp151 + l2new.bbbb += einsum(l2.bbbb, (0, 1, 2, 3), tmp152, (2, 4), (1, 0, 4, 3), optimize=True) * 2 + l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp152, (3, 4), (0, 1, 2, 4), optimize=True) * -1 + l1new.bb += einsum(tmp152, (0, 1), l1.bb, (2, 0), (2, 1), optimize=True) * -1 + del tmp152 + tmp237 = einsum(v.bbb.xov, (0, 1, 2), tmp236, (3, 4, 0), (3, 1, 4, 2), optimize=True) + del tmp236 + l2new.bbbb += tmp237.transpose((2, 3, 1, 0)) * -1 + l2new.bbbb += tmp237.transpose((2, 3, 0, 1)) + l2new.bbbb += tmp237.transpose((3, 2, 1, 0)) + l2new.bbbb += tmp237.transpose((3, 2, 0, 1)) * -1 + del tmp237 + tmp232 = einsum(v.bbb.xvv, (0, 1, 2), tmp113, (3, 4, 0), (4, 3, 2, 1), optimize=True) + l2new.bbbb += einsum(tmp232, (0, 1, 2, 3), l2.bbbb, (3, 4, 0, 5), (2, 4, 5, 1), optimize=True) * 2 + del tmp232 + tmp246 = einsum(tmp120, (0, 1, 2, 3), tmp245, (4, 5, 0, 1), (4, 5, 2, 3), optimize=True) + del tmp245 + l2new.bbbb += tmp246.transpose((3, 2, 1, 0)) + l2new.bbbb += tmp246.transpose((3, 2, 1, 0)) + del tmp246 + tmp250 = tmp119.transpose((3, 2, 1, 0)).copy() + del tmp119 + tmp250 += tmp121.transpose((0, 3, 1, 2)) + del tmp121 + tmp250 += tmp122.transpose((0, 3, 1, 2)) + del tmp122 + l2new.bbbb += einsum(tmp250, (0, 1, 2, 3), l2.bbbb, (4, 5, 0, 2), (5, 4, 1, 3), optimize=True) * 2 + del tmp250 + tmp239 = f.bb.ov.copy() + tmp239 += tmp111 + del tmp111 + l2new.bbbb += einsum(tmp239, (0, 1), l1.bb, (2, 3), (1, 2, 3, 0), optimize=True) * -1 + del tmp239 + tmp241 = f.bb.ov.copy() + tmp241 += tmp211 + l2new.bbbb += einsum(l1.bb, (0, 1), tmp241, (2, 3), (0, 3, 2, 1), optimize=True) * -1 + l2new.bbbb += einsum(l1.bb, (0, 1), tmp241, (2, 3), (0, 3, 1, 2), optimize=True) + l2new.bbbb += einsum(l1.bb, (0, 1), tmp241, (2, 3), (3, 0, 2, 1), optimize=True) + del tmp241 + tmp249 = einsum(l2.bbbb, (0, 1, 2, 3), tmp123, (3, 2, 4, 5), (4, 5, 0, 1), optimize=True) * -1 + del tmp123 + l2new.bbbb += tmp249.transpose((2, 3, 1, 0)) * 2 + l2new.bbbb += tmp249.transpose((2, 3, 0, 1)) * -2 + del tmp249 + tmp229 = einsum(tmp202, (0, 1, 2, 3), tmp85, (4, 0, 2, 5), (4, 1, 5, 3), optimize=True) + del tmp202 + l2new.bbbb += tmp229.transpose((3, 2, 1, 0)) * 2 + l2new.bbbb += tmp229.transpose((3, 2, 0, 1)) * -2 + l2new.bbbb += tmp229.transpose((2, 3, 1, 0)) * -2 + l2new.bbbb += tmp229.transpose((2, 3, 0, 1)) * 2 + del tmp229 + tmp248 = einsum(tmp85, (0, 1, 2, 3), tmp112, (2, 4), (0, 1, 4, 3), optimize=True) * 2 + l2new.bbbb += tmp248.transpose((3, 2, 1, 0)) + l2new.bbbb += tmp248.transpose((2, 3, 1, 0)) * -1 + del tmp248 + tmp247 = einsum(l2.bbbb, (0, 1, 2, 3), tmp221, (0, 4), (2, 3, 4, 1), optimize=True) * 2 + del tmp221 + l2new.bbbb += tmp247.transpose((3, 2, 1, 0)) * -1 + l2new.bbbb += tmp247.transpose((2, 3, 1, 0)) + del tmp247 + tmp222 = tmp18.copy() + del tmp18 + tmp222 += einsum(tmp113, (0, 1, 2), tmp19, (3, 4, 2), (4, 3, 1, 0), optimize=True) + l2new.abab += einsum(tmp222, (0, 1, 2, 3), l2.abab, (4, 5, 0, 2), (4, 5, 1, 3), optimize=True) + del tmp222 + tmp200 = f.aa.oo.transpose((1, 0)).copy() * 0.5 + tmp200 += tmp101 * -0.5 + del tmp101 + tmp200 += einsum(tmp102, (0, 1, 2), v.baa.xov, (2, 3, 1), (0, 3), optimize=True) * 0.5 + del tmp102 + tmp200 += einsum(v.baa.xoo, (0, 1, 2), tmp14, (0,), (2, 1), optimize=True) * 0.5 + tmp200 += einsum(t1.aa, (0, 1), tmp16, (2, 1), (0, 2), optimize=True) * 0.5 + l2new.abab += einsum(tmp200, (0, 1), l2.abab, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) * -2 + del tmp200 + tmp203 = einsum(l2.aaaa, (0, 1, 2, 3), t2.abab, (2, 4, 1, 5), (3, 4, 0, 5), optimize=True) * -1 + l2new.abab += einsum(tmp203, (0, 1, 2, 3), tmp120, (4, 1, 3, 5), (2, 5, 0, 4), optimize=True) * -2 + del tmp203 + tmp215 = einsum(tmp214, (0, 1, 2, 3), l2.abab, (1, 2, 4, 5), (4, 5, 0, 3), optimize=True) + del tmp214 + l2new.abab += tmp215.transpose((2, 3, 0, 1)) * 0.5 + l2new.abab += tmp215.transpose((2, 3, 0, 1)) * 0.5 + del tmp215 + tmp210 = tmp165.copy() + tmp210 += tmp36 * -2 + tmp210 += tmp38 * -1 + tmp210 += tmp39 * -2 + tmp210 += tmp40 * -1 + tmp210 += einsum(l2.aaaa, (0, 1, 2, 3), tmp208, (2, 0, 4), (3, 1, 4), optimize=True) * 2 + del tmp208 + tmp210 += einsum(l2.abab, (0, 1, 2, 3), tmp209, (3, 1, 4), (2, 0, 4), optimize=True) + del tmp209 + l2new.abab += einsum(v.bbb.xov, (0, 1, 2), tmp210, (3, 4, 0), (4, 2, 3, 1), optimize=True) + del tmp210 + tmp213 = einsum(v.baa.xvv, (0, 1, 2), tmp205, (3, 4, 0), (4, 3, 2, 1), optimize=True) + l2new.abab += einsum(tmp213, (0, 1, 2, 3), l2.abab, (2, 4, 5, 0), (3, 4, 5, 1), optimize=True) * -1 + del tmp213 + tmp216 = einsum(tmp17, (0, 1, 2, 3), tmp60, (4, 0, 5, 1), (4, 5, 2, 3), optimize=True) * 0.5 + del tmp17 + l2new.abab += tmp216.transpose((2, 3, 0, 1)) + l2new.abab += tmp216.transpose((2, 3, 0, 1)) + del tmp216 + tmp196 = einsum(tmp29, (0, 1, 2, 3), t2.aaaa, (4, 1, 5, 2), (4, 0, 5, 3), optimize=True) * 2 + tmp196 += tmp170.transpose((1, 0, 3, 2)) + l2new.abab += einsum(tmp196, (0, 1, 2, 3), l2.abab, (2, 4, 0, 5), (3, 4, 1, 5), optimize=True) * -1 + del tmp196 + tmp198 = tmp197.copy() * 0.5 + del tmp197 + tmp198 += tmp126 * -0.5 + tmp198 += tmp127 * -1 + tmp198 += tmp128 * -0.5 + tmp198 += tmp129 * -1 + tmp198 += tmp130 + tmp198 += tmp131 + tmp198 += einsum(tmp90, (0, 1), v.bbb.xov, (2, 1, 3), (0, 3, 2), optimize=True) * -0.5 + l2new.abab += einsum(tmp198, (0, 1, 2), v.baa.xov, (2, 3, 4), (4, 1, 3, 0), optimize=True) * 2 + del tmp198 + tmp194 = einsum(v.baa.xov, (0, 1, 2), tmp113, (3, 4, 0), (1, 4, 3, 2), optimize=True) + l2new.abab += einsum(tmp194, (0, 1, 2, 3), l1.bb, (4, 1), (3, 4, 0, 2), optimize=True) * -1 + del tmp194 + tmp217 = f.aa.vv.transpose((1, 0)).copy() * -0.5 + tmp217 += einsum(tmp183, (0, 1, 2), v.baa.xov, (2, 0, 3), (1, 3), optimize=True) + del tmp183 + tmp217 += einsum(v.baa.xvv, (0, 1, 2), tmp14, (0,), (2, 1), optimize=True) * -0.5 + del tmp14 + l2new.abab += einsum(tmp217, (0, 1), l2.abab, (0, 2, 3, 4), (1, 2, 3, 4), optimize=True) * -2 + del tmp217 + tmp223 = einsum(v.bbb.xvv, (0, 1, 2), tmp155, (3, 4, 0), (4, 3, 2, 1), optimize=True) + l2new.abab += einsum(tmp223, (0, 1, 2, 3), l2.abab, (4, 2, 0, 5), (4, 3, 1, 5), optimize=True) * -1 + del tmp223 + tmp199 = einsum(tmp155, (0, 1, 2), v.bbb.xov, (2, 3, 4), (0, 1, 3, 4), optimize=True) + del tmp155 + l2new.abab += einsum(tmp199, (0, 1, 2, 3), l1.aa, (4, 1), (4, 3, 0, 2), optimize=True) * -1 + l2new.abab += einsum(tmp199, (0, 1, 2, 3), tmp37, (1, 4, 2, 5), (5, 3, 0, 4), optimize=True) + del tmp199 + tmp201 = f.aa.ov.copy() + tmp201 += tmp11 * -1 + del tmp11 + tmp201 += tmp175 + l2new.abab += einsum(tmp54, (0, 1, 2, 3), tmp201, (1, 4), (4, 3, 0, 2), optimize=True) * -1 + l2new.abab += einsum(tmp201, (0, 1), l1.bb, (2, 3), (1, 2, 0, 3), optimize=True) + del tmp201 + tmp207 = einsum(tmp120, (0, 1, 2, 3), t2.bbbb, (4, 0, 5, 3), (4, 1, 5, 2), optimize=True) * 2 + del tmp120 + tmp207 += tmp206.transpose((1, 0, 3, 2)) + del tmp206 + l2new.abab += einsum(tmp207, (0, 1, 2, 3), l2.abab, (4, 2, 5, 0), (4, 3, 5, 1), optimize=True) * -1 + del tmp207 + tmp195 = einsum(l2.bbbb, (0, 1, 2, 3), t2.abab, (4, 2, 5, 1), (4, 3, 5, 0), optimize=True) * -1 + l2new.abab += einsum(tmp195, (0, 1, 2, 3), tmp29, (4, 0, 2, 5), (5, 3, 4, 1), optimize=True) * -2 + del tmp195 + tmp212 = f.bb.ov.copy() + tmp212 += tmp110 * -1 + del tmp110 + tmp212 += tmp211 + del tmp211 + l2new.abab += einsum(tmp37, (0, 1, 2, 3), tmp212, (2, 4), (3, 4, 0, 1), optimize=True) * -1 + l2new.abab += einsum(l1.aa, (0, 1), tmp212, (2, 3), (0, 3, 1, 2), optimize=True) + del tmp212 + tmp224 = einsum(v.baa.xov, (0, 1, 2), tmp205, (3, 4, 0), (1, 4, 3, 2), optimize=True) + del tmp205 + l2new.abab += einsum(tmp224, (0, 1, 2, 3), tmp54, (4, 0, 1, 5), (3, 5, 4, 2), optimize=True) + del tmp224 + tmp180 = einsum(l2.aaaa, (0, 1, 2, 3), tmp179, (4, 5, 0, 1), (3, 2, 4, 5), optimize=True) + del tmp179 + l2new.aaaa += tmp180.transpose((2, 3, 1, 0)) * -1 + l2new.aaaa += tmp180.transpose((2, 3, 1, 0)) * -1 + del tmp180 + tmp188 = einsum(l2.aaaa, (0, 1, 2, 3), tmp32, (3, 2, 4, 5), (4, 5, 0, 1), optimize=True) * -1 + del tmp32 + l2new.aaaa += tmp188.transpose((2, 3, 1, 0)) * 2 + l2new.aaaa += tmp188.transpose((2, 3, 0, 1)) * -2 + del tmp188 + tmp186 = einsum(l2.aaaa, (0, 1, 2, 3), tmp185, (0, 4), (2, 3, 4, 1), optimize=True) * 2 + del tmp185 + l2new.aaaa += tmp186.transpose((3, 2, 1, 0)) * -1 + l2new.aaaa += tmp186.transpose((2, 3, 1, 0)) + del tmp186 + tmp161 = einsum(tmp160, (0, 1, 2, 3), tmp35, (4, 0, 1, 5), (4, 2, 5, 3), optimize=True) + del tmp160 + l2new.aaaa += tmp161.transpose((3, 2, 1, 0)) * 2 + l2new.aaaa += tmp161.transpose((3, 2, 0, 1)) * -2 + l2new.aaaa += tmp161.transpose((2, 3, 1, 0)) * -2 + l2new.aaaa += tmp161.transpose((2, 3, 0, 1)) * 2 + del tmp161 + tmp189 = tmp28.transpose((3, 2, 1, 0)).copy() + del tmp28 + tmp189 += tmp30.transpose((0, 3, 1, 2)) + del tmp30 + tmp189 += tmp31.transpose((0, 3, 1, 2)) + del tmp31 + l2new.aaaa += einsum(l2.aaaa, (0, 1, 2, 3), tmp189, (2, 4, 3, 5), (1, 0, 4, 5), optimize=True) * 2 + del tmp189 + tmp174 = einsum(v.baa.xov, (0, 1, 2), tmp173, (3, 4, 0), (3, 1, 4, 2), optimize=True) + del tmp173 + l2new.aaaa += tmp174.transpose((2, 3, 1, 0)) * -1 + l2new.aaaa += tmp174.transpose((3, 2, 1, 0)) + del tmp174 + tmp176 = f.aa.ov.copy() + tmp176 += tmp175 + del tmp175 + l2new.aaaa += einsum(tmp176, (0, 1), l1.aa, (2, 3), (2, 1, 0, 3), optimize=True) * -1 + l2new.aaaa += einsum(tmp176, (0, 1), l1.aa, (2, 3), (2, 1, 3, 0), optimize=True) + l2new.aaaa += einsum(tmp176, (0, 1), l1.aa, (2, 3), (1, 2, 0, 3), optimize=True) + del tmp176 + tmp171 = einsum(tmp170, (0, 1, 2, 3), l2.aaaa, (2, 4, 1, 5), (0, 5, 3, 4), optimize=True) + del tmp170 + l2new.aaaa += tmp171.transpose((3, 2, 0, 1)) * 2 + l2new.aaaa += tmp171.transpose((3, 2, 1, 0)) * -2 + l2new.aaaa += tmp171.transpose((2, 3, 0, 1)) * -2 + del tmp171 + tmp169 = f.aa.ov.copy() + tmp169 += tmp15 + del tmp15 + l2new.aaaa += einsum(l1.aa, (0, 1), tmp169, (2, 3), (3, 0, 1, 2), optimize=True) * -1 + del tmp169 + tmp168 = einsum(tmp106, (0, 1), l2.aaaa, (2, 3, 0, 4), (1, 4, 2, 3), optimize=True) * 2 + del tmp106 + l2new.aaaa += tmp168.transpose((3, 2, 0, 1)) + l2new.aaaa += tmp168.transpose((3, 2, 1, 0)) * -1 + del tmp168 + tmp157 = einsum(tmp156, (0, 1, 2, 3), l1.aa, (4, 1), (2, 0, 3, 4), optimize=True) + del tmp156 + l2new.aaaa += tmp157.transpose((3, 2, 1, 0)) * -1 + l2new.aaaa += tmp157.transpose((3, 2, 0, 1)) + del tmp157 + tmp177 = tmp165.copy() * 0.25 + tmp177 += tmp36 * -0.5 + tmp177 += tmp38 * -0.25 + tmp177 += tmp39 * -0.5 + tmp177 += tmp40 * -0.25 + tmp177 += einsum(l2.aaaa, (0, 1, 2, 3), tmp41, (2, 0, 4), (3, 1, 4), optimize=True) * 0.5 + tmp177 += einsum(l2.abab, (0, 1, 2, 3), tmp10, (3, 1, 4), (2, 0, 4), optimize=True) * 0.25 + tmp177 += einsum(tmp68, (0, 1), v.baa.xov, (2, 1, 3), (0, 3, 2), optimize=True) * -0.5 + l2new.aaaa += einsum(tmp177, (0, 1, 2), v.baa.xov, (2, 3, 4), (1, 4, 0, 3), optimize=True) * 4 + del tmp177 + tmp191 = einsum(v.baa.xov, (0, 1, 2), tmp190, (3, 4, 0), (3, 1, 4, 2), optimize=True) * -2 + del tmp190 + l2new.aaaa += tmp191.transpose((2, 3, 0, 1)) + l2new.aaaa += tmp191.transpose((3, 2, 0, 1)) * -1 + del tmp191 + tmp182 = einsum(tmp29, (0, 1, 2, 3), tmp181, (4, 5, 0, 1), (4, 5, 2, 3), optimize=True) + del tmp181 + l2new.aaaa += tmp182.transpose((3, 2, 1, 0)) + l2new.aaaa += tmp182.transpose((3, 2, 1, 0)) + del tmp182 + tmp154 = einsum(v.baa.xov, (0, 1, 2), tmp153, (3, 4, 0), (3, 1, 4, 2), optimize=True) + del tmp153 + l2new.aaaa += tmp154.transpose((2, 3, 1, 0)) * -1 + l2new.aaaa += tmp154.transpose((3, 2, 1, 0)) + del tmp154 + tmp178 = einsum(tmp35, (0, 1, 2, 3), tmp22, (2, 4, 3, 5), (1, 0, 5, 4), optimize=True) + l2new.aaaa += tmp178.transpose((3, 2, 1, 0)) * -2 + l2new.aaaa += tmp178.transpose((2, 3, 1, 0)) * 2 + del tmp178 + tmp164 = einsum(v.baa.xvv, (0, 1, 2), tmp19, (3, 4, 0), (4, 3, 2, 1), optimize=True) + l2new.aaaa += einsum(l2.aaaa, (0, 1, 2, 3), tmp164, (2, 4, 5, 0), (5, 1, 3, 4), optimize=True) * 2 + del tmp164 + tmp167 = tmp165.copy() * 0.5 + del tmp165 + tmp167 += tmp36 * -1 + tmp167 += tmp38 * -0.5 + tmp167 += tmp39 * -1 + tmp167 += tmp40 * -0.5 + tmp167 += einsum(l2.aaaa, (0, 1, 2, 3), tmp41, (2, 0, 4), (3, 1, 4), optimize=True) + tmp167 += einsum(l2.abab, (0, 1, 2, 3), tmp10, (3, 1, 4), (2, 0, 4), optimize=True) * 0.5 + tmp167 += tmp166 * -1 + del tmp166 + l2new.aaaa += einsum(tmp167, (0, 1, 2), v.baa.xov, (2, 3, 4), (4, 1, 0, 3), optimize=True) * -2 + del tmp167 + tmp187 = einsum(tmp16, (0, 1), tmp35, (2, 3, 0, 4), (2, 3, 4, 1), optimize=True) * 2 + l2new.aaaa += tmp187.transpose((2, 3, 1, 0)) + l2new.aaaa += tmp187.transpose((3, 2, 1, 0)) * -1 + del tmp187 + tmp159 = einsum(tmp35, (0, 1, 2, 3), tmp158, (1, 4, 2, 5), (0, 4, 3, 5), optimize=True) + del tmp158 + l2new.aaaa += tmp159.transpose((3, 2, 1, 0)) * 2 + l2new.aaaa += tmp159.transpose((3, 2, 0, 1)) * -2 + l2new.aaaa += tmp159.transpose((2, 3, 1, 0)) * -2 + l2new.aaaa += tmp159.transpose((2, 3, 0, 1)) * 2 + del tmp159 + tmp163 = einsum(tmp162, (0, 1, 2, 3), tmp29, (1, 4, 5, 3), (0, 4, 2, 5), optimize=True) + del tmp29, tmp162 + l2new.aaaa += tmp163.transpose((3, 2, 1, 0)) * -1 + l2new.aaaa += tmp163.transpose((3, 2, 0, 1)) + l2new.aaaa += tmp163.transpose((2, 3, 1, 0)) + l2new.aaaa += tmp163.transpose((2, 3, 0, 1)) * -1 + del tmp163 + tmp115 = einsum(tmp107, (0, 1, 2, 3), t2.abab, (4, 5, 1, 3), (4, 0, 5, 2), optimize=True) + del tmp107 + tmp115 += einsum(tmp108, (0, 1, 2, 3), t2.abab, (0, 4, 5, 3), (1, 2, 4, 5), optimize=True) * -1 + del tmp108 + tmp115 += einsum(tmp109, (0, 1, 2, 3), t2.abab, (4, 0, 5, 3), (4, 2, 1, 5), optimize=True) * -1 + del tmp109 + tmp115 += einsum(tmp5, (0, 1, 2), tmp41, (3, 4, 2), (3, 1, 0, 4), optimize=True) + tmp115 += einsum(t2.abab, (0, 1, 2, 3), tmp112, (4, 3), (0, 4, 1, 2), optimize=True) + tmp115 += einsum(t1.aa, (0, 1), tmp114, (0, 2, 3, 4), (2, 4, 3, 1), optimize=True) * -1 + del tmp114 + l1new.bb += einsum(tmp115, (0, 1, 2, 3), l2.abab, (3, 4, 0, 2), (4, 1), optimize=True) * -1 + del tmp115 + tmp144 = einsum(tmp7, (0, 1, 2), l1.bb, (1, 3), (0, 3, 2), optimize=True) + tmp144 += einsum(tmp135, (0, 1, 2, 3), v.baa.xvv, (4, 3, 2), (1, 0, 4), optimize=True) + del tmp135 + tmp144 += einsum(tmp136, (0, 1, 2, 3), v.bbb.xoo, (4, 1, 2), (3, 0, 4), optimize=True) * 2 + tmp144 += einsum(tmp136, (0, 1, 2, 3), tmp4, (0, 2, 4), (3, 1, 4), optimize=True) * -2 + del tmp136 + tmp144 += einsum(v.bbb.xvv, (0, 1, 2), tmp139, (3, 4, 2, 1), (4, 3, 0), optimize=True) * 4 + del tmp139 + tmp144 += einsum(tmp37, (0, 1, 2, 3), tmp41, (0, 3, 4), (2, 1, 4), optimize=True) + del tmp37 + tmp144 += einsum(tmp10, (0, 1, 2), tmp85, (0, 3, 4, 1), (4, 3, 2), optimize=True) * 2 + del tmp85 + tmp144 += einsum(v.bbb.xov, (0, 1, 2), tmp140, (3, 1, 4, 2), (4, 3, 0), optimize=True) * -4 + del tmp140 + tmp144 += einsum(v.baa.xov, (0, 1, 2), tmp141, (1, 3, 4, 2), (4, 3, 0), optimize=True) + del tmp141 + tmp144 += einsum(tmp142, (0, 1, 2, 3), tmp113, (2, 0, 4), (3, 1, 4), optimize=True) * -2 + del tmp142, tmp113 + tmp144 += einsum(tmp60, (0, 1, 2, 3), v.baa.xoo, (4, 0, 1), (3, 2, 4), optimize=True) * -1 + tmp144 += einsum(tmp60, (0, 1, 2, 3), tmp1, (0, 1, 4), (3, 2, 4), optimize=True) * -1 + tmp144 += einsum(v.bbb.xov, (0, 1, 2), tmp143, (3, 2), (3, 1, 0), optimize=True) * -1 + del tmp143 + tmp144 += einsum(v.bbb.xoo, (0, 1, 2), tmp90, (1, 3), (3, 2, 0), optimize=True) * -1 + del tmp90 + l1new.bb += einsum(tmp144, (0, 1, 2), v.bbb.xov, (2, 0, 3), (3, 1), optimize=True) * -1 + del tmp144 + tmp125 = einsum(t2.bbbb, (0, 1, 2, 3), tmp116, (4, 3, 5, 2), (4, 1, 0, 5), optimize=True) + del tmp116 + tmp125 += einsum(tmp117, (0, 1, 2, 3), t2.bbbb, (0, 4, 3, 5), (2, 4, 1, 5), optimize=True) * -2 + del tmp117 + tmp125 += einsum(tmp5, (0, 1, 2), tmp118, (3, 4, 2), (1, 3, 0, 4), optimize=True) + del tmp118 + tmp125 += einsum(tmp112, (0, 1), t2.bbbb, (2, 3, 1, 4), (0, 3, 2, 4), optimize=True) + del tmp112 + tmp125 += einsum(tmp5, (0, 1, 2), tmp7, (3, 4, 2), (1, 0, 3, 4), optimize=True) * -1 + del tmp7 + tmp125 += einsum(t1.bb, (0, 1), tmp124, (0, 2, 3, 4), (2, 4, 3, 1), optimize=True) * -1 + del tmp124 + l1new.bb += einsum(l2.bbbb, (0, 1, 2, 3), tmp125, (4, 2, 3, 0), (1, 4), optimize=True) * -2 + del tmp125 + tmp134 = tmp126.copy() * -0.5 + del tmp126 + tmp134 += tmp127 * -1 + del tmp127 + tmp134 += tmp128 * -0.5 + del tmp128 + tmp134 += tmp129 * -1 + del tmp129 + tmp134 += tmp130 + del tmp130 + tmp134 += tmp131 + del tmp131 + tmp134 += tmp133 * -1 + del tmp133 + tmp134 += einsum(tmp5, (0, 1, 2), l1.bb, (3, 0), (1, 3, 2), optimize=True) * -0.5 + del tmp5 + l1new.bb += einsum(v.bbb.xvv, (0, 1, 2), tmp134, (3, 1, 0), (2, 3), optimize=True) * 2 + del tmp134 + tmp97 = tmp74.copy() + del tmp74 + tmp97 += tmp79 + del tmp79 + tmp97 += tmp81 * -1 + del tmp81 + tmp97 += tmp93 * -1 + del tmp93 + tmp97 += tmp94 * -1 + del tmp94 + tmp97 += tmp96 * -1 + del tmp96 + l1new.bb += einsum(v.bbb.xov, (0, 1, 2), tmp97, (0,), (2, 1), optimize=True) + l1new.aa += einsum(tmp97, (0,), v.baa.xov, (0, 1, 2), (2, 1), optimize=True) + del tmp97 + tmp146 = f.bb.vv.transpose((1, 0)).copy() + tmp146 += einsum(v.bbb.xvv, (0, 1, 2), tmp145, (0,), (2, 1), optimize=True) + del tmp145 + l1new.bb += einsum(tmp146, (0, 1), l1.bb, (0, 2), (1, 2), optimize=True) + del tmp146 + tmp71 = einsum(tmp27, (0, 1, 2), l1.aa, (1, 3), (0, 3, 2), optimize=True) + tmp71 += einsum(v.baa.xoo, (0, 1, 2), tmp49, (3, 1, 2, 4), (4, 3, 0), optimize=True) * 2 + tmp71 += einsum(v.bbb.xvv, (0, 1, 2), tmp50, (3, 4, 2, 1), (4, 3, 0), optimize=True) + del tmp50 + tmp71 += einsum(tmp1, (0, 1, 2), tmp49, (0, 3, 1, 4), (4, 3, 2), optimize=True) * -2 + del tmp1, tmp49 + tmp71 += einsum(v.baa.xvv, (0, 1, 2), tmp53, (3, 4, 2, 1), (4, 3, 0), optimize=True) + del tmp53 + tmp71 += einsum(tmp35, (0, 1, 2, 3), tmp41, (0, 3, 4), (2, 1, 4), optimize=True) * 2 + del tmp35, tmp41 + tmp71 += einsum(tmp54, (0, 1, 2, 3), tmp10, (2, 3, 4), (1, 0, 4), optimize=True) + del tmp54 + tmp71 += einsum(v.baa.xov, (0, 1, 2), tmp55, (3, 1, 4, 2), (4, 3, 0), optimize=True) * -1 + del tmp55 + tmp71 += einsum(v.bbb.xov, (0, 1, 2), tmp56, (3, 4, 1, 2), (4, 3, 0), optimize=True) + del tmp56 + tmp71 += einsum(tmp57, (0, 1, 2, 3), tmp19, (2, 0, 4), (3, 1, 4), optimize=True) * -2 + del tmp57, tmp19 + tmp71 += einsum(tmp60, (0, 1, 2, 3), v.bbb.xoo, (4, 2, 3), (1, 0, 4), optimize=True) * -1 + tmp71 += einsum(tmp4, (0, 1, 2), tmp60, (3, 4, 0, 1), (4, 3, 2), optimize=True) * -1 + del tmp4, tmp60 + tmp71 += einsum(tmp70, (0, 1), v.baa.xov, (2, 3, 1), (0, 3, 2), optimize=True) * -2 + del tmp70 + tmp71 += einsum(tmp68, (0, 1), v.baa.xoo, (2, 0, 3), (1, 3, 2), optimize=True) * -2 + del tmp68 + l1new.aa += einsum(v.baa.xov, (0, 1, 2), tmp71, (1, 3, 0), (2, 3), optimize=True) * -1 + del tmp71 + tmp34 = einsum(tmp22, (0, 1, 2, 3), t2.aaaa, (4, 5, 3, 2), (0, 5, 4, 1), optimize=True) + del tmp22 + tmp34 += einsum(t2.aaaa, (0, 1, 2, 3), tmp23, (4, 0, 5, 2), (4, 1, 5, 3), optimize=True) * -2 + del tmp23 + tmp34 += einsum(tmp2, (0, 1, 2), tmp26, (3, 4, 2), (1, 3, 0, 4), optimize=True) + del tmp26 + tmp34 += einsum(t2.aaaa, (0, 1, 2, 3), tmp16, (4, 2), (4, 1, 0, 3), optimize=True) + tmp34 += einsum(tmp27, (0, 1, 2), tmp2, (3, 4, 2), (4, 3, 0, 1), optimize=True) * -1 + del tmp27 + tmp34 += einsum(tmp33, (0, 1, 2, 3), t1.aa, (0, 4), (1, 3, 2, 4), optimize=True) * -1 + del tmp33 + l1new.aa += einsum(tmp34, (0, 1, 2, 3), l2.aaaa, (3, 4, 1, 2), (4, 0), optimize=True) * -2 + del tmp34 + tmp48 = tmp36.copy() * -2 + del tmp36 + tmp48 += tmp38 * -1 + del tmp38 + tmp48 += tmp39 * -2 + del tmp39 + tmp48 += tmp40 * -1 + del tmp40 + tmp48 += tmp42 + del tmp42 + tmp48 += tmp43 + del tmp43 + tmp48 += tmp47 * -1 + del tmp47 + tmp48 += einsum(tmp2, (0, 1, 2), l1.aa, (3, 0), (1, 3, 2), optimize=True) * -1 + l1new.aa += einsum(v.baa.xvv, (0, 1, 2), tmp48, (3, 1, 0), (2, 3), optimize=True) + del tmp48 + tmp100 = f.aa.vv.transpose((1, 0)).copy() + tmp100 += tmp99.transpose((1, 0)) + del tmp99 + l1new.aa += einsum(l1.aa, (0, 1), tmp100, (0, 2), (2, 1), optimize=True) + del tmp100 + tmp98 = tmp65.copy() + del tmp65 + tmp98 += tmp66 * 2 + del tmp66 + tmp98 += tmp67 + del tmp67 + l1new.aa += einsum(tmp98, (0, 1), tmp16, (1, 2), (2, 0), optimize=True) * -1 + del tmp98 + tmp21 = einsum(tmp0, (0, 1, 2, 3), t2.abab, (4, 5, 1, 2), (0, 4, 5, 3), optimize=True) + del tmp0 + tmp21 += einsum(t2.abab, (0, 1, 2, 3), tmp3, (0, 4, 5, 2), (5, 4, 1, 3), optimize=True) * -1 + del tmp3 + tmp21 += einsum(tmp6, (0, 1, 2, 3), t2.abab, (4, 1, 3, 5), (0, 4, 2, 5), optimize=True) * -1 + del tmp6 + tmp21 += einsum(tmp2, (0, 1, 2), tmp10, (3, 4, 2), (1, 0, 3, 4), optimize=True) + del tmp10, tmp2 + tmp21 += einsum(t2.abab, (0, 1, 2, 3), tmp16, (4, 2), (4, 0, 1, 3), optimize=True) + del tmp16 + tmp21 += einsum(t1.bb, (0, 1), tmp20, (2, 3, 0, 4), (3, 2, 4, 1), optimize=True) * -1 + del tmp20 + l1new.aa += einsum(l2.abab, (0, 1, 2, 3), tmp21, (4, 2, 3, 1), (0, 4), optimize=True) * -1 + del tmp21 + l1new.aa += f.aa.ov.transpose((1, 0)) + l1new.bb += f.bb.ov.transpose((1, 0)) + + return {f"l1new": l1new, f"l2new": l2new} + +def make_rdm1_f(l1=None, l2=None, t1=None, t2=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-07-18T20:48:59.483678. + + Parameters + ---------- + l1 : Namespace of arrays + L1 amplitudes. + l2 : Namespace of arrays + L2 amplitudes. + t1 : Namespace of arrays + T1 amplitudes. + t2 : Namespace of arrays + T2 amplitudes. + + Returns + ------- + rdm1 : Namespace of arrays + One-particle reduced density matrix. + """ + + rdm1 = Namespace() + rdm1.aa = Namespace() + rdm1.bb = Namespace() + delta = Namespace( + aa=Namespace(oo=np.eye(t2.aaaa.shape[0]), vv=np.eye(t2.aaaa.shape[-1])), + bb=Namespace(oo=np.eye(t2.bbbb.shape[0]), vv=np.eye(t2.bbbb.shape[-1])), + ) + tmp5 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (2, 3, 4, 1), (4, 0), optimize=True) + rdm1.bb.oo = tmp5.transpose((1, 0)).copy() * -2 + tmp4 = einsum(l1.bb, (0, 1), t1.bb, (2, 0), (1, 2), optimize=True) + rdm1.bb.oo += tmp4.transpose((1, 0)) * -1 + tmp3 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 1), (3, 4), optimize=True) + rdm1.bb.oo += tmp3.transpose((1, 0)) * -1 + tmp0 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 0, 1), (2, 4), optimize=True) + rdm1.aa.oo = tmp0.transpose((1, 0)).copy() * -1 + tmp1 = einsum(t1.aa, (0, 1), l1.aa, (1, 2), (2, 0), optimize=True) + rdm1.aa.oo += tmp1.transpose((1, 0)) * -1 + tmp2 = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (2, 3, 4, 1), (4, 0), optimize=True) + rdm1.aa.oo += tmp2.transpose((1, 0)) * -2 + tmp10 = einsum(t1.bb, (0, 1), l2.bbbb, (2, 1, 3, 4), (3, 4, 0, 2), optimize=True) + rdm1.bb.ov = einsum(tmp10, (0, 1, 2, 3), t2.bbbb, (0, 1, 4, 3), (2, 4), optimize=True) * 2 + del tmp10 + tmp11 = tmp4.copy() + del tmp4 + tmp11 += tmp3 + del tmp3 + tmp11 += tmp5 * 2 + del tmp5 + rdm1.bb.ov += einsum(tmp11, (0, 1), t1.bb, (0, 2), (1, 2), optimize=True) * -1 + del tmp11 + tmp9 = einsum(l2.abab, (0, 1, 2, 3), t1.bb, (4, 1), (2, 3, 4, 0), optimize=True) + rdm1.bb.ov += einsum(tmp9, (0, 1, 2, 3), t2.abab, (0, 1, 3, 4), (2, 4), optimize=True) * -1 + del tmp9 + tmp7 = einsum(l2.abab, (0, 1, 2, 3), t1.aa, (4, 0), (2, 4, 3, 1), optimize=True) + rdm1.aa.ov = einsum(t2.abab, (0, 1, 2, 3), tmp7, (0, 4, 1, 3), (4, 2), optimize=True) * -1 + del tmp7 + tmp6 = einsum(l2.aaaa, (0, 1, 2, 3), t1.aa, (4, 1), (2, 3, 4, 0), optimize=True) + rdm1.aa.ov += einsum(tmp6, (0, 1, 2, 3), t2.aaaa, (0, 1, 4, 3), (2, 4), optimize=True) * 2 + del tmp6 + tmp8 = tmp1.copy() + del tmp1 + tmp8 += tmp2 * 2 + del tmp2 + tmp8 += tmp0 + del tmp0 + rdm1.aa.ov += einsum(t1.aa, (0, 1), tmp8, (0, 2), (2, 1), optimize=True) * -1 + del tmp8 + rdm1.aa.oo += delta.aa.oo.transpose((1, 0)) + rdm1.bb.oo += delta.bb.oo.transpose((1, 0)) + del delta + rdm1.aa.ov += einsum(t2.aaaa, (0, 1, 2, 3), l1.aa, (3, 1), (0, 2), optimize=True) * 2 + rdm1.aa.ov += t1.aa + rdm1.aa.ov += einsum(l1.bb, (0, 1), t2.abab, (2, 1, 3, 0), (2, 3), optimize=True) + rdm1.bb.ov += einsum(t2.bbbb, (0, 1, 2, 3), l1.bb, (3, 1), (0, 2), optimize=True) * 2 + rdm1.bb.ov += t1.bb + rdm1.bb.ov += einsum(l1.aa, (0, 1), t2.abab, (1, 2, 0, 3), (2, 3), optimize=True) + rdm1.aa.vo = l1.aa.copy() + rdm1.bb.vo = l1.bb.copy() + rdm1.aa.vv = einsum(l1.aa, (0, 1), t1.aa, (1, 2), (0, 2), optimize=True) + rdm1.aa.vv += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 4, 1), (0, 4), optimize=True) + rdm1.aa.vv += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (2, 3, 4, 0), (1, 4), optimize=True) * -2 + rdm1.bb.vv = einsum(l1.bb, (0, 1), t1.bb, (1, 2), (0, 2), optimize=True) + rdm1.bb.vv += einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (3, 4, 0, 1), (4, 2), optimize=True) * -2 + rdm1.bb.vv += einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 4, 0, 1), (4, 3), optimize=True) + rdm1.aa = np.block([[rdm1.aa.oo, rdm1.aa.ov], [rdm1.aa.vo, rdm1.aa.vv]]) + rdm1.bb = np.block([[rdm1.bb.oo, rdm1.bb.ov], [rdm1.bb.vo, rdm1.bb.vv]]) + + return rdm1 + +def make_rdm2_f(l1=None, l2=None, t1=None, t2=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-07-18T20:49:39.315668. + + Parameters + ---------- + l1 : Namespace of arrays + L1 amplitudes. + l2 : Namespace of arrays + L2 amplitudes. + t1 : Namespace of arrays + T1 amplitudes. + t2 : Namespace of arrays + T2 amplitudes. + + Returns + ------- + rdm2 : Namespace of arrays + Two-particle reduced density matrix. + """ + + rdm2 = Namespace() + rdm2.aaaa = Namespace() + rdm2.abab = Namespace() + rdm2.bbbb = Namespace() + delta = Namespace( + aa=Namespace(oo=np.eye(t2.aaaa.shape[0]), vv=np.eye(t2.aaaa.shape[-1])), + bb=Namespace(oo=np.eye(t2.bbbb.shape[0]), vv=np.eye(t2.bbbb.shape[-1])), + ) + tmp18 = einsum(t1.bb, (0, 1), l2.bbbb, (2, 1, 3, 4), (3, 4, 0, 2), optimize=True) + rdm2.bbbb.vooo = tmp18.transpose((3, 2, 1, 0)).copy() * 2 + rdm2.bbbb.ovoo = tmp18.transpose((2, 3, 1, 0)).copy() * -2 + tmp10 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (2, 3, 4, 1), (4, 0), optimize=True) + tmp9 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 1), (3, 4), optimize=True) + tmp13 = einsum(l2.abab, (0, 1, 2, 3), t1.bb, (4, 1), (2, 3, 4, 0), optimize=True) + rdm2.abab.vovv = einsum(t2.abab, (0, 1, 2, 3), tmp13, (0, 1, 4, 5), (5, 4, 2, 3), optimize=True) * -1 + rdm2.abab.vovo = einsum(tmp13, (0, 1, 2, 3), t1.aa, (0, 4), (3, 2, 4, 1), optimize=True) * -1 + rdm2.abab.vooo = tmp13.transpose((3, 2, 0, 1)).copy() * -1 + tmp1 = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (2, 3, 4, 1), (4, 0), optimize=True) + tmp0 = einsum(t1.aa, (0, 1), l1.aa, (1, 2), (2, 0), optimize=True) + tmp2 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 0, 1), (2, 4), optimize=True) + tmp8 = einsum(l1.bb, (0, 1), t1.bb, (2, 0), (1, 2), optimize=True) + tmp6 = einsum(l2.aaaa, (0, 1, 2, 3), t1.aa, (4, 1), (2, 3, 4, 0), optimize=True) + rdm2.aaaa.vooo = tmp6.transpose((3, 2, 1, 0)).copy() * 2 + rdm2.aaaa.ovoo = tmp6.transpose((2, 3, 1, 0)).copy() * -2 + tmp26 = einsum(l2.abab, (0, 1, 2, 3), t1.aa, (4, 0), (2, 4, 3, 1), optimize=True) + rdm2.abab.ovvv = einsum(tmp26, (0, 1, 2, 3), t2.abab, (0, 2, 4, 5), (1, 3, 4, 5), optimize=True) * -1 + rdm2.abab.ovov = einsum(t1.bb, (0, 1), tmp26, (2, 3, 0, 4), (3, 4, 2, 1), optimize=True) * -1 + rdm2.abab.ovoo = tmp26.transpose((1, 3, 0, 2)).copy() * -1 + tmp95 = einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 3, 5, 0), (2, 4, 1, 5), optimize=True) * -1 + rdm2.bbbb.vovo = tmp95.transpose((2, 1, 3, 0)).copy() * -4 + rdm2.bbbb.voov = tmp95.transpose((2, 1, 0, 3)).copy() * 4 + rdm2.bbbb.ovvo = tmp95.transpose((1, 2, 3, 0)).copy() * 4 + rdm2.bbbb.ovov = tmp95.transpose((1, 2, 0, 3)).copy() * -4 + tmp114 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 5), (3, 4, 1, 5), optimize=True) + rdm2.bbbb.vovo += tmp114.transpose((2, 1, 3, 0)) * -1 + rdm2.bbbb.voov += tmp114.transpose((2, 1, 0, 3)) + rdm2.bbbb.ovvo += tmp114.transpose((1, 2, 3, 0)) + rdm2.bbbb.ovov += tmp114.transpose((1, 2, 0, 3)) * -1 + tmp87 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 5, 1), (2, 4, 0, 5), optimize=True) + rdm2.aaaa.vovo = tmp87.transpose((2, 1, 3, 0)).copy() * -1 + rdm2.aaaa.voov = tmp87.transpose((2, 1, 0, 3)).copy() + rdm2.aaaa.ovvo = tmp87.transpose((1, 2, 3, 0)).copy() + rdm2.aaaa.ovov = tmp87.transpose((1, 2, 0, 3)).copy() * -1 + tmp65 = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (3, 4, 5, 1), (5, 0, 4, 2), optimize=True) * -1 + rdm2.aaaa.vovo += tmp65.transpose((2, 1, 3, 0)) * -4 + rdm2.aaaa.voov += tmp65.transpose((2, 1, 0, 3)) * 4 + rdm2.aaaa.ovvo += tmp65.transpose((1, 2, 3, 0)) * 4 + rdm2.aaaa.ovov += tmp65.transpose((1, 2, 0, 3)) * -4 + tmp19 = einsum(t1.bb, (0, 1), tmp18, (2, 3, 4, 1), (2, 3, 0, 4), optimize=True) + rdm2.bbbb.oooo = tmp19.transpose((2, 3, 1, 0)).copy() * -2 + tmp17 = einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 5, 0, 1), (2, 3, 4, 5), optimize=True) + rdm2.bbbb.oooo += tmp17.transpose((3, 2, 1, 0)) * 2 + tmp101 = tmp9.copy() * 0.5 + tmp101 += tmp10 + tmp50 = einsum(tmp18, (0, 1, 2, 3), t2.bbbb, (4, 1, 5, 3), (0, 2, 4, 5), optimize=True) * -1 + rdm2.bbbb.oovo = tmp50.transpose((2, 1, 3, 0)).copy() * -4 + rdm2.bbbb.oovo += tmp50.transpose((1, 2, 3, 0)) * 4 + rdm2.bbbb.ooov = tmp50.transpose((2, 1, 0, 3)).copy() * 4 + rdm2.bbbb.ooov += tmp50.transpose((1, 2, 0, 3)) * -4 + tmp51 = einsum(tmp13, (0, 1, 2, 3), t2.abab, (0, 4, 3, 5), (1, 2, 4, 5), optimize=True) + rdm2.bbbb.oovo += tmp51.transpose((2, 1, 3, 0)) * -1 + rdm2.bbbb.oovo += tmp51.transpose((1, 2, 3, 0)) + rdm2.bbbb.ooov += tmp51.transpose((2, 1, 0, 3)) + rdm2.bbbb.ooov += tmp51.transpose((1, 2, 0, 3)) * -1 + tmp28 = tmp0.copy() * 0.5 + tmp28 += tmp1 + tmp28 += tmp2 * 0.5 + rdm2.aaaa.ooov = einsum(t1.aa, (0, 1), tmp28, (2, 3), (0, 3, 2, 1), optimize=True) * 2 + tmp12 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 5, 0, 1), (2, 4, 3, 5), optimize=True) + rdm2.abab.oooo = tmp12.transpose((1, 3, 0, 2)).copy() + tmp14 = einsum(tmp13, (0, 1, 2, 3), t1.aa, (4, 3), (0, 4, 1, 2), optimize=True) + rdm2.abab.oooo += tmp14.transpose((1, 3, 0, 2)) + tmp15 = tmp8.copy() + tmp15 += tmp9 + tmp15 += tmp10 * 2 + rdm2.abab.oovv = einsum(tmp15, (0, 1), t2.abab, (2, 0, 3, 4), (2, 1, 3, 4), optimize=True) * -1 + rdm2.abab.oovo = einsum(tmp15, (0, 1), t1.aa, (2, 3), (2, 1, 3, 0), optimize=True) * -1 + rdm2.bbbb.ooov += einsum(tmp15, (0, 1), t1.bb, (2, 3), (2, 1, 0, 3), optimize=True) + rdm2.bbbb.ooov += einsum(tmp15, (0, 1), t1.bb, (2, 3), (1, 2, 0, 3), optimize=True) * -1 + rdm2.bbbb.oooo += einsum(tmp15, (0, 1), delta.bb.oo, (2, 3), (1, 3, 0, 2), optimize=True) * -1 + tmp32 = einsum(tmp6, (0, 1, 2, 3), t2.aaaa, (4, 1, 5, 3), (0, 2, 4, 5), optimize=True) * -1 + rdm2.aaaa.oovo = tmp32.transpose((2, 1, 3, 0)).copy() * -4 + rdm2.aaaa.oovo += tmp32.transpose((1, 2, 3, 0)) * 4 + rdm2.aaaa.ooov += tmp32.transpose((2, 1, 0, 3)) * 4 + rdm2.aaaa.ooov += tmp32.transpose((1, 2, 0, 3)) * -4 + tmp31 = einsum(t2.abab, (0, 1, 2, 3), tmp26, (4, 5, 1, 3), (4, 5, 0, 2), optimize=True) + rdm2.aaaa.oovo += tmp31.transpose((2, 1, 3, 0)) * -1 + rdm2.aaaa.oovo += tmp31.transpose((1, 2, 3, 0)) + rdm2.aaaa.ooov += tmp31.transpose((2, 1, 0, 3)) + rdm2.aaaa.ooov += tmp31.transpose((1, 2, 0, 3)) * -1 + tmp5 = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (2, 3, 4, 5), (4, 5, 0, 1), optimize=True) + rdm2.aaaa.oooo = tmp5.transpose((3, 2, 1, 0)).copy() * 2 + tmp7 = einsum(tmp6, (0, 1, 2, 3), t1.aa, (4, 3), (0, 1, 4, 2), optimize=True) + rdm2.aaaa.oooo += tmp7.transpose((2, 3, 1, 0)) * -2 + tmp75 = tmp1.copy() * 2 + tmp75 += tmp2 + tmp126 = tmp114.copy() + del tmp114 + tmp126 += tmp95 * 4 + tmp115 = einsum(t1.bb, (0, 1), tmp18, (2, 0, 3, 4), (2, 3, 4, 1), optimize=True) + rdm2.bbbb.vovo += tmp115.transpose((2, 1, 3, 0)) * 2 + rdm2.bbbb.voov += tmp115.transpose((2, 1, 0, 3)) * -2 + rdm2.bbbb.ovvo += tmp115.transpose((1, 2, 3, 0)) * -2 + rdm2.bbbb.ovov += tmp115.transpose((1, 2, 0, 3)) * 2 + tmp112 = einsum(l1.bb, (0, 1), t1.bb, (1, 2), (0, 2), optimize=True) + rdm2.bbbb.ovvv = einsum(t1.bb, (0, 1), tmp112, (2, 3), (0, 2, 3, 1), optimize=True) * -1 + rdm2.bbbb.ovvv += einsum(tmp112, (0, 1), t1.bb, (2, 3), (2, 0, 3, 1), optimize=True) + tmp83 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 4, 0, 1), (4, 3), optimize=True) + tmp84 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (3, 4, 0, 1), (4, 2), optimize=True) * -1 + tmp97 = einsum(t2.bbbb, (0, 1, 2, 3), l2.abab, (4, 3, 5, 1), (5, 0, 4, 2), optimize=True) + rdm2.abab.voov = tmp97.transpose((2, 1, 0, 3)).copy() * 2 + tmp93 = einsum(t2.abab, (0, 1, 2, 3), l2.aaaa, (2, 4, 5, 0), (5, 1, 4, 3), optimize=True) * -1 + rdm2.abab.voov += tmp93.transpose((2, 1, 0, 3)) * 2 + tmp62 = einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (2, 3, 4, 0), (1, 4), optimize=True) * -1 + tmp63 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 4, 1), (0, 4), optimize=True) + tmp109 = einsum(l1.aa, (0, 1), t1.aa, (1, 2), (0, 2), optimize=True) + rdm2.aaaa.ovvv = einsum(t1.aa, (0, 1), tmp109, (2, 3), (0, 2, 3, 1), optimize=True) * -1 + rdm2.aaaa.ovvv += einsum(t1.aa, (0, 1), tmp109, (2, 3), (0, 2, 1, 3), optimize=True) + tmp111 = einsum(tmp6, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 3, 4), optimize=True) + rdm2.aaaa.vovo += tmp111.transpose((2, 1, 3, 0)) * 2 + rdm2.aaaa.voov += tmp111.transpose((2, 1, 0, 3)) * -2 + rdm2.aaaa.ovvo += tmp111.transpose((1, 2, 3, 0)) * -2 + rdm2.aaaa.ovov += tmp111.transpose((1, 2, 0, 3)) * 2 + tmp88 = tmp65.copy() * 4 + tmp88 += tmp87 + del tmp87 + rdm2.abab.oovv += einsum(tmp88, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) + tmp67 = einsum(l2.bbbb, (0, 1, 2, 3), t2.abab, (4, 3, 5, 0), (4, 2, 5, 1), optimize=True) * -1 + rdm2.abab.ovvo = tmp67.transpose((0, 3, 2, 1)).copy() * 2 + tmp69 = einsum(l2.abab, (0, 1, 2, 3), t2.aaaa, (4, 2, 5, 0), (4, 3, 5, 1), optimize=True) + rdm2.abab.ovvo += tmp69.transpose((0, 3, 2, 1)) * 2 + tmp52 = tmp17.transpose((1, 0, 3, 2)).copy() + del tmp17 + tmp52 += tmp19.transpose((0, 1, 3, 2)) * -1 + del tmp19 + rdm2.bbbb.oovv = einsum(tmp52, (0, 1, 2, 3), t2.bbbb, (0, 1, 4, 5), (3, 2, 5, 4), optimize=True) * 2 + tmp39 = einsum(tmp13, (0, 1, 2, 3), t2.abab, (0, 1, 3, 4), (2, 4), optimize=True) + tmp40 = einsum(tmp18, (0, 1, 2, 3), t2.bbbb, (0, 1, 4, 3), (2, 4), optimize=True) * -1 + tmp102 = einsum(tmp101, (0, 1), t1.bb, (0, 2), (1, 2), optimize=True) * 2 + del tmp101 + tmp107 = tmp51.copy() + del tmp51 + tmp107 += tmp50 * 4 + del tmp50 + tmp35 = einsum(l1.aa, (0, 1), t2.abab, (1, 2, 0, 3), (2, 3), optimize=True) + tmp36 = einsum(t2.bbbb, (0, 1, 2, 3), l1.bb, (3, 1), (0, 2), optimize=True) + tmp49 = einsum(t2.bbbb, (0, 1, 2, 3), l1.bb, (3, 4), (4, 0, 1, 2), optimize=True) + rdm2.bbbb.oovo += tmp49.transpose((2, 1, 3, 0)) * 2 + rdm2.bbbb.ooov += tmp49.transpose((2, 1, 0, 3)) * -2 + tmp43 = einsum(t2.bbbb, (0, 1, 2, 3), tmp26, (4, 5, 1, 3), (4, 5, 0, 2), optimize=True) + rdm2.abab.ooov = tmp43.transpose((1, 2, 0, 3)).copy() * -2 + tmp44 = einsum(t2.abab, (0, 1, 2, 3), tmp6, (4, 0, 5, 2), (4, 5, 1, 3), optimize=True) * -1 + rdm2.abab.ooov += tmp44.transpose((1, 2, 0, 3)) * -2 + tmp58 = einsum(tmp18, (0, 1, 2, 3), t2.abab, (4, 1, 5, 3), (4, 0, 2, 5), optimize=True) * -1 + rdm2.abab.oovo += tmp58.transpose((0, 2, 3, 1)) * -2 + tmp57 = einsum(tmp13, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 3), (4, 1, 2, 5), optimize=True) + rdm2.abab.oovo += tmp57.transpose((0, 2, 3, 1)) * -2 + tmp27 = einsum(t2.abab, (0, 1, 2, 3), tmp26, (0, 4, 1, 3), (4, 2), optimize=True) + tmp25 = einsum(tmp6, (0, 1, 2, 3), t2.aaaa, (0, 1, 4, 3), (2, 4), optimize=True) * -1 + tmp29 = einsum(tmp28, (0, 1), t1.aa, (0, 2), (1, 2), optimize=True) * 2 + tmp45 = tmp12.copy() + del tmp12 + tmp45 += tmp14 + del tmp14 + rdm2.abab.oovv += einsum(t2.abab, (0, 1, 2, 3), tmp45, (0, 4, 1, 5), (4, 5, 2, 3), optimize=True) + rdm2.abab.oovo += einsum(t1.aa, (0, 1), tmp45, (0, 2, 3, 4), (2, 4, 1, 3), optimize=True) + tmp20 = einsum(t2.aaaa, (0, 1, 2, 3), l1.aa, (3, 1), (0, 2), optimize=True) + tmp21 = einsum(l1.bb, (0, 1), t2.abab, (2, 1, 3, 0), (2, 3), optimize=True) + tmp41 = einsum(tmp15, (0, 1), t1.bb, (0, 2), (1, 2), optimize=True) + tmp24 = einsum(t2.aaaa, (0, 1, 2, 3), l1.aa, (3, 4), (4, 0, 1, 2), optimize=True) + rdm2.aaaa.oovo += tmp24.transpose((2, 1, 3, 0)) * 2 + rdm2.aaaa.ooov += tmp24.transpose((2, 1, 0, 3)) * -2 + tmp81 = tmp32.copy() * 4 + del tmp32 + tmp81 += tmp31 + del tmp31 + tmp33 = tmp5.transpose((1, 0, 3, 2)).copy() + del tmp5 + tmp33 += tmp7.transpose((0, 1, 3, 2)) * -1 + del tmp7 + rdm2.aaaa.oovv = einsum(t2.aaaa, (0, 1, 2, 3), tmp33, (0, 1, 4, 5), (5, 4, 3, 2), optimize=True) * 2 + tmp4 = tmp0.copy() + tmp4 += tmp1 * 2 + tmp4 += tmp2 + rdm2.abab.oovv += einsum(tmp4, (0, 1), t2.abab, (0, 2, 3, 4), (1, 2, 3, 4), optimize=True) * -1 + rdm2.aaaa.oovo += einsum(t1.aa, (0, 1), tmp4, (2, 3), (0, 3, 1, 2), optimize=True) * -1 + rdm2.aaaa.oovo += einsum(tmp4, (0, 1), t1.aa, (2, 3), (1, 2, 3, 0), optimize=True) + rdm2.abab.ooov += einsum(tmp4, (0, 1), t1.bb, (2, 3), (1, 2, 0, 3), optimize=True) * -1 + rdm2.aaaa.ooov += einsum(tmp4, (0, 1), t1.aa, (2, 3), (1, 2, 0, 3), optimize=True) * -1 + rdm2.abab.oooo += einsum(delta.bb.oo, (0, 1), tmp4, (2, 3), (3, 1, 2, 0), optimize=True) * -1 + rdm2.aaaa.oooo += einsum(delta.aa.oo, (0, 1), tmp4, (2, 3), (1, 3, 2, 0), optimize=True) + rdm2.aaaa.oooo += einsum(tmp4, (0, 1), delta.aa.oo, (2, 3), (1, 3, 0, 2), optimize=True) * -1 + tmp76 = einsum(tmp75, (0, 1), t1.aa, (0, 2), (1, 2), optimize=True) * 0.5 + del tmp75 + tmp60 = einsum(tmp15, (0, 1), t1.bb, (0, 2), (1, 2), optimize=True) * 0.5 + tmp54 = einsum(tmp28, (0, 1), t1.aa, (0, 2), (1, 2), optimize=True) + del tmp28 + tmp133 = einsum(l2.bbbb, (0, 1, 2, 3), t1.bb, (3, 4), (2, 0, 1, 4), optimize=True) + rdm2.bbbb.vvvv = einsum(t1.bb, (0, 1), tmp133, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) * 2 + rdm2.bbbb.vvvo = tmp133.transpose((2, 1, 3, 0)).copy() * 2 + rdm2.bbbb.vvov = tmp133.transpose((2, 1, 0, 3)).copy() * -2 + del tmp133 + tmp132 = einsum(l2.abab, (0, 1, 2, 3), t1.bb, (3, 4), (2, 0, 1, 4), optimize=True) + rdm2.abab.vvvv = einsum(tmp132, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3), optimize=True) + rdm2.abab.vvov = tmp132.transpose((1, 2, 0, 3)).copy() + del tmp132 + tmp131 = einsum(t1.aa, (0, 1), l2.aaaa, (2, 3, 4, 0), (4, 2, 3, 1), optimize=True) + rdm2.aaaa.vvvv = einsum(t1.aa, (0, 1), tmp131, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) * 2 + rdm2.aaaa.vvvo = tmp131.transpose((2, 1, 3, 0)).copy() * 2 + rdm2.aaaa.vvov = tmp131.transpose((2, 1, 0, 3)).copy() * -2 + del tmp131 + tmp128 = einsum(tmp18, (0, 1, 2, 3), t2.bbbb, (0, 1, 4, 5), (2, 3, 4, 5), optimize=True) + del tmp18 + rdm2.bbbb.vovv = tmp128.transpose((1, 0, 3, 2)).copy() * 2 + rdm2.bbbb.ovvv += tmp128.transpose((0, 1, 3, 2)) * -2 + del tmp128 + tmp127 = einsum(tmp126, (0, 1, 2, 3), t1.bb, (0, 4), (1, 4, 2, 3), optimize=True) + del tmp126 + rdm2.bbbb.vovv += tmp127.transpose((2, 0, 3, 1)) * -1 + rdm2.bbbb.vovv += tmp127.transpose((2, 0, 1, 3)) + rdm2.bbbb.ovvv += tmp127.transpose((0, 2, 3, 1)) + rdm2.bbbb.ovvv += tmp127.transpose((0, 2, 1, 3)) * -1 + del tmp127 + tmp125 = einsum(t2.bbbb, (0, 1, 2, 3), l1.bb, (4, 1), (0, 4, 2, 3), optimize=True) + rdm2.bbbb.vovv += tmp125.transpose((1, 0, 3, 2)) * 2 + rdm2.bbbb.ovvv += tmp125.transpose((0, 1, 3, 2)) * -2 + del tmp125 + tmp129 = einsum(tmp115, (0, 1, 2, 3), t1.bb, (0, 4), (1, 2, 3, 4), optimize=True) * -1 + del tmp115 + rdm2.bbbb.vovv += tmp129.transpose((1, 0, 3, 2)) * 2 + rdm2.bbbb.ovvv += tmp129.transpose((0, 1, 3, 2)) * -2 + del tmp129 + tmp113 = tmp112.copy() + tmp113 += tmp83 + tmp113 += tmp84 * 2 + rdm2.bbbb.vovv += einsum(t1.bb, (0, 1), tmp113, (2, 3), (2, 0, 3, 1), optimize=True) + rdm2.bbbb.vovv += einsum(tmp113, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1), optimize=True) * -1 + rdm2.abab.ovvv += einsum(t1.aa, (0, 1), tmp113, (2, 3), (0, 2, 1, 3), optimize=True) + rdm2.bbbb.voov += einsum(delta.bb.oo, (0, 1), tmp113, (2, 3), (2, 1, 0, 3), optimize=True) * -1 + rdm2.bbbb.ovov += einsum(delta.bb.oo, (0, 1), tmp113, (2, 3), (1, 2, 0, 3), optimize=True) + rdm2.abab.ovov += einsum(tmp113, (0, 1), delta.aa.oo, (2, 3), (3, 0, 2, 1), optimize=True) + del tmp113 + tmp130 = tmp93.copy() + tmp130 += tmp97 + rdm2.abab.vovv += einsum(t1.aa, (0, 1), tmp130, (0, 2, 3, 4), (3, 2, 1, 4), optimize=True) * 2 + del tmp130 + tmp119 = einsum(t1.bb, (0, 1), tmp13, (2, 0, 3, 4), (2, 3, 4, 1), optimize=True) + rdm2.abab.vovv += einsum(tmp119, (0, 1, 2, 3), t1.aa, (0, 4), (2, 1, 4, 3), optimize=True) * -1 + rdm2.abab.voov += tmp119.transpose((2, 1, 0, 3)) * -1 + del tmp119 + tmp120 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (4, 3, 0, 5), (5, 1, 4, 2), optimize=True) + rdm2.abab.vovv += einsum(t1.bb, (0, 1), tmp120, (0, 2, 3, 4), (3, 2, 4, 1), optimize=True) * -1 + rdm2.abab.vovo += tmp120.transpose((2, 1, 3, 0)) * -1 + del tmp120 + tmp110 = tmp109.copy() + tmp110 += tmp62 * 2 + tmp110 += tmp63 + rdm2.abab.vovv += einsum(tmp110, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3), optimize=True) + rdm2.aaaa.vovv = einsum(t1.aa, (0, 1), tmp110, (2, 3), (2, 0, 3, 1), optimize=True) + rdm2.aaaa.vovv += einsum(tmp110, (0, 1), t1.aa, (2, 3), (0, 2, 3, 1), optimize=True) * -1 + rdm2.abab.vovo += einsum(delta.bb.oo, (0, 1), tmp110, (2, 3), (2, 1, 3, 0), optimize=True) + rdm2.aaaa.voov += einsum(tmp110, (0, 1), delta.aa.oo, (2, 3), (0, 3, 2, 1), optimize=True) * -1 + rdm2.aaaa.ovov += einsum(tmp110, (0, 1), delta.aa.oo, (2, 3), (3, 0, 2, 1), optimize=True) + del tmp110 + tmp123 = einsum(tmp6, (0, 1, 2, 3), t2.aaaa, (0, 1, 4, 5), (2, 3, 4, 5), optimize=True) + del tmp6 + rdm2.aaaa.vovv += tmp123.transpose((1, 0, 3, 2)) * 2 + rdm2.aaaa.ovvv += tmp123.transpose((0, 1, 3, 2)) * -2 + del tmp123 + tmp124 = einsum(t1.aa, (0, 1), tmp111, (0, 2, 3, 4), (2, 3, 4, 1), optimize=True) * -1 + del tmp111 + rdm2.aaaa.vovv += tmp124.transpose((1, 0, 3, 2)) * 2 + rdm2.aaaa.ovvv += tmp124.transpose((0, 1, 3, 2)) * -2 + del tmp124 + tmp122 = einsum(tmp88, (0, 1, 2, 3), t1.aa, (0, 4), (1, 4, 2, 3), optimize=True) + del tmp88 + rdm2.aaaa.vovv += tmp122.transpose((2, 0, 3, 1)) * -1 + rdm2.aaaa.vovv += tmp122.transpose((2, 0, 1, 3)) + rdm2.aaaa.ovvv += tmp122.transpose((0, 2, 3, 1)) + rdm2.aaaa.ovvv += tmp122.transpose((0, 2, 1, 3)) * -1 + del tmp122 + tmp121 = einsum(t2.aaaa, (0, 1, 2, 3), l1.aa, (4, 1), (0, 4, 2, 3), optimize=True) + rdm2.aaaa.vovv += tmp121.transpose((1, 0, 3, 2)) * 2 + rdm2.aaaa.ovvv += tmp121.transpose((0, 1, 3, 2)) * -2 + del tmp121 + tmp85 = tmp83.copy() + tmp85 += tmp84 * 2 + rdm2.bbbb.ovvv += einsum(t1.bb, (0, 1), tmp85, (2, 3), (0, 2, 3, 1), optimize=True) * -1 + rdm2.bbbb.ovvv += einsum(t1.bb, (0, 1), tmp85, (2, 3), (0, 2, 1, 3), optimize=True) + rdm2.bbbb.oovv += einsum(tmp85, (0, 1), t2.bbbb, (2, 3, 0, 4), (3, 2, 1, 4), optimize=True) * 2 + rdm2.abab.oovv += einsum(t2.abab, (0, 1, 2, 3), tmp85, (3, 4), (0, 1, 2, 4), optimize=True) * -1 + del tmp85 + tmp117 = einsum(t1.aa, (0, 1), tmp26, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) + rdm2.abab.ovvv += einsum(t1.bb, (0, 1), tmp117, (2, 0, 3, 4), (2, 4, 3, 1), optimize=True) * -1 + rdm2.abab.ovvo += tmp117.transpose((0, 3, 2, 1)) * -1 + del tmp117 + tmp89 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 0, 5), (2, 4, 1, 5), optimize=True) + rdm2.abab.ovvv += einsum(t1.aa, (0, 1), tmp89, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) * -1 + rdm2.abab.ovov += tmp89.transpose((1, 2, 0, 3)) * -1 + rdm2.abab.oovv += einsum(tmp89, (0, 1, 2, 3), t2.abab, (0, 4, 5, 2), (1, 4, 5, 3), optimize=True) + del tmp89 + tmp86 = tmp69.copy() + tmp86 += tmp67 + rdm2.abab.ovvv += einsum(t1.bb, (0, 1), tmp86, (2, 0, 3, 4), (2, 4, 3, 1), optimize=True) * 2 + rdm2.abab.oovv += einsum(t2.bbbb, (0, 1, 2, 3), tmp86, (4, 0, 5, 2), (4, 1, 5, 3), optimize=True) * 4 + del tmp86 + tmp74 = tmp62.copy() + tmp74 += tmp63 * 0.5 + rdm2.aaaa.ovvv += einsum(t1.aa, (0, 1), tmp74, (2, 3), (0, 2, 3, 1), optimize=True) * -2 + rdm2.aaaa.ovvv += einsum(tmp74, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1), optimize=True) * 2 + rdm2.aaaa.oovv += einsum(t2.aaaa, (0, 1, 2, 3), tmp74, (2, 4), (1, 0, 4, 3), optimize=True) * 4 + del tmp74 + tmp118 = tmp112.copy() * 0.5 + del tmp112 + tmp118 += tmp83 * 0.5 + tmp118 += tmp84 + rdm2.bbbb.vovo += einsum(delta.bb.oo, (0, 1), tmp118, (2, 3), (2, 1, 3, 0), optimize=True) * 2 + rdm2.bbbb.ovvo += einsum(delta.bb.oo, (0, 1), tmp118, (2, 3), (1, 2, 3, 0), optimize=True) * -2 + del tmp118 + tmp116 = tmp109.copy() * 0.5 + del tmp109 + tmp116 += tmp62 + tmp116 += tmp63 * 0.5 + rdm2.aaaa.vovo += einsum(tmp116, (0, 1), delta.aa.oo, (2, 3), (0, 3, 1, 2), optimize=True) * 2 + rdm2.aaaa.ovvo += einsum(tmp116, (0, 1), delta.aa.oo, (2, 3), (3, 0, 1, 2), optimize=True) * -2 + del tmp116 + tmp106 = einsum(t1.bb, (0, 1), tmp52, (0, 2, 3, 4), (2, 4, 3, 1), optimize=True) + rdm2.bbbb.oovv += einsum(tmp106, (0, 1, 2, 3), t1.bb, (0, 4), (1, 2, 4, 3), optimize=True) * 2 + del tmp106 + tmp96 = einsum(t2.bbbb, (0, 1, 2, 3), tmp95, (1, 4, 3, 5), (0, 4, 2, 5), optimize=True) + del tmp95 + rdm2.bbbb.oovv += tmp96 * 8 + rdm2.bbbb.oovv += tmp96.transpose((0, 1, 3, 2)) * -8 + del tmp96 + tmp104 = einsum(t1.bb, (0, 1), tmp8, (0, 2), (2, 1), optimize=True) + rdm2.bbbb.oovv += einsum(t1.bb, (0, 1), tmp104, (2, 3), (2, 0, 3, 1), optimize=True) * -1 + rdm2.bbbb.oovv += einsum(tmp104, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1), optimize=True) + rdm2.bbbb.oovv += einsum(tmp104, (0, 1), t1.bb, (2, 3), (2, 0, 1, 3), optimize=True) + rdm2.bbbb.oovv += einsum(tmp104, (0, 1), t1.bb, (2, 3), (2, 0, 3, 1), optimize=True) * -1 + del tmp104 + tmp103 = tmp39.copy() + tmp103 += tmp40 * 2 + tmp103 += tmp102 + del tmp102 + rdm2.bbbb.oovv += einsum(t1.bb, (0, 1), tmp103, (2, 3), (2, 0, 3, 1), optimize=True) * -1 + rdm2.bbbb.oovv += einsum(tmp103, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1), optimize=True) + rdm2.bbbb.oovv += einsum(t1.bb, (0, 1), tmp103, (2, 3), (0, 2, 3, 1), optimize=True) + rdm2.bbbb.oovv += einsum(tmp103, (0, 1), t1.bb, (2, 3), (2, 0, 3, 1), optimize=True) * -1 + del tmp103 + tmp94 = einsum(t2.abab, (0, 1, 2, 3), tmp93, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) + del tmp93 + rdm2.bbbb.oovv += tmp94.transpose((1, 0, 3, 2)) * 2 + rdm2.bbbb.oovv += tmp94.transpose((0, 1, 3, 2)) * -2 + del tmp94 + tmp108 = einsum(tmp107, (0, 1, 2, 3), t1.bb, (0, 4), (1, 2, 4, 3), optimize=True) + del tmp107 + rdm2.bbbb.oovv += tmp108.transpose((0, 1, 3, 2)) + rdm2.bbbb.oovv += tmp108.transpose((1, 0, 3, 2)) * -1 + rdm2.bbbb.oovv += tmp108 * -1 + rdm2.bbbb.oovv += tmp108.transpose((1, 0, 2, 3)) + del tmp108 + tmp105 = einsum(tmp15, (0, 1), t2.bbbb, (0, 2, 3, 4), (2, 1, 3, 4), optimize=True) * 2 + del tmp15 + rdm2.bbbb.oovv += tmp105.transpose((1, 0, 3, 2)) + rdm2.bbbb.oovv += tmp105.transpose((0, 1, 3, 2)) * -1 + del tmp105 + tmp48 = t1.bb.copy() * 0.5 + tmp48 += tmp35 * 0.5 + tmp48 += tmp36 + rdm2.bbbb.oovv += einsum(tmp48, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1), optimize=True) * -2 + rdm2.bbbb.ooov += einsum(delta.bb.oo, (0, 1), tmp48, (2, 3), (2, 1, 0, 3), optimize=True) * -2 + del tmp48 + tmp100 = einsum(tmp49, (0, 1, 2, 3), t1.bb, (0, 4), (1, 2, 4, 3), optimize=True) + del tmp49 + rdm2.bbbb.oovv += tmp100.transpose((0, 1, 3, 2)) * -2 + rdm2.bbbb.oovv += tmp100 * 2 + del tmp100 + tmp37 = t1.bb.copy() + tmp37 += tmp35 + tmp37 += tmp36 * 2 + rdm2.bbbb.oovv += einsum(tmp37, (0, 1), t1.bb, (2, 3), (2, 0, 3, 1), optimize=True) + rdm2.abab.oovv += einsum(t1.aa, (0, 1), tmp37, (2, 3), (0, 2, 1, 3), optimize=True) + rdm2.bbbb.oovo += einsum(tmp37, (0, 1), delta.bb.oo, (2, 3), (3, 0, 1, 2), optimize=True) * -1 + rdm2.bbbb.oovo += einsum(delta.bb.oo, (0, 1), tmp37, (2, 3), (2, 1, 3, 0), optimize=True) + rdm2.bbbb.ooov += einsum(tmp37, (0, 1), delta.bb.oo, (2, 3), (3, 0, 2, 1), optimize=True) + rdm2.abab.ooov += einsum(delta.aa.oo, (0, 1), tmp37, (2, 3), (1, 2, 0, 3), optimize=True) + del tmp37 + tmp98 = einsum(tmp97, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) + del tmp97 + rdm2.bbbb.oovv += tmp98.transpose((1, 0, 3, 2)) * 2 + rdm2.bbbb.oovv += tmp98 * 2 + rdm2.bbbb.oovv += tmp98.transpose((1, 0, 2, 3)) * -2 + rdm2.bbbb.oovv += tmp98.transpose((0, 1, 3, 2)) * -2 + del tmp98 + tmp99 = tmp35.copy() + del tmp35 + tmp99 += tmp36 * 2 + del tmp36 + rdm2.bbbb.oovv += einsum(t1.bb, (0, 1), tmp99, (2, 3), (0, 2, 3, 1), optimize=True) * -1 + rdm2.bbbb.oovv += einsum(t1.bb, (0, 1), tmp99, (2, 3), (2, 0, 3, 1), optimize=True) + del tmp99 + tmp92 = tmp83.copy() * 0.5 + del tmp83 + tmp92 += tmp84 + del tmp84 + rdm2.bbbb.oovv += einsum(t2.bbbb, (0, 1, 2, 3), tmp92, (2, 4), (1, 0, 3, 4), optimize=True) * -4 + del tmp92 + tmp64 = tmp62.copy() * 2 + del tmp62 + tmp64 += tmp63 + del tmp63 + rdm2.abab.oovv += einsum(tmp64, (0, 1), t2.abab, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) * -1 + rdm2.aaaa.oovv += einsum(t2.aaaa, (0, 1, 2, 3), tmp64, (2, 4), (1, 0, 3, 4), optimize=True) * -2 + del tmp64 + tmp90 = tmp44.copy() + del tmp44 + tmp90 += tmp43 + del tmp43 + rdm2.abab.oovv += einsum(t1.aa, (0, 1), tmp90, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) * -2 + del tmp90 + tmp56 = einsum(l1.bb, (0, 1), t2.abab, (2, 3, 4, 0), (2, 1, 3, 4), optimize=True) + rdm2.abab.oovv += einsum(tmp56, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 3, 4), optimize=True) * -1 + rdm2.abab.oovo += tmp56.transpose((0, 2, 3, 1)) * -1 + del tmp56 + tmp91 = tmp57.copy() + del tmp57 + tmp91 += tmp58 + del tmp58 + rdm2.abab.oovv += einsum(t1.bb, (0, 1), tmp91, (2, 0, 3, 4), (2, 3, 4, 1), optimize=True) * -2 + del tmp91 + tmp30 = tmp25.copy() * 2 + tmp30 += tmp27 + tmp30 += tmp29 + del tmp29 + rdm2.abab.oovv += einsum(tmp30, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3), optimize=True) * -1 + rdm2.abab.oovo += einsum(delta.bb.oo, (0, 1), tmp30, (2, 3), (2, 1, 3, 0), optimize=True) * -1 + rdm2.aaaa.ooov += einsum(tmp30, (0, 1), delta.aa.oo, (2, 3), (3, 0, 2, 1), optimize=True) * -1 + rdm2.aaaa.ooov += einsum(delta.aa.oo, (0, 1), tmp30, (2, 3), (2, 1, 0, 3), optimize=True) + del tmp30 + tmp47 = einsum(tmp13, (0, 1, 2, 3), t2.abab, (4, 1, 3, 5), (0, 4, 2, 5), optimize=True) + del tmp13 + rdm2.abab.oovv += einsum(tmp47, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3), optimize=True) + rdm2.abab.ooov += tmp47.transpose((1, 2, 0, 3)) + del tmp47 + tmp59 = einsum(tmp26, (0, 1, 2, 3), t2.abab, (0, 4, 5, 3), (1, 2, 4, 5), optimize=True) + del tmp26 + rdm2.abab.oovv += einsum(tmp59, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 3, 4), optimize=True) + rdm2.abab.oovo += tmp59.transpose((0, 2, 3, 1)) + del tmp59 + tmp38 = einsum(t2.abab, (0, 1, 2, 3), l1.aa, (2, 4), (4, 0, 1, 3), optimize=True) + rdm2.abab.oovv += einsum(t1.aa, (0, 1), tmp38, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) * -1 + rdm2.abab.ooov += tmp38.transpose((1, 2, 0, 3)) * -1 + del tmp38 + tmp46 = einsum(tmp45, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 3, 4), optimize=True) + del tmp45 + rdm2.abab.oovv += einsum(t1.aa, (0, 1), tmp46, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) + rdm2.abab.ooov += tmp46.transpose((1, 2, 0, 3)) + del tmp46 + tmp72 = tmp20.copy() * 2 + tmp72 += tmp21 + rdm2.abab.oovv += einsum(tmp72, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3), optimize=True) + rdm2.aaaa.oovv += einsum(tmp72, (0, 1), t1.aa, (2, 3), (2, 0, 1, 3), optimize=True) * -1 + rdm2.aaaa.oovv += einsum(tmp72, (0, 1), t1.aa, (2, 3), (0, 2, 1, 3), optimize=True) + del tmp72 + tmp42 = tmp39.copy() + tmp42 += tmp40 * 2 + tmp42 += tmp41 + del tmp41 + rdm2.abab.oovv += einsum(t1.aa, (0, 1), tmp42, (2, 3), (0, 2, 1, 3), optimize=True) * -1 + rdm2.bbbb.ooov += einsum(tmp42, (0, 1), delta.bb.oo, (2, 3), (3, 0, 2, 1), optimize=True) * -1 + rdm2.bbbb.ooov += einsum(delta.bb.oo, (0, 1), tmp42, (2, 3), (2, 1, 0, 3), optimize=True) + rdm2.abab.ooov += einsum(delta.aa.oo, (0, 1), tmp42, (2, 3), (1, 2, 0, 3), optimize=True) * -1 + del tmp42 + tmp71 = t1.aa.copy() + tmp71 += tmp20 * 2 + tmp71 += tmp21 + rdm2.aaaa.oovv += einsum(t1.aa, (0, 1), tmp71, (2, 3), (2, 0, 1, 3), optimize=True) * -1 + del tmp71 + tmp70 = einsum(tmp69, (0, 1, 2, 3), t2.abab, (4, 1, 5, 3), (0, 4, 2, 5), optimize=True) + del tmp69 + rdm2.aaaa.oovv += tmp70.transpose((1, 0, 3, 2)) * 2 + rdm2.aaaa.oovv += tmp70 * 2 + rdm2.aaaa.oovv += tmp70.transpose((1, 0, 2, 3)) * -2 + rdm2.aaaa.oovv += tmp70.transpose((0, 1, 3, 2)) * -2 + del tmp70 + tmp68 = einsum(t2.abab, (0, 1, 2, 3), tmp67, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) + del tmp67 + rdm2.aaaa.oovv += tmp68 * 2 + rdm2.aaaa.oovv += tmp68.transpose((0, 1, 3, 2)) * -2 + del tmp68 + tmp73 = einsum(t1.aa, (0, 1), tmp24, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) + del tmp24 + rdm2.aaaa.oovv += tmp73.transpose((0, 1, 3, 2)) * -2 + rdm2.aaaa.oovv += tmp73 * 2 + del tmp73 + tmp66 = einsum(tmp65, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 2), (4, 1, 5, 3), optimize=True) + del tmp65 + rdm2.aaaa.oovv += tmp66 * 8 + rdm2.aaaa.oovv += tmp66.transpose((0, 1, 3, 2)) * -8 + del tmp66 + tmp82 = einsum(t1.aa, (0, 1), tmp81, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) + del tmp81 + rdm2.aaaa.oovv += tmp82.transpose((0, 1, 3, 2)) + rdm2.aaaa.oovv += tmp82.transpose((1, 0, 3, 2)) * -1 + rdm2.aaaa.oovv += tmp82 * -1 + rdm2.aaaa.oovv += tmp82.transpose((1, 0, 2, 3)) + del tmp82 + tmp78 = einsum(t1.aa, (0, 1), tmp0, (0, 2), (2, 1), optimize=True) + rdm2.aaaa.oovv += einsum(tmp78, (0, 1), t1.aa, (2, 3), (0, 2, 1, 3), optimize=True) * -1 + rdm2.aaaa.oovv += einsum(tmp78, (0, 1), t1.aa, (2, 3), (0, 2, 3, 1), optimize=True) + rdm2.aaaa.oovv += einsum(tmp78, (0, 1), t1.aa, (2, 3), (2, 0, 1, 3), optimize=True) + rdm2.aaaa.oovv += einsum(t1.aa, (0, 1), tmp78, (2, 3), (0, 2, 1, 3), optimize=True) * -1 + del tmp78 + tmp80 = einsum(tmp33, (0, 1, 2, 3), t1.aa, (0, 4), (1, 3, 2, 4), optimize=True) + rdm2.aaaa.oovv += einsum(tmp80, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3), optimize=True) * 2 + del tmp80 + tmp79 = einsum(tmp4, (0, 1), t2.aaaa, (0, 2, 3, 4), (1, 2, 3, 4), optimize=True) * 2 + del tmp4 + rdm2.aaaa.oovv += tmp79.transpose((0, 1, 3, 2)) + rdm2.aaaa.oovv += tmp79.transpose((1, 0, 3, 2)) * -1 + del tmp79 + tmp77 = tmp25.copy() + tmp77 += tmp27 * 0.5 + tmp77 += tmp76 + del tmp76 + rdm2.aaaa.oovv += einsum(tmp77, (0, 1), t1.aa, (2, 3), (0, 2, 1, 3), optimize=True) * -2 + rdm2.aaaa.oovv += einsum(tmp77, (0, 1), t1.aa, (2, 3), (0, 2, 3, 1), optimize=True) * 2 + rdm2.aaaa.oovv += einsum(tmp77, (0, 1), t1.aa, (2, 3), (2, 0, 1, 3), optimize=True) * 2 + rdm2.aaaa.oovv += einsum(tmp77, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1), optimize=True) * -2 + del tmp77 + tmp23 = t1.aa.copy() + tmp23 += tmp20 * 2 + tmp23 += tmp21 + rdm2.aaaa.oovv += einsum(t1.aa, (0, 1), tmp23, (2, 3), (0, 2, 1, 3), optimize=True) + rdm2.abab.oovo += einsum(delta.bb.oo, (0, 1), tmp23, (2, 3), (2, 1, 3, 0), optimize=True) + rdm2.aaaa.oovo += einsum(tmp23, (0, 1), delta.aa.oo, (2, 3), (3, 0, 1, 2), optimize=True) * -1 + rdm2.aaaa.oovo += einsum(tmp23, (0, 1), delta.aa.oo, (2, 3), (0, 3, 1, 2), optimize=True) + rdm2.aaaa.ooov += einsum(tmp23, (0, 1), delta.aa.oo, (2, 3), (3, 0, 2, 1), optimize=True) + del tmp23 + tmp16 = tmp8.copy() * 0.5 + tmp16 += tmp9 * 0.5 + tmp16 += tmp10 + rdm2.bbbb.oovo += einsum(tmp16, (0, 1), t1.bb, (2, 3), (2, 1, 3, 0), optimize=True) * -2 + rdm2.bbbb.oovo += einsum(t1.bb, (0, 1), tmp16, (2, 3), (3, 0, 1, 2), optimize=True) * 2 + rdm2.bbbb.oooo += einsum(tmp16, (0, 1), delta.bb.oo, (2, 3), (3, 1, 0, 2), optimize=True) * 2 + del tmp16 + tmp61 = tmp39.copy() * 0.5 + del tmp39 + tmp61 += tmp40 + del tmp40 + tmp61 += tmp60 + del tmp60 + rdm2.bbbb.oovo += einsum(delta.bb.oo, (0, 1), tmp61, (2, 3), (1, 2, 3, 0), optimize=True) * 2 + rdm2.bbbb.oovo += einsum(tmp61, (0, 1), delta.bb.oo, (2, 3), (0, 3, 1, 2), optimize=True) * -2 + del tmp61 + tmp53 = einsum(tmp52, (0, 1, 2, 3), t1.bb, (0, 4), (1, 2, 3, 4), optimize=True) * 2 + del tmp52 + rdm2.bbbb.oovo += tmp53.transpose((2, 1, 3, 0)) * -1 + rdm2.bbbb.ooov += tmp53.transpose((2, 1, 0, 3)) + del tmp53 + tmp34 = einsum(tmp33, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 3, 4), optimize=True) * 2 + del tmp33 + rdm2.aaaa.oovo += tmp34.transpose((2, 1, 3, 0)) * -1 + rdm2.aaaa.ooov += tmp34.transpose((2, 1, 0, 3)) + del tmp34 + tmp55 = tmp25.copy() + del tmp25 + tmp55 += tmp27 * 0.5 + del tmp27 + tmp55 += tmp54 + del tmp54 + rdm2.aaaa.oovo += einsum(tmp55, (0, 1), delta.aa.oo, (2, 3), (3, 0, 1, 2), optimize=True) * 2 + rdm2.aaaa.oovo += einsum(delta.aa.oo, (0, 1), tmp55, (2, 3), (2, 1, 3, 0), optimize=True) * -2 + del tmp55 + tmp22 = t1.aa.copy() * 0.5 + tmp22 += tmp20 + del tmp20 + tmp22 += tmp21 * 0.5 + del tmp21 + rdm2.aaaa.ooov += einsum(delta.aa.oo, (0, 1), tmp22, (2, 3), (2, 1, 0, 3), optimize=True) * -2 + del tmp22 + tmp11 = delta.bb.oo.transpose((1, 0)).copy() * -1 + tmp11 += tmp8 + del tmp8 + tmp11 += tmp9 + del tmp9 + tmp11 += tmp10 * 2 + del tmp10 + rdm2.bbbb.oooo += einsum(delta.bb.oo, (0, 1), tmp11, (2, 3), (3, 1, 0, 2), optimize=True) + rdm2.bbbb.oooo += einsum(delta.bb.oo, (0, 1), tmp11, (2, 3), (1, 3, 0, 2), optimize=True) * -1 + rdm2.abab.oooo += einsum(tmp11, (0, 1), delta.aa.oo, (2, 3), (3, 1, 2, 0), optimize=True) * -1 + del tmp11 + tmp3 = delta.aa.oo.transpose((1, 0)).copy() * -1 + tmp3 += tmp0 + del tmp0 + tmp3 += tmp1 * 2 + del tmp1 + tmp3 += tmp2 + del tmp2 + rdm2.aaaa.oooo += einsum(delta.aa.oo, (0, 1), tmp3, (2, 3), (3, 1, 0, 2), optimize=True) + rdm2.aaaa.oooo += einsum(tmp3, (0, 1), delta.aa.oo, (2, 3), (3, 1, 2, 0), optimize=True) * -1 + del tmp3 + rdm2.aaaa.ovoo += einsum(delta.aa.oo, (0, 1), l1.aa, (2, 3), (1, 2, 3, 0), optimize=True) * -1 + rdm2.aaaa.ovoo += einsum(l1.aa, (0, 1), delta.aa.oo, (2, 3), (3, 0, 2, 1), optimize=True) + rdm2.abab.ovoo += einsum(l1.bb, (0, 1), delta.aa.oo, (2, 3), (3, 0, 2, 1), optimize=True) + rdm2.bbbb.ovoo += einsum(delta.bb.oo, (0, 1), l1.bb, (2, 3), (1, 2, 3, 0), optimize=True) * -1 + rdm2.bbbb.ovoo += einsum(delta.bb.oo, (0, 1), l1.bb, (2, 3), (1, 2, 0, 3), optimize=True) + rdm2.aaaa.vooo += einsum(delta.aa.oo, (0, 1), l1.aa, (2, 3), (2, 1, 3, 0), optimize=True) + rdm2.aaaa.vooo += einsum(l1.aa, (0, 1), delta.aa.oo, (2, 3), (0, 3, 2, 1), optimize=True) * -1 + rdm2.abab.vooo += einsum(delta.bb.oo, (0, 1), l1.aa, (2, 3), (2, 1, 3, 0), optimize=True) + rdm2.bbbb.vooo += einsum(delta.bb.oo, (0, 1), l1.bb, (2, 3), (2, 1, 3, 0), optimize=True) + rdm2.bbbb.vooo += einsum(delta.bb.oo, (0, 1), l1.bb, (2, 3), (2, 1, 0, 3), optimize=True) * -1 + del delta + rdm2.aaaa.oovv += t2.aaaa.transpose((1, 0, 3, 2)) * 2 + rdm2.abab.oovv += t2.abab + rdm2.bbbb.oovv += t2.bbbb.transpose((1, 0, 3, 2)) * 2 + rdm2.aaaa.ovov += einsum(t1.aa, (0, 1), l1.aa, (2, 3), (0, 2, 3, 1), optimize=True) * -1 + rdm2.bbbb.ovov += einsum(t1.bb, (0, 1), l1.bb, (2, 3), (0, 2, 3, 1), optimize=True) * -1 + rdm2.aaaa.ovvo += einsum(t1.aa, (0, 1), l1.aa, (2, 3), (0, 2, 1, 3), optimize=True) + rdm2.abab.ovvo += einsum(t1.aa, (0, 1), l1.bb, (2, 3), (0, 2, 1, 3), optimize=True) + rdm2.bbbb.ovvo += einsum(t1.bb, (0, 1), l1.bb, (2, 3), (0, 2, 1, 3), optimize=True) + rdm2.aaaa.voov += einsum(t1.aa, (0, 1), l1.aa, (2, 3), (2, 0, 3, 1), optimize=True) + rdm2.abab.voov += einsum(l1.aa, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3), optimize=True) + rdm2.bbbb.voov += einsum(t1.bb, (0, 1), l1.bb, (2, 3), (2, 0, 3, 1), optimize=True) + rdm2.aaaa.vovo += einsum(t1.aa, (0, 1), l1.aa, (2, 3), (2, 0, 1, 3), optimize=True) * -1 + rdm2.bbbb.vovo += einsum(t1.bb, (0, 1), l1.bb, (2, 3), (2, 0, 1, 3), optimize=True) * -1 + rdm2.aaaa.vvoo = l2.aaaa.transpose((1, 0, 3, 2)).copy() * 2 + rdm2.abab.vvoo = l2.abab.copy() + rdm2.bbbb.vvoo = l2.bbbb.transpose((1, 0, 3, 2)).copy() * 2 + rdm2.abab.ovvv += einsum(t2.abab, (0, 1, 2, 3), l1.bb, (4, 1), (0, 4, 2, 3), optimize=True) + rdm2.abab.vovv += einsum(l1.aa, (0, 1), t2.abab, (1, 2, 3, 4), (0, 2, 3, 4), optimize=True) + rdm2.abab.vvvo = einsum(l2.abab, (0, 1, 2, 3), t1.aa, (2, 4), (0, 1, 4, 3), optimize=True) + rdm2.aaaa.vvvv += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (2, 3, 4, 5), (1, 0, 5, 4), optimize=True) * 2 + rdm2.abab.vvvv += einsum(t2.abab, (0, 1, 2, 3), l2.abab, (4, 5, 0, 1), (4, 5, 2, 3), optimize=True) + rdm2.bbbb.vvvv += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (2, 3, 4, 5), (1, 0, 5, 4), optimize=True) * 2 + rdm2.aaaa = pack_2e(rdm2.aaaa.oooo, rdm2.aaaa.ooov, rdm2.aaaa.oovo, rdm2.aaaa.ovoo, rdm2.aaaa.vooo, rdm2.aaaa.oovv, rdm2.aaaa.ovov, rdm2.aaaa.ovvo, rdm2.aaaa.voov, rdm2.aaaa.vovo, rdm2.aaaa.vvoo, rdm2.aaaa.ovvv, rdm2.aaaa.vovv, rdm2.aaaa.vvov, rdm2.aaaa.vvvo, rdm2.aaaa.vvvv) + rdm2.abab = pack_2e(rdm2.abab.oooo, rdm2.abab.ooov, rdm2.abab.oovo, rdm2.abab.ovoo, rdm2.abab.vooo, rdm2.abab.oovv, rdm2.abab.ovov, rdm2.abab.ovvo, rdm2.abab.voov, rdm2.abab.vovo, rdm2.abab.vvoo, rdm2.abab.ovvv, rdm2.abab.vovv, rdm2.abab.vvov, rdm2.abab.vvvo, rdm2.abab.vvvv) + rdm2.bbbb = pack_2e(rdm2.bbbb.oooo, rdm2.bbbb.ooov, rdm2.bbbb.oovo, rdm2.bbbb.ovoo, rdm2.bbbb.vooo, rdm2.bbbb.oovv, rdm2.bbbb.ovov, rdm2.bbbb.ovvo, rdm2.bbbb.voov, rdm2.bbbb.vovo, rdm2.bbbb.vvoo, rdm2.bbbb.ovvv, rdm2.bbbb.vovv, rdm2.bbbb.vvov, rdm2.bbbb.vvvo, rdm2.bbbb.vvvv) + rdm2 = Namespace( + aaaa=rdm2.aaaa.swapaxes(1, 2), + aabb=rdm2.abab.swapaxes(1, 2), + bbbb=rdm2.bbbb.swapaxes(1, 2), + ) + + return rdm2 + diff --git a/ebcc/codegen/bootstrap_CCD.py b/ebcc/codegen/bootstrap_CCD.py index e6ac442e..f6a0f258 100644 --- a/ebcc/codegen/bootstrap_CCD.py +++ b/ebcc/codegen/bootstrap_CCD.py @@ -7,6 +7,7 @@ import pdaggerq from albert.qc._pdaggerq import import_from_pdaggerq from albert.tensor import Tensor +from albert.algebra import Mul from ebcc.codegen.bootstrap_common import * @@ -74,7 +75,7 @@ expr_n = import_from_pdaggerq(terms, index_spins=index_spins) expr_n = spin_integrate(expr_n, spin) output_n = get_t_amplitude_outputs(expr_n, f"t2new") - returns_n = (Tensor(*indices, name=f"t2new"),) + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"t2new"),) expr.extend(expr_n) output.extend(output_n) returns.extend(returns_n) @@ -121,7 +122,7 @@ expr_n = import_from_pdaggerq(terms, index_spins=index_spins) expr_n = spin_integrate(expr_n, spin) output_n = get_l_amplitude_outputs(expr_n, f"l2new") - returns_n = (Tensor(*indices, name=f"l2new"),) + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"l2new"),) expr.extend(expr_n) output.extend(output_n) returns.extend(returns_n) @@ -161,22 +162,36 @@ for sectors, indices in [("oo", "ij"), ("ov", "ia"), ("vo", "ai"), ("vv", "ab")]: for index_spins in get_density_spins(1, spin, indices): expr_n = import_from_pdaggerq(terms[sectors, indices], index_spins=index_spins) - expr_n = spin_integrate(expr_n, spin) - if spin == "rhf": - expr_n = tuple(e * 2 for e in expr_n) - output_n = get_density_outputs(expr_n, f"d", indices) - returns_n = (Tensor(*indices, name=f"d"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) + if not (isinstance(expr_n, int) and expr_n == 0): + expr_n = spin_integrate(expr_n, spin) + if spin == "rhf": + expr_n = tuple(e * 2 for e in expr_n) + output_n = get_density_outputs(expr_n, f"d", indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i], space=s) for i, s in zip(indices, sectors)), name=f"d"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) output, expr = optimise(output, expr, spin, strategy="exhaust") # Generate the 1RDM code for name, codegen in code_generators.items(): if name == "einsum": + def get_postamble(n, spin, name="rdm{n}"): + nm = name.format(n=n) + postamble = "" + if spin != "uhf": + for occ in ("ov", "vo"): + shape = ", ".join(f"t2.shape[{'0' if o == 'o' else '-1'}]" for o in occ) + postamble += f"{nm}.{occ} = np.zeros(({shape}))\n" + else: + for s in "ab": + for occ in ("oo", "vv"): + shape = ", ".join(f"t2.{ss}{ss}.shape[{'0' if o == 'o' else '-1'}]" for ss, o in zip(s+s, occ)) + postamble += f"{nm}.{s}{s}.{occ} = np.zeros(({shape}))\n" + return postamble + get_density_einsum_postamble(n, spin) kwargs = { "preamble": get_density_einsum_preamble(1, spin), - "postamble": get_density_einsum_postamble(1, spin), + "postamble": get_postamble(1, spin), } else: kwargs = {} @@ -241,20 +256,35 @@ ]: for index_spins in get_density_spins(2, spin, indices): expr_n = import_from_pdaggerq(terms[sectors, indices], index_spins=index_spins) - expr_n = spin_integrate(expr_n, spin) - output_n = get_density_outputs(expr_n, f"Γ", indices) - returns_n = (Tensor(*indices, name=f"Γ"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) + if not (isinstance(expr_n, int) and expr_n == 0): + expr_n = spin_integrate(expr_n, spin) + output_n = get_density_outputs(expr_n, f"Γ", indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i], space=s) for i, s in zip(indices, sectors)), name=f"Γ"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) output, expr = optimise(output, expr, spin, strategy="trav") # Generate the 2RDM code for name, codegen in code_generators.items(): if name == "einsum": + def get_postamble(n, spin, name="rdm{n}"): + nm = name.format(n=n) + postamble = "" + if spin != "uhf": + for occ in ("ooov", "oovo", "ovoo", "vooo", "ovvv", "vovv", "vvov", "vvvo"): + shape = ", ".join(f"t2.shape[{'0' if o == 'o' else '-1'}]" for o in occ) + postamble += f"{nm}.{occ} = np.zeros(({shape}))\n" + else: + for s1 in "ab": + for s2 in "ab": + for occ in ("ooov", "oovo", "ovoo", "vooo", "ovvv", "vovv", "vvov", "vvvo"): + shape = ", ".join(f"t2.{s}{s}{s}{s}.shape[{'0' if o == 'o' else '-1'}]" for o, s in zip(occ, s1+s1+s2+s2)) + postamble += f"{nm}.{s1}{s1}{s2}{s2}.{occ} = np.zeros(({shape}))\n" + return postamble + get_density_einsum_postamble(n, spin) kwargs = { "preamble": get_density_einsum_preamble(2, spin), - "postamble": get_density_einsum_postamble(2, spin), + "postamble": get_postamble(2, spin), } codegen( "make_rdm2_f", diff --git a/ebcc/codegen/bootstrap_CCSD.py b/ebcc/codegen/bootstrap_CCSD.py index 9ddc811f..0b930f29 100644 --- a/ebcc/codegen/bootstrap_CCSD.py +++ b/ebcc/codegen/bootstrap_CCSD.py @@ -7,6 +7,7 @@ import pdaggerq from albert.qc._pdaggerq import import_from_pdaggerq from albert.tensor import Tensor +from albert.qc.index import Index from ebcc.codegen.bootstrap_common import * @@ -84,7 +85,7 @@ expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) expr_n = spin_integrate(expr_n, spin) output_n = get_t_amplitude_outputs(expr_n, f"t{n+1}new") - returns_n = (Tensor(*indices, name=f"t{n+1}new"),) + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"t{n+1}new"),) expr.extend(expr_n) output.extend(output_n) returns.extend(returns_n) @@ -147,7 +148,7 @@ expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) expr_n = spin_integrate(expr_n, spin) output_n = get_l_amplitude_outputs(expr_n, f"l{n+1}new") - returns_n = (Tensor(*indices, name=f"l{n+1}new"),) + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"l{n+1}new"),) expr.extend(expr_n) output.extend(output_n) returns.extend(returns_n) @@ -191,7 +192,7 @@ if spin == "rhf": expr_n = tuple(e * 2 for e in expr_n) output_n = get_density_outputs(expr_n, f"d", indices) - returns_n = (Tensor(*indices, name=f"d"),) + returns_n = (Tensor(*tuple(Index(i, index_spins[i], space=s) for i, s in zip(indices, sectors)), name=f"d"),) expr.extend(expr_n) output.extend(output_n) returns.extend(returns_n) @@ -269,7 +270,7 @@ expr_n = import_from_pdaggerq(terms[sectors, indices], index_spins=index_spins) expr_n = spin_integrate(expr_n, spin) output_n = get_density_outputs(expr_n, f"Γ", indices) - returns_n = (Tensor(*indices, name=f"Γ"),) + returns_n = (Tensor(*tuple(Index(i, index_spins[i], space=s) for i, s in zip(indices, sectors)), name=f"Γ"),) expr.extend(expr_n) output.extend(output_n) returns.extend(returns_n) diff --git a/ebcc/codegen/bootstrap_DFCCD.py b/ebcc/codegen/bootstrap_DFCCD.py new file mode 100644 index 00000000..c578f425 --- /dev/null +++ b/ebcc/codegen/bootstrap_DFCCD.py @@ -0,0 +1,305 @@ +""" +Generate the DF-CCD code. +""" + +import sys + +import pdaggerq +from albert.qc._pdaggerq import import_from_pdaggerq +from albert.tensor import Tensor + +from ebcc.codegen.bootstrap_common import * + +# Get the spin case +spin = sys.argv[1] +if spin == "ghf": + raise NotImplementedError + +# Set up the code generators +code_generators = { + "einsum": EinsumCodeGen( + stdout=open(f"{spin[0].upper()}DFCCD.py", "w"), + name_generator=name_generators[spin], + spin=spin, + ), +} + +# Write the preamble +for codegen in code_generators.values(): + codegen.preamble() + +# Set up pdaggerq +pq = pdaggerq.pq_helper("fermi") +pq.set_print_level(0) + +with Stopwatch("Energy"): + # Get the energy contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["1"]]) + pq.add_st_operator(1.0, ["f"], ["t2"]) + pq.add_st_operator(1.0, ["v"], ["t2"]) + pq.simplify() + terms = pq.fully_contracted_strings() + terms = remove_hf_energy(terms) + + # Get the energy in albert format + expr = import_from_pdaggerq(terms) + expr = spin_integrate(expr, spin) + expr = tuple(e.apply(get_density_fit()) for e in expr) + output = tuple(Tensor(name="e_cc") for _ in range(len(expr))) + output, expr = optimise(output, expr, spin, strategy="exhaust") + returns = (Tensor(name="e_cc"),) + + # Generate the energy code + for codegen in code_generators.values(): + codegen( + "energy", + returns, + output, + expr, + ) + +with Stopwatch("T amplitudes"): + # Get the T2 contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["e2(i,j,b,a)"]]) + pq.add_st_operator(1.0, ["f"], ["t2"]) + pq.add_st_operator(1.0, ["v"], ["t2"]) + pq.simplify() + terms = pq.fully_contracted_strings() + + # Get the T amplitudes in albert format + expr = [] + output = [] + returns = [] + for index_spins in get_amplitude_spins(2, spin): + indices = default_indices["o"][: 2] + default_indices["v"][: 2] + expr_n = import_from_pdaggerq(terms, index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + expr_n = tuple(e.apply(get_density_fit()) for e in expr_n) + output_n = get_t_amplitude_outputs(expr_n, f"t2new") + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"t2new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + output, expr = optimise(output, expr, spin, strategy="exhaust") + + # Generate the T amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "preamble": "t1new = Namespace()\nt2new = Namespace()" if spin == "uhf" else None, + "as_dict": True, + } + else: + kwargs = {} + codegen( + "update_amps", + returns, + output, + expr, + **kwargs, + ) + +with Stopwatch("L amplitudes"): + # Get the L2 contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["1"]]) + pq.set_right_operators([["1"]]) + pq.add_st_operator(1.0, ["f", "e2(a,b,j,i)"], ["t2"]) + pq.add_st_operator(1.0, ["v", "e2(a,b,j,i)"], ["t2"]) + pq.set_left_operators([["l2"]]) + pq.add_st_operator(1.0, ["f", "e2(a,b,j,i)"], ["t2"]) + pq.add_st_operator(1.0, ["v", "e2(a,b,j,i)"], ["t2"]) + pq.add_st_operator(-1.0, ["e2(a,b,j,i)", "f"], ["t2"]) + pq.add_st_operator(-1.0, ["e2(a,b,j,i)", "v"], ["t2"]) + pq.simplify() + terms = pq.fully_contracted_strings() + + # Get the L amplitudes in albert format + expr = [] + output = [] + returns = [] + for index_spins in get_amplitude_spins(2, spin): + indices = default_indices["v"][: 2] + default_indices["o"][: 2] + expr_n = import_from_pdaggerq(terms, index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + expr_n = tuple(e.apply(get_density_fit()) for e in expr_n) + output_n = get_l_amplitude_outputs(expr_n, f"l2new") + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"l2new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + output, expr = optimise(output, expr, spin, strategy="opt") + + # Generate the L amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "preamble": "l1new = Namespace()\nl2new = Namespace()" if spin == "uhf" else None, + "as_dict": True, + } + else: + kwargs = {} + codegen( + "update_lams", + returns, + output, + expr, + **kwargs, + ) + +with Stopwatch("1RDM"): + # Get the 1RDM contractions in pdaggerq format + terms = {} + for sectors, indices in [("oo", "ij"), ("ov", "ia"), ("vo", "ai"), ("vv", "ab")]: + pq.clear() + pq.set_left_operators([["1"], ["l2"]]) + pq.add_st_operator(1.0, [f"e1({','.join(indices)})"], ["t2"]) + pq.simplify() + terms[sectors, indices] = pq.fully_contracted_strings() + + # Get the 1RDM in albert format + expr = [] + output = [] + returns = [] + for sectors, indices in [("oo", "ij"), ("ov", "ia"), ("vo", "ai"), ("vv", "ab")]: + for index_spins in get_density_spins(1, spin, indices): + expr_n = import_from_pdaggerq(terms[sectors, indices], index_spins=index_spins) + if not (isinstance(expr_n, int) and expr_n == 0): + expr_n = spin_integrate(expr_n, spin) + if spin == "rhf": + expr_n = tuple(e * 2 for e in expr_n) + expr_n = tuple(e.apply(get_density_fit()) for e in expr_n) + output_n = get_density_outputs(expr_n, f"d", indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i], space=s) for i, s in zip(indices, sectors)), name=f"d"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + output, expr = optimise(output, expr, spin, strategy="exhaust") + + # Generate the 1RDM code + for name, codegen in code_generators.items(): + if name == "einsum": + def get_postamble(n, spin, name="rdm{n}"): + nm = name.format(n=n) + postamble = "" + if spin != "uhf": + for occ in ("ov", "vo"): + shape = ", ".join(f"t2.shape[{'0' if o == 'o' else '-1'}]" for o in occ) + postamble += f"{nm}.{occ} = np.zeros(({shape}))\n" + else: + for s in "ab": + for occ in ("oo", "vv"): + shape = ", ".join(f"t2.{ss}{ss}.shape[{'0' if o == 'o' else '-1'}]" for ss, o in zip(s+s, occ)) + postamble += f"{nm}.{s}{s}.{occ} = np.zeros(({shape}))\n" + return postamble + get_density_einsum_postamble(n, spin) + kwargs = { + "preamble": get_density_einsum_preamble(1, spin), + "postamble": get_postamble(1, spin), + } + else: + kwargs = {} + codegen( + "make_rdm1_f", + returns, + output, + expr, + **kwargs, + ) + +with Stopwatch("2RDM"): + # Get the 2RDM contractions in pdaggerq format + terms = {} + for sectors, indices in [ + ("oooo", "ijkl"), + ("ooov", "ijka"), + ("oovo", "ijak"), + ("ovoo", "iajk"), + ("vooo", "aijk"), + ("oovv", "ijab"), + ("ovov", "iajb"), + ("ovvo", "iabj"), + ("voov", "aijb"), + ("vovo", "aibj"), + ("vvoo", "abij"), + ("ovvv", "iabc"), + ("vovv", "aibc"), + ("vvov", "abic"), + ("vvvo", "abci"), + ("vvvv", "abcd"), + ]: + pq.clear() + pq.set_left_operators([["1"], ["l2"]]) + pq.add_st_operator( + 1.0, [f"e2({indices[0]},{indices[1]},{indices[3]},{indices[2]})"], ["t2"] + ) + pq.simplify() + terms[sectors, indices] = pq.fully_contracted_strings() + + # Get the 2RDM in albert format + expr = [] + output = [] + returns = [] + for sectors, indices in [ + ("oooo", "ijkl"), + ("ooov", "ijka"), + ("oovo", "ijak"), + ("ovoo", "iajk"), + ("vooo", "aijk"), + ("oovv", "ijab"), + ("ovov", "iajb"), + ("ovvo", "iabj"), + ("voov", "aijb"), + ("vovo", "aibj"), + ("vvoo", "abij"), + ("ovvv", "iabc"), + ("vovv", "aibc"), + ("vvov", "abic"), + ("vvvo", "abci"), + ("vvvv", "abcd"), + ]: + for index_spins in get_density_spins(2, spin, indices): + expr_n = import_from_pdaggerq(terms[sectors, indices], index_spins=index_spins) + if not (isinstance(expr_n, int) and expr_n == 0): + expr_n = spin_integrate(expr_n, spin) + expr_n = tuple(e.apply(get_density_fit()) for e in expr_n) + output_n = get_density_outputs(expr_n, f"Γ", indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i], space=s) for i, s in zip(indices, sectors)), name=f"Γ"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + output, expr = optimise(output, expr, spin, strategy="trav") + + # Generate the 2RDM code + for name, codegen in code_generators.items(): + if name == "einsum": + def get_postamble(n, spin, name="rdm{n}"): + nm = name.format(n=n) + postamble = "" + if spin != "uhf": + for occ in ("ooov", "oovo", "ovoo", "vooo", "ovvv", "vovv", "vvov", "vvvo"): + shape = ", ".join(f"t2.shape[{'0' if o == 'o' else '-1'}]" for o in occ) + postamble += f"{nm}.{occ} = np.zeros(({shape}))\n" + else: + for s1 in "ab": + for s2 in "ab": + for occ in ("ooov", "oovo", "ovoo", "vooo", "ovvv", "vovv", "vvov", "vvvo"): + shape = ", ".join(f"t2.{s}{s}{s}{s}.shape[{'0' if o == 'o' else '-1'}]" for o, s in zip(occ, s1+s1+s2+s2)) + postamble += f"{nm}.{s1}{s1}{s2}{s2}.{occ} = np.zeros(({shape}))\n" + return postamble + get_density_einsum_postamble(n, spin) + kwargs = { + "preamble": get_density_einsum_preamble(2, spin), + "postamble": get_postamble(2, spin), + } + codegen( + "make_rdm2_f", + returns, + output, + expr, + **kwargs, + ) + +for codegen in code_generators.values(): + codegen.postamble() + codegen.stdout.close() diff --git a/ebcc/codegen/bootstrap_DFCCSD.py b/ebcc/codegen/bootstrap_DFCCSD.py new file mode 100644 index 00000000..112b73dd --- /dev/null +++ b/ebcc/codegen/bootstrap_DFCCSD.py @@ -0,0 +1,304 @@ +""" +Generate the DF-CCSD code. +""" + +import sys + +import pdaggerq +from albert.qc._pdaggerq import import_from_pdaggerq +from albert.tensor import Tensor + +from ebcc.codegen.bootstrap_common import * + +# Get the spin case +spin = sys.argv[1] +if spin == "ghf": + raise NotImplementedError + +# Set up the code generators +code_generators = { + "einsum": EinsumCodeGen( + stdout=open(f"{spin[0].upper()}DFCCSD.py", "w"), + name_generator=name_generators[spin], + spin=spin, + ), +} + +# Write the preamble +for codegen in code_generators.values(): + codegen.preamble() + +# Set up pdaggerq +pq = pdaggerq.pq_helper("fermi") +pq.set_print_level(0) + +with Stopwatch("Energy"): + # Get the energy contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["1"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) + pq.simplify() + terms = pq.fully_contracted_strings() + terms = remove_hf_energy(terms) + + # Get the energy in albert format + expr = import_from_pdaggerq(terms) + expr = spin_integrate(expr, spin) + expr = tuple(e.apply(get_density_fit()) for e in expr) + output = tuple(Tensor(name="e_cc") for _ in range(len(expr))) + output, expr = optimise(output, expr, spin, strategy="exhaust") + returns = (Tensor(name="e_cc"),) + + # Generate the energy code + for codegen in code_generators.values(): + codegen( + "energy", + returns, + output, + expr, + ) + +with Stopwatch("T amplitudes"): + # Get the T1 contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["e1(i,a)"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) + pq.simplify() + terms_t1 = pq.fully_contracted_strings() + + # Get the T2 contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["e2(i,j,b,a)"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) + pq.simplify() + terms_t2 = pq.fully_contracted_strings() + + # Get the T amplitudes in albert format + terms = [terms_t1, terms_t2] + expr = [] + output = [] + returns = [] + for n in range(2): + for index_spins in get_amplitude_spins(n + 1, spin): + indices = default_indices["o"][: n + 1] + default_indices["v"][: n + 1] + indices = tuple(Index(i, index_spins[i]) for i in indices) + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + expr_n = tuple(e.apply(get_density_fit()) for e in expr_n) + output_n = get_t_amplitude_outputs(expr_n, f"t{n+1}new") + returns_n = (Tensor(*indices, name=f"t{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + output, expr = optimise(output, expr, spin, strategy="exhaust") + + # Generate the T amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "preamble": "t1new = Namespace()\nt2new = Namespace()" if spin == "uhf" else None, + "as_dict": True, + } + else: + kwargs = {} + codegen( + "update_amps", + returns, + output, + expr, + **kwargs, + ) + +with Stopwatch("L amplitudes"): + # Get the L1 contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["1"]]) + pq.set_right_operators([["1"]]) + pq.add_st_operator(1.0, ["f", "e1(a,i)"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v", "e1(a,i)"], ["t1", "t2"]) + pq.set_left_operators([["l1"], ["l2"]]) + pq.add_st_operator(1.0, ["f", "e1(a,i)"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v", "e1(a,i)"], ["t1", "t2"]) + pq.add_st_operator(-1.0, ["e1(a,i)", "f"], ["t1", "t2"]) + pq.add_st_operator(-1.0, ["e1(a,i)", "v"], ["t1", "t2"]) + pq.simplify() + terms_l1 = pq.fully_contracted_strings() + + # Get the L2 contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["1"]]) + pq.set_right_operators([["1"]]) + pq.add_st_operator(1.0, ["f", "e2(a,b,j,i)"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v", "e2(a,b,j,i)"], ["t1", "t2"]) + pq.set_left_operators([["l1"], ["l2"]]) + pq.add_st_operator(1.0, ["f", "e2(a,b,j,i)"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v", "e2(a,b,j,i)"], ["t1", "t2"]) + pq.add_st_operator(-1.0, ["e2(a,b,j,i)", "f"], ["t1", "t2"]) + pq.add_st_operator(-1.0, ["e2(a,b,j,i)", "v"], ["t1", "t2"]) + pq.simplify() + terms_l2 = pq.fully_contracted_strings() + + # Get the L amplitudes in albert format + terms = [terms_l1, terms_l2] + expr = [] + output = [] + returns = [] + for n in range(2): + for index_spins in get_amplitude_spins(n + 1, spin): + indices = default_indices["v"][: n + 1] + default_indices["o"][: n + 1] + indices = tuple(Index(i, index_spins[i]) for i in indices) + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + expr_n = tuple(e.apply(get_density_fit()) for e in expr_n) + output_n = get_l_amplitude_outputs(expr_n, f"l{n+1}new") + returns_n = (Tensor(*indices, name=f"l{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + output, expr = optimise(output, expr, spin, strategy="opt") + + # Generate the L amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "preamble": "l1new = Namespace()\nl2new = Namespace()" if spin == "uhf" else None, + "as_dict": True, + } + else: + kwargs = {} + codegen( + "update_lams", + returns, + output, + expr, + **kwargs, + ) + +with Stopwatch("1RDM"): + # Get the 1RDM contractions in pdaggerq format + terms = {} + for sectors, indices in [("oo", "ij"), ("ov", "ia"), ("vo", "ai"), ("vv", "ab")]: + pq.clear() + pq.set_left_operators([["1"], ["l1"], ["l2"]]) + pq.add_st_operator(1.0, [f"e1({','.join(indices)})"], ["t1", "t2"]) + pq.simplify() + terms[sectors, indices] = pq.fully_contracted_strings() + + # Get the 1RDM in albert format + expr = [] + output = [] + returns = [] + for sectors, indices in [("oo", "ij"), ("ov", "ia"), ("vo", "ai"), ("vv", "ab")]: + for index_spins in get_density_spins(1, spin, indices): + expr_n = import_from_pdaggerq(terms[sectors, indices], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + if spin == "rhf": + expr_n = tuple(e * 2 for e in expr_n) + expr_n = tuple(e.apply(get_density_fit()) for e in expr_n) + output_n = get_density_outputs(expr_n, f"d", indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i], space=s) for i, s in zip(indices, sectors)), name=f"d"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + output, expr = optimise(output, expr, spin, strategy="exhaust") + + # Generate the 1RDM code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "preamble": get_density_einsum_preamble(1, spin), + "postamble": get_density_einsum_postamble(1, spin), + } + else: + kwargs = {} + codegen( + "make_rdm1_f", + returns, + output, + expr, + **kwargs, + ) + +with Stopwatch("2RDM"): + # Get the 2RDM contractions in pdaggerq format + terms = {} + for sectors, indices in [ + ("oooo", "ijkl"), + ("ooov", "ijka"), + ("oovo", "ijak"), + ("ovoo", "iajk"), + ("vooo", "aijk"), + ("oovv", "ijab"), + ("ovov", "iajb"), + ("ovvo", "iabj"), + ("voov", "aijb"), + ("vovo", "aibj"), + ("vvoo", "abij"), + ("ovvv", "iabc"), + ("vovv", "aibc"), + ("vvov", "abic"), + ("vvvo", "abci"), + ("vvvv", "abcd"), + ]: + pq.clear() + pq.set_left_operators([["1"], ["l1"], ["l2"]]) + pq.add_st_operator( + 1.0, [f"e2({indices[0]},{indices[1]},{indices[3]},{indices[2]})"], ["t1", "t2"] + ) + pq.simplify() + terms[sectors, indices] = pq.fully_contracted_strings() + + # Get the 2RDM in albert format + expr = [] + output = [] + returns = [] + for sectors, indices in [ + ("oooo", "ijkl"), + ("ooov", "ijka"), + ("oovo", "ijak"), + ("ovoo", "iajk"), + ("vooo", "aijk"), + ("oovv", "ijab"), + ("ovov", "iajb"), + ("ovvo", "iabj"), + ("voov", "aijb"), + ("vovo", "aibj"), + ("vvoo", "abij"), + ("ovvv", "iabc"), + ("vovv", "aibc"), + ("vvov", "abic"), + ("vvvo", "abci"), + ("vvvv", "abcd"), + ]: + for index_spins in get_density_spins(2, spin, indices): + expr_n = import_from_pdaggerq(terms[sectors, indices], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + expr_n = tuple(e.apply(get_density_fit()) for e in expr_n) + output_n = get_density_outputs(expr_n, f"Γ", indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i], space=s) for i, s in zip(indices, sectors)), name=f"Γ"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + output, expr = optimise(output, expr, spin, strategy="trav") + + # Generate the 2RDM code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "preamble": get_density_einsum_preamble(2, spin), + "postamble": get_density_einsum_postamble(2, spin), + } + codegen( + "make_rdm2_f", + returns, + output, + expr, + **kwargs, + ) + +for codegen in code_generators.values(): + codegen.postamble() + codegen.stdout.close() diff --git a/ebcc/codegen/bootstrap_common.py b/ebcc/codegen/bootstrap_common.py index 3d7a352d..2d3e911a 100644 --- a/ebcc/codegen/bootstrap_common.py +++ b/ebcc/codegen/bootstrap_common.py @@ -10,6 +10,8 @@ from albert.optim._gristmill import optimise as _optimise from albert.qc.spin import generalised_to_restricted, generalised_to_unrestricted from albert.qc.index import Index +from albert.qc.rhf import ERI as RERI, CDERI as RCDERI +from albert.qc.uhf import ERI as UERI, CDERI as UCDERI from albert.tensor import Tensor from pdaggerq.config import OCC_INDICES, VIRT_INDICES @@ -38,6 +40,7 @@ "o": OCC_INDICES, "v": VIRT_INDICES, "b": ["x", "y", "z", "b0", "b1", "b2", "b3"], + "x": ["P", "Q", "R", "S", "x0", "x1", "x2", "x3", "x4", "x5", "x7"], } @@ -48,6 +51,7 @@ "o": 200, "v": 1000, "b": 10, + "x": 3000, } @@ -237,7 +241,8 @@ def optimise(outputs, exprs, spin, strategy="greedy", sizes=None): index_sizes = {} index_groups = [] for sector, indices in default_indices.items(): - for s in (("α", "β") if spin == "uhf" else (None,)): + spins = ("α", "β") if spin == "uhf" and sector not in ("b", "x") else (None,) + for s in spins: index_sizes.update({Index(index, space=sector, spin=s): sizes[sector] for index in indices}) index_groups.append([Index(index, space=sector, spin=s) for index in indices]) @@ -267,7 +272,7 @@ def get_density_outputs(exprs, name, indices): """Get the outputs for the density code.""" tensors = [] for expr in exprs: - external_indices = sorted(expr.external_indices) + external_indices = sorted(expr.external_indices, key=lambda i: indices.index(i.name)) tensors.append(Tensor(*external_indices, name=name)) return tensors @@ -290,7 +295,11 @@ def get_amplitude_spins(n, spin): case[default_indices["v"][i]] = s cases.append(case) elif spin == "ghf": - cases = [None] + case = {} + for i in range(n): + case[default_indices["o"][i]] = None + case[default_indices["v"][i]] = None + cases = [case] return cases @@ -318,7 +327,11 @@ def get_density_spins(n, spin, indices): cases = [("α", "α", "α", "α"), ("α", "β", "α", "β"), ("β", "β", "β", "β")] cases = [dict(zip(indices, case)) for case in cases] elif spin == "ghf": - cases = [None] + if n == 1: + cases = [(None, None)] + elif n == 2: + cases = [(None, None, None, None)] + cases = [dict(zip(indices, case)) for case in cases] return cases @@ -331,13 +344,13 @@ def get_density_einsum_preamble(n, spin, name="rdm{n}"): for spins in itertools.combinations_with_replacement(["a", "b"], n): preamble += f"\n{name}.{''.join(spins+spins)} = Namespace()" preamble += "\ndelta = Namespace(" - preamble += "\n aa=Namespace(oo=np.eye(t1.aa.shape[0]), vv=np.eye(t1.aa.shape[1]))," - preamble += "\n bb=Namespace(oo=np.eye(t1.bb.shape[0]), vv=np.eye(t1.bb.shape[1]))," + preamble += "\n aa=Namespace(oo=np.eye(t2.aaaa.shape[0]), vv=np.eye(t2.aaaa.shape[-1]))," + preamble += "\n bb=Namespace(oo=np.eye(t2.bbbb.shape[0]), vv=np.eye(t2.bbbb.shape[-1]))," preamble += "\n)" else: preamble += "\ndelta = Namespace(" - preamble += "\n oo=np.eye(t1.shape[0])," - preamble += "\n vv=np.eye(t1.shape[1])," + preamble += "\n oo=np.eye(t2.shape[0])," + preamble += "\n vv=np.eye(t2.shape[-1])," preamble += "\n)" return preamble @@ -402,3 +415,24 @@ def get_boson_einsum_preamble(spin): preamble += "\n bvv=g.bvv.transpose(0, 2, 1)," preamble += "\n)" return preamble + + +def get_density_fit(): + indices = {"": 0} + + def density_fit(obj): + """Get the function to apply over an expression to density fit the ERIs.""" + i = indices[""] % len(default_indices["x"]) # TODO this will break for huge ansatzes + aux_index = Index(f"{default_indices['x'][i]}", space="x") + indices[""] += 1 + if hasattr(obj, "_symbol") and obj._symbol == RERI: + left = RCDERI[(aux_index,) + obj.indices[:2]] + right = RCDERI[(aux_index,) + obj.indices[2:]] + elif hasattr(obj, "_symbol") and obj._symbol == UERI: + left = UCDERI[(aux_index,) + obj.indices[:2]] + right = UCDERI[(aux_index,) + obj.indices[2:]] + else: + return obj + return left * right + + return density_fit From f6abe1b15d11fb029e892fd6dc1e07d713df0b67 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Thu, 18 Jul 2024 21:01:38 +0100 Subject: [PATCH 015/168] Adds bootstrap workflow --- .github/workflows/bootstrap.yaml | 58 ++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 .github/workflows/bootstrap.yaml diff --git a/.github/workflows/bootstrap.yaml b/.github/workflows/bootstrap.yaml new file mode 100644 index 00000000..19a836a3 --- /dev/null +++ b/.github/workflows/bootstrap.yaml @@ -0,0 +1,58 @@ +name: Bootstrap + +on: + push: + branches: [bootstrap] + pull_request: + branches: [bootstrap] + +jobs: + build: + name: python ${{ matrix.python-version }} on ${{matrix.os}} + runs-on: ${{ matrix.os }} + + strategy: + fail-fast: false + matrix: + include: + - {python-version: "3.10", os: ubuntu-latest} + + steps: + - uses: actions/checkout@v2 + - name: Set up python ${{ matrix.python-version }} + uses: actions/setup-python@v2 + with: + python-version: ${{ matrix.python-version }} + - name: Upgrade pip + run: | + python -m pip install --upgrade pip + - name: Install ebcc + run: | + python -m pip install wheel + python -m pip install .[dev] + - name: Install dependencies + python -m pip install git+https://github.com/obackhouse/albert@master + python -m pip install git+https://github.com/edeprince3/pdaggerq@master + python -m pip install git+https://github.com/tschijnmo/drudge@master + python -m pip install git+https://github.com/tschijnmo/gristmill@master + python -m pip install git+https://github.com/tschijnmo/DummyRDD@master + - name: Bootstrap + run: | + git checkout bootstrap + cd ebcc/codegen + for i in rhf uhf ghf; do + for n in 2 3; do + python bootstrap_MPn.py $i $n + python bootstrap_CCD.py $i + python bootstrap_CCSD.py $i + python bootstrap_QCISD.py $i + python bootstrap_CC2.py $i + python bootstrap_DCD.py $i + python bootstrap_DCSD.py $i + python bootstrap_DFCCD.py $i + python bootstrap_DFCCSD.py $i + done + - name: Run unit tests + run: | + python -m pip install pytest + pytest ebcc/ From b9d26e13ba509d847b55571a0a2481ce0755875c Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Thu, 18 Jul 2024 21:04:31 +0100 Subject: [PATCH 016/168] Fix yml syntax --- .github/workflows/bootstrap.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/bootstrap.yaml b/.github/workflows/bootstrap.yaml index 19a836a3..c7be6117 100644 --- a/.github/workflows/bootstrap.yaml +++ b/.github/workflows/bootstrap.yaml @@ -31,6 +31,7 @@ jobs: python -m pip install wheel python -m pip install .[dev] - name: Install dependencies + run: | python -m pip install git+https://github.com/obackhouse/albert@master python -m pip install git+https://github.com/edeprince3/pdaggerq@master python -m pip install git+https://github.com/tschijnmo/drudge@master From 4e530da842b2635a931f430993d9b5d849b548b1 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Thu, 18 Jul 2024 21:08:29 +0100 Subject: [PATCH 017/168] Use my fork of gristmill --- .github/workflows/bootstrap.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/bootstrap.yaml b/.github/workflows/bootstrap.yaml index c7be6117..11ee9725 100644 --- a/.github/workflows/bootstrap.yaml +++ b/.github/workflows/bootstrap.yaml @@ -35,7 +35,7 @@ jobs: python -m pip install git+https://github.com/obackhouse/albert@master python -m pip install git+https://github.com/edeprince3/pdaggerq@master python -m pip install git+https://github.com/tschijnmo/drudge@master - python -m pip install git+https://github.com/tschijnmo/gristmill@master + python -m pip install git+https://github.com/obackhouse/gristmill@master python -m pip install git+https://github.com/tschijnmo/DummyRDD@master - name: Bootstrap run: | From 92017f719d535c54f6bb3b53085feea47df10614 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Thu, 18 Jul 2024 21:20:55 +0100 Subject: [PATCH 018/168] Move list of bootstraps to bash file --- .github/workflows/bootstrap.yaml | 16 ++-------------- .github/workflows/bootstrap_all.sh | 13 +++++++++++++ 2 files changed, 15 insertions(+), 14 deletions(-) create mode 100644 .github/workflows/bootstrap_all.sh diff --git a/.github/workflows/bootstrap.yaml b/.github/workflows/bootstrap.yaml index 11ee9725..2f6a6d56 100644 --- a/.github/workflows/bootstrap.yaml +++ b/.github/workflows/bootstrap.yaml @@ -40,20 +40,8 @@ jobs: - name: Bootstrap run: | git checkout bootstrap - cd ebcc/codegen - for i in rhf uhf ghf; do - for n in 2 3; do - python bootstrap_MPn.py $i $n - python bootstrap_CCD.py $i - python bootstrap_CCSD.py $i - python bootstrap_QCISD.py $i - python bootstrap_CC2.py $i - python bootstrap_DCD.py $i - python bootstrap_DCSD.py $i - python bootstrap_DFCCD.py $i - python bootstrap_DFCCSD.py $i - done + cd ebcc/codegen && ./../../.github/workflows/bootstrap_all.sh - name: Run unit tests run: | python -m pip install pytest - pytest ebcc/ + pytest diff --git a/.github/workflows/bootstrap_all.sh b/.github/workflows/bootstrap_all.sh new file mode 100644 index 00000000..fc24d20b --- /dev/null +++ b/.github/workflows/bootstrap_all.sh @@ -0,0 +1,13 @@ +#!/bin/bash +for i in rhf uhf ghf; do + for n in 2 3; do + python bootstrap_MPn.py $i $n + python bootstrap_CCD.py $i + python bootstrap_CCSD.py $i + python bootstrap_QCISD.py $i + python bootstrap_CC2.py $i + python bootstrap_DCD.py $i + python bootstrap_DCSD.py $i + python bootstrap_DFCCD.py $i + python bootstrap_DFCCSD.py $i +done From 9c4786833339e58544b9e59ea0416ed1e3a89e95 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Thu, 18 Jul 2024 21:24:10 +0100 Subject: [PATCH 019/168] Bash file permissions --- .github/workflows/bootstrap.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/bootstrap.yaml b/.github/workflows/bootstrap.yaml index 2f6a6d56..50eea089 100644 --- a/.github/workflows/bootstrap.yaml +++ b/.github/workflows/bootstrap.yaml @@ -40,6 +40,7 @@ jobs: - name: Bootstrap run: | git checkout bootstrap + chmod +x .github/workflows/bootstrap_all.sh cd ebcc/codegen && ./../../.github/workflows/bootstrap_all.sh - name: Run unit tests run: | From 3bae9f3416721ba6d20f9dba56a9f251e04fd9a8 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Thu, 18 Jul 2024 21:28:59 +0100 Subject: [PATCH 020/168] Fix loop syntax --- .github/workflows/bootstrap_all.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/bootstrap_all.sh b/.github/workflows/bootstrap_all.sh index fc24d20b..234de097 100644 --- a/.github/workflows/bootstrap_all.sh +++ b/.github/workflows/bootstrap_all.sh @@ -2,6 +2,7 @@ for i in rhf uhf ghf; do for n in 2 3; do python bootstrap_MPn.py $i $n + done python bootstrap_CCD.py $i python bootstrap_CCSD.py $i python bootstrap_QCISD.py $i From df1252e5e00347490e8e0e0f745b7a7564a03b33 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Thu, 18 Jul 2024 21:40:30 +0100 Subject: [PATCH 021/168] Don't do ghf for DF --- .github/workflows/bootstrap_all.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/bootstrap_all.sh b/.github/workflows/bootstrap_all.sh index 234de097..5598a167 100644 --- a/.github/workflows/bootstrap_all.sh +++ b/.github/workflows/bootstrap_all.sh @@ -9,6 +9,8 @@ for i in rhf uhf ghf; do python bootstrap_CC2.py $i python bootstrap_DCD.py $i python bootstrap_DCSD.py $i +done +for i in rhf uhf; do python bootstrap_DFCCD.py $i python bootstrap_DFCCSD.py $i done From 336fed9596ded9d4a9f49e49484e85f0a0487b09 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Thu, 18 Jul 2024 21:43:33 +0100 Subject: [PATCH 022/168] debug --- ebcc/codegen/GCCD.py | 156 +++++++++++++++---------------- ebcc/codegen/bootstrap_common.py | 2 + 2 files changed, 80 insertions(+), 78 deletions(-) diff --git a/ebcc/codegen/GCCD.py b/ebcc/codegen/GCCD.py index 4258e243..7808f5e6 100644 --- a/ebcc/codegen/GCCD.py +++ b/ebcc/codegen/GCCD.py @@ -2,7 +2,7 @@ Code generated by `albert`: https://github.com/obackhouse/albert - * date: 2024-07-18T20:05:00.813398 + * date: 2024-07-18T21:42:17.819450 * python version: 3.10.12 (main, Mar 22 2024, 16:50:05) [GCC 11.4.0] * albert version: 0.0.0 * caller: /home/ollie/git/albert/albert/codegen/einsum.py @@ -18,7 +18,7 @@ def energy(t2=None, v=None, **kwargs): """ - Code generated by `albert` 0.0.0 on 2024-07-18T20:05:00.853940. + Code generated by `albert` 0.0.0 on 2024-07-18T21:42:17.862679. Parameters ---------- @@ -39,7 +39,7 @@ def energy(t2=None, v=None, **kwargs): def update_amps(f=None, t2=None, v=None, **kwargs): """ - Code generated by `albert` 0.0.0 on 2024-07-18T20:05:01.637880. + Code generated by `albert` 0.0.0 on 2024-07-18T21:42:18.624233. Parameters ---------- @@ -56,25 +56,16 @@ def update_amps(f=None, t2=None, v=None, **kwargs): Updated T2 residuals. """ - tmp7 = einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 2, 3), (0, 4), optimize=True) * -1 + tmp7 = einsum(v.oovv, (0, 1, 2, 3), t2, (4, 0, 2, 3), (4, 1), optimize=True) * -1 + tmp3 = einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 3), (0, 4, 2, 5), optimize=True) tmp5 = einsum(t2, (0, 1, 2, 3), v.oovv, (0, 1, 3, 4), (2, 4), optimize=True) * -1 - tmp3 = einsum(v.oovv, (0, 1, 2, 3), t2, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) tmp9 = v.oooo.transpose((2, 3, 1, 0)).copy() * -2 tmp9 += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 2, 3), (5, 4, 1, 0), optimize=True) - t2new = einsum(tmp9, (0, 1, 2, 3), t2, (0, 1, 4, 5), (2, 3, 5, 4), optimize=True) * -0.25 + t2new = einsum(t2, (0, 1, 2, 3), tmp9, (0, 1, 4, 5), (4, 5, 3, 2), optimize=True) * -0.25 del tmp9 - tmp2 = einsum(t2, (0, 1, 2, 3), f.oo, (4, 1), (4, 0, 2, 3), optimize=True) - t2new += tmp2.transpose((1, 0, 3, 2)) - t2new += tmp2.transpose((0, 1, 3, 2)) * -1 - del tmp2 - tmp8 = einsum(t2, (0, 1, 2, 3), tmp7, (4, 1), (0, 4, 2, 3), optimize=True) - del tmp7 - t2new += tmp8.transpose((1, 0, 3, 2)) * -0.5 - t2new += tmp8.transpose((0, 1, 3, 2)) * 0.5 - del tmp8 - tmp0 = einsum(f.vv, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4), optimize=True) - t2new += tmp0.transpose((1, 0, 3, 2)) * -1 - t2new += tmp0.transpose((1, 0, 2, 3)) + tmp0 = einsum(f.oo, (0, 1), t2, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) + t2new += tmp0.transpose((1, 0, 3, 2)) + t2new += tmp0.transpose((0, 1, 3, 2)) * -1 del tmp0 tmp1 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 3, 1, 5), (0, 4, 2, 5), optimize=True) t2new += tmp1.transpose((1, 0, 3, 2)) * -1 @@ -82,16 +73,25 @@ def update_amps(f=None, t2=None, v=None, **kwargs): t2new += tmp1.transpose((0, 1, 3, 2)) t2new += tmp1 * -1 del tmp1 - tmp6 = einsum(tmp5, (0, 1), t2, (2, 3, 4, 1), (2, 3, 4, 0), optimize=True) - del tmp5 - t2new += tmp6.transpose((0, 1, 3, 2)) * 0.5 - t2new += tmp6 * -0.5 - del tmp6 + tmp8 = einsum(tmp7, (0, 1), t2, (2, 1, 3, 4), (2, 0, 3, 4), optimize=True) + del tmp7 + t2new += tmp8.transpose((1, 0, 3, 2)) * -0.5 + t2new += tmp8.transpose((0, 1, 3, 2)) * 0.5 + del tmp8 tmp4 = einsum(t2, (0, 1, 2, 3), tmp3, (4, 1, 5, 3), (0, 4, 2, 5), optimize=True) del tmp3 t2new += tmp4.transpose((0, 1, 3, 2)) * -1 t2new += tmp4 del tmp4 + tmp6 = einsum(t2, (0, 1, 2, 3), tmp5, (4, 3), (0, 1, 2, 4), optimize=True) + del tmp5 + t2new += tmp6.transpose((0, 1, 3, 2)) * 0.5 + t2new += tmp6 * -0.5 + del tmp6 + tmp2 = einsum(f.vv, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4), optimize=True) + t2new += tmp2.transpose((1, 0, 3, 2)) * -1 + t2new += tmp2.transpose((1, 0, 2, 3)) + del tmp2 t2new += einsum(t2, (0, 1, 2, 3), v.vvvv, (4, 5, 3, 2), (1, 0, 5, 4), optimize=True) * -0.5 t2new += v.oovv.transpose((1, 0, 3, 2)) @@ -99,7 +99,7 @@ def update_amps(f=None, t2=None, v=None, **kwargs): def update_lams(f=None, l2=None, t2=None, v=None, **kwargs): """ - Code generated by `albert` 0.0.0 on 2024-07-18T20:05:02.761881. + Code generated by `albert` 0.0.0 on 2024-07-18T21:42:19.679726. Parameters ---------- @@ -119,43 +119,50 @@ def update_lams(f=None, l2=None, t2=None, v=None, **kwargs): """ tmp13 = einsum(l2, (0, 1, 2, 3), t2, (2, 3, 1, 4), (0, 4), optimize=True) * -1 - tmp11 = einsum(t2, (0, 1, 2, 3), v.oovv, (0, 1, 4, 2), (3, 4), optimize=True) * -1 - tmp6 = einsum(t2, (0, 1, 2, 3), v.oovv, (4, 0, 2, 3), (1, 4), optimize=True) * -1 - tmp8 = einsum(l2, (0, 1, 2, 3), t2, (3, 4, 0, 1), (2, 4), optimize=True) * -1 + tmp11 = einsum(v.oovv, (0, 1, 2, 3), t2, (0, 1, 3, 4), (4, 2), optimize=True) * -1 tmp2 = einsum(v.oovv, (0, 1, 2, 3), t2, (1, 4, 3, 5), (4, 0, 5, 2), optimize=True) - tmp14 = einsum(v.oovv, (0, 1, 2, 3), tmp13, (4, 3), (0, 1, 4, 2), optimize=True) * -1 + tmp8 = einsum(t2, (0, 1, 2, 3), l2, (2, 3, 4, 0), (4, 1), optimize=True) * -1 + tmp6 = einsum(v.oovv, (0, 1, 2, 3), t2, (1, 4, 2, 3), (4, 0), optimize=True) * -1 + tmp14 = einsum(tmp13, (0, 1), v.oovv, (2, 3, 4, 1), (2, 3, 0, 4), optimize=True) * -1 del tmp13 - tmp12 = einsum(tmp11, (0, 1), l2, (2, 0, 3, 4), (3, 4, 2, 1), optimize=True) + tmp12 = einsum(l2, (0, 1, 2, 3), tmp11, (1, 4), (2, 3, 0, 4), optimize=True) del tmp11 - tmp7 = einsum(l2, (0, 1, 2, 3), tmp6, (3, 4), (2, 4, 0, 1), optimize=True) - del tmp6 - tmp9 = einsum(v.oovv, (0, 1, 2, 3), tmp8, (4, 1), (4, 0, 2, 3), optimize=True) * -1 - del tmp8 tmp3 = v.ovov.transpose((2, 0, 1, 3)).copy() * -1 tmp3 += tmp2 del tmp2 - tmp16 = v.oooo.transpose((2, 3, 1, 0)).copy() * -1 - tmp16 += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 2, 3), (1, 0, 5, 4), optimize=True) * 0.5 - l2new = einsum(l2, (0, 1, 2, 3), tmp16, (2, 3, 4, 5), (1, 0, 4, 5), optimize=True) * -0.5 - del tmp16 + tmp9 = einsum(v.oovv, (0, 1, 2, 3), tmp8, (4, 1), (4, 0, 2, 3), optimize=True) * -1 + del tmp8 + tmp7 = einsum(l2, (0, 1, 2, 3), tmp6, (3, 4), (2, 4, 0, 1), optimize=True) + del tmp6 tmp15 = tmp12.copy() * 0.5 del tmp12 tmp15 += tmp14 * 0.5 del tmp14 - l2new += tmp15.transpose((3, 2, 1, 0)) * -1 + l2new = tmp15.transpose((3, 2, 1, 0)).copy() * -1 l2new += tmp15.transpose((2, 3, 1, 0)) del tmp15 - tmp5 = einsum(l2, (0, 1, 2, 3), f.oo, (4, 3), (4, 2, 0, 1), optimize=True) - l2new += tmp5.transpose((3, 2, 1, 0)) - l2new += tmp5.transpose((3, 2, 0, 1)) * -1 - del tmp5 tmp0 = einsum(t2, (0, 1, 2, 3), l2, (2, 3, 4, 5), (4, 5, 0, 1), optimize=True) l2new += einsum(v.oovv, (0, 1, 2, 3), tmp0, (4, 5, 0, 1), (2, 3, 4, 5), optimize=True) * 0.25 del tmp0 - tmp1 = einsum(l2, (0, 1, 2, 3), f.vv, (4, 1), (2, 3, 4, 0), optimize=True) - l2new += tmp1.transpose((3, 2, 1, 0)) * -1 - l2new += tmp1.transpose((2, 3, 1, 0)) + tmp1 = einsum(f.oo, (0, 1), l2, (2, 3, 4, 1), (0, 4, 2, 3), optimize=True) + l2new += tmp1.transpose((3, 2, 1, 0)) + l2new += tmp1.transpose((3, 2, 0, 1)) * -1 del tmp1 + tmp4 = einsum(l2, (0, 1, 2, 3), tmp3, (2, 4, 0, 5), (3, 4, 1, 5), optimize=True) + del tmp3 + l2new += tmp4.transpose((3, 2, 1, 0)) + l2new += tmp4.transpose((2, 3, 1, 0)) * -1 + l2new += tmp4.transpose((3, 2, 0, 1)) * -1 + l2new += tmp4.transpose((2, 3, 0, 1)) + del tmp4 + tmp16 = v.oooo.transpose((2, 3, 1, 0)).copy() * -1 + tmp16 += einsum(v.oovv, (0, 1, 2, 3), t2, (4, 5, 2, 3), (5, 4, 1, 0), optimize=True) * 0.5 + l2new += einsum(tmp16, (0, 1, 2, 3), l2, (4, 5, 0, 1), (5, 4, 2, 3), optimize=True) * -0.5 + del tmp16 + tmp5 = einsum(l2, (0, 1, 2, 3), f.vv, (4, 1), (2, 3, 4, 0), optimize=True) + l2new += tmp5.transpose((3, 2, 1, 0)) * -1 + l2new += tmp5.transpose((2, 3, 1, 0)) + del tmp5 tmp10 = tmp7.transpose((0, 1, 3, 2)).copy() * -0.5 del tmp7 tmp10 += tmp9.transpose((0, 1, 3, 2)) * -0.5 @@ -163,21 +170,14 @@ def update_lams(f=None, l2=None, t2=None, v=None, **kwargs): l2new += tmp10.transpose((3, 2, 1, 0)) * -1 l2new += tmp10.transpose((3, 2, 0, 1)) del tmp10 - tmp4 = einsum(tmp3, (0, 1, 2, 3), l2, (2, 4, 0, 5), (5, 1, 4, 3), optimize=True) - del tmp3 - l2new += tmp4.transpose((3, 2, 1, 0)) - l2new += tmp4.transpose((2, 3, 1, 0)) * -1 - l2new += tmp4.transpose((3, 2, 0, 1)) * -1 - l2new += tmp4.transpose((2, 3, 0, 1)) - del tmp4 - l2new += einsum(v.vvvv, (0, 1, 2, 3), l2, (3, 2, 4, 5), (1, 0, 5, 4), optimize=True) * -0.5 + l2new += einsum(l2, (0, 1, 2, 3), v.vvvv, (4, 5, 1, 0), (5, 4, 3, 2), optimize=True) * -0.5 l2new += v.oovv.transpose((3, 2, 1, 0)) return {f"l2new": l2new} def make_rdm1_f(l2=None, t2=None, **kwargs): """ - Code generated by `albert` 0.0.0 on 2024-07-18T20:05:02.857428. + Code generated by `albert` 0.0.0 on 2024-07-18T21:42:19.808625. Parameters ---------- @@ -197,9 +197,9 @@ def make_rdm1_f(l2=None, t2=None, **kwargs): oo=np.eye(t2.shape[0]), vv=np.eye(t2.shape[-1]), ) - rdm1.oo = delta.oo.transpose((1, 0)).copy() + rdm1.oo = einsum(t2, (0, 1, 2, 3), l2, (2, 3, 4, 1), (0, 4), optimize=True) * -0.5 + rdm1.oo += delta.oo.transpose((1, 0)) del delta - rdm1.oo += einsum(l2, (0, 1, 2, 3), t2, (4, 3, 0, 1), (4, 2), optimize=True) * -0.5 rdm1.vv = einsum(l2, (0, 1, 2, 3), t2, (2, 3, 4, 1), (0, 4), optimize=True) * 0.5 rdm1.ov = np.zeros((t2.shape[0], t2.shape[-1])) rdm1.vo = np.zeros((t2.shape[-1], t2.shape[0])) @@ -209,7 +209,7 @@ def make_rdm1_f(l2=None, t2=None, **kwargs): def make_rdm2_f(l2=None, t2=None, **kwargs): """ - Code generated by `albert` 0.0.0 on 2024-07-18T20:05:03.861067. + Code generated by `albert` 0.0.0 on 2024-07-18T21:42:20.714346. Parameters ---------- @@ -229,42 +229,42 @@ def make_rdm2_f(l2=None, t2=None, **kwargs): oo=np.eye(t2.shape[0]), vv=np.eye(t2.shape[-1]), ) + tmp2 = einsum(l2, (0, 1, 2, 3), t2, (4, 3, 5, 1), (2, 4, 0, 5), optimize=True) + rdm2.vovo = tmp2.transpose((2, 1, 3, 0)).copy() * -1 + rdm2.voov = tmp2.transpose((2, 1, 0, 3)).copy() + rdm2.ovvo = tmp2.transpose((1, 2, 3, 0)).copy() + rdm2.ovov = tmp2.transpose((1, 2, 0, 3)).copy() * -1 tmp4 = einsum(l2, (0, 1, 2, 3), t2, (2, 3, 4, 0), (1, 4), optimize=True) * -1 - rdm2.vovo = einsum(tmp4, (0, 1), delta.oo, (2, 3), (0, 3, 1, 2), optimize=True) * 0.5 - rdm2.voov = einsum(tmp4, (0, 1), delta.oo, (2, 3), (0, 3, 2, 1), optimize=True) * -0.5 - rdm2.ovvo = einsum(tmp4, (0, 1), delta.oo, (2, 3), (2, 0, 1, 3), optimize=True) * -0.5 - rdm2.ovov = einsum(tmp4, (0, 1), delta.oo, (2, 3), (2, 0, 3, 1), optimize=True) * 0.5 - tmp2 = einsum(t2, (0, 1, 2, 3), l2, (4, 3, 5, 1), (5, 0, 4, 2), optimize=True) - rdm2.vovo += tmp2.transpose((2, 1, 3, 0)) * -1 - rdm2.voov += tmp2.transpose((2, 1, 0, 3)) - rdm2.ovvo += tmp2.transpose((1, 2, 3, 0)) - rdm2.ovov += tmp2.transpose((1, 2, 0, 3)) * -1 - tmp1 = einsum(l2, (0, 1, 2, 3), t2, (4, 3, 0, 1), (2, 4), optimize=True) + rdm2.vovo += einsum(tmp4, (0, 1), delta.oo, (2, 3), (0, 3, 1, 2), optimize=True) * 0.5 + rdm2.voov += einsum(tmp4, (0, 1), delta.oo, (2, 3), (0, 3, 2, 1), optimize=True) * -0.5 + rdm2.ovvo += einsum(tmp4, (0, 1), delta.oo, (2, 3), (2, 0, 1, 3), optimize=True) * -0.5 + rdm2.ovov += einsum(tmp4, (0, 1), delta.oo, (2, 3), (2, 0, 3, 1), optimize=True) * 0.5 + tmp1 = einsum(t2, (0, 1, 2, 3), l2, (2, 3, 4, 1), (4, 0), optimize=True) rdm2.oooo = einsum(delta.oo, (0, 1), tmp1, (2, 3), (0, 3, 1, 2), optimize=True) * -0.5 - rdm2.oooo += einsum(tmp1, (0, 1), delta.oo, (2, 3), (1, 3, 2, 0), optimize=True) * 0.5 - rdm2.oooo += einsum(tmp1, (0, 1), delta.oo, (2, 3), (2, 1, 0, 3), optimize=True) * 0.5 + rdm2.oooo += einsum(delta.oo, (0, 1), tmp1, (2, 3), (3, 1, 0, 2), optimize=True) * 0.5 + rdm2.oooo += einsum(delta.oo, (0, 1), tmp1, (2, 3), (0, 3, 2, 1), optimize=True) * 0.5 rdm2.oooo += einsum(delta.oo, (0, 1), tmp1, (2, 3), (3, 1, 2, 0), optimize=True) * -0.5 - tmp5 = einsum(tmp4, (0, 1), t2, (2, 3, 4, 0), (2, 3, 4, 1), optimize=True) - del tmp4 - rdm2.oovv = tmp5.transpose((0, 1, 3, 2)).copy() * 0.5 - rdm2.oovv += tmp5 * -0.5 - del tmp5 tmp0 = einsum(t2, (0, 1, 2, 3), l2, (2, 3, 4, 5), (4, 5, 0, 1), optimize=True) - rdm2.oovv += einsum(t2, (0, 1, 2, 3), tmp0, (0, 1, 4, 5), (5, 4, 3, 2), optimize=True) * 0.25 + rdm2.oovv = einsum(t2, (0, 1, 2, 3), tmp0, (0, 1, 4, 5), (5, 4, 3, 2), optimize=True) * 0.25 rdm2.oooo += tmp0.transpose((3, 2, 1, 0)) * 0.5 del tmp0 - tmp3 = einsum(t2, (0, 1, 2, 3), tmp2, (1, 4, 3, 5), (4, 0, 5, 2), optimize=True) + tmp3 = einsum(tmp2, (0, 1, 2, 3), t2, (4, 0, 5, 2), (1, 4, 3, 5), optimize=True) del tmp2 rdm2.oovv += tmp3.transpose((0, 1, 3, 2)) * -1 rdm2.oovv += tmp3 del tmp3 - tmp6 = einsum(t2, (0, 1, 2, 3), tmp1, (1, 4), (0, 4, 2, 3), optimize=True) + tmp5 = einsum(tmp4, (0, 1), t2, (2, 3, 4, 0), (2, 3, 4, 1), optimize=True) + del tmp4 + rdm2.oovv += tmp5.transpose((0, 1, 3, 2)) * 0.5 + rdm2.oovv += tmp5 * -0.5 + del tmp5 + tmp6 = einsum(tmp1, (0, 1), t2, (2, 0, 3, 4), (2, 1, 3, 4), optimize=True) del tmp1 rdm2.oovv += tmp6.transpose((1, 0, 3, 2)) * -0.5 rdm2.oovv += tmp6.transpose((0, 1, 3, 2)) * 0.5 del tmp6 rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (3, 1, 2, 0), optimize=True) - rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (1, 2, 3, 0), optimize=True) * -1 + rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (3, 0, 1, 2), optimize=True) * -1 del delta rdm2.oovv += t2.transpose((1, 0, 3, 2)) rdm2.vvoo = l2.transpose((1, 0, 3, 2)).copy() diff --git a/ebcc/codegen/bootstrap_common.py b/ebcc/codegen/bootstrap_common.py index 2d3e911a..1caa1176 100644 --- a/ebcc/codegen/bootstrap_common.py +++ b/ebcc/codegen/bootstrap_common.py @@ -246,6 +246,8 @@ def optimise(outputs, exprs, spin, strategy="greedy", sizes=None): index_sizes.update({Index(index, space=sector, spin=s): sizes[sector] for index in indices}) index_groups.append([Index(index, space=sector, spin=s) for index in indices]) + for o, e in zip(outputs, exprs): + print(o, "=", e) opt = _optimise( *zip(outputs, exprs), index_groups=index_groups, From c3a630fbb1402051ba5b2e4e3484ad42a35b47d4 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Thu, 18 Jul 2024 21:51:59 +0100 Subject: [PATCH 023/168] debug --- .github/workflows/bootstrap.yaml | 2 ++ ebcc/codegen/bootstrap_common.py | 2 -- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/bootstrap.yaml b/.github/workflows/bootstrap.yaml index 50eea089..cc3dc1ee 100644 --- a/.github/workflows/bootstrap.yaml +++ b/.github/workflows/bootstrap.yaml @@ -40,6 +40,8 @@ jobs: - name: Bootstrap run: | git checkout bootstrap + # add ", k" onto the end of line 2411 in /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/gristmill/optimize.py + sed -i '2411s/$/, k/' /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/gristmill/optimize.py chmod +x .github/workflows/bootstrap_all.sh cd ebcc/codegen && ./../../.github/workflows/bootstrap_all.sh - name: Run unit tests diff --git a/ebcc/codegen/bootstrap_common.py b/ebcc/codegen/bootstrap_common.py index 1caa1176..2d3e911a 100644 --- a/ebcc/codegen/bootstrap_common.py +++ b/ebcc/codegen/bootstrap_common.py @@ -246,8 +246,6 @@ def optimise(outputs, exprs, spin, strategy="greedy", sizes=None): index_sizes.update({Index(index, space=sector, spin=s): sizes[sector] for index in indices}) index_groups.append([Index(index, space=sector, spin=s) for index in indices]) - for o, e in zip(outputs, exprs): - print(o, "=", e) opt = _optimise( *zip(outputs, exprs), index_groups=index_groups, From 0fa3c58db79c74560e39f4d24998e4f9c62f8192 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Thu, 18 Jul 2024 22:01:11 +0100 Subject: [PATCH 024/168] remove debug --- .github/workflows/bootstrap.yaml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/bootstrap.yaml b/.github/workflows/bootstrap.yaml index cc3dc1ee..50eea089 100644 --- a/.github/workflows/bootstrap.yaml +++ b/.github/workflows/bootstrap.yaml @@ -40,8 +40,6 @@ jobs: - name: Bootstrap run: | git checkout bootstrap - # add ", k" onto the end of line 2411 in /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/gristmill/optimize.py - sed -i '2411s/$/, k/' /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/gristmill/optimize.py chmod +x .github/workflows/bootstrap_all.sh cd ebcc/codegen && ./../../.github/workflows/bootstrap_all.sh - name: Run unit tests From 4704124c93516b54d761f74045eb97ff671933ff Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Thu, 18 Jul 2024 22:07:17 +0100 Subject: [PATCH 025/168] Ignore warnings on bootstrap --- .github/workflows/bootstrap_all.sh | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/bootstrap_all.sh b/.github/workflows/bootstrap_all.sh index 5598a167..aaac1808 100644 --- a/.github/workflows/bootstrap_all.sh +++ b/.github/workflows/bootstrap_all.sh @@ -1,16 +1,16 @@ #!/bin/bash for i in rhf uhf ghf; do for n in 2 3; do - python bootstrap_MPn.py $i $n + python -W ignore bootstrap_MPn.py $i $n done - python bootstrap_CCD.py $i - python bootstrap_CCSD.py $i - python bootstrap_QCISD.py $i - python bootstrap_CC2.py $i - python bootstrap_DCD.py $i - python bootstrap_DCSD.py $i + python -W ignore bootstrap_CCD.py $i + python -W ignore bootstrap_CCSD.py $i + python -W ignore bootstrap_QCISD.py $i + python -W ignore bootstrap_CC2.py $i + python -W ignore bootstrap_DCD.py $i + python -W ignore bootstrap_DCSD.py $i done for i in rhf uhf; do - python bootstrap_DFCCD.py $i - python bootstrap_DFCCSD.py $i + python -W ignore bootstrap_DFCCD.py $i + python -W ignore bootstrap_DFCCSD.py $i done From 63ae9557d82d9dc7146b7ac62650adfaa729647a Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Thu, 18 Jul 2024 22:14:16 +0100 Subject: [PATCH 026/168] Install as editable --- .github/workflows/bootstrap.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/bootstrap.yaml b/.github/workflows/bootstrap.yaml index 50eea089..9600f075 100644 --- a/.github/workflows/bootstrap.yaml +++ b/.github/workflows/bootstrap.yaml @@ -29,7 +29,7 @@ jobs: - name: Install ebcc run: | python -m pip install wheel - python -m pip install .[dev] + python -m pip install -e .[dev] - name: Install dependencies run: | python -m pip install git+https://github.com/obackhouse/albert@master From b2adb589653ad0b3c49ef4abdc277848448091e5 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Thu, 18 Jul 2024 22:16:57 +0100 Subject: [PATCH 027/168] Improve bootstrapping script --- .github/workflows/bootstrap_all.sh | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/.github/workflows/bootstrap_all.sh b/.github/workflows/bootstrap_all.sh index aaac1808..45982a9d 100644 --- a/.github/workflows/bootstrap_all.sh +++ b/.github/workflows/bootstrap_all.sh @@ -1,16 +1,17 @@ #!/bin/bash -for i in rhf uhf ghf; do - for n in 2 3; do - python -W ignore bootstrap_MPn.py $i $n +for method in MPn CCD CCSD QCISD CC2 DCD DCSD; do + for i in rhf uhf ghf; do + for n in 2 3; do + echo "Bootstrapping $method ($i) (order=$n)" + python -W ignore bootstrap_${method}.py $i $n + done + echo "Bootstrapping $method ($i)" + python -W ignore bootstrap_${method}.py $i done - python -W ignore bootstrap_CCD.py $i - python -W ignore bootstrap_CCSD.py $i - python -W ignore bootstrap_QCISD.py $i - python -W ignore bootstrap_CC2.py $i - python -W ignore bootstrap_DCD.py $i - python -W ignore bootstrap_DCSD.py $i done -for i in rhf uhf; do - python -W ignore bootstrap_DFCCD.py $i - python -W ignore bootstrap_DFCCSD.py $i +for method in DFCCD DFCCSD; do + for i in rhf uhf; do + echo "Bootstrapping $method ($i)" + python -W ignore bootstrap_${method}.py $i + done done From 64289ec94f83fe4b4374f2af8eff2533ab8c4d74 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Fri, 19 Jul 2024 10:10:45 +0100 Subject: [PATCH 028/168] Persist bootstrap files from ci --- .github/workflows/bootstrap.yaml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/bootstrap.yaml b/.github/workflows/bootstrap.yaml index 9600f075..5586c356 100644 --- a/.github/workflows/bootstrap.yaml +++ b/.github/workflows/bootstrap.yaml @@ -42,6 +42,12 @@ jobs: git checkout bootstrap chmod +x .github/workflows/bootstrap_all.sh cd ebcc/codegen && ./../../.github/workflows/bootstrap_all.sh + git config --global user.name "github-actions[bot]" + git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com" + git checkout -b bootstrap_ci + git add *.py + git commit -m "Bootstrap via ${{ github.sha }}" + git push origin bootstrap_ci - name: Run unit tests run: | python -m pip install pytest From a86c88df24582d5400aef482470ff6fa2b508dd6 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Fri, 19 Jul 2024 13:32:08 +0100 Subject: [PATCH 029/168] Fixes for CC2 bootstrap --- .github/workflows/bootstrap_all.sh | 13 ++++++++++--- ebcc/codegen/bootstrap_CC2.py | 9 +++++---- 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/.github/workflows/bootstrap_all.sh b/.github/workflows/bootstrap_all.sh index 45982a9d..3984a242 100644 --- a/.github/workflows/bootstrap_all.sh +++ b/.github/workflows/bootstrap_all.sh @@ -1,14 +1,21 @@ #!/bin/bash + for method in MPn CCD CCSD QCISD CC2 DCD DCSD; do for i in rhf uhf ghf; do - for n in 2 3; do + echo "Bootstrapping $method ($i)" + python -W ignore bootstrap_${method}.py $i + done +done + +for method in MPn; do + for n in 2 3; do + for i in rhf uhf ghf; do echo "Bootstrapping $method ($i) (order=$n)" python -W ignore bootstrap_${method}.py $i $n done - echo "Bootstrapping $method ($i)" - python -W ignore bootstrap_${method}.py $i done done + for method in DFCCD DFCCSD; do for i in rhf uhf; do echo "Bootstrapping $method ($i)" diff --git a/ebcc/codegen/bootstrap_CC2.py b/ebcc/codegen/bootstrap_CC2.py index e09848af..865902ee 100644 --- a/ebcc/codegen/bootstrap_CC2.py +++ b/ebcc/codegen/bootstrap_CC2.py @@ -6,6 +6,7 @@ import pdaggerq from albert.qc._pdaggerq import import_from_pdaggerq +from albert.qc.index import Index from albert.tensor import Tensor from ebcc.codegen.bootstrap_common import * @@ -84,7 +85,7 @@ expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) expr_n = spin_integrate(expr_n, spin) output_n = get_t_amplitude_outputs(expr_n, f"t{n+1}new") - returns_n = (Tensor(*indices, name=f"t{n+1}new"),) + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"t{n+1}new"),) expr.extend(expr_n) output.extend(output_n) returns.extend(returns_n) @@ -147,7 +148,7 @@ expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) expr_n = spin_integrate(expr_n, spin) output_n = get_l_amplitude_outputs(expr_n, f"l{n+1}new") - returns_n = (Tensor(*indices, name=f"l{n+1}new"),) + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"l{n+1}new"),) expr.extend(expr_n) output.extend(output_n) returns.extend(returns_n) @@ -191,7 +192,7 @@ if spin == "rhf": expr_n = tuple(e * 2 for e in expr_n) output_n = get_density_outputs(expr_n, f"d", indices) - returns_n = (Tensor(*indices, name=f"d"),) + returns_n = (Tensor(*tuple(Index(i, index_spins[i], space=s) for i, s in zip(indices, sectors)), name=f"d"),) expr.extend(expr_n) output.extend(output_n) returns.extend(returns_n) @@ -269,7 +270,7 @@ expr_n = import_from_pdaggerq(terms[sectors, indices], index_spins=index_spins) expr_n = spin_integrate(expr_n, spin) output_n = get_density_outputs(expr_n, f"Γ", indices) - returns_n = (Tensor(*indices, name=f"Γ"),) + returns_n = (Tensor(*tuple(Index(i, index_spins[i], space=s) for i, s in zip(indices, sectors)), name=f"Γ"),) expr.extend(expr_n) output.extend(output_n) returns.extend(returns_n) From c06b7c64e072d7b0d8354400a183b2438dd97d9a Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Fri, 19 Jul 2024 13:39:25 +0100 Subject: [PATCH 030/168] Ignore python warnings via environment --- .github/workflows/bootstrap.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/bootstrap.yaml b/.github/workflows/bootstrap.yaml index 5586c356..ff5ee1b9 100644 --- a/.github/workflows/bootstrap.yaml +++ b/.github/workflows/bootstrap.yaml @@ -38,6 +38,8 @@ jobs: python -m pip install git+https://github.com/obackhouse/gristmill@master python -m pip install git+https://github.com/tschijnmo/DummyRDD@master - name: Bootstrap + env: + PYTHONWARNINGS: "ignore" run: | git checkout bootstrap chmod +x .github/workflows/bootstrap_all.sh From 009ee2bdf435755892772b4f812c6ce4868bc610 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Fri, 19 Jul 2024 15:11:04 +0100 Subject: [PATCH 031/168] Fix branches for workflow --- .github/workflows/bootstrap.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/bootstrap.yaml b/.github/workflows/bootstrap.yaml index ff5ee1b9..8e51538b 100644 --- a/.github/workflows/bootstrap.yaml +++ b/.github/workflows/bootstrap.yaml @@ -41,12 +41,12 @@ jobs: env: PYTHONWARNINGS: "ignore" run: | - git checkout bootstrap + git checkout bootstrap_ci + git merge bootstrap chmod +x .github/workflows/bootstrap_all.sh cd ebcc/codegen && ./../../.github/workflows/bootstrap_all.sh git config --global user.name "github-actions[bot]" git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com" - git checkout -b bootstrap_ci git add *.py git commit -m "Bootstrap via ${{ github.sha }}" git push origin bootstrap_ci From 5cc599960e7dc41466dc0961b057ff34f1570632 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Fri, 19 Jul 2024 18:01:51 +0100 Subject: [PATCH 032/168] More DF bootstrapping --- .github/workflows/bootstrap_all.sh | 13 +- ebcc/codegen/bootstrap_DFCC2.py | 303 +++++++++++++++++++++++++++++ ebcc/codegen/bootstrap_DFCCSD.py | 6 +- ebcc/codegen/bootstrap_DFDCD.py | 111 +++++++++++ ebcc/codegen/bootstrap_DFDCSD.py | 123 ++++++++++++ ebcc/codegen/bootstrap_DFQCISD.py | 127 ++++++++++++ 6 files changed, 670 insertions(+), 13 deletions(-) create mode 100644 ebcc/codegen/bootstrap_DFCC2.py create mode 100644 ebcc/codegen/bootstrap_DFDCD.py create mode 100644 ebcc/codegen/bootstrap_DFDCSD.py create mode 100644 ebcc/codegen/bootstrap_DFQCISD.py diff --git a/.github/workflows/bootstrap_all.sh b/.github/workflows/bootstrap_all.sh index 3984a242..cead7a4b 100644 --- a/.github/workflows/bootstrap_all.sh +++ b/.github/workflows/bootstrap_all.sh @@ -1,12 +1,5 @@ #!/bin/bash -for method in MPn CCD CCSD QCISD CC2 DCD DCSD; do - for i in rhf uhf ghf; do - echo "Bootstrapping $method ($i)" - python -W ignore bootstrap_${method}.py $i - done -done - for method in MPn; do for n in 2 3; do for i in rhf uhf ghf; do @@ -16,9 +9,11 @@ for method in MPn; do done done -for method in DFCCD DFCCSD; do - for i in rhf uhf; do +for method in CCD CCSD QCISD CC2 DCD DCSD; do + for i in rhf uhf ghf; do echo "Bootstrapping $method ($i)" python -W ignore bootstrap_${method}.py $i + echo "Bootstrapping DF-$method ($i)" + python -W ignore bootstrap_DF${method}.py $i done done diff --git a/ebcc/codegen/bootstrap_DFCC2.py b/ebcc/codegen/bootstrap_DFCC2.py new file mode 100644 index 00000000..ce797c22 --- /dev/null +++ b/ebcc/codegen/bootstrap_DFCC2.py @@ -0,0 +1,303 @@ +""" +Generate the DF-CC2 code. +""" + +import sys + +import pdaggerq +from albert.qc._pdaggerq import import_from_pdaggerq +from albert.qc.index import Index +from albert.tensor import Tensor + +from ebcc.codegen.bootstrap_common import * + +# Get the spin case +spin = sys.argv[1] +if spin == "ghf": + raise NotImplementedError + +# Set up the code generators +code_generators = { + "einsum": EinsumCodeGen( + stdout=open(f"{spin[0].upper()}DFCC2.py", "w"), + name_generator=name_generators[spin], + spin=spin, + ), +} + +# Write the preamble +for codegen in code_generators.values(): + codegen.preamble() + +# Set up pdaggerq +pq = pdaggerq.pq_helper("fermi") +pq.set_print_level(0) + +with Stopwatch("Energy"): + # Get the energy contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["1"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) + pq.simplify() + terms = pq.fully_contracted_strings() + terms = remove_hf_energy(terms) + + # Get the energy in albert format + expr = import_from_pdaggerq(terms) + expr = spin_integrate(expr, spin) + expr = tuple(e.apply(get_density_fit()) for e in expr) + output = tuple(Tensor(name="e_cc") for _ in range(len(expr))) + output, expr = optimise(output, expr, spin, strategy="exhaust") + returns = (Tensor(name="e_cc"),) + + # Generate the energy code + for codegen in code_generators.values(): + codegen( + "energy", + returns, + output, + expr, + ) + +with Stopwatch("T amplitudes"): + # Get the T1 contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["e1(i,a)"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) + pq.simplify() + terms_t1 = pq.fully_contracted_strings() + + # Get the T2 contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["e2(i,j,b,a)"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t1"]) + pq.simplify() + terms_t2 = pq.fully_contracted_strings() + + # Get the T amplitudes in albert format + terms = [terms_t1, terms_t2] + expr = [] + output = [] + returns = [] + for n in range(2): + for index_spins in get_amplitude_spins(n + 1, spin): + indices = default_indices["o"][: n + 1] + default_indices["v"][: n + 1] + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + expr_n = tuple(e.apply(get_density_fit()) for e in expr_n) + output_n = get_t_amplitude_outputs(expr_n, f"t{n+1}new") + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"t{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + output, expr = optimise(output, expr, spin, strategy="exhaust") + + # Generate the T amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "preamble": "t1new = Namespace()\nt2new = Namespace()" if spin == "uhf" else None, + "as_dict": True, + } + else: + kwargs = {} + codegen( + "update_amps", + returns, + output, + expr, + **kwargs, + ) + +with Stopwatch("L amplitudes"): + # Get the L1 contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["1"]]) + pq.set_right_operators([["1"]]) + pq.add_st_operator(1.0, ["f", "e1(a,i)"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v", "e1(a,i)"], ["t1", "t2"]) + pq.set_left_operators([["l1"], ["l2"]]) + pq.add_st_operator(1.0, ["f", "e1(a,i)"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v", "e1(a,i)"], ["t1", "t2"]) + pq.add_st_operator(-1.0, ["e1(a,i)", "f"], ["t1", "t2"]) + pq.add_st_operator(-1.0, ["e1(a,i)", "v"], ["t1", "t2"]) + pq.simplify() + terms_l1 = pq.fully_contracted_strings() + + # Get the L2 contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["1"]]) + pq.set_right_operators([["1"]]) + pq.add_st_operator(1.0, ["f", "e2(a,b,j,i)"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v", "e2(a,b,j,i)"], ["t1"]) + pq.set_left_operators([["l1"], ["l2"]]) + pq.add_st_operator(1.0, ["f", "e2(a,b,j,i)"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v", "e2(a,b,j,i)"], ["t1"]) + pq.add_st_operator(-1.0, ["e2(a,b,j,i)", "f"], ["t1", "t2"]) + pq.add_st_operator(-1.0, ["e2(a,b,j,i)", "v"], ["t1"]) + pq.simplify() + terms_l2 = pq.fully_contracted_strings() + + # Get the L amplitudes in albert format + terms = [terms_l1, terms_l2] + expr = [] + output = [] + returns = [] + for n in range(2): + for index_spins in get_amplitude_spins(n + 1, spin): + indices = default_indices["v"][: n + 1] + default_indices["o"][: n + 1] + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + expr_n = tuple(e.apply(get_density_fit()) for e in expr_n) + output_n = get_l_amplitude_outputs(expr_n, f"l{n+1}new") + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"l{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + output, expr = optimise(output, expr, spin, strategy="opt") + + # Generate the L amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "preamble": "l1new = Namespace()\nl2new = Namespace()" if spin == "uhf" else None, + "as_dict": True, + } + else: + kwargs = {} + codegen( + "update_lams", + returns, + output, + expr, + **kwargs, + ) + +with Stopwatch("1RDM"): + # Get the 1RDM contractions in pdaggerq format + terms = {} + for sectors, indices in [("oo", "ij"), ("ov", "ia"), ("vo", "ai"), ("vv", "ab")]: + pq.clear() + pq.set_left_operators([["1"], ["l1"], ["l2"]]) + pq.add_st_operator(1.0, [f"e1({','.join(indices)})"], ["t1", "t2"]) + pq.simplify() + terms[sectors, indices] = pq.fully_contracted_strings() + + # Get the 1RDM in albert format + expr = [] + output = [] + returns = [] + for sectors, indices in [("oo", "ij"), ("ov", "ia"), ("vo", "ai"), ("vv", "ab")]: + for index_spins in get_density_spins(1, spin, indices): + expr_n = import_from_pdaggerq(terms[sectors, indices], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + if spin == "rhf": + expr_n = tuple(e * 2 for e in expr_n) + expr_n = tuple(e.apply(get_density_fit()) for e in expr_n) + output_n = get_density_outputs(expr_n, f"d", indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i], space=s) for i, s in zip(indices, sectors)), name=f"d"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + output, expr = optimise(output, expr, spin, strategy="exhaust") + + # Generate the 1RDM code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "preamble": get_density_einsum_preamble(1, spin), + "postamble": get_density_einsum_postamble(1, spin), + } + else: + kwargs = {} + codegen( + "make_rdm1_f", + returns, + output, + expr, + **kwargs, + ) + +with Stopwatch("2RDM"): + # Get the 2RDM contractions in pdaggerq format + terms = {} + for sectors, indices in [ + ("oooo", "ijkl"), + ("ooov", "ijka"), + ("oovo", "ijak"), + ("ovoo", "iajk"), + ("vooo", "aijk"), + ("oovv", "ijab"), + ("ovov", "iajb"), + ("ovvo", "iabj"), + ("voov", "aijb"), + ("vovo", "aibj"), + ("vvoo", "abij"), + ("ovvv", "iabc"), + ("vovv", "aibc"), + ("vvov", "abic"), + ("vvvo", "abci"), + ("vvvv", "abcd"), + ]: + pq.clear() + pq.set_left_operators([["1"], ["l1"], ["l2"]]) + pq.add_st_operator( + 1.0, [f"e2({indices[0]},{indices[1]},{indices[3]},{indices[2]})"], ["t1", "t2"] + ) + pq.simplify() + terms[sectors, indices] = pq.fully_contracted_strings() + + # Get the 2RDM in albert format + expr = [] + output = [] + returns = [] + for sectors, indices in [ + ("oooo", "ijkl"), + ("ooov", "ijka"), + ("oovo", "ijak"), + ("ovoo", "iajk"), + ("vooo", "aijk"), + ("oovv", "ijab"), + ("ovov", "iajb"), + ("ovvo", "iabj"), + ("voov", "aijb"), + ("vovo", "aibj"), + ("vvoo", "abij"), + ("ovvv", "iabc"), + ("vovv", "aibc"), + ("vvov", "abic"), + ("vvvo", "abci"), + ("vvvv", "abcd"), + ]: + for index_spins in get_density_spins(2, spin, indices): + expr_n = import_from_pdaggerq(terms[sectors, indices], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + expr_n = tuple(e.apply(get_density_fit()) for e in expr_n) + output_n = get_density_outputs(expr_n, f"Γ", indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i], space=s) for i, s in zip(indices, sectors)), name=f"Γ"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + output, expr = optimise(output, expr, spin, strategy="trav") + + # Generate the 2RDM code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "preamble": get_density_einsum_preamble(2, spin), + "postamble": get_density_einsum_postamble(2, spin), + } + codegen( + "make_rdm2_f", + returns, + output, + expr, + **kwargs, + ) + +for codegen in code_generators.values(): + codegen.postamble() + codegen.stdout.close() diff --git a/ebcc/codegen/bootstrap_DFCCSD.py b/ebcc/codegen/bootstrap_DFCCSD.py index 112b73dd..646d0b03 100644 --- a/ebcc/codegen/bootstrap_DFCCSD.py +++ b/ebcc/codegen/bootstrap_DFCCSD.py @@ -84,12 +84,11 @@ for n in range(2): for index_spins in get_amplitude_spins(n + 1, spin): indices = default_indices["o"][: n + 1] + default_indices["v"][: n + 1] - indices = tuple(Index(i, index_spins[i]) for i in indices) expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) expr_n = spin_integrate(expr_n, spin) expr_n = tuple(e.apply(get_density_fit()) for e in expr_n) output_n = get_t_amplitude_outputs(expr_n, f"t{n+1}new") - returns_n = (Tensor(*indices, name=f"t{n+1}new"),) + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"t{n+1}new"),) expr.extend(expr_n) output.extend(output_n) returns.extend(returns_n) @@ -149,12 +148,11 @@ for n in range(2): for index_spins in get_amplitude_spins(n + 1, spin): indices = default_indices["v"][: n + 1] + default_indices["o"][: n + 1] - indices = tuple(Index(i, index_spins[i]) for i in indices) expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) expr_n = spin_integrate(expr_n, spin) expr_n = tuple(e.apply(get_density_fit()) for e in expr_n) output_n = get_l_amplitude_outputs(expr_n, f"l{n+1}new") - returns_n = (Tensor(*indices, name=f"l{n+1}new"),) + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"l{n+1}new"),) expr.extend(expr_n) output.extend(output_n) returns.extend(returns_n) diff --git a/ebcc/codegen/bootstrap_DFDCD.py b/ebcc/codegen/bootstrap_DFDCD.py new file mode 100644 index 00000000..08b4f384 --- /dev/null +++ b/ebcc/codegen/bootstrap_DFDCD.py @@ -0,0 +1,111 @@ +""" +Generate the DF-DCD code. +""" + +import sys + +import pdaggerq +from albert.qc._pdaggerq import import_from_pdaggerq +from albert.qc.index import Index +from albert.tensor import Tensor + +from ebcc.codegen.bootstrap_common import * + +# Get the spin case +spin = sys.argv[1] + +# Set up the code generators +code_generators = { + "einsum": EinsumCodeGen( + stdout=open(f"{spin[0].upper()}DF-DCD.py", "w"), + name_generator=name_generators[spin], + spin=spin, + ), +} + +# Write the preamble +for codegen in code_generators.values(): + codegen.preamble() + +# Set up pdaggerq +pq = pdaggerq.pq_helper("fermi") +pq.set_print_level(0) + +with Stopwatch("Energy"): + # Get the energy contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["1"]]) + pq.add_st_operator(1.0, ["f"], ["t2"]) + pq.add_st_operator(1.0, ["v"], ["t2"]) + pq.simplify() + terms = pq.fully_contracted_strings() + terms = remove_hf_energy(terms) + + # Get the energy in albert format + expr = import_from_pdaggerq(terms) + expr = spin_integrate(expr, spin) + expr = tuple(e.apply(get_density_fit()) for e in expr) + output = tuple(Tensor(name="e_cc") for _ in range(len(expr))) + output, expr = optimise(output, expr, spin, strategy="exhaust") + returns = (Tensor(name="e_cc"),) + + # Generate the energy code + for codegen in code_generators.values(): + codegen( + "energy", + returns, + output, + expr, + ) + +with Stopwatch("T amplitudes"): + # Get the T2 contractions in pdaggerq format + # 10.1063/1.4944087 + terms = [ + ["-1.00", "P(i,j)", "f(k,j)", "t2(a,b,i,k)"], + ["+1.00", "P(a,b)", "f(a,c)", "t2(c,b,i,j)"], + ["+1.00", ""], + ["+0.50", "", "t2(a,b,k,l)"], + ["+0.50", "", "t2(c,d,i,j)"], + ["+1.00", "P(i,j)", "P(a,b)", "", "t2(a,c,i,k)"], + ["-0.25", "P(i,j)", "", "t2(d,c,i,k)", "t2(a,b,l,j)"], + ["-0.25", "P(a,b)", "", "t2(a,c,l,k)", "t2(d,b,i,j)"], + ["+0.50", "P(i,j)", "P(a,b)", "", "t2(a,c,i,k)", "t2(b,d,j,l)"], + ] + + # Get the T amplitudes in albert format + expr = [] + output = [] + returns = [] + for index_spins in get_amplitude_spins(2, spin): + indices = default_indices["o"][:2] + default_indices["v"][:2] + expr_n = import_from_pdaggerq(terms, index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + expr_n = tuple(e.apply(get_density_fit()) for e in expr_n) + output_n = get_t_amplitude_outputs(expr_n, f"t2new") + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"t2new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + output, expr = optimise(output, expr, spin, strategy="exhaust") + + # Generate the T amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "preamble": "t1new = Namespace()\nt2new = Namespace()" if spin == "uhf" else None, + "as_dict": True, + } + else: + kwargs = {} + codegen( + "update_amps", + returns, + output, + expr, + **kwargs, + ) + +for codegen in code_generators.values(): + codegen.postamble() + codegen.stdout.close() diff --git a/ebcc/codegen/bootstrap_DFDCSD.py b/ebcc/codegen/bootstrap_DFDCSD.py new file mode 100644 index 00000000..4f40f72b --- /dev/null +++ b/ebcc/codegen/bootstrap_DFDCSD.py @@ -0,0 +1,123 @@ +""" +Generate the DF-DCSD code. +""" + +import sys + +import pdaggerq +from albert.qc._pdaggerq import import_from_pdaggerq +from albert.qc.index import Index +from albert.tensor import Tensor + +from ebcc.codegen.bootstrap_common import * + +# Get the spin case +spin = sys.argv[1] + +# Set up the code generators +code_generators = { + "einsum": EinsumCodeGen( + stdout=open(f"{spin[0].upper()}DFDCSD.py", "w"), + name_generator=name_generators[spin], + spin=spin, + ), +} + +# Write the preamble +for codegen in code_generators.values(): + codegen.preamble() + +# Set up pdaggerq +pq = pdaggerq.pq_helper("fermi") +pq.set_print_level(0) + +with Stopwatch("Energy"): + # Get the energy contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["1"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) + pq.simplify() + terms = pq.fully_contracted_strings() + terms = remove_hf_energy(terms) + + # Get the energy in albert format + expr = import_from_pdaggerq(terms) + expr = spin_integrate(expr, spin) + expr = tuple(e.apply(get_density_fit()) for e in expr) + output = tuple(Tensor(name="e_cc") for _ in range(len(expr))) + output, expr = optimise(output, expr, spin, strategy="exhaust") + returns = (Tensor(name="e_cc"),) + + # Generate the energy code + for codegen in code_generators.values(): + codegen( + "energy", + returns, + output, + expr, + ) + +with Stopwatch("T amplitudes"): + # T1 residuals: + pq.clear() + pq.set_left_operators([["e1(i,a)"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) + pq.simplify() + terms_t1 = pq.fully_contracted_strings() + + # T2 residuals: + pq.clear() + pq.set_left_operators([["e2(i,j,b,a)"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) + pq.simplify() + terms_t2 = pq.fully_contracted_strings() + + # DCD: 10.1063/1.4944087 + terms_t2 = [term for term in terms_t2 if sum(t.startswith("t2") for t in term) < 2] + terms_t2 += [ + ["-0.25", "P(i,j)", "", "t2(d,c,i,k)", "t2(a,b,l,j)"], + ["-0.25", "P(a,b)", "", "t2(a,c,l,k)", "t2(d,b,i,j)"], + ["+0.50", "P(i,j)", "P(a,b)", "", "t2(a,c,i,k)", "t2(b,d,j,l)"], + ] + + # Get the T amplitudes in albert format + terms = [terms_t1, terms_t2] + expr = [] + output = [] + returns = [] + for n in range(2): + for index_spins in get_amplitude_spins(n + 1, spin): + indices = default_indices["o"][: n + 1] + default_indices["v"][: n + 1] + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + expr_n = tuple(e.apply(get_density_fit()) for e in expr_n) + output_n = get_t_amplitude_outputs(expr_n, f"t{n+1}new") + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"t{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + output, expr = optimise(output, expr, spin, strategy="exhaust") + + # Generate the T amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "preamble": "t1new = Namespace()\nt2new = Namespace()" if spin == "uhf" else None, + "as_dict": True, + } + else: + kwargs = {} + codegen( + "update_amps", + returns, + output, + expr, + **kwargs, + ) + +for codegen in code_generators.values(): + codegen.postamble() + codegen.stdout.close() diff --git a/ebcc/codegen/bootstrap_DFQCISD.py b/ebcc/codegen/bootstrap_DFQCISD.py new file mode 100644 index 00000000..e432edcd --- /dev/null +++ b/ebcc/codegen/bootstrap_DFQCISD.py @@ -0,0 +1,127 @@ +""" +Generate the DF-QCISD code. +""" + +import sys + +import pdaggerq +from albert.qc._pdaggerq import import_from_pdaggerq +from albert.qc.index import Index +from albert.tensor import Tensor + +from ebcc.codegen.bootstrap_common import * + +# Get the spin case +spin = sys.argv[1] + +# Set up the code generators +code_generators = { + "einsum": EinsumCodeGen( + stdout=open(f"{spin[0].upper()}DFQCISD.py", "w"), + name_generator=name_generators[spin], + spin=spin, + ), +} + +# Write the preamble +for codegen in code_generators.values(): + codegen.preamble() + +# Set up pdaggerq +pq = pdaggerq.pq_helper("fermi") +pq.set_print_level(0) + +with Stopwatch("Energy"): + # Get the energy contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["1"]]) + pq.add_operator_product(1.0, ["f"]) + pq.add_operator_product(1.0, ["v"]) + pq.add_commutator(1.0, ["f"], ["t2"]) + pq.add_commutator(1.0, ["v"], ["t2"]) + pq.simplify() + terms = pq.fully_contracted_strings() + terms = remove_hf_energy(terms) + + # Get the energy in albert format + expr = import_from_pdaggerq(terms) + expr = spin_integrate(expr, spin) + expr = tuple(e.apply(get_density_fit()) for e in expr) + output = tuple(Tensor(name="e_cc") for _ in range(len(expr))) + output, expr = optimise(output, expr, spin, strategy="exhaust") + returns = (Tensor(name="e_cc"),) + + # Generate the energy code + for codegen in code_generators.values(): + codegen( + "energy", + returns, + output, + expr, + ) + +with Stopwatch("T amplitudes"): + # Get the T1 contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["e1(i,a)"]]) + pq.add_commutator(1.0, ["f"], ["t1"]) + pq.add_commutator(1.0, ["v"], ["t1"]) + pq.add_commutator(1.0, ["f"], ["t2"]) + pq.add_commutator(1.0, ["v"], ["t2"]) + pq.add_double_commutator(1.0, ["f"], ["t1"], ["t2"]) + pq.add_double_commutator(1.0, ["v"], ["t1"], ["t2"]) + pq.simplify() + terms_t1 = pq.fully_contracted_strings() + + # Get the T2 contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["e2(i,j,b,a)"]]) + pq.add_operator_product(1.0, ["f"]) + pq.add_operator_product(1.0, ["v"]) + pq.add_commutator(1.0, ["f"], ["t1"]) + pq.add_commutator(1.0, ["v"], ["t1"]) + pq.add_commutator(1.0, ["f"], ["t2"]) + pq.add_commutator(1.0, ["v"], ["t2"]) + pq.add_double_commutator(0.5, ["f"], ["t2"], ["t2"]) + pq.add_double_commutator(0.5, ["v"], ["t2"], ["t2"]) + pq.simplify() + terms_t2 = pq.fully_contracted_strings() + + # Get the T amplitudes in albert format + terms = [terms_t1, terms_t2] + expr = [] + output = [] + returns = [] + for n in range(2): + for index_spins in get_amplitude_spins(n + 1, spin): + indices = default_indices["o"][: n + 1] + default_indices["v"][: n + 1] + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + expr_n = tuple(e.apply(get_density_fit()) for e in expr_n) + output_n = get_t_amplitude_outputs(expr_n, f"t{n+1}new") + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"t{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + output, expr = optimise(output, expr, spin, strategy="exhaust") + + # Generate the T amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "preamble": "t1new = Namespace()\nt2new = Namespace()" if spin == "uhf" else None, + "as_dict": True, + } + else: + kwargs = {} + codegen( + "update_amps", + returns, + output, + expr, + **kwargs, + ) + +for codegen in code_generators.values(): + codegen.postamble() + codegen.stdout.close() From 6aa75a228bf157c1ee9218846146e25b99cf107b Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Fri, 19 Jul 2024 18:05:28 +0100 Subject: [PATCH 033/168] Triples bootstrapping --- .github/workflows/bootstrap_all.sh | 7 +++++++ ebcc/codegen/bootstrap_CC3.py | 2 +- ebcc/codegen/bootstrap_CCSDT.py | 8 ++++---- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/.github/workflows/bootstrap_all.sh b/.github/workflows/bootstrap_all.sh index cead7a4b..27d8f53f 100644 --- a/.github/workflows/bootstrap_all.sh +++ b/.github/workflows/bootstrap_all.sh @@ -17,3 +17,10 @@ for method in CCD CCSD QCISD CC2 DCD DCSD; do python -W ignore bootstrap_DF${method}.py $i done done + +for method in CC3 CCSDT; do + for i in rhf uhf ghf; do + echo "Bootstrapping $method ($i)" + python -W ignore bootstrap_${method}.py $i + done +done diff --git a/ebcc/codegen/bootstrap_CC3.py b/ebcc/codegen/bootstrap_CC3.py index 6fd1c2b3..a1aa4e18 100644 --- a/ebcc/codegen/bootstrap_CC3.py +++ b/ebcc/codegen/bootstrap_CC3.py @@ -97,7 +97,7 @@ expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) expr_n = spin_integrate(expr_n, spin) output_n = get_t_amplitude_outputs(expr_n, f"t{n+1}new") - returns_n = (Tensor(*indices, name=f"t{n+1}new"),) + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"t{n+1}new"),) expr.extend(expr_n) output.extend(output_n) returns.extend(returns_n) diff --git a/ebcc/codegen/bootstrap_CCSDT.py b/ebcc/codegen/bootstrap_CCSDT.py index 32fa47e8..13bbb971 100644 --- a/ebcc/codegen/bootstrap_CCSDT.py +++ b/ebcc/codegen/bootstrap_CCSDT.py @@ -92,7 +92,7 @@ expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) expr_n = spin_integrate(expr_n, spin) output_n = get_t_amplitude_outputs(expr_n, f"t{n+1}new") - returns_n = (Tensor(*indices, name=f"t{n+1}new"),) + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"t{n+1}new"),) expr.extend(expr_n) output.extend(output_n) returns.extend(returns_n) @@ -169,7 +169,7 @@ expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) expr_n = spin_integrate(expr_n, spin) output_n = get_l_amplitude_outputs(expr_n, f"l{n+1}new") - returns_n = (Tensor(*indices, name=f"l{n+1}new"),) + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"l{n+1}new"),) expr.extend(expr_n) output.extend(output_n) returns.extend(returns_n) @@ -213,7 +213,7 @@ if spin == "rhf": expr_n = tuple(e * 2 for e in expr_n) output_n = get_density_outputs(expr_n, f"d", indices) - returns_n = (Tensor(*indices, name=f"d"),) + returns_n = (Tensor(*tuple(Index(i, index_spins[i], space=s) for i, s in zip(indices, sectors)), name=f"d"),) expr.extend(expr_n) output.extend(output_n) returns.extend(returns_n) @@ -291,7 +291,7 @@ expr_n = import_from_pdaggerq(terms[sectors, indices], index_spins=index_spins) expr_n = spin_integrate(expr_n, spin) output_n = get_density_outputs(expr_n, f"Γ", indices) - returns_n = (Tensor(*indices, name=f"Γ"),) + returns_n = (Tensor(*tuple(Index(i, index_spins[i], space=s) for i, s in zip(indices, sectors)), name=f"Γ"),) expr.extend(expr_n) output.extend(output_n) returns.extend(returns_n) From 40a73e4708430f9c6ef6d1d04b6b057fa20dc1f8 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Fri, 19 Jul 2024 17:48:06 +0100 Subject: [PATCH 034/168] Fix git command --- .github/workflows/bootstrap.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/bootstrap.yaml b/.github/workflows/bootstrap.yaml index 8e51538b..d5ff749f 100644 --- a/.github/workflows/bootstrap.yaml +++ b/.github/workflows/bootstrap.yaml @@ -41,6 +41,7 @@ jobs: env: PYTHONWARNINGS: "ignore" run: | + git fetch --all git checkout bootstrap_ci git merge bootstrap chmod +x .github/workflows/bootstrap_all.sh From afeca3c3dd1ebf2d3598c3d001cbc55c8284543e Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Fri, 19 Jul 2024 17:53:49 +0100 Subject: [PATCH 035/168] Fix git command again --- .github/workflows/bootstrap.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/bootstrap.yaml b/.github/workflows/bootstrap.yaml index d5ff749f..ff6aab29 100644 --- a/.github/workflows/bootstrap.yaml +++ b/.github/workflows/bootstrap.yaml @@ -42,6 +42,8 @@ jobs: PYTHONWARNINGS: "ignore" run: | git fetch --all + git pull origin bootstrap + git pull origin bootstrap_ci git checkout bootstrap_ci git merge bootstrap chmod +x .github/workflows/bootstrap_all.sh From aae9ab8831ec169ee708ce34bd7122392186fd70 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Fri, 19 Jul 2024 18:01:13 +0100 Subject: [PATCH 036/168] Another try --- .github/workflows/bootstrap.yaml | 7 +++---- ebcc/codegen/bootstrap_MPn.py | 2 +- ebcc/codegen/{hugenholtz.py => bootstrap_hugenholtz.py} | 0 3 files changed, 4 insertions(+), 5 deletions(-) rename ebcc/codegen/{hugenholtz.py => bootstrap_hugenholtz.py} (100%) diff --git a/.github/workflows/bootstrap.yaml b/.github/workflows/bootstrap.yaml index ff6aab29..001a79e1 100644 --- a/.github/workflows/bootstrap.yaml +++ b/.github/workflows/bootstrap.yaml @@ -43,16 +43,15 @@ jobs: run: | git fetch --all git pull origin bootstrap - git pull origin bootstrap_ci - git checkout bootstrap_ci - git merge bootstrap + git checkout bootstrap chmod +x .github/workflows/bootstrap_all.sh cd ebcc/codegen && ./../../.github/workflows/bootstrap_all.sh git config --global user.name "github-actions[bot]" git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com" + git checkout -b bootstrap_ci git add *.py git commit -m "Bootstrap via ${{ github.sha }}" - git push origin bootstrap_ci + git push origin bootstrap_ci --force - name: Run unit tests run: | python -m pip install pytest diff --git a/ebcc/codegen/bootstrap_MPn.py b/ebcc/codegen/bootstrap_MPn.py index 26ce67d7..5fbd8feb 100644 --- a/ebcc/codegen/bootstrap_MPn.py +++ b/ebcc/codegen/bootstrap_MPn.py @@ -8,7 +8,7 @@ from albert.qc._pdaggerq import import_from_pdaggerq from albert.tensor import Tensor -from ebcc.codegen import hugenholtz +from ebcc.codegen import bootstrap_hugenholtz as hugenholtz from ebcc.codegen.bootstrap_common import * # Get the spin case diff --git a/ebcc/codegen/hugenholtz.py b/ebcc/codegen/bootstrap_hugenholtz.py similarity index 100% rename from ebcc/codegen/hugenholtz.py rename to ebcc/codegen/bootstrap_hugenholtz.py From 6c84fbe5cbb2990d76f7cf7fab36be52376fa235 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Mon, 22 Jul 2024 18:04:22 +0100 Subject: [PATCH 037/168] EOM bootstrapping --- ebcc/codegen/GCCSD.py | 1533 +++++-- ebcc/codegen/RCCSD.py | 2163 ++++----- ebcc/codegen/UCCSD.py | 7117 +++++++++++++++++++++--------- ebcc/codegen/bootstrap_CCSD.py | 173 + ebcc/codegen/bootstrap_CCSDT.py | 2 +- ebcc/codegen/bootstrap_common.py | 67 +- 6 files changed, 7331 insertions(+), 3724 deletions(-) diff --git a/ebcc/codegen/GCCSD.py b/ebcc/codegen/GCCSD.py index 69f97dd8..aaa40c0b 100644 --- a/ebcc/codegen/GCCSD.py +++ b/ebcc/codegen/GCCSD.py @@ -2,7 +2,7 @@ Code generated by `albert`: https://github.com/obackhouse/albert - * date: 2024-07-18T20:10:22.664181 + * date: 2024-07-22T17:08:27.959379 * python version: 3.10.12 (main, Mar 22 2024, 16:50:05) [GCC 11.4.0] * albert version: 0.0.0 * caller: /home/ollie/git/albert/albert/codegen/einsum.py @@ -18,7 +18,7 @@ def energy(f=None, t1=None, t2=None, v=None, **kwargs): """ - Code generated by `albert` 0.0.0 on 2024-07-18T20:10:22.833677. + Code generated by `albert` 0.0.0 on 2024-07-22T17:08:28.105863. Parameters ---------- @@ -37,17 +37,17 @@ def energy(f=None, t1=None, t2=None, v=None, **kwargs): Coupled cluster energy. """ - tmp0 = t2.transpose((1, 0, 3, 2)).copy() - tmp0 += einsum(t1, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) * 2 + tmp0 = t2.copy() + tmp0 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) * 2 e_cc = einsum(v.oovv, (0, 1, 2, 3), tmp0, (0, 1, 2, 3), (), optimize=True) * 0.25 del tmp0 - e_cc += einsum(f.ov, (0, 1), t1, (0, 1), (), optimize=True) + e_cc += einsum(t1, (0, 1), f.ov, (0, 1), (), optimize=True) return e_cc def update_amps(f=None, t1=None, t2=None, v=None, **kwargs): """ - Code generated by `albert` 0.0.0 on 2024-07-18T20:10:27.948736. + Code generated by `albert` 0.0.0 on 2024-07-22T17:08:32.712017. Parameters ---------- @@ -69,166 +69,166 @@ def update_amps(f=None, t1=None, t2=None, v=None, **kwargs): """ tmp3 = einsum(v.oovv, (0, 1, 2, 3), t1, (1, 3), (0, 2), optimize=True) - tmp21 = einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 2, 3), (0, 1, 4, 5), optimize=True) - tmp20 = einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) - tmp9 = einsum(v.ovvv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2), optimize=True) - tmp39 = einsum(v.ooov, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2), optimize=True) - tmp7 = t2.transpose((1, 0, 3, 2)).copy() - tmp7 += einsum(t1, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) * 2 - tmp37 = einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 2, 3), (0, 4), optimize=True) * -1 + tmp41 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 5, 2, 3), (4, 5, 0, 1), optimize=True) + tmp40 = einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) + tmp13 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 1, 5, 3), (0, 4, 5, 2), optimize=True) + tmp15 = t2.copy() + tmp15 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 3, 1), optimize=True) * -1 tmp5 = einsum(f.ov, (0, 1), t1, (2, 1), (0, 2), optimize=True) - tmp44 = einsum(tmp3, (0, 1), t1, (2, 1), (2, 0), optimize=True) - tmp6 = einsum(t1, (0, 1), v.ooov, (0, 2, 3, 1), (2, 3), optimize=True) * -1 + tmp26 = einsum(v.ooov, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2), optimize=True) + tmp7 = t2.copy() + tmp7 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) * 2 + tmp24 = einsum(v.oovv, (0, 1, 2, 3), t2, (4, 1, 2, 3), (4, 0), optimize=True) tmp0 = einsum(t1, (0, 1), v.oovv, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) - tmp13 = einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 3, 5), (0, 4, 2, 5), optimize=True) - tmp15 = einsum(tmp3, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4), optimize=True) * -1 - tmp11 = einsum(v.ovvv, (0, 1, 2, 3), t1, (0, 2), (1, 3), optimize=True) * -1 - tmp31 = einsum(v.ooov, (0, 1, 2, 3), t2, (4, 0, 5, 3), (4, 1, 2, 5), optimize=True) * -1 - tmp33 = t2.transpose((1, 0, 3, 2)).copy() - tmp33 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 3, 1), optimize=True) * -1 - tmp22 = tmp20.transpose((0, 2, 1, 3)).copy() * -1 - del tmp20 - tmp22 += tmp21.transpose((2, 1, 0, 3)) * 0.5 - del tmp21 - tmp18 = einsum(v.oovv, (0, 1, 2, 3), t2, (0, 1, 4, 2), (4, 3), optimize=True) * -1 - tmp27 = einsum(v.ooov, (0, 1, 2, 3), t1, (2, 4), (0, 1, 4, 3), optimize=True) - tmp28 = einsum(f.vv, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4), optimize=True) - tmp25 = einsum(tmp9, (0, 1, 2, 3), t1, (4, 3), (0, 4, 1, 2), optimize=True) * -1 - tmp40 = einsum(tmp7, (0, 1, 2, 3), tmp39, (4, 0, 1, 5), (4, 5, 2, 3), optimize=True) * 0.5 - del tmp39 - tmp38 = einsum(tmp37, (0, 1), t2, (2, 1, 3, 4), (2, 0, 3, 4), optimize=True) - del tmp37 - tmp36 = einsum(t2, (0, 1, 2, 3), tmp5, (1, 4), (4, 0, 2, 3), optimize=True) - tmp45 = einsum(tmp44, (0, 1), t2, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) * -1 - del tmp44 - tmp42 = einsum(v.ovvv, (0, 1, 2, 3), t1, (4, 1), (4, 0, 2, 3), optimize=True) - tmp43 = einsum(tmp6, (0, 1), t2, (2, 0, 3, 4), (2, 1, 3, 4), optimize=True) * -1 - tmp47 = einsum(t2, (0, 1, 2, 3), tmp0, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) - tmp14 = einsum(tmp13, (0, 1, 2, 3), t2, (4, 1, 5, 3), (0, 4, 2, 5), optimize=True) + tmp20 = einsum(t1, (0, 1), tmp3, (2, 1), (0, 2), optimize=True) + tmp6 = einsum(t1, (0, 1), v.ooov, (2, 0, 3, 1), (2, 3), optimize=True) + tmp38 = einsum(t2, (0, 1, 2, 3), v.oovv, (0, 1, 4, 3), (2, 4), optimize=True) + tmp42 = tmp40.transpose((0, 2, 1, 3)).copy() * -1 + del tmp40 + tmp42 += tmp41.transpose((2, 1, 0, 3)) * 0.5 + del tmp41 + tmp33 = einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 3), (0, 4, 2, 5), optimize=True) + tmp35 = einsum(t2, (0, 1, 2, 3), tmp3, (4, 3), (0, 1, 4, 2), optimize=True) * -1 + tmp31 = einsum(t1, (0, 1), v.ovvv, (0, 2, 3, 1), (2, 3), optimize=True) + tmp29 = einsum(v.ovvv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2), optimize=True) + tmp14 = einsum(t1, (0, 1), tmp13, (2, 0, 3, 4), (2, 3, 1, 4), optimize=True) del tmp13 - tmp16 = einsum(t1, (0, 1), tmp15, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) + tmp16 = einsum(v.ovov, (0, 1, 2, 3), tmp15, (2, 4, 1, 5), (4, 0, 5, 3), optimize=True) del tmp15 - tmp12 = einsum(tmp11, (0, 1), t2, (2, 3, 4, 1), (2, 3, 4, 0), optimize=True) * -1 - del tmp11 - tmp32 = einsum(tmp31, (0, 1, 2, 3), t1, (1, 4), (0, 2, 4, 3), optimize=True) - del tmp31 - tmp34 = einsum(v.ovov, (0, 1, 2, 3), tmp33, (0, 4, 3, 5), (4, 2, 5, 1), optimize=True) - del tmp33 - tmp23 = einsum(t1, (0, 1), tmp22, (0, 2, 3, 4), (2, 3, 4, 1), optimize=True) - del tmp22 - tmp19 = einsum(t2, (0, 1, 2, 3), tmp18, (4, 3), (0, 1, 2, 4), optimize=True) - del tmp18 - tmp29 = tmp27.transpose((1, 0, 2, 3)).copy() * -1 - del tmp27 - tmp29 += tmp28.transpose((1, 0, 2, 3)) * -1 - del tmp28 - t2new = tmp29.transpose((0, 1, 3, 2)).copy() - t2new += tmp29 * -1 - del tmp29 - tmp26 = einsum(t1, (0, 1), tmp25, (2, 3, 0, 4), (3, 2, 1, 4), optimize=True) * -1 - del tmp25 - t2new += tmp26.transpose((0, 1, 3, 2)) - t2new += tmp26 * -1 + tmp23 = einsum(tmp5, (0, 1), t2, (2, 0, 3, 4), (1, 2, 3, 4), optimize=True) + tmp27 = einsum(tmp26, (0, 1, 2, 3), tmp7, (1, 2, 4, 5), (0, 3, 4, 5), optimize=True) * 0.5 del tmp26 - tmp30 = einsum(t2, (0, 1, 2, 3), f.oo, (4, 1), (4, 0, 2, 3), optimize=True) - t2new += tmp30.transpose((1, 0, 3, 2)) - t2new += tmp30.transpose((0, 1, 3, 2)) * -1 - del tmp30 - tmp41 = tmp36.transpose((0, 1, 3, 2)).copy() - del tmp36 - tmp41 += tmp38.transpose((0, 1, 3, 2)) * -0.5 + tmp25 = einsum(t2, (0, 1, 2, 3), tmp24, (4, 1), (0, 4, 2, 3), optimize=True) + del tmp24 + tmp47 = einsum(t2, (0, 1, 2, 3), tmp0, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) + tmp21 = einsum(tmp20, (0, 1), t2, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) * -1 + del tmp20 + tmp18 = einsum(v.ovvv, (0, 1, 2, 3), t1, (4, 1), (4, 0, 2, 3), optimize=True) + tmp19 = einsum(tmp6, (0, 1), t2, (2, 0, 3, 4), (2, 1, 3, 4), optimize=True) * -1 + tmp39 = einsum(t2, (0, 1, 2, 3), tmp38, (4, 3), (0, 1, 2, 4), optimize=True) del tmp38 - tmp41 += tmp40.transpose((0, 1, 3, 2)) * -1 - del tmp40 - t2new += tmp41.transpose((1, 0, 2, 3)) - t2new += tmp41 * -1 - del tmp41 - tmp46 = tmp42.transpose((0, 1, 3, 2)).copy() * -1 + tmp43 = einsum(t1, (0, 1), tmp42, (0, 2, 3, 4), (2, 3, 4, 1), optimize=True) del tmp42 - tmp46 += tmp43.transpose((0, 1, 3, 2)) - del tmp43 - tmp46 += tmp45.transpose((0, 1, 3, 2)) * -1 - del tmp45 - t2new += tmp46.transpose((1, 0, 2, 3)) - t2new += tmp46 * -1 - del tmp46 - tmp10 = einsum(tmp9, (0, 1, 2, 3), t2, (4, 1, 5, 3), (0, 4, 5, 2), optimize=True) * -1 - del tmp9 - t2new += tmp10.transpose((1, 0, 3, 2)) - t2new += tmp10.transpose((1, 0, 2, 3)) * -1 - t2new += tmp10.transpose((0, 1, 3, 2)) * -1 - t2new += tmp10 - del tmp10 - tmp48 = einsum(t1, (0, 1), tmp47, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) - del tmp47 - t2new += tmp48.transpose((1, 0, 3, 2)) * -1 - t2new += tmp48.transpose((1, 0, 2, 3)) - t2new += tmp48.transpose((0, 1, 3, 2)) - t2new += tmp48 * -1 - del tmp48 - tmp17 = tmp12.copy() - del tmp12 - tmp17 += tmp14 + tmp34 = einsum(t2, (0, 1, 2, 3), tmp33, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) + del tmp33 + tmp36 = einsum(tmp35, (0, 1, 2, 3), t1, (2, 4), (0, 1, 4, 3), optimize=True) + del tmp35 + tmp32 = einsum(tmp31, (0, 1), t2, (2, 3, 4, 1), (2, 3, 4, 0), optimize=True) * -1 + del tmp31 + tmp45 = einsum(tmp29, (0, 1, 2, 3), t1, (4, 3), (0, 4, 1, 2), optimize=True) * -1 + tmp9 = einsum(t1, (0, 1), v.ooov, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) + tmp10 = einsum(t2, (0, 1, 2, 3), f.vv, (4, 3), (0, 1, 4, 2), optimize=True) + tmp17 = tmp14.copy() del tmp14 tmp17 += tmp16 * -1 del tmp16 + t2new = tmp17.transpose((1, 0, 3, 2)).copy() + t2new += tmp17.transpose((1, 0, 2, 3)) * -1 t2new += tmp17.transpose((0, 1, 3, 2)) * -1 t2new += tmp17 del tmp17 - tmp35 = tmp32.copy() - del tmp32 - tmp35 += tmp34 * -1 - del tmp34 - t2new += tmp35.transpose((1, 0, 3, 2)) - t2new += tmp35.transpose((1, 0, 2, 3)) * -1 - t2new += tmp35.transpose((0, 1, 3, 2)) * -1 - t2new += tmp35 - del tmp35 - tmp24 = tmp19.copy() * 0.5 - del tmp19 - tmp24 += tmp23.transpose((1, 0, 3, 2)) + tmp28 = tmp23.transpose((0, 1, 3, 2)).copy() del tmp23 - t2new += tmp24.transpose((0, 1, 3, 2)) - t2new += tmp24 * -1 - del tmp24 - tmp49 = v.oooo.transpose((2, 3, 1, 0)).copy() * -1 - tmp49 += einsum(v.oovv, (0, 1, 2, 3), tmp7, (4, 5, 2, 3), (1, 0, 5, 4), optimize=True) * 0.5 + tmp28 += tmp25.transpose((0, 1, 3, 2)) * -0.5 + del tmp25 + tmp28 += tmp27.transpose((0, 1, 3, 2)) * -1 + del tmp27 + t2new += tmp28.transpose((1, 0, 2, 3)) + t2new += tmp28 * -1 + del tmp28 + tmp49 = v.oooo.copy() + tmp49 += einsum(v.oovv, (0, 1, 2, 3), tmp7, (4, 5, 2, 3), (0, 1, 5, 4), optimize=True) * -0.5 t2new += einsum(tmp7, (0, 1, 2, 3), tmp49, (0, 1, 4, 5), (4, 5, 3, 2), optimize=True) * -0.5 del tmp49 - tmp2 = t2.transpose((1, 0, 3, 2)).copy() * 0.5 - tmp2 += einsum(t1, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) - t2new += einsum(tmp2, (0, 1, 2, 3), v.vvvv, (2, 3, 4, 5), (1, 0, 4, 5), optimize=True) * -1 - t1new = einsum(tmp2, (0, 1, 2, 3), v.ovvv, (0, 4, 2, 3), (1, 4), optimize=True) + tmp48 = einsum(t1, (0, 1), tmp47, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) + del tmp47 + t2new += tmp48.transpose((1, 0, 3, 2)) * -1 + t2new += tmp48.transpose((1, 0, 2, 3)) + t2new += tmp48.transpose((0, 1, 3, 2)) + t2new += tmp48 * -1 + del tmp48 + tmp30 = einsum(tmp29, (0, 1, 2, 3), t2, (4, 1, 5, 3), (0, 4, 5, 2), optimize=True) * -1 + del tmp29 + t2new += tmp30.transpose((1, 0, 3, 2)) + t2new += tmp30.transpose((1, 0, 2, 3)) * -1 + t2new += tmp30.transpose((0, 1, 3, 2)) * -1 + t2new += tmp30 + del tmp30 + tmp22 = tmp18.transpose((0, 1, 3, 2)).copy() * -1 + del tmp18 + tmp22 += tmp19.transpose((0, 1, 3, 2)) + del tmp19 + tmp22 += tmp21.transpose((0, 1, 3, 2)) * -1 + del tmp21 + t2new += tmp22.transpose((1, 0, 2, 3)) + t2new += tmp22 * -1 + del tmp22 + tmp2 = t2.copy() * 0.5 + tmp2 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) + t2new += einsum(tmp2, (0, 1, 2, 3), v.vvvv, (4, 5, 2, 3), (1, 0, 4, 5), optimize=True) * -1 + t1new = einsum(v.ovvv, (0, 1, 2, 3), tmp2, (0, 4, 2, 3), (4, 1), optimize=True) del tmp2 - tmp8 = f.oo.transpose((1, 0)).copy() * 2 - tmp8 += tmp5 * 2 - del tmp5 - tmp8 += tmp6 * 2 - del tmp6 - tmp8 += einsum(v.oovv, (0, 1, 2, 3), tmp7, (0, 4, 2, 3), (1, 4), optimize=True) - del tmp7 - t1new += einsum(tmp8, (0, 1), t1, (0, 2), (1, 2), optimize=True) * -0.5 - del tmp8 + tmp44 = tmp39.copy() * 0.5 + del tmp39 + tmp44 += tmp43.transpose((1, 0, 3, 2)) + del tmp43 + t2new += tmp44.transpose((0, 1, 3, 2)) + t2new += tmp44 * -1 + del tmp44 + tmp37 = tmp32.copy() + del tmp32 + tmp37 += tmp34 + del tmp34 + tmp37 += tmp36 * -1 + del tmp36 + t2new += tmp37.transpose((0, 1, 3, 2)) * -1 + t2new += tmp37 + del tmp37 + tmp46 = einsum(t1, (0, 1), tmp45, (2, 3, 0, 4), (3, 2, 1, 4), optimize=True) * -1 + del tmp45 + t2new += tmp46.transpose((0, 1, 3, 2)) + t2new += tmp46 * -1 + del tmp46 + tmp12 = einsum(f.oo, (0, 1), t2, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) + t2new += tmp12.transpose((1, 0, 3, 2)) + t2new += tmp12.transpose((0, 1, 3, 2)) * -1 + del tmp12 + tmp11 = tmp9.transpose((1, 0, 2, 3)).copy() * -1 + del tmp9 + tmp11 += tmp10.transpose((1, 0, 2, 3)) * -1 + del tmp10 + t2new += tmp11.transpose((0, 1, 3, 2)) + t2new += tmp11 * -1 + del tmp11 tmp4 = f.ov.copy() tmp4 += tmp3 del tmp3 - t1new += einsum(t2, (0, 1, 2, 3), tmp4, (0, 2), (1, 3), optimize=True) + t1new += einsum(tmp4, (0, 1), t2, (2, 0, 3, 1), (2, 3), optimize=True) del tmp4 - tmp1 = v.ooov.transpose((2, 1, 0, 3)).copy() + tmp8 = f.oo.copy() + tmp8 += tmp5 + del tmp5 + tmp8 += tmp6 + del tmp6 + tmp8 += einsum(v.oovv, (0, 1, 2, 3), tmp7, (1, 4, 2, 3), (0, 4), optimize=True) * -0.5 + del tmp7 + t1new += einsum(tmp8, (0, 1), t1, (0, 2), (1, 2), optimize=True) * -1 + del tmp8 + tmp1 = v.ovoo.transpose((0, 2, 3, 1)).copy() * -1 tmp1 += tmp0.transpose((0, 2, 1, 3)) * -1 del tmp0 - t1new += einsum(tmp1, (0, 1, 2, 3), t2, (1, 2, 3, 4), (0, 4), optimize=True) * -0.5 + t1new += einsum(tmp1, (0, 1, 2, 3), t2, (1, 2, 4, 3), (0, 4), optimize=True) * 0.5 del tmp1 - t1new += f.ov + t1new += einsum(t1, (0, 1), f.vv, (2, 1), (0, 2), optimize=True) t1new += einsum(v.ovov, (0, 1, 2, 3), t1, (2, 1), (0, 3), optimize=True) * -1 - t1new += einsum(f.vv, (0, 1), t1, (2, 1), (2, 0), optimize=True) - t2new += v.oovv.transpose((1, 0, 3, 2)) + t1new += f.ov + t2new += v.oovv return {f"t1new": t1new, f"t2new": t2new} def update_lams(f=None, l1=None, l2=None, t1=None, t2=None, v=None, **kwargs): """ - Code generated by `albert` 0.0.0 on 2024-07-18T20:10:35.470671. + Code generated by `albert` 0.0.0 on 2024-07-22T17:08:39.381180. Parameters ---------- @@ -253,207 +253,209 @@ def update_lams(f=None, l1=None, l2=None, t1=None, t2=None, v=None, **kwargs): Updated L2 residuals. """ - tmp27 = einsum(v.oovv, (0, 1, 2, 3), t2, (1, 4, 2, 3), (4, 0), optimize=True) * -1 - tmp26 = einsum(t1, (0, 1), v.ooov, (2, 0, 3, 1), (2, 3), optimize=True) - tmp19 = einsum(l1, (0, 1), t1, (2, 0), (1, 2), optimize=True) - tmp20 = einsum(l2, (0, 1, 2, 3), t2, (2, 4, 0, 1), (3, 4), optimize=True) - tmp35 = einsum(t2, (0, 1, 2, 3), v.oovv, (0, 1, 4, 2), (3, 4), optimize=True) * -1 - tmp24 = einsum(v.ovvv, (0, 1, 2, 3), t1, (0, 3), (1, 2), optimize=True) tmp5 = einsum(t1, (0, 1), v.oovv, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) - tmp4 = einsum(v.ovvv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2), optimize=True) + tmp2 = einsum(v.ovvv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2), optimize=True) + tmp32 = einsum(t2, (0, 1, 2, 3), v.oovv, (0, 1, 4, 3), (2, 4), optimize=True) + tmp25 = einsum(t1, (0, 1), v.ovvv, (0, 2, 3, 1), (2, 3), optimize=True) + tmp27 = einsum(t1, (0, 1), v.ooov, (2, 0, 3, 1), (2, 3), optimize=True) + tmp28 = einsum(v.oovv, (0, 1, 2, 3), t2, (4, 1, 2, 3), (4, 0), optimize=True) + tmp21 = einsum(t2, (0, 1, 2, 3), l2, (2, 3, 4, 1), (4, 0), optimize=True) + tmp20 = einsum(t1, (0, 1), l1, (1, 2), (2, 0), optimize=True) tmp1 = einsum(l2, (0, 1, 2, 3), t1, (4, 1), (2, 3, 4, 0), optimize=True) - l2new = einsum(v.ovvv, (0, 1, 2, 3), tmp1, (4, 5, 0, 1), (2, 3, 4, 5), optimize=True) - l1new = einsum(v.ovov, (0, 1, 2, 3), tmp1, (4, 0, 2, 3), (1, 4), optimize=True) * -1 - l1new += einsum(tmp1, (0, 1, 2, 3), tmp4, (1, 2, 3, 4), (4, 0), optimize=True) - tmp52 = einsum(t2, (0, 1, 2, 3), v.oovv, (4, 0, 2, 5), (1, 4, 3, 5), optimize=True) * -1 - tmp43 = einsum(f.ov, (0, 1), t1, (2, 1), (0, 2), optimize=True) - tmp46 = tmp26.copy() * 2 - tmp46 += tmp27.transpose((1, 0)) - tmp23 = tmp19.copy() - tmp23 += tmp20 * 0.5 - l1new += einsum(tmp23, (0, 1), v.ooov, (1, 2, 0, 3), (3, 2), optimize=True) * -1 - tmp36 = tmp24.copy() - tmp36 += tmp35 * 0.5 - del tmp35 - tmp6 = v.ooov.transpose((2, 1, 0, 3)).copy() - tmp6 += tmp5.transpose((0, 2, 1, 3)) * -1 - tmp17 = einsum(t2, (0, 1, 2, 3), l2, (2, 4, 0, 1), (4, 3), optimize=True) - tmp7 = einsum(v.oovv, (0, 1, 2, 3), t1, (1, 3), (0, 2), optimize=True) - tmp30 = v.ovov.transpose((2, 0, 1, 3)).copy() * -1 - tmp30 += tmp4 - tmp0 = einsum(t2, (0, 1, 2, 3), l2, (2, 3, 4, 5), (4, 5, 0, 1), optimize=True) - l1new += einsum(v.ooov, (0, 1, 2, 3), tmp0, (4, 2, 0, 1), (3, 4), optimize=True) * -0.25 - tmp2 = einsum(tmp1, (0, 1, 2, 3), t1, (4, 3), (0, 1, 4, 2), optimize=True) - l1new += einsum(tmp2, (0, 1, 2, 3), v.ooov, (3, 2, 1, 4), (4, 0), optimize=True) * 0.5 - tmp11 = v.ooov.transpose((1, 0, 2, 3)).copy() * -1 + l2new = einsum(tmp1, (0, 1, 2, 3), v.ovvv, (2, 3, 4, 5), (4, 5, 0, 1), optimize=True) + l1new = einsum(tmp1, (0, 1, 2, 3), v.ovov, (2, 3, 1, 4), (4, 0), optimize=True) * -1 + l1new += einsum(tmp1, (0, 1, 2, 3), tmp2, (1, 2, 3, 4), (4, 0), optimize=True) + tmp11 = v.ooov.copy() tmp11 += tmp5.transpose((2, 1, 0, 3)) * 0.5 - tmp10 = einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 2, 3), (0, 1, 4, 5), optimize=True) - tmp53 = einsum(tmp52, (0, 1, 2, 3), l2, (4, 2, 0, 5), (5, 1, 4, 3), optimize=True) * -1 - del tmp52 - tmp54 = einsum(tmp5, (0, 1, 2, 3), tmp1, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) * -1 - del tmp5 - tmp44 = einsum(l2, (0, 1, 2, 3), tmp43, (4, 3), (4, 2, 0, 1), optimize=True) + tmp47 = v.ovov.transpose((0, 2, 3, 1)).copy() * -1 + tmp47 += tmp2 + tmp7 = einsum(v.oovv, (0, 1, 2, 3), t1, (1, 3), (0, 2), optimize=True) + tmp6 = v.ovoo.transpose((0, 2, 3, 1)).copy() * -1 + tmp6 += tmp5.transpose((0, 2, 1, 3)) * -1 + tmp18 = einsum(t2, (0, 1, 2, 3), l2, (4, 3, 0, 1), (4, 2), optimize=True) + tmp33 = tmp25.copy() + tmp33 += tmp32 * 0.5 + del tmp32 + tmp40 = einsum(f.ov, (0, 1), t1, (2, 1), (0, 2), optimize=True) + tmp43 = tmp27.copy() * 2 + tmp43 += tmp28.transpose((1, 0)) + tmp24 = tmp20.copy() + tmp24 += tmp21 * 0.5 + l1new += einsum(v.ooov, (0, 1, 2, 3), tmp24, (2, 1), (3, 0), optimize=True) + tmp53 = einsum(v.oovv, (0, 1, 2, 3), t2, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) + tmp4 = einsum(t1, (0, 1), tmp1, (2, 3, 4, 1), (2, 3, 0, 4), optimize=True) + l1new += einsum(tmp4, (0, 1, 2, 3), v.ooov, (2, 3, 1, 4), (4, 0), optimize=True) * -0.5 + tmp3 = einsum(l2, (0, 1, 2, 3), t2, (4, 5, 0, 1), (2, 3, 4, 5), optimize=True) + l1new += einsum(v.ovoo, (0, 1, 2, 3), tmp3, (4, 0, 3, 2), (1, 4), optimize=True) * 0.25 + tmp10 = einsum(v.oovv, (0, 1, 2, 3), t2, (4, 5, 2, 3), (4, 5, 0, 1), optimize=True) + tmp12 = einsum(tmp11, (0, 1, 2, 3), t1, (4, 3), (0, 1, 2, 4), optimize=True) + del tmp11 + tmp48 = einsum(tmp47, (0, 1, 2, 3), l2, (4, 2, 5, 0), (1, 5, 3, 4), optimize=True) + del tmp47 + tmp46 = einsum(tmp1, (0, 1, 2, 3), v.ooov, (4, 2, 1, 5), (0, 4, 3, 5), optimize=True) + tmp50 = einsum(f.vv, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2), optimize=True) + tmp51 = einsum(tmp7, (0, 1), tmp1, (2, 3, 0, 4), (2, 3, 4, 1), optimize=True) + tmp35 = einsum(tmp6, (0, 1, 2, 3), l1, (4, 0), (1, 2, 3, 4), optimize=True) + tmp31 = einsum(tmp18, (0, 1), v.oovv, (2, 3, 4, 1), (2, 3, 0, 4), optimize=True) * -1 + tmp34 = einsum(l2, (0, 1, 2, 3), tmp33, (1, 4), (2, 3, 4, 0), optimize=True) * -1 + del tmp33 + tmp30 = einsum(f.ov, (0, 1), tmp1, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) + tmp41 = einsum(l2, (0, 1, 2, 3), tmp40, (4, 3), (4, 2, 0, 1), optimize=True) + del tmp40 + tmp44 = einsum(l2, (0, 1, 2, 3), tmp43, (4, 3), (4, 2, 0, 1), optimize=True) * -0.5 del tmp43 - tmp47 = einsum(l2, (0, 1, 2, 3), tmp46, (4, 2), (4, 3, 0, 1), optimize=True) * 0.5 - del tmp46 - tmp45 = einsum(tmp23, (0, 1), v.oovv, (1, 2, 3, 4), (0, 2, 3, 4), optimize=True) - tmp40 = einsum(l2, (0, 1, 2, 3), f.oo, (4, 3), (4, 2, 0, 1), optimize=True) - tmp41 = einsum(v.ovvv, (0, 1, 2, 3), l1, (1, 4), (4, 0, 2, 3), optimize=True) - tmp37 = einsum(l2, (0, 1, 2, 3), tmp36, (0, 4), (2, 3, 4, 1), optimize=True) - del tmp36 - tmp38 = einsum(tmp6, (0, 1, 2, 3), l1, (4, 0), (1, 2, 3, 4), optimize=True) - tmp33 = einsum(f.ov, (0, 1), tmp1, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) - tmp34 = einsum(v.oovv, (0, 1, 2, 3), tmp17, (4, 3), (1, 0, 4, 2), optimize=True) - tmp49 = einsum(f.vv, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2), optimize=True) - tmp50 = einsum(tmp7, (0, 1), tmp1, (2, 3, 0, 4), (2, 3, 4, 1), optimize=True) - tmp29 = einsum(tmp1, (0, 1, 2, 3), v.ooov, (4, 2, 1, 5), (0, 4, 3, 5), optimize=True) - tmp31 = einsum(l2, (0, 1, 2, 3), tmp30, (2, 4, 0, 5), (4, 3, 5, 1), optimize=True) - del tmp30 - tmp56 = einsum(tmp7, (0, 1), t1, (2, 1), (2, 0), optimize=True) - tmp21 = tmp19.copy() * 2 - del tmp19 - tmp21 += tmp20 + tmp42 = einsum(v.oovv, (0, 1, 2, 3), tmp24, (4, 1), (4, 0, 2, 3), optimize=True) * -1 + tmp55 = einsum(tmp5, (0, 1, 2, 3), tmp1, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) * -1 + del tmp5 + tmp54 = einsum(tmp53, (0, 1, 2, 3), l2, (4, 2, 5, 0), (5, 1, 4, 3), optimize=True) + del tmp53 + tmp38 = einsum(v.ovvv, (0, 1, 2, 3), l1, (1, 4), (4, 0, 2, 3), optimize=True) + tmp37 = einsum(l2, (0, 1, 2, 3), f.oo, (4, 3), (4, 2, 0, 1), optimize=True) + tmp57 = einsum(tmp7, (0, 1), t1, (2, 1), (2, 0), optimize=True) + tmp22 = tmp20.copy() * 2 del tmp20 - tmp15 = tmp0.transpose((1, 0, 3, 2)).copy() * -0.5 - tmp15 += tmp2.transpose((0, 1, 3, 2)) + tmp22 += tmp21 + del tmp21 tmp8 = f.ov.copy() tmp8 += tmp7 - l1new += einsum(tmp8, (0, 1), tmp23, (2, 0), (1, 2), optimize=True) * -1 - del tmp23 - tmp12 = v.oooo.transpose((2, 3, 1, 0)).copy() * 0.5 - tmp12 += tmp10.transpose((3, 2, 1, 0)) * -0.25 - tmp12 += einsum(tmp11, (0, 1, 2, 3), t1, (4, 3), (1, 0, 4, 2), optimize=True) * -1 - tmp9 = v.ovov.transpose((2, 0, 3, 1)).copy() - tmp9 += tmp4.transpose((0, 1, 3, 2)) * -0.5 - del tmp4 - tmp55 = tmp53.copy() - del tmp53 - tmp55 += tmp54 * -1 - del tmp54 - l2new += tmp55.transpose((3, 2, 1, 0)) - l2new += tmp55.transpose((2, 3, 1, 0)) * -1 - l2new += tmp55.transpose((3, 2, 0, 1)) * -1 - l2new += tmp55.transpose((2, 3, 0, 1)) - del tmp55 - tmp59 = tmp0.transpose((1, 0, 3, 2)).copy() * -1 - del tmp0 - tmp59 += tmp2.transpose((0, 1, 3, 2)) * 2 + l1new += einsum(tmp8, (0, 1), tmp24, (2, 0), (1, 2), optimize=True) * -1 + del tmp24 + tmp16 = tmp3.transpose((1, 0, 3, 2)).copy() * -0.5 + tmp16 += tmp4.transpose((0, 1, 3, 2)) + tmp9 = v.ovov.transpose((0, 2, 1, 3)).copy() + tmp9 += tmp2.transpose((0, 1, 3, 2)) * -0.5 del tmp2 - l2new += einsum(tmp59, (0, 1, 2, 3), v.oovv, (2, 3, 4, 5), (5, 4, 1, 0), optimize=True) * -0.25 - del tmp59 - tmp48 = tmp44.transpose((0, 1, 3, 2)).copy() - del tmp44 - tmp48 += tmp45.transpose((0, 1, 3, 2)) * -1 - del tmp45 - tmp48 += tmp47.transpose((1, 0, 3, 2)) - del tmp47 - l2new += tmp48.transpose((3, 2, 1, 0)) * -1 - l2new += tmp48.transpose((3, 2, 0, 1)) + tmp13 = v.oooo.copy() * -0.5 + tmp13 += tmp10.transpose((3, 2, 1, 0)) * -0.25 + tmp13 += tmp12.transpose((1, 0, 3, 2)) * -1 + tmp49 = einsum(tmp7, (0, 1), l1, (2, 3), (3, 0, 2, 1), optimize=True) + del tmp7 + tmp49 += tmp46 + del tmp46 + tmp49 += tmp48.transpose((1, 0, 3, 2)) del tmp48 - tmp42 = tmp40.transpose((0, 1, 3, 2)).copy() * -1 - del tmp40 - tmp42 += tmp41.transpose((0, 1, 3, 2)) + l2new += tmp49.transpose((3, 2, 1, 0)) + l2new += tmp49.transpose((2, 3, 1, 0)) * -1 + l2new += tmp49.transpose((3, 2, 0, 1)) * -1 + l2new += tmp49.transpose((2, 3, 0, 1)) + del tmp49 + tmp60 = tmp3.transpose((1, 0, 3, 2)).copy() * -1 + del tmp3 + tmp60 += tmp4.transpose((0, 1, 3, 2)) * 2 + del tmp4 + l2new += einsum(v.oovv, (0, 1, 2, 3), tmp60, (4, 5, 0, 1), (2, 3, 5, 4), optimize=True) * 0.25 + del tmp60 + tmp52 = tmp50.transpose((1, 0, 2, 3)).copy() * -1 + del tmp50 + tmp52 += tmp51 + del tmp51 + l2new += tmp52.transpose((3, 2, 0, 1)) + l2new += tmp52.transpose((2, 3, 0, 1)) * -1 + del tmp52 + tmp36 = tmp30.copy() * -1 + del tmp30 + tmp36 += tmp31 * 0.5 + del tmp31 + tmp36 += tmp34.transpose((1, 0, 3, 2)) + del tmp34 + tmp36 += tmp35.transpose((1, 0, 3, 2)) + del tmp35 + l2new += tmp36.transpose((3, 2, 0, 1)) + l2new += tmp36.transpose((2, 3, 0, 1)) * -1 + del tmp36 + tmp45 = tmp41.transpose((0, 1, 3, 2)).copy() del tmp41 - l2new += tmp42.transpose((2, 3, 1, 0)) * -1 - l2new += tmp42.transpose((2, 3, 0, 1)) + tmp45 += tmp42.transpose((0, 1, 3, 2)) * -1 del tmp42 - tmp58 = v.oooo.transpose((2, 3, 1, 0)).copy() * -1 - tmp58 += tmp10.transpose((1, 0, 3, 2)) * 0.5 + tmp45 += tmp44.transpose((1, 0, 3, 2)) + del tmp44 + l2new += tmp45.transpose((3, 2, 1, 0)) * -1 + l2new += tmp45.transpose((3, 2, 0, 1)) + del tmp45 + tmp56 = tmp54.copy() + del tmp54 + tmp56 += tmp55 * -1 + del tmp55 + l2new += tmp56.transpose((3, 2, 1, 0)) + l2new += tmp56.transpose((2, 3, 1, 0)) * -1 + l2new += tmp56.transpose((3, 2, 0, 1)) * -1 + l2new += tmp56.transpose((2, 3, 0, 1)) + del tmp56 + tmp59 = v.oooo.copy() * 0.5 + tmp59 += tmp10.transpose((1, 0, 3, 2)) * 0.25 del tmp10 - tmp58 += einsum(tmp11, (0, 1, 2, 3), t1, (4, 3), (2, 4, 1, 0), optimize=True) * -2 - del tmp11 - l2new += einsum(l2, (0, 1, 2, 3), tmp58, (2, 3, 4, 5), (1, 0, 4, 5), optimize=True) * -0.5 - del tmp58 - tmp39 = tmp33.copy() * -1 - del tmp33 - tmp39 += tmp34 * 0.5 - del tmp34 - tmp39 += tmp37.transpose((1, 0, 3, 2)) + tmp59 += tmp12.transpose((2, 3, 1, 0)) * -1 + del tmp12 + l2new += einsum(l2, (0, 1, 2, 3), tmp59, (2, 3, 4, 5), (0, 1, 4, 5), optimize=True) + del tmp59 + tmp39 = tmp37.transpose((0, 1, 3, 2)).copy() * -1 del tmp37 - tmp39 += tmp38.transpose((1, 0, 3, 2)) + tmp39 += tmp38.transpose((0, 1, 3, 2)) del tmp38 - l2new += tmp39.transpose((3, 2, 0, 1)) - l2new += tmp39.transpose((2, 3, 0, 1)) * -1 + l2new += tmp39.transpose((2, 3, 1, 0)) * -1 + l2new += tmp39.transpose((2, 3, 0, 1)) del tmp39 - tmp51 = tmp49.transpose((1, 0, 2, 3)).copy() * -1 - del tmp49 - tmp51 += tmp50 - del tmp50 - l2new += tmp51.transpose((3, 2, 0, 1)) - l2new += tmp51.transpose((2, 3, 0, 1)) * -1 - del tmp51 - tmp32 = einsum(tmp7, (0, 1), l1, (2, 3), (3, 0, 2, 1), optimize=True) - del tmp7 - tmp32 += tmp29 - del tmp29 - tmp32 += tmp31.transpose((1, 0, 3, 2)) - del tmp31 - l2new += tmp32.transpose((3, 2, 1, 0)) - l2new += tmp32.transpose((2, 3, 1, 0)) * -1 - l2new += tmp32.transpose((3, 2, 0, 1)) * -1 - l2new += tmp32.transpose((2, 3, 0, 1)) - del tmp32 - tmp57 = einsum(tmp56, (0, 1), l2, (2, 3, 4, 0), (4, 1, 2, 3), optimize=True) - del tmp56 - l2new += tmp57.transpose((2, 3, 1, 0)) - l2new += tmp57.transpose((2, 3, 0, 1)) * -1 + tmp58 = einsum(l2, (0, 1, 2, 3), tmp57, (3, 4), (2, 4, 0, 1), optimize=True) del tmp57 - tmp18 = einsum(t1, (0, 1), l1, (2, 0), (2, 1), optimize=True) * 2 - tmp18 += tmp17 - del tmp17 - l1new += einsum(v.ovvv, (0, 1, 2, 3), tmp18, (1, 2), (3, 0), optimize=True) * -0.5 - del tmp18 - tmp22 = t1.copy() * -1 - tmp22 += einsum(l1, (0, 1), t2, (2, 1, 3, 0), (2, 3), optimize=True) * -1 - tmp22 += einsum(t2, (0, 1, 2, 3), tmp1, (0, 1, 4, 2), (4, 3), optimize=True) * 0.5 - tmp22 += einsum(tmp21, (0, 1), t1, (0, 2), (1, 2), optimize=True) * 0.5 - del tmp21 - l1new += einsum(tmp22, (0, 1), v.oovv, (0, 2, 1, 3), (3, 2), optimize=True) * -1 + l2new += tmp58.transpose((2, 3, 1, 0)) + l2new += tmp58.transpose((2, 3, 0, 1)) * -1 + del tmp58 + tmp26 = f.vv.copy() + tmp26 += tmp25 * -1 + del tmp25 + l1new += einsum(l1, (0, 1), tmp26, (0, 2), (2, 1), optimize=True) + del tmp26 + tmp23 = t1.copy() * -2 + tmp23 += einsum(t2, (0, 1, 2, 3), l1, (3, 1), (0, 2), optimize=True) * -2 + tmp23 += einsum(tmp1, (0, 1, 2, 3), t2, (1, 0, 4, 3), (2, 4), optimize=True) + tmp23 += einsum(tmp22, (0, 1), t1, (0, 2), (1, 2), optimize=True) del tmp22 - tmp16 = einsum(t2, (0, 1, 2, 3), l1, (3, 4), (4, 1, 0, 2), optimize=True) * -0.5 - tmp16 += einsum(tmp1, (0, 1, 2, 3), t2, (4, 1, 5, 3), (0, 4, 2, 5), optimize=True) * -1 - del tmp1 - tmp16 += einsum(tmp15, (0, 1, 2, 3), t1, (0, 4), (1, 3, 2, 4), optimize=True) * -0.5 + l1new += einsum(v.oovv, (0, 1, 2, 3), tmp23, (1, 3), (2, 0), optimize=True) * -0.5 + del tmp23 + tmp15 = v.ovvv.copy() + tmp15 += einsum(t1, (0, 1), v.vvvv, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) * -1 + l1new += einsum(tmp15, (0, 1, 2, 3), l2, (2, 3, 4, 0), (1, 4), optimize=True) * -0.5 del tmp15 - l1new += einsum(v.oovv, (0, 1, 2, 3), tmp16, (4, 0, 1, 2), (3, 4), optimize=True) * -1 + tmp29 = f.oo.copy() + tmp29 += tmp27.transpose((1, 0)) + del tmp27 + tmp29 += tmp28 * 0.5 + del tmp28 + tmp29 += einsum(tmp8, (0, 1), t1, (2, 1), (2, 0), optimize=True) + l1new += einsum(tmp29, (0, 1), l1, (2, 0), (2, 1), optimize=True) * -1 + del tmp29 + tmp17 = einsum(l1, (0, 1), t2, (2, 3, 4, 0), (1, 2, 3, 4), optimize=True) + tmp17 += einsum(t2, (0, 1, 2, 3), tmp1, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) * -2 + del tmp1 + tmp17 += einsum(tmp16, (0, 1, 2, 3), t1, (0, 4), (1, 3, 2, 4), optimize=True) * -1 del tmp16 - tmp13 = v.ooov.transpose((2, 1, 0, 3)).copy() - tmp13 += einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 5, 2, 3), (0, 5, 4, 1), optimize=True) * 0.5 - tmp13 += einsum(tmp6, (0, 1, 2, 3), t2, (1, 4, 3, 5), (2, 4, 0, 5), optimize=True) * 2 + l1new += einsum(tmp17, (0, 1, 2, 3), v.oovv, (1, 2, 4, 3), (4, 0), optimize=True) * 0.5 + del tmp17 + tmp19 = einsum(t1, (0, 1), l1, (2, 0), (2, 1), optimize=True) + tmp19 += tmp18 * 0.5 + del tmp18 + l1new += einsum(tmp19, (0, 1), v.ovvv, (2, 0, 3, 1), (3, 2), optimize=True) + del tmp19 + tmp14 = v.ovoo.transpose((0, 2, 3, 1)).copy() * -1 + tmp14 += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 2, 3), (4, 0, 1, 5), optimize=True) * -0.5 + tmp14 += einsum(t2, (0, 1, 2, 3), tmp6, (4, 1, 5, 3), (5, 0, 4, 2), optimize=True) * 2 del tmp6 - tmp13 += einsum(tmp8, (0, 1), t2, (2, 3, 1, 4), (0, 3, 2, 4), optimize=True) - tmp13 += einsum(t1, (0, 1), tmp9, (2, 3, 1, 4), (3, 2, 0, 4), optimize=True) * -2 + tmp14 += einsum(tmp8, (0, 1), t2, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) + del tmp8 + tmp14 += einsum(t1, (0, 1), tmp9, (2, 3, 1, 4), (3, 2, 0, 4), optimize=True) * -2 del tmp9 - tmp13 += einsum(tmp12, (0, 1, 2, 3), t1, (0, 4), (1, 3, 2, 4), optimize=True) * -2 - del tmp12 - l1new += einsum(tmp13, (0, 1, 2, 3), l2, (3, 4, 1, 2), (4, 0), optimize=True) * -0.5 + tmp14 += einsum(tmp13, (0, 1, 2, 3), t1, (0, 4), (1, 3, 2, 4), optimize=True) * -2 del tmp13 - tmp3 = einsum(l2, (0, 1, 2, 3), t2, (4, 2, 5, 1), (3, 4, 0, 5), optimize=True) * -1 - l1new += einsum(tmp3, (0, 1, 2, 3), v.ovvv, (1, 2, 4, 3), (4, 0), optimize=True) * -1 - del tmp3 - tmp28 = f.oo.transpose((1, 0)).copy() - tmp28 += tmp26.transpose((1, 0)) - del tmp26 - tmp28 += tmp27 * 0.5 - del tmp27 - tmp28 += einsum(tmp8, (0, 1), t1, (2, 1), (2, 0), optimize=True) - del tmp8 - l1new += einsum(tmp28, (0, 1), l1, (2, 0), (2, 1), optimize=True) * -1 - del tmp28 - tmp14 = v.ovvv.transpose((0, 1, 3, 2)).copy() * -1 - tmp14 += einsum(t1, (0, 1), v.vvvv, (2, 1, 3, 4), (0, 2, 4, 3), optimize=True) - l1new += einsum(tmp14, (0, 1, 2, 3), l2, (2, 3, 0, 4), (1, 4), optimize=True) * 0.5 + l1new += einsum(l2, (0, 1, 2, 3), tmp14, (4, 2, 3, 1), (0, 4), optimize=True) * 0.5 del tmp14 - tmp25 = f.vv.transpose((1, 0)).copy() - tmp25 += tmp24 * -1 - del tmp24 - l1new += einsum(tmp25, (0, 1), l1, (0, 2), (1, 2), optimize=True) - del tmp25 + tmp0 = einsum(t2, (0, 1, 2, 3), l2, (4, 3, 5, 1), (5, 0, 4, 2), optimize=True) + l1new += einsum(v.ovvv, (0, 1, 2, 3), tmp0, (4, 0, 1, 3), (2, 4), optimize=True) * -1 + del tmp0 + l1new += einsum(v.ovov, (0, 1, 2, 3), l1, (1, 2), (3, 0), optimize=True) * -1 l1new += f.ov.transpose((1, 0)) - l1new += einsum(l1, (0, 1), v.ovov, (2, 0, 1, 3), (3, 2), optimize=True) * -1 - l2new += v.oovv.transpose((3, 2, 1, 0)) - l2new += einsum(l2, (0, 1, 2, 3), v.vvvv, (4, 5, 0, 1), (5, 4, 3, 2), optimize=True) * 0.5 - l2new += einsum(l1, (0, 1), f.ov, (2, 3), (3, 0, 2, 1), optimize=True) + l2new += v.oovv.transpose((2, 3, 0, 1)) + l2new += einsum(v.vvvv, (0, 1, 2, 3), l2, (2, 3, 4, 5), (0, 1, 4, 5), optimize=True) * 0.5 + l2new += einsum(f.ov, (0, 1), l1, (2, 3), (1, 2, 0, 3), optimize=True) l2new += einsum(f.ov, (0, 1), l1, (2, 3), (2, 1, 0, 3), optimize=True) * -1 l2new += einsum(f.ov, (0, 1), l1, (2, 3), (1, 2, 3, 0), optimize=True) * -1 l2new += einsum(l1, (0, 1), f.ov, (2, 3), (0, 3, 1, 2), optimize=True) @@ -462,7 +464,7 @@ def update_lams(f=None, l1=None, l2=None, t1=None, t2=None, v=None, **kwargs): def make_rdm1_f(l1=None, l2=None, t1=None, t2=None, **kwargs): """ - Code generated by `albert` 0.0.0 on 2024-07-18T20:10:35.909741. + Code generated by `albert` 0.0.0 on 2024-07-22T17:08:39.790220. Parameters ---------- @@ -486,25 +488,25 @@ def make_rdm1_f(l1=None, l2=None, t1=None, t2=None, **kwargs): oo=np.eye(t2.shape[0]), vv=np.eye(t2.shape[-1]), ) - tmp1 = einsum(l1, (0, 1), t1, (2, 0), (1, 2), optimize=True) - rdm1.oo = tmp1.transpose((1, 0)).copy() * -1 - tmp0 = einsum(l2, (0, 1, 2, 3), t2, (4, 3, 0, 1), (2, 4), optimize=True) - rdm1.oo += tmp0.transpose((1, 0)) * -0.5 - tmp3 = tmp1.copy() * 2 - del tmp1 - tmp3 += tmp0 + tmp1 = einsum(l2, (0, 1, 2, 3), t2, (4, 3, 0, 1), (2, 4), optimize=True) + rdm1.oo = tmp1.transpose((1, 0)).copy() * -0.5 + tmp0 = einsum(t1, (0, 1), l1, (1, 2), (2, 0), optimize=True) + rdm1.oo += tmp0.transpose((1, 0)) * -1 + tmp3 = tmp0.copy() del tmp0 - rdm1.ov = einsum(tmp3, (0, 1), t1, (0, 2), (1, 2), optimize=True) * -0.5 + tmp3 += tmp1 * 0.5 + del tmp1 + rdm1.ov = einsum(tmp3, (0, 1), t1, (0, 2), (1, 2), optimize=True) * -1 del tmp3 tmp2 = einsum(l2, (0, 1, 2, 3), t1, (4, 1), (2, 3, 4, 0), optimize=True) - rdm1.ov += einsum(t2, (0, 1, 2, 3), tmp2, (0, 1, 4, 3), (4, 2), optimize=True) * 0.5 + rdm1.ov += einsum(tmp2, (0, 1, 2, 3), t2, (1, 0, 4, 3), (2, 4), optimize=True) * -0.5 del tmp2 - rdm1.oo += delta.oo.transpose((1, 0)) + rdm1.oo += delta.oo del delta - rdm1.ov += einsum(l1, (0, 1), t2, (2, 1, 3, 0), (2, 3), optimize=True) + rdm1.ov += einsum(t2, (0, 1, 2, 3), l1, (3, 1), (0, 2), optimize=True) rdm1.ov += t1 rdm1.vo = l1.copy() - rdm1.vv = einsum(t2, (0, 1, 2, 3), l2, (3, 4, 0, 1), (4, 2), optimize=True) * -0.5 + rdm1.vv = einsum(l2, (0, 1, 2, 3), t2, (2, 3, 4, 1), (0, 4), optimize=True) * 0.5 rdm1.vv += einsum(t1, (0, 1), l1, (2, 0), (2, 1), optimize=True) rdm1 = np.block([[rdm1.oo, rdm1.ov], [rdm1.vo, rdm1.vv]]) @@ -512,7 +514,7 @@ def make_rdm1_f(l1=None, l2=None, t1=None, t2=None, **kwargs): def make_rdm2_f(l1=None, l2=None, t1=None, t2=None, **kwargs): """ - Code generated by `albert` 0.0.0 on 2024-07-18T20:10:43.285135. + Code generated by `albert` 0.0.0 on 2024-07-22T17:08:46.424357. Parameters ---------- @@ -536,199 +538,822 @@ def make_rdm2_f(l1=None, l2=None, t1=None, t2=None, **kwargs): oo=np.eye(t2.shape[0]), vv=np.eye(t2.shape[-1]), ) - tmp3 = einsum(l1, (0, 1), t1, (2, 0), (1, 2), optimize=True) - rdm2.oovo = einsum(tmp3, (0, 1), t1, (2, 3), (1, 2, 3, 0), optimize=True) - rdm2.oovo += einsum(tmp3, (0, 1), t1, (2, 3), (2, 1, 3, 0), optimize=True) * -1 - rdm2.ooov = einsum(tmp3, (0, 1), t1, (2, 3), (1, 2, 0, 3), optimize=True) * -1 - rdm2.ooov += einsum(tmp3, (0, 1), t1, (2, 3), (2, 1, 0, 3), optimize=True) - rdm2.oooo = einsum(tmp3, (0, 1), delta.oo, (2, 3), (3, 1, 2, 0), optimize=True) * -1 - rdm2.oooo += einsum(tmp3, (0, 1), delta.oo, (2, 3), (1, 3, 2, 0), optimize=True) - rdm2.oooo += einsum(delta.oo, (0, 1), tmp3, (2, 3), (1, 3, 2, 0), optimize=True) - rdm2.oooo += einsum(tmp3, (0, 1), delta.oo, (2, 3), (1, 3, 0, 2), optimize=True) * -1 tmp1 = einsum(l2, (0, 1, 2, 3), t1, (4, 1), (2, 3, 4, 0), optimize=True) rdm2.vooo = tmp1.transpose((3, 2, 1, 0)).copy() rdm2.ovoo = tmp1.transpose((2, 3, 1, 0)).copy() * -1 + tmp3 = einsum(t1, (0, 1), l1, (1, 2), (2, 0), optimize=True) + rdm2.oovo = einsum(t1, (0, 1), tmp3, (2, 3), (3, 0, 1, 2), optimize=True) + rdm2.oovo += einsum(t1, (0, 1), tmp3, (2, 3), (0, 3, 1, 2), optimize=True) * -1 + rdm2.ooov = einsum(t1, (0, 1), tmp3, (2, 3), (3, 0, 2, 1), optimize=True) * -1 + rdm2.ooov += einsum(t1, (0, 1), tmp3, (2, 3), (0, 3, 2, 1), optimize=True) + rdm2.oooo = einsum(tmp3, (0, 1), delta.oo, (2, 3), (2, 1, 3, 0), optimize=True) * -1 + rdm2.oooo += einsum(delta.oo, (0, 1), tmp3, (2, 3), (3, 0, 1, 2), optimize=True) + rdm2.oooo += einsum(delta.oo, (0, 1), tmp3, (2, 3), (0, 3, 2, 1), optimize=True) + rdm2.oooo += einsum(delta.oo, (0, 1), tmp3, (2, 3), (3, 0, 2, 1), optimize=True) * -1 tmp4 = einsum(l2, (0, 1, 2, 3), t2, (4, 3, 0, 1), (2, 4), optimize=True) - rdm2.oovo += einsum(tmp4, (0, 1), t1, (2, 3), (1, 2, 3, 0), optimize=True) * 0.5 - rdm2.oovo += einsum(tmp4, (0, 1), t1, (2, 3), (2, 1, 3, 0), optimize=True) * -0.5 - rdm2.ooov += einsum(tmp4, (0, 1), t1, (2, 3), (1, 2, 0, 3), optimize=True) * -0.5 - rdm2.ooov += einsum(tmp4, (0, 1), t1, (2, 3), (2, 1, 0, 3), optimize=True) * 0.5 + rdm2.oovo += einsum(t1, (0, 1), tmp4, (2, 3), (3, 0, 1, 2), optimize=True) * 0.5 + rdm2.oovo += einsum(t1, (0, 1), tmp4, (2, 3), (0, 3, 1, 2), optimize=True) * -0.5 + rdm2.ooov += einsum(t1, (0, 1), tmp4, (2, 3), (3, 0, 2, 1), optimize=True) * -0.5 + rdm2.ooov += einsum(t1, (0, 1), tmp4, (2, 3), (0, 3, 2, 1), optimize=True) * 0.5 rdm2.oooo += einsum(delta.oo, (0, 1), tmp4, (2, 3), (0, 3, 1, 2), optimize=True) * -0.5 - rdm2.oooo += einsum(tmp4, (0, 1), delta.oo, (2, 3), (1, 3, 2, 0), optimize=True) * 0.5 + rdm2.oooo += einsum(delta.oo, (0, 1), tmp4, (2, 3), (3, 0, 1, 2), optimize=True) * 0.5 rdm2.oooo += einsum(delta.oo, (0, 1), tmp4, (2, 3), (0, 3, 2, 1), optimize=True) * 0.5 - rdm2.oooo += einsum(delta.oo, (0, 1), tmp4, (2, 3), (3, 1, 2, 0), optimize=True) * -0.5 - tmp21 = einsum(t2, (0, 1, 2, 3), l2, (3, 4, 5, 1), (5, 0, 4, 2), optimize=True) * -1 - rdm2.vovo = tmp21.transpose((2, 1, 3, 0)).copy() * -1 - rdm2.voov = tmp21.transpose((2, 1, 0, 3)).copy() - rdm2.ovvo = tmp21.transpose((1, 2, 3, 0)).copy() - rdm2.ovov = tmp21.transpose((1, 2, 0, 3)).copy() * -1 - tmp6 = einsum(l1, (0, 1), t2, (2, 1, 3, 0), (2, 3), optimize=True) - tmp7 = einsum(tmp3, (0, 1), t1, (0, 2), (1, 2), optimize=True) - tmp9 = einsum(tmp1, (0, 1, 2, 3), t2, (4, 1, 5, 3), (0, 2, 4, 5), optimize=True) * -1 - rdm2.oovo += tmp9.transpose((2, 1, 3, 0)) * -1 - rdm2.oovo += tmp9.transpose((1, 2, 3, 0)) - rdm2.ooov += tmp9.transpose((2, 1, 0, 3)) - rdm2.ooov += tmp9.transpose((1, 2, 0, 3)) * -1 - tmp5 = einsum(t2, (0, 1, 2, 3), l1, (3, 4), (4, 0, 1, 2), optimize=True) + rdm2.oooo += einsum(delta.oo, (0, 1), tmp4, (2, 3), (3, 0, 2, 1), optimize=True) * -0.5 + tmp19 = einsum(t2, (0, 1, 2, 3), l2, (4, 3, 5, 1), (5, 0, 4, 2), optimize=True) + rdm2.vovo = tmp19.transpose((2, 1, 3, 0)).copy() * -1 + rdm2.voov = tmp19.transpose((2, 1, 0, 3)).copy() + rdm2.ovvo = tmp19.transpose((1, 2, 3, 0)).copy() + rdm2.ovov = tmp19.transpose((1, 2, 0, 3)).copy() * -1 + tmp2 = einsum(t1, (0, 1), tmp1, (2, 3, 4, 1), (2, 3, 0, 4), optimize=True) + rdm2.oooo += tmp2.transpose((2, 3, 1, 0)) * -1 + tmp0 = einsum(l2, (0, 1, 2, 3), t2, (4, 5, 0, 1), (2, 3, 4, 5), optimize=True) + rdm2.oooo += tmp0.transpose((3, 2, 1, 0)) * 0.5 + tmp8 = einsum(tmp3, (0, 1), t1, (0, 2), (1, 2), optimize=True) + tmp7 = einsum(t2, (0, 1, 2, 3), l1, (3, 1), (0, 2), optimize=True) + tmp6 = einsum(t2, (0, 1, 2, 3), tmp1, (4, 1, 5, 3), (4, 5, 0, 2), optimize=True) * -1 + rdm2.oovo += tmp6.transpose((2, 1, 3, 0)) * -1 + rdm2.oovo += tmp6.transpose((1, 2, 3, 0)) + rdm2.ooov += tmp6.transpose((2, 1, 0, 3)) + rdm2.ooov += tmp6.transpose((1, 2, 0, 3)) * -1 + tmp5 = einsum(l1, (0, 1), t2, (2, 3, 4, 0), (1, 2, 3, 4), optimize=True) rdm2.oovo += tmp5.transpose((2, 1, 3, 0)) rdm2.ooov += tmp5.transpose((2, 1, 0, 3)) * -1 - tmp0 = einsum(t2, (0, 1, 2, 3), l2, (2, 3, 4, 5), (4, 5, 0, 1), optimize=True) - rdm2.oooo += tmp0.transpose((3, 2, 1, 0)) * 0.5 - tmp2 = einsum(tmp1, (0, 1, 2, 3), t1, (4, 3), (0, 1, 4, 2), optimize=True) - rdm2.oooo += tmp2.transpose((2, 3, 1, 0)) * -1 tmp14 = tmp3.copy() * 2 tmp14 += tmp4 + tmp22 = einsum(l2, (0, 1, 2, 3), t2, (2, 3, 4, 1), (0, 4), optimize=True) + tmp30 = einsum(t1, (0, 1), l1, (2, 0), (2, 1), optimize=True) + rdm2.ovvv = einsum(t1, (0, 1), tmp30, (2, 3), (0, 2, 3, 1), optimize=True) * -1 + rdm2.ovvv += einsum(tmp30, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) tmp29 = einsum(t1, (0, 1), tmp1, (2, 0, 3, 4), (2, 3, 4, 1), optimize=True) rdm2.vovo += tmp29.transpose((2, 1, 3, 0)) rdm2.voov += tmp29.transpose((2, 1, 0, 3)) * -1 rdm2.ovvo += tmp29.transpose((1, 2, 3, 0)) * -1 rdm2.ovov += tmp29.transpose((1, 2, 0, 3)) - tmp30 = einsum(t1, (0, 1), l1, (2, 0), (2, 1), optimize=True) - rdm2.ovvv = einsum(tmp30, (0, 1), t1, (2, 3), (2, 0, 1, 3), optimize=True) * -1 - rdm2.ovvv += einsum(t1, (0, 1), tmp30, (2, 3), (0, 2, 1, 3), optimize=True) - tmp25 = einsum(t2, (0, 1, 2, 3), l2, (3, 4, 0, 1), (4, 2), optimize=True) * -1 - tmp36 = einsum(tmp21, (0, 1, 2, 3), t1, (0, 4), (1, 2, 4, 3), optimize=True) + tmp36 = einsum(tmp19, (0, 1, 2, 3), t1, (0, 4), (1, 2, 4, 3), optimize=True) rdm2.vovv = tmp36.transpose((1, 0, 3, 2)).copy() * -1 rdm2.vovv += tmp36.transpose((1, 0, 2, 3)) - tmp8 = tmp6.copy() - tmp8 += tmp7 * -1 - del tmp7 - rdm2.ooov += einsum(tmp8, (0, 1), delta.oo, (2, 3), (2, 0, 3, 1), optimize=True) - rdm2.ooov += einsum(tmp8, (0, 1), delta.oo, (2, 3), (0, 3, 2, 1), optimize=True) * -1 - tmp18 = einsum(t1, (0, 1), tmp9, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) - del tmp9 - tmp22 = einsum(t2, (0, 1, 2, 3), tmp21, (1, 4, 3, 5), (0, 4, 2, 5), optimize=True) - del tmp21 - tmp20 = einsum(tmp5, (0, 1, 2, 3), t1, (0, 4), (1, 2, 4, 3), optimize=True) - del tmp5 tmp13 = tmp0.transpose((1, 0, 3, 2)).copy() * -0.5 tmp13 += tmp2.transpose((0, 1, 3, 2)) - rdm2.oovv = einsum(tmp13, (0, 1, 2, 3), t2, (0, 1, 4, 5), (3, 2, 5, 4), optimize=True) * -0.5 + rdm2.oovv = einsum(tmp13, (0, 1, 2, 3), t2, (0, 1, 4, 5), (3, 2, 4, 5), optimize=True) * 0.5 rdm2.ooov += einsum(tmp13, (0, 1, 2, 3), t1, (0, 4), (3, 2, 1, 4), optimize=True) * -1 + tmp9 = tmp7.copy() + tmp9 += tmp8 * -1 + del tmp8 + rdm2.ooov += einsum(delta.oo, (0, 1), tmp9, (2, 3), (0, 2, 1, 3), optimize=True) + rdm2.ooov += einsum(tmp9, (0, 1), delta.oo, (2, 3), (0, 2, 3, 1), optimize=True) * -1 + tmp25 = einsum(tmp6, (0, 1, 2, 3), t1, (0, 4), (1, 2, 4, 3), optimize=True) + del tmp6 tmp11 = einsum(tmp4, (0, 1), t1, (0, 2), (1, 2), optimize=True) - tmp10 = einsum(t2, (0, 1, 2, 3), tmp1, (0, 1, 4, 3), (4, 2), optimize=True) * -1 - tmp15 = einsum(tmp14, (0, 1), t1, (0, 2), (1, 2), optimize=True) * 0.5 + tmp10 = einsum(tmp1, (0, 1, 2, 3), t2, (1, 0, 4, 3), (2, 4), optimize=True) + tmp18 = einsum(t1, (0, 1), tmp5, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) + del tmp5 + tmp20 = einsum(t2, (0, 1, 2, 3), tmp19, (1, 4, 3, 5), (4, 0, 5, 2), optimize=True) + del tmp19 + tmp15 = einsum(t1, (0, 1), tmp14, (0, 2), (2, 1), optimize=True) * 0.5 del tmp14 - tmp38 = einsum(l2, (0, 1, 2, 3), t1, (3, 4), (2, 0, 1, 4), optimize=True) - rdm2.vvvv = einsum(tmp38, (0, 1, 2, 3), t1, (0, 4), (1, 2, 4, 3), optimize=True) + tmp38 = einsum(t1, (0, 1), l2, (2, 3, 4, 0), (4, 2, 3, 1), optimize=True) + rdm2.vvvv = einsum(t1, (0, 1), tmp38, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) rdm2.vvvo = tmp38.transpose((2, 1, 3, 0)).copy() rdm2.vvov = tmp38.transpose((2, 1, 0, 3)).copy() * -1 del tmp38 - tmp34 = einsum(tmp1, (0, 1, 2, 3), t2, (0, 1, 4, 5), (2, 3, 4, 5), optimize=True) - del tmp1 - rdm2.vovv += tmp34.transpose((1, 0, 3, 2)) * 0.5 - rdm2.ovvv += tmp34.transpose((0, 1, 3, 2)) * -0.5 - del tmp34 - tmp33 = einsum(t2, (0, 1, 2, 3), l1, (4, 1), (0, 4, 2, 3), optimize=True) - rdm2.vovv += tmp33.transpose((1, 0, 3, 2)) - rdm2.ovvv += tmp33.transpose((0, 1, 3, 2)) * -1 - del tmp33 - tmp35 = einsum(tmp29, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4), optimize=True) * -1 - del tmp29 + tmp35 = einsum(t2, (0, 1, 2, 3), l1, (4, 1), (0, 4, 2, 3), optimize=True) rdm2.vovv += tmp35.transpose((1, 0, 3, 2)) rdm2.ovvv += tmp35.transpose((0, 1, 3, 2)) * -1 del tmp35 - tmp32 = tmp30.copy() - tmp32 += tmp25 * 0.5 - rdm2.vovv += einsum(tmp32, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) - rdm2.vovv += einsum(tmp32, (0, 1), t1, (2, 3), (0, 2, 3, 1), optimize=True) * -1 - rdm2.vovo += einsum(tmp32, (0, 1), delta.oo, (2, 3), (0, 3, 1, 2), optimize=True) - rdm2.ovvo += einsum(tmp32, (0, 1), delta.oo, (2, 3), (3, 0, 1, 2), optimize=True) * -1 - del tmp32 + tmp31 = tmp30.copy() + tmp31 += tmp22 * 0.5 + rdm2.vovv += einsum(t1, (0, 1), tmp31, (2, 3), (2, 0, 3, 1), optimize=True) + rdm2.vovv += einsum(t1, (0, 1), tmp31, (2, 3), (2, 0, 1, 3), optimize=True) * -1 + rdm2.voov += einsum(tmp31, (0, 1), delta.oo, (2, 3), (0, 2, 3, 1), optimize=True) * -1 + rdm2.ovov += einsum(tmp31, (0, 1), delta.oo, (2, 3), (2, 0, 3, 1), optimize=True) + del tmp31 + tmp34 = einsum(t1, (0, 1), tmp29, (0, 2, 3, 4), (2, 3, 4, 1), optimize=True) * -1 + del tmp29 + rdm2.vovv += tmp34.transpose((1, 0, 3, 2)) + rdm2.ovvv += tmp34.transpose((0, 1, 3, 2)) * -1 + del tmp34 + tmp33 = einsum(tmp1, (0, 1, 2, 3), t2, (1, 0, 4, 5), (2, 3, 4, 5), optimize=True) * -1 + del tmp1 + rdm2.vovv += tmp33.transpose((1, 0, 3, 2)) * 0.5 + rdm2.ovvv += tmp33.transpose((0, 1, 3, 2)) * -0.5 + del tmp33 tmp37 = tmp36.copy() del tmp36 - tmp37 += einsum(t1, (0, 1), tmp25, (2, 3), (0, 2, 1, 3), optimize=True) * -0.5 + tmp37 += einsum(t1, (0, 1), tmp22, (2, 3), (0, 2, 1, 3), optimize=True) * -0.5 rdm2.ovvv += tmp37.transpose((0, 1, 3, 2)) rdm2.ovvv += tmp37 * -1 del tmp37 - tmp31 = tmp30.copy() * 2 + tmp32 = tmp30.copy() * 2 del tmp30 - tmp31 += tmp25 - rdm2.voov += einsum(delta.oo, (0, 1), tmp31, (2, 3), (2, 1, 0, 3), optimize=True) * -0.5 - rdm2.ovov += einsum(delta.oo, (0, 1), tmp31, (2, 3), (1, 2, 0, 3), optimize=True) * 0.5 - del tmp31 - tmp27 = einsum(tmp4, (0, 1), t2, (2, 0, 3, 4), (2, 1, 3, 4), optimize=True) + tmp32 += tmp22 + rdm2.vovo += einsum(tmp32, (0, 1), delta.oo, (2, 3), (0, 2, 1, 3), optimize=True) * 0.5 + rdm2.ovvo += einsum(tmp32, (0, 1), delta.oo, (2, 3), (2, 0, 1, 3), optimize=True) * -0.5 + del tmp32 + tmp24 = einsum(t2, (0, 1, 2, 3), tmp4, (1, 4), (0, 4, 2, 3), optimize=True) del tmp4 - rdm2.oovv += tmp27.transpose((1, 0, 3, 2)) * -0.5 - rdm2.oovv += tmp27.transpose((0, 1, 3, 2)) * 0.5 - del tmp27 - tmp19 = tmp18.copy() - del tmp18 - tmp19 += einsum(tmp8, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) * -1 - del tmp8 - rdm2.oovv += tmp19.transpose((1, 0, 3, 2)) * -1 - rdm2.oovv += tmp19.transpose((1, 0, 2, 3)) - rdm2.oovv += tmp19.transpose((0, 1, 3, 2)) - rdm2.oovv += tmp19 * -1 - del tmp19 - tmp26 = einsum(t2, (0, 1, 2, 3), tmp25, (3, 4), (0, 1, 2, 4), optimize=True) + rdm2.oovv += tmp24.transpose((1, 0, 3, 2)) * -0.5 + rdm2.oovv += tmp24.transpose((0, 1, 3, 2)) * 0.5 + del tmp24 + tmp28 = einsum(tmp13, (0, 1, 2, 3), t1, (0, 4), (1, 3, 2, 4), optimize=True) * -2 + del tmp13 + rdm2.oovv += einsum(t1, (0, 1), tmp28, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) * 0.5 + del tmp28 + tmp26 = tmp25.copy() del tmp25 - rdm2.oovv += tmp26.transpose((0, 1, 3, 2)) * 0.5 - rdm2.oovv += tmp26 * -0.5 + tmp26 += einsum(t1, (0, 1), tmp9, (2, 3), (0, 2, 1, 3), optimize=True) * -1 + del tmp9 + rdm2.oovv += tmp26.transpose((1, 0, 3, 2)) * -1 + rdm2.oovv += tmp26.transpose((1, 0, 2, 3)) + rdm2.oovv += tmp26.transpose((0, 1, 3, 2)) + rdm2.oovv += tmp26 * -1 del tmp26 - tmp23 = tmp20.copy() - del tmp20 - tmp23 += tmp22 + tmp23 = einsum(tmp22, (0, 1), t2, (2, 3, 4, 0), (2, 3, 4, 1), optimize=True) del tmp22 - rdm2.oovv += tmp23.transpose((0, 1, 3, 2)) * -1 - rdm2.oovv += tmp23 + rdm2.oovv += tmp23.transpose((0, 1, 3, 2)) * 0.5 + rdm2.oovv += tmp23 * -0.5 del tmp23 - tmp28 = einsum(tmp13, (0, 1, 2, 3), t1, (0, 4), (1, 3, 2, 4), optimize=True) * -2 - del tmp13 - rdm2.oovv += einsum(tmp28, (0, 1, 2, 3), t1, (0, 4), (1, 2, 4, 3), optimize=True) * 0.5 - del tmp28 + tmp27 = einsum(tmp3, (0, 1), t2, (2, 0, 3, 4), (1, 2, 3, 4), optimize=True) + del tmp3 + rdm2.oovv += tmp27.transpose((1, 0, 3, 2)) + rdm2.oovv += tmp27.transpose((0, 1, 3, 2)) * -1 + del tmp27 tmp12 = tmp10.copy() tmp12 += tmp11 del tmp11 - rdm2.oovv += einsum(t1, (0, 1), tmp12, (2, 3), (2, 0, 3, 1), optimize=True) * -0.5 + rdm2.oovv += einsum(tmp12, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) * -0.5 rdm2.oovv += einsum(tmp12, (0, 1), t1, (2, 3), (0, 2, 3, 1), optimize=True) * 0.5 rdm2.oovv += einsum(t1, (0, 1), tmp12, (2, 3), (0, 2, 3, 1), optimize=True) * 0.5 - rdm2.oovv += einsum(tmp12, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) * -0.5 + rdm2.oovv += einsum(t1, (0, 1), tmp12, (2, 3), (0, 2, 1, 3), optimize=True) * -0.5 rdm2.ooov += einsum(delta.oo, (0, 1), tmp12, (2, 3), (0, 2, 1, 3), optimize=True) * -0.5 - rdm2.ooov += einsum(delta.oo, (0, 1), tmp12, (2, 3), (2, 1, 0, 3), optimize=True) * 0.5 + rdm2.ooov += einsum(delta.oo, (0, 1), tmp12, (2, 3), (2, 0, 1, 3), optimize=True) * 0.5 del tmp12 - tmp24 = einsum(tmp3, (0, 1), t2, (2, 0, 3, 4), (1, 2, 3, 4), optimize=True) - del tmp3 - rdm2.oovv += tmp24.transpose((1, 0, 3, 2)) - rdm2.oovv += tmp24.transpose((0, 1, 3, 2)) * -1 - del tmp24 + tmp21 = tmp18.copy() + del tmp18 + tmp21 += tmp20 + del tmp20 + rdm2.oovv += tmp21.transpose((0, 1, 3, 2)) * -1 + rdm2.oovv += tmp21 + del tmp21 tmp17 = tmp0.transpose((1, 0, 3, 2)).copy() * -1 del tmp0 tmp17 += tmp2.transpose((0, 1, 3, 2)) * 2 del tmp2 rdm2.oovo += einsum(tmp17, (0, 1, 2, 3), t1, (0, 4), (3, 2, 4, 1), optimize=True) * 0.5 del tmp17 - tmp16 = tmp6.copy() * -1 - del tmp6 + tmp16 = tmp7.copy() * -1 + del tmp7 tmp16 += tmp10 * 0.5 del tmp10 tmp16 += tmp15 del tmp15 rdm2.oovo += einsum(delta.oo, (0, 1), tmp16, (2, 3), (0, 2, 3, 1), optimize=True) - rdm2.oovo += einsum(delta.oo, (0, 1), tmp16, (2, 3), (2, 1, 3, 0), optimize=True) * -1 + rdm2.oovo += einsum(delta.oo, (0, 1), tmp16, (2, 3), (2, 0, 3, 1), optimize=True) * -1 del tmp16 - rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (3, 1, 2, 0), optimize=True) - rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (1, 2, 3, 0), optimize=True) * -1 - rdm2.ooov += einsum(delta.oo, (0, 1), t1, (2, 3), (2, 1, 0, 3), optimize=True) * -1 - rdm2.ooov += einsum(delta.oo, (0, 1), t1, (2, 3), (1, 2, 0, 3), optimize=True) - rdm2.oovo += einsum(delta.oo, (0, 1), t1, (2, 3), (2, 1, 3, 0), optimize=True) - rdm2.oovo += einsum(delta.oo, (0, 1), t1, (2, 3), (1, 2, 3, 0), optimize=True) * -1 - rdm2.ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (1, 2, 3, 0), optimize=True) * -1 - rdm2.ovoo += einsum(l1, (0, 1), delta.oo, (2, 3), (3, 0, 2, 1), optimize=True) - rdm2.vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 1, 3, 0), optimize=True) - rdm2.vooo += einsum(l1, (0, 1), delta.oo, (2, 3), (0, 3, 2, 1), optimize=True) * -1 + rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (0, 2, 1, 3), optimize=True) + rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (0, 2, 3, 1), optimize=True) * -1 + rdm2.ooov += einsum(delta.oo, (0, 1), t1, (2, 3), (2, 0, 1, 3), optimize=True) * -1 + rdm2.ooov += einsum(delta.oo, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) + rdm2.oovo += einsum(delta.oo, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) + rdm2.oovo += einsum(delta.oo, (0, 1), t1, (2, 3), (0, 2, 3, 1), optimize=True) * -1 + rdm2.ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (0, 2, 3, 1), optimize=True) * -1 + rdm2.ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (0, 2, 1, 3), optimize=True) + rdm2.vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 0, 3, 1), optimize=True) + rdm2.vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 0, 1, 3), optimize=True) * -1 del delta - rdm2.oovv += t2.transpose((1, 0, 3, 2)) + rdm2.oovv += t2 rdm2.oovv += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 3, 1), optimize=True) * -1 - rdm2.oovv += einsum(t1, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) + rdm2.oovv += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) rdm2.ovov += einsum(t1, (0, 1), l1, (2, 3), (0, 2, 3, 1), optimize=True) * -1 rdm2.ovvo += einsum(t1, (0, 1), l1, (2, 3), (0, 2, 1, 3), optimize=True) rdm2.voov += einsum(t1, (0, 1), l1, (2, 3), (2, 0, 3, 1), optimize=True) rdm2.vovo += einsum(t1, (0, 1), l1, (2, 3), (2, 0, 1, 3), optimize=True) * -1 - rdm2.vvoo = l2.transpose((1, 0, 3, 2)).copy() - rdm2.vvvv += einsum(t2, (0, 1, 2, 3), l2, (4, 5, 0, 1), (5, 4, 3, 2), optimize=True) * 0.5 + rdm2.vvoo = l2.copy() + rdm2.vvvv += einsum(l2, (0, 1, 2, 3), t2, (2, 3, 4, 5), (0, 1, 4, 5), optimize=True) * 0.5 rdm2 = pack_2e(rdm2.oooo, rdm2.ooov, rdm2.oovo, rdm2.ovoo, rdm2.vooo, rdm2.oovv, rdm2.ovov, rdm2.ovvo, rdm2.voov, rdm2.vovo, rdm2.vvoo, rdm2.ovvv, rdm2.vovv, rdm2.vvov, rdm2.vvvo, rdm2.vvvv) rdm2 = rdm2.swapaxes(1, 2) return rdm2 +def hbar_matvec_ip(f=None, r1=None, r2=None, t1=None, t2=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-07-22T17:08:50.446944. + + Parameters + ---------- + f : array + Fock matrix. + r1 : array + R1 amplitudes. + r2 : array + R2 amplitudes. + t1 : array + T1 amplitudes. + t2 : array + T2 amplitudes. + v : array + Electron repulsion integrals. + + Returns + ------- + r1new : array + Updated R1 residuals. + r2new : array + Updated R2 residuals. + """ + + tmp23 = einsum(v.ooov, (0, 1, 2, 3), r1, (1,), (0, 2, 3), optimize=True) + tmp25 = einsum(r2, (0, 1, 2), v.oovv, (3, 1, 4, 2), (0, 3, 4), optimize=True) + tmp2 = einsum(v.oovv, (0, 1, 2, 3), t1, (1, 3), (0, 2), optimize=True) + tmp31 = einsum(t1, (0, 1), tmp23, (2, 3, 1), (0, 2, 3), optimize=True) + tmp32 = einsum(t1, (0, 1), tmp25, (2, 3, 1), (2, 0, 3), optimize=True) * -1 + tmp27 = einsum(t1, (0, 1), v.ooov, (2, 0, 3, 1), (2, 3), optimize=True) + tmp28 = einsum(tmp2, (0, 1), t1, (2, 1), (2, 0), optimize=True) + tmp18 = einsum(f.ov, (0, 1), t1, (2, 1), (0, 2), optimize=True) + tmp19 = einsum(v.oovv, (0, 1, 2, 3), t2, (4, 1, 2, 3), (4, 0), optimize=True) + tmp33 = tmp31.copy() + del tmp31 + tmp33 += tmp32.transpose((0, 2, 1)) + del tmp32 + tmp29 = tmp27.copy() + del tmp27 + tmp29 += tmp28.transpose((1, 0)) + del tmp28 + tmp16 = r2.copy() + tmp16 += einsum(r1, (0,), t1, (1, 2), (0, 1, 2), optimize=True) + tmp14 = einsum(r2, (0, 1, 2), v.ovvv, (1, 3, 4, 2), (0, 3, 4), optimize=True) + tmp10 = einsum(r2, (0, 1, 2), v.ooov, (3, 1, 4, 2), (0, 3, 4), optimize=True) + tmp12 = einsum(v.ooov, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2), optimize=True) + tmp20 = tmp18.transpose((1, 0)).copy() * 2 + del tmp18 + tmp20 += tmp19 + del tmp19 + tmp0 = einsum(r1, (0,), v.oovv, (1, 0, 2, 3), (1, 2, 3), optimize=True) + r1new = einsum(tmp0, (0, 1, 2), t2, (3, 0, 2, 1), (3,), optimize=True) * -0.5 + tmp1 = einsum(t1, (0, 1), r1, (2,), (0, 2, 1), optimize=True) + tmp1 += r2 * -0.5 + r1new += einsum(v.ovoo, (0, 1, 2, 3), tmp1, (2, 3, 1), (0,), optimize=True) + tmp41 = t2.copy() + tmp41 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) * 2 + tmp24 = einsum(tmp23, (0, 1, 2), t2, (3, 0, 4, 2), (3, 1, 4), optimize=True) * -1 + del tmp23 + tmp34 = einsum(t1, (0, 1), tmp33, (2, 0, 3), (2, 3, 1), optimize=True) + del tmp33 + tmp26 = einsum(t2, (0, 1, 2, 3), tmp25, (4, 1, 3), (4, 0, 2), optimize=True) + del tmp25 + tmp30 = einsum(r2, (0, 1, 2), tmp29, (1, 3), (3, 0, 2), optimize=True) * -1 + del tmp29 + tmp7 = einsum(r1, (0,), v.ovvv, (0, 1, 2, 3), (1, 2, 3), optimize=True) + tmp39 = einsum(t1, (0, 1), v.oovv, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) + tmp17 = einsum(tmp16, (0, 1, 2), v.ovov, (3, 2, 0, 4), (3, 1, 4), optimize=True) + del tmp16 + tmp9 = einsum(r2, (0, 1, 2), f.oo, (3, 1), (3, 0, 2), optimize=True) + tmp15 = einsum(tmp14, (0, 1, 2), t1, (3, 2), (0, 3, 1), optimize=True) * -1 + del tmp14 + tmp11 = einsum(t1, (0, 1), tmp10, (2, 0, 3), (2, 3, 1), optimize=True) * -1 + del tmp10 + tmp13 = einsum(tmp12, (0, 1, 2, 3), r2, (2, 1, 4), (0, 3, 4), optimize=True) * -1 + del tmp12 + tmp21 = einsum(r2, (0, 1, 2), tmp20, (3, 1), (3, 0, 2), optimize=True) * -0.5 + del tmp20 + tmp36 = einsum(t1, (0, 1), tmp0, (2, 3, 1), (0, 2, 3), optimize=True) + del tmp0 + tmp5 = einsum(v.oovv, (0, 1, 2, 3), tmp1, (0, 1, 3), (2,), optimize=True) * -1 + tmp4 = einsum(f.ov, (0, 1), r1, (0,), (1,), optimize=True) + tmp42 = f.vv.copy() * -2 + tmp42 += einsum(t1, (0, 1), f.ov, (0, 2), (2, 1), optimize=True) * 2 + tmp42 += einsum(t1, (0, 1), v.ovvv, (0, 2, 3, 1), (3, 2), optimize=True) * 2 + tmp42 += einsum(tmp41, (0, 1, 2, 3), v.oovv, (0, 1, 4, 2), (4, 3), optimize=True) * -1 + del tmp41 + r2new = einsum(r2, (0, 1, 2), tmp42, (2, 3), (0, 1, 3), optimize=True) * -0.5 + del tmp42 + tmp35 = tmp24.copy() * -1 + del tmp24 + tmp35 += tmp26 * -1 + del tmp26 + tmp35 += tmp30.transpose((1, 0, 2)) * -1 + del tmp30 + tmp35 += tmp34 * -1 + del tmp34 + r2new += tmp35.transpose((1, 0, 2)) + r2new += tmp35 * -1 + del tmp35 + tmp38 = tmp7.transpose((0, 2, 1)).copy() * 2 + tmp38 += einsum(tmp1, (0, 1, 2), v.oovv, (0, 1, 3, 4), (2, 3, 4), optimize=True) * -2 + del tmp1 + r2new += einsum(t2, (0, 1, 2, 3), tmp38, (4, 2, 3), (0, 1, 4), optimize=True) * 0.25 + del tmp38 + tmp40 = v.oooo.copy() + tmp40 += einsum(t1, (0, 1), tmp39, (2, 3, 4, 1), (4, 3, 0, 2), optimize=True) * -1 + del tmp39 + r2new += einsum(r2, (0, 1, 2), tmp40, (0, 1, 3, 4), (3, 4, 2), optimize=True) * 0.5 + del tmp40 + tmp8 = einsum(tmp7, (0, 1, 2), t1, (3, 1), (3, 0, 2), optimize=True) * -1 + del tmp7 + r2new += einsum(t1, (0, 1), tmp8, (2, 3, 1), (0, 2, 3), optimize=True) * -1 + del tmp8 + tmp22 = tmp9.copy() + del tmp9 + tmp22 += tmp11 + del tmp11 + tmp22 += tmp13 * -0.5 + del tmp13 + tmp22 += tmp15 + del tmp15 + tmp22 += tmp17.transpose((1, 0, 2)) + del tmp17 + tmp22 += tmp21.transpose((1, 0, 2)) + del tmp21 + r2new += tmp22.transpose((1, 0, 2)) * -1 + r2new += tmp22 + del tmp22 + tmp43 = einsum(r1, (0,), v.oooo, (1, 2, 3, 0), (1, 2, 3), optimize=True) + tmp43 += einsum(tmp36, (0, 1, 2), t1, (3, 2), (0, 3, 1), optimize=True) * -1 + r2new += einsum(t1, (0, 1), tmp43, (2, 3, 0), (3, 2, 1), optimize=True) + del tmp43 + tmp37 = einsum(tmp36, (0, 1, 2), t2, (3, 1, 4, 2), (0, 3, 4), optimize=True) + del tmp36 + r2new += tmp37.transpose((1, 0, 2)) + r2new += tmp37 * -1 + del tmp37 + tmp6 = tmp4.copy() + del tmp4 + tmp6 += tmp5 + del tmp5 + r2new += einsum(t2, (0, 1, 2, 3), tmp6, (3,), (0, 1, 2), optimize=True) + r1new += einsum(t1, (0, 1), tmp6, (1,), (0,), optimize=True) * -1 + del tmp6 + tmp3 = f.ov.copy() + tmp3 += tmp2 + del tmp2 + r1new += einsum(r2, (0, 1, 2), tmp3, (1, 2), (0,), optimize=True) + del tmp3 + r1new += einsum(f.oo, (0, 1), r1, (1,), (0,), optimize=True) * -1 + r2new += einsum(v.ooov, (0, 1, 2, 3), r1, (2,), (0, 1, 3), optimize=True) * -1 + + return r1new, r2new + +def hbar_matvec_ea(f=None, r1=None, r2=None, t1=None, t2=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-07-22T17:08:54.557076. + + Parameters + ---------- + f : array + Fock matrix. + r1 : array + R1 amplitudes. + r2 : array + R2 amplitudes. + t1 : array + T1 amplitudes. + t2 : array + T2 amplitudes. + v : array + Electron repulsion integrals. + + Returns + ------- + r1new : array + Updated R1 residuals. + r2new : array + Updated R2 residuals. + """ + + tmp2 = einsum(v.oovv, (0, 1, 2, 3), t1, (1, 3), (0, 2), optimize=True) + tmp31 = einsum(t1, (0, 1), v.ooov, (2, 0, 3, 4), (2, 3, 1, 4), optimize=True) + tmp32 = einsum(v.ovvv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2), optimize=True) + tmp24 = einsum(t2, (0, 1, 2, 3), v.oovv, (0, 1, 4, 3), (2, 4), optimize=True) + tmp23 = einsum(t1, (0, 1), f.ov, (0, 2), (2, 1), optimize=True) + tmp14 = einsum(t1, (0, 1), v.ovvv, (0, 2, 3, 1), (2, 3), optimize=True) + tmp15 = einsum(tmp2, (0, 1), t1, (0, 2), (2, 1), optimize=True) + tmp11 = r2.transpose((2, 0, 1)).copy() + tmp11 += einsum(r1, (0,), t1, (1, 2), (1, 0, 2), optimize=True) + tmp8 = einsum(t1, (0, 1), v.oovv, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) + tmp33 = tmp31.transpose((1, 0, 2, 3)).copy() + del tmp31 + tmp33 += tmp32 + del tmp32 + tmp29 = t2.copy() + tmp29 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 3, 1), optimize=True) * -1 + tmp28 = einsum(r1, (0,), v.ovvv, (1, 2, 3, 0), (1, 2, 3), optimize=True) + tmp25 = tmp23.transpose((1, 0)).copy() + del tmp23 + tmp25 += tmp24 * 0.5 + del tmp24 + tmp21 = r2.transpose((2, 0, 1)).copy() + tmp21 += einsum(r1, (0,), t1, (1, 2), (1, 0, 2), optimize=True) + tmp19 = einsum(r2, (0, 1, 2), v.ovvv, (3, 4, 0, 1), (2, 3, 4), optimize=True) + tmp1 = einsum(t1, (0, 1), r1, (2,), (0, 1, 2), optimize=True) + tmp1 += r2.transpose((2, 0, 1)) * -0.5 + r1new = einsum(tmp1, (0, 1, 2), v.ovvv, (0, 3, 1, 2), (3,), optimize=True) + tmp16 = tmp14.copy() + del tmp14 + tmp16 += tmp15 + del tmp15 + tmp12 = einsum(v.oovv, (0, 1, 2, 3), tmp11, (1, 3, 4), (0, 4, 2), optimize=True) + del tmp11 + tmp9 = einsum(tmp8, (0, 1, 2, 3), r2, (4, 3, 1), (0, 2, 4), optimize=True) * -1 + del tmp8 + tmp34 = einsum(r2, (0, 1, 2), tmp33, (3, 2, 4, 1), (3, 4, 0), optimize=True) * -1 + del tmp33 + tmp30 = einsum(tmp29, (0, 1, 2, 3), tmp28, (0, 4, 2), (1, 3, 4), optimize=True) + del tmp29, tmp28 + tmp39 = t2.copy() + tmp39 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) * 2 + tmp36 = einsum(t1, (0, 1), r1, (2,), (0, 1, 2), optimize=True) * 2 + tmp36 += r2.transpose((2, 0, 1)) * -1 + r2new = einsum(v.vvvv, (0, 1, 2, 3), tmp36, (4, 2, 3), (0, 1, 4), optimize=True) * -0.5 + tmp26 = einsum(r2, (0, 1, 2), tmp25, (3, 1), (2, 3, 0), optimize=True) * -1 + del tmp25 + tmp22 = einsum(v.ovov, (0, 1, 2, 3), tmp21, (2, 1, 4), (0, 3, 4), optimize=True) + del tmp21 + tmp20 = einsum(tmp19, (0, 1, 2), t1, (1, 3), (0, 3, 2), optimize=True) + del tmp19 + tmp5 = einsum(tmp1, (0, 1, 2), v.oovv, (3, 0, 1, 2), (3,), optimize=True) * -1 + del tmp1 + tmp4 = einsum(r1, (0,), f.ov, (1, 0), (1,), optimize=True) + tmp17 = einsum(tmp16, (0, 1), r2, (2, 1, 3), (3, 0, 2), optimize=True) * -1 + del tmp16 + tmp13 = einsum(t2, (0, 1, 2, 3), tmp12, (1, 4, 3), (0, 4, 2), optimize=True) * -1 + del tmp12 + tmp10 = einsum(tmp9, (0, 1, 2), t1, (1, 3), (0, 2, 3), optimize=True) * -1 + del tmp9 + tmp7 = einsum(f.vv, (0, 1), r2, (2, 1, 3), (3, 0, 2), optimize=True) + tmp35 = tmp30.copy() * -1 + del tmp30 + tmp35 += tmp34.transpose((0, 2, 1)) * -1 + del tmp34 + r2new += tmp35.transpose((2, 1, 0)) * -1 + r2new += tmp35.transpose((1, 2, 0)) + del tmp35 + tmp38 = t2.copy() * 0.5 + tmp38 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) + tmp40 = f.oo.copy() + tmp40 += einsum(f.ov, (0, 1), t1, (2, 1), (0, 2), optimize=True) + tmp40 += einsum(t1, (0, 1), v.ooov, (2, 0, 3, 1), (2, 3), optimize=True) + tmp40 += einsum(tmp39, (0, 1, 2, 3), v.oovv, (4, 0, 2, 3), (4, 1), optimize=True) * -0.5 + del tmp39 + r2new += einsum(tmp40, (0, 1), r2, (2, 3, 0), (2, 3, 1), optimize=True) * -1 + del tmp40 + tmp37 = einsum(v.ooov, (0, 1, 2, 3), r1, (3,), (0, 1, 2), optimize=True) * -2 + tmp37 += einsum(v.oovv, (0, 1, 2, 3), tmp36, (4, 2, 3), (0, 1, 4), optimize=True) * -1 + del tmp36 + r2new += einsum(tmp37, (0, 1, 2), tmp38, (0, 1, 3, 4), (4, 3, 2), optimize=True) * -0.5 + del tmp37, tmp38 + tmp27 = tmp20.copy() * 0.5 + del tmp20 + tmp27 += tmp22.transpose((0, 2, 1)) * -1 + del tmp22 + tmp27 += tmp26.transpose((0, 2, 1)) * -1 + del tmp26 + r2new += tmp27.transpose((2, 1, 0)) + r2new += tmp27.transpose((1, 2, 0)) * -1 + del tmp27 + tmp6 = tmp4.copy() + del tmp4 + tmp6 += tmp5 + del tmp5 + r2new += einsum(tmp6, (0,), t2, (1, 0, 2, 3), (2, 3, 1), optimize=True) + r1new += einsum(tmp6, (0,), t1, (0, 1), (1,), optimize=True) * -1 + del tmp6 + tmp18 = tmp7.copy() + del tmp7 + tmp18 += tmp10 + del tmp10 + tmp18 += tmp13 * -1 + del tmp13 + tmp18 += tmp17.transpose((0, 2, 1)) * -1 + del tmp17 + r2new += tmp18.transpose((2, 1, 0)) + r2new += tmp18.transpose((1, 2, 0)) * -1 + del tmp18 + tmp3 = f.ov.copy() + tmp3 += tmp2 + del tmp2 + r1new += einsum(tmp3, (0, 1), r2, (2, 1, 0), (2,), optimize=True) + del tmp3 + tmp0 = einsum(r1, (0,), v.oovv, (1, 2, 3, 0), (1, 2, 3), optimize=True) + r1new += einsum(t2, (0, 1, 2, 3), tmp0, (1, 0, 3), (2,), optimize=True) * -0.5 + del tmp0 + r1new += einsum(r1, (0,), f.vv, (1, 0), (1,), optimize=True) + r2new += einsum(v.ovvv, (0, 1, 2, 3), r1, (1,), (2, 3, 0), optimize=True) * -1 + + return r1new, r2new + +def hbar_matvec_ee(f=None, r1=None, r2=None, t1=None, t2=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-07-22T17:09:05.858586. + + Parameters + ---------- + f : array + Fock matrix. + r1 : array + R1 amplitudes. + r2 : array + R2 amplitudes. + t1 : array + T1 amplitudes. + t2 : array + T2 amplitudes. + v : array + Electron repulsion integrals. + + Returns + ------- + r1new : array + Updated R1 residuals. + r2new : array + Updated R2 residuals. + """ + + tmp81 = einsum(v.oovv, (0, 1, 2, 3), t1, (1, 4), (0, 4, 2, 3), optimize=True) + tmp5 = einsum(v.oovv, (0, 1, 2, 3), t1, (1, 3), (0, 2), optimize=True) + tmp20 = einsum(v.ovvv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2), optimize=True) + tmp2 = einsum(t1, (0, 1), v.oovv, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) + tmp82 = v.ovvv.copy() + tmp82 += tmp81.transpose((0, 1, 3, 2)) + tmp40 = r2.copy() * 0.5 + tmp40 += einsum(r1, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) + tmp60 = einsum(v.oooo, (0, 1, 2, 3), t1, (3, 4), (0, 1, 2, 4), optimize=True) + tmp62 = einsum(tmp5, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4), optimize=True) * -1 + tmp61 = einsum(tmp20, (0, 1, 2, 3), t1, (4, 3), (0, 4, 1, 2), optimize=True) * -1 + tmp23 = t2.copy() + tmp23 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 3, 1), optimize=True) * -1 + tmp19 = einsum(t1, (0, 1), v.ooov, (2, 0, 3, 4), (2, 3, 1, 4), optimize=True) + tmp0 = einsum(r1, (0, 1), v.oovv, (2, 0, 3, 1), (2, 3), optimize=True) + r1new = einsum(tmp0, (0, 1), t2, (2, 0, 3, 1), (2, 3), optimize=True) + tmp51 = einsum(tmp2, (0, 1, 2, 3), r1, (4, 3), (4, 0, 2, 1), optimize=True) * -1 + tmp11 = einsum(t1, (0, 1), v.ooov, (2, 0, 3, 1), (2, 3), optimize=True) + tmp54 = einsum(t1, (0, 1), tmp5, (2, 1), (0, 2), optimize=True) + tmp87 = einsum(t2, (0, 1, 2, 3), v.oovv, (0, 1, 4, 3), (2, 4), optimize=True) + tmp86 = einsum(t1, (0, 1), f.ov, (0, 2), (2, 1), optimize=True) + tmp83 = einsum(t2, (0, 1, 2, 3), tmp82, (4, 5, 2, 3), (4, 0, 1, 5), optimize=True) * 0.5 + del tmp82 + tmp80 = einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) + tmp68 = einsum(t1, (0, 1), tmp2, (2, 3, 4, 1), (2, 0, 4, 3), optimize=True) + tmp72 = einsum(t1, (0, 1), tmp5, (0, 2), (1, 2), optimize=True) + tmp71 = einsum(t1, (0, 1), v.ovvv, (0, 2, 3, 1), (2, 3), optimize=True) + tmp41 = einsum(tmp40, (0, 1, 2, 3), v.oovv, (4, 0, 2, 3), (1, 4), optimize=True) * -2 + del tmp40 + tmp7 = einsum(r1, (0, 1), f.ov, (2, 1), (2, 0), optimize=True) + tmp34 = einsum(v.ooov, (0, 1, 2, 3), r1, (4, 3), (4, 0, 1, 2), optimize=True) + tmp44 = einsum(v.oovv, (0, 1, 2, 3), t2, (4, 1, 2, 3), (4, 0), optimize=True) + tmp10 = einsum(f.ov, (0, 1), t1, (2, 1), (0, 2), optimize=True) + tmp37 = v.ooov.copy() + tmp37 += tmp2.transpose((2, 1, 0, 3)) + tmp93 = r2.copy() * -1 + tmp93 += einsum(r1, (0, 1), t1, (2, 3), (0, 2, 3, 1), optimize=True) + tmp93 += einsum(r1, (0, 1), t1, (2, 3), (2, 0, 1, 3), optimize=True) + tmp63 = tmp60.transpose((1, 0, 2, 3)).copy() + del tmp60 + tmp63 += tmp61 + del tmp61 + tmp63 += tmp62 + del tmp62 + tmp58 = einsum(r1, (0, 1), v.ovvv, (0, 2, 3, 1), (2, 3), optimize=True) + tmp26 = einsum(tmp23, (0, 1, 2, 3), v.ooov, (4, 0, 5, 2), (4, 5, 1, 3), optimize=True) * -1 + tmp21 = tmp19.copy() + del tmp19 + tmp21 += tmp20.transpose((1, 0, 2, 3)) + del tmp20 + tmp24 = einsum(v.ovvv, (0, 1, 2, 3), r1, (4, 3), (4, 0, 1, 2), optimize=True) + tmp49 = einsum(tmp0, (0, 1), t1, (2, 1), (2, 0), optimize=True) * -1 + tmp52 = einsum(tmp51, (0, 1, 2, 3), t1, (3, 4), (0, 1, 2, 4), optimize=True) + del tmp51 + tmp55 = tmp11.copy() + tmp55 += tmp54.transpose((1, 0)) + del tmp54 + tmp88 = tmp86.transpose((1, 0)).copy() + del tmp86 + tmp88 += tmp87 * 0.5 + del tmp87 + tmp76 = einsum(r2, (0, 1, 2, 3), v.ovvv, (4, 5, 2, 3), (0, 1, 4, 5), optimize=True) + tmp78 = einsum(r2, (0, 1, 2, 3), v.oovv, (0, 1, 4, 3), (2, 4), optimize=True) + tmp84 = tmp80.transpose((0, 2, 1, 3)).copy() + del tmp80 + tmp84 += tmp83.transpose((0, 2, 1, 3)) * -1 + del tmp83 + tmp66 = einsum(t2, (0, 1, 2, 3), tmp0, (4, 3), (0, 1, 4, 2), optimize=True) * -1 + del tmp0 + tmp69 = einsum(tmp68, (0, 1, 2, 3), t1, (3, 4), (0, 1, 2, 4), optimize=True) + del tmp68 + tmp73 = tmp71.copy() + del tmp71 + tmp73 += tmp72 + del tmp72 + tmp31 = einsum(v.ooov, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2), optimize=True) + tmp42 = tmp7.transpose((1, 0)).copy() * 2 + tmp42 += tmp41 + del tmp41 + tmp35 = einsum(t1, (0, 1), tmp34, (2, 0, 3, 4), (2, 3, 4, 1), optimize=True) * -1 + del tmp34 + tmp29 = einsum(t1, (0, 1), v.vvvv, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) + tmp45 = tmp10.transpose((1, 0)).copy() * 2 + tmp45 += tmp44 + del tmp44 + tmp8 = einsum(r1, (0, 1), v.ooov, (2, 0, 3, 1), (2, 3), optimize=True) + tmp38 = einsum(tmp37, (0, 1, 2, 3), r1, (4, 3), (0, 1, 2, 4), optimize=True) + del tmp37 + tmp91 = einsum(tmp2, (0, 1, 2, 3), r2, (4, 1, 5, 3), (4, 0, 2, 5), optimize=True) * -1 + tmp94 = einsum(v.oovv, (0, 1, 2, 3), tmp93, (1, 4, 3, 5), (4, 0, 5, 2), optimize=True) + del tmp93 + tmp15 = einsum(r1, (0, 1), v.ooov, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) + tmp16 = einsum(f.vv, (0, 1), r2, (2, 3, 4, 1), (2, 3, 0, 4), optimize=True) + tmp64 = einsum(r1, (0, 1), tmp63, (2, 3, 0, 4), (2, 3, 4, 1), optimize=True) + del tmp63 + tmp59 = einsum(t2, (0, 1, 2, 3), tmp58, (4, 3), (0, 1, 2, 4), optimize=True) * -1 + del tmp58 + tmp27 = einsum(r1, (0, 1), tmp26, (0, 2, 3, 4), (3, 2, 4, 1), optimize=True) * -1 + del tmp26 + tmp22 = einsum(tmp21, (0, 1, 2, 3), r2, (4, 0, 5, 3), (1, 4, 2, 5), optimize=True) + del tmp21 + tmp25 = einsum(tmp24, (0, 1, 2, 3), tmp23, (1, 4, 3, 5), (4, 0, 5, 2), optimize=True) + del tmp23, tmp24 + tmp50 = einsum(tmp49, (0, 1), t2, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) * -1 + del tmp49 + tmp48 = einsum(v.ovvv, (0, 1, 2, 3), r1, (4, 1), (4, 0, 2, 3), optimize=True) + tmp53 = einsum(t1, (0, 1), tmp52, (2, 3, 0, 4), (2, 3, 4, 1), optimize=True) * -1 + del tmp52 + tmp56 = einsum(r2, (0, 1, 2, 3), tmp55, (1, 4), (4, 0, 2, 3), optimize=True) * -1 + del tmp55 + tmp97 = r2.copy() * -1 + tmp97 += einsum(r1, (0, 1), t1, (2, 3), (0, 2, 3, 1), optimize=True) + tmp97 += einsum(r1, (0, 1), t1, (2, 3), (2, 0, 1, 3), optimize=True) + tmp89 = einsum(tmp88, (0, 1), r2, (2, 3, 4, 1), (2, 3, 0, 4), optimize=True) * -1 + del tmp88 + tmp77 = einsum(t1, (0, 1), tmp76, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) + del tmp76 + tmp79 = einsum(t2, (0, 1, 2, 3), tmp78, (4, 3), (0, 1, 4, 2), optimize=True) * -1 + del tmp78 + tmp85 = einsum(r1, (0, 1), tmp84, (0, 2, 3, 4), (2, 3, 4, 1), optimize=True) + del tmp84 + tmp67 = einsum(t1, (0, 1), tmp66, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) * -1 + del tmp66 + tmp70 = einsum(r1, (0, 1), tmp69, (2, 3, 0, 4), (3, 2, 1, 4), optimize=True) * -1 + del tmp69 + tmp74 = einsum(r2, (0, 1, 2, 3), tmp73, (4, 3), (0, 1, 4, 2), optimize=True) * -1 + del tmp73 + tmp32 = einsum(tmp31, (0, 1, 2, 3), r2, (2, 1, 4, 5), (0, 3, 4, 5), optimize=True) * -1 + del tmp31 + tmp43 = einsum(t2, (0, 1, 2, 3), tmp42, (4, 1), (4, 0, 2, 3), optimize=True) * -0.5 + del tmp42 + tmp36 = einsum(t1, (0, 1), tmp35, (2, 0, 3, 4), (2, 3, 4, 1), optimize=True) * -1 + del tmp35 + tmp30 = einsum(tmp29, (0, 1, 2, 3), r1, (4, 3), (4, 0, 1, 2), optimize=True) + del tmp29 + tmp46 = einsum(r2, (0, 1, 2, 3), tmp45, (4, 1), (4, 0, 2, 3), optimize=True) * -0.5 + del tmp45 + tmp33 = einsum(t2, (0, 1, 2, 3), tmp8, (1, 4), (0, 4, 2, 3), optimize=True) * -1 + tmp39 = einsum(t2, (0, 1, 2, 3), tmp38, (1, 0, 4, 5), (5, 4, 2, 3), optimize=True) * -0.5 + del tmp38 + tmp12 = t2.copy() + tmp12 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) * 2 + tmp92 = einsum(tmp91, (0, 1, 2, 3), t1, (2, 4), (0, 1, 3, 4), optimize=True) * -1 + del tmp91 + tmp95 = einsum(t2, (0, 1, 2, 3), tmp94, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) + del tmp94 + tmp4 = r2.copy() + tmp4 += einsum(t1, (0, 1), r1, (2, 3), (2, 0, 3, 1), optimize=True) * 2 + tmp4 += einsum(r1, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) * 2 + r1new += einsum(tmp4, (0, 1, 2, 3), v.ovvv, (0, 4, 2, 3), (1, 4), optimize=True) * 0.5 + tmp17 = tmp15.transpose((1, 0, 2, 3)).copy() * -1 + del tmp15 + tmp17 += tmp16.transpose((1, 0, 2, 3)) * -1 + del tmp16 + r2new = tmp17.transpose((0, 1, 3, 2)).copy() + r2new += tmp17 * -1 + del tmp17 + tmp65 = tmp59.copy() + del tmp59 + tmp65 += tmp64.transpose((0, 1, 3, 2)) * -1 + del tmp64 + r2new += tmp65.transpose((0, 1, 3, 2)) * -1 + r2new += tmp65 + del tmp65 + tmp28 = tmp22.transpose((1, 0, 3, 2)).copy() + del tmp22 + tmp28 += tmp25.transpose((1, 0, 2, 3)) * -1 + del tmp25 + tmp28 += tmp27.transpose((0, 1, 3, 2)) + del tmp27 + r2new += tmp28.transpose((1, 0, 3, 2)) + r2new += tmp28.transpose((1, 0, 2, 3)) * -1 + r2new += tmp28.transpose((0, 1, 3, 2)) * -1 + r2new += tmp28 + del tmp28 + tmp57 = tmp48.transpose((0, 1, 3, 2)).copy() * -1 + del tmp48 + tmp57 += tmp50.transpose((0, 1, 3, 2)) + del tmp50 + tmp57 += tmp53.transpose((0, 1, 3, 2)) + del tmp53 + tmp57 += tmp56.transpose((1, 0, 3, 2)) + del tmp56 + r2new += tmp57.transpose((1, 0, 2, 3)) + r2new += tmp57 * -1 + del tmp57 + tmp100 = v.vvvv.copy() + tmp100 += einsum(t1, (0, 1), tmp81, (0, 2, 3, 4), (4, 3, 1, 2), optimize=True) * -1 + del tmp81 + r2new += einsum(r2, (0, 1, 2, 3), tmp100, (2, 3, 4, 5), (0, 1, 4, 5), optimize=True) * 0.5 + del tmp100 + tmp98 = einsum(v.ovov, (0, 1, 2, 3), tmp97, (2, 4, 1, 5), (4, 0, 5, 3), optimize=True) + del tmp97 + r2new += tmp98.transpose((1, 0, 3, 2)) + r2new += tmp98.transpose((1, 0, 2, 3)) * -1 + r2new += tmp98.transpose((0, 1, 3, 2)) * -1 + r2new += tmp98 + del tmp98 + tmp90 = tmp77.copy() * 0.5 + del tmp77 + tmp90 += tmp79 * 0.5 + del tmp79 + tmp90 += tmp85.transpose((1, 0, 3, 2)) * -1 + del tmp85 + tmp90 += tmp89.transpose((1, 0, 3, 2)) + del tmp89 + r2new += tmp90.transpose((0, 1, 3, 2)) + r2new += tmp90 * -1 + del tmp90 + tmp75 = tmp67.copy() * -1 + del tmp67 + tmp75 += tmp70 * -1 + del tmp70 + tmp75 += tmp74.transpose((1, 0, 3, 2)) + del tmp74 + r2new += tmp75.transpose((0, 1, 3, 2)) + r2new += tmp75 * -1 + del tmp75 + tmp14 = einsum(r2, (0, 1, 2, 3), v.oovv, (4, 5, 2, 3), (0, 1, 4, 5), optimize=True) + r2new += einsum(tmp14, (0, 1, 2, 3), t2, (3, 2, 4, 5), (1, 0, 4, 5), optimize=True) * 0.25 + del tmp14 + tmp47 = tmp30.transpose((0, 1, 3, 2)).copy() + del tmp30 + tmp47 += tmp32.transpose((0, 1, 3, 2)) * -0.5 + del tmp32 + tmp47 += tmp33.transpose((0, 1, 3, 2)) + del tmp33 + tmp47 += tmp36.transpose((0, 1, 3, 2)) * -1 + del tmp36 + tmp47 += tmp39.transpose((0, 1, 3, 2)) * -1 + del tmp39 + tmp47 += tmp43.transpose((0, 1, 3, 2)) * -1 + del tmp43 + tmp47 += tmp46.transpose((1, 0, 3, 2)) + del tmp46 + r2new += tmp47.transpose((1, 0, 2, 3)) + r2new += tmp47 * -1 + del tmp47 + tmp99 = v.oooo.copy() + tmp99 += einsum(v.oovv, (0, 1, 2, 3), tmp12, (4, 5, 2, 3), (0, 1, 5, 4), optimize=True) * -0.5 + r2new += einsum(r2, (0, 1, 2, 3), tmp99, (0, 1, 4, 5), (4, 5, 2, 3), optimize=True) * 0.5 + del tmp99 + tmp96 = tmp92.copy() + del tmp92 + tmp96 += tmp95 + del tmp95 + r2new += tmp96.transpose((1, 0, 3, 2)) * -1 + r2new += tmp96.transpose((1, 0, 2, 3)) + r2new += tmp96.transpose((0, 1, 3, 2)) + r2new += tmp96 * -1 + del tmp96 + tmp18 = einsum(f.oo, (0, 1), r2, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) + r2new += tmp18.transpose((1, 0, 3, 2)) + r2new += tmp18.transpose((0, 1, 3, 2)) * -1 + del tmp18 + tmp3 = v.ovoo.transpose((0, 2, 3, 1)).copy() * -1 + tmp3 += tmp2.transpose((0, 2, 1, 3)) * -1 + del tmp2 + r1new += einsum(r2, (0, 1, 2, 3), tmp3, (4, 0, 1, 3), (4, 2), optimize=True) * 0.5 + del tmp3 + tmp9 = tmp7.copy() + del tmp7 + tmp9 += tmp8 + del tmp8 + tmp9 += einsum(tmp4, (0, 1, 2, 3), v.oovv, (4, 0, 2, 3), (4, 1), optimize=True) * -0.5 + del tmp4 + r1new += einsum(tmp9, (0, 1), t1, (0, 2), (1, 2), optimize=True) * -1 + del tmp9 + tmp6 = f.ov.copy() + tmp6 += tmp5 + del tmp5 + r1new += einsum(r2, (0, 1, 2, 3), tmp6, (1, 3), (0, 2), optimize=True) + del tmp6 + tmp13 = f.oo.copy() + tmp13 += tmp10 + del tmp10 + tmp13 += tmp11 + del tmp11 + tmp13 += einsum(tmp12, (0, 1, 2, 3), v.oovv, (4, 0, 2, 3), (4, 1), optimize=True) * -0.5 + del tmp12 + r1new += einsum(r1, (0, 1), tmp13, (0, 2), (2, 1), optimize=True) * -1 + del tmp13 + tmp1 = einsum(r1, (0, 1), v.oovv, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) + r1new += einsum(t2, (0, 1, 2, 3), tmp1, (4, 1, 0, 3), (4, 2), optimize=True) * -0.5 + del tmp1 + r1new += einsum(r1, (0, 1), f.vv, (2, 1), (0, 2), optimize=True) + r1new += einsum(r1, (0, 1), v.ovov, (2, 1, 0, 3), (2, 3), optimize=True) * -1 + + return r1new, r2new + diff --git a/ebcc/codegen/RCCSD.py b/ebcc/codegen/RCCSD.py index 6ed2baa2..fe27aac9 100644 --- a/ebcc/codegen/RCCSD.py +++ b/ebcc/codegen/RCCSD.py @@ -2,7 +2,7 @@ Code generated by `albert`: https://github.com/obackhouse/albert - * date: 2024-07-18T20:20:43.113666 + * date: 2024-07-22T17:19:26.962289 * python version: 3.10.12 (main, Mar 22 2024, 16:50:05) [GCC 11.4.0] * albert version: 0.0.0 * caller: /home/ollie/git/albert/albert/codegen/einsum.py @@ -18,7 +18,7 @@ def energy(f=None, t1=None, t2=None, v=None, **kwargs): """ - Code generated by `albert` 0.0.0 on 2024-07-18T20:20:43.567964. + Code generated by `albert` 0.0.0 on 2024-07-22T17:19:27.412709. Parameters ---------- @@ -37,21 +37,21 @@ def energy(f=None, t1=None, t2=None, v=None, **kwargs): Coupled cluster energy. """ - tmp0 = v.ovov.transpose((2, 0, 1, 3)).copy() - tmp0 += v.ovov.transpose((2, 0, 3, 1)) * -0.5 + tmp0 = v.ovov.transpose((0, 2, 3, 1)).copy() * -0.5 + tmp0 += v.ovov.transpose((0, 2, 1, 3)) tmp1 = f.ov.copy() - tmp1 += einsum(tmp0, (0, 1, 2, 3), t1, (0, 3), (1, 2), optimize=True) + tmp1 += einsum(t1, (0, 1), tmp0, (0, 2, 1, 3), (2, 3), optimize=True) del tmp0 e_cc = einsum(tmp1, (0, 1), t1, (0, 1), (), optimize=True) * 2 del tmp1 e_cc += einsum(v.ovov, (0, 1, 2, 3), t2, (0, 2, 1, 3), (), optimize=True) * 2 - e_cc += einsum(t2, (0, 1, 2, 3), v.ovov, (0, 3, 1, 2), (), optimize=True) * -1 + e_cc += einsum(v.ovov, (0, 1, 2, 3), t2, (0, 2, 3, 1), (), optimize=True) * -1 return e_cc def update_amps(f=None, t1=None, t2=None, v=None, **kwargs): """ - Code generated by `albert` 0.0.0 on 2024-07-18T20:20:54.656399. + Code generated by `albert` 0.0.0 on 2024-07-22T17:19:37.633676. Parameters ---------- @@ -72,228 +72,240 @@ def update_amps(f=None, t1=None, t2=None, v=None, **kwargs): Updated T2 residuals. """ - tmp4 = v.ovov.transpose((2, 0, 1, 3)).copy() * 2 - tmp4 += v.ovov.transpose((2, 0, 3, 1)) * -1 - tmp2 = einsum(t1, (0, 1), v.ovov, (2, 1, 3, 4), (0, 3, 2, 4), optimize=True) - tmp26 = einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) - tmp26 += t2.transpose((1, 0, 2, 3)) * -2 - tmp26 += t2.transpose((1, 0, 3, 2)) - tmp5 = einsum(tmp4, (0, 1, 2, 3), t1, (0, 3), (1, 2), optimize=True) - tmp42 = tmp2.copy() * 2 - tmp42 += tmp2.transpose((0, 2, 1, 3)) * -1 - tmp9 = einsum(f.ov, (0, 1), t1, (2, 1), (0, 2), optimize=True) - tmp24 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 1, 5, 3), (0, 4, 5, 2), optimize=True) - tmp25 = einsum(tmp2, (0, 1, 2, 3), t2, (4, 2, 3, 5), (0, 4, 1, 5), optimize=True) - tmp27 = einsum(tmp26, (0, 1, 2, 3), v.ooov, (4, 5, 0, 3), (4, 5, 1, 2), optimize=True) - del tmp26 - tmp28 = einsum(t2, (0, 1, 2, 3), tmp5, (4, 2), (4, 0, 1, 3), optimize=True) - tmp23 = einsum(v.oovv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2), optimize=True) - tmp46 = v.ooov.transpose((1, 0, 2, 3)).copy() * 2 - tmp46 += v.ooov.transpose((1, 2, 0, 3)) * -1 - tmp38 = v.ovvv.transpose((0, 1, 3, 2)).copy() * 2 - tmp38 += v.ovvv.transpose((0, 3, 2, 1)) * -1 - tmp35 = einsum(tmp4, (0, 1, 2, 3), t2, (0, 4, 3, 5), (1, 4, 2, 5), optimize=True) + tmp4 = v.ovov.transpose((0, 2, 3, 1)).copy() * -1 + tmp4 += v.ovov.transpose((0, 2, 1, 3)) * 2 + tmp2 = einsum(v.ovov, (0, 1, 2, 3), t1, (4, 3), (4, 0, 2, 1), optimize=True) + tmp40 = einsum(t1, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) + tmp40 += t2.transpose((0, 1, 3, 2)) * -2 + tmp40 += t2 + tmp5 = einsum(t1, (0, 1), tmp4, (0, 2, 1, 3), (2, 3), optimize=True) + tmp23 = tmp2.copy() * -1 + tmp23 += tmp2.transpose((0, 2, 1, 3)) * 2 + tmp39 = einsum(tmp2, (0, 1, 2, 3), t2, (4, 2, 3, 5), (0, 4, 1, 5), optimize=True) + tmp38 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 1, 5, 3), (0, 4, 5, 2), optimize=True) + tmp37 = einsum(v.oovv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2), optimize=True) + tmp41 = einsum(v.ooov, (0, 1, 2, 3), tmp40, (2, 4, 5, 3), (0, 1, 4, 5), optimize=True) + del tmp40 + tmp42 = einsum(t2, (0, 1, 2, 3), tmp5, (4, 2), (4, 0, 1, 3), optimize=True) + tmp57 = v.ovov.transpose((0, 2, 3, 1)).copy() + tmp57 += v.ovov.transpose((0, 2, 1, 3)) * -0.5 + tmp60 = v.ovov.transpose((0, 2, 3, 1)).copy() * -0.5 + tmp60 += v.ovov.transpose((0, 2, 1, 3)) + tmp19 = v.ovvv.copy() * 2 + tmp19 += v.ovvv.transpose((0, 2, 3, 1)) * -1 + tmp22 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 1, 5, 2), (0, 4, 5, 3), optimize=True) + tmp24 = einsum(tmp23, (0, 1, 2, 3), t2, (4, 2, 5, 3), (0, 1, 4, 5), optimize=True) + del tmp23 + tmp27 = v.ooov.copy() * 2 + tmp27 += v.ooov.transpose((0, 2, 1, 3)) * -1 + tmp16 = einsum(tmp4, (0, 1, 2, 3), t2, (4, 0, 5, 2), (1, 4, 3, 5), optimize=True) del tmp4 - tmp34 = einsum(t1, (0, 1), tmp2, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) - tmp43 = einsum(tmp42, (0, 1, 2, 3), t2, (1, 4, 3, 5), (0, 2, 4, 5), optimize=True) + tmp15 = einsum(t1, (0, 1), tmp2, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) + tmp9 = einsum(f.ov, (0, 1), t1, (2, 1), (0, 2), optimize=True) + tmp32 = einsum(v.ovvv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2), optimize=True) + tmp35 = t2.transpose((0, 1, 3, 2)).copy() * 2 + tmp35 += t2 * -1 + tmp45 = einsum(tmp5, (0, 1), t1, (2, 1), (0, 2), optimize=True) + tmp43 = tmp37.transpose((0, 2, 1, 3)).copy() * -1 + del tmp37 + tmp43 += tmp38.transpose((0, 2, 1, 3)) + del tmp38 + tmp43 += tmp39.transpose((0, 2, 1, 3)) + del tmp39 + tmp43 += tmp41.transpose((2, 1, 0, 3)) + del tmp41 + tmp43 += tmp42.transpose((2, 0, 1, 3)) * -1 del tmp42 - tmp41 = einsum(v.ooov, (0, 1, 2, 3), t2, (4, 1, 3, 5), (4, 0, 2, 5), optimize=True) - tmp52 = v.ovov.transpose((2, 0, 1, 3)).copy() * -0.5 - tmp52 += v.ovov.transpose((2, 0, 3, 1)) - tmp58 = einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) - tmp60 = f.oo.transpose((1, 0)).copy() - tmp60 += tmp9 - tmp29 = tmp23.transpose((0, 2, 1, 3)).copy() * -1 - del tmp23 - tmp29 += tmp24.transpose((0, 2, 1, 3)) + tmp33 = einsum(v.ovvv, (0, 1, 2, 3), t1, (4, 1), (4, 0, 2, 3), optimize=True) + tmp55 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 5, 1, 3), (4, 5, 0, 2), optimize=True) + tmp58 = einsum(tmp57, (0, 1, 2, 3), t2, (0, 1, 4, 2), (3, 4), optimize=True) + del tmp57 + tmp61 = einsum(t2, (0, 1, 2, 3), tmp60, (1, 4, 3, 2), (4, 0), optimize=True) * 2 + del tmp60 + tmp68 = einsum(tmp2, (0, 1, 2, 3), t1, (4, 3), (0, 4, 2, 1), optimize=True) + tmp67 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 2, 5, 3), (0, 1, 4, 5), optimize=True) + tmp20 = einsum(t1, (0, 1), tmp19, (0, 1, 2, 3), (2, 3), optimize=True) + del tmp19 + tmp25 = tmp2.copy() + tmp25 += tmp22 * -1 + del tmp22 + tmp25 += tmp24.transpose((0, 2, 1, 3)) del tmp24 - tmp29 += tmp25.transpose((0, 2, 1, 3)) - del tmp25 - tmp29 += tmp27.transpose((2, 1, 0, 3)) + tmp28 = einsum(t1, (0, 1), tmp27, (2, 3, 0, 1), (2, 3), optimize=True) del tmp27 - tmp29 += tmp28.transpose((2, 0, 1, 3)) * -1 - del tmp28 - tmp16 = einsum(t1, (0, 1), v.ovvv, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) - tmp20 = einsum(t1, (0, 1), v.ovvv, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) - tmp7 = t2.transpose((1, 0, 2, 3)).copy() * 2 - tmp7 += t2.transpose((1, 0, 3, 2)) * -1 - tmp31 = einsum(t1, (0, 1), tmp5, (2, 1), (2, 0), optimize=True) - tmp47 = einsum(t1, (0, 1), tmp46, (2, 3, 0, 1), (2, 3), optimize=True) - del tmp46 - tmp39 = einsum(t1, (0, 1), tmp38, (0, 1, 2, 3), (2, 3), optimize=True) - del tmp38 - tmp36 = tmp34.copy() - del tmp34 - tmp36 += tmp35.transpose((1, 0, 3, 2)) * -1 - tmp44 = tmp2.copy() - tmp44 += tmp41 * -1 - del tmp41 - tmp44 += tmp43.transpose((0, 2, 1, 3)) + tmp17 = tmp15.copy() + del tmp15 + tmp17 += tmp16.transpose((1, 0, 3, 2)) * -1 + tmp50 = einsum(t2, (0, 1, 2, 3), f.ov, (4, 3), (4, 0, 1, 2), optimize=True) + tmp52 = f.oo.copy() + tmp52 += tmp9 + tmp13 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 5, 1, 2), (0, 4, 3, 5), optimize=True) + t2new = tmp13.copy() * -1 + tmp31 = einsum(f.vv, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4), optimize=True) + tmp36 = einsum(tmp35, (0, 1, 2, 3), tmp32, (4, 0, 3, 5), (1, 4, 2, 5), optimize=True) + del tmp35 + tmp46 = einsum(t2, (0, 1, 2, 3), tmp45, (1, 4), (4, 0, 3, 2), optimize=True) + del tmp45 + tmp44 = einsum(tmp43, (0, 1, 2, 3), t1, (1, 4), (0, 2, 3, 4), optimize=True) del tmp43 - tmp50 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 5, 1, 3), (4, 5, 0, 2), optimize=True) - tmp55 = einsum(tmp52, (0, 1, 2, 3), t2, (0, 4, 2, 3), (1, 4), optimize=True) * 2 - tmp53 = einsum(tmp52, (0, 1, 2, 3), t2, (0, 1, 2, 4), (3, 4), optimize=True) - del tmp52 - tmp17 = t2.transpose((1, 0, 3, 2)).copy() - tmp17 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) - tmp14 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 0, 1, 5), (4, 2, 5, 3), optimize=True) - t2new = tmp14.copy() * -1 - tmp63 = einsum(t1, (0, 1), v.ooov, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) - tmp15 = einsum(tmp2, (0, 1, 2, 3), t1, (4, 3), (0, 4, 2, 1), optimize=True) - t2new += einsum(tmp15, (0, 1, 2, 3), t2, (3, 2, 4, 5), (1, 0, 4, 5), optimize=True) - tmp59 = einsum(t1, (0, 1), tmp58, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) + tmp34 = einsum(t2, (0, 1, 2, 3), tmp33, (4, 1, 5, 3), (4, 0, 2, 5), optimize=True) + tmp56 = einsum(t1, (0, 1), tmp55, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) + del tmp55 + tmp59 = einsum(t2, (0, 1, 2, 3), tmp58, (2, 4), (0, 1, 4, 3), optimize=True) * 2 del tmp58 - tmp61 = einsum(tmp60, (0, 1), t2, (0, 2, 3, 4), (1, 2, 3, 4), optimize=True) - del tmp60 - tmp19 = einsum(f.vv, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4), optimize=True) - tmp30 = einsum(tmp29, (0, 1, 2, 3), t1, (1, 4), (0, 2, 3, 4), optimize=True) - del tmp29 - tmp21 = einsum(tmp16, (0, 1, 2, 3), t2, (4, 1, 5, 3), (0, 4, 5, 2), optimize=True) - tmp22 = einsum(tmp20, (0, 1, 2, 3), tmp7, (1, 4, 5, 2), (4, 0, 5, 3), optimize=True) - tmp32 = einsum(tmp31, (0, 1), t2, (0, 2, 3, 4), (1, 2, 3, 4), optimize=True) + tmp62 = einsum(tmp61, (0, 1), t2, (2, 0, 3, 4), (1, 2, 4, 3), optimize=True) + del tmp61 + tmp70 = v.oooo.copy() + tmp70 += tmp67.transpose((3, 1, 0, 2)) + tmp70 += tmp68.transpose((3, 1, 0, 2)) + tmp64 = t2.copy() + tmp64 += einsum(t1, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) + tmp21 = einsum(t2, (0, 1, 2, 3), tmp20, (4, 2), (0, 1, 4, 3), optimize=True) + del tmp20 + tmp26 = einsum(tmp25, (0, 1, 2, 3), t1, (2, 4), (0, 1, 3, 4), optimize=True) + del tmp25 + tmp29 = einsum(tmp28, (0, 1), t2, (2, 1, 3, 4), (0, 2, 4, 3), optimize=True) + del tmp28 + tmp18 = einsum(tmp17, (0, 1, 2, 3), t2, (4, 1, 3, 5), (0, 4, 2, 5), optimize=True) + del tmp17 + tmp48 = einsum(v.ooov, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2), optimize=True) + tmp51 = einsum(t1, (0, 1), tmp50, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) + del tmp50 + tmp53 = einsum(tmp52, (0, 1), t2, (2, 0, 3, 4), (1, 2, 4, 3), optimize=True) + del tmp52 + tmp11 = v.ooov.copy() + tmp11 += v.ooov.transpose((0, 2, 1, 3)) * -0.5 + tmp10 = v.ovov.transpose((0, 2, 3, 1)).copy() * -1 + tmp10 += v.ovov.transpose((0, 2, 1, 3)) * 2 + tmp0 = t2.copy() + tmp0 += einsum(t1, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) + tmp73 = v.ovov.transpose((0, 2, 1, 3)).copy() * -1 + tmp73 += tmp13 + del tmp13 + t2new += einsum(t2, (0, 1, 2, 3), tmp73, (4, 1, 5, 2), (4, 0, 5, 3), optimize=True) + del tmp73 + tmp47 = tmp31.copy() del tmp31 - tmp48 = einsum(tmp47, (0, 1), t2, (1, 2, 3, 4), (0, 2, 3, 4), optimize=True) - del tmp47 - tmp40 = einsum(tmp39, (0, 1), t2, (2, 3, 1, 4), (2, 3, 0, 4), optimize=True) - del tmp39 - tmp37 = einsum(t2, (0, 1, 2, 3), tmp36, (4, 0, 5, 3), (4, 1, 5, 2), optimize=True) + tmp47 += tmp32 + del tmp32 + tmp47 += tmp34 * -1 + del tmp34 + tmp47 += tmp36.transpose((1, 0, 2, 3)) del tmp36 - tmp45 = einsum(t1, (0, 1), tmp44, (2, 3, 0, 4), (2, 3, 4, 1), optimize=True) + tmp47 += tmp44.transpose((0, 1, 3, 2)) del tmp44 - tmp51 = einsum(t1, (0, 1), tmp50, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) - del tmp50 - tmp56 = einsum(tmp55, (0, 1), t2, (0, 2, 3, 4), (1, 2, 3, 4), optimize=True) - del tmp55 - tmp54 = einsum(tmp53, (0, 1), t2, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) * 2 - del tmp53 - tmp10 = v.ovov.transpose((2, 0, 1, 3)).copy() * 2 - tmp10 += v.ovov.transpose((2, 0, 3, 1)) * -1 - tmp0 = t2.transpose((1, 0, 3, 2)).copy() - tmp0 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) - tmp11 = v.ooov.transpose((1, 0, 2, 3)).copy() - tmp11 += v.ooov.transpose((1, 2, 0, 3)) * -0.5 - tmp66 = v.oooo.transpose((2, 3, 1, 0)).copy() - tmp66 += einsum(v.ovov, (0, 1, 2, 3), t2, (4, 5, 1, 3), (2, 5, 4, 0), optimize=True) - t2new += einsum(tmp66, (0, 1, 2, 3), tmp0, (0, 3, 4, 5), (2, 1, 5, 4), optimize=True) - del tmp66 - tmp18 = einsum(tmp16, (0, 1, 2, 3), tmp17, (1, 4, 5, 2), (0, 4, 3, 5), optimize=True) - del tmp16, tmp17 - t2new += tmp18.transpose((1, 0, 2, 3)) * -1 - t2new += tmp18.transpose((0, 1, 3, 2)) * -1 - del tmp18 - tmp69 = v.ovov.transpose((2, 0, 3, 1)).copy() * -1 - tmp69 += tmp14 - del tmp14 - t2new += einsum(tmp69, (0, 1, 2, 3), t2, (1, 4, 5, 3), (0, 4, 2, 5), optimize=True) - del tmp69 - tmp64 = einsum(t2, (0, 1, 2, 3), tmp63, (4, 5, 0, 1), (4, 5, 2, 3), optimize=True) - del tmp63 - t2new += tmp64.transpose((1, 0, 2, 3)) - t2new += tmp64.transpose((0, 1, 3, 2)) - del tmp64 - tmp67 = v.ooov.transpose((1, 2, 0, 3)).copy() * -1 - tmp67 += einsum(t1, (0, 1), tmp15, (2, 3, 0, 4), (3, 2, 4, 1), optimize=True) - del tmp15 - t2new += einsum(t1, (0, 1), tmp67, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) + tmp47 += tmp46.transpose((0, 1, 3, 2)) * -1 + del tmp46 + t2new += tmp47.transpose((1, 0, 2, 3)) + t2new += tmp47.transpose((0, 1, 3, 2)) + del tmp47 + tmp69 = v.oooo.copy() + tmp69 += tmp67.transpose((3, 1, 2, 0)) del tmp67 - tmp62 = tmp59.copy() + tmp69 += tmp68.transpose((3, 1, 2, 0)) + del tmp68 + t2new += einsum(t2, (0, 1, 2, 3), tmp69, (0, 4, 1, 5), (4, 5, 2, 3), optimize=True) + del tmp69 + tmp63 = tmp56.copy() + del tmp56 + tmp63 += tmp59.transpose((1, 0, 3, 2)) del tmp59 - tmp62 += tmp61.transpose((0, 1, 3, 2)) - del tmp61 - t2new += tmp62.transpose((1, 0, 2, 3)) * -1 - t2new += tmp62.transpose((0, 1, 3, 2)) * -1 + tmp63 += tmp62.transpose((1, 0, 3, 2)) del tmp62 - tmp13 = einsum(t1, (0, 1), v.vvvv, (2, 1, 3, 4), (0, 3, 4, 2), optimize=True) - t2new += einsum(tmp13, (0, 1, 2, 3), t1, (4, 2), (4, 0, 1, 3), optimize=True) - del tmp13 - tmp33 = tmp19.copy() - del tmp19 - tmp33 += tmp20 - del tmp20 - tmp33 += tmp21 * -1 + t2new += tmp63.transpose((1, 0, 3, 2)) * -1 + t2new += tmp63 * -1 + del tmp63 + tmp71 = v.ooov.transpose((0, 2, 1, 3)).copy() * -1 + tmp71 += einsum(t1, (0, 1), tmp70, (0, 2, 3, 4), (3, 2, 4, 1), optimize=True) + del tmp70 + t2new += einsum(t1, (0, 1), tmp71, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) + del tmp71 + tmp65 = einsum(tmp64, (0, 1, 2, 3), tmp33, (4, 0, 3, 5), (4, 1, 5, 2), optimize=True) + del tmp33, tmp64 + t2new += tmp65.transpose((1, 0, 2, 3)) * -1 + t2new += tmp65.transpose((0, 1, 3, 2)) * -1 + del tmp65 + tmp30 = tmp18.copy() + del tmp18 + tmp30 += tmp21.transpose((1, 0, 3, 2)) del tmp21 - tmp33 += tmp22.transpose((1, 0, 2, 3)) - del tmp22 - tmp33 += tmp30.transpose((0, 1, 3, 2)) + tmp30 += tmp26.transpose((0, 1, 3, 2)) * -1 + del tmp26 + tmp30 += tmp29.transpose((1, 0, 3, 2)) * -1 + del tmp29 + t2new += tmp30.transpose((1, 0, 3, 2)) + t2new += tmp30 del tmp30 - tmp33 += tmp32.transpose((0, 1, 3, 2)) * -1 - del tmp32 - t2new += tmp33.transpose((1, 0, 2, 3)) - t2new += tmp33.transpose((0, 1, 3, 2)) - del tmp33 - tmp68 = v.oovv.transpose((1, 0, 3, 2)).copy() * -1 - tmp68 += einsum(v.ovov, (0, 1, 2, 3), t2, (4, 0, 3, 5), (4, 2, 5, 1), optimize=True) - t2new += einsum(t2, (0, 1, 2, 3), tmp68, (4, 0, 5, 3), (4, 1, 2, 5), optimize=True) - del tmp68 - tmp49 = tmp37.copy() - del tmp37 - tmp49 += tmp40.transpose((1, 0, 3, 2)) - del tmp40 - tmp49 += tmp45.transpose((0, 1, 3, 2)) * -1 - del tmp45 - tmp49 += tmp48.transpose((1, 0, 3, 2)) * -1 + tmp72 = v.oovv.copy() * -1 + tmp72 += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 2, 1, 5), (0, 4, 3, 5), optimize=True) + t2new += einsum(tmp72, (0, 1, 2, 3), t2, (4, 1, 3, 5), (4, 0, 2, 5), optimize=True) + del tmp72 + tmp66 = v.ovov.transpose((0, 2, 1, 3)).copy() * 2 + tmp66 += v.oovv * -1 + tmp66 += tmp16.transpose((1, 0, 3, 2)) * 2 + del tmp16 + t2new += einsum(tmp66, (0, 1, 2, 3), t2, (4, 1, 5, 3), (0, 4, 2, 5), optimize=True) + del tmp66 + tmp49 = einsum(tmp48, (0, 1, 2, 3), t2, (3, 2, 4, 5), (0, 1, 5, 4), optimize=True) del tmp48 - t2new += tmp49.transpose((1, 0, 3, 2)) - t2new += tmp49 + t2new += tmp49.transpose((1, 0, 2, 3)) + t2new += tmp49.transpose((0, 1, 3, 2)) del tmp49 - tmp57 = tmp51.copy() + tmp14 = einsum(v.vvvv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2), optimize=True) + t2new += einsum(tmp14, (0, 1, 2, 3), t1, (4, 2), (4, 0, 1, 3), optimize=True) + del tmp14 + tmp54 = tmp51.copy() del tmp51 - tmp57 += tmp54.transpose((1, 0, 3, 2)) + tmp54 += tmp53.transpose((0, 1, 3, 2)) + del tmp53 + t2new += tmp54.transpose((1, 0, 2, 3)) * -1 + t2new += tmp54.transpose((0, 1, 3, 2)) * -1 del tmp54 - tmp57 += tmp56.transpose((1, 0, 3, 2)) - del tmp56 - t2new += tmp57.transpose((1, 0, 3, 2)) * -1 - t2new += tmp57 * -1 - del tmp57 - tmp65 = v.ovov.transpose((2, 0, 3, 1)).copy() * 2 - tmp65 += v.oovv.transpose((1, 0, 3, 2)) * -1 - tmp65 += tmp35.transpose((1, 0, 3, 2)) * 2 - del tmp35 - t2new += einsum(t2, (0, 1, 2, 3), tmp65, (4, 0, 5, 2), (1, 4, 3, 5), optimize=True) - del tmp65 - tmp12 = f.oo.transpose((1, 0)).copy() * 0.5 - tmp12 += tmp9 * 0.5 + tmp12 = f.oo.copy() + tmp12 += tmp9 del tmp9 - tmp12 += einsum(tmp0, (0, 1, 2, 3), tmp10, (0, 4, 3, 2), (4, 1), optimize=True) * 0.5 + tmp12 += einsum(tmp10, (0, 1, 2, 3), tmp0, (0, 4, 2, 3), (1, 4), optimize=True) del tmp10 - tmp12 += einsum(t1, (0, 1), tmp11, (2, 3, 0, 1), (3, 2), optimize=True) + tmp12 += einsum(t1, (0, 1), tmp11, (2, 3, 0, 1), (3, 2), optimize=True) * 2 del tmp11 - t1new = einsum(tmp12, (0, 1), t1, (0, 2), (1, 2), optimize=True) * -2 + t1new = einsum(tmp12, (0, 1), t1, (0, 2), (1, 2), optimize=True) * -1 del tmp12 - tmp8 = v.ovov.transpose((2, 0, 3, 1)).copy() * 2 - tmp8 += v.oovv.transpose((1, 0, 3, 2)) * -1 + tmp8 = v.ovov.transpose((0, 2, 1, 3)).copy() * 2 + tmp8 += v.oovv * -1 t1new += einsum(t1, (0, 1), tmp8, (0, 2, 1, 3), (2, 3), optimize=True) del tmp8 - tmp1 = v.ovvv.transpose((0, 1, 3, 2)).copy() * -0.5 - tmp1 += v.ovvv.transpose((0, 3, 1, 2)) - t1new += einsum(tmp0, (0, 1, 2, 3), tmp1, (0, 3, 2, 4), (1, 4), optimize=True) * 2 - del tmp0, tmp1 - tmp3 = v.ooov.transpose((1, 0, 2, 3)).copy() - tmp3 += v.ooov.transpose((1, 2, 0, 3)) * -0.5 - tmp3 += tmp2 * -0.5 - tmp3 += tmp2.transpose((0, 2, 1, 3)) - del tmp2 - t1new += einsum(tmp3, (0, 1, 2, 3), t2, (2, 1, 3, 4), (0, 4), optimize=True) * -2 - del tmp3 tmp6 = f.ov.copy() tmp6 += tmp5 del tmp5 - t1new += einsum(tmp6, (0, 1), tmp7, (0, 2, 3, 1), (2, 3), optimize=True) - del tmp7, tmp6 - t1new += einsum(f.vv, (0, 1), t1, (2, 1), (2, 0), optimize=True) + tmp7 = t2.transpose((0, 1, 3, 2)).copy() * -1 + tmp7 += t2 * 2 + t1new += einsum(tmp6, (0, 1), tmp7, (0, 2, 1, 3), (2, 3), optimize=True) + del tmp6, tmp7 + tmp3 = v.ooov.copy() * -0.5 + tmp3 += v.ooov.transpose((0, 2, 1, 3)) + tmp3 += tmp2 + tmp3 += tmp2.transpose((0, 2, 1, 3)) * -0.5 + del tmp2 + t1new += einsum(tmp3, (0, 1, 2, 3), t2, (1, 2, 3, 4), (0, 4), optimize=True) * -2 + del tmp3 + tmp1 = v.ovvv.copy() * -0.5 + tmp1 += v.ovvv.transpose((0, 2, 1, 3)) + t1new += einsum(tmp0, (0, 1, 2, 3), tmp1, (0, 3, 2, 4), (1, 4), optimize=True) * 2 + del tmp0, tmp1 t1new += f.ov - t2new += einsum(v.ooov, (0, 1, 2, 3), t1, (1, 4), (2, 0, 3, 4), optimize=True) * -1 - t2new += v.ovov.transpose((2, 0, 3, 1)) - t2new += einsum(v.vvvv, (0, 1, 2, 3), t2, (4, 5, 1, 3), (5, 4, 2, 0), optimize=True) - t2new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) * -1 - t2new += einsum(v.oovv, (0, 1, 2, 3), t2, (4, 1, 3, 5), (4, 0, 2, 5), optimize=True) * -1 - t2new += einsum(t2, (0, 1, 2, 3), v.ovov, (1, 3, 4, 5), (4, 0, 5, 2), optimize=True) * 2 + t1new += einsum(f.vv, (0, 1), t1, (2, 1), (2, 0), optimize=True) + t2new += einsum(v.oovv, (0, 1, 2, 3), t2, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) * -1 + t2new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 2), (4, 0, 3, 5), optimize=True) * -1 + t2new += einsum(v.ovov, (0, 1, 2, 3), t2, (4, 2, 5, 3), (4, 0, 5, 1), optimize=True) * 2 + t2new += einsum(t2, (0, 1, 2, 3), v.vvvv, (4, 2, 5, 3), (0, 1, 4, 5), optimize=True) + t2new += v.ovov.transpose((0, 2, 1, 3)) + t2new += einsum(t1, (0, 1), v.ovoo, (2, 3, 4, 0), (2, 4, 3, 1), optimize=True) * -1 return {f"t1new": t1new, f"t2new": t2new} def update_lams(f=None, l1=None, l2=None, t1=None, t2=None, v=None, **kwargs): """ - Code generated by `albert` 0.0.0 on 2024-07-18T20:21:35.071705. + Code generated by `albert` 0.0.0 on 2024-07-22T17:20:15.561490. Parameters ---------- @@ -318,378 +330,384 @@ def update_lams(f=None, l1=None, l2=None, t1=None, t2=None, v=None, **kwargs): Updated L2 residuals. """ - tmp81 = v.ovov.transpose((2, 0, 1, 3)).copy() * 2 - tmp81 += v.ovov.transpose((2, 0, 3, 1)) * -1 - tmp5 = einsum(t1, (0, 1), v.ovov, (2, 1, 3, 4), (0, 3, 2, 4), optimize=True) - tmp82 = einsum(tmp81, (0, 1, 2, 3), t1, (0, 3), (1, 2), optimize=True) - del tmp81 - tmp69 = t2.transpose((1, 0, 2, 3)).copy() * 2 - tmp69 += t2.transpose((1, 0, 3, 2)) * -1 - tmp37 = t2.transpose((1, 0, 2, 3)).copy() * -0.5 - tmp37 += t2.transpose((1, 0, 3, 2)) - tmp46 = t2.transpose((1, 0, 2, 3)).copy() * 2 - tmp46 += t2.transpose((1, 0, 3, 2)) * -1 - tmp6 = einsum(t1, (0, 1), tmp5, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) - tmp4 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 3, 5, 2), (0, 1, 5, 4), optimize=True) - tmp73 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 3, 0, 5), (1, 4, 2, 5), optimize=True) - tmp2 = einsum(t1, (0, 1), v.ovvv, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) - tmp80 = einsum(t1, (0, 1), v.ooov, (0, 2, 3, 1), (2, 3), optimize=True) - tmp83 = einsum(t1, (0, 1), tmp82, (2, 1), (0, 2), optimize=True) - tmp68 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 2, 0, 5), (1, 4, 3, 5), optimize=True) - tmp70 = einsum(tmp69, (0, 1, 2, 3), v.ovov, (0, 3, 4, 5), (4, 1, 5, 2), optimize=True) - del tmp69 - tmp67 = einsum(t1, (0, 1), v.ovvv, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) - tmp20 = einsum(t1, (0, 1), l2, (1, 2, 3, 4), (4, 3, 0, 2), optimize=True) - tmp57 = einsum(l2, (0, 1, 2, 3), tmp37, (2, 4, 0, 1), (3, 4), optimize=True) * 2 - tmp47 = einsum(l1, (0, 1), t1, (2, 0), (1, 2), optimize=True) - tmp110 = einsum(v.ovov, (0, 1, 2, 3), tmp46, (0, 4, 3, 1), (2, 4), optimize=True) * 0.5 - tmp109 = einsum(t1, (0, 1), v.ooov, (2, 3, 0, 1), (2, 3), optimize=True) - tmp10 = v.ovov.transpose((2, 0, 1, 3)).copy() - tmp10 += v.ovov.transpose((2, 0, 3, 1)) * -0.5 - tmp7 = tmp4.transpose((1, 0, 3, 2)).copy() - del tmp4 - tmp7 += tmp6 - del tmp6 - l2new = einsum(tmp7, (0, 1, 2, 3), l2, (4, 5, 0, 1), (5, 4, 3, 2), optimize=True) - tmp92 = einsum(f.ov, (0, 1), t1, (2, 1), (0, 2), optimize=True) - tmp74 = v.oovv.transpose((1, 0, 3, 2)).copy() - tmp74 += tmp2.transpose((0, 1, 3, 2)) - tmp74 += tmp73 * -1 - del tmp73 - tmp16 = einsum(t1, (0, 1), v.ooov, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) - tmp78 = tmp5.copy() * -1 - tmp78 += tmp5.transpose((0, 2, 1, 3)) * 2 - tmp84 = tmp80.copy() - del tmp80 - tmp84 += tmp83 * -1 + tmp93 = v.ovov.transpose((0, 2, 3, 1)).copy() * -1 + tmp93 += v.ovov.transpose((0, 2, 1, 3)) * 2 + tmp84 = t2.transpose((0, 1, 3, 2)).copy() * 2 + tmp84 += t2 * -1 + tmp94 = einsum(t1, (0, 1), tmp93, (0, 2, 1, 3), (2, 3), optimize=True) + del tmp93 + tmp44 = t2.transpose((0, 1, 3, 2)).copy() * -1 + tmp44 += t2 * 2 + tmp16 = t2.transpose((0, 1, 3, 2)).copy() * -0.5 + tmp16 += t2 + tmp8 = einsum(v.ovov, (0, 1, 2, 3), t1, (4, 3), (4, 0, 2, 1), optimize=True) + tmp72 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 2, 1, 5), (4, 0, 5, 3), optimize=True) + tmp24 = einsum(v.ovvv, (0, 1, 2, 3), t1, (4, 1), (4, 0, 2, 3), optimize=True) + tmp85 = einsum(tmp84, (0, 1, 2, 3), v.ovov, (4, 5, 0, 3), (4, 1, 5, 2), optimize=True) + del tmp84 + tmp82 = einsum(v.ovvv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2), optimize=True) + tmp83 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 2, 5, 1), (4, 0, 5, 3), optimize=True) + tmp95 = einsum(tmp94, (0, 1), t1, (2, 1), (2, 0), optimize=True) + tmp92 = einsum(t1, (0, 1), v.ooov, (2, 0, 3, 1), (2, 3), optimize=True) + tmp17 = einsum(l2, (0, 1, 2, 3), t1, (4, 1), (2, 3, 4, 0), optimize=True) + tmp15 = t2.transpose((0, 1, 3, 2)).copy() * 2 + tmp15 += t2 * -1 + tmp104 = einsum(v.ovov, (0, 1, 2, 3), tmp44, (2, 4, 3, 1), (0, 4), optimize=True) * 0.5 + tmp103 = einsum(t1, (0, 1), v.ooov, (2, 3, 0, 1), (2, 3), optimize=True) + tmp30 = t2.transpose((0, 1, 3, 2)).copy() + tmp30 += t2 * -0.5 + tmp51 = einsum(t1, (0, 1), l1, (1, 2), (2, 0), optimize=True) + tmp55 = einsum(l2, (0, 1, 2, 3), tmp16, (2, 4, 0, 1), (3, 4), optimize=True) * 2 + tmp26 = einsum(tmp8, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2), optimize=True) + tmp5 = v.ovov.transpose((0, 2, 3, 1)).copy() * -0.5 + tmp5 += v.ovov.transpose((0, 2, 1, 3)) + tmp2 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 5, 1, 3), (4, 5, 0, 2), optimize=True) + l2new = einsum(tmp2, (0, 1, 2, 3), l2, (4, 5, 0, 1), (4, 5, 2, 3), optimize=True) + tmp12 = einsum(v.ooov, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2), optimize=True) + tmp66 = einsum(f.ov, (0, 1), t1, (2, 1), (0, 2), optimize=True) + tmp73 = v.oovv.copy() + tmp73 += tmp24.transpose((0, 1, 3, 2)) + tmp73 += tmp72 * -1 + del tmp72 + tmp81 = l2.transpose((3, 2, 0, 1)).copy() * 2 + tmp81 += l2.transpose((2, 3, 0, 1)) * -1 + tmp86 = v.ovov.transpose((0, 2, 1, 3)).copy() + tmp86 += tmp82.transpose((0, 1, 3, 2)) + del tmp82 + tmp86 += tmp83 * -1 del tmp83 - tmp62 = einsum(t1, (0, 1), v.ovvv, (0, 1, 2, 3), (2, 3), optimize=True) - tmp66 = l2.transpose((3, 2, 0, 1)).copy() * 2 - tmp66 += l2.transpose((3, 2, 1, 0)) * -1 - tmp71 = v.ovov.transpose((2, 0, 3, 1)).copy() - tmp71 += tmp67.transpose((0, 1, 3, 2)) - del tmp67 - tmp71 += tmp68 * -1 - del tmp68 - tmp71 += tmp70.transpose((1, 0, 3, 2)) - del tmp70 - tmp76 = tmp20.copy() * 2 - tmp76 += tmp20.transpose((1, 0, 2, 3)) * -1 - tmp58 = tmp47.copy() - tmp58 += tmp57 - del tmp57 - tmp102 = einsum(tmp37, (0, 1, 2, 3), l2, (2, 4, 0, 1), (4, 3), optimize=True) * 2 - tmp111 = tmp109.transpose((1, 0)).copy() - del tmp109 - tmp111 += tmp110.transpose((1, 0)) - del tmp110 - tmp107 = einsum(tmp46, (0, 1, 2, 3), v.ovov, (0, 3, 1, 4), (4, 2), optimize=True) * 0.5 - tmp48 = einsum(l2, (0, 1, 2, 3), tmp37, (2, 4, 0, 1), (3, 4), optimize=True) - tmp11 = einsum(t1, (0, 1), tmp10, (0, 2, 3, 1), (2, 3), optimize=True) * 2 - del tmp10 - tmp8 = einsum(t1, (0, 1), tmp7, (2, 3, 0, 4), (2, 3, 4, 1), optimize=True) * 2 - del tmp7 - tmp1 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 5, 1, 2), (4, 5, 0, 3), optimize=True) - tmp3 = einsum(tmp2, (0, 1, 2, 3), t1, (4, 3), (0, 4, 1, 2), optimize=True) - del tmp2 - tmp39 = einsum(l2, (0, 1, 2, 3), t2, (4, 5, 1, 0), (2, 3, 5, 4), optimize=True) - l2new += einsum(tmp39, (0, 1, 2, 3), v.ovov, (2, 4, 3, 5), (4, 5, 0, 1), optimize=True) - tmp35 = einsum(t1, (0, 1), tmp20, (2, 3, 4, 1), (3, 2, 4, 0), optimize=True) - l2new += einsum(tmp35, (0, 1, 2, 3), v.ovov, (2, 4, 3, 5), (5, 4, 1, 0), optimize=True) - tmp97 = einsum(tmp5, (0, 1, 2, 3), tmp20, (0, 4, 1, 5), (4, 2, 5, 3), optimize=True) - tmp93 = einsum(l2, (0, 1, 2, 3), tmp92, (4, 3), (4, 2, 0, 1), optimize=True) + tmp86 += tmp85.transpose((1, 0, 3, 2)) + del tmp85 + tmp77 = einsum(t1, (0, 1), v.ovvv, (0, 1, 2, 3), (2, 3), optimize=True) + tmp96 = tmp92.copy() del tmp92 - tmp96 = einsum(v.ooov, (0, 1, 2, 3), tmp20, (1, 4, 2, 5), (4, 0, 5, 3), optimize=True) - tmp91 = einsum(l1, (0, 1), v.ovvv, (2, 3, 4, 0), (1, 2, 3, 4), optimize=True) - tmp94 = einsum(tmp20, (0, 1, 2, 3), f.ov, (2, 4), (0, 1, 4, 3), optimize=True) - tmp98 = einsum(tmp74, (0, 1, 2, 3), l2, (4, 2, 0, 5), (5, 1, 4, 3), optimize=True) - tmp90 = einsum(f.vv, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2), optimize=True) - tmp95 = einsum(l2, (0, 1, 2, 3), tmp16, (3, 2, 4, 5), (4, 5, 1, 0), optimize=True) - tmp79 = einsum(tmp20, (0, 1, 2, 3), tmp78, (1, 2, 4, 5), (0, 4, 3, 5), optimize=True) - del tmp78 - tmp65 = einsum(tmp5, (0, 1, 2, 3), tmp20, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) - tmp61 = einsum(tmp20, (0, 1, 2, 3), v.ooov, (4, 1, 2, 5), (0, 4, 3, 5), optimize=True) - tmp85 = einsum(l2, (0, 1, 2, 3), tmp84, (2, 4), (3, 4, 0, 1), optimize=True) - del tmp84 - tmp63 = einsum(l2, (0, 1, 2, 3), tmp62, (4, 1), (2, 3, 0, 4), optimize=True) - del tmp62 - tmp72 = einsum(tmp66, (0, 1, 2, 3), tmp71, (0, 4, 3, 5), (1, 4, 2, 5), optimize=True) - del tmp66, tmp71 - tmp75 = einsum(tmp74, (0, 1, 2, 3), l2, (2, 4, 0, 5), (5, 1, 4, 3), optimize=True) - del tmp74 - tmp86 = einsum(tmp82, (0, 1), tmp20, (2, 3, 0, 4), (2, 3, 4, 1), optimize=True) - tmp77 = einsum(v.ooov, (0, 1, 2, 3), tmp76, (4, 0, 1, 5), (2, 4, 3, 5), optimize=True) - del tmp76 - tmp64 = einsum(v.ovvv, (0, 1, 2, 3), tmp20, (4, 5, 0, 3), (5, 4, 1, 2), optimize=True) - tmp104 = einsum(tmp58, (0, 1), v.ovov, (1, 2, 3, 4), (3, 0, 2, 4), optimize=True) - tmp103 = einsum(v.ovov, (0, 1, 2, 3), tmp102, (4, 1), (0, 2, 3, 4), optimize=True) - del tmp102 - tmp100 = einsum(l2, (0, 1, 2, 3), f.oo, (4, 3), (4, 2, 0, 1), optimize=True) - tmp101 = einsum(tmp5, (0, 1, 2, 3), l1, (4, 0), (1, 2, 4, 3), optimize=True) - tmp88 = einsum(t1, (0, 1), v.ovvv, (0, 2, 1, 3), (2, 3), optimize=True) - tmp112 = einsum(l2, (0, 1, 2, 3), tmp111, (2, 4), (3, 4, 0, 1), optimize=True) * 2 - del tmp111 - tmp106 = einsum(v.ooov, (0, 1, 2, 3), l1, (4, 1), (0, 2, 4, 3), optimize=True) - tmp108 = einsum(tmp107, (0, 1), l2, (1, 2, 3, 4), (3, 4, 2, 0), optimize=True) * 2 - del tmp107 - tmp49 = tmp47.copy() * 0.5 - del tmp47 - tmp49 += tmp48 - del tmp48 - tmp15 = v.ovov.transpose((2, 0, 3, 1)).copy() * 2 - tmp15 += v.oovv.transpose((1, 0, 3, 2)) * -1 - tmp0 = einsum(f.ov, (0, 1), t2, (2, 3, 1, 4), (0, 3, 2, 4), optimize=True) - tmp13 = v.ooov.transpose((1, 0, 2, 3)).copy() * -0.5 - tmp13 += v.ooov.transpose((1, 2, 0, 3)) - tmp13 += tmp5 - tmp13 += tmp5.transpose((0, 2, 1, 3)) * -0.5 - tmp14 = t2.transpose((1, 0, 2, 3)).copy() - tmp14 += t2.transpose((1, 0, 3, 2)) * -0.5 - tmp12 = einsum(t2, (0, 1, 2, 3), tmp11, (4, 2), (0, 1, 4, 3), optimize=True) - tmp9 = tmp1.copy() * 2 + tmp96 += tmp95 * -1 + del tmp95 + tmp90 = tmp8.copy() * 2 + tmp90 += tmp8.transpose((0, 2, 1, 3)) * -1 + tmp46 = tmp17.copy() * -1 + tmp46 += tmp17.transpose((1, 0, 2, 3)) * 2 + l1new = einsum(v.oovv, (0, 1, 2, 3), tmp46, (0, 4, 1, 3), (2, 4), optimize=True) * -1 + tmp101 = einsum(tmp15, (0, 1, 2, 3), v.ovov, (0, 4, 1, 2), (4, 3), optimize=True) * 0.5 + tmp105 = tmp103.transpose((1, 0)).copy() + del tmp103 + tmp105 += tmp104.transpose((1, 0)) + del tmp104 + tmp48 = einsum(tmp30, (0, 1, 2, 3), l2, (4, 2, 0, 1), (4, 3), optimize=True) * 2 + tmp56 = tmp51.copy() + tmp56 += tmp55 + del tmp55 + tmp27 = einsum(t1, (0, 1), tmp26, (2, 3, 4, 0), (2, 3, 4, 1), optimize=True) + tmp25 = einsum(t1, (0, 1), tmp24, (2, 3, 4, 1), (2, 0, 3, 4), optimize=True) + del tmp24 + tmp37 = einsum(l2, (0, 1, 2, 3), t2, (4, 5, 0, 1), (2, 3, 4, 5), optimize=True) + l2new += einsum(v.ovov, (0, 1, 2, 3), tmp37, (4, 5, 2, 0), (3, 1, 4, 5), optimize=True) + tmp42 = einsum(tmp17, (0, 1, 2, 3), t1, (4, 3), (1, 0, 2, 4), optimize=True) + l2new += einsum(v.ovov, (0, 1, 2, 3), tmp42, (4, 5, 2, 0), (1, 3, 5, 4), optimize=True) + tmp6 = einsum(t1, (0, 1), tmp5, (0, 2, 1, 3), (2, 3), optimize=True) * 2 + del tmp5 + tmp3 = einsum(t1, (0, 1), tmp2, (2, 3, 4, 0), (2, 3, 4, 1), optimize=True) + del tmp2 + tmp1 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 5, 1, 3), (4, 5, 0, 2), optimize=True) + tmp71 = einsum(tmp8, (0, 1, 2, 3), tmp17, (0, 4, 1, 5), (4, 2, 5, 3), optimize=True) + tmp70 = einsum(v.ooov, (0, 1, 2, 3), tmp17, (1, 4, 2, 5), (4, 0, 5, 3), optimize=True) + tmp68 = einsum(tmp17, (0, 1, 2, 3), f.ov, (2, 4), (0, 1, 4, 3), optimize=True) + tmp69 = einsum(l2, (0, 1, 2, 3), tmp12, (2, 3, 4, 5), (4, 5, 0, 1), optimize=True) + tmp65 = einsum(v.ovvv, (0, 1, 2, 3), l1, (3, 4), (4, 0, 1, 2), optimize=True) + tmp64 = einsum(f.vv, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2), optimize=True) + tmp67 = einsum(tmp66, (0, 1), l2, (2, 3, 4, 1), (0, 4, 2, 3), optimize=True) + del tmp66 + tmp74 = einsum(tmp73, (0, 1, 2, 3), l2, (4, 2, 0, 5), (5, 1, 4, 3), optimize=True) + tmp79 = einsum(v.ovvv, (0, 1, 2, 3), tmp17, (4, 5, 0, 3), (5, 4, 1, 2), optimize=True) + tmp87 = einsum(tmp81, (0, 1, 2, 3), tmp86, (0, 4, 3, 5), (1, 4, 2, 5), optimize=True) + del tmp81, tmp86 + tmp78 = einsum(tmp77, (0, 1), l2, (2, 1, 3, 4), (3, 4, 2, 0), optimize=True) + del tmp77 + tmp97 = einsum(l2, (0, 1, 2, 3), tmp96, (2, 4), (3, 4, 0, 1), optimize=True) + del tmp96 + tmp80 = einsum(tmp8, (0, 1, 2, 3), tmp17, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) + tmp91 = einsum(tmp17, (0, 1, 2, 3), tmp90, (1, 4, 2, 5), (0, 4, 3, 5), optimize=True) + del tmp90 + tmp88 = einsum(tmp73, (0, 1, 2, 3), l2, (4, 2, 5, 0), (5, 1, 4, 3), optimize=True) + del tmp73 + tmp76 = einsum(tmp17, (0, 1, 2, 3), v.ooov, (4, 1, 2, 5), (0, 4, 3, 5), optimize=True) + tmp89 = einsum(tmp46, (0, 1, 2, 3), v.ovoo, (4, 5, 0, 2), (4, 1, 5, 3), optimize=True) + del tmp46 + tmp98 = einsum(tmp94, (0, 1), tmp17, (2, 3, 0, 4), (2, 3, 4, 1), optimize=True) + tmp102 = einsum(l2, (0, 1, 2, 3), tmp101, (4, 1), (3, 2, 0, 4), optimize=True) * 2 + del tmp101 + tmp100 = einsum(l1, (0, 1), v.ooov, (2, 1, 3, 4), (2, 3, 0, 4), optimize=True) + tmp106 = einsum(l2, (0, 1, 2, 3), tmp105, (2, 4), (3, 4, 0, 1), optimize=True) * 2 + del tmp105 + tmp110 = einsum(tmp48, (0, 1), v.ovov, (2, 1, 3, 4), (2, 3, 4, 0), optimize=True) + tmp109 = einsum(tmp8, (0, 1, 2, 3), l1, (4, 0), (1, 2, 4, 3), optimize=True) + tmp111 = einsum(tmp56, (0, 1), v.ovov, (2, 3, 1, 4), (2, 0, 4, 3), optimize=True) + tmp108 = einsum(l2, (0, 1, 2, 3), f.oo, (4, 3), (4, 2, 0, 1), optimize=True) + tmp113 = einsum(t1, (0, 1), v.ovvv, (0, 2, 3, 1), (2, 3), optimize=True) + tmp18 = tmp17.copy() + tmp18 += tmp17.transpose((1, 0, 2, 3)) * -0.5 + tmp28 = tmp25.copy() * 2 + del tmp25 + tmp28 += tmp27 * -2 + del tmp27 + tmp32 = tmp12.transpose((0, 2, 1, 3)).copy() * 2 + tmp32 += tmp12.transpose((0, 3, 2, 1)) * -1 + tmp29 = v.ooov.copy() + tmp29 += v.ooov.transpose((0, 2, 1, 3)) * -0.5 + tmp29 += tmp8 * -0.5 + tmp29 += tmp8.transpose((0, 2, 1, 3)) + tmp31 = v.ovov.transpose((0, 2, 1, 3)).copy() * 2 + tmp31 += v.oovv * -1 + tmp52 = tmp51.copy() * 0.5 + del tmp51 + tmp52 += einsum(l2, (0, 1, 2, 3), tmp16, (2, 4, 0, 1), (3, 4), optimize=True) + tmp39 = tmp17.copy() * 2 + tmp39 += tmp17.transpose((1, 0, 2, 3)) * -1 + tmp38 = einsum(t1, (0, 1), tmp37, (2, 0, 3, 4), (2, 3, 4, 1), optimize=True) + tmp40 = tmp17.copy() * -0.5 + tmp40 += tmp17.transpose((1, 0, 2, 3)) + tmp36 = einsum(t2, (0, 1, 2, 3), l1, (3, 4), (4, 0, 1, 2), optimize=True) + tmp34 = tmp17.copy() * -1 + tmp34 += tmp17.transpose((1, 0, 2, 3)) * 2 + tmp43 = einsum(tmp42, (0, 1, 2, 3), t1, (0, 4), (1, 3, 2, 4), optimize=True) + tmp62 = v.ooov.copy() + tmp62 += v.ovoo.transpose((0, 2, 3, 1)) * -0.5 + tmp61 = f.ov.copy() + tmp61 += tmp6 + l1new += einsum(tmp61, (0, 1), tmp56, (2, 0), (1, 2), optimize=True) * -1 + tmp59 = v.ovvv.copy() * -0.5 + tmp59 += v.ovvv.transpose((0, 2, 1, 3)) + tmp7 = einsum(tmp6, (0, 1), t2, (2, 3, 1, 4), (2, 3, 0, 4), optimize=True) + del tmp6 + tmp4 = tmp1.copy() * 0.5 del tmp1 - tmp9 += tmp3 * 2 + tmp4 += tmp3 * -0.5 del tmp3 - tmp9 += tmp8.transpose((1, 0, 2, 3)) * -1 + tmp11 = v.oovv.copy() * 2 + tmp11 += v.ovov.transpose((0, 2, 1, 3)) * -1 + tmp13 = v.oooo.transpose((0, 2, 3, 1)).copy() * -1 + tmp13 += v.oooo * 2 + tmp13 += tmp12.transpose((2, 0, 3, 1)) * -1 + tmp13 += tmp12.transpose((3, 0, 2, 1)) * 2 + del tmp12 + tmp10 = v.ooov.copy() * -0.5 + tmp10 += v.ooov.transpose((0, 2, 1, 3)) + tmp10 += tmp8 + tmp10 += tmp8.transpose((0, 2, 1, 3)) * -0.5 + tmp9 = v.ooov.copy() * 2 + tmp9 += v.ooov.transpose((0, 2, 1, 3)) * -1 + tmp9 += tmp8 * -1 + tmp9 += tmp8.transpose((0, 2, 1, 3)) * 2 del tmp8 - tmp17 = v.oooo.transpose((1, 3, 2, 0)).copy() * 2 - tmp17 += v.oooo.transpose((2, 3, 1, 0)) * -1 - tmp17 += tmp16.transpose((2, 0, 3, 1)) * 2 - tmp17 += tmp16.transpose((3, 0, 2, 1)) * -1 - tmp54 = v.ovvv.transpose((0, 1, 3, 2)).copy() - tmp54 += v.ovvv.transpose((0, 3, 1, 2)) * -0.5 - tmp32 = tmp20.copy() * -1 - tmp32 += tmp20.transpose((1, 0, 2, 3)) * 2 - tmp40 = einsum(t1, (0, 1), tmp39, (2, 0, 3, 4), (2, 3, 4, 1), optimize=True) - tmp21 = tmp20.copy() - tmp21 += tmp20.transpose((1, 0, 2, 3)) * -0.5 - tmp25 = l2.transpose((3, 2, 0, 1)).copy() * 2 - tmp25 += l2.transpose((3, 2, 1, 0)) * -1 - tmp36 = einsum(t1, (0, 1), tmp35, (0, 2, 3, 4), (2, 4, 3, 1), optimize=True) - tmp34 = einsum(l1, (0, 1), t2, (2, 3, 0, 4), (1, 3, 2, 4), optimize=True) - tmp19 = t2.transpose((1, 0, 2, 3)).copy() * -1 - tmp19 += t2.transpose((1, 0, 3, 2)) * 2 - tmp59 = v.ooov.transpose((1, 0, 2, 3)).copy() - tmp59 += v.ooov.transpose((2, 1, 0, 3)) * -0.5 - tmp56 = f.ov.copy() - tmp56 += tmp11 - del tmp11 - l1new = einsum(tmp56, (0, 1), tmp58, (2, 0), (1, 2), optimize=True) * -1 - del tmp58 - tmp29 = v.ovov.transpose((2, 0, 3, 1)).copy() * -1 - tmp29 += v.oovv.transpose((1, 0, 3, 2)) * 2 - tmp27 = v.ooov.transpose((1, 0, 2, 3)).copy() * -1 - tmp27 += v.ooov.transpose((1, 2, 0, 3)) * 2 - tmp27 += tmp5 * 2 - tmp27 += tmp5.transpose((0, 2, 1, 3)) * -1 - tmp30 = tmp16.transpose((0, 2, 1, 3)).copy() * -1 - tmp30 += tmp16.transpose((0, 3, 2, 1)) * 2 - del tmp16 - tmp28 = v.ooov.transpose((1, 0, 2, 3)).copy() * 2 - tmp28 += v.ooov.transpose((1, 2, 0, 3)) * -1 - tmp28 += tmp5 * -1 - tmp28 += tmp5.transpose((0, 2, 1, 3)) * 2 - del tmp5 - tmp99 = tmp90.copy() - del tmp90 - tmp99 += tmp91 - del tmp91 - tmp99 += tmp93 * -1 - del tmp93 - tmp99 += tmp94 * -1 - del tmp94 - tmp99 += tmp95 - del tmp95 - tmp99 += tmp96 - del tmp96 - tmp99 += tmp97 - del tmp97 - tmp99 += tmp98 * -1 - del tmp98 - l2new += tmp99.transpose((2, 3, 1, 0)) - l2new += tmp99.transpose((3, 2, 0, 1)) - del tmp99 - tmp87 = einsum(f.ov, (0, 1), l1, (2, 3), (0, 3, 1, 2), optimize=True) - tmp87 += tmp61 - del tmp61 - tmp87 += tmp63 * 2 - del tmp63 - tmp87 += tmp64 * -1 + tmp0 = einsum(t2, (0, 1, 2, 3), f.ov, (4, 3), (4, 0, 1, 2), optimize=True) + tmp22 = l2.transpose((3, 2, 0, 1)).copy() * 2 + tmp22 += l2.transpose((2, 3, 0, 1)) * -1 + tmp75 = tmp64.copy() del tmp64 - tmp87 += tmp65 + tmp75 += tmp65 del tmp65 - tmp87 += tmp72 - del tmp72 - tmp87 += tmp75 * -1 + tmp75 += tmp67 * -1 + del tmp67 + tmp75 += tmp68 * -1 + del tmp68 + tmp75 += tmp69 + del tmp69 + tmp75 += tmp70 + del tmp70 + tmp75 += tmp71 + del tmp71 + tmp75 += tmp74 * -1 + del tmp74 + l2new += tmp75.transpose((2, 3, 1, 0)) + l2new += tmp75.transpose((3, 2, 0, 1)) del tmp75 - tmp87 += tmp77.transpose((1, 0, 3, 2)) * -1 - del tmp77 - tmp87 += tmp79 * -1 + tmp99 = einsum(f.ov, (0, 1), l1, (2, 3), (0, 3, 1, 2), optimize=True) + tmp99 += tmp76 + del tmp76 + tmp99 += tmp78 * 2 + del tmp78 + tmp99 += tmp79 * -1 del tmp79 - tmp87 += tmp85.transpose((0, 1, 3, 2)) - del tmp85 - tmp87 += tmp86 * -1 - del tmp86 - tmp87 += einsum(l1, (0, 1), tmp82, (2, 3), (1, 2, 0, 3), optimize=True) - del tmp82 - l2new += tmp87.transpose((3, 2, 1, 0)) - l2new += tmp87.transpose((2, 3, 0, 1)) + tmp99 += tmp80 + del tmp80 + tmp99 += tmp87 del tmp87 - tmp105 = tmp100.copy() - del tmp100 - tmp105 += tmp101 - del tmp101 - tmp105 += tmp103.transpose((1, 0, 3, 2)) - del tmp103 - tmp105 += tmp104.transpose((1, 0, 3, 2)) - del tmp104 - l2new += tmp105.transpose((2, 3, 1, 0)) * -1 - l2new += tmp105.transpose((3, 2, 0, 1)) * -1 - del tmp105 - tmp89 = einsum(tmp88, (0, 1), l2, (2, 1, 3, 4), (3, 4, 2, 0), optimize=True) + tmp99 += tmp88 * -1 del tmp88 - l2new += tmp89.transpose((3, 2, 1, 0)) * -1 - l2new += tmp89.transpose((2, 3, 0, 1)) * -1 + tmp99 += tmp89.transpose((1, 0, 3, 2)) * -1 del tmp89 - tmp113 = tmp106.copy() + tmp99 += tmp91 * -1 + del tmp91 + tmp99 += tmp97.transpose((0, 1, 3, 2)) + del tmp97 + tmp99 += tmp98 * -1 + del tmp98 + tmp99 += einsum(tmp94, (0, 1), l1, (2, 3), (3, 0, 2, 1), optimize=True) + del tmp94 + l2new += tmp99.transpose((3, 2, 1, 0)) + l2new += tmp99.transpose((2, 3, 0, 1)) + del tmp99 + tmp115 = v.oooo.copy() + tmp115 += tmp26.transpose((0, 2, 3, 1)) + del tmp26 + l2new += einsum(l2, (0, 1, 2, 3), tmp115, (3, 4, 5, 2), (0, 1, 5, 4), optimize=True) + del tmp115 + tmp107 = tmp100.copy() + del tmp100 + tmp107 += tmp102.transpose((1, 0, 2, 3)) + del tmp102 + tmp107 += tmp106.transpose((0, 1, 3, 2)) del tmp106 - tmp113 += tmp108.transpose((1, 0, 2, 3)) + l2new += tmp107.transpose((3, 2, 1, 0)) * -1 + l2new += tmp107.transpose((2, 3, 0, 1)) * -1 + del tmp107 + tmp112 = tmp108.copy() del tmp108 - tmp113 += tmp112.transpose((0, 1, 3, 2)) + tmp112 += tmp109 + del tmp109 + tmp112 += tmp110.transpose((1, 0, 3, 2)) + del tmp110 + tmp112 += tmp111.transpose((1, 0, 3, 2)) + del tmp111 + l2new += tmp112.transpose((2, 3, 1, 0)) * -1 + l2new += tmp112.transpose((3, 2, 0, 1)) * -1 del tmp112 - l2new += tmp113.transpose((3, 2, 1, 0)) * -1 - l2new += tmp113.transpose((2, 3, 0, 1)) * -1 + tmp114 = einsum(tmp113, (0, 1), l2, (2, 1, 3, 4), (3, 4, 2, 0), optimize=True) del tmp113 - tmp50 = t1.copy() * -0.5 - tmp50 += einsum(tmp37, (0, 1, 2, 3), tmp20, (0, 1, 4, 2), (4, 3), optimize=True) - tmp50 += einsum(l1, (0, 1), tmp46, (1, 2, 3, 0), (2, 3), optimize=True) * -0.5 - tmp50 += einsum(t1, (0, 1), tmp49, (0, 2), (2, 1), optimize=True) - tmp18 = v.ooov.transpose((1, 2, 0, 3)).copy() * -2 - tmp18 += v.ooov.transpose((2, 1, 0, 3)) - tmp18 += tmp0.transpose((1, 2, 0, 3)) - tmp18 += tmp0.transpose((2, 1, 0, 3)) * -2 - del tmp0 - tmp18 += tmp9 * -1 - tmp18 += tmp9.transpose((1, 0, 2, 3)) * 0.5 - del tmp9 - tmp18 += tmp12.transpose((1, 0, 2, 3)) - tmp18 += tmp12 * -2 - del tmp12 - tmp18 += einsum(tmp13, (0, 1, 2, 3), tmp14, (1, 4, 5, 3), (0, 4, 2, 5), optimize=True) * -4 - del tmp13 - tmp18 += einsum(tmp15, (0, 1, 2, 3), t1, (4, 2), (4, 1, 0, 3), optimize=True) * -1 + l2new += tmp114.transpose((3, 2, 1, 0)) * -1 + l2new += tmp114.transpose((2, 3, 0, 1)) * -1 + del tmp114 + tmp47 = tmp37.transpose((1, 0, 2, 3)).copy() * -0.5 + tmp47 += tmp37.transpose((1, 0, 3, 2)) + del tmp37 + tmp47 += tmp42.transpose((2, 1, 0, 3)) + tmp47 += tmp42.transpose((3, 1, 0, 2)) * -0.5 + del tmp42 + l1new += einsum(tmp47, (0, 1, 2, 3), v.ooov, (2, 0, 3, 4), (4, 1), optimize=True) * 2 + del tmp47 + tmp19 = einsum(l2, (0, 1, 2, 3), tmp15, (2, 4, 1, 5), (3, 4, 0, 5), optimize=True) del tmp15 - tmp18 += einsum(t1, (0, 1), tmp17, (0, 2, 3, 4), (2, 4, 3, 1), optimize=True) - del tmp17 - l1new += einsum(l2, (0, 1, 2, 3), tmp18, (3, 2, 4, 0), (1, 4), optimize=True) + tmp19 += einsum(l2, (0, 1, 2, 3), tmp16, (3, 4, 1, 5), (2, 4, 0, 5), optimize=True) * 2 + tmp19 += einsum(t1, (0, 1), tmp18, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) * 2 del tmp18 - tmp52 = v.ooov.transpose((1, 0, 2, 3)).copy() * -0.5 - tmp52 += v.ooov.transpose((1, 2, 0, 3)) - l1new += einsum(tmp49, (0, 1), tmp52, (0, 2, 1, 3), (3, 2), optimize=True) * -4 - del tmp49, tmp52 - tmp51 = v.ovov.transpose((2, 0, 1, 3)).copy() * 2 - tmp51 += v.ovov.transpose((2, 0, 3, 1)) * -1 - l1new += einsum(tmp50, (0, 1), tmp51, (0, 2, 3, 1), (3, 2), optimize=True) * -2 - del tmp50, tmp51 - tmp55 = f.vv.transpose((1, 0)).copy() * 0.5 - tmp55 += einsum(tmp54, (0, 1, 2, 3), t1, (0, 1), (3, 2), optimize=True) - del tmp54 - l1new += einsum(l1, (0, 1), tmp55, (0, 2), (2, 1), optimize=True) * 2 - del tmp55 - tmp41 = tmp40.copy() * -1 - tmp41 += tmp40.transpose((0, 2, 1, 3)) * 2 + l1new += einsum(v.ovvv, (0, 1, 2, 3), tmp19, (4, 0, 3, 2), (1, 4), optimize=True) * -1 + del tmp19 + tmp33 = tmp28.copy() * -1 + tmp33 += tmp28.transpose((1, 0, 2, 3)) * 0.5 + del tmp28 + tmp33 += einsum(tmp30, (0, 1, 2, 3), tmp29, (4, 5, 0, 3), (4, 1, 5, 2), optimize=True) * -4 + del tmp29 + tmp33 += einsum(t1, (0, 1), tmp31, (2, 3, 1, 4), (0, 3, 2, 4), optimize=True) * -1 + del tmp31 + tmp33 += einsum(tmp32, (0, 1, 2, 3), t1, (1, 4), (0, 2, 3, 4), optimize=True) + del tmp32 + l1new += einsum(tmp33, (0, 1, 2, 3), l2, (4, 3, 0, 1), (4, 2), optimize=True) + del tmp33 + tmp53 = t1.copy() * -1 + tmp53 += einsum(tmp30, (0, 1, 2, 3), tmp17, (1, 0, 4, 2), (4, 3), optimize=True) * 2 + del tmp30 + tmp53 += einsum(tmp44, (0, 1, 2, 3), l1, (2, 0), (1, 3), optimize=True) * -1 + tmp53 += einsum(tmp52, (0, 1), t1, (0, 2), (1, 2), optimize=True) * 2 + del tmp52 + tmp41 = tmp36.copy() * -2 + tmp41 += tmp36.transpose((0, 2, 1, 3)) + del tmp36 + tmp41 += tmp38 * -1 + tmp41 += tmp38.transpose((0, 2, 1, 3)) * 2 + del tmp38 + tmp41 += einsum(tmp39, (0, 1, 2, 3), t2, (4, 0, 5, 3), (1, 2, 4, 5), optimize=True) + tmp41 += einsum(tmp40, (0, 1, 2, 3), t2, (4, 0, 3, 5), (1, 2, 4, 5), optimize=True) * 2 del tmp40 - tmp41 += einsum(tmp32, (0, 1, 2, 3), t2, (1, 4, 3, 5), (0, 2, 4, 5), optimize=True) - tmp41 += einsum(tmp21, (0, 1, 2, 3), t2, (1, 4, 5, 3), (0, 2, 4, 5), optimize=True) * 2 l1new += einsum(v.ovov, (0, 1, 2, 3), tmp41, (4, 2, 0, 3), (1, 4), optimize=True) del tmp41 - tmp42 = tmp20.copy() * -1 - tmp42 += tmp20.transpose((1, 0, 2, 3)) * 2 - l1new += einsum(v.oovv, (0, 1, 2, 3), tmp42, (0, 4, 1, 2), (3, 4), optimize=True) * -1 - del tmp42 - tmp33 = l2.transpose((3, 2, 0, 1)).copy() - tmp33 += einsum(t1, (0, 1), tmp32, (0, 2, 3, 4), (2, 3, 4, 1), optimize=True) - l1new += einsum(tmp33, (0, 1, 2, 3), v.ovvv, (1, 3, 2, 4), (4, 0), optimize=True) * -1 - del tmp33 - tmp26 = l2.transpose((3, 2, 1, 0)).copy() - tmp26 += einsum(tmp25, (0, 1, 2, 3), tmp14, (0, 4, 5, 3), (1, 4, 2, 5), optimize=True) - del tmp25 - l1new += einsum(tmp26, (0, 1, 2, 3), v.ovvv, (1, 3, 2, 4), (4, 0), optimize=True) * 2 - del tmp26 - tmp24 = v.vvvv.transpose((2, 1, 3, 0)).copy() * -1 - tmp24 += v.vvvv.transpose((2, 3, 1, 0)) * 2 - tmp43 = tmp39.transpose((1, 0, 2, 3)).copy() * -0.5 - tmp43 += tmp39.transpose((1, 0, 3, 2)) - del tmp39 - tmp43 += tmp35.transpose((2, 1, 0, 3)) - tmp43 += tmp35.transpose((3, 1, 0, 2)) * -0.5 + tmp35 = l2.transpose((3, 2, 0, 1)).copy() + tmp35 += einsum(tmp34, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4), optimize=True) + del tmp34 + l1new += einsum(v.ovvv, (0, 1, 2, 3), tmp35, (4, 0, 3, 1), (2, 4), optimize=True) * -1 del tmp35 - l1new += einsum(tmp43, (0, 1, 2, 3), v.ooov, (2, 0, 3, 4), (4, 1), optimize=True) * 2 + tmp45 = tmp17.transpose((0, 2, 1, 3)).copy() * 0.5 + tmp45 += tmp17.transpose((1, 2, 0, 3)) * -1 + del tmp17 + tmp45 += tmp43 + tmp45 += tmp43.transpose((0, 2, 1, 3)) * -0.5 del tmp43 - tmp45 = v.ovvv.transpose((0, 1, 3, 2)).copy() * -1 - tmp45 += v.ovvv.transpose((0, 3, 2, 1)) * 2 - tmp38 = tmp34.copy() * -0.5 - tmp38 += tmp34.transpose((0, 2, 1, 3)) - del tmp34 - tmp38 += tmp20.transpose((0, 2, 1, 3)) * -0.5 - tmp38 += tmp20.transpose((1, 2, 0, 3)) - del tmp20 - tmp38 += tmp36 * -1 - tmp38 += tmp36.transpose((0, 2, 1, 3)) * 0.5 - del tmp36 - tmp38 += einsum(tmp37, (0, 1, 2, 3), tmp32, (4, 0, 5, 2), (4, 5, 1, 3), optimize=True) - del tmp32 - l1new += einsum(v.ovov, (0, 1, 2, 3), tmp38, (4, 2, 0, 1), (3, 4), optimize=True) * -2 - del tmp38 - tmp23 = einsum(t1, (0, 1), l2, (2, 3, 4, 0), (4, 2, 3, 1), optimize=True) - l1new += einsum(tmp23, (0, 1, 2, 3), tmp24, (2, 3, 4, 1), (4, 0), optimize=True) - del tmp23, tmp24 - tmp22 = einsum(tmp19, (0, 1, 2, 3), l2, (4, 3, 0, 5), (5, 1, 4, 2), optimize=True) - del tmp19 - tmp22 += einsum(tmp14, (0, 1, 2, 3), l2, (3, 4, 0, 5), (5, 1, 4, 2), optimize=True) * 2 - del tmp14 - tmp22 += einsum(t1, (0, 1), tmp21, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) * 2 - del tmp21 - l1new += einsum(tmp22, (0, 1, 2, 3), v.ovvv, (1, 4, 3, 2), (4, 0), optimize=True) * -1 - del tmp22 - tmp53 = v.ovov.transpose((2, 0, 3, 1)).copy() * 2 - tmp53 += v.oovv.transpose((1, 0, 3, 2)) * -1 - l1new += einsum(l1, (0, 1), tmp53, (1, 2, 0, 3), (3, 2), optimize=True) - del tmp53 - tmp60 = f.oo.transpose((1, 0)).copy() - tmp60 += einsum(tmp46, (0, 1, 2, 3), v.ovov, (0, 3, 4, 2), (1, 4), optimize=True) - del tmp46 - tmp60 += einsum(t1, (0, 1), tmp59, (2, 3, 0, 1), (3, 2), optimize=True) * 2 + tmp45 += einsum(tmp39, (0, 1, 2, 3), tmp44, (0, 4, 3, 5), (1, 2, 4, 5), optimize=True) * -0.5 + del tmp39 + l1new += einsum(tmp45, (0, 1, 2, 3), v.ovov, (2, 3, 1, 4), (4, 0), optimize=True) * 2 + del tmp45 + tmp50 = v.ovvv.copy() * -1 + tmp50 += v.ovvv.transpose((0, 2, 3, 1)) * 2 + tmp63 = f.oo.copy() + tmp63 += einsum(tmp44, (0, 1, 2, 3), v.ovov, (4, 3, 0, 2), (1, 4), optimize=True) + del tmp44 + tmp63 += einsum(t1, (0, 1), tmp62, (2, 3, 0, 1), (3, 2), optimize=True) * 2 + del tmp62 + tmp63 += einsum(tmp61, (0, 1), t1, (2, 1), (2, 0), optimize=True) + del tmp61 + l1new += einsum(tmp63, (0, 1), l1, (2, 0), (2, 1), optimize=True) * -1 + del tmp63 + tmp58 = v.ovov.transpose((0, 2, 1, 3)).copy() * 2 + tmp58 += v.oovv * -1 + l1new += einsum(l1, (0, 1), tmp58, (1, 2, 0, 3), (3, 2), optimize=True) + del tmp58 + tmp60 = f.vv.copy() * 0.5 + tmp60 += einsum(t1, (0, 1), tmp59, (0, 2, 1, 3), (3, 2), optimize=True) del tmp59 - tmp60 += einsum(tmp56, (0, 1), t1, (2, 1), (2, 0), optimize=True) - del tmp56 - l1new += einsum(l1, (0, 1), tmp60, (1, 2), (0, 2), optimize=True) * -1 + l1new += einsum(l1, (0, 1), tmp60, (0, 2), (2, 1), optimize=True) * 2 del tmp60 - tmp44 = einsum(l1, (0, 1), t1, (1, 2), (0, 2), optimize=True) * 0.5 - tmp44 += einsum(tmp37, (0, 1, 2, 3), l2, (2, 4, 0, 1), (4, 3), optimize=True) - del tmp37 - l1new += einsum(tmp44, (0, 1), tmp45, (2, 1, 0, 3), (3, 2), optimize=True) * 2 - del tmp44, tmp45 - tmp31 = einsum(tmp27, (0, 1, 2, 3), t2, (1, 4, 3, 5), (0, 4, 2, 5), optimize=True) - del tmp27 - tmp31 += einsum(tmp28, (0, 1, 2, 3), t2, (1, 4, 5, 3), (0, 4, 2, 5), optimize=True) - del tmp28 - tmp31 += einsum(t1, (0, 1), tmp29, (2, 3, 1, 4), (0, 3, 2, 4), optimize=True) * -1 - del tmp29 - tmp31 += einsum(t1, (0, 1), tmp30, (2, 0, 3, 4), (2, 3, 4, 1), optimize=True) - del tmp30 - l1new += einsum(l2, (0, 1, 2, 3), tmp31, (3, 2, 4, 1), (0, 4), optimize=True) - del tmp31 + tmp57 = v.ooov.copy() * -1 + tmp57 += v.ooov.transpose((0, 2, 1, 3)) * 2 + l1new += einsum(tmp56, (0, 1), tmp57, (0, 2, 1, 3), (3, 2), optimize=True) * -1 + del tmp56, tmp57 + tmp49 = einsum(t1, (0, 1), l1, (2, 0), (2, 1), optimize=True) + tmp49 += tmp48 + del tmp48 + l1new += einsum(tmp50, (0, 1, 2, 3), tmp49, (2, 1), (3, 0), optimize=True) + del tmp50, tmp49 + tmp14 = v.ooov.transpose((0, 2, 1, 3)).copy() * 0.5 + tmp14 += v.ovoo.transpose((0, 2, 3, 1)) * -1 + tmp14 += tmp0.transpose((1, 2, 0, 3)) * -1 + tmp14 += tmp0.transpose((2, 1, 0, 3)) * 0.5 + del tmp0 + tmp14 += tmp4 + tmp14 += tmp4.transpose((1, 0, 2, 3)) * -2 + del tmp4 + tmp14 += tmp7.transpose((1, 0, 2, 3)) * -1 + tmp14 += tmp7 * 0.5 + del tmp7 + tmp14 += einsum(tmp9, (0, 1, 2, 3), t2, (4, 2, 5, 3), (0, 4, 1, 5), optimize=True) * 0.5 + del tmp9 + tmp14 += einsum(tmp10, (0, 1, 2, 3), t2, (4, 2, 3, 5), (0, 4, 1, 5), optimize=True) + del tmp10 + tmp14 += einsum(tmp11, (0, 1, 2, 3), t1, (4, 2), (4, 1, 0, 3), optimize=True) * -0.5 + del tmp11 + tmp14 += einsum(tmp13, (0, 1, 2, 3), t1, (0, 4), (1, 3, 2, 4), optimize=True) * 0.5 + del tmp13 + l1new += einsum(tmp14, (0, 1, 2, 3), l2, (4, 3, 1, 0), (4, 2), optimize=True) * 2 + del tmp14 + tmp20 = einsum(t1, (0, 1), l2, (2, 3, 4, 0), (4, 2, 3, 1), optimize=True) + tmp23 = l2.transpose((2, 3, 0, 1)).copy() + tmp23 += einsum(tmp22, (0, 1, 2, 3), tmp16, (0, 4, 3, 5), (1, 4, 2, 5), optimize=True) + del tmp16, tmp22 + l1new += einsum(v.ovvv, (0, 1, 2, 3), tmp23, (4, 0, 3, 1), (2, 4), optimize=True) * 2 + del tmp23 + tmp54 = v.ovov.transpose((0, 2, 3, 1)).copy() * -1 + tmp54 += v.ovov.transpose((0, 2, 1, 3)) * 2 + l1new += einsum(tmp53, (0, 1), tmp54, (0, 2, 1, 3), (3, 2), optimize=True) * -1 + del tmp53, tmp54 + tmp21 = v.vvvv.transpose((0, 2, 1, 3)).copy() * -1 + tmp21 += v.vvvv * 2 + l1new += einsum(tmp21, (0, 1, 2, 3), tmp20, (4, 3, 0, 1), (2, 4), optimize=True) + del tmp21, tmp20 l1new += f.ov.transpose((1, 0)) - l2new += einsum(l2, (0, 1, 2, 3), v.oooo, (4, 3, 5, 2), (0, 1, 5, 4), optimize=True) - l2new += v.ovov.transpose((3, 1, 2, 0)) - l2new += einsum(v.vvvv, (0, 1, 2, 3), l2, (1, 3, 4, 5), (2, 0, 5, 4), optimize=True) + l2new += einsum(l2, (0, 1, 2, 3), v.vvvv, (4, 1, 5, 0), (4, 5, 3, 2), optimize=True) + l2new += v.ovov.transpose((1, 3, 0, 2)) return {f"l1new": l1new, f"l2new": l2new} def make_rdm1_f(l1=None, l2=None, t1=None, t2=None, **kwargs): """ - Code generated by `albert` 0.0.0 on 2024-07-18T20:21:36.123023. + Code generated by `albert` 0.0.0 on 2024-07-22T17:20:16.519076. Parameters ---------- @@ -713,46 +731,43 @@ def make_rdm1_f(l1=None, l2=None, t1=None, t2=None, **kwargs): oo=np.eye(t2.shape[0]), vv=np.eye(t2.shape[-1]), ) - tmp2 = einsum(t1, (0, 1), l2, (1, 2, 3, 4), (4, 3, 0, 2), optimize=True) - tmp5 = t2.transpose((1, 0, 2, 3)).copy() - tmp5 += t2.transpose((1, 0, 3, 2)) * -0.5 - tmp0 = einsum(l1, (0, 1), t1, (2, 0), (1, 2), optimize=True) - rdm1.oo = tmp0.transpose((1, 0)).copy() * -2 - tmp7 = l2.transpose((3, 2, 0, 1)).copy() * 2 - tmp7 += l2.transpose((3, 2, 1, 0)) * -1 - rdm1.vv = einsum(tmp7, (0, 1, 2, 3), t2, (0, 1, 3, 4), (2, 4), optimize=True) * 2 - del tmp7 - tmp4 = t2.transpose((1, 0, 2, 3)).copy() * 2 - tmp4 += t2.transpose((1, 0, 3, 2)) * -1 - rdm1.ov = einsum(l1, (0, 1), tmp4, (1, 2, 3, 0), (2, 3), optimize=True) * 2 + tmp2 = einsum(t1, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2), optimize=True) + tmp1 = t2.transpose((0, 1, 3, 2)).copy() + tmp1 += t2 * -0.5 + rdm1.oo = einsum(l2, (0, 1, 2, 3), tmp1, (2, 4, 1, 0), (4, 3), optimize=True) * -4 + tmp0 = einsum(t1, (0, 1), l1, (1, 2), (2, 0), optimize=True) + rdm1.oo += tmp0.transpose((1, 0)) * -2 + tmp6 = l2.transpose((3, 2, 0, 1)).copy() * 2 + tmp6 += l2.transpose((2, 3, 0, 1)) * -1 + rdm1.vv = einsum(t2, (0, 1, 2, 3), tmp6, (0, 1, 3, 4), (4, 2), optimize=True) * 2 + del tmp6 + tmp4 = t2.transpose((0, 1, 3, 2)).copy() * -1 + tmp4 += t2 * 2 + rdm1.ov = einsum(l1, (0, 1), tmp4, (1, 2, 0, 3), (2, 3), optimize=True) * 2 del tmp4 - tmp3 = tmp2.copy() * -0.5 - tmp3 += tmp2.transpose((1, 0, 2, 3)) + tmp3 = tmp2.copy() + tmp3 += tmp2.transpose((1, 0, 2, 3)) * -0.5 del tmp2 - rdm1.ov += einsum(tmp3, (0, 1, 2, 3), t2, (1, 0, 3, 4), (2, 4), optimize=True) * -4 + rdm1.ov += einsum(t2, (0, 1, 2, 3), tmp3, (1, 0, 4, 3), (4, 2), optimize=True) * -4 del tmp3 - tmp6 = tmp0.copy() * 0.5 + tmp5 = tmp0.copy() * 0.5 del tmp0 - tmp6 += einsum(l2, (0, 1, 2, 3), tmp5, (2, 4, 1, 0), (3, 4), optimize=True) - del tmp5 - rdm1.ov += einsum(tmp6, (0, 1), t1, (0, 2), (1, 2), optimize=True) * -4 - del tmp6 - tmp1 = t2.transpose((1, 0, 2, 3)).copy() * -0.5 - tmp1 += t2.transpose((1, 0, 3, 2)) - rdm1.oo += einsum(tmp1, (0, 1, 2, 3), l2, (2, 3, 0, 4), (1, 4), optimize=True) * -4 + tmp5 += einsum(l2, (0, 1, 2, 3), tmp1, (2, 4, 1, 0), (3, 4), optimize=True) del tmp1 - rdm1.oo += delta.oo.transpose((1, 0)) * 2 + rdm1.ov += einsum(tmp5, (0, 1), t1, (0, 2), (1, 2), optimize=True) * -4 + del tmp5 + rdm1.oo += delta.oo * 2 del delta rdm1.ov += t1 * 2 rdm1.vo = l1.copy() * 2 - rdm1.vv += einsum(l1, (0, 1), t1, (1, 2), (0, 2), optimize=True) * 2 + rdm1.vv += einsum(t1, (0, 1), l1, (2, 0), (2, 1), optimize=True) * 2 rdm1 = np.block([[rdm1.oo, rdm1.ov], [rdm1.vo, rdm1.vv]]) return rdm1 def make_rdm2_f(l1=None, l2=None, t1=None, t2=None, **kwargs): """ - Code generated by `albert` 0.0.0 on 2024-07-18T20:22:22.891603. + Code generated by `albert` 0.0.0 on 2024-07-22T17:21:01.287104. Parameters ---------- @@ -776,432 +791,412 @@ def make_rdm2_f(l1=None, l2=None, t1=None, t2=None, **kwargs): oo=np.eye(t2.shape[0]), vv=np.eye(t2.shape[-1]), ) - tmp4 = einsum(t1, (0, 1), l2, (1, 2, 3, 4), (4, 3, 0, 2), optimize=True) - rdm2.vooo = tmp4.transpose((3, 2, 1, 0)).copy() - rdm2.vooo += tmp4.transpose((3, 2, 0, 1)) * -1 - rdm2.vooo += tmp4.transpose((3, 2, 0, 1)) * -1 - rdm2.vooo += tmp4.transpose((3, 2, 0, 1)) * -1 - rdm2.vooo += tmp4.transpose((3, 2, 1, 0)) - rdm2.vooo += tmp4.transpose((3, 2, 0, 1)) * -1 - rdm2.ovoo = tmp4.transpose((2, 3, 1, 0)).copy() * -1 - rdm2.ovoo += tmp4.transpose((2, 3, 0, 1)) - rdm2.ovoo += tmp4.transpose((2, 3, 1, 0)) * -1 - rdm2.ovoo += tmp4.transpose((2, 3, 1, 0)) * -1 - rdm2.ovoo += tmp4.transpose((2, 3, 1, 0)) * -1 - rdm2.ovoo += tmp4.transpose((2, 3, 0, 1)) - tmp16 = t2.transpose((1, 0, 2, 3)).copy() * 2 - tmp16 += t2.transpose((1, 0, 3, 2)) * -1 - tmp78 = t2.transpose((1, 0, 2, 3)).copy() - tmp78 += t2.transpose((1, 0, 3, 2)) * -1 - tmp0 = t2.transpose((1, 0, 2, 3)).copy() - tmp0 += t2.transpose((1, 0, 3, 2)) * -0.5 - tmp10 = tmp4.copy() * -1 - tmp10 += tmp4.transpose((1, 0, 2, 3)) - tmp12 = tmp4.copy() * -1 - tmp12 += tmp4.transpose((1, 0, 2, 3)) * 2 - tmp80 = einsum(tmp16, (0, 1, 2, 3), l2, (3, 4, 0, 5), (1, 5, 2, 4), optimize=True) - rdm2.voov = tmp80.transpose((3, 0, 1, 2)).copy() - rdm2.voov += tmp80.transpose((3, 0, 1, 2)) - rdm2.ovov = tmp80.transpose((0, 3, 1, 2)).copy() * -1 - rdm2.ovov += tmp80.transpose((0, 3, 1, 2)) * -1 - tmp87 = einsum(tmp4, (0, 1, 2, 3), t1, (1, 4), (0, 2, 3, 4), optimize=True) - rdm2.voov += tmp87.transpose((2, 1, 0, 3)) * -1 + tmp2 = einsum(t1, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2), optimize=True) + rdm2.vooo = tmp2.transpose((3, 2, 1, 0)).copy() + rdm2.vooo += tmp2.transpose((3, 2, 0, 1)) * -1 + rdm2.vooo += tmp2.transpose((3, 2, 0, 1)) * -1 + rdm2.vooo += tmp2.transpose((3, 2, 0, 1)) * -1 + rdm2.vooo += tmp2.transpose((3, 2, 1, 0)) + rdm2.vooo += tmp2.transpose((3, 2, 0, 1)) * -1 + rdm2.ovoo = tmp2.transpose((2, 3, 1, 0)).copy() * -1 + rdm2.ovoo += tmp2.transpose((2, 3, 0, 1)) + rdm2.ovoo += tmp2.transpose((2, 3, 1, 0)) * -1 + rdm2.ovoo += tmp2.transpose((2, 3, 1, 0)) * -1 + rdm2.ovoo += tmp2.transpose((2, 3, 1, 0)) * -1 + rdm2.ovoo += tmp2.transpose((2, 3, 0, 1)) + tmp95 = t2.transpose((0, 1, 3, 2)).copy() * -1 + tmp95 += t2 + tmp22 = t2.transpose((0, 1, 3, 2)).copy() * -1 + tmp22 += t2 * 2 + tmp10 = tmp2.copy() + tmp10 += tmp2.transpose((1, 0, 2, 3)) * -1 + tmp12 = tmp2.copy() * 2 + tmp12 += tmp2.transpose((1, 0, 2, 3)) * -1 + tmp5 = t2.transpose((0, 1, 3, 2)).copy() + tmp5 += t2 * -0.5 + tmp61 = l2.transpose((3, 2, 0, 1)).copy() * -1 + tmp61 += l2.transpose((2, 3, 0, 1)) * 2 + tmp45 = l2.transpose((3, 2, 0, 1)).copy() * 2 + tmp45 += l2.transpose((2, 3, 0, 1)) * -1 + tmp96 = einsum(tmp95, (0, 1, 2, 3), l2, (4, 2, 0, 5), (1, 5, 3, 4), optimize=True) + del tmp95 + tmp87 = einsum(tmp2, (0, 1, 2, 3), t1, (1, 4), (0, 2, 3, 4), optimize=True) + rdm2.voov = tmp87.transpose((2, 1, 0, 3)).copy() * -1 rdm2.voov += tmp87.transpose((2, 1, 0, 3)) * -1 rdm2.ovvo = tmp87.transpose((1, 2, 3, 0)).copy() * -1 rdm2.ovvo += tmp87.transpose((1, 2, 3, 0)) * -1 - tmp79 = einsum(l2, (0, 1, 2, 3), tmp78, (2, 4, 5, 1), (4, 3, 5, 0), optimize=True) - del tmp78 - rdm2.voov += tmp79.transpose((3, 0, 1, 2)) * -1 - rdm2.voov += tmp79.transpose((3, 0, 1, 2)) * -1 - rdm2.ovov += tmp79.transpose((0, 3, 1, 2)) - rdm2.ovov += tmp79.transpose((0, 3, 1, 2)) - tmp62 = l2.transpose((3, 2, 0, 1)).copy() * 2 - tmp62 += l2.transpose((3, 2, 1, 0)) * -1 - tmp45 = l2.transpose((3, 2, 0, 1)).copy() * 2 - tmp45 += l2.transpose((3, 2, 1, 0)) * -1 - tmp1 = einsum(l2, (0, 1, 2, 3), tmp0, (2, 4, 1, 0), (3, 4), optimize=True) * 2 - rdm2.oooo = einsum(tmp1, (0, 1), delta.oo, (2, 3), (2, 1, 3, 0), optimize=True) * -1 - rdm2.oooo += einsum(delta.oo, (0, 1), tmp1, (2, 3), (3, 1, 0, 2), optimize=True) - rdm2.oooo += einsum(tmp1, (0, 1), delta.oo, (2, 3), (2, 1, 0, 3), optimize=True) - rdm2.oooo += einsum(tmp1, (0, 1), delta.oo, (2, 3), (1, 3, 0, 2), optimize=True) * -1 - rdm2.oooo += einsum(tmp1, (0, 1), delta.oo, (2, 3), (2, 1, 3, 0), optimize=True) * -1 - rdm2.oooo += einsum(tmp1, (0, 1), delta.oo, (2, 3), (1, 3, 0, 2), optimize=True) * -1 - rdm2.oooo += einsum(tmp1, (0, 1), delta.oo, (2, 3), (2, 1, 3, 0), optimize=True) * -1 - rdm2.oooo += einsum(tmp1, (0, 1), delta.oo, (2, 3), (1, 3, 0, 2), optimize=True) * -1 - rdm2.oooo += einsum(tmp1, (0, 1), delta.oo, (2, 3), (2, 1, 3, 0), optimize=True) * -1 - rdm2.oooo += einsum(delta.oo, (0, 1), tmp1, (2, 3), (3, 1, 0, 2), optimize=True) - rdm2.oooo += einsum(tmp1, (0, 1), delta.oo, (2, 3), (2, 1, 0, 3), optimize=True) - rdm2.oooo += einsum(tmp1, (0, 1), delta.oo, (2, 3), (1, 3, 0, 2), optimize=True) * -1 - tmp21 = tmp4.copy() * -1 - tmp21 += tmp4.transpose((1, 0, 2, 3)) * 2 - tmp11 = einsum(tmp10, (0, 1, 2, 3), t2, (1, 4, 5, 3), (0, 2, 4, 5), optimize=True) - tmp8 = einsum(l1, (0, 1), t2, (2, 3, 0, 4), (1, 3, 2, 4), optimize=True) + tmp94 = einsum(l2, (0, 1, 2, 3), tmp22, (3, 4, 1, 5), (4, 2, 5, 0), optimize=True) + tmp104 = l2.transpose((3, 2, 0, 1)).copy() * 2 + tmp104 += l2.transpose((2, 3, 0, 1)) * -1 + tmp0 = einsum(t1, (0, 1), l1, (1, 2), (2, 0), optimize=True) + rdm2.ooov = einsum(tmp0, (0, 1), t1, (2, 3), (1, 2, 0, 3), optimize=True) * -1 + rdm2.ooov += einsum(tmp0, (0, 1), t1, (2, 3), (2, 1, 0, 3), optimize=True) + rdm2.ooov += einsum(tmp0, (0, 1), t1, (2, 3), (1, 2, 0, 3), optimize=True) * -1 + rdm2.ooov += einsum(tmp0, (0, 1), t1, (2, 3), (2, 1, 0, 3), optimize=True) + rdm2.oooo = einsum(delta.oo, (0, 1), tmp0, (2, 3), (0, 3, 1, 2), optimize=True) * -1 + rdm2.oooo += einsum(delta.oo, (0, 1), tmp0, (2, 3), (3, 0, 1, 2), optimize=True) + rdm2.oooo += einsum(tmp0, (0, 1), delta.oo, (2, 3), (2, 1, 0, 3), optimize=True) + rdm2.oooo += einsum(delta.oo, (0, 1), tmp0, (2, 3), (3, 0, 2, 1), optimize=True) * -1 + rdm2.oooo += einsum(delta.oo, (0, 1), tmp0, (2, 3), (0, 3, 1, 2), optimize=True) * -1 + rdm2.oooo += einsum(delta.oo, (0, 1), tmp0, (2, 3), (0, 3, 1, 2), optimize=True) * -1 + rdm2.oooo += einsum(delta.oo, (0, 1), tmp0, (2, 3), (0, 3, 1, 2), optimize=True) * -1 + rdm2.oooo += einsum(delta.oo, (0, 1), tmp0, (2, 3), (3, 0, 1, 2), optimize=True) + rdm2.oooo += einsum(tmp0, (0, 1), delta.oo, (2, 3), (2, 1, 0, 3), optimize=True) + rdm2.oooo += einsum(delta.oo, (0, 1), tmp0, (2, 3), (3, 0, 2, 1), optimize=True) * -1 + tmp8 = einsum(t2, (0, 1, 2, 3), l1, (3, 4), (4, 0, 1, 2), optimize=True) rdm2.oovo = tmp8.transpose((1, 2, 3, 0)).copy() * -1 rdm2.oovo += tmp8.transpose((1, 2, 3, 0)) * -1 - rdm2.ooov = tmp8.transpose((2, 1, 0, 3)).copy() * -1 rdm2.ooov += tmp8.transpose((2, 1, 0, 3)) * -1 - tmp13 = einsum(tmp12, (0, 1, 2, 3), t2, (1, 4, 3, 5), (0, 2, 4, 5), optimize=True) + rdm2.ooov += tmp8.transpose((2, 1, 0, 3)) * -1 + tmp11 = einsum(tmp10, (0, 1, 2, 3), t2, (4, 0, 3, 5), (1, 2, 4, 5), optimize=True) + tmp13 = einsum(tmp12, (0, 1, 2, 3), t2, (4, 0, 5, 3), (1, 2, 4, 5), optimize=True) del tmp12 - rdm2.oovo += tmp13.transpose((2, 1, 3, 0)) * -1 - rdm2.oovo += tmp13.transpose((2, 1, 3, 0)) * -1 - tmp2 = einsum(l1, (0, 1), t1, (2, 0), (1, 2), optimize=True) - rdm2.ooov += einsum(tmp2, (0, 1), t1, (2, 3), (1, 2, 0, 3), optimize=True) * -1 - rdm2.ooov += einsum(tmp2, (0, 1), t1, (2, 3), (2, 1, 0, 3), optimize=True) - rdm2.ooov += einsum(tmp2, (0, 1), t1, (2, 3), (1, 2, 0, 3), optimize=True) * -1 - rdm2.ooov += einsum(tmp2, (0, 1), t1, (2, 3), (2, 1, 0, 3), optimize=True) - rdm2.oooo += einsum(delta.oo, (0, 1), tmp2, (2, 3), (1, 3, 0, 2), optimize=True) * -1 - rdm2.oooo += einsum(delta.oo, (0, 1), tmp2, (2, 3), (3, 1, 0, 2), optimize=True) - rdm2.oooo += einsum(tmp2, (0, 1), delta.oo, (2, 3), (3, 1, 0, 2), optimize=True) - rdm2.oooo += einsum(tmp2, (0, 1), delta.oo, (2, 3), (1, 3, 0, 2), optimize=True) * -1 - rdm2.oooo += einsum(delta.oo, (0, 1), tmp2, (2, 3), (1, 3, 0, 2), optimize=True) * -1 - rdm2.oooo += einsum(delta.oo, (0, 1), tmp2, (2, 3), (1, 3, 0, 2), optimize=True) * -1 - rdm2.oooo += einsum(delta.oo, (0, 1), tmp2, (2, 3), (1, 3, 0, 2), optimize=True) * -1 - rdm2.oooo += einsum(delta.oo, (0, 1), tmp2, (2, 3), (3, 1, 0, 2), optimize=True) - rdm2.oooo += einsum(tmp2, (0, 1), delta.oo, (2, 3), (3, 1, 0, 2), optimize=True) - rdm2.oooo += einsum(tmp2, (0, 1), delta.oo, (2, 3), (1, 3, 0, 2), optimize=True) * -1 - tmp26 = einsum(tmp4, (0, 1, 2, 3), t2, (4, 1, 3, 5), (0, 2, 4, 5), optimize=True) + rdm2.ooov += tmp13.transpose((1, 2, 0, 3)) * -1 + rdm2.ooov += tmp13.transpose((1, 2, 0, 3)) * -1 + tmp26 = einsum(tmp2, (0, 1, 2, 3), t2, (4, 1, 3, 5), (0, 2, 4, 5), optimize=True) rdm2.oovo += tmp26.transpose((1, 2, 3, 0)) rdm2.oovo += tmp26.transpose((1, 2, 3, 0)) rdm2.ooov += tmp26.transpose((2, 1, 0, 3)) rdm2.ooov += tmp26.transpose((2, 1, 0, 3)) - tmp5 = einsum(t1, (0, 1), tmp4, (2, 3, 4, 1), (2, 3, 0, 4), optimize=True) - rdm2.oooo += tmp5.transpose((3, 2, 1, 0)) - rdm2.oooo += tmp5.transpose((3, 2, 1, 0)) tmp54 = l2.transpose((3, 2, 0, 1)).copy() - tmp54 += l2.transpose((3, 2, 1, 0)) * -1 - tmp25 = einsum(tmp4, (0, 1, 2, 3), t2, (4, 0, 3, 5), (1, 2, 4, 5), optimize=True) + tmp54 += l2.transpose((2, 3, 0, 1)) * -1 + tmp3 = einsum(t1, (0, 1), tmp2, (2, 3, 4, 1), (3, 2, 4, 0), optimize=True) + rdm2.oooo += tmp3.transpose((3, 2, 1, 0)) + rdm2.oooo += tmp3.transpose((3, 2, 1, 0)) + tmp6 = einsum(l2, (0, 1, 2, 3), tmp5, (2, 4, 1, 0), (3, 4), optimize=True) * 2 + rdm2.oooo += einsum(tmp6, (0, 1), delta.oo, (2, 3), (2, 1, 3, 0), optimize=True) * -1 + rdm2.oooo += einsum(delta.oo, (0, 1), tmp6, (2, 3), (3, 0, 1, 2), optimize=True) + rdm2.oooo += einsum(delta.oo, (0, 1), tmp6, (2, 3), (0, 3, 2, 1), optimize=True) + rdm2.oooo += einsum(delta.oo, (0, 1), tmp6, (2, 3), (3, 0, 2, 1), optimize=True) * -1 + rdm2.oooo += einsum(tmp6, (0, 1), delta.oo, (2, 3), (2, 1, 3, 0), optimize=True) * -1 + rdm2.oooo += einsum(delta.oo, (0, 1), tmp6, (2, 3), (3, 0, 2, 1), optimize=True) * -1 + rdm2.oooo += einsum(tmp6, (0, 1), delta.oo, (2, 3), (2, 1, 3, 0), optimize=True) * -1 + rdm2.oooo += einsum(delta.oo, (0, 1), tmp6, (2, 3), (3, 0, 2, 1), optimize=True) * -1 + rdm2.oooo += einsum(tmp6, (0, 1), delta.oo, (2, 3), (2, 1, 3, 0), optimize=True) * -1 + rdm2.oooo += einsum(delta.oo, (0, 1), tmp6, (2, 3), (3, 0, 1, 2), optimize=True) + rdm2.oooo += einsum(delta.oo, (0, 1), tmp6, (2, 3), (0, 3, 2, 1), optimize=True) + rdm2.oooo += einsum(delta.oo, (0, 1), tmp6, (2, 3), (3, 0, 2, 1), optimize=True) * -1 + tmp17 = tmp2.copy() * -1 + tmp17 += tmp2.transpose((1, 0, 2, 3)) * 2 + tmp25 = einsum(tmp2, (0, 1, 2, 3), t2, (4, 0, 3, 5), (1, 2, 4, 5), optimize=True) rdm2.oovo += tmp25.transpose((2, 1, 3, 0)) rdm2.oovo += tmp25.transpose((2, 1, 3, 0)) rdm2.ooov += tmp25.transpose((1, 2, 0, 3)) rdm2.ooov += tmp25.transpose((1, 2, 0, 3)) - tmp33 = einsum(l2, (0, 1, 2, 3), tmp0, (2, 4, 1, 0), (3, 4), optimize=True) - del tmp0 - tmp3 = einsum(l2, (0, 1, 2, 3), t2, (4, 5, 0, 1), (2, 3, 4, 5), optimize=True) - rdm2.oooo += tmp3.transpose((3, 2, 1, 0)) - rdm2.oooo += tmp3.transpose((3, 2, 1, 0)) - tmp110 = einsum(t1, (0, 1), l2, (2, 3, 4, 0), (4, 2, 3, 1), optimize=True) - rdm2.vvvo = tmp110.transpose((2, 1, 3, 0)).copy() - rdm2.vvvo += tmp110.transpose((1, 2, 3, 0)) * -1 - rdm2.vvvo += tmp110.transpose((2, 1, 3, 0)) - rdm2.vvvo += tmp110.transpose((2, 1, 3, 0)) - rdm2.vvvo += tmp110.transpose((2, 1, 3, 0)) - rdm2.vvvo += tmp110.transpose((1, 2, 3, 0)) * -1 - rdm2.vvov = tmp110.transpose((2, 1, 0, 3)).copy() * -1 - rdm2.vvov += tmp110.transpose((1, 2, 0, 3)) - rdm2.vvov += tmp110.transpose((1, 2, 0, 3)) - rdm2.vvov += tmp110.transpose((1, 2, 0, 3)) - rdm2.vvov += tmp110.transpose((2, 1, 0, 3)) * -1 - rdm2.vvov += tmp110.transpose((1, 2, 0, 3)) - tmp104 = tmp87.copy() - tmp104 += tmp79.transpose((1, 0, 3, 2)) - tmp104 += tmp80.transpose((1, 0, 3, 2)) * -1 - tmp83 = einsum(l1, (0, 1), t1, (1, 2), (0, 2), optimize=True) - tmp84 = einsum(tmp62, (0, 1, 2, 3), t2, (0, 1, 3, 4), (2, 4), optimize=True) - tmp67 = einsum(t2, (0, 1, 2, 3), l2, (4, 2, 5, 1), (5, 0, 4, 3), optimize=True) - rdm2.voov += tmp67.transpose((2, 1, 0, 3)) * -1 - rdm2.voov += tmp67.transpose((2, 1, 0, 3)) * -1 - rdm2.ovvo += tmp67.transpose((1, 2, 3, 0)) * -1 - rdm2.ovvo += tmp67.transpose((1, 2, 3, 0)) * -1 - tmp52 = einsum(t2, (0, 1, 2, 3), tmp45, (0, 4, 5, 2), (4, 1, 5, 3), optimize=True) + tmp1 = einsum(l2, (0, 1, 2, 3), t2, (4, 5, 0, 1), (2, 3, 4, 5), optimize=True) + rdm2.oooo += tmp1.transpose((3, 2, 1, 0)) + rdm2.oooo += tmp1.transpose((3, 2, 1, 0)) + tmp31 = einsum(l2, (0, 1, 2, 3), tmp5, (2, 4, 1, 0), (3, 4), optimize=True) + del tmp5 + tmp114 = einsum(t1, (0, 1), l2, (2, 3, 4, 0), (4, 2, 3, 1), optimize=True) + rdm2.vvvo = tmp114.transpose((2, 1, 3, 0)).copy() + rdm2.vvvo += tmp114.transpose((1, 2, 3, 0)) * -1 + rdm2.vvvo += tmp114.transpose((2, 1, 3, 0)) + rdm2.vvvo += tmp114.transpose((2, 1, 3, 0)) + rdm2.vvvo += tmp114.transpose((2, 1, 3, 0)) + rdm2.vvvo += tmp114.transpose((1, 2, 3, 0)) * -1 + rdm2.vvov = tmp114.transpose((2, 1, 0, 3)).copy() * -1 + rdm2.vvov += tmp114.transpose((1, 2, 0, 3)) + rdm2.vvov += tmp114.transpose((1, 2, 0, 3)) + rdm2.vvov += tmp114.transpose((1, 2, 0, 3)) + rdm2.vvov += tmp114.transpose((2, 1, 0, 3)) * -1 + rdm2.vvov += tmp114.transpose((1, 2, 0, 3)) + tmp83 = einsum(t1, (0, 1), l1, (2, 0), (2, 1), optimize=True) + tmp84 = einsum(t2, (0, 1, 2, 3), tmp61, (0, 1, 2, 4), (4, 3), optimize=True) + tmp66 = einsum(t2, (0, 1, 2, 3), l2, (4, 2, 5, 1), (5, 0, 4, 3), optimize=True) + rdm2.voov += tmp66.transpose((2, 1, 0, 3)) * -1 + rdm2.voov += tmp66.transpose((2, 1, 0, 3)) * -1 + rdm2.ovvo += tmp66.transpose((1, 2, 3, 0)) * -1 + rdm2.ovvo += tmp66.transpose((1, 2, 3, 0)) * -1 + tmp52 = einsum(tmp45, (0, 1, 2, 3), t2, (4, 0, 5, 3), (1, 4, 2, 5), optimize=True) + rdm2.vovo = tmp52.transpose((2, 1, 3, 0)).copy() * -1 + rdm2.vovo += tmp52.transpose((2, 1, 3, 0)) * -1 rdm2.voov += tmp52.transpose((2, 1, 0, 3)) rdm2.voov += tmp52.transpose((2, 1, 0, 3)) rdm2.ovvo += tmp52.transpose((1, 2, 3, 0)) rdm2.ovvo += tmp52.transpose((1, 2, 3, 0)) - tmp101 = einsum(t2, (0, 1, 2, 3), tmp62, (0, 4, 5, 2), (4, 1, 5, 3), optimize=True) - tmp94 = tmp80.transpose((1, 0, 3, 2)).copy() - del tmp80 - tmp94 += tmp79.transpose((1, 0, 3, 2)) * -1 - del tmp79 - tmp63 = einsum(tmp62, (0, 1, 2, 3), t2, (0, 1, 3, 4), (2, 4), optimize=True) * 0.5 - del tmp62 - tmp23 = einsum(tmp1, (0, 1), t1, (0, 2), (1, 2), optimize=True) * 0.5 - tmp22 = einsum(tmp21, (0, 1, 2, 3), t2, (1, 0, 3, 4), (2, 4), optimize=True) * 0.5 + rdm2.ovvo += tmp52.transpose((1, 2, 3, 0)) + rdm2.ovvo += tmp52.transpose((1, 2, 3, 0)) + tmp108 = tmp87.copy() + tmp108 += tmp96.transpose((1, 0, 3, 2)) + tmp108 += tmp94.transpose((1, 0, 3, 2)) * -1 + tmp97 = tmp94.transpose((1, 0, 3, 2)).copy() + del tmp94 + tmp97 += tmp96.transpose((1, 0, 3, 2)) * -1 + del tmp96 + tmp105 = einsum(tmp104, (0, 1, 2, 3), t2, (4, 0, 5, 3), (1, 4, 2, 5), optimize=True) + del tmp104 + tmp46 = einsum(tmp45, (0, 1, 2, 3), t2, (4, 0, 3, 5), (1, 4, 2, 5), optimize=True) + del tmp45 + tmp23 = einsum(l1, (0, 1), tmp22, (1, 2, 0, 3), (2, 3), optimize=True) + del tmp22 + rdm2.oovo += einsum(delta.oo, (0, 1), tmp23, (2, 3), (0, 2, 3, 1), optimize=True) * -1 + rdm2.oovo += einsum(delta.oo, (0, 1), tmp23, (2, 3), (2, 0, 3, 1), optimize=True) + rdm2.oovo += einsum(delta.oo, (0, 1), tmp23, (2, 3), (0, 2, 3, 1), optimize=True) * -1 + rdm2.oovo += einsum(delta.oo, (0, 1), tmp23, (2, 3), (2, 0, 3, 1), optimize=True) + tmp21 = einsum(tmp0, (0, 1), t1, (0, 2), (1, 2), optimize=True) + rdm2.oovv = einsum(tmp21, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) * -1 + rdm2.oovv += einsum(tmp21, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) * -1 tmp48 = tmp8.copy() tmp48 += tmp11 tmp48 += tmp13 * -1 - tmp15 = einsum(t1, (0, 1), tmp2, (0, 2), (2, 1), optimize=True) - rdm2.oovv = einsum(tmp15, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) * -1 - rdm2.oovv += einsum(tmp15, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) * -1 - tmp17 = einsum(l1, (0, 1), tmp16, (1, 2, 3, 0), (2, 3), optimize=True) - del tmp16 - rdm2.oovo += einsum(tmp17, (0, 1), delta.oo, (2, 3), (2, 0, 1, 3), optimize=True) * -1 - rdm2.oovo += einsum(delta.oo, (0, 1), tmp17, (2, 3), (2, 1, 3, 0), optimize=True) - rdm2.oovo += einsum(tmp17, (0, 1), delta.oo, (2, 3), (2, 0, 1, 3), optimize=True) * -1 - rdm2.oovo += einsum(delta.oo, (0, 1), tmp17, (2, 3), (2, 1, 3, 0), optimize=True) - tmp46 = einsum(t2, (0, 1, 2, 3), tmp45, (0, 4, 5, 3), (4, 1, 5, 2), optimize=True) - del tmp45 - tmp74 = tmp8.copy() - tmp74 += tmp26 * -1 + tmp73 = tmp8.copy() + tmp73 += tmp26 * -1 del tmp26 - tmp59 = t2.transpose((1, 0, 3, 2)).copy() - tmp59 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) - tmp9 = einsum(t1, (0, 1), tmp5, (0, 2, 3, 4), (2, 4, 3, 1), optimize=True) - tmp55 = einsum(t2, (0, 1, 2, 3), tmp54, (0, 4, 5, 3), (4, 1, 5, 2), optimize=True) + tmp55 = einsum(t2, (0, 1, 2, 3), tmp54, (1, 4, 5, 2), (4, 0, 5, 3), optimize=True) + del tmp54 rdm2.ovvo += tmp55.transpose((1, 2, 3, 0)) * -1 rdm2.ovvo += tmp55.transpose((1, 2, 3, 0)) * -1 - tmp71 = tmp25.copy() + tmp9 = einsum(t1, (0, 1), tmp3, (0, 2, 3, 4), (2, 4, 3, 1), optimize=True) + tmp19 = einsum(tmp6, (0, 1), t1, (0, 2), (1, 2), optimize=True) * 0.5 + tmp18 = einsum(tmp17, (0, 1, 2, 3), t2, (0, 1, 4, 3), (2, 4), optimize=True) * 0.5 + tmp62 = einsum(t2, (0, 1, 2, 3), tmp61, (0, 1, 2, 4), (4, 3), optimize=True) * 0.5 + del tmp61 + tmp70 = tmp25.copy() del tmp25 - tmp71 += tmp13 * -1 - tmp34 = tmp2.copy() * 0.5 - tmp34 += tmp33 - del tmp33 - tmp31 = t2.transpose((1, 0, 2, 3)).copy() * 2 - tmp31 += t2.transpose((1, 0, 3, 2)) * -1 - tmp6 = tmp3.transpose((1, 0, 3, 2)).copy() - tmp6 += tmp5 - rdm2.oooo += tmp6.transpose((2, 3, 0, 1)) - rdm2.oooo += tmp6.transpose((3, 2, 0, 1)) * -1 - rdm2.oooo += tmp6.transpose((2, 3, 0, 1)) - rdm2.oooo += tmp6.transpose((3, 2, 0, 1)) * -1 - tmp112 = einsum(tmp110, (0, 1, 2, 3), t1, (0, 4), (2, 1, 3, 4), optimize=True) - del tmp110 - rdm2.vvvv = tmp112.transpose((1, 0, 3, 2)).copy() - rdm2.vvvv += tmp112.transpose((1, 0, 3, 2)) - tmp111 = einsum(t2, (0, 1, 2, 3), l2, (4, 5, 0, 1), (4, 5, 2, 3), optimize=True) - rdm2.vvvv += tmp111.transpose((1, 0, 3, 2)) - rdm2.vvvv += tmp111.transpose((1, 0, 3, 2)) - tmp69 = einsum(t2, (0, 1, 2, 3), l2, (2, 4, 5, 1), (5, 0, 4, 3), optimize=True) - rdm2.vovo = tmp69.transpose((2, 1, 3, 0)).copy() * -1 - rdm2.vovo += tmp69.transpose((2, 1, 3, 0)) * -1 - rdm2.ovov += tmp69.transpose((1, 2, 0, 3)) * -1 - rdm2.ovov += tmp69.transpose((1, 2, 0, 3)) * -1 - tmp93 = einsum(l1, (0, 1), t2, (2, 1, 3, 4), (2, 0, 3, 4), optimize=True) - rdm2.vovv = tmp93.transpose((1, 0, 3, 2)).copy() - rdm2.vovv += tmp93.transpose((1, 0, 3, 2)) - rdm2.ovvv = tmp93.copy() - rdm2.ovvv += tmp93 - tmp105 = einsum(t1, (0, 1), tmp104, (0, 2, 3, 4), (2, 3, 4, 1), optimize=True) - del tmp104 - tmp97 = einsum(t2, (0, 1, 2, 3), tmp4, (1, 0, 4, 5), (4, 5, 3, 2), optimize=True) - rdm2.vovv += tmp97.transpose((1, 0, 2, 3)) * -1 - rdm2.vovv += tmp97.transpose((1, 0, 2, 3)) * -1 - rdm2.ovvv += tmp97.transpose((0, 1, 3, 2)) * -1 - rdm2.ovvv += tmp97.transpose((0, 1, 3, 2)) * -1 + tmp70 += tmp13 * -1 + tmp4 = tmp1.transpose((1, 0, 3, 2)).copy() + tmp4 += tmp3 + del tmp3 + rdm2.oooo += tmp4.transpose((2, 3, 0, 1)) + rdm2.oooo += tmp4.transpose((3, 2, 0, 1)) * -1 + rdm2.oooo += tmp4.transpose((2, 3, 0, 1)) + rdm2.oooo += tmp4.transpose((3, 2, 0, 1)) * -1 + tmp15 = einsum(tmp1, (0, 1, 2, 3), t1, (1, 4), (0, 2, 3, 4), optimize=True) + del tmp1 + tmp32 = tmp0.copy() * 0.5 + tmp32 += tmp31 + del tmp31 + tmp29 = t2.transpose((0, 1, 3, 2)).copy() * -1 + tmp29 += t2 * 2 + tmp115 = einsum(l2, (0, 1, 2, 3), t2, (3, 2, 4, 5), (0, 1, 5, 4), optimize=True) + rdm2.vvvv = tmp115.transpose((1, 0, 3, 2)).copy() + rdm2.vvvv += tmp115.transpose((1, 0, 3, 2)) + tmp116 = einsum(t1, (0, 1), tmp114, (0, 2, 3, 4), (3, 2, 4, 1), optimize=True) + del tmp114 + rdm2.vvvv += tmp116.transpose((1, 0, 3, 2)) + rdm2.vvvv += tmp116.transpose((1, 0, 3, 2)) tmp85 = tmp83.copy() tmp85 += tmp84 del tmp84 + rdm2.vovv = einsum(t1, (0, 1), tmp85, (2, 3), (2, 0, 3, 1), optimize=True) rdm2.vovv += einsum(t1, (0, 1), tmp85, (2, 3), (2, 0, 3, 1), optimize=True) - rdm2.vovv += einsum(t1, (0, 1), tmp85, (2, 3), (2, 0, 3, 1), optimize=True) - rdm2.voov += einsum(tmp85, (0, 1), delta.oo, (2, 3), (0, 3, 2, 1), optimize=True) * -1 - rdm2.voov += einsum(tmp85, (0, 1), delta.oo, (2, 3), (0, 3, 2, 1), optimize=True) * -1 - rdm2.ovvo += einsum(tmp85, (0, 1), delta.oo, (2, 3), (3, 0, 1, 2), optimize=True) * -1 - rdm2.ovvo += einsum(tmp85, (0, 1), delta.oo, (2, 3), (3, 0, 1, 2), optimize=True) * -1 - rdm2.ovov += einsum(tmp85, (0, 1), delta.oo, (2, 3), (3, 0, 2, 1), optimize=True) - rdm2.ovov += einsum(tmp85, (0, 1), delta.oo, (2, 3), (3, 0, 2, 1), optimize=True) - rdm2.ovov += einsum(tmp85, (0, 1), delta.oo, (2, 3), (3, 0, 2, 1), optimize=True) - rdm2.ovov += einsum(tmp85, (0, 1), delta.oo, (2, 3), (3, 0, 2, 1), optimize=True) - tmp108 = tmp67.copy() - tmp108 += tmp87 - tmp108 += tmp52 * -1 - tmp102 = tmp67.copy() - tmp102 += tmp87 - tmp102 += tmp101 * -1 - del tmp101 - tmp95 = einsum(t1, (0, 1), tmp94, (0, 2, 3, 4), (2, 3, 4, 1), optimize=True) - del tmp94 - tmp88 = l2.transpose((3, 2, 0, 1)).copy() * -1 - tmp88 += l2.transpose((3, 2, 1, 0)) * 2 - tmp81 = tmp4.copy() - tmp81 += tmp4.transpose((1, 0, 2, 3)) * -1 - tmp65 = einsum(tmp1, (0, 1), t2, (0, 2, 3, 4), (2, 1, 3, 4), optimize=True) - tmp64 = einsum(tmp63, (0, 1), t2, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) * 2 - tmp24 = tmp22.copy() - tmp24 += tmp23 - del tmp23 - rdm2.ooov += einsum(tmp24, (0, 1), delta.oo, (2, 3), (2, 0, 3, 1), optimize=True) * -2 - rdm2.ooov += einsum(delta.oo, (0, 1), tmp24, (2, 3), (2, 1, 0, 3), optimize=True) * 2 - rdm2.ooov += einsum(tmp24, (0, 1), delta.oo, (2, 3), (2, 0, 3, 1), optimize=True) * -2 - rdm2.ooov += einsum(delta.oo, (0, 1), tmp24, (2, 3), (2, 1, 0, 3), optimize=True) * 2 + rdm2.voov += einsum(tmp85, (0, 1), delta.oo, (2, 3), (0, 2, 3, 1), optimize=True) * -1 + rdm2.voov += einsum(tmp85, (0, 1), delta.oo, (2, 3), (0, 2, 3, 1), optimize=True) * -1 + rdm2.ovvo += einsum(tmp85, (0, 1), delta.oo, (2, 3), (2, 0, 1, 3), optimize=True) * -1 + rdm2.ovvo += einsum(tmp85, (0, 1), delta.oo, (2, 3), (2, 0, 1, 3), optimize=True) * -1 + rdm2.ovov = einsum(tmp85, (0, 1), delta.oo, (2, 3), (2, 0, 3, 1), optimize=True) + rdm2.ovov += einsum(tmp85, (0, 1), delta.oo, (2, 3), (2, 0, 3, 1), optimize=True) + rdm2.ovov += einsum(tmp85, (0, 1), delta.oo, (2, 3), (2, 0, 3, 1), optimize=True) + rdm2.ovov += einsum(tmp85, (0, 1), delta.oo, (2, 3), (2, 0, 3, 1), optimize=True) + tmp100 = einsum(tmp2, (0, 1, 2, 3), t2, (0, 1, 4, 5), (2, 3, 4, 5), optimize=True) + rdm2.vovv += tmp100.transpose((1, 0, 2, 3)) * -1 + rdm2.vovv += tmp100.transpose((1, 0, 2, 3)) * -1 + rdm2.ovvv = tmp100.transpose((0, 1, 3, 2)).copy() * -1 + rdm2.ovvv += tmp100.transpose((0, 1, 3, 2)) * -1 + tmp112 = tmp66.copy() + tmp112 += tmp87 + tmp112 += tmp52 * -1 + tmp109 = einsum(t1, (0, 1), tmp108, (0, 2, 3, 4), (2, 3, 4, 1), optimize=True) + del tmp108 + tmp93 = einsum(t2, (0, 1, 2, 3), l1, (4, 1), (0, 4, 2, 3), optimize=True) + rdm2.vovv += tmp93.transpose((1, 0, 3, 2)) + rdm2.vovv += tmp93.transpose((1, 0, 3, 2)) + rdm2.ovvv += tmp93 + rdm2.ovvv += tmp93 + tmp68 = einsum(t2, (0, 1, 2, 3), l2, (4, 2, 1, 5), (5, 0, 4, 3), optimize=True) + rdm2.vovo += tmp68.transpose((2, 1, 3, 0)) * -1 + rdm2.vovo += tmp68.transpose((2, 1, 3, 0)) * -1 + rdm2.ovov += tmp68.transpose((1, 2, 0, 3)) * -1 + rdm2.ovov += tmp68.transpose((1, 2, 0, 3)) * -1 + tmp98 = einsum(tmp97, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4), optimize=True) + del tmp97 + tmp106 = tmp66.copy() + tmp106 += tmp87 + tmp106 += tmp105 * -1 + del tmp105 + tmp90 = l2.transpose((3, 2, 0, 1)).copy() * -1 + tmp90 += l2.transpose((2, 3, 0, 1)) + tmp88 = tmp2.copy() * -1 + tmp88 += tmp2.transpose((1, 0, 2, 3)) + tmp78 = t2.transpose((0, 1, 3, 2)).copy() + tmp78 += t2 * -1 + tmp80 = t2.transpose((0, 1, 3, 2)).copy() * 2 + tmp80 += t2 * -1 + tmp47 = einsum(tmp46, (0, 1, 2, 3), t2, (4, 0, 5, 2), (1, 4, 3, 5), optimize=True) + del tmp46 + tmp24 = tmp21.copy() + tmp24 += tmp23 * -1 + rdm2.ooov += einsum(delta.oo, (0, 1), tmp24, (2, 3), (0, 2, 1, 3), optimize=True) * -1 + rdm2.ooov += einsum(delta.oo, (0, 1), tmp24, (2, 3), (2, 0, 1, 3), optimize=True) + rdm2.ooov += einsum(delta.oo, (0, 1), tmp24, (2, 3), (0, 2, 1, 3), optimize=True) * -1 + rdm2.ooov += einsum(delta.oo, (0, 1), tmp24, (2, 3), (2, 0, 1, 3), optimize=True) tmp49 = einsum(tmp48, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4), optimize=True) del tmp48 - tmp44 = einsum(tmp2, (0, 1), t2, (2, 0, 3, 4), (1, 2, 3, 4), optimize=True) - tmp18 = tmp15.copy() - tmp18 += tmp17 * -1 - rdm2.ooov += einsum(tmp18, (0, 1), delta.oo, (2, 3), (2, 0, 3, 1), optimize=True) * -1 - rdm2.ooov += einsum(delta.oo, (0, 1), tmp18, (2, 3), (2, 1, 0, 3), optimize=True) - rdm2.ooov += einsum(tmp18, (0, 1), delta.oo, (2, 3), (2, 0, 3, 1), optimize=True) * -1 - rdm2.ooov += einsum(delta.oo, (0, 1), tmp18, (2, 3), (2, 1, 0, 3), optimize=True) - tmp47 = einsum(t2, (0, 1, 2, 3), tmp46, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) - del tmp46 - tmp75 = einsum(t1, (0, 1), tmp74, (0, 2, 3, 4), (2, 3, 4, 1), optimize=True) - del tmp74 - tmp60 = einsum(tmp3, (0, 1, 2, 3), tmp59, (0, 1, 4, 5), (2, 3, 4, 5), optimize=True) - del tmp59 - rdm2.oovv += tmp60.transpose((1, 0, 3, 2)) - rdm2.oovv += tmp60.transpose((1, 0, 3, 2)) - tmp58 = einsum(t2, (0, 1, 2, 3), tmp5, (1, 0, 4, 5), (5, 4, 2, 3), optimize=True) - del tmp5 - rdm2.oovv += tmp58 - rdm2.oovv += tmp58 + tmp44 = einsum(t2, (0, 1, 2, 3), tmp0, (1, 4), (4, 0, 2, 3), optimize=True) + tmp74 = einsum(tmp73, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4), optimize=True) + del tmp73 + tmp56 = einsum(tmp55, (0, 1, 2, 3), t2, (4, 0, 2, 5), (1, 4, 3, 5), optimize=True) + del tmp55 tmp51 = einsum(t1, (0, 1), tmp9, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) - rdm2.oovv += tmp51 - rdm2.oovv += tmp51 - tmp53 = einsum(tmp52, (0, 1, 2, 3), t2, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) + tmp53 = einsum(tmp52, (0, 1, 2, 3), t2, (4, 0, 5, 2), (1, 4, 3, 5), optimize=True) del tmp52 rdm2.oovv += tmp53 * 2 rdm2.oovv += tmp53 * 2 - tmp56 = einsum(t2, (0, 1, 2, 3), tmp55, (0, 4, 3, 5), (4, 1, 5, 2), optimize=True) - del tmp55 - tmp72 = einsum(t1, (0, 1), tmp71, (0, 2, 3, 4), (2, 3, 4, 1), optimize=True) - del tmp71 - tmp42 = einsum(tmp34, (0, 1), t1, (0, 2), (1, 2), optimize=True) - tmp41 = einsum(l1, (0, 1), tmp31, (1, 2, 3, 0), (2, 3), optimize=True) * 0.5 - tmp29 = einsum(t1, (0, 1), tmp6, (0, 2, 3, 4), (2, 3, 4, 1), optimize=True) - del tmp6 - rdm2.oovo += tmp29.transpose((1, 2, 3, 0)) - rdm2.oovo += tmp29.transpose((1, 2, 3, 0)) - rdm2.ooov += tmp29.transpose((2, 1, 0, 3)) - rdm2.ooov += tmp29.transpose((2, 1, 0, 3)) - tmp35 = einsum(tmp34, (0, 1), t1, (0, 2), (1, 2), optimize=True) * 2 - del tmp34 - tmp30 = einsum(tmp21, (0, 1, 2, 3), t2, (1, 0, 3, 4), (2, 4), optimize=True) - del tmp21 - tmp19 = einsum(t1, (0, 1), tmp3, (2, 0, 3, 4), (2, 3, 4, 1), optimize=True) - del tmp3 - tmp27 = tmp4.copy() * 2 - tmp27 += tmp4.transpose((1, 0, 2, 3)) * -1 - tmp32 = einsum(l1, (0, 1), tmp31, (1, 2, 3, 0), (2, 3), optimize=True) - del tmp31 - tmp113 = tmp111.transpose((1, 0, 3, 2)).copy() + tmp20 = tmp18.copy() + tmp20 += tmp19 + del tmp19 + rdm2.ooov += einsum(delta.oo, (0, 1), tmp20, (2, 3), (0, 2, 1, 3), optimize=True) * -2 + rdm2.ooov += einsum(delta.oo, (0, 1), tmp20, (2, 3), (2, 0, 1, 3), optimize=True) * 2 + rdm2.ooov += einsum(delta.oo, (0, 1), tmp20, (2, 3), (0, 2, 1, 3), optimize=True) * -2 + rdm2.ooov += einsum(delta.oo, (0, 1), tmp20, (2, 3), (2, 0, 1, 3), optimize=True) * 2 + tmp63 = einsum(t2, (0, 1, 2, 3), tmp62, (2, 4), (0, 1, 4, 3), optimize=True) * 2 + tmp64 = einsum(t2, (0, 1, 2, 3), tmp6, (1, 4), (0, 4, 3, 2), optimize=True) + tmp71 = einsum(tmp70, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4), optimize=True) + del tmp70 + tmp27 = einsum(t1, (0, 1), tmp4, (0, 2, 3, 4), (2, 3, 4, 1), optimize=True) + rdm2.oovo += tmp27.transpose((1, 2, 3, 0)) + rdm2.oovo += tmp27.transpose((1, 2, 3, 0)) + rdm2.ooov += tmp27.transpose((2, 1, 0, 3)) + rdm2.ooov += tmp27.transpose((2, 1, 0, 3)) + tmp59 = einsum(tmp4, (0, 1, 2, 3), t2, (0, 1, 4, 5), (2, 3, 4, 5), optimize=True) + del tmp4 + rdm2.oovv += tmp59 + rdm2.oovv += tmp59 + tmp58 = einsum(tmp15, (0, 1, 2, 3), t1, (0, 4), (2, 1, 3, 4), optimize=True) + tmp28 = einsum(tmp17, (0, 1, 2, 3), t2, (0, 1, 4, 3), (2, 4), optimize=True) + del tmp17 + tmp33 = einsum(tmp32, (0, 1), t1, (0, 2), (1, 2), optimize=True) * 2 + tmp39 = tmp2.copy() * -1 + tmp39 += tmp2.transpose((1, 0, 2, 3)) * 2 + tmp42 = einsum(tmp32, (0, 1), t1, (0, 2), (1, 2), optimize=True) + del tmp32 + tmp41 = einsum(l1, (0, 1), tmp29, (1, 2, 0, 3), (2, 3), optimize=True) * 0.5 + tmp30 = einsum(l1, (0, 1), tmp29, (1, 2, 0, 3), (2, 3), optimize=True) + del tmp29 + tmp117 = tmp115.transpose((1, 0, 3, 2)).copy() + del tmp115 + tmp117 += tmp116.transpose((1, 0, 3, 2)) + del tmp116 + rdm2.vvvv += tmp117 + rdm2.vvvv += tmp117.transpose((0, 1, 3, 2)) * -1 + rdm2.vvvv += tmp117 + rdm2.vvvv += tmp117.transpose((0, 1, 3, 2)) * -1 + del tmp117 + tmp111 = tmp100.copy() + tmp111 += einsum(tmp85, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) + del tmp85 + rdm2.vovv += tmp111.transpose((1, 0, 3, 2)) + rdm2.vovv += tmp111.transpose((1, 0, 2, 3)) * -1 + rdm2.vovv += tmp111.transpose((1, 0, 3, 2)) + rdm2.vovv += tmp111.transpose((1, 0, 2, 3)) * -1 del tmp111 - tmp113 += tmp112.transpose((1, 0, 3, 2)) + tmp113 = einsum(t1, (0, 1), tmp112, (0, 2, 3, 4), (2, 3, 4, 1), optimize=True) del tmp112 - rdm2.vvvv += tmp113 - rdm2.vvvv += tmp113.transpose((0, 1, 3, 2)) * -1 - rdm2.vvvv += tmp113 - rdm2.vvvv += tmp113.transpose((0, 1, 3, 2)) * -1 + rdm2.vovv += tmp113.transpose((1, 0, 3, 2)) * -1 + rdm2.vovv += tmp113.transpose((1, 0, 3, 2)) * -1 del tmp113 - tmp100 = einsum(tmp69, (0, 1, 2, 3), t1, (0, 4), (1, 2, 4, 3), optimize=True) - rdm2.vovv += tmp100.transpose((1, 0, 3, 2)) * -1 - rdm2.vovv += tmp100.transpose((1, 0, 3, 2)) * -1 - rdm2.ovvv += tmp100 * -1 - rdm2.ovvv += tmp100 * -1 - del tmp100 - tmp106 = tmp93.copy() - tmp106 += tmp105.transpose((0, 1, 3, 2)) - del tmp105 - rdm2.vovv += tmp106.transpose((1, 0, 3, 2)) - rdm2.vovv += tmp106.transpose((1, 0, 2, 3)) * -1 - rdm2.vovv += tmp106.transpose((1, 0, 3, 2)) - rdm2.vovv += tmp106.transpose((1, 0, 2, 3)) * -1 - del tmp106 - tmp107 = tmp97.copy() - tmp107 += einsum(t1, (0, 1), tmp85, (2, 3), (0, 2, 1, 3), optimize=True) - del tmp85 - rdm2.vovv += tmp107.transpose((1, 0, 3, 2)) - rdm2.vovv += tmp107.transpose((1, 0, 2, 3)) * -1 - rdm2.vovv += tmp107.transpose((1, 0, 3, 2)) - rdm2.vovv += tmp107.transpose((1, 0, 2, 3)) * -1 - del tmp107 - tmp109 = einsum(t1, (0, 1), tmp108, (0, 2, 3, 4), (2, 3, 4, 1), optimize=True) - del tmp108 - rdm2.vovv += tmp109.transpose((1, 0, 3, 2)) * -1 - rdm2.vovv += tmp109.transpose((1, 0, 3, 2)) * -1 + tmp110 = tmp93.copy() + tmp110 += tmp109.transpose((0, 1, 3, 2)) del tmp109 - tmp99 = einsum(tmp87, (0, 1, 2, 3), t1, (0, 4), (1, 2, 4, 3), optimize=True) - del tmp87 + rdm2.vovv += tmp110.transpose((1, 0, 3, 2)) + rdm2.vovv += tmp110.transpose((1, 0, 2, 3)) * -1 + rdm2.vovv += tmp110.transpose((1, 0, 3, 2)) + rdm2.vovv += tmp110.transpose((1, 0, 2, 3)) * -1 + del tmp110 + tmp103 = einsum(t1, (0, 1), tmp68, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) + rdm2.vovv += tmp103.transpose((1, 0, 3, 2)) * -1 + rdm2.vovv += tmp103.transpose((1, 0, 3, 2)) * -1 + rdm2.ovvv += tmp103 * -1 + rdm2.ovvv += tmp103 * -1 + del tmp103 + tmp99 = tmp93.copy() + del tmp93 + tmp99 += einsum(tmp83, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) + tmp99 += tmp98.transpose((0, 1, 3, 2)) * -1 + del tmp98 rdm2.ovvv += tmp99.transpose((0, 1, 3, 2)) * -1 rdm2.ovvv += tmp99 rdm2.ovvv += tmp99.transpose((0, 1, 3, 2)) * -1 rdm2.ovvv += tmp99 del tmp99 - tmp103 = einsum(t1, (0, 1), tmp102, (0, 2, 3, 4), (2, 3, 4, 1), optimize=True) - del tmp102 - rdm2.ovvv += tmp103 * -1 - rdm2.ovvv += tmp103 * -1 - del tmp103 tmp92 = tmp83.copy() * 0.5 - tmp92 += tmp63 - rdm2.ovvv += einsum(t1, (0, 1), tmp92, (2, 3), (0, 2, 1, 3), optimize=True) * 2 - rdm2.ovvv += einsum(t1, (0, 1), tmp92, (2, 3), (0, 2, 1, 3), optimize=True) * 2 - rdm2.vovo += einsum(tmp92, (0, 1), delta.oo, (2, 3), (0, 3, 1, 2), optimize=True) * 2 - rdm2.vovo += einsum(tmp92, (0, 1), delta.oo, (2, 3), (0, 3, 1, 2), optimize=True) * 2 - rdm2.vovo += einsum(tmp92, (0, 1), delta.oo, (2, 3), (0, 3, 1, 2), optimize=True) * 2 - rdm2.vovo += einsum(tmp92, (0, 1), delta.oo, (2, 3), (0, 3, 1, 2), optimize=True) * 2 - del tmp92 - tmp96 = tmp93.copy() - del tmp93 - tmp96 += einsum(tmp83, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) del tmp83 - tmp96 += tmp95.transpose((0, 1, 3, 2)) * -1 - del tmp95 - rdm2.ovvv += tmp96.transpose((0, 1, 3, 2)) * -1 - rdm2.ovvv += tmp96 - rdm2.ovvv += tmp96.transpose((0, 1, 3, 2)) * -1 - rdm2.ovvv += tmp96 - del tmp96 - tmp98 = tmp97.copy() - del tmp97 - tmp98 += einsum(tmp63, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) * 2 - del tmp63 - rdm2.ovvv += tmp98.transpose((0, 1, 3, 2)) * -1 - rdm2.ovvv += tmp98 - rdm2.ovvv += tmp98.transpose((0, 1, 3, 2)) * -1 - rdm2.ovvv += tmp98 - del tmp98 - tmp91 = einsum(t2, (0, 1, 2, 3), tmp54, (0, 4, 3, 5), (4, 1, 5, 2), optimize=True) - del tmp54 + tmp92 += tmp62 + rdm2.ovvv += einsum(tmp92, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) * 2 + rdm2.ovvv += einsum(tmp92, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) * 2 + rdm2.vovo += einsum(delta.oo, (0, 1), tmp92, (2, 3), (2, 0, 3, 1), optimize=True) * 2 + rdm2.vovo += einsum(delta.oo, (0, 1), tmp92, (2, 3), (2, 0, 3, 1), optimize=True) * 2 + rdm2.vovo += einsum(delta.oo, (0, 1), tmp92, (2, 3), (2, 0, 3, 1), optimize=True) * 2 + rdm2.vovo += einsum(delta.oo, (0, 1), tmp92, (2, 3), (2, 0, 3, 1), optimize=True) * 2 + del tmp92 + tmp107 = einsum(t1, (0, 1), tmp106, (0, 2, 3, 4), (2, 3, 4, 1), optimize=True) + del tmp106 + rdm2.ovvv += tmp107 * -1 + rdm2.ovvv += tmp107 * -1 + del tmp107 + tmp102 = einsum(t1, (0, 1), tmp87, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) + del tmp87 + rdm2.ovvv += tmp102.transpose((0, 1, 3, 2)) * -1 + rdm2.ovvv += tmp102 + rdm2.ovvv += tmp102.transpose((0, 1, 3, 2)) * -1 + rdm2.ovvv += tmp102 + del tmp102 + tmp101 = tmp100.copy() + del tmp100 + tmp101 += einsum(tmp62, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) * 2 + del tmp62 + rdm2.ovvv += tmp101.transpose((0, 1, 3, 2)) * -1 + rdm2.ovvv += tmp101 + rdm2.ovvv += tmp101.transpose((0, 1, 3, 2)) * -1 + rdm2.ovvv += tmp101 + del tmp101 + tmp91 = einsum(tmp90, (0, 1, 2, 3), t2, (4, 0, 3, 5), (1, 4, 2, 5), optimize=True) + del tmp90 rdm2.vovo += tmp91.transpose((2, 1, 3, 0)) * -1 rdm2.vovo += tmp91.transpose((2, 1, 3, 0)) * -1 del tmp91 - tmp90 = einsum(t1, (0, 1), tmp10, (2, 0, 3, 4), (2, 3, 4, 1), optimize=True) - del tmp10 - rdm2.vovo += tmp90.transpose((2, 1, 3, 0)) * -1 - rdm2.vovo += tmp90.transpose((2, 1, 3, 0)) * -1 - rdm2.voov += tmp90.transpose((2, 1, 0, 3)) - rdm2.voov += tmp90.transpose((2, 1, 0, 3)) - del tmp90 - tmp89 = einsum(t2, (0, 1, 2, 3), tmp88, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) - del tmp88 - rdm2.vovo += tmp89.transpose((2, 1, 3, 0)) * -1 - rdm2.vovo += tmp89.transpose((2, 1, 3, 0)) * -1 - rdm2.ovvo += tmp89.transpose((1, 2, 3, 0)) - rdm2.ovvo += tmp89.transpose((1, 2, 3, 0)) - del tmp89 - tmp86 = einsum(t1, (0, 1), tmp4, (0, 2, 3, 4), (2, 3, 4, 1), optimize=True) - del tmp4 + tmp86 = einsum(tmp2, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4), optimize=True) + del tmp2 rdm2.vovo += tmp86.transpose((2, 1, 3, 0)) * -1 rdm2.vovo += tmp86.transpose((2, 1, 3, 0)) * -1 rdm2.ovov += tmp86.transpose((1, 2, 0, 3)) * -1 rdm2.ovov += tmp86.transpose((1, 2, 0, 3)) * -1 del tmp86 - tmp82 = einsum(t1, (0, 1), tmp81, (2, 0, 3, 4), (2, 3, 4, 1), optimize=True) + tmp89 = einsum(t1, (0, 1), tmp88, (2, 0, 3, 4), (2, 3, 4, 1), optimize=True) + del tmp88 + rdm2.vovo += tmp89.transpose((2, 1, 3, 0)) * -1 + rdm2.vovo += tmp89.transpose((2, 1, 3, 0)) * -1 + rdm2.voov += tmp89.transpose((2, 1, 0, 3)) + rdm2.voov += tmp89.transpose((2, 1, 0, 3)) + del tmp89 + tmp79 = einsum(tmp78, (0, 1, 2, 3), l2, (4, 3, 0, 5), (1, 5, 2, 4), optimize=True) + del tmp78 + rdm2.voov += tmp79.transpose((3, 0, 1, 2)) * -1 + rdm2.voov += tmp79.transpose((3, 0, 1, 2)) * -1 + rdm2.ovov += tmp79.transpose((0, 3, 1, 2)) + rdm2.ovov += tmp79.transpose((0, 3, 1, 2)) + del tmp79 + tmp81 = einsum(l2, (0, 1, 2, 3), tmp80, (3, 4, 5, 1), (4, 2, 5, 0), optimize=True) + del tmp80 + rdm2.voov += tmp81.transpose((3, 0, 1, 2)) + rdm2.voov += tmp81.transpose((3, 0, 1, 2)) + rdm2.ovov += tmp81.transpose((0, 3, 1, 2)) * -1 + rdm2.ovov += tmp81.transpose((0, 3, 1, 2)) * -1 del tmp81 + tmp82 = einsum(tmp10, (0, 1, 2, 3), t1, (1, 4), (0, 2, 3, 4), optimize=True) + del tmp10 rdm2.ovvo += tmp82.transpose((1, 2, 3, 0)) * -1 rdm2.ovvo += tmp82.transpose((1, 2, 3, 0)) * -1 rdm2.ovov += tmp82.transpose((1, 2, 0, 3)) rdm2.ovov += tmp82.transpose((1, 2, 0, 3)) del tmp82 - tmp68 = einsum(tmp67, (0, 1, 2, 3), t2, (4, 0, 2, 5), (4, 1, 5, 3), optimize=True) - del tmp67 - rdm2.oovv += tmp68 - rdm2.oovv += tmp68 - del tmp68 - tmp66 = tmp64.transpose((1, 0, 3, 2)).copy() - del tmp64 - tmp66 += tmp65.transpose((0, 1, 3, 2)) - del tmp65 - tmp66 += einsum(t1, (0, 1), tmp24, (2, 3), (0, 2, 1, 3), optimize=True) * 2 - del tmp24 - rdm2.oovv += tmp66.transpose((1, 0, 3, 2)) * -1 - rdm2.oovv += tmp66.transpose((1, 0, 2, 3)) - rdm2.oovv += tmp66.transpose((0, 1, 3, 2)) - rdm2.oovv += tmp66 * -1 - rdm2.oovv += tmp66.transpose((1, 0, 3, 2)) * -1 - rdm2.oovv += tmp66 * -1 - rdm2.oovv += tmp66.transpose((1, 0, 3, 2)) * -1 - rdm2.oovv += tmp66 * -1 - rdm2.oovv += tmp66.transpose((1, 0, 3, 2)) * -1 - rdm2.oovv += tmp66.transpose((1, 0, 2, 3)) - rdm2.oovv += tmp66.transpose((0, 1, 3, 2)) - rdm2.oovv += tmp66 * -1 - del tmp66 tmp50 = tmp44.copy() tmp50 += tmp47.transpose((1, 0, 3, 2)) * -1 tmp50 += tmp49.transpose((0, 1, 3, 2)) del tmp49 - tmp50 += einsum(t1, (0, 1), tmp18, (2, 3), (0, 2, 1, 3), optimize=True) * -1 - del tmp18 + tmp50 += einsum(tmp24, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) * -1 + del tmp24 rdm2.oovv += tmp50.transpose((1, 0, 3, 2)) rdm2.oovv += tmp50.transpose((1, 0, 2, 3)) * -1 rdm2.oovv += tmp50.transpose((0, 1, 3, 2)) * -1 @@ -1211,24 +1206,15 @@ def make_rdm2_f(l1=None, l2=None, t1=None, t2=None, **kwargs): rdm2.oovv += tmp50.transpose((0, 1, 3, 2)) * -1 rdm2.oovv += tmp50 del tmp50 - tmp76 = tmp44.copy() + tmp75 = tmp44.copy() del tmp44 - tmp76 += tmp75.transpose((0, 1, 3, 2)) + tmp75 += tmp74.transpose((0, 1, 3, 2)) + del tmp74 + rdm2.oovv += tmp75.transpose((1, 0, 2, 3)) * -1 + rdm2.oovv += tmp75.transpose((0, 1, 3, 2)) * -1 + rdm2.oovv += tmp75.transpose((1, 0, 2, 3)) * -1 + rdm2.oovv += tmp75.transpose((0, 1, 3, 2)) * -1 del tmp75 - rdm2.oovv += tmp76.transpose((1, 0, 2, 3)) * -1 - rdm2.oovv += tmp76.transpose((0, 1, 3, 2)) * -1 - rdm2.oovv += tmp76.transpose((1, 0, 2, 3)) * -1 - rdm2.oovv += tmp76.transpose((0, 1, 3, 2)) * -1 - del tmp76 - tmp61 = tmp58.copy() - del tmp58 - tmp61 += tmp60.transpose((1, 0, 3, 2)) - del tmp60 - rdm2.oovv += tmp61.transpose((0, 1, 3, 2)) * -1 - rdm2.oovv += tmp61 - rdm2.oovv += tmp61.transpose((0, 1, 3, 2)) * -1 - rdm2.oovv += tmp61 - del tmp61 tmp57 = tmp51.copy() del tmp51 tmp57 += tmp53.transpose((1, 0, 3, 2)) * 2 @@ -1240,78 +1226,130 @@ def make_rdm2_f(l1=None, l2=None, t1=None, t2=None, **kwargs): rdm2.oovv += tmp57.transpose((0, 1, 3, 2)) * -1 rdm2.oovv += tmp57 del tmp57 - tmp73 = tmp47.transpose((1, 0, 3, 2)).copy() * -1 - del tmp47 - tmp73 += tmp72.transpose((0, 1, 3, 2)) - del tmp72 - tmp73 += einsum(tmp17, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) - del tmp17 - rdm2.oovv += tmp73.transpose((1, 0, 3, 2)) - rdm2.oovv += tmp73 - rdm2.oovv += tmp73.transpose((1, 0, 3, 2)) - rdm2.oovv += tmp73 - del tmp73 - tmp70 = einsum(tmp69, (0, 1, 2, 3), t2, (4, 0, 2, 5), (4, 1, 5, 3), optimize=True) + tmp69 = einsum(t2, (0, 1, 2, 3), tmp68, (1, 4, 2, 5), (0, 4, 3, 5), optimize=True) + del tmp68 + rdm2.oovv += tmp69.transpose((0, 1, 3, 2)) + rdm2.oovv += tmp69.transpose((0, 1, 3, 2)) del tmp69 - rdm2.oovv += tmp70.transpose((0, 1, 3, 2)) - rdm2.oovv += tmp70.transpose((0, 1, 3, 2)) - del tmp70 + tmp65 = tmp63.transpose((1, 0, 3, 2)).copy() + del tmp63 + tmp65 += tmp64.transpose((0, 1, 3, 2)) + del tmp64 + tmp65 += einsum(tmp20, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) * 2 + del tmp20 + rdm2.oovv += tmp65.transpose((1, 0, 3, 2)) * -1 + rdm2.oovv += tmp65.transpose((1, 0, 2, 3)) + rdm2.oovv += tmp65.transpose((0, 1, 3, 2)) + rdm2.oovv += tmp65 * -1 + rdm2.oovv += tmp65.transpose((1, 0, 3, 2)) * -1 + rdm2.oovv += tmp65 * -1 + rdm2.oovv += tmp65.transpose((1, 0, 3, 2)) * -1 + rdm2.oovv += tmp65 * -1 + rdm2.oovv += tmp65.transpose((1, 0, 3, 2)) * -1 + rdm2.oovv += tmp65.transpose((1, 0, 2, 3)) + rdm2.oovv += tmp65.transpose((0, 1, 3, 2)) + rdm2.oovv += tmp65 * -1 + del tmp65 tmp77 = t1.copy() - tmp77 += tmp15 * -1 - del tmp15 - rdm2.oovv += einsum(tmp77, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) - rdm2.oovv += einsum(tmp77, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) + tmp77 += tmp21 * -1 + del tmp21 + rdm2.oovv += einsum(t1, (0, 1), tmp77, (2, 3), (2, 0, 3, 1), optimize=True) + rdm2.oovv += einsum(t1, (0, 1), tmp77, (2, 3), (2, 0, 3, 1), optimize=True) del tmp77 + tmp72 = tmp47.transpose((1, 0, 3, 2)).copy() * -1 + del tmp47 + tmp72 += tmp71.transpose((0, 1, 3, 2)) + del tmp71 + tmp72 += einsum(tmp23, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) + del tmp23 + rdm2.oovv += tmp72.transpose((1, 0, 3, 2)) + rdm2.oovv += tmp72 + rdm2.oovv += tmp72.transpose((1, 0, 3, 2)) + rdm2.oovv += tmp72 + del tmp72 + tmp76 = einsum(t1, (0, 1), tmp27, (0, 2, 3, 4), (3, 2, 4, 1), optimize=True) + rdm2.oovv += tmp76.transpose((0, 1, 3, 2)) + rdm2.oovv += tmp76.transpose((0, 1, 3, 2)) + del tmp76 + tmp67 = einsum(t2, (0, 1, 2, 3), tmp66, (1, 4, 2, 5), (0, 4, 3, 5), optimize=True) + del tmp66 + rdm2.oovv += tmp67 + rdm2.oovv += tmp67 + del tmp67 + tmp60 = tmp58.copy() + del tmp58 + tmp60 += tmp59 + del tmp59 + rdm2.oovv += tmp60.transpose((0, 1, 3, 2)) * -1 + rdm2.oovv += tmp60 + rdm2.oovv += tmp60.transpose((0, 1, 3, 2)) * -1 + rdm2.oovv += tmp60 + del tmp60 + tmp38 = tmp28.copy() + tmp38 += tmp33 + rdm2.oovo += einsum(delta.oo, (0, 1), tmp38, (2, 3), (0, 2, 3, 1), optimize=True) + rdm2.oovo += einsum(delta.oo, (0, 1), tmp38, (2, 3), (2, 0, 3, 1), optimize=True) * -1 + rdm2.oovo += einsum(delta.oo, (0, 1), tmp38, (2, 3), (0, 2, 3, 1), optimize=True) + rdm2.oovo += einsum(delta.oo, (0, 1), tmp38, (2, 3), (2, 0, 3, 1), optimize=True) * -1 + del tmp38 + tmp40 = einsum(tmp39, (0, 1, 2, 3), t2, (4, 1, 5, 3), (0, 2, 4, 5), optimize=True) + del tmp39 + rdm2.oovo += tmp40.transpose((2, 1, 3, 0)) * -1 + rdm2.oovo += tmp40.transpose((2, 1, 3, 0)) * -1 + del tmp40 + tmp37 = tmp8.copy() + tmp37 += tmp27.transpose((0, 2, 1, 3)) + del tmp27 + tmp37 += einsum(tmp6, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) + rdm2.oovo += tmp37.transpose((2, 1, 3, 0)) + rdm2.oovo += tmp37.transpose((1, 2, 3, 0)) * -1 + rdm2.oovo += tmp37.transpose((2, 1, 3, 0)) + rdm2.oovo += tmp37.transpose((1, 2, 3, 0)) * -1 + del tmp37 tmp43 = t1.copy() * -0.5 - tmp43 += tmp22 - del tmp22 + tmp43 += tmp18 + del tmp18 tmp43 += tmp41 * -1 del tmp41 tmp43 += tmp42 del tmp42 - rdm2.oovo += einsum(tmp43, (0, 1), delta.oo, (2, 3), (0, 3, 1, 2), optimize=True) * -2 - rdm2.oovo += einsum(tmp43, (0, 1), delta.oo, (2, 3), (0, 3, 1, 2), optimize=True) * -2 + rdm2.oovo += einsum(delta.oo, (0, 1), tmp43, (2, 3), (2, 0, 3, 1), optimize=True) * -2 + rdm2.oovo += einsum(delta.oo, (0, 1), tmp43, (2, 3), (2, 0, 3, 1), optimize=True) * -2 del tmp43 - tmp39 = einsum(t1, (0, 1), tmp2, (2, 3), (2, 0, 3, 1), optimize=True) - tmp39 += tmp11 - tmp39 += tmp13 * -1 - rdm2.oovo += tmp39.transpose((2, 1, 3, 0)) - rdm2.oovo += tmp39.transpose((1, 2, 3, 0)) * -1 - rdm2.oovo += tmp39.transpose((2, 1, 3, 0)) - rdm2.oovo += tmp39.transpose((1, 2, 3, 0)) * -1 - del tmp39 - tmp37 = tmp2.copy() - tmp37 += tmp1 - rdm2.oovo += einsum(tmp37, (0, 1), t1, (2, 3), (2, 1, 3, 0), optimize=True) * -1 - rdm2.oovo += einsum(tmp37, (0, 1), t1, (2, 3), (2, 1, 3, 0), optimize=True) * -1 - rdm2.ooov += einsum(tmp37, (0, 1), t1, (2, 3), (1, 2, 0, 3), optimize=True) * -1 - rdm2.ooov += einsum(tmp37, (0, 1), t1, (2, 3), (1, 2, 0, 3), optimize=True) * -1 - del tmp37 - tmp38 = tmp8.copy() - tmp38 += tmp29.transpose((0, 2, 1, 3)) - del tmp29 - tmp38 += einsum(tmp1, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) - rdm2.oovo += tmp38.transpose((2, 1, 3, 0)) - rdm2.oovo += tmp38.transpose((1, 2, 3, 0)) * -1 - rdm2.oovo += tmp38.transpose((2, 1, 3, 0)) - rdm2.oovo += tmp38.transpose((1, 2, 3, 0)) * -1 - del tmp38 - tmp40 = tmp30.copy() - tmp40 += tmp35 - rdm2.oovo += einsum(delta.oo, (0, 1), tmp40, (2, 3), (0, 2, 3, 1), optimize=True) - rdm2.oovo += einsum(tmp40, (0, 1), delta.oo, (2, 3), (0, 3, 1, 2), optimize=True) * -1 - rdm2.oovo += einsum(delta.oo, (0, 1), tmp40, (2, 3), (0, 2, 3, 1), optimize=True) - rdm2.oovo += einsum(tmp40, (0, 1), delta.oo, (2, 3), (0, 3, 1, 2), optimize=True) * -1 - del tmp40 - tmp20 = tmp19.copy() - del tmp19 - tmp20 += einsum(tmp1, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) - del tmp1 - rdm2.ooov += tmp20.transpose((2, 1, 0, 3)) * -1 - rdm2.ooov += tmp20.transpose((1, 2, 0, 3)) - rdm2.ooov += tmp20.transpose((2, 1, 0, 3)) * -1 - rdm2.ooov += tmp20.transpose((1, 2, 0, 3)) - del tmp20 + tmp36 = einsum(tmp0, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) + tmp36 += tmp11 + tmp36 += tmp13 * -1 + rdm2.oovo += tmp36.transpose((2, 1, 3, 0)) + rdm2.oovo += tmp36.transpose((1, 2, 3, 0)) * -1 + rdm2.oovo += tmp36.transpose((2, 1, 3, 0)) + rdm2.oovo += tmp36.transpose((1, 2, 3, 0)) * -1 + del tmp36 + tmp35 = tmp0.copy() + tmp35 += tmp6 + rdm2.oovo += einsum(tmp35, (0, 1), t1, (2, 3), (2, 1, 3, 0), optimize=True) * -1 + rdm2.oovo += einsum(tmp35, (0, 1), t1, (2, 3), (2, 1, 3, 0), optimize=True) * -1 + rdm2.ooov += einsum(tmp35, (0, 1), t1, (2, 3), (1, 2, 0, 3), optimize=True) * -1 + rdm2.ooov += einsum(tmp35, (0, 1), t1, (2, 3), (1, 2, 0, 3), optimize=True) * -1 + del tmp35 + tmp16 = tmp15.copy() + del tmp15 + tmp16 += einsum(tmp6, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) + del tmp6 + rdm2.ooov += tmp16.transpose((2, 1, 0, 3)) * -1 + rdm2.ooov += tmp16.transpose((1, 2, 0, 3)) + rdm2.ooov += tmp16.transpose((2, 1, 0, 3)) * -1 + rdm2.ooov += tmp16.transpose((1, 2, 0, 3)) + del tmp16 + tmp34 = t1.copy() * -1 + tmp34 += tmp28 + del tmp28 + tmp34 += tmp30 * -1 + del tmp30 + tmp34 += tmp33 + del tmp33 + rdm2.ooov += einsum(tmp34, (0, 1), delta.oo, (2, 3), (2, 0, 3, 1), optimize=True) * -1 + rdm2.ooov += einsum(tmp34, (0, 1), delta.oo, (2, 3), (2, 0, 3, 1), optimize=True) * -1 + del tmp34 tmp14 = tmp8.copy() del tmp8 tmp14 += tmp9 @@ -1325,80 +1363,65 @@ def make_rdm2_f(l1=None, l2=None, t1=None, t2=None, **kwargs): rdm2.ooov += tmp14.transpose((2, 1, 0, 3)) * -1 rdm2.ooov += tmp14.transpose((1, 2, 0, 3)) del tmp14 - tmp28 = einsum(tmp27, (0, 1, 2, 3), t2, (0, 4, 3, 5), (1, 2, 4, 5), optimize=True) - del tmp27 - rdm2.ooov += tmp28.transpose((1, 2, 0, 3)) * -1 - rdm2.ooov += tmp28.transpose((1, 2, 0, 3)) * -1 - del tmp28 - tmp36 = t1.copy() * -1 - tmp36 += tmp30 - del tmp30 - tmp36 += tmp32 * -1 - del tmp32 - tmp36 += tmp35 - del tmp35 - rdm2.ooov += einsum(delta.oo, (0, 1), tmp36, (2, 3), (1, 2, 0, 3), optimize=True) * -1 - rdm2.ooov += einsum(delta.oo, (0, 1), tmp36, (2, 3), (1, 2, 0, 3), optimize=True) * -1 - del tmp36 - tmp7 = delta.oo.transpose((1, 0)).copy() - tmp7 += tmp2 * -1 - del tmp2 - rdm2.oooo += einsum(tmp7, (0, 1), delta.oo, (2, 3), (1, 3, 0, 2), optimize=True) - rdm2.oooo += einsum(tmp7, (0, 1), delta.oo, (2, 3), (1, 3, 0, 2), optimize=True) + tmp7 = delta.oo.copy() + tmp7 += tmp0 * -1 + del tmp0 + rdm2.oooo += einsum(delta.oo, (0, 1), tmp7, (2, 3), (3, 0, 2, 1), optimize=True) + rdm2.oooo += einsum(delta.oo, (0, 1), tmp7, (2, 3), (3, 0, 2, 1), optimize=True) del tmp7 - rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (3, 1, 2, 0), optimize=True) - rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (3, 0, 1, 2), optimize=True) * -1 - rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (3, 1, 2, 0), optimize=True) - rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (3, 0, 1, 2), optimize=True) * -1 - rdm2.ooov += einsum(delta.oo, (0, 1), t1, (2, 3), (2, 1, 0, 3), optimize=True) * -1 - rdm2.ooov += einsum(delta.oo, (0, 1), t1, (2, 3), (1, 2, 0, 3), optimize=True) - rdm2.ooov += einsum(delta.oo, (0, 1), t1, (2, 3), (2, 1, 0, 3), optimize=True) * -1 - rdm2.ooov += einsum(delta.oo, (0, 1), t1, (2, 3), (1, 2, 0, 3), optimize=True) - rdm2.oovo += einsum(delta.oo, (0, 1), t1, (2, 3), (2, 1, 3, 0), optimize=True) - rdm2.oovo += einsum(delta.oo, (0, 1), t1, (2, 3), (1, 2, 3, 0), optimize=True) * -1 - rdm2.oovo += einsum(delta.oo, (0, 1), t1, (2, 3), (2, 1, 3, 0), optimize=True) - rdm2.oovo += einsum(delta.oo, (0, 1), t1, (2, 3), (1, 2, 3, 0), optimize=True) * -1 - rdm2.ovoo += einsum(l1, (0, 1), delta.oo, (2, 3), (3, 0, 1, 2), optimize=True) * -1 - rdm2.ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (1, 2, 0, 3), optimize=True) - rdm2.ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (1, 2, 0, 3), optimize=True) - rdm2.ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (1, 2, 0, 3), optimize=True) - rdm2.ovoo += einsum(l1, (0, 1), delta.oo, (2, 3), (3, 0, 1, 2), optimize=True) * -1 - rdm2.ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (1, 2, 0, 3), optimize=True) - rdm2.vooo += einsum(l1, (0, 1), delta.oo, (2, 3), (0, 3, 1, 2), optimize=True) - rdm2.vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 1, 0, 3), optimize=True) * -1 - rdm2.vooo += einsum(l1, (0, 1), delta.oo, (2, 3), (0, 3, 1, 2), optimize=True) - rdm2.vooo += einsum(l1, (0, 1), delta.oo, (2, 3), (0, 3, 1, 2), optimize=True) - rdm2.vooo += einsum(l1, (0, 1), delta.oo, (2, 3), (0, 3, 1, 2), optimize=True) - rdm2.vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 1, 0, 3), optimize=True) * -1 + rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (2, 0, 3, 1), optimize=True) + rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (2, 0, 1, 3), optimize=True) * -1 + rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (2, 0, 3, 1), optimize=True) + rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (2, 0, 1, 3), optimize=True) * -1 + rdm2.ooov += einsum(delta.oo, (0, 1), t1, (2, 3), (2, 0, 1, 3), optimize=True) * -1 + rdm2.ooov += einsum(delta.oo, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) + rdm2.ooov += einsum(delta.oo, (0, 1), t1, (2, 3), (2, 0, 1, 3), optimize=True) * -1 + rdm2.ooov += einsum(delta.oo, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) + rdm2.oovo += einsum(delta.oo, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) + rdm2.oovo += einsum(delta.oo, (0, 1), t1, (2, 3), (0, 2, 3, 1), optimize=True) * -1 + rdm2.oovo += einsum(delta.oo, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) + rdm2.oovo += einsum(delta.oo, (0, 1), t1, (2, 3), (0, 2, 3, 1), optimize=True) * -1 + rdm2.ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (0, 2, 3, 1), optimize=True) * -1 + rdm2.ovoo += einsum(l1, (0, 1), delta.oo, (2, 3), (2, 0, 3, 1), optimize=True) + rdm2.ovoo += einsum(l1, (0, 1), delta.oo, (2, 3), (2, 0, 3, 1), optimize=True) + rdm2.ovoo += einsum(l1, (0, 1), delta.oo, (2, 3), (2, 0, 3, 1), optimize=True) + rdm2.ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (0, 2, 3, 1), optimize=True) * -1 + rdm2.ovoo += einsum(l1, (0, 1), delta.oo, (2, 3), (2, 0, 3, 1), optimize=True) + rdm2.vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 0, 3, 1), optimize=True) + rdm2.vooo += einsum(l1, (0, 1), delta.oo, (2, 3), (0, 2, 3, 1), optimize=True) * -1 + rdm2.vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 0, 3, 1), optimize=True) + rdm2.vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 0, 3, 1), optimize=True) + rdm2.vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 0, 3, 1), optimize=True) + rdm2.vooo += einsum(l1, (0, 1), delta.oo, (2, 3), (0, 2, 3, 1), optimize=True) * -1 del delta - rdm2.oovv += t2.transpose((1, 0, 2, 3)) * -1 - rdm2.oovv += t2.transpose((1, 0, 3, 2)) + rdm2.oovv += t2.transpose((0, 1, 3, 2)) * -1 + rdm2.oovv += t2 rdm2.oovv += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 3, 1), optimize=True) * -1 - rdm2.oovv += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) - rdm2.oovv += t2.transpose((1, 0, 3, 2)) - rdm2.oovv += t2.transpose((1, 0, 3, 2)) - rdm2.oovv += t2.transpose((1, 0, 2, 3)) * -1 - rdm2.oovv += t2.transpose((1, 0, 3, 2)) + rdm2.oovv += einsum(t1, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) + rdm2.oovv += t2 + rdm2.oovv += t2 + rdm2.oovv += t2.transpose((0, 1, 3, 2)) * -1 + rdm2.oovv += t2 rdm2.oovv += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 3, 1), optimize=True) * -1 - rdm2.oovv += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) - rdm2.ovov += einsum(l1, (0, 1), t1, (2, 3), (2, 0, 1, 3), optimize=True) * -1 - rdm2.ovov += einsum(l1, (0, 1), t1, (2, 3), (2, 0, 1, 3), optimize=True) * -1 - rdm2.ovvo += einsum(l1, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) - rdm2.ovvo += einsum(l1, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) - rdm2.ovvo += einsum(l1, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) - rdm2.ovvo += einsum(l1, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) - rdm2.voov += einsum(l1, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) - rdm2.voov += einsum(l1, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) - rdm2.voov += einsum(l1, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) - rdm2.voov += einsum(l1, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) - rdm2.vovo += einsum(l1, (0, 1), t1, (2, 3), (0, 2, 3, 1), optimize=True) * -1 - rdm2.vovo += einsum(l1, (0, 1), t1, (2, 3), (0, 2, 3, 1), optimize=True) * -1 + rdm2.oovv += einsum(t1, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) + rdm2.ovov += einsum(t1, (0, 1), l1, (2, 3), (0, 2, 3, 1), optimize=True) * -1 + rdm2.ovov += einsum(t1, (0, 1), l1, (2, 3), (0, 2, 3, 1), optimize=True) * -1 + rdm2.ovvo += einsum(t1, (0, 1), l1, (2, 3), (0, 2, 1, 3), optimize=True) + rdm2.ovvo += einsum(t1, (0, 1), l1, (2, 3), (0, 2, 1, 3), optimize=True) + rdm2.ovvo += einsum(t1, (0, 1), l1, (2, 3), (0, 2, 1, 3), optimize=True) + rdm2.ovvo += einsum(t1, (0, 1), l1, (2, 3), (0, 2, 1, 3), optimize=True) + rdm2.voov += einsum(t1, (0, 1), l1, (2, 3), (2, 0, 3, 1), optimize=True) + rdm2.voov += einsum(t1, (0, 1), l1, (2, 3), (2, 0, 3, 1), optimize=True) + rdm2.voov += einsum(t1, (0, 1), l1, (2, 3), (2, 0, 3, 1), optimize=True) + rdm2.voov += einsum(t1, (0, 1), l1, (2, 3), (2, 0, 3, 1), optimize=True) + rdm2.vovo += einsum(t1, (0, 1), l1, (2, 3), (2, 0, 1, 3), optimize=True) * -1 + rdm2.vovo += einsum(t1, (0, 1), l1, (2, 3), (2, 0, 1, 3), optimize=True) * -1 rdm2.vvoo = l2.transpose((0, 1, 3, 2)).copy() * -1 - rdm2.vvoo += l2.transpose((1, 0, 3, 2)) - rdm2.vvoo += l2.transpose((1, 0, 3, 2)) - rdm2.vvoo += l2.transpose((1, 0, 3, 2)) + rdm2.vvoo += l2 + rdm2.vvoo += l2 + rdm2.vvoo += l2 rdm2.vvoo += l2.transpose((0, 1, 3, 2)) * -1 - rdm2.vvoo += l2.transpose((1, 0, 3, 2)) + rdm2.vvoo += l2 rdm2 = pack_2e(rdm2.oooo, rdm2.ooov, rdm2.oovo, rdm2.ovoo, rdm2.vooo, rdm2.oovv, rdm2.ovov, rdm2.ovvo, rdm2.voov, rdm2.vovo, rdm2.vvoo, rdm2.ovvv, rdm2.vovv, rdm2.vvov, rdm2.vvvo, rdm2.vvvv) rdm2 = rdm2.swapaxes(1, 2) diff --git a/ebcc/codegen/UCCSD.py b/ebcc/codegen/UCCSD.py index ab1bd190..f5887b85 100644 --- a/ebcc/codegen/UCCSD.py +++ b/ebcc/codegen/UCCSD.py @@ -2,7 +2,7 @@ Code generated by `albert`: https://github.com/obackhouse/albert - * date: 2024-07-18T20:17:31.131668 + * date: 2024-07-22T16:59:00.222254 * python version: 3.10.12 (main, Mar 22 2024, 16:50:05) [GCC 11.4.0] * albert version: 0.0.0 * caller: /home/ollie/git/albert/albert/codegen/einsum.py @@ -18,7 +18,7 @@ def energy(f=None, t1=None, t2=None, v=None, **kwargs): """ - Code generated by `albert` 0.0.0 on 2024-07-18T20:17:31.922083. + Code generated by `albert` 0.0.0 on 2024-07-22T16:59:00.890276. Parameters ---------- @@ -37,30 +37,30 @@ def energy(f=None, t1=None, t2=None, v=None, **kwargs): Coupled cluster energy. """ - tmp0 = v.aaaa.ovov.transpose((2, 0, 1, 3)).copy() - tmp0 += v.aaaa.ovov.transpose((2, 0, 3, 1)) * -1 - tmp2 = v.bbbb.ovov.transpose((2, 0, 1, 3)).copy() * -1 - tmp2 += v.bbbb.ovov.transpose((2, 0, 3, 1)) - tmp1 = f.aa.ov.copy() - tmp1 += einsum(v.aabb.ovov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1), optimize=True) - tmp1 += einsum(t1.aa, (0, 1), tmp0, (0, 2, 1, 3), (2, 3), optimize=True) * -0.5 - del tmp0 - e_cc = einsum(t1.aa, (0, 1), tmp1, (0, 1), (), optimize=True) - del tmp1 - tmp3 = f.bb.ov.copy() * 2 - tmp3 += einsum(tmp2, (0, 1, 2, 3), t1.bb, (0, 3), (1, 2), optimize=True) * -1 + tmp2 = v.bbbb.ovov.transpose((0, 2, 3, 1)).copy() * -1 + tmp2 += v.bbbb.ovov.transpose((0, 2, 1, 3)) + tmp0 = v.aaaa.ovov.transpose((0, 2, 3, 1)).copy() * -1 + tmp0 += v.aaaa.ovov.transpose((0, 2, 1, 3)) + tmp3 = f.bb.ov.copy() + tmp3 += einsum(t1.bb, (0, 1), tmp2, (0, 2, 3, 1), (2, 3), optimize=True) * -0.5 del tmp2 - e_cc += einsum(tmp3, (0, 1), t1.bb, (0, 1), (), optimize=True) * 0.5 + e_cc = einsum(tmp3, (0, 1), t1.bb, (0, 1), (), optimize=True) del tmp3 - e_cc += einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 2, 1, 3), (), optimize=True) - e_cc += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (0, 2, 1, 3), (), optimize=True) - e_cc += einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (0, 2, 1, 3), (), optimize=True) + tmp1 = f.aa.ov.copy() * 2 + tmp1 += einsum(v.aabb.ovov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1), optimize=True) * 2 + tmp1 += einsum(tmp0, (0, 1, 2, 3), t1.aa, (0, 3), (1, 2), optimize=True) * -1 + del tmp0 + e_cc += einsum(t1.aa, (0, 1), tmp1, (0, 1), (), optimize=True) * 0.5 + del tmp1 + e_cc += einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.aaaa, (0, 2, 1, 3), (), optimize=True) + e_cc += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 1, 3), (), optimize=True) + e_cc += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (0, 3, 1, 2), (), optimize=True) * -1 return e_cc def update_amps(f=None, t1=None, t2=None, v=None, **kwargs): """ - Code generated by `albert` 0.0.0 on 2024-07-18T20:18:08.892646. + Code generated by `albert` 0.0.0 on 2024-07-22T16:59:30.814708. Parameters ---------- @@ -83,709 +83,720 @@ def update_amps(f=None, t1=None, t2=None, v=None, **kwargs): t1new = Namespace() t2new = Namespace() - tmp37 = v.bbbb.ovov.transpose((2, 0, 1, 3)).copy() * -1 - tmp37 += v.bbbb.ovov.transpose((2, 0, 3, 1)) - tmp20 = v.aaaa.ovov.transpose((2, 0, 1, 3)).copy() - tmp20 += v.aaaa.ovov.transpose((2, 0, 3, 1)) * -1 - tmp11 = v.bbbb.ovov.transpose((2, 0, 1, 3)).copy() * -1 - tmp11 += v.bbbb.ovov.transpose((2, 0, 3, 1)) - tmp28 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t1.bb, (4, 3), (4, 0, 2, 1), optimize=True) + tmp37 = v.bbbb.ovov.transpose((0, 2, 3, 1)).copy() * -1 + tmp37 += v.bbbb.ovov.transpose((0, 2, 1, 3)) + tmp20 = v.aaaa.ovov.transpose((0, 2, 3, 1)).copy() * -1 + tmp20 += v.aaaa.ovov.transpose((0, 2, 1, 3)) + tmp11 = v.bbbb.ovov.transpose((0, 2, 3, 1)).copy() * -1 + tmp11 += v.bbbb.ovov.transpose((0, 2, 1, 3)) tmp10 = einsum(t1.aa, (0, 1), v.aabb.ovov, (0, 1, 2, 3), (2, 3), optimize=True) t1new.bb = tmp10.copy() - tmp38 = einsum(tmp37, (0, 1, 2, 3), t1.bb, (0, 3), (1, 2), optimize=True) - tmp1 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 2, 1), optimize=True) - tmp21 = einsum(t1.aa, (0, 1), tmp20, (0, 2, 1, 3), (2, 3), optimize=True) + tmp38 = einsum(t1.bb, (0, 1), tmp37, (0, 2, 3, 1), (2, 3), optimize=True) + del tmp37 + tmp28 = einsum(t1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 1), (0, 2, 4, 3), optimize=True) + tmp3 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 2, 1), optimize=True) tmp0 = einsum(v.aabb.ovov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1), optimize=True) t1new.aa = tmp0.copy() - tmp12 = einsum(tmp11, (0, 1, 2, 3), t1.bb, (0, 3), (1, 2), optimize=True) + tmp21 = einsum(tmp20, (0, 1, 2, 3), t1.aa, (0, 3), (1, 2), optimize=True) + del tmp20 + tmp12 = einsum(t1.bb, (0, 1), tmp11, (0, 2, 3, 1), (2, 3), optimize=True) tmp177 = einsum(v.bbbb.ooov, (0, 1, 2, 3), t1.bb, (4, 3), (4, 0, 1, 2), optimize=True) - tmp151 = tmp28.copy() * -1 - tmp151 += tmp28.transpose((0, 2, 1, 3)) - tmp175 = v.bbbb.ovvv.transpose((0, 1, 3, 2)).copy() * -1 - tmp175 += v.bbbb.ovvv.transpose((0, 3, 1, 2)) - tmp142 = v.bbbb.ooov.transpose((1, 0, 2, 3)).copy() - tmp142 += v.bbbb.ooov.transpose((1, 2, 0, 3)) * -1 - tmp26 = einsum(v.aabb.ovov, (0, 1, 2, 3), t1.bb, (4, 3), (0, 4, 2, 1), optimize=True) tmp39 = f.bb.ov.copy() tmp39 += tmp10 tmp39 += tmp38 * -1 del tmp38 - tmp87 = tmp1.copy() * -1 - tmp87 += tmp1.transpose((0, 2, 1, 3)) - tmp80 = v.aaaa.ovvv.transpose((0, 1, 3, 2)).copy() - tmp80 += v.aaaa.ovvv.transpose((0, 3, 1, 2)) * -1 - tmp7 = v.aaaa.ovov.transpose((2, 0, 1, 3)).copy() - tmp7 += v.aaaa.ovov.transpose((2, 0, 3, 1)) * -1 + tmp152 = tmp28.copy() + tmp152 += tmp28.transpose((0, 2, 1, 3)) * -1 + tmp189 = v.bbbb.ovvv.copy() * -1 + tmp189 += v.bbbb.ovvv.transpose((0, 2, 1, 3)) + tmp26 = einsum(v.aabb.ovov, (0, 1, 2, 3), t1.bb, (4, 3), (0, 4, 2, 1), optimize=True) + tmp191 = v.bbbb.ooov.copy() * -1 + tmp191 += v.bbbb.ovoo.transpose((0, 2, 3, 1)) + tmp94 = v.aaaa.ooov.copy() * -1 + tmp94 += v.aaaa.ovoo.transpose((0, 2, 3, 1)) + tmp68 = v.aaaa.ovvv.copy() * -1 + tmp68 += v.aaaa.ovvv.transpose((0, 2, 1, 3)) + tmp90 = tmp3.copy() + tmp90 += tmp3.transpose((0, 2, 1, 3)) * -1 + tmp1 = einsum(t1.aa, (0, 1), v.aabb.ovov, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) tmp22 = f.aa.ov.copy() tmp22 += tmp0 tmp22 += tmp21 * -1 del tmp21 - tmp91 = v.aaaa.ooov.transpose((1, 0, 2, 3)).copy() * -1 - tmp91 += v.aaaa.ooov.transpose((2, 1, 0, 3)) - tmp68 = einsum(v.aaaa.ooov, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 1, 2), optimize=True) - tmp3 = einsum(t1.aa, (0, 1), v.aabb.ovov, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) - tmp202 = einsum(t1.bb, (0, 1), tmp28, (2, 3, 4, 1), (2, 0, 4, 3), optimize=True) + tmp70 = einsum(t1.aa, (0, 1), v.aaaa.ooov, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) + tmp7 = v.aaaa.ovov.transpose((0, 2, 3, 1)).copy() * -1 + tmp7 += v.aaaa.ovov.transpose((0, 2, 1, 3)) + tmp203 = einsum(tmp28, (0, 1, 2, 3), t1.bb, (4, 3), (0, 4, 2, 1), optimize=True) tmp13 = f.bb.ov.copy() tmp13 += tmp10 del tmp10 tmp13 += tmp12 * -1 del tmp12 - t1new.bb += einsum(t2.bbbb, (0, 1, 2, 3), tmp13, (0, 2), (1, 3), optimize=True) * 2 - t1new.aa += einsum(tmp13, (0, 1), t2.abab, (2, 0, 3, 1), (2, 3), optimize=True) - tmp188 = einsum(t1.bb, (0, 1), v.bbbb.ovvv, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) - t2new.bbbb = tmp188.transpose((1, 0, 3, 2)).copy() * -1 - t2new.bbbb += tmp188.transpose((0, 1, 3, 2)) - t2new.bbbb += tmp188 * -1 - t2new.bbbb += tmp188.transpose((1, 0, 2, 3)) - tmp180 = einsum(t1.bb, (0, 1), tmp177, (2, 3, 4, 0), (2, 4, 3, 1), optimize=True) - tmp179 = einsum(v.bbbb.oovv, (0, 1, 2, 3), t1.bb, (4, 3), (4, 0, 1, 2), optimize=True) - tmp152 = einsum(tmp151, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 4, 3), optimize=True) - del tmp151 - tmp190 = einsum(t1.bb, (0, 1), tmp175, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) - tmp35 = v.bbbb.ooov.transpose((1, 0, 2, 3)).copy() * -1 - tmp35 += v.bbbb.ooov.transpose((1, 2, 0, 3)) - tmp143 = einsum(tmp142, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 4, 3), optimize=True) - del tmp142 - tmp134 = v.aabb.ovoo.transpose((0, 3, 2, 1)).copy() - tmp134 += tmp26.transpose((0, 2, 1, 3)) - tmp33 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 4, 1, 3), (4, 2), optimize=True) - tmp34 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (1, 2, 4, 3), (0, 4), optimize=True) * -1 - tmp183 = einsum(tmp39, (0, 1), t1.bb, (2, 1), (2, 0), optimize=True) * 0.5 - tmp154 = einsum(t1.bb, (0, 1), tmp26, (2, 3, 0, 4), (2, 3, 4, 1), optimize=True) - tmp130 = einsum(v.aabb.ovvv, (0, 1, 2, 3), t1.bb, (4, 3), (0, 4, 1, 2), optimize=True) - t2new.abab = tmp130.copy() - tmp56 = v.aaaa.ooov.transpose((1, 0, 2, 3)).copy() - tmp56 += v.aaaa.ooov.transpose((2, 1, 0, 3)) * -1 - tmp62 = v.aaaa.ovvv.transpose((0, 1, 3, 2)).copy() - tmp62 += v.aaaa.ovvv.transpose((0, 3, 2, 1)) * -1 - tmp88 = einsum(tmp87, (0, 1, 2, 3), t1.aa, (2, 4), (0, 1, 4, 3), optimize=True) - del tmp87 - tmp81 = einsum(t1.aa, (0, 1), tmp80, (2, 3, 1, 4), (0, 2, 3, 4), optimize=True) - del tmp80 - tmp50 = v.bbbb.ovov.transpose((2, 0, 1, 3)).copy() - tmp50 += v.bbbb.ovov.transpose((2, 0, 3, 1)) * -1 - tmp8 = einsum(t1.aa, (0, 1), tmp7, (0, 2, 1, 3), (2, 3), optimize=True) - tmp100 = einsum(tmp1, (0, 1, 2, 3), t1.aa, (4, 3), (0, 4, 2, 1), optimize=True) + t1new.bb += einsum(t2.bbbb, (0, 1, 2, 3), tmp13, (1, 3), (0, 2), optimize=True) * 2 + t1new.aa += einsum(t2.abab, (0, 1, 2, 3), tmp13, (1, 3), (0, 2), optimize=True) + tmp179 = einsum(t1.bb, (0, 1), v.bbbb.oovv, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) + tmp180 = einsum(tmp177, (0, 1, 2, 3), t1.bb, (3, 4), (0, 2, 1, 4), optimize=True) + tmp40 = einsum(tmp39, (0, 1), t1.bb, (2, 1), (2, 0), optimize=True) + tmp33 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 3), (1, 4), optimize=True) + tmp34 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (4, 2, 3, 1), (4, 0), optimize=True) * -1 + tmp153 = einsum(t1.bb, (0, 1), tmp152, (2, 0, 3, 4), (2, 3, 1, 4), optimize=True) + del tmp152 + tmp190 = einsum(tmp189, (0, 1, 2, 3), t1.bb, (4, 1), (4, 0, 2, 3), optimize=True) + del tmp189 + tmp137 = v.aabb.ovoo.transpose((0, 2, 3, 1)).copy() + tmp137 += tmp26.transpose((0, 2, 1, 3)) + tmp35 = v.bbbb.ooov.copy() + tmp35 += v.bbbb.ovoo.transpose((0, 2, 3, 1)) * -1 + tmp187 = einsum(v.bbbb.ovvv, (0, 1, 2, 3), t1.bb, (4, 3), (4, 0, 1, 2), optimize=True) + t2new.bbbb = tmp187.transpose((1, 0, 3, 2)).copy() * -1 + t2new.bbbb += tmp187.transpose((0, 1, 3, 2)) + t2new.bbbb += tmp187 * -1 + t2new.bbbb += tmp187.transpose((1, 0, 2, 3)) + tmp133 = einsum(t1.bb, (0, 1), v.aabb.ovvv, (2, 3, 4, 1), (2, 0, 3, 4), optimize=True) + t2new.abab = tmp133.copy() + tmp155 = einsum(tmp26, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 3, 4), optimize=True) + tmp192 = einsum(t1.bb, (0, 1), tmp191, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) + del tmp191 + tmp64 = v.aaaa.ovvv.copy() * -1 + tmp64 += v.aaaa.ovvv.transpose((0, 2, 1, 3)) + tmp58 = v.aaaa.ooov.copy() * -1 + tmp58 += v.aaaa.ooov.transpose((0, 2, 1, 3)) + tmp18 = v.aaaa.ooov.copy() * -1 + tmp18 += v.aaaa.ooov.transpose((0, 2, 1, 3)) + tmp103 = einsum(t1.aa, (0, 1), tmp3, (2, 3, 4, 1), (2, 0, 4, 3), optimize=True) + tmp95 = einsum(t1.aa, (0, 1), tmp94, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) + del tmp94 + tmp52 = v.bbbb.ovov.transpose((0, 2, 3, 1)).copy() + tmp52 += v.bbbb.ovov.transpose((0, 2, 1, 3)) * -1 + tmp83 = einsum(t1.aa, (0, 1), tmp68, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) + tmp91 = einsum(t1.aa, (0, 1), tmp90, (2, 0, 3, 4), (2, 3, 1, 4), optimize=True) + del tmp90 + tmp86 = einsum(t1.aa, (0, 1), v.aabb.vvov, (2, 1, 3, 4), (0, 3, 2, 4), optimize=True) + tmp98 = einsum(t1.aa, (0, 1), tmp1, (2, 0, 3, 4), (2, 3, 1, 4), optimize=True) + t2new.abab += tmp98 * -1 + tmp80 = einsum(t1.aa, (0, 1), v.aaaa.ovvv, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) + t2new.aaaa = tmp80.transpose((1, 0, 3, 2)).copy() * -1 + t2new.aaaa += tmp80.transpose((0, 1, 3, 2)) + t2new.aaaa += tmp80 * -1 + t2new.aaaa += tmp80.transpose((1, 0, 2, 3)) + tmp17 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 1, 3), (0, 4), optimize=True) tmp23 = einsum(tmp22, (0, 1), t1.aa, (2, 1), (2, 0), optimize=True) - tmp16 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (1, 2, 4, 3), (0, 4), optimize=True) * -1 - tmp17 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 1, 3), (4, 0), optimize=True) - tmp92 = einsum(tmp91, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3), optimize=True) - del tmp91 - tmp18 = v.aaaa.ooov.transpose((1, 0, 2, 3)).copy() - tmp18 += v.aaaa.ooov.transpose((2, 1, 0, 3)) * -1 - tmp70 = einsum(v.aaaa.oovv, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 1, 2), optimize=True) - tmp71 = einsum(t1.aa, (0, 1), tmp68, (2, 3, 4, 0), (2, 4, 3, 1), optimize=True) - tmp78 = einsum(t1.aa, (0, 1), v.aaaa.ovvv, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) - t2new.aaaa = tmp78.transpose((1, 0, 3, 2)).copy() * -1 - t2new.aaaa += tmp78.transpose((0, 1, 3, 2)) - t2new.aaaa += tmp78 * -1 - t2new.aaaa += tmp78.transpose((1, 0, 2, 3)) - tmp83 = einsum(v.bbaa.ovvv, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 2, 1), optimize=True) - tmp95 = einsum(tmp3, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 4, 3), optimize=True) - t2new.abab += tmp95 * -1 - tmp191 = v.bbbb.ooov.transpose((1, 0, 2, 3)).copy() * -1 - tmp191 += v.bbbb.ooov.transpose((2, 1, 0, 3)) - tmp189 = t2.bbbb.transpose((1, 0, 3, 2)).copy() * 2 - tmp189 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (2, 0, 1, 3), optimize=True) * -1 - tmp118 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (0, 3, 1, 4), (2, 4), optimize=True) * -1 - tmp117 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 2, 1, 4), (4, 3), optimize=True) - tmp206 = einsum(t1.bb, (0, 1), tmp202, (2, 3, 0, 4), (3, 2, 4, 1), optimize=True) - tmp121 = einsum(t1.aa, (0, 1), v.aabb.ovvv, (0, 1, 2, 3), (2, 3), optimize=True) - tmp123 = einsum(t1.bb, (0, 1), tmp13, (0, 2), (1, 2), optimize=True) + tmp16 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 2, 1, 3), (0, 4), optimize=True) + tmp73 = einsum(tmp70, (0, 1, 2, 3), t1.aa, (3, 4), (0, 2, 1, 4), optimize=True) + tmp72 = einsum(v.aaaa.oovv, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 1, 2), optimize=True) + tmp8 = einsum(tmp7, (0, 1, 2, 3), t1.aa, (0, 3), (1, 2), optimize=True) + tmp209 = einsum(tmp203, (0, 1, 2, 3), t1.bb, (2, 4), (1, 0, 3, 4), optimize=True) + tmp169 = v.bbbb.ooov.copy() + tmp169 += v.bbbb.ovoo.transpose((0, 2, 3, 1)) * -1 + tmp32 = einsum(t1.aa, (0, 1), v.aabb.ovoo, (0, 1, 2, 3), (2, 3), optimize=True) + tmp120 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 1, 4), (3, 4), optimize=True) + tmp121 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (0, 2, 4, 3), (4, 1), optimize=True) + tmp188 = t2.bbbb.copy() * 2 + tmp188 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1), optimize=True) * -1 + tmp151 = v.bbbb.ovvv.copy() + tmp151 += v.bbbb.ovvv.transpose((0, 2, 3, 1)) * -1 + tmp126 = einsum(tmp13, (0, 1), t1.bb, (0, 2), (2, 1), optimize=True) del tmp13 - tmp163 = v.bbbb.ooov.transpose((1, 0, 2, 3)).copy() * -1 - tmp163 += v.bbbb.ooov.transpose((2, 1, 0, 3)) - tmp208 = einsum(v.bbbb.vvvv, (0, 1, 2, 3), t1.bb, (4, 1), (4, 2, 3, 0), optimize=True) - tmp204 = einsum(tmp188, (0, 1, 2, 3), t1.bb, (4, 2), (4, 0, 1, 3), optimize=True) - del tmp188 + tmp124 = einsum(t1.aa, (0, 1), v.aabb.ovvv, (0, 1, 2, 3), (2, 3), optimize=True) + tmp123 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.bbbb, (4, 2, 5, 3), (0, 4, 1, 5), optimize=True) + t2new.abab += tmp123 * 2 + tmp146 = einsum(t1.bb, (0, 1), v.aabb.ovoo, (2, 3, 4, 0), (2, 4, 3, 1), optimize=True) + tmp167 = einsum(tmp7, (0, 1, 2, 3), t2.abab, (0, 4, 3, 5), (1, 4, 2, 5), optimize=True) tmp181 = tmp179.transpose((0, 2, 1, 3)).copy() tmp181 += tmp180.transpose((0, 2, 1, 3)) * -1 - tmp210 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (4, 5, 1, 3), (4, 5, 0, 2), optimize=True) - tmp200 = einsum(v.aabb.ovoo, (0, 1, 2, 3), t2.abab, (0, 4, 1, 5), (4, 2, 3, 5), optimize=True) - t2new.bbbb += einsum(t1.bb, (0, 1), tmp200, (2, 3, 0, 4), (3, 2, 4, 1), optimize=True) - tmp168 = v.bbbb.ooov.transpose((1, 0, 2, 3)).copy() * -1 - tmp168 += v.bbbb.ooov.transpose((1, 2, 0, 3)) - tmp32 = einsum(t1.aa, (0, 1), v.aabb.ovoo, (0, 1, 2, 3), (2, 3), optimize=True) - tmp195 = tmp190.transpose((0, 1, 3, 2)).copy() * -1 - tmp195 += tmp152 * -1 - tmp36 = einsum(tmp35, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1), optimize=True) + tmp164 = v.bbbb.ovov.transpose((0, 2, 3, 1)).copy() + tmp164 += v.bbbb.ovov.transpose((0, 2, 1, 3)) * -1 + tmp165 = v.bbbb.ooov.copy() * -1 + tmp165 += v.bbbb.ovoo.transpose((0, 2, 3, 1)) + tmp213 = v.bbbb.ovvv.copy() + tmp213 += einsum(t1.bb, (0, 1), v.bbbb.ovov, (2, 3, 0, 4), (2, 4, 1, 3), optimize=True) + tmp174 = v.bbbb.ovvv.copy() + tmp174 += v.bbbb.ovvv.transpose((0, 2, 3, 1)) * -1 + tmp183 = tmp33.copy() + tmp183 += tmp34 * 2 + tmp183 += tmp40 + tmp196 = tmp190.transpose((0, 1, 3, 2)).copy() * -1 + tmp196 += tmp153 * -1 + tmp201 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovoo, (0, 2, 4, 5), (1, 4, 5, 3), optimize=True) + t2new.bbbb += einsum(tmp201, (0, 1, 2, 3), t1.bb, (2, 4), (1, 0, 3, 4), optimize=True) + tmp138 = einsum(tmp137, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 3, 4), optimize=True) + del tmp137 + t2new.abab += tmp138 * -1 + tmp211 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 2, 5, 3), (0, 1, 4, 5), optimize=True) + tmp36 = einsum(t1.bb, (0, 1), tmp35, (0, 2, 3, 1), (2, 3), optimize=True) del tmp35 - tmp173 = v.bbbb.ovvv.transpose((0, 1, 3, 2)).copy() * -1 - tmp173 += v.bbbb.ovvv.transpose((0, 3, 1, 2)) - tmp197 = v.bbbb.oovv.transpose((1, 0, 3, 2)).copy() - tmp197 += tmp143.transpose((1, 0, 2, 3)) * -1 - tmp165 = einsum(tmp7, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) - tmp135 = einsum(tmp134, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 3, 4), optimize=True) - del tmp134 - t2new.abab += tmp135 * -1 - tmp120 = einsum(t2.bbbb, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (4, 0, 5, 2), optimize=True) - t2new.abab += tmp120 * 2 - tmp184 = tmp33.copy() * 0.5 - tmp184 += tmp34 - tmp184 += tmp183 - del tmp183 - tmp212 = v.bbbb.ovvv.transpose((0, 1, 3, 2)).copy() - tmp212 += einsum(t1.bb, (0, 1), v.bbbb.ovov, (2, 3, 0, 4), (2, 4, 3, 1), optimize=True) - tmp155 = tmp130.copy() - tmp155 += tmp154 * -1 - t2new.abab += einsum(tmp155, (0, 1, 2, 3), t2.aaaa, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) * 2 - tmp145 = einsum(v.aabb.ovoo, (0, 1, 2, 3), t1.bb, (3, 4), (0, 2, 1, 4), optimize=True) - tmp49 = einsum(v.aabb.ooov, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 4, 3), optimize=True) - t2new.abab += tmp49 * -1 - tmp150 = v.bbbb.ovvv.transpose((0, 1, 3, 2)).copy() - tmp150 += v.bbbb.ovvv.transpose((0, 3, 2, 1)) * -1 - tmp5 = t2.abab.copy() - tmp5 += einsum(t1.aa, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3), optimize=True) - t1new.bb += einsum(v.aabb.ovvv, (0, 1, 2, 3), tmp5, (0, 4, 1, 2), (4, 3), optimize=True) - t1new.aa += einsum(tmp5, (0, 1, 2, 3), v.bbaa.ovvv, (1, 3, 2, 4), (0, 4), optimize=True) - tmp57 = einsum(tmp56, (0, 1, 2, 3), t1.aa, (0, 3), (1, 2), optimize=True) - tmp15 = einsum(v.aabb.ooov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1), optimize=True) - tmp148 = v.bbaa.ovvv.transpose((0, 3, 2, 1)).copy() - tmp148 += einsum(t1.aa, (0, 1), v.aabb.ovov, (0, 2, 3, 4), (3, 1, 2, 4), optimize=True) * -1 - tmp138 = v.aaaa.ovvv.transpose((0, 1, 3, 2)).copy() * -1 - tmp138 += v.aaaa.ovvv.transpose((0, 3, 1, 2)) - tmp40 = einsum(tmp39, (0, 1), t1.bb, (2, 1), (2, 0), optimize=True) - tmp46 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 5, 3), (4, 0, 5, 1), optimize=True) + tmp207 = einsum(t1.bb, (0, 1), tmp187, (2, 3, 1, 4), (0, 2, 3, 4), optimize=True) + del tmp187 + tmp205 = einsum(t1.bb, (0, 1), v.bbbb.vvvv, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) + tmp156 = tmp133.copy() + tmp156 += tmp155 * -1 + t2new.abab += einsum(tmp156, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 2), (4, 1, 5, 3), optimize=True) * 2 + tmp198 = v.bbbb.oovv.copy() + tmp198 += tmp192.transpose((1, 0, 2, 3)) * -1 + tmp55 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (0, 4, 1, 3), (2, 4), optimize=True) + tmp66 = einsum(t1.aa, (0, 1), tmp22, (0, 2), (1, 2), optimize=True) + tmp63 = einsum(v.aabb.vvov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1), optimize=True) + tmp56 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 4, 1, 3), (2, 4), optimize=True) + tmp65 = einsum(tmp64, (0, 1, 2, 3), t1.aa, (0, 2), (1, 3), optimize=True) + del tmp64 + tmp125 = v.bbbb.ovvv.copy() * -1 + tmp125 += v.bbbb.ovvv.transpose((0, 2, 3, 1)) + tmp6 = t2.abab.copy() + tmp6 += einsum(t1.aa, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3), optimize=True) + t1new.bb += einsum(v.aabb.ovvv, (0, 1, 2, 3), tmp6, (0, 4, 1, 3), (4, 2), optimize=True) + t1new.aa += einsum(tmp6, (0, 1, 2, 3), v.aabb.vvov, (4, 2, 1, 3), (0, 4), optimize=True) + tmp144 = v.bbbb.ooov.copy() + tmp144 += v.bbbb.ooov.transpose((0, 2, 1, 3)) * -1 + tmp149 = v.aabb.vvov.transpose((2, 0, 1, 3)).copy() + tmp149 += einsum(t1.aa, (0, 1), v.aabb.ovov, (0, 2, 3, 4), (3, 1, 2, 4), optimize=True) * -1 + tmp46 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (0, 4, 2, 5), optimize=True) t2new.aaaa += tmp46 t2new.aaaa += tmp46.transpose((0, 1, 3, 2)) * -1 t2new.aaaa += tmp46.transpose((1, 0, 2, 3)) * -1 t2new.aaaa += tmp46.transpose((1, 0, 3, 2)) - tmp53 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.aaaa, (0, 2, 4, 1), (4, 3), optimize=True) * -1 - tmp64 = einsum(t1.aa, (0, 1), tmp22, (0, 2), (1, 2), optimize=True) - del tmp22 - tmp63 = einsum(t1.aa, (0, 1), tmp62, (0, 1, 2, 3), (2, 3), optimize=True) - del tmp62 - tmp61 = einsum(v.bbaa.ovvv, (0, 1, 2, 3), t1.bb, (0, 1), (2, 3), optimize=True) - tmp54 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 2, 4, 3), (4, 1), optimize=True) - tmp122 = v.bbbb.ovvv.transpose((0, 1, 3, 2)).copy() - tmp122 += v.bbbb.ovvv.transpose((0, 3, 1, 2)) * -1 - tmp89 = tmp81.transpose((0, 1, 3, 2)).copy() * -1 - tmp89 += tmp88 * -1 - tmp51 = einsum(tmp50, (0, 1, 2, 3), t2.abab, (4, 0, 5, 3), (4, 1, 5, 2), optimize=True) - del tmp50 - tmp84 = v.aabb.ooov.transpose((1, 0, 2, 3)).copy() - tmp84 += tmp3.transpose((1, 0, 2, 3)) - tmp108 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.aaaa, (4, 5, 1, 3), (4, 5, 0, 2), optimize=True) + tmp51 = einsum(t1.aa, (0, 1), v.aabb.ooov, (2, 0, 3, 4), (2, 3, 1, 4), optimize=True) + t2new.abab += tmp51 * -1 + tmp59 = einsum(t1.aa, (0, 1), tmp58, (2, 3, 0, 1), (2, 3), optimize=True) + tmp15 = einsum(v.aabb.ooov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1), optimize=True) + tmp19 = einsum(t1.aa, (0, 1), tmp18, (2, 3, 0, 1), (2, 3), optimize=True) + del tmp18 + tmp107 = einsum(tmp103, (0, 1, 2, 3), t1.aa, (2, 4), (1, 0, 3, 4), optimize=True) + tmp96 = v.aaaa.oovv.copy() + tmp96 += tmp95.transpose((1, 0, 2, 3)) * -1 + del tmp95 + tmp87 = v.aabb.ooov.copy() + tmp87 += tmp1.transpose((1, 0, 2, 3)) + tmp53 = einsum(tmp52, (0, 1, 2, 3), t2.abab, (4, 0, 5, 3), (4, 1, 5, 2), optimize=True) + tmp92 = tmp83.transpose((0, 1, 3, 2)).copy() * -1 + tmp92 += tmp91 * -1 + tmp81 = t2.aaaa.copy() * 2 + tmp81 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (2, 0, 1, 3), optimize=True) * -1 + tmp82 = v.aaaa.ovov.transpose((0, 2, 3, 1)).copy() + tmp82 += v.aaaa.ovov.transpose((0, 2, 1, 3)) * -1 + tmp84 = v.aaaa.ooov.copy() + tmp84 += v.aaaa.ovoo.transpose((0, 2, 3, 1)) * -1 + tmp111 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 3, 5, 2), (0, 1, 4, 5), optimize=True) * -1 + tmp48 = v.aaaa.ovov.transpose((0, 2, 3, 1)).copy() + tmp48 += v.aaaa.ovov.transpose((0, 2, 1, 3)) * -1 + tmp49 = v.aaaa.ooov.copy() + tmp49 += v.aaaa.ovoo.transpose((0, 2, 3, 1)) * -1 + tmp99 = tmp86.copy() + tmp99 += tmp98 * -1 + tmp105 = einsum(t1.aa, (0, 1), tmp80, (2, 3, 1, 4), (0, 2, 3, 4), optimize=True) + del tmp80 + tmp109 = einsum(v.aaaa.vvvv, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 1, 2), optimize=True) + tmp76 = tmp16.copy() * 2 + tmp76 += tmp17 + tmp76 += tmp23 + tmp74 = tmp72.transpose((0, 2, 1, 3)).copy() + tmp74 += tmp73.transpose((0, 2, 1, 3)) * -1 tmp9 = f.aa.ov.copy() tmp9 += tmp0 del tmp0 tmp9 += tmp8 * -1 del tmp8 t1new.bb += einsum(tmp9, (0, 1), t2.abab, (0, 2, 1, 3), (2, 3), optimize=True) - t1new.aa += einsum(tmp9, (0, 1), t2.aaaa, (0, 2, 1, 3), (2, 3), optimize=True) * 2 - tmp66 = v.aaaa.ovvv.transpose((0, 1, 3, 2)).copy() - tmp66 += v.aaaa.ovvv.transpose((0, 3, 2, 1)) * -1 - tmp106 = einsum(tmp100, (0, 1, 2, 3), t1.aa, (2, 4), (1, 0, 3, 4), optimize=True) - tmp74 = tmp16.copy() * 2 - tmp74 += tmp17 - tmp74 += tmp23 - tmp93 = v.aaaa.oovv.transpose((1, 0, 3, 2)).copy() - tmp93 += tmp92.transpose((1, 0, 2, 3)) * -1 - del tmp92 - tmp104 = einsum(v.aaaa.vvvv, (0, 1, 2, 3), t1.aa, (4, 1), (4, 2, 3, 0), optimize=True) - tmp79 = t2.aaaa.transpose((1, 0, 3, 2)).copy() * 2 - tmp79 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (2, 0, 1, 3), optimize=True) * -1 - tmp19 = einsum(t1.aa, (0, 1), tmp18, (0, 2, 3, 1), (2, 3), optimize=True) - tmp72 = tmp70.transpose((0, 2, 1, 3)).copy() - tmp72 += tmp71.transpose((0, 2, 1, 3)) * -1 - tmp110 = v.aaaa.ovvv.transpose((0, 1, 3, 2)).copy() - tmp110 += einsum(t1.aa, (0, 1), v.aaaa.ovov, (2, 3, 0, 4), (2, 4, 3, 1), optimize=True) - tmp102 = einsum(tmp78, (0, 1, 2, 3), t1.aa, (4, 2), (4, 0, 1, 3), optimize=True) - del tmp78 - tmp96 = tmp83.copy() - tmp96 += tmp95 * -1 - tmp98 = einsum(v.aabb.ooov, (0, 1, 2, 3), t2.abab, (4, 2, 5, 3), (4, 0, 1, 5), optimize=True) - t2new.aaaa += einsum(tmp98, (0, 1, 2, 3), t1.aa, (2, 4), (1, 0, 3, 4), optimize=True) - tmp194 = v.bbbb.ooov.transpose((1, 0, 2, 3)).copy() - tmp194 += tmp28.transpose((2, 0, 1, 3)) - t2new.bbbb += einsum(tmp194, (0, 1, 2, 3), t1.bb, (0, 4), (2, 1, 3, 4), optimize=True) * -1 - del tmp194 - tmp192 = v.bbbb.oovv.transpose((1, 0, 3, 2)).copy() - tmp192 += einsum(tmp11, (0, 1, 2, 3), tmp189, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) * -1 - del tmp189 - tmp192 += tmp190.transpose((0, 1, 3, 2)) * -1 + t1new.aa += einsum(tmp9, (0, 1), t2.aaaa, (2, 0, 3, 1), (2, 3), optimize=True) * 2 + tmp101 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ooov, (4, 5, 1, 3), (0, 4, 5, 2), optimize=True) + t2new.aaaa += einsum(tmp101, (0, 1, 2, 3), t1.aa, (2, 4), (1, 0, 3, 4), optimize=True) + tmp113 = v.aaaa.ovvv.copy() + tmp113 += einsum(v.aaaa.ovov, (0, 1, 2, 3), t1.aa, (2, 4), (0, 3, 1, 4), optimize=True) + tmp186 = einsum(t1.bb, (0, 1), tmp180, (2, 0, 3, 4), (2, 3, 1, 4), optimize=True) + del tmp180 + t2new.bbbb += tmp186.transpose((0, 1, 3, 2)) + t2new.bbbb += tmp186 * -1 + del tmp186 + tmp210 = einsum(t1.bb, (0, 1), tmp209, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) + del tmp209 + t2new.bbbb += tmp210.transpose((0, 1, 3, 2)) * -1 + t2new.bbbb += tmp210 + del tmp210 + tmp170 = f.bb.oo.copy() + tmp170 += tmp32.transpose((1, 0)) + tmp170 += einsum(t1.bb, (0, 1), tmp169, (0, 2, 3, 1), (3, 2), optimize=True) * -1 + del tmp169 + t2new.bbbb += einsum(t2.bbbb, (0, 1, 2, 3), tmp170, (1, 4), (4, 0, 2, 3), optimize=True) * 2 + del tmp170 + tmp122 = tmp120.copy() + tmp122 += tmp121 * 2 + t2new.bbbb += einsum(t2.bbbb, (0, 1, 2, 3), tmp122, (4, 3), (0, 1, 2, 4), optimize=True) * -2 + t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp122, (4, 3), (0, 1, 2, 4), optimize=True) * -1 + del tmp122 + tmp171 = t2.bbbb.copy() + tmp171 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1), optimize=True) * -1 + t2new.bbbb += einsum(v.bbbb.oooo, (0, 1, 2, 3), tmp171, (3, 1, 4, 5), (0, 2, 5, 4), optimize=True) + del tmp171 + tmp216 = tmp133.copy() * -1 + tmp216 += tmp155 + del tmp155 + t2new.bbbb += einsum(t2.abab, (0, 1, 2, 3), tmp216, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) * -1 + del tmp216 + tmp193 = v.bbbb.oovv.copy() + tmp193 += einsum(tmp188, (0, 1, 2, 3), tmp52, (0, 4, 5, 2), (1, 4, 3, 5), optimize=True) * -1 + del tmp52, tmp188 + tmp193 += tmp190.transpose((0, 1, 3, 2)) * -1 del tmp190 - tmp192 += einsum(tmp191, (0, 1, 2, 3), t1.bb, (0, 4), (1, 2, 4, 3), optimize=True) * -1 - del tmp191 - t2new.bbbb += einsum(tmp192, (0, 1, 2, 3), t2.bbbb, (1, 4, 3, 5), (4, 0, 2, 5), optimize=True) * 2 + tmp193 += tmp192 * -1 del tmp192 - tmp167 = tmp117.copy() - tmp167 += tmp118 * 2 - t2new.bbbb += einsum(tmp167, (0, 1), t2.bbbb, (2, 3, 1, 4), (3, 2, 4, 0), optimize=True) * -2 - del tmp167 - tmp207 = einsum(tmp206, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 4, 3), optimize=True) - del tmp206 - t2new.bbbb += tmp207.transpose((0, 1, 3, 2)) * -1 - t2new.bbbb += tmp207 - del tmp207 - tmp176 = f.bb.vv.transpose((1, 0)).copy() * -1 - tmp176 += tmp121.transpose((1, 0)) * -1 - tmp176 += einsum(tmp175, (0, 1, 2, 3), t1.bb, (0, 2), (1, 3), optimize=True) * -1 - del tmp175 - tmp176 += tmp123.transpose((1, 0)) - t2new.bbbb += einsum(tmp176, (0, 1), t2.bbbb, (2, 3, 0, 4), (3, 2, 4, 1), optimize=True) * -2 + t2new.bbbb += einsum(tmp193, (0, 1, 2, 3), t2.bbbb, (4, 1, 5, 3), (4, 0, 2, 5), optimize=True) * 2 + del tmp193 + tmp176 = f.bb.vv.copy() * -1 + tmp176 += tmp124.transpose((1, 0)) * -1 + tmp176 += einsum(tmp151, (0, 1, 2, 3), t1.bb, (0, 1), (3, 2), optimize=True) * -1 + tmp176 += tmp126.transpose((1, 0)) + t2new.bbbb += einsum(tmp176, (0, 1), t2.bbbb, (2, 3, 4, 0), (2, 3, 4, 1), optimize=True) * -2 del tmp176 - tmp160 = t2.bbbb.transpose((1, 0, 3, 2)).copy() - tmp160 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3), optimize=True) - t2new.bbbb += einsum(tmp160, (0, 1, 2, 3), v.bbbb.oooo, (0, 4, 5, 1), (5, 4, 3, 2), optimize=True) - del tmp160 - tmp216 = einsum(v.bbbb.ovvv, (0, 1, 2, 3), t2.bbbb, (4, 5, 1, 3), (4, 5, 0, 2), optimize=True) - t2new.bbbb += einsum(tmp216, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 4, 3), optimize=True) * -2 - del tmp216 - tmp164 = v.bbbb.oovv.transpose((1, 0, 3, 2)).copy() * 0.5 - tmp164 += einsum(t2.bbbb, (0, 1, 2, 3), tmp37, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) * -1 - del tmp37 - tmp164 += einsum(tmp163, (0, 1, 2, 3), t1.bb, (0, 4), (1, 2, 4, 3), optimize=True) * -0.5 + tmp163 = einsum(t2.abab, (0, 1, 2, 3), tmp123, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) + del tmp123 + t2new.bbbb += tmp163.transpose((1, 0, 2, 3)) * -2 + t2new.bbbb += tmp163.transpose((0, 1, 3, 2)) * -2 + t2new.bbbb += tmp163.transpose((1, 0, 3, 2)) * 2 + t2new.bbbb += tmp163 * 2 del tmp163 - t2new.bbbb += einsum(tmp164, (0, 1, 2, 3), t2.bbbb, (1, 4, 3, 5), (0, 4, 2, 5), optimize=True) * -4 - del tmp164 - tmp209 = einsum(tmp208, (0, 1, 2, 3), t1.bb, (4, 2), (4, 0, 1, 3), optimize=True) - del tmp208 - t2new.bbbb += tmp209.transpose((0, 1, 3, 2)) * -1 - t2new.bbbb += tmp209 - del tmp209 - tmp205 = einsum(tmp204, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 4, 3), optimize=True) - del tmp204 - t2new.bbbb += tmp205.transpose((1, 0, 2, 3)) - t2new.bbbb += tmp205 * -1 - t2new.bbbb += tmp205.transpose((1, 0, 3, 2)) * -1 - t2new.bbbb += tmp205.transpose((0, 1, 3, 2)) - del tmp205 - tmp182 = einsum(tmp181, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 4, 3), optimize=True) - del tmp181 - t2new.bbbb += tmp182.transpose((1, 0, 3, 2)) - t2new.bbbb += tmp182.transpose((1, 0, 2, 3)) * -1 - del tmp182 - tmp178 = einsum(t2.bbbb, (0, 1, 2, 3), tmp177, (4, 5, 0, 1), (4, 5, 2, 3), optimize=True) - del tmp177 - t2new.bbbb += tmp178.transpose((0, 1, 3, 2)) * 2 - t2new.bbbb += tmp178.transpose((1, 0, 3, 2)) * -2 - del tmp178 - tmp171 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (1, 3, 4, 5), (0, 4, 2, 5), optimize=True) - t2new.bbbb += tmp171 * 2 - t2new.bbbb += tmp171.transpose((0, 1, 3, 2)) * -2 - t2new.bbbb += tmp171.transpose((1, 0, 2, 3)) * -2 - t2new.bbbb += tmp171.transpose((1, 0, 3, 2)) * 2 - del tmp171 - tmp211 = einsum(t2.bbbb, (0, 1, 2, 3), tmp210, (4, 5, 0, 1), (5, 4, 2, 3), optimize=True) * -1 - del tmp210 - t2new.bbbb += tmp211.transpose((0, 1, 3, 2)) * -1 - t2new.bbbb += tmp211.transpose((0, 1, 3, 2)) * -1 - del tmp211 - tmp170 = t2.bbbb.transpose((1, 0, 3, 2)).copy() - tmp170 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (2, 0, 1, 3), optimize=True) * -1 - t2new.bbbb += einsum(v.bbbb.oooo, (0, 1, 2, 3), tmp170, (0, 3, 4, 5), (2, 1, 5, 4), optimize=True) - del tmp170 - tmp203 = einsum(t2.bbbb, (0, 1, 2, 3), tmp202, (4, 5, 1, 0), (5, 4, 2, 3), optimize=True) - del tmp202 - t2new.bbbb += tmp203.transpose((0, 1, 3, 2)) * -1 - t2new.bbbb += tmp203.transpose((0, 1, 3, 2)) * -1 + tmp204 = einsum(tmp203, (0, 1, 2, 3), t2.bbbb, (2, 3, 4, 5), (1, 0, 4, 5), optimize=True) * -1 del tmp203 - tmp201 = tmp28.copy() - tmp201 += tmp200.transpose((0, 2, 1, 3)) * -1 - del tmp200 - t2new.bbbb += einsum(t1.bb, (0, 1), tmp201, (2, 3, 0, 4), (2, 3, 4, 1), optimize=True) - del tmp201 - tmp187 = einsum(tmp180, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 4, 3), optimize=True) - del tmp180 - t2new.bbbb += tmp187.transpose((0, 1, 3, 2)) - t2new.bbbb += tmp187 * -1 - del tmp187 - tmp169 = f.bb.oo.transpose((1, 0)).copy() - tmp169 += tmp32.transpose((1, 0)) - tmp169 += einsum(tmp168, (0, 1, 2, 3), t1.bb, (2, 3), (1, 0), optimize=True) * -1 - del tmp168 - t2new.bbbb += einsum(t2.bbbb, (0, 1, 2, 3), tmp169, (0, 4), (4, 1, 3, 2), optimize=True) * 2 - del tmp169 - tmp196 = einsum(tmp195, (0, 1, 2, 3), t2.bbbb, (1, 4, 3, 5), (4, 0, 5, 2), optimize=True) - del tmp195 - t2new.bbbb += tmp196.transpose((1, 0, 2, 3)) * 2 - t2new.bbbb += tmp196 * -2 - t2new.bbbb += tmp196.transpose((1, 0, 3, 2)) * -2 - del tmp196 - tmp186 = einsum(tmp179, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 4, 3), optimize=True) + t2new.bbbb += tmp204.transpose((0, 1, 3, 2)) * -1 + t2new.bbbb += tmp204.transpose((0, 1, 3, 2)) * -1 + del tmp204 + tmp185 = einsum(t1.bb, (0, 1), tmp179, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) del tmp179 - t2new.bbbb += tmp186.transpose((0, 1, 3, 2)) * -1 - t2new.bbbb += tmp186 - del tmp186 - tmp115 = f.bb.oo.transpose((1, 0)).copy() - tmp115 += tmp32.transpose((1, 0)) - tmp115 += tmp36.transpose((1, 0)) * -1 - t2new.bbbb += einsum(t2.bbbb, (0, 1, 2, 3), tmp115, (0, 4), (1, 4, 3, 2), optimize=True) * -2 - t2new.abab += einsum(tmp115, (0, 1), t2.abab, (2, 0, 3, 4), (2, 1, 3, 4), optimize=True) * -1 - del tmp115 - tmp174 = f.bb.vv.transpose((1, 0)).copy() * -1 - tmp174 += tmp121.transpose((1, 0)) * -1 - tmp174 += tmp117.transpose((1, 0)) - tmp174 += tmp118.transpose((1, 0)) * 2 - tmp174 += einsum(t1.bb, (0, 1), tmp173, (0, 2, 1, 3), (2, 3), optimize=True) * -1 - del tmp173 - tmp174 += einsum(tmp39, (0, 1), t1.bb, (0, 2), (1, 2), optimize=True) - del tmp39 - t2new.bbbb += einsum(tmp174, (0, 1), t2.bbbb, (2, 3, 0, 4), (3, 2, 1, 4), optimize=True) * 2 - del tmp174 - tmp198 = einsum(t2.bbbb, (0, 1, 2, 3), tmp197, (0, 4, 5, 2), (1, 4, 3, 5), optimize=True) - del tmp197 - t2new.bbbb += tmp198.transpose((1, 0, 2, 3)) * 2 - t2new.bbbb += tmp198 * -2 - del tmp198 - tmp193 = tmp130.copy() * -1 - tmp193 += tmp165 - tmp193 += tmp135 - del tmp135 - t2new.bbbb += einsum(tmp193, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (4, 1, 3, 5), optimize=True) - del tmp193 - tmp162 = einsum(tmp120, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) - del tmp120 - t2new.bbbb += tmp162.transpose((1, 0, 2, 3)) * -2 - t2new.bbbb += tmp162.transpose((0, 1, 3, 2)) * -2 - t2new.bbbb += tmp162.transpose((1, 0, 3, 2)) * 2 - t2new.bbbb += tmp162 * 2 - del tmp162 - tmp185 = einsum(tmp184, (0, 1), t2.bbbb, (1, 2, 3, 4), (2, 0, 3, 4), optimize=True) * 4 - del tmp184 - t2new.bbbb += tmp185.transpose((1, 0, 3, 2)) t2new.bbbb += tmp185.transpose((0, 1, 3, 2)) * -1 + t2new.bbbb += tmp185 del tmp185 - tmp214 = einsum(tmp28, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 4, 3), optimize=True) - t2new.bbbb += tmp214 * -1 - t2new.bbbb += tmp214.transpose((1, 0, 2, 3)) - del tmp214 - tmp161 = einsum(v.bbbb.ooov, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 4, 3), optimize=True) - t2new.bbbb += tmp161 * -1 - t2new.bbbb += tmp161.transpose((1, 0, 2, 3)) - t2new.bbbb += tmp161.transpose((0, 1, 3, 2)) + tmp161 = t2.bbbb.copy() + tmp161 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (2, 0, 3, 1), optimize=True) + t2new.bbbb += einsum(tmp161, (0, 1, 2, 3), v.bbbb.oooo, (4, 1, 5, 0), (4, 5, 3, 2), optimize=True) del tmp161 - tmp213 = v.bbbb.vvvv.transpose((2, 3, 1, 0)).copy() * -1 - tmp213 += einsum(tmp212, (0, 1, 2, 3), t1.bb, (0, 4), (1, 4, 3, 2), optimize=True) - del tmp212 - t2new.bbbb += einsum(t2.bbbb, (0, 1, 2, 3), tmp213, (2, 4, 5, 3), (1, 0, 5, 4), optimize=True) * -2 + tmp168 = tmp146.copy() + tmp168 += tmp167 + t2new.bbbb += einsum(t2.abab, (0, 1, 2, 3), tmp168, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) * -1 + del tmp168 + tmp182 = einsum(t1.bb, (0, 1), tmp181, (2, 0, 3, 4), (2, 3, 1, 4), optimize=True) + del tmp181 + t2new.bbbb += tmp182.transpose((1, 0, 3, 2)) + t2new.bbbb += tmp182.transpose((1, 0, 2, 3)) * -1 + del tmp182 + tmp217 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovvv, (4, 2, 5, 3), (0, 1, 4, 5), optimize=True) + t2new.bbbb += einsum(t1.bb, (0, 1), tmp217, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) * -2 + del tmp217 + tmp215 = einsum(t1.bb, (0, 1), tmp28, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) + t2new.bbbb += tmp215 * -1 + t2new.bbbb += tmp215.transpose((1, 0, 2, 3)) + del tmp215 + tmp166 = v.bbbb.oovv.copy() * 0.5 + tmp166 += einsum(t2.bbbb, (0, 1, 2, 3), tmp164, (1, 4, 5, 3), (0, 4, 2, 5), optimize=True) * -1 + del tmp164 + tmp166 += einsum(t1.bb, (0, 1), tmp165, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) * -0.5 + del tmp165 + t2new.bbbb += einsum(t2.bbbb, (0, 1, 2, 3), tmp166, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) * -4 + del tmp166 + tmp214 = v.bbbb.vvvv.copy() + tmp214 += einsum(t1.bb, (0, 1), tmp213, (0, 2, 3, 4), (4, 1, 3, 2), optimize=True) del tmp213 - tmp172 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 4, 1, 5), (4, 2, 5, 3), optimize=True) + t2new.bbbb += einsum(tmp214, (0, 1, 2, 3), t2.bbbb, (4, 5, 0, 3), (4, 5, 2, 1), optimize=True) * -2 + del tmp214 + tmp172 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 5), (1, 4, 3, 5), optimize=True) t2new.bbbb += tmp172 t2new.bbbb += tmp172.transpose((0, 1, 3, 2)) * -1 t2new.bbbb += tmp172.transpose((1, 0, 2, 3)) * -1 t2new.bbbb += tmp172.transpose((1, 0, 3, 2)) del tmp172 - tmp215 = tmp130.copy() * -1 - tmp215 += tmp154 - del tmp154 - t2new.bbbb += einsum(tmp215, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) * -1 - del tmp215 - tmp199 = einsum(tmp155, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) - del tmp155 - t2new.bbbb += tmp199.transpose((1, 0, 2, 3)) * -1 - t2new.bbbb += tmp199.transpose((1, 0, 3, 2)) + tmp175 = f.bb.vv.copy() * -1 + tmp175 += tmp124.transpose((1, 0)) * -1 + tmp175 += tmp120.transpose((1, 0)) + del tmp120 + tmp175 += tmp121.transpose((1, 0)) * 2 + del tmp121 + tmp175 += einsum(tmp174, (0, 1, 2, 3), t1.bb, (0, 1), (3, 2), optimize=True) * -1 + del tmp174 + tmp175 += einsum(tmp39, (0, 1), t1.bb, (0, 2), (1, 2), optimize=True) + t2new.bbbb += einsum(t2.bbbb, (0, 1, 2, 3), tmp175, (3, 4), (0, 1, 4, 2), optimize=True) * 2 + del tmp175 + tmp184 = einsum(tmp183, (0, 1), t2.bbbb, (2, 1, 3, 4), (2, 0, 3, 4), optimize=True) * -2 + del tmp183 + t2new.bbbb += tmp184.transpose((1, 0, 3, 2)) + t2new.bbbb += tmp184.transpose((0, 1, 3, 2)) * -1 + del tmp184 + tmp197 = einsum(tmp196, (0, 1, 2, 3), t2.bbbb, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) + del tmp196 + t2new.bbbb += tmp197.transpose((1, 0, 2, 3)) * 2 + t2new.bbbb += tmp197 * -2 + t2new.bbbb += tmp197.transpose((1, 0, 3, 2)) * -2 + del tmp197 + tmp202 = tmp28.copy() + tmp202 += tmp201.transpose((0, 2, 1, 3)) * -1 + del tmp201 + t2new.bbbb += einsum(tmp202, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 3, 4), optimize=True) + del tmp202 + tmp194 = tmp133.copy() * -1 + tmp194 += tmp167 + del tmp167 + tmp194 += tmp138 + del tmp138 + t2new.bbbb += einsum(t2.abab, (0, 1, 2, 3), tmp194, (0, 4, 2, 5), (1, 4, 5, 3), optimize=True) + del tmp194 + tmp212 = einsum(tmp211, (0, 1, 2, 3), t2.bbbb, (3, 2, 4, 5), (1, 0, 4, 5), optimize=True) + del tmp211 + t2new.bbbb += tmp212.transpose((0, 1, 3, 2)) * -1 + t2new.bbbb += tmp212.transpose((0, 1, 3, 2)) * -1 + del tmp212 + tmp118 = f.bb.oo.copy() + tmp118 += tmp32.transpose((1, 0)) + tmp118 += tmp36.transpose((1, 0)) * -1 + t2new.bbbb += einsum(t2.bbbb, (0, 1, 2, 3), tmp118, (1, 4), (0, 4, 2, 3), optimize=True) * -2 + t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp118, (1, 4), (0, 4, 2, 3), optimize=True) * -1 + del tmp118 + tmp173 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (4, 2, 5, 3), (4, 0, 5, 1), optimize=True) + t2new.bbbb += tmp173 * 2 + t2new.bbbb += tmp173.transpose((0, 1, 3, 2)) * -2 + t2new.bbbb += tmp173.transpose((1, 0, 2, 3)) * -2 + t2new.bbbb += tmp173.transpose((1, 0, 3, 2)) * 2 + del tmp173 + tmp208 = einsum(t1.bb, (0, 1), tmp207, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) + del tmp207 + t2new.bbbb += tmp208.transpose((1, 0, 2, 3)) + t2new.bbbb += tmp208 * -1 + t2new.bbbb += tmp208.transpose((1, 0, 3, 2)) * -1 + t2new.bbbb += tmp208.transpose((0, 1, 3, 2)) + del tmp208 + tmp178 = einsum(tmp177, (0, 1, 2, 3), t2.bbbb, (3, 2, 4, 5), (0, 1, 4, 5), optimize=True) * -1 + del tmp177 + t2new.bbbb += tmp178.transpose((0, 1, 3, 2)) * 2 + t2new.bbbb += tmp178.transpose((1, 0, 3, 2)) * -2 + del tmp178 + tmp195 = v.bbbb.ooov.copy() + tmp195 += tmp28.transpose((2, 0, 1, 3)) + t2new.bbbb += einsum(tmp195, (0, 1, 2, 3), t1.bb, (0, 4), (2, 1, 3, 4), optimize=True) * -1 + del tmp195 + tmp206 = einsum(tmp205, (0, 1, 2, 3), t1.bb, (4, 2), (4, 0, 1, 3), optimize=True) + del tmp205 + t2new.bbbb += tmp206.transpose((0, 1, 3, 2)) * -1 + t2new.bbbb += tmp206 + del tmp206 + tmp162 = einsum(v.bbbb.ooov, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 4, 3), optimize=True) + t2new.bbbb += tmp162 * -1 + t2new.bbbb += tmp162.transpose((1, 0, 2, 3)) + t2new.bbbb += tmp162.transpose((0, 1, 3, 2)) + del tmp162 + tmp200 = einsum(t2.abab, (0, 1, 2, 3), tmp156, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) + del tmp156 + t2new.bbbb += tmp200.transpose((1, 0, 2, 3)) * -1 + t2new.bbbb += tmp200.transpose((1, 0, 3, 2)) + del tmp200 + tmp199 = einsum(tmp198, (0, 1, 2, 3), t2.bbbb, (4, 0, 5, 3), (4, 1, 5, 2), optimize=True) + del tmp198 + t2new.bbbb += tmp199.transpose((1, 0, 2, 3)) * 2 + t2new.bbbb += tmp199 * -2 del tmp199 - tmp166 = tmp145.copy() - tmp166 += tmp165 - del tmp165 - t2new.bbbb += einsum(tmp166, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) * -1 - del tmp166 - tmp147 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (4, 5, 1, 3), (4, 0, 5, 2), optimize=True) - t2new.abab += einsum(tmp147, (0, 1, 2, 3), t2.abab, (1, 3, 4, 5), (0, 2, 4, 5), optimize=True) + tmp157 = einsum(v.aabb.ovvv, (0, 1, 2, 3), t1.aa, (4, 1), (4, 0, 2, 3), optimize=True) + tmp157 += einsum(t1.bb, (0, 1), tmp1, (2, 3, 0, 4), (2, 3, 4, 1), optimize=True) * -1 + t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp157, (4, 0, 3, 5), (4, 1, 2, 5), optimize=True) * -1 + del tmp157 + tmp67 = f.aa.vv.copy() * -1 + tmp67 += tmp63.transpose((1, 0)) * -1 + tmp67 += tmp55.transpose((1, 0)) * 2 + tmp67 += tmp56.transpose((1, 0)) + tmp67 += tmp65 * -1 + del tmp65 + tmp67 += tmp66.transpose((1, 0)) + del tmp66 + t2new.abab += einsum(tmp67, (0, 1), t2.abab, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) * -1 + t2new.aaaa += einsum(tmp67, (0, 1), t2.aaaa, (2, 3, 4, 0), (2, 3, 1, 4), optimize=True) * 2 + del tmp67 + tmp129 = einsum(v.aabb.ooov, (0, 1, 2, 3), t1.bb, (4, 3), (0, 1, 4, 2), optimize=True) + t2new.abab += einsum(tmp129, (0, 1, 2, 3), tmp6, (0, 3, 4, 5), (1, 2, 4, 5), optimize=True) + del tmp129 + tmp147 = v.aabb.ovov.transpose((0, 2, 1, 3)).copy() + tmp147 += tmp146 * -1 + del tmp146 + t2new.abab += einsum(tmp147, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 2), (4, 1, 5, 3), optimize=True) * 2 del tmp147 - tmp133 = tmp49.copy() * -1 - tmp133 += einsum(t2.aaaa, (0, 1, 2, 3), v.aabb.ovov, (1, 3, 4, 5), (0, 4, 2, 5), optimize=True) * 2 - tmp133 += einsum(tmp11, (0, 1, 2, 3), t2.abab, (4, 0, 5, 3), (4, 1, 5, 2), optimize=True) * -1 - del tmp11 - t2new.abab += einsum(tmp133, (0, 1, 2, 3), t2.bbbb, (1, 4, 3, 5), (0, 4, 2, 5), optimize=True) * 2 + tmp127 = f.bb.vv.copy() + tmp127 += tmp124.transpose((1, 0)) + del tmp124 + tmp127 += einsum(tmp125, (0, 1, 2, 3), t1.bb, (0, 1), (3, 2), optimize=True) * -1 + del tmp125 + tmp127 += tmp126.transpose((1, 0)) * -1 + del tmp126 + t2new.abab += einsum(tmp127, (0, 1), t2.abab, (2, 3, 4, 0), (2, 3, 4, 1), optimize=True) + del tmp127 + tmp130 = einsum(v.aabb.vvoo, (0, 1, 2, 3), t1.aa, (4, 1), (4, 2, 3, 0), optimize=True) + t2new.abab += einsum(t1.bb, (0, 1), tmp130, (2, 3, 0, 4), (2, 3, 4, 1), optimize=True) * -1 + del tmp130 + tmp160 = einsum(t1.aa, (0, 1), tmp133, (2, 3, 1, 4), (0, 2, 3, 4), optimize=True) del tmp133 - tmp140 = t2.bbbb.transpose((1, 0, 3, 2)).copy() - tmp140 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (2, 0, 1, 3), optimize=True) * -0.5 - t2new.abab += einsum(tmp96, (0, 1, 2, 3), tmp140, (1, 4, 3, 5), (0, 4, 2, 5), optimize=True) * 2 + t2new.abab += einsum(t1.aa, (0, 1), tmp160, (2, 0, 3, 4), (2, 3, 1, 4), optimize=True) * -1 + del tmp160 + tmp135 = v.aabb.vvoo.transpose((2, 3, 0, 1)).copy() * -1 + tmp135 += einsum(v.aabb.ovoo, (0, 1, 2, 3), t1.aa, (0, 4), (2, 3, 1, 4), optimize=True) + tmp135 += einsum(v.aabb.vvov, (0, 1, 2, 3), t1.bb, (4, 3), (2, 4, 0, 1), optimize=True) * -1 + tmp135 += einsum(tmp6, (0, 1, 2, 3), v.aabb.ovov, (0, 4, 5, 3), (5, 1, 4, 2), optimize=True) + t2new.abab += einsum(tmp135, (0, 1, 2, 3), t2.abab, (4, 0, 2, 5), (4, 1, 3, 5), optimize=True) + del tmp135 + tmp131 = tmp16.transpose((1, 0)).copy() + tmp131 += tmp17.transpose((1, 0)) * 0.5 + tmp131 += einsum(tmp22, (0, 1), t1.aa, (2, 1), (0, 2), optimize=True) * 0.5 + del tmp22 + t2new.abab += einsum(tmp131, (0, 1), t2.abab, (0, 2, 3, 4), (1, 2, 3, 4), optimize=True) * -2 + del tmp131 + tmp140 = einsum(t1.aa, (0, 1), tmp26, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) + t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp140, (4, 0, 5, 1), (4, 5, 2, 3), optimize=True) del tmp140 - tmp153 = einsum(t1.bb, (0, 1), tmp150, (2, 1, 3, 4), (0, 2, 4, 3), optimize=True) * -1 + tmp145 = v.bbbb.ovov.transpose((0, 2, 1, 3)).copy() + tmp145 += v.bbbb.oovv * -1 + tmp145 += einsum(t1.bb, (0, 1), tmp144, (2, 3, 0, 4), (3, 2, 4, 1), optimize=True) + del tmp144 + t2new.abab += einsum(tmp145, (0, 1, 2, 3), t2.abab, (4, 0, 5, 2), (4, 1, 5, 3), optimize=True) + del tmp145 + tmp150 = v.aabb.vvvv.copy() + tmp150 += einsum(t1.bb, (0, 1), tmp149, (0, 2, 3, 4), (3, 2, 4, 1), optimize=True) * -1 + del tmp149 + t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp150, (2, 4, 3, 5), (0, 1, 4, 5), optimize=True) del tmp150 - tmp153 += tmp152.transpose((0, 1, 3, 2)) - del tmp152 - t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp153, (4, 1, 3, 5), (0, 4, 2, 5), optimize=True) - del tmp153 - tmp132 = v.bbaa.oovv.transpose((1, 0, 3, 2)).copy() * -1 - tmp132 += einsum(v.aabb.ovoo, (0, 1, 2, 3), t1.aa, (0, 4), (3, 2, 1, 4), optimize=True) - tmp132 += einsum(t1.bb, (0, 1), v.bbaa.ovvv, (2, 1, 3, 4), (2, 0, 4, 3), optimize=True) * -1 - tmp132 += einsum(v.aabb.ovov, (0, 1, 2, 3), tmp5, (0, 4, 5, 3), (2, 4, 1, 5), optimize=True) - t2new.abab += einsum(tmp132, (0, 1, 2, 3), t2.abab, (4, 0, 2, 5), (4, 1, 3, 5), optimize=True) - del tmp132 - tmp126 = einsum(v.aabb.ooov, (0, 1, 2, 3), t1.bb, (4, 3), (0, 1, 4, 2), optimize=True) - t2new.abab += einsum(tmp126, (0, 1, 2, 3), tmp5, (0, 3, 4, 5), (1, 2, 4, 5), optimize=True) - del tmp126 - tmp127 = einsum(v.bbaa.oovv, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 1, 2), optimize=True) - t2new.abab += einsum(t1.bb, (0, 1), tmp127, (2, 3, 0, 4), (2, 3, 4, 1), optimize=True) * -1 - del tmp127 - tmp58 = f.aa.oo.transpose((1, 0)).copy() - tmp58 += tmp15.transpose((1, 0)) - tmp58 += tmp57.transpose((1, 0)) * -1 - del tmp57 - t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp58, (0, 4), (4, 1, 2, 3), optimize=True) * -1 - t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp58, (0, 4), (4, 1, 3, 2), optimize=True) * 2 + tmp132 = einsum(v.aabb.ovoo, (0, 1, 2, 3), t1.aa, (4, 1), (4, 0, 2, 3), optimize=True) + t2new.abab += einsum(tmp132, (0, 1, 2, 3), tmp6, (1, 2, 4, 5), (0, 3, 4, 5), optimize=True) + del tmp6, tmp132 + tmp134 = v.aaaa.oovv.copy() + tmp134 += tmp46.transpose((1, 0, 3, 2)) * -1 + tmp134 += einsum(tmp7, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 3), (1, 4, 2, 5), optimize=True) * 2 + del tmp7 + tmp134 += einsum(tmp58, (0, 1, 2, 3), t1.aa, (2, 4), (1, 0, 3, 4), optimize=True) del tmp58 - tmp156 = einsum(v.aabb.ovvv, (0, 1, 2, 3), t1.aa, (4, 1), (4, 0, 3, 2), optimize=True) - tmp156 += einsum(tmp3, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 3, 4), optimize=True) * -1 - t2new.abab += einsum(tmp156, (0, 1, 2, 3), t2.abab, (1, 4, 5, 2), (0, 4, 5, 3), optimize=True) * -1 - del tmp156 - tmp128 = tmp16.transpose((1, 0)).copy() * 2 - tmp128 += tmp17.transpose((1, 0)) - tmp128 += tmp23.transpose((1, 0)) - t2new.abab += einsum(tmp128, (0, 1), t2.abab, (0, 2, 3, 4), (1, 2, 3, 4), optimize=True) * -1 + t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp134, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) * -1 + del tmp134 + tmp139 = v.aabb.oovv.copy() + tmp139 += einsum(t1.bb, (0, 1), v.aabb.ooov, (2, 3, 0, 4), (2, 3, 4, 1), optimize=True) * -1 + t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp139, (0, 4, 3, 5), (4, 1, 2, 5), optimize=True) * -1 + del tmp139 + tmp136 = tmp51.copy() * -1 + tmp136 += einsum(v.aabb.ovov, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 1), (4, 2, 5, 3), optimize=True) * 2 + tmp136 += einsum(tmp11, (0, 1, 2, 3), t2.abab, (4, 0, 5, 3), (4, 1, 5, 2), optimize=True) * -1 + del tmp11 + t2new.abab += einsum(t2.bbbb, (0, 1, 2, 3), tmp136, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) * 2 + del tmp136 + tmp143 = v.aabb.vvov.transpose((2, 0, 1, 3)).copy() + tmp143 += einsum(t1.bb, (0, 1), v.aabb.vvvv, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) + t2new.abab += einsum(tmp143, (0, 1, 2, 3), t1.aa, (4, 1), (4, 0, 2, 3), optimize=True) + del tmp143 + tmp142 = t2.bbbb.copy() + tmp142 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1), optimize=True) * -0.5 + t2new.abab += einsum(tmp142, (0, 1, 2, 3), tmp99, (4, 0, 5, 2), (4, 1, 5, 3), optimize=True) * 2 + del tmp142 + tmp158 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovvv, (4, 2, 5, 3), (0, 4, 1, 5), optimize=True) + t2new.abab += einsum(t1.aa, (0, 1), tmp158, (2, 0, 3, 4), (2, 3, 1, 4), optimize=True) * -1 + del tmp158 + tmp159 = einsum(t1.bb, (0, 1), v.aabb.oovv, (2, 3, 4, 1), (2, 3, 0, 4), optimize=True) + t2new.abab += einsum(t1.aa, (0, 1), tmp159, (2, 0, 3, 4), (2, 3, 1, 4), optimize=True) * -1 + del tmp159 + tmp128 = tmp33.transpose((1, 0)).copy() * 0.5 + tmp128 += tmp34.transpose((1, 0)) + tmp128 += einsum(tmp39, (0, 1), t1.bb, (2, 1), (0, 2), optimize=True) * 0.5 + del tmp39 + t2new.abab += einsum(tmp128, (0, 1), t2.abab, (2, 0, 3, 4), (2, 1, 3, 4), optimize=True) * -2 del tmp128 - tmp149 = v.aabb.vvvv.transpose((1, 0, 3, 2)).copy() - tmp149 += einsum(tmp148, (0, 1, 2, 3), t1.bb, (0, 4), (2, 1, 3, 4), optimize=True) * -1 + tmp141 = einsum(tmp68, (0, 1, 2, 3), t1.aa, (4, 2), (4, 0, 1, 3), optimize=True) * -1 + tmp141 += tmp91.transpose((0, 1, 3, 2)) + del tmp91 + t2new.abab += einsum(tmp141, (0, 1, 2, 3), t2.abab, (1, 4, 2, 5), (0, 4, 3, 5), optimize=True) + del tmp141 + tmp154 = einsum(tmp151, (0, 1, 2, 3), t1.bb, (4, 1), (4, 0, 3, 2), optimize=True) * -1 + del tmp151 + tmp154 += tmp153.transpose((0, 1, 3, 2)) + del tmp153 + t2new.abab += einsum(tmp154, (0, 1, 2, 3), t2.abab, (4, 1, 5, 2), (4, 0, 5, 3), optimize=True) + del tmp154 + tmp148 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 5, 3), (0, 4, 1, 5), optimize=True) + t2new.abab += einsum(tmp148, (0, 1, 2, 3), t2.abab, (1, 3, 4, 5), (0, 2, 4, 5), optimize=True) del tmp148 - t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp149, (2, 4, 3, 5), (0, 1, 4, 5), optimize=True) - del tmp149 - tmp144 = v.bbbb.ovov.transpose((2, 0, 3, 1)).copy() - tmp144 += v.bbbb.oovv.transpose((1, 0, 3, 2)) * -1 - tmp144 += tmp143.transpose((1, 0, 3, 2)) - del tmp143 - t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp144, (1, 4, 3, 5), (0, 4, 2, 5), optimize=True) - del tmp144 - tmp119 = tmp117.copy() * 0.5 - del tmp117 - tmp119 += tmp118 - del tmp118 - t2new.abab += einsum(tmp119, (0, 1), t2.abab, (2, 3, 4, 1), (2, 3, 4, 0), optimize=True) * -2 + tmp60 = f.aa.oo.copy() + tmp60 += tmp15.transpose((1, 0)) + tmp60 += tmp59.transpose((1, 0)) * -1 + del tmp59 + t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp60, (0, 4), (4, 1, 2, 3), optimize=True) * -1 + t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp60, (1, 4), (4, 0, 2, 3), optimize=True) * 2 + del tmp60 + tmp119 = t2.abab.copy() + tmp119 += einsum(t1.aa, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3), optimize=True) * 2 + t2new.abab += einsum(tmp119, (0, 1, 2, 3), v.aabb.oooo, (4, 0, 5, 1), (4, 5, 2, 3), optimize=True) * 0.5 del tmp119 - tmp137 = einsum(tmp26, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 1, 2), optimize=True) - t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp137, (4, 0, 5, 1), (4, 5, 2, 3), optimize=True) - del tmp137 - tmp136 = v.aabb.oovv.transpose((1, 0, 3, 2)).copy() - tmp136 += einsum(v.aabb.ooov, (0, 1, 2, 3), t1.bb, (2, 4), (1, 0, 3, 4), optimize=True) * -1 - t2new.abab += einsum(tmp136, (0, 1, 2, 3), t2.abab, (0, 4, 5, 2), (1, 4, 5, 3), optimize=True) * -1 - del tmp136 - tmp129 = einsum(v.aabb.ovoo, (0, 1, 2, 3), t1.aa, (4, 1), (4, 0, 2, 3), optimize=True) - t2new.abab += einsum(tmp129, (0, 1, 2, 3), tmp5, (1, 2, 4, 5), (0, 3, 4, 5), optimize=True) - del tmp5, tmp129 - tmp146 = v.aabb.ovov.transpose((0, 2, 1, 3)).copy() - tmp146 += tmp145 * -1 - del tmp145 - t2new.abab += einsum(tmp146, (0, 1, 2, 3), t2.aaaa, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) * 2 - del tmp146 - tmp157 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovvv, (4, 2, 5, 3), (0, 4, 1, 5), optimize=True) - t2new.abab += einsum(t1.aa, (0, 1), tmp157, (2, 0, 3, 4), (2, 3, 1, 4), optimize=True) * -1 - del tmp157 - tmp141 = v.bbaa.ovvv.transpose((0, 3, 2, 1)).copy() - tmp141 += einsum(v.aabb.vvvv, (0, 1, 2, 3), t1.bb, (4, 3), (4, 1, 0, 2), optimize=True) - t2new.abab += einsum(tmp141, (0, 1, 2, 3), t1.aa, (4, 1), (4, 0, 2, 3), optimize=True) - del tmp141 - tmp159 = einsum(tmp130, (0, 1, 2, 3), t1.aa, (4, 2), (4, 0, 1, 3), optimize=True) - del tmp130 - t2new.abab += einsum(tmp159, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 4, 3), optimize=True) * -1 - del tmp159 - tmp139 = einsum(t1.aa, (0, 1), tmp138, (2, 3, 1, 4), (0, 2, 3, 4), optimize=True) * -1 - del tmp138 - tmp139 += tmp88.transpose((0, 1, 3, 2)) + tmp115 = einsum(t1.aa, (0, 1), tmp3, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) + t2new.aaaa += tmp115 * -1 + t2new.aaaa += tmp115.transpose((1, 0, 2, 3)) + del tmp115 + tmp43 = f.aa.oo.copy() + tmp43 += tmp15.transpose((1, 0)) + tmp43 += tmp19.transpose((1, 0)) * -1 + t2new.aaaa += einsum(tmp43, (0, 1), t2.aaaa, (2, 0, 3, 4), (2, 1, 3, 4), optimize=True) * -2 + del tmp43 + tmp108 = einsum(t1.aa, (0, 1), tmp107, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) + del tmp107 + t2new.aaaa += tmp108.transpose((0, 1, 3, 2)) * -1 + t2new.aaaa += tmp108 + del tmp108 + tmp57 = tmp55.copy() * 2 + del tmp55 + tmp57 += tmp56 + del tmp56 + t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp57, (4, 3), (0, 1, 2, 4), optimize=True) * -2 + del tmp57 + tmp97 = einsum(t2.aaaa, (0, 1, 2, 3), tmp96, (1, 4, 5, 3), (0, 4, 2, 5), optimize=True) + del tmp96 + t2new.aaaa += tmp97.transpose((1, 0, 2, 3)) * 2 + t2new.aaaa += tmp97 * -2 + del tmp97 + tmp117 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovvv, (4, 3, 5, 2), (0, 1, 4, 5), optimize=True) * -1 + t2new.aaaa += einsum(t1.aa, (0, 1), tmp117, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) * -2 + del tmp117 + tmp88 = tmp86.copy() * -1 + tmp88 += tmp53 * -1 + tmp88 += einsum(t1.aa, (0, 1), tmp87, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) + del tmp87 + t2new.aaaa += einsum(tmp88, (0, 1, 2, 3), t2.abab, (4, 1, 5, 3), (4, 0, 2, 5), optimize=True) del tmp88 - t2new.abab += einsum(tmp139, (0, 1, 2, 3), t2.abab, (1, 4, 2, 5), (0, 4, 3, 5), optimize=True) - del tmp139 - tmp125 = tmp33.transpose((1, 0)).copy() - tmp125 += tmp34.transpose((1, 0)) * 2 - tmp125 += tmp40.transpose((1, 0)) - t2new.abab += einsum(tmp125, (0, 1), t2.abab, (2, 0, 3, 4), (2, 1, 3, 4), optimize=True) * -1 - del tmp125 - tmp158 = einsum(v.aabb.oovv, (0, 1, 2, 3), t1.bb, (4, 3), (0, 1, 4, 2), optimize=True) - t2new.abab += einsum(tmp158, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 4, 3), optimize=True) * -1 - del tmp158 - tmp131 = v.aaaa.oovv.transpose((1, 0, 3, 2)).copy() - tmp131 += tmp46.transpose((1, 0, 3, 2)) * -1 - tmp131 += einsum(t2.aaaa, (0, 1, 2, 3), tmp7, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) * 2 - tmp131 += einsum(tmp56, (0, 1, 2, 3), t1.aa, (0, 4), (2, 1, 3, 4), optimize=True) - t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp131, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) * -1 - del tmp131 - tmp65 = f.aa.vv.transpose((1, 0)).copy() * -1 - tmp65 += tmp61.transpose((1, 0)) * -1 - tmp65 += tmp53.transpose((1, 0)) * 2 - tmp65 += tmp54.transpose((1, 0)) - tmp65 += tmp63.transpose((1, 0)) * -1 - del tmp63 - tmp65 += tmp64.transpose((1, 0)) - del tmp64 - t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp65, (2, 4), (0, 1, 4, 3), optimize=True) * -1 - t2new.aaaa += einsum(tmp65, (0, 1), t2.aaaa, (2, 3, 0, 4), (3, 2, 1, 4), optimize=True) * 2 - del tmp65 - tmp124 = f.bb.vv.transpose((1, 0)).copy() - tmp124 += tmp121.transpose((1, 0)) - del tmp121 - tmp124 += einsum(t1.bb, (0, 1), tmp122, (0, 2, 1, 3), (2, 3), optimize=True) * -1 - del tmp122 - tmp124 += tmp123.transpose((1, 0)) * -1 - del tmp123 - t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp124, (3, 4), (0, 1, 2, 4), optimize=True) - del tmp124 - tmp116 = t2.abab.copy() - tmp116 += einsum(t1.aa, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3), optimize=True) * 2 - t2new.abab += einsum(tmp116, (0, 1, 2, 3), v.aabb.oooo, (0, 4, 1, 5), (4, 5, 2, 3), optimize=True) * 0.5 - del tmp116 - tmp90 = einsum(tmp89, (0, 1, 2, 3), t2.aaaa, (1, 4, 3, 5), (4, 0, 5, 2), optimize=True) - del tmp89 - t2new.aaaa += tmp90.transpose((1, 0, 2, 3)) * 2 - t2new.aaaa += tmp90 * -2 - t2new.aaaa += tmp90.transpose((1, 0, 3, 2)) * -2 - del tmp90 - tmp85 = tmp83.copy() * -1 - tmp85 += tmp51 * -1 - tmp85 += einsum(tmp84, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3), optimize=True) + tmp61 = t2.aaaa.copy() + tmp61 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 1, 3), optimize=True) + t2new.aaaa += einsum(v.aaaa.oooo, (0, 1, 2, 3), tmp61, (1, 3, 4, 5), (0, 2, 5, 4), optimize=True) * -1 + del tmp61 + tmp93 = einsum(t2.aaaa, (0, 1, 2, 3), tmp92, (4, 1, 5, 3), (0, 4, 2, 5), optimize=True) + del tmp92 + t2new.aaaa += tmp93.transpose((1, 0, 2, 3)) * 2 + t2new.aaaa += tmp93 * -2 + t2new.aaaa += tmp93.transpose((1, 0, 3, 2)) * -2 + del tmp93 + tmp85 = v.aaaa.oovv.copy() + tmp85 += einsum(tmp81, (0, 1, 2, 3), tmp82, (0, 4, 5, 2), (1, 4, 3, 5), optimize=True) * -1 + del tmp81, tmp82 + tmp85 += tmp83.transpose((0, 1, 3, 2)) * -1 + del tmp83 + tmp85 += einsum(t1.aa, (0, 1), tmp84, (2, 3, 0, 4), (3, 2, 1, 4), optimize=True) * -1 del tmp84 - t2new.aaaa += einsum(tmp85, (0, 1, 2, 3), t2.abab, (4, 1, 5, 3), (4, 0, 2, 5), optimize=True) + t2new.aaaa += einsum(tmp85, (0, 1, 2, 3), t2.aaaa, (4, 1, 5, 3), (4, 0, 2, 5), optimize=True) * 2 del tmp85 - tmp109 = einsum(tmp108, (0, 1, 2, 3), t2.aaaa, (2, 3, 4, 5), (1, 0, 4, 5), optimize=True) * -1 - del tmp108 - t2new.aaaa += tmp109.transpose((0, 1, 3, 2)) * -1 - t2new.aaaa += tmp109.transpose((0, 1, 3, 2)) * -1 - del tmp109 - tmp77 = einsum(tmp71, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 4, 3), optimize=True) - del tmp71 - t2new.aaaa += tmp77.transpose((0, 1, 3, 2)) - t2new.aaaa += tmp77 * -1 - del tmp77 - tmp59 = t2.aaaa.transpose((1, 0, 3, 2)).copy() - tmp59 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (2, 0, 1, 3), optimize=True) * -1 - t2new.aaaa += einsum(tmp59, (0, 1, 2, 3), v.aaaa.oooo, (0, 4, 5, 1), (5, 4, 3, 2), optimize=True) - del tmp59 - tmp67 = f.aa.vv.transpose((1, 0)).copy() * -1 - tmp67 += tmp61.transpose((1, 0)) * -1 - del tmp61 - tmp67 += einsum(t1.aa, (0, 1), tmp66, (0, 1, 2, 3), (3, 2), optimize=True) * -1 - del tmp66 - tmp67 += einsum(tmp9, (0, 1), t1.aa, (0, 2), (1, 2), optimize=True) - del tmp9 - t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp67, (2, 4), (1, 0, 3, 4), optimize=True) * -2 - del tmp67 - tmp69 = einsum(tmp68, (0, 1, 2, 3), t2.aaaa, (2, 3, 4, 5), (0, 1, 4, 5), optimize=True) - del tmp68 - t2new.aaaa += tmp69.transpose((0, 1, 3, 2)) * 2 - t2new.aaaa += tmp69.transpose((1, 0, 3, 2)) * -2 - del tmp69 - tmp107 = einsum(t1.aa, (0, 1), tmp106, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) - del tmp106 - t2new.aaaa += tmp107.transpose((0, 1, 3, 2)) * -1 - t2new.aaaa += tmp107 - del tmp107 - tmp75 = einsum(t2.aaaa, (0, 1, 2, 3), tmp74, (4, 0), (1, 4, 2, 3), optimize=True) * 2 - del tmp74 - t2new.aaaa += tmp75.transpose((1, 0, 3, 2)) - t2new.aaaa += tmp75.transpose((0, 1, 3, 2)) * -1 - del tmp75 - tmp94 = einsum(t2.aaaa, (0, 1, 2, 3), tmp93, (0, 4, 5, 2), (1, 4, 3, 5), optimize=True) - del tmp93 - t2new.aaaa += tmp94.transpose((1, 0, 2, 3)) * 2 - t2new.aaaa += tmp94 * -2 - del tmp94 - tmp113 = tmp83.copy() * -1 - del tmp83 - tmp113 += tmp95 - del tmp95 - t2new.aaaa += einsum(tmp113, (0, 1, 2, 3), t2.abab, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) * -1 - del tmp113 - tmp101 = einsum(t2.aaaa, (0, 1, 2, 3), tmp100, (4, 5, 1, 0), (5, 4, 2, 3), optimize=True) - del tmp100 - t2new.aaaa += tmp101.transpose((0, 1, 3, 2)) * -1 - t2new.aaaa += tmp101.transpose((0, 1, 3, 2)) * -1 - del tmp101 - tmp48 = v.aaaa.oovv.transpose((1, 0, 3, 2)).copy() - tmp48 += einsum(t2.aaaa, (0, 1, 2, 3), tmp20, (0, 4, 5, 2), (1, 4, 3, 5), optimize=True) * -2 - del tmp20 - tmp48 += einsum(tmp18, (0, 1, 2, 3), t1.aa, (2, 4), (1, 0, 4, 3), optimize=True) * -1 - del tmp18 - t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp48, (4, 0, 5, 2), (4, 1, 5, 3), optimize=True) * -2 + tmp54 = tmp51.copy() + del tmp51 + tmp54 += tmp53 * -1 + del tmp53 + t2new.aaaa += einsum(t2.abab, (0, 1, 2, 3), tmp54, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) * -1 + del tmp54 + tmp112 = einsum(t2.aaaa, (0, 1, 2, 3), tmp111, (4, 5, 1, 0), (5, 4, 2, 3), optimize=True) + del tmp111 + t2new.aaaa += tmp112.transpose((0, 1, 3, 2)) * -1 + t2new.aaaa += tmp112.transpose((0, 1, 3, 2)) * -1 + del tmp112 + tmp50 = v.aaaa.oovv.copy() * 0.5 + tmp50 += einsum(t2.aaaa, (0, 1, 2, 3), tmp48, (1, 4, 5, 3), (0, 4, 2, 5), optimize=True) * -1 del tmp48 - tmp105 = einsum(t1.aa, (0, 1), tmp104, (2, 3, 1, 4), (0, 2, 3, 4), optimize=True) - del tmp104 - t2new.aaaa += tmp105.transpose((0, 1, 3, 2)) * -1 - t2new.aaaa += tmp105 + tmp50 += einsum(t1.aa, (0, 1), tmp49, (2, 3, 0, 4), (3, 2, 1, 4), optimize=True) * -0.5 + del tmp49 + t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp50, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) * -4 + del tmp50 + tmp79 = einsum(t1.aa, (0, 1), tmp72, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) + del tmp72 + t2new.aaaa += tmp79.transpose((0, 1, 3, 2)) * -1 + t2new.aaaa += tmp79 + del tmp79 + tmp89 = v.aaaa.ooov.copy() + tmp89 += tmp3.transpose((2, 0, 1, 3)) + t2new.aaaa += einsum(tmp89, (0, 1, 2, 3), t1.aa, (0, 4), (2, 1, 3, 4), optimize=True) * -1 + del tmp89 + tmp100 = einsum(t2.abab, (0, 1, 2, 3), tmp99, (4, 1, 5, 3), (0, 4, 2, 5), optimize=True) + del tmp99 + t2new.aaaa += tmp100.transpose((1, 0, 2, 3)) * -1 + t2new.aaaa += tmp100.transpose((1, 0, 3, 2)) + del tmp100 + tmp116 = tmp86.copy() * -1 + del tmp86 + tmp116 += tmp98 + del tmp98 + t2new.aaaa += einsum(t2.abab, (0, 1, 2, 3), tmp116, (4, 1, 5, 3), (0, 4, 2, 5), optimize=True) * -1 + del tmp116 + tmp44 = t2.aaaa.copy() + tmp44 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (2, 0, 1, 3), optimize=True) * -1 + t2new.aaaa += einsum(v.aaaa.oooo, (0, 1, 2, 3), tmp44, (1, 3, 4, 5), (0, 2, 5, 4), optimize=True) * -1 + del tmp44 + tmp106 = einsum(t1.aa, (0, 1), tmp105, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) del tmp105 - tmp82 = v.aaaa.oovv.transpose((1, 0, 3, 2)).copy() - tmp82 += einsum(tmp79, (0, 1, 2, 3), tmp7, (0, 4, 5, 2), (1, 4, 3, 5), optimize=True) * -1 - del tmp7, tmp79 - tmp82 += tmp81.transpose((0, 1, 3, 2)) * -1 - del tmp81 - tmp82 += einsum(t1.aa, (0, 1), tmp56, (2, 3, 0, 4), (3, 2, 1, 4), optimize=True) * -1 - del tmp56 - t2new.aaaa += einsum(tmp82, (0, 1, 2, 3), t2.aaaa, (1, 4, 3, 5), (4, 0, 2, 5), optimize=True) * 2 - del tmp82 - tmp60 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (1, 3, 4, 5), (0, 4, 2, 5), optimize=True) - t2new.aaaa += tmp60 * 2 - t2new.aaaa += tmp60.transpose((0, 1, 3, 2)) * -2 - t2new.aaaa += tmp60.transpose((1, 0, 2, 3)) * -2 - t2new.aaaa += tmp60.transpose((1, 0, 3, 2)) * 2 - del tmp60 - tmp47 = einsum(t2.aaaa, (0, 1, 2, 3), tmp46, (4, 1, 5, 3), (0, 4, 2, 5), optimize=True) + t2new.aaaa += tmp106.transpose((1, 0, 2, 3)) + t2new.aaaa += tmp106 * -1 + t2new.aaaa += tmp106.transpose((1, 0, 3, 2)) * -1 + t2new.aaaa += tmp106.transpose((0, 1, 3, 2)) + del tmp106 + tmp104 = einsum(t2.aaaa, (0, 1, 2, 3), tmp103, (4, 5, 0, 1), (5, 4, 2, 3), optimize=True) * -1 + del tmp103 + t2new.aaaa += tmp104.transpose((0, 1, 3, 2)) * -1 + t2new.aaaa += tmp104.transpose((0, 1, 3, 2)) * -1 + del tmp104 + tmp62 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 5, 1, 3), (0, 4, 2, 5), optimize=True) + t2new.aaaa += tmp62 * 2 + t2new.aaaa += tmp62.transpose((0, 1, 3, 2)) * -2 + t2new.aaaa += tmp62.transpose((1, 0, 2, 3)) * -2 + t2new.aaaa += tmp62.transpose((1, 0, 3, 2)) * 2 + del tmp62 + tmp78 = einsum(t1.aa, (0, 1), tmp73, (2, 0, 3, 4), (2, 3, 1, 4), optimize=True) + del tmp73 + t2new.aaaa += tmp78.transpose((0, 1, 3, 2)) + t2new.aaaa += tmp78 * -1 + del tmp78 + tmp110 = einsum(tmp109, (0, 1, 2, 3), t1.aa, (4, 2), (4, 0, 1, 3), optimize=True) + del tmp109 + t2new.aaaa += tmp110.transpose((0, 1, 3, 2)) * -1 + t2new.aaaa += tmp110 + del tmp110 + tmp77 = einsum(t2.aaaa, (0, 1, 2, 3), tmp76, (4, 1), (0, 4, 2, 3), optimize=True) * -2 + del tmp76 + t2new.aaaa += tmp77.transpose((1, 0, 3, 2)) + t2new.aaaa += tmp77.transpose((0, 1, 3, 2)) * -1 + del tmp77 + tmp47 = einsum(tmp46, (0, 1, 2, 3), t2.aaaa, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) del tmp46 t2new.aaaa += tmp47.transpose((1, 0, 2, 3)) * -2 t2new.aaaa += tmp47.transpose((0, 1, 3, 2)) * -2 t2new.aaaa += tmp47.transpose((1, 0, 3, 2)) * 2 t2new.aaaa += tmp47 * 2 del tmp47 - tmp43 = f.aa.oo.transpose((1, 0)).copy() - tmp43 += tmp15.transpose((1, 0)) - tmp43 += tmp19.transpose((1, 0)) * -1 - t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp43, (0, 4), (1, 4, 3, 2), optimize=True) * -2 - del tmp43 - tmp44 = t2.aaaa.transpose((1, 0, 3, 2)).copy() - tmp44 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1), optimize=True) - t2new.aaaa += einsum(v.aaaa.oooo, (0, 1, 2, 3), tmp44, (0, 3, 4, 5), (2, 1, 5, 4), optimize=True) - del tmp44 - tmp52 = tmp49.copy() - del tmp49 - tmp52 += tmp51 * -1 - del tmp51 - t2new.aaaa += einsum(tmp52, (0, 1, 2, 3), t2.abab, (4, 1, 5, 3), (0, 4, 2, 5), optimize=True) * -1 - del tmp52 - tmp73 = einsum(tmp72, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 4, 3), optimize=True) - del tmp72 - t2new.aaaa += tmp73.transpose((1, 0, 3, 2)) - t2new.aaaa += tmp73.transpose((1, 0, 2, 3)) * -1 - del tmp73 + tmp75 = einsum(t1.aa, (0, 1), tmp74, (2, 0, 3, 4), (2, 3, 1, 4), optimize=True) + del tmp74 + t2new.aaaa += tmp75.transpose((1, 0, 3, 2)) + t2new.aaaa += tmp75.transpose((1, 0, 2, 3)) * -1 + del tmp75 tmp45 = einsum(t1.aa, (0, 1), v.aaaa.ooov, (2, 0, 3, 4), (2, 3, 1, 4), optimize=True) t2new.aaaa += tmp45 * -1 t2new.aaaa += tmp45.transpose((1, 0, 2, 3)) t2new.aaaa += tmp45.transpose((0, 1, 3, 2)) del tmp45 - tmp112 = einsum(t1.aa, (0, 1), tmp1, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) - t2new.aaaa += tmp112 * -1 - t2new.aaaa += tmp112.transpose((1, 0, 2, 3)) - del tmp112 - tmp111 = v.aaaa.vvvv.transpose((2, 3, 1, 0)).copy() * -1 - tmp111 += einsum(tmp110, (0, 1, 2, 3), t1.aa, (0, 4), (1, 4, 3, 2), optimize=True) - del tmp110 - t2new.aaaa += einsum(tmp111, (0, 1, 2, 3), t2.aaaa, (4, 5, 0, 3), (5, 4, 2, 1), optimize=True) * -2 - del tmp111 - tmp55 = tmp53.copy() - del tmp53 - tmp55 += tmp54 * 0.5 - del tmp54 - t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp55, (4, 2), (1, 0, 3, 4), optimize=True) * -4 - del tmp55 - tmp114 = einsum(v.aaaa.ovvv, (0, 1, 2, 3), t2.aaaa, (4, 5, 1, 3), (4, 5, 0, 2), optimize=True) - t2new.aaaa += einsum(tmp114, (0, 1, 2, 3), t1.aa, (2, 4), (0, 1, 4, 3), optimize=True) * -2 - del tmp114 - tmp103 = einsum(t1.aa, (0, 1), tmp102, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) - del tmp102 - t2new.aaaa += tmp103.transpose((1, 0, 2, 3)) - t2new.aaaa += tmp103 * -1 - t2new.aaaa += tmp103.transpose((1, 0, 3, 2)) * -1 - t2new.aaaa += tmp103.transpose((0, 1, 3, 2)) - del tmp103 - tmp86 = v.aaaa.ooov.transpose((1, 0, 2, 3)).copy() - tmp86 += tmp1.transpose((2, 0, 1, 3)) - t2new.aaaa += einsum(tmp86, (0, 1, 2, 3), t1.aa, (0, 4), (2, 1, 3, 4), optimize=True) * -1 - del tmp86 - tmp97 = einsum(tmp96, (0, 1, 2, 3), t2.abab, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) - del tmp96 - t2new.aaaa += tmp97.transpose((1, 0, 2, 3)) * -1 - t2new.aaaa += tmp97.transpose((1, 0, 3, 2)) - del tmp97 - tmp76 = einsum(tmp70, (0, 1, 2, 3), t1.aa, (2, 4), (0, 1, 4, 3), optimize=True) + tmp71 = einsum(t2.aaaa, (0, 1, 2, 3), tmp70, (4, 5, 1, 0), (4, 5, 2, 3), optimize=True) * -1 del tmp70 - t2new.aaaa += tmp76.transpose((0, 1, 3, 2)) * -1 - t2new.aaaa += tmp76 - del tmp76 - tmp99 = tmp1.copy() - tmp99 += tmp98.transpose((0, 2, 1, 3)) * -1 - del tmp98 - t2new.aaaa += einsum(tmp99, (0, 1, 2, 3), t1.aa, (2, 4), (0, 1, 3, 4), optimize=True) - del tmp99 - tmp41 = f.bb.oo.transpose((1, 0)).copy() + t2new.aaaa += tmp71.transpose((0, 1, 3, 2)) * 2 + t2new.aaaa += tmp71.transpose((1, 0, 3, 2)) * -2 + del tmp71 + tmp69 = f.aa.vv.copy() * -1 + tmp69 += tmp63.transpose((1, 0)) * -1 + del tmp63 + tmp69 += einsum(tmp68, (0, 1, 2, 3), t1.aa, (0, 2), (1, 3), optimize=True) * -1 + del tmp68 + tmp69 += einsum(tmp9, (0, 1), t1.aa, (0, 2), (1, 2), optimize=True) + del tmp9 + t2new.aaaa += einsum(tmp69, (0, 1), t2.aaaa, (2, 3, 4, 0), (2, 3, 4, 1), optimize=True) * -2 + del tmp69 + tmp102 = tmp3.copy() + tmp102 += tmp101.transpose((0, 2, 1, 3)) * -1 + del tmp101 + t2new.aaaa += einsum(t1.aa, (0, 1), tmp102, (2, 3, 0, 4), (2, 3, 4, 1), optimize=True) + del tmp102 + tmp114 = v.aaaa.vvvv.copy() + tmp114 += einsum(t1.aa, (0, 1), tmp113, (0, 2, 3, 4), (2, 4, 3, 1), optimize=True) + del tmp113 + t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp114, (2, 4, 3, 5), (0, 1, 4, 5), optimize=True) * 2 + del tmp114 + tmp31 = v.bbbb.ovov.transpose((0, 2, 1, 3)).copy() + tmp31 += v.bbbb.oovv * -1 + t1new.bb += einsum(t1.bb, (0, 1), tmp31, (0, 2, 1, 3), (2, 3), optimize=True) + del tmp31 + tmp42 = f.bb.vv.copy() + tmp42 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), t1.bb, (0, 3), (1, 2), optimize=True) * -1 + t1new.bb += einsum(t1.bb, (0, 1), tmp42, (1, 2), (0, 2), optimize=True) + del tmp42 + tmp41 = f.bb.oo.copy() tmp41 += tmp32.transpose((1, 0)) del tmp32 tmp41 += tmp33.transpose((1, 0)) @@ -798,51 +809,43 @@ def update_amps(f=None, t1=None, t2=None, v=None, **kwargs): del tmp40 t1new.bb += einsum(t1.bb, (0, 1), tmp41, (0, 2), (2, 1), optimize=True) * -1 del tmp41 - tmp27 = v.aabb.ovoo.transpose((0, 3, 2, 1)).copy() + tmp27 = v.aabb.ovoo.transpose((0, 2, 3, 1)).copy() tmp27 += tmp26.transpose((0, 2, 1, 3)) del tmp26 - t1new.bb += einsum(t2.abab, (0, 1, 2, 3), tmp27, (0, 1, 4, 2), (4, 3), optimize=True) * -1 + t1new.bb += einsum(tmp27, (0, 1, 2, 3), t2.abab, (0, 1, 3, 4), (2, 4), optimize=True) * -1 del tmp27 - tmp42 = f.bb.vv.transpose((1, 0)).copy() - tmp42 += einsum(t1.bb, (0, 1), v.bbbb.ovvv, (0, 1, 2, 3), (3, 2), optimize=True) - t1new.bb += einsum(tmp42, (0, 1), t1.bb, (2, 0), (2, 1), optimize=True) - del tmp42 - tmp30 = t2.bbbb.transpose((1, 0, 3, 2)).copy() * 2 - tmp30 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3), optimize=True) - t1new.bb += einsum(tmp30, (0, 1, 2, 3), v.bbbb.ovvv, (0, 3, 2, 4), (1, 4), optimize=True) * -1 + tmp30 = t2.bbbb.copy() * 2 + tmp30 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (2, 0, 3, 1), optimize=True) + t1new.bb += einsum(v.bbbb.ovvv, (0, 1, 2, 3), tmp30, (0, 4, 1, 3), (4, 2), optimize=True) del tmp30 - tmp29 = v.bbbb.ooov.transpose((1, 2, 0, 3)).copy() + tmp29 = v.bbbb.ooov.transpose((0, 2, 1, 3)).copy() tmp29 += tmp28 del tmp28 - t1new.bb += einsum(tmp29, (0, 1, 2, 3), t2.bbbb, (1, 2, 3, 4), (0, 4), optimize=True) * -2 + t1new.bb += einsum(t2.bbbb, (0, 1, 2, 3), tmp29, (4, 0, 1, 3), (4, 2), optimize=True) * 2 del tmp29 - tmp31 = v.bbbb.ovov.transpose((2, 0, 3, 1)).copy() - tmp31 += v.bbbb.oovv.transpose((1, 0, 3, 2)) * -1 - t1new.bb += einsum(tmp31, (0, 1, 2, 3), t1.bb, (0, 2), (1, 3), optimize=True) - del tmp31 - tmp14 = v.aaaa.ovov.transpose((2, 0, 3, 1)).copy() - tmp14 += v.aaaa.oovv.transpose((1, 0, 3, 2)) * -1 - t1new.aa += einsum(t1.aa, (0, 1), tmp14, (0, 2, 1, 3), (2, 3), optimize=True) - del tmp14 - tmp6 = t2.aaaa.transpose((1, 0, 3, 2)).copy() * 2 - tmp6 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1), optimize=True) - t1new.aa += einsum(v.aaaa.ovvv, (0, 1, 2, 3), tmp6, (0, 4, 2, 1), (4, 3), optimize=True) * -1 - del tmp6 - tmp25 = f.aa.vv.transpose((1, 0)).copy() - tmp25 += einsum(t1.aa, (0, 1), v.aaaa.ovvv, (0, 1, 2, 3), (3, 2), optimize=True) - t1new.aa += einsum(tmp25, (0, 1), t1.aa, (2, 0), (2, 1), optimize=True) - del tmp25 - tmp4 = v.aabb.ooov.transpose((1, 0, 2, 3)).copy() - tmp4 += tmp3.transpose((1, 0, 2, 3)) + tmp4 = v.aaaa.ooov.transpose((0, 2, 1, 3)).copy() + tmp4 += tmp3 del tmp3 - t1new.aa += einsum(tmp4, (0, 1, 2, 3), t2.abab, (0, 2, 4, 3), (1, 4), optimize=True) * -1 + t1new.aa += einsum(t2.aaaa, (0, 1, 2, 3), tmp4, (4, 0, 1, 3), (4, 2), optimize=True) * 2 del tmp4 - tmp2 = v.aaaa.ooov.transpose((1, 2, 0, 3)).copy() - tmp2 += tmp1 + tmp25 = f.aa.vv.copy() + tmp25 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), t1.aa, (0, 1), (2, 3), optimize=True) + t1new.aa += einsum(tmp25, (0, 1), t1.aa, (2, 0), (2, 1), optimize=True) + del tmp25 + tmp14 = v.aaaa.ovov.transpose((0, 2, 1, 3)).copy() + tmp14 += v.aaaa.oovv * -1 + t1new.aa += einsum(tmp14, (0, 1, 2, 3), t1.aa, (0, 2), (1, 3), optimize=True) + del tmp14 + tmp5 = t2.aaaa.copy() * 2 + tmp5 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 1, 3), optimize=True) + t1new.aa += einsum(v.aaaa.ovvv, (0, 1, 2, 3), tmp5, (0, 4, 3, 1), (4, 2), optimize=True) * -1 + del tmp5 + tmp2 = v.aabb.ooov.copy() + tmp2 += tmp1.transpose((1, 0, 2, 3)) del tmp1 - t1new.aa += einsum(t2.aaaa, (0, 1, 2, 3), tmp2, (4, 0, 1, 2), (4, 3), optimize=True) * -2 + t1new.aa += einsum(tmp2, (0, 1, 2, 3), t2.abab, (0, 2, 4, 3), (1, 4), optimize=True) * -1 del tmp2 - tmp24 = f.aa.oo.transpose((1, 0)).copy() + tmp24 = f.aa.oo.copy() tmp24 += tmp15.transpose((1, 0)) del tmp15 tmp24 += tmp16.transpose((1, 0)) * 2 @@ -853,23 +856,23 @@ def update_amps(f=None, t1=None, t2=None, v=None, **kwargs): del tmp19 tmp24 += tmp23.transpose((1, 0)) del tmp23 - t1new.aa += einsum(tmp24, (0, 1), t1.aa, (0, 2), (1, 2), optimize=True) * -1 + t1new.aa += einsum(t1.aa, (0, 1), tmp24, (0, 2), (2, 1), optimize=True) * -1 del tmp24 t1new.aa += f.aa.ov t1new.bb += f.bb.ov - t2new.aaaa += v.aaaa.ovov.transpose((2, 0, 3, 1)) - t2new.aaaa += v.aaaa.ovov.transpose((2, 0, 1, 3)) * -1 - t2new.abab += einsum(t2.abab, (0, 1, 2, 3), v.aabb.oooo, (4, 0, 5, 1), (4, 5, 2, 3), optimize=True) * 0.5 - t2new.abab += einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.abab, (0, 4, 1, 5), (2, 4, 3, 5), optimize=True) + t2new.aaaa += v.aaaa.ovov.transpose((0, 2, 1, 3)) + t2new.aaaa += v.aaaa.ovov.transpose((0, 2, 3, 1)) * -1 + t2new.abab += einsum(v.aabb.oooo, (0, 1, 2, 3), t2.abab, (1, 3, 4, 5), (0, 2, 4, 5), optimize=True) * 0.5 + t2new.abab += einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.abab, (2, 4, 3, 5), (0, 4, 1, 5), optimize=True) t2new.abab += v.aabb.ovov.transpose((0, 2, 1, 3)) - t2new.bbbb += v.bbbb.ovov.transpose((2, 0, 3, 1)) - t2new.bbbb += v.bbbb.ovov.transpose((2, 0, 1, 3)) * -1 + t2new.bbbb += v.bbbb.ovov.transpose((0, 2, 1, 3)) + t2new.bbbb += v.bbbb.ovov.transpose((0, 2, 3, 1)) * -1 return {f"t1new": t1new, f"t2new": t2new} def update_lams(f=None, l1=None, l2=None, t1=None, t2=None, v=None, **kwargs): """ - Code generated by `albert` 0.0.0 on 2024-07-18T20:19:38.787706. + Code generated by `albert` 0.0.0 on 2024-07-22T17:00:45.872251. Parameters ---------- @@ -896,1061 +899,1052 @@ def update_lams(f=None, l1=None, l2=None, t1=None, t2=None, v=None, **kwargs): l1new = Namespace() l2new = Namespace() - tmp99 = v.bbbb.ovov.transpose((2, 0, 1, 3)).copy() * -1 - tmp99 += v.bbbb.ovov.transpose((2, 0, 3, 1)) - tmp12 = v.aaaa.ovov.transpose((2, 0, 1, 3)).copy() - tmp12 += v.aaaa.ovov.transpose((2, 0, 3, 1)) * -1 - tmp7 = einsum(v.aabb.ovov, (0, 1, 2, 3), t1.bb, (4, 3), (0, 4, 2, 1), optimize=True) - tmp72 = einsum(l2.bbbb, (0, 1, 2, 3), t1.bb, (4, 1), (2, 3, 4, 0), optimize=True) - l2new.abab = einsum(tmp72, (0, 1, 2, 3), v.aabb.ovoo, (4, 5, 1, 2), (5, 3, 4, 0), optimize=True) * -2 - l2new.abab += einsum(tmp72, (0, 1, 2, 3), tmp7, (4, 1, 2, 5), (5, 3, 4, 0), optimize=True) * -2 - l1new.bb = einsum(tmp72, (0, 1, 2, 3), v.bbbb.oovv, (1, 2, 4, 3), (4, 0), optimize=True) * -2 - tmp100 = einsum(tmp99, (0, 1, 2, 3), t1.bb, (0, 3), (1, 2), optimize=True) - tmp98 = einsum(t1.aa, (0, 1), v.aabb.ovov, (0, 1, 2, 3), (2, 3), optimize=True) - tmp255 = v.bbbb.ovvv.transpose((0, 1, 3, 2)).copy() * -1 - tmp255 += v.bbbb.ovvv.transpose((0, 3, 1, 2)) - tmp201 = v.bbbb.ovvv.transpose((0, 1, 3, 2)).copy() - tmp201 += v.bbbb.ovvv.transpose((0, 3, 1, 2)) * -1 - tmp13 = einsum(t1.aa, (0, 1), tmp12, (0, 2, 1, 3), (2, 3), optimize=True) + tmp97 = v.bbbb.ovov.transpose((0, 2, 3, 1)).copy() * -1 + tmp97 += v.bbbb.ovov.transpose((0, 2, 1, 3)) + tmp12 = v.aaaa.ovov.transpose((0, 2, 3, 1)).copy() * -1 + tmp12 += v.aaaa.ovov.transpose((0, 2, 1, 3)) + tmp98 = einsum(t1.bb, (0, 1), tmp97, (0, 2, 3, 1), (2, 3), optimize=True) + tmp96 = einsum(t1.aa, (0, 1), v.aabb.ovov, (0, 1, 2, 3), (2, 3), optimize=True) tmp11 = einsum(v.aabb.ovov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1), optimize=True) - tmp0 = einsum(t1.bb, (0, 1), l2.abab, (2, 1, 3, 4), (3, 4, 0, 2), optimize=True) - l2new.abab += einsum(v.bbaa.ovvv, (0, 1, 2, 3), tmp0, (4, 5, 0, 3), (2, 1, 4, 5), optimize=True) * -1 - l1new.aa = einsum(tmp0, (0, 1, 2, 3), v.bbaa.oovv, (1, 2, 4, 3), (4, 0), optimize=True) * -1 - tmp55 = v.aaaa.ovvv.transpose((0, 1, 3, 2)).copy() - tmp55 += v.aaaa.ovvv.transpose((0, 3, 2, 1)) * -1 - tmp3 = einsum(l2.aaaa, (0, 1, 2, 3), t1.aa, (4, 1), (2, 3, 4, 0), optimize=True) - l2new.abab += einsum(tmp3, (0, 1, 2, 3), v.aabb.ooov, (1, 2, 4, 5), (3, 5, 0, 4), optimize=True) * -2 - l1new.aa += einsum(tmp3, (0, 1, 2, 3), v.aaaa.oovv, (1, 2, 4, 3), (4, 0), optimize=True) * -2 - tmp32 = v.aaaa.ovvv.transpose((0, 1, 3, 2)).copy() * -1 - tmp32 += v.aaaa.ovvv.transpose((0, 3, 1, 2)) - tmp75 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 3, 0, 4), (4, 1), optimize=True) - tmp76 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (2, 3, 0, 4), (4, 1), optimize=True) - tmp74 = einsum(t1.bb, (0, 1), l1.bb, (1, 2), (2, 0), optimize=True) - tmp19 = v.aabb.ovoo.transpose((0, 3, 2, 1)).copy() - tmp19 += tmp7 - l2new.abab += einsum(tmp19, (0, 1, 2, 3), l1.bb, (4, 1), (3, 4, 0, 2), optimize=True) * -1 - tmp96 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t1.bb, (4, 1), (4, 2, 0, 3), optimize=True) - tmp5 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t1.aa, (4, 1), (4, 2, 0, 3), optimize=True) - tmp124 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (2, 3, 4, 5), (4, 5, 0, 1), optimize=True) - tmp122 = einsum(tmp72, (0, 1, 2, 3), t1.bb, (4, 3), (0, 1, 4, 2), optimize=True) - tmp114 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 5), (3, 4, 1, 5), optimize=True) - tmp115 = einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 2, 5, 1), (3, 4, 0, 5), optimize=True) * -1 - tmp140 = v.bbbb.ooov.transpose((1, 0, 2, 3)).copy() * -1 - tmp140 += v.bbbb.ooov.transpose((2, 1, 0, 3)) - tmp101 = f.bb.ov.copy() - tmp101 += tmp98 - tmp101 += tmp100 * -1 - del tmp100 - l2new.bbbb = einsum(tmp101, (0, 1), tmp72, (2, 3, 0, 4), (4, 1, 3, 2), optimize=True) * 2 - tmp66 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 4, 0, 1), (4, 3), optimize=True) - tmp67 = einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (2, 3, 0, 4), (1, 4), optimize=True) - tmp206 = v.bbbb.ovov.transpose((2, 0, 1, 3)).copy() * -1 - tmp206 += v.bbbb.ovov.transpose((2, 0, 3, 1)) - tmp204 = einsum(v.bbaa.ovvv, (0, 1, 2, 3), t1.aa, (4, 2), (4, 0, 3, 1), optimize=True) - tmp239 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 5, 3), (4, 0, 5, 1), optimize=True) - tmp205 = einsum(t2.aaaa, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 5), (1, 4, 3, 5), optimize=True) - tmp216 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 2, 1, 4), (4, 3), optimize=True) - tmp134 = einsum(t1.aa, (0, 1), v.aabb.ovvv, (0, 1, 2, 3), (2, 3), optimize=True) - tmp256 = einsum(tmp255, (0, 1, 2, 3), t1.bb, (0, 2), (1, 3), optimize=True) - del tmp255 - tmp217 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (0, 2, 1, 4), (4, 3), optimize=True) - tmp202 = einsum(t1.bb, (0, 1), tmp201, (2, 1, 3, 4), (2, 0, 3, 4), optimize=True) - del tmp201 - tmp199 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 4, 1, 5), (4, 2, 5, 3), optimize=True) - tmp237 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (2, 4, 3, 5), (4, 0, 5, 1), optimize=True) - tmp184 = v.aaaa.ovov.transpose((2, 0, 1, 3)).copy() - tmp184 += v.aaaa.ovov.transpose((2, 0, 3, 1)) * -1 - tmp89 = v.aaaa.ooov.transpose((1, 0, 2, 3)).copy() * -1 - tmp89 += v.aaaa.ooov.transpose((2, 1, 0, 3)) + tmp13 = einsum(tmp12, (0, 1, 2, 3), t1.aa, (0, 3), (1, 2), optimize=True) + tmp7 = einsum(v.aabb.ovov, (0, 1, 2, 3), t1.bb, (4, 3), (0, 4, 2, 1), optimize=True) + tmp202 = v.bbbb.ovvv.copy() + tmp202 += v.bbbb.ovvv.transpose((0, 2, 1, 3)) * -1 + tmp140 = v.bbbb.ooov.copy() + tmp140 += v.bbbb.ovoo.transpose((0, 2, 3, 1)) * -1 + tmp99 = f.bb.ov.copy() + tmp99 += tmp96 + tmp99 += tmp98 * -1 + del tmp98 + tmp128 = v.bbbb.ovvv.copy() + tmp128 += v.bbbb.ovvv.transpose((0, 2, 3, 1)) * -1 + tmp73 = einsum(l2.bbbb, (0, 1, 2, 3), t1.bb, (4, 1), (2, 3, 4, 0), optimize=True) + l2new.bbbb = einsum(tmp73, (0, 1, 2, 3), tmp99, (2, 4), (3, 4, 1, 0), optimize=True) * 2 + l2new.abab = einsum(tmp7, (0, 1, 2, 3), tmp73, (4, 1, 2, 5), (3, 5, 0, 4), optimize=True) * -2 + l2new.abab += einsum(tmp73, (0, 1, 2, 3), v.aabb.ovoo, (4, 5, 2, 1), (5, 3, 4, 0), optimize=True) * -2 + l1new.bb = einsum(v.bbbb.oovv, (0, 1, 2, 3), tmp73, (4, 1, 0, 3), (2, 4), optimize=True) * -2 + tmp4 = einsum(t1.bb, (0, 1), l2.abab, (2, 1, 3, 4), (3, 4, 0, 2), optimize=True) + l2new.abab += einsum(v.aabb.vvov, (0, 1, 2, 3), tmp4, (4, 5, 2, 1), (0, 3, 4, 5), optimize=True) * -1 + l1new.aa = einsum(v.aabb.vvoo, (0, 1, 2, 3), tmp4, (4, 3, 2, 1), (0, 4), optimize=True) * -1 + tmp32 = v.aaaa.ovvv.copy() + tmp32 += v.aaaa.ovvv.transpose((0, 2, 1, 3)) * -1 + tmp89 = v.aaaa.ooov.copy() * -1 + tmp89 += v.aaaa.ovoo.transpose((0, 2, 3, 1)) tmp14 = f.aa.ov.copy() tmp14 += tmp11 tmp14 += tmp13 * -1 del tmp13 - l2new.aaaa = einsum(tmp14, (0, 1), tmp3, (2, 3, 0, 4), (4, 1, 3, 2), optimize=True) * 2 - tmp37 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 3, 4, 5), (4, 0, 5, 1), optimize=True) - tmp38 = einsum(tmp0, (0, 1, 2, 3), t1.aa, (4, 3), (0, 4, 1, 2), optimize=True) - tmp52 = einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (2, 3, 0, 4), (1, 4), optimize=True) - tmp53 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (4, 3, 0, 1), (4, 2), optimize=True) - tmp83 = einsum(v.bbaa.ovvv, (0, 1, 2, 3), t1.bb, (0, 1), (2, 3), optimize=True) - tmp180 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 2, 4, 3), (4, 1), optimize=True) - tmp181 = einsum(t1.aa, (0, 1), tmp55, (0, 1, 2, 3), (2, 3), optimize=True) - tmp179 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.aaaa, (0, 2, 1, 4), (4, 3), optimize=True) - tmp47 = einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 5, 0, 1), (2, 3, 4, 5), optimize=True) - tmp44 = einsum(tmp3, (0, 1, 2, 3), t1.aa, (4, 3), (0, 1, 4, 2), optimize=True) - tmp157 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.aaaa, (2, 4, 3, 5), (4, 0, 5, 1), optimize=True) - tmp158 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 5, 3), (4, 0, 5, 1), optimize=True) - tmp168 = einsum(t1.aa, (0, 1), tmp32, (2, 3, 1, 4), (0, 2, 3, 4), optimize=True) - tmp61 = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (2, 3, 0, 4), (4, 1), optimize=True) - tmp60 = einsum(l1.aa, (0, 1), t1.aa, (2, 0), (1, 2), optimize=True) + tmp55 = v.aaaa.ovvv.copy() * -1 + tmp55 += v.aaaa.ovvv.transpose((0, 2, 1, 3)) + tmp2 = einsum(t1.aa, (0, 1), l2.aaaa, (2, 1, 3, 4), (3, 4, 0, 2), optimize=True) + l2new.abab += einsum(v.aabb.ooov, (0, 1, 2, 3), tmp2, (4, 1, 0, 5), (5, 3, 4, 2), optimize=True) * -2 + l2new.aaaa = einsum(tmp2, (0, 1, 2, 3), tmp14, (2, 4), (3, 4, 1, 0), optimize=True) * 2 + l1new.aa += einsum(v.aaaa.oovv, (0, 1, 2, 3), tmp2, (4, 1, 0, 3), (2, 4), optimize=True) * -2 + tmp77 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (2, 3, 4, 1), (4, 0), optimize=True) + tmp76 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 1), (3, 4), optimize=True) + tmp75 = einsum(l1.bb, (0, 1), t1.bb, (2, 0), (1, 2), optimize=True) + tmp60 = einsum(t1.aa, (0, 1), l1.aa, (1, 2), (2, 0), optimize=True) + tmp61 = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (2, 3, 4, 1), (4, 0), optimize=True) tmp62 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 3, 4, 1), (4, 0), optimize=True) - tmp33 = einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 2, 5, 1), (3, 4, 0, 5), optimize=True) * -1 + tmp94 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t1.bb, (4, 3), (4, 0, 2, 1), optimize=True) + tmp19 = v.aabb.ovoo.transpose((0, 2, 3, 1)).copy() + tmp19 += tmp7 + l2new.abab += einsum(tmp19, (0, 1, 2, 3), l1.bb, (4, 1), (3, 4, 0, 2), optimize=True) * -1 + tmp5 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 2, 1), optimize=True) + tmp68 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (4, 3, 0, 1), (4, 2), optimize=True) + tmp67 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 4, 0, 1), (4, 3), optimize=True) + tmp239 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 5, 3), (4, 0, 5, 1), optimize=True) + tmp206 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 1), (4, 2, 5, 3), optimize=True) + tmp205 = einsum(v.aabb.vvov, (0, 1, 2, 3), t1.aa, (4, 1), (4, 2, 0, 3), optimize=True) + tmp112 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 4, 0, 5), (5, 1, 4, 3), optimize=True) + tmp113 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (4, 3, 5, 1), (5, 0, 4, 2), optimize=True) + tmp203 = einsum(tmp202, (0, 1, 2, 3), t1.bb, (4, 1), (0, 4, 2, 3), optimize=True) + del tmp202 + tmp237 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (4, 2, 5, 3), (4, 0, 5, 1), optimize=True) + tmp200 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 5), (1, 4, 3, 5), optimize=True) + tmp207 = v.bbbb.ovov.transpose((0, 2, 3, 1)).copy() * -1 + tmp207 += v.bbbb.ovov.transpose((0, 2, 1, 3)) + tmp137 = einsum(t1.aa, (0, 1), v.aabb.ovoo, (0, 1, 2, 3), (2, 3), optimize=True) + tmp139 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 3, 1, 2), (0, 4), optimize=True) * -1 + tmp141 = einsum(t1.bb, (0, 1), tmp140, (0, 2, 3, 1), (2, 3), optimize=True) + del tmp140 + tmp142 = einsum(tmp99, (0, 1), t1.bb, (2, 1), (2, 0), optimize=True) + tmp138 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 3), (1, 4), optimize=True) + tmp255 = einsum(tmp128, (0, 1, 2, 3), t1.bb, (0, 1), (2, 3), optimize=True) + tmp218 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (0, 2, 4, 3), (4, 1), optimize=True) + tmp217 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 1, 4), (3, 4), optimize=True) + tmp133 = einsum(t1.aa, (0, 1), v.aabb.ovvv, (0, 1, 2, 3), (2, 3), optimize=True) + tmp124 = einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 5, 0, 1), (2, 3, 4, 5), optimize=True) + tmp122 = einsum(tmp73, (0, 1, 2, 3), t1.bb, (4, 3), (1, 0, 2, 4), optimize=True) + tmp184 = v.aaaa.ovov.transpose((0, 2, 3, 1)).copy() * -1 + tmp184 += v.aaaa.ovov.transpose((0, 2, 1, 3)) + tmp38 = einsum(t1.aa, (0, 1), tmp4, (2, 3, 4, 1), (2, 0, 3, 4), optimize=True) + tmp37 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 5, 0, 1), (2, 4, 3, 5), optimize=True) + tmp53 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (4, 3, 0, 1), (4, 2), optimize=True) + tmp52 = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (4, 3, 0, 1), (4, 2), optimize=True) + tmp157 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 5, 1, 3), (0, 4, 2, 5), optimize=True) + tmp169 = einsum(t1.aa, (0, 1), tmp32, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) + tmp158 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (0, 4, 2, 5), optimize=True) + tmp88 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 1, 3), (0, 4), optimize=True) + tmp87 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.aaaa, (4, 2, 1, 3), (4, 0), optimize=True) + tmp90 = einsum(t1.aa, (0, 1), tmp89, (2, 3, 0, 1), (2, 3), optimize=True) + tmp91 = einsum(t1.aa, (0, 1), tmp14, (2, 1), (0, 2), optimize=True) + tmp86 = einsum(v.aabb.ooov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1), optimize=True) + tmp181 = einsum(tmp55, (0, 1, 2, 3), t1.aa, (0, 2), (1, 3), optimize=True) + tmp180 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 4, 1, 3), (2, 4), optimize=True) + tmp179 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (0, 4, 1, 3), (2, 4), optimize=True) + tmp83 = einsum(v.aabb.vvov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1), optimize=True) + tmp33 = einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 3, 5, 1), (2, 4, 0, 5), optimize=True) tmp34 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (4, 3, 5, 1), (5, 0, 4, 2), optimize=True) - tmp161 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.bbbb, (2, 4, 3, 5), (0, 4, 1, 5), optimize=True) - tmp15 = einsum(v.aabb.ovvv, (0, 1, 2, 3), t1.bb, (4, 3), (0, 4, 1, 2), optimize=True) - tmp160 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.abab, (0, 4, 1, 5), (2, 4, 3, 5), optimize=True) - tmp77 = tmp74.copy() - del tmp74 - tmp77 += tmp75 - del tmp75 - tmp77 += tmp76 * 2 - del tmp76 - l2new.abab += einsum(v.aabb.ovov, (0, 1, 2, 3), tmp77, (4, 2), (1, 3, 0, 4), optimize=True) * -1 - l1new.bb += einsum(tmp101, (0, 1), tmp77, (2, 0), (1, 2), optimize=True) * -1 - l1new.aa += einsum(v.aabb.ovoo, (0, 1, 2, 3), tmp77, (3, 2), (1, 0), optimize=True) * -1 + tmp162 = einsum(t2.bbbb, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (4, 0, 5, 2), optimize=True) + tmp161 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.abab, (2, 4, 3, 5), (0, 4, 1, 5), optimize=True) + tmp15 = einsum(t1.bb, (0, 1), v.aabb.ovvv, (2, 3, 4, 1), (2, 0, 3, 4), optimize=True) + tmp47 = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (2, 3, 4, 5), (4, 5, 0, 1), optimize=True) + tmp44 = einsum(tmp2, (0, 1, 2, 3), t1.aa, (4, 3), (1, 0, 2, 4), optimize=True) + tmp78 = tmp75.copy() + tmp78 += tmp76 + tmp78 += tmp77 * 2 + l2new.abab += einsum(tmp78, (0, 1), v.aabb.ovov, (2, 3, 1, 4), (3, 4, 2, 0), optimize=True) * -1 + l1new.aa += einsum(tmp78, (0, 1), v.aabb.ovoo, (2, 3, 1, 0), (3, 2), optimize=True) * -1 + tmp63 = tmp60.copy() * 0.5 + tmp63 += tmp61 + tmp63 += tmp62 * 0.5 + l1new.bb += einsum(tmp63, (0, 1), v.aabb.ooov, (1, 0, 2, 3), (3, 2), optimize=True) * -2 + tmp36 = einsum(t1.aa, (0, 1), l2.abab, (1, 2, 3, 4), (3, 0, 4, 2), optimize=True) + l2new.abab += einsum(tmp36, (0, 1, 2, 3), v.aabb.ovvv, (1, 4, 5, 3), (4, 5, 0, 2), optimize=True) * -1 + l1new.bb += einsum(tmp36, (0, 1, 2, 3), v.aabb.oovv, (1, 0, 4, 3), (4, 2), optimize=True) * -1 + tmp107 = einsum(v.bbbb.ooov, (0, 1, 2, 3), t1.bb, (4, 3), (4, 0, 1, 2), optimize=True) + tmp106 = einsum(tmp94, (0, 1, 2, 3), t1.bb, (4, 3), (4, 0, 1, 2), optimize=True) + tmp105 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 2, 5, 3), (0, 1, 4, 5), optimize=True) + tmp100 = einsum(v.aabb.vvov, (0, 1, 2, 3), t1.bb, (4, 3), (4, 2, 0, 1), optimize=True) + tmp9 = einsum(t1.aa, (0, 1), v.aabb.ovov, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) + l2new.abab += einsum(tmp2, (0, 1, 2, 3), tmp9, (1, 2, 4, 5), (3, 5, 0, 4), optimize=True) * -2 tmp17 = einsum(v.aabb.ooov, (0, 1, 2, 3), t1.bb, (4, 3), (0, 1, 4, 2), optimize=True) - tmp18 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (4, 5, 1, 3), (4, 0, 5, 2), optimize=True) tmp20 = einsum(t1.aa, (0, 1), tmp19, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) - tmp102 = einsum(t1.bb, (0, 1), v.bbaa.ovvv, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) - tmp9 = einsum(t1.aa, (0, 1), v.aabb.ovov, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) - l2new.abab += einsum(tmp9, (0, 1, 2, 3), tmp3, (4, 0, 1, 5), (5, 3, 4, 2), optimize=True) * -2 - tmp109 = einsum(v.bbbb.ooov, (0, 1, 2, 3), t1.bb, (4, 3), (4, 0, 1, 2), optimize=True) - tmp108 = einsum(t1.bb, (0, 1), tmp96, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) - tmp107 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (4, 5, 1, 3), (4, 5, 0, 2), optimize=True) - tmp94 = einsum(t1.bb, (0, 1), v.bbbb.ovvv, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) - l1new.bb += einsum(tmp94, (0, 1, 2, 3), tmp72, (4, 0, 1, 3), (2, 4), optimize=True) * 2 - tmp36 = einsum(l2.abab, (0, 1, 2, 3), t1.aa, (4, 0), (2, 4, 3, 1), optimize=True) - l2new.abab += einsum(v.aabb.ovvv, (0, 1, 2, 3), tmp36, (4, 0, 5, 2), (1, 3, 4, 5), optimize=True) * -1 - l1new.bb += einsum(tmp36, (0, 1, 2, 3), v.aabb.oovv, (0, 1, 4, 3), (4, 2), optimize=True) * -1 - tmp4 = einsum(t1.aa, (0, 1), v.aaaa.ovvv, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) - l1new.aa += einsum(tmp3, (0, 1, 2, 3), tmp4, (1, 2, 4, 3), (4, 0), optimize=True) * 2 + tmp18 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 5, 3), (0, 4, 1, 5), optimize=True) + tmp3 = einsum(v.aaaa.ovvv, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 1, 2), optimize=True) + l1new.aa += einsum(tmp3, (0, 1, 2, 3), tmp2, (4, 0, 1, 3), (2, 4), optimize=True) * 2 + tmp28 = einsum(t1.aa, (0, 1), v.aaaa.ooov, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) + tmp26 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 3, 5, 2), (0, 1, 4, 5), optimize=True) * -1 tmp27 = einsum(t1.aa, (0, 1), tmp5, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) - tmp28 = einsum(v.aaaa.ooov, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 1, 2), optimize=True) - tmp26 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.aaaa, (4, 5, 1, 3), (4, 5, 0, 2), optimize=True) - tmp227 = v.bbbb.ooov.transpose((1, 2, 0, 3)).copy() - tmp227 += tmp96 + tmp244 = einsum(t1.bb, (0, 1), v.bbbb.ovov, (2, 3, 0, 1), (2, 3), optimize=True) + tmp191 = tmp67.copy() * 0.5 + tmp191 += tmp68 + l2new.abab += einsum(tmp191, (0, 1), v.aabb.ovov, (2, 3, 4, 1), (3, 0, 2, 4), optimize=True) * -2 + tmp248 = v.aabb.ovov.transpose((0, 2, 1, 3)).copy() + tmp248 += tmp205 + tmp248 += tmp206 * 2 + tmp248 += tmp239 + tmp114 = tmp112.copy() + del tmp112 + tmp114 += tmp113 * 4 + del tmp113 + tmp219 = v.bbbb.ovvv.copy() + tmp219 += v.bbbb.ovvv.transpose((0, 2, 1, 3)) * -1 + tmp246 = v.bbbb.ovov.transpose((0, 2, 1, 3)).copy() + tmp246 += v.bbbb.oovv * -1 + tmp246 += tmp200 + tmp246 += tmp237 * 2 + tmp246 += tmp203.transpose((1, 0, 3, 2)) * -1 + tmp227 = v.bbbb.ooov.transpose((0, 2, 1, 3)).copy() + tmp227 += tmp94 + tmp211 = einsum(t1.bb, (0, 1), tmp207, (0, 2, 3, 1), (2, 3), optimize=True) + tmp143 = f.bb.oo.copy() + tmp143 += tmp137.transpose((1, 0)) + del tmp137 + tmp143 += tmp138 + del tmp138 + tmp143 += tmp139 * 2 + del tmp139 + tmp143 += tmp141 * -1 + del tmp141 + tmp143 += tmp142 + del tmp142 + l2new.abab += einsum(tmp143, (0, 1), l2.abab, (2, 3, 4, 0), (2, 3, 4, 1), optimize=True) * -1 + l1new.bb += einsum(tmp143, (0, 1), l1.bb, (2, 0), (2, 1), optimize=True) * -1 + tmp256 = f.bb.vv.copy() * -1 + tmp256 += tmp133.transpose((1, 0)) * -1 + tmp256 += tmp217.transpose((1, 0)) + tmp256 += tmp218.transpose((1, 0)) * 2 + tmp256 += tmp255.transpose((1, 0)) * -1 + del tmp255 tmp253 = tmp124.transpose((1, 0, 3, 2)).copy() tmp253 += tmp122.transpose((0, 1, 3, 2)) * -1 - tmp116 = tmp114.copy() - del tmp114 - tmp116 += tmp115 * 4 - del tmp115 - tmp139 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (2, 4, 3, 1), (4, 0), optimize=True) - tmp141 = einsum(tmp140, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1), optimize=True) - tmp138 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 4, 1, 3), (4, 2), optimize=True) - tmp142 = einsum(tmp101, (0, 1), t1.bb, (2, 1), (2, 0), optimize=True) - tmp137 = einsum(t1.aa, (0, 1), v.aabb.ovoo, (0, 1, 2, 3), (2, 3), optimize=True) - tmp224 = tmp66.copy() * 0.5 - tmp224 += tmp67 - tmp209 = einsum(tmp206, (0, 1, 2, 3), t1.bb, (0, 3), (1, 2), optimize=True) - tmp247 = v.aabb.ovov.transpose((0, 2, 1, 3)).copy() - tmp247 += tmp204 - tmp247 += tmp205 * 2 - tmp247 += tmp239 - tmp135 = v.bbbb.ovvv.transpose((0, 1, 3, 2)).copy() - tmp135 += v.bbbb.ovvv.transpose((0, 3, 1, 2)) * -1 - tmp257 = f.bb.vv.transpose((1, 0)).copy() * -1 - tmp257 += tmp134.transpose((1, 0)) * -1 - tmp257 += tmp216.transpose((1, 0)) - tmp257 += tmp217.transpose((1, 0)) * 2 - tmp257 += tmp256 * -1 - del tmp256 - tmp243 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1), optimize=True) - tmp245 = v.bbbb.ovov.transpose((2, 0, 3, 1)).copy() - tmp245 += v.bbbb.oovv.transpose((1, 0, 3, 2)) * -1 - tmp245 += tmp199 - tmp245 += tmp237 * 2 - tmp245 += tmp202.transpose((1, 0, 3, 2)) * -1 - tmp193 = v.aaaa.ovov.transpose((2, 0, 1, 3)).copy() * -1 - tmp193 += v.aaaa.ovov.transpose((2, 0, 3, 1)) - tmp8 = v.aabb.ovoo.transpose((0, 3, 2, 1)).copy() - tmp8 += tmp7.transpose((0, 2, 1, 3)) - tmp200 = v.bbbb.ovov.transpose((2, 0, 1, 3)).copy() - tmp200 += v.bbbb.ovov.transpose((2, 0, 3, 1)) * -1 - tmp185 = einsum(t1.aa, (0, 1), tmp184, (0, 2, 1, 3), (2, 3), optimize=True) - del tmp184 - tmp90 = einsum(tmp89, (0, 1, 2, 3), t1.aa, (2, 3), (0, 1), optimize=True) - tmp88 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 1, 3), (4, 0), optimize=True) - tmp87 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 3, 0, 2), (1, 4), optimize=True) - tmp86 = einsum(v.aabb.ooov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1), optimize=True) - tmp91 = einsum(t1.aa, (0, 1), tmp14, (2, 1), (0, 2), optimize=True) + tmp185 = einsum(tmp184, (0, 1, 2, 3), t1.aa, (0, 3), (1, 2), optimize=True) + tmp159 = v.aaaa.ovvv.copy() + tmp159 += v.aaaa.ovvv.transpose((0, 2, 1, 3)) * -1 + tmp201 = v.bbbb.ovov.transpose((0, 2, 3, 1)).copy() + tmp201 += v.bbbb.ovov.transpose((0, 2, 1, 3)) * -1 tmp39 = tmp37.copy() tmp39 += tmp38 - tmp214 = v.aaaa.ovvv.transpose((0, 1, 3, 2)).copy() - tmp214 += v.aaaa.ovvv.transpose((0, 3, 1, 2)) * -1 - tmp166 = einsum(t1.aa, (0, 1), v.aaaa.ovov, (2, 3, 0, 1), (2, 3), optimize=True) - tmp144 = tmp52.copy() * 2 - tmp144 += tmp53 - tmp182 = f.aa.vv.transpose((1, 0)).copy() * -1 + tmp8 = v.aabb.ovoo.transpose((0, 2, 3, 1)).copy() + tmp8 += tmp7.transpose((0, 2, 1, 3)) + tmp194 = v.aaaa.ovov.transpose((0, 2, 3, 1)).copy() + tmp194 += v.aaaa.ovov.transpose((0, 2, 1, 3)) * -1 + tmp144 = tmp52.copy() + tmp144 += tmp53 * 0.5 + l2new.abab += einsum(tmp144, (0, 1), v.aabb.ovov, (2, 1, 3, 4), (0, 4, 2, 3), optimize=True) * -2 + tmp170 = v.aaaa.ovov.transpose((0, 2, 1, 3)).copy() + tmp170 += v.aaaa.oovv * -1 + tmp170 += tmp157 * 2 + tmp170 += tmp158 + tmp170 += tmp169.transpose((0, 1, 3, 2)) * -1 + tmp92 = f.aa.oo.copy() + tmp92 += tmp86.transpose((1, 0)) + tmp92 += tmp87 * 2 + tmp92 += tmp88 + tmp92 += tmp90.transpose((1, 0)) * -1 + del tmp90 + tmp92 += tmp91 + del tmp91 + l1new.aa += einsum(l1.aa, (0, 1), tmp92, (1, 2), (0, 2), optimize=True) * -1 + tmp167 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t1.aa, (2, 3), (0, 1), optimize=True) + tmp85 = tmp60.copy() + del tmp60 + tmp85 += tmp61 * 2 + del tmp61 + tmp85 += tmp62 + del tmp62 + l2new.abab += einsum(v.aabb.ovov, (0, 1, 2, 3), tmp85, (4, 0), (1, 3, 4, 2), optimize=True) * -1 + l1new.aa += einsum(tmp14, (0, 1), tmp85, (2, 0), (1, 2), optimize=True) * -1 + tmp182 = f.aa.vv.copy() * -1 tmp182 += tmp83.transpose((1, 0)) * -1 tmp182 += tmp179.transpose((1, 0)) * 2 tmp182 += tmp180.transpose((1, 0)) - tmp182 += tmp181.transpose((1, 0)) * -1 + tmp182 += tmp181 * -1 del tmp181 - tmp177 = tmp47.transpose((1, 0, 3, 2)).copy() - tmp177 += tmp44.transpose((0, 1, 3, 2)) * -1 - tmp169 = v.aaaa.ovov.transpose((2, 0, 3, 1)).copy() - tmp169 += v.aaaa.oovv.transpose((1, 0, 3, 2)) * -1 - tmp169 += tmp157 * 2 - tmp169 += tmp158 - tmp169 += tmp168.transpose((0, 1, 3, 2)) * -1 - tmp80 = tmp60.copy() - tmp80 += tmp61 * 2 - tmp80 += tmp62 - tmp84 = v.aaaa.ovvv.transpose((0, 1, 3, 2)).copy() * -1 - tmp84 += v.aaaa.ovvv.transpose((0, 3, 1, 2)) tmp35 = tmp33.copy() * 4 del tmp33 tmp35 += tmp34 del tmp34 - l1new.aa += einsum(tmp32, (0, 1, 2, 3), tmp35, (4, 0, 3, 2), (1, 4), optimize=True) + l1new.aa += einsum(tmp32, (0, 1, 2, 3), tmp35, (4, 0, 3, 2), (1, 4), optimize=True) * -1 del tmp32 - tmp147 = v.aaaa.ooov.transpose((1, 2, 0, 3)).copy() + tmp172 = v.aabb.ovov.transpose((0, 2, 1, 3)).copy() + tmp172 += tmp15 + tmp172 += tmp161 + tmp172 += tmp162 * 2 + tmp177 = tmp47.transpose((1, 0, 3, 2)).copy() + tmp177 += tmp44.transpose((0, 1, 3, 2)) * -1 + tmp147 = v.aaaa.ooov.transpose((0, 2, 1, 3)).copy() tmp147 += tmp5 - tmp171 = v.aabb.ovov.transpose((0, 2, 1, 3)).copy() - tmp171 += tmp15 - tmp171 += tmp160 - tmp171 += tmp161 * 2 - tmp63 = tmp60.copy() * 0.5 - del tmp60 - tmp63 += tmp61 - del tmp61 - tmp63 += tmp62 * 0.5 - del tmp62 - l2new.abab += einsum(tmp63, (0, 1), v.aabb.ovov, (1, 2, 3, 4), (2, 4, 0, 3), optimize=True) * -2 - l1new.bb += einsum(v.aabb.ooov, (0, 1, 2, 3), tmp63, (1, 0), (3, 2), optimize=True) * -2 - l1new.aa += einsum(tmp63, (0, 1), tmp14, (1, 2), (2, 0), optimize=True) * -2 - tmp70 = einsum(t2.bbbb, (0, 1, 2, 3), l1.bb, (3, 1), (0, 2), optimize=True) - tmp78 = einsum(t1.bb, (0, 1), tmp77, (0, 2), (2, 1), optimize=True) - tmp71 = einsum(tmp0, (0, 1, 2, 3), t2.abab, (0, 1, 3, 4), (2, 4), optimize=True) - tmp73 = einsum(t2.bbbb, (0, 1, 2, 3), tmp72, (0, 1, 4, 2), (4, 3), optimize=True) - tmp69 = einsum(l1.aa, (0, 1), t2.abab, (1, 2, 0, 3), (2, 3), optimize=True) - tmp21 = v.aabb.oooo.transpose((1, 0, 3, 2)).copy() + tmp71 = einsum(t2.bbbb, (0, 1, 2, 3), l1.bb, (3, 1), (0, 2), optimize=True) + tmp70 = einsum(t2.abab, (0, 1, 2, 3), l1.aa, (2, 0), (1, 3), optimize=True) + tmp79 = einsum(t1.bb, (0, 1), tmp78, (0, 2), (2, 1), optimize=True) + tmp72 = einsum(tmp4, (0, 1, 2, 3), t2.abab, (0, 1, 3, 4), (2, 4), optimize=True) + tmp74 = einsum(t2.bbbb, (0, 1, 2, 3), tmp73, (1, 0, 4, 3), (4, 2), optimize=True) + tmp64 = einsum(t1.aa, (0, 1), tmp63, (0, 2), (2, 1), optimize=True) * 2 + tmp59 = einsum(t2.abab, (0, 1, 2, 3), tmp36, (0, 4, 1, 3), (4, 2), optimize=True) + tmp56 = einsum(l1.aa, (0, 1), t2.aaaa, (2, 1, 3, 0), (2, 3), optimize=True) + tmp58 = einsum(tmp2, (0, 1, 2, 3), t2.aaaa, (1, 0, 4, 3), (2, 4), optimize=True) + tmp57 = einsum(l1.bb, (0, 1), t2.abab, (2, 1, 3, 0), (2, 3), optimize=True) + tmp104 = v.bbbb.ovov.transpose((0, 2, 1, 3)).copy() + tmp104 += v.bbbb.oovv * -1 + tmp104 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), t1.bb, (4, 3), (4, 0, 2, 1), optimize=True) + tmp108 = v.bbbb.oooo.copy() + tmp108 += tmp105.transpose((3, 1, 2, 0)) + tmp108 += tmp106.transpose((3, 1, 2, 0)) + tmp108 += tmp107.transpose((2, 1, 3, 0)) + tmp108 += tmp107.transpose((3, 2, 1, 0)) * -1 + tmp103 = v.bbbb.ooov.copy() + tmp103 += v.bbbb.ooov.transpose((0, 2, 1, 3)) * -1 + tmp103 += tmp94 * -1 + tmp103 += tmp94.transpose((0, 2, 1, 3)) + tmp134 = v.bbbb.ovvv.copy() * -1 + tmp134 += v.bbbb.ovvv.transpose((0, 2, 1, 3)) + tmp51 = einsum(t1.aa, (0, 1), l1.aa, (2, 0), (2, 1), optimize=True) + tmp120 = einsum(t2.abab, (0, 1, 2, 3), tmp4, (0, 4, 5, 2), (4, 5, 1, 3), optimize=True) + tmp121 = einsum(t2.bbbb, (0, 1, 2, 3), tmp73, (4, 1, 5, 3), (4, 5, 0, 2), optimize=True) * -1 + tmp66 = einsum(l1.bb, (0, 1), t1.bb, (1, 2), (0, 2), optimize=True) + tmp95 = v.bbbb.ooov.copy() * -1 + tmp95 += v.bbbb.ovoo.transpose((0, 2, 3, 1)) + tmp95 += tmp94.transpose((1, 0, 2, 3)) + tmp95 += tmp94.transpose((2, 0, 1, 3)) * -1 + tmp101 = v.aabb.vvoo.transpose((2, 3, 0, 1)).copy() + tmp101 += tmp100.transpose((1, 0, 3, 2)) + tmp10 = v.aabb.ooov.copy() + tmp10 += tmp9.transpose((1, 0, 2, 3)) + tmp21 = v.aabb.oooo.copy() tmp21 += tmp17.transpose((1, 0, 3, 2)) tmp21 += tmp18.transpose((1, 0, 3, 2)) tmp21 += tmp20.transpose((1, 0, 3, 2)) del tmp20 - tmp103 = v.bbaa.oovv.transpose((1, 0, 3, 2)).copy() - tmp103 += tmp102.transpose((1, 0, 3, 2)) - tmp10 = v.aabb.ooov.transpose((1, 0, 2, 3)).copy() - tmp10 += tmp9.transpose((1, 0, 2, 3)) - tmp97 = v.bbbb.ooov.transpose((1, 0, 2, 3)).copy() - tmp97 += v.bbbb.ooov.transpose((2, 1, 0, 3)) * -1 - tmp97 += tmp96.transpose((1, 0, 2, 3)) * -1 - tmp97 += tmp96.transpose((2, 0, 1, 3)) - tmp65 = einsum(l1.bb, (0, 1), t1.bb, (1, 2), (0, 2), optimize=True) - tmp120 = einsum(t2.abab, (0, 1, 2, 3), tmp0, (0, 4, 5, 2), (4, 5, 1, 3), optimize=True) - tmp121 = einsum(tmp72, (0, 1, 2, 3), t2.bbbb, (4, 1, 5, 3), (0, 2, 4, 5), optimize=True) * -1 - tmp110 = v.bbbb.oooo.transpose((2, 3, 1, 0)).copy() - tmp110 += tmp107.transpose((3, 1, 2, 0)) - tmp110 += tmp108.transpose((3, 1, 2, 0)) - tmp110 += tmp109.transpose((2, 1, 3, 0)) - tmp110 += tmp109.transpose((3, 2, 1, 0)) * -1 - tmp105 = v.bbbb.ooov.transpose((1, 0, 2, 3)).copy() - tmp105 += v.bbbb.ooov.transpose((1, 2, 0, 3)) * -1 - tmp105 += tmp96 * -1 - tmp105 += tmp96.transpose((0, 2, 1, 3)) - tmp106 = v.bbbb.ovov.transpose((2, 0, 3, 1)).copy() - tmp106 += v.bbbb.oovv.transpose((1, 0, 3, 2)) * -1 - tmp106 += tmp94.transpose((0, 1, 3, 2)) - del tmp94 - tmp58 = einsum(t2.aaaa, (0, 1, 2, 3), tmp3, (0, 1, 4, 2), (4, 3), optimize=True) - tmp56 = einsum(t2.aaaa, (0, 1, 2, 3), l1.aa, (3, 1), (0, 2), optimize=True) - tmp57 = einsum(l1.bb, (0, 1), t2.abab, (2, 1, 3, 0), (2, 3), optimize=True) - tmp59 = einsum(t2.abab, (0, 1, 2, 3), tmp36, (0, 4, 1, 3), (4, 2), optimize=True) - tmp51 = einsum(l1.aa, (0, 1), t1.aa, (1, 2), (0, 2), optimize=True) - tmp16 = v.aabb.ovov.transpose((0, 2, 1, 3)).copy() - tmp16 += tmp15 - tmp6 = v.aaaa.ooov.transpose((1, 0, 2, 3)).copy() - tmp6 += v.aaaa.ooov.transpose((2, 1, 0, 3)) * -1 + tmp6 = v.aaaa.ooov.copy() + tmp6 += v.aaaa.ovoo.transpose((0, 2, 3, 1)) * -1 tmp6 += tmp5.transpose((1, 0, 2, 3)) * -1 tmp6 += tmp5.transpose((2, 0, 1, 3)) - tmp45 = einsum(tmp36, (0, 1, 2, 3), t2.abab, (4, 2, 5, 3), (0, 1, 4, 5), optimize=True) - tmp43 = einsum(tmp3, (0, 1, 2, 3), t2.aaaa, (4, 1, 5, 3), (0, 2, 4, 5), optimize=True) * -1 - tmp25 = v.aaaa.ovov.transpose((2, 0, 3, 1)).copy() - tmp25 += v.aaaa.oovv.transpose((1, 0, 3, 2)) * -1 - tmp25 += tmp4.transpose((0, 1, 3, 2)) - del tmp4 - tmp29 = v.aaaa.oooo.transpose((2, 3, 1, 0)).copy() + tmp16 = v.aabb.ovov.transpose((0, 2, 1, 3)).copy() + tmp16 += tmp15 + tmp43 = einsum(tmp2, (0, 1, 2, 3), t2.aaaa, (4, 1, 5, 3), (0, 2, 4, 5), optimize=True) * -1 + tmp45 = einsum(t2.abab, (0, 1, 2, 3), tmp36, (4, 5, 1, 3), (4, 5, 0, 2), optimize=True) + tmp25 = v.aaaa.ovov.transpose((0, 2, 1, 3)).copy() + tmp25 += v.aaaa.oovv * -1 + tmp25 += tmp3.transpose((0, 1, 3, 2)) + del tmp3 + tmp23 = v.aaaa.ooov.copy() * -1 + tmp23 += v.aaaa.ooov.transpose((0, 2, 1, 3)) + tmp23 += tmp5 + tmp23 += tmp5.transpose((0, 2, 1, 3)) * -1 + tmp29 = v.aaaa.oooo.copy() tmp29 += tmp26.transpose((3, 1, 2, 0)) tmp29 += tmp27.transpose((3, 1, 2, 0)) tmp29 += tmp28.transpose((2, 1, 3, 0)) tmp29 += tmp28.transpose((3, 2, 1, 0)) * -1 - tmp24 = v.aabb.ooov.transpose((1, 0, 2, 3)).copy() + tmp24 = v.aabb.ooov.copy() tmp24 += tmp9 - tmp23 = v.aaaa.ooov.transpose((1, 0, 2, 3)).copy() - tmp23 += v.aaaa.ooov.transpose((1, 2, 0, 3)) * -1 - tmp23 += tmp5 * -1 - tmp23 += tmp5.transpose((0, 2, 1, 3)) - tmp235 = einsum(tmp96, (0, 1, 2, 3), tmp72, (4, 0, 1, 5), (4, 2, 5, 3), optimize=True) - l2new.bbbb += tmp235.transpose((3, 2, 1, 0)) * 2 - l2new.bbbb += tmp235.transpose((3, 2, 0, 1)) * -2 - l2new.bbbb += tmp235.transpose((2, 3, 1, 0)) * -2 - l2new.bbbb += tmp235.transpose((2, 3, 0, 1)) * 2 + tmp236 = einsum(t1.bb, (0, 1), v.bbbb.ovov, (2, 1, 0, 3), (2, 3), optimize=True) + l2new.bbbb += einsum(tmp236, (0, 1), l1.bb, (2, 3), (1, 2, 0, 3), optimize=True) * -1 + l2new.bbbb += einsum(l1.bb, (0, 1), tmp236, (2, 3), (3, 0, 1, 2), optimize=True) + l2new.bbbb += einsum(tmp236, (0, 1), l1.bb, (2, 3), (2, 1, 0, 3), optimize=True) + l2new.bbbb += einsum(l1.bb, (0, 1), tmp236, (2, 3), (0, 3, 1, 2), optimize=True) * -1 + del tmp236 + tmp250 = f.bb.ov.copy() + tmp250 += tmp96 + tmp250 += tmp244 + l2new.bbbb += einsum(l1.bb, (0, 1), tmp250, (2, 3), (0, 3, 2, 1), optimize=True) * -1 + l2new.bbbb += einsum(l1.bb, (0, 1), tmp250, (2, 3), (0, 3, 1, 2), optimize=True) + l2new.bbbb += einsum(tmp250, (0, 1), l1.bb, (2, 3), (1, 2, 0, 3), optimize=True) + del tmp250 + tmp235 = einsum(l1.bb, (0, 1), v.bbbb.ovvv, (2, 3, 4, 0), (1, 2, 3, 4), optimize=True) + l2new.bbbb += tmp235.transpose((3, 2, 1, 0)) * -1 + l2new.bbbb += tmp235.transpose((3, 2, 0, 1)) + l2new.bbbb += tmp235.transpose((2, 3, 1, 0)) + l2new.bbbb += tmp235.transpose((2, 3, 0, 1)) * -1 del tmp235 - tmp242 = einsum(tmp77, (0, 1), v.bbbb.ovov, (1, 2, 3, 4), (3, 0, 2, 4), optimize=True) - l2new.bbbb += tmp242.transpose((2, 3, 0, 1)) - l2new.bbbb += tmp242.transpose((2, 3, 1, 0)) * -1 - l2new.bbbb += tmp242.transpose((3, 2, 0, 1)) * -1 - l2new.bbbb += tmp242.transpose((3, 2, 1, 0)) - del tmp242 - tmp228 = einsum(tmp227, (0, 1, 2, 3), l1.bb, (4, 0), (1, 2, 3, 4), optimize=True) - del tmp227 - l2new.bbbb += tmp228.transpose((3, 2, 1, 0)) * -1 - l2new.bbbb += tmp228.transpose((3, 2, 0, 1)) - del tmp228 - tmp254 = einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp253, (4, 5, 0, 2), (4, 5, 1, 3), optimize=True) - del tmp253 - l2new.bbbb += tmp254.transpose((3, 2, 1, 0)) - l2new.bbbb += tmp254.transpose((3, 2, 1, 0)) - del tmp254 - tmp262 = v.bbbb.ooov.transpose((1, 0, 2, 3)).copy() - tmp262 += tmp96.transpose((0, 2, 1, 3)) - l2new.bbbb += einsum(tmp262, (0, 1, 2, 3), l1.bb, (4, 0), (3, 4, 1, 2), optimize=True) - del tmp262 - tmp241 = einsum(tmp116, (0, 1, 2, 3), v.bbbb.ovov, (1, 4, 5, 3), (5, 0, 4, 2), optimize=True) - l2new.bbbb += tmp241.transpose((2, 3, 0, 1)) * -1 - l2new.bbbb += tmp241.transpose((2, 3, 1, 0)) - l2new.bbbb += tmp241.transpose((3, 2, 0, 1)) - l2new.bbbb += tmp241.transpose((3, 2, 1, 0)) * -1 - del tmp241 - tmp233 = einsum(l1.bb, (0, 1), v.bbbb.ovvv, (2, 3, 4, 0), (1, 2, 3, 4), optimize=True) - l2new.bbbb += tmp233.transpose((3, 2, 1, 0)) * -1 - l2new.bbbb += tmp233.transpose((3, 2, 0, 1)) - l2new.bbbb += tmp233.transpose((2, 3, 1, 0)) - l2new.bbbb += tmp233.transpose((2, 3, 0, 1)) * -1 - del tmp233 - tmp259 = einsum(tmp109, (0, 1, 2, 3), l2.bbbb, (4, 5, 1, 0), (2, 3, 4, 5), optimize=True) * -1 - del tmp109 - l2new.bbbb += tmp259.transpose((2, 3, 1, 0)) * 2 - l2new.bbbb += tmp259.transpose((2, 3, 0, 1)) * -2 - del tmp259 - tmp143 = f.bb.oo.transpose((1, 0)).copy() - tmp143 += tmp137.transpose((1, 0)) - tmp143 += tmp138 - tmp143 += tmp139 * 2 - tmp143 += tmp141.transpose((1, 0)) * -1 - del tmp141 - tmp143 += tmp142 - del tmp142 - l2new.bbbb += einsum(tmp143, (0, 1), l2.bbbb, (2, 3, 0, 4), (3, 2, 4, 1), optimize=True) * -2 - l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp143, (3, 4), (0, 1, 2, 4), optimize=True) * -1 - l1new.bb += einsum(tmp143, (0, 1), l1.bb, (2, 0), (2, 1), optimize=True) * -1 - del tmp143 + tmp225 = einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp191, (4, 1), (0, 2, 4, 3), optimize=True) * 2 + l2new.bbbb += tmp225.transpose((2, 3, 1, 0)) + l2new.bbbb += tmp225.transpose((3, 2, 1, 0)) * -1 + del tmp225 + tmp249 = einsum(l2.abab, (0, 1, 2, 3), tmp248, (2, 4, 0, 5), (4, 3, 5, 1), optimize=True) + del tmp248 + l2new.bbbb += tmp249.transpose((3, 2, 0, 1)) * -1 + l2new.bbbb += tmp249.transpose((3, 2, 1, 0)) + l2new.bbbb += tmp249.transpose((2, 3, 0, 1)) + del tmp249 tmp240 = v.aabb.ovov.transpose((0, 2, 1, 3)).copy() - tmp240 += tmp204 - tmp240 += tmp205 * 2 + tmp240 += tmp205 + tmp240 += tmp206 * 2 tmp240 += tmp239 del tmp239 l2new.bbbb += einsum(l2.abab, (0, 1, 2, 3), tmp240, (2, 4, 0, 5), (5, 1, 3, 4), optimize=True) * -1 del tmp240 - tmp261 = einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp224, (4, 3), (0, 2, 4, 1), optimize=True) * 2 - l2new.bbbb += tmp261.transpose((2, 3, 1, 0)) * -1 - l2new.bbbb += tmp261.transpose((3, 2, 1, 0)) + tmp261 = v.bbbb.ooov.copy() + tmp261 += tmp94.transpose((0, 2, 1, 3)) + l2new.bbbb += einsum(tmp261, (0, 1, 2, 3), l1.bb, (4, 0), (3, 4, 1, 2), optimize=True) del tmp261 - tmp230 = einsum(tmp72, (0, 1, 2, 3), v.bbbb.ooov, (0, 2, 4, 5), (1, 4, 3, 5), optimize=True) * -1 - l2new.bbbb += tmp230.transpose((2, 3, 1, 0)) * 2 - l2new.bbbb += tmp230.transpose((2, 3, 0, 1)) * -2 - l2new.bbbb += tmp230.transpose((3, 2, 1, 0)) * -2 - l2new.bbbb += tmp230.transpose((3, 2, 0, 1)) * 2 - del tmp230 - tmp210 = f.bb.ov.copy() - tmp210 += tmp98 - tmp210 += tmp209 * -1 - del tmp209 - l2new.bbbb += einsum(tmp210, (0, 1), tmp72, (2, 3, 0, 4), (1, 4, 3, 2), optimize=True) * -2 - l2new.abab += einsum(tmp210, (0, 1), tmp0, (2, 3, 0, 4), (4, 1, 2, 3), optimize=True) * -1 - l2new.abab += einsum(tmp210, (0, 1), l1.aa, (2, 3), (2, 1, 3, 0), optimize=True) - del tmp210 - tmp251 = einsum(v.bbbb.ovvv, (0, 1, 2, 3), tmp72, (4, 5, 0, 3), (5, 4, 1, 2), optimize=True) - l2new.bbbb += tmp251.transpose((3, 2, 1, 0)) * -2 - l2new.bbbb += tmp251.transpose((2, 3, 1, 0)) * 2 - del tmp251 - tmp249 = f.bb.oo.transpose((1, 0)).copy() * 0.5 - tmp249 += tmp137.transpose((1, 0)) * 0.5 - del tmp137 - tmp249 += tmp138 * 0.5 - del tmp138 - tmp249 += tmp139 - del tmp139 - tmp249 += einsum(tmp140, (0, 1, 2, 3), t1.bb, (2, 3), (1, 0), optimize=True) * -0.5 - del tmp140 - tmp249 += einsum(tmp101, (0, 1), t1.bb, (2, 1), (2, 0), optimize=True) * 0.5 - l2new.bbbb += einsum(tmp249, (0, 1), l2.bbbb, (2, 3, 0, 4), (3, 2, 1, 4), optimize=True) * 4 - del tmp249 - tmp248 = einsum(tmp247, (0, 1, 2, 3), l2.abab, (2, 4, 0, 5), (1, 5, 3, 4), optimize=True) - del tmp247 - l2new.bbbb += tmp248.transpose((3, 2, 0, 1)) * -1 - l2new.bbbb += tmp248.transpose((3, 2, 1, 0)) - l2new.bbbb += tmp248.transpose((2, 3, 0, 1)) - del tmp248 - tmp238 = v.bbbb.ovov.transpose((2, 0, 3, 1)).copy() - tmp238 += v.bbbb.oovv.transpose((1, 0, 3, 2)) * -1 - tmp238 += tmp199 - tmp238 += tmp237 * 2 - del tmp237 - tmp238 += einsum(tmp135, (0, 1, 2, 3), t1.bb, (4, 1), (4, 0, 3, 2), optimize=True) * -1 - l2new.bbbb += einsum(l2.bbbb, (0, 1, 2, 3), tmp238, (2, 4, 0, 5), (5, 1, 3, 4), optimize=True) * -2 - del tmp238 - tmp225 = einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp224, (4, 1), (0, 2, 4, 3), optimize=True) * 2 - del tmp224 - l2new.bbbb += tmp225.transpose((2, 3, 1, 0)) - l2new.bbbb += tmp225.transpose((3, 2, 1, 0)) * -1 - del tmp225 - tmp231 = einsum(tmp36, (0, 1, 2, 3), tmp9, (0, 1, 4, 5), (2, 4, 3, 5), optimize=True) - l2new.bbbb += tmp231.transpose((2, 3, 1, 0)) - l2new.bbbb += tmp231.transpose((2, 3, 0, 1)) * -1 - l2new.bbbb += tmp231.transpose((3, 2, 1, 0)) * -1 - l2new.bbbb += tmp231.transpose((3, 2, 0, 1)) - del tmp231 - tmp226 = v.bbbb.ooov.transpose((1, 0, 2, 3)).copy() - tmp226 += tmp96.transpose((0, 2, 1, 3)) - l2new.bbbb += einsum(tmp226, (0, 1, 2, 3), l1.bb, (4, 0), (3, 4, 2, 1), optimize=True) * -1 - del tmp226 - tmp260 = v.bbbb.oooo.transpose((2, 3, 1, 0)).copy() * -1 - tmp260 += tmp107.transpose((1, 3, 0, 2)) * -1 + tmp259 = v.bbbb.oooo.copy() * -1 + tmp259 += tmp105.transpose((1, 3, 0, 2)) * -1 + del tmp105 + tmp259 += tmp106.transpose((0, 3, 1, 2)) + del tmp106 + l2new.bbbb += einsum(tmp259, (0, 1, 2, 3), l2.bbbb, (4, 5, 0, 2), (4, 5, 1, 3), optimize=True) * -2 + del tmp259 + tmp241 = einsum(tmp114, (0, 1, 2, 3), v.bbbb.ovov, (4, 3, 1, 5), (4, 0, 5, 2), optimize=True) + l2new.bbbb += tmp241.transpose((2, 3, 0, 1)) * -1 + l2new.bbbb += tmp241.transpose((2, 3, 1, 0)) + l2new.bbbb += tmp241.transpose((3, 2, 0, 1)) + l2new.bbbb += tmp241.transpose((3, 2, 1, 0)) * -1 + del tmp241 + tmp258 = einsum(tmp107, (0, 1, 2, 3), l2.bbbb, (4, 5, 0, 1), (2, 3, 4, 5), optimize=True) del tmp107 - tmp260 += tmp108.transpose((0, 3, 1, 2)) - del tmp108 - l2new.bbbb += einsum(l2.bbbb, (0, 1, 2, 3), tmp260, (2, 4, 3, 5), (1, 0, 4, 5), optimize=True) * 2 - del tmp260 - tmp258 = einsum(tmp257, (0, 1), l2.bbbb, (1, 2, 3, 4), (3, 4, 0, 2), optimize=True) * 2 - del tmp257 - l2new.bbbb += tmp258.transpose((3, 2, 1, 0)) * -1 - l2new.bbbb += tmp258.transpose((2, 3, 1, 0)) + l2new.bbbb += tmp258.transpose((2, 3, 1, 0)) * 2 + l2new.bbbb += tmp258.transpose((2, 3, 0, 1)) * -2 del tmp258 - tmp229 = einsum(tmp72, (0, 1, 2, 3), v.bbbb.ooov, (4, 0, 2, 5), (1, 4, 3, 5), optimize=True) * -1 - l2new.bbbb += tmp229.transpose((3, 2, 1, 0)) * 2 - l2new.bbbb += tmp229.transpose((3, 2, 0, 1)) * -2 - l2new.bbbb += tmp229.transpose((2, 3, 1, 0)) * -2 - l2new.bbbb += tmp229.transpose((2, 3, 0, 1)) * 2 - del tmp229 - tmp252 = einsum(l2.bbbb, (0, 1, 2, 3), v.bbbb.vvvv, (4, 1, 5, 0), (2, 3, 4, 5), optimize=True) * -1 - l2new.bbbb += tmp252.transpose((3, 2, 1, 0)) - l2new.bbbb += tmp252.transpose((3, 2, 1, 0)) - del tmp252 - tmp232 = einsum(t1.bb, (0, 1), v.bbbb.ovov, (2, 1, 0, 3), (2, 3), optimize=True) - l2new.bbbb += einsum(tmp232, (0, 1), l1.bb, (2, 3), (1, 2, 0, 3), optimize=True) * -1 - l2new.bbbb += einsum(tmp232, (0, 1), l1.bb, (2, 3), (1, 2, 3, 0), optimize=True) - l2new.bbbb += einsum(tmp232, (0, 1), l1.bb, (2, 3), (2, 1, 0, 3), optimize=True) - l2new.bbbb += einsum(tmp232, (0, 1), l1.bb, (2, 3), (2, 1, 3, 0), optimize=True) * -1 + tmp232 = einsum(tmp94, (0, 1, 2, 3), tmp73, (4, 0, 1, 5), (4, 2, 5, 3), optimize=True) + l2new.bbbb += tmp232.transpose((3, 2, 1, 0)) * 2 + l2new.bbbb += tmp232.transpose((3, 2, 0, 1)) * -2 + l2new.bbbb += tmp232.transpose((2, 3, 1, 0)) * -2 + l2new.bbbb += tmp232.transpose((2, 3, 0, 1)) * 2 del tmp232 - tmp234 = einsum(v.aabb.ooov, (0, 1, 2, 3), tmp36, (0, 1, 4, 5), (4, 2, 5, 3), optimize=True) + tmp251 = einsum(l2.bbbb, (0, 1, 2, 3), v.bbbb.vvvv, (4, 1, 5, 0), (2, 3, 4, 5), optimize=True) * -1 + l2new.bbbb += tmp251.transpose((3, 2, 1, 0)) + l2new.bbbb += tmp251.transpose((3, 2, 1, 0)) + del tmp251 + tmp233 = einsum(tmp73, (0, 1, 2, 3), tmp94, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) * -1 + l2new.bbbb += tmp233.transpose((2, 3, 1, 0)) * 2 + l2new.bbbb += tmp233.transpose((2, 3, 0, 1)) * -2 + l2new.bbbb += tmp233.transpose((3, 2, 1, 0)) * -2 + l2new.bbbb += tmp233.transpose((3, 2, 0, 1)) * 2 + del tmp233 + tmp238 = v.bbbb.ovov.transpose((0, 2, 1, 3)).copy() * 0.5 + tmp238 += v.bbbb.oovv * -0.5 + tmp238 += tmp200 * 0.5 + tmp238 += tmp237 + del tmp237 + tmp238 += einsum(tmp219, (0, 1, 2, 3), t1.bb, (4, 1), (4, 0, 3, 2), optimize=True) * -0.5 + l2new.bbbb += einsum(l2.bbbb, (0, 1, 2, 3), tmp238, (3, 4, 1, 5), (5, 0, 2, 4), optimize=True) * -4 + del tmp238 + tmp245 = f.bb.ov.copy() + tmp245 += tmp96 + tmp245 += tmp244 + del tmp244 + l2new.bbbb += einsum(tmp245, (0, 1), l1.bb, (2, 3), (1, 2, 3, 0), optimize=True) * -1 + del tmp245 + tmp234 = einsum(tmp36, (0, 1, 2, 3), v.aabb.ooov, (1, 0, 4, 5), (2, 4, 3, 5), optimize=True) l2new.bbbb += tmp234.transpose((2, 3, 1, 0)) l2new.bbbb += tmp234.transpose((2, 3, 0, 1)) * -1 l2new.bbbb += tmp234.transpose((3, 2, 1, 0)) * -1 l2new.bbbb += tmp234.transpose((3, 2, 0, 1)) del tmp234 - tmp244 = f.bb.ov.copy() - tmp244 += tmp98 - tmp244 += tmp243 - l2new.bbbb += einsum(l1.bb, (0, 1), tmp244, (2, 3), (3, 0, 1, 2), optimize=True) * -1 - del tmp244 - tmp246 = einsum(tmp245, (0, 1, 2, 3), l2.bbbb, (2, 4, 0, 5), (1, 5, 3, 4), optimize=True) - del tmp245 - l2new.bbbb += tmp246.transpose((3, 2, 0, 1)) * -2 - l2new.bbbb += tmp246.transpose((3, 2, 1, 0)) * 2 - l2new.bbbb += tmp246.transpose((2, 3, 0, 1)) * 2 + tmp247 = einsum(tmp246, (0, 1, 2, 3), l2.bbbb, (4, 2, 5, 0), (1, 5, 3, 4), optimize=True) del tmp246 - tmp250 = f.bb.ov.copy() - tmp250 += tmp98 - del tmp98 - tmp250 += tmp243 - del tmp243 - l2new.bbbb += einsum(tmp250, (0, 1), l1.bb, (2, 3), (2, 1, 0, 3), optimize=True) * -1 - l2new.bbbb += einsum(tmp250, (0, 1), l1.bb, (2, 3), (2, 1, 3, 0), optimize=True) - l2new.bbbb += einsum(l1.bb, (0, 1), tmp250, (2, 3), (3, 0, 2, 1), optimize=True) - del tmp250 - tmp236 = einsum(tmp72, (0, 1, 2, 3), tmp96, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) * -1 - l2new.bbbb += tmp236.transpose((2, 3, 1, 0)) * 2 - l2new.bbbb += tmp236.transpose((2, 3, 0, 1)) * -2 - l2new.bbbb += tmp236.transpose((3, 2, 1, 0)) * -2 - l2new.bbbb += tmp236.transpose((3, 2, 0, 1)) * 2 - del tmp236 - tmp194 = v.aaaa.ovov.transpose((2, 0, 3, 1)).copy() - tmp194 += v.aaaa.oovv.transpose((1, 0, 3, 2)) * -1 - tmp194 += tmp158 - tmp194 += einsum(t2.aaaa, (0, 1, 2, 3), tmp193, (0, 4, 5, 2), (1, 4, 3, 5), optimize=True) * -2 - tmp194 += tmp168.transpose((0, 1, 3, 2)) * -1 - del tmp168 - l2new.abab += einsum(tmp194, (0, 1, 2, 3), l2.abab, (2, 4, 0, 5), (3, 4, 1, 5), optimize=True) - del tmp194 - tmp192 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 1, 5), (4, 0, 5, 3), optimize=True) - l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp192, (2, 4, 1, 5), (0, 5, 4, 3), optimize=True) - del tmp192 - tmp207 = v.aabb.ovov.transpose((0, 2, 1, 3)).copy() - tmp207 += tmp204 - del tmp204 - tmp207 += tmp205 * 2 - del tmp205 - tmp207 += einsum(tmp206, (0, 1, 2, 3), t2.abab, (4, 0, 5, 3), (4, 1, 5, 2), optimize=True) * -1 - del tmp206 - l2new.abab += einsum(tmp207, (0, 1, 2, 3), l2.aaaa, (2, 4, 0, 5), (4, 3, 5, 1), optimize=True) * 2 - del tmp207 - tmp197 = tmp5.copy() * -1 - tmp197 += tmp5.transpose((0, 2, 1, 3)) - l2new.abab += einsum(tmp197, (0, 1, 2, 3), tmp36, (0, 2, 4, 5), (3, 5, 1, 4), optimize=True) - del tmp197 - tmp222 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 4, 5, 3), (4, 2, 5, 1), optimize=True) - l2new.abab += einsum(tmp222, (0, 1, 2, 3), l2.abab, (2, 4, 5, 0), (3, 4, 5, 1), optimize=True) - del tmp222 - tmp132 = v.bbbb.ooov.transpose((1, 0, 2, 3)).copy() * -1 - tmp132 += v.bbbb.ooov.transpose((1, 2, 0, 3)) - l2new.abab += einsum(tmp132, (0, 1, 2, 3), tmp0, (4, 0, 1, 5), (5, 3, 4, 2), optimize=True) - l1new.bb += einsum(tmp77, (0, 1), tmp132, (0, 2, 1, 3), (3, 2), optimize=True) * -1 - del tmp77, tmp132 - tmp220 = v.aabb.oooo.transpose((1, 0, 3, 2)).copy() - tmp220 += tmp17.transpose((1, 0, 2, 3)) - del tmp17 - tmp220 += tmp18 - del tmp18 - tmp220 += einsum(tmp8, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 2, 1), optimize=True) - l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp220, (2, 4, 3, 5), (0, 1, 4, 5), optimize=True) - del tmp220 - tmp223 = v.aabb.ovoo.transpose((0, 3, 2, 1)).copy() - tmp223 += tmp7 - l2new.abab += einsum(tmp223, (0, 1, 2, 3), tmp36, (4, 0, 1, 5), (3, 5, 4, 2), optimize=True) - del tmp223 - tmp219 = tmp52.copy() - tmp219 += tmp53 * 0.5 - l2new.abab += einsum(v.aabb.ovov, (0, 1, 2, 3), tmp219, (4, 1), (4, 3, 0, 2), optimize=True) * -2 - del tmp219 - tmp191 = tmp66.copy() - tmp191 += tmp67 * 2 - l2new.abab += einsum(tmp191, (0, 1), v.aabb.ovov, (2, 3, 4, 1), (3, 0, 2, 4), optimize=True) * -1 + l2new.bbbb += tmp247.transpose((3, 2, 0, 1)) * -2 + l2new.bbbb += tmp247.transpose((3, 2, 1, 0)) * 2 + l2new.bbbb += tmp247.transpose((2, 3, 0, 1)) * 2 + del tmp247 + tmp260 = einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp191, (4, 3), (0, 2, 4, 1), optimize=True) * 2 del tmp191 - tmp211 = v.bbaa.oovv.transpose((1, 0, 3, 2)).copy() - tmp211 += tmp102.transpose((0, 1, 3, 2)) - del tmp102 - l2new.abab += einsum(tmp211, (0, 1, 2, 3), l2.abab, (2, 4, 5, 0), (3, 4, 5, 1), optimize=True) * -1 + l2new.bbbb += tmp260.transpose((2, 3, 1, 0)) * -1 + l2new.bbbb += tmp260.transpose((3, 2, 1, 0)) + del tmp260 + tmp228 = einsum(tmp227, (0, 1, 2, 3), l1.bb, (4, 0), (1, 2, 3, 4), optimize=True) + del tmp227 + l2new.bbbb += tmp228.transpose((3, 2, 1, 0)) * -1 + l2new.bbbb += tmp228.transpose((3, 2, 0, 1)) + del tmp228 + tmp243 = einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp78, (4, 2), (0, 4, 3, 1), optimize=True) + l2new.bbbb += tmp243.transpose((2, 3, 0, 1)) + l2new.bbbb += tmp243.transpose((2, 3, 1, 0)) * -1 + l2new.bbbb += tmp243.transpose((3, 2, 0, 1)) * -1 + l2new.bbbb += tmp243.transpose((3, 2, 1, 0)) + del tmp243 + tmp212 = f.bb.ov.copy() + tmp212 += tmp96 + del tmp96 + tmp212 += tmp211 * -1 del tmp211 - tmp203 = v.bbbb.ovov.transpose((2, 0, 3, 1)).copy() - tmp203 += v.bbbb.oovv.transpose((1, 0, 3, 2)) * -1 - tmp203 += tmp199 - del tmp199 - tmp203 += einsum(t2.bbbb, (0, 1, 2, 3), tmp200, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) * -2 - del tmp200 - tmp203 += tmp202.transpose((1, 0, 3, 2)) * -1 - del tmp202 - l2new.abab += einsum(tmp203, (0, 1, 2, 3), l2.abab, (4, 2, 5, 0), (4, 3, 5, 1), optimize=True) - del tmp203 - tmp212 = einsum(l2.abab, (0, 1, 2, 3), v.aabb.vvvv, (4, 0, 1, 5), (2, 3, 4, 5), optimize=True) - l2new.abab += tmp212.transpose((2, 3, 0, 1)) * 0.5 - l2new.abab += tmp212.transpose((2, 3, 0, 1)) * 0.5 + l2new.bbbb += einsum(tmp212, (0, 1), tmp73, (2, 3, 0, 4), (1, 4, 3, 2), optimize=True) * -2 + l2new.abab += einsum(tmp4, (0, 1, 2, 3), tmp212, (2, 4), (3, 4, 0, 1), optimize=True) * -1 + l2new.abab += einsum(tmp212, (0, 1), l1.aa, (2, 3), (2, 1, 3, 0), optimize=True) del tmp212 - tmp195 = v.aabb.ovov.transpose((0, 2, 1, 3)).copy() - tmp195 += tmp15 - tmp195 += tmp161 * 2 - tmp195 += einsum(tmp193, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) - del tmp193 - l2new.abab += einsum(l2.bbbb, (0, 1, 2, 3), tmp195, (4, 2, 5, 0), (5, 1, 4, 3), optimize=True) * 2 - del tmp195 - tmp196 = v.aaaa.ooov.transpose((1, 0, 2, 3)).copy() - tmp196 += v.aaaa.ooov.transpose((1, 2, 0, 3)) * -1 - l2new.abab += einsum(tmp196, (0, 1, 2, 3), tmp36, (0, 1, 4, 5), (3, 5, 2, 4), optimize=True) * -1 - del tmp196 + tmp230 = einsum(v.bbbb.ooov, (0, 1, 2, 3), tmp73, (1, 4, 2, 5), (4, 0, 5, 3), optimize=True) * -1 + l2new.bbbb += tmp230.transpose((3, 2, 1, 0)) * 2 + l2new.bbbb += tmp230.transpose((3, 2, 0, 1)) * -2 + l2new.bbbb += tmp230.transpose((2, 3, 1, 0)) * -2 + l2new.bbbb += tmp230.transpose((2, 3, 0, 1)) * 2 + del tmp230 + tmp229 = einsum(tmp9, (0, 1, 2, 3), tmp36, (0, 1, 4, 5), (4, 2, 5, 3), optimize=True) + l2new.bbbb += tmp229.transpose((2, 3, 1, 0)) + l2new.bbbb += tmp229.transpose((2, 3, 0, 1)) * -1 + l2new.bbbb += tmp229.transpose((3, 2, 1, 0)) * -1 + l2new.bbbb += tmp229.transpose((3, 2, 0, 1)) + del tmp229 + tmp252 = einsum(tmp73, (0, 1, 2, 3), v.bbbb.ovvv, (2, 4, 5, 3), (1, 0, 4, 5), optimize=True) + l2new.bbbb += tmp252.transpose((3, 2, 1, 0)) * -2 + l2new.bbbb += tmp252.transpose((2, 3, 1, 0)) * 2 + del tmp252 + tmp242 = einsum(l2.bbbb, (0, 1, 2, 3), tmp143, (3, 4), (4, 2, 0, 1), optimize=True) * -2 + del tmp143 + l2new.bbbb += tmp242.transpose((3, 2, 0, 1)) + l2new.bbbb += tmp242.transpose((3, 2, 1, 0)) * -1 + del tmp242 + tmp231 = einsum(v.bbbb.ovoo, (0, 1, 2, 3), tmp73, (3, 4, 2, 5), (4, 0, 5, 1), optimize=True) * -1 + l2new.bbbb += tmp231.transpose((2, 3, 1, 0)) * 2 + l2new.bbbb += tmp231.transpose((2, 3, 0, 1)) * -2 + l2new.bbbb += tmp231.transpose((3, 2, 1, 0)) * -2 + l2new.bbbb += tmp231.transpose((3, 2, 0, 1)) * 2 + del tmp231 + tmp257 = einsum(l2.bbbb, (0, 1, 2, 3), tmp256, (4, 1), (2, 3, 4, 0), optimize=True) * -2 + del tmp256 + l2new.bbbb += tmp257.transpose((3, 2, 1, 0)) * -1 + l2new.bbbb += tmp257.transpose((2, 3, 1, 0)) + del tmp257 + tmp254 = einsum(tmp253, (0, 1, 2, 3), v.bbbb.ovov, (2, 4, 3, 5), (0, 1, 4, 5), optimize=True) + del tmp253 + l2new.bbbb += tmp254.transpose((3, 2, 1, 0)) + l2new.bbbb += tmp254.transpose((3, 2, 1, 0)) + del tmp254 + tmp226 = v.bbbb.ooov.copy() + tmp226 += tmp94.transpose((0, 2, 1, 3)) + l2new.bbbb += einsum(tmp226, (0, 1, 2, 3), l1.bb, (4, 0), (3, 4, 2, 1), optimize=True) * -1 + del tmp226 tmp186 = f.aa.ov.copy() tmp186 += tmp11 tmp186 += tmp185 * -1 del tmp185 l2new.abab += einsum(tmp186, (0, 1), tmp36, (2, 0, 3, 4), (1, 4, 2, 3), optimize=True) * -1 - l2new.abab += einsum(tmp186, (0, 1), l1.bb, (2, 3), (1, 2, 0, 3), optimize=True) - l2new.aaaa += einsum(tmp186, (0, 1), tmp3, (2, 3, 0, 4), (1, 4, 3, 2), optimize=True) * -2 + l2new.abab += einsum(l1.bb, (0, 1), tmp186, (2, 3), (3, 0, 2, 1), optimize=True) + l2new.aaaa += einsum(tmp2, (0, 1, 2, 3), tmp186, (2, 4), (4, 3, 1, 0), optimize=True) * -2 del tmp186 - tmp92 = f.aa.oo.transpose((1, 0)).copy() - tmp92 += tmp86.transpose((1, 0)) - tmp92 += tmp87 * 2 - tmp92 += tmp88 - tmp92 += tmp90.transpose((1, 0)) * -1 - del tmp90 - tmp92 += tmp91 - del tmp91 - l2new.abab += einsum(tmp92, (0, 1), l2.abab, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) * -1 - l2new.aaaa += einsum(tmp92, (0, 1), l2.aaaa, (2, 3, 0, 4), (3, 2, 1, 4), optimize=True) * 2 - l1new.aa += einsum(l1.aa, (0, 1), tmp92, (1, 2), (0, 2), optimize=True) * -1 - del tmp92 - tmp208 = tmp96.copy() * -1 - tmp208 += tmp96.transpose((0, 2, 1, 3)) - del tmp96 - l2new.abab += einsum(tmp208, (0, 1, 2, 3), tmp0, (4, 0, 2, 5), (5, 3, 4, 1), optimize=True) - del tmp208 - tmp198 = v.aabb.ooov.transpose((1, 0, 2, 3)).copy() - tmp198 += tmp9 - del tmp9 - l2new.abab += einsum(l1.aa, (0, 1), tmp198, (1, 2, 3, 4), (0, 4, 2, 3), optimize=True) * -1 - l2new.abab += einsum(tmp0, (0, 1, 2, 3), tmp198, (0, 4, 2, 5), (3, 5, 4, 1), optimize=True) - del tmp198 - tmp213 = einsum(v.aabb.ovov, (0, 1, 2, 3), tmp39, (4, 0, 5, 2), (4, 5, 1, 3), optimize=True) * 0.5 - l2new.abab += tmp213.transpose((2, 3, 0, 1)) - l2new.abab += tmp213.transpose((2, 3, 0, 1)) + tmp213 = v.aabb.vvoo.transpose((2, 3, 0, 1)).copy() + tmp213 += tmp100.transpose((0, 1, 3, 2)) + del tmp100 + l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp213, (3, 4, 0, 5), (5, 1, 2, 4), optimize=True) * -1 del tmp213 - tmp221 = v.aabb.oovv.transpose((1, 0, 3, 2)).copy() - tmp221 += einsum(v.aabb.ovvv, (0, 1, 2, 3), t1.aa, (4, 1), (4, 0, 3, 2), optimize=True) - l2new.abab += einsum(tmp221, (0, 1, 2, 3), l2.abab, (4, 2, 0, 5), (4, 3, 1, 5), optimize=True) * -1 - del tmp221 - tmp215 = f.aa.vv.transpose((1, 0)).copy() * -1 - tmp215 += tmp83.transpose((1, 0)) * -1 - tmp215 += tmp179 * 2 + tmp210 = v.bbbb.ooov.copy() + tmp210 += v.bbbb.ooov.transpose((0, 2, 1, 3)) * -1 + l2new.abab += einsum(tmp4, (0, 1, 2, 3), tmp210, (1, 4, 2, 5), (3, 5, 0, 4), optimize=True) + del tmp210 + tmp216 = f.aa.vv.copy() * -1 + tmp216 += tmp83.transpose((1, 0)) * -1 + tmp216 += tmp179 * 2 del tmp179 - tmp215 += tmp180 + tmp216 += tmp180 del tmp180 - tmp215 += einsum(t1.aa, (0, 1), tmp214, (0, 1, 2, 3), (3, 2), optimize=True) * -1 - del tmp214 - l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp215, (0, 4), (4, 1, 2, 3), optimize=True) * -1 - del tmp215 - tmp218 = f.bb.vv.transpose((1, 0)).copy() * -1 - tmp218 += tmp134.transpose((1, 0)) * -1 - tmp218 += tmp216 + tmp216 += einsum(tmp159, (0, 1, 2, 3), t1.aa, (0, 1), (3, 2), optimize=True) * -1 + l2new.abab += einsum(tmp216, (0, 1), l2.abab, (0, 2, 3, 4), (1, 2, 3, 4), optimize=True) * -1 del tmp216 - tmp218 += tmp217 * 2 + tmp193 = v.aaaa.ovov.transpose((0, 2, 1, 3)).copy() + tmp193 += v.aaaa.oovv * -1 + tmp193 += tmp158 + tmp193 += einsum(t2.aaaa, (0, 1, 2, 3), tmp184, (1, 4, 5, 3), (0, 4, 2, 5), optimize=True) * -2 + del tmp184 + tmp193 += tmp169.transpose((0, 1, 3, 2)) * -1 + del tmp169 + l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp193, (2, 4, 0, 5), (5, 1, 4, 3), optimize=True) + del tmp193 + tmp220 = f.bb.vv.copy() * -1 + tmp220 += tmp133.transpose((1, 0)) * -1 + tmp220 += tmp217 del tmp217 - tmp218 += einsum(t1.bb, (0, 1), tmp135, (0, 1, 2, 3), (3, 2), optimize=True) * -1 - l2new.abab += einsum(tmp218, (0, 1), l2.abab, (2, 0, 3, 4), (2, 1, 3, 4), optimize=True) * -1 + tmp220 += tmp218 * 2 del tmp218 - tmp167 = f.aa.ov.copy() - tmp167 += tmp166 - tmp167 += tmp11 - l2new.aaaa += einsum(l1.aa, (0, 1), tmp167, (2, 3), (3, 0, 1, 2), optimize=True) * -1 - del tmp167 - tmp190 = v.aaaa.ooov.transpose((1, 0, 2, 3)).copy() - tmp190 += tmp5.transpose((0, 2, 1, 3)) - l2new.aaaa += einsum(l1.aa, (0, 1), tmp190, (1, 2, 3, 4), (4, 0, 2, 3), optimize=True) - del tmp190 - tmp176 = einsum(tmp3, (0, 1, 2, 3), v.aaaa.ovvv, (2, 4, 5, 3), (1, 0, 4, 5), optimize=True) - l2new.aaaa += tmp176.transpose((3, 2, 1, 0)) * -2 - l2new.aaaa += tmp176.transpose((2, 3, 1, 0)) * 2 - del tmp176 - tmp145 = einsum(tmp144, (0, 1), v.aaaa.ovov, (2, 1, 3, 4), (2, 3, 0, 4), optimize=True) - l2new.aaaa += tmp145.transpose((2, 3, 1, 0)) - l2new.aaaa += tmp145.transpose((3, 2, 1, 0)) * -1 - del tmp145 - tmp164 = f.aa.oo.transpose((1, 0)).copy() * 0.5 - tmp164 += tmp86.transpose((1, 0)) * 0.5 + tmp220 += einsum(tmp219, (0, 1, 2, 3), t1.bb, (0, 1), (3, 2), optimize=True) * -1 + del tmp219 + l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp220, (1, 4), (0, 4, 2, 3), optimize=True) * -1 + del tmp220 + tmp204 = v.bbbb.ovov.transpose((0, 2, 1, 3)).copy() + tmp204 += v.bbbb.oovv * -1 + tmp204 += tmp200 + del tmp200 + tmp204 += einsum(tmp201, (0, 1, 2, 3), t2.bbbb, (4, 0, 5, 2), (4, 1, 5, 3), optimize=True) * -2 + del tmp201 + tmp204 += tmp203.transpose((1, 0, 3, 2)) * -1 + del tmp203 + l2new.abab += einsum(tmp204, (0, 1, 2, 3), l2.abab, (4, 2, 5, 0), (4, 3, 5, 1), optimize=True) + del tmp204 + tmp215 = einsum(tmp39, (0, 1, 2, 3), v.aabb.ovov, (1, 4, 3, 5), (0, 2, 4, 5), optimize=True) * 0.5 + l2new.abab += tmp215.transpose((2, 3, 0, 1)) + l2new.abab += tmp215.transpose((2, 3, 0, 1)) + del tmp215 + tmp214 = einsum(v.aabb.vvvv, (0, 1, 2, 3), l2.abab, (1, 3, 4, 5), (4, 5, 0, 2), optimize=True) + l2new.abab += tmp214.transpose((2, 3, 0, 1)) * 0.5 + l2new.abab += tmp214.transpose((2, 3, 0, 1)) * 0.5 + del tmp214 + tmp196 = v.aabb.ooov.copy() + tmp196 += tmp9 + del tmp9 + l2new.abab += einsum(l1.aa, (0, 1), tmp196, (1, 2, 3, 4), (0, 4, 2, 3), optimize=True) * -1 + l2new.abab += einsum(tmp4, (0, 1, 2, 3), tmp196, (0, 4, 2, 5), (3, 5, 4, 1), optimize=True) + del tmp196 + tmp197 = v.aaaa.ooov.copy() + tmp197 += v.aaaa.ooov.transpose((0, 2, 1, 3)) * -1 + l2new.abab += einsum(tmp197, (0, 1, 2, 3), tmp36, (0, 1, 4, 5), (3, 5, 2, 4), optimize=True) * -1 + del tmp197 + tmp221 = v.aabb.oooo.copy() + tmp221 += tmp17.transpose((1, 0, 2, 3)) + del tmp17 + tmp221 += tmp18 + del tmp18 + tmp221 += einsum(t1.aa, (0, 1), tmp8, (2, 3, 4, 1), (0, 2, 4, 3), optimize=True) + l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp221, (2, 4, 3, 5), (0, 1, 4, 5), optimize=True) + del tmp221 + tmp224 = v.aabb.ovoo.transpose((0, 2, 3, 1)).copy() + tmp224 += tmp7 + l2new.abab += einsum(tmp36, (0, 1, 2, 3), tmp224, (1, 2, 4, 5), (5, 3, 0, 4), optimize=True) + del tmp224 + tmp209 = tmp94.copy() + tmp209 += tmp94.transpose((0, 2, 1, 3)) * -1 + del tmp94 + l2new.abab += einsum(tmp4, (0, 1, 2, 3), tmp209, (1, 2, 4, 5), (3, 5, 0, 4), optimize=True) + del tmp209 + tmp208 = v.aabb.ovov.transpose((0, 2, 1, 3)).copy() + tmp208 += tmp205 + del tmp205 + tmp208 += tmp206 * 2 + del tmp206 + tmp208 += einsum(t2.abab, (0, 1, 2, 3), tmp207, (1, 4, 5, 3), (0, 4, 2, 5), optimize=True) * -1 + del tmp207 + l2new.abab += einsum(l2.aaaa, (0, 1, 2, 3), tmp208, (3, 4, 1, 5), (0, 5, 2, 4), optimize=True) * 2 + del tmp208 + tmp195 = v.aabb.ovov.transpose((0, 2, 1, 3)).copy() + tmp195 += tmp15 + tmp195 += tmp162 * 2 + tmp195 += einsum(t2.abab, (0, 1, 2, 3), tmp194, (0, 4, 5, 2), (4, 1, 5, 3), optimize=True) + del tmp194 + l2new.abab += einsum(tmp195, (0, 1, 2, 3), l2.bbbb, (4, 3, 5, 1), (2, 4, 0, 5), optimize=True) * 2 + del tmp195 + tmp223 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 4, 5, 3), (1, 5, 2, 4), optimize=True) + l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp223, (3, 4, 0, 5), (5, 1, 2, 4), optimize=True) + del tmp223 + tmp199 = f.aa.oo.copy() * 0.5 + tmp199 += tmp86.transpose((1, 0)) * 0.5 del tmp86 - tmp164 += tmp87 + tmp199 += tmp87 del tmp87 - tmp164 += tmp88 * 0.5 + tmp199 += tmp88 * 0.5 del tmp88 - tmp164 += einsum(t1.aa, (0, 1), tmp89, (2, 3, 0, 1), (3, 2), optimize=True) * -0.5 + tmp199 += einsum(t1.aa, (0, 1), tmp89, (2, 3, 0, 1), (3, 2), optimize=True) * -0.5 del tmp89 - tmp164 += einsum(t1.aa, (0, 1), tmp14, (2, 1), (0, 2), optimize=True) * 0.5 - l2new.aaaa += einsum(l2.aaaa, (0, 1, 2, 3), tmp164, (2, 4), (1, 0, 3, 4), optimize=True) * -4 - del tmp164 - tmp183 = einsum(l2.aaaa, (0, 1, 2, 3), tmp182, (4, 0), (2, 3, 4, 1), optimize=True) * 2 - del tmp182 - l2new.aaaa += tmp183.transpose((3, 2, 1, 0)) * -1 - l2new.aaaa += tmp183.transpose((2, 3, 1, 0)) - del tmp183 - tmp153 = einsum(v.aaaa.ooov, (0, 1, 2, 3), tmp3, (1, 4, 2, 5), (4, 0, 5, 3), optimize=True) * -1 - l2new.aaaa += tmp153.transpose((3, 2, 1, 0)) * 2 - l2new.aaaa += tmp153.transpose((3, 2, 0, 1)) * -2 - l2new.aaaa += tmp153.transpose((2, 3, 1, 0)) * -2 - l2new.aaaa += tmp153.transpose((2, 3, 0, 1)) * 2 - del tmp153 - tmp150 = einsum(tmp3, (0, 1, 2, 3), tmp5, (1, 2, 4, 5), (0, 4, 3, 5), optimize=True) - l2new.aaaa += tmp150.transpose((3, 2, 1, 0)) * 2 - l2new.aaaa += tmp150.transpose((3, 2, 0, 1)) * -2 - l2new.aaaa += tmp150.transpose((2, 3, 1, 0)) * -2 - l2new.aaaa += tmp150.transpose((2, 3, 0, 1)) * 2 - del tmp150 - tmp156 = einsum(t1.aa, (0, 1), v.aaaa.ovov, (0, 2, 3, 1), (3, 2), optimize=True) - l2new.aaaa += einsum(tmp156, (0, 1), l1.aa, (2, 3), (1, 2, 0, 3), optimize=True) * -1 - l2new.aaaa += einsum(l1.aa, (0, 1), tmp156, (2, 3), (3, 0, 1, 2), optimize=True) - l2new.aaaa += einsum(l1.aa, (0, 1), tmp156, (2, 3), (0, 3, 2, 1), optimize=True) - l2new.aaaa += einsum(l1.aa, (0, 1), tmp156, (2, 3), (0, 3, 1, 2), optimize=True) * -1 + tmp199 += einsum(t1.aa, (0, 1), tmp14, (2, 1), (0, 2), optimize=True) * 0.5 + l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp199, (2, 4), (0, 1, 4, 3), optimize=True) * -2 + del tmp199 + tmp198 = tmp5.copy() + tmp198 += tmp5.transpose((0, 2, 1, 3)) * -1 + l2new.abab += einsum(tmp36, (0, 1, 2, 3), tmp198, (0, 1, 4, 5), (5, 3, 4, 2), optimize=True) + del tmp198 + tmp192 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 1, 5), (0, 4, 3, 5), optimize=True) + l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp192, (2, 4, 1, 5), (0, 5, 4, 3), optimize=True) + del tmp192 + tmp222 = v.aabb.oovv.copy() + tmp222 += einsum(v.aabb.ovvv, (0, 1, 2, 3), t1.aa, (4, 1), (4, 0, 2, 3), optimize=True) + l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp222, (2, 4, 1, 5), (0, 5, 4, 3), optimize=True) * -1 + del tmp222 + tmp145 = einsum(v.aaaa.ovov, (0, 1, 2, 3), tmp144, (4, 1), (0, 2, 4, 3), optimize=True) * 2 + l2new.aaaa += tmp145.transpose((2, 3, 1, 0)) + l2new.aaaa += tmp145.transpose((3, 2, 1, 0)) * -1 + del tmp145 + tmp149 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t1.aa, (2, 1), (0, 3), optimize=True) + l2new.aaaa += einsum(l1.aa, (0, 1), tmp149, (2, 3), (3, 0, 2, 1), optimize=True) * -1 + l2new.aaaa += einsum(tmp149, (0, 1), l1.aa, (2, 3), (1, 2, 3, 0), optimize=True) + l2new.aaaa += einsum(l1.aa, (0, 1), tmp149, (2, 3), (0, 3, 2, 1), optimize=True) + l2new.aaaa += einsum(tmp149, (0, 1), l1.aa, (2, 3), (2, 1, 3, 0), optimize=True) * -1 + del tmp149 + tmp146 = v.aaaa.ooov.copy() + tmp146 += tmp5.transpose((0, 2, 1, 3)) + l2new.aaaa += einsum(tmp146, (0, 1, 2, 3), l1.aa, (4, 0), (3, 4, 2, 1), optimize=True) * -1 + del tmp146 + tmp156 = einsum(tmp5, (0, 1, 2, 3), tmp2, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) * -1 + l2new.aaaa += tmp156.transpose((2, 3, 1, 0)) * 2 + l2new.aaaa += tmp156.transpose((2, 3, 0, 1)) * -2 + l2new.aaaa += tmp156.transpose((3, 2, 1, 0)) * -2 + l2new.aaaa += tmp156.transpose((3, 2, 0, 1)) * 2 del tmp156 - tmp155 = einsum(tmp0, (0, 1, 2, 3), tmp7, (4, 1, 2, 5), (0, 4, 3, 5), optimize=True) - l2new.aaaa += tmp155.transpose((2, 3, 1, 0)) - l2new.aaaa += tmp155.transpose((2, 3, 0, 1)) * -1 - l2new.aaaa += tmp155.transpose((3, 2, 1, 0)) * -1 - l2new.aaaa += tmp155.transpose((3, 2, 0, 1)) - del tmp155 - tmp178 = einsum(tmp177, (0, 1, 2, 3), v.aaaa.ovov, (2, 4, 3, 5), (0, 1, 4, 5), optimize=True) - del tmp177 - l2new.aaaa += tmp178.transpose((3, 2, 1, 0)) - l2new.aaaa += tmp178.transpose((3, 2, 1, 0)) - del tmp178 - tmp188 = v.aaaa.oooo.transpose((2, 3, 1, 0)).copy() * -1 - tmp188 += tmp26.transpose((1, 3, 0, 2)) * -1 - del tmp26 - tmp188 += tmp27.transpose((0, 3, 1, 2)) - del tmp27 - l2new.aaaa += einsum(l2.aaaa, (0, 1, 2, 3), tmp188, (2, 4, 3, 5), (1, 0, 4, 5), optimize=True) * 2 - del tmp188 - tmp151 = einsum(tmp5, (0, 1, 2, 3), tmp3, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) * -1 - l2new.aaaa += tmp151.transpose((2, 3, 1, 0)) * 2 - l2new.aaaa += tmp151.transpose((2, 3, 0, 1)) * -2 - l2new.aaaa += tmp151.transpose((3, 2, 1, 0)) * -2 - l2new.aaaa += tmp151.transpose((3, 2, 0, 1)) * 2 - del tmp151 - tmp170 = einsum(tmp169, (0, 1, 2, 3), l2.aaaa, (2, 4, 0, 5), (1, 5, 3, 4), optimize=True) - del tmp169 - l2new.aaaa += tmp170.transpose((3, 2, 0, 1)) * -2 - l2new.aaaa += tmp170.transpose((3, 2, 1, 0)) * 2 - l2new.aaaa += tmp170.transpose((2, 3, 0, 1)) * 2 + tmp171 = einsum(tmp170, (0, 1, 2, 3), l2.aaaa, (4, 2, 5, 0), (1, 5, 3, 4), optimize=True) del tmp170 - tmp149 = einsum(l1.aa, (0, 1), v.aaaa.ovvv, (2, 3, 4, 0), (1, 2, 3, 4), optimize=True) - l2new.aaaa += tmp149.transpose((3, 2, 1, 0)) * -1 - l2new.aaaa += tmp149.transpose((3, 2, 0, 1)) - l2new.aaaa += tmp149.transpose((2, 3, 1, 0)) - l2new.aaaa += tmp149.transpose((2, 3, 0, 1)) * -1 - del tmp149 - tmp165 = einsum(tmp80, (0, 1), v.aaaa.ovov, (1, 2, 3, 4), (3, 0, 2, 4), optimize=True) - l2new.aaaa += tmp165.transpose((2, 3, 1, 0)) * -1 + l2new.aaaa += tmp171.transpose((3, 2, 0, 1)) * -2 + l2new.aaaa += tmp171.transpose((3, 2, 1, 0)) * 2 + l2new.aaaa += tmp171.transpose((2, 3, 0, 1)) * 2 + del tmp171 + tmp176 = einsum(l2.aaaa, (0, 1, 2, 3), v.aaaa.vvvv, (4, 0, 5, 1), (2, 3, 4, 5), optimize=True) + l2new.aaaa += tmp176.transpose((3, 2, 1, 0)) + l2new.aaaa += tmp176.transpose((3, 2, 1, 0)) + del tmp176 + tmp163 = v.aabb.ovov.transpose((0, 2, 1, 3)).copy() + tmp163 += tmp15 + del tmp15 + tmp163 += tmp161 + del tmp161 + tmp163 += tmp162 * 2 + del tmp162 + l2new.aaaa += einsum(tmp163, (0, 1, 2, 3), l2.abab, (4, 3, 5, 1), (2, 4, 5, 0), optimize=True) * -1 + del tmp163 + tmp165 = einsum(l2.aaaa, (0, 1, 2, 3), tmp92, (3, 4), (2, 4, 0, 1), optimize=True) * -2 + del tmp92 l2new.aaaa += tmp165.transpose((3, 2, 1, 0)) + l2new.aaaa += tmp165.transpose((3, 2, 0, 1)) * -1 del tmp165 - tmp175 = einsum(v.aaaa.vvvv, (0, 1, 2, 3), l2.aaaa, (3, 1, 4, 5), (4, 5, 0, 2), optimize=True) * -1 - l2new.aaaa += tmp175.transpose((3, 2, 1, 0)) - l2new.aaaa += tmp175.transpose((3, 2, 1, 0)) - del tmp175 - tmp146 = v.aaaa.ooov.transpose((1, 0, 2, 3)).copy() - tmp146 += tmp5.transpose((0, 2, 1, 3)) - del tmp5 - l2new.aaaa += einsum(l1.aa, (0, 1), tmp146, (1, 2, 3, 4), (4, 0, 3, 2), optimize=True) * -1 - del tmp146 - tmp187 = einsum(l2.aaaa, (0, 1, 2, 3), tmp28, (3, 2, 4, 5), (4, 5, 0, 1), optimize=True) * -1 + tmp187 = einsum(tmp28, (0, 1, 2, 3), l2.aaaa, (4, 5, 0, 1), (2, 3, 4, 5), optimize=True) del tmp28 l2new.aaaa += tmp187.transpose((2, 3, 1, 0)) * 2 l2new.aaaa += tmp187.transpose((2, 3, 0, 1)) * -2 del tmp187 - tmp159 = v.aaaa.ovov.transpose((2, 0, 3, 1)).copy() * 0.5 - tmp159 += v.aaaa.oovv.transpose((1, 0, 3, 2)) * -0.5 - tmp159 += tmp157 - del tmp157 - tmp159 += tmp158 * 0.5 - del tmp158 - tmp159 += einsum(t1.aa, (0, 1), tmp84, (2, 3, 1, 4), (0, 2, 4, 3), optimize=True) * -0.5 - l2new.aaaa += einsum(l2.aaaa, (0, 1, 2, 3), tmp159, (2, 4, 0, 5), (5, 1, 3, 4), optimize=True) * -4 - del tmp159 + tmp168 = f.aa.ov.copy() + tmp168 += tmp167 + tmp168 += tmp11 + l2new.aaaa += einsum(tmp168, (0, 1), l1.aa, (2, 3), (1, 2, 3, 0), optimize=True) * -1 + del tmp168 tmp174 = f.aa.ov.copy() - tmp174 += tmp166 - del tmp166 + tmp174 += tmp167 + del tmp167 tmp174 += tmp11 del tmp11 l2new.aaaa += einsum(l1.aa, (0, 1), tmp174, (2, 3), (0, 3, 2, 1), optimize=True) * -1 - l2new.aaaa += einsum(l1.aa, (0, 1), tmp174, (2, 3), (0, 3, 1, 2), optimize=True) - l2new.aaaa += einsum(tmp174, (0, 1), l1.aa, (2, 3), (1, 2, 0, 3), optimize=True) + l2new.aaaa += einsum(tmp174, (0, 1), l1.aa, (2, 3), (2, 1, 3, 0), optimize=True) + l2new.aaaa += einsum(l1.aa, (0, 1), tmp174, (2, 3), (3, 0, 2, 1), optimize=True) del tmp174 - tmp163 = einsum(tmp35, (0, 1, 2, 3), v.aaaa.ovov, (1, 4, 5, 3), (5, 0, 4, 2), optimize=True) - del tmp35 - l2new.aaaa += tmp163.transpose((2, 3, 0, 1)) * -1 - l2new.aaaa += tmp163.transpose((2, 3, 1, 0)) - l2new.aaaa += tmp163.transpose((3, 2, 0, 1)) - l2new.aaaa += tmp163.transpose((3, 2, 1, 0)) * -1 - del tmp163 - tmp148 = einsum(l1.aa, (0, 1), tmp147, (1, 2, 3, 4), (2, 3, 4, 0), optimize=True) - del tmp147 - l2new.aaaa += tmp148.transpose((3, 2, 1, 0)) * -1 - l2new.aaaa += tmp148.transpose((3, 2, 0, 1)) - del tmp148 - tmp162 = v.aabb.ovov.transpose((0, 2, 1, 3)).copy() - tmp162 += tmp15 - del tmp15 - tmp162 += tmp160 + tmp160 = v.aaaa.ovov.transpose((0, 2, 1, 3)).copy() + tmp160 += v.aaaa.oovv * -1 + tmp160 += tmp157 * 2 + del tmp157 + tmp160 += tmp158 + del tmp158 + tmp160 += einsum(tmp159, (0, 1, 2, 3), t1.aa, (4, 1), (4, 0, 3, 2), optimize=True) * -1 + del tmp159 + l2new.aaaa += einsum(tmp160, (0, 1, 2, 3), l2.aaaa, (4, 2, 5, 0), (3, 4, 5, 1), optimize=True) * -2 del tmp160 - tmp162 += tmp161 * 2 - del tmp161 - l2new.aaaa += einsum(l2.abab, (0, 1, 2, 3), tmp162, (4, 3, 5, 1), (5, 0, 2, 4), optimize=True) * -1 - del tmp162 - tmp152 = einsum(tmp0, (0, 1, 2, 3), v.aabb.ovoo, (4, 5, 1, 2), (0, 4, 3, 5), optimize=True) - l2new.aaaa += tmp152.transpose((2, 3, 1, 0)) - l2new.aaaa += tmp152.transpose((2, 3, 0, 1)) * -1 - l2new.aaaa += tmp152.transpose((3, 2, 1, 0)) * -1 - l2new.aaaa += tmp152.transpose((3, 2, 0, 1)) - del tmp152 - tmp189 = einsum(tmp144, (0, 1), v.aaaa.ovov, (2, 3, 4, 1), (2, 4, 0, 3), optimize=True) + tmp153 = einsum(tmp4, (0, 1, 2, 3), tmp7, (4, 1, 2, 5), (0, 4, 3, 5), optimize=True) + l2new.aaaa += tmp153.transpose((2, 3, 1, 0)) + l2new.aaaa += tmp153.transpose((2, 3, 0, 1)) * -1 + l2new.aaaa += tmp153.transpose((3, 2, 1, 0)) * -1 + l2new.aaaa += tmp153.transpose((3, 2, 0, 1)) + del tmp153 + tmp166 = einsum(v.aaaa.ovov, (0, 1, 2, 3), tmp85, (4, 2), (0, 4, 3, 1), optimize=True) + del tmp85 + l2new.aaaa += tmp166.transpose((2, 3, 0, 1)) + l2new.aaaa += tmp166.transpose((2, 3, 1, 0)) * -1 + l2new.aaaa += tmp166.transpose((3, 2, 0, 1)) * -1 + l2new.aaaa += tmp166.transpose((3, 2, 1, 0)) + del tmp166 + tmp190 = v.aaaa.ooov.copy() + tmp190 += tmp5.transpose((0, 2, 1, 3)) + l2new.aaaa += einsum(tmp190, (0, 1, 2, 3), l1.aa, (4, 0), (3, 4, 1, 2), optimize=True) + del tmp190 + tmp183 = einsum(tmp182, (0, 1), l2.aaaa, (2, 1, 3, 4), (3, 4, 0, 2), optimize=True) * -2 + del tmp182 + l2new.aaaa += tmp183.transpose((3, 2, 1, 0)) * -1 + l2new.aaaa += tmp183.transpose((2, 3, 1, 0)) + del tmp183 + tmp188 = v.aaaa.oooo.copy() * -1 + tmp188 += tmp26.transpose((1, 3, 0, 2)) * -1 + del tmp26 + tmp188 += tmp27.transpose((0, 3, 1, 2)) + del tmp27 + l2new.aaaa += einsum(tmp188, (0, 1, 2, 3), l2.aaaa, (4, 5, 0, 2), (4, 5, 1, 3), optimize=True) * -2 + del tmp188 + tmp150 = einsum(v.aabb.ovoo, (0, 1, 2, 3), tmp4, (4, 3, 2, 5), (4, 0, 5, 1), optimize=True) + l2new.aaaa += tmp150.transpose((2, 3, 1, 0)) + l2new.aaaa += tmp150.transpose((2, 3, 0, 1)) * -1 + l2new.aaaa += tmp150.transpose((3, 2, 1, 0)) * -1 + l2new.aaaa += tmp150.transpose((3, 2, 0, 1)) + del tmp150 + tmp175 = einsum(v.aaaa.ovvv, (0, 1, 2, 3), tmp2, (4, 5, 0, 3), (5, 4, 1, 2), optimize=True) + l2new.aaaa += tmp175.transpose((3, 2, 1, 0)) * -2 + l2new.aaaa += tmp175.transpose((2, 3, 1, 0)) * 2 + del tmp175 + tmp164 = einsum(tmp35, (0, 1, 2, 3), v.aaaa.ovov, (4, 3, 1, 5), (4, 0, 5, 2), optimize=True) + del tmp35 + l2new.aaaa += tmp164.transpose((2, 3, 0, 1)) * -1 + l2new.aaaa += tmp164.transpose((2, 3, 1, 0)) + l2new.aaaa += tmp164.transpose((3, 2, 0, 1)) + l2new.aaaa += tmp164.transpose((3, 2, 1, 0)) * -1 + del tmp164 + tmp155 = einsum(tmp2, (0, 1, 2, 3), tmp5, (1, 2, 4, 5), (0, 4, 3, 5), optimize=True) + del tmp5 + l2new.aaaa += tmp155.transpose((3, 2, 1, 0)) * 2 + l2new.aaaa += tmp155.transpose((3, 2, 0, 1)) * -2 + l2new.aaaa += tmp155.transpose((2, 3, 1, 0)) * -2 + l2new.aaaa += tmp155.transpose((2, 3, 0, 1)) * 2 + del tmp155 + tmp189 = einsum(v.aaaa.ovov, (0, 1, 2, 3), tmp144, (4, 3), (0, 2, 4, 1), optimize=True) * 2 del tmp144 l2new.aaaa += tmp189.transpose((2, 3, 1, 0)) * -1 l2new.aaaa += tmp189.transpose((3, 2, 1, 0)) del tmp189 - tmp172 = einsum(tmp171, (0, 1, 2, 3), l2.abab, (4, 3, 5, 1), (0, 5, 2, 4), optimize=True) - del tmp171 - l2new.aaaa += tmp172.transpose((3, 2, 0, 1)) * -1 - l2new.aaaa += tmp172.transpose((3, 2, 1, 0)) - l2new.aaaa += tmp172.transpose((2, 3, 0, 1)) + tmp173 = einsum(l2.abab, (0, 1, 2, 3), tmp172, (4, 3, 5, 1), (4, 2, 5, 0), optimize=True) del tmp172 - tmp154 = einsum(v.aaaa.ooov, (0, 1, 2, 3), tmp3, (0, 4, 1, 5), (4, 2, 5, 3), optimize=True) * -1 - l2new.aaaa += tmp154.transpose((2, 3, 1, 0)) * 2 - l2new.aaaa += tmp154.transpose((2, 3, 0, 1)) * -2 - l2new.aaaa += tmp154.transpose((3, 2, 1, 0)) * -2 - l2new.aaaa += tmp154.transpose((3, 2, 0, 1)) * 2 - del tmp154 - tmp173 = einsum(v.aaaa.ovov, (0, 1, 2, 3), tmp63, (4, 0), (2, 4, 1, 3), optimize=True) * 2 - l2new.aaaa += tmp173.transpose((2, 3, 0, 1)) l2new.aaaa += tmp173.transpose((3, 2, 0, 1)) * -1 + l2new.aaaa += tmp173.transpose((3, 2, 1, 0)) + l2new.aaaa += tmp173.transpose((2, 3, 0, 1)) del tmp173 - tmp118 = l2.bbbb.transpose((3, 2, 1, 0)).copy() * -1 - tmp118 += einsum(tmp72, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 3, 4), optimize=True) - l1new.bb += einsum(v.bbbb.ovvv, (0, 1, 2, 3), tmp118, (4, 0, 2, 1), (3, 4), optimize=True) * -2 - del tmp118 - tmp133 = v.bbbb.ovov.transpose((2, 0, 3, 1)).copy() - tmp133 += v.bbbb.oovv.transpose((1, 0, 3, 2)) * -1 - l1new.bb += einsum(tmp133, (0, 1, 2, 3), l1.bb, (2, 0), (3, 1), optimize=True) - del tmp133 - tmp126 = tmp124.transpose((1, 0, 3, 2)).copy() - tmp126 += tmp122.transpose((2, 1, 0, 3)) - l1new.bb += einsum(tmp126, (0, 1, 2, 3), v.bbbb.ooov, (2, 0, 3, 4), (4, 1), optimize=True) * 2 - del tmp126 + tmp152 = einsum(tmp2, (0, 1, 2, 3), v.aaaa.ovoo, (4, 5, 2, 0), (1, 4, 3, 5), optimize=True) * -1 + l2new.aaaa += tmp152.transpose((2, 3, 1, 0)) * 2 + l2new.aaaa += tmp152.transpose((2, 3, 0, 1)) * -2 + l2new.aaaa += tmp152.transpose((3, 2, 1, 0)) * -2 + l2new.aaaa += tmp152.transpose((3, 2, 0, 1)) * 2 + del tmp152 + tmp178 = einsum(v.aaaa.ovov, (0, 1, 2, 3), tmp177, (4, 5, 0, 2), (4, 5, 1, 3), optimize=True) + del tmp177 + l2new.aaaa += tmp178.transpose((3, 2, 1, 0)) + l2new.aaaa += tmp178.transpose((3, 2, 1, 0)) + del tmp178 + tmp151 = einsum(v.aaaa.ooov, (0, 1, 2, 3), tmp2, (1, 4, 2, 5), (4, 0, 5, 3), optimize=True) * -1 + l2new.aaaa += tmp151.transpose((3, 2, 1, 0)) * 2 + l2new.aaaa += tmp151.transpose((3, 2, 0, 1)) * -2 + l2new.aaaa += tmp151.transpose((2, 3, 1, 0)) * -2 + l2new.aaaa += tmp151.transpose((2, 3, 0, 1)) * 2 + del tmp151 + tmp154 = einsum(l1.aa, (0, 1), v.aaaa.ovvv, (2, 3, 4, 0), (1, 2, 3, 4), optimize=True) + l2new.aaaa += tmp154.transpose((3, 2, 1, 0)) * -1 + l2new.aaaa += tmp154.transpose((3, 2, 0, 1)) + l2new.aaaa += tmp154.transpose((2, 3, 1, 0)) + l2new.aaaa += tmp154.transpose((2, 3, 0, 1)) * -1 + del tmp154 + tmp148 = einsum(tmp147, (0, 1, 2, 3), l1.aa, (4, 0), (1, 2, 3, 4), optimize=True) + del tmp147 + l2new.aaaa += tmp148.transpose((3, 2, 1, 0)) * -1 + l2new.aaaa += tmp148.transpose((3, 2, 0, 1)) + del tmp148 + tmp115 = einsum(l1.bb, (0, 1), t2.abab, (2, 3, 4, 0), (2, 1, 3, 4), optimize=True) * 0.5 + tmp115 += tmp4 * 0.5 + tmp115 += einsum(tmp4, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 3), (4, 1, 2, 5), optimize=True) + tmp115 += einsum(tmp36, (0, 1, 2, 3), t2.abab, (0, 4, 5, 3), (1, 2, 4, 5), optimize=True) * -0.5 + tmp115 += einsum(t2.abab, (0, 1, 2, 3), tmp73, (4, 1, 5, 3), (0, 4, 5, 2), optimize=True) * -1 + tmp115 += einsum(t1.aa, (0, 1), tmp39, (0, 2, 3, 4), (2, 3, 4, 1), optimize=True) * -0.5 + l1new.bb += einsum(v.aabb.ovov, (0, 1, 2, 3), tmp115, (0, 4, 2, 1), (3, 4), optimize=True) * -2 + del tmp115 + tmp129 = t1.bb.copy() * -1 + tmp129 += tmp70 * -1 + tmp129 += tmp71 * -2 + tmp129 += tmp72 + tmp129 += tmp74 * 2 + tmp129 += tmp79 + l1new.bb += einsum(tmp129, (0, 1), tmp97, (0, 2, 3, 1), (3, 2), optimize=True) + del tmp97, tmp129 + tmp111 = v.bbbb.ovvv.copy() + tmp111 += v.bbbb.ovvv.transpose((0, 2, 3, 1)) * -1 + l1new.bb += einsum(tmp111, (0, 1, 2, 3), tmp114, (4, 0, 2, 1), (3, 4), optimize=True) + del tmp114, tmp111 tmp127 = tmp37.copy() tmp127 += tmp38.transpose((1, 0, 2, 3)) - l1new.bb += einsum(tmp127, (0, 1, 2, 3), v.aabb.ooov, (1, 0, 3, 4), (4, 2), optimize=True) + l1new.bb += einsum(v.aabb.ooov, (0, 1, 2, 3), tmp127, (0, 1, 4, 2), (3, 4), optimize=True) del tmp127 - tmp128 = v.bbbb.ovvv.transpose((0, 1, 3, 2)).copy() * -1 - tmp128 += v.bbbb.ovvv.transpose((0, 3, 1, 2)) - tmp117 = einsum(t2.abab, (0, 1, 2, 3), l1.bb, (3, 4), (0, 4, 1, 2), optimize=True) - tmp117 += tmp0 - tmp117 += einsum(t2.aaaa, (0, 1, 2, 3), tmp0, (1, 4, 5, 3), (0, 4, 5, 2), optimize=True) * 2 - tmp117 += einsum(t2.abab, (0, 1, 2, 3), tmp36, (0, 4, 5, 3), (4, 5, 1, 2), optimize=True) * -1 - tmp117 += einsum(tmp72, (0, 1, 2, 3), t2.abab, (4, 1, 5, 3), (4, 0, 2, 5), optimize=True) * -2 - tmp117 += einsum(tmp39, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 3, 4), optimize=True) * -1 - l1new.bb += einsum(v.aabb.ovov, (0, 1, 2, 3), tmp117, (0, 4, 2, 1), (3, 4), optimize=True) * -1 - del tmp117 - tmp119 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 5, 1), (3, 4, 0, 5), optimize=True) - tmp119 += einsum(t1.aa, (0, 1), tmp0, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) - l1new.bb += einsum(v.bbaa.ovvv, (0, 1, 2, 3), tmp119, (4, 0, 3, 2), (1, 4), optimize=True) * -1 - del tmp119 - tmp113 = v.bbbb.ovvv.transpose((0, 1, 3, 2)).copy() - tmp113 += v.bbbb.ovvv.transpose((0, 3, 2, 1)) * -1 - l1new.bb += einsum(tmp113, (0, 1, 2, 3), tmp116, (4, 0, 2, 1), (3, 4), optimize=True) - del tmp116, tmp113 - tmp136 = f.bb.vv.transpose((1, 0)).copy() - tmp136 += tmp134.transpose((1, 0)) - del tmp134 - tmp136 += einsum(t1.bb, (0, 1), tmp135, (0, 2, 1, 3), (3, 2), optimize=True) * -1 - del tmp135 - l1new.bb += einsum(tmp136, (0, 1), l1.bb, (0, 2), (1, 2), optimize=True) - del tmp136 - tmp129 = t1.bb.copy() * -1 - tmp129 += tmp69 * -1 - tmp129 += tmp70 * -2 - tmp129 += tmp71 - tmp129 += tmp73 * 2 - tmp129 += tmp78 - l1new.bb += einsum(tmp99, (0, 1, 2, 3), tmp129, (0, 3), (2, 1), optimize=True) - del tmp99, tmp129 - tmp104 = v.aabb.ovoo.transpose((0, 3, 2, 1)).copy() - tmp104 += tmp7 - del tmp7 - tmp104 += einsum(v.bbaa.ovvv, (0, 1, 2, 3), t2.abab, (4, 5, 2, 1), (4, 5, 0, 3), optimize=True) - tmp104 += einsum(t2.abab, (0, 1, 2, 3), tmp97, (4, 5, 1, 3), (0, 5, 4, 2), optimize=True) - del tmp97 - tmp104 += einsum(tmp8, (0, 1, 2, 3), t2.aaaa, (0, 4, 3, 5), (4, 2, 1, 5), optimize=True) * 2 - tmp104 += einsum(t2.abab, (0, 1, 2, 3), tmp10, (0, 4, 5, 3), (4, 1, 5, 2), optimize=True) * -1 - tmp104 += einsum(tmp101, (0, 1), t2.abab, (2, 3, 4, 1), (2, 3, 0, 4), optimize=True) - tmp104 += einsum(tmp103, (0, 1, 2, 3), t1.aa, (4, 2), (4, 1, 0, 3), optimize=True) + tmp130 = l1.aa.transpose((1, 0)).copy() * -1 + tmp130 += t1.aa * -1 + tmp130 += tmp56 * -2 + tmp130 += tmp57 * -1 + tmp130 += tmp58 * 2 + tmp130 += tmp59 + tmp130 += tmp64 + l1new.bb += einsum(tmp130, (0, 1), v.aabb.ovov, (0, 1, 2, 3), (3, 2), optimize=True) * -1 + del tmp130 + tmp109 = v.bbbb.ooov.transpose((0, 2, 1, 3)).copy() * 0.5 + tmp109 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovvv, (4, 2, 5, 3), (4, 0, 1, 5), optimize=True) * -0.5 + tmp109 += einsum(t2.bbbb, (0, 1, 2, 3), tmp103, (4, 5, 1, 3), (5, 0, 4, 2), optimize=True) del tmp103 - tmp104 += einsum(tmp21, (0, 1, 2, 3), t1.aa, (0, 4), (1, 3, 2, 4), optimize=True) * -1 - l1new.bb += einsum(l2.abab, (0, 1, 2, 3), tmp104, (2, 3, 4, 0), (1, 4), optimize=True) * -1 + tmp109 += einsum(tmp19, (0, 1, 2, 3), t2.abab, (0, 4, 3, 5), (2, 4, 1, 5), optimize=True) * 0.5 + del tmp19 + tmp109 += einsum(t2.bbbb, (0, 1, 2, 3), tmp99, (4, 3), (4, 0, 1, 2), optimize=True) * 0.5 + tmp109 += einsum(t1.bb, (0, 1), tmp104, (2, 3, 4, 1), (3, 2, 0, 4), optimize=True) * 0.5 del tmp104 - tmp68 = tmp65.copy() - del tmp65 - tmp68 += tmp66 - del tmp66 - tmp68 += tmp67 * 2 - del tmp67 - l1new.bb += einsum(tmp68, (0, 1), tmp128, (2, 3, 1, 0), (3, 2), optimize=True) * -1 - del tmp128 - l1new.aa += einsum(tmp68, (0, 1), v.aabb.ovvv, (2, 3, 1, 0), (3, 2), optimize=True) - del tmp68 - tmp95 = einsum(v.aabb.vvvv, (0, 1, 2, 3), t1.aa, (4, 1), (4, 0, 2, 3), optimize=True) - l1new.bb += einsum(l2.abab, (0, 1, 2, 3), tmp95, (2, 0, 4, 1), (4, 3), optimize=True) - del tmp95 - tmp93 = einsum(t1.bb, (0, 1), v.bbbb.vvvv, (2, 3, 1, 4), (0, 2, 3, 4), optimize=True) - l1new.bb += einsum(tmp93, (0, 1, 2, 3), l2.bbbb, (3, 2, 4, 0), (1, 4), optimize=True) * -2 + tmp109 += einsum(tmp108, (0, 1, 2, 3), t1.bb, (0, 4), (2, 1, 3, 4), optimize=True) * -0.5 + del tmp108 + l1new.bb += einsum(tmp109, (0, 1, 2, 3), l2.bbbb, (4, 3, 1, 2), (4, 0), optimize=True) * 4 + del tmp109 + tmp117 = v.bbbb.ovvv.copy() * -1 + tmp117 += v.bbbb.ovvv.transpose((0, 2, 3, 1)) + tmp93 = einsum(t1.aa, (0, 1), v.aabb.vvvv, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) + l1new.bb += einsum(l2.abab, (0, 1, 2, 3), tmp93, (2, 0, 4, 1), (4, 3), optimize=True) del tmp93 - tmp112 = l2.abab.transpose((2, 3, 0, 1)).copy() * 0.5 - tmp112 += einsum(l2.abab, (0, 1, 2, 3), t2.aaaa, (4, 2, 5, 0), (4, 3, 5, 1), optimize=True) - tmp112 += einsum(t1.aa, (0, 1), tmp36, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) * -0.5 - tmp112 += einsum(l2.bbbb, (0, 1, 2, 3), t2.abab, (4, 2, 5, 1), (4, 3, 5, 0), optimize=True) * -1 - l1new.bb += einsum(v.aabb.ovvv, (0, 1, 2, 3), tmp112, (0, 4, 1, 2), (3, 4), optimize=True) * 2 - del tmp112 + tmp135 = f.bb.vv.copy() + tmp135 += tmp133.transpose((1, 0)) + del tmp133 + tmp135 += einsum(tmp134, (0, 1, 2, 3), t1.bb, (0, 1), (3, 2), optimize=True) * -1 + del tmp134 + l1new.bb += einsum(tmp135, (0, 1), l1.bb, (0, 2), (1, 2), optimize=True) + del tmp135 + tmp131 = v.bbbb.ooov.copy() + tmp131 += v.bbbb.ovoo.transpose((0, 2, 3, 1)) * -1 + l1new.bb += einsum(tmp78, (0, 1), tmp131, (1, 0, 2, 3), (3, 2), optimize=True) * -1 + del tmp78, tmp131 + tmp54 = tmp51.copy() + del tmp51 + tmp54 += tmp52 * 2 + del tmp52 + tmp54 += tmp53 + del tmp53 + l1new.bb += einsum(tmp54, (0, 1), v.aabb.vvov, (1, 0, 2, 3), (3, 2), optimize=True) + l1new.aa += einsum(tmp55, (0, 1, 2, 3), tmp54, (3, 2), (1, 0), optimize=True) * -1 + del tmp54 + tmp116 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (4, 3, 0, 5), (5, 1, 4, 2), optimize=True) + tmp116 += einsum(t1.aa, (0, 1), tmp4, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) + l1new.bb += einsum(v.aabb.vvov, (0, 1, 2, 3), tmp116, (4, 2, 0, 1), (3, 4), optimize=True) * -1 + del tmp116 + tmp132 = v.bbbb.ovov.transpose((0, 2, 1, 3)).copy() + tmp132 += v.bbbb.oovv * -1 + l1new.bb += einsum(tmp132, (0, 1, 2, 3), l1.bb, (2, 0), (3, 1), optimize=True) + del tmp132 tmp125 = tmp120.copy() * 0.25 tmp125 += tmp121 - tmp125 += einsum(t1.bb, (0, 1), tmp124, (2, 0, 3, 4), (2, 4, 3, 1), optimize=True) * 0.5 - del tmp124 - l1new.bb += einsum(tmp125, (0, 1, 2, 3), v.bbbb.ovov, (2, 4, 1, 3), (4, 0), optimize=True) * 4 + tmp125 += einsum(tmp124, (0, 1, 2, 3), t1.bb, (1, 4), (0, 3, 2, 4), optimize=True) * 0.5 + l1new.bb += einsum(tmp125, (0, 1, 2, 3), v.bbbb.ovov, (1, 3, 2, 4), (4, 0), optimize=True) * 4 del tmp125 - tmp111 = v.bbbb.ooov.transpose((1, 2, 0, 3)).copy() * 0.5 - tmp111 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovvv, (4, 2, 3, 5), (4, 1, 0, 5), optimize=True) * 0.5 - tmp111 += einsum(t2.bbbb, (0, 1, 2, 3), tmp105, (4, 5, 0, 2), (5, 1, 4, 3), optimize=True) - del tmp105 - tmp111 += einsum(t2.abab, (0, 1, 2, 3), tmp19, (0, 4, 5, 2), (5, 1, 4, 3), optimize=True) * 0.5 - del tmp19 - tmp111 += einsum(t2.bbbb, (0, 1, 2, 3), tmp101, (4, 2), (4, 1, 0, 3), optimize=True) * 0.5 - del tmp101 - tmp111 += einsum(tmp106, (0, 1, 2, 3), t1.bb, (4, 3), (1, 0, 4, 2), optimize=True) * 0.5 - del tmp106 - tmp111 += einsum(tmp110, (0, 1, 2, 3), t1.bb, (0, 4), (2, 1, 3, 4), optimize=True) * -0.5 - del tmp110 - l1new.bb += einsum(tmp111, (0, 1, 2, 3), l2.bbbb, (3, 4, 1, 2), (4, 0), optimize=True) * -4 - del tmp111 - tmp131 = l1.aa.transpose((1, 0)).copy() * -0.5 - tmp131 += t1.aa * -0.5 - tmp131 += tmp56 * -1 - tmp131 += tmp57 * -0.5 - tmp131 += tmp58 - tmp131 += tmp59 * 0.5 - tmp131 += einsum(tmp63, (0, 1), t1.aa, (0, 2), (1, 2), optimize=True) - l1new.bb += einsum(v.aabb.ovov, (0, 1, 2, 3), tmp131, (0, 1), (3, 2), optimize=True) * -2 - del tmp131 - tmp130 = tmp51.copy() * 0.5 - tmp130 += tmp52 - tmp130 += tmp53 * 0.5 - l1new.bb += einsum(tmp130, (0, 1), v.bbaa.ovvv, (2, 3, 1, 0), (3, 2), optimize=True) * 2 - del tmp130 - tmp123 = einsum(t2.bbbb, (0, 1, 2, 3), l1.bb, (3, 4), (4, 1, 0, 2), optimize=True) * -1 - tmp123 += tmp72.transpose((1, 0, 2, 3)) - del tmp72 - tmp123 += tmp120.transpose((0, 2, 1, 3)) * 0.5 + tmp123 = einsum(t2.bbbb, (0, 1, 2, 3), l1.bb, (3, 4), (4, 0, 1, 2), optimize=True) * 0.5 + tmp123 += tmp73.transpose((1, 0, 2, 3)) * 0.5 + tmp123 += tmp120.transpose((0, 2, 1, 3)) * 0.25 del tmp120 - tmp123 += tmp121.transpose((0, 2, 1, 3)) * 2 + tmp123 += tmp121.transpose((0, 2, 1, 3)) del tmp121 - tmp123 += einsum(t1.bb, (0, 1), tmp122, (0, 2, 3, 4), (2, 3, 4, 1), optimize=True) * -1 - del tmp122 - l1new.bb += einsum(tmp123, (0, 1, 2, 3), v.bbbb.ovov, (1, 3, 2, 4), (4, 0), optimize=True) * -2 + tmp123 += einsum(tmp122, (0, 1, 2, 3), t1.bb, (0, 4), (1, 2, 3, 4), optimize=True) * -0.5 + l1new.bb += einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp123, (4, 0, 2, 1), (3, 4), optimize=True) * -4 del tmp123 - tmp22 = v.aabb.ooov.transpose((1, 0, 2, 3)).copy() - tmp22 += einsum(v.aabb.oovv, (0, 1, 2, 3), t1.bb, (4, 3), (1, 0, 4, 2), optimize=True) - tmp22 += einsum(v.aabb.ovvv, (0, 1, 2, 3), t2.abab, (4, 5, 1, 2), (4, 0, 5, 3), optimize=True) - tmp22 += einsum(tmp6, (0, 1, 2, 3), t2.abab, (2, 4, 3, 5), (1, 0, 4, 5), optimize=True) - del tmp6 - tmp22 += einsum(tmp8, (0, 1, 2, 3), t2.abab, (4, 1, 3, 5), (4, 0, 2, 5), optimize=True) * -1 - del tmp8 - tmp22 += einsum(tmp10, (0, 1, 2, 3), t2.bbbb, (2, 4, 3, 5), (1, 0, 4, 5), optimize=True) * 2 - del tmp10 - tmp22 += einsum(tmp14, (0, 1), t2.abab, (2, 3, 1, 4), (2, 0, 3, 4), optimize=True) - tmp22 += einsum(t1.aa, (0, 1), tmp16, (2, 3, 1, 4), (0, 2, 3, 4), optimize=True) - del tmp16 - tmp22 += einsum(tmp21, (0, 1, 2, 3), t1.bb, (2, 4), (1, 0, 3, 4), optimize=True) * -1 + tmp136 = tmp75.copy() * 0.5 + del tmp75 + tmp136 += tmp76 * 0.5 + del tmp76 + tmp136 += tmp77 + del tmp77 + l1new.bb += einsum(tmp136, (0, 1), tmp99, (1, 2), (2, 0), optimize=True) * -2 + del tmp136 + tmp110 = l2.abab.transpose((2, 3, 0, 1)).copy() + tmp110 += einsum(l2.abab, (0, 1, 2, 3), t2.aaaa, (4, 2, 5, 0), (4, 3, 5, 1), optimize=True) * 2 + tmp110 += einsum(t1.aa, (0, 1), tmp36, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) * -1 + tmp110 += einsum(l2.bbbb, (0, 1, 2, 3), t2.abab, (4, 3, 5, 1), (4, 2, 5, 0), optimize=True) * 2 + l1new.bb += einsum(v.aabb.ovvv, (0, 1, 2, 3), tmp110, (0, 4, 1, 3), (2, 4), optimize=True) + del tmp110 + tmp118 = einsum(t1.bb, (0, 1), tmp73, (0, 2, 3, 4), (2, 3, 4, 1), optimize=True) * -1 + del tmp73 + l1new.bb += einsum(tmp117, (0, 1, 2, 3), tmp118, (4, 0, 2, 3), (1, 4), optimize=True) * -2 + del tmp117, tmp118 + tmp69 = tmp66.copy() + del tmp66 + tmp69 += tmp67 + del tmp67 + tmp69 += tmp68 * 2 + del tmp68 + l1new.bb += einsum(tmp128, (0, 1, 2, 3), tmp69, (2, 1), (3, 0), optimize=True) * -1 + del tmp128 + l1new.aa += einsum(v.aabb.ovvv, (0, 1, 2, 3), tmp69, (3, 2), (1, 0), optimize=True) + del tmp69 + tmp126 = tmp124.transpose((1, 0, 3, 2)).copy() + del tmp124 + tmp126 += tmp122.transpose((2, 1, 0, 3)) + del tmp122 + l1new.bb += einsum(tmp126, (0, 1, 2, 3), v.bbbb.ooov, (0, 2, 3, 4), (4, 1), optimize=True) * 2 + del tmp126 + tmp102 = v.aabb.ovoo.transpose((0, 2, 3, 1)).copy() + tmp102 += tmp7 + del tmp7 + tmp102 += einsum(v.aabb.vvov, (0, 1, 2, 3), t2.abab, (4, 5, 1, 3), (4, 5, 2, 0), optimize=True) + tmp102 += einsum(t2.abab, (0, 1, 2, 3), tmp95, (1, 4, 5, 3), (0, 4, 5, 2), optimize=True) + del tmp95 + tmp102 += einsum(tmp8, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 3), (4, 2, 1, 5), optimize=True) * 2 + tmp102 += einsum(t2.abab, (0, 1, 2, 3), tmp10, (0, 4, 5, 3), (4, 1, 5, 2), optimize=True) * -1 + tmp102 += einsum(t2.abab, (0, 1, 2, 3), tmp99, (4, 3), (0, 1, 4, 2), optimize=True) + del tmp99 + tmp102 += einsum(tmp101, (0, 1, 2, 3), t1.aa, (4, 2), (4, 1, 0, 3), optimize=True) + del tmp101 + tmp102 += einsum(t1.aa, (0, 1), tmp21, (0, 2, 3, 4), (2, 4, 3, 1), optimize=True) * -1 + l1new.bb += einsum(l2.abab, (0, 1, 2, 3), tmp102, (2, 3, 4, 0), (1, 4), optimize=True) * -1 + del tmp102 + tmp119 = v.bbbb.ovvv.copy() + tmp119 += einsum(t1.bb, (0, 1), v.bbbb.vvvv, (2, 3, 4, 1), (0, 2, 4, 3), optimize=True) * -1 + l1new.bb += einsum(l2.bbbb, (0, 1, 2, 3), tmp119, (3, 0, 1, 4), (4, 2), optimize=True) * -2 + del tmp119 + tmp22 = v.aabb.ooov.copy() + tmp22 += einsum(t1.bb, (0, 1), v.aabb.oovv, (2, 3, 4, 1), (2, 3, 0, 4), optimize=True) + tmp22 += einsum(v.aabb.ovvv, (0, 1, 2, 3), t2.abab, (4, 5, 1, 3), (4, 0, 5, 2), optimize=True) + tmp22 += einsum(t2.abab, (0, 1, 2, 3), tmp6, (4, 5, 0, 2), (5, 4, 1, 3), optimize=True) + del tmp6 + tmp22 += einsum(tmp8, (0, 1, 2, 3), t2.abab, (4, 1, 3, 5), (4, 0, 2, 5), optimize=True) * -1 + del tmp8 + tmp22 += einsum(t2.bbbb, (0, 1, 2, 3), tmp10, (4, 5, 1, 3), (5, 4, 0, 2), optimize=True) * 2 + del tmp10 + tmp22 += einsum(t2.abab, (0, 1, 2, 3), tmp14, (4, 2), (0, 4, 1, 3), optimize=True) + tmp22 += einsum(t1.aa, (0, 1), tmp16, (2, 3, 1, 4), (0, 2, 3, 4), optimize=True) + del tmp16 + tmp22 += einsum(tmp21, (0, 1, 2, 3), t1.bb, (2, 4), (1, 0, 3, 4), optimize=True) * -1 del tmp21 - l1new.aa += einsum(tmp22, (0, 1, 2, 3), l2.abab, (4, 3, 0, 2), (4, 1), optimize=True) * -1 + l1new.aa += einsum(l2.abab, (0, 1, 2, 3), tmp22, (2, 4, 3, 1), (0, 4), optimize=True) * -1 del tmp22 - tmp64 = t1.aa.copy() * -1 - tmp64 += tmp56 * -2 - del tmp56 - tmp64 += tmp57 * -1 - del tmp57 - tmp64 += tmp58 * 2 - del tmp58 - tmp64 += tmp59 - del tmp59 - tmp64 += einsum(tmp63, (0, 1), t1.aa, (0, 2), (1, 2), optimize=True) * 2 - del tmp63 - l1new.aa += einsum(tmp12, (0, 1, 2, 3), tmp64, (0, 2), (3, 1), optimize=True) - del tmp12, tmp64 - tmp85 = f.aa.vv.transpose((1, 0)).copy() - tmp85 += tmp83.transpose((1, 0)) - del tmp83 - tmp85 += einsum(t1.aa, (0, 1), tmp84, (0, 1, 2, 3), (3, 2), optimize=True) * -1 - del tmp84 - l1new.aa += einsum(l1.aa, (0, 1), tmp85, (0, 2), (2, 1), optimize=True) - del tmp85 - tmp54 = tmp51.copy() - del tmp51 - tmp54 += tmp52 * 2 - del tmp52 - tmp54 += tmp53 - del tmp53 - l1new.aa += einsum(tmp54, (0, 1), tmp55, (2, 1, 0, 3), (3, 2), optimize=True) * -1 - del tmp55, tmp54 - tmp41 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 0, 5), (2, 4, 1, 5), optimize=True) - tmp41 += einsum(tmp36, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 4, 3), optimize=True) - l1new.aa += einsum(tmp41, (0, 1, 2, 3), v.aabb.ovvv, (1, 4, 3, 2), (4, 0), optimize=True) * -1 + tmp81 = v.aaaa.ooov.copy() * -1 + tmp81 += v.aaaa.ooov.transpose((0, 2, 1, 3)) + l1new.aa += einsum(tmp63, (0, 1), tmp81, (0, 2, 1, 3), (3, 2), optimize=True) * -2 + del tmp63, tmp81 + tmp41 = l2.aaaa.transpose((2, 3, 0, 1)).copy() * -1 + tmp41 += einsum(tmp2, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 3, 4), optimize=True) * -1 + l1new.aa += einsum(tmp41, (0, 1, 2, 3), v.aaaa.ovvv, (1, 3, 4, 2), (4, 0), optimize=True) * -2 del tmp41 - tmp42 = l2.aaaa.transpose((3, 2, 1, 0)).copy() * -1 - tmp42 += einsum(tmp3, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 3, 4), optimize=True) - l1new.aa += einsum(v.aaaa.ovvv, (0, 1, 2, 3), tmp42, (4, 0, 2, 1), (3, 4), optimize=True) * -2 - del tmp42 - tmp48 = tmp43.copy() - tmp48 += einsum(tmp47, (0, 1, 2, 3), t1.aa, (1, 4), (0, 3, 2, 4), optimize=True) * 0.5 - tmp48 += tmp45 * 0.25 - l1new.aa += einsum(v.aaaa.ovov, (0, 1, 2, 3), tmp48, (4, 2, 0, 3), (1, 4), optimize=True) * 4 - del tmp48 - tmp46 = einsum(l1.aa, (0, 1), t2.aaaa, (2, 3, 4, 0), (1, 3, 2, 4), optimize=True) * -0.5 - tmp46 += tmp3.transpose((1, 0, 2, 3)) * 0.5 + tmp46 = einsum(l1.aa, (0, 1), t2.aaaa, (2, 3, 4, 0), (1, 2, 3, 4), optimize=True) * 0.5 + tmp46 += tmp2.transpose((1, 0, 2, 3)) * 0.5 tmp46 += tmp43.transpose((0, 2, 1, 3)) - del tmp43 tmp46 += einsum(tmp44, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 3, 4), optimize=True) * -0.5 tmp46 += tmp45.transpose((0, 2, 1, 3)) * 0.25 - del tmp45 - l1new.aa += einsum(tmp46, (0, 1, 2, 3), v.aaaa.ovov, (1, 3, 2, 4), (4, 0), optimize=True) * -4 + l1new.aa += einsum(v.aaaa.ovov, (0, 1, 2, 3), tmp46, (4, 0, 2, 1), (3, 4), optimize=True) * -4 del tmp46 - tmp82 = v.aaaa.ovov.transpose((2, 0, 3, 1)).copy() - tmp82 += v.aaaa.oovv.transpose((1, 0, 3, 2)) * -1 - l1new.aa += einsum(tmp82, (0, 1, 2, 3), l1.aa, (2, 0), (3, 1), optimize=True) - del tmp82 - tmp81 = v.aaaa.ooov.transpose((1, 0, 2, 3)).copy() - tmp81 += v.aaaa.ooov.transpose((2, 1, 0, 3)) * -1 - l1new.aa += einsum(tmp80, (0, 1), tmp81, (1, 0, 2, 3), (3, 2), optimize=True) * -1 - del tmp80, tmp81 - tmp31 = l2.abab.transpose((2, 3, 0, 1)).copy() - tmp31 += einsum(t2.abab, (0, 1, 2, 3), l2.aaaa, (4, 2, 0, 5), (5, 1, 4, 3), optimize=True) * -2 - tmp31 += einsum(t2.bbbb, (0, 1, 2, 3), l2.abab, (4, 3, 5, 1), (5, 0, 4, 2), optimize=True) * 2 - tmp31 += einsum(tmp0, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 3, 4), optimize=True) * -1 - l1new.aa += einsum(tmp31, (0, 1, 2, 3), v.bbaa.ovvv, (1, 3, 2, 4), (4, 0), optimize=True) - del tmp31 - tmp79 = l1.bb.transpose((1, 0)).copy() * -1 - tmp79 += t1.bb * -1 - tmp79 += tmp69 * -1 - del tmp69 - tmp79 += tmp70 * -2 - del tmp70 - tmp79 += tmp71 - del tmp71 - tmp79 += tmp73 * 2 - del tmp73 - tmp79 += tmp78 - del tmp78 - l1new.aa += einsum(v.aabb.ovov, (0, 1, 2, 3), tmp79, (2, 3), (1, 0), optimize=True) * -1 - del tmp79 - tmp49 = tmp47.transpose((1, 0, 3, 2)).copy() - del tmp47 - tmp49 += tmp44.transpose((2, 1, 0, 3)) - del tmp44 - l1new.aa += einsum(v.aaaa.ooov, (0, 1, 2, 3), tmp49, (1, 4, 0, 2), (3, 4), optimize=True) * 2 - del tmp49 - tmp30 = v.aaaa.ooov.transpose((1, 2, 0, 3)).copy() - tmp30 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovvv, (4, 2, 3, 5), (4, 1, 0, 5), optimize=True) - tmp30 += einsum(tmp23, (0, 1, 2, 3), t2.aaaa, (2, 4, 3, 5), (1, 4, 0, 5), optimize=True) * 2 + tmp50 = tmp37.copy() + del tmp37 + tmp50 += tmp38.transpose((0, 1, 3, 2)) + del tmp38 + l1new.aa += einsum(v.aabb.ovoo, (0, 1, 2, 3), tmp50, (4, 0, 3, 2), (1, 4), optimize=True) + del tmp50 + tmp0 = einsum(t1.bb, (0, 1), v.aabb.vvvv, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) + l1new.aa += einsum(tmp0, (0, 1, 2, 3), l2.abab, (2, 3, 4, 0), (1, 4), optimize=True) + del tmp0 + tmp30 = v.aaaa.ooov.transpose((0, 2, 1, 3)).copy() + tmp30 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), t2.aaaa, (4, 5, 3, 1), (0, 4, 5, 2), optimize=True) + tmp30 += einsum(t2.aaaa, (0, 1, 2, 3), tmp23, (4, 1, 5, 3), (5, 0, 4, 2), optimize=True) * 2 del tmp23 tmp30 += einsum(t2.abab, (0, 1, 2, 3), tmp24, (4, 5, 1, 3), (5, 0, 4, 2), optimize=True) del tmp24 - tmp30 += einsum(tmp14, (0, 1), t2.aaaa, (2, 3, 1, 4), (0, 3, 2, 4), optimize=True) + tmp30 += einsum(t2.aaaa, (0, 1, 2, 3), tmp14, (4, 3), (4, 0, 1, 2), optimize=True) del tmp14 tmp30 += einsum(tmp25, (0, 1, 2, 3), t1.aa, (4, 3), (1, 0, 4, 2), optimize=True) del tmp25 tmp30 += einsum(tmp29, (0, 1, 2, 3), t1.aa, (0, 4), (2, 1, 3, 4), optimize=True) * -1 del tmp29 - l1new.aa += einsum(l2.aaaa, (0, 1, 2, 3), tmp30, (4, 2, 3, 0), (1, 4), optimize=True) * -2 + l1new.aa += einsum(l2.aaaa, (0, 1, 2, 3), tmp30, (4, 2, 3, 1), (0, 4), optimize=True) * 2 del tmp30 - tmp1 = einsum(v.aabb.vvvv, (0, 1, 2, 3), t1.bb, (4, 3), (4, 0, 1, 2), optimize=True) - l1new.aa += einsum(tmp1, (0, 1, 2, 3), l2.abab, (2, 3, 4, 0), (1, 4), optimize=True) - del tmp1 - tmp40 = einsum(l1.aa, (0, 1), t2.abab, (2, 3, 0, 4), (1, 2, 3, 4), optimize=True) + tmp48 = tmp43.copy() + del tmp43 + tmp48 += einsum(t1.aa, (0, 1), tmp47, (2, 0, 3, 4), (2, 4, 3, 1), optimize=True) * 0.5 + tmp48 += tmp45 * 0.25 + del tmp45 + l1new.aa += einsum(v.aaaa.ovov, (0, 1, 2, 3), tmp48, (4, 2, 0, 3), (1, 4), optimize=True) * 4 + del tmp48 + tmp31 = l2.abab.transpose((2, 3, 0, 1)).copy() * 0.5 + tmp31 += einsum(l2.aaaa, (0, 1, 2, 3), t2.abab, (3, 4, 1, 5), (2, 4, 0, 5), optimize=True) + tmp31 += einsum(l2.abab, (0, 1, 2, 3), t2.bbbb, (4, 3, 5, 1), (2, 4, 0, 5), optimize=True) + tmp31 += einsum(tmp4, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 3, 4), optimize=True) * -0.5 + l1new.aa += einsum(tmp31, (0, 1, 2, 3), v.aabb.vvov, (4, 2, 1, 3), (4, 0), optimize=True) * 2 + del tmp31 + tmp40 = einsum(t2.abab, (0, 1, 2, 3), l1.aa, (2, 4), (4, 0, 1, 3), optimize=True) tmp40 += tmp36 - tmp40 += einsum(tmp3, (0, 1, 2, 3), t2.abab, (1, 4, 3, 5), (0, 2, 4, 5), optimize=True) * -2 - del tmp3 + tmp40 += einsum(t2.abab, (0, 1, 2, 3), tmp2, (4, 0, 5, 2), (4, 5, 1, 3), optimize=True) * -2 + del tmp2 tmp40 += einsum(tmp36, (0, 1, 2, 3), t2.bbbb, (4, 2, 5, 3), (0, 1, 4, 5), optimize=True) * 2 - del tmp36 - tmp40 += einsum(tmp0, (0, 1, 2, 3), t2.abab, (4, 1, 3, 5), (0, 4, 2, 5), optimize=True) * -1 - del tmp0 + tmp40 += einsum(tmp4, (0, 1, 2, 3), t2.abab, (4, 1, 3, 5), (0, 4, 2, 5), optimize=True) * -1 + del tmp4 tmp40 += einsum(tmp39, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 3, 4), optimize=True) * -1 del tmp39 - l1new.aa += einsum(tmp40, (0, 1, 2, 3), v.aabb.ovov, (1, 4, 2, 3), (4, 0), optimize=True) * -1 + l1new.aa += einsum(v.aabb.ovov, (0, 1, 2, 3), tmp40, (4, 0, 2, 3), (1, 4), optimize=True) * -1 del tmp40 - tmp2 = einsum(t1.aa, (0, 1), v.aaaa.vvvv, (2, 3, 1, 4), (0, 2, 3, 4), optimize=True) - l1new.aa += einsum(l2.aaaa, (0, 1, 2, 3), tmp2, (3, 4, 1, 0), (4, 2), optimize=True) * -2 - del tmp2 - tmp50 = tmp37.copy() - del tmp37 - tmp50 += tmp38.transpose((0, 1, 3, 2)) - del tmp38 - l1new.aa += einsum(tmp50, (0, 1, 2, 3), v.aabb.ovoo, (1, 4, 3, 2), (4, 0), optimize=True) - del tmp50 + tmp82 = v.aaaa.ovov.transpose((0, 2, 1, 3)).copy() + tmp82 += v.aaaa.oovv * -1 + l1new.aa += einsum(l1.aa, (0, 1), tmp82, (1, 2, 0, 3), (3, 2), optimize=True) + del tmp82 + tmp49 = tmp47.transpose((1, 0, 3, 2)).copy() + del tmp47 + tmp49 += tmp44.transpose((2, 1, 0, 3)) + del tmp44 + l1new.aa += einsum(v.aaaa.ooov, (0, 1, 2, 3), tmp49, (1, 4, 0, 2), (3, 4), optimize=True) * 2 + del tmp49 + tmp1 = einsum(v.aaaa.vvvv, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 1, 2), optimize=True) + l1new.aa += einsum(l2.aaaa, (0, 1, 2, 3), tmp1, (3, 4, 0, 1), (4, 2), optimize=True) * 2 + del tmp1 + tmp42 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 4, 5, 1), (5, 0, 4, 3), optimize=True) + tmp42 += einsum(tmp36, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 4, 3), optimize=True) + del tmp36 + l1new.aa += einsum(tmp42, (0, 1, 2, 3), v.aabb.ovvv, (1, 4, 3, 2), (4, 0), optimize=True) * -1 + del tmp42 + tmp65 = t1.aa.copy() * -1 + tmp65 += tmp56 * -2 + del tmp56 + tmp65 += tmp57 * -1 + del tmp57 + tmp65 += tmp58 * 2 + del tmp58 + tmp65 += tmp59 + del tmp59 + tmp65 += tmp64 + del tmp64 + l1new.aa += einsum(tmp65, (0, 1), tmp12, (0, 2, 3, 1), (3, 2), optimize=True) + del tmp12, tmp65 + tmp84 = f.aa.vv.copy() + tmp84 += tmp83.transpose((1, 0)) + del tmp83 + tmp84 += einsum(tmp55, (0, 1, 2, 3), t1.aa, (0, 1), (3, 2), optimize=True) * -1 + del tmp55 + l1new.aa += einsum(tmp84, (0, 1), l1.aa, (0, 2), (1, 2), optimize=True) + del tmp84 + tmp80 = l1.bb.transpose((1, 0)).copy() * -1 + tmp80 += t1.bb * -1 + tmp80 += tmp70 * -1 + del tmp70 + tmp80 += tmp71 * -2 + del tmp71 + tmp80 += tmp72 + del tmp72 + tmp80 += tmp74 * 2 + del tmp74 + tmp80 += tmp79 + del tmp79 + l1new.aa += einsum(tmp80, (0, 1), v.aabb.ovov, (2, 3, 0, 1), (3, 2), optimize=True) * -1 + del tmp80 l1new.aa += f.aa.ov.transpose((1, 0)) l1new.bb += f.bb.ov.transpose((1, 0)) - l2new.aaaa += v.aaaa.ovov.transpose((3, 1, 2, 0)) - l2new.aaaa += v.aaaa.ovov.transpose((1, 3, 2, 0)) * -1 + l2new.aaaa += v.aaaa.ovov.transpose((1, 3, 0, 2)) + l2new.aaaa += v.aaaa.ovov.transpose((3, 1, 0, 2)) * -1 l2new.abab += v.aabb.ovov.transpose((1, 3, 0, 2)) l2new.abab += einsum(v.aabb.ovvv, (0, 1, 2, 3), l1.bb, (3, 4), (1, 2, 0, 4), optimize=True) - l2new.abab += einsum(l1.aa, (0, 1), v.bbaa.ovvv, (2, 3, 4, 0), (4, 3, 1, 2), optimize=True) - l2new.bbbb += v.bbbb.ovov.transpose((3, 1, 2, 0)) - l2new.bbbb += v.bbbb.ovov.transpose((1, 3, 2, 0)) * -1 + l2new.abab += einsum(l1.aa, (0, 1), v.aabb.vvov, (2, 0, 3, 4), (2, 4, 1, 3), optimize=True) + l2new.bbbb += v.bbbb.ovov.transpose((1, 3, 0, 2)) + l2new.bbbb += v.bbbb.ovov.transpose((3, 1, 0, 2)) * -1 return {f"l1new": l1new, f"l2new": l2new} def make_rdm1_f(l1=None, l2=None, t1=None, t2=None, **kwargs): """ - Code generated by `albert` 0.0.0 on 2024-07-18T20:19:40.623843. + Code generated by `albert` 0.0.0 on 2024-07-22T17:00:47.386612. Parameters ---------- @@ -1973,65 +1967,65 @@ def make_rdm1_f(l1=None, l2=None, t1=None, t2=None, **kwargs): rdm1.aa = Namespace() rdm1.bb = Namespace() delta = Namespace( - aa=Namespace(oo=np.eye(t2.aaaa.shape[0]), vv=np.eye(t1.aaaa.shape[-1])), - bb=Namespace(oo=np.eye(t2.bbbb.shape[0]), vv=np.eye(t1.bbbb.shape[-1])), + aa=Namespace(oo=np.eye(t2.aaaa.shape[0]), vv=np.eye(t2.aaaa.shape[-1])), + bb=Namespace(oo=np.eye(t2.bbbb.shape[0]), vv=np.eye(t2.bbbb.shape[-1])), ) - tmp5 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 3, 0, 4), (4, 1), optimize=True) + tmp5 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 1), (3, 4), optimize=True) rdm1.bb.oo = tmp5.transpose((1, 0)).copy() * -1 - tmp3 = einsum(t1.bb, (0, 1), l1.bb, (1, 2), (2, 0), optimize=True) - rdm1.bb.oo += tmp3.transpose((1, 0)) * -1 - tmp4 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (2, 3, 4, 1), (4, 0), optimize=True) - rdm1.bb.oo += tmp4.transpose((1, 0)) * -2 - tmp0 = einsum(l1.aa, (0, 1), t1.aa, (2, 0), (1, 2), optimize=True) + tmp4 = einsum(l1.bb, (0, 1), t1.bb, (2, 0), (1, 2), optimize=True) + rdm1.bb.oo += tmp4.transpose((1, 0)) * -1 + tmp3 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (2, 3, 4, 1), (4, 0), optimize=True) + rdm1.bb.oo += tmp3.transpose((1, 0)) * -2 + tmp0 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 3, 4, 1), (4, 0), optimize=True) rdm1.aa.oo = tmp0.transpose((1, 0)).copy() * -1 - tmp1 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 3, 4, 1), (4, 0), optimize=True) - rdm1.aa.oo += tmp1.transpose((1, 0)) * -1 - tmp2 = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (2, 3, 4, 1), (4, 0), optimize=True) - rdm1.aa.oo += tmp2.transpose((1, 0)) * -2 - tmp9 = einsum(l2.bbbb, (0, 1, 2, 3), t1.bb, (4, 1), (2, 3, 4, 0), optimize=True) - rdm1.bb.ov = einsum(tmp9, (0, 1, 2, 3), t2.bbbb, (0, 1, 4, 3), (2, 4), optimize=True) * 2 - del tmp9 - tmp11 = tmp3.copy() - del tmp3 + tmp2 = einsum(t1.aa, (0, 1), l1.aa, (1, 2), (2, 0), optimize=True) + rdm1.aa.oo += tmp2.transpose((1, 0)) * -1 + tmp1 = einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 3, 0, 1), (2, 4), optimize=True) + rdm1.aa.oo += tmp1.transpose((1, 0)) * -2 + tmp11 = tmp4.copy() + del tmp4 tmp11 += tmp5 del tmp5 - tmp11 += tmp4 * 2 - del tmp4 - rdm1.bb.ov += einsum(tmp11, (0, 1), t1.bb, (0, 2), (1, 2), optimize=True) * -1 + tmp11 += tmp3 * 2 + del tmp3 + rdm1.bb.ov = einsum(tmp11, (0, 1), t1.bb, (0, 2), (1, 2), optimize=True) * -1 del tmp11 - tmp10 = einsum(t1.bb, (0, 1), l2.abab, (2, 1, 3, 4), (3, 4, 0, 2), optimize=True) - rdm1.bb.ov += einsum(tmp10, (0, 1, 2, 3), t2.abab, (0, 1, 3, 4), (2, 4), optimize=True) * -1 + tmp10 = einsum(l2.bbbb, (0, 1, 2, 3), t1.bb, (4, 1), (2, 3, 4, 0), optimize=True) + rdm1.bb.ov += einsum(t2.bbbb, (0, 1, 2, 3), tmp10, (1, 0, 4, 3), (4, 2), optimize=True) * -2 del tmp10 - tmp7 = einsum(l2.aaaa, (0, 1, 2, 3), t1.aa, (4, 1), (2, 3, 4, 0), optimize=True) - rdm1.aa.ov = einsum(tmp7, (0, 1, 2, 3), t2.aaaa, (0, 1, 4, 3), (2, 4), optimize=True) * 2 - del tmp7 - tmp6 = einsum(l2.abab, (0, 1, 2, 3), t1.aa, (4, 0), (2, 4, 3, 1), optimize=True) - rdm1.aa.ov += einsum(t2.abab, (0, 1, 2, 3), tmp6, (0, 4, 1, 3), (4, 2), optimize=True) * -1 + tmp9 = einsum(t1.bb, (0, 1), l2.abab, (2, 1, 3, 4), (3, 4, 0, 2), optimize=True) + rdm1.bb.ov += einsum(tmp9, (0, 1, 2, 3), t2.abab, (0, 1, 3, 4), (2, 4), optimize=True) * -1 + del tmp9 + tmp6 = einsum(t1.aa, (0, 1), l2.aaaa, (2, 1, 3, 4), (3, 4, 0, 2), optimize=True) + rdm1.aa.ov = einsum(tmp6, (0, 1, 2, 3), t2.aaaa, (1, 0, 4, 3), (2, 4), optimize=True) * -2 del tmp6 - tmp8 = tmp0.copy() * 0.5 - del tmp0 - tmp8 += tmp2 + tmp8 = tmp2.copy() * 0.5 del tmp2 - tmp8 += tmp1 * 0.5 + tmp8 += tmp1 del tmp1 - rdm1.aa.ov += einsum(tmp8, (0, 1), t1.aa, (0, 2), (1, 2), optimize=True) * -2 + tmp8 += tmp0 * 0.5 + del tmp0 + rdm1.aa.ov += einsum(t1.aa, (0, 1), tmp8, (0, 2), (2, 1), optimize=True) * -2 del tmp8 - rdm1.aa.oo += delta.aa.oo.transpose((1, 0)) - rdm1.bb.oo += delta.bb.oo.transpose((1, 0)) + tmp7 = einsum(t1.aa, (0, 1), l2.abab, (1, 2, 3, 4), (3, 0, 4, 2), optimize=True) + rdm1.aa.ov += einsum(t2.abab, (0, 1, 2, 3), tmp7, (0, 4, 1, 3), (4, 2), optimize=True) * -1 + del tmp7 + rdm1.aa.oo += delta.aa.oo + rdm1.bb.oo += delta.bb.oo del delta + rdm1.aa.ov += einsum(l1.aa, (0, 1), t2.aaaa, (2, 1, 3, 0), (2, 3), optimize=True) * 2 rdm1.aa.ov += einsum(l1.bb, (0, 1), t2.abab, (2, 1, 3, 0), (2, 3), optimize=True) rdm1.aa.ov += t1.aa - rdm1.aa.ov += einsum(t2.aaaa, (0, 1, 2, 3), l1.aa, (3, 1), (0, 2), optimize=True) * 2 - rdm1.bb.ov += einsum(l1.aa, (0, 1), t2.abab, (1, 2, 0, 3), (2, 3), optimize=True) - rdm1.bb.ov += t1.bb rdm1.bb.ov += einsum(t2.bbbb, (0, 1, 2, 3), l1.bb, (3, 1), (0, 2), optimize=True) * 2 + rdm1.bb.ov += einsum(t2.abab, (0, 1, 2, 3), l1.aa, (2, 0), (1, 3), optimize=True) + rdm1.bb.ov += t1.bb rdm1.aa.vo = l1.aa.copy() rdm1.bb.vo = l1.bb.copy() - rdm1.aa.vv = einsum(l1.aa, (0, 1), t1.aa, (1, 2), (0, 2), optimize=True) - rdm1.aa.vv += einsum(t2.abab, (0, 1, 2, 3), l2.abab, (4, 3, 0, 1), (4, 2), optimize=True) - rdm1.aa.vv += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (2, 3, 4, 0), (1, 4), optimize=True) * -2 - rdm1.bb.vv = einsum(l1.bb, (0, 1), t1.bb, (1, 2), (0, 2), optimize=True) - rdm1.bb.vv += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (2, 3, 4, 0), (1, 4), optimize=True) * -2 + rdm1.aa.vv = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (4, 3, 0, 1), (4, 2), optimize=True) + rdm1.aa.vv += einsum(t1.aa, (0, 1), l1.aa, (2, 0), (2, 1), optimize=True) + rdm1.aa.vv += einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (4, 3, 0, 1), (4, 2), optimize=True) * 2 + rdm1.bb.vv = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (4, 3, 0, 1), (4, 2), optimize=True) * 2 + rdm1.bb.vv += einsum(l1.bb, (0, 1), t1.bb, (1, 2), (0, 2), optimize=True) rdm1.bb.vv += einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 4, 0, 1), (4, 3), optimize=True) rdm1.aa = np.block([[rdm1.aa.oo, rdm1.aa.ov], [rdm1.aa.vo, rdm1.aa.vv]]) rdm1.bb = np.block([[rdm1.bb.oo, rdm1.bb.ov], [rdm1.bb.vo, rdm1.bb.vv]]) @@ -2040,7 +2034,7 @@ def make_rdm1_f(l1=None, l2=None, t1=None, t2=None, **kwargs): def make_rdm2_f(l1=None, l2=None, t1=None, t2=None, **kwargs): """ - Code generated by `albert` 0.0.0 on 2024-07-18T20:20:17.522400. + Code generated by `albert` 0.0.0 on 2024-07-22T17:01:16.316662. Parameters ---------- @@ -2064,629 +2058,635 @@ def make_rdm2_f(l1=None, l2=None, t1=None, t2=None, **kwargs): rdm2.abab = Namespace() rdm2.bbbb = Namespace() delta = Namespace( - aa=Namespace(oo=np.eye(t2.aaaa.shape[0]), vv=np.eye(t1.aaaa.shape[-1])), - bb=Namespace(oo=np.eye(t2.bbbb.shape[0]), vv=np.eye(t1.bbbb.shape[-1])), + aa=Namespace(oo=np.eye(t2.aaaa.shape[0]), vv=np.eye(t2.aaaa.shape[-1])), + bb=Namespace(oo=np.eye(t2.bbbb.shape[0]), vv=np.eye(t2.bbbb.shape[-1])), ) - tmp13 = einsum(t1.bb, (0, 1), l2.abab, (2, 1, 3, 4), (3, 4, 0, 2), optimize=True) - rdm2.abab.vovv = einsum(tmp13, (0, 1, 2, 3), t2.abab, (0, 1, 4, 5), (3, 2, 4, 5), optimize=True) * -1 - rdm2.abab.vovo = einsum(tmp13, (0, 1, 2, 3), t1.aa, (0, 4), (3, 2, 4, 1), optimize=True) * -1 - rdm2.abab.vooo = tmp13.transpose((3, 2, 0, 1)).copy() * -1 - tmp18 = einsum(l2.bbbb, (0, 1, 2, 3), t1.bb, (4, 1), (2, 3, 4, 0), optimize=True) - rdm2.bbbb.vooo = tmp18.transpose((3, 2, 1, 0)).copy() * 2 - rdm2.bbbb.ovoo = tmp18.transpose((2, 3, 1, 0)).copy() * -2 - tmp9 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 3, 0, 4), (4, 1), optimize=True) + tmp14 = einsum(t1.bb, (0, 1), l2.abab, (2, 1, 3, 4), (3, 4, 0, 2), optimize=True) + rdm2.abab.vovv = einsum(tmp14, (0, 1, 2, 3), t2.abab, (0, 1, 4, 5), (3, 2, 4, 5), optimize=True) * -1 + rdm2.abab.vovo = einsum(tmp14, (0, 1, 2, 3), t1.aa, (0, 4), (3, 2, 4, 1), optimize=True) * -1 + rdm2.abab.vooo = tmp14.transpose((3, 2, 0, 1)).copy() * -1 + tmp20 = einsum(l2.bbbb, (0, 1, 2, 3), t1.bb, (4, 1), (2, 3, 4, 0), optimize=True) + rdm2.bbbb.vooo = tmp20.transpose((3, 2, 1, 0)).copy() * 2 + rdm2.bbbb.ovoo = tmp20.transpose((2, 3, 1, 0)).copy() * -2 tmp10 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (2, 3, 4, 1), (4, 0), optimize=True) - tmp0 = einsum(l1.aa, (0, 1), t1.aa, (2, 0), (1, 2), optimize=True) - tmp1 = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (2, 3, 4, 1), (4, 0), optimize=True) + tmp9 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 1), (3, 4), optimize=True) + tmp8 = einsum(l1.bb, (0, 1), t1.bb, (2, 0), (1, 2), optimize=True) + tmp0 = einsum(t1.aa, (0, 1), l1.aa, (1, 2), (2, 0), optimize=True) tmp2 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 3, 4, 1), (4, 0), optimize=True) - tmp8 = einsum(t1.bb, (0, 1), l1.bb, (1, 2), (2, 0), optimize=True) - tmp6 = einsum(l2.aaaa, (0, 1, 2, 3), t1.aa, (4, 1), (2, 3, 4, 0), optimize=True) + tmp1 = einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 3, 0, 1), (2, 4), optimize=True) + tmp28 = einsum(t1.aa, (0, 1), l2.abab, (1, 2, 3, 4), (3, 0, 4, 2), optimize=True) + rdm2.abab.ovvv = einsum(t2.abab, (0, 1, 2, 3), tmp28, (0, 4, 1, 5), (4, 5, 2, 3), optimize=True) * -1 + rdm2.abab.ovov = einsum(t1.bb, (0, 1), tmp28, (2, 3, 0, 4), (3, 4, 2, 1), optimize=True) * -1 + rdm2.abab.ovoo = tmp28.transpose((1, 3, 0, 2)).copy() * -1 + tmp6 = einsum(t1.aa, (0, 1), l2.aaaa, (2, 1, 3, 4), (3, 4, 0, 2), optimize=True) rdm2.aaaa.vooo = tmp6.transpose((3, 2, 1, 0)).copy() * 2 rdm2.aaaa.ovoo = tmp6.transpose((2, 3, 1, 0)).copy() * -2 - tmp26 = einsum(l2.abab, (0, 1, 2, 3), t1.aa, (4, 0), (2, 4, 3, 1), optimize=True) - rdm2.abab.ovvv = einsum(tmp26, (0, 1, 2, 3), t2.abab, (0, 2, 4, 5), (1, 3, 4, 5), optimize=True) * -1 - rdm2.abab.ovov = einsum(tmp26, (0, 1, 2, 3), t1.bb, (2, 4), (1, 3, 0, 4), optimize=True) * -1 - rdm2.abab.ovoo = tmp26.transpose((1, 3, 0, 2)).copy() * -1 - tmp114 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 5), (3, 4, 1, 5), optimize=True) - rdm2.bbbb.vovo = tmp114.transpose((2, 1, 3, 0)).copy() * -1 - rdm2.bbbb.voov = tmp114.transpose((2, 1, 0, 3)).copy() - rdm2.bbbb.ovvo = tmp114.transpose((1, 2, 3, 0)).copy() - rdm2.bbbb.ovov = tmp114.transpose((1, 2, 0, 3)).copy() * -1 - tmp94 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (3, 4, 5, 1), (5, 0, 4, 2), optimize=True) * -1 - rdm2.bbbb.vovo += tmp94.transpose((2, 1, 3, 0)) * -4 - rdm2.bbbb.voov += tmp94.transpose((2, 1, 0, 3)) * 4 - rdm2.bbbb.ovvo += tmp94.transpose((1, 2, 3, 0)) * 4 - rdm2.bbbb.ovov += tmp94.transpose((1, 2, 0, 3)) * -4 - tmp65 = einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 3, 5, 0), (2, 4, 1, 5), optimize=True) * -1 - rdm2.aaaa.vovo = tmp65.transpose((2, 1, 3, 0)).copy() * -4 - rdm2.aaaa.voov = tmp65.transpose((2, 1, 0, 3)).copy() * 4 - rdm2.aaaa.ovvo = tmp65.transpose((1, 2, 3, 0)).copy() * 4 - rdm2.aaaa.ovov = tmp65.transpose((1, 2, 0, 3)).copy() * -4 + tmp93 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (4, 3, 5, 1), (5, 0, 4, 2), optimize=True) + rdm2.bbbb.vovo = tmp93.transpose((2, 1, 3, 0)).copy() * -4 + rdm2.bbbb.voov = tmp93.transpose((2, 1, 0, 3)).copy() * 4 + rdm2.bbbb.ovvo = tmp93.transpose((1, 2, 3, 0)).copy() * 4 + rdm2.bbbb.ovov = tmp93.transpose((1, 2, 0, 3)).copy() * -4 + tmp116 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 4, 0, 5), (5, 1, 4, 3), optimize=True) + rdm2.bbbb.vovo += tmp116.transpose((2, 1, 3, 0)) * -1 + rdm2.bbbb.voov += tmp116.transpose((2, 1, 0, 3)) + rdm2.bbbb.ovvo += tmp116.transpose((1, 2, 3, 0)) + rdm2.bbbb.ovov += tmp116.transpose((1, 2, 0, 3)) * -1 tmp86 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (4, 3, 5, 1), (5, 0, 4, 2), optimize=True) - rdm2.aaaa.vovo += tmp86.transpose((2, 1, 3, 0)) * -1 - rdm2.aaaa.voov += tmp86.transpose((2, 1, 0, 3)) - rdm2.aaaa.ovvo += tmp86.transpose((1, 2, 3, 0)) - rdm2.aaaa.ovov += tmp86.transpose((1, 2, 0, 3)) * -1 - tmp52 = einsum(t2.abab, (0, 1, 2, 3), tmp13, (0, 4, 5, 2), (4, 5, 1, 3), optimize=True) - rdm2.bbbb.oovo = tmp52.transpose((2, 1, 3, 0)).copy() * -1 - rdm2.bbbb.oovo += tmp52.transpose((1, 2, 3, 0)) - rdm2.bbbb.ooov = tmp52.transpose((2, 1, 0, 3)).copy() - rdm2.bbbb.ooov += tmp52.transpose((1, 2, 0, 3)) * -1 - tmp53 = einsum(tmp18, (0, 1, 2, 3), t2.bbbb, (4, 1, 5, 3), (0, 2, 4, 5), optimize=True) * -1 - rdm2.bbbb.oovo += tmp53.transpose((2, 1, 3, 0)) * -4 - rdm2.bbbb.oovo += tmp53.transpose((1, 2, 3, 0)) * 4 - rdm2.bbbb.ooov += tmp53.transpose((2, 1, 0, 3)) * 4 - rdm2.bbbb.ooov += tmp53.transpose((1, 2, 0, 3)) * -4 - tmp17 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (2, 3, 4, 5), (4, 5, 0, 1), optimize=True) - rdm2.bbbb.oooo = tmp17.transpose((3, 2, 1, 0)).copy() * 2 - tmp19 = einsum(tmp18, (0, 1, 2, 3), t1.bb, (4, 3), (0, 1, 4, 2), optimize=True) - rdm2.bbbb.oooo += tmp19.transpose((2, 3, 1, 0)) * -2 - tmp100 = tmp9.copy() * 0.5 - tmp100 += tmp10 - tmp28 = tmp0.copy() * 0.5 - tmp28 += tmp1 - tmp28 += tmp2 * 0.5 - rdm2.abab.oovv = einsum(tmp28, (0, 1), t2.abab, (0, 2, 3, 4), (1, 2, 3, 4), optimize=True) * -2 - rdm2.aaaa.oovo = einsum(t1.aa, (0, 1), tmp28, (2, 3), (0, 3, 1, 2), optimize=True) * -2 - rdm2.aaaa.oovo += einsum(tmp28, (0, 1), t1.aa, (2, 3), (1, 2, 3, 0), optimize=True) * 2 - rdm2.abab.ooov = einsum(tmp28, (0, 1), t1.bb, (2, 3), (1, 2, 0, 3), optimize=True) * -2 - tmp16 = tmp8.copy() - tmp16 += tmp9 - tmp16 += tmp10 * 2 - rdm2.abab.oovv += einsum(tmp16, (0, 1), t2.abab, (2, 0, 3, 4), (2, 1, 3, 4), optimize=True) * -1 - rdm2.bbbb.oovo += einsum(tmp16, (0, 1), t1.bb, (2, 3), (2, 1, 3, 0), optimize=True) * -1 - rdm2.bbbb.oovo += einsum(tmp16, (0, 1), t1.bb, (2, 3), (1, 2, 3, 0), optimize=True) - rdm2.abab.oovo = einsum(tmp16, (0, 1), t1.aa, (2, 3), (2, 1, 3, 0), optimize=True) * -1 - rdm2.bbbb.ooov += einsum(tmp16, (0, 1), t1.bb, (2, 3), (2, 1, 0, 3), optimize=True) - rdm2.bbbb.ooov += einsum(tmp16, (0, 1), t1.bb, (2, 3), (1, 2, 0, 3), optimize=True) * -1 - rdm2.bbbb.oooo += einsum(tmp16, (0, 1), delta.bb.oo, (2, 3), (3, 1, 0, 2), optimize=True) - rdm2.bbbb.oooo += einsum(delta.bb.oo, (0, 1), tmp16, (2, 3), (3, 1, 2, 0), optimize=True) * -1 - tmp12 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 3, 4, 5), (4, 0, 5, 1), optimize=True) - rdm2.abab.oooo = tmp12.transpose((1, 3, 0, 2)).copy() - tmp14 = einsum(tmp13, (0, 1, 2, 3), t1.aa, (4, 3), (0, 4, 1, 2), optimize=True) - rdm2.abab.oooo += tmp14.transpose((1, 3, 0, 2)) - tmp5 = einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 5, 0, 1), (2, 3, 4, 5), optimize=True) - rdm2.aaaa.oooo = tmp5.transpose((3, 2, 1, 0)).copy() * 2 - tmp7 = einsum(t1.aa, (0, 1), tmp6, (2, 3, 4, 1), (2, 3, 0, 4), optimize=True) - rdm2.aaaa.oooo += tmp7.transpose((2, 3, 1, 0)) * -2 - tmp32 = einsum(tmp26, (0, 1, 2, 3), t2.abab, (4, 2, 5, 3), (0, 1, 4, 5), optimize=True) - rdm2.aaaa.oovo += tmp32.transpose((2, 1, 3, 0)) * -1 - rdm2.aaaa.oovo += tmp32.transpose((1, 2, 3, 0)) - rdm2.aaaa.ooov = tmp32.transpose((2, 1, 0, 3)).copy() - rdm2.aaaa.ooov += tmp32.transpose((1, 2, 0, 3)) * -1 - tmp31 = einsum(tmp6, (0, 1, 2, 3), t2.aaaa, (4, 1, 5, 3), (0, 2, 4, 5), optimize=True) * -1 - rdm2.aaaa.oovo += tmp31.transpose((2, 1, 3, 0)) * -4 - rdm2.aaaa.oovo += tmp31.transpose((1, 2, 3, 0)) * 4 - rdm2.aaaa.ooov += tmp31.transpose((2, 1, 0, 3)) * 4 - rdm2.aaaa.ooov += tmp31.transpose((1, 2, 0, 3)) * -4 + rdm2.aaaa.vovo = tmp86.transpose((2, 1, 3, 0)).copy() * -1 + rdm2.aaaa.voov = tmp86.transpose((2, 1, 0, 3)).copy() + rdm2.aaaa.ovvo = tmp86.transpose((1, 2, 3, 0)).copy() + rdm2.aaaa.ovov = tmp86.transpose((1, 2, 0, 3)).copy() * -1 + tmp66 = einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 3, 5, 1), (2, 4, 0, 5), optimize=True) + rdm2.aaaa.vovo += tmp66.transpose((2, 1, 3, 0)) * -4 + rdm2.aaaa.voov += tmp66.transpose((2, 1, 0, 3)) * 4 + rdm2.aaaa.ovvo += tmp66.transpose((1, 2, 3, 0)) * 4 + rdm2.aaaa.ovov += tmp66.transpose((1, 2, 0, 3)) * -4 + tmp51 = einsum(t2.abab, (0, 1, 2, 3), tmp14, (0, 4, 5, 2), (4, 5, 1, 3), optimize=True) + rdm2.bbbb.oovo = tmp51.transpose((2, 1, 3, 0)).copy() * -1 + rdm2.bbbb.oovo += tmp51.transpose((1, 2, 3, 0)) + rdm2.bbbb.ooov = tmp51.transpose((2, 1, 0, 3)).copy() + rdm2.bbbb.ooov += tmp51.transpose((1, 2, 0, 3)) * -1 + tmp52 = einsum(t2.bbbb, (0, 1, 2, 3), tmp20, (4, 1, 5, 3), (4, 5, 0, 2), optimize=True) * -1 + rdm2.bbbb.oovo += tmp52.transpose((2, 1, 3, 0)) * -4 + rdm2.bbbb.oovo += tmp52.transpose((1, 2, 3, 0)) * 4 + rdm2.bbbb.ooov += tmp52.transpose((2, 1, 0, 3)) * 4 + rdm2.bbbb.ooov += tmp52.transpose((1, 2, 0, 3)) * -4 + tmp101 = tmp9.copy() * 0.5 + tmp101 += tmp10 + tmp19 = einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 5, 0, 1), (2, 3, 4, 5), optimize=True) + rdm2.bbbb.oooo = tmp19.transpose((3, 2, 1, 0)).copy() * 2 + tmp21 = einsum(t1.bb, (0, 1), tmp20, (2, 3, 4, 1), (2, 3, 0, 4), optimize=True) + rdm2.bbbb.oooo += tmp21.transpose((2, 3, 1, 0)) * -2 + tmp17 = tmp8.copy() + tmp17 += tmp9 + tmp17 += tmp10 * 2 + rdm2.abab.oovv = einsum(tmp17, (0, 1), t2.abab, (2, 0, 3, 4), (2, 1, 3, 4), optimize=True) * -1 + rdm2.bbbb.oovo += einsum(tmp17, (0, 1), t1.bb, (2, 3), (2, 1, 3, 0), optimize=True) * -1 + rdm2.bbbb.oovo += einsum(t1.bb, (0, 1), tmp17, (2, 3), (3, 0, 1, 2), optimize=True) + rdm2.bbbb.ooov += einsum(tmp17, (0, 1), t1.bb, (2, 3), (2, 1, 0, 3), optimize=True) + rdm2.bbbb.ooov += einsum(t1.bb, (0, 1), tmp17, (2, 3), (3, 0, 2, 1), optimize=True) * -1 + rdm2.bbbb.oooo += einsum(delta.bb.oo, (0, 1), tmp17, (2, 3), (3, 0, 2, 1), optimize=True) * -1 + tmp4 = tmp0.copy() * 0.5 + tmp4 += tmp1 + tmp4 += tmp2 * 0.5 + rdm2.aaaa.oovo = einsum(t1.aa, (0, 1), tmp4, (2, 3), (0, 3, 1, 2), optimize=True) * -2 + rdm2.aaaa.oovo += einsum(tmp4, (0, 1), t1.aa, (2, 3), (1, 2, 3, 0), optimize=True) * 2 + rdm2.abab.ooov = einsum(tmp4, (0, 1), t1.bb, (2, 3), (1, 2, 0, 3), optimize=True) * -2 + rdm2.aaaa.oooo = einsum(tmp4, (0, 1), delta.aa.oo, (2, 3), (2, 1, 0, 3), optimize=True) * 2 + rdm2.aaaa.oooo += einsum(tmp4, (0, 1), delta.aa.oo, (2, 3), (1, 2, 0, 3), optimize=True) * -2 + tmp13 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 5, 0, 1), (2, 4, 3, 5), optimize=True) + rdm2.abab.oooo = tmp13.transpose((1, 3, 0, 2)).copy() + tmp15 = einsum(t1.aa, (0, 1), tmp14, (2, 3, 4, 1), (2, 0, 3, 4), optimize=True) + rdm2.abab.oooo += tmp15.transpose((1, 3, 0, 2)) tmp74 = tmp1.copy() * 2 tmp74 += tmp2 - tmp83 = einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (2, 3, 4, 0), (1, 4), optimize=True) * -1 + tmp33 = einsum(t2.abab, (0, 1, 2, 3), tmp28, (4, 5, 1, 3), (4, 5, 0, 2), optimize=True) + rdm2.aaaa.oovo += tmp33.transpose((2, 1, 3, 0)) * -1 + rdm2.aaaa.oovo += tmp33.transpose((1, 2, 3, 0)) + rdm2.aaaa.ooov = tmp33.transpose((2, 1, 0, 3)).copy() + rdm2.aaaa.ooov += tmp33.transpose((1, 2, 0, 3)) * -1 + tmp32 = einsum(tmp6, (0, 1, 2, 3), t2.aaaa, (4, 1, 5, 3), (0, 2, 4, 5), optimize=True) * -1 + rdm2.aaaa.oovo += tmp32.transpose((2, 1, 3, 0)) * -4 + rdm2.aaaa.oovo += tmp32.transpose((1, 2, 3, 0)) * 4 + rdm2.aaaa.ooov += tmp32.transpose((2, 1, 0, 3)) * 4 + rdm2.aaaa.ooov += tmp32.transpose((1, 2, 0, 3)) * -4 + tmp5 = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (2, 3, 4, 5), (4, 5, 0, 1), optimize=True) + rdm2.aaaa.oooo += tmp5.transpose((3, 2, 1, 0)) * 2 + tmp7 = einsum(t1.aa, (0, 1), tmp6, (2, 3, 4, 1), (2, 3, 0, 4), optimize=True) + rdm2.aaaa.oooo += tmp7.transpose((2, 3, 1, 0)) * -2 + tmp112 = einsum(l1.bb, (0, 1), t1.bb, (1, 2), (0, 2), optimize=True) + rdm2.bbbb.ovvv = einsum(tmp112, (0, 1), t1.bb, (2, 3), (2, 0, 1, 3), optimize=True) * -1 + rdm2.bbbb.ovvv += einsum(t1.bb, (0, 1), tmp112, (2, 3), (0, 2, 1, 3), optimize=True) + tmp83 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (4, 3, 0, 1), (4, 2), optimize=True) tmp82 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 4, 0, 1), (4, 3), optimize=True) - tmp111 = einsum(l1.bb, (0, 1), t1.bb, (1, 2), (0, 2), optimize=True) - rdm2.bbbb.ovvv = einsum(t1.bb, (0, 1), tmp111, (2, 3), (0, 2, 3, 1), optimize=True) * -1 - rdm2.bbbb.ovvv += einsum(tmp111, (0, 1), t1.bb, (2, 3), (2, 0, 3, 1), optimize=True) - tmp124 = tmp114.copy() - del tmp114 - tmp124 += tmp94 * 4 - tmp115 = einsum(t1.bb, (0, 1), tmp18, (2, 0, 3, 4), (2, 3, 4, 1), optimize=True) - rdm2.bbbb.vovo += tmp115.transpose((2, 1, 3, 0)) * 2 - rdm2.bbbb.voov += tmp115.transpose((2, 1, 0, 3)) * -2 - rdm2.bbbb.ovvo += tmp115.transpose((1, 2, 3, 0)) * -2 - rdm2.bbbb.ovov += tmp115.transpose((1, 2, 0, 3)) * 2 - tmp96 = einsum(t2.bbbb, (0, 1, 2, 3), l2.abab, (4, 3, 5, 1), (5, 0, 4, 2), optimize=True) - rdm2.abab.voov = tmp96.transpose((2, 1, 0, 3)).copy() * 2 - tmp92 = einsum(l2.aaaa, (0, 1, 2, 3), t2.abab, (3, 4, 0, 5), (2, 4, 1, 5), optimize=True) * -1 - rdm2.abab.voov += tmp92.transpose((2, 1, 0, 3)) * 2 - tmp108 = einsum(l1.aa, (0, 1), t1.aa, (1, 2), (0, 2), optimize=True) - rdm2.aaaa.ovvv = einsum(t1.aa, (0, 1), tmp108, (2, 3), (0, 2, 3, 1), optimize=True) * -1 - rdm2.aaaa.ovvv += einsum(tmp108, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1), optimize=True) - tmp62 = einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (2, 3, 4, 0), (1, 4), optimize=True) * -1 - tmp63 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (4, 3, 0, 1), (4, 2), optimize=True) - tmp87 = tmp65.copy() * 4 + tmp117 = einsum(tmp20, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 3, 4), optimize=True) + rdm2.bbbb.vovo += tmp117.transpose((2, 1, 3, 0)) * 2 + rdm2.bbbb.voov += tmp117.transpose((2, 1, 0, 3)) * -2 + rdm2.bbbb.ovvo += tmp117.transpose((1, 2, 3, 0)) * -2 + rdm2.bbbb.ovov += tmp117.transpose((1, 2, 0, 3)) * 2 + tmp125 = tmp116.copy() + del tmp116 + tmp125 += tmp93 * 4 + tmp61 = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (4, 3, 0, 1), (4, 2), optimize=True) + tmp109 = einsum(t1.aa, (0, 1), l1.aa, (2, 0), (2, 1), optimize=True) + rdm2.aaaa.ovvv = einsum(t1.aa, (0, 1), tmp109, (2, 3), (0, 2, 3, 1), optimize=True) * -1 + rdm2.aaaa.ovvv += einsum(tmp109, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1), optimize=True) + tmp62 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (4, 3, 0, 1), (4, 2), optimize=True) + tmp95 = einsum(l2.abab, (0, 1, 2, 3), t2.bbbb, (4, 3, 5, 1), (2, 4, 0, 5), optimize=True) + rdm2.abab.voov = tmp95.transpose((2, 1, 0, 3)).copy() * 2 + tmp91 = einsum(l2.aaaa, (0, 1, 2, 3), t2.abab, (3, 4, 1, 5), (2, 4, 0, 5), optimize=True) + rdm2.abab.voov += tmp91.transpose((2, 1, 0, 3)) * 2 + tmp111 = einsum(t1.aa, (0, 1), tmp6, (2, 0, 3, 4), (2, 3, 4, 1), optimize=True) + rdm2.aaaa.vovo += tmp111.transpose((2, 1, 3, 0)) * 2 + rdm2.aaaa.voov += tmp111.transpose((2, 1, 0, 3)) * -2 + rdm2.aaaa.ovvo += tmp111.transpose((1, 2, 3, 0)) * -2 + rdm2.aaaa.ovov += tmp111.transpose((1, 2, 0, 3)) * 2 + tmp87 = tmp66.copy() * 4 tmp87 += tmp86 del tmp86 - rdm2.abab.oovv += einsum(tmp87, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) - tmp110 = einsum(tmp6, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 3, 4), optimize=True) - rdm2.aaaa.vovo += tmp110.transpose((2, 1, 3, 0)) * 2 - rdm2.aaaa.voov += tmp110.transpose((2, 1, 0, 3)) * -2 - rdm2.aaaa.ovvo += tmp110.transpose((1, 2, 3, 0)) * -2 - rdm2.aaaa.ovov += tmp110.transpose((1, 2, 0, 3)) * 2 - tmp67 = einsum(t2.abab, (0, 1, 2, 3), l2.bbbb, (3, 4, 5, 1), (0, 5, 2, 4), optimize=True) * -1 - rdm2.abab.ovvo = tmp67.transpose((0, 3, 2, 1)).copy() * 2 - tmp69 = einsum(l2.abab, (0, 1, 2, 3), t2.aaaa, (4, 2, 5, 0), (4, 3, 5, 1), optimize=True) - rdm2.abab.ovvo += tmp69.transpose((0, 3, 2, 1)) * 2 - tmp35 = einsum(l1.aa, (0, 1), t2.abab, (1, 2, 0, 3), (2, 3), optimize=True) - tmp36 = einsum(t2.bbbb, (0, 1, 2, 3), l1.bb, (3, 1), (0, 2), optimize=True) - tmp106 = tmp52.copy() + rdm2.abab.oovv += einsum(t2.abab, (0, 1, 2, 3), tmp87, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) + tmp68 = einsum(l2.abab, (0, 1, 2, 3), t2.aaaa, (4, 2, 5, 0), (4, 3, 5, 1), optimize=True) + rdm2.abab.ovvo = tmp68.transpose((0, 3, 2, 1)).copy() * 2 + tmp64 = einsum(l2.bbbb, (0, 1, 2, 3), t2.abab, (4, 3, 5, 1), (4, 2, 5, 0), optimize=True) + rdm2.abab.ovvo += tmp64.transpose((0, 3, 2, 1)) * 2 + tmp37 = einsum(t2.bbbb, (0, 1, 2, 3), l1.bb, (3, 1), (0, 2), optimize=True) + tmp36 = einsum(t2.abab, (0, 1, 2, 3), l1.aa, (2, 0), (1, 3), optimize=True) + tmp107 = tmp51.copy() + del tmp51 + tmp107 += tmp52 * 4 del tmp52 - tmp106 += tmp53 * 4 - del tmp53 - tmp54 = tmp17.transpose((1, 0, 3, 2)).copy() - del tmp17 - tmp54 += tmp19.transpose((0, 1, 3, 2)) * -1 + tmp40 = einsum(tmp14, (0, 1, 2, 3), t2.abab, (0, 1, 3, 4), (2, 4), optimize=True) + tmp102 = einsum(t1.bb, (0, 1), tmp101, (0, 2), (2, 1), optimize=True) * 2 + del tmp101 + tmp41 = einsum(t2.bbbb, (0, 1, 2, 3), tmp20, (1, 0, 4, 3), (4, 2), optimize=True) + tmp53 = tmp19.transpose((1, 0, 3, 2)).copy() del tmp19 - rdm2.bbbb.oovv = einsum(t2.bbbb, (0, 1, 2, 3), tmp54, (0, 1, 4, 5), (5, 4, 3, 2), optimize=True) * 2 - tmp39 = einsum(t2.abab, (0, 1, 2, 3), tmp13, (0, 1, 4, 2), (4, 3), optimize=True) - tmp101 = einsum(t1.bb, (0, 1), tmp100, (0, 2), (2, 1), optimize=True) * 2 - del tmp100 - tmp40 = einsum(tmp18, (0, 1, 2, 3), t2.bbbb, (0, 1, 4, 3), (2, 4), optimize=True) * -1 - tmp49 = einsum(l1.bb, (0, 1), t2.bbbb, (2, 3, 4, 0), (1, 2, 3, 4), optimize=True) - rdm2.bbbb.oovo += tmp49.transpose((2, 1, 3, 0)) * 2 - rdm2.bbbb.ooov += tmp49.transpose((2, 1, 0, 3)) * -2 - tmp60 = einsum(t2.abab, (0, 1, 2, 3), tmp18, (4, 1, 5, 3), (0, 4, 5, 2), optimize=True) * -1 - rdm2.abab.oovo += tmp60.transpose((0, 2, 3, 1)) * -2 - tmp59 = einsum(tmp13, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 3), (4, 1, 2, 5), optimize=True) - rdm2.abab.oovo += tmp59.transpose((0, 2, 3, 1)) * -2 - tmp21 = einsum(l1.bb, (0, 1), t2.abab, (2, 1, 3, 0), (2, 3), optimize=True) - tmp20 = einsum(t2.aaaa, (0, 1, 2, 3), l1.aa, (3, 1), (0, 2), optimize=True) - tmp27 = einsum(t2.abab, (0, 1, 2, 3), tmp26, (0, 4, 1, 3), (4, 2), optimize=True) - tmp25 = einsum(tmp6, (0, 1, 2, 3), t2.aaaa, (0, 1, 4, 3), (2, 4), optimize=True) * -1 - tmp56 = einsum(tmp28, (0, 1), t1.aa, (0, 2), (1, 2), optimize=True) - tmp43 = einsum(tmp6, (0, 1, 2, 3), t2.abab, (1, 4, 3, 5), (0, 2, 4, 5), optimize=True) * -1 - rdm2.abab.ooov += tmp43.transpose((1, 2, 0, 3)) * -2 - tmp44 = einsum(t2.bbbb, (0, 1, 2, 3), tmp26, (4, 5, 1, 3), (4, 5, 0, 2), optimize=True) + tmp53 += tmp21.transpose((0, 1, 3, 2)) * -1 + del tmp21 + rdm2.bbbb.oovv = einsum(tmp53, (0, 1, 2, 3), t2.bbbb, (0, 1, 4, 5), (3, 2, 4, 5), optimize=True) * -2 + tmp50 = einsum(t2.bbbb, (0, 1, 2, 3), l1.bb, (3, 4), (4, 0, 1, 2), optimize=True) + rdm2.bbbb.oovo += tmp50.transpose((2, 1, 3, 0)) * 2 + rdm2.bbbb.ooov += tmp50.transpose((2, 1, 0, 3)) * -2 + tmp42 = einsum(t1.bb, (0, 1), tmp17, (0, 2), (2, 1), optimize=True) + tmp29 = einsum(t2.abab, (0, 1, 2, 3), tmp28, (0, 4, 1, 3), (4, 2), optimize=True) + tmp55 = einsum(t1.aa, (0, 1), tmp4, (0, 2), (2, 1), optimize=True) + tmp27 = einsum(tmp6, (0, 1, 2, 3), t2.aaaa, (1, 0, 4, 3), (2, 4), optimize=True) + tmp59 = einsum(tmp14, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 3), (4, 1, 2, 5), optimize=True) + rdm2.abab.oovo = tmp59.transpose((0, 2, 3, 1)).copy() * -2 + tmp58 = einsum(t2.abab, (0, 1, 2, 3), tmp20, (4, 1, 5, 3), (0, 4, 5, 2), optimize=True) * -1 + rdm2.abab.oovo += tmp58.transpose((0, 2, 3, 1)) * -2 + tmp45 = einsum(t2.abab, (0, 1, 2, 3), tmp6, (4, 0, 5, 2), (4, 5, 1, 3), optimize=True) * -1 + rdm2.abab.ooov += tmp45.transpose((1, 2, 0, 3)) * -2 + tmp44 = einsum(tmp28, (0, 1, 2, 3), t2.bbbb, (4, 2, 5, 3), (0, 1, 4, 5), optimize=True) rdm2.abab.ooov += tmp44.transpose((1, 2, 0, 3)) * -2 - tmp41 = einsum(tmp16, (0, 1), t1.bb, (0, 2), (1, 2), optimize=True) * 0.5 - tmp45 = tmp12.copy() - del tmp12 - tmp45 += tmp14 - del tmp14 - rdm2.abab.oovv += einsum(tmp45, (0, 1, 2, 3), t2.abab, (0, 2, 4, 5), (1, 3, 4, 5), optimize=True) - rdm2.abab.oovo += einsum(tmp45, (0, 1, 2, 3), t1.aa, (0, 4), (1, 3, 4, 2), optimize=True) - tmp33 = tmp5.transpose((1, 0, 3, 2)).copy() + tmp46 = tmp13.copy() + del tmp13 + tmp46 += tmp15 + del tmp15 + rdm2.abab.oovv += einsum(tmp46, (0, 1, 2, 3), t2.abab, (0, 2, 4, 5), (1, 3, 4, 5), optimize=True) + rdm2.abab.oovo += einsum(t1.aa, (0, 1), tmp46, (0, 2, 3, 4), (2, 4, 1, 3), optimize=True) + tmp22 = einsum(l1.aa, (0, 1), t2.aaaa, (2, 1, 3, 0), (2, 3), optimize=True) + tmp23 = einsum(l1.bb, (0, 1), t2.abab, (2, 1, 3, 0), (2, 3), optimize=True) + tmp75 = einsum(tmp74, (0, 1), t1.aa, (0, 2), (1, 2), optimize=True) * 0.5 + del tmp74 + tmp80 = tmp32.copy() * 4 + del tmp32 + tmp80 += tmp33 + del tmp33 + tmp34 = tmp5.transpose((1, 0, 3, 2)).copy() del tmp5 - tmp33 += tmp7.transpose((0, 1, 3, 2)) * -1 + tmp34 += tmp7.transpose((0, 1, 3, 2)) * -1 del tmp7 - rdm2.aaaa.oovv = einsum(t2.aaaa, (0, 1, 2, 3), tmp33, (0, 1, 4, 5), (5, 4, 3, 2), optimize=True) * 2 - tmp4 = tmp0.copy() - tmp4 += tmp1 * 2 - tmp4 += tmp2 - rdm2.aaaa.ooov += einsum(t1.aa, (0, 1), tmp4, (2, 3), (0, 3, 2, 1), optimize=True) - rdm2.aaaa.ooov += einsum(tmp4, (0, 1), t1.aa, (2, 3), (1, 2, 0, 3), optimize=True) * -1 - rdm2.abab.oooo += einsum(delta.bb.oo, (0, 1), tmp4, (2, 3), (3, 1, 2, 0), optimize=True) * -1 - rdm2.aaaa.oooo += einsum(delta.aa.oo, (0, 1), tmp4, (2, 3), (1, 3, 2, 0), optimize=True) - rdm2.aaaa.oooo += einsum(delta.aa.oo, (0, 1), tmp4, (2, 3), (3, 1, 2, 0), optimize=True) * -1 - tmp80 = tmp31.copy() * 4 - del tmp31 - tmp80 += tmp32 - del tmp32 - tmp75 = einsum(t1.aa, (0, 1), tmp74, (0, 2), (2, 1), optimize=True) * 0.5 - del tmp74 - tmp24 = einsum(l1.aa, (0, 1), t2.aaaa, (2, 3, 4, 0), (1, 2, 3, 4), optimize=True) - rdm2.aaaa.oovo += tmp24.transpose((2, 1, 3, 0)) * 2 - rdm2.aaaa.ooov += tmp24.transpose((2, 1, 0, 3)) * -2 - tmp50 = einsum(tmp16, (0, 1), t1.bb, (0, 2), (1, 2), optimize=True) - tmp29 = einsum(tmp28, (0, 1), t1.aa, (0, 2), (1, 2), optimize=True) * 2 - del tmp28 - tmp131 = einsum(l2.bbbb, (0, 1, 2, 3), t1.bb, (3, 4), (2, 0, 1, 4), optimize=True) - rdm2.bbbb.vvvv = einsum(t1.bb, (0, 1), tmp131, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) * 2 - rdm2.bbbb.vvvo = tmp131.transpose((2, 1, 3, 0)).copy() * 2 - rdm2.bbbb.vvov = tmp131.transpose((2, 1, 0, 3)).copy() * -2 + rdm2.aaaa.oovv = einsum(t2.aaaa, (0, 1, 2, 3), tmp34, (0, 1, 4, 5), (5, 4, 2, 3), optimize=True) * -2 + tmp26 = einsum(t2.aaaa, (0, 1, 2, 3), l1.aa, (3, 4), (4, 0, 1, 2), optimize=True) + rdm2.aaaa.oovo += tmp26.transpose((2, 1, 3, 0)) * 2 + rdm2.aaaa.ooov += tmp26.transpose((2, 1, 0, 3)) * -2 + tmp30 = einsum(t1.aa, (0, 1), tmp4, (0, 2), (2, 1), optimize=True) * 2 + tmp132 = einsum(l2.bbbb, (0, 1, 2, 3), t1.bb, (3, 4), (2, 0, 1, 4), optimize=True) + rdm2.bbbb.vvvv = einsum(tmp132, (0, 1, 2, 3), t1.bb, (0, 4), (1, 2, 4, 3), optimize=True) * 2 + rdm2.bbbb.vvvo = tmp132.transpose((2, 1, 3, 0)).copy() * 2 + rdm2.bbbb.vvov = tmp132.transpose((2, 1, 0, 3)).copy() * -2 + del tmp132 + tmp131 = einsum(t1.bb, (0, 1), l2.abab, (2, 3, 4, 0), (4, 2, 3, 1), optimize=True) + rdm2.abab.vvvv = einsum(tmp131, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3), optimize=True) + rdm2.abab.vvov = tmp131.transpose((1, 2, 0, 3)).copy() del tmp131 - tmp130 = einsum(l2.abab, (0, 1, 2, 3), t1.bb, (3, 4), (2, 0, 1, 4), optimize=True) - rdm2.abab.vvvv = einsum(tmp130, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3), optimize=True) - rdm2.abab.vvov = tmp130.transpose((1, 2, 0, 3)).copy() + tmp130 = einsum(l2.aaaa, (0, 1, 2, 3), t1.aa, (3, 4), (2, 0, 1, 4), optimize=True) + rdm2.aaaa.vvvv = einsum(tmp130, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3), optimize=True) * 2 + rdm2.aaaa.vvvo = tmp130.transpose((2, 1, 3, 0)).copy() * 2 + rdm2.aaaa.vvov = tmp130.transpose((2, 1, 0, 3)).copy() * -2 del tmp130 - tmp129 = einsum(t1.aa, (0, 1), l2.aaaa, (2, 3, 4, 0), (4, 2, 3, 1), optimize=True) - rdm2.aaaa.vvvv = einsum(t1.aa, (0, 1), tmp129, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) * 2 - rdm2.aaaa.vvvo = tmp129.transpose((2, 1, 3, 0)).copy() * 2 - rdm2.aaaa.vvov = tmp129.transpose((2, 1, 0, 3)).copy() * -2 - del tmp129 - tmp112 = tmp111.copy() - tmp112 += tmp82 - tmp112 += tmp83 * 2 - rdm2.bbbb.vovv = einsum(tmp112, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3), optimize=True) - rdm2.bbbb.vovv += einsum(tmp112, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1), optimize=True) * -1 - rdm2.abab.ovvv += einsum(tmp112, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1), optimize=True) - rdm2.bbbb.voov += einsum(tmp112, (0, 1), delta.bb.oo, (2, 3), (0, 3, 2, 1), optimize=True) * -1 - rdm2.bbbb.ovov += einsum(tmp112, (0, 1), delta.bb.oo, (2, 3), (3, 0, 2, 1), optimize=True) - rdm2.abab.ovov += einsum(tmp112, (0, 1), delta.aa.oo, (2, 3), (3, 0, 2, 1), optimize=True) - del tmp112 - tmp125 = einsum(tmp124, (0, 1, 2, 3), t1.bb, (0, 4), (1, 4, 2, 3), optimize=True) - del tmp124 - rdm2.bbbb.vovv += tmp125.transpose((2, 0, 3, 1)) * -1 - rdm2.bbbb.vovv += tmp125.transpose((2, 0, 1, 3)) - rdm2.bbbb.ovvv += tmp125.transpose((0, 2, 3, 1)) - rdm2.bbbb.ovvv += tmp125.transpose((0, 2, 1, 3)) * -1 - del tmp125 - tmp123 = einsum(t2.bbbb, (0, 1, 2, 3), l1.bb, (4, 1), (0, 4, 2, 3), optimize=True) - rdm2.bbbb.vovv += tmp123.transpose((1, 0, 3, 2)) * 2 - rdm2.bbbb.ovvv += tmp123.transpose((0, 1, 3, 2)) * -2 - del tmp123 - tmp126 = einsum(tmp18, (0, 1, 2, 3), t2.bbbb, (0, 1, 4, 5), (2, 3, 4, 5), optimize=True) - del tmp18 - rdm2.bbbb.vovv += tmp126.transpose((1, 0, 3, 2)) * 2 - rdm2.bbbb.ovvv += tmp126.transpose((0, 1, 3, 2)) * -2 - del tmp126 - tmp127 = einsum(t1.bb, (0, 1), tmp115, (0, 2, 3, 4), (2, 3, 4, 1), optimize=True) * -1 + tmp115 = tmp112.copy() + tmp115 += tmp82 + tmp115 += tmp83 * 2 + rdm2.bbbb.vovv = einsum(tmp115, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3), optimize=True) + rdm2.bbbb.vovv += einsum(t1.bb, (0, 1), tmp115, (2, 3), (2, 0, 1, 3), optimize=True) * -1 + rdm2.bbbb.voov += einsum(tmp115, (0, 1), delta.bb.oo, (2, 3), (0, 2, 3, 1), optimize=True) * -1 + rdm2.bbbb.ovov += einsum(tmp115, (0, 1), delta.bb.oo, (2, 3), (2, 0, 3, 1), optimize=True) del tmp115 + tmp128 = einsum(tmp117, (0, 1, 2, 3), t1.bb, (0, 4), (1, 2, 3, 4), optimize=True) * -1 + del tmp117 + rdm2.bbbb.vovv += tmp128.transpose((1, 0, 3, 2)) * 2 + rdm2.bbbb.ovvv += tmp128.transpose((0, 1, 3, 2)) * -2 + del tmp128 + tmp127 = einsum(t2.bbbb, (0, 1, 2, 3), tmp20, (1, 0, 4, 5), (4, 5, 2, 3), optimize=True) * -1 + del tmp20 rdm2.bbbb.vovv += tmp127.transpose((1, 0, 3, 2)) * 2 rdm2.bbbb.ovvv += tmp127.transpose((0, 1, 3, 2)) * -2 del tmp127 - tmp118 = einsum(t1.bb, (0, 1), tmp13, (2, 0, 3, 4), (2, 3, 4, 1), optimize=True) - rdm2.abab.vovv += einsum(tmp118, (0, 1, 2, 3), t1.aa, (0, 4), (2, 1, 4, 3), optimize=True) * -1 - rdm2.abab.voov += tmp118.transpose((2, 1, 0, 3)) * -1 - del tmp118 - tmp88 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 5, 1), (3, 4, 0, 5), optimize=True) + tmp126 = einsum(tmp125, (0, 1, 2, 3), t1.bb, (0, 4), (1, 4, 2, 3), optimize=True) + del tmp125 + rdm2.bbbb.vovv += tmp126.transpose((2, 0, 3, 1)) * -1 + rdm2.bbbb.vovv += tmp126.transpose((2, 0, 1, 3)) + rdm2.bbbb.ovvv += tmp126.transpose((0, 2, 3, 1)) + rdm2.bbbb.ovvv += tmp126.transpose((0, 2, 1, 3)) * -1 + del tmp126 + tmp124 = einsum(t2.bbbb, (0, 1, 2, 3), l1.bb, (4, 1), (0, 4, 2, 3), optimize=True) + rdm2.bbbb.vovv += tmp124.transpose((1, 0, 3, 2)) * 2 + rdm2.bbbb.ovvv += tmp124.transpose((0, 1, 3, 2)) * -2 + del tmp124 + tmp110 = tmp109.copy() + del tmp109 + tmp110 += tmp61 * 2 + tmp110 += tmp62 + rdm2.abab.vovv += einsum(tmp110, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3), optimize=True) + rdm2.aaaa.vovv = einsum(tmp110, (0, 1), t1.aa, (2, 3), (0, 2, 1, 3), optimize=True) + rdm2.aaaa.vovv += einsum(tmp110, (0, 1), t1.aa, (2, 3), (0, 2, 3, 1), optimize=True) * -1 + rdm2.abab.vovo += einsum(tmp110, (0, 1), delta.bb.oo, (2, 3), (0, 2, 1, 3), optimize=True) + rdm2.aaaa.vovo += einsum(tmp110, (0, 1), delta.aa.oo, (2, 3), (0, 2, 1, 3), optimize=True) + rdm2.aaaa.voov += einsum(tmp110, (0, 1), delta.aa.oo, (2, 3), (0, 2, 3, 1), optimize=True) * -1 + rdm2.aaaa.ovvo += einsum(tmp110, (0, 1), delta.aa.oo, (2, 3), (2, 0, 1, 3), optimize=True) * -1 + rdm2.aaaa.ovov += einsum(tmp110, (0, 1), delta.aa.oo, (2, 3), (2, 0, 3, 1), optimize=True) + del tmp110 + tmp88 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (4, 3, 0, 5), (5, 1, 4, 2), optimize=True) rdm2.abab.vovv += einsum(tmp88, (0, 1, 2, 3), t1.bb, (0, 4), (2, 1, 3, 4), optimize=True) * -1 rdm2.abab.vovo += tmp88.transpose((2, 1, 3, 0)) * -1 - rdm2.abab.oovv += einsum(tmp88, (0, 1, 2, 3), t2.abab, (4, 0, 2, 5), (4, 1, 3, 5), optimize=True) + rdm2.abab.oovv += einsum(t2.abab, (0, 1, 2, 3), tmp88, (1, 4, 2, 5), (0, 4, 5, 3), optimize=True) del tmp88 - tmp128 = tmp92.copy() - tmp128 += tmp96 - rdm2.abab.vovv += einsum(tmp128, (0, 1, 2, 3), t1.aa, (0, 4), (2, 1, 4, 3), optimize=True) * 2 - del tmp128 - tmp109 = tmp108.copy() - del tmp108 - tmp109 += tmp62 * 2 - tmp109 += tmp63 - rdm2.abab.vovv += einsum(t1.bb, (0, 1), tmp109, (2, 3), (2, 0, 3, 1), optimize=True) - rdm2.aaaa.vovv = einsum(t1.aa, (0, 1), tmp109, (2, 3), (2, 0, 3, 1), optimize=True) - rdm2.aaaa.vovv += einsum(tmp109, (0, 1), t1.aa, (2, 3), (0, 2, 3, 1), optimize=True) * -1 - rdm2.abab.vovo += einsum(delta.bb.oo, (0, 1), tmp109, (2, 3), (2, 1, 3, 0), optimize=True) - rdm2.aaaa.vovo += einsum(delta.aa.oo, (0, 1), tmp109, (2, 3), (2, 1, 3, 0), optimize=True) - rdm2.aaaa.voov += einsum(delta.aa.oo, (0, 1), tmp109, (2, 3), (2, 1, 0, 3), optimize=True) * -1 - rdm2.aaaa.ovvo += einsum(delta.aa.oo, (0, 1), tmp109, (2, 3), (1, 2, 3, 0), optimize=True) * -1 - rdm2.aaaa.ovov += einsum(delta.aa.oo, (0, 1), tmp109, (2, 3), (1, 2, 0, 3), optimize=True) - del tmp109 - tmp120 = einsum(tmp87, (0, 1, 2, 3), t1.aa, (0, 4), (1, 4, 2, 3), optimize=True) - del tmp87 - rdm2.aaaa.vovv += tmp120.transpose((2, 0, 3, 1)) * -1 - rdm2.aaaa.vovv += tmp120.transpose((2, 0, 1, 3)) - rdm2.aaaa.ovvv += tmp120.transpose((0, 2, 3, 1)) - rdm2.aaaa.ovvv += tmp120.transpose((0, 2, 1, 3)) * -1 + tmp129 = tmp91.copy() + tmp129 += tmp95 + rdm2.abab.vovv += einsum(tmp129, (0, 1, 2, 3), t1.aa, (0, 4), (2, 1, 4, 3), optimize=True) * 2 + del tmp129 + tmp119 = einsum(tmp14, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 3, 4), optimize=True) + rdm2.abab.vovv += einsum(tmp119, (0, 1, 2, 3), t1.aa, (0, 4), (2, 1, 4, 3), optimize=True) * -1 + rdm2.abab.voov += tmp119.transpose((2, 1, 0, 3)) * -1 + del tmp119 + tmp120 = einsum(l1.aa, (0, 1), t2.aaaa, (2, 1, 3, 4), (2, 0, 3, 4), optimize=True) + rdm2.aaaa.vovv += tmp120.transpose((1, 0, 3, 2)) * 2 + rdm2.aaaa.ovvv += tmp120.transpose((0, 1, 3, 2)) * -2 del tmp120 - tmp122 = einsum(t1.aa, (0, 1), tmp110, (0, 2, 3, 4), (2, 3, 4, 1), optimize=True) * -1 - del tmp110 + tmp122 = einsum(tmp6, (0, 1, 2, 3), t2.aaaa, (1, 0, 4, 5), (2, 3, 4, 5), optimize=True) * -1 + del tmp6 rdm2.aaaa.vovv += tmp122.transpose((1, 0, 3, 2)) * 2 rdm2.aaaa.ovvv += tmp122.transpose((0, 1, 3, 2)) * -2 del tmp122 - tmp121 = einsum(tmp6, (0, 1, 2, 3), t2.aaaa, (0, 1, 4, 5), (2, 3, 4, 5), optimize=True) - del tmp6 - rdm2.aaaa.vovv += tmp121.transpose((1, 0, 3, 2)) * 2 - rdm2.aaaa.ovvv += tmp121.transpose((0, 1, 3, 2)) * -2 + tmp123 = einsum(tmp111, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 3, 4), optimize=True) * -1 + del tmp111 + rdm2.aaaa.vovv += tmp123.transpose((1, 0, 3, 2)) * 2 + rdm2.aaaa.ovvv += tmp123.transpose((0, 1, 3, 2)) * -2 + del tmp123 + tmp121 = einsum(t1.aa, (0, 1), tmp87, (0, 2, 3, 4), (2, 1, 3, 4), optimize=True) + del tmp87 + rdm2.aaaa.vovv += tmp121.transpose((2, 0, 3, 1)) * -1 + rdm2.aaaa.vovv += tmp121.transpose((2, 0, 1, 3)) + rdm2.aaaa.ovvv += tmp121.transpose((0, 2, 3, 1)) + rdm2.aaaa.ovvv += tmp121.transpose((0, 2, 1, 3)) * -1 del tmp121 - tmp119 = einsum(l1.aa, (0, 1), t2.aaaa, (2, 1, 3, 4), (2, 0, 3, 4), optimize=True) - rdm2.aaaa.vovv += tmp119.transpose((1, 0, 3, 2)) * 2 - rdm2.aaaa.ovvv += tmp119.transpose((0, 1, 3, 2)) * -2 - del tmp119 - tmp91 = tmp82.copy() - tmp91 += tmp83 * 2 - rdm2.bbbb.ovvv += einsum(tmp91, (0, 1), t1.bb, (2, 3), (2, 0, 1, 3), optimize=True) * -1 - rdm2.bbbb.ovvv += einsum(tmp91, (0, 1), t1.bb, (2, 3), (2, 0, 3, 1), optimize=True) - rdm2.bbbb.oovv += einsum(tmp91, (0, 1), t2.bbbb, (2, 3, 0, 4), (3, 2, 4, 1), optimize=True) * -2 - del tmp91 - tmp85 = tmp69.copy() - tmp85 += tmp67 - rdm2.abab.ovvv += einsum(tmp85, (0, 1, 2, 3), t1.bb, (1, 4), (0, 3, 2, 4), optimize=True) * 2 - rdm2.abab.oovv += einsum(tmp85, (0, 1, 2, 3), t2.bbbb, (1, 4, 3, 5), (0, 4, 2, 5), optimize=True) * 4 + tmp84 = tmp82.copy() + tmp84 += tmp83 * 2 + rdm2.bbbb.ovvv += einsum(tmp84, (0, 1), t1.bb, (2, 3), (2, 0, 1, 3), optimize=True) * -1 + rdm2.bbbb.ovvv += einsum(t1.bb, (0, 1), tmp84, (2, 3), (0, 2, 1, 3), optimize=True) + rdm2.bbbb.oovv += einsum(tmp84, (0, 1), t2.bbbb, (2, 3, 4, 0), (2, 3, 4, 1), optimize=True) * -2 + rdm2.abab.oovv += einsum(t2.abab, (0, 1, 2, 3), tmp84, (3, 4), (0, 1, 2, 4), optimize=True) * -1 + del tmp84 + tmp118 = einsum(t1.aa, (0, 1), tmp28, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) + rdm2.abab.ovvv += einsum(tmp118, (0, 1, 2, 3), t1.bb, (1, 4), (0, 3, 2, 4), optimize=True) * -1 + rdm2.abab.ovvo += tmp118.transpose((0, 3, 2, 1)) * -1 + del tmp118 + tmp85 = tmp68.copy() + tmp85 += tmp64 + rdm2.abab.ovvv += einsum(t1.bb, (0, 1), tmp85, (2, 0, 3, 4), (2, 4, 3, 1), optimize=True) * 2 + rdm2.abab.oovv += einsum(t2.bbbb, (0, 1, 2, 3), tmp85, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) * 4 del tmp85 - tmp113 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 0, 5), (2, 4, 1, 5), optimize=True) - rdm2.abab.ovvv += einsum(tmp113, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3), optimize=True) * -1 - rdm2.abab.ovov += tmp113.transpose((1, 2, 0, 3)) * -1 + tmp113 = tmp112.copy() * 0.5 + del tmp112 + tmp113 += tmp82 * 0.5 + tmp113 += tmp83 + rdm2.abab.ovvv += einsum(t1.aa, (0, 1), tmp113, (2, 3), (0, 2, 1, 3), optimize=True) * 2 + rdm2.bbbb.vovo += einsum(tmp113, (0, 1), delta.bb.oo, (2, 3), (0, 2, 1, 3), optimize=True) * 2 + rdm2.bbbb.ovvo += einsum(tmp113, (0, 1), delta.bb.oo, (2, 3), (2, 0, 1, 3), optimize=True) * -2 + rdm2.abab.ovov += einsum(tmp113, (0, 1), delta.aa.oo, (2, 3), (2, 0, 3, 1), optimize=True) * 2 del tmp113 - tmp116 = einsum(t1.aa, (0, 1), tmp26, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) - rdm2.abab.ovvv += einsum(tmp116, (0, 1, 2, 3), t1.bb, (1, 4), (0, 3, 2, 4), optimize=True) * -1 - rdm2.abab.ovvo += tmp116.transpose((0, 3, 2, 1)) * -1 - del tmp116 - tmp64 = tmp62.copy() - tmp64 += tmp63 * 0.5 - rdm2.aaaa.ovvv += einsum(t1.aa, (0, 1), tmp64, (2, 3), (0, 2, 3, 1), optimize=True) * -2 - rdm2.aaaa.ovvv += einsum(tmp64, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1), optimize=True) * 2 - rdm2.abab.oovv += einsum(t2.abab, (0, 1, 2, 3), tmp64, (2, 4), (0, 1, 4, 3), optimize=True) * -2 - rdm2.aaaa.oovv += einsum(tmp64, (0, 1), t2.aaaa, (2, 3, 0, 4), (3, 2, 4, 1), optimize=True) * -4 - del tmp64 - tmp117 = tmp111.copy() * 0.5 - del tmp111 - tmp117 += tmp82 * 0.5 - tmp117 += tmp83 - rdm2.bbbb.vovo += einsum(tmp117, (0, 1), delta.bb.oo, (2, 3), (0, 3, 1, 2), optimize=True) * 2 - rdm2.bbbb.ovvo += einsum(tmp117, (0, 1), delta.bb.oo, (2, 3), (3, 0, 1, 2), optimize=True) * -2 - del tmp117 - tmp93 = einsum(tmp92, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) + tmp114 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 4, 5, 1), (5, 0, 4, 3), optimize=True) + rdm2.abab.ovvv += einsum(t1.aa, (0, 1), tmp114, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) * -1 + rdm2.abab.ovov += tmp114.transpose((1, 2, 0, 3)) * -1 + del tmp114 + tmp73 = tmp61.copy() + tmp73 += tmp62 * 0.5 + rdm2.aaaa.ovvv += einsum(tmp73, (0, 1), t1.aa, (2, 3), (2, 0, 1, 3), optimize=True) * -2 + rdm2.aaaa.ovvv += einsum(tmp73, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1), optimize=True) * 2 + rdm2.abab.oovv += einsum(tmp73, (0, 1), t2.abab, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) * -2 + rdm2.aaaa.oovv += einsum(t2.aaaa, (0, 1, 2, 3), tmp73, (3, 4), (0, 1, 4, 2), optimize=True) * 4 + del tmp73 + tmp92 = einsum(tmp91, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) + del tmp91 + rdm2.bbbb.oovv += tmp92.transpose((1, 0, 3, 2)) * 2 + rdm2.bbbb.oovv += tmp92.transpose((0, 1, 3, 2)) * -2 del tmp92 - rdm2.bbbb.oovv += tmp93.transpose((1, 0, 3, 2)) * 2 - rdm2.bbbb.oovv += tmp93.transpose((0, 1, 3, 2)) * -2 - del tmp93 - tmp48 = t1.bb.copy() - tmp48 += tmp35 - tmp48 += tmp36 * 2 - rdm2.bbbb.oovv += einsum(t1.bb, (0, 1), tmp48, (2, 3), (2, 0, 1, 3), optimize=True) * -1 - rdm2.bbbb.ooov += einsum(tmp48, (0, 1), delta.bb.oo, (2, 3), (0, 3, 2, 1), optimize=True) * -1 - del tmp48 - tmp107 = einsum(tmp106, (0, 1, 2, 3), t1.bb, (0, 4), (1, 2, 4, 3), optimize=True) - del tmp106 - rdm2.bbbb.oovv += tmp107.transpose((0, 1, 3, 2)) - rdm2.bbbb.oovv += tmp107.transpose((1, 0, 3, 2)) * -1 - rdm2.bbbb.oovv += tmp107 * -1 - rdm2.bbbb.oovv += tmp107.transpose((1, 0, 2, 3)) - del tmp107 - tmp105 = einsum(t1.bb, (0, 1), tmp54, (0, 2, 3, 4), (2, 4, 3, 1), optimize=True) - rdm2.bbbb.oovv += einsum(tmp105, (0, 1, 2, 3), t1.bb, (0, 4), (1, 2, 4, 3), optimize=True) * 2 + tmp38 = t1.bb.copy() + tmp38 += tmp36 + tmp38 += tmp37 * 2 + rdm2.bbbb.oovv += einsum(tmp38, (0, 1), t1.bb, (2, 3), (2, 0, 3, 1), optimize=True) + rdm2.abab.oovv += einsum(t1.aa, (0, 1), tmp38, (2, 3), (0, 2, 1, 3), optimize=True) + rdm2.bbbb.oovo += einsum(tmp38, (0, 1), delta.bb.oo, (2, 3), (2, 0, 1, 3), optimize=True) * -1 + rdm2.bbbb.oovo += einsum(tmp38, (0, 1), delta.bb.oo, (2, 3), (0, 2, 1, 3), optimize=True) + rdm2.bbbb.ooov += einsum(tmp38, (0, 1), delta.bb.oo, (2, 3), (2, 0, 3, 1), optimize=True) + rdm2.abab.ooov += einsum(tmp38, (0, 1), delta.aa.oo, (2, 3), (2, 0, 3, 1), optimize=True) + del tmp38 + tmp104 = einsum(tmp8, (0, 1), t1.bb, (0, 2), (1, 2), optimize=True) + rdm2.bbbb.oovv += einsum(t1.bb, (0, 1), tmp104, (2, 3), (2, 0, 3, 1), optimize=True) * -1 + rdm2.bbbb.oovv += einsum(t1.bb, (0, 1), tmp104, (2, 3), (2, 0, 1, 3), optimize=True) + rdm2.bbbb.oovv += einsum(t1.bb, (0, 1), tmp104, (2, 3), (0, 2, 3, 1), optimize=True) + rdm2.bbbb.oovv += einsum(tmp104, (0, 1), t1.bb, (2, 3), (2, 0, 3, 1), optimize=True) * -1 + del tmp104 + tmp105 = einsum(tmp17, (0, 1), t2.bbbb, (2, 0, 3, 4), (2, 1, 3, 4), optimize=True) * -2 + del tmp17 + rdm2.bbbb.oovv += tmp105.transpose((1, 0, 3, 2)) + rdm2.bbbb.oovv += tmp105.transpose((0, 1, 3, 2)) * -1 del tmp105 - tmp102 = tmp39.copy() - tmp102 += tmp40 * 2 - tmp102 += tmp101 - del tmp101 - rdm2.bbbb.oovv += einsum(tmp102, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3), optimize=True) * -1 - rdm2.bbbb.oovv += einsum(tmp102, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1), optimize=True) - rdm2.bbbb.oovv += einsum(tmp102, (0, 1), t1.bb, (2, 3), (2, 0, 1, 3), optimize=True) - rdm2.bbbb.oovv += einsum(tmp102, (0, 1), t1.bb, (2, 3), (2, 0, 3, 1), optimize=True) * -1 + tmp96 = einsum(t2.abab, (0, 1, 2, 3), tmp95, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) + del tmp95 + rdm2.bbbb.oovv += tmp96.transpose((1, 0, 3, 2)) * 2 + rdm2.bbbb.oovv += tmp96 * 2 + rdm2.bbbb.oovv += tmp96.transpose((1, 0, 2, 3)) * -2 + rdm2.bbbb.oovv += tmp96.transpose((0, 1, 3, 2)) * -2 + del tmp96 + tmp108 = einsum(t1.bb, (0, 1), tmp107, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) + del tmp107 + rdm2.bbbb.oovv += tmp108.transpose((0, 1, 3, 2)) + rdm2.bbbb.oovv += tmp108.transpose((1, 0, 3, 2)) * -1 + rdm2.bbbb.oovv += tmp108 * -1 + rdm2.bbbb.oovv += tmp108.transpose((1, 0, 2, 3)) + del tmp108 + tmp103 = tmp40.copy() + tmp103 += tmp41 * 2 + tmp103 += tmp102 del tmp102 - tmp37 = t1.bb.copy() - tmp37 += tmp35 - tmp37 += tmp36 * 2 - rdm2.bbbb.oovv += einsum(tmp37, (0, 1), t1.bb, (2, 3), (2, 0, 3, 1), optimize=True) - rdm2.abab.oovv += einsum(t1.aa, (0, 1), tmp37, (2, 3), (0, 2, 1, 3), optimize=True) - rdm2.bbbb.oovo += einsum(tmp37, (0, 1), delta.bb.oo, (2, 3), (3, 0, 1, 2), optimize=True) * -1 - rdm2.bbbb.oovo += einsum(tmp37, (0, 1), delta.bb.oo, (2, 3), (0, 3, 1, 2), optimize=True) - rdm2.bbbb.ooov += einsum(tmp37, (0, 1), delta.bb.oo, (2, 3), (3, 0, 2, 1), optimize=True) - rdm2.abab.ooov += einsum(tmp37, (0, 1), delta.aa.oo, (2, 3), (3, 0, 2, 1), optimize=True) - del tmp37 - tmp98 = tmp35.copy() - del tmp35 - tmp98 += tmp36 * 2 - del tmp36 - rdm2.bbbb.oovv += einsum(tmp98, (0, 1), t1.bb, (2, 3), (2, 0, 1, 3), optimize=True) * -1 - rdm2.bbbb.oovv += einsum(tmp98, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3), optimize=True) - del tmp98 - tmp103 = einsum(t1.bb, (0, 1), tmp8, (0, 2), (2, 1), optimize=True) - rdm2.bbbb.oovv += einsum(tmp103, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3), optimize=True) * -1 + rdm2.bbbb.oovv += einsum(t1.bb, (0, 1), tmp103, (2, 3), (2, 0, 3, 1), optimize=True) * -1 rdm2.bbbb.oovv += einsum(tmp103, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1), optimize=True) rdm2.bbbb.oovv += einsum(tmp103, (0, 1), t1.bb, (2, 3), (2, 0, 1, 3), optimize=True) rdm2.bbbb.oovv += einsum(tmp103, (0, 1), t1.bb, (2, 3), (2, 0, 3, 1), optimize=True) * -1 del tmp103 - tmp104 = einsum(t2.bbbb, (0, 1, 2, 3), tmp16, (0, 4), (1, 4, 2, 3), optimize=True) * 2 - del tmp16 - rdm2.bbbb.oovv += tmp104.transpose((1, 0, 3, 2)) - rdm2.bbbb.oovv += tmp104.transpose((0, 1, 3, 2)) * -1 - del tmp104 - tmp84 = tmp82.copy() * 0.5 + tmp106 = einsum(tmp53, (0, 1, 2, 3), t1.bb, (0, 4), (1, 3, 2, 4), optimize=True) + rdm2.bbbb.oovv += einsum(tmp106, (0, 1, 2, 3), t1.bb, (0, 4), (1, 2, 4, 3), optimize=True) * 2 + del tmp106 + tmp97 = t1.bb.copy() + tmp97 += tmp36 + tmp97 += tmp37 * 2 + rdm2.bbbb.oovv += einsum(tmp97, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1), optimize=True) * -1 + del tmp97 + tmp94 = einsum(t2.bbbb, (0, 1, 2, 3), tmp93, (1, 4, 3, 5), (4, 0, 5, 2), optimize=True) + del tmp93 + rdm2.bbbb.oovv += tmp94 * 8 + rdm2.bbbb.oovv += tmp94.transpose((0, 1, 3, 2)) * -8 + del tmp94 + tmp100 = tmp82.copy() * 0.5 del tmp82 - tmp84 += tmp83 + tmp100 += tmp83 del tmp83 - rdm2.bbbb.oovv += einsum(tmp84, (0, 1), t2.bbbb, (2, 3, 0, 4), (3, 2, 1, 4), optimize=True) * 4 - rdm2.abab.oovv += einsum(tmp84, (0, 1), t2.abab, (2, 3, 4, 0), (2, 3, 4, 1), optimize=True) * -2 - del tmp84 - tmp99 = einsum(tmp49, (0, 1, 2, 3), t1.bb, (0, 4), (1, 2, 4, 3), optimize=True) - del tmp49 + rdm2.bbbb.oovv += einsum(t2.bbbb, (0, 1, 2, 3), tmp100, (3, 4), (0, 1, 4, 2), optimize=True) * 4 + del tmp100 + tmp98 = tmp36.copy() + tmp98 += tmp37 * 2 + rdm2.bbbb.oovv += einsum(tmp98, (0, 1), t1.bb, (2, 3), (2, 0, 1, 3), optimize=True) * -1 + rdm2.bbbb.oovv += einsum(tmp98, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3), optimize=True) + del tmp98 + tmp99 = einsum(tmp50, (0, 1, 2, 3), t1.bb, (0, 4), (1, 2, 4, 3), optimize=True) + del tmp50 rdm2.bbbb.oovv += tmp99.transpose((0, 1, 3, 2)) * -2 rdm2.bbbb.oovv += tmp99 * 2 del tmp99 - tmp97 = einsum(tmp96, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) - del tmp96 - rdm2.bbbb.oovv += tmp97.transpose((1, 0, 3, 2)) * 2 - rdm2.bbbb.oovv += tmp97 * 2 - rdm2.bbbb.oovv += tmp97.transpose((1, 0, 2, 3)) * -2 - rdm2.bbbb.oovv += tmp97.transpose((0, 1, 3, 2)) * -2 - del tmp97 - tmp95 = einsum(t2.bbbb, (0, 1, 2, 3), tmp94, (1, 4, 3, 5), (4, 0, 5, 2), optimize=True) - del tmp94 - rdm2.bbbb.oovv += tmp95 * 8 - rdm2.bbbb.oovv += tmp95.transpose((0, 1, 3, 2)) * -8 - del tmp95 + tmp43 = tmp40.copy() + del tmp40 + tmp43 += tmp41 * 2 + del tmp41 + tmp43 += tmp42 + del tmp42 + rdm2.abab.oovv += einsum(t1.aa, (0, 1), tmp43, (2, 3), (0, 2, 1, 3), optimize=True) * -1 + rdm2.bbbb.oovo += einsum(tmp43, (0, 1), delta.bb.oo, (2, 3), (2, 0, 1, 3), optimize=True) + rdm2.bbbb.oovo += einsum(delta.bb.oo, (0, 1), tmp43, (2, 3), (2, 0, 3, 1), optimize=True) * -1 + rdm2.bbbb.ooov += einsum(tmp43, (0, 1), delta.bb.oo, (2, 3), (2, 0, 3, 1), optimize=True) * -1 + rdm2.bbbb.ooov += einsum(delta.bb.oo, (0, 1), tmp43, (2, 3), (2, 0, 1, 3), optimize=True) + rdm2.abab.ooov += einsum(delta.aa.oo, (0, 1), tmp43, (2, 3), (0, 2, 1, 3), optimize=True) * -1 + del tmp43 + tmp56 = tmp27.copy() + tmp56 += tmp29 * 0.5 + tmp56 += tmp55 + del tmp55 + rdm2.abab.oovv += einsum(tmp56, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3), optimize=True) * -2 + rdm2.aaaa.oovo += einsum(delta.aa.oo, (0, 1), tmp56, (2, 3), (0, 2, 3, 1), optimize=True) * 2 + rdm2.aaaa.oovo += einsum(delta.aa.oo, (0, 1), tmp56, (2, 3), (2, 0, 3, 1), optimize=True) * -2 + del tmp56 + tmp57 = einsum(l1.bb, (0, 1), t2.abab, (2, 3, 4, 0), (2, 1, 3, 4), optimize=True) + rdm2.abab.oovv += einsum(tmp57, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 3, 4), optimize=True) * -1 + rdm2.abab.oovo += tmp57.transpose((0, 2, 3, 1)) * -1 + del tmp57 tmp90 = tmp59.copy() del tmp59 - tmp90 += tmp60 - del tmp60 + tmp90 += tmp58 + del tmp58 rdm2.abab.oovv += einsum(t1.bb, (0, 1), tmp90, (2, 0, 3, 4), (2, 3, 4, 1), optimize=True) * -2 del tmp90 - tmp71 = tmp20.copy() * 2 - tmp71 += tmp21 - rdm2.abab.oovv += einsum(tmp71, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3), optimize=True) - rdm2.aaaa.oovv += einsum(tmp71, (0, 1), t1.aa, (2, 3), (2, 0, 1, 3), optimize=True) * -1 - rdm2.aaaa.oovv += einsum(t1.aa, (0, 1), tmp71, (2, 3), (2, 0, 3, 1), optimize=True) - del tmp71 - tmp57 = tmp25.copy() - tmp57 += tmp27 * 0.5 - tmp57 += tmp56 - del tmp56 - rdm2.abab.oovv += einsum(t1.bb, (0, 1), tmp57, (2, 3), (2, 0, 3, 1), optimize=True) * -2 - rdm2.abab.oovo += einsum(delta.bb.oo, (0, 1), tmp57, (2, 3), (2, 1, 3, 0), optimize=True) * -2 - rdm2.aaaa.oovo += einsum(tmp57, (0, 1), delta.aa.oo, (2, 3), (3, 0, 1, 2), optimize=True) * 2 - rdm2.aaaa.oovo += einsum(delta.aa.oo, (0, 1), tmp57, (2, 3), (2, 1, 3, 0), optimize=True) * -2 - del tmp57 - tmp61 = einsum(t2.abab, (0, 1, 2, 3), tmp26, (0, 4, 5, 3), (4, 5, 1, 2), optimize=True) - del tmp26 - rdm2.abab.oovv += einsum(tmp61, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 3, 4), optimize=True) - rdm2.abab.oovo += tmp61.transpose((0, 2, 3, 1)) - del tmp61 - tmp89 = tmp43.copy() - del tmp43 + tmp89 = tmp45.copy() + del tmp45 tmp89 += tmp44 del tmp44 - rdm2.abab.oovv += einsum(tmp89, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3), optimize=True) * -2 + rdm2.abab.oovv += einsum(t1.aa, (0, 1), tmp89, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) * -2 del tmp89 - tmp58 = einsum(t2.abab, (0, 1, 2, 3), l1.bb, (3, 4), (0, 4, 1, 2), optimize=True) - rdm2.abab.oovv += einsum(tmp58, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 3, 4), optimize=True) * -1 - rdm2.abab.oovo += tmp58.transpose((0, 2, 3, 1)) * -1 - del tmp58 - tmp42 = tmp39.copy() * 0.5 - tmp42 += tmp40 - tmp42 += tmp41 - del tmp41 - rdm2.abab.oovv += einsum(t1.aa, (0, 1), tmp42, (2, 3), (0, 2, 1, 3), optimize=True) * -2 - rdm2.bbbb.oovo += einsum(tmp42, (0, 1), delta.bb.oo, (2, 3), (3, 0, 1, 2), optimize=True) * 2 - rdm2.bbbb.oovo += einsum(tmp42, (0, 1), delta.bb.oo, (2, 3), (0, 3, 1, 2), optimize=True) * -2 - rdm2.abab.ooov += einsum(tmp42, (0, 1), delta.aa.oo, (2, 3), (3, 0, 2, 1), optimize=True) * -2 - del tmp42 - tmp46 = einsum(tmp45, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 3, 4), optimize=True) - del tmp45 - rdm2.abab.oovv += einsum(tmp46, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3), optimize=True) - rdm2.abab.ooov += tmp46.transpose((1, 2, 0, 3)) + tmp12 = tmp0.copy() + tmp12 += tmp1 * 2 + tmp12 += tmp2 + rdm2.abab.oovv += einsum(tmp12, (0, 1), t2.abab, (0, 2, 3, 4), (1, 2, 3, 4), optimize=True) * -1 + rdm2.aaaa.ooov += einsum(t1.aa, (0, 1), tmp12, (2, 3), (0, 3, 2, 1), optimize=True) + rdm2.aaaa.ooov += einsum(t1.aa, (0, 1), tmp12, (2, 3), (3, 0, 2, 1), optimize=True) * -1 + rdm2.abab.oooo += einsum(tmp12, (0, 1), delta.bb.oo, (2, 3), (1, 2, 0, 3), optimize=True) * -1 + del tmp12 + tmp48 = einsum(tmp14, (0, 1, 2, 3), t2.abab, (4, 1, 3, 5), (0, 4, 2, 5), optimize=True) + del tmp14 + rdm2.abab.oovv += einsum(t1.aa, (0, 1), tmp48, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) + rdm2.abab.ooov += tmp48.transpose((1, 2, 0, 3)) + del tmp48 + tmp47 = einsum(t1.bb, (0, 1), tmp46, (2, 3, 0, 4), (2, 3, 4, 1), optimize=True) del tmp46 - tmp38 = einsum(l1.aa, (0, 1), t2.abab, (2, 3, 0, 4), (1, 2, 3, 4), optimize=True) - rdm2.abab.oovv += einsum(t1.aa, (0, 1), tmp38, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) * -1 - rdm2.abab.ooov += tmp38.transpose((1, 2, 0, 3)) * -1 - del tmp38 - tmp47 = einsum(t2.abab, (0, 1, 2, 3), tmp13, (4, 1, 5, 2), (4, 0, 5, 3), optimize=True) - del tmp13 rdm2.abab.oovv += einsum(tmp47, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3), optimize=True) rdm2.abab.ooov += tmp47.transpose((1, 2, 0, 3)) del tmp47 - tmp22 = t1.aa.copy() - tmp22 += tmp20 * 2 - tmp22 += tmp21 - rdm2.aaaa.oovv += einsum(t1.aa, (0, 1), tmp22, (2, 3), (2, 0, 1, 3), optimize=True) * -1 - rdm2.aaaa.ooov += einsum(tmp22, (0, 1), delta.aa.oo, (2, 3), (0, 3, 2, 1), optimize=True) * -1 - del tmp22 - tmp66 = einsum(tmp65, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 2), (1, 4, 3, 5), optimize=True) - del tmp65 - rdm2.aaaa.oovv += tmp66 * 8 - rdm2.aaaa.oovv += tmp66.transpose((0, 1, 3, 2)) * -8 - del tmp66 - tmp70 = einsum(tmp69, (0, 1, 2, 3), t2.abab, (4, 1, 5, 3), (0, 4, 2, 5), optimize=True) - del tmp69 - rdm2.aaaa.oovv += tmp70.transpose((1, 0, 3, 2)) * 2 - rdm2.aaaa.oovv += tmp70 * 2 - rdm2.aaaa.oovv += tmp70.transpose((1, 0, 2, 3)) * -2 - rdm2.aaaa.oovv += tmp70.transpose((0, 1, 3, 2)) * -2 - del tmp70 - tmp79 = einsum(tmp33, (0, 1, 2, 3), t1.aa, (0, 4), (1, 3, 2, 4), optimize=True) - rdm2.aaaa.oovv += einsum(tmp79, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3), optimize=True) * 2 - del tmp79 - tmp78 = einsum(t2.aaaa, (0, 1, 2, 3), tmp4, (0, 4), (4, 1, 2, 3), optimize=True) * 2 - del tmp4 - rdm2.aaaa.oovv += tmp78.transpose((0, 1, 3, 2)) - rdm2.aaaa.oovv += tmp78.transpose((1, 0, 3, 2)) * -1 - del tmp78 - tmp23 = t1.aa.copy() - tmp23 += tmp20 * 2 - del tmp20 - tmp23 += tmp21 - del tmp21 - rdm2.aaaa.oovv += einsum(tmp23, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1), optimize=True) - rdm2.abab.oovo += einsum(delta.bb.oo, (0, 1), tmp23, (2, 3), (2, 1, 3, 0), optimize=True) - rdm2.aaaa.oovo += einsum(tmp23, (0, 1), delta.aa.oo, (2, 3), (3, 0, 1, 2), optimize=True) * -1 - rdm2.aaaa.oovo += einsum(delta.aa.oo, (0, 1), tmp23, (2, 3), (2, 1, 3, 0), optimize=True) - rdm2.aaaa.ooov += einsum(tmp23, (0, 1), delta.aa.oo, (2, 3), (3, 0, 2, 1), optimize=True) - del tmp23 - tmp77 = einsum(tmp0, (0, 1), t1.aa, (0, 2), (1, 2), optimize=True) - rdm2.aaaa.oovv += einsum(t1.aa, (0, 1), tmp77, (2, 3), (2, 0, 3, 1), optimize=True) * -1 - rdm2.aaaa.oovv += einsum(tmp77, (0, 1), t1.aa, (2, 3), (0, 2, 3, 1), optimize=True) - rdm2.aaaa.oovv += einsum(tmp77, (0, 1), t1.aa, (2, 3), (2, 0, 1, 3), optimize=True) - rdm2.aaaa.oovv += einsum(tmp77, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1), optimize=True) * -1 - del tmp77 - tmp81 = einsum(tmp80, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3), optimize=True) + tmp39 = einsum(t2.abab, (0, 1, 2, 3), l1.aa, (2, 4), (4, 0, 1, 3), optimize=True) + rdm2.abab.oovv += einsum(t1.aa, (0, 1), tmp39, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) * -1 + rdm2.abab.ooov += tmp39.transpose((1, 2, 0, 3)) * -1 + del tmp39 + tmp71 = tmp22.copy() * 2 + tmp71 += tmp23 + rdm2.abab.oovv += einsum(tmp71, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3), optimize=True) + rdm2.aaaa.oovv += einsum(tmp71, (0, 1), t1.aa, (2, 3), (2, 0, 1, 3), optimize=True) * -1 + rdm2.aaaa.oovv += einsum(tmp71, (0, 1), t1.aa, (2, 3), (0, 2, 1, 3), optimize=True) + del tmp71 + tmp60 = einsum(t2.abab, (0, 1, 2, 3), tmp28, (0, 4, 5, 3), (4, 5, 1, 2), optimize=True) + del tmp28 + rdm2.abab.oovv += einsum(tmp60, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 3, 4), optimize=True) + rdm2.abab.oovo += tmp60.transpose((0, 2, 3, 1)) + del tmp60 + tmp76 = tmp27.copy() + tmp76 += tmp29 * 0.5 + tmp76 += tmp75 + del tmp75 + rdm2.aaaa.oovv += einsum(tmp76, (0, 1), t1.aa, (2, 3), (0, 2, 1, 3), optimize=True) * -2 + rdm2.aaaa.oovv += einsum(t1.aa, (0, 1), tmp76, (2, 3), (2, 0, 1, 3), optimize=True) * 2 + rdm2.aaaa.oovv += einsum(tmp76, (0, 1), t1.aa, (2, 3), (2, 0, 1, 3), optimize=True) * 2 + rdm2.aaaa.oovv += einsum(t1.aa, (0, 1), tmp76, (2, 3), (0, 2, 1, 3), optimize=True) * -2 + del tmp76 + tmp81 = einsum(t1.aa, (0, 1), tmp80, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) del tmp80 rdm2.aaaa.oovv += tmp81.transpose((0, 1, 3, 2)) rdm2.aaaa.oovv += tmp81.transpose((1, 0, 3, 2)) * -1 rdm2.aaaa.oovv += tmp81 * -1 rdm2.aaaa.oovv += tmp81.transpose((1, 0, 2, 3)) del tmp81 - tmp76 = tmp25.copy() - tmp76 += tmp27 * 0.5 - tmp76 += tmp75 - del tmp75 - rdm2.aaaa.oovv += einsum(t1.aa, (0, 1), tmp76, (2, 3), (2, 0, 3, 1), optimize=True) * -2 - rdm2.aaaa.oovv += einsum(tmp76, (0, 1), t1.aa, (2, 3), (0, 2, 3, 1), optimize=True) * 2 - rdm2.aaaa.oovv += einsum(tmp76, (0, 1), t1.aa, (2, 3), (2, 0, 1, 3), optimize=True) * 2 - rdm2.aaaa.oovv += einsum(t1.aa, (0, 1), tmp76, (2, 3), (0, 2, 1, 3), optimize=True) * -2 - del tmp76 - tmp73 = tmp62.copy() * 2 + tmp67 = einsum(tmp66, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 2), (4, 1, 5, 3), optimize=True) + del tmp66 + rdm2.aaaa.oovv += tmp67 * 8 + rdm2.aaaa.oovv += tmp67.transpose((0, 1, 3, 2)) * -8 + del tmp67 + tmp25 = t1.aa.copy() + tmp25 += tmp22 * 2 + tmp25 += tmp23 + rdm2.aaaa.oovv += einsum(tmp25, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1), optimize=True) + rdm2.abab.oovo += einsum(delta.bb.oo, (0, 1), tmp25, (2, 3), (2, 0, 3, 1), optimize=True) + rdm2.aaaa.oovo += einsum(delta.aa.oo, (0, 1), tmp25, (2, 3), (0, 2, 3, 1), optimize=True) * -1 + rdm2.aaaa.oovo += einsum(delta.aa.oo, (0, 1), tmp25, (2, 3), (2, 0, 3, 1), optimize=True) + rdm2.aaaa.ooov += einsum(delta.aa.oo, (0, 1), tmp25, (2, 3), (0, 2, 1, 3), optimize=True) + del tmp25 + tmp78 = einsum(tmp4, (0, 1), t2.aaaa, (2, 0, 3, 4), (1, 2, 3, 4), optimize=True) * -4 + del tmp4 + rdm2.aaaa.oovv += tmp78.transpose((0, 1, 3, 2)) + rdm2.aaaa.oovv += tmp78.transpose((1, 0, 3, 2)) * -1 + del tmp78 + tmp63 = tmp61.copy() * 2 + del tmp61 + tmp63 += tmp62 del tmp62 - tmp73 += tmp63 + rdm2.aaaa.oovv += einsum(t2.aaaa, (0, 1, 2, 3), tmp63, (3, 4), (0, 1, 2, 4), optimize=True) * -2 del tmp63 - rdm2.aaaa.oovv += einsum(tmp73, (0, 1), t2.aaaa, (2, 3, 0, 4), (3, 2, 1, 4), optimize=True) * 2 - del tmp73 - tmp72 = einsum(tmp24, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3), optimize=True) - del tmp24 + tmp70 = t1.aa.copy() + tmp70 += tmp22 * 2 + tmp70 += tmp23 + rdm2.aaaa.oovv += einsum(t1.aa, (0, 1), tmp70, (2, 3), (2, 0, 1, 3), optimize=True) * -1 + del tmp70 + tmp69 = einsum(t2.abab, (0, 1, 2, 3), tmp68, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) + del tmp68 + rdm2.aaaa.oovv += tmp69.transpose((1, 0, 3, 2)) * 2 + rdm2.aaaa.oovv += tmp69 * 2 + rdm2.aaaa.oovv += tmp69.transpose((1, 0, 2, 3)) * -2 + rdm2.aaaa.oovv += tmp69.transpose((0, 1, 3, 2)) * -2 + del tmp69 + tmp65 = einsum(t2.abab, (0, 1, 2, 3), tmp64, (4, 1, 5, 3), (0, 4, 2, 5), optimize=True) + del tmp64 + rdm2.aaaa.oovv += tmp65 * 2 + rdm2.aaaa.oovv += tmp65.transpose((0, 1, 3, 2)) * -2 + del tmp65 + tmp79 = einsum(tmp34, (0, 1, 2, 3), t1.aa, (0, 4), (1, 3, 2, 4), optimize=True) + rdm2.aaaa.oovv += einsum(t1.aa, (0, 1), tmp79, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) * 2 + del tmp79 + tmp72 = einsum(t1.aa, (0, 1), tmp26, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) + del tmp26 rdm2.aaaa.oovv += tmp72.transpose((0, 1, 3, 2)) * -2 rdm2.aaaa.oovv += tmp72 * 2 del tmp72 - tmp68 = einsum(tmp67, (0, 1, 2, 3), t2.abab, (4, 1, 5, 3), (0, 4, 2, 5), optimize=True) - del tmp67 - rdm2.aaaa.oovv += tmp68 * 2 - rdm2.aaaa.oovv += tmp68.transpose((0, 1, 3, 2)) * -2 - del tmp68 - tmp55 = einsum(t1.bb, (0, 1), tmp54, (0, 2, 3, 4), (2, 3, 4, 1), optimize=True) * 2 + tmp77 = einsum(t1.aa, (0, 1), tmp0, (0, 2), (2, 1), optimize=True) + rdm2.aaaa.oovv += einsum(tmp77, (0, 1), t1.aa, (2, 3), (0, 2, 1, 3), optimize=True) * -1 + rdm2.aaaa.oovv += einsum(t1.aa, (0, 1), tmp77, (2, 3), (2, 0, 1, 3), optimize=True) + rdm2.aaaa.oovv += einsum(tmp77, (0, 1), t1.aa, (2, 3), (2, 0, 1, 3), optimize=True) + rdm2.aaaa.oovv += einsum(t1.aa, (0, 1), tmp77, (2, 3), (0, 2, 1, 3), optimize=True) * -1 + del tmp77 + tmp54 = einsum(tmp53, (0, 1, 2, 3), t1.bb, (0, 4), (1, 2, 3, 4), optimize=True) * 2 + del tmp53 + rdm2.bbbb.oovo += tmp54.transpose((2, 1, 3, 0)) * -1 + rdm2.bbbb.ooov += tmp54.transpose((2, 1, 0, 3)) del tmp54 - rdm2.bbbb.oovo += tmp55.transpose((2, 1, 3, 0)) * -1 - rdm2.bbbb.ooov += tmp55.transpose((2, 1, 0, 3)) - del tmp55 - tmp34 = einsum(t1.aa, (0, 1), tmp33, (0, 2, 3, 4), (2, 3, 4, 1), optimize=True) * 2 - del tmp33 - rdm2.aaaa.oovo += tmp34.transpose((2, 1, 3, 0)) * -1 - rdm2.aaaa.ooov += tmp34.transpose((2, 1, 0, 3)) - del tmp34 - tmp51 = tmp39.copy() - del tmp39 - tmp51 += tmp40 * 2 - del tmp40 - tmp51 += tmp50 - del tmp50 - rdm2.bbbb.ooov += einsum(tmp51, (0, 1), delta.bb.oo, (2, 3), (3, 0, 2, 1), optimize=True) * -1 - rdm2.bbbb.ooov += einsum(tmp51, (0, 1), delta.bb.oo, (2, 3), (0, 3, 2, 1), optimize=True) - del tmp51 - tmp30 = tmp25.copy() * 2 - del tmp25 - tmp30 += tmp27 + tmp31 = tmp27.copy() * 2 del tmp27 - tmp30 += tmp29 + tmp31 += tmp29 del tmp29 - rdm2.aaaa.ooov += einsum(tmp30, (0, 1), delta.aa.oo, (2, 3), (3, 0, 2, 1), optimize=True) * -1 - rdm2.aaaa.ooov += einsum(delta.aa.oo, (0, 1), tmp30, (2, 3), (2, 1, 0, 3), optimize=True) + tmp31 += tmp30 del tmp30 - tmp15 = delta.bb.oo.transpose((1, 0)).copy() * -0.5 - tmp15 += tmp8 * 0.5 - tmp15 += tmp9 * 0.5 - tmp15 += tmp10 - rdm2.bbbb.oooo += einsum(tmp15, (0, 1), delta.bb.oo, (2, 3), (1, 3, 2, 0), optimize=True) * 2 - rdm2.bbbb.oooo += einsum(delta.bb.oo, (0, 1), tmp15, (2, 3), (1, 3, 0, 2), optimize=True) * -2 - del tmp15 - tmp11 = delta.bb.oo.transpose((1, 0)).copy() * -1 - tmp11 += tmp8 + rdm2.abab.oovo += einsum(delta.bb.oo, (0, 1), tmp31, (2, 3), (2, 0, 3, 1), optimize=True) * -1 + rdm2.aaaa.ooov += einsum(delta.aa.oo, (0, 1), tmp31, (2, 3), (0, 2, 1, 3), optimize=True) * -1 + rdm2.aaaa.ooov += einsum(delta.aa.oo, (0, 1), tmp31, (2, 3), (2, 0, 1, 3), optimize=True) + del tmp31 + tmp18 = tmp8.copy() * 0.5 + tmp18 += tmp9 * 0.5 + tmp18 += tmp10 + rdm2.abab.oovo += einsum(t1.aa, (0, 1), tmp18, (2, 3), (0, 3, 1, 2), optimize=True) * -2 + rdm2.bbbb.oooo += einsum(tmp18, (0, 1), delta.bb.oo, (2, 3), (2, 1, 0, 3), optimize=True) * 2 + del tmp18 + tmp35 = einsum(t1.aa, (0, 1), tmp34, (0, 2, 3, 4), (2, 3, 4, 1), optimize=True) * 2 + del tmp34 + rdm2.aaaa.oovo += tmp35.transpose((2, 1, 3, 0)) * -1 + rdm2.aaaa.ooov += tmp35.transpose((2, 1, 0, 3)) + del tmp35 + tmp49 = t1.bb.copy() * 0.5 + tmp49 += tmp36 * 0.5 + del tmp36 + tmp49 += tmp37 + del tmp37 + rdm2.bbbb.ooov += einsum(delta.bb.oo, (0, 1), tmp49, (2, 3), (2, 0, 1, 3), optimize=True) * -2 + del tmp49 + tmp24 = t1.aa.copy() * 0.5 + tmp24 += tmp22 + del tmp22 + tmp24 += tmp23 * 0.5 + del tmp23 + rdm2.aaaa.ooov += einsum(delta.aa.oo, (0, 1), tmp24, (2, 3), (2, 0, 1, 3), optimize=True) * -2 + del tmp24 + tmp16 = delta.bb.oo.copy() * -1 + tmp16 += tmp8 + tmp16 += tmp9 + tmp16 += tmp10 * 2 + rdm2.bbbb.oooo += einsum(delta.bb.oo, (0, 1), tmp16, (2, 3), (3, 0, 1, 2), optimize=True) + rdm2.bbbb.oooo += einsum(tmp16, (0, 1), delta.bb.oo, (2, 3), (2, 1, 3, 0), optimize=True) * -1 + del tmp16 + tmp11 = delta.bb.oo.copy() * -0.5 + tmp11 += tmp8 * 0.5 del tmp8 - tmp11 += tmp9 + tmp11 += tmp9 * 0.5 del tmp9 - tmp11 += tmp10 * 2 + tmp11 += tmp10 del tmp10 - rdm2.abab.oooo += einsum(tmp11, (0, 1), delta.aa.oo, (2, 3), (3, 1, 2, 0), optimize=True) * -1 + rdm2.abab.oooo += einsum(tmp11, (0, 1), delta.aa.oo, (2, 3), (2, 1, 3, 0), optimize=True) * -2 del tmp11 - tmp3 = delta.aa.oo.transpose((1, 0)).copy() * -0.5 - tmp3 += tmp0 * 0.5 + tmp3 = delta.aa.oo.copy() * -1 + tmp3 += tmp0 del tmp0 - tmp3 += tmp1 + tmp3 += tmp1 * 2 del tmp1 - tmp3 += tmp2 * 0.5 + tmp3 += tmp2 del tmp2 - rdm2.aaaa.oooo += einsum(tmp3, (0, 1), delta.aa.oo, (2, 3), (1, 3, 2, 0), optimize=True) * 2 - rdm2.aaaa.oooo += einsum(tmp3, (0, 1), delta.aa.oo, (2, 3), (3, 1, 2, 0), optimize=True) * -2 + rdm2.aaaa.oooo += einsum(tmp3, (0, 1), delta.aa.oo, (2, 3), (1, 2, 3, 0), optimize=True) + rdm2.aaaa.oooo += einsum(delta.aa.oo, (0, 1), tmp3, (2, 3), (0, 3, 1, 2), optimize=True) * -1 del tmp3 - rdm2.aaaa.ovoo += einsum(l1.aa, (0, 1), delta.aa.oo, (2, 3), (3, 0, 1, 2), optimize=True) * -1 - rdm2.aaaa.ovoo += einsum(l1.aa, (0, 1), delta.aa.oo, (2, 3), (3, 0, 2, 1), optimize=True) - rdm2.abab.ovoo += einsum(delta.aa.oo, (0, 1), l1.bb, (2, 3), (1, 2, 0, 3), optimize=True) - rdm2.bbbb.ovoo += einsum(delta.bb.oo, (0, 1), l1.bb, (2, 3), (1, 2, 3, 0), optimize=True) * -1 - rdm2.bbbb.ovoo += einsum(l1.bb, (0, 1), delta.bb.oo, (2, 3), (3, 0, 2, 1), optimize=True) - rdm2.aaaa.vooo += einsum(l1.aa, (0, 1), delta.aa.oo, (2, 3), (0, 3, 1, 2), optimize=True) - rdm2.aaaa.vooo += einsum(l1.aa, (0, 1), delta.aa.oo, (2, 3), (0, 3, 2, 1), optimize=True) * -1 - rdm2.abab.vooo += einsum(l1.aa, (0, 1), delta.bb.oo, (2, 3), (0, 3, 1, 2), optimize=True) - rdm2.bbbb.vooo += einsum(delta.bb.oo, (0, 1), l1.bb, (2, 3), (2, 1, 3, 0), optimize=True) - rdm2.bbbb.vooo += einsum(l1.bb, (0, 1), delta.bb.oo, (2, 3), (0, 3, 2, 1), optimize=True) * -1 + rdm2.aaaa.ovoo += einsum(delta.aa.oo, (0, 1), l1.aa, (2, 3), (0, 2, 3, 1), optimize=True) * -1 + rdm2.aaaa.ovoo += einsum(delta.aa.oo, (0, 1), l1.aa, (2, 3), (0, 2, 1, 3), optimize=True) + rdm2.abab.ovoo += einsum(l1.bb, (0, 1), delta.aa.oo, (2, 3), (2, 0, 3, 1), optimize=True) + rdm2.bbbb.ovoo += einsum(l1.bb, (0, 1), delta.bb.oo, (2, 3), (2, 0, 1, 3), optimize=True) * -1 + rdm2.bbbb.ovoo += einsum(l1.bb, (0, 1), delta.bb.oo, (2, 3), (2, 0, 3, 1), optimize=True) + rdm2.aaaa.vooo += einsum(delta.aa.oo, (0, 1), l1.aa, (2, 3), (2, 0, 3, 1), optimize=True) + rdm2.aaaa.vooo += einsum(delta.aa.oo, (0, 1), l1.aa, (2, 3), (2, 0, 1, 3), optimize=True) * -1 + rdm2.abab.vooo += einsum(delta.bb.oo, (0, 1), l1.aa, (2, 3), (2, 0, 3, 1), optimize=True) + rdm2.bbbb.vooo += einsum(l1.bb, (0, 1), delta.bb.oo, (2, 3), (0, 2, 1, 3), optimize=True) + rdm2.bbbb.vooo += einsum(l1.bb, (0, 1), delta.bb.oo, (2, 3), (0, 2, 3, 1), optimize=True) * -1 del delta - rdm2.aaaa.oovv += t2.aaaa.transpose((1, 0, 3, 2)) * 2 + rdm2.aaaa.oovv += t2.aaaa * 2 rdm2.abab.oovv += t2.abab - rdm2.bbbb.oovv += t2.bbbb.transpose((1, 0, 3, 2)) * 2 + rdm2.bbbb.oovv += t2.bbbb * 2 rdm2.aaaa.ovov += einsum(l1.aa, (0, 1), t1.aa, (2, 3), (2, 0, 1, 3), optimize=True) * -1 rdm2.bbbb.ovov += einsum(t1.bb, (0, 1), l1.bb, (2, 3), (0, 2, 3, 1), optimize=True) * -1 rdm2.aaaa.ovvo += einsum(l1.aa, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1), optimize=True) - rdm2.abab.ovvo += einsum(t1.aa, (0, 1), l1.bb, (2, 3), (0, 2, 1, 3), optimize=True) + rdm2.abab.ovvo += einsum(l1.bb, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1), optimize=True) rdm2.bbbb.ovvo += einsum(t1.bb, (0, 1), l1.bb, (2, 3), (0, 2, 1, 3), optimize=True) rdm2.aaaa.voov += einsum(l1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 1, 3), optimize=True) - rdm2.abab.voov += einsum(l1.aa, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3), optimize=True) + rdm2.abab.voov += einsum(t1.bb, (0, 1), l1.aa, (2, 3), (2, 0, 3, 1), optimize=True) rdm2.bbbb.voov += einsum(t1.bb, (0, 1), l1.bb, (2, 3), (2, 0, 3, 1), optimize=True) rdm2.aaaa.vovo += einsum(l1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 3, 1), optimize=True) * -1 rdm2.bbbb.vovo += einsum(t1.bb, (0, 1), l1.bb, (2, 3), (2, 0, 1, 3), optimize=True) * -1 - rdm2.aaaa.vvoo = l2.aaaa.transpose((1, 0, 3, 2)).copy() * 2 + rdm2.aaaa.vvoo = l2.aaaa.copy() * 2 rdm2.abab.vvoo = l2.abab.copy() - rdm2.bbbb.vvoo = l2.bbbb.transpose((1, 0, 3, 2)).copy() * 2 - rdm2.abab.ovvv += einsum(t2.abab, (0, 1, 2, 3), l1.bb, (4, 1), (0, 4, 2, 3), optimize=True) - rdm2.abab.vovv += einsum(l1.aa, (0, 1), t2.abab, (1, 2, 3, 4), (0, 2, 3, 4), optimize=True) + rdm2.bbbb.vvoo = l2.bbbb.copy() * 2 + rdm2.abab.ovvv += einsum(l1.bb, (0, 1), t2.abab, (2, 1, 3, 4), (2, 0, 3, 4), optimize=True) + rdm2.abab.vovv += einsum(t2.abab, (0, 1, 2, 3), l1.aa, (4, 0), (4, 1, 2, 3), optimize=True) rdm2.abab.vvvo = einsum(l2.abab, (0, 1, 2, 3), t1.aa, (2, 4), (0, 1, 4, 3), optimize=True) - rdm2.aaaa.vvvv += einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (4, 5, 0, 1), (5, 4, 3, 2), optimize=True) * 2 - rdm2.abab.vvvv += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 4, 5), (0, 1, 4, 5), optimize=True) - rdm2.bbbb.vvvv += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (2, 3, 4, 5), (1, 0, 5, 4), optimize=True) * 2 + rdm2.aaaa.vvvv += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (2, 3, 4, 5), (0, 1, 4, 5), optimize=True) * 2 + rdm2.abab.vvvv += einsum(t2.abab, (0, 1, 2, 3), l2.abab, (4, 5, 0, 1), (4, 5, 2, 3), optimize=True) + rdm2.bbbb.vvvv += einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (4, 5, 0, 1), (4, 5, 2, 3), optimize=True) * 2 rdm2.aaaa = pack_2e(rdm2.aaaa.oooo, rdm2.aaaa.ooov, rdm2.aaaa.oovo, rdm2.aaaa.ovoo, rdm2.aaaa.vooo, rdm2.aaaa.oovv, rdm2.aaaa.ovov, rdm2.aaaa.ovvo, rdm2.aaaa.voov, rdm2.aaaa.vovo, rdm2.aaaa.vvoo, rdm2.aaaa.ovvv, rdm2.aaaa.vovv, rdm2.aaaa.vvov, rdm2.aaaa.vvvo, rdm2.aaaa.vvvv) rdm2.abab = pack_2e(rdm2.abab.oooo, rdm2.abab.ooov, rdm2.abab.oovo, rdm2.abab.ovoo, rdm2.abab.vooo, rdm2.abab.oovv, rdm2.abab.ovov, rdm2.abab.ovvo, rdm2.abab.voov, rdm2.abab.vovo, rdm2.abab.vvoo, rdm2.abab.ovvv, rdm2.abab.vovv, rdm2.abab.vvov, rdm2.abab.vvvo, rdm2.abab.vvvv) rdm2.bbbb = pack_2e(rdm2.bbbb.oooo, rdm2.bbbb.ooov, rdm2.bbbb.oovo, rdm2.bbbb.ovoo, rdm2.bbbb.vooo, rdm2.bbbb.oovv, rdm2.bbbb.ovov, rdm2.bbbb.ovvo, rdm2.bbbb.voov, rdm2.bbbb.vovo, rdm2.bbbb.vvoo, rdm2.bbbb.ovvv, rdm2.bbbb.vovv, rdm2.bbbb.vvov, rdm2.bbbb.vvvo, rdm2.bbbb.vvvv) @@ -2698,3 +2698,2744 @@ def make_rdm2_f(l1=None, l2=None, t1=None, t2=None, **kwargs): return rdm2 +def hbar_matvec_ip(f=None, r1=None, r2=None, t1=None, t2=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-07-22T17:01:50.863298. + + Parameters + ---------- + f : Namespace of arrays + Fock matrix. + r1 : Namespace of arrays + R1 amplitudes. + r2 : Namespace of arrays + R2 amplitudes. + t1 : Namespace of arrays + T1 amplitudes. + t2 : Namespace of arrays + T2 amplitudes. + v : Namespace of arrays + Electron repulsion integrals. + + Returns + ------- + r1new : Namespace of arrays + Updated R1 residuals. + r2new : Namespace of arrays + Updated R2 residuals. + """ + + r1new = Namespace() + r2new = Namespace() + tmp21 = v.bbbb.ovov.transpose((0, 2, 3, 1)).copy() * -1 + tmp21 += v.bbbb.ovov.transpose((0, 2, 1, 3)) + tmp5 = v.aaaa.ovov.transpose((0, 2, 3, 1)).copy() * -1 + tmp5 += v.aaaa.ovov.transpose((0, 2, 1, 3)) + tmp22 = einsum(t1.bb, (0, 1), tmp21, (0, 2, 3, 1), (2, 3), optimize=True) + del tmp21 + tmp8 = einsum(t1.aa, (0, 1), v.aabb.ovov, (0, 1, 2, 3), (2, 3), optimize=True) + tmp125 = einsum(t1.bb, (0, 1), r1.b, (2,), (2, 0, 1), optimize=True) + tmp125 += r2.bbb * 2 + r2new.aba = einsum(tmp125, (0, 1, 2), v.aabb.ovov, (3, 4, 0, 2), (3, 1, 4), optimize=True) + tmp185 = v.bbbb.ooov.copy() * -1 + tmp185 += v.bbbb.ovoo.transpose((0, 2, 3, 1)) + tmp103 = v.bbbb.ovov.transpose((0, 2, 3, 1)).copy() + tmp103 += v.bbbb.ovov.transpose((0, 2, 1, 3)) * -1 + tmp6 = einsum(tmp5, (0, 1, 2, 3), t1.aa, (0, 3), (1, 2), optimize=True) + tmp4 = einsum(v.aabb.ovov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1), optimize=True) + tmp19 = v.aaaa.ovov.transpose((0, 2, 3, 1)).copy() * -1 + tmp19 += v.aaaa.ovov.transpose((0, 2, 1, 3)) + tmp53 = v.aaaa.ooov.copy() * -1 + tmp53 += v.aaaa.ovoo.transpose((0, 2, 3, 1)) + tmp68 = einsum(r1.a, (0,), t1.aa, (1, 2), (0, 1, 2), optimize=True) + tmp68 += r2.aaa * 2 + r2new.bab = einsum(v.aabb.ovov, (0, 1, 2, 3), tmp68, (0, 4, 1), (2, 4, 3), optimize=True) + tmp23 = f.bb.ov.copy() + tmp23 += tmp8 + tmp23 += tmp22 * -1 + del tmp22 + r1new.b = einsum(tmp23, (0, 1), r2.bbb, (2, 0, 1), (2,), optimize=True) * 2 + tmp16 = einsum(r1.b, (0,), v.bbbb.ovov, (1, 2, 0, 3), (1, 2, 3), optimize=True) + r1new.b += einsum(t2.bbbb, (0, 1, 2, 3), tmp16, (1, 3, 2), (0,), optimize=True) * -2 + tmp197 = einsum(r2.aba, (0, 1, 2), v.aabb.ovvv, (0, 2, 3, 4), (1, 3, 4), optimize=True) + tmp198 = einsum(tmp125, (0, 1, 2), v.bbbb.ovvv, (0, 2, 3, 4), (1, 3, 4), optimize=True) + tmp186 = einsum(r1.b, (0,), tmp185, (0, 1, 2, 3), (1, 2, 3), optimize=True) + del tmp185 + tmp104 = einsum(r2.bbb, (0, 1, 2), tmp103, (1, 3, 4, 2), (0, 3, 4), optimize=True) * -1 + del tmp103 + tmp102 = einsum(r2.aba, (0, 1, 2), v.aabb.ovov, (0, 2, 3, 4), (1, 3, 4), optimize=True) + tmp109 = v.aaaa.ovov.transpose((0, 2, 3, 1)).copy() + tmp109 += v.aaaa.ovov.transpose((0, 2, 1, 3)) * -1 + tmp26 = einsum(t1.bb, (0, 1), v.bbbb.ovov, (2, 3, 0, 1), (2, 3), optimize=True) + tmp9 = v.bbbb.ovov.transpose((0, 2, 3, 1)).copy() * -1 + tmp9 += v.bbbb.ovov.transpose((0, 2, 1, 3)) + tmp11 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t1.aa, (2, 1), (0, 3), optimize=True) + tmp7 = f.aa.ov.copy() + tmp7 += tmp4 + tmp7 += tmp6 * -1 + del tmp6 + r1new.a = einsum(tmp7, (0, 1), r2.aaa, (2, 0, 1), (2,), optimize=True) * 2 + tmp0 = einsum(r1.a, (0,), v.aaaa.ovov, (1, 2, 0, 3), (1, 2, 3), optimize=True) + r1new.a += einsum(t2.aaaa, (0, 1, 2, 3), tmp0, (1, 3, 2), (0,), optimize=True) * -2 + tmp52 = einsum(r2.aaa, (0, 1, 2), tmp19, (1, 3, 4, 2), (0, 3, 4), optimize=True) * -1 + tmp54 = einsum(r1.a, (0,), tmp53, (1, 2, 0, 3), (1, 2, 3), optimize=True) + del tmp53 + tmp32 = einsum(v.aabb.ovov, (0, 1, 2, 3), r2.bab, (2, 4, 3), (4, 0, 1), optimize=True) * -1 + tmp69 = einsum(v.aaaa.ovvv, (0, 1, 2, 3), tmp68, (0, 4, 1), (4, 2, 3), optimize=True) + tmp67 = einsum(v.aabb.vvov, (0, 1, 2, 3), r2.bab, (2, 4, 3), (4, 0, 1), optimize=True) * -1 + tmp15 = einsum(v.aabb.ovov, (0, 1, 2, 3), r1.b, (2,), (0, 1, 3), optimize=True) + r1new.b += einsum(t2.abab, (0, 1, 2, 3), tmp15, (0, 2, 3), (1,), optimize=True) * -1 + tmp152 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 1, 4), (3, 4), optimize=True) + tmp153 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (0, 2, 4, 3), (4, 1), optimize=True) + tmp154 = einsum(tmp23, (0, 1), t1.bb, (0, 2), (2, 1), optimize=True) + tmp202 = einsum(t1.bb, (0, 1), tmp16, (2, 1, 3), (0, 2, 3), optimize=True) + tmp199 = tmp197.transpose((0, 2, 1)).copy() + del tmp197 + tmp199 += tmp198.transpose((0, 2, 1)) + del tmp198 + tmp187 = tmp102.copy() + tmp187 += tmp104 * 2 + tmp187 += tmp186 * -1 + del tmp186 + r2new.bbb = einsum(t2.bbbb, (0, 1, 2, 3), tmp187, (4, 1, 3), (4, 0, 2), optimize=True) * -2 + tmp132 = einsum(tmp23, (0, 1), t1.bb, (2, 1), (2, 0), optimize=True) + tmp131 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (4, 2, 1, 3), (4, 0), optimize=True) + tmp130 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 3), (1, 4), optimize=True) + tmp110 = einsum(tmp109, (0, 1, 2, 3), r2.aba, (0, 4, 3), (1, 4, 2), optimize=True) + del tmp109 + tmp107 = einsum(r1.b, (0,), v.aabb.ovoo, (1, 2, 3, 0), (1, 3, 2), optimize=True) + r2new.aba += tmp107 + tmp108 = einsum(r2.bbb, (0, 1, 2), v.aabb.ovov, (3, 4, 1, 2), (3, 0, 4), optimize=True) + tmp18 = r2.bbb.copy() * 2 + tmp18 += einsum(r1.b, (0,), t1.bb, (1, 2), (1, 0, 2), optimize=True) * -1 + r1new.b += einsum(tmp18, (0, 1, 2), v.bbbb.ooov, (3, 1, 0, 2), (3,), optimize=True) + tmp27 = f.bb.ov.copy() + tmp27 += tmp26 + del tmp26 + tmp17 = r2.aba.copy() + tmp17 += einsum(t1.aa, (0, 1), r1.b, (2,), (0, 2, 1), optimize=True) * -1 + r1new.b += einsum(tmp17, (0, 1, 2), v.aabb.ovoo, (0, 2, 3, 1), (3,), optimize=True) + tmp156 = v.bbbb.ooov.copy() + tmp156 += v.bbbb.ovoo.transpose((0, 2, 3, 1)) * -1 + tmp113 = v.bbbb.ooov.copy() + tmp113 += v.bbbb.ovoo.transpose((0, 2, 3, 1)) * -1 + tmp128 = tmp16.copy() * -1 + tmp128 += tmp16.transpose((0, 2, 1)) + tmp193 = einsum(r2.bbb, (0, 1, 2), v.bbbb.ovvv, (1, 3, 4, 2), (0, 3, 4), optimize=True) + tmp37 = einsum(r2.bab, (0, 1, 2), tmp9, (0, 3, 4, 2), (1, 3, 4), optimize=True) * -1 + tmp35 = einsum(v.aabb.ooov, (0, 1, 2, 3), r1.a, (1,), (0, 2, 3), optimize=True) + r2new.bab += tmp35.transpose((1, 0, 2)) + tmp36 = einsum(v.aabb.ovov, (0, 1, 2, 3), r2.aaa, (4, 0, 1), (4, 2, 3), optimize=True) + tmp12 = f.aa.ov.copy() + tmp12 += tmp11 * -1 + del tmp11 + tmp3 = r2.aaa.copy() * 2 + tmp3 += einsum(t1.aa, (0, 1), r1.a, (2,), (0, 2, 1), optimize=True) * -1 + r1new.a += einsum(tmp3, (0, 1, 2), v.aaaa.ooov, (3, 0, 1, 2), (3,), optimize=True) * -1 + tmp2 = r2.bab.transpose((1, 0, 2)).copy() * -1 + tmp2 += einsum(r1.a, (0,), t1.bb, (1, 2), (0, 1, 2), optimize=True) + r1new.a += einsum(v.aabb.ooov, (0, 1, 2, 3), tmp2, (1, 2, 3), (0,), optimize=True) * -1 + tmp150 = einsum(v.aabb.ovov, (0, 1, 2, 3), r2.bab, (4, 0, 3), (4, 2, 1), optimize=True) * -1 + tmp149 = einsum(r1.a, (0,), v.aabb.ovoo, (0, 1, 2, 3), (2, 3, 1), optimize=True) + tmp1 = einsum(r1.a, (0,), v.aabb.ovov, (0, 1, 2, 3), (2, 1, 3), optimize=True) + r1new.a += einsum(t2.abab, (0, 1, 2, 3), tmp1, (1, 2, 3), (0,), optimize=True) * -1 + tmp46 = v.aaaa.ooov.copy() * -1 + tmp46 += v.aaaa.ooov.transpose((0, 2, 1, 3)) + tmp117 = einsum(v.aabb.ooov, (0, 1, 2, 3), r1.b, (2,), (0, 1, 3), optimize=True) + tmp118 = einsum(r2.aba, (0, 1, 2), v.aabb.ovov, (3, 2, 1, 4), (0, 3, 4), optimize=True) + tmp60 = v.aaaa.ooov.copy() * -1 + tmp60 += v.aaaa.ooov.transpose((0, 2, 1, 3)) + tmp74 = einsum(r2.aaa, (0, 1, 2), v.aaaa.ovvv, (1, 3, 4, 2), (0, 3, 4), optimize=True) + tmp94 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 2, 1, 3), (0, 4), optimize=True) + tmp95 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 1, 3), (0, 4), optimize=True) + tmp96 = einsum(t1.aa, (0, 1), tmp7, (2, 1), (0, 2), optimize=True) * 0.5 + tmp90 = tmp0.copy() * -1 + tmp90 += tmp0.transpose((0, 2, 1)) + tmp77 = einsum(tmp0, (0, 1, 2), t1.aa, (3, 1), (3, 0, 2), optimize=True) + tmp55 = tmp32.copy() + tmp55 += tmp52 * 2 + tmp55 += tmp54.transpose((1, 0, 2)) * -1 + del tmp54 + r2new.aaa = einsum(t2.aaaa, (0, 1, 2, 3), tmp55, (4, 1, 3), (4, 0, 2), optimize=True) * 2 + tmp40 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (0, 3, 1, 4), (2, 4), optimize=True) * -1 + tmp42 = einsum(t1.aa, (0, 1), tmp7, (0, 2), (1, 2), optimize=True) + tmp41 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 4, 1, 3), (2, 4), optimize=True) + tmp70 = tmp67.transpose((0, 2, 1)).copy() + del tmp67 + tmp70 += tmp69.transpose((0, 2, 1)) * -1 + del tmp69 + tmp127 = einsum(tmp15, (0, 1, 2), t1.bb, (3, 2), (0, 3, 1), optimize=True) + r2new.aba += einsum(tmp127, (0, 1, 2), t2.aaaa, (3, 0, 4, 2), (3, 1, 4), optimize=True) * 2 + tmp162 = einsum(t1.aa, (0, 1), v.aabb.ovvv, (0, 1, 2, 3), (2, 3), optimize=True) + tmp173 = v.bbbb.ovvv.copy() * -1 + tmp173 += v.bbbb.ovvv.transpose((0, 2, 3, 1)) + tmp155 = tmp152.transpose((1, 0)).copy() + del tmp152 + tmp155 += tmp153.transpose((1, 0)) * 2 + del tmp153 + tmp155 += tmp154.transpose((1, 0)) + del tmp154 + r2new.bab += einsum(tmp155, (0, 1), r2.bab, (2, 3, 0), (2, 3, 1), optimize=True) * -1 + tmp203 = einsum(t1.bb, (0, 1), tmp202, (2, 3, 1), (2, 0, 3), optimize=True) + del tmp202 + tmp196 = einsum(v.bbbb.ovov, (0, 1, 2, 3), r2.bbb, (4, 2, 3), (4, 0, 1), optimize=True) + tmp200 = einsum(t1.bb, (0, 1), tmp199, (2, 1, 3), (2, 0, 3), optimize=True) + del tmp199 + tmp216 = einsum(tmp187, (0, 1, 2), t1.bb, (3, 2), (0, 1, 3), optimize=True) + del tmp187 + tmp214 = tmp130.copy() + tmp214 += tmp131 * 2 + tmp214 += tmp132 + tmp111 = tmp107.copy() * -1 + del tmp107 + tmp111 += tmp108 * 2 + del tmp108 + tmp111 += tmp110 * -1 + del tmp110 + r2new.aba += einsum(tmp111, (0, 1, 2), t2.aaaa, (3, 0, 4, 2), (3, 1, 4), optimize=True) * -2 + tmp25 = einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp18, (0, 2, 3), (1,), optimize=True) + del tmp18 + tmp28 = einsum(r1.b, (0,), tmp27, (0, 1), (1,), optimize=True) + del tmp27 + tmp24 = einsum(v.aabb.ovov, (0, 1, 2, 3), tmp17, (0, 2, 1), (3,), optimize=True) + tmp181 = einsum(v.bbbb.oooo, (0, 1, 2, 3), r1.b, (3,), (0, 1, 2), optimize=True) + tmp183 = v.bbbb.ooov.copy() * -1 + tmp183 += v.bbbb.ooov.transpose((0, 2, 1, 3)) + tmp182 = einsum(r2.aba, (0, 1, 2), v.aabb.ovoo, (0, 2, 3, 4), (1, 3, 4), optimize=True) + tmp157 = einsum(t1.bb, (0, 1), tmp156, (0, 2, 3, 1), (2, 3), optimize=True) + tmp112 = einsum(t1.aa, (0, 1), v.aabb.ovoo, (0, 1, 2, 3), (2, 3), optimize=True) + tmp208 = einsum(v.bbbb.ooov, (0, 1, 2, 3), t1.bb, (4, 3), (4, 0, 1, 2), optimize=True) + tmp188 = v.bbbb.ooov.copy() * -1 + tmp188 += v.bbbb.ooov.transpose((0, 2, 1, 3)) + tmp114 = einsum(t1.bb, (0, 1), tmp113, (0, 2, 3, 1), (2, 3), optimize=True) + del tmp113 + tmp129 = einsum(tmp128, (0, 1, 2), t1.bb, (3, 2), (3, 0, 1), optimize=True) + del tmp128 + r2new.aba += einsum(tmp129, (0, 1, 2), t2.abab, (3, 1, 4, 2), (3, 0, 4), optimize=True) * -1 + tmp177 = v.bbbb.ooov.copy() * -1 + tmp177 += v.bbbb.ovoo.transpose((0, 2, 3, 1)) + tmp176 = v.bbbb.ovov.transpose((0, 2, 3, 1)).copy() + tmp176 += v.bbbb.ovov.transpose((0, 2, 1, 3)) * -1 + tmp192 = einsum(t1.bb, (0, 1), tmp16, (2, 3, 1), (0, 2, 3), optimize=True) + del tmp16 + tmp194 = einsum(t1.bb, (0, 1), tmp193, (2, 1, 3), (2, 0, 3), optimize=True) + del tmp193 + tmp205 = r2.bbb.copy() + tmp205 += einsum(r1.b, (0,), t1.bb, (1, 2), (1, 0, 2), optimize=True) * -1 + tmp190 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t1.bb, (4, 3), (4, 0, 2, 1), optimize=True) + tmp38 = tmp35.copy() * -1 + del tmp35 + tmp38 += tmp36 * 2 + del tmp36 + tmp38 += tmp37 * -1 + del tmp37 + r2new.bab += einsum(tmp38, (0, 1, 2), t2.bbbb, (3, 1, 4, 2), (3, 0, 4), optimize=True) * -2 + tmp58 = einsum(r1.a, (0,), tmp12, (0, 1), (1,), optimize=True) * 0.5 + tmp56 = einsum(v.aaaa.ovov, (0, 1, 2, 3), tmp3, (0, 2, 1), (3,), optimize=True) * 0.5 + tmp57 = einsum(v.aabb.ovov, (0, 1, 2, 3), tmp2, (0, 2, 3), (1,), optimize=True) * 0.5 + tmp166 = tmp149.transpose((1, 0, 2)).copy() + tmp166 += tmp150 + tmp168 = einsum(tmp1, (0, 1, 2), t1.bb, (3, 2), (3, 0, 1), optimize=True) + r2new.bab += einsum(tmp168, (0, 1, 2), t2.abab, (3, 1, 2, 4), (0, 3, 4), optimize=True) * -1 + tmp47 = einsum(t1.aa, (0, 1), tmp46, (2, 3, 0, 1), (2, 3), optimize=True) + tmp45 = einsum(v.aabb.ooov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1), optimize=True) + tmp163 = v.bbbb.ovvv.copy() * -1 + tmp163 += v.bbbb.ovvv.transpose((0, 2, 3, 1)) + tmp141 = einsum(v.aabb.ovov, (0, 1, 2, 3), t1.bb, (4, 3), (0, 4, 2, 1), optimize=True) + tmp82 = einsum(v.aabb.vvov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1), optimize=True) + tmp123 = v.aaaa.ovvv.copy() + tmp123 += v.aaaa.ovvv.transpose((0, 2, 1, 3)) * -1 + tmp134 = tmp117.transpose((1, 0, 2)).copy() + tmp134 += tmp118 * -1 + tmp144 = v.aaaa.ovvv.copy() * -1 + tmp144 += v.aaaa.ovvv.transpose((0, 2, 1, 3)) + tmp105 = v.bbbb.ooov.copy() + tmp105 += v.bbbb.ooov.transpose((0, 2, 1, 3)) * -1 + tmp61 = einsum(t1.aa, (0, 1), tmp60, (2, 3, 0, 1), (2, 3), optimize=True) + tmp73 = einsum(tmp0, (0, 1, 2), t1.aa, (3, 2), (3, 0, 1), optimize=True) + del tmp0 + tmp75 = einsum(tmp74, (0, 1, 2), t1.aa, (3, 1), (0, 3, 2), optimize=True) + del tmp74 + tmp80 = r2.aaa.copy() + tmp80 += einsum(t1.aa, (0, 1), r1.a, (2,), (0, 2, 1), optimize=True) * -1 + tmp97 = tmp94.copy() + tmp97 += tmp95 * 0.5 + tmp97 += tmp96 + tmp91 = einsum(tmp90, (0, 1, 2), t1.aa, (3, 2), (3, 0, 1), optimize=True) + del tmp90 + r2new.bab += einsum(tmp91, (0, 1, 2), t2.abab, (1, 3, 2, 4), (3, 0, 4), optimize=True) * -1 + tmp33 = v.aaaa.ooov.copy() * -1 + tmp33 += v.aaaa.ovoo.transpose((0, 2, 3, 1)) + tmp78 = einsum(t1.aa, (0, 1), tmp77, (2, 3, 1), (2, 0, 3), optimize=True) + del tmp77 + tmp88 = einsum(t1.aa, (0, 1), v.aaaa.ooov, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) + tmp99 = einsum(t1.aa, (0, 1), tmp55, (2, 3, 1), (0, 2, 3), optimize=True) + del tmp55 + tmp43 = tmp40.transpose((1, 0)).copy() * 2 + del tmp40 + tmp43 += tmp41.transpose((1, 0)) + del tmp41 + tmp43 += tmp42.transpose((1, 0)) + del tmp42 + r2new.aba += einsum(tmp43, (0, 1), r2.aba, (2, 3, 0), (2, 3, 1), optimize=True) * -1 + tmp86 = einsum(t1.aa, (0, 1), tmp1, (2, 1, 3), (0, 2, 3), optimize=True) + del tmp1 + r2new.bab += einsum(tmp86, (0, 1, 2), t2.bbbb, (3, 1, 4, 2), (3, 0, 4), optimize=True) * 2 + tmp71 = einsum(tmp70, (0, 1, 2), t1.aa, (3, 1), (3, 0, 2), optimize=True) + del tmp70 + tmp66 = einsum(v.aaaa.ovov, (0, 1, 2, 3), r2.aaa, (4, 2, 3), (4, 0, 1), optimize=True) + tmp50 = einsum(v.aabb.ooov, (0, 1, 2, 3), r2.bab, (2, 4, 3), (4, 0, 1), optimize=True) * -1 + tmp49 = einsum(r1.a, (0,), v.aaaa.oooo, (1, 2, 3, 0), (1, 2, 3), optimize=True) + tmp64 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 2, 1), optimize=True) + tmp83 = v.aaaa.ovvv.copy() + tmp83 += v.aaaa.ovvv.transpose((0, 2, 1, 3)) * -1 + tmp213 = einsum(v.bbbb.oovv, (0, 1, 2, 3), tmp125, (1, 4, 3), (4, 0, 2), optimize=True) + r2new.bbb += tmp213 + r2new.bbb += tmp213.transpose((1, 0, 2)) * -1 + del tmp213 + tmp210 = einsum(tmp127, (0, 1, 2), t2.abab, (0, 3, 2, 4), (1, 3, 4), optimize=True) + r2new.bbb += tmp210 * -1 + r2new.bbb += tmp210.transpose((1, 0, 2)) + del tmp210 + tmp207 = f.bb.vv.copy() + tmp207 += tmp162.transpose((1, 0)) + tmp207 += einsum(tmp173, (0, 1, 2, 3), t1.bb, (0, 1), (3, 2), optimize=True) * -1 + r2new.bbb += einsum(r2.bbb, (0, 1, 2), tmp207, (2, 3), (0, 1, 3), optimize=True) * 2 + del tmp207 + tmp180 = einsum(tmp155, (0, 1), r2.bbb, (2, 3, 0), (2, 3, 1), optimize=True) + del tmp155 + r2new.bbb += tmp180.transpose((1, 0, 2)) + r2new.bbb += tmp180.transpose((1, 0, 2)) + del tmp180 + tmp204 = einsum(t1.bb, (0, 1), tmp203, (2, 3, 0), (3, 2, 1), optimize=True) + del tmp203 + r2new.bbb += tmp204.transpose((1, 0, 2)) * -1 + r2new.bbb += tmp204 + del tmp204 + tmp201 = tmp102.copy() + tmp201 += tmp196 * -2 + del tmp196 + tmp201 += tmp200 + del tmp200 + r2new.bbb += tmp201.transpose((1, 0, 2)) + r2new.bbb += tmp201 * -1 + del tmp201 + tmp217 = einsum(t1.bb, (0, 1), tmp216, (2, 0, 3), (3, 2, 1), optimize=True) + del tmp216 + r2new.bbb += tmp217 * -1 + r2new.bbb += tmp217.transpose((1, 0, 2)) + del tmp217 + tmp215 = einsum(r2.bbb, (0, 1, 2), tmp214, (3, 1), (3, 0, 2), optimize=True) * -2 + del tmp214 + r2new.bbb += tmp215 * -1 + r2new.bbb += tmp215.transpose((1, 0, 2)) + del tmp215 + tmp179 = einsum(t2.abab, (0, 1, 2, 3), tmp111, (0, 4, 2), (1, 4, 3), optimize=True) + r2new.bbb += tmp179.transpose((1, 0, 2)) + r2new.bbb += tmp179 * -1 + del tmp179 + tmp29 = tmp24.copy() * -1 + del tmp24 + tmp29 += tmp25 + del tmp25 + tmp29 += tmp28 + del tmp28 + r2new.bbb += einsum(t2.bbbb, (0, 1, 2, 3), tmp29, (3,), (0, 1, 2), optimize=True) * 2 + r2new.aba += einsum(t2.abab, (0, 1, 2, 3), tmp29, (3,), (0, 1, 2), optimize=True) + r1new.b += einsum(t1.bb, (0, 1), tmp29, (1,), (0,), optimize=True) * -1 + del tmp29 + tmp175 = einsum(r2.bbb, (0, 1, 2), v.bbbb.oooo, (3, 1, 4, 0), (3, 4, 2), optimize=True) * -1 + r2new.bbb += tmp175.transpose((1, 0, 2)) * -1 + r2new.bbb += tmp175.transpose((1, 0, 2)) * -1 + del tmp175 + tmp211 = einsum(r1.b, (0,), v.bbbb.ooov, (1, 0, 2, 3), (1, 2, 3), optimize=True) + r2new.bbb += tmp211.transpose((1, 0, 2)) + r2new.bbb += tmp211 * -1 + del tmp211 + tmp184 = tmp181.transpose((1, 0, 2)).copy() + tmp184 += tmp182.transpose((2, 0, 1)) * -1 + tmp184 += einsum(r2.bbb, (0, 1, 2), tmp183, (3, 4, 1, 2), (4, 0, 3), optimize=True) * -2 + del tmp183 + r2new.bbb += einsum(t1.bb, (0, 1), tmp184, (0, 2, 3), (2, 3, 1), optimize=True) * -1 + del tmp184 + tmp158 = f.bb.oo.copy() + tmp158 += tmp112.transpose((1, 0)) + tmp158 += tmp157.transpose((1, 0)) * -1 + del tmp157 + r2new.bbb += einsum(r2.bbb, (0, 1, 2), tmp158, (1, 3), (3, 0, 2), optimize=True) * 2 + r2new.bab += einsum(tmp158, (0, 1), r2.bab, (0, 2, 3), (1, 2, 3), optimize=True) * -1 + del tmp158 + tmp209 = einsum(r2.bbb, (0, 1, 2), tmp208, (3, 4, 1, 0), (3, 4, 2), optimize=True) * -1 + del tmp208 + r2new.bbb += tmp209 * -2 + r2new.bbb += tmp209.transpose((1, 0, 2)) * 2 + del tmp209 + tmp189 = tmp181.transpose((1, 0, 2)).copy() + del tmp181 + tmp189 += tmp182.transpose((2, 0, 1)) * -1 + del tmp182 + tmp189 += einsum(r2.bbb, (0, 1, 2), tmp188, (3, 4, 1, 2), (4, 0, 3), optimize=True) * -2 + del tmp188 + r2new.bbb += einsum(tmp189, (0, 1, 2), t1.bb, (0, 3), (2, 1, 3), optimize=True) + del tmp189 + tmp115 = f.bb.oo.copy() + tmp115 += tmp112.transpose((1, 0)) + del tmp112 + tmp115 += tmp114.transpose((1, 0)) * -1 + del tmp114 + r2new.bbb += einsum(r2.bbb, (0, 1, 2), tmp115, (1, 3), (0, 3, 2), optimize=True) * -2 + r2new.aba += einsum(tmp115, (0, 1), r2.aba, (2, 0, 3), (2, 1, 3), optimize=True) * -1 + del tmp115 + tmp212 = einsum(t2.bbbb, (0, 1, 2, 3), tmp129, (4, 1, 3), (0, 4, 2), optimize=True) * -1 + del tmp129 + r2new.bbb += tmp212.transpose((1, 0, 2)) * -2 + r2new.bbb += tmp212 * 2 + del tmp212 + tmp178 = tmp102.copy() + tmp178 += einsum(r2.bbb, (0, 1, 2), tmp176, (1, 3, 4, 2), (0, 3, 4), optimize=True) * -2 + del tmp176 + tmp178 += einsum(r1.b, (0,), tmp177, (0, 1, 2, 3), (1, 2, 3), optimize=True) * -1 + del tmp177 + r2new.bbb += einsum(tmp178, (0, 1, 2), t2.bbbb, (3, 1, 4, 2), (3, 0, 4), optimize=True) * 2 + del tmp178 + tmp195 = tmp192.copy() + del tmp192 + tmp195 += tmp194 * 2 + del tmp194 + r2new.bbb += tmp195.transpose((1, 0, 2)) + r2new.bbb += tmp195 * -1 + del tmp195 + tmp206 = einsum(v.bbbb.ovvv, (0, 1, 2, 3), r1.b, (0,), (1, 2, 3), optimize=True) * -1 + tmp206 += einsum(tmp205, (0, 1, 2), v.bbbb.ovov, (0, 3, 1, 4), (4, 3, 2), optimize=True) * -1 + del tmp205 + r2new.bbb += einsum(t2.bbbb, (0, 1, 2, 3), tmp206, (2, 3, 4), (0, 1, 4), optimize=True) * 2 + del tmp206 + tmp191 = einsum(t1.bb, (0, 1), tmp190, (2, 3, 4, 1), (2, 0, 4, 3), optimize=True) + del tmp190 + r2new.bbb += einsum(tmp191, (0, 1, 2, 3), r2.bbb, (2, 3, 4), (1, 0, 4), optimize=True) * -2 + del tmp191 + tmp170 = tmp130.transpose((1, 0)).copy() * 0.5 + tmp170 += tmp131.transpose((1, 0)) + tmp170 += einsum(tmp23, (0, 1), t1.bb, (2, 1), (0, 2), optimize=True) * 0.5 + del tmp23 + r2new.bab += einsum(r2.bab, (0, 1, 2), tmp170, (0, 3), (3, 1, 2), optimize=True) * -2 + del tmp170 + tmp146 = einsum(v.aabb.ooov, (0, 1, 2, 3), r2.bab, (4, 1, 3), (0, 4, 2), optimize=True) * -1 + r2new.bab += einsum(tmp146, (0, 1, 2), t1.bb, (2, 3), (1, 0, 3), optimize=True) * -1 + del tmp146 + tmp171 = einsum(tmp38, (0, 1, 2), t1.bb, (3, 2), (0, 3, 1), optimize=True) + r2new.bab += einsum(tmp171, (0, 1, 2), t1.bb, (2, 3), (1, 0, 3), optimize=True) + del tmp171 + tmp147 = tmp32.transpose((1, 0, 2)).copy() + tmp147 += tmp52.transpose((1, 0, 2)) * 2 + del tmp52 + tmp147 += einsum(r1.a, (0,), tmp60, (1, 2, 0, 3), (2, 1, 3), optimize=True) * -1 + r2new.bab += einsum(t2.abab, (0, 1, 2, 3), tmp147, (0, 4, 2), (1, 4, 3), optimize=True) * -1 + del tmp147 + tmp165 = tmp94.transpose((1, 0)).copy() + tmp165 += tmp95.transpose((1, 0)) * 0.5 + tmp165 += tmp96.transpose((1, 0)) + del tmp96 + r2new.bab += einsum(tmp165, (0, 1), r2.bab, (2, 0, 3), (2, 1, 3), optimize=True) * -2 + del tmp165 + tmp59 = tmp56.copy() * -1 + del tmp56 + tmp59 += tmp57 + del tmp57 + tmp59 += tmp58 + del tmp58 + r2new.bab += einsum(t2.abab, (0, 1, 2, 3), tmp59, (2,), (1, 0, 3), optimize=True) * 2 + r2new.aaa += einsum(tmp59, (0,), t2.aaaa, (1, 2, 3, 0), (1, 2, 3), optimize=True) * 4 + del tmp59 + tmp161 = einsum(r1.a, (0,), v.aabb.ovvv, (0, 1, 2, 3), (1, 2, 3), optimize=True) * -1 + tmp161 += einsum(tmp2, (0, 1, 2), v.aabb.ovov, (0, 3, 1, 4), (3, 4, 2), optimize=True) + r2new.bab += einsum(tmp161, (0, 1, 2), t2.abab, (3, 4, 0, 1), (4, 3, 2), optimize=True) * -1 + del tmp161 + tmp174 = einsum(tmp173, (0, 1, 2, 3), r2.bab, (0, 4, 1), (4, 3, 2), optimize=True) + del tmp173 + tmp174 += einsum(v.aabb.ovvv, (0, 1, 2, 3), tmp68, (0, 4, 1), (4, 2, 3), optimize=True) * -1 + r2new.bab += einsum(t1.bb, (0, 1), tmp174, (2, 1, 3), (0, 2, 3), optimize=True) * -1 + del tmp174 + tmp160 = einsum(v.aabb.ovvv, (0, 1, 2, 3), r2.bab, (4, 0, 3), (4, 1, 2), optimize=True) * -1 + r2new.bab += einsum(tmp160, (0, 1, 2), t1.aa, (3, 1), (0, 3, 2), optimize=True) + del tmp160 + tmp167 = einsum(tmp166, (0, 1, 2), t1.aa, (3, 2), (3, 1, 0), optimize=True) + del tmp166 + r2new.bab += einsum(tmp167, (0, 1, 2), t1.bb, (1, 3), (2, 0, 3), optimize=True) * -1 + del tmp167 + tmp172 = einsum(t1.aa, (0, 1), tmp168, (2, 3, 1), (0, 2, 3), optimize=True) + del tmp168 + r2new.bab += einsum(t1.bb, (0, 1), tmp172, (2, 3, 0), (3, 2, 1), optimize=True) * -1 + del tmp172 + tmp48 = f.aa.oo.copy() + tmp48 += tmp45.transpose((1, 0)) + tmp48 += tmp47.transpose((1, 0)) * -1 + del tmp47 + r2new.bab += einsum(r2.bab, (0, 1, 2), tmp48, (1, 3), (0, 3, 2), optimize=True) * -1 + r2new.aaa += einsum(tmp48, (0, 1), r2.aaa, (2, 0, 3), (2, 1, 3), optimize=True) * -2 + del tmp48 + tmp164 = f.bb.vv.copy() + tmp164 += tmp162.transpose((1, 0)) + del tmp162 + tmp164 += einsum(tmp163, (0, 1, 2, 3), t1.bb, (0, 1), (3, 2), optimize=True) * -1 + del tmp163 + r2new.bab += einsum(r2.bab, (0, 1, 2), tmp164, (2, 3), (0, 1, 3), optimize=True) + del tmp164 + tmp169 = r2.bab.transpose((1, 0, 2)).copy() * -1 + tmp169 += einsum(r1.a, (0,), t1.bb, (1, 2), (0, 1, 2), optimize=True) + r2new.bab += einsum(v.aabb.oovv, (0, 1, 2, 3), tmp169, (1, 4, 3), (4, 0, 2), optimize=True) + del tmp169 + tmp136 = einsum(v.aabb.ovoo, (0, 1, 2, 3), t1.aa, (4, 1), (4, 0, 2, 3), optimize=True) + r2new.bab += einsum(r2.bab, (0, 1, 2), tmp136, (3, 1, 4, 0), (4, 3, 2), optimize=True) + r2new.aba += einsum(r2.aba, (0, 1, 2), tmp136, (3, 0, 4, 1), (3, 4, 2), optimize=True) + del tmp136 + tmp142 = einsum(t1.aa, (0, 1), tmp141, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) + del tmp141 + r2new.bab += einsum(r2.bab, (0, 1, 2), tmp142, (3, 1, 4, 0), (4, 3, 2), optimize=True) + r2new.aba += einsum(r2.aba, (0, 1, 2), tmp142, (3, 0, 4, 1), (3, 4, 2), optimize=True) + del tmp142 + tmp159 = einsum(r2.aaa, (0, 1, 2), v.aabb.ovoo, (1, 2, 3, 4), (0, 3, 4), optimize=True) * 2 + tmp159 += einsum(r2.bab, (0, 1, 2), tmp156, (0, 3, 4, 2), (1, 4, 3), optimize=True) + del tmp156 + r2new.bab += einsum(t1.bb, (0, 1), tmp159, (2, 0, 3), (3, 2, 1), optimize=True) + del tmp159 + tmp151 = tmp149.transpose((1, 0, 2)).copy() + del tmp149 + tmp151 += tmp150.transpose((1, 0, 2)) + del tmp150 + r2new.bab += einsum(t2.abab, (0, 1, 2, 3), tmp151, (1, 4, 2), (4, 0, 3), optimize=True) * -1 + del tmp151 + tmp126 = einsum(v.aabb.ooov, (0, 1, 2, 3), t1.bb, (4, 3), (0, 1, 4, 2), optimize=True) + r2new.bab += einsum(r2.bab, (0, 1, 2), tmp126, (3, 1, 4, 0), (4, 3, 2), optimize=True) + r2new.aba += einsum(tmp126, (0, 1, 2, 3), r2.aba, (1, 3, 4), (0, 2, 4), optimize=True) + del tmp126 + tmp148 = r2.bab.transpose((1, 0, 2)).copy() * -1 + tmp148 += einsum(r1.a, (0,), t1.bb, (1, 2), (0, 1, 2), optimize=True) * 2 + r2new.bab += einsum(tmp148, (0, 1, 2), v.aabb.oooo, (3, 0, 4, 1), (4, 3, 2), optimize=True) * -0.5 + del tmp148 + tmp122 = einsum(v.aabb.vvov, (0, 1, 2, 3), r1.b, (2,), (0, 1, 3), optimize=True) + tmp122 += einsum(tmp17, (0, 1, 2), v.aabb.ovov, (0, 3, 1, 4), (3, 2, 4), optimize=True) + del tmp17 + r2new.aba += einsum(tmp122, (0, 1, 2), t2.abab, (3, 4, 0, 2), (3, 4, 1), optimize=True) + del tmp122 + tmp101 = einsum(v.aabb.ovoo, (0, 1, 2, 3), r2.aba, (4, 3, 1), (4, 0, 2), optimize=True) + r2new.aba += einsum(t1.aa, (0, 1), tmp101, (2, 0, 3), (2, 3, 1), optimize=True) + del tmp101 + tmp124 = f.aa.vv.copy() + tmp124 += tmp82.transpose((1, 0)) + tmp124 += einsum(t1.aa, (0, 1), tmp123, (0, 2, 1, 3), (2, 3), optimize=True) * -1 + del tmp123 + r2new.aba += einsum(tmp124, (0, 1), r2.aba, (2, 3, 0), (2, 3, 1), optimize=True) + del tmp124 + tmp120 = einsum(r2.bbb, (0, 1, 2), v.aabb.ooov, (3, 4, 1, 2), (3, 4, 0), optimize=True) * 2 + tmp120 += einsum(r2.aba, (0, 1, 2), tmp60, (3, 4, 0, 2), (4, 3, 1), optimize=True) + r2new.aba += einsum(t1.aa, (0, 1), tmp120, (0, 2, 3), (2, 3, 1), optimize=True) + del tmp120 + tmp135 = einsum(tmp134, (0, 1, 2), t1.bb, (3, 2), (1, 0, 3), optimize=True) + del tmp134 + r2new.aba += einsum(t1.aa, (0, 1), tmp135, (0, 2, 3), (2, 3, 1), optimize=True) * -1 + del tmp135 + tmp140 = einsum(t1.aa, (0, 1), tmp111, (2, 3, 1), (0, 2, 3), optimize=True) + del tmp111 + r2new.aba += einsum(t1.aa, (0, 1), tmp140, (2, 0, 3), (2, 3, 1), optimize=True) + del tmp140 + tmp145 = einsum(tmp144, (0, 1, 2, 3), r2.aba, (0, 4, 2), (4, 1, 3), optimize=True) * -1 + del tmp144 + tmp145 += einsum(tmp125, (0, 1, 2), v.aabb.vvov, (3, 4, 0, 2), (1, 3, 4), optimize=True) * -1 + del tmp125 + r2new.aba += einsum(tmp145, (0, 1, 2), t1.aa, (3, 1), (3, 0, 2), optimize=True) * -1 + del tmp145 + tmp116 = einsum(t1.aa, (0, 1), r1.b, (2,), (0, 2, 1), optimize=True) * 2 + tmp116 += r2.aba * -1 + r2new.aba += einsum(tmp116, (0, 1, 2), v.aabb.oooo, (3, 0, 4, 1), (3, 4, 2), optimize=True) * -0.5 + del tmp116 + tmp106 = tmp102.transpose((1, 0, 2)).copy() + del tmp102 + tmp106 += tmp104.transpose((1, 0, 2)) * 2 + del tmp104 + tmp106 += einsum(r1.b, (0,), tmp105, (1, 2, 0, 3), (2, 1, 3), optimize=True) * -1 + del tmp105 + r2new.aba += einsum(tmp106, (0, 1, 2), t2.abab, (3, 0, 4, 2), (3, 1, 4), optimize=True) + del tmp106 + tmp62 = f.aa.oo.copy() + tmp62 += tmp45.transpose((1, 0)) + del tmp45 + tmp62 += tmp61.transpose((1, 0)) * -1 + del tmp61 + r2new.aba += einsum(tmp62, (0, 1), r2.aba, (0, 2, 3), (1, 2, 3), optimize=True) * -1 + r2new.aaa += einsum(r2.aaa, (0, 1, 2), tmp62, (1, 3), (3, 0, 2), optimize=True) * 2 + del tmp62 + tmp137 = einsum(t1.aa, (0, 1), tmp15, (2, 1, 3), (0, 2, 3), optimize=True) + del tmp15 + r2new.aba += einsum(tmp137, (0, 1, 2), t2.abab, (1, 3, 4, 2), (0, 3, 4), optimize=True) * -1 + del tmp137 + tmp139 = tmp94.transpose((1, 0)).copy() * 2 + del tmp94 + tmp139 += tmp95.transpose((1, 0)) + del tmp95 + tmp139 += einsum(t1.aa, (0, 1), tmp7, (2, 1), (2, 0), optimize=True) + del tmp7 + r2new.aba += einsum(r2.aba, (0, 1, 2), tmp139, (0, 3), (3, 1, 2), optimize=True) * -1 + del tmp139 + tmp143 = einsum(t1.aa, (0, 1), tmp127, (2, 3, 1), (0, 2, 3), optimize=True) + del tmp127 + r2new.aba += einsum(t1.aa, (0, 1), tmp143, (2, 0, 3), (2, 3, 1), optimize=True) * -1 + del tmp143 + tmp138 = r2.aba.copy() + tmp138 += einsum(t1.aa, (0, 1), r1.b, (2,), (0, 2, 1), optimize=True) * -1 + r2new.aba += einsum(tmp138, (0, 1, 2), v.aabb.vvoo, (3, 2, 4, 1), (0, 4, 3), optimize=True) * -1 + del tmp138 + tmp121 = einsum(r2.aba, (0, 1, 2), v.aabb.vvov, (3, 2, 1, 4), (0, 3, 4), optimize=True) + r2new.aba += einsum(tmp121, (0, 1, 2), t1.bb, (3, 2), (0, 3, 1), optimize=True) * -1 + del tmp121 + tmp133 = tmp130.transpose((1, 0)).copy() + del tmp130 + tmp133 += tmp131.transpose((1, 0)) * 2 + del tmp131 + tmp133 += tmp132.transpose((1, 0)) + del tmp132 + r2new.aba += einsum(tmp133, (0, 1), r2.aba, (2, 0, 3), (2, 1, 3), optimize=True) * -1 + del tmp133 + tmp119 = tmp117.transpose((1, 0, 2)).copy() + del tmp117 + tmp119 += tmp118.transpose((1, 0, 2)) * -1 + del tmp118 + r2new.aba += einsum(t2.abab, (0, 1, 2, 3), tmp119, (0, 4, 3), (4, 1, 2), optimize=True) * -1 + del tmp119 + tmp76 = tmp73.copy() + del tmp73 + tmp76 += tmp75 * 2 + del tmp75 + r2new.aaa += tmp76.transpose((1, 0, 2)) + r2new.aaa += tmp76 * -1 + del tmp76 + tmp81 = einsum(r1.a, (0,), v.aaaa.ovvv, (0, 1, 2, 3), (1, 2, 3), optimize=True) + tmp81 += einsum(v.aaaa.ovov, (0, 1, 2, 3), tmp80, (0, 2, 4), (3, 1, 4), optimize=True) + del tmp80 + r2new.aaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp81, (3, 2, 4), (0, 1, 4), optimize=True) * 2 + del tmp81 + tmp98 = einsum(tmp97, (0, 1), r2.aaa, (2, 1, 3), (2, 0, 3), optimize=True) * -4 + del tmp97 + r2new.aaa += tmp98.transpose((1, 0, 2)) * -1 + r2new.aaa += tmp98 + del tmp98 + tmp92 = einsum(tmp91, (0, 1, 2), t2.aaaa, (3, 1, 4, 2), (3, 0, 4), optimize=True) * -1 + del tmp91 + r2new.aaa += tmp92.transpose((1, 0, 2)) * -2 + r2new.aaa += tmp92 * 2 + del tmp92 + tmp93 = einsum(tmp68, (0, 1, 2), v.aaaa.oovv, (3, 0, 4, 2), (1, 3, 4), optimize=True) + del tmp68 + r2new.aaa += tmp93 + r2new.aaa += tmp93.transpose((1, 0, 2)) * -1 + del tmp93 + tmp85 = einsum(r1.a, (0,), v.aaaa.ooov, (1, 0, 2, 3), (1, 2, 3), optimize=True) + r2new.aaa += tmp85.transpose((1, 0, 2)) + r2new.aaa += tmp85 * -1 + del tmp85 + tmp34 = tmp32.copy() * 0.5 + tmp34 += einsum(r2.aaa, (0, 1, 2), tmp5, (1, 3, 4, 2), (0, 3, 4), optimize=True) * -1 + del tmp5 + tmp34 += einsum(r1.a, (0,), tmp33, (1, 2, 0, 3), (2, 1, 3), optimize=True) * -0.5 + del tmp33 + r2new.aaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp34, (4, 1, 3), (0, 4, 2), optimize=True) * -4 + del tmp34 + tmp79 = einsum(t1.aa, (0, 1), tmp78, (2, 3, 0), (3, 2, 1), optimize=True) + del tmp78 + r2new.aaa += tmp79.transpose((1, 0, 2)) * -1 + r2new.aaa += tmp79 + del tmp79 + tmp89 = einsum(tmp88, (0, 1, 2, 3), r2.aaa, (3, 2, 4), (0, 1, 4), optimize=True) * -1 + del tmp88 + r2new.aaa += tmp89 * -2 + r2new.aaa += tmp89.transpose((1, 0, 2)) * 2 + del tmp89 + tmp100 = einsum(t1.aa, (0, 1), tmp99, (2, 3, 0), (2, 3, 1), optimize=True) + del tmp99 + r2new.aaa += tmp100 + r2new.aaa += tmp100.transpose((1, 0, 2)) * -1 + del tmp100 + tmp44 = einsum(tmp43, (0, 1), r2.aaa, (2, 3, 0), (2, 3, 1), optimize=True) + del tmp43 + r2new.aaa += tmp44.transpose((1, 0, 2)) + r2new.aaa += tmp44.transpose((1, 0, 2)) + del tmp44 + tmp31 = einsum(v.aaaa.oooo, (0, 1, 2, 3), r2.aaa, (1, 3, 4), (0, 2, 4), optimize=True) + r2new.aaa += tmp31.transpose((1, 0, 2)) * -1 + r2new.aaa += tmp31.transpose((1, 0, 2)) * -1 + del tmp31 + tmp87 = einsum(t2.abab, (0, 1, 2, 3), tmp86, (4, 1, 3), (4, 0, 2), optimize=True) + del tmp86 + r2new.aaa += tmp87 * -1 + r2new.aaa += tmp87.transpose((1, 0, 2)) + del tmp87 + tmp72 = tmp66.copy() * 2 + del tmp66 + tmp72 += tmp32 + del tmp32 + tmp72 += tmp71.transpose((1, 0, 2)) + del tmp71 + r2new.aaa += tmp72.transpose((1, 0, 2)) * -1 + r2new.aaa += tmp72 + del tmp72 + tmp63 = tmp49.transpose((1, 0, 2)).copy() + tmp63 += tmp50.transpose((2, 0, 1)) + tmp63 += einsum(r2.aaa, (0, 1, 2), tmp60, (3, 4, 1, 2), (4, 0, 3), optimize=True) * -2 + del tmp60 + r2new.aaa += einsum(t1.aa, (0, 1), tmp63, (0, 2, 3), (3, 2, 1), optimize=True) + del tmp63 + tmp39 = einsum(t2.abab, (0, 1, 2, 3), tmp38, (4, 1, 3), (0, 4, 2), optimize=True) + del tmp38 + r2new.aaa += tmp39.transpose((1, 0, 2)) + r2new.aaa += tmp39 * -1 + del tmp39 + tmp65 = einsum(t1.aa, (0, 1), tmp64, (2, 3, 4, 1), (2, 0, 4, 3), optimize=True) + del tmp64 + r2new.aaa += einsum(tmp65, (0, 1, 2, 3), r2.aaa, (2, 3, 4), (1, 0, 4), optimize=True) * -2 + del tmp65 + tmp84 = f.aa.vv.copy() + tmp84 += tmp82.transpose((1, 0)) + del tmp82 + tmp84 += einsum(tmp83, (0, 1, 2, 3), t1.aa, (0, 2), (1, 3), optimize=True) * -1 + del tmp83 + r2new.aaa += einsum(r2.aaa, (0, 1, 2), tmp84, (2, 3), (0, 1, 3), optimize=True) * 2 + del tmp84 + tmp51 = tmp49.transpose((1, 0, 2)).copy() * 0.5 + del tmp49 + tmp51 += tmp50.transpose((2, 0, 1)) * 0.5 + del tmp50 + tmp51 += einsum(tmp46, (0, 1, 2, 3), r2.aaa, (4, 2, 3), (1, 4, 0), optimize=True) * -1 + del tmp46 + r2new.aaa += einsum(t1.aa, (0, 1), tmp51, (0, 2, 3), (2, 3, 1), optimize=True) * -2 + del tmp51 + tmp20 = f.aa.ov.copy() + tmp20 += tmp4 + del tmp4 + tmp20 += einsum(tmp19, (0, 1, 2, 3), t1.aa, (0, 3), (1, 2), optimize=True) * -1 + del tmp19 + r1new.b += einsum(r2.aba, (0, 1, 2), tmp20, (0, 2), (1,), optimize=True) * -1 + del tmp20 + tmp30 = f.bb.oo.copy() + tmp30 += einsum(t1.bb, (0, 1), v.bbbb.ovoo, (2, 1, 3, 0), (2, 3), optimize=True) * -1 + r1new.b += einsum(r1.b, (0,), tmp30, (0, 1), (1,), optimize=True) * -1 + del tmp30 + tmp10 = f.bb.ov.copy() + tmp10 += tmp8 + del tmp8 + tmp10 += einsum(t1.bb, (0, 1), tmp9, (0, 2, 3, 1), (2, 3), optimize=True) * -1 + del tmp9 + r1new.a += einsum(tmp10, (0, 1), r2.bab, (0, 2, 1), (2,), optimize=True) * -1 + del tmp10 + tmp14 = f.aa.oo.copy() + tmp14 += einsum(t1.aa, (0, 1), v.aaaa.ooov, (2, 3, 0, 1), (2, 3), optimize=True) + r1new.a += einsum(tmp14, (0, 1), r1.a, (0,), (1,), optimize=True) * -1 + del tmp14 + tmp13 = einsum(v.aaaa.ovov, (0, 1, 2, 3), tmp3, (0, 2, 1), (3,), optimize=True) * -1 + del tmp3 + tmp13 += einsum(v.aabb.ovov, (0, 1, 2, 3), tmp2, (0, 2, 3), (1,), optimize=True) + del tmp2 + tmp13 += einsum(r1.a, (0,), tmp12, (0, 1), (1,), optimize=True) + del tmp12 + r1new.a += einsum(t1.aa, (0, 1), tmp13, (1,), (0,), optimize=True) * -1 + del tmp13 + r2new.aba += einsum(v.aabb.oooo, (0, 1, 2, 3), r2.aba, (1, 3, 4), (0, 2, 4), optimize=True) * 0.5 + r2new.aba += einsum(v.aaaa.ovov, (0, 1, 2, 3), r2.aba, (2, 4, 3), (0, 4, 1), optimize=True) + r2new.aba += einsum(v.aaaa.oovv, (0, 1, 2, 3), r2.aba, (1, 4, 3), (0, 4, 2), optimize=True) * -1 + r2new.bab += einsum(r2.bab, (0, 1, 2), v.aabb.oooo, (3, 1, 4, 0), (4, 3, 2), optimize=True) * 0.5 + r2new.bab += einsum(r2.bab, (0, 1, 2), v.bbbb.ovov, (3, 4, 0, 2), (3, 1, 4), optimize=True) + r2new.bab += einsum(r2.bab, (0, 1, 2), v.bbbb.oovv, (3, 0, 4, 2), (3, 1, 4), optimize=True) * -1 + + return r1new, r2new + +def hbar_matvec_ea(f=None, r1=None, r2=None, t1=None, t2=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-07-22T17:02:25.373405. + + Parameters + ---------- + f : Namespace of arrays + Fock matrix. + r1 : Namespace of arrays + R1 amplitudes. + r2 : Namespace of arrays + R2 amplitudes. + t1 : Namespace of arrays + T1 amplitudes. + t2 : Namespace of arrays + T2 amplitudes. + v : Namespace of arrays + Electron repulsion integrals. + + Returns + ------- + r1new : Namespace of arrays + Updated R1 residuals. + r2new : Namespace of arrays + Updated R2 residuals. + """ + + r1new = Namespace() + r2new = Namespace() + tmp8 = v.bbbb.ovov.transpose((0, 2, 3, 1)).copy() * -1 + tmp8 += v.bbbb.ovov.transpose((0, 2, 1, 3)) + tmp24 = v.aaaa.ovov.transpose((0, 2, 3, 1)).copy() * -1 + tmp24 += v.aaaa.ovov.transpose((0, 2, 1, 3)) + tmp7 = einsum(t1.aa, (0, 1), v.aabb.ovov, (0, 1, 2, 3), (2, 3), optimize=True) + tmp9 = einsum(t1.bb, (0, 1), tmp8, (0, 2, 3, 1), (2, 3), optimize=True) + tmp25 = einsum(tmp24, (0, 1, 2, 3), t1.aa, (0, 3), (1, 2), optimize=True) + del tmp24 + tmp4 = einsum(v.aabb.ovov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1), optimize=True) + tmp19 = einsum(v.bbbb.ovov, (0, 1, 2, 3), r1.b, (3,), (0, 2, 1), optimize=True) + r1new.b = einsum(t2.bbbb, (0, 1, 2, 3), tmp19, (0, 1, 3), (2,), optimize=True) * 2 + tmp123 = einsum(t1.bb, (0, 1), r1.b, (2,), (0, 2, 1), optimize=True) + tmp123 += r2.bbb.transpose((2, 0, 1)) * 2 + tmp5 = v.aaaa.ovov.transpose((0, 2, 3, 1)).copy() * -1 + tmp5 += v.aaaa.ovov.transpose((0, 2, 1, 3)) + tmp27 = einsum(t1.bb, (0, 1), v.bbbb.ovov, (2, 1, 0, 3), (2, 3), optimize=True) + tmp171 = v.bbbb.ooov.copy() * -1 + tmp171 += v.bbbb.ovoo.transpose((0, 2, 3, 1)) + tmp115 = v.bbbb.ovvv.copy() * -1 + tmp115 += v.bbbb.ovvv.transpose((0, 2, 3, 1)) + tmp10 = f.bb.ov.copy() + tmp10 += tmp7 + tmp10 += tmp9 * -1 + del tmp9 + r1new.a = einsum(tmp10, (0, 1), r2.bab, (1, 2, 0), (2,), optimize=True) * -1 + tmp201 = r2.bbb.transpose((2, 0, 1)).copy() * 2 + tmp201 += einsum(t1.bb, (0, 1), r1.b, (2,), (0, 2, 1), optimize=True) + tmp203 = v.bbbb.ovvv.copy() * -1 + tmp203 += v.bbbb.ovvv.transpose((0, 2, 1, 3)) + tmp13 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t1.aa, (2, 1), (0, 3), optimize=True) + tmp35 = v.aaaa.ooov.copy() * -1 + tmp35 += v.aaaa.ovoo.transpose((0, 2, 3, 1)) + tmp0 = einsum(r1.a, (0,), v.aaaa.ovov, (1, 2, 3, 0), (1, 3, 2), optimize=True) + r1new.a += einsum(t2.aaaa, (0, 1, 2, 3), tmp0, (1, 0, 3), (2,), optimize=True) * -2 + tmp85 = v.aaaa.ovov.transpose((0, 2, 3, 1)).copy() + tmp85 += v.aaaa.ovov.transpose((0, 2, 1, 3)) * -1 + tmp84 = r2.aaa.transpose((2, 0, 1)).copy() * 2 + tmp84 += einsum(r1.a, (0,), t1.aa, (1, 2), (1, 0, 2), optimize=True) + tmp87 = v.aaaa.ovvv.copy() + tmp87 += v.aaaa.ovvv.transpose((0, 2, 1, 3)) * -1 + tmp26 = f.aa.ov.copy() + tmp26 += tmp4 + tmp26 += tmp25 * -1 + del tmp25 + r1new.b += einsum(tmp26, (0, 1), r2.aba, (1, 2, 0), (2,), optimize=True) * -1 + tmp33 = einsum(r1.a, (0,), t1.aa, (1, 2), (1, 0, 2), optimize=True) + tmp33 += r2.aaa.transpose((2, 0, 1)) * 2 + tmp22 = v.bbbb.ovov.transpose((0, 2, 3, 1)).copy() * -1 + tmp22 += v.bbbb.ovov.transpose((0, 2, 1, 3)) + tmp62 = v.aaaa.ovvv.copy() + tmp62 += v.aaaa.ovvv.transpose((0, 2, 1, 3)) * -1 + tmp181 = einsum(tmp19, (0, 1, 2), t1.bb, (3, 2), (3, 1, 0), optimize=True) + del tmp19 + tmp126 = einsum(tmp123, (0, 1, 2), v.aabb.ovov, (3, 4, 0, 1), (3, 4, 2), optimize=True) + r2new.aba = tmp126.transpose((1, 2, 0)).copy() + tmp125 = einsum(r2.aba, (0, 1, 2), tmp5, (2, 3, 4, 0), (3, 4, 1), optimize=True) + tmp118 = einsum(v.aabb.ovvv, (0, 1, 2, 3), r1.b, (3,), (0, 1, 2), optimize=True) + r2new.aba += tmp118.transpose((1, 2, 0)) * -1 + tmp28 = f.bb.ov.copy() + tmp28 += tmp27 * -1 + del tmp27 + tmp20 = r2.bbb.transpose((2, 0, 1)).copy() * 2 + tmp20 += einsum(t1.bb, (0, 1), r1.b, (2,), (0, 1, 2), optimize=True) * -1 + r1new.b += einsum(tmp20, (0, 1, 2), v.bbbb.ovvv, (0, 1, 3, 2), (3,), optimize=True) * -1 + tmp21 = r2.aba.transpose((2, 0, 1)).copy() + tmp21 += einsum(t1.aa, (0, 1), r1.b, (2,), (0, 1, 2), optimize=True) * -1 + r2new.aba += einsum(v.aabb.vvvv, (0, 1, 2, 3), tmp21, (4, 1, 3), (0, 2, 4), optimize=True) + r1new.b += einsum(tmp21, (0, 1, 2), v.aabb.ovvv, (0, 1, 3, 2), (3,), optimize=True) * -1 + tmp172 = einsum(r2.bbb, (0, 1, 2), tmp171, (2, 3, 4, 1), (3, 4, 0), optimize=True) * -1 + del tmp171 + tmp116 = einsum(tmp115, (0, 1, 2, 3), t1.bb, (0, 1), (2, 3), optimize=True) + tmp114 = einsum(t1.aa, (0, 1), v.aabb.ovvv, (0, 1, 2, 3), (2, 3), optimize=True) + tmp175 = einsum(v.bbbb.ooov, (0, 1, 2, 3), r1.b, (3,), (0, 1, 2), optimize=True) + tmp140 = v.bbbb.ooov.copy() + tmp140 += v.bbbb.ovoo.transpose((0, 2, 3, 1)) * -1 + tmp132 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 1, 4), (3, 4), optimize=True) + tmp134 = einsum(tmp10, (0, 1), t1.bb, (0, 2), (2, 1), optimize=True) + tmp133 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (0, 2, 4, 1), (4, 3), optimize=True) * -1 + tmp187 = v.bbbb.ovvv.copy() + tmp187 += v.bbbb.ovvv.transpose((0, 2, 3, 1)) * -1 + tmp155 = einsum(t1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 1), (0, 2, 4, 3), optimize=True) + tmp152 = einsum(v.aabb.ovov, (0, 1, 2, 3), t1.bb, (4, 3), (0, 4, 2, 1), optimize=True) + tmp145 = v.bbbb.ovvv.copy() + tmp145 += v.bbbb.ovvv.transpose((0, 2, 3, 1)) * -1 + tmp122 = einsum(r2.aba, (0, 1, 2), v.aabb.ovov, (2, 0, 3, 4), (3, 1, 4), optimize=True) + r2new.bbb = tmp122.transpose((2, 1, 0)).copy() + r2new.bbb += tmp122.transpose((1, 2, 0)) * -1 + tmp202 = einsum(tmp8, (0, 1, 2, 3), tmp201, (0, 2, 4), (1, 4, 3), optimize=True) * 0.5 + del tmp8, tmp201 + tmp204 = einsum(r1.b, (0,), tmp203, (1, 0, 2, 3), (1, 2, 3), optimize=True) * 0.5 + del tmp203 + tmp148 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (4, 2, 3, 1), (4, 0), optimize=True) * -1 + tmp147 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 3), (1, 4), optimize=True) + tmp149 = einsum(tmp10, (0, 1), t1.bb, (2, 1), (2, 0), optimize=True) + tmp1 = einsum(v.aabb.ovov, (0, 1, 2, 3), r1.a, (1,), (0, 2, 3), optimize=True) + r1new.a += einsum(t2.abab, (0, 1, 2, 3), tmp1, (0, 1, 3), (2,), optimize=True) * -1 + tmp58 = v.aaaa.ovvv.copy() * -1 + tmp58 += v.aaaa.ovvv.transpose((0, 2, 1, 3)) + tmp2 = r2.aaa.transpose((2, 0, 1)).copy() * 2 + tmp2 += einsum(r1.a, (0,), t1.aa, (1, 2), (1, 2, 0), optimize=True) * -1 + r1new.a += einsum(v.aaaa.ovvv, (0, 1, 2, 3), tmp2, (0, 1, 3), (2,), optimize=True) * -1 + tmp14 = f.aa.ov.copy() + tmp14 += tmp13 * -1 + del tmp13 + tmp3 = r2.bab.transpose((2, 1, 0)).copy() * -1 + tmp3 += einsum(r1.a, (0,), t1.bb, (1, 2), (1, 0, 2), optimize=True) + r2new.bab = einsum(tmp3, (0, 1, 2), v.aabb.vvvv, (3, 1, 4, 2), (4, 3, 0), optimize=True) * -1 + r1new.a += einsum(tmp3, (0, 1, 2), v.aabb.vvov, (3, 1, 0, 2), (3,), optimize=True) + tmp73 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 2, 1), optimize=True) + tmp18 = einsum(v.aabb.ovov, (0, 1, 2, 3), r1.b, (3,), (0, 2, 1), optimize=True) + r1new.b += einsum(t2.abab, (0, 1, 2, 3), tmp18, (0, 1, 2), (3,), optimize=True) * -1 + tmp46 = v.aaaa.ooov.copy() * -1 + tmp46 += v.aaaa.ooov.transpose((0, 2, 1, 3)) + tmp39 = einsum(v.aaaa.ooov, (0, 1, 2, 3), r1.a, (3,), (0, 1, 2), optimize=True) + tmp36 = einsum(tmp35, (0, 1, 2, 3), r2.aaa, (4, 3, 0), (1, 2, 4), optimize=True) * -1 + del tmp35 + tmp49 = einsum(t1.aa, (0, 1), tmp0, (2, 3, 1), (0, 3, 2), optimize=True) + del tmp0 + tmp86 = einsum(tmp85, (0, 1, 2, 3), tmp84, (0, 2, 4), (1, 4, 3), optimize=True) + del tmp85, tmp84 + tmp83 = einsum(r2.bab, (0, 1, 2), v.aabb.ovov, (3, 4, 2, 0), (3, 1, 4), optimize=True) * -1 + r2new.aaa = tmp83.transpose((2, 1, 0)).copy() * -1 + r2new.aaa += tmp83.transpose((1, 2, 0)) + tmp88 = einsum(r1.a, (0,), tmp87, (1, 0, 2, 3), (1, 2, 3), optimize=True) + del tmp87 + tmp68 = einsum(t1.aa, (0, 1), tmp26, (2, 1), (0, 2), optimize=True) + tmp67 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 1, 3), (0, 4), optimize=True) + tmp66 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 3, 1, 2), (0, 4), optimize=True) * -1 + tmp97 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 4, 1, 3), (2, 4), optimize=True) + tmp98 = einsum(t1.aa, (0, 1), tmp26, (0, 2), (1, 2), optimize=True) + del tmp26 + tmp96 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (0, 4, 1, 3), (2, 4), optimize=True) + tmp93 = einsum(tmp33, (0, 1, 2), v.aabb.ovov, (0, 1, 3, 4), (3, 2, 4), optimize=True) + r2new.bab += tmp93.transpose((2, 1, 0)) + tmp92 = einsum(r2.bab, (0, 1, 2), tmp22, (2, 3, 4, 0), (3, 1, 4), optimize=True) * -1 + tmp91 = einsum(r1.a, (0,), v.aabb.vvov, (1, 0, 2, 3), (2, 1, 3), optimize=True) + r2new.bab += tmp91.transpose((2, 1, 0)) * -1 + tmp75 = v.aaaa.ovvv.copy() * -1 + tmp75 += v.aaaa.ovvv.transpose((0, 2, 1, 3)) + tmp71 = einsum(t1.aa, (0, 1), v.aabb.ovov, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) + tmp61 = einsum(v.aabb.vvov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1), optimize=True) + tmp63 = einsum(tmp62, (0, 1, 2, 3), t1.aa, (0, 2), (1, 3), optimize=True) + del tmp62 + tmp185 = einsum(t1.bb, (0, 1), tmp181, (2, 3, 0), (2, 3, 1), optimize=True) + tmp127 = tmp118.copy() + tmp127 += tmp125 + del tmp125 + tmp127 += tmp126 * -1 + del tmp126 + r2new.aba += einsum(tmp127, (0, 1, 2), t2.aaaa, (3, 0, 4, 1), (4, 2, 3), optimize=True) * -2 + tmp143 = einsum(t1.bb, (0, 1), v.aabb.ovvv, (2, 3, 4, 1), (2, 0, 3, 4), optimize=True) + r2new.bab += einsum(r2.aaa, (0, 1, 2), tmp143, (2, 3, 1, 4), (4, 0, 3), optimize=True) * -2 + tmp107 = einsum(tmp28, (0, 1), r1.b, (1,), (0,), optimize=True) + tmp106 = einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp20, (2, 3, 1), (0,), optimize=True) + tmp105 = einsum(v.aabb.ovov, (0, 1, 2, 3), tmp21, (0, 1, 3), (2,), optimize=True) + tmp173 = einsum(t1.bb, (0, 1), tmp172, (2, 0, 3), (2, 3, 1), optimize=True) * -1 + del tmp172 + tmp170 = einsum(v.bbbb.oovv, (0, 1, 2, 3), tmp123, (1, 3, 4), (0, 4, 2), optimize=True) + tmp117 = f.bb.vv.copy() + tmp117 += tmp114.transpose((1, 0)) + del tmp114 + tmp117 += tmp116.transpose((1, 0)) * -1 + del tmp116 + r2new.bab += einsum(r2.bab, (0, 1, 2), tmp117, (0, 3), (3, 1, 2), optimize=True) + r2new.aba += einsum(r2.aba, (0, 1, 2), tmp117, (1, 3), (0, 3, 2), optimize=True) + tmp166 = einsum(v.bbbb.ovov, (0, 1, 2, 3), r2.bbb, (3, 1, 4), (4, 0, 2), optimize=True) * -1 + tmp176 = einsum(tmp175, (0, 1, 2), t1.bb, (2, 3), (0, 1, 3), optimize=True) + tmp183 = einsum(v.bbbb.vvvv, (0, 1, 2, 3), r1.b, (3,), (0, 1, 2), optimize=True) + tmp168 = einsum(r2.aba, (0, 1, 2), v.aabb.ovoo, (2, 0, 3, 4), (3, 4, 1), optimize=True) + tmp141 = einsum(t1.bb, (0, 1), tmp140, (0, 2, 3, 1), (2, 3), optimize=True) + del tmp140 + tmp139 = einsum(t1.aa, (0, 1), v.aabb.ovoo, (0, 1, 2, 3), (2, 3), optimize=True) + tmp208 = tmp132.copy() + tmp208 += tmp133 * 2 + tmp208 += tmp134 + tmp188 = einsum(tmp187, (0, 1, 2, 3), t1.bb, (4, 1), (0, 4, 2, 3), optimize=True) + tmp193 = tmp155.copy() * -1 + tmp193 += tmp155.transpose((0, 2, 1, 3)) + tmp192 = einsum(r2.aba, (0, 1, 2), tmp152, (2, 3, 4, 0), (3, 4, 1), optimize=True) + tmp194 = einsum(tmp145, (0, 1, 2, 3), r1.b, (1,), (0, 3, 2), optimize=True) * -1 + tmp205 = tmp122.copy() * 0.5 + tmp205 += tmp202 + del tmp202 + tmp205 += tmp204.transpose((0, 2, 1)) * -1 + del tmp204 + tmp199 = einsum(r2.bbb, (0, 1, 2), v.bbbb.ovvv, (3, 0, 4, 1), (2, 3, 4), optimize=True) + tmp150 = tmp147.transpose((1, 0)).copy() + del tmp147 + tmp150 += tmp148.transpose((1, 0)) * 2 + del tmp148 + tmp150 += tmp149.transpose((1, 0)) + del tmp149 + r2new.bab += einsum(tmp150, (0, 1), r2.bab, (2, 3, 0), (2, 3, 1), optimize=True) * -1 + tmp196 = tmp155.copy() * -1 + tmp196 += tmp155.transpose((0, 2, 1, 3)) + tmp197 = einsum(r1.b, (0,), tmp187, (1, 0, 2, 3), (1, 3, 2), optimize=True) * -1 + del tmp187 + tmp151 = einsum(v.aabb.ovvv, (0, 1, 2, 3), r1.a, (1,), (0, 2, 3), optimize=True) + tmp164 = r2.bab.transpose((2, 1, 0)).copy() * -1 + tmp164 += einsum(r1.a, (0,), t1.bb, (1, 2), (1, 0, 2), optimize=True) + tmp156 = tmp155.copy() + tmp156 += tmp155.transpose((0, 2, 1, 3)) * -1 + del tmp155 + tmp144 = einsum(tmp1, (0, 1, 2), t1.bb, (3, 2), (0, 3, 1), optimize=True) + del tmp1 + r2new.bab += einsum(tmp144, (0, 1, 2), t2.abab, (0, 2, 3, 4), (4, 3, 1), optimize=True) * -1 + tmp158 = v.aaaa.ovov.transpose((0, 2, 3, 1)).copy() + tmp158 += v.aaaa.ovov.transpose((0, 2, 1, 3)) * -1 + tmp79 = einsum(r1.a, (0,), tmp58, (1, 2, 0, 3), (1, 2, 3), optimize=True) + tmp161 = v.bbbb.ooov.copy() + tmp161 += v.bbbb.ooov.transpose((0, 2, 1, 3)) * -1 + tmp11 = einsum(tmp2, (0, 1, 2), v.aaaa.ovov, (3, 2, 0, 1), (3,), optimize=True) + del tmp2 + tmp15 = einsum(tmp14, (0, 1), r1.a, (1,), (0,), optimize=True) + del tmp14 + tmp12 = einsum(tmp3, (0, 1, 2), v.aabb.ovov, (3, 1, 0, 2), (3,), optimize=True) + del tmp3 + tmp119 = tmp73.copy() * -1 + tmp119 += tmp73.transpose((0, 2, 1, 3)) + tmp111 = einsum(r1.b, (0,), v.aabb.vvov, (1, 2, 3, 0), (3, 1, 2), optimize=True) + tmp130 = r2.aba.transpose((2, 0, 1)).copy() + tmp130 += einsum(t1.aa, (0, 1), r1.b, (2,), (0, 1, 2), optimize=True) * -1 + tmp109 = einsum(t1.aa, (0, 1), tmp18, (2, 3, 1), (0, 2, 3), optimize=True) + del tmp18 + r2new.aba += einsum(t2.abab, (0, 1, 2, 3), tmp109, (4, 0, 1), (2, 3, 4), optimize=True) * -1 + tmp47 = einsum(t1.aa, (0, 1), tmp46, (2, 3, 0, 1), (2, 3), optimize=True) + tmp45 = einsum(v.aabb.ooov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1), optimize=True) + tmp42 = einsum(r2.bab, (0, 1, 2), v.aabb.ooov, (3, 4, 2, 0), (3, 4, 1), optimize=True) * -1 + tmp40 = einsum(t1.aa, (0, 1), tmp39, (2, 3, 0), (2, 3, 1), optimize=True) + tmp56 = einsum(r1.a, (0,), v.aaaa.vvvv, (1, 2, 3, 0), (1, 2, 3), optimize=True) + tmp34 = einsum(v.aaaa.oovv, (0, 1, 2, 3), tmp33, (1, 3, 4), (0, 2, 4), optimize=True) + tmp37 = einsum(t1.aa, (0, 1), tmp36, (2, 0, 3), (2, 1, 3), optimize=True) * -1 + del tmp36 + tmp54 = einsum(t1.aa, (0, 1), tmp49, (2, 3, 0), (2, 3, 1), optimize=True) + tmp89 = tmp83.copy() + tmp89 += tmp86 + del tmp86 + tmp89 += tmp88.transpose((0, 2, 1)) * -1 + del tmp88 + tmp69 = tmp66.transpose((1, 0)).copy() * 2 + del tmp66 + tmp69 += tmp67.transpose((1, 0)) + del tmp67 + tmp69 += tmp68.transpose((1, 0)) + del tmp68 + r2new.aba += einsum(tmp69, (0, 1), r2.aba, (2, 3, 0), (2, 3, 1), optimize=True) * -1 + tmp99 = tmp96.copy() * 2 + tmp99 += tmp97 + tmp99 += tmp98 + tmp31 = einsum(v.aaaa.ovov, (0, 1, 2, 3), r2.aaa, (3, 1, 4), (4, 0, 2), optimize=True) * -1 + tmp51 = einsum(t1.aa, (0, 1), v.aabb.vvov, (2, 1, 3, 4), (0, 3, 2, 4), optimize=True) + r2new.aba += einsum(tmp51, (0, 1, 2, 3), r2.bbb, (4, 3, 1), (2, 4, 0), optimize=True) * -2 + tmp94 = tmp91.copy() + tmp94 += tmp92 * -1 + del tmp92 + tmp94 += tmp93 * -1 + del tmp93 + r2new.bab += einsum(t2.bbbb, (0, 1, 2, 3), tmp94, (1, 4, 3), (2, 4, 0), optimize=True) * -2 + tmp81 = einsum(r2.aaa, (0, 1, 2), v.aaaa.ovvv, (3, 0, 4, 1), (2, 3, 4), optimize=True) + tmp76 = einsum(r1.a, (0,), tmp75, (1, 2, 0, 3), (1, 2, 3), optimize=True) * -1 + tmp72 = einsum(r2.bab, (0, 1, 2), tmp71, (3, 4, 2, 0), (3, 4, 1), optimize=True) * -1 + tmp74 = tmp73.copy() + tmp74 += tmp73.transpose((0, 2, 1, 3)) * -1 + tmp64 = f.aa.vv.copy() + tmp64 += tmp61.transpose((1, 0)) + del tmp61 + tmp64 += tmp63 * -1 + del tmp63 + r2new.bab += einsum(r2.bab, (0, 1, 2), tmp64, (1, 3), (0, 3, 2), optimize=True) + r2new.aba += einsum(r2.aba, (0, 1, 2), tmp64, (0, 3), (3, 1, 2), optimize=True) + tmp78 = tmp73.copy() + tmp78 += tmp73.transpose((0, 2, 1, 3)) * -1 + del tmp73 + tmp59 = einsum(tmp58, (0, 1, 2, 3), t1.aa, (4, 2), (4, 0, 1, 3), optimize=True) + del tmp58 + tmp186 = einsum(t1.bb, (0, 1), tmp185, (2, 0, 3), (2, 1, 3), optimize=True) + del tmp185 + r2new.bbb += tmp186.transpose((2, 1, 0)) * -1 + r2new.bbb += tmp186.transpose((1, 2, 0)) + del tmp186 + tmp210 = einsum(tmp123, (0, 1, 2), v.bbbb.ovov, (3, 4, 0, 1), (3, 4, 2), optimize=True) + r2new.bbb += tmp210.transpose((1, 2, 0)) + r2new.bbb += tmp210.transpose((2, 1, 0)) * -1 + del tmp210 + tmp207 = einsum(t2.abab, (0, 1, 2, 3), tmp127, (0, 2, 4), (1, 3, 4), optimize=True) + del tmp127 + r2new.bbb += tmp207.transpose((2, 1, 0)) + r2new.bbb += tmp207.transpose((1, 2, 0)) * -1 + del tmp207 + tmp180 = einsum(r2.aba, (0, 1, 2), tmp143, (2, 3, 0, 4), (3, 1, 4), optimize=True) + del tmp143 + r2new.bbb += tmp180.transpose((1, 2, 0)) * -1 + r2new.bbb += tmp180.transpose((2, 1, 0)) + del tmp180 + tmp108 = tmp105.copy() * -1 + del tmp105 + tmp108 += tmp106 * -1 + del tmp106 + tmp108 += tmp107 + del tmp107 + r2new.bbb += einsum(tmp108, (0,), t2.bbbb, (1, 0, 2, 3), (2, 3, 1), optimize=True) * 2 + r2new.aba += einsum(t2.abab, (0, 1, 2, 3), tmp108, (1,), (2, 3, 0), optimize=True) + del tmp108 + tmp182 = einsum(tmp181, (0, 1, 2), t2.bbbb, (1, 2, 3, 4), (0, 3, 4), optimize=True) + del tmp181 + r2new.bbb += tmp182.transpose((1, 2, 0)) + r2new.bbb += tmp182.transpose((1, 2, 0)) + del tmp182 + tmp174 = tmp170.copy() * -1 + del tmp170 + tmp174 += tmp173 * 2 + del tmp173 + r2new.bbb += tmp174.transpose((2, 1, 0)) + r2new.bbb += tmp174.transpose((1, 2, 0)) * -1 + del tmp174 + tmp179 = einsum(v.bbbb.ovvv, (0, 1, 2, 3), r1.b, (3,), (0, 1, 2), optimize=True) + r2new.bbb += tmp179.transpose((1, 2, 0)) * -1 + r2new.bbb += tmp179.transpose((2, 1, 0)) + del tmp179 + tmp190 = einsum(r2.bbb, (0, 1, 2), tmp117, (1, 3), (2, 0, 3), optimize=True) * -1 + del tmp117 + r2new.bbb += tmp190.transpose((1, 2, 0)) * -2 + r2new.bbb += tmp190.transpose((2, 1, 0)) * 2 + del tmp190 + tmp167 = einsum(t1.bb, (0, 1), tmp166, (2, 0, 3), (2, 3, 1), optimize=True) * -1 + r2new.bbb += einsum(t1.bb, (0, 1), tmp167, (2, 0, 3), (1, 3, 2), optimize=True) * 2 + del tmp167 + tmp177 = einsum(tmp176, (0, 1, 2), t1.bb, (1, 3), (0, 3, 2), optimize=True) + del tmp176 + r2new.bbb += tmp177.transpose((2, 1, 0)) + r2new.bbb += tmp177.transpose((1, 2, 0)) * -1 + del tmp177 + tmp184 = einsum(tmp183, (0, 1, 2), t1.bb, (3, 1), (3, 2, 0), optimize=True) + del tmp183 + r2new.bbb += tmp184.transpose((2, 1, 0)) * -1 + r2new.bbb += tmp184.transpose((1, 2, 0)) + del tmp184 + tmp169 = einsum(t1.bb, (0, 1), tmp168, (2, 0, 3), (2, 3, 1), optimize=True) + del tmp168 + r2new.bbb += tmp169.transpose((2, 1, 0)) * -1 + r2new.bbb += tmp169.transpose((1, 2, 0)) + del tmp169 + tmp142 = f.bb.oo.copy() + tmp142 += tmp139.transpose((1, 0)) + del tmp139 + tmp142 += tmp141.transpose((1, 0)) * -1 + del tmp141 + r2new.bbb += einsum(tmp142, (0, 1), r2.bbb, (2, 3, 0), (2, 3, 1), optimize=True) * -2 + r2new.bab += einsum(tmp142, (0, 1), r2.bab, (2, 3, 0), (2, 3, 1), optimize=True) * -1 + del tmp142 + tmp209 = einsum(r2.bbb, (0, 1, 2), tmp208, (3, 1), (2, 3, 0), optimize=True) * -2 + del tmp208 + r2new.bbb += tmp209.transpose((2, 1, 0)) + r2new.bbb += tmp209.transpose((1, 2, 0)) * -1 + del tmp209 + tmp189 = einsum(tmp188, (0, 1, 2, 3), r2.bbb, (4, 3, 0), (1, 2, 4), optimize=True) + del tmp188 + r2new.bbb += tmp189.transpose((2, 1, 0)) * -2 + r2new.bbb += tmp189.transpose((1, 2, 0)) * 2 + del tmp189 + tmp178 = tmp175.transpose((1, 0, 2)).copy() + del tmp175 + tmp178 += tmp166.transpose((2, 0, 1)) + del tmp166 + r2new.bbb += einsum(t2.bbbb, (0, 1, 2, 3), tmp178, (0, 4, 1), (2, 3, 4), optimize=True) * -2 + del tmp178 + tmp195 = tmp192.copy() + tmp195 += einsum(r2.bbb, (0, 1, 2), tmp193, (3, 2, 4, 1), (3, 4, 0), optimize=True) * 2 + del tmp193 + tmp195 += einsum(t1.bb, (0, 1), tmp194, (2, 1, 3), (0, 2, 3), optimize=True) * -1 + del tmp194 + r2new.bbb += einsum(t1.bb, (0, 1), tmp195, (2, 0, 3), (3, 1, 2), optimize=True) + del tmp195 + tmp206 = einsum(t2.bbbb, (0, 1, 2, 3), tmp205, (1, 4, 3), (0, 4, 2), optimize=True) * 4 + del tmp205 + r2new.bbb += tmp206.transpose((1, 2, 0)) * -1 + r2new.bbb += tmp206.transpose((2, 1, 0)) + del tmp206 + tmp200 = einsum(tmp199, (0, 1, 2), t1.bb, (1, 3), (0, 3, 2), optimize=True) + del tmp199 + r2new.bbb += tmp200.transpose((2, 1, 0)) * 2 + r2new.bbb += tmp200.transpose((1, 2, 0)) * -2 + del tmp200 + tmp191 = einsum(r2.bbb, (0, 1, 2), tmp150, (2, 3), (3, 0, 1), optimize=True) + del tmp150 + r2new.bbb += tmp191.transpose((2, 1, 0)) + r2new.bbb += tmp191.transpose((2, 1, 0)) + del tmp191 + tmp198 = tmp192.copy() + del tmp192 + tmp198 += einsum(r2.bbb, (0, 1, 2), tmp196, (3, 2, 4, 1), (3, 4, 0), optimize=True) * 2 + del tmp196 + tmp198 += einsum(t1.bb, (0, 1), tmp197, (2, 1, 3), (0, 2, 3), optimize=True) * -1 + del tmp197 + r2new.bbb += einsum(t1.bb, (0, 1), tmp198, (2, 0, 3), (1, 3, 2), optimize=True) * -1 + del tmp198 + tmp146 = einsum(tmp145, (0, 1, 2, 3), t1.bb, (4, 1), (4, 0, 3, 2), optimize=True) * -1 + del tmp145 + r2new.bab += einsum(r2.bab, (0, 1, 2), tmp146, (3, 2, 0, 4), (4, 1, 3), optimize=True) + del tmp146 + tmp163 = einsum(v.aabb.ovvv, (0, 1, 2, 3), r2.bab, (3, 1, 4), (0, 4, 2), optimize=True) * -1 + r2new.bab += einsum(t1.aa, (0, 1), tmp163, (0, 2, 3), (3, 1, 2), optimize=True) + del tmp163 + tmp165 = tmp151.transpose((0, 2, 1)).copy() * -1 + tmp165 += einsum(tmp164, (0, 1, 2), v.aabb.ovov, (3, 1, 0, 4), (3, 4, 2), optimize=True) + del tmp164 + r2new.bab += einsum(tmp165, (0, 1, 2), t2.abab, (0, 3, 4, 1), (2, 4, 3), optimize=True) * -1 + del tmp165 + tmp157 = einsum(tmp91, (0, 1, 2), t1.bb, (3, 2), (3, 0, 1), optimize=True) + del tmp91 + tmp157 += einsum(r2.aaa, (0, 1, 2), tmp152, (2, 3, 4, 1), (3, 4, 0), optimize=True) * 2 + tmp157 += einsum(r2.bab, (0, 1, 2), tmp156, (3, 2, 4, 0), (3, 4, 1), optimize=True) * -1 + del tmp156 + r2new.bab += einsum(tmp157, (0, 1, 2), t1.bb, (1, 3), (3, 2, 0), optimize=True) + del tmp157 + tmp160 = tmp132.transpose((1, 0)).copy() * 0.5 + tmp160 += tmp133.transpose((1, 0)) + tmp160 += einsum(tmp10, (0, 1), t1.bb, (0, 2), (1, 2), optimize=True) * 0.5 + del tmp10 + r2new.bab += einsum(tmp160, (0, 1), r2.bab, (0, 2, 3), (1, 2, 3), optimize=True) * -2 + del tmp160 + tmp153 = einsum(t1.bb, (0, 1), tmp151, (2, 3, 1), (2, 0, 3), optimize=True) * -1 + del tmp151 + tmp153 += einsum(r2.bab, (0, 1, 2), tmp152, (3, 4, 2, 1), (3, 4, 0), optimize=True) * -1 + del tmp152 + tmp153 += einsum(tmp144, (0, 1, 2), t1.bb, (2, 3), (0, 1, 3), optimize=True) + del tmp144 + r2new.bab += einsum(t1.aa, (0, 1), tmp153, (0, 2, 3), (3, 1, 2), optimize=True) * -1 + del tmp153 + tmp104 = t2.abab.copy() + tmp104 += einsum(t1.aa, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3), optimize=True) + tmp137 = einsum(r2.bab, (0, 1, 2), v.aabb.ovoo, (3, 1, 4, 2), (3, 4, 0), optimize=True) * -1 + r2new.bab += einsum(t1.aa, (0, 1), tmp137, (0, 2, 3), (3, 1, 2), optimize=True) * -1 + del tmp137 + tmp138 = einsum(r1.a, (0,), v.aabb.ovoo, (1, 0, 2, 3), (1, 2, 3), optimize=True) + tmp138 += einsum(v.aabb.ovov, (0, 1, 2, 3), r2.bab, (3, 1, 4), (0, 2, 4), optimize=True) * -1 + r2new.bab += einsum(tmp104, (0, 1, 2, 3), tmp138, (0, 1, 4), (3, 2, 4), optimize=True) * -1 + del tmp138 + tmp159 = tmp83.transpose((0, 2, 1)).copy() + del tmp83 + tmp159 += einsum(tmp158, (0, 1, 2, 3), tmp33, (0, 3, 4), (1, 2, 4), optimize=True) * -1 + del tmp158 + tmp159 += tmp79 * -1 + r2new.bab += einsum(tmp159, (0, 1, 2), t2.abab, (0, 3, 1, 4), (4, 2, 3), optimize=True) * -1 + del tmp159 + tmp128 = tmp96.transpose((1, 0)).copy() * 2 + del tmp96 + tmp128 += tmp97.transpose((1, 0)) + del tmp97 + tmp128 += tmp98.transpose((1, 0)) + del tmp98 + r2new.bab += einsum(tmp128, (0, 1), r2.bab, (2, 0, 3), (2, 1, 3), optimize=True) * -1 + r2new.aba += einsum(tmp128, (0, 1), r2.aba, (0, 2, 3), (1, 2, 3), optimize=True) * -1 + del tmp128 + tmp162 = einsum(r1.a, (0,), v.aabb.vvoo, (1, 0, 2, 3), (2, 3, 1), optimize=True) + tmp162 += einsum(r2.aaa, (0, 1, 2), v.aabb.ovoo, (2, 1, 3, 4), (3, 4, 0), optimize=True) * 2 + tmp162 += einsum(r2.bab, (0, 1, 2), v.aabb.vvov, (3, 1, 4, 0), (4, 2, 3), optimize=True) * -1 + tmp162 += einsum(r2.bab, (0, 1, 2), tmp161, (3, 4, 2, 0), (4, 3, 1), optimize=True) * -1 + del tmp161 + r2new.bab += einsum(t1.bb, (0, 1), tmp162, (0, 2, 3), (1, 3, 2), optimize=True) + del tmp162 + tmp154 = einsum(v.aabb.vvov, (0, 1, 2, 3), t1.bb, (4, 3), (4, 2, 0, 1), optimize=True) + r2new.bab += einsum(tmp154, (0, 1, 2, 3), r2.bab, (4, 3, 1), (4, 2, 0), optimize=True) * -1 + del tmp154 + tmp16 = tmp11.copy() * -1 + del tmp11 + tmp16 += tmp12 + del tmp12 + tmp16 += tmp15 + del tmp15 + r2new.bab += einsum(t2.abab, (0, 1, 2, 3), tmp16, (0,), (3, 2, 1), optimize=True) + r2new.aaa += einsum(tmp16, (0,), t2.aaaa, (1, 0, 2, 3), (2, 3, 1), optimize=True) * 2 + r1new.a += einsum(tmp16, (0,), t1.aa, (0, 1), (1,), optimize=True) * -1 + del tmp16 + tmp129 = einsum(r2.aba, (0, 1, 2), v.aabb.vvov, (3, 0, 4, 1), (2, 4, 3), optimize=True) + r2new.aba += einsum(tmp129, (0, 1, 2), t1.bb, (1, 3), (2, 3, 0), optimize=True) * -1 + del tmp129 + tmp124 = tmp122.transpose((0, 2, 1)).copy() + del tmp122 + tmp124 += einsum(tmp123, (0, 1, 2), tmp22, (0, 3, 4, 1), (3, 4, 2), optimize=True) * -1 + del tmp123 + tmp124 += einsum(r1.b, (0,), tmp115, (1, 0, 2, 3), (1, 3, 2), optimize=True) * -1 + del tmp115 + r2new.aba += einsum(tmp124, (0, 1, 2), t2.abab, (3, 0, 4, 1), (4, 2, 3), optimize=True) + del tmp124 + tmp113 = einsum(t1.aa, (0, 1), v.aabb.ovvv, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) + r2new.aba += einsum(tmp113, (0, 1, 2, 3), r2.aba, (4, 3, 1), (4, 2, 0), optimize=True) * -1 + del tmp113 + tmp120 = einsum(tmp118, (0, 1, 2), t1.aa, (3, 1), (3, 0, 2), optimize=True) + del tmp118 + tmp120 += einsum(tmp71, (0, 1, 2, 3), r2.bbb, (4, 3, 2), (0, 1, 4), optimize=True) * 2 + tmp120 += einsum(r2.aba, (0, 1, 2), tmp119, (3, 2, 4, 0), (3, 4, 1), optimize=True) + del tmp119 + r2new.aba += einsum(t1.aa, (0, 1), tmp120, (2, 0, 3), (1, 3, 2), optimize=True) + del tmp120 + tmp135 = tmp132.transpose((1, 0)).copy() + del tmp132 + tmp135 += tmp133.transpose((1, 0)) * 2 + del tmp133 + tmp135 += tmp134.transpose((1, 0)) + del tmp134 + r2new.aba += einsum(tmp135, (0, 1), r2.aba, (2, 0, 3), (2, 1, 3), optimize=True) * -1 + del tmp135 + tmp131 = tmp111.transpose((0, 2, 1)).copy() + tmp131 += einsum(tmp130, (0, 1, 2), v.aabb.ovov, (0, 3, 4, 2), (4, 3, 1), optimize=True) + del tmp130 + r2new.aba += einsum(tmp131, (0, 1, 2), t2.abab, (3, 0, 1, 4), (2, 4, 3), optimize=True) + del tmp131 + tmp112 = einsum(tmp111, (0, 1, 2), t1.aa, (3, 2), (3, 0, 1), optimize=True) + del tmp111 + tmp112 += einsum(tmp71, (0, 1, 2, 3), r2.aba, (4, 3, 1), (0, 2, 4), optimize=True) + del tmp71 + tmp112 += einsum(t1.aa, (0, 1), tmp109, (2, 0, 3), (2, 3, 1), optimize=True) * -1 + del tmp109 + r2new.aba += einsum(tmp112, (0, 1, 2), t1.bb, (1, 3), (2, 3, 0), optimize=True) + del tmp112 + tmp48 = f.aa.oo.copy() + tmp48 += tmp45.transpose((1, 0)) + del tmp45 + tmp48 += tmp47.transpose((1, 0)) * -1 + del tmp47 + r2new.aba += einsum(tmp48, (0, 1), r2.aba, (2, 3, 0), (2, 3, 1), optimize=True) * -1 + r2new.aaa += einsum(r2.aaa, (0, 1, 2), tmp48, (2, 3), (0, 1, 3), optimize=True) * -2 + del tmp48 + tmp136 = einsum(v.aabb.oovv, (0, 1, 2, 3), r1.b, (3,), (0, 1, 2), optimize=True) + tmp136 += einsum(v.aabb.ooov, (0, 1, 2, 3), r2.bbb, (4, 3, 2), (0, 1, 4), optimize=True) * 2 + tmp136 += einsum(r2.aba, (0, 1, 2), tmp46, (3, 4, 2, 0), (4, 3, 1), optimize=True) + del tmp46 + r2new.aba += einsum(t1.aa, (0, 1), tmp136, (0, 2, 3), (1, 3, 2), optimize=True) + del tmp136 + tmp103 = einsum(r1.b, (0,), v.aabb.ooov, (1, 2, 3, 0), (1, 2, 3), optimize=True) + tmp103 += einsum(v.aabb.ovov, (0, 1, 2, 3), r2.aba, (1, 3, 4), (0, 4, 2), optimize=True) * -1 + r2new.aba += einsum(tmp104, (0, 1, 2, 3), tmp103, (0, 4, 1), (2, 3, 4), optimize=True) * -1 + del tmp104, tmp103 + tmp121 = einsum(v.aabb.ovvv, (0, 1, 2, 3), r2.aba, (1, 3, 4), (4, 0, 2), optimize=True) + r2new.aba += einsum(t1.aa, (0, 1), tmp121, (2, 0, 3), (1, 3, 2), optimize=True) * -1 + del tmp121 + tmp110 = einsum(t1.aa, (0, 1), tmp75, (2, 3, 1, 4), (0, 2, 3, 4), optimize=True) * -1 + del tmp75 + r2new.aba += einsum(r2.aba, (0, 1, 2), tmp110, (3, 2, 0, 4), (4, 1, 3), optimize=True) + del tmp110 + tmp102 = einsum(v.aabb.ooov, (0, 1, 2, 3), r2.aba, (4, 3, 1), (0, 2, 4), optimize=True) + r2new.aba += einsum(tmp102, (0, 1, 2), t1.bb, (1, 3), (2, 3, 0), optimize=True) + del tmp102 + tmp43 = einsum(tmp42, (0, 1, 2), t1.aa, (1, 3), (0, 2, 3), optimize=True) + del tmp42 + r2new.aaa += tmp43.transpose((2, 1, 0)) + r2new.aaa += tmp43.transpose((1, 2, 0)) * -1 + del tmp43 + tmp101 = einsum(tmp33, (0, 1, 2), v.aaaa.ovov, (3, 4, 0, 1), (3, 4, 2), optimize=True) + del tmp33 + r2new.aaa += tmp101.transpose((1, 2, 0)) + r2new.aaa += tmp101.transpose((2, 1, 0)) * -1 + del tmp101 + tmp41 = einsum(t1.aa, (0, 1), tmp40, (2, 0, 3), (2, 1, 3), optimize=True) + del tmp40 + r2new.aaa += tmp41.transpose((2, 1, 0)) + r2new.aaa += tmp41.transpose((1, 2, 0)) * -1 + del tmp41 + tmp57 = einsum(tmp56, (0, 1, 2), t1.aa, (3, 1), (3, 2, 0), optimize=True) + del tmp56 + r2new.aaa += tmp57.transpose((2, 1, 0)) * -1 + r2new.aaa += tmp57.transpose((1, 2, 0)) + del tmp57 + tmp38 = tmp34.transpose((0, 2, 1)).copy() * -1 + del tmp34 + tmp38 += tmp37.transpose((0, 2, 1)) * 2 + del tmp37 + r2new.aaa += tmp38.transpose((2, 1, 0)) + r2new.aaa += tmp38.transpose((1, 2, 0)) * -1 + del tmp38 + tmp55 = einsum(tmp54, (0, 1, 2), t1.aa, (1, 3), (0, 3, 2), optimize=True) + del tmp54 + r2new.aaa += tmp55.transpose((2, 1, 0)) * -1 + r2new.aaa += tmp55.transpose((1, 2, 0)) + del tmp55 + tmp90 = einsum(t2.aaaa, (0, 1, 2, 3), tmp89, (1, 4, 3), (0, 2, 4), optimize=True) * 2 + del tmp89 + r2new.aaa += tmp90.transpose((2, 1, 0)) + r2new.aaa += tmp90.transpose((1, 2, 0)) * -1 + del tmp90 + tmp53 = einsum(r1.a, (0,), v.aaaa.ovvv, (1, 2, 3, 0), (1, 2, 3), optimize=True) + r2new.aaa += tmp53.transpose((1, 2, 0)) * -1 + r2new.aaa += tmp53.transpose((2, 1, 0)) + del tmp53 + tmp70 = einsum(r2.aaa, (0, 1, 2), tmp69, (2, 3), (3, 0, 1), optimize=True) + del tmp69 + r2new.aaa += tmp70.transpose((2, 1, 0)) + r2new.aaa += tmp70.transpose((2, 1, 0)) + del tmp70 + tmp50 = einsum(tmp49, (0, 1, 2), t2.aaaa, (1, 2, 3, 4), (0, 3, 4), optimize=True) + del tmp49 + r2new.aaa += tmp50.transpose((1, 2, 0)) + r2new.aaa += tmp50.transpose((1, 2, 0)) + del tmp50 + tmp100 = einsum(r2.aaa, (0, 1, 2), tmp99, (3, 1), (2, 0, 3), optimize=True) * -2 + del tmp99 + r2new.aaa += tmp100.transpose((1, 2, 0)) + r2new.aaa += tmp100.transpose((2, 1, 0)) * -1 + del tmp100 + tmp44 = tmp39.transpose((1, 0, 2)).copy() + del tmp39 + tmp44 += tmp31.transpose((2, 0, 1)) + r2new.aaa += einsum(tmp44, (0, 1, 2), t2.aaaa, (2, 0, 3, 4), (3, 4, 1), optimize=True) * 2 + del tmp44 + tmp52 = einsum(r2.bab, (0, 1, 2), tmp51, (3, 2, 4, 0), (3, 1, 4), optimize=True) * -1 + del tmp51 + r2new.aaa += tmp52.transpose((1, 2, 0)) + r2new.aaa += tmp52.transpose((2, 1, 0)) * -1 + del tmp52 + tmp95 = einsum(t2.abab, (0, 1, 2, 3), tmp94, (1, 4, 3), (0, 2, 4), optimize=True) + del tmp94 + r2new.aaa += tmp95.transpose((2, 1, 0)) + r2new.aaa += tmp95.transpose((1, 2, 0)) * -1 + del tmp95 + tmp82 = einsum(t1.aa, (0, 1), tmp81, (2, 0, 3), (2, 1, 3), optimize=True) + del tmp81 + r2new.aaa += tmp82.transpose((2, 1, 0)) * 2 + r2new.aaa += tmp82.transpose((1, 2, 0)) * -2 + del tmp82 + tmp77 = tmp72.copy() + tmp77 += einsum(tmp74, (0, 1, 2, 3), r2.aaa, (4, 3, 1), (0, 2, 4), optimize=True) * 2 + del tmp74 + tmp77 += einsum(tmp76, (0, 1, 2), t1.aa, (3, 1), (3, 0, 2), optimize=True) + del tmp76 + r2new.aaa += einsum(tmp77, (0, 1, 2), t1.aa, (1, 3), (2, 3, 0), optimize=True) * -1 + del tmp77 + tmp32 = einsum(t1.aa, (0, 1), tmp31, (2, 0, 3), (2, 3, 1), optimize=True) * -1 + del tmp31 + r2new.aaa += einsum(t1.aa, (0, 1), tmp32, (2, 0, 3), (1, 3, 2), optimize=True) * 2 + del tmp32 + tmp65 = einsum(tmp64, (0, 1), r2.aaa, (2, 0, 3), (3, 2, 1), optimize=True) * -1 + del tmp64 + r2new.aaa += tmp65.transpose((1, 2, 0)) * -2 + r2new.aaa += tmp65.transpose((2, 1, 0)) * 2 + del tmp65 + tmp80 = tmp72.copy() + del tmp72 + tmp80 += einsum(tmp78, (0, 1, 2, 3), r2.aaa, (4, 3, 1), (0, 2, 4), optimize=True) * 2 + del tmp78 + tmp80 += einsum(tmp79, (0, 1, 2), t1.aa, (3, 1), (3, 0, 2), optimize=True) * -1 + del tmp79 + r2new.aaa += einsum(tmp80, (0, 1, 2), t1.aa, (1, 3), (3, 2, 0), optimize=True) + del tmp80 + tmp60 = einsum(r2.aaa, (0, 1, 2), tmp59, (3, 2, 1, 4), (3, 0, 4), optimize=True) + del tmp59 + r2new.aaa += tmp60.transpose((1, 2, 0)) * -2 + r2new.aaa += tmp60.transpose((2, 1, 0)) * 2 + del tmp60 + tmp30 = f.bb.vv.copy() + tmp30 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), t1.bb, (0, 3), (1, 2), optimize=True) * -1 + r1new.b += einsum(tmp30, (0, 1), r1.b, (0,), (1,), optimize=True) + del tmp30 + tmp23 = f.bb.ov.copy() + tmp23 += tmp7 + del tmp7 + tmp23 += einsum(t1.bb, (0, 1), tmp22, (0, 2, 3, 1), (2, 3), optimize=True) * -1 + del tmp22 + r1new.b += einsum(tmp23, (0, 1), r2.bbb, (2, 1, 0), (2,), optimize=True) * 2 + del tmp23 + tmp29 = einsum(v.aabb.ovov, (0, 1, 2, 3), tmp21, (0, 1, 3), (2,), optimize=True) * -0.5 + del tmp21 + tmp29 += einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp20, (2, 3, 1), (0,), optimize=True) * -0.5 + del tmp20 + tmp29 += einsum(tmp28, (0, 1), r1.b, (1,), (0,), optimize=True) * 0.5 + del tmp28 + r1new.b += einsum(tmp29, (0,), t1.bb, (0, 1), (1,), optimize=True) * -2 + del tmp29 + tmp17 = f.aa.vv.copy() + tmp17 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), t1.aa, (0, 3), (1, 2), optimize=True) * -1 + r1new.a += einsum(r1.a, (0,), tmp17, (0, 1), (1,), optimize=True) + del tmp17 + tmp6 = f.aa.ov.copy() + tmp6 += tmp4 + del tmp4 + tmp6 += einsum(tmp5, (0, 1, 2, 3), t1.aa, (0, 3), (1, 2), optimize=True) * -1 + del tmp5 + r1new.a += einsum(tmp6, (0, 1), r2.aaa, (2, 1, 0), (2,), optimize=True) * 2 + del tmp6 + r2new.aaa += einsum(r2.aaa, (0, 1, 2), v.aaaa.vvvv, (3, 0, 4, 1), (3, 4, 2), optimize=True) * 2 + r2new.aba += einsum(r2.aba, (0, 1, 2), v.aaaa.oovv, (3, 2, 4, 0), (4, 1, 3), optimize=True) * -1 + r2new.aba += einsum(r2.aba, (0, 1, 2), v.aaaa.ovov, (3, 4, 2, 0), (4, 1, 3), optimize=True) + r2new.aba += einsum(r2.aba, (0, 1, 2), v.aabb.oovv, (3, 2, 4, 1), (0, 4, 3), optimize=True) * -1 + r2new.bab += einsum(r2.bab, (0, 1, 2), v.bbbb.oovv, (3, 2, 4, 0), (4, 1, 3), optimize=True) * -1 + r2new.bab += einsum(v.aabb.vvoo, (0, 1, 2, 3), r2.bab, (4, 1, 3), (4, 0, 2), optimize=True) * -1 + r2new.bab += einsum(r2.bab, (0, 1, 2), v.bbbb.ovov, (3, 4, 2, 0), (4, 1, 3), optimize=True) + r2new.bbb += einsum(v.bbbb.vvvv, (0, 1, 2, 3), r2.bbb, (1, 3, 4), (0, 2, 4), optimize=True) * 2 + + return r1new, r2new + +def hbar_matvec_ee(f=None, r1=None, r2=None, t1=None, t2=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-07-22T17:03:35.227637. + + Parameters + ---------- + f : Namespace of arrays + Fock matrix. + r1 : Namespace of arrays + R1 amplitudes. + r2 : Namespace of arrays + R2 amplitudes. + t1 : Namespace of arrays + T1 amplitudes. + t2 : Namespace of arrays + T2 amplitudes. + v : Namespace of arrays + Electron repulsion integrals. + + Returns + ------- + r1new : Namespace of arrays + Updated R1 residuals. + r2new : Namespace of arrays + Updated R2 residuals. + """ + + r1new = Namespace() + r2new = Namespace() + tmp49 = v.bbbb.ovov.transpose((0, 2, 3, 1)).copy() * -1 + tmp49 += v.bbbb.ovov.transpose((0, 2, 1, 3)) + tmp21 = v.aaaa.ovov.transpose((0, 2, 3, 1)).copy() * -1 + tmp21 += v.aaaa.ovov.transpose((0, 2, 1, 3)) + tmp59 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t1.bb, (4, 3), (4, 0, 2, 1), optimize=True) + r1new.bb = einsum(tmp59, (0, 1, 2, 3), r2.bbbb, (1, 2, 4, 3), (0, 4), optimize=True) * 2 + tmp50 = einsum(t1.bb, (0, 1), tmp49, (0, 2, 3, 1), (2, 3), optimize=True) + tmp6 = einsum(t1.aa, (0, 1), v.aabb.ovov, (0, 1, 2, 3), (2, 3), optimize=True) + tmp13 = einsum(r1.aa, (0, 1), v.aabb.ovov, (0, 1, 2, 3), (2, 3), optimize=True) + r1new.bb += tmp13 + tmp66 = einsum(r1.bb, (0, 1), tmp49, (0, 2, 3, 1), (2, 3), optimize=True) + del tmp49 + tmp7 = v.bbbb.ovov.transpose((0, 2, 3, 1)).copy() * -1 + tmp7 += v.bbbb.ovov.transpose((0, 2, 1, 3)) + tmp310 = einsum(v.bbbb.ooov, (0, 1, 2, 3), t1.bb, (4, 3), (4, 0, 1, 2), optimize=True) + tmp30 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 2, 1), optimize=True) + r1new.aa = einsum(tmp30, (0, 1, 2, 3), r2.aaaa, (2, 1, 4, 3), (0, 4), optimize=True) * -2 + tmp22 = einsum(tmp21, (0, 1, 2, 3), t1.aa, (0, 3), (1, 2), optimize=True) + tmp2 = einsum(v.aabb.ovov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1), optimize=True) + tmp3 = v.aaaa.ovov.transpose((0, 2, 3, 1)).copy() * -1 + tmp3 += v.aaaa.ovov.transpose((0, 2, 1, 3)) + tmp134 = einsum(t1.aa, (0, 1), v.aaaa.ooov, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) + tmp10 = einsum(v.aabb.ovov, (0, 1, 2, 3), r1.bb, (2, 3), (0, 1), optimize=True) + r1new.aa += tmp10 + tmp39 = einsum(r1.aa, (0, 1), tmp21, (0, 2, 3, 1), (2, 3), optimize=True) + del tmp21 + tmp200 = r2.bbbb.copy() * 2 + tmp200 += einsum(t1.bb, (0, 1), r1.bb, (2, 3), (0, 2, 3, 1), optimize=True) * -1 + tmp193 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (0, 2, 4, 3), (4, 1), optimize=True) + tmp192 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 1, 4), (3, 4), optimize=True) + tmp324 = tmp59.copy() * -1 + tmp324 += tmp59.transpose((0, 2, 1, 3)) + tmp58 = einsum(v.aabb.ovov, (0, 1, 2, 3), t1.bb, (4, 3), (0, 4, 2, 1), optimize=True) + r2new.abab = einsum(r1.bb, (0, 1), tmp58, (2, 3, 0, 4), (2, 3, 4, 1), optimize=True) * -1 + r1new.bb += einsum(r2.abab, (0, 1, 2, 3), tmp58, (0, 4, 1, 2), (4, 3), optimize=True) * -1 + tmp315 = einsum(tmp59, (0, 1, 2, 3), r1.bb, (4, 3), (4, 0, 1, 2), optimize=True) + tmp51 = f.bb.ov.copy() + tmp51 += tmp6 + tmp51 += tmp50 * -1 + del tmp50 + tmp187 = v.bbbb.ooov.copy() + tmp187 += v.bbbb.ooov.transpose((0, 2, 1, 3)) * -1 + tmp67 = tmp13.copy() + tmp67 += tmp66 * -1 + del tmp66 + tmp207 = v.bbbb.ovvv.copy() + tmp207 += v.bbbb.ovvv.transpose((0, 2, 3, 1)) * -1 + tmp14 = einsum(r1.bb, (0, 1), tmp7, (0, 2, 3, 1), (2, 3), optimize=True) + tmp8 = einsum(t1.bb, (0, 1), tmp7, (0, 2, 3, 1), (2, 3), optimize=True) + del tmp7 + tmp318 = tmp310.transpose((0, 2, 1, 3)).copy() * -1 + tmp318 += tmp310.transpose((0, 2, 3, 1)) + tmp47 = v.bbbb.ooov.copy() + tmp47 += v.bbbb.ovoo.transpose((0, 2, 3, 1)) * -1 + tmp305 = v.bbbb.ovvv.copy() * -1 + tmp305 += v.bbbb.ovvv.transpose((0, 2, 3, 1)) + tmp102 = v.bbbb.ovov.transpose((0, 2, 3, 1)).copy() + tmp102 += v.bbbb.ovov.transpose((0, 2, 1, 3)) * -1 + tmp246 = v.bbbb.ooov.copy() + tmp246 += v.bbbb.ovoo.transpose((0, 2, 3, 1)) * -1 + tmp269 = einsum(v.bbbb.ooov, (0, 1, 2, 3), r1.bb, (4, 3), (4, 0, 1, 2), optimize=True) + r2new.bbbb = einsum(tmp269, (0, 1, 2, 3), t2.bbbb, (3, 2, 4, 5), (0, 1, 4, 5), optimize=True) * 2 + tmp31 = einsum(t1.aa, (0, 1), v.aabb.ovov, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) + r2new.abab += einsum(tmp31, (0, 1, 2, 3), r1.aa, (1, 4), (0, 2, 4, 3), optimize=True) * -1 + r1new.aa += einsum(r2.abab, (0, 1, 2, 3), tmp31, (4, 0, 1, 3), (4, 2), optimize=True) * -1 + tmp139 = einsum(r1.aa, (0, 1), tmp30, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) + tmp143 = tmp30.copy() * -1 + tmp143 += tmp30.transpose((0, 2, 1, 3)) + tmp23 = f.aa.ov.copy() + tmp23 += tmp2 + tmp23 += tmp22 * -1 + del tmp22 + tmp85 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 4, 1, 3), (2, 4), optimize=True) + tmp84 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (0, 4, 1, 3), (2, 4), optimize=True) + tmp72 = v.aaaa.ooov.copy() + tmp72 += v.aaaa.ooov.transpose((0, 2, 1, 3)) * -1 + tmp70 = einsum(r1.aa, (0, 1), v.aaaa.ooov, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) + r2new.aaaa = einsum(t2.aaaa, (0, 1, 2, 3), tmp70, (4, 5, 1, 0), (4, 5, 2, 3), optimize=True) * 2 + tmp4 = einsum(tmp3, (0, 1, 2, 3), t1.aa, (0, 3), (1, 2), optimize=True) + tmp128 = v.aaaa.ovvv.copy() + tmp128 += v.aaaa.ovvv.transpose((0, 2, 1, 3)) * -1 + tmp97 = v.aaaa.ooov.copy() * -1 + tmp97 += v.aaaa.ovoo.transpose((0, 2, 3, 1)) + tmp95 = r2.aaaa.copy() * 2 + tmp95 += einsum(r1.aa, (0, 1), t1.aa, (2, 3), (2, 0, 1, 3), optimize=True) * -1 + tmp11 = einsum(tmp3, (0, 1, 2, 3), r1.aa, (0, 3), (1, 2), optimize=True) + tmp148 = tmp134.transpose((0, 2, 1, 3)).copy() + tmp148 += tmp134.transpose((0, 3, 2, 1)) * -1 + tmp19 = v.aaaa.ooov.copy() * -1 + tmp19 += v.aaaa.ooov.transpose((0, 2, 1, 3)) + tmp116 = v.aaaa.ovvv.copy() * -1 + tmp116 += v.aaaa.ovvv.transpose((0, 2, 1, 3)) + tmp40 = tmp10.copy() + tmp40 += tmp39 * -1 + del tmp39 + tmp201 = einsum(tmp200, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 0, 2), (4, 1, 5, 3), optimize=True) + r2new.abab += tmp201 + tmp293 = einsum(tmp3, (0, 1, 2, 3), r2.abab, (0, 4, 3, 5), (1, 4, 2, 5), optimize=True) + tmp232 = einsum(r1.bb, (0, 1), v.aabb.ovoo, (2, 3, 4, 0), (2, 4, 3, 1), optimize=True) + r2new.abab += tmp232 * -1 + tmp277 = einsum(v.bbbb.oooo, (0, 1, 2, 3), t1.bb, (3, 4), (0, 1, 2, 4), optimize=True) + tmp286 = tmp192.copy() + tmp286 += tmp193 * 2 + tmp325 = einsum(r2.bbbb, (0, 1, 2, 3), tmp324, (4, 5, 1, 3), (4, 5, 0, 2), optimize=True) + tmp322 = einsum(tmp58, (0, 1, 2, 3), r2.abab, (0, 4, 3, 5), (4, 1, 2, 5), optimize=True) + tmp323 = einsum(tmp315, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 3, 4), optimize=True) + tmp63 = einsum(tmp51, (0, 1), t1.bb, (2, 1), (2, 0), optimize=True) + tmp61 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 3), (1, 4), optimize=True) + tmp62 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (4, 2, 3, 1), (4, 0), optimize=True) * -1 + tmp271 = einsum(r2.abab, (0, 1, 2, 3), v.aabb.ovoo, (0, 2, 4, 5), (1, 4, 5, 3), optimize=True) + tmp272 = einsum(r2.bbbb, (0, 1, 2, 3), tmp187, (4, 5, 1, 3), (4, 5, 0, 2), optimize=True) + tmp259 = v.bbbb.ovvv.copy() + tmp259 += v.bbbb.ovvv.transpose((0, 2, 3, 1)) * -1 + tmp209 = einsum(tmp51, (0, 1), r1.bb, (0, 2), (2, 1), optimize=True) + tmp210 = einsum(tmp67, (0, 1), t1.bb, (0, 2), (2, 1), optimize=True) + tmp208 = einsum(r1.bb, (0, 1), tmp207, (0, 1, 2, 3), (2, 3), optimize=True) + tmp206 = einsum(v.bbbb.ovov, (0, 1, 2, 3), r2.bbbb, (0, 2, 4, 1), (4, 3), optimize=True) * -1 + tmp205 = einsum(r2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 1, 4), (3, 4), optimize=True) + tmp204 = einsum(v.aabb.ovvv, (0, 1, 2, 3), r1.aa, (0, 1), (2, 3), optimize=True) + tmp15 = tmp13.copy() + del tmp13 + tmp15 += tmp14 * -1 + del tmp14 + r1new.bb += einsum(tmp15, (0, 1), t2.bbbb, (2, 0, 3, 1), (2, 3), optimize=True) * 2 + r1new.aa += einsum(t2.abab, (0, 1, 2, 3), tmp15, (1, 3), (0, 2), optimize=True) + tmp317 = einsum(t1.bb, (0, 1), v.bbbb.oovv, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) + tmp338 = einsum(tmp310, (0, 1, 2, 3), t1.bb, (3, 4), (0, 2, 1, 4), optimize=True) + tmp9 = f.bb.ov.copy() + tmp9 += tmp6 + del tmp6 + tmp9 += tmp8 * -1 + del tmp8 + r1new.bb += einsum(tmp9, (0, 1), r2.bbbb, (2, 0, 3, 1), (2, 3), optimize=True) * 2 + r1new.aa += einsum(r2.abab, (0, 1, 2, 3), tmp9, (1, 3), (0, 2), optimize=True) + tmp346 = einsum(v.bbbb.ovvv, (0, 1, 2, 3), t1.bb, (4, 3), (4, 0, 1, 2), optimize=True) + tmp319 = einsum(tmp318, (0, 1, 2, 3), t1.bb, (3, 4), (0, 1, 2, 4), optimize=True) + del tmp318 + tmp48 = einsum(tmp47, (0, 1, 2, 3), r1.bb, (0, 3), (1, 2), optimize=True) + tmp45 = einsum(r2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 3), (1, 4), optimize=True) + tmp46 = einsum(v.bbbb.ovov, (0, 1, 2, 3), r2.bbbb, (4, 2, 1, 3), (4, 0), optimize=True) + tmp44 = einsum(r1.aa, (0, 1), v.aabb.ovoo, (0, 1, 2, 3), (2, 3), optimize=True) + tmp52 = einsum(tmp51, (0, 1), r1.bb, (2, 1), (2, 0), optimize=True) + tmp333 = einsum(tmp324, (0, 1, 2, 3), t2.bbbb, (4, 2, 5, 3), (0, 1, 4, 5), optimize=True) + del tmp324 + tmp332 = einsum(tmp58, (0, 1, 2, 3), t2.abab, (0, 4, 3, 5), (1, 4, 2, 5), optimize=True) + tmp342 = einsum(t1.bb, (0, 1), tmp59, (2, 3, 4, 1), (2, 0, 4, 3), optimize=True) + tmp306 = einsum(tmp305, (0, 1, 2, 3), t1.bb, (0, 1), (2, 3), optimize=True) + del tmp305 + tmp212 = einsum(t1.aa, (0, 1), v.aabb.ovvv, (0, 1, 2, 3), (2, 3), optimize=True) + tmp243 = einsum(r2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 5), (1, 4, 3, 5), optimize=True) + r2new.bbbb += tmp243 + r2new.bbbb += tmp243.transpose((0, 1, 3, 2)) * -1 + r2new.bbbb += tmp243.transpose((1, 0, 2, 3)) * -1 + r2new.bbbb += tmp243.transpose((1, 0, 3, 2)) + tmp244 = einsum(tmp200, (0, 1, 2, 3), tmp102, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) + tmp247 = einsum(tmp246, (0, 1, 2, 3), r1.bb, (0, 4), (1, 2, 3, 4), optimize=True) + tmp283 = einsum(tmp269, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 3, 4), optimize=True) + tmp108 = v.aaaa.ooov.copy() * -1 + tmp108 += v.aaaa.ooov.transpose((0, 2, 1, 3)) + tmp142 = einsum(r2.abab, (0, 1, 2, 3), tmp31, (4, 5, 1, 3), (0, 4, 5, 2), optimize=True) + tmp141 = einsum(t1.aa, (0, 1), tmp139, (2, 3, 0, 4), (2, 3, 4, 1), optimize=True) + tmp144 = einsum(tmp143, (0, 1, 2, 3), r2.aaaa, (4, 1, 5, 3), (0, 2, 4, 5), optimize=True) + tmp34 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 2, 1, 3), (0, 4), optimize=True) + tmp35 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 1, 3), (0, 4), optimize=True) + tmp36 = einsum(tmp23, (0, 1), t1.aa, (2, 1), (2, 0), optimize=True) + tmp163 = einsum(tmp134, (0, 1, 2, 3), t1.aa, (3, 4), (0, 2, 1, 4), optimize=True) + tmp147 = einsum(v.aaaa.oovv, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 1, 2), optimize=True) + tmp76 = einsum(t1.aa, (0, 1), v.aaaa.oooo, (2, 3, 4, 0), (2, 3, 4, 1), optimize=True) + tmp86 = tmp84.copy() + tmp86 += tmp85 * 0.5 + tmp152 = v.aaaa.ovvv.copy() * -1 + tmp152 += v.aaaa.ovvv.transpose((0, 2, 1, 3)) + tmp73 = einsum(tmp72, (0, 1, 2, 3), r2.aaaa, (4, 2, 5, 3), (4, 0, 1, 5), optimize=True) + del tmp72 + tmp71 = einsum(r2.abab, (0, 1, 2, 3), v.aabb.ooov, (4, 5, 1, 3), (0, 4, 5, 2), optimize=True) + tmp91 = einsum(t1.aa, (0, 1), tmp70, (2, 3, 0, 4), (2, 3, 4, 1), optimize=True) + tmp5 = f.aa.ov.copy() + tmp5 += tmp2 + del tmp2 + tmp5 += tmp4 * -1 + del tmp4 + r1new.bb += einsum(r2.abab, (0, 1, 2, 3), tmp5, (0, 2), (1, 3), optimize=True) + r1new.aa += einsum(tmp5, (0, 1), r2.aaaa, (2, 0, 3, 1), (2, 3), optimize=True) * 2 + tmp129 = einsum(tmp128, (0, 1, 2, 3), t1.aa, (0, 2), (1, 3), optimize=True) + del tmp128 + tmp127 = einsum(v.aabb.vvov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1), optimize=True) + tmp94 = einsum(r2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (0, 4, 2, 5), optimize=True) + r2new.aaaa += tmp94 + r2new.aaaa += tmp94.transpose((0, 1, 3, 2)) * -1 + r2new.aaaa += tmp94.transpose((1, 0, 2, 3)) * -1 + r2new.aaaa += tmp94.transpose((1, 0, 3, 2)) + tmp98 = einsum(tmp97, (0, 1, 2, 3), r1.aa, (2, 4), (0, 1, 4, 3), optimize=True) + tmp96 = einsum(tmp95, (0, 1, 2, 3), tmp3, (0, 4, 5, 2), (4, 1, 5, 3), optimize=True) + del tmp3 + tmp169 = einsum(t1.aa, (0, 1), tmp30, (2, 3, 4, 1), (2, 0, 4, 3), optimize=True) + tmp104 = einsum(v.aabb.ovov, (0, 1, 2, 3), tmp95, (0, 4, 1, 5), (4, 2, 5, 3), optimize=True) + r2new.abab += tmp104 + tmp103 = einsum(tmp102, (0, 1, 2, 3), r2.abab, (4, 0, 5, 3), (4, 1, 5, 2), optimize=True) + del tmp102 + tmp101 = einsum(v.aabb.ooov, (0, 1, 2, 3), r1.aa, (1, 4), (0, 2, 4, 3), optimize=True) + r2new.abab += tmp101 * -1 + tmp12 = tmp10.copy() + del tmp10 + tmp12 += tmp11 * -1 + del tmp11 + r1new.bb += einsum(t2.abab, (0, 1, 2, 3), tmp12, (0, 2), (1, 3), optimize=True) + r1new.aa += einsum(tmp12, (0, 1), t2.aaaa, (2, 0, 3, 1), (2, 3), optimize=True) * 2 + tmp171 = einsum(t1.aa, (0, 1), v.aaaa.ovvv, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) + tmp159 = einsum(t2.abab, (0, 1, 2, 3), tmp31, (4, 5, 1, 3), (4, 0, 5, 2), optimize=True) + tmp160 = einsum(t2.aaaa, (0, 1, 2, 3), tmp143, (4, 5, 1, 3), (4, 5, 0, 2), optimize=True) + del tmp143 + tmp149 = einsum(t1.aa, (0, 1), tmp148, (2, 0, 3, 4), (2, 3, 4, 1), optimize=True) + del tmp148 + tmp17 = einsum(r2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 3, 1, 2), (0, 4), optimize=True) * -1 + tmp20 = einsum(tmp19, (0, 1, 2, 3), r1.aa, (2, 3), (0, 1), optimize=True) + tmp18 = einsum(r2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 1, 3), (0, 4), optimize=True) + tmp16 = einsum(v.aabb.ooov, (0, 1, 2, 3), r1.bb, (2, 3), (0, 1), optimize=True) + tmp24 = einsum(tmp23, (0, 1), r1.aa, (2, 1), (2, 0), optimize=True) + tmp120 = einsum(r2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (0, 4, 1, 3), (2, 4), optimize=True) + tmp122 = einsum(tmp116, (0, 1, 2, 3), r1.aa, (0, 2), (1, 3), optimize=True) + tmp123 = einsum(r1.aa, (0, 1), tmp23, (0, 2), (1, 2), optimize=True) + tmp124 = einsum(t1.aa, (0, 1), tmp40, (0, 2), (1, 2), optimize=True) + tmp121 = einsum(r2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 4, 1, 3), (2, 4), optimize=True) + tmp119 = einsum(r1.bb, (0, 1), v.aabb.vvov, (2, 3, 0, 1), (2, 3), optimize=True) + tmp294 = tmp232.copy() + tmp294 += tmp293 + del tmp293 + tmp294 += tmp201 * -1 + tmp352 = tmp59.copy() * -1 + tmp352 += tmp59.transpose((0, 2, 1, 3)) + tmp351 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovvv, (4, 2, 5, 3), (0, 1, 4, 5), optimize=True) + r2new.bbbb += einsum(r1.bb, (0, 1), tmp351, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) * -2 + tmp278 = einsum(r1.bb, (0, 1), tmp277, (2, 0, 3, 4), (2, 3, 1, 4), optimize=True) + del tmp277 + r2new.bbbb += tmp278.transpose((1, 0, 3, 2)) + r2new.bbbb += tmp278.transpose((1, 0, 2, 3)) * -1 + tmp287 = einsum(r2.bbbb, (0, 1, 2, 3), tmp286, (4, 3), (0, 1, 4, 2), optimize=True) * -2 + del tmp286 + tmp55 = einsum(tmp47, (0, 1, 2, 3), t1.bb, (0, 3), (1, 2), optimize=True) + del tmp47 + tmp54 = einsum(t1.aa, (0, 1), v.aabb.ovoo, (0, 1, 2, 3), (2, 3), optimize=True) + tmp326 = tmp322.copy() + del tmp322 + tmp326 += tmp323 * -1 + del tmp323 + tmp326 += tmp325.transpose((2, 0, 1, 3)) * 2 + del tmp325 + tmp281 = einsum(r2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 2, 5, 3), (0, 1, 4, 5), optimize=True) + tmp329 = tmp61.copy() + tmp329 += tmp62 * 2 + tmp329 += tmp63 + tmp273 = tmp271.transpose((0, 2, 1, 3)).copy() + tmp273 += tmp272.transpose((2, 1, 0, 3)) * 2 + tmp356 = einsum(tmp259, (0, 1, 2, 3), r1.bb, (4, 1), (0, 4, 2, 3), optimize=True) + tmp211 = tmp204.transpose((1, 0)).copy() * -1 + del tmp204 + tmp211 += tmp205.transpose((1, 0)) + del tmp205 + tmp211 += tmp206.transpose((1, 0)) * 2 + del tmp206 + tmp211 += tmp208.transpose((1, 0)) * -1 + del tmp208 + tmp211 += tmp209.transpose((1, 0)) + del tmp209 + tmp211 += tmp210.transpose((1, 0)) + del tmp210 + r2new.abab += einsum(tmp211, (0, 1), t2.abab, (2, 3, 4, 0), (2, 3, 4, 1), optimize=True) * -1 + tmp299 = einsum(v.bbbb.ovvv, (0, 1, 2, 3), r2.bbbb, (4, 5, 1, 3), (4, 5, 0, 2), optimize=True) + tmp302 = einsum(r1.bb, (0, 1), tmp207, (2, 1, 3, 4), (2, 0, 3, 4), optimize=True) + del tmp207 + tmp263 = einsum(t1.bb, (0, 1), v.aabb.ovvv, (2, 3, 4, 1), (2, 0, 3, 4), optimize=True) + r2new.abab += einsum(tmp263, (0, 1, 2, 3), tmp95, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) + tmp222 = einsum(tmp15, (0, 1), t1.bb, (2, 1), (2, 0), optimize=True) + del tmp15 + r2new.abab += einsum(tmp222, (0, 1), t2.abab, (2, 1, 3, 4), (2, 0, 3, 4), optimize=True) * -1 + tmp339 = tmp317.transpose((0, 2, 1, 3)).copy() + tmp339 += tmp338.transpose((0, 2, 1, 3)) * -1 + del tmp338 + tmp344 = einsum(t1.bb, (0, 1), v.bbbb.vvvv, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) + tmp289 = einsum(tmp9, (0, 1), t1.bb, (0, 2), (2, 1), optimize=True) + del tmp9 + tmp347 = einsum(t1.bb, (0, 1), tmp346, (2, 3, 1, 4), (0, 2, 3, 4), optimize=True) + del tmp346 + tmp320 = tmp317.transpose((0, 2, 1, 3)).copy() + del tmp317 + tmp320 += tmp319.transpose((0, 2, 1, 3)) + del tmp319 + tmp275 = einsum(tmp269, (0, 1, 2, 3), t1.bb, (3, 4), (0, 2, 1, 4), optimize=True) + tmp53 = tmp44.transpose((1, 0)).copy() + del tmp44 + tmp53 += tmp45.transpose((1, 0)) + del tmp45 + tmp53 += tmp46.transpose((1, 0)) * 2 + del tmp46 + tmp53 += tmp48.transpose((1, 0)) * -1 + del tmp48 + tmp53 += tmp52.transpose((1, 0)) + del tmp52 + r2new.abab += einsum(tmp53, (0, 1), t2.abab, (2, 0, 3, 4), (2, 1, 3, 4), optimize=True) * -1 + r1new.bb += einsum(tmp53, (0, 1), t1.bb, (0, 2), (1, 2), optimize=True) * -1 + tmp336 = einsum(tmp310, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 3, 4), optimize=True) + tmp334 = tmp332.copy() + tmp334 += tmp333.transpose((0, 2, 1, 3)) * 2 + del tmp333 + tmp260 = einsum(tmp259, (0, 1, 2, 3), t1.bb, (4, 1), (0, 4, 2, 3), optimize=True) + del tmp259 + r2new.abab += einsum(tmp260, (0, 1, 2, 3), r2.abab, (4, 0, 5, 3), (4, 1, 5, 2), optimize=True) * -1 + tmp349 = einsum(tmp342, (0, 1, 2, 3), t1.bb, (2, 4), (1, 0, 3, 4), optimize=True) + tmp218 = einsum(v.aabb.ovvv, (0, 1, 2, 3), r1.bb, (4, 3), (0, 4, 1, 2), optimize=True) + r2new.abab += tmp218 + tmp307 = f.bb.vv.copy() + tmp307 += tmp212.transpose((1, 0)) + tmp307 += tmp306.transpose((1, 0)) * -1 + del tmp306 + tmp291 = tmp243.copy() + tmp291 += tmp244 * -1 + tmp291 += tmp247.transpose((0, 1, 3, 2)) * -1 + tmp284 = tmp271.transpose((0, 2, 1, 3)).copy() + del tmp271 + tmp284 += tmp283.transpose((0, 2, 1, 3)) + del tmp283 + tmp284 += tmp272.transpose((2, 1, 0, 3)) * 2 + del tmp272 + tmp233 = v.aaaa.ovov.transpose((0, 2, 3, 1)).copy() + tmp233 += v.aaaa.ovov.transpose((0, 2, 1, 3)) * -1 + tmp240 = tmp30.copy() + tmp240 += tmp30.transpose((0, 2, 1, 3)) * -1 + tmp241 = t2.bbbb.copy() * 2 + tmp241 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1), optimize=True) * -1 + tmp237 = einsum(tmp58, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 1, 2), optimize=True) + r2new.abab += einsum(tmp237, (0, 1, 2, 3), r2.abab, (1, 3, 4, 5), (0, 2, 4, 5), optimize=True) + tmp245 = v.bbbb.ovvv.copy() + tmp245 += v.bbbb.ovvv.transpose((0, 2, 1, 3)) * -1 + tmp213 = v.bbbb.ovvv.copy() * -1 + tmp213 += v.bbbb.ovvv.transpose((0, 2, 3, 1)) + tmp255 = einsum(t1.aa, (0, 1), v.aabb.ovvv, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) + r2new.abab += einsum(r2.abab, (0, 1, 2, 3), tmp255, (4, 0, 5, 3), (4, 1, 2, 5), optimize=True) * -1 + tmp225 = einsum(v.aabb.ovoo, (0, 1, 2, 3), t1.aa, (4, 1), (4, 0, 2, 3), optimize=True) + r2new.abab += einsum(tmp225, (0, 1, 2, 3), r2.abab, (1, 3, 4, 5), (0, 2, 4, 5), optimize=True) + tmp219 = einsum(v.aabb.ooov, (0, 1, 2, 3), t1.bb, (4, 3), (0, 1, 4, 2), optimize=True) + r2new.abab += einsum(tmp219, (0, 1, 2, 3), r2.abab, (1, 3, 4, 5), (0, 2, 4, 5), optimize=True) + tmp217 = einsum(v.aabb.vvov, (0, 1, 2, 3), t1.bb, (4, 3), (4, 2, 0, 1), optimize=True) + r2new.abab += einsum(r2.abab, (0, 1, 2, 3), tmp217, (4, 1, 5, 2), (0, 4, 5, 3), optimize=True) * -1 + tmp154 = r2.aaaa.copy() + tmp154 += einsum(r1.aa, (0, 1), t1.aa, (2, 3), (2, 0, 1, 3), optimize=True) * -0.5 + tmp220 = tmp59.copy() + tmp220 += tmp59.transpose((0, 2, 1, 3)) * -1 + tmp228 = r2.abab.copy() + tmp228 += einsum(r1.aa, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3), optimize=True) + r2new.abab += einsum(v.aabb.vvoo, (0, 1, 2, 3), tmp228, (4, 3, 1, 5), (4, 2, 0, 5), optimize=True) * -1 + tmp198 = v.aaaa.ovvv.copy() + tmp198 += v.aaaa.ovvv.transpose((0, 2, 1, 3)) * -1 + tmp235 = r2.abab.copy() + tmp235 += einsum(t1.aa, (0, 1), r1.bb, (2, 3), (0, 2, 1, 3), optimize=True) + tmp226 = r2.abab.copy() + tmp226 += einsum(t1.aa, (0, 1), r1.bb, (2, 3), (0, 2, 1, 3), optimize=True) + tmp26 = einsum(v.aabb.ooov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1), optimize=True) + tmp109 = einsum(t1.aa, (0, 1), tmp108, (2, 3, 0, 1), (2, 3), optimize=True) + tmp253 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 5, 3), (0, 4, 1, 5), optimize=True) + tmp261 = tmp59.copy() + tmp261 += tmp59.transpose((0, 2, 1, 3)) * -1 + tmp114 = einsum(r1.aa, (0, 1), v.aabb.vvov, (2, 1, 3, 4), (0, 3, 2, 4), optimize=True) + r2new.abab += tmp114 + r2new.abab += einsum(tmp114, (0, 1, 2, 3), t2.bbbb, (4, 1, 5, 3), (0, 4, 2, 5), optimize=True) * 2 + tmp179 = tmp30.copy() * -1 + tmp179 += tmp30.transpose((0, 2, 1, 3)) + tmp178 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovvv, (4, 3, 5, 2), (0, 1, 4, 5), optimize=True) * -1 + r2new.aaaa += einsum(tmp178, (0, 1, 2, 3), r1.aa, (2, 4), (0, 1, 4, 3), optimize=True) * -2 + tmp145 = tmp141.copy() + del tmp141 + tmp145 += tmp142 * -1 + del tmp142 + tmp145 += tmp144.transpose((2, 0, 1, 3)) * 2 + del tmp144 + tmp155 = tmp34.copy() * 2 + tmp155 += tmp35 + tmp155 += tmp36 + tmp112 = einsum(r2.aaaa, (0, 1, 2, 3), v.aaaa.ovvv, (4, 3, 5, 2), (0, 1, 4, 5), optimize=True) * -1 + tmp164 = tmp147.transpose((0, 2, 1, 3)).copy() + tmp164 += tmp163.transpose((0, 2, 1, 3)) * -1 + del tmp163 + tmp82 = einsum(v.aaaa.ovov, (0, 1, 2, 3), r2.aaaa, (4, 5, 3, 1), (4, 5, 0, 2), optimize=True) * -1 + tmp77 = einsum(tmp76, (0, 1, 2, 3), r1.aa, (1, 4), (0, 2, 4, 3), optimize=True) + del tmp76 + r2new.aaaa += tmp77.transpose((1, 0, 3, 2)) + r2new.aaaa += tmp77.transpose((1, 0, 2, 3)) * -1 + tmp87 = einsum(r2.aaaa, (0, 1, 2, 3), tmp86, (4, 3), (0, 1, 2, 4), optimize=True) * -4 + del tmp86 + tmp153 = einsum(t1.aa, (0, 1), tmp152, (2, 3, 1, 4), (0, 2, 3, 4), optimize=True) + r2new.abab += einsum(tmp153, (0, 1, 2, 3), r2.abab, (1, 4, 2, 5), (0, 4, 3, 5), optimize=True) * -1 + r2new.aaaa += einsum(tmp153, (0, 1, 2, 3), tmp154, (1, 4, 2, 5), (4, 0, 3, 5), optimize=True) * 2 + tmp92 = tmp91.transpose((0, 2, 1, 3)).copy() + del tmp91 + tmp92 += tmp71.transpose((0, 2, 1, 3)) + tmp92 += tmp73.transpose((0, 2, 1, 3)) * 2 + tmp89 = einsum(t1.aa, (0, 1), tmp5, (0, 2), (1, 2), optimize=True) + del tmp5 + tmp130 = f.aa.vv.copy() + tmp130 += tmp127.transpose((1, 0)) + tmp130 += tmp129 * -1 + del tmp129 + tmp78 = einsum(tmp70, (0, 1, 2, 3), t1.aa, (3, 4), (0, 2, 1, 4), optimize=True) + tmp99 = tmp94.copy() + tmp99 += tmp96.transpose((1, 0, 3, 2)) * -1 + del tmp96 + tmp99 += tmp98.transpose((1, 0, 2, 3)) * -1 + del tmp98 + tmp166 = einsum(tmp134, (0, 1, 2, 3), t1.aa, (2, 4), (0, 1, 3, 4), optimize=True) + tmp174 = einsum(v.aaaa.vvvv, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 1, 2), optimize=True) + tmp176 = einsum(t1.aa, (0, 1), tmp169, (2, 3, 0, 4), (3, 2, 4, 1), optimize=True) + tmp105 = tmp101.copy() + del tmp101 + tmp105 += tmp103 * -1 + del tmp103 + tmp105 += tmp104 * -1 + del tmp104 + r2new.abab += einsum(t2.bbbb, (0, 1, 2, 3), tmp105, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) * -2 + tmp183 = einsum(r1.aa, (0, 1), tmp152, (2, 3, 1, 4), (0, 2, 3, 4), optimize=True) + del tmp152 + r2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp183, (4, 0, 2, 5), (4, 1, 5, 3), optimize=True) * -1 + tmp136 = einsum(t1.aa, (0, 1), v.aabb.vvov, (2, 1, 3, 4), (0, 3, 2, 4), optimize=True) + tmp157 = einsum(t1.aa, (0, 1), tmp12, (2, 1), (0, 2), optimize=True) + del tmp12 + tmp172 = einsum(tmp171, (0, 1, 2, 3), t1.aa, (4, 2), (4, 0, 1, 3), optimize=True) + del tmp171 + tmp117 = einsum(tmp116, (0, 1, 2, 3), r1.aa, (4, 2), (4, 0, 1, 3), optimize=True) + del tmp116 + tmp74 = tmp71.transpose((0, 2, 1, 3)).copy() + del tmp71 + tmp74 += tmp73.transpose((0, 2, 1, 3)) * 2 + del tmp73 + tmp161 = tmp159.copy() + tmp161 += tmp160.transpose((0, 2, 1, 3)) * 2 + del tmp160 + tmp150 = tmp147.transpose((0, 2, 1, 3)).copy() + del tmp147 + tmp150 += tmp149.transpose((0, 2, 1, 3)) + del tmp149 + tmp25 = tmp16.transpose((1, 0)).copy() + tmp25 += tmp17.transpose((1, 0)) * 2 + tmp25 += tmp18.transpose((1, 0)) + tmp25 += tmp20.transpose((1, 0)) * -1 + del tmp20 + tmp25 += tmp24.transpose((1, 0)) + del tmp24 + r1new.aa += einsum(t1.aa, (0, 1), tmp25, (0, 2), (2, 1), optimize=True) * -1 + tmp125 = tmp119.transpose((1, 0)).copy() * -1 + del tmp119 + tmp125 += tmp120.transpose((1, 0)) * 2 + del tmp120 + tmp125 += tmp121.transpose((1, 0)) + del tmp121 + tmp125 += tmp122 * -1 + del tmp122 + tmp125 += tmp123.transpose((1, 0)) + del tmp123 + tmp125 += tmp124.transpose((1, 0)) + del tmp124 + r2new.abab += einsum(tmp125, (0, 1), t2.abab, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) * -1 + tmp27 = einsum(t1.aa, (0, 1), tmp19, (2, 3, 0, 1), (2, 3), optimize=True) + tmp295 = einsum(tmp294, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) + del tmp294 + r2new.bbbb += tmp295.transpose((1, 0, 3, 2)) * -1 + r2new.bbbb += tmp295.transpose((0, 1, 3, 2)) + r2new.bbbb += tmp295.transpose((1, 0, 2, 3)) + r2new.bbbb += tmp295 * -1 + del tmp295 + tmp353 = tmp351.transpose((1, 0, 2, 3)).copy() * -1 + del tmp351 + tmp353 += tmp332 * 0.5 + del tmp332 + tmp353 += einsum(t2.bbbb, (0, 1, 2, 3), tmp352, (4, 5, 1, 3), (4, 0, 5, 2), optimize=True) + del tmp352 + r2new.bbbb += einsum(tmp353, (0, 1, 2, 3), r1.bb, (2, 4), (1, 0, 3, 4), optimize=True) * -2 + del tmp353 + tmp288 = tmp278.copy() * -1 + del tmp278 + tmp288 += tmp287.transpose((1, 0, 3, 2)) + del tmp287 + r2new.bbbb += tmp288.transpose((0, 1, 3, 2)) + r2new.bbbb += tmp288 * -1 + del tmp288 + tmp56 = f.bb.oo.copy() + tmp56 += tmp54.transpose((1, 0)) + tmp56 += tmp55.transpose((1, 0)) * -1 + del tmp55 + r2new.bbbb += einsum(r2.bbbb, (0, 1, 2, 3), tmp56, (1, 4), (0, 4, 2, 3), optimize=True) * -2 + r2new.abab += einsum(r2.abab, (0, 1, 2, 3), tmp56, (1, 4), (0, 4, 2, 3), optimize=True) * -1 + r1new.bb += einsum(r1.bb, (0, 1), tmp56, (0, 2), (2, 1), optimize=True) * -1 + del tmp56 + tmp327 = einsum(tmp326, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 3, 4), optimize=True) + del tmp326 + r2new.bbbb += tmp327.transpose((1, 0, 3, 2)) * -1 + r2new.bbbb += tmp327.transpose((1, 0, 2, 3)) + r2new.bbbb += tmp327.transpose((0, 1, 3, 2)) + r2new.bbbb += tmp327 * -1 + del tmp327 + tmp296 = tmp269.transpose((0, 2, 1, 3)).copy() + del tmp269 + tmp296 += tmp281.transpose((1, 3, 0, 2)) * -1 + r2new.bbbb += einsum(tmp296, (0, 1, 2, 3), t2.bbbb, (1, 3, 4, 5), (2, 0, 4, 5), optimize=True) * 2 + del tmp296 + tmp330 = einsum(tmp329, (0, 1), r2.bbbb, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) * -2 + del tmp329 + r2new.bbbb += tmp330.transpose((0, 1, 3, 2)) + r2new.bbbb += tmp330.transpose((1, 0, 3, 2)) * -1 + del tmp330 + tmp280 = einsum(v.bbbb.ooov, (0, 1, 2, 3), r1.bb, (1, 4), (0, 2, 4, 3), optimize=True) + r2new.bbbb += tmp280.transpose((1, 0, 2, 3)) + r2new.bbbb += tmp280 * -1 + r2new.bbbb += tmp280.transpose((1, 0, 3, 2)) * -1 + r2new.bbbb += tmp280.transpose((0, 1, 3, 2)) + del tmp280 + tmp274 = einsum(tmp273, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 3, 4), optimize=True) + del tmp273 + r2new.bbbb += tmp274.transpose((0, 1, 3, 2)) + r2new.bbbb += tmp274 * -1 + del tmp274 + tmp357 = einsum(t2.bbbb, (0, 1, 2, 3), tmp356, (1, 4, 5, 3), (4, 0, 5, 2), optimize=True) * -1 + del tmp356 + r2new.bbbb += tmp357.transpose((1, 0, 3, 2)) * 2 + r2new.bbbb += tmp357.transpose((1, 0, 2, 3)) * -2 + del tmp357 + tmp304 = einsum(t2.bbbb, (0, 1, 2, 3), tmp211, (3, 4), (0, 1, 4, 2), optimize=True) * -2 + del tmp211 + r2new.bbbb += tmp304.transpose((1, 0, 3, 2)) * -1 + r2new.bbbb += tmp304.transpose((1, 0, 2, 3)) + del tmp304 + tmp300 = einsum(t1.bb, (0, 1), tmp299, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) + del tmp299 + r2new.bbbb += tmp300 * -2 + r2new.bbbb += tmp300.transpose((0, 1, 3, 2)) * 2 + del tmp300 + tmp303 = einsum(t2.bbbb, (0, 1, 2, 3), tmp302, (1, 4, 5, 3), (4, 0, 5, 2), optimize=True) * -2 + del tmp302 + r2new.bbbb += tmp303.transpose((0, 1, 3, 2)) * -1 + r2new.bbbb += tmp303 + del tmp303 + tmp313 = einsum(r2.abab, (0, 1, 2, 3), tmp263, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) + r2new.bbbb += tmp313 + r2new.bbbb += tmp313.transpose((1, 0, 2, 3)) * -1 + r2new.bbbb += tmp313.transpose((1, 0, 3, 2)) + r2new.bbbb += tmp313.transpose((0, 1, 3, 2)) * -1 + del tmp313 + tmp331 = einsum(t2.bbbb, (0, 1, 2, 3), tmp222, (4, 1), (4, 0, 2, 3), optimize=True) * -1 + del tmp222 + r2new.bbbb += tmp331.transpose((0, 1, 3, 2)) * 2 + r2new.bbbb += tmp331.transpose((1, 0, 3, 2)) * -2 + del tmp331 + tmp355 = r2.bbbb.copy() + tmp355 += einsum(r1.bb, (0, 1), t1.bb, (2, 3), (2, 0, 3, 1), optimize=True) * 2 + tmp297 = f.bb.oo.copy() + tmp297 += tmp54.transpose((1, 0)) + del tmp54 + tmp297 += einsum(t1.bb, (0, 1), tmp246, (0, 2, 3, 1), (3, 2), optimize=True) * -1 + del tmp246 + r2new.bbbb += einsum(r2.bbbb, (0, 1, 2, 3), tmp297, (1, 4), (4, 0, 2, 3), optimize=True) * 2 + del tmp297 + tmp270 = einsum(r2.bbbb, (0, 1, 2, 3), v.bbbb.oooo, (4, 1, 5, 0), (4, 5, 2, 3), optimize=True) * -1 + r2new.bbbb += tmp270.transpose((1, 0, 3, 2)) + r2new.bbbb += tmp270.transpose((1, 0, 3, 2)) + del tmp270 + tmp340 = einsum(tmp339, (0, 1, 2, 3), r1.bb, (1, 4), (0, 2, 3, 4), optimize=True) + del tmp339 + r2new.bbbb += tmp340 * -1 + r2new.bbbb += tmp340.transpose((0, 1, 3, 2)) + del tmp340 + tmp328 = r2.bbbb.copy() + tmp328 += einsum(t1.bb, (0, 1), r1.bb, (2, 3), (0, 2, 3, 1), optimize=True) * -0.5 + r2new.bbbb += einsum(tmp328, (0, 1, 2, 3), tmp260, (0, 4, 5, 2), (1, 4, 5, 3), optimize=True) * 2 + del tmp328 + tmp312 = einsum(r1.bb, (0, 1), v.bbbb.ovvv, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) + r2new.bbbb += tmp312.transpose((1, 0, 3, 2)) * -1 + r2new.bbbb += tmp312.transpose((0, 1, 3, 2)) + r2new.bbbb += tmp312 * -1 + r2new.bbbb += tmp312.transpose((1, 0, 2, 3)) + del tmp312 + tmp298 = einsum(tmp200, (0, 1, 2, 3), v.bbbb.oovv, (4, 0, 5, 2), (1, 4, 3, 5), optimize=True) + r2new.bbbb += tmp298 * -1 + r2new.bbbb += tmp298.transpose((1, 0, 2, 3)) + r2new.bbbb += tmp298.transpose((0, 1, 3, 2)) + r2new.bbbb += tmp298.transpose((1, 0, 3, 2)) * -1 + del tmp298 + tmp345 = einsum(r1.bb, (0, 1), tmp344, (2, 3, 1, 4), (0, 2, 3, 4), optimize=True) + del tmp344 + r2new.bbbb += tmp345.transpose((0, 1, 3, 2)) * -1 + r2new.bbbb += tmp345 + r2new.bbbb += tmp345.transpose((1, 0, 3, 2)) + r2new.bbbb += tmp345.transpose((1, 0, 2, 3)) * -1 + del tmp345 + tmp290 = einsum(tmp289, (0, 1), r2.bbbb, (2, 3, 4, 1), (2, 3, 0, 4), optimize=True) * -1 + del tmp289 + r2new.bbbb += tmp290.transpose((1, 0, 2, 3)) * 2 + r2new.bbbb += tmp290.transpose((1, 0, 3, 2)) * -2 + del tmp290 + tmp348 = einsum(r1.bb, (0, 1), tmp347, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) + del tmp347 + r2new.bbbb += tmp348.transpose((1, 0, 2, 3)) + r2new.bbbb += tmp348 * -1 + r2new.bbbb += tmp348.transpose((1, 0, 3, 2)) * -1 + r2new.bbbb += tmp348.transpose((0, 1, 3, 2)) + del tmp348 + tmp314 = einsum(r1.bb, (0, 1), tmp59, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) + del tmp59 + r2new.bbbb += tmp314.transpose((1, 0, 2, 3)) + r2new.bbbb += tmp314 * -1 + r2new.bbbb += tmp314.transpose((0, 1, 3, 2)) + r2new.bbbb += tmp314.transpose((1, 0, 3, 2)) * -1 + del tmp314 + tmp309 = einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp200, (2, 4, 3, 5), (4, 0, 5, 1), optimize=True) + r2new.bbbb += tmp309 + r2new.bbbb += tmp309.transpose((0, 1, 3, 2)) * -1 + r2new.bbbb += tmp309.transpose((1, 0, 2, 3)) * -1 + r2new.bbbb += tmp309.transpose((1, 0, 3, 2)) + del tmp309 + tmp358 = einsum(t1.bb, (0, 1), r1.bb, (2, 3), (0, 2, 3, 1), optimize=True) * 2 + tmp358 += r2.bbbb * -1 + tmp321 = einsum(tmp320, (0, 1, 2, 3), r1.bb, (1, 4), (0, 2, 3, 4), optimize=True) + del tmp320 + r2new.bbbb += tmp321.transpose((1, 0, 2, 3)) + r2new.bbbb += tmp321.transpose((1, 0, 3, 2)) * -1 + del tmp321 + tmp276 = einsum(t1.bb, (0, 1), tmp275, (2, 0, 3, 4), (2, 3, 1, 4), optimize=True) + del tmp275 + r2new.bbbb += tmp276.transpose((0, 1, 3, 2)) + r2new.bbbb += tmp276 * -1 + del tmp276 + tmp279 = einsum(tmp53, (0, 1), t2.bbbb, (2, 0, 3, 4), (2, 1, 3, 4), optimize=True) * -2 + del tmp53 + r2new.bbbb += tmp279.transpose((1, 0, 3, 2)) + r2new.bbbb += tmp279.transpose((0, 1, 3, 2)) * -1 + del tmp279 + tmp337 = einsum(r1.bb, (0, 1), tmp336, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) + del tmp336 + r2new.bbbb += tmp337.transpose((0, 1, 3, 2)) * -1 + r2new.bbbb += tmp337 + del tmp337 + tmp335 = einsum(tmp334, (0, 1, 2, 3), r1.bb, (2, 4), (0, 1, 3, 4), optimize=True) + del tmp334 + r2new.bbbb += tmp335 + r2new.bbbb += tmp335.transpose((0, 1, 3, 2)) * -1 + r2new.bbbb += tmp335.transpose((1, 0, 3, 2)) + del tmp335 + tmp343 = einsum(r2.bbbb, (0, 1, 2, 3), tmp342, (4, 5, 0, 1), (5, 4, 2, 3), optimize=True) * -1 + del tmp342 + r2new.bbbb += tmp343.transpose((0, 1, 3, 2)) * -1 + r2new.bbbb += tmp343.transpose((0, 1, 3, 2)) * -1 + del tmp343 + tmp341 = einsum(tmp200, (0, 1, 2, 3), tmp260, (0, 4, 5, 2), (1, 4, 3, 5), optimize=True) * -1 + del tmp200, tmp260 + r2new.bbbb += tmp341 + r2new.bbbb += tmp341.transpose((1, 0, 2, 3)) * -1 + r2new.bbbb += tmp341.transpose((1, 0, 3, 2)) + del tmp341 + tmp350 = einsum(tmp349, (0, 1, 2, 3), r1.bb, (2, 4), (0, 1, 4, 3), optimize=True) + del tmp349 + r2new.bbbb += tmp350.transpose((1, 0, 3, 2)) + r2new.bbbb += tmp350.transpose((0, 1, 3, 2)) * -1 + r2new.bbbb += tmp350.transpose((1, 0, 2, 3)) * -1 + r2new.bbbb += tmp350 + del tmp350 + tmp301 = einsum(tmp218, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (1, 4, 5, 3), optimize=True) + r2new.bbbb += tmp301.transpose((1, 0, 2, 3)) + r2new.bbbb += tmp301.transpose((1, 0, 3, 2)) * -1 + r2new.bbbb += tmp301 * -1 + r2new.bbbb += tmp301.transpose((0, 1, 3, 2)) + del tmp301 + tmp354 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 2, 5, 3), (0, 1, 4, 5), optimize=True) + r2new.bbbb += einsum(tmp358, (0, 1, 2, 3), tmp354, (4, 5, 0, 1), (5, 4, 3, 2), optimize=True) * -1 + del tmp358 + r2new.bbbb += einsum(tmp355, (0, 1, 2, 3), tmp354, (4, 5, 0, 1), (5, 4, 3, 2), optimize=True) + del tmp354, tmp355 + tmp308 = einsum(r2.bbbb, (0, 1, 2, 3), tmp307, (3, 4), (0, 1, 4, 2), optimize=True) * -2 + del tmp307 + r2new.bbbb += tmp308.transpose((1, 0, 3, 2)) + r2new.bbbb += tmp308.transpose((1, 0, 2, 3)) * -1 + del tmp308 + tmp292 = einsum(t2.bbbb, (0, 1, 2, 3), tmp291, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) + del tmp291 + r2new.bbbb += tmp292.transpose((1, 0, 3, 2)) * 2 + r2new.bbbb += tmp292.transpose((0, 1, 3, 2)) * -2 + r2new.bbbb += tmp292.transpose((1, 0, 2, 3)) * -2 + r2new.bbbb += tmp292 * 2 + del tmp292 + tmp282 = einsum(tmp281, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 3, 4), optimize=True) * -1 + del tmp281 + r2new.bbbb += einsum(t1.bb, (0, 1), tmp282, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) * 2 + del tmp282 + tmp311 = einsum(r2.bbbb, (0, 1, 2, 3), tmp310, (4, 5, 1, 0), (4, 5, 2, 3), optimize=True) * -1 + del tmp310 + r2new.bbbb += tmp311.transpose((0, 1, 3, 2)) * 2 + r2new.bbbb += tmp311.transpose((1, 0, 3, 2)) * -2 + del tmp311 + tmp316 = einsum(t2.bbbb, (0, 1, 2, 3), tmp315, (4, 5, 1, 0), (4, 5, 2, 3), optimize=True) * -1 + del tmp315 + r2new.bbbb += tmp316.transpose((1, 0, 3, 2)) * 2 + r2new.bbbb += tmp316.transpose((0, 1, 3, 2)) * -2 + del tmp316 + tmp285 = einsum(tmp284, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 3, 4), optimize=True) + del tmp284 + r2new.bbbb += tmp285.transpose((1, 0, 3, 2)) * -1 + r2new.bbbb += tmp285.transpose((1, 0, 2, 3)) + del tmp285 + tmp64 = tmp61.transpose((1, 0)).copy() + del tmp61 + tmp64 += tmp62.transpose((1, 0)) * 2 + del tmp62 + tmp64 += tmp63.transpose((1, 0)) + del tmp63 + r2new.abab += einsum(tmp64, (0, 1), r2.abab, (2, 0, 3, 4), (2, 1, 3, 4), optimize=True) * -1 + r1new.bb += einsum(tmp64, (0, 1), r1.bb, (0, 2), (1, 2), optimize=True) * -1 + del tmp64 + tmp249 = tmp232.copy() * -1 + del tmp232 + tmp249 += tmp218 + del tmp218 + tmp249 += einsum(r2.abab, (0, 1, 2, 3), tmp233, (0, 4, 5, 2), (4, 1, 5, 3), optimize=True) + tmp249 += tmp201 + del tmp201 + r2new.abab += einsum(tmp249, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 2), (4, 1, 5, 3), optimize=True) * 2 + del tmp249 + tmp41 = einsum(t1.aa, (0, 1), tmp40, (2, 1), (0, 2), optimize=True) + del tmp40 + r2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp41, (4, 0), (4, 1, 2, 3), optimize=True) * -1 + r1new.aa += einsum(t1.aa, (0, 1), tmp41, (2, 0), (2, 1), optimize=True) * -1 + del tmp41 + tmp251 = einsum(v.aabb.vvov, (0, 1, 2, 3), t2.abab, (4, 5, 1, 3), (4, 5, 2, 0), optimize=True) + r2new.abab += einsum(tmp251, (0, 1, 2, 3), r1.bb, (2, 4), (0, 1, 3, 4), optimize=True) * -1 + del tmp251 + tmp202 = einsum(r1.aa, (0, 1), v.aabb.ovvv, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) + r2new.abab += einsum(tmp202, (0, 1, 2, 3), t2.abab, (1, 4, 5, 3), (0, 4, 5, 2), optimize=True) * -1 + del tmp202 + tmp266 = einsum(v.aabb.vvov, (0, 1, 2, 3), r1.bb, (4, 3), (4, 2, 0, 1), optimize=True) + r2new.abab += einsum(tmp266, (0, 1, 2, 3), t2.abab, (4, 1, 3, 5), (4, 0, 2, 5), optimize=True) * -1 + del tmp266 + tmp252 = r2.abab.copy() + tmp252 += einsum(r1.aa, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3), optimize=True) + r2new.abab += einsum(tmp252, (0, 1, 2, 3), tmp253, (4, 0, 5, 1), (4, 5, 2, 3), optimize=True) + r2new.abab += einsum(tmp252, (0, 1, 2, 3), v.aabb.vvvv, (4, 2, 5, 3), (0, 1, 4, 5), optimize=True) + del tmp252 + tmp242 = einsum(tmp240, (0, 1, 2, 3), t2.abab, (1, 4, 3, 5), (0, 2, 4, 5), optimize=True) + tmp242 += einsum(tmp241, (0, 1, 2, 3), tmp31, (4, 5, 0, 2), (4, 5, 1, 3), optimize=True) + del tmp241 + r2new.abab += einsum(tmp242, (0, 1, 2, 3), r1.aa, (1, 4), (0, 2, 4, 3), optimize=True) * -1 + del tmp242 + tmp231 = einsum(v.aabb.oooo, (0, 1, 2, 3), r1.bb, (3, 4), (0, 1, 2, 4), optimize=True) * -1 + tmp231 += einsum(r1.bb, (0, 1), v.aabb.oovv, (2, 3, 4, 1), (2, 3, 0, 4), optimize=True) + tmp231 += einsum(v.aabb.ovoo, (0, 1, 2, 3), r2.abab, (4, 3, 1, 5), (0, 4, 2, 5), optimize=True) * -1 + tmp231 += einsum(r2.bbbb, (0, 1, 2, 3), v.aabb.ooov, (4, 5, 1, 3), (4, 5, 0, 2), optimize=True) * 2 + tmp231 += einsum(r2.abab, (0, 1, 2, 3), tmp97, (0, 4, 5, 2), (5, 4, 1, 3), optimize=True) + del tmp97 + r2new.abab += einsum(t1.aa, (0, 1), tmp231, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) * -1 + del tmp231 + tmp186 = einsum(v.aabb.ovoo, (0, 1, 2, 3), r1.aa, (4, 1), (4, 0, 2, 3), optimize=True) + r2new.abab += einsum(tmp186, (0, 1, 2, 3), t2.abab, (1, 3, 4, 5), (0, 2, 4, 5), optimize=True) + del tmp186 + tmp267 = einsum(t1.aa, (0, 1), tmp237, (2, 0, 3, 4), (2, 3, 4, 1), optimize=True) + del tmp237 + r2new.abab += einsum(tmp267, (0, 1, 2, 3), r1.bb, (2, 4), (0, 1, 3, 4), optimize=True) + del tmp267 + tmp248 = tmp243.transpose((1, 0, 2, 3)).copy() + del tmp243 + tmp248 += tmp244.transpose((1, 0, 2, 3)) * -1 + del tmp244 + tmp248 += einsum(r1.bb, (0, 1), tmp245, (2, 1, 3, 4), (2, 0, 4, 3), optimize=True) * -1 + del tmp245 + tmp248 += tmp247.transpose((1, 0, 3, 2)) * -1 + del tmp247 + r2new.abab += einsum(tmp248, (0, 1, 2, 3), t2.abab, (4, 0, 5, 3), (4, 1, 5, 2), optimize=True) + del tmp248 + tmp216 = einsum(tmp58, (0, 1, 2, 3), r1.aa, (4, 3), (4, 0, 1, 2), optimize=True) + r2new.abab += einsum(tmp216, (0, 1, 2, 3), t2.abab, (1, 3, 4, 5), (0, 2, 4, 5), optimize=True) + del tmp216 + tmp238 = einsum(t1.aa, (0, 1), v.aabb.vvvv, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) + r2new.abab += einsum(tmp238, (0, 1, 2, 3), r1.bb, (4, 3), (0, 4, 1, 2), optimize=True) + del tmp238 + tmp214 = f.bb.vv.copy() + tmp214 += tmp212.transpose((1, 0)) + del tmp212 + tmp214 += einsum(tmp213, (0, 1, 2, 3), t1.bb, (0, 1), (3, 2), optimize=True) * -1 + del tmp213 + r2new.abab += einsum(tmp214, (0, 1), r2.abab, (2, 3, 4, 0), (2, 3, 4, 1), optimize=True) + del tmp214 + tmp256 = einsum(tmp225, (0, 1, 2, 3), r1.bb, (3, 4), (0, 1, 2, 4), optimize=True) * -1 + tmp256 += einsum(r1.bb, (0, 1), tmp255, (2, 3, 4, 1), (2, 3, 0, 4), optimize=True) + del tmp255 + tmp256 += einsum(r2.bbbb, (0, 1, 2, 3), tmp31, (4, 5, 1, 3), (4, 5, 0, 2), optimize=True) * 2 + tmp256 += einsum(r2.abab, (0, 1, 2, 3), tmp240, (4, 0, 5, 2), (4, 5, 1, 3), optimize=True) + del tmp240 + r2new.abab += einsum(t1.aa, (0, 1), tmp256, (2, 0, 3, 4), (2, 3, 1, 4), optimize=True) * -1 + del tmp256 + tmp190 = einsum(v.aabb.ooov, (0, 1, 2, 3), r1.bb, (4, 3), (0, 1, 4, 2), optimize=True) + tmp190 += einsum(r2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 5, 3), (4, 0, 1, 5), optimize=True) + tmp188 = einsum(r2.abab, (0, 1, 2, 3), tmp187, (4, 5, 1, 3), (0, 5, 4, 2), optimize=True) + del tmp187 + tmp188 += einsum(v.aabb.ovoo, (0, 1, 2, 3), tmp95, (0, 4, 1, 5), (4, 2, 3, 5), optimize=True) + r2new.abab += einsum(tmp188, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 3, 4), optimize=True) * -1 + del tmp188 + tmp196 = r2.abab.copy() + tmp196 += einsum(r1.aa, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3), optimize=True) * 2 + r2new.abab += einsum(tmp196, (0, 1, 2, 3), v.aabb.oooo, (4, 0, 5, 1), (4, 5, 2, 3), optimize=True) * 0.5 + del tmp196 + tmp197 = einsum(v.aabb.vvov, (0, 1, 2, 3), r2.abab, (4, 5, 1, 3), (4, 5, 2, 0), optimize=True) + r2new.abab += einsum(tmp197, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 3, 4), optimize=True) * -1 + del tmp197 + tmp221 = einsum(tmp219, (0, 1, 2, 3), r1.aa, (1, 4), (0, 2, 3, 4), optimize=True) * -1 + tmp221 += einsum(r1.aa, (0, 1), tmp217, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) + del tmp217 + tmp221 += einsum(r2.abab, (0, 1, 2, 3), tmp220, (4, 1, 5, 3), (0, 4, 5, 2), optimize=True) + del tmp220 + tmp221 += einsum(tmp58, (0, 1, 2, 3), tmp154, (0, 4, 3, 5), (4, 1, 2, 5), optimize=True) * 2 + del tmp154 + r2new.abab += einsum(tmp221, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 3, 4), optimize=True) * -1 + del tmp221 + tmp234 = tmp94.transpose((1, 0, 2, 3)).copy() + del tmp94 + tmp234 += einsum(tmp95, (0, 1, 2, 3), tmp233, (0, 4, 2, 5), (4, 1, 3, 5), optimize=True) * -1 + del tmp233 + tmp234 += einsum(tmp108, (0, 1, 2, 3), r1.aa, (2, 4), (1, 0, 4, 3), optimize=True) * -1 + del tmp108 + r2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp234, (0, 4, 5, 2), (4, 1, 5, 3), optimize=True) + del tmp234 + tmp224 = einsum(v.aabb.vvoo, (0, 1, 2, 3), t1.aa, (4, 1), (4, 2, 3, 0), optimize=True) + r2new.abab += einsum(tmp224, (0, 1, 2, 3), r1.bb, (2, 4), (0, 1, 3, 4), optimize=True) * -1 + del tmp224 + tmp230 = tmp84.transpose((1, 0)).copy() + del tmp84 + tmp230 += tmp85.transpose((1, 0)) * 0.5 + del tmp85 + tmp230 += einsum(tmp23, (0, 1), t1.aa, (0, 2), (1, 2), optimize=True) * 0.5 + r2new.abab += einsum(r2.abab, (0, 1, 2, 3), tmp230, (2, 4), (0, 1, 4, 3), optimize=True) * -2 + del tmp230 + tmp195 = tmp16.transpose((1, 0)).copy() * 0.5 + del tmp16 + tmp195 += tmp17.transpose((1, 0)) + del tmp17 + tmp195 += tmp18.transpose((1, 0)) * 0.5 + del tmp18 + tmp195 += einsum(tmp19, (0, 1, 2, 3), r1.aa, (2, 3), (1, 0), optimize=True) * -0.5 + del tmp19 + tmp195 += einsum(tmp23, (0, 1), r1.aa, (2, 1), (0, 2), optimize=True) * 0.5 + del tmp23 + r2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp195, (0, 4), (4, 1, 2, 3), optimize=True) * -2 + del tmp195 + tmp229 = einsum(v.aabb.ooov, (0, 1, 2, 3), r1.bb, (2, 4), (0, 1, 4, 3), optimize=True) + tmp229 += einsum(tmp228, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 1, 5), (4, 0, 3, 5), optimize=True) + del tmp228 + r2new.abab += einsum(tmp229, (0, 1, 2, 3), t2.abab, (0, 4, 5, 3), (1, 4, 5, 2), optimize=True) + del tmp229 + tmp199 = f.aa.vv.copy() + tmp199 += tmp127.transpose((1, 0)) + del tmp127 + tmp199 += einsum(t1.aa, (0, 1), tmp198, (0, 2, 1, 3), (2, 3), optimize=True) * -1 + del tmp198 + r2new.abab += einsum(r2.abab, (0, 1, 2, 3), tmp199, (2, 4), (0, 1, 4, 3), optimize=True) + del tmp199 + tmp37 = tmp34.transpose((1, 0)).copy() * 2 + del tmp34 + tmp37 += tmp35.transpose((1, 0)) + del tmp35 + tmp37 += tmp36.transpose((1, 0)) + del tmp36 + r2new.abab += einsum(tmp37, (0, 1), r2.abab, (0, 2, 3, 4), (1, 2, 3, 4), optimize=True) * -1 + r1new.aa += einsum(tmp37, (0, 1), r1.aa, (0, 2), (1, 2), optimize=True) * -1 + del tmp37 + tmp236 = einsum(r1.aa, (0, 1), v.aabb.ovoo, (0, 2, 3, 4), (3, 4, 1, 2), optimize=True) + tmp236 += einsum(v.aabb.ovov, (0, 1, 2, 3), tmp235, (0, 4, 5, 3), (2, 4, 5, 1), optimize=True) + del tmp235 + r2new.abab += einsum(tmp236, (0, 1, 2, 3), t2.abab, (4, 0, 3, 5), (4, 1, 2, 5), optimize=True) + del tmp236 + tmp203 = einsum(r2.abab, (0, 1, 2, 3), v.aabb.ovvv, (4, 2, 5, 3), (0, 4, 1, 5), optimize=True) + r2new.abab += einsum(t1.aa, (0, 1), tmp203, (2, 0, 3, 4), (2, 3, 1, 4), optimize=True) * -1 + del tmp203 + tmp227 = einsum(tmp225, (0, 1, 2, 3), r1.aa, (1, 4), (0, 2, 3, 4), optimize=True) + del tmp225 + tmp227 += einsum(tmp31, (0, 1, 2, 3), tmp226, (1, 4, 5, 3), (0, 2, 4, 5), optimize=True) + del tmp226 + r2new.abab += einsum(t1.bb, (0, 1), tmp227, (2, 0, 3, 4), (2, 3, 4, 1), optimize=True) + del tmp227 + tmp239 = r2.bbbb.copy() * -1 + tmp239 += einsum(r1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1), optimize=True) * 0.5 + tmp239 += einsum(t1.bb, (0, 1), r1.bb, (2, 3), (0, 2, 3, 1), optimize=True) * 0.5 + r2new.abab += einsum(tmp239, (0, 1, 2, 3), tmp136, (4, 0, 5, 2), (4, 1, 5, 3), optimize=True) * -2 + del tmp239 + tmp194 = tmp192.transpose((1, 0)).copy() + del tmp192 + tmp194 += tmp193.transpose((1, 0)) * 2 + del tmp193 + tmp194 += einsum(t1.bb, (0, 1), tmp51, (0, 2), (2, 1), optimize=True) + del tmp51 + r2new.abab += einsum(tmp194, (0, 1), r2.abab, (2, 3, 4, 0), (2, 3, 4, 1), optimize=True) * -1 + del tmp194 + tmp110 = f.aa.oo.copy() + tmp110 += tmp26.transpose((1, 0)) + tmp110 += tmp109.transpose((1, 0)) * -1 + del tmp109 + r2new.abab += einsum(r2.abab, (0, 1, 2, 3), tmp110, (0, 4), (4, 1, 2, 3), optimize=True) * -1 + r2new.aaaa += einsum(r2.aaaa, (0, 1, 2, 3), tmp110, (1, 4), (4, 0, 2, 3), optimize=True) * 2 + del tmp110 + tmp265 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovvv, (4, 2, 5, 3), (0, 4, 1, 5), optimize=True) + r2new.abab += einsum(tmp265, (0, 1, 2, 3), r1.aa, (1, 4), (0, 2, 4, 3), optimize=True) * -1 + del tmp265 + tmp254 = einsum(t2.abab, (0, 1, 2, 3), tmp31, (4, 0, 5, 3), (4, 1, 5, 2), optimize=True) + r2new.abab += einsum(tmp254, (0, 1, 2, 3), r1.bb, (2, 4), (0, 1, 3, 4), optimize=True) + del tmp254 + tmp250 = v.bbbb.ovov.transpose((0, 2, 1, 3)).copy() + tmp250 += v.bbbb.oovv * -1 + r2new.abab += einsum(tmp250, (0, 1, 2, 3), r2.abab, (4, 0, 5, 2), (4, 1, 5, 3), optimize=True) + del tmp250 + tmp258 = einsum(tmp219, (0, 1, 2, 3), r1.bb, (3, 4), (1, 0, 2, 4), optimize=True) + del tmp219 + tmp258 += einsum(tmp58, (0, 1, 2, 3), r2.abab, (4, 2, 3, 5), (4, 0, 1, 5), optimize=True) + r2new.abab += einsum(t1.aa, (0, 1), tmp258, (2, 0, 3, 4), (2, 3, 1, 4), optimize=True) + del tmp258 + tmp215 = einsum(tmp58, (0, 1, 2, 3), t2.abab, (4, 2, 3, 5), (4, 0, 1, 5), optimize=True) + r2new.abab += einsum(r1.aa, (0, 1), tmp215, (2, 0, 3, 4), (2, 3, 1, 4), optimize=True) + del tmp215 + tmp268 = einsum(t1.aa, (0, 1), tmp263, (2, 3, 1, 4), (0, 2, 3, 4), optimize=True) + del tmp263 + r2new.abab += einsum(tmp268, (0, 1, 2, 3), r1.aa, (1, 4), (0, 2, 4, 3), optimize=True) * -1 + del tmp268 + tmp264 = einsum(t1.aa, (0, 1), tmp253, (2, 0, 3, 4), (2, 3, 4, 1), optimize=True) + del tmp253 + r2new.abab += einsum(tmp264, (0, 1, 2, 3), r1.bb, (2, 4), (0, 1, 3, 4), optimize=True) + del tmp264 + tmp189 = einsum(r2.abab, (0, 1, 2, 3), v.aabb.ooov, (4, 0, 5, 3), (4, 1, 5, 2), optimize=True) + r2new.abab += einsum(tmp189, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 3, 4), optimize=True) + del tmp189 + tmp223 = einsum(tmp31, (0, 1, 2, 3), r1.bb, (4, 3), (0, 1, 4, 2), optimize=True) + del tmp31 + r2new.abab += einsum(tmp223, (0, 1, 2, 3), t2.abab, (1, 3, 4, 5), (0, 2, 4, 5), optimize=True) + del tmp223 + tmp262 = einsum(tmp58, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 3), (4, 1, 2, 5), optimize=True) * 2 + del tmp58 + tmp262 += einsum(t2.abab, (0, 1, 2, 3), tmp261, (4, 1, 5, 3), (0, 4, 5, 2), optimize=True) + del tmp261 + r2new.abab += einsum(tmp262, (0, 1, 2, 3), r1.bb, (2, 4), (0, 1, 3, 4), optimize=True) * -1 + del tmp262 + tmp191 = t2.abab.copy() + tmp191 += einsum(t1.aa, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3), optimize=True) + r2new.abab += einsum(tmp190, (0, 1, 2, 3), tmp191, (0, 3, 4, 5), (1, 2, 4, 5), optimize=True) + del tmp190, tmp191 + tmp257 = einsum(t1.bb, (0, 1), v.aabb.oovv, (2, 3, 4, 1), (2, 3, 0, 4), optimize=True) + r2new.abab += einsum(tmp257, (0, 1, 2, 3), r1.aa, (1, 4), (0, 2, 4, 3), optimize=True) * -1 + del tmp257 + tmp115 = einsum(t2.abab, (0, 1, 2, 3), tmp114, (4, 1, 5, 3), (4, 0, 2, 5), optimize=True) + del tmp114 + r2new.aaaa += tmp115.transpose((1, 0, 2, 3)) + r2new.aaaa += tmp115.transpose((1, 0, 3, 2)) * -1 + r2new.aaaa += tmp115 * -1 + r2new.aaaa += tmp115.transpose((0, 1, 3, 2)) + del tmp115 + tmp81 = einsum(v.aaaa.ooov, (0, 1, 2, 3), r1.aa, (1, 4), (0, 2, 4, 3), optimize=True) + r2new.aaaa += tmp81.transpose((1, 0, 2, 3)) + r2new.aaaa += tmp81 * -1 + r2new.aaaa += tmp81.transpose((1, 0, 3, 2)) * -1 + r2new.aaaa += tmp81.transpose((0, 1, 3, 2)) + del tmp81 + tmp170 = einsum(r2.aaaa, (0, 1, 2, 3), tmp169, (4, 5, 0, 1), (5, 4, 2, 3), optimize=True) * -1 + del tmp169 + r2new.aaaa += tmp170.transpose((0, 1, 3, 2)) * -1 + r2new.aaaa += tmp170.transpose((0, 1, 3, 2)) * -1 + del tmp170 + tmp180 = tmp178.transpose((1, 0, 2, 3)).copy() * -1 + del tmp178 + tmp180 += tmp159 * 0.5 + del tmp159 + tmp180 += einsum(tmp179, (0, 1, 2, 3), t2.aaaa, (4, 2, 5, 3), (0, 4, 1, 5), optimize=True) + del tmp179 + r2new.aaaa += einsum(tmp180, (0, 1, 2, 3), r1.aa, (2, 4), (1, 0, 3, 4), optimize=True) * -2 + del tmp180 + tmp111 = einsum(v.aaaa.oovv, (0, 1, 2, 3), tmp95, (1, 4, 3, 5), (0, 4, 2, 5), optimize=True) + r2new.aaaa += tmp111.transpose((1, 0, 3, 2)) * -1 + r2new.aaaa += tmp111.transpose((0, 1, 3, 2)) + r2new.aaaa += tmp111.transpose((1, 0, 2, 3)) + r2new.aaaa += tmp111 * -1 + del tmp111 + tmp146 = einsum(t1.aa, (0, 1), tmp145, (2, 3, 0, 4), (2, 3, 4, 1), optimize=True) + del tmp145 + r2new.aaaa += tmp146.transpose((1, 0, 3, 2)) + r2new.aaaa += tmp146.transpose((1, 0, 2, 3)) * -1 + r2new.aaaa += tmp146.transpose((0, 1, 3, 2)) * -1 + r2new.aaaa += tmp146 + del tmp146 + tmp156 = einsum(tmp155, (0, 1), r2.aaaa, (2, 1, 3, 4), (2, 0, 3, 4), optimize=True) * -2 + del tmp155 + r2new.aaaa += tmp156.transpose((1, 0, 3, 2)) + r2new.aaaa += tmp156.transpose((0, 1, 3, 2)) * -1 + del tmp156 + tmp113 = einsum(t1.aa, (0, 1), tmp112, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) + del tmp112 + r2new.aaaa += tmp113 * -2 + r2new.aaaa += tmp113.transpose((0, 1, 3, 2)) * 2 + del tmp113 + tmp181 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 3, 5, 2), (0, 1, 4, 5), optimize=True) * -1 + tmp165 = einsum(tmp164, (0, 1, 2, 3), r1.aa, (1, 4), (0, 2, 3, 4), optimize=True) + del tmp164 + r2new.aaaa += tmp165 * -1 + r2new.aaaa += tmp165.transpose((0, 1, 3, 2)) + del tmp165 + tmp83 = einsum(t1.aa, (0, 1), tmp82, (2, 3, 0, 4), (2, 3, 4, 1), optimize=True) * -1 + r2new.aaaa += einsum(t1.aa, (0, 1), tmp83, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) * 2 + del tmp83 + tmp88 = tmp77.copy() * -1 + del tmp77 + tmp88 += tmp87.transpose((1, 0, 2, 3)) + del tmp87 + r2new.aaaa += tmp88.transpose((0, 1, 3, 2)) + r2new.aaaa += tmp88 * -1 + del tmp88 + tmp185 = einsum(r1.aa, (0, 1), t1.aa, (2, 3), (2, 0, 1, 3), optimize=True) * 2 + tmp185 += r2.aaaa * -1 + r2new.aaaa += einsum(tmp185, (0, 1, 2, 3), tmp181, (4, 5, 0, 1), (5, 4, 3, 2), optimize=True) * -1 + del tmp185 + tmp182 = r2.aaaa.copy() + tmp182 += einsum(t1.aa, (0, 1), r1.aa, (2, 3), (0, 2, 1, 3), optimize=True) * 2 + r2new.aaaa += einsum(tmp181, (0, 1, 2, 3), tmp182, (2, 3, 4, 5), (1, 0, 5, 4), optimize=True) + del tmp181, tmp182 + tmp168 = einsum(tmp153, (0, 1, 2, 3), tmp95, (1, 4, 2, 5), (4, 0, 5, 3), optimize=True) * -1 + del tmp153 + r2new.aaaa += tmp168 + r2new.aaaa += tmp168.transpose((1, 0, 2, 3)) * -1 + r2new.aaaa += tmp168.transpose((1, 0, 3, 2)) + del tmp168 + tmp93 = einsum(t1.aa, (0, 1), tmp92, (2, 0, 3, 4), (2, 3, 1, 4), optimize=True) + del tmp92 + r2new.aaaa += tmp93.transpose((1, 0, 2, 3)) * -1 + r2new.aaaa += tmp93.transpose((1, 0, 3, 2)) + del tmp93 + tmp135 = einsum(r2.aaaa, (0, 1, 2, 3), tmp134, (4, 5, 1, 0), (4, 5, 2, 3), optimize=True) * -1 + del tmp134 + r2new.aaaa += tmp135.transpose((0, 1, 3, 2)) * 2 + r2new.aaaa += tmp135.transpose((1, 0, 3, 2)) * -2 + del tmp135 + tmp90 = einsum(tmp89, (0, 1), r2.aaaa, (2, 3, 4, 1), (2, 3, 4, 0), optimize=True) * -1 + del tmp89 + r2new.aaaa += tmp90.transpose((1, 0, 3, 2)) * 2 + r2new.aaaa += tmp90.transpose((1, 0, 2, 3)) * -2 + del tmp90 + tmp131 = einsum(r2.aaaa, (0, 1, 2, 3), tmp130, (3, 4), (0, 1, 2, 4), optimize=True) * -2 + del tmp130 + r2new.aaaa += tmp131.transpose((1, 0, 2, 3)) + r2new.aaaa += tmp131.transpose((1, 0, 3, 2)) * -1 + del tmp131 + tmp140 = einsum(t2.aaaa, (0, 1, 2, 3), tmp139, (4, 5, 1, 0), (4, 5, 2, 3), optimize=True) * -1 + del tmp139 + r2new.aaaa += tmp140.transpose((1, 0, 3, 2)) * 2 + r2new.aaaa += tmp140.transpose((0, 1, 3, 2)) * -2 + del tmp140 + tmp79 = einsum(t1.aa, (0, 1), tmp78, (2, 0, 3, 4), (2, 3, 1, 4), optimize=True) + del tmp78 + r2new.aaaa += tmp79.transpose((0, 1, 3, 2)) + r2new.aaaa += tmp79 * -1 + del tmp79 + tmp100 = einsum(t2.aaaa, (0, 1, 2, 3), tmp99, (4, 1, 5, 3), (0, 4, 2, 5), optimize=True) + del tmp99 + r2new.aaaa += tmp100 * 2 + r2new.aaaa += tmp100.transpose((1, 0, 2, 3)) * -2 + r2new.aaaa += tmp100.transpose((0, 1, 3, 2)) * -2 + r2new.aaaa += tmp100.transpose((1, 0, 3, 2)) * 2 + del tmp100 + tmp167 = einsum(tmp166, (0, 1, 2, 3), r1.aa, (2, 4), (0, 1, 4, 3), optimize=True) + del tmp166 + r2new.aaaa += tmp167.transpose((0, 1, 3, 2)) * -1 + r2new.aaaa += tmp167 + del tmp167 + tmp175 = einsum(tmp174, (0, 1, 2, 3), r1.aa, (4, 2), (4, 0, 1, 3), optimize=True) + del tmp174 + r2new.aaaa += tmp175.transpose((0, 1, 3, 2)) * -1 + r2new.aaaa += tmp175 + r2new.aaaa += tmp175.transpose((1, 0, 3, 2)) + r2new.aaaa += tmp175.transpose((1, 0, 2, 3)) * -1 + del tmp175 + tmp132 = einsum(v.aaaa.ovov, (0, 1, 2, 3), tmp95, (2, 4, 3, 5), (0, 4, 1, 5), optimize=True) + del tmp95 + r2new.aaaa += tmp132.transpose((1, 0, 3, 2)) + r2new.aaaa += tmp132.transpose((1, 0, 2, 3)) * -1 + r2new.aaaa += tmp132.transpose((0, 1, 3, 2)) * -1 + r2new.aaaa += tmp132 + del tmp132 + tmp177 = einsum(tmp176, (0, 1, 2, 3), r1.aa, (2, 4), (0, 1, 4, 3), optimize=True) + del tmp176 + r2new.aaaa += tmp177.transpose((1, 0, 3, 2)) + r2new.aaaa += tmp177.transpose((0, 1, 3, 2)) * -1 + r2new.aaaa += tmp177.transpose((1, 0, 2, 3)) * -1 + r2new.aaaa += tmp177 + del tmp177 + tmp106 = einsum(t2.abab, (0, 1, 2, 3), tmp105, (4, 1, 5, 3), (0, 4, 2, 5), optimize=True) + del tmp105 + r2new.aaaa += tmp106 * -1 + r2new.aaaa += tmp106.transpose((1, 0, 2, 3)) + r2new.aaaa += tmp106.transpose((0, 1, 3, 2)) + r2new.aaaa += tmp106.transpose((1, 0, 3, 2)) * -1 + del tmp106 + tmp107 = tmp70.transpose((0, 2, 1, 3)).copy() + del tmp70 + tmp107 += tmp82.transpose((1, 3, 0, 2)) * -1 + del tmp82 + r2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp107, (4, 0, 5, 1), (5, 4, 2, 3), optimize=True) * 2 + del tmp107 + tmp184 = einsum(tmp183, (0, 1, 2, 3), t2.aaaa, (4, 1, 5, 2), (0, 4, 3, 5), optimize=True) * -1 + del tmp183 + r2new.aaaa += tmp184.transpose((1, 0, 3, 2)) * 2 + r2new.aaaa += tmp184.transpose((1, 0, 2, 3)) * -2 + del tmp184 + tmp137 = einsum(r2.abab, (0, 1, 2, 3), tmp136, (4, 1, 5, 3), (0, 4, 2, 5), optimize=True) + del tmp136 + r2new.aaaa += tmp137 + r2new.aaaa += tmp137.transpose((1, 0, 2, 3)) * -1 + r2new.aaaa += tmp137.transpose((1, 0, 3, 2)) + r2new.aaaa += tmp137.transpose((0, 1, 3, 2)) * -1 + del tmp137 + tmp138 = einsum(r1.aa, (0, 1), v.aaaa.ovvv, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) + r2new.aaaa += tmp138.transpose((1, 0, 3, 2)) * -1 + r2new.aaaa += tmp138.transpose((0, 1, 3, 2)) + r2new.aaaa += tmp138 * -1 + r2new.aaaa += tmp138.transpose((1, 0, 2, 3)) + del tmp138 + tmp158 = einsum(tmp157, (0, 1), t2.aaaa, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) * -1 + del tmp157 + r2new.aaaa += tmp158.transpose((0, 1, 3, 2)) * 2 + r2new.aaaa += tmp158.transpose((1, 0, 3, 2)) * -2 + del tmp158 + tmp173 = einsum(tmp172, (0, 1, 2, 3), r1.aa, (2, 4), (0, 1, 4, 3), optimize=True) + del tmp172 + r2new.aaaa += tmp173.transpose((1, 0, 2, 3)) + r2new.aaaa += tmp173 * -1 + r2new.aaaa += tmp173.transpose((1, 0, 3, 2)) * -1 + r2new.aaaa += tmp173.transpose((0, 1, 3, 2)) + del tmp173 + tmp118 = einsum(tmp117, (0, 1, 2, 3), t2.aaaa, (4, 1, 5, 2), (4, 0, 5, 3), optimize=True) * -2 + del tmp117 + r2new.aaaa += tmp118.transpose((1, 0, 2, 3)) * -1 + r2new.aaaa += tmp118.transpose((1, 0, 3, 2)) + del tmp118 + tmp75 = einsum(t1.aa, (0, 1), tmp74, (2, 0, 3, 4), (2, 3, 1, 4), optimize=True) + del tmp74 + r2new.aaaa += tmp75 + r2new.aaaa += tmp75.transpose((0, 1, 3, 2)) * -1 + del tmp75 + tmp69 = einsum(v.aaaa.oooo, (0, 1, 2, 3), r2.aaaa, (1, 3, 4, 5), (0, 2, 4, 5), optimize=True) + r2new.aaaa += tmp69.transpose((1, 0, 3, 2)) + r2new.aaaa += tmp69.transpose((1, 0, 3, 2)) + del tmp69 + tmp162 = einsum(tmp161, (0, 1, 2, 3), r1.aa, (2, 4), (0, 1, 3, 4), optimize=True) + del tmp161 + r2new.aaaa += tmp162 + r2new.aaaa += tmp162.transpose((0, 1, 3, 2)) * -1 + r2new.aaaa += tmp162.transpose((1, 0, 3, 2)) + del tmp162 + tmp151 = einsum(r1.aa, (0, 1), tmp150, (2, 0, 3, 4), (2, 3, 4, 1), optimize=True) + del tmp150 + r2new.aaaa += tmp151.transpose((1, 0, 2, 3)) + r2new.aaaa += tmp151.transpose((1, 0, 3, 2)) * -1 + del tmp151 + tmp80 = einsum(t2.aaaa, (0, 1, 2, 3), tmp25, (1, 4), (0, 4, 2, 3), optimize=True) * -2 + del tmp25 + r2new.aaaa += tmp80.transpose((1, 0, 3, 2)) + r2new.aaaa += tmp80.transpose((0, 1, 3, 2)) * -1 + del tmp80 + tmp133 = einsum(tmp30, (0, 1, 2, 3), r1.aa, (2, 4), (0, 1, 4, 3), optimize=True) + del tmp30 + r2new.aaaa += tmp133.transpose((1, 0, 2, 3)) + r2new.aaaa += tmp133 * -1 + r2new.aaaa += tmp133.transpose((0, 1, 3, 2)) + r2new.aaaa += tmp133.transpose((1, 0, 3, 2)) * -1 + del tmp133 + tmp126 = einsum(t2.aaaa, (0, 1, 2, 3), tmp125, (3, 4), (0, 1, 2, 4), optimize=True) * -2 + del tmp125 + r2new.aaaa += tmp126.transpose((1, 0, 2, 3)) * -1 + r2new.aaaa += tmp126.transpose((1, 0, 3, 2)) + del tmp126 + tmp28 = f.aa.oo.copy() + tmp28 += tmp26.transpose((1, 0)) + del tmp26 + tmp28 += tmp27.transpose((1, 0)) * -1 + del tmp27 + r2new.aaaa += einsum(r2.aaaa, (0, 1, 2, 3), tmp28, (1, 4), (0, 4, 2, 3), optimize=True) * -2 + r1new.aa += einsum(tmp28, (0, 1), r1.aa, (0, 2), (1, 2), optimize=True) * -1 + del tmp28 + tmp43 = einsum(v.bbbb.ovov, (0, 1, 2, 3), r1.bb, (4, 3), (4, 0, 2, 1), optimize=True) + r1new.bb += einsum(t2.bbbb, (0, 1, 2, 3), tmp43, (4, 1, 0, 3), (4, 2), optimize=True) * -2 + del tmp43 + tmp33 = r2.abab.copy() + tmp33 += einsum(r1.aa, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3), optimize=True) + tmp33 += einsum(t1.aa, (0, 1), r1.bb, (2, 3), (0, 2, 1, 3), optimize=True) + r1new.bb += einsum(tmp33, (0, 1, 2, 3), v.aabb.ovvv, (0, 2, 4, 3), (1, 4), optimize=True) + r1new.aa += einsum(v.aabb.vvov, (0, 1, 2, 3), tmp33, (4, 2, 1, 3), (4, 0), optimize=True) + del tmp33 + tmp57 = einsum(r1.bb, (0, 1), v.bbbb.ovvv, (0, 2, 3, 1), (2, 3), optimize=True) + r1new.bb += einsum(t1.bb, (0, 1), tmp57, (1, 2), (0, 2), optimize=True) * -1 + del tmp57 + tmp68 = einsum(tmp67, (0, 1), t1.bb, (2, 1), (2, 0), optimize=True) + del tmp67 + r1new.bb += einsum(tmp68, (0, 1), t1.bb, (1, 2), (0, 2), optimize=True) * -1 + del tmp68 + tmp42 = einsum(v.aabb.ovov, (0, 1, 2, 3), r1.bb, (4, 3), (0, 4, 2, 1), optimize=True) + r1new.bb += einsum(tmp42, (0, 1, 2, 3), t2.abab, (0, 2, 3, 4), (1, 4), optimize=True) * -1 + del tmp42 + tmp65 = f.bb.vv.copy() + tmp65 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), t1.bb, (0, 3), (1, 2), optimize=True) * -1 + r1new.bb += einsum(r1.bb, (0, 1), tmp65, (1, 2), (0, 2), optimize=True) + del tmp65 + tmp60 = r2.bbbb.copy() + tmp60 += einsum(t1.bb, (0, 1), r1.bb, (2, 3), (2, 0, 3, 1), optimize=True) * 0.5 + tmp60 += einsum(r1.bb, (0, 1), t1.bb, (2, 3), (2, 0, 3, 1), optimize=True) * 0.5 + r1new.bb += einsum(tmp60, (0, 1, 2, 3), v.bbbb.ovvv, (0, 2, 4, 3), (1, 4), optimize=True) * 2 + del tmp60 + tmp38 = f.aa.vv.copy() + tmp38 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), t1.aa, (0, 1), (2, 3), optimize=True) + r1new.aa += einsum(tmp38, (0, 1), r1.aa, (2, 0), (2, 1), optimize=True) + del tmp38 + tmp0 = einsum(v.aaaa.ovov, (0, 1, 2, 3), r1.aa, (4, 3), (4, 0, 2, 1), optimize=True) + r1new.aa += einsum(tmp0, (0, 1, 2, 3), t2.aaaa, (2, 1, 4, 3), (0, 4), optimize=True) * -2 + del tmp0 + tmp29 = einsum(v.aaaa.ovvv, (0, 1, 2, 3), r1.aa, (0, 1), (2, 3), optimize=True) + r1new.aa += einsum(tmp29, (0, 1), t1.aa, (2, 1), (2, 0), optimize=True) + del tmp29 + tmp32 = r2.aaaa.copy() * 2 + tmp32 += einsum(r1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 1, 3), optimize=True) + tmp32 += einsum(t1.aa, (0, 1), r1.aa, (2, 3), (0, 2, 1, 3), optimize=True) + r1new.aa += einsum(tmp32, (0, 1, 2, 3), v.aaaa.ovvv, (0, 3, 4, 2), (1, 4), optimize=True) * -1 + del tmp32 + tmp1 = einsum(r1.aa, (0, 1), v.aabb.ovov, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) + r1new.aa += einsum(t2.abab, (0, 1, 2, 3), tmp1, (4, 0, 1, 3), (4, 2), optimize=True) * -1 + del tmp1 + r1new.aa += einsum(r1.aa, (0, 1), v.aaaa.oovv, (2, 0, 3, 1), (2, 3), optimize=True) * -1 + r1new.aa += einsum(r2.abab, (0, 1, 2, 3), v.aabb.ooov, (4, 0, 1, 3), (4, 2), optimize=True) * -1 + r1new.aa += einsum(v.aaaa.ooov, (0, 1, 2, 3), r2.aaaa, (2, 1, 4, 3), (0, 4), optimize=True) * 2 + r1new.aa += einsum(r1.aa, (0, 1), v.aaaa.ovov, (2, 3, 0, 1), (2, 3), optimize=True) + r1new.bb += einsum(r1.bb, (0, 1), v.bbbb.oovv, (2, 0, 3, 1), (2, 3), optimize=True) * -1 + r1new.bb += einsum(r2.abab, (0, 1, 2, 3), v.aabb.ovoo, (0, 2, 4, 1), (4, 3), optimize=True) * -1 + r1new.bb += einsum(v.bbbb.ooov, (0, 1, 2, 3), r2.bbbb, (1, 2, 4, 3), (0, 4), optimize=True) * -2 + r1new.bb += einsum(r1.bb, (0, 1), v.bbbb.ovov, (2, 3, 0, 1), (2, 3), optimize=True) + r2new.aaaa += einsum(v.aaaa.vvvv, (0, 1, 2, 3), r2.aaaa, (4, 5, 3, 1), (4, 5, 0, 2), optimize=True) * -2 + r2new.abab += einsum(v.aabb.oooo, (0, 1, 2, 3), r2.abab, (1, 3, 4, 5), (0, 2, 4, 5), optimize=True) * 0.5 + r2new.abab += einsum(v.aaaa.ovov, (0, 1, 2, 3), r2.abab, (2, 4, 3, 5), (0, 4, 1, 5), optimize=True) + r2new.abab += einsum(r2.abab, (0, 1, 2, 3), v.aabb.oovv, (4, 0, 5, 3), (4, 1, 2, 5), optimize=True) * -1 + r2new.abab += einsum(r2.abab, (0, 1, 2, 3), v.aaaa.oovv, (4, 0, 5, 2), (4, 1, 5, 3), optimize=True) * -1 + r2new.bbbb += einsum(v.bbbb.vvvv, (0, 1, 2, 3), r2.bbbb, (4, 5, 1, 3), (4, 5, 0, 2), optimize=True) * 2 + r2new.baba = r2new.abab.transpose(1, 0, 3, 2) + + return r1new, r2new + diff --git a/ebcc/codegen/bootstrap_CCSD.py b/ebcc/codegen/bootstrap_CCSD.py index 0b930f29..4aee1ed2 100644 --- a/ebcc/codegen/bootstrap_CCSD.py +++ b/ebcc/codegen/bootstrap_CCSD.py @@ -291,6 +291,179 @@ **kwargs, ) +if spin != "rhf": + with Stopwatch("IP-EOM"): + # Get the R1 contractions in pdaggerq format + pq.clear() + pq.set_right_operators_type("IP") + pq.set_left_operators([["a*(i)"]]) + pq.set_right_operators([["r1"], ["r2"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) + pq.simplify() + terms_r1 = pq.fully_contracted_strings() + terms_r1 = remove_disconnected_eom(terms_r1) + + # Get the R2 contractions in pdaggerq format + pq.clear() + pq.set_right_operators_type("IP") + pq.set_left_operators([["a*(i)", "a*(j)", "a(a)"]]) + pq.set_right_operators([["r1"], ["r2"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) + pq.simplify() + terms_r2 = pq.fully_contracted_strings() + terms_r2 = remove_disconnected_eom(terms_r2) + + # Get the R amplitudes in albert format + terms = [terms_r1, terms_r2] + expr = [] + output = [] + returns = [] + for n in range(2): + for index_spins in get_amplitude_spins(n + 1, spin, which="ip"): + indices = default_indices["o"][: n + 1] + default_indices["v"][: n] + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + output, expr = optimise(output, expr, spin, strategy="exhaust") + + # Generate the R amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "preamble": "r1new = Namespace()\nr2new = Namespace()" if spin == "uhf" else None, + #"as_dict": True, # FIXME + } + else: + kwargs = {} + codegen( + "hbar_matvec_ip", + returns, + output, + expr, + **kwargs, + ) + + with Stopwatch("EA-EOM"): + # Get the R1 contractions in pdaggerq format + pq.clear() + pq.set_right_operators_type("EA") + pq.set_left_operators([["a(a)"]]) + pq.set_right_operators([["r1"], ["r2"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) + pq.simplify() + terms_r1 = pq.fully_contracted_strings() + terms_r1 = remove_disconnected_eom(terms_r1) + + # Get the R2 contractions in pdaggerq format + pq.clear() + pq.set_right_operators_type("EA") + pq.set_left_operators([["a*(i)", "a(b)", "a(a)"]]) + pq.set_right_operators([["r1"], ["r2"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) + pq.simplify() + terms_r2 = pq.fully_contracted_strings() + terms_r2 = remove_disconnected_eom(terms_r2) + + # Get the R amplitudes in albert format + terms = [terms_r1, terms_r2] + expr = [] + output = [] + returns = [] + for n in range(2): + for index_spins in get_amplitude_spins(n + 1, spin, which="ea"): + indices = default_indices["v"][: n + 1] + default_indices["o"][: n] + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + output, expr = optimise(output, expr, spin, strategy="exhaust") + + # Generate the R amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "preamble": "r1new = Namespace()\nr2new = Namespace()" if spin == "uhf" else None, + #"as_dict": True, # FIXME + } + else: + kwargs = {} + codegen( + "hbar_matvec_ea", + returns, + output, + expr, + **kwargs, + ) + + with Stopwatch("EE-EOM"): + # Get the R1 contractions in pdaggerq format + pq.clear() + pq.set_right_operators_type("EE") + pq.set_left_operators([["e1(i,a)"]]) + pq.set_right_operators([["r1"], ["r2"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) + pq.simplify() + terms_r1 = pq.fully_contracted_strings() + terms_r1 = remove_disconnected_eom(terms_r1) + + # Get the R2 contractions in pdaggerq format + pq.clear() + pq.set_right_operators_type("EE") + pq.set_left_operators([["e2(i,j,b,a)"]]) + pq.set_right_operators([["r1"], ["r2"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) + pq.simplify() + terms_r2 = pq.fully_contracted_strings() + terms_r2 = remove_disconnected_eom(terms_r2) + + # Get the R amplitudes in albert format + terms = [terms_r1, terms_r2] + expr = [] + output = [] + returns = [] + for n in range(2): + for index_spins in get_amplitude_spins(n + 1, spin, which="ee"): + indices = default_indices["o"][: n + 1] + default_indices["v"][: n + 1] + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + output, expr = optimise(output, expr, spin, strategy="exhaust") + + # Generate the R amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "preamble": "r1new = Namespace()\nr2new = Namespace()" if spin == "uhf" else None, + "postamble": "r2new.baba = r2new.abab.transpose(1, 0, 3, 2)" if spin == "uhf" else None, # FIXME + #"as_dict": True, # FIXME + } + else: + kwargs = {} + codegen( + "hbar_matvec_ee", + returns, + output, + expr, + **kwargs, + ) + for codegen in code_generators.values(): codegen.postamble() codegen.stdout.close() diff --git a/ebcc/codegen/bootstrap_CCSDT.py b/ebcc/codegen/bootstrap_CCSDT.py index 13bbb971..45b69cb7 100644 --- a/ebcc/codegen/bootstrap_CCSDT.py +++ b/ebcc/codegen/bootstrap_CCSDT.py @@ -122,7 +122,7 @@ pq.set_right_operators([["1"]]) pq.add_st_operator(1.0, ["f", "e1(a,i)"], ["t1", "t2", "t3"]) pq.add_st_operator(1.0, ["v", "e1(a,i)"], ["t1", "t2", "t3"]) - pq.set_left_operators([["l1"], ["l2"], ["l3"]) + pq.set_left_operators([["l1"], ["l2"], ["l3"]]) pq.add_st_operator(1.0, ["f", "e1(a,i)"], ["t1", "t2", "t3"]) pq.add_st_operator(1.0, ["v", "e1(a,i)"], ["t1", "t2", "t3"]) pq.add_st_operator(-1.0, ["e1(a,i)", "f"], ["t1", "t2", "t3"]) diff --git a/ebcc/codegen/bootstrap_common.py b/ebcc/codegen/bootstrap_common.py index 2d3e911a..4082f634 100644 --- a/ebcc/codegen/bootstrap_common.py +++ b/ebcc/codegen/bootstrap_common.py @@ -97,7 +97,7 @@ def function_docstring(self, docstring): else: array_type = "Namespace of arrays" amplitude_names = [ - "t1", "t2", "t3", "l1", "l2", "l3", "s1", "s2", "ls1", "ls2", "u11", "u12", "lu11", "lu12", + "t1", "t2", "t3", "l1", "l2", "l3", "s1", "s2", "ls1", "ls2", "u11", "u12", "lu11", "lu12", "r1", "r2", "r3" ] descriptions = { "f": "Fock matrix.", @@ -198,7 +198,7 @@ def name_generator_uhf(tensor, add_spaces=True): return f"{name}.{''.join(spins)}.{''.join(spaces)}" else: return name - elif tensor.name in ("t1", "t2", "t3", "t1new", "t2new", "t3new", "l1", "l2", "l3", "l1new", "l2new", "l3new", "u11", "u11new", "u12", "u12new"): + elif tensor.name in ("t1", "t2", "t3", "t1new", "t2new", "t3new", "l1", "l2", "l3", "l1new", "l2new", "l3new", "u11", "u11new", "u12", "u12new", "r1", "r2", "r3", "r1new", "r2new", "r3new"): if add_spaces: spins = ["a" if i.spin == "α" else "b" for i in tensor.indices if i.spin is not None] return f"{tensor.name}.{''.join(spins)}" @@ -232,6 +232,28 @@ def remove_hf_energy(terms): return terms +def remove_disconnected_eom(terms): + """Remove the EOM terms that are not connected to the R amplitudes.""" + new_terms = [] + for term in terms: + r = None + rest = [] + for t in term[1:]: + if "r" in t: + r = t + elif not t.startswith("P("): + rest.append(t) + r_inds = set(r.split("(")[1].split(")")[0].split(",")) + rest_inds = set() + for r in rest: + if "<" in r: + r = r.replace("<", "(").replace(">", ")").replace("||", ",") + rest_inds.update(r.split("(")[1].split(")")[0].split(",")) + if r_inds & rest_inds: + new_terms.append(term) + return new_terms + + def optimise(outputs, exprs, spin, strategy="greedy", sizes=None): """Optimise the expressions.""" @@ -256,14 +278,20 @@ def optimise(outputs, exprs, spin, strategy="greedy", sizes=None): return zip(*opt) -def get_t_amplitude_outputs(exprs, name): +def get_t_amplitude_outputs(exprs, name, indices=None): """Get the outputs for the T amplitude code.""" - return [Tensor(*sorted(e.external_indices), name=name) for e in exprs] + if indices is not None: + key = lambda i: indices.index(i.name) + else: + key = lambda i: i + return [Tensor(*sorted(e.external_indices, key=key), name=name) for e in exprs] -def get_l_amplitude_outputs(exprs, name): +def get_l_amplitude_outputs(exprs, name, indices=None): """Get the outputs for the L amplitude code.""" def key(i): + if indices is not None: + return indices.index(i.name) return (" bvo".index(i.space), i.spin, i.name) return [Tensor(*sorted(e.external_indices, key=key), name=name) for e in exprs] @@ -277,27 +305,44 @@ def get_density_outputs(exprs, name, indices): return tensors -def get_amplitude_spins(n, spin): +def get_amplitude_spins(n, spin, which="t"): """Get the spin cases for the amplitudes.""" + if which in ("t", "l", "ee"): + no = nv = n + elif which == "ip": + no = n + nv = n - 1 + elif which == "ea": + no = n - 1 + nv = n + if spin == "rhf": case = {} - for i in range(n): + for i in range(no): case[default_indices["o"][i]] = ["α", "β"][i % 2] + for i in range(nv): case[default_indices["v"][i]] = ["α", "β"][i % 2] cases = [case] elif spin == "uhf": cases = [] - for spins in itertools.combinations_with_replacement(["α", "β"], n): + if which in ("ip", "ea"): + it = itertools.product("αβ", repeat=max(no, nv)) + else: + it = itertools.combinations_with_replacement("αβ", max(no, nv)) + for spins in it: case = {} for i, s in enumerate(spins): - case[default_indices["o"][i]] = s - case[default_indices["v"][i]] = s + if i < no: + case[default_indices["o"][i]] = s + if i < nv: + case[default_indices["v"][i]] = s cases.append(case) elif spin == "ghf": case = {} - for i in range(n): + for i in range(no): case[default_indices["o"][i]] = None + for i in range(nv): case[default_indices["v"][i]] = None cases = [case] From 74afd546ae4d6e3f51cb42601bd93bbc2940ff97 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Tue, 23 Jul 2024 17:49:28 +0100 Subject: [PATCH 038/168] Fix --- ebcc/codegen/bootstrap_CCSDT.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ebcc/codegen/bootstrap_CCSDT.py b/ebcc/codegen/bootstrap_CCSDT.py index 45b69cb7..b1926295 100644 --- a/ebcc/codegen/bootstrap_CCSDT.py +++ b/ebcc/codegen/bootstrap_CCSDT.py @@ -73,9 +73,9 @@ pq.simplify() terms_t2 = pq.fully_contracted_strings() - # Get the T2 contractions in pdaggerq format + # Get the T3 contractions in pdaggerq format pq.clear() - pq.set_left_operators([["e2(i,j,k,c,b,a)"]]) + pq.set_left_operators([["e3(i,j,k,c,b,a)"]]) pq.add_st_operator(1.0, ["f"], ["t1", "t2", "t3"]) pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3"]) pq.simplify() From 6b02fea59d21ad8a814dfbf087fcddcb1032e050 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Tue, 23 Jul 2024 21:53:45 +0100 Subject: [PATCH 039/168] CCSDT fixes --- ebcc/codegen/bootstrap_CCSDT.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ebcc/codegen/bootstrap_CCSDT.py b/ebcc/codegen/bootstrap_CCSDT.py index b1926295..1407df5b 100644 --- a/ebcc/codegen/bootstrap_CCSDT.py +++ b/ebcc/codegen/bootstrap_CCSDT.py @@ -136,7 +136,7 @@ pq.set_right_operators([["1"]]) pq.add_st_operator(1.0, ["f", "e2(a,b,j,i)"], ["t1", "t2", "t3"]) pq.add_st_operator(1.0, ["v", "e2(a,b,j,i)"], ["t1", "t2", "t3"]) - pq.set_left_operators([["l1"], ["l2"], ["l3"]) + pq.set_left_operators([["l1"], ["l2"], ["l3"]]) pq.add_st_operator(1.0, ["f", "e2(a,b,j,i)"], ["t1", "t2", "t3"]) pq.add_st_operator(1.0, ["v", "e2(a,b,j,i)"], ["t1", "t2", "t3"]) pq.add_st_operator(-1.0, ["e2(a,b,j,i)", "f"], ["t1", "t2", "t3"]) @@ -150,7 +150,7 @@ pq.set_right_operators([["1"]]) pq.add_st_operator(1.0, ["f", "e3(a,b,c,k,j,i)"], ["t1", "t2", "t3"]) pq.add_st_operator(1.0, ["v", "e3(a,b,c,k,j,i)"], ["t1", "t2", "t3"]) - pq.set_left_operators([["l1"], ["l2"], ["l3"]) + pq.set_left_operators([["l1"], ["l2"], ["l3"]]) pq.add_st_operator(1.0, ["f", "e3(a,b,c,k,j,i)"], ["t1", "t2", "t3"]) pq.add_st_operator(1.0, ["v", "e3(a,b,c,k,j,i)"], ["t1", "t2", "t3"]) pq.add_st_operator(-1.0, ["e3(a,b,c,k,j,i)", "f"], ["t1", "t2", "t3"]) @@ -197,7 +197,7 @@ terms = {} for sectors, indices in [("oo", "ij"), ("ov", "ia"), ("vo", "ai"), ("vv", "ab")]: pq.clear() - pq.set_left_operators([["1"], ["l1"], ["l2"], ["l3"]) + pq.set_left_operators([["1"], ["l1"], ["l2"], ["l3"]]) pq.add_st_operator(1.0, [f"e1({','.join(indices)})"], ["t1", "t2", "t3"]) pq.simplify() terms[sectors, indices] = pq.fully_contracted_strings() @@ -258,7 +258,7 @@ ("vvvv", "abcd"), ]: pq.clear() - pq.set_left_operators([["1"], ["l1"], ["l2"], ["l3"]) + pq.set_left_operators([["1"], ["l1"], ["l2"], ["l3"]]) pq.add_st_operator( 1.0, [f"e2({indices[0]},{indices[1]},{indices[3]},{indices[2]})"], ["t1", "t2", "t3"] ) From c6756f0e3b14d31a2b40d9771dbd3386c6087a7d Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Tue, 23 Jul 2024 21:57:35 +0100 Subject: [PATCH 040/168] Merge changes from branch master --- ebcc/__init__.py | 85 ++------------------------------- ebcc/brueckner.py | 60 ++++++++++++----------- ebcc/logging.py | 118 ++++++++++++++++++++++++++++++++++++++++++++++ ebcc/rebcc.py | 81 +++++++++++++++++-------------- ebcc/reom.py | 96 +++++++++++++++++++++++++------------ 5 files changed, 268 insertions(+), 172 deletions(-) create mode 100644 ebcc/logging.py diff --git a/ebcc/__init__.py b/ebcc/__init__.py index 08859970..ce8e119d 100644 --- a/ebcc/__init__.py +++ b/ebcc/__init__.py @@ -36,89 +36,18 @@ __version__ = "1.4.3" -import logging import os -import subprocess import sys -# --- Logging: - - -def output(self, msg, *args, **kwargs): - """Output a message at the `"OUTPUT"` level.""" - if self.isEnabledFor(25): - self._log(25, msg, args, **kwargs) - - -default_log = logging.getLogger(__name__) -default_log.setLevel(logging.INFO) -default_log.addHandler(logging.StreamHandler(sys.stderr)) -logging.addLevelName(25, "OUTPUT") -logging.Logger.output = output - - -class NullLogger(logging.Logger): - """A logger that does nothing.""" - - def __init__(self, *args, **kwargs): - super().__init__("null") - - def _log(self, level, msg, args, **kwargs): - pass - - -HEADER = """ _ - | | - ___ | |__ ___ ___ - / _ \| '_ \ / __| / __| - | __/| |_) || (__ | (__ - \___||_.__/ \___| \___| -%s""" - - -def init_logging(log): - """Initialise the logging with a header.""" - - if globals().get("_EBCC_LOG_INITIALISED", False): - return - # Print header - header_size = max([len(line) for line in HEADER.split("\n")]) - log.info(HEADER % (" " * (header_size - len(__version__)) + __version__)) - - # Print versions of dependencies and ebcc - def get_git_hash(directory): - git_directory = os.path.join(directory, ".git") - cmd = ["git", "--git-dir=%s" % git_directory, "rev-parse", "--short", "HEAD"] - try: - git_hash = subprocess.check_output( - cmd, universal_newlines=True, stderr=subprocess.STDOUT - ).rstrip() - except subprocess.CalledProcessError: - git_hash = "N/A" - return git_hash - - import numpy - import pyscf - - log.info("numpy:") - log.info(" > Version: %s" % numpy.__version__) - log.info(" > Git hash: %s" % get_git_hash(os.path.join(os.path.dirname(numpy.__file__), ".."))) - - log.info("pyscf:") - log.info(" > Version: %s" % pyscf.__version__) - log.info(" > Git hash: %s" % get_git_hash(os.path.join(os.path.dirname(pyscf.__file__), ".."))) +# --- Import NumPy here to allow drop-in replacements - log.info("ebcc:") - log.info(" > Version: %s" % __version__) - log.info(" > Git hash: %s" % get_git_hash(os.path.join(os.path.dirname(__file__), ".."))) +import numpy - # Environment variables - log.info("OMP_NUM_THREADS = %s" % os.environ.get("OMP_NUM_THREADS", "")) - log.info("") +# --- Logging: - globals()["_EBCC_LOG_INITIALISED"] = True +from ebcc.logging import default_log, init_logging, NullLogger # --- Types of ansatz supporting by the EBCC solvers: @@ -126,11 +55,6 @@ def get_git_hash(directory): METHOD_TYPES = ["MP", "CC", "LCC", "QCI", "QCC", "DC"] -# --- Import NumPy here to allow drop-in replacements - -import numpy - - # --- General constructor: from ebcc.gebcc import GEBCC @@ -189,6 +113,7 @@ def constructor(mf, *args, **kwargs): from ebcc.brueckner import BruecknerGEBCC, BruecknerREBCC, BruecknerUEBCC from ebcc.space import Space + # --- List available methods: diff --git a/ebcc/brueckner.py b/ebcc/brueckner.py index ad6ee004..1bd1f0db 100644 --- a/ebcc/brueckner.py +++ b/ebcc/brueckner.py @@ -5,10 +5,11 @@ import scipy.linalg from pyscf import lib -from ebcc import NullLogger +from ebcc import NullLogger, init_logging from ebcc import numpy as np from ebcc import util from ebcc.damping import DIIS +from ebcc.logging import ANSI from ebcc.precision import types @@ -78,12 +79,14 @@ def __init__(self, cc, log=None, options=None, **kwargs): self.converged = False # Logging: - cc.log.info("Brueckner options:") - cc.log.info(" > e_tol: %s", options.e_tol) - cc.log.info(" > t_tol: %s", options.t_tol) - cc.log.info(" > max_iter: %s", options.max_iter) - cc.log.info(" > diis_space: %s", options.diis_space) - cc.log.info(" > damping: %s", options.damping) + init_logging(cc.log) + cc.log.info(f"\n{ANSI.B}{ANSI.U}{self.name}{ANSI.R}") + cc.log.info(f"{ANSI.B}Options{ANSI.R}:") + cc.log.info(f" > e_tol: {ANSI.y}{self.options.e_tol}{ANSI.R}") + cc.log.info(f" > t_tol: {ANSI.y}{self.options.t_tol}{ANSI.R}") + cc.log.info(f" > max_iter: {ANSI.y}{self.options.max_iter}{ANSI.R}") + cc.log.info(f" > diis_space: {ANSI.y}{self.options.diis_space}{ANSI.R}") + cc.log.info(f" > damping: {ANSI.y}{self.options.damping}{ANSI.R}") cc.log.debug("") def get_rotation_matrix(self, u_tot=None, diis=None, t1=None): @@ -292,17 +295,14 @@ def kernel(self): u_tot = None self.cc.log.output("Solving for Brueckner orbitals.") - self.cc.log.info( - "%4s %16s %18s %8s %13s %13s", - "Iter", - "Energy (corr.)", - "Energy (tot.)", - "Conv.", - "Δ(Energy)", - "|T1|", + self.cc.log.debug("") + self.log.info( + f"{ANSI.B}{'Iter':>4s} {'Energy (corr.)':>16s} {'Energy (tot.)':>18s} " + f"{'Conv.':>8s} {'Δ(Energy)':>13s} {'|T1|':>13s}{ANSI.R}" ) self.log.info( - "%4d %16.10f %18.10f %8s", 0, self.cc.e_corr, self.cc.e_tot, self.cc.converged + f"{0:4d} {self.cc.e_corr:16.10f} {self.cc.e_tot:18.10f} " + f"{[ANSI.r, ANSI.g][self.cc.converged]}{self.cc.converged!r:>8}{ANSI.R}" ) converged = False @@ -336,23 +336,25 @@ def kernel(self): de = abs(e_prev - self.cc.e_tot) dt = self.get_t1_norm() + # Log the iteration: + converged_e = de < self.options.e_tol + converged_t = dt < self.options.t_tol self.log.info( - "%4d %16.10f %18.10f %8s %13.3e %13.3e", - niter, - self.cc.e_corr, - self.cc.e_tot, - self.cc.converged, - de, - dt, + f"{niter:4d} {self.cc.e_corr:16.10f} {self.cc.e_tot:18.10f}" + f" {[ANSI.r, ANSI.g][self.cc.converged]}{self.cc.converged!r:>8}{ANSI.R}" + f" {[ANSI.r, ANSI.g][converged_e]}{de:13.3e}{ANSI.R}" + f" {[ANSI.r, ANSI.g][converged_t]}{dt:13.3e}{ANSI.R}" ) # Check for convergence: - converged = de < self.options.e_tol and dt < self.options.t_tol + converged = converged_e and converged_t if converged: - self.cc.log.output("Converged.") + self.log.debug("") + self.log.output(f"{ANSI.g}Converged.{ANSI.R}") break else: - self.cc.log.warning("Failed to converge.") + self.log.debug("") + self.log.warning(f"{ANSI.r}Failed to converge.{ANSI.R}") self.cc.log.debug("") self.cc.log.output("E(corr) = %.10f", self.cc.e_corr) @@ -360,10 +362,14 @@ def kernel(self): self.cc.log.debug("") self.cc.log.debug("Time elapsed: %s", timer.format_time(timer())) self.cc.log.debug("") - self.cc.log.debug("") return self.cc.e_corr + @property + def name(self): + """Get a string representation of the method name.""" + return self.spin_type + "B" + self.cc.ansatz.name + @property def spin_type(self): """Return the spin type.""" diff --git a/ebcc/logging.py b/ebcc/logging.py new file mode 100644 index 00000000..b3561132 --- /dev/null +++ b/ebcc/logging.py @@ -0,0 +1,118 @@ +"""Logging.""" + +import logging +import os +import subprocess +import sys + +from ebcc import __version__ +from ebcc.util import Namespace + +HEADER = """ _ + | | + ___ | |__ ___ ___ + / _ \| '_ \ / __| / __| + | __/| |_) || (__ | (__ + \___||_.__/ \___| \___| +%s""" # noqa: W605 + + +def output(self, msg, *args, **kwargs): + """Output a message at the `"OUTPUT"` level.""" + if self.isEnabledFor(25): + self._log(25, msg, args, **kwargs) + + +default_log = logging.getLogger(__name__) +default_log.setLevel(logging.INFO) +default_log.addHandler(logging.StreamHandler(sys.stderr)) +logging.addLevelName(25, "OUTPUT") +logging.Logger.output = output + + +class NullLogger(logging.Logger): + """A logger that does nothing.""" + + def __init__(self, *args, **kwargs): + super().__init__("null") + + def _log(self, level, msg, args, **kwargs): + pass + + +def init_logging(log): + """Initialise the logging with a header.""" + + if globals().get("_EBCC_LOG_INITIALISED", False): + return + + # Print header + header_size = max([len(line) for line in HEADER.split("\n")]) + space = " " * (header_size - len(__version__)) + log.info(f"{ANSI.B}{HEADER}{ANSI.R}" % f"{space}{ANSI.B}{__version__}{ANSI.R}") + + # Print versions of dependencies and ebcc + def get_git_hash(directory): + git_directory = os.path.join(directory, ".git") + cmd = ["git", "--git-dir=%s" % git_directory, "rev-parse", "--short", "HEAD"] + try: + git_hash = subprocess.check_output( + cmd, universal_newlines=True, stderr=subprocess.STDOUT + ).rstrip() + except subprocess.CalledProcessError: + git_hash = "N/A" + return git_hash + + import numpy + import pyscf + + log.info("numpy:") + log.info(" > Version: %s" % numpy.__version__) + log.info(" > Git hash: %s" % get_git_hash(os.path.join(os.path.dirname(numpy.__file__), ".."))) + + log.info("pyscf:") + log.info(" > Version: %s" % pyscf.__version__) + log.info(" > Git hash: %s" % get_git_hash(os.path.join(os.path.dirname(pyscf.__file__), ".."))) + + log.info("ebcc:") + log.info(" > Version: %s" % __version__) + log.info(" > Git hash: %s" % get_git_hash(os.path.join(os.path.dirname(__file__), ".."))) + + # Environment variables + log.info("OMP_NUM_THREADS = %s" % os.environ.get("OMP_NUM_THREADS", "")) + + log.debug("") + + globals()["_EBCC_LOG_INITIALISED"] = True + + +def _check_output(*args, **kwargs): + """ + Call a command. If the return code is non-zero, an empty `bytes` + object is returned. + """ + try: + return subprocess.check_output(*args, **kwargs) + except subprocess.CalledProcessError: + return bytes() + + +ANSI = Namespace( + B="\x1b[1m", + H="\x1b[3m", + R="\x1b[m\x0f", + U="\x1b[4m", + b="\x1b[34m", + c="\x1b[36m", + g="\x1b[32m", + k="\x1b[30m", + m="\x1b[35m", + r="\x1b[31m", + w="\x1b[37m", + y="\x1b[33m", +) + + +def colour(text, *cs): + """Colour a string.""" + return f"{''.join([ANSI[c] for c in cs])}{text}{ANSI[None]}" diff --git a/ebcc/rebcc.py b/ebcc/rebcc.py index a69e0a88..dff7ee72 100644 --- a/ebcc/rebcc.py +++ b/ebcc/rebcc.py @@ -14,6 +14,7 @@ from ebcc.dump import Dump from ebcc.eris import RERIs from ebcc.fock import RFock +from ebcc.logging import ANSI from ebcc.precision import types from ebcc.space import Space @@ -322,19 +323,19 @@ def __init__( # Logging: init_logging(self.log) - self.log.info("%s", self.name) - self.log.info("%s", "*" * len(self.name)) + self.log.info(f"\n{ANSI.B}{ANSI.U}{self.name}{ANSI.R}") + self.log.debug(f"{ANSI.B}{'*' * len(self.name)}{ANSI.R}") self.log.debug("") - self.log.info("Options:") - self.log.info(" > e_tol: %s", self.options.e_tol) - self.log.info(" > t_tol: %s", self.options.t_tol) - self.log.info(" > max_iter: %s", self.options.max_iter) - self.log.info(" > diis_space: %s", self.options.diis_space) - self.log.info(" > damping: %s", self.options.damping) + self.log.info(f"{ANSI.B}Options{ANSI.R}:") + self.log.info(f" > e_tol: {ANSI.y}{self.options.e_tol}{ANSI.R}") + self.log.info(f" > t_tol: {ANSI.y}{self.options.t_tol}{ANSI.R}") + self.log.info(f" > max_iter: {ANSI.y}{self.options.max_iter}{ANSI.R}") + self.log.info(f" > diis_space: {ANSI.y}{self.options.diis_space}{ANSI.R}") + self.log.info(f" > damping: {ANSI.y}{self.options.damping}{ANSI.R}") self.log.debug("") - self.log.info("Ansatz: %s", self.ansatz) + self.log.info(f"{ANSI.B}Ansatz{ANSI.R}: {ANSI.m}{self.ansatz}{ANSI.R}") self.log.debug("") - self.log.info("Space: %s", self.space) + self.log.info(f"{ANSI.B}Space{ANSI.R}: {ANSI.m}{self.space}{ANSI.R}") self.log.debug("") def kernel(self, eris=None): @@ -366,18 +367,15 @@ def kernel(self, eris=None): amplitudes = self.amplitudes # Get the initial energy: - e_cc = e_init = self.energy(amplitudes=amplitudes, eris=eris) + e_cc = self.energy(amplitudes=amplitudes, eris=eris) self.log.output("Solving for excitation amplitudes.") + self.log.debug("") self.log.info( - "%4s %16s %18s %13s %13s", - "Iter", - "Energy (corr.)", - "Energy (tot.)", - "Δ(Energy)", - "Δ(Ampl.)", + f"{ANSI.B}{'Iter':>4s} {'Energy (corr.)':>16s} {'Energy (tot.)':>18s} " + f"{'Δ(Energy)':>13s} {'Δ(Ampl.)':>13s}{ANSI.R}" ) - self.log.info("%4d %16.10f %18.10f", 0, e_init, e_init + self.mf.e_tot) + self.log.info(f"{0:4d} {e_cc:16.10f} {e_cc + self.mf.e_tot:18.10f}") if not self.ansatz.is_one_shot: # Set up DIIS: @@ -401,24 +399,32 @@ def kernel(self, eris=None): e_cc = self.energy(amplitudes=amplitudes, eris=eris) de = abs(e_prev - e_cc) + # Log the iteration: + converged_e = de < self.options.e_tol + converged_t = dt < self.options.t_tol self.log.info( - "%4d %16.10f %18.10f %13.3e %13.3e", niter, e_cc, e_cc + self.mf.e_tot, de, dt + f"{niter:4d} {e_cc:16.10f} {e_cc + self.mf.e_tot:18.10f}" + f" {[ANSI.r, ANSI.g][converged_e]}{de:13.3e}{ANSI.R}" + f" {[ANSI.r, ANSI.g][converged_t]}{dt:13.3e}{ANSI.R}" ) # Check for convergence: - converged = de < self.options.e_tol and dt < self.options.t_tol + converged = converged_e and converged_t if converged: - self.log.output("Converged.") + self.log.debug("") + self.log.output(f"{ANSI.g}Converged.{ANSI.R}") break else: - self.log.warning("Failed to converge.") + self.log.debug("") + self.log.warning(f"{ANSI.r}Failed to converge.{ANSI.R}") # Include perturbative correction if required: if self.ansatz.has_perturbative_correction: + self.log.debug("") self.log.info("Computing perturbative energy correction.") e_pert = self.energy_perturbative(amplitudes=amplitudes, eris=eris) e_cc += e_pert - self.log.info("E(pert) = %.10f", e_pert) + self.log.info(f"E(pert) = {e_pert:.10f}") else: converged = True @@ -429,12 +435,11 @@ def kernel(self, eris=None): self.converged = converged self.log.debug("") - self.log.output("E(corr) = %.10f", self.e_corr) - self.log.output("E(tot) = %.10f", self.e_tot) + self.log.output(f"E(corr) = {self.e_corr:.10f}") + self.log.output(f"E(tot) = {self.e_tot:.10f}") self.log.debug("") self.log.debug("Time elapsed: %s", timer.format_time(timer())) self.log.debug("") - self.log.debug("") return e_cc @@ -483,7 +488,8 @@ def solve_lambda(self, amplitudes=None, eris=None): diis.damping = self.options.damping self.log.output("Solving for de-excitation (lambda) amplitudes.") - self.log.info("%4s %13s", "Iter", "Δ(Ampl.)") + self.log.debug("") + self.log.info(f"{ANSI.B}{'Iter':>4s} {'Δ(Ampl.)':>13s}{ANSI.R}") converged = False for niter in range(1, self.options.max_iter + 1): @@ -501,15 +507,18 @@ def solve_lambda(self, amplitudes=None, eris=None): lambdas = self.vector_to_lambdas(vector) dl = np.linalg.norm(vector - self.lambdas_to_vector(lambdas_prev), ord=np.inf) - self.log.info("%4d %13.3e", niter, dl) + # Log the iteration: + converged = dl < self.options.t_tol + self.log.info(f"{niter:4d} {[ANSI.r, ANSI.g][converged]}{dl:13.3e}{ANSI.R}") # Check for convergence: - converged = dl < self.options.t_tol if converged: - self.log.output("Converged.") + self.log.debug("") + self.log.output(f"{ANSI.g}Converged.{ANSI.R}") break else: - self.log.warning("Failed to converge.") + self.log.debug("") + self.log.warning(f"{ANSI.r}Failed to converge.{ANSI.R}") self.log.debug("") self.log.debug("Time elapsed: %s", timer.format_time(timer())) @@ -2050,16 +2059,16 @@ def boson_coupling_rank(self): """Get an integer representation of the boson coupling rank.""" return self.ansatz.boson_coupling_rank - @property - def spin_type(self): - """Get a string represent of the spin channel.""" - return "R" - @property def name(self): """Get a string representation of the method name.""" return self.spin_type + self.ansatz.name + @property + def spin_type(self): + """Get a string represent of the spin channel.""" + return "R" + @property def mo_coeff(self): """ diff --git a/ebcc/reom.py b/ebcc/reom.py index 0d8c42f0..1c7ce752 100644 --- a/ebcc/reom.py +++ b/ebcc/reom.py @@ -7,6 +7,7 @@ from ebcc import numpy as np from ebcc import util +from ebcc.logging import ANSI from ebcc.precision import types @@ -48,11 +49,7 @@ class REOM(EOM): Options = Options def __init__(self, ebcc, options=None, **kwargs): - self.ebcc = ebcc - self.space = ebcc.space - self.ansatz = ebcc.ansatz - self.log = ebcc.log - + # Options: if options is None: options = self.Options() self.options = options @@ -60,22 +57,30 @@ def __init__(self, ebcc, options=None, **kwargs): setattr(self.options, key, val) for key, val in self.options.__dict__.items(): if val is util.Inherited: - setattr(self.options, key, getattr(self.ebcc.options, key)) + setattr(self.options, key, getattr(ebcc.options, key)) - self.log.info("%s", self.name) - self.log.info("%s", "*" * len(self.name)) - self.log.debug("") - self.log.debug("Options:") - self.log.info(" > nroots: %s", self.options.nroots) - self.log.info(" > e_tol: %s", self.options.e_tol) - self.log.info(" > max_iter: %s", self.options.max_iter) - self.log.info(" > max_space: %s", self.options.max_space) - self.log.debug("") + # Parameters: + self.ebcc = ebcc + self.space = ebcc.space + self.ansatz = ebcc.ansatz + self.log = ebcc.log + # Attributes: self.converged = False self.e = None self.v = None + # Logging: + self.log.info(f"\n{ANSI.B}{ANSI.U}{self.name}{ANSI.R}") + self.log.debug(f"{ANSI.B}{'*' * len(self.name)}{ANSI.R}") + self.log.debug("") + self.log.info(f"{ANSI.B}Options{ANSI.R}:") + self.log.info(f" > nroots: {ANSI.y}{self.options.nroots}{ANSI.R}") + self.log.info(f" > e_tol: {ANSI.y}{self.options.e_tol}{ANSI.R}") + self.log.info(f" > max_iter: {ANSI.y}{self.options.max_iter}{ANSI.R}") + self.log.info(f" > max_space: {ANSI.y}{self.options.max_space}{ANSI.R}") + self.log.debug("") + def amplitudes_to_vector(self, *amplitudes): """Convert the amplitudes to a vector.""" raise NotImplementedError @@ -163,23 +168,45 @@ def callback(self, envs): def _quasiparticle_weight(self, r1): return np.linalg.norm(r1) ** 2 - def davidson(self, guesses=None): - """Solve the EOM Hamiltonian using the Davidson solver.""" + def davidson(self, eris=None, guesses=None): + """Solve the EOM Hamiltonian using the Davidson solver. + + Parameters + ---------- + eris : ERIs, optional + Electronic repulsion integrals. Default value is generated + using `self.ebcc.get_eris()`. + guesses : list of np.ndarray, optional + Initial guesses for the roots. Default value is generated + using `self.get_guesses()`. + + Returns + ------- + e : np.ndarray + The energies of the roots. + """ + + # Start a timer: + timer = util.Timer() + + # Get the ERIs: + eris = self.ebcc.get_eris(eris) self.log.output( "Solving for %s excitations using the Davidson solver.", self.excitation_type.upper() ) - eris = self.ebcc.get_eris() + # Get the matrix-vector products and the diagonal: matvecs = lambda vs: [self.matvec(v, eris=eris) for v in vs] diag = self.diag(eris=eris) + # Get the guesses: if guesses is None: guesses = self.get_guesses(diag=diag) + # Solve the EOM Hamiltonian: nroots = min(len(guesses), self.options.nroots) pick = self.get_pick(guesses=guesses) - converged, e, v = lib.davidson_nosym1( matvecs, guesses, @@ -193,24 +220,35 @@ def davidson(self, guesses=None): verbose=0, ) + # Check for convergence: if all(converged): - self.log.output("Converged.") + self.log.debug("") + self.log.output(f"{ANSI.g}Converged.{ANSI.R}") else: - self.log.warning("Failed to converge %d roots." % sum(not c for c in converged)) + self.log.debug("") + self.log.warning( + f"{ANSI.r}Failed to converge {sum(not c for c in converged)} roots.{ANSI.R}" + ) - self.log.debug("") + # Update attributes: + self.converged = converged + self.e = e + self.v = v - self.log.output("%4s %16s %16s", "Root", "Energy", "QP Weight") - for n, (en, vn) in enumerate(zip(e, v)): + self.log.debug("") + self.log.output( + f"{ANSI.B}{'Root':>4s} {'Energy':>16s} {'Weight':>13s} {'Conv.':>8s}{ANSI.R}" + ) + for n, (en, vn, cn) in enumerate(zip(e, v, converged)): r1n = self.vector_to_amplitudes(vn)[0] qpwt = self._quasiparticle_weight(r1n) - self.log.output("%4d %16.10f %16.5g" % (n, en, qpwt)) + self.log.output( + f"{n:>4d} {en:>16.10f} {qpwt:>13.5g} " f"{[ANSI.r, ANSI.g][cn]}{cn!r:>8s}{ANSI.R}" + ) self.log.debug("") - - self.converged = converged - self.e = e - self.v = v + self.log.debug("Time elapsed: %s", timer.format_time(timer())) + self.log.debug("") return e From ca7254c27dbd35fad301ed3f19a2e5fcc9608285 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Tue, 23 Jul 2024 21:58:34 +0100 Subject: [PATCH 041/168] Merge changes from branch master --- ebcc/util/einsumfunc.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ebcc/util/einsumfunc.py b/ebcc/util/einsumfunc.py index c978a657..70e14777 100644 --- a/ebcc/util/einsumfunc.py +++ b/ebcc/util/einsumfunc.py @@ -37,7 +37,7 @@ def _fallback_einsum(*operands, **kwargs): out = kwargs.pop("out", None) # Perform the contraction - res = np.einsum(*operands, **kwargs) + res = np.einsum(*operands, **kwargs, optimize=True) res *= alpha # Scale the output From 1fe9af6a1ba3221dda5ee3cf73b50a942ad00c07 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Tue, 23 Jul 2024 22:02:07 +0100 Subject: [PATCH 042/168] Don't need to optimize --- ebcc/codegen/bootstrap_common.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ebcc/codegen/bootstrap_common.py b/ebcc/codegen/bootstrap_common.py index 4082f634..b91c0280 100644 --- a/ebcc/codegen/bootstrap_common.py +++ b/ebcc/codegen/bootstrap_common.py @@ -68,7 +68,7 @@ def __init__( **kwargs, ): if einsum_kwargs is None: - einsum_kwargs = {"optimize": True} + einsum_kwargs = {} super().__init__( einsum_func=einsum_func, einsum_kwargs=einsum_kwargs, From 2ab9512c8f7fa22a73448ba3140266aef7610851 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Wed, 24 Jul 2024 08:48:53 +0100 Subject: [PATCH 043/168] Fixes for UHF triples --- ebcc/codegen/GCCSDtp.py | 587 +++++++++++++++++++++++++++++++ ebcc/codegen/bootstrap_CC3.py | 2 +- ebcc/codegen/bootstrap_CCSDT.py | 2 +- ebcc/codegen/bootstrap_common.py | 11 + 4 files changed, 600 insertions(+), 2 deletions(-) create mode 100644 ebcc/codegen/GCCSDtp.py diff --git a/ebcc/codegen/GCCSDtp.py b/ebcc/codegen/GCCSDtp.py new file mode 100644 index 00000000..73ffe3ea --- /dev/null +++ b/ebcc/codegen/GCCSDtp.py @@ -0,0 +1,587 @@ +""" +Code generated by `albert`: +https://github.com/obackhouse/albert + + * date: 2024-07-23T22:16:34.712576 + * python version: 3.10.12 (main, Mar 22 2024, 16:50:05) [GCC 11.4.0] + * albert version: 0.0.0 + * caller: /home/ollie/git/albert/albert/codegen/einsum.py + * node: ollie-desktop + * system: Linux + * processor: x86_64 + * release: 6.5.0-44-generic +""" + +from ebcc import numpy as np +from ebcc.util import pack_2e, einsum, direct_sum, Namespace + + +def energy(f=None, t1=None, t2=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-07-23T22:16:34.857828. + + Parameters + ---------- + f : array + Fock matrix. + t1 : array + T1 amplitudes. + t2 : array + T2 amplitudes. + v : array + Electron repulsion integrals. + + Returns + ------- + e_cc : float + Coupled cluster energy. + """ + + tmp0 = t2.copy() + tmp0 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) * 2 + e_cc = einsum(tmp0, (0, 1, 2, 3), v.oovv, (0, 1, 2, 3), ()) * 0.25 + del tmp0 + e_cc += einsum(t1, (0, 1), f.ov, (0, 1), ()) + + return e_cc + +def update_amps(f=None, t1=None, t2=None, t3=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-07-23T22:16:42.956417. + + Parameters + ---------- + f : array + Fock matrix. + t1 : array + T1 amplitudes. + t2 : array + T2 amplitudes. + t3 : array + T3 amplitudes. + v : array + Electron repulsion integrals. + + Returns + ------- + t1new : array + Updated T1 residuals. + t2new : array + Updated T2 residuals. + t3new : array + Updated T3 residuals. + """ + + space = kwargs["space"] + t1new = Namespace() + t2new = Namespace() + t3new = Namespace() + so = np.ones((t1.shape[0],), dtype=bool) + sv = np.ones((t1.shape[1],), dtype=bool) + sO = space.active[space.correlated][space.occupied[space.correlated]] + sV = space.active[space.correlated][space.virtual[space.correlated]] + t1_OV = t1[np.ix_(sO, sV)].copy(order="A") + t1_Ov = t1[np.ix_(sO, sv)].copy(order="A") + t1_oV = t1[np.ix_(so, sV)].copy(order="A") + t2_oovV = t2[np.ix_(so, so, sv, sV)].copy(order="A") + t2_ooVv = t2[np.ix_(so, so, sV, sv)].copy(order="A") + t2_oOvv = t2[np.ix_(so, sO, sv, sv)].copy(order="A") + t2_Oovv = t2[np.ix_(sO, so, sv, sv)].copy(order="A") + t2_OOvv = t2[np.ix_(sO, sO, sv, sv)].copy(order="A") + t2_ooVV = t2[np.ix_(so, so, sV, sV)].copy(order="A") + t2_OovV = t2[np.ix_(sO, so, sv, sV)].copy(order="A") + t2_OOvV = t2[np.ix_(sO, sO, sv, sV)].copy(order="A") + t2_OoVV = t2[np.ix_(sO, so, sV, sV)].copy(order="A") + t2_OOVV = t2[np.ix_(sO, sO, sV, sV)].copy(order="A") + + t2new_OOVv = einsum(v.OvVV, (0, 1, 2, 3), t3, (4, 5, 0, 2, 3, 6), (4, 5, 6, 1)) * -0.5 + t2new_OOVv += einsum(v.OoVV, (0, 1, 2, 3), t1, (1, 4), t3, (5, 6, 0, 2, 3, 7), (5, 6, 7, 4)) * 0.5 + t2new_OOvV = einsum(v.OvVV, (0, 1, 2, 3), t3, (4, 5, 0, 2, 3, 6), (4, 5, 1, 6)) * 0.5 + t2new_OOvV += einsum(v.OoVV, (0, 1, 2, 3), t1, (1, 4), t3, (5, 6, 0, 2, 3, 7), (5, 6, 4, 7)) * -0.5 + t2new_oOVV = einsum(v.OOVo, (0, 1, 2, 3), t3, (4, 0, 1, 2, 5, 6), (3, 4, 5, 6)) * -0.5 + t2new_oOVV += einsum(v.OOvV, (0, 1, 2, 3), t3, (4, 0, 1, 3, 5, 6), t1, (7, 2), (7, 4, 5, 6)) * 0.5 + t2new_OoVV = einsum(v.OOVo, (0, 1, 2, 3), t3, (4, 0, 1, 2, 5, 6), (4, 3, 5, 6)) * 0.5 + t2new_OoVV += einsum(v.OOvV, (0, 1, 2, 3), t3, (4, 0, 1, 3, 5, 6), t1, (7, 2), (4, 7, 5, 6)) * -0.5 + t2new_OOVV = einsum(f.OV, (0, 1), t3, (2, 3, 0, 1, 4, 5), (2, 3, 4, 5)) + t2new_OOVV += einsum(v.OovV, (0, 1, 2, 3), t3, (4, 5, 0, 3, 6, 7), t1, (1, 2), (4, 5, 6, 7)) * -1 + t1new_OV = einsum(v.OOVV, (0, 1, 2, 3), t3, (4, 0, 1, 2, 3, 5), (4, 5)) * 0.25 + t1new = f.vo.transpose((1, 0)).copy() + t1new += einsum(f.oo, (0, 1), t1, (0, 2), (1, 2)) * -1 + t1new += einsum(f.vv, (0, 1), t1, (2, 1), (2, 0)) + t1new += einsum(f.ov, (0, 1), t2, (2, 0, 1, 3), (2, 3)) * -1 + t1new += einsum(f.ov, (0, 1), t1, (0, 2), t1, (3, 1), (3, 2)) * -1 + t1new += einsum(v.ovvo, (0, 1, 2, 3), t1, (0, 2), (3, 1)) + t1new += einsum(v.oovo, (0, 1, 2, 3), t2, (0, 1, 2, 4), (3, 4)) * -0.5 + t1new += einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 0, 2, 3), (4, 1)) * -0.5 + t1new += einsum(v.oovv, (0, 1, 2, 3), t2, (4, 0, 3, 5), t1, (1, 2), (4, 5)) + t1new += einsum(v.oovv, (0, 1, 2, 3), t2, (0, 1, 3, 4), t1, (5, 2), (5, 4)) * 0.5 + t1new += einsum(v.oovv, (0, 1, 2, 3), t1, (1, 4), t2, (5, 0, 2, 3), (5, 4)) * 0.5 + t1new += einsum(v.oovo, (0, 1, 2, 3), t1, (0, 4), t1, (1, 2), (3, 4)) + t1new += einsum(v.ovvv, (0, 1, 2, 3), t1, (0, 2), t1, (4, 3), (4, 1)) + t1new += einsum(v.oovv, (0, 1, 2, 3), t1, (0, 4), t1, (1, 2), t1, (5, 3), (5, 4)) + t2new = einsum(f.oo, (0, 1), t2, (2, 0, 3, 4), (2, 1, 3, 4)) * -1 + t2new += einsum(f.oo, (0, 1), t2, (2, 0, 3, 4), (1, 2, 3, 4)) + t2new += einsum(f.vv, (0, 1), t2, (2, 3, 1, 4), (2, 3, 0, 4)) + t2new += einsum(f.vv, (0, 1), t2, (2, 3, 1, 4), (2, 3, 4, 0)) * -1 + t2new += einsum(f.ov, (0, 1), t2, (2, 0, 3, 4), t1, (5, 1), (2, 5, 3, 4)) * -1 + t2new += einsum(f.ov, (0, 1), t2, (2, 0, 3, 4), t1, (5, 1), (5, 2, 3, 4)) + t2new += einsum(f.ov, (0, 1), t1, (0, 2), t2, (3, 4, 1, 5), (3, 4, 2, 5)) * -1 + t2new += einsum(f.ov, (0, 1), t1, (0, 2), t2, (3, 4, 1, 5), (3, 4, 5, 2)) + t2new += v.vvoo.transpose((2, 3, 0, 1)) + t2new += einsum(v.ovoo, (0, 1, 2, 3), t1, (0, 4), (2, 3, 1, 4)) + t2new += einsum(v.ovoo, (0, 1, 2, 3), t1, (0, 4), (2, 3, 4, 1)) * -1 + t2new += einsum(v.vvvo, (0, 1, 2, 3), t1, (4, 2), (4, 3, 0, 1)) + t2new += einsum(v.vvvo, (0, 1, 2, 3), t1, (4, 2), (3, 4, 0, 1)) * -1 + t2new += einsum(v.oooo, (0, 1, 2, 3), t2, (0, 1, 4, 5), (2, 3, 4, 5)) * 0.5 + t2new += einsum(v.ovvo, (0, 1, 2, 3), t2, (4, 0, 2, 5), (4, 3, 1, 5)) + t2new += einsum(v.ovvo, (0, 1, 2, 3), t2, (4, 0, 2, 5), (3, 4, 1, 5)) * -1 + t2new += einsum(v.ovvo, (0, 1, 2, 3), t2, (4, 0, 2, 5), (4, 3, 5, 1)) * -1 + t2new += einsum(v.ovvo, (0, 1, 2, 3), t2, (4, 0, 2, 5), (3, 4, 5, 1)) + t2new += einsum(v.vvvv, (0, 1, 2, 3), t2, (4, 5, 2, 3), (4, 5, 0, 1)) * 0.5 + t2new += einsum(v.oovo, (0, 1, 2, 3), t2, (4, 0, 5, 6), t1, (1, 2), (4, 3, 5, 6)) + t2new += einsum(v.oovo, (0, 1, 2, 3), t2, (4, 0, 5, 6), t1, (1, 2), (3, 4, 5, 6)) * -1 + t2new += einsum(v.oovo, (0, 1, 2, 3), t2, (0, 1, 4, 5), t1, (6, 2), (6, 3, 4, 5)) * 0.5 + t2new += einsum(v.oovo, (0, 1, 2, 3), t2, (0, 1, 4, 5), t1, (6, 2), (3, 6, 4, 5)) * -0.5 + t2new += einsum(v.oovo, (0, 1, 2, 3), t1, (1, 4), t2, (5, 0, 2, 6), (5, 3, 4, 6)) * -1 + t2new += einsum(v.oovo, (0, 1, 2, 3), t1, (1, 4), t2, (5, 0, 2, 6), (3, 5, 4, 6)) + t2new += einsum(v.oovo, (0, 1, 2, 3), t1, (1, 4), t2, (5, 0, 2, 6), (5, 3, 6, 4)) + t2new += einsum(v.oovo, (0, 1, 2, 3), t1, (1, 4), t2, (5, 0, 2, 6), (3, 5, 6, 4)) * -1 + t2new += einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 5, 3, 6), t1, (0, 2), (4, 5, 1, 6)) + t2new += einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 5, 3, 6), t1, (0, 2), (4, 5, 6, 1)) * -1 + t2new += einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 0, 3, 5), t1, (6, 2), (4, 6, 1, 5)) * -1 + t2new += einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 0, 3, 5), t1, (6, 2), (6, 4, 1, 5)) + t2new += einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 0, 3, 5), t1, (6, 2), (4, 6, 5, 1)) + t2new += einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 0, 3, 5), t1, (6, 2), (6, 4, 5, 1)) * -1 + t2new += einsum(v.ovvv, (0, 1, 2, 3), t1, (0, 4), t2, (5, 6, 2, 3), (5, 6, 1, 4)) * 0.5 + t2new += einsum(v.ovvv, (0, 1, 2, 3), t1, (0, 4), t2, (5, 6, 2, 3), (5, 6, 4, 1)) * -0.5 + t2new += einsum(v.oooo, (0, 1, 2, 3), t1, (1, 4), t1, (0, 5), (2, 3, 4, 5)) * -1 + t2new += einsum(v.ovvo, (0, 1, 2, 3), t1, (0, 4), t1, (5, 2), (5, 3, 1, 4)) + t2new += einsum(v.ovvo, (0, 1, 2, 3), t1, (0, 4), t1, (5, 2), (3, 5, 1, 4)) * -1 + t2new += einsum(v.ovvo, (0, 1, 2, 3), t1, (0, 4), t1, (5, 2), (5, 3, 4, 1)) * -1 + t2new += einsum(v.ovvo, (0, 1, 2, 3), t1, (0, 4), t1, (5, 2), (3, 5, 4, 1)) + t2new += einsum(v.vvvv, (0, 1, 2, 3), t1, (4, 2), t1, (5, 3), (5, 4, 0, 1)) * -1 + t2new += einsum(v.oovv, (0, 1, 2, 3), t2, (4, 0, 5, 6), t2, (7, 1, 2, 3), (4, 7, 5, 6)) * -0.5 + t2new += einsum(v.oovv, (0, 1, 2, 3), t2, (4, 0, 5, 6), t2, (7, 1, 2, 3), (7, 4, 5, 6)) * 0.5 + t2new += einsum(v.oovv, (0, 1, 2, 3), t2, (0, 1, 4, 5), t2, (6, 7, 2, 3), (6, 7, 4, 5)) * 0.25 + t2new += einsum(v.oovv, (0, 1, 2, 3), t2, (0, 1, 2, 4), t2, (5, 6, 3, 7), (5, 6, 4, 7)) * -0.5 + t2new += einsum(v.oovv, (0, 1, 2, 3), t2, (4, 1, 2, 5), t2, (6, 0, 3, 7), (6, 4, 5, 7)) + t2new += einsum(v.oovv, (0, 1, 2, 3), t2, (4, 1, 2, 5), t2, (6, 0, 3, 7), (4, 6, 5, 7)) * -1 + t2new += einsum(v.oovv, (0, 1, 2, 3), t2, (4, 5, 2, 6), t2, (0, 1, 3, 7), (4, 5, 6, 7)) * -0.5 + t2new += einsum(v.oovv, (0, 1, 2, 3), t2, (4, 0, 5, 6), t1, (1, 2), t1, (7, 3), (4, 7, 5, 6)) + t2new += einsum(v.oovv, (0, 1, 2, 3), t2, (4, 0, 5, 6), t1, (1, 2), t1, (7, 3), (7, 4, 5, 6)) * -1 + t2new += einsum(v.oovv, (0, 1, 2, 3), t1, (0, 4), t2, (5, 6, 3, 7), t1, (1, 2), (5, 6, 4, 7)) + t2new += einsum(v.oovv, (0, 1, 2, 3), t1, (0, 4), t2, (5, 6, 3, 7), t1, (1, 2), (5, 6, 7, 4)) * -1 + t2new += einsum(v.oovv, (0, 1, 2, 3), t2, (0, 1, 4, 5), t1, (6, 2), t1, (7, 3), (7, 6, 4, 5)) * -0.5 + t2new += einsum(v.oovv, (0, 1, 2, 3), t1, (1, 4), t2, (5, 0, 3, 6), t1, (7, 2), (5, 7, 4, 6)) + t2new += einsum(v.oovv, (0, 1, 2, 3), t1, (1, 4), t2, (5, 0, 3, 6), t1, (7, 2), (7, 5, 4, 6)) * -1 + t2new += einsum(v.oovv, (0, 1, 2, 3), t1, (1, 4), t2, (5, 0, 3, 6), t1, (7, 2), (5, 7, 6, 4)) * -1 + t2new += einsum(v.oovv, (0, 1, 2, 3), t1, (1, 4), t2, (5, 0, 3, 6), t1, (7, 2), (7, 5, 6, 4)) + t2new += einsum(v.oovv, (0, 1, 2, 3), t1, (1, 4), t1, (0, 5), t2, (6, 7, 2, 3), (6, 7, 4, 5)) * -0.5 + t2new += einsum(v.oovo, (0, 1, 2, 3), t1, (1, 4), t1, (0, 5), t1, (6, 2), (6, 3, 4, 5)) * -1 + t2new += einsum(v.oovo, (0, 1, 2, 3), t1, (1, 4), t1, (0, 5), t1, (6, 2), (3, 6, 4, 5)) + t2new += einsum(v.ovvv, (0, 1, 2, 3), t1, (0, 4), t1, (5, 2), t1, (6, 3), (6, 5, 1, 4)) * -1 + t2new += einsum(v.ovvv, (0, 1, 2, 3), t1, (0, 4), t1, (5, 2), t1, (6, 3), (6, 5, 4, 1)) + t2new += einsum(v.oovv, (0, 1, 2, 3), t1, (1, 4), t1, (0, 5), t1, (6, 2), t1, (7, 3), (7, 6, 4, 5)) + t3new = einsum(f.OO, (0, 1), t3, (2, 3, 0, 4, 5, 6), (2, 3, 1, 4, 5, 6)) * -1 + t3new += einsum(f.OO, (0, 1), t3, (2, 3, 0, 4, 5, 6), (2, 1, 3, 4, 5, 6)) + t3new += einsum(f.OO, (0, 1), t3, (2, 3, 0, 4, 5, 6), (1, 2, 3, 4, 5, 6)) * -1 + t3new += einsum(f.VV, (0, 1), t3, (2, 3, 4, 1, 5, 6), (2, 3, 4, 0, 5, 6)) + t3new += einsum(f.VV, (0, 1), t3, (2, 3, 4, 1, 5, 6), (2, 3, 4, 5, 0, 6)) * -1 + t3new += einsum(f.VV, (0, 1), t3, (2, 3, 4, 1, 5, 6), (2, 3, 4, 5, 6, 0)) + t3new += einsum(f.Ov, (0, 1), t3, (2, 3, 0, 4, 5, 6), t1_Ov, (7, 1), (2, 3, 7, 4, 5, 6)) * -1 + t3new += einsum(f.Ov, (0, 1), t3, (2, 3, 0, 4, 5, 6), t1_Ov, (7, 1), (2, 7, 3, 4, 5, 6)) + t3new += einsum(f.Ov, (0, 1), t3, (2, 3, 0, 4, 5, 6), t1_Ov, (7, 1), (7, 2, 3, 4, 5, 6)) * -1 + t3new += einsum(f.oV, (0, 1), t1_oV, (0, 2), t3, (3, 4, 5, 1, 6, 7), (3, 4, 5, 2, 6, 7)) * -1 + t3new += einsum(f.oV, (0, 1), t1_oV, (0, 2), t3, (3, 4, 5, 1, 6, 7), (3, 4, 5, 6, 2, 7)) + t3new += einsum(f.oV, (0, 1), t3, (2, 3, 4, 1, 5, 6), t1_oV, (0, 7), (2, 3, 4, 5, 6, 7)) * -1 + t3new += einsum(f.ov, (0, 1), t2_OOvV, (2, 3, 1, 4), t2_OoVV, (5, 0, 6, 7), (5, 2, 3, 4, 6, 7)) * -1 + t3new += einsum(f.ov, (0, 1), t2_OOvV, (2, 3, 1, 4), t2_OoVV, (5, 0, 6, 7), (2, 5, 3, 4, 6, 7)) + t3new += einsum(f.ov, (0, 1), t2_OOvV, (2, 3, 1, 4), t2_OoVV, (5, 0, 6, 7), (5, 2, 3, 6, 4, 7)) + t3new += einsum(f.ov, (0, 1), t2_OOvV, (2, 3, 1, 4), t2_OoVV, (5, 0, 6, 7), (2, 5, 3, 6, 4, 7)) * -1 + t3new += einsum(f.ov, (0, 1), t2_OOvV, (2, 3, 1, 4), t2_OoVV, (5, 0, 6, 7), (2, 3, 5, 4, 6, 7)) * -1 + t3new += einsum(f.ov, (0, 1), t2_OOvV, (2, 3, 1, 4), t2_OoVV, (5, 0, 6, 7), (2, 3, 5, 6, 4, 7)) + t3new += einsum(f.ov, (0, 1), t2_OoVV, (2, 0, 3, 4), t2_OOvV, (5, 6, 1, 7), (2, 5, 6, 3, 4, 7)) * -1 + t3new += einsum(f.ov, (0, 1), t2_OoVV, (2, 0, 3, 4), t2_OOvV, (5, 6, 1, 7), (5, 2, 6, 3, 4, 7)) + t3new += einsum(f.ov, (0, 1), t2_OoVV, (2, 0, 3, 4), t2_OOvV, (5, 6, 1, 7), (5, 6, 2, 3, 4, 7)) * -1 + t3new += einsum(v.oVOO, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), (4, 2, 3, 1, 5, 6)) * -1 + t3new += einsum(v.oVOO, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), (2, 4, 3, 1, 5, 6)) + t3new += einsum(v.oVOO, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), (4, 2, 3, 5, 1, 6)) + t3new += einsum(v.oVOO, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), (2, 4, 3, 5, 1, 6)) * -1 + t3new += einsum(v.oVOO, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) * -1 + t3new += einsum(v.oVOO, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), (2, 3, 4, 5, 1, 6)) + t3new += einsum(v.oVOO, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), (4, 2, 3, 5, 6, 1)) * -1 + t3new += einsum(v.oVOO, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), (2, 4, 3, 5, 6, 1)) + t3new += einsum(v.oVOO, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), (2, 3, 4, 5, 6, 1)) * -1 + t3new += einsum(v.VVvO, (0, 1, 2, 3), t2_OOvV, (4, 5, 2, 6), (4, 5, 3, 0, 1, 6)) * -1 + t3new += einsum(v.VVvO, (0, 1, 2, 3), t2_OOvV, (4, 5, 2, 6), (4, 3, 5, 0, 1, 6)) + t3new += einsum(v.VVvO, (0, 1, 2, 3), t2_OOvV, (4, 5, 2, 6), (4, 5, 3, 0, 6, 1)) + t3new += einsum(v.VVvO, (0, 1, 2, 3), t2_OOvV, (4, 5, 2, 6), (4, 3, 5, 0, 6, 1)) * -1 + t3new += einsum(v.VVvO, (0, 1, 2, 3), t2_OOvV, (4, 5, 2, 6), (3, 4, 5, 0, 1, 6)) * -1 + t3new += einsum(v.VVvO, (0, 1, 2, 3), t2_OOvV, (4, 5, 2, 6), (3, 4, 5, 0, 6, 1)) + t3new += einsum(v.VVvO, (0, 1, 2, 3), t2_OOvV, (4, 5, 2, 6), (4, 5, 3, 6, 0, 1)) * -1 + t3new += einsum(v.VVvO, (0, 1, 2, 3), t2_OOvV, (4, 5, 2, 6), (4, 3, 5, 6, 0, 1)) + t3new += einsum(v.VVvO, (0, 1, 2, 3), t2_OOvV, (4, 5, 2, 6), (3, 4, 5, 6, 0, 1)) * -1 + t3new += einsum(v.OOOO, (0, 1, 2, 3), t3, (4, 0, 1, 5, 6, 7), (4, 2, 3, 5, 6, 7)) * 0.5 + t3new += einsum(v.OOOO, (0, 1, 2, 3), t3, (4, 0, 1, 5, 6, 7), (2, 4, 3, 5, 6, 7)) * -0.5 + t3new += einsum(v.OOOO, (0, 1, 2, 3), t3, (4, 0, 1, 5, 6, 7), (2, 3, 4, 5, 6, 7)) * 0.5 + t3new += einsum(v.OVVO, (0, 1, 2, 3), t3, (4, 5, 0, 2, 6, 7), (4, 5, 3, 1, 6, 7)) + t3new += einsum(v.OVVO, (0, 1, 2, 3), t3, (4, 5, 0, 2, 6, 7), (4, 3, 5, 1, 6, 7)) * -1 + t3new += einsum(v.OVVO, (0, 1, 2, 3), t3, (4, 5, 0, 2, 6, 7), (4, 5, 3, 6, 1, 7)) * -1 + t3new += einsum(v.OVVO, (0, 1, 2, 3), t3, (4, 5, 0, 2, 6, 7), (4, 3, 5, 6, 1, 7)) + t3new += einsum(v.OVVO, (0, 1, 2, 3), t3, (4, 5, 0, 2, 6, 7), (3, 4, 5, 1, 6, 7)) + t3new += einsum(v.OVVO, (0, 1, 2, 3), t3, (4, 5, 0, 2, 6, 7), (3, 4, 5, 6, 1, 7)) * -1 + t3new += einsum(v.OVVO, (0, 1, 2, 3), t3, (4, 5, 0, 2, 6, 7), (4, 5, 3, 6, 7, 1)) + t3new += einsum(v.OVVO, (0, 1, 2, 3), t3, (4, 5, 0, 2, 6, 7), (4, 3, 5, 6, 7, 1)) * -1 + t3new += einsum(v.OVVO, (0, 1, 2, 3), t3, (4, 5, 0, 2, 6, 7), (3, 4, 5, 6, 7, 1)) + t3new += einsum(v.VVVV, (0, 1, 2, 3), t3, (4, 5, 6, 2, 3, 7), (4, 5, 6, 0, 1, 7)) * 0.5 + t3new += einsum(v.VVVV, (0, 1, 2, 3), t3, (4, 5, 6, 2, 3, 7), (4, 5, 6, 0, 7, 1)) * -0.5 + t3new += einsum(v.VVVV, (0, 1, 2, 3), t3, (4, 5, 6, 2, 3, 7), (4, 5, 6, 7, 0, 1)) * 0.5 + t3new += einsum(v.ooOO, (0, 1, 2, 3), t1_oV, (1, 4), t2_OoVV, (5, 0, 6, 7), (5, 2, 3, 4, 6, 7)) + t3new += einsum(v.ooOO, (0, 1, 2, 3), t1_oV, (1, 4), t2_OoVV, (5, 0, 6, 7), (2, 5, 3, 4, 6, 7)) * -1 + t3new += einsum(v.ooOO, (0, 1, 2, 3), t1_oV, (1, 4), t2_OoVV, (5, 0, 6, 7), (5, 2, 3, 6, 4, 7)) * -1 + t3new += einsum(v.ooOO, (0, 1, 2, 3), t1_oV, (1, 4), t2_OoVV, (5, 0, 6, 7), (2, 5, 3, 6, 4, 7)) + t3new += einsum(v.ooOO, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t1_oV, (1, 7), (4, 2, 3, 5, 6, 7)) + t3new += einsum(v.ooOO, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t1_oV, (1, 7), (2, 4, 3, 5, 6, 7)) * -1 + t3new += einsum(v.ooOO, (0, 1, 2, 3), t1_oV, (1, 4), t2_OoVV, (5, 0, 6, 7), (2, 3, 5, 4, 6, 7)) + t3new += einsum(v.ooOO, (0, 1, 2, 3), t1_oV, (1, 4), t2_OoVV, (5, 0, 6, 7), (2, 3, 5, 6, 4, 7)) * -1 + t3new += einsum(v.ooOO, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t1_oV, (1, 7), (2, 3, 4, 5, 6, 7)) + t3new += einsum(v.oVvO, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t1_Ov, (7, 2), (4, 7, 3, 1, 5, 6)) * -1 + t3new += einsum(v.oVvO, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t1_Ov, (7, 2), (7, 4, 3, 1, 5, 6)) + t3new += einsum(v.oVvO, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t1_Ov, (7, 2), (4, 7, 3, 5, 1, 6)) + t3new += einsum(v.oVvO, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t1_Ov, (7, 2), (7, 4, 3, 5, 1, 6)) * -1 + t3new += einsum(v.oVvO, (0, 1, 2, 3), t1_oV, (0, 4), t2_OOvV, (5, 6, 2, 7), (5, 6, 3, 1, 4, 7)) * -1 + t3new += einsum(v.oVvO, (0, 1, 2, 3), t1_oV, (0, 4), t2_OOvV, (5, 6, 2, 7), (5, 3, 6, 1, 4, 7)) + t3new += einsum(v.oVvO, (0, 1, 2, 3), t1_oV, (0, 4), t2_OOvV, (5, 6, 2, 7), (5, 6, 3, 1, 7, 4)) + t3new += einsum(v.oVvO, (0, 1, 2, 3), t1_oV, (0, 4), t2_OOvV, (5, 6, 2, 7), (5, 3, 6, 1, 7, 4)) * -1 + t3new += einsum(v.oVvO, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t1_Ov, (7, 2), (4, 3, 7, 1, 5, 6)) + t3new += einsum(v.oVvO, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t1_Ov, (7, 2), (7, 3, 4, 1, 5, 6)) * -1 + t3new += einsum(v.oVvO, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t1_Ov, (7, 2), (4, 3, 7, 5, 1, 6)) * -1 + t3new += einsum(v.oVvO, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t1_Ov, (7, 2), (7, 3, 4, 5, 1, 6)) + t3new += einsum(v.oVvO, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t1_Ov, (7, 2), (3, 4, 7, 1, 5, 6)) * -1 + t3new += einsum(v.oVvO, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t1_Ov, (7, 2), (3, 7, 4, 1, 5, 6)) + t3new += einsum(v.oVvO, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t1_Ov, (7, 2), (3, 4, 7, 5, 1, 6)) + t3new += einsum(v.oVvO, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t1_Ov, (7, 2), (3, 7, 4, 5, 1, 6)) * -1 + t3new += einsum(v.oVvO, (0, 1, 2, 3), t1_oV, (0, 4), t2_OOvV, (5, 6, 2, 7), (3, 5, 6, 1, 4, 7)) * -1 + t3new += einsum(v.oVvO, (0, 1, 2, 3), t1_oV, (0, 4), t2_OOvV, (5, 6, 2, 7), (3, 5, 6, 1, 7, 4)) + t3new += einsum(v.oVvO, (0, 1, 2, 3), t1_oV, (0, 4), t2_OOvV, (5, 6, 2, 7), (5, 6, 3, 4, 1, 7)) + t3new += einsum(v.oVvO, (0, 1, 2, 3), t1_oV, (0, 4), t2_OOvV, (5, 6, 2, 7), (5, 3, 6, 4, 1, 7)) * -1 + t3new += einsum(v.oVvO, (0, 1, 2, 3), t1_oV, (0, 4), t2_OOvV, (5, 6, 2, 7), (5, 6, 3, 7, 1, 4)) * -1 + t3new += einsum(v.oVvO, (0, 1, 2, 3), t1_oV, (0, 4), t2_OOvV, (5, 6, 2, 7), (5, 3, 6, 7, 1, 4)) + t3new += einsum(v.oVvO, (0, 1, 2, 3), t1_oV, (0, 4), t2_OOvV, (5, 6, 2, 7), (3, 5, 6, 4, 1, 7)) + t3new += einsum(v.oVvO, (0, 1, 2, 3), t1_oV, (0, 4), t2_OOvV, (5, 6, 2, 7), (3, 5, 6, 7, 1, 4)) * -1 + t3new += einsum(v.oVvO, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t1_Ov, (7, 2), (4, 7, 3, 5, 6, 1)) * -1 + t3new += einsum(v.oVvO, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t1_Ov, (7, 2), (7, 4, 3, 5, 6, 1)) + t3new += einsum(v.oVvO, (0, 1, 2, 3), t1_oV, (0, 4), t2_OOvV, (5, 6, 2, 7), (5, 6, 3, 4, 7, 1)) * -1 + t3new += einsum(v.oVvO, (0, 1, 2, 3), t1_oV, (0, 4), t2_OOvV, (5, 6, 2, 7), (5, 3, 6, 4, 7, 1)) + t3new += einsum(v.oVvO, (0, 1, 2, 3), t1_oV, (0, 4), t2_OOvV, (5, 6, 2, 7), (5, 6, 3, 7, 4, 1)) + t3new += einsum(v.oVvO, (0, 1, 2, 3), t1_oV, (0, 4), t2_OOvV, (5, 6, 2, 7), (5, 3, 6, 7, 4, 1)) * -1 + t3new += einsum(v.oVvO, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t1_Ov, (7, 2), (4, 3, 7, 5, 6, 1)) + t3new += einsum(v.oVvO, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t1_Ov, (7, 2), (7, 3, 4, 5, 6, 1)) * -1 + t3new += einsum(v.oVvO, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t1_Ov, (7, 2), (3, 4, 7, 5, 6, 1)) * -1 + t3new += einsum(v.oVvO, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t1_Ov, (7, 2), (3, 7, 4, 5, 6, 1)) + t3new += einsum(v.oVvO, (0, 1, 2, 3), t1_oV, (0, 4), t2_OOvV, (5, 6, 2, 7), (3, 5, 6, 4, 7, 1)) * -1 + t3new += einsum(v.oVvO, (0, 1, 2, 3), t1_oV, (0, 4), t2_OOvV, (5, 6, 2, 7), (3, 5, 6, 7, 4, 1)) + t3new += einsum(v.VVvv, (0, 1, 2, 3), t2_OOvV, (4, 5, 3, 6), t1_Ov, (7, 2), (4, 5, 7, 0, 1, 6)) + t3new += einsum(v.VVvv, (0, 1, 2, 3), t2_OOvV, (4, 5, 3, 6), t1_Ov, (7, 2), (4, 7, 5, 0, 1, 6)) * -1 + t3new += einsum(v.VVvv, (0, 1, 2, 3), t2_OOvV, (4, 5, 3, 6), t1_Ov, (7, 2), (4, 5, 7, 0, 6, 1)) * -1 + t3new += einsum(v.VVvv, (0, 1, 2, 3), t2_OOvV, (4, 5, 3, 6), t1_Ov, (7, 2), (4, 7, 5, 0, 6, 1)) + t3new += einsum(v.VVvv, (0, 1, 2, 3), t2_OOvV, (4, 5, 3, 6), t1_Ov, (7, 2), (7, 4, 5, 0, 1, 6)) + t3new += einsum(v.VVvv, (0, 1, 2, 3), t2_OOvV, (4, 5, 3, 6), t1_Ov, (7, 2), (7, 4, 5, 0, 6, 1)) * -1 + t3new += einsum(v.VVvv, (0, 1, 2, 3), t2_OOvV, (4, 5, 3, 6), t1_Ov, (7, 2), (4, 5, 7, 6, 0, 1)) + t3new += einsum(v.VVvv, (0, 1, 2, 3), t2_OOvV, (4, 5, 3, 6), t1_Ov, (7, 2), (4, 7, 5, 6, 0, 1)) * -1 + t3new += einsum(v.VVvv, (0, 1, 2, 3), t2_OOvV, (4, 5, 3, 6), t1_Ov, (7, 2), (7, 4, 5, 6, 0, 1)) + t3new += einsum(v.OovO, (0, 1, 2, 3), t3, (4, 5, 0, 6, 7, 8), t1, (1, 2), (4, 5, 3, 6, 7, 8)) + t3new += einsum(v.OovO, (0, 1, 2, 3), t3, (4, 5, 0, 6, 7, 8), t1, (1, 2), (4, 3, 5, 6, 7, 8)) * -1 + t3new += einsum(v.OOvO, (0, 1, 2, 3), t3, (4, 0, 1, 5, 6, 7), t1_Ov, (8, 2), (4, 8, 3, 5, 6, 7)) * 0.5 + t3new += einsum(v.OOvO, (0, 1, 2, 3), t3, (4, 0, 1, 5, 6, 7), t1_Ov, (8, 2), (8, 4, 3, 5, 6, 7)) * -0.5 + t3new += einsum(v.OoVO, (0, 1, 2, 3), t1_oV, (1, 4), t3, (5, 6, 0, 2, 7, 8), (5, 6, 3, 4, 7, 8)) * -1 + t3new += einsum(v.OoVO, (0, 1, 2, 3), t1_oV, (1, 4), t3, (5, 6, 0, 2, 7, 8), (5, 3, 6, 4, 7, 8)) + t3new += einsum(v.OoVO, (0, 1, 2, 3), t1_oV, (1, 4), t3, (5, 6, 0, 2, 7, 8), (5, 6, 3, 7, 4, 8)) + t3new += einsum(v.OoVO, (0, 1, 2, 3), t1_oV, (1, 4), t3, (5, 6, 0, 2, 7, 8), (5, 3, 6, 7, 4, 8)) * -1 + t3new += einsum(v.OoVO, (0, 1, 2, 3), t3, (4, 5, 0, 2, 6, 7), t1_oV, (1, 8), (4, 5, 3, 6, 7, 8)) * -1 + t3new += einsum(v.OoVO, (0, 1, 2, 3), t3, (4, 5, 0, 2, 6, 7), t1_oV, (1, 8), (4, 3, 5, 6, 7, 8)) + t3new += einsum(v.OOvO, (0, 1, 2, 3), t3, (4, 0, 1, 5, 6, 7), t1_Ov, (8, 2), (4, 3, 8, 5, 6, 7)) * -0.5 + t3new += einsum(v.OOvO, (0, 1, 2, 3), t3, (4, 0, 1, 5, 6, 7), t1_Ov, (8, 2), (8, 3, 4, 5, 6, 7)) * 0.5 + t3new += einsum(v.OovO, (0, 1, 2, 3), t3, (4, 5, 0, 6, 7, 8), t1, (1, 2), (3, 4, 5, 6, 7, 8)) + t3new += einsum(v.OOvO, (0, 1, 2, 3), t3, (4, 0, 1, 5, 6, 7), t1_Ov, (8, 2), (3, 4, 8, 5, 6, 7)) * 0.5 + t3new += einsum(v.OOvO, (0, 1, 2, 3), t3, (4, 0, 1, 5, 6, 7), t1_Ov, (8, 2), (3, 8, 4, 5, 6, 7)) * -0.5 + t3new += einsum(v.OoVO, (0, 1, 2, 3), t1_oV, (1, 4), t3, (5, 6, 0, 2, 7, 8), (3, 5, 6, 4, 7, 8)) * -1 + t3new += einsum(v.OoVO, (0, 1, 2, 3), t1_oV, (1, 4), t3, (5, 6, 0, 2, 7, 8), (3, 5, 6, 7, 4, 8)) + t3new += einsum(v.OoVO, (0, 1, 2, 3), t3, (4, 5, 0, 2, 6, 7), t1_oV, (1, 8), (3, 4, 5, 6, 7, 8)) * -1 + t3new += einsum(v.oVvV, (0, 1, 2, 3), t3, (4, 5, 6, 3, 7, 8), t1, (0, 2), (4, 5, 6, 1, 7, 8)) + t3new += einsum(v.oVvV, (0, 1, 2, 3), t3, (4, 5, 6, 3, 7, 8), t1, (0, 2), (4, 5, 6, 7, 1, 8)) * -1 + t3new += einsum(v.OVvV, (0, 1, 2, 3), t3, (4, 5, 0, 3, 6, 7), t1_Ov, (8, 2), (4, 5, 8, 1, 6, 7)) * -1 + t3new += einsum(v.OVvV, (0, 1, 2, 3), t3, (4, 5, 0, 3, 6, 7), t1_Ov, (8, 2), (4, 8, 5, 1, 6, 7)) + t3new += einsum(v.OVvV, (0, 1, 2, 3), t3, (4, 5, 0, 3, 6, 7), t1_Ov, (8, 2), (4, 5, 8, 6, 1, 7)) + t3new += einsum(v.OVvV, (0, 1, 2, 3), t3, (4, 5, 0, 3, 6, 7), t1_Ov, (8, 2), (4, 8, 5, 6, 1, 7)) * -1 + t3new += einsum(v.OVvV, (0, 1, 2, 3), t3, (4, 5, 0, 3, 6, 7), t1_Ov, (8, 2), (8, 4, 5, 1, 6, 7)) * -1 + t3new += einsum(v.OVvV, (0, 1, 2, 3), t3, (4, 5, 0, 3, 6, 7), t1_Ov, (8, 2), (8, 4, 5, 6, 1, 7)) + t3new += einsum(v.oVVV, (0, 1, 2, 3), t1_oV, (0, 4), t3, (5, 6, 7, 2, 3, 8), (5, 6, 7, 1, 4, 8)) * 0.5 + t3new += einsum(v.oVVV, (0, 1, 2, 3), t1_oV, (0, 4), t3, (5, 6, 7, 2, 3, 8), (5, 6, 7, 1, 8, 4)) * -0.5 + t3new += einsum(v.oVVV, (0, 1, 2, 3), t1_oV, (0, 4), t3, (5, 6, 7, 2, 3, 8), (5, 6, 7, 4, 1, 8)) * -0.5 + t3new += einsum(v.oVVV, (0, 1, 2, 3), t1_oV, (0, 4), t3, (5, 6, 7, 2, 3, 8), (5, 6, 7, 8, 1, 4)) * 0.5 + t3new += einsum(v.oVvV, (0, 1, 2, 3), t3, (4, 5, 6, 3, 7, 8), t1, (0, 2), (4, 5, 6, 7, 8, 1)) + t3new += einsum(v.OVvV, (0, 1, 2, 3), t3, (4, 5, 0, 3, 6, 7), t1_Ov, (8, 2), (4, 5, 8, 6, 7, 1)) * -1 + t3new += einsum(v.OVvV, (0, 1, 2, 3), t3, (4, 5, 0, 3, 6, 7), t1_Ov, (8, 2), (4, 8, 5, 6, 7, 1)) + t3new += einsum(v.OVvV, (0, 1, 2, 3), t3, (4, 5, 0, 3, 6, 7), t1_Ov, (8, 2), (8, 4, 5, 6, 7, 1)) * -1 + t3new += einsum(v.oVVV, (0, 1, 2, 3), t1_oV, (0, 4), t3, (5, 6, 7, 2, 3, 8), (5, 6, 7, 4, 8, 1)) * 0.5 + t3new += einsum(v.oVVV, (0, 1, 2, 3), t1_oV, (0, 4), t3, (5, 6, 7, 2, 3, 8), (5, 6, 7, 8, 4, 1)) * -0.5 + t3new += einsum(v.Oovv, (0, 1, 2, 3), t3, (4, 5, 0, 6, 7, 8), t2_Oovv, (9, 1, 2, 3), (4, 5, 9, 6, 7, 8)) * -0.5 + t3new += einsum(v.Oovv, (0, 1, 2, 3), t3, (4, 5, 0, 6, 7, 8), t2_Oovv, (9, 1, 2, 3), (4, 9, 5, 6, 7, 8)) * 0.5 + t3new += einsum(v.Oovv, (0, 1, 2, 3), t3, (4, 5, 0, 6, 7, 8), t2_Oovv, (9, 1, 2, 3), (9, 4, 5, 6, 7, 8)) * -0.5 + t3new += einsum(v.OOvv, (0, 1, 2, 3), t3, (4, 0, 1, 5, 6, 7), t2_OOvv, (8, 9, 2, 3), (4, 8, 9, 5, 6, 7)) * 0.25 + t3new += einsum(v.OOvv, (0, 1, 2, 3), t3, (4, 0, 1, 5, 6, 7), t2_OOvv, (8, 9, 2, 3), (8, 4, 9, 5, 6, 7)) * -0.25 + t3new += einsum(v.OOvv, (0, 1, 2, 3), t3, (4, 0, 1, 5, 6, 7), t2_OOvv, (8, 9, 2, 3), (8, 9, 4, 5, 6, 7)) * 0.25 + t3new += einsum(v.oovV, (0, 1, 2, 3), t2_oovV, (0, 1, 2, 4), t3, (5, 6, 7, 3, 8, 9), (5, 6, 7, 4, 8, 9)) * -0.5 + t3new += einsum(v.oovV, (0, 1, 2, 3), t2_oovV, (0, 1, 2, 4), t3, (5, 6, 7, 3, 8, 9), (5, 6, 7, 8, 4, 9)) * 0.5 + t3new += einsum(v.OovV, (0, 1, 2, 3), t2_OovV, (4, 1, 2, 5), t3, (6, 7, 0, 3, 8, 9), (6, 7, 4, 5, 8, 9)) + t3new += einsum(v.OovV, (0, 1, 2, 3), t2_OovV, (4, 1, 2, 5), t3, (6, 7, 0, 3, 8, 9), (6, 4, 7, 5, 8, 9)) * -1 + t3new += einsum(v.OovV, (0, 1, 2, 3), t2_OovV, (4, 1, 2, 5), t3, (6, 7, 0, 3, 8, 9), (6, 7, 4, 8, 5, 9)) * -1 + t3new += einsum(v.OovV, (0, 1, 2, 3), t2_OovV, (4, 1, 2, 5), t3, (6, 7, 0, 3, 8, 9), (6, 4, 7, 8, 5, 9)) + t3new += einsum(v.OovV, (0, 1, 2, 3), t2_OovV, (4, 1, 2, 5), t3, (6, 7, 0, 3, 8, 9), (4, 6, 7, 5, 8, 9)) + t3new += einsum(v.OovV, (0, 1, 2, 3), t2_OovV, (4, 1, 2, 5), t3, (6, 7, 0, 3, 8, 9), (4, 6, 7, 8, 5, 9)) * -1 + t3new += einsum(v.OOvV, (0, 1, 2, 3), t2_OOvV, (4, 5, 2, 6), t3, (7, 0, 1, 3, 8, 9), (7, 4, 5, 6, 8, 9)) * -0.5 + t3new += einsum(v.OOvV, (0, 1, 2, 3), t2_OOvV, (4, 5, 2, 6), t3, (7, 0, 1, 3, 8, 9), (4, 7, 5, 6, 8, 9)) * 0.5 + t3new += einsum(v.OOvV, (0, 1, 2, 3), t2_OOvV, (4, 5, 2, 6), t3, (7, 0, 1, 3, 8, 9), (7, 4, 5, 8, 6, 9)) * 0.5 + t3new += einsum(v.OOvV, (0, 1, 2, 3), t2_OOvV, (4, 5, 2, 6), t3, (7, 0, 1, 3, 8, 9), (4, 7, 5, 8, 6, 9)) * -0.5 + t3new += einsum(v.OOvV, (0, 1, 2, 3), t2_OOvV, (4, 5, 2, 6), t3, (7, 0, 1, 3, 8, 9), (4, 5, 7, 6, 8, 9)) * -0.5 + t3new += einsum(v.OOvV, (0, 1, 2, 3), t2_OOvV, (4, 5, 2, 6), t3, (7, 0, 1, 3, 8, 9), (4, 5, 7, 8, 6, 9)) * 0.5 + t3new += einsum(v.oovV, (0, 1, 2, 3), t3, (4, 5, 6, 3, 7, 8), t2_oovV, (0, 1, 2, 9), (4, 5, 6, 7, 8, 9)) * -0.5 + t3new += einsum(v.OovV, (0, 1, 2, 3), t3, (4, 5, 0, 3, 6, 7), t2_OovV, (8, 1, 2, 9), (4, 5, 8, 6, 7, 9)) + t3new += einsum(v.OovV, (0, 1, 2, 3), t3, (4, 5, 0, 3, 6, 7), t2_OovV, (8, 1, 2, 9), (4, 8, 5, 6, 7, 9)) * -1 + t3new += einsum(v.OovV, (0, 1, 2, 3), t3, (4, 5, 0, 3, 6, 7), t2_OovV, (8, 1, 2, 9), (8, 4, 5, 6, 7, 9)) + t3new += einsum(v.OOvV, (0, 1, 2, 3), t3, (4, 0, 1, 3, 5, 6), t2_OOvV, (7, 8, 2, 9), (4, 7, 8, 5, 6, 9)) * -0.5 + t3new += einsum(v.OOvV, (0, 1, 2, 3), t3, (4, 0, 1, 3, 5, 6), t2_OOvV, (7, 8, 2, 9), (7, 4, 8, 5, 6, 9)) * 0.5 + t3new += einsum(v.OOvV, (0, 1, 2, 3), t3, (4, 0, 1, 3, 5, 6), t2_OOvV, (7, 8, 2, 9), (7, 8, 4, 5, 6, 9)) * -0.5 + t3new += einsum(v.ooVV, (0, 1, 2, 3), t2_ooVV, (0, 1, 4, 5), t3, (6, 7, 8, 2, 3, 9), (6, 7, 8, 4, 5, 9)) * 0.25 + t3new += einsum(v.ooVV, (0, 1, 2, 3), t2_ooVV, (0, 1, 4, 5), t3, (6, 7, 8, 2, 3, 9), (6, 7, 8, 4, 9, 5)) * -0.25 + t3new += einsum(v.OoVV, (0, 1, 2, 3), t2_OoVV, (4, 1, 5, 6), t3, (7, 8, 0, 2, 3, 9), (7, 8, 4, 5, 6, 9)) * -0.5 + t3new += einsum(v.OoVV, (0, 1, 2, 3), t2_OoVV, (4, 1, 5, 6), t3, (7, 8, 0, 2, 3, 9), (7, 4, 8, 5, 6, 9)) * 0.5 + t3new += einsum(v.OoVV, (0, 1, 2, 3), t2_OoVV, (4, 1, 5, 6), t3, (7, 8, 0, 2, 3, 9), (7, 8, 4, 5, 9, 6)) * 0.5 + t3new += einsum(v.OoVV, (0, 1, 2, 3), t2_OoVV, (4, 1, 5, 6), t3, (7, 8, 0, 2, 3, 9), (7, 4, 8, 5, 9, 6)) * -0.5 + t3new += einsum(v.OoVV, (0, 1, 2, 3), t2_OoVV, (4, 1, 5, 6), t3, (7, 8, 0, 2, 3, 9), (4, 7, 8, 5, 6, 9)) * -0.5 + t3new += einsum(v.OoVV, (0, 1, 2, 3), t2_OoVV, (4, 1, 5, 6), t3, (7, 8, 0, 2, 3, 9), (4, 7, 8, 5, 9, 6)) * 0.5 + t3new += einsum(v.ooVV, (0, 1, 2, 3), t3, (4, 5, 6, 2, 3, 7), t2_ooVV, (0, 1, 8, 9), (4, 5, 6, 7, 8, 9)) * 0.25 + t3new += einsum(v.OoVV, (0, 1, 2, 3), t3, (4, 5, 0, 2, 3, 6), t2_OoVV, (7, 1, 8, 9), (4, 5, 7, 6, 8, 9)) * -0.5 + t3new += einsum(v.OoVV, (0, 1, 2, 3), t3, (4, 5, 0, 2, 3, 6), t2_OoVV, (7, 1, 8, 9), (4, 7, 5, 6, 8, 9)) * 0.5 + t3new += einsum(v.OoVV, (0, 1, 2, 3), t3, (4, 5, 0, 2, 3, 6), t2_OoVV, (7, 1, 8, 9), (7, 4, 5, 6, 8, 9)) * -0.5 + t3new += einsum(v.oovO, (0, 1, 2, 3), t2_OovV, (4, 1, 2, 5), t2_OoVV, (6, 0, 7, 8), (6, 4, 3, 5, 7, 8)) + t3new += einsum(v.oovO, (0, 1, 2, 3), t2_OovV, (4, 1, 2, 5), t2_OoVV, (6, 0, 7, 8), (4, 6, 3, 5, 7, 8)) * -1 + t3new += einsum(v.oovO, (0, 1, 2, 3), t2_OovV, (4, 1, 2, 5), t2_OoVV, (6, 0, 7, 8), (6, 4, 3, 7, 5, 8)) * -1 + t3new += einsum(v.oovO, (0, 1, 2, 3), t2_OovV, (4, 1, 2, 5), t2_OoVV, (6, 0, 7, 8), (4, 6, 3, 7, 5, 8)) + t3new += einsum(v.oovO, (0, 1, 2, 3), t2_OOvV, (4, 5, 2, 6), t2_ooVV, (0, 1, 7, 8), (4, 5, 3, 6, 7, 8)) * -0.5 + t3new += einsum(v.oovO, (0, 1, 2, 3), t2_OOvV, (4, 5, 2, 6), t2_ooVV, (0, 1, 7, 8), (4, 3, 5, 6, 7, 8)) * 0.5 + t3new += einsum(v.oovO, (0, 1, 2, 3), t2_OOvV, (4, 5, 2, 6), t2_ooVV, (0, 1, 7, 8), (4, 5, 3, 7, 6, 8)) * 0.5 + t3new += einsum(v.oovO, (0, 1, 2, 3), t2_OOvV, (4, 5, 2, 6), t2_ooVV, (0, 1, 7, 8), (4, 3, 5, 7, 6, 8)) * -0.5 + t3new += einsum(v.oovO, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t2_OovV, (7, 1, 2, 8), (4, 7, 3, 5, 6, 8)) + t3new += einsum(v.oovO, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t2_OovV, (7, 1, 2, 8), (7, 4, 3, 5, 6, 8)) * -1 + t3new += einsum(v.oovO, (0, 1, 2, 3), t2_ooVV, (0, 1, 4, 5), t2_OOvV, (6, 7, 2, 8), (6, 7, 3, 4, 5, 8)) * -0.5 + t3new += einsum(v.oovO, (0, 1, 2, 3), t2_ooVV, (0, 1, 4, 5), t2_OOvV, (6, 7, 2, 8), (6, 3, 7, 4, 5, 8)) * 0.5 + t3new += einsum(v.oovO, (0, 1, 2, 3), t2_OovV, (4, 1, 2, 5), t2_OoVV, (6, 0, 7, 8), (6, 3, 4, 5, 7, 8)) * -1 + t3new += einsum(v.oovO, (0, 1, 2, 3), t2_OovV, (4, 1, 2, 5), t2_OoVV, (6, 0, 7, 8), (4, 3, 6, 5, 7, 8)) + t3new += einsum(v.oovO, (0, 1, 2, 3), t2_OovV, (4, 1, 2, 5), t2_OoVV, (6, 0, 7, 8), (6, 3, 4, 7, 5, 8)) + t3new += einsum(v.oovO, (0, 1, 2, 3), t2_OovV, (4, 1, 2, 5), t2_OoVV, (6, 0, 7, 8), (4, 3, 6, 7, 5, 8)) * -1 + t3new += einsum(v.oovO, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t2_OovV, (7, 1, 2, 8), (4, 3, 7, 5, 6, 8)) * -1 + t3new += einsum(v.oovO, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t2_OovV, (7, 1, 2, 8), (7, 3, 4, 5, 6, 8)) + t3new += einsum(v.oovO, (0, 1, 2, 3), t2_OovV, (4, 1, 2, 5), t2_OoVV, (6, 0, 7, 8), (3, 6, 4, 5, 7, 8)) + t3new += einsum(v.oovO, (0, 1, 2, 3), t2_OovV, (4, 1, 2, 5), t2_OoVV, (6, 0, 7, 8), (3, 4, 6, 5, 7, 8)) * -1 + t3new += einsum(v.oovO, (0, 1, 2, 3), t2_OovV, (4, 1, 2, 5), t2_OoVV, (6, 0, 7, 8), (3, 6, 4, 7, 5, 8)) * -1 + t3new += einsum(v.oovO, (0, 1, 2, 3), t2_OovV, (4, 1, 2, 5), t2_OoVV, (6, 0, 7, 8), (3, 4, 6, 7, 5, 8)) + t3new += einsum(v.oovO, (0, 1, 2, 3), t2_OOvV, (4, 5, 2, 6), t2_ooVV, (0, 1, 7, 8), (3, 4, 5, 6, 7, 8)) * -0.5 + t3new += einsum(v.oovO, (0, 1, 2, 3), t2_OOvV, (4, 5, 2, 6), t2_ooVV, (0, 1, 7, 8), (3, 4, 5, 7, 6, 8)) * 0.5 + t3new += einsum(v.oovO, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t2_OovV, (7, 1, 2, 8), (3, 4, 7, 5, 6, 8)) + t3new += einsum(v.oovO, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t2_OovV, (7, 1, 2, 8), (3, 7, 4, 5, 6, 8)) * -1 + t3new += einsum(v.oovO, (0, 1, 2, 3), t2_ooVV, (0, 1, 4, 5), t2_OOvV, (6, 7, 2, 8), (3, 6, 7, 4, 5, 8)) * -0.5 + t3new += einsum(v.oVvv, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t2_OOvv, (7, 8, 2, 3), (4, 7, 8, 1, 5, 6)) * -0.5 + t3new += einsum(v.oVvv, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t2_OOvv, (7, 8, 2, 3), (7, 4, 8, 1, 5, 6)) * 0.5 + t3new += einsum(v.oVvv, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t2_OOvv, (7, 8, 2, 3), (4, 7, 8, 5, 1, 6)) * 0.5 + t3new += einsum(v.oVvv, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t2_OOvv, (7, 8, 2, 3), (7, 4, 8, 5, 1, 6)) * -0.5 + t3new += einsum(v.oVvv, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t2_OOvv, (7, 8, 2, 3), (7, 8, 4, 1, 5, 6)) * -0.5 + t3new += einsum(v.oVvv, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t2_OOvv, (7, 8, 2, 3), (7, 8, 4, 5, 1, 6)) * 0.5 + t3new += einsum(v.oVvv, (0, 1, 2, 3), t2_OovV, (4, 0, 2, 5), t2_OOvV, (6, 7, 3, 8), (6, 7, 4, 1, 5, 8)) + t3new += einsum(v.oVvv, (0, 1, 2, 3), t2_OovV, (4, 0, 2, 5), t2_OOvV, (6, 7, 3, 8), (6, 4, 7, 1, 5, 8)) * -1 + t3new += einsum(v.oVvv, (0, 1, 2, 3), t2_OovV, (4, 0, 2, 5), t2_OOvV, (6, 7, 3, 8), (6, 7, 4, 5, 1, 8)) * -1 + t3new += einsum(v.oVvv, (0, 1, 2, 3), t2_OovV, (4, 0, 2, 5), t2_OOvV, (6, 7, 3, 8), (6, 4, 7, 5, 1, 8)) + t3new += einsum(v.oVvv, (0, 1, 2, 3), t2_OovV, (4, 0, 2, 5), t2_OOvV, (6, 7, 3, 8), (4, 6, 7, 1, 5, 8)) + t3new += einsum(v.oVvv, (0, 1, 2, 3), t2_OovV, (4, 0, 2, 5), t2_OOvV, (6, 7, 3, 8), (4, 6, 7, 5, 1, 8)) * -1 + t3new += einsum(v.oVvv, (0, 1, 2, 3), t2_OOvV, (4, 5, 2, 6), t2_OovV, (7, 0, 3, 8), (7, 4, 5, 1, 6, 8)) + t3new += einsum(v.oVvv, (0, 1, 2, 3), t2_OOvV, (4, 5, 2, 6), t2_OovV, (7, 0, 3, 8), (4, 7, 5, 1, 6, 8)) * -1 + t3new += einsum(v.oVvv, (0, 1, 2, 3), t2_OOvV, (4, 5, 2, 6), t2_OovV, (7, 0, 3, 8), (7, 4, 5, 6, 1, 8)) * -1 + t3new += einsum(v.oVvv, (0, 1, 2, 3), t2_OOvV, (4, 5, 2, 6), t2_OovV, (7, 0, 3, 8), (4, 7, 5, 6, 1, 8)) + t3new += einsum(v.oVvv, (0, 1, 2, 3), t2_OOvV, (4, 5, 2, 6), t2_OovV, (7, 0, 3, 8), (4, 5, 7, 1, 6, 8)) + t3new += einsum(v.oVvv, (0, 1, 2, 3), t2_OOvV, (4, 5, 2, 6), t2_OovV, (7, 0, 3, 8), (4, 5, 7, 6, 1, 8)) * -1 + t3new += einsum(v.oVvv, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t2_OOvv, (7, 8, 2, 3), (4, 7, 8, 5, 6, 1)) * -0.5 + t3new += einsum(v.oVvv, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t2_OOvv, (7, 8, 2, 3), (7, 4, 8, 5, 6, 1)) * 0.5 + t3new += einsum(v.oVvv, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t2_OOvv, (7, 8, 2, 3), (7, 8, 4, 5, 6, 1)) * -0.5 + t3new += einsum(v.oVvv, (0, 1, 2, 3), t2_OovV, (4, 0, 2, 5), t2_OOvV, (6, 7, 3, 8), (6, 7, 4, 5, 8, 1)) + t3new += einsum(v.oVvv, (0, 1, 2, 3), t2_OovV, (4, 0, 2, 5), t2_OOvV, (6, 7, 3, 8), (6, 4, 7, 5, 8, 1)) * -1 + t3new += einsum(v.oVvv, (0, 1, 2, 3), t2_OovV, (4, 0, 2, 5), t2_OOvV, (6, 7, 3, 8), (4, 6, 7, 5, 8, 1)) + t3new += einsum(v.oVvv, (0, 1, 2, 3), t2_OOvV, (4, 5, 2, 6), t2_OovV, (7, 0, 3, 8), (7, 4, 5, 6, 8, 1)) + t3new += einsum(v.oVvv, (0, 1, 2, 3), t2_OOvV, (4, 5, 2, 6), t2_OovV, (7, 0, 3, 8), (4, 7, 5, 6, 8, 1)) * -1 + t3new += einsum(v.oVvv, (0, 1, 2, 3), t2_OOvV, (4, 5, 2, 6), t2_OovV, (7, 0, 3, 8), (4, 5, 7, 6, 8, 1)) + t3new += einsum(v.oovv, (0, 1, 2, 3), t2_OOvV, (4, 5, 3, 6), t2_OoVV, (7, 0, 8, 9), t1, (1, 2), (7, 4, 5, 6, 8, 9)) + t3new += einsum(v.oovv, (0, 1, 2, 3), t2_OOvV, (4, 5, 3, 6), t2_OoVV, (7, 0, 8, 9), t1, (1, 2), (4, 7, 5, 6, 8, 9)) * -1 + t3new += einsum(v.oovv, (0, 1, 2, 3), t2_OOvV, (4, 5, 3, 6), t2_OoVV, (7, 0, 8, 9), t1, (1, 2), (7, 4, 5, 8, 6, 9)) * -1 + t3new += einsum(v.oovv, (0, 1, 2, 3), t2_OOvV, (4, 5, 3, 6), t2_OoVV, (7, 0, 8, 9), t1, (1, 2), (4, 7, 5, 8, 6, 9)) + t3new += einsum(v.oovv, (0, 1, 2, 3), t2_OOvV, (4, 5, 3, 6), t2_OoVV, (7, 0, 8, 9), t1, (1, 2), (4, 5, 7, 6, 8, 9)) + t3new += einsum(v.oovv, (0, 1, 2, 3), t2_OOvV, (4, 5, 3, 6), t2_OoVV, (7, 0, 8, 9), t1, (1, 2), (4, 5, 7, 8, 6, 9)) * -1 + t3new += einsum(v.oovv, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t2_OOvV, (7, 8, 3, 9), t1, (1, 2), (4, 7, 8, 5, 6, 9)) + t3new += einsum(v.oovv, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t2_OOvV, (7, 8, 3, 9), t1, (1, 2), (7, 4, 8, 5, 6, 9)) * -1 + t3new += einsum(v.oovv, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t2_OOvV, (7, 8, 3, 9), t1, (1, 2), (7, 8, 4, 5, 6, 9)) + t3new += einsum(v.oovv, (0, 1, 2, 3), t2_OovV, (4, 1, 3, 5), t2_OoVV, (6, 0, 7, 8), t1_Ov, (9, 2), (6, 4, 9, 5, 7, 8)) * -1 + t3new += einsum(v.oovv, (0, 1, 2, 3), t2_OovV, (4, 1, 3, 5), t2_OoVV, (6, 0, 7, 8), t1_Ov, (9, 2), (4, 6, 9, 5, 7, 8)) + t3new += einsum(v.oovv, (0, 1, 2, 3), t2_OovV, (4, 1, 3, 5), t2_OoVV, (6, 0, 7, 8), t1_Ov, (9, 2), (6, 4, 9, 7, 5, 8)) + t3new += einsum(v.oovv, (0, 1, 2, 3), t2_OovV, (4, 1, 3, 5), t2_OoVV, (6, 0, 7, 8), t1_Ov, (9, 2), (4, 6, 9, 7, 5, 8)) * -1 + t3new += einsum(v.oovv, (0, 1, 2, 3), t2_OOvV, (4, 5, 3, 6), t2_ooVV, (0, 1, 7, 8), t1_Ov, (9, 2), (4, 5, 9, 6, 7, 8)) * 0.5 + t3new += einsum(v.oovv, (0, 1, 2, 3), t2_OOvV, (4, 5, 3, 6), t2_ooVV, (0, 1, 7, 8), t1_Ov, (9, 2), (4, 9, 5, 6, 7, 8)) * -0.5 + t3new += einsum(v.oovv, (0, 1, 2, 3), t2_OOvV, (4, 5, 3, 6), t2_ooVV, (0, 1, 7, 8), t1_Ov, (9, 2), (4, 5, 9, 7, 6, 8)) * -0.5 + t3new += einsum(v.oovv, (0, 1, 2, 3), t2_OOvV, (4, 5, 3, 6), t2_ooVV, (0, 1, 7, 8), t1_Ov, (9, 2), (4, 9, 5, 7, 6, 8)) * 0.5 + t3new += einsum(v.oovv, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t2_OovV, (7, 1, 3, 8), t1_Ov, (9, 2), (4, 7, 9, 5, 6, 8)) * -1 + t3new += einsum(v.oovv, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t2_OovV, (7, 1, 3, 8), t1_Ov, (9, 2), (7, 4, 9, 5, 6, 8)) + t3new += einsum(v.oovv, (0, 1, 2, 3), t2_ooVV, (0, 1, 4, 5), t2_OOvV, (6, 7, 3, 8), t1_Ov, (9, 2), (6, 7, 9, 4, 5, 8)) * 0.5 + t3new += einsum(v.oovv, (0, 1, 2, 3), t2_ooVV, (0, 1, 4, 5), t2_OOvV, (6, 7, 3, 8), t1_Ov, (9, 2), (6, 9, 7, 4, 5, 8)) * -0.5 + t3new += einsum(v.oovv, (0, 1, 2, 3), t2_OovV, (4, 1, 3, 5), t2_OoVV, (6, 0, 7, 8), t1_Ov, (9, 2), (6, 9, 4, 5, 7, 8)) + t3new += einsum(v.oovv, (0, 1, 2, 3), t2_OovV, (4, 1, 3, 5), t2_OoVV, (6, 0, 7, 8), t1_Ov, (9, 2), (4, 9, 6, 5, 7, 8)) * -1 + t3new += einsum(v.oovv, (0, 1, 2, 3), t2_OovV, (4, 1, 3, 5), t2_OoVV, (6, 0, 7, 8), t1_Ov, (9, 2), (6, 9, 4, 7, 5, 8)) * -1 + t3new += einsum(v.oovv, (0, 1, 2, 3), t2_OovV, (4, 1, 3, 5), t2_OoVV, (6, 0, 7, 8), t1_Ov, (9, 2), (4, 9, 6, 7, 5, 8)) + t3new += einsum(v.oovv, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t2_OovV, (7, 1, 3, 8), t1_Ov, (9, 2), (4, 9, 7, 5, 6, 8)) + t3new += einsum(v.oovv, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t2_OovV, (7, 1, 3, 8), t1_Ov, (9, 2), (7, 9, 4, 5, 6, 8)) * -1 + t3new += einsum(v.oovv, (0, 1, 2, 3), t2_OovV, (4, 1, 3, 5), t2_OoVV, (6, 0, 7, 8), t1_Ov, (9, 2), (9, 6, 4, 5, 7, 8)) * -1 + t3new += einsum(v.oovv, (0, 1, 2, 3), t2_OovV, (4, 1, 3, 5), t2_OoVV, (6, 0, 7, 8), t1_Ov, (9, 2), (9, 4, 6, 5, 7, 8)) + t3new += einsum(v.oovv, (0, 1, 2, 3), t2_OovV, (4, 1, 3, 5), t2_OoVV, (6, 0, 7, 8), t1_Ov, (9, 2), (9, 6, 4, 7, 5, 8)) + t3new += einsum(v.oovv, (0, 1, 2, 3), t2_OovV, (4, 1, 3, 5), t2_OoVV, (6, 0, 7, 8), t1_Ov, (9, 2), (9, 4, 6, 7, 5, 8)) * -1 + t3new += einsum(v.oovv, (0, 1, 2, 3), t2_OOvV, (4, 5, 3, 6), t2_ooVV, (0, 1, 7, 8), t1_Ov, (9, 2), (9, 4, 5, 6, 7, 8)) * 0.5 + t3new += einsum(v.oovv, (0, 1, 2, 3), t2_OOvV, (4, 5, 3, 6), t2_ooVV, (0, 1, 7, 8), t1_Ov, (9, 2), (9, 4, 5, 7, 6, 8)) * -0.5 + t3new += einsum(v.oovv, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t2_OovV, (7, 1, 3, 8), t1_Ov, (9, 2), (9, 4, 7, 5, 6, 8)) * -1 + t3new += einsum(v.oovv, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t2_OovV, (7, 1, 3, 8), t1_Ov, (9, 2), (9, 7, 4, 5, 6, 8)) + t3new += einsum(v.oovv, (0, 1, 2, 3), t2_ooVV, (0, 1, 4, 5), t2_OOvV, (6, 7, 3, 8), t1_Ov, (9, 2), (9, 6, 7, 4, 5, 8)) * 0.5 + t3new += einsum(v.oovv, (0, 1, 2, 3), t1_oV, (1, 4), t2_OoVV, (5, 0, 6, 7), t2_OOvv, (8, 9, 2, 3), (5, 8, 9, 4, 6, 7)) * 0.5 + t3new += einsum(v.oovv, (0, 1, 2, 3), t1_oV, (1, 4), t2_OoVV, (5, 0, 6, 7), t2_OOvv, (8, 9, 2, 3), (8, 5, 9, 4, 6, 7)) * -0.5 + t3new += einsum(v.oovv, (0, 1, 2, 3), t1_oV, (1, 4), t2_OoVV, (5, 0, 6, 7), t2_OOvv, (8, 9, 2, 3), (5, 8, 9, 6, 4, 7)) * -0.5 + t3new += einsum(v.oovv, (0, 1, 2, 3), t1_oV, (1, 4), t2_OoVV, (5, 0, 6, 7), t2_OOvv, (8, 9, 2, 3), (8, 5, 9, 6, 4, 7)) * 0.5 + t3new += einsum(v.oovv, (0, 1, 2, 3), t1_oV, (1, 4), t2_OoVV, (5, 0, 6, 7), t2_OOvv, (8, 9, 2, 3), (8, 9, 5, 4, 6, 7)) * 0.5 + t3new += einsum(v.oovv, (0, 1, 2, 3), t1_oV, (1, 4), t2_OoVV, (5, 0, 6, 7), t2_OOvv, (8, 9, 2, 3), (8, 9, 5, 6, 4, 7)) * -0.5 + t3new += einsum(v.oovv, (0, 1, 2, 3), t1_oV, (1, 4), t2_OovV, (5, 0, 2, 6), t2_OOvV, (7, 8, 3, 9), (7, 8, 5, 4, 6, 9)) * -1 + t3new += einsum(v.oovv, (0, 1, 2, 3), t1_oV, (1, 4), t2_OovV, (5, 0, 2, 6), t2_OOvV, (7, 8, 3, 9), (7, 5, 8, 4, 6, 9)) + t3new += einsum(v.oovv, (0, 1, 2, 3), t1_oV, (1, 4), t2_OovV, (5, 0, 2, 6), t2_OOvV, (7, 8, 3, 9), (7, 8, 5, 6, 4, 9)) + t3new += einsum(v.oovv, (0, 1, 2, 3), t1_oV, (1, 4), t2_OovV, (5, 0, 2, 6), t2_OOvV, (7, 8, 3, 9), (7, 5, 8, 6, 4, 9)) * -1 + t3new += einsum(v.oovv, (0, 1, 2, 3), t1_oV, (1, 4), t2_OovV, (5, 0, 2, 6), t2_OOvV, (7, 8, 3, 9), (5, 7, 8, 4, 6, 9)) * -1 + t3new += einsum(v.oovv, (0, 1, 2, 3), t1_oV, (1, 4), t2_OovV, (5, 0, 2, 6), t2_OOvV, (7, 8, 3, 9), (5, 7, 8, 6, 4, 9)) + t3new += einsum(v.oovv, (0, 1, 2, 3), t1_oV, (1, 4), t2_OOvV, (5, 6, 2, 7), t2_OovV, (8, 0, 3, 9), (8, 5, 6, 4, 7, 9)) * -1 + t3new += einsum(v.oovv, (0, 1, 2, 3), t1_oV, (1, 4), t2_OOvV, (5, 6, 2, 7), t2_OovV, (8, 0, 3, 9), (5, 8, 6, 4, 7, 9)) + t3new += einsum(v.oovv, (0, 1, 2, 3), t1_oV, (1, 4), t2_OOvV, (5, 6, 2, 7), t2_OovV, (8, 0, 3, 9), (8, 5, 6, 7, 4, 9)) + t3new += einsum(v.oovv, (0, 1, 2, 3), t1_oV, (1, 4), t2_OOvV, (5, 6, 2, 7), t2_OovV, (8, 0, 3, 9), (5, 8, 6, 7, 4, 9)) * -1 + t3new += einsum(v.oovv, (0, 1, 2, 3), t1_oV, (1, 4), t2_OOvV, (5, 6, 2, 7), t2_OovV, (8, 0, 3, 9), (5, 6, 8, 4, 7, 9)) * -1 + t3new += einsum(v.oovv, (0, 1, 2, 3), t1_oV, (1, 4), t2_OOvV, (5, 6, 2, 7), t2_OovV, (8, 0, 3, 9), (5, 6, 8, 7, 4, 9)) + t3new += einsum(v.oovv, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t1_oV, (1, 7), t2_OOvv, (8, 9, 2, 3), (4, 8, 9, 5, 6, 7)) * 0.5 + t3new += einsum(v.oovv, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t1_oV, (1, 7), t2_OOvv, (8, 9, 2, 3), (8, 4, 9, 5, 6, 7)) * -0.5 + t3new += einsum(v.oovv, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t1_oV, (1, 7), t2_OOvv, (8, 9, 2, 3), (8, 9, 4, 5, 6, 7)) * 0.5 + t3new += einsum(v.oovv, (0, 1, 2, 3), t2_OovV, (4, 0, 2, 5), t2_OOvV, (6, 7, 3, 8), t1_oV, (1, 9), (6, 7, 4, 5, 8, 9)) * -1 + t3new += einsum(v.oovv, (0, 1, 2, 3), t2_OovV, (4, 0, 2, 5), t2_OOvV, (6, 7, 3, 8), t1_oV, (1, 9), (6, 4, 7, 5, 8, 9)) + t3new += einsum(v.oovv, (0, 1, 2, 3), t2_OovV, (4, 0, 2, 5), t2_OOvV, (6, 7, 3, 8), t1_oV, (1, 9), (4, 6, 7, 5, 8, 9)) * -1 + t3new += einsum(v.oovv, (0, 1, 2, 3), t2_OOvV, (4, 5, 2, 6), t2_OovV, (7, 0, 3, 8), t1_oV, (1, 9), (7, 4, 5, 6, 8, 9)) * -1 + t3new += einsum(v.oovv, (0, 1, 2, 3), t2_OOvV, (4, 5, 2, 6), t2_OovV, (7, 0, 3, 8), t1_oV, (1, 9), (4, 7, 5, 6, 8, 9)) + t3new += einsum(v.oovv, (0, 1, 2, 3), t2_OOvV, (4, 5, 2, 6), t2_OovV, (7, 0, 3, 8), t1_oV, (1, 9), (4, 5, 7, 6, 8, 9)) * -1 + t3new += einsum(v.oovO, (0, 1, 2, 3), t1_oV, (1, 4), t2_OoVV, (5, 0, 6, 7), t1_Ov, (8, 2), (5, 8, 3, 4, 6, 7)) + t3new += einsum(v.oovO, (0, 1, 2, 3), t1_oV, (1, 4), t2_OoVV, (5, 0, 6, 7), t1_Ov, (8, 2), (8, 5, 3, 4, 6, 7)) * -1 + t3new += einsum(v.oovO, (0, 1, 2, 3), t1_oV, (1, 4), t2_OoVV, (5, 0, 6, 7), t1_Ov, (8, 2), (5, 8, 3, 6, 4, 7)) * -1 + t3new += einsum(v.oovO, (0, 1, 2, 3), t1_oV, (1, 4), t2_OoVV, (5, 0, 6, 7), t1_Ov, (8, 2), (8, 5, 3, 6, 4, 7)) + t3new += einsum(v.oovO, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t1_oV, (1, 7), t1_Ov, (8, 2), (4, 8, 3, 5, 6, 7)) + t3new += einsum(v.oovO, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t1_oV, (1, 7), t1_Ov, (8, 2), (8, 4, 3, 5, 6, 7)) * -1 + t3new += einsum(v.oovO, (0, 1, 2, 3), t1_oV, (1, 4), t1_oV, (0, 5), t2_OOvV, (6, 7, 2, 8), (6, 7, 3, 4, 5, 8)) + t3new += einsum(v.oovO, (0, 1, 2, 3), t1_oV, (1, 4), t1_oV, (0, 5), t2_OOvV, (6, 7, 2, 8), (6, 3, 7, 4, 5, 8)) * -1 + t3new += einsum(v.oovO, (0, 1, 2, 3), t1_oV, (1, 4), t1_oV, (0, 5), t2_OOvV, (6, 7, 2, 8), (6, 7, 3, 4, 8, 5)) * -1 + t3new += einsum(v.oovO, (0, 1, 2, 3), t1_oV, (1, 4), t1_oV, (0, 5), t2_OOvV, (6, 7, 2, 8), (6, 3, 7, 4, 8, 5)) + t3new += einsum(v.oovO, (0, 1, 2, 3), t2_OOvV, (4, 5, 2, 6), t1_oV, (1, 7), t1_oV, (0, 8), (4, 5, 3, 6, 7, 8)) + t3new += einsum(v.oovO, (0, 1, 2, 3), t2_OOvV, (4, 5, 2, 6), t1_oV, (1, 7), t1_oV, (0, 8), (4, 3, 5, 6, 7, 8)) * -1 + t3new += einsum(v.oovO, (0, 1, 2, 3), t1_oV, (1, 4), t2_OoVV, (5, 0, 6, 7), t1_Ov, (8, 2), (5, 3, 8, 4, 6, 7)) * -1 + t3new += einsum(v.oovO, (0, 1, 2, 3), t1_oV, (1, 4), t2_OoVV, (5, 0, 6, 7), t1_Ov, (8, 2), (8, 3, 5, 4, 6, 7)) + t3new += einsum(v.oovO, (0, 1, 2, 3), t1_oV, (1, 4), t2_OoVV, (5, 0, 6, 7), t1_Ov, (8, 2), (5, 3, 8, 6, 4, 7)) + t3new += einsum(v.oovO, (0, 1, 2, 3), t1_oV, (1, 4), t2_OoVV, (5, 0, 6, 7), t1_Ov, (8, 2), (8, 3, 5, 6, 4, 7)) * -1 + t3new += einsum(v.oovO, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t1_oV, (1, 7), t1_Ov, (8, 2), (4, 3, 8, 5, 6, 7)) * -1 + t3new += einsum(v.oovO, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t1_oV, (1, 7), t1_Ov, (8, 2), (8, 3, 4, 5, 6, 7)) + t3new += einsum(v.oovO, (0, 1, 2, 3), t1_oV, (1, 4), t2_OoVV, (5, 0, 6, 7), t1_Ov, (8, 2), (3, 5, 8, 4, 6, 7)) + t3new += einsum(v.oovO, (0, 1, 2, 3), t1_oV, (1, 4), t2_OoVV, (5, 0, 6, 7), t1_Ov, (8, 2), (3, 8, 5, 4, 6, 7)) * -1 + t3new += einsum(v.oovO, (0, 1, 2, 3), t1_oV, (1, 4), t2_OoVV, (5, 0, 6, 7), t1_Ov, (8, 2), (3, 5, 8, 6, 4, 7)) * -1 + t3new += einsum(v.oovO, (0, 1, 2, 3), t1_oV, (1, 4), t2_OoVV, (5, 0, 6, 7), t1_Ov, (8, 2), (3, 8, 5, 6, 4, 7)) + t3new += einsum(v.oovO, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t1_oV, (1, 7), t1_Ov, (8, 2), (3, 4, 8, 5, 6, 7)) + t3new += einsum(v.oovO, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t1_oV, (1, 7), t1_Ov, (8, 2), (3, 8, 4, 5, 6, 7)) * -1 + t3new += einsum(v.oovO, (0, 1, 2, 3), t1_oV, (1, 4), t1_oV, (0, 5), t2_OOvV, (6, 7, 2, 8), (3, 6, 7, 4, 5, 8)) + t3new += einsum(v.oovO, (0, 1, 2, 3), t1_oV, (1, 4), t1_oV, (0, 5), t2_OOvV, (6, 7, 2, 8), (3, 6, 7, 4, 8, 5)) * -1 + t3new += einsum(v.oovO, (0, 1, 2, 3), t2_OOvV, (4, 5, 2, 6), t1_oV, (1, 7), t1_oV, (0, 8), (3, 4, 5, 6, 7, 8)) + t3new += einsum(v.oVvv, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t1_Ov, (7, 2), t1_Ov, (8, 3), (4, 8, 7, 1, 5, 6)) + t3new += einsum(v.oVvv, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t1_Ov, (7, 2), t1_Ov, (8, 3), (8, 4, 7, 1, 5, 6)) * -1 + t3new += einsum(v.oVvv, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t1_Ov, (7, 2), t1_Ov, (8, 3), (4, 8, 7, 5, 1, 6)) * -1 + t3new += einsum(v.oVvv, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t1_Ov, (7, 2), t1_Ov, (8, 3), (8, 4, 7, 5, 1, 6)) + t3new += einsum(v.oVvv, (0, 1, 2, 3), t1_oV, (0, 4), t2_OOvV, (5, 6, 3, 7), t1_Ov, (8, 2), (5, 6, 8, 1, 4, 7)) + t3new += einsum(v.oVvv, (0, 1, 2, 3), t1_oV, (0, 4), t2_OOvV, (5, 6, 3, 7), t1_Ov, (8, 2), (5, 8, 6, 1, 4, 7)) * -1 + t3new += einsum(v.oVvv, (0, 1, 2, 3), t1_oV, (0, 4), t2_OOvV, (5, 6, 3, 7), t1_Ov, (8, 2), (5, 6, 8, 1, 7, 4)) * -1 + t3new += einsum(v.oVvv, (0, 1, 2, 3), t1_oV, (0, 4), t2_OOvV, (5, 6, 3, 7), t1_Ov, (8, 2), (5, 8, 6, 1, 7, 4)) + t3new += einsum(v.oVvv, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t1_Ov, (7, 2), t1_Ov, (8, 3), (8, 7, 4, 1, 5, 6)) + t3new += einsum(v.oVvv, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t1_Ov, (7, 2), t1_Ov, (8, 3), (8, 7, 4, 5, 1, 6)) * -1 + t3new += einsum(v.oVvv, (0, 1, 2, 3), t1_oV, (0, 4), t2_OOvV, (5, 6, 3, 7), t1_Ov, (8, 2), (8, 5, 6, 1, 4, 7)) + t3new += einsum(v.oVvv, (0, 1, 2, 3), t1_oV, (0, 4), t2_OOvV, (5, 6, 3, 7), t1_Ov, (8, 2), (8, 5, 6, 1, 7, 4)) * -1 + t3new += einsum(v.oVvv, (0, 1, 2, 3), t1_oV, (0, 4), t2_OOvV, (5, 6, 3, 7), t1_Ov, (8, 2), (5, 6, 8, 4, 1, 7)) * -1 + t3new += einsum(v.oVvv, (0, 1, 2, 3), t1_oV, (0, 4), t2_OOvV, (5, 6, 3, 7), t1_Ov, (8, 2), (5, 8, 6, 4, 1, 7)) + t3new += einsum(v.oVvv, (0, 1, 2, 3), t1_oV, (0, 4), t2_OOvV, (5, 6, 3, 7), t1_Ov, (8, 2), (5, 6, 8, 7, 1, 4)) + t3new += einsum(v.oVvv, (0, 1, 2, 3), t1_oV, (0, 4), t2_OOvV, (5, 6, 3, 7), t1_Ov, (8, 2), (5, 8, 6, 7, 1, 4)) * -1 + t3new += einsum(v.oVvv, (0, 1, 2, 3), t1_oV, (0, 4), t2_OOvV, (5, 6, 3, 7), t1_Ov, (8, 2), (8, 5, 6, 4, 1, 7)) * -1 + t3new += einsum(v.oVvv, (0, 1, 2, 3), t1_oV, (0, 4), t2_OOvV, (5, 6, 3, 7), t1_Ov, (8, 2), (8, 5, 6, 7, 1, 4)) + t3new += einsum(v.oVvv, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t1_Ov, (7, 2), t1_Ov, (8, 3), (4, 8, 7, 5, 6, 1)) + t3new += einsum(v.oVvv, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t1_Ov, (7, 2), t1_Ov, (8, 3), (8, 4, 7, 5, 6, 1)) * -1 + t3new += einsum(v.oVvv, (0, 1, 2, 3), t1_oV, (0, 4), t2_OOvV, (5, 6, 3, 7), t1_Ov, (8, 2), (5, 6, 8, 4, 7, 1)) + t3new += einsum(v.oVvv, (0, 1, 2, 3), t1_oV, (0, 4), t2_OOvV, (5, 6, 3, 7), t1_Ov, (8, 2), (5, 8, 6, 4, 7, 1)) * -1 + t3new += einsum(v.oVvv, (0, 1, 2, 3), t1_oV, (0, 4), t2_OOvV, (5, 6, 3, 7), t1_Ov, (8, 2), (5, 6, 8, 7, 4, 1)) * -1 + t3new += einsum(v.oVvv, (0, 1, 2, 3), t1_oV, (0, 4), t2_OOvV, (5, 6, 3, 7), t1_Ov, (8, 2), (5, 8, 6, 7, 4, 1)) + t3new += einsum(v.oVvv, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t1_Ov, (7, 2), t1_Ov, (8, 3), (8, 7, 4, 5, 6, 1)) + t3new += einsum(v.oVvv, (0, 1, 2, 3), t1_oV, (0, 4), t2_OOvV, (5, 6, 3, 7), t1_Ov, (8, 2), (8, 5, 6, 4, 7, 1)) + t3new += einsum(v.oVvv, (0, 1, 2, 3), t1_oV, (0, 4), t2_OOvV, (5, 6, 3, 7), t1_Ov, (8, 2), (8, 5, 6, 7, 4, 1)) * -1 + t3new += einsum(v.Oovv, (0, 1, 2, 3), t3, (4, 5, 0, 6, 7, 8), t1, (1, 2), t1_Ov, (9, 3), (4, 5, 9, 6, 7, 8)) + t3new += einsum(v.Oovv, (0, 1, 2, 3), t3, (4, 5, 0, 6, 7, 8), t1, (1, 2), t1_Ov, (9, 3), (4, 9, 5, 6, 7, 8)) * -1 + t3new += einsum(v.Oovv, (0, 1, 2, 3), t3, (4, 5, 0, 6, 7, 8), t1, (1, 2), t1_Ov, (9, 3), (9, 4, 5, 6, 7, 8)) + t3new += einsum(v.oovV, (0, 1, 2, 3), t1_oV, (0, 4), t3, (5, 6, 7, 3, 8, 9), t1, (1, 2), (5, 6, 7, 4, 8, 9)) + t3new += einsum(v.oovV, (0, 1, 2, 3), t1_oV, (0, 4), t3, (5, 6, 7, 3, 8, 9), t1, (1, 2), (5, 6, 7, 8, 4, 9)) * -1 + t3new += einsum(v.oovV, (0, 1, 2, 3), t3, (4, 5, 6, 3, 7, 8), t1_oV, (0, 9), t1, (1, 2), (4, 5, 6, 7, 8, 9)) + t3new += einsum(v.OOvv, (0, 1, 2, 3), t3, (4, 0, 1, 5, 6, 7), t1_Ov, (8, 2), t1_Ov, (9, 3), (4, 9, 8, 5, 6, 7)) * -0.5 + t3new += einsum(v.OOvv, (0, 1, 2, 3), t3, (4, 0, 1, 5, 6, 7), t1_Ov, (8, 2), t1_Ov, (9, 3), (9, 4, 8, 5, 6, 7)) * 0.5 + t3new += einsum(v.OovV, (0, 1, 2, 3), t1_oV, (1, 4), t3, (5, 6, 0, 3, 7, 8), t1_Ov, (9, 2), (5, 6, 9, 4, 7, 8)) + t3new += einsum(v.OovV, (0, 1, 2, 3), t1_oV, (1, 4), t3, (5, 6, 0, 3, 7, 8), t1_Ov, (9, 2), (5, 9, 6, 4, 7, 8)) * -1 + t3new += einsum(v.OovV, (0, 1, 2, 3), t1_oV, (1, 4), t3, (5, 6, 0, 3, 7, 8), t1_Ov, (9, 2), (5, 6, 9, 7, 4, 8)) * -1 + t3new += einsum(v.OovV, (0, 1, 2, 3), t1_oV, (1, 4), t3, (5, 6, 0, 3, 7, 8), t1_Ov, (9, 2), (5, 9, 6, 7, 4, 8)) + t3new += einsum(v.OovV, (0, 1, 2, 3), t3, (4, 5, 0, 3, 6, 7), t1_oV, (1, 8), t1_Ov, (9, 2), (4, 5, 9, 6, 7, 8)) + t3new += einsum(v.OovV, (0, 1, 2, 3), t3, (4, 5, 0, 3, 6, 7), t1_oV, (1, 8), t1_Ov, (9, 2), (4, 9, 5, 6, 7, 8)) * -1 + t3new += einsum(v.OOvv, (0, 1, 2, 3), t3, (4, 0, 1, 5, 6, 7), t1_Ov, (8, 2), t1_Ov, (9, 3), (9, 8, 4, 5, 6, 7)) * -0.5 + t3new += einsum(v.OovV, (0, 1, 2, 3), t1_oV, (1, 4), t3, (5, 6, 0, 3, 7, 8), t1_Ov, (9, 2), (9, 5, 6, 4, 7, 8)) + t3new += einsum(v.OovV, (0, 1, 2, 3), t1_oV, (1, 4), t3, (5, 6, 0, 3, 7, 8), t1_Ov, (9, 2), (9, 5, 6, 7, 4, 8)) * -1 + t3new += einsum(v.OovV, (0, 1, 2, 3), t3, (4, 5, 0, 3, 6, 7), t1_oV, (1, 8), t1_Ov, (9, 2), (9, 4, 5, 6, 7, 8)) + t3new += einsum(v.ooVV, (0, 1, 2, 3), t1_oV, (1, 4), t1_oV, (0, 5), t3, (6, 7, 8, 2, 3, 9), (6, 7, 8, 4, 5, 9)) * -0.5 + t3new += einsum(v.ooVV, (0, 1, 2, 3), t1_oV, (1, 4), t1_oV, (0, 5), t3, (6, 7, 8, 2, 3, 9), (6, 7, 8, 4, 9, 5)) * 0.5 + t3new += einsum(v.ooVV, (0, 1, 2, 3), t3, (4, 5, 6, 2, 3, 7), t1_oV, (1, 8), t1_oV, (0, 9), (4, 5, 6, 7, 8, 9)) * -0.5 + t3new += einsum(v.oovv, (0, 1, 2, 3), t1_oV, (1, 4), t2_OoVV, (5, 0, 6, 7), t1_Ov, (8, 2), t1_Ov, (9, 3), (5, 9, 8, 4, 6, 7)) * -1 + t3new += einsum(v.oovv, (0, 1, 2, 3), t1_oV, (1, 4), t2_OoVV, (5, 0, 6, 7), t1_Ov, (8, 2), t1_Ov, (9, 3), (9, 5, 8, 4, 6, 7)) + t3new += einsum(v.oovv, (0, 1, 2, 3), t1_oV, (1, 4), t2_OoVV, (5, 0, 6, 7), t1_Ov, (8, 2), t1_Ov, (9, 3), (5, 9, 8, 6, 4, 7)) + t3new += einsum(v.oovv, (0, 1, 2, 3), t1_oV, (1, 4), t2_OoVV, (5, 0, 6, 7), t1_Ov, (8, 2), t1_Ov, (9, 3), (9, 5, 8, 6, 4, 7)) * -1 + t3new += einsum(v.oovv, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t1_oV, (1, 7), t1_Ov, (8, 2), t1_Ov, (9, 3), (4, 9, 8, 5, 6, 7)) * -1 + t3new += einsum(v.oovv, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t1_oV, (1, 7), t1_Ov, (8, 2), t1_Ov, (9, 3), (9, 4, 8, 5, 6, 7)) + t3new += einsum(v.oovv, (0, 1, 2, 3), t1_oV, (1, 4), t1_oV, (0, 5), t2_OOvV, (6, 7, 3, 8), t1_Ov, (9, 2), (6, 7, 9, 4, 5, 8)) * -1 + t3new += einsum(v.oovv, (0, 1, 2, 3), t1_oV, (1, 4), t1_oV, (0, 5), t2_OOvV, (6, 7, 3, 8), t1_Ov, (9, 2), (6, 9, 7, 4, 5, 8)) + t3new += einsum(v.oovv, (0, 1, 2, 3), t1_oV, (1, 4), t1_oV, (0, 5), t2_OOvV, (6, 7, 3, 8), t1_Ov, (9, 2), (6, 7, 9, 4, 8, 5)) + t3new += einsum(v.oovv, (0, 1, 2, 3), t1_oV, (1, 4), t1_oV, (0, 5), t2_OOvV, (6, 7, 3, 8), t1_Ov, (9, 2), (6, 9, 7, 4, 8, 5)) * -1 + t3new += einsum(v.oovv, (0, 1, 2, 3), t2_OOvV, (4, 5, 3, 6), t1_oV, (1, 7), t1_oV, (0, 8), t1_Ov, (9, 2), (4, 5, 9, 6, 7, 8)) * -1 + t3new += einsum(v.oovv, (0, 1, 2, 3), t2_OOvV, (4, 5, 3, 6), t1_oV, (1, 7), t1_oV, (0, 8), t1_Ov, (9, 2), (4, 9, 5, 6, 7, 8)) + t3new += einsum(v.oovv, (0, 1, 2, 3), t1_oV, (1, 4), t2_OoVV, (5, 0, 6, 7), t1_Ov, (8, 2), t1_Ov, (9, 3), (9, 8, 5, 4, 6, 7)) * -1 + t3new += einsum(v.oovv, (0, 1, 2, 3), t1_oV, (1, 4), t2_OoVV, (5, 0, 6, 7), t1_Ov, (8, 2), t1_Ov, (9, 3), (9, 8, 5, 6, 4, 7)) + t3new += einsum(v.oovv, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t1_oV, (1, 7), t1_Ov, (8, 2), t1_Ov, (9, 3), (9, 8, 4, 5, 6, 7)) * -1 + t3new += einsum(v.oovv, (0, 1, 2, 3), t1_oV, (1, 4), t1_oV, (0, 5), t2_OOvV, (6, 7, 3, 8), t1_Ov, (9, 2), (9, 6, 7, 4, 5, 8)) * -1 + t3new += einsum(v.oovv, (0, 1, 2, 3), t1_oV, (1, 4), t1_oV, (0, 5), t2_OOvV, (6, 7, 3, 8), t1_Ov, (9, 2), (9, 6, 7, 4, 8, 5)) + t3new += einsum(v.oovv, (0, 1, 2, 3), t2_OOvV, (4, 5, 3, 6), t1_oV, (1, 7), t1_oV, (0, 8), t1_Ov, (9, 2), (9, 4, 5, 6, 7, 8)) * -1 + + t1new[np.ix_(sO, sV)] += t1new_OV + t2new[np.ix_(so, sO, sV, sV)] += t2new_oOVV + t2new[np.ix_(sO, so, sV, sV)] += t2new_OoVV + t2new[np.ix_(sO, sO, sv, sV)] += t2new_OOvV + t2new[np.ix_(sO, sO, sV, sv)] += t2new_OOVv + t2new[np.ix_(sO, sO, sV, sV)] += t2new_OOVV + + return {f"t1new": t1new, f"t2new": t2new, f"t3new": t3new} + diff --git a/ebcc/codegen/bootstrap_CC3.py b/ebcc/codegen/bootstrap_CC3.py index a1aa4e18..a2ed09bc 100644 --- a/ebcc/codegen/bootstrap_CC3.py +++ b/ebcc/codegen/bootstrap_CC3.py @@ -96,7 +96,7 @@ indices = default_indices["o"][: n + 1] + default_indices["v"][: n + 1] expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) expr_n = spin_integrate(expr_n, spin) - output_n = get_t_amplitude_outputs(expr_n, f"t{n+1}new") + output_n = get_t_amplitude_outputs(expr_n, f"t{n+1}new", indices=indices) returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"t{n+1}new"),) expr.extend(expr_n) output.extend(output_n) diff --git a/ebcc/codegen/bootstrap_CCSDT.py b/ebcc/codegen/bootstrap_CCSDT.py index 1407df5b..97de8a2e 100644 --- a/ebcc/codegen/bootstrap_CCSDT.py +++ b/ebcc/codegen/bootstrap_CCSDT.py @@ -91,7 +91,7 @@ indices = default_indices["o"][: n + 1] + default_indices["v"][: n + 1] expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) expr_n = spin_integrate(expr_n, spin) - output_n = get_t_amplitude_outputs(expr_n, f"t{n+1}new") + output_n = get_t_amplitude_outputs(expr_n, f"t{n+1}new", indices=indices) returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"t{n+1}new"),) expr.extend(expr_n) output.extend(output_n) diff --git a/ebcc/codegen/bootstrap_common.py b/ebcc/codegen/bootstrap_common.py index b91c0280..efcc8284 100644 --- a/ebcc/codegen/bootstrap_common.py +++ b/ebcc/codegen/bootstrap_common.py @@ -331,6 +331,17 @@ def get_amplitude_spins(n, spin, which="t"): else: it = itertools.combinations_with_replacement("αβ", max(no, nv)) for spins in it: + # Canonicalise the spin order + best = [None, 1e10] + for s in itertools.permutations(spins): + penalty = 0 + for i in range(len(s) - 1): + penalty += int(s[i] == s[i + 1]) * 2 + if s[0] != min(s): + penalty += 1 + if penalty < best[1]: + best = [s, penalty] + spins = best[0] case = {} for i, s in enumerate(spins): if i < no: From 674c2a29ebf5729495f32f5c3957758e70ed4cb2 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Wed, 24 Jul 2024 17:50:28 +0100 Subject: [PATCH 044/168] Use my fork for drudge --- .github/workflows/bootstrap.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/bootstrap.yaml b/.github/workflows/bootstrap.yaml index 001a79e1..ad5ee320 100644 --- a/.github/workflows/bootstrap.yaml +++ b/.github/workflows/bootstrap.yaml @@ -34,7 +34,7 @@ jobs: run: | python -m pip install git+https://github.com/obackhouse/albert@master python -m pip install git+https://github.com/edeprince3/pdaggerq@master - python -m pip install git+https://github.com/tschijnmo/drudge@master + python -m pip install git+https://github.com/obackhouse/drudge@master python -m pip install git+https://github.com/obackhouse/gristmill@master python -m pip install git+https://github.com/tschijnmo/DummyRDD@master - name: Bootstrap From fbe1d4f6021d869253be550ec7eac3e081bbc6f1 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Fri, 26 Jul 2024 21:25:34 +0100 Subject: [PATCH 045/168] Some active space --- .github/workflows/bootstrap_all.sh | 2 +- ebcc/codegen/GCCSD.py | 1879 ++++++++++++++-------------- ebcc/codegen/bootstrap_CCSDT.py | 1 + ebcc/codegen/bootstrap_CCSDTQ.py | 1 + ebcc/codegen/bootstrap_CCSDt.py | 248 ++++ ebcc/codegen/bootstrap_CCSDtp.py | 223 ++++ ebcc/codegen/bootstrap_DFDCD.py | 2 +- tests/test_GCCSDt.py | 2 +- 8 files changed, 1417 insertions(+), 941 deletions(-) create mode 100644 ebcc/codegen/bootstrap_CCSDt.py create mode 100644 ebcc/codegen/bootstrap_CCSDtp.py diff --git a/.github/workflows/bootstrap_all.sh b/.github/workflows/bootstrap_all.sh index 27d8f53f..35d36479 100644 --- a/.github/workflows/bootstrap_all.sh +++ b/.github/workflows/bootstrap_all.sh @@ -18,7 +18,7 @@ for method in CCD CCSD QCISD CC2 DCD DCSD; do done done -for method in CC3 CCSDT; do +for method in CC3 CCSDT CCSDtp; do for i in rhf uhf ghf; do echo "Bootstrapping $method ($i)" python -W ignore bootstrap_${method}.py $i diff --git a/ebcc/codegen/GCCSD.py b/ebcc/codegen/GCCSD.py index aaa40c0b..867798c4 100644 --- a/ebcc/codegen/GCCSD.py +++ b/ebcc/codegen/GCCSD.py @@ -2,7 +2,7 @@ Code generated by `albert`: https://github.com/obackhouse/albert - * date: 2024-07-22T17:08:27.959379 + * date: 2024-07-25T21:20:53.049671 * python version: 3.10.12 (main, Mar 22 2024, 16:50:05) [GCC 11.4.0] * albert version: 0.0.0 * caller: /home/ollie/git/albert/albert/codegen/einsum.py @@ -18,7 +18,7 @@ def energy(f=None, t1=None, t2=None, v=None, **kwargs): """ - Code generated by `albert` 0.0.0 on 2024-07-22T17:08:28.105863. + Code generated by `albert` 0.0.0 on 2024-07-25T21:20:53.184378. Parameters ---------- @@ -37,17 +37,17 @@ def energy(f=None, t1=None, t2=None, v=None, **kwargs): Coupled cluster energy. """ - tmp0 = t2.copy() - tmp0 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) * 2 - e_cc = einsum(v.oovv, (0, 1, 2, 3), tmp0, (0, 1, 2, 3), (), optimize=True) * 0.25 + tmp0 = t2.transpose((1, 0, 3, 2)).copy() + tmp0 += einsum(t1, (0, 1), t1, (2, 3), (2, 0, 3, 1)) * 2 + e_cc = einsum(v.oovv, (0, 1, 2, 3), tmp0, (0, 1, 2, 3), ()) * 0.25 del tmp0 - e_cc += einsum(t1, (0, 1), f.ov, (0, 1), (), optimize=True) + e_cc += einsum(t1, (0, 1), f.ov, (0, 1), ()) return e_cc def update_amps(f=None, t1=None, t2=None, v=None, **kwargs): """ - Code generated by `albert` 0.0.0 on 2024-07-22T17:08:32.712017. + Code generated by `albert` 0.0.0 on 2024-07-25T21:20:57.470045. Parameters ---------- @@ -68,167 +68,167 @@ def update_amps(f=None, t1=None, t2=None, v=None, **kwargs): Updated T2 residuals. """ - tmp3 = einsum(v.oovv, (0, 1, 2, 3), t1, (1, 3), (0, 2), optimize=True) - tmp41 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 5, 2, 3), (4, 5, 0, 1), optimize=True) - tmp40 = einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) - tmp13 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 1, 5, 3), (0, 4, 5, 2), optimize=True) - tmp15 = t2.copy() - tmp15 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 3, 1), optimize=True) * -1 - tmp5 = einsum(f.ov, (0, 1), t1, (2, 1), (0, 2), optimize=True) - tmp26 = einsum(v.ooov, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2), optimize=True) - tmp7 = t2.copy() - tmp7 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) * 2 - tmp24 = einsum(v.oovv, (0, 1, 2, 3), t2, (4, 1, 2, 3), (4, 0), optimize=True) - tmp0 = einsum(t1, (0, 1), v.oovv, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) - tmp20 = einsum(t1, (0, 1), tmp3, (2, 1), (0, 2), optimize=True) - tmp6 = einsum(t1, (0, 1), v.ooov, (2, 0, 3, 1), (2, 3), optimize=True) - tmp38 = einsum(t2, (0, 1, 2, 3), v.oovv, (0, 1, 4, 3), (2, 4), optimize=True) - tmp42 = tmp40.transpose((0, 2, 1, 3)).copy() * -1 + tmp19 = einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 2, 3), (0, 1, 4, 5)) + tmp18 = einsum(t2, (0, 1, 2, 3), f.ov, (4, 3), (4, 0, 1, 2)) + tmp3 = einsum(t1, (0, 1), v.oovv, (2, 0, 3, 1), (2, 3)) + tmp0 = einsum(t1, (0, 1), v.oovv, (2, 3, 4, 1), (0, 2, 3, 4)) + tmp16 = einsum(v.oovv, (0, 1, 2, 3), t2, (0, 1, 4, 2), (4, 3)) * -1 + tmp20 = tmp18.transpose((0, 2, 1, 3)).copy() * -1 + del tmp18 + tmp20 += tmp19.transpose((2, 1, 0, 3)) * 0.5 + del tmp19 + tmp33 = einsum(t1, (0, 1), tmp3, (2, 1), (0, 2)) + tmp6 = einsum(t1, (0, 1), v.ooov, (0, 2, 3, 1), (2, 3)) * -1 + tmp42 = t2.transpose((1, 0, 3, 2)).copy() + tmp42 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 3, 1)) * -1 + tmp40 = einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 3), (0, 4, 5, 2)) * -1 + tmp9 = einsum(t1, (0, 1), v.ovvv, (0, 2, 1, 3), (2, 3)) * -1 + tmp13 = einsum(tmp3, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4)) * -1 + tmp11 = einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 3, 5), (0, 4, 2, 5)) + tmp45 = einsum(t1, (0, 1), v.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) + tmp7 = t2.transpose((1, 0, 3, 2)).copy() + tmp7 += einsum(t1, (0, 1), t1, (2, 3), (2, 0, 3, 1)) * 2 + tmp26 = einsum(v.ooov, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) + tmp5 = einsum(t1, (0, 1), f.ov, (2, 1), (2, 0)) + tmp24 = einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 2, 3), (0, 4)) * -1 + tmp29 = einsum(tmp0, (0, 1, 2, 3), t2, (4, 1, 5, 3), (0, 4, 2, 5)) + tmp17 = einsum(t2, (0, 1, 2, 3), tmp16, (4, 3), (0, 1, 2, 4)) + del tmp16 + tmp21 = einsum(tmp20, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4)) + del tmp20 + tmp34 = einsum(tmp33, (0, 1), t2, (2, 1, 3, 4), (0, 2, 3, 4)) * -1 + del tmp33 + tmp32 = einsum(t2, (0, 1, 2, 3), tmp6, (1, 4), (0, 4, 2, 3)) * -1 + tmp31 = einsum(t1, (0, 1), v.ovvv, (2, 1, 3, 4), (0, 2, 3, 4)) + tmp43 = einsum(tmp42, (0, 1, 2, 3), v.ovov, (0, 4, 5, 2), (1, 5, 3, 4)) + del tmp42 + tmp41 = einsum(tmp40, (0, 1, 2, 3), t1, (1, 4), (0, 2, 4, 3)) del tmp40 - tmp42 += tmp41.transpose((2, 1, 0, 3)) * 0.5 - del tmp41 - tmp33 = einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 3), (0, 4, 2, 5), optimize=True) - tmp35 = einsum(t2, (0, 1, 2, 3), tmp3, (4, 3), (0, 1, 4, 2), optimize=True) * -1 - tmp31 = einsum(t1, (0, 1), v.ovvv, (0, 2, 3, 1), (2, 3), optimize=True) - tmp29 = einsum(v.ovvv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2), optimize=True) - tmp14 = einsum(t1, (0, 1), tmp13, (2, 0, 3, 4), (2, 3, 1, 4), optimize=True) + tmp37 = einsum(t2, (0, 1, 2, 3), f.vv, (4, 3), (0, 1, 4, 2)) + tmp36 = einsum(t1, (0, 1), v.ooov, (2, 3, 0, 4), (2, 3, 1, 4)) + tmp10 = einsum(tmp9, (0, 1), t2, (2, 3, 4, 1), (2, 3, 4, 0)) * -1 + del tmp9 + tmp14 = einsum(tmp13, (0, 1, 2, 3), t1, (2, 4), (0, 1, 4, 3)) del tmp13 - tmp16 = einsum(v.ovov, (0, 1, 2, 3), tmp15, (2, 4, 1, 5), (4, 0, 5, 3), optimize=True) - del tmp15 - tmp23 = einsum(tmp5, (0, 1), t2, (2, 0, 3, 4), (1, 2, 3, 4), optimize=True) - tmp27 = einsum(tmp26, (0, 1, 2, 3), tmp7, (1, 2, 4, 5), (0, 3, 4, 5), optimize=True) * 0.5 + tmp12 = einsum(t2, (0, 1, 2, 3), tmp11, (4, 1, 5, 3), (4, 0, 5, 2)) + del tmp11 + tmp47 = einsum(tmp45, (0, 1, 2, 3), t1, (4, 3), (0, 4, 1, 2)) * -1 + tmp27 = einsum(tmp26, (0, 1, 2, 3), tmp7, (1, 2, 4, 5), (0, 3, 4, 5)) * 0.5 del tmp26 - tmp25 = einsum(t2, (0, 1, 2, 3), tmp24, (4, 1), (0, 4, 2, 3), optimize=True) + tmp23 = einsum(tmp5, (0, 1), t2, (2, 0, 3, 4), (1, 2, 3, 4)) + tmp25 = einsum(t2, (0, 1, 2, 3), tmp24, (4, 1), (0, 4, 2, 3)) del tmp24 - tmp47 = einsum(t2, (0, 1, 2, 3), tmp0, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) - tmp21 = einsum(tmp20, (0, 1), t2, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) * -1 - del tmp20 - tmp18 = einsum(v.ovvv, (0, 1, 2, 3), t1, (4, 1), (4, 0, 2, 3), optimize=True) - tmp19 = einsum(tmp6, (0, 1), t2, (2, 0, 3, 4), (2, 1, 3, 4), optimize=True) * -1 - tmp39 = einsum(t2, (0, 1, 2, 3), tmp38, (4, 3), (0, 1, 2, 4), optimize=True) - del tmp38 - tmp43 = einsum(t1, (0, 1), tmp42, (0, 2, 3, 4), (2, 3, 4, 1), optimize=True) - del tmp42 - tmp34 = einsum(t2, (0, 1, 2, 3), tmp33, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) - del tmp33 - tmp36 = einsum(tmp35, (0, 1, 2, 3), t1, (2, 4), (0, 1, 4, 3), optimize=True) - del tmp35 - tmp32 = einsum(tmp31, (0, 1), t2, (2, 3, 4, 1), (2, 3, 4, 0), optimize=True) * -1 - del tmp31 - tmp45 = einsum(tmp29, (0, 1, 2, 3), t1, (4, 3), (0, 4, 1, 2), optimize=True) * -1 - tmp9 = einsum(t1, (0, 1), v.ooov, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) - tmp10 = einsum(t2, (0, 1, 2, 3), f.vv, (4, 3), (0, 1, 4, 2), optimize=True) - tmp17 = tmp14.copy() - del tmp14 - tmp17 += tmp16 * -1 - del tmp16 - t2new = tmp17.transpose((1, 0, 3, 2)).copy() - t2new += tmp17.transpose((1, 0, 2, 3)) * -1 - t2new += tmp17.transpose((0, 1, 3, 2)) * -1 - t2new += tmp17 - del tmp17 - tmp28 = tmp23.transpose((0, 1, 3, 2)).copy() - del tmp23 - tmp28 += tmp25.transpose((0, 1, 3, 2)) * -0.5 - del tmp25 - tmp28 += tmp27.transpose((0, 1, 3, 2)) * -1 - del tmp27 - t2new += tmp28.transpose((1, 0, 2, 3)) - t2new += tmp28 * -1 - del tmp28 - tmp49 = v.oooo.copy() - tmp49 += einsum(v.oovv, (0, 1, 2, 3), tmp7, (4, 5, 2, 3), (0, 1, 5, 4), optimize=True) * -0.5 - t2new += einsum(tmp7, (0, 1, 2, 3), tmp49, (0, 1, 4, 5), (4, 5, 3, 2), optimize=True) * -0.5 - del tmp49 - tmp48 = einsum(t1, (0, 1), tmp47, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) - del tmp47 - t2new += tmp48.transpose((1, 0, 3, 2)) * -1 - t2new += tmp48.transpose((1, 0, 2, 3)) - t2new += tmp48.transpose((0, 1, 3, 2)) - t2new += tmp48 * -1 - del tmp48 - tmp30 = einsum(tmp29, (0, 1, 2, 3), t2, (4, 1, 5, 3), (0, 4, 5, 2), optimize=True) * -1 + tmp30 = einsum(tmp29, (0, 1, 2, 3), t1, (2, 4), (0, 1, 4, 3)) del tmp29 - t2new += tmp30.transpose((1, 0, 3, 2)) - t2new += tmp30.transpose((1, 0, 2, 3)) * -1 - t2new += tmp30.transpose((0, 1, 3, 2)) * -1 - t2new += tmp30 + t2new = tmp30.transpose((1, 0, 3, 2)).copy() * -1 + t2new += tmp30.transpose((1, 0, 2, 3)) + t2new += tmp30.transpose((0, 1, 3, 2)) + t2new += tmp30 * -1 del tmp30 - tmp22 = tmp18.transpose((0, 1, 3, 2)).copy() * -1 - del tmp18 - tmp22 += tmp19.transpose((0, 1, 3, 2)) - del tmp19 - tmp22 += tmp21.transpose((0, 1, 3, 2)) * -1 + tmp22 = tmp17.copy() * 0.5 + del tmp17 + tmp22 += tmp21.transpose((1, 0, 3, 2)) del tmp21 - t2new += tmp22.transpose((1, 0, 2, 3)) + t2new += tmp22.transpose((0, 1, 3, 2)) t2new += tmp22 * -1 del tmp22 - tmp2 = t2.copy() * 0.5 - tmp2 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) - t2new += einsum(tmp2, (0, 1, 2, 3), v.vvvv, (4, 5, 2, 3), (1, 0, 4, 5), optimize=True) * -1 - t1new = einsum(v.ovvv, (0, 1, 2, 3), tmp2, (0, 4, 2, 3), (4, 1), optimize=True) + tmp49 = v.oooo.transpose((2, 3, 1, 0)).copy() * -1 + tmp49 += einsum(v.oovv, (0, 1, 2, 3), tmp7, (4, 5, 2, 3), (1, 0, 5, 4)) * 0.5 + t2new += einsum(tmp49, (0, 1, 2, 3), tmp7, (0, 1, 4, 5), (2, 3, 5, 4)) * -0.5 + del tmp49 + tmp2 = t2.transpose((1, 0, 3, 2)).copy() * 0.5 + tmp2 += einsum(t1, (0, 1), t1, (2, 3), (2, 0, 3, 1)) + t2new += einsum(tmp2, (0, 1, 2, 3), v.vvvv, (2, 3, 4, 5), (1, 0, 4, 5)) * -1 + t1new = einsum(v.ovvv, (0, 1, 2, 3), tmp2, (0, 4, 2, 3), (4, 1)) del tmp2 - tmp44 = tmp39.copy() * 0.5 + tmp39 = einsum(f.oo, (0, 1), t2, (2, 1, 3, 4), (0, 2, 3, 4)) + t2new += tmp39.transpose((1, 0, 3, 2)) + t2new += tmp39.transpose((0, 1, 3, 2)) * -1 del tmp39 - tmp44 += tmp43.transpose((1, 0, 3, 2)) - del tmp43 - t2new += tmp44.transpose((0, 1, 3, 2)) - t2new += tmp44 * -1 - del tmp44 - tmp37 = tmp32.copy() + tmp35 = tmp31.transpose((0, 1, 3, 2)).copy() * -1 + del tmp31 + tmp35 += tmp32.transpose((0, 1, 3, 2)) del tmp32 - tmp37 += tmp34 + tmp35 += tmp34.transpose((0, 1, 3, 2)) * -1 del tmp34 - tmp37 += tmp36 * -1 - del tmp36 - t2new += tmp37.transpose((0, 1, 3, 2)) * -1 - t2new += tmp37 - del tmp37 - tmp46 = einsum(t1, (0, 1), tmp45, (2, 3, 0, 4), (3, 2, 1, 4), optimize=True) * -1 + t2new += tmp35.transpose((1, 0, 2, 3)) + t2new += tmp35 * -1 + del tmp35 + tmp46 = einsum(tmp45, (0, 1, 2, 3), t2, (4, 1, 5, 3), (0, 4, 5, 2)) * -1 del tmp45 - t2new += tmp46.transpose((0, 1, 3, 2)) - t2new += tmp46 * -1 + t2new += tmp46.transpose((1, 0, 3, 2)) + t2new += tmp46.transpose((1, 0, 2, 3)) * -1 + t2new += tmp46.transpose((0, 1, 3, 2)) * -1 + t2new += tmp46 del tmp46 - tmp12 = einsum(f.oo, (0, 1), t2, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) - t2new += tmp12.transpose((1, 0, 3, 2)) - t2new += tmp12.transpose((0, 1, 3, 2)) * -1 - del tmp12 - tmp11 = tmp9.transpose((1, 0, 2, 3)).copy() * -1 - del tmp9 - tmp11 += tmp10.transpose((1, 0, 2, 3)) * -1 + tmp44 = tmp41.copy() + del tmp41 + tmp44 += tmp43 * -1 + del tmp43 + t2new += tmp44.transpose((1, 0, 3, 2)) + t2new += tmp44.transpose((1, 0, 2, 3)) * -1 + t2new += tmp44.transpose((0, 1, 3, 2)) * -1 + t2new += tmp44 + del tmp44 + tmp38 = tmp36.transpose((1, 0, 2, 3)).copy() * -1 + del tmp36 + tmp38 += tmp37.transpose((1, 0, 2, 3)) * -1 + del tmp37 + t2new += tmp38.transpose((0, 1, 3, 2)) + t2new += tmp38 * -1 + del tmp38 + tmp15 = tmp10.copy() del tmp10 - t2new += tmp11.transpose((0, 1, 3, 2)) - t2new += tmp11 * -1 - del tmp11 - tmp4 = f.ov.copy() - tmp4 += tmp3 - del tmp3 - t1new += einsum(tmp4, (0, 1), t2, (2, 0, 3, 1), (2, 3), optimize=True) - del tmp4 - tmp8 = f.oo.copy() + tmp15 += tmp12 + del tmp12 + tmp15 += tmp14 * -1 + del tmp14 + t2new += tmp15.transpose((0, 1, 3, 2)) * -1 + t2new += tmp15 + del tmp15 + tmp48 = einsum(t1, (0, 1), tmp47, (2, 3, 0, 4), (3, 2, 1, 4)) * -1 + del tmp47 + t2new += tmp48.transpose((0, 1, 3, 2)) + t2new += tmp48 * -1 + del tmp48 + tmp28 = tmp23.transpose((0, 1, 3, 2)).copy() + del tmp23 + tmp28 += tmp25.transpose((0, 1, 3, 2)) * -0.5 + del tmp25 + tmp28 += tmp27.transpose((0, 1, 3, 2)) * -1 + del tmp27 + t2new += tmp28.transpose((1, 0, 2, 3)) + t2new += tmp28 * -1 + del tmp28 + tmp8 = f.oo.transpose((1, 0)).copy() tmp8 += tmp5 del tmp5 tmp8 += tmp6 del tmp6 - tmp8 += einsum(v.oovv, (0, 1, 2, 3), tmp7, (1, 4, 2, 3), (0, 4), optimize=True) * -0.5 + tmp8 += einsum(tmp7, (0, 1, 2, 3), v.oovv, (0, 4, 2, 3), (4, 1)) * 0.5 del tmp7 - t1new += einsum(tmp8, (0, 1), t1, (0, 2), (1, 2), optimize=True) * -1 + t1new += einsum(t1, (0, 1), tmp8, (0, 2), (2, 1)) * -1 del tmp8 - tmp1 = v.ovoo.transpose((0, 2, 3, 1)).copy() * -1 + tmp4 = f.ov.copy() + tmp4 += tmp3 + del tmp3 + t1new += einsum(t2, (0, 1, 2, 3), tmp4, (0, 2), (1, 3)) + del tmp4 + tmp1 = v.ooov.transpose((2, 1, 0, 3)).copy() tmp1 += tmp0.transpose((0, 2, 1, 3)) * -1 del tmp0 - t1new += einsum(tmp1, (0, 1, 2, 3), t2, (1, 2, 4, 3), (0, 4), optimize=True) * 0.5 + t1new += einsum(t2, (0, 1, 2, 3), tmp1, (4, 0, 1, 2), (4, 3)) * -0.5 del tmp1 - t1new += einsum(t1, (0, 1), f.vv, (2, 1), (0, 2), optimize=True) - t1new += einsum(v.ovov, (0, 1, 2, 3), t1, (2, 1), (0, 3), optimize=True) * -1 + t1new += einsum(v.ovov, (0, 1, 2, 3), t1, (2, 1), (0, 3)) * -1 t1new += f.ov - t2new += v.oovv + t1new += einsum(t1, (0, 1), f.vv, (2, 1), (0, 2)) + t2new += v.oovv.transpose((1, 0, 3, 2)) return {f"t1new": t1new, f"t2new": t2new} def update_lams(f=None, l1=None, l2=None, t1=None, t2=None, v=None, **kwargs): """ - Code generated by `albert` 0.0.0 on 2024-07-22T17:08:39.381180. + Code generated by `albert` 0.0.0 on 2024-07-25T21:21:03.672901. Parameters ---------- @@ -253,218 +253,216 @@ def update_lams(f=None, l1=None, l2=None, t1=None, t2=None, v=None, **kwargs): Updated L2 residuals. """ - tmp5 = einsum(t1, (0, 1), v.oovv, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) - tmp2 = einsum(v.ovvv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2), optimize=True) - tmp32 = einsum(t2, (0, 1, 2, 3), v.oovv, (0, 1, 4, 3), (2, 4), optimize=True) - tmp25 = einsum(t1, (0, 1), v.ovvv, (0, 2, 3, 1), (2, 3), optimize=True) - tmp27 = einsum(t1, (0, 1), v.ooov, (2, 0, 3, 1), (2, 3), optimize=True) - tmp28 = einsum(v.oovv, (0, 1, 2, 3), t2, (4, 1, 2, 3), (4, 0), optimize=True) - tmp21 = einsum(t2, (0, 1, 2, 3), l2, (2, 3, 4, 1), (4, 0), optimize=True) - tmp20 = einsum(t1, (0, 1), l1, (1, 2), (2, 0), optimize=True) - tmp1 = einsum(l2, (0, 1, 2, 3), t1, (4, 1), (2, 3, 4, 0), optimize=True) - l2new = einsum(tmp1, (0, 1, 2, 3), v.ovvv, (2, 3, 4, 5), (4, 5, 0, 1), optimize=True) - l1new = einsum(tmp1, (0, 1, 2, 3), v.ovov, (2, 3, 1, 4), (4, 0), optimize=True) * -1 - l1new += einsum(tmp1, (0, 1, 2, 3), tmp2, (1, 2, 3, 4), (4, 0), optimize=True) - tmp11 = v.ooov.copy() - tmp11 += tmp5.transpose((2, 1, 0, 3)) * 0.5 - tmp47 = v.ovov.transpose((0, 2, 3, 1)).copy() * -1 - tmp47 += tmp2 - tmp7 = einsum(v.oovv, (0, 1, 2, 3), t1, (1, 3), (0, 2), optimize=True) - tmp6 = v.ovoo.transpose((0, 2, 3, 1)).copy() * -1 + tmp5 = einsum(t1, (0, 1), v.oovv, (2, 3, 4, 1), (0, 2, 3, 4)) + tmp24 = einsum(t1, (0, 1), v.ovvv, (0, 2, 3, 1), (2, 3)) + tmp41 = einsum(v.oovv, (0, 1, 2, 3), t2, (0, 1, 3, 4), (4, 2)) * -1 + tmp4 = einsum(t1, (0, 1), v.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) + tmp19 = einsum(l1, (0, 1), t1, (2, 0), (1, 2)) + tmp20 = einsum(t2, (0, 1, 2, 3), l2, (2, 3, 0, 4), (4, 1)) + tmp27 = einsum(t2, (0, 1, 2, 3), v.oovv, (4, 0, 2, 3), (1, 4)) * -1 + tmp26 = einsum(t1, (0, 1), v.ooov, (2, 0, 3, 1), (2, 3)) + tmp1 = einsum(t1, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2)) + l2new = einsum(v.ovvv, (0, 1, 2, 3), tmp1, (4, 5, 0, 1), (2, 3, 4, 5)) + l1new = einsum(tmp4, (0, 1, 2, 3), tmp1, (4, 0, 1, 2), (3, 4)) + l1new += einsum(tmp1, (0, 1, 2, 3), v.ovov, (1, 4, 2, 3), (4, 0)) * -1 + tmp29 = einsum(v.oovv, (0, 1, 2, 3), t2, (1, 4, 3, 5), (4, 0, 5, 2)) + tmp6 = v.ooov.transpose((2, 1, 0, 3)).copy() tmp6 += tmp5.transpose((0, 2, 1, 3)) * -1 - tmp18 = einsum(t2, (0, 1, 2, 3), l2, (4, 3, 0, 1), (4, 2), optimize=True) - tmp33 = tmp25.copy() - tmp33 += tmp32 * 0.5 - del tmp32 - tmp40 = einsum(f.ov, (0, 1), t1, (2, 1), (0, 2), optimize=True) - tmp43 = tmp27.copy() * 2 - tmp43 += tmp28.transpose((1, 0)) - tmp24 = tmp20.copy() - tmp24 += tmp21 * 0.5 - l1new += einsum(v.ooov, (0, 1, 2, 3), tmp24, (2, 1), (3, 0), optimize=True) - tmp53 = einsum(v.oovv, (0, 1, 2, 3), t2, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) - tmp4 = einsum(t1, (0, 1), tmp1, (2, 3, 4, 1), (2, 3, 0, 4), optimize=True) - l1new += einsum(tmp4, (0, 1, 2, 3), v.ooov, (2, 3, 1, 4), (4, 0), optimize=True) * -0.5 - tmp3 = einsum(l2, (0, 1, 2, 3), t2, (4, 5, 0, 1), (2, 3, 4, 5), optimize=True) - l1new += einsum(v.ovoo, (0, 1, 2, 3), tmp3, (4, 0, 3, 2), (1, 4), optimize=True) * 0.25 - tmp10 = einsum(v.oovv, (0, 1, 2, 3), t2, (4, 5, 2, 3), (4, 5, 0, 1), optimize=True) - tmp12 = einsum(tmp11, (0, 1, 2, 3), t1, (4, 3), (0, 1, 2, 4), optimize=True) - del tmp11 - tmp48 = einsum(tmp47, (0, 1, 2, 3), l2, (4, 2, 5, 0), (1, 5, 3, 4), optimize=True) - del tmp47 - tmp46 = einsum(tmp1, (0, 1, 2, 3), v.ooov, (4, 2, 1, 5), (0, 4, 3, 5), optimize=True) - tmp50 = einsum(f.vv, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2), optimize=True) - tmp51 = einsum(tmp7, (0, 1), tmp1, (2, 3, 0, 4), (2, 3, 4, 1), optimize=True) - tmp35 = einsum(tmp6, (0, 1, 2, 3), l1, (4, 0), (1, 2, 3, 4), optimize=True) - tmp31 = einsum(tmp18, (0, 1), v.oovv, (2, 3, 4, 1), (2, 3, 0, 4), optimize=True) * -1 - tmp34 = einsum(l2, (0, 1, 2, 3), tmp33, (1, 4), (2, 3, 4, 0), optimize=True) * -1 - del tmp33 - tmp30 = einsum(f.ov, (0, 1), tmp1, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) - tmp41 = einsum(l2, (0, 1, 2, 3), tmp40, (4, 3), (4, 2, 0, 1), optimize=True) - del tmp40 - tmp44 = einsum(l2, (0, 1, 2, 3), tmp43, (4, 3), (4, 2, 0, 1), optimize=True) * -0.5 - del tmp43 - tmp42 = einsum(v.oovv, (0, 1, 2, 3), tmp24, (4, 1), (4, 0, 2, 3), optimize=True) * -1 - tmp55 = einsum(tmp5, (0, 1, 2, 3), tmp1, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) * -1 + tmp42 = tmp24.copy() + tmp42 += tmp41 * 0.5 + del tmp41 + tmp17 = einsum(l2, (0, 1, 2, 3), t2, (2, 3, 1, 4), (0, 4)) * -1 + tmp55 = v.ovov.transpose((2, 0, 1, 3)).copy() * -1 + tmp55 += tmp4 + tmp33 = einsum(t1, (0, 1), f.ov, (2, 1), (2, 0)) + tmp23 = tmp19.copy() + tmp23 += tmp20 * 0.5 + l1new += einsum(v.ooov, (0, 1, 2, 3), tmp23, (2, 0), (3, 1)) * -1 + tmp36 = tmp26.copy() * 2 + tmp36 += tmp27.transpose((1, 0)) + tmp7 = einsum(t1, (0, 1), v.oovv, (2, 0, 3, 1), (2, 3)) + tmp10 = einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 2, 3), (0, 1, 4, 5)) + tmp11 = v.ooov.transpose((1, 0, 2, 3)).copy() * -1 + tmp11 += tmp5.transpose((2, 1, 0, 3)) * 0.5 + tmp2 = einsum(tmp1, (0, 1, 2, 3), t1, (4, 3), (0, 1, 4, 2)) + l1new += einsum(v.ooov, (0, 1, 2, 3), tmp2, (4, 2, 1, 0), (3, 4)) * 0.5 + tmp0 = einsum(t2, (0, 1, 2, 3), l2, (2, 3, 4, 5), (4, 5, 0, 1)) + l1new += einsum(tmp0, (0, 1, 2, 3), v.ooov, (2, 3, 1, 4), (4, 0)) * -0.25 + tmp51 = einsum(l2, (0, 1, 2, 3), f.oo, (4, 3), (4, 2, 0, 1)) + tmp52 = einsum(v.ovvv, (0, 1, 2, 3), l1, (1, 4), (4, 0, 2, 3)) + tmp30 = einsum(tmp29, (0, 1, 2, 3), l2, (4, 2, 0, 5), (5, 1, 4, 3)) * -1 + del tmp29 + tmp31 = einsum(tmp1, (0, 1, 2, 3), tmp5, (0, 4, 2, 5), (1, 4, 3, 5)) * -1 del tmp5 - tmp54 = einsum(tmp53, (0, 1, 2, 3), l2, (4, 2, 5, 0), (5, 1, 4, 3), optimize=True) - del tmp53 - tmp38 = einsum(v.ovvv, (0, 1, 2, 3), l1, (1, 4), (4, 0, 2, 3), optimize=True) - tmp37 = einsum(l2, (0, 1, 2, 3), f.oo, (4, 3), (4, 2, 0, 1), optimize=True) - tmp57 = einsum(tmp7, (0, 1), t1, (2, 1), (2, 0), optimize=True) - tmp22 = tmp20.copy() * 2 - del tmp20 - tmp22 += tmp21 - del tmp21 + tmp44 = einsum(tmp6, (0, 1, 2, 3), l1, (4, 0), (1, 2, 3, 4)) + tmp43 = einsum(tmp42, (0, 1), l2, (0, 2, 3, 4), (3, 4, 1, 2)) + del tmp42 + tmp39 = einsum(f.ov, (0, 1), tmp1, (2, 3, 0, 4), (2, 3, 1, 4)) + tmp40 = einsum(v.oovv, (0, 1, 2, 3), tmp17, (4, 3), (1, 0, 4, 2)) + tmp56 = einsum(tmp55, (0, 1, 2, 3), l2, (2, 4, 0, 5), (1, 5, 3, 4)) + del tmp55 + tmp54 = einsum(tmp1, (0, 1, 2, 3), v.ooov, (4, 2, 1, 5), (0, 4, 3, 5)) + tmp34 = einsum(l2, (0, 1, 2, 3), tmp33, (4, 3), (4, 2, 0, 1)) + del tmp33 + tmp35 = einsum(v.oovv, (0, 1, 2, 3), tmp23, (4, 0), (4, 1, 2, 3)) + tmp37 = einsum(tmp36, (0, 1), l2, (2, 3, 1, 4), (0, 4, 2, 3)) * 0.5 + del tmp36 + tmp49 = einsum(tmp1, (0, 1, 2, 3), tmp7, (2, 4), (0, 1, 3, 4)) + tmp48 = einsum(f.vv, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2)) + tmp46 = einsum(tmp7, (0, 1), t1, (2, 1), (2, 0)) tmp8 = f.ov.copy() tmp8 += tmp7 - l1new += einsum(tmp8, (0, 1), tmp24, (2, 0), (1, 2), optimize=True) * -1 - del tmp24 - tmp16 = tmp3.transpose((1, 0, 3, 2)).copy() * -0.5 - tmp16 += tmp4.transpose((0, 1, 3, 2)) - tmp9 = v.ovov.transpose((0, 2, 1, 3)).copy() - tmp9 += tmp2.transpose((0, 1, 3, 2)) * -0.5 - del tmp2 - tmp13 = v.oooo.copy() * -0.5 - tmp13 += tmp10.transpose((3, 2, 1, 0)) * -0.25 - tmp13 += tmp12.transpose((1, 0, 3, 2)) * -1 - tmp49 = einsum(tmp7, (0, 1), l1, (2, 3), (3, 0, 2, 1), optimize=True) - del tmp7 - tmp49 += tmp46 - del tmp46 - tmp49 += tmp48.transpose((1, 0, 3, 2)) - del tmp48 - l2new += tmp49.transpose((3, 2, 1, 0)) - l2new += tmp49.transpose((2, 3, 1, 0)) * -1 - l2new += tmp49.transpose((3, 2, 0, 1)) * -1 - l2new += tmp49.transpose((2, 3, 0, 1)) - del tmp49 - tmp60 = tmp3.transpose((1, 0, 3, 2)).copy() * -1 - del tmp3 - tmp60 += tmp4.transpose((0, 1, 3, 2)) * 2 + l1new += einsum(tmp8, (0, 1), tmp23, (2, 0), (1, 2)) * -1 + del tmp23 + tmp12 = v.oooo.transpose((2, 3, 1, 0)).copy() * 0.5 + tmp12 += tmp10.transpose((3, 2, 1, 0)) * -0.25 + tmp12 += einsum(tmp11, (0, 1, 2, 3), t1, (4, 3), (1, 0, 4, 2)) * -1 + tmp9 = v.ovov.transpose((2, 0, 3, 1)).copy() + tmp9 += tmp4.transpose((0, 1, 3, 2)) * -0.5 del tmp4 - l2new += einsum(v.oovv, (0, 1, 2, 3), tmp60, (4, 5, 0, 1), (2, 3, 5, 4), optimize=True) * 0.25 - del tmp60 - tmp52 = tmp50.transpose((1, 0, 2, 3)).copy() * -1 - del tmp50 - tmp52 += tmp51 + tmp21 = tmp19.copy() * 2 + del tmp19 + tmp21 += tmp20 + del tmp20 + tmp15 = tmp0.transpose((1, 0, 3, 2)).copy() * -0.5 + tmp15 += tmp2.transpose((0, 1, 3, 2)) + tmp53 = tmp51.transpose((0, 1, 3, 2)).copy() * -1 del tmp51 - l2new += tmp52.transpose((3, 2, 0, 1)) - l2new += tmp52.transpose((2, 3, 0, 1)) * -1 + tmp53 += tmp52.transpose((0, 1, 3, 2)) del tmp52 - tmp36 = tmp30.copy() * -1 + l2new += tmp53.transpose((2, 3, 1, 0)) * -1 + l2new += tmp53.transpose((2, 3, 0, 1)) + del tmp53 + tmp58 = v.oooo.transpose((2, 3, 1, 0)).copy() * -2 + tmp58 += tmp10.transpose((1, 0, 3, 2)) + del tmp10 + tmp58 += einsum(tmp11, (0, 1, 2, 3), t1, (4, 3), (2, 4, 1, 0)) * -4 + del tmp11 + l2new += einsum(l2, (0, 1, 2, 3), tmp58, (2, 3, 4, 5), (1, 0, 4, 5)) * -0.25 + del tmp58 + tmp32 = tmp30.copy() del tmp30 - tmp36 += tmp31 * 0.5 + tmp32 += tmp31 * -1 del tmp31 - tmp36 += tmp34.transpose((1, 0, 3, 2)) - del tmp34 - tmp36 += tmp35.transpose((1, 0, 3, 2)) - del tmp35 - l2new += tmp36.transpose((3, 2, 0, 1)) - l2new += tmp36.transpose((2, 3, 0, 1)) * -1 - del tmp36 - tmp45 = tmp41.transpose((0, 1, 3, 2)).copy() - del tmp41 - tmp45 += tmp42.transpose((0, 1, 3, 2)) * -1 - del tmp42 + l2new += tmp32.transpose((3, 2, 1, 0)) + l2new += tmp32.transpose((2, 3, 1, 0)) * -1 + l2new += tmp32.transpose((3, 2, 0, 1)) * -1 + l2new += tmp32.transpose((2, 3, 0, 1)) + del tmp32 + tmp45 = tmp39.copy() * -1 + del tmp39 + tmp45 += tmp40 * 0.5 + del tmp40 + tmp45 += tmp43.transpose((1, 0, 3, 2)) + del tmp43 tmp45 += tmp44.transpose((1, 0, 3, 2)) del tmp44 - l2new += tmp45.transpose((3, 2, 1, 0)) * -1 l2new += tmp45.transpose((3, 2, 0, 1)) + l2new += tmp45.transpose((2, 3, 0, 1)) * -1 del tmp45 - tmp56 = tmp54.copy() + tmp59 = tmp0.transpose((1, 0, 3, 2)).copy() * -1 + del tmp0 + tmp59 += tmp2.transpose((0, 1, 3, 2)) * 2 + del tmp2 + l2new += einsum(v.oovv, (0, 1, 2, 3), tmp59, (4, 5, 0, 1), (3, 2, 5, 4)) * -0.25 + del tmp59 + tmp57 = einsum(l1, (0, 1), tmp7, (2, 3), (1, 2, 0, 3)) + del tmp7 + tmp57 += tmp54 del tmp54 - tmp56 += tmp55 * -1 - del tmp55 - l2new += tmp56.transpose((3, 2, 1, 0)) - l2new += tmp56.transpose((2, 3, 1, 0)) * -1 - l2new += tmp56.transpose((3, 2, 0, 1)) * -1 - l2new += tmp56.transpose((2, 3, 0, 1)) + tmp57 += tmp56.transpose((1, 0, 3, 2)) del tmp56 - tmp59 = v.oooo.copy() * 0.5 - tmp59 += tmp10.transpose((1, 0, 3, 2)) * 0.25 - del tmp10 - tmp59 += tmp12.transpose((2, 3, 1, 0)) * -1 - del tmp12 - l2new += einsum(l2, (0, 1, 2, 3), tmp59, (2, 3, 4, 5), (0, 1, 4, 5), optimize=True) - del tmp59 - tmp39 = tmp37.transpose((0, 1, 3, 2)).copy() * -1 + l2new += tmp57.transpose((3, 2, 1, 0)) + l2new += tmp57.transpose((2, 3, 1, 0)) * -1 + l2new += tmp57.transpose((3, 2, 0, 1)) * -1 + l2new += tmp57.transpose((2, 3, 0, 1)) + del tmp57 + tmp38 = tmp34.transpose((0, 1, 3, 2)).copy() + del tmp34 + tmp38 += tmp35.transpose((0, 1, 3, 2)) * -1 + del tmp35 + tmp38 += tmp37.transpose((1, 0, 3, 2)) del tmp37 - tmp39 += tmp38.transpose((0, 1, 3, 2)) + l2new += tmp38.transpose((3, 2, 1, 0)) * -1 + l2new += tmp38.transpose((3, 2, 0, 1)) del tmp38 - l2new += tmp39.transpose((2, 3, 1, 0)) * -1 - l2new += tmp39.transpose((2, 3, 0, 1)) - del tmp39 - tmp58 = einsum(l2, (0, 1, 2, 3), tmp57, (3, 4), (2, 4, 0, 1), optimize=True) - del tmp57 - l2new += tmp58.transpose((2, 3, 1, 0)) - l2new += tmp58.transpose((2, 3, 0, 1)) * -1 - del tmp58 - tmp26 = f.vv.copy() - tmp26 += tmp25 * -1 - del tmp25 - l1new += einsum(l1, (0, 1), tmp26, (0, 2), (2, 1), optimize=True) + tmp50 = tmp48.transpose((1, 0, 2, 3)).copy() * -1 + del tmp48 + tmp50 += tmp49 + del tmp49 + l2new += tmp50.transpose((3, 2, 0, 1)) + l2new += tmp50.transpose((2, 3, 0, 1)) * -1 + del tmp50 + tmp47 = einsum(tmp46, (0, 1), l2, (2, 3, 4, 0), (4, 1, 2, 3)) + del tmp46 + l2new += tmp47.transpose((2, 3, 1, 0)) + l2new += tmp47.transpose((2, 3, 0, 1)) * -1 + del tmp47 + tmp28 = f.oo.transpose((1, 0)).copy() + tmp28 += tmp26.transpose((1, 0)) del tmp26 - tmp23 = t1.copy() * -2 - tmp23 += einsum(t2, (0, 1, 2, 3), l1, (3, 1), (0, 2), optimize=True) * -2 - tmp23 += einsum(tmp1, (0, 1, 2, 3), t2, (1, 0, 4, 3), (2, 4), optimize=True) - tmp23 += einsum(tmp22, (0, 1), t1, (0, 2), (1, 2), optimize=True) - del tmp22 - l1new += einsum(v.oovv, (0, 1, 2, 3), tmp23, (1, 3), (2, 0), optimize=True) * -0.5 - del tmp23 - tmp15 = v.ovvv.copy() - tmp15 += einsum(t1, (0, 1), v.vvvv, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) * -1 - l1new += einsum(tmp15, (0, 1, 2, 3), l2, (2, 3, 4, 0), (1, 4), optimize=True) * -0.5 - del tmp15 - tmp29 = f.oo.copy() - tmp29 += tmp27.transpose((1, 0)) + tmp28 += tmp27 * 0.5 del tmp27 - tmp29 += tmp28 * 0.5 + tmp28 += einsum(tmp8, (0, 1), t1, (2, 1), (2, 0)) + l1new += einsum(tmp28, (0, 1), l1, (2, 0), (2, 1)) * -1 del tmp28 - tmp29 += einsum(tmp8, (0, 1), t1, (2, 1), (2, 0), optimize=True) - l1new += einsum(tmp29, (0, 1), l1, (2, 0), (2, 1), optimize=True) * -1 - del tmp29 - tmp17 = einsum(l1, (0, 1), t2, (2, 3, 4, 0), (1, 2, 3, 4), optimize=True) - tmp17 += einsum(t2, (0, 1, 2, 3), tmp1, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) * -2 - del tmp1 - tmp17 += einsum(tmp16, (0, 1, 2, 3), t1, (0, 4), (1, 3, 2, 4), optimize=True) * -1 - del tmp16 - l1new += einsum(tmp17, (0, 1, 2, 3), v.oovv, (1, 2, 4, 3), (4, 0), optimize=True) * 0.5 - del tmp17 - tmp19 = einsum(t1, (0, 1), l1, (2, 0), (2, 1), optimize=True) - tmp19 += tmp18 * 0.5 - del tmp18 - l1new += einsum(tmp19, (0, 1), v.ovvv, (2, 0, 3, 1), (3, 2), optimize=True) - del tmp19 - tmp14 = v.ovoo.transpose((0, 2, 3, 1)).copy() * -1 - tmp14 += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 2, 3), (4, 0, 1, 5), optimize=True) * -0.5 - tmp14 += einsum(t2, (0, 1, 2, 3), tmp6, (4, 1, 5, 3), (5, 0, 4, 2), optimize=True) * 2 + tmp13 = v.ooov.transpose((2, 1, 0, 3)).copy() * 0.5 + tmp13 += einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 5, 2, 3), (0, 5, 4, 1)) * 0.25 + tmp13 += einsum(tmp6, (0, 1, 2, 3), t2, (1, 4, 3, 5), (2, 4, 0, 5)) del tmp6 - tmp14 += einsum(tmp8, (0, 1), t2, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) + tmp13 += einsum(t2, (0, 1, 2, 3), tmp8, (4, 2), (4, 1, 0, 3)) * 0.5 del tmp8 - tmp14 += einsum(t1, (0, 1), tmp9, (2, 3, 1, 4), (3, 2, 0, 4), optimize=True) * -2 + tmp13 += einsum(t1, (0, 1), tmp9, (2, 3, 1, 4), (3, 2, 0, 4)) * -1 del tmp9 - tmp14 += einsum(tmp13, (0, 1, 2, 3), t1, (0, 4), (1, 3, 2, 4), optimize=True) * -2 + tmp13 += einsum(t1, (0, 1), tmp12, (0, 2, 3, 4), (2, 4, 3, 1)) * -1 + del tmp12 + l1new += einsum(l2, (0, 1, 2, 3), tmp13, (4, 2, 3, 0), (1, 4)) * -1 del tmp13 - l1new += einsum(l2, (0, 1, 2, 3), tmp14, (4, 2, 3, 1), (0, 4), optimize=True) * 0.5 + tmp18 = einsum(t1, (0, 1), l1, (2, 0), (2, 1)) * 2 + tmp18 += tmp17 + del tmp17 + l1new += einsum(v.ovvv, (0, 1, 2, 3), tmp18, (1, 2), (3, 0)) * -0.5 + del tmp18 + tmp22 = t1.copy() * -2 + tmp22 += einsum(l1, (0, 1), t2, (2, 1, 3, 0), (2, 3)) * -2 + tmp22 += einsum(t2, (0, 1, 2, 3), tmp1, (0, 1, 4, 2), (4, 3)) + tmp22 += einsum(t1, (0, 1), tmp21, (0, 2), (2, 1)) + del tmp21 + l1new += einsum(v.oovv, (0, 1, 2, 3), tmp22, (0, 2), (3, 1)) * -0.5 + del tmp22 + tmp14 = v.ovvv.transpose((0, 1, 3, 2)).copy() * -1 + tmp14 += einsum(t1, (0, 1), v.vvvv, (2, 1, 3, 4), (0, 2, 4, 3)) + l1new += einsum(tmp14, (0, 1, 2, 3), l2, (2, 3, 0, 4), (1, 4)) * 0.5 del tmp14 - tmp0 = einsum(t2, (0, 1, 2, 3), l2, (4, 3, 5, 1), (5, 0, 4, 2), optimize=True) - l1new += einsum(v.ovvv, (0, 1, 2, 3), tmp0, (4, 0, 1, 3), (2, 4), optimize=True) * -1 - del tmp0 - l1new += einsum(v.ovov, (0, 1, 2, 3), l1, (1, 2), (3, 0), optimize=True) * -1 + tmp25 = f.vv.transpose((1, 0)).copy() + tmp25 += tmp24 * -1 + del tmp24 + l1new += einsum(l1, (0, 1), tmp25, (0, 2), (2, 1)) + del tmp25 + tmp16 = einsum(l1, (0, 1), t2, (2, 3, 4, 0), (1, 3, 2, 4)) * -1 + tmp16 += einsum(tmp1, (0, 1, 2, 3), t2, (4, 1, 5, 3), (0, 4, 2, 5)) * -2 + del tmp1 + tmp16 += einsum(t1, (0, 1), tmp15, (0, 2, 3, 4), (2, 4, 3, 1)) * -1 + del tmp15 + l1new += einsum(v.oovv, (0, 1, 2, 3), tmp16, (4, 0, 1, 2), (3, 4)) * -0.5 + del tmp16 + tmp3 = einsum(t2, (0, 1, 2, 3), l2, (4, 3, 1, 5), (5, 0, 4, 2)) * -1 + l1new += einsum(tmp3, (0, 1, 2, 3), v.ovvv, (1, 2, 4, 3), (4, 0)) * -1 + del tmp3 + l1new += einsum(v.ovov, (0, 1, 2, 3), l1, (1, 2), (3, 0)) * -1 l1new += f.ov.transpose((1, 0)) - l2new += v.oovv.transpose((2, 3, 0, 1)) - l2new += einsum(v.vvvv, (0, 1, 2, 3), l2, (2, 3, 4, 5), (0, 1, 4, 5), optimize=True) * 0.5 - l2new += einsum(f.ov, (0, 1), l1, (2, 3), (1, 2, 0, 3), optimize=True) - l2new += einsum(f.ov, (0, 1), l1, (2, 3), (2, 1, 0, 3), optimize=True) * -1 - l2new += einsum(f.ov, (0, 1), l1, (2, 3), (1, 2, 3, 0), optimize=True) * -1 - l2new += einsum(l1, (0, 1), f.ov, (2, 3), (0, 3, 1, 2), optimize=True) + l2new += v.oovv.transpose((3, 2, 1, 0)) + l2new += einsum(l2, (0, 1, 2, 3), v.vvvv, (4, 5, 0, 1), (5, 4, 3, 2)) * 0.5 + l2new += einsum(l1, (0, 1), f.ov, (2, 3), (3, 0, 2, 1)) + l2new += einsum(l1, (0, 1), f.ov, (2, 3), (0, 3, 2, 1)) * -1 + l2new += einsum(f.ov, (0, 1), l1, (2, 3), (1, 2, 3, 0)) * -1 + l2new += einsum(l1, (0, 1), f.ov, (2, 3), (0, 3, 1, 2)) return {f"l1new": l1new, f"l2new": l2new} def make_rdm1_f(l1=None, l2=None, t1=None, t2=None, **kwargs): """ - Code generated by `albert` 0.0.0 on 2024-07-22T17:08:39.790220. + Code generated by `albert` 0.0.0 on 2024-07-25T21:21:04.048906. Parameters ---------- @@ -488,33 +486,33 @@ def make_rdm1_f(l1=None, l2=None, t1=None, t2=None, **kwargs): oo=np.eye(t2.shape[0]), vv=np.eye(t2.shape[-1]), ) - tmp1 = einsum(l2, (0, 1, 2, 3), t2, (4, 3, 0, 1), (2, 4), optimize=True) + tmp1 = einsum(l2, (0, 1, 2, 3), t2, (4, 3, 0, 1), (2, 4)) rdm1.oo = tmp1.transpose((1, 0)).copy() * -0.5 - tmp0 = einsum(t1, (0, 1), l1, (1, 2), (2, 0), optimize=True) + tmp0 = einsum(l1, (0, 1), t1, (2, 0), (1, 2)) rdm1.oo += tmp0.transpose((1, 0)) * -1 - tmp3 = tmp0.copy() + tmp2 = einsum(t1, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2)) + rdm1.ov = einsum(tmp2, (0, 1, 2, 3), t2, (0, 1, 4, 3), (2, 4)) * 0.5 + del tmp2 + tmp3 = tmp0.copy() * 2 del tmp0 - tmp3 += tmp1 * 0.5 + tmp3 += tmp1 del tmp1 - rdm1.ov = einsum(tmp3, (0, 1), t1, (0, 2), (1, 2), optimize=True) * -1 + rdm1.ov += einsum(tmp3, (0, 1), t1, (0, 2), (1, 2)) * -0.5 del tmp3 - tmp2 = einsum(l2, (0, 1, 2, 3), t1, (4, 1), (2, 3, 4, 0), optimize=True) - rdm1.ov += einsum(tmp2, (0, 1, 2, 3), t2, (1, 0, 4, 3), (2, 4), optimize=True) * -0.5 - del tmp2 - rdm1.oo += delta.oo + rdm1.oo += delta.oo.transpose((1, 0)) del delta - rdm1.ov += einsum(t2, (0, 1, 2, 3), l1, (3, 1), (0, 2), optimize=True) + rdm1.ov += einsum(l1, (0, 1), t2, (2, 1, 3, 0), (2, 3)) rdm1.ov += t1 rdm1.vo = l1.copy() - rdm1.vv = einsum(l2, (0, 1, 2, 3), t2, (2, 3, 4, 1), (0, 4), optimize=True) * 0.5 - rdm1.vv += einsum(t1, (0, 1), l1, (2, 0), (2, 1), optimize=True) + rdm1.vv = einsum(t1, (0, 1), l1, (2, 0), (2, 1)) + rdm1.vv += einsum(t2, (0, 1, 2, 3), l2, (3, 4, 0, 1), (4, 2)) * -0.5 rdm1 = np.block([[rdm1.oo, rdm1.ov], [rdm1.vo, rdm1.vv]]) return rdm1 def make_rdm2_f(l1=None, l2=None, t1=None, t2=None, **kwargs): """ - Code generated by `albert` 0.0.0 on 2024-07-22T17:08:46.424357. + Code generated by `albert` 0.0.0 on 2024-07-25T21:21:09.965797. Parameters ---------- @@ -538,197 +536,197 @@ def make_rdm2_f(l1=None, l2=None, t1=None, t2=None, **kwargs): oo=np.eye(t2.shape[0]), vv=np.eye(t2.shape[-1]), ) - tmp1 = einsum(l2, (0, 1, 2, 3), t1, (4, 1), (2, 3, 4, 0), optimize=True) + tmp3 = einsum(l1, (0, 1), t1, (2, 0), (1, 2)) + rdm2.oovo = einsum(tmp3, (0, 1), t1, (2, 3), (1, 2, 3, 0)) + rdm2.oovo += einsum(tmp3, (0, 1), t1, (2, 3), (2, 1, 3, 0)) * -1 + rdm2.ooov = einsum(tmp3, (0, 1), t1, (2, 3), (1, 2, 0, 3)) * -1 + rdm2.ooov += einsum(tmp3, (0, 1), t1, (2, 3), (2, 1, 0, 3)) + rdm2.oooo = einsum(tmp3, (0, 1), delta.oo, (2, 3), (3, 1, 2, 0)) * -1 + rdm2.oooo += einsum(delta.oo, (0, 1), tmp3, (2, 3), (3, 1, 0, 2)) + rdm2.oooo += einsum(tmp3, (0, 1), delta.oo, (2, 3), (3, 1, 0, 2)) + rdm2.oooo += einsum(tmp3, (0, 1), delta.oo, (2, 3), (1, 3, 0, 2)) * -1 + tmp1 = einsum(t1, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2)) rdm2.vooo = tmp1.transpose((3, 2, 1, 0)).copy() rdm2.ovoo = tmp1.transpose((2, 3, 1, 0)).copy() * -1 - tmp3 = einsum(t1, (0, 1), l1, (1, 2), (2, 0), optimize=True) - rdm2.oovo = einsum(t1, (0, 1), tmp3, (2, 3), (3, 0, 1, 2), optimize=True) - rdm2.oovo += einsum(t1, (0, 1), tmp3, (2, 3), (0, 3, 1, 2), optimize=True) * -1 - rdm2.ooov = einsum(t1, (0, 1), tmp3, (2, 3), (3, 0, 2, 1), optimize=True) * -1 - rdm2.ooov += einsum(t1, (0, 1), tmp3, (2, 3), (0, 3, 2, 1), optimize=True) - rdm2.oooo = einsum(tmp3, (0, 1), delta.oo, (2, 3), (2, 1, 3, 0), optimize=True) * -1 - rdm2.oooo += einsum(delta.oo, (0, 1), tmp3, (2, 3), (3, 0, 1, 2), optimize=True) - rdm2.oooo += einsum(delta.oo, (0, 1), tmp3, (2, 3), (0, 3, 2, 1), optimize=True) - rdm2.oooo += einsum(delta.oo, (0, 1), tmp3, (2, 3), (3, 0, 2, 1), optimize=True) * -1 - tmp4 = einsum(l2, (0, 1, 2, 3), t2, (4, 3, 0, 1), (2, 4), optimize=True) - rdm2.oovo += einsum(t1, (0, 1), tmp4, (2, 3), (3, 0, 1, 2), optimize=True) * 0.5 - rdm2.oovo += einsum(t1, (0, 1), tmp4, (2, 3), (0, 3, 1, 2), optimize=True) * -0.5 - rdm2.ooov += einsum(t1, (0, 1), tmp4, (2, 3), (3, 0, 2, 1), optimize=True) * -0.5 - rdm2.ooov += einsum(t1, (0, 1), tmp4, (2, 3), (0, 3, 2, 1), optimize=True) * 0.5 - rdm2.oooo += einsum(delta.oo, (0, 1), tmp4, (2, 3), (0, 3, 1, 2), optimize=True) * -0.5 - rdm2.oooo += einsum(delta.oo, (0, 1), tmp4, (2, 3), (3, 0, 1, 2), optimize=True) * 0.5 - rdm2.oooo += einsum(delta.oo, (0, 1), tmp4, (2, 3), (0, 3, 2, 1), optimize=True) * 0.5 - rdm2.oooo += einsum(delta.oo, (0, 1), tmp4, (2, 3), (3, 0, 2, 1), optimize=True) * -0.5 - tmp19 = einsum(t2, (0, 1, 2, 3), l2, (4, 3, 5, 1), (5, 0, 4, 2), optimize=True) - rdm2.vovo = tmp19.transpose((2, 1, 3, 0)).copy() * -1 - rdm2.voov = tmp19.transpose((2, 1, 0, 3)).copy() - rdm2.ovvo = tmp19.transpose((1, 2, 3, 0)).copy() - rdm2.ovov = tmp19.transpose((1, 2, 0, 3)).copy() * -1 - tmp2 = einsum(t1, (0, 1), tmp1, (2, 3, 4, 1), (2, 3, 0, 4), optimize=True) - rdm2.oooo += tmp2.transpose((2, 3, 1, 0)) * -1 - tmp0 = einsum(l2, (0, 1, 2, 3), t2, (4, 5, 0, 1), (2, 3, 4, 5), optimize=True) - rdm2.oooo += tmp0.transpose((3, 2, 1, 0)) * 0.5 - tmp8 = einsum(tmp3, (0, 1), t1, (0, 2), (1, 2), optimize=True) - tmp7 = einsum(t2, (0, 1, 2, 3), l1, (3, 1), (0, 2), optimize=True) - tmp6 = einsum(t2, (0, 1, 2, 3), tmp1, (4, 1, 5, 3), (4, 5, 0, 2), optimize=True) * -1 - rdm2.oovo += tmp6.transpose((2, 1, 3, 0)) * -1 - rdm2.oovo += tmp6.transpose((1, 2, 3, 0)) - rdm2.ooov += tmp6.transpose((2, 1, 0, 3)) - rdm2.ooov += tmp6.transpose((1, 2, 0, 3)) * -1 - tmp5 = einsum(l1, (0, 1), t2, (2, 3, 4, 0), (1, 2, 3, 4), optimize=True) + tmp4 = einsum(l2, (0, 1, 2, 3), t2, (4, 3, 0, 1), (2, 4)) + rdm2.oovo += einsum(t1, (0, 1), tmp4, (2, 3), (3, 0, 1, 2)) * 0.5 + rdm2.oovo += einsum(t1, (0, 1), tmp4, (2, 3), (0, 3, 1, 2)) * -0.5 + rdm2.ooov += einsum(t1, (0, 1), tmp4, (2, 3), (3, 0, 2, 1)) * -0.5 + rdm2.ooov += einsum(t1, (0, 1), tmp4, (2, 3), (0, 3, 2, 1)) * 0.5 + rdm2.oooo += einsum(tmp4, (0, 1), delta.oo, (2, 3), (2, 1, 3, 0)) * -0.5 + rdm2.oooo += einsum(delta.oo, (0, 1), tmp4, (2, 3), (3, 1, 0, 2)) * 0.5 + rdm2.oooo += einsum(delta.oo, (0, 1), tmp4, (2, 3), (0, 3, 2, 1)) * 0.5 + rdm2.oooo += einsum(tmp4, (0, 1), delta.oo, (2, 3), (1, 3, 0, 2)) * -0.5 + tmp21 = einsum(t2, (0, 1, 2, 3), l2, (3, 4, 5, 1), (5, 0, 4, 2)) * -1 + rdm2.vovo = tmp21.transpose((2, 1, 3, 0)).copy() * -1 + rdm2.voov = tmp21.transpose((2, 1, 0, 3)).copy() + rdm2.ovvo = tmp21.transpose((1, 2, 3, 0)).copy() + rdm2.ovov = tmp21.transpose((1, 2, 0, 3)).copy() * -1 + tmp5 = einsum(l1, (0, 1), t2, (2, 3, 4, 0), (1, 2, 3, 4)) rdm2.oovo += tmp5.transpose((2, 1, 3, 0)) rdm2.ooov += tmp5.transpose((2, 1, 0, 3)) * -1 + tmp7 = einsum(tmp3, (0, 1), t1, (0, 2), (1, 2)) + tmp6 = einsum(l1, (0, 1), t2, (2, 1, 3, 0), (2, 3)) + tmp12 = einsum(tmp1, (0, 1, 2, 3), t2, (4, 1, 5, 3), (0, 2, 4, 5)) * -1 + rdm2.oovo += tmp12.transpose((2, 1, 3, 0)) * -1 + rdm2.oovo += tmp12.transpose((1, 2, 3, 0)) + rdm2.ooov += tmp12.transpose((2, 1, 0, 3)) + rdm2.ooov += tmp12.transpose((1, 2, 0, 3)) * -1 + tmp2 = einsum(tmp1, (0, 1, 2, 3), t1, (4, 3), (0, 1, 4, 2)) + rdm2.oooo += tmp2.transpose((2, 3, 1, 0)) * -1 + tmp0 = einsum(t2, (0, 1, 2, 3), l2, (2, 3, 4, 5), (4, 5, 0, 1)) + rdm2.oooo += tmp0.transpose((3, 2, 1, 0)) * 0.5 tmp14 = tmp3.copy() * 2 tmp14 += tmp4 - tmp22 = einsum(l2, (0, 1, 2, 3), t2, (2, 3, 4, 1), (0, 4), optimize=True) - tmp30 = einsum(t1, (0, 1), l1, (2, 0), (2, 1), optimize=True) - rdm2.ovvv = einsum(t1, (0, 1), tmp30, (2, 3), (0, 2, 3, 1), optimize=True) * -1 - rdm2.ovvv += einsum(tmp30, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) - tmp29 = einsum(t1, (0, 1), tmp1, (2, 0, 3, 4), (2, 3, 4, 1), optimize=True) + tmp30 = einsum(t1, (0, 1), l1, (2, 0), (2, 1)) + rdm2.ovvv = einsum(t1, (0, 1), tmp30, (2, 3), (0, 2, 3, 1)) * -1 + rdm2.ovvv += einsum(t1, (0, 1), tmp30, (2, 3), (0, 2, 1, 3)) + tmp25 = einsum(t2, (0, 1, 2, 3), l2, (3, 4, 0, 1), (4, 2)) * -1 + tmp29 = einsum(tmp1, (0, 1, 2, 3), t1, (1, 4), (0, 2, 3, 4)) rdm2.vovo += tmp29.transpose((2, 1, 3, 0)) rdm2.voov += tmp29.transpose((2, 1, 0, 3)) * -1 rdm2.ovvo += tmp29.transpose((1, 2, 3, 0)) * -1 rdm2.ovov += tmp29.transpose((1, 2, 0, 3)) - tmp36 = einsum(tmp19, (0, 1, 2, 3), t1, (0, 4), (1, 2, 4, 3), optimize=True) + tmp36 = einsum(tmp21, (0, 1, 2, 3), t1, (0, 4), (1, 2, 4, 3)) rdm2.vovv = tmp36.transpose((1, 0, 3, 2)).copy() * -1 rdm2.vovv += tmp36.transpose((1, 0, 2, 3)) + tmp9 = einsum(t2, (0, 1, 2, 3), tmp1, (0, 1, 4, 3), (4, 2)) * -1 + tmp10 = einsum(t1, (0, 1), tmp4, (0, 2), (2, 1)) + tmp20 = einsum(t1, (0, 1), tmp5, (0, 2, 3, 4), (2, 3, 1, 4)) + del tmp5 + tmp22 = einsum(t2, (0, 1, 2, 3), tmp21, (1, 4, 3, 5), (0, 4, 2, 5)) + del tmp21 + tmp8 = tmp6.copy() + tmp8 += tmp7 * -1 + del tmp7 + rdm2.ooov += einsum(tmp8, (0, 1), delta.oo, (2, 3), (2, 0, 3, 1)) + rdm2.ooov += einsum(tmp8, (0, 1), delta.oo, (2, 3), (0, 3, 2, 1)) * -1 + tmp18 = einsum(t1, (0, 1), tmp12, (0, 2, 3, 4), (2, 3, 1, 4)) + del tmp12 tmp13 = tmp0.transpose((1, 0, 3, 2)).copy() * -0.5 tmp13 += tmp2.transpose((0, 1, 3, 2)) - rdm2.oovv = einsum(tmp13, (0, 1, 2, 3), t2, (0, 1, 4, 5), (3, 2, 4, 5), optimize=True) * 0.5 - rdm2.ooov += einsum(tmp13, (0, 1, 2, 3), t1, (0, 4), (3, 2, 1, 4), optimize=True) * -1 - tmp9 = tmp7.copy() - tmp9 += tmp8 * -1 - del tmp8 - rdm2.ooov += einsum(delta.oo, (0, 1), tmp9, (2, 3), (0, 2, 1, 3), optimize=True) - rdm2.ooov += einsum(tmp9, (0, 1), delta.oo, (2, 3), (0, 2, 3, 1), optimize=True) * -1 - tmp25 = einsum(tmp6, (0, 1, 2, 3), t1, (0, 4), (1, 2, 4, 3), optimize=True) - del tmp6 - tmp11 = einsum(tmp4, (0, 1), t1, (0, 2), (1, 2), optimize=True) - tmp10 = einsum(tmp1, (0, 1, 2, 3), t2, (1, 0, 4, 3), (2, 4), optimize=True) - tmp18 = einsum(t1, (0, 1), tmp5, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) - del tmp5 - tmp20 = einsum(t2, (0, 1, 2, 3), tmp19, (1, 4, 3, 5), (4, 0, 5, 2), optimize=True) - del tmp19 - tmp15 = einsum(t1, (0, 1), tmp14, (0, 2), (2, 1), optimize=True) * 0.5 + rdm2.oovv = einsum(t2, (0, 1, 2, 3), tmp13, (0, 1, 4, 5), (5, 4, 3, 2)) * -0.5 + rdm2.ooov += einsum(t1, (0, 1), tmp13, (0, 2, 3, 4), (4, 3, 2, 1)) * -1 + tmp15 = einsum(t1, (0, 1), tmp14, (0, 2), (2, 1)) * 0.5 del tmp14 - tmp38 = einsum(t1, (0, 1), l2, (2, 3, 4, 0), (4, 2, 3, 1), optimize=True) - rdm2.vvvv = einsum(t1, (0, 1), tmp38, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) + tmp38 = einsum(t1, (0, 1), l2, (2, 3, 4, 0), (4, 2, 3, 1)) + rdm2.vvvv = einsum(t1, (0, 1), tmp38, (0, 2, 3, 4), (2, 3, 1, 4)) rdm2.vvvo = tmp38.transpose((2, 1, 3, 0)).copy() rdm2.vvov = tmp38.transpose((2, 1, 0, 3)).copy() * -1 del tmp38 - tmp35 = einsum(t2, (0, 1, 2, 3), l1, (4, 1), (0, 4, 2, 3), optimize=True) - rdm2.vovv += tmp35.transpose((1, 0, 3, 2)) - rdm2.ovvv += tmp35.transpose((0, 1, 3, 2)) * -1 - del tmp35 + tmp34 = einsum(tmp1, (0, 1, 2, 3), t2, (0, 1, 4, 5), (2, 3, 4, 5)) + del tmp1 + rdm2.vovv += tmp34.transpose((1, 0, 3, 2)) * 0.5 + rdm2.ovvv += tmp34.transpose((0, 1, 3, 2)) * -0.5 + del tmp34 tmp31 = tmp30.copy() - tmp31 += tmp22 * 0.5 - rdm2.vovv += einsum(t1, (0, 1), tmp31, (2, 3), (2, 0, 3, 1), optimize=True) - rdm2.vovv += einsum(t1, (0, 1), tmp31, (2, 3), (2, 0, 1, 3), optimize=True) * -1 - rdm2.voov += einsum(tmp31, (0, 1), delta.oo, (2, 3), (0, 2, 3, 1), optimize=True) * -1 - rdm2.ovov += einsum(tmp31, (0, 1), delta.oo, (2, 3), (2, 0, 3, 1), optimize=True) + tmp31 += tmp25 * 0.5 + rdm2.vovv += einsum(t1, (0, 1), tmp31, (2, 3), (2, 0, 3, 1)) + rdm2.vovv += einsum(t1, (0, 1), tmp31, (2, 3), (2, 0, 1, 3)) * -1 + rdm2.voov += einsum(tmp31, (0, 1), delta.oo, (2, 3), (0, 3, 2, 1)) * -1 + rdm2.ovov += einsum(tmp31, (0, 1), delta.oo, (2, 3), (3, 0, 2, 1)) del tmp31 - tmp34 = einsum(t1, (0, 1), tmp29, (0, 2, 3, 4), (2, 3, 4, 1), optimize=True) * -1 + tmp35 = einsum(t1, (0, 1), tmp29, (0, 2, 3, 4), (2, 3, 4, 1)) * -1 del tmp29 - rdm2.vovv += tmp34.transpose((1, 0, 3, 2)) - rdm2.ovvv += tmp34.transpose((0, 1, 3, 2)) * -1 - del tmp34 - tmp33 = einsum(tmp1, (0, 1, 2, 3), t2, (1, 0, 4, 5), (2, 3, 4, 5), optimize=True) * -1 - del tmp1 - rdm2.vovv += tmp33.transpose((1, 0, 3, 2)) * 0.5 - rdm2.ovvv += tmp33.transpose((0, 1, 3, 2)) * -0.5 + rdm2.vovv += tmp35.transpose((1, 0, 3, 2)) + rdm2.ovvv += tmp35.transpose((0, 1, 3, 2)) * -1 + del tmp35 + tmp33 = einsum(t2, (0, 1, 2, 3), l1, (4, 1), (0, 4, 2, 3)) + rdm2.vovv += tmp33.transpose((1, 0, 3, 2)) + rdm2.ovvv += tmp33.transpose((0, 1, 3, 2)) * -1 del tmp33 tmp37 = tmp36.copy() del tmp36 - tmp37 += einsum(t1, (0, 1), tmp22, (2, 3), (0, 2, 1, 3), optimize=True) * -0.5 + tmp37 += einsum(t1, (0, 1), tmp25, (2, 3), (0, 2, 1, 3)) * -0.5 rdm2.ovvv += tmp37.transpose((0, 1, 3, 2)) rdm2.ovvv += tmp37 * -1 del tmp37 tmp32 = tmp30.copy() * 2 del tmp30 - tmp32 += tmp22 - rdm2.vovo += einsum(tmp32, (0, 1), delta.oo, (2, 3), (0, 2, 1, 3), optimize=True) * 0.5 - rdm2.ovvo += einsum(tmp32, (0, 1), delta.oo, (2, 3), (2, 0, 1, 3), optimize=True) * -0.5 + tmp32 += tmp25 + rdm2.vovo += einsum(tmp32, (0, 1), delta.oo, (2, 3), (0, 3, 1, 2)) * 0.5 + rdm2.ovvo += einsum(tmp32, (0, 1), delta.oo, (2, 3), (3, 0, 1, 2)) * -0.5 del tmp32 - tmp24 = einsum(t2, (0, 1, 2, 3), tmp4, (1, 4), (0, 4, 2, 3), optimize=True) - del tmp4 - rdm2.oovv += tmp24.transpose((1, 0, 3, 2)) * -0.5 - rdm2.oovv += tmp24.transpose((0, 1, 3, 2)) * 0.5 - del tmp24 - tmp28 = einsum(tmp13, (0, 1, 2, 3), t1, (0, 4), (1, 3, 2, 4), optimize=True) * -2 - del tmp13 - rdm2.oovv += einsum(t1, (0, 1), tmp28, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) * 0.5 - del tmp28 - tmp26 = tmp25.copy() + tmp11 = tmp9.copy() + tmp11 += tmp10 + del tmp10 + rdm2.oovv += einsum(t1, (0, 1), tmp11, (2, 3), (2, 0, 3, 1)) * -0.5 + rdm2.oovv += einsum(t1, (0, 1), tmp11, (2, 3), (2, 0, 1, 3)) * 0.5 + rdm2.oovv += einsum(t1, (0, 1), tmp11, (2, 3), (0, 2, 3, 1)) * 0.5 + rdm2.oovv += einsum(tmp11, (0, 1), t1, (2, 3), (2, 0, 3, 1)) * -0.5 + rdm2.ooov += einsum(tmp11, (0, 1), delta.oo, (2, 3), (2, 0, 3, 1)) * -0.5 + rdm2.ooov += einsum(tmp11, (0, 1), delta.oo, (2, 3), (0, 3, 2, 1)) * 0.5 + del tmp11 + tmp26 = einsum(tmp25, (0, 1), t2, (2, 3, 4, 0), (2, 3, 4, 1)) del tmp25 - tmp26 += einsum(t1, (0, 1), tmp9, (2, 3), (0, 2, 1, 3), optimize=True) * -1 - del tmp9 - rdm2.oovv += tmp26.transpose((1, 0, 3, 2)) * -1 - rdm2.oovv += tmp26.transpose((1, 0, 2, 3)) - rdm2.oovv += tmp26.transpose((0, 1, 3, 2)) - rdm2.oovv += tmp26 * -1 + rdm2.oovv += tmp26.transpose((0, 1, 3, 2)) * 0.5 + rdm2.oovv += tmp26 * -0.5 del tmp26 - tmp23 = einsum(tmp22, (0, 1), t2, (2, 3, 4, 0), (2, 3, 4, 1), optimize=True) - del tmp22 - rdm2.oovv += tmp23.transpose((0, 1, 3, 2)) * 0.5 - rdm2.oovv += tmp23 * -0.5 - del tmp23 - tmp27 = einsum(tmp3, (0, 1), t2, (2, 0, 3, 4), (1, 2, 3, 4), optimize=True) + tmp24 = einsum(tmp3, (0, 1), t2, (2, 0, 3, 4), (1, 2, 3, 4)) del tmp3 - rdm2.oovv += tmp27.transpose((1, 0, 3, 2)) - rdm2.oovv += tmp27.transpose((0, 1, 3, 2)) * -1 + rdm2.oovv += tmp24.transpose((1, 0, 3, 2)) + rdm2.oovv += tmp24.transpose((0, 1, 3, 2)) * -1 + del tmp24 + tmp27 = einsum(t2, (0, 1, 2, 3), tmp4, (1, 4), (0, 4, 2, 3)) + del tmp4 + rdm2.oovv += tmp27.transpose((1, 0, 3, 2)) * -0.5 + rdm2.oovv += tmp27.transpose((0, 1, 3, 2)) * 0.5 del tmp27 - tmp12 = tmp10.copy() - tmp12 += tmp11 - del tmp11 - rdm2.oovv += einsum(tmp12, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) * -0.5 - rdm2.oovv += einsum(tmp12, (0, 1), t1, (2, 3), (0, 2, 3, 1), optimize=True) * 0.5 - rdm2.oovv += einsum(t1, (0, 1), tmp12, (2, 3), (0, 2, 3, 1), optimize=True) * 0.5 - rdm2.oovv += einsum(t1, (0, 1), tmp12, (2, 3), (0, 2, 1, 3), optimize=True) * -0.5 - rdm2.ooov += einsum(delta.oo, (0, 1), tmp12, (2, 3), (0, 2, 1, 3), optimize=True) * -0.5 - rdm2.ooov += einsum(delta.oo, (0, 1), tmp12, (2, 3), (2, 0, 1, 3), optimize=True) * 0.5 - del tmp12 - tmp21 = tmp18.copy() - del tmp18 - tmp21 += tmp20 + tmp23 = tmp20.copy() del tmp20 - rdm2.oovv += tmp21.transpose((0, 1, 3, 2)) * -1 - rdm2.oovv += tmp21 - del tmp21 + tmp23 += tmp22 + del tmp22 + rdm2.oovv += tmp23.transpose((0, 1, 3, 2)) * -1 + rdm2.oovv += tmp23 + del tmp23 + tmp19 = tmp18.copy() + del tmp18 + tmp19 += einsum(t1, (0, 1), tmp8, (2, 3), (0, 2, 1, 3)) * -1 + del tmp8 + rdm2.oovv += tmp19.transpose((1, 0, 3, 2)) * -1 + rdm2.oovv += tmp19.transpose((1, 0, 2, 3)) + rdm2.oovv += tmp19.transpose((0, 1, 3, 2)) + rdm2.oovv += tmp19 * -1 + del tmp19 + tmp28 = einsum(t1, (0, 1), tmp13, (0, 2, 3, 4), (2, 4, 3, 1)) * -2 + del tmp13 + rdm2.oovv += einsum(t1, (0, 1), tmp28, (0, 2, 3, 4), (2, 3, 1, 4)) * 0.5 + del tmp28 tmp17 = tmp0.transpose((1, 0, 3, 2)).copy() * -1 del tmp0 tmp17 += tmp2.transpose((0, 1, 3, 2)) * 2 del tmp2 - rdm2.oovo += einsum(tmp17, (0, 1, 2, 3), t1, (0, 4), (3, 2, 4, 1), optimize=True) * 0.5 + rdm2.oovo += einsum(t1, (0, 1), tmp17, (0, 2, 3, 4), (4, 3, 1, 2)) * 0.5 del tmp17 - tmp16 = tmp7.copy() * -1 - del tmp7 - tmp16 += tmp10 * 0.5 - del tmp10 + tmp16 = tmp6.copy() * -1 + del tmp6 + tmp16 += tmp9 * 0.5 + del tmp9 tmp16 += tmp15 del tmp15 - rdm2.oovo += einsum(delta.oo, (0, 1), tmp16, (2, 3), (0, 2, 3, 1), optimize=True) - rdm2.oovo += einsum(delta.oo, (0, 1), tmp16, (2, 3), (2, 0, 3, 1), optimize=True) * -1 + rdm2.oovo += einsum(delta.oo, (0, 1), tmp16, (2, 3), (0, 2, 3, 1)) + rdm2.oovo += einsum(delta.oo, (0, 1), tmp16, (2, 3), (2, 1, 3, 0)) * -1 del tmp16 - rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (0, 2, 1, 3), optimize=True) - rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (0, 2, 3, 1), optimize=True) * -1 - rdm2.ooov += einsum(delta.oo, (0, 1), t1, (2, 3), (2, 0, 1, 3), optimize=True) * -1 - rdm2.ooov += einsum(delta.oo, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) - rdm2.oovo += einsum(delta.oo, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) - rdm2.oovo += einsum(delta.oo, (0, 1), t1, (2, 3), (0, 2, 3, 1), optimize=True) * -1 - rdm2.ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (0, 2, 3, 1), optimize=True) * -1 - rdm2.ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (0, 2, 1, 3), optimize=True) - rdm2.vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 0, 3, 1), optimize=True) - rdm2.vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 0, 1, 3), optimize=True) * -1 + rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (1, 3, 0, 2)) + rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (3, 0, 1, 2)) * -1 + rdm2.ooov += einsum(t1, (0, 1), delta.oo, (2, 3), (0, 3, 2, 1)) * -1 + rdm2.ooov += einsum(delta.oo, (0, 1), t1, (2, 3), (1, 2, 0, 3)) + rdm2.oovo += einsum(t1, (0, 1), delta.oo, (2, 3), (0, 3, 1, 2)) + rdm2.oovo += einsum(delta.oo, (0, 1), t1, (2, 3), (1, 2, 3, 0)) * -1 + rdm2.ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (1, 2, 3, 0)) * -1 + rdm2.ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (1, 2, 0, 3)) + rdm2.vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 1, 3, 0)) + rdm2.vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 1, 0, 3)) * -1 del delta - rdm2.oovv += t2 - rdm2.oovv += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 3, 1), optimize=True) * -1 - rdm2.oovv += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) - rdm2.ovov += einsum(t1, (0, 1), l1, (2, 3), (0, 2, 3, 1), optimize=True) * -1 - rdm2.ovvo += einsum(t1, (0, 1), l1, (2, 3), (0, 2, 1, 3), optimize=True) - rdm2.voov += einsum(t1, (0, 1), l1, (2, 3), (2, 0, 3, 1), optimize=True) - rdm2.vovo += einsum(t1, (0, 1), l1, (2, 3), (2, 0, 1, 3), optimize=True) * -1 - rdm2.vvoo = l2.copy() - rdm2.vvvv += einsum(l2, (0, 1, 2, 3), t2, (2, 3, 4, 5), (0, 1, 4, 5), optimize=True) * 0.5 + rdm2.oovv += t2.transpose((1, 0, 3, 2)) + rdm2.oovv += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 3, 1)) * -1 + rdm2.oovv += einsum(t1, (0, 1), t1, (2, 3), (2, 0, 3, 1)) + rdm2.ovov += einsum(t1, (0, 1), l1, (2, 3), (0, 2, 3, 1)) * -1 + rdm2.ovvo += einsum(t1, (0, 1), l1, (2, 3), (0, 2, 1, 3)) + rdm2.voov += einsum(t1, (0, 1), l1, (2, 3), (2, 0, 3, 1)) + rdm2.vovo += einsum(t1, (0, 1), l1, (2, 3), (2, 0, 1, 3)) * -1 + rdm2.vvoo = l2.transpose((1, 0, 3, 2)).copy() + rdm2.vvvv += einsum(l2, (0, 1, 2, 3), t2, (2, 3, 4, 5), (1, 0, 5, 4)) * 0.5 rdm2 = pack_2e(rdm2.oooo, rdm2.ooov, rdm2.oovo, rdm2.ovoo, rdm2.vooo, rdm2.oovv, rdm2.ovov, rdm2.ovvo, rdm2.voov, rdm2.vovo, rdm2.vvoo, rdm2.ovvv, rdm2.vovv, rdm2.vvov, rdm2.vvvo, rdm2.vvvv) rdm2 = rdm2.swapaxes(1, 2) @@ -736,7 +734,7 @@ def make_rdm2_f(l1=None, l2=None, t1=None, t2=None, **kwargs): def hbar_matvec_ip(f=None, r1=None, r2=None, t1=None, t2=None, v=None, **kwargs): """ - Code generated by `albert` 0.0.0 on 2024-07-22T17:08:50.446944. + Code generated by `albert` 0.0.0 on 2024-07-25T21:21:13.562562. Parameters ---------- @@ -761,15 +759,29 @@ def hbar_matvec_ip(f=None, r1=None, r2=None, t1=None, t2=None, v=None, **kwargs) Updated R2 residuals. """ - tmp23 = einsum(v.ooov, (0, 1, 2, 3), r1, (1,), (0, 2, 3), optimize=True) - tmp25 = einsum(r2, (0, 1, 2), v.oovv, (3, 1, 4, 2), (0, 3, 4), optimize=True) - tmp2 = einsum(v.oovv, (0, 1, 2, 3), t1, (1, 3), (0, 2), optimize=True) - tmp31 = einsum(t1, (0, 1), tmp23, (2, 3, 1), (0, 2, 3), optimize=True) - tmp32 = einsum(t1, (0, 1), tmp25, (2, 3, 1), (2, 0, 3), optimize=True) * -1 - tmp27 = einsum(t1, (0, 1), v.ooov, (2, 0, 3, 1), (2, 3), optimize=True) - tmp28 = einsum(tmp2, (0, 1), t1, (2, 1), (2, 0), optimize=True) - tmp18 = einsum(f.ov, (0, 1), t1, (2, 1), (0, 2), optimize=True) - tmp19 = einsum(v.oovv, (0, 1, 2, 3), t2, (4, 1, 2, 3), (4, 0), optimize=True) + tmp25 = einsum(r2, (0, 1, 2), v.oovv, (1, 3, 2, 4), (0, 3, 4)) + tmp23 = einsum(r1, (0,), v.ooov, (1, 0, 2, 3), (1, 2, 3)) + tmp2 = einsum(t1, (0, 1), v.oovv, (2, 0, 3, 1), (2, 3)) + tmp19 = einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 2, 3), (0, 4)) * -1 + tmp18 = einsum(t1, (0, 1), f.ov, (2, 1), (2, 0)) + tmp32 = einsum(t1, (0, 1), tmp25, (2, 3, 1), (2, 0, 3)) * -1 + tmp31 = einsum(tmp23, (0, 1, 2), t1, (3, 2), (3, 0, 1)) + tmp27 = einsum(t1, (0, 1), v.ooov, (0, 2, 3, 1), (2, 3)) * -1 + tmp28 = einsum(tmp2, (0, 1), t1, (2, 1), (2, 0)) + tmp10 = einsum(v.ooov, (0, 1, 2, 3), r2, (4, 0, 3), (4, 1, 2)) * -1 + tmp12 = einsum(v.ooov, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) + tmp16 = r2.transpose((1, 0, 2)).copy() * -1 + tmp16 += einsum(t1, (0, 1), r1, (2,), (2, 0, 1)) + tmp14 = einsum(v.ovvv, (0, 1, 2, 3), r2, (4, 0, 2), (4, 1, 3)) * -1 + tmp20 = tmp18.transpose((1, 0)).copy() * 2 + del tmp18 + tmp20 += tmp19 + del tmp19 + tmp0 = einsum(v.oovv, (0, 1, 2, 3), r1, (1,), (0, 2, 3)) + r1new = einsum(tmp0, (0, 1, 2), t2, (3, 0, 1, 2), (3,)) * 0.5 + tmp1 = einsum(t1, (0, 1), r1, (2,), (0, 2, 1)) + tmp1 += r2.transpose((1, 0, 2)) * 0.5 + r1new += einsum(v.ooov, (0, 1, 2, 3), tmp1, (0, 1, 3), (2,)) tmp33 = tmp31.copy() del tmp31 tmp33 += tmp32.transpose((0, 2, 1)) @@ -778,78 +790,35 @@ def hbar_matvec_ip(f=None, r1=None, r2=None, t1=None, t2=None, v=None, **kwargs) del tmp27 tmp29 += tmp28.transpose((1, 0)) del tmp28 - tmp16 = r2.copy() - tmp16 += einsum(r1, (0,), t1, (1, 2), (0, 1, 2), optimize=True) - tmp14 = einsum(r2, (0, 1, 2), v.ovvv, (1, 3, 4, 2), (0, 3, 4), optimize=True) - tmp10 = einsum(r2, (0, 1, 2), v.ooov, (3, 1, 4, 2), (0, 3, 4), optimize=True) - tmp12 = einsum(v.ooov, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2), optimize=True) - tmp20 = tmp18.transpose((1, 0)).copy() * 2 - del tmp18 - tmp20 += tmp19 - del tmp19 - tmp0 = einsum(r1, (0,), v.oovv, (1, 0, 2, 3), (1, 2, 3), optimize=True) - r1new = einsum(tmp0, (0, 1, 2), t2, (3, 0, 2, 1), (3,), optimize=True) * -0.5 - tmp1 = einsum(t1, (0, 1), r1, (2,), (0, 2, 1), optimize=True) - tmp1 += r2 * -0.5 - r1new += einsum(v.ovoo, (0, 1, 2, 3), tmp1, (2, 3, 1), (0,), optimize=True) - tmp41 = t2.copy() - tmp41 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) * 2 - tmp24 = einsum(tmp23, (0, 1, 2), t2, (3, 0, 4, 2), (3, 1, 4), optimize=True) * -1 - del tmp23 - tmp34 = einsum(t1, (0, 1), tmp33, (2, 0, 3), (2, 3, 1), optimize=True) - del tmp33 - tmp26 = einsum(t2, (0, 1, 2, 3), tmp25, (4, 1, 3), (4, 0, 2), optimize=True) - del tmp25 - tmp30 = einsum(r2, (0, 1, 2), tmp29, (1, 3), (3, 0, 2), optimize=True) * -1 - del tmp29 - tmp7 = einsum(r1, (0,), v.ovvv, (0, 1, 2, 3), (1, 2, 3), optimize=True) - tmp39 = einsum(t1, (0, 1), v.oovv, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) - tmp17 = einsum(tmp16, (0, 1, 2), v.ovov, (3, 2, 0, 4), (3, 1, 4), optimize=True) - del tmp16 - tmp9 = einsum(r2, (0, 1, 2), f.oo, (3, 1), (3, 0, 2), optimize=True) - tmp15 = einsum(tmp14, (0, 1, 2), t1, (3, 2), (0, 3, 1), optimize=True) * -1 - del tmp14 - tmp11 = einsum(t1, (0, 1), tmp10, (2, 0, 3), (2, 3, 1), optimize=True) * -1 + tmp7 = einsum(v.ovvv, (0, 1, 2, 3), r1, (0,), (1, 2, 3)) + tmp11 = einsum(tmp10, (0, 1, 2), t1, (1, 3), (0, 2, 3)) * -1 del tmp10 - tmp13 = einsum(tmp12, (0, 1, 2, 3), r2, (2, 1, 4), (0, 3, 4), optimize=True) * -1 + tmp13 = einsum(tmp12, (0, 1, 2, 3), r2, (1, 2, 4), (0, 3, 4)) del tmp12 - tmp21 = einsum(r2, (0, 1, 2), tmp20, (3, 1), (3, 0, 2), optimize=True) * -0.5 + tmp9 = einsum(r2, (0, 1, 2), f.oo, (3, 1), (3, 0, 2)) + tmp17 = einsum(tmp16, (0, 1, 2), v.ovov, (0, 3, 4, 2), (1, 4, 3)) + del tmp16 + tmp15 = einsum(tmp14, (0, 1, 2), t1, (3, 2), (0, 3, 1)) * -1 + del tmp14 + tmp21 = einsum(tmp20, (0, 1), r2, (1, 2, 3), (0, 2, 3)) * 0.5 del tmp20 - tmp36 = einsum(t1, (0, 1), tmp0, (2, 3, 1), (0, 2, 3), optimize=True) + tmp36 = einsum(t1, (0, 1), tmp0, (2, 3, 1), (0, 2, 3)) del tmp0 - tmp5 = einsum(v.oovv, (0, 1, 2, 3), tmp1, (0, 1, 3), (2,), optimize=True) * -1 - tmp4 = einsum(f.ov, (0, 1), r1, (0,), (1,), optimize=True) - tmp42 = f.vv.copy() * -2 - tmp42 += einsum(t1, (0, 1), f.ov, (0, 2), (2, 1), optimize=True) * 2 - tmp42 += einsum(t1, (0, 1), v.ovvv, (0, 2, 3, 1), (3, 2), optimize=True) * 2 - tmp42 += einsum(tmp41, (0, 1, 2, 3), v.oovv, (0, 1, 4, 2), (4, 3), optimize=True) * -1 - del tmp41 - r2new = einsum(r2, (0, 1, 2), tmp42, (2, 3), (0, 1, 3), optimize=True) * -0.5 - del tmp42 - tmp35 = tmp24.copy() * -1 - del tmp24 - tmp35 += tmp26 * -1 - del tmp26 - tmp35 += tmp30.transpose((1, 0, 2)) * -1 - del tmp30 - tmp35 += tmp34 * -1 - del tmp34 - r2new += tmp35.transpose((1, 0, 2)) - r2new += tmp35 * -1 - del tmp35 - tmp38 = tmp7.transpose((0, 2, 1)).copy() * 2 - tmp38 += einsum(tmp1, (0, 1, 2), v.oovv, (0, 1, 3, 4), (2, 3, 4), optimize=True) * -2 - del tmp1 - r2new += einsum(t2, (0, 1, 2, 3), tmp38, (4, 2, 3), (0, 1, 4), optimize=True) * 0.25 - del tmp38 - tmp40 = v.oooo.copy() - tmp40 += einsum(t1, (0, 1), tmp39, (2, 3, 4, 1), (4, 3, 0, 2), optimize=True) * -1 - del tmp39 - r2new += einsum(r2, (0, 1, 2), tmp40, (0, 1, 3, 4), (3, 4, 2), optimize=True) * 0.5 - del tmp40 - tmp8 = einsum(tmp7, (0, 1, 2), t1, (3, 1), (3, 0, 2), optimize=True) * -1 - del tmp7 - r2new += einsum(t1, (0, 1), tmp8, (2, 3, 1), (0, 2, 3), optimize=True) * -1 + tmp5 = einsum(tmp1, (0, 1, 2), v.oovv, (0, 1, 2, 3), (3,)) * 2 + tmp4 = einsum(f.ov, (0, 1), r1, (0,), (1,)) + tmp24 = einsum(tmp23, (0, 1, 2), t2, (3, 0, 4, 2), (3, 1, 4)) * -1 + del tmp23 + tmp34 = einsum(t1, (0, 1), tmp33, (2, 0, 3), (2, 3, 1)) + del tmp33 + tmp30 = einsum(r2, (0, 1, 2), tmp29, (0, 3), (3, 1, 2)) + del tmp29 + tmp26 = einsum(tmp25, (0, 1, 2), t2, (3, 1, 4, 2), (0, 3, 4)) + del tmp25 + tmp41 = t2.transpose((1, 0, 3, 2)).copy() + tmp41 += einsum(t1, (0, 1), t1, (2, 3), (2, 0, 3, 1)) * 2 + tmp39 = einsum(t1, (0, 1), v.oovv, (2, 3, 4, 1), (0, 2, 3, 4)) + tmp8 = einsum(t1, (0, 1), tmp7, (2, 1, 3), (0, 2, 3)) * -1 + r2new = einsum(t1, (0, 1), tmp8, (2, 3, 1), (0, 2, 3)) * -1 del tmp8 tmp22 = tmp9.copy() del tmp9 @@ -859,42 +828,71 @@ def hbar_matvec_ip(f=None, r1=None, r2=None, t1=None, t2=None, v=None, **kwargs) del tmp13 tmp22 += tmp15 del tmp15 - tmp22 += tmp17.transpose((1, 0, 2)) + tmp22 += tmp17 del tmp17 tmp22 += tmp21.transpose((1, 0, 2)) del tmp21 r2new += tmp22.transpose((1, 0, 2)) * -1 r2new += tmp22 del tmp22 - tmp43 = einsum(r1, (0,), v.oooo, (1, 2, 3, 0), (1, 2, 3), optimize=True) - tmp43 += einsum(tmp36, (0, 1, 2), t1, (3, 2), (0, 3, 1), optimize=True) * -1 - r2new += einsum(t1, (0, 1), tmp43, (2, 3, 0), (3, 2, 1), optimize=True) + tmp43 = einsum(v.oooo, (0, 1, 2, 3), r1, (2,), (1, 0, 3)) + tmp43 += einsum(tmp36, (0, 1, 2), t1, (3, 2), (0, 3, 1)) * -1 + r2new += einsum(t1, (0, 1), tmp43, (2, 3, 0), (3, 2, 1)) del tmp43 - tmp37 = einsum(tmp36, (0, 1, 2), t2, (3, 1, 4, 2), (0, 3, 4), optimize=True) - del tmp36 - r2new += tmp37.transpose((1, 0, 2)) - r2new += tmp37 * -1 - del tmp37 - tmp6 = tmp4.copy() + tmp6 = tmp4.copy() * 2 del tmp4 tmp6 += tmp5 del tmp5 - r2new += einsum(t2, (0, 1, 2, 3), tmp6, (3,), (0, 1, 2), optimize=True) - r1new += einsum(t1, (0, 1), tmp6, (1,), (0,), optimize=True) * -1 + r2new += einsum(t2, (0, 1, 2, 3), tmp6, (2,), (1, 0, 3)) * 0.5 + r1new += einsum(t1, (0, 1), tmp6, (1,), (0,)) * -0.5 del tmp6 + tmp35 = tmp24.copy() * -1 + del tmp24 + tmp35 += tmp26 * -1 + del tmp26 + tmp35 += tmp30.transpose((1, 0, 2)) * -1 + del tmp30 + tmp35 += tmp34 * -1 + del tmp34 + r2new += tmp35.transpose((1, 0, 2)) + r2new += tmp35 * -1 + del tmp35 + tmp38 = tmp7.transpose((0, 2, 1)).copy() + del tmp7 + tmp38 += einsum(tmp1, (0, 1, 2), v.oovv, (0, 1, 3, 4), (2, 4, 3)) + del tmp1 + r2new += einsum(t2, (0, 1, 2, 3), tmp38, (4, 2, 3), (1, 0, 4)) * -0.5 + del tmp38 + tmp42 = f.vv.transpose((1, 0)).copy() * -1 + tmp42 += einsum(t1, (0, 1), f.ov, (0, 2), (2, 1)) + tmp42 += einsum(t1, (0, 1), v.ovvv, (0, 2, 1, 3), (3, 2)) * -1 + tmp42 += einsum(v.oovv, (0, 1, 2, 3), tmp41, (0, 1, 2, 4), (3, 4)) * 0.5 + del tmp41 + r2new += einsum(tmp42, (0, 1), r2, (2, 3, 0), (3, 2, 1)) + del tmp42 + tmp40 = v.oooo.transpose((2, 3, 1, 0)).copy() * -1 + tmp40 += einsum(tmp39, (0, 1, 2, 3), t1, (4, 3), (2, 1, 4, 0)) * -1 + del tmp39 + r2new += einsum(tmp40, (0, 1, 2, 3), r2, (0, 1, 4), (2, 3, 4)) * 0.5 + del tmp40 + tmp37 = einsum(t2, (0, 1, 2, 3), tmp36, (4, 1, 3), (4, 0, 2)) + del tmp36 + r2new += tmp37.transpose((1, 0, 2)) + r2new += tmp37 * -1 + del tmp37 tmp3 = f.ov.copy() tmp3 += tmp2 del tmp2 - r1new += einsum(r2, (0, 1, 2), tmp3, (1, 2), (0,), optimize=True) + r1new += einsum(r2, (0, 1, 2), tmp3, (0, 2), (1,)) * -1 del tmp3 - r1new += einsum(f.oo, (0, 1), r1, (1,), (0,), optimize=True) * -1 - r2new += einsum(v.ooov, (0, 1, 2, 3), r1, (2,), (0, 1, 3), optimize=True) * -1 + r1new += einsum(f.oo, (0, 1), r1, (1,), (0,)) * -1 + r2new += einsum(r1, (0,), v.ooov, (1, 2, 0, 3), (2, 1, 3)) return r1new, r2new def hbar_matvec_ea(f=None, r1=None, r2=None, t1=None, t2=None, v=None, **kwargs): """ - Code generated by `albert` 0.0.0 on 2024-07-22T17:08:54.557076. + Code generated by `albert` 0.0.0 on 2024-07-25T21:21:17.233378. Parameters ---------- @@ -919,130 +917,131 @@ def hbar_matvec_ea(f=None, r1=None, r2=None, t1=None, t2=None, v=None, **kwargs) Updated R2 residuals. """ - tmp2 = einsum(v.oovv, (0, 1, 2, 3), t1, (1, 3), (0, 2), optimize=True) - tmp31 = einsum(t1, (0, 1), v.ooov, (2, 0, 3, 4), (2, 3, 1, 4), optimize=True) - tmp32 = einsum(v.ovvv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2), optimize=True) - tmp24 = einsum(t2, (0, 1, 2, 3), v.oovv, (0, 1, 4, 3), (2, 4), optimize=True) - tmp23 = einsum(t1, (0, 1), f.ov, (0, 2), (2, 1), optimize=True) - tmp14 = einsum(t1, (0, 1), v.ovvv, (0, 2, 3, 1), (2, 3), optimize=True) - tmp15 = einsum(tmp2, (0, 1), t1, (0, 2), (2, 1), optimize=True) - tmp11 = r2.transpose((2, 0, 1)).copy() - tmp11 += einsum(r1, (0,), t1, (1, 2), (1, 0, 2), optimize=True) - tmp8 = einsum(t1, (0, 1), v.oovv, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) - tmp33 = tmp31.transpose((1, 0, 2, 3)).copy() + tmp2 = einsum(t1, (0, 1), v.oovv, (2, 0, 3, 1), (2, 3)) + tmp30 = einsum(t1, (0, 1), f.ov, (0, 2), (2, 1)) + tmp31 = einsum(v.oovv, (0, 1, 2, 3), t2, (0, 1, 4, 2), (4, 3)) * -1 + tmp14 = einsum(t1, (0, 1), tmp2, (0, 2), (1, 2)) + tmp13 = einsum(t1, (0, 1), v.ovvv, (0, 2, 1, 3), (2, 3)) * -1 + tmp7 = einsum(t1, (0, 1), v.oovv, (2, 3, 4, 1), (0, 2, 3, 4)) + tmp10 = r2.transpose((2, 1, 0)).copy() * -1 + tmp10 += einsum(r1, (0,), t1, (1, 2), (1, 0, 2)) + tmp22 = einsum(t1, (0, 1), v.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) + tmp21 = einsum(t1, (0, 1), v.ooov, (2, 0, 3, 4), (2, 3, 1, 4)) + tmp26 = einsum(r2, (0, 1, 2), v.ovvv, (3, 4, 0, 1), (2, 3, 4)) + tmp32 = tmp30.transpose((1, 0)).copy() + del tmp30 + tmp32 += tmp31 * 0.5 del tmp31 - tmp33 += tmp32 - del tmp32 - tmp29 = t2.copy() - tmp29 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 3, 1), optimize=True) * -1 - tmp28 = einsum(r1, (0,), v.ovvv, (1, 2, 3, 0), (1, 2, 3), optimize=True) - tmp25 = tmp23.transpose((1, 0)).copy() - del tmp23 - tmp25 += tmp24 * 0.5 - del tmp24 - tmp21 = r2.transpose((2, 0, 1)).copy() - tmp21 += einsum(r1, (0,), t1, (1, 2), (1, 0, 2), optimize=True) - tmp19 = einsum(r2, (0, 1, 2), v.ovvv, (3, 4, 0, 1), (2, 3, 4), optimize=True) - tmp1 = einsum(t1, (0, 1), r1, (2,), (0, 1, 2), optimize=True) - tmp1 += r2.transpose((2, 0, 1)) * -0.5 - r1new = einsum(tmp1, (0, 1, 2), v.ovvv, (0, 3, 1, 2), (3,), optimize=True) - tmp16 = tmp14.copy() + tmp28 = r2.transpose((2, 1, 0)).copy() * -1 + tmp28 += einsum(r1, (0,), t1, (1, 2), (1, 0, 2)) + tmp15 = tmp13.copy() + del tmp13 + tmp15 += tmp14 del tmp14 - tmp16 += tmp15 + tmp8 = einsum(tmp7, (0, 1, 2, 3), r2, (4, 3, 1), (0, 2, 4)) * -1 + del tmp7 + tmp11 = einsum(v.oovv, (0, 1, 2, 3), tmp10, (0, 2, 4), (1, 4, 3)) + del tmp10 + tmp23 = tmp21.transpose((1, 0, 2, 3)).copy() + del tmp21 + tmp23 += tmp22 + del tmp22 + tmp19 = t2.transpose((1, 0, 3, 2)).copy() + tmp19 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 3, 1)) * -1 + tmp18 = einsum(v.ovvv, (0, 1, 2, 3), r1, (3,), (0, 1, 2)) + tmp35 = einsum(t1, (0, 1), r1, (2,), (0, 1, 2)) * 2 + tmp35 += r2.transpose((2, 1, 0)) + r2new = einsum(tmp35, (0, 1, 2), v.vvvv, (1, 2, 3, 4), (3, 4, 0)) * -0.5 + tmp27 = einsum(t1, (0, 1), tmp26, (2, 0, 3), (2, 1, 3)) + del tmp26 + tmp33 = einsum(tmp32, (0, 1), r2, (1, 2, 3), (3, 0, 2)) + del tmp32 + tmp29 = einsum(tmp28, (0, 1, 2), v.ovov, (0, 3, 4, 1), (4, 2, 3)) + del tmp28 + tmp38 = t2.transpose((1, 0, 3, 2)).copy() + tmp38 += einsum(t1, (0, 1), t1, (2, 3), (2, 0, 3, 1)) * 2 + tmp16 = einsum(tmp15, (0, 1), r2, (1, 2, 3), (3, 0, 2)) del tmp15 - tmp12 = einsum(v.oovv, (0, 1, 2, 3), tmp11, (1, 3, 4), (0, 4, 2), optimize=True) - del tmp11 - tmp9 = einsum(tmp8, (0, 1, 2, 3), r2, (4, 3, 1), (0, 2, 4), optimize=True) * -1 + tmp9 = einsum(t1, (0, 1), tmp8, (2, 0, 3), (2, 3, 1)) * -1 del tmp8 - tmp34 = einsum(r2, (0, 1, 2), tmp33, (3, 2, 4, 1), (3, 4, 0), optimize=True) * -1 + tmp6 = einsum(f.vv, (0, 1), r2, (2, 1, 3), (3, 0, 2)) + tmp12 = einsum(tmp11, (0, 1, 2), t2, (0, 3, 2, 4), (3, 1, 4)) * -1 + del tmp11 + tmp24 = einsum(r2, (0, 1, 2), tmp23, (3, 2, 4, 0), (3, 4, 1)) + del tmp23 + tmp20 = einsum(tmp19, (0, 1, 2, 3), tmp18, (0, 4, 2), (1, 3, 4)) + del tmp19, tmp18 + tmp1 = einsum(t1, (0, 1), r1, (2,), (0, 1, 2)) + tmp1 += r2.transpose((2, 1, 0)) * 0.5 + r1new = einsum(tmp1, (0, 1, 2), v.ovvv, (0, 3, 1, 2), (3,)) + tmp4 = einsum(r1, (0,), f.ov, (1, 0), (1,)) + tmp36 = einsum(r1, (0,), v.ooov, (1, 2, 3, 0), (2, 1, 3)) * 2 + tmp36 += einsum(tmp35, (0, 1, 2), v.oovv, (3, 4, 1, 2), (4, 3, 0)) + del tmp35 + tmp34 = tmp27.copy() * 0.5 + del tmp27 + tmp34 += tmp29 * -1 + del tmp29 + tmp34 += tmp33.transpose((0, 2, 1)) * -1 del tmp33 - tmp30 = einsum(tmp29, (0, 1, 2, 3), tmp28, (0, 4, 2), (1, 3, 4), optimize=True) - del tmp29, tmp28 - tmp39 = t2.copy() - tmp39 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) * 2 - tmp36 = einsum(t1, (0, 1), r1, (2,), (0, 1, 2), optimize=True) * 2 - tmp36 += r2.transpose((2, 0, 1)) * -1 - r2new = einsum(v.vvvv, (0, 1, 2, 3), tmp36, (4, 2, 3), (0, 1, 4), optimize=True) * -0.5 - tmp26 = einsum(r2, (0, 1, 2), tmp25, (3, 1), (2, 3, 0), optimize=True) * -1 - del tmp25 - tmp22 = einsum(v.ovov, (0, 1, 2, 3), tmp21, (2, 1, 4), (0, 3, 4), optimize=True) - del tmp21 - tmp20 = einsum(tmp19, (0, 1, 2), t1, (1, 3), (0, 3, 2), optimize=True) - del tmp19 - tmp5 = einsum(tmp1, (0, 1, 2), v.oovv, (3, 0, 1, 2), (3,), optimize=True) * -1 - del tmp1 - tmp4 = einsum(r1, (0,), f.ov, (1, 0), (1,), optimize=True) - tmp17 = einsum(tmp16, (0, 1), r2, (2, 1, 3), (3, 0, 2), optimize=True) * -1 - del tmp16 - tmp13 = einsum(t2, (0, 1, 2, 3), tmp12, (1, 4, 3), (0, 4, 2), optimize=True) * -1 - del tmp12 - tmp10 = einsum(tmp9, (0, 1, 2), t1, (1, 3), (0, 2, 3), optimize=True) * -1 - del tmp9 - tmp7 = einsum(f.vv, (0, 1), r2, (2, 1, 3), (3, 0, 2), optimize=True) - tmp35 = tmp30.copy() * -1 - del tmp30 - tmp35 += tmp34.transpose((0, 2, 1)) * -1 + r2new += tmp34.transpose((2, 1, 0)) + r2new += tmp34.transpose((1, 2, 0)) * -1 del tmp34 - r2new += tmp35.transpose((2, 1, 0)) * -1 - r2new += tmp35.transpose((1, 2, 0)) - del tmp35 - tmp38 = t2.copy() * 0.5 - tmp38 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) - tmp40 = f.oo.copy() - tmp40 += einsum(f.ov, (0, 1), t1, (2, 1), (0, 2), optimize=True) - tmp40 += einsum(t1, (0, 1), v.ooov, (2, 0, 3, 1), (2, 3), optimize=True) - tmp40 += einsum(tmp39, (0, 1, 2, 3), v.oovv, (4, 0, 2, 3), (4, 1), optimize=True) * -0.5 + tmp39 = f.oo.transpose((1, 0)).copy() + tmp39 += einsum(t1, (0, 1), f.ov, (2, 1), (2, 0)) + tmp39 += einsum(t1, (0, 1), v.ooov, (0, 2, 3, 1), (2, 3)) * -1 + tmp39 += einsum(tmp38, (0, 1, 2, 3), v.oovv, (0, 4, 2, 3), (4, 1)) * 0.5 + del tmp38 + r2new += einsum(r2, (0, 1, 2), tmp39, (2, 3), (1, 0, 3)) del tmp39 - r2new += einsum(tmp40, (0, 1), r2, (2, 3, 0), (2, 3, 1), optimize=True) * -1 - del tmp40 - tmp37 = einsum(v.ooov, (0, 1, 2, 3), r1, (3,), (0, 1, 2), optimize=True) * -2 - tmp37 += einsum(v.oovv, (0, 1, 2, 3), tmp36, (4, 2, 3), (0, 1, 4), optimize=True) * -1 - del tmp36 - r2new += einsum(tmp37, (0, 1, 2), tmp38, (0, 1, 3, 4), (4, 3, 2), optimize=True) * -0.5 - del tmp37, tmp38 - tmp27 = tmp20.copy() * 0.5 + tmp17 = tmp6.copy() + del tmp6 + tmp17 += tmp9 + del tmp9 + tmp17 += tmp12 * -1 + del tmp12 + tmp17 += tmp16.transpose((0, 2, 1)) * -1 + del tmp16 + r2new += tmp17.transpose((2, 1, 0)) + r2new += tmp17.transpose((1, 2, 0)) * -1 + del tmp17 + tmp25 = tmp20.copy() * -1 del tmp20 - tmp27 += tmp22.transpose((0, 2, 1)) * -1 - del tmp22 - tmp27 += tmp26.transpose((0, 2, 1)) * -1 - del tmp26 - r2new += tmp27.transpose((2, 1, 0)) - r2new += tmp27.transpose((1, 2, 0)) * -1 - del tmp27 - tmp6 = tmp4.copy() + tmp25 += tmp24.transpose((0, 2, 1)) * -1 + del tmp24 + r2new += tmp25.transpose((2, 1, 0)) * -1 + r2new += tmp25.transpose((1, 2, 0)) + del tmp25 + tmp40 = tmp4.copy() * 2 + tmp40 += einsum(tmp1, (0, 1, 2), v.oovv, (0, 3, 1, 2), (3,)) * 2 + r2new += einsum(tmp40, (0,), t2, (0, 1, 2, 3), (3, 2, 1)) * 0.5 + del tmp40 + tmp37 = t2.transpose((1, 0, 3, 2)).copy() * 0.5 + tmp37 += einsum(t1, (0, 1), t1, (2, 3), (2, 0, 3, 1)) + r2new += einsum(tmp36, (0, 1, 2), tmp37, (0, 1, 3, 4), (4, 3, 2)) * -0.5 + del tmp36, tmp37 + tmp5 = tmp4.copy() del tmp4 - tmp6 += tmp5 + tmp5 += einsum(tmp1, (0, 1, 2), v.oovv, (0, 3, 1, 2), (3,)) + del tmp1 + r1new += einsum(t1, (0, 1), tmp5, (0,), (1,)) * -1 del tmp5 - r2new += einsum(tmp6, (0,), t2, (1, 0, 2, 3), (2, 3, 1), optimize=True) - r1new += einsum(tmp6, (0,), t1, (0, 1), (1,), optimize=True) * -1 - del tmp6 - tmp18 = tmp7.copy() - del tmp7 - tmp18 += tmp10 - del tmp10 - tmp18 += tmp13 * -1 - del tmp13 - tmp18 += tmp17.transpose((0, 2, 1)) * -1 - del tmp17 - r2new += tmp18.transpose((2, 1, 0)) - r2new += tmp18.transpose((1, 2, 0)) * -1 - del tmp18 + tmp0 = einsum(v.oovv, (0, 1, 2, 3), r1, (3,), (0, 1, 2)) + r1new += einsum(tmp0, (0, 1, 2), t2, (0, 1, 3, 2), (3,)) * 0.5 + del tmp0 tmp3 = f.ov.copy() tmp3 += tmp2 del tmp2 - r1new += einsum(tmp3, (0, 1), r2, (2, 1, 0), (2,), optimize=True) + r1new += einsum(tmp3, (0, 1), r2, (1, 2, 0), (2,)) * -1 del tmp3 - tmp0 = einsum(r1, (0,), v.oovv, (1, 2, 3, 0), (1, 2, 3), optimize=True) - r1new += einsum(t2, (0, 1, 2, 3), tmp0, (1, 0, 3), (2,), optimize=True) * -0.5 - del tmp0 - r1new += einsum(r1, (0,), f.vv, (1, 0), (1,), optimize=True) - r2new += einsum(v.ovvv, (0, 1, 2, 3), r1, (1,), (2, 3, 0), optimize=True) * -1 + r1new += einsum(f.vv, (0, 1), r1, (1,), (0,)) + r2new += einsum(v.ovvv, (0, 1, 2, 3), r1, (1,), (3, 2, 0)) return r1new, r2new def hbar_matvec_ee(f=None, r1=None, r2=None, t1=None, t2=None, v=None, **kwargs): """ - Code generated by `albert` 0.0.0 on 2024-07-22T17:09:05.858586. + Code generated by `albert` 0.0.0 on 2024-07-25T21:21:27.294527. Parameters ---------- @@ -1067,293 +1066,297 @@ def hbar_matvec_ee(f=None, r1=None, r2=None, t1=None, t2=None, v=None, **kwargs) Updated R2 residuals. """ - tmp81 = einsum(v.oovv, (0, 1, 2, 3), t1, (1, 4), (0, 4, 2, 3), optimize=True) - tmp5 = einsum(v.oovv, (0, 1, 2, 3), t1, (1, 3), (0, 2), optimize=True) - tmp20 = einsum(v.ovvv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2), optimize=True) - tmp2 = einsum(t1, (0, 1), v.oovv, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) - tmp82 = v.ovvv.copy() - tmp82 += tmp81.transpose((0, 1, 3, 2)) - tmp40 = r2.copy() * 0.5 - tmp40 += einsum(r1, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) - tmp60 = einsum(v.oooo, (0, 1, 2, 3), t1, (3, 4), (0, 1, 2, 4), optimize=True) - tmp62 = einsum(tmp5, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4), optimize=True) * -1 - tmp61 = einsum(tmp20, (0, 1, 2, 3), t1, (4, 3), (0, 4, 1, 2), optimize=True) * -1 - tmp23 = t2.copy() - tmp23 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 3, 1), optimize=True) * -1 - tmp19 = einsum(t1, (0, 1), v.ooov, (2, 0, 3, 4), (2, 3, 1, 4), optimize=True) - tmp0 = einsum(r1, (0, 1), v.oovv, (2, 0, 3, 1), (2, 3), optimize=True) - r1new = einsum(tmp0, (0, 1), t2, (2, 0, 3, 1), (2, 3), optimize=True) - tmp51 = einsum(tmp2, (0, 1, 2, 3), r1, (4, 3), (4, 0, 2, 1), optimize=True) * -1 - tmp11 = einsum(t1, (0, 1), v.ooov, (2, 0, 3, 1), (2, 3), optimize=True) - tmp54 = einsum(t1, (0, 1), tmp5, (2, 1), (0, 2), optimize=True) - tmp87 = einsum(t2, (0, 1, 2, 3), v.oovv, (0, 1, 4, 3), (2, 4), optimize=True) - tmp86 = einsum(t1, (0, 1), f.ov, (0, 2), (2, 1), optimize=True) - tmp83 = einsum(t2, (0, 1, 2, 3), tmp82, (4, 5, 2, 3), (4, 0, 1, 5), optimize=True) * 0.5 - del tmp82 - tmp80 = einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) - tmp68 = einsum(t1, (0, 1), tmp2, (2, 3, 4, 1), (2, 0, 4, 3), optimize=True) - tmp72 = einsum(t1, (0, 1), tmp5, (0, 2), (1, 2), optimize=True) - tmp71 = einsum(t1, (0, 1), v.ovvv, (0, 2, 3, 1), (2, 3), optimize=True) - tmp41 = einsum(tmp40, (0, 1, 2, 3), v.oovv, (4, 0, 2, 3), (1, 4), optimize=True) * -2 - del tmp40 - tmp7 = einsum(r1, (0, 1), f.ov, (2, 1), (2, 0), optimize=True) - tmp34 = einsum(v.ooov, (0, 1, 2, 3), r1, (4, 3), (4, 0, 1, 2), optimize=True) - tmp44 = einsum(v.oovv, (0, 1, 2, 3), t2, (4, 1, 2, 3), (4, 0), optimize=True) - tmp10 = einsum(f.ov, (0, 1), t1, (2, 1), (0, 2), optimize=True) - tmp37 = v.ooov.copy() - tmp37 += tmp2.transpose((2, 1, 0, 3)) - tmp93 = r2.copy() * -1 - tmp93 += einsum(r1, (0, 1), t1, (2, 3), (0, 2, 3, 1), optimize=True) - tmp93 += einsum(r1, (0, 1), t1, (2, 3), (2, 0, 1, 3), optimize=True) - tmp63 = tmp60.transpose((1, 0, 2, 3)).copy() - del tmp60 - tmp63 += tmp61 + tmp27 = einsum(t1, (0, 1), v.oovv, (2, 0, 3, 4), (2, 1, 3, 4)) + tmp28 = v.ovvv.transpose((0, 1, 3, 2)).copy() * -1 + tmp28 += tmp27.transpose((0, 1, 3, 2)) + tmp2 = einsum(t1, (0, 1), v.oovv, (2, 3, 4, 1), (0, 2, 3, 4)) + tmp5 = einsum(t1, (0, 1), v.oovv, (2, 0, 3, 1), (2, 3)) + tmp48 = r2.transpose((1, 0, 3, 2)).copy() * 0.5 + tmp48 += einsum(r1, (0, 1), t1, (2, 3), (2, 0, 3, 1)) + tmp79 = einsum(t1, (0, 1), v.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) + tmp32 = einsum(t1, (0, 1), f.ov, (0, 2), (2, 1)) + tmp33 = einsum(v.oovv, (0, 1, 2, 3), t2, (0, 1, 4, 2), (4, 3)) * -1 + tmp29 = einsum(t2, (0, 1, 2, 3), tmp28, (4, 5, 2, 3), (4, 0, 1, 5)) * 0.5 + del tmp28 + tmp26 = einsum(t2, (0, 1, 2, 3), f.ov, (4, 3), (4, 0, 1, 2)) + tmp91 = einsum(t1, (0, 1), v.ooov, (2, 0, 3, 4), (2, 3, 1, 4)) + tmp95 = t2.transpose((1, 0, 3, 2)).copy() + tmp95 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 3, 1)) * -1 + tmp0 = einsum(r1, (0, 1), v.oovv, (2, 0, 3, 1), (2, 3)) + r1new = einsum(tmp0, (0, 1), t2, (2, 0, 3, 1), (2, 3)) + tmp58 = einsum(t1, (0, 1), tmp2, (2, 3, 4, 1), (2, 0, 4, 3)) + tmp62 = einsum(tmp5, (0, 1), t1, (0, 2), (2, 1)) + tmp61 = einsum(t1, (0, 1), v.ovvv, (0, 2, 1, 3), (2, 3)) * -1 + tmp11 = einsum(r1, (0, 1), f.ov, (2, 1), (2, 0)) + tmp49 = einsum(v.oovv, (0, 1, 2, 3), tmp48, (0, 4, 2, 3), (4, 1)) * 2 + del tmp48 + tmp7 = einsum(t1, (0, 1), f.ov, (2, 1), (2, 0)) + tmp52 = einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 2, 3), (0, 4)) * -1 + tmp42 = einsum(v.ooov, (0, 1, 2, 3), r1, (4, 3), (4, 0, 1, 2)) + tmp45 = v.ooov.transpose((1, 0, 2, 3)).copy() * -1 + tmp45 += tmp2.transpose((2, 1, 0, 3)) + tmp69 = einsum(r1, (0, 1), tmp2, (2, 3, 4, 1), (0, 2, 4, 3)) * -1 + tmp8 = einsum(t1, (0, 1), v.ooov, (0, 2, 3, 1), (2, 3)) * -1 + tmp72 = einsum(tmp5, (0, 1), t1, (2, 1), (2, 0)) + tmp78 = einsum(t1, (0, 1), v.oooo, (2, 3, 4, 0), (2, 3, 4, 1)) + tmp80 = einsum(t1, (0, 1), tmp79, (2, 3, 4, 1), (2, 0, 3, 4)) * -1 + tmp81 = einsum(tmp5, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4)) * -1 + tmp18 = r2.transpose((1, 0, 3, 2)).copy() * -1 + tmp18 += einsum(r1, (0, 1), t1, (2, 3), (0, 2, 3, 1)) + tmp18 += einsum(t1, (0, 1), r1, (2, 3), (0, 2, 3, 1)) + tmp22 = einsum(r2, (0, 1, 2, 3), v.ovvv, (4, 5, 2, 3), (0, 1, 4, 5)) + tmp34 = tmp32.transpose((1, 0)).copy() + del tmp32 + tmp34 += tmp33 * 0.5 + del tmp33 + tmp24 = einsum(r2, (0, 1, 2, 3), v.oovv, (0, 1, 3, 4), (2, 4)) * -1 + tmp30 = tmp26.transpose((0, 2, 1, 3)).copy() + del tmp26 + tmp30 += tmp29.transpose((0, 2, 1, 3)) * -1 + del tmp29 + tmp92 = tmp91.copy() + del tmp91 + tmp92 += tmp79.transpose((1, 0, 2, 3)) + del tmp79 + tmp97 = einsum(v.ooov, (0, 1, 2, 3), tmp95, (0, 4, 3, 5), (1, 2, 4, 5)) + tmp94 = einsum(v.ovvv, (0, 1, 2, 3), r1, (4, 3), (4, 0, 1, 2)) + tmp56 = einsum(tmp0, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4)) * -1 + tmp59 = einsum(t1, (0, 1), tmp58, (2, 3, 4, 0), (2, 3, 4, 1)) + del tmp58 + tmp63 = tmp61.copy() del tmp61 tmp63 += tmp62 del tmp62 - tmp58 = einsum(r1, (0, 1), v.ovvv, (0, 2, 3, 1), (2, 3), optimize=True) - tmp26 = einsum(tmp23, (0, 1, 2, 3), v.ooov, (4, 0, 5, 2), (4, 5, 1, 3), optimize=True) * -1 - tmp21 = tmp19.copy() - del tmp19 - tmp21 += tmp20.transpose((1, 0, 2, 3)) - del tmp20 - tmp24 = einsum(v.ovvv, (0, 1, 2, 3), r1, (4, 3), (4, 0, 1, 2), optimize=True) - tmp49 = einsum(tmp0, (0, 1), t1, (2, 1), (2, 0), optimize=True) * -1 - tmp52 = einsum(tmp51, (0, 1, 2, 3), t1, (3, 4), (0, 1, 2, 4), optimize=True) - del tmp51 - tmp55 = tmp11.copy() - tmp55 += tmp54.transpose((1, 0)) - del tmp54 - tmp88 = tmp86.transpose((1, 0)).copy() - del tmp86 - tmp88 += tmp87 * 0.5 - del tmp87 - tmp76 = einsum(r2, (0, 1, 2, 3), v.ovvv, (4, 5, 2, 3), (0, 1, 4, 5), optimize=True) - tmp78 = einsum(r2, (0, 1, 2, 3), v.oovv, (0, 1, 4, 3), (2, 4), optimize=True) - tmp84 = tmp80.transpose((0, 2, 1, 3)).copy() - del tmp80 - tmp84 += tmp83.transpose((0, 2, 1, 3)) * -1 - del tmp83 - tmp66 = einsum(t2, (0, 1, 2, 3), tmp0, (4, 3), (0, 1, 4, 2), optimize=True) * -1 - del tmp0 - tmp69 = einsum(tmp68, (0, 1, 2, 3), t1, (3, 4), (0, 1, 2, 4), optimize=True) - del tmp68 - tmp73 = tmp71.copy() - del tmp71 - tmp73 += tmp72 - del tmp72 - tmp31 = einsum(v.ooov, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2), optimize=True) - tmp42 = tmp7.transpose((1, 0)).copy() * 2 - tmp42 += tmp41 - del tmp41 - tmp35 = einsum(t1, (0, 1), tmp34, (2, 0, 3, 4), (2, 3, 4, 1), optimize=True) * -1 - del tmp34 - tmp29 = einsum(t1, (0, 1), v.vvvv, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) - tmp45 = tmp10.transpose((1, 0)).copy() * 2 - tmp45 += tmp44 - del tmp44 - tmp8 = einsum(r1, (0, 1), v.ooov, (2, 0, 3, 1), (2, 3), optimize=True) - tmp38 = einsum(tmp37, (0, 1, 2, 3), r1, (4, 3), (0, 1, 2, 4), optimize=True) - del tmp37 - tmp91 = einsum(tmp2, (0, 1, 2, 3), r2, (4, 1, 5, 3), (4, 0, 2, 5), optimize=True) * -1 - tmp94 = einsum(v.oovv, (0, 1, 2, 3), tmp93, (1, 4, 3, 5), (4, 0, 5, 2), optimize=True) - del tmp93 - tmp15 = einsum(r1, (0, 1), v.ooov, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) - tmp16 = einsum(f.vv, (0, 1), r2, (2, 3, 4, 1), (2, 3, 0, 4), optimize=True) - tmp64 = einsum(r1, (0, 1), tmp63, (2, 3, 0, 4), (2, 3, 4, 1), optimize=True) - del tmp63 - tmp59 = einsum(t2, (0, 1, 2, 3), tmp58, (4, 3), (0, 1, 2, 4), optimize=True) * -1 - del tmp58 - tmp27 = einsum(r1, (0, 1), tmp26, (0, 2, 3, 4), (3, 2, 4, 1), optimize=True) * -1 - del tmp26 - tmp22 = einsum(tmp21, (0, 1, 2, 3), r2, (4, 0, 5, 3), (1, 4, 2, 5), optimize=True) - del tmp21 - tmp25 = einsum(tmp24, (0, 1, 2, 3), tmp23, (1, 4, 3, 5), (4, 0, 5, 2), optimize=True) - del tmp23, tmp24 - tmp50 = einsum(tmp49, (0, 1), t2, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) * -1 + tmp50 = tmp11.transpose((1, 0)).copy() * 2 + tmp50 += tmp49 del tmp49 - tmp48 = einsum(v.ovvv, (0, 1, 2, 3), r1, (4, 1), (4, 0, 2, 3), optimize=True) - tmp53 = einsum(t1, (0, 1), tmp52, (2, 3, 0, 4), (2, 3, 4, 1), optimize=True) * -1 + tmp53 = tmp7.transpose((1, 0)).copy() * 2 + tmp53 += tmp52 del tmp52 - tmp56 = einsum(r2, (0, 1, 2, 3), tmp55, (1, 4), (4, 0, 2, 3), optimize=True) * -1 - del tmp55 - tmp97 = r2.copy() * -1 - tmp97 += einsum(r1, (0, 1), t1, (2, 3), (0, 2, 3, 1), optimize=True) - tmp97 += einsum(r1, (0, 1), t1, (2, 3), (2, 0, 1, 3), optimize=True) - tmp89 = einsum(tmp88, (0, 1), r2, (2, 3, 4, 1), (2, 3, 0, 4), optimize=True) * -1 - del tmp88 - tmp77 = einsum(t1, (0, 1), tmp76, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) - del tmp76 - tmp79 = einsum(t2, (0, 1, 2, 3), tmp78, (4, 3), (0, 1, 4, 2), optimize=True) * -1 - del tmp78 - tmp85 = einsum(r1, (0, 1), tmp84, (0, 2, 3, 4), (2, 3, 4, 1), optimize=True) - del tmp84 - tmp67 = einsum(t1, (0, 1), tmp66, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) * -1 - del tmp66 - tmp70 = einsum(r1, (0, 1), tmp69, (2, 3, 0, 4), (3, 2, 1, 4), optimize=True) * -1 - del tmp69 - tmp74 = einsum(r2, (0, 1, 2, 3), tmp73, (4, 3), (0, 1, 4, 2), optimize=True) * -1 - del tmp73 - tmp32 = einsum(tmp31, (0, 1, 2, 3), r2, (2, 1, 4, 5), (0, 3, 4, 5), optimize=True) * -1 - del tmp31 - tmp43 = einsum(t2, (0, 1, 2, 3), tmp42, (4, 1), (4, 0, 2, 3), optimize=True) * -0.5 + tmp43 = einsum(t1, (0, 1), tmp42, (2, 0, 3, 4), (2, 3, 4, 1)) * -1 del tmp42 - tmp36 = einsum(t1, (0, 1), tmp35, (2, 0, 3, 4), (2, 3, 4, 1), optimize=True) * -1 - del tmp35 - tmp30 = einsum(tmp29, (0, 1, 2, 3), r1, (4, 3), (4, 0, 1, 2), optimize=True) - del tmp29 - tmp46 = einsum(r2, (0, 1, 2, 3), tmp45, (4, 1), (4, 0, 2, 3), optimize=True) * -0.5 + tmp37 = einsum(v.vvvv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) + tmp12 = einsum(v.ooov, (0, 1, 2, 3), r1, (0, 3), (1, 2)) * -1 + tmp46 = einsum(r1, (0, 1), tmp45, (2, 3, 4, 1), (2, 3, 4, 0)) del tmp45 - tmp33 = einsum(t2, (0, 1, 2, 3), tmp8, (1, 4), (0, 4, 2, 3), optimize=True) * -1 - tmp39 = einsum(t2, (0, 1, 2, 3), tmp38, (1, 0, 4, 5), (5, 4, 2, 3), optimize=True) * -0.5 - del tmp38 - tmp12 = t2.copy() - tmp12 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) * 2 - tmp92 = einsum(tmp91, (0, 1, 2, 3), t1, (2, 4), (0, 1, 3, 4), optimize=True) * -1 - del tmp91 - tmp95 = einsum(t2, (0, 1, 2, 3), tmp94, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) - del tmp94 - tmp4 = r2.copy() - tmp4 += einsum(t1, (0, 1), r1, (2, 3), (2, 0, 3, 1), optimize=True) * 2 - tmp4 += einsum(r1, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) * 2 - r1new += einsum(tmp4, (0, 1, 2, 3), v.ovvv, (0, 4, 2, 3), (1, 4), optimize=True) * 0.5 - tmp17 = tmp15.transpose((1, 0, 2, 3)).copy() * -1 - del tmp15 - tmp17 += tmp16.transpose((1, 0, 2, 3)) * -1 - del tmp16 - r2new = tmp17.transpose((0, 1, 3, 2)).copy() - r2new += tmp17 * -1 - del tmp17 - tmp65 = tmp59.copy() - del tmp59 - tmp65 += tmp64.transpose((0, 1, 3, 2)) * -1 - del tmp64 - r2new += tmp65.transpose((0, 1, 3, 2)) * -1 - r2new += tmp65 - del tmp65 - tmp28 = tmp22.transpose((1, 0, 3, 2)).copy() + tmp39 = einsum(v.ooov, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) + tmp70 = einsum(t1, (0, 1), tmp69, (2, 3, 4, 0), (2, 3, 4, 1)) + del tmp69 + tmp73 = tmp8.copy() + tmp73 += tmp72.transpose((1, 0)) + del tmp72 + tmp67 = einsum(tmp0, (0, 1), t1, (2, 1), (2, 0)) * -1 + del tmp0 + tmp82 = tmp78.transpose((1, 0, 2, 3)).copy() + del tmp78 + tmp82 += tmp80 + del tmp80 + tmp82 += tmp81 + del tmp81 + tmp76 = einsum(v.ovvv, (0, 1, 2, 3), r1, (0, 2), (1, 3)) * -1 + tmp16 = einsum(r2, (0, 1, 2, 3), tmp2, (4, 1, 5, 3), (0, 4, 5, 2)) * -1 + tmp19 = einsum(v.oovv, (0, 1, 2, 3), tmp18, (0, 4, 2, 5), (4, 1, 5, 3)) + del tmp18 + tmp23 = einsum(tmp22, (0, 1, 2, 3), t1, (2, 4), (0, 1, 4, 3)) del tmp22 - tmp28 += tmp25.transpose((1, 0, 2, 3)) * -1 - del tmp25 - tmp28 += tmp27.transpose((0, 1, 3, 2)) - del tmp27 - r2new += tmp28.transpose((1, 0, 3, 2)) - r2new += tmp28.transpose((1, 0, 2, 3)) * -1 - r2new += tmp28.transpose((0, 1, 3, 2)) * -1 - r2new += tmp28 - del tmp28 - tmp57 = tmp48.transpose((0, 1, 3, 2)).copy() * -1 - del tmp48 - tmp57 += tmp50.transpose((0, 1, 3, 2)) + tmp35 = einsum(r2, (0, 1, 2, 3), tmp34, (4, 2), (0, 1, 4, 3)) + del tmp34 + tmp25 = einsum(t2, (0, 1, 2, 3), tmp24, (4, 3), (0, 1, 4, 2)) * -1 + del tmp24 + tmp31 = einsum(tmp30, (0, 1, 2, 3), r1, (0, 4), (1, 2, 3, 4)) + del tmp30 + tmp89 = r2.transpose((1, 0, 3, 2)).copy() * -1 + tmp89 += einsum(r1, (0, 1), t1, (2, 3), (0, 2, 3, 1)) + tmp89 += einsum(t1, (0, 1), r1, (2, 3), (0, 2, 3, 1)) + tmp93 = einsum(tmp92, (0, 1, 2, 3), r2, (0, 4, 3, 5), (1, 4, 2, 5)) + del tmp92 + tmp98 = einsum(r1, (0, 1), tmp97, (0, 2, 3, 4), (3, 2, 4, 1)) * -1 + del tmp97 + tmp96 = einsum(tmp95, (0, 1, 2, 3), tmp94, (4, 0, 5, 2), (4, 1, 5, 3)) + del tmp95, tmp94 + tmp57 = einsum(t1, (0, 1), tmp56, (2, 3, 0, 4), (2, 3, 1, 4)) * -1 + del tmp56 + tmp60 = einsum(tmp59, (0, 1, 2, 3), r1, (2, 4), (1, 0, 4, 3)) * -1 + del tmp59 + tmp64 = einsum(r2, (0, 1, 2, 3), tmp63, (4, 2), (0, 1, 4, 3)) + del tmp63 + tmp9 = t2.transpose((1, 0, 3, 2)).copy() + tmp9 += einsum(t1, (0, 1), t1, (2, 3), (2, 0, 3, 1)) * 2 + tmp51 = einsum(tmp50, (0, 1), t2, (1, 2, 3, 4), (0, 2, 3, 4)) * 0.5 del tmp50 - tmp57 += tmp53.transpose((0, 1, 3, 2)) + tmp54 = einsum(tmp53, (0, 1), r2, (1, 2, 3, 4), (0, 2, 3, 4)) * 0.5 del tmp53 - tmp57 += tmp56.transpose((1, 0, 3, 2)) - del tmp56 - r2new += tmp57.transpose((1, 0, 2, 3)) - r2new += tmp57 * -1 - del tmp57 - tmp100 = v.vvvv.copy() - tmp100 += einsum(t1, (0, 1), tmp81, (0, 2, 3, 4), (4, 3, 1, 2), optimize=True) * -1 - del tmp81 - r2new += einsum(r2, (0, 1, 2, 3), tmp100, (2, 3, 4, 5), (0, 1, 4, 5), optimize=True) * 0.5 - del tmp100 - tmp98 = einsum(v.ovov, (0, 1, 2, 3), tmp97, (2, 4, 1, 5), (4, 0, 5, 3), optimize=True) - del tmp97 - r2new += tmp98.transpose((1, 0, 3, 2)) - r2new += tmp98.transpose((1, 0, 2, 3)) * -1 - r2new += tmp98.transpose((0, 1, 3, 2)) * -1 - r2new += tmp98 - del tmp98 - tmp90 = tmp77.copy() * 0.5 - del tmp77 - tmp90 += tmp79 * 0.5 - del tmp79 - tmp90 += tmp85.transpose((1, 0, 3, 2)) * -1 - del tmp85 - tmp90 += tmp89.transpose((1, 0, 3, 2)) + tmp44 = einsum(t1, (0, 1), tmp43, (2, 0, 3, 4), (2, 3, 4, 1)) * -1 + del tmp43 + tmp38 = einsum(tmp37, (0, 1, 2, 3), r1, (4, 3), (4, 0, 1, 2)) + del tmp37 + tmp41 = einsum(t2, (0, 1, 2, 3), tmp12, (1, 4), (0, 4, 2, 3)) * -1 + tmp47 = einsum(tmp46, (0, 1, 2, 3), t2, (1, 0, 4, 5), (3, 2, 4, 5)) * -0.5 + del tmp46 + tmp40 = einsum(r2, (0, 1, 2, 3), tmp39, (4, 0, 1, 5), (4, 5, 2, 3)) + del tmp39 + tmp71 = einsum(tmp70, (0, 1, 2, 3), t1, (2, 4), (0, 1, 3, 4)) * -1 + del tmp70 + tmp74 = einsum(tmp73, (0, 1), r2, (0, 2, 3, 4), (1, 2, 3, 4)) + del tmp73 + tmp66 = einsum(v.ovvv, (0, 1, 2, 3), r1, (4, 1), (4, 0, 2, 3)) + tmp68 = einsum(tmp67, (0, 1), t2, (2, 1, 3, 4), (0, 2, 3, 4)) * -1 + del tmp67 + tmp83 = einsum(tmp82, (0, 1, 2, 3), r1, (2, 4), (0, 1, 3, 4)) + del tmp82 + tmp77 = einsum(tmp76, (0, 1), t2, (2, 3, 4, 1), (2, 3, 4, 0)) * -1 + del tmp76 + tmp86 = einsum(r2, (0, 1, 2, 3), f.vv, (4, 3), (0, 1, 4, 2)) + tmp85 = einsum(v.ooov, (0, 1, 2, 3), r1, (2, 4), (0, 1, 4, 3)) + tmp17 = einsum(t1, (0, 1), tmp16, (2, 3, 0, 4), (2, 3, 4, 1)) * -1 + del tmp16 + tmp20 = einsum(tmp19, (0, 1, 2, 3), t2, (1, 4, 3, 5), (0, 4, 2, 5)) + del tmp19 + tmp13 = r2.transpose((1, 0, 3, 2)).copy() + tmp13 += einsum(r1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) * 2 + tmp13 += einsum(r1, (0, 1), t1, (2, 3), (2, 0, 3, 1)) * 2 + tmp88 = einsum(f.oo, (0, 1), r2, (2, 1, 3, 4), (0, 2, 3, 4)) + r2new = tmp88.transpose((1, 0, 3, 2)).copy() + r2new += tmp88.transpose((0, 1, 3, 2)) * -1 + del tmp88 + tmp36 = tmp23.copy() * 0.5 + del tmp23 + tmp36 += tmp25 * 0.5 + del tmp25 + tmp36 += tmp31.transpose((1, 0, 3, 2)) * -1 + del tmp31 + tmp36 += tmp35.transpose((1, 0, 3, 2)) + del tmp35 + r2new += tmp36.transpose((0, 1, 3, 2)) + r2new += tmp36 * -1 + del tmp36 + tmp90 = einsum(tmp89, (0, 1, 2, 3), v.ovov, (0, 4, 5, 2), (1, 5, 3, 4)) del tmp89 - r2new += tmp90.transpose((0, 1, 3, 2)) - r2new += tmp90 * -1 + r2new += tmp90.transpose((1, 0, 3, 2)) + r2new += tmp90.transpose((1, 0, 2, 3)) * -1 + r2new += tmp90.transpose((0, 1, 3, 2)) * -1 + r2new += tmp90 del tmp90 - tmp75 = tmp67.copy() * -1 - del tmp67 - tmp75 += tmp70 * -1 - del tmp70 + tmp99 = tmp93.transpose((1, 0, 3, 2)).copy() + del tmp93 + tmp99 += tmp96.transpose((0, 1, 3, 2)) * -1 + del tmp96 + tmp99 += tmp98.transpose((0, 1, 3, 2)) + del tmp98 + r2new += tmp99.transpose((1, 0, 3, 2)) + r2new += tmp99.transpose((1, 0, 2, 3)) * -1 + r2new += tmp99.transpose((0, 1, 3, 2)) * -1 + r2new += tmp99 + del tmp99 + tmp65 = tmp57.copy() * -1 + del tmp57 + tmp65 += tmp60 * -1 + del tmp60 + tmp65 += tmp64.transpose((1, 0, 3, 2)) + del tmp64 + r2new += tmp65.transpose((0, 1, 3, 2)) + r2new += tmp65 * -1 + del tmp65 + tmp100 = v.oooo.transpose((2, 3, 1, 0)).copy() * -1 + tmp100 += einsum(tmp9, (0, 1, 2, 3), v.oovv, (4, 5, 2, 3), (5, 4, 1, 0)) * 0.5 + r2new += einsum(tmp100, (0, 1, 2, 3), r2, (0, 1, 4, 5), (2, 3, 5, 4)) * -0.5 + del tmp100 + tmp55 = tmp38.transpose((0, 1, 3, 2)).copy() + del tmp38 + tmp55 += tmp40.transpose((0, 1, 3, 2)) * -0.5 + del tmp40 + tmp55 += tmp41.transpose((0, 1, 3, 2)) + del tmp41 + tmp55 += tmp44.transpose((0, 1, 3, 2)) * -1 + del tmp44 + tmp55 += tmp47.transpose((0, 1, 3, 2)) * -1 + del tmp47 + tmp55 += tmp51.transpose((0, 1, 3, 2)) * -1 + del tmp51 + tmp55 += tmp54.transpose((1, 0, 3, 2)) + del tmp54 + r2new += tmp55.transpose((1, 0, 2, 3)) + r2new += tmp55 * -1 + del tmp55 + tmp101 = v.vvvv.transpose((2, 3, 1, 0)).copy() * -1 + tmp101 += einsum(t1, (0, 1), tmp27, (0, 2, 3, 4), (4, 3, 1, 2)) * -1 + del tmp27 + r2new += einsum(r2, (0, 1, 2, 3), tmp101, (2, 3, 4, 5), (1, 0, 4, 5)) * -0.5 + del tmp101 + tmp75 = tmp66.transpose((0, 1, 3, 2)).copy() * -1 + del tmp66 + tmp75 += tmp68.transpose((0, 1, 3, 2)) + del tmp68 + tmp75 += tmp71.transpose((0, 1, 3, 2)) + del tmp71 tmp75 += tmp74.transpose((1, 0, 3, 2)) del tmp74 - r2new += tmp75.transpose((0, 1, 3, 2)) + r2new += tmp75.transpose((1, 0, 2, 3)) r2new += tmp75 * -1 del tmp75 - tmp14 = einsum(r2, (0, 1, 2, 3), v.oovv, (4, 5, 2, 3), (0, 1, 4, 5), optimize=True) - r2new += einsum(tmp14, (0, 1, 2, 3), t2, (3, 2, 4, 5), (1, 0, 4, 5), optimize=True) * 0.25 - del tmp14 - tmp47 = tmp30.transpose((0, 1, 3, 2)).copy() - del tmp30 - tmp47 += tmp32.transpose((0, 1, 3, 2)) * -0.5 - del tmp32 - tmp47 += tmp33.transpose((0, 1, 3, 2)) - del tmp33 - tmp47 += tmp36.transpose((0, 1, 3, 2)) * -1 - del tmp36 - tmp47 += tmp39.transpose((0, 1, 3, 2)) * -1 - del tmp39 - tmp47 += tmp43.transpose((0, 1, 3, 2)) * -1 - del tmp43 - tmp47 += tmp46.transpose((1, 0, 3, 2)) - del tmp46 - r2new += tmp47.transpose((1, 0, 2, 3)) - r2new += tmp47 * -1 - del tmp47 - tmp99 = v.oooo.copy() - tmp99 += einsum(v.oovv, (0, 1, 2, 3), tmp12, (4, 5, 2, 3), (0, 1, 5, 4), optimize=True) * -0.5 - r2new += einsum(r2, (0, 1, 2, 3), tmp99, (0, 1, 4, 5), (4, 5, 2, 3), optimize=True) * 0.5 - del tmp99 - tmp96 = tmp92.copy() - del tmp92 - tmp96 += tmp95 - del tmp95 - r2new += tmp96.transpose((1, 0, 3, 2)) * -1 - r2new += tmp96.transpose((1, 0, 2, 3)) - r2new += tmp96.transpose((0, 1, 3, 2)) - r2new += tmp96 * -1 - del tmp96 - tmp18 = einsum(f.oo, (0, 1), r2, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) - r2new += tmp18.transpose((1, 0, 3, 2)) - r2new += tmp18.transpose((0, 1, 3, 2)) * -1 - del tmp18 - tmp3 = v.ovoo.transpose((0, 2, 3, 1)).copy() * -1 - tmp3 += tmp2.transpose((0, 2, 1, 3)) * -1 - del tmp2 - r1new += einsum(r2, (0, 1, 2, 3), tmp3, (4, 0, 1, 3), (4, 2), optimize=True) * 0.5 - del tmp3 - tmp9 = tmp7.copy() + tmp15 = einsum(r2, (0, 1, 2, 3), v.oovv, (4, 5, 2, 3), (0, 1, 4, 5)) + r2new += einsum(tmp15, (0, 1, 2, 3), t2, (2, 3, 4, 5), (1, 0, 5, 4)) * 0.25 + del tmp15 + tmp84 = tmp77.copy() + del tmp77 + tmp84 += tmp83.transpose((0, 1, 3, 2)) * -1 + del tmp83 + r2new += tmp84.transpose((0, 1, 3, 2)) * -1 + r2new += tmp84 + del tmp84 + tmp87 = tmp85.transpose((1, 0, 2, 3)).copy() * -1 + del tmp85 + tmp87 += tmp86.transpose((1, 0, 2, 3)) * -1 + del tmp86 + r2new += tmp87.transpose((0, 1, 3, 2)) + r2new += tmp87 * -1 + del tmp87 + tmp21 = tmp17.copy() + del tmp17 + tmp21 += tmp20 + del tmp20 + r2new += tmp21.transpose((1, 0, 3, 2)) * -1 + r2new += tmp21.transpose((1, 0, 2, 3)) + r2new += tmp21.transpose((0, 1, 3, 2)) + r2new += tmp21 * -1 + del tmp21 + tmp10 = f.oo.transpose((1, 0)).copy() + tmp10 += tmp7 del tmp7 - tmp9 += tmp8 + tmp10 += tmp8 del tmp8 - tmp9 += einsum(tmp4, (0, 1, 2, 3), v.oovv, (4, 0, 2, 3), (4, 1), optimize=True) * -0.5 - del tmp4 - r1new += einsum(tmp9, (0, 1), t1, (0, 2), (1, 2), optimize=True) * -1 + tmp10 += einsum(v.oovv, (0, 1, 2, 3), tmp9, (0, 4, 2, 3), (1, 4)) * 0.5 del tmp9 + r1new += einsum(r1, (0, 1), tmp10, (0, 2), (2, 1)) * -1 + del tmp10 + tmp4 = r2.transpose((1, 0, 3, 2)).copy() * 0.5 + tmp4 += einsum(r1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) + tmp4 += einsum(r1, (0, 1), t1, (2, 3), (2, 0, 3, 1)) + r1new += einsum(tmp4, (0, 1, 2, 3), v.ovvv, (0, 4, 2, 3), (1, 4)) + del tmp4 tmp6 = f.ov.copy() tmp6 += tmp5 del tmp5 - r1new += einsum(r2, (0, 1, 2, 3), tmp6, (1, 3), (0, 2), optimize=True) + r1new += einsum(r2, (0, 1, 2, 3), tmp6, (0, 2), (1, 3)) del tmp6 - tmp13 = f.oo.copy() - tmp13 += tmp10 - del tmp10 - tmp13 += tmp11 + tmp1 = einsum(r1, (0, 1), v.oovv, (2, 3, 4, 1), (0, 2, 3, 4)) + r1new += einsum(tmp1, (0, 1, 2, 3), t2, (1, 2, 4, 3), (0, 4)) * 0.5 + del tmp1 + tmp14 = tmp11.copy() * 2 del tmp11 - tmp13 += einsum(tmp12, (0, 1, 2, 3), v.oovv, (4, 0, 2, 3), (4, 1), optimize=True) * -0.5 + tmp14 += tmp12 * 2 del tmp12 - r1new += einsum(r1, (0, 1), tmp13, (0, 2), (2, 1), optimize=True) * -1 + tmp14 += einsum(tmp13, (0, 1, 2, 3), v.oovv, (0, 4, 2, 3), (4, 1)) del tmp13 - tmp1 = einsum(r1, (0, 1), v.oovv, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) - r1new += einsum(t2, (0, 1, 2, 3), tmp1, (4, 1, 0, 3), (4, 2), optimize=True) * -0.5 - del tmp1 - r1new += einsum(r1, (0, 1), f.vv, (2, 1), (0, 2), optimize=True) - r1new += einsum(r1, (0, 1), v.ovov, (2, 1, 0, 3), (2, 3), optimize=True) * -1 + r1new += einsum(t1, (0, 1), tmp14, (0, 2), (2, 1)) * -0.5 + del tmp14 + tmp3 = v.ooov.transpose((2, 1, 0, 3)).copy() + tmp3 += tmp2.transpose((0, 2, 1, 3)) * -1 + del tmp2 + r1new += einsum(tmp3, (0, 1, 2, 3), r2, (1, 2, 3, 4), (0, 4)) * -0.5 + del tmp3 + r1new += einsum(r1, (0, 1), v.ovov, (2, 1, 0, 3), (2, 3)) * -1 + r1new += einsum(r1, (0, 1), f.vv, (2, 1), (0, 2)) return r1new, r2new diff --git a/ebcc/codegen/bootstrap_CCSDT.py b/ebcc/codegen/bootstrap_CCSDT.py index 97de8a2e..1811a48a 100644 --- a/ebcc/codegen/bootstrap_CCSDT.py +++ b/ebcc/codegen/bootstrap_CCSDT.py @@ -3,6 +3,7 @@ """ import sys +sys.setrecursionlimit(100000) import pdaggerq from albert.qc._pdaggerq import import_from_pdaggerq diff --git a/ebcc/codegen/bootstrap_CCSDTQ.py b/ebcc/codegen/bootstrap_CCSDTQ.py index 1b85864a..243229b7 100644 --- a/ebcc/codegen/bootstrap_CCSDTQ.py +++ b/ebcc/codegen/bootstrap_CCSDTQ.py @@ -3,6 +3,7 @@ """ import sys +sys.setrecursionlimit(1000000) import pdaggerq from albert.qc._pdaggerq import import_from_pdaggerq diff --git a/ebcc/codegen/bootstrap_CCSDt.py b/ebcc/codegen/bootstrap_CCSDt.py new file mode 100644 index 00000000..f99d62ef --- /dev/null +++ b/ebcc/codegen/bootstrap_CCSDt.py @@ -0,0 +1,248 @@ +""" +Generate the CCSDt code. + +NOTE: This is faulty! +""" + +import sys +sys.setrecursionlimit(100000) + +import pdaggerq +from albert.qc._pdaggerq import import_from_pdaggerq +from albert.tensor import Tensor +from albert.algebra import Mul, Add + +from ebcc.codegen.bootstrap_common import * + +# Get the spin case +spin = sys.argv[1] + +# Set up the code generators +def name_generator(tensor, add_spaces=True): + name = name_generators[spin](tensor, add_spaces=add_spaces) + if isinstance(tensor, Tensor) and tensor.name.startswith("t") and not tensor.name.startswith("tmp"): + spaces = tuple(i.space for i in tensor.indices) + if not any(s is None for s in spaces): # Otherwise, it's a "return" tensor + if spaces not in (("o", "v"), ("o", "o", "v", "v"), ("o", "o", "O", "v", "v", "V")): + name = name.replace(".", "_") + name = f"{name}_{''.join(spaces)}" + return name + +class _EinsumCodeGen(EinsumCodeGen): + def ignore_argument(self, arg): + if "_" in name_generator(arg): + return True + return super().ignore_argument(arg) + + def tensor_cleanup(self, *args): + args = tuple(self.get_name(arg) if isinstance(arg, Tensor) else arg for arg in args) + args = tuple(arg for arg in args if "_" not in arg) + return super().tensor_cleanup(*args) + +code_generators = { + "einsum": _EinsumCodeGen( + stdout=open(f"{spin[0].upper()}CCSDt.py", "w"), + name_generator=name_generator, + spin=spin, + ), +} + +# Write the preamble +for codegen in code_generators.values(): + codegen.preamble() + +# Set up pdaggerq +pq = pdaggerq.pq_helper("fermi") +pq.set_print_level(0) + +with Stopwatch("Energy"): + # Get the energy contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["1"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) + pq.simplify() + terms = pq.fully_contracted_strings() + terms = remove_hf_energy(terms) + + # Get the energy in albert format + expr = import_from_pdaggerq(terms) + expr = spin_integrate(expr, spin) + output = tuple(Tensor(name="e_cc") for _ in range(len(expr))) + output, expr = optimise(output, expr, spin, strategy="exhaust") + returns = (Tensor(name="e_cc"),) + + # Generate the energy code + for codegen in code_generators.values(): + codegen( + "energy", + returns, + output, + expr, + ) + +with Stopwatch("T amplitudes"): + # Get the T1 contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["e1(i,a)"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2", "t3"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3"]) + pq.simplify() + terms_t1 = pq.fully_contracted_strings() + + # Get the T2 contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["e2(i,j,b,a)"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2", "t3"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3"]) + pq.simplify() + terms_t2 = pq.fully_contracted_strings() + + # Get the T3 contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["e3(i,j,k,c,b,a)"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2", "t3"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3"]) + pq.simplify() + terms_t3 = pq.fully_contracted_strings() + + # Get the T amplitudes in albert format + terms = [terms_t1, terms_t2, terms_t3] + expr = [] + output = [] + returns = [] + for n in range(3): + for index_spins in get_amplitude_spins(n + 1, spin): + indices = default_indices["o"][: n + 1] + default_indices["v"][: n + 1] + index_spaces = dict(zip(indices, "ooO"[: n + 1] + "vvV"[: n + 1])) + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins, index_spaces=index_spaces) + expr_n = spin_integrate(expr_n, spin) + output_n = get_t_amplitude_outputs(expr_n, f"t{n+1}new", indices=indices) + output_n = [o.map_indices({i: Index(i, index_spaces[i]) for i in indices}) for o in output_n] + returns_n = (Tensor(*tuple(Index(i, spin=index_spins[i], space=index_spaces[i]) for i in indices), name=f"t{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + #output, expr = optimise(output, expr, spin, strategy="exhaust") + + # Make the last T3 indices active + new_expr = [] + new_output = [] + for i, (o, e) in enumerate(zip(output, expr)): + indices_o = set() + #if o.name.startswith("t3"): + # indices_o = indices_o.union({o.indices[2], o.indices[5]}) + for a in e.nested_view(): + indices_a = indices_o.copy() + for t in a: + if isinstance(t, Tensor) and t.name.startswith("t3"): + indices_a = indices_a.union({t.indices[2], t.indices[5]}) + + # Substitute the indices + subs = {i: i.to_space(i.space.upper()) for i in indices_a} + new_output.append(o.map_indices(subs)) + new_expr.append(Mul(*a).map_indices(subs))#.canonicalise()) + output = new_output + expr = new_expr + + # Generate the T amplitude code + for name, codegen in code_generators.items(): + ignore_arguments = [] + if name == "einsum": + preamble = "space = kwargs[\"space\"]" + preamble += "\nt1new = Namespace()" + preamble += "\nt2new = Namespace()" + preamble += "\nt3new = Namespace()" + if spin == "uhf": + preamble += "\nsoa = np.ones((t1.aa.shape[0],), dtype=bool)" + preamble += "\nsva = np.ones((t1.aa.shape[1],), dtype=bool)" + preamble += "\nsob = np.ones((t1.bb.shape[0],), dtype=bool)" + preamble += "\nsvb = np.ones((t1.bb.shape[1],), dtype=bool)" + preamble += "\nsOoa = np.ones((space[0].naocc,), dtype=bool)" + preamble += "\nsVva = np.ones((space[0].navir,), dtype=bool)" + preamble += "\nsOob = np.ones((space[1].naocc,), dtype=bool)" + preamble += "\nsVvb = np.ones((space[1].navir,), dtype=bool)" + preamble += "\nsOa = space[0].active[space[0].correlated][space[0].occupied[space[0].correlated]]" + preamble += "\nsVa = space[0].active[space[0].correlated][space[0].virtual[space[0].correlated]]" + preamble += "\nsOb = space[1].active[space[1].correlated][space[1].occupied[space[1].correlated]]" + preamble += "\nsVb = space[1].active[space[1].correlated][space[1].virtual[space[1].correlated]]" + preamble += "\n" + postamble = "" + inp_keys_t1 = ("oV", "Ov") + inp_keys_t2 = ("oovV", "ooVv", "oOvv", "Oovv", "ooVV", "oOvV", "oOVv", "OovV", "OOvv", "OoVv", "OOvv", "oOVV", "OoVV", "OOvV", "OOVv") + inp_keys_t3 = ("oOOvvV", "OoOvvV", "oOOvvV", "ooOVvV", "ooOvVV", "oOOvVV", "OoOvVV", "oOOVvV", "ooOVvV", "OoOVvV") + out_keys_t1 = tuple() + out_keys_t2 = ("oovV", "oOvV", "oOvv") + out_keys_t3 = ("oOOvVV", "ooOvVV", "oOOvvV") + for inp_keys, spins in ( + (inp_keys_t1, "aa"), (inp_keys_t1, "bb"), (inp_keys_t2, "aaaa"), (inp_keys_t2, "abab"), (inp_keys_t2, "bbbb"), (inp_keys_t3, "aaaaaa"), (inp_keys_t3, "abaaba"), (inp_keys_t3, "babbab"), (inp_keys_t3, "bbbbbb"), + ): + for key in inp_keys: + if len(key) != 6: + slices = ", ".join(f"s{c}{s}" for c, s in zip(key, spins)) + else: + tmp = list(key) + tmp[2] = "Oo" + tmp[5] = "Vv" + slices = ", ".join(f"s{c}{s}" for c, s in zip(tmp, spins)) + preamble += f"\nt{len(key)//2}_{spins}_{key} = t{len(key)//2}.{spins}[np.ix_({slices})].copy(order=\"A\")" + ignore_arguments.append(f"t{len(key)//2}_{spins}_{key}") + for out_keys, spins in ((out_keys_t1, "aa"), (out_keys_t1, "bb"), (out_keys_t2, "aaaa"), (out_keys_t2, "bbbb"), (out_keys_t3, "aaaaaa"), (out_keys_t3, "bbbbbb")): + for key in out_keys: + if len(key) != 6: + slices = ", ".join(f"s{c}{s}" for c, s in zip(key, spins)) + else: + tmp = list(key) + tmp[2] = "Oo" + tmp[5] = "Vv" + slices = ", ".join(f"s{c}{s}" for c, s in zip(tmp, spins)) + postamble += f"\nt{len(key)//2}new.{spins}[np.ix_({slices})] += t{len(key)//2}new_{spins}_{key}" + else: + preamble += "\nso = np.ones((t1.shape[0],), dtype=bool)" + preamble += "\nsv = np.ones((t1.shape[1],), dtype=bool)" + preamble += "\nsOo = np.ones((space.naocc,), dtype=bool)" + preamble += "\nsVv = np.ones((space.navir,), dtype=bool)" + preamble += "\nsO = space.active[space.correlated][space.occupied[space.correlated]]" + preamble += "\nsV = space.active[space.correlated][space.virtual[space.correlated]]" + postamble = "" + inp_keys = ("oV", "Ov", "oovV", "ooVv", "oOvv", "Oovv", "ooVV", "oOvV", "oOVv", "OovV", "OOvv", "OoVv", "OOvv", "oOVV", "OoVV", "OOvV", "OOVv", "oOOvvV", "OoOvvV", "oOOvvV", "ooOVvV", "ooOvVV", "oOOvVV", "OoOvVV", "oOOVvV", "ooOVvV", "OoOVvV") + out_keys = ("oV", "oovV", "ooVv", "ooOvVV", "ooOVvV") if spin == "ghf" else ("OoOvvV", "OoOVvV", "ooOVvV") + for key in inp_keys: + if len(key) != 6: + slices = ", ".join(f"s{c}" for c in key) + else: + tmp = list(key) + tmp[2] = "Oo" + tmp[5] = "Vv" + slices = ", ".join(f"s{c}" for c in tmp) + preamble += f"\nt{len(key)//2}_{key} = t{len(key)//2}[np.ix_({slices})].copy(order=\"A\")" + ignore_arguments.append(f"t{len(key)//2}_{key}") + for key in out_keys: + if len(key) != 6: + slices = ", ".join(f"s{c}" for c in key) + else: + tmp = list(key) + tmp[2] = "Oo" + tmp[5] = "Vv" + slices = ", ".join(f"s{c}" for c in tmp) + postamble += f"\nt{len(key)//2}new[np.ix_({slices})] += t{len(key)//2}new_{key}" + preamble += "\n" + kwargs = { + "preamble": preamble, + "postamble": postamble, + "as_dict": True, + "ignore_arguments": ignore_arguments, + } + else: + kwargs = {} + codegen( + "update_amps", + returns, + output, + expr, + **kwargs, + ) + +for codegen in code_generators.values(): + codegen.postamble() + codegen.stdout.close() diff --git a/ebcc/codegen/bootstrap_CCSDtp.py b/ebcc/codegen/bootstrap_CCSDtp.py new file mode 100644 index 00000000..88e94e9d --- /dev/null +++ b/ebcc/codegen/bootstrap_CCSDtp.py @@ -0,0 +1,223 @@ +""" +Generate the CCSDt' code. +""" + +import sys +sys.setrecursionlimit(100000) + +import pdaggerq +from albert.qc._pdaggerq import import_from_pdaggerq +from albert.tensor import Tensor +from albert.algebra import Mul, Add + +from ebcc.codegen.bootstrap_common import * + +# Get the spin case +spin = sys.argv[1] + +# Set up the code generators +def name_generator(tensor, add_spaces=True): + name = name_generators[spin](tensor, add_spaces=add_spaces) + if isinstance(tensor, Tensor) and tensor.name.startswith("t") and not tensor.name.startswith("tmp"): + spaces = tuple(i.space for i in tensor.indices) + if not any(s is None for s in spaces): # Otherwise, it's a "return" tensor + if spaces not in (("o", "v"), ("o", "o", "v", "v"), ("O", "O", "O", "V", "V", "V")): + name = name.replace(".", "_") + name = f"{name}_{''.join(spaces)}" + return name + +class _EinsumCodeGen(EinsumCodeGen): + def ignore_argument(self, arg): + if "_" in name_generator(arg): + return True + return super().ignore_argument(arg) + + def tensor_cleanup(self, *args): + args = tuple(self.get_name(arg) if isinstance(arg, Tensor) else arg for arg in args) + args = tuple(arg for arg in args if "_" not in arg) + return super().tensor_cleanup(*args) + +code_generators = { + "einsum": _EinsumCodeGen( + stdout=open(f"{spin[0].upper()}CCSDtp.py", "w"), + name_generator=name_generator, + spin=spin, + ), +} + +# Write the preamble +for codegen in code_generators.values(): + codegen.preamble() + +# Set up pdaggerq +pq = pdaggerq.pq_helper("fermi") +pq.set_print_level(0) + +with Stopwatch("Energy"): + # Get the energy contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["1"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) + pq.simplify() + terms = pq.fully_contracted_strings() + terms = remove_hf_energy(terms) + + # Get the energy in albert format + expr = import_from_pdaggerq(terms) + expr = spin_integrate(expr, spin) + output = tuple(Tensor(name="e_cc") for _ in range(len(expr))) + output, expr = optimise(output, expr, spin, strategy="exhaust") + returns = (Tensor(name="e_cc"),) + + # Generate the energy code + for codegen in code_generators.values(): + codegen( + "energy", + returns, + output, + expr, + ) + +with Stopwatch("T amplitudes"): + # Get the T1 contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["e1(i,a)"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2", "t3"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3"]) + pq.simplify() + terms_t1 = pq.fully_contracted_strings() + + # Get the T2 contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["e2(i,j,b,a)"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2", "t3"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3"]) + pq.simplify() + terms_t2 = pq.fully_contracted_strings() + + # Get the T3 contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["e3(i,j,k,c,b,a)"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2", "t3"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3"]) + pq.simplify() + terms_t3 = pq.fully_contracted_strings() + + # Get the T amplitudes in albert format + terms = [terms_t1, terms_t2, terms_t3] + expr = [] + output = [] + returns = [] + for n in range(3): + for index_spins in get_amplitude_spins(n + 1, spin): + indices = default_indices["o"][: n + 1] + default_indices["v"][: n + 1] + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + output_n = get_t_amplitude_outputs(expr_n, f"t{n+1}new", indices=indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"t{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + output, expr = optimise(output, expr, spin, strategy="exhaust") + + # Make the T3 indices active + new_expr = [] + new_output = [] + for i, (o, e) in enumerate(zip(output, expr)): + # Get the indices + indices = set() + if o.name.startswith("t3"): + indices = indices.union(set(o.indices)) + for a in e.nested_view(): + indices_a = indices.copy() + for t in a: + if isinstance(t, Tensor) and t.name.startswith("t3"): + indices_a = indices_a.union(set(t.indices)) + + # Substitute the indices + subs = {i: i.to_space(i.space.upper()) for i in indices_a} + new_args = [] + for t in a: + if isinstance(t, Tensor): + new_args.append(t.map_indices(subs)) + else: + new_args.append(t) + new_output.append(o.map_indices(subs)) + new_expr.append(Mul(*new_args)) + output = new_output + expr = new_expr + + # Generate the T amplitude code + for name, codegen in code_generators.items(): + ignore_arguments = [] + if name == "einsum": + preamble = "space = kwargs[\"space\"]" + preamble += "\nt1new = Namespace()" + preamble += "\nt2new = Namespace()" + preamble += "\nt3new = Namespace()" + if spin == "uhf": + preamble += "\nsoa = np.ones((t1.aa.shape[0],), dtype=bool)" + preamble += "\nsva = np.ones((t1.aa.shape[1],), dtype=bool)" + preamble += "\nsob = np.ones((t1.bb.shape[0],), dtype=bool)" + preamble += "\nsvb = np.ones((t1.bb.shape[1],), dtype=bool)" + preamble += "\nsOa = space[0].active[space[0].correlated][space[0].occupied[space[0].correlated]]" + preamble += "\nsVa = space[0].active[space[0].correlated][space[0].virtual[space[0].correlated]]" + preamble += "\nsOb = space[1].active[space[1].correlated][space[1].occupied[space[1].correlated]]" + preamble += "\nsVb = space[1].active[space[1].correlated][space[1].virtual[space[1].correlated]]" + preamble += "\n" + postamble = "" + inp_keys_t1 = ("oV", "Ov") + inp_keys_t2_aaaa = ( "ooVv", "Oovv", "ooVV", "OoVv", "OOvv", "OoVV", "OOVv") + inp_keys_t2_abab = ("oovV", "ooVv", "oOvv", "Oovv", "ooVV", "oOvV", "oOVv", "OovV", "OOvv", "OoVv", "oOVV", "OoVV", "OOvV", "OOVv") + inp_keys_t2_bbbb = ( "ooVv", "Oovv", "ooVV", "OOvv", "OoVv", "OoVV", "OOVv") + out_keys_t1 = ("OV",) + out_keys_t2 = ("oOVV", "OoVV", "OOvV", "OOVv", "OOVV") + for inp_keys, spins in ( + (inp_keys_t1, "aa"), (inp_keys_t1, "bb"), (inp_keys_t2_aaaa, "aaaa"), (inp_keys_t2_abab, "abab"), (inp_keys_t2_bbbb, "bbbb") + ): + for key in inp_keys: + slices = ", ".join(f"s{c}{s}" for c, s in zip(key, spins)) + preamble += f"\nt{len(key)//2}_{spins}_{key} = t{len(key)//2}.{spins}[np.ix_({slices})].copy(order=\"A\")" + ignore_arguments.append(f"t{len(key)//2}_{spins}_{key}") + for out_keys, spins in ((out_keys_t1, "aa"), (out_keys_t1, "bb"), (out_keys_t2, "aaaa"), (out_keys_t2, "abab"), (out_keys_t2, "bbbb")): + for key in out_keys: + slices = ", ".join(f"s{c}{s}" for c, s in zip(key, spins)) + postamble += f"\nt{len(key)//2}new.{spins}[np.ix_({slices})] += t{len(key)//2}new_{spins}_{key}" + else: + preamble += "\nso = np.ones((t1.shape[0],), dtype=bool)" + preamble += "\nsv = np.ones((t1.shape[1],), dtype=bool)" + preamble += "\nsO = space.active[space.correlated][space.occupied[space.correlated]]" + preamble += "\nsV = space.active[space.correlated][space.virtual[space.correlated]]" + postamble = "" + inp_keys = ("OV", "Ov", "oV", "oovV", "ooVv", "oOvv", "Oovv", "OOvv", "ooVV", "OovV", "OOvV", "OoVV", "OOVV") + out_keys = ("OV", "oOVV", "OoVV", "OOvV", "OOVv", "OOVV") + if spin == "rhf": + inp_keys += ("oOVV", "OOVv", "OoVv", "oOVv", "oOvV") + for key in inp_keys: + slices = ", ".join(f"s{c}" for c in key) + preamble += f"\nt{len(key)//2}_{key} = t{len(key)//2}[np.ix_({slices})].copy(order=\"A\")" + ignore_arguments.append(f"t{len(key)//2}_{key}") + for key in out_keys: + slices = ", ".join(f"s{c}" for c in key) + postamble += f"\nt{len(key)//2}new[np.ix_({slices})] += t{len(key)//2}new_{key}" + preamble += "\n" + kwargs = { + "preamble": preamble, + "postamble": postamble, + "as_dict": True, + "ignore_arguments": ignore_arguments, + } + else: + kwargs = {} + codegen( + "update_amps", + returns, + output, + expr, + **kwargs, + ) + +for codegen in code_generators.values(): + codegen.postamble() + codegen.stdout.close() diff --git a/ebcc/codegen/bootstrap_DFDCD.py b/ebcc/codegen/bootstrap_DFDCD.py index 08b4f384..af154b9f 100644 --- a/ebcc/codegen/bootstrap_DFDCD.py +++ b/ebcc/codegen/bootstrap_DFDCD.py @@ -17,7 +17,7 @@ # Set up the code generators code_generators = { "einsum": EinsumCodeGen( - stdout=open(f"{spin[0].upper()}DF-DCD.py", "w"), + stdout=open(f"{spin[0].upper()}DFDCD.py", "w"), name_generator=name_generators[spin], spin=spin, ), diff --git a/tests/test_GCCSDt.py b/tests/test_GCCSDt.py index b20cbac4..5f093692 100644 --- a/tests/test_GCCSDt.py +++ b/tests/test_GCCSDt.py @@ -41,7 +41,7 @@ def test_3_electron_exact_fully_active(self): ansatz="CCSDt", space=space, conv_tol=1e-10, - log=NullLogger(), + #log=NullLogger(), ) ccsdt.kernel() e1 = ccsdt.e_tot From bdf03e59ca28ef188b9bc7f2fcd5afd791b80002 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Fri, 26 Jul 2024 21:26:58 +0100 Subject: [PATCH 046/168] Remove bootstrapped scripts --- ebcc/codegen/GCC2.py | 635 ----- ebcc/codegen/GCCD.py | 284 -- ebcc/codegen/GCCSD.py | 1362 ---------- ebcc/codegen/GCCSDtp.py | 587 ----- ebcc/codegen/GDCD.py | 98 - ebcc/codegen/GDCSD.py | 237 -- ebcc/codegen/GMP2.py | 38 - ebcc/codegen/GMP3.py | 45 - ebcc/codegen/GQCISD.py | 127 - ebcc/codegen/RCC2.py | 1278 --------- ebcc/codegen/RCCD.py | 498 ---- ebcc/codegen/RCCSD.py | 1429 ---------- ebcc/codegen/RDCD.py | 113 - ebcc/codegen/RDCSD.py | 305 --- ebcc/codegen/RDFCCD.py | 534 ---- ebcc/codegen/RDFCCSD.py | 1476 ----------- ebcc/codegen/RMP2.py | 39 - ebcc/codegen/RMP3.py | 65 - ebcc/codegen/RQCISD.py | 167 -- ebcc/codegen/UCC2.py | 2145 --------------- ebcc/codegen/UCCD.py | 896 ------- ebcc/codegen/UCCSD.py | 5441 --------------------------------------- ebcc/codegen/UDCD.py | 263 -- ebcc/codegen/UDCSD.py | 853 ------ ebcc/codegen/UDFCCD.py | 926 ------- ebcc/codegen/UDFCCSD.py | 2580 ------------------- ebcc/codegen/UMP2.py | 40 - ebcc/codegen/UMP3.py | 80 - ebcc/codegen/UQCISD.py | 368 --- 29 files changed, 22909 deletions(-) delete mode 100644 ebcc/codegen/GCC2.py delete mode 100644 ebcc/codegen/GCCD.py delete mode 100644 ebcc/codegen/GCCSD.py delete mode 100644 ebcc/codegen/GCCSDtp.py delete mode 100644 ebcc/codegen/GDCD.py delete mode 100644 ebcc/codegen/GDCSD.py delete mode 100644 ebcc/codegen/GMP2.py delete mode 100644 ebcc/codegen/GMP3.py delete mode 100644 ebcc/codegen/GQCISD.py delete mode 100644 ebcc/codegen/RCC2.py delete mode 100644 ebcc/codegen/RCCD.py delete mode 100644 ebcc/codegen/RCCSD.py delete mode 100644 ebcc/codegen/RDCD.py delete mode 100644 ebcc/codegen/RDCSD.py delete mode 100644 ebcc/codegen/RDFCCD.py delete mode 100644 ebcc/codegen/RDFCCSD.py delete mode 100644 ebcc/codegen/RMP2.py delete mode 100644 ebcc/codegen/RMP3.py delete mode 100644 ebcc/codegen/RQCISD.py delete mode 100644 ebcc/codegen/UCC2.py delete mode 100644 ebcc/codegen/UCCD.py delete mode 100644 ebcc/codegen/UCCSD.py delete mode 100644 ebcc/codegen/UDCD.py delete mode 100644 ebcc/codegen/UDCSD.py delete mode 100644 ebcc/codegen/UDFCCD.py delete mode 100644 ebcc/codegen/UDFCCSD.py delete mode 100644 ebcc/codegen/UMP2.py delete mode 100644 ebcc/codegen/UMP3.py delete mode 100644 ebcc/codegen/UQCISD.py diff --git a/ebcc/codegen/GCC2.py b/ebcc/codegen/GCC2.py deleted file mode 100644 index 92c0e903..00000000 --- a/ebcc/codegen/GCC2.py +++ /dev/null @@ -1,635 +0,0 @@ -""" -Code generated by `albert`: -https://github.com/obackhouse/albert - - * date: 2024-02-29T20:17:32.002991 - * python version: 3.10.12 (main, Nov 20 2023, 15:14:05) [GCC 11.4.0] - * albert version: 0.0.0 - * caller: /home/ollie/git/albert/albert/codegen/einsum.py - * node: ollie-desktop - * system: Linux - * processor: x86_64 - * release: 6.5.0-21-generic -""" - -from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, Namespace - - -def energy(f=None, t1=None, t2=None, v=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-02-29T20:17:32.161682. - - Parameters - ---------- - f : array - Fock matrix. - t1 : array - T1 amplitudes. - t2 : array - T2 amplitudes. - v : array - Electron repulsion integrals. - - Returns - ------- - e_cc : float - Coupled cluster energy. - """ - - tmp0 = einsum(t1, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) * 2 - tmp0 += t2.transpose((1, 0, 3, 2)) - e_cc = einsum(tmp0, (0, 1, 2, 3), v.oovv, (0, 1, 2, 3), (), optimize=True) * 0.25 - del tmp0 - e_cc += einsum(f.ov, (0, 1), t1, (0, 1), (), optimize=True) - - return e_cc - -def update_amps(f=None, t1=None, t2=None, v=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-02-29T20:17:34.629350. - - Parameters - ---------- - f : array - Fock matrix. - t1 : array - T1 amplitudes. - t2 : array - T2 amplitudes. - v : array - Electron repulsion integrals. - - Returns - ------- - t1new : array - Updated T1 residuals. - t2new : array - Updated T2 residuals. - """ - - tmp0 = einsum(v.oovv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2), optimize=True) - tmp23 = einsum(tmp0, (0, 1, 2, 3), t1, (4, 3), (2, 1, 4, 0), optimize=True) * -1 - tmp23 += v.oooo.transpose((2, 3, 1, 0)) * -1 - tmp24 = einsum(t1, (0, 1), tmp23, (0, 2, 3, 4), (3, 4, 2, 1), optimize=True) * -1 - del tmp23 - tmp24 += v.ooov.transpose((1, 0, 2, 3)) - t2new = einsum(tmp24, (0, 1, 2, 3), t1, (2, 4), (0, 1, 4, 3), optimize=True) - del tmp24 - tmp20 = einsum(v.ovvv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2), optimize=True) - tmp21 = einsum(tmp20, (0, 1, 2, 3), t1, (4, 3), (0, 4, 1, 2), optimize=True) * -1 - del tmp20 - tmp22 = einsum(tmp21, (0, 1, 2, 3), t1, (2, 4), (1, 0, 4, 3), optimize=True) * -1 - del tmp21 - t2new += tmp22.transpose((0, 1, 3, 2)) - t2new += tmp22 * -1 - del tmp22 - tmp19 = einsum(v.ovvv, (0, 1, 2, 3), t1, (4, 1), (4, 0, 2, 3), optimize=True) - t2new += tmp19.transpose((1, 0, 3, 2)) * -1 - t2new += tmp19.transpose((0, 1, 3, 2)) - del tmp19 - tmp18 = einsum(f.vv, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4), optimize=True) - t2new += tmp18.transpose((1, 0, 3, 2)) * -1 - t2new += tmp18.transpose((1, 0, 2, 3)) - del tmp18 - tmp14 = einsum(v.ooov, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2), optimize=True) - tmp15 = einsum(t1, (0, 1), tmp14, (2, 0, 3, 4), (2, 3, 4, 1), optimize=True) * -1 - del tmp14 - tmp16 = einsum(tmp15, (0, 1, 2, 3), t1, (1, 4), (0, 2, 3, 4), optimize=True) * -1 - del tmp15 - tmp17 = tmp16.transpose((0, 1, 3, 2)).copy() - del tmp16 - tmp4 = einsum(t1, (0, 1), f.ov, (2, 1), (2, 0), optimize=True) - tmp13 = einsum(tmp4, (0, 1), t2, (2, 0, 3, 4), (1, 2, 3, 4), optimize=True) - tmp17 += tmp13.transpose((0, 1, 3, 2)) * -1 - del tmp13 - t2new += tmp17.transpose((1, 0, 2, 3)) * -1 - t2new += tmp17 - del tmp17 - tmp11 = einsum(t1, (0, 1), v.ovov, (2, 1, 3, 4), (0, 3, 2, 4), optimize=True) - tmp12 = einsum(tmp11, (0, 1, 2, 3), t1, (1, 4), (0, 2, 4, 3), optimize=True) - del tmp11 - t2new += tmp12.transpose((1, 0, 3, 2)) - t2new += tmp12.transpose((1, 0, 2, 3)) * -1 - t2new += tmp12.transpose((0, 1, 3, 2)) * -1 - t2new += tmp12 - del tmp12 - tmp9 = einsum(t2, (0, 1, 2, 3), f.ov, (4, 3), (4, 0, 1, 2), optimize=True) - tmp10 = einsum(tmp9, (0, 1, 2, 3), t1, (0, 4), (1, 2, 4, 3), optimize=True) - del tmp9 - t2new += tmp10.transpose((0, 1, 3, 2)) * -1 - t2new += tmp10 - del tmp10 - tmp8 = einsum(t2, (0, 1, 2, 3), f.oo, (4, 1), (4, 0, 2, 3), optimize=True) - t2new += tmp8.transpose((1, 0, 3, 2)) - t2new += tmp8.transpose((0, 1, 3, 2)) * -1 - del tmp8 - tmp7 = einsum(v.vvvv, (0, 1, 2, 3), t1, (4, 2), (4, 0, 1, 3), optimize=True) * -1 - t2new += einsum(tmp7, (0, 1, 2, 3), t1, (4, 3), (4, 0, 2, 1), optimize=True) * -1 - del tmp7 - t2new += v.oovv.transpose((1, 0, 3, 2)) - t2new += einsum(t1, (0, 1), v.ooov, (2, 3, 0, 4), (3, 2, 4, 1), optimize=True) * -1 - tmp5 = einsum(t1, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) * 2 - tmp5 += t2.transpose((1, 0, 3, 2)) - tmp6 = einsum(v.oovv, (0, 1, 2, 3), tmp5, (0, 4, 2, 3), (1, 4), optimize=True) * 0.5 - del tmp5 - tmp6 += einsum(v.ooov, (0, 1, 2, 3), t1, (0, 3), (1, 2), optimize=True) * -1 - tmp6 += tmp4 - del tmp4 - tmp6 += f.oo.transpose((1, 0)) - t1new = einsum(t1, (0, 1), tmp6, (0, 2), (2, 1), optimize=True) * -1 - del tmp6 - tmp3 = einsum(v.oovv, (0, 1, 2, 3), t1, (1, 3), (0, 2), optimize=True) - tmp3 += f.ov - t1new += einsum(tmp3, (0, 1), t2, (0, 2, 1, 3), (2, 3), optimize=True) - del tmp3 - tmp2 = einsum(t1, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) - tmp2 += t2.transpose((1, 0, 3, 2)) * 0.5 - t1new += einsum(v.ovvv, (0, 1, 2, 3), tmp2, (0, 4, 2, 3), (4, 1), optimize=True) - del tmp2 - tmp1 = tmp0.transpose((0, 2, 1, 3)).copy() * -1 - del tmp0 - tmp1 += v.ooov.transpose((2, 1, 0, 3)) - t1new += einsum(t2, (0, 1, 2, 3), tmp1, (4, 0, 1, 2), (4, 3), optimize=True) * -0.5 - del tmp1 - t1new += einsum(t1, (0, 1), f.vv, (2, 1), (0, 2), optimize=True) - t1new += f.ov - t1new += einsum(v.ovov, (0, 1, 2, 3), t1, (2, 1), (0, 3), optimize=True) * -1 - - return {f"t1new": t1new, f"t2new": t2new} - -def update_lams(f=None, l1=None, l2=None, t1=None, t2=None, v=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-02-29T20:17:42.950558. - - Parameters - ---------- - f : array - Fock matrix. - l1 : array - L1 amplitudes. - l2 : array - L2 amplitudes. - t1 : array - T1 amplitudes. - t2 : array - T2 amplitudes. - v : array - Electron repulsion integrals. - - Returns - ------- - l1new : array - Updated L1 residuals. - l2new : array - Updated L2 residuals. - """ - - tmp5 = einsum(v.oovv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2), optimize=True) - tmp10 = tmp5.transpose((2, 1, 0, 3)).copy() * 0.5 - tmp10 += v.ooov.transpose((1, 0, 2, 3)) * -1 - tmp48 = einsum(t1, (0, 1), tmp10, (2, 3, 4, 1), (4, 0, 3, 2), optimize=True) * -2 - tmp48 += v.oooo.transpose((2, 3, 1, 0)) * -1 - l2new = einsum(tmp48, (0, 1, 2, 3), l2, (4, 5, 0, 1), (5, 4, 2, 3), optimize=True) * -0.5 - del tmp48 - tmp0 = einsum(t1, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2), optimize=True) - tmp47 = einsum(tmp5, (0, 1, 2, 3), tmp0, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) * -1 - l2new += tmp47.transpose((3, 2, 1, 0)) * -1 - l2new += tmp47.transpose((2, 3, 1, 0)) - l2new += tmp47.transpose((3, 2, 0, 1)) - l2new += tmp47.transpose((2, 3, 0, 1)) * -1 - del tmp47 - tmp7 = einsum(v.oovv, (0, 1, 2, 3), t1, (1, 3), (0, 2), optimize=True) - tmp45 = einsum(tmp0, (0, 1, 2, 3), tmp7, (2, 4), (0, 1, 3, 4), optimize=True) - tmp46 = tmp45.copy() - del tmp45 - tmp44 = einsum(l2, (0, 1, 2, 3), f.vv, (4, 1), (2, 3, 4, 0), optimize=True) - tmp46 += tmp44.transpose((1, 0, 2, 3)) * -1 - del tmp44 - l2new += tmp46.transpose((3, 2, 0, 1)) - l2new += tmp46.transpose((2, 3, 0, 1)) * -1 - del tmp46 - tmp42 = einsum(tmp7, (0, 1), t1, (2, 1), (2, 0), optimize=True) - tmp43 = einsum(tmp42, (0, 1), l2, (2, 3, 4, 0), (4, 1, 2, 3), optimize=True) - del tmp42 - l2new += tmp43.transpose((2, 3, 1, 0)) - l2new += tmp43.transpose((2, 3, 0, 1)) * -1 - del tmp43 - l2new += einsum(l1, (0, 1), f.ov, (2, 3), (0, 3, 1, 2), optimize=True) - l2new += einsum(f.ov, (0, 1), l1, (2, 3), (1, 2, 3, 0), optimize=True) * -1 - l2new += einsum(l1, (0, 1), f.ov, (2, 3), (0, 3, 2, 1), optimize=True) * -1 - l2new += einsum(f.ov, (0, 1), l1, (2, 3), (1, 2, 0, 3), optimize=True) - tmp23 = einsum(v.ooov, (0, 1, 2, 3), t1, (1, 3), (0, 2), optimize=True) - tmp40 = einsum(l2, (0, 1, 2, 3), tmp23, (4, 3), (2, 4, 0, 1), optimize=True) - tmp41 = tmp40.transpose((0, 1, 3, 2)).copy() - del tmp40 - tmp17 = einsum(t1, (0, 1), l1, (1, 2), (2, 0), optimize=True) - tmp39 = einsum(v.oovv, (0, 1, 2, 3), tmp17, (4, 1), (4, 0, 2, 3), optimize=True) - tmp41 += tmp39.transpose((0, 1, 3, 2)) * -1 - del tmp39 - tmp37 = einsum(t1, (0, 1), f.ov, (2, 1), (2, 0), optimize=True) - tmp38 = einsum(tmp37, (0, 1), l2, (2, 3, 4, 1), (0, 4, 2, 3), optimize=True) - del tmp37 - tmp41 += tmp38.transpose((0, 1, 3, 2)) * -1 - del tmp38 - l2new += tmp41.transpose((3, 2, 1, 0)) - l2new += tmp41.transpose((3, 2, 0, 1)) * -1 - del tmp41 - tmp4 = einsum(v.ovvv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2), optimize=True) - tmp34 = tmp4.copy() - tmp34 += v.ovov.transpose((2, 0, 1, 3)) * -1 - tmp35 = einsum(tmp34, (0, 1, 2, 3), l2, (2, 4, 0, 5), (1, 5, 3, 4), optimize=True) - del tmp34 - tmp36 = tmp35.transpose((1, 0, 3, 2)).copy() - del tmp35 - tmp33 = einsum(tmp0, (0, 1, 2, 3), v.ooov, (4, 2, 1, 5), (0, 4, 3, 5), optimize=True) - tmp36 += tmp33 - del tmp33 - tmp36 += einsum(tmp7, (0, 1), l1, (2, 3), (3, 0, 2, 1), optimize=True) - l2new += tmp36.transpose((3, 2, 1, 0)) - l2new += tmp36.transpose((2, 3, 1, 0)) * -1 - l2new += tmp36.transpose((3, 2, 0, 1)) * -1 - l2new += tmp36.transpose((2, 3, 0, 1)) - del tmp36 - tmp31 = einsum(v.ovvv, (0, 1, 2, 3), l1, (1, 4), (4, 0, 2, 3), optimize=True) - tmp32 = tmp31.transpose((0, 1, 3, 2)).copy() - del tmp31 - tmp30 = einsum(f.oo, (0, 1), l2, (2, 3, 4, 1), (0, 4, 2, 3), optimize=True) - tmp32 += tmp30.transpose((0, 1, 3, 2)) * -1 - del tmp30 - l2new += tmp32.transpose((2, 3, 1, 0)) * -1 - l2new += tmp32.transpose((2, 3, 0, 1)) - del tmp32 - tmp6 = tmp5.transpose((0, 2, 1, 3)).copy() * -1 - del tmp5 - tmp6 += v.ooov.transpose((2, 1, 0, 3)) - tmp28 = einsum(tmp6, (0, 1, 2, 3), l1, (4, 0), (1, 2, 3, 4), optimize=True) - tmp29 = tmp28.transpose((1, 0, 3, 2)).copy() - del tmp28 - tmp21 = einsum(v.ovvv, (0, 1, 2, 3), t1, (0, 3), (1, 2), optimize=True) - tmp27 = einsum(l2, (0, 1, 2, 3), tmp21, (1, 4), (2, 3, 0, 4), optimize=True) - tmp29 += tmp27 - del tmp27 - tmp26 = einsum(f.ov, (0, 1), tmp0, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) - tmp29 += tmp26 * -1 - del tmp26 - l2new += tmp29.transpose((3, 2, 0, 1)) - l2new += tmp29.transpose((2, 3, 0, 1)) * -1 - del tmp29 - l2new += einsum(v.ovvv, (0, 1, 2, 3), tmp0, (4, 5, 0, 1), (2, 3, 4, 5), optimize=True) - l2new += einsum(l2, (0, 1, 2, 3), v.vvvv, (4, 5, 0, 1), (5, 4, 3, 2), optimize=True) * 0.5 - tmp2 = einsum(t1, (0, 1), tmp0, (2, 3, 4, 1), (3, 2, 4, 0), optimize=True) - l2new += einsum(v.oovv, (0, 1, 2, 3), tmp2, (4, 5, 0, 1), (2, 3, 5, 4), optimize=True) * -0.5 - l2new += v.oovv.transpose((3, 2, 1, 0)) - tmp18 = einsum(l2, (0, 1, 2, 3), t2, (3, 4, 0, 1), (2, 4), optimize=True) * -1 - tmp25 = tmp18.copy() * 0.5 - tmp25 += tmp17 - tmp8 = tmp7.copy() - del tmp7 - tmp8 += f.ov - l1new = einsum(tmp8, (0, 1), tmp25, (2, 0), (1, 2), optimize=True) * -1 - del tmp25 - tmp24 = einsum(tmp8, (0, 1), t1, (2, 1), (2, 0), optimize=True) - tmp24 += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 0, 2, 3), (1, 4), optimize=True) * -0.5 - tmp24 += tmp23.transpose((1, 0)) - del tmp23 - tmp24 += f.oo.transpose((1, 0)) - l1new += einsum(l1, (0, 1), tmp24, (1, 2), (0, 2), optimize=True) * -1 - del tmp24 - tmp22 = tmp21.copy() * -1 - del tmp21 - tmp22 += f.vv.transpose((1, 0)) - l1new += einsum(tmp22, (0, 1), l1, (0, 2), (1, 2), optimize=True) - del tmp22 - tmp19 = tmp18.copy() - del tmp18 - tmp19 += tmp17 * 2 - del tmp17 - l1new += einsum(tmp19, (0, 1), v.ooov, (1, 2, 0, 3), (3, 2), optimize=True) * -0.5 - tmp20 = einsum(t1, (0, 1), tmp19, (0, 2), (2, 1), optimize=True) - del tmp19 - tmp20 += einsum(tmp0, (0, 1, 2, 3), t2, (0, 1, 3, 4), (2, 4), optimize=True) - tmp20 += einsum(t2, (0, 1, 2, 3), l1, (3, 1), (0, 2), optimize=True) * -2 - tmp20 += t1 * -2 - l1new += einsum(tmp20, (0, 1), v.oovv, (0, 2, 1, 3), (3, 2), optimize=True) * -0.5 - del tmp20 - tmp16 = einsum(t2, (0, 1, 2, 3), l2, (4, 2, 0, 1), (4, 3), optimize=True) * -1 - tmp16 += einsum(t1, (0, 1), l1, (2, 0), (2, 1), optimize=True) * 2 - l1new += einsum(tmp16, (0, 1), v.ovvv, (2, 0, 1, 3), (3, 2), optimize=True) * -0.5 - del tmp16 - tmp14 = tmp2.transpose((0, 1, 3, 2)).copy() - tmp1 = einsum(t2, (0, 1, 2, 3), l2, (2, 3, 4, 5), (4, 5, 0, 1), optimize=True) - tmp14 += tmp1.transpose((1, 0, 3, 2)) * -0.5 - tmp15 = einsum(t1, (0, 1), tmp14, (0, 2, 3, 4), (2, 4, 3, 1), optimize=True) * -1 - del tmp14 - tmp15 += einsum(t2, (0, 1, 2, 3), tmp0, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) * -2 - tmp15 += einsum(t2, (0, 1, 2, 3), l1, (3, 4), (4, 1, 0, 2), optimize=True) * -1 - l1new += einsum(tmp15, (0, 1, 2, 3), v.oovv, (1, 2, 3, 4), (4, 0), optimize=True) * -0.5 - del tmp15 - tmp13 = einsum(v.vvvv, (0, 1, 2, 3), t1, (4, 1), (4, 0, 3, 2), optimize=True) - tmp13 += v.ovvv.transpose((0, 1, 3, 2)) * -1 - l1new += einsum(l2, (0, 1, 2, 3), tmp13, (2, 4, 0, 1), (4, 3), optimize=True) * 0.5 - del tmp13 - tmp11 = einsum(tmp10, (0, 1, 2, 3), t1, (4, 3), (1, 0, 4, 2), optimize=True) * -1 - del tmp10 - tmp11 += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 2, 3), (5, 4, 1, 0), optimize=True) * -0.25 - tmp11 += v.oooo.transpose((2, 3, 1, 0)) * 0.5 - tmp12 = einsum(t1, (0, 1), tmp11, (0, 2, 3, 4), (2, 4, 3, 1), optimize=True) * -2 - del tmp11 - tmp9 = tmp4.transpose((0, 1, 3, 2)).copy() * -0.5 - tmp9 += v.ovov.transpose((2, 0, 3, 1)) - tmp12 += einsum(tmp9, (0, 1, 2, 3), t1, (4, 2), (1, 0, 4, 3), optimize=True) * -2 - del tmp9 - tmp12 += einsum(tmp8, (0, 1), t2, (2, 3, 1, 4), (0, 3, 2, 4), optimize=True) - del tmp8 - tmp12 += einsum(t2, (0, 1, 2, 3), tmp6, (4, 0, 5, 2), (5, 1, 4, 3), optimize=True) * 2 - del tmp6 - tmp12 += einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 5, 2, 3), (0, 5, 4, 1), optimize=True) * 0.5 - tmp12 += v.ooov.transpose((2, 1, 0, 3)) - l1new += einsum(tmp12, (0, 1, 2, 3), l2, (3, 4, 1, 2), (4, 0), optimize=True) * -0.5 - del tmp12 - l1new += einsum(tmp4, (0, 1, 2, 3), tmp0, (4, 0, 1, 2), (3, 4), optimize=True) - del tmp4 - tmp3 = einsum(t2, (0, 1, 2, 3), l2, (4, 3, 1, 5), (5, 0, 4, 2), optimize=True) * -1 - l1new += einsum(v.ovvv, (0, 1, 2, 3), tmp3, (4, 0, 1, 3), (2, 4), optimize=True) * -1 - del tmp3 - l1new += einsum(v.ooov, (0, 1, 2, 3), tmp2, (4, 2, 1, 0), (3, 4), optimize=True) * 0.5 - del tmp2 - l1new += einsum(v.ooov, (0, 1, 2, 3), tmp1, (4, 2, 0, 1), (3, 4), optimize=True) * -0.25 - del tmp1 - l1new += f.ov.transpose((1, 0)) - l1new += einsum(tmp0, (0, 1, 2, 3), v.ovov, (1, 4, 2, 3), (4, 0), optimize=True) * -1 - del tmp0 - l1new += einsum(v.ovov, (0, 1, 2, 3), l1, (1, 2), (3, 0), optimize=True) * -1 - - return {f"l1new": l1new, f"l2new": l2new} - -def make_rdm1_f(l1=None, l2=None, t1=None, t2=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-02-29T20:17:43.564237. - - Parameters - ---------- - l1 : array - L1 amplitudes. - l2 : array - L2 amplitudes. - t1 : array - T1 amplitudes. - t2 : array - T2 amplitudes. - - Returns - ------- - rdm1 : array - One-particle reduced density matrix. - """ - - rdm1 = Namespace() - delta = Namespace( - oo=np.eye(t1.shape[0]), - vv=np.eye(t1.shape[1]), - ) - rdm1.vv = einsum(t1, (0, 1), l1, (2, 0), (2, 1), optimize=True) - rdm1.vv += einsum(t2, (0, 1, 2, 3), l2, (3, 4, 0, 1), (4, 2), optimize=True) * -0.5 - rdm1.vo = l1.copy() - tmp0 = einsum(t2, (0, 1, 2, 3), l2, (2, 3, 4, 1), (4, 0), optimize=True) - tmp3 = tmp0.copy() - tmp1 = einsum(t1, (0, 1), l1, (1, 2), (2, 0), optimize=True) - tmp3 += tmp1 * 2 - rdm1.ov = einsum(t1, (0, 1), tmp3, (0, 2), (2, 1), optimize=True) * -0.5 - del tmp3 - rdm1.ov += t1 - tmp2 = einsum(t1, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2), optimize=True) - rdm1.ov += einsum(tmp2, (0, 1, 2, 3), t2, (0, 1, 4, 3), (2, 4), optimize=True) * 0.5 - del tmp2 - rdm1.ov += einsum(t2, (0, 1, 2, 3), l1, (3, 1), (0, 2), optimize=True) - rdm1.oo = tmp1.transpose((1, 0)).copy() * -1 - del tmp1 - rdm1.oo += delta.oo.transpose((1, 0)) - del delta - rdm1.oo += tmp0.transpose((1, 0)) * -0.5 - del tmp0 - rdm1 = np.block([[rdm1.oo, rdm1.ov], [rdm1.vo, rdm1.vv]]) - - return rdm1 - -def make_rdm2_f(l1=None, l2=None, t1=None, t2=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-02-29T20:17:51.664913. - - Parameters - ---------- - l1 : array - L1 amplitudes. - l2 : array - L2 amplitudes. - t1 : array - T1 amplitudes. - t2 : array - T2 amplitudes. - - Returns - ------- - rdm2 : array - Two-particle reduced density matrix. - """ - - rdm2 = Namespace() - delta = Namespace( - oo=np.eye(t1.shape[0]), - vv=np.eye(t1.shape[1]), - ) - tmp38 = einsum(l2, (0, 1, 2, 3), t1, (3, 4), (2, 0, 1, 4), optimize=True) - rdm2.vvvv = einsum(tmp38, (0, 1, 2, 3), t1, (0, 4), (1, 2, 4, 3), optimize=True) - rdm2.vvvv += einsum(t2, (0, 1, 2, 3), l2, (4, 5, 0, 1), (5, 4, 3, 2), optimize=True) * 0.5 - rdm2.vvvo = tmp38.transpose((2, 1, 3, 0)).copy() - rdm2.vvov = tmp38.transpose((2, 1, 0, 3)).copy() * -1 - del tmp38 - tmp18 = einsum(t2, (0, 1, 2, 3), l2, (3, 4, 0, 1), (4, 2), optimize=True) * -1 - tmp31 = tmp18.copy() * 0.5 - tmp30 = einsum(t1, (0, 1), l1, (2, 0), (2, 1), optimize=True) - tmp31 += tmp30 - rdm2.vovv = einsum(tmp31, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) - rdm2.vovv += einsum(t1, (0, 1), tmp31, (2, 3), (2, 0, 1, 3), optimize=True) * -1 - tmp15 = einsum(t2, (0, 1, 2, 3), l2, (3, 4, 5, 1), (5, 0, 4, 2), optimize=True) * -1 - tmp36 = einsum(t1, (0, 1), tmp15, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) - rdm2.vovv += tmp36.transpose((1, 0, 3, 2)) * -1 - rdm2.vovv += tmp36.transpose((1, 0, 2, 3)) - tmp35 = einsum(l1, (0, 1), t2, (2, 1, 3, 4), (2, 0, 3, 4), optimize=True) - rdm2.vovv += tmp35.transpose((1, 0, 3, 2)) - tmp1 = einsum(t1, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2), optimize=True) - tmp29 = einsum(t1, (0, 1), tmp1, (2, 0, 3, 4), (2, 3, 4, 1), optimize=True) - tmp34 = einsum(t1, (0, 1), tmp29, (0, 2, 3, 4), (2, 3, 4, 1), optimize=True) * -1 - rdm2.vovv += tmp34.transpose((1, 0, 3, 2)) - tmp33 = einsum(t2, (0, 1, 2, 3), tmp1, (0, 1, 4, 5), (4, 5, 2, 3), optimize=True) - rdm2.vovv += tmp33.transpose((1, 0, 3, 2)) * 0.5 - rdm2.ovvv = einsum(tmp30, (0, 1), t1, (2, 3), (2, 0, 1, 3), optimize=True) * -1 - rdm2.ovvv += einsum(t1, (0, 1), tmp30, (2, 3), (0, 2, 1, 3), optimize=True) - tmp37 = einsum(tmp18, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) * -0.5 - tmp37 += tmp36 - del tmp36 - rdm2.ovvv += tmp37.transpose((0, 1, 3, 2)) - rdm2.ovvv += tmp37 * -1 - del tmp37 - rdm2.ovvv += tmp35.transpose((0, 1, 3, 2)) * -1 - del tmp35 - rdm2.ovvv += tmp34.transpose((0, 1, 3, 2)) * -1 - del tmp34 - rdm2.ovvv += tmp33.transpose((0, 1, 3, 2)) * -0.5 - del tmp33 - rdm2.vvoo = l2.transpose((1, 0, 3, 2)).copy() - tmp32 = tmp18.copy() - tmp32 += tmp30 * 2 - del tmp30 - rdm2.vovo = einsum(delta.oo, (0, 1), tmp32, (2, 3), (2, 1, 3, 0), optimize=True) * 0.5 - rdm2.vovo += tmp29.transpose((2, 1, 3, 0)) - rdm2.vovo += tmp15.transpose((2, 1, 3, 0)) * -1 - rdm2.vovo += einsum(t1, (0, 1), l1, (2, 3), (2, 0, 1, 3), optimize=True) * -1 - rdm2.voov = einsum(tmp31, (0, 1), delta.oo, (2, 3), (0, 3, 2, 1), optimize=True) * -1 - rdm2.voov += tmp29.transpose((2, 1, 0, 3)) * -1 - rdm2.voov += tmp15.transpose((2, 1, 0, 3)) - rdm2.voov += einsum(t1, (0, 1), l1, (2, 3), (2, 0, 3, 1), optimize=True) - rdm2.ovvo = einsum(delta.oo, (0, 1), tmp32, (2, 3), (1, 2, 3, 0), optimize=True) * -0.5 - del tmp32 - rdm2.ovvo += tmp29.transpose((1, 2, 3, 0)) * -1 - rdm2.ovvo += tmp15.transpose((1, 2, 3, 0)) - rdm2.ovvo += einsum(t1, (0, 1), l1, (2, 3), (0, 2, 1, 3), optimize=True) - rdm2.ovov = einsum(tmp31, (0, 1), delta.oo, (2, 3), (3, 0, 2, 1), optimize=True) - del tmp31 - rdm2.ovov += tmp29.transpose((1, 2, 0, 3)) - del tmp29 - rdm2.ovov += tmp15.transpose((1, 2, 0, 3)) * -1 - rdm2.ovov += einsum(t1, (0, 1), l1, (2, 3), (0, 2, 3, 1), optimize=True) * -1 - tmp2 = einsum(tmp1, (0, 1, 2, 3), t1, (4, 3), (0, 1, 4, 2), optimize=True) - tmp12 = tmp2.transpose((0, 1, 3, 2)).copy() - tmp0 = einsum(t2, (0, 1, 2, 3), l2, (2, 3, 4, 5), (4, 5, 0, 1), optimize=True) - tmp12 += tmp0.transpose((1, 0, 3, 2)) * -0.5 - tmp28 = einsum(t1, (0, 1), tmp12, (0, 2, 3, 4), (2, 4, 3, 1), optimize=True) * -2 - rdm2.oovv = einsum(tmp28, (0, 1, 2, 3), t1, (0, 4), (1, 2, 4, 3), optimize=True) * 0.5 - del tmp28 - rdm2.oovv += einsum(t2, (0, 1, 2, 3), tmp12, (0, 1, 4, 5), (5, 4, 3, 2), optimize=True) * -0.5 - tmp3 = einsum(t1, (0, 1), l1, (1, 2), (2, 0), optimize=True) - tmp27 = einsum(tmp3, (0, 1), t2, (2, 0, 3, 4), (1, 2, 3, 4), optimize=True) - rdm2.oovv += tmp27.transpose((1, 0, 3, 2)) - rdm2.oovv += tmp27.transpose((0, 1, 3, 2)) * -1 - del tmp27 - tmp4 = einsum(t2, (0, 1, 2, 3), l2, (2, 3, 4, 1), (4, 0), optimize=True) - tmp25 = einsum(t1, (0, 1), tmp4, (0, 2), (2, 1), optimize=True) - tmp26 = tmp25.copy() - del tmp25 - tmp8 = einsum(tmp1, (0, 1, 2, 3), t2, (0, 1, 4, 3), (2, 4), optimize=True) * -1 - tmp26 += tmp8 - rdm2.oovv += einsum(tmp26, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) * -0.5 - rdm2.oovv += einsum(t1, (0, 1), tmp26, (2, 3), (2, 0, 1, 3), optimize=True) * 0.5 - rdm2.oovv += einsum(t1, (0, 1), tmp26, (2, 3), (0, 2, 3, 1), optimize=True) * 0.5 - rdm2.oovv += einsum(tmp26, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) * -0.5 - del tmp26 - tmp22 = einsum(t1, (0, 1), tmp3, (0, 2), (2, 1), optimize=True) - tmp23 = tmp22.copy() * -1 - del tmp22 - tmp7 = einsum(t2, (0, 1, 2, 3), l1, (3, 1), (0, 2), optimize=True) - tmp23 += tmp7 - tmp24 = einsum(t1, (0, 1), tmp23, (2, 3), (0, 2, 1, 3), optimize=True) * -1 - del tmp23 - tmp6 = einsum(t2, (0, 1, 2, 3), tmp1, (4, 1, 5, 3), (4, 5, 0, 2), optimize=True) * -1 - tmp21 = einsum(tmp6, (0, 1, 2, 3), t1, (0, 4), (1, 2, 4, 3), optimize=True) - tmp24 += tmp21 - del tmp21 - rdm2.oovv += tmp24.transpose((1, 0, 3, 2)) * -1 - rdm2.oovv += tmp24.transpose((1, 0, 2, 3)) - rdm2.oovv += tmp24.transpose((0, 1, 3, 2)) - rdm2.oovv += tmp24 * -1 - del tmp24 - tmp20 = einsum(tmp4, (0, 1), t2, (2, 0, 3, 4), (2, 1, 3, 4), optimize=True) - rdm2.oovv += tmp20.transpose((1, 0, 3, 2)) * -0.5 - rdm2.oovv += tmp20.transpose((0, 1, 3, 2)) * 0.5 - del tmp20 - tmp19 = einsum(tmp18, (0, 1), t2, (2, 3, 4, 0), (2, 3, 4, 1), optimize=True) - del tmp18 - rdm2.oovv += tmp19.transpose((0, 1, 3, 2)) * 0.5 - rdm2.oovv += tmp19 * -0.5 - del tmp19 - tmp16 = einsum(t2, (0, 1, 2, 3), tmp15, (1, 4, 3, 5), (0, 4, 2, 5), optimize=True) - del tmp15 - tmp17 = tmp16.copy() - del tmp16 - tmp5 = einsum(t2, (0, 1, 2, 3), l1, (3, 4), (4, 0, 1, 2), optimize=True) - tmp14 = einsum(tmp5, (0, 1, 2, 3), t1, (0, 4), (1, 2, 4, 3), optimize=True) - tmp17 += tmp14 - del tmp14 - rdm2.oovv += tmp17.transpose((0, 1, 3, 2)) * -1 - rdm2.oovv += tmp17 - del tmp17 - rdm2.oovv += einsum(t1, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) - rdm2.oovv += einsum(t1, (0, 1), t1, (2, 3), (2, 0, 1, 3), optimize=True) * -1 - rdm2.oovv += t2.transpose((1, 0, 3, 2)) - rdm2.vooo = einsum(l1, (0, 1), delta.oo, (2, 3), (0, 3, 2, 1), optimize=True) * -1 - rdm2.vooo += einsum(l1, (0, 1), delta.oo, (2, 3), (0, 3, 1, 2), optimize=True) - rdm2.vooo += tmp1.transpose((3, 2, 1, 0)) - rdm2.ovoo = einsum(l1, (0, 1), delta.oo, (2, 3), (3, 0, 2, 1), optimize=True) - rdm2.ovoo += einsum(l1, (0, 1), delta.oo, (2, 3), (3, 0, 1, 2), optimize=True) * -1 - rdm2.ovoo += tmp1.transpose((2, 3, 1, 0)) * -1 - del tmp1 - tmp13 = tmp2.transpose((0, 1, 3, 2)).copy() * 2 - tmp13 += tmp0.transpose((1, 0, 3, 2)) * -1 - rdm2.oovo = einsum(t1, (0, 1), tmp13, (0, 2, 3, 4), (4, 3, 1, 2), optimize=True) * 0.5 - del tmp13 - rdm2.oovo += einsum(t1, (0, 1), tmp3, (2, 3), (3, 0, 1, 2), optimize=True) - rdm2.oovo += einsum(tmp3, (0, 1), t1, (2, 3), (2, 1, 3, 0), optimize=True) * -1 - rdm2.oovo += einsum(t1, (0, 1), delta.oo, (2, 3), (3, 0, 1, 2), optimize=True) * -1 - rdm2.oovo += einsum(delta.oo, (0, 1), t1, (2, 3), (2, 1, 3, 0), optimize=True) - tmp9 = tmp4.copy() - tmp9 += tmp3 * 2 - tmp10 = einsum(t1, (0, 1), tmp9, (0, 2), (2, 1), optimize=True) * 0.5 - del tmp9 - tmp11 = tmp10.copy() - del tmp10 - tmp11 += tmp8 * 0.5 - del tmp8 - tmp11 += tmp7 * -1 - del tmp7 - rdm2.oovo += einsum(tmp11, (0, 1), delta.oo, (2, 3), (2, 0, 1, 3), optimize=True) - rdm2.oovo += einsum(tmp11, (0, 1), delta.oo, (2, 3), (0, 3, 1, 2), optimize=True) * -1 - rdm2.oovo += einsum(t1, (0, 1), tmp4, (2, 3), (3, 0, 1, 2), optimize=True) * 0.5 - rdm2.oovo += einsum(tmp4, (0, 1), t1, (2, 3), (2, 1, 3, 0), optimize=True) * -0.5 - rdm2.oovo += tmp6.transpose((2, 1, 3, 0)) * -1 - rdm2.oovo += tmp6.transpose((1, 2, 3, 0)) - rdm2.oovo += tmp5.transpose((2, 1, 3, 0)) - rdm2.ooov = einsum(t1, (0, 1), tmp12, (0, 2, 3, 4), (4, 3, 2, 1), optimize=True) * -1 - del tmp12 - rdm2.ooov += einsum(t1, (0, 1), tmp3, (2, 3), (3, 0, 2, 1), optimize=True) * -1 - rdm2.ooov += einsum(tmp3, (0, 1), t1, (2, 3), (2, 1, 0, 3), optimize=True) - rdm2.ooov += einsum(t1, (0, 1), delta.oo, (2, 3), (3, 0, 2, 1), optimize=True) - rdm2.ooov += einsum(delta.oo, (0, 1), t1, (2, 3), (2, 1, 0, 3), optimize=True) * -1 - rdm2.ooov += einsum(tmp11, (0, 1), delta.oo, (2, 3), (2, 0, 3, 1), optimize=True) * -1 - rdm2.ooov += einsum(tmp11, (0, 1), delta.oo, (2, 3), (0, 3, 2, 1), optimize=True) - del tmp11 - rdm2.ooov += einsum(t1, (0, 1), tmp4, (2, 3), (3, 0, 2, 1), optimize=True) * -0.5 - rdm2.ooov += einsum(tmp4, (0, 1), t1, (2, 3), (2, 1, 0, 3), optimize=True) * 0.5 - rdm2.ooov += tmp6.transpose((2, 1, 0, 3)) - rdm2.ooov += tmp6.transpose((1, 2, 0, 3)) * -1 - del tmp6 - rdm2.ooov += tmp5.transpose((2, 1, 0, 3)) * -1 - del tmp5 - rdm2.oooo = einsum(tmp4, (0, 1), delta.oo, (2, 3), (2, 1, 3, 0), optimize=True) * -0.5 - rdm2.oooo += einsum(tmp4, (0, 1), delta.oo, (2, 3), (1, 3, 2, 0), optimize=True) * 0.5 - rdm2.oooo += einsum(tmp4, (0, 1), delta.oo, (2, 3), (2, 1, 0, 3), optimize=True) * 0.5 - rdm2.oooo += einsum(tmp4, (0, 1), delta.oo, (2, 3), (1, 3, 0, 2), optimize=True) * -0.5 - del tmp4 - rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (3, 0, 1, 2), optimize=True) * -1 - rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (1, 3, 0, 2), optimize=True) - rdm2.oooo += einsum(delta.oo, (0, 1), tmp3, (2, 3), (1, 3, 0, 2), optimize=True) * -1 - rdm2.oooo += einsum(tmp3, (0, 1), delta.oo, (2, 3), (1, 3, 2, 0), optimize=True) - rdm2.oooo += einsum(tmp3, (0, 1), delta.oo, (2, 3), (3, 1, 0, 2), optimize=True) - rdm2.oooo += einsum(tmp3, (0, 1), delta.oo, (2, 3), (1, 3, 0, 2), optimize=True) * -1 - del delta, tmp3 - rdm2.oooo += tmp2.transpose((2, 3, 1, 0)) * -1 - del tmp2 - rdm2.oooo += tmp0.transpose((3, 2, 1, 0)) * 0.5 - del tmp0 - rdm2 = pack_2e(rdm2.oooo, rdm2.ooov, rdm2.oovo, rdm2.ovoo, rdm2.vooo, rdm2.oovv, rdm2.ovov, rdm2.ovvo, rdm2.voov, rdm2.vovo, rdm2.vvoo, rdm2.ovvv, rdm2.vovv, rdm2.vvov, rdm2.vvvo, rdm2.vvvv) - rdm2 = rdm2.swapaxes(1, 2) - - return rdm2 - diff --git a/ebcc/codegen/GCCD.py b/ebcc/codegen/GCCD.py deleted file mode 100644 index 7808f5e6..00000000 --- a/ebcc/codegen/GCCD.py +++ /dev/null @@ -1,284 +0,0 @@ -""" -Code generated by `albert`: -https://github.com/obackhouse/albert - - * date: 2024-07-18T21:42:17.819450 - * python version: 3.10.12 (main, Mar 22 2024, 16:50:05) [GCC 11.4.0] - * albert version: 0.0.0 - * caller: /home/ollie/git/albert/albert/codegen/einsum.py - * node: ollie-desktop - * system: Linux - * processor: x86_64 - * release: 6.5.0-44-generic -""" - -from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, direct_sum, Namespace - - -def energy(t2=None, v=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-07-18T21:42:17.862679. - - Parameters - ---------- - t2 : array - T2 amplitudes. - v : array - Electron repulsion integrals. - - Returns - ------- - e_cc : float - Coupled cluster energy. - """ - - e_cc = einsum(t2, (0, 1, 2, 3), v.oovv, (0, 1, 2, 3), (), optimize=True) * 0.25 - - return e_cc - -def update_amps(f=None, t2=None, v=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-07-18T21:42:18.624233. - - Parameters - ---------- - f : array - Fock matrix. - t2 : array - T2 amplitudes. - v : array - Electron repulsion integrals. - - Returns - ------- - t2new : array - Updated T2 residuals. - """ - - tmp7 = einsum(v.oovv, (0, 1, 2, 3), t2, (4, 0, 2, 3), (4, 1), optimize=True) * -1 - tmp3 = einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 3), (0, 4, 2, 5), optimize=True) - tmp5 = einsum(t2, (0, 1, 2, 3), v.oovv, (0, 1, 3, 4), (2, 4), optimize=True) * -1 - tmp9 = v.oooo.transpose((2, 3, 1, 0)).copy() * -2 - tmp9 += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 2, 3), (5, 4, 1, 0), optimize=True) - t2new = einsum(t2, (0, 1, 2, 3), tmp9, (0, 1, 4, 5), (4, 5, 3, 2), optimize=True) * -0.25 - del tmp9 - tmp0 = einsum(f.oo, (0, 1), t2, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) - t2new += tmp0.transpose((1, 0, 3, 2)) - t2new += tmp0.transpose((0, 1, 3, 2)) * -1 - del tmp0 - tmp1 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 3, 1, 5), (0, 4, 2, 5), optimize=True) - t2new += tmp1.transpose((1, 0, 3, 2)) * -1 - t2new += tmp1.transpose((1, 0, 2, 3)) - t2new += tmp1.transpose((0, 1, 3, 2)) - t2new += tmp1 * -1 - del tmp1 - tmp8 = einsum(tmp7, (0, 1), t2, (2, 1, 3, 4), (2, 0, 3, 4), optimize=True) - del tmp7 - t2new += tmp8.transpose((1, 0, 3, 2)) * -0.5 - t2new += tmp8.transpose((0, 1, 3, 2)) * 0.5 - del tmp8 - tmp4 = einsum(t2, (0, 1, 2, 3), tmp3, (4, 1, 5, 3), (0, 4, 2, 5), optimize=True) - del tmp3 - t2new += tmp4.transpose((0, 1, 3, 2)) * -1 - t2new += tmp4 - del tmp4 - tmp6 = einsum(t2, (0, 1, 2, 3), tmp5, (4, 3), (0, 1, 2, 4), optimize=True) - del tmp5 - t2new += tmp6.transpose((0, 1, 3, 2)) * 0.5 - t2new += tmp6 * -0.5 - del tmp6 - tmp2 = einsum(f.vv, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4), optimize=True) - t2new += tmp2.transpose((1, 0, 3, 2)) * -1 - t2new += tmp2.transpose((1, 0, 2, 3)) - del tmp2 - t2new += einsum(t2, (0, 1, 2, 3), v.vvvv, (4, 5, 3, 2), (1, 0, 5, 4), optimize=True) * -0.5 - t2new += v.oovv.transpose((1, 0, 3, 2)) - - return {f"t2new": t2new} - -def update_lams(f=None, l2=None, t2=None, v=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-07-18T21:42:19.679726. - - Parameters - ---------- - f : array - Fock matrix. - l2 : array - L2 amplitudes. - t2 : array - T2 amplitudes. - v : array - Electron repulsion integrals. - - Returns - ------- - l2new : array - Updated L2 residuals. - """ - - tmp13 = einsum(l2, (0, 1, 2, 3), t2, (2, 3, 1, 4), (0, 4), optimize=True) * -1 - tmp11 = einsum(v.oovv, (0, 1, 2, 3), t2, (0, 1, 3, 4), (4, 2), optimize=True) * -1 - tmp2 = einsum(v.oovv, (0, 1, 2, 3), t2, (1, 4, 3, 5), (4, 0, 5, 2), optimize=True) - tmp8 = einsum(t2, (0, 1, 2, 3), l2, (2, 3, 4, 0), (4, 1), optimize=True) * -1 - tmp6 = einsum(v.oovv, (0, 1, 2, 3), t2, (1, 4, 2, 3), (4, 0), optimize=True) * -1 - tmp14 = einsum(tmp13, (0, 1), v.oovv, (2, 3, 4, 1), (2, 3, 0, 4), optimize=True) * -1 - del tmp13 - tmp12 = einsum(l2, (0, 1, 2, 3), tmp11, (1, 4), (2, 3, 0, 4), optimize=True) - del tmp11 - tmp3 = v.ovov.transpose((2, 0, 1, 3)).copy() * -1 - tmp3 += tmp2 - del tmp2 - tmp9 = einsum(v.oovv, (0, 1, 2, 3), tmp8, (4, 1), (4, 0, 2, 3), optimize=True) * -1 - del tmp8 - tmp7 = einsum(l2, (0, 1, 2, 3), tmp6, (3, 4), (2, 4, 0, 1), optimize=True) - del tmp6 - tmp15 = tmp12.copy() * 0.5 - del tmp12 - tmp15 += tmp14 * 0.5 - del tmp14 - l2new = tmp15.transpose((3, 2, 1, 0)).copy() * -1 - l2new += tmp15.transpose((2, 3, 1, 0)) - del tmp15 - tmp0 = einsum(t2, (0, 1, 2, 3), l2, (2, 3, 4, 5), (4, 5, 0, 1), optimize=True) - l2new += einsum(v.oovv, (0, 1, 2, 3), tmp0, (4, 5, 0, 1), (2, 3, 4, 5), optimize=True) * 0.25 - del tmp0 - tmp1 = einsum(f.oo, (0, 1), l2, (2, 3, 4, 1), (0, 4, 2, 3), optimize=True) - l2new += tmp1.transpose((3, 2, 1, 0)) - l2new += tmp1.transpose((3, 2, 0, 1)) * -1 - del tmp1 - tmp4 = einsum(l2, (0, 1, 2, 3), tmp3, (2, 4, 0, 5), (3, 4, 1, 5), optimize=True) - del tmp3 - l2new += tmp4.transpose((3, 2, 1, 0)) - l2new += tmp4.transpose((2, 3, 1, 0)) * -1 - l2new += tmp4.transpose((3, 2, 0, 1)) * -1 - l2new += tmp4.transpose((2, 3, 0, 1)) - del tmp4 - tmp16 = v.oooo.transpose((2, 3, 1, 0)).copy() * -1 - tmp16 += einsum(v.oovv, (0, 1, 2, 3), t2, (4, 5, 2, 3), (5, 4, 1, 0), optimize=True) * 0.5 - l2new += einsum(tmp16, (0, 1, 2, 3), l2, (4, 5, 0, 1), (5, 4, 2, 3), optimize=True) * -0.5 - del tmp16 - tmp5 = einsum(l2, (0, 1, 2, 3), f.vv, (4, 1), (2, 3, 4, 0), optimize=True) - l2new += tmp5.transpose((3, 2, 1, 0)) * -1 - l2new += tmp5.transpose((2, 3, 1, 0)) - del tmp5 - tmp10 = tmp7.transpose((0, 1, 3, 2)).copy() * -0.5 - del tmp7 - tmp10 += tmp9.transpose((0, 1, 3, 2)) * -0.5 - del tmp9 - l2new += tmp10.transpose((3, 2, 1, 0)) * -1 - l2new += tmp10.transpose((3, 2, 0, 1)) - del tmp10 - l2new += einsum(l2, (0, 1, 2, 3), v.vvvv, (4, 5, 1, 0), (5, 4, 3, 2), optimize=True) * -0.5 - l2new += v.oovv.transpose((3, 2, 1, 0)) - - return {f"l2new": l2new} - -def make_rdm1_f(l2=None, t2=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-07-18T21:42:19.808625. - - Parameters - ---------- - l2 : array - L2 amplitudes. - t2 : array - T2 amplitudes. - - Returns - ------- - rdm1 : array - One-particle reduced density matrix. - """ - - rdm1 = Namespace() - delta = Namespace( - oo=np.eye(t2.shape[0]), - vv=np.eye(t2.shape[-1]), - ) - rdm1.oo = einsum(t2, (0, 1, 2, 3), l2, (2, 3, 4, 1), (0, 4), optimize=True) * -0.5 - rdm1.oo += delta.oo.transpose((1, 0)) - del delta - rdm1.vv = einsum(l2, (0, 1, 2, 3), t2, (2, 3, 4, 1), (0, 4), optimize=True) * 0.5 - rdm1.ov = np.zeros((t2.shape[0], t2.shape[-1])) - rdm1.vo = np.zeros((t2.shape[-1], t2.shape[0])) - rdm1 = np.block([[rdm1.oo, rdm1.ov], [rdm1.vo, rdm1.vv]]) - - return rdm1 - -def make_rdm2_f(l2=None, t2=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-07-18T21:42:20.714346. - - Parameters - ---------- - l2 : array - L2 amplitudes. - t2 : array - T2 amplitudes. - - Returns - ------- - rdm2 : array - Two-particle reduced density matrix. - """ - - rdm2 = Namespace() - delta = Namespace( - oo=np.eye(t2.shape[0]), - vv=np.eye(t2.shape[-1]), - ) - tmp2 = einsum(l2, (0, 1, 2, 3), t2, (4, 3, 5, 1), (2, 4, 0, 5), optimize=True) - rdm2.vovo = tmp2.transpose((2, 1, 3, 0)).copy() * -1 - rdm2.voov = tmp2.transpose((2, 1, 0, 3)).copy() - rdm2.ovvo = tmp2.transpose((1, 2, 3, 0)).copy() - rdm2.ovov = tmp2.transpose((1, 2, 0, 3)).copy() * -1 - tmp4 = einsum(l2, (0, 1, 2, 3), t2, (2, 3, 4, 0), (1, 4), optimize=True) * -1 - rdm2.vovo += einsum(tmp4, (0, 1), delta.oo, (2, 3), (0, 3, 1, 2), optimize=True) * 0.5 - rdm2.voov += einsum(tmp4, (0, 1), delta.oo, (2, 3), (0, 3, 2, 1), optimize=True) * -0.5 - rdm2.ovvo += einsum(tmp4, (0, 1), delta.oo, (2, 3), (2, 0, 1, 3), optimize=True) * -0.5 - rdm2.ovov += einsum(tmp4, (0, 1), delta.oo, (2, 3), (2, 0, 3, 1), optimize=True) * 0.5 - tmp1 = einsum(t2, (0, 1, 2, 3), l2, (2, 3, 4, 1), (4, 0), optimize=True) - rdm2.oooo = einsum(delta.oo, (0, 1), tmp1, (2, 3), (0, 3, 1, 2), optimize=True) * -0.5 - rdm2.oooo += einsum(delta.oo, (0, 1), tmp1, (2, 3), (3, 1, 0, 2), optimize=True) * 0.5 - rdm2.oooo += einsum(delta.oo, (0, 1), tmp1, (2, 3), (0, 3, 2, 1), optimize=True) * 0.5 - rdm2.oooo += einsum(delta.oo, (0, 1), tmp1, (2, 3), (3, 1, 2, 0), optimize=True) * -0.5 - tmp0 = einsum(t2, (0, 1, 2, 3), l2, (2, 3, 4, 5), (4, 5, 0, 1), optimize=True) - rdm2.oovv = einsum(t2, (0, 1, 2, 3), tmp0, (0, 1, 4, 5), (5, 4, 3, 2), optimize=True) * 0.25 - rdm2.oooo += tmp0.transpose((3, 2, 1, 0)) * 0.5 - del tmp0 - tmp3 = einsum(tmp2, (0, 1, 2, 3), t2, (4, 0, 5, 2), (1, 4, 3, 5), optimize=True) - del tmp2 - rdm2.oovv += tmp3.transpose((0, 1, 3, 2)) * -1 - rdm2.oovv += tmp3 - del tmp3 - tmp5 = einsum(tmp4, (0, 1), t2, (2, 3, 4, 0), (2, 3, 4, 1), optimize=True) - del tmp4 - rdm2.oovv += tmp5.transpose((0, 1, 3, 2)) * 0.5 - rdm2.oovv += tmp5 * -0.5 - del tmp5 - tmp6 = einsum(tmp1, (0, 1), t2, (2, 0, 3, 4), (2, 1, 3, 4), optimize=True) - del tmp1 - rdm2.oovv += tmp6.transpose((1, 0, 3, 2)) * -0.5 - rdm2.oovv += tmp6.transpose((0, 1, 3, 2)) * 0.5 - del tmp6 - rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (3, 1, 2, 0), optimize=True) - rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (3, 0, 1, 2), optimize=True) * -1 - del delta - rdm2.oovv += t2.transpose((1, 0, 3, 2)) - rdm2.vvoo = l2.transpose((1, 0, 3, 2)).copy() - rdm2.vvvv = einsum(t2, (0, 1, 2, 3), l2, (4, 5, 0, 1), (5, 4, 3, 2), optimize=True) * 0.5 - rdm2.ooov = np.zeros((t2.shape[0], t2.shape[0], t2.shape[0], t2.shape[-1])) - rdm2.oovo = np.zeros((t2.shape[0], t2.shape[0], t2.shape[-1], t2.shape[0])) - rdm2.ovoo = np.zeros((t2.shape[0], t2.shape[-1], t2.shape[0], t2.shape[0])) - rdm2.vooo = np.zeros((t2.shape[-1], t2.shape[0], t2.shape[0], t2.shape[0])) - rdm2.ovvv = np.zeros((t2.shape[0], t2.shape[-1], t2.shape[-1], t2.shape[-1])) - rdm2.vovv = np.zeros((t2.shape[-1], t2.shape[0], t2.shape[-1], t2.shape[-1])) - rdm2.vvov = np.zeros((t2.shape[-1], t2.shape[-1], t2.shape[0], t2.shape[-1])) - rdm2.vvvo = np.zeros((t2.shape[-1], t2.shape[-1], t2.shape[-1], t2.shape[0])) - rdm2 = pack_2e(rdm2.oooo, rdm2.ooov, rdm2.oovo, rdm2.ovoo, rdm2.vooo, rdm2.oovv, rdm2.ovov, rdm2.ovvo, rdm2.voov, rdm2.vovo, rdm2.vvoo, rdm2.ovvv, rdm2.vovv, rdm2.vvov, rdm2.vvvo, rdm2.vvvv) - rdm2 = rdm2.swapaxes(1, 2) - - return rdm2 - diff --git a/ebcc/codegen/GCCSD.py b/ebcc/codegen/GCCSD.py deleted file mode 100644 index 867798c4..00000000 --- a/ebcc/codegen/GCCSD.py +++ /dev/null @@ -1,1362 +0,0 @@ -""" -Code generated by `albert`: -https://github.com/obackhouse/albert - - * date: 2024-07-25T21:20:53.049671 - * python version: 3.10.12 (main, Mar 22 2024, 16:50:05) [GCC 11.4.0] - * albert version: 0.0.0 - * caller: /home/ollie/git/albert/albert/codegen/einsum.py - * node: ollie-desktop - * system: Linux - * processor: x86_64 - * release: 6.5.0-44-generic -""" - -from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, direct_sum, Namespace - - -def energy(f=None, t1=None, t2=None, v=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-07-25T21:20:53.184378. - - Parameters - ---------- - f : array - Fock matrix. - t1 : array - T1 amplitudes. - t2 : array - T2 amplitudes. - v : array - Electron repulsion integrals. - - Returns - ------- - e_cc : float - Coupled cluster energy. - """ - - tmp0 = t2.transpose((1, 0, 3, 2)).copy() - tmp0 += einsum(t1, (0, 1), t1, (2, 3), (2, 0, 3, 1)) * 2 - e_cc = einsum(v.oovv, (0, 1, 2, 3), tmp0, (0, 1, 2, 3), ()) * 0.25 - del tmp0 - e_cc += einsum(t1, (0, 1), f.ov, (0, 1), ()) - - return e_cc - -def update_amps(f=None, t1=None, t2=None, v=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-07-25T21:20:57.470045. - - Parameters - ---------- - f : array - Fock matrix. - t1 : array - T1 amplitudes. - t2 : array - T2 amplitudes. - v : array - Electron repulsion integrals. - - Returns - ------- - t1new : array - Updated T1 residuals. - t2new : array - Updated T2 residuals. - """ - - tmp19 = einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 2, 3), (0, 1, 4, 5)) - tmp18 = einsum(t2, (0, 1, 2, 3), f.ov, (4, 3), (4, 0, 1, 2)) - tmp3 = einsum(t1, (0, 1), v.oovv, (2, 0, 3, 1), (2, 3)) - tmp0 = einsum(t1, (0, 1), v.oovv, (2, 3, 4, 1), (0, 2, 3, 4)) - tmp16 = einsum(v.oovv, (0, 1, 2, 3), t2, (0, 1, 4, 2), (4, 3)) * -1 - tmp20 = tmp18.transpose((0, 2, 1, 3)).copy() * -1 - del tmp18 - tmp20 += tmp19.transpose((2, 1, 0, 3)) * 0.5 - del tmp19 - tmp33 = einsum(t1, (0, 1), tmp3, (2, 1), (0, 2)) - tmp6 = einsum(t1, (0, 1), v.ooov, (0, 2, 3, 1), (2, 3)) * -1 - tmp42 = t2.transpose((1, 0, 3, 2)).copy() - tmp42 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 3, 1)) * -1 - tmp40 = einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 3), (0, 4, 5, 2)) * -1 - tmp9 = einsum(t1, (0, 1), v.ovvv, (0, 2, 1, 3), (2, 3)) * -1 - tmp13 = einsum(tmp3, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4)) * -1 - tmp11 = einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 3, 5), (0, 4, 2, 5)) - tmp45 = einsum(t1, (0, 1), v.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) - tmp7 = t2.transpose((1, 0, 3, 2)).copy() - tmp7 += einsum(t1, (0, 1), t1, (2, 3), (2, 0, 3, 1)) * 2 - tmp26 = einsum(v.ooov, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) - tmp5 = einsum(t1, (0, 1), f.ov, (2, 1), (2, 0)) - tmp24 = einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 2, 3), (0, 4)) * -1 - tmp29 = einsum(tmp0, (0, 1, 2, 3), t2, (4, 1, 5, 3), (0, 4, 2, 5)) - tmp17 = einsum(t2, (0, 1, 2, 3), tmp16, (4, 3), (0, 1, 2, 4)) - del tmp16 - tmp21 = einsum(tmp20, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4)) - del tmp20 - tmp34 = einsum(tmp33, (0, 1), t2, (2, 1, 3, 4), (0, 2, 3, 4)) * -1 - del tmp33 - tmp32 = einsum(t2, (0, 1, 2, 3), tmp6, (1, 4), (0, 4, 2, 3)) * -1 - tmp31 = einsum(t1, (0, 1), v.ovvv, (2, 1, 3, 4), (0, 2, 3, 4)) - tmp43 = einsum(tmp42, (0, 1, 2, 3), v.ovov, (0, 4, 5, 2), (1, 5, 3, 4)) - del tmp42 - tmp41 = einsum(tmp40, (0, 1, 2, 3), t1, (1, 4), (0, 2, 4, 3)) - del tmp40 - tmp37 = einsum(t2, (0, 1, 2, 3), f.vv, (4, 3), (0, 1, 4, 2)) - tmp36 = einsum(t1, (0, 1), v.ooov, (2, 3, 0, 4), (2, 3, 1, 4)) - tmp10 = einsum(tmp9, (0, 1), t2, (2, 3, 4, 1), (2, 3, 4, 0)) * -1 - del tmp9 - tmp14 = einsum(tmp13, (0, 1, 2, 3), t1, (2, 4), (0, 1, 4, 3)) - del tmp13 - tmp12 = einsum(t2, (0, 1, 2, 3), tmp11, (4, 1, 5, 3), (4, 0, 5, 2)) - del tmp11 - tmp47 = einsum(tmp45, (0, 1, 2, 3), t1, (4, 3), (0, 4, 1, 2)) * -1 - tmp27 = einsum(tmp26, (0, 1, 2, 3), tmp7, (1, 2, 4, 5), (0, 3, 4, 5)) * 0.5 - del tmp26 - tmp23 = einsum(tmp5, (0, 1), t2, (2, 0, 3, 4), (1, 2, 3, 4)) - tmp25 = einsum(t2, (0, 1, 2, 3), tmp24, (4, 1), (0, 4, 2, 3)) - del tmp24 - tmp30 = einsum(tmp29, (0, 1, 2, 3), t1, (2, 4), (0, 1, 4, 3)) - del tmp29 - t2new = tmp30.transpose((1, 0, 3, 2)).copy() * -1 - t2new += tmp30.transpose((1, 0, 2, 3)) - t2new += tmp30.transpose((0, 1, 3, 2)) - t2new += tmp30 * -1 - del tmp30 - tmp22 = tmp17.copy() * 0.5 - del tmp17 - tmp22 += tmp21.transpose((1, 0, 3, 2)) - del tmp21 - t2new += tmp22.transpose((0, 1, 3, 2)) - t2new += tmp22 * -1 - del tmp22 - tmp49 = v.oooo.transpose((2, 3, 1, 0)).copy() * -1 - tmp49 += einsum(v.oovv, (0, 1, 2, 3), tmp7, (4, 5, 2, 3), (1, 0, 5, 4)) * 0.5 - t2new += einsum(tmp49, (0, 1, 2, 3), tmp7, (0, 1, 4, 5), (2, 3, 5, 4)) * -0.5 - del tmp49 - tmp2 = t2.transpose((1, 0, 3, 2)).copy() * 0.5 - tmp2 += einsum(t1, (0, 1), t1, (2, 3), (2, 0, 3, 1)) - t2new += einsum(tmp2, (0, 1, 2, 3), v.vvvv, (2, 3, 4, 5), (1, 0, 4, 5)) * -1 - t1new = einsum(v.ovvv, (0, 1, 2, 3), tmp2, (0, 4, 2, 3), (4, 1)) - del tmp2 - tmp39 = einsum(f.oo, (0, 1), t2, (2, 1, 3, 4), (0, 2, 3, 4)) - t2new += tmp39.transpose((1, 0, 3, 2)) - t2new += tmp39.transpose((0, 1, 3, 2)) * -1 - del tmp39 - tmp35 = tmp31.transpose((0, 1, 3, 2)).copy() * -1 - del tmp31 - tmp35 += tmp32.transpose((0, 1, 3, 2)) - del tmp32 - tmp35 += tmp34.transpose((0, 1, 3, 2)) * -1 - del tmp34 - t2new += tmp35.transpose((1, 0, 2, 3)) - t2new += tmp35 * -1 - del tmp35 - tmp46 = einsum(tmp45, (0, 1, 2, 3), t2, (4, 1, 5, 3), (0, 4, 5, 2)) * -1 - del tmp45 - t2new += tmp46.transpose((1, 0, 3, 2)) - t2new += tmp46.transpose((1, 0, 2, 3)) * -1 - t2new += tmp46.transpose((0, 1, 3, 2)) * -1 - t2new += tmp46 - del tmp46 - tmp44 = tmp41.copy() - del tmp41 - tmp44 += tmp43 * -1 - del tmp43 - t2new += tmp44.transpose((1, 0, 3, 2)) - t2new += tmp44.transpose((1, 0, 2, 3)) * -1 - t2new += tmp44.transpose((0, 1, 3, 2)) * -1 - t2new += tmp44 - del tmp44 - tmp38 = tmp36.transpose((1, 0, 2, 3)).copy() * -1 - del tmp36 - tmp38 += tmp37.transpose((1, 0, 2, 3)) * -1 - del tmp37 - t2new += tmp38.transpose((0, 1, 3, 2)) - t2new += tmp38 * -1 - del tmp38 - tmp15 = tmp10.copy() - del tmp10 - tmp15 += tmp12 - del tmp12 - tmp15 += tmp14 * -1 - del tmp14 - t2new += tmp15.transpose((0, 1, 3, 2)) * -1 - t2new += tmp15 - del tmp15 - tmp48 = einsum(t1, (0, 1), tmp47, (2, 3, 0, 4), (3, 2, 1, 4)) * -1 - del tmp47 - t2new += tmp48.transpose((0, 1, 3, 2)) - t2new += tmp48 * -1 - del tmp48 - tmp28 = tmp23.transpose((0, 1, 3, 2)).copy() - del tmp23 - tmp28 += tmp25.transpose((0, 1, 3, 2)) * -0.5 - del tmp25 - tmp28 += tmp27.transpose((0, 1, 3, 2)) * -1 - del tmp27 - t2new += tmp28.transpose((1, 0, 2, 3)) - t2new += tmp28 * -1 - del tmp28 - tmp8 = f.oo.transpose((1, 0)).copy() - tmp8 += tmp5 - del tmp5 - tmp8 += tmp6 - del tmp6 - tmp8 += einsum(tmp7, (0, 1, 2, 3), v.oovv, (0, 4, 2, 3), (4, 1)) * 0.5 - del tmp7 - t1new += einsum(t1, (0, 1), tmp8, (0, 2), (2, 1)) * -1 - del tmp8 - tmp4 = f.ov.copy() - tmp4 += tmp3 - del tmp3 - t1new += einsum(t2, (0, 1, 2, 3), tmp4, (0, 2), (1, 3)) - del tmp4 - tmp1 = v.ooov.transpose((2, 1, 0, 3)).copy() - tmp1 += tmp0.transpose((0, 2, 1, 3)) * -1 - del tmp0 - t1new += einsum(t2, (0, 1, 2, 3), tmp1, (4, 0, 1, 2), (4, 3)) * -0.5 - del tmp1 - t1new += einsum(v.ovov, (0, 1, 2, 3), t1, (2, 1), (0, 3)) * -1 - t1new += f.ov - t1new += einsum(t1, (0, 1), f.vv, (2, 1), (0, 2)) - t2new += v.oovv.transpose((1, 0, 3, 2)) - - return {f"t1new": t1new, f"t2new": t2new} - -def update_lams(f=None, l1=None, l2=None, t1=None, t2=None, v=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-07-25T21:21:03.672901. - - Parameters - ---------- - f : array - Fock matrix. - l1 : array - L1 amplitudes. - l2 : array - L2 amplitudes. - t1 : array - T1 amplitudes. - t2 : array - T2 amplitudes. - v : array - Electron repulsion integrals. - - Returns - ------- - l1new : array - Updated L1 residuals. - l2new : array - Updated L2 residuals. - """ - - tmp5 = einsum(t1, (0, 1), v.oovv, (2, 3, 4, 1), (0, 2, 3, 4)) - tmp24 = einsum(t1, (0, 1), v.ovvv, (0, 2, 3, 1), (2, 3)) - tmp41 = einsum(v.oovv, (0, 1, 2, 3), t2, (0, 1, 3, 4), (4, 2)) * -1 - tmp4 = einsum(t1, (0, 1), v.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) - tmp19 = einsum(l1, (0, 1), t1, (2, 0), (1, 2)) - tmp20 = einsum(t2, (0, 1, 2, 3), l2, (2, 3, 0, 4), (4, 1)) - tmp27 = einsum(t2, (0, 1, 2, 3), v.oovv, (4, 0, 2, 3), (1, 4)) * -1 - tmp26 = einsum(t1, (0, 1), v.ooov, (2, 0, 3, 1), (2, 3)) - tmp1 = einsum(t1, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2)) - l2new = einsum(v.ovvv, (0, 1, 2, 3), tmp1, (4, 5, 0, 1), (2, 3, 4, 5)) - l1new = einsum(tmp4, (0, 1, 2, 3), tmp1, (4, 0, 1, 2), (3, 4)) - l1new += einsum(tmp1, (0, 1, 2, 3), v.ovov, (1, 4, 2, 3), (4, 0)) * -1 - tmp29 = einsum(v.oovv, (0, 1, 2, 3), t2, (1, 4, 3, 5), (4, 0, 5, 2)) - tmp6 = v.ooov.transpose((2, 1, 0, 3)).copy() - tmp6 += tmp5.transpose((0, 2, 1, 3)) * -1 - tmp42 = tmp24.copy() - tmp42 += tmp41 * 0.5 - del tmp41 - tmp17 = einsum(l2, (0, 1, 2, 3), t2, (2, 3, 1, 4), (0, 4)) * -1 - tmp55 = v.ovov.transpose((2, 0, 1, 3)).copy() * -1 - tmp55 += tmp4 - tmp33 = einsum(t1, (0, 1), f.ov, (2, 1), (2, 0)) - tmp23 = tmp19.copy() - tmp23 += tmp20 * 0.5 - l1new += einsum(v.ooov, (0, 1, 2, 3), tmp23, (2, 0), (3, 1)) * -1 - tmp36 = tmp26.copy() * 2 - tmp36 += tmp27.transpose((1, 0)) - tmp7 = einsum(t1, (0, 1), v.oovv, (2, 0, 3, 1), (2, 3)) - tmp10 = einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 2, 3), (0, 1, 4, 5)) - tmp11 = v.ooov.transpose((1, 0, 2, 3)).copy() * -1 - tmp11 += tmp5.transpose((2, 1, 0, 3)) * 0.5 - tmp2 = einsum(tmp1, (0, 1, 2, 3), t1, (4, 3), (0, 1, 4, 2)) - l1new += einsum(v.ooov, (0, 1, 2, 3), tmp2, (4, 2, 1, 0), (3, 4)) * 0.5 - tmp0 = einsum(t2, (0, 1, 2, 3), l2, (2, 3, 4, 5), (4, 5, 0, 1)) - l1new += einsum(tmp0, (0, 1, 2, 3), v.ooov, (2, 3, 1, 4), (4, 0)) * -0.25 - tmp51 = einsum(l2, (0, 1, 2, 3), f.oo, (4, 3), (4, 2, 0, 1)) - tmp52 = einsum(v.ovvv, (0, 1, 2, 3), l1, (1, 4), (4, 0, 2, 3)) - tmp30 = einsum(tmp29, (0, 1, 2, 3), l2, (4, 2, 0, 5), (5, 1, 4, 3)) * -1 - del tmp29 - tmp31 = einsum(tmp1, (0, 1, 2, 3), tmp5, (0, 4, 2, 5), (1, 4, 3, 5)) * -1 - del tmp5 - tmp44 = einsum(tmp6, (0, 1, 2, 3), l1, (4, 0), (1, 2, 3, 4)) - tmp43 = einsum(tmp42, (0, 1), l2, (0, 2, 3, 4), (3, 4, 1, 2)) - del tmp42 - tmp39 = einsum(f.ov, (0, 1), tmp1, (2, 3, 0, 4), (2, 3, 1, 4)) - tmp40 = einsum(v.oovv, (0, 1, 2, 3), tmp17, (4, 3), (1, 0, 4, 2)) - tmp56 = einsum(tmp55, (0, 1, 2, 3), l2, (2, 4, 0, 5), (1, 5, 3, 4)) - del tmp55 - tmp54 = einsum(tmp1, (0, 1, 2, 3), v.ooov, (4, 2, 1, 5), (0, 4, 3, 5)) - tmp34 = einsum(l2, (0, 1, 2, 3), tmp33, (4, 3), (4, 2, 0, 1)) - del tmp33 - tmp35 = einsum(v.oovv, (0, 1, 2, 3), tmp23, (4, 0), (4, 1, 2, 3)) - tmp37 = einsum(tmp36, (0, 1), l2, (2, 3, 1, 4), (0, 4, 2, 3)) * 0.5 - del tmp36 - tmp49 = einsum(tmp1, (0, 1, 2, 3), tmp7, (2, 4), (0, 1, 3, 4)) - tmp48 = einsum(f.vv, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2)) - tmp46 = einsum(tmp7, (0, 1), t1, (2, 1), (2, 0)) - tmp8 = f.ov.copy() - tmp8 += tmp7 - l1new += einsum(tmp8, (0, 1), tmp23, (2, 0), (1, 2)) * -1 - del tmp23 - tmp12 = v.oooo.transpose((2, 3, 1, 0)).copy() * 0.5 - tmp12 += tmp10.transpose((3, 2, 1, 0)) * -0.25 - tmp12 += einsum(tmp11, (0, 1, 2, 3), t1, (4, 3), (1, 0, 4, 2)) * -1 - tmp9 = v.ovov.transpose((2, 0, 3, 1)).copy() - tmp9 += tmp4.transpose((0, 1, 3, 2)) * -0.5 - del tmp4 - tmp21 = tmp19.copy() * 2 - del tmp19 - tmp21 += tmp20 - del tmp20 - tmp15 = tmp0.transpose((1, 0, 3, 2)).copy() * -0.5 - tmp15 += tmp2.transpose((0, 1, 3, 2)) - tmp53 = tmp51.transpose((0, 1, 3, 2)).copy() * -1 - del tmp51 - tmp53 += tmp52.transpose((0, 1, 3, 2)) - del tmp52 - l2new += tmp53.transpose((2, 3, 1, 0)) * -1 - l2new += tmp53.transpose((2, 3, 0, 1)) - del tmp53 - tmp58 = v.oooo.transpose((2, 3, 1, 0)).copy() * -2 - tmp58 += tmp10.transpose((1, 0, 3, 2)) - del tmp10 - tmp58 += einsum(tmp11, (0, 1, 2, 3), t1, (4, 3), (2, 4, 1, 0)) * -4 - del tmp11 - l2new += einsum(l2, (0, 1, 2, 3), tmp58, (2, 3, 4, 5), (1, 0, 4, 5)) * -0.25 - del tmp58 - tmp32 = tmp30.copy() - del tmp30 - tmp32 += tmp31 * -1 - del tmp31 - l2new += tmp32.transpose((3, 2, 1, 0)) - l2new += tmp32.transpose((2, 3, 1, 0)) * -1 - l2new += tmp32.transpose((3, 2, 0, 1)) * -1 - l2new += tmp32.transpose((2, 3, 0, 1)) - del tmp32 - tmp45 = tmp39.copy() * -1 - del tmp39 - tmp45 += tmp40 * 0.5 - del tmp40 - tmp45 += tmp43.transpose((1, 0, 3, 2)) - del tmp43 - tmp45 += tmp44.transpose((1, 0, 3, 2)) - del tmp44 - l2new += tmp45.transpose((3, 2, 0, 1)) - l2new += tmp45.transpose((2, 3, 0, 1)) * -1 - del tmp45 - tmp59 = tmp0.transpose((1, 0, 3, 2)).copy() * -1 - del tmp0 - tmp59 += tmp2.transpose((0, 1, 3, 2)) * 2 - del tmp2 - l2new += einsum(v.oovv, (0, 1, 2, 3), tmp59, (4, 5, 0, 1), (3, 2, 5, 4)) * -0.25 - del tmp59 - tmp57 = einsum(l1, (0, 1), tmp7, (2, 3), (1, 2, 0, 3)) - del tmp7 - tmp57 += tmp54 - del tmp54 - tmp57 += tmp56.transpose((1, 0, 3, 2)) - del tmp56 - l2new += tmp57.transpose((3, 2, 1, 0)) - l2new += tmp57.transpose((2, 3, 1, 0)) * -1 - l2new += tmp57.transpose((3, 2, 0, 1)) * -1 - l2new += tmp57.transpose((2, 3, 0, 1)) - del tmp57 - tmp38 = tmp34.transpose((0, 1, 3, 2)).copy() - del tmp34 - tmp38 += tmp35.transpose((0, 1, 3, 2)) * -1 - del tmp35 - tmp38 += tmp37.transpose((1, 0, 3, 2)) - del tmp37 - l2new += tmp38.transpose((3, 2, 1, 0)) * -1 - l2new += tmp38.transpose((3, 2, 0, 1)) - del tmp38 - tmp50 = tmp48.transpose((1, 0, 2, 3)).copy() * -1 - del tmp48 - tmp50 += tmp49 - del tmp49 - l2new += tmp50.transpose((3, 2, 0, 1)) - l2new += tmp50.transpose((2, 3, 0, 1)) * -1 - del tmp50 - tmp47 = einsum(tmp46, (0, 1), l2, (2, 3, 4, 0), (4, 1, 2, 3)) - del tmp46 - l2new += tmp47.transpose((2, 3, 1, 0)) - l2new += tmp47.transpose((2, 3, 0, 1)) * -1 - del tmp47 - tmp28 = f.oo.transpose((1, 0)).copy() - tmp28 += tmp26.transpose((1, 0)) - del tmp26 - tmp28 += tmp27 * 0.5 - del tmp27 - tmp28 += einsum(tmp8, (0, 1), t1, (2, 1), (2, 0)) - l1new += einsum(tmp28, (0, 1), l1, (2, 0), (2, 1)) * -1 - del tmp28 - tmp13 = v.ooov.transpose((2, 1, 0, 3)).copy() * 0.5 - tmp13 += einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 5, 2, 3), (0, 5, 4, 1)) * 0.25 - tmp13 += einsum(tmp6, (0, 1, 2, 3), t2, (1, 4, 3, 5), (2, 4, 0, 5)) - del tmp6 - tmp13 += einsum(t2, (0, 1, 2, 3), tmp8, (4, 2), (4, 1, 0, 3)) * 0.5 - del tmp8 - tmp13 += einsum(t1, (0, 1), tmp9, (2, 3, 1, 4), (3, 2, 0, 4)) * -1 - del tmp9 - tmp13 += einsum(t1, (0, 1), tmp12, (0, 2, 3, 4), (2, 4, 3, 1)) * -1 - del tmp12 - l1new += einsum(l2, (0, 1, 2, 3), tmp13, (4, 2, 3, 0), (1, 4)) * -1 - del tmp13 - tmp18 = einsum(t1, (0, 1), l1, (2, 0), (2, 1)) * 2 - tmp18 += tmp17 - del tmp17 - l1new += einsum(v.ovvv, (0, 1, 2, 3), tmp18, (1, 2), (3, 0)) * -0.5 - del tmp18 - tmp22 = t1.copy() * -2 - tmp22 += einsum(l1, (0, 1), t2, (2, 1, 3, 0), (2, 3)) * -2 - tmp22 += einsum(t2, (0, 1, 2, 3), tmp1, (0, 1, 4, 2), (4, 3)) - tmp22 += einsum(t1, (0, 1), tmp21, (0, 2), (2, 1)) - del tmp21 - l1new += einsum(v.oovv, (0, 1, 2, 3), tmp22, (0, 2), (3, 1)) * -0.5 - del tmp22 - tmp14 = v.ovvv.transpose((0, 1, 3, 2)).copy() * -1 - tmp14 += einsum(t1, (0, 1), v.vvvv, (2, 1, 3, 4), (0, 2, 4, 3)) - l1new += einsum(tmp14, (0, 1, 2, 3), l2, (2, 3, 0, 4), (1, 4)) * 0.5 - del tmp14 - tmp25 = f.vv.transpose((1, 0)).copy() - tmp25 += tmp24 * -1 - del tmp24 - l1new += einsum(l1, (0, 1), tmp25, (0, 2), (2, 1)) - del tmp25 - tmp16 = einsum(l1, (0, 1), t2, (2, 3, 4, 0), (1, 3, 2, 4)) * -1 - tmp16 += einsum(tmp1, (0, 1, 2, 3), t2, (4, 1, 5, 3), (0, 4, 2, 5)) * -2 - del tmp1 - tmp16 += einsum(t1, (0, 1), tmp15, (0, 2, 3, 4), (2, 4, 3, 1)) * -1 - del tmp15 - l1new += einsum(v.oovv, (0, 1, 2, 3), tmp16, (4, 0, 1, 2), (3, 4)) * -0.5 - del tmp16 - tmp3 = einsum(t2, (0, 1, 2, 3), l2, (4, 3, 1, 5), (5, 0, 4, 2)) * -1 - l1new += einsum(tmp3, (0, 1, 2, 3), v.ovvv, (1, 2, 4, 3), (4, 0)) * -1 - del tmp3 - l1new += einsum(v.ovov, (0, 1, 2, 3), l1, (1, 2), (3, 0)) * -1 - l1new += f.ov.transpose((1, 0)) - l2new += v.oovv.transpose((3, 2, 1, 0)) - l2new += einsum(l2, (0, 1, 2, 3), v.vvvv, (4, 5, 0, 1), (5, 4, 3, 2)) * 0.5 - l2new += einsum(l1, (0, 1), f.ov, (2, 3), (3, 0, 2, 1)) - l2new += einsum(l1, (0, 1), f.ov, (2, 3), (0, 3, 2, 1)) * -1 - l2new += einsum(f.ov, (0, 1), l1, (2, 3), (1, 2, 3, 0)) * -1 - l2new += einsum(l1, (0, 1), f.ov, (2, 3), (0, 3, 1, 2)) - - return {f"l1new": l1new, f"l2new": l2new} - -def make_rdm1_f(l1=None, l2=None, t1=None, t2=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-07-25T21:21:04.048906. - - Parameters - ---------- - l1 : array - L1 amplitudes. - l2 : array - L2 amplitudes. - t1 : array - T1 amplitudes. - t2 : array - T2 amplitudes. - - Returns - ------- - rdm1 : array - One-particle reduced density matrix. - """ - - rdm1 = Namespace() - delta = Namespace( - oo=np.eye(t2.shape[0]), - vv=np.eye(t2.shape[-1]), - ) - tmp1 = einsum(l2, (0, 1, 2, 3), t2, (4, 3, 0, 1), (2, 4)) - rdm1.oo = tmp1.transpose((1, 0)).copy() * -0.5 - tmp0 = einsum(l1, (0, 1), t1, (2, 0), (1, 2)) - rdm1.oo += tmp0.transpose((1, 0)) * -1 - tmp2 = einsum(t1, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2)) - rdm1.ov = einsum(tmp2, (0, 1, 2, 3), t2, (0, 1, 4, 3), (2, 4)) * 0.5 - del tmp2 - tmp3 = tmp0.copy() * 2 - del tmp0 - tmp3 += tmp1 - del tmp1 - rdm1.ov += einsum(tmp3, (0, 1), t1, (0, 2), (1, 2)) * -0.5 - del tmp3 - rdm1.oo += delta.oo.transpose((1, 0)) - del delta - rdm1.ov += einsum(l1, (0, 1), t2, (2, 1, 3, 0), (2, 3)) - rdm1.ov += t1 - rdm1.vo = l1.copy() - rdm1.vv = einsum(t1, (0, 1), l1, (2, 0), (2, 1)) - rdm1.vv += einsum(t2, (0, 1, 2, 3), l2, (3, 4, 0, 1), (4, 2)) * -0.5 - rdm1 = np.block([[rdm1.oo, rdm1.ov], [rdm1.vo, rdm1.vv]]) - - return rdm1 - -def make_rdm2_f(l1=None, l2=None, t1=None, t2=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-07-25T21:21:09.965797. - - Parameters - ---------- - l1 : array - L1 amplitudes. - l2 : array - L2 amplitudes. - t1 : array - T1 amplitudes. - t2 : array - T2 amplitudes. - - Returns - ------- - rdm2 : array - Two-particle reduced density matrix. - """ - - rdm2 = Namespace() - delta = Namespace( - oo=np.eye(t2.shape[0]), - vv=np.eye(t2.shape[-1]), - ) - tmp3 = einsum(l1, (0, 1), t1, (2, 0), (1, 2)) - rdm2.oovo = einsum(tmp3, (0, 1), t1, (2, 3), (1, 2, 3, 0)) - rdm2.oovo += einsum(tmp3, (0, 1), t1, (2, 3), (2, 1, 3, 0)) * -1 - rdm2.ooov = einsum(tmp3, (0, 1), t1, (2, 3), (1, 2, 0, 3)) * -1 - rdm2.ooov += einsum(tmp3, (0, 1), t1, (2, 3), (2, 1, 0, 3)) - rdm2.oooo = einsum(tmp3, (0, 1), delta.oo, (2, 3), (3, 1, 2, 0)) * -1 - rdm2.oooo += einsum(delta.oo, (0, 1), tmp3, (2, 3), (3, 1, 0, 2)) - rdm2.oooo += einsum(tmp3, (0, 1), delta.oo, (2, 3), (3, 1, 0, 2)) - rdm2.oooo += einsum(tmp3, (0, 1), delta.oo, (2, 3), (1, 3, 0, 2)) * -1 - tmp1 = einsum(t1, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2)) - rdm2.vooo = tmp1.transpose((3, 2, 1, 0)).copy() - rdm2.ovoo = tmp1.transpose((2, 3, 1, 0)).copy() * -1 - tmp4 = einsum(l2, (0, 1, 2, 3), t2, (4, 3, 0, 1), (2, 4)) - rdm2.oovo += einsum(t1, (0, 1), tmp4, (2, 3), (3, 0, 1, 2)) * 0.5 - rdm2.oovo += einsum(t1, (0, 1), tmp4, (2, 3), (0, 3, 1, 2)) * -0.5 - rdm2.ooov += einsum(t1, (0, 1), tmp4, (2, 3), (3, 0, 2, 1)) * -0.5 - rdm2.ooov += einsum(t1, (0, 1), tmp4, (2, 3), (0, 3, 2, 1)) * 0.5 - rdm2.oooo += einsum(tmp4, (0, 1), delta.oo, (2, 3), (2, 1, 3, 0)) * -0.5 - rdm2.oooo += einsum(delta.oo, (0, 1), tmp4, (2, 3), (3, 1, 0, 2)) * 0.5 - rdm2.oooo += einsum(delta.oo, (0, 1), tmp4, (2, 3), (0, 3, 2, 1)) * 0.5 - rdm2.oooo += einsum(tmp4, (0, 1), delta.oo, (2, 3), (1, 3, 0, 2)) * -0.5 - tmp21 = einsum(t2, (0, 1, 2, 3), l2, (3, 4, 5, 1), (5, 0, 4, 2)) * -1 - rdm2.vovo = tmp21.transpose((2, 1, 3, 0)).copy() * -1 - rdm2.voov = tmp21.transpose((2, 1, 0, 3)).copy() - rdm2.ovvo = tmp21.transpose((1, 2, 3, 0)).copy() - rdm2.ovov = tmp21.transpose((1, 2, 0, 3)).copy() * -1 - tmp5 = einsum(l1, (0, 1), t2, (2, 3, 4, 0), (1, 2, 3, 4)) - rdm2.oovo += tmp5.transpose((2, 1, 3, 0)) - rdm2.ooov += tmp5.transpose((2, 1, 0, 3)) * -1 - tmp7 = einsum(tmp3, (0, 1), t1, (0, 2), (1, 2)) - tmp6 = einsum(l1, (0, 1), t2, (2, 1, 3, 0), (2, 3)) - tmp12 = einsum(tmp1, (0, 1, 2, 3), t2, (4, 1, 5, 3), (0, 2, 4, 5)) * -1 - rdm2.oovo += tmp12.transpose((2, 1, 3, 0)) * -1 - rdm2.oovo += tmp12.transpose((1, 2, 3, 0)) - rdm2.ooov += tmp12.transpose((2, 1, 0, 3)) - rdm2.ooov += tmp12.transpose((1, 2, 0, 3)) * -1 - tmp2 = einsum(tmp1, (0, 1, 2, 3), t1, (4, 3), (0, 1, 4, 2)) - rdm2.oooo += tmp2.transpose((2, 3, 1, 0)) * -1 - tmp0 = einsum(t2, (0, 1, 2, 3), l2, (2, 3, 4, 5), (4, 5, 0, 1)) - rdm2.oooo += tmp0.transpose((3, 2, 1, 0)) * 0.5 - tmp14 = tmp3.copy() * 2 - tmp14 += tmp4 - tmp30 = einsum(t1, (0, 1), l1, (2, 0), (2, 1)) - rdm2.ovvv = einsum(t1, (0, 1), tmp30, (2, 3), (0, 2, 3, 1)) * -1 - rdm2.ovvv += einsum(t1, (0, 1), tmp30, (2, 3), (0, 2, 1, 3)) - tmp25 = einsum(t2, (0, 1, 2, 3), l2, (3, 4, 0, 1), (4, 2)) * -1 - tmp29 = einsum(tmp1, (0, 1, 2, 3), t1, (1, 4), (0, 2, 3, 4)) - rdm2.vovo += tmp29.transpose((2, 1, 3, 0)) - rdm2.voov += tmp29.transpose((2, 1, 0, 3)) * -1 - rdm2.ovvo += tmp29.transpose((1, 2, 3, 0)) * -1 - rdm2.ovov += tmp29.transpose((1, 2, 0, 3)) - tmp36 = einsum(tmp21, (0, 1, 2, 3), t1, (0, 4), (1, 2, 4, 3)) - rdm2.vovv = tmp36.transpose((1, 0, 3, 2)).copy() * -1 - rdm2.vovv += tmp36.transpose((1, 0, 2, 3)) - tmp9 = einsum(t2, (0, 1, 2, 3), tmp1, (0, 1, 4, 3), (4, 2)) * -1 - tmp10 = einsum(t1, (0, 1), tmp4, (0, 2), (2, 1)) - tmp20 = einsum(t1, (0, 1), tmp5, (0, 2, 3, 4), (2, 3, 1, 4)) - del tmp5 - tmp22 = einsum(t2, (0, 1, 2, 3), tmp21, (1, 4, 3, 5), (0, 4, 2, 5)) - del tmp21 - tmp8 = tmp6.copy() - tmp8 += tmp7 * -1 - del tmp7 - rdm2.ooov += einsum(tmp8, (0, 1), delta.oo, (2, 3), (2, 0, 3, 1)) - rdm2.ooov += einsum(tmp8, (0, 1), delta.oo, (2, 3), (0, 3, 2, 1)) * -1 - tmp18 = einsum(t1, (0, 1), tmp12, (0, 2, 3, 4), (2, 3, 1, 4)) - del tmp12 - tmp13 = tmp0.transpose((1, 0, 3, 2)).copy() * -0.5 - tmp13 += tmp2.transpose((0, 1, 3, 2)) - rdm2.oovv = einsum(t2, (0, 1, 2, 3), tmp13, (0, 1, 4, 5), (5, 4, 3, 2)) * -0.5 - rdm2.ooov += einsum(t1, (0, 1), tmp13, (0, 2, 3, 4), (4, 3, 2, 1)) * -1 - tmp15 = einsum(t1, (0, 1), tmp14, (0, 2), (2, 1)) * 0.5 - del tmp14 - tmp38 = einsum(t1, (0, 1), l2, (2, 3, 4, 0), (4, 2, 3, 1)) - rdm2.vvvv = einsum(t1, (0, 1), tmp38, (0, 2, 3, 4), (2, 3, 1, 4)) - rdm2.vvvo = tmp38.transpose((2, 1, 3, 0)).copy() - rdm2.vvov = tmp38.transpose((2, 1, 0, 3)).copy() * -1 - del tmp38 - tmp34 = einsum(tmp1, (0, 1, 2, 3), t2, (0, 1, 4, 5), (2, 3, 4, 5)) - del tmp1 - rdm2.vovv += tmp34.transpose((1, 0, 3, 2)) * 0.5 - rdm2.ovvv += tmp34.transpose((0, 1, 3, 2)) * -0.5 - del tmp34 - tmp31 = tmp30.copy() - tmp31 += tmp25 * 0.5 - rdm2.vovv += einsum(t1, (0, 1), tmp31, (2, 3), (2, 0, 3, 1)) - rdm2.vovv += einsum(t1, (0, 1), tmp31, (2, 3), (2, 0, 1, 3)) * -1 - rdm2.voov += einsum(tmp31, (0, 1), delta.oo, (2, 3), (0, 3, 2, 1)) * -1 - rdm2.ovov += einsum(tmp31, (0, 1), delta.oo, (2, 3), (3, 0, 2, 1)) - del tmp31 - tmp35 = einsum(t1, (0, 1), tmp29, (0, 2, 3, 4), (2, 3, 4, 1)) * -1 - del tmp29 - rdm2.vovv += tmp35.transpose((1, 0, 3, 2)) - rdm2.ovvv += tmp35.transpose((0, 1, 3, 2)) * -1 - del tmp35 - tmp33 = einsum(t2, (0, 1, 2, 3), l1, (4, 1), (0, 4, 2, 3)) - rdm2.vovv += tmp33.transpose((1, 0, 3, 2)) - rdm2.ovvv += tmp33.transpose((0, 1, 3, 2)) * -1 - del tmp33 - tmp37 = tmp36.copy() - del tmp36 - tmp37 += einsum(t1, (0, 1), tmp25, (2, 3), (0, 2, 1, 3)) * -0.5 - rdm2.ovvv += tmp37.transpose((0, 1, 3, 2)) - rdm2.ovvv += tmp37 * -1 - del tmp37 - tmp32 = tmp30.copy() * 2 - del tmp30 - tmp32 += tmp25 - rdm2.vovo += einsum(tmp32, (0, 1), delta.oo, (2, 3), (0, 3, 1, 2)) * 0.5 - rdm2.ovvo += einsum(tmp32, (0, 1), delta.oo, (2, 3), (3, 0, 1, 2)) * -0.5 - del tmp32 - tmp11 = tmp9.copy() - tmp11 += tmp10 - del tmp10 - rdm2.oovv += einsum(t1, (0, 1), tmp11, (2, 3), (2, 0, 3, 1)) * -0.5 - rdm2.oovv += einsum(t1, (0, 1), tmp11, (2, 3), (2, 0, 1, 3)) * 0.5 - rdm2.oovv += einsum(t1, (0, 1), tmp11, (2, 3), (0, 2, 3, 1)) * 0.5 - rdm2.oovv += einsum(tmp11, (0, 1), t1, (2, 3), (2, 0, 3, 1)) * -0.5 - rdm2.ooov += einsum(tmp11, (0, 1), delta.oo, (2, 3), (2, 0, 3, 1)) * -0.5 - rdm2.ooov += einsum(tmp11, (0, 1), delta.oo, (2, 3), (0, 3, 2, 1)) * 0.5 - del tmp11 - tmp26 = einsum(tmp25, (0, 1), t2, (2, 3, 4, 0), (2, 3, 4, 1)) - del tmp25 - rdm2.oovv += tmp26.transpose((0, 1, 3, 2)) * 0.5 - rdm2.oovv += tmp26 * -0.5 - del tmp26 - tmp24 = einsum(tmp3, (0, 1), t2, (2, 0, 3, 4), (1, 2, 3, 4)) - del tmp3 - rdm2.oovv += tmp24.transpose((1, 0, 3, 2)) - rdm2.oovv += tmp24.transpose((0, 1, 3, 2)) * -1 - del tmp24 - tmp27 = einsum(t2, (0, 1, 2, 3), tmp4, (1, 4), (0, 4, 2, 3)) - del tmp4 - rdm2.oovv += tmp27.transpose((1, 0, 3, 2)) * -0.5 - rdm2.oovv += tmp27.transpose((0, 1, 3, 2)) * 0.5 - del tmp27 - tmp23 = tmp20.copy() - del tmp20 - tmp23 += tmp22 - del tmp22 - rdm2.oovv += tmp23.transpose((0, 1, 3, 2)) * -1 - rdm2.oovv += tmp23 - del tmp23 - tmp19 = tmp18.copy() - del tmp18 - tmp19 += einsum(t1, (0, 1), tmp8, (2, 3), (0, 2, 1, 3)) * -1 - del tmp8 - rdm2.oovv += tmp19.transpose((1, 0, 3, 2)) * -1 - rdm2.oovv += tmp19.transpose((1, 0, 2, 3)) - rdm2.oovv += tmp19.transpose((0, 1, 3, 2)) - rdm2.oovv += tmp19 * -1 - del tmp19 - tmp28 = einsum(t1, (0, 1), tmp13, (0, 2, 3, 4), (2, 4, 3, 1)) * -2 - del tmp13 - rdm2.oovv += einsum(t1, (0, 1), tmp28, (0, 2, 3, 4), (2, 3, 1, 4)) * 0.5 - del tmp28 - tmp17 = tmp0.transpose((1, 0, 3, 2)).copy() * -1 - del tmp0 - tmp17 += tmp2.transpose((0, 1, 3, 2)) * 2 - del tmp2 - rdm2.oovo += einsum(t1, (0, 1), tmp17, (0, 2, 3, 4), (4, 3, 1, 2)) * 0.5 - del tmp17 - tmp16 = tmp6.copy() * -1 - del tmp6 - tmp16 += tmp9 * 0.5 - del tmp9 - tmp16 += tmp15 - del tmp15 - rdm2.oovo += einsum(delta.oo, (0, 1), tmp16, (2, 3), (0, 2, 3, 1)) - rdm2.oovo += einsum(delta.oo, (0, 1), tmp16, (2, 3), (2, 1, 3, 0)) * -1 - del tmp16 - rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (1, 3, 0, 2)) - rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (3, 0, 1, 2)) * -1 - rdm2.ooov += einsum(t1, (0, 1), delta.oo, (2, 3), (0, 3, 2, 1)) * -1 - rdm2.ooov += einsum(delta.oo, (0, 1), t1, (2, 3), (1, 2, 0, 3)) - rdm2.oovo += einsum(t1, (0, 1), delta.oo, (2, 3), (0, 3, 1, 2)) - rdm2.oovo += einsum(delta.oo, (0, 1), t1, (2, 3), (1, 2, 3, 0)) * -1 - rdm2.ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (1, 2, 3, 0)) * -1 - rdm2.ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (1, 2, 0, 3)) - rdm2.vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 1, 3, 0)) - rdm2.vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 1, 0, 3)) * -1 - del delta - rdm2.oovv += t2.transpose((1, 0, 3, 2)) - rdm2.oovv += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 3, 1)) * -1 - rdm2.oovv += einsum(t1, (0, 1), t1, (2, 3), (2, 0, 3, 1)) - rdm2.ovov += einsum(t1, (0, 1), l1, (2, 3), (0, 2, 3, 1)) * -1 - rdm2.ovvo += einsum(t1, (0, 1), l1, (2, 3), (0, 2, 1, 3)) - rdm2.voov += einsum(t1, (0, 1), l1, (2, 3), (2, 0, 3, 1)) - rdm2.vovo += einsum(t1, (0, 1), l1, (2, 3), (2, 0, 1, 3)) * -1 - rdm2.vvoo = l2.transpose((1, 0, 3, 2)).copy() - rdm2.vvvv += einsum(l2, (0, 1, 2, 3), t2, (2, 3, 4, 5), (1, 0, 5, 4)) * 0.5 - rdm2 = pack_2e(rdm2.oooo, rdm2.ooov, rdm2.oovo, rdm2.ovoo, rdm2.vooo, rdm2.oovv, rdm2.ovov, rdm2.ovvo, rdm2.voov, rdm2.vovo, rdm2.vvoo, rdm2.ovvv, rdm2.vovv, rdm2.vvov, rdm2.vvvo, rdm2.vvvv) - rdm2 = rdm2.swapaxes(1, 2) - - return rdm2 - -def hbar_matvec_ip(f=None, r1=None, r2=None, t1=None, t2=None, v=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-07-25T21:21:13.562562. - - Parameters - ---------- - f : array - Fock matrix. - r1 : array - R1 amplitudes. - r2 : array - R2 amplitudes. - t1 : array - T1 amplitudes. - t2 : array - T2 amplitudes. - v : array - Electron repulsion integrals. - - Returns - ------- - r1new : array - Updated R1 residuals. - r2new : array - Updated R2 residuals. - """ - - tmp25 = einsum(r2, (0, 1, 2), v.oovv, (1, 3, 2, 4), (0, 3, 4)) - tmp23 = einsum(r1, (0,), v.ooov, (1, 0, 2, 3), (1, 2, 3)) - tmp2 = einsum(t1, (0, 1), v.oovv, (2, 0, 3, 1), (2, 3)) - tmp19 = einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 2, 3), (0, 4)) * -1 - tmp18 = einsum(t1, (0, 1), f.ov, (2, 1), (2, 0)) - tmp32 = einsum(t1, (0, 1), tmp25, (2, 3, 1), (2, 0, 3)) * -1 - tmp31 = einsum(tmp23, (0, 1, 2), t1, (3, 2), (3, 0, 1)) - tmp27 = einsum(t1, (0, 1), v.ooov, (0, 2, 3, 1), (2, 3)) * -1 - tmp28 = einsum(tmp2, (0, 1), t1, (2, 1), (2, 0)) - tmp10 = einsum(v.ooov, (0, 1, 2, 3), r2, (4, 0, 3), (4, 1, 2)) * -1 - tmp12 = einsum(v.ooov, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) - tmp16 = r2.transpose((1, 0, 2)).copy() * -1 - tmp16 += einsum(t1, (0, 1), r1, (2,), (2, 0, 1)) - tmp14 = einsum(v.ovvv, (0, 1, 2, 3), r2, (4, 0, 2), (4, 1, 3)) * -1 - tmp20 = tmp18.transpose((1, 0)).copy() * 2 - del tmp18 - tmp20 += tmp19 - del tmp19 - tmp0 = einsum(v.oovv, (0, 1, 2, 3), r1, (1,), (0, 2, 3)) - r1new = einsum(tmp0, (0, 1, 2), t2, (3, 0, 1, 2), (3,)) * 0.5 - tmp1 = einsum(t1, (0, 1), r1, (2,), (0, 2, 1)) - tmp1 += r2.transpose((1, 0, 2)) * 0.5 - r1new += einsum(v.ooov, (0, 1, 2, 3), tmp1, (0, 1, 3), (2,)) - tmp33 = tmp31.copy() - del tmp31 - tmp33 += tmp32.transpose((0, 2, 1)) - del tmp32 - tmp29 = tmp27.copy() - del tmp27 - tmp29 += tmp28.transpose((1, 0)) - del tmp28 - tmp7 = einsum(v.ovvv, (0, 1, 2, 3), r1, (0,), (1, 2, 3)) - tmp11 = einsum(tmp10, (0, 1, 2), t1, (1, 3), (0, 2, 3)) * -1 - del tmp10 - tmp13 = einsum(tmp12, (0, 1, 2, 3), r2, (1, 2, 4), (0, 3, 4)) - del tmp12 - tmp9 = einsum(r2, (0, 1, 2), f.oo, (3, 1), (3, 0, 2)) - tmp17 = einsum(tmp16, (0, 1, 2), v.ovov, (0, 3, 4, 2), (1, 4, 3)) - del tmp16 - tmp15 = einsum(tmp14, (0, 1, 2), t1, (3, 2), (0, 3, 1)) * -1 - del tmp14 - tmp21 = einsum(tmp20, (0, 1), r2, (1, 2, 3), (0, 2, 3)) * 0.5 - del tmp20 - tmp36 = einsum(t1, (0, 1), tmp0, (2, 3, 1), (0, 2, 3)) - del tmp0 - tmp5 = einsum(tmp1, (0, 1, 2), v.oovv, (0, 1, 2, 3), (3,)) * 2 - tmp4 = einsum(f.ov, (0, 1), r1, (0,), (1,)) - tmp24 = einsum(tmp23, (0, 1, 2), t2, (3, 0, 4, 2), (3, 1, 4)) * -1 - del tmp23 - tmp34 = einsum(t1, (0, 1), tmp33, (2, 0, 3), (2, 3, 1)) - del tmp33 - tmp30 = einsum(r2, (0, 1, 2), tmp29, (0, 3), (3, 1, 2)) - del tmp29 - tmp26 = einsum(tmp25, (0, 1, 2), t2, (3, 1, 4, 2), (0, 3, 4)) - del tmp25 - tmp41 = t2.transpose((1, 0, 3, 2)).copy() - tmp41 += einsum(t1, (0, 1), t1, (2, 3), (2, 0, 3, 1)) * 2 - tmp39 = einsum(t1, (0, 1), v.oovv, (2, 3, 4, 1), (0, 2, 3, 4)) - tmp8 = einsum(t1, (0, 1), tmp7, (2, 1, 3), (0, 2, 3)) * -1 - r2new = einsum(t1, (0, 1), tmp8, (2, 3, 1), (0, 2, 3)) * -1 - del tmp8 - tmp22 = tmp9.copy() - del tmp9 - tmp22 += tmp11 - del tmp11 - tmp22 += tmp13 * -0.5 - del tmp13 - tmp22 += tmp15 - del tmp15 - tmp22 += tmp17 - del tmp17 - tmp22 += tmp21.transpose((1, 0, 2)) - del tmp21 - r2new += tmp22.transpose((1, 0, 2)) * -1 - r2new += tmp22 - del tmp22 - tmp43 = einsum(v.oooo, (0, 1, 2, 3), r1, (2,), (1, 0, 3)) - tmp43 += einsum(tmp36, (0, 1, 2), t1, (3, 2), (0, 3, 1)) * -1 - r2new += einsum(t1, (0, 1), tmp43, (2, 3, 0), (3, 2, 1)) - del tmp43 - tmp6 = tmp4.copy() * 2 - del tmp4 - tmp6 += tmp5 - del tmp5 - r2new += einsum(t2, (0, 1, 2, 3), tmp6, (2,), (1, 0, 3)) * 0.5 - r1new += einsum(t1, (0, 1), tmp6, (1,), (0,)) * -0.5 - del tmp6 - tmp35 = tmp24.copy() * -1 - del tmp24 - tmp35 += tmp26 * -1 - del tmp26 - tmp35 += tmp30.transpose((1, 0, 2)) * -1 - del tmp30 - tmp35 += tmp34 * -1 - del tmp34 - r2new += tmp35.transpose((1, 0, 2)) - r2new += tmp35 * -1 - del tmp35 - tmp38 = tmp7.transpose((0, 2, 1)).copy() - del tmp7 - tmp38 += einsum(tmp1, (0, 1, 2), v.oovv, (0, 1, 3, 4), (2, 4, 3)) - del tmp1 - r2new += einsum(t2, (0, 1, 2, 3), tmp38, (4, 2, 3), (1, 0, 4)) * -0.5 - del tmp38 - tmp42 = f.vv.transpose((1, 0)).copy() * -1 - tmp42 += einsum(t1, (0, 1), f.ov, (0, 2), (2, 1)) - tmp42 += einsum(t1, (0, 1), v.ovvv, (0, 2, 1, 3), (3, 2)) * -1 - tmp42 += einsum(v.oovv, (0, 1, 2, 3), tmp41, (0, 1, 2, 4), (3, 4)) * 0.5 - del tmp41 - r2new += einsum(tmp42, (0, 1), r2, (2, 3, 0), (3, 2, 1)) - del tmp42 - tmp40 = v.oooo.transpose((2, 3, 1, 0)).copy() * -1 - tmp40 += einsum(tmp39, (0, 1, 2, 3), t1, (4, 3), (2, 1, 4, 0)) * -1 - del tmp39 - r2new += einsum(tmp40, (0, 1, 2, 3), r2, (0, 1, 4), (2, 3, 4)) * 0.5 - del tmp40 - tmp37 = einsum(t2, (0, 1, 2, 3), tmp36, (4, 1, 3), (4, 0, 2)) - del tmp36 - r2new += tmp37.transpose((1, 0, 2)) - r2new += tmp37 * -1 - del tmp37 - tmp3 = f.ov.copy() - tmp3 += tmp2 - del tmp2 - r1new += einsum(r2, (0, 1, 2), tmp3, (0, 2), (1,)) * -1 - del tmp3 - r1new += einsum(f.oo, (0, 1), r1, (1,), (0,)) * -1 - r2new += einsum(r1, (0,), v.ooov, (1, 2, 0, 3), (2, 1, 3)) - - return r1new, r2new - -def hbar_matvec_ea(f=None, r1=None, r2=None, t1=None, t2=None, v=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-07-25T21:21:17.233378. - - Parameters - ---------- - f : array - Fock matrix. - r1 : array - R1 amplitudes. - r2 : array - R2 amplitudes. - t1 : array - T1 amplitudes. - t2 : array - T2 amplitudes. - v : array - Electron repulsion integrals. - - Returns - ------- - r1new : array - Updated R1 residuals. - r2new : array - Updated R2 residuals. - """ - - tmp2 = einsum(t1, (0, 1), v.oovv, (2, 0, 3, 1), (2, 3)) - tmp30 = einsum(t1, (0, 1), f.ov, (0, 2), (2, 1)) - tmp31 = einsum(v.oovv, (0, 1, 2, 3), t2, (0, 1, 4, 2), (4, 3)) * -1 - tmp14 = einsum(t1, (0, 1), tmp2, (0, 2), (1, 2)) - tmp13 = einsum(t1, (0, 1), v.ovvv, (0, 2, 1, 3), (2, 3)) * -1 - tmp7 = einsum(t1, (0, 1), v.oovv, (2, 3, 4, 1), (0, 2, 3, 4)) - tmp10 = r2.transpose((2, 1, 0)).copy() * -1 - tmp10 += einsum(r1, (0,), t1, (1, 2), (1, 0, 2)) - tmp22 = einsum(t1, (0, 1), v.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) - tmp21 = einsum(t1, (0, 1), v.ooov, (2, 0, 3, 4), (2, 3, 1, 4)) - tmp26 = einsum(r2, (0, 1, 2), v.ovvv, (3, 4, 0, 1), (2, 3, 4)) - tmp32 = tmp30.transpose((1, 0)).copy() - del tmp30 - tmp32 += tmp31 * 0.5 - del tmp31 - tmp28 = r2.transpose((2, 1, 0)).copy() * -1 - tmp28 += einsum(r1, (0,), t1, (1, 2), (1, 0, 2)) - tmp15 = tmp13.copy() - del tmp13 - tmp15 += tmp14 - del tmp14 - tmp8 = einsum(tmp7, (0, 1, 2, 3), r2, (4, 3, 1), (0, 2, 4)) * -1 - del tmp7 - tmp11 = einsum(v.oovv, (0, 1, 2, 3), tmp10, (0, 2, 4), (1, 4, 3)) - del tmp10 - tmp23 = tmp21.transpose((1, 0, 2, 3)).copy() - del tmp21 - tmp23 += tmp22 - del tmp22 - tmp19 = t2.transpose((1, 0, 3, 2)).copy() - tmp19 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 3, 1)) * -1 - tmp18 = einsum(v.ovvv, (0, 1, 2, 3), r1, (3,), (0, 1, 2)) - tmp35 = einsum(t1, (0, 1), r1, (2,), (0, 1, 2)) * 2 - tmp35 += r2.transpose((2, 1, 0)) - r2new = einsum(tmp35, (0, 1, 2), v.vvvv, (1, 2, 3, 4), (3, 4, 0)) * -0.5 - tmp27 = einsum(t1, (0, 1), tmp26, (2, 0, 3), (2, 1, 3)) - del tmp26 - tmp33 = einsum(tmp32, (0, 1), r2, (1, 2, 3), (3, 0, 2)) - del tmp32 - tmp29 = einsum(tmp28, (0, 1, 2), v.ovov, (0, 3, 4, 1), (4, 2, 3)) - del tmp28 - tmp38 = t2.transpose((1, 0, 3, 2)).copy() - tmp38 += einsum(t1, (0, 1), t1, (2, 3), (2, 0, 3, 1)) * 2 - tmp16 = einsum(tmp15, (0, 1), r2, (1, 2, 3), (3, 0, 2)) - del tmp15 - tmp9 = einsum(t1, (0, 1), tmp8, (2, 0, 3), (2, 3, 1)) * -1 - del tmp8 - tmp6 = einsum(f.vv, (0, 1), r2, (2, 1, 3), (3, 0, 2)) - tmp12 = einsum(tmp11, (0, 1, 2), t2, (0, 3, 2, 4), (3, 1, 4)) * -1 - del tmp11 - tmp24 = einsum(r2, (0, 1, 2), tmp23, (3, 2, 4, 0), (3, 4, 1)) - del tmp23 - tmp20 = einsum(tmp19, (0, 1, 2, 3), tmp18, (0, 4, 2), (1, 3, 4)) - del tmp19, tmp18 - tmp1 = einsum(t1, (0, 1), r1, (2,), (0, 1, 2)) - tmp1 += r2.transpose((2, 1, 0)) * 0.5 - r1new = einsum(tmp1, (0, 1, 2), v.ovvv, (0, 3, 1, 2), (3,)) - tmp4 = einsum(r1, (0,), f.ov, (1, 0), (1,)) - tmp36 = einsum(r1, (0,), v.ooov, (1, 2, 3, 0), (2, 1, 3)) * 2 - tmp36 += einsum(tmp35, (0, 1, 2), v.oovv, (3, 4, 1, 2), (4, 3, 0)) - del tmp35 - tmp34 = tmp27.copy() * 0.5 - del tmp27 - tmp34 += tmp29 * -1 - del tmp29 - tmp34 += tmp33.transpose((0, 2, 1)) * -1 - del tmp33 - r2new += tmp34.transpose((2, 1, 0)) - r2new += tmp34.transpose((1, 2, 0)) * -1 - del tmp34 - tmp39 = f.oo.transpose((1, 0)).copy() - tmp39 += einsum(t1, (0, 1), f.ov, (2, 1), (2, 0)) - tmp39 += einsum(t1, (0, 1), v.ooov, (0, 2, 3, 1), (2, 3)) * -1 - tmp39 += einsum(tmp38, (0, 1, 2, 3), v.oovv, (0, 4, 2, 3), (4, 1)) * 0.5 - del tmp38 - r2new += einsum(r2, (0, 1, 2), tmp39, (2, 3), (1, 0, 3)) - del tmp39 - tmp17 = tmp6.copy() - del tmp6 - tmp17 += tmp9 - del tmp9 - tmp17 += tmp12 * -1 - del tmp12 - tmp17 += tmp16.transpose((0, 2, 1)) * -1 - del tmp16 - r2new += tmp17.transpose((2, 1, 0)) - r2new += tmp17.transpose((1, 2, 0)) * -1 - del tmp17 - tmp25 = tmp20.copy() * -1 - del tmp20 - tmp25 += tmp24.transpose((0, 2, 1)) * -1 - del tmp24 - r2new += tmp25.transpose((2, 1, 0)) * -1 - r2new += tmp25.transpose((1, 2, 0)) - del tmp25 - tmp40 = tmp4.copy() * 2 - tmp40 += einsum(tmp1, (0, 1, 2), v.oovv, (0, 3, 1, 2), (3,)) * 2 - r2new += einsum(tmp40, (0,), t2, (0, 1, 2, 3), (3, 2, 1)) * 0.5 - del tmp40 - tmp37 = t2.transpose((1, 0, 3, 2)).copy() * 0.5 - tmp37 += einsum(t1, (0, 1), t1, (2, 3), (2, 0, 3, 1)) - r2new += einsum(tmp36, (0, 1, 2), tmp37, (0, 1, 3, 4), (4, 3, 2)) * -0.5 - del tmp36, tmp37 - tmp5 = tmp4.copy() - del tmp4 - tmp5 += einsum(tmp1, (0, 1, 2), v.oovv, (0, 3, 1, 2), (3,)) - del tmp1 - r1new += einsum(t1, (0, 1), tmp5, (0,), (1,)) * -1 - del tmp5 - tmp0 = einsum(v.oovv, (0, 1, 2, 3), r1, (3,), (0, 1, 2)) - r1new += einsum(tmp0, (0, 1, 2), t2, (0, 1, 3, 2), (3,)) * 0.5 - del tmp0 - tmp3 = f.ov.copy() - tmp3 += tmp2 - del tmp2 - r1new += einsum(tmp3, (0, 1), r2, (1, 2, 0), (2,)) * -1 - del tmp3 - r1new += einsum(f.vv, (0, 1), r1, (1,), (0,)) - r2new += einsum(v.ovvv, (0, 1, 2, 3), r1, (1,), (3, 2, 0)) - - return r1new, r2new - -def hbar_matvec_ee(f=None, r1=None, r2=None, t1=None, t2=None, v=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-07-25T21:21:27.294527. - - Parameters - ---------- - f : array - Fock matrix. - r1 : array - R1 amplitudes. - r2 : array - R2 amplitudes. - t1 : array - T1 amplitudes. - t2 : array - T2 amplitudes. - v : array - Electron repulsion integrals. - - Returns - ------- - r1new : array - Updated R1 residuals. - r2new : array - Updated R2 residuals. - """ - - tmp27 = einsum(t1, (0, 1), v.oovv, (2, 0, 3, 4), (2, 1, 3, 4)) - tmp28 = v.ovvv.transpose((0, 1, 3, 2)).copy() * -1 - tmp28 += tmp27.transpose((0, 1, 3, 2)) - tmp2 = einsum(t1, (0, 1), v.oovv, (2, 3, 4, 1), (0, 2, 3, 4)) - tmp5 = einsum(t1, (0, 1), v.oovv, (2, 0, 3, 1), (2, 3)) - tmp48 = r2.transpose((1, 0, 3, 2)).copy() * 0.5 - tmp48 += einsum(r1, (0, 1), t1, (2, 3), (2, 0, 3, 1)) - tmp79 = einsum(t1, (0, 1), v.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) - tmp32 = einsum(t1, (0, 1), f.ov, (0, 2), (2, 1)) - tmp33 = einsum(v.oovv, (0, 1, 2, 3), t2, (0, 1, 4, 2), (4, 3)) * -1 - tmp29 = einsum(t2, (0, 1, 2, 3), tmp28, (4, 5, 2, 3), (4, 0, 1, 5)) * 0.5 - del tmp28 - tmp26 = einsum(t2, (0, 1, 2, 3), f.ov, (4, 3), (4, 0, 1, 2)) - tmp91 = einsum(t1, (0, 1), v.ooov, (2, 0, 3, 4), (2, 3, 1, 4)) - tmp95 = t2.transpose((1, 0, 3, 2)).copy() - tmp95 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 3, 1)) * -1 - tmp0 = einsum(r1, (0, 1), v.oovv, (2, 0, 3, 1), (2, 3)) - r1new = einsum(tmp0, (0, 1), t2, (2, 0, 3, 1), (2, 3)) - tmp58 = einsum(t1, (0, 1), tmp2, (2, 3, 4, 1), (2, 0, 4, 3)) - tmp62 = einsum(tmp5, (0, 1), t1, (0, 2), (2, 1)) - tmp61 = einsum(t1, (0, 1), v.ovvv, (0, 2, 1, 3), (2, 3)) * -1 - tmp11 = einsum(r1, (0, 1), f.ov, (2, 1), (2, 0)) - tmp49 = einsum(v.oovv, (0, 1, 2, 3), tmp48, (0, 4, 2, 3), (4, 1)) * 2 - del tmp48 - tmp7 = einsum(t1, (0, 1), f.ov, (2, 1), (2, 0)) - tmp52 = einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 2, 3), (0, 4)) * -1 - tmp42 = einsum(v.ooov, (0, 1, 2, 3), r1, (4, 3), (4, 0, 1, 2)) - tmp45 = v.ooov.transpose((1, 0, 2, 3)).copy() * -1 - tmp45 += tmp2.transpose((2, 1, 0, 3)) - tmp69 = einsum(r1, (0, 1), tmp2, (2, 3, 4, 1), (0, 2, 4, 3)) * -1 - tmp8 = einsum(t1, (0, 1), v.ooov, (0, 2, 3, 1), (2, 3)) * -1 - tmp72 = einsum(tmp5, (0, 1), t1, (2, 1), (2, 0)) - tmp78 = einsum(t1, (0, 1), v.oooo, (2, 3, 4, 0), (2, 3, 4, 1)) - tmp80 = einsum(t1, (0, 1), tmp79, (2, 3, 4, 1), (2, 0, 3, 4)) * -1 - tmp81 = einsum(tmp5, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4)) * -1 - tmp18 = r2.transpose((1, 0, 3, 2)).copy() * -1 - tmp18 += einsum(r1, (0, 1), t1, (2, 3), (0, 2, 3, 1)) - tmp18 += einsum(t1, (0, 1), r1, (2, 3), (0, 2, 3, 1)) - tmp22 = einsum(r2, (0, 1, 2, 3), v.ovvv, (4, 5, 2, 3), (0, 1, 4, 5)) - tmp34 = tmp32.transpose((1, 0)).copy() - del tmp32 - tmp34 += tmp33 * 0.5 - del tmp33 - tmp24 = einsum(r2, (0, 1, 2, 3), v.oovv, (0, 1, 3, 4), (2, 4)) * -1 - tmp30 = tmp26.transpose((0, 2, 1, 3)).copy() - del tmp26 - tmp30 += tmp29.transpose((0, 2, 1, 3)) * -1 - del tmp29 - tmp92 = tmp91.copy() - del tmp91 - tmp92 += tmp79.transpose((1, 0, 2, 3)) - del tmp79 - tmp97 = einsum(v.ooov, (0, 1, 2, 3), tmp95, (0, 4, 3, 5), (1, 2, 4, 5)) - tmp94 = einsum(v.ovvv, (0, 1, 2, 3), r1, (4, 3), (4, 0, 1, 2)) - tmp56 = einsum(tmp0, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4)) * -1 - tmp59 = einsum(t1, (0, 1), tmp58, (2, 3, 4, 0), (2, 3, 4, 1)) - del tmp58 - tmp63 = tmp61.copy() - del tmp61 - tmp63 += tmp62 - del tmp62 - tmp50 = tmp11.transpose((1, 0)).copy() * 2 - tmp50 += tmp49 - del tmp49 - tmp53 = tmp7.transpose((1, 0)).copy() * 2 - tmp53 += tmp52 - del tmp52 - tmp43 = einsum(t1, (0, 1), tmp42, (2, 0, 3, 4), (2, 3, 4, 1)) * -1 - del tmp42 - tmp37 = einsum(v.vvvv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) - tmp12 = einsum(v.ooov, (0, 1, 2, 3), r1, (0, 3), (1, 2)) * -1 - tmp46 = einsum(r1, (0, 1), tmp45, (2, 3, 4, 1), (2, 3, 4, 0)) - del tmp45 - tmp39 = einsum(v.ooov, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) - tmp70 = einsum(t1, (0, 1), tmp69, (2, 3, 4, 0), (2, 3, 4, 1)) - del tmp69 - tmp73 = tmp8.copy() - tmp73 += tmp72.transpose((1, 0)) - del tmp72 - tmp67 = einsum(tmp0, (0, 1), t1, (2, 1), (2, 0)) * -1 - del tmp0 - tmp82 = tmp78.transpose((1, 0, 2, 3)).copy() - del tmp78 - tmp82 += tmp80 - del tmp80 - tmp82 += tmp81 - del tmp81 - tmp76 = einsum(v.ovvv, (0, 1, 2, 3), r1, (0, 2), (1, 3)) * -1 - tmp16 = einsum(r2, (0, 1, 2, 3), tmp2, (4, 1, 5, 3), (0, 4, 5, 2)) * -1 - tmp19 = einsum(v.oovv, (0, 1, 2, 3), tmp18, (0, 4, 2, 5), (4, 1, 5, 3)) - del tmp18 - tmp23 = einsum(tmp22, (0, 1, 2, 3), t1, (2, 4), (0, 1, 4, 3)) - del tmp22 - tmp35 = einsum(r2, (0, 1, 2, 3), tmp34, (4, 2), (0, 1, 4, 3)) - del tmp34 - tmp25 = einsum(t2, (0, 1, 2, 3), tmp24, (4, 3), (0, 1, 4, 2)) * -1 - del tmp24 - tmp31 = einsum(tmp30, (0, 1, 2, 3), r1, (0, 4), (1, 2, 3, 4)) - del tmp30 - tmp89 = r2.transpose((1, 0, 3, 2)).copy() * -1 - tmp89 += einsum(r1, (0, 1), t1, (2, 3), (0, 2, 3, 1)) - tmp89 += einsum(t1, (0, 1), r1, (2, 3), (0, 2, 3, 1)) - tmp93 = einsum(tmp92, (0, 1, 2, 3), r2, (0, 4, 3, 5), (1, 4, 2, 5)) - del tmp92 - tmp98 = einsum(r1, (0, 1), tmp97, (0, 2, 3, 4), (3, 2, 4, 1)) * -1 - del tmp97 - tmp96 = einsum(tmp95, (0, 1, 2, 3), tmp94, (4, 0, 5, 2), (4, 1, 5, 3)) - del tmp95, tmp94 - tmp57 = einsum(t1, (0, 1), tmp56, (2, 3, 0, 4), (2, 3, 1, 4)) * -1 - del tmp56 - tmp60 = einsum(tmp59, (0, 1, 2, 3), r1, (2, 4), (1, 0, 4, 3)) * -1 - del tmp59 - tmp64 = einsum(r2, (0, 1, 2, 3), tmp63, (4, 2), (0, 1, 4, 3)) - del tmp63 - tmp9 = t2.transpose((1, 0, 3, 2)).copy() - tmp9 += einsum(t1, (0, 1), t1, (2, 3), (2, 0, 3, 1)) * 2 - tmp51 = einsum(tmp50, (0, 1), t2, (1, 2, 3, 4), (0, 2, 3, 4)) * 0.5 - del tmp50 - tmp54 = einsum(tmp53, (0, 1), r2, (1, 2, 3, 4), (0, 2, 3, 4)) * 0.5 - del tmp53 - tmp44 = einsum(t1, (0, 1), tmp43, (2, 0, 3, 4), (2, 3, 4, 1)) * -1 - del tmp43 - tmp38 = einsum(tmp37, (0, 1, 2, 3), r1, (4, 3), (4, 0, 1, 2)) - del tmp37 - tmp41 = einsum(t2, (0, 1, 2, 3), tmp12, (1, 4), (0, 4, 2, 3)) * -1 - tmp47 = einsum(tmp46, (0, 1, 2, 3), t2, (1, 0, 4, 5), (3, 2, 4, 5)) * -0.5 - del tmp46 - tmp40 = einsum(r2, (0, 1, 2, 3), tmp39, (4, 0, 1, 5), (4, 5, 2, 3)) - del tmp39 - tmp71 = einsum(tmp70, (0, 1, 2, 3), t1, (2, 4), (0, 1, 3, 4)) * -1 - del tmp70 - tmp74 = einsum(tmp73, (0, 1), r2, (0, 2, 3, 4), (1, 2, 3, 4)) - del tmp73 - tmp66 = einsum(v.ovvv, (0, 1, 2, 3), r1, (4, 1), (4, 0, 2, 3)) - tmp68 = einsum(tmp67, (0, 1), t2, (2, 1, 3, 4), (0, 2, 3, 4)) * -1 - del tmp67 - tmp83 = einsum(tmp82, (0, 1, 2, 3), r1, (2, 4), (0, 1, 3, 4)) - del tmp82 - tmp77 = einsum(tmp76, (0, 1), t2, (2, 3, 4, 1), (2, 3, 4, 0)) * -1 - del tmp76 - tmp86 = einsum(r2, (0, 1, 2, 3), f.vv, (4, 3), (0, 1, 4, 2)) - tmp85 = einsum(v.ooov, (0, 1, 2, 3), r1, (2, 4), (0, 1, 4, 3)) - tmp17 = einsum(t1, (0, 1), tmp16, (2, 3, 0, 4), (2, 3, 4, 1)) * -1 - del tmp16 - tmp20 = einsum(tmp19, (0, 1, 2, 3), t2, (1, 4, 3, 5), (0, 4, 2, 5)) - del tmp19 - tmp13 = r2.transpose((1, 0, 3, 2)).copy() - tmp13 += einsum(r1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) * 2 - tmp13 += einsum(r1, (0, 1), t1, (2, 3), (2, 0, 3, 1)) * 2 - tmp88 = einsum(f.oo, (0, 1), r2, (2, 1, 3, 4), (0, 2, 3, 4)) - r2new = tmp88.transpose((1, 0, 3, 2)).copy() - r2new += tmp88.transpose((0, 1, 3, 2)) * -1 - del tmp88 - tmp36 = tmp23.copy() * 0.5 - del tmp23 - tmp36 += tmp25 * 0.5 - del tmp25 - tmp36 += tmp31.transpose((1, 0, 3, 2)) * -1 - del tmp31 - tmp36 += tmp35.transpose((1, 0, 3, 2)) - del tmp35 - r2new += tmp36.transpose((0, 1, 3, 2)) - r2new += tmp36 * -1 - del tmp36 - tmp90 = einsum(tmp89, (0, 1, 2, 3), v.ovov, (0, 4, 5, 2), (1, 5, 3, 4)) - del tmp89 - r2new += tmp90.transpose((1, 0, 3, 2)) - r2new += tmp90.transpose((1, 0, 2, 3)) * -1 - r2new += tmp90.transpose((0, 1, 3, 2)) * -1 - r2new += tmp90 - del tmp90 - tmp99 = tmp93.transpose((1, 0, 3, 2)).copy() - del tmp93 - tmp99 += tmp96.transpose((0, 1, 3, 2)) * -1 - del tmp96 - tmp99 += tmp98.transpose((0, 1, 3, 2)) - del tmp98 - r2new += tmp99.transpose((1, 0, 3, 2)) - r2new += tmp99.transpose((1, 0, 2, 3)) * -1 - r2new += tmp99.transpose((0, 1, 3, 2)) * -1 - r2new += tmp99 - del tmp99 - tmp65 = tmp57.copy() * -1 - del tmp57 - tmp65 += tmp60 * -1 - del tmp60 - tmp65 += tmp64.transpose((1, 0, 3, 2)) - del tmp64 - r2new += tmp65.transpose((0, 1, 3, 2)) - r2new += tmp65 * -1 - del tmp65 - tmp100 = v.oooo.transpose((2, 3, 1, 0)).copy() * -1 - tmp100 += einsum(tmp9, (0, 1, 2, 3), v.oovv, (4, 5, 2, 3), (5, 4, 1, 0)) * 0.5 - r2new += einsum(tmp100, (0, 1, 2, 3), r2, (0, 1, 4, 5), (2, 3, 5, 4)) * -0.5 - del tmp100 - tmp55 = tmp38.transpose((0, 1, 3, 2)).copy() - del tmp38 - tmp55 += tmp40.transpose((0, 1, 3, 2)) * -0.5 - del tmp40 - tmp55 += tmp41.transpose((0, 1, 3, 2)) - del tmp41 - tmp55 += tmp44.transpose((0, 1, 3, 2)) * -1 - del tmp44 - tmp55 += tmp47.transpose((0, 1, 3, 2)) * -1 - del tmp47 - tmp55 += tmp51.transpose((0, 1, 3, 2)) * -1 - del tmp51 - tmp55 += tmp54.transpose((1, 0, 3, 2)) - del tmp54 - r2new += tmp55.transpose((1, 0, 2, 3)) - r2new += tmp55 * -1 - del tmp55 - tmp101 = v.vvvv.transpose((2, 3, 1, 0)).copy() * -1 - tmp101 += einsum(t1, (0, 1), tmp27, (0, 2, 3, 4), (4, 3, 1, 2)) * -1 - del tmp27 - r2new += einsum(r2, (0, 1, 2, 3), tmp101, (2, 3, 4, 5), (1, 0, 4, 5)) * -0.5 - del tmp101 - tmp75 = tmp66.transpose((0, 1, 3, 2)).copy() * -1 - del tmp66 - tmp75 += tmp68.transpose((0, 1, 3, 2)) - del tmp68 - tmp75 += tmp71.transpose((0, 1, 3, 2)) - del tmp71 - tmp75 += tmp74.transpose((1, 0, 3, 2)) - del tmp74 - r2new += tmp75.transpose((1, 0, 2, 3)) - r2new += tmp75 * -1 - del tmp75 - tmp15 = einsum(r2, (0, 1, 2, 3), v.oovv, (4, 5, 2, 3), (0, 1, 4, 5)) - r2new += einsum(tmp15, (0, 1, 2, 3), t2, (2, 3, 4, 5), (1, 0, 5, 4)) * 0.25 - del tmp15 - tmp84 = tmp77.copy() - del tmp77 - tmp84 += tmp83.transpose((0, 1, 3, 2)) * -1 - del tmp83 - r2new += tmp84.transpose((0, 1, 3, 2)) * -1 - r2new += tmp84 - del tmp84 - tmp87 = tmp85.transpose((1, 0, 2, 3)).copy() * -1 - del tmp85 - tmp87 += tmp86.transpose((1, 0, 2, 3)) * -1 - del tmp86 - r2new += tmp87.transpose((0, 1, 3, 2)) - r2new += tmp87 * -1 - del tmp87 - tmp21 = tmp17.copy() - del tmp17 - tmp21 += tmp20 - del tmp20 - r2new += tmp21.transpose((1, 0, 3, 2)) * -1 - r2new += tmp21.transpose((1, 0, 2, 3)) - r2new += tmp21.transpose((0, 1, 3, 2)) - r2new += tmp21 * -1 - del tmp21 - tmp10 = f.oo.transpose((1, 0)).copy() - tmp10 += tmp7 - del tmp7 - tmp10 += tmp8 - del tmp8 - tmp10 += einsum(v.oovv, (0, 1, 2, 3), tmp9, (0, 4, 2, 3), (1, 4)) * 0.5 - del tmp9 - r1new += einsum(r1, (0, 1), tmp10, (0, 2), (2, 1)) * -1 - del tmp10 - tmp4 = r2.transpose((1, 0, 3, 2)).copy() * 0.5 - tmp4 += einsum(r1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) - tmp4 += einsum(r1, (0, 1), t1, (2, 3), (2, 0, 3, 1)) - r1new += einsum(tmp4, (0, 1, 2, 3), v.ovvv, (0, 4, 2, 3), (1, 4)) - del tmp4 - tmp6 = f.ov.copy() - tmp6 += tmp5 - del tmp5 - r1new += einsum(r2, (0, 1, 2, 3), tmp6, (0, 2), (1, 3)) - del tmp6 - tmp1 = einsum(r1, (0, 1), v.oovv, (2, 3, 4, 1), (0, 2, 3, 4)) - r1new += einsum(tmp1, (0, 1, 2, 3), t2, (1, 2, 4, 3), (0, 4)) * 0.5 - del tmp1 - tmp14 = tmp11.copy() * 2 - del tmp11 - tmp14 += tmp12 * 2 - del tmp12 - tmp14 += einsum(tmp13, (0, 1, 2, 3), v.oovv, (0, 4, 2, 3), (4, 1)) - del tmp13 - r1new += einsum(t1, (0, 1), tmp14, (0, 2), (2, 1)) * -0.5 - del tmp14 - tmp3 = v.ooov.transpose((2, 1, 0, 3)).copy() - tmp3 += tmp2.transpose((0, 2, 1, 3)) * -1 - del tmp2 - r1new += einsum(tmp3, (0, 1, 2, 3), r2, (1, 2, 3, 4), (0, 4)) * -0.5 - del tmp3 - r1new += einsum(r1, (0, 1), v.ovov, (2, 1, 0, 3), (2, 3)) * -1 - r1new += einsum(r1, (0, 1), f.vv, (2, 1), (0, 2)) - - return r1new, r2new - diff --git a/ebcc/codegen/GCCSDtp.py b/ebcc/codegen/GCCSDtp.py deleted file mode 100644 index 73ffe3ea..00000000 --- a/ebcc/codegen/GCCSDtp.py +++ /dev/null @@ -1,587 +0,0 @@ -""" -Code generated by `albert`: -https://github.com/obackhouse/albert - - * date: 2024-07-23T22:16:34.712576 - * python version: 3.10.12 (main, Mar 22 2024, 16:50:05) [GCC 11.4.0] - * albert version: 0.0.0 - * caller: /home/ollie/git/albert/albert/codegen/einsum.py - * node: ollie-desktop - * system: Linux - * processor: x86_64 - * release: 6.5.0-44-generic -""" - -from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, direct_sum, Namespace - - -def energy(f=None, t1=None, t2=None, v=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-07-23T22:16:34.857828. - - Parameters - ---------- - f : array - Fock matrix. - t1 : array - T1 amplitudes. - t2 : array - T2 amplitudes. - v : array - Electron repulsion integrals. - - Returns - ------- - e_cc : float - Coupled cluster energy. - """ - - tmp0 = t2.copy() - tmp0 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) * 2 - e_cc = einsum(tmp0, (0, 1, 2, 3), v.oovv, (0, 1, 2, 3), ()) * 0.25 - del tmp0 - e_cc += einsum(t1, (0, 1), f.ov, (0, 1), ()) - - return e_cc - -def update_amps(f=None, t1=None, t2=None, t3=None, v=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-07-23T22:16:42.956417. - - Parameters - ---------- - f : array - Fock matrix. - t1 : array - T1 amplitudes. - t2 : array - T2 amplitudes. - t3 : array - T3 amplitudes. - v : array - Electron repulsion integrals. - - Returns - ------- - t1new : array - Updated T1 residuals. - t2new : array - Updated T2 residuals. - t3new : array - Updated T3 residuals. - """ - - space = kwargs["space"] - t1new = Namespace() - t2new = Namespace() - t3new = Namespace() - so = np.ones((t1.shape[0],), dtype=bool) - sv = np.ones((t1.shape[1],), dtype=bool) - sO = space.active[space.correlated][space.occupied[space.correlated]] - sV = space.active[space.correlated][space.virtual[space.correlated]] - t1_OV = t1[np.ix_(sO, sV)].copy(order="A") - t1_Ov = t1[np.ix_(sO, sv)].copy(order="A") - t1_oV = t1[np.ix_(so, sV)].copy(order="A") - t2_oovV = t2[np.ix_(so, so, sv, sV)].copy(order="A") - t2_ooVv = t2[np.ix_(so, so, sV, sv)].copy(order="A") - t2_oOvv = t2[np.ix_(so, sO, sv, sv)].copy(order="A") - t2_Oovv = t2[np.ix_(sO, so, sv, sv)].copy(order="A") - t2_OOvv = t2[np.ix_(sO, sO, sv, sv)].copy(order="A") - t2_ooVV = t2[np.ix_(so, so, sV, sV)].copy(order="A") - t2_OovV = t2[np.ix_(sO, so, sv, sV)].copy(order="A") - t2_OOvV = t2[np.ix_(sO, sO, sv, sV)].copy(order="A") - t2_OoVV = t2[np.ix_(sO, so, sV, sV)].copy(order="A") - t2_OOVV = t2[np.ix_(sO, sO, sV, sV)].copy(order="A") - - t2new_OOVv = einsum(v.OvVV, (0, 1, 2, 3), t3, (4, 5, 0, 2, 3, 6), (4, 5, 6, 1)) * -0.5 - t2new_OOVv += einsum(v.OoVV, (0, 1, 2, 3), t1, (1, 4), t3, (5, 6, 0, 2, 3, 7), (5, 6, 7, 4)) * 0.5 - t2new_OOvV = einsum(v.OvVV, (0, 1, 2, 3), t3, (4, 5, 0, 2, 3, 6), (4, 5, 1, 6)) * 0.5 - t2new_OOvV += einsum(v.OoVV, (0, 1, 2, 3), t1, (1, 4), t3, (5, 6, 0, 2, 3, 7), (5, 6, 4, 7)) * -0.5 - t2new_oOVV = einsum(v.OOVo, (0, 1, 2, 3), t3, (4, 0, 1, 2, 5, 6), (3, 4, 5, 6)) * -0.5 - t2new_oOVV += einsum(v.OOvV, (0, 1, 2, 3), t3, (4, 0, 1, 3, 5, 6), t1, (7, 2), (7, 4, 5, 6)) * 0.5 - t2new_OoVV = einsum(v.OOVo, (0, 1, 2, 3), t3, (4, 0, 1, 2, 5, 6), (4, 3, 5, 6)) * 0.5 - t2new_OoVV += einsum(v.OOvV, (0, 1, 2, 3), t3, (4, 0, 1, 3, 5, 6), t1, (7, 2), (4, 7, 5, 6)) * -0.5 - t2new_OOVV = einsum(f.OV, (0, 1), t3, (2, 3, 0, 1, 4, 5), (2, 3, 4, 5)) - t2new_OOVV += einsum(v.OovV, (0, 1, 2, 3), t3, (4, 5, 0, 3, 6, 7), t1, (1, 2), (4, 5, 6, 7)) * -1 - t1new_OV = einsum(v.OOVV, (0, 1, 2, 3), t3, (4, 0, 1, 2, 3, 5), (4, 5)) * 0.25 - t1new = f.vo.transpose((1, 0)).copy() - t1new += einsum(f.oo, (0, 1), t1, (0, 2), (1, 2)) * -1 - t1new += einsum(f.vv, (0, 1), t1, (2, 1), (2, 0)) - t1new += einsum(f.ov, (0, 1), t2, (2, 0, 1, 3), (2, 3)) * -1 - t1new += einsum(f.ov, (0, 1), t1, (0, 2), t1, (3, 1), (3, 2)) * -1 - t1new += einsum(v.ovvo, (0, 1, 2, 3), t1, (0, 2), (3, 1)) - t1new += einsum(v.oovo, (0, 1, 2, 3), t2, (0, 1, 2, 4), (3, 4)) * -0.5 - t1new += einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 0, 2, 3), (4, 1)) * -0.5 - t1new += einsum(v.oovv, (0, 1, 2, 3), t2, (4, 0, 3, 5), t1, (1, 2), (4, 5)) - t1new += einsum(v.oovv, (0, 1, 2, 3), t2, (0, 1, 3, 4), t1, (5, 2), (5, 4)) * 0.5 - t1new += einsum(v.oovv, (0, 1, 2, 3), t1, (1, 4), t2, (5, 0, 2, 3), (5, 4)) * 0.5 - t1new += einsum(v.oovo, (0, 1, 2, 3), t1, (0, 4), t1, (1, 2), (3, 4)) - t1new += einsum(v.ovvv, (0, 1, 2, 3), t1, (0, 2), t1, (4, 3), (4, 1)) - t1new += einsum(v.oovv, (0, 1, 2, 3), t1, (0, 4), t1, (1, 2), t1, (5, 3), (5, 4)) - t2new = einsum(f.oo, (0, 1), t2, (2, 0, 3, 4), (2, 1, 3, 4)) * -1 - t2new += einsum(f.oo, (0, 1), t2, (2, 0, 3, 4), (1, 2, 3, 4)) - t2new += einsum(f.vv, (0, 1), t2, (2, 3, 1, 4), (2, 3, 0, 4)) - t2new += einsum(f.vv, (0, 1), t2, (2, 3, 1, 4), (2, 3, 4, 0)) * -1 - t2new += einsum(f.ov, (0, 1), t2, (2, 0, 3, 4), t1, (5, 1), (2, 5, 3, 4)) * -1 - t2new += einsum(f.ov, (0, 1), t2, (2, 0, 3, 4), t1, (5, 1), (5, 2, 3, 4)) - t2new += einsum(f.ov, (0, 1), t1, (0, 2), t2, (3, 4, 1, 5), (3, 4, 2, 5)) * -1 - t2new += einsum(f.ov, (0, 1), t1, (0, 2), t2, (3, 4, 1, 5), (3, 4, 5, 2)) - t2new += v.vvoo.transpose((2, 3, 0, 1)) - t2new += einsum(v.ovoo, (0, 1, 2, 3), t1, (0, 4), (2, 3, 1, 4)) - t2new += einsum(v.ovoo, (0, 1, 2, 3), t1, (0, 4), (2, 3, 4, 1)) * -1 - t2new += einsum(v.vvvo, (0, 1, 2, 3), t1, (4, 2), (4, 3, 0, 1)) - t2new += einsum(v.vvvo, (0, 1, 2, 3), t1, (4, 2), (3, 4, 0, 1)) * -1 - t2new += einsum(v.oooo, (0, 1, 2, 3), t2, (0, 1, 4, 5), (2, 3, 4, 5)) * 0.5 - t2new += einsum(v.ovvo, (0, 1, 2, 3), t2, (4, 0, 2, 5), (4, 3, 1, 5)) - t2new += einsum(v.ovvo, (0, 1, 2, 3), t2, (4, 0, 2, 5), (3, 4, 1, 5)) * -1 - t2new += einsum(v.ovvo, (0, 1, 2, 3), t2, (4, 0, 2, 5), (4, 3, 5, 1)) * -1 - t2new += einsum(v.ovvo, (0, 1, 2, 3), t2, (4, 0, 2, 5), (3, 4, 5, 1)) - t2new += einsum(v.vvvv, (0, 1, 2, 3), t2, (4, 5, 2, 3), (4, 5, 0, 1)) * 0.5 - t2new += einsum(v.oovo, (0, 1, 2, 3), t2, (4, 0, 5, 6), t1, (1, 2), (4, 3, 5, 6)) - t2new += einsum(v.oovo, (0, 1, 2, 3), t2, (4, 0, 5, 6), t1, (1, 2), (3, 4, 5, 6)) * -1 - t2new += einsum(v.oovo, (0, 1, 2, 3), t2, (0, 1, 4, 5), t1, (6, 2), (6, 3, 4, 5)) * 0.5 - t2new += einsum(v.oovo, (0, 1, 2, 3), t2, (0, 1, 4, 5), t1, (6, 2), (3, 6, 4, 5)) * -0.5 - t2new += einsum(v.oovo, (0, 1, 2, 3), t1, (1, 4), t2, (5, 0, 2, 6), (5, 3, 4, 6)) * -1 - t2new += einsum(v.oovo, (0, 1, 2, 3), t1, (1, 4), t2, (5, 0, 2, 6), (3, 5, 4, 6)) - t2new += einsum(v.oovo, (0, 1, 2, 3), t1, (1, 4), t2, (5, 0, 2, 6), (5, 3, 6, 4)) - t2new += einsum(v.oovo, (0, 1, 2, 3), t1, (1, 4), t2, (5, 0, 2, 6), (3, 5, 6, 4)) * -1 - t2new += einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 5, 3, 6), t1, (0, 2), (4, 5, 1, 6)) - t2new += einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 5, 3, 6), t1, (0, 2), (4, 5, 6, 1)) * -1 - t2new += einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 0, 3, 5), t1, (6, 2), (4, 6, 1, 5)) * -1 - t2new += einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 0, 3, 5), t1, (6, 2), (6, 4, 1, 5)) - t2new += einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 0, 3, 5), t1, (6, 2), (4, 6, 5, 1)) - t2new += einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 0, 3, 5), t1, (6, 2), (6, 4, 5, 1)) * -1 - t2new += einsum(v.ovvv, (0, 1, 2, 3), t1, (0, 4), t2, (5, 6, 2, 3), (5, 6, 1, 4)) * 0.5 - t2new += einsum(v.ovvv, (0, 1, 2, 3), t1, (0, 4), t2, (5, 6, 2, 3), (5, 6, 4, 1)) * -0.5 - t2new += einsum(v.oooo, (0, 1, 2, 3), t1, (1, 4), t1, (0, 5), (2, 3, 4, 5)) * -1 - t2new += einsum(v.ovvo, (0, 1, 2, 3), t1, (0, 4), t1, (5, 2), (5, 3, 1, 4)) - t2new += einsum(v.ovvo, (0, 1, 2, 3), t1, (0, 4), t1, (5, 2), (3, 5, 1, 4)) * -1 - t2new += einsum(v.ovvo, (0, 1, 2, 3), t1, (0, 4), t1, (5, 2), (5, 3, 4, 1)) * -1 - t2new += einsum(v.ovvo, (0, 1, 2, 3), t1, (0, 4), t1, (5, 2), (3, 5, 4, 1)) - t2new += einsum(v.vvvv, (0, 1, 2, 3), t1, (4, 2), t1, (5, 3), (5, 4, 0, 1)) * -1 - t2new += einsum(v.oovv, (0, 1, 2, 3), t2, (4, 0, 5, 6), t2, (7, 1, 2, 3), (4, 7, 5, 6)) * -0.5 - t2new += einsum(v.oovv, (0, 1, 2, 3), t2, (4, 0, 5, 6), t2, (7, 1, 2, 3), (7, 4, 5, 6)) * 0.5 - t2new += einsum(v.oovv, (0, 1, 2, 3), t2, (0, 1, 4, 5), t2, (6, 7, 2, 3), (6, 7, 4, 5)) * 0.25 - t2new += einsum(v.oovv, (0, 1, 2, 3), t2, (0, 1, 2, 4), t2, (5, 6, 3, 7), (5, 6, 4, 7)) * -0.5 - t2new += einsum(v.oovv, (0, 1, 2, 3), t2, (4, 1, 2, 5), t2, (6, 0, 3, 7), (6, 4, 5, 7)) - t2new += einsum(v.oovv, (0, 1, 2, 3), t2, (4, 1, 2, 5), t2, (6, 0, 3, 7), (4, 6, 5, 7)) * -1 - t2new += einsum(v.oovv, (0, 1, 2, 3), t2, (4, 5, 2, 6), t2, (0, 1, 3, 7), (4, 5, 6, 7)) * -0.5 - t2new += einsum(v.oovv, (0, 1, 2, 3), t2, (4, 0, 5, 6), t1, (1, 2), t1, (7, 3), (4, 7, 5, 6)) - t2new += einsum(v.oovv, (0, 1, 2, 3), t2, (4, 0, 5, 6), t1, (1, 2), t1, (7, 3), (7, 4, 5, 6)) * -1 - t2new += einsum(v.oovv, (0, 1, 2, 3), t1, (0, 4), t2, (5, 6, 3, 7), t1, (1, 2), (5, 6, 4, 7)) - t2new += einsum(v.oovv, (0, 1, 2, 3), t1, (0, 4), t2, (5, 6, 3, 7), t1, (1, 2), (5, 6, 7, 4)) * -1 - t2new += einsum(v.oovv, (0, 1, 2, 3), t2, (0, 1, 4, 5), t1, (6, 2), t1, (7, 3), (7, 6, 4, 5)) * -0.5 - t2new += einsum(v.oovv, (0, 1, 2, 3), t1, (1, 4), t2, (5, 0, 3, 6), t1, (7, 2), (5, 7, 4, 6)) - t2new += einsum(v.oovv, (0, 1, 2, 3), t1, (1, 4), t2, (5, 0, 3, 6), t1, (7, 2), (7, 5, 4, 6)) * -1 - t2new += einsum(v.oovv, (0, 1, 2, 3), t1, (1, 4), t2, (5, 0, 3, 6), t1, (7, 2), (5, 7, 6, 4)) * -1 - t2new += einsum(v.oovv, (0, 1, 2, 3), t1, (1, 4), t2, (5, 0, 3, 6), t1, (7, 2), (7, 5, 6, 4)) - t2new += einsum(v.oovv, (0, 1, 2, 3), t1, (1, 4), t1, (0, 5), t2, (6, 7, 2, 3), (6, 7, 4, 5)) * -0.5 - t2new += einsum(v.oovo, (0, 1, 2, 3), t1, (1, 4), t1, (0, 5), t1, (6, 2), (6, 3, 4, 5)) * -1 - t2new += einsum(v.oovo, (0, 1, 2, 3), t1, (1, 4), t1, (0, 5), t1, (6, 2), (3, 6, 4, 5)) - t2new += einsum(v.ovvv, (0, 1, 2, 3), t1, (0, 4), t1, (5, 2), t1, (6, 3), (6, 5, 1, 4)) * -1 - t2new += einsum(v.ovvv, (0, 1, 2, 3), t1, (0, 4), t1, (5, 2), t1, (6, 3), (6, 5, 4, 1)) - t2new += einsum(v.oovv, (0, 1, 2, 3), t1, (1, 4), t1, (0, 5), t1, (6, 2), t1, (7, 3), (7, 6, 4, 5)) - t3new = einsum(f.OO, (0, 1), t3, (2, 3, 0, 4, 5, 6), (2, 3, 1, 4, 5, 6)) * -1 - t3new += einsum(f.OO, (0, 1), t3, (2, 3, 0, 4, 5, 6), (2, 1, 3, 4, 5, 6)) - t3new += einsum(f.OO, (0, 1), t3, (2, 3, 0, 4, 5, 6), (1, 2, 3, 4, 5, 6)) * -1 - t3new += einsum(f.VV, (0, 1), t3, (2, 3, 4, 1, 5, 6), (2, 3, 4, 0, 5, 6)) - t3new += einsum(f.VV, (0, 1), t3, (2, 3, 4, 1, 5, 6), (2, 3, 4, 5, 0, 6)) * -1 - t3new += einsum(f.VV, (0, 1), t3, (2, 3, 4, 1, 5, 6), (2, 3, 4, 5, 6, 0)) - t3new += einsum(f.Ov, (0, 1), t3, (2, 3, 0, 4, 5, 6), t1_Ov, (7, 1), (2, 3, 7, 4, 5, 6)) * -1 - t3new += einsum(f.Ov, (0, 1), t3, (2, 3, 0, 4, 5, 6), t1_Ov, (7, 1), (2, 7, 3, 4, 5, 6)) - t3new += einsum(f.Ov, (0, 1), t3, (2, 3, 0, 4, 5, 6), t1_Ov, (7, 1), (7, 2, 3, 4, 5, 6)) * -1 - t3new += einsum(f.oV, (0, 1), t1_oV, (0, 2), t3, (3, 4, 5, 1, 6, 7), (3, 4, 5, 2, 6, 7)) * -1 - t3new += einsum(f.oV, (0, 1), t1_oV, (0, 2), t3, (3, 4, 5, 1, 6, 7), (3, 4, 5, 6, 2, 7)) - t3new += einsum(f.oV, (0, 1), t3, (2, 3, 4, 1, 5, 6), t1_oV, (0, 7), (2, 3, 4, 5, 6, 7)) * -1 - t3new += einsum(f.ov, (0, 1), t2_OOvV, (2, 3, 1, 4), t2_OoVV, (5, 0, 6, 7), (5, 2, 3, 4, 6, 7)) * -1 - t3new += einsum(f.ov, (0, 1), t2_OOvV, (2, 3, 1, 4), t2_OoVV, (5, 0, 6, 7), (2, 5, 3, 4, 6, 7)) - t3new += einsum(f.ov, (0, 1), t2_OOvV, (2, 3, 1, 4), t2_OoVV, (5, 0, 6, 7), (5, 2, 3, 6, 4, 7)) - t3new += einsum(f.ov, (0, 1), t2_OOvV, (2, 3, 1, 4), t2_OoVV, (5, 0, 6, 7), (2, 5, 3, 6, 4, 7)) * -1 - t3new += einsum(f.ov, (0, 1), t2_OOvV, (2, 3, 1, 4), t2_OoVV, (5, 0, 6, 7), (2, 3, 5, 4, 6, 7)) * -1 - t3new += einsum(f.ov, (0, 1), t2_OOvV, (2, 3, 1, 4), t2_OoVV, (5, 0, 6, 7), (2, 3, 5, 6, 4, 7)) - t3new += einsum(f.ov, (0, 1), t2_OoVV, (2, 0, 3, 4), t2_OOvV, (5, 6, 1, 7), (2, 5, 6, 3, 4, 7)) * -1 - t3new += einsum(f.ov, (0, 1), t2_OoVV, (2, 0, 3, 4), t2_OOvV, (5, 6, 1, 7), (5, 2, 6, 3, 4, 7)) - t3new += einsum(f.ov, (0, 1), t2_OoVV, (2, 0, 3, 4), t2_OOvV, (5, 6, 1, 7), (5, 6, 2, 3, 4, 7)) * -1 - t3new += einsum(v.oVOO, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), (4, 2, 3, 1, 5, 6)) * -1 - t3new += einsum(v.oVOO, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), (2, 4, 3, 1, 5, 6)) - t3new += einsum(v.oVOO, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), (4, 2, 3, 5, 1, 6)) - t3new += einsum(v.oVOO, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), (2, 4, 3, 5, 1, 6)) * -1 - t3new += einsum(v.oVOO, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) * -1 - t3new += einsum(v.oVOO, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), (2, 3, 4, 5, 1, 6)) - t3new += einsum(v.oVOO, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), (4, 2, 3, 5, 6, 1)) * -1 - t3new += einsum(v.oVOO, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), (2, 4, 3, 5, 6, 1)) - t3new += einsum(v.oVOO, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), (2, 3, 4, 5, 6, 1)) * -1 - t3new += einsum(v.VVvO, (0, 1, 2, 3), t2_OOvV, (4, 5, 2, 6), (4, 5, 3, 0, 1, 6)) * -1 - t3new += einsum(v.VVvO, (0, 1, 2, 3), t2_OOvV, (4, 5, 2, 6), (4, 3, 5, 0, 1, 6)) - t3new += einsum(v.VVvO, (0, 1, 2, 3), t2_OOvV, (4, 5, 2, 6), (4, 5, 3, 0, 6, 1)) - t3new += einsum(v.VVvO, (0, 1, 2, 3), t2_OOvV, (4, 5, 2, 6), (4, 3, 5, 0, 6, 1)) * -1 - t3new += einsum(v.VVvO, (0, 1, 2, 3), t2_OOvV, (4, 5, 2, 6), (3, 4, 5, 0, 1, 6)) * -1 - t3new += einsum(v.VVvO, (0, 1, 2, 3), t2_OOvV, (4, 5, 2, 6), (3, 4, 5, 0, 6, 1)) - t3new += einsum(v.VVvO, (0, 1, 2, 3), t2_OOvV, (4, 5, 2, 6), (4, 5, 3, 6, 0, 1)) * -1 - t3new += einsum(v.VVvO, (0, 1, 2, 3), t2_OOvV, (4, 5, 2, 6), (4, 3, 5, 6, 0, 1)) - t3new += einsum(v.VVvO, (0, 1, 2, 3), t2_OOvV, (4, 5, 2, 6), (3, 4, 5, 6, 0, 1)) * -1 - t3new += einsum(v.OOOO, (0, 1, 2, 3), t3, (4, 0, 1, 5, 6, 7), (4, 2, 3, 5, 6, 7)) * 0.5 - t3new += einsum(v.OOOO, (0, 1, 2, 3), t3, (4, 0, 1, 5, 6, 7), (2, 4, 3, 5, 6, 7)) * -0.5 - t3new += einsum(v.OOOO, (0, 1, 2, 3), t3, (4, 0, 1, 5, 6, 7), (2, 3, 4, 5, 6, 7)) * 0.5 - t3new += einsum(v.OVVO, (0, 1, 2, 3), t3, (4, 5, 0, 2, 6, 7), (4, 5, 3, 1, 6, 7)) - t3new += einsum(v.OVVO, (0, 1, 2, 3), t3, (4, 5, 0, 2, 6, 7), (4, 3, 5, 1, 6, 7)) * -1 - t3new += einsum(v.OVVO, (0, 1, 2, 3), t3, (4, 5, 0, 2, 6, 7), (4, 5, 3, 6, 1, 7)) * -1 - t3new += einsum(v.OVVO, (0, 1, 2, 3), t3, (4, 5, 0, 2, 6, 7), (4, 3, 5, 6, 1, 7)) - t3new += einsum(v.OVVO, (0, 1, 2, 3), t3, (4, 5, 0, 2, 6, 7), (3, 4, 5, 1, 6, 7)) - t3new += einsum(v.OVVO, (0, 1, 2, 3), t3, (4, 5, 0, 2, 6, 7), (3, 4, 5, 6, 1, 7)) * -1 - t3new += einsum(v.OVVO, (0, 1, 2, 3), t3, (4, 5, 0, 2, 6, 7), (4, 5, 3, 6, 7, 1)) - t3new += einsum(v.OVVO, (0, 1, 2, 3), t3, (4, 5, 0, 2, 6, 7), (4, 3, 5, 6, 7, 1)) * -1 - t3new += einsum(v.OVVO, (0, 1, 2, 3), t3, (4, 5, 0, 2, 6, 7), (3, 4, 5, 6, 7, 1)) - t3new += einsum(v.VVVV, (0, 1, 2, 3), t3, (4, 5, 6, 2, 3, 7), (4, 5, 6, 0, 1, 7)) * 0.5 - t3new += einsum(v.VVVV, (0, 1, 2, 3), t3, (4, 5, 6, 2, 3, 7), (4, 5, 6, 0, 7, 1)) * -0.5 - t3new += einsum(v.VVVV, (0, 1, 2, 3), t3, (4, 5, 6, 2, 3, 7), (4, 5, 6, 7, 0, 1)) * 0.5 - t3new += einsum(v.ooOO, (0, 1, 2, 3), t1_oV, (1, 4), t2_OoVV, (5, 0, 6, 7), (5, 2, 3, 4, 6, 7)) - t3new += einsum(v.ooOO, (0, 1, 2, 3), t1_oV, (1, 4), t2_OoVV, (5, 0, 6, 7), (2, 5, 3, 4, 6, 7)) * -1 - t3new += einsum(v.ooOO, (0, 1, 2, 3), t1_oV, (1, 4), t2_OoVV, (5, 0, 6, 7), (5, 2, 3, 6, 4, 7)) * -1 - t3new += einsum(v.ooOO, (0, 1, 2, 3), t1_oV, (1, 4), t2_OoVV, (5, 0, 6, 7), (2, 5, 3, 6, 4, 7)) - t3new += einsum(v.ooOO, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t1_oV, (1, 7), (4, 2, 3, 5, 6, 7)) - t3new += einsum(v.ooOO, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t1_oV, (1, 7), (2, 4, 3, 5, 6, 7)) * -1 - t3new += einsum(v.ooOO, (0, 1, 2, 3), t1_oV, (1, 4), t2_OoVV, (5, 0, 6, 7), (2, 3, 5, 4, 6, 7)) - t3new += einsum(v.ooOO, (0, 1, 2, 3), t1_oV, (1, 4), t2_OoVV, (5, 0, 6, 7), (2, 3, 5, 6, 4, 7)) * -1 - t3new += einsum(v.ooOO, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t1_oV, (1, 7), (2, 3, 4, 5, 6, 7)) - t3new += einsum(v.oVvO, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t1_Ov, (7, 2), (4, 7, 3, 1, 5, 6)) * -1 - t3new += einsum(v.oVvO, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t1_Ov, (7, 2), (7, 4, 3, 1, 5, 6)) - t3new += einsum(v.oVvO, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t1_Ov, (7, 2), (4, 7, 3, 5, 1, 6)) - t3new += einsum(v.oVvO, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t1_Ov, (7, 2), (7, 4, 3, 5, 1, 6)) * -1 - t3new += einsum(v.oVvO, (0, 1, 2, 3), t1_oV, (0, 4), t2_OOvV, (5, 6, 2, 7), (5, 6, 3, 1, 4, 7)) * -1 - t3new += einsum(v.oVvO, (0, 1, 2, 3), t1_oV, (0, 4), t2_OOvV, (5, 6, 2, 7), (5, 3, 6, 1, 4, 7)) - t3new += einsum(v.oVvO, (0, 1, 2, 3), t1_oV, (0, 4), t2_OOvV, (5, 6, 2, 7), (5, 6, 3, 1, 7, 4)) - t3new += einsum(v.oVvO, (0, 1, 2, 3), t1_oV, (0, 4), t2_OOvV, (5, 6, 2, 7), (5, 3, 6, 1, 7, 4)) * -1 - t3new += einsum(v.oVvO, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t1_Ov, (7, 2), (4, 3, 7, 1, 5, 6)) - t3new += einsum(v.oVvO, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t1_Ov, (7, 2), (7, 3, 4, 1, 5, 6)) * -1 - t3new += einsum(v.oVvO, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t1_Ov, (7, 2), (4, 3, 7, 5, 1, 6)) * -1 - t3new += einsum(v.oVvO, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t1_Ov, (7, 2), (7, 3, 4, 5, 1, 6)) - t3new += einsum(v.oVvO, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t1_Ov, (7, 2), (3, 4, 7, 1, 5, 6)) * -1 - t3new += einsum(v.oVvO, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t1_Ov, (7, 2), (3, 7, 4, 1, 5, 6)) - t3new += einsum(v.oVvO, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t1_Ov, (7, 2), (3, 4, 7, 5, 1, 6)) - t3new += einsum(v.oVvO, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t1_Ov, (7, 2), (3, 7, 4, 5, 1, 6)) * -1 - t3new += einsum(v.oVvO, (0, 1, 2, 3), t1_oV, (0, 4), t2_OOvV, (5, 6, 2, 7), (3, 5, 6, 1, 4, 7)) * -1 - t3new += einsum(v.oVvO, (0, 1, 2, 3), t1_oV, (0, 4), t2_OOvV, (5, 6, 2, 7), (3, 5, 6, 1, 7, 4)) - t3new += einsum(v.oVvO, (0, 1, 2, 3), t1_oV, (0, 4), t2_OOvV, (5, 6, 2, 7), (5, 6, 3, 4, 1, 7)) - t3new += einsum(v.oVvO, (0, 1, 2, 3), t1_oV, (0, 4), t2_OOvV, (5, 6, 2, 7), (5, 3, 6, 4, 1, 7)) * -1 - t3new += einsum(v.oVvO, (0, 1, 2, 3), t1_oV, (0, 4), t2_OOvV, (5, 6, 2, 7), (5, 6, 3, 7, 1, 4)) * -1 - t3new += einsum(v.oVvO, (0, 1, 2, 3), t1_oV, (0, 4), t2_OOvV, (5, 6, 2, 7), (5, 3, 6, 7, 1, 4)) - t3new += einsum(v.oVvO, (0, 1, 2, 3), t1_oV, (0, 4), t2_OOvV, (5, 6, 2, 7), (3, 5, 6, 4, 1, 7)) - t3new += einsum(v.oVvO, (0, 1, 2, 3), t1_oV, (0, 4), t2_OOvV, (5, 6, 2, 7), (3, 5, 6, 7, 1, 4)) * -1 - t3new += einsum(v.oVvO, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t1_Ov, (7, 2), (4, 7, 3, 5, 6, 1)) * -1 - t3new += einsum(v.oVvO, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t1_Ov, (7, 2), (7, 4, 3, 5, 6, 1)) - t3new += einsum(v.oVvO, (0, 1, 2, 3), t1_oV, (0, 4), t2_OOvV, (5, 6, 2, 7), (5, 6, 3, 4, 7, 1)) * -1 - t3new += einsum(v.oVvO, (0, 1, 2, 3), t1_oV, (0, 4), t2_OOvV, (5, 6, 2, 7), (5, 3, 6, 4, 7, 1)) - t3new += einsum(v.oVvO, (0, 1, 2, 3), t1_oV, (0, 4), t2_OOvV, (5, 6, 2, 7), (5, 6, 3, 7, 4, 1)) - t3new += einsum(v.oVvO, (0, 1, 2, 3), t1_oV, (0, 4), t2_OOvV, (5, 6, 2, 7), (5, 3, 6, 7, 4, 1)) * -1 - t3new += einsum(v.oVvO, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t1_Ov, (7, 2), (4, 3, 7, 5, 6, 1)) - t3new += einsum(v.oVvO, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t1_Ov, (7, 2), (7, 3, 4, 5, 6, 1)) * -1 - t3new += einsum(v.oVvO, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t1_Ov, (7, 2), (3, 4, 7, 5, 6, 1)) * -1 - t3new += einsum(v.oVvO, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t1_Ov, (7, 2), (3, 7, 4, 5, 6, 1)) - t3new += einsum(v.oVvO, (0, 1, 2, 3), t1_oV, (0, 4), t2_OOvV, (5, 6, 2, 7), (3, 5, 6, 4, 7, 1)) * -1 - t3new += einsum(v.oVvO, (0, 1, 2, 3), t1_oV, (0, 4), t2_OOvV, (5, 6, 2, 7), (3, 5, 6, 7, 4, 1)) - t3new += einsum(v.VVvv, (0, 1, 2, 3), t2_OOvV, (4, 5, 3, 6), t1_Ov, (7, 2), (4, 5, 7, 0, 1, 6)) - t3new += einsum(v.VVvv, (0, 1, 2, 3), t2_OOvV, (4, 5, 3, 6), t1_Ov, (7, 2), (4, 7, 5, 0, 1, 6)) * -1 - t3new += einsum(v.VVvv, (0, 1, 2, 3), t2_OOvV, (4, 5, 3, 6), t1_Ov, (7, 2), (4, 5, 7, 0, 6, 1)) * -1 - t3new += einsum(v.VVvv, (0, 1, 2, 3), t2_OOvV, (4, 5, 3, 6), t1_Ov, (7, 2), (4, 7, 5, 0, 6, 1)) - t3new += einsum(v.VVvv, (0, 1, 2, 3), t2_OOvV, (4, 5, 3, 6), t1_Ov, (7, 2), (7, 4, 5, 0, 1, 6)) - t3new += einsum(v.VVvv, (0, 1, 2, 3), t2_OOvV, (4, 5, 3, 6), t1_Ov, (7, 2), (7, 4, 5, 0, 6, 1)) * -1 - t3new += einsum(v.VVvv, (0, 1, 2, 3), t2_OOvV, (4, 5, 3, 6), t1_Ov, (7, 2), (4, 5, 7, 6, 0, 1)) - t3new += einsum(v.VVvv, (0, 1, 2, 3), t2_OOvV, (4, 5, 3, 6), t1_Ov, (7, 2), (4, 7, 5, 6, 0, 1)) * -1 - t3new += einsum(v.VVvv, (0, 1, 2, 3), t2_OOvV, (4, 5, 3, 6), t1_Ov, (7, 2), (7, 4, 5, 6, 0, 1)) - t3new += einsum(v.OovO, (0, 1, 2, 3), t3, (4, 5, 0, 6, 7, 8), t1, (1, 2), (4, 5, 3, 6, 7, 8)) - t3new += einsum(v.OovO, (0, 1, 2, 3), t3, (4, 5, 0, 6, 7, 8), t1, (1, 2), (4, 3, 5, 6, 7, 8)) * -1 - t3new += einsum(v.OOvO, (0, 1, 2, 3), t3, (4, 0, 1, 5, 6, 7), t1_Ov, (8, 2), (4, 8, 3, 5, 6, 7)) * 0.5 - t3new += einsum(v.OOvO, (0, 1, 2, 3), t3, (4, 0, 1, 5, 6, 7), t1_Ov, (8, 2), (8, 4, 3, 5, 6, 7)) * -0.5 - t3new += einsum(v.OoVO, (0, 1, 2, 3), t1_oV, (1, 4), t3, (5, 6, 0, 2, 7, 8), (5, 6, 3, 4, 7, 8)) * -1 - t3new += einsum(v.OoVO, (0, 1, 2, 3), t1_oV, (1, 4), t3, (5, 6, 0, 2, 7, 8), (5, 3, 6, 4, 7, 8)) - t3new += einsum(v.OoVO, (0, 1, 2, 3), t1_oV, (1, 4), t3, (5, 6, 0, 2, 7, 8), (5, 6, 3, 7, 4, 8)) - t3new += einsum(v.OoVO, (0, 1, 2, 3), t1_oV, (1, 4), t3, (5, 6, 0, 2, 7, 8), (5, 3, 6, 7, 4, 8)) * -1 - t3new += einsum(v.OoVO, (0, 1, 2, 3), t3, (4, 5, 0, 2, 6, 7), t1_oV, (1, 8), (4, 5, 3, 6, 7, 8)) * -1 - t3new += einsum(v.OoVO, (0, 1, 2, 3), t3, (4, 5, 0, 2, 6, 7), t1_oV, (1, 8), (4, 3, 5, 6, 7, 8)) - t3new += einsum(v.OOvO, (0, 1, 2, 3), t3, (4, 0, 1, 5, 6, 7), t1_Ov, (8, 2), (4, 3, 8, 5, 6, 7)) * -0.5 - t3new += einsum(v.OOvO, (0, 1, 2, 3), t3, (4, 0, 1, 5, 6, 7), t1_Ov, (8, 2), (8, 3, 4, 5, 6, 7)) * 0.5 - t3new += einsum(v.OovO, (0, 1, 2, 3), t3, (4, 5, 0, 6, 7, 8), t1, (1, 2), (3, 4, 5, 6, 7, 8)) - t3new += einsum(v.OOvO, (0, 1, 2, 3), t3, (4, 0, 1, 5, 6, 7), t1_Ov, (8, 2), (3, 4, 8, 5, 6, 7)) * 0.5 - t3new += einsum(v.OOvO, (0, 1, 2, 3), t3, (4, 0, 1, 5, 6, 7), t1_Ov, (8, 2), (3, 8, 4, 5, 6, 7)) * -0.5 - t3new += einsum(v.OoVO, (0, 1, 2, 3), t1_oV, (1, 4), t3, (5, 6, 0, 2, 7, 8), (3, 5, 6, 4, 7, 8)) * -1 - t3new += einsum(v.OoVO, (0, 1, 2, 3), t1_oV, (1, 4), t3, (5, 6, 0, 2, 7, 8), (3, 5, 6, 7, 4, 8)) - t3new += einsum(v.OoVO, (0, 1, 2, 3), t3, (4, 5, 0, 2, 6, 7), t1_oV, (1, 8), (3, 4, 5, 6, 7, 8)) * -1 - t3new += einsum(v.oVvV, (0, 1, 2, 3), t3, (4, 5, 6, 3, 7, 8), t1, (0, 2), (4, 5, 6, 1, 7, 8)) - t3new += einsum(v.oVvV, (0, 1, 2, 3), t3, (4, 5, 6, 3, 7, 8), t1, (0, 2), (4, 5, 6, 7, 1, 8)) * -1 - t3new += einsum(v.OVvV, (0, 1, 2, 3), t3, (4, 5, 0, 3, 6, 7), t1_Ov, (8, 2), (4, 5, 8, 1, 6, 7)) * -1 - t3new += einsum(v.OVvV, (0, 1, 2, 3), t3, (4, 5, 0, 3, 6, 7), t1_Ov, (8, 2), (4, 8, 5, 1, 6, 7)) - t3new += einsum(v.OVvV, (0, 1, 2, 3), t3, (4, 5, 0, 3, 6, 7), t1_Ov, (8, 2), (4, 5, 8, 6, 1, 7)) - t3new += einsum(v.OVvV, (0, 1, 2, 3), t3, (4, 5, 0, 3, 6, 7), t1_Ov, (8, 2), (4, 8, 5, 6, 1, 7)) * -1 - t3new += einsum(v.OVvV, (0, 1, 2, 3), t3, (4, 5, 0, 3, 6, 7), t1_Ov, (8, 2), (8, 4, 5, 1, 6, 7)) * -1 - t3new += einsum(v.OVvV, (0, 1, 2, 3), t3, (4, 5, 0, 3, 6, 7), t1_Ov, (8, 2), (8, 4, 5, 6, 1, 7)) - t3new += einsum(v.oVVV, (0, 1, 2, 3), t1_oV, (0, 4), t3, (5, 6, 7, 2, 3, 8), (5, 6, 7, 1, 4, 8)) * 0.5 - t3new += einsum(v.oVVV, (0, 1, 2, 3), t1_oV, (0, 4), t3, (5, 6, 7, 2, 3, 8), (5, 6, 7, 1, 8, 4)) * -0.5 - t3new += einsum(v.oVVV, (0, 1, 2, 3), t1_oV, (0, 4), t3, (5, 6, 7, 2, 3, 8), (5, 6, 7, 4, 1, 8)) * -0.5 - t3new += einsum(v.oVVV, (0, 1, 2, 3), t1_oV, (0, 4), t3, (5, 6, 7, 2, 3, 8), (5, 6, 7, 8, 1, 4)) * 0.5 - t3new += einsum(v.oVvV, (0, 1, 2, 3), t3, (4, 5, 6, 3, 7, 8), t1, (0, 2), (4, 5, 6, 7, 8, 1)) - t3new += einsum(v.OVvV, (0, 1, 2, 3), t3, (4, 5, 0, 3, 6, 7), t1_Ov, (8, 2), (4, 5, 8, 6, 7, 1)) * -1 - t3new += einsum(v.OVvV, (0, 1, 2, 3), t3, (4, 5, 0, 3, 6, 7), t1_Ov, (8, 2), (4, 8, 5, 6, 7, 1)) - t3new += einsum(v.OVvV, (0, 1, 2, 3), t3, (4, 5, 0, 3, 6, 7), t1_Ov, (8, 2), (8, 4, 5, 6, 7, 1)) * -1 - t3new += einsum(v.oVVV, (0, 1, 2, 3), t1_oV, (0, 4), t3, (5, 6, 7, 2, 3, 8), (5, 6, 7, 4, 8, 1)) * 0.5 - t3new += einsum(v.oVVV, (0, 1, 2, 3), t1_oV, (0, 4), t3, (5, 6, 7, 2, 3, 8), (5, 6, 7, 8, 4, 1)) * -0.5 - t3new += einsum(v.Oovv, (0, 1, 2, 3), t3, (4, 5, 0, 6, 7, 8), t2_Oovv, (9, 1, 2, 3), (4, 5, 9, 6, 7, 8)) * -0.5 - t3new += einsum(v.Oovv, (0, 1, 2, 3), t3, (4, 5, 0, 6, 7, 8), t2_Oovv, (9, 1, 2, 3), (4, 9, 5, 6, 7, 8)) * 0.5 - t3new += einsum(v.Oovv, (0, 1, 2, 3), t3, (4, 5, 0, 6, 7, 8), t2_Oovv, (9, 1, 2, 3), (9, 4, 5, 6, 7, 8)) * -0.5 - t3new += einsum(v.OOvv, (0, 1, 2, 3), t3, (4, 0, 1, 5, 6, 7), t2_OOvv, (8, 9, 2, 3), (4, 8, 9, 5, 6, 7)) * 0.25 - t3new += einsum(v.OOvv, (0, 1, 2, 3), t3, (4, 0, 1, 5, 6, 7), t2_OOvv, (8, 9, 2, 3), (8, 4, 9, 5, 6, 7)) * -0.25 - t3new += einsum(v.OOvv, (0, 1, 2, 3), t3, (4, 0, 1, 5, 6, 7), t2_OOvv, (8, 9, 2, 3), (8, 9, 4, 5, 6, 7)) * 0.25 - t3new += einsum(v.oovV, (0, 1, 2, 3), t2_oovV, (0, 1, 2, 4), t3, (5, 6, 7, 3, 8, 9), (5, 6, 7, 4, 8, 9)) * -0.5 - t3new += einsum(v.oovV, (0, 1, 2, 3), t2_oovV, (0, 1, 2, 4), t3, (5, 6, 7, 3, 8, 9), (5, 6, 7, 8, 4, 9)) * 0.5 - t3new += einsum(v.OovV, (0, 1, 2, 3), t2_OovV, (4, 1, 2, 5), t3, (6, 7, 0, 3, 8, 9), (6, 7, 4, 5, 8, 9)) - t3new += einsum(v.OovV, (0, 1, 2, 3), t2_OovV, (4, 1, 2, 5), t3, (6, 7, 0, 3, 8, 9), (6, 4, 7, 5, 8, 9)) * -1 - t3new += einsum(v.OovV, (0, 1, 2, 3), t2_OovV, (4, 1, 2, 5), t3, (6, 7, 0, 3, 8, 9), (6, 7, 4, 8, 5, 9)) * -1 - t3new += einsum(v.OovV, (0, 1, 2, 3), t2_OovV, (4, 1, 2, 5), t3, (6, 7, 0, 3, 8, 9), (6, 4, 7, 8, 5, 9)) - t3new += einsum(v.OovV, (0, 1, 2, 3), t2_OovV, (4, 1, 2, 5), t3, (6, 7, 0, 3, 8, 9), (4, 6, 7, 5, 8, 9)) - t3new += einsum(v.OovV, (0, 1, 2, 3), t2_OovV, (4, 1, 2, 5), t3, (6, 7, 0, 3, 8, 9), (4, 6, 7, 8, 5, 9)) * -1 - t3new += einsum(v.OOvV, (0, 1, 2, 3), t2_OOvV, (4, 5, 2, 6), t3, (7, 0, 1, 3, 8, 9), (7, 4, 5, 6, 8, 9)) * -0.5 - t3new += einsum(v.OOvV, (0, 1, 2, 3), t2_OOvV, (4, 5, 2, 6), t3, (7, 0, 1, 3, 8, 9), (4, 7, 5, 6, 8, 9)) * 0.5 - t3new += einsum(v.OOvV, (0, 1, 2, 3), t2_OOvV, (4, 5, 2, 6), t3, (7, 0, 1, 3, 8, 9), (7, 4, 5, 8, 6, 9)) * 0.5 - t3new += einsum(v.OOvV, (0, 1, 2, 3), t2_OOvV, (4, 5, 2, 6), t3, (7, 0, 1, 3, 8, 9), (4, 7, 5, 8, 6, 9)) * -0.5 - t3new += einsum(v.OOvV, (0, 1, 2, 3), t2_OOvV, (4, 5, 2, 6), t3, (7, 0, 1, 3, 8, 9), (4, 5, 7, 6, 8, 9)) * -0.5 - t3new += einsum(v.OOvV, (0, 1, 2, 3), t2_OOvV, (4, 5, 2, 6), t3, (7, 0, 1, 3, 8, 9), (4, 5, 7, 8, 6, 9)) * 0.5 - t3new += einsum(v.oovV, (0, 1, 2, 3), t3, (4, 5, 6, 3, 7, 8), t2_oovV, (0, 1, 2, 9), (4, 5, 6, 7, 8, 9)) * -0.5 - t3new += einsum(v.OovV, (0, 1, 2, 3), t3, (4, 5, 0, 3, 6, 7), t2_OovV, (8, 1, 2, 9), (4, 5, 8, 6, 7, 9)) - t3new += einsum(v.OovV, (0, 1, 2, 3), t3, (4, 5, 0, 3, 6, 7), t2_OovV, (8, 1, 2, 9), (4, 8, 5, 6, 7, 9)) * -1 - t3new += einsum(v.OovV, (0, 1, 2, 3), t3, (4, 5, 0, 3, 6, 7), t2_OovV, (8, 1, 2, 9), (8, 4, 5, 6, 7, 9)) - t3new += einsum(v.OOvV, (0, 1, 2, 3), t3, (4, 0, 1, 3, 5, 6), t2_OOvV, (7, 8, 2, 9), (4, 7, 8, 5, 6, 9)) * -0.5 - t3new += einsum(v.OOvV, (0, 1, 2, 3), t3, (4, 0, 1, 3, 5, 6), t2_OOvV, (7, 8, 2, 9), (7, 4, 8, 5, 6, 9)) * 0.5 - t3new += einsum(v.OOvV, (0, 1, 2, 3), t3, (4, 0, 1, 3, 5, 6), t2_OOvV, (7, 8, 2, 9), (7, 8, 4, 5, 6, 9)) * -0.5 - t3new += einsum(v.ooVV, (0, 1, 2, 3), t2_ooVV, (0, 1, 4, 5), t3, (6, 7, 8, 2, 3, 9), (6, 7, 8, 4, 5, 9)) * 0.25 - t3new += einsum(v.ooVV, (0, 1, 2, 3), t2_ooVV, (0, 1, 4, 5), t3, (6, 7, 8, 2, 3, 9), (6, 7, 8, 4, 9, 5)) * -0.25 - t3new += einsum(v.OoVV, (0, 1, 2, 3), t2_OoVV, (4, 1, 5, 6), t3, (7, 8, 0, 2, 3, 9), (7, 8, 4, 5, 6, 9)) * -0.5 - t3new += einsum(v.OoVV, (0, 1, 2, 3), t2_OoVV, (4, 1, 5, 6), t3, (7, 8, 0, 2, 3, 9), (7, 4, 8, 5, 6, 9)) * 0.5 - t3new += einsum(v.OoVV, (0, 1, 2, 3), t2_OoVV, (4, 1, 5, 6), t3, (7, 8, 0, 2, 3, 9), (7, 8, 4, 5, 9, 6)) * 0.5 - t3new += einsum(v.OoVV, (0, 1, 2, 3), t2_OoVV, (4, 1, 5, 6), t3, (7, 8, 0, 2, 3, 9), (7, 4, 8, 5, 9, 6)) * -0.5 - t3new += einsum(v.OoVV, (0, 1, 2, 3), t2_OoVV, (4, 1, 5, 6), t3, (7, 8, 0, 2, 3, 9), (4, 7, 8, 5, 6, 9)) * -0.5 - t3new += einsum(v.OoVV, (0, 1, 2, 3), t2_OoVV, (4, 1, 5, 6), t3, (7, 8, 0, 2, 3, 9), (4, 7, 8, 5, 9, 6)) * 0.5 - t3new += einsum(v.ooVV, (0, 1, 2, 3), t3, (4, 5, 6, 2, 3, 7), t2_ooVV, (0, 1, 8, 9), (4, 5, 6, 7, 8, 9)) * 0.25 - t3new += einsum(v.OoVV, (0, 1, 2, 3), t3, (4, 5, 0, 2, 3, 6), t2_OoVV, (7, 1, 8, 9), (4, 5, 7, 6, 8, 9)) * -0.5 - t3new += einsum(v.OoVV, (0, 1, 2, 3), t3, (4, 5, 0, 2, 3, 6), t2_OoVV, (7, 1, 8, 9), (4, 7, 5, 6, 8, 9)) * 0.5 - t3new += einsum(v.OoVV, (0, 1, 2, 3), t3, (4, 5, 0, 2, 3, 6), t2_OoVV, (7, 1, 8, 9), (7, 4, 5, 6, 8, 9)) * -0.5 - t3new += einsum(v.oovO, (0, 1, 2, 3), t2_OovV, (4, 1, 2, 5), t2_OoVV, (6, 0, 7, 8), (6, 4, 3, 5, 7, 8)) - t3new += einsum(v.oovO, (0, 1, 2, 3), t2_OovV, (4, 1, 2, 5), t2_OoVV, (6, 0, 7, 8), (4, 6, 3, 5, 7, 8)) * -1 - t3new += einsum(v.oovO, (0, 1, 2, 3), t2_OovV, (4, 1, 2, 5), t2_OoVV, (6, 0, 7, 8), (6, 4, 3, 7, 5, 8)) * -1 - t3new += einsum(v.oovO, (0, 1, 2, 3), t2_OovV, (4, 1, 2, 5), t2_OoVV, (6, 0, 7, 8), (4, 6, 3, 7, 5, 8)) - t3new += einsum(v.oovO, (0, 1, 2, 3), t2_OOvV, (4, 5, 2, 6), t2_ooVV, (0, 1, 7, 8), (4, 5, 3, 6, 7, 8)) * -0.5 - t3new += einsum(v.oovO, (0, 1, 2, 3), t2_OOvV, (4, 5, 2, 6), t2_ooVV, (0, 1, 7, 8), (4, 3, 5, 6, 7, 8)) * 0.5 - t3new += einsum(v.oovO, (0, 1, 2, 3), t2_OOvV, (4, 5, 2, 6), t2_ooVV, (0, 1, 7, 8), (4, 5, 3, 7, 6, 8)) * 0.5 - t3new += einsum(v.oovO, (0, 1, 2, 3), t2_OOvV, (4, 5, 2, 6), t2_ooVV, (0, 1, 7, 8), (4, 3, 5, 7, 6, 8)) * -0.5 - t3new += einsum(v.oovO, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t2_OovV, (7, 1, 2, 8), (4, 7, 3, 5, 6, 8)) - t3new += einsum(v.oovO, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t2_OovV, (7, 1, 2, 8), (7, 4, 3, 5, 6, 8)) * -1 - t3new += einsum(v.oovO, (0, 1, 2, 3), t2_ooVV, (0, 1, 4, 5), t2_OOvV, (6, 7, 2, 8), (6, 7, 3, 4, 5, 8)) * -0.5 - t3new += einsum(v.oovO, (0, 1, 2, 3), t2_ooVV, (0, 1, 4, 5), t2_OOvV, (6, 7, 2, 8), (6, 3, 7, 4, 5, 8)) * 0.5 - t3new += einsum(v.oovO, (0, 1, 2, 3), t2_OovV, (4, 1, 2, 5), t2_OoVV, (6, 0, 7, 8), (6, 3, 4, 5, 7, 8)) * -1 - t3new += einsum(v.oovO, (0, 1, 2, 3), t2_OovV, (4, 1, 2, 5), t2_OoVV, (6, 0, 7, 8), (4, 3, 6, 5, 7, 8)) - t3new += einsum(v.oovO, (0, 1, 2, 3), t2_OovV, (4, 1, 2, 5), t2_OoVV, (6, 0, 7, 8), (6, 3, 4, 7, 5, 8)) - t3new += einsum(v.oovO, (0, 1, 2, 3), t2_OovV, (4, 1, 2, 5), t2_OoVV, (6, 0, 7, 8), (4, 3, 6, 7, 5, 8)) * -1 - t3new += einsum(v.oovO, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t2_OovV, (7, 1, 2, 8), (4, 3, 7, 5, 6, 8)) * -1 - t3new += einsum(v.oovO, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t2_OovV, (7, 1, 2, 8), (7, 3, 4, 5, 6, 8)) - t3new += einsum(v.oovO, (0, 1, 2, 3), t2_OovV, (4, 1, 2, 5), t2_OoVV, (6, 0, 7, 8), (3, 6, 4, 5, 7, 8)) - t3new += einsum(v.oovO, (0, 1, 2, 3), t2_OovV, (4, 1, 2, 5), t2_OoVV, (6, 0, 7, 8), (3, 4, 6, 5, 7, 8)) * -1 - t3new += einsum(v.oovO, (0, 1, 2, 3), t2_OovV, (4, 1, 2, 5), t2_OoVV, (6, 0, 7, 8), (3, 6, 4, 7, 5, 8)) * -1 - t3new += einsum(v.oovO, (0, 1, 2, 3), t2_OovV, (4, 1, 2, 5), t2_OoVV, (6, 0, 7, 8), (3, 4, 6, 7, 5, 8)) - t3new += einsum(v.oovO, (0, 1, 2, 3), t2_OOvV, (4, 5, 2, 6), t2_ooVV, (0, 1, 7, 8), (3, 4, 5, 6, 7, 8)) * -0.5 - t3new += einsum(v.oovO, (0, 1, 2, 3), t2_OOvV, (4, 5, 2, 6), t2_ooVV, (0, 1, 7, 8), (3, 4, 5, 7, 6, 8)) * 0.5 - t3new += einsum(v.oovO, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t2_OovV, (7, 1, 2, 8), (3, 4, 7, 5, 6, 8)) - t3new += einsum(v.oovO, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t2_OovV, (7, 1, 2, 8), (3, 7, 4, 5, 6, 8)) * -1 - t3new += einsum(v.oovO, (0, 1, 2, 3), t2_ooVV, (0, 1, 4, 5), t2_OOvV, (6, 7, 2, 8), (3, 6, 7, 4, 5, 8)) * -0.5 - t3new += einsum(v.oVvv, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t2_OOvv, (7, 8, 2, 3), (4, 7, 8, 1, 5, 6)) * -0.5 - t3new += einsum(v.oVvv, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t2_OOvv, (7, 8, 2, 3), (7, 4, 8, 1, 5, 6)) * 0.5 - t3new += einsum(v.oVvv, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t2_OOvv, (7, 8, 2, 3), (4, 7, 8, 5, 1, 6)) * 0.5 - t3new += einsum(v.oVvv, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t2_OOvv, (7, 8, 2, 3), (7, 4, 8, 5, 1, 6)) * -0.5 - t3new += einsum(v.oVvv, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t2_OOvv, (7, 8, 2, 3), (7, 8, 4, 1, 5, 6)) * -0.5 - t3new += einsum(v.oVvv, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t2_OOvv, (7, 8, 2, 3), (7, 8, 4, 5, 1, 6)) * 0.5 - t3new += einsum(v.oVvv, (0, 1, 2, 3), t2_OovV, (4, 0, 2, 5), t2_OOvV, (6, 7, 3, 8), (6, 7, 4, 1, 5, 8)) - t3new += einsum(v.oVvv, (0, 1, 2, 3), t2_OovV, (4, 0, 2, 5), t2_OOvV, (6, 7, 3, 8), (6, 4, 7, 1, 5, 8)) * -1 - t3new += einsum(v.oVvv, (0, 1, 2, 3), t2_OovV, (4, 0, 2, 5), t2_OOvV, (6, 7, 3, 8), (6, 7, 4, 5, 1, 8)) * -1 - t3new += einsum(v.oVvv, (0, 1, 2, 3), t2_OovV, (4, 0, 2, 5), t2_OOvV, (6, 7, 3, 8), (6, 4, 7, 5, 1, 8)) - t3new += einsum(v.oVvv, (0, 1, 2, 3), t2_OovV, (4, 0, 2, 5), t2_OOvV, (6, 7, 3, 8), (4, 6, 7, 1, 5, 8)) - t3new += einsum(v.oVvv, (0, 1, 2, 3), t2_OovV, (4, 0, 2, 5), t2_OOvV, (6, 7, 3, 8), (4, 6, 7, 5, 1, 8)) * -1 - t3new += einsum(v.oVvv, (0, 1, 2, 3), t2_OOvV, (4, 5, 2, 6), t2_OovV, (7, 0, 3, 8), (7, 4, 5, 1, 6, 8)) - t3new += einsum(v.oVvv, (0, 1, 2, 3), t2_OOvV, (4, 5, 2, 6), t2_OovV, (7, 0, 3, 8), (4, 7, 5, 1, 6, 8)) * -1 - t3new += einsum(v.oVvv, (0, 1, 2, 3), t2_OOvV, (4, 5, 2, 6), t2_OovV, (7, 0, 3, 8), (7, 4, 5, 6, 1, 8)) * -1 - t3new += einsum(v.oVvv, (0, 1, 2, 3), t2_OOvV, (4, 5, 2, 6), t2_OovV, (7, 0, 3, 8), (4, 7, 5, 6, 1, 8)) - t3new += einsum(v.oVvv, (0, 1, 2, 3), t2_OOvV, (4, 5, 2, 6), t2_OovV, (7, 0, 3, 8), (4, 5, 7, 1, 6, 8)) - t3new += einsum(v.oVvv, (0, 1, 2, 3), t2_OOvV, (4, 5, 2, 6), t2_OovV, (7, 0, 3, 8), (4, 5, 7, 6, 1, 8)) * -1 - t3new += einsum(v.oVvv, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t2_OOvv, (7, 8, 2, 3), (4, 7, 8, 5, 6, 1)) * -0.5 - t3new += einsum(v.oVvv, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t2_OOvv, (7, 8, 2, 3), (7, 4, 8, 5, 6, 1)) * 0.5 - t3new += einsum(v.oVvv, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t2_OOvv, (7, 8, 2, 3), (7, 8, 4, 5, 6, 1)) * -0.5 - t3new += einsum(v.oVvv, (0, 1, 2, 3), t2_OovV, (4, 0, 2, 5), t2_OOvV, (6, 7, 3, 8), (6, 7, 4, 5, 8, 1)) - t3new += einsum(v.oVvv, (0, 1, 2, 3), t2_OovV, (4, 0, 2, 5), t2_OOvV, (6, 7, 3, 8), (6, 4, 7, 5, 8, 1)) * -1 - t3new += einsum(v.oVvv, (0, 1, 2, 3), t2_OovV, (4, 0, 2, 5), t2_OOvV, (6, 7, 3, 8), (4, 6, 7, 5, 8, 1)) - t3new += einsum(v.oVvv, (0, 1, 2, 3), t2_OOvV, (4, 5, 2, 6), t2_OovV, (7, 0, 3, 8), (7, 4, 5, 6, 8, 1)) - t3new += einsum(v.oVvv, (0, 1, 2, 3), t2_OOvV, (4, 5, 2, 6), t2_OovV, (7, 0, 3, 8), (4, 7, 5, 6, 8, 1)) * -1 - t3new += einsum(v.oVvv, (0, 1, 2, 3), t2_OOvV, (4, 5, 2, 6), t2_OovV, (7, 0, 3, 8), (4, 5, 7, 6, 8, 1)) - t3new += einsum(v.oovv, (0, 1, 2, 3), t2_OOvV, (4, 5, 3, 6), t2_OoVV, (7, 0, 8, 9), t1, (1, 2), (7, 4, 5, 6, 8, 9)) - t3new += einsum(v.oovv, (0, 1, 2, 3), t2_OOvV, (4, 5, 3, 6), t2_OoVV, (7, 0, 8, 9), t1, (1, 2), (4, 7, 5, 6, 8, 9)) * -1 - t3new += einsum(v.oovv, (0, 1, 2, 3), t2_OOvV, (4, 5, 3, 6), t2_OoVV, (7, 0, 8, 9), t1, (1, 2), (7, 4, 5, 8, 6, 9)) * -1 - t3new += einsum(v.oovv, (0, 1, 2, 3), t2_OOvV, (4, 5, 3, 6), t2_OoVV, (7, 0, 8, 9), t1, (1, 2), (4, 7, 5, 8, 6, 9)) - t3new += einsum(v.oovv, (0, 1, 2, 3), t2_OOvV, (4, 5, 3, 6), t2_OoVV, (7, 0, 8, 9), t1, (1, 2), (4, 5, 7, 6, 8, 9)) - t3new += einsum(v.oovv, (0, 1, 2, 3), t2_OOvV, (4, 5, 3, 6), t2_OoVV, (7, 0, 8, 9), t1, (1, 2), (4, 5, 7, 8, 6, 9)) * -1 - t3new += einsum(v.oovv, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t2_OOvV, (7, 8, 3, 9), t1, (1, 2), (4, 7, 8, 5, 6, 9)) - t3new += einsum(v.oovv, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t2_OOvV, (7, 8, 3, 9), t1, (1, 2), (7, 4, 8, 5, 6, 9)) * -1 - t3new += einsum(v.oovv, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t2_OOvV, (7, 8, 3, 9), t1, (1, 2), (7, 8, 4, 5, 6, 9)) - t3new += einsum(v.oovv, (0, 1, 2, 3), t2_OovV, (4, 1, 3, 5), t2_OoVV, (6, 0, 7, 8), t1_Ov, (9, 2), (6, 4, 9, 5, 7, 8)) * -1 - t3new += einsum(v.oovv, (0, 1, 2, 3), t2_OovV, (4, 1, 3, 5), t2_OoVV, (6, 0, 7, 8), t1_Ov, (9, 2), (4, 6, 9, 5, 7, 8)) - t3new += einsum(v.oovv, (0, 1, 2, 3), t2_OovV, (4, 1, 3, 5), t2_OoVV, (6, 0, 7, 8), t1_Ov, (9, 2), (6, 4, 9, 7, 5, 8)) - t3new += einsum(v.oovv, (0, 1, 2, 3), t2_OovV, (4, 1, 3, 5), t2_OoVV, (6, 0, 7, 8), t1_Ov, (9, 2), (4, 6, 9, 7, 5, 8)) * -1 - t3new += einsum(v.oovv, (0, 1, 2, 3), t2_OOvV, (4, 5, 3, 6), t2_ooVV, (0, 1, 7, 8), t1_Ov, (9, 2), (4, 5, 9, 6, 7, 8)) * 0.5 - t3new += einsum(v.oovv, (0, 1, 2, 3), t2_OOvV, (4, 5, 3, 6), t2_ooVV, (0, 1, 7, 8), t1_Ov, (9, 2), (4, 9, 5, 6, 7, 8)) * -0.5 - t3new += einsum(v.oovv, (0, 1, 2, 3), t2_OOvV, (4, 5, 3, 6), t2_ooVV, (0, 1, 7, 8), t1_Ov, (9, 2), (4, 5, 9, 7, 6, 8)) * -0.5 - t3new += einsum(v.oovv, (0, 1, 2, 3), t2_OOvV, (4, 5, 3, 6), t2_ooVV, (0, 1, 7, 8), t1_Ov, (9, 2), (4, 9, 5, 7, 6, 8)) * 0.5 - t3new += einsum(v.oovv, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t2_OovV, (7, 1, 3, 8), t1_Ov, (9, 2), (4, 7, 9, 5, 6, 8)) * -1 - t3new += einsum(v.oovv, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t2_OovV, (7, 1, 3, 8), t1_Ov, (9, 2), (7, 4, 9, 5, 6, 8)) - t3new += einsum(v.oovv, (0, 1, 2, 3), t2_ooVV, (0, 1, 4, 5), t2_OOvV, (6, 7, 3, 8), t1_Ov, (9, 2), (6, 7, 9, 4, 5, 8)) * 0.5 - t3new += einsum(v.oovv, (0, 1, 2, 3), t2_ooVV, (0, 1, 4, 5), t2_OOvV, (6, 7, 3, 8), t1_Ov, (9, 2), (6, 9, 7, 4, 5, 8)) * -0.5 - t3new += einsum(v.oovv, (0, 1, 2, 3), t2_OovV, (4, 1, 3, 5), t2_OoVV, (6, 0, 7, 8), t1_Ov, (9, 2), (6, 9, 4, 5, 7, 8)) - t3new += einsum(v.oovv, (0, 1, 2, 3), t2_OovV, (4, 1, 3, 5), t2_OoVV, (6, 0, 7, 8), t1_Ov, (9, 2), (4, 9, 6, 5, 7, 8)) * -1 - t3new += einsum(v.oovv, (0, 1, 2, 3), t2_OovV, (4, 1, 3, 5), t2_OoVV, (6, 0, 7, 8), t1_Ov, (9, 2), (6, 9, 4, 7, 5, 8)) * -1 - t3new += einsum(v.oovv, (0, 1, 2, 3), t2_OovV, (4, 1, 3, 5), t2_OoVV, (6, 0, 7, 8), t1_Ov, (9, 2), (4, 9, 6, 7, 5, 8)) - t3new += einsum(v.oovv, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t2_OovV, (7, 1, 3, 8), t1_Ov, (9, 2), (4, 9, 7, 5, 6, 8)) - t3new += einsum(v.oovv, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t2_OovV, (7, 1, 3, 8), t1_Ov, (9, 2), (7, 9, 4, 5, 6, 8)) * -1 - t3new += einsum(v.oovv, (0, 1, 2, 3), t2_OovV, (4, 1, 3, 5), t2_OoVV, (6, 0, 7, 8), t1_Ov, (9, 2), (9, 6, 4, 5, 7, 8)) * -1 - t3new += einsum(v.oovv, (0, 1, 2, 3), t2_OovV, (4, 1, 3, 5), t2_OoVV, (6, 0, 7, 8), t1_Ov, (9, 2), (9, 4, 6, 5, 7, 8)) - t3new += einsum(v.oovv, (0, 1, 2, 3), t2_OovV, (4, 1, 3, 5), t2_OoVV, (6, 0, 7, 8), t1_Ov, (9, 2), (9, 6, 4, 7, 5, 8)) - t3new += einsum(v.oovv, (0, 1, 2, 3), t2_OovV, (4, 1, 3, 5), t2_OoVV, (6, 0, 7, 8), t1_Ov, (9, 2), (9, 4, 6, 7, 5, 8)) * -1 - t3new += einsum(v.oovv, (0, 1, 2, 3), t2_OOvV, (4, 5, 3, 6), t2_ooVV, (0, 1, 7, 8), t1_Ov, (9, 2), (9, 4, 5, 6, 7, 8)) * 0.5 - t3new += einsum(v.oovv, (0, 1, 2, 3), t2_OOvV, (4, 5, 3, 6), t2_ooVV, (0, 1, 7, 8), t1_Ov, (9, 2), (9, 4, 5, 7, 6, 8)) * -0.5 - t3new += einsum(v.oovv, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t2_OovV, (7, 1, 3, 8), t1_Ov, (9, 2), (9, 4, 7, 5, 6, 8)) * -1 - t3new += einsum(v.oovv, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t2_OovV, (7, 1, 3, 8), t1_Ov, (9, 2), (9, 7, 4, 5, 6, 8)) - t3new += einsum(v.oovv, (0, 1, 2, 3), t2_ooVV, (0, 1, 4, 5), t2_OOvV, (6, 7, 3, 8), t1_Ov, (9, 2), (9, 6, 7, 4, 5, 8)) * 0.5 - t3new += einsum(v.oovv, (0, 1, 2, 3), t1_oV, (1, 4), t2_OoVV, (5, 0, 6, 7), t2_OOvv, (8, 9, 2, 3), (5, 8, 9, 4, 6, 7)) * 0.5 - t3new += einsum(v.oovv, (0, 1, 2, 3), t1_oV, (1, 4), t2_OoVV, (5, 0, 6, 7), t2_OOvv, (8, 9, 2, 3), (8, 5, 9, 4, 6, 7)) * -0.5 - t3new += einsum(v.oovv, (0, 1, 2, 3), t1_oV, (1, 4), t2_OoVV, (5, 0, 6, 7), t2_OOvv, (8, 9, 2, 3), (5, 8, 9, 6, 4, 7)) * -0.5 - t3new += einsum(v.oovv, (0, 1, 2, 3), t1_oV, (1, 4), t2_OoVV, (5, 0, 6, 7), t2_OOvv, (8, 9, 2, 3), (8, 5, 9, 6, 4, 7)) * 0.5 - t3new += einsum(v.oovv, (0, 1, 2, 3), t1_oV, (1, 4), t2_OoVV, (5, 0, 6, 7), t2_OOvv, (8, 9, 2, 3), (8, 9, 5, 4, 6, 7)) * 0.5 - t3new += einsum(v.oovv, (0, 1, 2, 3), t1_oV, (1, 4), t2_OoVV, (5, 0, 6, 7), t2_OOvv, (8, 9, 2, 3), (8, 9, 5, 6, 4, 7)) * -0.5 - t3new += einsum(v.oovv, (0, 1, 2, 3), t1_oV, (1, 4), t2_OovV, (5, 0, 2, 6), t2_OOvV, (7, 8, 3, 9), (7, 8, 5, 4, 6, 9)) * -1 - t3new += einsum(v.oovv, (0, 1, 2, 3), t1_oV, (1, 4), t2_OovV, (5, 0, 2, 6), t2_OOvV, (7, 8, 3, 9), (7, 5, 8, 4, 6, 9)) - t3new += einsum(v.oovv, (0, 1, 2, 3), t1_oV, (1, 4), t2_OovV, (5, 0, 2, 6), t2_OOvV, (7, 8, 3, 9), (7, 8, 5, 6, 4, 9)) - t3new += einsum(v.oovv, (0, 1, 2, 3), t1_oV, (1, 4), t2_OovV, (5, 0, 2, 6), t2_OOvV, (7, 8, 3, 9), (7, 5, 8, 6, 4, 9)) * -1 - t3new += einsum(v.oovv, (0, 1, 2, 3), t1_oV, (1, 4), t2_OovV, (5, 0, 2, 6), t2_OOvV, (7, 8, 3, 9), (5, 7, 8, 4, 6, 9)) * -1 - t3new += einsum(v.oovv, (0, 1, 2, 3), t1_oV, (1, 4), t2_OovV, (5, 0, 2, 6), t2_OOvV, (7, 8, 3, 9), (5, 7, 8, 6, 4, 9)) - t3new += einsum(v.oovv, (0, 1, 2, 3), t1_oV, (1, 4), t2_OOvV, (5, 6, 2, 7), t2_OovV, (8, 0, 3, 9), (8, 5, 6, 4, 7, 9)) * -1 - t3new += einsum(v.oovv, (0, 1, 2, 3), t1_oV, (1, 4), t2_OOvV, (5, 6, 2, 7), t2_OovV, (8, 0, 3, 9), (5, 8, 6, 4, 7, 9)) - t3new += einsum(v.oovv, (0, 1, 2, 3), t1_oV, (1, 4), t2_OOvV, (5, 6, 2, 7), t2_OovV, (8, 0, 3, 9), (8, 5, 6, 7, 4, 9)) - t3new += einsum(v.oovv, (0, 1, 2, 3), t1_oV, (1, 4), t2_OOvV, (5, 6, 2, 7), t2_OovV, (8, 0, 3, 9), (5, 8, 6, 7, 4, 9)) * -1 - t3new += einsum(v.oovv, (0, 1, 2, 3), t1_oV, (1, 4), t2_OOvV, (5, 6, 2, 7), t2_OovV, (8, 0, 3, 9), (5, 6, 8, 4, 7, 9)) * -1 - t3new += einsum(v.oovv, (0, 1, 2, 3), t1_oV, (1, 4), t2_OOvV, (5, 6, 2, 7), t2_OovV, (8, 0, 3, 9), (5, 6, 8, 7, 4, 9)) - t3new += einsum(v.oovv, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t1_oV, (1, 7), t2_OOvv, (8, 9, 2, 3), (4, 8, 9, 5, 6, 7)) * 0.5 - t3new += einsum(v.oovv, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t1_oV, (1, 7), t2_OOvv, (8, 9, 2, 3), (8, 4, 9, 5, 6, 7)) * -0.5 - t3new += einsum(v.oovv, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t1_oV, (1, 7), t2_OOvv, (8, 9, 2, 3), (8, 9, 4, 5, 6, 7)) * 0.5 - t3new += einsum(v.oovv, (0, 1, 2, 3), t2_OovV, (4, 0, 2, 5), t2_OOvV, (6, 7, 3, 8), t1_oV, (1, 9), (6, 7, 4, 5, 8, 9)) * -1 - t3new += einsum(v.oovv, (0, 1, 2, 3), t2_OovV, (4, 0, 2, 5), t2_OOvV, (6, 7, 3, 8), t1_oV, (1, 9), (6, 4, 7, 5, 8, 9)) - t3new += einsum(v.oovv, (0, 1, 2, 3), t2_OovV, (4, 0, 2, 5), t2_OOvV, (6, 7, 3, 8), t1_oV, (1, 9), (4, 6, 7, 5, 8, 9)) * -1 - t3new += einsum(v.oovv, (0, 1, 2, 3), t2_OOvV, (4, 5, 2, 6), t2_OovV, (7, 0, 3, 8), t1_oV, (1, 9), (7, 4, 5, 6, 8, 9)) * -1 - t3new += einsum(v.oovv, (0, 1, 2, 3), t2_OOvV, (4, 5, 2, 6), t2_OovV, (7, 0, 3, 8), t1_oV, (1, 9), (4, 7, 5, 6, 8, 9)) - t3new += einsum(v.oovv, (0, 1, 2, 3), t2_OOvV, (4, 5, 2, 6), t2_OovV, (7, 0, 3, 8), t1_oV, (1, 9), (4, 5, 7, 6, 8, 9)) * -1 - t3new += einsum(v.oovO, (0, 1, 2, 3), t1_oV, (1, 4), t2_OoVV, (5, 0, 6, 7), t1_Ov, (8, 2), (5, 8, 3, 4, 6, 7)) - t3new += einsum(v.oovO, (0, 1, 2, 3), t1_oV, (1, 4), t2_OoVV, (5, 0, 6, 7), t1_Ov, (8, 2), (8, 5, 3, 4, 6, 7)) * -1 - t3new += einsum(v.oovO, (0, 1, 2, 3), t1_oV, (1, 4), t2_OoVV, (5, 0, 6, 7), t1_Ov, (8, 2), (5, 8, 3, 6, 4, 7)) * -1 - t3new += einsum(v.oovO, (0, 1, 2, 3), t1_oV, (1, 4), t2_OoVV, (5, 0, 6, 7), t1_Ov, (8, 2), (8, 5, 3, 6, 4, 7)) - t3new += einsum(v.oovO, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t1_oV, (1, 7), t1_Ov, (8, 2), (4, 8, 3, 5, 6, 7)) - t3new += einsum(v.oovO, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t1_oV, (1, 7), t1_Ov, (8, 2), (8, 4, 3, 5, 6, 7)) * -1 - t3new += einsum(v.oovO, (0, 1, 2, 3), t1_oV, (1, 4), t1_oV, (0, 5), t2_OOvV, (6, 7, 2, 8), (6, 7, 3, 4, 5, 8)) - t3new += einsum(v.oovO, (0, 1, 2, 3), t1_oV, (1, 4), t1_oV, (0, 5), t2_OOvV, (6, 7, 2, 8), (6, 3, 7, 4, 5, 8)) * -1 - t3new += einsum(v.oovO, (0, 1, 2, 3), t1_oV, (1, 4), t1_oV, (0, 5), t2_OOvV, (6, 7, 2, 8), (6, 7, 3, 4, 8, 5)) * -1 - t3new += einsum(v.oovO, (0, 1, 2, 3), t1_oV, (1, 4), t1_oV, (0, 5), t2_OOvV, (6, 7, 2, 8), (6, 3, 7, 4, 8, 5)) - t3new += einsum(v.oovO, (0, 1, 2, 3), t2_OOvV, (4, 5, 2, 6), t1_oV, (1, 7), t1_oV, (0, 8), (4, 5, 3, 6, 7, 8)) - t3new += einsum(v.oovO, (0, 1, 2, 3), t2_OOvV, (4, 5, 2, 6), t1_oV, (1, 7), t1_oV, (0, 8), (4, 3, 5, 6, 7, 8)) * -1 - t3new += einsum(v.oovO, (0, 1, 2, 3), t1_oV, (1, 4), t2_OoVV, (5, 0, 6, 7), t1_Ov, (8, 2), (5, 3, 8, 4, 6, 7)) * -1 - t3new += einsum(v.oovO, (0, 1, 2, 3), t1_oV, (1, 4), t2_OoVV, (5, 0, 6, 7), t1_Ov, (8, 2), (8, 3, 5, 4, 6, 7)) - t3new += einsum(v.oovO, (0, 1, 2, 3), t1_oV, (1, 4), t2_OoVV, (5, 0, 6, 7), t1_Ov, (8, 2), (5, 3, 8, 6, 4, 7)) - t3new += einsum(v.oovO, (0, 1, 2, 3), t1_oV, (1, 4), t2_OoVV, (5, 0, 6, 7), t1_Ov, (8, 2), (8, 3, 5, 6, 4, 7)) * -1 - t3new += einsum(v.oovO, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t1_oV, (1, 7), t1_Ov, (8, 2), (4, 3, 8, 5, 6, 7)) * -1 - t3new += einsum(v.oovO, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t1_oV, (1, 7), t1_Ov, (8, 2), (8, 3, 4, 5, 6, 7)) - t3new += einsum(v.oovO, (0, 1, 2, 3), t1_oV, (1, 4), t2_OoVV, (5, 0, 6, 7), t1_Ov, (8, 2), (3, 5, 8, 4, 6, 7)) - t3new += einsum(v.oovO, (0, 1, 2, 3), t1_oV, (1, 4), t2_OoVV, (5, 0, 6, 7), t1_Ov, (8, 2), (3, 8, 5, 4, 6, 7)) * -1 - t3new += einsum(v.oovO, (0, 1, 2, 3), t1_oV, (1, 4), t2_OoVV, (5, 0, 6, 7), t1_Ov, (8, 2), (3, 5, 8, 6, 4, 7)) * -1 - t3new += einsum(v.oovO, (0, 1, 2, 3), t1_oV, (1, 4), t2_OoVV, (5, 0, 6, 7), t1_Ov, (8, 2), (3, 8, 5, 6, 4, 7)) - t3new += einsum(v.oovO, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t1_oV, (1, 7), t1_Ov, (8, 2), (3, 4, 8, 5, 6, 7)) - t3new += einsum(v.oovO, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t1_oV, (1, 7), t1_Ov, (8, 2), (3, 8, 4, 5, 6, 7)) * -1 - t3new += einsum(v.oovO, (0, 1, 2, 3), t1_oV, (1, 4), t1_oV, (0, 5), t2_OOvV, (6, 7, 2, 8), (3, 6, 7, 4, 5, 8)) - t3new += einsum(v.oovO, (0, 1, 2, 3), t1_oV, (1, 4), t1_oV, (0, 5), t2_OOvV, (6, 7, 2, 8), (3, 6, 7, 4, 8, 5)) * -1 - t3new += einsum(v.oovO, (0, 1, 2, 3), t2_OOvV, (4, 5, 2, 6), t1_oV, (1, 7), t1_oV, (0, 8), (3, 4, 5, 6, 7, 8)) - t3new += einsum(v.oVvv, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t1_Ov, (7, 2), t1_Ov, (8, 3), (4, 8, 7, 1, 5, 6)) - t3new += einsum(v.oVvv, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t1_Ov, (7, 2), t1_Ov, (8, 3), (8, 4, 7, 1, 5, 6)) * -1 - t3new += einsum(v.oVvv, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t1_Ov, (7, 2), t1_Ov, (8, 3), (4, 8, 7, 5, 1, 6)) * -1 - t3new += einsum(v.oVvv, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t1_Ov, (7, 2), t1_Ov, (8, 3), (8, 4, 7, 5, 1, 6)) - t3new += einsum(v.oVvv, (0, 1, 2, 3), t1_oV, (0, 4), t2_OOvV, (5, 6, 3, 7), t1_Ov, (8, 2), (5, 6, 8, 1, 4, 7)) - t3new += einsum(v.oVvv, (0, 1, 2, 3), t1_oV, (0, 4), t2_OOvV, (5, 6, 3, 7), t1_Ov, (8, 2), (5, 8, 6, 1, 4, 7)) * -1 - t3new += einsum(v.oVvv, (0, 1, 2, 3), t1_oV, (0, 4), t2_OOvV, (5, 6, 3, 7), t1_Ov, (8, 2), (5, 6, 8, 1, 7, 4)) * -1 - t3new += einsum(v.oVvv, (0, 1, 2, 3), t1_oV, (0, 4), t2_OOvV, (5, 6, 3, 7), t1_Ov, (8, 2), (5, 8, 6, 1, 7, 4)) - t3new += einsum(v.oVvv, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t1_Ov, (7, 2), t1_Ov, (8, 3), (8, 7, 4, 1, 5, 6)) - t3new += einsum(v.oVvv, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t1_Ov, (7, 2), t1_Ov, (8, 3), (8, 7, 4, 5, 1, 6)) * -1 - t3new += einsum(v.oVvv, (0, 1, 2, 3), t1_oV, (0, 4), t2_OOvV, (5, 6, 3, 7), t1_Ov, (8, 2), (8, 5, 6, 1, 4, 7)) - t3new += einsum(v.oVvv, (0, 1, 2, 3), t1_oV, (0, 4), t2_OOvV, (5, 6, 3, 7), t1_Ov, (8, 2), (8, 5, 6, 1, 7, 4)) * -1 - t3new += einsum(v.oVvv, (0, 1, 2, 3), t1_oV, (0, 4), t2_OOvV, (5, 6, 3, 7), t1_Ov, (8, 2), (5, 6, 8, 4, 1, 7)) * -1 - t3new += einsum(v.oVvv, (0, 1, 2, 3), t1_oV, (0, 4), t2_OOvV, (5, 6, 3, 7), t1_Ov, (8, 2), (5, 8, 6, 4, 1, 7)) - t3new += einsum(v.oVvv, (0, 1, 2, 3), t1_oV, (0, 4), t2_OOvV, (5, 6, 3, 7), t1_Ov, (8, 2), (5, 6, 8, 7, 1, 4)) - t3new += einsum(v.oVvv, (0, 1, 2, 3), t1_oV, (0, 4), t2_OOvV, (5, 6, 3, 7), t1_Ov, (8, 2), (5, 8, 6, 7, 1, 4)) * -1 - t3new += einsum(v.oVvv, (0, 1, 2, 3), t1_oV, (0, 4), t2_OOvV, (5, 6, 3, 7), t1_Ov, (8, 2), (8, 5, 6, 4, 1, 7)) * -1 - t3new += einsum(v.oVvv, (0, 1, 2, 3), t1_oV, (0, 4), t2_OOvV, (5, 6, 3, 7), t1_Ov, (8, 2), (8, 5, 6, 7, 1, 4)) - t3new += einsum(v.oVvv, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t1_Ov, (7, 2), t1_Ov, (8, 3), (4, 8, 7, 5, 6, 1)) - t3new += einsum(v.oVvv, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t1_Ov, (7, 2), t1_Ov, (8, 3), (8, 4, 7, 5, 6, 1)) * -1 - t3new += einsum(v.oVvv, (0, 1, 2, 3), t1_oV, (0, 4), t2_OOvV, (5, 6, 3, 7), t1_Ov, (8, 2), (5, 6, 8, 4, 7, 1)) - t3new += einsum(v.oVvv, (0, 1, 2, 3), t1_oV, (0, 4), t2_OOvV, (5, 6, 3, 7), t1_Ov, (8, 2), (5, 8, 6, 4, 7, 1)) * -1 - t3new += einsum(v.oVvv, (0, 1, 2, 3), t1_oV, (0, 4), t2_OOvV, (5, 6, 3, 7), t1_Ov, (8, 2), (5, 6, 8, 7, 4, 1)) * -1 - t3new += einsum(v.oVvv, (0, 1, 2, 3), t1_oV, (0, 4), t2_OOvV, (5, 6, 3, 7), t1_Ov, (8, 2), (5, 8, 6, 7, 4, 1)) - t3new += einsum(v.oVvv, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t1_Ov, (7, 2), t1_Ov, (8, 3), (8, 7, 4, 5, 6, 1)) - t3new += einsum(v.oVvv, (0, 1, 2, 3), t1_oV, (0, 4), t2_OOvV, (5, 6, 3, 7), t1_Ov, (8, 2), (8, 5, 6, 4, 7, 1)) - t3new += einsum(v.oVvv, (0, 1, 2, 3), t1_oV, (0, 4), t2_OOvV, (5, 6, 3, 7), t1_Ov, (8, 2), (8, 5, 6, 7, 4, 1)) * -1 - t3new += einsum(v.Oovv, (0, 1, 2, 3), t3, (4, 5, 0, 6, 7, 8), t1, (1, 2), t1_Ov, (9, 3), (4, 5, 9, 6, 7, 8)) - t3new += einsum(v.Oovv, (0, 1, 2, 3), t3, (4, 5, 0, 6, 7, 8), t1, (1, 2), t1_Ov, (9, 3), (4, 9, 5, 6, 7, 8)) * -1 - t3new += einsum(v.Oovv, (0, 1, 2, 3), t3, (4, 5, 0, 6, 7, 8), t1, (1, 2), t1_Ov, (9, 3), (9, 4, 5, 6, 7, 8)) - t3new += einsum(v.oovV, (0, 1, 2, 3), t1_oV, (0, 4), t3, (5, 6, 7, 3, 8, 9), t1, (1, 2), (5, 6, 7, 4, 8, 9)) - t3new += einsum(v.oovV, (0, 1, 2, 3), t1_oV, (0, 4), t3, (5, 6, 7, 3, 8, 9), t1, (1, 2), (5, 6, 7, 8, 4, 9)) * -1 - t3new += einsum(v.oovV, (0, 1, 2, 3), t3, (4, 5, 6, 3, 7, 8), t1_oV, (0, 9), t1, (1, 2), (4, 5, 6, 7, 8, 9)) - t3new += einsum(v.OOvv, (0, 1, 2, 3), t3, (4, 0, 1, 5, 6, 7), t1_Ov, (8, 2), t1_Ov, (9, 3), (4, 9, 8, 5, 6, 7)) * -0.5 - t3new += einsum(v.OOvv, (0, 1, 2, 3), t3, (4, 0, 1, 5, 6, 7), t1_Ov, (8, 2), t1_Ov, (9, 3), (9, 4, 8, 5, 6, 7)) * 0.5 - t3new += einsum(v.OovV, (0, 1, 2, 3), t1_oV, (1, 4), t3, (5, 6, 0, 3, 7, 8), t1_Ov, (9, 2), (5, 6, 9, 4, 7, 8)) - t3new += einsum(v.OovV, (0, 1, 2, 3), t1_oV, (1, 4), t3, (5, 6, 0, 3, 7, 8), t1_Ov, (9, 2), (5, 9, 6, 4, 7, 8)) * -1 - t3new += einsum(v.OovV, (0, 1, 2, 3), t1_oV, (1, 4), t3, (5, 6, 0, 3, 7, 8), t1_Ov, (9, 2), (5, 6, 9, 7, 4, 8)) * -1 - t3new += einsum(v.OovV, (0, 1, 2, 3), t1_oV, (1, 4), t3, (5, 6, 0, 3, 7, 8), t1_Ov, (9, 2), (5, 9, 6, 7, 4, 8)) - t3new += einsum(v.OovV, (0, 1, 2, 3), t3, (4, 5, 0, 3, 6, 7), t1_oV, (1, 8), t1_Ov, (9, 2), (4, 5, 9, 6, 7, 8)) - t3new += einsum(v.OovV, (0, 1, 2, 3), t3, (4, 5, 0, 3, 6, 7), t1_oV, (1, 8), t1_Ov, (9, 2), (4, 9, 5, 6, 7, 8)) * -1 - t3new += einsum(v.OOvv, (0, 1, 2, 3), t3, (4, 0, 1, 5, 6, 7), t1_Ov, (8, 2), t1_Ov, (9, 3), (9, 8, 4, 5, 6, 7)) * -0.5 - t3new += einsum(v.OovV, (0, 1, 2, 3), t1_oV, (1, 4), t3, (5, 6, 0, 3, 7, 8), t1_Ov, (9, 2), (9, 5, 6, 4, 7, 8)) - t3new += einsum(v.OovV, (0, 1, 2, 3), t1_oV, (1, 4), t3, (5, 6, 0, 3, 7, 8), t1_Ov, (9, 2), (9, 5, 6, 7, 4, 8)) * -1 - t3new += einsum(v.OovV, (0, 1, 2, 3), t3, (4, 5, 0, 3, 6, 7), t1_oV, (1, 8), t1_Ov, (9, 2), (9, 4, 5, 6, 7, 8)) - t3new += einsum(v.ooVV, (0, 1, 2, 3), t1_oV, (1, 4), t1_oV, (0, 5), t3, (6, 7, 8, 2, 3, 9), (6, 7, 8, 4, 5, 9)) * -0.5 - t3new += einsum(v.ooVV, (0, 1, 2, 3), t1_oV, (1, 4), t1_oV, (0, 5), t3, (6, 7, 8, 2, 3, 9), (6, 7, 8, 4, 9, 5)) * 0.5 - t3new += einsum(v.ooVV, (0, 1, 2, 3), t3, (4, 5, 6, 2, 3, 7), t1_oV, (1, 8), t1_oV, (0, 9), (4, 5, 6, 7, 8, 9)) * -0.5 - t3new += einsum(v.oovv, (0, 1, 2, 3), t1_oV, (1, 4), t2_OoVV, (5, 0, 6, 7), t1_Ov, (8, 2), t1_Ov, (9, 3), (5, 9, 8, 4, 6, 7)) * -1 - t3new += einsum(v.oovv, (0, 1, 2, 3), t1_oV, (1, 4), t2_OoVV, (5, 0, 6, 7), t1_Ov, (8, 2), t1_Ov, (9, 3), (9, 5, 8, 4, 6, 7)) - t3new += einsum(v.oovv, (0, 1, 2, 3), t1_oV, (1, 4), t2_OoVV, (5, 0, 6, 7), t1_Ov, (8, 2), t1_Ov, (9, 3), (5, 9, 8, 6, 4, 7)) - t3new += einsum(v.oovv, (0, 1, 2, 3), t1_oV, (1, 4), t2_OoVV, (5, 0, 6, 7), t1_Ov, (8, 2), t1_Ov, (9, 3), (9, 5, 8, 6, 4, 7)) * -1 - t3new += einsum(v.oovv, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t1_oV, (1, 7), t1_Ov, (8, 2), t1_Ov, (9, 3), (4, 9, 8, 5, 6, 7)) * -1 - t3new += einsum(v.oovv, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t1_oV, (1, 7), t1_Ov, (8, 2), t1_Ov, (9, 3), (9, 4, 8, 5, 6, 7)) - t3new += einsum(v.oovv, (0, 1, 2, 3), t1_oV, (1, 4), t1_oV, (0, 5), t2_OOvV, (6, 7, 3, 8), t1_Ov, (9, 2), (6, 7, 9, 4, 5, 8)) * -1 - t3new += einsum(v.oovv, (0, 1, 2, 3), t1_oV, (1, 4), t1_oV, (0, 5), t2_OOvV, (6, 7, 3, 8), t1_Ov, (9, 2), (6, 9, 7, 4, 5, 8)) - t3new += einsum(v.oovv, (0, 1, 2, 3), t1_oV, (1, 4), t1_oV, (0, 5), t2_OOvV, (6, 7, 3, 8), t1_Ov, (9, 2), (6, 7, 9, 4, 8, 5)) - t3new += einsum(v.oovv, (0, 1, 2, 3), t1_oV, (1, 4), t1_oV, (0, 5), t2_OOvV, (6, 7, 3, 8), t1_Ov, (9, 2), (6, 9, 7, 4, 8, 5)) * -1 - t3new += einsum(v.oovv, (0, 1, 2, 3), t2_OOvV, (4, 5, 3, 6), t1_oV, (1, 7), t1_oV, (0, 8), t1_Ov, (9, 2), (4, 5, 9, 6, 7, 8)) * -1 - t3new += einsum(v.oovv, (0, 1, 2, 3), t2_OOvV, (4, 5, 3, 6), t1_oV, (1, 7), t1_oV, (0, 8), t1_Ov, (9, 2), (4, 9, 5, 6, 7, 8)) - t3new += einsum(v.oovv, (0, 1, 2, 3), t1_oV, (1, 4), t2_OoVV, (5, 0, 6, 7), t1_Ov, (8, 2), t1_Ov, (9, 3), (9, 8, 5, 4, 6, 7)) * -1 - t3new += einsum(v.oovv, (0, 1, 2, 3), t1_oV, (1, 4), t2_OoVV, (5, 0, 6, 7), t1_Ov, (8, 2), t1_Ov, (9, 3), (9, 8, 5, 6, 4, 7)) - t3new += einsum(v.oovv, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), t1_oV, (1, 7), t1_Ov, (8, 2), t1_Ov, (9, 3), (9, 8, 4, 5, 6, 7)) * -1 - t3new += einsum(v.oovv, (0, 1, 2, 3), t1_oV, (1, 4), t1_oV, (0, 5), t2_OOvV, (6, 7, 3, 8), t1_Ov, (9, 2), (9, 6, 7, 4, 5, 8)) * -1 - t3new += einsum(v.oovv, (0, 1, 2, 3), t1_oV, (1, 4), t1_oV, (0, 5), t2_OOvV, (6, 7, 3, 8), t1_Ov, (9, 2), (9, 6, 7, 4, 8, 5)) - t3new += einsum(v.oovv, (0, 1, 2, 3), t2_OOvV, (4, 5, 3, 6), t1_oV, (1, 7), t1_oV, (0, 8), t1_Ov, (9, 2), (9, 4, 5, 6, 7, 8)) * -1 - - t1new[np.ix_(sO, sV)] += t1new_OV - t2new[np.ix_(so, sO, sV, sV)] += t2new_oOVV - t2new[np.ix_(sO, so, sV, sV)] += t2new_OoVV - t2new[np.ix_(sO, sO, sv, sV)] += t2new_OOvV - t2new[np.ix_(sO, sO, sV, sv)] += t2new_OOVv - t2new[np.ix_(sO, sO, sV, sV)] += t2new_OOVV - - return {f"t1new": t1new, f"t2new": t2new, f"t3new": t3new} - diff --git a/ebcc/codegen/GDCD.py b/ebcc/codegen/GDCD.py deleted file mode 100644 index 52b74966..00000000 --- a/ebcc/codegen/GDCD.py +++ /dev/null @@ -1,98 +0,0 @@ -""" -Code generated by `albert`: -https://github.com/obackhouse/albert - - * date: 2024-07-18T10:45:41.806783 - * python version: 3.10.12 (main, Mar 22 2024, 16:50:05) [GCC 11.4.0] - * albert version: 0.0.0 - * caller: /home/ollie/git/albert/albert/codegen/einsum.py - * node: ollie-desktop - * system: Linux - * processor: x86_64 - * release: 6.5.0-44-generic -""" - -from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, direct_sum, Namespace - - -def energy(t2=None, v=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-07-18T10:45:41.856098. - - Parameters - ---------- - t2 : array - T2 amplitudes. - v : array - Electron repulsion integrals. - - Returns - ------- - e_cc : float - Coupled cluster energy. - """ - - e_cc = einsum(v.oovv, (0, 1, 2, 3), t2, (0, 1, 2, 3), (), optimize=True) * 0.25 - - return e_cc - -def update_amps(f=None, t2=None, v=None, vs=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-07-18T10:45:42.682494. - - Parameters - ---------- - f : array - Fock matrix. - t2 : array - T2 amplitudes. - v : array - Electron repulsion integrals. - vs : array - - Returns - ------- - t2new : array - Updated T2 residuals. - """ - - tmp3 = einsum(vs, (0, 1, 2, 3), t2, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) - tmp1 = einsum(t2, (0, 1, 2, 3), v.oovv, (0, 1, 3, 4), (2, 4), optimize=True) * -1 - tmp4 = einsum(tmp3, (0, 1, 2, 3), t2, (4, 1, 5, 3), (0, 4, 2, 5), optimize=True) - del tmp3 - tmp2 = einsum(tmp1, (0, 1), t2, (2, 3, 4, 1), (2, 3, 4, 0), optimize=True) - del tmp1 - tmp6 = einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 2, 3), (0, 4), optimize=True) * -1 - tmp8 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 2, 5, 1), (4, 0, 5, 3), optimize=True) - t2new = tmp8.transpose((1, 0, 3, 2)).copy() * -1 - t2new += tmp8.transpose((1, 0, 2, 3)) - t2new += tmp8.transpose((0, 1, 3, 2)) - t2new += tmp8 * -1 - del tmp8 - tmp0 = einsum(f.oo, (0, 1), t2, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) - t2new += tmp0.transpose((1, 0, 3, 2)) - t2new += tmp0.transpose((0, 1, 3, 2)) * -1 - del tmp0 - tmp5 = tmp2.copy() * -0.25 - del tmp2 - tmp5 += tmp4 - del tmp4 - t2new += tmp5.transpose((0, 1, 3, 2)) * -1 - t2new += tmp5 - del tmp5 - tmp9 = einsum(f.vv, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4), optimize=True) - t2new += tmp9.transpose((1, 0, 3, 2)) * -1 - t2new += tmp9.transpose((1, 0, 2, 3)) - del tmp9 - tmp7 = einsum(tmp6, (0, 1), t2, (2, 1, 3, 4), (2, 0, 3, 4), optimize=True) - del tmp6 - t2new += tmp7.transpose((1, 0, 3, 2)) * -0.25 - t2new += tmp7.transpose((0, 1, 3, 2)) * 0.25 - del tmp7 - t2new += einsum(v.vvvv, (0, 1, 2, 3), t2, (4, 5, 3, 2), (5, 4, 1, 0), optimize=True) * -0.5 - t2new += v.oovv.transpose((1, 0, 3, 2)) - t2new += einsum(v.oooo, (0, 1, 2, 3), t2, (3, 2, 4, 5), (1, 0, 5, 4), optimize=True) * -0.5 - - return {f"t2new": t2new} - diff --git a/ebcc/codegen/GDCSD.py b/ebcc/codegen/GDCSD.py deleted file mode 100644 index 3725dfac..00000000 --- a/ebcc/codegen/GDCSD.py +++ /dev/null @@ -1,237 +0,0 @@ -""" -Code generated by `albert`: -https://github.com/obackhouse/albert - - * date: 2024-07-18T10:47:32.748769 - * python version: 3.10.12 (main, Mar 22 2024, 16:50:05) [GCC 11.4.0] - * albert version: 0.0.0 - * caller: /home/ollie/git/albert/albert/codegen/einsum.py - * node: ollie-desktop - * system: Linux - * processor: x86_64 - * release: 6.5.0-44-generic -""" - -from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, direct_sum, Namespace - - -def energy(f=None, t1=None, t2=None, v=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-07-18T10:47:32.905608. - - Parameters - ---------- - f : array - Fock matrix. - t1 : array - T1 amplitudes. - t2 : array - T2 amplitudes. - v : array - Electron repulsion integrals. - - Returns - ------- - e_cc : float - Coupled cluster energy. - """ - - tmp0 = t2.transpose((1, 0, 3, 2)).copy() - tmp0 += einsum(t1, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) * 2 - e_cc = einsum(tmp0, (0, 1, 2, 3), v.oovv, (0, 1, 2, 3), (), optimize=True) * 0.25 - del tmp0 - e_cc += einsum(f.ov, (0, 1), t1, (0, 1), (), optimize=True) - - return e_cc - -def update_amps(f=None, t1=None, t2=None, v=None, vs=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-07-18T10:47:38.042285. - - Parameters - ---------- - f : array - Fock matrix. - t1 : array - T1 amplitudes. - t2 : array - T2 amplitudes. - v : array - Electron repulsion integrals. - vs : array - - Returns - ------- - t1new : array - Updated T1 residuals. - t2new : array - Updated T2 residuals. - """ - - tmp3 = einsum(t1, (0, 1), v.oovv, (2, 0, 3, 1), (2, 3), optimize=True) - tmp19 = einsum(t2, (0, 1, 2, 3), f.ov, (4, 3), (4, 0, 1, 2), optimize=True) - tmp20 = einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 2, 3), (0, 1, 4, 5), optimize=True) - tmp10 = einsum(v.ooov, (0, 1, 2, 3), t2, (4, 0, 5, 3), (4, 1, 2, 5), optimize=True) * -1 - tmp12 = t2.transpose((1, 0, 3, 2)).copy() - tmp12 += einsum(t1, (0, 1), t1, (2, 3), (2, 0, 1, 3), optimize=True) * -1 - tmp6 = einsum(t1, (0, 1), v.ooov, (0, 2, 3, 1), (2, 3), optimize=True) * -1 - tmp34 = einsum(tmp3, (0, 1), t1, (2, 1), (2, 0), optimize=True) - tmp42 = einsum(t1, (0, 1), v.ovvv, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) - tmp0 = einsum(v.oovv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2), optimize=True) - tmp25 = einsum(v.oovv, (0, 1, 2, 3), t2, (4, 0, 2, 3), (4, 1), optimize=True) * -1 - tmp5 = einsum(t1, (0, 1), f.ov, (2, 1), (2, 0), optimize=True) - tmp27 = einsum(v.ooov, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2), optimize=True) - tmp7 = t2.transpose((1, 0, 3, 2)).copy() - tmp7 += einsum(t1, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) * 2 - tmp17 = einsum(vs, (0, 1, 2, 3), t2, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) - tmp21 = tmp19.transpose((0, 2, 1, 3)).copy() * -1 - del tmp19 - tmp21 += tmp20.transpose((2, 1, 0, 3)) * 0.5 - del tmp20 - tmp15 = einsum(v.oovv, (0, 1, 2, 3), t2, (0, 1, 4, 2), (4, 3), optimize=True) * -1 - tmp37 = einsum(t1, (0, 1), v.ovvv, (0, 2, 1, 3), (2, 3), optimize=True) * -1 - tmp39 = einsum(tmp3, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4), optimize=True) * -1 - tmp11 = einsum(t1, (0, 1), tmp10, (2, 0, 3, 4), (2, 3, 1, 4), optimize=True) - del tmp10 - tmp13 = einsum(tmp12, (0, 1, 2, 3), v.ovov, (0, 4, 5, 2), (1, 5, 3, 4), optimize=True) - del tmp12 - tmp32 = einsum(t1, (0, 1), v.ovvv, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) - tmp33 = einsum(t2, (0, 1, 2, 3), tmp6, (1, 4), (0, 4, 2, 3), optimize=True) * -1 - tmp35 = einsum(t2, (0, 1, 2, 3), tmp34, (4, 1), (4, 0, 2, 3), optimize=True) * -1 - del tmp34 - tmp51 = einsum(t1, (0, 1), v.oovv, (2, 0, 3, 4), (2, 1, 3, 4), optimize=True) - tmp44 = einsum(tmp42, (0, 1, 2, 3), t1, (4, 3), (0, 4, 1, 2), optimize=True) * -1 - tmp46 = einsum(t1, (0, 1), v.ooov, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) - tmp47 = einsum(t2, (0, 1, 2, 3), f.vv, (4, 3), (0, 1, 4, 2), optimize=True) - tmp30 = einsum(t2, (0, 1, 2, 3), tmp0, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) - tmp26 = einsum(t2, (0, 1, 2, 3), tmp25, (4, 1), (0, 4, 2, 3), optimize=True) - del tmp25 - tmp24 = einsum(t2, (0, 1, 2, 3), tmp5, (1, 4), (4, 0, 2, 3), optimize=True) - tmp28 = einsum(tmp7, (0, 1, 2, 3), tmp27, (4, 0, 1, 5), (4, 5, 2, 3), optimize=True) * 0.5 - del tmp27 - tmp18 = einsum(t2, (0, 1, 2, 3), tmp17, (4, 1, 5, 3), (0, 4, 2, 5), optimize=True) - del tmp17 - tmp22 = einsum(tmp21, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4), optimize=True) - del tmp21 - tmp16 = einsum(t2, (0, 1, 2, 3), tmp15, (4, 3), (0, 1, 2, 4), optimize=True) - del tmp15 - tmp38 = einsum(t2, (0, 1, 2, 3), tmp37, (4, 3), (0, 1, 2, 4), optimize=True) * -1 - del tmp37 - tmp40 = einsum(tmp39, (0, 1, 2, 3), t1, (2, 4), (0, 1, 4, 3), optimize=True) - del tmp39 - tmp50 = v.oooo.transpose((2, 3, 1, 0)).copy() * -1 - tmp50 += einsum(t1, (0, 1), tmp0, (2, 3, 4, 1), (4, 3, 0, 2), optimize=True) * -1 - t2new = einsum(tmp50, (0, 1, 2, 3), tmp7, (0, 1, 4, 5), (2, 3, 5, 4), optimize=True) * -0.5 - del tmp50 - tmp14 = tmp11.copy() - del tmp11 - tmp14 += tmp13 * -1 - del tmp13 - t2new += tmp14.transpose((1, 0, 3, 2)) - t2new += tmp14.transpose((1, 0, 2, 3)) * -1 - t2new += tmp14.transpose((0, 1, 3, 2)) * -1 - t2new += tmp14 - del tmp14 - tmp36 = tmp32.transpose((0, 1, 3, 2)).copy() * -1 - del tmp32 - tmp36 += tmp33.transpose((0, 1, 3, 2)) - del tmp33 - tmp36 += tmp35.transpose((0, 1, 3, 2)) * -1 - del tmp35 - t2new += tmp36.transpose((1, 0, 2, 3)) - t2new += tmp36 * -1 - del tmp36 - tmp52 = v.vvvv.transpose((2, 3, 1, 0)).copy() * -1 - tmp52 += einsum(t1, (0, 1), tmp51, (0, 2, 3, 4), (4, 3, 1, 2), optimize=True) * -1 - del tmp51 - t2new += einsum(tmp52, (0, 1, 2, 3), t2, (4, 5, 0, 1), (5, 4, 2, 3), optimize=True) * -0.5 - del tmp52 - tmp45 = einsum(t1, (0, 1), tmp44, (2, 3, 0, 4), (3, 2, 1, 4), optimize=True) * -1 - del tmp44 - t2new += tmp45.transpose((0, 1, 3, 2)) - t2new += tmp45 * -1 - del tmp45 - tmp43 = einsum(t2, (0, 1, 2, 3), tmp42, (4, 1, 5, 3), (4, 0, 2, 5), optimize=True) * -1 - del tmp42 - t2new += tmp43.transpose((1, 0, 3, 2)) - t2new += tmp43.transpose((1, 0, 2, 3)) * -1 - t2new += tmp43.transpose((0, 1, 3, 2)) * -1 - t2new += tmp43 - del tmp43 - tmp48 = tmp46.transpose((1, 0, 2, 3)).copy() * -1 - del tmp46 - tmp48 += tmp47.transpose((1, 0, 2, 3)) * -1 - del tmp47 - t2new += tmp48.transpose((0, 1, 3, 2)) - t2new += tmp48 * -1 - del tmp48 - tmp31 = einsum(t1, (0, 1), tmp30, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) - del tmp30 - t2new += tmp31.transpose((1, 0, 3, 2)) * -1 - t2new += tmp31.transpose((1, 0, 2, 3)) - t2new += tmp31.transpose((0, 1, 3, 2)) - t2new += tmp31 * -1 - del tmp31 - tmp49 = einsum(f.oo, (0, 1), t2, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) - t2new += tmp49.transpose((1, 0, 3, 2)) - t2new += tmp49.transpose((0, 1, 3, 2)) * -1 - del tmp49 - tmp29 = tmp24.transpose((0, 1, 3, 2)).copy() - del tmp24 - tmp29 += tmp26.transpose((0, 1, 3, 2)) * -0.25 - del tmp26 - tmp29 += tmp28.transpose((0, 1, 3, 2)) * -1 - del tmp28 - t2new += tmp29.transpose((1, 0, 2, 3)) - t2new += tmp29 * -1 - del tmp29 - tmp9 = einsum(v.vvvv, (0, 1, 2, 3), t1, (4, 2), (4, 0, 1, 3), optimize=True) * -1 - t2new += einsum(t1, (0, 1), tmp9, (2, 3, 4, 1), (0, 2, 4, 3), optimize=True) * -1 - del tmp9 - tmp23 = tmp16.copy() * -0.25 - del tmp16 - tmp23 += tmp18 - del tmp18 - tmp23 += tmp22.transpose((1, 0, 3, 2)) * -1 - del tmp22 - t2new += tmp23.transpose((0, 1, 3, 2)) * -1 - t2new += tmp23 - del tmp23 - tmp41 = tmp38.copy() - del tmp38 - tmp41 += tmp40 * -1 - del tmp40 - t2new += tmp41.transpose((0, 1, 3, 2)) * -1 - t2new += tmp41 - del tmp41 - tmp4 = f.ov.copy() - tmp4 += tmp3 - del tmp3 - t1new = einsum(t2, (0, 1, 2, 3), tmp4, (0, 2), (1, 3), optimize=True) - del tmp4 - tmp2 = t2.transpose((1, 0, 3, 2)).copy() * 0.5 - tmp2 += einsum(t1, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) - t1new += einsum(tmp2, (0, 1, 2, 3), v.ovvv, (0, 4, 2, 3), (1, 4), optimize=True) - del tmp2 - tmp8 = f.oo.transpose((1, 0)).copy() * 2 - tmp8 += tmp5 * 2 - del tmp5 - tmp8 += tmp6 * 2 - del tmp6 - tmp8 += einsum(v.oovv, (0, 1, 2, 3), tmp7, (0, 4, 2, 3), (1, 4), optimize=True) - del tmp7 - t1new += einsum(t1, (0, 1), tmp8, (0, 2), (2, 1), optimize=True) * -0.5 - del tmp8 - tmp1 = v.ooov.transpose((2, 1, 0, 3)).copy() - tmp1 += tmp0.transpose((0, 2, 1, 3)) * -1 - del tmp0 - t1new += einsum(t2, (0, 1, 2, 3), tmp1, (4, 0, 1, 2), (4, 3), optimize=True) * -0.5 - del tmp1 - t1new += einsum(v.ovov, (0, 1, 2, 3), t1, (2, 1), (0, 3), optimize=True) * -1 - t1new += f.ov - t1new += einsum(f.vv, (0, 1), t1, (2, 1), (2, 0), optimize=True) - t2new += v.oovv.transpose((1, 0, 3, 2)) - - return {f"t1new": t1new, f"t2new": t2new} - diff --git a/ebcc/codegen/GMP2.py b/ebcc/codegen/GMP2.py deleted file mode 100644 index 58c7bd4d..00000000 --- a/ebcc/codegen/GMP2.py +++ /dev/null @@ -1,38 +0,0 @@ -""" -Code generated by `albert`: -https://github.com/obackhouse/albert - - * date: 2024-07-18T09:26:28.737892 - * python version: 3.10.12 (main, Mar 22 2024, 16:50:05) [GCC 11.4.0] - * albert version: 0.0.0 - * caller: /home/ollie/git/albert/albert/codegen/einsum.py - * node: ollie-desktop - * system: Linux - * processor: x86_64 - * release: 6.5.0-44-generic -""" - -from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, direct_sum, Namespace - - -def energy(t2=None, v=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-07-18T09:26:28.774405. - - Parameters - ---------- - t2 : array - T2 amplitudes. - v : array - Electron repulsion integrals. - - Returns - ------- - e_mp : array - """ - - e_mp = einsum(v.oovv, (0, 1, 2, 3), t2, (0, 1, 2, 3), (), optimize=True) * 0.25 - - return e_mp - diff --git a/ebcc/codegen/GMP3.py b/ebcc/codegen/GMP3.py deleted file mode 100644 index 7ff877af..00000000 --- a/ebcc/codegen/GMP3.py +++ /dev/null @@ -1,45 +0,0 @@ -""" -Code generated by `albert`: -https://github.com/obackhouse/albert - - * date: 2024-07-18T09:27:02.280687 - * python version: 3.10.12 (main, Mar 22 2024, 16:50:05) [GCC 11.4.0] - * albert version: 0.0.0 - * caller: /home/ollie/git/albert/albert/codegen/einsum.py - * node: ollie-desktop - * system: Linux - * processor: x86_64 - * release: 6.5.0-44-generic -""" - -from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, direct_sum, Namespace - - -def energy(t2=None, v=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-07-18T09:27:02.541877. - - Parameters - ---------- - t2 : array - T2 amplitudes. - v : array - Electron repulsion integrals. - - Returns - ------- - e_mp : array - """ - - tmp0 = einsum(t2, (0, 1, 2, 3), t2, (4, 5, 2, 3), (0, 5, 4, 1), optimize=True) * -1 - e_mp = einsum(tmp0, (0, 1, 2, 3), v.oooo, (0, 3, 1, 2), (), optimize=True) * 0.125 - del tmp0 - tmp1 = v.oovv.transpose((1, 0, 3, 2)).copy() * 2 - tmp1 += einsum(v.ovov, (0, 1, 2, 3), t2, (0, 4, 3, 5), (2, 4, 1, 5), optimize=True) * -8 - tmp1 += einsum(v.vvvv, (0, 1, 2, 3), t2, (4, 5, 3, 2), (5, 4, 1, 0), optimize=True) * -1 - e_mp += einsum(tmp1, (0, 1, 2, 3), t2, (0, 1, 2, 3), (), optimize=True) * 0.125 - del tmp1 - - return e_mp - diff --git a/ebcc/codegen/GQCISD.py b/ebcc/codegen/GQCISD.py deleted file mode 100644 index 47b7d40e..00000000 --- a/ebcc/codegen/GQCISD.py +++ /dev/null @@ -1,127 +0,0 @@ -""" -Code generated by `albert`: -https://github.com/obackhouse/albert - - * date: 2024-07-18T09:48:58.798733 - * python version: 3.10.12 (main, Mar 22 2024, 16:50:05) [GCC 11.4.0] - * albert version: 0.0.0 - * caller: /home/ollie/git/albert/albert/codegen/einsum.py - * node: ollie-desktop - * system: Linux - * processor: x86_64 - * release: 6.5.0-44-generic -""" - -from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, direct_sum, Namespace - - -def energy(t2=None, v=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-07-18T09:48:58.836955. - - Parameters - ---------- - t2 : array - T2 amplitudes. - v : array - Electron repulsion integrals. - - Returns - ------- - e_cc : float - Coupled cluster energy. - """ - - e_cc = einsum(v.oovv, (0, 1, 2, 3), t2, (0, 1, 2, 3), (), optimize=True) * 0.25 - - return e_cc - -def update_amps(f=None, t1=None, t2=None, v=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-07-18T09:49:00.164938. - - Parameters - ---------- - f : array - Fock matrix. - t1 : array - T1 amplitudes. - t2 : array - T2 amplitudes. - v : array - Electron repulsion integrals. - - Returns - ------- - t1new : array - Updated T1 residuals. - t2new : array - Updated T2 residuals. - """ - - tmp2 = einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 2, 3), (0, 4), optimize=True) * -1 - tmp5 = einsum(t2, (0, 1, 2, 3), f.vv, (4, 3), (0, 1, 4, 2), optimize=True) - tmp4 = einsum(v.ooov, (0, 1, 2, 3), t1, (2, 4), (0, 1, 4, 3), optimize=True) - tmp10 = einsum(v.oovv, (0, 1, 2, 3), t2, (0, 1, 4, 2), (4, 3), optimize=True) * -1 - tmp8 = einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 3, 5), (0, 4, 2, 5), optimize=True) - tmp14 = einsum(t2, (0, 1, 2, 3), f.oo, (4, 1), (4, 0, 2, 3), optimize=True) - t2new = tmp14.transpose((1, 0, 3, 2)).copy() - t2new += tmp14.transpose((0, 1, 3, 2)) * -1 - del tmp14 - tmp12 = einsum(t2, (0, 1, 2, 3), tmp2, (4, 1), (0, 4, 2, 3), optimize=True) - t2new += tmp12.transpose((1, 0, 3, 2)) * -0.5 - t2new += tmp12.transpose((0, 1, 3, 2)) * 0.5 - del tmp12 - tmp13 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 3, 1, 5), (0, 4, 2, 5), optimize=True) - t2new += tmp13.transpose((1, 0, 3, 2)) * -1 - t2new += tmp13.transpose((1, 0, 2, 3)) - t2new += tmp13.transpose((0, 1, 3, 2)) - t2new += tmp13 * -1 - del tmp13 - tmp7 = einsum(t1, (0, 1), v.ovvv, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) - t2new += tmp7.transpose((1, 0, 3, 2)) * -1 - t2new += tmp7.transpose((0, 1, 3, 2)) - del tmp7 - tmp6 = tmp4.transpose((1, 0, 2, 3)).copy() * -1 - del tmp4 - tmp6 += tmp5.transpose((1, 0, 2, 3)) * -1 - del tmp5 - t2new += tmp6.transpose((0, 1, 3, 2)) - t2new += tmp6 * -1 - del tmp6 - tmp11 = einsum(t2, (0, 1, 2, 3), tmp10, (4, 3), (0, 1, 2, 4), optimize=True) - del tmp10 - t2new += tmp11.transpose((0, 1, 3, 2)) * 0.5 - t2new += tmp11 * -0.5 - del tmp11 - tmp9 = einsum(t2, (0, 1, 2, 3), tmp8, (4, 1, 5, 3), (0, 4, 2, 5), optimize=True) - del tmp8 - t2new += tmp9.transpose((0, 1, 3, 2)) * -1 - t2new += tmp9 - del tmp9 - tmp15 = v.oooo.transpose((2, 3, 1, 0)).copy() * -1 - tmp15 += einsum(v.oovv, (0, 1, 2, 3), t2, (4, 5, 2, 3), (1, 0, 5, 4), optimize=True) * 0.5 - t2new += einsum(t2, (0, 1, 2, 3), tmp15, (0, 1, 4, 5), (4, 5, 3, 2), optimize=True) * -0.5 - del tmp15 - tmp0 = v.ooov.transpose((2, 1, 0, 3)).copy() - tmp0 += einsum(v.oovv, (0, 1, 2, 3), t1, (4, 3), (4, 1, 0, 2), optimize=True) * -1 - t1new = einsum(t2, (0, 1, 2, 3), tmp0, (4, 0, 1, 2), (4, 3), optimize=True) * -0.5 - del tmp0 - tmp1 = f.ov.copy() - tmp1 += einsum(t1, (0, 1), v.oovv, (2, 0, 3, 1), (2, 3), optimize=True) - t1new += einsum(t2, (0, 1, 2, 3), tmp1, (0, 2), (1, 3), optimize=True) - del tmp1 - tmp3 = f.oo.transpose((1, 0)).copy() * 2 - tmp3 += tmp2.transpose((1, 0)) - del tmp2 - t1new += einsum(tmp3, (0, 1), t1, (0, 2), (1, 2), optimize=True) * -0.5 - del tmp3 - t1new += einsum(t1, (0, 1), f.vv, (2, 1), (0, 2), optimize=True) - t1new += einsum(v.ovov, (0, 1, 2, 3), t1, (2, 1), (0, 3), optimize=True) * -1 - t1new += einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 0, 2, 3), (4, 1), optimize=True) * -0.5 - t2new += v.oovv.transpose((1, 0, 3, 2)) - t2new += einsum(v.vvvv, (0, 1, 2, 3), t2, (4, 5, 3, 2), (5, 4, 1, 0), optimize=True) * -0.5 - - return {f"t1new": t1new, f"t2new": t2new} - diff --git a/ebcc/codegen/RCC2.py b/ebcc/codegen/RCC2.py deleted file mode 100644 index 71c8a272..00000000 --- a/ebcc/codegen/RCC2.py +++ /dev/null @@ -1,1278 +0,0 @@ -""" -Code generated by `albert`: -https://github.com/obackhouse/albert - - * date: 2024-02-29T20:30:56.696292 - * python version: 3.10.12 (main, Nov 20 2023, 15:14:05) [GCC 11.4.0] - * albert version: 0.0.0 - * caller: /home/ollie/git/albert/albert/codegen/einsum.py - * node: ollie-desktop - * system: Linux - * processor: x86_64 - * release: 6.5.0-21-generic -""" - -from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, Namespace - - -def energy(f=None, t1=None, t2=None, v=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-02-29T20:30:57.154832. - - Parameters - ---------- - f : array - Fock matrix. - t1 : array - T1 amplitudes. - t2 : array - T2 amplitudes. - v : array - Electron repulsion integrals. - - Returns - ------- - e_cc : float - Coupled cluster energy. - """ - - tmp0 = v.ovov.transpose((2, 0, 3, 1)).copy() * -0.5 - tmp0 += v.ovov.transpose((2, 0, 1, 3)) - tmp1 = einsum(t1, (0, 1), tmp0, (0, 2, 3, 1), (2, 3), optimize=True) - del tmp0 - tmp1 += f.ov - e_cc = einsum(t1, (0, 1), tmp1, (0, 1), (), optimize=True) * 2 - del tmp1 - e_cc += einsum(v.ovov, (0, 1, 2, 3), t2, (0, 2, 3, 1), (), optimize=True) * -1 - e_cc += einsum(t2, (0, 1, 2, 3), v.ovov, (0, 2, 1, 3), (), optimize=True) * 2 - - return e_cc - -def update_amps(f=None, t1=None, t2=None, v=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-02-29T20:31:00.999402. - - Parameters - ---------- - f : array - Fock matrix. - t1 : array - T1 amplitudes. - t2 : array - T2 amplitudes. - v : array - Electron repulsion integrals. - - Returns - ------- - t1new : array - Updated T1 residuals. - t2new : array - Updated T2 residuals. - """ - - tmp2 = einsum(t1, (0, 1), v.ovov, (2, 3, 4, 1), (0, 2, 4, 3), optimize=True) - tmp30 = einsum(tmp2, (0, 1, 2, 3), t1, (4, 3), (1, 4, 0, 2), optimize=True) - tmp30 += v.oooo.transpose((2, 3, 1, 0)) - tmp31 = einsum(tmp30, (0, 1, 2, 3), t1, (0, 4), (2, 1, 3, 4), optimize=True) - del tmp30 - tmp31 += v.ooov.transpose((1, 2, 0, 3)) * -1 - t2new = einsum(t1, (0, 1), tmp31, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) - del tmp31 - tmp29 = einsum(t2, (0, 1, 2, 3), f.oo, (4, 1), (4, 0, 2, 3), optimize=True) - t2new += tmp29.transpose((1, 0, 2, 3)) * -1 - t2new += tmp29.transpose((0, 1, 3, 2)) * -1 - del tmp29 - tmp15 = einsum(v.ovvv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2), optimize=True) - tmp27 = einsum(tmp15, (0, 1, 2, 3), t1, (4, 2), (4, 0, 1, 3), optimize=True) - tmp28 = einsum(t1, (0, 1), tmp27, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) - del tmp27 - t2new += tmp28.transpose((1, 0, 3, 2)) * -1 - t2new += tmp28 * -1 - del tmp28 - tmp26 = einsum(tmp2, (0, 1, 2, 3), t1, (2, 4), (0, 1, 4, 3), optimize=True) - t2new += tmp26.transpose((1, 0, 3, 2)) * -1 - t2new += tmp26 * -1 - del tmp26 - tmp22 = einsum(t1, (0, 1), v.oovv, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) - tmp23 = tmp22.transpose((2, 0, 1, 3)).copy() - del tmp22 - tmp21 = einsum(t2, (0, 1, 2, 3), f.ov, (4, 3), (4, 0, 1, 2), optimize=True) - tmp23 += tmp21 - del tmp21 - tmp24 = einsum(tmp23, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4), optimize=True) - del tmp23 - tmp25 = tmp24.transpose((0, 1, 3, 2)).copy() - del tmp24 - tmp8 = einsum(f.ov, (0, 1), t1, (2, 1), (0, 2), optimize=True) - tmp20 = einsum(t2, (0, 1, 2, 3), tmp8, (1, 4), (4, 0, 2, 3), optimize=True) - tmp25 += tmp20 - del tmp20 - t2new += tmp25.transpose((1, 0, 2, 3)) * -1 - t2new += tmp25.transpose((0, 1, 3, 2)) * -1 - del tmp25 - tmp16 = einsum(t1, (0, 1), v.ooov, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) - tmp17 = einsum(t1, (0, 1), tmp16, (2, 3, 4, 0), (2, 4, 3, 1), optimize=True) - del tmp16 - tmp18 = einsum(tmp17, (0, 1, 2, 3), t1, (1, 4), (0, 2, 4, 3), optimize=True) - del tmp17 - tmp19 = tmp18.copy() - del tmp18 - tmp19 += tmp15 - del tmp15 - tmp14 = einsum(f.vv, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4), optimize=True) - tmp19 += tmp14 - del tmp14 - t2new += tmp19.transpose((1, 0, 2, 3)) - t2new += tmp19.transpose((0, 1, 3, 2)) - del tmp19 - tmp13 = einsum(v.vvvv, (0, 1, 2, 3), t1, (4, 2), (4, 0, 1, 3), optimize=True) - t2new += einsum(t1, (0, 1), tmp13, (2, 3, 1, 4), (0, 2, 3, 4), optimize=True) - del tmp13 - t2new += einsum(v.ooov, (0, 1, 2, 3), t1, (1, 4), (2, 0, 3, 4), optimize=True) * -1 - t2new += v.ovov.transpose((2, 0, 3, 1)) - tmp11 = v.ooov.transpose((1, 2, 0, 3)).copy() * -0.5 - tmp11 += v.ooov.transpose((1, 0, 2, 3)) - tmp12 = einsum(t1, (0, 1), tmp11, (2, 3, 0, 1), (3, 2), optimize=True) * 2 - del tmp11 - tmp10 = einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) - tmp10 += t2.transpose((1, 0, 3, 2)) - tmp9 = v.ovov.transpose((2, 0, 3, 1)).copy() * 2 - tmp9 += v.ovov.transpose((2, 0, 1, 3)) * -1 - tmp12 += einsum(tmp9, (0, 1, 2, 3), tmp10, (0, 4, 2, 3), (1, 4), optimize=True) - del tmp9, tmp10 - tmp12 += tmp8 - del tmp8 - tmp12 += f.oo.transpose((1, 0)) - t1new = einsum(tmp12, (0, 1), t1, (0, 2), (1, 2), optimize=True) * -1 - del tmp12 - tmp7 = v.oovv.transpose((1, 0, 3, 2)).copy() * -1 - tmp7 += v.ovov.transpose((2, 0, 3, 1)) * 2 - t1new += einsum(t1, (0, 1), tmp7, (0, 2, 1, 3), (2, 3), optimize=True) - del tmp7 - tmp6 = t2.transpose((1, 0, 3, 2)).copy() * -1 - tmp6 += t2.transpose((1, 0, 2, 3)) * 2 - tmp4 = v.ovov.transpose((2, 0, 3, 1)).copy() * -1 - tmp4 += v.ovov.transpose((2, 0, 1, 3)) * 2 - tmp5 = einsum(t1, (0, 1), tmp4, (0, 2, 3, 1), (2, 3), optimize=True) - del tmp4 - tmp5 += f.ov - t1new += einsum(tmp5, (0, 1), tmp6, (0, 2, 3, 1), (2, 3), optimize=True) - del tmp5, tmp6 - tmp3 = tmp2.transpose((0, 2, 1, 3)).copy() - tmp3 += tmp2 * -0.5 - del tmp2 - tmp3 += v.ooov.transpose((1, 2, 0, 3)) * -0.5 - tmp3 += v.ooov.transpose((1, 0, 2, 3)) - t1new += einsum(t2, (0, 1, 2, 3), tmp3, (4, 0, 1, 3), (4, 2), optimize=True) * -2 - del tmp3 - tmp1 = v.ovvv.transpose((0, 3, 1, 2)).copy() * 2 - tmp1 += v.ovvv.transpose((0, 1, 3, 2)) * -1 - tmp0 = einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) - tmp0 += t2.transpose((1, 0, 3, 2)) - t1new += einsum(tmp0, (0, 1, 2, 3), tmp1, (0, 3, 2, 4), (1, 4), optimize=True) - del tmp0, tmp1 - t1new += einsum(f.vv, (0, 1), t1, (2, 1), (2, 0), optimize=True) - t1new += f.ov - - return {f"t1new": t1new, f"t2new": t2new} - -def update_lams(f=None, l1=None, l2=None, t1=None, t2=None, v=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-02-29T20:31:31.910682. - - Parameters - ---------- - f : array - Fock matrix. - l1 : array - L1 amplitudes. - l2 : array - L2 amplitudes. - t1 : array - T1 amplitudes. - t2 : array - T2 amplitudes. - v : array - Electron repulsion integrals. - - Returns - ------- - l1new : array - Updated L1 residuals. - l2new : array - Updated L2 residuals. - """ - - tmp8 = einsum(t1, (0, 1), v.ovov, (2, 3, 4, 1), (0, 2, 4, 3), optimize=True) - tmp26 = einsum(t1, (0, 1), tmp8, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) - tmp104 = tmp26.transpose((0, 2, 3, 1)).copy() - tmp104 += v.oooo.transpose((2, 3, 1, 0)) - l2new = einsum(tmp104, (0, 1, 2, 3), l2, (4, 5, 0, 3), (5, 4, 2, 1), optimize=True) - del tmp104 - tmp101 = einsum(t1, (0, 1), v.ooov, (2, 3, 0, 1), (2, 3), optimize=True) - tmp102 = einsum(l2, (0, 1, 2, 3), tmp101, (4, 3), (2, 4, 0, 1), optimize=True) - del tmp101 - tmp103 = tmp102.copy() * 2 - del tmp102 - tmp100 = einsum(v.ooov, (0, 1, 2, 3), l1, (4, 1), (0, 2, 4, 3), optimize=True) - tmp103 += tmp100 - del tmp100 - l2new += tmp103.transpose((3, 2, 1, 0)) * -1 - l2new += tmp103.transpose((2, 3, 0, 1)) * -1 - del tmp103 - tmp98 = einsum(v.ovvv, (0, 1, 2, 3), t1, (0, 2), (1, 3), optimize=True) - tmp99 = einsum(l2, (0, 1, 2, 3), tmp98, (4, 1), (2, 3, 0, 4), optimize=True) - del tmp98 - l2new += tmp99.transpose((3, 2, 1, 0)) * -1 - l2new += tmp99.transpose((2, 3, 0, 1)) * -1 - del tmp99 - tmp50 = einsum(l1, (0, 1), t1, (2, 0), (1, 2), optimize=True) - tmp96 = einsum(tmp50, (0, 1), v.ovov, (2, 3, 1, 4), (0, 2, 3, 4), optimize=True) - tmp97 = tmp96.copy() - del tmp96 - tmp95 = einsum(l1, (0, 1), tmp8, (1, 2, 3, 4), (2, 3, 0, 4), optimize=True) - tmp97 += tmp95 - del tmp95 - tmp94 = einsum(l2, (0, 1, 2, 3), f.oo, (4, 3), (4, 2, 0, 1), optimize=True) - tmp97 += tmp94 - del tmp94 - l2new += tmp97.transpose((2, 3, 1, 0)) * -1 - l2new += tmp97.transpose((3, 2, 0, 1)) * -1 - del tmp97 - tmp54 = v.ovov.transpose((2, 0, 3, 1)).copy() * -1 - tmp54 += v.ovov.transpose((2, 0, 1, 3)) * 2 - tmp88 = einsum(tmp54, (0, 1, 2, 3), t1, (0, 3), (1, 2), optimize=True) - tmp93 = einsum(l1, (0, 1), tmp88, (2, 3), (1, 2, 0, 3), optimize=True) - tmp17 = einsum(l2, (0, 1, 2, 3), t1, (4, 0), (3, 2, 4, 1), optimize=True) - tmp92 = einsum(tmp88, (0, 1), tmp17, (2, 3, 0, 4), (2, 3, 4, 1), optimize=True) - tmp93 += tmp92 * -1 - del tmp92 - tmp89 = einsum(t1, (0, 1), tmp88, (2, 1), (0, 2), optimize=True) - del tmp88 - tmp90 = tmp89.copy() * -1 - del tmp89 - tmp87 = einsum(v.ooov, (0, 1, 2, 3), t1, (0, 3), (1, 2), optimize=True) - tmp90 += tmp87 - del tmp87 - tmp91 = einsum(tmp90, (0, 1), l2, (2, 3, 0, 4), (4, 1, 2, 3), optimize=True) - del tmp90 - tmp93 += tmp91.transpose((0, 1, 3, 2)) - del tmp91 - tmp85 = tmp8.transpose((0, 2, 1, 3)).copy() * -1 - tmp85 += tmp8 * 2 - tmp86 = einsum(tmp17, (0, 1, 2, 3), tmp85, (1, 4, 2, 5), (0, 4, 3, 5), optimize=True) - del tmp85 - tmp93 += tmp86 * -1 - del tmp86 - tmp44 = tmp17.transpose((1, 0, 2, 3)).copy() * -1 - tmp44 += tmp17 * 2 - tmp84 = einsum(v.ooov, (0, 1, 2, 3), tmp44, (4, 0, 1, 5), (2, 4, 3, 5), optimize=True) - tmp93 += tmp84.transpose((1, 0, 3, 2)) * -1 - del tmp84 - tmp24 = einsum(v.ovvv, (0, 1, 2, 3), t1, (4, 1), (4, 0, 2, 3), optimize=True) - tmp71 = tmp24.transpose((0, 1, 3, 2)).copy() - tmp71 += v.oovv.transpose((1, 0, 3, 2)) - tmp83 = einsum(tmp71, (0, 1, 2, 3), l2, (2, 4, 0, 5), (5, 1, 4, 3), optimize=True) - tmp93 += tmp83 * -1 - del tmp83 - tmp80 = einsum(v.ovvv, (0, 1, 2, 3), t1, (4, 2), (4, 0, 1, 3), optimize=True) - tmp81 = tmp80.copy() - del tmp80 - tmp81 += v.ovov.transpose((2, 0, 1, 3)) - tmp79 = l2.transpose((3, 2, 1, 0)).copy() * -1 - tmp79 += l2.transpose((3, 2, 0, 1)) * 2 - tmp82 = einsum(tmp81, (0, 1, 2, 3), tmp79, (0, 4, 5, 3), (4, 1, 5, 2), optimize=True) - del tmp81, tmp79 - tmp93 += tmp82 - del tmp82 - tmp78 = einsum(tmp8, (0, 1, 2, 3), tmp17, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) - tmp93 += tmp78 - del tmp78 - tmp77 = einsum(tmp17, (0, 1, 2, 3), v.ovvv, (2, 4, 5, 3), (1, 0, 4, 5), optimize=True) - tmp93 += tmp77 * -1 - del tmp77 - tmp75 = einsum(v.ovvv, (0, 1, 2, 3), t1, (0, 1), (2, 3), optimize=True) - tmp76 = einsum(l2, (0, 1, 2, 3), tmp75, (4, 1), (2, 3, 0, 4), optimize=True) - del tmp75 - tmp93 += tmp76 * 2 - del tmp76 - tmp74 = einsum(tmp17, (0, 1, 2, 3), v.ooov, (4, 1, 2, 5), (0, 4, 3, 5), optimize=True) - tmp93 += tmp74 - del tmp74 - tmp93 += einsum(f.ov, (0, 1), l1, (2, 3), (0, 3, 1, 2), optimize=True) - l2new += tmp93.transpose((3, 2, 1, 0)) - l2new += tmp93.transpose((2, 3, 0, 1)) - del tmp93 - tmp72 = einsum(tmp71, (0, 1, 2, 3), l2, (4, 2, 0, 5), (5, 1, 4, 3), optimize=True) - del tmp71 - tmp73 = tmp72.copy() * -1 - del tmp72 - tmp70 = einsum(tmp17, (0, 1, 2, 3), tmp8, (0, 2, 4, 5), (1, 4, 3, 5), optimize=True) - tmp73 += tmp70 - del tmp70 - tmp69 = einsum(tmp17, (0, 1, 2, 3), v.ooov, (4, 0, 2, 5), (1, 4, 3, 5), optimize=True) - tmp73 += tmp69 - del tmp69 - tmp12 = einsum(t1, (0, 1), v.ooov, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) - tmp68 = einsum(tmp12, (0, 1, 2, 3), l2, (4, 5, 1, 0), (2, 3, 5, 4), optimize=True) - tmp73 += tmp68 - del tmp68 - tmp67 = einsum(tmp17, (0, 1, 2, 3), f.ov, (2, 4), (0, 1, 4, 3), optimize=True) - tmp73 += tmp67 * -1 - del tmp67 - tmp65 = einsum(f.ov, (0, 1), t1, (2, 1), (0, 2), optimize=True) - tmp66 = einsum(l2, (0, 1, 2, 3), tmp65, (4, 3), (4, 2, 0, 1), optimize=True) - del tmp65 - tmp73 += tmp66 * -1 - del tmp66 - tmp64 = einsum(v.ovvv, (0, 1, 2, 3), l1, (3, 4), (4, 0, 1, 2), optimize=True) - tmp73 += tmp64 - del tmp64 - tmp63 = einsum(f.vv, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2), optimize=True) - tmp73 += tmp63 - del tmp63 - l2new += tmp73.transpose((2, 3, 1, 0)) - l2new += tmp73.transpose((3, 2, 0, 1)) - del tmp73 - l2new += einsum(v.vvvv, (0, 1, 2, 3), l2, (1, 3, 4, 5), (2, 0, 5, 4), optimize=True) - tmp36 = einsum(tmp17, (0, 1, 2, 3), t1, (4, 3), (1, 0, 2, 4), optimize=True) - l2new += einsum(tmp36, (0, 1, 2, 3), v.ovov, (2, 4, 3, 5), (5, 4, 1, 0), optimize=True) - l2new += v.ovov.transpose((3, 1, 2, 0)) - tmp5 = v.ovov.transpose((2, 0, 3, 1)).copy() * -0.5 - tmp5 += v.ovov.transpose((2, 0, 1, 3)) - tmp6 = einsum(t1, (0, 1), tmp5, (0, 2, 3, 1), (2, 3), optimize=True) * 2 - del tmp5 - tmp59 = tmp6.copy() - tmp59 += f.ov - tmp62 = einsum(t1, (0, 1), tmp59, (2, 1), (0, 2), optimize=True) - tmp61 = v.ooov.transpose((2, 1, 0, 3)).copy() * -0.5 - tmp61 += v.ooov.transpose((1, 0, 2, 3)) - tmp62 += einsum(t1, (0, 1), tmp61, (2, 3, 0, 1), (3, 2), optimize=True) * 2 - del tmp61 - tmp39 = t2.transpose((1, 0, 3, 2)).copy() * 2 - tmp39 += t2.transpose((1, 0, 2, 3)) * -1 - tmp62 += einsum(tmp39, (0, 1, 2, 3), v.ovov, (0, 2, 4, 3), (1, 4), optimize=True) - tmp62 += f.oo.transpose((1, 0)) - l1new = einsum(tmp62, (0, 1), l1, (2, 0), (2, 1), optimize=True) * -1 - del tmp62 - tmp16 = t2.transpose((1, 0, 3, 2)).copy() - tmp16 += t2.transpose((1, 0, 2, 3)) * -0.5 - tmp60 = einsum(tmp16, (0, 1, 2, 3), l2, (2, 3, 0, 4), (4, 1), optimize=True) * 2 - tmp60 += tmp50 - l1new += einsum(tmp59, (0, 1), tmp60, (2, 0), (1, 2), optimize=True) * -1 - del tmp59, tmp60 - tmp57 = v.ovvv.transpose((0, 3, 1, 2)).copy() * -0.5 - tmp57 += v.ovvv.transpose((0, 1, 3, 2)) - tmp58 = einsum(t1, (0, 1), tmp57, (0, 1, 2, 3), (3, 2), optimize=True) * 2 - del tmp57 - tmp58 += f.vv.transpose((1, 0)) - l1new += einsum(l1, (0, 1), tmp58, (0, 2), (2, 1), optimize=True) - del tmp58 - tmp56 = v.oovv.transpose((1, 0, 3, 2)).copy() * -1 - tmp56 += v.ovov.transpose((2, 0, 3, 1)) * 2 - l1new += einsum(tmp56, (0, 1, 2, 3), l1, (2, 0), (3, 1), optimize=True) - del tmp56 - tmp55 = v.ooov.transpose((1, 2, 0, 3)).copy() - tmp55 += v.ooov.transpose((1, 0, 2, 3)) * -0.5 - tmp51 = einsum(tmp16, (0, 1, 2, 3), l2, (2, 3, 0, 4), (4, 1), optimize=True) - tmp52 = tmp51.copy() - del tmp51 - tmp52 += tmp50 * 0.5 - del tmp50 - l1new += einsum(tmp52, (0, 1), tmp55, (0, 2, 1, 3), (3, 2), optimize=True) * -4 - del tmp55 - tmp53 = einsum(tmp52, (0, 1), t1, (0, 2), (1, 2), optimize=True) - del tmp52 - tmp15 = t2.transpose((1, 0, 3, 2)).copy() * -1 - tmp15 += t2.transpose((1, 0, 2, 3)) * 2 - tmp53 += einsum(tmp15, (0, 1, 2, 3), l1, (3, 0), (1, 2), optimize=True) * -0.5 - tmp47 = t2.transpose((1, 0, 3, 2)).copy() * -0.5 - tmp47 += t2.transpose((1, 0, 2, 3)) - tmp53 += einsum(tmp17, (0, 1, 2, 3), tmp47, (1, 0, 3, 4), (2, 4), optimize=True) - tmp53 += t1 * -0.5 - l1new += einsum(tmp54, (0, 1, 2, 3), tmp53, (0, 3), (2, 1), optimize=True) * -2 - del tmp54, tmp53 - tmp49 = v.ovvv.transpose((0, 3, 1, 2)).copy() * -1 - tmp49 += v.ovvv.transpose((0, 1, 3, 2)) * 2 - tmp48 = einsum(l2, (0, 1, 2, 3), tmp47, (2, 3, 1, 4), (0, 4), optimize=True) * 2 - del tmp47 - tmp48 += einsum(l1, (0, 1), t1, (1, 2), (0, 2), optimize=True) - l1new += einsum(tmp48, (0, 1), tmp49, (2, 3, 1, 0), (3, 2), optimize=True) - del tmp48, tmp49 - tmp35 = einsum(t2, (0, 1, 2, 3), l2, (3, 2, 4, 5), (4, 5, 1, 0), optimize=True) - tmp46 = tmp35.transpose((1, 0, 3, 2)).copy() * 2 - tmp46 += tmp35.transpose((1, 0, 2, 3)) * -1 - l1new += einsum(tmp46, (0, 1, 2, 3), v.ooov, (2, 0, 3, 4), (4, 1), optimize=True) - del tmp46 - tmp45 = tmp36.transpose((0, 1, 3, 2)).copy() - tmp45 += tmp36 * -0.5 - l1new += einsum(v.ooov, (0, 1, 2, 3), tmp45, (4, 0, 1, 2), (3, 4), optimize=True) * 2 - del tmp45 - l1new += einsum(tmp44, (0, 1, 2, 3), v.oovv, (1, 2, 3, 4), (4, 0), optimize=True) * -1 - del tmp44 - tmp42 = tmp17.transpose((1, 0, 2, 3)).copy() * -0.5 - tmp42 += tmp17 - tmp43 = einsum(tmp42, (0, 1, 2, 3), t2, (1, 4, 5, 3), (0, 2, 4, 5), optimize=True) * 2 - del tmp42 - tmp33 = tmp17.transpose((1, 0, 2, 3)).copy() * 2 - tmp33 += tmp17 * -1 - tmp43 += einsum(tmp33, (0, 1, 2, 3), t2, (1, 4, 3, 5), (0, 2, 4, 5), optimize=True) - tmp41 = einsum(t2, (0, 1, 2, 3), l1, (3, 4), (4, 0, 1, 2), optimize=True) - tmp43 += tmp41.transpose((0, 2, 1, 3)) - tmp43 += tmp41 * -2 - del tmp41 - l1new += einsum(tmp43, (0, 1, 2, 3), v.ovov, (2, 4, 1, 3), (4, 0), optimize=True) - del tmp43 - tmp40 = einsum(tmp33, (0, 1, 2, 3), tmp39, (1, 4, 3, 5), (0, 2, 4, 5), optimize=True) * -0.5 - del tmp39 - tmp37 = tmp36.copy() - del tmp36 - tmp37 += tmp35.transpose((1, 0, 3, 2)) - del tmp35 - tmp38 = einsum(tmp37, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4), optimize=True) - del tmp37 - tmp40 += tmp38 * -0.5 - tmp40 += tmp38.transpose((0, 2, 1, 3)) - del tmp38 - tmp40 += tmp17.transpose((1, 2, 0, 3)) * -1 - tmp40 += tmp17.transpose((0, 2, 1, 3)) * 0.5 - l1new += einsum(tmp40, (0, 1, 2, 3), v.ovov, (2, 3, 1, 4), (4, 0), optimize=True) * 2 - del tmp40 - tmp34 = einsum(tmp33, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4), optimize=True) - del tmp33 - tmp34 += l2.transpose((3, 2, 0, 1)) - l1new += einsum(tmp34, (0, 1, 2, 3), v.ovvv, (1, 3, 2, 4), (4, 0), optimize=True) * -1 - del tmp34 - tmp31 = tmp12.transpose((0, 3, 2, 1)).copy() * 2 - tmp31 += tmp12.transpose((0, 2, 1, 3)) * -1 - tmp32 = einsum(tmp31, (0, 1, 2, 3), t1, (3, 4), (0, 2, 1, 4), optimize=True) - del tmp31 - tmp30 = v.oovv.transpose((1, 0, 3, 2)).copy() * -1 - tmp30 += v.ovov.transpose((2, 0, 3, 1)) * 2 - tmp32 += einsum(t1, (0, 1), tmp30, (2, 3, 1, 4), (0, 3, 2, 4), optimize=True) * -1 - del tmp30 - tmp29 = tmp8.transpose((0, 2, 1, 3)).copy() - tmp29 += tmp8 * -0.5 - tmp29 += v.ooov.transpose((1, 2, 0, 3)) * -0.5 - tmp29 += v.ooov.transpose((1, 0, 2, 3)) - tmp32 += einsum(tmp29, (0, 1, 2, 3), tmp16, (2, 4, 3, 5), (0, 4, 1, 5), optimize=True) * -4 - del tmp29 - tmp27 = einsum(tmp26, (0, 1, 2, 3), t1, (3, 4), (0, 1, 2, 4), optimize=True) - del tmp26 - tmp28 = tmp27.copy() * -2 - del tmp27 - tmp25 = einsum(tmp24, (0, 1, 2, 3), t1, (4, 3), (0, 4, 1, 2), optimize=True) - del tmp24 - tmp28 += tmp25 * 2 - del tmp25 - tmp32 += tmp28.transpose((1, 0, 2, 3)) * 0.5 - tmp32 += tmp28 * -1 - del tmp28 - l1new += einsum(tmp32, (0, 1, 2, 3), l2, (3, 4, 1, 0), (4, 2), optimize=True) - del tmp32 - tmp22 = l2.transpose((3, 2, 1, 0)).copy() * -1 - tmp22 += l2.transpose((3, 2, 0, 1)) * 2 - tmp23 = einsum(tmp22, (0, 1, 2, 3), tmp16, (0, 4, 3, 5), (1, 4, 2, 5), optimize=True) - del tmp22 - tmp23 += l2.transpose((3, 2, 1, 0)) - l1new += einsum(tmp23, (0, 1, 2, 3), v.ovvv, (1, 3, 2, 4), (4, 0), optimize=True) * 2 - del tmp23 - tmp21 = v.vvvv.transpose((2, 3, 1, 0)).copy() * 2 - tmp21 += v.vvvv.transpose((2, 1, 3, 0)) * -1 - tmp20 = einsum(l2, (0, 1, 2, 3), t1, (3, 4), (2, 0, 1, 4), optimize=True) - l1new += einsum(tmp20, (0, 1, 2, 3), tmp21, (2, 3, 4, 1), (4, 0), optimize=True) - del tmp20, tmp21 - tmp18 = tmp17.transpose((1, 0, 2, 3)).copy() - tmp18 += tmp17 * -0.5 - del tmp17 - tmp19 = einsum(t1, (0, 1), tmp18, (2, 0, 3, 4), (2, 3, 1, 4), optimize=True) * 2 - del tmp18 - tmp19 += einsum(tmp16, (0, 1, 2, 3), l2, (2, 4, 0, 5), (5, 1, 4, 3), optimize=True) * 2 - del tmp16 - tmp19 += einsum(tmp15, (0, 1, 2, 3), l2, (4, 2, 0, 5), (5, 1, 4, 3), optimize=True) - del tmp15 - l1new += einsum(v.ovvv, (0, 1, 2, 3), tmp19, (4, 0, 3, 2), (1, 4), optimize=True) * -1 - del tmp19 - tmp13 = tmp12.transpose((3, 0, 2, 1)).copy() * 2 - tmp13 += tmp12.transpose((2, 0, 3, 1)) * -1 - del tmp12 - tmp13 += v.oooo.transpose((2, 3, 1, 0)) * 2 - tmp13 += v.oooo.transpose((1, 3, 2, 0)) * -1 - tmp14 = einsum(t1, (0, 1), tmp13, (0, 2, 3, 4), (2, 4, 3, 1), optimize=True) * 0.5 - del tmp13 - tmp11 = v.ovov.transpose((2, 0, 3, 1)).copy() * -1 - tmp11 += v.oovv.transpose((1, 0, 3, 2)) * 2 - tmp14 += einsum(tmp11, (0, 1, 2, 3), t1, (4, 2), (4, 1, 0, 3), optimize=True) * -0.5 - del tmp11 - tmp10 = tmp8.transpose((0, 2, 1, 3)).copy() * -0.5 - tmp10 += tmp8 - tmp10 += v.ooov.transpose((1, 2, 0, 3)) - tmp10 += v.ooov.transpose((1, 0, 2, 3)) * -0.5 - tmp14 += einsum(t2, (0, 1, 2, 3), tmp10, (4, 5, 0, 3), (4, 1, 5, 2), optimize=True) - del tmp10 - tmp9 = tmp8.transpose((0, 2, 1, 3)).copy() * 2 - tmp9 += tmp8 * -1 - del tmp8 - tmp9 += v.ooov.transpose((1, 2, 0, 3)) * -1 - tmp9 += v.ooov.transpose((1, 0, 2, 3)) * 2 - tmp14 += einsum(tmp9, (0, 1, 2, 3), t2, (2, 4, 3, 5), (0, 4, 1, 5), optimize=True) * 0.5 - del tmp9 - tmp7 = einsum(t2, (0, 1, 2, 3), tmp6, (4, 2), (0, 1, 4, 3), optimize=True) - del tmp6 - tmp14 += tmp7 * 0.5 - tmp14 += tmp7.transpose((1, 0, 2, 3)) * -1 - del tmp7 - tmp2 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 2, 5, 3), (0, 1, 4, 5), optimize=True) - tmp3 = einsum(tmp2, (0, 1, 2, 3), t1, (3, 4), (0, 1, 2, 4), optimize=True) - del tmp2 - tmp4 = tmp3.copy() * -0.5 - del tmp3 - tmp1 = einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 3, 2, 5), (1, 0, 4, 5), optimize=True) - tmp4 += tmp1 * 0.5 - del tmp1 - tmp14 += tmp4.transpose((1, 0, 2, 3)) * -2 - tmp14 += tmp4 - del tmp4 - tmp0 = einsum(t2, (0, 1, 2, 3), f.ov, (4, 3), (4, 0, 1, 2), optimize=True) - tmp14 += tmp0.transpose((2, 1, 0, 3)) * 0.5 - tmp14 += tmp0.transpose((1, 2, 0, 3)) * -1 - del tmp0 - tmp14 += v.ooov.transpose((2, 1, 0, 3)) * -1 - tmp14 += v.ooov.transpose((1, 2, 0, 3)) * 0.5 - l1new += einsum(l2, (0, 1, 2, 3), tmp14, (3, 2, 4, 1), (0, 4), optimize=True) * 2 - del tmp14 - l1new += f.ov.transpose((1, 0)) - - return {f"l1new": l1new, f"l2new": l2new} - -def make_rdm1_f(l1=None, l2=None, t1=None, t2=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-02-29T20:31:32.984725. - - Parameters - ---------- - l1 : array - L1 amplitudes. - l2 : array - L2 amplitudes. - t1 : array - T1 amplitudes. - t2 : array - T2 amplitudes. - - Returns - ------- - rdm1 : array - One-particle reduced density matrix. - """ - - rdm1 = Namespace() - delta = Namespace( - oo=np.eye(t1.shape[0]), - vv=np.eye(t1.shape[1]), - ) - tmp6 = l2.transpose((3, 2, 1, 0)).copy() * 2 - tmp6 += l2.transpose((3, 2, 0, 1)) * -1 - rdm1.vv = einsum(t2, (0, 1, 2, 3), tmp6, (0, 1, 4, 3), (4, 2), optimize=True) * 2 - del tmp6 - rdm1.vv += einsum(l1, (0, 1), t1, (1, 2), (0, 2), optimize=True) * 2 - rdm1.vo = l1.copy() * 2 - tmp1 = t2.transpose((1, 0, 3, 2)).copy() - tmp1 += t2.transpose((1, 0, 2, 3)) * -0.5 - tmp5 = einsum(tmp1, (0, 1, 2, 3), l2, (2, 3, 0, 4), (4, 1), optimize=True) * 2 - tmp0 = einsum(l1, (0, 1), t1, (2, 0), (1, 2), optimize=True) - tmp5 += tmp0 - rdm1.ov = einsum(tmp5, (0, 1), t1, (0, 2), (1, 2), optimize=True) * -2 - del tmp5 - tmp4 = t2.transpose((1, 0, 3, 2)).copy() * -1 - tmp4 += t2.transpose((1, 0, 2, 3)) * 2 - rdm1.ov += einsum(tmp4, (0, 1, 2, 3), l1, (3, 0), (1, 2), optimize=True) * 2 - del tmp4 - tmp2 = einsum(l2, (0, 1, 2, 3), t1, (4, 1), (2, 3, 4, 0), optimize=True) - tmp3 = tmp2.transpose((1, 0, 2, 3)).copy() - tmp3 += tmp2 * -0.5 - del tmp2 - rdm1.ov += einsum(t2, (0, 1, 2, 3), tmp3, (0, 1, 4, 3), (4, 2), optimize=True) * -4 - del tmp3 - rdm1.ov += t1 * 2 - rdm1.oo = einsum(l2, (0, 1, 2, 3), tmp1, (2, 4, 0, 1), (4, 3), optimize=True) * -4 - del tmp1 - rdm1.oo += tmp0.transpose((1, 0)) * -2 - del tmp0 - rdm1.oo += delta.oo.transpose((1, 0)) * 2 - del delta - rdm1 = np.block([[rdm1.oo, rdm1.ov], [rdm1.vo, rdm1.vv]]) - - return rdm1 - -def make_rdm2_f(l1=None, l2=None, t1=None, t2=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-02-29T20:32:21.053195. - - Parameters - ---------- - l1 : array - L1 amplitudes. - l2 : array - L2 amplitudes. - t1 : array - T1 amplitudes. - t2 : array - T2 amplitudes. - - Returns - ------- - rdm2 : array - Two-particle reduced density matrix. - """ - - rdm2 = Namespace() - delta = Namespace( - oo=np.eye(t1.shape[0]), - vv=np.eye(t1.shape[1]), - ) - tmp114 = einsum(l2, (0, 1, 2, 3), t1, (3, 4), (2, 0, 1, 4), optimize=True) - tmp116 = einsum(tmp114, (0, 1, 2, 3), t1, (0, 4), (2, 1, 3, 4), optimize=True) - tmp117 = tmp116.transpose((1, 0, 3, 2)).copy() - tmp115 = einsum(t2, (0, 1, 2, 3), l2, (4, 5, 0, 1), (4, 5, 2, 3), optimize=True) - tmp117 += tmp115.transpose((1, 0, 3, 2)) - rdm2.vvvv = tmp117.copy() - rdm2.vvvv += tmp117.transpose((0, 1, 3, 2)) * -1 - rdm2.vvvv += tmp116.transpose((1, 0, 3, 2)) - rdm2.vvvv += tmp115.transpose((1, 0, 3, 2)) - rdm2.vvvv += tmp116.transpose((1, 0, 3, 2)) - del tmp116 - rdm2.vvvv += tmp115.transpose((1, 0, 3, 2)) - del tmp115 - rdm2.vvvv += tmp117 - rdm2.vvvv += tmp117.transpose((0, 1, 3, 2)) * -1 - del tmp117 - rdm2.vvvo = tmp114.transpose((2, 1, 3, 0)).copy() - rdm2.vvvo += tmp114.transpose((1, 2, 3, 0)) * -1 - rdm2.vvvo += tmp114.transpose((2, 1, 3, 0)) - rdm2.vvvo += tmp114.transpose((2, 1, 3, 0)) - rdm2.vvvo += tmp114.transpose((2, 1, 3, 0)) - rdm2.vvvo += tmp114.transpose((1, 2, 3, 0)) * -1 - rdm2.vvov = tmp114.transpose((2, 1, 0, 3)).copy() * -1 - rdm2.vvov += tmp114.transpose((1, 2, 0, 3)) - rdm2.vvov += tmp114.transpose((1, 2, 0, 3)) - rdm2.vvov += tmp114.transpose((1, 2, 0, 3)) - rdm2.vvov += tmp114.transpose((2, 1, 0, 3)) * -1 - rdm2.vvov += tmp114.transpose((1, 2, 0, 3)) - del tmp114 - tmp61 = l2.transpose((3, 2, 1, 0)).copy() * 2 - tmp61 += l2.transpose((3, 2, 0, 1)) * -1 - tmp85 = einsum(t2, (0, 1, 2, 3), tmp61, (0, 1, 4, 3), (4, 2), optimize=True) - tmp86 = tmp85.copy() - del tmp85 - tmp84 = einsum(l1, (0, 1), t1, (1, 2), (0, 2), optimize=True) - tmp86 += tmp84 - tmp111 = einsum(t1, (0, 1), tmp86, (2, 3), (0, 2, 1, 3), optimize=True) - tmp1 = einsum(l2, (0, 1, 2, 3), t1, (4, 0), (3, 2, 4, 1), optimize=True) - tmp100 = einsum(t2, (0, 1, 2, 3), tmp1, (0, 1, 4, 5), (4, 5, 2, 3), optimize=True) - tmp111 += tmp100 - rdm2.vovv = tmp111.transpose((1, 0, 3, 2)).copy() - rdm2.vovv += tmp111.transpose((1, 0, 2, 3)) * -1 - tmp80 = t2.transpose((1, 0, 3, 2)).copy() * 2 - tmp80 += t2.transpose((1, 0, 2, 3)) * -1 - tmp81 = einsum(l2, (0, 1, 2, 3), tmp80, (2, 4, 0, 5), (4, 3, 5, 1), optimize=True) - del tmp80 - tmp108 = tmp81.transpose((1, 0, 3, 2)).copy() * -1 - tmp78 = t2.transpose((1, 0, 3, 2)).copy() - tmp78 += t2.transpose((1, 0, 2, 3)) * -1 - tmp79 = einsum(tmp78, (0, 1, 2, 3), l2, (4, 2, 0, 5), (1, 5, 3, 4), optimize=True) - del tmp78 - tmp108 += tmp79.transpose((1, 0, 3, 2)) - tmp92 = einsum(tmp1, (0, 1, 2, 3), t1, (1, 4), (0, 2, 3, 4), optimize=True) - tmp108 += tmp92 - tmp109 = einsum(tmp108, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4), optimize=True) - del tmp108 - tmp110 = tmp109.transpose((0, 1, 3, 2)).copy() - del tmp109 - tmp96 = einsum(t2, (0, 1, 2, 3), l1, (4, 1), (0, 4, 2, 3), optimize=True) - tmp110 += tmp96 - rdm2.vovv += tmp110.transpose((1, 0, 3, 2)) - rdm2.vovv += tmp110.transpose((1, 0, 2, 3)) * -1 - tmp62 = einsum(t2, (0, 1, 2, 3), tmp61, (0, 1, 4, 3), (4, 2), optimize=True) * 0.5 - del tmp61 - tmp95 = tmp62.copy() - tmp95 += tmp84 * 0.5 - rdm2.vovv += einsum(tmp95, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) * 2 - tmp44 = l2.transpose((3, 2, 1, 0)).copy() * -1 - tmp44 += l2.transpose((3, 2, 0, 1)) * 2 - tmp45 = einsum(t2, (0, 1, 2, 3), tmp44, (0, 4, 5, 2), (4, 1, 5, 3), optimize=True) - del tmp44 - tmp112 = tmp45.copy() * -1 - tmp112 += tmp92 - tmp66 = einsum(t2, (0, 1, 2, 3), l2, (4, 2, 5, 1), (5, 0, 4, 3), optimize=True) - tmp112 += tmp66 - tmp113 = einsum(tmp112, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4), optimize=True) - del tmp112 - rdm2.vovv += tmp113.transpose((1, 0, 3, 2)) * -1 - rdm2.vovv += tmp100.transpose((1, 0, 2, 3)) * -1 - tmp68 = einsum(l2, (0, 1, 2, 3), t2, (4, 3, 0, 5), (2, 4, 1, 5), optimize=True) - tmp103 = einsum(tmp68, (0, 1, 2, 3), t1, (0, 4), (1, 2, 4, 3), optimize=True) - rdm2.vovv += tmp103.transpose((1, 0, 3, 2)) * -1 - rdm2.vovv += tmp96.transpose((1, 0, 3, 2)) - rdm2.vovv += einsum(tmp95, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) * 2 - rdm2.vovv += tmp113.transpose((1, 0, 3, 2)) * -1 - del tmp113 - rdm2.vovv += tmp100.transpose((1, 0, 2, 3)) * -1 - rdm2.vovv += tmp103.transpose((1, 0, 3, 2)) * -1 - rdm2.vovv += tmp96.transpose((1, 0, 3, 2)) - rdm2.vovv += tmp111.transpose((1, 0, 3, 2)) - rdm2.vovv += tmp111.transpose((1, 0, 2, 3)) * -1 - del tmp111 - rdm2.vovv += tmp110.transpose((1, 0, 3, 2)) - rdm2.vovv += tmp110.transpose((1, 0, 2, 3)) * -1 - del tmp110 - tmp102 = einsum(t1, (0, 1), tmp92, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) - rdm2.ovvv = tmp102.transpose((0, 1, 3, 2)).copy() * -1 - rdm2.ovvv += tmp102 - tmp101 = einsum(tmp62, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) * 2 - tmp101 += tmp100 - rdm2.ovvv += tmp101.transpose((0, 1, 3, 2)) * -1 - rdm2.ovvv += tmp101 - tmp97 = tmp79.transpose((1, 0, 3, 2)).copy() * -1 - tmp97 += tmp81.transpose((1, 0, 3, 2)) - tmp98 = einsum(tmp97, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4), optimize=True) - del tmp97 - tmp99 = tmp98.transpose((0, 1, 3, 2)).copy() * -1 - del tmp98 - tmp99 += einsum(t1, (0, 1), tmp84, (2, 3), (0, 2, 1, 3), optimize=True) - del tmp84 - tmp99 += tmp96 - rdm2.ovvv += tmp99.transpose((0, 1, 3, 2)) * -1 - rdm2.ovvv += tmp99 - rdm2.ovvv += einsum(t1, (0, 1), tmp86, (2, 3), (0, 2, 1, 3), optimize=True) - tmp104 = l2.transpose((3, 2, 1, 0)).copy() * -1 - tmp104 += l2.transpose((3, 2, 0, 1)) * 2 - tmp105 = einsum(t2, (0, 1, 2, 3), tmp104, (0, 4, 5, 2), (4, 1, 5, 3), optimize=True) - del tmp104 - tmp106 = tmp105.copy() * -1 - del tmp105 - tmp106 += tmp92 - tmp106 += tmp66 - tmp107 = einsum(tmp106, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4), optimize=True) - del tmp106 - rdm2.ovvv += tmp107 * -1 - rdm2.ovvv += tmp103 * -1 - rdm2.ovvv += tmp100.transpose((0, 1, 3, 2)) * -1 - rdm2.ovvv += tmp96 - rdm2.ovvv += einsum(t1, (0, 1), tmp86, (2, 3), (0, 2, 1, 3), optimize=True) - rdm2.ovvv += tmp107 * -1 - del tmp107 - rdm2.ovvv += tmp103 * -1 - del tmp103 - rdm2.ovvv += tmp100.transpose((0, 1, 3, 2)) * -1 - del tmp100 - rdm2.ovvv += tmp96 - del tmp96 - rdm2.ovvv += tmp102.transpose((0, 1, 3, 2)) * -1 - rdm2.ovvv += tmp102 - del tmp102 - rdm2.ovvv += tmp101.transpose((0, 1, 3, 2)) * -1 - rdm2.ovvv += tmp101 - del tmp101 - rdm2.ovvv += tmp99.transpose((0, 1, 3, 2)) * -1 - rdm2.ovvv += tmp99 - del tmp99 - rdm2.vvoo = l2.transpose((1, 0, 3, 2)).copy() - rdm2.vvoo += l2.transpose((0, 1, 3, 2)) * -1 - rdm2.vvoo += l2.transpose((1, 0, 3, 2)) - rdm2.vvoo += l2.transpose((1, 0, 3, 2)) - rdm2.vvoo += l2.transpose((1, 0, 3, 2)) - rdm2.vvoo += l2.transpose((0, 1, 3, 2)) * -1 - rdm2.vovo = einsum(tmp95, (0, 1), delta.oo, (2, 3), (0, 3, 1, 2), optimize=True) * 2 - tmp17 = tmp1.transpose((1, 0, 2, 3)).copy() - tmp17 += tmp1 * -1 - tmp93 = einsum(tmp17, (0, 1, 2, 3), t1, (1, 4), (0, 2, 3, 4), optimize=True) - rdm2.vovo += tmp93.transpose((2, 1, 3, 0)) * -1 - tmp53 = l2.transpose((3, 2, 1, 0)).copy() * -1 - tmp53 += l2.transpose((3, 2, 0, 1)) - tmp94 = einsum(t2, (0, 1, 2, 3), tmp53, (0, 4, 3, 5), (4, 1, 5, 2), optimize=True) - rdm2.vovo += tmp94.transpose((2, 1, 3, 0)) * -1 - tmp88 = l2.transpose((3, 2, 1, 0)).copy() * 2 - tmp88 += l2.transpose((3, 2, 0, 1)) * -1 - tmp89 = einsum(tmp88, (0, 1, 2, 3), t2, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) - del tmp88 - rdm2.vovo += tmp89.transpose((2, 1, 3, 0)) * -1 - rdm2.vovo += einsum(t1, (0, 1), l1, (2, 3), (2, 0, 1, 3), optimize=True) * -1 - rdm2.vovo += einsum(tmp95, (0, 1), delta.oo, (2, 3), (0, 3, 1, 2), optimize=True) * 2 - tmp87 = einsum(tmp1, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4), optimize=True) - rdm2.vovo += tmp87.transpose((2, 1, 3, 0)) * -1 - rdm2.vovo += tmp68.transpose((2, 1, 3, 0)) * -1 - rdm2.vovo += einsum(tmp95, (0, 1), delta.oo, (2, 3), (0, 3, 1, 2), optimize=True) * 2 - rdm2.vovo += tmp87.transpose((2, 1, 3, 0)) * -1 - rdm2.vovo += tmp68.transpose((2, 1, 3, 0)) * -1 - rdm2.vovo += einsum(tmp95, (0, 1), delta.oo, (2, 3), (0, 3, 1, 2), optimize=True) * 2 - del tmp95 - rdm2.vovo += tmp93.transpose((2, 1, 3, 0)) * -1 - rdm2.vovo += tmp94.transpose((2, 1, 3, 0)) * -1 - del tmp94 - rdm2.vovo += tmp89.transpose((2, 1, 3, 0)) * -1 - rdm2.vovo += einsum(t1, (0, 1), l1, (2, 3), (2, 0, 1, 3), optimize=True) * -1 - rdm2.voov = einsum(tmp86, (0, 1), delta.oo, (2, 3), (0, 3, 2, 1), optimize=True) * -1 - rdm2.voov += tmp93.transpose((2, 1, 0, 3)) - rdm2.voov += tmp79.transpose((3, 0, 1, 2)) * -1 - rdm2.voov += tmp81.transpose((3, 0, 1, 2)) - rdm2.voov += einsum(t1, (0, 1), l1, (2, 3), (2, 0, 3, 1), optimize=True) - rdm2.voov += tmp89.transpose((2, 1, 0, 3)) - rdm2.voov += tmp92.transpose((2, 1, 0, 3)) * -1 - rdm2.voov += tmp66.transpose((2, 1, 0, 3)) * -1 - rdm2.voov += einsum(t1, (0, 1), l1, (2, 3), (2, 0, 3, 1), optimize=True) - rdm2.voov += tmp89.transpose((2, 1, 0, 3)) - rdm2.voov += tmp92.transpose((2, 1, 0, 3)) * -1 - rdm2.voov += tmp66.transpose((2, 1, 0, 3)) * -1 - rdm2.voov += einsum(t1, (0, 1), l1, (2, 3), (2, 0, 3, 1), optimize=True) - rdm2.voov += einsum(tmp86, (0, 1), delta.oo, (2, 3), (0, 3, 2, 1), optimize=True) * -1 - rdm2.voov += tmp93.transpose((2, 1, 0, 3)) - del tmp93 - rdm2.voov += tmp79.transpose((3, 0, 1, 2)) * -1 - rdm2.voov += tmp81.transpose((3, 0, 1, 2)) - rdm2.voov += einsum(t1, (0, 1), l1, (2, 3), (2, 0, 3, 1), optimize=True) - rdm2.ovvo = einsum(tmp86, (0, 1), delta.oo, (2, 3), (3, 0, 1, 2), optimize=True) * -1 - tmp82 = tmp1.transpose((1, 0, 2, 3)).copy() * -1 - tmp82 += tmp1 - tmp83 = einsum(tmp82, (0, 1, 2, 3), t1, (1, 4), (0, 2, 3, 4), optimize=True) - del tmp82 - rdm2.ovvo += tmp83.transpose((1, 2, 3, 0)) * -1 - tmp90 = l2.transpose((3, 2, 1, 0)).copy() - tmp90 += l2.transpose((3, 2, 0, 1)) * -1 - tmp91 = einsum(t2, (0, 1, 2, 3), tmp90, (0, 4, 3, 5), (4, 1, 5, 2), optimize=True) - del tmp90 - rdm2.ovvo += tmp91.transpose((1, 2, 3, 0)) * -1 - rdm2.ovvo += tmp89.transpose((1, 2, 3, 0)) - rdm2.ovvo += einsum(t1, (0, 1), l1, (2, 3), (0, 2, 1, 3), optimize=True) - rdm2.ovvo += tmp89.transpose((1, 2, 3, 0)) - rdm2.ovvo += tmp92.transpose((1, 2, 3, 0)) * -1 - rdm2.ovvo += tmp66.transpose((1, 2, 3, 0)) * -1 - rdm2.ovvo += einsum(t1, (0, 1), l1, (2, 3), (0, 2, 1, 3), optimize=True) - rdm2.ovvo += tmp89.transpose((1, 2, 3, 0)) - rdm2.ovvo += tmp92.transpose((1, 2, 3, 0)) * -1 - del tmp92 - rdm2.ovvo += tmp66.transpose((1, 2, 3, 0)) * -1 - rdm2.ovvo += einsum(t1, (0, 1), l1, (2, 3), (0, 2, 1, 3), optimize=True) - rdm2.ovvo += einsum(tmp86, (0, 1), delta.oo, (2, 3), (3, 0, 1, 2), optimize=True) * -1 - rdm2.ovvo += tmp83.transpose((1, 2, 3, 0)) * -1 - rdm2.ovvo += tmp91.transpose((1, 2, 3, 0)) * -1 - del tmp91 - rdm2.ovvo += tmp89.transpose((1, 2, 3, 0)) - del tmp89 - rdm2.ovvo += einsum(t1, (0, 1), l1, (2, 3), (0, 2, 1, 3), optimize=True) - rdm2.ovov = einsum(tmp86, (0, 1), delta.oo, (2, 3), (3, 0, 2, 1), optimize=True) - rdm2.ovov += tmp83.transpose((1, 2, 0, 3)) - rdm2.ovov += tmp81.transpose((0, 3, 1, 2)) * -1 - rdm2.ovov += tmp79.transpose((0, 3, 1, 2)) - rdm2.ovov += einsum(t1, (0, 1), l1, (2, 3), (0, 2, 3, 1), optimize=True) * -1 - rdm2.ovov += einsum(tmp86, (0, 1), delta.oo, (2, 3), (3, 0, 2, 1), optimize=True) - rdm2.ovov += tmp87.transpose((1, 2, 0, 3)) * -1 - rdm2.ovov += tmp68.transpose((1, 2, 0, 3)) * -1 - rdm2.ovov += einsum(tmp86, (0, 1), delta.oo, (2, 3), (3, 0, 2, 1), optimize=True) - rdm2.ovov += tmp87.transpose((1, 2, 0, 3)) * -1 - del tmp87 - rdm2.ovov += tmp68.transpose((1, 2, 0, 3)) * -1 - rdm2.ovov += einsum(tmp86, (0, 1), delta.oo, (2, 3), (3, 0, 2, 1), optimize=True) - del tmp86 - rdm2.ovov += tmp83.transpose((1, 2, 0, 3)) - del tmp83 - rdm2.ovov += tmp81.transpose((0, 3, 1, 2)) * -1 - del tmp81 - rdm2.ovov += tmp79.transpose((0, 3, 1, 2)) - del tmp79 - rdm2.ovov += einsum(t1, (0, 1), l1, (2, 3), (0, 2, 3, 1), optimize=True) * -1 - tmp4 = t2.transpose((1, 0, 3, 2)).copy() - tmp4 += t2.transpose((1, 0, 2, 3)) * -0.5 - tmp5 = einsum(l2, (0, 1, 2, 3), tmp4, (2, 4, 0, 1), (3, 4), optimize=True) * 2 - tmp13 = einsum(tmp5, (0, 1), t1, (0, 2), (1, 2), optimize=True) * 0.5 - tmp14 = tmp13.copy() - del tmp13 - tmp11 = tmp1.transpose((1, 0, 2, 3)).copy() * 2 - tmp11 += tmp1 * -1 - tmp12 = einsum(t2, (0, 1, 2, 3), tmp11, (0, 1, 4, 3), (4, 2), optimize=True) * 0.5 - tmp14 += tmp12 - tmp65 = einsum(t1, (0, 1), tmp14, (2, 3), (0, 2, 1, 3), optimize=True) * 2 - tmp64 = einsum(t2, (0, 1, 2, 3), tmp5, (0, 4), (1, 4, 2, 3), optimize=True) - tmp65 += tmp64.transpose((0, 1, 3, 2)) - del tmp64 - tmp63 = einsum(t2, (0, 1, 2, 3), tmp62, (2, 4), (0, 1, 4, 3), optimize=True) * 2 - del tmp62 - tmp65 += tmp63.transpose((1, 0, 3, 2)) - del tmp63 - rdm2.oovv = tmp65.transpose((1, 0, 3, 2)).copy() * -1 - rdm2.oovv += tmp65.transpose((1, 0, 2, 3)) - rdm2.oovv += tmp65.transpose((0, 1, 3, 2)) - rdm2.oovv += tmp65 * -1 - tmp0 = einsum(t2, (0, 1, 2, 3), l2, (3, 2, 4, 5), (4, 5, 1, 0), optimize=True) - tmp22 = einsum(tmp0, (0, 1, 2, 3), t1, (1, 4), (0, 2, 3, 4), optimize=True) - tmp59 = einsum(tmp22, (0, 1, 2, 3), t1, (0, 4), (1, 2, 4, 3), optimize=True) - tmp60 = tmp59.copy() - del tmp59 - tmp2 = einsum(t1, (0, 1), tmp1, (2, 3, 4, 1), (2, 3, 0, 4), optimize=True) - tmp58 = einsum(t2, (0, 1, 2, 3), tmp2, (1, 0, 4, 5), (4, 5, 3, 2), optimize=True) - tmp60 += tmp58 - tmp57 = einsum(tmp0, (0, 1, 2, 3), t2, (0, 1, 4, 5), (2, 3, 4, 5), optimize=True) - tmp60 += tmp57 - rdm2.oovv += tmp60.transpose((0, 1, 3, 2)) * -1 - rdm2.oovv += tmp60 - tmp54 = einsum(t2, (0, 1, 2, 3), tmp53, (0, 4, 5, 3), (4, 1, 5, 2), optimize=True) - del tmp53 - tmp55 = einsum(t2, (0, 1, 2, 3), tmp54, (0, 4, 3, 5), (4, 1, 5, 2), optimize=True) - del tmp54 - tmp56 = tmp55.transpose((1, 0, 3, 2)).copy() - del tmp55 - tmp52 = einsum(tmp45, (0, 1, 2, 3), t2, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) - tmp56 += tmp52 * 2 - tmp16 = einsum(tmp2, (0, 1, 2, 3), t1, (0, 4), (1, 3, 2, 4), optimize=True) - tmp51 = einsum(t1, (0, 1), tmp16, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) - tmp56 += tmp51 - del tmp51 - rdm2.oovv += tmp56.transpose((0, 1, 3, 2)) * -1 - rdm2.oovv += tmp56 - tmp8 = t2.transpose((1, 0, 3, 2)).copy() * -1 - tmp8 += t2.transpose((1, 0, 2, 3)) * 2 - tmp9 = einsum(tmp8, (0, 1, 2, 3), l1, (3, 0), (1, 2), optimize=True) - del tmp8 - tmp49 = tmp9.copy() * -1 - tmp6 = einsum(l1, (0, 1), t1, (2, 0), (1, 2), optimize=True) - tmp10 = einsum(tmp6, (0, 1), t1, (0, 2), (1, 2), optimize=True) - tmp49 += tmp10 - tmp50 = einsum(t1, (0, 1), tmp49, (2, 3), (0, 2, 1, 3), optimize=True) * -1 - del tmp49 - tmp19 = tmp1.transpose((1, 0, 2, 3)).copy() * 2 - tmp19 += tmp1 * -1 - tmp20 = einsum(t2, (0, 1, 2, 3), tmp19, (4, 0, 5, 2), (4, 5, 1, 3), optimize=True) - del tmp19 - tmp47 = tmp20.copy() * -1 - tmp18 = einsum(tmp17, (0, 1, 2, 3), t2, (1, 4, 5, 3), (0, 2, 4, 5), optimize=True) - del tmp17 - tmp47 += tmp18 - tmp15 = einsum(t2, (0, 1, 2, 3), l1, (3, 4), (4, 0, 1, 2), optimize=True) - tmp47 += tmp15 - tmp48 = einsum(tmp47, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4), optimize=True) - del tmp47 - tmp50 += tmp48.transpose((0, 1, 3, 2)) - del tmp48 - tmp46 = einsum(t2, (0, 1, 2, 3), tmp45, (0, 4, 3, 5), (4, 1, 5, 2), optimize=True) - del tmp45 - tmp50 += tmp46 * -1 - tmp43 = einsum(t2, (0, 1, 2, 3), tmp6, (1, 4), (4, 0, 2, 3), optimize=True) - tmp50 += tmp43 - rdm2.oovv += tmp50.transpose((1, 0, 3, 2)) - rdm2.oovv += tmp50.transpose((1, 0, 2, 3)) * -1 - rdm2.oovv += tmp50.transpose((0, 1, 3, 2)) * -1 - rdm2.oovv += tmp50 - rdm2.oovv += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) - rdm2.oovv += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 3, 1), optimize=True) * -1 - rdm2.oovv += t2.transpose((1, 0, 3, 2)) - rdm2.oovv += t2.transpose((1, 0, 2, 3)) * -1 - tmp77 = tmp10.copy() * -1 - tmp77 += t1 - rdm2.oovv += einsum(tmp77, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) - tmp3 = tmp2.copy() - tmp3 += tmp0.transpose((1, 0, 3, 2)) - tmp28 = einsum(t1, (0, 1), tmp3, (0, 2, 3, 4), (2, 3, 4, 1), optimize=True) - tmp76 = einsum(tmp28, (0, 1, 2, 3), t1, (0, 4), (2, 1, 3, 4), optimize=True) - rdm2.oovv += tmp76.transpose((0, 1, 3, 2)) - rdm2.oovv += tmp52.transpose((1, 0, 3, 2)) * 2 - rdm2.oovv += tmp65.transpose((1, 0, 3, 2)) * -1 - rdm2.oovv += tmp65 * -1 - tmp25 = einsum(tmp1, (0, 1, 2, 3), t2, (4, 1, 3, 5), (0, 2, 4, 5), optimize=True) - tmp73 = tmp25.copy() * -1 - tmp73 += tmp15 - tmp74 = einsum(tmp73, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4), optimize=True) - del tmp73 - tmp75 = tmp74.transpose((0, 1, 3, 2)).copy() - del tmp74 - tmp75 += tmp43 - del tmp43 - rdm2.oovv += tmp75.transpose((1, 0, 2, 3)) * -1 - rdm2.oovv += tmp75.transpose((0, 1, 3, 2)) * -1 - tmp72 = einsum(t1, (0, 1), tmp9, (2, 3), (0, 2, 1, 3), optimize=True) - tmp70 = tmp20.copy() * -1 - tmp24 = einsum(tmp1, (0, 1, 2, 3), t2, (4, 0, 3, 5), (1, 2, 4, 5), optimize=True) - tmp70 += tmp24 - tmp71 = einsum(tmp70, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4), optimize=True) - del tmp70 - tmp72 += tmp71.transpose((0, 1, 3, 2)) - del tmp71 - tmp72 += tmp46 * -1 - del tmp46 - rdm2.oovv += tmp72.transpose((1, 0, 3, 2)) - rdm2.oovv += tmp72 - rdm2.oovv += tmp58 - rdm2.oovv += tmp57 - tmp69 = einsum(tmp68, (0, 1, 2, 3), t2, (4, 0, 2, 5), (1, 4, 3, 5), optimize=True) - del tmp68 - rdm2.oovv += tmp69.transpose((0, 1, 3, 2)) - tmp67 = einsum(tmp66, (0, 1, 2, 3), t2, (4, 0, 2, 5), (1, 4, 3, 5), optimize=True) - del tmp66 - rdm2.oovv += tmp67 - rdm2.oovv += einsum(t1, (0, 1), tmp10, (2, 3), (0, 2, 1, 3), optimize=True) * -1 - rdm2.oovv += t2.transpose((1, 0, 3, 2)) - rdm2.oovv += einsum(tmp77, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) - del tmp77 - rdm2.oovv += tmp76.transpose((0, 1, 3, 2)) - del tmp76 - rdm2.oovv += tmp52.transpose((1, 0, 3, 2)) * 2 - del tmp52 - rdm2.oovv += tmp65.transpose((1, 0, 3, 2)) * -1 - rdm2.oovv += tmp65 * -1 - rdm2.oovv += tmp75.transpose((1, 0, 2, 3)) * -1 - rdm2.oovv += tmp75.transpose((0, 1, 3, 2)) * -1 - del tmp75 - rdm2.oovv += tmp72.transpose((1, 0, 3, 2)) - rdm2.oovv += tmp72 - del tmp72 - rdm2.oovv += tmp58 - del tmp58 - rdm2.oovv += tmp57 - del tmp57 - rdm2.oovv += tmp69.transpose((0, 1, 3, 2)) - del tmp69 - rdm2.oovv += tmp67 - del tmp67 - rdm2.oovv += einsum(t1, (0, 1), tmp10, (2, 3), (0, 2, 1, 3), optimize=True) * -1 - rdm2.oovv += t2.transpose((1, 0, 3, 2)) - rdm2.oovv += tmp65.transpose((1, 0, 3, 2)) * -1 - rdm2.oovv += tmp65.transpose((1, 0, 2, 3)) - rdm2.oovv += tmp65.transpose((0, 1, 3, 2)) - rdm2.oovv += tmp65 * -1 - del tmp65 - rdm2.oovv += tmp60.transpose((0, 1, 3, 2)) * -1 - rdm2.oovv += tmp60 - del tmp60 - rdm2.oovv += tmp56.transpose((0, 1, 3, 2)) * -1 - rdm2.oovv += tmp56 - del tmp56 - rdm2.oovv += tmp50.transpose((1, 0, 3, 2)) - rdm2.oovv += tmp50.transpose((1, 0, 2, 3)) * -1 - rdm2.oovv += tmp50.transpose((0, 1, 3, 2)) * -1 - rdm2.oovv += tmp50 - del tmp50 - rdm2.oovv += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) - rdm2.oovv += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 3, 1), optimize=True) * -1 - rdm2.oovv += t2.transpose((1, 0, 3, 2)) - rdm2.oovv += t2.transpose((1, 0, 2, 3)) * -1 - rdm2.vooo = tmp1.transpose((3, 2, 1, 0)).copy() - rdm2.vooo += tmp1.transpose((3, 2, 0, 1)) * -1 - rdm2.vooo += einsum(l1, (0, 1), delta.oo, (2, 3), (0, 3, 2, 1), optimize=True) * -1 - rdm2.vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 1, 3, 0), optimize=True) - rdm2.vooo += tmp1.transpose((3, 2, 0, 1)) * -1 - rdm2.vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 1, 3, 0), optimize=True) - rdm2.vooo += tmp1.transpose((3, 2, 0, 1)) * -1 - rdm2.vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 1, 3, 0), optimize=True) - rdm2.vooo += tmp1.transpose((3, 2, 1, 0)) - rdm2.vooo += tmp1.transpose((3, 2, 0, 1)) * -1 - rdm2.vooo += einsum(l1, (0, 1), delta.oo, (2, 3), (0, 3, 2, 1), optimize=True) * -1 - rdm2.vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 1, 3, 0), optimize=True) - rdm2.ovoo = tmp1.transpose((2, 3, 1, 0)).copy() * -1 - rdm2.ovoo += tmp1.transpose((2, 3, 0, 1)) - rdm2.ovoo += einsum(l1, (0, 1), delta.oo, (2, 3), (3, 0, 2, 1), optimize=True) - rdm2.ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (1, 2, 3, 0), optimize=True) * -1 - rdm2.ovoo += tmp1.transpose((2, 3, 1, 0)) * -1 - rdm2.ovoo += einsum(l1, (0, 1), delta.oo, (2, 3), (3, 0, 2, 1), optimize=True) - rdm2.ovoo += tmp1.transpose((2, 3, 1, 0)) * -1 - rdm2.ovoo += einsum(l1, (0, 1), delta.oo, (2, 3), (3, 0, 2, 1), optimize=True) - rdm2.ovoo += tmp1.transpose((2, 3, 1, 0)) * -1 - rdm2.ovoo += tmp1.transpose((2, 3, 0, 1)) - rdm2.ovoo += einsum(l1, (0, 1), delta.oo, (2, 3), (3, 0, 2, 1), optimize=True) - rdm2.ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (1, 2, 3, 0), optimize=True) * -1 - tmp39 = einsum(tmp5, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) - tmp39 += tmp28.transpose((0, 2, 1, 3)) - tmp39 += tmp15 - rdm2.oovo = tmp39.transpose((2, 1, 3, 0)).copy() - rdm2.oovo += tmp39.transpose((1, 2, 3, 0)) * -1 - tmp38 = tmp20.copy() * -1 - tmp38 += tmp18 - tmp38 += einsum(tmp6, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) - rdm2.oovo += tmp38.transpose((2, 1, 3, 0)) - rdm2.oovo += tmp38.transpose((1, 2, 3, 0)) * -1 - rdm2.oovo += einsum(delta.oo, (0, 1), t1, (2, 3), (1, 2, 3, 0), optimize=True) * -1 - rdm2.oovo += einsum(t1, (0, 1), delta.oo, (2, 3), (0, 3, 1, 2), optimize=True) - tmp32 = einsum(l2, (0, 1, 2, 3), tmp4, (2, 4, 0, 1), (3, 4), optimize=True) - del tmp4 - tmp33 = tmp32.copy() - del tmp32 - tmp33 += tmp6 * 0.5 - tmp34 = einsum(tmp33, (0, 1), t1, (0, 2), (1, 2), optimize=True) * 2 - tmp37 = tmp34.copy() - tmp29 = einsum(t2, (0, 1, 2, 3), tmp11, (0, 1, 4, 3), (4, 2), optimize=True) - del tmp11 - tmp37 += tmp29 - rdm2.oovo += einsum(delta.oo, (0, 1), tmp37, (2, 3), (0, 2, 3, 1), optimize=True) - rdm2.oovo += einsum(delta.oo, (0, 1), tmp37, (2, 3), (2, 1, 3, 0), optimize=True) * -1 - rdm2.oovo += einsum(delta.oo, (0, 1), tmp9, (2, 3), (0, 2, 3, 1), optimize=True) * -1 - rdm2.oovo += einsum(tmp9, (0, 1), delta.oo, (2, 3), (0, 3, 1, 2), optimize=True) - tmp36 = tmp5.copy() - tmp36 += tmp6 - rdm2.oovo += einsum(t1, (0, 1), tmp36, (2, 3), (0, 3, 1, 2), optimize=True) * -1 - tmp41 = einsum(tmp33, (0, 1), t1, (0, 2), (1, 2), optimize=True) - del tmp33 - tmp42 = tmp41.copy() - del tmp41 - tmp30 = t2.transpose((1, 0, 3, 2)).copy() * -1 - tmp30 += t2.transpose((1, 0, 2, 3)) * 2 - tmp40 = einsum(l1, (0, 1), tmp30, (1, 2, 3, 0), (2, 3), optimize=True) * 0.5 - tmp42 += tmp40 * -1 - del tmp40 - tmp42 += tmp12 - del tmp12 - tmp42 += t1 * -0.5 - rdm2.oovo += einsum(tmp42, (0, 1), delta.oo, (2, 3), (0, 3, 1, 2), optimize=True) * -2 - rdm2.oovo += tmp28.transpose((1, 2, 3, 0)) - tmp26 = tmp1.transpose((1, 0, 2, 3)).copy() * -1 - tmp26 += tmp1 * 2 - del tmp1 - tmp27 = einsum(tmp26, (0, 1, 2, 3), t2, (0, 4, 3, 5), (1, 2, 4, 5), optimize=True) - del tmp26 - rdm2.oovo += tmp27.transpose((2, 1, 3, 0)) * -1 - rdm2.oovo += tmp15.transpose((1, 2, 3, 0)) * -1 - rdm2.oovo += tmp24.transpose((2, 1, 3, 0)) - rdm2.oovo += tmp25.transpose((1, 2, 3, 0)) - rdm2.oovo += einsum(t1, (0, 1), tmp36, (2, 3), (0, 3, 1, 2), optimize=True) * -1 - rdm2.oovo += einsum(tmp42, (0, 1), delta.oo, (2, 3), (0, 3, 1, 2), optimize=True) * -2 - del tmp42 - rdm2.oovo += tmp28.transpose((1, 2, 3, 0)) - rdm2.oovo += tmp27.transpose((2, 1, 3, 0)) * -1 - rdm2.oovo += tmp15.transpose((1, 2, 3, 0)) * -1 - rdm2.oovo += tmp24.transpose((2, 1, 3, 0)) - rdm2.oovo += tmp25.transpose((1, 2, 3, 0)) - rdm2.oovo += tmp39.transpose((2, 1, 3, 0)) - rdm2.oovo += tmp39.transpose((1, 2, 3, 0)) * -1 - del tmp39 - rdm2.oovo += tmp38.transpose((2, 1, 3, 0)) - rdm2.oovo += tmp38.transpose((1, 2, 3, 0)) * -1 - del tmp38 - rdm2.oovo += einsum(delta.oo, (0, 1), t1, (2, 3), (1, 2, 3, 0), optimize=True) * -1 - rdm2.oovo += einsum(t1, (0, 1), delta.oo, (2, 3), (0, 3, 1, 2), optimize=True) - rdm2.oovo += einsum(delta.oo, (0, 1), tmp37, (2, 3), (0, 2, 3, 1), optimize=True) - rdm2.oovo += einsum(delta.oo, (0, 1), tmp37, (2, 3), (2, 1, 3, 0), optimize=True) * -1 - del tmp37 - rdm2.oovo += einsum(delta.oo, (0, 1), tmp9, (2, 3), (0, 2, 3, 1), optimize=True) * -1 - rdm2.oovo += einsum(tmp9, (0, 1), delta.oo, (2, 3), (0, 3, 1, 2), optimize=True) - rdm2.ooov = einsum(tmp6, (0, 1), t1, (2, 3), (1, 2, 0, 3), optimize=True) * -1 - rdm2.ooov += einsum(t1, (0, 1), tmp6, (2, 3), (0, 3, 2, 1), optimize=True) - tmp23 = einsum(tmp5, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) - tmp23 += tmp22 - del tmp22 - rdm2.ooov += tmp23.transpose((2, 1, 0, 3)) * -1 - rdm2.ooov += tmp23.transpose((1, 2, 0, 3)) - tmp21 = tmp20.copy() * -1 - del tmp20 - tmp21 += tmp18 - del tmp18 - tmp21 += tmp16 - del tmp16 - tmp21 += tmp15 - rdm2.ooov += tmp21.transpose((2, 1, 0, 3)) * -1 - rdm2.ooov += tmp21.transpose((1, 2, 0, 3)) - rdm2.ooov += einsum(delta.oo, (0, 1), tmp14, (2, 3), (0, 2, 1, 3), optimize=True) * -2 - rdm2.ooov += einsum(delta.oo, (0, 1), tmp14, (2, 3), (2, 1, 0, 3), optimize=True) * 2 - rdm2.ooov += einsum(delta.oo, (0, 1), t1, (2, 3), (1, 2, 0, 3), optimize=True) - rdm2.ooov += einsum(t1, (0, 1), delta.oo, (2, 3), (0, 3, 2, 1), optimize=True) * -1 - rdm2.ooov += einsum(delta.oo, (0, 1), tmp10, (2, 3), (0, 2, 1, 3), optimize=True) * -1 - rdm2.ooov += einsum(delta.oo, (0, 1), tmp10, (2, 3), (2, 1, 0, 3), optimize=True) - rdm2.ooov += einsum(delta.oo, (0, 1), tmp9, (2, 3), (0, 2, 1, 3), optimize=True) - rdm2.ooov += einsum(tmp9, (0, 1), delta.oo, (2, 3), (0, 3, 2, 1), optimize=True) * -1 - rdm2.ooov += einsum(tmp36, (0, 1), t1, (2, 3), (1, 2, 0, 3), optimize=True) * -1 - tmp35 = tmp34.copy() - del tmp34 - tmp31 = einsum(l1, (0, 1), tmp30, (1, 2, 3, 0), (2, 3), optimize=True) - del tmp30 - tmp35 += tmp31 * -1 - del tmp31 - tmp35 += tmp29 - del tmp29 - tmp35 += t1 * -1 - rdm2.ooov += einsum(delta.oo, (0, 1), tmp35, (2, 3), (1, 2, 0, 3), optimize=True) * -1 - rdm2.ooov += tmp28.transpose((2, 1, 0, 3)) - rdm2.ooov += tmp27.transpose((1, 2, 0, 3)) * -1 - rdm2.ooov += tmp15.transpose((2, 1, 0, 3)) * -1 - rdm2.ooov += tmp25.transpose((2, 1, 0, 3)) - rdm2.ooov += tmp24.transpose((1, 2, 0, 3)) - rdm2.ooov += einsum(tmp36, (0, 1), t1, (2, 3), (1, 2, 0, 3), optimize=True) * -1 - del tmp36 - rdm2.ooov += einsum(delta.oo, (0, 1), tmp35, (2, 3), (1, 2, 0, 3), optimize=True) * -1 - del tmp35 - rdm2.ooov += tmp28.transpose((2, 1, 0, 3)) - del tmp28 - rdm2.ooov += tmp27.transpose((1, 2, 0, 3)) * -1 - del tmp27 - rdm2.ooov += tmp15.transpose((2, 1, 0, 3)) * -1 - del tmp15 - rdm2.ooov += tmp25.transpose((2, 1, 0, 3)) - del tmp25 - rdm2.ooov += tmp24.transpose((1, 2, 0, 3)) - del tmp24 - rdm2.ooov += einsum(tmp6, (0, 1), t1, (2, 3), (1, 2, 0, 3), optimize=True) * -1 - rdm2.ooov += einsum(t1, (0, 1), tmp6, (2, 3), (0, 3, 2, 1), optimize=True) - rdm2.ooov += tmp23.transpose((2, 1, 0, 3)) * -1 - rdm2.ooov += tmp23.transpose((1, 2, 0, 3)) - del tmp23 - rdm2.ooov += tmp21.transpose((2, 1, 0, 3)) * -1 - rdm2.ooov += tmp21.transpose((1, 2, 0, 3)) - del tmp21 - rdm2.ooov += einsum(delta.oo, (0, 1), tmp14, (2, 3), (0, 2, 1, 3), optimize=True) * -2 - rdm2.ooov += einsum(delta.oo, (0, 1), tmp14, (2, 3), (2, 1, 0, 3), optimize=True) * 2 - del tmp14 - rdm2.ooov += einsum(delta.oo, (0, 1), t1, (2, 3), (1, 2, 0, 3), optimize=True) - rdm2.ooov += einsum(t1, (0, 1), delta.oo, (2, 3), (0, 3, 2, 1), optimize=True) * -1 - rdm2.ooov += einsum(delta.oo, (0, 1), tmp10, (2, 3), (0, 2, 1, 3), optimize=True) * -1 - rdm2.ooov += einsum(delta.oo, (0, 1), tmp10, (2, 3), (2, 1, 0, 3), optimize=True) - del tmp10 - rdm2.ooov += einsum(delta.oo, (0, 1), tmp9, (2, 3), (0, 2, 1, 3), optimize=True) - rdm2.ooov += einsum(tmp9, (0, 1), delta.oo, (2, 3), (0, 3, 2, 1), optimize=True) * -1 - del tmp9 - rdm2.oooo = einsum(tmp6, (0, 1), delta.oo, (2, 3), (3, 1, 2, 0), optimize=True) * -1 - rdm2.oooo += einsum(delta.oo, (0, 1), tmp6, (2, 3), (3, 1, 0, 2), optimize=True) - rdm2.oooo += einsum(tmp6, (0, 1), delta.oo, (2, 3), (3, 1, 0, 2), optimize=True) - rdm2.oooo += einsum(delta.oo, (0, 1), tmp6, (2, 3), (3, 1, 2, 0), optimize=True) * -1 - rdm2.oooo += einsum(delta.oo, (0, 1), tmp5, (2, 3), (0, 3, 1, 2), optimize=True) * -1 - rdm2.oooo += einsum(delta.oo, (0, 1), tmp5, (2, 3), (3, 1, 0, 2), optimize=True) - rdm2.oooo += einsum(delta.oo, (0, 1), tmp5, (2, 3), (0, 3, 2, 1), optimize=True) - rdm2.oooo += einsum(tmp5, (0, 1), delta.oo, (2, 3), (1, 3, 0, 2), optimize=True) * -1 - rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (3, 0, 1, 2), optimize=True) * -1 - rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (3, 1, 2, 0), optimize=True) - rdm2.oooo += tmp3.transpose((2, 3, 0, 1)) - rdm2.oooo += tmp3.transpose((3, 2, 0, 1)) * -1 - tmp7 = tmp6.copy() * -1 - tmp7 += delta.oo.transpose((1, 0)) - rdm2.oooo += einsum(tmp7, (0, 1), delta.oo, (2, 3), (1, 3, 0, 2), optimize=True) - rdm2.oooo += einsum(delta.oo, (0, 1), tmp5, (2, 3), (0, 3, 1, 2), optimize=True) * -1 - rdm2.oooo += einsum(tmp5, (0, 1), delta.oo, (2, 3), (1, 3, 0, 2), optimize=True) * -1 - rdm2.oooo += einsum(tmp6, (0, 1), delta.oo, (2, 3), (3, 1, 2, 0), optimize=True) * -1 - rdm2.oooo += tmp2.transpose((3, 2, 1, 0)) - rdm2.oooo += tmp0.transpose((3, 2, 1, 0)) - rdm2.oooo += einsum(tmp7, (0, 1), delta.oo, (2, 3), (1, 3, 0, 2), optimize=True) - del tmp7 - rdm2.oooo += einsum(delta.oo, (0, 1), tmp5, (2, 3), (0, 3, 1, 2), optimize=True) * -1 - rdm2.oooo += einsum(tmp5, (0, 1), delta.oo, (2, 3), (1, 3, 0, 2), optimize=True) * -1 - rdm2.oooo += einsum(tmp6, (0, 1), delta.oo, (2, 3), (3, 1, 2, 0), optimize=True) * -1 - rdm2.oooo += tmp2.transpose((3, 2, 1, 0)) - del tmp2 - rdm2.oooo += tmp0.transpose((3, 2, 1, 0)) - del tmp0 - rdm2.oooo += einsum(tmp6, (0, 1), delta.oo, (2, 3), (3, 1, 2, 0), optimize=True) * -1 - rdm2.oooo += einsum(delta.oo, (0, 1), tmp6, (2, 3), (3, 1, 0, 2), optimize=True) - rdm2.oooo += einsum(tmp6, (0, 1), delta.oo, (2, 3), (3, 1, 0, 2), optimize=True) - rdm2.oooo += einsum(delta.oo, (0, 1), tmp6, (2, 3), (3, 1, 2, 0), optimize=True) * -1 - del tmp6 - rdm2.oooo += einsum(delta.oo, (0, 1), tmp5, (2, 3), (0, 3, 1, 2), optimize=True) * -1 - rdm2.oooo += einsum(delta.oo, (0, 1), tmp5, (2, 3), (3, 1, 0, 2), optimize=True) - rdm2.oooo += einsum(delta.oo, (0, 1), tmp5, (2, 3), (0, 3, 2, 1), optimize=True) - rdm2.oooo += einsum(tmp5, (0, 1), delta.oo, (2, 3), (1, 3, 0, 2), optimize=True) * -1 - del tmp5 - rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (3, 0, 1, 2), optimize=True) * -1 - rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (3, 1, 2, 0), optimize=True) - del delta - rdm2.oooo += tmp3.transpose((2, 3, 0, 1)) - rdm2.oooo += tmp3.transpose((3, 2, 0, 1)) * -1 - del tmp3 - rdm2 = pack_2e(rdm2.oooo, rdm2.ooov, rdm2.oovo, rdm2.ovoo, rdm2.vooo, rdm2.oovv, rdm2.ovov, rdm2.ovvo, rdm2.voov, rdm2.vovo, rdm2.vvoo, rdm2.ovvv, rdm2.vovv, rdm2.vvov, rdm2.vvvo, rdm2.vvvv) - rdm2 = rdm2.swapaxes(1, 2) - - return rdm2 - diff --git a/ebcc/codegen/RCCD.py b/ebcc/codegen/RCCD.py deleted file mode 100644 index 176b7cf3..00000000 --- a/ebcc/codegen/RCCD.py +++ /dev/null @@ -1,498 +0,0 @@ -""" -Code generated by `albert`: -https://github.com/obackhouse/albert - - * date: 2024-07-18T20:23:43.462621 - * python version: 3.10.12 (main, Mar 22 2024, 16:50:05) [GCC 11.4.0] - * albert version: 0.0.0 - * caller: /home/ollie/git/albert/albert/codegen/einsum.py - * node: ollie-desktop - * system: Linux - * processor: x86_64 - * release: 6.5.0-44-generic -""" - -from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, direct_sum, Namespace - - -def energy(t2=None, v=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-07-18T20:23:43.617209. - - Parameters - ---------- - t2 : array - T2 amplitudes. - v : array - Electron repulsion integrals. - - Returns - ------- - e_cc : float - Coupled cluster energy. - """ - - e_cc = einsum(v.ovov, (0, 1, 2, 3), t2, (0, 2, 1, 3), (), optimize=True) * 2 - e_cc += einsum(v.ovov, (0, 1, 2, 3), t2, (0, 2, 3, 1), (), optimize=True) * -1 - - return e_cc - -def update_amps(f=None, t2=None, v=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-07-18T20:23:45.808392. - - Parameters - ---------- - f : array - Fock matrix. - t2 : array - T2 amplitudes. - v : array - Electron repulsion integrals. - - Returns - ------- - t2new : array - Updated T2 residuals. - """ - - tmp6 = v.ovov.transpose((2, 0, 1, 3)).copy() * -0.5 - tmp6 += v.ovov.transpose((2, 0, 3, 1)) - tmp3 = v.ovov.transpose((2, 0, 1, 3)).copy() * 2 - tmp3 += v.ovov.transpose((2, 0, 3, 1)) * -1 - tmp9 = einsum(tmp6, (0, 1, 2, 3), t2, (0, 4, 2, 3), (4, 1), optimize=True) * 2 - tmp7 = einsum(t2, (0, 1, 2, 3), tmp6, (0, 1, 4, 3), (2, 4), optimize=True) - del tmp6 - tmp0 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 5, 1, 2), (0, 4, 3, 5), optimize=True) - t2new = tmp0.transpose((1, 0, 3, 2)).copy() * -1 - tmp4 = einsum(t2, (0, 1, 2, 3), tmp3, (0, 4, 5, 2), (1, 4, 3, 5), optimize=True) - del tmp3 - tmp10 = einsum(t2, (0, 1, 2, 3), tmp9, (4, 0), (1, 4, 2, 3), optimize=True) - del tmp9 - tmp8 = einsum(t2, (0, 1, 2, 3), tmp7, (4, 2), (0, 1, 3, 4), optimize=True) * 2 - del tmp7 - tmp14 = v.ovov.transpose((2, 0, 3, 1)).copy() * -1 - tmp14 += tmp0 - del tmp0 - t2new += einsum(t2, (0, 1, 2, 3), tmp14, (4, 0, 5, 3), (1, 4, 2, 5), optimize=True) - del tmp14 - tmp5 = einsum(t2, (0, 1, 2, 3), tmp4, (4, 0, 5, 3), (1, 4, 2, 5), optimize=True) - t2new += tmp5 * -1 - t2new += tmp5.transpose((1, 0, 3, 2)) * -1 - del tmp5 - tmp15 = v.oovv.transpose((1, 0, 3, 2)).copy() * -1 - tmp15 += einsum(t2, (0, 1, 2, 3), v.ovov, (1, 4, 5, 2), (0, 5, 3, 4), optimize=True) - t2new += einsum(t2, (0, 1, 2, 3), tmp15, (4, 0, 5, 3), (1, 4, 5, 2), optimize=True) - del tmp15 - tmp2 = einsum(f.vv, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4), optimize=True) - t2new += tmp2.transpose((1, 0, 2, 3)) - t2new += tmp2.transpose((0, 1, 3, 2)) - del tmp2 - tmp11 = tmp8.transpose((1, 0, 2, 3)).copy() - del tmp8 - tmp11 += tmp10.transpose((0, 1, 3, 2)) - del tmp10 - t2new += tmp11.transpose((1, 0, 3, 2)) * -1 - t2new += tmp11 * -1 - del tmp11 - tmp1 = einsum(f.oo, (0, 1), t2, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) - t2new += tmp1.transpose((1, 0, 2, 3)) * -1 - t2new += tmp1.transpose((0, 1, 3, 2)) * -1 - del tmp1 - tmp13 = v.oooo.transpose((2, 3, 1, 0)).copy() - tmp13 += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 2, 5, 3), (5, 1, 0, 4), optimize=True) - t2new += einsum(tmp13, (0, 1, 2, 3), t2, (0, 3, 4, 5), (2, 1, 5, 4), optimize=True) - del tmp13 - tmp12 = v.ovov.transpose((2, 0, 3, 1)).copy() * 2 - tmp12 += v.oovv.transpose((1, 0, 3, 2)) * -1 - tmp12 += tmp4 * 2 - del tmp4 - t2new += einsum(t2, (0, 1, 2, 3), tmp12, (4, 0, 5, 2), (4, 1, 5, 3), optimize=True) - del tmp12 - t2new += v.ovov.transpose((2, 0, 3, 1)) - t2new += einsum(t2, (0, 1, 2, 3), v.vvvv, (4, 3, 2, 5), (1, 0, 4, 5), optimize=True) - t2new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 3), (0, 4, 2, 5), optimize=True) * -1 - t2new += einsum(v.oovv, (0, 1, 2, 3), t2, (4, 1, 3, 5), (0, 4, 5, 2), optimize=True) * -1 - t2new += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 5, 1, 3), (0, 4, 2, 5), optimize=True) * 2 - - return {f"t2new": t2new} - -def update_lams(f=None, l2=None, t2=None, v=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-07-18T20:23:49.488980. - - Parameters - ---------- - f : array - Fock matrix. - l2 : array - L2 amplitudes. - t2 : array - T2 amplitudes. - v : array - Electron repulsion integrals. - - Returns - ------- - l2new : array - Updated L2 residuals. - """ - - tmp10 = l2.transpose((3, 2, 0, 1)).copy() * 2 - tmp10 += l2.transpose((3, 2, 1, 0)) * -1 - tmp22 = t2.transpose((1, 0, 2, 3)).copy() * 2 - tmp22 += t2.transpose((1, 0, 3, 2)) * -1 - tmp19 = t2.transpose((1, 0, 2, 3)).copy() * -1 - tmp19 += t2.transpose((1, 0, 3, 2)) * 2 - tmp4 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 3, 0, 5), (1, 4, 2, 5), optimize=True) - tmp26 = t2.transpose((1, 0, 2, 3)).copy() * -0.5 - tmp26 += t2.transpose((1, 0, 3, 2)) - tmp15 = einsum(t2, (0, 1, 2, 3), l2, (2, 4, 5, 1), (5, 0, 4, 3), optimize=True) - tmp9 = einsum(t2, (0, 1, 2, 3), l2, (4, 2, 5, 1), (5, 0, 4, 3), optimize=True) - tmp11 = einsum(t2, (0, 1, 2, 3), tmp10, (0, 4, 5, 2), (1, 4, 3, 5), optimize=True) - del tmp10 - tmp23 = einsum(v.ovov, (0, 1, 2, 3), tmp22, (0, 4, 3, 1), (2, 4), optimize=True) - del tmp22 - tmp20 = einsum(tmp19, (0, 1, 2, 3), v.ovov, (0, 4, 1, 3), (4, 2), optimize=True) * 0.5 - del tmp19 - tmp5 = v.oovv.transpose((1, 0, 3, 2)).copy() * -1 - tmp5 += tmp4 - del tmp4 - tmp27 = einsum(l2, (0, 1, 2, 3), tmp26, (2, 3, 4, 1), (0, 4), optimize=True) * 2 - tmp29 = einsum(tmp26, (0, 1, 2, 3), l2, (2, 3, 0, 4), (4, 1), optimize=True) * 2 - del tmp26 - tmp16 = tmp15.copy() - del tmp15 - tmp16 += l2.transpose((3, 2, 0, 1)) * -1 - tmp16 += l2.transpose((3, 2, 1, 0)) * 2 - tmp13 = v.ovov.transpose((2, 0, 1, 3)).copy() * 2 - tmp13 += v.ovov.transpose((2, 0, 3, 1)) * -1 - tmp12 = tmp9.copy() - del tmp9 - tmp12 += tmp11.transpose((1, 0, 3, 2)) * -1 - del tmp11 - tmp24 = einsum(tmp23, (0, 1), l2, (2, 3, 1, 4), (4, 0, 2, 3), optimize=True) - del tmp23 - tmp21 = einsum(l2, (0, 1, 2, 3), tmp20, (4, 0), (2, 3, 1, 4), optimize=True) * 2 - del tmp20 - tmp6 = einsum(tmp5, (0, 1, 2, 3), l2, (4, 2, 0, 5), (5, 1, 4, 3), optimize=True) - del tmp5 - tmp3 = einsum(f.vv, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2), optimize=True) - tmp28 = einsum(v.ovov, (0, 1, 2, 3), tmp27, (4, 1), (0, 2, 3, 4), optimize=True) - del tmp27 - tmp30 = einsum(v.ovov, (0, 1, 2, 3), tmp29, (4, 0), (2, 4, 1, 3), optimize=True) - del tmp29 - tmp17 = einsum(tmp16, (0, 1, 2, 3), v.ovov, (1, 3, 4, 5), (4, 0, 5, 2), optimize=True) - del tmp16 - tmp14 = einsum(tmp13, (0, 1, 2, 3), tmp12, (4, 0, 5, 3), (4, 1, 5, 2), optimize=True) - del tmp13, tmp12 - tmp8 = einsum(v.oovv, (0, 1, 2, 3), l2, (4, 3, 5, 1), (5, 0, 4, 2), optimize=True) - tmp25 = tmp21.transpose((1, 0, 2, 3)).copy() - del tmp21 - tmp25 += tmp24.transpose((0, 1, 3, 2)) - del tmp24 - l2new = tmp25.transpose((3, 2, 1, 0)).copy() * -1 - l2new += tmp25.transpose((2, 3, 0, 1)) * -1 - del tmp25 - tmp7 = tmp3.copy() - del tmp3 - tmp7 += tmp6 - del tmp6 - l2new += tmp7.transpose((2, 3, 1, 0)) - l2new += tmp7.transpose((3, 2, 0, 1)) - del tmp7 - tmp2 = einsum(f.oo, (0, 1), l2, (2, 3, 4, 1), (0, 4, 2, 3), optimize=True) - l2new += tmp2.transpose((2, 3, 1, 0)) * -1 - l2new += tmp2.transpose((3, 2, 0, 1)) * -1 - del tmp2 - tmp0 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 5, 1, 3), (4, 5, 0, 2), optimize=True) - l2new += einsum(l2, (0, 1, 2, 3), tmp0, (2, 3, 4, 5), (0, 1, 4, 5), optimize=True) - del tmp0 - tmp1 = einsum(l2, (0, 1, 2, 3), t2, (4, 5, 0, 1), (2, 3, 4, 5), optimize=True) - l2new += einsum(tmp1, (0, 1, 2, 3), v.ovov, (2, 4, 3, 5), (4, 5, 0, 1), optimize=True) - del tmp1 - tmp31 = tmp28.transpose((1, 0, 3, 2)).copy() - del tmp28 - tmp31 += tmp30.transpose((1, 0, 3, 2)) - del tmp30 - l2new += tmp31.transpose((2, 3, 1, 0)) * -1 - l2new += tmp31.transpose((3, 2, 0, 1)) * -1 - del tmp31 - tmp18 = tmp8.copy() - del tmp8 - tmp18 += tmp14 - del tmp14 - tmp18 += tmp17.transpose((1, 0, 3, 2)) * -1 - del tmp17 - l2new += tmp18.transpose((3, 2, 1, 0)) * -1 - l2new += tmp18.transpose((2, 3, 0, 1)) * -1 - del tmp18 - l2new += v.ovov.transpose((3, 1, 2, 0)) - l2new += einsum(l2, (0, 1, 2, 3), v.vvvv, (4, 1, 0, 5), (4, 5, 3, 2), optimize=True) - l2new += einsum(v.oooo, (0, 1, 2, 3), l2, (4, 5, 1, 2), (5, 4, 3, 0), optimize=True) - - return {f"l2new": l2new} - -def make_rdm1_f(l2=None, t2=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-07-18T20:23:49.789244. - - Parameters - ---------- - l2 : array - L2 amplitudes. - t2 : array - T2 amplitudes. - - Returns - ------- - rdm1 : array - One-particle reduced density matrix. - """ - - rdm1 = Namespace() - delta = Namespace( - oo=np.eye(t2.shape[0]), - vv=np.eye(t2.shape[-1]), - ) - tmp0 = t2.transpose((1, 0, 2, 3)).copy() * -0.5 - tmp0 += t2.transpose((1, 0, 3, 2)) - rdm1.vv = einsum(l2, (0, 1, 2, 3), tmp0, (2, 3, 4, 1), (0, 4), optimize=True) * 4 - rdm1.oo = einsum(l2, (0, 1, 2, 3), tmp0, (2, 4, 0, 1), (4, 3), optimize=True) * -4 - del tmp0 - rdm1.oo += delta.oo.transpose((1, 0)) * 2 - del delta - rdm1.ov = np.zeros((t2.shape[0], t2.shape[-1])) - rdm1.vo = np.zeros((t2.shape[-1], t2.shape[0])) - rdm1 = np.block([[rdm1.oo, rdm1.ov], [rdm1.vo, rdm1.vv]]) - - return rdm1 - -def make_rdm2_f(l2=None, t2=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-07-18T20:24:00.844357. - - Parameters - ---------- - l2 : array - L2 amplitudes. - t2 : array - T2 amplitudes. - - Returns - ------- - rdm2 : array - Two-particle reduced density matrix. - """ - - rdm2 = Namespace() - delta = Namespace( - oo=np.eye(t2.shape[0]), - vv=np.eye(t2.shape[-1]), - ) - tmp0 = t2.transpose((1, 0, 2, 3)).copy() * -0.5 - tmp0 += t2.transpose((1, 0, 3, 2)) - tmp13 = l2.transpose((3, 2, 0, 1)).copy() * -1 - tmp13 += l2.transpose((3, 2, 1, 0)) * 2 - tmp6 = l2.transpose((3, 2, 0, 1)).copy() - tmp6 += l2.transpose((3, 2, 1, 0)) * -1 - tmp3 = l2.transpose((3, 2, 0, 1)).copy() * 2 - tmp3 += l2.transpose((3, 2, 1, 0)) * -1 - tmp1 = einsum(tmp0, (0, 1, 2, 3), l2, (2, 3, 0, 4), (4, 1), optimize=True) * 2 - del tmp0 - rdm2.oooo = einsum(tmp1, (0, 1), delta.oo, (2, 3), (2, 1, 3, 0), optimize=True) * -1 - rdm2.oooo += einsum(tmp1, (0, 1), delta.oo, (2, 3), (1, 3, 2, 0), optimize=True) - rdm2.oooo += einsum(delta.oo, (0, 1), tmp1, (2, 3), (0, 3, 2, 1), optimize=True) - rdm2.oooo += einsum(delta.oo, (0, 1), tmp1, (2, 3), (3, 1, 2, 0), optimize=True) * -1 - rdm2.oooo += einsum(tmp1, (0, 1), delta.oo, (2, 3), (2, 1, 3, 0), optimize=True) * -1 - rdm2.oooo += einsum(delta.oo, (0, 1), tmp1, (2, 3), (3, 1, 2, 0), optimize=True) * -1 - rdm2.oooo += einsum(tmp1, (0, 1), delta.oo, (2, 3), (2, 1, 3, 0), optimize=True) * -1 - rdm2.oooo += einsum(delta.oo, (0, 1), tmp1, (2, 3), (3, 1, 2, 0), optimize=True) * -1 - rdm2.oooo += einsum(tmp1, (0, 1), delta.oo, (2, 3), (2, 1, 3, 0), optimize=True) * -1 - rdm2.oooo += einsum(tmp1, (0, 1), delta.oo, (2, 3), (1, 3, 2, 0), optimize=True) - rdm2.oooo += einsum(delta.oo, (0, 1), tmp1, (2, 3), (0, 3, 2, 1), optimize=True) - rdm2.oooo += einsum(delta.oo, (0, 1), tmp1, (2, 3), (3, 1, 2, 0), optimize=True) * -1 - tmp14 = einsum(t2, (0, 1, 2, 3), tmp13, (0, 1, 4, 3), (2, 4), optimize=True) * 0.5 - rdm2.ovvo = einsum(delta.oo, (0, 1), tmp14, (2, 3), (1, 3, 2, 0), optimize=True) * -2 - rdm2.ovvo += einsum(delta.oo, (0, 1), tmp14, (2, 3), (1, 3, 2, 0), optimize=True) * -2 - rdm2.ovov = einsum(delta.oo, (0, 1), tmp14, (2, 3), (1, 3, 0, 2), optimize=True) * 2 - rdm2.ovov += einsum(delta.oo, (0, 1), tmp14, (2, 3), (1, 3, 0, 2), optimize=True) * 2 - rdm2.ovov += einsum(delta.oo, (0, 1), tmp14, (2, 3), (1, 3, 0, 2), optimize=True) * 2 - rdm2.ovov += einsum(delta.oo, (0, 1), tmp14, (2, 3), (1, 3, 0, 2), optimize=True) * 2 - tmp7 = einsum(tmp6, (0, 1, 2, 3), t2, (0, 4, 5, 3), (4, 1, 5, 2), optimize=True) - del tmp6 - rdm2.ovvo += tmp7.transpose((0, 3, 2, 1)) * -1 - rdm2.ovvo += tmp7.transpose((0, 3, 2, 1)) * -1 - tmp4 = einsum(t2, (0, 1, 2, 3), tmp3, (0, 4, 5, 2), (1, 4, 3, 5), optimize=True) - rdm2.vovo = tmp4.transpose((3, 0, 2, 1)).copy() * -1 - rdm2.vovo += tmp4.transpose((3, 0, 2, 1)) * -1 - rdm2.voov = tmp4.transpose((3, 0, 1, 2)).copy() - rdm2.voov += tmp4.transpose((3, 0, 1, 2)) - rdm2.ovvo += tmp4.transpose((0, 3, 2, 1)) - rdm2.ovvo += tmp4.transpose((0, 3, 2, 1)) - rdm2.ovvo += tmp4.transpose((0, 3, 2, 1)) - rdm2.ovvo += tmp4.transpose((0, 3, 2, 1)) - tmp27 = l2.transpose((3, 2, 0, 1)).copy() * -1 - tmp27 += l2.transpose((3, 2, 1, 0)) - tmp24 = t2.transpose((1, 0, 2, 3)).copy() * 2 - tmp24 += t2.transpose((1, 0, 3, 2)) * -1 - tmp22 = t2.transpose((1, 0, 2, 3)).copy() - tmp22 += t2.transpose((1, 0, 3, 2)) * -1 - tmp16 = einsum(t2, (0, 1, 2, 3), tmp1, (0, 4), (1, 4, 2, 3), optimize=True) - del tmp1 - tmp15 = einsum(t2, (0, 1, 2, 3), tmp14, (4, 2), (0, 1, 3, 4), optimize=True) * 2 - del tmp14 - tmp8 = einsum(tmp7, (0, 1, 2, 3), t2, (1, 4, 5, 3), (4, 0, 5, 2), optimize=True) - del tmp7 - tmp5 = einsum(t2, (0, 1, 2, 3), tmp4, (4, 0, 5, 2), (1, 4, 3, 5), optimize=True) - del tmp4 - rdm2.oovv = tmp5.transpose((1, 0, 3, 2)).copy() * 2 - rdm2.oovv += tmp5.transpose((1, 0, 3, 2)) * 2 - tmp10 = einsum(t2, (0, 1, 2, 3), tmp3, (0, 4, 5, 3), (1, 4, 2, 5), optimize=True) - del tmp3 - tmp18 = einsum(t2, (0, 1, 2, 3), l2, (4, 2, 5, 1), (5, 0, 4, 3), optimize=True) - rdm2.voov += tmp18.transpose((2, 1, 0, 3)) * -1 - rdm2.voov += tmp18.transpose((2, 1, 0, 3)) * -1 - rdm2.ovvo += tmp18.transpose((1, 2, 3, 0)) * -1 - rdm2.ovvo += tmp18.transpose((1, 2, 3, 0)) * -1 - tmp20 = einsum(t2, (0, 1, 2, 3), l2, (2, 4, 5, 1), (5, 0, 4, 3), optimize=True) - rdm2.vovo += tmp20.transpose((2, 1, 3, 0)) * -1 - rdm2.vovo += tmp20.transpose((2, 1, 3, 0)) * -1 - rdm2.ovov += tmp20.transpose((1, 2, 0, 3)) * -1 - rdm2.ovov += tmp20.transpose((1, 2, 0, 3)) * -1 - tmp2 = einsum(l2, (0, 1, 2, 3), t2, (4, 5, 0, 1), (2, 3, 4, 5), optimize=True) - rdm2.oooo += tmp2.transpose((3, 2, 1, 0)) - rdm2.oooo += tmp2.transpose((2, 3, 1, 0)) * -1 - rdm2.oooo += tmp2.transpose((3, 2, 1, 0)) - rdm2.oooo += tmp2.transpose((3, 2, 1, 0)) - rdm2.oooo += tmp2.transpose((3, 2, 1, 0)) - rdm2.oooo += tmp2.transpose((2, 3, 1, 0)) * -1 - tmp29 = einsum(t2, (0, 1, 2, 3), l2, (4, 5, 0, 1), (4, 5, 2, 3), optimize=True) - rdm2.vvvv = tmp29.transpose((1, 0, 3, 2)).copy() - rdm2.vvvv += tmp29.transpose((1, 0, 2, 3)) * -1 - rdm2.vvvv += tmp29.transpose((1, 0, 3, 2)) - rdm2.vvvv += tmp29.transpose((1, 0, 3, 2)) - rdm2.vvvv += tmp29.transpose((1, 0, 3, 2)) - rdm2.vvvv += tmp29.transpose((1, 0, 2, 3)) * -1 - del tmp29 - tmp28 = einsum(t2, (0, 1, 2, 3), tmp27, (0, 4, 5, 3), (1, 4, 2, 5), optimize=True) - del tmp27 - rdm2.vovo += tmp28.transpose((3, 0, 2, 1)) * -1 - rdm2.vovo += tmp28.transpose((3, 0, 2, 1)) * -1 - del tmp28 - tmp26 = einsum(t2, (0, 1, 2, 3), tmp13, (0, 1, 4, 3), (2, 4), optimize=True) - del tmp13 - rdm2.vovo += einsum(tmp26, (0, 1), delta.oo, (2, 3), (1, 3, 0, 2), optimize=True) - rdm2.vovo += einsum(tmp26, (0, 1), delta.oo, (2, 3), (1, 3, 0, 2), optimize=True) - rdm2.vovo += einsum(tmp26, (0, 1), delta.oo, (2, 3), (1, 3, 0, 2), optimize=True) - rdm2.vovo += einsum(tmp26, (0, 1), delta.oo, (2, 3), (1, 3, 0, 2), optimize=True) - rdm2.voov += einsum(tmp26, (0, 1), delta.oo, (2, 3), (1, 3, 2, 0), optimize=True) * -1 - rdm2.voov += einsum(tmp26, (0, 1), delta.oo, (2, 3), (1, 3, 2, 0), optimize=True) * -1 - del tmp26 - tmp25 = einsum(l2, (0, 1, 2, 3), tmp24, (2, 4, 5, 0), (3, 4, 1, 5), optimize=True) - del tmp24 - rdm2.voov += tmp25.transpose((2, 1, 0, 3)) - rdm2.voov += tmp25.transpose((2, 1, 0, 3)) - rdm2.ovov += tmp25.transpose((1, 2, 0, 3)) * -1 - rdm2.ovov += tmp25.transpose((1, 2, 0, 3)) * -1 - del tmp25 - tmp23 = einsum(tmp22, (0, 1, 2, 3), l2, (4, 3, 0, 5), (5, 1, 4, 2), optimize=True) - del tmp22 - rdm2.voov += tmp23.transpose((2, 1, 0, 3)) * -1 - rdm2.voov += tmp23.transpose((2, 1, 0, 3)) * -1 - rdm2.ovov += tmp23.transpose((1, 2, 0, 3)) - rdm2.ovov += tmp23.transpose((1, 2, 0, 3)) - del tmp23 - tmp17 = tmp15.transpose((1, 0, 2, 3)).copy() - del tmp15 - tmp17 += tmp16.transpose((0, 1, 3, 2)) - del tmp16 - rdm2.oovv += tmp17.transpose((1, 0, 3, 2)) * -1 - rdm2.oovv += tmp17.transpose((1, 0, 2, 3)) - rdm2.oovv += tmp17.transpose((0, 1, 3, 2)) - rdm2.oovv += tmp17 * -1 - rdm2.oovv += tmp17.transpose((1, 0, 3, 2)) * -1 - rdm2.oovv += tmp17 * -1 - rdm2.oovv += tmp17.transpose((1, 0, 3, 2)) * -1 - rdm2.oovv += tmp17 * -1 - rdm2.oovv += tmp17.transpose((1, 0, 3, 2)) * -1 - rdm2.oovv += tmp17.transpose((1, 0, 2, 3)) - rdm2.oovv += tmp17.transpose((0, 1, 3, 2)) - rdm2.oovv += tmp17 * -1 - del tmp17 - tmp9 = tmp5.copy() * 2 - del tmp5 - tmp9 += tmp8.transpose((1, 0, 3, 2)) - del tmp8 - rdm2.oovv += tmp9.transpose((0, 1, 3, 2)) * -1 - rdm2.oovv += tmp9 - rdm2.oovv += tmp9.transpose((0, 1, 3, 2)) * -1 - rdm2.oovv += tmp9 - del tmp9 - tmp11 = einsum(t2, (0, 1, 2, 3), tmp10, (4, 0, 5, 2), (1, 4, 3, 5), optimize=True) - del tmp10 - rdm2.oovv += tmp11.transpose((1, 0, 3, 2)) * -1 - rdm2.oovv += tmp11.transpose((1, 0, 2, 3)) - rdm2.oovv += tmp11.transpose((0, 1, 3, 2)) - rdm2.oovv += tmp11 * -1 - rdm2.oovv += tmp11.transpose((1, 0, 3, 2)) * -1 - rdm2.oovv += tmp11 * -1 - rdm2.oovv += tmp11.transpose((1, 0, 3, 2)) * -1 - rdm2.oovv += tmp11 * -1 - rdm2.oovv += tmp11.transpose((1, 0, 3, 2)) * -1 - rdm2.oovv += tmp11.transpose((1, 0, 2, 3)) - rdm2.oovv += tmp11.transpose((0, 1, 3, 2)) - rdm2.oovv += tmp11 * -1 - del tmp11 - tmp19 = einsum(t2, (0, 1, 2, 3), tmp18, (1, 4, 2, 5), (0, 4, 3, 5), optimize=True) - del tmp18 - rdm2.oovv += tmp19 - rdm2.oovv += tmp19 - del tmp19 - tmp21 = einsum(t2, (0, 1, 2, 3), tmp20, (1, 4, 2, 5), (0, 4, 3, 5), optimize=True) - del tmp20 - rdm2.oovv += tmp21.transpose((0, 1, 3, 2)) - rdm2.oovv += tmp21.transpose((0, 1, 3, 2)) - del tmp21 - tmp12 = einsum(t2, (0, 1, 2, 3), tmp2, (0, 1, 4, 5), (5, 4, 3, 2), optimize=True) - del tmp2 - rdm2.oovv += tmp12.transpose((0, 1, 3, 2)) * -1 - rdm2.oovv += tmp12 - rdm2.oovv += tmp12 - rdm2.oovv += tmp12 - rdm2.oovv += tmp12.transpose((0, 1, 3, 2)) * -1 - rdm2.oovv += tmp12 - del tmp12 - rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (1, 3, 0, 2), optimize=True) - rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (3, 0, 1, 2), optimize=True) * -1 - rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (1, 3, 0, 2), optimize=True) - rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (1, 3, 0, 2), optimize=True) - rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (1, 3, 0, 2), optimize=True) - rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (3, 0, 1, 2), optimize=True) * -1 - del delta - rdm2.oovv += t2.transpose((1, 0, 2, 3)) * -1 - rdm2.oovv += t2.transpose((1, 0, 3, 2)) - rdm2.oovv += t2.transpose((1, 0, 3, 2)) - rdm2.oovv += t2.transpose((1, 0, 3, 2)) - rdm2.oovv += t2.transpose((1, 0, 2, 3)) * -1 - rdm2.oovv += t2.transpose((1, 0, 3, 2)) - rdm2.vvoo = l2.transpose((0, 1, 3, 2)).copy() * -1 - rdm2.vvoo += l2.transpose((1, 0, 3, 2)) - rdm2.vvoo += l2.transpose((1, 0, 3, 2)) - rdm2.vvoo += l2.transpose((1, 0, 3, 2)) - rdm2.vvoo += l2.transpose((0, 1, 3, 2)) * -1 - rdm2.vvoo += l2.transpose((1, 0, 3, 2)) - rdm2.ooov = np.zeros((t2.shape[0], t2.shape[0], t2.shape[0], t2.shape[-1])) - rdm2.oovo = np.zeros((t2.shape[0], t2.shape[0], t2.shape[-1], t2.shape[0])) - rdm2.ovoo = np.zeros((t2.shape[0], t2.shape[-1], t2.shape[0], t2.shape[0])) - rdm2.vooo = np.zeros((t2.shape[-1], t2.shape[0], t2.shape[0], t2.shape[0])) - rdm2.ovvv = np.zeros((t2.shape[0], t2.shape[-1], t2.shape[-1], t2.shape[-1])) - rdm2.vovv = np.zeros((t2.shape[-1], t2.shape[0], t2.shape[-1], t2.shape[-1])) - rdm2.vvov = np.zeros((t2.shape[-1], t2.shape[-1], t2.shape[0], t2.shape[-1])) - rdm2.vvvo = np.zeros((t2.shape[-1], t2.shape[-1], t2.shape[-1], t2.shape[0])) - rdm2 = pack_2e(rdm2.oooo, rdm2.ooov, rdm2.oovo, rdm2.ovoo, rdm2.vooo, rdm2.oovv, rdm2.ovov, rdm2.ovvo, rdm2.voov, rdm2.vovo, rdm2.vvoo, rdm2.ovvv, rdm2.vovv, rdm2.vvov, rdm2.vvvo, rdm2.vvvv) - rdm2 = rdm2.swapaxes(1, 2) - - return rdm2 - diff --git a/ebcc/codegen/RCCSD.py b/ebcc/codegen/RCCSD.py deleted file mode 100644 index fe27aac9..00000000 --- a/ebcc/codegen/RCCSD.py +++ /dev/null @@ -1,1429 +0,0 @@ -""" -Code generated by `albert`: -https://github.com/obackhouse/albert - - * date: 2024-07-22T17:19:26.962289 - * python version: 3.10.12 (main, Mar 22 2024, 16:50:05) [GCC 11.4.0] - * albert version: 0.0.0 - * caller: /home/ollie/git/albert/albert/codegen/einsum.py - * node: ollie-desktop - * system: Linux - * processor: x86_64 - * release: 6.5.0-44-generic -""" - -from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, direct_sum, Namespace - - -def energy(f=None, t1=None, t2=None, v=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-07-22T17:19:27.412709. - - Parameters - ---------- - f : array - Fock matrix. - t1 : array - T1 amplitudes. - t2 : array - T2 amplitudes. - v : array - Electron repulsion integrals. - - Returns - ------- - e_cc : float - Coupled cluster energy. - """ - - tmp0 = v.ovov.transpose((0, 2, 3, 1)).copy() * -0.5 - tmp0 += v.ovov.transpose((0, 2, 1, 3)) - tmp1 = f.ov.copy() - tmp1 += einsum(t1, (0, 1), tmp0, (0, 2, 1, 3), (2, 3), optimize=True) - del tmp0 - e_cc = einsum(tmp1, (0, 1), t1, (0, 1), (), optimize=True) * 2 - del tmp1 - e_cc += einsum(v.ovov, (0, 1, 2, 3), t2, (0, 2, 1, 3), (), optimize=True) * 2 - e_cc += einsum(v.ovov, (0, 1, 2, 3), t2, (0, 2, 3, 1), (), optimize=True) * -1 - - return e_cc - -def update_amps(f=None, t1=None, t2=None, v=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-07-22T17:19:37.633676. - - Parameters - ---------- - f : array - Fock matrix. - t1 : array - T1 amplitudes. - t2 : array - T2 amplitudes. - v : array - Electron repulsion integrals. - - Returns - ------- - t1new : array - Updated T1 residuals. - t2new : array - Updated T2 residuals. - """ - - tmp4 = v.ovov.transpose((0, 2, 3, 1)).copy() * -1 - tmp4 += v.ovov.transpose((0, 2, 1, 3)) * 2 - tmp2 = einsum(v.ovov, (0, 1, 2, 3), t1, (4, 3), (4, 0, 2, 1), optimize=True) - tmp40 = einsum(t1, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) - tmp40 += t2.transpose((0, 1, 3, 2)) * -2 - tmp40 += t2 - tmp5 = einsum(t1, (0, 1), tmp4, (0, 2, 1, 3), (2, 3), optimize=True) - tmp23 = tmp2.copy() * -1 - tmp23 += tmp2.transpose((0, 2, 1, 3)) * 2 - tmp39 = einsum(tmp2, (0, 1, 2, 3), t2, (4, 2, 3, 5), (0, 4, 1, 5), optimize=True) - tmp38 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 1, 5, 3), (0, 4, 5, 2), optimize=True) - tmp37 = einsum(v.oovv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2), optimize=True) - tmp41 = einsum(v.ooov, (0, 1, 2, 3), tmp40, (2, 4, 5, 3), (0, 1, 4, 5), optimize=True) - del tmp40 - tmp42 = einsum(t2, (0, 1, 2, 3), tmp5, (4, 2), (4, 0, 1, 3), optimize=True) - tmp57 = v.ovov.transpose((0, 2, 3, 1)).copy() - tmp57 += v.ovov.transpose((0, 2, 1, 3)) * -0.5 - tmp60 = v.ovov.transpose((0, 2, 3, 1)).copy() * -0.5 - tmp60 += v.ovov.transpose((0, 2, 1, 3)) - tmp19 = v.ovvv.copy() * 2 - tmp19 += v.ovvv.transpose((0, 2, 3, 1)) * -1 - tmp22 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 1, 5, 2), (0, 4, 5, 3), optimize=True) - tmp24 = einsum(tmp23, (0, 1, 2, 3), t2, (4, 2, 5, 3), (0, 1, 4, 5), optimize=True) - del tmp23 - tmp27 = v.ooov.copy() * 2 - tmp27 += v.ooov.transpose((0, 2, 1, 3)) * -1 - tmp16 = einsum(tmp4, (0, 1, 2, 3), t2, (4, 0, 5, 2), (1, 4, 3, 5), optimize=True) - del tmp4 - tmp15 = einsum(t1, (0, 1), tmp2, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) - tmp9 = einsum(f.ov, (0, 1), t1, (2, 1), (0, 2), optimize=True) - tmp32 = einsum(v.ovvv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2), optimize=True) - tmp35 = t2.transpose((0, 1, 3, 2)).copy() * 2 - tmp35 += t2 * -1 - tmp45 = einsum(tmp5, (0, 1), t1, (2, 1), (0, 2), optimize=True) - tmp43 = tmp37.transpose((0, 2, 1, 3)).copy() * -1 - del tmp37 - tmp43 += tmp38.transpose((0, 2, 1, 3)) - del tmp38 - tmp43 += tmp39.transpose((0, 2, 1, 3)) - del tmp39 - tmp43 += tmp41.transpose((2, 1, 0, 3)) - del tmp41 - tmp43 += tmp42.transpose((2, 0, 1, 3)) * -1 - del tmp42 - tmp33 = einsum(v.ovvv, (0, 1, 2, 3), t1, (4, 1), (4, 0, 2, 3), optimize=True) - tmp55 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 5, 1, 3), (4, 5, 0, 2), optimize=True) - tmp58 = einsum(tmp57, (0, 1, 2, 3), t2, (0, 1, 4, 2), (3, 4), optimize=True) - del tmp57 - tmp61 = einsum(t2, (0, 1, 2, 3), tmp60, (1, 4, 3, 2), (4, 0), optimize=True) * 2 - del tmp60 - tmp68 = einsum(tmp2, (0, 1, 2, 3), t1, (4, 3), (0, 4, 2, 1), optimize=True) - tmp67 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 2, 5, 3), (0, 1, 4, 5), optimize=True) - tmp20 = einsum(t1, (0, 1), tmp19, (0, 1, 2, 3), (2, 3), optimize=True) - del tmp19 - tmp25 = tmp2.copy() - tmp25 += tmp22 * -1 - del tmp22 - tmp25 += tmp24.transpose((0, 2, 1, 3)) - del tmp24 - tmp28 = einsum(t1, (0, 1), tmp27, (2, 3, 0, 1), (2, 3), optimize=True) - del tmp27 - tmp17 = tmp15.copy() - del tmp15 - tmp17 += tmp16.transpose((1, 0, 3, 2)) * -1 - tmp50 = einsum(t2, (0, 1, 2, 3), f.ov, (4, 3), (4, 0, 1, 2), optimize=True) - tmp52 = f.oo.copy() - tmp52 += tmp9 - tmp13 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 5, 1, 2), (0, 4, 3, 5), optimize=True) - t2new = tmp13.copy() * -1 - tmp31 = einsum(f.vv, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4), optimize=True) - tmp36 = einsum(tmp35, (0, 1, 2, 3), tmp32, (4, 0, 3, 5), (1, 4, 2, 5), optimize=True) - del tmp35 - tmp46 = einsum(t2, (0, 1, 2, 3), tmp45, (1, 4), (4, 0, 3, 2), optimize=True) - del tmp45 - tmp44 = einsum(tmp43, (0, 1, 2, 3), t1, (1, 4), (0, 2, 3, 4), optimize=True) - del tmp43 - tmp34 = einsum(t2, (0, 1, 2, 3), tmp33, (4, 1, 5, 3), (4, 0, 2, 5), optimize=True) - tmp56 = einsum(t1, (0, 1), tmp55, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) - del tmp55 - tmp59 = einsum(t2, (0, 1, 2, 3), tmp58, (2, 4), (0, 1, 4, 3), optimize=True) * 2 - del tmp58 - tmp62 = einsum(tmp61, (0, 1), t2, (2, 0, 3, 4), (1, 2, 4, 3), optimize=True) - del tmp61 - tmp70 = v.oooo.copy() - tmp70 += tmp67.transpose((3, 1, 0, 2)) - tmp70 += tmp68.transpose((3, 1, 0, 2)) - tmp64 = t2.copy() - tmp64 += einsum(t1, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) - tmp21 = einsum(t2, (0, 1, 2, 3), tmp20, (4, 2), (0, 1, 4, 3), optimize=True) - del tmp20 - tmp26 = einsum(tmp25, (0, 1, 2, 3), t1, (2, 4), (0, 1, 3, 4), optimize=True) - del tmp25 - tmp29 = einsum(tmp28, (0, 1), t2, (2, 1, 3, 4), (0, 2, 4, 3), optimize=True) - del tmp28 - tmp18 = einsum(tmp17, (0, 1, 2, 3), t2, (4, 1, 3, 5), (0, 4, 2, 5), optimize=True) - del tmp17 - tmp48 = einsum(v.ooov, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2), optimize=True) - tmp51 = einsum(t1, (0, 1), tmp50, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) - del tmp50 - tmp53 = einsum(tmp52, (0, 1), t2, (2, 0, 3, 4), (1, 2, 4, 3), optimize=True) - del tmp52 - tmp11 = v.ooov.copy() - tmp11 += v.ooov.transpose((0, 2, 1, 3)) * -0.5 - tmp10 = v.ovov.transpose((0, 2, 3, 1)).copy() * -1 - tmp10 += v.ovov.transpose((0, 2, 1, 3)) * 2 - tmp0 = t2.copy() - tmp0 += einsum(t1, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) - tmp73 = v.ovov.transpose((0, 2, 1, 3)).copy() * -1 - tmp73 += tmp13 - del tmp13 - t2new += einsum(t2, (0, 1, 2, 3), tmp73, (4, 1, 5, 2), (4, 0, 5, 3), optimize=True) - del tmp73 - tmp47 = tmp31.copy() - del tmp31 - tmp47 += tmp32 - del tmp32 - tmp47 += tmp34 * -1 - del tmp34 - tmp47 += tmp36.transpose((1, 0, 2, 3)) - del tmp36 - tmp47 += tmp44.transpose((0, 1, 3, 2)) - del tmp44 - tmp47 += tmp46.transpose((0, 1, 3, 2)) * -1 - del tmp46 - t2new += tmp47.transpose((1, 0, 2, 3)) - t2new += tmp47.transpose((0, 1, 3, 2)) - del tmp47 - tmp69 = v.oooo.copy() - tmp69 += tmp67.transpose((3, 1, 2, 0)) - del tmp67 - tmp69 += tmp68.transpose((3, 1, 2, 0)) - del tmp68 - t2new += einsum(t2, (0, 1, 2, 3), tmp69, (0, 4, 1, 5), (4, 5, 2, 3), optimize=True) - del tmp69 - tmp63 = tmp56.copy() - del tmp56 - tmp63 += tmp59.transpose((1, 0, 3, 2)) - del tmp59 - tmp63 += tmp62.transpose((1, 0, 3, 2)) - del tmp62 - t2new += tmp63.transpose((1, 0, 3, 2)) * -1 - t2new += tmp63 * -1 - del tmp63 - tmp71 = v.ooov.transpose((0, 2, 1, 3)).copy() * -1 - tmp71 += einsum(t1, (0, 1), tmp70, (0, 2, 3, 4), (3, 2, 4, 1), optimize=True) - del tmp70 - t2new += einsum(t1, (0, 1), tmp71, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) - del tmp71 - tmp65 = einsum(tmp64, (0, 1, 2, 3), tmp33, (4, 0, 3, 5), (4, 1, 5, 2), optimize=True) - del tmp33, tmp64 - t2new += tmp65.transpose((1, 0, 2, 3)) * -1 - t2new += tmp65.transpose((0, 1, 3, 2)) * -1 - del tmp65 - tmp30 = tmp18.copy() - del tmp18 - tmp30 += tmp21.transpose((1, 0, 3, 2)) - del tmp21 - tmp30 += tmp26.transpose((0, 1, 3, 2)) * -1 - del tmp26 - tmp30 += tmp29.transpose((1, 0, 3, 2)) * -1 - del tmp29 - t2new += tmp30.transpose((1, 0, 3, 2)) - t2new += tmp30 - del tmp30 - tmp72 = v.oovv.copy() * -1 - tmp72 += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 2, 1, 5), (0, 4, 3, 5), optimize=True) - t2new += einsum(tmp72, (0, 1, 2, 3), t2, (4, 1, 3, 5), (4, 0, 2, 5), optimize=True) - del tmp72 - tmp66 = v.ovov.transpose((0, 2, 1, 3)).copy() * 2 - tmp66 += v.oovv * -1 - tmp66 += tmp16.transpose((1, 0, 3, 2)) * 2 - del tmp16 - t2new += einsum(tmp66, (0, 1, 2, 3), t2, (4, 1, 5, 3), (0, 4, 2, 5), optimize=True) - del tmp66 - tmp49 = einsum(tmp48, (0, 1, 2, 3), t2, (3, 2, 4, 5), (0, 1, 5, 4), optimize=True) - del tmp48 - t2new += tmp49.transpose((1, 0, 2, 3)) - t2new += tmp49.transpose((0, 1, 3, 2)) - del tmp49 - tmp14 = einsum(v.vvvv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2), optimize=True) - t2new += einsum(tmp14, (0, 1, 2, 3), t1, (4, 2), (4, 0, 1, 3), optimize=True) - del tmp14 - tmp54 = tmp51.copy() - del tmp51 - tmp54 += tmp53.transpose((0, 1, 3, 2)) - del tmp53 - t2new += tmp54.transpose((1, 0, 2, 3)) * -1 - t2new += tmp54.transpose((0, 1, 3, 2)) * -1 - del tmp54 - tmp12 = f.oo.copy() - tmp12 += tmp9 - del tmp9 - tmp12 += einsum(tmp10, (0, 1, 2, 3), tmp0, (0, 4, 2, 3), (1, 4), optimize=True) - del tmp10 - tmp12 += einsum(t1, (0, 1), tmp11, (2, 3, 0, 1), (3, 2), optimize=True) * 2 - del tmp11 - t1new = einsum(tmp12, (0, 1), t1, (0, 2), (1, 2), optimize=True) * -1 - del tmp12 - tmp8 = v.ovov.transpose((0, 2, 1, 3)).copy() * 2 - tmp8 += v.oovv * -1 - t1new += einsum(t1, (0, 1), tmp8, (0, 2, 1, 3), (2, 3), optimize=True) - del tmp8 - tmp6 = f.ov.copy() - tmp6 += tmp5 - del tmp5 - tmp7 = t2.transpose((0, 1, 3, 2)).copy() * -1 - tmp7 += t2 * 2 - t1new += einsum(tmp6, (0, 1), tmp7, (0, 2, 1, 3), (2, 3), optimize=True) - del tmp6, tmp7 - tmp3 = v.ooov.copy() * -0.5 - tmp3 += v.ooov.transpose((0, 2, 1, 3)) - tmp3 += tmp2 - tmp3 += tmp2.transpose((0, 2, 1, 3)) * -0.5 - del tmp2 - t1new += einsum(tmp3, (0, 1, 2, 3), t2, (1, 2, 3, 4), (0, 4), optimize=True) * -2 - del tmp3 - tmp1 = v.ovvv.copy() * -0.5 - tmp1 += v.ovvv.transpose((0, 2, 1, 3)) - t1new += einsum(tmp0, (0, 1, 2, 3), tmp1, (0, 3, 2, 4), (1, 4), optimize=True) * 2 - del tmp0, tmp1 - t1new += f.ov - t1new += einsum(f.vv, (0, 1), t1, (2, 1), (2, 0), optimize=True) - t2new += einsum(v.oovv, (0, 1, 2, 3), t2, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) * -1 - t2new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 2), (4, 0, 3, 5), optimize=True) * -1 - t2new += einsum(v.ovov, (0, 1, 2, 3), t2, (4, 2, 5, 3), (4, 0, 5, 1), optimize=True) * 2 - t2new += einsum(t2, (0, 1, 2, 3), v.vvvv, (4, 2, 5, 3), (0, 1, 4, 5), optimize=True) - t2new += v.ovov.transpose((0, 2, 1, 3)) - t2new += einsum(t1, (0, 1), v.ovoo, (2, 3, 4, 0), (2, 4, 3, 1), optimize=True) * -1 - - return {f"t1new": t1new, f"t2new": t2new} - -def update_lams(f=None, l1=None, l2=None, t1=None, t2=None, v=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-07-22T17:20:15.561490. - - Parameters - ---------- - f : array - Fock matrix. - l1 : array - L1 amplitudes. - l2 : array - L2 amplitudes. - t1 : array - T1 amplitudes. - t2 : array - T2 amplitudes. - v : array - Electron repulsion integrals. - - Returns - ------- - l1new : array - Updated L1 residuals. - l2new : array - Updated L2 residuals. - """ - - tmp93 = v.ovov.transpose((0, 2, 3, 1)).copy() * -1 - tmp93 += v.ovov.transpose((0, 2, 1, 3)) * 2 - tmp84 = t2.transpose((0, 1, 3, 2)).copy() * 2 - tmp84 += t2 * -1 - tmp94 = einsum(t1, (0, 1), tmp93, (0, 2, 1, 3), (2, 3), optimize=True) - del tmp93 - tmp44 = t2.transpose((0, 1, 3, 2)).copy() * -1 - tmp44 += t2 * 2 - tmp16 = t2.transpose((0, 1, 3, 2)).copy() * -0.5 - tmp16 += t2 - tmp8 = einsum(v.ovov, (0, 1, 2, 3), t1, (4, 3), (4, 0, 2, 1), optimize=True) - tmp72 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 2, 1, 5), (4, 0, 5, 3), optimize=True) - tmp24 = einsum(v.ovvv, (0, 1, 2, 3), t1, (4, 1), (4, 0, 2, 3), optimize=True) - tmp85 = einsum(tmp84, (0, 1, 2, 3), v.ovov, (4, 5, 0, 3), (4, 1, 5, 2), optimize=True) - del tmp84 - tmp82 = einsum(v.ovvv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2), optimize=True) - tmp83 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 2, 5, 1), (4, 0, 5, 3), optimize=True) - tmp95 = einsum(tmp94, (0, 1), t1, (2, 1), (2, 0), optimize=True) - tmp92 = einsum(t1, (0, 1), v.ooov, (2, 0, 3, 1), (2, 3), optimize=True) - tmp17 = einsum(l2, (0, 1, 2, 3), t1, (4, 1), (2, 3, 4, 0), optimize=True) - tmp15 = t2.transpose((0, 1, 3, 2)).copy() * 2 - tmp15 += t2 * -1 - tmp104 = einsum(v.ovov, (0, 1, 2, 3), tmp44, (2, 4, 3, 1), (0, 4), optimize=True) * 0.5 - tmp103 = einsum(t1, (0, 1), v.ooov, (2, 3, 0, 1), (2, 3), optimize=True) - tmp30 = t2.transpose((0, 1, 3, 2)).copy() - tmp30 += t2 * -0.5 - tmp51 = einsum(t1, (0, 1), l1, (1, 2), (2, 0), optimize=True) - tmp55 = einsum(l2, (0, 1, 2, 3), tmp16, (2, 4, 0, 1), (3, 4), optimize=True) * 2 - tmp26 = einsum(tmp8, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2), optimize=True) - tmp5 = v.ovov.transpose((0, 2, 3, 1)).copy() * -0.5 - tmp5 += v.ovov.transpose((0, 2, 1, 3)) - tmp2 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 5, 1, 3), (4, 5, 0, 2), optimize=True) - l2new = einsum(tmp2, (0, 1, 2, 3), l2, (4, 5, 0, 1), (4, 5, 2, 3), optimize=True) - tmp12 = einsum(v.ooov, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2), optimize=True) - tmp66 = einsum(f.ov, (0, 1), t1, (2, 1), (0, 2), optimize=True) - tmp73 = v.oovv.copy() - tmp73 += tmp24.transpose((0, 1, 3, 2)) - tmp73 += tmp72 * -1 - del tmp72 - tmp81 = l2.transpose((3, 2, 0, 1)).copy() * 2 - tmp81 += l2.transpose((2, 3, 0, 1)) * -1 - tmp86 = v.ovov.transpose((0, 2, 1, 3)).copy() - tmp86 += tmp82.transpose((0, 1, 3, 2)) - del tmp82 - tmp86 += tmp83 * -1 - del tmp83 - tmp86 += tmp85.transpose((1, 0, 3, 2)) - del tmp85 - tmp77 = einsum(t1, (0, 1), v.ovvv, (0, 1, 2, 3), (2, 3), optimize=True) - tmp96 = tmp92.copy() - del tmp92 - tmp96 += tmp95 * -1 - del tmp95 - tmp90 = tmp8.copy() * 2 - tmp90 += tmp8.transpose((0, 2, 1, 3)) * -1 - tmp46 = tmp17.copy() * -1 - tmp46 += tmp17.transpose((1, 0, 2, 3)) * 2 - l1new = einsum(v.oovv, (0, 1, 2, 3), tmp46, (0, 4, 1, 3), (2, 4), optimize=True) * -1 - tmp101 = einsum(tmp15, (0, 1, 2, 3), v.ovov, (0, 4, 1, 2), (4, 3), optimize=True) * 0.5 - tmp105 = tmp103.transpose((1, 0)).copy() - del tmp103 - tmp105 += tmp104.transpose((1, 0)) - del tmp104 - tmp48 = einsum(tmp30, (0, 1, 2, 3), l2, (4, 2, 0, 1), (4, 3), optimize=True) * 2 - tmp56 = tmp51.copy() - tmp56 += tmp55 - del tmp55 - tmp27 = einsum(t1, (0, 1), tmp26, (2, 3, 4, 0), (2, 3, 4, 1), optimize=True) - tmp25 = einsum(t1, (0, 1), tmp24, (2, 3, 4, 1), (2, 0, 3, 4), optimize=True) - del tmp24 - tmp37 = einsum(l2, (0, 1, 2, 3), t2, (4, 5, 0, 1), (2, 3, 4, 5), optimize=True) - l2new += einsum(v.ovov, (0, 1, 2, 3), tmp37, (4, 5, 2, 0), (3, 1, 4, 5), optimize=True) - tmp42 = einsum(tmp17, (0, 1, 2, 3), t1, (4, 3), (1, 0, 2, 4), optimize=True) - l2new += einsum(v.ovov, (0, 1, 2, 3), tmp42, (4, 5, 2, 0), (1, 3, 5, 4), optimize=True) - tmp6 = einsum(t1, (0, 1), tmp5, (0, 2, 1, 3), (2, 3), optimize=True) * 2 - del tmp5 - tmp3 = einsum(t1, (0, 1), tmp2, (2, 3, 4, 0), (2, 3, 4, 1), optimize=True) - del tmp2 - tmp1 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 5, 1, 3), (4, 5, 0, 2), optimize=True) - tmp71 = einsum(tmp8, (0, 1, 2, 3), tmp17, (0, 4, 1, 5), (4, 2, 5, 3), optimize=True) - tmp70 = einsum(v.ooov, (0, 1, 2, 3), tmp17, (1, 4, 2, 5), (4, 0, 5, 3), optimize=True) - tmp68 = einsum(tmp17, (0, 1, 2, 3), f.ov, (2, 4), (0, 1, 4, 3), optimize=True) - tmp69 = einsum(l2, (0, 1, 2, 3), tmp12, (2, 3, 4, 5), (4, 5, 0, 1), optimize=True) - tmp65 = einsum(v.ovvv, (0, 1, 2, 3), l1, (3, 4), (4, 0, 1, 2), optimize=True) - tmp64 = einsum(f.vv, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2), optimize=True) - tmp67 = einsum(tmp66, (0, 1), l2, (2, 3, 4, 1), (0, 4, 2, 3), optimize=True) - del tmp66 - tmp74 = einsum(tmp73, (0, 1, 2, 3), l2, (4, 2, 0, 5), (5, 1, 4, 3), optimize=True) - tmp79 = einsum(v.ovvv, (0, 1, 2, 3), tmp17, (4, 5, 0, 3), (5, 4, 1, 2), optimize=True) - tmp87 = einsum(tmp81, (0, 1, 2, 3), tmp86, (0, 4, 3, 5), (1, 4, 2, 5), optimize=True) - del tmp81, tmp86 - tmp78 = einsum(tmp77, (0, 1), l2, (2, 1, 3, 4), (3, 4, 2, 0), optimize=True) - del tmp77 - tmp97 = einsum(l2, (0, 1, 2, 3), tmp96, (2, 4), (3, 4, 0, 1), optimize=True) - del tmp96 - tmp80 = einsum(tmp8, (0, 1, 2, 3), tmp17, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) - tmp91 = einsum(tmp17, (0, 1, 2, 3), tmp90, (1, 4, 2, 5), (0, 4, 3, 5), optimize=True) - del tmp90 - tmp88 = einsum(tmp73, (0, 1, 2, 3), l2, (4, 2, 5, 0), (5, 1, 4, 3), optimize=True) - del tmp73 - tmp76 = einsum(tmp17, (0, 1, 2, 3), v.ooov, (4, 1, 2, 5), (0, 4, 3, 5), optimize=True) - tmp89 = einsum(tmp46, (0, 1, 2, 3), v.ovoo, (4, 5, 0, 2), (4, 1, 5, 3), optimize=True) - del tmp46 - tmp98 = einsum(tmp94, (0, 1), tmp17, (2, 3, 0, 4), (2, 3, 4, 1), optimize=True) - tmp102 = einsum(l2, (0, 1, 2, 3), tmp101, (4, 1), (3, 2, 0, 4), optimize=True) * 2 - del tmp101 - tmp100 = einsum(l1, (0, 1), v.ooov, (2, 1, 3, 4), (2, 3, 0, 4), optimize=True) - tmp106 = einsum(l2, (0, 1, 2, 3), tmp105, (2, 4), (3, 4, 0, 1), optimize=True) * 2 - del tmp105 - tmp110 = einsum(tmp48, (0, 1), v.ovov, (2, 1, 3, 4), (2, 3, 4, 0), optimize=True) - tmp109 = einsum(tmp8, (0, 1, 2, 3), l1, (4, 0), (1, 2, 4, 3), optimize=True) - tmp111 = einsum(tmp56, (0, 1), v.ovov, (2, 3, 1, 4), (2, 0, 4, 3), optimize=True) - tmp108 = einsum(l2, (0, 1, 2, 3), f.oo, (4, 3), (4, 2, 0, 1), optimize=True) - tmp113 = einsum(t1, (0, 1), v.ovvv, (0, 2, 3, 1), (2, 3), optimize=True) - tmp18 = tmp17.copy() - tmp18 += tmp17.transpose((1, 0, 2, 3)) * -0.5 - tmp28 = tmp25.copy() * 2 - del tmp25 - tmp28 += tmp27 * -2 - del tmp27 - tmp32 = tmp12.transpose((0, 2, 1, 3)).copy() * 2 - tmp32 += tmp12.transpose((0, 3, 2, 1)) * -1 - tmp29 = v.ooov.copy() - tmp29 += v.ooov.transpose((0, 2, 1, 3)) * -0.5 - tmp29 += tmp8 * -0.5 - tmp29 += tmp8.transpose((0, 2, 1, 3)) - tmp31 = v.ovov.transpose((0, 2, 1, 3)).copy() * 2 - tmp31 += v.oovv * -1 - tmp52 = tmp51.copy() * 0.5 - del tmp51 - tmp52 += einsum(l2, (0, 1, 2, 3), tmp16, (2, 4, 0, 1), (3, 4), optimize=True) - tmp39 = tmp17.copy() * 2 - tmp39 += tmp17.transpose((1, 0, 2, 3)) * -1 - tmp38 = einsum(t1, (0, 1), tmp37, (2, 0, 3, 4), (2, 3, 4, 1), optimize=True) - tmp40 = tmp17.copy() * -0.5 - tmp40 += tmp17.transpose((1, 0, 2, 3)) - tmp36 = einsum(t2, (0, 1, 2, 3), l1, (3, 4), (4, 0, 1, 2), optimize=True) - tmp34 = tmp17.copy() * -1 - tmp34 += tmp17.transpose((1, 0, 2, 3)) * 2 - tmp43 = einsum(tmp42, (0, 1, 2, 3), t1, (0, 4), (1, 3, 2, 4), optimize=True) - tmp62 = v.ooov.copy() - tmp62 += v.ovoo.transpose((0, 2, 3, 1)) * -0.5 - tmp61 = f.ov.copy() - tmp61 += tmp6 - l1new += einsum(tmp61, (0, 1), tmp56, (2, 0), (1, 2), optimize=True) * -1 - tmp59 = v.ovvv.copy() * -0.5 - tmp59 += v.ovvv.transpose((0, 2, 1, 3)) - tmp7 = einsum(tmp6, (0, 1), t2, (2, 3, 1, 4), (2, 3, 0, 4), optimize=True) - del tmp6 - tmp4 = tmp1.copy() * 0.5 - del tmp1 - tmp4 += tmp3 * -0.5 - del tmp3 - tmp11 = v.oovv.copy() * 2 - tmp11 += v.ovov.transpose((0, 2, 1, 3)) * -1 - tmp13 = v.oooo.transpose((0, 2, 3, 1)).copy() * -1 - tmp13 += v.oooo * 2 - tmp13 += tmp12.transpose((2, 0, 3, 1)) * -1 - tmp13 += tmp12.transpose((3, 0, 2, 1)) * 2 - del tmp12 - tmp10 = v.ooov.copy() * -0.5 - tmp10 += v.ooov.transpose((0, 2, 1, 3)) - tmp10 += tmp8 - tmp10 += tmp8.transpose((0, 2, 1, 3)) * -0.5 - tmp9 = v.ooov.copy() * 2 - tmp9 += v.ooov.transpose((0, 2, 1, 3)) * -1 - tmp9 += tmp8 * -1 - tmp9 += tmp8.transpose((0, 2, 1, 3)) * 2 - del tmp8 - tmp0 = einsum(t2, (0, 1, 2, 3), f.ov, (4, 3), (4, 0, 1, 2), optimize=True) - tmp22 = l2.transpose((3, 2, 0, 1)).copy() * 2 - tmp22 += l2.transpose((2, 3, 0, 1)) * -1 - tmp75 = tmp64.copy() - del tmp64 - tmp75 += tmp65 - del tmp65 - tmp75 += tmp67 * -1 - del tmp67 - tmp75 += tmp68 * -1 - del tmp68 - tmp75 += tmp69 - del tmp69 - tmp75 += tmp70 - del tmp70 - tmp75 += tmp71 - del tmp71 - tmp75 += tmp74 * -1 - del tmp74 - l2new += tmp75.transpose((2, 3, 1, 0)) - l2new += tmp75.transpose((3, 2, 0, 1)) - del tmp75 - tmp99 = einsum(f.ov, (0, 1), l1, (2, 3), (0, 3, 1, 2), optimize=True) - tmp99 += tmp76 - del tmp76 - tmp99 += tmp78 * 2 - del tmp78 - tmp99 += tmp79 * -1 - del tmp79 - tmp99 += tmp80 - del tmp80 - tmp99 += tmp87 - del tmp87 - tmp99 += tmp88 * -1 - del tmp88 - tmp99 += tmp89.transpose((1, 0, 3, 2)) * -1 - del tmp89 - tmp99 += tmp91 * -1 - del tmp91 - tmp99 += tmp97.transpose((0, 1, 3, 2)) - del tmp97 - tmp99 += tmp98 * -1 - del tmp98 - tmp99 += einsum(tmp94, (0, 1), l1, (2, 3), (3, 0, 2, 1), optimize=True) - del tmp94 - l2new += tmp99.transpose((3, 2, 1, 0)) - l2new += tmp99.transpose((2, 3, 0, 1)) - del tmp99 - tmp115 = v.oooo.copy() - tmp115 += tmp26.transpose((0, 2, 3, 1)) - del tmp26 - l2new += einsum(l2, (0, 1, 2, 3), tmp115, (3, 4, 5, 2), (0, 1, 5, 4), optimize=True) - del tmp115 - tmp107 = tmp100.copy() - del tmp100 - tmp107 += tmp102.transpose((1, 0, 2, 3)) - del tmp102 - tmp107 += tmp106.transpose((0, 1, 3, 2)) - del tmp106 - l2new += tmp107.transpose((3, 2, 1, 0)) * -1 - l2new += tmp107.transpose((2, 3, 0, 1)) * -1 - del tmp107 - tmp112 = tmp108.copy() - del tmp108 - tmp112 += tmp109 - del tmp109 - tmp112 += tmp110.transpose((1, 0, 3, 2)) - del tmp110 - tmp112 += tmp111.transpose((1, 0, 3, 2)) - del tmp111 - l2new += tmp112.transpose((2, 3, 1, 0)) * -1 - l2new += tmp112.transpose((3, 2, 0, 1)) * -1 - del tmp112 - tmp114 = einsum(tmp113, (0, 1), l2, (2, 1, 3, 4), (3, 4, 2, 0), optimize=True) - del tmp113 - l2new += tmp114.transpose((3, 2, 1, 0)) * -1 - l2new += tmp114.transpose((2, 3, 0, 1)) * -1 - del tmp114 - tmp47 = tmp37.transpose((1, 0, 2, 3)).copy() * -0.5 - tmp47 += tmp37.transpose((1, 0, 3, 2)) - del tmp37 - tmp47 += tmp42.transpose((2, 1, 0, 3)) - tmp47 += tmp42.transpose((3, 1, 0, 2)) * -0.5 - del tmp42 - l1new += einsum(tmp47, (0, 1, 2, 3), v.ooov, (2, 0, 3, 4), (4, 1), optimize=True) * 2 - del tmp47 - tmp19 = einsum(l2, (0, 1, 2, 3), tmp15, (2, 4, 1, 5), (3, 4, 0, 5), optimize=True) - del tmp15 - tmp19 += einsum(l2, (0, 1, 2, 3), tmp16, (3, 4, 1, 5), (2, 4, 0, 5), optimize=True) * 2 - tmp19 += einsum(t1, (0, 1), tmp18, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) * 2 - del tmp18 - l1new += einsum(v.ovvv, (0, 1, 2, 3), tmp19, (4, 0, 3, 2), (1, 4), optimize=True) * -1 - del tmp19 - tmp33 = tmp28.copy() * -1 - tmp33 += tmp28.transpose((1, 0, 2, 3)) * 0.5 - del tmp28 - tmp33 += einsum(tmp30, (0, 1, 2, 3), tmp29, (4, 5, 0, 3), (4, 1, 5, 2), optimize=True) * -4 - del tmp29 - tmp33 += einsum(t1, (0, 1), tmp31, (2, 3, 1, 4), (0, 3, 2, 4), optimize=True) * -1 - del tmp31 - tmp33 += einsum(tmp32, (0, 1, 2, 3), t1, (1, 4), (0, 2, 3, 4), optimize=True) - del tmp32 - l1new += einsum(tmp33, (0, 1, 2, 3), l2, (4, 3, 0, 1), (4, 2), optimize=True) - del tmp33 - tmp53 = t1.copy() * -1 - tmp53 += einsum(tmp30, (0, 1, 2, 3), tmp17, (1, 0, 4, 2), (4, 3), optimize=True) * 2 - del tmp30 - tmp53 += einsum(tmp44, (0, 1, 2, 3), l1, (2, 0), (1, 3), optimize=True) * -1 - tmp53 += einsum(tmp52, (0, 1), t1, (0, 2), (1, 2), optimize=True) * 2 - del tmp52 - tmp41 = tmp36.copy() * -2 - tmp41 += tmp36.transpose((0, 2, 1, 3)) - del tmp36 - tmp41 += tmp38 * -1 - tmp41 += tmp38.transpose((0, 2, 1, 3)) * 2 - del tmp38 - tmp41 += einsum(tmp39, (0, 1, 2, 3), t2, (4, 0, 5, 3), (1, 2, 4, 5), optimize=True) - tmp41 += einsum(tmp40, (0, 1, 2, 3), t2, (4, 0, 3, 5), (1, 2, 4, 5), optimize=True) * 2 - del tmp40 - l1new += einsum(v.ovov, (0, 1, 2, 3), tmp41, (4, 2, 0, 3), (1, 4), optimize=True) - del tmp41 - tmp35 = l2.transpose((3, 2, 0, 1)).copy() - tmp35 += einsum(tmp34, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4), optimize=True) - del tmp34 - l1new += einsum(v.ovvv, (0, 1, 2, 3), tmp35, (4, 0, 3, 1), (2, 4), optimize=True) * -1 - del tmp35 - tmp45 = tmp17.transpose((0, 2, 1, 3)).copy() * 0.5 - tmp45 += tmp17.transpose((1, 2, 0, 3)) * -1 - del tmp17 - tmp45 += tmp43 - tmp45 += tmp43.transpose((0, 2, 1, 3)) * -0.5 - del tmp43 - tmp45 += einsum(tmp39, (0, 1, 2, 3), tmp44, (0, 4, 3, 5), (1, 2, 4, 5), optimize=True) * -0.5 - del tmp39 - l1new += einsum(tmp45, (0, 1, 2, 3), v.ovov, (2, 3, 1, 4), (4, 0), optimize=True) * 2 - del tmp45 - tmp50 = v.ovvv.copy() * -1 - tmp50 += v.ovvv.transpose((0, 2, 3, 1)) * 2 - tmp63 = f.oo.copy() - tmp63 += einsum(tmp44, (0, 1, 2, 3), v.ovov, (4, 3, 0, 2), (1, 4), optimize=True) - del tmp44 - tmp63 += einsum(t1, (0, 1), tmp62, (2, 3, 0, 1), (3, 2), optimize=True) * 2 - del tmp62 - tmp63 += einsum(tmp61, (0, 1), t1, (2, 1), (2, 0), optimize=True) - del tmp61 - l1new += einsum(tmp63, (0, 1), l1, (2, 0), (2, 1), optimize=True) * -1 - del tmp63 - tmp58 = v.ovov.transpose((0, 2, 1, 3)).copy() * 2 - tmp58 += v.oovv * -1 - l1new += einsum(l1, (0, 1), tmp58, (1, 2, 0, 3), (3, 2), optimize=True) - del tmp58 - tmp60 = f.vv.copy() * 0.5 - tmp60 += einsum(t1, (0, 1), tmp59, (0, 2, 1, 3), (3, 2), optimize=True) - del tmp59 - l1new += einsum(l1, (0, 1), tmp60, (0, 2), (2, 1), optimize=True) * 2 - del tmp60 - tmp57 = v.ooov.copy() * -1 - tmp57 += v.ooov.transpose((0, 2, 1, 3)) * 2 - l1new += einsum(tmp56, (0, 1), tmp57, (0, 2, 1, 3), (3, 2), optimize=True) * -1 - del tmp56, tmp57 - tmp49 = einsum(t1, (0, 1), l1, (2, 0), (2, 1), optimize=True) - tmp49 += tmp48 - del tmp48 - l1new += einsum(tmp50, (0, 1, 2, 3), tmp49, (2, 1), (3, 0), optimize=True) - del tmp50, tmp49 - tmp14 = v.ooov.transpose((0, 2, 1, 3)).copy() * 0.5 - tmp14 += v.ovoo.transpose((0, 2, 3, 1)) * -1 - tmp14 += tmp0.transpose((1, 2, 0, 3)) * -1 - tmp14 += tmp0.transpose((2, 1, 0, 3)) * 0.5 - del tmp0 - tmp14 += tmp4 - tmp14 += tmp4.transpose((1, 0, 2, 3)) * -2 - del tmp4 - tmp14 += tmp7.transpose((1, 0, 2, 3)) * -1 - tmp14 += tmp7 * 0.5 - del tmp7 - tmp14 += einsum(tmp9, (0, 1, 2, 3), t2, (4, 2, 5, 3), (0, 4, 1, 5), optimize=True) * 0.5 - del tmp9 - tmp14 += einsum(tmp10, (0, 1, 2, 3), t2, (4, 2, 3, 5), (0, 4, 1, 5), optimize=True) - del tmp10 - tmp14 += einsum(tmp11, (0, 1, 2, 3), t1, (4, 2), (4, 1, 0, 3), optimize=True) * -0.5 - del tmp11 - tmp14 += einsum(tmp13, (0, 1, 2, 3), t1, (0, 4), (1, 3, 2, 4), optimize=True) * 0.5 - del tmp13 - l1new += einsum(tmp14, (0, 1, 2, 3), l2, (4, 3, 1, 0), (4, 2), optimize=True) * 2 - del tmp14 - tmp20 = einsum(t1, (0, 1), l2, (2, 3, 4, 0), (4, 2, 3, 1), optimize=True) - tmp23 = l2.transpose((2, 3, 0, 1)).copy() - tmp23 += einsum(tmp22, (0, 1, 2, 3), tmp16, (0, 4, 3, 5), (1, 4, 2, 5), optimize=True) - del tmp16, tmp22 - l1new += einsum(v.ovvv, (0, 1, 2, 3), tmp23, (4, 0, 3, 1), (2, 4), optimize=True) * 2 - del tmp23 - tmp54 = v.ovov.transpose((0, 2, 3, 1)).copy() * -1 - tmp54 += v.ovov.transpose((0, 2, 1, 3)) * 2 - l1new += einsum(tmp53, (0, 1), tmp54, (0, 2, 1, 3), (3, 2), optimize=True) * -1 - del tmp53, tmp54 - tmp21 = v.vvvv.transpose((0, 2, 1, 3)).copy() * -1 - tmp21 += v.vvvv * 2 - l1new += einsum(tmp21, (0, 1, 2, 3), tmp20, (4, 3, 0, 1), (2, 4), optimize=True) - del tmp21, tmp20 - l1new += f.ov.transpose((1, 0)) - l2new += einsum(l2, (0, 1, 2, 3), v.vvvv, (4, 1, 5, 0), (4, 5, 3, 2), optimize=True) - l2new += v.ovov.transpose((1, 3, 0, 2)) - - return {f"l1new": l1new, f"l2new": l2new} - -def make_rdm1_f(l1=None, l2=None, t1=None, t2=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-07-22T17:20:16.519076. - - Parameters - ---------- - l1 : array - L1 amplitudes. - l2 : array - L2 amplitudes. - t1 : array - T1 amplitudes. - t2 : array - T2 amplitudes. - - Returns - ------- - rdm1 : array - One-particle reduced density matrix. - """ - - rdm1 = Namespace() - delta = Namespace( - oo=np.eye(t2.shape[0]), - vv=np.eye(t2.shape[-1]), - ) - tmp2 = einsum(t1, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2), optimize=True) - tmp1 = t2.transpose((0, 1, 3, 2)).copy() - tmp1 += t2 * -0.5 - rdm1.oo = einsum(l2, (0, 1, 2, 3), tmp1, (2, 4, 1, 0), (4, 3), optimize=True) * -4 - tmp0 = einsum(t1, (0, 1), l1, (1, 2), (2, 0), optimize=True) - rdm1.oo += tmp0.transpose((1, 0)) * -2 - tmp6 = l2.transpose((3, 2, 0, 1)).copy() * 2 - tmp6 += l2.transpose((2, 3, 0, 1)) * -1 - rdm1.vv = einsum(t2, (0, 1, 2, 3), tmp6, (0, 1, 3, 4), (4, 2), optimize=True) * 2 - del tmp6 - tmp4 = t2.transpose((0, 1, 3, 2)).copy() * -1 - tmp4 += t2 * 2 - rdm1.ov = einsum(l1, (0, 1), tmp4, (1, 2, 0, 3), (2, 3), optimize=True) * 2 - del tmp4 - tmp3 = tmp2.copy() - tmp3 += tmp2.transpose((1, 0, 2, 3)) * -0.5 - del tmp2 - rdm1.ov += einsum(t2, (0, 1, 2, 3), tmp3, (1, 0, 4, 3), (4, 2), optimize=True) * -4 - del tmp3 - tmp5 = tmp0.copy() * 0.5 - del tmp0 - tmp5 += einsum(l2, (0, 1, 2, 3), tmp1, (2, 4, 1, 0), (3, 4), optimize=True) - del tmp1 - rdm1.ov += einsum(tmp5, (0, 1), t1, (0, 2), (1, 2), optimize=True) * -4 - del tmp5 - rdm1.oo += delta.oo * 2 - del delta - rdm1.ov += t1 * 2 - rdm1.vo = l1.copy() * 2 - rdm1.vv += einsum(t1, (0, 1), l1, (2, 0), (2, 1), optimize=True) * 2 - rdm1 = np.block([[rdm1.oo, rdm1.ov], [rdm1.vo, rdm1.vv]]) - - return rdm1 - -def make_rdm2_f(l1=None, l2=None, t1=None, t2=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-07-22T17:21:01.287104. - - Parameters - ---------- - l1 : array - L1 amplitudes. - l2 : array - L2 amplitudes. - t1 : array - T1 amplitudes. - t2 : array - T2 amplitudes. - - Returns - ------- - rdm2 : array - Two-particle reduced density matrix. - """ - - rdm2 = Namespace() - delta = Namespace( - oo=np.eye(t2.shape[0]), - vv=np.eye(t2.shape[-1]), - ) - tmp2 = einsum(t1, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2), optimize=True) - rdm2.vooo = tmp2.transpose((3, 2, 1, 0)).copy() - rdm2.vooo += tmp2.transpose((3, 2, 0, 1)) * -1 - rdm2.vooo += tmp2.transpose((3, 2, 0, 1)) * -1 - rdm2.vooo += tmp2.transpose((3, 2, 0, 1)) * -1 - rdm2.vooo += tmp2.transpose((3, 2, 1, 0)) - rdm2.vooo += tmp2.transpose((3, 2, 0, 1)) * -1 - rdm2.ovoo = tmp2.transpose((2, 3, 1, 0)).copy() * -1 - rdm2.ovoo += tmp2.transpose((2, 3, 0, 1)) - rdm2.ovoo += tmp2.transpose((2, 3, 1, 0)) * -1 - rdm2.ovoo += tmp2.transpose((2, 3, 1, 0)) * -1 - rdm2.ovoo += tmp2.transpose((2, 3, 1, 0)) * -1 - rdm2.ovoo += tmp2.transpose((2, 3, 0, 1)) - tmp95 = t2.transpose((0, 1, 3, 2)).copy() * -1 - tmp95 += t2 - tmp22 = t2.transpose((0, 1, 3, 2)).copy() * -1 - tmp22 += t2 * 2 - tmp10 = tmp2.copy() - tmp10 += tmp2.transpose((1, 0, 2, 3)) * -1 - tmp12 = tmp2.copy() * 2 - tmp12 += tmp2.transpose((1, 0, 2, 3)) * -1 - tmp5 = t2.transpose((0, 1, 3, 2)).copy() - tmp5 += t2 * -0.5 - tmp61 = l2.transpose((3, 2, 0, 1)).copy() * -1 - tmp61 += l2.transpose((2, 3, 0, 1)) * 2 - tmp45 = l2.transpose((3, 2, 0, 1)).copy() * 2 - tmp45 += l2.transpose((2, 3, 0, 1)) * -1 - tmp96 = einsum(tmp95, (0, 1, 2, 3), l2, (4, 2, 0, 5), (1, 5, 3, 4), optimize=True) - del tmp95 - tmp87 = einsum(tmp2, (0, 1, 2, 3), t1, (1, 4), (0, 2, 3, 4), optimize=True) - rdm2.voov = tmp87.transpose((2, 1, 0, 3)).copy() * -1 - rdm2.voov += tmp87.transpose((2, 1, 0, 3)) * -1 - rdm2.ovvo = tmp87.transpose((1, 2, 3, 0)).copy() * -1 - rdm2.ovvo += tmp87.transpose((1, 2, 3, 0)) * -1 - tmp94 = einsum(l2, (0, 1, 2, 3), tmp22, (3, 4, 1, 5), (4, 2, 5, 0), optimize=True) - tmp104 = l2.transpose((3, 2, 0, 1)).copy() * 2 - tmp104 += l2.transpose((2, 3, 0, 1)) * -1 - tmp0 = einsum(t1, (0, 1), l1, (1, 2), (2, 0), optimize=True) - rdm2.ooov = einsum(tmp0, (0, 1), t1, (2, 3), (1, 2, 0, 3), optimize=True) * -1 - rdm2.ooov += einsum(tmp0, (0, 1), t1, (2, 3), (2, 1, 0, 3), optimize=True) - rdm2.ooov += einsum(tmp0, (0, 1), t1, (2, 3), (1, 2, 0, 3), optimize=True) * -1 - rdm2.ooov += einsum(tmp0, (0, 1), t1, (2, 3), (2, 1, 0, 3), optimize=True) - rdm2.oooo = einsum(delta.oo, (0, 1), tmp0, (2, 3), (0, 3, 1, 2), optimize=True) * -1 - rdm2.oooo += einsum(delta.oo, (0, 1), tmp0, (2, 3), (3, 0, 1, 2), optimize=True) - rdm2.oooo += einsum(tmp0, (0, 1), delta.oo, (2, 3), (2, 1, 0, 3), optimize=True) - rdm2.oooo += einsum(delta.oo, (0, 1), tmp0, (2, 3), (3, 0, 2, 1), optimize=True) * -1 - rdm2.oooo += einsum(delta.oo, (0, 1), tmp0, (2, 3), (0, 3, 1, 2), optimize=True) * -1 - rdm2.oooo += einsum(delta.oo, (0, 1), tmp0, (2, 3), (0, 3, 1, 2), optimize=True) * -1 - rdm2.oooo += einsum(delta.oo, (0, 1), tmp0, (2, 3), (0, 3, 1, 2), optimize=True) * -1 - rdm2.oooo += einsum(delta.oo, (0, 1), tmp0, (2, 3), (3, 0, 1, 2), optimize=True) - rdm2.oooo += einsum(tmp0, (0, 1), delta.oo, (2, 3), (2, 1, 0, 3), optimize=True) - rdm2.oooo += einsum(delta.oo, (0, 1), tmp0, (2, 3), (3, 0, 2, 1), optimize=True) * -1 - tmp8 = einsum(t2, (0, 1, 2, 3), l1, (3, 4), (4, 0, 1, 2), optimize=True) - rdm2.oovo = tmp8.transpose((1, 2, 3, 0)).copy() * -1 - rdm2.oovo += tmp8.transpose((1, 2, 3, 0)) * -1 - rdm2.ooov += tmp8.transpose((2, 1, 0, 3)) * -1 - rdm2.ooov += tmp8.transpose((2, 1, 0, 3)) * -1 - tmp11 = einsum(tmp10, (0, 1, 2, 3), t2, (4, 0, 3, 5), (1, 2, 4, 5), optimize=True) - tmp13 = einsum(tmp12, (0, 1, 2, 3), t2, (4, 0, 5, 3), (1, 2, 4, 5), optimize=True) - del tmp12 - rdm2.ooov += tmp13.transpose((1, 2, 0, 3)) * -1 - rdm2.ooov += tmp13.transpose((1, 2, 0, 3)) * -1 - tmp26 = einsum(tmp2, (0, 1, 2, 3), t2, (4, 1, 3, 5), (0, 2, 4, 5), optimize=True) - rdm2.oovo += tmp26.transpose((1, 2, 3, 0)) - rdm2.oovo += tmp26.transpose((1, 2, 3, 0)) - rdm2.ooov += tmp26.transpose((2, 1, 0, 3)) - rdm2.ooov += tmp26.transpose((2, 1, 0, 3)) - tmp54 = l2.transpose((3, 2, 0, 1)).copy() - tmp54 += l2.transpose((2, 3, 0, 1)) * -1 - tmp3 = einsum(t1, (0, 1), tmp2, (2, 3, 4, 1), (3, 2, 4, 0), optimize=True) - rdm2.oooo += tmp3.transpose((3, 2, 1, 0)) - rdm2.oooo += tmp3.transpose((3, 2, 1, 0)) - tmp6 = einsum(l2, (0, 1, 2, 3), tmp5, (2, 4, 1, 0), (3, 4), optimize=True) * 2 - rdm2.oooo += einsum(tmp6, (0, 1), delta.oo, (2, 3), (2, 1, 3, 0), optimize=True) * -1 - rdm2.oooo += einsum(delta.oo, (0, 1), tmp6, (2, 3), (3, 0, 1, 2), optimize=True) - rdm2.oooo += einsum(delta.oo, (0, 1), tmp6, (2, 3), (0, 3, 2, 1), optimize=True) - rdm2.oooo += einsum(delta.oo, (0, 1), tmp6, (2, 3), (3, 0, 2, 1), optimize=True) * -1 - rdm2.oooo += einsum(tmp6, (0, 1), delta.oo, (2, 3), (2, 1, 3, 0), optimize=True) * -1 - rdm2.oooo += einsum(delta.oo, (0, 1), tmp6, (2, 3), (3, 0, 2, 1), optimize=True) * -1 - rdm2.oooo += einsum(tmp6, (0, 1), delta.oo, (2, 3), (2, 1, 3, 0), optimize=True) * -1 - rdm2.oooo += einsum(delta.oo, (0, 1), tmp6, (2, 3), (3, 0, 2, 1), optimize=True) * -1 - rdm2.oooo += einsum(tmp6, (0, 1), delta.oo, (2, 3), (2, 1, 3, 0), optimize=True) * -1 - rdm2.oooo += einsum(delta.oo, (0, 1), tmp6, (2, 3), (3, 0, 1, 2), optimize=True) - rdm2.oooo += einsum(delta.oo, (0, 1), tmp6, (2, 3), (0, 3, 2, 1), optimize=True) - rdm2.oooo += einsum(delta.oo, (0, 1), tmp6, (2, 3), (3, 0, 2, 1), optimize=True) * -1 - tmp17 = tmp2.copy() * -1 - tmp17 += tmp2.transpose((1, 0, 2, 3)) * 2 - tmp25 = einsum(tmp2, (0, 1, 2, 3), t2, (4, 0, 3, 5), (1, 2, 4, 5), optimize=True) - rdm2.oovo += tmp25.transpose((2, 1, 3, 0)) - rdm2.oovo += tmp25.transpose((2, 1, 3, 0)) - rdm2.ooov += tmp25.transpose((1, 2, 0, 3)) - rdm2.ooov += tmp25.transpose((1, 2, 0, 3)) - tmp1 = einsum(l2, (0, 1, 2, 3), t2, (4, 5, 0, 1), (2, 3, 4, 5), optimize=True) - rdm2.oooo += tmp1.transpose((3, 2, 1, 0)) - rdm2.oooo += tmp1.transpose((3, 2, 1, 0)) - tmp31 = einsum(l2, (0, 1, 2, 3), tmp5, (2, 4, 1, 0), (3, 4), optimize=True) - del tmp5 - tmp114 = einsum(t1, (0, 1), l2, (2, 3, 4, 0), (4, 2, 3, 1), optimize=True) - rdm2.vvvo = tmp114.transpose((2, 1, 3, 0)).copy() - rdm2.vvvo += tmp114.transpose((1, 2, 3, 0)) * -1 - rdm2.vvvo += tmp114.transpose((2, 1, 3, 0)) - rdm2.vvvo += tmp114.transpose((2, 1, 3, 0)) - rdm2.vvvo += tmp114.transpose((2, 1, 3, 0)) - rdm2.vvvo += tmp114.transpose((1, 2, 3, 0)) * -1 - rdm2.vvov = tmp114.transpose((2, 1, 0, 3)).copy() * -1 - rdm2.vvov += tmp114.transpose((1, 2, 0, 3)) - rdm2.vvov += tmp114.transpose((1, 2, 0, 3)) - rdm2.vvov += tmp114.transpose((1, 2, 0, 3)) - rdm2.vvov += tmp114.transpose((2, 1, 0, 3)) * -1 - rdm2.vvov += tmp114.transpose((1, 2, 0, 3)) - tmp83 = einsum(t1, (0, 1), l1, (2, 0), (2, 1), optimize=True) - tmp84 = einsum(t2, (0, 1, 2, 3), tmp61, (0, 1, 2, 4), (4, 3), optimize=True) - tmp66 = einsum(t2, (0, 1, 2, 3), l2, (4, 2, 5, 1), (5, 0, 4, 3), optimize=True) - rdm2.voov += tmp66.transpose((2, 1, 0, 3)) * -1 - rdm2.voov += tmp66.transpose((2, 1, 0, 3)) * -1 - rdm2.ovvo += tmp66.transpose((1, 2, 3, 0)) * -1 - rdm2.ovvo += tmp66.transpose((1, 2, 3, 0)) * -1 - tmp52 = einsum(tmp45, (0, 1, 2, 3), t2, (4, 0, 5, 3), (1, 4, 2, 5), optimize=True) - rdm2.vovo = tmp52.transpose((2, 1, 3, 0)).copy() * -1 - rdm2.vovo += tmp52.transpose((2, 1, 3, 0)) * -1 - rdm2.voov += tmp52.transpose((2, 1, 0, 3)) - rdm2.voov += tmp52.transpose((2, 1, 0, 3)) - rdm2.ovvo += tmp52.transpose((1, 2, 3, 0)) - rdm2.ovvo += tmp52.transpose((1, 2, 3, 0)) - rdm2.ovvo += tmp52.transpose((1, 2, 3, 0)) - rdm2.ovvo += tmp52.transpose((1, 2, 3, 0)) - tmp108 = tmp87.copy() - tmp108 += tmp96.transpose((1, 0, 3, 2)) - tmp108 += tmp94.transpose((1, 0, 3, 2)) * -1 - tmp97 = tmp94.transpose((1, 0, 3, 2)).copy() - del tmp94 - tmp97 += tmp96.transpose((1, 0, 3, 2)) * -1 - del tmp96 - tmp105 = einsum(tmp104, (0, 1, 2, 3), t2, (4, 0, 5, 3), (1, 4, 2, 5), optimize=True) - del tmp104 - tmp46 = einsum(tmp45, (0, 1, 2, 3), t2, (4, 0, 3, 5), (1, 4, 2, 5), optimize=True) - del tmp45 - tmp23 = einsum(l1, (0, 1), tmp22, (1, 2, 0, 3), (2, 3), optimize=True) - del tmp22 - rdm2.oovo += einsum(delta.oo, (0, 1), tmp23, (2, 3), (0, 2, 3, 1), optimize=True) * -1 - rdm2.oovo += einsum(delta.oo, (0, 1), tmp23, (2, 3), (2, 0, 3, 1), optimize=True) - rdm2.oovo += einsum(delta.oo, (0, 1), tmp23, (2, 3), (0, 2, 3, 1), optimize=True) * -1 - rdm2.oovo += einsum(delta.oo, (0, 1), tmp23, (2, 3), (2, 0, 3, 1), optimize=True) - tmp21 = einsum(tmp0, (0, 1), t1, (0, 2), (1, 2), optimize=True) - rdm2.oovv = einsum(tmp21, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) * -1 - rdm2.oovv += einsum(tmp21, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) * -1 - tmp48 = tmp8.copy() - tmp48 += tmp11 - tmp48 += tmp13 * -1 - tmp73 = tmp8.copy() - tmp73 += tmp26 * -1 - del tmp26 - tmp55 = einsum(t2, (0, 1, 2, 3), tmp54, (1, 4, 5, 2), (4, 0, 5, 3), optimize=True) - del tmp54 - rdm2.ovvo += tmp55.transpose((1, 2, 3, 0)) * -1 - rdm2.ovvo += tmp55.transpose((1, 2, 3, 0)) * -1 - tmp9 = einsum(t1, (0, 1), tmp3, (0, 2, 3, 4), (2, 4, 3, 1), optimize=True) - tmp19 = einsum(tmp6, (0, 1), t1, (0, 2), (1, 2), optimize=True) * 0.5 - tmp18 = einsum(tmp17, (0, 1, 2, 3), t2, (0, 1, 4, 3), (2, 4), optimize=True) * 0.5 - tmp62 = einsum(t2, (0, 1, 2, 3), tmp61, (0, 1, 2, 4), (4, 3), optimize=True) * 0.5 - del tmp61 - tmp70 = tmp25.copy() - del tmp25 - tmp70 += tmp13 * -1 - tmp4 = tmp1.transpose((1, 0, 3, 2)).copy() - tmp4 += tmp3 - del tmp3 - rdm2.oooo += tmp4.transpose((2, 3, 0, 1)) - rdm2.oooo += tmp4.transpose((3, 2, 0, 1)) * -1 - rdm2.oooo += tmp4.transpose((2, 3, 0, 1)) - rdm2.oooo += tmp4.transpose((3, 2, 0, 1)) * -1 - tmp15 = einsum(tmp1, (0, 1, 2, 3), t1, (1, 4), (0, 2, 3, 4), optimize=True) - del tmp1 - tmp32 = tmp0.copy() * 0.5 - tmp32 += tmp31 - del tmp31 - tmp29 = t2.transpose((0, 1, 3, 2)).copy() * -1 - tmp29 += t2 * 2 - tmp115 = einsum(l2, (0, 1, 2, 3), t2, (3, 2, 4, 5), (0, 1, 5, 4), optimize=True) - rdm2.vvvv = tmp115.transpose((1, 0, 3, 2)).copy() - rdm2.vvvv += tmp115.transpose((1, 0, 3, 2)) - tmp116 = einsum(t1, (0, 1), tmp114, (0, 2, 3, 4), (3, 2, 4, 1), optimize=True) - del tmp114 - rdm2.vvvv += tmp116.transpose((1, 0, 3, 2)) - rdm2.vvvv += tmp116.transpose((1, 0, 3, 2)) - tmp85 = tmp83.copy() - tmp85 += tmp84 - del tmp84 - rdm2.vovv = einsum(t1, (0, 1), tmp85, (2, 3), (2, 0, 3, 1), optimize=True) - rdm2.vovv += einsum(t1, (0, 1), tmp85, (2, 3), (2, 0, 3, 1), optimize=True) - rdm2.voov += einsum(tmp85, (0, 1), delta.oo, (2, 3), (0, 2, 3, 1), optimize=True) * -1 - rdm2.voov += einsum(tmp85, (0, 1), delta.oo, (2, 3), (0, 2, 3, 1), optimize=True) * -1 - rdm2.ovvo += einsum(tmp85, (0, 1), delta.oo, (2, 3), (2, 0, 1, 3), optimize=True) * -1 - rdm2.ovvo += einsum(tmp85, (0, 1), delta.oo, (2, 3), (2, 0, 1, 3), optimize=True) * -1 - rdm2.ovov = einsum(tmp85, (0, 1), delta.oo, (2, 3), (2, 0, 3, 1), optimize=True) - rdm2.ovov += einsum(tmp85, (0, 1), delta.oo, (2, 3), (2, 0, 3, 1), optimize=True) - rdm2.ovov += einsum(tmp85, (0, 1), delta.oo, (2, 3), (2, 0, 3, 1), optimize=True) - rdm2.ovov += einsum(tmp85, (0, 1), delta.oo, (2, 3), (2, 0, 3, 1), optimize=True) - tmp100 = einsum(tmp2, (0, 1, 2, 3), t2, (0, 1, 4, 5), (2, 3, 4, 5), optimize=True) - rdm2.vovv += tmp100.transpose((1, 0, 2, 3)) * -1 - rdm2.vovv += tmp100.transpose((1, 0, 2, 3)) * -1 - rdm2.ovvv = tmp100.transpose((0, 1, 3, 2)).copy() * -1 - rdm2.ovvv += tmp100.transpose((0, 1, 3, 2)) * -1 - tmp112 = tmp66.copy() - tmp112 += tmp87 - tmp112 += tmp52 * -1 - tmp109 = einsum(t1, (0, 1), tmp108, (0, 2, 3, 4), (2, 3, 4, 1), optimize=True) - del tmp108 - tmp93 = einsum(t2, (0, 1, 2, 3), l1, (4, 1), (0, 4, 2, 3), optimize=True) - rdm2.vovv += tmp93.transpose((1, 0, 3, 2)) - rdm2.vovv += tmp93.transpose((1, 0, 3, 2)) - rdm2.ovvv += tmp93 - rdm2.ovvv += tmp93 - tmp68 = einsum(t2, (0, 1, 2, 3), l2, (4, 2, 1, 5), (5, 0, 4, 3), optimize=True) - rdm2.vovo += tmp68.transpose((2, 1, 3, 0)) * -1 - rdm2.vovo += tmp68.transpose((2, 1, 3, 0)) * -1 - rdm2.ovov += tmp68.transpose((1, 2, 0, 3)) * -1 - rdm2.ovov += tmp68.transpose((1, 2, 0, 3)) * -1 - tmp98 = einsum(tmp97, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4), optimize=True) - del tmp97 - tmp106 = tmp66.copy() - tmp106 += tmp87 - tmp106 += tmp105 * -1 - del tmp105 - tmp90 = l2.transpose((3, 2, 0, 1)).copy() * -1 - tmp90 += l2.transpose((2, 3, 0, 1)) - tmp88 = tmp2.copy() * -1 - tmp88 += tmp2.transpose((1, 0, 2, 3)) - tmp78 = t2.transpose((0, 1, 3, 2)).copy() - tmp78 += t2 * -1 - tmp80 = t2.transpose((0, 1, 3, 2)).copy() * 2 - tmp80 += t2 * -1 - tmp47 = einsum(tmp46, (0, 1, 2, 3), t2, (4, 0, 5, 2), (1, 4, 3, 5), optimize=True) - del tmp46 - tmp24 = tmp21.copy() - tmp24 += tmp23 * -1 - rdm2.ooov += einsum(delta.oo, (0, 1), tmp24, (2, 3), (0, 2, 1, 3), optimize=True) * -1 - rdm2.ooov += einsum(delta.oo, (0, 1), tmp24, (2, 3), (2, 0, 1, 3), optimize=True) - rdm2.ooov += einsum(delta.oo, (0, 1), tmp24, (2, 3), (0, 2, 1, 3), optimize=True) * -1 - rdm2.ooov += einsum(delta.oo, (0, 1), tmp24, (2, 3), (2, 0, 1, 3), optimize=True) - tmp49 = einsum(tmp48, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4), optimize=True) - del tmp48 - tmp44 = einsum(t2, (0, 1, 2, 3), tmp0, (1, 4), (4, 0, 2, 3), optimize=True) - tmp74 = einsum(tmp73, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4), optimize=True) - del tmp73 - tmp56 = einsum(tmp55, (0, 1, 2, 3), t2, (4, 0, 2, 5), (1, 4, 3, 5), optimize=True) - del tmp55 - tmp51 = einsum(t1, (0, 1), tmp9, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) - tmp53 = einsum(tmp52, (0, 1, 2, 3), t2, (4, 0, 5, 2), (1, 4, 3, 5), optimize=True) - del tmp52 - rdm2.oovv += tmp53 * 2 - rdm2.oovv += tmp53 * 2 - tmp20 = tmp18.copy() - tmp20 += tmp19 - del tmp19 - rdm2.ooov += einsum(delta.oo, (0, 1), tmp20, (2, 3), (0, 2, 1, 3), optimize=True) * -2 - rdm2.ooov += einsum(delta.oo, (0, 1), tmp20, (2, 3), (2, 0, 1, 3), optimize=True) * 2 - rdm2.ooov += einsum(delta.oo, (0, 1), tmp20, (2, 3), (0, 2, 1, 3), optimize=True) * -2 - rdm2.ooov += einsum(delta.oo, (0, 1), tmp20, (2, 3), (2, 0, 1, 3), optimize=True) * 2 - tmp63 = einsum(t2, (0, 1, 2, 3), tmp62, (2, 4), (0, 1, 4, 3), optimize=True) * 2 - tmp64 = einsum(t2, (0, 1, 2, 3), tmp6, (1, 4), (0, 4, 3, 2), optimize=True) - tmp71 = einsum(tmp70, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4), optimize=True) - del tmp70 - tmp27 = einsum(t1, (0, 1), tmp4, (0, 2, 3, 4), (2, 3, 4, 1), optimize=True) - rdm2.oovo += tmp27.transpose((1, 2, 3, 0)) - rdm2.oovo += tmp27.transpose((1, 2, 3, 0)) - rdm2.ooov += tmp27.transpose((2, 1, 0, 3)) - rdm2.ooov += tmp27.transpose((2, 1, 0, 3)) - tmp59 = einsum(tmp4, (0, 1, 2, 3), t2, (0, 1, 4, 5), (2, 3, 4, 5), optimize=True) - del tmp4 - rdm2.oovv += tmp59 - rdm2.oovv += tmp59 - tmp58 = einsum(tmp15, (0, 1, 2, 3), t1, (0, 4), (2, 1, 3, 4), optimize=True) - tmp28 = einsum(tmp17, (0, 1, 2, 3), t2, (0, 1, 4, 3), (2, 4), optimize=True) - del tmp17 - tmp33 = einsum(tmp32, (0, 1), t1, (0, 2), (1, 2), optimize=True) * 2 - tmp39 = tmp2.copy() * -1 - tmp39 += tmp2.transpose((1, 0, 2, 3)) * 2 - tmp42 = einsum(tmp32, (0, 1), t1, (0, 2), (1, 2), optimize=True) - del tmp32 - tmp41 = einsum(l1, (0, 1), tmp29, (1, 2, 0, 3), (2, 3), optimize=True) * 0.5 - tmp30 = einsum(l1, (0, 1), tmp29, (1, 2, 0, 3), (2, 3), optimize=True) - del tmp29 - tmp117 = tmp115.transpose((1, 0, 3, 2)).copy() - del tmp115 - tmp117 += tmp116.transpose((1, 0, 3, 2)) - del tmp116 - rdm2.vvvv += tmp117 - rdm2.vvvv += tmp117.transpose((0, 1, 3, 2)) * -1 - rdm2.vvvv += tmp117 - rdm2.vvvv += tmp117.transpose((0, 1, 3, 2)) * -1 - del tmp117 - tmp111 = tmp100.copy() - tmp111 += einsum(tmp85, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) - del tmp85 - rdm2.vovv += tmp111.transpose((1, 0, 3, 2)) - rdm2.vovv += tmp111.transpose((1, 0, 2, 3)) * -1 - rdm2.vovv += tmp111.transpose((1, 0, 3, 2)) - rdm2.vovv += tmp111.transpose((1, 0, 2, 3)) * -1 - del tmp111 - tmp113 = einsum(t1, (0, 1), tmp112, (0, 2, 3, 4), (2, 3, 4, 1), optimize=True) - del tmp112 - rdm2.vovv += tmp113.transpose((1, 0, 3, 2)) * -1 - rdm2.vovv += tmp113.transpose((1, 0, 3, 2)) * -1 - del tmp113 - tmp110 = tmp93.copy() - tmp110 += tmp109.transpose((0, 1, 3, 2)) - del tmp109 - rdm2.vovv += tmp110.transpose((1, 0, 3, 2)) - rdm2.vovv += tmp110.transpose((1, 0, 2, 3)) * -1 - rdm2.vovv += tmp110.transpose((1, 0, 3, 2)) - rdm2.vovv += tmp110.transpose((1, 0, 2, 3)) * -1 - del tmp110 - tmp103 = einsum(t1, (0, 1), tmp68, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) - rdm2.vovv += tmp103.transpose((1, 0, 3, 2)) * -1 - rdm2.vovv += tmp103.transpose((1, 0, 3, 2)) * -1 - rdm2.ovvv += tmp103 * -1 - rdm2.ovvv += tmp103 * -1 - del tmp103 - tmp99 = tmp93.copy() - del tmp93 - tmp99 += einsum(tmp83, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) - tmp99 += tmp98.transpose((0, 1, 3, 2)) * -1 - del tmp98 - rdm2.ovvv += tmp99.transpose((0, 1, 3, 2)) * -1 - rdm2.ovvv += tmp99 - rdm2.ovvv += tmp99.transpose((0, 1, 3, 2)) * -1 - rdm2.ovvv += tmp99 - del tmp99 - tmp92 = tmp83.copy() * 0.5 - del tmp83 - tmp92 += tmp62 - rdm2.ovvv += einsum(tmp92, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) * 2 - rdm2.ovvv += einsum(tmp92, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) * 2 - rdm2.vovo += einsum(delta.oo, (0, 1), tmp92, (2, 3), (2, 0, 3, 1), optimize=True) * 2 - rdm2.vovo += einsum(delta.oo, (0, 1), tmp92, (2, 3), (2, 0, 3, 1), optimize=True) * 2 - rdm2.vovo += einsum(delta.oo, (0, 1), tmp92, (2, 3), (2, 0, 3, 1), optimize=True) * 2 - rdm2.vovo += einsum(delta.oo, (0, 1), tmp92, (2, 3), (2, 0, 3, 1), optimize=True) * 2 - del tmp92 - tmp107 = einsum(t1, (0, 1), tmp106, (0, 2, 3, 4), (2, 3, 4, 1), optimize=True) - del tmp106 - rdm2.ovvv += tmp107 * -1 - rdm2.ovvv += tmp107 * -1 - del tmp107 - tmp102 = einsum(t1, (0, 1), tmp87, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) - del tmp87 - rdm2.ovvv += tmp102.transpose((0, 1, 3, 2)) * -1 - rdm2.ovvv += tmp102 - rdm2.ovvv += tmp102.transpose((0, 1, 3, 2)) * -1 - rdm2.ovvv += tmp102 - del tmp102 - tmp101 = tmp100.copy() - del tmp100 - tmp101 += einsum(tmp62, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) * 2 - del tmp62 - rdm2.ovvv += tmp101.transpose((0, 1, 3, 2)) * -1 - rdm2.ovvv += tmp101 - rdm2.ovvv += tmp101.transpose((0, 1, 3, 2)) * -1 - rdm2.ovvv += tmp101 - del tmp101 - tmp91 = einsum(tmp90, (0, 1, 2, 3), t2, (4, 0, 3, 5), (1, 4, 2, 5), optimize=True) - del tmp90 - rdm2.vovo += tmp91.transpose((2, 1, 3, 0)) * -1 - rdm2.vovo += tmp91.transpose((2, 1, 3, 0)) * -1 - del tmp91 - tmp86 = einsum(tmp2, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4), optimize=True) - del tmp2 - rdm2.vovo += tmp86.transpose((2, 1, 3, 0)) * -1 - rdm2.vovo += tmp86.transpose((2, 1, 3, 0)) * -1 - rdm2.ovov += tmp86.transpose((1, 2, 0, 3)) * -1 - rdm2.ovov += tmp86.transpose((1, 2, 0, 3)) * -1 - del tmp86 - tmp89 = einsum(t1, (0, 1), tmp88, (2, 0, 3, 4), (2, 3, 4, 1), optimize=True) - del tmp88 - rdm2.vovo += tmp89.transpose((2, 1, 3, 0)) * -1 - rdm2.vovo += tmp89.transpose((2, 1, 3, 0)) * -1 - rdm2.voov += tmp89.transpose((2, 1, 0, 3)) - rdm2.voov += tmp89.transpose((2, 1, 0, 3)) - del tmp89 - tmp79 = einsum(tmp78, (0, 1, 2, 3), l2, (4, 3, 0, 5), (1, 5, 2, 4), optimize=True) - del tmp78 - rdm2.voov += tmp79.transpose((3, 0, 1, 2)) * -1 - rdm2.voov += tmp79.transpose((3, 0, 1, 2)) * -1 - rdm2.ovov += tmp79.transpose((0, 3, 1, 2)) - rdm2.ovov += tmp79.transpose((0, 3, 1, 2)) - del tmp79 - tmp81 = einsum(l2, (0, 1, 2, 3), tmp80, (3, 4, 5, 1), (4, 2, 5, 0), optimize=True) - del tmp80 - rdm2.voov += tmp81.transpose((3, 0, 1, 2)) - rdm2.voov += tmp81.transpose((3, 0, 1, 2)) - rdm2.ovov += tmp81.transpose((0, 3, 1, 2)) * -1 - rdm2.ovov += tmp81.transpose((0, 3, 1, 2)) * -1 - del tmp81 - tmp82 = einsum(tmp10, (0, 1, 2, 3), t1, (1, 4), (0, 2, 3, 4), optimize=True) - del tmp10 - rdm2.ovvo += tmp82.transpose((1, 2, 3, 0)) * -1 - rdm2.ovvo += tmp82.transpose((1, 2, 3, 0)) * -1 - rdm2.ovov += tmp82.transpose((1, 2, 0, 3)) - rdm2.ovov += tmp82.transpose((1, 2, 0, 3)) - del tmp82 - tmp50 = tmp44.copy() - tmp50 += tmp47.transpose((1, 0, 3, 2)) * -1 - tmp50 += tmp49.transpose((0, 1, 3, 2)) - del tmp49 - tmp50 += einsum(tmp24, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) * -1 - del tmp24 - rdm2.oovv += tmp50.transpose((1, 0, 3, 2)) - rdm2.oovv += tmp50.transpose((1, 0, 2, 3)) * -1 - rdm2.oovv += tmp50.transpose((0, 1, 3, 2)) * -1 - rdm2.oovv += tmp50 - rdm2.oovv += tmp50.transpose((1, 0, 3, 2)) - rdm2.oovv += tmp50.transpose((1, 0, 2, 3)) * -1 - rdm2.oovv += tmp50.transpose((0, 1, 3, 2)) * -1 - rdm2.oovv += tmp50 - del tmp50 - tmp75 = tmp44.copy() - del tmp44 - tmp75 += tmp74.transpose((0, 1, 3, 2)) - del tmp74 - rdm2.oovv += tmp75.transpose((1, 0, 2, 3)) * -1 - rdm2.oovv += tmp75.transpose((0, 1, 3, 2)) * -1 - rdm2.oovv += tmp75.transpose((1, 0, 2, 3)) * -1 - rdm2.oovv += tmp75.transpose((0, 1, 3, 2)) * -1 - del tmp75 - tmp57 = tmp51.copy() - del tmp51 - tmp57 += tmp53.transpose((1, 0, 3, 2)) * 2 - del tmp53 - tmp57 += tmp56 - del tmp56 - rdm2.oovv += tmp57.transpose((0, 1, 3, 2)) * -1 - rdm2.oovv += tmp57 - rdm2.oovv += tmp57.transpose((0, 1, 3, 2)) * -1 - rdm2.oovv += tmp57 - del tmp57 - tmp69 = einsum(t2, (0, 1, 2, 3), tmp68, (1, 4, 2, 5), (0, 4, 3, 5), optimize=True) - del tmp68 - rdm2.oovv += tmp69.transpose((0, 1, 3, 2)) - rdm2.oovv += tmp69.transpose((0, 1, 3, 2)) - del tmp69 - tmp65 = tmp63.transpose((1, 0, 3, 2)).copy() - del tmp63 - tmp65 += tmp64.transpose((0, 1, 3, 2)) - del tmp64 - tmp65 += einsum(tmp20, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) * 2 - del tmp20 - rdm2.oovv += tmp65.transpose((1, 0, 3, 2)) * -1 - rdm2.oovv += tmp65.transpose((1, 0, 2, 3)) - rdm2.oovv += tmp65.transpose((0, 1, 3, 2)) - rdm2.oovv += tmp65 * -1 - rdm2.oovv += tmp65.transpose((1, 0, 3, 2)) * -1 - rdm2.oovv += tmp65 * -1 - rdm2.oovv += tmp65.transpose((1, 0, 3, 2)) * -1 - rdm2.oovv += tmp65 * -1 - rdm2.oovv += tmp65.transpose((1, 0, 3, 2)) * -1 - rdm2.oovv += tmp65.transpose((1, 0, 2, 3)) - rdm2.oovv += tmp65.transpose((0, 1, 3, 2)) - rdm2.oovv += tmp65 * -1 - del tmp65 - tmp77 = t1.copy() - tmp77 += tmp21 * -1 - del tmp21 - rdm2.oovv += einsum(t1, (0, 1), tmp77, (2, 3), (2, 0, 3, 1), optimize=True) - rdm2.oovv += einsum(t1, (0, 1), tmp77, (2, 3), (2, 0, 3, 1), optimize=True) - del tmp77 - tmp72 = tmp47.transpose((1, 0, 3, 2)).copy() * -1 - del tmp47 - tmp72 += tmp71.transpose((0, 1, 3, 2)) - del tmp71 - tmp72 += einsum(tmp23, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) - del tmp23 - rdm2.oovv += tmp72.transpose((1, 0, 3, 2)) - rdm2.oovv += tmp72 - rdm2.oovv += tmp72.transpose((1, 0, 3, 2)) - rdm2.oovv += tmp72 - del tmp72 - tmp76 = einsum(t1, (0, 1), tmp27, (0, 2, 3, 4), (3, 2, 4, 1), optimize=True) - rdm2.oovv += tmp76.transpose((0, 1, 3, 2)) - rdm2.oovv += tmp76.transpose((0, 1, 3, 2)) - del tmp76 - tmp67 = einsum(t2, (0, 1, 2, 3), tmp66, (1, 4, 2, 5), (0, 4, 3, 5), optimize=True) - del tmp66 - rdm2.oovv += tmp67 - rdm2.oovv += tmp67 - del tmp67 - tmp60 = tmp58.copy() - del tmp58 - tmp60 += tmp59 - del tmp59 - rdm2.oovv += tmp60.transpose((0, 1, 3, 2)) * -1 - rdm2.oovv += tmp60 - rdm2.oovv += tmp60.transpose((0, 1, 3, 2)) * -1 - rdm2.oovv += tmp60 - del tmp60 - tmp38 = tmp28.copy() - tmp38 += tmp33 - rdm2.oovo += einsum(delta.oo, (0, 1), tmp38, (2, 3), (0, 2, 3, 1), optimize=True) - rdm2.oovo += einsum(delta.oo, (0, 1), tmp38, (2, 3), (2, 0, 3, 1), optimize=True) * -1 - rdm2.oovo += einsum(delta.oo, (0, 1), tmp38, (2, 3), (0, 2, 3, 1), optimize=True) - rdm2.oovo += einsum(delta.oo, (0, 1), tmp38, (2, 3), (2, 0, 3, 1), optimize=True) * -1 - del tmp38 - tmp40 = einsum(tmp39, (0, 1, 2, 3), t2, (4, 1, 5, 3), (0, 2, 4, 5), optimize=True) - del tmp39 - rdm2.oovo += tmp40.transpose((2, 1, 3, 0)) * -1 - rdm2.oovo += tmp40.transpose((2, 1, 3, 0)) * -1 - del tmp40 - tmp37 = tmp8.copy() - tmp37 += tmp27.transpose((0, 2, 1, 3)) - del tmp27 - tmp37 += einsum(tmp6, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) - rdm2.oovo += tmp37.transpose((2, 1, 3, 0)) - rdm2.oovo += tmp37.transpose((1, 2, 3, 0)) * -1 - rdm2.oovo += tmp37.transpose((2, 1, 3, 0)) - rdm2.oovo += tmp37.transpose((1, 2, 3, 0)) * -1 - del tmp37 - tmp43 = t1.copy() * -0.5 - tmp43 += tmp18 - del tmp18 - tmp43 += tmp41 * -1 - del tmp41 - tmp43 += tmp42 - del tmp42 - rdm2.oovo += einsum(delta.oo, (0, 1), tmp43, (2, 3), (2, 0, 3, 1), optimize=True) * -2 - rdm2.oovo += einsum(delta.oo, (0, 1), tmp43, (2, 3), (2, 0, 3, 1), optimize=True) * -2 - del tmp43 - tmp36 = einsum(tmp0, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) - tmp36 += tmp11 - tmp36 += tmp13 * -1 - rdm2.oovo += tmp36.transpose((2, 1, 3, 0)) - rdm2.oovo += tmp36.transpose((1, 2, 3, 0)) * -1 - rdm2.oovo += tmp36.transpose((2, 1, 3, 0)) - rdm2.oovo += tmp36.transpose((1, 2, 3, 0)) * -1 - del tmp36 - tmp35 = tmp0.copy() - tmp35 += tmp6 - rdm2.oovo += einsum(tmp35, (0, 1), t1, (2, 3), (2, 1, 3, 0), optimize=True) * -1 - rdm2.oovo += einsum(tmp35, (0, 1), t1, (2, 3), (2, 1, 3, 0), optimize=True) * -1 - rdm2.ooov += einsum(tmp35, (0, 1), t1, (2, 3), (1, 2, 0, 3), optimize=True) * -1 - rdm2.ooov += einsum(tmp35, (0, 1), t1, (2, 3), (1, 2, 0, 3), optimize=True) * -1 - del tmp35 - tmp16 = tmp15.copy() - del tmp15 - tmp16 += einsum(tmp6, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) - del tmp6 - rdm2.ooov += tmp16.transpose((2, 1, 0, 3)) * -1 - rdm2.ooov += tmp16.transpose((1, 2, 0, 3)) - rdm2.ooov += tmp16.transpose((2, 1, 0, 3)) * -1 - rdm2.ooov += tmp16.transpose((1, 2, 0, 3)) - del tmp16 - tmp34 = t1.copy() * -1 - tmp34 += tmp28 - del tmp28 - tmp34 += tmp30 * -1 - del tmp30 - tmp34 += tmp33 - del tmp33 - rdm2.ooov += einsum(tmp34, (0, 1), delta.oo, (2, 3), (2, 0, 3, 1), optimize=True) * -1 - rdm2.ooov += einsum(tmp34, (0, 1), delta.oo, (2, 3), (2, 0, 3, 1), optimize=True) * -1 - del tmp34 - tmp14 = tmp8.copy() - del tmp8 - tmp14 += tmp9 - del tmp9 - tmp14 += tmp11 - del tmp11 - tmp14 += tmp13 * -1 - del tmp13 - rdm2.ooov += tmp14.transpose((2, 1, 0, 3)) * -1 - rdm2.ooov += tmp14.transpose((1, 2, 0, 3)) - rdm2.ooov += tmp14.transpose((2, 1, 0, 3)) * -1 - rdm2.ooov += tmp14.transpose((1, 2, 0, 3)) - del tmp14 - tmp7 = delta.oo.copy() - tmp7 += tmp0 * -1 - del tmp0 - rdm2.oooo += einsum(delta.oo, (0, 1), tmp7, (2, 3), (3, 0, 2, 1), optimize=True) - rdm2.oooo += einsum(delta.oo, (0, 1), tmp7, (2, 3), (3, 0, 2, 1), optimize=True) - del tmp7 - rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (2, 0, 3, 1), optimize=True) - rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (2, 0, 1, 3), optimize=True) * -1 - rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (2, 0, 3, 1), optimize=True) - rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (2, 0, 1, 3), optimize=True) * -1 - rdm2.ooov += einsum(delta.oo, (0, 1), t1, (2, 3), (2, 0, 1, 3), optimize=True) * -1 - rdm2.ooov += einsum(delta.oo, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) - rdm2.ooov += einsum(delta.oo, (0, 1), t1, (2, 3), (2, 0, 1, 3), optimize=True) * -1 - rdm2.ooov += einsum(delta.oo, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) - rdm2.oovo += einsum(delta.oo, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) - rdm2.oovo += einsum(delta.oo, (0, 1), t1, (2, 3), (0, 2, 3, 1), optimize=True) * -1 - rdm2.oovo += einsum(delta.oo, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) - rdm2.oovo += einsum(delta.oo, (0, 1), t1, (2, 3), (0, 2, 3, 1), optimize=True) * -1 - rdm2.ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (0, 2, 3, 1), optimize=True) * -1 - rdm2.ovoo += einsum(l1, (0, 1), delta.oo, (2, 3), (2, 0, 3, 1), optimize=True) - rdm2.ovoo += einsum(l1, (0, 1), delta.oo, (2, 3), (2, 0, 3, 1), optimize=True) - rdm2.ovoo += einsum(l1, (0, 1), delta.oo, (2, 3), (2, 0, 3, 1), optimize=True) - rdm2.ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (0, 2, 3, 1), optimize=True) * -1 - rdm2.ovoo += einsum(l1, (0, 1), delta.oo, (2, 3), (2, 0, 3, 1), optimize=True) - rdm2.vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 0, 3, 1), optimize=True) - rdm2.vooo += einsum(l1, (0, 1), delta.oo, (2, 3), (0, 2, 3, 1), optimize=True) * -1 - rdm2.vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 0, 3, 1), optimize=True) - rdm2.vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 0, 3, 1), optimize=True) - rdm2.vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 0, 3, 1), optimize=True) - rdm2.vooo += einsum(l1, (0, 1), delta.oo, (2, 3), (0, 2, 3, 1), optimize=True) * -1 - del delta - rdm2.oovv += t2.transpose((0, 1, 3, 2)) * -1 - rdm2.oovv += t2 - rdm2.oovv += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 3, 1), optimize=True) * -1 - rdm2.oovv += einsum(t1, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) - rdm2.oovv += t2 - rdm2.oovv += t2 - rdm2.oovv += t2.transpose((0, 1, 3, 2)) * -1 - rdm2.oovv += t2 - rdm2.oovv += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 3, 1), optimize=True) * -1 - rdm2.oovv += einsum(t1, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) - rdm2.ovov += einsum(t1, (0, 1), l1, (2, 3), (0, 2, 3, 1), optimize=True) * -1 - rdm2.ovov += einsum(t1, (0, 1), l1, (2, 3), (0, 2, 3, 1), optimize=True) * -1 - rdm2.ovvo += einsum(t1, (0, 1), l1, (2, 3), (0, 2, 1, 3), optimize=True) - rdm2.ovvo += einsum(t1, (0, 1), l1, (2, 3), (0, 2, 1, 3), optimize=True) - rdm2.ovvo += einsum(t1, (0, 1), l1, (2, 3), (0, 2, 1, 3), optimize=True) - rdm2.ovvo += einsum(t1, (0, 1), l1, (2, 3), (0, 2, 1, 3), optimize=True) - rdm2.voov += einsum(t1, (0, 1), l1, (2, 3), (2, 0, 3, 1), optimize=True) - rdm2.voov += einsum(t1, (0, 1), l1, (2, 3), (2, 0, 3, 1), optimize=True) - rdm2.voov += einsum(t1, (0, 1), l1, (2, 3), (2, 0, 3, 1), optimize=True) - rdm2.voov += einsum(t1, (0, 1), l1, (2, 3), (2, 0, 3, 1), optimize=True) - rdm2.vovo += einsum(t1, (0, 1), l1, (2, 3), (2, 0, 1, 3), optimize=True) * -1 - rdm2.vovo += einsum(t1, (0, 1), l1, (2, 3), (2, 0, 1, 3), optimize=True) * -1 - rdm2.vvoo = l2.transpose((0, 1, 3, 2)).copy() * -1 - rdm2.vvoo += l2 - rdm2.vvoo += l2 - rdm2.vvoo += l2 - rdm2.vvoo += l2.transpose((0, 1, 3, 2)) * -1 - rdm2.vvoo += l2 - rdm2 = pack_2e(rdm2.oooo, rdm2.ooov, rdm2.oovo, rdm2.ovoo, rdm2.vooo, rdm2.oovv, rdm2.ovov, rdm2.ovvo, rdm2.voov, rdm2.vovo, rdm2.vvoo, rdm2.ovvv, rdm2.vovv, rdm2.vvov, rdm2.vvvo, rdm2.vvvv) - rdm2 = rdm2.swapaxes(1, 2) - - return rdm2 - diff --git a/ebcc/codegen/RDCD.py b/ebcc/codegen/RDCD.py deleted file mode 100644 index 2bd0191e..00000000 --- a/ebcc/codegen/RDCD.py +++ /dev/null @@ -1,113 +0,0 @@ -""" -Code generated by `albert`: -https://github.com/obackhouse/albert - - * date: 2024-07-18T10:47:22.922801 - * python version: 3.10.12 (main, Mar 22 2024, 16:50:05) [GCC 11.4.0] - * albert version: 0.0.0 - * caller: /home/ollie/git/albert/albert/codegen/einsum.py - * node: ollie-desktop - * system: Linux - * processor: x86_64 - * release: 6.5.0-44-generic -""" - -from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, direct_sum, Namespace - - -def energy(t2=None, v=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-07-18T10:47:23.079638. - - Parameters - ---------- - t2 : array - T2 amplitudes. - v : array - Electron repulsion integrals. - - Returns - ------- - e_cc : float - Coupled cluster energy. - """ - - e_cc = einsum(v.ovov, (0, 1, 2, 3), t2, (0, 2, 1, 3), (), optimize=True) * 2 - e_cc += einsum(v.ovov, (0, 1, 2, 3), t2, (0, 2, 3, 1), (), optimize=True) * -1 - - return e_cc - -def update_amps(f=None, t2=None, v=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-07-18T10:47:25.024756. - - Parameters - ---------- - f : array - Fock matrix. - t2 : array - T2 amplitudes. - v : array - Electron repulsion integrals. - - Returns - ------- - t2new : array - Updated T2 residuals. - """ - - tmp6 = v.ovov.transpose((2, 0, 1, 3)).copy() * -0.5 - tmp6 += v.ovov.transpose((2, 0, 3, 1)) - tmp0 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 5, 1, 2), (0, 4, 3, 5), optimize=True) - t2new = tmp0.copy() * -1 - tmp9 = einsum(tmp6, (0, 1, 2, 3), t2, (0, 4, 2, 3), (4, 1), optimize=True) * 2 - tmp7 = einsum(t2, (0, 1, 2, 3), tmp6, (0, 1, 4, 3), (2, 4), optimize=True) - del tmp6 - tmp1 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 5, 1, 3), (0, 4, 2, 5), optimize=True) - t2new += tmp1 * 2 - tmp5 = einsum(t2, (0, 1, 2, 3), tmp0, (4, 1, 5, 3), (0, 4, 2, 5), optimize=True) - tmp10 = einsum(tmp9, (0, 1), t2, (1, 2, 3, 4), (2, 0, 3, 4), optimize=True) * 0.5 - del tmp9 - tmp8 = einsum(t2, (0, 1, 2, 3), tmp7, (4, 2), (0, 1, 3, 4), optimize=True) - del tmp7 - tmp2 = einsum(t2, (0, 1, 2, 3), f.vv, (4, 3), (0, 1, 4, 2), optimize=True) - tmp3 = einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 2), (0, 4, 3, 5), optimize=True) - tmp12 = einsum(t2, (0, 1, 2, 3), f.oo, (4, 1), (4, 0, 2, 3), optimize=True) - t2new += tmp12.transpose((1, 0, 2, 3)) * -1 - t2new += tmp12.transpose((0, 1, 3, 2)) * -1 - del tmp12 - tmp13 = v.ovov.transpose((2, 0, 3, 1)).copy() * 0.5 - tmp13 += v.oovv.transpose((1, 0, 3, 2)) * -0.25 - tmp13 += tmp1 - del tmp1 - t2new += einsum(tmp13, (0, 1, 2, 3), t2, (1, 4, 3, 5), (0, 4, 2, 5), optimize=True) * 4 - del tmp13 - tmp14 = v.ovov.transpose((2, 0, 3, 1)).copy() * -1 - tmp14 += tmp0 - del tmp0 - t2new += einsum(t2, (0, 1, 2, 3), tmp14, (4, 0, 5, 3), (4, 1, 5, 2), optimize=True) - del tmp14 - tmp11 = tmp5.copy() * 2 - del tmp5 - tmp11 += tmp8.transpose((1, 0, 2, 3)) - del tmp8 - tmp11 += tmp10.transpose((0, 1, 3, 2)) - del tmp10 - t2new += tmp11.transpose((1, 0, 3, 2)) * -1 - t2new += tmp11 * -1 - del tmp11 - tmp4 = tmp2.copy() - del tmp2 - tmp4 += tmp3 * -1 - del tmp3 - t2new += tmp4.transpose((1, 0, 2, 3)) - t2new += tmp4.transpose((0, 1, 3, 2)) - del tmp4 - t2new += v.ovov.transpose((2, 0, 3, 1)) - t2new += einsum(v.oooo, (0, 1, 2, 3), t2, (1, 2, 4, 5), (3, 0, 5, 4), optimize=True) - t2new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 3), (0, 4, 2, 5), optimize=True) * -1 - t2new += einsum(v.vvvv, (0, 1, 2, 3), t2, (4, 5, 1, 3), (5, 4, 2, 0), optimize=True) - - return {f"t2new": t2new} - diff --git a/ebcc/codegen/RDCSD.py b/ebcc/codegen/RDCSD.py deleted file mode 100644 index e79c4287..00000000 --- a/ebcc/codegen/RDCSD.py +++ /dev/null @@ -1,305 +0,0 @@ -""" -Code generated by `albert`: -https://github.com/obackhouse/albert - - * date: 2024-07-18T10:53:00.318499 - * python version: 3.10.12 (main, Mar 22 2024, 16:50:05) [GCC 11.4.0] - * albert version: 0.0.0 - * caller: /home/ollie/git/albert/albert/codegen/einsum.py - * node: ollie-desktop - * system: Linux - * processor: x86_64 - * release: 6.5.0-44-generic -""" - -from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, direct_sum, Namespace - - -def energy(f=None, t1=None, t2=None, v=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-07-18T10:53:00.784356. - - Parameters - ---------- - f : array - Fock matrix. - t1 : array - T1 amplitudes. - t2 : array - T2 amplitudes. - v : array - Electron repulsion integrals. - - Returns - ------- - e_cc : float - Coupled cluster energy. - """ - - tmp0 = v.ovov.transpose((2, 0, 1, 3)).copy() * -0.5 - tmp0 += v.ovov.transpose((2, 0, 3, 1)) - tmp1 = f.ov.copy() - tmp1 += einsum(tmp0, (0, 1, 2, 3), t1, (0, 2), (1, 3), optimize=True) - del tmp0 - e_cc = einsum(t1, (0, 1), tmp1, (0, 1), (), optimize=True) * 2 - del tmp1 - e_cc += einsum(t2, (0, 1, 2, 3), v.ovov, (0, 2, 1, 3), (), optimize=True) * 2 - e_cc += einsum(t2, (0, 1, 2, 3), v.ovov, (0, 3, 1, 2), (), optimize=True) * -1 - - return e_cc - -def update_amps(f=None, t1=None, t2=None, v=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-07-18T10:53:11.587302. - - Parameters - ---------- - f : array - Fock matrix. - t1 : array - T1 amplitudes. - t2 : array - T2 amplitudes. - v : array - Electron repulsion integrals. - - Returns - ------- - t1new : array - Updated T1 residuals. - t2new : array - Updated T2 residuals. - """ - - tmp3 = v.ovov.transpose((2, 0, 1, 3)).copy() * -1 - tmp3 += v.ovov.transpose((2, 0, 3, 1)) * 2 - tmp1 = einsum(v.ovov, (0, 1, 2, 3), t1, (4, 1), (4, 2, 0, 3), optimize=True) - tmp50 = einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) - tmp50 += t2.transpose((1, 0, 2, 3)) * -2 - tmp50 += t2.transpose((1, 0, 3, 2)) - tmp4 = einsum(t1, (0, 1), tmp3, (0, 2, 1, 3), (2, 3), optimize=True) - del tmp3 - tmp32 = tmp1.copy() * 2 - tmp32 += tmp1.transpose((0, 2, 1, 3)) * -1 - tmp21 = v.ovov.transpose((2, 0, 1, 3)).copy() - tmp21 += v.ovov.transpose((2, 0, 3, 1)) * -0.5 - tmp60 = einsum(t1, (0, 1), f.ov, (2, 1), (2, 0), optimize=True) - tmp48 = einsum(v.ooov, (0, 1, 2, 3), t2, (4, 1, 5, 3), (4, 0, 2, 5), optimize=True) - tmp49 = einsum(tmp1, (0, 1, 2, 3), t2, (4, 2, 3, 5), (0, 4, 1, 5), optimize=True) - tmp51 = einsum(v.ooov, (0, 1, 2, 3), tmp50, (2, 4, 5, 3), (0, 1, 4, 5), optimize=True) - del tmp50 - tmp47 = einsum(t1, (0, 1), v.oovv, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) - tmp52 = einsum(t2, (0, 1, 2, 3), tmp4, (4, 2), (4, 0, 1, 3), optimize=True) - tmp36 = v.ooov.transpose((1, 0, 2, 3)).copy() * -1 - tmp36 += v.ooov.transpose((2, 1, 0, 3)) * 2 - tmp27 = v.ovvv.transpose((0, 1, 3, 2)).copy() * 2 - tmp27 += v.ovvv.transpose((0, 3, 2, 1)) * -1 - tmp33 = einsum(t2, (0, 1, 2, 3), tmp32, (4, 0, 5, 2), (4, 5, 1, 3), optimize=True) - del tmp32 - tmp31 = einsum(tmp1, (0, 1, 2, 3), t2, (4, 1, 3, 5), (0, 4, 2, 5), optimize=True) - tmp30 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 1, 5, 2), (0, 4, 5, 3), optimize=True) - tmp15 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 0, 1, 5), (4, 2, 5, 3), optimize=True) - t2new = tmp15.transpose((1, 0, 3, 2)).copy() * -1 - tmp18 = einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 3, 5, 2), (1, 0, 4, 5), optimize=True) - tmp24 = einsum(t2, (0, 1, 2, 3), tmp21, (0, 4, 3, 2), (4, 1), optimize=True) * 2 - tmp22 = einsum(tmp21, (0, 1, 2, 3), t2, (0, 1, 3, 4), (2, 4), optimize=True) - del tmp21 - tmp61 = f.oo.transpose((1, 0)).copy() - tmp61 += tmp60 - del tmp60 - tmp58 = einsum(t2, (0, 1, 2, 3), f.ov, (4, 2), (4, 1, 0, 3), optimize=True) - tmp41 = einsum(v.ovvv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2), optimize=True) - tmp45 = t2.transpose((1, 0, 2, 3)).copy() * 2 - tmp45 += t2.transpose((1, 0, 3, 2)) * -1 - tmp43 = einsum(t1, (0, 1), v.ovvv, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) - tmp55 = einsum(t1, (0, 1), tmp4, (2, 1), (2, 0), optimize=True) - tmp53 = tmp47.transpose((0, 2, 1, 3)).copy() * -1 - del tmp47 - tmp53 += tmp48.transpose((0, 2, 1, 3)) - del tmp48 - tmp53 += tmp49.transpose((0, 2, 1, 3)) - del tmp49 - tmp53 += tmp51.transpose((2, 1, 0, 3)) - del tmp51 - tmp53 += tmp52.transpose((2, 0, 1, 3)) * -1 - del tmp52 - tmp37 = einsum(t1, (0, 1), tmp36, (0, 2, 3, 1), (2, 3), optimize=True) - del tmp36 - tmp28 = einsum(t1, (0, 1), tmp27, (0, 1, 2, 3), (2, 3), optimize=True) - del tmp27 - tmp34 = tmp1.copy() * -1 - tmp34 += tmp30 - del tmp30 - tmp34 += tmp31 - del tmp31 - tmp34 += tmp33.transpose((0, 2, 1, 3)) * -1 - del tmp33 - tmp68 = einsum(t1, (0, 1), tmp1, (2, 3, 4, 1), (2, 0, 4, 3), optimize=True) - tmp12 = v.ovov.transpose((2, 0, 1, 3)).copy() * -0.5 - tmp12 += v.ovov.transpose((2, 0, 3, 1)) - tmp20 = einsum(tmp15, (0, 1, 2, 3), t2, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) - tmp19 = einsum(t1, (0, 1), tmp18, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) - del tmp18 - tmp25 = einsum(t2, (0, 1, 2, 3), tmp24, (0, 4), (4, 1, 2, 3), optimize=True) * 0.5 - del tmp24 - tmp23 = einsum(t2, (0, 1, 2, 3), tmp22, (2, 4), (0, 1, 4, 3), optimize=True) - del tmp22 - tmp62 = einsum(tmp61, (0, 1), t2, (0, 2, 3, 4), (1, 2, 3, 4), optimize=True) - del tmp61 - tmp59 = einsum(tmp58, (0, 1, 2, 3), t1, (0, 4), (1, 2, 4, 3), optimize=True) - del tmp58 - tmp16 = einsum(t2, (0, 1, 2, 3), v.ovov, (1, 3, 4, 5), (0, 4, 2, 5), optimize=True) - t2new += tmp16.transpose((1, 0, 3, 2)) * 2 - tmp66 = einsum(v.ooov, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2), optimize=True) - tmp46 = einsum(tmp41, (0, 1, 2, 3), tmp45, (1, 4, 5, 2), (4, 0, 5, 3), optimize=True) - del tmp45 - tmp42 = einsum(v.oovv, (0, 1, 2, 3), t2, (4, 1, 3, 5), (4, 0, 5, 2), optimize=True) - tmp44 = einsum(tmp43, (0, 1, 2, 3), t2, (4, 1, 5, 3), (0, 4, 5, 2), optimize=True) - tmp56 = einsum(tmp55, (0, 1), t2, (0, 2, 3, 4), (1, 2, 3, 4), optimize=True) - del tmp55 - tmp40 = einsum(f.vv, (0, 1), t2, (2, 3, 1, 4), (3, 2, 0, 4), optimize=True) - tmp54 = einsum(tmp53, (0, 1, 2, 3), t1, (1, 4), (0, 2, 3, 4), optimize=True) - del tmp53 - tmp38 = einsum(tmp37, (0, 1), t2, (1, 2, 3, 4), (0, 2, 3, 4), optimize=True) - del tmp37 - tmp29 = einsum(t2, (0, 1, 2, 3), tmp28, (4, 2), (0, 1, 4, 3), optimize=True) - del tmp28 - tmp35 = einsum(t1, (0, 1), tmp34, (2, 3, 0, 4), (2, 3, 4, 1), optimize=True) - del tmp34 - tmp70 = v.oooo.transpose((2, 3, 1, 0)).copy() - tmp70 += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 2, 5, 3), (5, 1, 0, 4), optimize=True) - tmp70 += tmp68.transpose((3, 1, 0, 2)) - tmp64 = t2.transpose((1, 0, 3, 2)).copy() - tmp64 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) - tmp10 = v.ovov.transpose((2, 0, 1, 3)).copy() * 2 - tmp10 += v.ovov.transpose((2, 0, 3, 1)) * -1 - tmp11 = v.ooov.transpose((1, 0, 2, 3)).copy() * -0.5 - tmp11 += v.ooov.transpose((2, 1, 0, 3)) - tmp13 = f.ov.copy() * 0.5 - tmp13 += einsum(tmp12, (0, 1, 2, 3), t1, (0, 2), (1, 3), optimize=True) - del tmp12 - tmp8 = v.ovvv.transpose((0, 1, 3, 2)).copy() - tmp8 += v.ovvv.transpose((0, 3, 2, 1)) * -0.5 - tmp69 = v.oooo.transpose((2, 3, 1, 0)).copy() - tmp69 += tmp68.transpose((3, 1, 2, 0)) - del tmp68 - t2new += einsum(tmp69, (0, 1, 2, 3), t2, (0, 2, 4, 5), (1, 3, 4, 5), optimize=True) - del tmp69 - tmp26 = tmp19.copy() - del tmp19 - tmp26 += tmp20 * 2 - del tmp20 - tmp26 += tmp23.transpose((1, 0, 3, 2)) - del tmp23 - tmp26 += tmp25.transpose((1, 0, 3, 2)) - del tmp25 - t2new += tmp26.transpose((1, 0, 3, 2)) * -1 - t2new += tmp26 * -1 - del tmp26 - tmp63 = tmp59.copy() - del tmp59 - tmp63 += tmp62.transpose((0, 1, 3, 2)) - del tmp62 - t2new += tmp63.transpose((1, 0, 2, 3)) * -1 - t2new += tmp63.transpose((0, 1, 3, 2)) * -1 - del tmp63 - tmp72 = v.ovov.transpose((2, 0, 3, 1)).copy() * 0.5 - tmp72 += v.oovv.transpose((1, 0, 3, 2)) * -0.25 - tmp72 += tmp16 - del tmp16 - t2new += einsum(tmp72, (0, 1, 2, 3), t2, (1, 4, 3, 5), (4, 0, 5, 2), optimize=True) * 4 - del tmp72 - tmp73 = v.ovov.transpose((2, 0, 3, 1)).copy() * -1 - tmp73 += tmp15 - del tmp15 - t2new += einsum(tmp73, (0, 1, 2, 3), t2, (1, 4, 5, 3), (4, 0, 5, 2), optimize=True) - del tmp73 - tmp67 = einsum(tmp66, (0, 1, 2, 3), t2, (2, 3, 4, 5), (0, 1, 4, 5), optimize=True) - del tmp66 - t2new += tmp67.transpose((1, 0, 2, 3)) - t2new += tmp67.transpose((0, 1, 3, 2)) - del tmp67 - tmp17 = einsum(v.vvvv, (0, 1, 2, 3), t1, (4, 2), (4, 0, 1, 3), optimize=True) - t2new += einsum(t1, (0, 1), tmp17, (2, 3, 1, 4), (0, 2, 3, 4), optimize=True) - del tmp17 - tmp57 = tmp40.copy() - del tmp40 - tmp57 += tmp41 - del tmp41 - tmp57 += tmp42 * -1 - del tmp42 - tmp57 += tmp44 * -1 - del tmp44 - tmp57 += tmp46.transpose((1, 0, 2, 3)) - del tmp46 - tmp57 += tmp54.transpose((0, 1, 3, 2)) - del tmp54 - tmp57 += tmp56.transpose((0, 1, 3, 2)) * -1 - del tmp56 - t2new += tmp57.transpose((1, 0, 2, 3)) - t2new += tmp57.transpose((0, 1, 3, 2)) - del tmp57 - tmp39 = tmp29.transpose((1, 0, 3, 2)).copy() - del tmp29 - tmp39 += tmp35.transpose((0, 1, 3, 2)) - del tmp35 - tmp39 += tmp38.transpose((1, 0, 3, 2)) * -1 - del tmp38 - t2new += tmp39.transpose((1, 0, 3, 2)) - t2new += tmp39 - del tmp39 - tmp71 = v.ooov.transpose((1, 2, 0, 3)).copy() * -1 - tmp71 += einsum(tmp70, (0, 1, 2, 3), t1, (0, 4), (2, 1, 3, 4), optimize=True) - del tmp70 - t2new += einsum(t1, (0, 1), tmp71, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) - del tmp71 - tmp65 = einsum(tmp64, (0, 1, 2, 3), tmp43, (4, 0, 3, 5), (1, 4, 2, 5), optimize=True) - del tmp43, tmp64 - t2new += tmp65.transpose((0, 1, 3, 2)) * -1 - t2new += tmp65.transpose((1, 0, 2, 3)) * -1 - del tmp65 - tmp2 = v.ooov.transpose((1, 0, 2, 3)).copy() - tmp2 += v.ooov.transpose((1, 2, 0, 3)) * -0.5 - tmp2 += tmp1 * -0.5 - tmp2 += tmp1.transpose((0, 2, 1, 3)) - del tmp1 - t1new = einsum(t2, (0, 1, 2, 3), tmp2, (4, 1, 0, 2), (4, 3), optimize=True) * -2 - del tmp2 - tmp0 = v.ovvv.transpose((0, 1, 3, 2)).copy() * -0.5 - tmp0 += v.ovvv.transpose((0, 3, 1, 2)) - t1new += einsum(tmp0, (0, 1, 2, 3), t2, (0, 4, 2, 1), (4, 3), optimize=True) * 2 - del tmp0 - tmp14 = f.oo.transpose((1, 0)).copy() - tmp14 += einsum(tmp10, (0, 1, 2, 3), t2, (0, 4, 3, 2), (1, 4), optimize=True) - del tmp10 - tmp14 += einsum(t1, (0, 1), tmp11, (0, 2, 3, 1), (3, 2), optimize=True) * 2 - del tmp11 - tmp14 += einsum(t1, (0, 1), tmp13, (2, 1), (2, 0), optimize=True) * 2 - del tmp13 - t1new += einsum(t1, (0, 1), tmp14, (0, 2), (2, 1), optimize=True) * -1 - del tmp14 - tmp6 = t2.transpose((1, 0, 2, 3)).copy() * -1 - tmp6 += t2.transpose((1, 0, 3, 2)) * 2 - tmp7 = v.ovov.transpose((2, 0, 3, 1)).copy() * 2 - tmp7 += v.oovv.transpose((1, 0, 3, 2)) * -1 - t1new += einsum(tmp7, (0, 1, 2, 3), t1, (0, 2), (1, 3), optimize=True) - del tmp7 - tmp9 = f.vv.transpose((1, 0)).copy() * 0.5 - tmp9 += einsum(t1, (0, 1), tmp8, (0, 1, 2, 3), (3, 2), optimize=True) - del tmp8 - t1new += einsum(t1, (0, 1), tmp9, (1, 2), (0, 2), optimize=True) * 2 - del tmp9 - tmp5 = f.ov.copy() - tmp5 += tmp4 - del tmp4 - t1new += einsum(tmp5, (0, 1), tmp6, (0, 2, 1, 3), (2, 3), optimize=True) - del tmp5, tmp6 - t1new += f.ov - t2new += einsum(v.oovv, (0, 1, 2, 3), t2, (4, 1, 5, 3), (0, 4, 2, 5), optimize=True) * -1 - t2new += v.ovov.transpose((2, 0, 3, 1)) - t2new += einsum(v.vvvv, (0, 1, 2, 3), t2, (4, 5, 1, 3), (5, 4, 2, 0), optimize=True) - t2new += einsum(t1, (0, 1), v.ooov, (2, 0, 3, 4), (3, 2, 4, 1), optimize=True) * -1 - - return {f"t1new": t1new, f"t2new": t2new} - diff --git a/ebcc/codegen/RDFCCD.py b/ebcc/codegen/RDFCCD.py deleted file mode 100644 index 5d0fba71..00000000 --- a/ebcc/codegen/RDFCCD.py +++ /dev/null @@ -1,534 +0,0 @@ -""" -Code generated by `albert`: -https://github.com/obackhouse/albert - - * date: 2024-07-18T20:30:30.323303 - * python version: 3.10.12 (main, Mar 22 2024, 16:50:05) [GCC 11.4.0] - * albert version: 0.0.0 - * caller: /home/ollie/git/albert/albert/codegen/einsum.py - * node: ollie-desktop - * system: Linux - * processor: x86_64 - * release: 6.5.0-44-generic -""" - -from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, direct_sum, Namespace - - -def energy(t2=None, v=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-07-18T20:30:30.670233. - - Parameters - ---------- - t2 : array - T2 amplitudes. - v : array - Electron repulsion integrals. - - Returns - ------- - e_cc : float - Coupled cluster energy. - """ - - tmp0 = t2.transpose((1, 0, 2, 3)).copy() * -1 - tmp0 += t2.transpose((1, 0, 3, 2)) * 2 - tmp1 = einsum(v.xov, (0, 1, 2), tmp0, (1, 3, 2, 4), (3, 4, 0), optimize=True) * 0.5 - del tmp0 - e_cc = einsum(tmp1, (0, 1, 2), v.xov, (2, 0, 1), (), optimize=True) * 2 - del tmp1 - - return e_cc - -def update_amps(f=None, t2=None, v=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-07-18T20:30:34.113854. - - Parameters - ---------- - f : array - Fock matrix. - t2 : array - T2 amplitudes. - v : array - Electron repulsion integrals. - - Returns - ------- - t2new : array - Updated T2 residuals. - """ - - tmp0 = einsum(t2, (0, 1, 2, 3), v.xov, (4, 1, 2), (0, 3, 4), optimize=True) - t2new = einsum(tmp0, (0, 1, 2), tmp0, (3, 4, 2), (3, 0, 4, 1), optimize=True) - tmp11 = t2.transpose((1, 0, 2, 3)).copy() * -1 - tmp11 += t2.transpose((1, 0, 3, 2)) * 2 - tmp1 = einsum(v.xov, (0, 1, 2), v.xov, (0, 3, 4), (3, 1, 4, 2), optimize=True) - t2new += tmp1.transpose((1, 0, 3, 2)) - tmp6 = v.xov.transpose((1, 2, 0)).copy() - tmp6 += tmp0 * -1 - tmp12 = einsum(tmp11, (0, 1, 2, 3), v.xov, (4, 0, 2), (1, 3, 4), optimize=True) - del tmp11 - tmp5 = einsum(v.xvv, (0, 1, 2), v.xoo, (0, 3, 4), (3, 4, 1, 2), optimize=True) - tmp2 = einsum(tmp1, (0, 1, 2, 3), t2, (4, 0, 3, 5), (4, 1, 5, 2), optimize=True) - t2new += einsum(t2, (0, 1, 2, 3), tmp2, (4, 1, 5, 2), (4, 0, 3, 5), optimize=True) - tmp7 = einsum(tmp6, (0, 1, 2), v.xov, (2, 3, 4), (3, 0, 4, 1), optimize=True) - del tmp6 - tmp13 = einsum(v.xov, (0, 1, 2), tmp12, (1, 3, 0), (2, 3), optimize=True) * 0.5 - tmp15 = einsum(tmp12, (0, 1, 2), v.xov, (2, 3, 1), (3, 0), optimize=True) - del tmp12 - tmp8 = tmp5.transpose((1, 0, 3, 2)).copy() - tmp8 += tmp2 * -1 - del tmp2 - tmp8 += tmp7.transpose((1, 0, 3, 2)) * -2 - del tmp7 - tmp14 = einsum(tmp13, (0, 1), t2, (2, 3, 0, 4), (2, 3, 4, 1), optimize=True) * 2 - del tmp13 - tmp16 = einsum(t2, (0, 1, 2, 3), tmp15, (0, 4), (1, 4, 2, 3), optimize=True) - del tmp15 - tmp4 = einsum(v.xov, (0, 1, 2), tmp0, (3, 4, 0), (3, 1, 4, 2), optimize=True) - del tmp0 - tmp9 = einsum(tmp8, (0, 1, 2, 3), t2, (1, 4, 3, 5), (4, 0, 5, 2), optimize=True) - del tmp8 - tmp23 = tmp1.transpose((1, 0, 2, 3)).copy() * 2 - tmp23 += tmp1.transpose((1, 0, 3, 2)) * -1 - tmp19 = einsum(tmp5, (0, 1, 2, 3), t2, (4, 1, 3, 5), (4, 0, 5, 2), optimize=True) - del tmp5 - tmp18 = einsum(t2, (0, 1, 2, 3), f.vv, (4, 2), (1, 0, 4, 3), optimize=True) - tmp17 = tmp14.transpose((1, 0, 2, 3)).copy() - del tmp14 - tmp17 += tmp16.transpose((0, 1, 3, 2)) - del tmp16 - t2new += tmp17.transpose((1, 0, 3, 2)) * -1 - t2new += tmp17 * -1 - del tmp17 - tmp10 = tmp4.copy() - del tmp4 - tmp10 += tmp9 - del tmp9 - t2new += tmp10.transpose((1, 0, 3, 2)) * -1 - t2new += tmp10 * -1 - del tmp10 - tmp24 = einsum(tmp23, (0, 1, 2, 3), t2, (0, 4, 3, 5), (4, 1, 5, 2), optimize=True) - del tmp23 - t2new += einsum(tmp24, (0, 1, 2, 3), t2, (1, 4, 3, 5), (0, 4, 2, 5), optimize=True) * 2 - del tmp24 - tmp3 = einsum(v.xvv, (0, 1, 2), v.xvv, (0, 3, 4), (3, 2, 1, 4), optimize=True) - t2new += einsum(tmp3, (0, 1, 2, 3), t2, (4, 5, 3, 1), (4, 5, 0, 2), optimize=True) - del tmp3 - tmp22 = einsum(v.xoo, (0, 1, 2), v.xoo, (0, 3, 4), (4, 1, 2, 3), optimize=True) - tmp22 += einsum(t2, (0, 1, 2, 3), tmp1, (4, 5, 2, 3), (4, 1, 5, 0), optimize=True) - del tmp1 - t2new += einsum(tmp22, (0, 1, 2, 3), t2, (0, 2, 4, 5), (1, 3, 5, 4), optimize=True) - del tmp22 - tmp20 = tmp18.copy() - del tmp18 - tmp20 += tmp19 * -1 - del tmp19 - t2new += tmp20.transpose((1, 0, 2, 3)) - t2new += tmp20.transpose((0, 1, 3, 2)) - del tmp20 - tmp21 = einsum(t2, (0, 1, 2, 3), f.oo, (4, 1), (4, 0, 2, 3), optimize=True) - t2new += tmp21.transpose((1, 0, 2, 3)) * -1 - t2new += tmp21.transpose((0, 1, 3, 2)) * -1 - del tmp21 - - return {f"t2new": t2new} - -def update_lams(f=None, l2=None, t2=None, v=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-07-18T20:30:39.075372. - - Parameters - ---------- - f : array - Fock matrix. - l2 : array - L2 amplitudes. - t2 : array - T2 amplitudes. - v : array - Electron repulsion integrals. - - Returns - ------- - l2new : array - Updated L2 residuals. - """ - - tmp12 = t2.transpose((1, 0, 2, 3)).copy() * -1 - tmp12 += t2.transpose((1, 0, 3, 2)) * 2 - tmp24 = t2.transpose((1, 0, 2, 3)).copy() * -0.5 - tmp24 += t2.transpose((1, 0, 3, 2)) - tmp32 = t2.transpose((1, 0, 2, 3)).copy() * -1 - tmp32 += t2.transpose((1, 0, 3, 2)) * 2 - tmp13 = einsum(tmp12, (0, 1, 2, 3), v.xov, (4, 0, 2), (1, 3, 4), optimize=True) - del tmp12 - tmp8 = l2.transpose((3, 2, 0, 1)).copy() * 2 - tmp8 += l2.transpose((3, 2, 1, 0)) * -1 - tmp1 = einsum(v.xov, (0, 1, 2), v.xov, (0, 3, 4), (3, 1, 4, 2), optimize=True) - l2new = tmp1.transpose((3, 2, 1, 0)).copy() - tmp25 = einsum(l2, (0, 1, 2, 3), tmp24, (2, 4, 0, 1), (3, 4), optimize=True) * 2 - tmp28 = einsum(l2, (0, 1, 2, 3), tmp24, (2, 3, 4, 1), (0, 4), optimize=True) * 2 - del tmp24 - tmp33 = einsum(tmp32, (0, 1, 2, 3), v.xov, (4, 0, 2), (1, 3, 4), optimize=True) - del tmp32 - tmp14 = v.xov.transpose((1, 2, 0)).copy() - tmp14 += tmp13 - del tmp13 - tmp15 = l2.transpose((3, 2, 0, 1)).copy() * -1 - tmp15 += l2.transpose((3, 2, 1, 0)) * 2 - tmp9 = einsum(tmp8, (0, 1, 2, 3), t2, (0, 4, 3, 5), (4, 1, 5, 2), optimize=True) - del tmp8 - tmp7 = einsum(t2, (0, 1, 2, 3), l2, (4, 3, 5, 0), (5, 1, 4, 2), optimize=True) - tmp20 = einsum(tmp1, (0, 1, 2, 3), t2, (4, 1, 2, 5), (4, 0, 5, 3), optimize=True) - tmp5 = einsum(v.xvv, (0, 1, 2), v.xoo, (0, 3, 4), (3, 4, 1, 2), optimize=True) - tmp26 = einsum(tmp25, (0, 1), v.xov, (2, 1, 3), (0, 3, 2), optimize=True) * 0.5 - del tmp25 - tmp29 = einsum(tmp28, (0, 1), v.xov, (2, 3, 1), (3, 0, 2), optimize=True) - del tmp28 - tmp34 = einsum(v.xov, (0, 1, 2), tmp33, (1, 3, 0), (2, 3), optimize=True) * 0.5 - tmp36 = einsum(tmp33, (0, 1, 2), v.xov, (2, 3, 1), (3, 0), optimize=True) - del tmp33 - tmp16 = einsum(tmp14, (0, 1, 2), tmp15, (0, 3, 1, 4), (3, 4, 2), optimize=True) - del tmp14, tmp15 - tmp10 = tmp7.copy() - del tmp7 - tmp10 += tmp9.transpose((1, 0, 3, 2)) * -1 - del tmp9 - tmp21 = tmp5.transpose((1, 0, 3, 2)).copy() * -1 - tmp21 += tmp20 - del tmp20 - tmp27 = einsum(tmp26, (0, 1, 2), v.xov, (2, 3, 4), (3, 0, 4, 1), optimize=True) * 2 - del tmp26 - tmp30 = einsum(tmp29, (0, 1, 2), v.xov, (2, 3, 4), (3, 0, 4, 1), optimize=True) - del tmp29 - tmp35 = einsum(tmp34, (0, 1), l2, (1, 2, 3, 4), (3, 4, 2, 0), optimize=True) * 2 - del tmp34 - tmp37 = einsum(l2, (0, 1, 2, 3), tmp36, (4, 2), (4, 3, 0, 1), optimize=True) - del tmp36 - tmp17 = einsum(tmp16, (0, 1, 2), v.xov, (2, 3, 4), (3, 0, 4, 1), optimize=True) - del tmp16 - tmp6 = einsum(tmp5, (0, 1, 2, 3), l2, (4, 3, 5, 1), (5, 0, 4, 2), optimize=True) - del tmp5 - tmp11 = einsum(tmp1, (0, 1, 2, 3), tmp10, (4, 0, 5, 3), (1, 4, 2, 5), optimize=True) - del tmp10 - tmp19 = einsum(l2, (0, 1, 2, 3), f.vv, (4, 0), (3, 2, 4, 1), optimize=True) - tmp22 = einsum(l2, (0, 1, 2, 3), tmp21, (2, 4, 1, 5), (3, 4, 0, 5), optimize=True) - del tmp21 - tmp31 = tmp27.transpose((1, 0, 2, 3)).copy() - del tmp27 - tmp31 += tmp30.transpose((0, 1, 3, 2)) - del tmp30 - l2new += tmp31.transpose((2, 3, 1, 0)) * -1 - l2new += tmp31.transpose((3, 2, 0, 1)) * -1 - del tmp31 - tmp38 = tmp35.transpose((1, 0, 2, 3)).copy() - del tmp35 - tmp38 += tmp37.transpose((1, 0, 3, 2)) - del tmp37 - l2new += tmp38.transpose((3, 2, 1, 0)) * -1 - l2new += tmp38.transpose((2, 3, 0, 1)) * -1 - del tmp38 - tmp3 = einsum(tmp1, (0, 1, 2, 3), t2, (4, 5, 3, 2), (5, 4, 0, 1), optimize=True) - l2new += einsum(tmp3, (0, 1, 2, 3), l2, (4, 5, 1, 0), (5, 4, 2, 3), optimize=True) - del tmp3 - tmp2 = einsum(l2, (0, 1, 2, 3), t2, (4, 5, 0, 1), (2, 3, 4, 5), optimize=True) - l2new += einsum(tmp2, (0, 1, 2, 3), tmp1, (2, 3, 4, 5), (5, 4, 1, 0), optimize=True) - del tmp1, tmp2 - tmp39 = einsum(f.oo, (0, 1), l2, (2, 3, 4, 1), (0, 4, 2, 3), optimize=True) - l2new += tmp39.transpose((2, 3, 1, 0)) * -1 - l2new += tmp39.transpose((3, 2, 0, 1)) * -1 - del tmp39 - tmp4 = einsum(v.xvv, (0, 1, 2), v.xvv, (0, 3, 4), (3, 2, 1, 4), optimize=True) - l2new += einsum(l2, (0, 1, 2, 3), tmp4, (4, 1, 5, 0), (5, 4, 3, 2), optimize=True) - del tmp4 - tmp18 = tmp6.copy() - del tmp6 - tmp18 += tmp11.transpose((1, 0, 3, 2)) * -1 - del tmp11 - tmp18 += tmp17.transpose((1, 0, 3, 2)) * -1 - del tmp17 - l2new += tmp18.transpose((3, 2, 1, 0)) * -1 - l2new += tmp18.transpose((2, 3, 0, 1)) * -1 - del tmp18 - tmp23 = tmp19.copy() - del tmp19 - tmp23 += tmp22 - del tmp22 - l2new += tmp23.transpose((2, 3, 1, 0)) - l2new += tmp23.transpose((3, 2, 0, 1)) - del tmp23 - tmp0 = einsum(v.xoo, (0, 1, 2), v.xoo, (0, 3, 4), (1, 4, 3, 2), optimize=True) - l2new += einsum(tmp0, (0, 1, 2, 3), l2, (4, 5, 3, 1), (4, 5, 0, 2), optimize=True) - del tmp0 - - return {f"l2new": l2new} - -def make_rdm1_f(l2=None, t2=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-07-18T20:30:39.392217. - - Parameters - ---------- - l2 : array - L2 amplitudes. - t2 : array - T2 amplitudes. - - Returns - ------- - rdm1 : array - One-particle reduced density matrix. - """ - - rdm1 = Namespace() - delta = Namespace( - oo=np.eye(t2.shape[0]), - vv=np.eye(t2.shape[-1]), - ) - tmp1 = t2.transpose((1, 0, 2, 3)).copy() - tmp1 += t2.transpose((1, 0, 3, 2)) * -0.5 - rdm1.vv = einsum(tmp1, (0, 1, 2, 3), l2, (3, 4, 0, 1), (4, 2), optimize=True) * 4 - del tmp1 - tmp0 = t2.transpose((1, 0, 2, 3)).copy() * -0.5 - tmp0 += t2.transpose((1, 0, 3, 2)) - rdm1.oo = einsum(l2, (0, 1, 2, 3), tmp0, (2, 4, 0, 1), (4, 3), optimize=True) * -4 - del tmp0 - rdm1.oo += delta.oo.transpose((1, 0)) * 2 - del delta - rdm1.ov = np.zeros((t2.shape[0], t2.shape[-1])) - rdm1.vo = np.zeros((t2.shape[-1], t2.shape[0])) - rdm1 = np.block([[rdm1.oo, rdm1.ov], [rdm1.vo, rdm1.vv]]) - - return rdm1 - -def make_rdm2_f(l2=None, t2=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-07-18T20:30:50.605518. - - Parameters - ---------- - l2 : array - L2 amplitudes. - t2 : array - T2 amplitudes. - - Returns - ------- - rdm2 : array - Two-particle reduced density matrix. - """ - - rdm2 = Namespace() - delta = Namespace( - oo=np.eye(t2.shape[0]), - vv=np.eye(t2.shape[-1]), - ) - tmp3 = l2.transpose((3, 2, 0, 1)).copy() * 2 - tmp3 += l2.transpose((3, 2, 1, 0)) * -1 - tmp6 = l2.transpose((3, 2, 0, 1)).copy() - tmp6 += l2.transpose((3, 2, 1, 0)) * -1 - tmp12 = l2.transpose((3, 2, 0, 1)).copy() * 2 - tmp12 += l2.transpose((3, 2, 1, 0)) * -1 - tmp0 = t2.transpose((1, 0, 2, 3)).copy() - tmp0 += t2.transpose((1, 0, 3, 2)) * -0.5 - tmp4 = einsum(tmp3, (0, 1, 2, 3), t2, (0, 4, 3, 5), (4, 1, 5, 2), optimize=True) - del tmp3 - rdm2.voov = tmp4.transpose((3, 0, 1, 2)).copy() - rdm2.voov += tmp4.transpose((3, 0, 1, 2)) - rdm2.ovvo = tmp4.transpose((0, 3, 2, 1)).copy() - rdm2.ovvo += tmp4.transpose((0, 3, 2, 1)) - tmp7 = einsum(t2, (0, 1, 2, 3), tmp6, (0, 4, 5, 3), (1, 4, 2, 5), optimize=True) - rdm2.ovvo += tmp7.transpose((0, 3, 2, 1)) * -1 - rdm2.ovvo += tmp7.transpose((0, 3, 2, 1)) * -1 - tmp13 = einsum(t2, (0, 1, 2, 3), tmp12, (0, 1, 3, 4), (2, 4), optimize=True) * 0.5 - rdm2.ovvo += einsum(delta.oo, (0, 1), tmp13, (2, 3), (1, 3, 2, 0), optimize=True) * -2 - rdm2.ovvo += einsum(delta.oo, (0, 1), tmp13, (2, 3), (1, 3, 2, 0), optimize=True) * -2 - rdm2.ovov = einsum(delta.oo, (0, 1), tmp13, (2, 3), (1, 3, 0, 2), optimize=True) * 2 - rdm2.ovov += einsum(delta.oo, (0, 1), tmp13, (2, 3), (1, 3, 0, 2), optimize=True) * 2 - rdm2.ovov += einsum(delta.oo, (0, 1), tmp13, (2, 3), (1, 3, 0, 2), optimize=True) * 2 - rdm2.ovov += einsum(delta.oo, (0, 1), tmp13, (2, 3), (1, 3, 0, 2), optimize=True) * 2 - tmp1 = einsum(l2, (0, 1, 2, 3), tmp0, (2, 4, 1, 0), (3, 4), optimize=True) * 2 - del tmp0 - rdm2.oooo = einsum(tmp1, (0, 1), delta.oo, (2, 3), (2, 1, 3, 0), optimize=True) * -1 - rdm2.oooo += einsum(tmp1, (0, 1), delta.oo, (2, 3), (1, 3, 2, 0), optimize=True) - rdm2.oooo += einsum(tmp1, (0, 1), delta.oo, (2, 3), (2, 1, 0, 3), optimize=True) - rdm2.oooo += einsum(tmp1, (0, 1), delta.oo, (2, 3), (1, 3, 0, 2), optimize=True) * -1 - rdm2.oooo += einsum(tmp1, (0, 1), delta.oo, (2, 3), (2, 1, 3, 0), optimize=True) * -1 - rdm2.oooo += einsum(tmp1, (0, 1), delta.oo, (2, 3), (1, 3, 0, 2), optimize=True) * -1 - rdm2.oooo += einsum(tmp1, (0, 1), delta.oo, (2, 3), (2, 1, 3, 0), optimize=True) * -1 - rdm2.oooo += einsum(tmp1, (0, 1), delta.oo, (2, 3), (1, 3, 0, 2), optimize=True) * -1 - rdm2.oooo += einsum(tmp1, (0, 1), delta.oo, (2, 3), (2, 1, 3, 0), optimize=True) * -1 - rdm2.oooo += einsum(tmp1, (0, 1), delta.oo, (2, 3), (1, 3, 2, 0), optimize=True) - rdm2.oooo += einsum(tmp1, (0, 1), delta.oo, (2, 3), (2, 1, 0, 3), optimize=True) - rdm2.oooo += einsum(tmp1, (0, 1), delta.oo, (2, 3), (1, 3, 0, 2), optimize=True) * -1 - tmp25 = l2.transpose((3, 2, 0, 1)).copy() * -1 - tmp25 += l2.transpose((3, 2, 1, 0)) * 2 - tmp23 = t2.transpose((1, 0, 2, 3)).copy() * 2 - tmp23 += t2.transpose((1, 0, 3, 2)) * -1 - tmp21 = t2.transpose((1, 0, 2, 3)).copy() - tmp21 += t2.transpose((1, 0, 3, 2)) * -1 - tmp5 = einsum(tmp4, (0, 1, 2, 3), t2, (1, 4, 3, 5), (4, 0, 5, 2), optimize=True) - rdm2.oovv = tmp5.copy() * 2 - rdm2.oovv += tmp5 * 2 - tmp8 = einsum(t2, (0, 1, 2, 3), tmp7, (4, 0, 5, 3), (1, 4, 2, 5), optimize=True) - del tmp7 - tmp14 = einsum(tmp13, (0, 1), t2, (2, 3, 1, 4), (2, 3, 4, 0), optimize=True) * 2 - del tmp13 - tmp15 = einsum(tmp1, (0, 1), t2, (0, 2, 3, 4), (2, 1, 3, 4), optimize=True) - del tmp1 - tmp19 = einsum(l2, (0, 1, 2, 3), t2, (4, 2, 1, 5), (3, 4, 0, 5), optimize=True) - rdm2.vovo = tmp19.transpose((2, 1, 3, 0)).copy() * -1 - rdm2.vovo += tmp19.transpose((2, 1, 3, 0)) * -1 - rdm2.ovov += tmp19.transpose((1, 2, 0, 3)) * -1 - rdm2.ovov += tmp19.transpose((1, 2, 0, 3)) * -1 - tmp17 = einsum(t2, (0, 1, 2, 3), l2, (4, 2, 5, 1), (5, 0, 4, 3), optimize=True) - rdm2.voov += tmp17.transpose((2, 1, 0, 3)) * -1 - rdm2.voov += tmp17.transpose((2, 1, 0, 3)) * -1 - rdm2.ovvo += tmp17.transpose((1, 2, 3, 0)) * -1 - rdm2.ovvo += tmp17.transpose((1, 2, 3, 0)) * -1 - tmp2 = einsum(l2, (0, 1, 2, 3), t2, (4, 5, 1, 0), (2, 3, 5, 4), optimize=True) - rdm2.oooo += tmp2.transpose((3, 2, 1, 0)) - rdm2.oooo += tmp2.transpose((2, 3, 1, 0)) * -1 - rdm2.oooo += tmp2.transpose((3, 2, 1, 0)) - rdm2.oooo += tmp2.transpose((3, 2, 1, 0)) - rdm2.oooo += tmp2.transpose((3, 2, 1, 0)) - rdm2.oooo += tmp2.transpose((2, 3, 1, 0)) * -1 - tmp29 = einsum(t2, (0, 1, 2, 3), l2, (4, 5, 0, 1), (4, 5, 2, 3), optimize=True) - rdm2.vvvv = tmp29.transpose((1, 0, 3, 2)).copy() - rdm2.vvvv += tmp29.transpose((1, 0, 2, 3)) * -1 - rdm2.vvvv += tmp29.transpose((1, 0, 3, 2)) - rdm2.vvvv += tmp29.transpose((1, 0, 3, 2)) - rdm2.vvvv += tmp29.transpose((1, 0, 3, 2)) - rdm2.vvvv += tmp29.transpose((1, 0, 2, 3)) * -1 - del tmp29 - tmp27 = einsum(t2, (0, 1, 2, 3), tmp12, (0, 1, 3, 4), (2, 4), optimize=True) - del tmp12 - rdm2.vovo += einsum(delta.oo, (0, 1), tmp27, (2, 3), (3, 1, 2, 0), optimize=True) - rdm2.vovo += einsum(delta.oo, (0, 1), tmp27, (2, 3), (3, 1, 2, 0), optimize=True) - rdm2.vovo += einsum(delta.oo, (0, 1), tmp27, (2, 3), (3, 1, 2, 0), optimize=True) - rdm2.vovo += einsum(delta.oo, (0, 1), tmp27, (2, 3), (3, 1, 2, 0), optimize=True) - rdm2.voov += einsum(delta.oo, (0, 1), tmp27, (2, 3), (3, 1, 0, 2), optimize=True) * -1 - rdm2.voov += einsum(delta.oo, (0, 1), tmp27, (2, 3), (3, 1, 0, 2), optimize=True) * -1 - del tmp27 - tmp26 = einsum(tmp25, (0, 1, 2, 3), t2, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) - del tmp25 - rdm2.vovo += tmp26.transpose((3, 0, 2, 1)) * -1 - rdm2.vovo += tmp26.transpose((3, 0, 2, 1)) * -1 - rdm2.ovvo += tmp26.transpose((0, 3, 2, 1)) - rdm2.ovvo += tmp26.transpose((0, 3, 2, 1)) - del tmp26 - tmp28 = einsum(t2, (0, 1, 2, 3), tmp6, (0, 4, 3, 5), (1, 4, 2, 5), optimize=True) - del tmp6 - rdm2.vovo += tmp28.transpose((3, 0, 2, 1)) * -1 - rdm2.vovo += tmp28.transpose((3, 0, 2, 1)) * -1 - del tmp28 - tmp24 = einsum(l2, (0, 1, 2, 3), tmp23, (2, 4, 5, 0), (3, 4, 1, 5), optimize=True) - del tmp23 - rdm2.voov += tmp24.transpose((2, 1, 0, 3)) - rdm2.voov += tmp24.transpose((2, 1, 0, 3)) - rdm2.ovov += tmp24.transpose((1, 2, 0, 3)) * -1 - rdm2.ovov += tmp24.transpose((1, 2, 0, 3)) * -1 - del tmp24 - tmp22 = einsum(l2, (0, 1, 2, 3), tmp21, (2, 4, 5, 1), (3, 4, 0, 5), optimize=True) - del tmp21 - rdm2.voov += tmp22.transpose((2, 1, 0, 3)) * -1 - rdm2.voov += tmp22.transpose((2, 1, 0, 3)) * -1 - rdm2.ovov += tmp22.transpose((1, 2, 0, 3)) - rdm2.ovov += tmp22.transpose((1, 2, 0, 3)) - del tmp22 - tmp9 = tmp5.copy() * 2 - del tmp5 - tmp9 += tmp8.transpose((1, 0, 3, 2)) - del tmp8 - rdm2.oovv += tmp9.transpose((0, 1, 3, 2)) * -1 - rdm2.oovv += tmp9 - rdm2.oovv += tmp9.transpose((0, 1, 3, 2)) * -1 - rdm2.oovv += tmp9 - del tmp9 - tmp10 = einsum(t2, (0, 1, 2, 3), tmp4, (4, 0, 5, 3), (1, 4, 2, 5), optimize=True) - del tmp4 - rdm2.oovv += tmp10 * -1 - rdm2.oovv += tmp10.transpose((0, 1, 3, 2)) - rdm2.oovv += tmp10.transpose((1, 0, 2, 3)) - rdm2.oovv += tmp10.transpose((1, 0, 3, 2)) * -1 - rdm2.oovv += tmp10 * -1 - rdm2.oovv += tmp10.transpose((1, 0, 3, 2)) * -1 - rdm2.oovv += tmp10 * -1 - rdm2.oovv += tmp10.transpose((1, 0, 3, 2)) * -1 - rdm2.oovv += tmp10 * -1 - rdm2.oovv += tmp10.transpose((0, 1, 3, 2)) - rdm2.oovv += tmp10.transpose((1, 0, 2, 3)) - rdm2.oovv += tmp10.transpose((1, 0, 3, 2)) * -1 - del tmp10 - tmp16 = tmp14.transpose((1, 0, 2, 3)).copy() - del tmp14 - tmp16 += tmp15.transpose((0, 1, 3, 2)) - del tmp15 - rdm2.oovv += tmp16.transpose((1, 0, 3, 2)) * -1 - rdm2.oovv += tmp16.transpose((1, 0, 2, 3)) - rdm2.oovv += tmp16.transpose((0, 1, 3, 2)) - rdm2.oovv += tmp16 * -1 - rdm2.oovv += tmp16.transpose((1, 0, 3, 2)) * -1 - rdm2.oovv += tmp16 * -1 - rdm2.oovv += tmp16.transpose((1, 0, 3, 2)) * -1 - rdm2.oovv += tmp16 * -1 - rdm2.oovv += tmp16.transpose((1, 0, 3, 2)) * -1 - rdm2.oovv += tmp16.transpose((1, 0, 2, 3)) - rdm2.oovv += tmp16.transpose((0, 1, 3, 2)) - rdm2.oovv += tmp16 * -1 - del tmp16 - tmp20 = einsum(tmp19, (0, 1, 2, 3), t2, (4, 0, 2, 5), (4, 1, 5, 3), optimize=True) - del tmp19 - rdm2.oovv += tmp20.transpose((0, 1, 3, 2)) - rdm2.oovv += tmp20.transpose((0, 1, 3, 2)) - del tmp20 - tmp18 = einsum(tmp17, (0, 1, 2, 3), t2, (4, 0, 2, 5), (4, 1, 5, 3), optimize=True) - del tmp17 - rdm2.oovv += tmp18 - rdm2.oovv += tmp18 - del tmp18 - tmp11 = einsum(t2, (0, 1, 2, 3), tmp2, (0, 1, 4, 5), (4, 5, 2, 3), optimize=True) - del tmp2 - rdm2.oovv += tmp11.transpose((0, 1, 3, 2)) * -1 - rdm2.oovv += tmp11 - rdm2.oovv += tmp11 - rdm2.oovv += tmp11 - rdm2.oovv += tmp11.transpose((0, 1, 3, 2)) * -1 - rdm2.oovv += tmp11 - del tmp11 - rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (3, 1, 2, 0), optimize=True) - rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (3, 0, 1, 2), optimize=True) * -1 - rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (3, 1, 2, 0), optimize=True) - rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (3, 1, 2, 0), optimize=True) - rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (3, 1, 2, 0), optimize=True) - rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (3, 0, 1, 2), optimize=True) * -1 - del delta - rdm2.oovv += t2.transpose((1, 0, 2, 3)) * -1 - rdm2.oovv += t2.transpose((1, 0, 3, 2)) - rdm2.oovv += t2.transpose((1, 0, 3, 2)) - rdm2.oovv += t2.transpose((1, 0, 3, 2)) - rdm2.oovv += t2.transpose((1, 0, 2, 3)) * -1 - rdm2.oovv += t2.transpose((1, 0, 3, 2)) - rdm2.vvoo = l2.transpose((0, 1, 3, 2)).copy() * -1 - rdm2.vvoo += l2.transpose((1, 0, 3, 2)) - rdm2.vvoo += l2.transpose((1, 0, 3, 2)) - rdm2.vvoo += l2.transpose((1, 0, 3, 2)) - rdm2.vvoo += l2.transpose((0, 1, 3, 2)) * -1 - rdm2.vvoo += l2.transpose((1, 0, 3, 2)) - rdm2.ooov = np.zeros((t2.shape[0], t2.shape[0], t2.shape[0], t2.shape[-1])) - rdm2.oovo = np.zeros((t2.shape[0], t2.shape[0], t2.shape[-1], t2.shape[0])) - rdm2.ovoo = np.zeros((t2.shape[0], t2.shape[-1], t2.shape[0], t2.shape[0])) - rdm2.vooo = np.zeros((t2.shape[-1], t2.shape[0], t2.shape[0], t2.shape[0])) - rdm2.ovvv = np.zeros((t2.shape[0], t2.shape[-1], t2.shape[-1], t2.shape[-1])) - rdm2.vovv = np.zeros((t2.shape[-1], t2.shape[0], t2.shape[-1], t2.shape[-1])) - rdm2.vvov = np.zeros((t2.shape[-1], t2.shape[-1], t2.shape[0], t2.shape[-1])) - rdm2.vvvo = np.zeros((t2.shape[-1], t2.shape[-1], t2.shape[-1], t2.shape[0])) - rdm2 = pack_2e(rdm2.oooo, rdm2.ooov, rdm2.oovo, rdm2.ovoo, rdm2.vooo, rdm2.oovv, rdm2.ovov, rdm2.ovvo, rdm2.voov, rdm2.vovo, rdm2.vvoo, rdm2.ovvv, rdm2.vovv, rdm2.vvov, rdm2.vvvo, rdm2.vvvv) - rdm2 = rdm2.swapaxes(1, 2) - - return rdm2 - diff --git a/ebcc/codegen/RDFCCSD.py b/ebcc/codegen/RDFCCSD.py deleted file mode 100644 index a3934d71..00000000 --- a/ebcc/codegen/RDFCCSD.py +++ /dev/null @@ -1,1476 +0,0 @@ -""" -Code generated by `albert`: -https://github.com/obackhouse/albert - - * date: 2024-07-18T20:37:28.210373 - * python version: 3.10.12 (main, Mar 22 2024, 16:50:05) [GCC 11.4.0] - * albert version: 0.0.0 - * caller: /home/ollie/git/albert/albert/codegen/einsum.py - * node: ollie-desktop - * system: Linux - * processor: x86_64 - * release: 6.5.0-44-generic -""" - -from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, direct_sum, Namespace - - -def energy(f=None, t1=None, t2=None, v=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-07-18T20:37:28.976923. - - Parameters - ---------- - f : array - Fock matrix. - t1 : array - T1 amplitudes. - t2 : array - T2 amplitudes. - v : array - Electron repulsion integrals. - - Returns - ------- - e_cc : float - Coupled cluster energy. - """ - - tmp3 = einsum(v.xov, (0, 1, 2), t1, (3, 2), (3, 1, 0), optimize=True) - tmp0 = einsum(t1, (0, 1), v.xov, (2, 0, 1), (2,), optimize=True) - tmp1 = t2.transpose((1, 0, 2, 3)).copy() * -1 - tmp1 += t2.transpose((1, 0, 3, 2)) * 2 - tmp4 = f.ov.copy() * 2 - tmp4 += einsum(v.xov, (0, 1, 2), tmp3, (1, 3, 0), (3, 2), optimize=True) * -1 - del tmp3 - e_cc = einsum(tmp4, (0, 1), t1, (0, 1), (), optimize=True) - del tmp4 - tmp2 = einsum(tmp0, (0,), t1, (1, 2), (1, 2, 0), optimize=True) - del tmp0 - tmp2 += einsum(v.xov, (0, 1, 2), tmp1, (1, 3, 2, 4), (3, 4, 0), optimize=True) * 0.5 - del tmp1 - e_cc += einsum(v.xov, (0, 1, 2), tmp2, (1, 2, 0), (), optimize=True) * 2 - del tmp2 - - return e_cc - -def update_amps(f=None, t1=None, t2=None, v=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-07-18T20:37:54.219067. - - Parameters - ---------- - f : array - Fock matrix. - t1 : array - T1 amplitudes. - t2 : array - T2 amplitudes. - v : array - Electron repulsion integrals. - - Returns - ------- - t1new : array - Updated T1 residuals. - t2new : array - Updated T2 residuals. - """ - - tmp0 = einsum(t1, (0, 1), v.xov, (2, 0, 1), (2,), optimize=True) - tmp2 = einsum(v.xov, (0, 1, 2), t1, (3, 2), (3, 1, 0), optimize=True) - tmp1 = einsum(tmp0, (0,), v.xov, (0, 1, 2), (1, 2), optimize=True) - t1new = tmp1.copy() * 2 - tmp9 = einsum(v.xov, (0, 1, 2), tmp2, (1, 3, 0), (3, 2), optimize=True) - tmp33 = einsum(v.xov, (0, 1, 2), v.xoo, (0, 3, 4), (3, 4, 1, 2), optimize=True) - tmp38 = t2.transpose((1, 0, 3, 2)).copy() - tmp38 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) - tmp31 = einsum(tmp2, (0, 1, 2), v.xov, (2, 3, 4), (0, 3, 1, 4), optimize=True) - tmp19 = einsum(v.xov, (0, 1, 2), t2, (3, 1, 2, 4), (3, 4, 0), optimize=True) - t2new = einsum(tmp19, (0, 1, 2), tmp19, (3, 4, 2), (3, 0, 4, 1), optimize=True) - tmp36 = tmp1.copy() * 2 - tmp36 += tmp9 * -1 - tmp34 = tmp33.transpose((1, 0, 2, 3)).copy() * -1 - tmp34 += tmp33.transpose((2, 1, 0, 3)) * 2 - tmp39 = einsum(v.xov, (0, 1, 2), tmp38, (1, 3, 4, 2), (3, 4, 0), optimize=True) - del tmp38 - tmp11 = t2.transpose((1, 0, 2, 3)).copy() * -1 - tmp11 += t2.transpose((1, 0, 3, 2)) * 2 - tmp13 = t2.transpose((1, 0, 2, 3)).copy() * -1 - tmp13 += t2.transpose((1, 0, 3, 2)) * 2 - tmp22 = einsum(t1, (0, 1), v.xvv, (2, 3, 1), (0, 3, 2), optimize=True) - t2new += einsum(tmp22, (0, 1, 2), tmp22, (3, 4, 2), (3, 0, 4, 1), optimize=True) - tmp65 = tmp31.copy() * 2 - tmp65 += tmp31.transpose((0, 2, 1, 3)) * -1 - tmp18 = einsum(v.xov, (0, 1, 2), v.xov, (0, 3, 4), (3, 1, 4, 2), optimize=True) - t2new += tmp18.transpose((1, 0, 3, 2)) - tmp53 = v.xov.transpose((1, 2, 0)).copy() - tmp53 += tmp19 * -1 - tmp32 = einsum(tmp31, (0, 1, 2, 3), t2, (4, 2, 3, 5), (0, 4, 1, 5), optimize=True) - del tmp31 - tmp37 = einsum(tmp36, (0, 1), t2, (2, 3, 1, 4), (0, 2, 3, 4), optimize=True) - tmp35 = einsum(tmp34, (0, 1, 2, 3), t2, (0, 4, 3, 5), (1, 2, 4, 5), optimize=True) - del tmp34 - tmp40 = einsum(v.xoo, (0, 1, 2), tmp39, (3, 4, 0), (1, 2, 3, 4), optimize=True) - tmp28 = einsum(v.xov, (0, 1, 2), tmp11, (1, 3, 2, 4), (3, 4, 0), optimize=True) - tmp6 = einsum(v.xoo, (0, 1, 2), t1, (2, 3), (1, 3, 0), optimize=True) - tmp14 = einsum(v.xov, (0, 1, 2), tmp13, (1, 3, 2, 4), (3, 4, 0), optimize=True) - del tmp13 - tmp77 = einsum(v.xov, (0, 1, 2), v.xvv, (0, 3, 4), (1, 3, 4, 2), optimize=True) - tmp60 = einsum(tmp22, (0, 1, 2), v.xov, (2, 0, 3), (3, 1), optimize=True) - tmp59 = einsum(tmp0, (0,), v.xvv, (0, 1, 2), (1, 2), optimize=True) - tmp63 = einsum(t2, (0, 1, 2, 3), tmp33, (4, 1, 5, 2), (0, 4, 5, 3), optimize=True) - del tmp33 - tmp66 = einsum(tmp65, (0, 1, 2, 3), t2, (1, 4, 3, 5), (0, 2, 4, 5), optimize=True) - del tmp65 - tmp64 = einsum(tmp2, (0, 1, 2), tmp19, (3, 4, 2), (0, 3, 1, 4), optimize=True) - del tmp19 - tmp20 = einsum(t2, (0, 1, 2, 3), tmp18, (1, 4, 5, 2), (0, 4, 3, 5), optimize=True) - t2new += einsum(t2, (0, 1, 2, 3), tmp20, (4, 1, 5, 2), (0, 4, 5, 3), optimize=True) - tmp54 = einsum(v.xov, (0, 1, 2), tmp53, (3, 4, 0), (3, 1, 4, 2), optimize=True) - del tmp53 - tmp24 = einsum(v.xoo, (0, 1, 2), v.xvv, (0, 3, 4), (1, 2, 3, 4), optimize=True) - tmp12 = einsum(v.xoo, (0, 1, 2), tmp0, (0,), (1, 2), optimize=True) - tmp69 = einsum(v.xoo, (0, 1, 2), tmp2, (2, 3, 0), (1, 3), optimize=True) - tmp41 = tmp32.transpose((0, 2, 1, 3)).copy() - del tmp32 - tmp41 += tmp35.transpose((2, 1, 0, 3)) * -1 - del tmp35 - tmp41 += tmp37.transpose((2, 0, 1, 3)) * -1 - del tmp37 - tmp41 += tmp40.transpose((2, 1, 0, 3)) - del tmp40 - tmp29 = v.xov.transpose((1, 2, 0)).copy() - tmp29 += tmp6 * -1 - tmp29 += tmp28 - del tmp28 - tmp26 = einsum(tmp2, (0, 1, 2), v.xvv, (2, 3, 4), (0, 1, 3, 4), optimize=True) - tmp43 = einsum(tmp36, (0, 1), t1, (2, 1), (0, 2), optimize=True) - del tmp36 - tmp82 = einsum(tmp14, (0, 1, 2), v.xov, (2, 3, 1), (0, 3), optimize=True) - tmp78 = einsum(t2, (0, 1, 2, 3), tmp77, (4, 5, 3, 2), (0, 1, 4, 5), optimize=True) - del tmp77 - tmp80 = einsum(tmp14, (0, 1, 2), v.xov, (2, 0, 3), (1, 3), optimize=True) * 0.5 - tmp61 = tmp59.transpose((1, 0)).copy() * 2 - del tmp59 - tmp61 += tmp60 * -1 - del tmp60 - tmp67 = tmp63.copy() - del tmp63 - tmp67 += tmp64 - del tmp64 - tmp67 += tmp66.transpose((0, 2, 1, 3)) * -1 - del tmp66 - tmp57 = tmp6.copy() - tmp57 += tmp39 - del tmp39 - tmp55 = tmp24.transpose((1, 0, 3, 2)).copy() - tmp55 += tmp20 * -1 - del tmp20 - tmp55 += tmp54 * -2 - del tmp54 - tmp70 = tmp69.transpose((1, 0)).copy() * -1 - del tmp69 - tmp70 += tmp12.transpose((1, 0)) * 2 - tmp50 = einsum(tmp2, (0, 1, 2), v.xoo, (2, 3, 4), (0, 4, 3, 1), optimize=True) - tmp48 = einsum(t2, (0, 1, 2, 3), f.ov, (4, 3), (4, 0, 1, 2), optimize=True) - tmp46 = einsum(f.ov, (0, 1), t1, (2, 1), (0, 2), optimize=True) - tmp74 = einsum(tmp22, (0, 1, 2), tmp2, (3, 4, 2), (3, 0, 4, 1), optimize=True) - tmp25 = einsum(t2, (0, 1, 2, 3), tmp24, (4, 1, 5, 2), (0, 4, 3, 5), optimize=True) - del tmp24 - tmp42 = einsum(tmp41, (0, 1, 2, 3), t1, (1, 4), (0, 2, 3, 4), optimize=True) - del tmp41 - tmp23 = einsum(f.vv, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4), optimize=True) - tmp30 = einsum(tmp29, (0, 1, 2), tmp22, (3, 4, 2), (0, 3, 1, 4), optimize=True) - del tmp22, tmp29 - tmp27 = einsum(t2, (0, 1, 2, 3), tmp26, (4, 1, 5, 3), (4, 0, 2, 5), optimize=True) - tmp44 = einsum(tmp43, (0, 1), t2, (0, 2, 3, 4), (1, 2, 3, 4), optimize=True) - del tmp43 - tmp83 = einsum(tmp82, (0, 1), t2, (1, 2, 3, 4), (0, 2, 3, 4), optimize=True) - del tmp82 - tmp79 = einsum(tmp78, (0, 1, 2, 3), t1, (2, 4), (0, 1, 4, 3), optimize=True) - del tmp78 - tmp81 = einsum(t2, (0, 1, 2, 3), tmp80, (4, 2), (0, 1, 4, 3), optimize=True) * 2 - del tmp80 - tmp90 = tmp18.transpose((1, 0, 2, 3)).copy() * 2 - tmp90 += tmp18.transpose((1, 0, 3, 2)) * -1 - tmp62 = einsum(t2, (0, 1, 2, 3), tmp61, (2, 4), (0, 1, 4, 3), optimize=True) - del tmp61 - tmp68 = einsum(tmp67, (0, 1, 2, 3), t1, (2, 4), (0, 1, 3, 4), optimize=True) - del tmp67 - tmp58 = einsum(v.xov, (0, 1, 2), tmp57, (3, 4, 0), (3, 1, 4, 2), optimize=True) - del tmp57 - tmp56 = einsum(t2, (0, 1, 2, 3), tmp55, (4, 0, 5, 2), (4, 1, 5, 3), optimize=True) - del tmp55 - tmp71 = einsum(tmp70, (0, 1), t2, (0, 2, 3, 4), (1, 2, 3, 4), optimize=True) - del tmp70 - tmp88 = einsum(t1, (0, 1), tmp18, (2, 0, 3, 4), (2, 1, 3, 4), optimize=True) - tmp51 = einsum(t2, (0, 1, 2, 3), tmp50, (4, 1, 5, 0), (4, 5, 3, 2), optimize=True) - del tmp50 - tmp49 = einsum(tmp48, (0, 1, 2, 3), t1, (0, 4), (1, 2, 4, 3), optimize=True) - del tmp48 - tmp47 = einsum(t2, (0, 1, 2, 3), tmp46, (1, 4), (4, 0, 2, 3), optimize=True) - del tmp46 - tmp75 = einsum(t1, (0, 1), tmp74, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) - del tmp74 - tmp73 = einsum(t2, (0, 1, 2, 3), tmp26, (4, 1, 5, 2), (4, 0, 3, 5), optimize=True) - del tmp26 - tmp3 = v.xoo.transpose((2, 1, 0)).copy() - tmp3 += tmp2.transpose((1, 0, 2)) - tmp16 = f.ov.copy() - tmp16 += tmp9 * -1 - tmp15 = tmp6.copy() * -1 - tmp15 += einsum(tmp0, (0,), t1, (1, 2), (1, 2, 0), optimize=True) * 2 - tmp15 += tmp14 - del tmp14 - tmp7 = einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) * 0.5 - tmp7 += t2.transpose((1, 0, 2, 3)) * -1 - tmp7 += t2.transpose((1, 0, 3, 2)) * 0.5 - tmp45 = tmp23.copy() - del tmp23 - tmp45 += tmp25 * -1 - del tmp25 - tmp45 += tmp27 * -1 - del tmp27 - tmp45 += tmp30.transpose((1, 0, 2, 3)) - del tmp30 - tmp45 += tmp42.transpose((0, 1, 3, 2)) - del tmp42 - tmp45 += tmp44.transpose((0, 1, 3, 2)) * -1 - del tmp44 - t2new += tmp45.transpose((1, 0, 2, 3)) - t2new += tmp45.transpose((0, 1, 3, 2)) - del tmp45 - tmp21 = einsum(t2, (0, 1, 2, 3), tmp18, (4, 5, 3, 2), (0, 1, 5, 4), optimize=True) - del tmp18 - t2new += einsum(t2, (0, 1, 2, 3), tmp21, (4, 5, 1, 0), (5, 4, 2, 3), optimize=True) - del tmp21 - tmp84 = tmp79.copy() - del tmp79 - tmp84 += tmp81.transpose((1, 0, 3, 2)) - del tmp81 - tmp84 += tmp83.transpose((1, 0, 3, 2)) - del tmp83 - t2new += tmp84.transpose((1, 0, 3, 2)) * -1 - t2new += tmp84 * -1 - del tmp84 - tmp91 = einsum(t2, (0, 1, 2, 3), tmp90, (0, 4, 5, 2), (1, 4, 3, 5), optimize=True) - del tmp90 - t2new += einsum(t2, (0, 1, 2, 3), tmp91, (4, 0, 5, 2), (4, 1, 5, 3), optimize=True) * 2 - del tmp91 - tmp72 = tmp56.transpose((1, 0, 3, 2)).copy() - del tmp56 - tmp72 += tmp58 - del tmp58 - tmp72 += tmp62.transpose((1, 0, 3, 2)) * -1 - del tmp62 - tmp72 += tmp68.transpose((0, 1, 3, 2)) * -1 - del tmp68 - tmp72 += tmp71.transpose((1, 0, 3, 2)) - del tmp71 - t2new += tmp72.transpose((1, 0, 3, 2)) * -1 - t2new += tmp72 * -1 - del tmp72 - tmp89 = einsum(v.xvv, (0, 1, 2), v.xvv, (0, 3, 4), (2, 3, 4, 1), optimize=True) - tmp89 += einsum(t1, (0, 1), tmp88, (0, 2, 3, 4), (4, 1, 3, 2), optimize=True) - del tmp88 - t2new += einsum(t2, (0, 1, 2, 3), tmp89, (2, 4, 3, 5), (1, 0, 4, 5), optimize=True) - del tmp89 - tmp86 = einsum(v.xoo, (0, 1, 2), v.xoo, (0, 3, 4), (4, 1, 2, 3), optimize=True) - tmp86 += einsum(tmp2, (0, 1, 2), tmp2, (3, 4, 2), (1, 3, 4, 0), optimize=True) - del tmp2 - tmp87 = t2.transpose((1, 0, 3, 2)).copy() - tmp87 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) - t2new += einsum(tmp87, (0, 1, 2, 3), tmp86, (0, 4, 1, 5), (4, 5, 3, 2), optimize=True) - del tmp87, tmp86 - tmp85 = einsum(f.oo, (0, 1), t2, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) - t2new += tmp85.transpose((1, 0, 2, 3)) * -1 - t2new += tmp85.transpose((0, 1, 3, 2)) * -1 - del tmp85 - tmp52 = tmp47.copy() - del tmp47 - tmp52 += tmp49 - del tmp49 - tmp52 += tmp51 * -1 - del tmp51 - t2new += tmp52.transpose((1, 0, 2, 3)) * -1 - t2new += tmp52.transpose((0, 1, 3, 2)) * -1 - del tmp52 - tmp76 = tmp73.copy() - del tmp73 - tmp76 += tmp75 - del tmp75 - t2new += tmp76.transpose((1, 0, 3, 2)) * -1 - t2new += tmp76 * -1 - del tmp76 - tmp4 = einsum(v.xov, (0, 1, 2), tmp3, (3, 4, 0), (4, 1, 3, 2), optimize=True) - del tmp3 - tmp5 = t2.transpose((1, 0, 2, 3)).copy() * 2 - tmp5 += t2.transpose((1, 0, 3, 2)) * -1 - t1new += einsum(tmp5, (0, 1, 2, 3), tmp4, (4, 0, 1, 3), (4, 2), optimize=True) * -1 - del tmp5, tmp4 - tmp17 = f.oo.transpose((1, 0)).copy() - tmp17 += tmp12.transpose((1, 0)) * 2 - del tmp12 - tmp17 += einsum(tmp15, (0, 1, 2), v.xov, (2, 3, 1), (3, 0), optimize=True) - del tmp15 - tmp17 += einsum(tmp16, (0, 1), t1, (2, 1), (0, 2), optimize=True) - del tmp16 - t1new += einsum(t1, (0, 1), tmp17, (0, 2), (2, 1), optimize=True) * -1 - del tmp17 - tmp10 = f.ov.copy() - tmp10 += tmp1 * 2 - del tmp1 - tmp10 += tmp9 * -1 - del tmp9 - t1new += einsum(tmp11, (0, 1, 2, 3), tmp10, (0, 2), (1, 3), optimize=True) - del tmp11, tmp10 - tmp8 = tmp6.copy() * 0.5 - del tmp6 - tmp8 += einsum(tmp0, (0,), t1, (1, 2), (1, 2, 0), optimize=True) * -1 - del tmp0 - tmp8 += einsum(v.xov, (0, 1, 2), tmp7, (1, 3, 4, 2), (3, 4, 0), optimize=True) - del tmp7 - t1new += einsum(v.xvv, (0, 1, 2), tmp8, (3, 1, 0), (3, 2), optimize=True) * -2 - del tmp8 - t1new += f.ov - t1new += einsum(t1, (0, 1), f.vv, (2, 1), (0, 2), optimize=True) - - return {f"t1new": t1new, f"t2new": t2new} - -def update_lams(f=None, l1=None, l2=None, t1=None, t2=None, v=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-07-18T20:38:50.254515. - - Parameters - ---------- - f : array - Fock matrix. - l1 : array - L1 amplitudes. - l2 : array - L2 amplitudes. - t1 : array - T1 amplitudes. - t2 : array - T2 amplitudes. - v : array - Electron repulsion integrals. - - Returns - ------- - l1new : array - Updated L1 residuals. - l2new : array - Updated L2 residuals. - """ - - tmp5 = einsum(v.xov, (0, 1, 2), t1, (3, 2), (3, 1, 0), optimize=True) - tmp13 = einsum(t1, (0, 1), v.xov, (2, 0, 1), (2,), optimize=True) - tmp93 = t2.transpose((1, 0, 2, 3)).copy() * -1 - tmp93 += t2.transpose((1, 0, 3, 2)) * 2 - tmp21 = t2.transpose((1, 0, 2, 3)).copy() * -1 - tmp21 += t2.transpose((1, 0, 3, 2)) * 2 - tmp28 = t2.transpose((1, 0, 2, 3)).copy() - tmp28 += t2.transpose((1, 0, 3, 2)) * -0.5 - tmp15 = einsum(tmp5, (0, 1, 2), v.xov, (2, 0, 3), (1, 3), optimize=True) - tmp14 = einsum(tmp13, (0,), v.xov, (0, 1, 2), (1, 2), optimize=True) - tmp33 = einsum(l2, (0, 1, 2, 3), t1, (4, 0), (3, 2, 4, 1), optimize=True) - tmp0 = einsum(t1, (0, 1), v.xvv, (2, 3, 1), (0, 3, 2), optimize=True) - tmp94 = einsum(v.xov, (0, 1, 2), tmp93, (1, 3, 2, 4), (3, 4, 0), optimize=True) - del tmp93 - tmp7 = einsum(v.xov, (0, 1, 2), v.xov, (0, 3, 4), (3, 1, 4, 2), optimize=True) - l2new = tmp7.transpose((3, 2, 1, 0)).copy() - tmp78 = v.xoo.transpose((2, 1, 0)).copy() - tmp78 += tmp5.transpose((1, 0, 2)) - tmp22 = einsum(v.xov, (0, 1, 2), tmp21, (1, 3, 2, 4), (3, 4, 0), optimize=True) - tmp20 = t2.transpose((1, 0, 2, 3)).copy() * -0.5 - tmp20 += t2.transpose((1, 0, 3, 2)) - tmp48 = einsum(l2, (0, 1, 2, 3), tmp28, (2, 4, 1, 0), (3, 4), optimize=True) - tmp47 = einsum(l1, (0, 1), t1, (2, 0), (1, 2), optimize=True) - tmp89 = t2.transpose((1, 0, 2, 3)).copy() * 2 - tmp89 += t2.transpose((1, 0, 3, 2)) * -1 - tmp103 = tmp14.copy() * 2 - tmp103 += tmp15 * -1 - tmp98 = tmp33.copy() * 2 - tmp98 += tmp33.transpose((1, 0, 2, 3)) * -1 - tmp96 = l2.transpose((3, 2, 0, 1)).copy() * -1 - tmp96 += l2.transpose((3, 2, 1, 0)) * 2 - tmp95 = v.xov.transpose((1, 2, 0)).copy() - tmp95 += tmp0 - tmp95 += tmp94 - del tmp94 - tmp8 = einsum(t2, (0, 1, 2, 3), tmp7, (4, 5, 3, 2), (0, 1, 5, 4), optimize=True) - l2new += einsum(l2, (0, 1, 2, 3), tmp8, (2, 3, 4, 5), (0, 1, 4, 5), optimize=True) - tmp9 = einsum(tmp5, (0, 1, 2), tmp5, (3, 4, 2), (0, 3, 1, 4), optimize=True) - tmp79 = einsum(tmp78, (0, 1, 2), v.xvv, (2, 3, 4), (0, 1, 3, 4), optimize=True) - del tmp78 - tmp77 = einsum(t2, (0, 1, 2, 3), tmp7, (4, 1, 2, 5), (0, 4, 3, 5), optimize=True) - tmp120 = einsum(tmp22, (0, 1, 2), v.xov, (2, 3, 1), (3, 0), optimize=True) * 0.5 - tmp59 = einsum(tmp13, (0,), v.xoo, (0, 1, 2), (1, 2), optimize=True) - tmp36 = einsum(tmp20, (0, 1, 2, 3), l2, (2, 4, 0, 1), (4, 3), optimize=True) * 2 - tmp49 = tmp47.copy() * 0.5 - tmp49 += tmp48 - del tmp48 - tmp90 = einsum(tmp7, (0, 1, 2, 3), tmp89, (0, 4, 5, 3), (1, 4, 2, 5), optimize=True) - del tmp89 - tmp104 = einsum(t1, (0, 1), tmp103, (2, 1), (0, 2), optimize=True) - tmp60 = einsum(v.xoo, (0, 1, 2), tmp5, (1, 3, 0), (2, 3), optimize=True) - tmp99 = einsum(v.xoo, (0, 1, 2), tmp98, (3, 1, 2, 4), (3, 4, 0), optimize=True) - tmp97 = einsum(tmp96, (0, 1, 2, 3), tmp95, (0, 2, 4), (1, 3, 4), optimize=True) - del tmp96, tmp95 - tmp100 = einsum(tmp5, (0, 1, 2), tmp98, (3, 0, 1, 4), (3, 4, 2), optimize=True) - del tmp98 - tmp54 = einsum(l2, (0, 1, 2, 3), tmp28, (2, 4, 1, 0), (3, 4), optimize=True) * 2 - tmp10 = tmp8.copy() - del tmp8 - tmp10 += tmp9 - tmp3 = einsum(v.xov, (0, 1, 2), v.xvv, (0, 3, 4), (1, 3, 4, 2), optimize=True) - tmp67 = einsum(f.ov, (0, 1), t1, (2, 1), (0, 2), optimize=True) - tmp80 = tmp77.copy() * -1 - del tmp77 - tmp80 += tmp79.transpose((1, 0, 3, 2)) - tmp73 = einsum(v.xov, (0, 1, 2), v.xoo, (0, 3, 4), (3, 4, 1, 2), optimize=True) - tmp25 = einsum(v.xoo, (0, 1, 2), tmp5, (3, 4, 0), (3, 1, 2, 4), optimize=True) - tmp70 = einsum(l1, (0, 1), v.xvv, (2, 3, 0), (1, 3, 2), optimize=True) - tmp75 = einsum(tmp5, (0, 1, 2), v.xov, (2, 3, 4), (0, 3, 1, 4), optimize=True) - tmp121 = tmp59.transpose((1, 0)).copy() - tmp121 += tmp120.transpose((1, 0)) - del tmp120 - tmp118 = einsum(tmp22, (0, 1, 2), v.xov, (2, 0, 3), (3, 1), optimize=True) * 0.5 - tmp37 = einsum(tmp36, (0, 1), v.xov, (2, 3, 1), (3, 0, 2), optimize=True) * 0.5 - del tmp36 - tmp110 = einsum(v.xov, (0, 1, 2), tmp49, (3, 1), (3, 2, 0), optimize=True) * 2 - tmp91 = tmp90.transpose((1, 0, 3, 2)).copy() - del tmp90 - tmp91 += tmp79.transpose((1, 0, 3, 2)) - del tmp79 - tmp63 = einsum(tmp13, (0,), v.xvv, (0, 1, 2), (1, 2), optimize=True) - del tmp13 - tmp105 = tmp60.copy() - tmp105 += tmp104 * -1 - del tmp104 - tmp86 = einsum(l2, (0, 1, 2, 3), t2, (3, 4, 0, 5), (2, 4, 1, 5), optimize=True) - tmp101 = tmp97.copy() * -1 - del tmp97 - tmp101 += tmp99 - del tmp99 - tmp101 += tmp100 - del tmp100 - tmp115 = einsum(v.xov, (0, 1, 2), tmp0, (1, 3, 0), (2, 3), optimize=True) - tmp44 = einsum(t2, (0, 1, 2, 3), l2, (3, 2, 4, 5), (4, 5, 1, 0), optimize=True) - tmp45 = einsum(tmp33, (0, 1, 2, 3), t1, (4, 3), (1, 0, 2, 4), optimize=True) - tmp41 = einsum(l1, (0, 1), t2, (2, 3, 0, 4), (1, 3, 2, 4), optimize=True) - tmp35 = tmp33.copy() - tmp35 += tmp33.transpose((1, 0, 2, 3)) * -0.5 - tmp42 = tmp33.copy() * -1 - tmp42 += tmp33.transpose((1, 0, 2, 3)) * 2 - tmp53 = t2.transpose((1, 0, 2, 3)).copy() * 2 - tmp53 += t2.transpose((1, 0, 3, 2)) * -1 - tmp55 = tmp47.copy() - del tmp47 - tmp55 += tmp54 - del tmp54 - tmp18 = v.xoo.transpose((2, 1, 0)).copy() - tmp18 += tmp5.transpose((1, 0, 2)) - tmp24 = einsum(v.xoo, (0, 1, 2), v.xoo, (0, 3, 4), (3, 2, 1, 4), optimize=True) - tmp11 = einsum(t1, (0, 1), tmp10, (2, 3, 4, 0), (2, 3, 4, 1), optimize=True) * 2 - del tmp10 - tmp4 = einsum(t2, (0, 1, 2, 3), tmp3, (4, 3, 5, 2), (0, 1, 4, 5), optimize=True) - tmp6 = einsum(tmp0, (0, 1, 2), tmp5, (3, 4, 2), (3, 0, 4, 1), optimize=True) - tmp16 = tmp14.copy() * 2 - tmp16 += tmp15 * -1 - tmp69 = einsum(f.ov, (0, 1), tmp33, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) - tmp68 = einsum(l2, (0, 1, 2, 3), tmp67, (4, 3), (4, 2, 0, 1), optimize=True) - del tmp67 - tmp81 = einsum(l2, (0, 1, 2, 3), tmp80, (2, 4, 1, 5), (3, 4, 0, 5), optimize=True) - del tmp80 - tmp74 = einsum(tmp33, (0, 1, 2, 3), tmp73, (4, 0, 2, 5), (1, 4, 3, 5), optimize=True) - tmp72 = einsum(tmp25, (0, 1, 2, 3), l2, (4, 5, 1, 0), (2, 3, 5, 4), optimize=True) - tmp71 = einsum(v.xov, (0, 1, 2), tmp70, (3, 4, 0), (3, 1, 2, 4), optimize=True) - del tmp70 - tmp66 = einsum(l2, (0, 1, 2, 3), f.vv, (4, 1), (2, 3, 4, 0), optimize=True) - tmp76 = einsum(tmp75, (0, 1, 2, 3), tmp33, (0, 4, 1, 5), (4, 2, 5, 3), optimize=True) - tmp122 = einsum(tmp121, (0, 1), l2, (2, 3, 0, 4), (4, 1, 2, 3), optimize=True) * 2 - del tmp121 - tmp119 = einsum(tmp118, (0, 1), l2, (1, 2, 3, 4), (3, 4, 2, 0), optimize=True) * 2 - del tmp118 - tmp109 = einsum(tmp75, (0, 1, 2, 3), l1, (4, 0), (1, 2, 4, 3), optimize=True) - tmp112 = einsum(tmp37, (0, 1, 2), v.xov, (2, 3, 4), (3, 0, 4, 1), optimize=True) * 2 - tmp111 = einsum(v.xov, (0, 1, 2), tmp110, (3, 4, 0), (1, 3, 2, 4), optimize=True) - del tmp110 - tmp83 = einsum(tmp33, (0, 1, 2, 3), tmp73, (4, 1, 2, 5), (0, 4, 3, 5), optimize=True) - tmp85 = einsum(tmp33, (0, 1, 2, 3), tmp3, (2, 4, 3, 5), (1, 0, 5, 4), optimize=True) - del tmp3 - tmp107 = einsum(tmp33, (0, 1, 2, 3), tmp103, (2, 4), (0, 1, 3, 4), optimize=True) - tmp92 = einsum(tmp91, (0, 1, 2, 3), l2, (2, 4, 0, 5), (5, 1, 4, 3), optimize=True) - del tmp91 - tmp84 = einsum(tmp63, (0, 1), l2, (2, 1, 3, 4), (3, 4, 2, 0), optimize=True) - tmp106 = einsum(tmp105, (0, 1), l2, (2, 3, 0, 4), (4, 1, 2, 3), optimize=True) - del tmp105 - tmp88 = einsum(tmp33, (0, 1, 2, 3), tmp75, (1, 2, 4, 5), (0, 4, 3, 5), optimize=True) - del tmp75 - tmp87 = einsum(tmp86, (0, 1, 2, 3), tmp7, (1, 4, 5, 3), (0, 4, 2, 5), optimize=True) - del tmp86 - tmp102 = einsum(tmp101, (0, 1, 2), v.xov, (2, 3, 4), (3, 0, 4, 1), optimize=True) - del tmp101 - tmp114 = einsum(tmp73, (0, 1, 2, 3), l1, (4, 1), (0, 2, 4, 3), optimize=True) - del tmp73 - tmp116 = einsum(l2, (0, 1, 2, 3), tmp115, (4, 1), (2, 3, 0, 4), optimize=True) - del tmp115 - tmp34 = tmp33.copy() * 2 - tmp34 += tmp33.transpose((1, 0, 2, 3)) * -1 - tmp32 = l2.transpose((3, 2, 0, 1)).copy() * -0.5 - tmp32 += l2.transpose((3, 2, 1, 0)) - tmp38 = v.xoo.transpose((2, 1, 0)).copy() - tmp38 += tmp5 - tmp31 = v.xov.transpose((1, 2, 0)).copy() - tmp31 += tmp0 - tmp31 += tmp22 - tmp61 = f.ov.copy() - tmp61 += tmp14 * 2 - tmp61 += tmp15 * -1 - tmp46 = tmp44.transpose((1, 0, 2, 3)).copy() * -1 - tmp46 += tmp44.transpose((1, 0, 3, 2)) * 2 - tmp46 += tmp45 * 2 - tmp46 += tmp45.transpose((0, 1, 3, 2)) * -1 - tmp43 = tmp41.copy() * -1 - tmp43 += tmp41.transpose((0, 2, 1, 3)) * 0.5 - del tmp41 - tmp43 += einsum(t2, (0, 1, 2, 3), tmp42, (4, 0, 5, 2), (4, 5, 1, 3), optimize=True) * 0.5 - del tmp42 - tmp43 += einsum(t2, (0, 1, 2, 3), tmp35, (4, 0, 5, 3), (4, 5, 1, 2), optimize=True) - tmp40 = einsum(tmp21, (0, 1, 2, 3), l2, (4, 3, 0, 5), (5, 1, 4, 2), optimize=True) - tmp40 += einsum(tmp28, (0, 1, 2, 3), l2, (3, 4, 0, 5), (5, 1, 4, 2), optimize=True) * 2 - tmp50 = t1.copy() * -0.5 - tmp50 += einsum(tmp33, (0, 1, 2, 3), tmp28, (0, 1, 4, 3), (2, 4), optimize=True) - tmp50 += einsum(l1, (0, 1), tmp21, (1, 2, 0, 3), (2, 3), optimize=True) * -0.5 - del tmp21 - tmp50 += einsum(t1, (0, 1), tmp49, (0, 2), (2, 1), optimize=True) - tmp52 = einsum(t1, (0, 1), l1, (2, 0), (2, 1), optimize=True) * 0.5 - tmp52 += einsum(tmp20, (0, 1, 2, 3), l2, (2, 4, 0, 1), (4, 3), optimize=True) - tmp56 = l1.transpose((1, 0)).copy() - tmp56 += t1 - tmp56 += einsum(tmp33, (0, 1, 2, 3), tmp53, (0, 1, 4, 3), (2, 4), optimize=True) * -1 - del tmp33, tmp53 - tmp56 += einsum(l1, (0, 1), tmp20, (1, 2, 0, 3), (2, 3), optimize=True) * 2 - tmp56 += einsum(tmp55, (0, 1), t1, (0, 2), (1, 2), optimize=True) * -1 - tmp23 = v.xov.transpose((1, 2, 0)).copy() - tmp23 += tmp22 - tmp1 = einsum(v.xoo, (0, 1, 2), tmp0, (3, 4, 0), (3, 1, 2, 4), optimize=True) - tmp19 = einsum(tmp18, (0, 1, 2), v.xov, (2, 3, 4), (3, 0, 1, 4), optimize=True) - tmp29 = tmp24.transpose((3, 2, 1, 0)).copy() * 0.5 - tmp29 += tmp25.transpose((1, 0, 3, 2)) * 0.5 - tmp29 += tmp25.transpose((3, 0, 2, 1)) * -1 - tmp26 = tmp24.transpose((3, 2, 1, 0)).copy() - tmp26 += tmp25.transpose((1, 0, 3, 2)) - tmp26 += tmp25.transpose((3, 0, 2, 1)) * -0.5 - del tmp25 - tmp2 = einsum(f.ov, (0, 1), t2, (2, 3, 1, 4), (0, 3, 2, 4), optimize=True) - tmp12 = tmp4.copy() * 2 - del tmp4 - tmp12 += tmp6 * 2 - del tmp6 - tmp12 += tmp11 * -1 - del tmp11 - tmp17 = einsum(tmp16, (0, 1), t2, (2, 3, 1, 4), (2, 3, 0, 4), optimize=True) - del tmp16 - tmp125 = tmp44.transpose((1, 0, 3, 2)).copy() - del tmp44 - tmp125 += tmp45 - del tmp45 - l2new += einsum(tmp7, (0, 1, 2, 3), tmp125, (4, 5, 0, 1), (3, 2, 5, 4), optimize=True) - del tmp7, tmp125 - tmp126 = tmp24.transpose((3, 2, 1, 0)).copy() - del tmp24 - tmp126 += tmp9.transpose((0, 3, 1, 2)) - del tmp9 - l2new += einsum(tmp126, (0, 1, 2, 3), l2, (4, 5, 0, 2), (5, 4, 1, 3), optimize=True) - del tmp126 - tmp82 = tmp66.copy() - del tmp66 - tmp82 += tmp68 * -1 - del tmp68 - tmp82 += tmp69 * -1 - del tmp69 - tmp82 += tmp71 - del tmp71 - tmp82 += tmp72 - del tmp72 - tmp82 += tmp74 - del tmp74 - tmp82 += tmp76 - del tmp76 - tmp82 += tmp81 * -1 - del tmp81 - l2new += tmp82.transpose((2, 3, 1, 0)) - l2new += tmp82.transpose((3, 2, 0, 1)) - del tmp82 - tmp123 = tmp119.transpose((1, 0, 2, 3)).copy() - del tmp119 - tmp123 += tmp122.transpose((0, 1, 3, 2)) - del tmp122 - l2new += tmp123.transpose((3, 2, 1, 0)) * -1 - l2new += tmp123.transpose((2, 3, 0, 1)) * -1 - del tmp123 - tmp113 = tmp109.copy() - del tmp109 - tmp113 += tmp111.transpose((1, 0, 2, 3)) - del tmp111 - tmp113 += tmp112.transpose((0, 1, 3, 2)) - del tmp112 - l2new += tmp113.transpose((2, 3, 1, 0)) * -1 - l2new += tmp113.transpose((3, 2, 0, 1)) * -1 - del tmp113 - tmp65 = einsum(v.xvv, (0, 1, 2), v.xvv, (0, 3, 4), (1, 4, 3, 2), optimize=True) - l2new += einsum(l2, (0, 1, 2, 3), tmp65, (4, 5, 1, 0), (4, 5, 2, 3), optimize=True) - del tmp65 - tmp108 = einsum(f.ov, (0, 1), l1, (2, 3), (0, 3, 1, 2), optimize=True) - tmp108 += tmp83 - del tmp83 - tmp108 += tmp84 * 2 - del tmp84 - tmp108 += tmp85 * -1 - del tmp85 - tmp108 += tmp87 - del tmp87 - tmp108 += tmp88 - del tmp88 - tmp108 += tmp92 * -1 - del tmp92 - tmp108 += tmp102.transpose((1, 0, 3, 2)) * -1 - del tmp102 - tmp108 += tmp106.transpose((0, 1, 3, 2)) - del tmp106 - tmp108 += tmp107 * -1 - del tmp107 - tmp108 += einsum(l1, (0, 1), tmp103, (2, 3), (1, 2, 0, 3), optimize=True) - del tmp103 - l2new += tmp108.transpose((3, 2, 1, 0)) - l2new += tmp108.transpose((2, 3, 0, 1)) - del tmp108 - tmp117 = tmp114.copy() - del tmp114 - tmp117 += tmp116 - del tmp116 - l2new += tmp117.transpose((3, 2, 1, 0)) * -1 - l2new += tmp117.transpose((2, 3, 0, 1)) * -1 - del tmp117 - tmp124 = einsum(l2, (0, 1, 2, 3), f.oo, (4, 3), (4, 2, 0, 1), optimize=True) - l2new += tmp124.transpose((2, 3, 1, 0)) * -1 - l2new += tmp124.transpose((3, 2, 0, 1)) * -1 - del tmp124 - tmp39 = einsum(tmp31, (0, 1, 2), tmp32, (0, 3, 1, 4), (3, 4, 2), optimize=True) * -1 - del tmp32 - tmp39 += einsum(v.xoo, (0, 1, 2), tmp34, (3, 1, 2, 4), (3, 4, 0), optimize=True) * 0.5 - del tmp34 - tmp39 += einsum(tmp35, (0, 1, 2, 3), tmp5, (1, 2, 4), (0, 3, 4), optimize=True) - tmp39 += tmp37 - del tmp37 - tmp39 += einsum(tmp38, (0, 1, 2), l1, (3, 0), (1, 3, 2), optimize=True) * 0.5 - del tmp38 - l1new = einsum(v.xvv, (0, 1, 2), tmp39, (3, 1, 0), (2, 3), optimize=True) * -2 - del tmp39 - tmp62 = f.oo.transpose((1, 0)).copy() - tmp62 += tmp59.transpose((1, 0)) * 2 - del tmp59 - tmp62 += tmp60 * -1 - del tmp60 - tmp62 += einsum(v.xov, (0, 1, 2), tmp22, (3, 2, 0), (3, 1), optimize=True) - del tmp22 - tmp62 += einsum(t1, (0, 1), tmp61, (2, 1), (0, 2), optimize=True) - del tmp61 - l1new += einsum(tmp62, (0, 1), l1, (2, 0), (2, 1), optimize=True) * -1 - del tmp62 - tmp58 = f.ov.copy() * 0.5 - tmp58 += tmp14 - del tmp14 - tmp58 += tmp15 * -0.5 - del tmp15 - l1new += einsum(tmp58, (0, 1), tmp49, (2, 0), (1, 2), optimize=True) * -4 - del tmp58 - tmp51 = einsum(l1, (0, 1), tmp0, (2, 0, 3), (2, 1, 3), optimize=True) * -1 - del tmp0 - tmp51 += einsum(tmp40, (0, 1, 2, 3), v.xvv, (4, 3, 2), (1, 0, 4), optimize=True) * -1 - del tmp40 - tmp51 += einsum(tmp31, (0, 1, 2), tmp35, (0, 3, 4, 1), (4, 3, 2), optimize=True) * -2 - del tmp35, tmp31 - tmp51 += einsum(v.xov, (0, 1, 2), tmp43, (3, 1, 4, 2), (4, 3, 0), optimize=True) * 2 - del tmp43 - tmp51 += einsum(tmp5, (0, 1, 2), tmp46, (0, 3, 1, 4), (4, 3, 2), optimize=True) - del tmp5 - tmp51 += einsum(v.xoo, (0, 1, 2), tmp46, (1, 3, 2, 4), (4, 3, 0), optimize=True) - del tmp46 - tmp51 += einsum(v.xov, (0, 1, 2), tmp50, (3, 2), (3, 1, 0), optimize=True) * 2 - del tmp50 - tmp51 += einsum(v.xoo, (0, 1, 2), tmp49, (1, 3), (3, 2, 0), optimize=True) * 2 - del tmp49 - l1new += einsum(tmp51, (0, 1, 2), v.xov, (2, 0, 3), (3, 1), optimize=True) - del tmp51 - tmp64 = f.vv.transpose((1, 0)).copy() - tmp64 += tmp63.transpose((1, 0)) * 2 - del tmp63 - l1new += einsum(l1, (0, 1), tmp64, (0, 2), (2, 1), optimize=True) - del tmp64 - tmp57 = einsum(tmp52, (0, 1), v.xvv, (2, 1, 0), (2,), optimize=True) * 2 - del tmp52 - tmp57 += einsum(v.xov, (0, 1, 2), tmp56, (1, 2), (0,), optimize=True) - del tmp56 - tmp57 += einsum(tmp55, (0, 1), v.xoo, (2, 1, 0), (2,), optimize=True) * -1 - del tmp55 - l1new += einsum(tmp57, (0,), v.xov, (0, 1, 2), (2, 1), optimize=True) * 2 - del tmp57 - tmp30 = tmp1.transpose((0, 2, 1, 3)).copy() * -1 - tmp30 += einsum(tmp19, (0, 1, 2, 3), tmp28, (1, 4, 3, 5), (2, 0, 4, 5), optimize=True) - del tmp28 - tmp30 += einsum(tmp18, (0, 1, 2), tmp23, (3, 4, 2), (1, 0, 3, 4), optimize=True) * 0.5 - tmp30 += einsum(t1, (0, 1), tmp29, (0, 2, 3, 4), (2, 3, 4, 1), optimize=True) * -1 - del tmp29 - l1new += einsum(l2, (0, 1, 2, 3), tmp30, (3, 4, 2, 1), (0, 4), optimize=True) * 2 - del tmp30 - tmp27 = tmp1.transpose((0, 2, 1, 3)).copy() - del tmp1 - tmp27 += tmp2.transpose((1, 0, 2, 3)) - tmp27 += tmp2.transpose((2, 0, 1, 3)) * -2 - del tmp2 - tmp27 += tmp12.transpose((0, 2, 1, 3)) * -1 - tmp27 += tmp12.transpose((1, 2, 0, 3)) * 0.5 - del tmp12 - tmp27 += tmp17.transpose((1, 2, 0, 3)) - tmp27 += tmp17.transpose((0, 2, 1, 3)) * -2 - del tmp17 - tmp27 += einsum(tmp19, (0, 1, 2, 3), tmp20, (1, 4, 3, 5), (2, 0, 4, 5), optimize=True) * 2 - del tmp20, tmp19 - tmp27 += einsum(tmp18, (0, 1, 2), tmp23, (3, 4, 2), (1, 0, 3, 4), optimize=True) * -2 - del tmp18, tmp23 - tmp27 += einsum(t1, (0, 1), tmp26, (0, 2, 3, 4), (2, 3, 4, 1), optimize=True) * 2 - del tmp26 - l1new += einsum(tmp27, (0, 1, 2, 3), l2, (3, 4, 2, 0), (4, 1), optimize=True) - del tmp27 - l1new += f.ov.transpose((1, 0)) - - return {f"l1new": l1new, f"l2new": l2new} - -def make_rdm1_f(l1=None, l2=None, t1=None, t2=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-07-18T20:38:51.367630. - - Parameters - ---------- - l1 : array - L1 amplitudes. - l2 : array - L2 amplitudes. - t1 : array - T1 amplitudes. - t2 : array - T2 amplitudes. - - Returns - ------- - rdm1 : array - One-particle reduced density matrix. - """ - - rdm1 = Namespace() - delta = Namespace( - oo=np.eye(t2.shape[0]), - vv=np.eye(t2.shape[-1]), - ) - tmp2 = einsum(l2, (0, 1, 2, 3), t1, (4, 0), (3, 2, 4, 1), optimize=True) - tmp0 = einsum(l1, (0, 1), t1, (2, 0), (1, 2), optimize=True) - rdm1.oo = tmp0.transpose((1, 0)).copy() * -2 - tmp5 = t2.transpose((1, 0, 2, 3)).copy() * -0.5 - tmp5 += t2.transpose((1, 0, 3, 2)) - tmp7 = l2.transpose((3, 2, 0, 1)).copy() * 2 - tmp7 += l2.transpose((3, 2, 1, 0)) * -1 - rdm1.vv = einsum(t2, (0, 1, 2, 3), tmp7, (0, 1, 4, 2), (4, 3), optimize=True) * 2 - del tmp7 - tmp3 = tmp2.copy() * -0.5 - tmp3 += tmp2.transpose((1, 0, 2, 3)) - del tmp2 - rdm1.ov = einsum(tmp3, (0, 1, 2, 3), t2, (1, 0, 3, 4), (2, 4), optimize=True) * -4 - del tmp3 - tmp4 = t2.transpose((1, 0, 2, 3)).copy() * -1 - tmp4 += t2.transpose((1, 0, 3, 2)) * 2 - rdm1.ov += einsum(tmp4, (0, 1, 2, 3), l1, (2, 0), (1, 3), optimize=True) * 2 - del tmp4 - tmp6 = tmp0.copy() * 0.5 - del tmp0 - tmp6 += einsum(l2, (0, 1, 2, 3), tmp5, (2, 4, 0, 1), (3, 4), optimize=True) - del tmp5 - rdm1.ov += einsum(t1, (0, 1), tmp6, (0, 2), (2, 1), optimize=True) * -4 - del tmp6 - tmp1 = t2.transpose((1, 0, 2, 3)).copy() - tmp1 += t2.transpose((1, 0, 3, 2)) * -0.5 - rdm1.oo += einsum(tmp1, (0, 1, 2, 3), l2, (3, 2, 0, 4), (1, 4), optimize=True) * -4 - del tmp1 - rdm1.oo += delta.oo.transpose((1, 0)) * 2 - del delta - rdm1.ov += t1 * 2 - rdm1.vo = l1.copy() * 2 - rdm1.vv += einsum(t1, (0, 1), l1, (2, 0), (2, 1), optimize=True) * 2 - rdm1 = np.block([[rdm1.oo, rdm1.ov], [rdm1.vo, rdm1.vv]]) - - return rdm1 - -def make_rdm2_f(l1=None, l2=None, t1=None, t2=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-07-18T20:39:44.609793. - - Parameters - ---------- - l1 : array - L1 amplitudes. - l2 : array - L2 amplitudes. - t1 : array - T1 amplitudes. - t2 : array - T2 amplitudes. - - Returns - ------- - rdm2 : array - Two-particle reduced density matrix. - """ - - rdm2 = Namespace() - delta = Namespace( - oo=np.eye(t2.shape[0]), - vv=np.eye(t2.shape[-1]), - ) - tmp4 = einsum(l2, (0, 1, 2, 3), t1, (4, 0), (3, 2, 4, 1), optimize=True) - rdm2.vooo = tmp4.transpose((3, 2, 1, 0)).copy() - rdm2.vooo += tmp4.transpose((3, 2, 0, 1)) * -1 - rdm2.vooo += tmp4.transpose((3, 2, 0, 1)) * -1 - rdm2.vooo += tmp4.transpose((3, 2, 0, 1)) * -1 - rdm2.vooo += tmp4.transpose((3, 2, 1, 0)) - rdm2.vooo += tmp4.transpose((3, 2, 0, 1)) * -1 - rdm2.ovoo = tmp4.transpose((2, 3, 1, 0)).copy() * -1 - rdm2.ovoo += tmp4.transpose((2, 3, 0, 1)) - rdm2.ovoo += tmp4.transpose((2, 3, 1, 0)) * -1 - rdm2.ovoo += tmp4.transpose((2, 3, 1, 0)) * -1 - rdm2.ovoo += tmp4.transpose((2, 3, 1, 0)) * -1 - rdm2.ovoo += tmp4.transpose((2, 3, 0, 1)) - tmp79 = t2.transpose((1, 0, 2, 3)).copy() * -1 - tmp79 += t2.transpose((1, 0, 3, 2)) - tmp9 = t2.transpose((1, 0, 2, 3)).copy() * -1 - tmp9 += t2.transpose((1, 0, 3, 2)) * 2 - tmp20 = tmp4.copy() * -1 - tmp20 += tmp4.transpose((1, 0, 2, 3)) * 2 - tmp18 = tmp4.copy() * -1 - tmp18 += tmp4.transpose((1, 0, 2, 3)) - tmp1 = t2.transpose((1, 0, 2, 3)).copy() * -0.5 - tmp1 += t2.transpose((1, 0, 3, 2)) - tmp45 = l2.transpose((3, 2, 0, 1)).copy() * 2 - tmp45 += l2.transpose((3, 2, 1, 0)) * -1 - tmp87 = einsum(t1, (0, 1), tmp4, (2, 0, 3, 4), (2, 3, 4, 1), optimize=True) - rdm2.voov = tmp87.transpose((2, 1, 0, 3)).copy() * -1 - rdm2.voov += tmp87.transpose((2, 1, 0, 3)) * -1 - rdm2.ovvo = tmp87.transpose((1, 2, 3, 0)).copy() * -1 - rdm2.ovvo += tmp87.transpose((1, 2, 3, 0)) * -1 - tmp80 = einsum(l2, (0, 1, 2, 3), tmp79, (2, 4, 1, 5), (4, 3, 5, 0), optimize=True) - del tmp79 - rdm2.voov += tmp80.transpose((3, 0, 1, 2)) * -1 - rdm2.voov += tmp80.transpose((3, 0, 1, 2)) * -1 - rdm2.ovov = tmp80.transpose((0, 3, 1, 2)).copy() - rdm2.ovov += tmp80.transpose((0, 3, 1, 2)) - tmp81 = einsum(l2, (0, 1, 2, 3), tmp9, (2, 4, 0, 5), (4, 3, 5, 1), optimize=True) - rdm2.voov += tmp81.transpose((3, 0, 1, 2)) - rdm2.voov += tmp81.transpose((3, 0, 1, 2)) - rdm2.ovov += tmp81.transpose((0, 3, 1, 2)) * -1 - rdm2.ovov += tmp81.transpose((0, 3, 1, 2)) * -1 - tmp62 = l2.transpose((3, 2, 0, 1)).copy() * -1 - tmp62 += l2.transpose((3, 2, 1, 0)) * 2 - tmp102 = l2.transpose((3, 2, 0, 1)).copy() * 2 - tmp102 += l2.transpose((3, 2, 1, 0)) * -1 - tmp3 = einsum(l2, (0, 1, 2, 3), t2, (4, 5, 1, 0), (2, 3, 5, 4), optimize=True) - rdm2.oooo = tmp3.transpose((3, 2, 1, 0)).copy() - rdm2.oooo += tmp3.transpose((3, 2, 1, 0)) - tmp25 = einsum(tmp4, (0, 1, 2, 3), t2, (4, 0, 3, 5), (1, 2, 4, 5), optimize=True) - rdm2.oovo = tmp25.transpose((2, 1, 3, 0)).copy() - rdm2.oovo += tmp25.transpose((2, 1, 3, 0)) - rdm2.ooov = tmp25.transpose((1, 2, 0, 3)).copy() - rdm2.ooov += tmp25.transpose((1, 2, 0, 3)) - tmp21 = einsum(t2, (0, 1, 2, 3), tmp20, (4, 0, 5, 2), (4, 5, 1, 3), optimize=True) - del tmp20 - tmp5 = einsum(tmp4, (0, 1, 2, 3), t1, (4, 3), (0, 1, 4, 2), optimize=True) - rdm2.oooo += tmp5.transpose((3, 2, 1, 0)) - rdm2.oooo += tmp5.transpose((3, 2, 1, 0)) - tmp54 = l2.transpose((3, 2, 0, 1)).copy() - tmp54 += l2.transpose((3, 2, 1, 0)) * -1 - tmp16 = einsum(l1, (0, 1), t2, (2, 3, 0, 4), (1, 3, 2, 4), optimize=True) - rdm2.oovo += tmp16.transpose((1, 2, 3, 0)) * -1 - rdm2.oovo += tmp16.transpose((1, 2, 3, 0)) * -1 - rdm2.ooov += tmp16.transpose((2, 1, 0, 3)) * -1 - rdm2.ooov += tmp16.transpose((2, 1, 0, 3)) * -1 - tmp19 = einsum(t2, (0, 1, 2, 3), tmp18, (4, 0, 5, 3), (4, 5, 1, 2), optimize=True) - tmp0 = einsum(l1, (0, 1), t1, (2, 0), (1, 2), optimize=True) - rdm2.ooov += einsum(t1, (0, 1), tmp0, (2, 3), (3, 0, 2, 1), optimize=True) * -1 - rdm2.ooov += einsum(tmp0, (0, 1), t1, (2, 3), (2, 1, 0, 3), optimize=True) - rdm2.ooov += einsum(t1, (0, 1), tmp0, (2, 3), (3, 0, 2, 1), optimize=True) * -1 - rdm2.ooov += einsum(tmp0, (0, 1), t1, (2, 3), (2, 1, 0, 3), optimize=True) - rdm2.oooo += einsum(tmp0, (0, 1), delta.oo, (2, 3), (3, 1, 2, 0), optimize=True) * -1 - rdm2.oooo += einsum(tmp0, (0, 1), delta.oo, (2, 3), (1, 3, 2, 0), optimize=True) - rdm2.oooo += einsum(tmp0, (0, 1), delta.oo, (2, 3), (3, 1, 0, 2), optimize=True) - rdm2.oooo += einsum(delta.oo, (0, 1), tmp0, (2, 3), (3, 1, 2, 0), optimize=True) * -1 - rdm2.oooo += einsum(tmp0, (0, 1), delta.oo, (2, 3), (3, 1, 2, 0), optimize=True) * -1 - rdm2.oooo += einsum(tmp0, (0, 1), delta.oo, (2, 3), (3, 1, 2, 0), optimize=True) * -1 - rdm2.oooo += einsum(tmp0, (0, 1), delta.oo, (2, 3), (3, 1, 2, 0), optimize=True) * -1 - rdm2.oooo += einsum(tmp0, (0, 1), delta.oo, (2, 3), (1, 3, 2, 0), optimize=True) - rdm2.oooo += einsum(tmp0, (0, 1), delta.oo, (2, 3), (3, 1, 0, 2), optimize=True) - rdm2.oooo += einsum(delta.oo, (0, 1), tmp0, (2, 3), (3, 1, 2, 0), optimize=True) * -1 - tmp26 = einsum(tmp4, (0, 1, 2, 3), t2, (4, 1, 3, 5), (0, 2, 4, 5), optimize=True) - rdm2.oovo += tmp26.transpose((1, 2, 3, 0)) - rdm2.oovo += tmp26.transpose((1, 2, 3, 0)) - rdm2.ooov += tmp26.transpose((2, 1, 0, 3)) - rdm2.ooov += tmp26.transpose((2, 1, 0, 3)) - tmp12 = tmp4.copy() * 2 - tmp12 += tmp4.transpose((1, 0, 2, 3)) * -1 - tmp2 = einsum(tmp1, (0, 1, 2, 3), l2, (2, 3, 0, 4), (4, 1), optimize=True) * 2 - rdm2.oooo += einsum(tmp2, (0, 1), delta.oo, (2, 3), (2, 1, 3, 0), optimize=True) * -1 - rdm2.oooo += einsum(tmp2, (0, 1), delta.oo, (2, 3), (1, 3, 2, 0), optimize=True) - rdm2.oooo += einsum(tmp2, (0, 1), delta.oo, (2, 3), (2, 1, 0, 3), optimize=True) - rdm2.oooo += einsum(tmp2, (0, 1), delta.oo, (2, 3), (1, 3, 0, 2), optimize=True) * -1 - rdm2.oooo += einsum(tmp2, (0, 1), delta.oo, (2, 3), (2, 1, 3, 0), optimize=True) * -1 - rdm2.oooo += einsum(tmp2, (0, 1), delta.oo, (2, 3), (1, 3, 0, 2), optimize=True) * -1 - rdm2.oooo += einsum(tmp2, (0, 1), delta.oo, (2, 3), (2, 1, 3, 0), optimize=True) * -1 - rdm2.oooo += einsum(tmp2, (0, 1), delta.oo, (2, 3), (1, 3, 0, 2), optimize=True) * -1 - rdm2.oooo += einsum(tmp2, (0, 1), delta.oo, (2, 3), (2, 1, 3, 0), optimize=True) * -1 - rdm2.oooo += einsum(tmp2, (0, 1), delta.oo, (2, 3), (1, 3, 2, 0), optimize=True) - rdm2.oooo += einsum(tmp2, (0, 1), delta.oo, (2, 3), (2, 1, 0, 3), optimize=True) - rdm2.oooo += einsum(tmp2, (0, 1), delta.oo, (2, 3), (1, 3, 0, 2), optimize=True) * -1 - tmp33 = einsum(tmp1, (0, 1, 2, 3), l2, (2, 3, 0, 4), (4, 1), optimize=True) - del tmp1 - tmp112 = einsum(l2, (0, 1, 2, 3), t1, (3, 4), (2, 0, 1, 4), optimize=True) - rdm2.vvvo = tmp112.transpose((2, 1, 3, 0)).copy() - rdm2.vvvo += tmp112.transpose((1, 2, 3, 0)) * -1 - rdm2.vvvo += tmp112.transpose((2, 1, 3, 0)) - rdm2.vvvo += tmp112.transpose((2, 1, 3, 0)) - rdm2.vvvo += tmp112.transpose((2, 1, 3, 0)) - rdm2.vvvo += tmp112.transpose((1, 2, 3, 0)) * -1 - rdm2.vvov = tmp112.transpose((2, 1, 0, 3)).copy() * -1 - rdm2.vvov += tmp112.transpose((1, 2, 0, 3)) - rdm2.vvov += tmp112.transpose((1, 2, 0, 3)) - rdm2.vvov += tmp112.transpose((1, 2, 0, 3)) - rdm2.vvov += tmp112.transpose((2, 1, 0, 3)) * -1 - rdm2.vvov += tmp112.transpose((1, 2, 0, 3)) - tmp67 = einsum(t2, (0, 1, 2, 3), l2, (4, 2, 5, 1), (5, 0, 4, 3), optimize=True) - rdm2.voov += tmp67.transpose((2, 1, 0, 3)) * -1 - rdm2.voov += tmp67.transpose((2, 1, 0, 3)) * -1 - rdm2.ovvo += tmp67.transpose((1, 2, 3, 0)) * -1 - rdm2.ovvo += tmp67.transpose((1, 2, 3, 0)) * -1 - tmp52 = einsum(t2, (0, 1, 2, 3), tmp45, (0, 4, 5, 2), (4, 1, 5, 3), optimize=True) - rdm2.voov += tmp52.transpose((2, 1, 0, 3)) - rdm2.voov += tmp52.transpose((2, 1, 0, 3)) - rdm2.ovvo += tmp52.transpose((1, 2, 3, 0)) - rdm2.ovvo += tmp52.transpose((1, 2, 3, 0)) - tmp106 = tmp87.copy() - tmp106 += tmp80.transpose((1, 0, 3, 2)) - tmp106 += tmp81.transpose((1, 0, 3, 2)) * -1 - tmp83 = einsum(t1, (0, 1), l1, (2, 0), (2, 1), optimize=True) - tmp84 = einsum(t2, (0, 1, 2, 3), tmp62, (0, 1, 4, 3), (4, 2), optimize=True) - tmp95 = tmp81.transpose((1, 0, 3, 2)).copy() - del tmp81 - tmp95 += tmp80.transpose((1, 0, 3, 2)) * -1 - del tmp80 - tmp103 = einsum(t2, (0, 1, 2, 3), tmp102, (0, 4, 5, 2), (4, 1, 5, 3), optimize=True) - del tmp102 - tmp23 = einsum(t1, (0, 1), tmp3, (2, 0, 3, 4), (2, 3, 4, 1), optimize=True) - tmp71 = tmp25.copy() - del tmp25 - tmp71 += tmp21 * -1 - tmp46 = einsum(tmp45, (0, 1, 2, 3), t2, (0, 4, 5, 3), (1, 4, 2, 5), optimize=True) - del tmp45 - tmp6 = tmp3.transpose((1, 0, 3, 2)).copy() - tmp6 += tmp5 - rdm2.oooo += tmp6.transpose((2, 3, 0, 1)) - rdm2.oooo += tmp6.transpose((3, 2, 0, 1)) * -1 - rdm2.oooo += tmp6.transpose((2, 3, 0, 1)) - rdm2.oooo += tmp6.transpose((3, 2, 0, 1)) * -1 - tmp17 = einsum(t1, (0, 1), tmp5, (0, 2, 3, 4), (2, 4, 3, 1), optimize=True) - tmp55 = einsum(tmp54, (0, 1, 2, 3), t2, (0, 4, 5, 3), (1, 4, 2, 5), optimize=True) - rdm2.ovvo += tmp55.transpose((1, 2, 3, 0)) * -1 - rdm2.ovvo += tmp55.transpose((1, 2, 3, 0)) * -1 - tmp48 = tmp16.copy() - tmp48 += tmp19 - tmp48 += tmp21 * -1 - tmp10 = einsum(l1, (0, 1), tmp9, (1, 2, 0, 3), (2, 3), optimize=True) - del tmp9 - rdm2.oovo += einsum(tmp10, (0, 1), delta.oo, (2, 3), (2, 0, 1, 3), optimize=True) * -1 - rdm2.oovo += einsum(tmp10, (0, 1), delta.oo, (2, 3), (0, 3, 1, 2), optimize=True) - rdm2.oovo += einsum(tmp10, (0, 1), delta.oo, (2, 3), (2, 0, 1, 3), optimize=True) * -1 - rdm2.oovo += einsum(tmp10, (0, 1), delta.oo, (2, 3), (0, 3, 1, 2), optimize=True) - tmp8 = einsum(tmp0, (0, 1), t1, (0, 2), (1, 2), optimize=True) - rdm2.oovv = einsum(t1, (0, 1), tmp8, (2, 3), (0, 2, 1, 3), optimize=True) * -1 - rdm2.oovv += einsum(t1, (0, 1), tmp8, (2, 3), (0, 2, 1, 3), optimize=True) * -1 - tmp74 = tmp16.copy() - tmp74 += tmp26 * -1 - del tmp26 - tmp13 = einsum(tmp12, (0, 1, 2, 3), t2, (1, 0, 4, 3), (2, 4), optimize=True) * 0.5 - tmp14 = einsum(t1, (0, 1), tmp2, (0, 2), (2, 1), optimize=True) * 0.5 - tmp63 = einsum(t2, (0, 1, 2, 3), tmp62, (0, 1, 4, 3), (4, 2), optimize=True) * 0.5 - del tmp62 - tmp34 = tmp0.copy() * 0.5 - tmp34 += tmp33 - del tmp33 - tmp31 = t2.transpose((1, 0, 2, 3)).copy() * -1 - tmp31 += t2.transpose((1, 0, 3, 2)) * 2 - tmp114 = einsum(tmp112, (0, 1, 2, 3), t1, (0, 4), (2, 1, 3, 4), optimize=True) - del tmp112 - rdm2.vvvv = tmp114.transpose((1, 0, 3, 2)).copy() - rdm2.vvvv += tmp114.transpose((1, 0, 3, 2)) - tmp113 = einsum(l2, (0, 1, 2, 3), t2, (2, 3, 4, 5), (0, 1, 4, 5), optimize=True) - rdm2.vvvv += tmp113.transpose((1, 0, 3, 2)) - rdm2.vvvv += tmp113.transpose((1, 0, 3, 2)) - tmp69 = einsum(l2, (0, 1, 2, 3), t2, (4, 3, 0, 5), (2, 4, 1, 5), optimize=True) - rdm2.vovo = tmp69.transpose((2, 1, 3, 0)).copy() * -1 - rdm2.vovo += tmp69.transpose((2, 1, 3, 0)) * -1 - rdm2.ovov += tmp69.transpose((1, 2, 0, 3)) * -1 - rdm2.ovov += tmp69.transpose((1, 2, 0, 3)) * -1 - tmp110 = tmp67.copy() - tmp110 += tmp87 - tmp110 += tmp52 * -1 - tmp107 = einsum(t1, (0, 1), tmp106, (0, 2, 3, 4), (2, 3, 4, 1), optimize=True) - del tmp106 - tmp94 = einsum(t2, (0, 1, 2, 3), l1, (4, 1), (0, 4, 2, 3), optimize=True) - rdm2.vovv = tmp94.transpose((1, 0, 3, 2)).copy() - rdm2.vovv += tmp94.transpose((1, 0, 3, 2)) - rdm2.ovvv = tmp94.copy() - rdm2.ovvv += tmp94 - tmp98 = einsum(tmp4, (0, 1, 2, 3), t2, (0, 1, 4, 5), (2, 3, 4, 5), optimize=True) - rdm2.vovv += tmp98.transpose((1, 0, 2, 3)) * -1 - rdm2.vovv += tmp98.transpose((1, 0, 2, 3)) * -1 - rdm2.ovvv += tmp98.transpose((0, 1, 3, 2)) * -1 - rdm2.ovvv += tmp98.transpose((0, 1, 3, 2)) * -1 - tmp85 = tmp83.copy() - tmp85 += tmp84 - del tmp84 - rdm2.vovv += einsum(t1, (0, 1), tmp85, (2, 3), (2, 0, 3, 1), optimize=True) - rdm2.vovv += einsum(t1, (0, 1), tmp85, (2, 3), (2, 0, 3, 1), optimize=True) - rdm2.voov += einsum(delta.oo, (0, 1), tmp85, (2, 3), (2, 1, 0, 3), optimize=True) * -1 - rdm2.voov += einsum(delta.oo, (0, 1), tmp85, (2, 3), (2, 1, 0, 3), optimize=True) * -1 - rdm2.ovvo += einsum(delta.oo, (0, 1), tmp85, (2, 3), (1, 2, 3, 0), optimize=True) * -1 - rdm2.ovvo += einsum(delta.oo, (0, 1), tmp85, (2, 3), (1, 2, 3, 0), optimize=True) * -1 - rdm2.ovov += einsum(delta.oo, (0, 1), tmp85, (2, 3), (1, 2, 0, 3), optimize=True) - rdm2.ovov += einsum(delta.oo, (0, 1), tmp85, (2, 3), (1, 2, 0, 3), optimize=True) - rdm2.ovov += einsum(delta.oo, (0, 1), tmp85, (2, 3), (1, 2, 0, 3), optimize=True) - rdm2.ovov += einsum(delta.oo, (0, 1), tmp85, (2, 3), (1, 2, 0, 3), optimize=True) - tmp96 = einsum(tmp95, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4), optimize=True) - del tmp95 - tmp104 = tmp67.copy() - tmp104 += tmp87 - tmp104 += tmp103 * -1 - del tmp103 - tmp90 = tmp4.copy() - tmp90 += tmp4.transpose((1, 0, 2, 3)) * -1 - tmp88 = l2.transpose((3, 2, 0, 1)).copy() * -1 - tmp88 += l2.transpose((3, 2, 1, 0)) * 2 - tmp60 = einsum(tmp23, (0, 1, 2, 3), t1, (0, 4), (1, 2, 4, 3), optimize=True) - tmp58 = einsum(t2, (0, 1, 2, 3), tmp3, (0, 1, 4, 5), (4, 5, 2, 3), optimize=True) - del tmp3 - rdm2.oovv += tmp58 - rdm2.oovv += tmp58 - tmp59 = einsum(tmp5, (0, 1, 2, 3), t2, (1, 0, 4, 5), (2, 3, 5, 4), optimize=True) - del tmp5 - rdm2.oovv += tmp59 - rdm2.oovv += tmp59 - tmp72 = einsum(t1, (0, 1), tmp71, (0, 2, 3, 4), (2, 3, 4, 1), optimize=True) - del tmp71 - tmp47 = einsum(t2, (0, 1, 2, 3), tmp46, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) - del tmp46 - tmp29 = einsum(t1, (0, 1), tmp6, (0, 2, 3, 4), (2, 3, 4, 1), optimize=True) - del tmp6 - rdm2.oovo += tmp29.transpose((1, 2, 3, 0)) - rdm2.oovo += tmp29.transpose((1, 2, 3, 0)) - rdm2.ooov += tmp29.transpose((2, 1, 0, 3)) - rdm2.ooov += tmp29.transpose((2, 1, 0, 3)) - tmp51 = einsum(tmp17, (0, 1, 2, 3), t1, (0, 4), (1, 2, 4, 3), optimize=True) - tmp56 = einsum(tmp55, (0, 1, 2, 3), t2, (0, 4, 5, 2), (1, 4, 3, 5), optimize=True) - del tmp55 - tmp53 = einsum(tmp52, (0, 1, 2, 3), t2, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) - del tmp52 - rdm2.oovv += tmp53 * 2 - rdm2.oovv += tmp53 * 2 - tmp49 = einsum(tmp48, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4), optimize=True) - del tmp48 - tmp11 = tmp8.copy() - tmp11 += tmp10 * -1 - rdm2.ooov += einsum(tmp11, (0, 1), delta.oo, (2, 3), (2, 0, 3, 1), optimize=True) * -1 - rdm2.ooov += einsum(tmp11, (0, 1), delta.oo, (2, 3), (0, 3, 2, 1), optimize=True) - rdm2.ooov += einsum(tmp11, (0, 1), delta.oo, (2, 3), (2, 0, 3, 1), optimize=True) * -1 - rdm2.ooov += einsum(tmp11, (0, 1), delta.oo, (2, 3), (0, 3, 2, 1), optimize=True) - tmp44 = einsum(t2, (0, 1, 2, 3), tmp0, (1, 4), (4, 0, 2, 3), optimize=True) - tmp75 = einsum(t1, (0, 1), tmp74, (0, 2, 3, 4), (2, 3, 4, 1), optimize=True) - del tmp74 - tmp15 = tmp13.copy() - tmp15 += tmp14 - del tmp14 - rdm2.ooov += einsum(tmp15, (0, 1), delta.oo, (2, 3), (2, 0, 3, 1), optimize=True) * -2 - rdm2.ooov += einsum(tmp15, (0, 1), delta.oo, (2, 3), (0, 3, 2, 1), optimize=True) * 2 - rdm2.ooov += einsum(tmp15, (0, 1), delta.oo, (2, 3), (2, 0, 3, 1), optimize=True) * -2 - rdm2.ooov += einsum(tmp15, (0, 1), delta.oo, (2, 3), (0, 3, 2, 1), optimize=True) * 2 - tmp65 = einsum(t2, (0, 1, 2, 3), tmp2, (0, 4), (1, 4, 2, 3), optimize=True) - tmp64 = einsum(t2, (0, 1, 2, 3), tmp63, (2, 4), (0, 1, 4, 3), optimize=True) * 2 - tmp30 = einsum(tmp12, (0, 1, 2, 3), t2, (1, 0, 4, 3), (2, 4), optimize=True) - del tmp12 - tmp35 = einsum(tmp34, (0, 1), t1, (0, 2), (1, 2), optimize=True) * 2 - tmp27 = tmp4.copy() * 2 - tmp27 += tmp4.transpose((1, 0, 2, 3)) * -1 - tmp42 = einsum(tmp34, (0, 1), t1, (0, 2), (1, 2), optimize=True) - del tmp34 - tmp41 = einsum(tmp31, (0, 1, 2, 3), l1, (2, 0), (1, 3), optimize=True) * 0.5 - tmp32 = einsum(tmp31, (0, 1, 2, 3), l1, (2, 0), (1, 3), optimize=True) - del tmp31 - tmp115 = tmp113.transpose((1, 0, 3, 2)).copy() - del tmp113 - tmp115 += tmp114.transpose((1, 0, 3, 2)) - del tmp114 - rdm2.vvvv += tmp115 - rdm2.vvvv += tmp115.transpose((0, 1, 3, 2)) * -1 - rdm2.vvvv += tmp115 - rdm2.vvvv += tmp115.transpose((0, 1, 3, 2)) * -1 - del tmp115 - tmp101 = einsum(tmp69, (0, 1, 2, 3), t1, (0, 4), (1, 2, 4, 3), optimize=True) - rdm2.vovv += tmp101.transpose((1, 0, 3, 2)) * -1 - rdm2.vovv += tmp101.transpose((1, 0, 3, 2)) * -1 - rdm2.ovvv += tmp101 * -1 - rdm2.ovvv += tmp101 * -1 - del tmp101 - tmp111 = einsum(tmp110, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4), optimize=True) - del tmp110 - rdm2.vovv += tmp111.transpose((1, 0, 3, 2)) * -1 - rdm2.vovv += tmp111.transpose((1, 0, 3, 2)) * -1 - del tmp111 - tmp108 = tmp94.copy() - tmp108 += tmp107.transpose((0, 1, 3, 2)) - del tmp107 - rdm2.vovv += tmp108.transpose((1, 0, 3, 2)) - rdm2.vovv += tmp108.transpose((1, 0, 2, 3)) * -1 - rdm2.vovv += tmp108.transpose((1, 0, 3, 2)) - rdm2.vovv += tmp108.transpose((1, 0, 2, 3)) * -1 - del tmp108 - tmp109 = tmp98.copy() - tmp109 += einsum(t1, (0, 1), tmp85, (2, 3), (0, 2, 1, 3), optimize=True) - del tmp85 - rdm2.vovv += tmp109.transpose((1, 0, 3, 2)) - rdm2.vovv += tmp109.transpose((1, 0, 2, 3)) * -1 - rdm2.vovv += tmp109.transpose((1, 0, 3, 2)) - rdm2.vovv += tmp109.transpose((1, 0, 2, 3)) * -1 - del tmp109 - tmp97 = tmp94.copy() - del tmp94 - tmp97 += einsum(t1, (0, 1), tmp83, (2, 3), (0, 2, 1, 3), optimize=True) - tmp97 += tmp96.transpose((0, 1, 3, 2)) * -1 - del tmp96 - rdm2.ovvv += tmp97.transpose((0, 1, 3, 2)) * -1 - rdm2.ovvv += tmp97 - rdm2.ovvv += tmp97.transpose((0, 1, 3, 2)) * -1 - rdm2.ovvv += tmp97 - del tmp97 - tmp93 = tmp83.copy() * 0.5 - del tmp83 - tmp93 += tmp63 - rdm2.ovvv += einsum(t1, (0, 1), tmp93, (2, 3), (0, 2, 1, 3), optimize=True) * 2 - rdm2.ovvv += einsum(t1, (0, 1), tmp93, (2, 3), (0, 2, 1, 3), optimize=True) * 2 - rdm2.vovo += einsum(delta.oo, (0, 1), tmp93, (2, 3), (2, 1, 3, 0), optimize=True) * 2 - rdm2.vovo += einsum(delta.oo, (0, 1), tmp93, (2, 3), (2, 1, 3, 0), optimize=True) * 2 - rdm2.vovo += einsum(delta.oo, (0, 1), tmp93, (2, 3), (2, 1, 3, 0), optimize=True) * 2 - rdm2.vovo += einsum(delta.oo, (0, 1), tmp93, (2, 3), (2, 1, 3, 0), optimize=True) * 2 - del tmp93 - tmp99 = tmp98.copy() - del tmp98 - tmp99 += einsum(t1, (0, 1), tmp63, (2, 3), (0, 2, 1, 3), optimize=True) * 2 - del tmp63 - rdm2.ovvv += tmp99.transpose((0, 1, 3, 2)) * -1 - rdm2.ovvv += tmp99 - rdm2.ovvv += tmp99.transpose((0, 1, 3, 2)) * -1 - rdm2.ovvv += tmp99 - del tmp99 - tmp105 = einsum(tmp104, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4), optimize=True) - del tmp104 - rdm2.ovvv += tmp105 * -1 - rdm2.ovvv += tmp105 * -1 - del tmp105 - tmp100 = einsum(tmp87, (0, 1, 2, 3), t1, (0, 4), (1, 2, 4, 3), optimize=True) - del tmp87 - rdm2.ovvv += tmp100.transpose((0, 1, 3, 2)) * -1 - rdm2.ovvv += tmp100 - rdm2.ovvv += tmp100.transpose((0, 1, 3, 2)) * -1 - rdm2.ovvv += tmp100 - del tmp100 - tmp92 = einsum(tmp54, (0, 1, 2, 3), t2, (0, 4, 5, 2), (1, 4, 3, 5), optimize=True) - del tmp54 - rdm2.vovo += tmp92.transpose((2, 1, 3, 0)) * -1 - rdm2.vovo += tmp92.transpose((2, 1, 3, 0)) * -1 - del tmp92 - tmp91 = einsum(tmp90, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4), optimize=True) - del tmp90 - rdm2.vovo += tmp91.transpose((2, 1, 3, 0)) * -1 - rdm2.vovo += tmp91.transpose((2, 1, 3, 0)) * -1 - rdm2.voov += tmp91.transpose((2, 1, 0, 3)) - rdm2.voov += tmp91.transpose((2, 1, 0, 3)) - del tmp91 - tmp86 = einsum(t1, (0, 1), tmp4, (0, 2, 3, 4), (2, 3, 4, 1), optimize=True) - del tmp4 - rdm2.vovo += tmp86.transpose((2, 1, 3, 0)) * -1 - rdm2.vovo += tmp86.transpose((2, 1, 3, 0)) * -1 - rdm2.ovov += tmp86.transpose((1, 2, 0, 3)) * -1 - rdm2.ovov += tmp86.transpose((1, 2, 0, 3)) * -1 - del tmp86 - tmp89 = einsum(t2, (0, 1, 2, 3), tmp88, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) - del tmp88 - rdm2.vovo += tmp89.transpose((2, 1, 3, 0)) * -1 - rdm2.vovo += tmp89.transpose((2, 1, 3, 0)) * -1 - rdm2.ovvo += tmp89.transpose((1, 2, 3, 0)) - rdm2.ovvo += tmp89.transpose((1, 2, 3, 0)) - del tmp89 - tmp82 = einsum(t1, (0, 1), tmp18, (0, 2, 3, 4), (2, 3, 4, 1), optimize=True) - del tmp18 - rdm2.ovvo += tmp82.transpose((1, 2, 3, 0)) * -1 - rdm2.ovvo += tmp82.transpose((1, 2, 3, 0)) * -1 - rdm2.ovov += tmp82.transpose((1, 2, 0, 3)) - rdm2.ovov += tmp82.transpose((1, 2, 0, 3)) - del tmp82 - tmp61 = tmp58.copy() - del tmp58 - tmp61 += tmp59 - del tmp59 - tmp61 += tmp60 - del tmp60 - rdm2.oovv += tmp61.transpose((0, 1, 3, 2)) * -1 - rdm2.oovv += tmp61 - rdm2.oovv += tmp61.transpose((0, 1, 3, 2)) * -1 - rdm2.oovv += tmp61 - del tmp61 - tmp73 = tmp47.transpose((1, 0, 3, 2)).copy() * -1 - tmp73 += tmp72.transpose((0, 1, 3, 2)) - del tmp72 - tmp73 += einsum(t1, (0, 1), tmp10, (2, 3), (0, 2, 1, 3), optimize=True) - del tmp10 - rdm2.oovv += tmp73.transpose((1, 0, 3, 2)) - rdm2.oovv += tmp73 - rdm2.oovv += tmp73.transpose((1, 0, 3, 2)) - rdm2.oovv += tmp73 - del tmp73 - tmp68 = einsum(t2, (0, 1, 2, 3), tmp67, (1, 4, 2, 5), (0, 4, 3, 5), optimize=True) - del tmp67 - rdm2.oovv += tmp68 - rdm2.oovv += tmp68 - del tmp68 - tmp70 = einsum(t2, (0, 1, 2, 3), tmp69, (1, 4, 2, 5), (0, 4, 3, 5), optimize=True) - del tmp69 - rdm2.oovv += tmp70.transpose((0, 1, 3, 2)) - rdm2.oovv += tmp70.transpose((0, 1, 3, 2)) - del tmp70 - tmp77 = einsum(t1, (0, 1), tmp29, (0, 2, 3, 4), (3, 2, 4, 1), optimize=True) - rdm2.oovv += tmp77.transpose((0, 1, 3, 2)) - rdm2.oovv += tmp77.transpose((0, 1, 3, 2)) - del tmp77 - tmp57 = tmp51.copy() - del tmp51 - tmp57 += tmp53.transpose((1, 0, 3, 2)) * 2 - del tmp53 - tmp57 += tmp56 - del tmp56 - rdm2.oovv += tmp57.transpose((0, 1, 3, 2)) * -1 - rdm2.oovv += tmp57 - rdm2.oovv += tmp57.transpose((0, 1, 3, 2)) * -1 - rdm2.oovv += tmp57 - del tmp57 - tmp50 = tmp44.copy() - tmp50 += tmp47.transpose((1, 0, 3, 2)) * -1 - del tmp47 - tmp50 += tmp49.transpose((0, 1, 3, 2)) - del tmp49 - tmp50 += einsum(tmp11, (0, 1), t1, (2, 3), (2, 0, 3, 1), optimize=True) * -1 - del tmp11 - rdm2.oovv += tmp50.transpose((1, 0, 3, 2)) - rdm2.oovv += tmp50.transpose((1, 0, 2, 3)) * -1 - rdm2.oovv += tmp50.transpose((0, 1, 3, 2)) * -1 - rdm2.oovv += tmp50 - rdm2.oovv += tmp50.transpose((1, 0, 3, 2)) - rdm2.oovv += tmp50.transpose((1, 0, 2, 3)) * -1 - rdm2.oovv += tmp50.transpose((0, 1, 3, 2)) * -1 - rdm2.oovv += tmp50 - del tmp50 - tmp78 = t1.copy() - tmp78 += tmp8 * -1 - del tmp8 - rdm2.oovv += einsum(t1, (0, 1), tmp78, (2, 3), (2, 0, 3, 1), optimize=True) - rdm2.oovv += einsum(t1, (0, 1), tmp78, (2, 3), (2, 0, 3, 1), optimize=True) - del tmp78 - tmp76 = tmp44.copy() - del tmp44 - tmp76 += tmp75.transpose((0, 1, 3, 2)) - del tmp75 - rdm2.oovv += tmp76.transpose((1, 0, 2, 3)) * -1 - rdm2.oovv += tmp76.transpose((0, 1, 3, 2)) * -1 - rdm2.oovv += tmp76.transpose((1, 0, 2, 3)) * -1 - rdm2.oovv += tmp76.transpose((0, 1, 3, 2)) * -1 - del tmp76 - tmp66 = tmp64.transpose((1, 0, 3, 2)).copy() - del tmp64 - tmp66 += tmp65.transpose((0, 1, 3, 2)) - del tmp65 - tmp66 += einsum(t1, (0, 1), tmp15, (2, 3), (0, 2, 1, 3), optimize=True) * 2 - del tmp15 - rdm2.oovv += tmp66.transpose((1, 0, 3, 2)) * -1 - rdm2.oovv += tmp66.transpose((1, 0, 2, 3)) - rdm2.oovv += tmp66.transpose((0, 1, 3, 2)) - rdm2.oovv += tmp66 * -1 - rdm2.oovv += tmp66.transpose((1, 0, 3, 2)) * -1 - rdm2.oovv += tmp66 * -1 - rdm2.oovv += tmp66.transpose((1, 0, 3, 2)) * -1 - rdm2.oovv += tmp66 * -1 - rdm2.oovv += tmp66.transpose((1, 0, 3, 2)) * -1 - rdm2.oovv += tmp66.transpose((1, 0, 2, 3)) - rdm2.oovv += tmp66.transpose((0, 1, 3, 2)) - rdm2.oovv += tmp66 * -1 - del tmp66 - tmp39 = einsum(tmp0, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) - tmp39 += tmp19 - tmp39 += tmp21 * -1 - rdm2.oovo += tmp39.transpose((2, 1, 3, 0)) - rdm2.oovo += tmp39.transpose((1, 2, 3, 0)) * -1 - rdm2.oovo += tmp39.transpose((2, 1, 3, 0)) - rdm2.oovo += tmp39.transpose((1, 2, 3, 0)) * -1 - del tmp39 - tmp38 = tmp30.copy() - tmp38 += tmp35 - rdm2.oovo += einsum(tmp38, (0, 1), delta.oo, (2, 3), (2, 0, 1, 3), optimize=True) - rdm2.oovo += einsum(tmp38, (0, 1), delta.oo, (2, 3), (0, 3, 1, 2), optimize=True) * -1 - rdm2.oovo += einsum(tmp38, (0, 1), delta.oo, (2, 3), (2, 0, 1, 3), optimize=True) - rdm2.oovo += einsum(tmp38, (0, 1), delta.oo, (2, 3), (0, 3, 1, 2), optimize=True) * -1 - del tmp38 - tmp28 = einsum(t2, (0, 1, 2, 3), tmp27, (0, 4, 5, 2), (4, 5, 1, 3), optimize=True) - del tmp27 - rdm2.oovo += tmp28.transpose((2, 1, 3, 0)) * -1 - rdm2.oovo += tmp28.transpose((2, 1, 3, 0)) * -1 - rdm2.ooov += tmp28.transpose((1, 2, 0, 3)) * -1 - rdm2.ooov += tmp28.transpose((1, 2, 0, 3)) * -1 - del tmp28 - tmp43 = t1.copy() * -0.5 - tmp43 += tmp13 - del tmp13 - tmp43 += tmp41 * -1 - del tmp41 - tmp43 += tmp42 - del tmp42 - rdm2.oovo += einsum(tmp43, (0, 1), delta.oo, (2, 3), (0, 3, 1, 2), optimize=True) * -2 - rdm2.oovo += einsum(tmp43, (0, 1), delta.oo, (2, 3), (0, 3, 1, 2), optimize=True) * -2 - del tmp43 - tmp40 = tmp16.copy() - tmp40 += tmp29.transpose((0, 2, 1, 3)) - del tmp29 - tmp40 += einsum(tmp2, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) - rdm2.oovo += tmp40.transpose((2, 1, 3, 0)) - rdm2.oovo += tmp40.transpose((1, 2, 3, 0)) * -1 - rdm2.oovo += tmp40.transpose((2, 1, 3, 0)) - rdm2.oovo += tmp40.transpose((1, 2, 3, 0)) * -1 - del tmp40 - tmp37 = tmp0.copy() - tmp37 += tmp2 - rdm2.oovo += einsum(t1, (0, 1), tmp37, (2, 3), (0, 3, 1, 2), optimize=True) * -1 - rdm2.oovo += einsum(t1, (0, 1), tmp37, (2, 3), (0, 3, 1, 2), optimize=True) * -1 - rdm2.ooov += einsum(tmp37, (0, 1), t1, (2, 3), (1, 2, 0, 3), optimize=True) * -1 - rdm2.ooov += einsum(tmp37, (0, 1), t1, (2, 3), (1, 2, 0, 3), optimize=True) * -1 - del tmp37 - tmp36 = t1.copy() * -1 - tmp36 += tmp30 - del tmp30 - tmp36 += tmp32 * -1 - del tmp32 - tmp36 += tmp35 - del tmp35 - rdm2.ooov += einsum(tmp36, (0, 1), delta.oo, (2, 3), (3, 0, 2, 1), optimize=True) * -1 - rdm2.ooov += einsum(tmp36, (0, 1), delta.oo, (2, 3), (3, 0, 2, 1), optimize=True) * -1 - del tmp36 - tmp22 = tmp16.copy() - del tmp16 - tmp22 += tmp17 - del tmp17 - tmp22 += tmp19 - del tmp19 - tmp22 += tmp21 * -1 - del tmp21 - rdm2.ooov += tmp22.transpose((2, 1, 0, 3)) * -1 - rdm2.ooov += tmp22.transpose((1, 2, 0, 3)) - rdm2.ooov += tmp22.transpose((2, 1, 0, 3)) * -1 - rdm2.ooov += tmp22.transpose((1, 2, 0, 3)) - del tmp22 - tmp24 = tmp23.copy() - del tmp23 - tmp24 += einsum(tmp2, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) - del tmp2 - rdm2.ooov += tmp24.transpose((2, 1, 0, 3)) * -1 - rdm2.ooov += tmp24.transpose((1, 2, 0, 3)) - rdm2.ooov += tmp24.transpose((2, 1, 0, 3)) * -1 - rdm2.ooov += tmp24.transpose((1, 2, 0, 3)) - del tmp24 - tmp7 = delta.oo.transpose((1, 0)).copy() - tmp7 += tmp0 * -1 - del tmp0 - rdm2.oooo += einsum(delta.oo, (0, 1), tmp7, (2, 3), (3, 1, 2, 0), optimize=True) - rdm2.oooo += einsum(delta.oo, (0, 1), tmp7, (2, 3), (3, 1, 2, 0), optimize=True) - del tmp7 - rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (3, 1, 2, 0), optimize=True) - rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (1, 2, 3, 0), optimize=True) * -1 - rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (3, 1, 2, 0), optimize=True) - rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (1, 2, 3, 0), optimize=True) * -1 - rdm2.ooov += einsum(t1, (0, 1), delta.oo, (2, 3), (0, 3, 2, 1), optimize=True) * -1 - rdm2.ooov += einsum(delta.oo, (0, 1), t1, (2, 3), (1, 2, 0, 3), optimize=True) - rdm2.ooov += einsum(t1, (0, 1), delta.oo, (2, 3), (0, 3, 2, 1), optimize=True) * -1 - rdm2.ooov += einsum(delta.oo, (0, 1), t1, (2, 3), (1, 2, 0, 3), optimize=True) - rdm2.oovo += einsum(t1, (0, 1), delta.oo, (2, 3), (0, 3, 1, 2), optimize=True) - rdm2.oovo += einsum(delta.oo, (0, 1), t1, (2, 3), (1, 2, 3, 0), optimize=True) * -1 - rdm2.oovo += einsum(t1, (0, 1), delta.oo, (2, 3), (0, 3, 1, 2), optimize=True) - rdm2.oovo += einsum(delta.oo, (0, 1), t1, (2, 3), (1, 2, 3, 0), optimize=True) * -1 - rdm2.ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (1, 2, 3, 0), optimize=True) * -1 - rdm2.ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (1, 2, 0, 3), optimize=True) - rdm2.ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (1, 2, 0, 3), optimize=True) - rdm2.ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (1, 2, 0, 3), optimize=True) - rdm2.ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (1, 2, 3, 0), optimize=True) * -1 - rdm2.ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (1, 2, 0, 3), optimize=True) - rdm2.vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 1, 3, 0), optimize=True) - rdm2.vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 1, 0, 3), optimize=True) * -1 - rdm2.vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 1, 3, 0), optimize=True) - rdm2.vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 1, 3, 0), optimize=True) - rdm2.vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 1, 3, 0), optimize=True) - rdm2.vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 1, 0, 3), optimize=True) * -1 - del delta - rdm2.oovv += t2.transpose((1, 0, 2, 3)) * -1 - rdm2.oovv += t2.transpose((1, 0, 3, 2)) - rdm2.oovv += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 3, 1), optimize=True) * -1 - rdm2.oovv += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) - rdm2.oovv += t2.transpose((1, 0, 3, 2)) - rdm2.oovv += t2.transpose((1, 0, 3, 2)) - rdm2.oovv += t2.transpose((1, 0, 2, 3)) * -1 - rdm2.oovv += t2.transpose((1, 0, 3, 2)) - rdm2.oovv += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 3, 1), optimize=True) * -1 - rdm2.oovv += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3), optimize=True) - rdm2.ovov += einsum(t1, (0, 1), l1, (2, 3), (0, 2, 3, 1), optimize=True) * -1 - rdm2.ovov += einsum(t1, (0, 1), l1, (2, 3), (0, 2, 3, 1), optimize=True) * -1 - rdm2.ovvo += einsum(t1, (0, 1), l1, (2, 3), (0, 2, 1, 3), optimize=True) - rdm2.ovvo += einsum(t1, (0, 1), l1, (2, 3), (0, 2, 1, 3), optimize=True) - rdm2.ovvo += einsum(t1, (0, 1), l1, (2, 3), (0, 2, 1, 3), optimize=True) - rdm2.ovvo += einsum(t1, (0, 1), l1, (2, 3), (0, 2, 1, 3), optimize=True) - rdm2.voov += einsum(t1, (0, 1), l1, (2, 3), (2, 0, 3, 1), optimize=True) - rdm2.voov += einsum(t1, (0, 1), l1, (2, 3), (2, 0, 3, 1), optimize=True) - rdm2.voov += einsum(t1, (0, 1), l1, (2, 3), (2, 0, 3, 1), optimize=True) - rdm2.voov += einsum(t1, (0, 1), l1, (2, 3), (2, 0, 3, 1), optimize=True) - rdm2.vovo += einsum(t1, (0, 1), l1, (2, 3), (2, 0, 1, 3), optimize=True) * -1 - rdm2.vovo += einsum(t1, (0, 1), l1, (2, 3), (2, 0, 1, 3), optimize=True) * -1 - rdm2.vvoo = l2.transpose((0, 1, 3, 2)).copy() * -1 - rdm2.vvoo += l2.transpose((1, 0, 3, 2)) - rdm2.vvoo += l2.transpose((1, 0, 3, 2)) - rdm2.vvoo += l2.transpose((1, 0, 3, 2)) - rdm2.vvoo += l2.transpose((0, 1, 3, 2)) * -1 - rdm2.vvoo += l2.transpose((1, 0, 3, 2)) - rdm2 = pack_2e(rdm2.oooo, rdm2.ooov, rdm2.oovo, rdm2.ovoo, rdm2.vooo, rdm2.oovv, rdm2.ovov, rdm2.ovvo, rdm2.voov, rdm2.vovo, rdm2.vvoo, rdm2.ovvv, rdm2.vovv, rdm2.vvov, rdm2.vvvo, rdm2.vvvv) - rdm2 = rdm2.swapaxes(1, 2) - - return rdm2 - diff --git a/ebcc/codegen/RMP2.py b/ebcc/codegen/RMP2.py deleted file mode 100644 index e2da67a1..00000000 --- a/ebcc/codegen/RMP2.py +++ /dev/null @@ -1,39 +0,0 @@ -""" -Code generated by `albert`: -https://github.com/obackhouse/albert - - * date: 2024-07-18T09:27:14.960165 - * python version: 3.10.12 (main, Mar 22 2024, 16:50:05) [GCC 11.4.0] - * albert version: 0.0.0 - * caller: /home/ollie/git/albert/albert/codegen/einsum.py - * node: ollie-desktop - * system: Linux - * processor: x86_64 - * release: 6.5.0-44-generic -""" - -from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, direct_sum, Namespace - - -def energy(t2=None, v=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-07-18T09:27:15.109289. - - Parameters - ---------- - t2 : array - T2 amplitudes. - v : array - Electron repulsion integrals. - - Returns - ------- - e_mp : array - """ - - e_mp = einsum(t2, (0, 1, 2, 3), v.ovov, (0, 2, 1, 3), (), optimize=True) * 2 - e_mp += einsum(t2, (0, 1, 2, 3), v.ovov, (0, 3, 1, 2), (), optimize=True) * -1 - - return e_mp - diff --git a/ebcc/codegen/RMP3.py b/ebcc/codegen/RMP3.py deleted file mode 100644 index 2f8a85e4..00000000 --- a/ebcc/codegen/RMP3.py +++ /dev/null @@ -1,65 +0,0 @@ -""" -Code generated by `albert`: -https://github.com/obackhouse/albert - - * date: 2024-07-18T09:27:17.240842 - * python version: 3.10.12 (main, Mar 22 2024, 16:50:05) [GCC 11.4.0] - * albert version: 0.0.0 - * caller: /home/ollie/git/albert/albert/codegen/einsum.py - * node: ollie-desktop - * system: Linux - * processor: x86_64 - * release: 6.5.0-44-generic -""" - -from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, direct_sum, Namespace - - -def energy(t2=None, v=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-07-18T09:27:19.628209. - - Parameters - ---------- - t2 : array - T2 amplitudes. - v : array - Electron repulsion integrals. - - Returns - ------- - e_mp : array - """ - - tmp3 = einsum(v.vvvv, (0, 1, 2, 3), t2, (4, 5, 3, 1), (4, 5, 2, 0), optimize=True) - tmp1 = t2.transpose((1, 0, 2, 3)).copy() - tmp1 += t2.transpose((1, 0, 3, 2)) * -1 - tmp4 = v.ovov.transpose((2, 0, 3, 1)).copy() * 0.5 - tmp4 += tmp3.transpose((1, 0, 3, 2)) * 0.5 - del tmp3 - tmp8 = einsum(t2, (0, 1, 2, 3), t2, (4, 5, 3, 2), (4, 1, 0, 5), optimize=True) - tmp7 = v.ovov.transpose((2, 0, 3, 1)).copy() * -1 - tmp7 += v.oovv.transpose((1, 0, 3, 2)) * 2 - tmp0 = v.ovov.transpose((2, 0, 3, 1)).copy() * 2 - tmp0 += v.oovv.transpose((1, 0, 3, 2)) * -1 - tmp2 = einsum(tmp1, (0, 1, 2, 3), t2, (0, 4, 3, 5), (1, 4, 2, 5), optimize=True) - del tmp1 - e_mp = einsum(tmp2, (0, 1, 2, 3), tmp0, (0, 1, 2, 3), (), optimize=True) * 4 - del tmp2, tmp0 - tmp5 = tmp4.transpose((0, 1, 3, 2)).copy() * -1 - tmp5 += tmp4 * 2 - del tmp4 - e_mp += einsum(tmp5, (0, 1, 2, 3), t2, (0, 1, 2, 3), (), optimize=True) * 2 - del tmp5 - tmp6 = einsum(t2, (0, 1, 2, 3), t2, (4, 1, 2, 5), (0, 4, 3, 5), optimize=True) - e_mp += einsum(tmp7, (0, 1, 2, 3), tmp6, (0, 1, 2, 3), (), optimize=True) * -2 - del tmp7, tmp6 - tmp9 = tmp8.transpose((3, 1, 2, 0)).copy() * -0.5 - tmp9 += tmp8.transpose((3, 2, 1, 0)) - del tmp8 - e_mp += einsum(tmp9, (0, 1, 2, 3), v.oooo, (0, 1, 3, 2), (), optimize=True) * 2 - del tmp9 - - return e_mp - diff --git a/ebcc/codegen/RQCISD.py b/ebcc/codegen/RQCISD.py deleted file mode 100644 index 1dcd2a35..00000000 --- a/ebcc/codegen/RQCISD.py +++ /dev/null @@ -1,167 +0,0 @@ -""" -Code generated by `albert`: -https://github.com/obackhouse/albert - - * date: 2024-07-18T10:18:02.485159 - * python version: 3.10.12 (main, Mar 22 2024, 16:50:05) [GCC 11.4.0] - * albert version: 0.0.0 - * caller: /home/ollie/git/albert/albert/codegen/einsum.py - * node: ollie-desktop - * system: Linux - * processor: x86_64 - * release: 6.5.0-44-generic -""" - -from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, direct_sum, Namespace - - -def energy(t2=None, v=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-07-18T10:18:02.647075. - - Parameters - ---------- - t2 : array - T2 amplitudes. - v : array - Electron repulsion integrals. - - Returns - ------- - e_cc : float - Coupled cluster energy. - """ - - e_cc = einsum(v.ovov, (0, 1, 2, 3), t2, (0, 2, 1, 3), (), optimize=True) * 2 - e_cc += einsum(v.ovov, (0, 1, 2, 3), t2, (0, 2, 3, 1), (), optimize=True) * -1 - - return e_cc - -def update_amps(f=None, t1=None, t2=None, v=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-07-18T10:18:06.300305. - - Parameters - ---------- - f : array - Fock matrix. - t1 : array - T1 amplitudes. - t2 : array - T2 amplitudes. - v : array - Electron repulsion integrals. - - Returns - ------- - t1new : array - Updated T1 residuals. - t2new : array - Updated T2 residuals. - """ - - tmp14 = v.ovov.transpose((2, 0, 1, 3)).copy() * -1 - tmp14 += v.ovov.transpose((2, 0, 3, 1)) * 2 - tmp18 = v.ovov.transpose((2, 0, 1, 3)).copy() - tmp18 += v.ovov.transpose((2, 0, 3, 1)) * -0.5 - tmp15 = einsum(tmp14, (0, 1, 2, 3), t2, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) - del tmp14 - tmp21 = einsum(tmp18, (0, 1, 2, 3), t2, (0, 4, 3, 2), (4, 1), optimize=True) * 2 - tmp19 = einsum(t2, (0, 1, 2, 3), tmp18, (0, 1, 3, 4), (2, 4), optimize=True) - del tmp18 - tmp16 = einsum(tmp15, (0, 1, 2, 3), t2, (1, 4, 5, 3), (4, 0, 5, 2), optimize=True) - tmp13 = einsum(t1, (0, 1), v.ooov, (2, 0, 3, 4), (2, 3, 1, 4), optimize=True) - tmp9 = einsum(t2, (0, 1, 2, 3), v.ovov, (1, 2, 4, 5), (0, 4, 3, 5), optimize=True) - t2new = tmp9.transpose((1, 0, 3, 2)).copy() * -1 - tmp11 = einsum(t1, (0, 1), v.ovvv, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) - tmp10 = einsum(t2, (0, 1, 2, 3), f.vv, (4, 3), (0, 1, 4, 2), optimize=True) - tmp22 = einsum(t2, (0, 1, 2, 3), tmp21, (4, 0), (1, 4, 2, 3), optimize=True) - del tmp21 - tmp20 = einsum(tmp19, (0, 1), t2, (2, 3, 1, 4), (2, 3, 4, 0), optimize=True) * 2 - del tmp19 - tmp1 = einsum(t1, (0, 1), v.ovov, (2, 3, 4, 1), (0, 2, 4, 3), optimize=True) - tmp3 = v.ovov.transpose((2, 0, 1, 3)).copy() * 2 - tmp3 += v.ovov.transpose((2, 0, 3, 1)) * -1 - tmp7 = v.ovov.transpose((2, 0, 1, 3)).copy() * -1 - tmp7 += v.ovov.transpose((2, 0, 3, 1)) * 2 - tmp17 = tmp13.copy() - del tmp13 - tmp17 += tmp16.transpose((1, 0, 3, 2)) - del tmp16 - t2new += tmp17.transpose((1, 0, 3, 2)) * -1 - t2new += tmp17 * -1 - del tmp17 - tmp28 = v.oovv.transpose((1, 0, 3, 2)).copy() * -1 - tmp28 += einsum(t2, (0, 1, 2, 3), v.ovov, (1, 4, 5, 2), (0, 5, 3, 4), optimize=True) - t2new += einsum(t2, (0, 1, 2, 3), tmp28, (4, 0, 5, 3), (4, 1, 2, 5), optimize=True) - del tmp28 - tmp27 = v.ovov.transpose((2, 0, 3, 1)).copy() * -1 - tmp27 += tmp9 - del tmp9 - t2new += einsum(tmp27, (0, 1, 2, 3), t2, (1, 4, 5, 3), (4, 0, 5, 2), optimize=True) - del tmp27 - tmp12 = tmp10.copy() - del tmp10 - tmp12 += tmp11 - del tmp11 - t2new += tmp12.transpose((1, 0, 2, 3)) - t2new += tmp12.transpose((0, 1, 3, 2)) - del tmp12 - tmp23 = tmp20.transpose((1, 0, 2, 3)).copy() - del tmp20 - tmp23 += tmp22.transpose((0, 1, 3, 2)) - del tmp22 - t2new += tmp23.transpose((1, 0, 3, 2)) * -1 - t2new += tmp23 * -1 - del tmp23 - tmp26 = v.oooo.transpose((2, 3, 1, 0)).copy() - tmp26 += einsum(v.ovov, (0, 1, 2, 3), t2, (4, 5, 3, 1), (0, 5, 2, 4), optimize=True) - t2new += einsum(t2, (0, 1, 2, 3), tmp26, (0, 4, 1, 5), (4, 5, 2, 3), optimize=True) - del tmp26 - tmp25 = v.ovov.transpose((2, 0, 3, 1)).copy() * 2 - tmp25 += v.oovv.transpose((1, 0, 3, 2)) * -1 - tmp25 += tmp15 * 2 - del tmp15 - t2new += einsum(tmp25, (0, 1, 2, 3), t2, (1, 4, 3, 5), (4, 0, 5, 2), optimize=True) - del tmp25 - tmp24 = einsum(t2, (0, 1, 2, 3), f.oo, (4, 1), (4, 0, 2, 3), optimize=True) - t2new += tmp24.transpose((1, 0, 2, 3)) * -1 - t2new += tmp24.transpose((0, 1, 3, 2)) * -1 - del tmp24 - tmp2 = v.ooov.transpose((1, 0, 2, 3)).copy() * -0.5 - tmp2 += v.ooov.transpose((1, 2, 0, 3)) - tmp2 += tmp1 - tmp2 += tmp1.transpose((0, 2, 1, 3)) * -0.5 - del tmp1 - t1new = einsum(t2, (0, 1, 2, 3), tmp2, (4, 1, 0, 3), (4, 2), optimize=True) * -2 - del tmp2 - tmp4 = f.ov.copy() - tmp4 += einsum(tmp3, (0, 1, 2, 3), t1, (0, 3), (1, 2), optimize=True) - del tmp3 - tmp8 = f.oo.transpose((1, 0)).copy() * 0.5 - tmp8 += einsum(t2, (0, 1, 2, 3), tmp7, (0, 4, 2, 3), (4, 1), optimize=True) * 0.5 - del tmp7 - t1new += einsum(t1, (0, 1), tmp8, (0, 2), (2, 1), optimize=True) * -2 - del tmp8 - tmp5 = t2.transpose((1, 0, 2, 3)).copy() * 2 - tmp5 += t2.transpose((1, 0, 3, 2)) * -1 - t1new += einsum(tmp5, (0, 1, 2, 3), tmp4, (0, 3), (1, 2), optimize=True) - del tmp5, tmp4 - tmp6 = v.ovov.transpose((2, 0, 3, 1)).copy() * 2 - tmp6 += v.oovv.transpose((1, 0, 3, 2)) * -1 - t1new += einsum(t1, (0, 1), tmp6, (0, 2, 1, 3), (2, 3), optimize=True) - del tmp6 - tmp0 = v.ovvv.transpose((0, 1, 3, 2)).copy() * -0.5 - tmp0 += v.ovvv.transpose((0, 3, 1, 2)) - t1new += einsum(tmp0, (0, 1, 2, 3), t2, (0, 4, 2, 1), (4, 3), optimize=True) * 2 - del tmp0 - t1new += einsum(t1, (0, 1), f.vv, (2, 1), (0, 2), optimize=True) - t2new += einsum(v.oovv, (0, 1, 2, 3), t2, (4, 1, 5, 3), (0, 4, 2, 5), optimize=True) * -1 - t2new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 2), (0, 4, 5, 3), optimize=True) * -1 - t2new += einsum(v.ovov, (0, 1, 2, 3), t2, (4, 0, 5, 1), (2, 4, 3, 5), optimize=True) * 2 - t2new += v.ovov.transpose((2, 0, 3, 1)) - t2new += einsum(v.vvvv, (0, 1, 2, 3), t2, (4, 5, 1, 3), (5, 4, 2, 0), optimize=True) - - return {f"t1new": t1new, f"t2new": t2new} - diff --git a/ebcc/codegen/UCC2.py b/ebcc/codegen/UCC2.py deleted file mode 100644 index 2848a7a1..00000000 --- a/ebcc/codegen/UCC2.py +++ /dev/null @@ -1,2145 +0,0 @@ -""" -Code generated by `albert`: -https://github.com/obackhouse/albert - - * date: 2024-02-29T20:35:28.423942 - * python version: 3.10.12 (main, Nov 20 2023, 15:14:05) [GCC 11.4.0] - * albert version: 0.0.0 - * caller: /home/ollie/git/albert/albert/codegen/einsum.py - * node: ollie-desktop - * system: Linux - * processor: x86_64 - * release: 6.5.0-21-generic -""" - -from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, Namespace - - -def energy(f=None, t1=None, t2=None, v=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-02-29T20:35:29.105068. - - Parameters - ---------- - f : Namespace of arrays - Fock matrix. - t1 : Namespace of arrays - T1 amplitudes. - t2 : Namespace of arrays - T2 amplitudes. - v : Namespace of arrays - Electron repulsion integrals. - - Returns - ------- - e_cc : float - Coupled cluster energy. - """ - - tmp2 = v.aaaa.ovov.transpose((2, 0, 3, 1)).copy() - tmp2 += v.aaaa.ovov.transpose((2, 0, 1, 3)) * -1 - tmp3 = einsum(tmp2, (0, 1, 2, 3), t1.aa, (0, 3), (1, 2), optimize=True) * -1 - del tmp2 - tmp3 += f.aa.ov * 2 - e_cc = einsum(t1.aa, (0, 1), tmp3, (0, 1), (), optimize=True) * 0.5 - del tmp3 - tmp0 = v.bbbb.ovov.transpose((2, 0, 3, 1)).copy() - tmp0 += v.bbbb.ovov.transpose((2, 0, 1, 3)) * -1 - tmp1 = einsum(t1.bb, (0, 1), tmp0, (0, 2, 3, 1), (2, 3), optimize=True) * -1 - del tmp0 - tmp1 += einsum(t1.aa, (0, 1), v.aabb.ovov, (0, 1, 2, 3), (2, 3), optimize=True) * 2 - tmp1 += f.bb.ov * 2 - e_cc += einsum(t1.bb, (0, 1), tmp1, (0, 1), (), optimize=True) * 0.5 - del tmp1 - e_cc += einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 2, 1, 3), (), optimize=True) - e_cc += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (0, 2, 1, 3), (), optimize=True) - e_cc += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (0, 2, 1, 3), (), optimize=True) - - return e_cc - -def update_amps(f=None, t1=None, t2=None, v=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-02-29T20:35:42.539838. - - Parameters - ---------- - f : Namespace of arrays - Fock matrix. - t1 : Namespace of arrays - T1 amplitudes. - t2 : Namespace of arrays - T2 amplitudes. - v : Namespace of arrays - Electron repulsion integrals. - - Returns - ------- - t1new : Namespace of arrays - Updated T1 residuals. - t2new : Namespace of arrays - Updated T2 residuals. - """ - - t1new = Namespace() - t2new = Namespace() - tmp87 = einsum(t1.bb, (0, 1), v.bbbb.ovvv, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) - t2new.bbbb = tmp87.transpose((1, 0, 3, 2)).copy() * -1 - tmp90 = einsum(v.bbbb.vvvv, (0, 1, 2, 3), t1.bb, (4, 2), (4, 0, 1, 3), optimize=True) - tmp91 = einsum(t1.bb, (0, 1), tmp90, (2, 3, 1, 4), (0, 2, 3, 4), optimize=True) - del tmp90 - t2new.bbbb += tmp91.transpose((0, 1, 3, 2)) * -1 - t2new.bbbb += tmp91 - del tmp91 - t2new.bbbb += tmp87.transpose((0, 1, 3, 2)) - tmp81 = einsum(v.bbbb.oovv, (0, 1, 2, 3), t1.bb, (4, 3), (4, 0, 1, 2), optimize=True) - tmp85 = tmp81.transpose((2, 0, 1, 3)).copy() - tmp22 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t1.bb, (4, 1), (4, 2, 0, 3), optimize=True) - tmp85 += tmp22 - tmp85 += v.bbbb.ooov.transpose((1, 2, 0, 3)) - tmp86 = einsum(t1.bb, (0, 1), tmp85, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) - del tmp85 - t2new.bbbb += tmp86 * -1 - tmp88 = einsum(tmp87, (0, 1, 2, 3), t1.bb, (4, 2), (4, 0, 1, 3), optimize=True) - tmp89 = einsum(t1.bb, (0, 1), tmp88, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) - del tmp88 - t2new.bbbb += tmp89.transpose((1, 0, 2, 3)) - t2new.bbbb += tmp89 * -1 - tmp82 = tmp81.transpose((2, 1, 0, 3)).copy() - del tmp81 - tmp82 += tmp22.transpose((2, 0, 1, 3)) - tmp82 += v.bbbb.ooov.transpose((1, 0, 2, 3)) - tmp83 = einsum(t1.bb, (0, 1), tmp82, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) - del tmp82 - t2new.bbbb += tmp83.transpose((0, 1, 3, 2)) - t2new.bbbb += tmp89.transpose((1, 0, 3, 2)) * -1 - t2new.bbbb += tmp89.transpose((0, 1, 3, 2)) - del tmp89 - t2new.bbbb += v.bbbb.ovov.transpose((2, 0, 1, 3)) * -1 - t2new.bbbb += tmp87 * -1 - t2new.bbbb += v.bbbb.ovov.transpose((2, 0, 3, 1)) - t2new.bbbb += tmp87.transpose((1, 0, 2, 3)) - del tmp87 - tmp63 = einsum(f.bb.ov, (0, 1), t1.bb, (0, 2), (1, 2), optimize=True) - tmp64 = tmp63.copy() * -1 - del tmp63 - tmp64 += f.bb.vv.transpose((1, 0)) - tmp84 = einsum(tmp64, (0, 1), t2.bbbb, (2, 3, 0, 4), (2, 3, 4, 1), optimize=True) - t2new.bbbb += tmp84.transpose((1, 0, 2, 3)) * 2 - t2new.bbbb += tmp86.transpose((1, 0, 2, 3)) - del tmp86 - t2new.bbbb += tmp84.transpose((1, 0, 3, 2)) * -2 - del tmp84 - t2new.bbbb += tmp83.transpose((1, 0, 3, 2)) * -1 - del tmp83 - tmp57 = einsum(f.bb.ov, (0, 1), t1.bb, (2, 1), (0, 2), optimize=True) - tmp80 = tmp57.copy() - tmp80 += f.bb.oo.transpose((1, 0)) - t2new.bbbb += einsum(t2.bbbb, (0, 1, 2, 3), tmp80, (0, 4), (4, 1, 3, 2), optimize=True) * 2 - del tmp80 - tmp74 = einsum(v.bbbb.ooov, (0, 1, 2, 3), t1.bb, (4, 3), (4, 0, 1, 2), optimize=True) - tmp75 = einsum(t1.bb, (0, 1), tmp74, (2, 3, 4, 0), (2, 4, 3, 1), optimize=True) - del tmp74 - tmp76 = einsum(t1.bb, (0, 1), tmp75, (2, 0, 3, 4), (2, 3, 1, 4), optimize=True) - del tmp75 - t2new.bbbb += tmp76.transpose((1, 0, 3, 2)) * -1 - t2new.bbbb += tmp76.transpose((1, 0, 2, 3)) - tmp72 = einsum(t1.bb, (0, 1), v.bbbb.oooo, (2, 3, 0, 4), (2, 3, 4, 1), optimize=True) - tmp73 = einsum(t1.bb, (0, 1), tmp72, (2, 0, 3, 4), (3, 2, 4, 1), optimize=True) - del tmp72 - t2new.bbbb += tmp73.transpose((0, 1, 3, 2)) * -1 - tmp58 = tmp57.copy() - del tmp57 - tmp58 += f.bb.oo.transpose((1, 0)) - t2new.bbbb += einsum(tmp58, (0, 1), t2.bbbb, (0, 2, 3, 4), (2, 1, 4, 3), optimize=True) * -2 - tmp77 = einsum(tmp22, (0, 1, 2, 3), t1.bb, (4, 3), (0, 4, 2, 1), optimize=True) - tmp78 = einsum(t1.bb, (0, 1), tmp77, (2, 3, 0, 4), (3, 2, 4, 1), optimize=True) - del tmp77 - tmp79 = einsum(t1.bb, (0, 1), tmp78, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) - del tmp78 - t2new.bbbb += tmp79.transpose((0, 1, 3, 2)) * -1 - t2new.bbbb += tmp79 - del tmp79 - t2new.bbbb += tmp76.transpose((0, 1, 3, 2)) - t2new.bbbb += tmp76 * -1 - del tmp76 - t2new.bbbb += tmp73 - del tmp73 - tmp70 = einsum(t1.bb, (0, 1), v.bbaa.ovvv, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) - tmp71 = einsum(t1.aa, (0, 1), tmp70, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) - del tmp70 - t2new.abab = einsum(tmp71, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 3, 4), optimize=True) * -1 - del tmp71 - tmp65 = einsum(v.aabb.ovvv, (0, 1, 2, 3), t1.bb, (4, 3), (0, 4, 1, 2), optimize=True) - tmp68 = tmp65.copy() - tmp68 += v.aabb.ovov.transpose((0, 2, 1, 3)) - tmp69 = einsum(t1.aa, (0, 1), tmp68, (2, 3, 1, 4), (0, 2, 3, 4), optimize=True) - del tmp68 - t2new.abab += einsum(tmp69, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 4, 3), optimize=True) * -1 - del tmp69 - tmp67 = einsum(v.aabb.vvvv, (0, 1, 2, 3), t1.bb, (4, 3), (4, 1, 0, 2), optimize=True) - tmp67 += v.bbaa.ovvv.transpose((0, 3, 2, 1)) - t2new.abab += einsum(t1.aa, (0, 1), tmp67, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) - del tmp67 - tmp66 = einsum(t1.bb, (0, 1), v.aabb.oovv, (2, 3, 4, 1), (3, 2, 0, 4), optimize=True) - tmp66 += v.aabb.ooov.transpose((1, 0, 2, 3)) - t2new.abab += einsum(tmp66, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3), optimize=True) * -1 - del tmp66 - t2new.abab += tmp65 - del tmp65 - t2new.abab += v.aabb.ovov.transpose((0, 2, 1, 3)) - t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp64, (3, 4), (0, 1, 2, 4), optimize=True) - del tmp64 - tmp44 = einsum(t1.aa, (0, 1), f.aa.ov, (0, 2), (2, 1), optimize=True) - tmp62 = tmp44.copy() * -1 - tmp62 += f.aa.vv.transpose((1, 0)) - t2new.abab += einsum(tmp62, (0, 1), t2.abab, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) - del tmp62 - tmp24 = einsum(v.aabb.ovov, (0, 1, 2, 3), t1.bb, (4, 3), (0, 4, 2, 1), optimize=True) - tmp61 = tmp24.transpose((0, 2, 1, 3)).copy() - tmp61 += einsum(t1.aa, (0, 1), v.bbaa.oovv, (2, 3, 4, 1), (0, 3, 2, 4), optimize=True) - tmp61 += v.aabb.ovoo.transpose((0, 3, 2, 1)) - t2new.abab += einsum(tmp61, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 3, 4), optimize=True) * -1 - del tmp61 - tmp38 = einsum(t1.aa, (0, 1), f.aa.ov, (2, 1), (2, 0), optimize=True) - tmp40 = tmp38.copy() - tmp40 += f.aa.oo.transpose((1, 0)) - t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp40, (0, 4), (4, 1, 2, 3), optimize=True) * -1 - tmp59 = einsum(v.aabb.ooov, (0, 1, 2, 3), t1.bb, (4, 3), (0, 1, 4, 2), optimize=True) - tmp60 = einsum(tmp59, (0, 1, 2, 3), t1.bb, (3, 4), (1, 0, 2, 4), optimize=True) - del tmp59 - t2new.abab += einsum(t1.aa, (0, 1), tmp60, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) - del tmp60 - t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp58, (1, 4), (0, 4, 2, 3), optimize=True) * -1 - del tmp58 - tmp54 = tmp24.copy() - tmp54 += v.aabb.ovoo.transpose((0, 3, 2, 1)) - tmp55 = einsum(t1.aa, (0, 1), tmp54, (2, 3, 4, 1), (0, 2, 4, 3), optimize=True) - del tmp54 - tmp55 += v.aabb.oooo.transpose((1, 0, 3, 2)) - tmp56 = einsum(tmp55, (0, 1, 2, 3), t1.bb, (2, 4), (1, 0, 3, 4), optimize=True) - del tmp55 - t2new.abab += einsum(tmp56, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3), optimize=True) - del tmp56 - tmp49 = einsum(v.aaaa.ovvv, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 1, 2), optimize=True) - t2new.aaaa = tmp49.transpose((1, 0, 3, 2)).copy() * -1 - tmp52 = einsum(v.aaaa.vvvv, (0, 1, 2, 3), t1.aa, (4, 2), (4, 0, 1, 3), optimize=True) - tmp53 = einsum(tmp52, (0, 1, 2, 3), t1.aa, (4, 2), (4, 0, 1, 3), optimize=True) - del tmp52 - t2new.aaaa += tmp53.transpose((0, 1, 3, 2)) * -1 - t2new.aaaa += tmp53 - del tmp53 - t2new.aaaa += tmp49.transpose((0, 1, 3, 2)) - tmp41 = einsum(t1.aa, (0, 1), v.aaaa.oovv, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) - tmp47 = tmp41.transpose((2, 0, 1, 3)).copy() - tmp6 = einsum(t1.aa, (0, 1), v.aaaa.ovov, (2, 1, 3, 4), (0, 3, 2, 4), optimize=True) - tmp47 += tmp6 - tmp47 += v.aaaa.ooov.transpose((1, 2, 0, 3)) - tmp48 = einsum(t1.aa, (0, 1), tmp47, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) - del tmp47 - t2new.aaaa += tmp48 * -1 - tmp50 = einsum(tmp49, (0, 1, 2, 3), t1.aa, (4, 2), (4, 0, 1, 3), optimize=True) - tmp51 = einsum(tmp50, (0, 1, 2, 3), t1.aa, (2, 4), (0, 1, 4, 3), optimize=True) - del tmp50 - t2new.aaaa += tmp51.transpose((1, 0, 2, 3)) - t2new.aaaa += tmp51 * -1 - tmp42 = tmp41.transpose((2, 1, 0, 3)).copy() - del tmp41 - tmp42 += tmp6.transpose((2, 0, 1, 3)) - tmp42 += v.aaaa.ooov.transpose((1, 0, 2, 3)) - tmp43 = einsum(tmp42, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3), optimize=True) - del tmp42 - t2new.aaaa += tmp43.transpose((0, 1, 3, 2)) - t2new.aaaa += tmp51.transpose((1, 0, 3, 2)) * -1 - t2new.aaaa += tmp51.transpose((0, 1, 3, 2)) - del tmp51 - t2new.aaaa += tmp49 * -1 - t2new.aaaa += v.aaaa.ovov.transpose((2, 0, 1, 3)) * -1 - t2new.aaaa += tmp49.transpose((1, 0, 2, 3)) - del tmp49 - t2new.aaaa += v.aaaa.ovov.transpose((2, 0, 3, 1)) - tmp45 = tmp44.copy() * -1 - del tmp44 - tmp45 += f.aa.vv.transpose((1, 0)) - tmp46 = einsum(t2.aaaa, (0, 1, 2, 3), tmp45, (2, 4), (0, 1, 3, 4), optimize=True) - del tmp45 - t2new.aaaa += tmp46.transpose((1, 0, 2, 3)) * 2 - t2new.aaaa += tmp48.transpose((1, 0, 2, 3)) - del tmp48 - t2new.aaaa += tmp46.transpose((1, 0, 3, 2)) * -2 - del tmp46 - t2new.aaaa += tmp43.transpose((1, 0, 3, 2)) * -1 - del tmp43 - t2new.aaaa += einsum(tmp40, (0, 1), t2.aaaa, (0, 2, 3, 4), (1, 2, 4, 3), optimize=True) * 2 - del tmp40 - tmp35 = einsum(t1.aa, (0, 1), v.aaaa.ooov, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) - tmp36 = einsum(tmp35, (0, 1, 2, 3), t1.aa, (3, 4), (0, 2, 1, 4), optimize=True) - del tmp35 - tmp37 = einsum(tmp36, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 4, 3), optimize=True) - del tmp36 - t2new.aaaa += tmp37.transpose((1, 0, 3, 2)) * -1 - t2new.aaaa += tmp37.transpose((1, 0, 2, 3)) - tmp30 = einsum(v.aaaa.oooo, (0, 1, 2, 3), t1.aa, (2, 4), (0, 1, 3, 4), optimize=True) - tmp31 = einsum(tmp30, (0, 1, 2, 3), t1.aa, (1, 4), (2, 0, 3, 4), optimize=True) - del tmp30 - t2new.aaaa += tmp31.transpose((0, 1, 3, 2)) * -1 - tmp39 = tmp38.copy() - del tmp38 - tmp39 += f.aa.oo.transpose((1, 0)) - t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp39, (0, 4), (1, 4, 3, 2), optimize=True) * -2 - del tmp39 - t2new.aaaa += tmp37.transpose((0, 1, 3, 2)) - t2new.aaaa += tmp37 * -1 - del tmp37 - tmp32 = einsum(tmp6, (0, 1, 2, 3), t1.aa, (4, 3), (0, 4, 2, 1), optimize=True) - tmp33 = einsum(tmp32, (0, 1, 2, 3), t1.aa, (2, 4), (1, 0, 3, 4), optimize=True) - del tmp32 - tmp34 = einsum(tmp33, (0, 1, 2, 3), t1.aa, (2, 4), (0, 1, 4, 3), optimize=True) - del tmp33 - t2new.aaaa += tmp34.transpose((0, 1, 3, 2)) * -1 - t2new.aaaa += tmp34 - del tmp34 - t2new.aaaa += tmp31 - del tmp31 - tmp27 = v.bbbb.ovov.transpose((2, 0, 3, 1)).copy() - tmp27 += v.bbbb.ovov.transpose((2, 0, 1, 3)) * -1 - tmp28 = einsum(t1.bb, (0, 1), tmp27, (0, 2, 3, 1), (2, 3), optimize=True) * -1 - del tmp27 - tmp8 = einsum(t1.aa, (0, 1), v.aabb.ovov, (0, 1, 2, 3), (2, 3), optimize=True) - tmp28 += tmp8 - tmp28 += f.bb.ov - tmp29 = einsum(t1.bb, (0, 1), tmp28, (2, 1), (2, 0), optimize=True) - del tmp28 - tmp26 = v.bbbb.ooov.transpose((1, 2, 0, 3)).copy() - tmp26 += v.bbbb.ooov.transpose((1, 0, 2, 3)) * -1 - tmp29 += einsum(t1.bb, (0, 1), tmp26, (2, 3, 0, 1), (3, 2), optimize=True) * -1 - del tmp26 - tmp29 += einsum(t1.aa, (0, 1), v.aabb.ovoo, (0, 1, 2, 3), (3, 2), optimize=True) - tmp29 += f.bb.oo.transpose((1, 0)) - t1new.bb = einsum(tmp29, (0, 1), t1.bb, (0, 2), (1, 2), optimize=True) * -1 - del tmp29 - tmp12 = v.aaaa.ovov.transpose((2, 0, 3, 1)).copy() - tmp12 += v.aaaa.ovov.transpose((2, 0, 1, 3)) * -1 - tmp13 = einsum(tmp12, (0, 1, 2, 3), t1.aa, (0, 3), (1, 2), optimize=True) - del tmp12 - tmp14 = tmp13.copy() * -1 - del tmp13 - tmp0 = einsum(v.aabb.ovov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1), optimize=True) - tmp14 += tmp0 - tmp14 += f.aa.ov - t1new.bb += einsum(tmp14, (0, 1), t2.abab, (0, 2, 1, 3), (2, 3), optimize=True) - tmp9 = v.bbbb.ovov.transpose((2, 0, 3, 1)).copy() - tmp9 += v.bbbb.ovov.transpose((2, 0, 1, 3)) * -1 - tmp10 = einsum(t1.bb, (0, 1), tmp9, (0, 2, 3, 1), (2, 3), optimize=True) - del tmp9 - tmp11 = tmp10.copy() * -1 - del tmp10 - tmp11 += tmp8 - tmp11 += f.bb.ov - t1new.bb += einsum(t2.bbbb, (0, 1, 2, 3), tmp11, (0, 2), (1, 3), optimize=True) * 2 - tmp25 = tmp24.transpose((0, 2, 1, 3)).copy() - del tmp24 - tmp25 += v.aabb.ovoo.transpose((0, 3, 2, 1)) - t1new.bb += einsum(tmp25, (0, 1, 2, 3), t2.abab, (0, 1, 3, 4), (2, 4), optimize=True) * -1 - del tmp25 - tmp23 = tmp22.copy() - del tmp22 - tmp23 += v.bbbb.ooov.transpose((1, 2, 0, 3)) - t1new.bb += einsum(t2.bbbb, (0, 1, 2, 3), tmp23, (4, 1, 0, 2), (4, 3), optimize=True) * 2 - del tmp23 - t1new.bb += einsum(t1.bb, (0, 1), v.bbbb.oovv, (2, 0, 3, 1), (2, 3), optimize=True) * -1 - tmp21 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (4, 0, 3, 1), (4, 2), optimize=True) * 2 - tmp21 += einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 4, 1, 3), (4, 2), optimize=True) - t1new.bb += einsum(t1.bb, (0, 1), tmp21, (2, 0), (2, 1), optimize=True) * -1 - del tmp21 - tmp20 = einsum(t1.bb, (0, 1), v.bbbb.ovvv, (0, 2, 3, 1), (2, 3), optimize=True) * -1 - tmp20 += f.bb.vv.transpose((1, 0)) - t1new.bb += einsum(t1.bb, (0, 1), tmp20, (1, 2), (0, 2), optimize=True) - del tmp20 - tmp1 = einsum(t1.aa, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3), optimize=True) - tmp1 += t2.abab - t1new.bb += einsum(tmp1, (0, 1, 2, 3), v.aabb.ovvv, (0, 2, 3, 4), (1, 4), optimize=True) - tmp19 = einsum(t1.bb, (0, 1), t1.bb, (2, 3), (2, 0, 3, 1), optimize=True) - tmp19 += t2.bbbb.transpose((1, 0, 3, 2)) * 2 - t1new.bb += einsum(v.bbbb.ovvv, (0, 1, 2, 3), tmp19, (0, 4, 1, 2), (4, 3), optimize=True) - del tmp19 - t1new.bb += einsum(t1.bb, (0, 1), v.bbbb.ovov, (2, 3, 0, 1), (2, 3), optimize=True) - t1new.bb += tmp8 - del tmp8 - t1new.bb += f.bb.ov - tmp16 = v.aaaa.ovov.transpose((2, 0, 3, 1)).copy() - tmp16 += v.aaaa.ovov.transpose((2, 0, 1, 3)) * -1 - tmp17 = einsum(tmp16, (0, 1, 2, 3), t1.aa, (0, 3), (1, 2), optimize=True) * -1 - del tmp16 - tmp17 += tmp0 - tmp17 += f.aa.ov - tmp18 = einsum(tmp17, (0, 1), t1.aa, (2, 1), (0, 2), optimize=True) - del tmp17 - tmp15 = v.aaaa.ooov.transpose((1, 2, 0, 3)).copy() - tmp15 += v.aaaa.ooov.transpose((1, 0, 2, 3)) * -1 - tmp18 += einsum(tmp15, (0, 1, 2, 3), t1.aa, (2, 3), (1, 0), optimize=True) * -1 - del tmp15 - tmp18 += einsum(t1.bb, (0, 1), v.aabb.ooov, (2, 3, 0, 1), (3, 2), optimize=True) - tmp18 += f.aa.oo.transpose((1, 0)) - t1new.aa = einsum(tmp18, (0, 1), t1.aa, (0, 2), (1, 2), optimize=True) * -1 - del tmp18 - t1new.aa += einsum(t2.aaaa, (0, 1, 2, 3), tmp14, (0, 2), (1, 3), optimize=True) * 2 - del tmp14 - t1new.aa += einsum(tmp11, (0, 1), t2.abab, (2, 0, 3, 1), (2, 3), optimize=True) - del tmp11 - tmp7 = tmp6.copy() - del tmp6 - tmp7 += v.aaaa.ooov.transpose((1, 2, 0, 3)) - t1new.aa += einsum(tmp7, (0, 1, 2, 3), t2.aaaa, (2, 1, 3, 4), (0, 4), optimize=True) * 2 - del tmp7 - tmp5 = einsum(v.aabb.ovov, (0, 1, 2, 3), t1.aa, (4, 1), (0, 4, 2, 3), optimize=True) - tmp5 += v.aabb.ooov.transpose((1, 0, 2, 3)) - t1new.aa += einsum(t2.abab, (0, 1, 2, 3), tmp5, (0, 4, 1, 3), (4, 2), optimize=True) * -1 - del tmp5 - t1new.aa += einsum(v.aaaa.oovv, (0, 1, 2, 3), t1.aa, (1, 3), (0, 2), optimize=True) * -1 - tmp4 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 1, 3), (4, 0), optimize=True) * 0.5 - tmp4 += einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.aaaa, (4, 0, 1, 3), (4, 2), optimize=True) * -1 - t1new.aa += einsum(t1.aa, (0, 1), tmp4, (2, 0), (2, 1), optimize=True) * -2 - del tmp4 - tmp3 = einsum(v.aaaa.ovvv, (0, 1, 2, 3), t1.aa, (0, 1), (3, 2), optimize=True) - tmp3 += f.aa.vv.transpose((1, 0)) - t1new.aa += einsum(t1.aa, (0, 1), tmp3, (1, 2), (0, 2), optimize=True) - del tmp3 - tmp2 = einsum(t1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 1, 3), optimize=True) - tmp2 += t2.aaaa.transpose((1, 0, 3, 2)) * 2 - t1new.aa += einsum(v.aaaa.ovvv, (0, 1, 2, 3), tmp2, (0, 4, 2, 1), (4, 3), optimize=True) * -1 - del tmp2 - t1new.aa += einsum(v.bbaa.ovvv, (0, 1, 2, 3), tmp1, (4, 0, 2, 1), (4, 3), optimize=True) - del tmp1 - t1new.aa += tmp0 - del tmp0 - t1new.aa += f.aa.ov - t1new.aa += einsum(v.aaaa.ovov, (0, 1, 2, 3), t1.aa, (2, 3), (0, 1), optimize=True) - - return {f"t1new": t1new, f"t2new": t2new} - -def update_lams(f=None, l1=None, l2=None, t1=None, t2=None, v=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-02-29T20:37:06.185531. - - Parameters - ---------- - f : Namespace of arrays - Fock matrix. - l1 : Namespace of arrays - L1 amplitudes. - l2 : Namespace of arrays - L2 amplitudes. - t1 : Namespace of arrays - T1 amplitudes. - t2 : Namespace of arrays - T2 amplitudes. - v : Namespace of arrays - Electron repulsion integrals. - - Returns - ------- - l1new : Namespace of arrays - Updated L1 residuals. - l2new : Namespace of arrays - Updated L2 residuals. - """ - - l1new = Namespace() - l2new = Namespace() - tmp70 = einsum(t1.bb, (0, 1), l2.bbbb, (2, 1, 3, 4), (3, 4, 0, 2), optimize=True) - tmp202 = einsum(v.bbbb.ooov, (0, 1, 2, 3), tmp70, (1, 4, 2, 5), (4, 0, 5, 3), optimize=True) * -1 - l2new.bbbb = tmp202.transpose((3, 2, 0, 1)).copy() * -2 - tmp92 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t1.bb, (4, 1), (4, 2, 0, 3), optimize=True) - tmp205 = einsum(tmp92, (0, 1, 2, 3), tmp70, (4, 0, 1, 5), (4, 2, 5, 3), optimize=True) - l2new.bbbb += tmp205.transpose((3, 2, 0, 1)) * -2 - tmp72 = einsum(l1.bb, (0, 1), t1.bb, (2, 0), (1, 2), optimize=True) - tmp199 = einsum(tmp72, (0, 1), v.bbbb.ovov, (2, 3, 1, 4), (0, 2, 3, 4), optimize=True) - l2new.bbbb += tmp199.transpose((3, 2, 0, 1)) * -1 - tmp198 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t1.bb, (2, 1), (0, 3), optimize=True) - l2new.bbbb += einsum(tmp198, (0, 1), l1.bb, (2, 3), (1, 2, 3, 0), optimize=True) - tmp217 = tmp92.copy() - tmp217 += v.bbbb.ooov.transpose((1, 2, 0, 3)) - tmp218 = einsum(l1.bb, (0, 1), tmp217, (1, 2, 3, 4), (2, 3, 4, 0), optimize=True) - del tmp217 - l2new.bbbb += tmp218.transpose((3, 2, 1, 0)) * -1 - tmp230 = tmp92.transpose((0, 2, 1, 3)).copy() - tmp230 += v.bbbb.ooov.transpose((1, 0, 2, 3)) - l2new.bbbb += einsum(l1.bb, (0, 1), tmp230, (1, 2, 3, 4), (4, 0, 2, 3), optimize=True) - del tmp230 - tmp103 = einsum(t1.bb, (0, 1), tmp92, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) - tmp229 = tmp103.transpose((0, 2, 3, 1)).copy() - tmp229 += v.bbbb.oooo.transpose((2, 3, 1, 0)) - l2new.bbbb += einsum(tmp229, (0, 1, 2, 3), l2.bbbb, (4, 5, 0, 3), (5, 4, 2, 1), optimize=True) * 2 - del tmp229 - tmp104 = einsum(v.bbbb.ooov, (0, 1, 2, 3), t1.bb, (4, 3), (4, 0, 1, 2), optimize=True) - tmp228 = einsum(l2.bbbb, (0, 1, 2, 3), tmp104, (3, 2, 4, 5), (4, 5, 0, 1), optimize=True) * -1 - l2new.bbbb += tmp228.transpose((2, 3, 1, 0)) * 2 - l2new.bbbb += tmp228.transpose((2, 3, 0, 1)) * -2 - del tmp228 - tmp185 = v.bbbb.ovov.transpose((2, 0, 3, 1)).copy() - tmp185 += v.bbbb.ovov.transpose((2, 0, 1, 3)) * -1 - tmp186 = einsum(t1.bb, (0, 1), tmp185, (0, 2, 3, 1), (2, 3), optimize=True) - del tmp185 - tmp187 = tmp186.copy() * -1 - del tmp186 - tmp94 = einsum(t1.aa, (0, 1), v.aabb.ovov, (0, 1, 2, 3), (2, 3), optimize=True) - tmp187 += tmp94 - tmp187 += f.bb.ov - tmp227 = einsum(tmp70, (0, 1, 2, 3), tmp187, (2, 4), (0, 1, 4, 3), optimize=True) - l2new.bbbb += tmp227.transpose((3, 2, 1, 0)) * 2 - tmp223 = v.bbbb.ovvv.transpose((0, 3, 2, 1)).copy() - tmp223 += v.bbbb.ovvv.transpose((0, 1, 3, 2)) * -1 - tmp224 = einsum(tmp223, (0, 1, 2, 3), t1.bb, (0, 1), (2, 3), optimize=True) - del tmp223 - tmp225 = tmp224.transpose((1, 0)).copy() * -1 - del tmp224 - tmp127 = einsum(t1.aa, (0, 1), v.aabb.ovvv, (0, 1, 2, 3), (2, 3), optimize=True) - tmp225 += tmp127.transpose((1, 0)) - tmp225 += f.bb.vv.transpose((1, 0)) - tmp226 = einsum(l2.bbbb, (0, 1, 2, 3), tmp225, (4, 0), (2, 3, 4, 1), optimize=True) - del tmp225 - l2new.bbbb += tmp226.transpose((3, 2, 1, 0)) * 2 - tmp91 = einsum(t1.bb, (0, 1), tmp70, (2, 3, 4, 1), (3, 2, 4, 0), optimize=True) - tmp222 = einsum(tmp91, (0, 1, 2, 3), v.bbbb.ovov, (2, 4, 3, 5), (0, 1, 4, 5), optimize=True) - l2new.bbbb += tmp222.transpose((3, 2, 1, 0)) - tmp221 = einsum(v.bbbb.ovvv, (0, 1, 2, 3), tmp70, (4, 5, 0, 3), (5, 4, 1, 2), optimize=True) - l2new.bbbb += tmp221.transpose((3, 2, 1, 0)) * -2 - tmp220 = einsum(v.bbbb.vvvv, (0, 1, 2, 3), l2.bbbb, (1, 3, 4, 5), (4, 5, 0, 2), optimize=True) - l2new.bbbb += tmp220.transpose((3, 2, 1, 0)) - l2new.bbbb += tmp227.transpose((2, 3, 1, 0)) * -2 - del tmp227 - l2new.bbbb += tmp226.transpose((2, 3, 1, 0)) * -2 - del tmp226 - l2new.bbbb += tmp205.transpose((3, 2, 1, 0)) * 2 - l2new.bbbb += tmp222.transpose((3, 2, 1, 0)) - del tmp222 - l2new.bbbb += tmp202.transpose((3, 2, 1, 0)) * 2 - l2new.bbbb += tmp221.transpose((2, 3, 1, 0)) * 2 - del tmp221 - l2new.bbbb += tmp220.transpose((3, 2, 1, 0)) - del tmp220 - l2new.bbbb += einsum(l1.bb, (0, 1), tmp198, (2, 3), (3, 0, 2, 1), optimize=True) * -1 - l2new.bbbb += tmp199.transpose((3, 2, 1, 0)) - tmp213 = einsum(t1.bb, (0, 1), v.bbbb.ovov, (2, 3, 0, 1), (2, 3), optimize=True) - tmp214 = tmp213.copy() - tmp214 += tmp94 - tmp214 += f.bb.ov - l2new.bbbb += einsum(l1.bb, (0, 1), tmp214, (2, 3), (0, 3, 2, 1), optimize=True) * -1 - tmp181 = einsum(v.bbaa.ovvv, (0, 1, 2, 3), t1.aa, (4, 2), (4, 0, 3, 1), optimize=True) - tmp182 = tmp181.copy() - tmp182 += v.aabb.ovov.transpose((0, 2, 1, 3)) - tmp209 = einsum(tmp182, (0, 1, 2, 3), l2.abab, (2, 4, 0, 5), (1, 5, 3, 4), optimize=True) - l2new.bbbb += tmp209.transpose((3, 2, 0, 1)) * -1 - tmp108 = v.bbbb.ovvv.transpose((0, 3, 1, 2)).copy() - tmp108 += v.bbbb.ovvv.transpose((0, 1, 3, 2)) * -1 - tmp179 = einsum(tmp108, (0, 1, 2, 3), t1.bb, (4, 2), (4, 0, 1, 3), optimize=True) - tmp207 = tmp179.copy() * -1 - tmp207 += v.bbbb.oovv.transpose((1, 0, 3, 2)) * -1 - tmp207 += v.bbbb.ovov.transpose((2, 0, 1, 3)) - tmp208 = einsum(l2.bbbb, (0, 1, 2, 3), tmp207, (2, 4, 5, 0), (4, 3, 5, 1), optimize=True) - del tmp207 - l2new.bbbb += tmp208.transpose((3, 2, 0, 1)) * -2 - tmp206 = einsum(tmp70, (0, 1, 2, 3), tmp92, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) * -1 - l2new.bbbb += tmp206.transpose((2, 3, 1, 0)) * 2 - tmp35 = einsum(l2.abab, (0, 1, 2, 3), t1.aa, (4, 0), (2, 4, 3, 1), optimize=True) - tmp11 = einsum(t1.aa, (0, 1), v.aabb.ovov, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) - tmp204 = einsum(tmp35, (0, 1, 2, 3), tmp11, (0, 1, 4, 5), (2, 4, 3, 5), optimize=True) - l2new.bbbb += tmp204.transpose((2, 3, 1, 0)) - tmp203 = einsum(v.bbbb.ooov, (0, 1, 2, 3), tmp70, (0, 4, 1, 5), (4, 2, 5, 3), optimize=True) * -1 - l2new.bbbb += tmp203.transpose((2, 3, 1, 0)) * 2 - tmp201 = einsum(v.bbbb.ovvv, (0, 1, 2, 3), l1.bb, (3, 4), (4, 0, 1, 2), optimize=True) - l2new.bbbb += tmp201.transpose((3, 2, 1, 0)) * -1 - tmp200 = einsum(v.aabb.ooov, (0, 1, 2, 3), tmp35, (0, 1, 4, 5), (4, 2, 5, 3), optimize=True) - l2new.bbbb += tmp200.transpose((2, 3, 1, 0)) - l2new.bbbb += einsum(l1.bb, (0, 1), tmp214, (2, 3), (0, 3, 1, 2), optimize=True) - l2new.bbbb += tmp209.transpose((3, 2, 1, 0)) - l2new.bbbb += tmp208.transpose((3, 2, 1, 0)) * 2 - l2new.bbbb += tmp206.transpose((2, 3, 0, 1)) * -2 - l2new.bbbb += tmp204.transpose((2, 3, 0, 1)) * -1 - l2new.bbbb += tmp203.transpose((2, 3, 0, 1)) * -2 - l2new.bbbb += tmp201.transpose((3, 2, 0, 1)) - l2new.bbbb += tmp200.transpose((2, 3, 0, 1)) * -1 - tmp219 = tmp213.copy() - del tmp213 - tmp219 += tmp94 - tmp219 += f.bb.ov - l2new.bbbb += einsum(l1.bb, (0, 1), tmp219, (2, 3), (3, 0, 1, 2), optimize=True) * -1 - del tmp219 - l2new.bbbb += tmp218.transpose((3, 2, 0, 1)) - del tmp218 - tmp95 = v.bbbb.ovov.transpose((2, 0, 3, 1)).copy() - tmp95 += v.bbbb.ovov.transpose((2, 0, 1, 3)) * -1 - tmp96 = einsum(t1.bb, (0, 1), tmp95, (0, 2, 3, 1), (2, 3), optimize=True) - del tmp95 - tmp97 = tmp96.copy() * -1 - del tmp96 - tmp97 += tmp94 - del tmp94 - tmp97 += f.bb.ov - tmp190 = einsum(t1.bb, (0, 1), tmp97, (2, 1), (0, 2), optimize=True) - tmp191 = tmp190.copy() - del tmp190 - tmp132 = v.bbbb.ooov.transpose((2, 1, 0, 3)).copy() - tmp132 += v.bbbb.ooov.transpose((1, 0, 2, 3)) * -1 - tmp189 = einsum(t1.bb, (0, 1), tmp132, (2, 3, 0, 1), (2, 3), optimize=True) - tmp191 += tmp189.transpose((1, 0)) * -1 - del tmp189 - tmp131 = einsum(t1.aa, (0, 1), v.aabb.ovoo, (0, 1, 2, 3), (2, 3), optimize=True) - tmp191 += tmp131.transpose((1, 0)) - tmp191 += f.bb.oo.transpose((1, 0)) - l2new.bbbb += einsum(l2.bbbb, (0, 1, 2, 3), tmp191, (2, 4), (1, 0, 3, 4), optimize=True) * -2 - tmp216 = tmp181.copy() - del tmp181 - tmp216 += v.aabb.ovov.transpose((0, 2, 1, 3)) - l2new.bbbb += einsum(l2.abab, (0, 1, 2, 3), tmp216, (2, 4, 0, 5), (5, 1, 3, 4), optimize=True) * -1 - del tmp216 - tmp128 = v.bbbb.ovvv.transpose((0, 3, 1, 2)).copy() - tmp128 += v.bbbb.ovvv.transpose((0, 1, 3, 2)) * -1 - tmp215 = einsum(t1.bb, (0, 1), tmp128, (2, 3, 1, 4), (0, 2, 3, 4), optimize=True) * -1 - tmp215 += v.bbbb.oovv.transpose((1, 0, 3, 2)) * -1 - tmp215 += v.bbbb.ovov.transpose((2, 0, 1, 3)) - l2new.bbbb += einsum(tmp215, (0, 1, 2, 3), l2.bbbb, (3, 4, 0, 5), (2, 4, 5, 1), optimize=True) * -2 - del tmp215 - l2new.bbbb += tmp206.transpose((3, 2, 0, 1)) * 2 - l2new.bbbb += tmp205.transpose((2, 3, 0, 1)) * 2 - l2new.bbbb += tmp204.transpose((3, 2, 0, 1)) - l2new.bbbb += tmp203.transpose((3, 2, 0, 1)) * 2 - l2new.bbbb += tmp202.transpose((2, 3, 0, 1)) * 2 - l2new.bbbb += tmp201.transpose((2, 3, 0, 1)) * -1 - l2new.bbbb += v.bbbb.ovov.transpose((1, 3, 2, 0)) * -1 - l2new.bbbb += tmp200.transpose((3, 2, 0, 1)) - l2new.bbbb += einsum(l1.bb, (0, 1), tmp198, (2, 3), (0, 3, 1, 2), optimize=True) * -1 - l2new.bbbb += tmp199.transpose((2, 3, 0, 1)) - l2new.bbbb += einsum(l1.bb, (0, 1), tmp214, (2, 3), (3, 0, 2, 1), optimize=True) - del tmp214 - tmp212 = tmp92.transpose((0, 2, 1, 3)).copy() - tmp212 += v.bbbb.ooov.transpose((1, 0, 2, 3)) - l2new.bbbb += einsum(l1.bb, (0, 1), tmp212, (1, 2, 3, 4), (4, 0, 3, 2), optimize=True) * -1 - del tmp212 - tmp211 = einsum(tmp187, (0, 1), t1.bb, (2, 1), (2, 0), optimize=True) - tmp210 = v.bbbb.ooov.transpose((2, 1, 0, 3)).copy() - tmp210 += v.bbbb.ooov.transpose((1, 0, 2, 3)) * -1 - tmp211 += einsum(t1.bb, (0, 1), tmp210, (2, 3, 0, 1), (3, 2), optimize=True) * -1 - del tmp210 - tmp211 += tmp131.transpose((1, 0)) - tmp211 += f.bb.oo.transpose((1, 0)) - l2new.bbbb += einsum(l2.bbbb, (0, 1, 2, 3), tmp211, (2, 4), (1, 0, 4, 3), optimize=True) * 2 - del tmp211 - l2new.bbbb += tmp209.transpose((2, 3, 0, 1)) - del tmp209 - l2new.bbbb += tmp208.transpose((2, 3, 0, 1)) * 2 - del tmp208 - l2new.bbbb += tmp206.transpose((3, 2, 1, 0)) * -2 - del tmp206 - l2new.bbbb += tmp205.transpose((2, 3, 1, 0)) * -2 - del tmp205 - l2new.bbbb += tmp204.transpose((3, 2, 1, 0)) * -1 - del tmp204 - l2new.bbbb += tmp203.transpose((3, 2, 1, 0)) * -2 - del tmp203 - l2new.bbbb += tmp202.transpose((2, 3, 1, 0)) * -2 - del tmp202 - l2new.bbbb += tmp201.transpose((2, 3, 1, 0)) - del tmp201 - l2new.bbbb += v.bbbb.ovov.transpose((3, 1, 2, 0)) - l2new.bbbb += tmp200.transpose((3, 2, 1, 0)) * -1 - del tmp200 - l2new.bbbb += tmp199.transpose((2, 3, 1, 0)) * -1 - del tmp199 - l2new.bbbb += einsum(tmp198, (0, 1), l1.bb, (2, 3), (2, 1, 0, 3), optimize=True) - del tmp198 - tmp9 = einsum(v.aabb.ovov, (0, 1, 2, 3), t1.bb, (4, 3), (0, 4, 2, 1), optimize=True) - tmp197 = tmp9.copy() - tmp197 += v.aabb.ovoo.transpose((0, 3, 2, 1)) - l2new.abab = einsum(tmp197, (0, 1, 2, 3), tmp35, (4, 0, 1, 5), (3, 5, 4, 2), optimize=True) - del tmp197 - tmp57 = einsum(l1.aa, (0, 1), t1.aa, (2, 0), (1, 2), optimize=True) - l2new.abab += einsum(tmp57, (0, 1), v.aabb.ovov, (1, 2, 3, 4), (2, 4, 0, 3), optimize=True) * -1 - tmp196 = einsum(t1.aa, (0, 1), v.aabb.ovvv, (2, 1, 3, 4), (0, 2, 4, 3), optimize=True) - tmp196 += v.aabb.oovv.transpose((1, 0, 3, 2)) - l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp196, (2, 4, 1, 5), (0, 5, 4, 3), optimize=True) * -1 - del tmp196 - tmp10 = tmp9.transpose((0, 2, 1, 3)).copy() - tmp10 += v.aabb.ovoo.transpose((0, 3, 2, 1)) - tmp195 = einsum(t1.aa, (0, 1), tmp10, (2, 3, 4, 1), (0, 2, 4, 3), optimize=True) - tmp19 = einsum(v.aabb.ooov, (0, 1, 2, 3), t1.bb, (4, 3), (0, 1, 4, 2), optimize=True) - tmp195 += tmp19.transpose((1, 0, 2, 3)) - tmp195 += v.aabb.oooo.transpose((1, 0, 3, 2)) - l2new.abab += einsum(tmp195, (0, 1, 2, 3), l2.abab, (4, 5, 0, 2), (4, 5, 1, 3), optimize=True) - del tmp195 - tmp178 = tmp11.copy() - tmp178 += v.aabb.ooov.transpose((1, 0, 2, 3)) - l2new.abab += einsum(tmp178, (0, 1, 2, 3), l1.aa, (4, 0), (4, 3, 1, 2), optimize=True) * -1 - tmp3 = einsum(l2.abab, (0, 1, 2, 3), t1.bb, (4, 1), (2, 3, 4, 0), optimize=True) - l2new.abab += einsum(tmp3, (0, 1, 2, 3), tmp187, (2, 4), (3, 4, 0, 1), optimize=True) * -1 - tmp194 = einsum(tmp108, (0, 1, 2, 3), t1.bb, (0, 1), (3, 2), optimize=True) * -1 - tmp194 += tmp127.transpose((1, 0)) - tmp194 += f.bb.vv.transpose((1, 0)) - l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp194, (1, 4), (0, 4, 2, 3), optimize=True) - del tmp194 - tmp37 = einsum(tmp3, (0, 1, 2, 3), t1.aa, (4, 3), (0, 4, 1, 2), optimize=True) - tmp193 = einsum(v.aabb.ovov, (0, 1, 2, 3), tmp37, (4, 0, 5, 2), (4, 5, 1, 3), optimize=True) - l2new.abab += tmp193.transpose((2, 3, 0, 1)) * 0.5 - tmp192 = einsum(l2.abab, (0, 1, 2, 3), v.aabb.vvvv, (4, 0, 1, 5), (2, 3, 4, 5), optimize=True) - l2new.abab += tmp192.transpose((2, 3, 0, 1)) * 0.5 - l2new.abab += einsum(tmp3, (0, 1, 2, 3), v.bbaa.ovvv, (2, 4, 5, 3), (5, 4, 0, 1), optimize=True) * -1 - tmp151 = v.aaaa.ovov.transpose((2, 0, 3, 1)).copy() - tmp151 += v.aaaa.ovov.transpose((2, 0, 1, 3)) * -1 - tmp152 = einsum(tmp151, (0, 1, 2, 3), t1.aa, (0, 3), (1, 2), optimize=True) - del tmp151 - tmp153 = tmp152.copy() * -1 - del tmp152 - tmp13 = einsum(v.aabb.ovov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1), optimize=True) - tmp153 += tmp13 - tmp153 += f.aa.ov - l2new.abab += einsum(tmp153, (0, 1), tmp35, (2, 0, 3, 4), (1, 4, 2, 3), optimize=True) * -1 - tmp81 = v.aaaa.ovvv.transpose((0, 3, 1, 2)).copy() - tmp81 += v.aaaa.ovvv.transpose((0, 1, 3, 2)) * -1 - tmp82 = einsum(tmp81, (0, 1, 2, 3), t1.aa, (0, 1), (2, 3), optimize=True) - del tmp81 - tmp83 = tmp82.transpose((1, 0)).copy() * -1 - del tmp82 - tmp80 = einsum(v.bbaa.ovvv, (0, 1, 2, 3), t1.bb, (0, 1), (2, 3), optimize=True) - tmp83 += tmp80.transpose((1, 0)) - tmp83 += f.aa.vv.transpose((1, 0)) - l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp83, (0, 4), (4, 1, 2, 3), optimize=True) - l2new.abab += tmp193.transpose((2, 3, 0, 1)) * 0.5 - del tmp193 - l2new.abab += tmp192.transpose((2, 3, 0, 1)) * 0.5 - del tmp192 - l2new.abab += einsum(v.aabb.ovvv, (0, 1, 2, 3), tmp35, (4, 0, 5, 2), (1, 3, 4, 5), optimize=True) * -1 - l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp191, (3, 4), (0, 1, 2, 4), optimize=True) * -1 - del tmp191 - tmp98 = einsum(t1.bb, (0, 1), v.bbaa.ovvv, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) - tmp188 = tmp98.transpose((0, 1, 3, 2)).copy() - tmp188 += v.bbaa.oovv.transpose((1, 0, 3, 2)) - l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp188, (3, 4, 0, 5), (5, 1, 2, 4), optimize=True) * -1 - del tmp188 - l2new.abab += einsum(l1.aa, (0, 1), tmp187, (2, 3), (0, 3, 1, 2), optimize=True) - del tmp187 - tmp184 = v.bbbb.ooov.transpose((1, 2, 0, 3)).copy() * -1 - tmp184 += v.bbbb.ooov.transpose((1, 0, 2, 3)) - l2new.abab += einsum(tmp3, (0, 1, 2, 3), tmp184, (1, 4, 2, 5), (3, 5, 0, 4), optimize=True) - del tmp184 - tmp183 = tmp92.transpose((0, 2, 1, 3)).copy() * -1 - tmp183 += tmp92 - l2new.abab += einsum(tmp3, (0, 1, 2, 3), tmp183, (1, 2, 4, 5), (3, 5, 0, 4), optimize=True) - del tmp183 - l2new.abab += einsum(tmp182, (0, 1, 2, 3), l2.aaaa, (2, 4, 0, 5), (4, 3, 5, 1), optimize=True) * 2 - del tmp182 - tmp180 = tmp179.transpose((0, 1, 3, 2)).copy() * -1 - del tmp179 - tmp180 += v.bbbb.oovv.transpose((1, 0, 3, 2)) * -1 - tmp180 += v.bbbb.ovov.transpose((2, 0, 3, 1)) - l2new.abab += einsum(tmp180, (0, 1, 2, 3), l2.abab, (4, 2, 5, 0), (4, 3, 5, 1), optimize=True) - del tmp180 - l2new.abab += einsum(l1.aa, (0, 1), v.bbaa.ovvv, (2, 3, 4, 0), (4, 3, 1, 2), optimize=True) - tmp0 = einsum(l2.aaaa, (0, 1, 2, 3), t1.aa, (4, 1), (2, 3, 4, 0), optimize=True) - l2new.abab += einsum(tmp0, (0, 1, 2, 3), tmp11, (1, 2, 4, 5), (3, 5, 0, 4), optimize=True) * -2 - l2new.abab += einsum(v.aabb.ooov, (0, 1, 2, 3), tmp0, (4, 0, 1, 5), (5, 3, 4, 2), optimize=True) * -2 - l2new.abab += einsum(l1.bb, (0, 1), tmp153, (2, 3), (3, 0, 2, 1), optimize=True) - tmp21 = tmp9.copy() - tmp21 += v.aabb.ovoo.transpose((0, 3, 2, 1)) - l2new.abab += einsum(tmp21, (0, 1, 2, 3), l1.bb, (4, 1), (3, 4, 0, 2), optimize=True) * -1 - tmp154 = einsum(tmp153, (0, 1), t1.aa, (2, 1), (0, 2), optimize=True) - tmp155 = tmp154.transpose((1, 0)).copy() - del tmp154 - tmp149 = v.aaaa.ooov.transpose((2, 1, 0, 3)).copy() * -1 - tmp149 += v.aaaa.ooov.transpose((1, 0, 2, 3)) - tmp150 = einsum(tmp149, (0, 1, 2, 3), t1.aa, (0, 3), (1, 2), optimize=True) - del tmp149 - tmp155 += tmp150 * -1 - del tmp150 - tmp84 = einsum(v.aabb.ooov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1), optimize=True) - tmp155 += tmp84.transpose((1, 0)) - tmp155 += f.aa.oo.transpose((1, 0)) - l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp155, (2, 4), (0, 1, 4, 3), optimize=True) * -1 - l2new.abab += einsum(tmp178, (0, 1, 2, 3), tmp3, (0, 4, 2, 5), (5, 3, 1, 4), optimize=True) - del tmp178 - tmp7 = einsum(t1.aa, (0, 1), v.aaaa.ovov, (2, 1, 3, 4), (0, 3, 2, 4), optimize=True) - tmp177 = tmp7.transpose((0, 2, 1, 3)).copy() * -1 - tmp177 += tmp7 - l2new.abab += einsum(tmp35, (0, 1, 2, 3), tmp177, (0, 1, 4, 5), (5, 3, 4, 2), optimize=True) - del tmp177 - tmp176 = v.aaaa.ooov.transpose((1, 2, 0, 3)).copy() - tmp176 += v.aaaa.ooov.transpose((1, 0, 2, 3)) * -1 - l2new.abab += einsum(tmp35, (0, 1, 2, 3), tmp176, (0, 4, 1, 5), (5, 3, 4, 2), optimize=True) * -1 - del tmp176 - tmp17 = einsum(t1.bb, (0, 1), v.aabb.ovvv, (2, 3, 1, 4), (2, 0, 3, 4), optimize=True) - tmp147 = tmp17.copy() - tmp147 += v.aabb.ovov.transpose((0, 2, 1, 3)) - l2new.abab += einsum(l2.bbbb, (0, 1, 2, 3), tmp147, (4, 2, 5, 0), (5, 1, 4, 3), optimize=True) * 2 - tmp174 = v.aaaa.ovvv.transpose((0, 3, 1, 2)).copy() - tmp174 += v.aaaa.ovvv.transpose((0, 1, 3, 2)) * -1 - tmp175 = einsum(tmp174, (0, 1, 2, 3), t1.aa, (4, 2), (4, 0, 3, 1), optimize=True) * -1 - del tmp174 - tmp175 += v.aaaa.oovv.transpose((1, 0, 3, 2)) * -1 - tmp175 += v.aaaa.ovov.transpose((2, 0, 3, 1)) - l2new.abab += einsum(tmp175, (0, 1, 2, 3), l2.abab, (2, 4, 0, 5), (3, 4, 1, 5), optimize=True) - del tmp175 - l2new.abab += einsum(v.aabb.ovvv, (0, 1, 2, 3), l1.bb, (3, 4), (1, 2, 0, 4), optimize=True) - l2new.abab += einsum(v.aabb.ovov, (0, 1, 2, 3), tmp72, (4, 2), (1, 3, 0, 4), optimize=True) * -1 - l2new.abab += einsum(tmp70, (0, 1, 2, 3), tmp9, (4, 1, 2, 5), (5, 3, 4, 0), optimize=True) * -2 - l2new.abab += einsum(v.aabb.ovoo, (0, 1, 2, 3), tmp70, (4, 2, 3, 5), (1, 5, 0, 4), optimize=True) * -2 - l2new.abab += v.aabb.ovov.transpose((1, 3, 0, 2)) - tmp135 = einsum(tmp0, (0, 1, 2, 3), tmp7, (1, 2, 4, 5), (0, 4, 3, 5), optimize=True) - l2new.aaaa = tmp135.transpose((3, 2, 0, 1)).copy() * -2 - tmp137 = einsum(tmp0, (0, 1, 2, 3), v.aaaa.ooov, (4, 0, 2, 5), (1, 4, 3, 5), optimize=True) * -1 - l2new.aaaa += tmp137.transpose((3, 2, 0, 1)) * -2 - tmp141 = einsum(v.aaaa.ovov, (0, 1, 2, 3), tmp57, (4, 2), (4, 0, 1, 3), optimize=True) - l2new.aaaa += tmp141.transpose((3, 2, 0, 1)) * -1 - tmp140 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t1.aa, (2, 1), (0, 3), optimize=True) - l2new.aaaa += einsum(l1.aa, (0, 1), tmp140, (2, 3), (3, 0, 1, 2), optimize=True) - tmp161 = tmp7.copy() - tmp161 += v.aaaa.ooov.transpose((1, 2, 0, 3)) - tmp162 = einsum(l1.aa, (0, 1), tmp161, (1, 2, 3, 4), (2, 3, 4, 0), optimize=True) - del tmp161 - l2new.aaaa += tmp162.transpose((3, 2, 1, 0)) * -1 - tmp173 = tmp7.transpose((0, 2, 1, 3)).copy() - tmp173 += v.aaaa.ooov.transpose((1, 0, 2, 3)) - l2new.aaaa += einsum(l1.aa, (0, 1), tmp173, (1, 2, 3, 4), (4, 0, 2, 3), optimize=True) - del tmp173 - tmp28 = einsum(t1.aa, (0, 1), tmp7, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) - tmp172 = tmp28.transpose((0, 2, 3, 1)).copy() - tmp172 += v.aaaa.oooo.transpose((2, 3, 1, 0)) - l2new.aaaa += einsum(tmp172, (0, 1, 2, 3), l2.aaaa, (4, 5, 0, 3), (5, 4, 2, 1), optimize=True) * 2 - del tmp172 - tmp29 = einsum(t1.aa, (0, 1), v.aaaa.ooov, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) - tmp171 = einsum(l2.aaaa, (0, 1, 2, 3), tmp29, (3, 2, 4, 5), (4, 5, 0, 1), optimize=True) * -1 - l2new.aaaa += tmp171.transpose((2, 3, 1, 0)) * 2 - l2new.aaaa += tmp171.transpose((2, 3, 0, 1)) * -2 - del tmp171 - tmp170 = einsum(tmp0, (0, 1, 2, 3), tmp153, (2, 4), (0, 1, 4, 3), optimize=True) - del tmp153 - l2new.aaaa += tmp170.transpose((3, 2, 1, 0)) * 2 - tmp33 = v.aaaa.ovvv.transpose((0, 3, 2, 1)).copy() - tmp33 += v.aaaa.ovvv.transpose((0, 1, 3, 2)) * -1 - tmp167 = einsum(tmp33, (0, 1, 2, 3), t1.aa, (0, 1), (2, 3), optimize=True) - tmp168 = tmp167.transpose((1, 0)).copy() * -1 - del tmp167 - tmp168 += tmp80.transpose((1, 0)) - del tmp80 - tmp168 += f.aa.vv.transpose((1, 0)) - tmp169 = einsum(tmp168, (0, 1), l2.aaaa, (1, 2, 3, 4), (3, 4, 0, 2), optimize=True) - del tmp168 - l2new.aaaa += tmp169.transpose((3, 2, 1, 0)) * 2 - tmp166 = einsum(v.aaaa.vvvv, (0, 1, 2, 3), l2.aaaa, (3, 1, 4, 5), (4, 5, 0, 2), optimize=True) * -1 - l2new.aaaa += tmp166.transpose((3, 2, 1, 0)) - tmp165 = einsum(v.aaaa.ovvv, (0, 1, 2, 3), tmp0, (4, 5, 0, 3), (5, 4, 1, 2), optimize=True) - l2new.aaaa += tmp165.transpose((3, 2, 1, 0)) * -2 - tmp5 = einsum(tmp0, (0, 1, 2, 3), t1.aa, (4, 3), (0, 1, 4, 2), optimize=True) - tmp164 = einsum(tmp5, (0, 1, 2, 3), v.aaaa.ovov, (2, 4, 3, 5), (0, 1, 4, 5), optimize=True) - l2new.aaaa += tmp164.transpose((3, 2, 1, 0)) - l2new.aaaa += tmp170.transpose((2, 3, 1, 0)) * -2 - del tmp170 - l2new.aaaa += tmp169.transpose((2, 3, 1, 0)) * -2 - del tmp169 - l2new.aaaa += einsum(l1.aa, (0, 1), tmp140, (2, 3), (3, 0, 2, 1), optimize=True) * -1 - l2new.aaaa += tmp141.transpose((3, 2, 1, 0)) - l2new.aaaa += tmp166.transpose((3, 2, 1, 0)) - del tmp166 - l2new.aaaa += tmp165.transpose((2, 3, 1, 0)) * 2 - del tmp165 - l2new.aaaa += tmp137.transpose((3, 2, 1, 0)) * 2 - l2new.aaaa += tmp135.transpose((3, 2, 1, 0)) * 2 - l2new.aaaa += tmp164.transpose((3, 2, 1, 0)) - del tmp164 - tmp158 = tmp13.copy() - tmp157 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t1.aa, (2, 3), (0, 1), optimize=True) - tmp158 += tmp157 - tmp158 += f.aa.ov - l2new.aaaa += einsum(tmp158, (0, 1), l1.aa, (2, 3), (2, 1, 0, 3), optimize=True) * -1 - tmp148 = einsum(tmp147, (0, 1, 2, 3), l2.abab, (4, 3, 5, 1), (0, 5, 2, 4), optimize=True) - del tmp147 - l2new.aaaa += tmp148.transpose((3, 2, 0, 1)) * -1 - tmp143 = v.aaaa.ovvv.transpose((0, 3, 2, 1)).copy() * -1 - tmp143 += v.aaaa.ovvv.transpose((0, 1, 3, 2)) - tmp144 = einsum(tmp143, (0, 1, 2, 3), t1.aa, (4, 1), (0, 4, 2, 3), optimize=True) - del tmp143 - tmp145 = tmp144.transpose((1, 0, 3, 2)).copy() * -1 - del tmp144 - tmp145 += v.aaaa.oovv.transpose((1, 0, 3, 2)) * -1 - tmp145 += v.aaaa.ovov.transpose((2, 0, 1, 3)) - tmp146 = einsum(l2.aaaa, (0, 1, 2, 3), tmp145, (2, 4, 5, 0), (4, 3, 5, 1), optimize=True) - del tmp145 - l2new.aaaa += tmp146.transpose((3, 2, 0, 1)) * -2 - tmp142 = einsum(v.aaaa.ovvv, (0, 1, 2, 3), l1.aa, (3, 4), (4, 0, 1, 2), optimize=True) - l2new.aaaa += tmp142.transpose((3, 2, 1, 0)) * -1 - tmp139 = einsum(tmp3, (0, 1, 2, 3), v.aabb.ovoo, (4, 5, 1, 2), (0, 4, 3, 5), optimize=True) - l2new.aaaa += tmp139.transpose((2, 3, 1, 0)) - tmp138 = einsum(tmp0, (0, 1, 2, 3), v.aaaa.ooov, (0, 2, 4, 5), (1, 4, 3, 5), optimize=True) * -1 - l2new.aaaa += tmp138.transpose((2, 3, 1, 0)) * 2 - tmp136 = einsum(tmp0, (0, 1, 2, 3), tmp7, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) * -1 - l2new.aaaa += tmp136.transpose((2, 3, 1, 0)) * 2 - tmp134 = einsum(tmp3, (0, 1, 2, 3), tmp9, (4, 1, 2, 5), (0, 4, 3, 5), optimize=True) - l2new.aaaa += tmp134.transpose((2, 3, 1, 0)) - l2new.aaaa += einsum(l1.aa, (0, 1), tmp158, (2, 3), (0, 3, 1, 2), optimize=True) - l2new.aaaa += tmp148.transpose((3, 2, 1, 0)) - l2new.aaaa += tmp146.transpose((3, 2, 1, 0)) * 2 - l2new.aaaa += tmp142.transpose((3, 2, 0, 1)) - l2new.aaaa += tmp139.transpose((2, 3, 0, 1)) * -1 - l2new.aaaa += tmp138.transpose((2, 3, 0, 1)) * -2 - l2new.aaaa += tmp136.transpose((2, 3, 0, 1)) * -2 - l2new.aaaa += tmp134.transpose((2, 3, 0, 1)) * -1 - tmp163 = tmp13.copy() - tmp163 += tmp157 - del tmp157 - tmp163 += f.aa.ov - l2new.aaaa += einsum(l1.aa, (0, 1), tmp163, (2, 3), (3, 0, 1, 2), optimize=True) * -1 - del tmp163 - l2new.aaaa += tmp162.transpose((3, 2, 0, 1)) - del tmp162 - tmp14 = v.aaaa.ovov.transpose((2, 0, 3, 1)).copy() - tmp14 += v.aaaa.ovov.transpose((2, 0, 1, 3)) * -1 - tmp15 = einsum(tmp14, (0, 1, 2, 3), t1.aa, (0, 3), (1, 2), optimize=True) - tmp16 = tmp15.copy() * -1 - del tmp15 - tmp16 += tmp13 - del tmp13 - tmp16 += f.aa.ov - tmp87 = einsum(t1.aa, (0, 1), tmp16, (2, 1), (0, 2), optimize=True) - tmp160 = tmp87.copy() - tmp85 = v.aaaa.ooov.transpose((2, 1, 0, 3)).copy() * -1 - tmp85 += v.aaaa.ooov.transpose((1, 0, 2, 3)) - tmp86 = einsum(tmp85, (0, 1, 2, 3), t1.aa, (0, 3), (1, 2), optimize=True) - del tmp85 - tmp160 += tmp86 * -1 - tmp160 += tmp84.transpose((1, 0)) - tmp160 += f.aa.oo.transpose((1, 0)) - l2new.aaaa += einsum(l2.aaaa, (0, 1, 2, 3), tmp160, (2, 4), (1, 0, 3, 4), optimize=True) * -2 - del tmp160 - tmp18 = tmp17.copy() - del tmp17 - tmp18 += v.aabb.ovov.transpose((0, 2, 1, 3)) - l2new.aaaa += einsum(l2.abab, (0, 1, 2, 3), tmp18, (4, 3, 5, 1), (5, 0, 2, 4), optimize=True) * -1 - tmp52 = v.aaaa.ovvv.transpose((0, 3, 2, 1)).copy() * -1 - tmp52 += v.aaaa.ovvv.transpose((0, 1, 3, 2)) - tmp159 = einsum(tmp52, (0, 1, 2, 3), t1.aa, (4, 1), (4, 0, 3, 2), optimize=True) * -1 - tmp159 += v.aaaa.oovv.transpose((1, 0, 3, 2)) * -1 - tmp159 += v.aaaa.ovov.transpose((2, 0, 1, 3)) - l2new.aaaa += einsum(tmp159, (0, 1, 2, 3), l2.aaaa, (3, 4, 0, 5), (2, 4, 5, 1), optimize=True) * -2 - del tmp159 - l2new.aaaa += tmp142.transpose((2, 3, 0, 1)) * -1 - l2new.aaaa += einsum(tmp140, (0, 1), l1.aa, (2, 3), (2, 1, 3, 0), optimize=True) * -1 - l2new.aaaa += tmp141.transpose((2, 3, 0, 1)) - l2new.aaaa += tmp139.transpose((3, 2, 0, 1)) - l2new.aaaa += tmp138.transpose((3, 2, 0, 1)) * 2 - l2new.aaaa += tmp137.transpose((2, 3, 0, 1)) * 2 - l2new.aaaa += v.aaaa.ovov.transpose((1, 3, 2, 0)) * -1 - l2new.aaaa += tmp136.transpose((3, 2, 0, 1)) * 2 - l2new.aaaa += tmp135.transpose((2, 3, 0, 1)) * 2 - l2new.aaaa += tmp134.transpose((3, 2, 0, 1)) - l2new.aaaa += einsum(l1.aa, (0, 1), tmp158, (2, 3), (3, 0, 2, 1), optimize=True) - del tmp158 - tmp156 = tmp7.transpose((0, 2, 1, 3)).copy() - tmp156 += v.aaaa.ooov.transpose((1, 0, 2, 3)) - l2new.aaaa += einsum(l1.aa, (0, 1), tmp156, (1, 2, 3, 4), (4, 0, 3, 2), optimize=True) * -1 - del tmp156 - l2new.aaaa += einsum(l2.aaaa, (0, 1, 2, 3), tmp155, (2, 4), (1, 0, 4, 3), optimize=True) * 2 - del tmp155 - l2new.aaaa += tmp148.transpose((2, 3, 0, 1)) - del tmp148 - l2new.aaaa += tmp146.transpose((2, 3, 0, 1)) * 2 - del tmp146 - l2new.aaaa += tmp142.transpose((2, 3, 1, 0)) - del tmp142 - l2new.aaaa += tmp141.transpose((2, 3, 1, 0)) * -1 - del tmp141 - l2new.aaaa += einsum(l1.aa, (0, 1), tmp140, (2, 3), (0, 3, 2, 1), optimize=True) - del tmp140 - l2new.aaaa += tmp139.transpose((3, 2, 1, 0)) * -1 - del tmp139 - l2new.aaaa += tmp138.transpose((3, 2, 1, 0)) * -2 - del tmp138 - l2new.aaaa += tmp137.transpose((2, 3, 1, 0)) * -2 - del tmp137 - l2new.aaaa += v.aaaa.ovov.transpose((3, 1, 2, 0)) - l2new.aaaa += tmp136.transpose((3, 2, 1, 0)) * -2 - del tmp136 - l2new.aaaa += tmp135.transpose((2, 3, 1, 0)) * -2 - del tmp135 - l2new.aaaa += tmp134.transpose((3, 2, 1, 0)) * -1 - del tmp134 - tmp133 = einsum(t1.bb, (0, 1), tmp97, (2, 1), (0, 2), optimize=True) * 0.5 - tmp133 += einsum(t1.bb, (0, 1), tmp132, (2, 3, 0, 1), (3, 2), optimize=True) * -0.5 - del tmp132 - tmp133 += einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (2, 4, 1, 3), (4, 0), optimize=True) * -1 - tmp133 += einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 4, 1, 3), (4, 2), optimize=True) * 0.5 - tmp133 += tmp131.transpose((1, 0)) * 0.5 - del tmp131 - tmp133 += f.bb.oo.transpose((1, 0)) * 0.5 - l1new.bb = einsum(tmp133, (0, 1), l1.bb, (2, 0), (2, 1), optimize=True) * -2 - del tmp133 - tmp74 = einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (2, 4, 0, 1), (3, 4), optimize=True) - tmp130 = tmp74.copy() - tmp73 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 1), (3, 4), optimize=True) - tmp130 += tmp73 * 0.5 - tmp130 += tmp72 * 0.5 - l1new.bb += einsum(tmp130, (0, 1), tmp97, (1, 2), (2, 0), optimize=True) * -2 - del tmp130 - tmp129 = einsum(tmp128, (0, 1, 2, 3), t1.bb, (0, 1), (3, 2), optimize=True) * -1 - del tmp128 - tmp129 += tmp127.transpose((1, 0)) - del tmp127 - tmp129 += f.bb.vv.transpose((1, 0)) - l1new.bb += einsum(tmp129, (0, 1), l1.bb, (0, 2), (1, 2), optimize=True) - del tmp129 - tmp59 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 3, 4, 1), (4, 0), optimize=True) - tmp77 = tmp59.copy() - tmp58 = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (2, 3, 4, 0), (4, 1), optimize=True) * -1 - tmp77 += tmp58 * 2 - tmp77 += tmp57 - l1new.bb += einsum(v.aabb.ooov, (0, 1, 2, 3), tmp77, (1, 0), (3, 2), optimize=True) * -1 - tmp126 = v.bbbb.oovv.transpose((1, 0, 3, 2)).copy() * -1 - tmp126 += v.bbbb.ovov.transpose((2, 0, 3, 1)) - l1new.bb += einsum(l1.bb, (0, 1), tmp126, (1, 2, 0, 3), (3, 2), optimize=True) - del tmp126 - tmp125 = v.bbbb.ooov.transpose((1, 2, 0, 3)).copy() - tmp125 += v.bbbb.ooov.transpose((1, 0, 2, 3)) * -1 - tmp75 = tmp74.copy() * 2 - del tmp74 - tmp75 += tmp73 - del tmp73 - tmp75 += tmp72 - del tmp72 - l1new.bb += einsum(tmp75, (0, 1), tmp125, (0, 2, 1, 3), (3, 2), optimize=True) * -1 - del tmp125 - tmp60 = tmp59.copy() * 0.5 - del tmp59 - tmp60 += tmp58 - del tmp58 - tmp60 += tmp57 * 0.5 - del tmp57 - tmp61 = einsum(t1.aa, (0, 1), tmp60, (0, 2), (2, 1), optimize=True) * 2 - del tmp60 - tmp124 = tmp61.copy() - tmp56 = einsum(t2.abab, (0, 1, 2, 3), tmp35, (0, 4, 1, 3), (4, 2), optimize=True) - tmp124 += tmp56 - tmp55 = einsum(tmp0, (0, 1, 2, 3), t2.aaaa, (0, 1, 3, 4), (2, 4), optimize=True) - tmp124 += tmp55 * 2 - tmp54 = einsum(l1.bb, (0, 1), t2.abab, (2, 1, 3, 0), (2, 3), optimize=True) - tmp124 += tmp54 * -1 - tmp53 = einsum(l1.aa, (0, 1), t2.aaaa, (2, 1, 3, 0), (2, 3), optimize=True) - tmp124 += tmp53 * -2 - tmp124 += t1.aa * -1 - tmp124 += l1.aa.transpose((1, 0)) * -1 - l1new.bb += einsum(v.aabb.ovov, (0, 1, 2, 3), tmp124, (0, 1), (3, 2), optimize=True) * -1 - del tmp124 - tmp50 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 4, 1), (0, 4), optimize=True) - tmp51 = tmp50.copy() - del tmp50 - tmp49 = einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (2, 3, 0, 4), (1, 4), optimize=True) - tmp51 += tmp49 * 2 - del tmp49 - tmp48 = einsum(t1.aa, (0, 1), l1.aa, (2, 0), (2, 1), optimize=True) - tmp51 += tmp48 - del tmp48 - l1new.bb += einsum(v.bbaa.ovvv, (0, 1, 2, 3), tmp51, (3, 2), (1, 0), optimize=True) - tmp123 = v.bbbb.ovov.transpose((2, 0, 3, 1)).copy() * -1 - tmp123 += v.bbbb.ovov.transpose((2, 0, 1, 3)) - tmp122 = einsum(tmp75, (0, 1), t1.bb, (0, 2), (1, 2), optimize=True) * 0.5 - tmp71 = einsum(tmp70, (0, 1, 2, 3), t2.bbbb, (0, 1, 3, 4), (2, 4), optimize=True) - tmp122 += tmp71 - tmp69 = einsum(tmp3, (0, 1, 2, 3), t2.abab, (0, 1, 3, 4), (2, 4), optimize=True) - tmp122 += tmp69 * 0.5 - tmp68 = einsum(t2.bbbb, (0, 1, 2, 3), l1.bb, (3, 1), (0, 2), optimize=True) - tmp122 += tmp68 * -1 - tmp67 = einsum(l1.aa, (0, 1), t2.abab, (1, 2, 0, 3), (2, 3), optimize=True) - tmp122 += tmp67 * -0.5 - tmp122 += t1.bb * -0.5 - l1new.bb += einsum(tmp122, (0, 1), tmp123, (0, 2, 3, 1), (3, 2), optimize=True) * -2 - del tmp122, tmp123 - tmp65 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (2, 4, 0, 1), (4, 3), optimize=True) - tmp121 = tmp65.copy() - tmp64 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 4, 0, 1), (4, 3), optimize=True) - tmp121 += tmp64 * 0.5 - tmp63 = einsum(l1.bb, (0, 1), t1.bb, (1, 2), (0, 2), optimize=True) - tmp121 += tmp63 * 0.5 - tmp113 = v.bbbb.ovvv.transpose((0, 3, 2, 1)).copy() * -1 - tmp113 += v.bbbb.ovvv.transpose((0, 1, 3, 2)) - l1new.bb += einsum(tmp113, (0, 1, 2, 3), tmp121, (2, 1), (3, 0), optimize=True) * -2 - del tmp121 - tmp120 = tmp37.transpose((1, 0, 2, 3)).copy() - tmp36 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 5, 0, 1), (2, 4, 3, 5), optimize=True) - tmp120 += tmp36 - l1new.bb += einsum(v.aabb.ooov, (0, 1, 2, 3), tmp120, (1, 0, 4, 2), (3, 4), optimize=True) - del tmp120 - tmp116 = einsum(t2.bbbb, (0, 1, 2, 3), tmp70, (4, 1, 5, 3), (4, 5, 0, 2), optimize=True) * -1 - tmp119 = tmp116.transpose((0, 2, 1, 3)).copy() * 2 - tmp115 = einsum(tmp3, (0, 1, 2, 3), t2.abab, (0, 4, 3, 5), (1, 2, 4, 5), optimize=True) - tmp119 += tmp115.transpose((0, 2, 1, 3)) * 0.5 - tmp119 += einsum(t2.bbbb, (0, 1, 2, 3), l1.bb, (3, 4), (4, 1, 0, 2), optimize=True) * -1 - l1new.bb += einsum(tmp119, (0, 1, 2, 3), v.bbbb.ovov, (1, 4, 2, 3), (4, 0), optimize=True) * 2 - del tmp119 - tmp117 = tmp91.transpose((0, 1, 3, 2)).copy() * -1 - tmp90 = einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 5, 0, 1), (2, 3, 4, 5), optimize=True) - tmp117 += tmp90.transpose((1, 0, 3, 2)) - tmp118 = einsum(t1.bb, (0, 1), tmp117, (0, 2, 3, 4), (4, 2, 3, 1), optimize=True) - del tmp117 - tmp118 += tmp116.transpose((2, 0, 1, 3)) * 2 - del tmp116 - tmp118 += tmp115.transpose((2, 0, 1, 3)) * 0.5 - del tmp115 - tmp118 += tmp70.transpose((1, 0, 2, 3)) * -1 - l1new.bb += einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp118, (0, 4, 2, 1), (3, 4), optimize=True) * -2 - del tmp118 - tmp114 = einsum(v.bbbb.vvvv, (0, 1, 2, 3), t1.bb, (4, 2), (4, 1, 3, 0), optimize=True) * -1 - tmp114 += v.bbbb.ovvv.transpose((0, 1, 3, 2)) - l1new.bb += einsum(tmp114, (0, 1, 2, 3), l2.bbbb, (1, 2, 0, 4), (3, 4), optimize=True) * 2 - del tmp114 - tmp112 = einsum(t1.bb, (0, 1), tmp70, (2, 0, 3, 4), (2, 3, 4, 1), optimize=True) - l1new.bb += einsum(tmp113, (0, 1, 2, 3), tmp112, (4, 0, 2, 1), (3, 4), optimize=True) * -2 - del tmp113, tmp112 - tmp111 = einsum(t1.aa, (0, 1), tmp3, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) - tmp111 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 5, 1), (3, 4, 0, 5), optimize=True) - l1new.bb += einsum(v.bbaa.ovvv, (0, 1, 2, 3), tmp111, (4, 0, 3, 2), (1, 4), optimize=True) * -1 - del tmp111 - tmp38 = tmp37.copy() - tmp38 += tmp36 - tmp110 = einsum(t1.aa, (0, 1), tmp38, (0, 2, 3, 4), (2, 3, 4, 1), optimize=True) * -0.5 - tmp110 += einsum(t2.abab, (0, 1, 2, 3), tmp70, (4, 1, 5, 3), (0, 4, 5, 2), optimize=True) * -1 - tmp110 += einsum(tmp35, (0, 1, 2, 3), t2.abab, (0, 4, 5, 3), (1, 2, 4, 5), optimize=True) * -0.5 - tmp110 += einsum(t2.aaaa, (0, 1, 2, 3), tmp3, (1, 4, 5, 3), (0, 4, 5, 2), optimize=True) - tmp110 += tmp3 * 0.5 - tmp110 += einsum(l1.bb, (0, 1), t2.abab, (2, 3, 4, 0), (2, 1, 3, 4), optimize=True) * 0.5 - l1new.bb += einsum(v.aabb.ovov, (0, 1, 2, 3), tmp110, (0, 4, 2, 1), (3, 4), optimize=True) * -2 - del tmp110 - tmp109 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (3, 4, 5, 1), (5, 0, 4, 2), optimize=True) * -4 - tmp109 += einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 4, 0, 5), (5, 1, 4, 3), optimize=True) - l1new.bb += einsum(tmp109, (0, 1, 2, 3), tmp108, (1, 4, 3, 2), (4, 0), optimize=True) - del tmp108, tmp109 - tmp107 = einsum(t2.abab, (0, 1, 2, 3), l2.bbbb, (4, 3, 1, 5), (0, 5, 2, 4), optimize=True) * -2 - tmp107 += einsum(tmp35, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3), optimize=True) * -1 - tmp107 += einsum(t2.aaaa, (0, 1, 2, 3), l2.abab, (3, 4, 1, 5), (0, 5, 2, 4), optimize=True) * 2 - tmp107 += l2.abab.transpose((2, 3, 0, 1)) - l1new.bb += einsum(tmp107, (0, 1, 2, 3), v.aabb.ovvv, (0, 2, 3, 4), (4, 1), optimize=True) - del tmp107 - tmp105 = tmp104.transpose((3, 0, 2, 1)).copy() - tmp105 += tmp104.transpose((2, 0, 3, 1)) * -1 - del tmp104 - tmp105 += tmp103.transpose((2, 1, 3, 0)) * -1 - del tmp103 - tmp105 += einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (4, 5, 3, 1), (2, 5, 0, 4), optimize=True) * -1 - tmp105 += v.bbbb.oooo.transpose((2, 3, 1, 0)) - tmp106 = einsum(t1.bb, (0, 1), tmp105, (0, 2, 3, 4), (3, 4, 2, 1), optimize=True) - del tmp105 - tmp102 = einsum(v.bbbb.ovvv, (0, 1, 2, 3), t1.bb, (4, 2), (4, 0, 3, 1), optimize=True) - tmp102 += v.bbbb.oovv.transpose((1, 0, 3, 2)) * -1 - tmp102 += v.bbbb.ovov.transpose((2, 0, 3, 1)) - tmp106 += einsum(t1.bb, (0, 1), tmp102, (2, 3, 4, 1), (3, 2, 0, 4), optimize=True) - del tmp102 - tmp106 += einsum(tmp97, (0, 1), t2.bbbb, (2, 3, 1, 4), (0, 3, 2, 4), optimize=True) - tmp106 += einsum(t2.abab, (0, 1, 2, 3), tmp21, (0, 4, 5, 2), (5, 1, 4, 3), optimize=True) - tmp101 = tmp92.transpose((0, 2, 1, 3)).copy() - tmp101 += tmp92 * -1 - tmp101 += v.bbbb.ooov.transpose((1, 2, 0, 3)) * -1 - tmp101 += v.bbbb.ooov.transpose((1, 0, 2, 3)) - tmp106 += einsum(t2.bbbb, (0, 1, 2, 3), tmp101, (4, 5, 0, 2), (5, 1, 4, 3), optimize=True) * 2 - del tmp101 - tmp106 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), t2.bbbb, (4, 5, 2, 1), (0, 5, 4, 3), optimize=True) * -1 - tmp106 += v.bbbb.ooov.transpose((1, 0, 2, 3)) * -1 - l1new.bb += einsum(l2.bbbb, (0, 1, 2, 3), tmp106, (4, 2, 3, 0), (1, 4), optimize=True) * -2 - del tmp106 - tmp22 = einsum(t1.aa, (0, 1), tmp21, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) - del tmp21 - tmp23 = tmp22.transpose((1, 0, 3, 2)).copy() - del tmp22 - tmp20 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (4, 5, 1, 3), (4, 0, 5, 2), optimize=True) - tmp23 += tmp20.transpose((1, 0, 3, 2)) - del tmp20 - tmp23 += tmp19.transpose((1, 0, 3, 2)) - del tmp19 - tmp23 += v.aabb.oooo.transpose((1, 0, 3, 2)) - tmp100 = einsum(tmp23, (0, 1, 2, 3), t1.aa, (0, 4), (1, 3, 2, 4), optimize=True) * -1 - tmp99 = tmp98.transpose((1, 0, 3, 2)).copy() - del tmp98 - tmp99 += v.bbaa.oovv.transpose((1, 0, 3, 2)) - tmp100 += einsum(tmp99, (0, 1, 2, 3), t1.aa, (4, 2), (4, 1, 0, 3), optimize=True) - del tmp99 - tmp100 += einsum(tmp97, (0, 1), t2.abab, (2, 3, 4, 1), (2, 3, 0, 4), optimize=True) - del tmp97 - tmp12 = tmp11.transpose((1, 0, 2, 3)).copy() - tmp12 += v.aabb.ooov.transpose((1, 0, 2, 3)) - tmp100 += einsum(t2.abab, (0, 1, 2, 3), tmp12, (0, 4, 5, 3), (4, 1, 5, 2), optimize=True) * -1 - tmp100 += einsum(t2.aaaa, (0, 1, 2, 3), tmp10, (0, 4, 5, 2), (1, 5, 4, 3), optimize=True) * 2 - tmp93 = tmp92.transpose((2, 0, 1, 3)).copy() - tmp93 += tmp92.transpose((1, 0, 2, 3)) * -1 - del tmp92 - tmp93 += v.bbbb.ooov.transpose((2, 1, 0, 3)) * -1 - tmp93 += v.bbbb.ooov.transpose((1, 0, 2, 3)) - tmp100 += einsum(t2.abab, (0, 1, 2, 3), tmp93, (4, 5, 1, 3), (0, 5, 4, 2), optimize=True) - del tmp93 - tmp100 += einsum(v.bbaa.ovvv, (0, 1, 2, 3), t2.abab, (4, 5, 2, 1), (4, 5, 0, 3), optimize=True) - tmp100 += tmp9 - del tmp9 - tmp100 += v.aabb.ovoo.transpose((0, 3, 2, 1)) - l1new.bb += einsum(l2.abab, (0, 1, 2, 3), tmp100, (2, 3, 4, 0), (1, 4), optimize=True) * -1 - del tmp100 - l1new.bb += einsum(tmp91, (0, 1, 2, 3), v.bbbb.ooov, (1, 2, 3, 4), (4, 0), optimize=True) * -2 - del tmp91 - l1new.bb += einsum(tmp90, (0, 1, 2, 3), v.bbbb.ooov, (3, 1, 2, 4), (4, 0), optimize=True) * 2 - del tmp90 - l1new.bb += einsum(v.aabb.oovv, (0, 1, 2, 3), tmp35, (0, 1, 4, 3), (2, 4), optimize=True) * -1 - l1new.bb += f.bb.ov.transpose((1, 0)) - l1new.bb += einsum(v.bbbb.oovv, (0, 1, 2, 3), tmp70, (4, 0, 1, 3), (2, 4), optimize=True) * -2 - del tmp70 - tmp89 = einsum(t1.aa, (0, 1), v.aabb.vvvv, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) - l1new.bb += einsum(l2.abab, (0, 1, 2, 3), tmp89, (2, 0, 4, 1), (4, 3), optimize=True) - del tmp89 - tmp88 = tmp87.copy() - del tmp87 - tmp88 += tmp86 * -1 - del tmp86 - tmp88 += einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 1, 3), (4, 0), optimize=True) - tmp88 += einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.aaaa, (2, 4, 3, 1), (4, 0), optimize=True) * 2 - tmp88 += tmp84.transpose((1, 0)) - del tmp84 - tmp88 += f.aa.oo.transpose((1, 0)) - l1new.aa = einsum(tmp88, (0, 1), l1.aa, (2, 0), (2, 1), optimize=True) * -1 - del tmp88 - l1new.aa += einsum(tmp77, (0, 1), tmp16, (1, 2), (2, 0), optimize=True) * -1 - l1new.aa += einsum(l1.aa, (0, 1), tmp83, (0, 2), (2, 1), optimize=True) - del tmp83 - l1new.aa += einsum(v.aabb.ovoo, (0, 1, 2, 3), tmp75, (3, 2), (1, 0), optimize=True) * -1 - tmp79 = v.aaaa.oovv.transpose((1, 0, 3, 2)).copy() * -1 - tmp79 += v.aaaa.ovov.transpose((2, 0, 3, 1)) - l1new.aa += einsum(tmp79, (0, 1, 2, 3), l1.aa, (2, 0), (3, 1), optimize=True) - del tmp79 - tmp78 = v.aaaa.ooov.transpose((1, 2, 0, 3)).copy() - tmp78 += v.aaaa.ooov.transpose((1, 0, 2, 3)) * -1 - l1new.aa += einsum(tmp77, (0, 1), tmp78, (0, 2, 1, 3), (3, 2), optimize=True) * -1 - del tmp77, tmp78 - tmp76 = einsum(tmp75, (0, 1), t1.bb, (0, 2), (1, 2), optimize=True) - del tmp75 - tmp76 += tmp71 * 2 - del tmp71 - tmp76 += tmp69 - del tmp69 - tmp76 += tmp68 * -2 - del tmp68 - tmp76 += tmp67 * -1 - del tmp67 - tmp76 += t1.bb * -1 - tmp76 += l1.bb.transpose((1, 0)) * -1 - l1new.aa += einsum(v.aabb.ovov, (0, 1, 2, 3), tmp76, (2, 3), (1, 0), optimize=True) * -1 - del tmp76 - tmp66 = tmp65.copy() * 2 - del tmp65 - tmp66 += tmp64 - del tmp64 - tmp66 += tmp63 - del tmp63 - l1new.aa += einsum(v.aabb.ovvv, (0, 1, 2, 3), tmp66, (3, 2), (1, 0), optimize=True) - del tmp66 - tmp62 = tmp61.copy() - del tmp61 - tmp62 += tmp56 - del tmp56 - tmp62 += tmp55 * 2 - del tmp55 - tmp62 += tmp54 * -1 - del tmp54 - tmp62 += tmp53 * -2 - del tmp53 - tmp62 += t1.aa * -1 - l1new.aa += einsum(tmp62, (0, 1), tmp14, (0, 2, 3, 1), (3, 2), optimize=True) - del tmp14, tmp62 - l1new.aa += einsum(tmp52, (0, 1, 2, 3), tmp51, (2, 1), (3, 0), optimize=True) * -1 - del tmp52, tmp51 - tmp47 = tmp37.transpose((0, 1, 3, 2)).copy() - del tmp37 - tmp47 += tmp36 - del tmp36 - l1new.aa += einsum(v.aabb.ovoo, (0, 1, 2, 3), tmp47, (4, 0, 3, 2), (1, 4), optimize=True) - del tmp47 - tmp43 = einsum(t2.abab, (0, 1, 2, 3), tmp35, (4, 5, 1, 3), (4, 5, 0, 2), optimize=True) - tmp46 = tmp43.transpose((0, 2, 1, 3)).copy() * 0.5 - tmp42 = einsum(tmp0, (0, 1, 2, 3), t2.aaaa, (4, 1, 5, 3), (0, 2, 4, 5), optimize=True) * -1 - tmp46 += tmp42.transpose((0, 2, 1, 3)) * 2 - tmp46 += einsum(l1.aa, (0, 1), t2.aaaa, (2, 3, 4, 0), (1, 3, 2, 4), optimize=True) * -1 - l1new.aa += einsum(tmp46, (0, 1, 2, 3), v.aaaa.ovov, (1, 4, 2, 3), (4, 0), optimize=True) * 2 - del tmp46 - tmp44 = tmp5.transpose((0, 1, 3, 2)).copy() * -1 - tmp4 = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (2, 3, 4, 5), (4, 5, 0, 1), optimize=True) - tmp44 += tmp4.transpose((1, 0, 3, 2)) - tmp45 = einsum(tmp44, (0, 1, 2, 3), t1.aa, (0, 4), (3, 1, 2, 4), optimize=True) - del tmp44 - tmp45 += tmp43.transpose((2, 0, 1, 3)) * 0.5 - del tmp43 - tmp45 += tmp42.transpose((2, 0, 1, 3)) * 2 - del tmp42 - tmp45 += tmp0.transpose((1, 0, 2, 3)) * -1 - l1new.aa += einsum(tmp45, (0, 1, 2, 3), v.aaaa.ovov, (0, 3, 2, 4), (4, 1), optimize=True) * -2 - del tmp45 - tmp41 = einsum(t1.bb, (0, 1), tmp35, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) - tmp41 += einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 4, 5, 1), (5, 0, 4, 3), optimize=True) - l1new.aa += einsum(v.aabb.ovvv, (0, 1, 2, 3), tmp41, (4, 0, 3, 2), (1, 4), optimize=True) * -1 - del tmp41 - tmp40 = einsum(tmp0, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 3, 4), optimize=True) - tmp40 += l2.aaaa.transpose((3, 2, 1, 0)) * -1 - l1new.aa += einsum(v.aaaa.ovvv, (0, 1, 2, 3), tmp40, (4, 0, 2, 1), (3, 4), optimize=True) * -2 - del tmp40 - tmp39 = einsum(t1.bb, (0, 1), tmp38, (2, 3, 0, 4), (2, 3, 4, 1), optimize=True) * -1 - del tmp38 - tmp39 += einsum(tmp3, (0, 1, 2, 3), t2.abab, (4, 1, 3, 5), (0, 4, 2, 5), optimize=True) * -1 - tmp39 += einsum(t2.bbbb, (0, 1, 2, 3), tmp35, (4, 5, 1, 3), (4, 5, 0, 2), optimize=True) * 2 - tmp39 += einsum(t2.abab, (0, 1, 2, 3), tmp0, (4, 0, 5, 2), (4, 5, 1, 3), optimize=True) * -2 - tmp39 += tmp35 - del tmp35 - tmp39 += einsum(t2.abab, (0, 1, 2, 3), l1.aa, (2, 4), (4, 0, 1, 3), optimize=True) - l1new.aa += einsum(v.aabb.ovov, (0, 1, 2, 3), tmp39, (4, 0, 2, 3), (1, 4), optimize=True) * -1 - del tmp39 - tmp34 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 5, 1), (2, 4, 0, 5), optimize=True) - tmp34 += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 3, 5, 0), (2, 4, 1, 5), optimize=True) * -4 - l1new.aa += einsum(tmp34, (0, 1, 2, 3), tmp33, (1, 3, 2, 4), (4, 0), optimize=True) * -1 - del tmp33, tmp34 - tmp32 = einsum(tmp3, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 3, 4), optimize=True) * -0.5 - tmp32 += einsum(t2.bbbb, (0, 1, 2, 3), l2.abab, (4, 3, 5, 1), (5, 0, 4, 2), optimize=True) - tmp32 += einsum(l2.aaaa, (0, 1, 2, 3), t2.abab, (3, 4, 0, 5), (2, 4, 1, 5), optimize=True) * -1 - tmp32 += l2.abab.transpose((2, 3, 0, 1)) * 0.5 - l1new.aa += einsum(v.bbaa.ovvv, (0, 1, 2, 3), tmp32, (4, 0, 2, 1), (3, 4), optimize=True) * 2 - del tmp32 - tmp30 = tmp29.transpose((3, 0, 2, 1)).copy() - tmp30 += tmp29.transpose((2, 0, 3, 1)) * -1 - del tmp29 - tmp30 += tmp28.transpose((2, 1, 3, 0)) * -1 - del tmp28 - tmp30 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 3, 5, 2), (5, 1, 4, 0), optimize=True) * -1 - tmp30 += v.aaaa.oooo.transpose((2, 3, 1, 0)) - tmp31 = einsum(t1.aa, (0, 1), tmp30, (0, 2, 3, 4), (3, 4, 2, 1), optimize=True) - del tmp30 - tmp1 = einsum(v.aaaa.ovvv, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 1, 2), optimize=True) - tmp27 = tmp1.transpose((0, 1, 3, 2)).copy() - tmp27 += v.aaaa.oovv.transpose((1, 0, 3, 2)) * -1 - tmp27 += v.aaaa.ovov.transpose((2, 0, 3, 1)) - tmp31 += einsum(tmp27, (0, 1, 2, 3), t1.aa, (4, 3), (1, 0, 4, 2), optimize=True) - del tmp27 - tmp31 += einsum(tmp16, (0, 1), t2.aaaa, (2, 3, 1, 4), (0, 3, 2, 4), optimize=True) - tmp26 = tmp11.copy() - del tmp11 - tmp26 += v.aabb.ooov.transpose((1, 0, 2, 3)) - tmp31 += einsum(tmp26, (0, 1, 2, 3), t2.abab, (4, 2, 5, 3), (1, 4, 0, 5), optimize=True) - del tmp26 - tmp25 = tmp7.transpose((0, 2, 1, 3)).copy() - tmp25 += tmp7 * -1 - tmp25 += v.aaaa.ooov.transpose((1, 2, 0, 3)) * -1 - tmp25 += v.aaaa.ooov.transpose((1, 0, 2, 3)) - tmp31 += einsum(tmp25, (0, 1, 2, 3), t2.aaaa, (2, 4, 3, 5), (1, 4, 0, 5), optimize=True) * 2 - del tmp25 - tmp31 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovvv, (4, 3, 2, 5), (4, 1, 0, 5), optimize=True) * -1 - tmp31 += v.aaaa.ooov.transpose((1, 0, 2, 3)) * -1 - l1new.aa += einsum(l2.aaaa, (0, 1, 2, 3), tmp31, (4, 2, 3, 0), (1, 4), optimize=True) * -2 - del tmp31 - tmp24 = einsum(tmp23, (0, 1, 2, 3), t1.bb, (2, 4), (1, 0, 3, 4), optimize=True) * -0.5 - del tmp23 - tmp24 += einsum(t1.aa, (0, 1), tmp18, (2, 3, 1, 4), (0, 2, 3, 4), optimize=True) * 0.5 - del tmp18 - tmp24 += einsum(tmp16, (0, 1), t2.abab, (2, 3, 1, 4), (2, 0, 3, 4), optimize=True) * 0.5 - del tmp16 - tmp24 += einsum(t2.bbbb, (0, 1, 2, 3), tmp12, (4, 5, 0, 2), (5, 4, 1, 3), optimize=True) - del tmp12 - tmp24 += einsum(t2.abab, (0, 1, 2, 3), tmp10, (4, 1, 5, 2), (0, 4, 5, 3), optimize=True) * -0.5 - del tmp10 - tmp8 = tmp7.transpose((2, 0, 1, 3)).copy() * -1 - tmp8 += tmp7.transpose((1, 0, 2, 3)) - del tmp7 - tmp8 += v.aaaa.ooov.transpose((2, 1, 0, 3)) - tmp8 += v.aaaa.ooov.transpose((1, 0, 2, 3)) * -1 - tmp24 += einsum(tmp8, (0, 1, 2, 3), t2.abab, (0, 4, 3, 5), (1, 2, 4, 5), optimize=True) * 0.5 - del tmp8 - tmp24 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovvv, (4, 2, 3, 5), (0, 4, 1, 5), optimize=True) * 0.5 - tmp24 += einsum(t1.bb, (0, 1), v.aabb.oovv, (2, 3, 4, 1), (3, 2, 0, 4), optimize=True) * 0.5 - tmp24 += v.aabb.ooov.transpose((1, 0, 2, 3)) * 0.5 - l1new.aa += einsum(l2.abab, (0, 1, 2, 3), tmp24, (2, 4, 3, 1), (0, 4), optimize=True) * -2 - del tmp24 - tmp6 = einsum(v.aabb.vvvv, (0, 1, 2, 3), t1.bb, (4, 3), (4, 0, 1, 2), optimize=True) - l1new.aa += einsum(l2.abab, (0, 1, 2, 3), tmp6, (3, 4, 0, 1), (4, 2), optimize=True) - del tmp6 - l1new.aa += f.aa.ov.transpose((1, 0)) - l1new.aa += einsum(v.aaaa.ooov, (0, 1, 2, 3), tmp5, (4, 0, 1, 2), (3, 4), optimize=True) * -2 - del tmp5 - l1new.aa += einsum(v.aaaa.ooov, (0, 1, 2, 3), tmp4, (4, 1, 2, 0), (3, 4), optimize=True) * 2 - del tmp4 - l1new.aa += einsum(v.aaaa.oovv, (0, 1, 2, 3), tmp0, (4, 0, 1, 3), (2, 4), optimize=True) * -2 - l1new.aa += einsum(tmp3, (0, 1, 2, 3), v.bbaa.oovv, (1, 2, 4, 3), (4, 0), optimize=True) * -1 - del tmp3 - tmp2 = einsum(v.aaaa.vvvv, (0, 1, 2, 3), t1.aa, (4, 2), (4, 0, 1, 3), optimize=True) - l1new.aa += einsum(tmp2, (0, 1, 2, 3), l2.aaaa, (3, 2, 4, 0), (1, 4), optimize=True) * -2 - del tmp2 - l1new.aa += einsum(tmp0, (0, 1, 2, 3), tmp1, (1, 2, 4, 3), (4, 0), optimize=True) * 2 - del tmp0, tmp1 - - return {f"l1new": l1new, f"l2new": l2new} - -def make_rdm1_f(l1=None, l2=None, t1=None, t2=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-02-29T20:37:07.750000. - - Parameters - ---------- - l1 : Namespace of arrays - L1 amplitudes. - l2 : Namespace of arrays - L2 amplitudes. - t1 : Namespace of arrays - T1 amplitudes. - t2 : Namespace of arrays - T2 amplitudes. - - Returns - ------- - rdm1 : Namespace of arrays - One-particle reduced density matrix. - """ - - rdm1 = Namespace() - rdm1.aa = Namespace() - rdm1.bb = Namespace() - delta = Namespace( - aa=Namespace(oo=np.eye(t1.aa.shape[0]), vv=np.eye(t1.aa.shape[1])), - bb=Namespace(oo=np.eye(t1.bb.shape[0]), vv=np.eye(t1.bb.shape[1])), - ) - rdm1.bb.vv = einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (2, 3, 4, 0), (1, 4), optimize=True) * -2 - rdm1.bb.vv += einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 4, 0, 1), (4, 3), optimize=True) - rdm1.bb.vv += einsum(l1.bb, (0, 1), t1.bb, (1, 2), (0, 2), optimize=True) - rdm1.aa.vv = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (3, 4, 0, 1), (4, 2), optimize=True) * -2 - rdm1.aa.vv += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 4, 1), (0, 4), optimize=True) - rdm1.aa.vv += einsum(t1.aa, (0, 1), l1.aa, (2, 0), (2, 1), optimize=True) - rdm1.bb.vo = l1.bb.copy() - rdm1.aa.vo = l1.aa.copy() - tmp4 = einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 3, 0, 1), (2, 4), optimize=True) - tmp11 = tmp4.copy() * 2 - tmp3 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 1), (3, 4), optimize=True) - tmp11 += tmp3 - tmp5 = einsum(l1.bb, (0, 1), t1.bb, (2, 0), (1, 2), optimize=True) - tmp11 += tmp5 - rdm1.bb.ov = einsum(tmp11, (0, 1), t1.bb, (0, 2), (1, 2), optimize=True) * -1 - del tmp11 - rdm1.bb.ov += einsum(t2.bbbb, (0, 1, 2, 3), l1.bb, (3, 1), (0, 2), optimize=True) * 2 - rdm1.bb.ov += einsum(l1.aa, (0, 1), t2.abab, (1, 2, 0, 3), (2, 3), optimize=True) - tmp10 = einsum(l2.abab, (0, 1, 2, 3), t1.bb, (4, 1), (2, 3, 4, 0), optimize=True) - rdm1.bb.ov += einsum(t2.abab, (0, 1, 2, 3), tmp10, (0, 1, 4, 2), (4, 3), optimize=True) * -1 - del tmp10 - tmp9 = einsum(t1.bb, (0, 1), l2.bbbb, (2, 1, 3, 4), (3, 4, 0, 2), optimize=True) - rdm1.bb.ov += einsum(tmp9, (0, 1, 2, 3), t2.bbbb, (0, 1, 4, 3), (2, 4), optimize=True) * 2 - del tmp9 - rdm1.bb.ov += t1.bb - tmp1 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 3, 4, 1), (4, 0), optimize=True) - tmp8 = tmp1.copy() - tmp2 = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (2, 3, 4, 1), (4, 0), optimize=True) - tmp8 += tmp2 * 2 - tmp0 = einsum(l1.aa, (0, 1), t1.aa, (2, 0), (1, 2), optimize=True) - tmp8 += tmp0 - rdm1.aa.ov = einsum(tmp8, (0, 1), t1.aa, (0, 2), (1, 2), optimize=True) * -1 - del tmp8 - rdm1.aa.ov += einsum(l1.bb, (0, 1), t2.abab, (2, 1, 3, 0), (2, 3), optimize=True) - tmp7 = einsum(l2.aaaa, (0, 1, 2, 3), t1.aa, (4, 1), (2, 3, 4, 0), optimize=True) - rdm1.aa.ov += einsum(tmp7, (0, 1, 2, 3), t2.aaaa, (0, 1, 4, 3), (2, 4), optimize=True) * 2 - del tmp7 - rdm1.aa.ov += t1.aa - tmp6 = einsum(l2.abab, (0, 1, 2, 3), t1.aa, (4, 0), (2, 4, 3, 1), optimize=True) - rdm1.aa.ov += einsum(t2.abab, (0, 1, 2, 3), tmp6, (0, 4, 1, 3), (4, 2), optimize=True) * -1 - del tmp6 - rdm1.aa.ov += einsum(l1.aa, (0, 1), t2.aaaa, (2, 1, 3, 0), (2, 3), optimize=True) * 2 - rdm1.bb.oo = tmp5.transpose((1, 0)).copy() * -1 - del tmp5 - rdm1.bb.oo += tmp4.transpose((1, 0)) * -2 - del tmp4 - rdm1.bb.oo += tmp3.transpose((1, 0)) * -1 - del tmp3 - rdm1.bb.oo += delta.bb.oo.transpose((1, 0)) - rdm1.aa.oo = tmp2.transpose((1, 0)).copy() * -2 - del tmp2 - rdm1.aa.oo += tmp1.transpose((1, 0)) * -1 - del tmp1 - rdm1.aa.oo += tmp0.transpose((1, 0)) * -1 - del tmp0 - rdm1.aa.oo += delta.aa.oo.transpose((1, 0)) - del delta - rdm1.aa = np.block([[rdm1.aa.oo, rdm1.aa.ov], [rdm1.aa.vo, rdm1.aa.vv]]) - rdm1.bb = np.block([[rdm1.bb.oo, rdm1.bb.ov], [rdm1.bb.vo, rdm1.bb.vv]]) - - return rdm1 - -def make_rdm2_f(l1=None, l2=None, t1=None, t2=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-02-29T20:37:42.471427. - - Parameters - ---------- - l1 : Namespace of arrays - L1 amplitudes. - l2 : Namespace of arrays - L2 amplitudes. - t1 : Namespace of arrays - T1 amplitudes. - t2 : Namespace of arrays - T2 amplitudes. - - Returns - ------- - rdm2 : Namespace of arrays - Two-particle reduced density matrix. - """ - - rdm2 = Namespace() - rdm2.aaaa = Namespace() - rdm2.abab = Namespace() - rdm2.bbbb = Namespace() - delta = Namespace( - aa=Namespace(oo=np.eye(t1.aa.shape[0]), vv=np.eye(t1.aa.shape[1])), - bb=Namespace(oo=np.eye(t1.bb.shape[0]), vv=np.eye(t1.bb.shape[1])), - ) - tmp131 = einsum(t1.bb, (0, 1), l2.bbbb, (2, 3, 4, 0), (4, 2, 3, 1), optimize=True) - rdm2.bbbb.vvvv = einsum(tmp131, (0, 1, 2, 3), t1.bb, (0, 4), (1, 2, 4, 3), optimize=True) * 2 - rdm2.bbbb.vvvv += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (2, 3, 4, 5), (1, 0, 5, 4), optimize=True) * 2 - tmp130 = einsum(l2.abab, (0, 1, 2, 3), t1.bb, (3, 4), (2, 0, 1, 4), optimize=True) - rdm2.abab.vvvv = einsum(t1.aa, (0, 1), tmp130, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) - rdm2.abab.vvvv += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 4, 5), (0, 1, 4, 5), optimize=True) - tmp129 = einsum(l2.aaaa, (0, 1, 2, 3), t1.aa, (3, 4), (2, 0, 1, 4), optimize=True) - rdm2.aaaa.vvvv = einsum(tmp129, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3), optimize=True) * 2 - rdm2.aaaa.vvvv += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (2, 3, 4, 5), (1, 0, 5, 4), optimize=True) * 2 - rdm2.bbbb.vvvo = tmp131.transpose((2, 1, 3, 0)).copy() * 2 - rdm2.abab.vvvo = einsum(t1.aa, (0, 1), l2.abab, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) - rdm2.aaaa.vvvo = tmp129.transpose((2, 1, 3, 0)).copy() * 2 - rdm2.bbbb.vvov = tmp131.transpose((2, 1, 0, 3)).copy() * -2 - del tmp131 - rdm2.abab.vvov = tmp130.transpose((1, 2, 0, 3)).copy() - del tmp130 - rdm2.aaaa.vvov = tmp129.transpose((2, 1, 0, 3)).copy() * -2 - del tmp129 - tmp17 = einsum(t1.bb, (0, 1), l2.bbbb, (2, 1, 3, 4), (3, 4, 0, 2), optimize=True) - tmp113 = einsum(tmp17, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 3, 4), optimize=True) - tmp128 = einsum(t1.bb, (0, 1), tmp113, (0, 2, 3, 4), (2, 3, 4, 1), optimize=True) * -1 - rdm2.bbbb.vovv = tmp128.transpose((1, 0, 3, 2)).copy() * 2 - tmp79 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (3, 4, 5, 1), (5, 0, 4, 2), optimize=True) * -1 - tmp80 = tmp79.copy() * 4 - tmp78 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 4, 0, 5), (5, 1, 4, 3), optimize=True) - tmp80 += tmp78 - tmp127 = einsum(tmp80, (0, 1, 2, 3), t1.bb, (0, 4), (1, 4, 2, 3), optimize=True) - rdm2.bbbb.vovv += tmp127.transpose((2, 0, 3, 1)) * -1 - rdm2.bbbb.vovv += tmp127.transpose((2, 0, 1, 3)) - tmp76 = einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (2, 3, 4, 0), (1, 4), optimize=True) * -1 - tmp112 = tmp76.copy() * 2 - tmp75 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 4, 0, 1), (4, 3), optimize=True) - tmp112 += tmp75 - tmp111 = einsum(l1.bb, (0, 1), t1.bb, (1, 2), (0, 2), optimize=True) - tmp112 += tmp111 - rdm2.bbbb.vovv += einsum(tmp112, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3), optimize=True) - rdm2.bbbb.vovv += einsum(tmp112, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1), optimize=True) * -1 - tmp125 = einsum(t2.bbbb, (0, 1, 2, 3), tmp17, (0, 1, 4, 5), (4, 5, 2, 3), optimize=True) - rdm2.bbbb.vovv += tmp125.transpose((1, 0, 3, 2)) * 2 - tmp124 = einsum(t2.bbbb, (0, 1, 2, 3), l1.bb, (4, 1), (0, 4, 2, 3), optimize=True) - rdm2.bbbb.vovv += tmp124.transpose((1, 0, 3, 2)) * 2 - tmp13 = einsum(l2.abab, (0, 1, 2, 3), t1.bb, (4, 1), (2, 3, 4, 0), optimize=True) - tmp116 = einsum(t1.bb, (0, 1), tmp13, (2, 0, 3, 4), (2, 3, 4, 1), optimize=True) - rdm2.abab.vovv = einsum(tmp116, (0, 1, 2, 3), t1.aa, (0, 4), (2, 1, 4, 3), optimize=True) * -1 - tmp117 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 5, 1), (3, 4, 0, 5), optimize=True) - rdm2.abab.vovv += einsum(t1.bb, (0, 1), tmp117, (0, 2, 3, 4), (3, 2, 4, 1), optimize=True) * -1 - tmp82 = einsum(t2.bbbb, (0, 1, 2, 3), l2.abab, (4, 3, 5, 1), (5, 0, 4, 2), optimize=True) - tmp83 = tmp82.copy() - tmp81 = einsum(l2.aaaa, (0, 1, 2, 3), t2.abab, (3, 4, 0, 5), (2, 4, 1, 5), optimize=True) * -1 - tmp83 += tmp81 - rdm2.abab.vovv += einsum(t1.aa, (0, 1), tmp83, (0, 2, 3, 4), (3, 2, 1, 4), optimize=True) * 2 - tmp56 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 4, 1), (0, 4), optimize=True) - tmp108 = tmp56.copy() - tmp55 = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (3, 4, 0, 1), (4, 2), optimize=True) * -1 - tmp108 += tmp55 * 2 - tmp107 = einsum(t1.aa, (0, 1), l1.aa, (2, 0), (2, 1), optimize=True) - tmp108 += tmp107 - rdm2.abab.vovv += einsum(tmp108, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3), optimize=True) - rdm2.abab.vovv += einsum(tmp13, (0, 1, 2, 3), t2.abab, (0, 1, 4, 5), (3, 2, 4, 5), optimize=True) * -1 - rdm2.abab.vovv += einsum(l1.aa, (0, 1), t2.abab, (1, 2, 3, 4), (0, 2, 3, 4), optimize=True) - tmp6 = einsum(l2.aaaa, (0, 1, 2, 3), t1.aa, (4, 1), (2, 3, 4, 0), optimize=True) - tmp110 = einsum(tmp6, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 3, 4), optimize=True) - tmp122 = einsum(t1.aa, (0, 1), tmp110, (0, 2, 3, 4), (2, 3, 4, 1), optimize=True) * -1 - rdm2.aaaa.vovv = tmp122.transpose((1, 0, 3, 2)).copy() * 2 - tmp109 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 5, 1), (2, 4, 0, 5), optimize=True) - tmp120 = tmp109.copy() - tmp58 = einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 3, 5, 0), (2, 4, 1, 5), optimize=True) * -1 - tmp120 += tmp58 * 4 - tmp121 = einsum(tmp120, (0, 1, 2, 3), t1.aa, (0, 4), (1, 4, 2, 3), optimize=True) - del tmp120 - rdm2.aaaa.vovv += tmp121.transpose((2, 0, 3, 1)) * -1 - rdm2.aaaa.vovv += tmp121.transpose((2, 0, 1, 3)) - rdm2.aaaa.vovv += einsum(tmp108, (0, 1), t1.aa, (2, 3), (0, 2, 1, 3), optimize=True) - rdm2.aaaa.vovv += einsum(t1.aa, (0, 1), tmp108, (2, 3), (2, 0, 1, 3), optimize=True) * -1 - tmp119 = einsum(tmp6, (0, 1, 2, 3), t2.aaaa, (0, 1, 4, 5), (2, 3, 4, 5), optimize=True) - rdm2.aaaa.vovv += tmp119.transpose((1, 0, 3, 2)) * 2 - tmp118 = einsum(t2.aaaa, (0, 1, 2, 3), l1.aa, (4, 1), (0, 4, 2, 3), optimize=True) - rdm2.aaaa.vovv += tmp118.transpose((1, 0, 3, 2)) * 2 - rdm2.bbbb.ovvv = tmp128.transpose((0, 1, 3, 2)).copy() * -2 - del tmp128 - rdm2.bbbb.ovvv += tmp127.transpose((0, 2, 3, 1)) - rdm2.bbbb.ovvv += tmp127.transpose((0, 2, 1, 3)) * -1 - del tmp127 - tmp126 = tmp76.copy() * 2 - tmp126 += tmp75 - rdm2.bbbb.ovvv += einsum(tmp126, (0, 1), t1.bb, (2, 3), (2, 0, 1, 3), optimize=True) * -1 - rdm2.bbbb.ovvv += einsum(t1.bb, (0, 1), tmp126, (2, 3), (0, 2, 1, 3), optimize=True) - del tmp126 - rdm2.bbbb.ovvv += einsum(tmp111, (0, 1), t1.bb, (2, 3), (2, 0, 1, 3), optimize=True) * -1 - rdm2.bbbb.ovvv += einsum(tmp111, (0, 1), t1.bb, (2, 3), (2, 0, 3, 1), optimize=True) - del tmp111 - rdm2.bbbb.ovvv += tmp125.transpose((0, 1, 3, 2)) * -2 - del tmp125 - rdm2.bbbb.ovvv += tmp124.transpose((0, 1, 3, 2)) * -2 - del tmp124 - tmp22 = einsum(l2.abab, (0, 1, 2, 3), t1.aa, (4, 0), (2, 4, 3, 1), optimize=True) - tmp115 = einsum(tmp22, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3), optimize=True) - rdm2.abab.ovvv = einsum(t1.bb, (0, 1), tmp115, (2, 0, 3, 4), (2, 4, 3, 1), optimize=True) * -1 - tmp60 = einsum(l2.bbbb, (0, 1, 2, 3), t2.abab, (4, 3, 5, 0), (4, 2, 5, 1), optimize=True) * -1 - tmp123 = tmp60.copy() - tmp62 = einsum(t2.aaaa, (0, 1, 2, 3), l2.abab, (3, 4, 1, 5), (0, 5, 2, 4), optimize=True) - tmp123 += tmp62 - rdm2.abab.ovvv += einsum(tmp123, (0, 1, 2, 3), t1.bb, (1, 4), (0, 3, 2, 4), optimize=True) * 2 - del tmp123 - tmp89 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 4, 5, 1), (5, 0, 4, 3), optimize=True) - rdm2.abab.ovvv += einsum(tmp89, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3), optimize=True) * -1 - rdm2.abab.ovvv += einsum(t1.aa, (0, 1), tmp112, (2, 3), (0, 2, 1, 3), optimize=True) - rdm2.abab.ovvv += einsum(tmp22, (0, 1, 2, 3), t2.abab, (0, 2, 4, 5), (1, 3, 4, 5), optimize=True) * -1 - rdm2.abab.ovvv += einsum(l1.bb, (0, 1), t2.abab, (2, 1, 3, 4), (2, 0, 3, 4), optimize=True) - rdm2.aaaa.ovvv = tmp122.transpose((0, 1, 3, 2)).copy() * -2 - del tmp122 - rdm2.aaaa.ovvv += tmp121.transpose((0, 2, 3, 1)) - rdm2.aaaa.ovvv += tmp121.transpose((0, 2, 1, 3)) * -1 - del tmp121 - tmp65 = tmp56.copy() * 0.5 - tmp65 += tmp55 - rdm2.aaaa.ovvv += einsum(tmp65, (0, 1), t1.aa, (2, 3), (2, 0, 1, 3), optimize=True) * -2 - rdm2.aaaa.ovvv += einsum(tmp65, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1), optimize=True) * 2 - rdm2.aaaa.ovvv += einsum(tmp107, (0, 1), t1.aa, (2, 3), (2, 0, 1, 3), optimize=True) * -1 - rdm2.aaaa.ovvv += einsum(tmp107, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1), optimize=True) - rdm2.aaaa.ovvv += tmp119.transpose((0, 1, 3, 2)) * -2 - del tmp119 - rdm2.aaaa.ovvv += tmp118.transpose((0, 1, 3, 2)) * -2 - del tmp118 - rdm2.bbbb.vvoo = l2.bbbb.transpose((1, 0, 3, 2)).copy() * 2 - rdm2.abab.vvoo = l2.abab.copy() - rdm2.aaaa.vvoo = l2.aaaa.transpose((1, 0, 3, 2)).copy() * 2 - rdm2.bbbb.vovo = tmp113.transpose((2, 1, 3, 0)).copy() * 2 - rdm2.bbbb.vovo += einsum(t1.bb, (0, 1), l1.bb, (2, 3), (2, 0, 1, 3), optimize=True) * -1 - rdm2.bbbb.vovo += tmp78.transpose((2, 1, 3, 0)) * -1 - rdm2.bbbb.vovo += tmp79.transpose((2, 1, 3, 0)) * -4 - rdm2.bbbb.vovo += einsum(tmp112, (0, 1), delta.bb.oo, (2, 3), (0, 3, 1, 2), optimize=True) - rdm2.abab.vovo = einsum(t1.aa, (0, 1), tmp13, (0, 2, 3, 4), (4, 3, 1, 2), optimize=True) * -1 - rdm2.abab.vovo += tmp117.transpose((2, 1, 3, 0)) * -1 - del tmp117 - rdm2.abab.vovo += einsum(tmp108, (0, 1), delta.bb.oo, (2, 3), (0, 3, 1, 2), optimize=True) - rdm2.aaaa.vovo = tmp110.transpose((2, 1, 3, 0)).copy() * 2 - rdm2.aaaa.vovo += einsum(t1.aa, (0, 1), l1.aa, (2, 3), (2, 0, 1, 3), optimize=True) * -1 - rdm2.aaaa.vovo += tmp109.transpose((2, 1, 3, 0)) * -1 - rdm2.aaaa.vovo += tmp58.transpose((2, 1, 3, 0)) * -4 - tmp114 = tmp56.copy() * 0.5 - tmp114 += tmp55 - tmp114 += tmp107 * 0.5 - del tmp107 - rdm2.aaaa.vovo += einsum(delta.aa.oo, (0, 1), tmp114, (2, 3), (2, 1, 3, 0), optimize=True) * 2 - rdm2.bbbb.voov = tmp113.transpose((2, 1, 0, 3)).copy() * -2 - rdm2.bbbb.voov += einsum(t1.bb, (0, 1), l1.bb, (2, 3), (2, 0, 3, 1), optimize=True) - rdm2.bbbb.voov += tmp78.transpose((2, 1, 0, 3)) - rdm2.bbbb.voov += tmp79.transpose((2, 1, 0, 3)) * 4 - rdm2.bbbb.voov += einsum(tmp112, (0, 1), delta.bb.oo, (2, 3), (0, 3, 2, 1), optimize=True) * -1 - rdm2.abab.voov = tmp116.transpose((2, 1, 0, 3)).copy() * -1 - del tmp116 - rdm2.abab.voov += tmp82.transpose((2, 1, 0, 3)) * 2 - rdm2.abab.voov += einsum(l1.aa, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3), optimize=True) - rdm2.abab.voov += tmp81.transpose((2, 1, 0, 3)) * 2 - rdm2.aaaa.voov = tmp110.transpose((2, 1, 0, 3)).copy() * -2 - rdm2.aaaa.voov += tmp109.transpose((2, 1, 0, 3)) - rdm2.aaaa.voov += einsum(t1.aa, (0, 1), l1.aa, (2, 3), (2, 0, 3, 1), optimize=True) - rdm2.aaaa.voov += tmp58.transpose((2, 1, 0, 3)) * 4 - rdm2.aaaa.voov += einsum(tmp108, (0, 1), delta.aa.oo, (2, 3), (0, 3, 2, 1), optimize=True) * -1 - rdm2.bbbb.ovvo = tmp113.transpose((1, 2, 3, 0)).copy() * -2 - rdm2.bbbb.ovvo += einsum(t1.bb, (0, 1), l1.bb, (2, 3), (0, 2, 1, 3), optimize=True) - rdm2.bbbb.ovvo += tmp78.transpose((1, 2, 3, 0)) - rdm2.bbbb.ovvo += tmp79.transpose((1, 2, 3, 0)) * 4 - rdm2.bbbb.ovvo += einsum(tmp112, (0, 1), delta.bb.oo, (2, 3), (3, 0, 1, 2), optimize=True) * -1 - rdm2.abab.ovvo = tmp115.transpose((0, 3, 2, 1)).copy() * -1 - del tmp115 - rdm2.abab.ovvo += einsum(t1.aa, (0, 1), l1.bb, (2, 3), (0, 2, 1, 3), optimize=True) - rdm2.abab.ovvo += tmp60.transpose((0, 3, 2, 1)) * 2 - rdm2.abab.ovvo += tmp62.transpose((0, 3, 2, 1)) * 2 - rdm2.aaaa.ovvo = tmp110.transpose((1, 2, 3, 0)).copy() * -2 - rdm2.aaaa.ovvo += tmp109.transpose((1, 2, 3, 0)) - rdm2.aaaa.ovvo += einsum(t1.aa, (0, 1), l1.aa, (2, 3), (0, 2, 1, 3), optimize=True) - rdm2.aaaa.ovvo += tmp58.transpose((1, 2, 3, 0)) * 4 - rdm2.aaaa.ovvo += einsum(delta.aa.oo, (0, 1), tmp114, (2, 3), (1, 2, 3, 0), optimize=True) * -2 - del tmp114 - rdm2.bbbb.ovov = tmp113.transpose((1, 2, 0, 3)).copy() * 2 - del tmp113 - rdm2.bbbb.ovov += einsum(t1.bb, (0, 1), l1.bb, (2, 3), (0, 2, 3, 1), optimize=True) * -1 - rdm2.bbbb.ovov += tmp78.transpose((1, 2, 0, 3)) * -1 - del tmp78 - rdm2.bbbb.ovov += tmp79.transpose((1, 2, 0, 3)) * -4 - rdm2.bbbb.ovov += einsum(tmp112, (0, 1), delta.bb.oo, (2, 3), (3, 0, 2, 1), optimize=True) - rdm2.abab.ovov = einsum(tmp22, (0, 1, 2, 3), t1.bb, (2, 4), (1, 3, 0, 4), optimize=True) * -1 - rdm2.abab.ovov += tmp89.transpose((1, 2, 0, 3)) * -1 - rdm2.abab.ovov += einsum(tmp112, (0, 1), delta.aa.oo, (2, 3), (3, 0, 2, 1), optimize=True) - del tmp112 - rdm2.aaaa.ovov = tmp110.transpose((1, 2, 0, 3)).copy() * 2 - del tmp110 - rdm2.aaaa.ovov += einsum(t1.aa, (0, 1), l1.aa, (2, 3), (0, 2, 3, 1), optimize=True) * -1 - rdm2.aaaa.ovov += tmp109.transpose((1, 2, 0, 3)) * -1 - del tmp109 - rdm2.aaaa.ovov += tmp58.transpose((1, 2, 0, 3)) * -4 - rdm2.aaaa.ovov += einsum(tmp108, (0, 1), delta.aa.oo, (2, 3), (3, 0, 2, 1), optimize=True) - del tmp108 - tmp18 = einsum(t1.bb, (0, 1), tmp17, (2, 3, 4, 1), (2, 3, 0, 4), optimize=True) - tmp46 = einsum(t1.bb, (0, 1), tmp18, (0, 2, 3, 4), (2, 4, 3, 1), optimize=True) - rdm2.bbbb.oovv = einsum(t1.bb, (0, 1), tmp46, (0, 2, 3, 4), (3, 2, 1, 4), optimize=True) * -2 - tmp43 = einsum(t2.bbbb, (0, 1, 2, 3), tmp17, (4, 1, 5, 3), (4, 5, 0, 2), optimize=True) * -1 - tmp105 = tmp43.copy() * 4 - tmp42 = einsum(t2.abab, (0, 1, 2, 3), tmp13, (0, 4, 5, 2), (4, 5, 1, 3), optimize=True) - tmp105 += tmp42 - tmp106 = einsum(t1.bb, (0, 1), tmp105, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) - del tmp105 - rdm2.bbbb.oovv += tmp106.transpose((1, 0, 3, 2)) * -1 - rdm2.bbbb.oovv += tmp106.transpose((1, 0, 2, 3)) - del tmp106 - tmp104 = einsum(t1.bb, (0, 1), t1.bb, (2, 3), (2, 0, 3, 1), optimize=True) - tmp104 += t2.bbbb.transpose((1, 0, 3, 2)) - tmp16 = einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 5, 0, 1), (2, 3, 4, 5), optimize=True) - rdm2.bbbb.oovv += einsum(tmp16, (0, 1, 2, 3), tmp104, (0, 1, 4, 5), (3, 2, 5, 4), optimize=True) * 2 - del tmp104 - tmp10 = einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 3, 0, 1), (2, 4), optimize=True) - tmp100 = tmp10.copy() - tmp9 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 1), (3, 4), optimize=True) - tmp100 += tmp9 * 0.5 - tmp103 = einsum(t2.bbbb, (0, 1, 2, 3), tmp100, (0, 4), (1, 4, 2, 3), optimize=True) * 4 - rdm2.bbbb.oovv += tmp103.transpose((0, 1, 3, 2)) * -1 - tmp8 = einsum(l1.bb, (0, 1), t1.bb, (2, 0), (1, 2), optimize=True) - tmp102 = einsum(tmp8, (0, 1), t1.bb, (0, 2), (1, 2), optimize=True) - rdm2.bbbb.oovv += einsum(tmp102, (0, 1), t1.bb, (2, 3), (2, 0, 1, 3), optimize=True) - rdm2.bbbb.oovv += einsum(tmp102, (0, 1), t1.bb, (2, 3), (2, 0, 3, 1), optimize=True) * -1 - tmp101 = einsum(tmp100, (0, 1), t1.bb, (0, 2), (1, 2), optimize=True) * 2 - del tmp100 - rdm2.bbbb.oovv += einsum(tmp101, (0, 1), t1.bb, (2, 3), (2, 0, 1, 3), optimize=True) - rdm2.bbbb.oovv += einsum(t1.bb, (0, 1), tmp101, (2, 3), (0, 2, 1, 3), optimize=True) * -1 - rdm2.bbbb.oovv += tmp103.transpose((1, 0, 3, 2)) - del tmp103 - rdm2.bbbb.oovv += einsum(t1.bb, (0, 1), tmp102, (2, 3), (2, 0, 3, 1), optimize=True) * -1 - rdm2.bbbb.oovv += einsum(tmp102, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1), optimize=True) - del tmp102 - rdm2.bbbb.oovv += einsum(tmp101, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3), optimize=True) * -1 - rdm2.bbbb.oovv += einsum(tmp101, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1), optimize=True) - del tmp101 - rdm2.bbbb.oovv += einsum(tmp18, (0, 1, 2, 3), t2.bbbb, (1, 0, 4, 5), (3, 2, 5, 4), optimize=True) * -2 - tmp92 = einsum(t2.bbbb, (0, 1, 2, 3), tmp8, (1, 4), (4, 0, 2, 3), optimize=True) - rdm2.bbbb.oovv += tmp92.transpose((1, 0, 3, 2)) * 2 - tmp99 = tmp43.transpose((0, 2, 1, 3)).copy() * 4 - tmp99 += tmp42.transpose((0, 2, 1, 3)) - tmp44 = einsum(t2.bbbb, (0, 1, 2, 3), l1.bb, (3, 4), (4, 0, 1, 2), optimize=True) - tmp99 += tmp44.transpose((0, 2, 1, 3)) * -2 - rdm2.bbbb.oovv += einsum(tmp99, (0, 1, 2, 3), t1.bb, (0, 4), (2, 1, 3, 4), optimize=True) - del tmp99 - tmp98 = tmp43.transpose((0, 2, 1, 3)).copy() * 4 - tmp98 += tmp42.transpose((0, 2, 1, 3)) - tmp98 += tmp44.transpose((0, 2, 1, 3)) * -2 - rdm2.bbbb.oovv += einsum(t1.bb, (0, 1), tmp98, (0, 2, 3, 4), (3, 2, 1, 4), optimize=True) * -1 - del tmp98 - tmp77 = tmp76.copy() - del tmp76 - tmp77 += tmp75 * 0.5 - del tmp75 - tmp93 = einsum(tmp77, (0, 1), t2.bbbb, (2, 3, 0, 4), (2, 3, 4, 1), optimize=True) * 4 - rdm2.bbbb.oovv += tmp93.transpose((1, 0, 3, 2)) - tmp34 = einsum(t2.bbbb, (0, 1, 2, 3), tmp17, (0, 1, 4, 3), (4, 2), optimize=True) * -1 - tmp97 = tmp34.copy() * -1 - tmp33 = einsum(t2.abab, (0, 1, 2, 3), tmp13, (0, 1, 4, 2), (4, 3), optimize=True) - tmp97 += tmp33 * -0.5 - tmp32 = einsum(t2.bbbb, (0, 1, 2, 3), l1.bb, (3, 1), (0, 2), optimize=True) - tmp97 += tmp32 - tmp31 = einsum(l1.aa, (0, 1), t2.abab, (1, 2, 0, 3), (2, 3), optimize=True) - tmp97 += tmp31 * 0.5 - rdm2.bbbb.oovv += einsum(tmp97, (0, 1), t1.bb, (2, 3), (2, 0, 1, 3), optimize=True) * -2 - rdm2.bbbb.oovv += einsum(t1.bb, (0, 1), tmp97, (2, 3), (2, 0, 3, 1), optimize=True) * 2 - del tmp97 - tmp52 = tmp34.copy() * -1 - tmp52 += tmp33 * -0.5 - tmp52 += tmp32 - tmp52 += tmp31 * 0.5 - tmp52 += t1.bb * 0.5 - rdm2.bbbb.oovv += einsum(tmp52, (0, 1), t1.bb, (2, 3), (2, 0, 3, 1), optimize=True) * 2 - tmp96 = einsum(t2.abab, (0, 1, 2, 3), tmp82, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) - del tmp82 - rdm2.bbbb.oovv += tmp96.transpose((1, 0, 3, 2)) * 2 - rdm2.bbbb.oovv += tmp96 * 2 - tmp95 = einsum(tmp79, (0, 1, 2, 3), t2.bbbb, (4, 0, 5, 2), (4, 1, 5, 3), optimize=True) - del tmp79 - rdm2.bbbb.oovv += tmp95 * 8 - tmp94 = einsum(t2.abab, (0, 1, 2, 3), tmp81, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) - del tmp81 - rdm2.bbbb.oovv += tmp94.transpose((1, 0, 3, 2)) * 2 - rdm2.bbbb.oovv += einsum(tmp52, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1), optimize=True) * -2 - rdm2.bbbb.oovv += tmp96.transpose((1, 0, 2, 3)) * -2 - rdm2.bbbb.oovv += tmp96.transpose((0, 1, 3, 2)) * -2 - del tmp96 - rdm2.bbbb.oovv += tmp95.transpose((0, 1, 3, 2)) * -8 - del tmp95 - rdm2.bbbb.oovv += tmp94.transpose((0, 1, 3, 2)) * -2 - del tmp94 - rdm2.bbbb.oovv += tmp93.transpose((1, 0, 2, 3)) * -1 - del tmp93 - rdm2.bbbb.oovv += t2.bbbb.transpose((1, 0, 3, 2)) * 2 - rdm2.bbbb.oovv += tmp92.transpose((0, 1, 3, 2)) * -2 - del tmp92 - tmp14 = einsum(tmp13, (0, 1, 2, 3), t1.aa, (4, 3), (0, 4, 1, 2), optimize=True) - tmp41 = einsum(t1.bb, (0, 1), tmp14, (2, 3, 0, 4), (2, 3, 4, 1), optimize=True) - rdm2.abab.oovv = einsum(tmp41, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3), optimize=True) - tmp50 = einsum(t2.abab, (0, 1, 2, 3), tmp17, (4, 1, 5, 3), (0, 4, 5, 2), optimize=True) * -1 - tmp91 = tmp50.copy() - tmp51 = einsum(t2.aaaa, (0, 1, 2, 3), tmp13, (1, 4, 5, 3), (0, 4, 5, 2), optimize=True) - tmp91 += tmp51 - rdm2.abab.oovv += einsum(tmp91, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 3, 4), optimize=True) * -2 - del tmp91 - tmp40 = einsum(tmp13, (0, 1, 2, 3), t2.abab, (4, 1, 3, 5), (0, 4, 2, 5), optimize=True) - rdm2.abab.oovv += einsum(t1.aa, (0, 1), tmp40, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) - tmp2 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 3, 4, 1), (4, 0), optimize=True) - tmp3 = tmp2.copy() * 0.5 - tmp1 = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (2, 3, 4, 1), (4, 0), optimize=True) - tmp3 += tmp1 - tmp0 = einsum(l1.aa, (0, 1), t1.aa, (2, 0), (1, 2), optimize=True) - tmp3 += tmp0 * 0.5 - tmp90 = einsum(tmp3, (0, 1), t1.aa, (0, 2), (1, 2), optimize=True) - rdm2.abab.oovv += einsum(t1.bb, (0, 1), tmp90, (2, 3), (2, 0, 3, 1), optimize=True) * -2 - del tmp90 - rdm2.abab.oovv += einsum(tmp89, (0, 1, 2, 3), t2.abab, (0, 4, 5, 2), (1, 4, 5, 3), optimize=True) - del tmp89 - tmp88 = einsum(t1.aa, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3), optimize=True) - tmp88 += t2.abab - tmp12 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 5, 0, 1), (2, 4, 3, 5), optimize=True) - rdm2.abab.oovv += einsum(tmp88, (0, 1, 2, 3), tmp12, (0, 4, 1, 5), (4, 5, 2, 3), optimize=True) - del tmp88 - tmp15 = tmp10.copy() * 2 - tmp15 += tmp9 - tmp15 += tmp8 - tmp39 = einsum(t1.bb, (0, 1), tmp15, (0, 2), (2, 1), optimize=True) - rdm2.abab.oovv += einsum(t1.aa, (0, 1), tmp39, (2, 3), (0, 2, 1, 3), optimize=True) * -1 - tmp87 = tmp10.copy() * 2 - tmp87 += tmp9 - rdm2.abab.oovv += einsum(t2.abab, (0, 1, 2, 3), tmp87, (1, 4), (0, 4, 2, 3), optimize=True) * -1 - del tmp87 - tmp68 = tmp2.copy() - tmp68 += tmp1 * 2 - rdm2.abab.oovv += einsum(t2.abab, (0, 1, 2, 3), tmp68, (0, 4), (4, 1, 2, 3), optimize=True) * -1 - rdm2.abab.oovv += einsum(tmp14, (0, 1, 2, 3), t2.abab, (0, 2, 4, 5), (1, 3, 4, 5), optimize=True) - rdm2.abab.oovv += einsum(tmp8, (0, 1), t2.abab, (2, 0, 3, 4), (2, 1, 3, 4), optimize=True) * -1 - tmp48 = einsum(tmp22, (0, 1, 2, 3), t2.abab, (0, 4, 5, 3), (1, 2, 4, 5), optimize=True) - tmp86 = tmp48.copy() * -1 - tmp49 = einsum(l1.bb, (0, 1), t2.abab, (2, 3, 4, 0), (2, 1, 3, 4), optimize=True) - tmp86 += tmp49 - rdm2.abab.oovv += einsum(tmp86, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 3, 4), optimize=True) * -1 - del tmp86 - tmp37 = einsum(t2.bbbb, (0, 1, 2, 3), tmp22, (4, 5, 1, 3), (4, 5, 0, 2), optimize=True) - tmp85 = tmp37.copy() * 2 - tmp38 = einsum(t2.abab, (0, 1, 2, 3), tmp6, (4, 0, 5, 2), (4, 5, 1, 3), optimize=True) * -1 - tmp85 += tmp38 * 2 - tmp36 = einsum(t2.abab, (0, 1, 2, 3), l1.aa, (2, 4), (4, 0, 1, 3), optimize=True) - tmp85 += tmp36 - rdm2.abab.oovv += einsum(tmp85, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3), optimize=True) * -1 - del tmp85 - tmp57 = tmp56.copy() - del tmp56 - tmp57 += tmp55 * 2 - del tmp55 - rdm2.abab.oovv += einsum(t2.abab, (0, 1, 2, 3), tmp57, (2, 4), (0, 1, 4, 3), optimize=True) * -1 - tmp23 = einsum(tmp22, (0, 1, 2, 3), t2.abab, (0, 2, 4, 3), (1, 4), optimize=True) - tmp84 = tmp23.copy() * -0.5 - tmp21 = einsum(t2.aaaa, (0, 1, 2, 3), tmp6, (0, 1, 4, 3), (4, 2), optimize=True) * -1 - tmp84 += tmp21 * -1 - tmp20 = einsum(l1.bb, (0, 1), t2.abab, (2, 1, 3, 0), (2, 3), optimize=True) - tmp84 += tmp20 * 0.5 - tmp19 = einsum(l1.aa, (0, 1), t2.aaaa, (2, 1, 3, 0), (2, 3), optimize=True) - tmp84 += tmp19 - rdm2.abab.oovv += einsum(t1.bb, (0, 1), tmp84, (2, 3), (2, 0, 3, 1), optimize=True) * 2 - del tmp84 - tmp35 = tmp34.copy() * -2 - del tmp34 - tmp35 += tmp33 * -1 - del tmp33 - tmp35 += tmp32 * 2 - del tmp32 - tmp35 += tmp31 - del tmp31 - tmp35 += t1.bb - rdm2.abab.oovv += einsum(t1.aa, (0, 1), tmp35, (2, 3), (0, 2, 1, 3), optimize=True) - rdm2.abab.oovv += einsum(t2.aaaa, (0, 1, 2, 3), tmp83, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) * 4 - del tmp83 - rdm2.abab.oovv += einsum(t2.abab, (0, 1, 2, 3), tmp80, (1, 4, 3, 5), (0, 4, 2, 5), optimize=True) - del tmp80 - rdm2.abab.oovv += einsum(t2.abab, (0, 1, 2, 3), tmp77, (3, 4), (0, 1, 2, 4), optimize=True) * -2 - del tmp77 - rdm2.abab.oovv += t2.abab - rdm2.abab.oovv += einsum(t2.abab, (0, 1, 2, 3), tmp0, (0, 4), (4, 1, 2, 3), optimize=True) * -1 - tmp7 = einsum(tmp6, (0, 1, 2, 3), t1.aa, (4, 3), (0, 1, 4, 2), optimize=True) - tmp30 = einsum(tmp7, (0, 1, 2, 3), t1.aa, (0, 4), (1, 3, 2, 4), optimize=True) - rdm2.aaaa.oovv = einsum(t1.aa, (0, 1), tmp30, (0, 2, 3, 4), (3, 2, 1, 4), optimize=True) * -2 - tmp26 = einsum(tmp22, (0, 1, 2, 3), t2.abab, (4, 2, 5, 3), (0, 1, 4, 5), optimize=True) - tmp73 = tmp26.copy() - tmp27 = einsum(tmp6, (0, 1, 2, 3), t2.aaaa, (4, 1, 5, 3), (0, 2, 4, 5), optimize=True) * -1 - tmp73 += tmp27 * 4 - tmp74 = einsum(tmp73, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3), optimize=True) - del tmp73 - rdm2.aaaa.oovv += tmp74.transpose((1, 0, 3, 2)) * -1 - rdm2.aaaa.oovv += tmp74.transpose((1, 0, 2, 3)) - del tmp74 - tmp72 = einsum(t1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 1, 3), optimize=True) - tmp72 += t2.aaaa.transpose((1, 0, 3, 2)) - tmp5 = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (2, 3, 4, 5), (4, 5, 0, 1), optimize=True) - rdm2.aaaa.oovv += einsum(tmp5, (0, 1, 2, 3), tmp72, (0, 1, 4, 5), (3, 2, 5, 4), optimize=True) * 2 - del tmp72 - tmp71 = einsum(tmp68, (0, 1), t2.aaaa, (0, 2, 3, 4), (1, 2, 3, 4), optimize=True) * 2 - rdm2.aaaa.oovv += tmp71.transpose((1, 0, 3, 2)) * -1 - tmp70 = einsum(tmp0, (0, 1), t1.aa, (0, 2), (1, 2), optimize=True) - rdm2.aaaa.oovv += einsum(tmp70, (0, 1), t1.aa, (2, 3), (2, 0, 1, 3), optimize=True) - rdm2.aaaa.oovv += einsum(t1.aa, (0, 1), tmp70, (2, 3), (0, 2, 1, 3), optimize=True) * -1 - tmp69 = einsum(t1.aa, (0, 1), tmp68, (0, 2), (2, 1), optimize=True) * 0.5 - del tmp68 - rdm2.aaaa.oovv += einsum(t1.aa, (0, 1), tmp69, (2, 3), (0, 2, 3, 1), optimize=True) * 2 - rdm2.aaaa.oovv += einsum(t1.aa, (0, 1), tmp69, (2, 3), (0, 2, 1, 3), optimize=True) * -2 - rdm2.aaaa.oovv += tmp71.transpose((0, 1, 3, 2)) - del tmp71 - rdm2.aaaa.oovv += einsum(tmp70, (0, 1), t1.aa, (2, 3), (0, 2, 1, 3), optimize=True) * -1 - rdm2.aaaa.oovv += einsum(t1.aa, (0, 1), tmp70, (2, 3), (2, 0, 1, 3), optimize=True) - del tmp70 - rdm2.aaaa.oovv += einsum(tmp69, (0, 1), t1.aa, (2, 3), (0, 2, 1, 3), optimize=True) * -2 - rdm2.aaaa.oovv += einsum(tmp69, (0, 1), t1.aa, (2, 3), (0, 2, 3, 1), optimize=True) * 2 - del tmp69 - rdm2.aaaa.oovv += einsum(t2.aaaa, (0, 1, 2, 3), tmp7, (1, 0, 4, 5), (5, 4, 3, 2), optimize=True) * -2 - tmp54 = einsum(tmp0, (0, 1), t2.aaaa, (2, 0, 3, 4), (1, 2, 3, 4), optimize=True) - rdm2.aaaa.oovv += tmp54.transpose((1, 0, 3, 2)) * 2 - tmp67 = tmp26.transpose((0, 2, 1, 3)).copy() - tmp67 += tmp27.transpose((0, 2, 1, 3)) * 4 - tmp25 = einsum(l1.aa, (0, 1), t2.aaaa, (2, 3, 4, 0), (1, 2, 3, 4), optimize=True) - tmp67 += tmp25.transpose((0, 2, 1, 3)) * -2 - rdm2.aaaa.oovv += einsum(tmp67, (0, 1, 2, 3), t1.aa, (0, 4), (2, 1, 3, 4), optimize=True) - del tmp67 - tmp66 = tmp26.transpose((0, 2, 1, 3)).copy() * 0.5 - tmp66 += tmp27.transpose((0, 2, 1, 3)) * 2 - tmp66 += tmp25.transpose((0, 2, 1, 3)) * -1 - rdm2.aaaa.oovv += einsum(t1.aa, (0, 1), tmp66, (0, 2, 3, 4), (3, 2, 1, 4), optimize=True) * -2 - del tmp66 - rdm2.aaaa.oovv += einsum(tmp65, (0, 1), t2.aaaa, (2, 3, 0, 4), (3, 2, 1, 4), optimize=True) * 4 - del tmp65 - tmp64 = tmp23.copy() * -1 - tmp64 += tmp21 * -2 - tmp64 += tmp20 - tmp64 += tmp19 * 2 - rdm2.aaaa.oovv += einsum(t1.aa, (0, 1), tmp64, (2, 3), (0, 2, 3, 1), optimize=True) * -1 - rdm2.aaaa.oovv += einsum(tmp64, (0, 1), t1.aa, (2, 3), (0, 2, 1, 3), optimize=True) - del tmp64 - tmp24 = tmp23.copy() * -0.5 - tmp24 += tmp21 * -1 - tmp24 += tmp20 * 0.5 - tmp24 += tmp19 - tmp24 += t1.aa * 0.5 - rdm2.aaaa.oovv += einsum(t1.aa, (0, 1), tmp24, (2, 3), (0, 2, 1, 3), optimize=True) * 2 - tmp63 = einsum(tmp62, (0, 1, 2, 3), t2.abab, (4, 1, 5, 3), (0, 4, 2, 5), optimize=True) - del tmp62 - rdm2.aaaa.oovv += tmp63.transpose((1, 0, 3, 2)) * 2 - rdm2.aaaa.oovv += tmp63 * 2 - tmp59 = einsum(t2.aaaa, (0, 1, 2, 3), tmp58, (1, 4, 3, 5), (4, 0, 5, 2), optimize=True) - del tmp58 - rdm2.aaaa.oovv += tmp59 * 8 - tmp61 = einsum(t2.abab, (0, 1, 2, 3), tmp60, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) - del tmp60 - rdm2.aaaa.oovv += tmp61 * 2 - rdm2.aaaa.oovv += einsum(t1.aa, (0, 1), tmp24, (2, 3), (2, 0, 1, 3), optimize=True) * -2 - rdm2.aaaa.oovv += tmp63.transpose((1, 0, 2, 3)) * -2 - rdm2.aaaa.oovv += tmp63.transpose((0, 1, 3, 2)) * -2 - del tmp63 - rdm2.aaaa.oovv += tmp61.transpose((0, 1, 3, 2)) * -2 - del tmp61 - rdm2.aaaa.oovv += tmp59.transpose((0, 1, 3, 2)) * -8 - del tmp59 - rdm2.aaaa.oovv += einsum(t2.aaaa, (0, 1, 2, 3), tmp57, (2, 4), (1, 0, 3, 4), optimize=True) * -2 - del tmp57 - rdm2.aaaa.oovv += t2.aaaa.transpose((1, 0, 3, 2)) * 2 - rdm2.aaaa.oovv += tmp54.transpose((0, 1, 3, 2)) * -2 - del tmp54 - rdm2.bbbb.vooo = tmp17.transpose((3, 2, 1, 0)).copy() * 2 - rdm2.bbbb.vooo += einsum(l1.bb, (0, 1), delta.bb.oo, (2, 3), (0, 3, 2, 1), optimize=True) * -1 - rdm2.bbbb.vooo += einsum(delta.bb.oo, (0, 1), l1.bb, (2, 3), (2, 1, 3, 0), optimize=True) - rdm2.abab.vooo = tmp13.transpose((3, 2, 0, 1)).copy() * -1 - del tmp13 - rdm2.abab.vooo += einsum(l1.aa, (0, 1), delta.bb.oo, (2, 3), (0, 3, 1, 2), optimize=True) - rdm2.aaaa.vooo = tmp6.transpose((3, 2, 1, 0)).copy() * 2 - rdm2.aaaa.vooo += einsum(l1.aa, (0, 1), delta.aa.oo, (2, 3), (0, 3, 2, 1), optimize=True) * -1 - rdm2.aaaa.vooo += einsum(l1.aa, (0, 1), delta.aa.oo, (2, 3), (0, 3, 1, 2), optimize=True) - rdm2.bbbb.ovoo = tmp17.transpose((2, 3, 1, 0)).copy() * -2 - del tmp17 - rdm2.bbbb.ovoo += einsum(l1.bb, (0, 1), delta.bb.oo, (2, 3), (3, 0, 2, 1), optimize=True) - rdm2.bbbb.ovoo += einsum(delta.bb.oo, (0, 1), l1.bb, (2, 3), (1, 2, 3, 0), optimize=True) * -1 - rdm2.abab.ovoo = tmp22.transpose((1, 3, 0, 2)).copy() * -1 - del tmp22 - rdm2.abab.ovoo += einsum(l1.bb, (0, 1), delta.aa.oo, (2, 3), (3, 0, 2, 1), optimize=True) - rdm2.aaaa.ovoo = tmp6.transpose((2, 3, 1, 0)).copy() * -2 - del tmp6 - rdm2.aaaa.ovoo += einsum(l1.aa, (0, 1), delta.aa.oo, (2, 3), (3, 0, 2, 1), optimize=True) - rdm2.aaaa.ovoo += einsum(l1.aa, (0, 1), delta.aa.oo, (2, 3), (3, 0, 1, 2), optimize=True) * -1 - rdm2.bbbb.oovo = tmp46.transpose((1, 2, 3, 0)).copy() * -2 - rdm2.bbbb.oovo += tmp43.transpose((2, 1, 3, 0)) * -4 - rdm2.bbbb.oovo += tmp42.transpose((2, 1, 3, 0)) * -1 - tmp45 = einsum(t1.bb, (0, 1), tmp16, (2, 0, 3, 4), (2, 3, 4, 1), optimize=True) - rdm2.bbbb.oovo += tmp45.transpose((1, 2, 3, 0)) * -2 - rdm2.bbbb.oovo += einsum(t1.bb, (0, 1), tmp15, (2, 3), (0, 3, 1, 2), optimize=True) * -1 - rdm2.bbbb.oovo += einsum(t1.bb, (0, 1), tmp15, (2, 3), (3, 0, 1, 2), optimize=True) - tmp53 = einsum(t1.bb, (0, 1), tmp15, (0, 2), (2, 1), optimize=True) * 0.5 - rdm2.bbbb.oovo += einsum(delta.bb.oo, (0, 1), tmp53, (2, 3), (1, 2, 3, 0), optimize=True) * 2 - rdm2.bbbb.oovo += einsum(delta.bb.oo, (0, 1), tmp53, (2, 3), (2, 1, 3, 0), optimize=True) * -2 - del tmp53 - rdm2.bbbb.oovo += tmp44.transpose((2, 1, 3, 0)) * 2 - rdm2.bbbb.oovo += tmp43.transpose((1, 2, 3, 0)) * 4 - rdm2.bbbb.oovo += tmp42.transpose((1, 2, 3, 0)) - rdm2.bbbb.oovo += einsum(delta.bb.oo, (0, 1), tmp52, (2, 3), (1, 2, 3, 0), optimize=True) * -2 - rdm2.bbbb.oovo += einsum(delta.bb.oo, (0, 1), tmp52, (2, 3), (2, 1, 3, 0), optimize=True) * 2 - del tmp52 - rdm2.abab.oovo = einsum(tmp14, (0, 1, 2, 3), t1.aa, (0, 4), (1, 3, 4, 2), optimize=True) - rdm2.abab.oovo += tmp51.transpose((0, 2, 3, 1)) * -2 - del tmp51 - rdm2.abab.oovo += tmp50.transpose((0, 2, 3, 1)) * -2 - del tmp50 - rdm2.abab.oovo += einsum(t1.aa, (0, 1), tmp12, (0, 2, 3, 4), (2, 4, 1, 3), optimize=True) - tmp11 = tmp10.copy() - del tmp10 - tmp11 += tmp9 * 0.5 - del tmp9 - tmp11 += tmp8 * 0.5 - del tmp8 - rdm2.abab.oovo += einsum(t1.aa, (0, 1), tmp11, (2, 3), (0, 3, 1, 2), optimize=True) * -2 - tmp28 = einsum(tmp3, (0, 1), t1.aa, (0, 2), (1, 2), optimize=True) * 2 - rdm2.abab.oovo += einsum(tmp28, (0, 1), delta.bb.oo, (2, 3), (0, 3, 1, 2), optimize=True) * -1 - rdm2.abab.oovo += tmp49.transpose((0, 2, 3, 1)) * -1 - del tmp49 - rdm2.abab.oovo += tmp48.transpose((0, 2, 3, 1)) - del tmp48 - rdm2.abab.oovo += einsum(tmp24, (0, 1), delta.bb.oo, (2, 3), (0, 3, 1, 2), optimize=True) * 2 - rdm2.aaaa.oovo = tmp30.transpose((1, 2, 3, 0)).copy() * -2 - rdm2.aaaa.oovo += tmp27.transpose((2, 1, 3, 0)) * -4 - rdm2.aaaa.oovo += tmp26.transpose((2, 1, 3, 0)) * -1 - tmp29 = einsum(tmp5, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 3, 4), optimize=True) - rdm2.aaaa.oovo += tmp29.transpose((1, 2, 3, 0)) * -2 - tmp4 = tmp2.copy() - del tmp2 - tmp4 += tmp1 * 2 - del tmp1 - tmp4 += tmp0 - del tmp0 - rdm2.aaaa.oovo += einsum(t1.aa, (0, 1), tmp4, (2, 3), (0, 3, 1, 2), optimize=True) * -1 - rdm2.aaaa.oovo += einsum(tmp4, (0, 1), t1.aa, (2, 3), (1, 2, 3, 0), optimize=True) - rdm2.aaaa.oovo += einsum(tmp28, (0, 1), delta.aa.oo, (2, 3), (3, 0, 1, 2), optimize=True) - rdm2.aaaa.oovo += einsum(tmp28, (0, 1), delta.aa.oo, (2, 3), (0, 3, 1, 2), optimize=True) * -1 - rdm2.aaaa.oovo += tmp27.transpose((1, 2, 3, 0)) * 4 - rdm2.aaaa.oovo += tmp26.transpose((1, 2, 3, 0)) - rdm2.aaaa.oovo += tmp25.transpose((2, 1, 3, 0)) * 2 - tmp47 = tmp23.copy() * -1 - del tmp23 - tmp47 += tmp21 * -2 - del tmp21 - tmp47 += tmp20 - del tmp20 - tmp47 += tmp19 * 2 - del tmp19 - tmp47 += t1.aa - rdm2.aaaa.oovo += einsum(tmp47, (0, 1), delta.aa.oo, (2, 3), (3, 0, 1, 2), optimize=True) * -1 - rdm2.aaaa.oovo += einsum(delta.aa.oo, (0, 1), tmp47, (2, 3), (2, 1, 3, 0), optimize=True) - del tmp47 - rdm2.bbbb.ooov = tmp46.transpose((1, 2, 0, 3)).copy() * 2 - del tmp46 - rdm2.bbbb.ooov += tmp43.transpose((2, 1, 0, 3)) * 4 - rdm2.bbbb.ooov += tmp42.transpose((2, 1, 0, 3)) - rdm2.bbbb.ooov += tmp45.transpose((1, 2, 0, 3)) * 2 - del tmp45 - rdm2.bbbb.ooov += einsum(t1.bb, (0, 1), tmp11, (2, 3), (0, 3, 2, 1), optimize=True) * 2 - rdm2.bbbb.ooov += einsum(tmp11, (0, 1), t1.bb, (2, 3), (1, 2, 0, 3), optimize=True) * -2 - rdm2.bbbb.ooov += einsum(delta.bb.oo, (0, 1), tmp39, (2, 3), (1, 2, 0, 3), optimize=True) * -1 - rdm2.bbbb.ooov += einsum(delta.bb.oo, (0, 1), tmp39, (2, 3), (2, 1, 0, 3), optimize=True) - rdm2.bbbb.ooov += tmp44.transpose((2, 1, 0, 3)) * -2 - del tmp44 - rdm2.bbbb.ooov += tmp43.transpose((1, 2, 0, 3)) * -4 - del tmp43 - rdm2.bbbb.ooov += tmp42.transpose((1, 2, 0, 3)) * -1 - del tmp42 - rdm2.bbbb.ooov += einsum(delta.bb.oo, (0, 1), tmp35, (2, 3), (1, 2, 0, 3), optimize=True) - rdm2.bbbb.ooov += einsum(delta.bb.oo, (0, 1), tmp35, (2, 3), (2, 1, 0, 3), optimize=True) * -1 - rdm2.abab.ooov = tmp41.transpose((1, 2, 0, 3)).copy() - del tmp41 - rdm2.abab.ooov += tmp40.transpose((1, 2, 0, 3)) - del tmp40 - rdm2.abab.ooov += einsum(t1.bb, (0, 1), tmp12, (2, 3, 0, 4), (3, 4, 2, 1), optimize=True) - rdm2.abab.ooov += einsum(tmp4, (0, 1), t1.bb, (2, 3), (1, 2, 0, 3), optimize=True) * -1 - rdm2.abab.ooov += einsum(delta.aa.oo, (0, 1), tmp39, (2, 3), (1, 2, 0, 3), optimize=True) * -1 - del tmp39 - rdm2.abab.ooov += tmp38.transpose((1, 2, 0, 3)) * -2 - del tmp38 - rdm2.abab.ooov += tmp37.transpose((1, 2, 0, 3)) * -2 - del tmp37 - rdm2.abab.ooov += tmp36.transpose((1, 2, 0, 3)) * -1 - del tmp36 - rdm2.abab.ooov += einsum(delta.aa.oo, (0, 1), tmp35, (2, 3), (1, 2, 0, 3), optimize=True) - del tmp35 - rdm2.aaaa.ooov = tmp30.transpose((1, 2, 0, 3)).copy() * 2 - del tmp30 - rdm2.aaaa.ooov += tmp27.transpose((2, 1, 0, 3)) * 4 - rdm2.aaaa.ooov += tmp26.transpose((2, 1, 0, 3)) - rdm2.aaaa.ooov += tmp29.transpose((1, 2, 0, 3)) * 2 - del tmp29 - rdm2.aaaa.ooov += einsum(t1.aa, (0, 1), tmp4, (2, 3), (0, 3, 2, 1), optimize=True) - rdm2.aaaa.ooov += einsum(tmp4, (0, 1), t1.aa, (2, 3), (1, 2, 0, 3), optimize=True) * -1 - rdm2.aaaa.ooov += einsum(tmp28, (0, 1), delta.aa.oo, (2, 3), (3, 0, 2, 1), optimize=True) * -1 - rdm2.aaaa.ooov += einsum(tmp28, (0, 1), delta.aa.oo, (2, 3), (0, 3, 2, 1), optimize=True) - del tmp28 - rdm2.aaaa.ooov += tmp27.transpose((1, 2, 0, 3)) * -4 - del tmp27 - rdm2.aaaa.ooov += tmp26.transpose((1, 2, 0, 3)) * -1 - del tmp26 - rdm2.aaaa.ooov += tmp25.transpose((2, 1, 0, 3)) * -2 - del tmp25 - rdm2.aaaa.ooov += einsum(tmp24, (0, 1), delta.aa.oo, (2, 3), (3, 0, 2, 1), optimize=True) * 2 - rdm2.aaaa.ooov += einsum(delta.aa.oo, (0, 1), tmp24, (2, 3), (2, 1, 0, 3), optimize=True) * -2 - del tmp24 - rdm2.bbbb.oooo = tmp18.transpose((2, 3, 1, 0)).copy() * -2 - del tmp18 - rdm2.bbbb.oooo += tmp16.transpose((3, 2, 1, 0)) * 2 - del tmp16 - rdm2.bbbb.oooo += einsum(delta.bb.oo, (0, 1), tmp11, (2, 3), (1, 3, 0, 2), optimize=True) * -2 - rdm2.bbbb.oooo += einsum(tmp11, (0, 1), delta.bb.oo, (2, 3), (1, 3, 2, 0), optimize=True) * 2 - rdm2.bbbb.oooo += einsum(tmp15, (0, 1), delta.bb.oo, (2, 3), (3, 1, 0, 2), optimize=True) - rdm2.bbbb.oooo += einsum(delta.bb.oo, (0, 1), tmp15, (2, 3), (3, 1, 2, 0), optimize=True) * -1 - del tmp15 - rdm2.bbbb.oooo += einsum(delta.bb.oo, (0, 1), delta.bb.oo, (2, 3), (3, 0, 1, 2), optimize=True) * -1 - rdm2.bbbb.oooo += einsum(delta.bb.oo, (0, 1), delta.bb.oo, (2, 3), (1, 3, 0, 2), optimize=True) - rdm2.abab.oooo = tmp14.transpose((1, 3, 0, 2)).copy() - del tmp14 - rdm2.abab.oooo += tmp12.transpose((1, 3, 0, 2)) - del tmp12 - rdm2.abab.oooo += einsum(delta.aa.oo, (0, 1), tmp11, (2, 3), (1, 3, 0, 2), optimize=True) * -2 - del tmp11 - rdm2.abab.oooo += einsum(tmp4, (0, 1), delta.bb.oo, (2, 3), (1, 3, 0, 2), optimize=True) * -1 - rdm2.abab.oooo += einsum(delta.aa.oo, (0, 1), delta.bb.oo, (2, 3), (1, 3, 0, 2), optimize=True) - rdm2.aaaa.oooo = tmp7.transpose((2, 3, 1, 0)).copy() * -2 - del tmp7 - rdm2.aaaa.oooo += tmp5.transpose((3, 2, 1, 0)) * 2 - del tmp5 - rdm2.aaaa.oooo += einsum(delta.aa.oo, (0, 1), tmp4, (2, 3), (1, 3, 0, 2), optimize=True) * -1 - rdm2.aaaa.oooo += einsum(delta.aa.oo, (0, 1), tmp4, (2, 3), (3, 1, 0, 2), optimize=True) - del tmp4 - rdm2.aaaa.oooo += einsum(tmp3, (0, 1), delta.aa.oo, (2, 3), (3, 1, 0, 2), optimize=True) * 2 - rdm2.aaaa.oooo += einsum(delta.aa.oo, (0, 1), tmp3, (2, 3), (3, 1, 2, 0), optimize=True) * -2 - del tmp3 - rdm2.aaaa.oooo += einsum(delta.aa.oo, (0, 1), delta.aa.oo, (2, 3), (1, 2, 3, 0), optimize=True) * -1 - rdm2.aaaa.oooo += einsum(delta.aa.oo, (0, 1), delta.aa.oo, (2, 3), (3, 1, 2, 0), optimize=True) - del delta - rdm2.aaaa = pack_2e(rdm2.aaaa.oooo, rdm2.aaaa.ooov, rdm2.aaaa.oovo, rdm2.aaaa.ovoo, rdm2.aaaa.vooo, rdm2.aaaa.oovv, rdm2.aaaa.ovov, rdm2.aaaa.ovvo, rdm2.aaaa.voov, rdm2.aaaa.vovo, rdm2.aaaa.vvoo, rdm2.aaaa.ovvv, rdm2.aaaa.vovv, rdm2.aaaa.vvov, rdm2.aaaa.vvvo, rdm2.aaaa.vvvv) - rdm2.abab = pack_2e(rdm2.abab.oooo, rdm2.abab.ooov, rdm2.abab.oovo, rdm2.abab.ovoo, rdm2.abab.vooo, rdm2.abab.oovv, rdm2.abab.ovov, rdm2.abab.ovvo, rdm2.abab.voov, rdm2.abab.vovo, rdm2.abab.vvoo, rdm2.abab.ovvv, rdm2.abab.vovv, rdm2.abab.vvov, rdm2.abab.vvvo, rdm2.abab.vvvv) - rdm2.bbbb = pack_2e(rdm2.bbbb.oooo, rdm2.bbbb.ooov, rdm2.bbbb.oovo, rdm2.bbbb.ovoo, rdm2.bbbb.vooo, rdm2.bbbb.oovv, rdm2.bbbb.ovov, rdm2.bbbb.ovvo, rdm2.bbbb.voov, rdm2.bbbb.vovo, rdm2.bbbb.vvoo, rdm2.bbbb.ovvv, rdm2.bbbb.vovv, rdm2.bbbb.vvov, rdm2.bbbb.vvvo, rdm2.bbbb.vvvv) - rdm2 = Namespace( - aaaa=rdm2.aaaa.swapaxes(1, 2), - aabb=rdm2.abab.swapaxes(1, 2), - bbbb=rdm2.bbbb.swapaxes(1, 2), - ) - - return rdm2 - diff --git a/ebcc/codegen/UCCD.py b/ebcc/codegen/UCCD.py deleted file mode 100644 index 4cab9112..00000000 --- a/ebcc/codegen/UCCD.py +++ /dev/null @@ -1,896 +0,0 @@ -""" -Code generated by `albert`: -https://github.com/obackhouse/albert - - * date: 2024-07-18T20:23:00.654018 - * python version: 3.10.12 (main, Mar 22 2024, 16:50:05) [GCC 11.4.0] - * albert version: 0.0.0 - * caller: /home/ollie/git/albert/albert/codegen/einsum.py - * node: ollie-desktop - * system: Linux - * processor: x86_64 - * release: 6.5.0-44-generic -""" - -from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, direct_sum, Namespace - - -def energy(t2=None, v=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-07-18T20:23:00.888746. - - Parameters - ---------- - t2 : Namespace of arrays - T2 amplitudes. - v : Namespace of arrays - Electron repulsion integrals. - - Returns - ------- - e_cc : float - Coupled cluster energy. - """ - - e_cc = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 2, 1, 3), (), optimize=True) - e_cc += einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (0, 2, 1, 3), (), optimize=True) - e_cc += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (0, 2, 1, 3), (), optimize=True) - - return e_cc - -def update_amps(f=None, t2=None, v=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-07-18T20:23:07.460773. - - Parameters - ---------- - f : Namespace of arrays - Fock matrix. - t2 : Namespace of arrays - T2 amplitudes. - v : Namespace of arrays - Electron repulsion integrals. - - Returns - ------- - t2new : Namespace of arrays - Updated T2 residuals. - """ - - t2new = Namespace() - tmp9 = v.aaaa.ovov.transpose((2, 0, 1, 3)).copy() * -1 - tmp9 += v.aaaa.ovov.transpose((2, 0, 3, 1)) - tmp35 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 3), (1, 4), optimize=True) - tmp36 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (1, 3, 4, 2), (0, 4), optimize=True) - tmp11 = v.bbbb.ovov.transpose((2, 0, 1, 3)).copy() * -1 - tmp11 += v.bbbb.ovov.transpose((2, 0, 3, 1)) - tmp13 = v.aaaa.ovov.transpose((2, 0, 1, 3)).copy() - tmp13 += v.aaaa.ovov.transpose((2, 0, 3, 1)) * -1 - tmp45 = einsum(tmp9, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) - t2new.bbbb = einsum(tmp45, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) - tmp25 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (0, 2, 4, 3), (4, 1), optimize=True) - tmp24 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 1, 4), (3, 4), optimize=True) - tmp37 = tmp35.copy() - del tmp35 - tmp37 += tmp36 * 2 - del tmp36 - t2new.abab = einsum(t2.abab, (0, 1, 2, 3), tmp37, (4, 1), (0, 4, 2, 3), optimize=True) * -1 - tmp46 = v.bbbb.ovov.transpose((2, 0, 1, 3)).copy() - tmp46 += v.bbbb.ovov.transpose((2, 0, 3, 1)) * -1 - tmp27 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.bbbb, (4, 2, 5, 3), (0, 4, 1, 5), optimize=True) - t2new.abab += tmp27 * 2 - tmp19 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (1, 2, 4, 3), (0, 4), optimize=True) * -1 - tmp20 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 1, 3), (4, 0), optimize=True) - tmp12 = einsum(tmp11, (0, 1, 2, 3), t2.abab, (4, 0, 5, 3), (4, 1, 5, 2), optimize=True) - t2new.aaaa = einsum(t2.abab, (0, 1, 2, 3), tmp12, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) * -1 - tmp30 = einsum(t2.aaaa, (0, 1, 2, 3), v.aabb.ovov, (1, 3, 4, 5), (0, 4, 2, 5), optimize=True) - t2new.abab += tmp30 * 2 - tmp2 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.aaaa, (0, 2, 4, 3), (4, 1), optimize=True) - tmp3 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 4, 1, 3), (2, 4), optimize=True) - tmp14 = einsum(t2.aaaa, (0, 1, 2, 3), tmp13, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) - del tmp13 - tmp5 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (0, 4, 2, 5), optimize=True) - t2new.aaaa += tmp5 - t2new.aaaa += tmp5.transpose((1, 0, 2, 3)) * -1 - t2new.aaaa += tmp5.transpose((1, 0, 3, 2)) - tmp49 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 3, 5, 2), (0, 1, 4, 5), optimize=True) * -1 - t2new.bbbb += einsum(tmp49, (0, 1, 2, 3), t2.bbbb, (2, 3, 4, 5), (1, 0, 5, 4), optimize=True) * 2 - del tmp49 - tmp48 = v.aabb.ovov.transpose((0, 2, 1, 3)).copy() - tmp48 += tmp45 - del tmp45 - t2new.bbbb += einsum(tmp48, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (4, 1, 3, 5), optimize=True) * -1 - del tmp48 - tmp41 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 4, 1, 5), (4, 2, 5, 3), optimize=True) - t2new.bbbb += tmp41 - t2new.bbbb += tmp41.transpose((1, 0, 2, 3)) * -1 - t2new.bbbb += tmp41.transpose((1, 0, 3, 2)) - del tmp41 - tmp44 = v.bbbb.oovv.transpose((1, 0, 3, 2)).copy() - tmp44 += einsum(t2.bbbb, (0, 1, 2, 3), tmp11, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) * -2 - del tmp11 - t2new.bbbb += einsum(tmp44, (0, 1, 2, 3), t2.bbbb, (1, 4, 3, 5), (0, 4, 2, 5), optimize=True) * -2 - del tmp44 - tmp26 = tmp24.copy() * 0.5 - tmp26 += tmp25 - t2new.bbbb += einsum(t2.bbbb, (0, 1, 2, 3), tmp26, (4, 2), (1, 0, 3, 4), optimize=True) * -4 - t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp26, (4, 3), (0, 1, 2, 4), optimize=True) * -2 - del tmp26 - tmp50 = einsum(tmp37, (0, 1), t2.bbbb, (1, 2, 3, 4), (2, 0, 3, 4), optimize=True) * 2 - del tmp37 - t2new.bbbb += tmp50.transpose((1, 0, 3, 2)) - t2new.bbbb += tmp50.transpose((0, 1, 3, 2)) * -1 - del tmp50 - tmp33 = v.bbbb.ovov.transpose((2, 0, 3, 1)).copy() - tmp33 += v.bbbb.oovv.transpose((1, 0, 3, 2)) * -1 - t2new.bbbb += einsum(tmp33, (0, 1, 2, 3), t2.bbbb, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) * 2 - t2new.abab += einsum(tmp33, (0, 1, 2, 3), t2.abab, (4, 0, 5, 2), (4, 1, 5, 3), optimize=True) - del tmp33 - tmp47 = v.bbbb.ovov.transpose((2, 0, 3, 1)).copy() - tmp47 += v.bbbb.oovv.transpose((1, 0, 3, 2)) * -1 - tmp47 += einsum(tmp46, (0, 1, 2, 3), t2.bbbb, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) * -2 - del tmp46 - t2new.bbbb += einsum(tmp47, (0, 1, 2, 3), t2.bbbb, (1, 4, 3, 5), (4, 0, 2, 5), optimize=True) * -2 - del tmp47 - tmp42 = f.bb.vv.transpose((1, 0)).copy() * -1 - tmp42 += tmp24 - del tmp24 - tmp42 += tmp25 * 2 - del tmp25 - t2new.bbbb += einsum(tmp42, (0, 1), t2.bbbb, (2, 3, 1, 4), (3, 2, 0, 4), optimize=True) * 2 - del tmp42 - tmp40 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (4, 0, 5, 1), (4, 2, 5, 3), optimize=True) - t2new.bbbb += tmp40.transpose((1, 0, 2, 3)) * -2 - t2new.bbbb += tmp40.transpose((1, 0, 3, 2)) * 2 - del tmp40 - tmp38 = einsum(t2.bbbb, (0, 1, 2, 3), f.bb.oo, (4, 1), (4, 0, 2, 3), optimize=True) - t2new.bbbb += tmp38.transpose((0, 1, 3, 2)) * -2 - t2new.bbbb += tmp38.transpose((1, 0, 3, 2)) * 2 - del tmp38 - tmp39 = einsum(v.bbbb.oooo, (0, 1, 2, 3), t2.bbbb, (3, 1, 4, 5), (0, 2, 4, 5), optimize=True) * -1 - t2new.bbbb += tmp39.transpose((1, 0, 3, 2)) - t2new.bbbb += tmp39.transpose((1, 0, 3, 2)) - del tmp39 - tmp43 = einsum(t2.abab, (0, 1, 2, 3), tmp27, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) - del tmp27 - t2new.bbbb += tmp43.transpose((1, 0, 2, 3)) * -2 - t2new.bbbb += tmp43.transpose((0, 1, 3, 2)) * -2 - t2new.bbbb += tmp43.transpose((1, 0, 3, 2)) * 2 - t2new.bbbb += tmp43 * 2 - del tmp43 - tmp21 = tmp19.copy() * 2 - tmp21 += tmp20 - t2new.abab += einsum(tmp21, (0, 1), t2.abab, (1, 2, 3, 4), (0, 2, 3, 4), optimize=True) * -1 - t2new.aaaa += einsum(tmp21, (0, 1), t2.aaaa, (1, 2, 3, 4), (2, 0, 4, 3), optimize=True) * -2 - del tmp21 - tmp32 = v.bbaa.oovv.transpose((1, 0, 3, 2)).copy() - tmp32 += einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 4, 5, 3), (2, 4, 1, 5), optimize=True) * -1 - t2new.abab += einsum(tmp32, (0, 1, 2, 3), t2.abab, (4, 0, 2, 5), (4, 1, 3, 5), optimize=True) * -1 - del tmp32 - tmp31 = tmp30.copy() * 2 - del tmp30 - tmp31 += tmp12 * -1 - t2new.abab += einsum(t2.bbbb, (0, 1, 2, 3), tmp31, (4, 0, 5, 2), (4, 1, 5, 3), optimize=True) * 2 - del tmp31 - tmp28 = f.aa.vv.transpose((1, 0)).copy() * -1 - tmp28 += tmp2.transpose((1, 0)) * 2 - tmp28 += tmp3.transpose((1, 0)) - t2new.abab += einsum(tmp28, (0, 1), t2.abab, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) * -1 - del tmp28 - tmp29 = v.aaaa.oovv.transpose((1, 0, 3, 2)).copy() - tmp29 += tmp5.transpose((1, 0, 3, 2)) * -1 - tmp29 += tmp14.transpose((1, 0, 3, 2)) * 2 - t2new.abab += einsum(tmp29, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) * -1 - del tmp29 - tmp34 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 5, 3), (0, 4, 1, 5), optimize=True) - t2new.abab += einsum(tmp34, (0, 1, 2, 3), t2.abab, (1, 3, 4, 5), (0, 2, 4, 5), optimize=True) - del tmp34 - tmp23 = einsum(v.aabb.oooo, (0, 1, 2, 3), t2.abab, (1, 3, 4, 5), (0, 2, 4, 5), optimize=True) - t2new.abab += tmp23 * 0.5 - t2new.abab += tmp23 * 0.5 - del tmp23 - tmp4 = tmp2.copy() - tmp4 += tmp3 * 0.5 - t2new.aaaa += einsum(tmp4, (0, 1), t2.aaaa, (2, 3, 1, 4), (3, 2, 4, 0), optimize=True) * -4 - del tmp4 - tmp6 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.aaaa, (4, 2, 5, 3), (4, 0, 5, 1), optimize=True) - t2new.aaaa += tmp6.transpose((1, 0, 2, 3)) * -2 - t2new.aaaa += tmp6.transpose((1, 0, 3, 2)) * 2 - del tmp6 - tmp0 = einsum(f.aa.oo, (0, 1), t2.aaaa, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) - t2new.aaaa += tmp0.transpose((0, 1, 3, 2)) * -2 - t2new.aaaa += tmp0.transpose((1, 0, 3, 2)) * 2 - del tmp0 - tmp22 = tmp19.copy() - del tmp19 - tmp22 += tmp20 * 0.5 - del tmp20 - t2new.aaaa += einsum(tmp22, (0, 1), t2.aaaa, (1, 2, 3, 4), (0, 2, 4, 3), optimize=True) * 4 - del tmp22 - tmp10 = v.aaaa.oovv.transpose((1, 0, 3, 2)).copy() - tmp10 += einsum(tmp9, (0, 1, 2, 3), t2.aaaa, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) * -2 - del tmp9 - t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp10, (4, 0, 5, 2), (4, 1, 5, 3), optimize=True) * -2 - del tmp10 - tmp7 = f.aa.vv.transpose((1, 0)).copy() * -1 - tmp7 += tmp2 * 2 - del tmp2 - tmp7 += tmp3 - del tmp3 - t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp7, (4, 2), (1, 0, 4, 3), optimize=True) * 2 - del tmp7 - tmp17 = v.aaaa.ovov.transpose((2, 0, 3, 1)).copy() - tmp17 += v.aaaa.oovv.transpose((1, 0, 3, 2)) * -1 - t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp17, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) * 2 - del tmp17 - tmp16 = v.aabb.ovov.transpose((0, 2, 1, 3)).copy() - tmp16 += tmp12 * -1 - del tmp12 - t2new.aaaa += einsum(t2.abab, (0, 1, 2, 3), tmp16, (4, 1, 5, 3), (0, 4, 5, 2), optimize=True) * -1 - del tmp16 - tmp8 = einsum(tmp5, (0, 1, 2, 3), t2.aaaa, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) - del tmp5 - t2new.aaaa += tmp8.transpose((1, 0, 2, 3)) * -2 - t2new.aaaa += tmp8.transpose((0, 1, 3, 2)) * -2 - t2new.aaaa += tmp8.transpose((1, 0, 3, 2)) * 2 - t2new.aaaa += tmp8 * 2 - del tmp8 - tmp15 = v.aaaa.ovov.transpose((2, 0, 3, 1)).copy() - tmp15 += v.aaaa.oovv.transpose((1, 0, 3, 2)) * -1 - tmp15 += tmp14 * -2 - del tmp14 - t2new.aaaa += einsum(tmp15, (0, 1, 2, 3), t2.aaaa, (1, 4, 3, 5), (4, 0, 2, 5), optimize=True) * -2 - del tmp15 - tmp1 = einsum(v.aaaa.oooo, (0, 1, 2, 3), t2.aaaa, (3, 1, 4, 5), (0, 2, 4, 5), optimize=True) * -1 - t2new.aaaa += tmp1.transpose((1, 0, 3, 2)) - t2new.aaaa += tmp1.transpose((1, 0, 3, 2)) - del tmp1 - tmp18 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 3, 5, 2), (0, 1, 4, 5), optimize=True) * -1 - t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp18, (4, 5, 0, 1), (5, 4, 3, 2), optimize=True) * 2 - del tmp18 - t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), f.aa.vv, (4, 3), (1, 0, 2, 4), optimize=True) * -2 - t2new.aaaa += v.aaaa.ovov.transpose((2, 0, 3, 1)) - t2new.aaaa += v.aaaa.ovov.transpose((2, 0, 1, 3)) * -1 - t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.oovv, (4, 1, 5, 3), (4, 0, 2, 5), optimize=True) * 2 - t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.vvvv, (4, 2, 3, 5), (1, 0, 5, 4), optimize=True) * 2 - t2new.abab += einsum(f.bb.oo, (0, 1), t2.abab, (2, 1, 3, 4), (2, 0, 3, 4), optimize=True) * -1 - t2new.abab += einsum(t2.abab, (0, 1, 2, 3), f.aa.oo, (4, 0), (4, 1, 2, 3), optimize=True) * -1 - t2new.abab += einsum(t2.abab, (0, 1, 2, 3), v.aaaa.ovov, (4, 5, 0, 2), (4, 1, 5, 3), optimize=True) - t2new.abab += einsum(f.bb.vv, (0, 1), t2.abab, (2, 3, 4, 1), (2, 3, 4, 0), optimize=True) - t2new.abab += v.aabb.ovov.transpose((0, 2, 1, 3)) - t2new.abab += einsum(v.aabb.oovv, (0, 1, 2, 3), t2.abab, (1, 4, 5, 3), (0, 4, 5, 2), optimize=True) * -1 - t2new.abab += einsum(v.aabb.vvvv, (0, 1, 2, 3), t2.abab, (4, 5, 1, 3), (4, 5, 0, 2), optimize=True) - t2new.bbbb += einsum(f.bb.vv, (0, 1), t2.bbbb, (2, 3, 4, 1), (3, 2, 4, 0), optimize=True) * -2 - t2new.bbbb += v.bbbb.ovov.transpose((2, 0, 3, 1)) - t2new.bbbb += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.oovv, (4, 1, 5, 3), (4, 0, 2, 5), optimize=True) * 2 - t2new.bbbb += v.bbbb.ovov.transpose((2, 0, 1, 3)) * -1 - t2new.bbbb += einsum(v.bbbb.vvvv, (0, 1, 2, 3), t2.bbbb, (4, 5, 1, 2), (5, 4, 3, 0), optimize=True) * 2 - - return {f"t2new": t2new} - -def update_lams(f=None, l2=None, t2=None, v=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-07-18T20:23:19.744972. - - Parameters - ---------- - f : Namespace of arrays - Fock matrix. - l2 : Namespace of arrays - L2 amplitudes. - t2 : Namespace of arrays - T2 amplitudes. - v : Namespace of arrays - Electron repulsion integrals. - - Returns - ------- - l2new : Namespace of arrays - Updated L2 residuals. - """ - - l2new = Namespace() - tmp47 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (2, 3, 4, 0), (4, 1), optimize=True) * -1 - tmp46 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 3, 0, 4), (4, 1), optimize=True) - tmp35 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 0, 4), (1, 4), optimize=True) - tmp36 = einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (2, 3, 1, 4), (0, 4), optimize=True) * -1 - tmp67 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 5, 3), (4, 0, 5, 1), optimize=True) - tmp59 = einsum(t2.aaaa, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 5), (1, 4, 3, 5), optimize=True) - tmp56 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 4, 1, 5), (4, 2, 5, 3), optimize=True) - tmp64 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (2, 4, 3, 5), (4, 0, 5, 1), optimize=True) - tmp53 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (0, 2, 1, 4), (3, 4), optimize=True) - tmp52 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 1, 4), (3, 4), optimize=True) - tmp70 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 5), (3, 4, 1, 5), optimize=True) - tmp71 = einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 3, 5, 1), (2, 4, 0, 5), optimize=True) - tmp39 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (2, 4, 3, 1), (4, 0), optimize=True) - tmp38 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 3), (1, 4), optimize=True) - tmp4 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 5, 0, 2), (1, 4, 3, 5), optimize=True) - tmp5 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (0, 4, 2, 5), optimize=True) - tmp13 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 5, 1), (2, 4, 0, 5), optimize=True) - tmp12 = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (4, 3, 5, 1), (5, 0, 4, 2), optimize=True) - tmp30 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 4, 1, 3), (2, 4), optimize=True) - tmp29 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (0, 2, 1, 4), (3, 4), optimize=True) - tmp0 = einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (2, 3, 1, 4), (0, 4), optimize=True) * -1 - tmp1 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 4, 1), (0, 4), optimize=True) - tmp17 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 1, 3), (4, 0), optimize=True) - tmp16 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.aaaa, (2, 4, 1, 3), (4, 0), optimize=True) * -1 - tmp20 = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (2, 3, 4, 0), (4, 1), optimize=True) * -1 - tmp21 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 3, 4, 1), (4, 0), optimize=True) - tmp8 = einsum(t2.abab, (0, 1, 2, 3), v.aaaa.ovov, (4, 5, 0, 2), (4, 1, 5, 3), optimize=True) - tmp9 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.bbbb, (2, 4, 3, 5), (0, 4, 1, 5), optimize=True) - tmp80 = einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 5, 0, 1), (2, 3, 4, 5), optimize=True) - tmp48 = tmp46.copy() * 0.5 - tmp48 += tmp47 - l2new.abab = einsum(tmp48, (0, 1), v.aabb.ovov, (2, 3, 1, 4), (3, 4, 2, 0), optimize=True) * -2 - tmp37 = tmp35.copy() - del tmp35 - tmp37 += tmp36 * 2 - del tmp36 - l2new.abab += einsum(v.aabb.ovov, (0, 1, 2, 3), tmp37, (4, 3), (1, 4, 0, 2), optimize=True) * -1 - tmp68 = v.aabb.ovov.transpose((0, 2, 1, 3)).copy() - tmp68 += tmp59 * 2 - tmp68 += tmp67 - del tmp67 - tmp65 = v.bbbb.ovov.transpose((2, 0, 3, 1)).copy() - tmp65 += v.bbbb.oovv.transpose((1, 0, 3, 2)) * -1 - tmp65 += tmp56 - tmp65 += tmp64 * 2 - del tmp64 - tmp82 = f.bb.vv.transpose((1, 0)).copy() * -0.5 - tmp82 += tmp52 * 0.5 - tmp82 += tmp53 - tmp72 = tmp70.copy() - del tmp70 - tmp72 += tmp71 * 4 - del tmp71 - tmp77 = tmp46.copy() - del tmp46 - tmp77 += tmp47 * 2 - del tmp47 - tmp74 = f.bb.oo.transpose((1, 0)).copy() - tmp74 += tmp38 - tmp74 += tmp39 * 2 - tmp49 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 5, 0, 1), (2, 4, 3, 5), optimize=True) - tmp57 = v.bbbb.ovov.transpose((2, 0, 1, 3)).copy() - tmp57 += v.bbbb.ovov.transpose((2, 0, 3, 1)) * -1 - tmp42 = v.aaaa.ovov.transpose((2, 0, 1, 3)).copy() - tmp42 += v.aaaa.ovov.transpose((2, 0, 3, 1)) * -1 - tmp44 = v.aaaa.ovov.transpose((2, 0, 1, 3)).copy() * -1 - tmp44 += v.aaaa.ovov.transpose((2, 0, 3, 1)) - tmp60 = v.bbbb.ovov.transpose((2, 0, 1, 3)).copy() * -1 - tmp60 += v.bbbb.ovov.transpose((2, 0, 3, 1)) - tmp6 = v.aaaa.ovov.transpose((2, 0, 3, 1)).copy() - tmp6 += v.aaaa.oovv.transpose((1, 0, 3, 2)) * -1 - tmp6 += tmp4 * 2 - del tmp4 - tmp6 += tmp5 - tmp14 = tmp12.copy() * 4 - del tmp12 - tmp14 += tmp13 - del tmp13 - tmp31 = f.aa.vv.transpose((1, 0)).copy() * -0.5 - tmp31 += tmp29 - del tmp29 - tmp31 += tmp30 * 0.5 - del tmp30 - l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp31, (0, 4), (4, 1, 2, 3), optimize=True) * -2 - tmp2 = tmp0.copy() * 2 - tmp2 += tmp1 - l2new.abab += einsum(v.aabb.ovov, (0, 1, 2, 3), tmp2, (4, 1), (4, 3, 0, 2), optimize=True) * -1 - l2new.aaaa = einsum(tmp2, (0, 1), v.aaaa.ovov, (2, 1, 3, 4), (4, 0, 3, 2), optimize=True) * -1 - tmp27 = einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 5, 0, 1), (2, 3, 4, 5), optimize=True) - tmp18 = f.aa.oo.transpose((1, 0)).copy() - tmp18 += tmp16 * 2 - del tmp16 - tmp18 += tmp17 - del tmp17 - l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp18, (2, 4), (0, 1, 4, 3), optimize=True) * -1 - tmp24 = tmp20.copy() * 2 - tmp24 += tmp21 - l2new.abab += einsum(v.aabb.ovov, (0, 1, 2, 3), tmp24, (4, 0), (1, 3, 4, 2), optimize=True) * -1 - tmp22 = tmp20.copy() - del tmp20 - tmp22 += tmp21 * 0.5 - del tmp21 - tmp10 = v.aabb.ovov.transpose((0, 2, 1, 3)).copy() - tmp10 += tmp8 - del tmp8 - tmp10 += tmp9 * 2 - tmp81 = einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp80, (4, 5, 0, 2), (5, 4, 1, 3), optimize=True) * -1 - del tmp80 - l2new.bbbb = tmp81.transpose((3, 2, 1, 0)).copy() - l2new.bbbb += tmp81.transpose((3, 2, 1, 0)) - del tmp81 - tmp76 = einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp48, (4, 0), (4, 2, 1, 3), optimize=True) * 2 - del tmp48 - l2new.bbbb += tmp76.transpose((2, 3, 0, 1)) * -1 - l2new.bbbb += tmp76.transpose((3, 2, 0, 1)) - del tmp76 - tmp63 = einsum(tmp37, (0, 1), v.bbbb.ovov, (2, 1, 3, 4), (2, 3, 0, 4), optimize=True) - l2new.bbbb += tmp63.transpose((2, 3, 1, 0)) - l2new.bbbb += tmp63.transpose((3, 2, 1, 0)) * -1 - del tmp63 - tmp69 = einsum(tmp68, (0, 1, 2, 3), l2.abab, (2, 4, 0, 5), (1, 5, 3, 4), optimize=True) - del tmp68 - l2new.bbbb += tmp69.transpose((3, 2, 0, 1)) * -1 - l2new.bbbb += tmp69.transpose((3, 2, 1, 0)) - l2new.bbbb += tmp69.transpose((2, 3, 0, 1)) - l2new.bbbb += tmp69.transpose((2, 3, 1, 0)) * -1 - del tmp69 - tmp66 = einsum(l2.bbbb, (0, 1, 2, 3), tmp65, (2, 4, 0, 5), (3, 4, 1, 5), optimize=True) - del tmp65 - l2new.bbbb += tmp66.transpose((2, 3, 1, 0)) * -2 - l2new.bbbb += tmp66.transpose((2, 3, 0, 1)) * 2 - l2new.bbbb += tmp66.transpose((3, 2, 1, 0)) * 2 - l2new.bbbb += tmp66.transpose((3, 2, 0, 1)) * -2 - del tmp66 - tmp83 = einsum(tmp82, (0, 1), l2.bbbb, (0, 2, 3, 4), (3, 4, 2, 1), optimize=True) * 4 - del tmp82 - l2new.bbbb += tmp83.transpose((2, 3, 1, 0)) * -1 - l2new.bbbb += tmp83.transpose((3, 2, 1, 0)) - del tmp83 - tmp73 = einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp72, (4, 0, 5, 3), (4, 2, 5, 1), optimize=True) - del tmp72 - l2new.bbbb += tmp73.transpose((3, 2, 1, 0)) * -1 - l2new.bbbb += tmp73.transpose((3, 2, 0, 1)) - l2new.bbbb += tmp73.transpose((2, 3, 1, 0)) - l2new.bbbb += tmp73.transpose((2, 3, 0, 1)) * -1 - del tmp73 - tmp79 = einsum(v.bbbb.vvvv, (0, 1, 2, 3), l2.bbbb, (1, 2, 4, 5), (4, 5, 0, 3), optimize=True) - l2new.bbbb += tmp79.transpose((3, 2, 1, 0)) - l2new.bbbb += tmp79.transpose((3, 2, 1, 0)) - del tmp79 - tmp84 = v.bbbb.oooo.transpose((2, 3, 1, 0)).copy() - tmp84 += einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (4, 5, 1, 3), (5, 2, 4, 0), optimize=True) - l2new.bbbb += einsum(tmp84, (0, 1, 2, 3), l2.bbbb, (4, 5, 0, 2), (5, 4, 1, 3), optimize=True) * -2 - del tmp84 - tmp78 = einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp77, (4, 0), (4, 2, 1, 3), optimize=True) - del tmp77 - l2new.bbbb += tmp78.transpose((2, 3, 1, 0)) - l2new.bbbb += tmp78.transpose((3, 2, 1, 0)) * -1 - del tmp78 - tmp75 = einsum(l2.bbbb, (0, 1, 2, 3), tmp74, (2, 4), (3, 4, 0, 1), optimize=True) * 2 - del tmp74 - l2new.bbbb += tmp75.transpose((3, 2, 1, 0)) - l2new.bbbb += tmp75.transpose((3, 2, 0, 1)) * -1 - del tmp75 - tmp85 = einsum(tmp37, (0, 1), v.bbbb.ovov, (2, 3, 4, 1), (2, 4, 0, 3), optimize=True) - del tmp37 - l2new.bbbb += tmp85.transpose((2, 3, 1, 0)) * -1 - l2new.bbbb += tmp85.transpose((3, 2, 1, 0)) - del tmp85 - tmp41 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 1, 5), (0, 4, 3, 5), optimize=True) - l2new.abab += einsum(tmp41, (0, 1, 2, 3), l2.abab, (4, 2, 0, 5), (4, 3, 1, 5), optimize=True) - del tmp41 - tmp54 = f.bb.vv.transpose((1, 0)).copy() * -1 - tmp54 += tmp52 - del tmp52 - tmp54 += tmp53 * 2 - del tmp53 - l2new.abab += einsum(tmp54, (0, 1), l2.abab, (2, 0, 3, 4), (2, 1, 3, 4), optimize=True) * -1 - del tmp54 - tmp50 = einsum(v.aabb.ovov, (0, 1, 2, 3), tmp49, (4, 0, 5, 2), (4, 5, 1, 3), optimize=True) - del tmp49 - l2new.abab += tmp50.transpose((2, 3, 0, 1)) * 0.5 - l2new.abab += tmp50.transpose((2, 3, 0, 1)) * 0.5 - del tmp50 - tmp58 = v.bbbb.ovov.transpose((2, 0, 3, 1)).copy() - tmp58 += v.bbbb.oovv.transpose((1, 0, 3, 2)) * -1 - tmp58 += tmp56 - del tmp56 - tmp58 += einsum(tmp57, (0, 1, 2, 3), t2.bbbb, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) * -2 - del tmp57 - l2new.abab += einsum(tmp58, (0, 1, 2, 3), l2.abab, (4, 2, 5, 0), (4, 3, 5, 1), optimize=True) - del tmp58 - tmp40 = f.bb.oo.transpose((1, 0)).copy() * 0.5 - tmp40 += tmp38 * 0.5 - del tmp38 - tmp40 += tmp39 - del tmp39 - l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp40, (3, 4), (0, 1, 2, 4), optimize=True) * -2 - del tmp40 - tmp62 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 4, 5, 3), (4, 2, 5, 1), optimize=True) - l2new.abab += einsum(tmp62, (0, 1, 2, 3), l2.abab, (2, 4, 5, 0), (3, 4, 5, 1), optimize=True) - del tmp62 - tmp51 = einsum(l2.abab, (0, 1, 2, 3), v.aabb.vvvv, (4, 0, 5, 1), (2, 3, 4, 5), optimize=True) - l2new.abab += tmp51.transpose((2, 3, 0, 1)) * 0.5 - l2new.abab += tmp51.transpose((2, 3, 0, 1)) * 0.5 - del tmp51 - tmp55 = v.aabb.oooo.transpose((1, 0, 3, 2)).copy() - tmp55 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 5, 3), (0, 4, 1, 5), optimize=True) - l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp55, (2, 4, 3, 5), (0, 1, 4, 5), optimize=True) - del tmp55 - tmp43 = v.aaaa.ovov.transpose((2, 0, 3, 1)).copy() - tmp43 += v.aaaa.oovv.transpose((1, 0, 3, 2)) * -1 - tmp43 += tmp5 - del tmp5 - tmp43 += einsum(tmp42, (0, 1, 2, 3), t2.aaaa, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) * -2 - del tmp42 - l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp43, (2, 4, 0, 5), (5, 1, 4, 3), optimize=True) - del tmp43 - tmp45 = v.aabb.ovov.transpose((0, 2, 1, 3)).copy() - tmp45 += tmp9 * 2 - del tmp9 - tmp45 += einsum(tmp44, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) - del tmp44 - l2new.abab += einsum(tmp45, (0, 1, 2, 3), l2.bbbb, (3, 4, 1, 5), (2, 4, 0, 5), optimize=True) * 2 - del tmp45 - tmp61 = v.aabb.ovov.transpose((0, 2, 1, 3)).copy() - tmp61 += tmp59 * 2 - del tmp59 - tmp61 += einsum(tmp60, (0, 1, 2, 3), t2.abab, (4, 0, 5, 3), (4, 1, 5, 2), optimize=True) * -1 - del tmp60 - l2new.abab += einsum(l2.aaaa, (0, 1, 2, 3), tmp61, (2, 4, 0, 5), (1, 5, 3, 4), optimize=True) * 2 - del tmp61 - tmp3 = tmp0.copy() - del tmp0 - tmp3 += tmp1 * 0.5 - del tmp1 - l2new.aaaa += einsum(tmp3, (0, 1), v.aaaa.ovov, (2, 1, 3, 4), (0, 4, 3, 2), optimize=True) * 2 - del tmp3 - tmp7 = einsum(tmp6, (0, 1, 2, 3), l2.aaaa, (2, 4, 0, 5), (1, 5, 3, 4), optimize=True) - del tmp6 - l2new.aaaa += tmp7.transpose((3, 2, 0, 1)) * -2 - l2new.aaaa += tmp7.transpose((3, 2, 1, 0)) * 2 - l2new.aaaa += tmp7.transpose((2, 3, 0, 1)) * 2 - l2new.aaaa += tmp7.transpose((2, 3, 1, 0)) * -2 - del tmp7 - tmp15 = einsum(tmp14, (0, 1, 2, 3), v.aaaa.ovov, (1, 4, 5, 3), (5, 0, 4, 2), optimize=True) - del tmp14 - l2new.aaaa += tmp15.transpose((2, 3, 0, 1)) * -1 - l2new.aaaa += tmp15.transpose((2, 3, 1, 0)) - l2new.aaaa += tmp15.transpose((3, 2, 0, 1)) - l2new.aaaa += tmp15.transpose((3, 2, 1, 0)) * -1 - del tmp15 - tmp33 = v.aaaa.oooo.transpose((2, 3, 1, 0)).copy() - tmp33 += einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.aaaa, (4, 5, 1, 3), (5, 2, 4, 0), optimize=True) - l2new.aaaa += einsum(tmp33, (0, 1, 2, 3), l2.aaaa, (4, 5, 0, 2), (5, 4, 1, 3), optimize=True) * -2 - del tmp33 - tmp32 = einsum(tmp31, (0, 1), l2.aaaa, (0, 2, 3, 4), (3, 4, 1, 2), optimize=True) * 4 - del tmp31 - l2new.aaaa += tmp32.transpose((3, 2, 1, 0)) * -1 - l2new.aaaa += tmp32.transpose((2, 3, 1, 0)) - del tmp32 - tmp34 = einsum(tmp2, (0, 1), v.aaaa.ovov, (2, 3, 4, 1), (2, 4, 3, 0), optimize=True) - del tmp2 - l2new.aaaa += tmp34.transpose((3, 2, 1, 0)) * -1 - l2new.aaaa += tmp34.transpose((2, 3, 1, 0)) - del tmp34 - tmp26 = einsum(v.aaaa.vvvv, (0, 1, 2, 3), l2.aaaa, (1, 2, 4, 5), (4, 5, 0, 3), optimize=True) - l2new.aaaa += tmp26.transpose((3, 2, 1, 0)) - l2new.aaaa += tmp26.transpose((3, 2, 1, 0)) - del tmp26 - tmp28 = einsum(tmp27, (0, 1, 2, 3), v.aaaa.ovov, (2, 4, 3, 5), (1, 0, 4, 5), optimize=True) * -1 - del tmp27 - l2new.aaaa += tmp28.transpose((3, 2, 1, 0)) - l2new.aaaa += tmp28.transpose((3, 2, 1, 0)) - del tmp28 - tmp19 = einsum(tmp18, (0, 1), l2.aaaa, (2, 3, 0, 4), (1, 4, 2, 3), optimize=True) * 2 - del tmp18 - l2new.aaaa += tmp19.transpose((3, 2, 0, 1)) - l2new.aaaa += tmp19.transpose((3, 2, 1, 0)) * -1 - del tmp19 - tmp25 = einsum(tmp24, (0, 1), v.aaaa.ovov, (1, 2, 3, 4), (3, 0, 2, 4), optimize=True) - del tmp24 - l2new.aaaa += tmp25.transpose((2, 3, 0, 1)) - l2new.aaaa += tmp25.transpose((3, 2, 0, 1)) * -1 - del tmp25 - tmp23 = einsum(tmp22, (0, 1), v.aaaa.ovov, (1, 2, 3, 4), (3, 0, 2, 4), optimize=True) * 2 - del tmp22 - l2new.aaaa += tmp23.transpose((2, 3, 1, 0)) * -1 - l2new.aaaa += tmp23.transpose((3, 2, 1, 0)) - del tmp23 - tmp11 = einsum(tmp10, (0, 1, 2, 3), l2.abab, (4, 3, 5, 1), (0, 5, 2, 4), optimize=True) - del tmp10 - l2new.aaaa += tmp11.transpose((3, 2, 0, 1)) * -1 - l2new.aaaa += tmp11.transpose((3, 2, 1, 0)) - l2new.aaaa += tmp11.transpose((2, 3, 0, 1)) - l2new.aaaa += tmp11.transpose((2, 3, 1, 0)) * -1 - del tmp11 - l2new.aaaa += v.aaaa.ovov.transpose((3, 1, 2, 0)) - l2new.aaaa += v.aaaa.ovov.transpose((1, 3, 2, 0)) * -1 - l2new.abab += v.aabb.ovov.transpose((1, 3, 0, 2)) - l2new.abab += einsum(l2.abab, (0, 1, 2, 3), v.bbaa.oovv, (4, 3, 5, 0), (5, 1, 2, 4), optimize=True) * -1 - l2new.abab += einsum(v.aabb.oovv, (0, 1, 2, 3), l2.abab, (4, 3, 1, 5), (4, 2, 0, 5), optimize=True) * -1 - l2new.bbbb += v.bbbb.ovov.transpose((3, 1, 2, 0)) - l2new.bbbb += v.bbbb.ovov.transpose((1, 3, 2, 0)) * -1 - - return {f"l2new": l2new} - -def make_rdm1_f(l2=None, t2=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-07-18T20:23:20.163665. - - Parameters - ---------- - l2 : Namespace of arrays - L2 amplitudes. - t2 : Namespace of arrays - T2 amplitudes. - - Returns - ------- - rdm1 : Namespace of arrays - One-particle reduced density matrix. - """ - - rdm1 = Namespace() - rdm1.aa = Namespace() - rdm1.bb = Namespace() - delta = Namespace( - aa=Namespace(oo=np.eye(t2.aaaa.shape[0]), vv=np.eye(t1.aaaa.shape[-1])), - bb=Namespace(oo=np.eye(t2.bbbb.shape[0]), vv=np.eye(t1.bbbb.shape[-1])), - ) - rdm1.aa.oo = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 3, 4, 1), (0, 4), optimize=True) * -1 - rdm1.aa.oo += delta.aa.oo.transpose((1, 0)) - rdm1.aa.oo += einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (2, 3, 4, 1), (0, 4), optimize=True) * -2 - rdm1.bb.oo = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 3, 0, 4), (1, 4), optimize=True) * -1 - rdm1.bb.oo += delta.bb.oo.transpose((1, 0)) - del delta - rdm1.bb.oo += einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (2, 3, 4, 1), (0, 4), optimize=True) * -2 - rdm1.aa.vv = einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (2, 3, 4, 1), (0, 4), optimize=True) * 2 - rdm1.aa.vv += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 4, 1), (0, 4), optimize=True) - rdm1.bb.vv = einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (2, 3, 4, 1), (0, 4), optimize=True) * 2 - rdm1.bb.vv += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 0, 4), (1, 4), optimize=True) - rdm1.aa.oo = np.zeros((t2.aa.shape[0], t2.aa.shape[0])) - rdm1.aa.vv = np.zeros((t2.aa.shape[-1], t2.aa.shape[-1])) - rdm1.bb.oo = np.zeros((t2.bb.shape[0], t2.bb.shape[0])) - rdm1.bb.vv = np.zeros((t2.bb.shape[-1], t2.bb.shape[-1])) - rdm1.aa = np.block([[rdm1.aa.oo, rdm1.aa.ov], [rdm1.aa.vo, rdm1.aa.vv]]) - rdm1.bb = np.block([[rdm1.bb.oo, rdm1.bb.ov], [rdm1.bb.vo, rdm1.bb.vv]]) - - return rdm1 - -def make_rdm2_f(l2=None, t2=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-07-18T20:23:27.094695. - - Parameters - ---------- - l2 : Namespace of arrays - L2 amplitudes. - t2 : Namespace of arrays - T2 amplitudes. - - Returns - ------- - rdm2 : Namespace of arrays - Two-particle reduced density matrix. - """ - - rdm2 = Namespace() - rdm2.aaaa = Namespace() - rdm2.abab = Namespace() - rdm2.bbbb = Namespace() - delta = Namespace( - aa=Namespace(oo=np.eye(t2.aaaa.shape[0]), vv=np.eye(t1.aaaa.shape[-1])), - bb=Namespace(oo=np.eye(t2.bbbb.shape[0]), vv=np.eye(t1.bbbb.shape[-1])), - ) - tmp6 = einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 3, 0, 1), (2, 4), optimize=True) - tmp5 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 3, 0, 4), (4, 1), optimize=True) - tmp13 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 4, 1), (0, 4), optimize=True) - tmp12 = einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (2, 3, 4, 0), (1, 4), optimize=True) * -1 - tmp23 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 0, 4), (1, 4), optimize=True) - tmp24 = einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (2, 3, 4, 0), (1, 4), optimize=True) * -1 - tmp26 = tmp5.copy() - tmp26 += tmp6 * 2 - rdm2.abab.oovv = einsum(t2.abab, (0, 1, 2, 3), tmp26, (1, 4), (0, 4, 2, 3), optimize=True) * -1 - tmp33 = einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 2, 5, 0), (3, 4, 1, 5), optimize=True) - rdm2.bbbb.vovo = tmp33.transpose((2, 1, 3, 0)).copy() * -4 - rdm2.bbbb.voov = tmp33.transpose((2, 1, 0, 3)).copy() * 4 - rdm2.bbbb.ovvo = tmp33.transpose((1, 2, 3, 0)).copy() * 4 - rdm2.bbbb.ovov = tmp33.transpose((1, 2, 0, 3)).copy() * -4 - tmp37 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 5), (3, 4, 1, 5), optimize=True) - rdm2.bbbb.vovo += tmp37.transpose((2, 1, 3, 0)) * -1 - rdm2.bbbb.voov += tmp37.transpose((2, 1, 0, 3)) - rdm2.bbbb.ovvo += tmp37.transpose((1, 2, 3, 0)) - rdm2.bbbb.ovov += tmp37.transpose((1, 2, 0, 3)) * -1 - tmp35 = einsum(l2.aaaa, (0, 1, 2, 3), t2.abab, (3, 4, 1, 5), (2, 4, 0, 5), optimize=True) - rdm2.abab.voov = tmp35.transpose((2, 1, 0, 3)).copy() * 2 - tmp0 = einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 3, 0, 1), (2, 4), optimize=True) - tmp1 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 3, 4, 1), (4, 0), optimize=True) - tmp19 = einsum(l2.bbbb, (0, 1, 2, 3), t2.abab, (4, 3, 5, 1), (4, 2, 5, 0), optimize=True) - rdm2.abab.ovvo = tmp19.transpose((0, 3, 2, 1)).copy() * 2 - tmp21 = einsum(t2.aaaa, (0, 1, 2, 3), l2.abab, (3, 4, 1, 5), (0, 5, 2, 4), optimize=True) - rdm2.abab.ovvo += tmp21.transpose((0, 3, 2, 1)) * 2 - tmp17 = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (4, 3, 5, 1), (5, 0, 4, 2), optimize=True) - rdm2.aaaa.vovo = tmp17.transpose((2, 1, 3, 0)).copy() * -4 - rdm2.aaaa.voov = tmp17.transpose((2, 1, 0, 3)).copy() * 4 - rdm2.aaaa.ovvo = tmp17.transpose((1, 2, 3, 0)).copy() * 4 - rdm2.aaaa.ovov = tmp17.transpose((1, 2, 0, 3)).copy() * -4 - tmp29 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 5, 1), (2, 4, 0, 5), optimize=True) - rdm2.aaaa.vovo += tmp29.transpose((2, 1, 3, 0)) * -1 - rdm2.aaaa.voov += tmp29.transpose((2, 1, 0, 3)) - rdm2.aaaa.ovvo += tmp29.transpose((1, 2, 3, 0)) - rdm2.aaaa.ovov += tmp29.transpose((1, 2, 0, 3)) * -1 - tmp14 = tmp12.copy() - tmp14 += tmp13 * 0.5 - rdm2.aaaa.vovo += einsum(delta.aa.oo, (0, 1), tmp14, (2, 3), (2, 1, 3, 0), optimize=True) * 2 - rdm2.aaaa.ovvo += einsum(delta.aa.oo, (0, 1), tmp14, (2, 3), (1, 2, 3, 0), optimize=True) * -2 - tmp39 = tmp23.copy() - tmp39 += tmp24 * 2 - rdm2.bbbb.vovo += einsum(delta.bb.oo, (0, 1), tmp39, (2, 3), (2, 1, 3, 0), optimize=True) - rdm2.bbbb.ovvo += einsum(delta.bb.oo, (0, 1), tmp39, (2, 3), (1, 2, 3, 0), optimize=True) * -1 - rdm2.bbbb.oovv = einsum(tmp39, (0, 1), t2.bbbb, (2, 3, 0, 4), (3, 2, 1, 4), optimize=True) * 2 - del tmp39 - tmp31 = tmp12.copy() * 2 - del tmp12 - tmp31 += tmp13 - del tmp13 - rdm2.abab.vovo = einsum(tmp31, (0, 1), delta.bb.oo, (2, 3), (0, 3, 1, 2), optimize=True) - rdm2.aaaa.voov += einsum(tmp31, (0, 1), delta.aa.oo, (2, 3), (0, 3, 2, 1), optimize=True) * -1 - rdm2.aaaa.ovov += einsum(tmp31, (0, 1), delta.aa.oo, (2, 3), (3, 0, 2, 1), optimize=True) - rdm2.abab.oovv += einsum(t2.abab, (0, 1, 2, 3), tmp31, (2, 4), (0, 1, 4, 3), optimize=True) * -1 - del tmp31 - tmp27 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 5, 1), (3, 4, 0, 5), optimize=True) - rdm2.abab.vovo += tmp27.transpose((2, 1, 3, 0)) * -1 - rdm2.abab.oovv += einsum(tmp27, (0, 1, 2, 3), t2.abab, (4, 0, 2, 5), (4, 1, 3, 5), optimize=True) - del tmp27 - tmp25 = tmp23.copy() * 0.5 - del tmp23 - tmp25 += tmp24 - del tmp24 - rdm2.bbbb.voov += einsum(tmp25, (0, 1), delta.bb.oo, (2, 3), (0, 3, 2, 1), optimize=True) * -2 - rdm2.bbbb.ovov += einsum(tmp25, (0, 1), delta.bb.oo, (2, 3), (3, 0, 2, 1), optimize=True) * 2 - rdm2.abab.ovov = einsum(tmp25, (0, 1), delta.aa.oo, (2, 3), (3, 0, 2, 1), optimize=True) * 2 - rdm2.bbbb.oovv += einsum(t2.bbbb, (0, 1, 2, 3), tmp25, (2, 4), (1, 0, 3, 4), optimize=True) * -4 - rdm2.abab.oovv += einsum(tmp25, (0, 1), t2.abab, (2, 3, 4, 0), (2, 3, 4, 1), optimize=True) * -2 - del tmp25 - tmp32 = einsum(t2.bbbb, (0, 1, 2, 3), tmp26, (0, 4), (4, 1, 2, 3), optimize=True) * 2 - del tmp26 - rdm2.bbbb.oovv += tmp32.transpose((1, 0, 3, 2)) * -1 - rdm2.bbbb.oovv += tmp32.transpose((0, 1, 3, 2)) - del tmp32 - tmp34 = einsum(tmp33, (0, 1, 2, 3), t2.bbbb, (4, 0, 5, 2), (4, 1, 5, 3), optimize=True) - del tmp33 - rdm2.bbbb.oovv += tmp34 * 8 - rdm2.bbbb.oovv += tmp34.transpose((0, 1, 3, 2)) * -8 - del tmp34 - tmp38 = einsum(tmp37, (0, 1, 2, 3), t2.bbbb, (4, 0, 5, 2), (1, 4, 3, 5), optimize=True) - del tmp37 - rdm2.bbbb.oovv += tmp38.transpose((1, 0, 3, 2)) * 2 - rdm2.bbbb.oovv += tmp38 * 2 - rdm2.bbbb.oovv += tmp38.transpose((1, 0, 2, 3)) * -2 - rdm2.bbbb.oovv += tmp38.transpose((0, 1, 3, 2)) * -2 - del tmp38 - tmp11 = einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 5, 0, 1), (2, 3, 4, 5), optimize=True) - rdm2.bbbb.oovv += einsum(tmp11, (0, 1, 2, 3), t2.bbbb, (0, 1, 4, 5), (3, 2, 5, 4), optimize=True) * 2 - rdm2.bbbb.oooo = tmp11.transpose((3, 2, 1, 0)).copy() * 2 - del tmp11 - tmp36 = einsum(tmp35, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) - del tmp35 - rdm2.bbbb.oovv += tmp36.transpose((1, 0, 3, 2)) * 2 - rdm2.bbbb.oovv += tmp36.transpose((0, 1, 3, 2)) * -2 - del tmp36 - tmp16 = tmp0.copy() * 2 - tmp16 += tmp1 - rdm2.abab.oovv += einsum(t2.abab, (0, 1, 2, 3), tmp16, (0, 4), (4, 1, 2, 3), optimize=True) * -1 - rdm2.aaaa.oovv = einsum(tmp16, (0, 1), t2.aaaa, (0, 2, 3, 4), (2, 1, 4, 3), optimize=True) * -2 - del tmp16 - tmp8 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 5, 0, 1), (2, 4, 3, 5), optimize=True) - rdm2.abab.oovv += einsum(t2.abab, (0, 1, 2, 3), tmp8, (0, 4, 1, 5), (4, 5, 2, 3), optimize=True) - rdm2.abab.oooo = tmp8.transpose((1, 3, 0, 2)).copy() - del tmp8 - tmp28 = tmp21.copy() - tmp28 += tmp19 - rdm2.abab.oovv += einsum(tmp28, (0, 1, 2, 3), t2.bbbb, (1, 4, 3, 5), (0, 4, 2, 5), optimize=True) * 4 - del tmp28 - tmp30 = tmp17.copy() * 4 - tmp30 += tmp29 - del tmp29 - rdm2.abab.oovv += einsum(tmp30, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) - del tmp30 - tmp3 = tmp0.copy() - tmp3 += tmp1 * 0.5 - rdm2.aaaa.oovv += einsum(t2.aaaa, (0, 1, 2, 3), tmp3, (0, 4), (4, 1, 3, 2), optimize=True) * 4 - rdm2.abab.oooo += einsum(tmp3, (0, 1), delta.bb.oo, (2, 3), (1, 3, 0, 2), optimize=True) * -2 - rdm2.aaaa.oooo = einsum(delta.aa.oo, (0, 1), tmp3, (2, 3), (1, 3, 2, 0), optimize=True) * 2 - rdm2.aaaa.oooo += einsum(tmp3, (0, 1), delta.aa.oo, (2, 3), (1, 3, 0, 2), optimize=True) * -2 - del tmp3 - tmp4 = einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 5, 0, 1), (2, 3, 4, 5), optimize=True) - rdm2.aaaa.oovv += einsum(tmp4, (0, 1, 2, 3), t2.aaaa, (0, 1, 4, 5), (3, 2, 5, 4), optimize=True) * 2 - rdm2.aaaa.oooo += tmp4.transpose((3, 2, 1, 0)) * 2 - del tmp4 - tmp20 = einsum(t2.abab, (0, 1, 2, 3), tmp19, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) - del tmp19 - rdm2.aaaa.oovv += tmp20 * 2 - rdm2.aaaa.oovv += tmp20.transpose((0, 1, 3, 2)) * -2 - del tmp20 - tmp15 = einsum(t2.aaaa, (0, 1, 2, 3), tmp14, (2, 4), (0, 1, 3, 4), optimize=True) * 4 - del tmp14 - rdm2.aaaa.oovv += tmp15.transpose((1, 0, 3, 2)) - rdm2.aaaa.oovv += tmp15.transpose((1, 0, 2, 3)) * -1 - del tmp15 - tmp22 = einsum(t2.abab, (0, 1, 2, 3), tmp21, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) - del tmp21 - rdm2.aaaa.oovv += tmp22.transpose((1, 0, 3, 2)) * 2 - rdm2.aaaa.oovv += tmp22 * 2 - rdm2.aaaa.oovv += tmp22.transpose((1, 0, 2, 3)) * -2 - rdm2.aaaa.oovv += tmp22.transpose((0, 1, 3, 2)) * -2 - del tmp22 - tmp18 = einsum(t2.aaaa, (0, 1, 2, 3), tmp17, (1, 4, 3, 5), (4, 0, 5, 2), optimize=True) - del tmp17 - rdm2.aaaa.oovv += tmp18 * 8 - rdm2.aaaa.oovv += tmp18.transpose((0, 1, 3, 2)) * -8 - del tmp18 - tmp10 = tmp5.copy() * 0.5 - tmp10 += tmp6 - rdm2.bbbb.oooo += einsum(delta.bb.oo, (0, 1), tmp10, (2, 3), (1, 3, 2, 0), optimize=True) * 2 - rdm2.bbbb.oooo += einsum(tmp10, (0, 1), delta.bb.oo, (2, 3), (1, 3, 0, 2), optimize=True) * -2 - del tmp10 - tmp9 = delta.bb.oo.transpose((1, 0)).copy() * -1 - tmp9 += tmp5 - tmp9 += tmp6 * 2 - rdm2.bbbb.oooo += einsum(tmp9, (0, 1), delta.bb.oo, (2, 3), (1, 3, 2, 0), optimize=True) - rdm2.bbbb.oooo += einsum(tmp9, (0, 1), delta.bb.oo, (2, 3), (3, 1, 2, 0), optimize=True) * -1 - del tmp9 - tmp7 = delta.bb.oo.transpose((1, 0)).copy() * -0.5 - tmp7 += tmp5 * 0.5 - del tmp5 - tmp7 += tmp6 - del tmp6 - rdm2.abab.oooo += einsum(delta.aa.oo, (0, 1), tmp7, (2, 3), (1, 3, 0, 2), optimize=True) * -2 - del tmp7 - tmp2 = delta.aa.oo.transpose((1, 0)).copy() * -1 - tmp2 += tmp0 * 2 - del tmp0 - tmp2 += tmp1 - del tmp1 - rdm2.aaaa.oooo += einsum(tmp2, (0, 1), delta.aa.oo, (2, 3), (1, 3, 2, 0), optimize=True) - rdm2.aaaa.oooo += einsum(tmp2, (0, 1), delta.aa.oo, (2, 3), (3, 1, 2, 0), optimize=True) * -1 - del delta, tmp2 - rdm2.aaaa.oovv += t2.aaaa.transpose((1, 0, 3, 2)) * 2 - rdm2.abab.oovv += t2.abab - rdm2.bbbb.oovv += t2.bbbb.transpose((1, 0, 3, 2)) * 2 - rdm2.abab.ovov += einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 4, 5, 1), (0, 4, 5, 3), optimize=True) * -1 - rdm2.abab.voov += einsum(t2.bbbb, (0, 1, 2, 3), l2.abab, (4, 3, 5, 1), (4, 0, 5, 2), optimize=True) * 2 - rdm2.aaaa.vvoo = l2.aaaa.transpose((1, 0, 3, 2)).copy() * 2 - rdm2.abab.vvoo = l2.abab.copy() - rdm2.bbbb.vvoo = l2.bbbb.transpose((1, 0, 3, 2)).copy() * 2 - rdm2.aaaa.vvvv = einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (2, 3, 4, 5), (1, 0, 5, 4), optimize=True) * 2 - rdm2.abab.vvvv = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 4, 5), (0, 1, 4, 5), optimize=True) - rdm2.bbbb.vvvv = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (4, 5, 0, 1), (5, 4, 3, 2), optimize=True) * 2 - rdm2.aaaa.ooov = np.zeros((t2.aaaa.shape[0], t2.aaaa.shape[0], t2.aaaa.shape[0], t2.aaaa.shape[-1])) - rdm2.aaaa.oovo = np.zeros((t2.aaaa.shape[0], t2.aaaa.shape[0], t2.aaaa.shape[-1], t2.aaaa.shape[0])) - rdm2.aaaa.ovoo = np.zeros((t2.aaaa.shape[0], t2.aaaa.shape[-1], t2.aaaa.shape[0], t2.aaaa.shape[0])) - rdm2.aaaa.vooo = np.zeros((t2.aaaa.shape[-1], t2.aaaa.shape[0], t2.aaaa.shape[0], t2.aaaa.shape[0])) - rdm2.aaaa.ovvv = np.zeros((t2.aaaa.shape[0], t2.aaaa.shape[-1], t2.aaaa.shape[-1], t2.aaaa.shape[-1])) - rdm2.aaaa.vovv = np.zeros((t2.aaaa.shape[-1], t2.aaaa.shape[0], t2.aaaa.shape[-1], t2.aaaa.shape[-1])) - rdm2.aaaa.vvov = np.zeros((t2.aaaa.shape[-1], t2.aaaa.shape[-1], t2.aaaa.shape[0], t2.aaaa.shape[-1])) - rdm2.aaaa.vvvo = np.zeros((t2.aaaa.shape[-1], t2.aaaa.shape[-1], t2.aaaa.shape[-1], t2.aaaa.shape[0])) - rdm2.aabb.ooov = np.zeros((t2.aaaa.shape[0], t2.aaaa.shape[0], t2.bbbb.shape[0], t2.bbbb.shape[-1])) - rdm2.aabb.oovo = np.zeros((t2.aaaa.shape[0], t2.aaaa.shape[0], t2.bbbb.shape[-1], t2.bbbb.shape[0])) - rdm2.aabb.ovoo = np.zeros((t2.aaaa.shape[0], t2.aaaa.shape[-1], t2.bbbb.shape[0], t2.bbbb.shape[0])) - rdm2.aabb.vooo = np.zeros((t2.aaaa.shape[-1], t2.aaaa.shape[0], t2.bbbb.shape[0], t2.bbbb.shape[0])) - rdm2.aabb.ovvv = np.zeros((t2.aaaa.shape[0], t2.aaaa.shape[-1], t2.bbbb.shape[-1], t2.bbbb.shape[-1])) - rdm2.aabb.vovv = np.zeros((t2.aaaa.shape[-1], t2.aaaa.shape[0], t2.bbbb.shape[-1], t2.bbbb.shape[-1])) - rdm2.aabb.vvov = np.zeros((t2.aaaa.shape[-1], t2.aaaa.shape[-1], t2.bbbb.shape[0], t2.bbbb.shape[-1])) - rdm2.aabb.vvvo = np.zeros((t2.aaaa.shape[-1], t2.aaaa.shape[-1], t2.bbbb.shape[-1], t2.bbbb.shape[0])) - rdm2.bbaa.ooov = np.zeros((t2.bbbb.shape[0], t2.bbbb.shape[0], t2.aaaa.shape[0], t2.aaaa.shape[-1])) - rdm2.bbaa.oovo = np.zeros((t2.bbbb.shape[0], t2.bbbb.shape[0], t2.aaaa.shape[-1], t2.aaaa.shape[0])) - rdm2.bbaa.ovoo = np.zeros((t2.bbbb.shape[0], t2.bbbb.shape[-1], t2.aaaa.shape[0], t2.aaaa.shape[0])) - rdm2.bbaa.vooo = np.zeros((t2.bbbb.shape[-1], t2.bbbb.shape[0], t2.aaaa.shape[0], t2.aaaa.shape[0])) - rdm2.bbaa.ovvv = np.zeros((t2.bbbb.shape[0], t2.bbbb.shape[-1], t2.aaaa.shape[-1], t2.aaaa.shape[-1])) - rdm2.bbaa.vovv = np.zeros((t2.bbbb.shape[-1], t2.bbbb.shape[0], t2.aaaa.shape[-1], t2.aaaa.shape[-1])) - rdm2.bbaa.vvov = np.zeros((t2.bbbb.shape[-1], t2.bbbb.shape[-1], t2.aaaa.shape[0], t2.aaaa.shape[-1])) - rdm2.bbaa.vvvo = np.zeros((t2.bbbb.shape[-1], t2.bbbb.shape[-1], t2.aaaa.shape[-1], t2.aaaa.shape[0])) - rdm2.bbbb.ooov = np.zeros((t2.bbbb.shape[0], t2.bbbb.shape[0], t2.bbbb.shape[0], t2.bbbb.shape[-1])) - rdm2.bbbb.oovo = np.zeros((t2.bbbb.shape[0], t2.bbbb.shape[0], t2.bbbb.shape[-1], t2.bbbb.shape[0])) - rdm2.bbbb.ovoo = np.zeros((t2.bbbb.shape[0], t2.bbbb.shape[-1], t2.bbbb.shape[0], t2.bbbb.shape[0])) - rdm2.bbbb.vooo = np.zeros((t2.bbbb.shape[-1], t2.bbbb.shape[0], t2.bbbb.shape[0], t2.bbbb.shape[0])) - rdm2.bbbb.ovvv = np.zeros((t2.bbbb.shape[0], t2.bbbb.shape[-1], t2.bbbb.shape[-1], t2.bbbb.shape[-1])) - rdm2.bbbb.vovv = np.zeros((t2.bbbb.shape[-1], t2.bbbb.shape[0], t2.bbbb.shape[-1], t2.bbbb.shape[-1])) - rdm2.bbbb.vvov = np.zeros((t2.bbbb.shape[-1], t2.bbbb.shape[-1], t2.bbbb.shape[0], t2.bbbb.shape[-1])) - rdm2.bbbb.vvvo = np.zeros((t2.bbbb.shape[-1], t2.bbbb.shape[-1], t2.bbbb.shape[-1], t2.bbbb.shape[0])) - rdm2.aaaa = pack_2e(rdm2.aaaa.oooo, rdm2.aaaa.ooov, rdm2.aaaa.oovo, rdm2.aaaa.ovoo, rdm2.aaaa.vooo, rdm2.aaaa.oovv, rdm2.aaaa.ovov, rdm2.aaaa.ovvo, rdm2.aaaa.voov, rdm2.aaaa.vovo, rdm2.aaaa.vvoo, rdm2.aaaa.ovvv, rdm2.aaaa.vovv, rdm2.aaaa.vvov, rdm2.aaaa.vvvo, rdm2.aaaa.vvvv) - rdm2.abab = pack_2e(rdm2.abab.oooo, rdm2.abab.ooov, rdm2.abab.oovo, rdm2.abab.ovoo, rdm2.abab.vooo, rdm2.abab.oovv, rdm2.abab.ovov, rdm2.abab.ovvo, rdm2.abab.voov, rdm2.abab.vovo, rdm2.abab.vvoo, rdm2.abab.ovvv, rdm2.abab.vovv, rdm2.abab.vvov, rdm2.abab.vvvo, rdm2.abab.vvvv) - rdm2.bbbb = pack_2e(rdm2.bbbb.oooo, rdm2.bbbb.ooov, rdm2.bbbb.oovo, rdm2.bbbb.ovoo, rdm2.bbbb.vooo, rdm2.bbbb.oovv, rdm2.bbbb.ovov, rdm2.bbbb.ovvo, rdm2.bbbb.voov, rdm2.bbbb.vovo, rdm2.bbbb.vvoo, rdm2.bbbb.ovvv, rdm2.bbbb.vovv, rdm2.bbbb.vvov, rdm2.bbbb.vvvo, rdm2.bbbb.vvvv) - rdm2 = Namespace( - aaaa=rdm2.aaaa.swapaxes(1, 2), - aabb=rdm2.abab.swapaxes(1, 2), - bbbb=rdm2.bbbb.swapaxes(1, 2), - ) - - return rdm2 - diff --git a/ebcc/codegen/UCCSD.py b/ebcc/codegen/UCCSD.py deleted file mode 100644 index f5887b85..00000000 --- a/ebcc/codegen/UCCSD.py +++ /dev/null @@ -1,5441 +0,0 @@ -""" -Code generated by `albert`: -https://github.com/obackhouse/albert - - * date: 2024-07-22T16:59:00.222254 - * python version: 3.10.12 (main, Mar 22 2024, 16:50:05) [GCC 11.4.0] - * albert version: 0.0.0 - * caller: /home/ollie/git/albert/albert/codegen/einsum.py - * node: ollie-desktop - * system: Linux - * processor: x86_64 - * release: 6.5.0-44-generic -""" - -from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, direct_sum, Namespace - - -def energy(f=None, t1=None, t2=None, v=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-07-22T16:59:00.890276. - - Parameters - ---------- - f : Namespace of arrays - Fock matrix. - t1 : Namespace of arrays - T1 amplitudes. - t2 : Namespace of arrays - T2 amplitudes. - v : Namespace of arrays - Electron repulsion integrals. - - Returns - ------- - e_cc : float - Coupled cluster energy. - """ - - tmp2 = v.bbbb.ovov.transpose((0, 2, 3, 1)).copy() * -1 - tmp2 += v.bbbb.ovov.transpose((0, 2, 1, 3)) - tmp0 = v.aaaa.ovov.transpose((0, 2, 3, 1)).copy() * -1 - tmp0 += v.aaaa.ovov.transpose((0, 2, 1, 3)) - tmp3 = f.bb.ov.copy() - tmp3 += einsum(t1.bb, (0, 1), tmp2, (0, 2, 3, 1), (2, 3), optimize=True) * -0.5 - del tmp2 - e_cc = einsum(tmp3, (0, 1), t1.bb, (0, 1), (), optimize=True) - del tmp3 - tmp1 = f.aa.ov.copy() * 2 - tmp1 += einsum(v.aabb.ovov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1), optimize=True) * 2 - tmp1 += einsum(tmp0, (0, 1, 2, 3), t1.aa, (0, 3), (1, 2), optimize=True) * -1 - del tmp0 - e_cc += einsum(t1.aa, (0, 1), tmp1, (0, 1), (), optimize=True) * 0.5 - del tmp1 - e_cc += einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.aaaa, (0, 2, 1, 3), (), optimize=True) - e_cc += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 1, 3), (), optimize=True) - e_cc += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (0, 3, 1, 2), (), optimize=True) * -1 - - return e_cc - -def update_amps(f=None, t1=None, t2=None, v=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-07-22T16:59:30.814708. - - Parameters - ---------- - f : Namespace of arrays - Fock matrix. - t1 : Namespace of arrays - T1 amplitudes. - t2 : Namespace of arrays - T2 amplitudes. - v : Namespace of arrays - Electron repulsion integrals. - - Returns - ------- - t1new : Namespace of arrays - Updated T1 residuals. - t2new : Namespace of arrays - Updated T2 residuals. - """ - - t1new = Namespace() - t2new = Namespace() - tmp37 = v.bbbb.ovov.transpose((0, 2, 3, 1)).copy() * -1 - tmp37 += v.bbbb.ovov.transpose((0, 2, 1, 3)) - tmp20 = v.aaaa.ovov.transpose((0, 2, 3, 1)).copy() * -1 - tmp20 += v.aaaa.ovov.transpose((0, 2, 1, 3)) - tmp11 = v.bbbb.ovov.transpose((0, 2, 3, 1)).copy() * -1 - tmp11 += v.bbbb.ovov.transpose((0, 2, 1, 3)) - tmp10 = einsum(t1.aa, (0, 1), v.aabb.ovov, (0, 1, 2, 3), (2, 3), optimize=True) - t1new.bb = tmp10.copy() - tmp38 = einsum(t1.bb, (0, 1), tmp37, (0, 2, 3, 1), (2, 3), optimize=True) - del tmp37 - tmp28 = einsum(t1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 1), (0, 2, 4, 3), optimize=True) - tmp3 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 2, 1), optimize=True) - tmp0 = einsum(v.aabb.ovov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1), optimize=True) - t1new.aa = tmp0.copy() - tmp21 = einsum(tmp20, (0, 1, 2, 3), t1.aa, (0, 3), (1, 2), optimize=True) - del tmp20 - tmp12 = einsum(t1.bb, (0, 1), tmp11, (0, 2, 3, 1), (2, 3), optimize=True) - tmp177 = einsum(v.bbbb.ooov, (0, 1, 2, 3), t1.bb, (4, 3), (4, 0, 1, 2), optimize=True) - tmp39 = f.bb.ov.copy() - tmp39 += tmp10 - tmp39 += tmp38 * -1 - del tmp38 - tmp152 = tmp28.copy() - tmp152 += tmp28.transpose((0, 2, 1, 3)) * -1 - tmp189 = v.bbbb.ovvv.copy() * -1 - tmp189 += v.bbbb.ovvv.transpose((0, 2, 1, 3)) - tmp26 = einsum(v.aabb.ovov, (0, 1, 2, 3), t1.bb, (4, 3), (0, 4, 2, 1), optimize=True) - tmp191 = v.bbbb.ooov.copy() * -1 - tmp191 += v.bbbb.ovoo.transpose((0, 2, 3, 1)) - tmp94 = v.aaaa.ooov.copy() * -1 - tmp94 += v.aaaa.ovoo.transpose((0, 2, 3, 1)) - tmp68 = v.aaaa.ovvv.copy() * -1 - tmp68 += v.aaaa.ovvv.transpose((0, 2, 1, 3)) - tmp90 = tmp3.copy() - tmp90 += tmp3.transpose((0, 2, 1, 3)) * -1 - tmp1 = einsum(t1.aa, (0, 1), v.aabb.ovov, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) - tmp22 = f.aa.ov.copy() - tmp22 += tmp0 - tmp22 += tmp21 * -1 - del tmp21 - tmp70 = einsum(t1.aa, (0, 1), v.aaaa.ooov, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) - tmp7 = v.aaaa.ovov.transpose((0, 2, 3, 1)).copy() * -1 - tmp7 += v.aaaa.ovov.transpose((0, 2, 1, 3)) - tmp203 = einsum(tmp28, (0, 1, 2, 3), t1.bb, (4, 3), (0, 4, 2, 1), optimize=True) - tmp13 = f.bb.ov.copy() - tmp13 += tmp10 - del tmp10 - tmp13 += tmp12 * -1 - del tmp12 - t1new.bb += einsum(t2.bbbb, (0, 1, 2, 3), tmp13, (1, 3), (0, 2), optimize=True) * 2 - t1new.aa += einsum(t2.abab, (0, 1, 2, 3), tmp13, (1, 3), (0, 2), optimize=True) - tmp179 = einsum(t1.bb, (0, 1), v.bbbb.oovv, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) - tmp180 = einsum(tmp177, (0, 1, 2, 3), t1.bb, (3, 4), (0, 2, 1, 4), optimize=True) - tmp40 = einsum(tmp39, (0, 1), t1.bb, (2, 1), (2, 0), optimize=True) - tmp33 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 3), (1, 4), optimize=True) - tmp34 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (4, 2, 3, 1), (4, 0), optimize=True) * -1 - tmp153 = einsum(t1.bb, (0, 1), tmp152, (2, 0, 3, 4), (2, 3, 1, 4), optimize=True) - del tmp152 - tmp190 = einsum(tmp189, (0, 1, 2, 3), t1.bb, (4, 1), (4, 0, 2, 3), optimize=True) - del tmp189 - tmp137 = v.aabb.ovoo.transpose((0, 2, 3, 1)).copy() - tmp137 += tmp26.transpose((0, 2, 1, 3)) - tmp35 = v.bbbb.ooov.copy() - tmp35 += v.bbbb.ovoo.transpose((0, 2, 3, 1)) * -1 - tmp187 = einsum(v.bbbb.ovvv, (0, 1, 2, 3), t1.bb, (4, 3), (4, 0, 1, 2), optimize=True) - t2new.bbbb = tmp187.transpose((1, 0, 3, 2)).copy() * -1 - t2new.bbbb += tmp187.transpose((0, 1, 3, 2)) - t2new.bbbb += tmp187 * -1 - t2new.bbbb += tmp187.transpose((1, 0, 2, 3)) - tmp133 = einsum(t1.bb, (0, 1), v.aabb.ovvv, (2, 3, 4, 1), (2, 0, 3, 4), optimize=True) - t2new.abab = tmp133.copy() - tmp155 = einsum(tmp26, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 3, 4), optimize=True) - tmp192 = einsum(t1.bb, (0, 1), tmp191, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) - del tmp191 - tmp64 = v.aaaa.ovvv.copy() * -1 - tmp64 += v.aaaa.ovvv.transpose((0, 2, 1, 3)) - tmp58 = v.aaaa.ooov.copy() * -1 - tmp58 += v.aaaa.ooov.transpose((0, 2, 1, 3)) - tmp18 = v.aaaa.ooov.copy() * -1 - tmp18 += v.aaaa.ooov.transpose((0, 2, 1, 3)) - tmp103 = einsum(t1.aa, (0, 1), tmp3, (2, 3, 4, 1), (2, 0, 4, 3), optimize=True) - tmp95 = einsum(t1.aa, (0, 1), tmp94, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) - del tmp94 - tmp52 = v.bbbb.ovov.transpose((0, 2, 3, 1)).copy() - tmp52 += v.bbbb.ovov.transpose((0, 2, 1, 3)) * -1 - tmp83 = einsum(t1.aa, (0, 1), tmp68, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) - tmp91 = einsum(t1.aa, (0, 1), tmp90, (2, 0, 3, 4), (2, 3, 1, 4), optimize=True) - del tmp90 - tmp86 = einsum(t1.aa, (0, 1), v.aabb.vvov, (2, 1, 3, 4), (0, 3, 2, 4), optimize=True) - tmp98 = einsum(t1.aa, (0, 1), tmp1, (2, 0, 3, 4), (2, 3, 1, 4), optimize=True) - t2new.abab += tmp98 * -1 - tmp80 = einsum(t1.aa, (0, 1), v.aaaa.ovvv, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) - t2new.aaaa = tmp80.transpose((1, 0, 3, 2)).copy() * -1 - t2new.aaaa += tmp80.transpose((0, 1, 3, 2)) - t2new.aaaa += tmp80 * -1 - t2new.aaaa += tmp80.transpose((1, 0, 2, 3)) - tmp17 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 1, 3), (0, 4), optimize=True) - tmp23 = einsum(tmp22, (0, 1), t1.aa, (2, 1), (2, 0), optimize=True) - tmp16 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 2, 1, 3), (0, 4), optimize=True) - tmp73 = einsum(tmp70, (0, 1, 2, 3), t1.aa, (3, 4), (0, 2, 1, 4), optimize=True) - tmp72 = einsum(v.aaaa.oovv, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 1, 2), optimize=True) - tmp8 = einsum(tmp7, (0, 1, 2, 3), t1.aa, (0, 3), (1, 2), optimize=True) - tmp209 = einsum(tmp203, (0, 1, 2, 3), t1.bb, (2, 4), (1, 0, 3, 4), optimize=True) - tmp169 = v.bbbb.ooov.copy() - tmp169 += v.bbbb.ovoo.transpose((0, 2, 3, 1)) * -1 - tmp32 = einsum(t1.aa, (0, 1), v.aabb.ovoo, (0, 1, 2, 3), (2, 3), optimize=True) - tmp120 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 1, 4), (3, 4), optimize=True) - tmp121 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (0, 2, 4, 3), (4, 1), optimize=True) - tmp188 = t2.bbbb.copy() * 2 - tmp188 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1), optimize=True) * -1 - tmp151 = v.bbbb.ovvv.copy() - tmp151 += v.bbbb.ovvv.transpose((0, 2, 3, 1)) * -1 - tmp126 = einsum(tmp13, (0, 1), t1.bb, (0, 2), (2, 1), optimize=True) - del tmp13 - tmp124 = einsum(t1.aa, (0, 1), v.aabb.ovvv, (0, 1, 2, 3), (2, 3), optimize=True) - tmp123 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.bbbb, (4, 2, 5, 3), (0, 4, 1, 5), optimize=True) - t2new.abab += tmp123 * 2 - tmp146 = einsum(t1.bb, (0, 1), v.aabb.ovoo, (2, 3, 4, 0), (2, 4, 3, 1), optimize=True) - tmp167 = einsum(tmp7, (0, 1, 2, 3), t2.abab, (0, 4, 3, 5), (1, 4, 2, 5), optimize=True) - tmp181 = tmp179.transpose((0, 2, 1, 3)).copy() - tmp181 += tmp180.transpose((0, 2, 1, 3)) * -1 - tmp164 = v.bbbb.ovov.transpose((0, 2, 3, 1)).copy() - tmp164 += v.bbbb.ovov.transpose((0, 2, 1, 3)) * -1 - tmp165 = v.bbbb.ooov.copy() * -1 - tmp165 += v.bbbb.ovoo.transpose((0, 2, 3, 1)) - tmp213 = v.bbbb.ovvv.copy() - tmp213 += einsum(t1.bb, (0, 1), v.bbbb.ovov, (2, 3, 0, 4), (2, 4, 1, 3), optimize=True) - tmp174 = v.bbbb.ovvv.copy() - tmp174 += v.bbbb.ovvv.transpose((0, 2, 3, 1)) * -1 - tmp183 = tmp33.copy() - tmp183 += tmp34 * 2 - tmp183 += tmp40 - tmp196 = tmp190.transpose((0, 1, 3, 2)).copy() * -1 - tmp196 += tmp153 * -1 - tmp201 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovoo, (0, 2, 4, 5), (1, 4, 5, 3), optimize=True) - t2new.bbbb += einsum(tmp201, (0, 1, 2, 3), t1.bb, (2, 4), (1, 0, 3, 4), optimize=True) - tmp138 = einsum(tmp137, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 3, 4), optimize=True) - del tmp137 - t2new.abab += tmp138 * -1 - tmp211 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 2, 5, 3), (0, 1, 4, 5), optimize=True) - tmp36 = einsum(t1.bb, (0, 1), tmp35, (0, 2, 3, 1), (2, 3), optimize=True) - del tmp35 - tmp207 = einsum(t1.bb, (0, 1), tmp187, (2, 3, 1, 4), (0, 2, 3, 4), optimize=True) - del tmp187 - tmp205 = einsum(t1.bb, (0, 1), v.bbbb.vvvv, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) - tmp156 = tmp133.copy() - tmp156 += tmp155 * -1 - t2new.abab += einsum(tmp156, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 2), (4, 1, 5, 3), optimize=True) * 2 - tmp198 = v.bbbb.oovv.copy() - tmp198 += tmp192.transpose((1, 0, 2, 3)) * -1 - tmp55 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (0, 4, 1, 3), (2, 4), optimize=True) - tmp66 = einsum(t1.aa, (0, 1), tmp22, (0, 2), (1, 2), optimize=True) - tmp63 = einsum(v.aabb.vvov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1), optimize=True) - tmp56 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 4, 1, 3), (2, 4), optimize=True) - tmp65 = einsum(tmp64, (0, 1, 2, 3), t1.aa, (0, 2), (1, 3), optimize=True) - del tmp64 - tmp125 = v.bbbb.ovvv.copy() * -1 - tmp125 += v.bbbb.ovvv.transpose((0, 2, 3, 1)) - tmp6 = t2.abab.copy() - tmp6 += einsum(t1.aa, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3), optimize=True) - t1new.bb += einsum(v.aabb.ovvv, (0, 1, 2, 3), tmp6, (0, 4, 1, 3), (4, 2), optimize=True) - t1new.aa += einsum(tmp6, (0, 1, 2, 3), v.aabb.vvov, (4, 2, 1, 3), (0, 4), optimize=True) - tmp144 = v.bbbb.ooov.copy() - tmp144 += v.bbbb.ooov.transpose((0, 2, 1, 3)) * -1 - tmp149 = v.aabb.vvov.transpose((2, 0, 1, 3)).copy() - tmp149 += einsum(t1.aa, (0, 1), v.aabb.ovov, (0, 2, 3, 4), (3, 1, 2, 4), optimize=True) * -1 - tmp46 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (0, 4, 2, 5), optimize=True) - t2new.aaaa += tmp46 - t2new.aaaa += tmp46.transpose((0, 1, 3, 2)) * -1 - t2new.aaaa += tmp46.transpose((1, 0, 2, 3)) * -1 - t2new.aaaa += tmp46.transpose((1, 0, 3, 2)) - tmp51 = einsum(t1.aa, (0, 1), v.aabb.ooov, (2, 0, 3, 4), (2, 3, 1, 4), optimize=True) - t2new.abab += tmp51 * -1 - tmp59 = einsum(t1.aa, (0, 1), tmp58, (2, 3, 0, 1), (2, 3), optimize=True) - tmp15 = einsum(v.aabb.ooov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1), optimize=True) - tmp19 = einsum(t1.aa, (0, 1), tmp18, (2, 3, 0, 1), (2, 3), optimize=True) - del tmp18 - tmp107 = einsum(tmp103, (0, 1, 2, 3), t1.aa, (2, 4), (1, 0, 3, 4), optimize=True) - tmp96 = v.aaaa.oovv.copy() - tmp96 += tmp95.transpose((1, 0, 2, 3)) * -1 - del tmp95 - tmp87 = v.aabb.ooov.copy() - tmp87 += tmp1.transpose((1, 0, 2, 3)) - tmp53 = einsum(tmp52, (0, 1, 2, 3), t2.abab, (4, 0, 5, 3), (4, 1, 5, 2), optimize=True) - tmp92 = tmp83.transpose((0, 1, 3, 2)).copy() * -1 - tmp92 += tmp91 * -1 - tmp81 = t2.aaaa.copy() * 2 - tmp81 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (2, 0, 1, 3), optimize=True) * -1 - tmp82 = v.aaaa.ovov.transpose((0, 2, 3, 1)).copy() - tmp82 += v.aaaa.ovov.transpose((0, 2, 1, 3)) * -1 - tmp84 = v.aaaa.ooov.copy() - tmp84 += v.aaaa.ovoo.transpose((0, 2, 3, 1)) * -1 - tmp111 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 3, 5, 2), (0, 1, 4, 5), optimize=True) * -1 - tmp48 = v.aaaa.ovov.transpose((0, 2, 3, 1)).copy() - tmp48 += v.aaaa.ovov.transpose((0, 2, 1, 3)) * -1 - tmp49 = v.aaaa.ooov.copy() - tmp49 += v.aaaa.ovoo.transpose((0, 2, 3, 1)) * -1 - tmp99 = tmp86.copy() - tmp99 += tmp98 * -1 - tmp105 = einsum(t1.aa, (0, 1), tmp80, (2, 3, 1, 4), (0, 2, 3, 4), optimize=True) - del tmp80 - tmp109 = einsum(v.aaaa.vvvv, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 1, 2), optimize=True) - tmp76 = tmp16.copy() * 2 - tmp76 += tmp17 - tmp76 += tmp23 - tmp74 = tmp72.transpose((0, 2, 1, 3)).copy() - tmp74 += tmp73.transpose((0, 2, 1, 3)) * -1 - tmp9 = f.aa.ov.copy() - tmp9 += tmp0 - del tmp0 - tmp9 += tmp8 * -1 - del tmp8 - t1new.bb += einsum(tmp9, (0, 1), t2.abab, (0, 2, 1, 3), (2, 3), optimize=True) - t1new.aa += einsum(tmp9, (0, 1), t2.aaaa, (2, 0, 3, 1), (2, 3), optimize=True) * 2 - tmp101 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ooov, (4, 5, 1, 3), (0, 4, 5, 2), optimize=True) - t2new.aaaa += einsum(tmp101, (0, 1, 2, 3), t1.aa, (2, 4), (1, 0, 3, 4), optimize=True) - tmp113 = v.aaaa.ovvv.copy() - tmp113 += einsum(v.aaaa.ovov, (0, 1, 2, 3), t1.aa, (2, 4), (0, 3, 1, 4), optimize=True) - tmp186 = einsum(t1.bb, (0, 1), tmp180, (2, 0, 3, 4), (2, 3, 1, 4), optimize=True) - del tmp180 - t2new.bbbb += tmp186.transpose((0, 1, 3, 2)) - t2new.bbbb += tmp186 * -1 - del tmp186 - tmp210 = einsum(t1.bb, (0, 1), tmp209, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) - del tmp209 - t2new.bbbb += tmp210.transpose((0, 1, 3, 2)) * -1 - t2new.bbbb += tmp210 - del tmp210 - tmp170 = f.bb.oo.copy() - tmp170 += tmp32.transpose((1, 0)) - tmp170 += einsum(t1.bb, (0, 1), tmp169, (0, 2, 3, 1), (3, 2), optimize=True) * -1 - del tmp169 - t2new.bbbb += einsum(t2.bbbb, (0, 1, 2, 3), tmp170, (1, 4), (4, 0, 2, 3), optimize=True) * 2 - del tmp170 - tmp122 = tmp120.copy() - tmp122 += tmp121 * 2 - t2new.bbbb += einsum(t2.bbbb, (0, 1, 2, 3), tmp122, (4, 3), (0, 1, 2, 4), optimize=True) * -2 - t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp122, (4, 3), (0, 1, 2, 4), optimize=True) * -1 - del tmp122 - tmp171 = t2.bbbb.copy() - tmp171 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1), optimize=True) * -1 - t2new.bbbb += einsum(v.bbbb.oooo, (0, 1, 2, 3), tmp171, (3, 1, 4, 5), (0, 2, 5, 4), optimize=True) - del tmp171 - tmp216 = tmp133.copy() * -1 - tmp216 += tmp155 - del tmp155 - t2new.bbbb += einsum(t2.abab, (0, 1, 2, 3), tmp216, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) * -1 - del tmp216 - tmp193 = v.bbbb.oovv.copy() - tmp193 += einsum(tmp188, (0, 1, 2, 3), tmp52, (0, 4, 5, 2), (1, 4, 3, 5), optimize=True) * -1 - del tmp52, tmp188 - tmp193 += tmp190.transpose((0, 1, 3, 2)) * -1 - del tmp190 - tmp193 += tmp192 * -1 - del tmp192 - t2new.bbbb += einsum(tmp193, (0, 1, 2, 3), t2.bbbb, (4, 1, 5, 3), (4, 0, 2, 5), optimize=True) * 2 - del tmp193 - tmp176 = f.bb.vv.copy() * -1 - tmp176 += tmp124.transpose((1, 0)) * -1 - tmp176 += einsum(tmp151, (0, 1, 2, 3), t1.bb, (0, 1), (3, 2), optimize=True) * -1 - tmp176 += tmp126.transpose((1, 0)) - t2new.bbbb += einsum(tmp176, (0, 1), t2.bbbb, (2, 3, 4, 0), (2, 3, 4, 1), optimize=True) * -2 - del tmp176 - tmp163 = einsum(t2.abab, (0, 1, 2, 3), tmp123, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) - del tmp123 - t2new.bbbb += tmp163.transpose((1, 0, 2, 3)) * -2 - t2new.bbbb += tmp163.transpose((0, 1, 3, 2)) * -2 - t2new.bbbb += tmp163.transpose((1, 0, 3, 2)) * 2 - t2new.bbbb += tmp163 * 2 - del tmp163 - tmp204 = einsum(tmp203, (0, 1, 2, 3), t2.bbbb, (2, 3, 4, 5), (1, 0, 4, 5), optimize=True) * -1 - del tmp203 - t2new.bbbb += tmp204.transpose((0, 1, 3, 2)) * -1 - t2new.bbbb += tmp204.transpose((0, 1, 3, 2)) * -1 - del tmp204 - tmp185 = einsum(t1.bb, (0, 1), tmp179, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) - del tmp179 - t2new.bbbb += tmp185.transpose((0, 1, 3, 2)) * -1 - t2new.bbbb += tmp185 - del tmp185 - tmp161 = t2.bbbb.copy() - tmp161 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (2, 0, 3, 1), optimize=True) - t2new.bbbb += einsum(tmp161, (0, 1, 2, 3), v.bbbb.oooo, (4, 1, 5, 0), (4, 5, 3, 2), optimize=True) - del tmp161 - tmp168 = tmp146.copy() - tmp168 += tmp167 - t2new.bbbb += einsum(t2.abab, (0, 1, 2, 3), tmp168, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) * -1 - del tmp168 - tmp182 = einsum(t1.bb, (0, 1), tmp181, (2, 0, 3, 4), (2, 3, 1, 4), optimize=True) - del tmp181 - t2new.bbbb += tmp182.transpose((1, 0, 3, 2)) - t2new.bbbb += tmp182.transpose((1, 0, 2, 3)) * -1 - del tmp182 - tmp217 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovvv, (4, 2, 5, 3), (0, 1, 4, 5), optimize=True) - t2new.bbbb += einsum(t1.bb, (0, 1), tmp217, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) * -2 - del tmp217 - tmp215 = einsum(t1.bb, (0, 1), tmp28, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) - t2new.bbbb += tmp215 * -1 - t2new.bbbb += tmp215.transpose((1, 0, 2, 3)) - del tmp215 - tmp166 = v.bbbb.oovv.copy() * 0.5 - tmp166 += einsum(t2.bbbb, (0, 1, 2, 3), tmp164, (1, 4, 5, 3), (0, 4, 2, 5), optimize=True) * -1 - del tmp164 - tmp166 += einsum(t1.bb, (0, 1), tmp165, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) * -0.5 - del tmp165 - t2new.bbbb += einsum(t2.bbbb, (0, 1, 2, 3), tmp166, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) * -4 - del tmp166 - tmp214 = v.bbbb.vvvv.copy() - tmp214 += einsum(t1.bb, (0, 1), tmp213, (0, 2, 3, 4), (4, 1, 3, 2), optimize=True) - del tmp213 - t2new.bbbb += einsum(tmp214, (0, 1, 2, 3), t2.bbbb, (4, 5, 0, 3), (4, 5, 2, 1), optimize=True) * -2 - del tmp214 - tmp172 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 5), (1, 4, 3, 5), optimize=True) - t2new.bbbb += tmp172 - t2new.bbbb += tmp172.transpose((0, 1, 3, 2)) * -1 - t2new.bbbb += tmp172.transpose((1, 0, 2, 3)) * -1 - t2new.bbbb += tmp172.transpose((1, 0, 3, 2)) - del tmp172 - tmp175 = f.bb.vv.copy() * -1 - tmp175 += tmp124.transpose((1, 0)) * -1 - tmp175 += tmp120.transpose((1, 0)) - del tmp120 - tmp175 += tmp121.transpose((1, 0)) * 2 - del tmp121 - tmp175 += einsum(tmp174, (0, 1, 2, 3), t1.bb, (0, 1), (3, 2), optimize=True) * -1 - del tmp174 - tmp175 += einsum(tmp39, (0, 1), t1.bb, (0, 2), (1, 2), optimize=True) - t2new.bbbb += einsum(t2.bbbb, (0, 1, 2, 3), tmp175, (3, 4), (0, 1, 4, 2), optimize=True) * 2 - del tmp175 - tmp184 = einsum(tmp183, (0, 1), t2.bbbb, (2, 1, 3, 4), (2, 0, 3, 4), optimize=True) * -2 - del tmp183 - t2new.bbbb += tmp184.transpose((1, 0, 3, 2)) - t2new.bbbb += tmp184.transpose((0, 1, 3, 2)) * -1 - del tmp184 - tmp197 = einsum(tmp196, (0, 1, 2, 3), t2.bbbb, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) - del tmp196 - t2new.bbbb += tmp197.transpose((1, 0, 2, 3)) * 2 - t2new.bbbb += tmp197 * -2 - t2new.bbbb += tmp197.transpose((1, 0, 3, 2)) * -2 - del tmp197 - tmp202 = tmp28.copy() - tmp202 += tmp201.transpose((0, 2, 1, 3)) * -1 - del tmp201 - t2new.bbbb += einsum(tmp202, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 3, 4), optimize=True) - del tmp202 - tmp194 = tmp133.copy() * -1 - tmp194 += tmp167 - del tmp167 - tmp194 += tmp138 - del tmp138 - t2new.bbbb += einsum(t2.abab, (0, 1, 2, 3), tmp194, (0, 4, 2, 5), (1, 4, 5, 3), optimize=True) - del tmp194 - tmp212 = einsum(tmp211, (0, 1, 2, 3), t2.bbbb, (3, 2, 4, 5), (1, 0, 4, 5), optimize=True) - del tmp211 - t2new.bbbb += tmp212.transpose((0, 1, 3, 2)) * -1 - t2new.bbbb += tmp212.transpose((0, 1, 3, 2)) * -1 - del tmp212 - tmp118 = f.bb.oo.copy() - tmp118 += tmp32.transpose((1, 0)) - tmp118 += tmp36.transpose((1, 0)) * -1 - t2new.bbbb += einsum(t2.bbbb, (0, 1, 2, 3), tmp118, (1, 4), (0, 4, 2, 3), optimize=True) * -2 - t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp118, (1, 4), (0, 4, 2, 3), optimize=True) * -1 - del tmp118 - tmp173 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (4, 2, 5, 3), (4, 0, 5, 1), optimize=True) - t2new.bbbb += tmp173 * 2 - t2new.bbbb += tmp173.transpose((0, 1, 3, 2)) * -2 - t2new.bbbb += tmp173.transpose((1, 0, 2, 3)) * -2 - t2new.bbbb += tmp173.transpose((1, 0, 3, 2)) * 2 - del tmp173 - tmp208 = einsum(t1.bb, (0, 1), tmp207, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) - del tmp207 - t2new.bbbb += tmp208.transpose((1, 0, 2, 3)) - t2new.bbbb += tmp208 * -1 - t2new.bbbb += tmp208.transpose((1, 0, 3, 2)) * -1 - t2new.bbbb += tmp208.transpose((0, 1, 3, 2)) - del tmp208 - tmp178 = einsum(tmp177, (0, 1, 2, 3), t2.bbbb, (3, 2, 4, 5), (0, 1, 4, 5), optimize=True) * -1 - del tmp177 - t2new.bbbb += tmp178.transpose((0, 1, 3, 2)) * 2 - t2new.bbbb += tmp178.transpose((1, 0, 3, 2)) * -2 - del tmp178 - tmp195 = v.bbbb.ooov.copy() - tmp195 += tmp28.transpose((2, 0, 1, 3)) - t2new.bbbb += einsum(tmp195, (0, 1, 2, 3), t1.bb, (0, 4), (2, 1, 3, 4), optimize=True) * -1 - del tmp195 - tmp206 = einsum(tmp205, (0, 1, 2, 3), t1.bb, (4, 2), (4, 0, 1, 3), optimize=True) - del tmp205 - t2new.bbbb += tmp206.transpose((0, 1, 3, 2)) * -1 - t2new.bbbb += tmp206 - del tmp206 - tmp162 = einsum(v.bbbb.ooov, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 4, 3), optimize=True) - t2new.bbbb += tmp162 * -1 - t2new.bbbb += tmp162.transpose((1, 0, 2, 3)) - t2new.bbbb += tmp162.transpose((0, 1, 3, 2)) - del tmp162 - tmp200 = einsum(t2.abab, (0, 1, 2, 3), tmp156, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) - del tmp156 - t2new.bbbb += tmp200.transpose((1, 0, 2, 3)) * -1 - t2new.bbbb += tmp200.transpose((1, 0, 3, 2)) - del tmp200 - tmp199 = einsum(tmp198, (0, 1, 2, 3), t2.bbbb, (4, 0, 5, 3), (4, 1, 5, 2), optimize=True) - del tmp198 - t2new.bbbb += tmp199.transpose((1, 0, 2, 3)) * 2 - t2new.bbbb += tmp199 * -2 - del tmp199 - tmp157 = einsum(v.aabb.ovvv, (0, 1, 2, 3), t1.aa, (4, 1), (4, 0, 2, 3), optimize=True) - tmp157 += einsum(t1.bb, (0, 1), tmp1, (2, 3, 0, 4), (2, 3, 4, 1), optimize=True) * -1 - t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp157, (4, 0, 3, 5), (4, 1, 2, 5), optimize=True) * -1 - del tmp157 - tmp67 = f.aa.vv.copy() * -1 - tmp67 += tmp63.transpose((1, 0)) * -1 - tmp67 += tmp55.transpose((1, 0)) * 2 - tmp67 += tmp56.transpose((1, 0)) - tmp67 += tmp65 * -1 - del tmp65 - tmp67 += tmp66.transpose((1, 0)) - del tmp66 - t2new.abab += einsum(tmp67, (0, 1), t2.abab, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) * -1 - t2new.aaaa += einsum(tmp67, (0, 1), t2.aaaa, (2, 3, 4, 0), (2, 3, 1, 4), optimize=True) * 2 - del tmp67 - tmp129 = einsum(v.aabb.ooov, (0, 1, 2, 3), t1.bb, (4, 3), (0, 1, 4, 2), optimize=True) - t2new.abab += einsum(tmp129, (0, 1, 2, 3), tmp6, (0, 3, 4, 5), (1, 2, 4, 5), optimize=True) - del tmp129 - tmp147 = v.aabb.ovov.transpose((0, 2, 1, 3)).copy() - tmp147 += tmp146 * -1 - del tmp146 - t2new.abab += einsum(tmp147, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 2), (4, 1, 5, 3), optimize=True) * 2 - del tmp147 - tmp127 = f.bb.vv.copy() - tmp127 += tmp124.transpose((1, 0)) - del tmp124 - tmp127 += einsum(tmp125, (0, 1, 2, 3), t1.bb, (0, 1), (3, 2), optimize=True) * -1 - del tmp125 - tmp127 += tmp126.transpose((1, 0)) * -1 - del tmp126 - t2new.abab += einsum(tmp127, (0, 1), t2.abab, (2, 3, 4, 0), (2, 3, 4, 1), optimize=True) - del tmp127 - tmp130 = einsum(v.aabb.vvoo, (0, 1, 2, 3), t1.aa, (4, 1), (4, 2, 3, 0), optimize=True) - t2new.abab += einsum(t1.bb, (0, 1), tmp130, (2, 3, 0, 4), (2, 3, 4, 1), optimize=True) * -1 - del tmp130 - tmp160 = einsum(t1.aa, (0, 1), tmp133, (2, 3, 1, 4), (0, 2, 3, 4), optimize=True) - del tmp133 - t2new.abab += einsum(t1.aa, (0, 1), tmp160, (2, 0, 3, 4), (2, 3, 1, 4), optimize=True) * -1 - del tmp160 - tmp135 = v.aabb.vvoo.transpose((2, 3, 0, 1)).copy() * -1 - tmp135 += einsum(v.aabb.ovoo, (0, 1, 2, 3), t1.aa, (0, 4), (2, 3, 1, 4), optimize=True) - tmp135 += einsum(v.aabb.vvov, (0, 1, 2, 3), t1.bb, (4, 3), (2, 4, 0, 1), optimize=True) * -1 - tmp135 += einsum(tmp6, (0, 1, 2, 3), v.aabb.ovov, (0, 4, 5, 3), (5, 1, 4, 2), optimize=True) - t2new.abab += einsum(tmp135, (0, 1, 2, 3), t2.abab, (4, 0, 2, 5), (4, 1, 3, 5), optimize=True) - del tmp135 - tmp131 = tmp16.transpose((1, 0)).copy() - tmp131 += tmp17.transpose((1, 0)) * 0.5 - tmp131 += einsum(tmp22, (0, 1), t1.aa, (2, 1), (0, 2), optimize=True) * 0.5 - del tmp22 - t2new.abab += einsum(tmp131, (0, 1), t2.abab, (0, 2, 3, 4), (1, 2, 3, 4), optimize=True) * -2 - del tmp131 - tmp140 = einsum(t1.aa, (0, 1), tmp26, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) - t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp140, (4, 0, 5, 1), (4, 5, 2, 3), optimize=True) - del tmp140 - tmp145 = v.bbbb.ovov.transpose((0, 2, 1, 3)).copy() - tmp145 += v.bbbb.oovv * -1 - tmp145 += einsum(t1.bb, (0, 1), tmp144, (2, 3, 0, 4), (3, 2, 4, 1), optimize=True) - del tmp144 - t2new.abab += einsum(tmp145, (0, 1, 2, 3), t2.abab, (4, 0, 5, 2), (4, 1, 5, 3), optimize=True) - del tmp145 - tmp150 = v.aabb.vvvv.copy() - tmp150 += einsum(t1.bb, (0, 1), tmp149, (0, 2, 3, 4), (3, 2, 4, 1), optimize=True) * -1 - del tmp149 - t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp150, (2, 4, 3, 5), (0, 1, 4, 5), optimize=True) - del tmp150 - tmp132 = einsum(v.aabb.ovoo, (0, 1, 2, 3), t1.aa, (4, 1), (4, 0, 2, 3), optimize=True) - t2new.abab += einsum(tmp132, (0, 1, 2, 3), tmp6, (1, 2, 4, 5), (0, 3, 4, 5), optimize=True) - del tmp6, tmp132 - tmp134 = v.aaaa.oovv.copy() - tmp134 += tmp46.transpose((1, 0, 3, 2)) * -1 - tmp134 += einsum(tmp7, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 3), (1, 4, 2, 5), optimize=True) * 2 - del tmp7 - tmp134 += einsum(tmp58, (0, 1, 2, 3), t1.aa, (2, 4), (1, 0, 3, 4), optimize=True) - del tmp58 - t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp134, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) * -1 - del tmp134 - tmp139 = v.aabb.oovv.copy() - tmp139 += einsum(t1.bb, (0, 1), v.aabb.ooov, (2, 3, 0, 4), (2, 3, 4, 1), optimize=True) * -1 - t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp139, (0, 4, 3, 5), (4, 1, 2, 5), optimize=True) * -1 - del tmp139 - tmp136 = tmp51.copy() * -1 - tmp136 += einsum(v.aabb.ovov, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 1), (4, 2, 5, 3), optimize=True) * 2 - tmp136 += einsum(tmp11, (0, 1, 2, 3), t2.abab, (4, 0, 5, 3), (4, 1, 5, 2), optimize=True) * -1 - del tmp11 - t2new.abab += einsum(t2.bbbb, (0, 1, 2, 3), tmp136, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) * 2 - del tmp136 - tmp143 = v.aabb.vvov.transpose((2, 0, 1, 3)).copy() - tmp143 += einsum(t1.bb, (0, 1), v.aabb.vvvv, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) - t2new.abab += einsum(tmp143, (0, 1, 2, 3), t1.aa, (4, 1), (4, 0, 2, 3), optimize=True) - del tmp143 - tmp142 = t2.bbbb.copy() - tmp142 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1), optimize=True) * -0.5 - t2new.abab += einsum(tmp142, (0, 1, 2, 3), tmp99, (4, 0, 5, 2), (4, 1, 5, 3), optimize=True) * 2 - del tmp142 - tmp158 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovvv, (4, 2, 5, 3), (0, 4, 1, 5), optimize=True) - t2new.abab += einsum(t1.aa, (0, 1), tmp158, (2, 0, 3, 4), (2, 3, 1, 4), optimize=True) * -1 - del tmp158 - tmp159 = einsum(t1.bb, (0, 1), v.aabb.oovv, (2, 3, 4, 1), (2, 3, 0, 4), optimize=True) - t2new.abab += einsum(t1.aa, (0, 1), tmp159, (2, 0, 3, 4), (2, 3, 1, 4), optimize=True) * -1 - del tmp159 - tmp128 = tmp33.transpose((1, 0)).copy() * 0.5 - tmp128 += tmp34.transpose((1, 0)) - tmp128 += einsum(tmp39, (0, 1), t1.bb, (2, 1), (0, 2), optimize=True) * 0.5 - del tmp39 - t2new.abab += einsum(tmp128, (0, 1), t2.abab, (2, 0, 3, 4), (2, 1, 3, 4), optimize=True) * -2 - del tmp128 - tmp141 = einsum(tmp68, (0, 1, 2, 3), t1.aa, (4, 2), (4, 0, 1, 3), optimize=True) * -1 - tmp141 += tmp91.transpose((0, 1, 3, 2)) - del tmp91 - t2new.abab += einsum(tmp141, (0, 1, 2, 3), t2.abab, (1, 4, 2, 5), (0, 4, 3, 5), optimize=True) - del tmp141 - tmp154 = einsum(tmp151, (0, 1, 2, 3), t1.bb, (4, 1), (4, 0, 3, 2), optimize=True) * -1 - del tmp151 - tmp154 += tmp153.transpose((0, 1, 3, 2)) - del tmp153 - t2new.abab += einsum(tmp154, (0, 1, 2, 3), t2.abab, (4, 1, 5, 2), (4, 0, 5, 3), optimize=True) - del tmp154 - tmp148 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 5, 3), (0, 4, 1, 5), optimize=True) - t2new.abab += einsum(tmp148, (0, 1, 2, 3), t2.abab, (1, 3, 4, 5), (0, 2, 4, 5), optimize=True) - del tmp148 - tmp60 = f.aa.oo.copy() - tmp60 += tmp15.transpose((1, 0)) - tmp60 += tmp59.transpose((1, 0)) * -1 - del tmp59 - t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp60, (0, 4), (4, 1, 2, 3), optimize=True) * -1 - t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp60, (1, 4), (4, 0, 2, 3), optimize=True) * 2 - del tmp60 - tmp119 = t2.abab.copy() - tmp119 += einsum(t1.aa, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3), optimize=True) * 2 - t2new.abab += einsum(tmp119, (0, 1, 2, 3), v.aabb.oooo, (4, 0, 5, 1), (4, 5, 2, 3), optimize=True) * 0.5 - del tmp119 - tmp115 = einsum(t1.aa, (0, 1), tmp3, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) - t2new.aaaa += tmp115 * -1 - t2new.aaaa += tmp115.transpose((1, 0, 2, 3)) - del tmp115 - tmp43 = f.aa.oo.copy() - tmp43 += tmp15.transpose((1, 0)) - tmp43 += tmp19.transpose((1, 0)) * -1 - t2new.aaaa += einsum(tmp43, (0, 1), t2.aaaa, (2, 0, 3, 4), (2, 1, 3, 4), optimize=True) * -2 - del tmp43 - tmp108 = einsum(t1.aa, (0, 1), tmp107, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) - del tmp107 - t2new.aaaa += tmp108.transpose((0, 1, 3, 2)) * -1 - t2new.aaaa += tmp108 - del tmp108 - tmp57 = tmp55.copy() * 2 - del tmp55 - tmp57 += tmp56 - del tmp56 - t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp57, (4, 3), (0, 1, 2, 4), optimize=True) * -2 - del tmp57 - tmp97 = einsum(t2.aaaa, (0, 1, 2, 3), tmp96, (1, 4, 5, 3), (0, 4, 2, 5), optimize=True) - del tmp96 - t2new.aaaa += tmp97.transpose((1, 0, 2, 3)) * 2 - t2new.aaaa += tmp97 * -2 - del tmp97 - tmp117 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovvv, (4, 3, 5, 2), (0, 1, 4, 5), optimize=True) * -1 - t2new.aaaa += einsum(t1.aa, (0, 1), tmp117, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) * -2 - del tmp117 - tmp88 = tmp86.copy() * -1 - tmp88 += tmp53 * -1 - tmp88 += einsum(t1.aa, (0, 1), tmp87, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) - del tmp87 - t2new.aaaa += einsum(tmp88, (0, 1, 2, 3), t2.abab, (4, 1, 5, 3), (4, 0, 2, 5), optimize=True) - del tmp88 - tmp61 = t2.aaaa.copy() - tmp61 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 1, 3), optimize=True) - t2new.aaaa += einsum(v.aaaa.oooo, (0, 1, 2, 3), tmp61, (1, 3, 4, 5), (0, 2, 5, 4), optimize=True) * -1 - del tmp61 - tmp93 = einsum(t2.aaaa, (0, 1, 2, 3), tmp92, (4, 1, 5, 3), (0, 4, 2, 5), optimize=True) - del tmp92 - t2new.aaaa += tmp93.transpose((1, 0, 2, 3)) * 2 - t2new.aaaa += tmp93 * -2 - t2new.aaaa += tmp93.transpose((1, 0, 3, 2)) * -2 - del tmp93 - tmp85 = v.aaaa.oovv.copy() - tmp85 += einsum(tmp81, (0, 1, 2, 3), tmp82, (0, 4, 5, 2), (1, 4, 3, 5), optimize=True) * -1 - del tmp81, tmp82 - tmp85 += tmp83.transpose((0, 1, 3, 2)) * -1 - del tmp83 - tmp85 += einsum(t1.aa, (0, 1), tmp84, (2, 3, 0, 4), (3, 2, 1, 4), optimize=True) * -1 - del tmp84 - t2new.aaaa += einsum(tmp85, (0, 1, 2, 3), t2.aaaa, (4, 1, 5, 3), (4, 0, 2, 5), optimize=True) * 2 - del tmp85 - tmp54 = tmp51.copy() - del tmp51 - tmp54 += tmp53 * -1 - del tmp53 - t2new.aaaa += einsum(t2.abab, (0, 1, 2, 3), tmp54, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) * -1 - del tmp54 - tmp112 = einsum(t2.aaaa, (0, 1, 2, 3), tmp111, (4, 5, 1, 0), (5, 4, 2, 3), optimize=True) - del tmp111 - t2new.aaaa += tmp112.transpose((0, 1, 3, 2)) * -1 - t2new.aaaa += tmp112.transpose((0, 1, 3, 2)) * -1 - del tmp112 - tmp50 = v.aaaa.oovv.copy() * 0.5 - tmp50 += einsum(t2.aaaa, (0, 1, 2, 3), tmp48, (1, 4, 5, 3), (0, 4, 2, 5), optimize=True) * -1 - del tmp48 - tmp50 += einsum(t1.aa, (0, 1), tmp49, (2, 3, 0, 4), (3, 2, 1, 4), optimize=True) * -0.5 - del tmp49 - t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp50, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) * -4 - del tmp50 - tmp79 = einsum(t1.aa, (0, 1), tmp72, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) - del tmp72 - t2new.aaaa += tmp79.transpose((0, 1, 3, 2)) * -1 - t2new.aaaa += tmp79 - del tmp79 - tmp89 = v.aaaa.ooov.copy() - tmp89 += tmp3.transpose((2, 0, 1, 3)) - t2new.aaaa += einsum(tmp89, (0, 1, 2, 3), t1.aa, (0, 4), (2, 1, 3, 4), optimize=True) * -1 - del tmp89 - tmp100 = einsum(t2.abab, (0, 1, 2, 3), tmp99, (4, 1, 5, 3), (0, 4, 2, 5), optimize=True) - del tmp99 - t2new.aaaa += tmp100.transpose((1, 0, 2, 3)) * -1 - t2new.aaaa += tmp100.transpose((1, 0, 3, 2)) - del tmp100 - tmp116 = tmp86.copy() * -1 - del tmp86 - tmp116 += tmp98 - del tmp98 - t2new.aaaa += einsum(t2.abab, (0, 1, 2, 3), tmp116, (4, 1, 5, 3), (0, 4, 2, 5), optimize=True) * -1 - del tmp116 - tmp44 = t2.aaaa.copy() - tmp44 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (2, 0, 1, 3), optimize=True) * -1 - t2new.aaaa += einsum(v.aaaa.oooo, (0, 1, 2, 3), tmp44, (1, 3, 4, 5), (0, 2, 5, 4), optimize=True) * -1 - del tmp44 - tmp106 = einsum(t1.aa, (0, 1), tmp105, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) - del tmp105 - t2new.aaaa += tmp106.transpose((1, 0, 2, 3)) - t2new.aaaa += tmp106 * -1 - t2new.aaaa += tmp106.transpose((1, 0, 3, 2)) * -1 - t2new.aaaa += tmp106.transpose((0, 1, 3, 2)) - del tmp106 - tmp104 = einsum(t2.aaaa, (0, 1, 2, 3), tmp103, (4, 5, 0, 1), (5, 4, 2, 3), optimize=True) * -1 - del tmp103 - t2new.aaaa += tmp104.transpose((0, 1, 3, 2)) * -1 - t2new.aaaa += tmp104.transpose((0, 1, 3, 2)) * -1 - del tmp104 - tmp62 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 5, 1, 3), (0, 4, 2, 5), optimize=True) - t2new.aaaa += tmp62 * 2 - t2new.aaaa += tmp62.transpose((0, 1, 3, 2)) * -2 - t2new.aaaa += tmp62.transpose((1, 0, 2, 3)) * -2 - t2new.aaaa += tmp62.transpose((1, 0, 3, 2)) * 2 - del tmp62 - tmp78 = einsum(t1.aa, (0, 1), tmp73, (2, 0, 3, 4), (2, 3, 1, 4), optimize=True) - del tmp73 - t2new.aaaa += tmp78.transpose((0, 1, 3, 2)) - t2new.aaaa += tmp78 * -1 - del tmp78 - tmp110 = einsum(tmp109, (0, 1, 2, 3), t1.aa, (4, 2), (4, 0, 1, 3), optimize=True) - del tmp109 - t2new.aaaa += tmp110.transpose((0, 1, 3, 2)) * -1 - t2new.aaaa += tmp110 - del tmp110 - tmp77 = einsum(t2.aaaa, (0, 1, 2, 3), tmp76, (4, 1), (0, 4, 2, 3), optimize=True) * -2 - del tmp76 - t2new.aaaa += tmp77.transpose((1, 0, 3, 2)) - t2new.aaaa += tmp77.transpose((0, 1, 3, 2)) * -1 - del tmp77 - tmp47 = einsum(tmp46, (0, 1, 2, 3), t2.aaaa, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) - del tmp46 - t2new.aaaa += tmp47.transpose((1, 0, 2, 3)) * -2 - t2new.aaaa += tmp47.transpose((0, 1, 3, 2)) * -2 - t2new.aaaa += tmp47.transpose((1, 0, 3, 2)) * 2 - t2new.aaaa += tmp47 * 2 - del tmp47 - tmp75 = einsum(t1.aa, (0, 1), tmp74, (2, 0, 3, 4), (2, 3, 1, 4), optimize=True) - del tmp74 - t2new.aaaa += tmp75.transpose((1, 0, 3, 2)) - t2new.aaaa += tmp75.transpose((1, 0, 2, 3)) * -1 - del tmp75 - tmp45 = einsum(t1.aa, (0, 1), v.aaaa.ooov, (2, 0, 3, 4), (2, 3, 1, 4), optimize=True) - t2new.aaaa += tmp45 * -1 - t2new.aaaa += tmp45.transpose((1, 0, 2, 3)) - t2new.aaaa += tmp45.transpose((0, 1, 3, 2)) - del tmp45 - tmp71 = einsum(t2.aaaa, (0, 1, 2, 3), tmp70, (4, 5, 1, 0), (4, 5, 2, 3), optimize=True) * -1 - del tmp70 - t2new.aaaa += tmp71.transpose((0, 1, 3, 2)) * 2 - t2new.aaaa += tmp71.transpose((1, 0, 3, 2)) * -2 - del tmp71 - tmp69 = f.aa.vv.copy() * -1 - tmp69 += tmp63.transpose((1, 0)) * -1 - del tmp63 - tmp69 += einsum(tmp68, (0, 1, 2, 3), t1.aa, (0, 2), (1, 3), optimize=True) * -1 - del tmp68 - tmp69 += einsum(tmp9, (0, 1), t1.aa, (0, 2), (1, 2), optimize=True) - del tmp9 - t2new.aaaa += einsum(tmp69, (0, 1), t2.aaaa, (2, 3, 4, 0), (2, 3, 4, 1), optimize=True) * -2 - del tmp69 - tmp102 = tmp3.copy() - tmp102 += tmp101.transpose((0, 2, 1, 3)) * -1 - del tmp101 - t2new.aaaa += einsum(t1.aa, (0, 1), tmp102, (2, 3, 0, 4), (2, 3, 4, 1), optimize=True) - del tmp102 - tmp114 = v.aaaa.vvvv.copy() - tmp114 += einsum(t1.aa, (0, 1), tmp113, (0, 2, 3, 4), (2, 4, 3, 1), optimize=True) - del tmp113 - t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp114, (2, 4, 3, 5), (0, 1, 4, 5), optimize=True) * 2 - del tmp114 - tmp31 = v.bbbb.ovov.transpose((0, 2, 1, 3)).copy() - tmp31 += v.bbbb.oovv * -1 - t1new.bb += einsum(t1.bb, (0, 1), tmp31, (0, 2, 1, 3), (2, 3), optimize=True) - del tmp31 - tmp42 = f.bb.vv.copy() - tmp42 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), t1.bb, (0, 3), (1, 2), optimize=True) * -1 - t1new.bb += einsum(t1.bb, (0, 1), tmp42, (1, 2), (0, 2), optimize=True) - del tmp42 - tmp41 = f.bb.oo.copy() - tmp41 += tmp32.transpose((1, 0)) - del tmp32 - tmp41 += tmp33.transpose((1, 0)) - del tmp33 - tmp41 += tmp34.transpose((1, 0)) * 2 - del tmp34 - tmp41 += tmp36.transpose((1, 0)) * -1 - del tmp36 - tmp41 += tmp40.transpose((1, 0)) - del tmp40 - t1new.bb += einsum(t1.bb, (0, 1), tmp41, (0, 2), (2, 1), optimize=True) * -1 - del tmp41 - tmp27 = v.aabb.ovoo.transpose((0, 2, 3, 1)).copy() - tmp27 += tmp26.transpose((0, 2, 1, 3)) - del tmp26 - t1new.bb += einsum(tmp27, (0, 1, 2, 3), t2.abab, (0, 1, 3, 4), (2, 4), optimize=True) * -1 - del tmp27 - tmp30 = t2.bbbb.copy() * 2 - tmp30 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (2, 0, 3, 1), optimize=True) - t1new.bb += einsum(v.bbbb.ovvv, (0, 1, 2, 3), tmp30, (0, 4, 1, 3), (4, 2), optimize=True) - del tmp30 - tmp29 = v.bbbb.ooov.transpose((0, 2, 1, 3)).copy() - tmp29 += tmp28 - del tmp28 - t1new.bb += einsum(t2.bbbb, (0, 1, 2, 3), tmp29, (4, 0, 1, 3), (4, 2), optimize=True) * 2 - del tmp29 - tmp4 = v.aaaa.ooov.transpose((0, 2, 1, 3)).copy() - tmp4 += tmp3 - del tmp3 - t1new.aa += einsum(t2.aaaa, (0, 1, 2, 3), tmp4, (4, 0, 1, 3), (4, 2), optimize=True) * 2 - del tmp4 - tmp25 = f.aa.vv.copy() - tmp25 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), t1.aa, (0, 1), (2, 3), optimize=True) - t1new.aa += einsum(tmp25, (0, 1), t1.aa, (2, 0), (2, 1), optimize=True) - del tmp25 - tmp14 = v.aaaa.ovov.transpose((0, 2, 1, 3)).copy() - tmp14 += v.aaaa.oovv * -1 - t1new.aa += einsum(tmp14, (0, 1, 2, 3), t1.aa, (0, 2), (1, 3), optimize=True) - del tmp14 - tmp5 = t2.aaaa.copy() * 2 - tmp5 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 1, 3), optimize=True) - t1new.aa += einsum(v.aaaa.ovvv, (0, 1, 2, 3), tmp5, (0, 4, 3, 1), (4, 2), optimize=True) * -1 - del tmp5 - tmp2 = v.aabb.ooov.copy() - tmp2 += tmp1.transpose((1, 0, 2, 3)) - del tmp1 - t1new.aa += einsum(tmp2, (0, 1, 2, 3), t2.abab, (0, 2, 4, 3), (1, 4), optimize=True) * -1 - del tmp2 - tmp24 = f.aa.oo.copy() - tmp24 += tmp15.transpose((1, 0)) - del tmp15 - tmp24 += tmp16.transpose((1, 0)) * 2 - del tmp16 - tmp24 += tmp17.transpose((1, 0)) - del tmp17 - tmp24 += tmp19.transpose((1, 0)) * -1 - del tmp19 - tmp24 += tmp23.transpose((1, 0)) - del tmp23 - t1new.aa += einsum(t1.aa, (0, 1), tmp24, (0, 2), (2, 1), optimize=True) * -1 - del tmp24 - t1new.aa += f.aa.ov - t1new.bb += f.bb.ov - t2new.aaaa += v.aaaa.ovov.transpose((0, 2, 1, 3)) - t2new.aaaa += v.aaaa.ovov.transpose((0, 2, 3, 1)) * -1 - t2new.abab += einsum(v.aabb.oooo, (0, 1, 2, 3), t2.abab, (1, 3, 4, 5), (0, 2, 4, 5), optimize=True) * 0.5 - t2new.abab += einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.abab, (2, 4, 3, 5), (0, 4, 1, 5), optimize=True) - t2new.abab += v.aabb.ovov.transpose((0, 2, 1, 3)) - t2new.bbbb += v.bbbb.ovov.transpose((0, 2, 1, 3)) - t2new.bbbb += v.bbbb.ovov.transpose((0, 2, 3, 1)) * -1 - - return {f"t1new": t1new, f"t2new": t2new} - -def update_lams(f=None, l1=None, l2=None, t1=None, t2=None, v=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-07-22T17:00:45.872251. - - Parameters - ---------- - f : Namespace of arrays - Fock matrix. - l1 : Namespace of arrays - L1 amplitudes. - l2 : Namespace of arrays - L2 amplitudes. - t1 : Namespace of arrays - T1 amplitudes. - t2 : Namespace of arrays - T2 amplitudes. - v : Namespace of arrays - Electron repulsion integrals. - - Returns - ------- - l1new : Namespace of arrays - Updated L1 residuals. - l2new : Namespace of arrays - Updated L2 residuals. - """ - - l1new = Namespace() - l2new = Namespace() - tmp97 = v.bbbb.ovov.transpose((0, 2, 3, 1)).copy() * -1 - tmp97 += v.bbbb.ovov.transpose((0, 2, 1, 3)) - tmp12 = v.aaaa.ovov.transpose((0, 2, 3, 1)).copy() * -1 - tmp12 += v.aaaa.ovov.transpose((0, 2, 1, 3)) - tmp98 = einsum(t1.bb, (0, 1), tmp97, (0, 2, 3, 1), (2, 3), optimize=True) - tmp96 = einsum(t1.aa, (0, 1), v.aabb.ovov, (0, 1, 2, 3), (2, 3), optimize=True) - tmp11 = einsum(v.aabb.ovov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1), optimize=True) - tmp13 = einsum(tmp12, (0, 1, 2, 3), t1.aa, (0, 3), (1, 2), optimize=True) - tmp7 = einsum(v.aabb.ovov, (0, 1, 2, 3), t1.bb, (4, 3), (0, 4, 2, 1), optimize=True) - tmp202 = v.bbbb.ovvv.copy() - tmp202 += v.bbbb.ovvv.transpose((0, 2, 1, 3)) * -1 - tmp140 = v.bbbb.ooov.copy() - tmp140 += v.bbbb.ovoo.transpose((0, 2, 3, 1)) * -1 - tmp99 = f.bb.ov.copy() - tmp99 += tmp96 - tmp99 += tmp98 * -1 - del tmp98 - tmp128 = v.bbbb.ovvv.copy() - tmp128 += v.bbbb.ovvv.transpose((0, 2, 3, 1)) * -1 - tmp73 = einsum(l2.bbbb, (0, 1, 2, 3), t1.bb, (4, 1), (2, 3, 4, 0), optimize=True) - l2new.bbbb = einsum(tmp73, (0, 1, 2, 3), tmp99, (2, 4), (3, 4, 1, 0), optimize=True) * 2 - l2new.abab = einsum(tmp7, (0, 1, 2, 3), tmp73, (4, 1, 2, 5), (3, 5, 0, 4), optimize=True) * -2 - l2new.abab += einsum(tmp73, (0, 1, 2, 3), v.aabb.ovoo, (4, 5, 2, 1), (5, 3, 4, 0), optimize=True) * -2 - l1new.bb = einsum(v.bbbb.oovv, (0, 1, 2, 3), tmp73, (4, 1, 0, 3), (2, 4), optimize=True) * -2 - tmp4 = einsum(t1.bb, (0, 1), l2.abab, (2, 1, 3, 4), (3, 4, 0, 2), optimize=True) - l2new.abab += einsum(v.aabb.vvov, (0, 1, 2, 3), tmp4, (4, 5, 2, 1), (0, 3, 4, 5), optimize=True) * -1 - l1new.aa = einsum(v.aabb.vvoo, (0, 1, 2, 3), tmp4, (4, 3, 2, 1), (0, 4), optimize=True) * -1 - tmp32 = v.aaaa.ovvv.copy() - tmp32 += v.aaaa.ovvv.transpose((0, 2, 1, 3)) * -1 - tmp89 = v.aaaa.ooov.copy() * -1 - tmp89 += v.aaaa.ovoo.transpose((0, 2, 3, 1)) - tmp14 = f.aa.ov.copy() - tmp14 += tmp11 - tmp14 += tmp13 * -1 - del tmp13 - tmp55 = v.aaaa.ovvv.copy() * -1 - tmp55 += v.aaaa.ovvv.transpose((0, 2, 1, 3)) - tmp2 = einsum(t1.aa, (0, 1), l2.aaaa, (2, 1, 3, 4), (3, 4, 0, 2), optimize=True) - l2new.abab += einsum(v.aabb.ooov, (0, 1, 2, 3), tmp2, (4, 1, 0, 5), (5, 3, 4, 2), optimize=True) * -2 - l2new.aaaa = einsum(tmp2, (0, 1, 2, 3), tmp14, (2, 4), (3, 4, 1, 0), optimize=True) * 2 - l1new.aa += einsum(v.aaaa.oovv, (0, 1, 2, 3), tmp2, (4, 1, 0, 3), (2, 4), optimize=True) * -2 - tmp77 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (2, 3, 4, 1), (4, 0), optimize=True) - tmp76 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 1), (3, 4), optimize=True) - tmp75 = einsum(l1.bb, (0, 1), t1.bb, (2, 0), (1, 2), optimize=True) - tmp60 = einsum(t1.aa, (0, 1), l1.aa, (1, 2), (2, 0), optimize=True) - tmp61 = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (2, 3, 4, 1), (4, 0), optimize=True) - tmp62 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 3, 4, 1), (4, 0), optimize=True) - tmp94 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t1.bb, (4, 3), (4, 0, 2, 1), optimize=True) - tmp19 = v.aabb.ovoo.transpose((0, 2, 3, 1)).copy() - tmp19 += tmp7 - l2new.abab += einsum(tmp19, (0, 1, 2, 3), l1.bb, (4, 1), (3, 4, 0, 2), optimize=True) * -1 - tmp5 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 2, 1), optimize=True) - tmp68 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (4, 3, 0, 1), (4, 2), optimize=True) - tmp67 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 4, 0, 1), (4, 3), optimize=True) - tmp239 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 5, 3), (4, 0, 5, 1), optimize=True) - tmp206 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 1), (4, 2, 5, 3), optimize=True) - tmp205 = einsum(v.aabb.vvov, (0, 1, 2, 3), t1.aa, (4, 1), (4, 2, 0, 3), optimize=True) - tmp112 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 4, 0, 5), (5, 1, 4, 3), optimize=True) - tmp113 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (4, 3, 5, 1), (5, 0, 4, 2), optimize=True) - tmp203 = einsum(tmp202, (0, 1, 2, 3), t1.bb, (4, 1), (0, 4, 2, 3), optimize=True) - del tmp202 - tmp237 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (4, 2, 5, 3), (4, 0, 5, 1), optimize=True) - tmp200 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 5), (1, 4, 3, 5), optimize=True) - tmp207 = v.bbbb.ovov.transpose((0, 2, 3, 1)).copy() * -1 - tmp207 += v.bbbb.ovov.transpose((0, 2, 1, 3)) - tmp137 = einsum(t1.aa, (0, 1), v.aabb.ovoo, (0, 1, 2, 3), (2, 3), optimize=True) - tmp139 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 3, 1, 2), (0, 4), optimize=True) * -1 - tmp141 = einsum(t1.bb, (0, 1), tmp140, (0, 2, 3, 1), (2, 3), optimize=True) - del tmp140 - tmp142 = einsum(tmp99, (0, 1), t1.bb, (2, 1), (2, 0), optimize=True) - tmp138 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 3), (1, 4), optimize=True) - tmp255 = einsum(tmp128, (0, 1, 2, 3), t1.bb, (0, 1), (2, 3), optimize=True) - tmp218 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (0, 2, 4, 3), (4, 1), optimize=True) - tmp217 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 1, 4), (3, 4), optimize=True) - tmp133 = einsum(t1.aa, (0, 1), v.aabb.ovvv, (0, 1, 2, 3), (2, 3), optimize=True) - tmp124 = einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 5, 0, 1), (2, 3, 4, 5), optimize=True) - tmp122 = einsum(tmp73, (0, 1, 2, 3), t1.bb, (4, 3), (1, 0, 2, 4), optimize=True) - tmp184 = v.aaaa.ovov.transpose((0, 2, 3, 1)).copy() * -1 - tmp184 += v.aaaa.ovov.transpose((0, 2, 1, 3)) - tmp38 = einsum(t1.aa, (0, 1), tmp4, (2, 3, 4, 1), (2, 0, 3, 4), optimize=True) - tmp37 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 5, 0, 1), (2, 4, 3, 5), optimize=True) - tmp53 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (4, 3, 0, 1), (4, 2), optimize=True) - tmp52 = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (4, 3, 0, 1), (4, 2), optimize=True) - tmp157 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 5, 1, 3), (0, 4, 2, 5), optimize=True) - tmp169 = einsum(t1.aa, (0, 1), tmp32, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) - tmp158 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (0, 4, 2, 5), optimize=True) - tmp88 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 1, 3), (0, 4), optimize=True) - tmp87 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.aaaa, (4, 2, 1, 3), (4, 0), optimize=True) - tmp90 = einsum(t1.aa, (0, 1), tmp89, (2, 3, 0, 1), (2, 3), optimize=True) - tmp91 = einsum(t1.aa, (0, 1), tmp14, (2, 1), (0, 2), optimize=True) - tmp86 = einsum(v.aabb.ooov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1), optimize=True) - tmp181 = einsum(tmp55, (0, 1, 2, 3), t1.aa, (0, 2), (1, 3), optimize=True) - tmp180 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 4, 1, 3), (2, 4), optimize=True) - tmp179 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (0, 4, 1, 3), (2, 4), optimize=True) - tmp83 = einsum(v.aabb.vvov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1), optimize=True) - tmp33 = einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 3, 5, 1), (2, 4, 0, 5), optimize=True) - tmp34 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (4, 3, 5, 1), (5, 0, 4, 2), optimize=True) - tmp162 = einsum(t2.bbbb, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (4, 0, 5, 2), optimize=True) - tmp161 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.abab, (2, 4, 3, 5), (0, 4, 1, 5), optimize=True) - tmp15 = einsum(t1.bb, (0, 1), v.aabb.ovvv, (2, 3, 4, 1), (2, 0, 3, 4), optimize=True) - tmp47 = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (2, 3, 4, 5), (4, 5, 0, 1), optimize=True) - tmp44 = einsum(tmp2, (0, 1, 2, 3), t1.aa, (4, 3), (1, 0, 2, 4), optimize=True) - tmp78 = tmp75.copy() - tmp78 += tmp76 - tmp78 += tmp77 * 2 - l2new.abab += einsum(tmp78, (0, 1), v.aabb.ovov, (2, 3, 1, 4), (3, 4, 2, 0), optimize=True) * -1 - l1new.aa += einsum(tmp78, (0, 1), v.aabb.ovoo, (2, 3, 1, 0), (3, 2), optimize=True) * -1 - tmp63 = tmp60.copy() * 0.5 - tmp63 += tmp61 - tmp63 += tmp62 * 0.5 - l1new.bb += einsum(tmp63, (0, 1), v.aabb.ooov, (1, 0, 2, 3), (3, 2), optimize=True) * -2 - tmp36 = einsum(t1.aa, (0, 1), l2.abab, (1, 2, 3, 4), (3, 0, 4, 2), optimize=True) - l2new.abab += einsum(tmp36, (0, 1, 2, 3), v.aabb.ovvv, (1, 4, 5, 3), (4, 5, 0, 2), optimize=True) * -1 - l1new.bb += einsum(tmp36, (0, 1, 2, 3), v.aabb.oovv, (1, 0, 4, 3), (4, 2), optimize=True) * -1 - tmp107 = einsum(v.bbbb.ooov, (0, 1, 2, 3), t1.bb, (4, 3), (4, 0, 1, 2), optimize=True) - tmp106 = einsum(tmp94, (0, 1, 2, 3), t1.bb, (4, 3), (4, 0, 1, 2), optimize=True) - tmp105 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 2, 5, 3), (0, 1, 4, 5), optimize=True) - tmp100 = einsum(v.aabb.vvov, (0, 1, 2, 3), t1.bb, (4, 3), (4, 2, 0, 1), optimize=True) - tmp9 = einsum(t1.aa, (0, 1), v.aabb.ovov, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) - l2new.abab += einsum(tmp2, (0, 1, 2, 3), tmp9, (1, 2, 4, 5), (3, 5, 0, 4), optimize=True) * -2 - tmp17 = einsum(v.aabb.ooov, (0, 1, 2, 3), t1.bb, (4, 3), (0, 1, 4, 2), optimize=True) - tmp20 = einsum(t1.aa, (0, 1), tmp19, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) - tmp18 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 5, 3), (0, 4, 1, 5), optimize=True) - tmp3 = einsum(v.aaaa.ovvv, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 1, 2), optimize=True) - l1new.aa += einsum(tmp3, (0, 1, 2, 3), tmp2, (4, 0, 1, 3), (2, 4), optimize=True) * 2 - tmp28 = einsum(t1.aa, (0, 1), v.aaaa.ooov, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) - tmp26 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 3, 5, 2), (0, 1, 4, 5), optimize=True) * -1 - tmp27 = einsum(t1.aa, (0, 1), tmp5, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) - tmp244 = einsum(t1.bb, (0, 1), v.bbbb.ovov, (2, 3, 0, 1), (2, 3), optimize=True) - tmp191 = tmp67.copy() * 0.5 - tmp191 += tmp68 - l2new.abab += einsum(tmp191, (0, 1), v.aabb.ovov, (2, 3, 4, 1), (3, 0, 2, 4), optimize=True) * -2 - tmp248 = v.aabb.ovov.transpose((0, 2, 1, 3)).copy() - tmp248 += tmp205 - tmp248 += tmp206 * 2 - tmp248 += tmp239 - tmp114 = tmp112.copy() - del tmp112 - tmp114 += tmp113 * 4 - del tmp113 - tmp219 = v.bbbb.ovvv.copy() - tmp219 += v.bbbb.ovvv.transpose((0, 2, 1, 3)) * -1 - tmp246 = v.bbbb.ovov.transpose((0, 2, 1, 3)).copy() - tmp246 += v.bbbb.oovv * -1 - tmp246 += tmp200 - tmp246 += tmp237 * 2 - tmp246 += tmp203.transpose((1, 0, 3, 2)) * -1 - tmp227 = v.bbbb.ooov.transpose((0, 2, 1, 3)).copy() - tmp227 += tmp94 - tmp211 = einsum(t1.bb, (0, 1), tmp207, (0, 2, 3, 1), (2, 3), optimize=True) - tmp143 = f.bb.oo.copy() - tmp143 += tmp137.transpose((1, 0)) - del tmp137 - tmp143 += tmp138 - del tmp138 - tmp143 += tmp139 * 2 - del tmp139 - tmp143 += tmp141 * -1 - del tmp141 - tmp143 += tmp142 - del tmp142 - l2new.abab += einsum(tmp143, (0, 1), l2.abab, (2, 3, 4, 0), (2, 3, 4, 1), optimize=True) * -1 - l1new.bb += einsum(tmp143, (0, 1), l1.bb, (2, 0), (2, 1), optimize=True) * -1 - tmp256 = f.bb.vv.copy() * -1 - tmp256 += tmp133.transpose((1, 0)) * -1 - tmp256 += tmp217.transpose((1, 0)) - tmp256 += tmp218.transpose((1, 0)) * 2 - tmp256 += tmp255.transpose((1, 0)) * -1 - del tmp255 - tmp253 = tmp124.transpose((1, 0, 3, 2)).copy() - tmp253 += tmp122.transpose((0, 1, 3, 2)) * -1 - tmp185 = einsum(tmp184, (0, 1, 2, 3), t1.aa, (0, 3), (1, 2), optimize=True) - tmp159 = v.aaaa.ovvv.copy() - tmp159 += v.aaaa.ovvv.transpose((0, 2, 1, 3)) * -1 - tmp201 = v.bbbb.ovov.transpose((0, 2, 3, 1)).copy() - tmp201 += v.bbbb.ovov.transpose((0, 2, 1, 3)) * -1 - tmp39 = tmp37.copy() - tmp39 += tmp38 - tmp8 = v.aabb.ovoo.transpose((0, 2, 3, 1)).copy() - tmp8 += tmp7.transpose((0, 2, 1, 3)) - tmp194 = v.aaaa.ovov.transpose((0, 2, 3, 1)).copy() - tmp194 += v.aaaa.ovov.transpose((0, 2, 1, 3)) * -1 - tmp144 = tmp52.copy() - tmp144 += tmp53 * 0.5 - l2new.abab += einsum(tmp144, (0, 1), v.aabb.ovov, (2, 1, 3, 4), (0, 4, 2, 3), optimize=True) * -2 - tmp170 = v.aaaa.ovov.transpose((0, 2, 1, 3)).copy() - tmp170 += v.aaaa.oovv * -1 - tmp170 += tmp157 * 2 - tmp170 += tmp158 - tmp170 += tmp169.transpose((0, 1, 3, 2)) * -1 - tmp92 = f.aa.oo.copy() - tmp92 += tmp86.transpose((1, 0)) - tmp92 += tmp87 * 2 - tmp92 += tmp88 - tmp92 += tmp90.transpose((1, 0)) * -1 - del tmp90 - tmp92 += tmp91 - del tmp91 - l1new.aa += einsum(l1.aa, (0, 1), tmp92, (1, 2), (0, 2), optimize=True) * -1 - tmp167 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t1.aa, (2, 3), (0, 1), optimize=True) - tmp85 = tmp60.copy() - del tmp60 - tmp85 += tmp61 * 2 - del tmp61 - tmp85 += tmp62 - del tmp62 - l2new.abab += einsum(v.aabb.ovov, (0, 1, 2, 3), tmp85, (4, 0), (1, 3, 4, 2), optimize=True) * -1 - l1new.aa += einsum(tmp14, (0, 1), tmp85, (2, 0), (1, 2), optimize=True) * -1 - tmp182 = f.aa.vv.copy() * -1 - tmp182 += tmp83.transpose((1, 0)) * -1 - tmp182 += tmp179.transpose((1, 0)) * 2 - tmp182 += tmp180.transpose((1, 0)) - tmp182 += tmp181 * -1 - del tmp181 - tmp35 = tmp33.copy() * 4 - del tmp33 - tmp35 += tmp34 - del tmp34 - l1new.aa += einsum(tmp32, (0, 1, 2, 3), tmp35, (4, 0, 3, 2), (1, 4), optimize=True) * -1 - del tmp32 - tmp172 = v.aabb.ovov.transpose((0, 2, 1, 3)).copy() - tmp172 += tmp15 - tmp172 += tmp161 - tmp172 += tmp162 * 2 - tmp177 = tmp47.transpose((1, 0, 3, 2)).copy() - tmp177 += tmp44.transpose((0, 1, 3, 2)) * -1 - tmp147 = v.aaaa.ooov.transpose((0, 2, 1, 3)).copy() - tmp147 += tmp5 - tmp71 = einsum(t2.bbbb, (0, 1, 2, 3), l1.bb, (3, 1), (0, 2), optimize=True) - tmp70 = einsum(t2.abab, (0, 1, 2, 3), l1.aa, (2, 0), (1, 3), optimize=True) - tmp79 = einsum(t1.bb, (0, 1), tmp78, (0, 2), (2, 1), optimize=True) - tmp72 = einsum(tmp4, (0, 1, 2, 3), t2.abab, (0, 1, 3, 4), (2, 4), optimize=True) - tmp74 = einsum(t2.bbbb, (0, 1, 2, 3), tmp73, (1, 0, 4, 3), (4, 2), optimize=True) - tmp64 = einsum(t1.aa, (0, 1), tmp63, (0, 2), (2, 1), optimize=True) * 2 - tmp59 = einsum(t2.abab, (0, 1, 2, 3), tmp36, (0, 4, 1, 3), (4, 2), optimize=True) - tmp56 = einsum(l1.aa, (0, 1), t2.aaaa, (2, 1, 3, 0), (2, 3), optimize=True) - tmp58 = einsum(tmp2, (0, 1, 2, 3), t2.aaaa, (1, 0, 4, 3), (2, 4), optimize=True) - tmp57 = einsum(l1.bb, (0, 1), t2.abab, (2, 1, 3, 0), (2, 3), optimize=True) - tmp104 = v.bbbb.ovov.transpose((0, 2, 1, 3)).copy() - tmp104 += v.bbbb.oovv * -1 - tmp104 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), t1.bb, (4, 3), (4, 0, 2, 1), optimize=True) - tmp108 = v.bbbb.oooo.copy() - tmp108 += tmp105.transpose((3, 1, 2, 0)) - tmp108 += tmp106.transpose((3, 1, 2, 0)) - tmp108 += tmp107.transpose((2, 1, 3, 0)) - tmp108 += tmp107.transpose((3, 2, 1, 0)) * -1 - tmp103 = v.bbbb.ooov.copy() - tmp103 += v.bbbb.ooov.transpose((0, 2, 1, 3)) * -1 - tmp103 += tmp94 * -1 - tmp103 += tmp94.transpose((0, 2, 1, 3)) - tmp134 = v.bbbb.ovvv.copy() * -1 - tmp134 += v.bbbb.ovvv.transpose((0, 2, 1, 3)) - tmp51 = einsum(t1.aa, (0, 1), l1.aa, (2, 0), (2, 1), optimize=True) - tmp120 = einsum(t2.abab, (0, 1, 2, 3), tmp4, (0, 4, 5, 2), (4, 5, 1, 3), optimize=True) - tmp121 = einsum(t2.bbbb, (0, 1, 2, 3), tmp73, (4, 1, 5, 3), (4, 5, 0, 2), optimize=True) * -1 - tmp66 = einsum(l1.bb, (0, 1), t1.bb, (1, 2), (0, 2), optimize=True) - tmp95 = v.bbbb.ooov.copy() * -1 - tmp95 += v.bbbb.ovoo.transpose((0, 2, 3, 1)) - tmp95 += tmp94.transpose((1, 0, 2, 3)) - tmp95 += tmp94.transpose((2, 0, 1, 3)) * -1 - tmp101 = v.aabb.vvoo.transpose((2, 3, 0, 1)).copy() - tmp101 += tmp100.transpose((1, 0, 3, 2)) - tmp10 = v.aabb.ooov.copy() - tmp10 += tmp9.transpose((1, 0, 2, 3)) - tmp21 = v.aabb.oooo.copy() - tmp21 += tmp17.transpose((1, 0, 3, 2)) - tmp21 += tmp18.transpose((1, 0, 3, 2)) - tmp21 += tmp20.transpose((1, 0, 3, 2)) - del tmp20 - tmp6 = v.aaaa.ooov.copy() - tmp6 += v.aaaa.ovoo.transpose((0, 2, 3, 1)) * -1 - tmp6 += tmp5.transpose((1, 0, 2, 3)) * -1 - tmp6 += tmp5.transpose((2, 0, 1, 3)) - tmp16 = v.aabb.ovov.transpose((0, 2, 1, 3)).copy() - tmp16 += tmp15 - tmp43 = einsum(tmp2, (0, 1, 2, 3), t2.aaaa, (4, 1, 5, 3), (0, 2, 4, 5), optimize=True) * -1 - tmp45 = einsum(t2.abab, (0, 1, 2, 3), tmp36, (4, 5, 1, 3), (4, 5, 0, 2), optimize=True) - tmp25 = v.aaaa.ovov.transpose((0, 2, 1, 3)).copy() - tmp25 += v.aaaa.oovv * -1 - tmp25 += tmp3.transpose((0, 1, 3, 2)) - del tmp3 - tmp23 = v.aaaa.ooov.copy() * -1 - tmp23 += v.aaaa.ooov.transpose((0, 2, 1, 3)) - tmp23 += tmp5 - tmp23 += tmp5.transpose((0, 2, 1, 3)) * -1 - tmp29 = v.aaaa.oooo.copy() - tmp29 += tmp26.transpose((3, 1, 2, 0)) - tmp29 += tmp27.transpose((3, 1, 2, 0)) - tmp29 += tmp28.transpose((2, 1, 3, 0)) - tmp29 += tmp28.transpose((3, 2, 1, 0)) * -1 - tmp24 = v.aabb.ooov.copy() - tmp24 += tmp9 - tmp236 = einsum(t1.bb, (0, 1), v.bbbb.ovov, (2, 1, 0, 3), (2, 3), optimize=True) - l2new.bbbb += einsum(tmp236, (0, 1), l1.bb, (2, 3), (1, 2, 0, 3), optimize=True) * -1 - l2new.bbbb += einsum(l1.bb, (0, 1), tmp236, (2, 3), (3, 0, 1, 2), optimize=True) - l2new.bbbb += einsum(tmp236, (0, 1), l1.bb, (2, 3), (2, 1, 0, 3), optimize=True) - l2new.bbbb += einsum(l1.bb, (0, 1), tmp236, (2, 3), (0, 3, 1, 2), optimize=True) * -1 - del tmp236 - tmp250 = f.bb.ov.copy() - tmp250 += tmp96 - tmp250 += tmp244 - l2new.bbbb += einsum(l1.bb, (0, 1), tmp250, (2, 3), (0, 3, 2, 1), optimize=True) * -1 - l2new.bbbb += einsum(l1.bb, (0, 1), tmp250, (2, 3), (0, 3, 1, 2), optimize=True) - l2new.bbbb += einsum(tmp250, (0, 1), l1.bb, (2, 3), (1, 2, 0, 3), optimize=True) - del tmp250 - tmp235 = einsum(l1.bb, (0, 1), v.bbbb.ovvv, (2, 3, 4, 0), (1, 2, 3, 4), optimize=True) - l2new.bbbb += tmp235.transpose((3, 2, 1, 0)) * -1 - l2new.bbbb += tmp235.transpose((3, 2, 0, 1)) - l2new.bbbb += tmp235.transpose((2, 3, 1, 0)) - l2new.bbbb += tmp235.transpose((2, 3, 0, 1)) * -1 - del tmp235 - tmp225 = einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp191, (4, 1), (0, 2, 4, 3), optimize=True) * 2 - l2new.bbbb += tmp225.transpose((2, 3, 1, 0)) - l2new.bbbb += tmp225.transpose((3, 2, 1, 0)) * -1 - del tmp225 - tmp249 = einsum(l2.abab, (0, 1, 2, 3), tmp248, (2, 4, 0, 5), (4, 3, 5, 1), optimize=True) - del tmp248 - l2new.bbbb += tmp249.transpose((3, 2, 0, 1)) * -1 - l2new.bbbb += tmp249.transpose((3, 2, 1, 0)) - l2new.bbbb += tmp249.transpose((2, 3, 0, 1)) - del tmp249 - tmp240 = v.aabb.ovov.transpose((0, 2, 1, 3)).copy() - tmp240 += tmp205 - tmp240 += tmp206 * 2 - tmp240 += tmp239 - del tmp239 - l2new.bbbb += einsum(l2.abab, (0, 1, 2, 3), tmp240, (2, 4, 0, 5), (5, 1, 3, 4), optimize=True) * -1 - del tmp240 - tmp261 = v.bbbb.ooov.copy() - tmp261 += tmp94.transpose((0, 2, 1, 3)) - l2new.bbbb += einsum(tmp261, (0, 1, 2, 3), l1.bb, (4, 0), (3, 4, 1, 2), optimize=True) - del tmp261 - tmp259 = v.bbbb.oooo.copy() * -1 - tmp259 += tmp105.transpose((1, 3, 0, 2)) * -1 - del tmp105 - tmp259 += tmp106.transpose((0, 3, 1, 2)) - del tmp106 - l2new.bbbb += einsum(tmp259, (0, 1, 2, 3), l2.bbbb, (4, 5, 0, 2), (4, 5, 1, 3), optimize=True) * -2 - del tmp259 - tmp241 = einsum(tmp114, (0, 1, 2, 3), v.bbbb.ovov, (4, 3, 1, 5), (4, 0, 5, 2), optimize=True) - l2new.bbbb += tmp241.transpose((2, 3, 0, 1)) * -1 - l2new.bbbb += tmp241.transpose((2, 3, 1, 0)) - l2new.bbbb += tmp241.transpose((3, 2, 0, 1)) - l2new.bbbb += tmp241.transpose((3, 2, 1, 0)) * -1 - del tmp241 - tmp258 = einsum(tmp107, (0, 1, 2, 3), l2.bbbb, (4, 5, 0, 1), (2, 3, 4, 5), optimize=True) - del tmp107 - l2new.bbbb += tmp258.transpose((2, 3, 1, 0)) * 2 - l2new.bbbb += tmp258.transpose((2, 3, 0, 1)) * -2 - del tmp258 - tmp232 = einsum(tmp94, (0, 1, 2, 3), tmp73, (4, 0, 1, 5), (4, 2, 5, 3), optimize=True) - l2new.bbbb += tmp232.transpose((3, 2, 1, 0)) * 2 - l2new.bbbb += tmp232.transpose((3, 2, 0, 1)) * -2 - l2new.bbbb += tmp232.transpose((2, 3, 1, 0)) * -2 - l2new.bbbb += tmp232.transpose((2, 3, 0, 1)) * 2 - del tmp232 - tmp251 = einsum(l2.bbbb, (0, 1, 2, 3), v.bbbb.vvvv, (4, 1, 5, 0), (2, 3, 4, 5), optimize=True) * -1 - l2new.bbbb += tmp251.transpose((3, 2, 1, 0)) - l2new.bbbb += tmp251.transpose((3, 2, 1, 0)) - del tmp251 - tmp233 = einsum(tmp73, (0, 1, 2, 3), tmp94, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) * -1 - l2new.bbbb += tmp233.transpose((2, 3, 1, 0)) * 2 - l2new.bbbb += tmp233.transpose((2, 3, 0, 1)) * -2 - l2new.bbbb += tmp233.transpose((3, 2, 1, 0)) * -2 - l2new.bbbb += tmp233.transpose((3, 2, 0, 1)) * 2 - del tmp233 - tmp238 = v.bbbb.ovov.transpose((0, 2, 1, 3)).copy() * 0.5 - tmp238 += v.bbbb.oovv * -0.5 - tmp238 += tmp200 * 0.5 - tmp238 += tmp237 - del tmp237 - tmp238 += einsum(tmp219, (0, 1, 2, 3), t1.bb, (4, 1), (4, 0, 3, 2), optimize=True) * -0.5 - l2new.bbbb += einsum(l2.bbbb, (0, 1, 2, 3), tmp238, (3, 4, 1, 5), (5, 0, 2, 4), optimize=True) * -4 - del tmp238 - tmp245 = f.bb.ov.copy() - tmp245 += tmp96 - tmp245 += tmp244 - del tmp244 - l2new.bbbb += einsum(tmp245, (0, 1), l1.bb, (2, 3), (1, 2, 3, 0), optimize=True) * -1 - del tmp245 - tmp234 = einsum(tmp36, (0, 1, 2, 3), v.aabb.ooov, (1, 0, 4, 5), (2, 4, 3, 5), optimize=True) - l2new.bbbb += tmp234.transpose((2, 3, 1, 0)) - l2new.bbbb += tmp234.transpose((2, 3, 0, 1)) * -1 - l2new.bbbb += tmp234.transpose((3, 2, 1, 0)) * -1 - l2new.bbbb += tmp234.transpose((3, 2, 0, 1)) - del tmp234 - tmp247 = einsum(tmp246, (0, 1, 2, 3), l2.bbbb, (4, 2, 5, 0), (1, 5, 3, 4), optimize=True) - del tmp246 - l2new.bbbb += tmp247.transpose((3, 2, 0, 1)) * -2 - l2new.bbbb += tmp247.transpose((3, 2, 1, 0)) * 2 - l2new.bbbb += tmp247.transpose((2, 3, 0, 1)) * 2 - del tmp247 - tmp260 = einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp191, (4, 3), (0, 2, 4, 1), optimize=True) * 2 - del tmp191 - l2new.bbbb += tmp260.transpose((2, 3, 1, 0)) * -1 - l2new.bbbb += tmp260.transpose((3, 2, 1, 0)) - del tmp260 - tmp228 = einsum(tmp227, (0, 1, 2, 3), l1.bb, (4, 0), (1, 2, 3, 4), optimize=True) - del tmp227 - l2new.bbbb += tmp228.transpose((3, 2, 1, 0)) * -1 - l2new.bbbb += tmp228.transpose((3, 2, 0, 1)) - del tmp228 - tmp243 = einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp78, (4, 2), (0, 4, 3, 1), optimize=True) - l2new.bbbb += tmp243.transpose((2, 3, 0, 1)) - l2new.bbbb += tmp243.transpose((2, 3, 1, 0)) * -1 - l2new.bbbb += tmp243.transpose((3, 2, 0, 1)) * -1 - l2new.bbbb += tmp243.transpose((3, 2, 1, 0)) - del tmp243 - tmp212 = f.bb.ov.copy() - tmp212 += tmp96 - del tmp96 - tmp212 += tmp211 * -1 - del tmp211 - l2new.bbbb += einsum(tmp212, (0, 1), tmp73, (2, 3, 0, 4), (1, 4, 3, 2), optimize=True) * -2 - l2new.abab += einsum(tmp4, (0, 1, 2, 3), tmp212, (2, 4), (3, 4, 0, 1), optimize=True) * -1 - l2new.abab += einsum(tmp212, (0, 1), l1.aa, (2, 3), (2, 1, 3, 0), optimize=True) - del tmp212 - tmp230 = einsum(v.bbbb.ooov, (0, 1, 2, 3), tmp73, (1, 4, 2, 5), (4, 0, 5, 3), optimize=True) * -1 - l2new.bbbb += tmp230.transpose((3, 2, 1, 0)) * 2 - l2new.bbbb += tmp230.transpose((3, 2, 0, 1)) * -2 - l2new.bbbb += tmp230.transpose((2, 3, 1, 0)) * -2 - l2new.bbbb += tmp230.transpose((2, 3, 0, 1)) * 2 - del tmp230 - tmp229 = einsum(tmp9, (0, 1, 2, 3), tmp36, (0, 1, 4, 5), (4, 2, 5, 3), optimize=True) - l2new.bbbb += tmp229.transpose((2, 3, 1, 0)) - l2new.bbbb += tmp229.transpose((2, 3, 0, 1)) * -1 - l2new.bbbb += tmp229.transpose((3, 2, 1, 0)) * -1 - l2new.bbbb += tmp229.transpose((3, 2, 0, 1)) - del tmp229 - tmp252 = einsum(tmp73, (0, 1, 2, 3), v.bbbb.ovvv, (2, 4, 5, 3), (1, 0, 4, 5), optimize=True) - l2new.bbbb += tmp252.transpose((3, 2, 1, 0)) * -2 - l2new.bbbb += tmp252.transpose((2, 3, 1, 0)) * 2 - del tmp252 - tmp242 = einsum(l2.bbbb, (0, 1, 2, 3), tmp143, (3, 4), (4, 2, 0, 1), optimize=True) * -2 - del tmp143 - l2new.bbbb += tmp242.transpose((3, 2, 0, 1)) - l2new.bbbb += tmp242.transpose((3, 2, 1, 0)) * -1 - del tmp242 - tmp231 = einsum(v.bbbb.ovoo, (0, 1, 2, 3), tmp73, (3, 4, 2, 5), (4, 0, 5, 1), optimize=True) * -1 - l2new.bbbb += tmp231.transpose((2, 3, 1, 0)) * 2 - l2new.bbbb += tmp231.transpose((2, 3, 0, 1)) * -2 - l2new.bbbb += tmp231.transpose((3, 2, 1, 0)) * -2 - l2new.bbbb += tmp231.transpose((3, 2, 0, 1)) * 2 - del tmp231 - tmp257 = einsum(l2.bbbb, (0, 1, 2, 3), tmp256, (4, 1), (2, 3, 4, 0), optimize=True) * -2 - del tmp256 - l2new.bbbb += tmp257.transpose((3, 2, 1, 0)) * -1 - l2new.bbbb += tmp257.transpose((2, 3, 1, 0)) - del tmp257 - tmp254 = einsum(tmp253, (0, 1, 2, 3), v.bbbb.ovov, (2, 4, 3, 5), (0, 1, 4, 5), optimize=True) - del tmp253 - l2new.bbbb += tmp254.transpose((3, 2, 1, 0)) - l2new.bbbb += tmp254.transpose((3, 2, 1, 0)) - del tmp254 - tmp226 = v.bbbb.ooov.copy() - tmp226 += tmp94.transpose((0, 2, 1, 3)) - l2new.bbbb += einsum(tmp226, (0, 1, 2, 3), l1.bb, (4, 0), (3, 4, 2, 1), optimize=True) * -1 - del tmp226 - tmp186 = f.aa.ov.copy() - tmp186 += tmp11 - tmp186 += tmp185 * -1 - del tmp185 - l2new.abab += einsum(tmp186, (0, 1), tmp36, (2, 0, 3, 4), (1, 4, 2, 3), optimize=True) * -1 - l2new.abab += einsum(l1.bb, (0, 1), tmp186, (2, 3), (3, 0, 2, 1), optimize=True) - l2new.aaaa += einsum(tmp2, (0, 1, 2, 3), tmp186, (2, 4), (4, 3, 1, 0), optimize=True) * -2 - del tmp186 - tmp213 = v.aabb.vvoo.transpose((2, 3, 0, 1)).copy() - tmp213 += tmp100.transpose((0, 1, 3, 2)) - del tmp100 - l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp213, (3, 4, 0, 5), (5, 1, 2, 4), optimize=True) * -1 - del tmp213 - tmp210 = v.bbbb.ooov.copy() - tmp210 += v.bbbb.ooov.transpose((0, 2, 1, 3)) * -1 - l2new.abab += einsum(tmp4, (0, 1, 2, 3), tmp210, (1, 4, 2, 5), (3, 5, 0, 4), optimize=True) - del tmp210 - tmp216 = f.aa.vv.copy() * -1 - tmp216 += tmp83.transpose((1, 0)) * -1 - tmp216 += tmp179 * 2 - del tmp179 - tmp216 += tmp180 - del tmp180 - tmp216 += einsum(tmp159, (0, 1, 2, 3), t1.aa, (0, 1), (3, 2), optimize=True) * -1 - l2new.abab += einsum(tmp216, (0, 1), l2.abab, (0, 2, 3, 4), (1, 2, 3, 4), optimize=True) * -1 - del tmp216 - tmp193 = v.aaaa.ovov.transpose((0, 2, 1, 3)).copy() - tmp193 += v.aaaa.oovv * -1 - tmp193 += tmp158 - tmp193 += einsum(t2.aaaa, (0, 1, 2, 3), tmp184, (1, 4, 5, 3), (0, 4, 2, 5), optimize=True) * -2 - del tmp184 - tmp193 += tmp169.transpose((0, 1, 3, 2)) * -1 - del tmp169 - l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp193, (2, 4, 0, 5), (5, 1, 4, 3), optimize=True) - del tmp193 - tmp220 = f.bb.vv.copy() * -1 - tmp220 += tmp133.transpose((1, 0)) * -1 - tmp220 += tmp217 - del tmp217 - tmp220 += tmp218 * 2 - del tmp218 - tmp220 += einsum(tmp219, (0, 1, 2, 3), t1.bb, (0, 1), (3, 2), optimize=True) * -1 - del tmp219 - l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp220, (1, 4), (0, 4, 2, 3), optimize=True) * -1 - del tmp220 - tmp204 = v.bbbb.ovov.transpose((0, 2, 1, 3)).copy() - tmp204 += v.bbbb.oovv * -1 - tmp204 += tmp200 - del tmp200 - tmp204 += einsum(tmp201, (0, 1, 2, 3), t2.bbbb, (4, 0, 5, 2), (4, 1, 5, 3), optimize=True) * -2 - del tmp201 - tmp204 += tmp203.transpose((1, 0, 3, 2)) * -1 - del tmp203 - l2new.abab += einsum(tmp204, (0, 1, 2, 3), l2.abab, (4, 2, 5, 0), (4, 3, 5, 1), optimize=True) - del tmp204 - tmp215 = einsum(tmp39, (0, 1, 2, 3), v.aabb.ovov, (1, 4, 3, 5), (0, 2, 4, 5), optimize=True) * 0.5 - l2new.abab += tmp215.transpose((2, 3, 0, 1)) - l2new.abab += tmp215.transpose((2, 3, 0, 1)) - del tmp215 - tmp214 = einsum(v.aabb.vvvv, (0, 1, 2, 3), l2.abab, (1, 3, 4, 5), (4, 5, 0, 2), optimize=True) - l2new.abab += tmp214.transpose((2, 3, 0, 1)) * 0.5 - l2new.abab += tmp214.transpose((2, 3, 0, 1)) * 0.5 - del tmp214 - tmp196 = v.aabb.ooov.copy() - tmp196 += tmp9 - del tmp9 - l2new.abab += einsum(l1.aa, (0, 1), tmp196, (1, 2, 3, 4), (0, 4, 2, 3), optimize=True) * -1 - l2new.abab += einsum(tmp4, (0, 1, 2, 3), tmp196, (0, 4, 2, 5), (3, 5, 4, 1), optimize=True) - del tmp196 - tmp197 = v.aaaa.ooov.copy() - tmp197 += v.aaaa.ooov.transpose((0, 2, 1, 3)) * -1 - l2new.abab += einsum(tmp197, (0, 1, 2, 3), tmp36, (0, 1, 4, 5), (3, 5, 2, 4), optimize=True) * -1 - del tmp197 - tmp221 = v.aabb.oooo.copy() - tmp221 += tmp17.transpose((1, 0, 2, 3)) - del tmp17 - tmp221 += tmp18 - del tmp18 - tmp221 += einsum(t1.aa, (0, 1), tmp8, (2, 3, 4, 1), (0, 2, 4, 3), optimize=True) - l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp221, (2, 4, 3, 5), (0, 1, 4, 5), optimize=True) - del tmp221 - tmp224 = v.aabb.ovoo.transpose((0, 2, 3, 1)).copy() - tmp224 += tmp7 - l2new.abab += einsum(tmp36, (0, 1, 2, 3), tmp224, (1, 2, 4, 5), (5, 3, 0, 4), optimize=True) - del tmp224 - tmp209 = tmp94.copy() - tmp209 += tmp94.transpose((0, 2, 1, 3)) * -1 - del tmp94 - l2new.abab += einsum(tmp4, (0, 1, 2, 3), tmp209, (1, 2, 4, 5), (3, 5, 0, 4), optimize=True) - del tmp209 - tmp208 = v.aabb.ovov.transpose((0, 2, 1, 3)).copy() - tmp208 += tmp205 - del tmp205 - tmp208 += tmp206 * 2 - del tmp206 - tmp208 += einsum(t2.abab, (0, 1, 2, 3), tmp207, (1, 4, 5, 3), (0, 4, 2, 5), optimize=True) * -1 - del tmp207 - l2new.abab += einsum(l2.aaaa, (0, 1, 2, 3), tmp208, (3, 4, 1, 5), (0, 5, 2, 4), optimize=True) * 2 - del tmp208 - tmp195 = v.aabb.ovov.transpose((0, 2, 1, 3)).copy() - tmp195 += tmp15 - tmp195 += tmp162 * 2 - tmp195 += einsum(t2.abab, (0, 1, 2, 3), tmp194, (0, 4, 5, 2), (4, 1, 5, 3), optimize=True) - del tmp194 - l2new.abab += einsum(tmp195, (0, 1, 2, 3), l2.bbbb, (4, 3, 5, 1), (2, 4, 0, 5), optimize=True) * 2 - del tmp195 - tmp223 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 4, 5, 3), (1, 5, 2, 4), optimize=True) - l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp223, (3, 4, 0, 5), (5, 1, 2, 4), optimize=True) - del tmp223 - tmp199 = f.aa.oo.copy() * 0.5 - tmp199 += tmp86.transpose((1, 0)) * 0.5 - del tmp86 - tmp199 += tmp87 - del tmp87 - tmp199 += tmp88 * 0.5 - del tmp88 - tmp199 += einsum(t1.aa, (0, 1), tmp89, (2, 3, 0, 1), (3, 2), optimize=True) * -0.5 - del tmp89 - tmp199 += einsum(t1.aa, (0, 1), tmp14, (2, 1), (0, 2), optimize=True) * 0.5 - l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp199, (2, 4), (0, 1, 4, 3), optimize=True) * -2 - del tmp199 - tmp198 = tmp5.copy() - tmp198 += tmp5.transpose((0, 2, 1, 3)) * -1 - l2new.abab += einsum(tmp36, (0, 1, 2, 3), tmp198, (0, 1, 4, 5), (5, 3, 4, 2), optimize=True) - del tmp198 - tmp192 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 1, 5), (0, 4, 3, 5), optimize=True) - l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp192, (2, 4, 1, 5), (0, 5, 4, 3), optimize=True) - del tmp192 - tmp222 = v.aabb.oovv.copy() - tmp222 += einsum(v.aabb.ovvv, (0, 1, 2, 3), t1.aa, (4, 1), (4, 0, 2, 3), optimize=True) - l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp222, (2, 4, 1, 5), (0, 5, 4, 3), optimize=True) * -1 - del tmp222 - tmp145 = einsum(v.aaaa.ovov, (0, 1, 2, 3), tmp144, (4, 1), (0, 2, 4, 3), optimize=True) * 2 - l2new.aaaa += tmp145.transpose((2, 3, 1, 0)) - l2new.aaaa += tmp145.transpose((3, 2, 1, 0)) * -1 - del tmp145 - tmp149 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t1.aa, (2, 1), (0, 3), optimize=True) - l2new.aaaa += einsum(l1.aa, (0, 1), tmp149, (2, 3), (3, 0, 2, 1), optimize=True) * -1 - l2new.aaaa += einsum(tmp149, (0, 1), l1.aa, (2, 3), (1, 2, 3, 0), optimize=True) - l2new.aaaa += einsum(l1.aa, (0, 1), tmp149, (2, 3), (0, 3, 2, 1), optimize=True) - l2new.aaaa += einsum(tmp149, (0, 1), l1.aa, (2, 3), (2, 1, 3, 0), optimize=True) * -1 - del tmp149 - tmp146 = v.aaaa.ooov.copy() - tmp146 += tmp5.transpose((0, 2, 1, 3)) - l2new.aaaa += einsum(tmp146, (0, 1, 2, 3), l1.aa, (4, 0), (3, 4, 2, 1), optimize=True) * -1 - del tmp146 - tmp156 = einsum(tmp5, (0, 1, 2, 3), tmp2, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) * -1 - l2new.aaaa += tmp156.transpose((2, 3, 1, 0)) * 2 - l2new.aaaa += tmp156.transpose((2, 3, 0, 1)) * -2 - l2new.aaaa += tmp156.transpose((3, 2, 1, 0)) * -2 - l2new.aaaa += tmp156.transpose((3, 2, 0, 1)) * 2 - del tmp156 - tmp171 = einsum(tmp170, (0, 1, 2, 3), l2.aaaa, (4, 2, 5, 0), (1, 5, 3, 4), optimize=True) - del tmp170 - l2new.aaaa += tmp171.transpose((3, 2, 0, 1)) * -2 - l2new.aaaa += tmp171.transpose((3, 2, 1, 0)) * 2 - l2new.aaaa += tmp171.transpose((2, 3, 0, 1)) * 2 - del tmp171 - tmp176 = einsum(l2.aaaa, (0, 1, 2, 3), v.aaaa.vvvv, (4, 0, 5, 1), (2, 3, 4, 5), optimize=True) - l2new.aaaa += tmp176.transpose((3, 2, 1, 0)) - l2new.aaaa += tmp176.transpose((3, 2, 1, 0)) - del tmp176 - tmp163 = v.aabb.ovov.transpose((0, 2, 1, 3)).copy() - tmp163 += tmp15 - del tmp15 - tmp163 += tmp161 - del tmp161 - tmp163 += tmp162 * 2 - del tmp162 - l2new.aaaa += einsum(tmp163, (0, 1, 2, 3), l2.abab, (4, 3, 5, 1), (2, 4, 5, 0), optimize=True) * -1 - del tmp163 - tmp165 = einsum(l2.aaaa, (0, 1, 2, 3), tmp92, (3, 4), (2, 4, 0, 1), optimize=True) * -2 - del tmp92 - l2new.aaaa += tmp165.transpose((3, 2, 1, 0)) - l2new.aaaa += tmp165.transpose((3, 2, 0, 1)) * -1 - del tmp165 - tmp187 = einsum(tmp28, (0, 1, 2, 3), l2.aaaa, (4, 5, 0, 1), (2, 3, 4, 5), optimize=True) - del tmp28 - l2new.aaaa += tmp187.transpose((2, 3, 1, 0)) * 2 - l2new.aaaa += tmp187.transpose((2, 3, 0, 1)) * -2 - del tmp187 - tmp168 = f.aa.ov.copy() - tmp168 += tmp167 - tmp168 += tmp11 - l2new.aaaa += einsum(tmp168, (0, 1), l1.aa, (2, 3), (1, 2, 3, 0), optimize=True) * -1 - del tmp168 - tmp174 = f.aa.ov.copy() - tmp174 += tmp167 - del tmp167 - tmp174 += tmp11 - del tmp11 - l2new.aaaa += einsum(l1.aa, (0, 1), tmp174, (2, 3), (0, 3, 2, 1), optimize=True) * -1 - l2new.aaaa += einsum(tmp174, (0, 1), l1.aa, (2, 3), (2, 1, 3, 0), optimize=True) - l2new.aaaa += einsum(l1.aa, (0, 1), tmp174, (2, 3), (3, 0, 2, 1), optimize=True) - del tmp174 - tmp160 = v.aaaa.ovov.transpose((0, 2, 1, 3)).copy() - tmp160 += v.aaaa.oovv * -1 - tmp160 += tmp157 * 2 - del tmp157 - tmp160 += tmp158 - del tmp158 - tmp160 += einsum(tmp159, (0, 1, 2, 3), t1.aa, (4, 1), (4, 0, 3, 2), optimize=True) * -1 - del tmp159 - l2new.aaaa += einsum(tmp160, (0, 1, 2, 3), l2.aaaa, (4, 2, 5, 0), (3, 4, 5, 1), optimize=True) * -2 - del tmp160 - tmp153 = einsum(tmp4, (0, 1, 2, 3), tmp7, (4, 1, 2, 5), (0, 4, 3, 5), optimize=True) - l2new.aaaa += tmp153.transpose((2, 3, 1, 0)) - l2new.aaaa += tmp153.transpose((2, 3, 0, 1)) * -1 - l2new.aaaa += tmp153.transpose((3, 2, 1, 0)) * -1 - l2new.aaaa += tmp153.transpose((3, 2, 0, 1)) - del tmp153 - tmp166 = einsum(v.aaaa.ovov, (0, 1, 2, 3), tmp85, (4, 2), (0, 4, 3, 1), optimize=True) - del tmp85 - l2new.aaaa += tmp166.transpose((2, 3, 0, 1)) - l2new.aaaa += tmp166.transpose((2, 3, 1, 0)) * -1 - l2new.aaaa += tmp166.transpose((3, 2, 0, 1)) * -1 - l2new.aaaa += tmp166.transpose((3, 2, 1, 0)) - del tmp166 - tmp190 = v.aaaa.ooov.copy() - tmp190 += tmp5.transpose((0, 2, 1, 3)) - l2new.aaaa += einsum(tmp190, (0, 1, 2, 3), l1.aa, (4, 0), (3, 4, 1, 2), optimize=True) - del tmp190 - tmp183 = einsum(tmp182, (0, 1), l2.aaaa, (2, 1, 3, 4), (3, 4, 0, 2), optimize=True) * -2 - del tmp182 - l2new.aaaa += tmp183.transpose((3, 2, 1, 0)) * -1 - l2new.aaaa += tmp183.transpose((2, 3, 1, 0)) - del tmp183 - tmp188 = v.aaaa.oooo.copy() * -1 - tmp188 += tmp26.transpose((1, 3, 0, 2)) * -1 - del tmp26 - tmp188 += tmp27.transpose((0, 3, 1, 2)) - del tmp27 - l2new.aaaa += einsum(tmp188, (0, 1, 2, 3), l2.aaaa, (4, 5, 0, 2), (4, 5, 1, 3), optimize=True) * -2 - del tmp188 - tmp150 = einsum(v.aabb.ovoo, (0, 1, 2, 3), tmp4, (4, 3, 2, 5), (4, 0, 5, 1), optimize=True) - l2new.aaaa += tmp150.transpose((2, 3, 1, 0)) - l2new.aaaa += tmp150.transpose((2, 3, 0, 1)) * -1 - l2new.aaaa += tmp150.transpose((3, 2, 1, 0)) * -1 - l2new.aaaa += tmp150.transpose((3, 2, 0, 1)) - del tmp150 - tmp175 = einsum(v.aaaa.ovvv, (0, 1, 2, 3), tmp2, (4, 5, 0, 3), (5, 4, 1, 2), optimize=True) - l2new.aaaa += tmp175.transpose((3, 2, 1, 0)) * -2 - l2new.aaaa += tmp175.transpose((2, 3, 1, 0)) * 2 - del tmp175 - tmp164 = einsum(tmp35, (0, 1, 2, 3), v.aaaa.ovov, (4, 3, 1, 5), (4, 0, 5, 2), optimize=True) - del tmp35 - l2new.aaaa += tmp164.transpose((2, 3, 0, 1)) * -1 - l2new.aaaa += tmp164.transpose((2, 3, 1, 0)) - l2new.aaaa += tmp164.transpose((3, 2, 0, 1)) - l2new.aaaa += tmp164.transpose((3, 2, 1, 0)) * -1 - del tmp164 - tmp155 = einsum(tmp2, (0, 1, 2, 3), tmp5, (1, 2, 4, 5), (0, 4, 3, 5), optimize=True) - del tmp5 - l2new.aaaa += tmp155.transpose((3, 2, 1, 0)) * 2 - l2new.aaaa += tmp155.transpose((3, 2, 0, 1)) * -2 - l2new.aaaa += tmp155.transpose((2, 3, 1, 0)) * -2 - l2new.aaaa += tmp155.transpose((2, 3, 0, 1)) * 2 - del tmp155 - tmp189 = einsum(v.aaaa.ovov, (0, 1, 2, 3), tmp144, (4, 3), (0, 2, 4, 1), optimize=True) * 2 - del tmp144 - l2new.aaaa += tmp189.transpose((2, 3, 1, 0)) * -1 - l2new.aaaa += tmp189.transpose((3, 2, 1, 0)) - del tmp189 - tmp173 = einsum(l2.abab, (0, 1, 2, 3), tmp172, (4, 3, 5, 1), (4, 2, 5, 0), optimize=True) - del tmp172 - l2new.aaaa += tmp173.transpose((3, 2, 0, 1)) * -1 - l2new.aaaa += tmp173.transpose((3, 2, 1, 0)) - l2new.aaaa += tmp173.transpose((2, 3, 0, 1)) - del tmp173 - tmp152 = einsum(tmp2, (0, 1, 2, 3), v.aaaa.ovoo, (4, 5, 2, 0), (1, 4, 3, 5), optimize=True) * -1 - l2new.aaaa += tmp152.transpose((2, 3, 1, 0)) * 2 - l2new.aaaa += tmp152.transpose((2, 3, 0, 1)) * -2 - l2new.aaaa += tmp152.transpose((3, 2, 1, 0)) * -2 - l2new.aaaa += tmp152.transpose((3, 2, 0, 1)) * 2 - del tmp152 - tmp178 = einsum(v.aaaa.ovov, (0, 1, 2, 3), tmp177, (4, 5, 0, 2), (4, 5, 1, 3), optimize=True) - del tmp177 - l2new.aaaa += tmp178.transpose((3, 2, 1, 0)) - l2new.aaaa += tmp178.transpose((3, 2, 1, 0)) - del tmp178 - tmp151 = einsum(v.aaaa.ooov, (0, 1, 2, 3), tmp2, (1, 4, 2, 5), (4, 0, 5, 3), optimize=True) * -1 - l2new.aaaa += tmp151.transpose((3, 2, 1, 0)) * 2 - l2new.aaaa += tmp151.transpose((3, 2, 0, 1)) * -2 - l2new.aaaa += tmp151.transpose((2, 3, 1, 0)) * -2 - l2new.aaaa += tmp151.transpose((2, 3, 0, 1)) * 2 - del tmp151 - tmp154 = einsum(l1.aa, (0, 1), v.aaaa.ovvv, (2, 3, 4, 0), (1, 2, 3, 4), optimize=True) - l2new.aaaa += tmp154.transpose((3, 2, 1, 0)) * -1 - l2new.aaaa += tmp154.transpose((3, 2, 0, 1)) - l2new.aaaa += tmp154.transpose((2, 3, 1, 0)) - l2new.aaaa += tmp154.transpose((2, 3, 0, 1)) * -1 - del tmp154 - tmp148 = einsum(tmp147, (0, 1, 2, 3), l1.aa, (4, 0), (1, 2, 3, 4), optimize=True) - del tmp147 - l2new.aaaa += tmp148.transpose((3, 2, 1, 0)) * -1 - l2new.aaaa += tmp148.transpose((3, 2, 0, 1)) - del tmp148 - tmp115 = einsum(l1.bb, (0, 1), t2.abab, (2, 3, 4, 0), (2, 1, 3, 4), optimize=True) * 0.5 - tmp115 += tmp4 * 0.5 - tmp115 += einsum(tmp4, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 3), (4, 1, 2, 5), optimize=True) - tmp115 += einsum(tmp36, (0, 1, 2, 3), t2.abab, (0, 4, 5, 3), (1, 2, 4, 5), optimize=True) * -0.5 - tmp115 += einsum(t2.abab, (0, 1, 2, 3), tmp73, (4, 1, 5, 3), (0, 4, 5, 2), optimize=True) * -1 - tmp115 += einsum(t1.aa, (0, 1), tmp39, (0, 2, 3, 4), (2, 3, 4, 1), optimize=True) * -0.5 - l1new.bb += einsum(v.aabb.ovov, (0, 1, 2, 3), tmp115, (0, 4, 2, 1), (3, 4), optimize=True) * -2 - del tmp115 - tmp129 = t1.bb.copy() * -1 - tmp129 += tmp70 * -1 - tmp129 += tmp71 * -2 - tmp129 += tmp72 - tmp129 += tmp74 * 2 - tmp129 += tmp79 - l1new.bb += einsum(tmp129, (0, 1), tmp97, (0, 2, 3, 1), (3, 2), optimize=True) - del tmp97, tmp129 - tmp111 = v.bbbb.ovvv.copy() - tmp111 += v.bbbb.ovvv.transpose((0, 2, 3, 1)) * -1 - l1new.bb += einsum(tmp111, (0, 1, 2, 3), tmp114, (4, 0, 2, 1), (3, 4), optimize=True) - del tmp114, tmp111 - tmp127 = tmp37.copy() - tmp127 += tmp38.transpose((1, 0, 2, 3)) - l1new.bb += einsum(v.aabb.ooov, (0, 1, 2, 3), tmp127, (0, 1, 4, 2), (3, 4), optimize=True) - del tmp127 - tmp130 = l1.aa.transpose((1, 0)).copy() * -1 - tmp130 += t1.aa * -1 - tmp130 += tmp56 * -2 - tmp130 += tmp57 * -1 - tmp130 += tmp58 * 2 - tmp130 += tmp59 - tmp130 += tmp64 - l1new.bb += einsum(tmp130, (0, 1), v.aabb.ovov, (0, 1, 2, 3), (3, 2), optimize=True) * -1 - del tmp130 - tmp109 = v.bbbb.ooov.transpose((0, 2, 1, 3)).copy() * 0.5 - tmp109 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovvv, (4, 2, 5, 3), (4, 0, 1, 5), optimize=True) * -0.5 - tmp109 += einsum(t2.bbbb, (0, 1, 2, 3), tmp103, (4, 5, 1, 3), (5, 0, 4, 2), optimize=True) - del tmp103 - tmp109 += einsum(tmp19, (0, 1, 2, 3), t2.abab, (0, 4, 3, 5), (2, 4, 1, 5), optimize=True) * 0.5 - del tmp19 - tmp109 += einsum(t2.bbbb, (0, 1, 2, 3), tmp99, (4, 3), (4, 0, 1, 2), optimize=True) * 0.5 - tmp109 += einsum(t1.bb, (0, 1), tmp104, (2, 3, 4, 1), (3, 2, 0, 4), optimize=True) * 0.5 - del tmp104 - tmp109 += einsum(tmp108, (0, 1, 2, 3), t1.bb, (0, 4), (2, 1, 3, 4), optimize=True) * -0.5 - del tmp108 - l1new.bb += einsum(tmp109, (0, 1, 2, 3), l2.bbbb, (4, 3, 1, 2), (4, 0), optimize=True) * 4 - del tmp109 - tmp117 = v.bbbb.ovvv.copy() * -1 - tmp117 += v.bbbb.ovvv.transpose((0, 2, 3, 1)) - tmp93 = einsum(t1.aa, (0, 1), v.aabb.vvvv, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) - l1new.bb += einsum(l2.abab, (0, 1, 2, 3), tmp93, (2, 0, 4, 1), (4, 3), optimize=True) - del tmp93 - tmp135 = f.bb.vv.copy() - tmp135 += tmp133.transpose((1, 0)) - del tmp133 - tmp135 += einsum(tmp134, (0, 1, 2, 3), t1.bb, (0, 1), (3, 2), optimize=True) * -1 - del tmp134 - l1new.bb += einsum(tmp135, (0, 1), l1.bb, (0, 2), (1, 2), optimize=True) - del tmp135 - tmp131 = v.bbbb.ooov.copy() - tmp131 += v.bbbb.ovoo.transpose((0, 2, 3, 1)) * -1 - l1new.bb += einsum(tmp78, (0, 1), tmp131, (1, 0, 2, 3), (3, 2), optimize=True) * -1 - del tmp78, tmp131 - tmp54 = tmp51.copy() - del tmp51 - tmp54 += tmp52 * 2 - del tmp52 - tmp54 += tmp53 - del tmp53 - l1new.bb += einsum(tmp54, (0, 1), v.aabb.vvov, (1, 0, 2, 3), (3, 2), optimize=True) - l1new.aa += einsum(tmp55, (0, 1, 2, 3), tmp54, (3, 2), (1, 0), optimize=True) * -1 - del tmp54 - tmp116 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (4, 3, 0, 5), (5, 1, 4, 2), optimize=True) - tmp116 += einsum(t1.aa, (0, 1), tmp4, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) - l1new.bb += einsum(v.aabb.vvov, (0, 1, 2, 3), tmp116, (4, 2, 0, 1), (3, 4), optimize=True) * -1 - del tmp116 - tmp132 = v.bbbb.ovov.transpose((0, 2, 1, 3)).copy() - tmp132 += v.bbbb.oovv * -1 - l1new.bb += einsum(tmp132, (0, 1, 2, 3), l1.bb, (2, 0), (3, 1), optimize=True) - del tmp132 - tmp125 = tmp120.copy() * 0.25 - tmp125 += tmp121 - tmp125 += einsum(tmp124, (0, 1, 2, 3), t1.bb, (1, 4), (0, 3, 2, 4), optimize=True) * 0.5 - l1new.bb += einsum(tmp125, (0, 1, 2, 3), v.bbbb.ovov, (1, 3, 2, 4), (4, 0), optimize=True) * 4 - del tmp125 - tmp123 = einsum(t2.bbbb, (0, 1, 2, 3), l1.bb, (3, 4), (4, 0, 1, 2), optimize=True) * 0.5 - tmp123 += tmp73.transpose((1, 0, 2, 3)) * 0.5 - tmp123 += tmp120.transpose((0, 2, 1, 3)) * 0.25 - del tmp120 - tmp123 += tmp121.transpose((0, 2, 1, 3)) - del tmp121 - tmp123 += einsum(tmp122, (0, 1, 2, 3), t1.bb, (0, 4), (1, 2, 3, 4), optimize=True) * -0.5 - l1new.bb += einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp123, (4, 0, 2, 1), (3, 4), optimize=True) * -4 - del tmp123 - tmp136 = tmp75.copy() * 0.5 - del tmp75 - tmp136 += tmp76 * 0.5 - del tmp76 - tmp136 += tmp77 - del tmp77 - l1new.bb += einsum(tmp136, (0, 1), tmp99, (1, 2), (2, 0), optimize=True) * -2 - del tmp136 - tmp110 = l2.abab.transpose((2, 3, 0, 1)).copy() - tmp110 += einsum(l2.abab, (0, 1, 2, 3), t2.aaaa, (4, 2, 5, 0), (4, 3, 5, 1), optimize=True) * 2 - tmp110 += einsum(t1.aa, (0, 1), tmp36, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) * -1 - tmp110 += einsum(l2.bbbb, (0, 1, 2, 3), t2.abab, (4, 3, 5, 1), (4, 2, 5, 0), optimize=True) * 2 - l1new.bb += einsum(v.aabb.ovvv, (0, 1, 2, 3), tmp110, (0, 4, 1, 3), (2, 4), optimize=True) - del tmp110 - tmp118 = einsum(t1.bb, (0, 1), tmp73, (0, 2, 3, 4), (2, 3, 4, 1), optimize=True) * -1 - del tmp73 - l1new.bb += einsum(tmp117, (0, 1, 2, 3), tmp118, (4, 0, 2, 3), (1, 4), optimize=True) * -2 - del tmp117, tmp118 - tmp69 = tmp66.copy() - del tmp66 - tmp69 += tmp67 - del tmp67 - tmp69 += tmp68 * 2 - del tmp68 - l1new.bb += einsum(tmp128, (0, 1, 2, 3), tmp69, (2, 1), (3, 0), optimize=True) * -1 - del tmp128 - l1new.aa += einsum(v.aabb.ovvv, (0, 1, 2, 3), tmp69, (3, 2), (1, 0), optimize=True) - del tmp69 - tmp126 = tmp124.transpose((1, 0, 3, 2)).copy() - del tmp124 - tmp126 += tmp122.transpose((2, 1, 0, 3)) - del tmp122 - l1new.bb += einsum(tmp126, (0, 1, 2, 3), v.bbbb.ooov, (0, 2, 3, 4), (4, 1), optimize=True) * 2 - del tmp126 - tmp102 = v.aabb.ovoo.transpose((0, 2, 3, 1)).copy() - tmp102 += tmp7 - del tmp7 - tmp102 += einsum(v.aabb.vvov, (0, 1, 2, 3), t2.abab, (4, 5, 1, 3), (4, 5, 2, 0), optimize=True) - tmp102 += einsum(t2.abab, (0, 1, 2, 3), tmp95, (1, 4, 5, 3), (0, 4, 5, 2), optimize=True) - del tmp95 - tmp102 += einsum(tmp8, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 3), (4, 2, 1, 5), optimize=True) * 2 - tmp102 += einsum(t2.abab, (0, 1, 2, 3), tmp10, (0, 4, 5, 3), (4, 1, 5, 2), optimize=True) * -1 - tmp102 += einsum(t2.abab, (0, 1, 2, 3), tmp99, (4, 3), (0, 1, 4, 2), optimize=True) - del tmp99 - tmp102 += einsum(tmp101, (0, 1, 2, 3), t1.aa, (4, 2), (4, 1, 0, 3), optimize=True) - del tmp101 - tmp102 += einsum(t1.aa, (0, 1), tmp21, (0, 2, 3, 4), (2, 4, 3, 1), optimize=True) * -1 - l1new.bb += einsum(l2.abab, (0, 1, 2, 3), tmp102, (2, 3, 4, 0), (1, 4), optimize=True) * -1 - del tmp102 - tmp119 = v.bbbb.ovvv.copy() - tmp119 += einsum(t1.bb, (0, 1), v.bbbb.vvvv, (2, 3, 4, 1), (0, 2, 4, 3), optimize=True) * -1 - l1new.bb += einsum(l2.bbbb, (0, 1, 2, 3), tmp119, (3, 0, 1, 4), (4, 2), optimize=True) * -2 - del tmp119 - tmp22 = v.aabb.ooov.copy() - tmp22 += einsum(t1.bb, (0, 1), v.aabb.oovv, (2, 3, 4, 1), (2, 3, 0, 4), optimize=True) - tmp22 += einsum(v.aabb.ovvv, (0, 1, 2, 3), t2.abab, (4, 5, 1, 3), (4, 0, 5, 2), optimize=True) - tmp22 += einsum(t2.abab, (0, 1, 2, 3), tmp6, (4, 5, 0, 2), (5, 4, 1, 3), optimize=True) - del tmp6 - tmp22 += einsum(tmp8, (0, 1, 2, 3), t2.abab, (4, 1, 3, 5), (4, 0, 2, 5), optimize=True) * -1 - del tmp8 - tmp22 += einsum(t2.bbbb, (0, 1, 2, 3), tmp10, (4, 5, 1, 3), (5, 4, 0, 2), optimize=True) * 2 - del tmp10 - tmp22 += einsum(t2.abab, (0, 1, 2, 3), tmp14, (4, 2), (0, 4, 1, 3), optimize=True) - tmp22 += einsum(t1.aa, (0, 1), tmp16, (2, 3, 1, 4), (0, 2, 3, 4), optimize=True) - del tmp16 - tmp22 += einsum(tmp21, (0, 1, 2, 3), t1.bb, (2, 4), (1, 0, 3, 4), optimize=True) * -1 - del tmp21 - l1new.aa += einsum(l2.abab, (0, 1, 2, 3), tmp22, (2, 4, 3, 1), (0, 4), optimize=True) * -1 - del tmp22 - tmp81 = v.aaaa.ooov.copy() * -1 - tmp81 += v.aaaa.ooov.transpose((0, 2, 1, 3)) - l1new.aa += einsum(tmp63, (0, 1), tmp81, (0, 2, 1, 3), (3, 2), optimize=True) * -2 - del tmp63, tmp81 - tmp41 = l2.aaaa.transpose((2, 3, 0, 1)).copy() * -1 - tmp41 += einsum(tmp2, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 3, 4), optimize=True) * -1 - l1new.aa += einsum(tmp41, (0, 1, 2, 3), v.aaaa.ovvv, (1, 3, 4, 2), (4, 0), optimize=True) * -2 - del tmp41 - tmp46 = einsum(l1.aa, (0, 1), t2.aaaa, (2, 3, 4, 0), (1, 2, 3, 4), optimize=True) * 0.5 - tmp46 += tmp2.transpose((1, 0, 2, 3)) * 0.5 - tmp46 += tmp43.transpose((0, 2, 1, 3)) - tmp46 += einsum(tmp44, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 3, 4), optimize=True) * -0.5 - tmp46 += tmp45.transpose((0, 2, 1, 3)) * 0.25 - l1new.aa += einsum(v.aaaa.ovov, (0, 1, 2, 3), tmp46, (4, 0, 2, 1), (3, 4), optimize=True) * -4 - del tmp46 - tmp50 = tmp37.copy() - del tmp37 - tmp50 += tmp38.transpose((0, 1, 3, 2)) - del tmp38 - l1new.aa += einsum(v.aabb.ovoo, (0, 1, 2, 3), tmp50, (4, 0, 3, 2), (1, 4), optimize=True) - del tmp50 - tmp0 = einsum(t1.bb, (0, 1), v.aabb.vvvv, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) - l1new.aa += einsum(tmp0, (0, 1, 2, 3), l2.abab, (2, 3, 4, 0), (1, 4), optimize=True) - del tmp0 - tmp30 = v.aaaa.ooov.transpose((0, 2, 1, 3)).copy() - tmp30 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), t2.aaaa, (4, 5, 3, 1), (0, 4, 5, 2), optimize=True) - tmp30 += einsum(t2.aaaa, (0, 1, 2, 3), tmp23, (4, 1, 5, 3), (5, 0, 4, 2), optimize=True) * 2 - del tmp23 - tmp30 += einsum(t2.abab, (0, 1, 2, 3), tmp24, (4, 5, 1, 3), (5, 0, 4, 2), optimize=True) - del tmp24 - tmp30 += einsum(t2.aaaa, (0, 1, 2, 3), tmp14, (4, 3), (4, 0, 1, 2), optimize=True) - del tmp14 - tmp30 += einsum(tmp25, (0, 1, 2, 3), t1.aa, (4, 3), (1, 0, 4, 2), optimize=True) - del tmp25 - tmp30 += einsum(tmp29, (0, 1, 2, 3), t1.aa, (0, 4), (2, 1, 3, 4), optimize=True) * -1 - del tmp29 - l1new.aa += einsum(l2.aaaa, (0, 1, 2, 3), tmp30, (4, 2, 3, 1), (0, 4), optimize=True) * 2 - del tmp30 - tmp48 = tmp43.copy() - del tmp43 - tmp48 += einsum(t1.aa, (0, 1), tmp47, (2, 0, 3, 4), (2, 4, 3, 1), optimize=True) * 0.5 - tmp48 += tmp45 * 0.25 - del tmp45 - l1new.aa += einsum(v.aaaa.ovov, (0, 1, 2, 3), tmp48, (4, 2, 0, 3), (1, 4), optimize=True) * 4 - del tmp48 - tmp31 = l2.abab.transpose((2, 3, 0, 1)).copy() * 0.5 - tmp31 += einsum(l2.aaaa, (0, 1, 2, 3), t2.abab, (3, 4, 1, 5), (2, 4, 0, 5), optimize=True) - tmp31 += einsum(l2.abab, (0, 1, 2, 3), t2.bbbb, (4, 3, 5, 1), (2, 4, 0, 5), optimize=True) - tmp31 += einsum(tmp4, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 3, 4), optimize=True) * -0.5 - l1new.aa += einsum(tmp31, (0, 1, 2, 3), v.aabb.vvov, (4, 2, 1, 3), (4, 0), optimize=True) * 2 - del tmp31 - tmp40 = einsum(t2.abab, (0, 1, 2, 3), l1.aa, (2, 4), (4, 0, 1, 3), optimize=True) - tmp40 += tmp36 - tmp40 += einsum(t2.abab, (0, 1, 2, 3), tmp2, (4, 0, 5, 2), (4, 5, 1, 3), optimize=True) * -2 - del tmp2 - tmp40 += einsum(tmp36, (0, 1, 2, 3), t2.bbbb, (4, 2, 5, 3), (0, 1, 4, 5), optimize=True) * 2 - tmp40 += einsum(tmp4, (0, 1, 2, 3), t2.abab, (4, 1, 3, 5), (0, 4, 2, 5), optimize=True) * -1 - del tmp4 - tmp40 += einsum(tmp39, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 3, 4), optimize=True) * -1 - del tmp39 - l1new.aa += einsum(v.aabb.ovov, (0, 1, 2, 3), tmp40, (4, 0, 2, 3), (1, 4), optimize=True) * -1 - del tmp40 - tmp82 = v.aaaa.ovov.transpose((0, 2, 1, 3)).copy() - tmp82 += v.aaaa.oovv * -1 - l1new.aa += einsum(l1.aa, (0, 1), tmp82, (1, 2, 0, 3), (3, 2), optimize=True) - del tmp82 - tmp49 = tmp47.transpose((1, 0, 3, 2)).copy() - del tmp47 - tmp49 += tmp44.transpose((2, 1, 0, 3)) - del tmp44 - l1new.aa += einsum(v.aaaa.ooov, (0, 1, 2, 3), tmp49, (1, 4, 0, 2), (3, 4), optimize=True) * 2 - del tmp49 - tmp1 = einsum(v.aaaa.vvvv, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 1, 2), optimize=True) - l1new.aa += einsum(l2.aaaa, (0, 1, 2, 3), tmp1, (3, 4, 0, 1), (4, 2), optimize=True) * 2 - del tmp1 - tmp42 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 4, 5, 1), (5, 0, 4, 3), optimize=True) - tmp42 += einsum(tmp36, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 4, 3), optimize=True) - del tmp36 - l1new.aa += einsum(tmp42, (0, 1, 2, 3), v.aabb.ovvv, (1, 4, 3, 2), (4, 0), optimize=True) * -1 - del tmp42 - tmp65 = t1.aa.copy() * -1 - tmp65 += tmp56 * -2 - del tmp56 - tmp65 += tmp57 * -1 - del tmp57 - tmp65 += tmp58 * 2 - del tmp58 - tmp65 += tmp59 - del tmp59 - tmp65 += tmp64 - del tmp64 - l1new.aa += einsum(tmp65, (0, 1), tmp12, (0, 2, 3, 1), (3, 2), optimize=True) - del tmp12, tmp65 - tmp84 = f.aa.vv.copy() - tmp84 += tmp83.transpose((1, 0)) - del tmp83 - tmp84 += einsum(tmp55, (0, 1, 2, 3), t1.aa, (0, 1), (3, 2), optimize=True) * -1 - del tmp55 - l1new.aa += einsum(tmp84, (0, 1), l1.aa, (0, 2), (1, 2), optimize=True) - del tmp84 - tmp80 = l1.bb.transpose((1, 0)).copy() * -1 - tmp80 += t1.bb * -1 - tmp80 += tmp70 * -1 - del tmp70 - tmp80 += tmp71 * -2 - del tmp71 - tmp80 += tmp72 - del tmp72 - tmp80 += tmp74 * 2 - del tmp74 - tmp80 += tmp79 - del tmp79 - l1new.aa += einsum(tmp80, (0, 1), v.aabb.ovov, (2, 3, 0, 1), (3, 2), optimize=True) * -1 - del tmp80 - l1new.aa += f.aa.ov.transpose((1, 0)) - l1new.bb += f.bb.ov.transpose((1, 0)) - l2new.aaaa += v.aaaa.ovov.transpose((1, 3, 0, 2)) - l2new.aaaa += v.aaaa.ovov.transpose((3, 1, 0, 2)) * -1 - l2new.abab += v.aabb.ovov.transpose((1, 3, 0, 2)) - l2new.abab += einsum(v.aabb.ovvv, (0, 1, 2, 3), l1.bb, (3, 4), (1, 2, 0, 4), optimize=True) - l2new.abab += einsum(l1.aa, (0, 1), v.aabb.vvov, (2, 0, 3, 4), (2, 4, 1, 3), optimize=True) - l2new.bbbb += v.bbbb.ovov.transpose((1, 3, 0, 2)) - l2new.bbbb += v.bbbb.ovov.transpose((3, 1, 0, 2)) * -1 - - return {f"l1new": l1new, f"l2new": l2new} - -def make_rdm1_f(l1=None, l2=None, t1=None, t2=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-07-22T17:00:47.386612. - - Parameters - ---------- - l1 : Namespace of arrays - L1 amplitudes. - l2 : Namespace of arrays - L2 amplitudes. - t1 : Namespace of arrays - T1 amplitudes. - t2 : Namespace of arrays - T2 amplitudes. - - Returns - ------- - rdm1 : Namespace of arrays - One-particle reduced density matrix. - """ - - rdm1 = Namespace() - rdm1.aa = Namespace() - rdm1.bb = Namespace() - delta = Namespace( - aa=Namespace(oo=np.eye(t2.aaaa.shape[0]), vv=np.eye(t2.aaaa.shape[-1])), - bb=Namespace(oo=np.eye(t2.bbbb.shape[0]), vv=np.eye(t2.bbbb.shape[-1])), - ) - tmp5 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 1), (3, 4), optimize=True) - rdm1.bb.oo = tmp5.transpose((1, 0)).copy() * -1 - tmp4 = einsum(l1.bb, (0, 1), t1.bb, (2, 0), (1, 2), optimize=True) - rdm1.bb.oo += tmp4.transpose((1, 0)) * -1 - tmp3 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (2, 3, 4, 1), (4, 0), optimize=True) - rdm1.bb.oo += tmp3.transpose((1, 0)) * -2 - tmp0 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 3, 4, 1), (4, 0), optimize=True) - rdm1.aa.oo = tmp0.transpose((1, 0)).copy() * -1 - tmp2 = einsum(t1.aa, (0, 1), l1.aa, (1, 2), (2, 0), optimize=True) - rdm1.aa.oo += tmp2.transpose((1, 0)) * -1 - tmp1 = einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 3, 0, 1), (2, 4), optimize=True) - rdm1.aa.oo += tmp1.transpose((1, 0)) * -2 - tmp11 = tmp4.copy() - del tmp4 - tmp11 += tmp5 - del tmp5 - tmp11 += tmp3 * 2 - del tmp3 - rdm1.bb.ov = einsum(tmp11, (0, 1), t1.bb, (0, 2), (1, 2), optimize=True) * -1 - del tmp11 - tmp10 = einsum(l2.bbbb, (0, 1, 2, 3), t1.bb, (4, 1), (2, 3, 4, 0), optimize=True) - rdm1.bb.ov += einsum(t2.bbbb, (0, 1, 2, 3), tmp10, (1, 0, 4, 3), (4, 2), optimize=True) * -2 - del tmp10 - tmp9 = einsum(t1.bb, (0, 1), l2.abab, (2, 1, 3, 4), (3, 4, 0, 2), optimize=True) - rdm1.bb.ov += einsum(tmp9, (0, 1, 2, 3), t2.abab, (0, 1, 3, 4), (2, 4), optimize=True) * -1 - del tmp9 - tmp6 = einsum(t1.aa, (0, 1), l2.aaaa, (2, 1, 3, 4), (3, 4, 0, 2), optimize=True) - rdm1.aa.ov = einsum(tmp6, (0, 1, 2, 3), t2.aaaa, (1, 0, 4, 3), (2, 4), optimize=True) * -2 - del tmp6 - tmp8 = tmp2.copy() * 0.5 - del tmp2 - tmp8 += tmp1 - del tmp1 - tmp8 += tmp0 * 0.5 - del tmp0 - rdm1.aa.ov += einsum(t1.aa, (0, 1), tmp8, (0, 2), (2, 1), optimize=True) * -2 - del tmp8 - tmp7 = einsum(t1.aa, (0, 1), l2.abab, (1, 2, 3, 4), (3, 0, 4, 2), optimize=True) - rdm1.aa.ov += einsum(t2.abab, (0, 1, 2, 3), tmp7, (0, 4, 1, 3), (4, 2), optimize=True) * -1 - del tmp7 - rdm1.aa.oo += delta.aa.oo - rdm1.bb.oo += delta.bb.oo - del delta - rdm1.aa.ov += einsum(l1.aa, (0, 1), t2.aaaa, (2, 1, 3, 0), (2, 3), optimize=True) * 2 - rdm1.aa.ov += einsum(l1.bb, (0, 1), t2.abab, (2, 1, 3, 0), (2, 3), optimize=True) - rdm1.aa.ov += t1.aa - rdm1.bb.ov += einsum(t2.bbbb, (0, 1, 2, 3), l1.bb, (3, 1), (0, 2), optimize=True) * 2 - rdm1.bb.ov += einsum(t2.abab, (0, 1, 2, 3), l1.aa, (2, 0), (1, 3), optimize=True) - rdm1.bb.ov += t1.bb - rdm1.aa.vo = l1.aa.copy() - rdm1.bb.vo = l1.bb.copy() - rdm1.aa.vv = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (4, 3, 0, 1), (4, 2), optimize=True) - rdm1.aa.vv += einsum(t1.aa, (0, 1), l1.aa, (2, 0), (2, 1), optimize=True) - rdm1.aa.vv += einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (4, 3, 0, 1), (4, 2), optimize=True) * 2 - rdm1.bb.vv = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (4, 3, 0, 1), (4, 2), optimize=True) * 2 - rdm1.bb.vv += einsum(l1.bb, (0, 1), t1.bb, (1, 2), (0, 2), optimize=True) - rdm1.bb.vv += einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 4, 0, 1), (4, 3), optimize=True) - rdm1.aa = np.block([[rdm1.aa.oo, rdm1.aa.ov], [rdm1.aa.vo, rdm1.aa.vv]]) - rdm1.bb = np.block([[rdm1.bb.oo, rdm1.bb.ov], [rdm1.bb.vo, rdm1.bb.vv]]) - - return rdm1 - -def make_rdm2_f(l1=None, l2=None, t1=None, t2=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-07-22T17:01:16.316662. - - Parameters - ---------- - l1 : Namespace of arrays - L1 amplitudes. - l2 : Namespace of arrays - L2 amplitudes. - t1 : Namespace of arrays - T1 amplitudes. - t2 : Namespace of arrays - T2 amplitudes. - - Returns - ------- - rdm2 : Namespace of arrays - Two-particle reduced density matrix. - """ - - rdm2 = Namespace() - rdm2.aaaa = Namespace() - rdm2.abab = Namespace() - rdm2.bbbb = Namespace() - delta = Namespace( - aa=Namespace(oo=np.eye(t2.aaaa.shape[0]), vv=np.eye(t2.aaaa.shape[-1])), - bb=Namespace(oo=np.eye(t2.bbbb.shape[0]), vv=np.eye(t2.bbbb.shape[-1])), - ) - tmp14 = einsum(t1.bb, (0, 1), l2.abab, (2, 1, 3, 4), (3, 4, 0, 2), optimize=True) - rdm2.abab.vovv = einsum(tmp14, (0, 1, 2, 3), t2.abab, (0, 1, 4, 5), (3, 2, 4, 5), optimize=True) * -1 - rdm2.abab.vovo = einsum(tmp14, (0, 1, 2, 3), t1.aa, (0, 4), (3, 2, 4, 1), optimize=True) * -1 - rdm2.abab.vooo = tmp14.transpose((3, 2, 0, 1)).copy() * -1 - tmp20 = einsum(l2.bbbb, (0, 1, 2, 3), t1.bb, (4, 1), (2, 3, 4, 0), optimize=True) - rdm2.bbbb.vooo = tmp20.transpose((3, 2, 1, 0)).copy() * 2 - rdm2.bbbb.ovoo = tmp20.transpose((2, 3, 1, 0)).copy() * -2 - tmp10 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (2, 3, 4, 1), (4, 0), optimize=True) - tmp9 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 1), (3, 4), optimize=True) - tmp8 = einsum(l1.bb, (0, 1), t1.bb, (2, 0), (1, 2), optimize=True) - tmp0 = einsum(t1.aa, (0, 1), l1.aa, (1, 2), (2, 0), optimize=True) - tmp2 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 3, 4, 1), (4, 0), optimize=True) - tmp1 = einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 3, 0, 1), (2, 4), optimize=True) - tmp28 = einsum(t1.aa, (0, 1), l2.abab, (1, 2, 3, 4), (3, 0, 4, 2), optimize=True) - rdm2.abab.ovvv = einsum(t2.abab, (0, 1, 2, 3), tmp28, (0, 4, 1, 5), (4, 5, 2, 3), optimize=True) * -1 - rdm2.abab.ovov = einsum(t1.bb, (0, 1), tmp28, (2, 3, 0, 4), (3, 4, 2, 1), optimize=True) * -1 - rdm2.abab.ovoo = tmp28.transpose((1, 3, 0, 2)).copy() * -1 - tmp6 = einsum(t1.aa, (0, 1), l2.aaaa, (2, 1, 3, 4), (3, 4, 0, 2), optimize=True) - rdm2.aaaa.vooo = tmp6.transpose((3, 2, 1, 0)).copy() * 2 - rdm2.aaaa.ovoo = tmp6.transpose((2, 3, 1, 0)).copy() * -2 - tmp93 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (4, 3, 5, 1), (5, 0, 4, 2), optimize=True) - rdm2.bbbb.vovo = tmp93.transpose((2, 1, 3, 0)).copy() * -4 - rdm2.bbbb.voov = tmp93.transpose((2, 1, 0, 3)).copy() * 4 - rdm2.bbbb.ovvo = tmp93.transpose((1, 2, 3, 0)).copy() * 4 - rdm2.bbbb.ovov = tmp93.transpose((1, 2, 0, 3)).copy() * -4 - tmp116 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 4, 0, 5), (5, 1, 4, 3), optimize=True) - rdm2.bbbb.vovo += tmp116.transpose((2, 1, 3, 0)) * -1 - rdm2.bbbb.voov += tmp116.transpose((2, 1, 0, 3)) - rdm2.bbbb.ovvo += tmp116.transpose((1, 2, 3, 0)) - rdm2.bbbb.ovov += tmp116.transpose((1, 2, 0, 3)) * -1 - tmp86 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (4, 3, 5, 1), (5, 0, 4, 2), optimize=True) - rdm2.aaaa.vovo = tmp86.transpose((2, 1, 3, 0)).copy() * -1 - rdm2.aaaa.voov = tmp86.transpose((2, 1, 0, 3)).copy() - rdm2.aaaa.ovvo = tmp86.transpose((1, 2, 3, 0)).copy() - rdm2.aaaa.ovov = tmp86.transpose((1, 2, 0, 3)).copy() * -1 - tmp66 = einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 3, 5, 1), (2, 4, 0, 5), optimize=True) - rdm2.aaaa.vovo += tmp66.transpose((2, 1, 3, 0)) * -4 - rdm2.aaaa.voov += tmp66.transpose((2, 1, 0, 3)) * 4 - rdm2.aaaa.ovvo += tmp66.transpose((1, 2, 3, 0)) * 4 - rdm2.aaaa.ovov += tmp66.transpose((1, 2, 0, 3)) * -4 - tmp51 = einsum(t2.abab, (0, 1, 2, 3), tmp14, (0, 4, 5, 2), (4, 5, 1, 3), optimize=True) - rdm2.bbbb.oovo = tmp51.transpose((2, 1, 3, 0)).copy() * -1 - rdm2.bbbb.oovo += tmp51.transpose((1, 2, 3, 0)) - rdm2.bbbb.ooov = tmp51.transpose((2, 1, 0, 3)).copy() - rdm2.bbbb.ooov += tmp51.transpose((1, 2, 0, 3)) * -1 - tmp52 = einsum(t2.bbbb, (0, 1, 2, 3), tmp20, (4, 1, 5, 3), (4, 5, 0, 2), optimize=True) * -1 - rdm2.bbbb.oovo += tmp52.transpose((2, 1, 3, 0)) * -4 - rdm2.bbbb.oovo += tmp52.transpose((1, 2, 3, 0)) * 4 - rdm2.bbbb.ooov += tmp52.transpose((2, 1, 0, 3)) * 4 - rdm2.bbbb.ooov += tmp52.transpose((1, 2, 0, 3)) * -4 - tmp101 = tmp9.copy() * 0.5 - tmp101 += tmp10 - tmp19 = einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 5, 0, 1), (2, 3, 4, 5), optimize=True) - rdm2.bbbb.oooo = tmp19.transpose((3, 2, 1, 0)).copy() * 2 - tmp21 = einsum(t1.bb, (0, 1), tmp20, (2, 3, 4, 1), (2, 3, 0, 4), optimize=True) - rdm2.bbbb.oooo += tmp21.transpose((2, 3, 1, 0)) * -2 - tmp17 = tmp8.copy() - tmp17 += tmp9 - tmp17 += tmp10 * 2 - rdm2.abab.oovv = einsum(tmp17, (0, 1), t2.abab, (2, 0, 3, 4), (2, 1, 3, 4), optimize=True) * -1 - rdm2.bbbb.oovo += einsum(tmp17, (0, 1), t1.bb, (2, 3), (2, 1, 3, 0), optimize=True) * -1 - rdm2.bbbb.oovo += einsum(t1.bb, (0, 1), tmp17, (2, 3), (3, 0, 1, 2), optimize=True) - rdm2.bbbb.ooov += einsum(tmp17, (0, 1), t1.bb, (2, 3), (2, 1, 0, 3), optimize=True) - rdm2.bbbb.ooov += einsum(t1.bb, (0, 1), tmp17, (2, 3), (3, 0, 2, 1), optimize=True) * -1 - rdm2.bbbb.oooo += einsum(delta.bb.oo, (0, 1), tmp17, (2, 3), (3, 0, 2, 1), optimize=True) * -1 - tmp4 = tmp0.copy() * 0.5 - tmp4 += tmp1 - tmp4 += tmp2 * 0.5 - rdm2.aaaa.oovo = einsum(t1.aa, (0, 1), tmp4, (2, 3), (0, 3, 1, 2), optimize=True) * -2 - rdm2.aaaa.oovo += einsum(tmp4, (0, 1), t1.aa, (2, 3), (1, 2, 3, 0), optimize=True) * 2 - rdm2.abab.ooov = einsum(tmp4, (0, 1), t1.bb, (2, 3), (1, 2, 0, 3), optimize=True) * -2 - rdm2.aaaa.oooo = einsum(tmp4, (0, 1), delta.aa.oo, (2, 3), (2, 1, 0, 3), optimize=True) * 2 - rdm2.aaaa.oooo += einsum(tmp4, (0, 1), delta.aa.oo, (2, 3), (1, 2, 0, 3), optimize=True) * -2 - tmp13 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 5, 0, 1), (2, 4, 3, 5), optimize=True) - rdm2.abab.oooo = tmp13.transpose((1, 3, 0, 2)).copy() - tmp15 = einsum(t1.aa, (0, 1), tmp14, (2, 3, 4, 1), (2, 0, 3, 4), optimize=True) - rdm2.abab.oooo += tmp15.transpose((1, 3, 0, 2)) - tmp74 = tmp1.copy() * 2 - tmp74 += tmp2 - tmp33 = einsum(t2.abab, (0, 1, 2, 3), tmp28, (4, 5, 1, 3), (4, 5, 0, 2), optimize=True) - rdm2.aaaa.oovo += tmp33.transpose((2, 1, 3, 0)) * -1 - rdm2.aaaa.oovo += tmp33.transpose((1, 2, 3, 0)) - rdm2.aaaa.ooov = tmp33.transpose((2, 1, 0, 3)).copy() - rdm2.aaaa.ooov += tmp33.transpose((1, 2, 0, 3)) * -1 - tmp32 = einsum(tmp6, (0, 1, 2, 3), t2.aaaa, (4, 1, 5, 3), (0, 2, 4, 5), optimize=True) * -1 - rdm2.aaaa.oovo += tmp32.transpose((2, 1, 3, 0)) * -4 - rdm2.aaaa.oovo += tmp32.transpose((1, 2, 3, 0)) * 4 - rdm2.aaaa.ooov += tmp32.transpose((2, 1, 0, 3)) * 4 - rdm2.aaaa.ooov += tmp32.transpose((1, 2, 0, 3)) * -4 - tmp5 = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (2, 3, 4, 5), (4, 5, 0, 1), optimize=True) - rdm2.aaaa.oooo += tmp5.transpose((3, 2, 1, 0)) * 2 - tmp7 = einsum(t1.aa, (0, 1), tmp6, (2, 3, 4, 1), (2, 3, 0, 4), optimize=True) - rdm2.aaaa.oooo += tmp7.transpose((2, 3, 1, 0)) * -2 - tmp112 = einsum(l1.bb, (0, 1), t1.bb, (1, 2), (0, 2), optimize=True) - rdm2.bbbb.ovvv = einsum(tmp112, (0, 1), t1.bb, (2, 3), (2, 0, 1, 3), optimize=True) * -1 - rdm2.bbbb.ovvv += einsum(t1.bb, (0, 1), tmp112, (2, 3), (0, 2, 1, 3), optimize=True) - tmp83 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (4, 3, 0, 1), (4, 2), optimize=True) - tmp82 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 4, 0, 1), (4, 3), optimize=True) - tmp117 = einsum(tmp20, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 3, 4), optimize=True) - rdm2.bbbb.vovo += tmp117.transpose((2, 1, 3, 0)) * 2 - rdm2.bbbb.voov += tmp117.transpose((2, 1, 0, 3)) * -2 - rdm2.bbbb.ovvo += tmp117.transpose((1, 2, 3, 0)) * -2 - rdm2.bbbb.ovov += tmp117.transpose((1, 2, 0, 3)) * 2 - tmp125 = tmp116.copy() - del tmp116 - tmp125 += tmp93 * 4 - tmp61 = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (4, 3, 0, 1), (4, 2), optimize=True) - tmp109 = einsum(t1.aa, (0, 1), l1.aa, (2, 0), (2, 1), optimize=True) - rdm2.aaaa.ovvv = einsum(t1.aa, (0, 1), tmp109, (2, 3), (0, 2, 3, 1), optimize=True) * -1 - rdm2.aaaa.ovvv += einsum(tmp109, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1), optimize=True) - tmp62 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (4, 3, 0, 1), (4, 2), optimize=True) - tmp95 = einsum(l2.abab, (0, 1, 2, 3), t2.bbbb, (4, 3, 5, 1), (2, 4, 0, 5), optimize=True) - rdm2.abab.voov = tmp95.transpose((2, 1, 0, 3)).copy() * 2 - tmp91 = einsum(l2.aaaa, (0, 1, 2, 3), t2.abab, (3, 4, 1, 5), (2, 4, 0, 5), optimize=True) - rdm2.abab.voov += tmp91.transpose((2, 1, 0, 3)) * 2 - tmp111 = einsum(t1.aa, (0, 1), tmp6, (2, 0, 3, 4), (2, 3, 4, 1), optimize=True) - rdm2.aaaa.vovo += tmp111.transpose((2, 1, 3, 0)) * 2 - rdm2.aaaa.voov += tmp111.transpose((2, 1, 0, 3)) * -2 - rdm2.aaaa.ovvo += tmp111.transpose((1, 2, 3, 0)) * -2 - rdm2.aaaa.ovov += tmp111.transpose((1, 2, 0, 3)) * 2 - tmp87 = tmp66.copy() * 4 - tmp87 += tmp86 - del tmp86 - rdm2.abab.oovv += einsum(t2.abab, (0, 1, 2, 3), tmp87, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) - tmp68 = einsum(l2.abab, (0, 1, 2, 3), t2.aaaa, (4, 2, 5, 0), (4, 3, 5, 1), optimize=True) - rdm2.abab.ovvo = tmp68.transpose((0, 3, 2, 1)).copy() * 2 - tmp64 = einsum(l2.bbbb, (0, 1, 2, 3), t2.abab, (4, 3, 5, 1), (4, 2, 5, 0), optimize=True) - rdm2.abab.ovvo += tmp64.transpose((0, 3, 2, 1)) * 2 - tmp37 = einsum(t2.bbbb, (0, 1, 2, 3), l1.bb, (3, 1), (0, 2), optimize=True) - tmp36 = einsum(t2.abab, (0, 1, 2, 3), l1.aa, (2, 0), (1, 3), optimize=True) - tmp107 = tmp51.copy() - del tmp51 - tmp107 += tmp52 * 4 - del tmp52 - tmp40 = einsum(tmp14, (0, 1, 2, 3), t2.abab, (0, 1, 3, 4), (2, 4), optimize=True) - tmp102 = einsum(t1.bb, (0, 1), tmp101, (0, 2), (2, 1), optimize=True) * 2 - del tmp101 - tmp41 = einsum(t2.bbbb, (0, 1, 2, 3), tmp20, (1, 0, 4, 3), (4, 2), optimize=True) - tmp53 = tmp19.transpose((1, 0, 3, 2)).copy() - del tmp19 - tmp53 += tmp21.transpose((0, 1, 3, 2)) * -1 - del tmp21 - rdm2.bbbb.oovv = einsum(tmp53, (0, 1, 2, 3), t2.bbbb, (0, 1, 4, 5), (3, 2, 4, 5), optimize=True) * -2 - tmp50 = einsum(t2.bbbb, (0, 1, 2, 3), l1.bb, (3, 4), (4, 0, 1, 2), optimize=True) - rdm2.bbbb.oovo += tmp50.transpose((2, 1, 3, 0)) * 2 - rdm2.bbbb.ooov += tmp50.transpose((2, 1, 0, 3)) * -2 - tmp42 = einsum(t1.bb, (0, 1), tmp17, (0, 2), (2, 1), optimize=True) - tmp29 = einsum(t2.abab, (0, 1, 2, 3), tmp28, (0, 4, 1, 3), (4, 2), optimize=True) - tmp55 = einsum(t1.aa, (0, 1), tmp4, (0, 2), (2, 1), optimize=True) - tmp27 = einsum(tmp6, (0, 1, 2, 3), t2.aaaa, (1, 0, 4, 3), (2, 4), optimize=True) - tmp59 = einsum(tmp14, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 3), (4, 1, 2, 5), optimize=True) - rdm2.abab.oovo = tmp59.transpose((0, 2, 3, 1)).copy() * -2 - tmp58 = einsum(t2.abab, (0, 1, 2, 3), tmp20, (4, 1, 5, 3), (0, 4, 5, 2), optimize=True) * -1 - rdm2.abab.oovo += tmp58.transpose((0, 2, 3, 1)) * -2 - tmp45 = einsum(t2.abab, (0, 1, 2, 3), tmp6, (4, 0, 5, 2), (4, 5, 1, 3), optimize=True) * -1 - rdm2.abab.ooov += tmp45.transpose((1, 2, 0, 3)) * -2 - tmp44 = einsum(tmp28, (0, 1, 2, 3), t2.bbbb, (4, 2, 5, 3), (0, 1, 4, 5), optimize=True) - rdm2.abab.ooov += tmp44.transpose((1, 2, 0, 3)) * -2 - tmp46 = tmp13.copy() - del tmp13 - tmp46 += tmp15 - del tmp15 - rdm2.abab.oovv += einsum(tmp46, (0, 1, 2, 3), t2.abab, (0, 2, 4, 5), (1, 3, 4, 5), optimize=True) - rdm2.abab.oovo += einsum(t1.aa, (0, 1), tmp46, (0, 2, 3, 4), (2, 4, 1, 3), optimize=True) - tmp22 = einsum(l1.aa, (0, 1), t2.aaaa, (2, 1, 3, 0), (2, 3), optimize=True) - tmp23 = einsum(l1.bb, (0, 1), t2.abab, (2, 1, 3, 0), (2, 3), optimize=True) - tmp75 = einsum(tmp74, (0, 1), t1.aa, (0, 2), (1, 2), optimize=True) * 0.5 - del tmp74 - tmp80 = tmp32.copy() * 4 - del tmp32 - tmp80 += tmp33 - del tmp33 - tmp34 = tmp5.transpose((1, 0, 3, 2)).copy() - del tmp5 - tmp34 += tmp7.transpose((0, 1, 3, 2)) * -1 - del tmp7 - rdm2.aaaa.oovv = einsum(t2.aaaa, (0, 1, 2, 3), tmp34, (0, 1, 4, 5), (5, 4, 2, 3), optimize=True) * -2 - tmp26 = einsum(t2.aaaa, (0, 1, 2, 3), l1.aa, (3, 4), (4, 0, 1, 2), optimize=True) - rdm2.aaaa.oovo += tmp26.transpose((2, 1, 3, 0)) * 2 - rdm2.aaaa.ooov += tmp26.transpose((2, 1, 0, 3)) * -2 - tmp30 = einsum(t1.aa, (0, 1), tmp4, (0, 2), (2, 1), optimize=True) * 2 - tmp132 = einsum(l2.bbbb, (0, 1, 2, 3), t1.bb, (3, 4), (2, 0, 1, 4), optimize=True) - rdm2.bbbb.vvvv = einsum(tmp132, (0, 1, 2, 3), t1.bb, (0, 4), (1, 2, 4, 3), optimize=True) * 2 - rdm2.bbbb.vvvo = tmp132.transpose((2, 1, 3, 0)).copy() * 2 - rdm2.bbbb.vvov = tmp132.transpose((2, 1, 0, 3)).copy() * -2 - del tmp132 - tmp131 = einsum(t1.bb, (0, 1), l2.abab, (2, 3, 4, 0), (4, 2, 3, 1), optimize=True) - rdm2.abab.vvvv = einsum(tmp131, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3), optimize=True) - rdm2.abab.vvov = tmp131.transpose((1, 2, 0, 3)).copy() - del tmp131 - tmp130 = einsum(l2.aaaa, (0, 1, 2, 3), t1.aa, (3, 4), (2, 0, 1, 4), optimize=True) - rdm2.aaaa.vvvv = einsum(tmp130, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3), optimize=True) * 2 - rdm2.aaaa.vvvo = tmp130.transpose((2, 1, 3, 0)).copy() * 2 - rdm2.aaaa.vvov = tmp130.transpose((2, 1, 0, 3)).copy() * -2 - del tmp130 - tmp115 = tmp112.copy() - tmp115 += tmp82 - tmp115 += tmp83 * 2 - rdm2.bbbb.vovv = einsum(tmp115, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3), optimize=True) - rdm2.bbbb.vovv += einsum(t1.bb, (0, 1), tmp115, (2, 3), (2, 0, 1, 3), optimize=True) * -1 - rdm2.bbbb.voov += einsum(tmp115, (0, 1), delta.bb.oo, (2, 3), (0, 2, 3, 1), optimize=True) * -1 - rdm2.bbbb.ovov += einsum(tmp115, (0, 1), delta.bb.oo, (2, 3), (2, 0, 3, 1), optimize=True) - del tmp115 - tmp128 = einsum(tmp117, (0, 1, 2, 3), t1.bb, (0, 4), (1, 2, 3, 4), optimize=True) * -1 - del tmp117 - rdm2.bbbb.vovv += tmp128.transpose((1, 0, 3, 2)) * 2 - rdm2.bbbb.ovvv += tmp128.transpose((0, 1, 3, 2)) * -2 - del tmp128 - tmp127 = einsum(t2.bbbb, (0, 1, 2, 3), tmp20, (1, 0, 4, 5), (4, 5, 2, 3), optimize=True) * -1 - del tmp20 - rdm2.bbbb.vovv += tmp127.transpose((1, 0, 3, 2)) * 2 - rdm2.bbbb.ovvv += tmp127.transpose((0, 1, 3, 2)) * -2 - del tmp127 - tmp126 = einsum(tmp125, (0, 1, 2, 3), t1.bb, (0, 4), (1, 4, 2, 3), optimize=True) - del tmp125 - rdm2.bbbb.vovv += tmp126.transpose((2, 0, 3, 1)) * -1 - rdm2.bbbb.vovv += tmp126.transpose((2, 0, 1, 3)) - rdm2.bbbb.ovvv += tmp126.transpose((0, 2, 3, 1)) - rdm2.bbbb.ovvv += tmp126.transpose((0, 2, 1, 3)) * -1 - del tmp126 - tmp124 = einsum(t2.bbbb, (0, 1, 2, 3), l1.bb, (4, 1), (0, 4, 2, 3), optimize=True) - rdm2.bbbb.vovv += tmp124.transpose((1, 0, 3, 2)) * 2 - rdm2.bbbb.ovvv += tmp124.transpose((0, 1, 3, 2)) * -2 - del tmp124 - tmp110 = tmp109.copy() - del tmp109 - tmp110 += tmp61 * 2 - tmp110 += tmp62 - rdm2.abab.vovv += einsum(tmp110, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3), optimize=True) - rdm2.aaaa.vovv = einsum(tmp110, (0, 1), t1.aa, (2, 3), (0, 2, 1, 3), optimize=True) - rdm2.aaaa.vovv += einsum(tmp110, (0, 1), t1.aa, (2, 3), (0, 2, 3, 1), optimize=True) * -1 - rdm2.abab.vovo += einsum(tmp110, (0, 1), delta.bb.oo, (2, 3), (0, 2, 1, 3), optimize=True) - rdm2.aaaa.vovo += einsum(tmp110, (0, 1), delta.aa.oo, (2, 3), (0, 2, 1, 3), optimize=True) - rdm2.aaaa.voov += einsum(tmp110, (0, 1), delta.aa.oo, (2, 3), (0, 2, 3, 1), optimize=True) * -1 - rdm2.aaaa.ovvo += einsum(tmp110, (0, 1), delta.aa.oo, (2, 3), (2, 0, 1, 3), optimize=True) * -1 - rdm2.aaaa.ovov += einsum(tmp110, (0, 1), delta.aa.oo, (2, 3), (2, 0, 3, 1), optimize=True) - del tmp110 - tmp88 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (4, 3, 0, 5), (5, 1, 4, 2), optimize=True) - rdm2.abab.vovv += einsum(tmp88, (0, 1, 2, 3), t1.bb, (0, 4), (2, 1, 3, 4), optimize=True) * -1 - rdm2.abab.vovo += tmp88.transpose((2, 1, 3, 0)) * -1 - rdm2.abab.oovv += einsum(t2.abab, (0, 1, 2, 3), tmp88, (1, 4, 2, 5), (0, 4, 5, 3), optimize=True) - del tmp88 - tmp129 = tmp91.copy() - tmp129 += tmp95 - rdm2.abab.vovv += einsum(tmp129, (0, 1, 2, 3), t1.aa, (0, 4), (2, 1, 4, 3), optimize=True) * 2 - del tmp129 - tmp119 = einsum(tmp14, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 3, 4), optimize=True) - rdm2.abab.vovv += einsum(tmp119, (0, 1, 2, 3), t1.aa, (0, 4), (2, 1, 4, 3), optimize=True) * -1 - rdm2.abab.voov += tmp119.transpose((2, 1, 0, 3)) * -1 - del tmp119 - tmp120 = einsum(l1.aa, (0, 1), t2.aaaa, (2, 1, 3, 4), (2, 0, 3, 4), optimize=True) - rdm2.aaaa.vovv += tmp120.transpose((1, 0, 3, 2)) * 2 - rdm2.aaaa.ovvv += tmp120.transpose((0, 1, 3, 2)) * -2 - del tmp120 - tmp122 = einsum(tmp6, (0, 1, 2, 3), t2.aaaa, (1, 0, 4, 5), (2, 3, 4, 5), optimize=True) * -1 - del tmp6 - rdm2.aaaa.vovv += tmp122.transpose((1, 0, 3, 2)) * 2 - rdm2.aaaa.ovvv += tmp122.transpose((0, 1, 3, 2)) * -2 - del tmp122 - tmp123 = einsum(tmp111, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 3, 4), optimize=True) * -1 - del tmp111 - rdm2.aaaa.vovv += tmp123.transpose((1, 0, 3, 2)) * 2 - rdm2.aaaa.ovvv += tmp123.transpose((0, 1, 3, 2)) * -2 - del tmp123 - tmp121 = einsum(t1.aa, (0, 1), tmp87, (0, 2, 3, 4), (2, 1, 3, 4), optimize=True) - del tmp87 - rdm2.aaaa.vovv += tmp121.transpose((2, 0, 3, 1)) * -1 - rdm2.aaaa.vovv += tmp121.transpose((2, 0, 1, 3)) - rdm2.aaaa.ovvv += tmp121.transpose((0, 2, 3, 1)) - rdm2.aaaa.ovvv += tmp121.transpose((0, 2, 1, 3)) * -1 - del tmp121 - tmp84 = tmp82.copy() - tmp84 += tmp83 * 2 - rdm2.bbbb.ovvv += einsum(tmp84, (0, 1), t1.bb, (2, 3), (2, 0, 1, 3), optimize=True) * -1 - rdm2.bbbb.ovvv += einsum(t1.bb, (0, 1), tmp84, (2, 3), (0, 2, 1, 3), optimize=True) - rdm2.bbbb.oovv += einsum(tmp84, (0, 1), t2.bbbb, (2, 3, 4, 0), (2, 3, 4, 1), optimize=True) * -2 - rdm2.abab.oovv += einsum(t2.abab, (0, 1, 2, 3), tmp84, (3, 4), (0, 1, 2, 4), optimize=True) * -1 - del tmp84 - tmp118 = einsum(t1.aa, (0, 1), tmp28, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) - rdm2.abab.ovvv += einsum(tmp118, (0, 1, 2, 3), t1.bb, (1, 4), (0, 3, 2, 4), optimize=True) * -1 - rdm2.abab.ovvo += tmp118.transpose((0, 3, 2, 1)) * -1 - del tmp118 - tmp85 = tmp68.copy() - tmp85 += tmp64 - rdm2.abab.ovvv += einsum(t1.bb, (0, 1), tmp85, (2, 0, 3, 4), (2, 4, 3, 1), optimize=True) * 2 - rdm2.abab.oovv += einsum(t2.bbbb, (0, 1, 2, 3), tmp85, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) * 4 - del tmp85 - tmp113 = tmp112.copy() * 0.5 - del tmp112 - tmp113 += tmp82 * 0.5 - tmp113 += tmp83 - rdm2.abab.ovvv += einsum(t1.aa, (0, 1), tmp113, (2, 3), (0, 2, 1, 3), optimize=True) * 2 - rdm2.bbbb.vovo += einsum(tmp113, (0, 1), delta.bb.oo, (2, 3), (0, 2, 1, 3), optimize=True) * 2 - rdm2.bbbb.ovvo += einsum(tmp113, (0, 1), delta.bb.oo, (2, 3), (2, 0, 1, 3), optimize=True) * -2 - rdm2.abab.ovov += einsum(tmp113, (0, 1), delta.aa.oo, (2, 3), (2, 0, 3, 1), optimize=True) * 2 - del tmp113 - tmp114 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 4, 5, 1), (5, 0, 4, 3), optimize=True) - rdm2.abab.ovvv += einsum(t1.aa, (0, 1), tmp114, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) * -1 - rdm2.abab.ovov += tmp114.transpose((1, 2, 0, 3)) * -1 - del tmp114 - tmp73 = tmp61.copy() - tmp73 += tmp62 * 0.5 - rdm2.aaaa.ovvv += einsum(tmp73, (0, 1), t1.aa, (2, 3), (2, 0, 1, 3), optimize=True) * -2 - rdm2.aaaa.ovvv += einsum(tmp73, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1), optimize=True) * 2 - rdm2.abab.oovv += einsum(tmp73, (0, 1), t2.abab, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) * -2 - rdm2.aaaa.oovv += einsum(t2.aaaa, (0, 1, 2, 3), tmp73, (3, 4), (0, 1, 4, 2), optimize=True) * 4 - del tmp73 - tmp92 = einsum(tmp91, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) - del tmp91 - rdm2.bbbb.oovv += tmp92.transpose((1, 0, 3, 2)) * 2 - rdm2.bbbb.oovv += tmp92.transpose((0, 1, 3, 2)) * -2 - del tmp92 - tmp38 = t1.bb.copy() - tmp38 += tmp36 - tmp38 += tmp37 * 2 - rdm2.bbbb.oovv += einsum(tmp38, (0, 1), t1.bb, (2, 3), (2, 0, 3, 1), optimize=True) - rdm2.abab.oovv += einsum(t1.aa, (0, 1), tmp38, (2, 3), (0, 2, 1, 3), optimize=True) - rdm2.bbbb.oovo += einsum(tmp38, (0, 1), delta.bb.oo, (2, 3), (2, 0, 1, 3), optimize=True) * -1 - rdm2.bbbb.oovo += einsum(tmp38, (0, 1), delta.bb.oo, (2, 3), (0, 2, 1, 3), optimize=True) - rdm2.bbbb.ooov += einsum(tmp38, (0, 1), delta.bb.oo, (2, 3), (2, 0, 3, 1), optimize=True) - rdm2.abab.ooov += einsum(tmp38, (0, 1), delta.aa.oo, (2, 3), (2, 0, 3, 1), optimize=True) - del tmp38 - tmp104 = einsum(tmp8, (0, 1), t1.bb, (0, 2), (1, 2), optimize=True) - rdm2.bbbb.oovv += einsum(t1.bb, (0, 1), tmp104, (2, 3), (2, 0, 3, 1), optimize=True) * -1 - rdm2.bbbb.oovv += einsum(t1.bb, (0, 1), tmp104, (2, 3), (2, 0, 1, 3), optimize=True) - rdm2.bbbb.oovv += einsum(t1.bb, (0, 1), tmp104, (2, 3), (0, 2, 3, 1), optimize=True) - rdm2.bbbb.oovv += einsum(tmp104, (0, 1), t1.bb, (2, 3), (2, 0, 3, 1), optimize=True) * -1 - del tmp104 - tmp105 = einsum(tmp17, (0, 1), t2.bbbb, (2, 0, 3, 4), (2, 1, 3, 4), optimize=True) * -2 - del tmp17 - rdm2.bbbb.oovv += tmp105.transpose((1, 0, 3, 2)) - rdm2.bbbb.oovv += tmp105.transpose((0, 1, 3, 2)) * -1 - del tmp105 - tmp96 = einsum(t2.abab, (0, 1, 2, 3), tmp95, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) - del tmp95 - rdm2.bbbb.oovv += tmp96.transpose((1, 0, 3, 2)) * 2 - rdm2.bbbb.oovv += tmp96 * 2 - rdm2.bbbb.oovv += tmp96.transpose((1, 0, 2, 3)) * -2 - rdm2.bbbb.oovv += tmp96.transpose((0, 1, 3, 2)) * -2 - del tmp96 - tmp108 = einsum(t1.bb, (0, 1), tmp107, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) - del tmp107 - rdm2.bbbb.oovv += tmp108.transpose((0, 1, 3, 2)) - rdm2.bbbb.oovv += tmp108.transpose((1, 0, 3, 2)) * -1 - rdm2.bbbb.oovv += tmp108 * -1 - rdm2.bbbb.oovv += tmp108.transpose((1, 0, 2, 3)) - del tmp108 - tmp103 = tmp40.copy() - tmp103 += tmp41 * 2 - tmp103 += tmp102 - del tmp102 - rdm2.bbbb.oovv += einsum(t1.bb, (0, 1), tmp103, (2, 3), (2, 0, 3, 1), optimize=True) * -1 - rdm2.bbbb.oovv += einsum(tmp103, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1), optimize=True) - rdm2.bbbb.oovv += einsum(tmp103, (0, 1), t1.bb, (2, 3), (2, 0, 1, 3), optimize=True) - rdm2.bbbb.oovv += einsum(tmp103, (0, 1), t1.bb, (2, 3), (2, 0, 3, 1), optimize=True) * -1 - del tmp103 - tmp106 = einsum(tmp53, (0, 1, 2, 3), t1.bb, (0, 4), (1, 3, 2, 4), optimize=True) - rdm2.bbbb.oovv += einsum(tmp106, (0, 1, 2, 3), t1.bb, (0, 4), (1, 2, 4, 3), optimize=True) * 2 - del tmp106 - tmp97 = t1.bb.copy() - tmp97 += tmp36 - tmp97 += tmp37 * 2 - rdm2.bbbb.oovv += einsum(tmp97, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1), optimize=True) * -1 - del tmp97 - tmp94 = einsum(t2.bbbb, (0, 1, 2, 3), tmp93, (1, 4, 3, 5), (4, 0, 5, 2), optimize=True) - del tmp93 - rdm2.bbbb.oovv += tmp94 * 8 - rdm2.bbbb.oovv += tmp94.transpose((0, 1, 3, 2)) * -8 - del tmp94 - tmp100 = tmp82.copy() * 0.5 - del tmp82 - tmp100 += tmp83 - del tmp83 - rdm2.bbbb.oovv += einsum(t2.bbbb, (0, 1, 2, 3), tmp100, (3, 4), (0, 1, 4, 2), optimize=True) * 4 - del tmp100 - tmp98 = tmp36.copy() - tmp98 += tmp37 * 2 - rdm2.bbbb.oovv += einsum(tmp98, (0, 1), t1.bb, (2, 3), (2, 0, 1, 3), optimize=True) * -1 - rdm2.bbbb.oovv += einsum(tmp98, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3), optimize=True) - del tmp98 - tmp99 = einsum(tmp50, (0, 1, 2, 3), t1.bb, (0, 4), (1, 2, 4, 3), optimize=True) - del tmp50 - rdm2.bbbb.oovv += tmp99.transpose((0, 1, 3, 2)) * -2 - rdm2.bbbb.oovv += tmp99 * 2 - del tmp99 - tmp43 = tmp40.copy() - del tmp40 - tmp43 += tmp41 * 2 - del tmp41 - tmp43 += tmp42 - del tmp42 - rdm2.abab.oovv += einsum(t1.aa, (0, 1), tmp43, (2, 3), (0, 2, 1, 3), optimize=True) * -1 - rdm2.bbbb.oovo += einsum(tmp43, (0, 1), delta.bb.oo, (2, 3), (2, 0, 1, 3), optimize=True) - rdm2.bbbb.oovo += einsum(delta.bb.oo, (0, 1), tmp43, (2, 3), (2, 0, 3, 1), optimize=True) * -1 - rdm2.bbbb.ooov += einsum(tmp43, (0, 1), delta.bb.oo, (2, 3), (2, 0, 3, 1), optimize=True) * -1 - rdm2.bbbb.ooov += einsum(delta.bb.oo, (0, 1), tmp43, (2, 3), (2, 0, 1, 3), optimize=True) - rdm2.abab.ooov += einsum(delta.aa.oo, (0, 1), tmp43, (2, 3), (0, 2, 1, 3), optimize=True) * -1 - del tmp43 - tmp56 = tmp27.copy() - tmp56 += tmp29 * 0.5 - tmp56 += tmp55 - del tmp55 - rdm2.abab.oovv += einsum(tmp56, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3), optimize=True) * -2 - rdm2.aaaa.oovo += einsum(delta.aa.oo, (0, 1), tmp56, (2, 3), (0, 2, 3, 1), optimize=True) * 2 - rdm2.aaaa.oovo += einsum(delta.aa.oo, (0, 1), tmp56, (2, 3), (2, 0, 3, 1), optimize=True) * -2 - del tmp56 - tmp57 = einsum(l1.bb, (0, 1), t2.abab, (2, 3, 4, 0), (2, 1, 3, 4), optimize=True) - rdm2.abab.oovv += einsum(tmp57, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 3, 4), optimize=True) * -1 - rdm2.abab.oovo += tmp57.transpose((0, 2, 3, 1)) * -1 - del tmp57 - tmp90 = tmp59.copy() - del tmp59 - tmp90 += tmp58 - del tmp58 - rdm2.abab.oovv += einsum(t1.bb, (0, 1), tmp90, (2, 0, 3, 4), (2, 3, 4, 1), optimize=True) * -2 - del tmp90 - tmp89 = tmp45.copy() - del tmp45 - tmp89 += tmp44 - del tmp44 - rdm2.abab.oovv += einsum(t1.aa, (0, 1), tmp89, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) * -2 - del tmp89 - tmp12 = tmp0.copy() - tmp12 += tmp1 * 2 - tmp12 += tmp2 - rdm2.abab.oovv += einsum(tmp12, (0, 1), t2.abab, (0, 2, 3, 4), (1, 2, 3, 4), optimize=True) * -1 - rdm2.aaaa.ooov += einsum(t1.aa, (0, 1), tmp12, (2, 3), (0, 3, 2, 1), optimize=True) - rdm2.aaaa.ooov += einsum(t1.aa, (0, 1), tmp12, (2, 3), (3, 0, 2, 1), optimize=True) * -1 - rdm2.abab.oooo += einsum(tmp12, (0, 1), delta.bb.oo, (2, 3), (1, 2, 0, 3), optimize=True) * -1 - del tmp12 - tmp48 = einsum(tmp14, (0, 1, 2, 3), t2.abab, (4, 1, 3, 5), (0, 4, 2, 5), optimize=True) - del tmp14 - rdm2.abab.oovv += einsum(t1.aa, (0, 1), tmp48, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) - rdm2.abab.ooov += tmp48.transpose((1, 2, 0, 3)) - del tmp48 - tmp47 = einsum(t1.bb, (0, 1), tmp46, (2, 3, 0, 4), (2, 3, 4, 1), optimize=True) - del tmp46 - rdm2.abab.oovv += einsum(tmp47, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3), optimize=True) - rdm2.abab.ooov += tmp47.transpose((1, 2, 0, 3)) - del tmp47 - tmp39 = einsum(t2.abab, (0, 1, 2, 3), l1.aa, (2, 4), (4, 0, 1, 3), optimize=True) - rdm2.abab.oovv += einsum(t1.aa, (0, 1), tmp39, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) * -1 - rdm2.abab.ooov += tmp39.transpose((1, 2, 0, 3)) * -1 - del tmp39 - tmp71 = tmp22.copy() * 2 - tmp71 += tmp23 - rdm2.abab.oovv += einsum(tmp71, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3), optimize=True) - rdm2.aaaa.oovv += einsum(tmp71, (0, 1), t1.aa, (2, 3), (2, 0, 1, 3), optimize=True) * -1 - rdm2.aaaa.oovv += einsum(tmp71, (0, 1), t1.aa, (2, 3), (0, 2, 1, 3), optimize=True) - del tmp71 - tmp60 = einsum(t2.abab, (0, 1, 2, 3), tmp28, (0, 4, 5, 3), (4, 5, 1, 2), optimize=True) - del tmp28 - rdm2.abab.oovv += einsum(tmp60, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 3, 4), optimize=True) - rdm2.abab.oovo += tmp60.transpose((0, 2, 3, 1)) - del tmp60 - tmp76 = tmp27.copy() - tmp76 += tmp29 * 0.5 - tmp76 += tmp75 - del tmp75 - rdm2.aaaa.oovv += einsum(tmp76, (0, 1), t1.aa, (2, 3), (0, 2, 1, 3), optimize=True) * -2 - rdm2.aaaa.oovv += einsum(t1.aa, (0, 1), tmp76, (2, 3), (2, 0, 1, 3), optimize=True) * 2 - rdm2.aaaa.oovv += einsum(tmp76, (0, 1), t1.aa, (2, 3), (2, 0, 1, 3), optimize=True) * 2 - rdm2.aaaa.oovv += einsum(t1.aa, (0, 1), tmp76, (2, 3), (0, 2, 1, 3), optimize=True) * -2 - del tmp76 - tmp81 = einsum(t1.aa, (0, 1), tmp80, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) - del tmp80 - rdm2.aaaa.oovv += tmp81.transpose((0, 1, 3, 2)) - rdm2.aaaa.oovv += tmp81.transpose((1, 0, 3, 2)) * -1 - rdm2.aaaa.oovv += tmp81 * -1 - rdm2.aaaa.oovv += tmp81.transpose((1, 0, 2, 3)) - del tmp81 - tmp67 = einsum(tmp66, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 2), (4, 1, 5, 3), optimize=True) - del tmp66 - rdm2.aaaa.oovv += tmp67 * 8 - rdm2.aaaa.oovv += tmp67.transpose((0, 1, 3, 2)) * -8 - del tmp67 - tmp25 = t1.aa.copy() - tmp25 += tmp22 * 2 - tmp25 += tmp23 - rdm2.aaaa.oovv += einsum(tmp25, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1), optimize=True) - rdm2.abab.oovo += einsum(delta.bb.oo, (0, 1), tmp25, (2, 3), (2, 0, 3, 1), optimize=True) - rdm2.aaaa.oovo += einsum(delta.aa.oo, (0, 1), tmp25, (2, 3), (0, 2, 3, 1), optimize=True) * -1 - rdm2.aaaa.oovo += einsum(delta.aa.oo, (0, 1), tmp25, (2, 3), (2, 0, 3, 1), optimize=True) - rdm2.aaaa.ooov += einsum(delta.aa.oo, (0, 1), tmp25, (2, 3), (0, 2, 1, 3), optimize=True) - del tmp25 - tmp78 = einsum(tmp4, (0, 1), t2.aaaa, (2, 0, 3, 4), (1, 2, 3, 4), optimize=True) * -4 - del tmp4 - rdm2.aaaa.oovv += tmp78.transpose((0, 1, 3, 2)) - rdm2.aaaa.oovv += tmp78.transpose((1, 0, 3, 2)) * -1 - del tmp78 - tmp63 = tmp61.copy() * 2 - del tmp61 - tmp63 += tmp62 - del tmp62 - rdm2.aaaa.oovv += einsum(t2.aaaa, (0, 1, 2, 3), tmp63, (3, 4), (0, 1, 2, 4), optimize=True) * -2 - del tmp63 - tmp70 = t1.aa.copy() - tmp70 += tmp22 * 2 - tmp70 += tmp23 - rdm2.aaaa.oovv += einsum(t1.aa, (0, 1), tmp70, (2, 3), (2, 0, 1, 3), optimize=True) * -1 - del tmp70 - tmp69 = einsum(t2.abab, (0, 1, 2, 3), tmp68, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) - del tmp68 - rdm2.aaaa.oovv += tmp69.transpose((1, 0, 3, 2)) * 2 - rdm2.aaaa.oovv += tmp69 * 2 - rdm2.aaaa.oovv += tmp69.transpose((1, 0, 2, 3)) * -2 - rdm2.aaaa.oovv += tmp69.transpose((0, 1, 3, 2)) * -2 - del tmp69 - tmp65 = einsum(t2.abab, (0, 1, 2, 3), tmp64, (4, 1, 5, 3), (0, 4, 2, 5), optimize=True) - del tmp64 - rdm2.aaaa.oovv += tmp65 * 2 - rdm2.aaaa.oovv += tmp65.transpose((0, 1, 3, 2)) * -2 - del tmp65 - tmp79 = einsum(tmp34, (0, 1, 2, 3), t1.aa, (0, 4), (1, 3, 2, 4), optimize=True) - rdm2.aaaa.oovv += einsum(t1.aa, (0, 1), tmp79, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) * 2 - del tmp79 - tmp72 = einsum(t1.aa, (0, 1), tmp26, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) - del tmp26 - rdm2.aaaa.oovv += tmp72.transpose((0, 1, 3, 2)) * -2 - rdm2.aaaa.oovv += tmp72 * 2 - del tmp72 - tmp77 = einsum(t1.aa, (0, 1), tmp0, (0, 2), (2, 1), optimize=True) - rdm2.aaaa.oovv += einsum(tmp77, (0, 1), t1.aa, (2, 3), (0, 2, 1, 3), optimize=True) * -1 - rdm2.aaaa.oovv += einsum(t1.aa, (0, 1), tmp77, (2, 3), (2, 0, 1, 3), optimize=True) - rdm2.aaaa.oovv += einsum(tmp77, (0, 1), t1.aa, (2, 3), (2, 0, 1, 3), optimize=True) - rdm2.aaaa.oovv += einsum(t1.aa, (0, 1), tmp77, (2, 3), (0, 2, 1, 3), optimize=True) * -1 - del tmp77 - tmp54 = einsum(tmp53, (0, 1, 2, 3), t1.bb, (0, 4), (1, 2, 3, 4), optimize=True) * 2 - del tmp53 - rdm2.bbbb.oovo += tmp54.transpose((2, 1, 3, 0)) * -1 - rdm2.bbbb.ooov += tmp54.transpose((2, 1, 0, 3)) - del tmp54 - tmp31 = tmp27.copy() * 2 - del tmp27 - tmp31 += tmp29 - del tmp29 - tmp31 += tmp30 - del tmp30 - rdm2.abab.oovo += einsum(delta.bb.oo, (0, 1), tmp31, (2, 3), (2, 0, 3, 1), optimize=True) * -1 - rdm2.aaaa.ooov += einsum(delta.aa.oo, (0, 1), tmp31, (2, 3), (0, 2, 1, 3), optimize=True) * -1 - rdm2.aaaa.ooov += einsum(delta.aa.oo, (0, 1), tmp31, (2, 3), (2, 0, 1, 3), optimize=True) - del tmp31 - tmp18 = tmp8.copy() * 0.5 - tmp18 += tmp9 * 0.5 - tmp18 += tmp10 - rdm2.abab.oovo += einsum(t1.aa, (0, 1), tmp18, (2, 3), (0, 3, 1, 2), optimize=True) * -2 - rdm2.bbbb.oooo += einsum(tmp18, (0, 1), delta.bb.oo, (2, 3), (2, 1, 0, 3), optimize=True) * 2 - del tmp18 - tmp35 = einsum(t1.aa, (0, 1), tmp34, (0, 2, 3, 4), (2, 3, 4, 1), optimize=True) * 2 - del tmp34 - rdm2.aaaa.oovo += tmp35.transpose((2, 1, 3, 0)) * -1 - rdm2.aaaa.ooov += tmp35.transpose((2, 1, 0, 3)) - del tmp35 - tmp49 = t1.bb.copy() * 0.5 - tmp49 += tmp36 * 0.5 - del tmp36 - tmp49 += tmp37 - del tmp37 - rdm2.bbbb.ooov += einsum(delta.bb.oo, (0, 1), tmp49, (2, 3), (2, 0, 1, 3), optimize=True) * -2 - del tmp49 - tmp24 = t1.aa.copy() * 0.5 - tmp24 += tmp22 - del tmp22 - tmp24 += tmp23 * 0.5 - del tmp23 - rdm2.aaaa.ooov += einsum(delta.aa.oo, (0, 1), tmp24, (2, 3), (2, 0, 1, 3), optimize=True) * -2 - del tmp24 - tmp16 = delta.bb.oo.copy() * -1 - tmp16 += tmp8 - tmp16 += tmp9 - tmp16 += tmp10 * 2 - rdm2.bbbb.oooo += einsum(delta.bb.oo, (0, 1), tmp16, (2, 3), (3, 0, 1, 2), optimize=True) - rdm2.bbbb.oooo += einsum(tmp16, (0, 1), delta.bb.oo, (2, 3), (2, 1, 3, 0), optimize=True) * -1 - del tmp16 - tmp11 = delta.bb.oo.copy() * -0.5 - tmp11 += tmp8 * 0.5 - del tmp8 - tmp11 += tmp9 * 0.5 - del tmp9 - tmp11 += tmp10 - del tmp10 - rdm2.abab.oooo += einsum(tmp11, (0, 1), delta.aa.oo, (2, 3), (2, 1, 3, 0), optimize=True) * -2 - del tmp11 - tmp3 = delta.aa.oo.copy() * -1 - tmp3 += tmp0 - del tmp0 - tmp3 += tmp1 * 2 - del tmp1 - tmp3 += tmp2 - del tmp2 - rdm2.aaaa.oooo += einsum(tmp3, (0, 1), delta.aa.oo, (2, 3), (1, 2, 3, 0), optimize=True) - rdm2.aaaa.oooo += einsum(delta.aa.oo, (0, 1), tmp3, (2, 3), (0, 3, 1, 2), optimize=True) * -1 - del tmp3 - rdm2.aaaa.ovoo += einsum(delta.aa.oo, (0, 1), l1.aa, (2, 3), (0, 2, 3, 1), optimize=True) * -1 - rdm2.aaaa.ovoo += einsum(delta.aa.oo, (0, 1), l1.aa, (2, 3), (0, 2, 1, 3), optimize=True) - rdm2.abab.ovoo += einsum(l1.bb, (0, 1), delta.aa.oo, (2, 3), (2, 0, 3, 1), optimize=True) - rdm2.bbbb.ovoo += einsum(l1.bb, (0, 1), delta.bb.oo, (2, 3), (2, 0, 1, 3), optimize=True) * -1 - rdm2.bbbb.ovoo += einsum(l1.bb, (0, 1), delta.bb.oo, (2, 3), (2, 0, 3, 1), optimize=True) - rdm2.aaaa.vooo += einsum(delta.aa.oo, (0, 1), l1.aa, (2, 3), (2, 0, 3, 1), optimize=True) - rdm2.aaaa.vooo += einsum(delta.aa.oo, (0, 1), l1.aa, (2, 3), (2, 0, 1, 3), optimize=True) * -1 - rdm2.abab.vooo += einsum(delta.bb.oo, (0, 1), l1.aa, (2, 3), (2, 0, 3, 1), optimize=True) - rdm2.bbbb.vooo += einsum(l1.bb, (0, 1), delta.bb.oo, (2, 3), (0, 2, 1, 3), optimize=True) - rdm2.bbbb.vooo += einsum(l1.bb, (0, 1), delta.bb.oo, (2, 3), (0, 2, 3, 1), optimize=True) * -1 - del delta - rdm2.aaaa.oovv += t2.aaaa * 2 - rdm2.abab.oovv += t2.abab - rdm2.bbbb.oovv += t2.bbbb * 2 - rdm2.aaaa.ovov += einsum(l1.aa, (0, 1), t1.aa, (2, 3), (2, 0, 1, 3), optimize=True) * -1 - rdm2.bbbb.ovov += einsum(t1.bb, (0, 1), l1.bb, (2, 3), (0, 2, 3, 1), optimize=True) * -1 - rdm2.aaaa.ovvo += einsum(l1.aa, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1), optimize=True) - rdm2.abab.ovvo += einsum(l1.bb, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1), optimize=True) - rdm2.bbbb.ovvo += einsum(t1.bb, (0, 1), l1.bb, (2, 3), (0, 2, 1, 3), optimize=True) - rdm2.aaaa.voov += einsum(l1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 1, 3), optimize=True) - rdm2.abab.voov += einsum(t1.bb, (0, 1), l1.aa, (2, 3), (2, 0, 3, 1), optimize=True) - rdm2.bbbb.voov += einsum(t1.bb, (0, 1), l1.bb, (2, 3), (2, 0, 3, 1), optimize=True) - rdm2.aaaa.vovo += einsum(l1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 3, 1), optimize=True) * -1 - rdm2.bbbb.vovo += einsum(t1.bb, (0, 1), l1.bb, (2, 3), (2, 0, 1, 3), optimize=True) * -1 - rdm2.aaaa.vvoo = l2.aaaa.copy() * 2 - rdm2.abab.vvoo = l2.abab.copy() - rdm2.bbbb.vvoo = l2.bbbb.copy() * 2 - rdm2.abab.ovvv += einsum(l1.bb, (0, 1), t2.abab, (2, 1, 3, 4), (2, 0, 3, 4), optimize=True) - rdm2.abab.vovv += einsum(t2.abab, (0, 1, 2, 3), l1.aa, (4, 0), (4, 1, 2, 3), optimize=True) - rdm2.abab.vvvo = einsum(l2.abab, (0, 1, 2, 3), t1.aa, (2, 4), (0, 1, 4, 3), optimize=True) - rdm2.aaaa.vvvv += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (2, 3, 4, 5), (0, 1, 4, 5), optimize=True) * 2 - rdm2.abab.vvvv += einsum(t2.abab, (0, 1, 2, 3), l2.abab, (4, 5, 0, 1), (4, 5, 2, 3), optimize=True) - rdm2.bbbb.vvvv += einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (4, 5, 0, 1), (4, 5, 2, 3), optimize=True) * 2 - rdm2.aaaa = pack_2e(rdm2.aaaa.oooo, rdm2.aaaa.ooov, rdm2.aaaa.oovo, rdm2.aaaa.ovoo, rdm2.aaaa.vooo, rdm2.aaaa.oovv, rdm2.aaaa.ovov, rdm2.aaaa.ovvo, rdm2.aaaa.voov, rdm2.aaaa.vovo, rdm2.aaaa.vvoo, rdm2.aaaa.ovvv, rdm2.aaaa.vovv, rdm2.aaaa.vvov, rdm2.aaaa.vvvo, rdm2.aaaa.vvvv) - rdm2.abab = pack_2e(rdm2.abab.oooo, rdm2.abab.ooov, rdm2.abab.oovo, rdm2.abab.ovoo, rdm2.abab.vooo, rdm2.abab.oovv, rdm2.abab.ovov, rdm2.abab.ovvo, rdm2.abab.voov, rdm2.abab.vovo, rdm2.abab.vvoo, rdm2.abab.ovvv, rdm2.abab.vovv, rdm2.abab.vvov, rdm2.abab.vvvo, rdm2.abab.vvvv) - rdm2.bbbb = pack_2e(rdm2.bbbb.oooo, rdm2.bbbb.ooov, rdm2.bbbb.oovo, rdm2.bbbb.ovoo, rdm2.bbbb.vooo, rdm2.bbbb.oovv, rdm2.bbbb.ovov, rdm2.bbbb.ovvo, rdm2.bbbb.voov, rdm2.bbbb.vovo, rdm2.bbbb.vvoo, rdm2.bbbb.ovvv, rdm2.bbbb.vovv, rdm2.bbbb.vvov, rdm2.bbbb.vvvo, rdm2.bbbb.vvvv) - rdm2 = Namespace( - aaaa=rdm2.aaaa.swapaxes(1, 2), - aabb=rdm2.abab.swapaxes(1, 2), - bbbb=rdm2.bbbb.swapaxes(1, 2), - ) - - return rdm2 - -def hbar_matvec_ip(f=None, r1=None, r2=None, t1=None, t2=None, v=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-07-22T17:01:50.863298. - - Parameters - ---------- - f : Namespace of arrays - Fock matrix. - r1 : Namespace of arrays - R1 amplitudes. - r2 : Namespace of arrays - R2 amplitudes. - t1 : Namespace of arrays - T1 amplitudes. - t2 : Namespace of arrays - T2 amplitudes. - v : Namespace of arrays - Electron repulsion integrals. - - Returns - ------- - r1new : Namespace of arrays - Updated R1 residuals. - r2new : Namespace of arrays - Updated R2 residuals. - """ - - r1new = Namespace() - r2new = Namespace() - tmp21 = v.bbbb.ovov.transpose((0, 2, 3, 1)).copy() * -1 - tmp21 += v.bbbb.ovov.transpose((0, 2, 1, 3)) - tmp5 = v.aaaa.ovov.transpose((0, 2, 3, 1)).copy() * -1 - tmp5 += v.aaaa.ovov.transpose((0, 2, 1, 3)) - tmp22 = einsum(t1.bb, (0, 1), tmp21, (0, 2, 3, 1), (2, 3), optimize=True) - del tmp21 - tmp8 = einsum(t1.aa, (0, 1), v.aabb.ovov, (0, 1, 2, 3), (2, 3), optimize=True) - tmp125 = einsum(t1.bb, (0, 1), r1.b, (2,), (2, 0, 1), optimize=True) - tmp125 += r2.bbb * 2 - r2new.aba = einsum(tmp125, (0, 1, 2), v.aabb.ovov, (3, 4, 0, 2), (3, 1, 4), optimize=True) - tmp185 = v.bbbb.ooov.copy() * -1 - tmp185 += v.bbbb.ovoo.transpose((0, 2, 3, 1)) - tmp103 = v.bbbb.ovov.transpose((0, 2, 3, 1)).copy() - tmp103 += v.bbbb.ovov.transpose((0, 2, 1, 3)) * -1 - tmp6 = einsum(tmp5, (0, 1, 2, 3), t1.aa, (0, 3), (1, 2), optimize=True) - tmp4 = einsum(v.aabb.ovov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1), optimize=True) - tmp19 = v.aaaa.ovov.transpose((0, 2, 3, 1)).copy() * -1 - tmp19 += v.aaaa.ovov.transpose((0, 2, 1, 3)) - tmp53 = v.aaaa.ooov.copy() * -1 - tmp53 += v.aaaa.ovoo.transpose((0, 2, 3, 1)) - tmp68 = einsum(r1.a, (0,), t1.aa, (1, 2), (0, 1, 2), optimize=True) - tmp68 += r2.aaa * 2 - r2new.bab = einsum(v.aabb.ovov, (0, 1, 2, 3), tmp68, (0, 4, 1), (2, 4, 3), optimize=True) - tmp23 = f.bb.ov.copy() - tmp23 += tmp8 - tmp23 += tmp22 * -1 - del tmp22 - r1new.b = einsum(tmp23, (0, 1), r2.bbb, (2, 0, 1), (2,), optimize=True) * 2 - tmp16 = einsum(r1.b, (0,), v.bbbb.ovov, (1, 2, 0, 3), (1, 2, 3), optimize=True) - r1new.b += einsum(t2.bbbb, (0, 1, 2, 3), tmp16, (1, 3, 2), (0,), optimize=True) * -2 - tmp197 = einsum(r2.aba, (0, 1, 2), v.aabb.ovvv, (0, 2, 3, 4), (1, 3, 4), optimize=True) - tmp198 = einsum(tmp125, (0, 1, 2), v.bbbb.ovvv, (0, 2, 3, 4), (1, 3, 4), optimize=True) - tmp186 = einsum(r1.b, (0,), tmp185, (0, 1, 2, 3), (1, 2, 3), optimize=True) - del tmp185 - tmp104 = einsum(r2.bbb, (0, 1, 2), tmp103, (1, 3, 4, 2), (0, 3, 4), optimize=True) * -1 - del tmp103 - tmp102 = einsum(r2.aba, (0, 1, 2), v.aabb.ovov, (0, 2, 3, 4), (1, 3, 4), optimize=True) - tmp109 = v.aaaa.ovov.transpose((0, 2, 3, 1)).copy() - tmp109 += v.aaaa.ovov.transpose((0, 2, 1, 3)) * -1 - tmp26 = einsum(t1.bb, (0, 1), v.bbbb.ovov, (2, 3, 0, 1), (2, 3), optimize=True) - tmp9 = v.bbbb.ovov.transpose((0, 2, 3, 1)).copy() * -1 - tmp9 += v.bbbb.ovov.transpose((0, 2, 1, 3)) - tmp11 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t1.aa, (2, 1), (0, 3), optimize=True) - tmp7 = f.aa.ov.copy() - tmp7 += tmp4 - tmp7 += tmp6 * -1 - del tmp6 - r1new.a = einsum(tmp7, (0, 1), r2.aaa, (2, 0, 1), (2,), optimize=True) * 2 - tmp0 = einsum(r1.a, (0,), v.aaaa.ovov, (1, 2, 0, 3), (1, 2, 3), optimize=True) - r1new.a += einsum(t2.aaaa, (0, 1, 2, 3), tmp0, (1, 3, 2), (0,), optimize=True) * -2 - tmp52 = einsum(r2.aaa, (0, 1, 2), tmp19, (1, 3, 4, 2), (0, 3, 4), optimize=True) * -1 - tmp54 = einsum(r1.a, (0,), tmp53, (1, 2, 0, 3), (1, 2, 3), optimize=True) - del tmp53 - tmp32 = einsum(v.aabb.ovov, (0, 1, 2, 3), r2.bab, (2, 4, 3), (4, 0, 1), optimize=True) * -1 - tmp69 = einsum(v.aaaa.ovvv, (0, 1, 2, 3), tmp68, (0, 4, 1), (4, 2, 3), optimize=True) - tmp67 = einsum(v.aabb.vvov, (0, 1, 2, 3), r2.bab, (2, 4, 3), (4, 0, 1), optimize=True) * -1 - tmp15 = einsum(v.aabb.ovov, (0, 1, 2, 3), r1.b, (2,), (0, 1, 3), optimize=True) - r1new.b += einsum(t2.abab, (0, 1, 2, 3), tmp15, (0, 2, 3), (1,), optimize=True) * -1 - tmp152 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 1, 4), (3, 4), optimize=True) - tmp153 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (0, 2, 4, 3), (4, 1), optimize=True) - tmp154 = einsum(tmp23, (0, 1), t1.bb, (0, 2), (2, 1), optimize=True) - tmp202 = einsum(t1.bb, (0, 1), tmp16, (2, 1, 3), (0, 2, 3), optimize=True) - tmp199 = tmp197.transpose((0, 2, 1)).copy() - del tmp197 - tmp199 += tmp198.transpose((0, 2, 1)) - del tmp198 - tmp187 = tmp102.copy() - tmp187 += tmp104 * 2 - tmp187 += tmp186 * -1 - del tmp186 - r2new.bbb = einsum(t2.bbbb, (0, 1, 2, 3), tmp187, (4, 1, 3), (4, 0, 2), optimize=True) * -2 - tmp132 = einsum(tmp23, (0, 1), t1.bb, (2, 1), (2, 0), optimize=True) - tmp131 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (4, 2, 1, 3), (4, 0), optimize=True) - tmp130 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 3), (1, 4), optimize=True) - tmp110 = einsum(tmp109, (0, 1, 2, 3), r2.aba, (0, 4, 3), (1, 4, 2), optimize=True) - del tmp109 - tmp107 = einsum(r1.b, (0,), v.aabb.ovoo, (1, 2, 3, 0), (1, 3, 2), optimize=True) - r2new.aba += tmp107 - tmp108 = einsum(r2.bbb, (0, 1, 2), v.aabb.ovov, (3, 4, 1, 2), (3, 0, 4), optimize=True) - tmp18 = r2.bbb.copy() * 2 - tmp18 += einsum(r1.b, (0,), t1.bb, (1, 2), (1, 0, 2), optimize=True) * -1 - r1new.b += einsum(tmp18, (0, 1, 2), v.bbbb.ooov, (3, 1, 0, 2), (3,), optimize=True) - tmp27 = f.bb.ov.copy() - tmp27 += tmp26 - del tmp26 - tmp17 = r2.aba.copy() - tmp17 += einsum(t1.aa, (0, 1), r1.b, (2,), (0, 2, 1), optimize=True) * -1 - r1new.b += einsum(tmp17, (0, 1, 2), v.aabb.ovoo, (0, 2, 3, 1), (3,), optimize=True) - tmp156 = v.bbbb.ooov.copy() - tmp156 += v.bbbb.ovoo.transpose((0, 2, 3, 1)) * -1 - tmp113 = v.bbbb.ooov.copy() - tmp113 += v.bbbb.ovoo.transpose((0, 2, 3, 1)) * -1 - tmp128 = tmp16.copy() * -1 - tmp128 += tmp16.transpose((0, 2, 1)) - tmp193 = einsum(r2.bbb, (0, 1, 2), v.bbbb.ovvv, (1, 3, 4, 2), (0, 3, 4), optimize=True) - tmp37 = einsum(r2.bab, (0, 1, 2), tmp9, (0, 3, 4, 2), (1, 3, 4), optimize=True) * -1 - tmp35 = einsum(v.aabb.ooov, (0, 1, 2, 3), r1.a, (1,), (0, 2, 3), optimize=True) - r2new.bab += tmp35.transpose((1, 0, 2)) - tmp36 = einsum(v.aabb.ovov, (0, 1, 2, 3), r2.aaa, (4, 0, 1), (4, 2, 3), optimize=True) - tmp12 = f.aa.ov.copy() - tmp12 += tmp11 * -1 - del tmp11 - tmp3 = r2.aaa.copy() * 2 - tmp3 += einsum(t1.aa, (0, 1), r1.a, (2,), (0, 2, 1), optimize=True) * -1 - r1new.a += einsum(tmp3, (0, 1, 2), v.aaaa.ooov, (3, 0, 1, 2), (3,), optimize=True) * -1 - tmp2 = r2.bab.transpose((1, 0, 2)).copy() * -1 - tmp2 += einsum(r1.a, (0,), t1.bb, (1, 2), (0, 1, 2), optimize=True) - r1new.a += einsum(v.aabb.ooov, (0, 1, 2, 3), tmp2, (1, 2, 3), (0,), optimize=True) * -1 - tmp150 = einsum(v.aabb.ovov, (0, 1, 2, 3), r2.bab, (4, 0, 3), (4, 2, 1), optimize=True) * -1 - tmp149 = einsum(r1.a, (0,), v.aabb.ovoo, (0, 1, 2, 3), (2, 3, 1), optimize=True) - tmp1 = einsum(r1.a, (0,), v.aabb.ovov, (0, 1, 2, 3), (2, 1, 3), optimize=True) - r1new.a += einsum(t2.abab, (0, 1, 2, 3), tmp1, (1, 2, 3), (0,), optimize=True) * -1 - tmp46 = v.aaaa.ooov.copy() * -1 - tmp46 += v.aaaa.ooov.transpose((0, 2, 1, 3)) - tmp117 = einsum(v.aabb.ooov, (0, 1, 2, 3), r1.b, (2,), (0, 1, 3), optimize=True) - tmp118 = einsum(r2.aba, (0, 1, 2), v.aabb.ovov, (3, 2, 1, 4), (0, 3, 4), optimize=True) - tmp60 = v.aaaa.ooov.copy() * -1 - tmp60 += v.aaaa.ooov.transpose((0, 2, 1, 3)) - tmp74 = einsum(r2.aaa, (0, 1, 2), v.aaaa.ovvv, (1, 3, 4, 2), (0, 3, 4), optimize=True) - tmp94 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 2, 1, 3), (0, 4), optimize=True) - tmp95 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 1, 3), (0, 4), optimize=True) - tmp96 = einsum(t1.aa, (0, 1), tmp7, (2, 1), (0, 2), optimize=True) * 0.5 - tmp90 = tmp0.copy() * -1 - tmp90 += tmp0.transpose((0, 2, 1)) - tmp77 = einsum(tmp0, (0, 1, 2), t1.aa, (3, 1), (3, 0, 2), optimize=True) - tmp55 = tmp32.copy() - tmp55 += tmp52 * 2 - tmp55 += tmp54.transpose((1, 0, 2)) * -1 - del tmp54 - r2new.aaa = einsum(t2.aaaa, (0, 1, 2, 3), tmp55, (4, 1, 3), (4, 0, 2), optimize=True) * 2 - tmp40 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (0, 3, 1, 4), (2, 4), optimize=True) * -1 - tmp42 = einsum(t1.aa, (0, 1), tmp7, (0, 2), (1, 2), optimize=True) - tmp41 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 4, 1, 3), (2, 4), optimize=True) - tmp70 = tmp67.transpose((0, 2, 1)).copy() - del tmp67 - tmp70 += tmp69.transpose((0, 2, 1)) * -1 - del tmp69 - tmp127 = einsum(tmp15, (0, 1, 2), t1.bb, (3, 2), (0, 3, 1), optimize=True) - r2new.aba += einsum(tmp127, (0, 1, 2), t2.aaaa, (3, 0, 4, 2), (3, 1, 4), optimize=True) * 2 - tmp162 = einsum(t1.aa, (0, 1), v.aabb.ovvv, (0, 1, 2, 3), (2, 3), optimize=True) - tmp173 = v.bbbb.ovvv.copy() * -1 - tmp173 += v.bbbb.ovvv.transpose((0, 2, 3, 1)) - tmp155 = tmp152.transpose((1, 0)).copy() - del tmp152 - tmp155 += tmp153.transpose((1, 0)) * 2 - del tmp153 - tmp155 += tmp154.transpose((1, 0)) - del tmp154 - r2new.bab += einsum(tmp155, (0, 1), r2.bab, (2, 3, 0), (2, 3, 1), optimize=True) * -1 - tmp203 = einsum(t1.bb, (0, 1), tmp202, (2, 3, 1), (2, 0, 3), optimize=True) - del tmp202 - tmp196 = einsum(v.bbbb.ovov, (0, 1, 2, 3), r2.bbb, (4, 2, 3), (4, 0, 1), optimize=True) - tmp200 = einsum(t1.bb, (0, 1), tmp199, (2, 1, 3), (2, 0, 3), optimize=True) - del tmp199 - tmp216 = einsum(tmp187, (0, 1, 2), t1.bb, (3, 2), (0, 1, 3), optimize=True) - del tmp187 - tmp214 = tmp130.copy() - tmp214 += tmp131 * 2 - tmp214 += tmp132 - tmp111 = tmp107.copy() * -1 - del tmp107 - tmp111 += tmp108 * 2 - del tmp108 - tmp111 += tmp110 * -1 - del tmp110 - r2new.aba += einsum(tmp111, (0, 1, 2), t2.aaaa, (3, 0, 4, 2), (3, 1, 4), optimize=True) * -2 - tmp25 = einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp18, (0, 2, 3), (1,), optimize=True) - del tmp18 - tmp28 = einsum(r1.b, (0,), tmp27, (0, 1), (1,), optimize=True) - del tmp27 - tmp24 = einsum(v.aabb.ovov, (0, 1, 2, 3), tmp17, (0, 2, 1), (3,), optimize=True) - tmp181 = einsum(v.bbbb.oooo, (0, 1, 2, 3), r1.b, (3,), (0, 1, 2), optimize=True) - tmp183 = v.bbbb.ooov.copy() * -1 - tmp183 += v.bbbb.ooov.transpose((0, 2, 1, 3)) - tmp182 = einsum(r2.aba, (0, 1, 2), v.aabb.ovoo, (0, 2, 3, 4), (1, 3, 4), optimize=True) - tmp157 = einsum(t1.bb, (0, 1), tmp156, (0, 2, 3, 1), (2, 3), optimize=True) - tmp112 = einsum(t1.aa, (0, 1), v.aabb.ovoo, (0, 1, 2, 3), (2, 3), optimize=True) - tmp208 = einsum(v.bbbb.ooov, (0, 1, 2, 3), t1.bb, (4, 3), (4, 0, 1, 2), optimize=True) - tmp188 = v.bbbb.ooov.copy() * -1 - tmp188 += v.bbbb.ooov.transpose((0, 2, 1, 3)) - tmp114 = einsum(t1.bb, (0, 1), tmp113, (0, 2, 3, 1), (2, 3), optimize=True) - del tmp113 - tmp129 = einsum(tmp128, (0, 1, 2), t1.bb, (3, 2), (3, 0, 1), optimize=True) - del tmp128 - r2new.aba += einsum(tmp129, (0, 1, 2), t2.abab, (3, 1, 4, 2), (3, 0, 4), optimize=True) * -1 - tmp177 = v.bbbb.ooov.copy() * -1 - tmp177 += v.bbbb.ovoo.transpose((0, 2, 3, 1)) - tmp176 = v.bbbb.ovov.transpose((0, 2, 3, 1)).copy() - tmp176 += v.bbbb.ovov.transpose((0, 2, 1, 3)) * -1 - tmp192 = einsum(t1.bb, (0, 1), tmp16, (2, 3, 1), (0, 2, 3), optimize=True) - del tmp16 - tmp194 = einsum(t1.bb, (0, 1), tmp193, (2, 1, 3), (2, 0, 3), optimize=True) - del tmp193 - tmp205 = r2.bbb.copy() - tmp205 += einsum(r1.b, (0,), t1.bb, (1, 2), (1, 0, 2), optimize=True) * -1 - tmp190 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t1.bb, (4, 3), (4, 0, 2, 1), optimize=True) - tmp38 = tmp35.copy() * -1 - del tmp35 - tmp38 += tmp36 * 2 - del tmp36 - tmp38 += tmp37 * -1 - del tmp37 - r2new.bab += einsum(tmp38, (0, 1, 2), t2.bbbb, (3, 1, 4, 2), (3, 0, 4), optimize=True) * -2 - tmp58 = einsum(r1.a, (0,), tmp12, (0, 1), (1,), optimize=True) * 0.5 - tmp56 = einsum(v.aaaa.ovov, (0, 1, 2, 3), tmp3, (0, 2, 1), (3,), optimize=True) * 0.5 - tmp57 = einsum(v.aabb.ovov, (0, 1, 2, 3), tmp2, (0, 2, 3), (1,), optimize=True) * 0.5 - tmp166 = tmp149.transpose((1, 0, 2)).copy() - tmp166 += tmp150 - tmp168 = einsum(tmp1, (0, 1, 2), t1.bb, (3, 2), (3, 0, 1), optimize=True) - r2new.bab += einsum(tmp168, (0, 1, 2), t2.abab, (3, 1, 2, 4), (0, 3, 4), optimize=True) * -1 - tmp47 = einsum(t1.aa, (0, 1), tmp46, (2, 3, 0, 1), (2, 3), optimize=True) - tmp45 = einsum(v.aabb.ooov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1), optimize=True) - tmp163 = v.bbbb.ovvv.copy() * -1 - tmp163 += v.bbbb.ovvv.transpose((0, 2, 3, 1)) - tmp141 = einsum(v.aabb.ovov, (0, 1, 2, 3), t1.bb, (4, 3), (0, 4, 2, 1), optimize=True) - tmp82 = einsum(v.aabb.vvov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1), optimize=True) - tmp123 = v.aaaa.ovvv.copy() - tmp123 += v.aaaa.ovvv.transpose((0, 2, 1, 3)) * -1 - tmp134 = tmp117.transpose((1, 0, 2)).copy() - tmp134 += tmp118 * -1 - tmp144 = v.aaaa.ovvv.copy() * -1 - tmp144 += v.aaaa.ovvv.transpose((0, 2, 1, 3)) - tmp105 = v.bbbb.ooov.copy() - tmp105 += v.bbbb.ooov.transpose((0, 2, 1, 3)) * -1 - tmp61 = einsum(t1.aa, (0, 1), tmp60, (2, 3, 0, 1), (2, 3), optimize=True) - tmp73 = einsum(tmp0, (0, 1, 2), t1.aa, (3, 2), (3, 0, 1), optimize=True) - del tmp0 - tmp75 = einsum(tmp74, (0, 1, 2), t1.aa, (3, 1), (0, 3, 2), optimize=True) - del tmp74 - tmp80 = r2.aaa.copy() - tmp80 += einsum(t1.aa, (0, 1), r1.a, (2,), (0, 2, 1), optimize=True) * -1 - tmp97 = tmp94.copy() - tmp97 += tmp95 * 0.5 - tmp97 += tmp96 - tmp91 = einsum(tmp90, (0, 1, 2), t1.aa, (3, 2), (3, 0, 1), optimize=True) - del tmp90 - r2new.bab += einsum(tmp91, (0, 1, 2), t2.abab, (1, 3, 2, 4), (3, 0, 4), optimize=True) * -1 - tmp33 = v.aaaa.ooov.copy() * -1 - tmp33 += v.aaaa.ovoo.transpose((0, 2, 3, 1)) - tmp78 = einsum(t1.aa, (0, 1), tmp77, (2, 3, 1), (2, 0, 3), optimize=True) - del tmp77 - tmp88 = einsum(t1.aa, (0, 1), v.aaaa.ooov, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) - tmp99 = einsum(t1.aa, (0, 1), tmp55, (2, 3, 1), (0, 2, 3), optimize=True) - del tmp55 - tmp43 = tmp40.transpose((1, 0)).copy() * 2 - del tmp40 - tmp43 += tmp41.transpose((1, 0)) - del tmp41 - tmp43 += tmp42.transpose((1, 0)) - del tmp42 - r2new.aba += einsum(tmp43, (0, 1), r2.aba, (2, 3, 0), (2, 3, 1), optimize=True) * -1 - tmp86 = einsum(t1.aa, (0, 1), tmp1, (2, 1, 3), (0, 2, 3), optimize=True) - del tmp1 - r2new.bab += einsum(tmp86, (0, 1, 2), t2.bbbb, (3, 1, 4, 2), (3, 0, 4), optimize=True) * 2 - tmp71 = einsum(tmp70, (0, 1, 2), t1.aa, (3, 1), (3, 0, 2), optimize=True) - del tmp70 - tmp66 = einsum(v.aaaa.ovov, (0, 1, 2, 3), r2.aaa, (4, 2, 3), (4, 0, 1), optimize=True) - tmp50 = einsum(v.aabb.ooov, (0, 1, 2, 3), r2.bab, (2, 4, 3), (4, 0, 1), optimize=True) * -1 - tmp49 = einsum(r1.a, (0,), v.aaaa.oooo, (1, 2, 3, 0), (1, 2, 3), optimize=True) - tmp64 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 2, 1), optimize=True) - tmp83 = v.aaaa.ovvv.copy() - tmp83 += v.aaaa.ovvv.transpose((0, 2, 1, 3)) * -1 - tmp213 = einsum(v.bbbb.oovv, (0, 1, 2, 3), tmp125, (1, 4, 3), (4, 0, 2), optimize=True) - r2new.bbb += tmp213 - r2new.bbb += tmp213.transpose((1, 0, 2)) * -1 - del tmp213 - tmp210 = einsum(tmp127, (0, 1, 2), t2.abab, (0, 3, 2, 4), (1, 3, 4), optimize=True) - r2new.bbb += tmp210 * -1 - r2new.bbb += tmp210.transpose((1, 0, 2)) - del tmp210 - tmp207 = f.bb.vv.copy() - tmp207 += tmp162.transpose((1, 0)) - tmp207 += einsum(tmp173, (0, 1, 2, 3), t1.bb, (0, 1), (3, 2), optimize=True) * -1 - r2new.bbb += einsum(r2.bbb, (0, 1, 2), tmp207, (2, 3), (0, 1, 3), optimize=True) * 2 - del tmp207 - tmp180 = einsum(tmp155, (0, 1), r2.bbb, (2, 3, 0), (2, 3, 1), optimize=True) - del tmp155 - r2new.bbb += tmp180.transpose((1, 0, 2)) - r2new.bbb += tmp180.transpose((1, 0, 2)) - del tmp180 - tmp204 = einsum(t1.bb, (0, 1), tmp203, (2, 3, 0), (3, 2, 1), optimize=True) - del tmp203 - r2new.bbb += tmp204.transpose((1, 0, 2)) * -1 - r2new.bbb += tmp204 - del tmp204 - tmp201 = tmp102.copy() - tmp201 += tmp196 * -2 - del tmp196 - tmp201 += tmp200 - del tmp200 - r2new.bbb += tmp201.transpose((1, 0, 2)) - r2new.bbb += tmp201 * -1 - del tmp201 - tmp217 = einsum(t1.bb, (0, 1), tmp216, (2, 0, 3), (3, 2, 1), optimize=True) - del tmp216 - r2new.bbb += tmp217 * -1 - r2new.bbb += tmp217.transpose((1, 0, 2)) - del tmp217 - tmp215 = einsum(r2.bbb, (0, 1, 2), tmp214, (3, 1), (3, 0, 2), optimize=True) * -2 - del tmp214 - r2new.bbb += tmp215 * -1 - r2new.bbb += tmp215.transpose((1, 0, 2)) - del tmp215 - tmp179 = einsum(t2.abab, (0, 1, 2, 3), tmp111, (0, 4, 2), (1, 4, 3), optimize=True) - r2new.bbb += tmp179.transpose((1, 0, 2)) - r2new.bbb += tmp179 * -1 - del tmp179 - tmp29 = tmp24.copy() * -1 - del tmp24 - tmp29 += tmp25 - del tmp25 - tmp29 += tmp28 - del tmp28 - r2new.bbb += einsum(t2.bbbb, (0, 1, 2, 3), tmp29, (3,), (0, 1, 2), optimize=True) * 2 - r2new.aba += einsum(t2.abab, (0, 1, 2, 3), tmp29, (3,), (0, 1, 2), optimize=True) - r1new.b += einsum(t1.bb, (0, 1), tmp29, (1,), (0,), optimize=True) * -1 - del tmp29 - tmp175 = einsum(r2.bbb, (0, 1, 2), v.bbbb.oooo, (3, 1, 4, 0), (3, 4, 2), optimize=True) * -1 - r2new.bbb += tmp175.transpose((1, 0, 2)) * -1 - r2new.bbb += tmp175.transpose((1, 0, 2)) * -1 - del tmp175 - tmp211 = einsum(r1.b, (0,), v.bbbb.ooov, (1, 0, 2, 3), (1, 2, 3), optimize=True) - r2new.bbb += tmp211.transpose((1, 0, 2)) - r2new.bbb += tmp211 * -1 - del tmp211 - tmp184 = tmp181.transpose((1, 0, 2)).copy() - tmp184 += tmp182.transpose((2, 0, 1)) * -1 - tmp184 += einsum(r2.bbb, (0, 1, 2), tmp183, (3, 4, 1, 2), (4, 0, 3), optimize=True) * -2 - del tmp183 - r2new.bbb += einsum(t1.bb, (0, 1), tmp184, (0, 2, 3), (2, 3, 1), optimize=True) * -1 - del tmp184 - tmp158 = f.bb.oo.copy() - tmp158 += tmp112.transpose((1, 0)) - tmp158 += tmp157.transpose((1, 0)) * -1 - del tmp157 - r2new.bbb += einsum(r2.bbb, (0, 1, 2), tmp158, (1, 3), (3, 0, 2), optimize=True) * 2 - r2new.bab += einsum(tmp158, (0, 1), r2.bab, (0, 2, 3), (1, 2, 3), optimize=True) * -1 - del tmp158 - tmp209 = einsum(r2.bbb, (0, 1, 2), tmp208, (3, 4, 1, 0), (3, 4, 2), optimize=True) * -1 - del tmp208 - r2new.bbb += tmp209 * -2 - r2new.bbb += tmp209.transpose((1, 0, 2)) * 2 - del tmp209 - tmp189 = tmp181.transpose((1, 0, 2)).copy() - del tmp181 - tmp189 += tmp182.transpose((2, 0, 1)) * -1 - del tmp182 - tmp189 += einsum(r2.bbb, (0, 1, 2), tmp188, (3, 4, 1, 2), (4, 0, 3), optimize=True) * -2 - del tmp188 - r2new.bbb += einsum(tmp189, (0, 1, 2), t1.bb, (0, 3), (2, 1, 3), optimize=True) - del tmp189 - tmp115 = f.bb.oo.copy() - tmp115 += tmp112.transpose((1, 0)) - del tmp112 - tmp115 += tmp114.transpose((1, 0)) * -1 - del tmp114 - r2new.bbb += einsum(r2.bbb, (0, 1, 2), tmp115, (1, 3), (0, 3, 2), optimize=True) * -2 - r2new.aba += einsum(tmp115, (0, 1), r2.aba, (2, 0, 3), (2, 1, 3), optimize=True) * -1 - del tmp115 - tmp212 = einsum(t2.bbbb, (0, 1, 2, 3), tmp129, (4, 1, 3), (0, 4, 2), optimize=True) * -1 - del tmp129 - r2new.bbb += tmp212.transpose((1, 0, 2)) * -2 - r2new.bbb += tmp212 * 2 - del tmp212 - tmp178 = tmp102.copy() - tmp178 += einsum(r2.bbb, (0, 1, 2), tmp176, (1, 3, 4, 2), (0, 3, 4), optimize=True) * -2 - del tmp176 - tmp178 += einsum(r1.b, (0,), tmp177, (0, 1, 2, 3), (1, 2, 3), optimize=True) * -1 - del tmp177 - r2new.bbb += einsum(tmp178, (0, 1, 2), t2.bbbb, (3, 1, 4, 2), (3, 0, 4), optimize=True) * 2 - del tmp178 - tmp195 = tmp192.copy() - del tmp192 - tmp195 += tmp194 * 2 - del tmp194 - r2new.bbb += tmp195.transpose((1, 0, 2)) - r2new.bbb += tmp195 * -1 - del tmp195 - tmp206 = einsum(v.bbbb.ovvv, (0, 1, 2, 3), r1.b, (0,), (1, 2, 3), optimize=True) * -1 - tmp206 += einsum(tmp205, (0, 1, 2), v.bbbb.ovov, (0, 3, 1, 4), (4, 3, 2), optimize=True) * -1 - del tmp205 - r2new.bbb += einsum(t2.bbbb, (0, 1, 2, 3), tmp206, (2, 3, 4), (0, 1, 4), optimize=True) * 2 - del tmp206 - tmp191 = einsum(t1.bb, (0, 1), tmp190, (2, 3, 4, 1), (2, 0, 4, 3), optimize=True) - del tmp190 - r2new.bbb += einsum(tmp191, (0, 1, 2, 3), r2.bbb, (2, 3, 4), (1, 0, 4), optimize=True) * -2 - del tmp191 - tmp170 = tmp130.transpose((1, 0)).copy() * 0.5 - tmp170 += tmp131.transpose((1, 0)) - tmp170 += einsum(tmp23, (0, 1), t1.bb, (2, 1), (0, 2), optimize=True) * 0.5 - del tmp23 - r2new.bab += einsum(r2.bab, (0, 1, 2), tmp170, (0, 3), (3, 1, 2), optimize=True) * -2 - del tmp170 - tmp146 = einsum(v.aabb.ooov, (0, 1, 2, 3), r2.bab, (4, 1, 3), (0, 4, 2), optimize=True) * -1 - r2new.bab += einsum(tmp146, (0, 1, 2), t1.bb, (2, 3), (1, 0, 3), optimize=True) * -1 - del tmp146 - tmp171 = einsum(tmp38, (0, 1, 2), t1.bb, (3, 2), (0, 3, 1), optimize=True) - r2new.bab += einsum(tmp171, (0, 1, 2), t1.bb, (2, 3), (1, 0, 3), optimize=True) - del tmp171 - tmp147 = tmp32.transpose((1, 0, 2)).copy() - tmp147 += tmp52.transpose((1, 0, 2)) * 2 - del tmp52 - tmp147 += einsum(r1.a, (0,), tmp60, (1, 2, 0, 3), (2, 1, 3), optimize=True) * -1 - r2new.bab += einsum(t2.abab, (0, 1, 2, 3), tmp147, (0, 4, 2), (1, 4, 3), optimize=True) * -1 - del tmp147 - tmp165 = tmp94.transpose((1, 0)).copy() - tmp165 += tmp95.transpose((1, 0)) * 0.5 - tmp165 += tmp96.transpose((1, 0)) - del tmp96 - r2new.bab += einsum(tmp165, (0, 1), r2.bab, (2, 0, 3), (2, 1, 3), optimize=True) * -2 - del tmp165 - tmp59 = tmp56.copy() * -1 - del tmp56 - tmp59 += tmp57 - del tmp57 - tmp59 += tmp58 - del tmp58 - r2new.bab += einsum(t2.abab, (0, 1, 2, 3), tmp59, (2,), (1, 0, 3), optimize=True) * 2 - r2new.aaa += einsum(tmp59, (0,), t2.aaaa, (1, 2, 3, 0), (1, 2, 3), optimize=True) * 4 - del tmp59 - tmp161 = einsum(r1.a, (0,), v.aabb.ovvv, (0, 1, 2, 3), (1, 2, 3), optimize=True) * -1 - tmp161 += einsum(tmp2, (0, 1, 2), v.aabb.ovov, (0, 3, 1, 4), (3, 4, 2), optimize=True) - r2new.bab += einsum(tmp161, (0, 1, 2), t2.abab, (3, 4, 0, 1), (4, 3, 2), optimize=True) * -1 - del tmp161 - tmp174 = einsum(tmp173, (0, 1, 2, 3), r2.bab, (0, 4, 1), (4, 3, 2), optimize=True) - del tmp173 - tmp174 += einsum(v.aabb.ovvv, (0, 1, 2, 3), tmp68, (0, 4, 1), (4, 2, 3), optimize=True) * -1 - r2new.bab += einsum(t1.bb, (0, 1), tmp174, (2, 1, 3), (0, 2, 3), optimize=True) * -1 - del tmp174 - tmp160 = einsum(v.aabb.ovvv, (0, 1, 2, 3), r2.bab, (4, 0, 3), (4, 1, 2), optimize=True) * -1 - r2new.bab += einsum(tmp160, (0, 1, 2), t1.aa, (3, 1), (0, 3, 2), optimize=True) - del tmp160 - tmp167 = einsum(tmp166, (0, 1, 2), t1.aa, (3, 2), (3, 1, 0), optimize=True) - del tmp166 - r2new.bab += einsum(tmp167, (0, 1, 2), t1.bb, (1, 3), (2, 0, 3), optimize=True) * -1 - del tmp167 - tmp172 = einsum(t1.aa, (0, 1), tmp168, (2, 3, 1), (0, 2, 3), optimize=True) - del tmp168 - r2new.bab += einsum(t1.bb, (0, 1), tmp172, (2, 3, 0), (3, 2, 1), optimize=True) * -1 - del tmp172 - tmp48 = f.aa.oo.copy() - tmp48 += tmp45.transpose((1, 0)) - tmp48 += tmp47.transpose((1, 0)) * -1 - del tmp47 - r2new.bab += einsum(r2.bab, (0, 1, 2), tmp48, (1, 3), (0, 3, 2), optimize=True) * -1 - r2new.aaa += einsum(tmp48, (0, 1), r2.aaa, (2, 0, 3), (2, 1, 3), optimize=True) * -2 - del tmp48 - tmp164 = f.bb.vv.copy() - tmp164 += tmp162.transpose((1, 0)) - del tmp162 - tmp164 += einsum(tmp163, (0, 1, 2, 3), t1.bb, (0, 1), (3, 2), optimize=True) * -1 - del tmp163 - r2new.bab += einsum(r2.bab, (0, 1, 2), tmp164, (2, 3), (0, 1, 3), optimize=True) - del tmp164 - tmp169 = r2.bab.transpose((1, 0, 2)).copy() * -1 - tmp169 += einsum(r1.a, (0,), t1.bb, (1, 2), (0, 1, 2), optimize=True) - r2new.bab += einsum(v.aabb.oovv, (0, 1, 2, 3), tmp169, (1, 4, 3), (4, 0, 2), optimize=True) - del tmp169 - tmp136 = einsum(v.aabb.ovoo, (0, 1, 2, 3), t1.aa, (4, 1), (4, 0, 2, 3), optimize=True) - r2new.bab += einsum(r2.bab, (0, 1, 2), tmp136, (3, 1, 4, 0), (4, 3, 2), optimize=True) - r2new.aba += einsum(r2.aba, (0, 1, 2), tmp136, (3, 0, 4, 1), (3, 4, 2), optimize=True) - del tmp136 - tmp142 = einsum(t1.aa, (0, 1), tmp141, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) - del tmp141 - r2new.bab += einsum(r2.bab, (0, 1, 2), tmp142, (3, 1, 4, 0), (4, 3, 2), optimize=True) - r2new.aba += einsum(r2.aba, (0, 1, 2), tmp142, (3, 0, 4, 1), (3, 4, 2), optimize=True) - del tmp142 - tmp159 = einsum(r2.aaa, (0, 1, 2), v.aabb.ovoo, (1, 2, 3, 4), (0, 3, 4), optimize=True) * 2 - tmp159 += einsum(r2.bab, (0, 1, 2), tmp156, (0, 3, 4, 2), (1, 4, 3), optimize=True) - del tmp156 - r2new.bab += einsum(t1.bb, (0, 1), tmp159, (2, 0, 3), (3, 2, 1), optimize=True) - del tmp159 - tmp151 = tmp149.transpose((1, 0, 2)).copy() - del tmp149 - tmp151 += tmp150.transpose((1, 0, 2)) - del tmp150 - r2new.bab += einsum(t2.abab, (0, 1, 2, 3), tmp151, (1, 4, 2), (4, 0, 3), optimize=True) * -1 - del tmp151 - tmp126 = einsum(v.aabb.ooov, (0, 1, 2, 3), t1.bb, (4, 3), (0, 1, 4, 2), optimize=True) - r2new.bab += einsum(r2.bab, (0, 1, 2), tmp126, (3, 1, 4, 0), (4, 3, 2), optimize=True) - r2new.aba += einsum(tmp126, (0, 1, 2, 3), r2.aba, (1, 3, 4), (0, 2, 4), optimize=True) - del tmp126 - tmp148 = r2.bab.transpose((1, 0, 2)).copy() * -1 - tmp148 += einsum(r1.a, (0,), t1.bb, (1, 2), (0, 1, 2), optimize=True) * 2 - r2new.bab += einsum(tmp148, (0, 1, 2), v.aabb.oooo, (3, 0, 4, 1), (4, 3, 2), optimize=True) * -0.5 - del tmp148 - tmp122 = einsum(v.aabb.vvov, (0, 1, 2, 3), r1.b, (2,), (0, 1, 3), optimize=True) - tmp122 += einsum(tmp17, (0, 1, 2), v.aabb.ovov, (0, 3, 1, 4), (3, 2, 4), optimize=True) - del tmp17 - r2new.aba += einsum(tmp122, (0, 1, 2), t2.abab, (3, 4, 0, 2), (3, 4, 1), optimize=True) - del tmp122 - tmp101 = einsum(v.aabb.ovoo, (0, 1, 2, 3), r2.aba, (4, 3, 1), (4, 0, 2), optimize=True) - r2new.aba += einsum(t1.aa, (0, 1), tmp101, (2, 0, 3), (2, 3, 1), optimize=True) - del tmp101 - tmp124 = f.aa.vv.copy() - tmp124 += tmp82.transpose((1, 0)) - tmp124 += einsum(t1.aa, (0, 1), tmp123, (0, 2, 1, 3), (2, 3), optimize=True) * -1 - del tmp123 - r2new.aba += einsum(tmp124, (0, 1), r2.aba, (2, 3, 0), (2, 3, 1), optimize=True) - del tmp124 - tmp120 = einsum(r2.bbb, (0, 1, 2), v.aabb.ooov, (3, 4, 1, 2), (3, 4, 0), optimize=True) * 2 - tmp120 += einsum(r2.aba, (0, 1, 2), tmp60, (3, 4, 0, 2), (4, 3, 1), optimize=True) - r2new.aba += einsum(t1.aa, (0, 1), tmp120, (0, 2, 3), (2, 3, 1), optimize=True) - del tmp120 - tmp135 = einsum(tmp134, (0, 1, 2), t1.bb, (3, 2), (1, 0, 3), optimize=True) - del tmp134 - r2new.aba += einsum(t1.aa, (0, 1), tmp135, (0, 2, 3), (2, 3, 1), optimize=True) * -1 - del tmp135 - tmp140 = einsum(t1.aa, (0, 1), tmp111, (2, 3, 1), (0, 2, 3), optimize=True) - del tmp111 - r2new.aba += einsum(t1.aa, (0, 1), tmp140, (2, 0, 3), (2, 3, 1), optimize=True) - del tmp140 - tmp145 = einsum(tmp144, (0, 1, 2, 3), r2.aba, (0, 4, 2), (4, 1, 3), optimize=True) * -1 - del tmp144 - tmp145 += einsum(tmp125, (0, 1, 2), v.aabb.vvov, (3, 4, 0, 2), (1, 3, 4), optimize=True) * -1 - del tmp125 - r2new.aba += einsum(tmp145, (0, 1, 2), t1.aa, (3, 1), (3, 0, 2), optimize=True) * -1 - del tmp145 - tmp116 = einsum(t1.aa, (0, 1), r1.b, (2,), (0, 2, 1), optimize=True) * 2 - tmp116 += r2.aba * -1 - r2new.aba += einsum(tmp116, (0, 1, 2), v.aabb.oooo, (3, 0, 4, 1), (3, 4, 2), optimize=True) * -0.5 - del tmp116 - tmp106 = tmp102.transpose((1, 0, 2)).copy() - del tmp102 - tmp106 += tmp104.transpose((1, 0, 2)) * 2 - del tmp104 - tmp106 += einsum(r1.b, (0,), tmp105, (1, 2, 0, 3), (2, 1, 3), optimize=True) * -1 - del tmp105 - r2new.aba += einsum(tmp106, (0, 1, 2), t2.abab, (3, 0, 4, 2), (3, 1, 4), optimize=True) - del tmp106 - tmp62 = f.aa.oo.copy() - tmp62 += tmp45.transpose((1, 0)) - del tmp45 - tmp62 += tmp61.transpose((1, 0)) * -1 - del tmp61 - r2new.aba += einsum(tmp62, (0, 1), r2.aba, (0, 2, 3), (1, 2, 3), optimize=True) * -1 - r2new.aaa += einsum(r2.aaa, (0, 1, 2), tmp62, (1, 3), (3, 0, 2), optimize=True) * 2 - del tmp62 - tmp137 = einsum(t1.aa, (0, 1), tmp15, (2, 1, 3), (0, 2, 3), optimize=True) - del tmp15 - r2new.aba += einsum(tmp137, (0, 1, 2), t2.abab, (1, 3, 4, 2), (0, 3, 4), optimize=True) * -1 - del tmp137 - tmp139 = tmp94.transpose((1, 0)).copy() * 2 - del tmp94 - tmp139 += tmp95.transpose((1, 0)) - del tmp95 - tmp139 += einsum(t1.aa, (0, 1), tmp7, (2, 1), (2, 0), optimize=True) - del tmp7 - r2new.aba += einsum(r2.aba, (0, 1, 2), tmp139, (0, 3), (3, 1, 2), optimize=True) * -1 - del tmp139 - tmp143 = einsum(t1.aa, (0, 1), tmp127, (2, 3, 1), (0, 2, 3), optimize=True) - del tmp127 - r2new.aba += einsum(t1.aa, (0, 1), tmp143, (2, 0, 3), (2, 3, 1), optimize=True) * -1 - del tmp143 - tmp138 = r2.aba.copy() - tmp138 += einsum(t1.aa, (0, 1), r1.b, (2,), (0, 2, 1), optimize=True) * -1 - r2new.aba += einsum(tmp138, (0, 1, 2), v.aabb.vvoo, (3, 2, 4, 1), (0, 4, 3), optimize=True) * -1 - del tmp138 - tmp121 = einsum(r2.aba, (0, 1, 2), v.aabb.vvov, (3, 2, 1, 4), (0, 3, 4), optimize=True) - r2new.aba += einsum(tmp121, (0, 1, 2), t1.bb, (3, 2), (0, 3, 1), optimize=True) * -1 - del tmp121 - tmp133 = tmp130.transpose((1, 0)).copy() - del tmp130 - tmp133 += tmp131.transpose((1, 0)) * 2 - del tmp131 - tmp133 += tmp132.transpose((1, 0)) - del tmp132 - r2new.aba += einsum(tmp133, (0, 1), r2.aba, (2, 0, 3), (2, 1, 3), optimize=True) * -1 - del tmp133 - tmp119 = tmp117.transpose((1, 0, 2)).copy() - del tmp117 - tmp119 += tmp118.transpose((1, 0, 2)) * -1 - del tmp118 - r2new.aba += einsum(t2.abab, (0, 1, 2, 3), tmp119, (0, 4, 3), (4, 1, 2), optimize=True) * -1 - del tmp119 - tmp76 = tmp73.copy() - del tmp73 - tmp76 += tmp75 * 2 - del tmp75 - r2new.aaa += tmp76.transpose((1, 0, 2)) - r2new.aaa += tmp76 * -1 - del tmp76 - tmp81 = einsum(r1.a, (0,), v.aaaa.ovvv, (0, 1, 2, 3), (1, 2, 3), optimize=True) - tmp81 += einsum(v.aaaa.ovov, (0, 1, 2, 3), tmp80, (0, 2, 4), (3, 1, 4), optimize=True) - del tmp80 - r2new.aaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp81, (3, 2, 4), (0, 1, 4), optimize=True) * 2 - del tmp81 - tmp98 = einsum(tmp97, (0, 1), r2.aaa, (2, 1, 3), (2, 0, 3), optimize=True) * -4 - del tmp97 - r2new.aaa += tmp98.transpose((1, 0, 2)) * -1 - r2new.aaa += tmp98 - del tmp98 - tmp92 = einsum(tmp91, (0, 1, 2), t2.aaaa, (3, 1, 4, 2), (3, 0, 4), optimize=True) * -1 - del tmp91 - r2new.aaa += tmp92.transpose((1, 0, 2)) * -2 - r2new.aaa += tmp92 * 2 - del tmp92 - tmp93 = einsum(tmp68, (0, 1, 2), v.aaaa.oovv, (3, 0, 4, 2), (1, 3, 4), optimize=True) - del tmp68 - r2new.aaa += tmp93 - r2new.aaa += tmp93.transpose((1, 0, 2)) * -1 - del tmp93 - tmp85 = einsum(r1.a, (0,), v.aaaa.ooov, (1, 0, 2, 3), (1, 2, 3), optimize=True) - r2new.aaa += tmp85.transpose((1, 0, 2)) - r2new.aaa += tmp85 * -1 - del tmp85 - tmp34 = tmp32.copy() * 0.5 - tmp34 += einsum(r2.aaa, (0, 1, 2), tmp5, (1, 3, 4, 2), (0, 3, 4), optimize=True) * -1 - del tmp5 - tmp34 += einsum(r1.a, (0,), tmp33, (1, 2, 0, 3), (2, 1, 3), optimize=True) * -0.5 - del tmp33 - r2new.aaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp34, (4, 1, 3), (0, 4, 2), optimize=True) * -4 - del tmp34 - tmp79 = einsum(t1.aa, (0, 1), tmp78, (2, 3, 0), (3, 2, 1), optimize=True) - del tmp78 - r2new.aaa += tmp79.transpose((1, 0, 2)) * -1 - r2new.aaa += tmp79 - del tmp79 - tmp89 = einsum(tmp88, (0, 1, 2, 3), r2.aaa, (3, 2, 4), (0, 1, 4), optimize=True) * -1 - del tmp88 - r2new.aaa += tmp89 * -2 - r2new.aaa += tmp89.transpose((1, 0, 2)) * 2 - del tmp89 - tmp100 = einsum(t1.aa, (0, 1), tmp99, (2, 3, 0), (2, 3, 1), optimize=True) - del tmp99 - r2new.aaa += tmp100 - r2new.aaa += tmp100.transpose((1, 0, 2)) * -1 - del tmp100 - tmp44 = einsum(tmp43, (0, 1), r2.aaa, (2, 3, 0), (2, 3, 1), optimize=True) - del tmp43 - r2new.aaa += tmp44.transpose((1, 0, 2)) - r2new.aaa += tmp44.transpose((1, 0, 2)) - del tmp44 - tmp31 = einsum(v.aaaa.oooo, (0, 1, 2, 3), r2.aaa, (1, 3, 4), (0, 2, 4), optimize=True) - r2new.aaa += tmp31.transpose((1, 0, 2)) * -1 - r2new.aaa += tmp31.transpose((1, 0, 2)) * -1 - del tmp31 - tmp87 = einsum(t2.abab, (0, 1, 2, 3), tmp86, (4, 1, 3), (4, 0, 2), optimize=True) - del tmp86 - r2new.aaa += tmp87 * -1 - r2new.aaa += tmp87.transpose((1, 0, 2)) - del tmp87 - tmp72 = tmp66.copy() * 2 - del tmp66 - tmp72 += tmp32 - del tmp32 - tmp72 += tmp71.transpose((1, 0, 2)) - del tmp71 - r2new.aaa += tmp72.transpose((1, 0, 2)) * -1 - r2new.aaa += tmp72 - del tmp72 - tmp63 = tmp49.transpose((1, 0, 2)).copy() - tmp63 += tmp50.transpose((2, 0, 1)) - tmp63 += einsum(r2.aaa, (0, 1, 2), tmp60, (3, 4, 1, 2), (4, 0, 3), optimize=True) * -2 - del tmp60 - r2new.aaa += einsum(t1.aa, (0, 1), tmp63, (0, 2, 3), (3, 2, 1), optimize=True) - del tmp63 - tmp39 = einsum(t2.abab, (0, 1, 2, 3), tmp38, (4, 1, 3), (0, 4, 2), optimize=True) - del tmp38 - r2new.aaa += tmp39.transpose((1, 0, 2)) - r2new.aaa += tmp39 * -1 - del tmp39 - tmp65 = einsum(t1.aa, (0, 1), tmp64, (2, 3, 4, 1), (2, 0, 4, 3), optimize=True) - del tmp64 - r2new.aaa += einsum(tmp65, (0, 1, 2, 3), r2.aaa, (2, 3, 4), (1, 0, 4), optimize=True) * -2 - del tmp65 - tmp84 = f.aa.vv.copy() - tmp84 += tmp82.transpose((1, 0)) - del tmp82 - tmp84 += einsum(tmp83, (0, 1, 2, 3), t1.aa, (0, 2), (1, 3), optimize=True) * -1 - del tmp83 - r2new.aaa += einsum(r2.aaa, (0, 1, 2), tmp84, (2, 3), (0, 1, 3), optimize=True) * 2 - del tmp84 - tmp51 = tmp49.transpose((1, 0, 2)).copy() * 0.5 - del tmp49 - tmp51 += tmp50.transpose((2, 0, 1)) * 0.5 - del tmp50 - tmp51 += einsum(tmp46, (0, 1, 2, 3), r2.aaa, (4, 2, 3), (1, 4, 0), optimize=True) * -1 - del tmp46 - r2new.aaa += einsum(t1.aa, (0, 1), tmp51, (0, 2, 3), (2, 3, 1), optimize=True) * -2 - del tmp51 - tmp20 = f.aa.ov.copy() - tmp20 += tmp4 - del tmp4 - tmp20 += einsum(tmp19, (0, 1, 2, 3), t1.aa, (0, 3), (1, 2), optimize=True) * -1 - del tmp19 - r1new.b += einsum(r2.aba, (0, 1, 2), tmp20, (0, 2), (1,), optimize=True) * -1 - del tmp20 - tmp30 = f.bb.oo.copy() - tmp30 += einsum(t1.bb, (0, 1), v.bbbb.ovoo, (2, 1, 3, 0), (2, 3), optimize=True) * -1 - r1new.b += einsum(r1.b, (0,), tmp30, (0, 1), (1,), optimize=True) * -1 - del tmp30 - tmp10 = f.bb.ov.copy() - tmp10 += tmp8 - del tmp8 - tmp10 += einsum(t1.bb, (0, 1), tmp9, (0, 2, 3, 1), (2, 3), optimize=True) * -1 - del tmp9 - r1new.a += einsum(tmp10, (0, 1), r2.bab, (0, 2, 1), (2,), optimize=True) * -1 - del tmp10 - tmp14 = f.aa.oo.copy() - tmp14 += einsum(t1.aa, (0, 1), v.aaaa.ooov, (2, 3, 0, 1), (2, 3), optimize=True) - r1new.a += einsum(tmp14, (0, 1), r1.a, (0,), (1,), optimize=True) * -1 - del tmp14 - tmp13 = einsum(v.aaaa.ovov, (0, 1, 2, 3), tmp3, (0, 2, 1), (3,), optimize=True) * -1 - del tmp3 - tmp13 += einsum(v.aabb.ovov, (0, 1, 2, 3), tmp2, (0, 2, 3), (1,), optimize=True) - del tmp2 - tmp13 += einsum(r1.a, (0,), tmp12, (0, 1), (1,), optimize=True) - del tmp12 - r1new.a += einsum(t1.aa, (0, 1), tmp13, (1,), (0,), optimize=True) * -1 - del tmp13 - r2new.aba += einsum(v.aabb.oooo, (0, 1, 2, 3), r2.aba, (1, 3, 4), (0, 2, 4), optimize=True) * 0.5 - r2new.aba += einsum(v.aaaa.ovov, (0, 1, 2, 3), r2.aba, (2, 4, 3), (0, 4, 1), optimize=True) - r2new.aba += einsum(v.aaaa.oovv, (0, 1, 2, 3), r2.aba, (1, 4, 3), (0, 4, 2), optimize=True) * -1 - r2new.bab += einsum(r2.bab, (0, 1, 2), v.aabb.oooo, (3, 1, 4, 0), (4, 3, 2), optimize=True) * 0.5 - r2new.bab += einsum(r2.bab, (0, 1, 2), v.bbbb.ovov, (3, 4, 0, 2), (3, 1, 4), optimize=True) - r2new.bab += einsum(r2.bab, (0, 1, 2), v.bbbb.oovv, (3, 0, 4, 2), (3, 1, 4), optimize=True) * -1 - - return r1new, r2new - -def hbar_matvec_ea(f=None, r1=None, r2=None, t1=None, t2=None, v=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-07-22T17:02:25.373405. - - Parameters - ---------- - f : Namespace of arrays - Fock matrix. - r1 : Namespace of arrays - R1 amplitudes. - r2 : Namespace of arrays - R2 amplitudes. - t1 : Namespace of arrays - T1 amplitudes. - t2 : Namespace of arrays - T2 amplitudes. - v : Namespace of arrays - Electron repulsion integrals. - - Returns - ------- - r1new : Namespace of arrays - Updated R1 residuals. - r2new : Namespace of arrays - Updated R2 residuals. - """ - - r1new = Namespace() - r2new = Namespace() - tmp8 = v.bbbb.ovov.transpose((0, 2, 3, 1)).copy() * -1 - tmp8 += v.bbbb.ovov.transpose((0, 2, 1, 3)) - tmp24 = v.aaaa.ovov.transpose((0, 2, 3, 1)).copy() * -1 - tmp24 += v.aaaa.ovov.transpose((0, 2, 1, 3)) - tmp7 = einsum(t1.aa, (0, 1), v.aabb.ovov, (0, 1, 2, 3), (2, 3), optimize=True) - tmp9 = einsum(t1.bb, (0, 1), tmp8, (0, 2, 3, 1), (2, 3), optimize=True) - tmp25 = einsum(tmp24, (0, 1, 2, 3), t1.aa, (0, 3), (1, 2), optimize=True) - del tmp24 - tmp4 = einsum(v.aabb.ovov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1), optimize=True) - tmp19 = einsum(v.bbbb.ovov, (0, 1, 2, 3), r1.b, (3,), (0, 2, 1), optimize=True) - r1new.b = einsum(t2.bbbb, (0, 1, 2, 3), tmp19, (0, 1, 3), (2,), optimize=True) * 2 - tmp123 = einsum(t1.bb, (0, 1), r1.b, (2,), (0, 2, 1), optimize=True) - tmp123 += r2.bbb.transpose((2, 0, 1)) * 2 - tmp5 = v.aaaa.ovov.transpose((0, 2, 3, 1)).copy() * -1 - tmp5 += v.aaaa.ovov.transpose((0, 2, 1, 3)) - tmp27 = einsum(t1.bb, (0, 1), v.bbbb.ovov, (2, 1, 0, 3), (2, 3), optimize=True) - tmp171 = v.bbbb.ooov.copy() * -1 - tmp171 += v.bbbb.ovoo.transpose((0, 2, 3, 1)) - tmp115 = v.bbbb.ovvv.copy() * -1 - tmp115 += v.bbbb.ovvv.transpose((0, 2, 3, 1)) - tmp10 = f.bb.ov.copy() - tmp10 += tmp7 - tmp10 += tmp9 * -1 - del tmp9 - r1new.a = einsum(tmp10, (0, 1), r2.bab, (1, 2, 0), (2,), optimize=True) * -1 - tmp201 = r2.bbb.transpose((2, 0, 1)).copy() * 2 - tmp201 += einsum(t1.bb, (0, 1), r1.b, (2,), (0, 2, 1), optimize=True) - tmp203 = v.bbbb.ovvv.copy() * -1 - tmp203 += v.bbbb.ovvv.transpose((0, 2, 1, 3)) - tmp13 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t1.aa, (2, 1), (0, 3), optimize=True) - tmp35 = v.aaaa.ooov.copy() * -1 - tmp35 += v.aaaa.ovoo.transpose((0, 2, 3, 1)) - tmp0 = einsum(r1.a, (0,), v.aaaa.ovov, (1, 2, 3, 0), (1, 3, 2), optimize=True) - r1new.a += einsum(t2.aaaa, (0, 1, 2, 3), tmp0, (1, 0, 3), (2,), optimize=True) * -2 - tmp85 = v.aaaa.ovov.transpose((0, 2, 3, 1)).copy() - tmp85 += v.aaaa.ovov.transpose((0, 2, 1, 3)) * -1 - tmp84 = r2.aaa.transpose((2, 0, 1)).copy() * 2 - tmp84 += einsum(r1.a, (0,), t1.aa, (1, 2), (1, 0, 2), optimize=True) - tmp87 = v.aaaa.ovvv.copy() - tmp87 += v.aaaa.ovvv.transpose((0, 2, 1, 3)) * -1 - tmp26 = f.aa.ov.copy() - tmp26 += tmp4 - tmp26 += tmp25 * -1 - del tmp25 - r1new.b += einsum(tmp26, (0, 1), r2.aba, (1, 2, 0), (2,), optimize=True) * -1 - tmp33 = einsum(r1.a, (0,), t1.aa, (1, 2), (1, 0, 2), optimize=True) - tmp33 += r2.aaa.transpose((2, 0, 1)) * 2 - tmp22 = v.bbbb.ovov.transpose((0, 2, 3, 1)).copy() * -1 - tmp22 += v.bbbb.ovov.transpose((0, 2, 1, 3)) - tmp62 = v.aaaa.ovvv.copy() - tmp62 += v.aaaa.ovvv.transpose((0, 2, 1, 3)) * -1 - tmp181 = einsum(tmp19, (0, 1, 2), t1.bb, (3, 2), (3, 1, 0), optimize=True) - del tmp19 - tmp126 = einsum(tmp123, (0, 1, 2), v.aabb.ovov, (3, 4, 0, 1), (3, 4, 2), optimize=True) - r2new.aba = tmp126.transpose((1, 2, 0)).copy() - tmp125 = einsum(r2.aba, (0, 1, 2), tmp5, (2, 3, 4, 0), (3, 4, 1), optimize=True) - tmp118 = einsum(v.aabb.ovvv, (0, 1, 2, 3), r1.b, (3,), (0, 1, 2), optimize=True) - r2new.aba += tmp118.transpose((1, 2, 0)) * -1 - tmp28 = f.bb.ov.copy() - tmp28 += tmp27 * -1 - del tmp27 - tmp20 = r2.bbb.transpose((2, 0, 1)).copy() * 2 - tmp20 += einsum(t1.bb, (0, 1), r1.b, (2,), (0, 1, 2), optimize=True) * -1 - r1new.b += einsum(tmp20, (0, 1, 2), v.bbbb.ovvv, (0, 1, 3, 2), (3,), optimize=True) * -1 - tmp21 = r2.aba.transpose((2, 0, 1)).copy() - tmp21 += einsum(t1.aa, (0, 1), r1.b, (2,), (0, 1, 2), optimize=True) * -1 - r2new.aba += einsum(v.aabb.vvvv, (0, 1, 2, 3), tmp21, (4, 1, 3), (0, 2, 4), optimize=True) - r1new.b += einsum(tmp21, (0, 1, 2), v.aabb.ovvv, (0, 1, 3, 2), (3,), optimize=True) * -1 - tmp172 = einsum(r2.bbb, (0, 1, 2), tmp171, (2, 3, 4, 1), (3, 4, 0), optimize=True) * -1 - del tmp171 - tmp116 = einsum(tmp115, (0, 1, 2, 3), t1.bb, (0, 1), (2, 3), optimize=True) - tmp114 = einsum(t1.aa, (0, 1), v.aabb.ovvv, (0, 1, 2, 3), (2, 3), optimize=True) - tmp175 = einsum(v.bbbb.ooov, (0, 1, 2, 3), r1.b, (3,), (0, 1, 2), optimize=True) - tmp140 = v.bbbb.ooov.copy() - tmp140 += v.bbbb.ovoo.transpose((0, 2, 3, 1)) * -1 - tmp132 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 1, 4), (3, 4), optimize=True) - tmp134 = einsum(tmp10, (0, 1), t1.bb, (0, 2), (2, 1), optimize=True) - tmp133 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (0, 2, 4, 1), (4, 3), optimize=True) * -1 - tmp187 = v.bbbb.ovvv.copy() - tmp187 += v.bbbb.ovvv.transpose((0, 2, 3, 1)) * -1 - tmp155 = einsum(t1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 1), (0, 2, 4, 3), optimize=True) - tmp152 = einsum(v.aabb.ovov, (0, 1, 2, 3), t1.bb, (4, 3), (0, 4, 2, 1), optimize=True) - tmp145 = v.bbbb.ovvv.copy() - tmp145 += v.bbbb.ovvv.transpose((0, 2, 3, 1)) * -1 - tmp122 = einsum(r2.aba, (0, 1, 2), v.aabb.ovov, (2, 0, 3, 4), (3, 1, 4), optimize=True) - r2new.bbb = tmp122.transpose((2, 1, 0)).copy() - r2new.bbb += tmp122.transpose((1, 2, 0)) * -1 - tmp202 = einsum(tmp8, (0, 1, 2, 3), tmp201, (0, 2, 4), (1, 4, 3), optimize=True) * 0.5 - del tmp8, tmp201 - tmp204 = einsum(r1.b, (0,), tmp203, (1, 0, 2, 3), (1, 2, 3), optimize=True) * 0.5 - del tmp203 - tmp148 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (4, 2, 3, 1), (4, 0), optimize=True) * -1 - tmp147 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 3), (1, 4), optimize=True) - tmp149 = einsum(tmp10, (0, 1), t1.bb, (2, 1), (2, 0), optimize=True) - tmp1 = einsum(v.aabb.ovov, (0, 1, 2, 3), r1.a, (1,), (0, 2, 3), optimize=True) - r1new.a += einsum(t2.abab, (0, 1, 2, 3), tmp1, (0, 1, 3), (2,), optimize=True) * -1 - tmp58 = v.aaaa.ovvv.copy() * -1 - tmp58 += v.aaaa.ovvv.transpose((0, 2, 1, 3)) - tmp2 = r2.aaa.transpose((2, 0, 1)).copy() * 2 - tmp2 += einsum(r1.a, (0,), t1.aa, (1, 2), (1, 2, 0), optimize=True) * -1 - r1new.a += einsum(v.aaaa.ovvv, (0, 1, 2, 3), tmp2, (0, 1, 3), (2,), optimize=True) * -1 - tmp14 = f.aa.ov.copy() - tmp14 += tmp13 * -1 - del tmp13 - tmp3 = r2.bab.transpose((2, 1, 0)).copy() * -1 - tmp3 += einsum(r1.a, (0,), t1.bb, (1, 2), (1, 0, 2), optimize=True) - r2new.bab = einsum(tmp3, (0, 1, 2), v.aabb.vvvv, (3, 1, 4, 2), (4, 3, 0), optimize=True) * -1 - r1new.a += einsum(tmp3, (0, 1, 2), v.aabb.vvov, (3, 1, 0, 2), (3,), optimize=True) - tmp73 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 2, 1), optimize=True) - tmp18 = einsum(v.aabb.ovov, (0, 1, 2, 3), r1.b, (3,), (0, 2, 1), optimize=True) - r1new.b += einsum(t2.abab, (0, 1, 2, 3), tmp18, (0, 1, 2), (3,), optimize=True) * -1 - tmp46 = v.aaaa.ooov.copy() * -1 - tmp46 += v.aaaa.ooov.transpose((0, 2, 1, 3)) - tmp39 = einsum(v.aaaa.ooov, (0, 1, 2, 3), r1.a, (3,), (0, 1, 2), optimize=True) - tmp36 = einsum(tmp35, (0, 1, 2, 3), r2.aaa, (4, 3, 0), (1, 2, 4), optimize=True) * -1 - del tmp35 - tmp49 = einsum(t1.aa, (0, 1), tmp0, (2, 3, 1), (0, 3, 2), optimize=True) - del tmp0 - tmp86 = einsum(tmp85, (0, 1, 2, 3), tmp84, (0, 2, 4), (1, 4, 3), optimize=True) - del tmp85, tmp84 - tmp83 = einsum(r2.bab, (0, 1, 2), v.aabb.ovov, (3, 4, 2, 0), (3, 1, 4), optimize=True) * -1 - r2new.aaa = tmp83.transpose((2, 1, 0)).copy() * -1 - r2new.aaa += tmp83.transpose((1, 2, 0)) - tmp88 = einsum(r1.a, (0,), tmp87, (1, 0, 2, 3), (1, 2, 3), optimize=True) - del tmp87 - tmp68 = einsum(t1.aa, (0, 1), tmp26, (2, 1), (0, 2), optimize=True) - tmp67 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 1, 3), (0, 4), optimize=True) - tmp66 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 3, 1, 2), (0, 4), optimize=True) * -1 - tmp97 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 4, 1, 3), (2, 4), optimize=True) - tmp98 = einsum(t1.aa, (0, 1), tmp26, (0, 2), (1, 2), optimize=True) - del tmp26 - tmp96 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (0, 4, 1, 3), (2, 4), optimize=True) - tmp93 = einsum(tmp33, (0, 1, 2), v.aabb.ovov, (0, 1, 3, 4), (3, 2, 4), optimize=True) - r2new.bab += tmp93.transpose((2, 1, 0)) - tmp92 = einsum(r2.bab, (0, 1, 2), tmp22, (2, 3, 4, 0), (3, 1, 4), optimize=True) * -1 - tmp91 = einsum(r1.a, (0,), v.aabb.vvov, (1, 0, 2, 3), (2, 1, 3), optimize=True) - r2new.bab += tmp91.transpose((2, 1, 0)) * -1 - tmp75 = v.aaaa.ovvv.copy() * -1 - tmp75 += v.aaaa.ovvv.transpose((0, 2, 1, 3)) - tmp71 = einsum(t1.aa, (0, 1), v.aabb.ovov, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) - tmp61 = einsum(v.aabb.vvov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1), optimize=True) - tmp63 = einsum(tmp62, (0, 1, 2, 3), t1.aa, (0, 2), (1, 3), optimize=True) - del tmp62 - tmp185 = einsum(t1.bb, (0, 1), tmp181, (2, 3, 0), (2, 3, 1), optimize=True) - tmp127 = tmp118.copy() - tmp127 += tmp125 - del tmp125 - tmp127 += tmp126 * -1 - del tmp126 - r2new.aba += einsum(tmp127, (0, 1, 2), t2.aaaa, (3, 0, 4, 1), (4, 2, 3), optimize=True) * -2 - tmp143 = einsum(t1.bb, (0, 1), v.aabb.ovvv, (2, 3, 4, 1), (2, 0, 3, 4), optimize=True) - r2new.bab += einsum(r2.aaa, (0, 1, 2), tmp143, (2, 3, 1, 4), (4, 0, 3), optimize=True) * -2 - tmp107 = einsum(tmp28, (0, 1), r1.b, (1,), (0,), optimize=True) - tmp106 = einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp20, (2, 3, 1), (0,), optimize=True) - tmp105 = einsum(v.aabb.ovov, (0, 1, 2, 3), tmp21, (0, 1, 3), (2,), optimize=True) - tmp173 = einsum(t1.bb, (0, 1), tmp172, (2, 0, 3), (2, 3, 1), optimize=True) * -1 - del tmp172 - tmp170 = einsum(v.bbbb.oovv, (0, 1, 2, 3), tmp123, (1, 3, 4), (0, 4, 2), optimize=True) - tmp117 = f.bb.vv.copy() - tmp117 += tmp114.transpose((1, 0)) - del tmp114 - tmp117 += tmp116.transpose((1, 0)) * -1 - del tmp116 - r2new.bab += einsum(r2.bab, (0, 1, 2), tmp117, (0, 3), (3, 1, 2), optimize=True) - r2new.aba += einsum(r2.aba, (0, 1, 2), tmp117, (1, 3), (0, 3, 2), optimize=True) - tmp166 = einsum(v.bbbb.ovov, (0, 1, 2, 3), r2.bbb, (3, 1, 4), (4, 0, 2), optimize=True) * -1 - tmp176 = einsum(tmp175, (0, 1, 2), t1.bb, (2, 3), (0, 1, 3), optimize=True) - tmp183 = einsum(v.bbbb.vvvv, (0, 1, 2, 3), r1.b, (3,), (0, 1, 2), optimize=True) - tmp168 = einsum(r2.aba, (0, 1, 2), v.aabb.ovoo, (2, 0, 3, 4), (3, 4, 1), optimize=True) - tmp141 = einsum(t1.bb, (0, 1), tmp140, (0, 2, 3, 1), (2, 3), optimize=True) - del tmp140 - tmp139 = einsum(t1.aa, (0, 1), v.aabb.ovoo, (0, 1, 2, 3), (2, 3), optimize=True) - tmp208 = tmp132.copy() - tmp208 += tmp133 * 2 - tmp208 += tmp134 - tmp188 = einsum(tmp187, (0, 1, 2, 3), t1.bb, (4, 1), (0, 4, 2, 3), optimize=True) - tmp193 = tmp155.copy() * -1 - tmp193 += tmp155.transpose((0, 2, 1, 3)) - tmp192 = einsum(r2.aba, (0, 1, 2), tmp152, (2, 3, 4, 0), (3, 4, 1), optimize=True) - tmp194 = einsum(tmp145, (0, 1, 2, 3), r1.b, (1,), (0, 3, 2), optimize=True) * -1 - tmp205 = tmp122.copy() * 0.5 - tmp205 += tmp202 - del tmp202 - tmp205 += tmp204.transpose((0, 2, 1)) * -1 - del tmp204 - tmp199 = einsum(r2.bbb, (0, 1, 2), v.bbbb.ovvv, (3, 0, 4, 1), (2, 3, 4), optimize=True) - tmp150 = tmp147.transpose((1, 0)).copy() - del tmp147 - tmp150 += tmp148.transpose((1, 0)) * 2 - del tmp148 - tmp150 += tmp149.transpose((1, 0)) - del tmp149 - r2new.bab += einsum(tmp150, (0, 1), r2.bab, (2, 3, 0), (2, 3, 1), optimize=True) * -1 - tmp196 = tmp155.copy() * -1 - tmp196 += tmp155.transpose((0, 2, 1, 3)) - tmp197 = einsum(r1.b, (0,), tmp187, (1, 0, 2, 3), (1, 3, 2), optimize=True) * -1 - del tmp187 - tmp151 = einsum(v.aabb.ovvv, (0, 1, 2, 3), r1.a, (1,), (0, 2, 3), optimize=True) - tmp164 = r2.bab.transpose((2, 1, 0)).copy() * -1 - tmp164 += einsum(r1.a, (0,), t1.bb, (1, 2), (1, 0, 2), optimize=True) - tmp156 = tmp155.copy() - tmp156 += tmp155.transpose((0, 2, 1, 3)) * -1 - del tmp155 - tmp144 = einsum(tmp1, (0, 1, 2), t1.bb, (3, 2), (0, 3, 1), optimize=True) - del tmp1 - r2new.bab += einsum(tmp144, (0, 1, 2), t2.abab, (0, 2, 3, 4), (4, 3, 1), optimize=True) * -1 - tmp158 = v.aaaa.ovov.transpose((0, 2, 3, 1)).copy() - tmp158 += v.aaaa.ovov.transpose((0, 2, 1, 3)) * -1 - tmp79 = einsum(r1.a, (0,), tmp58, (1, 2, 0, 3), (1, 2, 3), optimize=True) - tmp161 = v.bbbb.ooov.copy() - tmp161 += v.bbbb.ooov.transpose((0, 2, 1, 3)) * -1 - tmp11 = einsum(tmp2, (0, 1, 2), v.aaaa.ovov, (3, 2, 0, 1), (3,), optimize=True) - del tmp2 - tmp15 = einsum(tmp14, (0, 1), r1.a, (1,), (0,), optimize=True) - del tmp14 - tmp12 = einsum(tmp3, (0, 1, 2), v.aabb.ovov, (3, 1, 0, 2), (3,), optimize=True) - del tmp3 - tmp119 = tmp73.copy() * -1 - tmp119 += tmp73.transpose((0, 2, 1, 3)) - tmp111 = einsum(r1.b, (0,), v.aabb.vvov, (1, 2, 3, 0), (3, 1, 2), optimize=True) - tmp130 = r2.aba.transpose((2, 0, 1)).copy() - tmp130 += einsum(t1.aa, (0, 1), r1.b, (2,), (0, 1, 2), optimize=True) * -1 - tmp109 = einsum(t1.aa, (0, 1), tmp18, (2, 3, 1), (0, 2, 3), optimize=True) - del tmp18 - r2new.aba += einsum(t2.abab, (0, 1, 2, 3), tmp109, (4, 0, 1), (2, 3, 4), optimize=True) * -1 - tmp47 = einsum(t1.aa, (0, 1), tmp46, (2, 3, 0, 1), (2, 3), optimize=True) - tmp45 = einsum(v.aabb.ooov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1), optimize=True) - tmp42 = einsum(r2.bab, (0, 1, 2), v.aabb.ooov, (3, 4, 2, 0), (3, 4, 1), optimize=True) * -1 - tmp40 = einsum(t1.aa, (0, 1), tmp39, (2, 3, 0), (2, 3, 1), optimize=True) - tmp56 = einsum(r1.a, (0,), v.aaaa.vvvv, (1, 2, 3, 0), (1, 2, 3), optimize=True) - tmp34 = einsum(v.aaaa.oovv, (0, 1, 2, 3), tmp33, (1, 3, 4), (0, 2, 4), optimize=True) - tmp37 = einsum(t1.aa, (0, 1), tmp36, (2, 0, 3), (2, 1, 3), optimize=True) * -1 - del tmp36 - tmp54 = einsum(t1.aa, (0, 1), tmp49, (2, 3, 0), (2, 3, 1), optimize=True) - tmp89 = tmp83.copy() - tmp89 += tmp86 - del tmp86 - tmp89 += tmp88.transpose((0, 2, 1)) * -1 - del tmp88 - tmp69 = tmp66.transpose((1, 0)).copy() * 2 - del tmp66 - tmp69 += tmp67.transpose((1, 0)) - del tmp67 - tmp69 += tmp68.transpose((1, 0)) - del tmp68 - r2new.aba += einsum(tmp69, (0, 1), r2.aba, (2, 3, 0), (2, 3, 1), optimize=True) * -1 - tmp99 = tmp96.copy() * 2 - tmp99 += tmp97 - tmp99 += tmp98 - tmp31 = einsum(v.aaaa.ovov, (0, 1, 2, 3), r2.aaa, (3, 1, 4), (4, 0, 2), optimize=True) * -1 - tmp51 = einsum(t1.aa, (0, 1), v.aabb.vvov, (2, 1, 3, 4), (0, 3, 2, 4), optimize=True) - r2new.aba += einsum(tmp51, (0, 1, 2, 3), r2.bbb, (4, 3, 1), (2, 4, 0), optimize=True) * -2 - tmp94 = tmp91.copy() - tmp94 += tmp92 * -1 - del tmp92 - tmp94 += tmp93 * -1 - del tmp93 - r2new.bab += einsum(t2.bbbb, (0, 1, 2, 3), tmp94, (1, 4, 3), (2, 4, 0), optimize=True) * -2 - tmp81 = einsum(r2.aaa, (0, 1, 2), v.aaaa.ovvv, (3, 0, 4, 1), (2, 3, 4), optimize=True) - tmp76 = einsum(r1.a, (0,), tmp75, (1, 2, 0, 3), (1, 2, 3), optimize=True) * -1 - tmp72 = einsum(r2.bab, (0, 1, 2), tmp71, (3, 4, 2, 0), (3, 4, 1), optimize=True) * -1 - tmp74 = tmp73.copy() - tmp74 += tmp73.transpose((0, 2, 1, 3)) * -1 - tmp64 = f.aa.vv.copy() - tmp64 += tmp61.transpose((1, 0)) - del tmp61 - tmp64 += tmp63 * -1 - del tmp63 - r2new.bab += einsum(r2.bab, (0, 1, 2), tmp64, (1, 3), (0, 3, 2), optimize=True) - r2new.aba += einsum(r2.aba, (0, 1, 2), tmp64, (0, 3), (3, 1, 2), optimize=True) - tmp78 = tmp73.copy() - tmp78 += tmp73.transpose((0, 2, 1, 3)) * -1 - del tmp73 - tmp59 = einsum(tmp58, (0, 1, 2, 3), t1.aa, (4, 2), (4, 0, 1, 3), optimize=True) - del tmp58 - tmp186 = einsum(t1.bb, (0, 1), tmp185, (2, 0, 3), (2, 1, 3), optimize=True) - del tmp185 - r2new.bbb += tmp186.transpose((2, 1, 0)) * -1 - r2new.bbb += tmp186.transpose((1, 2, 0)) - del tmp186 - tmp210 = einsum(tmp123, (0, 1, 2), v.bbbb.ovov, (3, 4, 0, 1), (3, 4, 2), optimize=True) - r2new.bbb += tmp210.transpose((1, 2, 0)) - r2new.bbb += tmp210.transpose((2, 1, 0)) * -1 - del tmp210 - tmp207 = einsum(t2.abab, (0, 1, 2, 3), tmp127, (0, 2, 4), (1, 3, 4), optimize=True) - del tmp127 - r2new.bbb += tmp207.transpose((2, 1, 0)) - r2new.bbb += tmp207.transpose((1, 2, 0)) * -1 - del tmp207 - tmp180 = einsum(r2.aba, (0, 1, 2), tmp143, (2, 3, 0, 4), (3, 1, 4), optimize=True) - del tmp143 - r2new.bbb += tmp180.transpose((1, 2, 0)) * -1 - r2new.bbb += tmp180.transpose((2, 1, 0)) - del tmp180 - tmp108 = tmp105.copy() * -1 - del tmp105 - tmp108 += tmp106 * -1 - del tmp106 - tmp108 += tmp107 - del tmp107 - r2new.bbb += einsum(tmp108, (0,), t2.bbbb, (1, 0, 2, 3), (2, 3, 1), optimize=True) * 2 - r2new.aba += einsum(t2.abab, (0, 1, 2, 3), tmp108, (1,), (2, 3, 0), optimize=True) - del tmp108 - tmp182 = einsum(tmp181, (0, 1, 2), t2.bbbb, (1, 2, 3, 4), (0, 3, 4), optimize=True) - del tmp181 - r2new.bbb += tmp182.transpose((1, 2, 0)) - r2new.bbb += tmp182.transpose((1, 2, 0)) - del tmp182 - tmp174 = tmp170.copy() * -1 - del tmp170 - tmp174 += tmp173 * 2 - del tmp173 - r2new.bbb += tmp174.transpose((2, 1, 0)) - r2new.bbb += tmp174.transpose((1, 2, 0)) * -1 - del tmp174 - tmp179 = einsum(v.bbbb.ovvv, (0, 1, 2, 3), r1.b, (3,), (0, 1, 2), optimize=True) - r2new.bbb += tmp179.transpose((1, 2, 0)) * -1 - r2new.bbb += tmp179.transpose((2, 1, 0)) - del tmp179 - tmp190 = einsum(r2.bbb, (0, 1, 2), tmp117, (1, 3), (2, 0, 3), optimize=True) * -1 - del tmp117 - r2new.bbb += tmp190.transpose((1, 2, 0)) * -2 - r2new.bbb += tmp190.transpose((2, 1, 0)) * 2 - del tmp190 - tmp167 = einsum(t1.bb, (0, 1), tmp166, (2, 0, 3), (2, 3, 1), optimize=True) * -1 - r2new.bbb += einsum(t1.bb, (0, 1), tmp167, (2, 0, 3), (1, 3, 2), optimize=True) * 2 - del tmp167 - tmp177 = einsum(tmp176, (0, 1, 2), t1.bb, (1, 3), (0, 3, 2), optimize=True) - del tmp176 - r2new.bbb += tmp177.transpose((2, 1, 0)) - r2new.bbb += tmp177.transpose((1, 2, 0)) * -1 - del tmp177 - tmp184 = einsum(tmp183, (0, 1, 2), t1.bb, (3, 1), (3, 2, 0), optimize=True) - del tmp183 - r2new.bbb += tmp184.transpose((2, 1, 0)) * -1 - r2new.bbb += tmp184.transpose((1, 2, 0)) - del tmp184 - tmp169 = einsum(t1.bb, (0, 1), tmp168, (2, 0, 3), (2, 3, 1), optimize=True) - del tmp168 - r2new.bbb += tmp169.transpose((2, 1, 0)) * -1 - r2new.bbb += tmp169.transpose((1, 2, 0)) - del tmp169 - tmp142 = f.bb.oo.copy() - tmp142 += tmp139.transpose((1, 0)) - del tmp139 - tmp142 += tmp141.transpose((1, 0)) * -1 - del tmp141 - r2new.bbb += einsum(tmp142, (0, 1), r2.bbb, (2, 3, 0), (2, 3, 1), optimize=True) * -2 - r2new.bab += einsum(tmp142, (0, 1), r2.bab, (2, 3, 0), (2, 3, 1), optimize=True) * -1 - del tmp142 - tmp209 = einsum(r2.bbb, (0, 1, 2), tmp208, (3, 1), (2, 3, 0), optimize=True) * -2 - del tmp208 - r2new.bbb += tmp209.transpose((2, 1, 0)) - r2new.bbb += tmp209.transpose((1, 2, 0)) * -1 - del tmp209 - tmp189 = einsum(tmp188, (0, 1, 2, 3), r2.bbb, (4, 3, 0), (1, 2, 4), optimize=True) - del tmp188 - r2new.bbb += tmp189.transpose((2, 1, 0)) * -2 - r2new.bbb += tmp189.transpose((1, 2, 0)) * 2 - del tmp189 - tmp178 = tmp175.transpose((1, 0, 2)).copy() - del tmp175 - tmp178 += tmp166.transpose((2, 0, 1)) - del tmp166 - r2new.bbb += einsum(t2.bbbb, (0, 1, 2, 3), tmp178, (0, 4, 1), (2, 3, 4), optimize=True) * -2 - del tmp178 - tmp195 = tmp192.copy() - tmp195 += einsum(r2.bbb, (0, 1, 2), tmp193, (3, 2, 4, 1), (3, 4, 0), optimize=True) * 2 - del tmp193 - tmp195 += einsum(t1.bb, (0, 1), tmp194, (2, 1, 3), (0, 2, 3), optimize=True) * -1 - del tmp194 - r2new.bbb += einsum(t1.bb, (0, 1), tmp195, (2, 0, 3), (3, 1, 2), optimize=True) - del tmp195 - tmp206 = einsum(t2.bbbb, (0, 1, 2, 3), tmp205, (1, 4, 3), (0, 4, 2), optimize=True) * 4 - del tmp205 - r2new.bbb += tmp206.transpose((1, 2, 0)) * -1 - r2new.bbb += tmp206.transpose((2, 1, 0)) - del tmp206 - tmp200 = einsum(tmp199, (0, 1, 2), t1.bb, (1, 3), (0, 3, 2), optimize=True) - del tmp199 - r2new.bbb += tmp200.transpose((2, 1, 0)) * 2 - r2new.bbb += tmp200.transpose((1, 2, 0)) * -2 - del tmp200 - tmp191 = einsum(r2.bbb, (0, 1, 2), tmp150, (2, 3), (3, 0, 1), optimize=True) - del tmp150 - r2new.bbb += tmp191.transpose((2, 1, 0)) - r2new.bbb += tmp191.transpose((2, 1, 0)) - del tmp191 - tmp198 = tmp192.copy() - del tmp192 - tmp198 += einsum(r2.bbb, (0, 1, 2), tmp196, (3, 2, 4, 1), (3, 4, 0), optimize=True) * 2 - del tmp196 - tmp198 += einsum(t1.bb, (0, 1), tmp197, (2, 1, 3), (0, 2, 3), optimize=True) * -1 - del tmp197 - r2new.bbb += einsum(t1.bb, (0, 1), tmp198, (2, 0, 3), (1, 3, 2), optimize=True) * -1 - del tmp198 - tmp146 = einsum(tmp145, (0, 1, 2, 3), t1.bb, (4, 1), (4, 0, 3, 2), optimize=True) * -1 - del tmp145 - r2new.bab += einsum(r2.bab, (0, 1, 2), tmp146, (3, 2, 0, 4), (4, 1, 3), optimize=True) - del tmp146 - tmp163 = einsum(v.aabb.ovvv, (0, 1, 2, 3), r2.bab, (3, 1, 4), (0, 4, 2), optimize=True) * -1 - r2new.bab += einsum(t1.aa, (0, 1), tmp163, (0, 2, 3), (3, 1, 2), optimize=True) - del tmp163 - tmp165 = tmp151.transpose((0, 2, 1)).copy() * -1 - tmp165 += einsum(tmp164, (0, 1, 2), v.aabb.ovov, (3, 1, 0, 4), (3, 4, 2), optimize=True) - del tmp164 - r2new.bab += einsum(tmp165, (0, 1, 2), t2.abab, (0, 3, 4, 1), (2, 4, 3), optimize=True) * -1 - del tmp165 - tmp157 = einsum(tmp91, (0, 1, 2), t1.bb, (3, 2), (3, 0, 1), optimize=True) - del tmp91 - tmp157 += einsum(r2.aaa, (0, 1, 2), tmp152, (2, 3, 4, 1), (3, 4, 0), optimize=True) * 2 - tmp157 += einsum(r2.bab, (0, 1, 2), tmp156, (3, 2, 4, 0), (3, 4, 1), optimize=True) * -1 - del tmp156 - r2new.bab += einsum(tmp157, (0, 1, 2), t1.bb, (1, 3), (3, 2, 0), optimize=True) - del tmp157 - tmp160 = tmp132.transpose((1, 0)).copy() * 0.5 - tmp160 += tmp133.transpose((1, 0)) - tmp160 += einsum(tmp10, (0, 1), t1.bb, (0, 2), (1, 2), optimize=True) * 0.5 - del tmp10 - r2new.bab += einsum(tmp160, (0, 1), r2.bab, (0, 2, 3), (1, 2, 3), optimize=True) * -2 - del tmp160 - tmp153 = einsum(t1.bb, (0, 1), tmp151, (2, 3, 1), (2, 0, 3), optimize=True) * -1 - del tmp151 - tmp153 += einsum(r2.bab, (0, 1, 2), tmp152, (3, 4, 2, 1), (3, 4, 0), optimize=True) * -1 - del tmp152 - tmp153 += einsum(tmp144, (0, 1, 2), t1.bb, (2, 3), (0, 1, 3), optimize=True) - del tmp144 - r2new.bab += einsum(t1.aa, (0, 1), tmp153, (0, 2, 3), (3, 1, 2), optimize=True) * -1 - del tmp153 - tmp104 = t2.abab.copy() - tmp104 += einsum(t1.aa, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3), optimize=True) - tmp137 = einsum(r2.bab, (0, 1, 2), v.aabb.ovoo, (3, 1, 4, 2), (3, 4, 0), optimize=True) * -1 - r2new.bab += einsum(t1.aa, (0, 1), tmp137, (0, 2, 3), (3, 1, 2), optimize=True) * -1 - del tmp137 - tmp138 = einsum(r1.a, (0,), v.aabb.ovoo, (1, 0, 2, 3), (1, 2, 3), optimize=True) - tmp138 += einsum(v.aabb.ovov, (0, 1, 2, 3), r2.bab, (3, 1, 4), (0, 2, 4), optimize=True) * -1 - r2new.bab += einsum(tmp104, (0, 1, 2, 3), tmp138, (0, 1, 4), (3, 2, 4), optimize=True) * -1 - del tmp138 - tmp159 = tmp83.transpose((0, 2, 1)).copy() - del tmp83 - tmp159 += einsum(tmp158, (0, 1, 2, 3), tmp33, (0, 3, 4), (1, 2, 4), optimize=True) * -1 - del tmp158 - tmp159 += tmp79 * -1 - r2new.bab += einsum(tmp159, (0, 1, 2), t2.abab, (0, 3, 1, 4), (4, 2, 3), optimize=True) * -1 - del tmp159 - tmp128 = tmp96.transpose((1, 0)).copy() * 2 - del tmp96 - tmp128 += tmp97.transpose((1, 0)) - del tmp97 - tmp128 += tmp98.transpose((1, 0)) - del tmp98 - r2new.bab += einsum(tmp128, (0, 1), r2.bab, (2, 0, 3), (2, 1, 3), optimize=True) * -1 - r2new.aba += einsum(tmp128, (0, 1), r2.aba, (0, 2, 3), (1, 2, 3), optimize=True) * -1 - del tmp128 - tmp162 = einsum(r1.a, (0,), v.aabb.vvoo, (1, 0, 2, 3), (2, 3, 1), optimize=True) - tmp162 += einsum(r2.aaa, (0, 1, 2), v.aabb.ovoo, (2, 1, 3, 4), (3, 4, 0), optimize=True) * 2 - tmp162 += einsum(r2.bab, (0, 1, 2), v.aabb.vvov, (3, 1, 4, 0), (4, 2, 3), optimize=True) * -1 - tmp162 += einsum(r2.bab, (0, 1, 2), tmp161, (3, 4, 2, 0), (4, 3, 1), optimize=True) * -1 - del tmp161 - r2new.bab += einsum(t1.bb, (0, 1), tmp162, (0, 2, 3), (1, 3, 2), optimize=True) - del tmp162 - tmp154 = einsum(v.aabb.vvov, (0, 1, 2, 3), t1.bb, (4, 3), (4, 2, 0, 1), optimize=True) - r2new.bab += einsum(tmp154, (0, 1, 2, 3), r2.bab, (4, 3, 1), (4, 2, 0), optimize=True) * -1 - del tmp154 - tmp16 = tmp11.copy() * -1 - del tmp11 - tmp16 += tmp12 - del tmp12 - tmp16 += tmp15 - del tmp15 - r2new.bab += einsum(t2.abab, (0, 1, 2, 3), tmp16, (0,), (3, 2, 1), optimize=True) - r2new.aaa += einsum(tmp16, (0,), t2.aaaa, (1, 0, 2, 3), (2, 3, 1), optimize=True) * 2 - r1new.a += einsum(tmp16, (0,), t1.aa, (0, 1), (1,), optimize=True) * -1 - del tmp16 - tmp129 = einsum(r2.aba, (0, 1, 2), v.aabb.vvov, (3, 0, 4, 1), (2, 4, 3), optimize=True) - r2new.aba += einsum(tmp129, (0, 1, 2), t1.bb, (1, 3), (2, 3, 0), optimize=True) * -1 - del tmp129 - tmp124 = tmp122.transpose((0, 2, 1)).copy() - del tmp122 - tmp124 += einsum(tmp123, (0, 1, 2), tmp22, (0, 3, 4, 1), (3, 4, 2), optimize=True) * -1 - del tmp123 - tmp124 += einsum(r1.b, (0,), tmp115, (1, 0, 2, 3), (1, 3, 2), optimize=True) * -1 - del tmp115 - r2new.aba += einsum(tmp124, (0, 1, 2), t2.abab, (3, 0, 4, 1), (4, 2, 3), optimize=True) - del tmp124 - tmp113 = einsum(t1.aa, (0, 1), v.aabb.ovvv, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) - r2new.aba += einsum(tmp113, (0, 1, 2, 3), r2.aba, (4, 3, 1), (4, 2, 0), optimize=True) * -1 - del tmp113 - tmp120 = einsum(tmp118, (0, 1, 2), t1.aa, (3, 1), (3, 0, 2), optimize=True) - del tmp118 - tmp120 += einsum(tmp71, (0, 1, 2, 3), r2.bbb, (4, 3, 2), (0, 1, 4), optimize=True) * 2 - tmp120 += einsum(r2.aba, (0, 1, 2), tmp119, (3, 2, 4, 0), (3, 4, 1), optimize=True) - del tmp119 - r2new.aba += einsum(t1.aa, (0, 1), tmp120, (2, 0, 3), (1, 3, 2), optimize=True) - del tmp120 - tmp135 = tmp132.transpose((1, 0)).copy() - del tmp132 - tmp135 += tmp133.transpose((1, 0)) * 2 - del tmp133 - tmp135 += tmp134.transpose((1, 0)) - del tmp134 - r2new.aba += einsum(tmp135, (0, 1), r2.aba, (2, 0, 3), (2, 1, 3), optimize=True) * -1 - del tmp135 - tmp131 = tmp111.transpose((0, 2, 1)).copy() - tmp131 += einsum(tmp130, (0, 1, 2), v.aabb.ovov, (0, 3, 4, 2), (4, 3, 1), optimize=True) - del tmp130 - r2new.aba += einsum(tmp131, (0, 1, 2), t2.abab, (3, 0, 1, 4), (2, 4, 3), optimize=True) - del tmp131 - tmp112 = einsum(tmp111, (0, 1, 2), t1.aa, (3, 2), (3, 0, 1), optimize=True) - del tmp111 - tmp112 += einsum(tmp71, (0, 1, 2, 3), r2.aba, (4, 3, 1), (0, 2, 4), optimize=True) - del tmp71 - tmp112 += einsum(t1.aa, (0, 1), tmp109, (2, 0, 3), (2, 3, 1), optimize=True) * -1 - del tmp109 - r2new.aba += einsum(tmp112, (0, 1, 2), t1.bb, (1, 3), (2, 3, 0), optimize=True) - del tmp112 - tmp48 = f.aa.oo.copy() - tmp48 += tmp45.transpose((1, 0)) - del tmp45 - tmp48 += tmp47.transpose((1, 0)) * -1 - del tmp47 - r2new.aba += einsum(tmp48, (0, 1), r2.aba, (2, 3, 0), (2, 3, 1), optimize=True) * -1 - r2new.aaa += einsum(r2.aaa, (0, 1, 2), tmp48, (2, 3), (0, 1, 3), optimize=True) * -2 - del tmp48 - tmp136 = einsum(v.aabb.oovv, (0, 1, 2, 3), r1.b, (3,), (0, 1, 2), optimize=True) - tmp136 += einsum(v.aabb.ooov, (0, 1, 2, 3), r2.bbb, (4, 3, 2), (0, 1, 4), optimize=True) * 2 - tmp136 += einsum(r2.aba, (0, 1, 2), tmp46, (3, 4, 2, 0), (4, 3, 1), optimize=True) - del tmp46 - r2new.aba += einsum(t1.aa, (0, 1), tmp136, (0, 2, 3), (1, 3, 2), optimize=True) - del tmp136 - tmp103 = einsum(r1.b, (0,), v.aabb.ooov, (1, 2, 3, 0), (1, 2, 3), optimize=True) - tmp103 += einsum(v.aabb.ovov, (0, 1, 2, 3), r2.aba, (1, 3, 4), (0, 4, 2), optimize=True) * -1 - r2new.aba += einsum(tmp104, (0, 1, 2, 3), tmp103, (0, 4, 1), (2, 3, 4), optimize=True) * -1 - del tmp104, tmp103 - tmp121 = einsum(v.aabb.ovvv, (0, 1, 2, 3), r2.aba, (1, 3, 4), (4, 0, 2), optimize=True) - r2new.aba += einsum(t1.aa, (0, 1), tmp121, (2, 0, 3), (1, 3, 2), optimize=True) * -1 - del tmp121 - tmp110 = einsum(t1.aa, (0, 1), tmp75, (2, 3, 1, 4), (0, 2, 3, 4), optimize=True) * -1 - del tmp75 - r2new.aba += einsum(r2.aba, (0, 1, 2), tmp110, (3, 2, 0, 4), (4, 1, 3), optimize=True) - del tmp110 - tmp102 = einsum(v.aabb.ooov, (0, 1, 2, 3), r2.aba, (4, 3, 1), (0, 2, 4), optimize=True) - r2new.aba += einsum(tmp102, (0, 1, 2), t1.bb, (1, 3), (2, 3, 0), optimize=True) - del tmp102 - tmp43 = einsum(tmp42, (0, 1, 2), t1.aa, (1, 3), (0, 2, 3), optimize=True) - del tmp42 - r2new.aaa += tmp43.transpose((2, 1, 0)) - r2new.aaa += tmp43.transpose((1, 2, 0)) * -1 - del tmp43 - tmp101 = einsum(tmp33, (0, 1, 2), v.aaaa.ovov, (3, 4, 0, 1), (3, 4, 2), optimize=True) - del tmp33 - r2new.aaa += tmp101.transpose((1, 2, 0)) - r2new.aaa += tmp101.transpose((2, 1, 0)) * -1 - del tmp101 - tmp41 = einsum(t1.aa, (0, 1), tmp40, (2, 0, 3), (2, 1, 3), optimize=True) - del tmp40 - r2new.aaa += tmp41.transpose((2, 1, 0)) - r2new.aaa += tmp41.transpose((1, 2, 0)) * -1 - del tmp41 - tmp57 = einsum(tmp56, (0, 1, 2), t1.aa, (3, 1), (3, 2, 0), optimize=True) - del tmp56 - r2new.aaa += tmp57.transpose((2, 1, 0)) * -1 - r2new.aaa += tmp57.transpose((1, 2, 0)) - del tmp57 - tmp38 = tmp34.transpose((0, 2, 1)).copy() * -1 - del tmp34 - tmp38 += tmp37.transpose((0, 2, 1)) * 2 - del tmp37 - r2new.aaa += tmp38.transpose((2, 1, 0)) - r2new.aaa += tmp38.transpose((1, 2, 0)) * -1 - del tmp38 - tmp55 = einsum(tmp54, (0, 1, 2), t1.aa, (1, 3), (0, 3, 2), optimize=True) - del tmp54 - r2new.aaa += tmp55.transpose((2, 1, 0)) * -1 - r2new.aaa += tmp55.transpose((1, 2, 0)) - del tmp55 - tmp90 = einsum(t2.aaaa, (0, 1, 2, 3), tmp89, (1, 4, 3), (0, 2, 4), optimize=True) * 2 - del tmp89 - r2new.aaa += tmp90.transpose((2, 1, 0)) - r2new.aaa += tmp90.transpose((1, 2, 0)) * -1 - del tmp90 - tmp53 = einsum(r1.a, (0,), v.aaaa.ovvv, (1, 2, 3, 0), (1, 2, 3), optimize=True) - r2new.aaa += tmp53.transpose((1, 2, 0)) * -1 - r2new.aaa += tmp53.transpose((2, 1, 0)) - del tmp53 - tmp70 = einsum(r2.aaa, (0, 1, 2), tmp69, (2, 3), (3, 0, 1), optimize=True) - del tmp69 - r2new.aaa += tmp70.transpose((2, 1, 0)) - r2new.aaa += tmp70.transpose((2, 1, 0)) - del tmp70 - tmp50 = einsum(tmp49, (0, 1, 2), t2.aaaa, (1, 2, 3, 4), (0, 3, 4), optimize=True) - del tmp49 - r2new.aaa += tmp50.transpose((1, 2, 0)) - r2new.aaa += tmp50.transpose((1, 2, 0)) - del tmp50 - tmp100 = einsum(r2.aaa, (0, 1, 2), tmp99, (3, 1), (2, 0, 3), optimize=True) * -2 - del tmp99 - r2new.aaa += tmp100.transpose((1, 2, 0)) - r2new.aaa += tmp100.transpose((2, 1, 0)) * -1 - del tmp100 - tmp44 = tmp39.transpose((1, 0, 2)).copy() - del tmp39 - tmp44 += tmp31.transpose((2, 0, 1)) - r2new.aaa += einsum(tmp44, (0, 1, 2), t2.aaaa, (2, 0, 3, 4), (3, 4, 1), optimize=True) * 2 - del tmp44 - tmp52 = einsum(r2.bab, (0, 1, 2), tmp51, (3, 2, 4, 0), (3, 1, 4), optimize=True) * -1 - del tmp51 - r2new.aaa += tmp52.transpose((1, 2, 0)) - r2new.aaa += tmp52.transpose((2, 1, 0)) * -1 - del tmp52 - tmp95 = einsum(t2.abab, (0, 1, 2, 3), tmp94, (1, 4, 3), (0, 2, 4), optimize=True) - del tmp94 - r2new.aaa += tmp95.transpose((2, 1, 0)) - r2new.aaa += tmp95.transpose((1, 2, 0)) * -1 - del tmp95 - tmp82 = einsum(t1.aa, (0, 1), tmp81, (2, 0, 3), (2, 1, 3), optimize=True) - del tmp81 - r2new.aaa += tmp82.transpose((2, 1, 0)) * 2 - r2new.aaa += tmp82.transpose((1, 2, 0)) * -2 - del tmp82 - tmp77 = tmp72.copy() - tmp77 += einsum(tmp74, (0, 1, 2, 3), r2.aaa, (4, 3, 1), (0, 2, 4), optimize=True) * 2 - del tmp74 - tmp77 += einsum(tmp76, (0, 1, 2), t1.aa, (3, 1), (3, 0, 2), optimize=True) - del tmp76 - r2new.aaa += einsum(tmp77, (0, 1, 2), t1.aa, (1, 3), (2, 3, 0), optimize=True) * -1 - del tmp77 - tmp32 = einsum(t1.aa, (0, 1), tmp31, (2, 0, 3), (2, 3, 1), optimize=True) * -1 - del tmp31 - r2new.aaa += einsum(t1.aa, (0, 1), tmp32, (2, 0, 3), (1, 3, 2), optimize=True) * 2 - del tmp32 - tmp65 = einsum(tmp64, (0, 1), r2.aaa, (2, 0, 3), (3, 2, 1), optimize=True) * -1 - del tmp64 - r2new.aaa += tmp65.transpose((1, 2, 0)) * -2 - r2new.aaa += tmp65.transpose((2, 1, 0)) * 2 - del tmp65 - tmp80 = tmp72.copy() - del tmp72 - tmp80 += einsum(tmp78, (0, 1, 2, 3), r2.aaa, (4, 3, 1), (0, 2, 4), optimize=True) * 2 - del tmp78 - tmp80 += einsum(tmp79, (0, 1, 2), t1.aa, (3, 1), (3, 0, 2), optimize=True) * -1 - del tmp79 - r2new.aaa += einsum(tmp80, (0, 1, 2), t1.aa, (1, 3), (3, 2, 0), optimize=True) - del tmp80 - tmp60 = einsum(r2.aaa, (0, 1, 2), tmp59, (3, 2, 1, 4), (3, 0, 4), optimize=True) - del tmp59 - r2new.aaa += tmp60.transpose((1, 2, 0)) * -2 - r2new.aaa += tmp60.transpose((2, 1, 0)) * 2 - del tmp60 - tmp30 = f.bb.vv.copy() - tmp30 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), t1.bb, (0, 3), (1, 2), optimize=True) * -1 - r1new.b += einsum(tmp30, (0, 1), r1.b, (0,), (1,), optimize=True) - del tmp30 - tmp23 = f.bb.ov.copy() - tmp23 += tmp7 - del tmp7 - tmp23 += einsum(t1.bb, (0, 1), tmp22, (0, 2, 3, 1), (2, 3), optimize=True) * -1 - del tmp22 - r1new.b += einsum(tmp23, (0, 1), r2.bbb, (2, 1, 0), (2,), optimize=True) * 2 - del tmp23 - tmp29 = einsum(v.aabb.ovov, (0, 1, 2, 3), tmp21, (0, 1, 3), (2,), optimize=True) * -0.5 - del tmp21 - tmp29 += einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp20, (2, 3, 1), (0,), optimize=True) * -0.5 - del tmp20 - tmp29 += einsum(tmp28, (0, 1), r1.b, (1,), (0,), optimize=True) * 0.5 - del tmp28 - r1new.b += einsum(tmp29, (0,), t1.bb, (0, 1), (1,), optimize=True) * -2 - del tmp29 - tmp17 = f.aa.vv.copy() - tmp17 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), t1.aa, (0, 3), (1, 2), optimize=True) * -1 - r1new.a += einsum(r1.a, (0,), tmp17, (0, 1), (1,), optimize=True) - del tmp17 - tmp6 = f.aa.ov.copy() - tmp6 += tmp4 - del tmp4 - tmp6 += einsum(tmp5, (0, 1, 2, 3), t1.aa, (0, 3), (1, 2), optimize=True) * -1 - del tmp5 - r1new.a += einsum(tmp6, (0, 1), r2.aaa, (2, 1, 0), (2,), optimize=True) * 2 - del tmp6 - r2new.aaa += einsum(r2.aaa, (0, 1, 2), v.aaaa.vvvv, (3, 0, 4, 1), (3, 4, 2), optimize=True) * 2 - r2new.aba += einsum(r2.aba, (0, 1, 2), v.aaaa.oovv, (3, 2, 4, 0), (4, 1, 3), optimize=True) * -1 - r2new.aba += einsum(r2.aba, (0, 1, 2), v.aaaa.ovov, (3, 4, 2, 0), (4, 1, 3), optimize=True) - r2new.aba += einsum(r2.aba, (0, 1, 2), v.aabb.oovv, (3, 2, 4, 1), (0, 4, 3), optimize=True) * -1 - r2new.bab += einsum(r2.bab, (0, 1, 2), v.bbbb.oovv, (3, 2, 4, 0), (4, 1, 3), optimize=True) * -1 - r2new.bab += einsum(v.aabb.vvoo, (0, 1, 2, 3), r2.bab, (4, 1, 3), (4, 0, 2), optimize=True) * -1 - r2new.bab += einsum(r2.bab, (0, 1, 2), v.bbbb.ovov, (3, 4, 2, 0), (4, 1, 3), optimize=True) - r2new.bbb += einsum(v.bbbb.vvvv, (0, 1, 2, 3), r2.bbb, (1, 3, 4), (0, 2, 4), optimize=True) * 2 - - return r1new, r2new - -def hbar_matvec_ee(f=None, r1=None, r2=None, t1=None, t2=None, v=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-07-22T17:03:35.227637. - - Parameters - ---------- - f : Namespace of arrays - Fock matrix. - r1 : Namespace of arrays - R1 amplitudes. - r2 : Namespace of arrays - R2 amplitudes. - t1 : Namespace of arrays - T1 amplitudes. - t2 : Namespace of arrays - T2 amplitudes. - v : Namespace of arrays - Electron repulsion integrals. - - Returns - ------- - r1new : Namespace of arrays - Updated R1 residuals. - r2new : Namespace of arrays - Updated R2 residuals. - """ - - r1new = Namespace() - r2new = Namespace() - tmp49 = v.bbbb.ovov.transpose((0, 2, 3, 1)).copy() * -1 - tmp49 += v.bbbb.ovov.transpose((0, 2, 1, 3)) - tmp21 = v.aaaa.ovov.transpose((0, 2, 3, 1)).copy() * -1 - tmp21 += v.aaaa.ovov.transpose((0, 2, 1, 3)) - tmp59 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t1.bb, (4, 3), (4, 0, 2, 1), optimize=True) - r1new.bb = einsum(tmp59, (0, 1, 2, 3), r2.bbbb, (1, 2, 4, 3), (0, 4), optimize=True) * 2 - tmp50 = einsum(t1.bb, (0, 1), tmp49, (0, 2, 3, 1), (2, 3), optimize=True) - tmp6 = einsum(t1.aa, (0, 1), v.aabb.ovov, (0, 1, 2, 3), (2, 3), optimize=True) - tmp13 = einsum(r1.aa, (0, 1), v.aabb.ovov, (0, 1, 2, 3), (2, 3), optimize=True) - r1new.bb += tmp13 - tmp66 = einsum(r1.bb, (0, 1), tmp49, (0, 2, 3, 1), (2, 3), optimize=True) - del tmp49 - tmp7 = v.bbbb.ovov.transpose((0, 2, 3, 1)).copy() * -1 - tmp7 += v.bbbb.ovov.transpose((0, 2, 1, 3)) - tmp310 = einsum(v.bbbb.ooov, (0, 1, 2, 3), t1.bb, (4, 3), (4, 0, 1, 2), optimize=True) - tmp30 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 2, 1), optimize=True) - r1new.aa = einsum(tmp30, (0, 1, 2, 3), r2.aaaa, (2, 1, 4, 3), (0, 4), optimize=True) * -2 - tmp22 = einsum(tmp21, (0, 1, 2, 3), t1.aa, (0, 3), (1, 2), optimize=True) - tmp2 = einsum(v.aabb.ovov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1), optimize=True) - tmp3 = v.aaaa.ovov.transpose((0, 2, 3, 1)).copy() * -1 - tmp3 += v.aaaa.ovov.transpose((0, 2, 1, 3)) - tmp134 = einsum(t1.aa, (0, 1), v.aaaa.ooov, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) - tmp10 = einsum(v.aabb.ovov, (0, 1, 2, 3), r1.bb, (2, 3), (0, 1), optimize=True) - r1new.aa += tmp10 - tmp39 = einsum(r1.aa, (0, 1), tmp21, (0, 2, 3, 1), (2, 3), optimize=True) - del tmp21 - tmp200 = r2.bbbb.copy() * 2 - tmp200 += einsum(t1.bb, (0, 1), r1.bb, (2, 3), (0, 2, 3, 1), optimize=True) * -1 - tmp193 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (0, 2, 4, 3), (4, 1), optimize=True) - tmp192 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 1, 4), (3, 4), optimize=True) - tmp324 = tmp59.copy() * -1 - tmp324 += tmp59.transpose((0, 2, 1, 3)) - tmp58 = einsum(v.aabb.ovov, (0, 1, 2, 3), t1.bb, (4, 3), (0, 4, 2, 1), optimize=True) - r2new.abab = einsum(r1.bb, (0, 1), tmp58, (2, 3, 0, 4), (2, 3, 4, 1), optimize=True) * -1 - r1new.bb += einsum(r2.abab, (0, 1, 2, 3), tmp58, (0, 4, 1, 2), (4, 3), optimize=True) * -1 - tmp315 = einsum(tmp59, (0, 1, 2, 3), r1.bb, (4, 3), (4, 0, 1, 2), optimize=True) - tmp51 = f.bb.ov.copy() - tmp51 += tmp6 - tmp51 += tmp50 * -1 - del tmp50 - tmp187 = v.bbbb.ooov.copy() - tmp187 += v.bbbb.ooov.transpose((0, 2, 1, 3)) * -1 - tmp67 = tmp13.copy() - tmp67 += tmp66 * -1 - del tmp66 - tmp207 = v.bbbb.ovvv.copy() - tmp207 += v.bbbb.ovvv.transpose((0, 2, 3, 1)) * -1 - tmp14 = einsum(r1.bb, (0, 1), tmp7, (0, 2, 3, 1), (2, 3), optimize=True) - tmp8 = einsum(t1.bb, (0, 1), tmp7, (0, 2, 3, 1), (2, 3), optimize=True) - del tmp7 - tmp318 = tmp310.transpose((0, 2, 1, 3)).copy() * -1 - tmp318 += tmp310.transpose((0, 2, 3, 1)) - tmp47 = v.bbbb.ooov.copy() - tmp47 += v.bbbb.ovoo.transpose((0, 2, 3, 1)) * -1 - tmp305 = v.bbbb.ovvv.copy() * -1 - tmp305 += v.bbbb.ovvv.transpose((0, 2, 3, 1)) - tmp102 = v.bbbb.ovov.transpose((0, 2, 3, 1)).copy() - tmp102 += v.bbbb.ovov.transpose((0, 2, 1, 3)) * -1 - tmp246 = v.bbbb.ooov.copy() - tmp246 += v.bbbb.ovoo.transpose((0, 2, 3, 1)) * -1 - tmp269 = einsum(v.bbbb.ooov, (0, 1, 2, 3), r1.bb, (4, 3), (4, 0, 1, 2), optimize=True) - r2new.bbbb = einsum(tmp269, (0, 1, 2, 3), t2.bbbb, (3, 2, 4, 5), (0, 1, 4, 5), optimize=True) * 2 - tmp31 = einsum(t1.aa, (0, 1), v.aabb.ovov, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) - r2new.abab += einsum(tmp31, (0, 1, 2, 3), r1.aa, (1, 4), (0, 2, 4, 3), optimize=True) * -1 - r1new.aa += einsum(r2.abab, (0, 1, 2, 3), tmp31, (4, 0, 1, 3), (4, 2), optimize=True) * -1 - tmp139 = einsum(r1.aa, (0, 1), tmp30, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) - tmp143 = tmp30.copy() * -1 - tmp143 += tmp30.transpose((0, 2, 1, 3)) - tmp23 = f.aa.ov.copy() - tmp23 += tmp2 - tmp23 += tmp22 * -1 - del tmp22 - tmp85 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 4, 1, 3), (2, 4), optimize=True) - tmp84 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (0, 4, 1, 3), (2, 4), optimize=True) - tmp72 = v.aaaa.ooov.copy() - tmp72 += v.aaaa.ooov.transpose((0, 2, 1, 3)) * -1 - tmp70 = einsum(r1.aa, (0, 1), v.aaaa.ooov, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) - r2new.aaaa = einsum(t2.aaaa, (0, 1, 2, 3), tmp70, (4, 5, 1, 0), (4, 5, 2, 3), optimize=True) * 2 - tmp4 = einsum(tmp3, (0, 1, 2, 3), t1.aa, (0, 3), (1, 2), optimize=True) - tmp128 = v.aaaa.ovvv.copy() - tmp128 += v.aaaa.ovvv.transpose((0, 2, 1, 3)) * -1 - tmp97 = v.aaaa.ooov.copy() * -1 - tmp97 += v.aaaa.ovoo.transpose((0, 2, 3, 1)) - tmp95 = r2.aaaa.copy() * 2 - tmp95 += einsum(r1.aa, (0, 1), t1.aa, (2, 3), (2, 0, 1, 3), optimize=True) * -1 - tmp11 = einsum(tmp3, (0, 1, 2, 3), r1.aa, (0, 3), (1, 2), optimize=True) - tmp148 = tmp134.transpose((0, 2, 1, 3)).copy() - tmp148 += tmp134.transpose((0, 3, 2, 1)) * -1 - tmp19 = v.aaaa.ooov.copy() * -1 - tmp19 += v.aaaa.ooov.transpose((0, 2, 1, 3)) - tmp116 = v.aaaa.ovvv.copy() * -1 - tmp116 += v.aaaa.ovvv.transpose((0, 2, 1, 3)) - tmp40 = tmp10.copy() - tmp40 += tmp39 * -1 - del tmp39 - tmp201 = einsum(tmp200, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 0, 2), (4, 1, 5, 3), optimize=True) - r2new.abab += tmp201 - tmp293 = einsum(tmp3, (0, 1, 2, 3), r2.abab, (0, 4, 3, 5), (1, 4, 2, 5), optimize=True) - tmp232 = einsum(r1.bb, (0, 1), v.aabb.ovoo, (2, 3, 4, 0), (2, 4, 3, 1), optimize=True) - r2new.abab += tmp232 * -1 - tmp277 = einsum(v.bbbb.oooo, (0, 1, 2, 3), t1.bb, (3, 4), (0, 1, 2, 4), optimize=True) - tmp286 = tmp192.copy() - tmp286 += tmp193 * 2 - tmp325 = einsum(r2.bbbb, (0, 1, 2, 3), tmp324, (4, 5, 1, 3), (4, 5, 0, 2), optimize=True) - tmp322 = einsum(tmp58, (0, 1, 2, 3), r2.abab, (0, 4, 3, 5), (4, 1, 2, 5), optimize=True) - tmp323 = einsum(tmp315, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 3, 4), optimize=True) - tmp63 = einsum(tmp51, (0, 1), t1.bb, (2, 1), (2, 0), optimize=True) - tmp61 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 3), (1, 4), optimize=True) - tmp62 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (4, 2, 3, 1), (4, 0), optimize=True) * -1 - tmp271 = einsum(r2.abab, (0, 1, 2, 3), v.aabb.ovoo, (0, 2, 4, 5), (1, 4, 5, 3), optimize=True) - tmp272 = einsum(r2.bbbb, (0, 1, 2, 3), tmp187, (4, 5, 1, 3), (4, 5, 0, 2), optimize=True) - tmp259 = v.bbbb.ovvv.copy() - tmp259 += v.bbbb.ovvv.transpose((0, 2, 3, 1)) * -1 - tmp209 = einsum(tmp51, (0, 1), r1.bb, (0, 2), (2, 1), optimize=True) - tmp210 = einsum(tmp67, (0, 1), t1.bb, (0, 2), (2, 1), optimize=True) - tmp208 = einsum(r1.bb, (0, 1), tmp207, (0, 1, 2, 3), (2, 3), optimize=True) - tmp206 = einsum(v.bbbb.ovov, (0, 1, 2, 3), r2.bbbb, (0, 2, 4, 1), (4, 3), optimize=True) * -1 - tmp205 = einsum(r2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 1, 4), (3, 4), optimize=True) - tmp204 = einsum(v.aabb.ovvv, (0, 1, 2, 3), r1.aa, (0, 1), (2, 3), optimize=True) - tmp15 = tmp13.copy() - del tmp13 - tmp15 += tmp14 * -1 - del tmp14 - r1new.bb += einsum(tmp15, (0, 1), t2.bbbb, (2, 0, 3, 1), (2, 3), optimize=True) * 2 - r1new.aa += einsum(t2.abab, (0, 1, 2, 3), tmp15, (1, 3), (0, 2), optimize=True) - tmp317 = einsum(t1.bb, (0, 1), v.bbbb.oovv, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) - tmp338 = einsum(tmp310, (0, 1, 2, 3), t1.bb, (3, 4), (0, 2, 1, 4), optimize=True) - tmp9 = f.bb.ov.copy() - tmp9 += tmp6 - del tmp6 - tmp9 += tmp8 * -1 - del tmp8 - r1new.bb += einsum(tmp9, (0, 1), r2.bbbb, (2, 0, 3, 1), (2, 3), optimize=True) * 2 - r1new.aa += einsum(r2.abab, (0, 1, 2, 3), tmp9, (1, 3), (0, 2), optimize=True) - tmp346 = einsum(v.bbbb.ovvv, (0, 1, 2, 3), t1.bb, (4, 3), (4, 0, 1, 2), optimize=True) - tmp319 = einsum(tmp318, (0, 1, 2, 3), t1.bb, (3, 4), (0, 1, 2, 4), optimize=True) - del tmp318 - tmp48 = einsum(tmp47, (0, 1, 2, 3), r1.bb, (0, 3), (1, 2), optimize=True) - tmp45 = einsum(r2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 3), (1, 4), optimize=True) - tmp46 = einsum(v.bbbb.ovov, (0, 1, 2, 3), r2.bbbb, (4, 2, 1, 3), (4, 0), optimize=True) - tmp44 = einsum(r1.aa, (0, 1), v.aabb.ovoo, (0, 1, 2, 3), (2, 3), optimize=True) - tmp52 = einsum(tmp51, (0, 1), r1.bb, (2, 1), (2, 0), optimize=True) - tmp333 = einsum(tmp324, (0, 1, 2, 3), t2.bbbb, (4, 2, 5, 3), (0, 1, 4, 5), optimize=True) - del tmp324 - tmp332 = einsum(tmp58, (0, 1, 2, 3), t2.abab, (0, 4, 3, 5), (1, 4, 2, 5), optimize=True) - tmp342 = einsum(t1.bb, (0, 1), tmp59, (2, 3, 4, 1), (2, 0, 4, 3), optimize=True) - tmp306 = einsum(tmp305, (0, 1, 2, 3), t1.bb, (0, 1), (2, 3), optimize=True) - del tmp305 - tmp212 = einsum(t1.aa, (0, 1), v.aabb.ovvv, (0, 1, 2, 3), (2, 3), optimize=True) - tmp243 = einsum(r2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 5), (1, 4, 3, 5), optimize=True) - r2new.bbbb += tmp243 - r2new.bbbb += tmp243.transpose((0, 1, 3, 2)) * -1 - r2new.bbbb += tmp243.transpose((1, 0, 2, 3)) * -1 - r2new.bbbb += tmp243.transpose((1, 0, 3, 2)) - tmp244 = einsum(tmp200, (0, 1, 2, 3), tmp102, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) - tmp247 = einsum(tmp246, (0, 1, 2, 3), r1.bb, (0, 4), (1, 2, 3, 4), optimize=True) - tmp283 = einsum(tmp269, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 3, 4), optimize=True) - tmp108 = v.aaaa.ooov.copy() * -1 - tmp108 += v.aaaa.ooov.transpose((0, 2, 1, 3)) - tmp142 = einsum(r2.abab, (0, 1, 2, 3), tmp31, (4, 5, 1, 3), (0, 4, 5, 2), optimize=True) - tmp141 = einsum(t1.aa, (0, 1), tmp139, (2, 3, 0, 4), (2, 3, 4, 1), optimize=True) - tmp144 = einsum(tmp143, (0, 1, 2, 3), r2.aaaa, (4, 1, 5, 3), (0, 2, 4, 5), optimize=True) - tmp34 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 2, 1, 3), (0, 4), optimize=True) - tmp35 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 1, 3), (0, 4), optimize=True) - tmp36 = einsum(tmp23, (0, 1), t1.aa, (2, 1), (2, 0), optimize=True) - tmp163 = einsum(tmp134, (0, 1, 2, 3), t1.aa, (3, 4), (0, 2, 1, 4), optimize=True) - tmp147 = einsum(v.aaaa.oovv, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 1, 2), optimize=True) - tmp76 = einsum(t1.aa, (0, 1), v.aaaa.oooo, (2, 3, 4, 0), (2, 3, 4, 1), optimize=True) - tmp86 = tmp84.copy() - tmp86 += tmp85 * 0.5 - tmp152 = v.aaaa.ovvv.copy() * -1 - tmp152 += v.aaaa.ovvv.transpose((0, 2, 1, 3)) - tmp73 = einsum(tmp72, (0, 1, 2, 3), r2.aaaa, (4, 2, 5, 3), (4, 0, 1, 5), optimize=True) - del tmp72 - tmp71 = einsum(r2.abab, (0, 1, 2, 3), v.aabb.ooov, (4, 5, 1, 3), (0, 4, 5, 2), optimize=True) - tmp91 = einsum(t1.aa, (0, 1), tmp70, (2, 3, 0, 4), (2, 3, 4, 1), optimize=True) - tmp5 = f.aa.ov.copy() - tmp5 += tmp2 - del tmp2 - tmp5 += tmp4 * -1 - del tmp4 - r1new.bb += einsum(r2.abab, (0, 1, 2, 3), tmp5, (0, 2), (1, 3), optimize=True) - r1new.aa += einsum(tmp5, (0, 1), r2.aaaa, (2, 0, 3, 1), (2, 3), optimize=True) * 2 - tmp129 = einsum(tmp128, (0, 1, 2, 3), t1.aa, (0, 2), (1, 3), optimize=True) - del tmp128 - tmp127 = einsum(v.aabb.vvov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1), optimize=True) - tmp94 = einsum(r2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (0, 4, 2, 5), optimize=True) - r2new.aaaa += tmp94 - r2new.aaaa += tmp94.transpose((0, 1, 3, 2)) * -1 - r2new.aaaa += tmp94.transpose((1, 0, 2, 3)) * -1 - r2new.aaaa += tmp94.transpose((1, 0, 3, 2)) - tmp98 = einsum(tmp97, (0, 1, 2, 3), r1.aa, (2, 4), (0, 1, 4, 3), optimize=True) - tmp96 = einsum(tmp95, (0, 1, 2, 3), tmp3, (0, 4, 5, 2), (4, 1, 5, 3), optimize=True) - del tmp3 - tmp169 = einsum(t1.aa, (0, 1), tmp30, (2, 3, 4, 1), (2, 0, 4, 3), optimize=True) - tmp104 = einsum(v.aabb.ovov, (0, 1, 2, 3), tmp95, (0, 4, 1, 5), (4, 2, 5, 3), optimize=True) - r2new.abab += tmp104 - tmp103 = einsum(tmp102, (0, 1, 2, 3), r2.abab, (4, 0, 5, 3), (4, 1, 5, 2), optimize=True) - del tmp102 - tmp101 = einsum(v.aabb.ooov, (0, 1, 2, 3), r1.aa, (1, 4), (0, 2, 4, 3), optimize=True) - r2new.abab += tmp101 * -1 - tmp12 = tmp10.copy() - del tmp10 - tmp12 += tmp11 * -1 - del tmp11 - r1new.bb += einsum(t2.abab, (0, 1, 2, 3), tmp12, (0, 2), (1, 3), optimize=True) - r1new.aa += einsum(tmp12, (0, 1), t2.aaaa, (2, 0, 3, 1), (2, 3), optimize=True) * 2 - tmp171 = einsum(t1.aa, (0, 1), v.aaaa.ovvv, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) - tmp159 = einsum(t2.abab, (0, 1, 2, 3), tmp31, (4, 5, 1, 3), (4, 0, 5, 2), optimize=True) - tmp160 = einsum(t2.aaaa, (0, 1, 2, 3), tmp143, (4, 5, 1, 3), (4, 5, 0, 2), optimize=True) - del tmp143 - tmp149 = einsum(t1.aa, (0, 1), tmp148, (2, 0, 3, 4), (2, 3, 4, 1), optimize=True) - del tmp148 - tmp17 = einsum(r2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 3, 1, 2), (0, 4), optimize=True) * -1 - tmp20 = einsum(tmp19, (0, 1, 2, 3), r1.aa, (2, 3), (0, 1), optimize=True) - tmp18 = einsum(r2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 1, 3), (0, 4), optimize=True) - tmp16 = einsum(v.aabb.ooov, (0, 1, 2, 3), r1.bb, (2, 3), (0, 1), optimize=True) - tmp24 = einsum(tmp23, (0, 1), r1.aa, (2, 1), (2, 0), optimize=True) - tmp120 = einsum(r2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (0, 4, 1, 3), (2, 4), optimize=True) - tmp122 = einsum(tmp116, (0, 1, 2, 3), r1.aa, (0, 2), (1, 3), optimize=True) - tmp123 = einsum(r1.aa, (0, 1), tmp23, (0, 2), (1, 2), optimize=True) - tmp124 = einsum(t1.aa, (0, 1), tmp40, (0, 2), (1, 2), optimize=True) - tmp121 = einsum(r2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 4, 1, 3), (2, 4), optimize=True) - tmp119 = einsum(r1.bb, (0, 1), v.aabb.vvov, (2, 3, 0, 1), (2, 3), optimize=True) - tmp294 = tmp232.copy() - tmp294 += tmp293 - del tmp293 - tmp294 += tmp201 * -1 - tmp352 = tmp59.copy() * -1 - tmp352 += tmp59.transpose((0, 2, 1, 3)) - tmp351 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovvv, (4, 2, 5, 3), (0, 1, 4, 5), optimize=True) - r2new.bbbb += einsum(r1.bb, (0, 1), tmp351, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) * -2 - tmp278 = einsum(r1.bb, (0, 1), tmp277, (2, 0, 3, 4), (2, 3, 1, 4), optimize=True) - del tmp277 - r2new.bbbb += tmp278.transpose((1, 0, 3, 2)) - r2new.bbbb += tmp278.transpose((1, 0, 2, 3)) * -1 - tmp287 = einsum(r2.bbbb, (0, 1, 2, 3), tmp286, (4, 3), (0, 1, 4, 2), optimize=True) * -2 - del tmp286 - tmp55 = einsum(tmp47, (0, 1, 2, 3), t1.bb, (0, 3), (1, 2), optimize=True) - del tmp47 - tmp54 = einsum(t1.aa, (0, 1), v.aabb.ovoo, (0, 1, 2, 3), (2, 3), optimize=True) - tmp326 = tmp322.copy() - del tmp322 - tmp326 += tmp323 * -1 - del tmp323 - tmp326 += tmp325.transpose((2, 0, 1, 3)) * 2 - del tmp325 - tmp281 = einsum(r2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 2, 5, 3), (0, 1, 4, 5), optimize=True) - tmp329 = tmp61.copy() - tmp329 += tmp62 * 2 - tmp329 += tmp63 - tmp273 = tmp271.transpose((0, 2, 1, 3)).copy() - tmp273 += tmp272.transpose((2, 1, 0, 3)) * 2 - tmp356 = einsum(tmp259, (0, 1, 2, 3), r1.bb, (4, 1), (0, 4, 2, 3), optimize=True) - tmp211 = tmp204.transpose((1, 0)).copy() * -1 - del tmp204 - tmp211 += tmp205.transpose((1, 0)) - del tmp205 - tmp211 += tmp206.transpose((1, 0)) * 2 - del tmp206 - tmp211 += tmp208.transpose((1, 0)) * -1 - del tmp208 - tmp211 += tmp209.transpose((1, 0)) - del tmp209 - tmp211 += tmp210.transpose((1, 0)) - del tmp210 - r2new.abab += einsum(tmp211, (0, 1), t2.abab, (2, 3, 4, 0), (2, 3, 4, 1), optimize=True) * -1 - tmp299 = einsum(v.bbbb.ovvv, (0, 1, 2, 3), r2.bbbb, (4, 5, 1, 3), (4, 5, 0, 2), optimize=True) - tmp302 = einsum(r1.bb, (0, 1), tmp207, (2, 1, 3, 4), (2, 0, 3, 4), optimize=True) - del tmp207 - tmp263 = einsum(t1.bb, (0, 1), v.aabb.ovvv, (2, 3, 4, 1), (2, 0, 3, 4), optimize=True) - r2new.abab += einsum(tmp263, (0, 1, 2, 3), tmp95, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) - tmp222 = einsum(tmp15, (0, 1), t1.bb, (2, 1), (2, 0), optimize=True) - del tmp15 - r2new.abab += einsum(tmp222, (0, 1), t2.abab, (2, 1, 3, 4), (2, 0, 3, 4), optimize=True) * -1 - tmp339 = tmp317.transpose((0, 2, 1, 3)).copy() - tmp339 += tmp338.transpose((0, 2, 1, 3)) * -1 - del tmp338 - tmp344 = einsum(t1.bb, (0, 1), v.bbbb.vvvv, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) - tmp289 = einsum(tmp9, (0, 1), t1.bb, (0, 2), (2, 1), optimize=True) - del tmp9 - tmp347 = einsum(t1.bb, (0, 1), tmp346, (2, 3, 1, 4), (0, 2, 3, 4), optimize=True) - del tmp346 - tmp320 = tmp317.transpose((0, 2, 1, 3)).copy() - del tmp317 - tmp320 += tmp319.transpose((0, 2, 1, 3)) - del tmp319 - tmp275 = einsum(tmp269, (0, 1, 2, 3), t1.bb, (3, 4), (0, 2, 1, 4), optimize=True) - tmp53 = tmp44.transpose((1, 0)).copy() - del tmp44 - tmp53 += tmp45.transpose((1, 0)) - del tmp45 - tmp53 += tmp46.transpose((1, 0)) * 2 - del tmp46 - tmp53 += tmp48.transpose((1, 0)) * -1 - del tmp48 - tmp53 += tmp52.transpose((1, 0)) - del tmp52 - r2new.abab += einsum(tmp53, (0, 1), t2.abab, (2, 0, 3, 4), (2, 1, 3, 4), optimize=True) * -1 - r1new.bb += einsum(tmp53, (0, 1), t1.bb, (0, 2), (1, 2), optimize=True) * -1 - tmp336 = einsum(tmp310, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 3, 4), optimize=True) - tmp334 = tmp332.copy() - tmp334 += tmp333.transpose((0, 2, 1, 3)) * 2 - del tmp333 - tmp260 = einsum(tmp259, (0, 1, 2, 3), t1.bb, (4, 1), (0, 4, 2, 3), optimize=True) - del tmp259 - r2new.abab += einsum(tmp260, (0, 1, 2, 3), r2.abab, (4, 0, 5, 3), (4, 1, 5, 2), optimize=True) * -1 - tmp349 = einsum(tmp342, (0, 1, 2, 3), t1.bb, (2, 4), (1, 0, 3, 4), optimize=True) - tmp218 = einsum(v.aabb.ovvv, (0, 1, 2, 3), r1.bb, (4, 3), (0, 4, 1, 2), optimize=True) - r2new.abab += tmp218 - tmp307 = f.bb.vv.copy() - tmp307 += tmp212.transpose((1, 0)) - tmp307 += tmp306.transpose((1, 0)) * -1 - del tmp306 - tmp291 = tmp243.copy() - tmp291 += tmp244 * -1 - tmp291 += tmp247.transpose((0, 1, 3, 2)) * -1 - tmp284 = tmp271.transpose((0, 2, 1, 3)).copy() - del tmp271 - tmp284 += tmp283.transpose((0, 2, 1, 3)) - del tmp283 - tmp284 += tmp272.transpose((2, 1, 0, 3)) * 2 - del tmp272 - tmp233 = v.aaaa.ovov.transpose((0, 2, 3, 1)).copy() - tmp233 += v.aaaa.ovov.transpose((0, 2, 1, 3)) * -1 - tmp240 = tmp30.copy() - tmp240 += tmp30.transpose((0, 2, 1, 3)) * -1 - tmp241 = t2.bbbb.copy() * 2 - tmp241 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1), optimize=True) * -1 - tmp237 = einsum(tmp58, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 1, 2), optimize=True) - r2new.abab += einsum(tmp237, (0, 1, 2, 3), r2.abab, (1, 3, 4, 5), (0, 2, 4, 5), optimize=True) - tmp245 = v.bbbb.ovvv.copy() - tmp245 += v.bbbb.ovvv.transpose((0, 2, 1, 3)) * -1 - tmp213 = v.bbbb.ovvv.copy() * -1 - tmp213 += v.bbbb.ovvv.transpose((0, 2, 3, 1)) - tmp255 = einsum(t1.aa, (0, 1), v.aabb.ovvv, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) - r2new.abab += einsum(r2.abab, (0, 1, 2, 3), tmp255, (4, 0, 5, 3), (4, 1, 2, 5), optimize=True) * -1 - tmp225 = einsum(v.aabb.ovoo, (0, 1, 2, 3), t1.aa, (4, 1), (4, 0, 2, 3), optimize=True) - r2new.abab += einsum(tmp225, (0, 1, 2, 3), r2.abab, (1, 3, 4, 5), (0, 2, 4, 5), optimize=True) - tmp219 = einsum(v.aabb.ooov, (0, 1, 2, 3), t1.bb, (4, 3), (0, 1, 4, 2), optimize=True) - r2new.abab += einsum(tmp219, (0, 1, 2, 3), r2.abab, (1, 3, 4, 5), (0, 2, 4, 5), optimize=True) - tmp217 = einsum(v.aabb.vvov, (0, 1, 2, 3), t1.bb, (4, 3), (4, 2, 0, 1), optimize=True) - r2new.abab += einsum(r2.abab, (0, 1, 2, 3), tmp217, (4, 1, 5, 2), (0, 4, 5, 3), optimize=True) * -1 - tmp154 = r2.aaaa.copy() - tmp154 += einsum(r1.aa, (0, 1), t1.aa, (2, 3), (2, 0, 1, 3), optimize=True) * -0.5 - tmp220 = tmp59.copy() - tmp220 += tmp59.transpose((0, 2, 1, 3)) * -1 - tmp228 = r2.abab.copy() - tmp228 += einsum(r1.aa, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3), optimize=True) - r2new.abab += einsum(v.aabb.vvoo, (0, 1, 2, 3), tmp228, (4, 3, 1, 5), (4, 2, 0, 5), optimize=True) * -1 - tmp198 = v.aaaa.ovvv.copy() - tmp198 += v.aaaa.ovvv.transpose((0, 2, 1, 3)) * -1 - tmp235 = r2.abab.copy() - tmp235 += einsum(t1.aa, (0, 1), r1.bb, (2, 3), (0, 2, 1, 3), optimize=True) - tmp226 = r2.abab.copy() - tmp226 += einsum(t1.aa, (0, 1), r1.bb, (2, 3), (0, 2, 1, 3), optimize=True) - tmp26 = einsum(v.aabb.ooov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1), optimize=True) - tmp109 = einsum(t1.aa, (0, 1), tmp108, (2, 3, 0, 1), (2, 3), optimize=True) - tmp253 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 5, 3), (0, 4, 1, 5), optimize=True) - tmp261 = tmp59.copy() - tmp261 += tmp59.transpose((0, 2, 1, 3)) * -1 - tmp114 = einsum(r1.aa, (0, 1), v.aabb.vvov, (2, 1, 3, 4), (0, 3, 2, 4), optimize=True) - r2new.abab += tmp114 - r2new.abab += einsum(tmp114, (0, 1, 2, 3), t2.bbbb, (4, 1, 5, 3), (0, 4, 2, 5), optimize=True) * 2 - tmp179 = tmp30.copy() * -1 - tmp179 += tmp30.transpose((0, 2, 1, 3)) - tmp178 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovvv, (4, 3, 5, 2), (0, 1, 4, 5), optimize=True) * -1 - r2new.aaaa += einsum(tmp178, (0, 1, 2, 3), r1.aa, (2, 4), (0, 1, 4, 3), optimize=True) * -2 - tmp145 = tmp141.copy() - del tmp141 - tmp145 += tmp142 * -1 - del tmp142 - tmp145 += tmp144.transpose((2, 0, 1, 3)) * 2 - del tmp144 - tmp155 = tmp34.copy() * 2 - tmp155 += tmp35 - tmp155 += tmp36 - tmp112 = einsum(r2.aaaa, (0, 1, 2, 3), v.aaaa.ovvv, (4, 3, 5, 2), (0, 1, 4, 5), optimize=True) * -1 - tmp164 = tmp147.transpose((0, 2, 1, 3)).copy() - tmp164 += tmp163.transpose((0, 2, 1, 3)) * -1 - del tmp163 - tmp82 = einsum(v.aaaa.ovov, (0, 1, 2, 3), r2.aaaa, (4, 5, 3, 1), (4, 5, 0, 2), optimize=True) * -1 - tmp77 = einsum(tmp76, (0, 1, 2, 3), r1.aa, (1, 4), (0, 2, 4, 3), optimize=True) - del tmp76 - r2new.aaaa += tmp77.transpose((1, 0, 3, 2)) - r2new.aaaa += tmp77.transpose((1, 0, 2, 3)) * -1 - tmp87 = einsum(r2.aaaa, (0, 1, 2, 3), tmp86, (4, 3), (0, 1, 2, 4), optimize=True) * -4 - del tmp86 - tmp153 = einsum(t1.aa, (0, 1), tmp152, (2, 3, 1, 4), (0, 2, 3, 4), optimize=True) - r2new.abab += einsum(tmp153, (0, 1, 2, 3), r2.abab, (1, 4, 2, 5), (0, 4, 3, 5), optimize=True) * -1 - r2new.aaaa += einsum(tmp153, (0, 1, 2, 3), tmp154, (1, 4, 2, 5), (4, 0, 3, 5), optimize=True) * 2 - tmp92 = tmp91.transpose((0, 2, 1, 3)).copy() - del tmp91 - tmp92 += tmp71.transpose((0, 2, 1, 3)) - tmp92 += tmp73.transpose((0, 2, 1, 3)) * 2 - tmp89 = einsum(t1.aa, (0, 1), tmp5, (0, 2), (1, 2), optimize=True) - del tmp5 - tmp130 = f.aa.vv.copy() - tmp130 += tmp127.transpose((1, 0)) - tmp130 += tmp129 * -1 - del tmp129 - tmp78 = einsum(tmp70, (0, 1, 2, 3), t1.aa, (3, 4), (0, 2, 1, 4), optimize=True) - tmp99 = tmp94.copy() - tmp99 += tmp96.transpose((1, 0, 3, 2)) * -1 - del tmp96 - tmp99 += tmp98.transpose((1, 0, 2, 3)) * -1 - del tmp98 - tmp166 = einsum(tmp134, (0, 1, 2, 3), t1.aa, (2, 4), (0, 1, 3, 4), optimize=True) - tmp174 = einsum(v.aaaa.vvvv, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 1, 2), optimize=True) - tmp176 = einsum(t1.aa, (0, 1), tmp169, (2, 3, 0, 4), (3, 2, 4, 1), optimize=True) - tmp105 = tmp101.copy() - del tmp101 - tmp105 += tmp103 * -1 - del tmp103 - tmp105 += tmp104 * -1 - del tmp104 - r2new.abab += einsum(t2.bbbb, (0, 1, 2, 3), tmp105, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) * -2 - tmp183 = einsum(r1.aa, (0, 1), tmp152, (2, 3, 1, 4), (0, 2, 3, 4), optimize=True) - del tmp152 - r2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp183, (4, 0, 2, 5), (4, 1, 5, 3), optimize=True) * -1 - tmp136 = einsum(t1.aa, (0, 1), v.aabb.vvov, (2, 1, 3, 4), (0, 3, 2, 4), optimize=True) - tmp157 = einsum(t1.aa, (0, 1), tmp12, (2, 1), (0, 2), optimize=True) - del tmp12 - tmp172 = einsum(tmp171, (0, 1, 2, 3), t1.aa, (4, 2), (4, 0, 1, 3), optimize=True) - del tmp171 - tmp117 = einsum(tmp116, (0, 1, 2, 3), r1.aa, (4, 2), (4, 0, 1, 3), optimize=True) - del tmp116 - tmp74 = tmp71.transpose((0, 2, 1, 3)).copy() - del tmp71 - tmp74 += tmp73.transpose((0, 2, 1, 3)) * 2 - del tmp73 - tmp161 = tmp159.copy() - tmp161 += tmp160.transpose((0, 2, 1, 3)) * 2 - del tmp160 - tmp150 = tmp147.transpose((0, 2, 1, 3)).copy() - del tmp147 - tmp150 += tmp149.transpose((0, 2, 1, 3)) - del tmp149 - tmp25 = tmp16.transpose((1, 0)).copy() - tmp25 += tmp17.transpose((1, 0)) * 2 - tmp25 += tmp18.transpose((1, 0)) - tmp25 += tmp20.transpose((1, 0)) * -1 - del tmp20 - tmp25 += tmp24.transpose((1, 0)) - del tmp24 - r1new.aa += einsum(t1.aa, (0, 1), tmp25, (0, 2), (2, 1), optimize=True) * -1 - tmp125 = tmp119.transpose((1, 0)).copy() * -1 - del tmp119 - tmp125 += tmp120.transpose((1, 0)) * 2 - del tmp120 - tmp125 += tmp121.transpose((1, 0)) - del tmp121 - tmp125 += tmp122 * -1 - del tmp122 - tmp125 += tmp123.transpose((1, 0)) - del tmp123 - tmp125 += tmp124.transpose((1, 0)) - del tmp124 - r2new.abab += einsum(tmp125, (0, 1), t2.abab, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) * -1 - tmp27 = einsum(t1.aa, (0, 1), tmp19, (2, 3, 0, 1), (2, 3), optimize=True) - tmp295 = einsum(tmp294, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) - del tmp294 - r2new.bbbb += tmp295.transpose((1, 0, 3, 2)) * -1 - r2new.bbbb += tmp295.transpose((0, 1, 3, 2)) - r2new.bbbb += tmp295.transpose((1, 0, 2, 3)) - r2new.bbbb += tmp295 * -1 - del tmp295 - tmp353 = tmp351.transpose((1, 0, 2, 3)).copy() * -1 - del tmp351 - tmp353 += tmp332 * 0.5 - del tmp332 - tmp353 += einsum(t2.bbbb, (0, 1, 2, 3), tmp352, (4, 5, 1, 3), (4, 0, 5, 2), optimize=True) - del tmp352 - r2new.bbbb += einsum(tmp353, (0, 1, 2, 3), r1.bb, (2, 4), (1, 0, 3, 4), optimize=True) * -2 - del tmp353 - tmp288 = tmp278.copy() * -1 - del tmp278 - tmp288 += tmp287.transpose((1, 0, 3, 2)) - del tmp287 - r2new.bbbb += tmp288.transpose((0, 1, 3, 2)) - r2new.bbbb += tmp288 * -1 - del tmp288 - tmp56 = f.bb.oo.copy() - tmp56 += tmp54.transpose((1, 0)) - tmp56 += tmp55.transpose((1, 0)) * -1 - del tmp55 - r2new.bbbb += einsum(r2.bbbb, (0, 1, 2, 3), tmp56, (1, 4), (0, 4, 2, 3), optimize=True) * -2 - r2new.abab += einsum(r2.abab, (0, 1, 2, 3), tmp56, (1, 4), (0, 4, 2, 3), optimize=True) * -1 - r1new.bb += einsum(r1.bb, (0, 1), tmp56, (0, 2), (2, 1), optimize=True) * -1 - del tmp56 - tmp327 = einsum(tmp326, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 3, 4), optimize=True) - del tmp326 - r2new.bbbb += tmp327.transpose((1, 0, 3, 2)) * -1 - r2new.bbbb += tmp327.transpose((1, 0, 2, 3)) - r2new.bbbb += tmp327.transpose((0, 1, 3, 2)) - r2new.bbbb += tmp327 * -1 - del tmp327 - tmp296 = tmp269.transpose((0, 2, 1, 3)).copy() - del tmp269 - tmp296 += tmp281.transpose((1, 3, 0, 2)) * -1 - r2new.bbbb += einsum(tmp296, (0, 1, 2, 3), t2.bbbb, (1, 3, 4, 5), (2, 0, 4, 5), optimize=True) * 2 - del tmp296 - tmp330 = einsum(tmp329, (0, 1), r2.bbbb, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) * -2 - del tmp329 - r2new.bbbb += tmp330.transpose((0, 1, 3, 2)) - r2new.bbbb += tmp330.transpose((1, 0, 3, 2)) * -1 - del tmp330 - tmp280 = einsum(v.bbbb.ooov, (0, 1, 2, 3), r1.bb, (1, 4), (0, 2, 4, 3), optimize=True) - r2new.bbbb += tmp280.transpose((1, 0, 2, 3)) - r2new.bbbb += tmp280 * -1 - r2new.bbbb += tmp280.transpose((1, 0, 3, 2)) * -1 - r2new.bbbb += tmp280.transpose((0, 1, 3, 2)) - del tmp280 - tmp274 = einsum(tmp273, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 3, 4), optimize=True) - del tmp273 - r2new.bbbb += tmp274.transpose((0, 1, 3, 2)) - r2new.bbbb += tmp274 * -1 - del tmp274 - tmp357 = einsum(t2.bbbb, (0, 1, 2, 3), tmp356, (1, 4, 5, 3), (4, 0, 5, 2), optimize=True) * -1 - del tmp356 - r2new.bbbb += tmp357.transpose((1, 0, 3, 2)) * 2 - r2new.bbbb += tmp357.transpose((1, 0, 2, 3)) * -2 - del tmp357 - tmp304 = einsum(t2.bbbb, (0, 1, 2, 3), tmp211, (3, 4), (0, 1, 4, 2), optimize=True) * -2 - del tmp211 - r2new.bbbb += tmp304.transpose((1, 0, 3, 2)) * -1 - r2new.bbbb += tmp304.transpose((1, 0, 2, 3)) - del tmp304 - tmp300 = einsum(t1.bb, (0, 1), tmp299, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) - del tmp299 - r2new.bbbb += tmp300 * -2 - r2new.bbbb += tmp300.transpose((0, 1, 3, 2)) * 2 - del tmp300 - tmp303 = einsum(t2.bbbb, (0, 1, 2, 3), tmp302, (1, 4, 5, 3), (4, 0, 5, 2), optimize=True) * -2 - del tmp302 - r2new.bbbb += tmp303.transpose((0, 1, 3, 2)) * -1 - r2new.bbbb += tmp303 - del tmp303 - tmp313 = einsum(r2.abab, (0, 1, 2, 3), tmp263, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) - r2new.bbbb += tmp313 - r2new.bbbb += tmp313.transpose((1, 0, 2, 3)) * -1 - r2new.bbbb += tmp313.transpose((1, 0, 3, 2)) - r2new.bbbb += tmp313.transpose((0, 1, 3, 2)) * -1 - del tmp313 - tmp331 = einsum(t2.bbbb, (0, 1, 2, 3), tmp222, (4, 1), (4, 0, 2, 3), optimize=True) * -1 - del tmp222 - r2new.bbbb += tmp331.transpose((0, 1, 3, 2)) * 2 - r2new.bbbb += tmp331.transpose((1, 0, 3, 2)) * -2 - del tmp331 - tmp355 = r2.bbbb.copy() - tmp355 += einsum(r1.bb, (0, 1), t1.bb, (2, 3), (2, 0, 3, 1), optimize=True) * 2 - tmp297 = f.bb.oo.copy() - tmp297 += tmp54.transpose((1, 0)) - del tmp54 - tmp297 += einsum(t1.bb, (0, 1), tmp246, (0, 2, 3, 1), (3, 2), optimize=True) * -1 - del tmp246 - r2new.bbbb += einsum(r2.bbbb, (0, 1, 2, 3), tmp297, (1, 4), (4, 0, 2, 3), optimize=True) * 2 - del tmp297 - tmp270 = einsum(r2.bbbb, (0, 1, 2, 3), v.bbbb.oooo, (4, 1, 5, 0), (4, 5, 2, 3), optimize=True) * -1 - r2new.bbbb += tmp270.transpose((1, 0, 3, 2)) - r2new.bbbb += tmp270.transpose((1, 0, 3, 2)) - del tmp270 - tmp340 = einsum(tmp339, (0, 1, 2, 3), r1.bb, (1, 4), (0, 2, 3, 4), optimize=True) - del tmp339 - r2new.bbbb += tmp340 * -1 - r2new.bbbb += tmp340.transpose((0, 1, 3, 2)) - del tmp340 - tmp328 = r2.bbbb.copy() - tmp328 += einsum(t1.bb, (0, 1), r1.bb, (2, 3), (0, 2, 3, 1), optimize=True) * -0.5 - r2new.bbbb += einsum(tmp328, (0, 1, 2, 3), tmp260, (0, 4, 5, 2), (1, 4, 5, 3), optimize=True) * 2 - del tmp328 - tmp312 = einsum(r1.bb, (0, 1), v.bbbb.ovvv, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) - r2new.bbbb += tmp312.transpose((1, 0, 3, 2)) * -1 - r2new.bbbb += tmp312.transpose((0, 1, 3, 2)) - r2new.bbbb += tmp312 * -1 - r2new.bbbb += tmp312.transpose((1, 0, 2, 3)) - del tmp312 - tmp298 = einsum(tmp200, (0, 1, 2, 3), v.bbbb.oovv, (4, 0, 5, 2), (1, 4, 3, 5), optimize=True) - r2new.bbbb += tmp298 * -1 - r2new.bbbb += tmp298.transpose((1, 0, 2, 3)) - r2new.bbbb += tmp298.transpose((0, 1, 3, 2)) - r2new.bbbb += tmp298.transpose((1, 0, 3, 2)) * -1 - del tmp298 - tmp345 = einsum(r1.bb, (0, 1), tmp344, (2, 3, 1, 4), (0, 2, 3, 4), optimize=True) - del tmp344 - r2new.bbbb += tmp345.transpose((0, 1, 3, 2)) * -1 - r2new.bbbb += tmp345 - r2new.bbbb += tmp345.transpose((1, 0, 3, 2)) - r2new.bbbb += tmp345.transpose((1, 0, 2, 3)) * -1 - del tmp345 - tmp290 = einsum(tmp289, (0, 1), r2.bbbb, (2, 3, 4, 1), (2, 3, 0, 4), optimize=True) * -1 - del tmp289 - r2new.bbbb += tmp290.transpose((1, 0, 2, 3)) * 2 - r2new.bbbb += tmp290.transpose((1, 0, 3, 2)) * -2 - del tmp290 - tmp348 = einsum(r1.bb, (0, 1), tmp347, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) - del tmp347 - r2new.bbbb += tmp348.transpose((1, 0, 2, 3)) - r2new.bbbb += tmp348 * -1 - r2new.bbbb += tmp348.transpose((1, 0, 3, 2)) * -1 - r2new.bbbb += tmp348.transpose((0, 1, 3, 2)) - del tmp348 - tmp314 = einsum(r1.bb, (0, 1), tmp59, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) - del tmp59 - r2new.bbbb += tmp314.transpose((1, 0, 2, 3)) - r2new.bbbb += tmp314 * -1 - r2new.bbbb += tmp314.transpose((0, 1, 3, 2)) - r2new.bbbb += tmp314.transpose((1, 0, 3, 2)) * -1 - del tmp314 - tmp309 = einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp200, (2, 4, 3, 5), (4, 0, 5, 1), optimize=True) - r2new.bbbb += tmp309 - r2new.bbbb += tmp309.transpose((0, 1, 3, 2)) * -1 - r2new.bbbb += tmp309.transpose((1, 0, 2, 3)) * -1 - r2new.bbbb += tmp309.transpose((1, 0, 3, 2)) - del tmp309 - tmp358 = einsum(t1.bb, (0, 1), r1.bb, (2, 3), (0, 2, 3, 1), optimize=True) * 2 - tmp358 += r2.bbbb * -1 - tmp321 = einsum(tmp320, (0, 1, 2, 3), r1.bb, (1, 4), (0, 2, 3, 4), optimize=True) - del tmp320 - r2new.bbbb += tmp321.transpose((1, 0, 2, 3)) - r2new.bbbb += tmp321.transpose((1, 0, 3, 2)) * -1 - del tmp321 - tmp276 = einsum(t1.bb, (0, 1), tmp275, (2, 0, 3, 4), (2, 3, 1, 4), optimize=True) - del tmp275 - r2new.bbbb += tmp276.transpose((0, 1, 3, 2)) - r2new.bbbb += tmp276 * -1 - del tmp276 - tmp279 = einsum(tmp53, (0, 1), t2.bbbb, (2, 0, 3, 4), (2, 1, 3, 4), optimize=True) * -2 - del tmp53 - r2new.bbbb += tmp279.transpose((1, 0, 3, 2)) - r2new.bbbb += tmp279.transpose((0, 1, 3, 2)) * -1 - del tmp279 - tmp337 = einsum(r1.bb, (0, 1), tmp336, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) - del tmp336 - r2new.bbbb += tmp337.transpose((0, 1, 3, 2)) * -1 - r2new.bbbb += tmp337 - del tmp337 - tmp335 = einsum(tmp334, (0, 1, 2, 3), r1.bb, (2, 4), (0, 1, 3, 4), optimize=True) - del tmp334 - r2new.bbbb += tmp335 - r2new.bbbb += tmp335.transpose((0, 1, 3, 2)) * -1 - r2new.bbbb += tmp335.transpose((1, 0, 3, 2)) - del tmp335 - tmp343 = einsum(r2.bbbb, (0, 1, 2, 3), tmp342, (4, 5, 0, 1), (5, 4, 2, 3), optimize=True) * -1 - del tmp342 - r2new.bbbb += tmp343.transpose((0, 1, 3, 2)) * -1 - r2new.bbbb += tmp343.transpose((0, 1, 3, 2)) * -1 - del tmp343 - tmp341 = einsum(tmp200, (0, 1, 2, 3), tmp260, (0, 4, 5, 2), (1, 4, 3, 5), optimize=True) * -1 - del tmp200, tmp260 - r2new.bbbb += tmp341 - r2new.bbbb += tmp341.transpose((1, 0, 2, 3)) * -1 - r2new.bbbb += tmp341.transpose((1, 0, 3, 2)) - del tmp341 - tmp350 = einsum(tmp349, (0, 1, 2, 3), r1.bb, (2, 4), (0, 1, 4, 3), optimize=True) - del tmp349 - r2new.bbbb += tmp350.transpose((1, 0, 3, 2)) - r2new.bbbb += tmp350.transpose((0, 1, 3, 2)) * -1 - r2new.bbbb += tmp350.transpose((1, 0, 2, 3)) * -1 - r2new.bbbb += tmp350 - del tmp350 - tmp301 = einsum(tmp218, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (1, 4, 5, 3), optimize=True) - r2new.bbbb += tmp301.transpose((1, 0, 2, 3)) - r2new.bbbb += tmp301.transpose((1, 0, 3, 2)) * -1 - r2new.bbbb += tmp301 * -1 - r2new.bbbb += tmp301.transpose((0, 1, 3, 2)) - del tmp301 - tmp354 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 2, 5, 3), (0, 1, 4, 5), optimize=True) - r2new.bbbb += einsum(tmp358, (0, 1, 2, 3), tmp354, (4, 5, 0, 1), (5, 4, 3, 2), optimize=True) * -1 - del tmp358 - r2new.bbbb += einsum(tmp355, (0, 1, 2, 3), tmp354, (4, 5, 0, 1), (5, 4, 3, 2), optimize=True) - del tmp354, tmp355 - tmp308 = einsum(r2.bbbb, (0, 1, 2, 3), tmp307, (3, 4), (0, 1, 4, 2), optimize=True) * -2 - del tmp307 - r2new.bbbb += tmp308.transpose((1, 0, 3, 2)) - r2new.bbbb += tmp308.transpose((1, 0, 2, 3)) * -1 - del tmp308 - tmp292 = einsum(t2.bbbb, (0, 1, 2, 3), tmp291, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) - del tmp291 - r2new.bbbb += tmp292.transpose((1, 0, 3, 2)) * 2 - r2new.bbbb += tmp292.transpose((0, 1, 3, 2)) * -2 - r2new.bbbb += tmp292.transpose((1, 0, 2, 3)) * -2 - r2new.bbbb += tmp292 * 2 - del tmp292 - tmp282 = einsum(tmp281, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 3, 4), optimize=True) * -1 - del tmp281 - r2new.bbbb += einsum(t1.bb, (0, 1), tmp282, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) * 2 - del tmp282 - tmp311 = einsum(r2.bbbb, (0, 1, 2, 3), tmp310, (4, 5, 1, 0), (4, 5, 2, 3), optimize=True) * -1 - del tmp310 - r2new.bbbb += tmp311.transpose((0, 1, 3, 2)) * 2 - r2new.bbbb += tmp311.transpose((1, 0, 3, 2)) * -2 - del tmp311 - tmp316 = einsum(t2.bbbb, (0, 1, 2, 3), tmp315, (4, 5, 1, 0), (4, 5, 2, 3), optimize=True) * -1 - del tmp315 - r2new.bbbb += tmp316.transpose((1, 0, 3, 2)) * 2 - r2new.bbbb += tmp316.transpose((0, 1, 3, 2)) * -2 - del tmp316 - tmp285 = einsum(tmp284, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 3, 4), optimize=True) - del tmp284 - r2new.bbbb += tmp285.transpose((1, 0, 3, 2)) * -1 - r2new.bbbb += tmp285.transpose((1, 0, 2, 3)) - del tmp285 - tmp64 = tmp61.transpose((1, 0)).copy() - del tmp61 - tmp64 += tmp62.transpose((1, 0)) * 2 - del tmp62 - tmp64 += tmp63.transpose((1, 0)) - del tmp63 - r2new.abab += einsum(tmp64, (0, 1), r2.abab, (2, 0, 3, 4), (2, 1, 3, 4), optimize=True) * -1 - r1new.bb += einsum(tmp64, (0, 1), r1.bb, (0, 2), (1, 2), optimize=True) * -1 - del tmp64 - tmp249 = tmp232.copy() * -1 - del tmp232 - tmp249 += tmp218 - del tmp218 - tmp249 += einsum(r2.abab, (0, 1, 2, 3), tmp233, (0, 4, 5, 2), (4, 1, 5, 3), optimize=True) - tmp249 += tmp201 - del tmp201 - r2new.abab += einsum(tmp249, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 2), (4, 1, 5, 3), optimize=True) * 2 - del tmp249 - tmp41 = einsum(t1.aa, (0, 1), tmp40, (2, 1), (0, 2), optimize=True) - del tmp40 - r2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp41, (4, 0), (4, 1, 2, 3), optimize=True) * -1 - r1new.aa += einsum(t1.aa, (0, 1), tmp41, (2, 0), (2, 1), optimize=True) * -1 - del tmp41 - tmp251 = einsum(v.aabb.vvov, (0, 1, 2, 3), t2.abab, (4, 5, 1, 3), (4, 5, 2, 0), optimize=True) - r2new.abab += einsum(tmp251, (0, 1, 2, 3), r1.bb, (2, 4), (0, 1, 3, 4), optimize=True) * -1 - del tmp251 - tmp202 = einsum(r1.aa, (0, 1), v.aabb.ovvv, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) - r2new.abab += einsum(tmp202, (0, 1, 2, 3), t2.abab, (1, 4, 5, 3), (0, 4, 5, 2), optimize=True) * -1 - del tmp202 - tmp266 = einsum(v.aabb.vvov, (0, 1, 2, 3), r1.bb, (4, 3), (4, 2, 0, 1), optimize=True) - r2new.abab += einsum(tmp266, (0, 1, 2, 3), t2.abab, (4, 1, 3, 5), (4, 0, 2, 5), optimize=True) * -1 - del tmp266 - tmp252 = r2.abab.copy() - tmp252 += einsum(r1.aa, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3), optimize=True) - r2new.abab += einsum(tmp252, (0, 1, 2, 3), tmp253, (4, 0, 5, 1), (4, 5, 2, 3), optimize=True) - r2new.abab += einsum(tmp252, (0, 1, 2, 3), v.aabb.vvvv, (4, 2, 5, 3), (0, 1, 4, 5), optimize=True) - del tmp252 - tmp242 = einsum(tmp240, (0, 1, 2, 3), t2.abab, (1, 4, 3, 5), (0, 2, 4, 5), optimize=True) - tmp242 += einsum(tmp241, (0, 1, 2, 3), tmp31, (4, 5, 0, 2), (4, 5, 1, 3), optimize=True) - del tmp241 - r2new.abab += einsum(tmp242, (0, 1, 2, 3), r1.aa, (1, 4), (0, 2, 4, 3), optimize=True) * -1 - del tmp242 - tmp231 = einsum(v.aabb.oooo, (0, 1, 2, 3), r1.bb, (3, 4), (0, 1, 2, 4), optimize=True) * -1 - tmp231 += einsum(r1.bb, (0, 1), v.aabb.oovv, (2, 3, 4, 1), (2, 3, 0, 4), optimize=True) - tmp231 += einsum(v.aabb.ovoo, (0, 1, 2, 3), r2.abab, (4, 3, 1, 5), (0, 4, 2, 5), optimize=True) * -1 - tmp231 += einsum(r2.bbbb, (0, 1, 2, 3), v.aabb.ooov, (4, 5, 1, 3), (4, 5, 0, 2), optimize=True) * 2 - tmp231 += einsum(r2.abab, (0, 1, 2, 3), tmp97, (0, 4, 5, 2), (5, 4, 1, 3), optimize=True) - del tmp97 - r2new.abab += einsum(t1.aa, (0, 1), tmp231, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) * -1 - del tmp231 - tmp186 = einsum(v.aabb.ovoo, (0, 1, 2, 3), r1.aa, (4, 1), (4, 0, 2, 3), optimize=True) - r2new.abab += einsum(tmp186, (0, 1, 2, 3), t2.abab, (1, 3, 4, 5), (0, 2, 4, 5), optimize=True) - del tmp186 - tmp267 = einsum(t1.aa, (0, 1), tmp237, (2, 0, 3, 4), (2, 3, 4, 1), optimize=True) - del tmp237 - r2new.abab += einsum(tmp267, (0, 1, 2, 3), r1.bb, (2, 4), (0, 1, 3, 4), optimize=True) - del tmp267 - tmp248 = tmp243.transpose((1, 0, 2, 3)).copy() - del tmp243 - tmp248 += tmp244.transpose((1, 0, 2, 3)) * -1 - del tmp244 - tmp248 += einsum(r1.bb, (0, 1), tmp245, (2, 1, 3, 4), (2, 0, 4, 3), optimize=True) * -1 - del tmp245 - tmp248 += tmp247.transpose((1, 0, 3, 2)) * -1 - del tmp247 - r2new.abab += einsum(tmp248, (0, 1, 2, 3), t2.abab, (4, 0, 5, 3), (4, 1, 5, 2), optimize=True) - del tmp248 - tmp216 = einsum(tmp58, (0, 1, 2, 3), r1.aa, (4, 3), (4, 0, 1, 2), optimize=True) - r2new.abab += einsum(tmp216, (0, 1, 2, 3), t2.abab, (1, 3, 4, 5), (0, 2, 4, 5), optimize=True) - del tmp216 - tmp238 = einsum(t1.aa, (0, 1), v.aabb.vvvv, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) - r2new.abab += einsum(tmp238, (0, 1, 2, 3), r1.bb, (4, 3), (0, 4, 1, 2), optimize=True) - del tmp238 - tmp214 = f.bb.vv.copy() - tmp214 += tmp212.transpose((1, 0)) - del tmp212 - tmp214 += einsum(tmp213, (0, 1, 2, 3), t1.bb, (0, 1), (3, 2), optimize=True) * -1 - del tmp213 - r2new.abab += einsum(tmp214, (0, 1), r2.abab, (2, 3, 4, 0), (2, 3, 4, 1), optimize=True) - del tmp214 - tmp256 = einsum(tmp225, (0, 1, 2, 3), r1.bb, (3, 4), (0, 1, 2, 4), optimize=True) * -1 - tmp256 += einsum(r1.bb, (0, 1), tmp255, (2, 3, 4, 1), (2, 3, 0, 4), optimize=True) - del tmp255 - tmp256 += einsum(r2.bbbb, (0, 1, 2, 3), tmp31, (4, 5, 1, 3), (4, 5, 0, 2), optimize=True) * 2 - tmp256 += einsum(r2.abab, (0, 1, 2, 3), tmp240, (4, 0, 5, 2), (4, 5, 1, 3), optimize=True) - del tmp240 - r2new.abab += einsum(t1.aa, (0, 1), tmp256, (2, 0, 3, 4), (2, 3, 1, 4), optimize=True) * -1 - del tmp256 - tmp190 = einsum(v.aabb.ooov, (0, 1, 2, 3), r1.bb, (4, 3), (0, 1, 4, 2), optimize=True) - tmp190 += einsum(r2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 5, 3), (4, 0, 1, 5), optimize=True) - tmp188 = einsum(r2.abab, (0, 1, 2, 3), tmp187, (4, 5, 1, 3), (0, 5, 4, 2), optimize=True) - del tmp187 - tmp188 += einsum(v.aabb.ovoo, (0, 1, 2, 3), tmp95, (0, 4, 1, 5), (4, 2, 3, 5), optimize=True) - r2new.abab += einsum(tmp188, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 3, 4), optimize=True) * -1 - del tmp188 - tmp196 = r2.abab.copy() - tmp196 += einsum(r1.aa, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3), optimize=True) * 2 - r2new.abab += einsum(tmp196, (0, 1, 2, 3), v.aabb.oooo, (4, 0, 5, 1), (4, 5, 2, 3), optimize=True) * 0.5 - del tmp196 - tmp197 = einsum(v.aabb.vvov, (0, 1, 2, 3), r2.abab, (4, 5, 1, 3), (4, 5, 2, 0), optimize=True) - r2new.abab += einsum(tmp197, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 3, 4), optimize=True) * -1 - del tmp197 - tmp221 = einsum(tmp219, (0, 1, 2, 3), r1.aa, (1, 4), (0, 2, 3, 4), optimize=True) * -1 - tmp221 += einsum(r1.aa, (0, 1), tmp217, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) - del tmp217 - tmp221 += einsum(r2.abab, (0, 1, 2, 3), tmp220, (4, 1, 5, 3), (0, 4, 5, 2), optimize=True) - del tmp220 - tmp221 += einsum(tmp58, (0, 1, 2, 3), tmp154, (0, 4, 3, 5), (4, 1, 2, 5), optimize=True) * 2 - del tmp154 - r2new.abab += einsum(tmp221, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 3, 4), optimize=True) * -1 - del tmp221 - tmp234 = tmp94.transpose((1, 0, 2, 3)).copy() - del tmp94 - tmp234 += einsum(tmp95, (0, 1, 2, 3), tmp233, (0, 4, 2, 5), (4, 1, 3, 5), optimize=True) * -1 - del tmp233 - tmp234 += einsum(tmp108, (0, 1, 2, 3), r1.aa, (2, 4), (1, 0, 4, 3), optimize=True) * -1 - del tmp108 - r2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp234, (0, 4, 5, 2), (4, 1, 5, 3), optimize=True) - del tmp234 - tmp224 = einsum(v.aabb.vvoo, (0, 1, 2, 3), t1.aa, (4, 1), (4, 2, 3, 0), optimize=True) - r2new.abab += einsum(tmp224, (0, 1, 2, 3), r1.bb, (2, 4), (0, 1, 3, 4), optimize=True) * -1 - del tmp224 - tmp230 = tmp84.transpose((1, 0)).copy() - del tmp84 - tmp230 += tmp85.transpose((1, 0)) * 0.5 - del tmp85 - tmp230 += einsum(tmp23, (0, 1), t1.aa, (0, 2), (1, 2), optimize=True) * 0.5 - r2new.abab += einsum(r2.abab, (0, 1, 2, 3), tmp230, (2, 4), (0, 1, 4, 3), optimize=True) * -2 - del tmp230 - tmp195 = tmp16.transpose((1, 0)).copy() * 0.5 - del tmp16 - tmp195 += tmp17.transpose((1, 0)) - del tmp17 - tmp195 += tmp18.transpose((1, 0)) * 0.5 - del tmp18 - tmp195 += einsum(tmp19, (0, 1, 2, 3), r1.aa, (2, 3), (1, 0), optimize=True) * -0.5 - del tmp19 - tmp195 += einsum(tmp23, (0, 1), r1.aa, (2, 1), (0, 2), optimize=True) * 0.5 - del tmp23 - r2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp195, (0, 4), (4, 1, 2, 3), optimize=True) * -2 - del tmp195 - tmp229 = einsum(v.aabb.ooov, (0, 1, 2, 3), r1.bb, (2, 4), (0, 1, 4, 3), optimize=True) - tmp229 += einsum(tmp228, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 1, 5), (4, 0, 3, 5), optimize=True) - del tmp228 - r2new.abab += einsum(tmp229, (0, 1, 2, 3), t2.abab, (0, 4, 5, 3), (1, 4, 5, 2), optimize=True) - del tmp229 - tmp199 = f.aa.vv.copy() - tmp199 += tmp127.transpose((1, 0)) - del tmp127 - tmp199 += einsum(t1.aa, (0, 1), tmp198, (0, 2, 1, 3), (2, 3), optimize=True) * -1 - del tmp198 - r2new.abab += einsum(r2.abab, (0, 1, 2, 3), tmp199, (2, 4), (0, 1, 4, 3), optimize=True) - del tmp199 - tmp37 = tmp34.transpose((1, 0)).copy() * 2 - del tmp34 - tmp37 += tmp35.transpose((1, 0)) - del tmp35 - tmp37 += tmp36.transpose((1, 0)) - del tmp36 - r2new.abab += einsum(tmp37, (0, 1), r2.abab, (0, 2, 3, 4), (1, 2, 3, 4), optimize=True) * -1 - r1new.aa += einsum(tmp37, (0, 1), r1.aa, (0, 2), (1, 2), optimize=True) * -1 - del tmp37 - tmp236 = einsum(r1.aa, (0, 1), v.aabb.ovoo, (0, 2, 3, 4), (3, 4, 1, 2), optimize=True) - tmp236 += einsum(v.aabb.ovov, (0, 1, 2, 3), tmp235, (0, 4, 5, 3), (2, 4, 5, 1), optimize=True) - del tmp235 - r2new.abab += einsum(tmp236, (0, 1, 2, 3), t2.abab, (4, 0, 3, 5), (4, 1, 2, 5), optimize=True) - del tmp236 - tmp203 = einsum(r2.abab, (0, 1, 2, 3), v.aabb.ovvv, (4, 2, 5, 3), (0, 4, 1, 5), optimize=True) - r2new.abab += einsum(t1.aa, (0, 1), tmp203, (2, 0, 3, 4), (2, 3, 1, 4), optimize=True) * -1 - del tmp203 - tmp227 = einsum(tmp225, (0, 1, 2, 3), r1.aa, (1, 4), (0, 2, 3, 4), optimize=True) - del tmp225 - tmp227 += einsum(tmp31, (0, 1, 2, 3), tmp226, (1, 4, 5, 3), (0, 2, 4, 5), optimize=True) - del tmp226 - r2new.abab += einsum(t1.bb, (0, 1), tmp227, (2, 0, 3, 4), (2, 3, 4, 1), optimize=True) - del tmp227 - tmp239 = r2.bbbb.copy() * -1 - tmp239 += einsum(r1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1), optimize=True) * 0.5 - tmp239 += einsum(t1.bb, (0, 1), r1.bb, (2, 3), (0, 2, 3, 1), optimize=True) * 0.5 - r2new.abab += einsum(tmp239, (0, 1, 2, 3), tmp136, (4, 0, 5, 2), (4, 1, 5, 3), optimize=True) * -2 - del tmp239 - tmp194 = tmp192.transpose((1, 0)).copy() - del tmp192 - tmp194 += tmp193.transpose((1, 0)) * 2 - del tmp193 - tmp194 += einsum(t1.bb, (0, 1), tmp51, (0, 2), (2, 1), optimize=True) - del tmp51 - r2new.abab += einsum(tmp194, (0, 1), r2.abab, (2, 3, 4, 0), (2, 3, 4, 1), optimize=True) * -1 - del tmp194 - tmp110 = f.aa.oo.copy() - tmp110 += tmp26.transpose((1, 0)) - tmp110 += tmp109.transpose((1, 0)) * -1 - del tmp109 - r2new.abab += einsum(r2.abab, (0, 1, 2, 3), tmp110, (0, 4), (4, 1, 2, 3), optimize=True) * -1 - r2new.aaaa += einsum(r2.aaaa, (0, 1, 2, 3), tmp110, (1, 4), (4, 0, 2, 3), optimize=True) * 2 - del tmp110 - tmp265 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovvv, (4, 2, 5, 3), (0, 4, 1, 5), optimize=True) - r2new.abab += einsum(tmp265, (0, 1, 2, 3), r1.aa, (1, 4), (0, 2, 4, 3), optimize=True) * -1 - del tmp265 - tmp254 = einsum(t2.abab, (0, 1, 2, 3), tmp31, (4, 0, 5, 3), (4, 1, 5, 2), optimize=True) - r2new.abab += einsum(tmp254, (0, 1, 2, 3), r1.bb, (2, 4), (0, 1, 3, 4), optimize=True) - del tmp254 - tmp250 = v.bbbb.ovov.transpose((0, 2, 1, 3)).copy() - tmp250 += v.bbbb.oovv * -1 - r2new.abab += einsum(tmp250, (0, 1, 2, 3), r2.abab, (4, 0, 5, 2), (4, 1, 5, 3), optimize=True) - del tmp250 - tmp258 = einsum(tmp219, (0, 1, 2, 3), r1.bb, (3, 4), (1, 0, 2, 4), optimize=True) - del tmp219 - tmp258 += einsum(tmp58, (0, 1, 2, 3), r2.abab, (4, 2, 3, 5), (4, 0, 1, 5), optimize=True) - r2new.abab += einsum(t1.aa, (0, 1), tmp258, (2, 0, 3, 4), (2, 3, 1, 4), optimize=True) - del tmp258 - tmp215 = einsum(tmp58, (0, 1, 2, 3), t2.abab, (4, 2, 3, 5), (4, 0, 1, 5), optimize=True) - r2new.abab += einsum(r1.aa, (0, 1), tmp215, (2, 0, 3, 4), (2, 3, 1, 4), optimize=True) - del tmp215 - tmp268 = einsum(t1.aa, (0, 1), tmp263, (2, 3, 1, 4), (0, 2, 3, 4), optimize=True) - del tmp263 - r2new.abab += einsum(tmp268, (0, 1, 2, 3), r1.aa, (1, 4), (0, 2, 4, 3), optimize=True) * -1 - del tmp268 - tmp264 = einsum(t1.aa, (0, 1), tmp253, (2, 0, 3, 4), (2, 3, 4, 1), optimize=True) - del tmp253 - r2new.abab += einsum(tmp264, (0, 1, 2, 3), r1.bb, (2, 4), (0, 1, 3, 4), optimize=True) - del tmp264 - tmp189 = einsum(r2.abab, (0, 1, 2, 3), v.aabb.ooov, (4, 0, 5, 3), (4, 1, 5, 2), optimize=True) - r2new.abab += einsum(tmp189, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 3, 4), optimize=True) - del tmp189 - tmp223 = einsum(tmp31, (0, 1, 2, 3), r1.bb, (4, 3), (0, 1, 4, 2), optimize=True) - del tmp31 - r2new.abab += einsum(tmp223, (0, 1, 2, 3), t2.abab, (1, 3, 4, 5), (0, 2, 4, 5), optimize=True) - del tmp223 - tmp262 = einsum(tmp58, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 3), (4, 1, 2, 5), optimize=True) * 2 - del tmp58 - tmp262 += einsum(t2.abab, (0, 1, 2, 3), tmp261, (4, 1, 5, 3), (0, 4, 5, 2), optimize=True) - del tmp261 - r2new.abab += einsum(tmp262, (0, 1, 2, 3), r1.bb, (2, 4), (0, 1, 3, 4), optimize=True) * -1 - del tmp262 - tmp191 = t2.abab.copy() - tmp191 += einsum(t1.aa, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3), optimize=True) - r2new.abab += einsum(tmp190, (0, 1, 2, 3), tmp191, (0, 3, 4, 5), (1, 2, 4, 5), optimize=True) - del tmp190, tmp191 - tmp257 = einsum(t1.bb, (0, 1), v.aabb.oovv, (2, 3, 4, 1), (2, 3, 0, 4), optimize=True) - r2new.abab += einsum(tmp257, (0, 1, 2, 3), r1.aa, (1, 4), (0, 2, 4, 3), optimize=True) * -1 - del tmp257 - tmp115 = einsum(t2.abab, (0, 1, 2, 3), tmp114, (4, 1, 5, 3), (4, 0, 2, 5), optimize=True) - del tmp114 - r2new.aaaa += tmp115.transpose((1, 0, 2, 3)) - r2new.aaaa += tmp115.transpose((1, 0, 3, 2)) * -1 - r2new.aaaa += tmp115 * -1 - r2new.aaaa += tmp115.transpose((0, 1, 3, 2)) - del tmp115 - tmp81 = einsum(v.aaaa.ooov, (0, 1, 2, 3), r1.aa, (1, 4), (0, 2, 4, 3), optimize=True) - r2new.aaaa += tmp81.transpose((1, 0, 2, 3)) - r2new.aaaa += tmp81 * -1 - r2new.aaaa += tmp81.transpose((1, 0, 3, 2)) * -1 - r2new.aaaa += tmp81.transpose((0, 1, 3, 2)) - del tmp81 - tmp170 = einsum(r2.aaaa, (0, 1, 2, 3), tmp169, (4, 5, 0, 1), (5, 4, 2, 3), optimize=True) * -1 - del tmp169 - r2new.aaaa += tmp170.transpose((0, 1, 3, 2)) * -1 - r2new.aaaa += tmp170.transpose((0, 1, 3, 2)) * -1 - del tmp170 - tmp180 = tmp178.transpose((1, 0, 2, 3)).copy() * -1 - del tmp178 - tmp180 += tmp159 * 0.5 - del tmp159 - tmp180 += einsum(tmp179, (0, 1, 2, 3), t2.aaaa, (4, 2, 5, 3), (0, 4, 1, 5), optimize=True) - del tmp179 - r2new.aaaa += einsum(tmp180, (0, 1, 2, 3), r1.aa, (2, 4), (1, 0, 3, 4), optimize=True) * -2 - del tmp180 - tmp111 = einsum(v.aaaa.oovv, (0, 1, 2, 3), tmp95, (1, 4, 3, 5), (0, 4, 2, 5), optimize=True) - r2new.aaaa += tmp111.transpose((1, 0, 3, 2)) * -1 - r2new.aaaa += tmp111.transpose((0, 1, 3, 2)) - r2new.aaaa += tmp111.transpose((1, 0, 2, 3)) - r2new.aaaa += tmp111 * -1 - del tmp111 - tmp146 = einsum(t1.aa, (0, 1), tmp145, (2, 3, 0, 4), (2, 3, 4, 1), optimize=True) - del tmp145 - r2new.aaaa += tmp146.transpose((1, 0, 3, 2)) - r2new.aaaa += tmp146.transpose((1, 0, 2, 3)) * -1 - r2new.aaaa += tmp146.transpose((0, 1, 3, 2)) * -1 - r2new.aaaa += tmp146 - del tmp146 - tmp156 = einsum(tmp155, (0, 1), r2.aaaa, (2, 1, 3, 4), (2, 0, 3, 4), optimize=True) * -2 - del tmp155 - r2new.aaaa += tmp156.transpose((1, 0, 3, 2)) - r2new.aaaa += tmp156.transpose((0, 1, 3, 2)) * -1 - del tmp156 - tmp113 = einsum(t1.aa, (0, 1), tmp112, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) - del tmp112 - r2new.aaaa += tmp113 * -2 - r2new.aaaa += tmp113.transpose((0, 1, 3, 2)) * 2 - del tmp113 - tmp181 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 3, 5, 2), (0, 1, 4, 5), optimize=True) * -1 - tmp165 = einsum(tmp164, (0, 1, 2, 3), r1.aa, (1, 4), (0, 2, 3, 4), optimize=True) - del tmp164 - r2new.aaaa += tmp165 * -1 - r2new.aaaa += tmp165.transpose((0, 1, 3, 2)) - del tmp165 - tmp83 = einsum(t1.aa, (0, 1), tmp82, (2, 3, 0, 4), (2, 3, 4, 1), optimize=True) * -1 - r2new.aaaa += einsum(t1.aa, (0, 1), tmp83, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) * 2 - del tmp83 - tmp88 = tmp77.copy() * -1 - del tmp77 - tmp88 += tmp87.transpose((1, 0, 2, 3)) - del tmp87 - r2new.aaaa += tmp88.transpose((0, 1, 3, 2)) - r2new.aaaa += tmp88 * -1 - del tmp88 - tmp185 = einsum(r1.aa, (0, 1), t1.aa, (2, 3), (2, 0, 1, 3), optimize=True) * 2 - tmp185 += r2.aaaa * -1 - r2new.aaaa += einsum(tmp185, (0, 1, 2, 3), tmp181, (4, 5, 0, 1), (5, 4, 3, 2), optimize=True) * -1 - del tmp185 - tmp182 = r2.aaaa.copy() - tmp182 += einsum(t1.aa, (0, 1), r1.aa, (2, 3), (0, 2, 1, 3), optimize=True) * 2 - r2new.aaaa += einsum(tmp181, (0, 1, 2, 3), tmp182, (2, 3, 4, 5), (1, 0, 5, 4), optimize=True) - del tmp181, tmp182 - tmp168 = einsum(tmp153, (0, 1, 2, 3), tmp95, (1, 4, 2, 5), (4, 0, 5, 3), optimize=True) * -1 - del tmp153 - r2new.aaaa += tmp168 - r2new.aaaa += tmp168.transpose((1, 0, 2, 3)) * -1 - r2new.aaaa += tmp168.transpose((1, 0, 3, 2)) - del tmp168 - tmp93 = einsum(t1.aa, (0, 1), tmp92, (2, 0, 3, 4), (2, 3, 1, 4), optimize=True) - del tmp92 - r2new.aaaa += tmp93.transpose((1, 0, 2, 3)) * -1 - r2new.aaaa += tmp93.transpose((1, 0, 3, 2)) - del tmp93 - tmp135 = einsum(r2.aaaa, (0, 1, 2, 3), tmp134, (4, 5, 1, 0), (4, 5, 2, 3), optimize=True) * -1 - del tmp134 - r2new.aaaa += tmp135.transpose((0, 1, 3, 2)) * 2 - r2new.aaaa += tmp135.transpose((1, 0, 3, 2)) * -2 - del tmp135 - tmp90 = einsum(tmp89, (0, 1), r2.aaaa, (2, 3, 4, 1), (2, 3, 4, 0), optimize=True) * -1 - del tmp89 - r2new.aaaa += tmp90.transpose((1, 0, 3, 2)) * 2 - r2new.aaaa += tmp90.transpose((1, 0, 2, 3)) * -2 - del tmp90 - tmp131 = einsum(r2.aaaa, (0, 1, 2, 3), tmp130, (3, 4), (0, 1, 2, 4), optimize=True) * -2 - del tmp130 - r2new.aaaa += tmp131.transpose((1, 0, 2, 3)) - r2new.aaaa += tmp131.transpose((1, 0, 3, 2)) * -1 - del tmp131 - tmp140 = einsum(t2.aaaa, (0, 1, 2, 3), tmp139, (4, 5, 1, 0), (4, 5, 2, 3), optimize=True) * -1 - del tmp139 - r2new.aaaa += tmp140.transpose((1, 0, 3, 2)) * 2 - r2new.aaaa += tmp140.transpose((0, 1, 3, 2)) * -2 - del tmp140 - tmp79 = einsum(t1.aa, (0, 1), tmp78, (2, 0, 3, 4), (2, 3, 1, 4), optimize=True) - del tmp78 - r2new.aaaa += tmp79.transpose((0, 1, 3, 2)) - r2new.aaaa += tmp79 * -1 - del tmp79 - tmp100 = einsum(t2.aaaa, (0, 1, 2, 3), tmp99, (4, 1, 5, 3), (0, 4, 2, 5), optimize=True) - del tmp99 - r2new.aaaa += tmp100 * 2 - r2new.aaaa += tmp100.transpose((1, 0, 2, 3)) * -2 - r2new.aaaa += tmp100.transpose((0, 1, 3, 2)) * -2 - r2new.aaaa += tmp100.transpose((1, 0, 3, 2)) * 2 - del tmp100 - tmp167 = einsum(tmp166, (0, 1, 2, 3), r1.aa, (2, 4), (0, 1, 4, 3), optimize=True) - del tmp166 - r2new.aaaa += tmp167.transpose((0, 1, 3, 2)) * -1 - r2new.aaaa += tmp167 - del tmp167 - tmp175 = einsum(tmp174, (0, 1, 2, 3), r1.aa, (4, 2), (4, 0, 1, 3), optimize=True) - del tmp174 - r2new.aaaa += tmp175.transpose((0, 1, 3, 2)) * -1 - r2new.aaaa += tmp175 - r2new.aaaa += tmp175.transpose((1, 0, 3, 2)) - r2new.aaaa += tmp175.transpose((1, 0, 2, 3)) * -1 - del tmp175 - tmp132 = einsum(v.aaaa.ovov, (0, 1, 2, 3), tmp95, (2, 4, 3, 5), (0, 4, 1, 5), optimize=True) - del tmp95 - r2new.aaaa += tmp132.transpose((1, 0, 3, 2)) - r2new.aaaa += tmp132.transpose((1, 0, 2, 3)) * -1 - r2new.aaaa += tmp132.transpose((0, 1, 3, 2)) * -1 - r2new.aaaa += tmp132 - del tmp132 - tmp177 = einsum(tmp176, (0, 1, 2, 3), r1.aa, (2, 4), (0, 1, 4, 3), optimize=True) - del tmp176 - r2new.aaaa += tmp177.transpose((1, 0, 3, 2)) - r2new.aaaa += tmp177.transpose((0, 1, 3, 2)) * -1 - r2new.aaaa += tmp177.transpose((1, 0, 2, 3)) * -1 - r2new.aaaa += tmp177 - del tmp177 - tmp106 = einsum(t2.abab, (0, 1, 2, 3), tmp105, (4, 1, 5, 3), (0, 4, 2, 5), optimize=True) - del tmp105 - r2new.aaaa += tmp106 * -1 - r2new.aaaa += tmp106.transpose((1, 0, 2, 3)) - r2new.aaaa += tmp106.transpose((0, 1, 3, 2)) - r2new.aaaa += tmp106.transpose((1, 0, 3, 2)) * -1 - del tmp106 - tmp107 = tmp70.transpose((0, 2, 1, 3)).copy() - del tmp70 - tmp107 += tmp82.transpose((1, 3, 0, 2)) * -1 - del tmp82 - r2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp107, (4, 0, 5, 1), (5, 4, 2, 3), optimize=True) * 2 - del tmp107 - tmp184 = einsum(tmp183, (0, 1, 2, 3), t2.aaaa, (4, 1, 5, 2), (0, 4, 3, 5), optimize=True) * -1 - del tmp183 - r2new.aaaa += tmp184.transpose((1, 0, 3, 2)) * 2 - r2new.aaaa += tmp184.transpose((1, 0, 2, 3)) * -2 - del tmp184 - tmp137 = einsum(r2.abab, (0, 1, 2, 3), tmp136, (4, 1, 5, 3), (0, 4, 2, 5), optimize=True) - del tmp136 - r2new.aaaa += tmp137 - r2new.aaaa += tmp137.transpose((1, 0, 2, 3)) * -1 - r2new.aaaa += tmp137.transpose((1, 0, 3, 2)) - r2new.aaaa += tmp137.transpose((0, 1, 3, 2)) * -1 - del tmp137 - tmp138 = einsum(r1.aa, (0, 1), v.aaaa.ovvv, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) - r2new.aaaa += tmp138.transpose((1, 0, 3, 2)) * -1 - r2new.aaaa += tmp138.transpose((0, 1, 3, 2)) - r2new.aaaa += tmp138 * -1 - r2new.aaaa += tmp138.transpose((1, 0, 2, 3)) - del tmp138 - tmp158 = einsum(tmp157, (0, 1), t2.aaaa, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) * -1 - del tmp157 - r2new.aaaa += tmp158.transpose((0, 1, 3, 2)) * 2 - r2new.aaaa += tmp158.transpose((1, 0, 3, 2)) * -2 - del tmp158 - tmp173 = einsum(tmp172, (0, 1, 2, 3), r1.aa, (2, 4), (0, 1, 4, 3), optimize=True) - del tmp172 - r2new.aaaa += tmp173.transpose((1, 0, 2, 3)) - r2new.aaaa += tmp173 * -1 - r2new.aaaa += tmp173.transpose((1, 0, 3, 2)) * -1 - r2new.aaaa += tmp173.transpose((0, 1, 3, 2)) - del tmp173 - tmp118 = einsum(tmp117, (0, 1, 2, 3), t2.aaaa, (4, 1, 5, 2), (4, 0, 5, 3), optimize=True) * -2 - del tmp117 - r2new.aaaa += tmp118.transpose((1, 0, 2, 3)) * -1 - r2new.aaaa += tmp118.transpose((1, 0, 3, 2)) - del tmp118 - tmp75 = einsum(t1.aa, (0, 1), tmp74, (2, 0, 3, 4), (2, 3, 1, 4), optimize=True) - del tmp74 - r2new.aaaa += tmp75 - r2new.aaaa += tmp75.transpose((0, 1, 3, 2)) * -1 - del tmp75 - tmp69 = einsum(v.aaaa.oooo, (0, 1, 2, 3), r2.aaaa, (1, 3, 4, 5), (0, 2, 4, 5), optimize=True) - r2new.aaaa += tmp69.transpose((1, 0, 3, 2)) - r2new.aaaa += tmp69.transpose((1, 0, 3, 2)) - del tmp69 - tmp162 = einsum(tmp161, (0, 1, 2, 3), r1.aa, (2, 4), (0, 1, 3, 4), optimize=True) - del tmp161 - r2new.aaaa += tmp162 - r2new.aaaa += tmp162.transpose((0, 1, 3, 2)) * -1 - r2new.aaaa += tmp162.transpose((1, 0, 3, 2)) - del tmp162 - tmp151 = einsum(r1.aa, (0, 1), tmp150, (2, 0, 3, 4), (2, 3, 4, 1), optimize=True) - del tmp150 - r2new.aaaa += tmp151.transpose((1, 0, 2, 3)) - r2new.aaaa += tmp151.transpose((1, 0, 3, 2)) * -1 - del tmp151 - tmp80 = einsum(t2.aaaa, (0, 1, 2, 3), tmp25, (1, 4), (0, 4, 2, 3), optimize=True) * -2 - del tmp25 - r2new.aaaa += tmp80.transpose((1, 0, 3, 2)) - r2new.aaaa += tmp80.transpose((0, 1, 3, 2)) * -1 - del tmp80 - tmp133 = einsum(tmp30, (0, 1, 2, 3), r1.aa, (2, 4), (0, 1, 4, 3), optimize=True) - del tmp30 - r2new.aaaa += tmp133.transpose((1, 0, 2, 3)) - r2new.aaaa += tmp133 * -1 - r2new.aaaa += tmp133.transpose((0, 1, 3, 2)) - r2new.aaaa += tmp133.transpose((1, 0, 3, 2)) * -1 - del tmp133 - tmp126 = einsum(t2.aaaa, (0, 1, 2, 3), tmp125, (3, 4), (0, 1, 2, 4), optimize=True) * -2 - del tmp125 - r2new.aaaa += tmp126.transpose((1, 0, 2, 3)) * -1 - r2new.aaaa += tmp126.transpose((1, 0, 3, 2)) - del tmp126 - tmp28 = f.aa.oo.copy() - tmp28 += tmp26.transpose((1, 0)) - del tmp26 - tmp28 += tmp27.transpose((1, 0)) * -1 - del tmp27 - r2new.aaaa += einsum(r2.aaaa, (0, 1, 2, 3), tmp28, (1, 4), (0, 4, 2, 3), optimize=True) * -2 - r1new.aa += einsum(tmp28, (0, 1), r1.aa, (0, 2), (1, 2), optimize=True) * -1 - del tmp28 - tmp43 = einsum(v.bbbb.ovov, (0, 1, 2, 3), r1.bb, (4, 3), (4, 0, 2, 1), optimize=True) - r1new.bb += einsum(t2.bbbb, (0, 1, 2, 3), tmp43, (4, 1, 0, 3), (4, 2), optimize=True) * -2 - del tmp43 - tmp33 = r2.abab.copy() - tmp33 += einsum(r1.aa, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3), optimize=True) - tmp33 += einsum(t1.aa, (0, 1), r1.bb, (2, 3), (0, 2, 1, 3), optimize=True) - r1new.bb += einsum(tmp33, (0, 1, 2, 3), v.aabb.ovvv, (0, 2, 4, 3), (1, 4), optimize=True) - r1new.aa += einsum(v.aabb.vvov, (0, 1, 2, 3), tmp33, (4, 2, 1, 3), (4, 0), optimize=True) - del tmp33 - tmp57 = einsum(r1.bb, (0, 1), v.bbbb.ovvv, (0, 2, 3, 1), (2, 3), optimize=True) - r1new.bb += einsum(t1.bb, (0, 1), tmp57, (1, 2), (0, 2), optimize=True) * -1 - del tmp57 - tmp68 = einsum(tmp67, (0, 1), t1.bb, (2, 1), (2, 0), optimize=True) - del tmp67 - r1new.bb += einsum(tmp68, (0, 1), t1.bb, (1, 2), (0, 2), optimize=True) * -1 - del tmp68 - tmp42 = einsum(v.aabb.ovov, (0, 1, 2, 3), r1.bb, (4, 3), (0, 4, 2, 1), optimize=True) - r1new.bb += einsum(tmp42, (0, 1, 2, 3), t2.abab, (0, 2, 3, 4), (1, 4), optimize=True) * -1 - del tmp42 - tmp65 = f.bb.vv.copy() - tmp65 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), t1.bb, (0, 3), (1, 2), optimize=True) * -1 - r1new.bb += einsum(r1.bb, (0, 1), tmp65, (1, 2), (0, 2), optimize=True) - del tmp65 - tmp60 = r2.bbbb.copy() - tmp60 += einsum(t1.bb, (0, 1), r1.bb, (2, 3), (2, 0, 3, 1), optimize=True) * 0.5 - tmp60 += einsum(r1.bb, (0, 1), t1.bb, (2, 3), (2, 0, 3, 1), optimize=True) * 0.5 - r1new.bb += einsum(tmp60, (0, 1, 2, 3), v.bbbb.ovvv, (0, 2, 4, 3), (1, 4), optimize=True) * 2 - del tmp60 - tmp38 = f.aa.vv.copy() - tmp38 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), t1.aa, (0, 1), (2, 3), optimize=True) - r1new.aa += einsum(tmp38, (0, 1), r1.aa, (2, 0), (2, 1), optimize=True) - del tmp38 - tmp0 = einsum(v.aaaa.ovov, (0, 1, 2, 3), r1.aa, (4, 3), (4, 0, 2, 1), optimize=True) - r1new.aa += einsum(tmp0, (0, 1, 2, 3), t2.aaaa, (2, 1, 4, 3), (0, 4), optimize=True) * -2 - del tmp0 - tmp29 = einsum(v.aaaa.ovvv, (0, 1, 2, 3), r1.aa, (0, 1), (2, 3), optimize=True) - r1new.aa += einsum(tmp29, (0, 1), t1.aa, (2, 1), (2, 0), optimize=True) - del tmp29 - tmp32 = r2.aaaa.copy() * 2 - tmp32 += einsum(r1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 1, 3), optimize=True) - tmp32 += einsum(t1.aa, (0, 1), r1.aa, (2, 3), (0, 2, 1, 3), optimize=True) - r1new.aa += einsum(tmp32, (0, 1, 2, 3), v.aaaa.ovvv, (0, 3, 4, 2), (1, 4), optimize=True) * -1 - del tmp32 - tmp1 = einsum(r1.aa, (0, 1), v.aabb.ovov, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) - r1new.aa += einsum(t2.abab, (0, 1, 2, 3), tmp1, (4, 0, 1, 3), (4, 2), optimize=True) * -1 - del tmp1 - r1new.aa += einsum(r1.aa, (0, 1), v.aaaa.oovv, (2, 0, 3, 1), (2, 3), optimize=True) * -1 - r1new.aa += einsum(r2.abab, (0, 1, 2, 3), v.aabb.ooov, (4, 0, 1, 3), (4, 2), optimize=True) * -1 - r1new.aa += einsum(v.aaaa.ooov, (0, 1, 2, 3), r2.aaaa, (2, 1, 4, 3), (0, 4), optimize=True) * 2 - r1new.aa += einsum(r1.aa, (0, 1), v.aaaa.ovov, (2, 3, 0, 1), (2, 3), optimize=True) - r1new.bb += einsum(r1.bb, (0, 1), v.bbbb.oovv, (2, 0, 3, 1), (2, 3), optimize=True) * -1 - r1new.bb += einsum(r2.abab, (0, 1, 2, 3), v.aabb.ovoo, (0, 2, 4, 1), (4, 3), optimize=True) * -1 - r1new.bb += einsum(v.bbbb.ooov, (0, 1, 2, 3), r2.bbbb, (1, 2, 4, 3), (0, 4), optimize=True) * -2 - r1new.bb += einsum(r1.bb, (0, 1), v.bbbb.ovov, (2, 3, 0, 1), (2, 3), optimize=True) - r2new.aaaa += einsum(v.aaaa.vvvv, (0, 1, 2, 3), r2.aaaa, (4, 5, 3, 1), (4, 5, 0, 2), optimize=True) * -2 - r2new.abab += einsum(v.aabb.oooo, (0, 1, 2, 3), r2.abab, (1, 3, 4, 5), (0, 2, 4, 5), optimize=True) * 0.5 - r2new.abab += einsum(v.aaaa.ovov, (0, 1, 2, 3), r2.abab, (2, 4, 3, 5), (0, 4, 1, 5), optimize=True) - r2new.abab += einsum(r2.abab, (0, 1, 2, 3), v.aabb.oovv, (4, 0, 5, 3), (4, 1, 2, 5), optimize=True) * -1 - r2new.abab += einsum(r2.abab, (0, 1, 2, 3), v.aaaa.oovv, (4, 0, 5, 2), (4, 1, 5, 3), optimize=True) * -1 - r2new.bbbb += einsum(v.bbbb.vvvv, (0, 1, 2, 3), r2.bbbb, (4, 5, 1, 3), (4, 5, 0, 2), optimize=True) * 2 - r2new.baba = r2new.abab.transpose(1, 0, 3, 2) - - return r1new, r2new - diff --git a/ebcc/codegen/UDCD.py b/ebcc/codegen/UDCD.py deleted file mode 100644 index 3995ddcf..00000000 --- a/ebcc/codegen/UDCD.py +++ /dev/null @@ -1,263 +0,0 @@ -""" -Code generated by `albert`: -https://github.com/obackhouse/albert - - * date: 2024-07-18T10:46:51.791009 - * python version: 3.10.12 (main, Mar 22 2024, 16:50:05) [GCC 11.4.0] - * albert version: 0.0.0 - * caller: /home/ollie/git/albert/albert/codegen/einsum.py - * node: ollie-desktop - * system: Linux - * processor: x86_64 - * release: 6.5.0-44-generic -""" - -from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, direct_sum, Namespace - - -def energy(t2=None, v=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-07-18T10:46:52.067075. - - Parameters - ---------- - t2 : Namespace of arrays - T2 amplitudes. - v : Namespace of arrays - Electron repulsion integrals. - - Returns - ------- - e_cc : float - Coupled cluster energy. - """ - - e_cc = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.aaaa, (0, 2, 1, 3), (), optimize=True) - e_cc += einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 2, 1, 3), (), optimize=True) - e_cc += einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (0, 2, 3, 1), (), optimize=True) * -1 - - return e_cc - -def update_amps(f=None, t2=None, v=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-07-18T10:46:59.520905. - - Parameters - ---------- - f : Namespace of arrays - Fock matrix. - t2 : Namespace of arrays - T2 amplitudes. - v : Namespace of arrays - Electron repulsion integrals. - - Returns - ------- - t2new : Namespace of arrays - Updated T2 residuals. - """ - - t1new = Namespace() - t2new = Namespace() - tmp31 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (4, 0, 5, 1), (4, 2, 5, 3), optimize=True) - tmp33 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.abab, (0, 4, 1, 5), (2, 4, 3, 5), optimize=True) - tmp21 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 4, 1, 3), (4, 2), optimize=True) - tmp22 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (1, 2, 4, 3), (0, 4), optimize=True) * -1 - tmp26 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 1, 4), (3, 4), optimize=True) - tmp27 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (0, 2, 4, 1), (4, 3), optimize=True) * -1 - tmp1 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 1, 3), (0, 4), optimize=True) - tmp0 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.aaaa, (4, 0, 3, 1), (4, 2), optimize=True) - tmp11 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 5, 3), (4, 0, 5, 1), optimize=True) - tmp14 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 5, 1, 3), (0, 4, 2, 5), optimize=True) - tmp42 = v.bbbb.ovov.transpose((2, 0, 3, 1)).copy() - tmp42 += tmp31 - tmp44 = v.aabb.ovov.transpose((0, 2, 1, 3)).copy() * 2 - tmp44 += tmp33 - tmp36 = f.bb.oo.transpose((1, 0)).copy() - tmp36 += tmp21 * 0.5 - tmp36 += tmp22 - tmp34 = einsum(t2.bbbb, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (4, 0, 5, 2), optimize=True) - tmp39 = f.bb.vv.transpose((1, 0)).copy() * -1 - tmp39 += tmp26 * 0.5 - tmp39 += tmp27 - tmp46 = v.bbbb.ovov.transpose((2, 0, 3, 1)).copy() - tmp46 += v.bbbb.oovv.transpose((1, 0, 3, 2)) * -1 - tmp46 += tmp31 - tmp5 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.aaaa, (0, 2, 4, 1), (4, 3), optimize=True) * -1 - tmp6 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 2, 4, 3), (4, 1), optimize=True) - tmp9 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 5, 3), (4, 0, 5, 1), optimize=True) - tmp2 = f.aa.oo.transpose((1, 0)).copy() * 2 - tmp2 += tmp0 * 2 - tmp2 += tmp1 - tmp17 = v.aabb.ovov.transpose((0, 2, 1, 3)).copy() - tmp17 += tmp11 * 0.5 - tmp15 = v.aaaa.ovov.transpose((2, 0, 3, 1)).copy() - tmp15 += tmp14 - tmp12 = v.aabb.ovov.transpose((0, 2, 1, 3)).copy() * 2 - tmp12 += tmp11 - tmp19 = v.aaaa.ovov.transpose((2, 0, 3, 1)).copy() - tmp19 += v.aaaa.oovv.transpose((1, 0, 3, 2)) * -1 - tmp19 += tmp14 - tmp43 = einsum(t2.bbbb, (0, 1, 2, 3), tmp42, (4, 0, 5, 2), (4, 1, 5, 3), optimize=True) * 2 - del tmp42 - t2new.bbbb = tmp43.transpose((0, 1, 3, 2)).copy() * -1 - t2new.bbbb += tmp43 - del tmp43 - tmp45 = einsum(tmp44, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) * 0.5 - del tmp44 - t2new.bbbb += tmp45.transpose((1, 0, 2, 3)) * -1 - t2new.bbbb += tmp45.transpose((1, 0, 3, 2)) - t2new.bbbb += tmp45.transpose((0, 1, 3, 2)) * -1 - t2new.bbbb += tmp45 - del tmp45 - tmp37 = einsum(t2.bbbb, (0, 1, 2, 3), tmp36, (4, 0), (4, 1, 2, 3), optimize=True) * 2 - del tmp36 - t2new.bbbb += tmp37.transpose((0, 1, 3, 2)) - t2new.bbbb += tmp37.transpose((1, 0, 3, 2)) * -1 - del tmp37 - tmp38 = einsum(v.bbbb.oovv, (0, 1, 2, 3), t2.bbbb, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) - t2new.bbbb += tmp38.transpose((1, 0, 2, 3)) * 2 - t2new.bbbb += tmp38.transpose((1, 0, 3, 2)) * -2 - del tmp38 - tmp41 = einsum(tmp34, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) - t2new.bbbb += tmp41.transpose((1, 0, 2, 3)) * -1 - t2new.bbbb += tmp41.transpose((0, 1, 3, 2)) * -1 - t2new.bbbb += tmp41.transpose((1, 0, 3, 2)) - t2new.bbbb += tmp41 - t2new.bbbb += tmp41.transpose((1, 0, 2, 3)) * -1 - t2new.bbbb += tmp41.transpose((0, 1, 3, 2)) * -1 - t2new.bbbb += tmp41.transpose((1, 0, 3, 2)) - t2new.bbbb += tmp41 - del tmp41 - tmp40 = einsum(t2.bbbb, (0, 1, 2, 3), tmp39, (4, 2), (0, 1, 4, 3), optimize=True) * 2 - del tmp39 - t2new.bbbb += tmp40.transpose((1, 0, 3, 2)) * -1 - t2new.bbbb += tmp40.transpose((1, 0, 2, 3)) - del tmp40 - tmp47 = einsum(tmp46, (0, 1, 2, 3), t2.bbbb, (1, 4, 3, 5), (0, 4, 2, 5), optimize=True) * 2 - del tmp46 - t2new.bbbb += tmp47.transpose((1, 0, 2, 3)) * -1 - t2new.bbbb += tmp47.transpose((1, 0, 3, 2)) - del tmp47 - tmp25 = f.aa.vv.transpose((1, 0)).copy() * -2 - tmp25 += tmp5.transpose((1, 0)) * 2 - tmp25 += tmp6.transpose((1, 0)) - t2new.abab = einsum(tmp25, (0, 1), t2.abab, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) * -0.5 - del tmp25 - tmp29 = v.aabb.ovov.transpose((0, 2, 1, 3)).copy() - tmp29 += einsum(v.aabb.ovov, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 1), (4, 2, 5, 3), optimize=True) - tmp29 += tmp11 * 0.5 - del tmp11 - t2new.abab += einsum(t2.bbbb, (0, 1, 2, 3), tmp29, (4, 0, 5, 2), (4, 1, 5, 3), optimize=True) * 2 - del tmp29 - tmp24 = f.aa.oo.transpose((1, 0)).copy() - tmp24 += tmp0.transpose((1, 0)) - del tmp0 - tmp24 += tmp1.transpose((1, 0)) * 0.5 - del tmp1 - t2new.abab += einsum(tmp24, (0, 1), t2.abab, (0, 2, 3, 4), (1, 2, 3, 4), optimize=True) * -1 - del tmp24 - tmp32 = v.bbbb.ovov.transpose((2, 0, 3, 1)).copy() - tmp32 += v.bbbb.oovv.transpose((1, 0, 3, 2)) * -1 - tmp32 += einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 4, 1, 5), (2, 4, 3, 5), optimize=True) * 0.5 - tmp32 += tmp31.transpose((1, 0, 3, 2)) - del tmp31 - t2new.abab += einsum(tmp32, (0, 1, 2, 3), t2.abab, (4, 0, 5, 2), (4, 1, 5, 3), optimize=True) - del tmp32 - tmp23 = f.bb.oo.transpose((1, 0)).copy() - tmp23 += tmp21.transpose((1, 0)) * 0.5 - del tmp21 - tmp23 += tmp22.transpose((1, 0)) - del tmp22 - t2new.abab += einsum(tmp23, (0, 1), t2.abab, (2, 0, 3, 4), (2, 1, 3, 4), optimize=True) * -1 - del tmp23 - tmp35 = v.aabb.ovov.transpose((0, 2, 1, 3)).copy() - tmp35 += tmp33 * 0.5 - del tmp33 - tmp35 += tmp34 - del tmp34 - t2new.abab += einsum(tmp35, (0, 1, 2, 3), t2.aaaa, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) * 2 - del tmp35 - tmp30 = v.aaaa.ovov.transpose((2, 0, 3, 1)).copy() - tmp30 += tmp14.transpose((1, 0, 3, 2)) - del tmp14 - tmp30 += tmp9.transpose((1, 0, 3, 2)) * 0.5 - t2new.abab += einsum(tmp30, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) - del tmp30 - tmp28 = f.bb.vv.transpose((1, 0)).copy() * -1 - tmp28 += tmp26.transpose((1, 0)) * 0.5 - del tmp26 - tmp28 += tmp27.transpose((1, 0)) - del tmp27 - t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp28, (3, 4), (0, 1, 2, 4), optimize=True) * -1 - del tmp28 - tmp4 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.oovv, (4, 1, 5, 3), (0, 4, 2, 5), optimize=True) - t2new.aaaa = tmp4.transpose((1, 0, 2, 3)).copy() * 2 - t2new.aaaa += tmp4.transpose((1, 0, 3, 2)) * -2 - del tmp4 - tmp8 = f.aa.vv.transpose((1, 0)).copy() * -1 - tmp8 += tmp5 - tmp8 += tmp6 * 0.5 - t2new.aaaa += einsum(tmp8, (0, 1), t2.aaaa, (2, 3, 1, 4), (3, 2, 4, 0), optimize=True) * -2 - del tmp8 - tmp3 = einsum(t2.aaaa, (0, 1, 2, 3), tmp2, (4, 0), (1, 4, 2, 3), optimize=True) - del tmp2 - t2new.aaaa += tmp3.transpose((1, 0, 3, 2)) - t2new.aaaa += tmp3.transpose((0, 1, 3, 2)) * -1 - del tmp3 - tmp7 = f.aa.vv.transpose((1, 0)).copy() * -2 - tmp7 += tmp5 * 2 - del tmp5 - tmp7 += tmp6 - del tmp6 - t2new.aaaa += einsum(tmp7, (0, 1), t2.aaaa, (2, 3, 1, 4), (3, 2, 0, 4), optimize=True) - del tmp7 - tmp18 = einsum(tmp17, (0, 1, 2, 3), t2.abab, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) - del tmp17 - t2new.aaaa += tmp18 - t2new.aaaa += tmp18.transpose((1, 0, 2, 3)) * -1 - del tmp18 - tmp16 = einsum(t2.aaaa, (0, 1, 2, 3), tmp15, (4, 0, 5, 2), (1, 4, 3, 5), optimize=True) * 2 - del tmp15 - t2new.aaaa += tmp16.transpose((1, 0, 2, 3)) * -1 - t2new.aaaa += tmp16.transpose((1, 0, 3, 2)) - del tmp16 - tmp13 = einsum(tmp12, (0, 1, 2, 3), t2.abab, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) * 0.5 - del tmp12 - t2new.aaaa += tmp13.transpose((0, 1, 3, 2)) * -1 - t2new.aaaa += tmp13.transpose((1, 0, 3, 2)) - del tmp13 - tmp20 = einsum(t2.aaaa, (0, 1, 2, 3), tmp19, (4, 0, 5, 2), (1, 4, 3, 5), optimize=True) * 2 - del tmp19 - t2new.aaaa += tmp20.transpose((0, 1, 3, 2)) * -1 - t2new.aaaa += tmp20 - del tmp20 - tmp10 = einsum(t2.aaaa, (0, 1, 2, 3), tmp9, (4, 1, 5, 3), (0, 4, 2, 5), optimize=True) - del tmp9 - t2new.aaaa += tmp10.transpose((1, 0, 2, 3)) * -1 - t2new.aaaa += tmp10.transpose((0, 1, 3, 2)) * -1 - t2new.aaaa += tmp10.transpose((1, 0, 3, 2)) - t2new.aaaa += tmp10 - t2new.aaaa += tmp10.transpose((1, 0, 2, 3)) * -1 - t2new.aaaa += tmp10.transpose((0, 1, 3, 2)) * -1 - t2new.aaaa += tmp10.transpose((1, 0, 3, 2)) - t2new.aaaa += tmp10 - del tmp10 - t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.oooo, (4, 0, 1, 5), (5, 4, 3, 2), optimize=True) * 2 - t2new.aaaa += v.aaaa.ovov.transpose((2, 0, 3, 1)) - t2new.aaaa += v.aaaa.ovov.transpose((2, 0, 1, 3)) * -1 - t2new.aaaa += einsum(v.aaaa.vvvv, (0, 1, 2, 3), t2.aaaa, (4, 5, 3, 1), (5, 4, 2, 0), optimize=True) * -2 - t2new.abab += einsum(t2.abab, (0, 1, 2, 3), v.aabb.oooo, (4, 0, 5, 1), (4, 5, 2, 3), optimize=True) - t2new.abab += einsum(v.aaaa.oovv, (0, 1, 2, 3), t2.abab, (1, 4, 3, 5), (0, 4, 2, 5), optimize=True) * -1 - t2new.abab += einsum(t2.abab, (0, 1, 2, 3), v.aabb.oovv, (4, 0, 5, 3), (4, 1, 2, 5), optimize=True) * -1 - t2new.abab += v.aabb.ovov.transpose((0, 2, 1, 3)) - t2new.abab += einsum(t2.abab, (0, 1, 2, 3), v.aabb.vvvv, (4, 2, 5, 3), (0, 1, 4, 5), optimize=True) - t2new.abab += einsum(t2.abab, (0, 1, 2, 3), v.bbaa.oovv, (4, 1, 5, 2), (0, 4, 5, 3), optimize=True) * -1 - t2new.bbbb += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.oooo, (4, 1, 5, 0), (5, 4, 3, 2), optimize=True) * -2 - t2new.bbbb += v.bbbb.ovov.transpose((2, 0, 3, 1)) - t2new.bbbb += v.bbbb.ovov.transpose((2, 0, 1, 3)) * -1 - t2new.bbbb += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.vvvv, (4, 2, 3, 5), (1, 0, 5, 4), optimize=True) * 2 - - return {f"t2new": t2new} - diff --git a/ebcc/codegen/UDCSD.py b/ebcc/codegen/UDCSD.py deleted file mode 100644 index 9740bb63..00000000 --- a/ebcc/codegen/UDCSD.py +++ /dev/null @@ -1,853 +0,0 @@ -""" -Code generated by `albert`: -https://github.com/obackhouse/albert - - * date: 2024-07-18T10:48:00.754172 - * python version: 3.10.12 (main, Mar 22 2024, 16:50:05) [GCC 11.4.0] - * albert version: 0.0.0 - * caller: /home/ollie/git/albert/albert/codegen/einsum.py - * node: ollie-desktop - * system: Linux - * processor: x86_64 - * release: 6.5.0-44-generic -""" - -from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, direct_sum, Namespace - - -def energy(f=None, t1=None, t2=None, v=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-07-18T10:48:01.458064. - - Parameters - ---------- - f : Namespace of arrays - Fock matrix. - t1 : Namespace of arrays - T1 amplitudes. - t2 : Namespace of arrays - T2 amplitudes. - v : Namespace of arrays - Electron repulsion integrals. - - Returns - ------- - e_cc : float - Coupled cluster energy. - """ - - tmp2 = v.aaaa.ovov.transpose((2, 0, 1, 3)).copy() * -1 - tmp2 += v.aaaa.ovov.transpose((2, 0, 3, 1)) - tmp0 = v.bbbb.ovov.transpose((2, 0, 1, 3)).copy() * -1 - tmp0 += v.bbbb.ovov.transpose((2, 0, 3, 1)) - tmp3 = f.aa.ov.copy() * 2 - tmp3 += einsum(t1.aa, (0, 1), tmp2, (0, 2, 3, 1), (2, 3), optimize=True) * -1 - del tmp2 - e_cc = einsum(t1.aa, (0, 1), tmp3, (0, 1), (), optimize=True) * 0.5 - del tmp3 - tmp1 = f.bb.ov.copy() - tmp1 += einsum(t1.aa, (0, 1), v.aabb.ovov, (0, 1, 2, 3), (2, 3), optimize=True) - tmp1 += einsum(t1.bb, (0, 1), tmp0, (0, 2, 3, 1), (2, 3), optimize=True) * -0.5 - del tmp0 - e_cc += einsum(tmp1, (0, 1), t1.bb, (0, 1), (), optimize=True) - del tmp1 - e_cc += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (0, 3, 1, 2), (), optimize=True) * -1 - e_cc += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (0, 3, 1, 2), (), optimize=True) * -1 - e_cc += einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 2, 1, 3), (), optimize=True) - - return e_cc - -def update_amps(f=None, t1=None, t2=None, v=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-07-18T10:48:34.351126. - - Parameters - ---------- - f : Namespace of arrays - Fock matrix. - t1 : Namespace of arrays - T1 amplitudes. - t2 : Namespace of arrays - T2 amplitudes. - v : Namespace of arrays - Electron repulsion integrals. - - Returns - ------- - t1new : Namespace of arrays - Updated T1 residuals. - t2new : Namespace of arrays - Updated T2 residuals. - """ - - t1new = Namespace() - t2new = Namespace() - tmp36 = v.bbbb.ovov.transpose((2, 0, 1, 3)).copy() * -1 - tmp36 += v.bbbb.ovov.transpose((2, 0, 3, 1)) - tmp20 = v.aaaa.ovov.transpose((2, 0, 1, 3)).copy() * -1 - tmp20 += v.aaaa.ovov.transpose((2, 0, 3, 1)) - tmp37 = einsum(t1.bb, (0, 1), tmp36, (0, 2, 3, 1), (2, 3), optimize=True) - del tmp36 - tmp10 = einsum(t1.aa, (0, 1), v.aabb.ovov, (0, 1, 2, 3), (2, 3), optimize=True) - t1new.bb = tmp10.copy() - tmp26 = einsum(t1.bb, (0, 1), v.bbbb.ovov, (2, 1, 3, 4), (0, 3, 2, 4), optimize=True) - tmp21 = einsum(t1.aa, (0, 1), tmp20, (0, 2, 3, 1), (2, 3), optimize=True) - del tmp20 - tmp0 = einsum(v.aabb.ovov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1), optimize=True) - t1new.aa = tmp0.copy() - tmp1 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t1.aa, (4, 1), (4, 2, 0, 3), optimize=True) - tmp35 = v.bbbb.ooov.transpose((1, 0, 2, 3)).copy() * -1 - tmp35 += v.bbbb.ooov.transpose((1, 2, 0, 3)) - tmp38 = f.bb.ov.copy() - tmp38 += tmp10 - tmp38 += tmp37 * -1 - del tmp37 - tmp116 = v.bbbb.ovvv.transpose((0, 1, 3, 2)).copy() * -1 - tmp116 += v.bbbb.ovvv.transpose((0, 3, 1, 2)) - tmp11 = v.bbbb.ovov.transpose((2, 0, 1, 3)).copy() * -1 - tmp11 += v.bbbb.ovov.transpose((2, 0, 3, 1)) - tmp139 = v.bbbb.ooov.transpose((1, 0, 2, 3)).copy() * -1 - tmp139 += v.bbbb.ooov.transpose((2, 1, 0, 3)) - tmp166 = einsum(v.bbbb.ooov, (0, 1, 2, 3), t1.bb, (4, 3), (4, 0, 1, 2), optimize=True) - tmp203 = tmp26.copy() * -1 - tmp203 += tmp26.transpose((0, 2, 1, 3)) - tmp201 = v.bbbb.ovvv.transpose((0, 1, 3, 2)).copy() * -1 - tmp201 += v.bbbb.ovvv.transpose((0, 3, 1, 2)) - tmp7 = v.aaaa.ovov.transpose((2, 0, 1, 3)).copy() * -1 - tmp7 += v.aaaa.ovov.transpose((2, 0, 3, 1)) - tmp64 = einsum(t1.aa, (0, 1), v.aaaa.ooov, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) - tmp22 = f.aa.ov.copy() - tmp22 += tmp0 - tmp22 += tmp21 * -1 - del tmp21 - tmp59 = v.aaaa.ovvv.transpose((0, 1, 3, 2)).copy() * -1 - tmp59 += v.aaaa.ovvv.transpose((0, 3, 1, 2)) - tmp100 = v.aaaa.ovvv.transpose((0, 1, 3, 2)).copy() * -1 - tmp100 += v.aaaa.ovvv.transpose((0, 3, 1, 2)) - tmp102 = tmp1.copy() - tmp102 += tmp1.transpose((0, 2, 1, 3)) * -1 - tmp18 = v.aaaa.ooov.transpose((1, 0, 2, 3)).copy() - tmp18 += v.aaaa.ooov.transpose((2, 1, 0, 3)) * -1 - tmp34 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (1, 3, 4, 2), (0, 4), optimize=True) - tmp156 = einsum(tmp35, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1), optimize=True) - tmp33 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 4, 1, 3), (4, 2), optimize=True) - tmp32 = einsum(t1.aa, (0, 1), v.aabb.ovoo, (0, 1, 2, 3), (2, 3), optimize=True) - tmp28 = einsum(v.aabb.ovov, (0, 1, 2, 3), t1.bb, (4, 3), (0, 4, 2, 1), optimize=True) - tmp114 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 2, 1, 4), (4, 3), optimize=True) - tmp118 = einsum(tmp38, (0, 1), t1.bb, (0, 2), (2, 1), optimize=True) - tmp113 = einsum(t1.aa, (0, 1), v.aabb.ovvv, (0, 1, 2, 3), (2, 3), optimize=True) - tmp115 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (0, 4, 1, 3), (2, 4), optimize=True) - tmp117 = einsum(tmp116, (0, 1, 2, 3), t1.bb, (0, 2), (1, 3), optimize=True) - del tmp116 - tmp12 = einsum(t1.bb, (0, 1), tmp11, (0, 2, 3, 1), (2, 3), optimize=True) - del tmp11 - tmp138 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (4, 0, 5, 1), (4, 2, 5, 3), optimize=True) - t2new.bbbb = tmp138.copy() * 2 - t2new.bbbb += tmp138.transpose((0, 1, 3, 2)) * -2 - t2new.bbbb += tmp138.transpose((1, 0, 2, 3)) * -2 - t2new.bbbb += tmp138.transpose((1, 0, 3, 2)) * 2 - tmp160 = einsum(tmp139, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 4, 3), optimize=True) - tmp175 = einsum(t1.bb, (0, 1), v.bbbb.ovvv, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) - t2new.bbbb += tmp175.transpose((1, 0, 3, 2)) * -1 - t2new.bbbb += tmp175.transpose((0, 1, 3, 2)) - t2new.bbbb += tmp175 * -1 - t2new.bbbb += tmp175.transpose((1, 0, 2, 3)) - tmp176 = v.bbbb.ovvv.transpose((0, 1, 3, 2)).copy() - tmp176 += v.bbbb.ovvv.transpose((0, 3, 1, 2)) * -1 - tmp169 = einsum(tmp166, (0, 1, 2, 3), t1.bb, (3, 4), (0, 2, 1, 4), optimize=True) - tmp168 = einsum(v.bbbb.oovv, (0, 1, 2, 3), t1.bb, (4, 3), (4, 0, 1, 2), optimize=True) - tmp190 = einsum(tmp26, (0, 1, 2, 3), t1.bb, (4, 3), (0, 4, 2, 1), optimize=True) - tmp204 = einsum(t1.bb, (0, 1), tmp203, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) - del tmp203 - tmp202 = einsum(t1.bb, (0, 1), tmp201, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) - del tmp201 - tmp8 = einsum(t1.aa, (0, 1), tmp7, (0, 2, 3, 1), (2, 3), optimize=True) - del tmp7 - tmp3 = einsum(t1.aa, (0, 1), v.aabb.ovov, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) - tmp74 = v.aaaa.ovvv.transpose((0, 1, 3, 2)).copy() - tmp74 += v.aaaa.ovvv.transpose((0, 3, 1, 2)) * -1 - tmp89 = einsum(tmp1, (0, 1, 2, 3), t1.aa, (4, 3), (0, 4, 2, 1), optimize=True) - tmp73 = einsum(v.aaaa.ovvv, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 1, 2), optimize=True) - t2new.aaaa = tmp73.transpose((1, 0, 3, 2)).copy() * -1 - t2new.aaaa += tmp73.transpose((0, 1, 3, 2)) - t2new.aaaa += tmp73 * -1 - t2new.aaaa += tmp73.transpose((1, 0, 2, 3)) - tmp51 = einsum(t1.aa, (0, 1), v.aabb.ooov, (2, 0, 3, 4), (2, 3, 1, 4), optimize=True) - t2new.abab = tmp51.copy() * -1 - tmp52 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.abab, (4, 0, 5, 1), (4, 2, 5, 3), optimize=True) - tmp66 = einsum(v.aaaa.oovv, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 1, 2), optimize=True) - tmp67 = einsum(tmp64, (0, 1, 2, 3), t1.aa, (3, 4), (0, 2, 1, 4), optimize=True) - tmp61 = einsum(t1.aa, (0, 1), tmp22, (0, 2), (1, 2), optimize=True) - tmp60 = einsum(t1.aa, (0, 1), tmp59, (0, 2, 1, 3), (2, 3), optimize=True) - del tmp59 - tmp56 = einsum(v.bbaa.ovvv, (0, 1, 2, 3), t1.bb, (0, 1), (2, 3), optimize=True) - tmp57 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.aaaa, (0, 2, 4, 3), (4, 1), optimize=True) - tmp58 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 2, 4, 3), (4, 1), optimize=True) - tmp101 = einsum(tmp100, (0, 1, 2, 3), t1.aa, (4, 1), (4, 0, 2, 3), optimize=True) - tmp103 = einsum(t1.aa, (0, 1), tmp102, (2, 0, 3, 4), (2, 3, 1, 4), optimize=True) - del tmp102 - tmp47 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (1, 3, 4, 5), (0, 4, 2, 5), optimize=True) - t2new.aaaa += tmp47 * 2 - t2new.aaaa += tmp47.transpose((0, 1, 3, 2)) * -2 - t2new.aaaa += tmp47.transpose((1, 0, 2, 3)) * -2 - t2new.aaaa += tmp47.transpose((1, 0, 3, 2)) * 2 - tmp48 = einsum(t1.aa, (0, 1), tmp18, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) - tmp17 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 1, 3), (4, 0), optimize=True) - tmp16 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.aaaa, (4, 0, 1, 3), (4, 2), optimize=True) * -1 - tmp19 = einsum(t1.aa, (0, 1), tmp18, (0, 2, 3, 1), (2, 3), optimize=True) - del tmp18 - tmp15 = einsum(t1.bb, (0, 1), v.aabb.ooov, (2, 3, 0, 1), (2, 3), optimize=True) - tmp157 = f.bb.oo.transpose((1, 0)).copy() - tmp157 += tmp32.transpose((1, 0)) - tmp157 += tmp33.transpose((1, 0)) * 0.5 - tmp157 += tmp34.transpose((1, 0)) - tmp157 += tmp156.transpose((1, 0)) * -1 - del tmp156 - tmp148 = einsum(tmp28, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 3, 4), optimize=True) - tmp111 = einsum(t2.abab, (0, 1, 2, 3), v.aaaa.ovov, (0, 2, 4, 5), (4, 1, 5, 3), optimize=True) - t2new.abab += tmp111 - tmp124 = einsum(t1.bb, (0, 1), v.aabb.ovvv, (2, 3, 4, 1), (2, 0, 3, 4), optimize=True) - t2new.abab += tmp124 - tmp186 = v.bbbb.ooov.transpose((1, 0, 2, 3)).copy() * -1 - tmp186 += v.bbbb.ooov.transpose((2, 1, 0, 3)) - tmp119 = f.bb.vv.transpose((1, 0)).copy() * -1 - tmp119 += tmp113.transpose((1, 0)) * -1 - del tmp113 - tmp119 += tmp114.transpose((1, 0)) * 0.5 - del tmp114 - tmp119 += tmp115.transpose((1, 0)) - del tmp115 - tmp119 += tmp117 * -1 - del tmp117 - tmp119 += tmp118.transpose((1, 0)) - del tmp118 - t2new.abab += einsum(tmp119, (0, 1), t2.abab, (2, 3, 4, 0), (2, 3, 4, 1), optimize=True) * -1 - tmp141 = einsum(v.aabb.ovoo, (0, 1, 2, 3), t1.bb, (3, 4), (0, 2, 1, 4), optimize=True) - tmp198 = v.bbbb.ovvv.transpose((0, 1, 3, 2)).copy() - tmp198 += einsum(v.bbbb.ovov, (0, 1, 2, 3), t1.bb, (2, 4), (0, 3, 1, 4), optimize=True) - tmp13 = f.bb.ov.copy() - tmp13 += tmp10 - del tmp10 - tmp13 += tmp12 * -1 - del tmp12 - t1new.bb += einsum(t2.bbbb, (0, 1, 2, 3), tmp13, (0, 2), (1, 3), optimize=True) * 2 - t1new.aa += einsum(t2.abab, (0, 1, 2, 3), tmp13, (1, 3), (0, 2), optimize=True) - tmp155 = einsum(t1.bb, (0, 1), v.bbbb.oooo, (2, 3, 0, 4), (2, 3, 4, 1), optimize=True) - t2new.bbbb += einsum(tmp155, (0, 1, 2, 3), t1.bb, (1, 4), (2, 0, 3, 4), optimize=True) - tmp29 = v.aabb.ovoo.transpose((0, 3, 2, 1)).copy() - tmp29 += tmp28.transpose((0, 2, 1, 3)) - t1new.bb += einsum(t2.abab, (0, 1, 2, 3), tmp29, (0, 1, 4, 2), (4, 3), optimize=True) * -1 - tmp161 = v.bbbb.oovv.transpose((1, 0, 3, 2)).copy() * -1 - tmp161 += tmp138 - tmp161 += tmp160.transpose((1, 0, 2, 3)) * -1 - del tmp160 - tmp194 = einsum(t1.bb, (0, 1), v.bbbb.vvvv, (2, 1, 3, 4), (0, 3, 4, 2), optimize=True) - tmp196 = einsum(t1.bb, (0, 1), tmp175, (2, 3, 1, 4), (0, 2, 3, 4), optimize=True) - del tmp175 - tmp112 = einsum(t2.bbbb, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (4, 0, 5, 2), optimize=True) - t2new.abab += tmp112 * 2 - tmp177 = einsum(t1.bb, (0, 1), tmp176, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) - del tmp176 - tmp183 = t2.bbbb.transpose((1, 0, 3, 2)).copy() - tmp183 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1), optimize=True) * -1 - tmp170 = tmp168.transpose((0, 2, 1, 3)).copy() - tmp170 += tmp169.transpose((0, 2, 1, 3)) * -1 - tmp178 = v.bbbb.ooov.transpose((1, 0, 2, 3)).copy() * -1 - tmp178 += v.bbbb.ooov.transpose((1, 2, 0, 3)) - tmp178 += tmp26 - tmp178 += tmp26.transpose((0, 2, 1, 3)) * -1 - tmp192 = einsum(tmp190, (0, 1, 2, 3), t1.bb, (2, 4), (1, 0, 3, 4), optimize=True) - tmp205 = tmp202.transpose((0, 1, 3, 2)).copy() * -1 - del tmp202 - tmp205 += tmp204 * -1 - del tmp204 - tmp45 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 5, 3), (4, 0, 5, 1), optimize=True) - t2new.aaaa += tmp45 - t2new.aaaa += tmp45.transpose((0, 1, 3, 2)) * -1 - t2new.aaaa += tmp45.transpose((1, 0, 2, 3)) * -1 - t2new.aaaa += tmp45.transpose((1, 0, 3, 2)) - tmp125 = v.aaaa.ooov.transpose((1, 0, 2, 3)).copy() * -1 - tmp125 += v.aaaa.ooov.transpose((2, 1, 0, 3)) - tmp143 = v.bbaa.ovvv.transpose((0, 3, 2, 1)).copy() - tmp143 += einsum(t1.aa, (0, 1), v.aabb.ovov, (0, 2, 3, 4), (3, 1, 2, 4), optimize=True) * -1 - tmp9 = f.aa.ov.copy() - tmp9 += tmp0 - del tmp0 - tmp9 += tmp8 * -1 - del tmp8 - t1new.bb += einsum(tmp9, (0, 1), t2.abab, (0, 2, 1, 3), (2, 3), optimize=True) - t1new.aa += einsum(t2.aaaa, (0, 1, 2, 3), tmp9, (0, 2), (1, 3), optimize=True) * 2 - tmp84 = einsum(t1.aa, (0, 1), tmp3, (2, 0, 3, 4), (2, 3, 1, 4), optimize=True) - t2new.abab += tmp84 * -1 - tmp78 = einsum(v.bbaa.ovvv, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 2, 1), optimize=True) - tmp127 = v.aabb.ovoo.transpose((0, 3, 2, 1)).copy() - tmp127 += tmp28 - tmp137 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 4, 1, 5), (4, 2, 5, 3), optimize=True) - t2new.bbbb += tmp137 - t2new.bbbb += tmp137.transpose((0, 1, 3, 2)) * -1 - t2new.bbbb += tmp137.transpose((1, 0, 2, 3)) * -1 - t2new.bbbb += tmp137.transpose((1, 0, 3, 2)) - tmp146 = tmp26.copy() - tmp146 += tmp26.transpose((0, 2, 1, 3)) * -1 - tmp145 = v.bbbb.ovvv.transpose((0, 1, 3, 2)).copy() - tmp145 += v.bbbb.ovvv.transpose((0, 3, 2, 1)) * -1 - tmp133 = tmp1.copy() * -1 - tmp133 += tmp1.transpose((0, 2, 1, 3)) - tmp75 = einsum(t1.aa, (0, 1), tmp74, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) - del tmp74 - tmp82 = t2.aaaa.transpose((1, 0, 3, 2)).copy() - tmp82 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 3, 1), optimize=True) * -1 - tmp93 = einsum(t1.aa, (0, 1), tmp89, (2, 3, 0, 4), (3, 2, 4, 1), optimize=True) - tmp42 = einsum(t1.aa, (0, 1), v.aaaa.oooo, (2, 3, 0, 4), (2, 3, 4, 1), optimize=True) - t2new.aaaa += einsum(t1.aa, (0, 1), tmp42, (2, 0, 3, 4), (3, 2, 4, 1), optimize=True) - tmp95 = einsum(t1.aa, (0, 1), tmp73, (2, 3, 1, 4), (0, 2, 3, 4), optimize=True) - del tmp73 - tmp86 = v.aaaa.ooov.transpose((1, 0, 2, 3)).copy() * -1 - tmp86 += v.aaaa.ooov.transpose((2, 1, 0, 3)) - tmp4 = v.aabb.ooov.transpose((1, 0, 2, 3)).copy() - tmp4 += tmp3.transpose((1, 0, 2, 3)) - t1new.aa += einsum(tmp4, (0, 1, 2, 3), t2.abab, (0, 2, 4, 3), (1, 4), optimize=True) * -1 - tmp91 = einsum(t1.aa, (0, 1), v.aaaa.vvvv, (2, 1, 3, 4), (0, 3, 4, 2), optimize=True) - tmp53 = tmp51.copy() * 2 - tmp53 += tmp52 * -1 - tmp68 = tmp66.transpose((0, 2, 1, 3)).copy() - tmp68 += tmp67.transpose((0, 2, 1, 3)) * -1 - tmp62 = f.aa.vv.transpose((1, 0)).copy() * -1 - tmp62 += tmp56.transpose((1, 0)) * -1 - del tmp56 - tmp62 += tmp57.transpose((1, 0)) - del tmp57 - tmp62 += tmp58.transpose((1, 0)) * 0.5 - del tmp58 - tmp62 += tmp60 * -1 - del tmp60 - tmp62 += tmp61.transpose((1, 0)) - del tmp61 - t2new.abab += einsum(tmp62, (0, 1), t2.abab, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) * -1 - tmp97 = v.aaaa.ovvv.transpose((0, 1, 3, 2)).copy() - tmp97 += einsum(v.aaaa.ovov, (0, 1, 2, 3), t1.aa, (2, 4), (0, 3, 1, 4), optimize=True) - tmp104 = tmp101.transpose((0, 1, 3, 2)).copy() * -1 - del tmp101 - tmp104 += tmp103 * -1 - del tmp103 - tmp49 = v.aaaa.oovv.transpose((1, 0, 3, 2)).copy() * -1 - tmp49 += tmp47 - tmp49 += tmp48 * -1 - del tmp48 - tmp76 = v.aaaa.ooov.transpose((1, 0, 2, 3)).copy() - tmp76 += v.aaaa.ooov.transpose((1, 2, 0, 3)) * -1 - tmp76 += tmp1 * -1 - tmp76 += tmp1.transpose((0, 2, 1, 3)) - tmp43 = f.aa.oo.transpose((1, 0)).copy() - tmp43 += tmp15.transpose((1, 0)) - tmp43 += tmp16.transpose((1, 0)) - tmp43 += tmp17.transpose((1, 0)) * 0.5 - tmp43 += tmp19.transpose((1, 0)) * -1 - t2new.abab += einsum(tmp43, (0, 1), t2.abab, (0, 2, 3, 4), (1, 2, 3, 4), optimize=True) * -1 - tmp23 = einsum(t1.aa, (0, 1), tmp22, (2, 1), (0, 2), optimize=True) - del tmp22 - t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp23, (4, 0), (1, 4, 3, 2), optimize=True) * -2 - tmp120 = einsum(tmp38, (0, 1), t1.bb, (2, 1), (2, 0), optimize=True) - t2new.bbbb += einsum(tmp120, (0, 1), t2.bbbb, (1, 2, 3, 4), (2, 0, 4, 3), optimize=True) * -2 - t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp120, (4, 1), (0, 4, 2, 3), optimize=True) * -1 - del tmp120 - tmp158 = einsum(tmp157, (0, 1), t2.bbbb, (0, 2, 3, 4), (2, 1, 3, 4), optimize=True) * 2 - del tmp157 - t2new.bbbb += tmp158.transpose((1, 0, 3, 2)) - t2new.bbbb += tmp158.transpose((0, 1, 3, 2)) * -1 - del tmp158 - tmp172 = einsum(tmp169, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 4, 3), optimize=True) - del tmp169 - t2new.bbbb += tmp172.transpose((0, 1, 3, 2)) - t2new.bbbb += tmp172 * -1 - del tmp172 - tmp185 = tmp124.copy() - tmp185 += tmp111 * 0.5 - tmp185 += tmp148 * -1 - t2new.bbbb += einsum(tmp185, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) - del tmp185 - tmp154 = einsum(v.bbbb.oooo, (0, 1, 2, 3), t2.bbbb, (1, 2, 4, 5), (0, 3, 4, 5), optimize=True) - t2new.bbbb += tmp154.transpose((1, 0, 3, 2)) - t2new.bbbb += tmp154.transpose((1, 0, 3, 2)) - del tmp154 - tmp200 = einsum(t1.bb, (0, 1), tmp26, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) - t2new.bbbb += tmp200 * -1 - t2new.bbbb += tmp200.transpose((1, 0, 2, 3)) - del tmp200 - tmp207 = tmp124.copy() * -1 - tmp207 += tmp148 - t2new.bbbb += einsum(tmp207, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) * -1 - del tmp207 - tmp187 = v.bbbb.oovv.transpose((1, 0, 3, 2)).copy() - tmp187 += einsum(tmp186, (0, 1, 2, 3), t1.bb, (0, 4), (2, 1, 4, 3), optimize=True) * -1 - del tmp186 - t2new.bbbb += einsum(t2.bbbb, (0, 1, 2, 3), tmp187, (0, 4, 5, 2), (1, 4, 3, 5), optimize=True) * -2 - del tmp187 - tmp165 = einsum(t2.bbbb, (0, 1, 2, 3), tmp119, (2, 4), (0, 1, 3, 4), optimize=True) * 2 - del tmp119 - t2new.bbbb += tmp165.transpose((1, 0, 2, 3)) * -1 - t2new.bbbb += tmp165.transpose((1, 0, 3, 2)) - del tmp165 - tmp173 = einsum(tmp168, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 4, 3), optimize=True) - del tmp168 - t2new.bbbb += tmp173.transpose((0, 1, 3, 2)) * -1 - t2new.bbbb += tmp173 - del tmp173 - tmp163 = tmp141.copy() * 2 - tmp163 += tmp111 * -1 - t2new.bbbb += einsum(tmp163, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) * -0.5 - del tmp163 - tmp199 = v.bbbb.vvvv.transpose((2, 3, 1, 0)).copy() * -1 - tmp199 += einsum(t1.bb, (0, 1), tmp198, (0, 2, 3, 4), (2, 1, 4, 3), optimize=True) - del tmp198 - t2new.bbbb += einsum(tmp199, (0, 1, 2, 3), t2.bbbb, (4, 5, 0, 3), (5, 4, 2, 1), optimize=True) * -2 - del tmp199 - tmp167 = einsum(tmp166, (0, 1, 2, 3), t2.bbbb, (3, 2, 4, 5), (0, 1, 4, 5), optimize=True) * -1 - del tmp166 - t2new.bbbb += tmp167.transpose((0, 1, 3, 2)) * 2 - t2new.bbbb += tmp167.transpose((1, 0, 3, 2)) * -2 - del tmp167 - tmp174 = einsum(tmp13, (0, 1), t1.bb, (2, 1), (2, 0), optimize=True) - del tmp13 - t2new.bbbb += einsum(tmp174, (0, 1), t2.bbbb, (1, 2, 3, 4), (0, 2, 4, 3), optimize=True) * 2 - del tmp174 - tmp164 = v.bbbb.ooov.transpose((1, 0, 2, 3)).copy() - tmp164 += tmp155.transpose((1, 0, 2, 3)) * -1 - del tmp155 - t2new.bbbb += einsum(tmp164, (0, 1, 2, 3), t1.bb, (0, 4), (1, 2, 3, 4), optimize=True) - del tmp164 - tmp180 = tmp124.copy() * -1 - tmp180 += tmp111 * -0.5 - tmp180 += einsum(tmp29, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 3, 4), optimize=True) - del tmp29 - t2new.bbbb += einsum(tmp180, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (4, 1, 3, 5), optimize=True) - del tmp180 - tmp162 = einsum(t2.bbbb, (0, 1, 2, 3), tmp161, (4, 0, 5, 2), (1, 4, 3, 5), optimize=True) * 2 - del tmp161 - t2new.bbbb += tmp162.transpose((1, 0, 2, 3)) * -1 - t2new.bbbb += tmp162.transpose((1, 0, 3, 2)) - del tmp162 - tmp195 = einsum(t1.bb, (0, 1), tmp194, (2, 3, 1, 4), (0, 2, 3, 4), optimize=True) - del tmp194 - t2new.bbbb += tmp195.transpose((0, 1, 3, 2)) * -1 - t2new.bbbb += tmp195 - del tmp195 - tmp197 = einsum(tmp196, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 4, 3), optimize=True) - del tmp196 - t2new.bbbb += tmp197.transpose((1, 0, 2, 3)) - t2new.bbbb += tmp197 * -1 - t2new.bbbb += tmp197.transpose((1, 0, 3, 2)) * -1 - t2new.bbbb += tmp197.transpose((0, 1, 3, 2)) - del tmp197 - tmp159 = einsum(tmp112, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) - t2new.bbbb += tmp159.transpose((1, 0, 2, 3)) * -1 - t2new.bbbb += tmp159.transpose((0, 1, 3, 2)) * -1 - t2new.bbbb += tmp159.transpose((1, 0, 3, 2)) - t2new.bbbb += tmp159 - t2new.bbbb += tmp159.transpose((1, 0, 2, 3)) * -1 - t2new.bbbb += tmp159.transpose((0, 1, 3, 2)) * -1 - t2new.bbbb += tmp159.transpose((1, 0, 3, 2)) - t2new.bbbb += tmp159 - del tmp159 - tmp184 = einsum(tmp26, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 4, 3), optimize=True) - tmp184 += tmp177.transpose((0, 1, 3, 2)) * -1 - tmp184 += einsum(tmp183, (0, 1, 2, 3), v.bbbb.ovov, (0, 2, 4, 5), (1, 4, 3, 5), optimize=True) - del tmp183 - t2new.bbbb += einsum(t2.bbbb, (0, 1, 2, 3), tmp184, (4, 0, 5, 2), (4, 1, 5, 3), optimize=True) * 2 - del tmp184 - tmp149 = tmp124.copy() - tmp149 += tmp148 * -1 - del tmp148 - t2new.bbbb += einsum(t2.abab, (0, 1, 2, 3), tmp149, (0, 4, 2, 5), (4, 1, 3, 5), optimize=True) * -1 - t2new.abab += einsum(t2.aaaa, (0, 1, 2, 3), tmp149, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) * 2 - del tmp149 - tmp181 = v.bbbb.ooov.transpose((1, 0, 2, 3)).copy() - tmp181 += tmp26.transpose((2, 0, 1, 3)) - t2new.bbbb += einsum(tmp181, (0, 1, 2, 3), t1.bb, (0, 4), (2, 1, 3, 4), optimize=True) * -1 - del tmp181 - tmp171 = einsum(tmp170, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 4, 3), optimize=True) - del tmp170 - t2new.bbbb += tmp171.transpose((1, 0, 3, 2)) - t2new.bbbb += tmp171.transpose((1, 0, 2, 3)) * -1 - del tmp171 - tmp191 = einsum(tmp190, (0, 1, 2, 3), t2.bbbb, (2, 3, 4, 5), (1, 0, 4, 5), optimize=True) * -1 - del tmp190 - t2new.bbbb += tmp191.transpose((0, 1, 3, 2)) * -1 - t2new.bbbb += tmp191.transpose((0, 1, 3, 2)) * -1 - del tmp191 - tmp189 = tmp141.copy() - tmp189 += tmp111 * -0.5 - t2new.bbbb += einsum(t2.abab, (0, 1, 2, 3), tmp189, (0, 4, 2, 5), (4, 1, 3, 5), optimize=True) - del tmp189 - tmp188 = tmp26.copy() - tmp188 += einsum(v.aabb.ovoo, (0, 1, 2, 3), t2.abab, (0, 4, 1, 5), (4, 3, 2, 5), optimize=True) * -1 - t2new.bbbb += einsum(tmp188, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 3, 4), optimize=True) - del tmp188 - tmp179 = v.bbbb.oovv.transpose((1, 0, 3, 2)).copy() * -1 - tmp179 += tmp138 - tmp179 += tmp177.transpose((0, 1, 3, 2)) * -1 - del tmp177 - tmp179 += einsum(tmp178, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 4, 3), optimize=True) * -1 - del tmp178 - t2new.bbbb += einsum(tmp179, (0, 1, 2, 3), t2.bbbb, (1, 4, 3, 5), (4, 0, 2, 5), optimize=True) * -2 - del tmp179 - tmp182 = einsum(v.bbbb.ooov, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 4, 3), optimize=True) - t2new.bbbb += tmp182 * -1 - t2new.bbbb += tmp182.transpose((1, 0, 2, 3)) - del tmp182 - tmp193 = einsum(t1.bb, (0, 1), tmp192, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) - del tmp192 - t2new.bbbb += tmp193.transpose((0, 1, 3, 2)) * -1 - t2new.bbbb += tmp193 - del tmp193 - tmp208 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovvv, (4, 2, 5, 3), (0, 1, 4, 5), optimize=True) - t2new.bbbb += einsum(tmp208, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 4, 3), optimize=True) * -2 - del tmp208 - tmp206 = einsum(t2.bbbb, (0, 1, 2, 3), tmp205, (4, 0, 5, 2), (1, 4, 3, 5), optimize=True) - del tmp205 - t2new.bbbb += tmp206.transpose((1, 0, 2, 3)) * 2 - t2new.bbbb += tmp206 * -2 - del tmp206 - tmp126 = v.aaaa.oovv.transpose((1, 0, 3, 2)).copy() * -1 - tmp126 += tmp47.transpose((1, 0, 3, 2)) - tmp126 += tmp45.transpose((1, 0, 3, 2)) * 0.5 - tmp126 += einsum(t1.aa, (0, 1), tmp125, (0, 2, 3, 4), (3, 2, 4, 1), optimize=True) - del tmp125 - t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp126, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) - del tmp126 - tmp144 = v.aabb.vvvv.transpose((1, 0, 3, 2)).copy() - tmp144 += einsum(t1.bb, (0, 1), tmp143, (0, 2, 3, 4), (3, 2, 4, 1), optimize=True) * -1 - del tmp143 - t2new.abab += einsum(tmp144, (0, 1, 2, 3), t2.abab, (4, 5, 0, 2), (4, 5, 1, 3), optimize=True) - del tmp144 - tmp72 = einsum(t1.aa, (0, 1), tmp9, (2, 1), (0, 2), optimize=True) - del tmp9 - t2new.abab += einsum(tmp72, (0, 1), t2.abab, (1, 2, 3, 4), (0, 2, 3, 4), optimize=True) * -1 - t2new.aaaa += einsum(tmp72, (0, 1), t2.aaaa, (1, 2, 3, 4), (0, 2, 4, 3), optimize=True) * 2 - del tmp72 - tmp107 = tmp78.copy() - tmp107 += tmp84 * -1 - t2new.aaaa += einsum(tmp107, (0, 1, 2, 3), t2.abab, (4, 1, 5, 3), (0, 4, 5, 2), optimize=True) * -1 - tmp128 = v.bbaa.oovv.transpose((1, 0, 3, 2)).copy() - tmp128 += einsum(v.bbaa.ovvv, (0, 1, 2, 3), t1.bb, (4, 1), (0, 4, 3, 2), optimize=True) - tmp128 += einsum(t1.aa, (0, 1), tmp127, (0, 2, 3, 4), (3, 2, 4, 1), optimize=True) * -1 - del tmp127 - t2new.abab += einsum(tmp128, (0, 1, 2, 3), t2.abab, (4, 0, 2, 5), (4, 1, 3, 5), optimize=True) * -1 - del tmp128 - tmp109 = f.bb.oo.transpose((1, 0)).copy() * 2 - tmp109 += tmp32.transpose((1, 0)) * 2 - tmp109 += tmp33.transpose((1, 0)) - tmp109 += tmp34.transpose((1, 0)) * 2 - tmp109 += einsum(tmp35, (0, 1, 2, 3), t1.bb, (2, 3), (1, 0), optimize=True) * -2 - t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp109, (1, 4), (0, 4, 2, 3), optimize=True) * -0.5 - del tmp109 - tmp122 = einsum(t1.aa, (0, 1), v.bbaa.oovv, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) - t2new.abab += einsum(tmp122, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 3, 4), optimize=True) * -1 - del tmp122 - tmp123 = einsum(t1.aa, (0, 1), v.aabb.ovoo, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) - tmp131 = v.aabb.oovv.transpose((1, 0, 3, 2)).copy() - tmp131 += einsum(t1.bb, (0, 1), v.aabb.ooov, (2, 3, 0, 4), (3, 2, 4, 1), optimize=True) * -1 - t2new.abab += einsum(tmp131, (0, 1, 2, 3), t2.abab, (0, 4, 5, 2), (1, 4, 5, 3), optimize=True) * -1 - del tmp131 - tmp110 = t2.abab.copy() - tmp110 += einsum(t1.aa, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3), optimize=True) * 2 - t2new.abab += einsum(tmp110, (0, 1, 2, 3), v.aabb.oooo, (0, 4, 1, 5), (4, 5, 2, 3), optimize=True) * 0.5 - del tmp110 - tmp153 = einsum(t1.aa, (0, 1), tmp124, (2, 3, 1, 4), (0, 2, 3, 4), optimize=True) - del tmp124 - t2new.abab += einsum(tmp153, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 4, 3), optimize=True) * -1 - del tmp153 - tmp136 = v.bbaa.ovvv.transpose((0, 3, 2, 1)).copy() - tmp136 += einsum(v.aabb.vvvv, (0, 1, 2, 3), t1.bb, (4, 3), (4, 1, 0, 2), optimize=True) - t2new.abab += einsum(t1.aa, (0, 1), tmp136, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) - del tmp136 - tmp135 = t2.bbbb.transpose((1, 0, 3, 2)).copy() * 2 - tmp135 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1), optimize=True) * -1 - t2new.abab += einsum(tmp107, (0, 1, 2, 3), tmp135, (1, 4, 3, 5), (0, 4, 2, 5), optimize=True) - del tmp107, tmp135 - tmp132 = einsum(t1.aa, (0, 1), tmp28, (2, 3, 4, 1), (0, 2, 3, 4), optimize=True) - t2new.abab += einsum(tmp132, (0, 1, 2, 3), t2.abab, (1, 3, 4, 5), (0, 2, 4, 5), optimize=True) - del tmp132 - tmp151 = einsum(v.aabb.ovvv, (0, 1, 2, 3), t2.abab, (4, 5, 1, 3), (4, 0, 5, 2), optimize=True) - t2new.abab += einsum(tmp151, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 4, 3), optimize=True) * -1 - del tmp151 - tmp129 = tmp51.copy() * -1 - del tmp51 - tmp129 += einsum(v.aabb.ovov, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 1), (4, 2, 5, 3), optimize=True) - tmp129 += tmp52 * 0.5 - t2new.abab += einsum(t2.bbbb, (0, 1, 2, 3), tmp129, (4, 0, 5, 2), (4, 1, 5, 3), optimize=True) * 2 - del tmp129 - tmp140 = v.bbbb.ovov.transpose((2, 0, 3, 1)).copy() - tmp140 += v.bbbb.oovv.transpose((1, 0, 3, 2)) * -1 - tmp140 += tmp137.transpose((1, 0, 3, 2)) * 0.5 - del tmp137 - tmp140 += tmp138.transpose((1, 0, 3, 2)) - del tmp138 - tmp140 += einsum(t1.bb, (0, 1), tmp139, (0, 2, 3, 4), (3, 2, 4, 1), optimize=True) - del tmp139 - t2new.abab += einsum(tmp140, (0, 1, 2, 3), t2.abab, (4, 0, 5, 2), (4, 1, 5, 3), optimize=True) - del tmp140 - tmp6 = t2.abab.copy() - tmp6 += einsum(t1.aa, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3), optimize=True) - t2new.abab += einsum(tmp123, (0, 1, 2, 3), tmp6, (1, 2, 4, 5), (0, 3, 4, 5), optimize=True) - del tmp123 - t1new.bb += einsum(v.aabb.ovvv, (0, 1, 2, 3), tmp6, (0, 4, 1, 2), (4, 3), optimize=True) - t1new.aa += einsum(v.bbaa.ovvv, (0, 1, 2, 3), tmp6, (4, 0, 2, 1), (4, 3), optimize=True) - tmp142 = v.aabb.ovov.transpose((0, 2, 1, 3)).copy() * 2 - tmp142 += tmp141 * -2 - del tmp141 - tmp142 += tmp111 - del tmp111 - tmp142 += tmp112 * 2 - del tmp112 - t2new.abab += einsum(t2.aaaa, (0, 1, 2, 3), tmp142, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) - del tmp142 - tmp121 = einsum(v.aabb.ooov, (0, 1, 2, 3), t1.bb, (4, 3), (0, 1, 4, 2), optimize=True) - t2new.abab += einsum(tmp6, (0, 1, 2, 3), tmp121, (0, 4, 5, 1), (4, 5, 2, 3), optimize=True) - del tmp6, tmp121 - tmp152 = einsum(t1.bb, (0, 1), v.aabb.oovv, (2, 3, 4, 1), (2, 3, 0, 4), optimize=True) - t2new.abab += einsum(t1.aa, (0, 1), tmp152, (2, 0, 3, 4), (2, 3, 1, 4), optimize=True) * -1 - del tmp152 - tmp130 = v.aabb.ovoo.transpose((0, 3, 2, 1)).copy() - tmp130 += tmp28.transpose((0, 2, 1, 3)) - del tmp28 - t2new.abab += einsum(tmp130, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 3, 4), optimize=True) * -1 - del tmp130 - tmp147 = einsum(tmp145, (0, 1, 2, 3), t1.bb, (4, 1), (4, 0, 3, 2), optimize=True) * -1 - del tmp145 - tmp147 += einsum(t1.bb, (0, 1), tmp146, (2, 0, 3, 4), (2, 3, 4, 1), optimize=True) - del tmp146 - t2new.abab += einsum(tmp147, (0, 1, 2, 3), t2.abab, (4, 1, 5, 2), (4, 0, 5, 3), optimize=True) - del tmp147 - tmp134 = einsum(t1.aa, (0, 1), tmp100, (2, 3, 1, 4), (0, 2, 3, 4), optimize=True) * -1 - del tmp100 - tmp134 += einsum(tmp133, (0, 1, 2, 3), t1.aa, (2, 4), (0, 1, 3, 4), optimize=True) - del tmp133 - t2new.abab += einsum(tmp134, (0, 1, 2, 3), t2.abab, (1, 4, 2, 5), (0, 4, 3, 5), optimize=True) - del tmp134 - tmp150 = einsum(t1.aa, (0, 1), v.aabb.ovvv, (2, 1, 3, 4), (0, 2, 4, 3), optimize=True) - tmp150 += einsum(t1.bb, (0, 1), tmp3, (2, 3, 0, 4), (2, 3, 4, 1), optimize=True) * -1 - del tmp3 - t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp150, (4, 0, 3, 5), (4, 1, 2, 5), optimize=True) * -1 - del tmp150 - tmp83 = einsum(t1.aa, (0, 1), tmp1, (2, 0, 3, 4), (2, 3, 1, 4), optimize=True) - tmp83 += tmp75.transpose((0, 1, 3, 2)) * -1 - tmp83 += einsum(v.aaaa.ovov, (0, 1, 2, 3), tmp82, (0, 4, 1, 5), (4, 2, 5, 3), optimize=True) - del tmp82 - t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp83, (4, 0, 5, 2), (4, 1, 5, 3), optimize=True) * 2 - del tmp83 - tmp80 = v.aaaa.ooov.transpose((1, 0, 2, 3)).copy() - tmp80 += tmp1.transpose((2, 0, 1, 3)) - t2new.aaaa += einsum(tmp80, (0, 1, 2, 3), t1.aa, (0, 4), (2, 1, 3, 4), optimize=True) * -1 - del tmp80 - tmp88 = tmp1.copy() - tmp88 += einsum(v.aabb.ooov, (0, 1, 2, 3), t2.abab, (4, 2, 5, 3), (4, 1, 0, 5), optimize=True) * -1 - t2new.aaaa += einsum(tmp88, (0, 1, 2, 3), t1.aa, (2, 4), (0, 1, 3, 4), optimize=True) - del tmp88 - tmp106 = tmp78.copy() * -1 - tmp106 += tmp84 - t2new.aaaa += einsum(tmp106, (0, 1, 2, 3), t2.abab, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) * -1 - del tmp106 - tmp99 = einsum(t1.aa, (0, 1), tmp1, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) - t2new.aaaa += tmp99 * -1 - t2new.aaaa += tmp99.transpose((1, 0, 2, 3)) - del tmp99 - tmp94 = einsum(t1.aa, (0, 1), tmp93, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) - del tmp93 - t2new.aaaa += tmp94.transpose((0, 1, 3, 2)) * -1 - t2new.aaaa += tmp94 - del tmp94 - tmp55 = v.aaaa.ooov.transpose((1, 0, 2, 3)).copy() - tmp55 += tmp42.transpose((1, 0, 2, 3)) * -1 - del tmp42 - t2new.aaaa += einsum(t1.aa, (0, 1), tmp55, (0, 2, 3, 4), (2, 3, 4, 1), optimize=True) - del tmp55 - tmp96 = einsum(t1.aa, (0, 1), tmp95, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) - del tmp95 - t2new.aaaa += tmp96.transpose((1, 0, 2, 3)) - t2new.aaaa += tmp96 * -1 - t2new.aaaa += tmp96.transpose((1, 0, 3, 2)) * -1 - t2new.aaaa += tmp96.transpose((0, 1, 3, 2)) - del tmp96 - tmp87 = v.aaaa.oovv.transpose((1, 0, 3, 2)).copy() - tmp87 += einsum(t1.aa, (0, 1), tmp86, (0, 2, 3, 4), (3, 2, 1, 4), optimize=True) * -1 - del tmp86 - t2new.aaaa += einsum(tmp87, (0, 1, 2, 3), t2.aaaa, (0, 4, 3, 5), (4, 1, 5, 2), optimize=True) * -2 - del tmp87 - tmp85 = tmp78.copy() - tmp85 += tmp84 * -1 - del tmp84 - tmp85 += tmp52 * 0.5 - t2new.aaaa += einsum(t2.abab, (0, 1, 2, 3), tmp85, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) - del tmp85 - tmp79 = tmp78.copy() * -1 - del tmp78 - tmp79 += tmp52 * -0.5 - del tmp52 - tmp79 += einsum(tmp4, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3), optimize=True) - del tmp4 - t2new.aaaa += einsum(tmp79, (0, 1, 2, 3), t2.abab, (4, 1, 5, 3), (4, 0, 2, 5), optimize=True) - del tmp79 - tmp65 = einsum(tmp64, (0, 1, 2, 3), t2.aaaa, (3, 2, 4, 5), (0, 1, 4, 5), optimize=True) * -1 - del tmp64 - t2new.aaaa += tmp65.transpose((0, 1, 3, 2)) * 2 - t2new.aaaa += tmp65.transpose((1, 0, 3, 2)) * -2 - del tmp65 - tmp92 = einsum(t1.aa, (0, 1), tmp91, (2, 3, 1, 4), (0, 2, 3, 4), optimize=True) - del tmp91 - t2new.aaaa += tmp92.transpose((0, 1, 3, 2)) * -1 - t2new.aaaa += tmp92 - del tmp92 - tmp54 = einsum(tmp53, (0, 1, 2, 3), t2.abab, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) * 0.5 - del tmp53 - t2new.aaaa += tmp54.transpose((1, 0, 2, 3)) - t2new.aaaa += tmp54.transpose((1, 0, 3, 2)) * -1 - del tmp54 - tmp46 = einsum(tmp45, (0, 1, 2, 3), t2.aaaa, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) - del tmp45 - t2new.aaaa += tmp46.transpose((1, 0, 2, 3)) * -1 - t2new.aaaa += tmp46.transpose((0, 1, 3, 2)) * -1 - t2new.aaaa += tmp46.transpose((1, 0, 3, 2)) - t2new.aaaa += tmp46 - t2new.aaaa += tmp46.transpose((1, 0, 2, 3)) * -1 - t2new.aaaa += tmp46.transpose((0, 1, 3, 2)) * -1 - t2new.aaaa += tmp46.transpose((1, 0, 3, 2)) - t2new.aaaa += tmp46 - del tmp46 - tmp69 = einsum(t1.aa, (0, 1), tmp68, (2, 0, 3, 4), (2, 3, 1, 4), optimize=True) - del tmp68 - t2new.aaaa += tmp69.transpose((1, 0, 3, 2)) - t2new.aaaa += tmp69.transpose((1, 0, 2, 3)) * -1 - del tmp69 - tmp81 = einsum(t1.aa, (0, 1), v.aaaa.ooov, (2, 0, 3, 4), (2, 3, 1, 4), optimize=True) - t2new.aaaa += tmp81 * -1 - t2new.aaaa += tmp81.transpose((1, 0, 2, 3)) - del tmp81 - tmp41 = einsum(v.aaaa.oooo, (0, 1, 2, 3), t2.aaaa, (1, 2, 4, 5), (0, 3, 4, 5), optimize=True) - t2new.aaaa += tmp41.transpose((1, 0, 3, 2)) - t2new.aaaa += tmp41.transpose((1, 0, 3, 2)) - del tmp41 - tmp63 = einsum(t2.aaaa, (0, 1, 2, 3), tmp62, (2, 4), (0, 1, 3, 4), optimize=True) * 2 - del tmp62 - t2new.aaaa += tmp63.transpose((1, 0, 2, 3)) * -1 - t2new.aaaa += tmp63.transpose((1, 0, 3, 2)) - del tmp63 - tmp98 = v.aaaa.vvvv.transpose((2, 3, 1, 0)).copy() * -1 - tmp98 += einsum(t1.aa, (0, 1), tmp97, (0, 2, 3, 4), (2, 1, 4, 3), optimize=True) - del tmp97 - t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp98, (2, 4, 5, 3), (1, 0, 5, 4), optimize=True) * -2 - del tmp98 - tmp90 = einsum(tmp89, (0, 1, 2, 3), t2.aaaa, (2, 3, 4, 5), (1, 0, 4, 5), optimize=True) * -1 - del tmp89 - t2new.aaaa += tmp90.transpose((0, 1, 3, 2)) * -1 - t2new.aaaa += tmp90.transpose((0, 1, 3, 2)) * -1 - del tmp90 - tmp70 = einsum(t1.aa, (0, 1), tmp67, (2, 0, 3, 4), (2, 3, 1, 4), optimize=True) - del tmp67 - t2new.aaaa += tmp70.transpose((0, 1, 3, 2)) - t2new.aaaa += tmp70 * -1 - del tmp70 - tmp105 = einsum(t2.aaaa, (0, 1, 2, 3), tmp104, (4, 0, 5, 2), (1, 4, 3, 5), optimize=True) - del tmp104 - t2new.aaaa += tmp105.transpose((1, 0, 2, 3)) * 2 - t2new.aaaa += tmp105 * -2 - del tmp105 - tmp71 = einsum(t1.aa, (0, 1), tmp66, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) - del tmp66 - t2new.aaaa += tmp71.transpose((0, 1, 3, 2)) * -1 - t2new.aaaa += tmp71 - del tmp71 - tmp50 = einsum(tmp49, (0, 1, 2, 3), t2.aaaa, (1, 4, 3, 5), (4, 0, 5, 2), optimize=True) * 2 - del tmp49 - t2new.aaaa += tmp50.transpose((1, 0, 2, 3)) * -1 - t2new.aaaa += tmp50.transpose((1, 0, 3, 2)) - del tmp50 - tmp77 = v.aaaa.oovv.transpose((1, 0, 3, 2)).copy() * -1 - tmp77 += tmp47 - del tmp47 - tmp77 += tmp75.transpose((0, 1, 3, 2)) * -1 - del tmp75 - tmp77 += einsum(t1.aa, (0, 1), tmp76, (2, 0, 3, 4), (2, 3, 1, 4), optimize=True) * -1 - del tmp76 - t2new.aaaa += einsum(tmp77, (0, 1, 2, 3), t2.aaaa, (1, 4, 3, 5), (4, 0, 2, 5), optimize=True) * -2 - del tmp77 - tmp44 = einsum(tmp43, (0, 1), t2.aaaa, (0, 2, 3, 4), (2, 1, 3, 4), optimize=True) * 2 - del tmp43 - t2new.aaaa += tmp44.transpose((1, 0, 3, 2)) - t2new.aaaa += tmp44.transpose((0, 1, 3, 2)) * -1 - del tmp44 - tmp108 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovvv, (4, 2, 5, 3), (0, 1, 4, 5), optimize=True) - t2new.aaaa += einsum(t1.aa, (0, 1), tmp108, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) * -2 - del tmp108 - tmp30 = t2.bbbb.transpose((1, 0, 3, 2)).copy() * 2 - tmp30 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (2, 0, 3, 1), optimize=True) - t1new.bb += einsum(v.bbbb.ovvv, (0, 1, 2, 3), tmp30, (0, 4, 1, 2), (4, 3), optimize=True) - del tmp30 - tmp39 = f.bb.oo.transpose((1, 0)).copy() * 0.5 - tmp39 += tmp32.transpose((1, 0)) * 0.5 - del tmp32 - tmp39 += tmp33.transpose((1, 0)) * 0.5 - del tmp33 - tmp39 += tmp34.transpose((1, 0)) - del tmp34 - tmp39 += einsum(tmp35, (0, 1, 2, 3), t1.bb, (2, 3), (1, 0), optimize=True) * -0.5 - del tmp35 - tmp39 += einsum(tmp38, (0, 1), t1.bb, (2, 1), (0, 2), optimize=True) * 0.5 - del tmp38 - t1new.bb += einsum(tmp39, (0, 1), t1.bb, (0, 2), (1, 2), optimize=True) * -2 - del tmp39 - tmp27 = v.bbbb.ooov.transpose((1, 2, 0, 3)).copy() - tmp27 += tmp26 - del tmp26 - t1new.bb += einsum(t2.bbbb, (0, 1, 2, 3), tmp27, (4, 1, 0, 2), (4, 3), optimize=True) * 2 - del tmp27 - tmp40 = f.bb.vv.transpose((1, 0)).copy() - tmp40 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), t1.bb, (0, 3), (1, 2), optimize=True) * -1 - t1new.bb += einsum(t1.bb, (0, 1), tmp40, (1, 2), (0, 2), optimize=True) - del tmp40 - tmp31 = v.bbbb.ovov.transpose((2, 0, 3, 1)).copy() - tmp31 += v.bbbb.oovv.transpose((1, 0, 3, 2)) * -1 - t1new.bb += einsum(tmp31, (0, 1, 2, 3), t1.bb, (0, 2), (1, 3), optimize=True) - del tmp31 - tmp24 = f.aa.oo.transpose((1, 0)).copy() - tmp24 += tmp15.transpose((1, 0)) - del tmp15 - tmp24 += tmp16.transpose((1, 0)) * 2 - del tmp16 - tmp24 += tmp17.transpose((1, 0)) - del tmp17 - tmp24 += tmp19.transpose((1, 0)) * -1 - del tmp19 - tmp24 += tmp23.transpose((1, 0)) - del tmp23 - t1new.aa += einsum(tmp24, (0, 1), t1.aa, (0, 2), (1, 2), optimize=True) * -1 - del tmp24 - tmp25 = f.aa.vv.transpose((1, 0)).copy() - tmp25 += einsum(t1.aa, (0, 1), v.aaaa.ovvv, (0, 1, 2, 3), (3, 2), optimize=True) - t1new.aa += einsum(t1.aa, (0, 1), tmp25, (1, 2), (0, 2), optimize=True) - del tmp25 - tmp2 = v.aaaa.ooov.transpose((1, 2, 0, 3)).copy() - tmp2 += tmp1 - del tmp1 - t1new.aa += einsum(t2.aaaa, (0, 1, 2, 3), tmp2, (4, 1, 0, 2), (4, 3), optimize=True) * 2 - del tmp2 - tmp14 = v.aaaa.ovov.transpose((2, 0, 3, 1)).copy() - tmp14 += v.aaaa.oovv.transpose((1, 0, 3, 2)) * -1 - t1new.aa += einsum(t1.aa, (0, 1), tmp14, (0, 2, 1, 3), (2, 3), optimize=True) - del tmp14 - tmp5 = t2.aaaa.transpose((1, 0, 3, 2)).copy() * 2 - tmp5 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 1, 3), optimize=True) - t1new.aa += einsum(tmp5, (0, 1, 2, 3), v.aaaa.ovvv, (0, 3, 2, 4), (1, 4), optimize=True) * -1 - del tmp5 - t1new.aa += f.aa.ov - t1new.bb += f.bb.ov - t2new.aaaa += v.aaaa.ovov.transpose((2, 0, 3, 1)) - t2new.aaaa += v.aaaa.ovov.transpose((2, 0, 1, 3)) * -1 - t2new.abab += einsum(t2.abab, (0, 1, 2, 3), v.aabb.oooo, (4, 0, 5, 1), (4, 5, 2, 3), optimize=True) * 0.5 - t2new.abab += v.aabb.ovov.transpose((0, 2, 1, 3)) - t2new.bbbb += v.bbbb.ovov.transpose((2, 0, 3, 1)) - t2new.bbbb += v.bbbb.ovov.transpose((2, 0, 1, 3)) * -1 - - return {f"t1new": t1new, f"t2new": t2new} - diff --git a/ebcc/codegen/UDFCCD.py b/ebcc/codegen/UDFCCD.py deleted file mode 100644 index 119ea890..00000000 --- a/ebcc/codegen/UDFCCD.py +++ /dev/null @@ -1,926 +0,0 @@ -""" -Code generated by `albert`: -https://github.com/obackhouse/albert - - * date: 2024-07-18T20:30:59.078557 - * python version: 3.10.12 (main, Mar 22 2024, 16:50:05) [GCC 11.4.0] - * albert version: 0.0.0 - * caller: /home/ollie/git/albert/albert/codegen/einsum.py - * node: ollie-desktop - * system: Linux - * processor: x86_64 - * release: 6.5.0-44-generic -""" - -from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, direct_sum, Namespace - - -def energy(t2=None, v=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-07-18T20:30:59.475230. - - Parameters - ---------- - t2 : Namespace of arrays - T2 amplitudes. - v : Namespace of arrays - Electron repulsion integrals. - - Returns - ------- - e_cc : float - Coupled cluster energy. - """ - - tmp0 = einsum(t2.aaaa, (0, 1, 2, 3), v.baa.xov, (4, 1, 3), (0, 2, 4), optimize=True) - e_cc = einsum(tmp0, (0, 1, 2), v.baa.xov, (2, 0, 1), (), optimize=True) - del tmp0 - tmp1 = einsum(t2.abab, (0, 1, 2, 3), v.baa.xov, (4, 0, 2), (1, 3, 4), optimize=True) - tmp1 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbb.xov, (4, 1, 3), (0, 2, 4), optimize=True) - e_cc += einsum(v.bbb.xov, (0, 1, 2), tmp1, (1, 2, 0), (), optimize=True) - del tmp1 - - return e_cc - -def update_amps(f=None, t2=None, v=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-07-18T20:31:11.392834. - - Parameters - ---------- - f : Namespace of arrays - Fock matrix. - t2 : Namespace of arrays - T2 amplitudes. - v : Namespace of arrays - Electron repulsion integrals. - - Returns - ------- - t2new : Namespace of arrays - Updated T2 residuals. - """ - - t1new = Namespace() - t2new = Namespace() - tmp31 = einsum(t2.abab, (0, 1, 2, 3), v.baa.xov, (4, 0, 2), (1, 3, 4), optimize=True) - tmp32 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbb.xov, (4, 0, 3), (1, 2, 4), optimize=True) * -1 - tmp4 = einsum(v.bbb.xov, (0, 1, 2), t2.abab, (3, 1, 4, 2), (3, 4, 0), optimize=True) - tmp3 = einsum(t2.aaaa, (0, 1, 2, 3), v.baa.xov, (4, 0, 3), (1, 2, 4), optimize=True) * -1 - tmp15 = einsum(v.bbb.xov, (0, 1, 2), v.bbb.xov, (0, 3, 4), (1, 3, 2, 4), optimize=True) - t2new.bbbb = tmp15.transpose((1, 0, 2, 3)).copy() * -1 - t2new.bbbb += tmp15.transpose((1, 0, 3, 2)) - tmp33 = tmp31.copy() * 0.5 - tmp33 += tmp32 - tmp10 = einsum(v.baa.xov, (0, 1, 2), v.baa.xov, (0, 3, 4), (1, 3, 2, 4), optimize=True) - t2new.aaaa = tmp10.transpose((1, 0, 2, 3)).copy() * -1 - t2new.aaaa += tmp10.transpose((1, 0, 3, 2)) - tmp7 = tmp3.copy() * 2 - tmp7 += tmp4 - tmp5 = tmp3.copy() * 2 - tmp5 += tmp4 - tmp43 = einsum(v.bbb.xvv, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (3, 4, 1, 2), optimize=True) - t2new.abab = einsum(tmp43, (0, 1, 2, 3), t2.abab, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) * -1 - tmp55 = tmp15.transpose((1, 0, 2, 3)).copy() - tmp55 += tmp15.transpose((1, 0, 3, 2)) * -1 - tmp48 = einsum(v.bbb.xoo, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (1, 4, 3, 2), optimize=True) - tmp65 = einsum(tmp33, (0, 1, 2), v.bbb.xov, (2, 3, 1), (0, 3), optimize=True) - tmp59 = v.bbb.xov.transpose((1, 2, 0)).copy() - tmp59 += tmp32 * 2 - tmp61 = v.bbb.xov.transpose((1, 2, 0)).copy() - tmp61 += tmp31 - tmp13 = tmp10.transpose((1, 0, 2, 3)).copy() * -1 - tmp13 += tmp10.transpose((1, 0, 3, 2)) - tmp51 = einsum(tmp33, (0, 1, 2), v.bbb.xov, (2, 0, 3), (1, 3), optimize=True) * 2 - t2new.bbbb += einsum(t2.bbbb, (0, 1, 2, 3), tmp51, (4, 2), (1, 0, 3, 4), optimize=True) * -2 - tmp35 = tmp31.copy() - tmp35 += tmp32 * 2 - t2new.abab += einsum(v.baa.xov, (0, 1, 2), tmp35, (3, 4, 0), (1, 3, 2, 4), optimize=True) - tmp38 = einsum(v.bbb.xov, (0, 1, 2), v.baa.xov, (0, 3, 4), (3, 1, 4, 2), optimize=True) - t2new.abab += tmp38 - tmp12 = einsum(v.baa.xoo, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 2, 3, 4), optimize=True) - tmp8 = einsum(tmp7, (0, 1, 2), v.baa.xov, (2, 3, 4), (3, 0, 4, 1), optimize=True) - t2new.aaaa += tmp8.transpose((1, 0, 3, 2)) - t2new.aaaa += tmp8.transpose((0, 1, 3, 2)) * -1 - t2new.aaaa += tmp8 - tmp19 = einsum(tmp10, (0, 1, 2, 3), t2.aaaa, (4, 1, 5, 2), (4, 0, 5, 3), optimize=True) - tmp29 = einsum(v.baa.xoo, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (1, 2, 3, 4), optimize=True) - tmp36 = tmp3.copy() - tmp36 += tmp4 * 0.5 - tmp22 = einsum(tmp15, (0, 1, 2, 3), t2.abab, (4, 1, 5, 2), (4, 0, 5, 3), optimize=True) - tmp40 = einsum(v.bbb.xov, (0, 1, 2), tmp7, (3, 4, 0), (3, 1, 4, 2), optimize=True) - del tmp7 - t2new.abab += tmp40 - tmp23 = v.baa.xov.transpose((1, 2, 0)).copy() - tmp23 += tmp4 - tmp20 = v.baa.xov.transpose((1, 2, 0)).copy() - tmp20 += tmp3 * 2 - tmp27 = einsum(tmp5, (0, 1, 2), v.baa.xov, (2, 3, 1), (3, 0), optimize=True) * 0.5 - t2new.abab += einsum(tmp27, (0, 1), t2.abab, (0, 2, 3, 4), (1, 2, 3, 4), optimize=True) * -2 - tmp16 = tmp15.transpose((1, 0, 2, 3)).copy() * -1 - tmp16 += tmp15.transpose((1, 0, 3, 2)) - tmp0 = einsum(v.baa.xoo, (0, 1, 2), v.baa.xoo, (0, 3, 4), (1, 4, 3, 2), optimize=True) - tmp6 = einsum(tmp5, (0, 1, 2), v.baa.xov, (2, 0, 3), (3, 1), optimize=True) - del tmp5 - t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp6, (2, 4), (1, 0, 3, 4), optimize=True) * -2 - tmp56 = tmp43.transpose((1, 0, 3, 2)).copy() - tmp56 += einsum(t2.bbbb, (0, 1, 2, 3), tmp55, (0, 4, 5, 2), (1, 4, 3, 5), optimize=True) * -2 - del tmp55 - t2new.bbbb += einsum(t2.bbbb, (0, 1, 2, 3), tmp56, (4, 0, 5, 2), (4, 1, 5, 3), optimize=True) * -2 - del tmp56 - tmp49 = einsum(t2.bbbb, (0, 1, 2, 3), tmp48, (4, 1, 5, 0), (5, 4, 2, 3), optimize=True) * -1 - del tmp48 - t2new.bbbb += tmp49.transpose((0, 1, 3, 2)) * -1 - t2new.bbbb += tmp49.transpose((0, 1, 3, 2)) * -1 - del tmp49 - tmp66 = einsum(t2.bbbb, (0, 1, 2, 3), tmp65, (4, 0), (1, 4, 2, 3), optimize=True) * 4 - del tmp65 - t2new.bbbb += tmp66.transpose((1, 0, 3, 2)) - t2new.bbbb += tmp66.transpose((0, 1, 3, 2)) * -1 - del tmp66 - tmp50 = einsum(f.bb.oo, (0, 1), t2.bbbb, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) - t2new.bbbb += tmp50.transpose((0, 1, 3, 2)) * -2 - t2new.bbbb += tmp50.transpose((1, 0, 3, 2)) * 2 - del tmp50 - tmp60 = tmp43.transpose((1, 0, 3, 2)).copy() * -1 - tmp60 += einsum(t2.bbbb, (0, 1, 2, 3), tmp15, (1, 4, 5, 3), (0, 4, 2, 5), optimize=True) * -2 - tmp60 += einsum(tmp59, (0, 1, 2), v.bbb.xov, (2, 3, 4), (0, 3, 1, 4), optimize=True) - del tmp59 - t2new.bbbb += einsum(t2.bbbb, (0, 1, 2, 3), tmp60, (4, 0, 5, 2), (1, 4, 5, 3), optimize=True) * -2 - del tmp60 - tmp62 = einsum(t2.abab, (0, 1, 2, 3), tmp10, (0, 4, 5, 2), (4, 1, 5, 3), optimize=True) * -1 - tmp62 += einsum(v.baa.xov, (0, 1, 2), tmp61, (3, 4, 0), (1, 3, 2, 4), optimize=True) - del tmp61 - t2new.bbbb += einsum(t2.abab, (0, 1, 2, 3), tmp62, (0, 4, 2, 5), (1, 4, 5, 3), optimize=True) * -1 - del tmp62 - tmp58 = einsum(t2.bbbb, (0, 1, 2, 3), tmp43, (4, 1, 5, 3), (0, 4, 2, 5), optimize=True) - del tmp43 - t2new.bbbb += tmp58 * -2 - t2new.bbbb += tmp58.transpose((1, 0, 2, 3)) * 2 - del tmp58 - tmp54 = einsum(tmp31, (0, 1, 2), tmp32, (3, 4, 2), (0, 3, 1, 4), optimize=True) - del tmp31, tmp32 - t2new.bbbb += tmp54.transpose((1, 0, 2, 3)) * -2 - t2new.bbbb += tmp54.transpose((0, 1, 3, 2)) * -2 - t2new.bbbb += tmp54.transpose((1, 0, 3, 2)) * 2 - t2new.bbbb += tmp54 * 2 - del tmp54 - tmp57 = einsum(t2.abab, (0, 1, 2, 3), tmp13, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) - t2new.bbbb += einsum(tmp57, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) - del tmp57 - tmp53 = f.bb.vv.transpose((1, 0)).copy() * -1 - tmp53 += tmp51 - del tmp51 - t2new.bbbb += einsum(tmp53, (0, 1), t2.bbbb, (2, 3, 1, 4), (3, 2, 0, 4), optimize=True) * 2 - del tmp53 - tmp63 = einsum(v.bbb.xvv, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (3, 2, 1, 4), optimize=True) - t2new.bbbb += einsum(tmp63, (0, 1, 2, 3), t2.bbbb, (4, 5, 3, 1), (4, 5, 0, 2), optimize=True) * 2 - del tmp63 - tmp64 = einsum(t2.bbbb, (0, 1, 2, 3), tmp15, (4, 5, 2, 3), (0, 1, 5, 4), optimize=True) * -1 - del tmp15 - t2new.bbbb += einsum(tmp64, (0, 1, 2, 3), t2.bbbb, (3, 2, 4, 5), (1, 0, 5, 4), optimize=True) * -2 - del tmp64 - tmp52 = einsum(v.bbb.xov, (0, 1, 2), tmp35, (3, 4, 0), (3, 1, 4, 2), optimize=True) - del tmp35 - t2new.bbbb += tmp52 - t2new.bbbb += tmp52.transpose((1, 0, 2, 3)) * -1 - t2new.bbbb += tmp52.transpose((1, 0, 3, 2)) - del tmp52 - tmp42 = einsum(v.bbb.xoo, (0, 1, 2), v.baa.xvv, (0, 3, 4), (2, 1, 4, 3), optimize=True) - tmp42 += einsum(tmp38, (0, 1, 2, 3), t2.abab, (0, 4, 5, 3), (1, 4, 2, 5), optimize=True) * -1 - t2new.abab += einsum(tmp42, (0, 1, 2, 3), t2.abab, (4, 0, 2, 5), (4, 1, 3, 5), optimize=True) * -1 - del tmp42 - tmp39 = tmp12.transpose((1, 0, 3, 2)).copy() - tmp39 += tmp19.transpose((1, 0, 3, 2)) * 2 - tmp39 += tmp8 * -1 - del tmp8 - t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp39, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) * -1 - del tmp39 - tmp30 = einsum(tmp29, (0, 1, 2, 3), t2.abab, (1, 3, 4, 5), (0, 2, 4, 5), optimize=True) - del tmp29 - t2new.abab += tmp30 * 0.5 - t2new.abab += tmp30 * 0.5 - del tmp30 - tmp47 = einsum(tmp33, (0, 1, 2), v.bbb.xov, (2, 3, 1), (0, 3), optimize=True) * 2 - t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp47, (4, 1), (0, 4, 2, 3), optimize=True) * -1 - del tmp47 - tmp37 = f.aa.vv.transpose((1, 0)).copy() * -1 - tmp37 += einsum(tmp36, (0, 1, 2), v.baa.xov, (2, 0, 3), (3, 1), optimize=True) * 2 - del tmp36 - t2new.abab += einsum(tmp37, (0, 1), t2.abab, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) * -1 - del tmp37 - tmp41 = tmp22.copy() * -1 - tmp41 += tmp40 - del tmp40 - t2new.abab += einsum(t2.bbbb, (0, 1, 2, 3), tmp41, (4, 0, 5, 2), (4, 1, 5, 3), optimize=True) * 2 - del tmp41 - tmp45 = einsum(v.bbb.xvv, (0, 1, 2), v.baa.xvv, (0, 3, 4), (3, 4, 1, 2), optimize=True) - t2new.abab += einsum(tmp45, (0, 1, 2, 3), t2.abab, (4, 5, 1, 3), (4, 5, 0, 2), optimize=True) - del tmp45 - tmp34 = einsum(tmp33, (0, 1, 2), v.bbb.xov, (2, 0, 3), (1, 3), optimize=True) - del tmp33 - t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp34, (4, 3), (0, 1, 2, 4), optimize=True) * -2 - del tmp34 - tmp44 = einsum(v.baa.xoo, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (1, 2, 3, 4), optimize=True) - t2new.abab += einsum(tmp44, (0, 1, 2, 3), t2.abab, (1, 4, 5, 3), (0, 4, 5, 2), optimize=True) * -1 - del tmp44 - tmp46 = einsum(tmp38, (0, 1, 2, 3), t2.abab, (4, 5, 2, 3), (4, 0, 5, 1), optimize=True) - del tmp38 - t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp46, (4, 0, 5, 1), (4, 5, 2, 3), optimize=True) - del tmp46 - tmp18 = einsum(tmp12, (0, 1, 2, 3), t2.aaaa, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) - t2new.aaaa += tmp18 * -2 - t2new.aaaa += tmp18.transpose((1, 0, 2, 3)) * 2 - del tmp18 - tmp24 = tmp22.copy() * -1 - del tmp22 - tmp24 += einsum(v.bbb.xov, (0, 1, 2), tmp23, (3, 4, 0), (3, 1, 4, 2), optimize=True) - del tmp23 - t2new.aaaa += einsum(tmp24, (0, 1, 2, 3), t2.abab, (4, 1, 5, 3), (4, 0, 2, 5), optimize=True) * -1 - del tmp24 - tmp14 = tmp12.transpose((1, 0, 3, 2)).copy() - tmp14 += einsum(t2.aaaa, (0, 1, 2, 3), tmp13, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) * -2 - del tmp13 - t2new.aaaa += einsum(tmp14, (0, 1, 2, 3), t2.aaaa, (1, 4, 3, 5), (0, 4, 2, 5), optimize=True) * -2 - del tmp14 - tmp26 = einsum(t2.aaaa, (0, 1, 2, 3), tmp10, (4, 5, 2, 3), (0, 1, 5, 4), optimize=True) * -1 - del tmp10 - t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp26, (4, 5, 1, 0), (5, 4, 3, 2), optimize=True) * -2 - del tmp26 - tmp21 = tmp12.transpose((1, 0, 3, 2)).copy() * -1 - del tmp12 - tmp21 += tmp19 * -2 - del tmp19 - tmp21 += einsum(tmp20, (0, 1, 2), v.baa.xov, (2, 3, 4), (0, 3, 1, 4), optimize=True) - del tmp20 - t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp21, (4, 0, 5, 2), (1, 4, 5, 3), optimize=True) * -2 - del tmp21 - tmp28 = einsum(t2.aaaa, (0, 1, 2, 3), tmp27, (0, 4), (4, 1, 2, 3), optimize=True) * 4 - del tmp27 - t2new.aaaa += tmp28.transpose((0, 1, 3, 2)) - t2new.aaaa += tmp28.transpose((1, 0, 3, 2)) * -1 - del tmp28 - tmp25 = einsum(v.baa.xvv, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 4, 3, 2), optimize=True) - t2new.aaaa += einsum(tmp25, (0, 1, 2, 3), t2.aaaa, (4, 5, 3, 1), (4, 5, 0, 2), optimize=True) * 2 - del tmp25 - tmp17 = einsum(t2.abab, (0, 1, 2, 3), tmp16, (1, 4, 5, 3), (0, 4, 2, 5), optimize=True) * -1 - del tmp16 - t2new.aaaa += einsum(t2.abab, (0, 1, 2, 3), tmp17, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) - del tmp17 - tmp2 = einsum(f.aa.oo, (0, 1), t2.aaaa, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) - t2new.aaaa += tmp2.transpose((0, 1, 3, 2)) * -2 - t2new.aaaa += tmp2.transpose((1, 0, 3, 2)) * 2 - del tmp2 - tmp11 = einsum(tmp3, (0, 1, 2), tmp4, (3, 4, 2), (0, 3, 1, 4), optimize=True) - del tmp3, tmp4 - t2new.aaaa += tmp11.transpose((1, 0, 2, 3)) * -2 - t2new.aaaa += tmp11.transpose((0, 1, 3, 2)) * -2 - t2new.aaaa += tmp11.transpose((1, 0, 3, 2)) * 2 - t2new.aaaa += tmp11 * 2 - del tmp11 - tmp1 = einsum(t2.aaaa, (0, 1, 2, 3), tmp0, (4, 1, 5, 0), (5, 4, 2, 3), optimize=True) * -1 - del tmp0 - t2new.aaaa += tmp1.transpose((0, 1, 3, 2)) * -1 - t2new.aaaa += tmp1.transpose((0, 1, 3, 2)) * -1 - del tmp1 - tmp9 = f.aa.vv.transpose((1, 0)).copy() * -1 - tmp9 += tmp6.transpose((1, 0)) - del tmp6 - t2new.aaaa += einsum(tmp9, (0, 1), t2.aaaa, (2, 3, 1, 4), (3, 2, 0, 4), optimize=True) * 2 - del tmp9 - t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), f.aa.vv, (4, 3), (1, 0, 2, 4), optimize=True) * -2 - t2new.abab += einsum(t2.abab, (0, 1, 2, 3), f.bb.oo, (4, 1), (0, 4, 2, 3), optimize=True) * -1 - t2new.abab += einsum(f.aa.oo, (0, 1), t2.abab, (1, 2, 3, 4), (0, 2, 3, 4), optimize=True) * -1 - t2new.abab += einsum(f.bb.vv, (0, 1), t2.abab, (2, 3, 4, 1), (2, 3, 4, 0), optimize=True) - t2new.bbbb += einsum(t2.bbbb, (0, 1, 2, 3), f.bb.vv, (4, 3), (1, 0, 2, 4), optimize=True) * -2 - - return {f"t2new": t2new} - -def update_lams(f=None, l2=None, t2=None, v=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-07-18T20:31:31.055236. - - Parameters - ---------- - f : Namespace of arrays - Fock matrix. - l2 : Namespace of arrays - L2 amplitudes. - t2 : Namespace of arrays - T2 amplitudes. - v : Namespace of arrays - Electron repulsion integrals. - - Returns - ------- - l2new : Namespace of arrays - Updated L2 residuals. - """ - - l1new = Namespace() - l2new = Namespace() - tmp41 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 4, 0, 1), (4, 3), optimize=True) - tmp42 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (4, 2, 0, 1), (4, 3), optimize=True) * -1 - tmp56 = einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (3, 4, 0, 1), (2, 4), optimize=True) * -1 - tmp55 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 3, 0, 4), (4, 1), optimize=True) - tmp17 = einsum(t2.abab, (0, 1, 2, 3), v.baa.xov, (4, 0, 2), (1, 3, 4), optimize=True) - tmp18 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbb.xov, (4, 1, 3), (0, 2, 4), optimize=True) - tmp14 = einsum(v.bbb.xov, (0, 1, 2), t2.abab, (3, 1, 4, 2), (3, 4, 0), optimize=True) - tmp13 = einsum(t2.aaaa, (0, 1, 2, 3), v.baa.xov, (4, 1, 3), (0, 2, 4), optimize=True) - tmp0 = einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (2, 3, 1, 4), (0, 4), optimize=True) * -1 - tmp1 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 4, 1), (0, 4), optimize=True) - tmp21 = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (2, 3, 4, 0), (4, 1), optimize=True) * -1 - tmp22 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 0, 1), (2, 4), optimize=True) - tmp43 = tmp41.copy() * 0.5 - del tmp41 - tmp43 += tmp42 - del tmp42 - tmp57 = tmp55.copy() * 0.5 - del tmp55 - tmp57 += tmp56 - del tmp56 - tmp19 = v.bbb.xov.transpose((1, 2, 0)).copy() - tmp19 += tmp17 - tmp19 += tmp18 * 2 - tmp15 = v.baa.xov.transpose((1, 2, 0)).copy() - tmp15 += tmp13 * 2 - tmp15 += tmp14 - tmp47 = tmp17.copy() * 0.5 - tmp47 += tmp18 - tmp2 = tmp0.copy() * 2 - del tmp0 - tmp2 += tmp1 - del tmp1 - tmp27 = tmp13.copy() * 2 - tmp27 += tmp14 - tmp23 = tmp21.copy() * 2 - del tmp21 - tmp23 += tmp22 - del tmp22 - tmp76 = einsum(v.bbb.xov, (0, 1, 2), tmp43, (3, 2), (1, 3, 0), optimize=True) * 2 - tmp86 = einsum(tmp57, (0, 1), v.bbb.xov, (2, 1, 3), (0, 3, 2), optimize=True) * 0.5 - tmp85 = einsum(tmp19, (0, 1, 2), l2.bbbb, (1, 3, 0, 4), (4, 3, 2), optimize=True) * 0.5 - tmp84 = einsum(tmp15, (0, 1, 2), l2.abab, (1, 3, 0, 4), (4, 3, 2), optimize=True) * 0.25 - tmp65 = einsum(v.bbb.xov, (0, 1, 2), tmp47, (1, 3, 0), (2, 3), optimize=True) * 2 - tmp58 = einsum(tmp57, (0, 1), v.bbb.xov, (2, 1, 3), (0, 3, 2), optimize=True) - del tmp57 - tmp53 = einsum(tmp15, (0, 1, 2), l2.abab, (1, 3, 0, 4), (4, 3, 2), optimize=True) * 0.5 - tmp54 = einsum(tmp19, (0, 1, 2), l2.bbbb, (1, 3, 0, 4), (4, 3, 2), optimize=True) - tmp89 = einsum(v.bbb.xov, (0, 1, 2), tmp47, (3, 2, 0), (1, 3), optimize=True) * 2 - tmp80 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 5), (3, 4, 1, 5), optimize=True) - tmp81 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (4, 2, 5, 0), (5, 1, 4, 3), optimize=True) - tmp3 = einsum(tmp2, (0, 1), v.baa.xov, (2, 3, 1), (3, 0, 2), optimize=True) - tmp35 = einsum(v.baa.xov, (0, 1, 2), tmp27, (1, 3, 0), (3, 2), optimize=True) * 0.5 - tmp24 = einsum(v.baa.xov, (0, 1, 2), tmp23, (3, 1), (3, 2, 0), optimize=True) * 0.5 - del tmp23 - l2new.abab = einsum(v.bbb.xov, (0, 1, 2), tmp24, (3, 4, 0), (4, 2, 3, 1), optimize=True) * -2 - tmp20 = einsum(l2.abab, (0, 1, 2, 3), tmp19, (3, 1, 4), (2, 0, 4), optimize=True) * 0.5 - del tmp19 - tmp16 = einsum(tmp15, (0, 1, 2), l2.aaaa, (1, 3, 0, 4), (4, 3, 2), optimize=True) - del tmp15 - tmp28 = einsum(v.baa.xov, (0, 1, 2), tmp27, (3, 2, 0), (3, 1), optimize=True) - tmp8 = einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (3, 4, 1, 5), (2, 4, 0, 5), optimize=True) - tmp9 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (4, 3, 5, 1), (5, 0, 4, 2), optimize=True) - tmp77 = v.bbb.xov.transpose((1, 2, 0)).copy() - tmp77 += tmp76 * -1 - del tmp76 - tmp68 = einsum(v.bbb.xvv, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (3, 4, 1, 2), optimize=True) - l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp68, (4, 3, 5, 1), (0, 5, 2, 4), optimize=True) * -1 - tmp87 = tmp84.copy() - del tmp84 - tmp87 += tmp85 - del tmp85 - tmp87 += tmp86 * -1 - del tmp86 - tmp66 = f.bb.vv.transpose((1, 0)).copy() * -1 - tmp66 += tmp65.transpose((1, 0)) - del tmp65 - l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp66, (1, 4), (0, 4, 2, 3), optimize=True) * -1 - tmp59 = tmp53.copy() - del tmp53 - tmp59 += tmp54 - del tmp54 - tmp59 += tmp58 * -1 - del tmp58 - l2new.abab += einsum(tmp59, (0, 1, 2), v.baa.xov, (2, 3, 4), (4, 1, 3, 0), optimize=True) * 2 - tmp44 = einsum(v.bbb.xov, (0, 1, 2), tmp43, (3, 2), (1, 3, 0), optimize=True) - del tmp43 - tmp95 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (2, 3, 4, 5), (4, 5, 0, 1), optimize=True) - tmp70 = einsum(v.bbb.xov, (0, 1, 2), v.bbb.xov, (0, 3, 4), (1, 3, 2, 4), optimize=True) - tmp90 = f.bb.oo.transpose((1, 0)).copy() - tmp90 += tmp89.transpose((1, 0)) - del tmp89 - tmp93 = einsum(v.bbb.xvv, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (3, 2, 1, 4), optimize=True) - tmp82 = tmp80.copy() - del tmp80 - tmp82 += tmp81 * 4 - del tmp81 - tmp60 = einsum(v.bbb.xvv, (0, 1, 2), v.baa.xvv, (0, 3, 4), (3, 4, 1, 2), optimize=True) - tmp71 = v.baa.xov.transpose((1, 2, 0)).copy() - tmp71 += tmp13 * 2 - del tmp13 - tmp71 += tmp14 - del tmp14 - tmp72 = v.bbb.xov.transpose((1, 2, 0)).copy() - tmp72 += tmp17 - del tmp17 - tmp72 += tmp18 * 2 - del tmp18 - tmp6 = einsum(v.baa.xoo, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 2, 3, 4), optimize=True) - tmp11 = einsum(v.baa.xov, (0, 1, 2), v.baa.xov, (0, 3, 4), (1, 3, 2, 4), optimize=True) - tmp50 = einsum(v.bbb.xov, (0, 1, 2), v.baa.xov, (0, 3, 4), (3, 1, 4, 2), optimize=True) - tmp62 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 3, 4, 5), (4, 0, 5, 1), optimize=True) - tmp4 = v.baa.xov.transpose((1, 2, 0)).copy() - tmp4 += tmp3 * -1 - del tmp3 - tmp31 = einsum(v.baa.xvv, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 4, 3, 2), optimize=True) - tmp33 = einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 5, 0, 1), (2, 3, 4, 5), optimize=True) - tmp36 = f.aa.vv.transpose((1, 0)).copy() * -0.5 - tmp36 += tmp35 - del tmp35 - tmp39 = einsum(tmp2, (0, 1), v.baa.xov, (2, 3, 1), (3, 0, 2), optimize=True) * 0.5 - del tmp2 - l2new.abab += einsum(tmp39, (0, 1, 2), v.bbb.xov, (2, 3, 4), (1, 4, 0, 3), optimize=True) * -2 - tmp25 = tmp16.copy() - del tmp16 - tmp25 += tmp20 - del tmp20 - tmp25 += tmp24 * -1 - del tmp24 - tmp29 = f.aa.oo.transpose((1, 0)).copy() - tmp29 += tmp28 - del tmp28 - l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp29, (2, 4), (0, 1, 4, 3), optimize=True) * -1 - tmp10 = tmp8.copy() * 4 - del tmp8 - tmp10 += tmp9 - del tmp9 - tmp78 = einsum(tmp77, (0, 1, 2), v.bbb.xov, (2, 3, 4), (3, 0, 4, 1), optimize=True) - del tmp77 - l2new.bbbb = tmp78.transpose((3, 2, 0, 1)).copy() * -1 - l2new.bbbb += tmp78.transpose((2, 3, 0, 1)) - del tmp78 - tmp79 = einsum(l2.bbbb, (0, 1, 2, 3), tmp68, (4, 3, 5, 1), (2, 4, 0, 5), optimize=True) - del tmp68 - l2new.bbbb += tmp79.transpose((2, 3, 1, 0)) * 2 - l2new.bbbb += tmp79.transpose((2, 3, 0, 1)) * -2 - l2new.bbbb += tmp79.transpose((3, 2, 1, 0)) * -2 - l2new.bbbb += tmp79.transpose((3, 2, 0, 1)) * 2 - del tmp79 - tmp88 = einsum(v.bbb.xov, (0, 1, 2), tmp87, (3, 4, 0), (1, 3, 2, 4), optimize=True) * 4 - del tmp87 - l2new.bbbb += tmp88.transpose((3, 2, 1, 0)) - l2new.bbbb += tmp88.transpose((2, 3, 1, 0)) * -1 - del tmp88 - tmp97 = einsum(l2.bbbb, (0, 1, 2, 3), tmp66, (0, 4), (2, 3, 1, 4), optimize=True) * 2 - del tmp66 - l2new.bbbb += tmp97.transpose((2, 3, 1, 0)) * -1 - l2new.bbbb += tmp97.transpose((3, 2, 1, 0)) - del tmp97 - tmp92 = einsum(v.bbb.xov, (0, 1, 2), tmp59, (3, 4, 0), (1, 3, 2, 4), optimize=True) * 2 - del tmp59 - l2new.bbbb += tmp92.transpose((3, 2, 0, 1)) * -1 - l2new.bbbb += tmp92.transpose((2, 3, 0, 1)) - del tmp92 - tmp99 = einsum(v.bbb.xov, (0, 1, 2), tmp44, (3, 4, 0), (1, 3, 2, 4), optimize=True) * -2 - l2new.bbbb += tmp99.transpose((3, 2, 1, 0)) - l2new.bbbb += tmp99.transpose((2, 3, 1, 0)) * -1 - del tmp99 - tmp96 = einsum(tmp95, (0, 1, 2, 3), tmp70, (2, 3, 4, 5), (0, 1, 4, 5), optimize=True) - del tmp95 - l2new.bbbb += tmp96.transpose((3, 2, 1, 0)) - l2new.bbbb += tmp96.transpose((3, 2, 1, 0)) - del tmp96 - tmp91 = einsum(tmp90, (0, 1), l2.bbbb, (2, 3, 0, 4), (4, 1, 2, 3), optimize=True) * 2 - del tmp90 - l2new.bbbb += tmp91.transpose((3, 2, 1, 0)) - l2new.bbbb += tmp91.transpose((3, 2, 0, 1)) * -1 - del tmp91 - tmp98 = einsum(v.bbb.xoo, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (2, 3, 4, 1), optimize=True) - tmp98 += einsum(tmp70, (0, 1, 2, 3), t2.bbbb, (4, 5, 2, 3), (5, 4, 1, 0), optimize=True) * -1 - l2new.bbbb += einsum(l2.bbbb, (0, 1, 2, 3), tmp98, (2, 3, 4, 5), (1, 0, 5, 4), optimize=True) * -2 - del tmp98 - tmp94 = einsum(l2.bbbb, (0, 1, 2, 3), tmp93, (4, 1, 5, 0), (2, 3, 5, 4), optimize=True) * -1 - del tmp93 - l2new.bbbb += tmp94.transpose((2, 3, 1, 0)) * -1 - l2new.bbbb += tmp94.transpose((2, 3, 1, 0)) * -1 - del tmp94 - tmp83 = einsum(tmp70, (0, 1, 2, 3), tmp82, (4, 0, 5, 3), (4, 1, 5, 2), optimize=True) - del tmp82 - l2new.bbbb += tmp83.transpose((3, 2, 1, 0)) * -1 - l2new.bbbb += tmp83.transpose((3, 2, 0, 1)) - l2new.bbbb += tmp83.transpose((2, 3, 1, 0)) - l2new.bbbb += tmp83.transpose((2, 3, 0, 1)) * -1 - del tmp83 - tmp61 = einsum(tmp60, (0, 1, 2, 3), l2.abab, (1, 3, 4, 5), (4, 5, 0, 2), optimize=True) - del tmp60 - l2new.abab += tmp61.transpose((2, 3, 0, 1)) * 0.5 - l2new.abab += tmp61.transpose((2, 3, 0, 1)) * 0.5 - del tmp61 - tmp51 = einsum(l2.bbbb, (0, 1, 2, 3), t2.abab, (4, 3, 5, 1), (4, 2, 5, 0), optimize=True) - l2new.abab += einsum(tmp51, (0, 1, 2, 3), tmp11, (4, 0, 2, 5), (5, 3, 4, 1), optimize=True) * -2 - del tmp51 - tmp48 = f.bb.oo.transpose((1, 0)).copy() * 0.5 - tmp48 += einsum(v.bbb.xov, (0, 1, 2), tmp47, (3, 2, 0), (3, 1), optimize=True) - del tmp47 - l2new.abab += einsum(tmp48, (0, 1), l2.abab, (2, 3, 4, 0), (2, 3, 4, 1), optimize=True) * -2 - del tmp48 - tmp73 = einsum(tmp71, (0, 1, 2), l2.aaaa, (1, 3, 0, 4), (4, 3, 2), optimize=True) * 2 - del tmp71 - tmp73 += einsum(tmp72, (0, 1, 2), l2.abab, (3, 1, 4, 0), (4, 3, 2), optimize=True) - del tmp72 - l2new.abab += einsum(v.bbb.xov, (0, 1, 2), tmp73, (3, 4, 0), (4, 2, 3, 1), optimize=True) - del tmp73 - tmp52 = tmp6.transpose((1, 0, 3, 2)).copy() * 0.5 - tmp52 += einsum(tmp11, (0, 1, 2, 3), t2.aaaa, (4, 1, 5, 2), (4, 0, 5, 3), optimize=True) - l2new.abab += einsum(tmp52, (0, 1, 2, 3), l2.abab, (2, 4, 0, 5), (3, 4, 1, 5), optimize=True) * -2 - del tmp52 - tmp69 = einsum(t2.abab, (0, 1, 2, 3), l2.aaaa, (4, 2, 5, 0), (5, 1, 4, 3), optimize=True) - tmp69 += einsum(t2.bbbb, (0, 1, 2, 3), l2.abab, (4, 2, 5, 0), (5, 1, 4, 3), optimize=True) - l2new.abab += einsum(tmp70, (0, 1, 2, 3), tmp69, (4, 0, 5, 3), (5, 2, 4, 1), optimize=True) * -2 - del tmp70, tmp69 - tmp67 = einsum(v.bbb.xoo, (0, 1, 2), v.baa.xoo, (0, 3, 4), (4, 3, 2, 1), optimize=True) - tmp67 += einsum(tmp50, (0, 1, 2, 3), t2.abab, (4, 5, 2, 3), (4, 0, 5, 1), optimize=True) - l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp67, (2, 4, 3, 5), (0, 1, 4, 5), optimize=True) - del tmp67 - tmp63 = einsum(tmp50, (0, 1, 2, 3), tmp62, (4, 0, 5, 1), (4, 5, 2, 3), optimize=True) - del tmp62 - l2new.abab += tmp63.transpose((2, 3, 0, 1)) * 0.5 - l2new.abab += tmp63.transpose((2, 3, 0, 1)) * 0.5 - del tmp63 - tmp64 = f.aa.vv.transpose((1, 0)).copy() * -1 - tmp64 += einsum(v.baa.xov, (0, 1, 2), tmp27, (1, 3, 0), (3, 2), optimize=True) - del tmp27 - l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp64, (0, 4), (4, 1, 2, 3), optimize=True) * -1 - del tmp64 - tmp49 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (4, 3, 0, 5), (5, 1, 4, 2), optimize=True) - l2new.abab += einsum(tmp50, (0, 1, 2, 3), tmp49, (4, 1, 5, 2), (5, 3, 0, 4), optimize=True) - del tmp49 - tmp45 = v.bbb.xov.transpose((1, 2, 0)).copy() * 0.5 - tmp45 += tmp44 * -1 - del tmp44 - l2new.abab += einsum(tmp45, (0, 1, 2), v.baa.xov, (2, 3, 4), (4, 1, 3, 0), optimize=True) * 2 - del tmp45 - tmp74 = einsum(v.baa.xoo, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (1, 2, 3, 4), optimize=True) - l2new.abab += einsum(tmp74, (0, 1, 2, 3), l2.abab, (4, 3, 1, 5), (4, 2, 0, 5), optimize=True) * -1 - del tmp74 - tmp75 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 4, 5, 1), (5, 0, 4, 3), optimize=True) - l2new.abab += einsum(tmp50, (0, 1, 2, 3), tmp75, (4, 0, 5, 3), (2, 5, 4, 1), optimize=True) - del tmp50, tmp75 - tmp46 = einsum(v.bbb.xoo, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 2, 3, 4), optimize=True) - l2new.abab += einsum(tmp46, (0, 1, 2, 3), l2.abab, (3, 4, 5, 1), (2, 4, 5, 0), optimize=True) * -1 - del tmp46 - tmp5 = einsum(v.baa.xov, (0, 1, 2), tmp4, (3, 4, 0), (3, 1, 4, 2), optimize=True) - del tmp4 - l2new.aaaa = tmp5.transpose((2, 3, 1, 0)).copy() * -1 - l2new.aaaa += tmp5.transpose((3, 2, 1, 0)) - del tmp5 - tmp32 = einsum(l2.aaaa, (0, 1, 2, 3), tmp31, (4, 1, 5, 0), (2, 3, 5, 4), optimize=True) * -1 - del tmp31 - l2new.aaaa += tmp32.transpose((2, 3, 1, 0)) * -1 - l2new.aaaa += tmp32.transpose((2, 3, 1, 0)) * -1 - del tmp32 - tmp38 = einsum(v.baa.xoo, (0, 1, 2), v.baa.xoo, (0, 3, 4), (2, 3, 4, 1), optimize=True) - tmp38 += einsum(tmp11, (0, 1, 2, 3), t2.aaaa, (4, 5, 2, 3), (5, 4, 1, 0), optimize=True) * -1 - l2new.aaaa += einsum(tmp38, (0, 1, 2, 3), l2.aaaa, (4, 5, 0, 1), (5, 4, 3, 2), optimize=True) * -2 - del tmp38 - tmp34 = einsum(tmp11, (0, 1, 2, 3), tmp33, (4, 5, 0, 1), (4, 5, 2, 3), optimize=True) - del tmp33 - l2new.aaaa += tmp34.transpose((3, 2, 1, 0)) - l2new.aaaa += tmp34.transpose((3, 2, 1, 0)) - del tmp34 - tmp37 = einsum(l2.aaaa, (0, 1, 2, 3), tmp36, (0, 4), (2, 3, 1, 4), optimize=True) * 4 - del tmp36 - l2new.aaaa += tmp37.transpose((2, 3, 1, 0)) * -1 - l2new.aaaa += tmp37.transpose((3, 2, 1, 0)) - del tmp37 - tmp40 = einsum(tmp39, (0, 1, 2), v.baa.xov, (2, 3, 4), (0, 3, 1, 4), optimize=True) * -2 - del tmp39 - l2new.aaaa += tmp40.transpose((2, 3, 0, 1)) - l2new.aaaa += tmp40.transpose((3, 2, 0, 1)) * -1 - del tmp40 - tmp26 = einsum(tmp25, (0, 1, 2), v.baa.xov, (2, 3, 4), (0, 3, 1, 4), optimize=True) * 2 - del tmp25 - l2new.aaaa += tmp26.transpose((2, 3, 1, 0)) * -1 - l2new.aaaa += tmp26.transpose((2, 3, 0, 1)) - l2new.aaaa += tmp26.transpose((3, 2, 1, 0)) - l2new.aaaa += tmp26.transpose((3, 2, 0, 1)) * -1 - del tmp26 - tmp30 = einsum(tmp29, (0, 1), l2.aaaa, (2, 3, 0, 4), (4, 1, 2, 3), optimize=True) * 2 - del tmp29 - l2new.aaaa += tmp30.transpose((3, 2, 1, 0)) - l2new.aaaa += tmp30.transpose((3, 2, 0, 1)) * -1 - del tmp30 - tmp7 = einsum(tmp6, (0, 1, 2, 3), l2.aaaa, (4, 3, 5, 1), (5, 0, 4, 2), optimize=True) - del tmp6 - l2new.aaaa += tmp7.transpose((2, 3, 1, 0)) * 2 - l2new.aaaa += tmp7.transpose((2, 3, 0, 1)) * -2 - l2new.aaaa += tmp7.transpose((3, 2, 1, 0)) * -2 - l2new.aaaa += tmp7.transpose((3, 2, 0, 1)) * 2 - del tmp7 - tmp12 = einsum(tmp11, (0, 1, 2, 3), tmp10, (4, 0, 5, 3), (4, 1, 5, 2), optimize=True) - del tmp11, tmp10 - l2new.aaaa += tmp12.transpose((3, 2, 1, 0)) * -1 - l2new.aaaa += tmp12.transpose((3, 2, 0, 1)) - l2new.aaaa += tmp12.transpose((2, 3, 1, 0)) - l2new.aaaa += tmp12.transpose((2, 3, 0, 1)) * -1 - del tmp12 - - return {f"l2new": l2new} - -def make_rdm1_f(l2=None, t2=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-07-18T20:31:31.485370. - - Parameters - ---------- - l2 : Namespace of arrays - L2 amplitudes. - t2 : Namespace of arrays - T2 amplitudes. - - Returns - ------- - rdm1 : Namespace of arrays - One-particle reduced density matrix. - """ - - rdm1 = Namespace() - rdm1.aa = Namespace() - rdm1.bb = Namespace() - delta = Namespace( - aa=Namespace(oo=np.eye(t2.aaaa.shape[0]), vv=np.eye(t1.aaaa.shape[-1])), - bb=Namespace(oo=np.eye(t2.bbbb.shape[0]), vv=np.eye(t1.bbbb.shape[-1])), - ) - rdm1.aa.oo = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 0, 1), (4, 2), optimize=True) * -1 - rdm1.aa.oo += einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (2, 3, 4, 1), (0, 4), optimize=True) * -2 - rdm1.aa.oo += delta.aa.oo.transpose((1, 0)) - rdm1.bb.oo = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (2, 3, 4, 1), (0, 4), optimize=True) * -2 - rdm1.bb.oo += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 1), (4, 3), optimize=True) * -1 - rdm1.bb.oo += delta.bb.oo.transpose((1, 0)) - del delta - rdm1.aa.vv = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 4, 1), (0, 4), optimize=True) - rdm1.aa.vv += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (2, 3, 4, 1), (0, 4), optimize=True) * 2 - rdm1.bb.vv = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 4, 0, 1), (4, 3), optimize=True) - rdm1.bb.vv += einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (4, 3, 0, 1), (4, 2), optimize=True) * 2 - rdm1.aa.oo = np.zeros((t2.aa.shape[0], t2.aa.shape[0])) - rdm1.aa.vv = np.zeros((t2.aa.shape[-1], t2.aa.shape[-1])) - rdm1.bb.oo = np.zeros((t2.bb.shape[0], t2.bb.shape[0])) - rdm1.bb.vv = np.zeros((t2.bb.shape[-1], t2.bb.shape[-1])) - rdm1.aa = np.block([[rdm1.aa.oo, rdm1.aa.ov], [rdm1.aa.vo, rdm1.aa.vv]]) - rdm1.bb = np.block([[rdm1.bb.oo, rdm1.bb.ov], [rdm1.bb.vo, rdm1.bb.vv]]) - - return rdm1 - -def make_rdm2_f(l2=None, t2=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-07-18T20:31:38.746069. - - Parameters - ---------- - l2 : Namespace of arrays - L2 amplitudes. - t2 : Namespace of arrays - T2 amplitudes. - - Returns - ------- - rdm2 : Namespace of arrays - Two-particle reduced density matrix. - """ - - rdm2 = Namespace() - rdm2.aaaa = Namespace() - rdm2.abab = Namespace() - rdm2.bbbb = Namespace() - delta = Namespace( - aa=Namespace(oo=np.eye(t2.aaaa.shape[0]), vv=np.eye(t1.aaaa.shape[-1])), - bb=Namespace(oo=np.eye(t2.bbbb.shape[0]), vv=np.eye(t1.bbbb.shape[-1])), - ) - tmp5 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 3, 0, 4), (4, 1), optimize=True) - tmp6 = einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 3, 0, 1), (2, 4), optimize=True) - tmp0 = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (2, 3, 4, 1), (4, 0), optimize=True) - tmp1 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 0, 1), (2, 4), optimize=True) - tmp25 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (3, 4, 0, 1), (4, 2), optimize=True) * -1 - tmp24 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 4, 0, 1), (4, 3), optimize=True) - tmp14 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 4, 1), (0, 4), optimize=True) - tmp13 = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (3, 4, 0, 1), (4, 2), optimize=True) * -1 - tmp36 = einsum(l2.abab, (0, 1, 2, 3), t2.bbbb, (4, 3, 5, 1), (2, 4, 0, 5), optimize=True) - rdm2.abab.voov = tmp36.transpose((2, 1, 0, 3)).copy() * 2 - tmp32 = einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 3, 5, 1), (2, 4, 0, 5), optimize=True) - rdm2.bbbb.vovo = tmp32.transpose((2, 1, 3, 0)).copy() * -4 - rdm2.bbbb.voov = tmp32.transpose((2, 1, 0, 3)).copy() * 4 - rdm2.bbbb.ovvo = tmp32.transpose((1, 2, 3, 0)).copy() * 4 - rdm2.bbbb.ovov = tmp32.transpose((1, 2, 0, 3)).copy() * -4 - tmp34 = einsum(t2.abab, (0, 1, 2, 3), l2.aaaa, (2, 4, 0, 5), (5, 1, 4, 3), optimize=True) - rdm2.abab.voov += tmp34.transpose((2, 1, 0, 3)) * 2 - tmp11 = tmp5.copy() - tmp11 += tmp6 * 2 - rdm2.abab.oovv = einsum(tmp11, (0, 1), t2.abab, (2, 0, 3, 4), (2, 1, 3, 4), optimize=True) * -1 - rdm2.bbbb.oooo = einsum(tmp11, (0, 1), delta.bb.oo, (2, 3), (3, 1, 0, 2), optimize=True) - rdm2.bbbb.oooo += einsum(tmp11, (0, 1), delta.bb.oo, (2, 3), (1, 3, 0, 2), optimize=True) * -1 - tmp28 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (4, 3, 5, 1), (5, 0, 4, 2), optimize=True) - rdm2.aaaa.vovo = tmp28.transpose((2, 1, 3, 0)).copy() * -1 - rdm2.aaaa.voov = tmp28.transpose((2, 1, 0, 3)).copy() - rdm2.aaaa.ovvo = tmp28.transpose((1, 2, 3, 0)).copy() - rdm2.aaaa.ovov = tmp28.transpose((1, 2, 0, 3)).copy() * -1 - tmp19 = einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 3, 5, 1), (2, 4, 0, 5), optimize=True) - rdm2.aaaa.vovo += tmp19.transpose((2, 1, 3, 0)) * -4 - rdm2.aaaa.voov += tmp19.transpose((2, 1, 0, 3)) * 4 - rdm2.aaaa.ovvo += tmp19.transpose((1, 2, 3, 0)) * 4 - rdm2.aaaa.ovov += tmp19.transpose((1, 2, 0, 3)) * -4 - tmp21 = einsum(t2.aaaa, (0, 1, 2, 3), l2.abab, (3, 4, 1, 5), (0, 5, 2, 4), optimize=True) - rdm2.abab.ovvo = tmp21.transpose((0, 3, 2, 1)).copy() * 2 - tmp17 = einsum(l2.bbbb, (0, 1, 2, 3), t2.abab, (4, 3, 5, 1), (4, 2, 5, 0), optimize=True) - rdm2.abab.ovvo += tmp17.transpose((0, 3, 2, 1)) * 2 - tmp3 = tmp0.copy() - tmp3 += tmp1 * 0.5 - rdm2.aaaa.oooo = einsum(tmp3, (0, 1), delta.aa.oo, (2, 3), (3, 1, 0, 2), optimize=True) * 2 - rdm2.aaaa.oooo += einsum(tmp3, (0, 1), delta.aa.oo, (2, 3), (1, 3, 0, 2), optimize=True) * -2 - tmp39 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 5), (3, 4, 1, 5), optimize=True) - rdm2.bbbb.vovo += tmp39.transpose((2, 1, 3, 0)) * -1 - rdm2.bbbb.voov += tmp39.transpose((2, 1, 0, 3)) - rdm2.bbbb.ovvo += tmp39.transpose((1, 2, 3, 0)) - rdm2.bbbb.ovov += tmp39.transpose((1, 2, 0, 3)) * -1 - del tmp39 - tmp26 = tmp24.copy() * 0.5 - tmp26 += tmp25 - rdm2.bbbb.vovo += einsum(delta.bb.oo, (0, 1), tmp26, (2, 3), (2, 1, 3, 0), optimize=True) * 2 - rdm2.bbbb.ovvo += einsum(delta.bb.oo, (0, 1), tmp26, (2, 3), (1, 2, 3, 0), optimize=True) * -2 - rdm2.abab.ovov = einsum(delta.aa.oo, (0, 1), tmp26, (2, 3), (1, 2, 0, 3), optimize=True) * 2 - rdm2.bbbb.oovv = einsum(tmp26, (0, 1), t2.bbbb, (2, 3, 0, 4), (3, 2, 4, 1), optimize=True) * -4 - rdm2.abab.oovv += einsum(t2.abab, (0, 1, 2, 3), tmp26, (3, 4), (0, 1, 2, 4), optimize=True) * -2 - del tmp26 - tmp23 = tmp13.copy() - tmp23 += tmp14 * 0.5 - rdm2.abab.vovo = einsum(delta.bb.oo, (0, 1), tmp23, (2, 3), (2, 1, 3, 0), optimize=True) * 2 - rdm2.aaaa.vovo += einsum(delta.aa.oo, (0, 1), tmp23, (2, 3), (2, 1, 3, 0), optimize=True) * 2 - rdm2.aaaa.ovvo += einsum(delta.aa.oo, (0, 1), tmp23, (2, 3), (1, 2, 3, 0), optimize=True) * -2 - rdm2.aaaa.oovv = einsum(t2.aaaa, (0, 1, 2, 3), tmp23, (2, 4), (1, 0, 4, 3), optimize=True) * 4 - del tmp23 - tmp38 = tmp24.copy() - del tmp24 - tmp38 += tmp25 * 2 - del tmp25 - rdm2.bbbb.voov += einsum(delta.bb.oo, (0, 1), tmp38, (2, 3), (2, 1, 0, 3), optimize=True) * -1 - rdm2.bbbb.ovov += einsum(delta.bb.oo, (0, 1), tmp38, (2, 3), (1, 2, 0, 3), optimize=True) - rdm2.bbbb.oovv += einsum(tmp38, (0, 1), t2.bbbb, (2, 3, 0, 4), (3, 2, 1, 4), optimize=True) * 2 - del tmp38 - tmp15 = tmp13.copy() * 2 - del tmp13 - tmp15 += tmp14 - del tmp14 - rdm2.aaaa.voov += einsum(delta.aa.oo, (0, 1), tmp15, (2, 3), (2, 1, 0, 3), optimize=True) * -1 - rdm2.aaaa.ovov += einsum(delta.aa.oo, (0, 1), tmp15, (2, 3), (1, 2, 0, 3), optimize=True) - rdm2.abab.oovv += einsum(tmp15, (0, 1), t2.abab, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) * -1 - rdm2.aaaa.oovv += einsum(tmp15, (0, 1), t2.aaaa, (2, 3, 0, 4), (3, 2, 4, 1), optimize=True) * -2 - del tmp15 - tmp27 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 4, 5, 1), (5, 0, 4, 3), optimize=True) - rdm2.abab.ovov += tmp27.transpose((1, 2, 0, 3)) * -1 - rdm2.abab.oovv += einsum(tmp27, (0, 1, 2, 3), t2.abab, (0, 4, 5, 2), (1, 4, 5, 3), optimize=True) - del tmp27 - tmp37 = einsum(tmp36, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) - del tmp36 - rdm2.bbbb.oovv += tmp37.transpose((1, 0, 3, 2)) * 2 - rdm2.bbbb.oovv += tmp37 * 2 - rdm2.bbbb.oovv += tmp37.transpose((1, 0, 2, 3)) * -2 - rdm2.bbbb.oovv += tmp37.transpose((0, 1, 3, 2)) * -2 - del tmp37 - tmp33 = einsum(t2.bbbb, (0, 1, 2, 3), tmp32, (1, 4, 3, 5), (0, 4, 2, 5), optimize=True) - del tmp32 - rdm2.bbbb.oovv += tmp33 * 8 - rdm2.bbbb.oovv += tmp33.transpose((0, 1, 3, 2)) * -8 - del tmp33 - tmp35 = einsum(tmp34, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) - del tmp34 - rdm2.bbbb.oovv += tmp35.transpose((1, 0, 3, 2)) * 2 - rdm2.bbbb.oovv += tmp35.transpose((0, 1, 3, 2)) * -2 - del tmp35 - tmp31 = einsum(t2.bbbb, (0, 1, 2, 3), tmp11, (0, 4), (1, 4, 2, 3), optimize=True) * 2 - del tmp11 - rdm2.bbbb.oovv += tmp31.transpose((0, 1, 3, 2)) * -1 - rdm2.bbbb.oovv += tmp31.transpose((1, 0, 3, 2)) - del tmp31 - tmp12 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (2, 3, 4, 5), (4, 5, 0, 1), optimize=True) - rdm2.bbbb.oovv += einsum(tmp12, (0, 1, 2, 3), t2.bbbb, (0, 1, 4, 5), (3, 2, 5, 4), optimize=True) * 2 - rdm2.bbbb.oooo += tmp12.transpose((3, 2, 1, 0)) * 2 - del tmp12 - tmp29 = tmp19.copy() * 4 - tmp29 += tmp28 - del tmp28 - rdm2.abab.oovv += einsum(t2.abab, (0, 1, 2, 3), tmp29, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) - del tmp29 - tmp30 = tmp21.copy() - tmp30 += tmp17 - rdm2.abab.oovv += einsum(tmp30, (0, 1, 2, 3), t2.bbbb, (1, 4, 3, 5), (0, 4, 2, 5), optimize=True) * 4 - del tmp30 - tmp9 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 3, 4, 5), (4, 0, 5, 1), optimize=True) - rdm2.abab.oovv += einsum(tmp9, (0, 1, 2, 3), t2.abab, (0, 2, 4, 5), (1, 3, 4, 5), optimize=True) - rdm2.abab.oooo = tmp9.transpose((1, 3, 0, 2)).copy() - del tmp9 - tmp8 = tmp0.copy() * 2 - tmp8 += tmp1 - rdm2.abab.oovv += einsum(t2.abab, (0, 1, 2, 3), tmp8, (0, 4), (4, 1, 2, 3), optimize=True) * -1 - rdm2.abab.oooo += einsum(delta.bb.oo, (0, 1), tmp8, (2, 3), (3, 1, 2, 0), optimize=True) * -1 - del tmp8 - tmp4 = einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 5, 0, 1), (2, 3, 4, 5), optimize=True) - rdm2.aaaa.oovv += einsum(tmp4, (0, 1, 2, 3), t2.aaaa, (0, 1, 4, 5), (3, 2, 5, 4), optimize=True) * 2 - rdm2.aaaa.oooo += tmp4.transpose((3, 2, 1, 0)) * 2 - del tmp4 - tmp18 = einsum(tmp17, (0, 1, 2, 3), t2.abab, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) - del tmp17 - rdm2.aaaa.oovv += tmp18 * 2 - rdm2.aaaa.oovv += tmp18.transpose((0, 1, 3, 2)) * -2 - del tmp18 - tmp22 = einsum(t2.abab, (0, 1, 2, 3), tmp21, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) - del tmp21 - rdm2.aaaa.oovv += tmp22.transpose((1, 0, 3, 2)) * 2 - rdm2.aaaa.oovv += tmp22 * 2 - rdm2.aaaa.oovv += tmp22.transpose((1, 0, 2, 3)) * -2 - rdm2.aaaa.oovv += tmp22.transpose((0, 1, 3, 2)) * -2 - del tmp22 - tmp20 = einsum(tmp19, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 2), (1, 4, 3, 5), optimize=True) - del tmp19 - rdm2.aaaa.oovv += tmp20 * 8 - rdm2.aaaa.oovv += tmp20.transpose((0, 1, 3, 2)) * -8 - del tmp20 - tmp16 = einsum(tmp3, (0, 1), t2.aaaa, (0, 2, 3, 4), (2, 1, 3, 4), optimize=True) * 4 - del tmp3 - rdm2.aaaa.oovv += tmp16.transpose((0, 1, 3, 2)) * -1 - rdm2.aaaa.oovv += tmp16.transpose((1, 0, 3, 2)) - del tmp16 - tmp10 = delta.bb.oo.transpose((1, 0)).copy() * -0.5 - tmp10 += tmp5 * 0.5 - tmp10 += tmp6 - rdm2.bbbb.oooo += einsum(tmp10, (0, 1), delta.bb.oo, (2, 3), (1, 3, 2, 0), optimize=True) * 2 - rdm2.bbbb.oooo += einsum(delta.bb.oo, (0, 1), tmp10, (2, 3), (1, 3, 0, 2), optimize=True) * -2 - del tmp10 - tmp7 = delta.bb.oo.transpose((1, 0)).copy() * -1 - tmp7 += tmp5 - del tmp5 - tmp7 += tmp6 * 2 - del tmp6 - rdm2.abab.oooo += einsum(tmp7, (0, 1), delta.aa.oo, (2, 3), (3, 1, 2, 0), optimize=True) * -1 - del tmp7 - tmp2 = delta.aa.oo.transpose((1, 0)).copy() * -1 - tmp2 += tmp0 * 2 - del tmp0 - tmp2 += tmp1 - del tmp1 - rdm2.aaaa.oooo += einsum(delta.aa.oo, (0, 1), tmp2, (2, 3), (3, 1, 0, 2), optimize=True) - rdm2.aaaa.oooo += einsum(delta.aa.oo, (0, 1), tmp2, (2, 3), (1, 3, 0, 2), optimize=True) * -1 - del delta, tmp2 - rdm2.aaaa.oovv += t2.aaaa.transpose((1, 0, 3, 2)) * 2 - rdm2.abab.oovv += t2.abab - rdm2.bbbb.oovv += t2.bbbb.transpose((1, 0, 3, 2)) * 2 - rdm2.abab.vovo += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 5, 1), (0, 4, 5, 3), optimize=True) * -1 - rdm2.aaaa.vvoo = l2.aaaa.transpose((1, 0, 3, 2)).copy() * 2 - rdm2.abab.vvoo = l2.abab.copy() - rdm2.bbbb.vvoo = l2.bbbb.transpose((1, 0, 3, 2)).copy() * 2 - rdm2.aaaa.vvvv = einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (2, 3, 4, 5), (1, 0, 5, 4), optimize=True) * 2 - rdm2.abab.vvvv = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (4, 5, 0, 1), (4, 5, 2, 3), optimize=True) - rdm2.bbbb.vvvv = einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (2, 3, 4, 5), (1, 0, 5, 4), optimize=True) * 2 - rdm2.aaaa.ooov = np.zeros((t2.aaaa.shape[0], t2.aaaa.shape[0], t2.aaaa.shape[0], t2.aaaa.shape[-1])) - rdm2.aaaa.oovo = np.zeros((t2.aaaa.shape[0], t2.aaaa.shape[0], t2.aaaa.shape[-1], t2.aaaa.shape[0])) - rdm2.aaaa.ovoo = np.zeros((t2.aaaa.shape[0], t2.aaaa.shape[-1], t2.aaaa.shape[0], t2.aaaa.shape[0])) - rdm2.aaaa.vooo = np.zeros((t2.aaaa.shape[-1], t2.aaaa.shape[0], t2.aaaa.shape[0], t2.aaaa.shape[0])) - rdm2.aaaa.ovvv = np.zeros((t2.aaaa.shape[0], t2.aaaa.shape[-1], t2.aaaa.shape[-1], t2.aaaa.shape[-1])) - rdm2.aaaa.vovv = np.zeros((t2.aaaa.shape[-1], t2.aaaa.shape[0], t2.aaaa.shape[-1], t2.aaaa.shape[-1])) - rdm2.aaaa.vvov = np.zeros((t2.aaaa.shape[-1], t2.aaaa.shape[-1], t2.aaaa.shape[0], t2.aaaa.shape[-1])) - rdm2.aaaa.vvvo = np.zeros((t2.aaaa.shape[-1], t2.aaaa.shape[-1], t2.aaaa.shape[-1], t2.aaaa.shape[0])) - rdm2.aabb.ooov = np.zeros((t2.aaaa.shape[0], t2.aaaa.shape[0], t2.bbbb.shape[0], t2.bbbb.shape[-1])) - rdm2.aabb.oovo = np.zeros((t2.aaaa.shape[0], t2.aaaa.shape[0], t2.bbbb.shape[-1], t2.bbbb.shape[0])) - rdm2.aabb.ovoo = np.zeros((t2.aaaa.shape[0], t2.aaaa.shape[-1], t2.bbbb.shape[0], t2.bbbb.shape[0])) - rdm2.aabb.vooo = np.zeros((t2.aaaa.shape[-1], t2.aaaa.shape[0], t2.bbbb.shape[0], t2.bbbb.shape[0])) - rdm2.aabb.ovvv = np.zeros((t2.aaaa.shape[0], t2.aaaa.shape[-1], t2.bbbb.shape[-1], t2.bbbb.shape[-1])) - rdm2.aabb.vovv = np.zeros((t2.aaaa.shape[-1], t2.aaaa.shape[0], t2.bbbb.shape[-1], t2.bbbb.shape[-1])) - rdm2.aabb.vvov = np.zeros((t2.aaaa.shape[-1], t2.aaaa.shape[-1], t2.bbbb.shape[0], t2.bbbb.shape[-1])) - rdm2.aabb.vvvo = np.zeros((t2.aaaa.shape[-1], t2.aaaa.shape[-1], t2.bbbb.shape[-1], t2.bbbb.shape[0])) - rdm2.bbaa.ooov = np.zeros((t2.bbbb.shape[0], t2.bbbb.shape[0], t2.aaaa.shape[0], t2.aaaa.shape[-1])) - rdm2.bbaa.oovo = np.zeros((t2.bbbb.shape[0], t2.bbbb.shape[0], t2.aaaa.shape[-1], t2.aaaa.shape[0])) - rdm2.bbaa.ovoo = np.zeros((t2.bbbb.shape[0], t2.bbbb.shape[-1], t2.aaaa.shape[0], t2.aaaa.shape[0])) - rdm2.bbaa.vooo = np.zeros((t2.bbbb.shape[-1], t2.bbbb.shape[0], t2.aaaa.shape[0], t2.aaaa.shape[0])) - rdm2.bbaa.ovvv = np.zeros((t2.bbbb.shape[0], t2.bbbb.shape[-1], t2.aaaa.shape[-1], t2.aaaa.shape[-1])) - rdm2.bbaa.vovv = np.zeros((t2.bbbb.shape[-1], t2.bbbb.shape[0], t2.aaaa.shape[-1], t2.aaaa.shape[-1])) - rdm2.bbaa.vvov = np.zeros((t2.bbbb.shape[-1], t2.bbbb.shape[-1], t2.aaaa.shape[0], t2.aaaa.shape[-1])) - rdm2.bbaa.vvvo = np.zeros((t2.bbbb.shape[-1], t2.bbbb.shape[-1], t2.aaaa.shape[-1], t2.aaaa.shape[0])) - rdm2.bbbb.ooov = np.zeros((t2.bbbb.shape[0], t2.bbbb.shape[0], t2.bbbb.shape[0], t2.bbbb.shape[-1])) - rdm2.bbbb.oovo = np.zeros((t2.bbbb.shape[0], t2.bbbb.shape[0], t2.bbbb.shape[-1], t2.bbbb.shape[0])) - rdm2.bbbb.ovoo = np.zeros((t2.bbbb.shape[0], t2.bbbb.shape[-1], t2.bbbb.shape[0], t2.bbbb.shape[0])) - rdm2.bbbb.vooo = np.zeros((t2.bbbb.shape[-1], t2.bbbb.shape[0], t2.bbbb.shape[0], t2.bbbb.shape[0])) - rdm2.bbbb.ovvv = np.zeros((t2.bbbb.shape[0], t2.bbbb.shape[-1], t2.bbbb.shape[-1], t2.bbbb.shape[-1])) - rdm2.bbbb.vovv = np.zeros((t2.bbbb.shape[-1], t2.bbbb.shape[0], t2.bbbb.shape[-1], t2.bbbb.shape[-1])) - rdm2.bbbb.vvov = np.zeros((t2.bbbb.shape[-1], t2.bbbb.shape[-1], t2.bbbb.shape[0], t2.bbbb.shape[-1])) - rdm2.bbbb.vvvo = np.zeros((t2.bbbb.shape[-1], t2.bbbb.shape[-1], t2.bbbb.shape[-1], t2.bbbb.shape[0])) - rdm2.aaaa = pack_2e(rdm2.aaaa.oooo, rdm2.aaaa.ooov, rdm2.aaaa.oovo, rdm2.aaaa.ovoo, rdm2.aaaa.vooo, rdm2.aaaa.oovv, rdm2.aaaa.ovov, rdm2.aaaa.ovvo, rdm2.aaaa.voov, rdm2.aaaa.vovo, rdm2.aaaa.vvoo, rdm2.aaaa.ovvv, rdm2.aaaa.vovv, rdm2.aaaa.vvov, rdm2.aaaa.vvvo, rdm2.aaaa.vvvv) - rdm2.abab = pack_2e(rdm2.abab.oooo, rdm2.abab.ooov, rdm2.abab.oovo, rdm2.abab.ovoo, rdm2.abab.vooo, rdm2.abab.oovv, rdm2.abab.ovov, rdm2.abab.ovvo, rdm2.abab.voov, rdm2.abab.vovo, rdm2.abab.vvoo, rdm2.abab.ovvv, rdm2.abab.vovv, rdm2.abab.vvov, rdm2.abab.vvvo, rdm2.abab.vvvv) - rdm2.bbbb = pack_2e(rdm2.bbbb.oooo, rdm2.bbbb.ooov, rdm2.bbbb.oovo, rdm2.bbbb.ovoo, rdm2.bbbb.vooo, rdm2.bbbb.oovv, rdm2.bbbb.ovov, rdm2.bbbb.ovvo, rdm2.bbbb.voov, rdm2.bbbb.vovo, rdm2.bbbb.vvoo, rdm2.bbbb.ovvv, rdm2.bbbb.vovv, rdm2.bbbb.vvov, rdm2.bbbb.vvvo, rdm2.bbbb.vvvv) - rdm2 = Namespace( - aaaa=rdm2.aaaa.swapaxes(1, 2), - aabb=rdm2.abab.swapaxes(1, 2), - bbbb=rdm2.bbbb.swapaxes(1, 2), - ) - - return rdm2 - diff --git a/ebcc/codegen/UDFCCSD.py b/ebcc/codegen/UDFCCSD.py deleted file mode 100644 index c2ad657f..00000000 --- a/ebcc/codegen/UDFCCSD.py +++ /dev/null @@ -1,2580 +0,0 @@ -""" -Code generated by `albert`: -https://github.com/obackhouse/albert - - * date: 2024-07-18T20:45:25.229848 - * python version: 3.10.12 (main, Mar 22 2024, 16:50:05) [GCC 11.4.0] - * albert version: 0.0.0 - * caller: /home/ollie/git/albert/albert/codegen/einsum.py - * node: ollie-desktop - * system: Linux - * processor: x86_64 - * release: 6.5.0-44-generic -""" - -from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, direct_sum, Namespace - - -def energy(f=None, t1=None, t2=None, v=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-07-18T20:45:26.470368. - - Parameters - ---------- - f : Namespace of arrays - Fock matrix. - t1 : Namespace of arrays - T1 amplitudes. - t2 : Namespace of arrays - T2 amplitudes. - v : Namespace of arrays - Electron repulsion integrals. - - Returns - ------- - e_cc : float - Coupled cluster energy. - """ - - tmp0 = einsum(v.bbb.xov, (0, 1, 2), t1.bb, (1, 2), (0,), optimize=True) - tmp5 = einsum(v.bbb.xov, (0, 1, 2), t1.bb, (3, 2), (3, 1, 0), optimize=True) - tmp3 = einsum(t1.aa, (0, 1), v.baa.xov, (2, 3, 1), (0, 3, 2), optimize=True) - tmp1 = einsum(t1.aa, (0, 1), v.baa.xov, (2, 0, 1), (2,), optimize=True) - tmp1 += tmp0 * 2 - tmp7 = einsum(v.bbb.xov, (0, 1, 2), t2.bbbb, (3, 1, 4, 2), (3, 4, 0), optimize=True) - tmp7 += einsum(tmp0, (0,), t1.bb, (1, 2), (1, 2, 0), optimize=True) * 0.5 - del tmp0 - e_cc = einsum(v.bbb.xov, (0, 1, 2), tmp7, (1, 2, 0), (), optimize=True) - del tmp7 - tmp6 = f.bb.ov.copy() * 2 - tmp6 += einsum(v.bbb.xov, (0, 1, 2), tmp5, (1, 3, 0), (3, 2), optimize=True) * -1 - del tmp5 - e_cc += einsum(tmp6, (0, 1), t1.bb, (0, 1), (), optimize=True) * 0.5 - del tmp6 - tmp4 = f.aa.ov.copy() * 2 - tmp4 += einsum(tmp3, (0, 1, 2), v.baa.xov, (2, 0, 3), (1, 3), optimize=True) * -1 - del tmp3 - e_cc += einsum(t1.aa, (0, 1), tmp4, (0, 1), (), optimize=True) * 0.5 - del tmp4 - tmp2 = einsum(v.baa.xov, (0, 1, 2), t2.aaaa, (3, 1, 4, 2), (3, 4, 0), optimize=True) - tmp2 += einsum(v.bbb.xov, (0, 1, 2), t2.abab, (3, 1, 4, 2), (3, 4, 0), optimize=True) - tmp2 += einsum(tmp1, (0,), t1.aa, (1, 2), (1, 2, 0), optimize=True) * 0.5 - del tmp1 - e_cc += einsum(tmp2, (0, 1, 2), v.baa.xov, (2, 0, 1), (), optimize=True) - del tmp2 - - return e_cc - -def update_amps(f=None, t1=None, t2=None, v=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-07-18T20:46:30.783199. - - Parameters - ---------- - f : Namespace of arrays - Fock matrix. - t1 : Namespace of arrays - T1 amplitudes. - t2 : Namespace of arrays - T2 amplitudes. - v : Namespace of arrays - Electron repulsion integrals. - - Returns - ------- - t1new : Namespace of arrays - Updated T1 residuals. - t2new : Namespace of arrays - Updated T2 residuals. - """ - - t1new = Namespace() - t2new = Namespace() - tmp8 = einsum(t1.aa, (0, 1), v.baa.xov, (2, 0, 1), (2,), optimize=True) - tmp9 = einsum(v.bbb.xov, (0, 1, 2), t1.bb, (1, 2), (0,), optimize=True) - tmp12 = einsum(v.bbb.xov, (0, 1, 2), t1.bb, (3, 2), (3, 1, 0), optimize=True) - tmp0 = einsum(t1.aa, (0, 1), v.baa.xov, (2, 3, 1), (0, 3, 2), optimize=True) - tmp154 = einsum(v.bbb.xov, (0, 1, 2), t1.bb, (1, 3), (3, 2, 0), optimize=True) - tmp10 = tmp8.copy() - tmp10 += tmp9 - tmp33 = einsum(v.bbb.xov, (0, 1, 2), t2.bbbb, (3, 1, 2, 4), (3, 4, 0), optimize=True) * -1 - tmp30 = einsum(v.baa.xov, (0, 1, 2), t2.abab, (1, 3, 2, 4), (3, 4, 0), optimize=True) - tmp13 = einsum(tmp12, (0, 1, 2), v.bbb.xov, (2, 0, 3), (1, 3), optimize=True) - tmp168 = einsum(t1.bb, (0, 1), tmp12, (2, 0, 3), (2, 1, 3), optimize=True) - tmp131 = einsum(t1.bb, (0, 1), v.bbb.xvv, (2, 3, 1), (0, 3, 2), optimize=True) - tmp14 = tmp8.copy() - del tmp8 - tmp14 += tmp9 - del tmp9 - tmp71 = einsum(t1.aa, (0, 1), tmp0, (2, 0, 3), (2, 1, 3), optimize=True) - tmp60 = einsum(v.baa.xvv, (0, 1, 2), t1.aa, (3, 2), (3, 1, 0), optimize=True) - tmp47 = einsum(t1.aa, (0, 1), v.baa.xov, (2, 0, 3), (1, 3, 2), optimize=True) - tmp6 = einsum(v.bbb.xov, (0, 1, 2), t2.abab, (3, 1, 4, 2), (3, 4, 0), optimize=True) - tmp20 = einsum(v.baa.xov, (0, 1, 2), t2.aaaa, (1, 3, 4, 2), (3, 4, 0), optimize=True) * -1 - tmp17 = einsum(v.baa.xov, (0, 1, 2), tmp0, (1, 3, 0), (3, 2), optimize=True) - tmp210 = v.bbb.xvv.transpose((2, 1, 0)).copy() - tmp210 += tmp154.transpose((1, 0, 2)) * -1 - tmp180 = einsum(v.bbb.xov, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (3, 4, 1, 2), optimize=True) - tmp136 = tmp30.copy() - tmp136 += tmp33 * 2 - tmp136 += einsum(tmp10, (0,), t1.bb, (1, 2), (1, 2, 0), optimize=True) - tmp200 = f.bb.ov.copy() * -1 - tmp200 += tmp13 - tmp169 = tmp131.copy() - tmp169 += tmp168 * -1 - t2new.abab = einsum(tmp20, (0, 1, 2), tmp169, (3, 4, 2), (0, 3, 1, 4), optimize=True) * 2 - tmp151 = v.bbb.xoo.transpose((2, 1, 0)).copy() - tmp151 += tmp12.transpose((1, 0, 2)) - tmp15 = einsum(v.bbb.xov, (0, 1, 2), tmp14, (0,), (1, 2), optimize=True) - t1new.bb = tmp15.copy() - tmp88 = v.baa.xoo.transpose((2, 1, 0)).copy() - tmp88 += tmp0.transpose((1, 0, 2)) - tmp72 = tmp60.copy() - tmp72 += tmp71 * -1 - tmp89 = v.baa.xvv.transpose((2, 1, 0)).copy() - tmp89 += tmp47.transpose((1, 0, 2)) * -1 - tmp75 = tmp20.copy() * 2 - tmp75 += tmp6 - tmp75 += einsum(t1.aa, (0, 1), tmp10, (2,), (0, 1, 2), optimize=True) - tmp77 = f.aa.ov.copy() * -1 - tmp77 += tmp17 - tmp42 = einsum(v.baa.xov, (0, 1, 2), v.baa.xoo, (0, 3, 4), (3, 4, 1, 2), optimize=True) - tmp45 = einsum(v.baa.xov, (0, 1, 2), v.baa.xov, (0, 3, 4), (3, 1, 4, 2), optimize=True) - tmp220 = einsum(tmp210, (0, 1, 2), v.bbb.xoo, (2, 3, 4), (3, 4, 0, 1), optimize=True) - tmp181 = einsum(t1.bb, (0, 1), tmp180, (2, 0, 3, 4), (2, 3, 1, 4), optimize=True) - del tmp180 - t2new.bbbb = tmp181.copy() * -1 - t2new.bbbb += tmp181.transpose((1, 0, 2, 3)) - t2new.bbbb += tmp181.transpose((0, 1, 3, 2)) - tmp199 = einsum(v.bbb.xov, (0, 1, 2), tmp136, (3, 2, 0), (1, 3), optimize=True) - tmp201 = einsum(tmp200, (0, 1), t1.bb, (2, 1), (0, 2), optimize=True) - del tmp200 - tmp29 = einsum(t1.bb, (0, 1), v.bbb.xoo, (2, 3, 0), (3, 1, 2), optimize=True) - tmp208 = t2.bbbb.transpose((1, 0, 3, 2)).copy() * 2 - tmp208 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1), optimize=True) * -1 - tmp52 = einsum(v.bbb.xov, (0, 1, 2), v.bbb.xov, (0, 3, 4), (1, 3, 2, 4), optimize=True) - tmp226 = einsum(tmp12, (0, 1, 2), tmp12, (3, 4, 2), (0, 3, 1, 4), optimize=True) - tmp170 = einsum(v.bbb.xov, (0, 1, 2), tmp169, (3, 4, 0), (1, 3, 2, 4), optimize=True) - tmp217 = einsum(tmp210, (0, 1, 2), tmp12, (3, 4, 2), (3, 4, 0, 1), optimize=True) - tmp152 = einsum(tmp151, (0, 1, 2), t1.bb, (0, 3), (1, 3, 2), optimize=True) - tmp16 = f.bb.ov.copy() - tmp16 += tmp13 * -1 - tmp16 += tmp15 - del tmp15 - t1new.bb += einsum(t2.bbbb, (0, 1, 2, 3), tmp16, (0, 2), (1, 3), optimize=True) * 2 - t1new.aa = einsum(t2.abab, (0, 1, 2, 3), tmp16, (1, 3), (0, 2), optimize=True) - tmp184 = v.bbb.xvv.transpose((2, 1, 0)).copy() - tmp184 += tmp154.transpose((1, 0, 2)) * -1 - tmp195 = einsum(v.bbb.xoo, (0, 1, 2), tmp12, (3, 4, 0), (3, 2, 1, 4), optimize=True) - tmp5 = einsum(t1.aa, (0, 1), v.baa.xoo, (2, 3, 0), (3, 1, 2), optimize=True) - tmp22 = f.aa.ov.copy() - tmp22 += tmp17 * -1 - tmp61 = tmp60.copy() - tmp61 += tmp20 * 2 - tmp61 += tmp6 - tmp61 += einsum(t1.aa, (0, 1), tmp10, (2,), (0, 1, 2), optimize=True) - tmp144 = einsum(v.bbb.xov, (0, 1, 2), v.baa.xov, (0, 3, 4), (3, 1, 4, 2), optimize=True) - tmp18 = einsum(v.baa.xov, (0, 1, 2), tmp14, (0,), (1, 2), optimize=True) - t1new.aa += tmp18 - tmp86 = t2.aaaa.transpose((1, 0, 3, 2)).copy() * 2 - tmp86 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (2, 0, 1, 3), optimize=True) * -1 - tmp92 = einsum(t1.aa, (0, 1), tmp88, (0, 2, 3), (2, 1, 3), optimize=True) - tmp98 = einsum(v.baa.xov, (0, 1, 2), tmp72, (3, 4, 0), (1, 3, 2, 4), optimize=True) - tmp99 = einsum(tmp0, (0, 1, 2), tmp89, (3, 4, 2), (0, 1, 3, 4), optimize=True) - tmp50 = einsum(v.bbb.xov, (0, 1, 2), v.baa.xoo, (0, 3, 4), (3, 4, 1, 2), optimize=True) - tmp76 = einsum(tmp75, (0, 1, 2), v.baa.xov, (2, 3, 1), (3, 0), optimize=True) - del tmp75 - tmp78 = einsum(t1.aa, (0, 1), tmp77, (2, 1), (0, 2), optimize=True) - del tmp77 - tmp108 = einsum(tmp0, (0, 1, 2), tmp0, (3, 4, 2), (3, 0, 4, 1), optimize=True) - tmp48 = v.baa.xvv.transpose((2, 1, 0)).copy() - tmp48 += tmp47.transpose((1, 0, 2)) * -1 - tmp43 = einsum(t1.aa, (0, 1), tmp42, (2, 0, 3, 4), (2, 3, 1, 4), optimize=True) - del tmp42 - t2new.aaaa = tmp43.copy() * -1 - t2new.aaaa += tmp43.transpose((1, 0, 2, 3)) - t2new.aaaa += tmp43.transpose((0, 1, 3, 2)) - tmp102 = einsum(v.baa.xoo, (0, 1, 2), tmp89, (3, 4, 0), (1, 2, 3, 4), optimize=True) - tmp69 = einsum(tmp0, (0, 1, 2), v.baa.xoo, (2, 3, 4), (0, 4, 3, 1), optimize=True) - tmp204 = einsum(v.bbb.xoo, (0, 1, 2), tmp131, (3, 4, 0), (3, 2, 1, 4), optimize=True) - tmp186 = einsum(v.baa.xov, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (1, 3, 4, 2), optimize=True) - tmp187 = tmp45.transpose((1, 0, 2, 3)).copy() * -1 - tmp187 += tmp45.transpose((1, 0, 3, 2)) - tmp221 = tmp181.copy() - tmp221 += tmp220.transpose((1, 0, 3, 2)) - del tmp220 - tmp237 = einsum(tmp12, (0, 1, 2), v.bbb.xov, (2, 3, 4), (0, 3, 1, 4), optimize=True) - tmp202 = tmp199.transpose((1, 0)).copy() - del tmp199 - tmp202 += tmp201.transpose((1, 0)) * -1 - del tmp201 - tmp209 = tmp29.copy() * -1 - tmp209 += tmp131 - tmp209 += einsum(v.bbb.xov, (0, 1, 2), tmp208, (1, 3, 2, 4), (3, 4, 0), optimize=True) - del tmp208 - tmp192 = tmp131.copy() - tmp192 += tmp30 - tmp192 += tmp33 * 2 - tmp192 += einsum(tmp10, (0,), t1.bb, (1, 2), (1, 2, 0), optimize=True) - tmp36 = f.bb.ov.copy() - tmp36 += tmp13 * -1 - del tmp13 - tmp128 = tmp30.copy() * 0.5 - tmp128 += tmp33 - tmp233 = einsum(tmp52, (0, 1, 2, 3), t2.bbbb, (4, 5, 2, 3), (4, 5, 1, 0), optimize=True) * -1 - tmp124 = einsum(v.bbb.xoo, (0, 1, 2), tmp12, (2, 3, 0), (1, 3), optimize=True) - tmp230 = einsum(t1.bb, (0, 1), tmp226, (2, 3, 0, 4), (3, 2, 4, 1), optimize=True) - tmp35 = einsum(tmp10, (0,), v.bbb.xoo, (0, 1, 2), (1, 2), optimize=True) - tmp218 = tmp170.transpose((1, 0, 3, 2)).copy() * -1 - tmp218 += tmp217.transpose((0, 1, 3, 2)) - del tmp217 - tmp212 = tmp131.copy() * -1 - tmp212 += tmp30 * -1 - tmp212 += tmp152 - tmp215 = einsum(tmp30, (0, 1, 2), v.bbb.xoo, (2, 3, 4), (0, 4, 3, 1), optimize=True) - tmp133 = einsum(v.bbb.xvv, (0, 1, 2), tmp14, (0,), (1, 2), optimize=True) - tmp132 = einsum(v.bbb.xov, (0, 1, 2), tmp131, (1, 3, 0), (2, 3), optimize=True) - tmp134 = einsum(tmp16, (0, 1), t1.bb, (0, 2), (2, 1), optimize=True) - del tmp16 - tmp197 = einsum(tmp169, (0, 1, 2), v.bbb.xoo, (2, 3, 4), (3, 4, 0, 1), optimize=True) - tmp130 = tmp30.copy() - tmp130 += tmp33 * 2 - t2new.abab += einsum(v.baa.xov, (0, 1, 2), tmp130, (3, 4, 0), (1, 3, 2, 4), optimize=True) - tmp240 = einsum(v.bbb.xov, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (1, 3, 4, 2), optimize=True) - tmp228 = einsum(tmp131, (0, 1, 2), tmp12, (3, 4, 2), (3, 0, 4, 1), optimize=True) - tmp235 = einsum(v.bbb.xov, (0, 1, 2), tmp184, (3, 4, 0), (1, 4, 3, 2), optimize=True) - tmp206 = einsum(t1.bb, (0, 1), tmp195, (2, 3, 4, 0), (2, 3, 4, 1), optimize=True) - tmp183 = tmp52.transpose((1, 0, 2, 3)).copy() - tmp183 += tmp52.transpose((1, 0, 3, 2)) * -1 - tmp147 = tmp5.copy() * -1 - tmp147 += tmp20 * 2 - tmp147 += tmp6 - tmp91 = einsum(t2.abab, (0, 1, 2, 3), tmp52, (1, 4, 5, 3), (0, 4, 2, 5), optimize=True) - tmp141 = tmp20.copy() - tmp141 += tmp6 * 0.5 - tmp141 += einsum(t1.aa, (0, 1), tmp10, (2,), (0, 1, 2), optimize=True) * 0.5 - tmp23 = einsum(t1.aa, (0, 1), tmp22, (2, 1), (0, 2), optimize=True) * 0.5 - tmp38 = einsum(tmp0, (0, 1, 2), v.baa.xoo, (2, 3, 0), (3, 1), optimize=True) - tmp57 = einsum(v.baa.xoo, (0, 1, 2), tmp14, (0,), (1, 2), optimize=True) - tmp27 = v.bbb.xoo.transpose((2, 1, 0)).copy() - tmp27 += tmp12 - tmp145 = v.baa.xvv.transpose((2, 1, 0)).copy() - tmp145 += tmp47 * -1 - tmp148 = v.baa.xvv.transpose((2, 1, 0)).copy() - tmp148 += tmp47 * -1 - del tmp47 - tmp155 = v.bbb.xvv.transpose((2, 1, 0)).copy() - tmp155 += tmp154 * -1 - tmp174 = einsum(v.baa.xov, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (1, 2, 3, 4), optimize=True) - tmp85 = einsum(tmp45, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 3), (4, 1, 5, 2), optimize=True) - tmp62 = einsum(v.baa.xov, (0, 1, 2), tmp61, (1, 3, 0), (2, 3), optimize=True) - del tmp61 - tmp63 = einsum(v.baa.xvv, (0, 1, 2), tmp10, (0,), (1, 2), optimize=True) - tmp64 = einsum(t1.aa, (0, 1), tmp22, (0, 2), (1, 2), optimize=True) - del tmp22 - tmp165 = einsum(tmp144, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 4, 3), optimize=True) - tmp166 = v.bbb.xvv.transpose((2, 1, 0)).copy() - tmp166 += tmp154 * -1 - del tmp154 - tmp31 = t2.bbbb.transpose((1, 0, 3, 2)).copy() * 2 - tmp31 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1), optimize=True) * -1 - tmp161 = v.bbb.xov.transpose((1, 2, 0)).copy() * -1 - tmp161 += tmp29 - tmp19 = f.aa.ov.copy() - tmp19 += tmp17 * -1 - del tmp17 - tmp19 += tmp18 - del tmp18 - t1new.bb += einsum(tmp19, (0, 1), t2.abab, (0, 2, 1, 3), (2, 3), optimize=True) - t1new.aa += einsum(t2.aaaa, (0, 1, 2, 3), tmp19, (0, 2), (1, 3), optimize=True) * 2 - tmp87 = tmp5.copy() * -1 - tmp87 += tmp60 - tmp87 += einsum(v.baa.xov, (0, 1, 2), tmp86, (1, 3, 2, 4), (3, 4, 0), optimize=True) - del tmp86 - tmp93 = tmp60.copy() * -1 - tmp93 += tmp6 * -1 - tmp93 += tmp92 - tmp100 = tmp98.transpose((1, 0, 3, 2)).copy() * -1 - tmp100 += tmp99.transpose((0, 1, 3, 2)) - del tmp99 - tmp96 = einsum(tmp6, (0, 1, 2), v.baa.xoo, (2, 3, 4), (0, 4, 3, 1), optimize=True) - tmp51 = einsum(tmp50, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 4, 3), optimize=True) - del tmp50 - t2new.abab += tmp51 * -1 - tmp53 = tmp52.transpose((1, 0, 2, 3)).copy() * -1 - tmp53 += tmp52.transpose((1, 0, 3, 2)) - tmp55 = tmp20.copy() * 2 - tmp55 += tmp6 - tmp79 = tmp76.transpose((1, 0)).copy() - del tmp76 - tmp79 += tmp78 * -1 - del tmp78 - tmp112 = einsum(tmp108, (0, 1, 2, 3), t1.aa, (2, 4), (1, 0, 3, 4), optimize=True) - tmp115 = einsum(t2.aaaa, (0, 1, 2, 3), tmp45, (4, 5, 2, 3), (0, 1, 5, 4), optimize=True) * -1 - tmp117 = einsum(v.baa.xov, (0, 1, 2), tmp48, (3, 4, 0), (1, 4, 3, 2), optimize=True) - tmp122 = einsum(v.baa.xvv, (0, 1, 2), v.baa.xov, (0, 3, 4), (3, 1, 2, 4), optimize=True) - tmp103 = tmp43.copy() - tmp103 += tmp102.transpose((1, 0, 3, 2)) - del tmp102 - tmp81 = einsum(tmp69, (0, 1, 2, 3), t1.aa, (3, 4), (0, 1, 2, 4), optimize=True) - tmp46 = tmp45.transpose((1, 0, 2, 3)).copy() * -1 - tmp46 += tmp45.transpose((1, 0, 3, 2)) - tmp73 = einsum(tmp72, (0, 1, 2), v.baa.xoo, (2, 3, 4), (3, 4, 0, 1), optimize=True) - tmp83 = einsum(tmp60, (0, 1, 2), v.baa.xoo, (2, 3, 4), (0, 4, 3, 1), optimize=True) - tmp110 = einsum(tmp60, (0, 1, 2), tmp0, (3, 4, 2), (3, 0, 4, 1), optimize=True) - tmp66 = tmp20.copy() * 2 - tmp66 += tmp6 - tmp119 = einsum(tmp0, (0, 1, 2), v.baa.xov, (2, 3, 4), (0, 3, 1, 4), optimize=True) - tmp25 = v.bbb.xoo.transpose((2, 1, 0)).copy() - tmp25 += tmp12.transpose((1, 0, 2)) - tmp34 = tmp29.copy() * -1 - tmp34 += tmp30 - tmp34 += tmp33 * 2 - tmp34 += einsum(tmp10, (0,), t1.bb, (1, 2), (1, 2, 0), optimize=True) - tmp7 = t2.aaaa.transpose((1, 0, 3, 2)).copy() * 2 - tmp7 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (2, 0, 1, 3), optimize=True) * -1 - tmp21 = tmp5.copy() * -1 - tmp21 += tmp20 * 2 - tmp21 += tmp6 - tmp21 += einsum(t1.aa, (0, 1), tmp10, (2,), (0, 1, 2), optimize=True) - tmp3 = v.baa.xoo.transpose((2, 1, 0)).copy() - tmp3 += tmp0 - tmp1 = v.baa.xoo.transpose((2, 1, 0)).copy() - tmp1 += tmp0.transpose((1, 0, 2)) - tmp205 = einsum(t1.bb, (0, 1), tmp204, (2, 0, 3, 4), (2, 3, 1, 4), optimize=True) - del tmp204 - t2new.bbbb += tmp205.transpose((0, 1, 3, 2)) * -1 - t2new.bbbb += tmp205 - del tmp205 - tmp188 = einsum(t1.bb, (0, 1), tmp186, (2, 3, 0, 4), (2, 3, 4, 1), optimize=True) - del tmp186 - tmp188 += einsum(tmp187, (0, 1, 2, 3), t2.abab, (0, 4, 3, 5), (1, 4, 2, 5), optimize=True) - del tmp187 - t2new.bbbb += einsum(t2.abab, (0, 1, 2, 3), tmp188, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) * -1 - del tmp188 - tmp222 = einsum(t2.bbbb, (0, 1, 2, 3), tmp221, (4, 0, 5, 2), (4, 1, 5, 3), optimize=True) - del tmp221 - t2new.bbbb += tmp222.transpose((0, 1, 3, 2)) * 2 - t2new.bbbb += tmp222.transpose((1, 0, 3, 2)) * -2 - del tmp222 - tmp238 = einsum(tmp237, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 4, 3), optimize=True) - del tmp237 - t2new.bbbb += tmp238 * -1 - t2new.bbbb += tmp238.transpose((1, 0, 2, 3)) - del tmp238 - tmp203 = einsum(tmp202, (0, 1), t2.bbbb, (1, 2, 3, 4), (0, 2, 3, 4), optimize=True) * 2 - del tmp202 - t2new.bbbb += tmp203.transpose((0, 1, 3, 2)) - t2new.bbbb += tmp203.transpose((1, 0, 3, 2)) * -1 - del tmp203 - tmp227 = einsum(t2.bbbb, (0, 1, 2, 3), tmp226, (4, 5, 0, 1), (5, 4, 2, 3), optimize=True) * -1 - del tmp226 - t2new.bbbb += tmp227.transpose((0, 1, 3, 2)) * -1 - t2new.bbbb += tmp227.transpose((0, 1, 3, 2)) * -1 - del tmp227 - tmp211 = einsum(t2.bbbb, (0, 1, 2, 3), tmp52, (1, 4, 5, 3), (0, 4, 2, 5), optimize=True) * 2 - del tmp52 - tmp211 += einsum(v.bbb.xov, (0, 1, 2), tmp209, (3, 4, 0), (3, 1, 4, 2), optimize=True) * -1 - del tmp209 - tmp211 += einsum(tmp151, (0, 1, 2), tmp210, (3, 4, 2), (1, 0, 4, 3), optimize=True) - del tmp210, tmp151 - t2new.bbbb += einsum(tmp211, (0, 1, 2, 3), t2.bbbb, (1, 4, 3, 5), (4, 0, 2, 5), optimize=True) * 2 - del tmp211 - tmp193 = f.bb.vv.transpose((1, 0)).copy() * -1 - tmp193 += einsum(v.bbb.xov, (0, 1, 2), tmp192, (1, 3, 0), (2, 3), optimize=True) - del tmp192 - tmp193 += einsum(v.bbb.xvv, (0, 1, 2), tmp10, (0,), (2, 1), optimize=True) * -1 - tmp193 += einsum(t1.bb, (0, 1), tmp36, (0, 2), (2, 1), optimize=True) - t2new.bbbb += einsum(tmp193, (0, 1), t2.bbbb, (2, 3, 0, 4), (3, 2, 1, 4), optimize=True) * 2 - del tmp193 - tmp189 = einsum(tmp128, (0, 1, 2), v.bbb.xov, (2, 0, 3), (1, 3), optimize=True) - t2new.bbbb += einsum(t2.bbbb, (0, 1, 2, 3), tmp189, (4, 2), (1, 0, 3, 4), optimize=True) * -4 - del tmp189 - tmp234 = einsum(tmp233, (0, 1, 2, 3), t2.bbbb, (3, 2, 4, 5), (1, 0, 4, 5), optimize=True) - del tmp233 - t2new.bbbb += tmp234.transpose((0, 1, 3, 2)) * -1 - t2new.bbbb += tmp234.transpose((0, 1, 3, 2)) * -1 - del tmp234 - tmp225 = einsum(v.bbb.xov, (0, 1, 2), tmp131, (3, 4, 0), (3, 1, 2, 4), optimize=True) - t2new.bbbb += tmp225.transpose((1, 0, 3, 2)) * -1 - t2new.bbbb += tmp225.transpose((0, 1, 3, 2)) - del tmp225 - tmp179 = t2.bbbb.transpose((1, 0, 3, 2)).copy() - tmp179 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (2, 0, 3, 1), optimize=True) - tmp190 = f.bb.oo.transpose((1, 0)).copy() - tmp190 += tmp124.transpose((1, 0)) * -1 - tmp190 += einsum(v.bbb.xoo, (0, 1, 2), tmp14, (0,), (2, 1), optimize=True) - t2new.bbbb += einsum(tmp190, (0, 1), t2.bbbb, (0, 2, 3, 4), (1, 2, 4, 3), optimize=True) * 2 - del tmp190 - tmp231 = einsum(t1.bb, (0, 1), tmp230, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) - del tmp230 - t2new.bbbb += tmp231.transpose((0, 1, 3, 2)) * -1 - t2new.bbbb += tmp231 - del tmp231 - tmp125 = f.bb.oo.transpose((1, 0)).copy() - tmp125 += tmp124.transpose((1, 0)) * -1 - del tmp124 - tmp125 += tmp35.transpose((1, 0)) - t2new.bbbb += einsum(t2.bbbb, (0, 1, 2, 3), tmp125, (0, 4), (1, 4, 3, 2), optimize=True) * -2 - t2new.abab += einsum(tmp125, (0, 1), t2.abab, (2, 0, 3, 4), (2, 1, 3, 4), optimize=True) * -1 - del tmp125 - tmp219 = einsum(t2.bbbb, (0, 1, 2, 3), tmp218, (4, 0, 5, 2), (4, 1, 5, 3), optimize=True) - del tmp218 - t2new.bbbb += tmp219.transpose((0, 1, 3, 2)) * 2 - t2new.bbbb += tmp219.transpose((1, 0, 3, 2)) * -2 - t2new.bbbb += tmp219 * -2 - del tmp219 - tmp213 = einsum(tmp45, (0, 1, 2, 3), t2.abab, (0, 4, 3, 5), (1, 4, 2, 5), optimize=True) - del tmp45 - tmp213 += einsum(tmp212, (0, 1, 2), v.baa.xov, (2, 3, 4), (3, 0, 4, 1), optimize=True) - del tmp212 - t2new.bbbb += einsum(t2.abab, (0, 1, 2, 3), tmp213, (0, 4, 2, 5), (1, 4, 5, 3), optimize=True) - del tmp213 - tmp216 = einsum(t1.bb, (0, 1), tmp215, (2, 0, 3, 4), (2, 3, 1, 4), optimize=True) - del tmp215 - t2new.bbbb += tmp216.transpose((1, 0, 3, 2)) - t2new.bbbb += tmp216.transpose((0, 1, 3, 2)) * -1 - del tmp216 - tmp196 = einsum(t2.bbbb, (0, 1, 2, 3), tmp195, (4, 1, 5, 0), (4, 5, 2, 3), optimize=True) * -1 - del tmp195 - t2new.bbbb += tmp196.transpose((0, 1, 3, 2)) * 2 - t2new.bbbb += tmp196.transpose((1, 0, 3, 2)) * -2 - del tmp196 - tmp232 = einsum(tmp131, (0, 1, 2), tmp131, (3, 4, 2), (3, 0, 4, 1), optimize=True) - t2new.bbbb += tmp232.transpose((0, 1, 3, 2)) * -1 - t2new.bbbb += tmp232 - del tmp232 - tmp191 = t2.bbbb.transpose((1, 0, 3, 2)).copy() - tmp191 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1), optimize=True) * -1 - tmp239 = tmp131.copy() * -1 - tmp239 += tmp168 - t2new.bbbb += einsum(tmp239, (0, 1, 2), tmp30, (3, 4, 2), (3, 0, 4, 1), optimize=True) * -1 - del tmp239 - tmp135 = f.bb.vv.transpose((1, 0)).copy() - tmp135 += tmp132 * -1 - del tmp132 - tmp135 += tmp133.transpose((1, 0)) - del tmp133 - tmp135 += tmp134.transpose((1, 0)) * -1 - del tmp134 - t2new.bbbb += einsum(t2.bbbb, (0, 1, 2, 3), tmp135, (2, 4), (1, 0, 3, 4), optimize=True) * 2 - t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp135, (3, 4), (0, 1, 2, 4), optimize=True) - del tmp135 - tmp198 = einsum(t1.bb, (0, 1), tmp197, (2, 0, 3, 4), (3, 2, 4, 1), optimize=True) - del tmp197 - t2new.bbbb += tmp198.transpose((1, 0, 2, 3)) - t2new.bbbb += tmp198.transpose((1, 0, 3, 2)) * -1 - del tmp198 - tmp194 = einsum(v.bbb.xov, (0, 1, 2), tmp130, (3, 4, 0), (1, 3, 2, 4), optimize=True) - del tmp130 - t2new.bbbb += tmp194.transpose((1, 0, 3, 2)) - t2new.bbbb += tmp194.transpose((1, 0, 2, 3)) * -1 - t2new.bbbb += tmp194.transpose((0, 1, 3, 2)) * -1 - t2new.bbbb += tmp194 - del tmp194 - tmp241 = einsum(tmp240, (0, 1, 2, 3), t2.bbbb, (4, 5, 3, 2), (4, 5, 0, 1), optimize=True) - del tmp240 - t2new.bbbb += einsum(tmp241, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 4, 3), optimize=True) * -2 - del tmp241 - tmp178 = einsum(v.bbb.xoo, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (1, 4, 3, 2), optimize=True) - t2new.bbbb += einsum(tmp178, (0, 1, 2, 3), tmp191, (0, 2, 4, 5), (1, 3, 5, 4), optimize=True) - del tmp191 - t2new.bbbb += einsum(tmp179, (0, 1, 2, 3), tmp178, (0, 4, 1, 5), (4, 5, 3, 2), optimize=True) - del tmp178, tmp179 - tmp182 = einsum(tmp30, (0, 1, 2), tmp33, (3, 4, 2), (0, 3, 1, 4), optimize=True) - t2new.bbbb += tmp182.transpose((1, 0, 2, 3)) * -2 - t2new.bbbb += tmp182.transpose((0, 1, 3, 2)) * -2 - t2new.bbbb += tmp182.transpose((1, 0, 3, 2)) * 2 - t2new.bbbb += tmp182 * 2 - del tmp182 - tmp223 = v.bbb.xov.transpose((1, 2, 0)).copy() - tmp223 += tmp131 - tmp223 += tmp168 * -1 - del tmp168 - t2new.bbbb += einsum(v.bbb.xov, (0, 1, 2), tmp223, (3, 4, 0), (3, 1, 2, 4), optimize=True) * -1 - del tmp223 - tmp214 = v.bbb.xov.transpose((1, 2, 0)).copy() * -1 - tmp214 += tmp131 * -1 - tmp214 += tmp152 - t2new.bbbb += einsum(v.bbb.xov, (0, 1, 2), tmp214, (3, 4, 0), (1, 3, 2, 4), optimize=True) * -1 - del tmp214 - tmp229 = einsum(t1.bb, (0, 1), tmp228, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) - del tmp228 - t2new.bbbb += tmp229.transpose((1, 0, 2, 3)) - t2new.bbbb += tmp229 * -1 - t2new.bbbb += tmp229.transpose((1, 0, 3, 2)) * -1 - t2new.bbbb += tmp229.transpose((0, 1, 3, 2)) - del tmp229 - tmp236 = einsum(v.bbb.xvv, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (4, 1, 2, 3), optimize=True) - tmp236 += einsum(tmp235, (0, 1, 2, 3), t1.bb, (0, 4), (3, 2, 4, 1), optimize=True) - del tmp235 - t2new.bbbb += einsum(tmp236, (0, 1, 2, 3), t2.bbbb, (4, 5, 0, 1), (5, 4, 3, 2), optimize=True) * -2 - del tmp236 - tmp207 = einsum(tmp206, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 4, 3), optimize=True) - del tmp206 - t2new.bbbb += tmp207.transpose((0, 1, 3, 2)) - t2new.bbbb += tmp207 * -1 - del tmp207 - tmp185 = tmp181.copy() * 0.5 - del tmp181 - tmp185 += einsum(tmp183, (0, 1, 2, 3), t2.bbbb, (0, 4, 3, 5), (4, 1, 5, 2), optimize=True) * -1 - del tmp183 - tmp185 += einsum(tmp184, (0, 1, 2), v.bbb.xoo, (2, 3, 4), (4, 3, 1, 0), optimize=True) * 0.5 - del tmp184 - t2new.bbbb += einsum(tmp185, (0, 1, 2, 3), t2.bbbb, (1, 4, 3, 5), (0, 4, 2, 5), optimize=True) * -4 - del tmp185 - tmp224 = einsum(tmp30, (0, 1, 2), tmp169, (3, 4, 2), (0, 3, 1, 4), optimize=True) - del tmp169 - t2new.bbbb += tmp224.transpose((1, 0, 2, 3)) * -1 - t2new.bbbb += tmp224.transpose((1, 0, 3, 2)) - del tmp224 - tmp150 = tmp91.copy() * -1 - tmp150 += einsum(v.bbb.xov, (0, 1, 2), tmp147, (3, 4, 0), (3, 1, 4, 2), optimize=True) - t2new.abab += einsum(tmp150, (0, 1, 2, 3), t2.bbbb, (1, 4, 3, 5), (0, 4, 2, 5), optimize=True) * 2 - del tmp150 - tmp142 = einsum(v.baa.xov, (0, 1, 2), tmp141, (3, 2, 0), (1, 3), optimize=True) - del tmp141 - tmp142 += tmp23.transpose((1, 0)) - t2new.abab += einsum(tmp142, (0, 1), t2.abab, (0, 2, 3, 4), (1, 2, 3, 4), optimize=True) * -2 - del tmp142 - tmp138 = einsum(tmp12, (0, 1, 2), v.baa.xoo, (2, 3, 4), (4, 3, 0, 1), optimize=True) - tmp172 = einsum(v.bbb.xov, (0, 1, 2), tmp0, (3, 4, 0), (3, 4, 1, 2), optimize=True) - t2new.abab += einsum(t1.aa, (0, 1), tmp172, (2, 0, 3, 4), (2, 3, 1, 4), optimize=True) * -1 - del tmp172 - tmp139 = t2.abab.copy() - tmp139 += einsum(t1.aa, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3), optimize=True) - t2new.abab += einsum(tmp138, (0, 1, 2, 3), tmp139, (1, 3, 4, 5), (0, 2, 4, 5), optimize=True) - del tmp138 - tmp58 = f.aa.oo.transpose((1, 0)).copy() - tmp58 += tmp38.transpose((1, 0)) * -1 - tmp58 += tmp57.transpose((1, 0)) - del tmp57 - t2new.abab += einsum(tmp58, (0, 1), t2.abab, (0, 2, 3, 4), (1, 2, 3, 4), optimize=True) * -1 - t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp58, (0, 4), (4, 1, 3, 2), optimize=True) * 2 - del tmp58 - tmp146 = einsum(t2.abab, (0, 1, 2, 3), tmp144, (0, 4, 5, 3), (4, 1, 5, 2), optimize=True) - tmp146 += einsum(tmp27, (0, 1, 2), tmp145, (3, 4, 2), (1, 0, 4, 3), optimize=True) * -1 - del tmp145 - t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp146, (1, 4, 2, 5), (0, 4, 5, 3), optimize=True) - del tmp146 - tmp176 = einsum(v.baa.xoo, (0, 1, 2), tmp131, (3, 4, 0), (2, 1, 3, 4), optimize=True) - t2new.abab += einsum(t1.aa, (0, 1), tmp176, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) * -1 - del tmp176 - tmp158 = tmp98.transpose((1, 0, 2, 3)).copy() * -1 - del tmp98 - tmp158 += einsum(tmp148, (0, 1, 2), tmp0, (3, 4, 2), (3, 4, 1, 0), optimize=True) - t2new.abab += einsum(tmp158, (0, 1, 2, 3), t2.abab, (1, 4, 2, 5), (0, 4, 3, 5), optimize=True) * -1 - del tmp158 - tmp171 = tmp170.transpose((1, 0, 2, 3)).copy() * -1 - del tmp170 - tmp171 += einsum(tmp155, (0, 1, 2), tmp12, (3, 4, 2), (3, 4, 1, 0), optimize=True) - t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp171, (4, 1, 3, 5), (0, 4, 2, 5), optimize=True) * -1 - del tmp171 - tmp140 = einsum(tmp60, (0, 1, 2), v.bbb.xoo, (2, 3, 4), (0, 4, 3, 1), optimize=True) - t2new.abab += einsum(tmp140, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 3, 4), optimize=True) * -1 - del tmp140 - tmp175 = einsum(t2.abab, (0, 1, 2, 3), tmp174, (4, 2, 5, 3), (0, 4, 1, 5), optimize=True) - del tmp174 - t2new.abab += einsum(t1.aa, (0, 1), tmp175, (2, 0, 3, 4), (2, 3, 1, 4), optimize=True) * -1 - del tmp175 - tmp149 = tmp85.transpose((1, 0, 3, 2)).copy() * 2 - tmp149 += einsum(tmp147, (0, 1, 2), v.baa.xov, (2, 3, 4), (3, 0, 4, 1), optimize=True) * -1 - del tmp147 - tmp149 += einsum(tmp148, (0, 1, 2), v.baa.xoo, (2, 3, 4), (4, 3, 1, 0), optimize=True) - del tmp148 - t2new.abab += einsum(tmp149, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) * -1 - del tmp149 - tmp157 = einsum(tmp33, (0, 1, 2), tmp0, (3, 4, 2), (3, 4, 0, 1), optimize=True) - del tmp33 - t2new.abab += einsum(t1.aa, (0, 1), tmp157, (2, 0, 3, 4), (2, 3, 1, 4), optimize=True) * -2 - del tmp157 - tmp137 = einsum(v.bbb.xov, (0, 1, 2), tmp136, (3, 2, 0), (1, 3), optimize=True) * 0.5 - del tmp136 - tmp137 += einsum(t1.bb, (0, 1), tmp36, (2, 1), (2, 0), optimize=True) * 0.5 - t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp137, (1, 4), (0, 4, 2, 3), optimize=True) * -2 - del tmp137 - tmp177 = einsum(tmp0, (0, 1, 2), tmp131, (3, 4, 2), (0, 1, 3, 4), optimize=True) - t2new.abab += einsum(t1.aa, (0, 1), tmp177, (2, 0, 3, 4), (2, 3, 1, 4), optimize=True) * -1 - del tmp177 - tmp65 = f.aa.vv.transpose((1, 0)).copy() * -1 - tmp65 += tmp62 - del tmp62 - tmp65 += tmp63.transpose((1, 0)) * -1 - del tmp63 - tmp65 += tmp64.transpose((1, 0)) - del tmp64 - t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp65, (2, 4), (0, 1, 4, 3), optimize=True) * -1 - t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp65, (2, 4), (1, 0, 4, 3), optimize=True) * 2 - del tmp65 - tmp160 = einsum(tmp0, (0, 1, 2), tmp12, (3, 4, 2), (0, 1, 3, 4), optimize=True) - del tmp12 - t2new.abab += einsum(tmp160, (0, 1, 2, 3), tmp139, (1, 3, 4, 5), (0, 2, 4, 5), optimize=True) - del tmp160 - tmp167 = einsum(tmp165, (0, 1, 2, 3), t1.aa, (0, 4), (1, 4, 3, 2), optimize=True) - del tmp165 - tmp167 += einsum(v.baa.xvv, (0, 1, 2), tmp166, (3, 4, 0), (2, 1, 4, 3), optimize=True) - del tmp166 - t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp167, (2, 4, 3, 5), (0, 1, 4, 5), optimize=True) - del tmp167 - tmp164 = einsum(tmp144, (0, 1, 2, 3), t2.abab, (4, 5, 2, 3), (4, 0, 5, 1), optimize=True) - del tmp144 - t2new.abab += einsum(tmp164, (0, 1, 2, 3), t2.abab, (1, 3, 4, 5), (0, 2, 4, 5), optimize=True) - del tmp164 - tmp159 = v.bbb.xov.transpose((1, 2, 0)).copy() * 0.5 - tmp159 += tmp131 * 0.5 - tmp159 += einsum(v.bbb.xov, (0, 1, 2), tmp31, (1, 3, 2, 4), (3, 4, 0), optimize=True) * 0.5 - t2new.abab += einsum(tmp60, (0, 1, 2), tmp159, (3, 4, 2), (0, 3, 1, 4), optimize=True) * 2 - del tmp159 - tmp143 = einsum(tmp0, (0, 1, 2), v.bbb.xoo, (2, 3, 4), (0, 1, 4, 3), optimize=True) - t2new.abab += einsum(tmp139, (0, 1, 2, 3), tmp143, (4, 0, 1, 5), (4, 5, 2, 3), optimize=True) - del tmp139, tmp143 - tmp173 = einsum(tmp0, (0, 1, 2), tmp155, (3, 4, 2), (0, 1, 4, 3), optimize=True) - del tmp0 - t2new.abab += einsum(tmp173, (0, 1, 2, 3), t2.abab, (1, 4, 5, 2), (0, 4, 5, 3), optimize=True) * -1 - del tmp173 - tmp163 = v.bbb.xov.transpose((1, 2, 0)).copy() - tmp163 += tmp29 * -1 - t2new.abab += einsum(tmp20, (0, 1, 2), tmp163, (3, 4, 2), (0, 3, 1, 4), optimize=True) * 2 - del tmp163 - tmp162 = einsum(v.bbb.xov, (0, 1, 2), tmp161, (3, 4, 0), (1, 3, 2, 4), optimize=True) - del tmp161 - tmp162 += einsum(tmp155, (0, 1, 2), v.bbb.xoo, (2, 3, 4), (4, 3, 1, 0), optimize=True) - t2new.abab += einsum(tmp162, (0, 1, 2, 3), t2.abab, (4, 0, 5, 2), (4, 1, 5, 3), optimize=True) * -1 - del tmp162 - tmp126 = einsum(v.baa.xoo, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (1, 2, 3, 4), optimize=True) - t2new.abab += einsum(tmp126, (0, 1, 2, 3), t2.abab, (1, 3, 4, 5), (0, 2, 4, 5), optimize=True) * 0.5 - tmp127 = t2.abab.copy() - tmp127 += einsum(t1.aa, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3), optimize=True) * 2 - t2new.abab += einsum(tmp127, (0, 1, 2, 3), tmp126, (0, 4, 1, 5), (4, 5, 2, 3), optimize=True) * 0.5 - del tmp126, tmp127 - tmp156 = einsum(tmp155, (0, 1, 2), v.baa.xoo, (2, 3, 4), (4, 3, 1, 0), optimize=True) - del tmp155 - t2new.abab += einsum(tmp156, (0, 1, 2, 3), t2.abab, (0, 4, 5, 2), (1, 4, 5, 3), optimize=True) * -1 - del tmp156 - tmp129 = einsum(tmp128, (0, 1, 2), v.bbb.xov, (2, 0, 3), (1, 3), optimize=True) * 2 - del tmp128 - t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp129, (4, 3), (0, 1, 2, 4), optimize=True) * -1 - del tmp129 - tmp153 = v.bbb.xov.transpose((1, 2, 0)).copy() - tmp153 += tmp131 - del tmp131 - tmp153 += tmp152 * -1 - del tmp152 - t2new.abab += einsum(tmp153, (0, 1, 2), v.baa.xov, (2, 3, 4), (3, 0, 4, 1), optimize=True) - del tmp153 - tmp68 = f.aa.vv.transpose((1, 0)).copy() - tmp68 += einsum(tmp60, (0, 1, 2), v.baa.xov, (2, 0, 3), (3, 1), optimize=True) * -1 - tmp68 += einsum(v.baa.xvv, (0, 1, 2), tmp14, (0,), (2, 1), optimize=True) - del tmp14 - tmp68 += einsum(tmp19, (0, 1), t1.aa, (0, 2), (1, 2), optimize=True) * -1 - del tmp19 - t2new.aaaa += einsum(tmp68, (0, 1), t2.aaaa, (2, 3, 0, 4), (3, 2, 4, 1), optimize=True) * 2 - del tmp68 - tmp90 = tmp85.copy() * 2 - del tmp85 - tmp90 += einsum(tmp87, (0, 1, 2), v.baa.xov, (2, 3, 4), (0, 3, 1, 4), optimize=True) * -1 - del tmp87 - tmp90 += einsum(tmp89, (0, 1, 2), tmp88, (3, 4, 2), (4, 3, 1, 0), optimize=True) - del tmp88, tmp89 - t2new.aaaa += einsum(tmp90, (0, 1, 2, 3), t2.aaaa, (1, 4, 3, 5), (4, 0, 2, 5), optimize=True) * 2 - del tmp90 - tmp94 = tmp91.copy() - del tmp91 - tmp94 += einsum(v.bbb.xov, (0, 1, 2), tmp93, (3, 4, 0), (3, 1, 4, 2), optimize=True) - del tmp93 - t2new.aaaa += einsum(t2.abab, (0, 1, 2, 3), tmp94, (4, 1, 5, 3), (0, 4, 5, 2), optimize=True) - del tmp94 - tmp39 = f.aa.oo.transpose((1, 0)).copy() - tmp39 += tmp38.transpose((1, 0)) * -1 - del tmp38 - tmp39 += einsum(tmp10, (0,), v.baa.xoo, (0, 1, 2), (2, 1), optimize=True) - t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp39, (0, 4), (1, 4, 3, 2), optimize=True) * -2 - del tmp39 - tmp105 = v.baa.xov.transpose((1, 2, 0)).copy() - tmp105 += tmp60 - tmp105 += tmp71 * -1 - t2new.aaaa += einsum(v.baa.xov, (0, 1, 2), tmp105, (3, 4, 0), (3, 1, 2, 4), optimize=True) * -1 - del tmp105 - tmp95 = v.baa.xov.transpose((1, 2, 0)).copy() * -1 - tmp95 += tmp60 * -1 - tmp95 += tmp92 - del tmp92 - t2new.aaaa += einsum(tmp95, (0, 1, 2), v.baa.xov, (2, 3, 4), (3, 0, 4, 1), optimize=True) * -1 - del tmp95 - tmp101 = einsum(tmp100, (0, 1, 2, 3), t2.aaaa, (1, 4, 3, 5), (4, 0, 5, 2), optimize=True) - del tmp100 - t2new.aaaa += tmp101.transpose((1, 0, 2, 3)) * 2 - t2new.aaaa += tmp101 * -2 - t2new.aaaa += tmp101.transpose((1, 0, 3, 2)) * -2 - del tmp101 - tmp97 = einsum(tmp96, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 4, 3), optimize=True) - del tmp96 - t2new.aaaa += tmp97.transpose((1, 0, 3, 2)) - t2new.aaaa += tmp97.transpose((0, 1, 3, 2)) * -1 - del tmp97 - tmp40 = einsum(v.baa.xoo, (0, 1, 2), v.baa.xoo, (0, 3, 4), (1, 4, 3, 2), optimize=True) - tmp121 = tmp60.copy() * -1 - tmp121 += tmp71 - del tmp71 - t2new.aaaa += einsum(tmp6, (0, 1, 2), tmp121, (3, 4, 2), (0, 3, 1, 4), optimize=True) * -1 - del tmp121 - tmp54 = tmp51.copy() - del tmp51 - tmp54 += einsum(t2.abab, (0, 1, 2, 3), tmp53, (1, 4, 3, 5), (0, 4, 2, 5), optimize=True) * -1 - del tmp53 - t2new.aaaa += einsum(tmp54, (0, 1, 2, 3), t2.abab, (4, 1, 5, 3), (0, 4, 2, 5), optimize=True) * -1 - del tmp54 - tmp56 = einsum(v.baa.xov, (0, 1, 2), tmp55, (1, 3, 0), (3, 2), optimize=True) - del tmp55 - t2new.aaaa += einsum(tmp56, (0, 1), t2.aaaa, (2, 3, 1, 4), (3, 2, 4, 0), optimize=True) * -2 - del tmp56 - tmp70 = einsum(t2.aaaa, (0, 1, 2, 3), tmp69, (4, 1, 5, 0), (4, 5, 2, 3), optimize=True) * -1 - del tmp69 - t2new.aaaa += tmp70.transpose((0, 1, 3, 2)) * 2 - t2new.aaaa += tmp70.transpose((1, 0, 3, 2)) * -2 - del tmp70 - tmp44 = einsum(tmp20, (0, 1, 2), tmp6, (3, 4, 2), (0, 3, 1, 4), optimize=True) - del tmp20 - t2new.aaaa += tmp44.transpose((1, 0, 2, 3)) * -2 - t2new.aaaa += tmp44.transpose((0, 1, 3, 2)) * -2 - t2new.aaaa += tmp44.transpose((1, 0, 3, 2)) * 2 - t2new.aaaa += tmp44 * 2 - del tmp44 - tmp80 = einsum(tmp79, (0, 1), t2.aaaa, (1, 2, 3, 4), (2, 0, 3, 4), optimize=True) * 2 - del tmp79 - t2new.aaaa += tmp80.transpose((1, 0, 3, 2)) - t2new.aaaa += tmp80.transpose((0, 1, 3, 2)) * -1 - del tmp80 - tmp113 = einsum(t1.aa, (0, 1), tmp112, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) - del tmp112 - t2new.aaaa += tmp113.transpose((0, 1, 3, 2)) * -1 - t2new.aaaa += tmp113 - del tmp113 - tmp107 = einsum(tmp60, (0, 1, 2), v.baa.xov, (2, 3, 4), (0, 3, 4, 1), optimize=True) - t2new.aaaa += tmp107.transpose((1, 0, 3, 2)) * -1 - t2new.aaaa += tmp107.transpose((0, 1, 3, 2)) - del tmp107 - tmp116 = einsum(t2.aaaa, (0, 1, 2, 3), tmp115, (4, 5, 1, 0), (5, 4, 2, 3), optimize=True) - del tmp115 - t2new.aaaa += tmp116.transpose((0, 1, 3, 2)) * -1 - t2new.aaaa += tmp116.transpose((0, 1, 3, 2)) * -1 - del tmp116 - tmp118 = einsum(v.baa.xvv, (0, 1, 2), v.baa.xvv, (0, 3, 4), (4, 1, 2, 3), optimize=True) - tmp118 += einsum(t1.aa, (0, 1), tmp117, (0, 2, 3, 4), (4, 3, 1, 2), optimize=True) - del tmp117 - t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp118, (2, 3, 4, 5), (1, 0, 5, 4), optimize=True) * -2 - del tmp118 - tmp123 = einsum(tmp122, (0, 1, 2, 3), t2.aaaa, (4, 5, 3, 2), (4, 5, 0, 1), optimize=True) - del tmp122 - t2new.aaaa += einsum(t1.aa, (0, 1), tmp123, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) * -2 - del tmp123 - tmp41 = t2.aaaa.transpose((1, 0, 3, 2)).copy() - tmp41 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 1, 3), optimize=True) - t2new.aaaa += einsum(tmp41, (0, 1, 2, 3), tmp40, (0, 4, 1, 5), (4, 5, 3, 2), optimize=True) - del tmp41 - tmp104 = einsum(tmp103, (0, 1, 2, 3), t2.aaaa, (1, 4, 3, 5), (4, 0, 5, 2), optimize=True) - del tmp103 - t2new.aaaa += tmp104.transpose((1, 0, 2, 3)) * 2 - t2new.aaaa += tmp104 * -2 - del tmp104 - tmp82 = einsum(tmp81, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 4, 3), optimize=True) - del tmp81 - t2new.aaaa += tmp82.transpose((0, 1, 3, 2)) - t2new.aaaa += tmp82 * -1 - del tmp82 - tmp49 = tmp43.copy() - del tmp43 - tmp49 += einsum(tmp46, (0, 1, 2, 3), t2.aaaa, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) * -2 - del tmp46 - tmp49 += einsum(v.baa.xoo, (0, 1, 2), tmp48, (3, 4, 0), (2, 1, 4, 3), optimize=True) - del tmp48 - t2new.aaaa += einsum(tmp49, (0, 1, 2, 3), t2.aaaa, (1, 4, 3, 5), (0, 4, 2, 5), optimize=True) * -2 - del tmp49 - tmp74 = einsum(tmp73, (0, 1, 2, 3), t1.aa, (1, 4), (2, 0, 4, 3), optimize=True) - del tmp73 - t2new.aaaa += tmp74.transpose((1, 0, 3, 2)) - t2new.aaaa += tmp74.transpose((1, 0, 2, 3)) * -1 - del tmp74 - tmp109 = einsum(tmp108, (0, 1, 2, 3), t2.aaaa, (2, 3, 4, 5), (1, 0, 4, 5), optimize=True) * -1 - del tmp108 - t2new.aaaa += tmp109.transpose((0, 1, 3, 2)) * -1 - t2new.aaaa += tmp109.transpose((0, 1, 3, 2)) * -1 - del tmp109 - tmp59 = t2.aaaa.transpose((1, 0, 3, 2)).copy() - tmp59 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (2, 0, 1, 3), optimize=True) * -1 - t2new.aaaa += einsum(tmp59, (0, 1, 2, 3), tmp40, (0, 4, 1, 5), (4, 5, 3, 2), optimize=True) - del tmp40, tmp59 - tmp84 = einsum(t1.aa, (0, 1), tmp83, (2, 0, 3, 4), (2, 3, 1, 4), optimize=True) - del tmp83 - t2new.aaaa += tmp84.transpose((0, 1, 3, 2)) * -1 - t2new.aaaa += tmp84 - del tmp84 - tmp111 = einsum(tmp110, (0, 1, 2, 3), t1.aa, (2, 4), (0, 1, 4, 3), optimize=True) - del tmp110 - t2new.aaaa += tmp111.transpose((1, 0, 2, 3)) - t2new.aaaa += tmp111 * -1 - t2new.aaaa += tmp111.transpose((1, 0, 3, 2)) * -1 - t2new.aaaa += tmp111.transpose((0, 1, 3, 2)) - del tmp111 - tmp67 = einsum(v.baa.xov, (0, 1, 2), tmp66, (3, 4, 0), (1, 3, 2, 4), optimize=True) - del tmp66 - t2new.aaaa += tmp67.transpose((1, 0, 3, 2)) - t2new.aaaa += tmp67.transpose((1, 0, 2, 3)) * -1 - t2new.aaaa += tmp67.transpose((0, 1, 3, 2)) * -1 - t2new.aaaa += tmp67 - del tmp67 - tmp106 = einsum(tmp72, (0, 1, 2), tmp6, (3, 4, 2), (3, 0, 4, 1), optimize=True) - del tmp72 - t2new.aaaa += tmp106.transpose((1, 0, 2, 3)) * -1 - t2new.aaaa += tmp106.transpose((1, 0, 3, 2)) - del tmp106 - tmp120 = einsum(t1.aa, (0, 1), tmp119, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) - del tmp119 - t2new.aaaa += tmp120 * -1 - t2new.aaaa += tmp120.transpose((1, 0, 2, 3)) - del tmp120 - tmp114 = einsum(tmp60, (0, 1, 2), tmp60, (3, 4, 2), (3, 0, 4, 1), optimize=True) - del tmp60 - t2new.aaaa += tmp114.transpose((0, 1, 3, 2)) * -1 - t2new.aaaa += tmp114 - del tmp114 - tmp28 = einsum(tmp27, (0, 1, 2), v.baa.xov, (2, 3, 4), (3, 1, 0, 4), optimize=True) - del tmp27 - t1new.bb += einsum(tmp28, (0, 1, 2, 3), t2.abab, (0, 1, 3, 4), (2, 4), optimize=True) * -1 - del tmp28 - tmp32 = tmp29.copy() * -1 - del tmp29 - tmp32 += tmp30 - del tmp30 - tmp32 += einsum(v.bbb.xov, (0, 1, 2), tmp31, (1, 3, 2, 4), (3, 4, 0), optimize=True) - del tmp31 - tmp32 += einsum(tmp10, (0,), t1.bb, (1, 2), (1, 2, 0), optimize=True) - t1new.bb += einsum(tmp32, (0, 1, 2), v.bbb.xvv, (2, 1, 3), (0, 3), optimize=True) - del tmp32 - tmp26 = einsum(v.bbb.xov, (0, 1, 2), tmp25, (3, 4, 0), (4, 1, 3, 2), optimize=True) - del tmp25 - t1new.bb += einsum(tmp26, (0, 1, 2, 3), t2.bbbb, (1, 2, 3, 4), (0, 4), optimize=True) * -2 - del tmp26 - tmp37 = f.bb.oo.transpose((1, 0)).copy() - tmp37 += einsum(v.bbb.xov, (0, 1, 2), tmp34, (3, 2, 0), (1, 3), optimize=True) - del tmp34 - tmp37 += tmp35.transpose((1, 0)) - del tmp35 - tmp37 += einsum(t1.bb, (0, 1), tmp36, (2, 1), (2, 0), optimize=True) - del tmp36 - t1new.bb += einsum(t1.bb, (0, 1), tmp37, (0, 2), (2, 1), optimize=True) * -1 - del tmp37 - tmp11 = tmp5.copy() * -1 - del tmp5 - tmp11 += tmp6 - del tmp6 - tmp11 += einsum(v.baa.xov, (0, 1, 2), tmp7, (1, 3, 2, 4), (3, 4, 0), optimize=True) - del tmp7 - tmp11 += einsum(t1.aa, (0, 1), tmp10, (2,), (0, 1, 2), optimize=True) - t1new.aa += einsum(v.baa.xvv, (0, 1, 2), tmp11, (3, 1, 0), (3, 2), optimize=True) - del tmp11 - tmp24 = f.aa.oo.transpose((1, 0)).copy() * 0.5 - tmp24 += einsum(tmp21, (0, 1, 2), v.baa.xov, (2, 3, 1), (3, 0), optimize=True) * 0.5 - del tmp21 - tmp24 += einsum(tmp10, (0,), v.baa.xoo, (0, 1, 2), (2, 1), optimize=True) * 0.5 - del tmp10 - tmp24 += tmp23.transpose((1, 0)) - del tmp23 - t1new.aa += einsum(tmp24, (0, 1), t1.aa, (0, 2), (1, 2), optimize=True) * -2 - del tmp24 - tmp4 = einsum(v.bbb.xov, (0, 1, 2), tmp3, (3, 4, 0), (4, 3, 1, 2), optimize=True) - del tmp3 - t1new.aa += einsum(t2.abab, (0, 1, 2, 3), tmp4, (0, 4, 1, 3), (4, 2), optimize=True) * -1 - del tmp4 - tmp2 = einsum(tmp1, (0, 1, 2), v.baa.xov, (2, 3, 4), (1, 3, 0, 4), optimize=True) - del tmp1 - t1new.aa += einsum(t2.aaaa, (0, 1, 2, 3), tmp2, (4, 0, 1, 2), (4, 3), optimize=True) * -2 - del tmp2 - t1new.aa += einsum(f.aa.vv, (0, 1), t1.aa, (2, 1), (2, 0), optimize=True) - t1new.aa += f.aa.ov - t1new.bb += f.bb.ov - t1new.bb += einsum(f.bb.vv, (0, 1), t1.bb, (2, 1), (2, 0), optimize=True) - - return {f"t1new": t1new, f"t2new": t2new} - -def update_lams(f=None, l1=None, l2=None, t1=None, t2=None, v=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-07-18T20:48:57.648335. - - Parameters - ---------- - f : Namespace of arrays - Fock matrix. - l1 : Namespace of arrays - L1 amplitudes. - l2 : Namespace of arrays - L2 amplitudes. - t1 : Namespace of arrays - T1 amplitudes. - t2 : Namespace of arrays - T2 amplitudes. - v : Namespace of arrays - Electron repulsion integrals. - - Returns - ------- - l1new : Namespace of arrays - Updated L1 residuals. - l2new : Namespace of arrays - Updated L2 residuals. - """ - - l1new = Namespace() - l2new = Namespace() - tmp12 = einsum(t1.aa, (0, 1), v.baa.xov, (2, 0, 1), (2,), optimize=True) - tmp13 = einsum(v.bbb.xov, (0, 1, 2), t1.bb, (1, 2), (0,), optimize=True) - tmp1 = einsum(t1.aa, (0, 1), v.baa.xov, (2, 3, 1), (0, 3, 2), optimize=True) - tmp14 = tmp12.copy() - tmp14 += tmp13 - tmp66 = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (2, 3, 0, 4), (4, 1), optimize=True) - tmp67 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 0, 1), (2, 4), optimize=True) - tmp65 = einsum(t1.aa, (0, 1), l1.aa, (1, 2), (2, 0), optimize=True) - tmp89 = einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (2, 4, 0, 1), (3, 4), optimize=True) - tmp88 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 1), (3, 4), optimize=True) - tmp87 = einsum(l1.bb, (0, 1), t1.bb, (2, 0), (1, 2), optimize=True) - tmp76 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 4, 0, 1), (4, 3), optimize=True) - tmp77 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (2, 4, 0, 1), (4, 3), optimize=True) - tmp4 = einsum(v.bbb.xov, (0, 1, 2), t1.bb, (3, 2), (3, 1, 0), optimize=True) - tmp7 = einsum(t1.bb, (0, 1), v.bbb.xvv, (2, 3, 1), (0, 3, 2), optimize=True) - tmp9 = einsum(v.bbb.xov, (0, 1, 2), t2.bbbb, (1, 3, 2, 4), (3, 4, 0), optimize=True) - tmp8 = einsum(v.baa.xov, (0, 1, 2), t2.abab, (1, 3, 2, 4), (3, 4, 0), optimize=True) - tmp27 = einsum(v.baa.xvv, (0, 1, 2), t1.aa, (3, 1), (3, 2, 0), optimize=True) - tmp24 = einsum(v.baa.xov, (0, 1, 2), t2.aaaa, (3, 1, 4, 2), (3, 4, 0), optimize=True) - tmp25 = einsum(v.bbb.xov, (0, 1, 2), t2.abab, (3, 1, 4, 2), (3, 4, 0), optimize=True) - tmp11 = einsum(tmp1, (0, 1, 2), v.baa.xov, (2, 0, 3), (1, 3), optimize=True) - l2new.aaaa = einsum(tmp11, (0, 1), l1.aa, (2, 3), (1, 2, 0, 3), optimize=True) * -1 - l2new.aaaa += einsum(l1.aa, (0, 1), tmp11, (2, 3), (3, 0, 1, 2), optimize=True) - l2new.aaaa += einsum(tmp11, (0, 1), l1.aa, (2, 3), (2, 1, 0, 3), optimize=True) - l2new.aaaa += einsum(tmp11, (0, 1), l1.aa, (2, 3), (2, 1, 3, 0), optimize=True) * -1 - tmp15 = einsum(v.baa.xov, (0, 1, 2), tmp14, (0,), (1, 2), optimize=True) - tmp45 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 4, 1), (0, 4), optimize=True) - tmp44 = einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (2, 3, 0, 4), (1, 4), optimize=True) - tmp54 = einsum(l2.abab, (0, 1, 2, 3), t1.aa, (4, 0), (2, 4, 3, 1), optimize=True) - tmp68 = tmp65.copy() * 0.5 - tmp68 += tmp66 - tmp68 += tmp67 * 0.5 - tmp35 = einsum(l2.aaaa, (0, 1, 2, 3), t1.aa, (4, 1), (2, 3, 4, 0), optimize=True) - tmp90 = tmp87.copy() - tmp90 += tmp88 - tmp90 += tmp89 * 2 - tmp85 = einsum(t1.bb, (0, 1), l2.bbbb, (2, 1, 3, 4), (3, 4, 0, 2), optimize=True) - tmp37 = einsum(l2.abab, (0, 1, 2, 3), t1.bb, (4, 1), (2, 3, 4, 0), optimize=True) - tmp132 = tmp76.copy() * 0.5 - tmp132 += tmp77 - tmp111 = einsum(v.bbb.xov, (0, 1, 2), tmp14, (0,), (1, 2), optimize=True) - tmp110 = einsum(v.bbb.xov, (0, 1, 2), tmp4, (1, 3, 0), (3, 2), optimize=True) - l2new.bbbb = einsum(tmp110, (0, 1), l1.bb, (2, 3), (1, 2, 0, 3), optimize=True) * -1 - l2new.bbbb += einsum(tmp110, (0, 1), l1.bb, (2, 3), (1, 2, 3, 0), optimize=True) - l2new.bbbb += einsum(l1.bb, (0, 1), tmp110, (2, 3), (0, 3, 2, 1), optimize=True) - l2new.bbbb += einsum(l1.bb, (0, 1), tmp110, (2, 3), (0, 3, 1, 2), optimize=True) * -1 - tmp10 = v.bbb.xov.transpose((1, 2, 0)).copy() - tmp10 += tmp7 - tmp10 += tmp8 - tmp10 += tmp9 * 2 - tmp41 = v.baa.xov.transpose((1, 2, 0)).copy() - tmp41 += tmp27 - tmp41 += tmp24 * 2 - tmp41 += tmp25 - tmp218 = tmp7.copy() - tmp218 += tmp8 - tmp218 += tmp9 * 2 - tmp183 = tmp27.copy() * 0.5 - tmp183 += tmp24 - tmp183 += tmp25 * 0.5 - tmp102 = tmp24.copy() * 2 - tmp102 += tmp25 - tmp16 = f.aa.ov.copy() - tmp16 += tmp11 * -1 - tmp16 += tmp15 - tmp46 = tmp44.copy() * 2 - tmp46 += tmp45 - tmp17 = einsum(v.bbb.xov, (0, 1, 2), v.baa.xov, (0, 3, 4), (3, 1, 4, 2), optimize=True) - tmp120 = einsum(v.bbb.xov, (0, 1, 2), v.bbb.xov, (0, 3, 4), (1, 3, 2, 4), optimize=True) - tmp62 = einsum(l1.bb, (0, 1), t2.abab, (2, 1, 3, 0), (2, 3), optimize=True) - tmp64 = einsum(t2.abab, (0, 1, 2, 3), tmp54, (0, 4, 1, 3), (4, 2), optimize=True) - tmp69 = einsum(t1.aa, (0, 1), tmp68, (0, 2), (2, 1), optimize=True) - tmp61 = einsum(t2.aaaa, (0, 1, 2, 3), l1.aa, (2, 0), (1, 3), optimize=True) - tmp63 = einsum(t2.aaaa, (0, 1, 2, 3), tmp35, (0, 1, 4, 2), (4, 3), optimize=True) - tmp75 = einsum(l1.bb, (0, 1), t1.bb, (1, 2), (0, 2), optimize=True) - tmp72 = einsum(l1.aa, (0, 1), t1.aa, (1, 2), (0, 2), optimize=True) - tmp91 = einsum(tmp90, (0, 1), t1.bb, (0, 2), (1, 2), optimize=True) - tmp82 = einsum(l1.aa, (0, 1), t2.abab, (1, 2, 0, 3), (2, 3), optimize=True) - tmp86 = einsum(tmp85, (0, 1, 2, 3), t2.bbbb, (0, 1, 3, 4), (2, 4), optimize=True) - tmp83 = einsum(t2.bbbb, (0, 1, 2, 3), l1.bb, (3, 1), (0, 2), optimize=True) - tmp84 = einsum(tmp37, (0, 1, 2, 3), t2.abab, (0, 1, 3, 4), (2, 4), optimize=True) - tmp29 = einsum(v.baa.xov, (0, 1, 2), v.baa.xov, (0, 3, 4), (3, 1, 4, 2), optimize=True) - tmp205 = v.bbb.xoo.transpose((2, 1, 0)).copy() - tmp205 += tmp4.transpose((1, 0, 2)) - tmp192 = einsum(tmp132, (0, 1), v.bbb.xov, (2, 3, 1), (3, 0, 2), optimize=True) * 2 - l2new.bbbb += einsum(tmp192, (0, 1, 2), v.bbb.xov, (2, 3, 4), (4, 1, 0, 3), optimize=True) - tmp137 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 5), (3, 4, 1, 5), optimize=True) - tmp138 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (4, 2, 0, 5), (5, 1, 4, 3), optimize=True) * -1 - tmp112 = f.bb.ov.copy() - tmp112 += tmp110 * -1 - tmp112 += tmp111 - l1new.bb = einsum(tmp90, (0, 1), tmp112, (1, 2), (2, 0), optimize=True) * -1 - tmp148 = tmp8.copy() * 0.5 - tmp148 += tmp9 - tmp234 = einsum(l2.bbbb, (0, 1, 2, 3), tmp10, (2, 0, 4), (3, 1, 4), optimize=True) * 2 - tmp197 = einsum(v.bbb.xvv, (0, 1, 2), l1.bb, (2, 3), (3, 1, 0), optimize=True) - tmp128 = einsum(tmp54, (0, 1, 2, 3), tmp1, (0, 1, 4), (2, 3, 4), optimize=True) - tmp233 = einsum(l2.abab, (0, 1, 2, 3), tmp41, (2, 0, 4), (3, 1, 4), optimize=True) - tmp126 = einsum(tmp54, (0, 1, 2, 3), v.baa.xoo, (4, 0, 1), (2, 3, 4), optimize=True) - tmp235 = einsum(tmp90, (0, 1), v.bbb.xov, (2, 1, 3), (0, 3, 2), optimize=True) - tmp127 = einsum(v.bbb.xoo, (0, 1, 2), tmp85, (1, 3, 2, 4), (3, 4, 0), optimize=True) * -1 - tmp129 = einsum(tmp4, (0, 1, 2), tmp85, (3, 0, 1, 4), (3, 4, 2), optimize=True) - tmp142 = einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 5, 0, 1), (2, 3, 4, 5), optimize=True) - tmp136 = einsum(t1.bb, (0, 1), tmp85, (2, 3, 4, 1), (3, 2, 4, 0), optimize=True) - tmp145 = tmp12.copy() - del tmp12 - tmp145 += tmp13 - del tmp13 - tmp220 = einsum(v.bbb.xvv, (0, 1, 2), tmp14, (0,), (1, 2), optimize=True) - tmp219 = einsum(v.bbb.xov, (0, 1, 2), tmp218, (1, 3, 0), (3, 2), optimize=True) - del tmp218 - tmp58 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 5, 0, 1), (2, 4, 3, 5), optimize=True) - tmp59 = einsum(tmp37, (0, 1, 2, 3), t1.aa, (4, 3), (0, 4, 1, 2), optimize=True) - tmp155 = v.baa.xoo.transpose((2, 1, 0)).copy() - tmp155 += tmp1.transpose((1, 0, 2)) - tmp184 = einsum(tmp183, (0, 1, 2), v.baa.xov, (2, 0, 3), (1, 3), optimize=True) * 2 - tmp99 = einsum(v.baa.xvv, (0, 1, 2), tmp14, (0,), (1, 2), optimize=True) - tmp38 = einsum(tmp37, (0, 1, 2, 3), v.bbb.xoo, (4, 1, 2), (0, 3, 4), optimize=True) - tmp43 = einsum(l2.abab, (0, 1, 2, 3), tmp10, (3, 1, 4), (2, 0, 4), optimize=True) - tmp39 = einsum(tmp35, (0, 1, 2, 3), tmp1, (1, 2, 4), (0, 3, 4), optimize=True) - tmp172 = einsum(tmp68, (0, 1), v.baa.xov, (2, 1, 3), (0, 3, 2), optimize=True) * 2 - tmp165 = einsum(v.baa.xvv, (0, 1, 2), l1.aa, (2, 3), (3, 1, 0), optimize=True) - tmp40 = einsum(tmp4, (0, 1, 2), tmp37, (3, 0, 1, 4), (3, 4, 2), optimize=True) - tmp42 = einsum(l2.aaaa, (0, 1, 2, 3), tmp41, (2, 0, 4), (3, 1, 4), optimize=True) * 2 - tmp36 = einsum(tmp35, (0, 1, 2, 3), v.baa.xoo, (4, 0, 2), (1, 3, 4), optimize=True) * -1 - tmp104 = einsum(v.baa.xoo, (0, 1, 2), tmp14, (0,), (1, 2), optimize=True) - tmp103 = einsum(tmp102, (0, 1, 2), v.baa.xov, (2, 3, 1), (0, 3), optimize=True) - tmp105 = einsum(t1.aa, (0, 1), tmp16, (2, 1), (0, 2), optimize=True) - tmp101 = einsum(v.baa.xoo, (0, 1, 2), tmp1, (1, 3, 0), (2, 3), optimize=True) - tmp49 = einsum(t1.aa, (0, 1), tmp35, (2, 3, 4, 1), (2, 3, 0, 4), optimize=True) - tmp57 = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (2, 3, 4, 5), (4, 5, 0, 1), optimize=True) - tmp47 = einsum(v.baa.xov, (0, 1, 2), tmp46, (3, 2), (1, 3, 0), optimize=True) - l2new.abab = einsum(v.bbb.xov, (0, 1, 2), tmp47, (3, 4, 0), (4, 2, 3, 1), optimize=True) * -1 - tmp51 = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (4, 2, 0, 5), (5, 1, 4, 3), optimize=True) * -1 - tmp52 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 5, 1), (2, 4, 0, 5), optimize=True) - tmp113 = v.bbb.xoo.transpose((2, 1, 0)).copy() - tmp113 += tmp4.transpose((1, 0, 2)) - tmp2 = v.baa.xoo.transpose((2, 1, 0)).copy() - tmp2 += tmp1 - tmp18 = einsum(tmp17, (0, 1, 2, 3), t2.abab, (4, 5, 2, 3), (4, 0, 5, 1), optimize=True) - tmp5 = v.bbb.xoo.transpose((2, 1, 0)).copy() - tmp5 += tmp4 - tmp119 = einsum(v.bbb.xoo, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (1, 4, 3, 2), optimize=True) - tmp121 = einsum(tmp120, (0, 1, 2, 3), t2.bbbb, (4, 5, 3, 2), (4, 5, 1, 0), optimize=True) - tmp122 = einsum(tmp4, (0, 1, 2), tmp4, (3, 4, 2), (0, 3, 1, 4), optimize=True) - tmp123 = einsum(v.bbb.xoo, (0, 1, 2), tmp4, (3, 4, 0), (3, 1, 2, 4), optimize=True) - tmp95 = tmp87.copy() - del tmp87 - tmp95 += tmp88.transpose((1, 0)) - del tmp88 - tmp95 += tmp89 * 2 - del tmp89 - tmp80 = l1.aa.transpose((1, 0)).copy() * -0.5 - tmp80 += t1.aa * -0.5 - tmp80 += tmp61 * -1 - tmp80 += tmp62 * -0.5 - tmp80 += tmp63 - tmp80 += tmp64 * 0.5 - tmp80 += tmp69 - tmp78 = tmp75.copy() - del tmp75 - tmp78 += tmp76 - del tmp76 - tmp78 += tmp77 * 2 - del tmp77 - tmp73 = tmp72.copy() * 0.5 - del tmp72 - tmp73 += tmp44 - del tmp44 - tmp73 += tmp45.transpose((1, 0)) * 0.5 - del tmp45 - tmp92 = l1.bb.transpose((1, 0)).copy() * -1 - tmp92 += t1.bb * -1 - tmp92 += tmp82 * -1 - tmp92 += tmp83 * -2 - tmp92 += tmp84 - tmp92 += tmp86 * 2 - tmp92 += tmp91 - tmp31 = einsum(tmp1, (0, 1, 2), tmp1, (3, 4, 2), (3, 0, 4, 1), optimize=True) - tmp30 = einsum(t2.aaaa, (0, 1, 2, 3), tmp29, (4, 5, 3, 2), (0, 1, 5, 4), optimize=True) - tmp28 = einsum(v.baa.xoo, (0, 1, 2), v.baa.xoo, (0, 3, 4), (1, 4, 3, 2), optimize=True) - tmp32 = einsum(tmp1, (0, 1, 2), v.baa.xoo, (2, 3, 4), (0, 3, 4, 1), optimize=True) - tmp19 = v.baa.xoo.transpose((2, 1, 0)).copy() - tmp19 += tmp1.transpose((1, 0, 2)) - tmp147 = einsum(tmp4, (0, 1, 2), v.bbb.xoo, (2, 0, 3), (3, 1), optimize=True) - tmp206 = einsum(tmp205, (0, 1, 2), v.bbb.xvv, (2, 3, 4), (0, 1, 3, 4), optimize=True) - tmp226 = einsum(tmp205, (0, 1, 2), v.bbb.xov, (2, 3, 4), (0, 1, 3, 4), optimize=True) - l2new.bbbb += einsum(tmp226, (0, 1, 2, 3), l1.bb, (4, 1), (3, 4, 0, 2), optimize=True) - tmp204 = einsum(tmp4, (0, 1, 2), v.bbb.xov, (2, 3, 4), (0, 3, 1, 4), optimize=True) - l2new.abab += einsum(tmp37, (0, 1, 2, 3), tmp204, (1, 2, 4, 5), (3, 5, 0, 4), optimize=True) - tmp193 = v.bbb.xov.transpose((1, 2, 0)).copy() - tmp193 += tmp192 * -1 - del tmp192 - l2new.abab += einsum(v.baa.xov, (0, 1, 2), tmp193, (3, 4, 0), (2, 4, 1, 3), optimize=True) - tmp243 = einsum(v.bbb.xvv, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (1, 4, 3, 2), optimize=True) - tmp116 = einsum(v.bbb.xov, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (1, 3, 4, 2), optimize=True) - tmp230 = tmp137.copy() - tmp230 += tmp138 * 4 - tmp151 = einsum(t1.bb, (0, 1), tmp112, (2, 1), (2, 0), optimize=True) - tmp150 = einsum(v.bbb.xoo, (0, 1, 2), tmp14, (0,), (1, 2), optimize=True) - tmp149 = einsum(tmp148, (0, 1, 2), v.bbb.xov, (2, 3, 1), (0, 3), optimize=True) * 2 - tmp236 = tmp197.copy() - tmp236 += tmp126 * -1 - tmp236 += tmp127 * -2 - tmp236 += tmp128 * -1 - tmp236 += tmp129 * -2 - tmp236 += tmp233 - del tmp233 - tmp236 += tmp234 - del tmp234 - tmp236 += tmp235 * -1 - del tmp235 - tmp245 = tmp142.transpose((1, 0, 3, 2)).copy() - tmp245 += tmp136.transpose((0, 1, 3, 2)) * -1 - tmp211 = einsum(v.bbb.xov, (0, 1, 2), tmp145, (0,), (1, 2), optimize=True) - tmp202 = einsum(v.bbb.xov, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (3, 4, 1, 2), optimize=True) - l2new.abab += einsum(tmp202, (0, 1, 2, 3), tmp37, (4, 1, 2, 5), (5, 3, 4, 0), optimize=True) - tmp221 = f.bb.vv.transpose((1, 0)).copy() * -1 - tmp221 += tmp219 - del tmp219 - tmp221 += tmp220.transpose((1, 0)) * -1 - del tmp220 - l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp221, (1, 4), (0, 4, 2, 3), optimize=True) * -1 - tmp214 = einsum(v.baa.xvv, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (1, 2, 3, 4), optimize=True) - tmp209 = v.bbb.xov.transpose((1, 2, 0)).copy() - tmp209 += tmp7 - tmp209 += tmp8 - tmp209 += tmp9 * 2 - tmp208 = v.baa.xov.transpose((1, 2, 0)).copy() - tmp208 += tmp27 - tmp208 += tmp24 * 2 - tmp208 += tmp25 - tmp60 = tmp58.copy() - del tmp58 - tmp60 += tmp59 - del tmp59 - tmp170 = einsum(tmp155, (0, 1, 2), v.baa.xvv, (2, 3, 4), (0, 1, 3, 4), optimize=True) - tmp130 = einsum(l2.abab, (0, 1, 2, 3), tmp41, (2, 0, 4), (3, 1, 4), optimize=True) * 0.5 - tmp131 = einsum(l2.bbbb, (0, 1, 2, 3), tmp10, (2, 0, 4), (3, 1, 4), optimize=True) - tmp175 = einsum(tmp145, (0,), v.baa.xov, (0, 1, 2), (1, 2), optimize=True) - tmp179 = einsum(v.baa.xvv, (0, 1, 2), v.baa.xvv, (0, 3, 4), (3, 2, 1, 4), optimize=True) - tmp185 = f.aa.vv.transpose((1, 0)).copy() * -1 - tmp185 += tmp184 - del tmp184 - tmp185 += tmp99.transpose((1, 0)) * -1 - tmp160 = einsum(v.baa.xov, (0, 1, 2), tmp1, (3, 4, 0), (3, 1, 4, 2), optimize=True) - l2new.abab += einsum(tmp160, (0, 1, 2, 3), tmp54, (0, 1, 4, 5), (3, 5, 2, 4), optimize=True) - tmp173 = tmp165.copy() - tmp173 += tmp36 * -2 - tmp173 += tmp38 * -1 - tmp173 += tmp39 * -2 - tmp173 += tmp40 * -1 - tmp173 += tmp42 - tmp173 += tmp43 - tmp173 += tmp172 * -1 - del tmp172 - tmp106 = f.aa.oo.transpose((1, 0)).copy() - tmp106 += tmp101 * -1 - tmp106 += tmp103 - del tmp103 - tmp106 += tmp104.transpose((1, 0)) - del tmp104 - tmp106 += tmp105 - del tmp105 - l1new.aa = einsum(tmp106, (0, 1), l1.aa, (2, 0), (2, 1), optimize=True) * -1 - tmp156 = einsum(tmp155, (0, 1, 2), v.baa.xov, (2, 3, 4), (0, 1, 3, 4), optimize=True) - l2new.aaaa += einsum(tmp156, (0, 1, 2, 3), l1.aa, (4, 1), (3, 4, 0, 2), optimize=True) - tmp190 = einsum(v.baa.xov, (0, 1, 2), tmp46, (3, 2), (1, 3, 0), optimize=True) * 0.5 - del tmp46 - tmp181 = tmp57.transpose((1, 0, 3, 2)).copy() - tmp181 += tmp49.transpose((0, 1, 3, 2)) * -1 - tmp153 = v.baa.xov.transpose((1, 2, 0)).copy() - tmp153 += tmp47 * -1 - tmp22 = einsum(v.baa.xvv, (0, 1, 2), v.baa.xov, (0, 3, 4), (3, 1, 2, 4), optimize=True) - tmp166 = einsum(tmp68, (0, 1), v.baa.xov, (2, 1, 3), (0, 3, 2), optimize=True) - l2new.abab += einsum(v.bbb.xov, (0, 1, 2), tmp166, (3, 4, 0), (4, 2, 3, 1), optimize=True) * -2 - tmp158 = einsum(v.baa.xov, (0, 1, 2), v.baa.xoo, (0, 3, 4), (3, 4, 1, 2), optimize=True) - l2new.abab += einsum(tmp54, (0, 1, 2, 3), tmp158, (4, 0, 1, 5), (5, 3, 4, 2), optimize=True) - tmp162 = tmp51.copy() * 4 - tmp162 += tmp52 - tmp114 = tmp18.transpose((1, 0, 2, 3)).copy() - tmp114 += einsum(tmp113, (0, 1, 2), tmp2, (3, 4, 2), (4, 3, 1, 0), optimize=True) - tmp108 = einsum(v.bbb.xov, (0, 1, 2), tmp2, (3, 4, 0), (4, 3, 1, 2), optimize=True) - tmp109 = einsum(v.bbb.xov, (0, 1, 2), tmp5, (3, 4, 0), (4, 3, 1, 2), optimize=True) - tmp107 = einsum(v.baa.xvv, (0, 1, 2), v.bbb.xov, (0, 3, 4), (3, 1, 2, 4), optimize=True) - l2new.abab += einsum(tmp37, (0, 1, 2, 3), tmp107, (2, 4, 3, 5), (4, 5, 0, 1), optimize=True) * -1 - tmp139 = tmp137.copy() * 0.25 - del tmp137 - tmp139 += tmp138 - del tmp138 - tmp140 = einsum(t2.bbbb, (0, 1, 2, 3), l1.bb, (3, 4), (4, 1, 0, 2), optimize=True) * 0.5 - tmp140 += einsum(tmp37, (0, 1, 2, 3), t2.abab, (0, 4, 3, 5), (1, 2, 4, 5), optimize=True) * 0.25 - tmp140 += einsum(tmp85, (0, 1, 2, 3), t2.bbbb, (1, 4, 3, 5), (0, 2, 4, 5), optimize=True) * -1 - tmp135 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (4, 3, 0, 5), (5, 1, 4, 2), optimize=True) - l2new.abab += einsum(tmp17, (0, 1, 2, 3), tmp135, (4, 1, 5, 2), (5, 3, 0, 4), optimize=True) - tmp141 = einsum(l1.bb, (0, 1), t2.abab, (2, 3, 4, 0), (2, 1, 3, 4), optimize=True) - tmp141 += einsum(tmp54, (0, 1, 2, 3), t2.abab, (0, 4, 5, 3), (1, 2, 4, 5), optimize=True) * -1 - tmp143 = t1.bb.copy() * -1 - tmp143 += tmp82 * -1 - del tmp82 - tmp143 += tmp83 * -2 - del tmp83 - tmp143 += tmp84 - del tmp84 - tmp143 += tmp86 * 2 - del tmp86 - tmp143 += tmp91 - del tmp91 - tmp118 = v.bbb.xov.transpose((1, 2, 0)).copy() - tmp118 += tmp8 - del tmp8 - tmp118 += tmp9 * 2 - del tmp9 - tmp117 = einsum(tmp113, (0, 1, 2), v.bbb.xov, (2, 3, 4), (0, 1, 3, 4), optimize=True) - l2new.bbbb += einsum(l1.bb, (0, 1), tmp117, (2, 1, 3, 4), (4, 0, 3, 2), optimize=True) * -1 - tmp124 = tmp119.transpose((3, 2, 1, 0)).copy() - tmp124 += tmp121.transpose((2, 3, 1, 0)) - tmp124 += tmp122.transpose((2, 3, 1, 0)) - tmp124 += tmp123.transpose((1, 3, 0, 2)) - tmp124 += tmp123.transpose((3, 2, 0, 1)) * -1 - tmp133 = einsum(tmp132, (0, 1), v.bbb.xov, (2, 3, 1), (3, 0, 2), optimize=True) - del tmp132 - l2new.bbbb += einsum(v.bbb.xov, (0, 1, 2), tmp133, (3, 4, 0), (4, 2, 3, 1), optimize=True) * -2 - tmp96 = einsum(tmp95, (0, 1), v.bbb.xoo, (2, 1, 0), (2,), optimize=True) - del tmp95 - tmp81 = einsum(tmp80, (0, 1), v.baa.xov, (2, 0, 1), (2,), optimize=True) * 2 - del tmp80 - tmp94 = einsum(tmp68, (0, 1), v.baa.xoo, (2, 1, 0), (2,), optimize=True) * 2 - tmp79 = einsum(v.bbb.xvv, (0, 1, 2), tmp78, (2, 1), (0,), optimize=True) - del tmp78 - tmp74 = einsum(tmp73, (0, 1), v.baa.xvv, (2, 1, 0), (2,), optimize=True) * 2 - del tmp73 - tmp93 = einsum(v.bbb.xov, (0, 1, 2), tmp92, (1, 2), (0,), optimize=True) - del tmp92 - tmp55 = einsum(l1.aa, (0, 1), t2.aaaa, (2, 3, 4, 0), (1, 3, 2, 4), optimize=True) * 2 - tmp55 += einsum(t2.aaaa, (0, 1, 2, 3), tmp35, (4, 0, 5, 2), (4, 5, 1, 3), optimize=True) * -4 - tmp55 += einsum(tmp54, (0, 1, 2, 3), t2.abab, (4, 2, 5, 3), (0, 1, 4, 5), optimize=True) - tmp56 = einsum(t2.abab, (0, 1, 2, 3), l1.aa, (2, 4), (4, 0, 1, 3), optimize=True) - tmp56 += einsum(tmp37, (0, 1, 2, 3), t2.abab, (4, 1, 3, 5), (0, 4, 2, 5), optimize=True) * -1 - tmp70 = t1.aa.copy() * -0.5 - tmp70 += tmp61 * -1 - del tmp61 - tmp70 += tmp62 * -0.5 - del tmp62 - tmp70 += tmp63 - del tmp63 - tmp70 += tmp64 * 0.5 - del tmp64 - tmp70 += tmp69 - del tmp69 - tmp53 = tmp51.copy() * 4 - del tmp51 - tmp53 += tmp52.transpose((0, 1, 3, 2)) - del tmp52 - tmp50 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 0, 5), (2, 4, 1, 5), optimize=True) - l2new.abab += einsum(tmp50, (0, 1, 2, 3), tmp17, (1, 4, 5, 3), (5, 2, 0, 4), optimize=True) - tmp26 = v.baa.xov.transpose((1, 2, 0)).copy() - tmp26 += tmp24 * 2 - del tmp24 - tmp26 += tmp25 - del tmp25 - tmp33 = tmp28.transpose((3, 2, 1, 0)).copy() - tmp33 += tmp30.transpose((2, 3, 1, 0)) - tmp33 += tmp31.transpose((2, 3, 1, 0)) - tmp33 += tmp32.transpose((1, 3, 0, 2)) - tmp33 += tmp32.transpose((3, 2, 0, 1)) * -1 - tmp23 = einsum(tmp19, (0, 1, 2), v.baa.xov, (2, 3, 4), (3, 0, 1, 4), optimize=True) - l2new.aaaa += einsum(tmp23, (0, 1, 2, 3), l1.aa, (4, 2), (3, 4, 0, 1), optimize=True) * -1 - tmp0 = einsum(v.baa.xov, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (1, 2, 3, 4), optimize=True) - l2new.abab += einsum(tmp54, (0, 1, 2, 3), tmp0, (1, 4, 3, 5), (4, 5, 0, 2), optimize=True) * -1 - tmp3 = einsum(v.baa.xov, (0, 1, 2), tmp2, (3, 4, 0), (4, 3, 1, 2), optimize=True) - tmp6 = einsum(v.baa.xov, (0, 1, 2), tmp5, (3, 4, 0), (1, 4, 3, 2), optimize=True) - tmp20 = tmp18.transpose((0, 1, 3, 2)).copy() - tmp20 += einsum(tmp5, (0, 1, 2), tmp19, (3, 4, 2), (4, 3, 1, 0), optimize=True) - tmp238 = f.bb.oo.transpose((1, 0)).copy() * 0.5 - tmp238 += tmp147 * -0.5 - tmp238 += einsum(tmp148, (0, 1, 2), v.bbb.xov, (2, 3, 1), (0, 3), optimize=True) - del tmp148 - tmp238 += einsum(v.bbb.xoo, (0, 1, 2), tmp14, (0,), (2, 1), optimize=True) * 0.5 - tmp238 += einsum(tmp112, (0, 1), t1.bb, (2, 1), (2, 0), optimize=True) * 0.5 - l2new.bbbb += einsum(l2.bbbb, (0, 1, 2, 3), tmp238, (2, 4), (1, 0, 3, 4), optimize=True) * -4 - del tmp238 - tmp240 = einsum(tmp206, (0, 1, 2, 3), l2.bbbb, (2, 4, 1, 5), (0, 5, 3, 4), optimize=True) - l2new.bbbb += tmp240.transpose((3, 2, 0, 1)) * 2 - l2new.bbbb += tmp240.transpose((3, 2, 1, 0)) * -2 - l2new.bbbb += tmp240.transpose((2, 3, 0, 1)) * -2 - del tmp240 - tmp227 = einsum(tmp226, (0, 1, 2, 3), l1.bb, (4, 1), (2, 0, 3, 4), optimize=True) - del tmp226 - l2new.bbbb += tmp227.transpose((3, 2, 1, 0)) * -1 - l2new.bbbb += tmp227.transpose((3, 2, 0, 1)) - del tmp227 - tmp228 = einsum(tmp204, (0, 1, 2, 3), tmp85, (4, 0, 1, 5), (4, 2, 5, 3), optimize=True) - del tmp204 - l2new.bbbb += tmp228.transpose((3, 2, 1, 0)) * 2 - l2new.bbbb += tmp228.transpose((3, 2, 0, 1)) * -2 - l2new.bbbb += tmp228.transpose((2, 3, 1, 0)) * -2 - l2new.bbbb += tmp228.transpose((2, 3, 0, 1)) * 2 - del tmp228 - tmp225 = einsum(v.bbb.xov, (0, 1, 2), tmp193, (3, 4, 0), (3, 1, 4, 2), optimize=True) - del tmp193 - l2new.bbbb += tmp225.transpose((2, 3, 1, 0)) * -1 - l2new.bbbb += tmp225.transpose((3, 2, 1, 0)) - del tmp225 - tmp244 = einsum(l2.bbbb, (0, 1, 2, 3), tmp243, (4, 5, 0, 1), (3, 2, 4, 5), optimize=True) - del tmp243 - l2new.bbbb += tmp244.transpose((2, 3, 1, 0)) * -1 - l2new.bbbb += tmp244.transpose((2, 3, 1, 0)) * -1 - del tmp244 - tmp242 = einsum(tmp116, (0, 1, 2, 3), tmp85, (4, 5, 0, 2), (5, 4, 3, 1), optimize=True) - l2new.bbbb += tmp242.transpose((3, 2, 1, 0)) * -2 - l2new.bbbb += tmp242.transpose((2, 3, 1, 0)) * 2 - del tmp242 - tmp231 = einsum(tmp120, (0, 1, 2, 3), tmp230, (4, 0, 5, 3), (4, 1, 5, 2), optimize=True) - del tmp230 - l2new.bbbb += tmp231.transpose((3, 2, 1, 0)) * -1 - l2new.bbbb += tmp231.transpose((3, 2, 0, 1)) - l2new.bbbb += tmp231.transpose((2, 3, 1, 0)) - l2new.bbbb += tmp231.transpose((2, 3, 0, 1)) * -1 - del tmp231 - tmp152 = f.bb.oo.transpose((1, 0)).copy() - tmp152 += tmp147 * -1 - del tmp147 - tmp152 += tmp149 - del tmp149 - tmp152 += tmp150.transpose((1, 0)) - del tmp150 - tmp152 += tmp151.transpose((1, 0)) - del tmp151 - l2new.bbbb += einsum(l2.bbbb, (0, 1, 2, 3), tmp152, (2, 4), (1, 0, 4, 3), optimize=True) * 2 - l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp152, (3, 4), (0, 1, 2, 4), optimize=True) * -1 - l1new.bb += einsum(tmp152, (0, 1), l1.bb, (2, 0), (2, 1), optimize=True) * -1 - del tmp152 - tmp237 = einsum(v.bbb.xov, (0, 1, 2), tmp236, (3, 4, 0), (3, 1, 4, 2), optimize=True) - del tmp236 - l2new.bbbb += tmp237.transpose((2, 3, 1, 0)) * -1 - l2new.bbbb += tmp237.transpose((2, 3, 0, 1)) - l2new.bbbb += tmp237.transpose((3, 2, 1, 0)) - l2new.bbbb += tmp237.transpose((3, 2, 0, 1)) * -1 - del tmp237 - tmp232 = einsum(v.bbb.xvv, (0, 1, 2), tmp113, (3, 4, 0), (4, 3, 2, 1), optimize=True) - l2new.bbbb += einsum(tmp232, (0, 1, 2, 3), l2.bbbb, (3, 4, 0, 5), (2, 4, 5, 1), optimize=True) * 2 - del tmp232 - tmp246 = einsum(tmp120, (0, 1, 2, 3), tmp245, (4, 5, 0, 1), (4, 5, 2, 3), optimize=True) - del tmp245 - l2new.bbbb += tmp246.transpose((3, 2, 1, 0)) - l2new.bbbb += tmp246.transpose((3, 2, 1, 0)) - del tmp246 - tmp250 = tmp119.transpose((3, 2, 1, 0)).copy() - del tmp119 - tmp250 += tmp121.transpose((0, 3, 1, 2)) - del tmp121 - tmp250 += tmp122.transpose((0, 3, 1, 2)) - del tmp122 - l2new.bbbb += einsum(tmp250, (0, 1, 2, 3), l2.bbbb, (4, 5, 0, 2), (5, 4, 1, 3), optimize=True) * 2 - del tmp250 - tmp239 = f.bb.ov.copy() - tmp239 += tmp111 - del tmp111 - l2new.bbbb += einsum(tmp239, (0, 1), l1.bb, (2, 3), (1, 2, 3, 0), optimize=True) * -1 - del tmp239 - tmp241 = f.bb.ov.copy() - tmp241 += tmp211 - l2new.bbbb += einsum(l1.bb, (0, 1), tmp241, (2, 3), (0, 3, 2, 1), optimize=True) * -1 - l2new.bbbb += einsum(l1.bb, (0, 1), tmp241, (2, 3), (0, 3, 1, 2), optimize=True) - l2new.bbbb += einsum(l1.bb, (0, 1), tmp241, (2, 3), (3, 0, 2, 1), optimize=True) - del tmp241 - tmp249 = einsum(l2.bbbb, (0, 1, 2, 3), tmp123, (3, 2, 4, 5), (4, 5, 0, 1), optimize=True) * -1 - del tmp123 - l2new.bbbb += tmp249.transpose((2, 3, 1, 0)) * 2 - l2new.bbbb += tmp249.transpose((2, 3, 0, 1)) * -2 - del tmp249 - tmp229 = einsum(tmp202, (0, 1, 2, 3), tmp85, (4, 0, 2, 5), (4, 1, 5, 3), optimize=True) - del tmp202 - l2new.bbbb += tmp229.transpose((3, 2, 1, 0)) * 2 - l2new.bbbb += tmp229.transpose((3, 2, 0, 1)) * -2 - l2new.bbbb += tmp229.transpose((2, 3, 1, 0)) * -2 - l2new.bbbb += tmp229.transpose((2, 3, 0, 1)) * 2 - del tmp229 - tmp248 = einsum(tmp85, (0, 1, 2, 3), tmp112, (2, 4), (0, 1, 4, 3), optimize=True) * 2 - l2new.bbbb += tmp248.transpose((3, 2, 1, 0)) - l2new.bbbb += tmp248.transpose((2, 3, 1, 0)) * -1 - del tmp248 - tmp247 = einsum(l2.bbbb, (0, 1, 2, 3), tmp221, (0, 4), (2, 3, 4, 1), optimize=True) * 2 - del tmp221 - l2new.bbbb += tmp247.transpose((3, 2, 1, 0)) * -1 - l2new.bbbb += tmp247.transpose((2, 3, 1, 0)) - del tmp247 - tmp222 = tmp18.copy() - del tmp18 - tmp222 += einsum(tmp113, (0, 1, 2), tmp19, (3, 4, 2), (4, 3, 1, 0), optimize=True) - l2new.abab += einsum(tmp222, (0, 1, 2, 3), l2.abab, (4, 5, 0, 2), (4, 5, 1, 3), optimize=True) - del tmp222 - tmp200 = f.aa.oo.transpose((1, 0)).copy() * 0.5 - tmp200 += tmp101 * -0.5 - del tmp101 - tmp200 += einsum(tmp102, (0, 1, 2), v.baa.xov, (2, 3, 1), (0, 3), optimize=True) * 0.5 - del tmp102 - tmp200 += einsum(v.baa.xoo, (0, 1, 2), tmp14, (0,), (2, 1), optimize=True) * 0.5 - tmp200 += einsum(t1.aa, (0, 1), tmp16, (2, 1), (0, 2), optimize=True) * 0.5 - l2new.abab += einsum(tmp200, (0, 1), l2.abab, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) * -2 - del tmp200 - tmp203 = einsum(l2.aaaa, (0, 1, 2, 3), t2.abab, (2, 4, 1, 5), (3, 4, 0, 5), optimize=True) * -1 - l2new.abab += einsum(tmp203, (0, 1, 2, 3), tmp120, (4, 1, 3, 5), (2, 5, 0, 4), optimize=True) * -2 - del tmp203 - tmp215 = einsum(tmp214, (0, 1, 2, 3), l2.abab, (1, 2, 4, 5), (4, 5, 0, 3), optimize=True) - del tmp214 - l2new.abab += tmp215.transpose((2, 3, 0, 1)) * 0.5 - l2new.abab += tmp215.transpose((2, 3, 0, 1)) * 0.5 - del tmp215 - tmp210 = tmp165.copy() - tmp210 += tmp36 * -2 - tmp210 += tmp38 * -1 - tmp210 += tmp39 * -2 - tmp210 += tmp40 * -1 - tmp210 += einsum(l2.aaaa, (0, 1, 2, 3), tmp208, (2, 0, 4), (3, 1, 4), optimize=True) * 2 - del tmp208 - tmp210 += einsum(l2.abab, (0, 1, 2, 3), tmp209, (3, 1, 4), (2, 0, 4), optimize=True) - del tmp209 - l2new.abab += einsum(v.bbb.xov, (0, 1, 2), tmp210, (3, 4, 0), (4, 2, 3, 1), optimize=True) - del tmp210 - tmp213 = einsum(v.baa.xvv, (0, 1, 2), tmp205, (3, 4, 0), (4, 3, 2, 1), optimize=True) - l2new.abab += einsum(tmp213, (0, 1, 2, 3), l2.abab, (2, 4, 5, 0), (3, 4, 5, 1), optimize=True) * -1 - del tmp213 - tmp216 = einsum(tmp17, (0, 1, 2, 3), tmp60, (4, 0, 5, 1), (4, 5, 2, 3), optimize=True) * 0.5 - del tmp17 - l2new.abab += tmp216.transpose((2, 3, 0, 1)) - l2new.abab += tmp216.transpose((2, 3, 0, 1)) - del tmp216 - tmp196 = einsum(tmp29, (0, 1, 2, 3), t2.aaaa, (4, 1, 5, 2), (4, 0, 5, 3), optimize=True) * 2 - tmp196 += tmp170.transpose((1, 0, 3, 2)) - l2new.abab += einsum(tmp196, (0, 1, 2, 3), l2.abab, (2, 4, 0, 5), (3, 4, 1, 5), optimize=True) * -1 - del tmp196 - tmp198 = tmp197.copy() * 0.5 - del tmp197 - tmp198 += tmp126 * -0.5 - tmp198 += tmp127 * -1 - tmp198 += tmp128 * -0.5 - tmp198 += tmp129 * -1 - tmp198 += tmp130 - tmp198 += tmp131 - tmp198 += einsum(tmp90, (0, 1), v.bbb.xov, (2, 1, 3), (0, 3, 2), optimize=True) * -0.5 - l2new.abab += einsum(tmp198, (0, 1, 2), v.baa.xov, (2, 3, 4), (4, 1, 3, 0), optimize=True) * 2 - del tmp198 - tmp194 = einsum(v.baa.xov, (0, 1, 2), tmp113, (3, 4, 0), (1, 4, 3, 2), optimize=True) - l2new.abab += einsum(tmp194, (0, 1, 2, 3), l1.bb, (4, 1), (3, 4, 0, 2), optimize=True) * -1 - del tmp194 - tmp217 = f.aa.vv.transpose((1, 0)).copy() * -0.5 - tmp217 += einsum(tmp183, (0, 1, 2), v.baa.xov, (2, 0, 3), (1, 3), optimize=True) - del tmp183 - tmp217 += einsum(v.baa.xvv, (0, 1, 2), tmp14, (0,), (2, 1), optimize=True) * -0.5 - del tmp14 - l2new.abab += einsum(tmp217, (0, 1), l2.abab, (0, 2, 3, 4), (1, 2, 3, 4), optimize=True) * -2 - del tmp217 - tmp223 = einsum(v.bbb.xvv, (0, 1, 2), tmp155, (3, 4, 0), (4, 3, 2, 1), optimize=True) - l2new.abab += einsum(tmp223, (0, 1, 2, 3), l2.abab, (4, 2, 0, 5), (4, 3, 1, 5), optimize=True) * -1 - del tmp223 - tmp199 = einsum(tmp155, (0, 1, 2), v.bbb.xov, (2, 3, 4), (0, 1, 3, 4), optimize=True) - del tmp155 - l2new.abab += einsum(tmp199, (0, 1, 2, 3), l1.aa, (4, 1), (4, 3, 0, 2), optimize=True) * -1 - l2new.abab += einsum(tmp199, (0, 1, 2, 3), tmp37, (1, 4, 2, 5), (5, 3, 0, 4), optimize=True) - del tmp199 - tmp201 = f.aa.ov.copy() - tmp201 += tmp11 * -1 - del tmp11 - tmp201 += tmp175 - l2new.abab += einsum(tmp54, (0, 1, 2, 3), tmp201, (1, 4), (4, 3, 0, 2), optimize=True) * -1 - l2new.abab += einsum(tmp201, (0, 1), l1.bb, (2, 3), (1, 2, 0, 3), optimize=True) - del tmp201 - tmp207 = einsum(tmp120, (0, 1, 2, 3), t2.bbbb, (4, 0, 5, 3), (4, 1, 5, 2), optimize=True) * 2 - del tmp120 - tmp207 += tmp206.transpose((1, 0, 3, 2)) - del tmp206 - l2new.abab += einsum(tmp207, (0, 1, 2, 3), l2.abab, (4, 2, 5, 0), (4, 3, 5, 1), optimize=True) * -1 - del tmp207 - tmp195 = einsum(l2.bbbb, (0, 1, 2, 3), t2.abab, (4, 2, 5, 1), (4, 3, 5, 0), optimize=True) * -1 - l2new.abab += einsum(tmp195, (0, 1, 2, 3), tmp29, (4, 0, 2, 5), (5, 3, 4, 1), optimize=True) * -2 - del tmp195 - tmp212 = f.bb.ov.copy() - tmp212 += tmp110 * -1 - del tmp110 - tmp212 += tmp211 - del tmp211 - l2new.abab += einsum(tmp37, (0, 1, 2, 3), tmp212, (2, 4), (3, 4, 0, 1), optimize=True) * -1 - l2new.abab += einsum(l1.aa, (0, 1), tmp212, (2, 3), (0, 3, 1, 2), optimize=True) - del tmp212 - tmp224 = einsum(v.baa.xov, (0, 1, 2), tmp205, (3, 4, 0), (1, 4, 3, 2), optimize=True) - del tmp205 - l2new.abab += einsum(tmp224, (0, 1, 2, 3), tmp54, (4, 0, 1, 5), (3, 5, 4, 2), optimize=True) - del tmp224 - tmp180 = einsum(l2.aaaa, (0, 1, 2, 3), tmp179, (4, 5, 0, 1), (3, 2, 4, 5), optimize=True) - del tmp179 - l2new.aaaa += tmp180.transpose((2, 3, 1, 0)) * -1 - l2new.aaaa += tmp180.transpose((2, 3, 1, 0)) * -1 - del tmp180 - tmp188 = einsum(l2.aaaa, (0, 1, 2, 3), tmp32, (3, 2, 4, 5), (4, 5, 0, 1), optimize=True) * -1 - del tmp32 - l2new.aaaa += tmp188.transpose((2, 3, 1, 0)) * 2 - l2new.aaaa += tmp188.transpose((2, 3, 0, 1)) * -2 - del tmp188 - tmp186 = einsum(l2.aaaa, (0, 1, 2, 3), tmp185, (0, 4), (2, 3, 4, 1), optimize=True) * 2 - del tmp185 - l2new.aaaa += tmp186.transpose((3, 2, 1, 0)) * -1 - l2new.aaaa += tmp186.transpose((2, 3, 1, 0)) - del tmp186 - tmp161 = einsum(tmp160, (0, 1, 2, 3), tmp35, (4, 0, 1, 5), (4, 2, 5, 3), optimize=True) - del tmp160 - l2new.aaaa += tmp161.transpose((3, 2, 1, 0)) * 2 - l2new.aaaa += tmp161.transpose((3, 2, 0, 1)) * -2 - l2new.aaaa += tmp161.transpose((2, 3, 1, 0)) * -2 - l2new.aaaa += tmp161.transpose((2, 3, 0, 1)) * 2 - del tmp161 - tmp189 = tmp28.transpose((3, 2, 1, 0)).copy() - del tmp28 - tmp189 += tmp30.transpose((0, 3, 1, 2)) - del tmp30 - tmp189 += tmp31.transpose((0, 3, 1, 2)) - del tmp31 - l2new.aaaa += einsum(l2.aaaa, (0, 1, 2, 3), tmp189, (2, 4, 3, 5), (1, 0, 4, 5), optimize=True) * 2 - del tmp189 - tmp174 = einsum(v.baa.xov, (0, 1, 2), tmp173, (3, 4, 0), (3, 1, 4, 2), optimize=True) - del tmp173 - l2new.aaaa += tmp174.transpose((2, 3, 1, 0)) * -1 - l2new.aaaa += tmp174.transpose((3, 2, 1, 0)) - del tmp174 - tmp176 = f.aa.ov.copy() - tmp176 += tmp175 - del tmp175 - l2new.aaaa += einsum(tmp176, (0, 1), l1.aa, (2, 3), (2, 1, 0, 3), optimize=True) * -1 - l2new.aaaa += einsum(tmp176, (0, 1), l1.aa, (2, 3), (2, 1, 3, 0), optimize=True) - l2new.aaaa += einsum(tmp176, (0, 1), l1.aa, (2, 3), (1, 2, 0, 3), optimize=True) - del tmp176 - tmp171 = einsum(tmp170, (0, 1, 2, 3), l2.aaaa, (2, 4, 1, 5), (0, 5, 3, 4), optimize=True) - del tmp170 - l2new.aaaa += tmp171.transpose((3, 2, 0, 1)) * 2 - l2new.aaaa += tmp171.transpose((3, 2, 1, 0)) * -2 - l2new.aaaa += tmp171.transpose((2, 3, 0, 1)) * -2 - del tmp171 - tmp169 = f.aa.ov.copy() - tmp169 += tmp15 - del tmp15 - l2new.aaaa += einsum(l1.aa, (0, 1), tmp169, (2, 3), (3, 0, 1, 2), optimize=True) * -1 - del tmp169 - tmp168 = einsum(tmp106, (0, 1), l2.aaaa, (2, 3, 0, 4), (1, 4, 2, 3), optimize=True) * 2 - del tmp106 - l2new.aaaa += tmp168.transpose((3, 2, 0, 1)) - l2new.aaaa += tmp168.transpose((3, 2, 1, 0)) * -1 - del tmp168 - tmp157 = einsum(tmp156, (0, 1, 2, 3), l1.aa, (4, 1), (2, 0, 3, 4), optimize=True) - del tmp156 - l2new.aaaa += tmp157.transpose((3, 2, 1, 0)) * -1 - l2new.aaaa += tmp157.transpose((3, 2, 0, 1)) - del tmp157 - tmp177 = tmp165.copy() * 0.25 - tmp177 += tmp36 * -0.5 - tmp177 += tmp38 * -0.25 - tmp177 += tmp39 * -0.5 - tmp177 += tmp40 * -0.25 - tmp177 += einsum(l2.aaaa, (0, 1, 2, 3), tmp41, (2, 0, 4), (3, 1, 4), optimize=True) * 0.5 - tmp177 += einsum(l2.abab, (0, 1, 2, 3), tmp10, (3, 1, 4), (2, 0, 4), optimize=True) * 0.25 - tmp177 += einsum(tmp68, (0, 1), v.baa.xov, (2, 1, 3), (0, 3, 2), optimize=True) * -0.5 - l2new.aaaa += einsum(tmp177, (0, 1, 2), v.baa.xov, (2, 3, 4), (1, 4, 0, 3), optimize=True) * 4 - del tmp177 - tmp191 = einsum(v.baa.xov, (0, 1, 2), tmp190, (3, 4, 0), (3, 1, 4, 2), optimize=True) * -2 - del tmp190 - l2new.aaaa += tmp191.transpose((2, 3, 0, 1)) - l2new.aaaa += tmp191.transpose((3, 2, 0, 1)) * -1 - del tmp191 - tmp182 = einsum(tmp29, (0, 1, 2, 3), tmp181, (4, 5, 0, 1), (4, 5, 2, 3), optimize=True) - del tmp181 - l2new.aaaa += tmp182.transpose((3, 2, 1, 0)) - l2new.aaaa += tmp182.transpose((3, 2, 1, 0)) - del tmp182 - tmp154 = einsum(v.baa.xov, (0, 1, 2), tmp153, (3, 4, 0), (3, 1, 4, 2), optimize=True) - del tmp153 - l2new.aaaa += tmp154.transpose((2, 3, 1, 0)) * -1 - l2new.aaaa += tmp154.transpose((3, 2, 1, 0)) - del tmp154 - tmp178 = einsum(tmp35, (0, 1, 2, 3), tmp22, (2, 4, 3, 5), (1, 0, 5, 4), optimize=True) - l2new.aaaa += tmp178.transpose((3, 2, 1, 0)) * -2 - l2new.aaaa += tmp178.transpose((2, 3, 1, 0)) * 2 - del tmp178 - tmp164 = einsum(v.baa.xvv, (0, 1, 2), tmp19, (3, 4, 0), (4, 3, 2, 1), optimize=True) - l2new.aaaa += einsum(l2.aaaa, (0, 1, 2, 3), tmp164, (2, 4, 5, 0), (5, 1, 3, 4), optimize=True) * 2 - del tmp164 - tmp167 = tmp165.copy() * 0.5 - del tmp165 - tmp167 += tmp36 * -1 - tmp167 += tmp38 * -0.5 - tmp167 += tmp39 * -1 - tmp167 += tmp40 * -0.5 - tmp167 += einsum(l2.aaaa, (0, 1, 2, 3), tmp41, (2, 0, 4), (3, 1, 4), optimize=True) - tmp167 += einsum(l2.abab, (0, 1, 2, 3), tmp10, (3, 1, 4), (2, 0, 4), optimize=True) * 0.5 - tmp167 += tmp166 * -1 - del tmp166 - l2new.aaaa += einsum(tmp167, (0, 1, 2), v.baa.xov, (2, 3, 4), (4, 1, 0, 3), optimize=True) * -2 - del tmp167 - tmp187 = einsum(tmp16, (0, 1), tmp35, (2, 3, 0, 4), (2, 3, 4, 1), optimize=True) * 2 - l2new.aaaa += tmp187.transpose((2, 3, 1, 0)) - l2new.aaaa += tmp187.transpose((3, 2, 1, 0)) * -1 - del tmp187 - tmp159 = einsum(tmp35, (0, 1, 2, 3), tmp158, (1, 4, 2, 5), (0, 4, 3, 5), optimize=True) - del tmp158 - l2new.aaaa += tmp159.transpose((3, 2, 1, 0)) * 2 - l2new.aaaa += tmp159.transpose((3, 2, 0, 1)) * -2 - l2new.aaaa += tmp159.transpose((2, 3, 1, 0)) * -2 - l2new.aaaa += tmp159.transpose((2, 3, 0, 1)) * 2 - del tmp159 - tmp163 = einsum(tmp162, (0, 1, 2, 3), tmp29, (1, 4, 5, 3), (0, 4, 2, 5), optimize=True) - del tmp29, tmp162 - l2new.aaaa += tmp163.transpose((3, 2, 1, 0)) * -1 - l2new.aaaa += tmp163.transpose((3, 2, 0, 1)) - l2new.aaaa += tmp163.transpose((2, 3, 1, 0)) - l2new.aaaa += tmp163.transpose((2, 3, 0, 1)) * -1 - del tmp163 - tmp115 = einsum(tmp107, (0, 1, 2, 3), t2.abab, (4, 5, 1, 3), (4, 0, 5, 2), optimize=True) - del tmp107 - tmp115 += einsum(tmp108, (0, 1, 2, 3), t2.abab, (0, 4, 5, 3), (1, 2, 4, 5), optimize=True) * -1 - del tmp108 - tmp115 += einsum(tmp109, (0, 1, 2, 3), t2.abab, (4, 0, 5, 3), (4, 2, 1, 5), optimize=True) * -1 - del tmp109 - tmp115 += einsum(tmp5, (0, 1, 2), tmp41, (3, 4, 2), (3, 1, 0, 4), optimize=True) - tmp115 += einsum(t2.abab, (0, 1, 2, 3), tmp112, (4, 3), (0, 4, 1, 2), optimize=True) - tmp115 += einsum(t1.aa, (0, 1), tmp114, (0, 2, 3, 4), (2, 4, 3, 1), optimize=True) * -1 - del tmp114 - l1new.bb += einsum(tmp115, (0, 1, 2, 3), l2.abab, (3, 4, 0, 2), (4, 1), optimize=True) * -1 - del tmp115 - tmp144 = einsum(tmp7, (0, 1, 2), l1.bb, (1, 3), (0, 3, 2), optimize=True) - tmp144 += einsum(tmp135, (0, 1, 2, 3), v.baa.xvv, (4, 3, 2), (1, 0, 4), optimize=True) - del tmp135 - tmp144 += einsum(tmp136, (0, 1, 2, 3), v.bbb.xoo, (4, 1, 2), (3, 0, 4), optimize=True) * 2 - tmp144 += einsum(tmp136, (0, 1, 2, 3), tmp4, (0, 2, 4), (3, 1, 4), optimize=True) * -2 - del tmp136 - tmp144 += einsum(v.bbb.xvv, (0, 1, 2), tmp139, (3, 4, 2, 1), (4, 3, 0), optimize=True) * 4 - del tmp139 - tmp144 += einsum(tmp37, (0, 1, 2, 3), tmp41, (0, 3, 4), (2, 1, 4), optimize=True) - del tmp37 - tmp144 += einsum(tmp10, (0, 1, 2), tmp85, (0, 3, 4, 1), (4, 3, 2), optimize=True) * 2 - del tmp85 - tmp144 += einsum(v.bbb.xov, (0, 1, 2), tmp140, (3, 1, 4, 2), (4, 3, 0), optimize=True) * -4 - del tmp140 - tmp144 += einsum(v.baa.xov, (0, 1, 2), tmp141, (1, 3, 4, 2), (4, 3, 0), optimize=True) - del tmp141 - tmp144 += einsum(tmp142, (0, 1, 2, 3), tmp113, (2, 0, 4), (3, 1, 4), optimize=True) * -2 - del tmp142, tmp113 - tmp144 += einsum(tmp60, (0, 1, 2, 3), v.baa.xoo, (4, 0, 1), (3, 2, 4), optimize=True) * -1 - tmp144 += einsum(tmp60, (0, 1, 2, 3), tmp1, (0, 1, 4), (3, 2, 4), optimize=True) * -1 - tmp144 += einsum(v.bbb.xov, (0, 1, 2), tmp143, (3, 2), (3, 1, 0), optimize=True) * -1 - del tmp143 - tmp144 += einsum(v.bbb.xoo, (0, 1, 2), tmp90, (1, 3), (3, 2, 0), optimize=True) * -1 - del tmp90 - l1new.bb += einsum(tmp144, (0, 1, 2), v.bbb.xov, (2, 0, 3), (3, 1), optimize=True) * -1 - del tmp144 - tmp125 = einsum(t2.bbbb, (0, 1, 2, 3), tmp116, (4, 3, 5, 2), (4, 1, 0, 5), optimize=True) - del tmp116 - tmp125 += einsum(tmp117, (0, 1, 2, 3), t2.bbbb, (0, 4, 3, 5), (2, 4, 1, 5), optimize=True) * -2 - del tmp117 - tmp125 += einsum(tmp5, (0, 1, 2), tmp118, (3, 4, 2), (1, 3, 0, 4), optimize=True) - del tmp118 - tmp125 += einsum(tmp112, (0, 1), t2.bbbb, (2, 3, 1, 4), (0, 3, 2, 4), optimize=True) - del tmp112 - tmp125 += einsum(tmp5, (0, 1, 2), tmp7, (3, 4, 2), (1, 0, 3, 4), optimize=True) * -1 - del tmp7 - tmp125 += einsum(t1.bb, (0, 1), tmp124, (0, 2, 3, 4), (2, 4, 3, 1), optimize=True) * -1 - del tmp124 - l1new.bb += einsum(l2.bbbb, (0, 1, 2, 3), tmp125, (4, 2, 3, 0), (1, 4), optimize=True) * -2 - del tmp125 - tmp134 = tmp126.copy() * -0.5 - del tmp126 - tmp134 += tmp127 * -1 - del tmp127 - tmp134 += tmp128 * -0.5 - del tmp128 - tmp134 += tmp129 * -1 - del tmp129 - tmp134 += tmp130 - del tmp130 - tmp134 += tmp131 - del tmp131 - tmp134 += tmp133 * -1 - del tmp133 - tmp134 += einsum(tmp5, (0, 1, 2), l1.bb, (3, 0), (1, 3, 2), optimize=True) * -0.5 - del tmp5 - l1new.bb += einsum(v.bbb.xvv, (0, 1, 2), tmp134, (3, 1, 0), (2, 3), optimize=True) * 2 - del tmp134 - tmp97 = tmp74.copy() - del tmp74 - tmp97 += tmp79 - del tmp79 - tmp97 += tmp81 * -1 - del tmp81 - tmp97 += tmp93 * -1 - del tmp93 - tmp97 += tmp94 * -1 - del tmp94 - tmp97 += tmp96 * -1 - del tmp96 - l1new.bb += einsum(v.bbb.xov, (0, 1, 2), tmp97, (0,), (2, 1), optimize=True) - l1new.aa += einsum(tmp97, (0,), v.baa.xov, (0, 1, 2), (2, 1), optimize=True) - del tmp97 - tmp146 = f.bb.vv.transpose((1, 0)).copy() - tmp146 += einsum(v.bbb.xvv, (0, 1, 2), tmp145, (0,), (2, 1), optimize=True) - del tmp145 - l1new.bb += einsum(tmp146, (0, 1), l1.bb, (0, 2), (1, 2), optimize=True) - del tmp146 - tmp71 = einsum(tmp27, (0, 1, 2), l1.aa, (1, 3), (0, 3, 2), optimize=True) - tmp71 += einsum(v.baa.xoo, (0, 1, 2), tmp49, (3, 1, 2, 4), (4, 3, 0), optimize=True) * 2 - tmp71 += einsum(v.bbb.xvv, (0, 1, 2), tmp50, (3, 4, 2, 1), (4, 3, 0), optimize=True) - del tmp50 - tmp71 += einsum(tmp1, (0, 1, 2), tmp49, (0, 3, 1, 4), (4, 3, 2), optimize=True) * -2 - del tmp1, tmp49 - tmp71 += einsum(v.baa.xvv, (0, 1, 2), tmp53, (3, 4, 2, 1), (4, 3, 0), optimize=True) - del tmp53 - tmp71 += einsum(tmp35, (0, 1, 2, 3), tmp41, (0, 3, 4), (2, 1, 4), optimize=True) * 2 - del tmp35, tmp41 - tmp71 += einsum(tmp54, (0, 1, 2, 3), tmp10, (2, 3, 4), (1, 0, 4), optimize=True) - del tmp54 - tmp71 += einsum(v.baa.xov, (0, 1, 2), tmp55, (3, 1, 4, 2), (4, 3, 0), optimize=True) * -1 - del tmp55 - tmp71 += einsum(v.bbb.xov, (0, 1, 2), tmp56, (3, 4, 1, 2), (4, 3, 0), optimize=True) - del tmp56 - tmp71 += einsum(tmp57, (0, 1, 2, 3), tmp19, (2, 0, 4), (3, 1, 4), optimize=True) * -2 - del tmp57, tmp19 - tmp71 += einsum(tmp60, (0, 1, 2, 3), v.bbb.xoo, (4, 2, 3), (1, 0, 4), optimize=True) * -1 - tmp71 += einsum(tmp4, (0, 1, 2), tmp60, (3, 4, 0, 1), (4, 3, 2), optimize=True) * -1 - del tmp4, tmp60 - tmp71 += einsum(tmp70, (0, 1), v.baa.xov, (2, 3, 1), (0, 3, 2), optimize=True) * -2 - del tmp70 - tmp71 += einsum(tmp68, (0, 1), v.baa.xoo, (2, 0, 3), (1, 3, 2), optimize=True) * -2 - del tmp68 - l1new.aa += einsum(v.baa.xov, (0, 1, 2), tmp71, (1, 3, 0), (2, 3), optimize=True) * -1 - del tmp71 - tmp34 = einsum(tmp22, (0, 1, 2, 3), t2.aaaa, (4, 5, 3, 2), (0, 5, 4, 1), optimize=True) - del tmp22 - tmp34 += einsum(t2.aaaa, (0, 1, 2, 3), tmp23, (4, 0, 5, 2), (4, 1, 5, 3), optimize=True) * -2 - del tmp23 - tmp34 += einsum(tmp2, (0, 1, 2), tmp26, (3, 4, 2), (1, 3, 0, 4), optimize=True) - del tmp26 - tmp34 += einsum(t2.aaaa, (0, 1, 2, 3), tmp16, (4, 2), (4, 1, 0, 3), optimize=True) - tmp34 += einsum(tmp27, (0, 1, 2), tmp2, (3, 4, 2), (4, 3, 0, 1), optimize=True) * -1 - del tmp27 - tmp34 += einsum(tmp33, (0, 1, 2, 3), t1.aa, (0, 4), (1, 3, 2, 4), optimize=True) * -1 - del tmp33 - l1new.aa += einsum(tmp34, (0, 1, 2, 3), l2.aaaa, (3, 4, 1, 2), (4, 0), optimize=True) * -2 - del tmp34 - tmp48 = tmp36.copy() * -2 - del tmp36 - tmp48 += tmp38 * -1 - del tmp38 - tmp48 += tmp39 * -2 - del tmp39 - tmp48 += tmp40 * -1 - del tmp40 - tmp48 += tmp42 - del tmp42 - tmp48 += tmp43 - del tmp43 - tmp48 += tmp47 * -1 - del tmp47 - tmp48 += einsum(tmp2, (0, 1, 2), l1.aa, (3, 0), (1, 3, 2), optimize=True) * -1 - l1new.aa += einsum(v.baa.xvv, (0, 1, 2), tmp48, (3, 1, 0), (2, 3), optimize=True) - del tmp48 - tmp100 = f.aa.vv.transpose((1, 0)).copy() - tmp100 += tmp99.transpose((1, 0)) - del tmp99 - l1new.aa += einsum(l1.aa, (0, 1), tmp100, (0, 2), (2, 1), optimize=True) - del tmp100 - tmp98 = tmp65.copy() - del tmp65 - tmp98 += tmp66 * 2 - del tmp66 - tmp98 += tmp67 - del tmp67 - l1new.aa += einsum(tmp98, (0, 1), tmp16, (1, 2), (2, 0), optimize=True) * -1 - del tmp98 - tmp21 = einsum(tmp0, (0, 1, 2, 3), t2.abab, (4, 5, 1, 2), (0, 4, 5, 3), optimize=True) - del tmp0 - tmp21 += einsum(t2.abab, (0, 1, 2, 3), tmp3, (0, 4, 5, 2), (5, 4, 1, 3), optimize=True) * -1 - del tmp3 - tmp21 += einsum(tmp6, (0, 1, 2, 3), t2.abab, (4, 1, 3, 5), (0, 4, 2, 5), optimize=True) * -1 - del tmp6 - tmp21 += einsum(tmp2, (0, 1, 2), tmp10, (3, 4, 2), (1, 0, 3, 4), optimize=True) - del tmp10, tmp2 - tmp21 += einsum(t2.abab, (0, 1, 2, 3), tmp16, (4, 2), (4, 0, 1, 3), optimize=True) - del tmp16 - tmp21 += einsum(t1.bb, (0, 1), tmp20, (2, 3, 0, 4), (3, 2, 4, 1), optimize=True) * -1 - del tmp20 - l1new.aa += einsum(l2.abab, (0, 1, 2, 3), tmp21, (4, 2, 3, 1), (0, 4), optimize=True) * -1 - del tmp21 - l1new.aa += f.aa.ov.transpose((1, 0)) - l1new.bb += f.bb.ov.transpose((1, 0)) - - return {f"l1new": l1new, f"l2new": l2new} - -def make_rdm1_f(l1=None, l2=None, t1=None, t2=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-07-18T20:48:59.483678. - - Parameters - ---------- - l1 : Namespace of arrays - L1 amplitudes. - l2 : Namespace of arrays - L2 amplitudes. - t1 : Namespace of arrays - T1 amplitudes. - t2 : Namespace of arrays - T2 amplitudes. - - Returns - ------- - rdm1 : Namespace of arrays - One-particle reduced density matrix. - """ - - rdm1 = Namespace() - rdm1.aa = Namespace() - rdm1.bb = Namespace() - delta = Namespace( - aa=Namespace(oo=np.eye(t2.aaaa.shape[0]), vv=np.eye(t2.aaaa.shape[-1])), - bb=Namespace(oo=np.eye(t2.bbbb.shape[0]), vv=np.eye(t2.bbbb.shape[-1])), - ) - tmp5 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (2, 3, 4, 1), (4, 0), optimize=True) - rdm1.bb.oo = tmp5.transpose((1, 0)).copy() * -2 - tmp4 = einsum(l1.bb, (0, 1), t1.bb, (2, 0), (1, 2), optimize=True) - rdm1.bb.oo += tmp4.transpose((1, 0)) * -1 - tmp3 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 1), (3, 4), optimize=True) - rdm1.bb.oo += tmp3.transpose((1, 0)) * -1 - tmp0 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 0, 1), (2, 4), optimize=True) - rdm1.aa.oo = tmp0.transpose((1, 0)).copy() * -1 - tmp1 = einsum(t1.aa, (0, 1), l1.aa, (1, 2), (2, 0), optimize=True) - rdm1.aa.oo += tmp1.transpose((1, 0)) * -1 - tmp2 = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (2, 3, 4, 1), (4, 0), optimize=True) - rdm1.aa.oo += tmp2.transpose((1, 0)) * -2 - tmp10 = einsum(t1.bb, (0, 1), l2.bbbb, (2, 1, 3, 4), (3, 4, 0, 2), optimize=True) - rdm1.bb.ov = einsum(tmp10, (0, 1, 2, 3), t2.bbbb, (0, 1, 4, 3), (2, 4), optimize=True) * 2 - del tmp10 - tmp11 = tmp4.copy() - del tmp4 - tmp11 += tmp3 - del tmp3 - tmp11 += tmp5 * 2 - del tmp5 - rdm1.bb.ov += einsum(tmp11, (0, 1), t1.bb, (0, 2), (1, 2), optimize=True) * -1 - del tmp11 - tmp9 = einsum(l2.abab, (0, 1, 2, 3), t1.bb, (4, 1), (2, 3, 4, 0), optimize=True) - rdm1.bb.ov += einsum(tmp9, (0, 1, 2, 3), t2.abab, (0, 1, 3, 4), (2, 4), optimize=True) * -1 - del tmp9 - tmp7 = einsum(l2.abab, (0, 1, 2, 3), t1.aa, (4, 0), (2, 4, 3, 1), optimize=True) - rdm1.aa.ov = einsum(t2.abab, (0, 1, 2, 3), tmp7, (0, 4, 1, 3), (4, 2), optimize=True) * -1 - del tmp7 - tmp6 = einsum(l2.aaaa, (0, 1, 2, 3), t1.aa, (4, 1), (2, 3, 4, 0), optimize=True) - rdm1.aa.ov += einsum(tmp6, (0, 1, 2, 3), t2.aaaa, (0, 1, 4, 3), (2, 4), optimize=True) * 2 - del tmp6 - tmp8 = tmp1.copy() - del tmp1 - tmp8 += tmp2 * 2 - del tmp2 - tmp8 += tmp0 - del tmp0 - rdm1.aa.ov += einsum(t1.aa, (0, 1), tmp8, (0, 2), (2, 1), optimize=True) * -1 - del tmp8 - rdm1.aa.oo += delta.aa.oo.transpose((1, 0)) - rdm1.bb.oo += delta.bb.oo.transpose((1, 0)) - del delta - rdm1.aa.ov += einsum(t2.aaaa, (0, 1, 2, 3), l1.aa, (3, 1), (0, 2), optimize=True) * 2 - rdm1.aa.ov += t1.aa - rdm1.aa.ov += einsum(l1.bb, (0, 1), t2.abab, (2, 1, 3, 0), (2, 3), optimize=True) - rdm1.bb.ov += einsum(t2.bbbb, (0, 1, 2, 3), l1.bb, (3, 1), (0, 2), optimize=True) * 2 - rdm1.bb.ov += t1.bb - rdm1.bb.ov += einsum(l1.aa, (0, 1), t2.abab, (1, 2, 0, 3), (2, 3), optimize=True) - rdm1.aa.vo = l1.aa.copy() - rdm1.bb.vo = l1.bb.copy() - rdm1.aa.vv = einsum(l1.aa, (0, 1), t1.aa, (1, 2), (0, 2), optimize=True) - rdm1.aa.vv += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 4, 1), (0, 4), optimize=True) - rdm1.aa.vv += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (2, 3, 4, 0), (1, 4), optimize=True) * -2 - rdm1.bb.vv = einsum(l1.bb, (0, 1), t1.bb, (1, 2), (0, 2), optimize=True) - rdm1.bb.vv += einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (3, 4, 0, 1), (4, 2), optimize=True) * -2 - rdm1.bb.vv += einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 4, 0, 1), (4, 3), optimize=True) - rdm1.aa = np.block([[rdm1.aa.oo, rdm1.aa.ov], [rdm1.aa.vo, rdm1.aa.vv]]) - rdm1.bb = np.block([[rdm1.bb.oo, rdm1.bb.ov], [rdm1.bb.vo, rdm1.bb.vv]]) - - return rdm1 - -def make_rdm2_f(l1=None, l2=None, t1=None, t2=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-07-18T20:49:39.315668. - - Parameters - ---------- - l1 : Namespace of arrays - L1 amplitudes. - l2 : Namespace of arrays - L2 amplitudes. - t1 : Namespace of arrays - T1 amplitudes. - t2 : Namespace of arrays - T2 amplitudes. - - Returns - ------- - rdm2 : Namespace of arrays - Two-particle reduced density matrix. - """ - - rdm2 = Namespace() - rdm2.aaaa = Namespace() - rdm2.abab = Namespace() - rdm2.bbbb = Namespace() - delta = Namespace( - aa=Namespace(oo=np.eye(t2.aaaa.shape[0]), vv=np.eye(t2.aaaa.shape[-1])), - bb=Namespace(oo=np.eye(t2.bbbb.shape[0]), vv=np.eye(t2.bbbb.shape[-1])), - ) - tmp18 = einsum(t1.bb, (0, 1), l2.bbbb, (2, 1, 3, 4), (3, 4, 0, 2), optimize=True) - rdm2.bbbb.vooo = tmp18.transpose((3, 2, 1, 0)).copy() * 2 - rdm2.bbbb.ovoo = tmp18.transpose((2, 3, 1, 0)).copy() * -2 - tmp10 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (2, 3, 4, 1), (4, 0), optimize=True) - tmp9 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 1), (3, 4), optimize=True) - tmp13 = einsum(l2.abab, (0, 1, 2, 3), t1.bb, (4, 1), (2, 3, 4, 0), optimize=True) - rdm2.abab.vovv = einsum(t2.abab, (0, 1, 2, 3), tmp13, (0, 1, 4, 5), (5, 4, 2, 3), optimize=True) * -1 - rdm2.abab.vovo = einsum(tmp13, (0, 1, 2, 3), t1.aa, (0, 4), (3, 2, 4, 1), optimize=True) * -1 - rdm2.abab.vooo = tmp13.transpose((3, 2, 0, 1)).copy() * -1 - tmp1 = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (2, 3, 4, 1), (4, 0), optimize=True) - tmp0 = einsum(t1.aa, (0, 1), l1.aa, (1, 2), (2, 0), optimize=True) - tmp2 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 0, 1), (2, 4), optimize=True) - tmp8 = einsum(l1.bb, (0, 1), t1.bb, (2, 0), (1, 2), optimize=True) - tmp6 = einsum(l2.aaaa, (0, 1, 2, 3), t1.aa, (4, 1), (2, 3, 4, 0), optimize=True) - rdm2.aaaa.vooo = tmp6.transpose((3, 2, 1, 0)).copy() * 2 - rdm2.aaaa.ovoo = tmp6.transpose((2, 3, 1, 0)).copy() * -2 - tmp26 = einsum(l2.abab, (0, 1, 2, 3), t1.aa, (4, 0), (2, 4, 3, 1), optimize=True) - rdm2.abab.ovvv = einsum(tmp26, (0, 1, 2, 3), t2.abab, (0, 2, 4, 5), (1, 3, 4, 5), optimize=True) * -1 - rdm2.abab.ovov = einsum(t1.bb, (0, 1), tmp26, (2, 3, 0, 4), (3, 4, 2, 1), optimize=True) * -1 - rdm2.abab.ovoo = tmp26.transpose((1, 3, 0, 2)).copy() * -1 - tmp95 = einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 3, 5, 0), (2, 4, 1, 5), optimize=True) * -1 - rdm2.bbbb.vovo = tmp95.transpose((2, 1, 3, 0)).copy() * -4 - rdm2.bbbb.voov = tmp95.transpose((2, 1, 0, 3)).copy() * 4 - rdm2.bbbb.ovvo = tmp95.transpose((1, 2, 3, 0)).copy() * 4 - rdm2.bbbb.ovov = tmp95.transpose((1, 2, 0, 3)).copy() * -4 - tmp114 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 5), (3, 4, 1, 5), optimize=True) - rdm2.bbbb.vovo += tmp114.transpose((2, 1, 3, 0)) * -1 - rdm2.bbbb.voov += tmp114.transpose((2, 1, 0, 3)) - rdm2.bbbb.ovvo += tmp114.transpose((1, 2, 3, 0)) - rdm2.bbbb.ovov += tmp114.transpose((1, 2, 0, 3)) * -1 - tmp87 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 5, 1), (2, 4, 0, 5), optimize=True) - rdm2.aaaa.vovo = tmp87.transpose((2, 1, 3, 0)).copy() * -1 - rdm2.aaaa.voov = tmp87.transpose((2, 1, 0, 3)).copy() - rdm2.aaaa.ovvo = tmp87.transpose((1, 2, 3, 0)).copy() - rdm2.aaaa.ovov = tmp87.transpose((1, 2, 0, 3)).copy() * -1 - tmp65 = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (3, 4, 5, 1), (5, 0, 4, 2), optimize=True) * -1 - rdm2.aaaa.vovo += tmp65.transpose((2, 1, 3, 0)) * -4 - rdm2.aaaa.voov += tmp65.transpose((2, 1, 0, 3)) * 4 - rdm2.aaaa.ovvo += tmp65.transpose((1, 2, 3, 0)) * 4 - rdm2.aaaa.ovov += tmp65.transpose((1, 2, 0, 3)) * -4 - tmp19 = einsum(t1.bb, (0, 1), tmp18, (2, 3, 4, 1), (2, 3, 0, 4), optimize=True) - rdm2.bbbb.oooo = tmp19.transpose((2, 3, 1, 0)).copy() * -2 - tmp17 = einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 5, 0, 1), (2, 3, 4, 5), optimize=True) - rdm2.bbbb.oooo += tmp17.transpose((3, 2, 1, 0)) * 2 - tmp101 = tmp9.copy() * 0.5 - tmp101 += tmp10 - tmp50 = einsum(tmp18, (0, 1, 2, 3), t2.bbbb, (4, 1, 5, 3), (0, 2, 4, 5), optimize=True) * -1 - rdm2.bbbb.oovo = tmp50.transpose((2, 1, 3, 0)).copy() * -4 - rdm2.bbbb.oovo += tmp50.transpose((1, 2, 3, 0)) * 4 - rdm2.bbbb.ooov = tmp50.transpose((2, 1, 0, 3)).copy() * 4 - rdm2.bbbb.ooov += tmp50.transpose((1, 2, 0, 3)) * -4 - tmp51 = einsum(tmp13, (0, 1, 2, 3), t2.abab, (0, 4, 3, 5), (1, 2, 4, 5), optimize=True) - rdm2.bbbb.oovo += tmp51.transpose((2, 1, 3, 0)) * -1 - rdm2.bbbb.oovo += tmp51.transpose((1, 2, 3, 0)) - rdm2.bbbb.ooov += tmp51.transpose((2, 1, 0, 3)) - rdm2.bbbb.ooov += tmp51.transpose((1, 2, 0, 3)) * -1 - tmp28 = tmp0.copy() * 0.5 - tmp28 += tmp1 - tmp28 += tmp2 * 0.5 - rdm2.aaaa.ooov = einsum(t1.aa, (0, 1), tmp28, (2, 3), (0, 3, 2, 1), optimize=True) * 2 - tmp12 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 5, 0, 1), (2, 4, 3, 5), optimize=True) - rdm2.abab.oooo = tmp12.transpose((1, 3, 0, 2)).copy() - tmp14 = einsum(tmp13, (0, 1, 2, 3), t1.aa, (4, 3), (0, 4, 1, 2), optimize=True) - rdm2.abab.oooo += tmp14.transpose((1, 3, 0, 2)) - tmp15 = tmp8.copy() - tmp15 += tmp9 - tmp15 += tmp10 * 2 - rdm2.abab.oovv = einsum(tmp15, (0, 1), t2.abab, (2, 0, 3, 4), (2, 1, 3, 4), optimize=True) * -1 - rdm2.abab.oovo = einsum(tmp15, (0, 1), t1.aa, (2, 3), (2, 1, 3, 0), optimize=True) * -1 - rdm2.bbbb.ooov += einsum(tmp15, (0, 1), t1.bb, (2, 3), (2, 1, 0, 3), optimize=True) - rdm2.bbbb.ooov += einsum(tmp15, (0, 1), t1.bb, (2, 3), (1, 2, 0, 3), optimize=True) * -1 - rdm2.bbbb.oooo += einsum(tmp15, (0, 1), delta.bb.oo, (2, 3), (1, 3, 0, 2), optimize=True) * -1 - tmp32 = einsum(tmp6, (0, 1, 2, 3), t2.aaaa, (4, 1, 5, 3), (0, 2, 4, 5), optimize=True) * -1 - rdm2.aaaa.oovo = tmp32.transpose((2, 1, 3, 0)).copy() * -4 - rdm2.aaaa.oovo += tmp32.transpose((1, 2, 3, 0)) * 4 - rdm2.aaaa.ooov += tmp32.transpose((2, 1, 0, 3)) * 4 - rdm2.aaaa.ooov += tmp32.transpose((1, 2, 0, 3)) * -4 - tmp31 = einsum(t2.abab, (0, 1, 2, 3), tmp26, (4, 5, 1, 3), (4, 5, 0, 2), optimize=True) - rdm2.aaaa.oovo += tmp31.transpose((2, 1, 3, 0)) * -1 - rdm2.aaaa.oovo += tmp31.transpose((1, 2, 3, 0)) - rdm2.aaaa.ooov += tmp31.transpose((2, 1, 0, 3)) - rdm2.aaaa.ooov += tmp31.transpose((1, 2, 0, 3)) * -1 - tmp5 = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (2, 3, 4, 5), (4, 5, 0, 1), optimize=True) - rdm2.aaaa.oooo = tmp5.transpose((3, 2, 1, 0)).copy() * 2 - tmp7 = einsum(tmp6, (0, 1, 2, 3), t1.aa, (4, 3), (0, 1, 4, 2), optimize=True) - rdm2.aaaa.oooo += tmp7.transpose((2, 3, 1, 0)) * -2 - tmp75 = tmp1.copy() * 2 - tmp75 += tmp2 - tmp126 = tmp114.copy() - del tmp114 - tmp126 += tmp95 * 4 - tmp115 = einsum(t1.bb, (0, 1), tmp18, (2, 0, 3, 4), (2, 3, 4, 1), optimize=True) - rdm2.bbbb.vovo += tmp115.transpose((2, 1, 3, 0)) * 2 - rdm2.bbbb.voov += tmp115.transpose((2, 1, 0, 3)) * -2 - rdm2.bbbb.ovvo += tmp115.transpose((1, 2, 3, 0)) * -2 - rdm2.bbbb.ovov += tmp115.transpose((1, 2, 0, 3)) * 2 - tmp112 = einsum(l1.bb, (0, 1), t1.bb, (1, 2), (0, 2), optimize=True) - rdm2.bbbb.ovvv = einsum(t1.bb, (0, 1), tmp112, (2, 3), (0, 2, 3, 1), optimize=True) * -1 - rdm2.bbbb.ovvv += einsum(tmp112, (0, 1), t1.bb, (2, 3), (2, 0, 3, 1), optimize=True) - tmp83 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 4, 0, 1), (4, 3), optimize=True) - tmp84 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (3, 4, 0, 1), (4, 2), optimize=True) * -1 - tmp97 = einsum(t2.bbbb, (0, 1, 2, 3), l2.abab, (4, 3, 5, 1), (5, 0, 4, 2), optimize=True) - rdm2.abab.voov = tmp97.transpose((2, 1, 0, 3)).copy() * 2 - tmp93 = einsum(t2.abab, (0, 1, 2, 3), l2.aaaa, (2, 4, 5, 0), (5, 1, 4, 3), optimize=True) * -1 - rdm2.abab.voov += tmp93.transpose((2, 1, 0, 3)) * 2 - tmp62 = einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (2, 3, 4, 0), (1, 4), optimize=True) * -1 - tmp63 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 4, 1), (0, 4), optimize=True) - tmp109 = einsum(l1.aa, (0, 1), t1.aa, (1, 2), (0, 2), optimize=True) - rdm2.aaaa.ovvv = einsum(t1.aa, (0, 1), tmp109, (2, 3), (0, 2, 3, 1), optimize=True) * -1 - rdm2.aaaa.ovvv += einsum(t1.aa, (0, 1), tmp109, (2, 3), (0, 2, 1, 3), optimize=True) - tmp111 = einsum(tmp6, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 3, 4), optimize=True) - rdm2.aaaa.vovo += tmp111.transpose((2, 1, 3, 0)) * 2 - rdm2.aaaa.voov += tmp111.transpose((2, 1, 0, 3)) * -2 - rdm2.aaaa.ovvo += tmp111.transpose((1, 2, 3, 0)) * -2 - rdm2.aaaa.ovov += tmp111.transpose((1, 2, 0, 3)) * 2 - tmp88 = tmp65.copy() * 4 - tmp88 += tmp87 - del tmp87 - rdm2.abab.oovv += einsum(tmp88, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) - tmp67 = einsum(l2.bbbb, (0, 1, 2, 3), t2.abab, (4, 3, 5, 0), (4, 2, 5, 1), optimize=True) * -1 - rdm2.abab.ovvo = tmp67.transpose((0, 3, 2, 1)).copy() * 2 - tmp69 = einsum(l2.abab, (0, 1, 2, 3), t2.aaaa, (4, 2, 5, 0), (4, 3, 5, 1), optimize=True) - rdm2.abab.ovvo += tmp69.transpose((0, 3, 2, 1)) * 2 - tmp52 = tmp17.transpose((1, 0, 3, 2)).copy() - del tmp17 - tmp52 += tmp19.transpose((0, 1, 3, 2)) * -1 - del tmp19 - rdm2.bbbb.oovv = einsum(tmp52, (0, 1, 2, 3), t2.bbbb, (0, 1, 4, 5), (3, 2, 5, 4), optimize=True) * 2 - tmp39 = einsum(tmp13, (0, 1, 2, 3), t2.abab, (0, 1, 3, 4), (2, 4), optimize=True) - tmp40 = einsum(tmp18, (0, 1, 2, 3), t2.bbbb, (0, 1, 4, 3), (2, 4), optimize=True) * -1 - tmp102 = einsum(tmp101, (0, 1), t1.bb, (0, 2), (1, 2), optimize=True) * 2 - del tmp101 - tmp107 = tmp51.copy() - del tmp51 - tmp107 += tmp50 * 4 - del tmp50 - tmp35 = einsum(l1.aa, (0, 1), t2.abab, (1, 2, 0, 3), (2, 3), optimize=True) - tmp36 = einsum(t2.bbbb, (0, 1, 2, 3), l1.bb, (3, 1), (0, 2), optimize=True) - tmp49 = einsum(t2.bbbb, (0, 1, 2, 3), l1.bb, (3, 4), (4, 0, 1, 2), optimize=True) - rdm2.bbbb.oovo += tmp49.transpose((2, 1, 3, 0)) * 2 - rdm2.bbbb.ooov += tmp49.transpose((2, 1, 0, 3)) * -2 - tmp43 = einsum(t2.bbbb, (0, 1, 2, 3), tmp26, (4, 5, 1, 3), (4, 5, 0, 2), optimize=True) - rdm2.abab.ooov = tmp43.transpose((1, 2, 0, 3)).copy() * -2 - tmp44 = einsum(t2.abab, (0, 1, 2, 3), tmp6, (4, 0, 5, 2), (4, 5, 1, 3), optimize=True) * -1 - rdm2.abab.ooov += tmp44.transpose((1, 2, 0, 3)) * -2 - tmp58 = einsum(tmp18, (0, 1, 2, 3), t2.abab, (4, 1, 5, 3), (4, 0, 2, 5), optimize=True) * -1 - rdm2.abab.oovo += tmp58.transpose((0, 2, 3, 1)) * -2 - tmp57 = einsum(tmp13, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 3), (4, 1, 2, 5), optimize=True) - rdm2.abab.oovo += tmp57.transpose((0, 2, 3, 1)) * -2 - tmp27 = einsum(t2.abab, (0, 1, 2, 3), tmp26, (0, 4, 1, 3), (4, 2), optimize=True) - tmp25 = einsum(tmp6, (0, 1, 2, 3), t2.aaaa, (0, 1, 4, 3), (2, 4), optimize=True) * -1 - tmp29 = einsum(tmp28, (0, 1), t1.aa, (0, 2), (1, 2), optimize=True) * 2 - tmp45 = tmp12.copy() - del tmp12 - tmp45 += tmp14 - del tmp14 - rdm2.abab.oovv += einsum(t2.abab, (0, 1, 2, 3), tmp45, (0, 4, 1, 5), (4, 5, 2, 3), optimize=True) - rdm2.abab.oovo += einsum(t1.aa, (0, 1), tmp45, (0, 2, 3, 4), (2, 4, 1, 3), optimize=True) - tmp20 = einsum(t2.aaaa, (0, 1, 2, 3), l1.aa, (3, 1), (0, 2), optimize=True) - tmp21 = einsum(l1.bb, (0, 1), t2.abab, (2, 1, 3, 0), (2, 3), optimize=True) - tmp41 = einsum(tmp15, (0, 1), t1.bb, (0, 2), (1, 2), optimize=True) - tmp24 = einsum(t2.aaaa, (0, 1, 2, 3), l1.aa, (3, 4), (4, 0, 1, 2), optimize=True) - rdm2.aaaa.oovo += tmp24.transpose((2, 1, 3, 0)) * 2 - rdm2.aaaa.ooov += tmp24.transpose((2, 1, 0, 3)) * -2 - tmp81 = tmp32.copy() * 4 - del tmp32 - tmp81 += tmp31 - del tmp31 - tmp33 = tmp5.transpose((1, 0, 3, 2)).copy() - del tmp5 - tmp33 += tmp7.transpose((0, 1, 3, 2)) * -1 - del tmp7 - rdm2.aaaa.oovv = einsum(t2.aaaa, (0, 1, 2, 3), tmp33, (0, 1, 4, 5), (5, 4, 3, 2), optimize=True) * 2 - tmp4 = tmp0.copy() - tmp4 += tmp1 * 2 - tmp4 += tmp2 - rdm2.abab.oovv += einsum(tmp4, (0, 1), t2.abab, (0, 2, 3, 4), (1, 2, 3, 4), optimize=True) * -1 - rdm2.aaaa.oovo += einsum(t1.aa, (0, 1), tmp4, (2, 3), (0, 3, 1, 2), optimize=True) * -1 - rdm2.aaaa.oovo += einsum(tmp4, (0, 1), t1.aa, (2, 3), (1, 2, 3, 0), optimize=True) - rdm2.abab.ooov += einsum(tmp4, (0, 1), t1.bb, (2, 3), (1, 2, 0, 3), optimize=True) * -1 - rdm2.aaaa.ooov += einsum(tmp4, (0, 1), t1.aa, (2, 3), (1, 2, 0, 3), optimize=True) * -1 - rdm2.abab.oooo += einsum(delta.bb.oo, (0, 1), tmp4, (2, 3), (3, 1, 2, 0), optimize=True) * -1 - rdm2.aaaa.oooo += einsum(delta.aa.oo, (0, 1), tmp4, (2, 3), (1, 3, 2, 0), optimize=True) - rdm2.aaaa.oooo += einsum(tmp4, (0, 1), delta.aa.oo, (2, 3), (1, 3, 0, 2), optimize=True) * -1 - tmp76 = einsum(tmp75, (0, 1), t1.aa, (0, 2), (1, 2), optimize=True) * 0.5 - del tmp75 - tmp60 = einsum(tmp15, (0, 1), t1.bb, (0, 2), (1, 2), optimize=True) * 0.5 - tmp54 = einsum(tmp28, (0, 1), t1.aa, (0, 2), (1, 2), optimize=True) - del tmp28 - tmp133 = einsum(l2.bbbb, (0, 1, 2, 3), t1.bb, (3, 4), (2, 0, 1, 4), optimize=True) - rdm2.bbbb.vvvv = einsum(t1.bb, (0, 1), tmp133, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) * 2 - rdm2.bbbb.vvvo = tmp133.transpose((2, 1, 3, 0)).copy() * 2 - rdm2.bbbb.vvov = tmp133.transpose((2, 1, 0, 3)).copy() * -2 - del tmp133 - tmp132 = einsum(l2.abab, (0, 1, 2, 3), t1.bb, (3, 4), (2, 0, 1, 4), optimize=True) - rdm2.abab.vvvv = einsum(tmp132, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3), optimize=True) - rdm2.abab.vvov = tmp132.transpose((1, 2, 0, 3)).copy() - del tmp132 - tmp131 = einsum(t1.aa, (0, 1), l2.aaaa, (2, 3, 4, 0), (4, 2, 3, 1), optimize=True) - rdm2.aaaa.vvvv = einsum(t1.aa, (0, 1), tmp131, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) * 2 - rdm2.aaaa.vvvo = tmp131.transpose((2, 1, 3, 0)).copy() * 2 - rdm2.aaaa.vvov = tmp131.transpose((2, 1, 0, 3)).copy() * -2 - del tmp131 - tmp128 = einsum(tmp18, (0, 1, 2, 3), t2.bbbb, (0, 1, 4, 5), (2, 3, 4, 5), optimize=True) - del tmp18 - rdm2.bbbb.vovv = tmp128.transpose((1, 0, 3, 2)).copy() * 2 - rdm2.bbbb.ovvv += tmp128.transpose((0, 1, 3, 2)) * -2 - del tmp128 - tmp127 = einsum(tmp126, (0, 1, 2, 3), t1.bb, (0, 4), (1, 4, 2, 3), optimize=True) - del tmp126 - rdm2.bbbb.vovv += tmp127.transpose((2, 0, 3, 1)) * -1 - rdm2.bbbb.vovv += tmp127.transpose((2, 0, 1, 3)) - rdm2.bbbb.ovvv += tmp127.transpose((0, 2, 3, 1)) - rdm2.bbbb.ovvv += tmp127.transpose((0, 2, 1, 3)) * -1 - del tmp127 - tmp125 = einsum(t2.bbbb, (0, 1, 2, 3), l1.bb, (4, 1), (0, 4, 2, 3), optimize=True) - rdm2.bbbb.vovv += tmp125.transpose((1, 0, 3, 2)) * 2 - rdm2.bbbb.ovvv += tmp125.transpose((0, 1, 3, 2)) * -2 - del tmp125 - tmp129 = einsum(tmp115, (0, 1, 2, 3), t1.bb, (0, 4), (1, 2, 3, 4), optimize=True) * -1 - del tmp115 - rdm2.bbbb.vovv += tmp129.transpose((1, 0, 3, 2)) * 2 - rdm2.bbbb.ovvv += tmp129.transpose((0, 1, 3, 2)) * -2 - del tmp129 - tmp113 = tmp112.copy() - tmp113 += tmp83 - tmp113 += tmp84 * 2 - rdm2.bbbb.vovv += einsum(t1.bb, (0, 1), tmp113, (2, 3), (2, 0, 3, 1), optimize=True) - rdm2.bbbb.vovv += einsum(tmp113, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1), optimize=True) * -1 - rdm2.abab.ovvv += einsum(t1.aa, (0, 1), tmp113, (2, 3), (0, 2, 1, 3), optimize=True) - rdm2.bbbb.voov += einsum(delta.bb.oo, (0, 1), tmp113, (2, 3), (2, 1, 0, 3), optimize=True) * -1 - rdm2.bbbb.ovov += einsum(delta.bb.oo, (0, 1), tmp113, (2, 3), (1, 2, 0, 3), optimize=True) - rdm2.abab.ovov += einsum(tmp113, (0, 1), delta.aa.oo, (2, 3), (3, 0, 2, 1), optimize=True) - del tmp113 - tmp130 = tmp93.copy() - tmp130 += tmp97 - rdm2.abab.vovv += einsum(t1.aa, (0, 1), tmp130, (0, 2, 3, 4), (3, 2, 1, 4), optimize=True) * 2 - del tmp130 - tmp119 = einsum(t1.bb, (0, 1), tmp13, (2, 0, 3, 4), (2, 3, 4, 1), optimize=True) - rdm2.abab.vovv += einsum(tmp119, (0, 1, 2, 3), t1.aa, (0, 4), (2, 1, 4, 3), optimize=True) * -1 - rdm2.abab.voov += tmp119.transpose((2, 1, 0, 3)) * -1 - del tmp119 - tmp120 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (4, 3, 0, 5), (5, 1, 4, 2), optimize=True) - rdm2.abab.vovv += einsum(t1.bb, (0, 1), tmp120, (0, 2, 3, 4), (3, 2, 4, 1), optimize=True) * -1 - rdm2.abab.vovo += tmp120.transpose((2, 1, 3, 0)) * -1 - del tmp120 - tmp110 = tmp109.copy() - tmp110 += tmp62 * 2 - tmp110 += tmp63 - rdm2.abab.vovv += einsum(tmp110, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3), optimize=True) - rdm2.aaaa.vovv = einsum(t1.aa, (0, 1), tmp110, (2, 3), (2, 0, 3, 1), optimize=True) - rdm2.aaaa.vovv += einsum(tmp110, (0, 1), t1.aa, (2, 3), (0, 2, 3, 1), optimize=True) * -1 - rdm2.abab.vovo += einsum(delta.bb.oo, (0, 1), tmp110, (2, 3), (2, 1, 3, 0), optimize=True) - rdm2.aaaa.voov += einsum(tmp110, (0, 1), delta.aa.oo, (2, 3), (0, 3, 2, 1), optimize=True) * -1 - rdm2.aaaa.ovov += einsum(tmp110, (0, 1), delta.aa.oo, (2, 3), (3, 0, 2, 1), optimize=True) - del tmp110 - tmp123 = einsum(tmp6, (0, 1, 2, 3), t2.aaaa, (0, 1, 4, 5), (2, 3, 4, 5), optimize=True) - del tmp6 - rdm2.aaaa.vovv += tmp123.transpose((1, 0, 3, 2)) * 2 - rdm2.aaaa.ovvv += tmp123.transpose((0, 1, 3, 2)) * -2 - del tmp123 - tmp124 = einsum(t1.aa, (0, 1), tmp111, (0, 2, 3, 4), (2, 3, 4, 1), optimize=True) * -1 - del tmp111 - rdm2.aaaa.vovv += tmp124.transpose((1, 0, 3, 2)) * 2 - rdm2.aaaa.ovvv += tmp124.transpose((0, 1, 3, 2)) * -2 - del tmp124 - tmp122 = einsum(tmp88, (0, 1, 2, 3), t1.aa, (0, 4), (1, 4, 2, 3), optimize=True) - del tmp88 - rdm2.aaaa.vovv += tmp122.transpose((2, 0, 3, 1)) * -1 - rdm2.aaaa.vovv += tmp122.transpose((2, 0, 1, 3)) - rdm2.aaaa.ovvv += tmp122.transpose((0, 2, 3, 1)) - rdm2.aaaa.ovvv += tmp122.transpose((0, 2, 1, 3)) * -1 - del tmp122 - tmp121 = einsum(t2.aaaa, (0, 1, 2, 3), l1.aa, (4, 1), (0, 4, 2, 3), optimize=True) - rdm2.aaaa.vovv += tmp121.transpose((1, 0, 3, 2)) * 2 - rdm2.aaaa.ovvv += tmp121.transpose((0, 1, 3, 2)) * -2 - del tmp121 - tmp85 = tmp83.copy() - tmp85 += tmp84 * 2 - rdm2.bbbb.ovvv += einsum(t1.bb, (0, 1), tmp85, (2, 3), (0, 2, 3, 1), optimize=True) * -1 - rdm2.bbbb.ovvv += einsum(t1.bb, (0, 1), tmp85, (2, 3), (0, 2, 1, 3), optimize=True) - rdm2.bbbb.oovv += einsum(tmp85, (0, 1), t2.bbbb, (2, 3, 0, 4), (3, 2, 1, 4), optimize=True) * 2 - rdm2.abab.oovv += einsum(t2.abab, (0, 1, 2, 3), tmp85, (3, 4), (0, 1, 2, 4), optimize=True) * -1 - del tmp85 - tmp117 = einsum(t1.aa, (0, 1), tmp26, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) - rdm2.abab.ovvv += einsum(t1.bb, (0, 1), tmp117, (2, 0, 3, 4), (2, 4, 3, 1), optimize=True) * -1 - rdm2.abab.ovvo += tmp117.transpose((0, 3, 2, 1)) * -1 - del tmp117 - tmp89 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 0, 5), (2, 4, 1, 5), optimize=True) - rdm2.abab.ovvv += einsum(t1.aa, (0, 1), tmp89, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) * -1 - rdm2.abab.ovov += tmp89.transpose((1, 2, 0, 3)) * -1 - rdm2.abab.oovv += einsum(tmp89, (0, 1, 2, 3), t2.abab, (0, 4, 5, 2), (1, 4, 5, 3), optimize=True) - del tmp89 - tmp86 = tmp69.copy() - tmp86 += tmp67 - rdm2.abab.ovvv += einsum(t1.bb, (0, 1), tmp86, (2, 0, 3, 4), (2, 4, 3, 1), optimize=True) * 2 - rdm2.abab.oovv += einsum(t2.bbbb, (0, 1, 2, 3), tmp86, (4, 0, 5, 2), (4, 1, 5, 3), optimize=True) * 4 - del tmp86 - tmp74 = tmp62.copy() - tmp74 += tmp63 * 0.5 - rdm2.aaaa.ovvv += einsum(t1.aa, (0, 1), tmp74, (2, 3), (0, 2, 3, 1), optimize=True) * -2 - rdm2.aaaa.ovvv += einsum(tmp74, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1), optimize=True) * 2 - rdm2.aaaa.oovv += einsum(t2.aaaa, (0, 1, 2, 3), tmp74, (2, 4), (1, 0, 4, 3), optimize=True) * 4 - del tmp74 - tmp118 = tmp112.copy() * 0.5 - del tmp112 - tmp118 += tmp83 * 0.5 - tmp118 += tmp84 - rdm2.bbbb.vovo += einsum(delta.bb.oo, (0, 1), tmp118, (2, 3), (2, 1, 3, 0), optimize=True) * 2 - rdm2.bbbb.ovvo += einsum(delta.bb.oo, (0, 1), tmp118, (2, 3), (1, 2, 3, 0), optimize=True) * -2 - del tmp118 - tmp116 = tmp109.copy() * 0.5 - del tmp109 - tmp116 += tmp62 - tmp116 += tmp63 * 0.5 - rdm2.aaaa.vovo += einsum(tmp116, (0, 1), delta.aa.oo, (2, 3), (0, 3, 1, 2), optimize=True) * 2 - rdm2.aaaa.ovvo += einsum(tmp116, (0, 1), delta.aa.oo, (2, 3), (3, 0, 1, 2), optimize=True) * -2 - del tmp116 - tmp106 = einsum(t1.bb, (0, 1), tmp52, (0, 2, 3, 4), (2, 4, 3, 1), optimize=True) - rdm2.bbbb.oovv += einsum(tmp106, (0, 1, 2, 3), t1.bb, (0, 4), (1, 2, 4, 3), optimize=True) * 2 - del tmp106 - tmp96 = einsum(t2.bbbb, (0, 1, 2, 3), tmp95, (1, 4, 3, 5), (0, 4, 2, 5), optimize=True) - del tmp95 - rdm2.bbbb.oovv += tmp96 * 8 - rdm2.bbbb.oovv += tmp96.transpose((0, 1, 3, 2)) * -8 - del tmp96 - tmp104 = einsum(t1.bb, (0, 1), tmp8, (0, 2), (2, 1), optimize=True) - rdm2.bbbb.oovv += einsum(t1.bb, (0, 1), tmp104, (2, 3), (2, 0, 3, 1), optimize=True) * -1 - rdm2.bbbb.oovv += einsum(tmp104, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1), optimize=True) - rdm2.bbbb.oovv += einsum(tmp104, (0, 1), t1.bb, (2, 3), (2, 0, 1, 3), optimize=True) - rdm2.bbbb.oovv += einsum(tmp104, (0, 1), t1.bb, (2, 3), (2, 0, 3, 1), optimize=True) * -1 - del tmp104 - tmp103 = tmp39.copy() - tmp103 += tmp40 * 2 - tmp103 += tmp102 - del tmp102 - rdm2.bbbb.oovv += einsum(t1.bb, (0, 1), tmp103, (2, 3), (2, 0, 3, 1), optimize=True) * -1 - rdm2.bbbb.oovv += einsum(tmp103, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1), optimize=True) - rdm2.bbbb.oovv += einsum(t1.bb, (0, 1), tmp103, (2, 3), (0, 2, 3, 1), optimize=True) - rdm2.bbbb.oovv += einsum(tmp103, (0, 1), t1.bb, (2, 3), (2, 0, 3, 1), optimize=True) * -1 - del tmp103 - tmp94 = einsum(t2.abab, (0, 1, 2, 3), tmp93, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) - del tmp93 - rdm2.bbbb.oovv += tmp94.transpose((1, 0, 3, 2)) * 2 - rdm2.bbbb.oovv += tmp94.transpose((0, 1, 3, 2)) * -2 - del tmp94 - tmp108 = einsum(tmp107, (0, 1, 2, 3), t1.bb, (0, 4), (1, 2, 4, 3), optimize=True) - del tmp107 - rdm2.bbbb.oovv += tmp108.transpose((0, 1, 3, 2)) - rdm2.bbbb.oovv += tmp108.transpose((1, 0, 3, 2)) * -1 - rdm2.bbbb.oovv += tmp108 * -1 - rdm2.bbbb.oovv += tmp108.transpose((1, 0, 2, 3)) - del tmp108 - tmp105 = einsum(tmp15, (0, 1), t2.bbbb, (0, 2, 3, 4), (2, 1, 3, 4), optimize=True) * 2 - del tmp15 - rdm2.bbbb.oovv += tmp105.transpose((1, 0, 3, 2)) - rdm2.bbbb.oovv += tmp105.transpose((0, 1, 3, 2)) * -1 - del tmp105 - tmp48 = t1.bb.copy() * 0.5 - tmp48 += tmp35 * 0.5 - tmp48 += tmp36 - rdm2.bbbb.oovv += einsum(tmp48, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1), optimize=True) * -2 - rdm2.bbbb.ooov += einsum(delta.bb.oo, (0, 1), tmp48, (2, 3), (2, 1, 0, 3), optimize=True) * -2 - del tmp48 - tmp100 = einsum(tmp49, (0, 1, 2, 3), t1.bb, (0, 4), (1, 2, 4, 3), optimize=True) - del tmp49 - rdm2.bbbb.oovv += tmp100.transpose((0, 1, 3, 2)) * -2 - rdm2.bbbb.oovv += tmp100 * 2 - del tmp100 - tmp37 = t1.bb.copy() - tmp37 += tmp35 - tmp37 += tmp36 * 2 - rdm2.bbbb.oovv += einsum(tmp37, (0, 1), t1.bb, (2, 3), (2, 0, 3, 1), optimize=True) - rdm2.abab.oovv += einsum(t1.aa, (0, 1), tmp37, (2, 3), (0, 2, 1, 3), optimize=True) - rdm2.bbbb.oovo += einsum(tmp37, (0, 1), delta.bb.oo, (2, 3), (3, 0, 1, 2), optimize=True) * -1 - rdm2.bbbb.oovo += einsum(delta.bb.oo, (0, 1), tmp37, (2, 3), (2, 1, 3, 0), optimize=True) - rdm2.bbbb.ooov += einsum(tmp37, (0, 1), delta.bb.oo, (2, 3), (3, 0, 2, 1), optimize=True) - rdm2.abab.ooov += einsum(delta.aa.oo, (0, 1), tmp37, (2, 3), (1, 2, 0, 3), optimize=True) - del tmp37 - tmp98 = einsum(tmp97, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) - del tmp97 - rdm2.bbbb.oovv += tmp98.transpose((1, 0, 3, 2)) * 2 - rdm2.bbbb.oovv += tmp98 * 2 - rdm2.bbbb.oovv += tmp98.transpose((1, 0, 2, 3)) * -2 - rdm2.bbbb.oovv += tmp98.transpose((0, 1, 3, 2)) * -2 - del tmp98 - tmp99 = tmp35.copy() - del tmp35 - tmp99 += tmp36 * 2 - del tmp36 - rdm2.bbbb.oovv += einsum(t1.bb, (0, 1), tmp99, (2, 3), (0, 2, 3, 1), optimize=True) * -1 - rdm2.bbbb.oovv += einsum(t1.bb, (0, 1), tmp99, (2, 3), (2, 0, 3, 1), optimize=True) - del tmp99 - tmp92 = tmp83.copy() * 0.5 - del tmp83 - tmp92 += tmp84 - del tmp84 - rdm2.bbbb.oovv += einsum(t2.bbbb, (0, 1, 2, 3), tmp92, (2, 4), (1, 0, 3, 4), optimize=True) * -4 - del tmp92 - tmp64 = tmp62.copy() * 2 - del tmp62 - tmp64 += tmp63 - del tmp63 - rdm2.abab.oovv += einsum(tmp64, (0, 1), t2.abab, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) * -1 - rdm2.aaaa.oovv += einsum(t2.aaaa, (0, 1, 2, 3), tmp64, (2, 4), (1, 0, 3, 4), optimize=True) * -2 - del tmp64 - tmp90 = tmp44.copy() - del tmp44 - tmp90 += tmp43 - del tmp43 - rdm2.abab.oovv += einsum(t1.aa, (0, 1), tmp90, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) * -2 - del tmp90 - tmp56 = einsum(l1.bb, (0, 1), t2.abab, (2, 3, 4, 0), (2, 1, 3, 4), optimize=True) - rdm2.abab.oovv += einsum(tmp56, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 3, 4), optimize=True) * -1 - rdm2.abab.oovo += tmp56.transpose((0, 2, 3, 1)) * -1 - del tmp56 - tmp91 = tmp57.copy() - del tmp57 - tmp91 += tmp58 - del tmp58 - rdm2.abab.oovv += einsum(t1.bb, (0, 1), tmp91, (2, 0, 3, 4), (2, 3, 4, 1), optimize=True) * -2 - del tmp91 - tmp30 = tmp25.copy() * 2 - tmp30 += tmp27 - tmp30 += tmp29 - del tmp29 - rdm2.abab.oovv += einsum(tmp30, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3), optimize=True) * -1 - rdm2.abab.oovo += einsum(delta.bb.oo, (0, 1), tmp30, (2, 3), (2, 1, 3, 0), optimize=True) * -1 - rdm2.aaaa.ooov += einsum(tmp30, (0, 1), delta.aa.oo, (2, 3), (3, 0, 2, 1), optimize=True) * -1 - rdm2.aaaa.ooov += einsum(delta.aa.oo, (0, 1), tmp30, (2, 3), (2, 1, 0, 3), optimize=True) - del tmp30 - tmp47 = einsum(tmp13, (0, 1, 2, 3), t2.abab, (4, 1, 3, 5), (0, 4, 2, 5), optimize=True) - del tmp13 - rdm2.abab.oovv += einsum(tmp47, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3), optimize=True) - rdm2.abab.ooov += tmp47.transpose((1, 2, 0, 3)) - del tmp47 - tmp59 = einsum(tmp26, (0, 1, 2, 3), t2.abab, (0, 4, 5, 3), (1, 2, 4, 5), optimize=True) - del tmp26 - rdm2.abab.oovv += einsum(tmp59, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 3, 4), optimize=True) - rdm2.abab.oovo += tmp59.transpose((0, 2, 3, 1)) - del tmp59 - tmp38 = einsum(t2.abab, (0, 1, 2, 3), l1.aa, (2, 4), (4, 0, 1, 3), optimize=True) - rdm2.abab.oovv += einsum(t1.aa, (0, 1), tmp38, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) * -1 - rdm2.abab.ooov += tmp38.transpose((1, 2, 0, 3)) * -1 - del tmp38 - tmp46 = einsum(tmp45, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 3, 4), optimize=True) - del tmp45 - rdm2.abab.oovv += einsum(t1.aa, (0, 1), tmp46, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) - rdm2.abab.ooov += tmp46.transpose((1, 2, 0, 3)) - del tmp46 - tmp72 = tmp20.copy() * 2 - tmp72 += tmp21 - rdm2.abab.oovv += einsum(tmp72, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3), optimize=True) - rdm2.aaaa.oovv += einsum(tmp72, (0, 1), t1.aa, (2, 3), (2, 0, 1, 3), optimize=True) * -1 - rdm2.aaaa.oovv += einsum(tmp72, (0, 1), t1.aa, (2, 3), (0, 2, 1, 3), optimize=True) - del tmp72 - tmp42 = tmp39.copy() - tmp42 += tmp40 * 2 - tmp42 += tmp41 - del tmp41 - rdm2.abab.oovv += einsum(t1.aa, (0, 1), tmp42, (2, 3), (0, 2, 1, 3), optimize=True) * -1 - rdm2.bbbb.ooov += einsum(tmp42, (0, 1), delta.bb.oo, (2, 3), (3, 0, 2, 1), optimize=True) * -1 - rdm2.bbbb.ooov += einsum(delta.bb.oo, (0, 1), tmp42, (2, 3), (2, 1, 0, 3), optimize=True) - rdm2.abab.ooov += einsum(delta.aa.oo, (0, 1), tmp42, (2, 3), (1, 2, 0, 3), optimize=True) * -1 - del tmp42 - tmp71 = t1.aa.copy() - tmp71 += tmp20 * 2 - tmp71 += tmp21 - rdm2.aaaa.oovv += einsum(t1.aa, (0, 1), tmp71, (2, 3), (2, 0, 1, 3), optimize=True) * -1 - del tmp71 - tmp70 = einsum(tmp69, (0, 1, 2, 3), t2.abab, (4, 1, 5, 3), (0, 4, 2, 5), optimize=True) - del tmp69 - rdm2.aaaa.oovv += tmp70.transpose((1, 0, 3, 2)) * 2 - rdm2.aaaa.oovv += tmp70 * 2 - rdm2.aaaa.oovv += tmp70.transpose((1, 0, 2, 3)) * -2 - rdm2.aaaa.oovv += tmp70.transpose((0, 1, 3, 2)) * -2 - del tmp70 - tmp68 = einsum(t2.abab, (0, 1, 2, 3), tmp67, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) - del tmp67 - rdm2.aaaa.oovv += tmp68 * 2 - rdm2.aaaa.oovv += tmp68.transpose((0, 1, 3, 2)) * -2 - del tmp68 - tmp73 = einsum(t1.aa, (0, 1), tmp24, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) - del tmp24 - rdm2.aaaa.oovv += tmp73.transpose((0, 1, 3, 2)) * -2 - rdm2.aaaa.oovv += tmp73 * 2 - del tmp73 - tmp66 = einsum(tmp65, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 2), (4, 1, 5, 3), optimize=True) - del tmp65 - rdm2.aaaa.oovv += tmp66 * 8 - rdm2.aaaa.oovv += tmp66.transpose((0, 1, 3, 2)) * -8 - del tmp66 - tmp82 = einsum(t1.aa, (0, 1), tmp81, (0, 2, 3, 4), (2, 3, 1, 4), optimize=True) - del tmp81 - rdm2.aaaa.oovv += tmp82.transpose((0, 1, 3, 2)) - rdm2.aaaa.oovv += tmp82.transpose((1, 0, 3, 2)) * -1 - rdm2.aaaa.oovv += tmp82 * -1 - rdm2.aaaa.oovv += tmp82.transpose((1, 0, 2, 3)) - del tmp82 - tmp78 = einsum(t1.aa, (0, 1), tmp0, (0, 2), (2, 1), optimize=True) - rdm2.aaaa.oovv += einsum(tmp78, (0, 1), t1.aa, (2, 3), (0, 2, 1, 3), optimize=True) * -1 - rdm2.aaaa.oovv += einsum(tmp78, (0, 1), t1.aa, (2, 3), (0, 2, 3, 1), optimize=True) - rdm2.aaaa.oovv += einsum(tmp78, (0, 1), t1.aa, (2, 3), (2, 0, 1, 3), optimize=True) - rdm2.aaaa.oovv += einsum(t1.aa, (0, 1), tmp78, (2, 3), (0, 2, 1, 3), optimize=True) * -1 - del tmp78 - tmp80 = einsum(tmp33, (0, 1, 2, 3), t1.aa, (0, 4), (1, 3, 2, 4), optimize=True) - rdm2.aaaa.oovv += einsum(tmp80, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3), optimize=True) * 2 - del tmp80 - tmp79 = einsum(tmp4, (0, 1), t2.aaaa, (0, 2, 3, 4), (1, 2, 3, 4), optimize=True) * 2 - del tmp4 - rdm2.aaaa.oovv += tmp79.transpose((0, 1, 3, 2)) - rdm2.aaaa.oovv += tmp79.transpose((1, 0, 3, 2)) * -1 - del tmp79 - tmp77 = tmp25.copy() - tmp77 += tmp27 * 0.5 - tmp77 += tmp76 - del tmp76 - rdm2.aaaa.oovv += einsum(tmp77, (0, 1), t1.aa, (2, 3), (0, 2, 1, 3), optimize=True) * -2 - rdm2.aaaa.oovv += einsum(tmp77, (0, 1), t1.aa, (2, 3), (0, 2, 3, 1), optimize=True) * 2 - rdm2.aaaa.oovv += einsum(tmp77, (0, 1), t1.aa, (2, 3), (2, 0, 1, 3), optimize=True) * 2 - rdm2.aaaa.oovv += einsum(tmp77, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1), optimize=True) * -2 - del tmp77 - tmp23 = t1.aa.copy() - tmp23 += tmp20 * 2 - tmp23 += tmp21 - rdm2.aaaa.oovv += einsum(t1.aa, (0, 1), tmp23, (2, 3), (0, 2, 1, 3), optimize=True) - rdm2.abab.oovo += einsum(delta.bb.oo, (0, 1), tmp23, (2, 3), (2, 1, 3, 0), optimize=True) - rdm2.aaaa.oovo += einsum(tmp23, (0, 1), delta.aa.oo, (2, 3), (3, 0, 1, 2), optimize=True) * -1 - rdm2.aaaa.oovo += einsum(tmp23, (0, 1), delta.aa.oo, (2, 3), (0, 3, 1, 2), optimize=True) - rdm2.aaaa.ooov += einsum(tmp23, (0, 1), delta.aa.oo, (2, 3), (3, 0, 2, 1), optimize=True) - del tmp23 - tmp16 = tmp8.copy() * 0.5 - tmp16 += tmp9 * 0.5 - tmp16 += tmp10 - rdm2.bbbb.oovo += einsum(tmp16, (0, 1), t1.bb, (2, 3), (2, 1, 3, 0), optimize=True) * -2 - rdm2.bbbb.oovo += einsum(t1.bb, (0, 1), tmp16, (2, 3), (3, 0, 1, 2), optimize=True) * 2 - rdm2.bbbb.oooo += einsum(tmp16, (0, 1), delta.bb.oo, (2, 3), (3, 1, 0, 2), optimize=True) * 2 - del tmp16 - tmp61 = tmp39.copy() * 0.5 - del tmp39 - tmp61 += tmp40 - del tmp40 - tmp61 += tmp60 - del tmp60 - rdm2.bbbb.oovo += einsum(delta.bb.oo, (0, 1), tmp61, (2, 3), (1, 2, 3, 0), optimize=True) * 2 - rdm2.bbbb.oovo += einsum(tmp61, (0, 1), delta.bb.oo, (2, 3), (0, 3, 1, 2), optimize=True) * -2 - del tmp61 - tmp53 = einsum(tmp52, (0, 1, 2, 3), t1.bb, (0, 4), (1, 2, 3, 4), optimize=True) * 2 - del tmp52 - rdm2.bbbb.oovo += tmp53.transpose((2, 1, 3, 0)) * -1 - rdm2.bbbb.ooov += tmp53.transpose((2, 1, 0, 3)) - del tmp53 - tmp34 = einsum(tmp33, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 3, 4), optimize=True) * 2 - del tmp33 - rdm2.aaaa.oovo += tmp34.transpose((2, 1, 3, 0)) * -1 - rdm2.aaaa.ooov += tmp34.transpose((2, 1, 0, 3)) - del tmp34 - tmp55 = tmp25.copy() - del tmp25 - tmp55 += tmp27 * 0.5 - del tmp27 - tmp55 += tmp54 - del tmp54 - rdm2.aaaa.oovo += einsum(tmp55, (0, 1), delta.aa.oo, (2, 3), (3, 0, 1, 2), optimize=True) * 2 - rdm2.aaaa.oovo += einsum(delta.aa.oo, (0, 1), tmp55, (2, 3), (2, 1, 3, 0), optimize=True) * -2 - del tmp55 - tmp22 = t1.aa.copy() * 0.5 - tmp22 += tmp20 - del tmp20 - tmp22 += tmp21 * 0.5 - del tmp21 - rdm2.aaaa.ooov += einsum(delta.aa.oo, (0, 1), tmp22, (2, 3), (2, 1, 0, 3), optimize=True) * -2 - del tmp22 - tmp11 = delta.bb.oo.transpose((1, 0)).copy() * -1 - tmp11 += tmp8 - del tmp8 - tmp11 += tmp9 - del tmp9 - tmp11 += tmp10 * 2 - del tmp10 - rdm2.bbbb.oooo += einsum(delta.bb.oo, (0, 1), tmp11, (2, 3), (3, 1, 0, 2), optimize=True) - rdm2.bbbb.oooo += einsum(delta.bb.oo, (0, 1), tmp11, (2, 3), (1, 3, 0, 2), optimize=True) * -1 - rdm2.abab.oooo += einsum(tmp11, (0, 1), delta.aa.oo, (2, 3), (3, 1, 2, 0), optimize=True) * -1 - del tmp11 - tmp3 = delta.aa.oo.transpose((1, 0)).copy() * -1 - tmp3 += tmp0 - del tmp0 - tmp3 += tmp1 * 2 - del tmp1 - tmp3 += tmp2 - del tmp2 - rdm2.aaaa.oooo += einsum(delta.aa.oo, (0, 1), tmp3, (2, 3), (3, 1, 0, 2), optimize=True) - rdm2.aaaa.oooo += einsum(tmp3, (0, 1), delta.aa.oo, (2, 3), (3, 1, 2, 0), optimize=True) * -1 - del tmp3 - rdm2.aaaa.ovoo += einsum(delta.aa.oo, (0, 1), l1.aa, (2, 3), (1, 2, 3, 0), optimize=True) * -1 - rdm2.aaaa.ovoo += einsum(l1.aa, (0, 1), delta.aa.oo, (2, 3), (3, 0, 2, 1), optimize=True) - rdm2.abab.ovoo += einsum(l1.bb, (0, 1), delta.aa.oo, (2, 3), (3, 0, 2, 1), optimize=True) - rdm2.bbbb.ovoo += einsum(delta.bb.oo, (0, 1), l1.bb, (2, 3), (1, 2, 3, 0), optimize=True) * -1 - rdm2.bbbb.ovoo += einsum(delta.bb.oo, (0, 1), l1.bb, (2, 3), (1, 2, 0, 3), optimize=True) - rdm2.aaaa.vooo += einsum(delta.aa.oo, (0, 1), l1.aa, (2, 3), (2, 1, 3, 0), optimize=True) - rdm2.aaaa.vooo += einsum(l1.aa, (0, 1), delta.aa.oo, (2, 3), (0, 3, 2, 1), optimize=True) * -1 - rdm2.abab.vooo += einsum(delta.bb.oo, (0, 1), l1.aa, (2, 3), (2, 1, 3, 0), optimize=True) - rdm2.bbbb.vooo += einsum(delta.bb.oo, (0, 1), l1.bb, (2, 3), (2, 1, 3, 0), optimize=True) - rdm2.bbbb.vooo += einsum(delta.bb.oo, (0, 1), l1.bb, (2, 3), (2, 1, 0, 3), optimize=True) * -1 - del delta - rdm2.aaaa.oovv += t2.aaaa.transpose((1, 0, 3, 2)) * 2 - rdm2.abab.oovv += t2.abab - rdm2.bbbb.oovv += t2.bbbb.transpose((1, 0, 3, 2)) * 2 - rdm2.aaaa.ovov += einsum(t1.aa, (0, 1), l1.aa, (2, 3), (0, 2, 3, 1), optimize=True) * -1 - rdm2.bbbb.ovov += einsum(t1.bb, (0, 1), l1.bb, (2, 3), (0, 2, 3, 1), optimize=True) * -1 - rdm2.aaaa.ovvo += einsum(t1.aa, (0, 1), l1.aa, (2, 3), (0, 2, 1, 3), optimize=True) - rdm2.abab.ovvo += einsum(t1.aa, (0, 1), l1.bb, (2, 3), (0, 2, 1, 3), optimize=True) - rdm2.bbbb.ovvo += einsum(t1.bb, (0, 1), l1.bb, (2, 3), (0, 2, 1, 3), optimize=True) - rdm2.aaaa.voov += einsum(t1.aa, (0, 1), l1.aa, (2, 3), (2, 0, 3, 1), optimize=True) - rdm2.abab.voov += einsum(l1.aa, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3), optimize=True) - rdm2.bbbb.voov += einsum(t1.bb, (0, 1), l1.bb, (2, 3), (2, 0, 3, 1), optimize=True) - rdm2.aaaa.vovo += einsum(t1.aa, (0, 1), l1.aa, (2, 3), (2, 0, 1, 3), optimize=True) * -1 - rdm2.bbbb.vovo += einsum(t1.bb, (0, 1), l1.bb, (2, 3), (2, 0, 1, 3), optimize=True) * -1 - rdm2.aaaa.vvoo = l2.aaaa.transpose((1, 0, 3, 2)).copy() * 2 - rdm2.abab.vvoo = l2.abab.copy() - rdm2.bbbb.vvoo = l2.bbbb.transpose((1, 0, 3, 2)).copy() * 2 - rdm2.abab.ovvv += einsum(t2.abab, (0, 1, 2, 3), l1.bb, (4, 1), (0, 4, 2, 3), optimize=True) - rdm2.abab.vovv += einsum(l1.aa, (0, 1), t2.abab, (1, 2, 3, 4), (0, 2, 3, 4), optimize=True) - rdm2.abab.vvvo = einsum(l2.abab, (0, 1, 2, 3), t1.aa, (2, 4), (0, 1, 4, 3), optimize=True) - rdm2.aaaa.vvvv += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (2, 3, 4, 5), (1, 0, 5, 4), optimize=True) * 2 - rdm2.abab.vvvv += einsum(t2.abab, (0, 1, 2, 3), l2.abab, (4, 5, 0, 1), (4, 5, 2, 3), optimize=True) - rdm2.bbbb.vvvv += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (2, 3, 4, 5), (1, 0, 5, 4), optimize=True) * 2 - rdm2.aaaa = pack_2e(rdm2.aaaa.oooo, rdm2.aaaa.ooov, rdm2.aaaa.oovo, rdm2.aaaa.ovoo, rdm2.aaaa.vooo, rdm2.aaaa.oovv, rdm2.aaaa.ovov, rdm2.aaaa.ovvo, rdm2.aaaa.voov, rdm2.aaaa.vovo, rdm2.aaaa.vvoo, rdm2.aaaa.ovvv, rdm2.aaaa.vovv, rdm2.aaaa.vvov, rdm2.aaaa.vvvo, rdm2.aaaa.vvvv) - rdm2.abab = pack_2e(rdm2.abab.oooo, rdm2.abab.ooov, rdm2.abab.oovo, rdm2.abab.ovoo, rdm2.abab.vooo, rdm2.abab.oovv, rdm2.abab.ovov, rdm2.abab.ovvo, rdm2.abab.voov, rdm2.abab.vovo, rdm2.abab.vvoo, rdm2.abab.ovvv, rdm2.abab.vovv, rdm2.abab.vvov, rdm2.abab.vvvo, rdm2.abab.vvvv) - rdm2.bbbb = pack_2e(rdm2.bbbb.oooo, rdm2.bbbb.ooov, rdm2.bbbb.oovo, rdm2.bbbb.ovoo, rdm2.bbbb.vooo, rdm2.bbbb.oovv, rdm2.bbbb.ovov, rdm2.bbbb.ovvo, rdm2.bbbb.voov, rdm2.bbbb.vovo, rdm2.bbbb.vvoo, rdm2.bbbb.ovvv, rdm2.bbbb.vovv, rdm2.bbbb.vvov, rdm2.bbbb.vvvo, rdm2.bbbb.vvvv) - rdm2 = Namespace( - aaaa=rdm2.aaaa.swapaxes(1, 2), - aabb=rdm2.abab.swapaxes(1, 2), - bbbb=rdm2.bbbb.swapaxes(1, 2), - ) - - return rdm2 - diff --git a/ebcc/codegen/UMP2.py b/ebcc/codegen/UMP2.py deleted file mode 100644 index d1561380..00000000 --- a/ebcc/codegen/UMP2.py +++ /dev/null @@ -1,40 +0,0 @@ -""" -Code generated by `albert`: -https://github.com/obackhouse/albert - - * date: 2024-07-18T09:27:06.407819 - * python version: 3.10.12 (main, Mar 22 2024, 16:50:05) [GCC 11.4.0] - * albert version: 0.0.0 - * caller: /home/ollie/git/albert/albert/codegen/einsum.py - * node: ollie-desktop - * system: Linux - * processor: x86_64 - * release: 6.5.0-44-generic -""" - -from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, direct_sum, Namespace - - -def energy(t2=None, v=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-07-18T09:27:06.641226. - - Parameters - ---------- - t2 : Namespace of arrays - T2 amplitudes. - v : Namespace of arrays - Electron repulsion integrals. - - Returns - ------- - e_mp : array - """ - - e_mp = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 1, 3), (), optimize=True) - e_mp += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (0, 3, 1, 2), (), optimize=True) * -1 - e_mp += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (0, 3, 1, 2), (), optimize=True) * -1 - - return e_mp - diff --git a/ebcc/codegen/UMP3.py b/ebcc/codegen/UMP3.py deleted file mode 100644 index a56847a8..00000000 --- a/ebcc/codegen/UMP3.py +++ /dev/null @@ -1,80 +0,0 @@ -""" -Code generated by `albert`: -https://github.com/obackhouse/albert - - * date: 2024-07-18T09:27:08.402057 - * python version: 3.10.12 (main, Mar 22 2024, 16:50:05) [GCC 11.4.0] - * albert version: 0.0.0 - * caller: /home/ollie/git/albert/albert/codegen/einsum.py - * node: ollie-desktop - * system: Linux - * processor: x86_64 - * release: 6.5.0-44-generic -""" - -from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, direct_sum, Namespace - - -def energy(t2=None, v=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-07-18T09:27:11.750315. - - Parameters - ---------- - t2 : Namespace of arrays - T2 amplitudes. - v : Namespace of arrays - Electron repulsion integrals. - - Returns - ------- - e_mp : array - """ - - tmp10 = einsum(t2.abab, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) - tmp2 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.vvvv, (4, 2, 5, 3), (0, 1, 4, 5), optimize=True) - e_mp = einsum(t2.abab, (0, 1, 2, 3), tmp2, (0, 1, 2, 3), (), optimize=True) - del tmp2 - tmp5 = einsum(t2.abab, (0, 1, 2, 3), t2.abab, (4, 5, 2, 3), (0, 4, 1, 5), optimize=True) - e_mp += einsum(v.aabb.oooo, (0, 1, 2, 3), tmp5, (0, 1, 2, 3), (), optimize=True) - del tmp5 - tmp6 = v.aaaa.ovov.transpose((2, 0, 3, 1)).copy() * -1 - tmp6 += einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.aaaa, (0, 4, 1, 5), (2, 4, 5, 3), optimize=True) * 4 - tmp6 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.oovv, (0, 4, 2, 5), (1, 4, 5, 3), optimize=True) * -4 - tmp6 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (4, 0, 2, 5), optimize=True) * 4 - tmp6 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.vvvv, (4, 2, 3, 5), (1, 0, 5, 4), optimize=True) * -1 - e_mp += einsum(tmp6, (0, 1, 2, 3), t2.aaaa, (0, 1, 3, 2), (), optimize=True) - del tmp6 - tmp9 = v.aaaa.ovov.transpose((2, 0, 3, 1)).copy() - tmp9 += v.aaaa.oovv.transpose((1, 0, 3, 2)) * -1 - tmp3 = einsum(t2.abab, (0, 1, 2, 3), t2.abab, (4, 1, 2, 5), (0, 4, 3, 5), optimize=True) - e_mp += einsum(v.aabb.oovv, (0, 1, 2, 3), tmp3, (0, 1, 2, 3), (), optimize=True) * -1 - del tmp3 - tmp1 = einsum(t2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 5, 2, 3), (0, 5, 4, 1), optimize=True) * -1 - e_mp += einsum(tmp1, (0, 1, 2, 3), v.aaaa.oooo, (0, 2, 1, 3), (), optimize=True) * -1 - del tmp1 - tmp4 = einsum(v.bbaa.oovv, (0, 1, 2, 3), t2.abab, (4, 0, 2, 5), (4, 1, 3, 5), optimize=True) - e_mp += einsum(t2.abab, (0, 1, 2, 3), tmp4, (0, 1, 2, 3), (), optimize=True) * -1 - del tmp4 - tmp8 = einsum(t2.abab, (0, 1, 2, 3), t2.abab, (4, 1, 5, 3), (0, 4, 2, 5), optimize=True) - e_mp += einsum(tmp8, (0, 1, 2, 3), tmp9, (0, 1, 2, 3), (), optimize=True) - del tmp8, tmp9 - tmp0 = einsum(t2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 5, 2, 3), (4, 1, 0, 5), optimize=True) * -1 - e_mp += einsum(tmp0, (0, 1, 2, 3), v.bbbb.oooo, (0, 2, 1, 3), (), optimize=True) * -1 - del tmp0 - tmp7 = v.bbbb.ovov.transpose((2, 0, 3, 1)).copy() * -1 - tmp7 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 5), (4, 1, 3, 5), optimize=True) * 4 - tmp7 += einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (0, 4, 1, 5), (2, 4, 5, 3), optimize=True) * 4 - tmp7 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.oovv, (0, 4, 2, 5), (1, 4, 5, 3), optimize=True) * -4 - tmp7 += einsum(v.bbbb.vvvv, (0, 1, 2, 3), t2.bbbb, (4, 5, 1, 2), (5, 4, 3, 0), optimize=True) * -1 - e_mp += einsum(tmp7, (0, 1, 2, 3), t2.bbbb, (0, 1, 3, 2), (), optimize=True) - del tmp7 - tmp11 = v.bbbb.ovov.transpose((2, 0, 3, 1)).copy() - tmp11 += v.bbbb.oovv.transpose((1, 0, 3, 2)) * -1 - e_mp += einsum(tmp10, (0, 1, 2, 3), tmp11, (0, 1, 2, 3), (), optimize=True) - del tmp10, tmp11 - e_mp += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 1, 3), (), optimize=True) - - return e_mp - diff --git a/ebcc/codegen/UQCISD.py b/ebcc/codegen/UQCISD.py deleted file mode 100644 index 0a882842..00000000 --- a/ebcc/codegen/UQCISD.py +++ /dev/null @@ -1,368 +0,0 @@ -""" -Code generated by `albert`: -https://github.com/obackhouse/albert - - * date: 2024-07-18T10:15:09.194714 - * python version: 3.10.12 (main, Mar 22 2024, 16:50:05) [GCC 11.4.0] - * albert version: 0.0.0 - * caller: /home/ollie/git/albert/albert/codegen/einsum.py - * node: ollie-desktop - * system: Linux - * processor: x86_64 - * release: 6.5.0-44-generic -""" - -from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, direct_sum, Namespace - - -def energy(t2=None, v=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-07-18T10:15:09.460596. - - Parameters - ---------- - t2 : Namespace of arrays - T2 amplitudes. - v : Namespace of arrays - Electron repulsion integrals. - - Returns - ------- - e_cc : float - Coupled cluster energy. - """ - - e_cc = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 2, 1, 3), (), optimize=True) - e_cc += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (0, 2, 1, 3), (), optimize=True) - e_cc += einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (0, 2, 3, 1), (), optimize=True) * -1 - - return e_cc - -def update_amps(f=None, t1=None, t2=None, v=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-07-18T10:15:19.879416. - - Parameters - ---------- - f : Namespace of arrays - Fock matrix. - t1 : Namespace of arrays - T1 amplitudes. - t2 : Namespace of arrays - T2 amplitudes. - v : Namespace of arrays - Electron repulsion integrals. - - Returns - ------- - t1new : Namespace of arrays - Updated T1 residuals. - t2new : Namespace of arrays - Updated T2 residuals. - """ - - t1new = Namespace() - t2new = Namespace() - tmp1 = v.aaaa.ovov.transpose((2, 0, 1, 3)).copy() * -1 - tmp1 += v.aaaa.ovov.transpose((2, 0, 3, 1)) - tmp16 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (1, 3, 4, 2), (0, 4), optimize=True) - tmp15 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 3), (1, 4), optimize=True) - tmp5 = v.bbbb.ovov.transpose((2, 0, 1, 3)).copy() * -1 - tmp5 += v.bbbb.ovov.transpose((2, 0, 3, 1)) - tmp10 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.aaaa, (4, 0, 3, 1), (4, 2), optimize=True) - tmp11 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 1, 3), (4, 0), optimize=True) - tmp43 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 2, 1, 4), (4, 3), optimize=True) - tmp44 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (0, 4, 1, 3), (2, 4), optimize=True) - tmp46 = einsum(t2.bbbb, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (4, 0, 5, 2), optimize=True) - t2new.abab = tmp46.copy() * 2 - tmp63 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (4, 5, 1, 3), (4, 5, 0, 2), optimize=True) - tmp61 = v.bbbb.ovov.transpose((2, 0, 1, 3)).copy() - tmp61 += v.bbbb.ovov.transpose((2, 0, 3, 1)) * -1 - tmp56 = einsum(t2.abab, (0, 1, 2, 3), tmp1, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) - tmp17 = tmp15.copy() - tmp17 += tmp16 * 2 - t1new.bb = einsum(tmp17, (0, 1), t1.bb, (1, 2), (0, 2), optimize=True) * -1 - tmp54 = v.bbbb.ovov.transpose((2, 0, 1, 3)).copy() - tmp54 += v.bbbb.ovov.transpose((2, 0, 3, 1)) * -1 - tmp30 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (0, 4, 1, 3), (2, 4), optimize=True) - tmp31 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 4, 1, 3), (2, 4), optimize=True) - tmp39 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 1), (4, 2, 5, 3), optimize=True) - t2new.abab += tmp39 * 2 - tmp23 = einsum(t2.abab, (0, 1, 2, 3), tmp5, (1, 4, 5, 3), (0, 4, 2, 5), optimize=True) - tmp20 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 5, 3), (4, 0, 5, 1), optimize=True) - t2new.aaaa = tmp20.copy() - t2new.aaaa += tmp20.transpose((0, 1, 3, 2)) * -1 - t2new.aaaa += tmp20.transpose((1, 0, 2, 3)) * -1 - t2new.aaaa += tmp20.transpose((1, 0, 3, 2)) - tmp28 = v.aaaa.ovov.transpose((2, 0, 1, 3)).copy() * -1 - tmp28 += v.aaaa.ovov.transpose((2, 0, 3, 1)) - tmp12 = tmp10.copy() - del tmp10 - tmp12 += tmp11 * 0.5 - del tmp11 - t2new.abab += einsum(tmp12, (0, 1), t2.abab, (1, 2, 3, 4), (0, 2, 3, 4), optimize=True) * -2 - t1new.aa = einsum(tmp12, (0, 1), t1.aa, (1, 2), (0, 2), optimize=True) * -2 - tmp33 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.aaaa, (4, 5, 3, 1), (4, 5, 0, 2), optimize=True) * -1 - tmp0 = einsum(v.aabb.ovov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1), optimize=True) - t1new.aa += tmp0 - tmp2 = einsum(t1.aa, (0, 1), tmp1, (0, 2, 3, 1), (2, 3), optimize=True) - tmp6 = einsum(t1.bb, (0, 1), tmp5, (0, 2, 3, 1), (2, 3), optimize=True) - del tmp5 - tmp4 = einsum(v.aabb.ovov, (0, 1, 2, 3), t1.aa, (0, 1), (2, 3), optimize=True) - t1new.bb += tmp4 - tmp45 = tmp43.copy() - tmp45 += tmp44 * 2 - t2new.bbbb = einsum(t2.bbbb, (0, 1, 2, 3), tmp45, (4, 2), (1, 0, 3, 4), optimize=True) * -2 - t2new.abab += einsum(tmp45, (0, 1), t2.abab, (2, 3, 4, 1), (2, 3, 4, 0), optimize=True) * -1 - del tmp45 - tmp53 = einsum(t2.abab, (0, 1, 2, 3), tmp46, (0, 4, 2, 5), (1, 4, 3, 5), optimize=True) - del tmp46 - t2new.bbbb += tmp53.transpose((1, 0, 3, 2)) * 2 - t2new.bbbb += tmp53 * 2 - t2new.bbbb += tmp53.transpose((1, 0, 2, 3)) * -2 - t2new.bbbb += tmp53.transpose((0, 1, 3, 2)) * -2 - del tmp53 - tmp60 = einsum(t2.bbbb, (0, 1, 2, 3), f.bb.oo, (4, 1), (4, 0, 2, 3), optimize=True) - t2new.bbbb += tmp60.transpose((1, 0, 3, 2)) * 2 - t2new.bbbb += tmp60.transpose((0, 1, 3, 2)) * -2 - del tmp60 - tmp64 = einsum(tmp63, (0, 1, 2, 3), t2.bbbb, (2, 3, 4, 5), (1, 0, 4, 5), optimize=True) * -1 - del tmp63 - t2new.bbbb += tmp64.transpose((0, 1, 3, 2)) * -1 - t2new.bbbb += tmp64.transpose((0, 1, 3, 2)) * -1 - del tmp64 - tmp62 = v.bbbb.oovv.transpose((1, 0, 3, 2)).copy() * 0.5 - tmp62 += einsum(t2.bbbb, (0, 1, 2, 3), tmp61, (0, 4, 5, 2), (1, 4, 3, 5), optimize=True) * -1 - del tmp61 - t2new.bbbb += einsum(t2.bbbb, (0, 1, 2, 3), tmp62, (4, 0, 5, 2), (4, 1, 5, 3), optimize=True) * -4 - del tmp62 - tmp58 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.oovv, (4, 1, 5, 3), (0, 4, 2, 5), optimize=True) - t2new.bbbb += tmp58.transpose((1, 0, 2, 3)) * 2 - t2new.bbbb += tmp58 * -2 - del tmp58 - tmp57 = einsum(tmp56, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) - del tmp56 - t2new.bbbb += tmp57.transpose((1, 0, 3, 2)) - t2new.bbbb += tmp57.transpose((0, 1, 3, 2)) * -1 - del tmp57 - tmp52 = einsum(v.bbbb.ooov, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 4, 3), optimize=True) - t2new.bbbb += tmp52 * -1 - t2new.bbbb += tmp52.transpose((0, 1, 3, 2)) - t2new.bbbb += tmp52.transpose((1, 0, 2, 3)) - t2new.bbbb += tmp52.transpose((1, 0, 3, 2)) * -1 - del tmp52 - tmp66 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 5), (1, 4, 3, 5), optimize=True) - t2new.bbbb += tmp66 - t2new.bbbb += tmp66.transpose((0, 1, 3, 2)) * -1 - t2new.bbbb += tmp66.transpose((1, 0, 2, 3)) * -1 - t2new.bbbb += tmp66.transpose((1, 0, 3, 2)) - del tmp66 - tmp68 = einsum(tmp17, (0, 1), t2.bbbb, (1, 2, 3, 4), (2, 0, 3, 4), optimize=True) * 2 - del tmp17 - t2new.bbbb += tmp68.transpose((1, 0, 3, 2)) - t2new.bbbb += tmp68.transpose((0, 1, 3, 2)) * -1 - del tmp68 - tmp59 = einsum(v.bbbb.oooo, (0, 1, 2, 3), t2.bbbb, (1, 2, 4, 5), (0, 3, 4, 5), optimize=True) - t2new.bbbb += tmp59.transpose((1, 0, 3, 2)) - t2new.bbbb += tmp59.transpose((1, 0, 3, 2)) - del tmp59 - tmp55 = v.bbbb.oovv.transpose((1, 0, 3, 2)).copy() - tmp55 += einsum(tmp54, (0, 1, 2, 3), t2.bbbb, (0, 4, 3, 5), (4, 1, 5, 2), optimize=True) * -2 - del tmp54 - t2new.bbbb += einsum(tmp55, (0, 1, 2, 3), t2.bbbb, (1, 4, 3, 5), (4, 0, 2, 5), optimize=True) * 2 - del tmp55 - tmp65 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (4, 0, 5, 1), (4, 2, 5, 3), optimize=True) - t2new.bbbb += tmp65 * 2 - t2new.bbbb += tmp65.transpose((0, 1, 3, 2)) * -2 - t2new.bbbb += tmp65.transpose((1, 0, 2, 3)) * -2 - t2new.bbbb += tmp65.transpose((1, 0, 3, 2)) * 2 - del tmp65 - tmp51 = einsum(v.bbbb.ovvv, (0, 1, 2, 3), t1.bb, (4, 3), (4, 0, 1, 2), optimize=True) - t2new.bbbb += tmp51.transpose((1, 0, 3, 2)) * -1 - t2new.bbbb += tmp51.transpose((0, 1, 3, 2)) - t2new.bbbb += tmp51 * -1 - t2new.bbbb += tmp51.transpose((1, 0, 2, 3)) - del tmp51 - tmp67 = f.bb.vv.transpose((1, 0)).copy() * -1 - tmp67 += tmp43 - del tmp43 - tmp67 += tmp44 * 2 - del tmp44 - t2new.bbbb += einsum(tmp67, (0, 1), t2.bbbb, (2, 3, 1, 4), (3, 2, 0, 4), optimize=True) * 2 - del tmp67 - tmp42 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.oooo, (4, 0, 5, 1), (4, 5, 2, 3), optimize=True) - t2new.abab += tmp42 * 0.5 - t2new.abab += tmp42 * 0.5 - del tmp42 - tmp50 = tmp15.copy() * 0.5 - del tmp15 - tmp50 += tmp16 - del tmp16 - t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp50, (4, 1), (0, 4, 2, 3), optimize=True) * -2 - del tmp50 - tmp49 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 5, 3), (0, 4, 1, 5), optimize=True) - t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp49, (4, 0, 5, 1), (4, 5, 2, 3), optimize=True) - del tmp49 - tmp48 = v.bbbb.ovov.transpose((2, 0, 3, 1)).copy() - tmp48 += v.bbbb.oovv.transpose((1, 0, 3, 2)) * -1 - t2new.abab += einsum(tmp48, (0, 1, 2, 3), t2.abab, (4, 0, 5, 2), (4, 1, 5, 3), optimize=True) - del tmp48 - tmp41 = v.bbaa.oovv.transpose((1, 0, 3, 2)).copy() - tmp41 += einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 4, 5, 3), (2, 4, 1, 5), optimize=True) * -1 - t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp41, (1, 4, 2, 5), (0, 4, 5, 3), optimize=True) * -1 - del tmp41 - tmp47 = f.aa.vv.transpose((1, 0)).copy() * -1 - tmp47 += tmp30.transpose((1, 0)) * 2 - tmp47 += tmp31.transpose((1, 0)) - t2new.abab += einsum(tmp47, (0, 1), t2.abab, (2, 3, 0, 4), (2, 3, 1, 4), optimize=True) * -1 - del tmp47 - tmp40 = tmp39.copy() * 2 - del tmp39 - tmp40 += tmp23 * -1 - t2new.abab += einsum(t2.bbbb, (0, 1, 2, 3), tmp40, (4, 0, 5, 2), (4, 1, 5, 3), optimize=True) * 2 - del tmp40 - tmp38 = v.aaaa.oovv.transpose((1, 0, 3, 2)).copy() - tmp38 += tmp20.transpose((1, 0, 3, 2)) * -1 - tmp38 += einsum(tmp1, (0, 1, 2, 3), t2.aaaa, (0, 4, 3, 5), (1, 4, 2, 5), optimize=True) * 2 - t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp38, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) * -1 - del tmp38 - tmp19 = einsum(v.aaaa.ovvv, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 1, 2), optimize=True) - t2new.aaaa += tmp19.transpose((1, 0, 3, 2)) * -1 - t2new.aaaa += tmp19.transpose((0, 1, 3, 2)) - t2new.aaaa += tmp19 * -1 - t2new.aaaa += tmp19.transpose((1, 0, 2, 3)) - del tmp19 - tmp36 = f.aa.vv.transpose((1, 0)).copy() * -1 - tmp36 += tmp30 * 2 - tmp36 += tmp31 - t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp36, (4, 2), (1, 0, 4, 3), optimize=True) * 2 - del tmp36 - tmp29 = v.aaaa.oovv.transpose((1, 0, 3, 2)).copy() * 0.5 - tmp29 += einsum(tmp28, (0, 1, 2, 3), t2.aaaa, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) * -1 - del tmp28 - t2new.aaaa += einsum(tmp29, (0, 1, 2, 3), t2.aaaa, (1, 4, 3, 5), (0, 4, 2, 5), optimize=True) * -4 - del tmp29 - tmp27 = einsum(v.aaaa.oooo, (0, 1, 2, 3), t2.aaaa, (3, 1, 4, 5), (0, 2, 4, 5), optimize=True) * -1 - t2new.aaaa += tmp27.transpose((1, 0, 3, 2)) - t2new.aaaa += tmp27.transpose((1, 0, 3, 2)) - del tmp27 - tmp37 = einsum(t2.aaaa, (0, 1, 2, 3), tmp12, (4, 0), (1, 4, 2, 3), optimize=True) * 4 - del tmp12 - t2new.aaaa += tmp37.transpose((1, 0, 3, 2)) - t2new.aaaa += tmp37.transpose((0, 1, 3, 2)) * -1 - del tmp37 - tmp32 = tmp30.copy() * 2 - del tmp30 - tmp32 += tmp31 - del tmp31 - t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp32, (4, 2), (1, 0, 3, 4), optimize=True) * -2 - del tmp32 - tmp26 = einsum(f.aa.oo, (0, 1), t2.aaaa, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) - t2new.aaaa += tmp26.transpose((1, 0, 3, 2)) * 2 - t2new.aaaa += tmp26.transpose((0, 1, 3, 2)) * -2 - del tmp26 - tmp25 = einsum(v.aaaa.oovv, (0, 1, 2, 3), t2.aaaa, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) - t2new.aaaa += tmp25.transpose((1, 0, 2, 3)) * 2 - t2new.aaaa += tmp25 * -2 - del tmp25 - tmp34 = einsum(tmp33, (0, 1, 2, 3), t2.aaaa, (2, 3, 4, 5), (1, 0, 4, 5), optimize=True) * -1 - del tmp33 - t2new.aaaa += tmp34.transpose((0, 1, 3, 2)) * -1 - t2new.aaaa += tmp34.transpose((0, 1, 3, 2)) * -1 - del tmp34 - tmp21 = einsum(tmp20, (0, 1, 2, 3), t2.aaaa, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) - del tmp20 - t2new.aaaa += tmp21.transpose((1, 0, 3, 2)) * 2 - t2new.aaaa += tmp21 * 2 - t2new.aaaa += tmp21.transpose((1, 0, 2, 3)) * -2 - t2new.aaaa += tmp21.transpose((0, 1, 3, 2)) * -2 - del tmp21 - tmp22 = v.aaaa.oovv.transpose((1, 0, 3, 2)).copy() - tmp22 += einsum(tmp1, (0, 1, 2, 3), t2.aaaa, (0, 4, 2, 5), (4, 1, 5, 3), optimize=True) * -2 - del tmp1 - t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp22, (4, 0, 5, 2), (1, 4, 5, 3), optimize=True) * 2 - del tmp22 - tmp18 = einsum(v.aaaa.ooov, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 4, 3), optimize=True) - t2new.aaaa += tmp18 * -1 - t2new.aaaa += tmp18.transpose((0, 1, 3, 2)) - t2new.aaaa += tmp18.transpose((1, 0, 2, 3)) - t2new.aaaa += tmp18.transpose((1, 0, 3, 2)) * -1 - del tmp18 - tmp35 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (1, 3, 4, 5), (0, 4, 2, 5), optimize=True) - t2new.aaaa += tmp35 * 2 - t2new.aaaa += tmp35.transpose((0, 1, 3, 2)) * -2 - t2new.aaaa += tmp35.transpose((1, 0, 2, 3)) * -2 - t2new.aaaa += tmp35.transpose((1, 0, 3, 2)) * 2 - del tmp35 - tmp24 = einsum(tmp23, (0, 1, 2, 3), t2.abab, (4, 1, 5, 3), (4, 0, 5, 2), optimize=True) * -1 - del tmp23 - t2new.aaaa += tmp24 - t2new.aaaa += tmp24.transpose((0, 1, 3, 2)) * -1 - del tmp24 - tmp13 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t1.bb, (4, 1), (4, 2, 0, 3), optimize=True) - t1new.bb += einsum(tmp13, (0, 1, 2, 3), t2.bbbb, (2, 1, 4, 3), (0, 4), optimize=True) * -2 - del tmp13 - tmp14 = einsum(v.aabb.ovov, (0, 1, 2, 3), t1.bb, (4, 3), (0, 4, 2, 1), optimize=True) - t1new.bb += einsum(t2.abab, (0, 1, 2, 3), tmp14, (0, 4, 1, 2), (4, 3), optimize=True) * -1 - del tmp14 - tmp3 = f.aa.ov.copy() - tmp3 += tmp0 - del tmp0 - tmp3 += tmp2 * -1 - del tmp2 - t1new.bb += einsum(tmp3, (0, 1), t2.abab, (0, 2, 1, 3), (2, 3), optimize=True) - t1new.aa += einsum(t2.aaaa, (0, 1, 2, 3), tmp3, (0, 2), (1, 3), optimize=True) * 2 - del tmp3 - tmp7 = f.bb.ov.copy() - tmp7 += tmp4 - del tmp4 - tmp7 += tmp6 * -1 - del tmp6 - t1new.bb += einsum(tmp7, (0, 1), t2.bbbb, (0, 2, 1, 3), (2, 3), optimize=True) * 2 - t1new.aa += einsum(tmp7, (0, 1), t2.abab, (2, 0, 3, 1), (2, 3), optimize=True) - del tmp7 - tmp8 = einsum(t1.aa, (0, 1), v.aabb.ovov, (2, 1, 3, 4), (0, 2, 3, 4), optimize=True) - t1new.aa += einsum(t2.abab, (0, 1, 2, 3), tmp8, (4, 0, 1, 3), (4, 2), optimize=True) * -1 - del tmp8 - tmp9 = einsum(t1.aa, (0, 1), v.aaaa.ovov, (2, 1, 3, 4), (0, 3, 2, 4), optimize=True) - t1new.aa += einsum(tmp9, (0, 1, 2, 3), t2.aaaa, (2, 1, 4, 3), (0, 4), optimize=True) * -2 - del tmp9 - t1new.aa += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ooov, (4, 0, 1, 3), (4, 2), optimize=True) * -1 - t1new.aa += einsum(v.aaaa.oovv, (0, 1, 2, 3), t1.aa, (1, 3), (0, 2), optimize=True) * -1 - t1new.aa += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ooov, (4, 0, 1, 3), (4, 2), optimize=True) * -2 - t1new.aa += einsum(t1.aa, (0, 1), f.aa.oo, (2, 0), (2, 1), optimize=True) * -1 - t1new.aa += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovvv, (1, 2, 4, 3), (0, 4), optimize=True) * -2 - t1new.aa += einsum(t1.aa, (0, 1), v.aaaa.ovov, (2, 3, 0, 1), (2, 3), optimize=True) - t1new.aa += einsum(t1.aa, (0, 1), f.aa.vv, (2, 1), (0, 2), optimize=True) - t1new.aa += einsum(v.bbaa.ovvv, (0, 1, 2, 3), t2.abab, (4, 0, 3, 1), (4, 2), optimize=True) - t1new.bb += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovoo, (0, 2, 4, 1), (4, 3), optimize=True) * -1 - t1new.bb += einsum(v.bbbb.oovv, (0, 1, 2, 3), t1.bb, (1, 3), (0, 2), optimize=True) * -1 - t1new.bb += einsum(v.bbbb.ooov, (0, 1, 2, 3), t2.bbbb, (1, 2, 4, 3), (0, 4), optimize=True) * -2 - t1new.bb += einsum(f.bb.oo, (0, 1), t1.bb, (1, 2), (0, 2), optimize=True) * -1 - t1new.bb += einsum(t1.bb, (0, 1), f.bb.vv, (2, 1), (0, 2), optimize=True) - t1new.bb += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovvv, (0, 2, 4, 3), (1, 4), optimize=True) - t1new.bb += einsum(v.bbbb.ovvv, (0, 1, 2, 3), t2.bbbb, (4, 0, 1, 3), (4, 2), optimize=True) * -2 - t1new.bb += einsum(t1.bb, (0, 1), v.bbbb.ovov, (2, 3, 0, 1), (2, 3), optimize=True) - t2new.aaaa += v.aaaa.ovov.transpose((2, 0, 3, 1)) - t2new.aaaa += v.aaaa.ovov.transpose((2, 0, 1, 3)) * -1 - t2new.aaaa += einsum(v.aaaa.vvvv, (0, 1, 2, 3), t2.aaaa, (4, 5, 1, 2), (5, 4, 3, 0), optimize=True) * 2 - t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), f.aa.vv, (4, 3), (1, 0, 2, 4), optimize=True) * -2 - t2new.abab += einsum(v.aabb.ovvv, (0, 1, 2, 3), t1.bb, (4, 3), (0, 4, 1, 2), optimize=True) - t2new.abab += v.aabb.ovov.transpose((0, 2, 1, 3)) - t2new.abab += einsum(v.aabb.ovoo, (0, 1, 2, 3), t1.bb, (3, 4), (0, 2, 1, 4), optimize=True) * -1 - t2new.abab += einsum(t2.abab, (0, 1, 2, 3), v.aabb.oovv, (4, 0, 5, 3), (4, 1, 2, 5), optimize=True) * -1 - t2new.abab += einsum(t1.aa, (0, 1), v.aabb.ooov, (2, 0, 3, 4), (2, 3, 1, 4), optimize=True) * -1 - t2new.abab += einsum(t1.aa, (0, 1), v.bbaa.ovvv, (2, 3, 4, 1), (0, 2, 4, 3), optimize=True) - t2new.abab += einsum(t2.abab, (0, 1, 2, 3), f.bb.oo, (4, 1), (0, 4, 2, 3), optimize=True) * -1 - t2new.abab += einsum(t2.abab, (0, 1, 2, 3), f.aa.oo, (4, 0), (4, 1, 2, 3), optimize=True) * -1 - t2new.abab += einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.abab, (0, 4, 1, 5), (2, 4, 3, 5), optimize=True) - t2new.abab += einsum(t2.abab, (0, 1, 2, 3), f.bb.vv, (4, 3), (0, 1, 2, 4), optimize=True) - t2new.abab += einsum(t2.abab, (0, 1, 2, 3), v.aabb.vvvv, (4, 2, 5, 3), (0, 1, 4, 5), optimize=True) - t2new.bbbb += v.bbbb.ovov.transpose((2, 0, 3, 1)) - t2new.bbbb += v.bbbb.ovov.transpose((2, 0, 1, 3)) * -1 - t2new.bbbb += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.vvvv, (4, 3, 5, 2), (1, 0, 5, 4), optimize=True) * -2 - t2new.bbbb += einsum(t2.bbbb, (0, 1, 2, 3), f.bb.vv, (4, 3), (1, 0, 2, 4), optimize=True) * -2 - - return {f"t1new": t1new, f"t2new": t2new} - From cbb0bc0942cbea33860ae8832ce80d0aa6feff00 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Fri, 26 Jul 2024 21:27:48 +0100 Subject: [PATCH 047/168] Add bosonic scripts in lieu of updated scripts for now --- ebcc/codegen/GCCSD_SD_1_1.py | 1598 ++++++++ ebcc/codegen/GCCSD_SD_1_2.py | 2137 ++++++++++ ebcc/codegen/GCCSD_S_1_1.py | 1502 +++++++ ebcc/codegen/RCCSD_SD_1_1.py | 2150 ++++++++++ ebcc/codegen/RCCSD_SD_1_2.py | 2708 +++++++++++++ ebcc/codegen/RCCSD_S_1_1.py | 2072 ++++++++++ ebcc/codegen/UCCSD_SD_1_1.py | 6108 ++++++++++++++++++++++++++++ ebcc/codegen/UCCSD_SD_1_2.py | 7430 ++++++++++++++++++++++++++++++++++ ebcc/codegen/UCCSD_S_1_1.py | 5962 +++++++++++++++++++++++++++ 9 files changed, 31667 insertions(+) create mode 100644 ebcc/codegen/GCCSD_SD_1_1.py create mode 100644 ebcc/codegen/GCCSD_SD_1_2.py create mode 100644 ebcc/codegen/GCCSD_S_1_1.py create mode 100644 ebcc/codegen/RCCSD_SD_1_1.py create mode 100644 ebcc/codegen/RCCSD_SD_1_2.py create mode 100644 ebcc/codegen/RCCSD_S_1_1.py create mode 100644 ebcc/codegen/UCCSD_SD_1_1.py create mode 100644 ebcc/codegen/UCCSD_SD_1_2.py create mode 100644 ebcc/codegen/UCCSD_S_1_1.py diff --git a/ebcc/codegen/GCCSD_SD_1_1.py b/ebcc/codegen/GCCSD_SD_1_1.py new file mode 100644 index 00000000..d4ae569f --- /dev/null +++ b/ebcc/codegen/GCCSD_SD_1_1.py @@ -0,0 +1,1598 @@ +# Code generated for ebcc. + +from ebcc import numpy as np +from ebcc.util import pack_2e, einsum, Namespace +from ebcc.precision import types + +def energy(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, s2=None, u11=None, **kwargs): + # Energy + x0 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x0 += einsum("ijab->jiba", t2) + x0 += einsum("ia,jb->ijab", t1, t1) * 2 + e_cc = 0 + e_cc += einsum("ijab,ijab->", v.oovv, x0) * 0.25 + del x0 + x1 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x1 += einsum("wia->wia", u11) + x1 += einsum("w,ia->wia", s1, t1) + e_cc += einsum("wia,wia->", g.bov, x1) + del x1 + e_cc += einsum("ia,ia->", f.ov, t1) + e_cc += einsum("w,w->", G, s1) + + return e_cc + +def update_amps(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, s2=None, u11=None, **kwargs): + # Get boson coupling creation array: + gc = Namespace( + boo=g.boo.transpose(0, 2, 1), + bov=g.bvo.transpose(0, 2, 1), + bvo=g.bov.transpose(0, 2, 1), + bvv=g.bvv.transpose(0, 2, 1), + ) + + # T1, T2, S1, S2 and U11 amplitudes + x0 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x0 += einsum("ia,jkba->ijkb", t1, v.oovv) + x1 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x1 += einsum("ijka->ikja", x0) * -1 + x30 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x30 += einsum("ijab,kjlb->kila", t2, x0) + x31 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x31 -= einsum("ijka->ikja", x30) + del x30 + x65 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x65 += einsum("ia,jkla->jilk", t1, x0) + del x0 + x66 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x66 += einsum("ijkl->klji", x65) * -1 + x67 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x67 += einsum("ijkl->klji", x65) * -1 + del x65 + x1 += einsum("ijka->kjia", v.ooov) + t1new = np.zeros((nocc, nvir), dtype=types[float]) + t1new += einsum("ijab,kija->kb", t2, x1) * -0.5 + del x1 + x2 = np.zeros((nocc, nvir), dtype=types[float]) + x2 += einsum("w,wia->ia", s1, g.bov) + x4 = np.zeros((nocc, nvir), dtype=types[float]) + x4 += einsum("ia->ia", x2) + x11 = np.zeros((nocc, nvir), dtype=types[float]) + x11 += einsum("ia->ia", x2) + x78 = np.zeros((nocc, nvir), dtype=types[float]) + x78 += einsum("ia->ia", x2) + del x2 + x3 = np.zeros((nocc, nvir), dtype=types[float]) + x3 += einsum("ia,jiba->jb", t1, v.oovv) + x4 += einsum("ia->ia", x3) + x11 += einsum("ia->ia", x3) + x77 = np.zeros((nvir, nvir), dtype=types[float]) + x77 += einsum("ia,ib->ab", t1, x3) + del x3 + x4 += einsum("ia->ia", f.ov) + x38 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x38 += einsum("ia,jkab->jkib", x4, t2) + x39 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x39 += einsum("ijka->kjia", x38) + del x38 + x54 = np.zeros((nocc, nocc), dtype=types[float]) + x54 += einsum("ia,ja->ij", t1, x4) + x55 = np.zeros((nocc, nocc), dtype=types[float]) + x55 += einsum("ij->ij", x54) + del x54 + t1new += einsum("ia,ijab->jb", x4, t2) + s1new = np.zeros((nbos), dtype=types[float]) + s1new += einsum("ia,wia->w", x4, u11) + del x4 + x5 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x5 += einsum("ia,wja->wji", t1, g.bov) + x6 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x6 += einsum("wij->wij", x5) + del x5 + x6 += einsum("wij->wij", g.boo) + x25 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x25 += einsum("ia,wij->wja", t1, x6) + x26 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x26 -= einsum("wia->wia", x25) + del x25 + t1new -= einsum("wia,wij->ja", u11, x6) + del x6 + x7 = np.zeros((nocc, nocc), dtype=types[float]) + x7 += einsum("w,wij->ij", s1, g.boo) + x13 = np.zeros((nocc, nocc), dtype=types[float]) + x13 += einsum("ij->ij", x7) + x55 += einsum("ij->ji", x7) + del x7 + x8 = np.zeros((nocc, nocc), dtype=types[float]) + x8 += einsum("wia,wja->ij", g.bov, u11) + x13 += einsum("ij->ij", x8) + x57 = np.zeros((nocc, nocc), dtype=types[float]) + x57 += einsum("ij->ij", x8) + del x8 + x9 = np.zeros((nocc, nocc), dtype=types[float]) + x9 -= einsum("ia,ijka->jk", t1, v.ooov) + x13 += einsum("ij->ij", x9) + x57 += einsum("ij->ij", x9) + del x9 + x58 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x58 += einsum("ij,ikab->kjab", x57, t2) + del x57 + x59 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x59 -= einsum("ijab->ijba", x58) + del x58 + x10 = np.zeros((nocc, nocc), dtype=types[float]) + x10 -= einsum("ijab,jkab->ik", t2, v.oovv) + x13 += einsum("ij->ji", x10) * 0.5 + x62 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x62 += einsum("ij,kjab->kiab", x10, t2) + del x10 + x63 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x63 += einsum("ijab->ijba", x62) * -0.5 + del x62 + x11 += einsum("ia->ia", f.ov) + x12 = np.zeros((nocc, nocc), dtype=types[float]) + x12 += einsum("ia,ja->ij", t1, x11) + del x11 + x13 += einsum("ij->ji", x12) + del x12 + x13 += einsum("ij->ij", f.oo) + t1new += einsum("ia,ij->ja", t1, x13) * -1 + u11new = np.zeros((nbos, nocc, nvir), dtype=types[float]) + u11new += einsum("ij,wia->wja", x13, u11) * -1 + del x13 + x14 = np.zeros((nvir, nvir), dtype=types[float]) + x14 += einsum("w,wab->ab", s1, g.bvv) + x16 = np.zeros((nvir, nvir), dtype=types[float]) + x16 += einsum("ab->ab", x14) + x34 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x34 += einsum("ab,ijcb->ijac", x14, t2) + x44 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x44 += einsum("ijab->ijab", x34) + del x34 + x77 += einsum("ab->ab", x14) * -1 + del x14 + x15 = np.zeros((nvir, nvir), dtype=types[float]) + x15 -= einsum("ia,ibac->bc", t1, v.ovvv) + x16 -= einsum("ab->ab", x15) + x42 = np.zeros((nvir, nvir), dtype=types[float]) + x42 += einsum("ab->ab", x15) + x77 += einsum("ab->ab", x15) + del x15 + x16 += einsum("ab->ab", f.vv) + t1new += einsum("ia,ba->ib", t1, x16) + del x16 + x17 = np.zeros((nbos), dtype=types[float]) + x17 += einsum("ia,wia->w", t1, g.bov) + x18 = np.zeros((nbos), dtype=types[float]) + x18 += einsum("w->w", x17) + del x17 + x18 += einsum("w->w", G) + t1new += einsum("w,wia->ia", x18, u11) + s1new += einsum("w,wx->x", x18, s2) + del x18 + x19 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x19 += einsum("ia,bcda->ibcd", t1, v.vvvv) + t2new = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + t2new -= einsum("ia,jbca->ijcb", t1, x19) + del x19 + x20 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x20 += einsum("ijab,jckb->ikac", t2, v.ovov) + x33 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x33 -= einsum("ijab->ijab", x20) + del x20 + x21 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x21 += einsum("ia,jbca->ijbc", t1, v.ovvv) + x22 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x22 -= einsum("ijab,kjcb->kiac", t2, x21) + x33 += einsum("ijab->ijab", x22) + del x22 + x37 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x37 -= einsum("ia,jkba->jikb", t1, x21) + del x21 + x39 += einsum("ijka->kjia", x37) + del x37 + x40 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x40 += einsum("ia,ijkb->jkab", t1, x39) + del x39 + x44 += einsum("ijab->jiab", x40) + del x40 + x23 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x23 += einsum("ia,wba->wib", t1, g.bvv) + x26 += einsum("wia->wia", x23) + del x23 + x24 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x24 += einsum("wia,jiba->wjb", g.bov, t2) + x26 += einsum("wia->wia", x24) + del x24 + x26 += einsum("wai->wia", g.bvo) + x27 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x27 += einsum("wia,wjb->ijab", u11, x26) + del x26 + x33 += einsum("ijab->jiba", x27) + del x27 + x28 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x28 += einsum("ia,jbka->ijkb", t1, v.ovov) + x31 += einsum("ijka->ijka", x28) + del x28 + x29 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x29 -= einsum("ijab,jklb->ikla", t2, v.ooov) + x31 += einsum("ijka->ijka", x29) + del x29 + x32 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x32 += einsum("ia,jikb->jkab", t1, x31) + del x31 + x33 += einsum("ijab->ijab", x32) + del x32 + t2new += einsum("ijab->ijab", x33) + t2new -= einsum("ijab->ijba", x33) + t2new -= einsum("ijab->jiab", x33) + t2new += einsum("ijab->jiba", x33) + del x33 + x35 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x35 += einsum("ijab,jkbc->ikac", t2, v.oovv) + x36 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x36 += einsum("ijab,kjcb->kica", t2, x35) + del x35 + x44 -= einsum("ijab->ijab", x36) + del x36 + x41 = np.zeros((nvir, nvir), dtype=types[float]) + x41 += einsum("wia,wib->ab", g.bov, u11) + x42 += einsum("ab->ba", x41) + x43 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x43 += einsum("ab,ijbc->ijca", x42, t2) + del x42 + x44 += einsum("ijab->jiab", x43) + del x43 + t2new -= einsum("ijab->ijab", x44) + t2new += einsum("ijab->ijba", x44) + del x44 + x77 += einsum("ab->ba", x41) + del x41 + x45 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x45 += einsum("ijab,kcab->ijkc", t2, v.ovvv) + x46 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x46 += einsum("ia,jkib->jkab", t1, x45) + del x45 + x49 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x49 += einsum("ijab->ijab", x46) * 0.5 + del x46 + x47 = np.zeros((nvir, nvir), dtype=types[float]) + x47 -= einsum("ijab,ijbc->ac", t2, v.oovv) + x48 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x48 += einsum("ab,ijcb->ijca", x47, t2) + x49 += einsum("ijab->ijab", x48) * 0.5 + del x48 + t2new += einsum("ijab->ijab", x49) * -1 + t2new += einsum("ijab->ijba", x49) + del x49 + x77 += einsum("ab->ab", x47) * 0.5 + del x47 + x50 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x50 += einsum("ia,bcja->ijbc", t1, v.vvov) + x59 += einsum("ijab->ijba", x50) + del x50 + x51 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x51 += einsum("ia,jkla->ijkl", t1, v.ooov) + x52 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x52 += einsum("ia,jkil->jkla", t1, x51) + x53 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x53 -= einsum("ia,jikb->jkba", t1, x52) + del x52 + x59 += einsum("ijab->ijba", x53) + del x53 + x61 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x61 += einsum("ijab,kijl->klab", t2, x51) + del x51 + x63 += einsum("ijab->ijba", x61) * -0.5 + del x61 + t2new += einsum("ijab->ijab", x63) * -1 + t2new += einsum("ijab->jiab", x63) + del x63 + x55 += einsum("ij->ji", f.oo) + x56 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x56 += einsum("ij,jkab->kiab", x55, t2) + del x55 + x59 += einsum("ijab->jiba", x56) + del x56 + t2new += einsum("ijab->ijab", x59) + t2new -= einsum("ijab->jiab", x59) + del x59 + x60 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x60 += einsum("ab,ijcb->ijac", f.vv, t2) + t2new += einsum("ijab->jiab", x60) + t2new -= einsum("ijab->jiba", x60) + del x60 + x64 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x64 += einsum("ijab,klab->ijkl", t2, v.oovv) + x66 += einsum("ijkl->lkji", x64) * 0.5 + x67 += einsum("ijkl->lkji", x64) * 0.5000000000000003 + del x64 + x66 += einsum("ijkl->jilk", v.oooo) + t2new += einsum("ijab,ijkl->lkba", t2, x66) * 0.5 + del x66 + x67 += einsum("ijkl->jilk", v.oooo) + x68 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x68 += einsum("ia,ijkl->lkja", t1, x67) + del x67 + x68 += einsum("iajk->kjia", v.ovoo) + t2new += einsum("ia,jkib->jkab", t1, x68) + del x68 + x69 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x69 += einsum("wia,ijab->wjb", u11, v.oovv) + x76 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x76 += einsum("wia->wia", x69) + s2new = np.zeros((nbos, nbos), dtype=types[float]) + s2new += einsum("wia,xia->wx", u11, x69) + del x69 + x70 = np.zeros((nbos, nbos), dtype=types[float]) + x70 += einsum("wia,xia->wx", gc.bov, u11) + x74 = np.zeros((nbos, nbos), dtype=types[float]) + x74 += einsum("wx->wx", x70) + del x70 + x71 = np.zeros((nbos, nbos), dtype=types[float]) + x71 += einsum("wia,xia->wx", g.bov, u11) + x72 = np.zeros((nbos, nbos), dtype=types[float]) + x72 += einsum("wx->xw", x71) + del x71 + x72 += einsum("wx->wx", w) + x73 = np.zeros((nbos, nbos), dtype=types[float]) + x73 += einsum("wx,yw->xy", s2, x72) + x74 += einsum("wx->wx", x73) + del x73 + s2new += einsum("wx->wx", x74) + s2new += einsum("wx->xw", x74) + del x74 + u11new += einsum("wx,xia->wia", x72, u11) + del x72 + x75 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x75 += einsum("wx,xia->wia", s2, g.bov) + x76 += einsum("wia->wia", x75) + del x75 + x76 += einsum("wia->wia", gc.bov) + x79 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x79 += einsum("ia,wja->wji", t1, x76) + u11new += einsum("wia,ijab->wjb", x76, t2) + del x76 + x77 += einsum("ab->ab", f.vv) * -1 + u11new += einsum("ab,wib->wia", x77, u11) * -1 + del x77 + x78 += einsum("ia->ia", f.ov) + x79 += einsum("ia,wja->wij", x78, u11) + del x78 + x79 += einsum("wij->wij", gc.boo) + x79 += einsum("wx,xij->wij", s2, g.boo) + x79 -= einsum("wia,ijka->wjk", u11, v.ooov) + u11new -= einsum("ia,wij->wja", t1, x79) + del x79 + x80 = np.zeros((nbos, nvir, nvir), dtype=types[float]) + x80 += einsum("wab->wab", gc.bvv) + x80 += einsum("wx,xab->wab", s2, g.bvv) + x80 += einsum("wia,ibac->wbc", u11, v.ovvv) + u11new += einsum("ia,wba->wib", t1, x80) + del x80 + t1new += einsum("w,wai->ia", s1, g.bvo) + t1new += einsum("ijab,jcab->ic", t2, v.ovvv) * -0.5 + t1new -= einsum("ia,ibja->jb", t1, v.ovov) + t1new += einsum("ai->ia", f.vo) + t1new += einsum("wab,wib->ia", g.bvv, u11) + t2new -= einsum("ia,ibjk->kjba", t1, v.ovoo) + t2new += einsum("abij->jiba", v.vvoo) + t2new += einsum("ijab,cdab->jidc", t2, v.vvvv) * 0.5 + s1new += einsum("w,xw->x", s1, w) + s1new += einsum("w->w", G) + s1new += einsum("ia,wia->w", t1, gc.bov) + u11new += einsum("wx,xai->wia", s2, g.bvo) + u11new -= einsum("wia,ibja->wjb", u11, v.ovov) + u11new += einsum("wai->wia", gc.bvo) + + return {"t1new": t1new, "t2new": t2new, "s1new": s1new, "s2new": s2new, "u11new": u11new} + +def update_lams(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, s2=None, u11=None, l1=None, l2=None, ls1=None, ls2=None, lu11=None, **kwargs): + # Get boson coupling creation array: + gc = Namespace( + boo=g.boo.transpose(0, 2, 1), + bov=g.bvo.transpose(0, 2, 1), + bvo=g.bov.transpose(0, 2, 1), + bvv=g.bvv.transpose(0, 2, 1), + ) + + # L1, L2, LS1 , LS2 and LU11 amplitudes + x0 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x0 += einsum("ia,bajk->jkib", t1, l2) + x5 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x5 += einsum("ia,jkla->jkil", t1, x0) + x18 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x18 += einsum("ijkl->ijlk", x5) * 2.0000000000000013 + x121 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x121 += einsum("ijkl->ijlk", x5) * 2 + l1new = np.zeros((nvir, nocc), dtype=types[float]) + l1new += einsum("ijka,lkji->al", v.ooov, x5) * 0.5 + del x5 + x19 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x19 += einsum("ijab,kjlb->kila", t2, x0) * -4 + x49 = np.zeros((nocc, nvir), dtype=types[float]) + x49 += einsum("ijab,ijka->kb", t2, x0) + x53 = np.zeros((nocc, nvir), dtype=types[float]) + x53 += einsum("ia->ia", x49) * 0.5 + del x49 + x95 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x95 -= einsum("ijka,kljb->liba", v.ooov, x0) + x102 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x102 += einsum("ijab->ijab", x95) + del x95 + l1new -= einsum("iajb,kjia->bk", v.ovov, x0) + l2new = np.zeros((nvir, nvir, nocc, nocc), dtype=types[float]) + l2new += einsum("iabc,jkia->cbkj", v.ovvv, x0) + x1 = np.zeros((nocc, nocc), dtype=types[float]) + x1 -= einsum("abij,jkab->ik", l2, t2) + x19 += einsum("ia,jk->jika", t1, x1) * 2 + x51 = np.zeros((nocc, nocc), dtype=types[float]) + x51 += einsum("ij->ij", x1) + x63 = np.zeros((nocc, nocc), dtype=types[float]) + x63 += einsum("ij->ij", x1) * 0.5 + x66 = np.zeros((nocc, nocc), dtype=types[float]) + x66 += einsum("ij->ij", x1) * 0.5 + x103 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x103 -= einsum("ij,kjab->ikab", x1, v.oovv) + x105 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x105 += einsum("ijab->ijba", x103) * -0.5 + del x103 + x123 = np.zeros((nocc, nocc), dtype=types[float]) + x123 += einsum("ij->ij", x1) + l1new += einsum("ia,ji->aj", f.ov, x1) * -0.5 + del x1 + x2 = np.zeros((nocc, nocc), dtype=types[float]) + x2 += einsum("ai,ja->ij", l1, t1) + x51 += einsum("ij->ij", x2) * 2 + x63 += einsum("ij->ij", x2) + x77 = np.zeros((nocc, nocc), dtype=types[float]) + x77 += einsum("ij->ij", x2) + ls1new = np.zeros((nbos), dtype=types[float]) + ls1new -= einsum("ij,wji->w", x2, g.boo) + x3 = np.zeros((nocc, nvir), dtype=types[float]) + x3 += einsum("w,wia->ia", s1, g.bov) + x12 = np.zeros((nocc, nvir), dtype=types[float]) + x12 += einsum("ia->ia", x3) + x58 = np.zeros((nocc, nvir), dtype=types[float]) + x58 += einsum("ia->ia", x3) + x84 = np.zeros((nocc, nvir), dtype=types[float]) + x84 += einsum("ia->ia", x3) + l1new -= einsum("ij,ja->ai", x2, x3) + del x2 + del x3 + x4 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x4 += einsum("abij,klab->ijkl", l2, t2) + x18 += einsum("ijkl->jilk", x4) * -1 + x19 += einsum("ia,ijkl->jlka", t1, x18) * -1 + del x18 + x121 += einsum("ijkl->jilk", x4) * -1 + l2new += einsum("ijab,klij->balk", v.oovv, x121) * -0.25 + del x121 + l1new += einsum("ijka,lkij->al", v.ooov, x4) * -0.25 + del x4 + x6 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x6 += einsum("abij,jkbc->ikac", l2, t2) + l1new -= einsum("iabc,jiac->bj", v.ovvv, x6) + del x6 + x7 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x7 += einsum("ia,jbca->ijbc", t1, v.ovvv) + x16 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x16 += einsum("ijab->jiab", x7) * -0.5 + x98 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x98 += einsum("ijab->ijab", x7) + l1new += einsum("ijka,jkab->bi", x0, x7) + del x7 + x8 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x8 -= einsum("wia,abji->wjb", u11, l2) + x65 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x65 += einsum("wia->wia", x8) + x100 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x100 += einsum("wia->wia", x8) + l1new += einsum("wab,wia->bi", g.bvv, x8) + x9 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x9 += einsum("ia,jkba->ijkb", t1, v.oovv) + x10 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x10 += einsum("ijka->ikja", x9) * -1 + x14 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x14 += einsum("ijka->kjia", x9) * 0.5000000000000003 + x96 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x96 += einsum("ijka,jlkb->ilab", x0, x9) + x102 -= einsum("ijab->ijab", x96) + del x96 + x110 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x110 -= einsum("ai,ijkb->kjab", l1, x9) + x118 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x118 += einsum("ijab->ijab", x110) + del x110 + x119 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x119 += einsum("ijka->kjia", x9) * 0.5 + del x9 + x10 += einsum("ijka->kjia", v.ooov) + x17 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x17 += einsum("ijab,kila->ljkb", t2, x10) + x25 = np.zeros((nocc, nvir), dtype=types[float]) + x25 += einsum("ijab,kija->kb", t2, x10) * 0.5 + del x10 + x44 = np.zeros((nocc, nvir), dtype=types[float]) + x44 += einsum("ia->ia", x25) + del x25 + x11 = np.zeros((nocc, nvir), dtype=types[float]) + x11 -= einsum("ia,ijba->jb", t1, v.oovv) + x12 += einsum("ia->ia", x11) + x58 += einsum("ia->ia", x11) + x78 = np.zeros((nocc, nvir), dtype=types[float]) + x78 += einsum("ia->ia", x11) + x89 = np.zeros((nocc, nocc), dtype=types[float]) + x89 += einsum("ia,ja->ij", t1, x11) + x90 = np.zeros((nocc, nocc), dtype=types[float]) + x90 += einsum("ij->ji", x89) + del x89 + x102 += einsum("ai,jb->ijab", l1, x11) + x113 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x113 -= einsum("ia,jkib->kjba", x11, x0) + del x11 + x118 -= einsum("ijab->ijab", x113) + del x113 + x12 += einsum("ia->ia", f.ov) + x17 += einsum("ia,jkab->ikjb", x12, t2) * 0.5 + x26 = np.zeros((nocc, nvir), dtype=types[float]) + x26 += einsum("ia,ijab->jb", x12, t2) + x44 += einsum("ia->ia", x26) * -1 + del x26 + x34 = np.zeros((nocc, nocc), dtype=types[float]) + x34 += einsum("ia,ja->ij", t1, x12) + x35 = np.zeros((nocc, nocc), dtype=types[float]) + x35 += einsum("ij->ji", x34) + del x34 + lu11new = np.zeros((nbos, nvir, nocc), dtype=types[float]) + lu11new += einsum("w,ia->wai", ls1, x12) * 2 + del x12 + x13 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x13 += einsum("ijab,klab->ijkl", t2, v.oovv) + x15 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x15 += einsum("ijkl->lkji", x13) * -1 + x120 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x120 += einsum("ijkl->lkji", x13) * 0.5 + del x13 + x14 += einsum("ijka->jika", v.ooov) * -1 + x15 += einsum("ia,jkla->kjil", t1, x14) * -4 + del x14 + x15 += einsum("ijkl->jilk", v.oooo) * -2 + x17 += einsum("ia,ijkl->jlka", t1, x15) * -0.25 + del x15 + x16 += einsum("iajb->ijab", v.ovov) + x17 += einsum("ia,jkba->jkib", t1, x16) * -1 + del x16 + x17 += einsum("iajk->ikja", v.ovoo) * 0.5 + x17 += einsum("ijab,kcab->kjic", t2, v.ovvv) * 0.25 + l1new += einsum("abij,kija->bk", l2, x17) * -1 + del x17 + x19 += einsum("ai,jkba->ikjb", l1, t2) * -2 + l1new += einsum("ijab,kija->bk", v.oovv, x19) * -0.25 + del x19 + x20 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x20 += einsum("abic->ibac", v.vvov) * -1 + x20 += einsum("ia,bcda->icbd", t1, v.vvvv) + l1new += einsum("abij,iabc->cj", l2, x20) * 0.5 + del x20 + x21 = np.zeros((nocc, nvir), dtype=types[float]) + x21 += einsum("w,wai->ia", s1, g.bvo) + x44 += einsum("ia->ia", x21) * -1 + del x21 + x22 = np.zeros((nocc, nvir), dtype=types[float]) + x22 += einsum("wab,wib->ia", g.bvv, u11) + x44 += einsum("ia->ia", x22) * -1 + del x22 + x23 = np.zeros((nocc, nvir), dtype=types[float]) + x23 += einsum("ia,ibja->jb", t1, v.ovov) + x44 += einsum("ia->ia", x23) + del x23 + x24 = np.zeros((nocc, nvir), dtype=types[float]) + x24 -= einsum("ijab,icab->jc", t2, v.ovvv) + x44 += einsum("ia->ia", x24) * 0.5 + del x24 + x27 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x27 += einsum("ia,wja->wji", t1, g.bov) + x28 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x28 += einsum("wij->wij", x27) + x68 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x68 += einsum("wij->wij", x27) + del x27 + x28 += einsum("wij->wij", g.boo) + x29 = np.zeros((nocc, nvir), dtype=types[float]) + x29 += einsum("wia,wij->ja", u11, x28) + del x28 + x44 += einsum("ia->ia", x29) + del x29 + x30 = np.zeros((nocc, nocc), dtype=types[float]) + x30 += einsum("w,wij->ij", s1, g.boo) + x35 += einsum("ij->ij", x30) + x86 = np.zeros((nocc, nocc), dtype=types[float]) + x86 += einsum("ij->ij", x30) + del x30 + x31 = np.zeros((nocc, nocc), dtype=types[float]) + x31 += einsum("wia,wja->ij", g.bov, u11) + x35 += einsum("ij->ij", x31) + x86 += einsum("ij->ij", x31) + del x31 + x32 = np.zeros((nocc, nocc), dtype=types[float]) + x32 -= einsum("ia,ijka->jk", t1, v.ooov) + x35 += einsum("ij->ij", x32) + x90 += einsum("ij->ij", x32) + del x32 + x91 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x91 += einsum("ij,abjk->kiab", x90, l2) + del x90 + x92 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x92 -= einsum("ijab->ijba", x91) + del x91 + x33 = np.zeros((nocc, nocc), dtype=types[float]) + x33 -= einsum("ijab,kiab->jk", t2, v.oovv) + x35 += einsum("ij->ji", x33) * 0.5 + x104 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x104 += einsum("ij,abki->kjab", x33, l2) + del x33 + x105 += einsum("ijab->ijba", x104) * -0.5 + del x104 + l2new += einsum("ijab->abij", x105) * -1 + l2new += einsum("ijab->abji", x105) + del x105 + x35 += einsum("ij->ij", f.oo) + x36 = np.zeros((nocc, nvir), dtype=types[float]) + x36 += einsum("ia,ij->ja", t1, x35) + x44 += einsum("ia->ia", x36) + del x36 + l1new += einsum("ai,ji->aj", l1, x35) * -1 + del x35 + x37 = np.zeros((nvir, nvir), dtype=types[float]) + x37 += einsum("w,wab->ab", s1, g.bvv) + x39 = np.zeros((nvir, nvir), dtype=types[float]) + x39 += einsum("ab->ab", x37) + x70 = np.zeros((nvir, nvir), dtype=types[float]) + x70 += einsum("ab->ab", x37) + x115 = np.zeros((nvir, nvir), dtype=types[float]) + x115 += einsum("ab->ab", x37) + del x37 + x38 = np.zeros((nvir, nvir), dtype=types[float]) + x38 -= einsum("ia,ibac->bc", t1, v.ovvv) + x39 += einsum("ab->ab", x38) * -1 + x70 -= einsum("ab->ab", x38) + x112 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x112 -= einsum("ab,caij->jicb", x38, l2) + del x38 + x118 -= einsum("ijab->ijab", x112) + del x112 + x39 += einsum("ab->ab", f.vv) + x40 = np.zeros((nocc, nvir), dtype=types[float]) + x40 += einsum("ia,ba->ib", t1, x39) + del x39 + x44 += einsum("ia->ia", x40) * -1 + del x40 + x41 = np.zeros((nbos), dtype=types[float]) + x41 += einsum("ia,wia->w", t1, g.bov) + x42 = np.zeros((nbos), dtype=types[float]) + x42 += einsum("w->w", x41) + x74 = np.zeros((nbos), dtype=types[float]) + x74 += einsum("w->w", x41) + del x41 + x42 += einsum("w->w", G) + x43 = np.zeros((nocc, nvir), dtype=types[float]) + x43 += einsum("w,wia->ia", x42, u11) + del x42 + x44 += einsum("ia->ia", x43) * -1 + del x43 + x44 += einsum("ai->ia", f.vo) * -1 + l1new += einsum("ia,abij->bj", x44, l2) * -1 + ls1new += einsum("ia,wai->w", x44, lu11) * -1 + del x44 + x45 = np.zeros((nocc, nvir), dtype=types[float]) + x45 += einsum("w,wia->ia", ls1, u11) + x53 += einsum("ia->ia", x45) * -1 + del x45 + x46 = np.zeros((nocc, nvir), dtype=types[float]) + x46 += einsum("ai,jiba->jb", l1, t2) + x53 += einsum("ia->ia", x46) * -1 + del x46 + x47 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x47 += einsum("ia,waj->wji", t1, lu11) + x48 = np.zeros((nocc, nvir), dtype=types[float]) + x48 += einsum("wia,wij->ja", u11, x47) + x53 += einsum("ia->ia", x48) + del x48 + x50 = np.zeros((nocc, nocc), dtype=types[float]) + x50 += einsum("wai,wja->ij", lu11, u11) + x51 += einsum("ij->ij", x50) * 2 + x52 = np.zeros((nocc, nvir), dtype=types[float]) + x52 += einsum("ia,ij->ja", t1, x51) * 0.5 + del x51 + x53 += einsum("ia->ia", x52) + del x52 + x63 += einsum("ij->ij", x50) + l1new += einsum("ij,jkia->ak", x63, v.ooov) * -1 + del x63 + x66 += einsum("ij->ij", x50) + x67 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x67 += einsum("w,ij->wij", s1, x66) + del x66 + x77 += einsum("ij->ij", x50) + x88 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x88 += einsum("ij,jkab->kiab", x77, v.oovv) + x92 += einsum("ijab->jiba", x88) + del x88 + x123 += einsum("ij->ij", x50) * 2 + del x50 + ls1new += einsum("ij,wji->w", x123, g.boo) * -0.5 + del x123 + x53 += einsum("ia->ia", t1) * -1 + l1new += einsum("ia,ijab->bj", x53, v.oovv) * -1 + ls1new += einsum("ia,wia->w", x53, g.bov) * -1 + del x53 + x54 = np.zeros((nvir, nvir), dtype=types[float]) + x54 += einsum("ai,ib->ab", l1, t1) + x57 = np.zeros((nvir, nvir), dtype=types[float]) + x57 += einsum("ab->ab", x54) + ls1new += einsum("ab,wab->w", x54, g.bvv) + del x54 + x55 = np.zeros((nvir, nvir), dtype=types[float]) + x55 += einsum("wai,wib->ab", lu11, u11) + x57 += einsum("ab->ab", x55) + x111 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x111 -= einsum("ab,ijcb->jiac", x55, v.oovv) + x118 += einsum("ijab->ijab", x111) + del x111 + x122 = np.zeros((nvir, nvir), dtype=types[float]) + x122 += einsum("ab->ab", x55) + del x55 + x56 = np.zeros((nvir, nvir), dtype=types[float]) + x56 -= einsum("abij,ijbc->ac", l2, t2) + x57 += einsum("ab->ab", x56) * 0.5 + l1new += einsum("ab,iabc->ci", x57, v.ovvv) * -1 + del x57 + x108 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x108 -= einsum("ab,ijcb->ijac", x56, v.oovv) + x109 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x109 += einsum("ijab->ijab", x108) * 0.5 + del x108 + x122 += einsum("ab->ab", x56) * 0.5 + del x56 + ls1new += einsum("ab,wab->w", x122, g.bvv) + del x122 + x58 += einsum("ia->ia", f.ov) + x61 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x61 += einsum("ia,wja->wij", x58, u11) + x73 = np.zeros((nbos), dtype=types[float]) + x73 += einsum("ia,wia->w", x58, u11) + del x58 + x76 = np.zeros((nbos), dtype=types[float]) + x76 += einsum("w->w", x73) + del x73 + x59 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x59 += einsum("wia,ijab->wjb", u11, v.oovv) + x60 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x60 += einsum("wia->wia", x59) + x69 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x69 += einsum("wia->wia", x59) + x94 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x94 += einsum("wai,wjb->ijab", lu11, x59) + del x59 + x102 += einsum("ijab->ijab", x94) + del x94 + x60 += einsum("wia->wia", gc.bov) + x60 += einsum("wx,wia->xia", s2, g.bov) + x61 += einsum("ia,wja->wji", t1, x60) + del x60 + x61 += einsum("wij->wij", gc.boo) + x61 += einsum("wx,wij->xij", s2, g.boo) + x61 += einsum("wia,jika->wjk", u11, v.ooov) + l1new -= einsum("wai,wji->aj", lu11, x61) + del x61 + x62 = np.zeros((nbos, nvir, nvir), dtype=types[float]) + x62 += einsum("wab->wab", gc.bvv) + x62 += einsum("wx,wab->xab", s2, g.bvv) + x62 -= einsum("wia,ibca->wbc", u11, v.ovvv) + l1new += einsum("wai,wab->bi", lu11, x62) + del x62 + x64 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x64 += einsum("wx,xai->wia", s2, lu11) + x65 += einsum("wia->wia", x64) + x67 += einsum("ia,wja->wji", t1, x65) + del x65 + x100 += einsum("wia->wia", x64) + del x64 + x101 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x101 += einsum("wia,wjb->ijab", g.bov, x100) + del x100 + x102 += einsum("ijab->ijab", x101) + del x101 + x67 += einsum("ai,wja->wij", l1, u11) + l1new += einsum("wia,wji->aj", g.bov, x67) * -1 + del x67 + x68 += einsum("wij->wij", g.boo) + x129 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x129 += einsum("ia,wij->wja", t1, x68) + x130 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x130 -= einsum("wia->wia", x129) + del x129 + l1new -= einsum("wij,wja->ai", x68, x8) + del x8 + del x68 + x69 += einsum("wia->wia", gc.bov) + l1new -= einsum("wij,wja->ai", x47, x69) + del x69 + del x47 + x70 += einsum("ab->ab", f.vv) + l1new += einsum("ai,ab->bi", l1, x70) + del x70 + x71 = np.zeros((nbos), dtype=types[float]) + x71 += einsum("w,xw->x", s1, w) + x76 += einsum("w->w", x71) + del x71 + x72 = np.zeros((nbos), dtype=types[float]) + x72 += einsum("ia,wia->w", t1, gc.bov) + x76 += einsum("w->w", x72) + del x72 + x74 += einsum("w->w", G) + x75 = np.zeros((nbos), dtype=types[float]) + x75 += einsum("w,wx->x", x74, s2) + x76 += einsum("w->w", x75) + del x75 + x132 = np.zeros((nbos, nbos), dtype=types[float]) + x132 += einsum("w,x->xw", ls1, x74) + del x74 + x76 += einsum("w->w", G) + l1new += einsum("w,wai->ai", x76, lu11) + ls1new += einsum("w,wx->x", x76, ls2) + del x76 + x78 += einsum("ia->ia", f.ov) + l1new -= einsum("ij,ja->ai", x77, x78) + del x77 + del x78 + x79 = np.zeros((nbos), dtype=types[float]) + x79 += einsum("w->w", s1) + x79 += einsum("w,xw->x", ls1, s2) + x79 += einsum("ai,wia->w", l1, u11) + l1new += einsum("w,wia->ai", x79, g.bov) + del x79 + x80 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x80 += einsum("ai,jkib->jkab", l1, v.ooov) + x82 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x82 -= einsum("ijab->jiab", x80) + del x80 + x81 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x81 += einsum("ab,caij->ijbc", f.vv, l2) + x82 -= einsum("ijab->jiab", x81) + del x81 + l2new -= einsum("ijab->abij", x82) + l2new += einsum("ijab->baij", x82) + del x82 + x83 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x83 += einsum("ai,jabc->ijbc", l1, v.ovvv) + x92 += einsum("ijab->ijba", x83) + del x83 + x84 += einsum("ia->ia", f.ov) + x85 = np.zeros((nocc, nocc), dtype=types[float]) + x85 += einsum("ia,ja->ij", t1, x84) + x86 += einsum("ij->ji", x85) + del x85 + x102 += einsum("ai,jb->jiba", l1, x84) + x117 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x117 += einsum("ia,jkib->jkba", x84, x0) + del x0 + del x84 + x118 -= einsum("ijab->jiba", x117) + del x117 + x86 += einsum("ij->ij", f.oo) + x87 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x87 += einsum("ij,abjk->kiab", x86, l2) + del x86 + x92 += einsum("ijab->jiba", x87) + del x87 + l2new += einsum("ijab->abij", x92) + l2new -= einsum("ijab->abji", x92) + del x92 + x93 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x93 += einsum("wia,wbj->ijab", gc.bov, lu11) + x102 += einsum("ijab->ijab", x93) + del x93 + x97 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x97 += einsum("ijab,kica->jkbc", t2, v.oovv) + x98 += einsum("ijab->ijab", x97) + del x97 + x98 -= einsum("iajb->jiab", v.ovov) + x99 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x99 += einsum("abij,ikac->jkbc", l2, x98) + del x98 + x102 += einsum("ijab->ijab", x99) + del x99 + l2new += einsum("ijab->abij", x102) + l2new -= einsum("ijab->baij", x102) + l2new -= einsum("ijab->abji", x102) + l2new += einsum("ijab->baji", x102) + del x102 + x106 = np.zeros((nvir, nvir), dtype=types[float]) + x106 -= einsum("ijab,ijca->bc", t2, v.oovv) + x107 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x107 -= einsum("ab,caij->jicb", x106, l2) + del x106 + x109 += einsum("ijab->ijab", x107) * 0.5 + del x107 + l2new += einsum("ijab->abij", x109) * -1 + l2new += einsum("ijab->baij", x109) + del x109 + x114 = np.zeros((nvir, nvir), dtype=types[float]) + x114 += einsum("wia,wib->ab", g.bov, u11) + x115 -= einsum("ab->ba", x114) + del x114 + x116 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x116 += einsum("ab,acij->ijcb", x115, l2) + del x115 + x118 -= einsum("ijab->jiba", x116) + del x116 + l2new += einsum("ijab->abij", x118) + l2new -= einsum("ijab->baij", x118) + del x118 + x119 += einsum("ijka->jika", v.ooov) * -1 + x120 += einsum("ia,jkla->kjli", t1, x119) * -2 + del x119 + x120 += einsum("ijkl->jilk", v.oooo) + l2new += einsum("abij,klij->balk", l2, x120) * 0.5 + del x120 + x124 = np.zeros((nbos, nbos), dtype=types[float]) + x124 += einsum("wx,xy->wy", ls2, w) + x132 += einsum("wx->wx", x124) + del x124 + x125 = np.zeros((nbos, nbos), dtype=types[float]) + x125 += einsum("wia,xia->wx", g.bov, u11) + x126 = np.zeros((nbos, nbos), dtype=types[float]) + x126 += einsum("wx,yx->yw", ls2, x125) + del x125 + x132 += einsum("wx->wx", x126) + del x126 + x127 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x127 += einsum("ia,wba->wib", t1, g.bvv) + x130 += einsum("wia->wia", x127) + del x127 + x128 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x128 += einsum("wia,jiba->wjb", g.bov, t2) + x130 += einsum("wia->wia", x128) + del x128 + x130 += einsum("wai->wia", g.bvo) + x131 = np.zeros((nbos, nbos), dtype=types[float]) + x131 += einsum("wai,xia->wx", lu11, x130) + del x130 + x132 += einsum("wx->xw", x131) + del x131 + ls2new = np.zeros((nbos, nbos), dtype=types[float]) + ls2new += einsum("wx->wx", x132) + ls2new += einsum("wx->xw", x132) + del x132 + l1new += einsum("ia->ai", f.ov) + l1new += einsum("w,wia->ai", ls1, gc.bov) + l1new -= einsum("ai,jaib->bj", l1, v.ovov) + l2new += einsum("abij,abcd->dcji", l2, v.vvvv) * 0.5 + l2new += einsum("ijab->baji", v.oovv) + ls1new += einsum("w,wx->x", ls1, w) + ls1new += einsum("ai,wai->w", l1, g.bvo) + ls1new += einsum("w->w", G) + lu11new += einsum("wx,xia->wai", ls2, gc.bov) + lu11new += einsum("wx,wai->xai", w, lu11) + lu11new -= einsum("ij,waj->wai", f.oo, lu11) + lu11new -= einsum("ai,wji->waj", l1, g.boo) + lu11new += einsum("wia->wai", g.bov) + lu11new += einsum("ab,wai->wbi", f.vv, lu11) + lu11new += einsum("ai,wab->wbi", l1, g.bvv) + lu11new += einsum("wai,baji->wbj", g.bvo, l2) + lu11new -= einsum("wai,jaib->wbj", lu11, v.ovov) + + return {"l1new": l1new, "l2new": l2new, "ls1new": ls1new, "ls2new": ls2new, "lu11new": lu11new} + +def make_rdm1_f(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, s2=None, u11=None, l1=None, l2=None, ls1=None, ls2=None, lu11=None, **kwargs): + # Get boson coupling creation array: + gc = Namespace( + boo=g.boo.transpose(0, 2, 1), + bov=g.bvo.transpose(0, 2, 1), + bvo=g.bov.transpose(0, 2, 1), + bvv=g.bvv.transpose(0, 2, 1), + ) + + delta_oo = np.eye(nocc) + delta_vv = np.eye(nvir) + + # 1RDM + x0 = np.zeros((nocc, nocc), dtype=types[float]) + x0 += einsum("ai,ja->ij", l1, t1) + x5 = np.zeros((nocc, nocc), dtype=types[float]) + x5 += einsum("ij->ij", x0) + rdm1_f_oo = np.zeros((nocc, nocc), dtype=types[float]) + rdm1_f_oo -= einsum("ij->ij", x0) + del x0 + x1 = np.zeros((nocc, nocc), dtype=types[float]) + x1 += einsum("wai,wja->ij", lu11, u11) + x5 += einsum("ij->ij", x1) + rdm1_f_oo -= einsum("ij->ij", x1) + del x1 + x2 = np.zeros((nocc, nocc), dtype=types[float]) + x2 += einsum("abij,kjab->ik", l2, t2) + x5 += einsum("ij->ij", x2) * 0.5 + rdm1_f_vo = np.zeros((nvir, nocc), dtype=types[float]) + rdm1_f_vo += einsum("ia,ij->aj", t1, x5) * -1 + del x5 + rdm1_f_oo += einsum("ij->ij", x2) * -0.5 + del x2 + x3 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x3 += einsum("ia,waj->wji", t1, lu11) + rdm1_f_vo -= einsum("wia,wij->aj", u11, x3) + del x3 + x4 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x4 += einsum("ia,bajk->jkib", t1, l2) + rdm1_f_vo += einsum("ijab,ijkb->ak", t2, x4) * 0.5 + del x4 + rdm1_f_oo += einsum("ij->ji", delta_oo) + rdm1_f_ov = np.zeros((nocc, nvir), dtype=types[float]) + rdm1_f_ov += einsum("ai->ia", l1) + rdm1_f_vo += einsum("ai,jiba->bj", l1, t2) + rdm1_f_vo += einsum("w,wia->ai", ls1, u11) + rdm1_f_vo += einsum("ia->ai", t1) + rdm1_f_vv = np.zeros((nvir, nvir), dtype=types[float]) + rdm1_f_vv += einsum("wai,wib->ba", lu11, u11) + rdm1_f_vv += einsum("ai,ib->ba", l1, t1) + rdm1_f_vv += einsum("abij,ijca->cb", l2, t2) * -0.5 + + rdm1_f = np.block([[rdm1_f_oo, rdm1_f_ov], [rdm1_f_vo, rdm1_f_vv]]) + + return rdm1_f + +def make_rdm2_f(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, s2=None, u11=None, l1=None, l2=None, ls1=None, ls2=None, lu11=None, **kwargs): + # Get boson coupling creation array: + gc = Namespace( + boo=g.boo.transpose(0, 2, 1), + bov=g.bvo.transpose(0, 2, 1), + bvo=g.bov.transpose(0, 2, 1), + bvv=g.bvv.transpose(0, 2, 1), + ) + + delta_oo = np.eye(nocc) + delta_vv = np.eye(nvir) + + # 2RDM + x0 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x0 += einsum("abij,klab->ijkl", l2, t2) + x20 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x20 += einsum("ijkl->jilk", x0) * -1 + x51 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x51 += einsum("ijkl->jilk", x0) * -1 + x52 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x52 += einsum("ijkl->jilk", x0) * -1 + rdm2_f_oooo = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + rdm2_f_oooo += einsum("ijkl->jilk", x0) * 0.5 + del x0 + x1 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x1 += einsum("ia,bajk->jkib", t1, l2) + x2 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x2 += einsum("ia,jkla->jkil", t1, x1) + x20 += einsum("ijkl->ijlk", x2) * 2 + x21 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x21 += einsum("ia,ijkl->jkla", t1, x20) * 0.5 + del x20 + rdm2_f_ovoo = np.zeros((nocc, nvir, nocc, nocc), dtype=types[float]) + rdm2_f_ovoo += einsum("ijka->iakj", x21) * -1 + rdm2_f_vooo = np.zeros((nvir, nocc, nocc, nocc), dtype=types[float]) + rdm2_f_vooo += einsum("ijka->aikj", x21) + del x21 + x51 += einsum("ijkl->ijlk", x2) * 2.0000000000000013 + rdm2_f_vvoo = np.zeros((nvir, nvir, nocc, nocc), dtype=types[float]) + rdm2_f_vvoo += einsum("ijab,ijkl->balk", t2, x51) * -0.25 + del x51 + x52 += einsum("ijkl->ijlk", x2) * 1.9999999999999987 + x53 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x53 += einsum("ia,ijkl->jlka", t1, x52) * -1 + del x52 + rdm2_f_vvoo += einsum("ia,ijkb->abkj", t1, x53) * -0.5000000000000003 + del x53 + rdm2_f_oooo -= einsum("ijkl->ijlk", x2) + del x2 + x9 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x9 -= einsum("ijab,kjlb->klia", t2, x1) + x15 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x15 += einsum("ijka->ijka", x9) + x25 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x25 -= einsum("ijka->ijka", x9) + x34 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x34 += einsum("ia,ijkb->jkab", t1, x9) + del x9 + x39 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x39 -= einsum("ijab->ijab", x34) + del x34 + x16 = np.zeros((nocc, nvir), dtype=types[float]) + x16 -= einsum("ijab,ijkb->ka", t2, x1) + x18 = np.zeros((nocc, nvir), dtype=types[float]) + x18 += einsum("ia->ia", x16) + del x16 + x28 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x28 += einsum("ia,jikb->jkba", t1, x1) + x59 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x59 -= einsum("ia,ijbc->jbca", t1, x28) + rdm2_f_vvov = np.zeros((nvir, nvir, nocc, nvir), dtype=types[float]) + rdm2_f_vvov -= einsum("iabc->cbia", x59) + rdm2_f_vvvo = np.zeros((nvir, nvir, nvir, nocc), dtype=types[float]) + rdm2_f_vvvo += einsum("iabc->cbai", x59) + del x59 + rdm2_f_ovov = np.zeros((nocc, nvir, nocc, nvir), dtype=types[float]) + rdm2_f_ovov += einsum("ijab->ibja", x28) + rdm2_f_ovvo = np.zeros((nocc, nvir, nvir, nocc), dtype=types[float]) + rdm2_f_ovvo -= einsum("ijab->ibaj", x28) + rdm2_f_voov = np.zeros((nvir, nocc, nocc, nvir), dtype=types[float]) + rdm2_f_voov -= einsum("ijab->bija", x28) + rdm2_f_vovo = np.zeros((nvir, nocc, nvir, nocc), dtype=types[float]) + rdm2_f_vovo += einsum("ijab->biaj", x28) + del x28 + x58 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x58 += einsum("ijab,ijkc->kcab", t2, x1) + rdm2_f_vvov += einsum("iabc->bcia", x58) * 0.5 + rdm2_f_vvvo += einsum("iabc->bcai", x58) * -0.5 + del x58 + rdm2_f_ooov = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + rdm2_f_ooov -= einsum("ijka->jika", x1) + rdm2_f_oovo = np.zeros((nocc, nocc, nvir, nocc), dtype=types[float]) + rdm2_f_oovo += einsum("ijka->jiak", x1) + del x1 + x3 = np.zeros((nocc, nocc), dtype=types[float]) + x3 += einsum("abij,kjab->ik", l2, t2) + x17 = np.zeros((nocc, nvir), dtype=types[float]) + x17 += einsum("ia,ij->ja", t1, x3) + x18 += einsum("ia->ia", x17) + del x17 + x19 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x19 += einsum("ij,ka->jika", delta_oo, x18) * 0.5 + rdm2_f_vooo += einsum("ij,ka->aijk", delta_oo, x18) * 0.5 + rdm2_f_vooo += einsum("ij,ka->aikj", delta_oo, x18) * -0.5 + rdm2_f_vvoo += einsum("ia,jb->abij", t1, x18) * -0.5000000000000003 + rdm2_f_vvoo += einsum("ia,jb->baij", t1, x18) * 0.5000000000000003 + rdm2_f_vvoo += einsum("ia,jb->abji", t1, x18) * 0.5000000000000003 + rdm2_f_vvoo += einsum("ia,jb->baji", t1, x18) * -0.5000000000000003 + del x18 + x19 += einsum("ia,jk->jika", t1, x3) * -0.5 + rdm2_f_ovoo += einsum("ijka->iajk", x19) * -1 + rdm2_f_ovoo += einsum("ijka->iakj", x19) + del x19 + x50 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x50 += einsum("ij,kiab->kjab", x3, t2) + rdm2_f_vvoo += einsum("ijab->abij", x50) * -0.5 + rdm2_f_vvoo += einsum("ijab->abji", x50) * 0.5 + del x50 + rdm2_f_oooo += einsum("ij,kl->ikjl", delta_oo, x3) * -0.5 + rdm2_f_oooo += einsum("ij,kl->iklj", delta_oo, x3) * 0.5 + rdm2_f_oooo += einsum("ij,kl->kjil", delta_oo, x3) * 0.5 + rdm2_f_oooo += einsum("ij,kl->kjli", delta_oo, x3) * -0.5 + rdm2_f_vooo += einsum("ia,jk->ajik", t1, x3) * -0.5 + rdm2_f_vooo += einsum("ia,jk->ajki", t1, x3) * 0.5 + del x3 + x4 = np.zeros((nocc, nocc), dtype=types[float]) + x4 += einsum("ai,ja->ij", l1, t1) + x14 = np.zeros((nocc, nocc), dtype=types[float]) + x14 += einsum("ij->ij", x4) + x23 = np.zeros((nocc, nvir), dtype=types[float]) + x23 += einsum("ia,ij->ja", t1, x4) + x24 = np.zeros((nocc, nvir), dtype=types[float]) + x24 -= einsum("ia->ia", x23) + del x23 + x44 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x44 += einsum("ij,kiab->jkab", x4, t2) + x46 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x46 -= einsum("ijab->ijba", x44) + del x44 + rdm2_f_oooo -= einsum("ij,kl->jkil", delta_oo, x4) + rdm2_f_oooo += einsum("ij,kl->kjil", delta_oo, x4) + rdm2_f_oooo += einsum("ij,kl->jkli", delta_oo, x4) + rdm2_f_oooo -= einsum("ij,kl->kjli", delta_oo, x4) + del x4 + x5 = np.zeros((nocc, nocc), dtype=types[float]) + x5 += einsum("wai,wja->ij", lu11, u11) + x12 = np.zeros((nocc, nvir), dtype=types[float]) + x12 += einsum("ia,ij->ja", t1, x5) + x13 = np.zeros((nocc, nvir), dtype=types[float]) + x13 += einsum("ia->ia", x12) + del x12 + x14 += einsum("ij->ij", x5) + x15 -= einsum("ia,jk->jika", t1, x14) + x25 += einsum("ia,jk->jika", t1, x14) + x54 = np.zeros((nocc, nvir), dtype=types[float]) + x54 += einsum("ia,ij->ja", t1, x14) + del x14 + x55 = np.zeros((nocc, nvir), dtype=types[float]) + x55 += einsum("ia->ia", x54) + x56 = np.zeros((nocc, nvir), dtype=types[float]) + x56 += einsum("ia->ia", x54) + del x54 + x45 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x45 += einsum("ij,kiab->kjab", x5, t2) + x46 += einsum("ijab->ijba", x45) + del x45 + rdm2_f_vvoo -= einsum("ijab->baij", x46) + rdm2_f_vvoo += einsum("ijab->baji", x46) + del x46 + rdm2_f_oooo -= einsum("ij,kl->ikjl", delta_oo, x5) + rdm2_f_oooo += einsum("ij,kl->iklj", delta_oo, x5) + rdm2_f_oooo += einsum("ij,kl->kjil", delta_oo, x5) + rdm2_f_oooo -= einsum("ij,kl->kjli", delta_oo, x5) + del x5 + x6 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x6 += einsum("ai,jkba->ijkb", l1, t2) + x40 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x40 += einsum("ia,ijkb->jkab", t1, x6) + x43 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x43 += einsum("ijab->ijab", x40) + del x40 + rdm2_f_ovoo -= einsum("ijka->iakj", x6) + rdm2_f_vooo += einsum("ijka->aikj", x6) + del x6 + x7 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x7 += einsum("ia,waj->wji", t1, lu11) + x8 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x8 += einsum("wia,wjk->jkia", u11, x7) + x15 += einsum("ijka->ijka", x8) + x25 -= einsum("ijka->ijka", x8) + del x8 + rdm2_f_vooo -= einsum("ijka->aijk", x25) + rdm2_f_vooo += einsum("ijka->aikj", x25) + del x25 + x11 = np.zeros((nocc, nvir), dtype=types[float]) + x11 += einsum("wia,wij->ja", u11, x7) + x13 += einsum("ia->ia", x11) + x55 += einsum("ia->ia", x11) + x56 += einsum("ia->ia", x11) + del x11 + x36 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x36 += einsum("ia,wij->wja", t1, x7) + del x7 + x37 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x37 -= einsum("wia->wia", x36) + del x36 + x10 = np.zeros((nocc, nvir), dtype=types[float]) + x10 += einsum("ai,jiba->jb", l1, t2) + x13 -= einsum("ia->ia", x10) + x15 += einsum("ij,ka->jika", delta_oo, x13) + rdm2_f_ovoo -= einsum("ijka->iajk", x15) + rdm2_f_ovoo += einsum("ijka->iakj", x15) + del x15 + rdm2_f_vooo += einsum("ij,ka->aijk", delta_oo, x13) + rdm2_f_vooo -= einsum("ij,ka->aikj", delta_oo, x13) + del x13 + x39 += einsum("ia,jb->ijab", t1, x10) + del x10 + x22 = np.zeros((nocc, nvir), dtype=types[float]) + x22 += einsum("w,wia->ia", ls1, u11) + x24 += einsum("ia->ia", x22) + x55 -= einsum("ia->ia", x22) + x56 -= einsum("ia->ia", x22) + del x22 + rdm2_f_vvoo += einsum("ia,jb->abji", t1, x56) + rdm2_f_vvoo -= einsum("ia,jb->baji", t1, x56) + del x56 + x24 += einsum("ia->ia", t1) + rdm2_f_ovoo += einsum("ij,ka->jaik", delta_oo, x24) + rdm2_f_ovoo -= einsum("ij,ka->jaki", delta_oo, x24) + rdm2_f_vooo += einsum("ij,ka->ajki", delta_oo, x24) + rdm2_f_vooo -= einsum("ij,ka->ajik", delta_oo, x24) + del x24 + x26 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x26 += einsum("wai,wjb->ijab", lu11, u11) + rdm2_f_ovov -= einsum("ijab->ibja", x26) + rdm2_f_ovvo += einsum("ijab->ibaj", x26) + rdm2_f_voov += einsum("ijab->bija", x26) + rdm2_f_vovo -= einsum("ijab->biaj", x26) + del x26 + x27 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x27 -= einsum("abij,kjca->ikbc", l2, t2) + x42 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x42 += einsum("ijab,jkbc->ikac", t2, x27) + x43 += einsum("ijab->ijab", x42) + del x42 + x63 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x63 += einsum("ia,ijbc->jbac", t1, x27) + x65 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x65 -= einsum("iabc->iabc", x63) + del x63 + rdm2_f_ovov -= einsum("ijab->ibja", x27) + rdm2_f_ovvo += einsum("ijab->ibaj", x27) + rdm2_f_voov += einsum("ijab->bija", x27) + rdm2_f_vovo -= einsum("ijab->biaj", x27) + del x27 + x29 = np.zeros((nvir, nvir), dtype=types[float]) + x29 += einsum("ai,ib->ab", l1, t1) + x32 = np.zeros((nvir, nvir), dtype=types[float]) + x32 += einsum("ab->ab", x29) + x33 = np.zeros((nvir, nvir), dtype=types[float]) + x33 += einsum("ab->ab", x29) * 2 + x64 = np.zeros((nvir, nvir), dtype=types[float]) + x64 += einsum("ab->ab", x29) + del x29 + x30 = np.zeros((nvir, nvir), dtype=types[float]) + x30 += einsum("wai,wib->ab", lu11, u11) + x32 += einsum("ab->ab", x30) + x33 += einsum("ab->ab", x30) * 2 + x41 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x41 += einsum("ab,ijca->ijcb", x30, t2) + x43 -= einsum("ijab->ijab", x41) + del x41 + rdm2_f_vvoo -= einsum("ijab->abji", x43) + rdm2_f_vvoo += einsum("ijab->baji", x43) + del x43 + x64 += einsum("ab->ab", x30) + del x30 + x65 += einsum("ia,bc->ibac", t1, x64) + del x64 + x31 = np.zeros((nvir, nvir), dtype=types[float]) + x31 -= einsum("abij,ijca->bc", l2, t2) + x32 += einsum("ab->ab", x31) * 0.5 + rdm2_f_ovov += einsum("ij,ab->jbia", delta_oo, x32) + rdm2_f_voov += einsum("ij,ab->bjia", delta_oo, x32) * -1 + del x32 + x33 += einsum("ab->ab", x31) + rdm2_f_ovvo += einsum("ij,ab->jbai", delta_oo, x33) * -0.5 + rdm2_f_vovo += einsum("ij,ab->bjai", delta_oo, x33) * 0.5 + del x33 + x49 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x49 += einsum("ab,ijca->ijcb", x31, t2) + rdm2_f_vvoo += einsum("ijab->abji", x49) * 0.5 + rdm2_f_vvoo += einsum("ijab->baji", x49) * -0.5 + del x49 + rdm2_f_vvov += einsum("ia,bc->acib", t1, x31) * 0.5 + rdm2_f_vvov += einsum("ia,bc->caib", t1, x31) * -0.5 + rdm2_f_vvvo += einsum("ia,bc->acbi", t1, x31) * -0.5 + rdm2_f_vvvo += einsum("ia,bc->cabi", t1, x31) * 0.5 + del x31 + x35 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x35 += einsum("wai,jiba->wjb", lu11, t2) + x37 += einsum("wia->wia", x35) + del x35 + x38 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x38 += einsum("wia,wjb->jiba", u11, x37) + del x37 + x39 += einsum("ijab->ijab", x38) + del x38 + rdm2_f_vvoo += einsum("ijab->abij", x39) + rdm2_f_vvoo -= einsum("ijab->baij", x39) + rdm2_f_vvoo -= einsum("ijab->abji", x39) + rdm2_f_vvoo += einsum("ijab->baji", x39) + del x39 + x47 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x47 += einsum("wx,xia->wia", ls2, u11) + x48 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x48 += einsum("wia,wjb->jiba", u11, x47) + del x47 + rdm2_f_vvoo -= einsum("ijab->baij", x48) + rdm2_f_vvoo += einsum("ijab->baji", x48) + del x48 + x55 -= einsum("ia->ia", t1) + rdm2_f_vvoo += einsum("ia,jb->baij", t1, x55) + rdm2_f_vvoo -= einsum("ia,jb->abij", t1, x55) + del x55 + x57 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x57 += einsum("ia,bcji->jbca", t1, l2) + rdm2_f_ovvv = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + rdm2_f_ovvv -= einsum("iabc->icba", x57) + rdm2_f_vovv = np.zeros((nvir, nocc, nvir, nvir), dtype=types[float]) + rdm2_f_vovv += einsum("iabc->ciba", x57) + rdm2_f_vvvv = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) + rdm2_f_vvvv -= einsum("ia,ibcd->adcb", t1, x57) + del x57 + x60 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x60 += einsum("ai,jibc->jabc", l1, t2) + rdm2_f_vvov -= einsum("iabc->cbia", x60) + rdm2_f_vvvo += einsum("iabc->cbai", x60) + del x60 + x61 = np.zeros((nbos, nvir, nvir), dtype=types[float]) + x61 += einsum("ia,wbi->wba", t1, lu11) + x62 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x62 += einsum("wia,wbc->ibca", u11, x61) + del x61 + x65 -= einsum("iabc->iabc", x62) + del x62 + rdm2_f_vvov += einsum("iabc->bcia", x65) + rdm2_f_vvov -= einsum("iabc->cbia", x65) + rdm2_f_vvvo -= einsum("iabc->bcai", x65) + rdm2_f_vvvo += einsum("iabc->cbai", x65) + del x65 + rdm2_f_oooo += einsum("ij,kl->jlik", delta_oo, delta_oo) + rdm2_f_oooo -= einsum("ij,kl->lijk", delta_oo, delta_oo) + rdm2_f_ooov += einsum("ij,ak->jkia", delta_oo, l1) + rdm2_f_ooov -= einsum("ij,ak->kjia", delta_oo, l1) + rdm2_f_oovo -= einsum("ij,ak->jkai", delta_oo, l1) + rdm2_f_oovo += einsum("ij,ak->kjai", delta_oo, l1) + rdm2_f_oovv = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + rdm2_f_oovv += einsum("abij->jiba", l2) + rdm2_f_ovov -= einsum("ai,jb->ibja", l1, t1) + rdm2_f_ovvo += einsum("ai,jb->ibaj", l1, t1) + rdm2_f_voov += einsum("ai,jb->bija", l1, t1) + rdm2_f_vovo -= einsum("ai,jb->biaj", l1, t1) + rdm2_f_vvoo += einsum("ijab->baji", t2) + rdm2_f_vvvv += einsum("abij,ijcd->dcba", l2, t2) * 0.5 + + rdm2_f = pack_2e(rdm2_f_oooo, rdm2_f_ooov, rdm2_f_oovo, rdm2_f_ovoo, rdm2_f_vooo, rdm2_f_oovv, rdm2_f_ovov, rdm2_f_ovvo, rdm2_f_voov, rdm2_f_vovo, rdm2_f_vvoo, rdm2_f_ovvv, rdm2_f_vovv, rdm2_f_vvov, rdm2_f_vvvo, rdm2_f_vvvv) + + rdm2_f = rdm2_f.transpose(0, 2, 1, 3) + + return rdm2_f + +def make_sing_b_dm(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, s2=None, u11=None, l1=None, l2=None, ls1=None, ls2=None, lu11=None, **kwargs): + # Get boson coupling creation array: + gc = Namespace( + boo=g.boo.transpose(0, 2, 1), + bov=g.bvo.transpose(0, 2, 1), + bvo=g.bov.transpose(0, 2, 1), + bvv=g.bvv.transpose(0, 2, 1), + ) + + # Single boson DM + dm_b_cre = np.zeros((nbos), dtype=types[float]) + dm_b_cre += einsum("w->w", ls1) + dm_b_des = np.zeros((nbos), dtype=types[float]) + dm_b_des += einsum("w,xw->x", ls1, s2) + dm_b_des += einsum("ai,wia->w", l1, u11) + dm_b_des += einsum("w->w", s1) + + dm_b = np.array([dm_b_cre, dm_b_des]) + + return dm_b + +def make_rdm1_b(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, s2=None, u11=None, l1=None, l2=None, ls1=None, ls2=None, lu11=None, **kwargs): + # Get boson coupling creation array: + gc = Namespace( + boo=g.boo.transpose(0, 2, 1), + bov=g.bvo.transpose(0, 2, 1), + bvo=g.bov.transpose(0, 2, 1), + bvv=g.bvv.transpose(0, 2, 1), + ) + + # Boson 1RDM + rdm1_b = np.zeros((nbos, nbos), dtype=types[float]) + rdm1_b += einsum("wx,yx->wy", ls2, s2) + rdm1_b += einsum("w,x->wx", ls1, s1) + rdm1_b += einsum("wai,xia->wx", lu11, u11) + + return rdm1_b + +def make_eb_coup_rdm(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, s2=None, u11=None, l1=None, l2=None, ls1=None, ls2=None, lu11=None, **kwargs): + # Get boson coupling creation array: + gc = Namespace( + boo=g.boo.transpose(0, 2, 1), + bov=g.bvo.transpose(0, 2, 1), + bvo=g.bov.transpose(0, 2, 1), + bvv=g.bvv.transpose(0, 2, 1), + ) + + delta_oo = np.eye(nocc) + delta_vv = np.eye(nvir) + + # Boson-fermion coupling RDM + x0 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x0 += einsum("ia,waj->wji", t1, lu11) + x21 = np.zeros((nocc, nvir), dtype=types[float]) + x21 += einsum("wia,wij->ja", u11, x0) + rdm_eb_cre_oo = np.zeros((nbos, nocc, nocc), dtype=types[float]) + rdm_eb_cre_oo -= einsum("wij->wji", x0) + rdm_eb_cre_ov = np.zeros((nbos, nocc, nvir), dtype=types[float]) + rdm_eb_cre_ov -= einsum("ia,wij->wja", t1, x0) + del x0 + x1 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x1 += einsum("ai,wja->wij", l1, u11) + x17 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x17 += einsum("wij->wij", x1) + rdm_eb_des_oo = np.zeros((nbos, nocc, nocc), dtype=types[float]) + rdm_eb_des_oo -= einsum("wij->wji", x1) + del x1 + x2 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x2 += einsum("wx,xai->wia", s2, lu11) + x4 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x4 += einsum("wia->wia", x2) + rdm_eb_des_vo = np.zeros((nbos, nvir, nocc), dtype=types[float]) + rdm_eb_des_vo += einsum("wia->wai", x2) + del x2 + x3 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x3 -= einsum("wia,abji->wjb", u11, l2) + x4 += einsum("wia->wia", x3) + x5 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x5 += einsum("ia,wja->wij", t1, x4) + x17 += einsum("wij->wji", x5) + rdm_eb_des_ov = np.zeros((nbos, nocc, nvir), dtype=types[float]) + rdm_eb_des_ov -= einsum("ia,wij->wja", t1, x17) + del x17 + rdm_eb_des_oo -= einsum("wij->wij", x5) + del x5 + rdm_eb_des_ov += einsum("wia,ijab->wjb", x4, t2) + rdm_eb_des_vv = np.zeros((nbos, nvir, nvir), dtype=types[float]) + rdm_eb_des_vv += einsum("ia,wib->wba", t1, x4) + del x4 + rdm_eb_des_vo += einsum("wia->wai", x3) + del x3 + x6 = np.zeros((nocc, nocc), dtype=types[float]) + x6 += einsum("ai,ja->ij", l1, t1) + x9 = np.zeros((nocc, nocc), dtype=types[float]) + x9 += einsum("ij->ij", x6) * 2 + x16 = np.zeros((nocc, nocc), dtype=types[float]) + x16 += einsum("ij->ij", x6) + x20 = np.zeros((nocc, nocc), dtype=types[float]) + x20 += einsum("ij->ij", x6) * 1.9999999999999987 + del x6 + x7 = np.zeros((nocc, nocc), dtype=types[float]) + x7 += einsum("wai,wja->ij", lu11, u11) + x9 += einsum("ij->ij", x7) * 2 + x16 += einsum("ij->ij", x7) + x20 += einsum("ij->ij", x7) * 1.9999999999999987 + del x7 + x8 = np.zeros((nocc, nocc), dtype=types[float]) + x8 += einsum("abij,kjab->ik", l2, t2) + x9 += einsum("ij->ij", x8) + x16 += einsum("ij->ij", x8) * 0.5 + rdm_eb_des_ov += einsum("ij,wia->wja", x16, u11) * -1 + del x16 + x20 += einsum("ij->ij", x8) + del x8 + x21 += einsum("ia,ij->ja", t1, x20) * 0.5000000000000003 + del x20 + x9 += einsum("ij->ji", delta_oo) * -2 + rdm_eb_des_oo += einsum("w,ij->wji", s1, x9) * -0.5 + del x9 + x10 = np.zeros((nbos), dtype=types[float]) + x10 += einsum("w,xw->x", ls1, s2) + x12 = np.zeros((nbos), dtype=types[float]) + x12 += einsum("w->w", x10) + del x10 + x11 = np.zeros((nbos), dtype=types[float]) + x11 += einsum("ai,wia->w", l1, u11) + x12 += einsum("w->w", x11) + del x11 + rdm_eb_des_oo += einsum("w,ij->wji", x12, delta_oo) + rdm_eb_des_ov += einsum("w,ia->wia", x12, t1) + del x12 + x13 = np.zeros((nvir, nvir), dtype=types[float]) + x13 += einsum("wai,wib->ab", lu11, u11) + x15 = np.zeros((nvir, nvir), dtype=types[float]) + x15 += einsum("ab->ab", x13) * 2 + x22 = np.zeros((nvir, nvir), dtype=types[float]) + x22 += einsum("ab->ab", x13) + del x13 + x14 = np.zeros((nvir, nvir), dtype=types[float]) + x14 -= einsum("abij,ijca->bc", l2, t2) + x15 += einsum("ab->ab", x14) + rdm_eb_des_ov += einsum("ab,wia->wib", x15, u11) * -0.5 + del x15 + x22 += einsum("ab->ab", x14) * 0.5 + del x14 + x18 = np.zeros((nbos, nbos), dtype=types[float]) + x18 += einsum("wx,yx->wy", ls2, s2) + x18 += einsum("wai,xia->wx", lu11, u11) + rdm_eb_des_ov += einsum("wx,wia->xia", x18, u11) + del x18 + x19 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x19 += einsum("ia,bajk->jkib", t1, l2) + x21 += einsum("ijab,ijkb->ka", t2, x19) * -0.5000000000000003 + del x19 + x21 += einsum("ia->ia", t1) * -1 + x21 += einsum("w,wia->ia", ls1, u11) * -1 + x21 += einsum("ai,jiba->jb", l1, t2) * -1 + rdm_eb_des_ov += einsum("w,ia->wia", s1, x21) * -1 + del x21 + x22 += einsum("ai,ib->ab", l1, t1) + rdm_eb_des_vv += einsum("w,ab->wab", s1, x22) + del x22 + rdm_eb_cre_oo += einsum("w,ij->wji", ls1, delta_oo) + rdm_eb_cre_ov += einsum("wx,xia->wia", ls2, u11) + rdm_eb_cre_ov += einsum("wai,jiba->wjb", lu11, t2) + rdm_eb_cre_ov += einsum("w,ia->wia", ls1, t1) + rdm_eb_cre_vo = np.zeros((nbos, nvir, nocc), dtype=types[float]) + rdm_eb_cre_vo += einsum("wai->wai", lu11) + rdm_eb_cre_vv = np.zeros((nbos, nvir, nvir), dtype=types[float]) + rdm_eb_cre_vv += einsum("ia,wbi->wba", t1, lu11) + rdm_eb_des_ov += einsum("wia->wia", u11) + rdm_eb_des_vo += einsum("w,ai->wai", s1, l1) + rdm_eb_des_vv += einsum("ai,wib->wab", l1, u11) + + rdm_eb = np.array([ + np.block([[rdm_eb_cre_oo, rdm_eb_cre_ov], [rdm_eb_cre_vo, rdm_eb_cre_vv]]), + np.block([[rdm_eb_des_oo, rdm_eb_des_ov], [rdm_eb_des_vo, rdm_eb_des_vv]]), + ]) + + return rdm_eb + diff --git a/ebcc/codegen/GCCSD_SD_1_2.py b/ebcc/codegen/GCCSD_SD_1_2.py new file mode 100644 index 00000000..48424b22 --- /dev/null +++ b/ebcc/codegen/GCCSD_SD_1_2.py @@ -0,0 +1,2137 @@ +# Code generated for ebcc. + +from ebcc import numpy as np +from ebcc.util import pack_2e, einsum, Namespace +from ebcc.precision import types + +def energy(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, s2=None, u11=None, u12=None, **kwargs): + # Energy + x0 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x0 += einsum("ijab->jiba", t2) + x0 += einsum("ia,jb->ijab", t1, t1) * 2 + e_cc = 0 + e_cc += einsum("ijab,ijab->", v.oovv, x0) * 0.25 + del x0 + x1 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x1 += einsum("wia->wia", u11) + x1 += einsum("w,ia->wia", s1, t1) + e_cc += einsum("wia,wia->", g.bov, x1) + del x1 + e_cc += einsum("ia,ia->", f.ov, t1) + e_cc += einsum("w,w->", G, s1) + + return e_cc + +def update_amps(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, s2=None, u11=None, u12=None, **kwargs): + # Get boson coupling creation array: + gc = Namespace( + boo=g.boo.transpose(0, 2, 1), + bov=g.bvo.transpose(0, 2, 1), + bvo=g.bov.transpose(0, 2, 1), + bvv=g.bvv.transpose(0, 2, 1), + ) + + # T1, T2, S1, S2, U11 and U12 amplitudes + x0 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x0 += einsum("ia,jkba->ijkb", t1, v.oovv) + x1 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x1 += einsum("ijka->ikja", x0) * -1 + x40 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x40 += einsum("ijab,kjlb->kila", t2, x0) + x41 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x41 -= einsum("ijka->ikja", x40) + del x40 + x65 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x65 += einsum("ia,jkla->jilk", t1, x0) + x66 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x66 += einsum("ijkl->klji", x65) * -2.0000000000000013 + x67 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x67 += einsum("ijkl->klji", x65) * -1 + del x65 + x110 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x110 += einsum("ijka->kjia", x0) + del x0 + x1 += einsum("ijka->kjia", v.ooov) + t1new = np.zeros((nocc, nvir), dtype=types[float]) + t1new += einsum("ijab,kija->kb", t2, x1) * -0.5 + del x1 + x2 = np.zeros((nocc, nvir), dtype=types[float]) + x2 += einsum("w,wia->ia", s1, g.bov) + x4 = np.zeros((nocc, nvir), dtype=types[float]) + x4 += einsum("ia->ia", x2) + x11 = np.zeros((nocc, nvir), dtype=types[float]) + x11 += einsum("ia->ia", x2) + x81 = np.zeros((nocc, nvir), dtype=types[float]) + x81 += einsum("ia->ia", x2) + del x2 + x3 = np.zeros((nocc, nvir), dtype=types[float]) + x3 += einsum("ia,jiba->jb", t1, v.oovv) + x4 += einsum("ia->ia", x3) + x11 += einsum("ia->ia", x3) + x77 = np.zeros((nvir, nvir), dtype=types[float]) + x77 += einsum("ia,ib->ab", t1, x3) * 2 + del x3 + x4 += einsum("ia->ia", f.ov) + x24 = np.zeros((nocc, nocc), dtype=types[float]) + x24 += einsum("ia,ja->ij", t1, x4) + x25 = np.zeros((nocc, nocc), dtype=types[float]) + x25 += einsum("ij->ij", x24) + del x24 + x48 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x48 += einsum("ia,jkab->jkib", x4, t2) + x49 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x49 += einsum("ijka->kjia", x48) + del x48 + x91 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x91 += einsum("ia,wja->wji", x4, u11) + x94 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x94 += einsum("wij->wji", x91) + del x91 + x111 = np.zeros((nbos, nbos, nocc, nocc), dtype=types[float]) + x111 += einsum("ia,wxja->xwij", x4, u12) + t1new += einsum("ia,ijab->jb", x4, t2) + s1new = np.zeros((nbos), dtype=types[float]) + s1new += einsum("ia,wia->w", x4, u11) + s2new = np.zeros((nbos, nbos), dtype=types[float]) + s2new += einsum("ia,wxia->xw", x4, u12) + del x4 + x5 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x5 += einsum("ia,wja->wji", t1, g.bov) + x6 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x6 += einsum("wij->wij", x5) + del x5 + x6 += einsum("wij->wij", g.boo) + x35 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x35 += einsum("ia,wij->wja", t1, x6) + x36 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x36 -= einsum("wia->wia", x35) + del x35 + t1new -= einsum("wia,wij->ja", u11, x6) + u11new = np.zeros((nbos, nocc, nvir), dtype=types[float]) + u11new -= einsum("wij,wxia->xja", x6, u12) + del x6 + x7 = np.zeros((nocc, nocc), dtype=types[float]) + x7 += einsum("w,wij->ij", s1, g.boo) + x13 = np.zeros((nocc, nocc), dtype=types[float]) + x13 += einsum("ij->ij", x7) + x25 += einsum("ij->ji", x7) + x83 = np.zeros((nocc, nocc), dtype=types[float]) + x83 += einsum("ij->ij", x7) * 2 + del x7 + x8 = np.zeros((nocc, nocc), dtype=types[float]) + x8 += einsum("wia,wja->ij", g.bov, u11) + x13 += einsum("ij->ij", x8) + x27 = np.zeros((nocc, nocc), dtype=types[float]) + x27 += einsum("ij->ij", x8) + x83 += einsum("ij->ij", x8) * 2 + del x8 + x9 = np.zeros((nocc, nocc), dtype=types[float]) + x9 -= einsum("ia,ijka->jk", t1, v.ooov) + x13 += einsum("ij->ij", x9) + x27 += einsum("ij->ij", x9) + x28 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x28 += einsum("ij,ikab->kjab", x27, t2) + del x27 + x29 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x29 -= einsum("ijab->ijba", x28) + del x28 + x83 += einsum("ij->ij", x9) * 2 + del x9 + x10 = np.zeros((nocc, nocc), dtype=types[float]) + x10 -= einsum("ijab,jkab->ik", t2, v.oovv) + x13 += einsum("ij->ji", x10) * 0.5 + x61 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x61 += einsum("ij,kjab->kiab", x10, t2) + x62 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x62 += einsum("ijab->ijba", x61) * -0.5 + del x61 + x83 += einsum("ij->ji", x10) + del x10 + x11 += einsum("ia->ia", f.ov) + x12 = np.zeros((nocc, nocc), dtype=types[float]) + x12 += einsum("ia,ja->ij", t1, x11) + x13 += einsum("ij->ji", x12) + del x12 + x83 += einsum("ia,ja->ji", t1, x11) * 2 + del x11 + x13 += einsum("ij->ij", f.oo) + t1new += einsum("ia,ij->ja", t1, x13) * -1 + u12new = np.zeros((nbos, nbos, nocc, nvir), dtype=types[float]) + u12new += einsum("ij,wxia->xwja", x13, u12) * -1 + del x13 + x14 = np.zeros((nvir, nvir), dtype=types[float]) + x14 += einsum("w,wab->ab", s1, g.bvv) + x16 = np.zeros((nvir, nvir), dtype=types[float]) + x16 += einsum("ab->ab", x14) + x44 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x44 += einsum("ab,ijcb->ijac", x14, t2) + x54 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x54 += einsum("ijab->ijab", x44) + del x44 + x77 += einsum("ab->ab", x14) * -2 + x109 = np.zeros((nvir, nvir), dtype=types[float]) + x109 += einsum("ab->ab", x14) * -2 + del x14 + x15 = np.zeros((nvir, nvir), dtype=types[float]) + x15 -= einsum("ia,ibac->bc", t1, v.ovvv) + x16 -= einsum("ab->ab", x15) + x52 = np.zeros((nvir, nvir), dtype=types[float]) + x52 += einsum("ab->ab", x15) + x77 += einsum("ab->ab", x15) * 2 + x109 += einsum("ab->ab", x15) * 2 + del x15 + x16 += einsum("ab->ab", f.vv) + t1new += einsum("ia,ba->ib", t1, x16) + del x16 + x17 = np.zeros((nbos), dtype=types[float]) + x17 += einsum("ia,wia->w", t1, g.bov) + x18 = np.zeros((nbos), dtype=types[float]) + x18 += einsum("w->w", x17) + del x17 + x18 += einsum("w->w", G) + t1new += einsum("w,wia->ia", x18, u11) + s1new += einsum("w,wx->x", x18, s2) + u11new += einsum("w,wxia->xia", x18, u12) + del x18 + x19 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x19 += einsum("ia,bcda->ibcd", t1, v.vvvv) + t2new = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + t2new -= einsum("ia,jbca->ijcb", t1, x19) + del x19 + x20 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x20 += einsum("ia,bcja->ijbc", t1, v.vvov) + x29 += einsum("ijab->ijba", x20) + del x20 + x21 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x21 += einsum("ia,jkla->ijkl", t1, v.ooov) + x22 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x22 += einsum("ia,jkil->jkla", t1, x21) + x23 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x23 -= einsum("ia,jikb->jkba", t1, x22) + del x22 + x29 += einsum("ijab->ijba", x23) + del x23 + x60 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x60 += einsum("ijab,kijl->klab", t2, x21) + del x21 + x62 += einsum("ijab->ijba", x60) * -0.5 + del x60 + t2new += einsum("ijab->ijab", x62) * -1 + t2new += einsum("ijab->jiab", x62) + del x62 + x25 += einsum("ij->ji", f.oo) + x26 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x26 += einsum("ij,jkab->kiab", x25, t2) + del x25 + x29 += einsum("ijab->jiba", x26) + del x26 + t2new += einsum("ijab->ijab", x29) + t2new -= einsum("ijab->jiab", x29) + del x29 + x30 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x30 += einsum("ijab,jckb->ikac", t2, v.ovov) + x43 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x43 -= einsum("ijab->ijab", x30) + del x30 + x31 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x31 += einsum("ia,jbca->ijbc", t1, v.ovvv) + x32 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x32 -= einsum("ijab,kjcb->kiac", t2, x31) + x43 += einsum("ijab->ijab", x32) + del x32 + x47 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x47 -= einsum("ia,jkba->jikb", t1, x31) + x49 += einsum("ijka->kjia", x47) + del x47 + x50 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x50 += einsum("ia,ijkb->jkab", t1, x49) + del x49 + x54 += einsum("ijab->jiab", x50) + del x50 + x108 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x108 -= einsum("ijab->jiab", x31) + del x31 + x33 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x33 += einsum("ia,wba->wib", t1, g.bvv) + x36 += einsum("wia->wia", x33) + del x33 + x34 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x34 += einsum("wia,jiba->wjb", g.bov, t2) + x36 += einsum("wia->wia", x34) + del x34 + x36 += einsum("wai->wia", g.bvo) + x37 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x37 += einsum("wia,wjb->ijab", u11, x36) + del x36 + x43 += einsum("ijab->jiba", x37) + del x37 + x38 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x38 += einsum("ia,jbka->ijkb", t1, v.ovov) + x41 += einsum("ijka->ijka", x38) + del x38 + x39 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x39 -= einsum("ijab,jklb->ikla", t2, v.ooov) + x41 += einsum("ijka->ijka", x39) + del x39 + x42 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x42 += einsum("ia,jikb->jkab", t1, x41) + del x41 + x43 += einsum("ijab->ijab", x42) + del x42 + t2new += einsum("ijab->ijab", x43) + t2new -= einsum("ijab->ijba", x43) + t2new -= einsum("ijab->jiab", x43) + t2new += einsum("ijab->jiba", x43) + del x43 + x45 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x45 += einsum("ijab,jkbc->ikac", t2, v.oovv) + x46 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x46 += einsum("ijab,kjcb->kica", t2, x45) + del x45 + x54 -= einsum("ijab->ijab", x46) + del x46 + x51 = np.zeros((nvir, nvir), dtype=types[float]) + x51 += einsum("wia,wib->ab", g.bov, u11) + x52 += einsum("ab->ba", x51) + x53 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x53 += einsum("ab,ijbc->ijca", x52, t2) + del x52 + x54 += einsum("ijab->jiab", x53) + del x53 + t2new -= einsum("ijab->ijab", x54) + t2new += einsum("ijab->ijba", x54) + del x54 + x77 += einsum("ab->ba", x51) * 2 + x109 += einsum("ab->ba", x51) * 2 + del x51 + x55 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x55 += einsum("ijab,kcab->ijkc", t2, v.ovvv) + x56 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x56 += einsum("ia,jkib->jkab", t1, x55) + del x55 + x59 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x59 += einsum("ijab->ijab", x56) * 0.5 + del x56 + x57 = np.zeros((nvir, nvir), dtype=types[float]) + x57 -= einsum("ijab,ijbc->ac", t2, v.oovv) + x58 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x58 += einsum("ab,ijcb->ijca", x57, t2) + x59 += einsum("ijab->ijab", x58) * 0.5 + del x58 + t2new += einsum("ijab->ijab", x59) * -1 + t2new += einsum("ijab->ijba", x59) + del x59 + x77 += einsum("ab->ab", x57) + x109 += einsum("ab->ab", x57) + del x57 + x63 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x63 += einsum("ab,ijcb->ijac", f.vv, t2) + t2new += einsum("ijab->jiab", x63) + t2new -= einsum("ijab->jiba", x63) + del x63 + x64 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x64 += einsum("ijab,klab->ijkl", t2, v.oovv) + x66 += einsum("ijkl->lkji", x64) + x67 += einsum("ijkl->lkji", x64) * 0.5000000000000003 + del x64 + x66 += einsum("ijkl->jilk", v.oooo) * 2 + t2new += einsum("ijab,ijkl->lkba", t2, x66) * 0.25 + del x66 + x67 += einsum("ijkl->jilk", v.oooo) + x68 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x68 += einsum("ia,ijkl->lkja", t1, x67) + del x67 + x68 += einsum("iajk->kjia", v.ovoo) + t2new += einsum("ia,jkib->jkab", t1, x68) + del x68 + x69 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x69 += einsum("wia,ijab->wjb", u11, v.oovv) + x76 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x76 += einsum("wia->wia", x69) + x97 = np.zeros((nbos, nvir, nvir), dtype=types[float]) + x97 += einsum("ia,wib->wab", t1, x69) + x98 = np.zeros((nbos, nvir, nvir), dtype=types[float]) + x98 += einsum("wab->wba", x97) + del x97 + x102 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x102 += einsum("ia,wja->wij", t1, x69) + x103 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x103 += einsum("wij->wji", x102) + del x102 + s2new += einsum("wia,xia->wx", u11, x69) + del x69 + x70 = np.zeros((nbos, nbos), dtype=types[float]) + x70 += einsum("wia,xia->wx", gc.bov, u11) + x74 = np.zeros((nbos, nbos), dtype=types[float]) + x74 += einsum("wx->wx", x70) + del x70 + x71 = np.zeros((nbos, nbos), dtype=types[float]) + x71 += einsum("wia,xia->wx", g.bov, u11) + x72 = np.zeros((nbos, nbos), dtype=types[float]) + x72 += einsum("wx->xw", x71) + x90 = np.zeros((nbos, nbos, nocc, nvir), dtype=types[float]) + x90 += einsum("wx,ywia->xyia", x71, u12) + del x71 + x107 = np.zeros((nbos, nbos, nocc, nvir), dtype=types[float]) + x107 -= einsum("wxia->wxia", x90) + del x90 + x72 += einsum("wx->wx", w) + x73 = np.zeros((nbos, nbos), dtype=types[float]) + x73 += einsum("wx,yw->xy", s2, x72) + x74 += einsum("wx->wx", x73) + del x73 + s2new += einsum("wx->wx", x74) + s2new += einsum("wx->xw", x74) + del x74 + u11new += einsum("wx,xia->wia", x72, u11) + del x72 + x75 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x75 += einsum("wx,xia->wia", s2, g.bov) + x76 += einsum("wia->wia", x75) + x92 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x92 += einsum("wia->wia", x75) + del x75 + x76 += einsum("wia->wia", gc.bov) + x82 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x82 += einsum("ia,wja->wji", t1, x76) + u11new += einsum("wia,ijab->wjb", x76, t2) + del x76 + x77 += einsum("ab->ab", f.vv) * -2 + u11new += einsum("ab,wib->wia", x77, u11) * -0.5 + del x77 + x78 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x78 += einsum("wx,xij->wij", s2, g.boo) + x82 += einsum("wij->wij", x78) + x94 += einsum("wij->wij", x78) + del x78 + x79 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x79 += einsum("wia,xwja->xij", g.bov, u12) + x82 += einsum("wij->wij", x79) + x103 += einsum("wij->wij", x79) + del x79 + x80 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x80 -= einsum("wia,ijka->wjk", u11, v.ooov) + x82 += einsum("wij->wij", x80) + x103 += einsum("wij->wij", x80) + del x80 + x104 = np.zeros((nbos, nbos, nocc, nvir), dtype=types[float]) + x104 += einsum("wia,xij->wxja", u11, x103) + del x103 + x107 += einsum("wxia->wxia", x104) + del x104 + x81 += einsum("ia->ia", f.ov) + x82 += einsum("ia,wja->wij", x81, u11) + del x81 + x82 += einsum("wij->wij", gc.boo) + u11new -= einsum("ia,wij->wja", t1, x82) + del x82 + x83 += einsum("ij->ij", f.oo) * 2 + u11new += einsum("ij,wia->wja", x83, u11) * -0.5 + del x83 + x84 = np.zeros((nbos, nvir, nvir), dtype=types[float]) + x84 += einsum("wx,xab->wab", s2, g.bvv) + x86 = np.zeros((nbos, nvir, nvir), dtype=types[float]) + x86 += einsum("wab->wab", x84) + x100 = np.zeros((nbos, nvir, nvir), dtype=types[float]) + x100 += einsum("wab->wab", x84) + del x84 + x85 = np.zeros((nbos, nvir, nvir), dtype=types[float]) + x85 -= einsum("wia,ibac->wbc", u11, v.ovvv) + x86 -= einsum("wab->wab", x85) + x98 += einsum("wab->wba", x85) + del x85 + x86 += einsum("wab->wab", gc.bvv) + u11new += einsum("ia,wba->wib", t1, x86) + del x86 + x87 = np.zeros((nbos, nbos, nocc, nvir), dtype=types[float]) + x87 += einsum("wxia,ijab->wxjb", u12, v.oovv) + u12new += einsum("ijab,wxjb->xwia", t2, x87) + del x87 + x88 = np.zeros((nbos, nbos, nbos), dtype=types[float]) + x88 += einsum("wia,xyia->wxy", g.bov, u12) + u12new += einsum("wia,wxy->yxia", u11, x88) + del x88 + x89 = np.zeros((nbos, nbos, nocc, nvir), dtype=types[float]) + x89 += einsum("wx,yxia->ywia", w, u12) + x107 -= einsum("wxia->wxia", x89) + del x89 + x92 += einsum("wia->wia", gc.bov) + x93 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x93 += einsum("ia,wja->wij", t1, x92) + x94 += einsum("wij->wji", x93) + del x93 + x105 = np.zeros((nbos, nbos, nocc, nocc), dtype=types[float]) + x105 += einsum("wia,xja->wxij", u11, x92) + del x92 + x106 = np.zeros((nbos, nbos, nocc, nvir), dtype=types[float]) + x106 += einsum("ia,wxji->xwja", t1, x105) + del x105 + x107 += einsum("wxia->wxia", x106) + del x106 + x94 += einsum("wij->wij", gc.boo) + x95 = np.zeros((nbos, nbos, nocc, nvir), dtype=types[float]) + x95 += einsum("wia,xij->wxja", u11, x94) + del x94 + x107 += einsum("wxia->xwia", x95) + del x95 + x96 = np.zeros((nbos, nvir, nvir), dtype=types[float]) + x96 += einsum("wia,xwib->xab", g.bov, u12) + x98 += einsum("wab->wab", x96) + del x96 + x99 = np.zeros((nbos, nbos, nocc, nvir), dtype=types[float]) + x99 += einsum("wia,xab->wxib", u11, x98) + del x98 + x107 += einsum("wxia->wxia", x99) + del x99 + x100 += einsum("wab->wab", gc.bvv) + x101 = np.zeros((nbos, nbos, nocc, nvir), dtype=types[float]) + x101 += einsum("wia,xba->wxib", u11, x100) + del x100 + x107 -= einsum("wxia->xwia", x101) + del x101 + u12new -= einsum("wxia->wxia", x107) + u12new -= einsum("wxia->xwia", x107) + del x107 + x108 += einsum("iajb->ijab", v.ovov) + u12new -= einsum("wxia,ijba->xwjb", u12, x108) + del x108 + x109 += einsum("ab->ab", f.vv) * -2 + u12new += einsum("ab,wxib->xwia", x109, u12) * -0.5 + del x109 + x110 -= einsum("ijka->jika", v.ooov) + x111 -= einsum("wxia,ijka->xwjk", u12, x110) + del x110 + u12new -= einsum("ia,wxij->xwja", t1, x111) + del x111 + t1new += einsum("w,wai->ia", s1, g.bvo) + t1new += einsum("ai->ia", f.vo) + t1new += einsum("ijab,jcab->ic", t2, v.ovvv) * -0.5 + t1new -= einsum("ia,ibja->jb", t1, v.ovov) + t1new += einsum("wab,wib->ia", g.bvv, u11) + t2new -= einsum("ia,ibjk->kjba", t1, v.ovoo) + t2new += einsum("abij->jiba", v.vvoo) + t2new += einsum("ijab,cdab->jidc", t2, v.vvvv) * 0.5 + s1new += einsum("w,xw->x", s1, w) + s1new += einsum("ia,wia->w", t1, gc.bov) + s1new += einsum("w->w", G) + s1new += einsum("wia,xwia->x", g.bov, u12) + u11new += einsum("wx,xai->wia", s2, g.bvo) + u11new += einsum("wai->wia", gc.bvo) + u11new -= einsum("wia,ibja->wjb", u11, v.ovov) + u11new += einsum("wab,xwib->xia", g.bvv, u12) + + return {"t1new": t1new, "t2new": t2new, "s1new": s1new, "s2new": s2new, "u11new": u11new, "u12new": u12new} + +def update_lams(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, s2=None, u11=None, u12=None, l1=None, l2=None, ls1=None, ls2=None, lu11=None, lu12=None, **kwargs): + # Get boson coupling creation array: + gc = Namespace( + boo=g.boo.transpose(0, 2, 1), + bov=g.bvo.transpose(0, 2, 1), + bvo=g.bov.transpose(0, 2, 1), + bvv=g.bvv.transpose(0, 2, 1), + ) + + # L1, L2, LS1, LS2, LU11 and LU12 amplitudes + x0 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x0 += einsum("abij,klab->ijkl", l2, t2) + x15 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x15 += einsum("ijkl->jilk", x0) * -1 + x134 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x134 += einsum("ijkl->jilk", x0) * -0.5 + l1new = np.zeros((nvir, nocc), dtype=types[float]) + l1new += einsum("ijka,lkij->al", v.ooov, x0) * -0.25 + del x0 + x1 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x1 += einsum("ia,bajk->jkib", t1, l2) + x2 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x2 += einsum("ia,jkla->jkil", t1, x1) + x15 += einsum("ijkl->ijlk", x2) * 2.0000000000000013 + x16 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x16 += einsum("ia,ijkl->jlka", t1, x15) * -0.5 + del x15 + x134 += einsum("ijkl->ijlk", x2) + l2new = np.zeros((nvir, nvir, nocc, nocc), dtype=types[float]) + l2new += einsum("ijab,klij->balk", v.oovv, x134) * -0.5 + del x134 + l1new += einsum("ijka,lkji->al", v.ooov, x2) * 0.5 + del x2 + x16 += einsum("ijab,kjlb->klia", t2, x1) * 2 + x47 = np.zeros((nocc, nvir), dtype=types[float]) + x47 += einsum("ijab,ijka->kb", t2, x1) + x56 = np.zeros((nocc, nvir), dtype=types[float]) + x56 += einsum("ia->ia", x47) * 0.5 + x149 = np.zeros((nocc, nvir), dtype=types[float]) + x149 += einsum("ia->ia", x47) + del x47 + l2new += einsum("iabc,jkia->cbkj", v.ovvv, x1) + x3 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x3 += einsum("ia,jkba->ijkb", t1, v.oovv) + x4 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x4 += einsum("ijka->ikja", x3) * -1 + x9 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x9 += einsum("ijka->kjia", x3) * 0.5000000000000003 + x20 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x20 += einsum("ijka->kjia", x3) + x89 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x89 -= einsum("ai,ijkb->kjab", l1, x3) + x98 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x98 += einsum("ijab->ijab", x89) + del x89 + x104 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x104 -= einsum("ijka->ikja", x3) + x132 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x132 += einsum("ijka->kjia", x3) * 0.5 + x4 += einsum("ijka->kjia", v.ooov) + x13 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x13 += einsum("ijab,kila->lkjb", t2, x4) + x42 = np.zeros((nocc, nvir), dtype=types[float]) + x42 += einsum("ijab,kija->kb", t2, x4) + x142 = np.zeros((nocc, nvir), dtype=types[float]) + x142 += einsum("ijab,kija->kb", t2, x4) * 0.5 + del x4 + x148 = np.zeros((nocc, nvir), dtype=types[float]) + x148 += einsum("ia->ia", x142) + del x142 + x5 = np.zeros((nocc, nvir), dtype=types[float]) + x5 += einsum("w,wia->ia", s1, g.bov) + x7 = np.zeros((nocc, nvir), dtype=types[float]) + x7 += einsum("ia->ia", x5) + x64 = np.zeros((nocc, nvir), dtype=types[float]) + x64 += einsum("ia->ia", x5) + x96 = np.zeros((nocc, nvir), dtype=types[float]) + x96 += einsum("ia->ia", x5) + del x5 + x6 = np.zeros((nocc, nvir), dtype=types[float]) + x6 += einsum("ia,jiba->jb", t1, v.oovv) + x7 += einsum("ia->ia", x6) + x64 += einsum("ia->ia", x6) + x92 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x92 -= einsum("ia,jkib->kjba", x6, x1) + x98 -= einsum("ijab->ijab", x92) + del x92 + x107 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x107 += einsum("ai,jb->ijab", l1, x6) + x114 = np.zeros((nocc, nocc), dtype=types[float]) + x114 += einsum("ia,ja->ij", t1, x6) + del x6 + x115 = np.zeros((nocc, nocc), dtype=types[float]) + x115 += einsum("ij->ji", x114) + del x114 + x7 += einsum("ia->ia", f.ov) + x13 += einsum("ia,jkab->ikjb", x7, t2) * -0.5 + x24 = np.zeros((nbos, nbos, nocc, nocc), dtype=types[float]) + x24 += einsum("ia,wxja->xwij", x7, u12) * 0.5 + x35 = np.zeros((nocc, nocc), dtype=types[float]) + x35 += einsum("ia,ja->ij", t1, x7) + x36 = np.zeros((nocc, nocc), dtype=types[float]) + x36 += einsum("ij->ji", x35) + del x35 + x42 += einsum("ia,ijab->jb", x7, t2) * -2 + x74 = np.zeros((nbos, nbos), dtype=types[float]) + x74 += einsum("ia,wxia->xw", x7, u12) + x137 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x137 += einsum("ia,wja->wij", x7, u11) + x143 = np.zeros((nocc, nvir), dtype=types[float]) + x143 += einsum("ia,ijab->jb", x7, t2) + x148 += einsum("ia->ia", x143) * -1 + del x143 + lu11new = np.zeros((nbos, nvir, nocc), dtype=types[float]) + lu11new += einsum("w,ia->wai", ls1, x7) * 2 + lu12new = np.zeros((nbos, nbos, nvir, nocc), dtype=types[float]) + lu12new += einsum("wx,ia->xwai", ls2, x7) * 2 + del x7 + x8 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x8 += einsum("ijab,klab->ijkl", t2, v.oovv) + x10 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x10 += einsum("ijkl->lkji", x8) + x133 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x133 += einsum("ijkl->lkji", x8) + del x8 + x9 += einsum("ijka->jika", v.ooov) * -1 + x10 += einsum("ia,jkla->kjli", t1, x9) * -4 + del x9 + x10 += einsum("ijkl->jilk", v.oooo) * 2 + x13 += einsum("ia,ijkl->jlka", t1, x10) * -0.25 + del x10 + x11 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x11 += einsum("ia,jbca->ijbc", t1, v.ovvv) + x12 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x12 += einsum("ijab->jiab", x11) * -0.5 + x19 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x19 -= einsum("ijab->jiab", x11) + x102 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x102 += einsum("ijab->ijab", x11) + del x11 + x12 += einsum("iajb->ijab", v.ovov) + x13 += einsum("ia,jkba->jikb", t1, x12) * -1 + del x12 + x13 += einsum("iajk->ikja", v.ovoo) * -0.5 + x13 += einsum("ijab,kcab->kjic", t2, v.ovvv) * -0.25 + l1new += einsum("abij,kija->bk", l2, x13) + del x13 + x14 = np.zeros((nbos, nbos, nocc, nocc), dtype=types[float]) + x14 += einsum("ia,wxaj->wxji", t1, lu12) + x16 += einsum("wxia,wxjk->jkia", u12, x14) * -1 + x46 = np.zeros((nocc, nvir), dtype=types[float]) + x46 += einsum("wxia,wxij->ja", u12, x14) + x56 += einsum("ia->ia", x46) * 0.5 + x149 += einsum("ia->ia", x46) + del x46 + x155 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x155 += einsum("wia,xwij->xja", u11, x14) + x156 = np.zeros((nbos, nbos), dtype=types[float]) + x156 += einsum("wia,xia->wx", g.bov, x155) + del x155 + x162 = np.zeros((nbos, nbos), dtype=types[float]) + x162 -= einsum("wx->wx", x156) + del x156 + lu12new += einsum("ijka,wxkj->xwai", v.ooov, x14) + lu12new -= einsum("wxij,ikja->xwak", x14, x3) + del x3 + x16 += einsum("ai,jkba->ikjb", l1, t2) * -1 + l1new += einsum("ijab,kija->bk", v.oovv, x16) * -0.5 + del x16 + x17 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x17 += einsum("wxai,wxjb->ijab", lu12, u12) + x17 += einsum("abij,kicb->jkac", l2, t2) * -2 + l1new += einsum("iabc,jiab->cj", v.ovvv, x17) * 0.5 + del x17 + x18 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x18 += einsum("abic->ibac", v.vvov) * -1 + x18 += einsum("ia,bcda->icbd", t1, v.vvvv) + l1new += einsum("abij,iabc->cj", l2, x18) * 0.5 + del x18 + x19 += einsum("iajb->ijab", v.ovov) + l1new += einsum("ijka,kiab->bj", x1, x19) + lu12new -= einsum("wxai,jiab->xwbj", lu12, x19) + del x19 + x20 += einsum("ijka->jika", v.ooov) * -1 + x24 += einsum("wxia,ijka->xwjk", u12, x20) * -0.5 + del x20 + x21 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x21 += einsum("wx,wia->xia", s2, g.bov) + x23 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x23 += einsum("wia->wia", x21) + del x21 + x22 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x22 += einsum("wia,jiba->wjb", u11, v.oovv) + x23 += einsum("wia->wia", x22) + x65 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x65 += einsum("wia->wia", x22) + x71 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x71 += einsum("wia->wia", x22) * 0.5 + x100 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x100 += einsum("wai,wjb->ijab", lu11, x22) + x107 += einsum("ijab->ijab", x100) + del x100 + x136 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x136 += einsum("wia->wia", x22) + del x22 + x23 += einsum("wia->wia", gc.bov) + x24 += einsum("wia,xja->wxji", u11, x23) + l1new += einsum("wxai,wxji->aj", lu12, x24) * -1 + del x24 + x141 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x141 += einsum("wia,ijab->wjb", x23, t2) + del x23 + x25 = np.zeros((nocc, nvir), dtype=types[float]) + x25 += einsum("w,wai->ia", s1, g.bvo) + x42 += einsum("ia->ia", x25) * -2 + x148 += einsum("ia->ia", x25) * -1 + del x25 + x26 = np.zeros((nocc, nvir), dtype=types[float]) + x26 += einsum("wab,wib->ia", g.bvv, u11) + x42 += einsum("ia->ia", x26) * -2 + x148 += einsum("ia->ia", x26) * -1 + del x26 + x27 = np.zeros((nocc, nvir), dtype=types[float]) + x27 += einsum("ia,ibja->jb", t1, v.ovov) + x42 += einsum("ia->ia", x27) * 2 + x148 += einsum("ia->ia", x27) + del x27 + x28 = np.zeros((nocc, nvir), dtype=types[float]) + x28 -= einsum("ijab,icab->jc", t2, v.ovvv) + x42 += einsum("ia->ia", x28) + x148 += einsum("ia->ia", x28) * 0.5 + del x28 + x29 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x29 += einsum("ia,wja->wji", t1, g.bov) + x30 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x30 += einsum("wij->wij", x29) + x66 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x66 += einsum("wij->wij", x29) + del x29 + x30 += einsum("wij->wij", g.boo) + x42 += einsum("wia,wij->ja", u11, x30) * 2 + x137 += einsum("wx,wij->xij", s2, x30) + x141 += einsum("wij,wxia->xja", x30, u12) * -1 + x144 = np.zeros((nocc, nvir), dtype=types[float]) + x144 += einsum("wia,wij->ja", u11, x30) + del x30 + x148 += einsum("ia->ia", x144) + del x144 + x31 = np.zeros((nocc, nocc), dtype=types[float]) + x31 += einsum("w,wij->ij", s1, g.boo) + x36 += einsum("ij->ij", x31) + x110 = np.zeros((nocc, nocc), dtype=types[float]) + x110 += einsum("ij->ij", x31) + del x31 + x32 = np.zeros((nocc, nocc), dtype=types[float]) + x32 += einsum("wia,wja->ij", g.bov, u11) + x36 += einsum("ij->ij", x32) + x110 += einsum("ij->ij", x32) + del x32 + x33 = np.zeros((nocc, nocc), dtype=types[float]) + x33 += einsum("ia,jika->jk", t1, v.ooov) + x36 += einsum("ij->ij", x33) + x115 += einsum("ij->ij", x33) + del x33 + x116 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x116 += einsum("ij,abjk->kiab", x115, l2) + del x115 + x117 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x117 -= einsum("ijab->ijba", x116) + del x116 + x34 = np.zeros((nocc, nocc), dtype=types[float]) + x34 += einsum("ijab,ikab->jk", t2, v.oovv) + x36 += einsum("ij->ji", x34) * 0.5 + x121 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x121 += einsum("ij,abki->kjab", x34, l2) + del x34 + x124 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x124 += einsum("ijab->ijba", x121) * -0.5 + del x121 + x36 += einsum("ij->ij", f.oo) + x42 += einsum("ia,ij->ja", t1, x36) * 2 + x141 += einsum("ij,wia->wja", x36, u11) * -1 + x145 = np.zeros((nocc, nvir), dtype=types[float]) + x145 += einsum("ia,ij->ja", t1, x36) + x148 += einsum("ia->ia", x145) + del x145 + l1new += einsum("ai,ji->aj", l1, x36) * -1 + lu12new += einsum("ij,wxaj->xwai", x36, lu12) * -1 + del x36 + x37 = np.zeros((nvir, nvir), dtype=types[float]) + x37 += einsum("w,wab->ab", s1, g.bvv) + x39 = np.zeros((nvir, nvir), dtype=types[float]) + x39 += einsum("ab->ab", x37) + x80 = np.zeros((nvir, nvir), dtype=types[float]) + x80 += einsum("ab->ab", x37) + x94 = np.zeros((nvir, nvir), dtype=types[float]) + x94 += einsum("ab->ab", x37) + x135 = np.zeros((nvir, nvir), dtype=types[float]) + x135 += einsum("ab->ab", x37) * -1 + del x37 + x38 = np.zeros((nvir, nvir), dtype=types[float]) + x38 += einsum("ia,ibca->bc", t1, v.ovvv) + x39 += einsum("ab->ab", x38) * -1 + x80 -= einsum("ab->ab", x38) + x91 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x91 -= einsum("ab,caij->jicb", x38, l2) + x98 -= einsum("ijab->ijab", x91) + del x91 + x135 += einsum("ab->ab", x38) + del x38 + x39 += einsum("ab->ab", f.vv) + x42 += einsum("ia,ba->ib", t1, x39) * -2 + x146 = np.zeros((nocc, nvir), dtype=types[float]) + x146 += einsum("ia,ba->ib", t1, x39) + del x39 + x148 += einsum("ia->ia", x146) * -1 + del x146 + x40 = np.zeros((nbos), dtype=types[float]) + x40 += einsum("ia,wia->w", t1, g.bov) + x41 = np.zeros((nbos), dtype=types[float]) + x41 += einsum("w->w", x40) + x85 = np.zeros((nbos), dtype=types[float]) + x85 += einsum("w->w", x40) + del x40 + x41 += einsum("w->w", G) + x42 += einsum("w,wia->ia", x41, u11) * -2 + x141 += einsum("w,wxia->xia", x41, u12) + x147 = np.zeros((nocc, nvir), dtype=types[float]) + x147 += einsum("w,wia->ia", x41, u11) + del x41 + x148 += einsum("ia->ia", x147) * -1 + del x147 + x42 += einsum("ai->ia", f.vo) * -2 + l1new += einsum("ia,abij->bj", x42, l2) * -0.5 + del x42 + x43 = np.zeros((nocc, nvir), dtype=types[float]) + x43 += einsum("w,wia->ia", ls1, u11) + x56 += einsum("ia->ia", x43) * -1 + x149 += einsum("ia->ia", x43) * -2 + del x43 + x44 = np.zeros((nocc, nvir), dtype=types[float]) + x44 += einsum("wx,wxia->ia", ls2, u12) + x56 += einsum("ia->ia", x44) * -0.5 + x149 += einsum("ia->ia", x44) * -1 + del x44 + x45 = np.zeros((nocc, nvir), dtype=types[float]) + x45 += einsum("ai,jiba->jb", l1, t2) + x56 += einsum("ia->ia", x45) * -1 + x149 += einsum("ia->ia", x45) * -2 + del x45 + x48 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x48 += einsum("ia,waj->wji", t1, lu11) + x50 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x50 += einsum("wij->wij", x48) + x69 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x69 += einsum("wij->wij", x48) + x49 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x49 += einsum("wia,wxaj->xji", u11, lu12) + x50 += einsum("wij->wij", x49) + x56 += einsum("wia,wij->ja", u11, x50) + x149 += einsum("wia,wij->ja", u11, x50) * 2 + del x50 + x69 += einsum("wij->wij", x49) + x70 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x70 += einsum("wx,wij->xij", s2, x69) + x170 = np.zeros((nbos, nbos, nocc, nvir), dtype=types[float]) + x170 += einsum("wia,xji->wxja", g.bov, x69) + x171 = np.zeros((nbos, nbos, nocc, nvir), dtype=types[float]) + x171 += einsum("wxia->wxia", x170) + del x170 + x51 = np.zeros((nocc, nocc), dtype=types[float]) + x51 += einsum("ai,ja->ij", l1, t1) + x55 = np.zeros((nocc, nocc), dtype=types[float]) + x55 += einsum("ij->ij", x51) * 2 + x79 = np.zeros((nocc, nocc), dtype=types[float]) + x79 += einsum("ij->ij", x51) + x112 = np.zeros((nocc, nocc), dtype=types[float]) + x112 += einsum("ij->ij", x51) + del x51 + x52 = np.zeros((nocc, nocc), dtype=types[float]) + x52 += einsum("wai,wja->ij", lu11, u11) + x55 += einsum("ij->ij", x52) * 2 + x79 += einsum("ij->ij", x52) + x112 += einsum("ij->ij", x52) + del x52 + x113 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x113 += einsum("ij,jkab->kiab", x112, v.oovv) + del x112 + x117 += einsum("ijab->jiba", x113) + del x113 + x53 = np.zeros((nocc, nocc), dtype=types[float]) + x53 += einsum("wxai,wxja->ij", lu12, u12) + x55 += einsum("ij->ij", x53) + x79 += einsum("ij->ij", x53) * 0.5 + x122 = np.zeros((nocc, nocc), dtype=types[float]) + x122 += einsum("ij->ij", x53) + del x53 + x54 = np.zeros((nocc, nocc), dtype=types[float]) + x54 += einsum("abij,ikab->jk", l2, t2) + x55 += einsum("ij->ij", x54) + x56 += einsum("ia,ij->ja", t1, x55) * 0.5 + x149 += einsum("ia,ij->ja", t1, x55) + l1new += einsum("ij,jkia->ak", x55, v.ooov) * -0.5 + ls1new = np.zeros((nbos), dtype=types[float]) + ls1new += einsum("ij,wji->w", x55, g.boo) * -0.5 + del x55 + x79 += einsum("ij->ij", x54) * 0.5 + x122 += einsum("ij->ij", x54) + del x54 + x123 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x123 += einsum("ij,jkab->kiab", x122, v.oovv) * 0.5 + del x122 + x124 += einsum("ijab->jiba", x123) * -1 + del x123 + l2new += einsum("ijab->abij", x124) * -1 + l2new += einsum("ijab->abji", x124) + del x124 + x56 += einsum("ia->ia", t1) * -1 + l1new += einsum("ia,ijab->bj", x56, v.oovv) * -1 + del x56 + x57 = np.zeros((nvir, nvir), dtype=types[float]) + x57 += einsum("ai,ib->ab", l1, t1) + x61 = np.zeros((nvir, nvir), dtype=types[float]) + x61 += einsum("ab->ab", x57) + ls1new += einsum("ab,wab->w", x57, g.bvv) + del x57 + x58 = np.zeros((nvir, nvir), dtype=types[float]) + x58 += einsum("wai,wib->ab", lu11, u11) + x61 += einsum("ab->ab", x58) + x90 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x90 -= einsum("ab,ijcb->jiac", x58, v.oovv) + x98 += einsum("ijab->ijab", x90) + del x90 + x150 = np.zeros((nvir, nvir), dtype=types[float]) + x150 += einsum("ab->ab", x58) * 2 + del x58 + x59 = np.zeros((nvir, nvir), dtype=types[float]) + x59 += einsum("wxai,wxib->ab", lu12, u12) + x61 += einsum("ab->ab", x59) * 0.5 + x127 = np.zeros((nvir, nvir), dtype=types[float]) + x127 += einsum("ab->ab", x59) + x150 += einsum("ab->ab", x59) + del x59 + x60 = np.zeros((nvir, nvir), dtype=types[float]) + x60 -= einsum("abij,ijbc->ac", l2, t2) + x61 += einsum("ab->ab", x60) * 0.5 + l1new += einsum("ab,iabc->ci", x61, v.ovvv) * -1 + del x61 + x127 += einsum("ab->ab", x60) + x128 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x128 += einsum("ab,ijbc->ijca", x127, v.oovv) * 0.5 + del x127 + x129 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x129 += einsum("ijab->jiba", x128) * -1 + del x128 + x150 += einsum("ab->ab", x60) + del x60 + ls1new += einsum("ab,wab->w", x150, g.bvv) * 0.5 + del x150 + x62 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x62 += einsum("wia,wxja->xij", g.bov, u12) + x67 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x67 += einsum("wij->wij", x62) + x137 += einsum("wij->wij", x62) + del x62 + x63 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x63 += einsum("wia,jika->wjk", u11, v.ooov) + x67 += einsum("wij->wij", x63) + x137 += einsum("wij->wij", x63) + del x63 + x64 += einsum("ia->ia", f.ov) + x67 += einsum("ia,wja->wij", x64, u11) + x84 = np.zeros((nbos), dtype=types[float]) + x84 += einsum("ia,wia->w", x64, u11) + x87 = np.zeros((nbos), dtype=types[float]) + x87 += einsum("w->w", x84) + del x84 + l1new += einsum("ia,ji->aj", x64, x79) * -1 + del x79 + lu12new -= einsum("ia,wxji->xwaj", x64, x14) + del x64 + del x14 + x65 += einsum("wia->wia", gc.bov) + x67 += einsum("ia,wja->wji", t1, x65) + l1new -= einsum("wia,wji->aj", x65, x69) + del x65 + del x69 + x66 += einsum("wij->wij", g.boo) + x67 += einsum("wx,wij->xij", s2, x66) + x160 = np.zeros((nbos, nbos), dtype=types[float]) + x160 += einsum("wij,xji->wx", x48, x66) + del x48 + x162 -= einsum("wx->xw", x160) + del x160 + x161 = np.zeros((nbos, nbos), dtype=types[float]) + x161 += einsum("wij,xji->wx", x49, x66) + del x49 + x162 -= einsum("wx->xw", x161) + del x161 + x169 = np.zeros((nbos, nbos, nocc, nvir), dtype=types[float]) + x169 += einsum("wai,xji->wxja", lu11, x66) + x171 += einsum("wxia->xwia", x169) + del x169 + x67 += einsum("wij->wij", gc.boo) + l1new -= einsum("wai,wji->aj", lu11, x67) + del x67 + x68 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x68 += einsum("wia,baji->wjb", u11, l2) + x70 += einsum("ia,wja->wji", t1, x68) + x76 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x76 += einsum("wia->wia", x68) + l1new -= einsum("wij,wja->ai", x66, x68) + del x66 + del x68 + x70 += einsum("ai,wja->wij", l1, u11) + x70 += einsum("wai,wxja->xij", lu11, u12) + l1new -= einsum("wia,wji->aj", g.bov, x70) + del x70 + x71 += einsum("wia->wia", gc.bov) + x74 += einsum("wia,xia->xw", u11, x71) * 2 + del x71 + x72 = np.zeros((nbos, nbos), dtype=types[float]) + x72 += einsum("wia,xia->wx", g.bov, u11) + x73 = np.zeros((nbos, nbos), dtype=types[float]) + x73 += einsum("wx->xw", x72) + x152 = np.zeros((nbos, nbos), dtype=types[float]) + x152 += einsum("wx,yx->yw", ls2, x72) + x162 += einsum("wx->wx", x152) + del x152 + x168 = np.zeros((nbos, nbos, nocc, nvir), dtype=types[float]) + x168 += einsum("wx,xyai->wyia", x72, lu12) + del x72 + x171 -= einsum("wxia->wxia", x168) + del x168 + x73 += einsum("wx->wx", w) + x74 += einsum("wx,yw->xy", s2, x73) * 2 + l1new += einsum("wx,xwai->ai", x74, lu12) * 0.5 + del x74 + x141 += einsum("wx,xia->wia", x73, u11) + del x73 + x75 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x75 += einsum("wx,xai->wia", s2, lu11) + x76 += einsum("wia->wia", x75) + del x75 + x106 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x106 += einsum("wia,wjb->ijab", g.bov, x76) + x107 += einsum("ijab->ijab", x106) + del x106 + l1new += einsum("wab,wia->bi", g.bvv, x76) + del x76 + x77 = np.zeros((nbos, nvir, nvir), dtype=types[float]) + x77 += einsum("wia,ibca->wbc", u11, v.ovvv) + x78 = np.zeros((nbos, nvir, nvir), dtype=types[float]) + x78 -= einsum("wab->wab", x77) + x138 = np.zeros((nbos, nvir, nvir), dtype=types[float]) + x138 += einsum("wab->wab", x77) * -1 + del x77 + x78 += einsum("wab->wab", gc.bvv) + l1new += einsum("wai,wab->bi", lu11, x78) + del x78 + x80 += einsum("ab->ab", f.vv) + l1new += einsum("ai,ab->bi", l1, x80) + del x80 + x81 = np.zeros((nbos), dtype=types[float]) + x81 += einsum("w,xw->x", s1, w) + x87 += einsum("w->w", x81) + del x81 + x82 = np.zeros((nbos), dtype=types[float]) + x82 += einsum("ia,wia->w", t1, gc.bov) + x87 += einsum("w->w", x82) + del x82 + x83 = np.zeros((nbos), dtype=types[float]) + x83 += einsum("wia,wxia->x", g.bov, u12) + x87 += einsum("w->w", x83) + del x83 + x85 += einsum("w->w", G) + x86 = np.zeros((nbos), dtype=types[float]) + x86 += einsum("w,wx->x", x85, s2) + x87 += einsum("w->w", x86) + del x86 + x162 += einsum("w,x->xw", ls1, x85) + del x85 + x87 += einsum("w->w", G) + l1new += einsum("w,wai->ai", x87, lu11) + ls1new += einsum("w,wx->x", x87, ls2) + del x87 + x88 = np.zeros((nbos), dtype=types[float]) + x88 += einsum("w->w", s1) + x88 += einsum("w,xw->x", ls1, s2) + x88 += einsum("ai,wia->w", l1, u11) + x88 += einsum("wai,wxia->x", lu11, u12) + l1new += einsum("w,wia->ai", x88, g.bov) + del x88 + x93 = np.zeros((nvir, nvir), dtype=types[float]) + x93 += einsum("wia,wib->ab", g.bov, u11) + x94 -= einsum("ab->ba", x93) + x95 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x95 += einsum("ab,acij->ijcb", x94, l2) + del x94 + x98 -= einsum("ijab->jiba", x95) + del x95 + x135 += einsum("ab->ba", x93) + del x93 + x96 += einsum("ia->ia", f.ov) + x97 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x97 += einsum("ia,jkib->jkba", x96, x1) + x98 -= einsum("ijab->jiba", x97) + del x97 + l2new += einsum("ijab->abij", x98) + l2new -= einsum("ijab->baij", x98) + del x98 + x107 += einsum("ai,jb->jiba", l1, x96) + x109 = np.zeros((nocc, nocc), dtype=types[float]) + x109 += einsum("ia,ja->ij", t1, x96) + del x96 + x110 += einsum("ij->ji", x109) + del x109 + x99 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x99 += einsum("wia,wbj->ijab", gc.bov, lu11) + x107 += einsum("ijab->ijab", x99) + del x99 + x101 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x101 -= einsum("ijab,ikca->jkbc", t2, v.oovv) + x102 += einsum("ijab->ijab", x101) + del x101 + x102 -= einsum("iajb->jiab", v.ovov) + x103 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x103 += einsum("abij,ikac->jkbc", l2, x102) + del x102 + x107 += einsum("ijab->ijab", x103) + del x103 + x104 += einsum("ijka->kjia", v.ooov) + x105 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x105 += einsum("ijka,iklb->jlab", x1, x104) + del x104 + del x1 + x107 -= einsum("ijab->ijab", x105) + del x105 + l2new += einsum("ijab->abij", x107) + l2new -= einsum("ijab->baij", x107) + l2new -= einsum("ijab->abji", x107) + l2new += einsum("ijab->baji", x107) + del x107 + x108 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x108 += einsum("ai,jabc->ijbc", l1, v.ovvv) + x117 += einsum("ijab->ijba", x108) + del x108 + x110 += einsum("ij->ij", f.oo) + x111 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x111 += einsum("ij,abjk->kiab", x110, l2) + del x110 + x117 += einsum("ijab->jiba", x111) + del x111 + l2new += einsum("ijab->abij", x117) + l2new -= einsum("ijab->abji", x117) + del x117 + x118 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x118 += einsum("ai,jkib->jkab", l1, v.ooov) + x120 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x120 -= einsum("ijab->jiab", x118) + del x118 + x119 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x119 += einsum("ab,caij->ijbc", f.vv, l2) + x120 -= einsum("ijab->jiab", x119) + del x119 + l2new -= einsum("ijab->abij", x120) + l2new += einsum("ijab->baij", x120) + del x120 + x125 = np.zeros((nvir, nvir), dtype=types[float]) + x125 += einsum("ijab,ijac->bc", t2, v.oovv) + x126 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x126 -= einsum("ab,caij->jicb", x125, l2) + x129 += einsum("ijab->ijab", x126) * 0.5 + del x126 + l2new += einsum("ijab->abij", x129) * -1 + l2new += einsum("ijab->baij", x129) + del x129 + x135 += einsum("ab->ab", x125) * 0.5 + del x125 + x130 = np.zeros((nbos, nbos, nocc, nvir), dtype=types[float]) + x130 += einsum("wxia,ijab->wxjb", u12, v.oovv) + x131 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x131 += einsum("wxai,wxjb->ijab", lu12, x130) + del x130 + l2new += einsum("ijab->abij", x131) * 0.5 + l2new += einsum("ijab->baij", x131) * -0.5 + l2new += einsum("ijab->abji", x131) * -0.5 + l2new += einsum("ijab->baji", x131) * 0.5 + del x131 + x132 += einsum("ijka->jika", v.ooov) * -1 + x133 += einsum("ia,jkla->kjli", t1, x132) * -4 + del x132 + x133 += einsum("ijkl->jilk", v.oooo) * 2 + l2new += einsum("abij,klij->balk", l2, x133) * 0.25 + del x133 + x135 += einsum("ab->ab", f.vv) * -1 + x141 += einsum("ab,wib->wia", x135, u11) * -1 + lu12new += einsum("ab,wxai->xwbi", x135, lu12) * -1 + del x135 + x136 += einsum("wia->wia", gc.bov) + x137 += einsum("ia,wja->wji", t1, x136) + del x136 + x137 += einsum("wij->wij", gc.boo) + x141 += einsum("ia,wij->wja", t1, x137) * -1 + del x137 + x138 += einsum("wab->wab", gc.bvv) + x141 += einsum("ia,wba->wib", t1, x138) + del x138 + x139 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x139 += einsum("ia,wba->wib", t1, g.bvv) + x140 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x140 += einsum("wia->wia", x139) + x158 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x158 += einsum("wia->wia", x139) + del x139 + x140 += einsum("wai->wia", g.bvo) + x141 += einsum("wx,wia->xia", s2, x140) + del x140 + x141 += einsum("wai->wia", gc.bvo) + x141 += einsum("wab,wxib->xia", g.bvv, u12) + x141 += einsum("wia,ibja->wjb", u11, v.ovov) * -1 + ls1new += einsum("wia,wxai->x", x141, lu12) + del x141 + x148 += einsum("ai->ia", f.vo) * -1 + ls1new += einsum("ia,wai->w", x148, lu11) * -1 + ls2new = np.zeros((nbos, nbos), dtype=types[float]) + ls2new += einsum("ia,wxai->xw", x148, lu12) * -1 + del x148 + x149 += einsum("ia->ia", t1) * -2 + ls1new += einsum("ia,wia->w", x149, g.bov) * -0.5 + del x149 + x151 = np.zeros((nbos, nbos), dtype=types[float]) + x151 += einsum("wx,xy->wy", ls2, w) + x162 += einsum("wx->wx", x151) + del x151 + x153 = np.zeros((nbos, nvir, nvir), dtype=types[float]) + x153 += einsum("wia,wxbi->xba", u11, lu12) + x154 = np.zeros((nbos, nbos), dtype=types[float]) + x154 += einsum("wab,xab->wx", g.bvv, x153) + x162 += einsum("wx->wx", x154) + del x154 + x167 = np.zeros((nbos, nbos, nocc, nvir), dtype=types[float]) + x167 += einsum("wia,xba->wxib", g.bov, x153) + del x153 + x171 += einsum("wxia->wxia", x167) + del x167 + x157 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x157 += einsum("wia,jiba->wjb", g.bov, t2) + x158 += einsum("wia->wia", x157) + del x157 + x158 += einsum("wai->wia", g.bvo) + x159 = np.zeros((nbos, nbos), dtype=types[float]) + x159 += einsum("wai,xia->wx", lu11, x158) + del x158 + x162 += einsum("wx->xw", x159) + del x159 + ls2new += einsum("wx->wx", x162) + ls2new += einsum("wx->xw", x162) + del x162 + x163 = np.zeros((nbos, nbos, nocc, nvir), dtype=types[float]) + x163 += einsum("wxai,ijab->wxjb", lu12, t2) + lu12new += einsum("ijab,wxia->xwbj", v.oovv, x163) + del x163 + x164 = np.zeros((nbos, nbos, nbos), dtype=types[float]) + x164 += einsum("wia,xyai->xyw", u11, lu12) + lu12new += einsum("wia,xyw->yxai", g.bov, x164) + del x164 + x165 = np.zeros((nbos, nbos, nocc, nvir), dtype=types[float]) + x165 += einsum("wx,wyai->yxia", w, lu12) + x171 -= einsum("wxia->wxia", x165) + del x165 + x166 = np.zeros((nbos, nbos, nocc, nvir), dtype=types[float]) + x166 += einsum("wab,xai->wxib", g.bvv, lu11) + x171 -= einsum("wxia->wxia", x166) + del x166 + lu12new -= einsum("wxia->wxai", x171) + lu12new -= einsum("wxia->xwai", x171) + del x171 + l1new += einsum("w,wia->ai", ls1, gc.bov) + l1new -= einsum("ai,jaib->bj", l1, v.ovov) + l1new += einsum("ia->ai", f.ov) + l2new += einsum("abij,abcd->dcji", l2, v.vvvv) * 0.5 + l2new += einsum("ijab->baji", v.oovv) + ls1new += einsum("ai,wai->w", l1, g.bvo) + ls1new += einsum("w->w", G) + ls1new += einsum("w,wx->x", ls1, w) + lu11new -= einsum("wij,xwaj->xai", gc.boo, lu12) + lu11new += einsum("wia->wai", g.bov) + lu11new += einsum("wai,baji->wbj", g.bvo, l2) + lu11new -= einsum("wai,jaib->wbj", lu11, v.ovov) + lu11new += einsum("wab,xwai->xbi", gc.bvv, lu12) + lu11new += einsum("ab,wai->wbi", f.vv, lu11) + lu11new += einsum("ai,wab->wbi", l1, g.bvv) + lu11new -= einsum("ij,waj->wai", f.oo, lu11) + lu11new -= einsum("ai,wji->waj", l1, g.boo) + lu11new += einsum("w,xwai->xai", G, lu12) + lu11new += einsum("wx,xia->wai", ls2, gc.bov) + lu11new += einsum("wx,wai->xai", w, lu11) + + return {"l1new": l1new, "l2new": l2new, "ls1new": ls1new, "ls2new": ls2new, "lu11new": lu11new, "lu12new": lu12new} + +def make_rdm1_f(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, s2=None, u11=None, u12=None, l1=None, l2=None, ls1=None, ls2=None, lu11=None, lu12=None, **kwargs): + # Get boson coupling creation array: + gc = Namespace( + boo=g.boo.transpose(0, 2, 1), + bov=g.bvo.transpose(0, 2, 1), + bvo=g.bov.transpose(0, 2, 1), + bvv=g.bvv.transpose(0, 2, 1), + ) + + delta_oo = np.eye(nocc) + delta_vv = np.eye(nvir) + + # 1RDM + x0 = np.zeros((nocc, nocc), dtype=types[float]) + x0 += einsum("wai,wja->ij", lu11, u11) + x7 = np.zeros((nocc, nocc), dtype=types[float]) + x7 += einsum("ij->ij", x0) * 2 + rdm1_f_oo = np.zeros((nocc, nocc), dtype=types[float]) + rdm1_f_oo -= einsum("ij->ij", x0) + del x0 + x1 = np.zeros((nocc, nocc), dtype=types[float]) + x1 += einsum("ai,ja->ij", l1, t1) + x7 += einsum("ij->ij", x1) * 2 + rdm1_f_oo -= einsum("ij->ij", x1) + del x1 + x2 = np.zeros((nocc, nocc), dtype=types[float]) + x2 += einsum("abij,kjab->ik", l2, t2) + x7 += einsum("ij->ij", x2) + rdm1_f_oo += einsum("ij->ij", x2) * -0.5 + del x2 + x3 = np.zeros((nocc, nocc), dtype=types[float]) + x3 += einsum("wxai,wxja->ij", lu12, u12) + x7 += einsum("ij->ij", x3) + rdm1_f_vo = np.zeros((nvir, nocc), dtype=types[float]) + rdm1_f_vo += einsum("ia,ij->aj", t1, x7) * -0.5 + del x7 + rdm1_f_oo += einsum("ij->ij", x3) * -0.5 + del x3 + x4 = np.zeros((nbos, nbos, nocc, nocc), dtype=types[float]) + x4 += einsum("ia,wxaj->wxji", t1, lu12) + rdm1_f_vo += einsum("wxia,wxij->aj", u12, x4) * -0.5 + del x4 + x5 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x5 += einsum("ia,bajk->jkib", t1, l2) + rdm1_f_vo += einsum("ijab,ijkb->ak", t2, x5) * 0.5 + del x5 + x6 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x6 += einsum("ia,waj->wji", t1, lu11) + x6 += einsum("wia,wxaj->xji", u11, lu12) + rdm1_f_vo -= einsum("wia,wij->aj", u11, x6) + del x6 + rdm1_f_oo += einsum("ij->ji", delta_oo) + rdm1_f_ov = np.zeros((nocc, nvir), dtype=types[float]) + rdm1_f_ov += einsum("ai->ia", l1) + rdm1_f_vo += einsum("ai,jiba->bj", l1, t2) + rdm1_f_vo += einsum("ia->ai", t1) + rdm1_f_vo += einsum("w,wia->ai", ls1, u11) + rdm1_f_vo += einsum("wx,wxia->ai", ls2, u12) * 0.5 + rdm1_f_vv = np.zeros((nvir, nvir), dtype=types[float]) + rdm1_f_vv += einsum("ai,ib->ba", l1, t1) + rdm1_f_vv += einsum("wai,wib->ba", lu11, u11) + rdm1_f_vv += einsum("abij,ijca->cb", l2, t2) * -0.5 + rdm1_f_vv += einsum("wxai,wxib->ba", lu12, u12) * 0.5 + + rdm1_f = np.block([[rdm1_f_oo, rdm1_f_ov], [rdm1_f_vo, rdm1_f_vv]]) + + return rdm1_f + +def make_rdm2_f(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, s2=None, u11=None, u12=None, l1=None, l2=None, ls1=None, ls2=None, lu11=None, lu12=None, **kwargs): + # Get boson coupling creation array: + gc = Namespace( + boo=g.boo.transpose(0, 2, 1), + bov=g.bvo.transpose(0, 2, 1), + bvo=g.bov.transpose(0, 2, 1), + bvv=g.bvv.transpose(0, 2, 1), + ) + + delta_oo = np.eye(nocc) + delta_vv = np.eye(nvir) + + # 2RDM + x0 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x0 += einsum("abij,klab->ijkl", l2, t2) + x28 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x28 += einsum("ijkl->jilk", x0) * -1 + x77 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x77 += einsum("ijkl->jilk", x0) * -1 + x78 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x78 += einsum("ijkl->jilk", x0) * -1 + rdm2_f_oooo = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + rdm2_f_oooo += einsum("ijkl->jilk", x0) * 0.5 + del x0 + x1 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x1 += einsum("ia,bajk->jkib", t1, l2) + x2 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x2 += einsum("ia,jkla->jkil", t1, x1) + x28 += einsum("ijkl->ijlk", x2) * 2 + x29 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x29 += einsum("ia,ijkl->jkla", t1, x28) * 0.5 + del x28 + rdm2_f_ovoo = np.zeros((nocc, nvir, nocc, nocc), dtype=types[float]) + rdm2_f_ovoo += einsum("ijka->iakj", x29) * -1 + rdm2_f_vooo = np.zeros((nvir, nocc, nocc, nocc), dtype=types[float]) + rdm2_f_vooo += einsum("ijka->aikj", x29) + del x29 + x77 += einsum("ijkl->ijlk", x2) * 2.0000000000000013 + rdm2_f_vvoo = np.zeros((nvir, nvir, nocc, nocc), dtype=types[float]) + rdm2_f_vvoo += einsum("ijab,ijkl->balk", t2, x77) * -0.25 + del x77 + x78 += einsum("ijkl->ijlk", x2) * 1.9999999999999987 + x79 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x79 += einsum("ia,ijkl->jlka", t1, x78) * -1 + del x78 + rdm2_f_vvoo += einsum("ia,ijkb->bakj", t1, x79) * 0.5000000000000003 + del x79 + rdm2_f_oooo -= einsum("ijkl->ijlk", x2) + del x2 + x13 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x13 -= einsum("ijab,kjlb->klia", t2, x1) + x20 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x20 += einsum("ijka->ijka", x13) + x34 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x34 -= einsum("ijka->ijka", x13) + x60 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x60 += einsum("ia,ijkb->jkab", t1, x13) + del x13 + x67 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x67 -= einsum("ijab->ijab", x60) + del x60 + x24 = np.zeros((nocc, nvir), dtype=types[float]) + x24 -= einsum("ijab,ijkb->ka", t2, x1) + x26 = np.zeros((nocc, nvir), dtype=types[float]) + x26 += einsum("ia->ia", x24) + x53 = np.zeros((nocc, nvir), dtype=types[float]) + x53 += einsum("ia->ia", x24) + del x24 + x37 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x37 += einsum("ia,jikb->jkba", t1, x1) + x88 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x88 -= einsum("ia,ijbc->jbca", t1, x37) + rdm2_f_vvov = np.zeros((nvir, nvir, nocc, nvir), dtype=types[float]) + rdm2_f_vvov -= einsum("iabc->cbia", x88) + rdm2_f_vvvo = np.zeros((nvir, nvir, nvir, nocc), dtype=types[float]) + rdm2_f_vvvo += einsum("iabc->cbai", x88) + del x88 + rdm2_f_ovov = np.zeros((nocc, nvir, nocc, nvir), dtype=types[float]) + rdm2_f_ovov += einsum("ijab->ibja", x37) + rdm2_f_ovvo = np.zeros((nocc, nvir, nvir, nocc), dtype=types[float]) + rdm2_f_ovvo -= einsum("ijab->ibaj", x37) + rdm2_f_voov = np.zeros((nvir, nocc, nocc, nvir), dtype=types[float]) + rdm2_f_voov -= einsum("ijab->bija", x37) + rdm2_f_vovo = np.zeros((nvir, nocc, nvir, nocc), dtype=types[float]) + rdm2_f_vovo += einsum("ijab->biaj", x37) + del x37 + x87 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x87 += einsum("ijab,ijkc->kcab", t2, x1) + rdm2_f_vvov += einsum("iabc->bcia", x87) * 0.5 + rdm2_f_vvvo += einsum("iabc->bcai", x87) * -0.5 + del x87 + rdm2_f_ooov = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + rdm2_f_ooov -= einsum("ijka->jika", x1) + rdm2_f_oovo = np.zeros((nocc, nocc, nvir, nocc), dtype=types[float]) + rdm2_f_oovo += einsum("ijka->jiak", x1) + del x1 + x3 = np.zeros((nocc, nocc), dtype=types[float]) + x3 += einsum("wai,wja->ij", lu11, u11) + x15 = np.zeros((nocc, nvir), dtype=types[float]) + x15 += einsum("ia,ij->ja", t1, x3) + x18 = np.zeros((nocc, nvir), dtype=types[float]) + x18 += einsum("ia->ia", x15) + del x15 + x19 = np.zeros((nocc, nocc), dtype=types[float]) + x19 += einsum("ij->ij", x3) + x75 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x75 += einsum("ij,kiab->kjab", x3, t2) + x76 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x76 += einsum("ijab->ijba", x75) + del x75 + x81 = np.zeros((nocc, nocc), dtype=types[float]) + x81 += einsum("ij->ij", x3) + rdm2_f_oooo -= einsum("ij,kl->ikjl", delta_oo, x3) + rdm2_f_oooo += einsum("ij,kl->iklj", delta_oo, x3) + rdm2_f_oooo += einsum("ij,kl->kjil", delta_oo, x3) + rdm2_f_oooo -= einsum("ij,kl->kjli", delta_oo, x3) + del x3 + x4 = np.zeros((nocc, nocc), dtype=types[float]) + x4 += einsum("wxai,wxja->ij", lu12, u12) + x6 = np.zeros((nocc, nocc), dtype=types[float]) + x6 += einsum("ij->ij", x4) + x51 = np.zeros((nocc, nocc), dtype=types[float]) + x51 += einsum("ij->ij", x4) + del x4 + x5 = np.zeros((nocc, nocc), dtype=types[float]) + x5 += einsum("abij,kjab->ik", l2, t2) + x6 += einsum("ij->ij", x5) + x25 = np.zeros((nocc, nvir), dtype=types[float]) + x25 += einsum("ia,ij->ja", t1, x6) + x26 += einsum("ia->ia", x25) + del x25 + x27 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x27 += einsum("ia,jk->jika", t1, x6) * -0.5 + x35 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x35 += einsum("ia,jk->jika", t1, x6) * 0.5 + x55 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x55 += einsum("ij,ikab->jkab", x6, t2) * 0.5 + rdm2_f_vvoo += einsum("ijab->abji", x55) + rdm2_f_vvoo += einsum("ijab->abij", x55) * -1 + del x55 + rdm2_f_oooo += einsum("ij,kl->jkil", delta_oo, x6) * -0.5 + rdm2_f_oooo += einsum("ij,kl->jkli", delta_oo, x6) * 0.5 + rdm2_f_oooo += einsum("ij,kl->kijl", delta_oo, x6) * 0.5 + rdm2_f_oooo += einsum("ij,kl->kilj", delta_oo, x6) * -0.5 + del x6 + x51 += einsum("ij->ij", x5) + del x5 + x52 = np.zeros((nocc, nvir), dtype=types[float]) + x52 += einsum("ia,ij->ja", t1, x51) + del x51 + x53 += einsum("ia->ia", x52) + del x52 + x7 = np.zeros((nocc, nocc), dtype=types[float]) + x7 += einsum("ai,ja->ij", l1, t1) + x19 += einsum("ij->ij", x7) + x20 -= einsum("ia,jk->jika", t1, x19) + x34 += einsum("ia,jk->jika", t1, x19) + del x19 + x32 = np.zeros((nocc, nvir), dtype=types[float]) + x32 += einsum("ia,ij->ja", t1, x7) + x33 = np.zeros((nocc, nvir), dtype=types[float]) + x33 += einsum("ia->ia", x32) * -1 + del x32 + x74 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x74 += einsum("ij,kiab->jkab", x7, t2) + x76 -= einsum("ijab->ijba", x74) + del x74 + rdm2_f_vvoo -= einsum("ijab->baij", x76) + rdm2_f_vvoo += einsum("ijab->baji", x76) + del x76 + x81 += einsum("ij->ij", x7) + x82 = np.zeros((nocc, nvir), dtype=types[float]) + x82 += einsum("ia,ij->ja", t1, x81) + x83 = np.zeros((nocc, nvir), dtype=types[float]) + x83 += einsum("ia->ia", x82) + del x82 + x84 = np.zeros((nocc, nvir), dtype=types[float]) + x84 += einsum("ia,ij->ja", t1, x81) * 2 + del x81 + x85 = np.zeros((nocc, nvir), dtype=types[float]) + x85 += einsum("ia->ia", x84) + del x84 + rdm2_f_oooo -= einsum("ij,kl->jkil", delta_oo, x7) + rdm2_f_oooo += einsum("ij,kl->kjil", delta_oo, x7) + rdm2_f_oooo += einsum("ij,kl->jkli", delta_oo, x7) + rdm2_f_oooo -= einsum("ij,kl->kjli", delta_oo, x7) + del x7 + x8 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x8 += einsum("ai,jkba->ijkb", l1, t2) + x70 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x70 += einsum("ia,ijkb->jkab", t1, x8) + x73 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x73 += einsum("ijab->ijab", x70) + del x70 + rdm2_f_ovoo -= einsum("ijka->iakj", x8) + rdm2_f_vooo += einsum("ijka->aikj", x8) + del x8 + x9 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x9 += einsum("ia,waj->wji", t1, lu11) + x10 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x10 += einsum("wia,wjk->jkia", u11, x9) + x20 += einsum("ijka->ijka", x10) + x34 -= einsum("ijka->ijka", x10) + del x10 + x16 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x16 += einsum("wij->wij", x9) + x62 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x62 += einsum("ia,wij->wja", t1, x9) + x63 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x63 -= einsum("wia->wia", x62) + del x62 + x80 = np.zeros((nocc, nvir), dtype=types[float]) + x80 += einsum("wia,wij->ja", u11, x9) + del x9 + x83 += einsum("ia->ia", x80) + x85 += einsum("ia->ia", x80) * 2 + del x80 + x11 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x11 += einsum("wia,wxaj->xji", u11, lu12) + x12 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x12 += einsum("wia,wjk->jika", u11, x11) + x20 -= einsum("ijka->ijka", x12) + x34 += einsum("ijka->ijka", x12) + del x12 + rdm2_f_vooo -= einsum("ijka->aijk", x34) + rdm2_f_vooo += einsum("ijka->aikj", x34) + del x34 + x16 += einsum("wij->wij", x11) + x17 = np.zeros((nocc, nvir), dtype=types[float]) + x17 += einsum("wia,wij->ja", u11, x16) + del x16 + x18 += einsum("ia->ia", x17) + del x17 + x58 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x58 += einsum("ia,wij->wja", t1, x11) + x59 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x59 += einsum("wia,wjb->ijba", u11, x58) + del x58 + x67 += einsum("ijab->ijab", x59) + del x59 + x65 = np.zeros((nocc, nvir), dtype=types[float]) + x65 += einsum("wia,wij->ja", u11, x11) + del x11 + x66 = np.zeros((nocc, nvir), dtype=types[float]) + x66 -= einsum("ia->ia", x65) + del x65 + x14 = np.zeros((nocc, nvir), dtype=types[float]) + x14 += einsum("ai,jiba->jb", l1, t2) + x18 -= einsum("ia->ia", x14) + x20 += einsum("ij,ka->jika", delta_oo, x18) + rdm2_f_ovoo -= einsum("ijka->iajk", x20) + rdm2_f_ovoo += einsum("ijka->iakj", x20) + del x20 + rdm2_f_vooo += einsum("ij,ka->aijk", delta_oo, x18) + rdm2_f_vooo -= einsum("ij,ka->aikj", delta_oo, x18) + del x18 + x66 += einsum("ia->ia", x14) + del x14 + x67 += einsum("ia,jb->ijab", t1, x66) + del x66 + x21 = np.zeros((nbos, nbos, nocc, nocc), dtype=types[float]) + x21 += einsum("ia,wxaj->wxji", t1, lu12) + x22 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x22 += einsum("wxia,wxjk->jkia", u12, x21) + x27 += einsum("ijka->ijka", x22) * 0.5 + x35 += einsum("ijka->ijka", x22) * -0.5 + rdm2_f_vooo += einsum("ijka->aijk", x35) * -1 + rdm2_f_vooo += einsum("ijka->aikj", x35) + del x35 + x50 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x50 += einsum("ia,ijkb->jkab", t1, x22) + del x22 + x54 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x54 += einsum("ijab->ijab", x50) * 0.5 + del x50 + x23 = np.zeros((nocc, nvir), dtype=types[float]) + x23 += einsum("wxia,wxij->ja", u12, x21) + x26 += einsum("ia->ia", x23) + x27 += einsum("ij,ka->jika", delta_oo, x26) * 0.5 + rdm2_f_ovoo += einsum("ijka->iajk", x27) * -1 + rdm2_f_ovoo += einsum("ijka->iakj", x27) + del x27 + rdm2_f_vooo += einsum("ij,ka->aijk", delta_oo, x26) * 0.5 + rdm2_f_vooo += einsum("ij,ka->aikj", delta_oo, x26) * -0.5 + del x26 + x53 += einsum("ia->ia", x23) + del x23 + x54 += einsum("ia,jb->ijab", t1, x53) * 0.5 + del x53 + x56 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x56 += einsum("wia,wxij->xja", u11, x21) + del x21 + x57 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x57 += einsum("wia,wjb->jiab", u11, x56) + del x56 + x67 += einsum("ijab->ijab", x57) + del x57 + x30 = np.zeros((nocc, nvir), dtype=types[float]) + x30 += einsum("w,wia->ia", ls1, u11) + x33 += einsum("ia->ia", x30) + x83 += einsum("ia->ia", x30) * -1 + x85 += einsum("ia->ia", x30) * -2 + del x30 + x31 = np.zeros((nocc, nvir), dtype=types[float]) + x31 += einsum("wx,wxia->ia", ls2, u12) + x33 += einsum("ia->ia", x31) * 0.5 + x83 += einsum("ia->ia", x31) * -0.5 + x85 += einsum("ia->ia", x31) * -1 + del x31 + rdm2_f_vvoo += einsum("ia,jb->baij", t1, x85) * 0.5 + rdm2_f_vvoo += einsum("ia,jb->abij", t1, x85) * -0.5 + del x85 + x33 += einsum("ia->ia", t1) + rdm2_f_ovoo += einsum("ij,ka->jaki", delta_oo, x33) * -1 + rdm2_f_ovoo += einsum("ij,ka->jaik", delta_oo, x33) + rdm2_f_vooo += einsum("ij,ka->ajik", delta_oo, x33) * -1 + rdm2_f_vooo += einsum("ij,ka->ajki", delta_oo, x33) + del x33 + x36 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x36 -= einsum("abij,kjca->ikbc", l2, t2) + x72 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x72 += einsum("ijab,jkbc->ikac", t2, x36) + x73 += einsum("ijab->ijab", x72) + del x72 + x94 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x94 += einsum("ia,ijbc->jbac", t1, x36) + x96 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x96 -= einsum("iabc->iabc", x94) + del x94 + rdm2_f_ovov -= einsum("ijab->ibja", x36) + rdm2_f_ovvo += einsum("ijab->ibaj", x36) + rdm2_f_voov += einsum("ijab->bija", x36) + rdm2_f_vovo -= einsum("ijab->biaj", x36) + del x36 + x38 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x38 += einsum("wai,wjb->ijab", lu11, u11) + rdm2_f_ovov -= einsum("ijab->ibja", x38) + rdm2_f_ovvo += einsum("ijab->ibaj", x38) + rdm2_f_voov += einsum("ijab->bija", x38) + rdm2_f_vovo -= einsum("ijab->biaj", x38) + del x38 + x39 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x39 += einsum("wxai,wxjb->ijab", lu12, u12) + x97 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x97 += einsum("ia,ijbc->jbac", t1, x39) + x98 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x98 += einsum("iabc->iabc", x97) * -0.5 + del x97 + rdm2_f_ovov += einsum("ijab->ibja", x39) * -0.5 + rdm2_f_ovvo += einsum("ijab->ibaj", x39) * 0.5 + rdm2_f_voov += einsum("ijab->bija", x39) * 0.5 + rdm2_f_vovo += einsum("ijab->biaj", x39) * -0.5 + del x39 + x40 = np.zeros((nvir, nvir), dtype=types[float]) + x40 += einsum("ai,ib->ab", l1, t1) + x44 = np.zeros((nvir, nvir), dtype=types[float]) + x44 += einsum("ab->ab", x40) * 2 + x45 = np.zeros((nvir, nvir), dtype=types[float]) + x45 += einsum("ab->ab", x40) + x95 = np.zeros((nvir, nvir), dtype=types[float]) + x95 += einsum("ab->ab", x40) + del x40 + x41 = np.zeros((nvir, nvir), dtype=types[float]) + x41 += einsum("wai,wib->ab", lu11, u11) + x44 += einsum("ab->ab", x41) * 2 + x45 += einsum("ab->ab", x41) + x71 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x71 += einsum("ab,ijca->ijcb", x41, t2) + x73 -= einsum("ijab->ijab", x71) + del x71 + rdm2_f_vvoo -= einsum("ijab->abji", x73) + rdm2_f_vvoo += einsum("ijab->baji", x73) + del x73 + x95 += einsum("ab->ab", x41) + del x41 + x96 += einsum("ia,bc->ibac", t1, x95) + del x95 + x42 = np.zeros((nvir, nvir), dtype=types[float]) + x42 += einsum("wxai,wxib->ab", lu12, u12) + x44 += einsum("ab->ab", x42) + x45 += einsum("ab->ab", x42) * 0.5 + x46 = np.zeros((nvir, nvir), dtype=types[float]) + x46 += einsum("ab->ab", x42) + del x42 + x43 = np.zeros((nvir, nvir), dtype=types[float]) + x43 -= einsum("abij,ijca->bc", l2, t2) + x44 += einsum("ab->ab", x43) + rdm2_f_ovov += einsum("ij,ab->jbia", delta_oo, x44) * 0.5 + rdm2_f_voov += einsum("ij,ab->bjia", delta_oo, x44) * -0.5 + del x44 + x45 += einsum("ab->ab", x43) * 0.5 + rdm2_f_ovvo += einsum("ij,ab->jbai", delta_oo, x45) * -1 + rdm2_f_vovo += einsum("ij,ab->bjai", delta_oo, x45) + del x45 + x46 += einsum("ab->ab", x43) + del x43 + x47 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x47 += einsum("ab,ijac->ijbc", x46, t2) * 0.5 + rdm2_f_vvoo += einsum("ijab->baij", x47) + rdm2_f_vvoo += einsum("ijab->abij", x47) * -1 + del x47 + x98 += einsum("ia,bc->ibac", t1, x46) * 0.5 + del x46 + rdm2_f_vvov += einsum("iabc->bcia", x98) + rdm2_f_vvov += einsum("iabc->cbia", x98) * -1 + rdm2_f_vvvo += einsum("iabc->bcai", x98) * -1 + rdm2_f_vvvo += einsum("iabc->cbai", x98) + del x98 + x48 = np.zeros((nbos, nbos, nocc, nvir), dtype=types[float]) + x48 += einsum("wxai,jiba->wxjb", lu12, t2) + x49 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x49 += einsum("wxia,wxjb->jiba", u12, x48) + del x48 + x54 += einsum("ijab->ijab", x49) * -0.5 + del x49 + rdm2_f_vvoo += einsum("ijab->abij", x54) * -1 + rdm2_f_vvoo += einsum("ijab->baij", x54) + rdm2_f_vvoo += einsum("ijab->abji", x54) + rdm2_f_vvoo += einsum("ijab->baji", x54) * -1 + del x54 + x61 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x61 += einsum("wai,jiba->wjb", lu11, t2) + x63 += einsum("wia->wia", x61) + del x61 + x64 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x64 += einsum("wia,wjb->jiba", u11, x63) + del x63 + x67 += einsum("ijab->ijab", x64) + del x64 + rdm2_f_vvoo += einsum("ijab->abij", x67) + rdm2_f_vvoo -= einsum("ijab->baij", x67) + rdm2_f_vvoo -= einsum("ijab->abji", x67) + rdm2_f_vvoo += einsum("ijab->baji", x67) + del x67 + x68 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x68 += einsum("wx,xia->wia", ls2, u11) + x69 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x69 += einsum("wia,wjb->jiba", u11, x68) + del x68 + rdm2_f_vvoo -= einsum("ijab->baij", x69) + rdm2_f_vvoo += einsum("ijab->baji", x69) + del x69 + x83 += einsum("ia->ia", t1) * -1 + rdm2_f_vvoo += einsum("ia,jb->abji", t1, x83) + rdm2_f_vvoo += einsum("ia,jb->baji", t1, x83) * -1 + del x83 + x86 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x86 += einsum("ia,bcji->jbca", t1, l2) + rdm2_f_ovvv = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + rdm2_f_ovvv -= einsum("iabc->icba", x86) + rdm2_f_vovv = np.zeros((nvir, nocc, nvir, nvir), dtype=types[float]) + rdm2_f_vovv += einsum("iabc->ciba", x86) + rdm2_f_vvvv = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) + rdm2_f_vvvv -= einsum("ia,ibcd->adcb", t1, x86) + del x86 + x89 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x89 += einsum("ai,jibc->jabc", l1, t2) + rdm2_f_vvov -= einsum("iabc->cbia", x89) + rdm2_f_vvvo += einsum("iabc->cbai", x89) + del x89 + x90 = np.zeros((nbos, nvir, nvir), dtype=types[float]) + x90 += einsum("ia,wbi->wba", t1, lu11) + x91 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x91 += einsum("wia,wbc->ibca", u11, x90) + del x90 + x96 -= einsum("iabc->iabc", x91) + del x91 + x92 = np.zeros((nbos, nvir, nvir), dtype=types[float]) + x92 += einsum("wia,xwbi->xba", u11, lu12) + x93 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x93 += einsum("wia,wbc->ibac", u11, x92) + del x92 + x96 += einsum("iabc->iabc", x93) + del x93 + rdm2_f_vvov += einsum("iabc->bcia", x96) + rdm2_f_vvov -= einsum("iabc->cbia", x96) + rdm2_f_vvvo -= einsum("iabc->bcai", x96) + rdm2_f_vvvo += einsum("iabc->cbai", x96) + del x96 + rdm2_f_oooo += einsum("ij,kl->jlik", delta_oo, delta_oo) + rdm2_f_oooo -= einsum("ij,kl->lijk", delta_oo, delta_oo) + rdm2_f_ooov += einsum("ij,ak->jkia", delta_oo, l1) + rdm2_f_ooov -= einsum("ij,ak->kjia", delta_oo, l1) + rdm2_f_oovo -= einsum("ij,ak->jkai", delta_oo, l1) + rdm2_f_oovo += einsum("ij,ak->kjai", delta_oo, l1) + rdm2_f_oovv = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + rdm2_f_oovv += einsum("abij->jiba", l2) + rdm2_f_ovov -= einsum("ai,jb->ibja", l1, t1) + rdm2_f_ovvo += einsum("ai,jb->ibaj", l1, t1) + rdm2_f_voov += einsum("ai,jb->bija", l1, t1) + rdm2_f_vovo -= einsum("ai,jb->biaj", l1, t1) + rdm2_f_vvoo += einsum("ijab->baji", t2) + rdm2_f_vvvv += einsum("abij,ijcd->dcba", l2, t2) * 0.5 + + rdm2_f = pack_2e(rdm2_f_oooo, rdm2_f_ooov, rdm2_f_oovo, rdm2_f_ovoo, rdm2_f_vooo, rdm2_f_oovv, rdm2_f_ovov, rdm2_f_ovvo, rdm2_f_voov, rdm2_f_vovo, rdm2_f_vvoo, rdm2_f_ovvv, rdm2_f_vovv, rdm2_f_vvov, rdm2_f_vvvo, rdm2_f_vvvv) + + rdm2_f = rdm2_f.transpose(0, 2, 1, 3) + + return rdm2_f + +def make_sing_b_dm(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, s2=None, u11=None, u12=None, l1=None, l2=None, ls1=None, ls2=None, lu11=None, lu12=None, **kwargs): + # Get boson coupling creation array: + gc = Namespace( + boo=g.boo.transpose(0, 2, 1), + bov=g.bvo.transpose(0, 2, 1), + bvo=g.bov.transpose(0, 2, 1), + bvv=g.bvv.transpose(0, 2, 1), + ) + + # Single boson DM + dm_b_cre = np.zeros((nbos), dtype=types[float]) + dm_b_cre += einsum("w->w", ls1) + dm_b_des = np.zeros((nbos), dtype=types[float]) + dm_b_des += einsum("wai,xwia->x", lu11, u12) + dm_b_des += einsum("ai,wia->w", l1, u11) + dm_b_des += einsum("w,xw->x", ls1, s2) + dm_b_des += einsum("w->w", s1) + + dm_b = np.array([dm_b_cre, dm_b_des]) + + return dm_b + +def make_rdm1_b(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, s2=None, u11=None, u12=None, l1=None, l2=None, ls1=None, ls2=None, lu11=None, lu12=None, **kwargs): + # Get boson coupling creation array: + gc = Namespace( + boo=g.boo.transpose(0, 2, 1), + bov=g.bvo.transpose(0, 2, 1), + bvo=g.bov.transpose(0, 2, 1), + bvv=g.bvv.transpose(0, 2, 1), + ) + + # Boson 1RDM + rdm1_b = np.zeros((nbos, nbos), dtype=types[float]) + rdm1_b += einsum("w,x->wx", ls1, s1) + rdm1_b += einsum("wai,xia->wx", lu11, u11) + rdm1_b += einsum("wx,yx->wy", ls2, s2) + rdm1_b += einsum("wxai,yxia->wy", lu12, u12) + + return rdm1_b + +def make_eb_coup_rdm(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, s2=None, u11=None, u12=None, l1=None, l2=None, ls1=None, ls2=None, lu11=None, lu12=None, **kwargs): + # Get boson coupling creation array: + gc = Namespace( + boo=g.boo.transpose(0, 2, 1), + bov=g.bvo.transpose(0, 2, 1), + bvo=g.bov.transpose(0, 2, 1), + bvv=g.bvv.transpose(0, 2, 1), + ) + + delta_oo = np.eye(nocc) + delta_vv = np.eye(nvir) + + # Boson-fermion coupling RDM + x0 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x0 += einsum("wia,xwaj->xji", u11, lu12) + x4 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x4 += einsum("wij->wij", x0) + x8 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x8 += einsum("wx,xij->wij", s2, x0) + x27 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x27 += einsum("wij->wij", x8) + rdm_eb_des_oo = np.zeros((nbos, nocc, nocc), dtype=types[float]) + rdm_eb_des_oo -= einsum("wij->wji", x8) + del x8 + x31 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x31 += einsum("wij->wij", x0) + rdm_eb_cre_oo = np.zeros((nbos, nocc, nocc), dtype=types[float]) + rdm_eb_cre_oo -= einsum("wij->wji", x0) + del x0 + x1 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x1 += einsum("ia,waj->wji", t1, lu11) + x4 += einsum("wij->wij", x1) + rdm_eb_cre_ov = np.zeros((nbos, nocc, nvir), dtype=types[float]) + rdm_eb_cre_ov -= einsum("ia,wij->wja", t1, x4) + rdm_eb_des_ov = np.zeros((nbos, nocc, nvir), dtype=types[float]) + rdm_eb_des_ov -= einsum("wij,wxia->xja", x4, u12) + del x4 + x31 += einsum("wij->wij", x1) + x33 = np.zeros((nocc, nvir), dtype=types[float]) + x33 += einsum("wia,wij->ja", u11, x31) + del x31 + rdm_eb_cre_oo -= einsum("wij->wji", x1) + del x1 + x2 = np.zeros((nbos, nbos, nocc, nocc), dtype=types[float]) + x2 += einsum("ia,wxaj->wxji", t1, lu12) + x3 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x3 += einsum("wia,xwij->xja", u11, x2) + rdm_eb_cre_ov -= einsum("wia->wia", x3) + rdm_eb_des_ov -= einsum("wx,xia->wia", s2, x3) + del x3 + x33 += einsum("wxia,wxij->ja", u12, x2) * 0.5 + del x2 + x5 = np.zeros((nbos, nvir, nvir), dtype=types[float]) + x5 += einsum("wia,xwbi->xba", u11, lu12) + rdm_eb_cre_vv = np.zeros((nbos, nvir, nvir), dtype=types[float]) + rdm_eb_cre_vv += einsum("wab->wab", x5) + rdm_eb_des_ov -= einsum("wab,xwia->xib", x5, u12) + rdm_eb_des_vv = np.zeros((nbos, nvir, nvir), dtype=types[float]) + rdm_eb_des_vv += einsum("wx,xab->wab", s2, x5) + del x5 + x6 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x6 += einsum("wai,xwja->xij", lu11, u12) + x27 += einsum("wij->wij", x6) + rdm_eb_des_oo -= einsum("wij->wji", x6) + del x6 + x7 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x7 += einsum("ai,wja->wij", l1, u11) + x27 += einsum("wij->wij", x7) + rdm_eb_des_oo -= einsum("wij->wji", x7) + del x7 + x9 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x9 += einsum("wx,xai->wia", s2, lu11) + x11 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x11 += einsum("wia->wia", x9) + rdm_eb_des_vo = np.zeros((nbos, nvir, nocc), dtype=types[float]) + rdm_eb_des_vo += einsum("wia->wai", x9) + del x9 + x10 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x10 -= einsum("wia,abji->wjb", u11, l2) + x11 += einsum("wia->wia", x10) + x12 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x12 += einsum("ia,wja->wij", t1, x11) + x27 += einsum("wij->wji", x12) + rdm_eb_des_ov -= einsum("ia,wij->wja", t1, x27) + del x27 + rdm_eb_des_oo -= einsum("wij->wij", x12) + del x12 + rdm_eb_des_ov += einsum("wia,ijab->wjb", x11, t2) + rdm_eb_des_vv += einsum("ia,wib->wba", t1, x11) + del x11 + rdm_eb_des_vo += einsum("wia->wai", x10) + del x10 + x13 = np.zeros((nocc, nocc), dtype=types[float]) + x13 += einsum("ai,ja->ij", l1, t1) + x17 = np.zeros((nocc, nocc), dtype=types[float]) + x17 += einsum("ij->ij", x13) + x28 = np.zeros((nocc, nocc), dtype=types[float]) + x28 += einsum("ij->ij", x13) + x32 = np.zeros((nocc, nocc), dtype=types[float]) + x32 += einsum("ij->ij", x13) * 2 + del x13 + x14 = np.zeros((nocc, nocc), dtype=types[float]) + x14 += einsum("wai,wja->ij", lu11, u11) + x17 += einsum("ij->ij", x14) + x28 += einsum("ij->ij", x14) + x32 += einsum("ij->ij", x14) * 2 + del x14 + x15 = np.zeros((nocc, nocc), dtype=types[float]) + x15 += einsum("wxai,wxja->ij", lu12, u12) + x17 += einsum("ij->ij", x15) * 0.5 + x28 += einsum("ij->ij", x15) * 0.5 + x32 += einsum("ij->ij", x15) + del x15 + x16 = np.zeros((nocc, nocc), dtype=types[float]) + x16 += einsum("abij,kjab->ik", l2, t2) + x17 += einsum("ij->ij", x16) * 0.5 + x28 += einsum("ij->ij", x16) * 0.5 + rdm_eb_des_ov += einsum("ij,wia->wja", x28, u11) * -1 + del x28 + x32 += einsum("ij->ij", x16) + del x16 + x33 += einsum("ia,ij->ja", t1, x32) * 0.5 + del x32 + x17 += einsum("ij->ji", delta_oo) * -1 + rdm_eb_des_oo += einsum("w,ij->wji", s1, x17) * -1 + del x17 + x18 = np.zeros((nbos), dtype=types[float]) + x18 += einsum("w,xw->x", ls1, s2) + x21 = np.zeros((nbos), dtype=types[float]) + x21 += einsum("w->w", x18) + del x18 + x19 = np.zeros((nbos), dtype=types[float]) + x19 += einsum("ai,wia->w", l1, u11) + x21 += einsum("w->w", x19) + del x19 + x20 = np.zeros((nbos), dtype=types[float]) + x20 += einsum("wai,xwia->x", lu11, u12) + x21 += einsum("w->w", x20) + del x20 + rdm_eb_des_oo += einsum("w,ij->wji", x21, delta_oo) + rdm_eb_des_ov += einsum("w,ia->wia", x21, t1) + del x21 + x22 = np.zeros((nbos, nbos, nbos), dtype=types[float]) + x22 += einsum("wia,xyai->xyw", u11, lu12) + rdm_eb_des_ov += einsum("wxy,wxia->yia", x22, u12) * 0.5 + del x22 + x23 = np.zeros((nvir, nvir), dtype=types[float]) + x23 += einsum("wai,wib->ab", lu11, u11) + x26 = np.zeros((nvir, nvir), dtype=types[float]) + x26 += einsum("ab->ab", x23) + x34 = np.zeros((nvir, nvir), dtype=types[float]) + x34 += einsum("ab->ab", x23) + del x23 + x24 = np.zeros((nvir, nvir), dtype=types[float]) + x24 += einsum("wxai,wxib->ab", lu12, u12) + x26 += einsum("ab->ab", x24) * 0.5 + x34 += einsum("ab->ab", x24) * 0.5 + del x24 + x25 = np.zeros((nvir, nvir), dtype=types[float]) + x25 -= einsum("abij,ijca->bc", l2, t2) + x26 += einsum("ab->ab", x25) * 0.5 + rdm_eb_des_ov += einsum("ab,wia->wib", x26, u11) * -1 + del x26 + x34 += einsum("ab->ab", x25) * 0.5 + del x25 + x29 = np.zeros((nbos, nbos), dtype=types[float]) + x29 += einsum("wx,yw->xy", ls2, s2) + x29 += einsum("wai,xia->wx", lu11, u11) + x29 += einsum("wxai,ywia->xy", lu12, u12) + rdm_eb_des_ov += einsum("wx,wia->xia", x29, u11) + del x29 + x30 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x30 += einsum("ia,bajk->jkib", t1, l2) + x33 += einsum("ijab,ijkb->ka", t2, x30) * -0.5000000000000003 + del x30 + x33 += einsum("ia->ia", t1) * -1 + x33 += einsum("w,wia->ia", ls1, u11) * -1 + x33 += einsum("wx,wxia->ia", ls2, u12) * -0.5 + x33 += einsum("ai,jiba->jb", l1, t2) * -1 + rdm_eb_des_ov += einsum("w,ia->wia", s1, x33) * -1 + del x33 + x34 += einsum("ai,ib->ab", l1, t1) + rdm_eb_des_vv += einsum("w,ab->wab", s1, x34) + del x34 + rdm_eb_cre_oo += einsum("w,ij->wji", ls1, delta_oo) + rdm_eb_cre_ov += einsum("w,ia->wia", ls1, t1) + rdm_eb_cre_ov += einsum("wx,xia->wia", ls2, u11) + rdm_eb_cre_ov += einsum("wai,jiba->wjb", lu11, t2) + rdm_eb_cre_vo = np.zeros((nbos, nvir, nocc), dtype=types[float]) + rdm_eb_cre_vo += einsum("wai->wai", lu11) + rdm_eb_cre_vv += einsum("ia,wbi->wba", t1, lu11) + rdm_eb_des_ov += einsum("wia->wia", u11) + rdm_eb_des_ov += einsum("w,xwia->xia", ls1, u12) + rdm_eb_des_vo += einsum("w,ai->wai", s1, l1) + rdm_eb_des_vv += einsum("ai,wib->wab", l1, u11) + rdm_eb_des_vv += einsum("wai,xwib->xab", lu11, u12) + + rdm_eb = np.array([ + np.block([[rdm_eb_cre_oo, rdm_eb_cre_ov], [rdm_eb_cre_vo, rdm_eb_cre_vv]]), + np.block([[rdm_eb_des_oo, rdm_eb_des_ov], [rdm_eb_des_vo, rdm_eb_des_vv]]), + ]) + + return rdm_eb + diff --git a/ebcc/codegen/GCCSD_S_1_1.py b/ebcc/codegen/GCCSD_S_1_1.py new file mode 100644 index 00000000..72af5c75 --- /dev/null +++ b/ebcc/codegen/GCCSD_S_1_1.py @@ -0,0 +1,1502 @@ +# Code generated for ebcc. + +from ebcc import numpy as np +from ebcc.util import pack_2e, einsum, Namespace +from ebcc.precision import types + +def energy(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, u11=None, **kwargs): + # Energy + x0 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x0 += einsum("ijab->jiba", t2) + x0 += einsum("ia,jb->ijab", t1, t1) * 2 + e_cc = 0 + e_cc += einsum("ijab,ijab->", v.oovv, x0) * 0.25 + del x0 + x1 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x1 += einsum("wia->wia", u11) + x1 += einsum("w,ia->wia", s1, t1) + e_cc += einsum("wia,wia->", g.bov, x1) + del x1 + e_cc += einsum("ia,ia->", f.ov, t1) + e_cc += einsum("w,w->", G, s1) + + return e_cc + +def update_amps(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, u11=None, **kwargs): + # Get boson coupling creation array: + gc = Namespace( + boo=g.boo.transpose(0, 2, 1), + bov=g.bvo.transpose(0, 2, 1), + bvo=g.bov.transpose(0, 2, 1), + bvv=g.bvv.transpose(0, 2, 1), + ) + + # T1, T2, S1 and U11 amplitudes + x0 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x0 += einsum("ia,jkba->ijkb", t1, v.oovv) + x1 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x1 += einsum("ijka->ikja", x0) * -1 + x29 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x29 += einsum("ijab,kjlb->kila", t2, x0) + x30 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x30 -= einsum("ijka->ikja", x29) + del x29 + x64 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x64 += einsum("ia,jkla->jilk", t1, x0) + del x0 + x65 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x65 += einsum("ijkl->klji", x64) * -1 + x66 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x66 += einsum("ijkl->klji", x64) * -1 + del x64 + x1 += einsum("ijka->kjia", v.ooov) + t1new = np.zeros((nocc, nvir), dtype=types[float]) + t1new += einsum("ijab,kija->kb", t2, x1) * -0.5 + del x1 + x2 = np.zeros((nocc, nvir), dtype=types[float]) + x2 += einsum("w,wia->ia", s1, g.bov) + x4 = np.zeros((nocc, nvir), dtype=types[float]) + x4 += einsum("ia->ia", x2) + x11 = np.zeros((nocc, nvir), dtype=types[float]) + x11 += einsum("ia->ia", x2) + x71 = np.zeros((nocc, nvir), dtype=types[float]) + x71 += einsum("ia->ia", x2) + del x2 + x3 = np.zeros((nocc, nvir), dtype=types[float]) + x3 += einsum("ia,jiba->jb", t1, v.oovv) + x4 += einsum("ia->ia", x3) + x11 += einsum("ia->ia", x3) + x70 = np.zeros((nvir, nvir), dtype=types[float]) + x70 += einsum("ia,ib->ab", t1, x3) + del x3 + x4 += einsum("ia->ia", f.ov) + x37 = np.zeros((nocc, nocc), dtype=types[float]) + x37 += einsum("ia,ja->ij", t1, x4) + x38 = np.zeros((nocc, nocc), dtype=types[float]) + x38 += einsum("ij->ij", x37) + del x37 + x51 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x51 += einsum("ia,jkab->jkib", x4, t2) + x52 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x52 += einsum("ijka->kjia", x51) + del x51 + t1new += einsum("ia,ijab->jb", x4, t2) + s1new = np.zeros((nbos), dtype=types[float]) + s1new += einsum("ia,wia->w", x4, u11) + del x4 + x5 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x5 += einsum("ia,wja->wji", t1, g.bov) + x6 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x6 += einsum("wij->wij", x5) + del x5 + x6 += einsum("wij->wij", g.boo) + x24 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x24 += einsum("ia,wij->wja", t1, x6) + x25 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x25 -= einsum("wia->wia", x24) + del x24 + t1new -= einsum("wia,wij->ja", u11, x6) + del x6 + x7 = np.zeros((nocc, nocc), dtype=types[float]) + x7 += einsum("w,wij->ij", s1, g.boo) + x13 = np.zeros((nocc, nocc), dtype=types[float]) + x13 += einsum("ij->ij", x7) + x38 += einsum("ij->ji", x7) + del x7 + x8 = np.zeros((nocc, nocc), dtype=types[float]) + x8 += einsum("wia,wja->ij", g.bov, u11) + x13 += einsum("ij->ij", x8) + x40 = np.zeros((nocc, nocc), dtype=types[float]) + x40 += einsum("ij->ij", x8) + del x8 + x9 = np.zeros((nocc, nocc), dtype=types[float]) + x9 -= einsum("ia,ijka->jk", t1, v.ooov) + x13 += einsum("ij->ij", x9) + x40 += einsum("ij->ij", x9) + del x9 + x41 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x41 += einsum("ij,ikab->kjab", x40, t2) + del x40 + x42 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x42 -= einsum("ijab->ijba", x41) + del x41 + x10 = np.zeros((nocc, nocc), dtype=types[float]) + x10 -= einsum("ijab,jkab->ik", t2, v.oovv) + x13 += einsum("ij->ji", x10) * 0.5 + x44 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x44 += einsum("ij,kjab->kiab", x10, t2) + del x10 + x45 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x45 += einsum("ijab->ijba", x44) * -0.5 + del x44 + x11 += einsum("ia->ia", f.ov) + x12 = np.zeros((nocc, nocc), dtype=types[float]) + x12 += einsum("ia,ja->ij", t1, x11) + del x11 + x13 += einsum("ij->ji", x12) + del x12 + x13 += einsum("ij->ij", f.oo) + t1new += einsum("ia,ij->ja", t1, x13) * -1 + u11new = np.zeros((nbos, nocc, nvir), dtype=types[float]) + u11new += einsum("ij,wia->wja", x13, u11) * -1 + del x13 + x14 = np.zeros((nvir, nvir), dtype=types[float]) + x14 += einsum("w,wab->ab", s1, g.bvv) + x16 = np.zeros((nvir, nvir), dtype=types[float]) + x16 += einsum("ab->ab", x14) + x47 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x47 += einsum("ab,ijcb->ijac", x14, t2) + x57 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x57 += einsum("ijab->ijab", x47) + del x47 + x70 += einsum("ab->ab", x14) * -1 + del x14 + x15 = np.zeros((nvir, nvir), dtype=types[float]) + x15 -= einsum("ia,ibac->bc", t1, v.ovvv) + x16 -= einsum("ab->ab", x15) + x55 = np.zeros((nvir, nvir), dtype=types[float]) + x55 += einsum("ab->ab", x15) + x70 += einsum("ab->ab", x15) + del x15 + x16 += einsum("ab->ab", f.vv) + t1new += einsum("ia,ba->ib", t1, x16) + del x16 + x17 = np.zeros((nbos), dtype=types[float]) + x17 += einsum("w->w", G) + x17 += einsum("ia,wia->w", t1, g.bov) + t1new += einsum("w,wia->ia", x17, u11) + del x17 + x18 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x18 += einsum("ia,bcda->ibcd", t1, v.vvvv) + t2new = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + t2new -= einsum("ia,jbca->ijcb", t1, x18) + del x18 + x19 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x19 += einsum("ijab,jckb->ikac", t2, v.ovov) + x32 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x32 -= einsum("ijab->ijab", x19) + del x19 + x20 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x20 += einsum("ia,jbca->ijbc", t1, v.ovvv) + x21 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x21 -= einsum("ijab,kjcb->kiac", t2, x20) + x32 += einsum("ijab->ijab", x21) + del x21 + x50 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x50 -= einsum("ia,jkba->jikb", t1, x20) + del x20 + x52 += einsum("ijka->kjia", x50) + del x50 + x53 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x53 += einsum("ia,ijkb->jkab", t1, x52) + del x52 + x57 += einsum("ijab->jiab", x53) + del x53 + x22 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x22 += einsum("ia,wba->wib", t1, g.bvv) + x25 += einsum("wia->wia", x22) + del x22 + x23 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x23 += einsum("wia,jiba->wjb", g.bov, t2) + x25 += einsum("wia->wia", x23) + del x23 + x25 += einsum("wai->wia", g.bvo) + x26 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x26 += einsum("wia,wjb->ijab", u11, x25) + del x25 + x32 += einsum("ijab->jiba", x26) + del x26 + x27 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x27 += einsum("ia,jbka->ijkb", t1, v.ovov) + x30 += einsum("ijka->ijka", x27) + del x27 + x28 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x28 -= einsum("ijab,jklb->ikla", t2, v.ooov) + x30 += einsum("ijka->ijka", x28) + del x28 + x31 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x31 += einsum("ia,jikb->jkab", t1, x30) + del x30 + x32 += einsum("ijab->ijab", x31) + del x31 + t2new += einsum("ijab->ijab", x32) + t2new -= einsum("ijab->ijba", x32) + t2new -= einsum("ijab->jiab", x32) + t2new += einsum("ijab->jiba", x32) + del x32 + x33 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x33 += einsum("ia,bcja->ijbc", t1, v.vvov) + x42 += einsum("ijab->ijba", x33) + del x33 + x34 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x34 += einsum("ia,jkla->ijkl", t1, v.ooov) + x35 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x35 += einsum("ia,jkil->jkla", t1, x34) + x36 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x36 -= einsum("ia,jikb->jkba", t1, x35) + del x35 + x42 += einsum("ijab->ijba", x36) + del x36 + x43 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x43 += einsum("ijab,kijl->klab", t2, x34) + del x34 + x45 += einsum("ijab->ijba", x43) * -0.5 + del x43 + t2new += einsum("ijab->ijab", x45) * -1 + t2new += einsum("ijab->jiab", x45) + del x45 + x38 += einsum("ij->ji", f.oo) + x39 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x39 += einsum("ij,jkab->kiab", x38, t2) + del x38 + x42 += einsum("ijab->jiba", x39) + del x39 + t2new += einsum("ijab->ijab", x42) + t2new -= einsum("ijab->jiab", x42) + del x42 + x46 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x46 += einsum("ab,ijcb->ijac", f.vv, t2) + t2new += einsum("ijab->jiab", x46) + t2new -= einsum("ijab->jiba", x46) + del x46 + x48 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x48 += einsum("ijab,jkbc->ikac", t2, v.oovv) + x49 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x49 += einsum("ijab,kjcb->ikac", t2, x48) + del x48 + x57 -= einsum("ijab->ijab", x49) + del x49 + x54 = np.zeros((nvir, nvir), dtype=types[float]) + x54 += einsum("wia,wib->ab", g.bov, u11) + x55 += einsum("ab->ba", x54) + x56 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x56 += einsum("ab,ijbc->ijca", x55, t2) + del x55 + x57 += einsum("ijab->jiab", x56) + del x56 + t2new -= einsum("ijab->ijab", x57) + t2new += einsum("ijab->ijba", x57) + del x57 + x70 += einsum("ab->ba", x54) + del x54 + x58 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x58 += einsum("ijab,kcab->ijkc", t2, v.ovvv) + x59 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x59 += einsum("ia,jkib->jkab", t1, x58) + del x58 + x62 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x62 += einsum("ijab->ijab", x59) * 0.5 + del x59 + x60 = np.zeros((nvir, nvir), dtype=types[float]) + x60 -= einsum("ijab,ijbc->ac", t2, v.oovv) + x61 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x61 += einsum("ab,ijcb->ijca", x60, t2) + x62 += einsum("ijab->ijab", x61) * 0.5 + del x61 + t2new += einsum("ijab->ijab", x62) * -1 + t2new += einsum("ijab->ijba", x62) + del x62 + x70 += einsum("ab->ab", x60) * 0.5 + del x60 + x63 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x63 += einsum("ijab,klab->ijkl", t2, v.oovv) + x65 += einsum("ijkl->lkji", x63) * 0.49999999999999967 + x66 += einsum("ijkl->lkji", x63) * 0.5000000000000003 + del x63 + x65 += einsum("ijkl->jilk", v.oooo) * 0.9999999999999993 + t2new += einsum("ijab,ijkl->lkba", t2, x65) * 0.5000000000000003 + del x65 + x66 += einsum("ijkl->jilk", v.oooo) + x67 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x67 += einsum("ia,ijkl->lkja", t1, x66) + del x66 + x67 += einsum("iajk->kjia", v.ovoo) + t2new += einsum("ia,jkib->jkab", t1, x67) + del x67 + x68 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x68 += einsum("wia,ijab->wjb", u11, v.oovv) + x69 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x69 += einsum("wia->wia", x68) + del x68 + x69 += einsum("wia->wia", gc.bov) + x72 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x72 += einsum("ia,wja->wji", t1, x69) + u11new += einsum("wia,ijab->wjb", x69, t2) + del x69 + x70 += einsum("ab->ab", f.vv) * -1 + u11new += einsum("ab,wib->wia", x70, u11) * -1 + del x70 + x71 += einsum("ia->ia", f.ov) + x72 += einsum("ia,wja->wij", x71, u11) + del x71 + x72 += einsum("wij->wij", gc.boo) + x72 -= einsum("wia,ijka->wjk", u11, v.ooov) + u11new -= einsum("ia,wij->wja", t1, x72) + del x72 + x73 = np.zeros((nbos, nvir, nvir), dtype=types[float]) + x73 += einsum("wab->wab", gc.bvv) + x73 += einsum("wia,ibac->wbc", u11, v.ovvv) + u11new += einsum("ia,wba->wib", t1, x73) + del x73 + x74 = np.zeros((nbos, nbos), dtype=types[float]) + x74 += einsum("wx->wx", w) + x74 += einsum("wia,xia->xw", g.bov, u11) + u11new += einsum("wx,xia->wia", x74, u11) + del x74 + t1new += einsum("wab,wib->ia", g.bvv, u11) + t1new += einsum("ai->ia", f.vo) + t1new += einsum("w,wai->ia", s1, g.bvo) + t1new += einsum("ijab,jcab->ic", t2, v.ovvv) * -0.5 + t1new -= einsum("ia,ibja->jb", t1, v.ovov) + t2new -= einsum("ia,ibjk->kjba", t1, v.ovoo) + t2new += einsum("abij->jiba", v.vvoo) + t2new += einsum("ijab,cdab->jidc", t2, v.vvvv) * 0.5 + s1new += einsum("w,xw->x", s1, w) + s1new += einsum("ia,wia->w", t1, gc.bov) + s1new += einsum("w->w", G) + u11new += einsum("wai->wia", gc.bvo) + u11new -= einsum("wia,ibja->wjb", u11, v.ovov) + + return {"t1new": t1new, "t2new": t2new, "s1new": s1new, "u11new": u11new} + +def update_lams(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, u11=None, l1=None, l2=None, ls1=None, lu11=None, **kwargs): + # Get boson coupling creation array: + gc = Namespace( + boo=g.boo.transpose(0, 2, 1), + bov=g.bvo.transpose(0, 2, 1), + bvo=g.bov.transpose(0, 2, 1), + bvv=g.bvv.transpose(0, 2, 1), + ) + + # L1, L2, LS1 and LU11 amplitudes + x0 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x0 += einsum("abij,klab->ijkl", l2, t2) + x18 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x18 += einsum("ijkl->jilk", x0) * -1 + x112 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x112 += einsum("ijkl->jilk", x0) * -0.5 + l1new = np.zeros((nvir, nocc), dtype=types[float]) + l1new += einsum("ijka,lkij->al", v.ooov, x0) * -0.25 + del x0 + x1 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x1 += einsum("ia,bajk->jkib", t1, l2) + x2 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x2 += einsum("ia,jkla->jkil", t1, x1) + x18 += einsum("ijkl->ijlk", x2) * 2.0000000000000013 + x19 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x19 += einsum("ia,ijkl->jlka", t1, x18) * -0.5 + del x18 + x112 += einsum("ijkl->ijlk", x2) + l2new = np.zeros((nvir, nvir, nocc, nocc), dtype=types[float]) + l2new += einsum("ijab,klij->balk", v.oovv, x112) * -0.5 + del x112 + l1new += einsum("ijka,lkji->al", v.ooov, x2) * 0.5 + del x2 + x19 += einsum("ijab,kjlb->klia", t2, x1) * 2 + x50 = np.zeros((nocc, nvir), dtype=types[float]) + x50 += einsum("ijab,ijka->kb", t2, x1) + x54 = np.zeros((nocc, nvir), dtype=types[float]) + x54 += einsum("ia->ia", x50) * 0.5 + del x50 + l2new += einsum("iabc,jkia->cbkj", v.ovvv, x1) + x3 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x3 -= einsum("wia,abji->wjb", u11, l2) + x65 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x65 += einsum("ia,wja->wji", t1, x3) + x73 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x73 += einsum("wia,wjb->ijab", g.bov, x3) + x81 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x81 += einsum("ijab->ijab", x73) + del x73 + l1new += einsum("wab,wia->bi", g.bvv, x3) + x4 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x4 -= einsum("abij,kicb->jkac", l2, t2) + l1new -= einsum("iabc,jiac->bj", v.ovvv, x4) + del x4 + x5 = np.zeros((nocc, nvir), dtype=types[float]) + x5 += einsum("w,wia->ia", s1, g.bov) + x11 = np.zeros((nocc, nvir), dtype=types[float]) + x11 += einsum("ia->ia", x5) + x59 = np.zeros((nocc, nvir), dtype=types[float]) + x59 += einsum("ia->ia", x5) + x80 = np.zeros((nocc, nvir), dtype=types[float]) + x80 += einsum("ia->ia", x5) + x6 = np.zeros((nocc, nocc), dtype=types[float]) + x6 += einsum("ai,ja->ij", l1, t1) + x52 = np.zeros((nocc, nocc), dtype=types[float]) + x52 += einsum("ij->ij", x6) * 2 + x68 = np.zeros((nocc, nocc), dtype=types[float]) + x68 += einsum("ij->ij", x6) + x120 = np.zeros((nocc, nocc), dtype=types[float]) + x120 += einsum("ij->ij", x6) + l1new -= einsum("ia,ji->aj", x5, x6) + del x5 + ls1new = np.zeros((nbos), dtype=types[float]) + ls1new -= einsum("ij,wji->w", x6, g.boo) + del x6 + x7 = np.zeros((nocc, nocc), dtype=types[float]) + x7 += einsum("abij,ikab->jk", l2, t2) + x19 += einsum("ia,jk->jkia", t1, x7) * -1 + x52 += einsum("ij->ij", x7) + x64 = np.zeros((nocc, nocc), dtype=types[float]) + x64 += einsum("ij->ij", x7) * 0.5 + x83 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x83 -= einsum("ij,kjab->ikab", x7, v.oovv) + x84 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x84 += einsum("ijab->ijba", x83) * -0.5 + del x83 + x120 += einsum("ij->ij", x7) * 0.5 + l1new += einsum("ia,ji->aj", f.ov, x7) * -0.5 + del x7 + x8 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x8 += einsum("ia,jkba->ijkb", t1, v.oovv) + x9 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x9 += einsum("ijka->ikja", x8) * -1 + x13 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x13 += einsum("ijka->kjia", x8) * 0.5000000000000003 + x78 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x78 -= einsum("ijka->ikja", x8) + x98 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x98 -= einsum("ai,ijkb->kjab", l1, x8) + x106 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x106 += einsum("ijab->ijab", x98) + del x98 + x110 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x110 += einsum("ijka->kjia", x8) * 0.5 + del x8 + x9 += einsum("ijka->kjia", v.ooov) + x17 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x17 += einsum("ijab,kila->lkjb", t2, x9) * 2 + x26 = np.zeros((nocc, nvir), dtype=types[float]) + x26 += einsum("ijab,kija->kb", t2, x9) * 0.5 + del x9 + x45 = np.zeros((nocc, nvir), dtype=types[float]) + x45 += einsum("ia->ia", x26) + del x26 + x10 = np.zeros((nocc, nvir), dtype=types[float]) + x10 += einsum("ia,jiba->jb", t1, v.oovv) + x11 += einsum("ia->ia", x10) + x59 += einsum("ia->ia", x10) + x69 = np.zeros((nocc, nvir), dtype=types[float]) + x69 += einsum("ia->ia", x10) + x81 += einsum("ai,jb->ijab", l1, x10) + x94 = np.zeros((nocc, nocc), dtype=types[float]) + x94 += einsum("ia,ja->ij", t1, x10) + x95 = np.zeros((nocc, nocc), dtype=types[float]) + x95 += einsum("ij->ji", x94) + del x94 + x101 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x101 -= einsum("ia,jkib->kjba", x10, x1) + x106 -= einsum("ijab->ijab", x101) + del x101 + x118 = np.zeros((nvir, nvir), dtype=types[float]) + x118 += einsum("ia,ib->ab", t1, x10) + del x10 + x11 += einsum("ia->ia", f.ov) + x17 += einsum("ia,jkab->ikjb", x11, t2) * -1 + x27 = np.zeros((nocc, nvir), dtype=types[float]) + x27 += einsum("ia,ijab->jb", x11, t2) + x45 += einsum("ia->ia", x27) * -1 + del x27 + x35 = np.zeros((nocc, nocc), dtype=types[float]) + x35 += einsum("ia,ja->ij", t1, x11) + x36 = np.zeros((nocc, nocc), dtype=types[float]) + x36 += einsum("ij->ji", x35) + del x35 + lu11new = np.zeros((nbos, nvir, nocc), dtype=types[float]) + lu11new += einsum("w,ia->wai", ls1, x11) * 2 + del x11 + x12 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x12 += einsum("ijab,klab->ijkl", t2, v.oovv) + x14 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x14 += einsum("ijkl->lkji", x12) + x111 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x111 += einsum("ijkl->lkji", x12) + del x12 + x13 += einsum("ijka->jika", v.ooov) * -1 + x14 += einsum("ia,jkla->kjli", t1, x13) * -4 + del x13 + x14 += einsum("ijkl->jilk", v.oooo) * 2 + x17 += einsum("ia,ijkl->jlka", t1, x14) * -0.5 + del x14 + x15 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x15 += einsum("ia,jbca->ijbc", t1, v.ovvv) + x16 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x16 += einsum("ijab->jiab", x15) * -0.5 + x21 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x21 -= einsum("ijab->jiab", x15) + x76 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x76 += einsum("ijab->ijab", x15) + del x15 + x16 += einsum("iajb->ijab", v.ovov) + x17 += einsum("ia,jkba->jikb", t1, x16) * -2 + del x16 + x17 += einsum("iajk->ikja", v.ovoo) * -1 + x17 += einsum("ijab,kcab->kjic", t2, v.ovvv) * -0.5 + l1new += einsum("abij,kija->bk", l2, x17) * 0.5 + del x17 + x19 += einsum("ai,jkba->ikjb", l1, t2) * -1 + l1new += einsum("ijab,kija->bk", v.oovv, x19) * -0.5 + del x19 + x20 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x20 += einsum("abic->ibac", v.vvov) * -1 + x20 += einsum("ia,bcda->icbd", t1, v.vvvv) + l1new += einsum("abij,iabc->cj", l2, x20) * 0.5 + del x20 + x21 += einsum("iajb->ijab", v.ovov) + l1new += einsum("ijka,kiab->bj", x1, x21) + del x21 + x22 = np.zeros((nocc, nvir), dtype=types[float]) + x22 += einsum("w,wai->ia", s1, g.bvo) + x45 += einsum("ia->ia", x22) * -1 + del x22 + x23 = np.zeros((nocc, nvir), dtype=types[float]) + x23 += einsum("wab,wib->ia", g.bvv, u11) + x45 += einsum("ia->ia", x23) * -1 + del x23 + x24 = np.zeros((nocc, nvir), dtype=types[float]) + x24 += einsum("ia,ibja->jb", t1, v.ovov) + x45 += einsum("ia->ia", x24) + del x24 + x25 = np.zeros((nocc, nvir), dtype=types[float]) + x25 -= einsum("ijab,icab->jc", t2, v.ovvv) + x45 += einsum("ia->ia", x25) * 0.5 + del x25 + x28 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x28 += einsum("ia,wja->wji", t1, g.bov) + x29 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x29 += einsum("wij->wij", x28) + x66 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x66 += einsum("wij->wij", x28) + del x28 + x29 += einsum("wij->wij", g.boo) + x30 = np.zeros((nocc, nvir), dtype=types[float]) + x30 += einsum("wia,wij->ja", u11, x29) + del x29 + x45 += einsum("ia->ia", x30) + del x30 + x31 = np.zeros((nocc, nocc), dtype=types[float]) + x31 += einsum("w,wij->ij", s1, g.boo) + x36 += einsum("ij->ij", x31) + x91 = np.zeros((nocc, nocc), dtype=types[float]) + x91 += einsum("ij->ij", x31) + del x31 + x32 = np.zeros((nocc, nocc), dtype=types[float]) + x32 += einsum("wia,wja->ij", g.bov, u11) + x36 += einsum("ij->ij", x32) + x91 += einsum("ij->ij", x32) + del x32 + x33 = np.zeros((nocc, nocc), dtype=types[float]) + x33 -= einsum("ia,ijka->jk", t1, v.ooov) + x36 += einsum("ij->ij", x33) + x95 += einsum("ij->ij", x33) + del x33 + x96 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x96 += einsum("ij,abjk->kiab", x95, l2) + del x95 + x97 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x97 -= einsum("ijab->ijba", x96) + del x96 + x34 = np.zeros((nocc, nocc), dtype=types[float]) + x34 += einsum("ijab,ikab->jk", t2, v.oovv) + x36 += einsum("ij->ji", x34) * 0.5 + x82 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x82 += einsum("ij,abki->kjab", x34, l2) + del x34 + x84 += einsum("ijab->ijba", x82) * -0.5 + del x82 + l2new += einsum("ijab->abij", x84) * -1 + l2new += einsum("ijab->abji", x84) + del x84 + x36 += einsum("ij->ij", f.oo) + x37 = np.zeros((nocc, nvir), dtype=types[float]) + x37 += einsum("ia,ij->ja", t1, x36) + x45 += einsum("ia->ia", x37) + del x37 + l1new += einsum("ai,ji->aj", l1, x36) * -1 + lu11new += einsum("ij,waj->wai", x36, lu11) * -1 + del x36 + x38 = np.zeros((nvir, nvir), dtype=types[float]) + x38 += einsum("w,wab->ab", s1, g.bvv) + x40 = np.zeros((nvir, nvir), dtype=types[float]) + x40 += einsum("ab->ab", x38) + x67 = np.zeros((nvir, nvir), dtype=types[float]) + x67 += einsum("ab->ab", x38) + x103 = np.zeros((nvir, nvir), dtype=types[float]) + x103 += einsum("ab->ab", x38) + x118 += einsum("ab->ab", x38) * -1 + del x38 + x39 = np.zeros((nvir, nvir), dtype=types[float]) + x39 -= einsum("ia,ibac->bc", t1, v.ovvv) + x40 += einsum("ab->ab", x39) * -1 + x67 -= einsum("ab->ab", x39) + x100 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x100 -= einsum("ab,caij->jicb", x39, l2) + x106 -= einsum("ijab->ijab", x100) + del x100 + x118 += einsum("ab->ab", x39) + del x39 + x40 += einsum("ab->ab", f.vv) + x41 = np.zeros((nocc, nvir), dtype=types[float]) + x41 += einsum("ia,ba->ib", t1, x40) + del x40 + x45 += einsum("ia->ia", x41) * -1 + del x41 + x42 = np.zeros((nbos), dtype=types[float]) + x42 += einsum("ia,wia->w", t1, g.bov) + x43 = np.zeros((nbos), dtype=types[float]) + x43 += einsum("w->w", x42) + del x42 + x43 += einsum("w->w", G) + x44 = np.zeros((nocc, nvir), dtype=types[float]) + x44 += einsum("w,wia->ia", x43, u11) + del x43 + x45 += einsum("ia->ia", x44) * -1 + del x44 + x45 += einsum("ai->ia", f.vo) * -1 + l1new += einsum("ia,abij->bj", x45, l2) * -1 + ls1new += einsum("ia,wai->w", x45, lu11) * -1 + del x45 + x46 = np.zeros((nocc, nvir), dtype=types[float]) + x46 += einsum("w,wia->ia", ls1, u11) + x54 += einsum("ia->ia", x46) * -1 + del x46 + x47 = np.zeros((nocc, nvir), dtype=types[float]) + x47 += einsum("ai,jiba->jb", l1, t2) + x54 += einsum("ia->ia", x47) * -1 + del x47 + x48 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x48 += einsum("ia,waj->wji", t1, lu11) + x49 = np.zeros((nocc, nvir), dtype=types[float]) + x49 += einsum("wia,wij->ja", u11, x48) + x54 += einsum("ia->ia", x49) + del x49 + x117 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x117 -= einsum("ia,wij->wja", t1, x48) + lu11new += einsum("wij,kjia->wak", x48, v.ooov) + x51 = np.zeros((nocc, nocc), dtype=types[float]) + x51 += einsum("wai,wja->ij", lu11, u11) + x52 += einsum("ij->ij", x51) * 2 + x53 = np.zeros((nocc, nvir), dtype=types[float]) + x53 += einsum("ia,ij->ja", t1, x52) * 0.5 + x54 += einsum("ia->ia", x53) + del x53 + l1new += einsum("ij,jkia->ak", x52, v.ooov) * -0.5 + del x52 + x64 += einsum("ij->ij", x51) + x65 += einsum("w,ij->wij", s1, x64) + ls1new += einsum("ij,wji->w", x64, g.boo) * -1 + del x64 + x68 += einsum("ij->ij", x51) + x93 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x93 += einsum("ij,jkab->kiab", x68, v.oovv) + x97 += einsum("ijab->jiba", x93) + del x93 + x120 += einsum("ij->ij", x51) + del x51 + lu11new += einsum("ij,wja->wai", x120, g.bov) * -1 + del x120 + x54 += einsum("ia->ia", t1) * -1 + l1new += einsum("ia,ijab->bj", x54, v.oovv) * -1 + ls1new += einsum("ia,wia->w", x54, g.bov) * -1 + del x54 + x55 = np.zeros((nvir, nvir), dtype=types[float]) + x55 += einsum("ai,ib->ab", l1, t1) + x58 = np.zeros((nvir, nvir), dtype=types[float]) + x58 += einsum("ab->ab", x55) + ls1new += einsum("ab,wab->w", x55, g.bvv) + del x55 + x56 = np.zeros((nvir, nvir), dtype=types[float]) + x56 += einsum("wai,wib->ab", lu11, u11) + x58 += einsum("ab->ab", x56) + x99 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x99 -= einsum("ab,ijcb->jiac", x56, v.oovv) + x106 += einsum("ijab->ijab", x99) + del x99 + x113 = np.zeros((nvir, nvir), dtype=types[float]) + x113 += einsum("ab->ab", x56) * 2 + x119 = np.zeros((nvir, nvir), dtype=types[float]) + x119 += einsum("ab->ab", x56) + del x56 + x57 = np.zeros((nvir, nvir), dtype=types[float]) + x57 -= einsum("abij,ijbc->ac", l2, t2) + x58 += einsum("ab->ab", x57) * 0.5 + l1new += einsum("ab,iabc->ci", x58, v.ovvv) * -1 + del x58 + x85 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x85 += einsum("ab,ijcb->jiac", x57, v.oovv) + x88 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x88 += einsum("ijab->ijab", x85) * 0.5 + del x85 + x113 += einsum("ab->ab", x57) + ls1new += einsum("ab,wab->w", x113, g.bvv) * 0.5 + del x113 + x119 += einsum("ab->ab", x57) * 0.5 + del x57 + lu11new += einsum("ab,wib->wai", x119, g.bov) * -1 + del x119 + x59 += einsum("ia->ia", f.ov) + x62 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x62 += einsum("ia,wja->wij", x59, u11) + x70 = np.zeros((nbos), dtype=types[float]) + x70 += einsum("ia,wia->w", x59, u11) + del x59 + x60 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x60 += einsum("wia,ijab->wjb", u11, v.oovv) + x61 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x61 += einsum("wia->wia", x60) + x74 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x74 += einsum("wai,wjb->ijab", lu11, x60) + del x60 + x81 += einsum("ijab->ijab", x74) + del x74 + x61 += einsum("wia->wia", gc.bov) + x62 += einsum("ia,wja->wji", t1, x61) + l1new -= einsum("wij,wja->ai", x48, x61) + del x61 + x62 += einsum("wij->wij", gc.boo) + x62 += einsum("wia,jika->wjk", u11, v.ooov) + l1new -= einsum("wai,wji->aj", lu11, x62) + del x62 + x63 = np.zeros((nbos, nvir, nvir), dtype=types[float]) + x63 += einsum("wab->wab", gc.bvv) + x63 -= einsum("wia,ibca->wbc", u11, v.ovvv) + l1new += einsum("wai,wab->bi", lu11, x63) + del x63 + x65 += einsum("ai,wja->wij", l1, u11) + l1new += einsum("wia,wji->aj", g.bov, x65) * -1 + del x65 + x66 += einsum("wij->wij", g.boo) + x116 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x116 -= einsum("ia,wij->wja", t1, x66) + l1new -= einsum("wia,wji->aj", x3, x66) + del x3 + lu11new -= einsum("ai,wji->waj", l1, x66) + del x66 + x67 += einsum("ab->ab", f.vv) + l1new += einsum("ai,ab->bi", l1, x67) + del x67 + x69 += einsum("ia->ia", f.ov) + l1new -= einsum("ij,ja->ai", x68, x69) + del x68 + del x69 + x70 += einsum("w->w", G) + x70 += einsum("w,xw->x", s1, w) + x70 += einsum("ia,wia->w", t1, gc.bov) + l1new += einsum("w,wai->ai", x70, lu11) + del x70 + x71 = np.zeros((nbos), dtype=types[float]) + x71 += einsum("w->w", s1) + x71 += einsum("ai,wia->w", l1, u11) + l1new += einsum("w,wia->ai", x71, g.bov) + del x71 + x72 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x72 += einsum("wia,wbj->ijab", gc.bov, lu11) + x81 += einsum("ijab->ijab", x72) + del x72 + x75 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x75 -= einsum("ijab,ikca->jkbc", t2, v.oovv) + x76 += einsum("ijab->ijab", x75) + del x75 + x76 -= einsum("iajb->jiab", v.ovov) + x77 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x77 += einsum("abij,ikac->jkbc", l2, x76) + del x76 + x81 += einsum("ijab->ijab", x77) + del x77 + x78 += einsum("ijka->kjia", v.ooov) + x79 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x79 += einsum("ijka,iklb->jlab", x1, x78) + del x78 + x81 -= einsum("ijab->ijab", x79) + del x79 + x80 += einsum("ia->ia", f.ov) + x81 += einsum("ai,jb->jiba", l1, x80) + l2new += einsum("ijab->abij", x81) + l2new -= einsum("ijab->baij", x81) + l2new -= einsum("ijab->abji", x81) + l2new += einsum("ijab->baji", x81) + del x81 + x90 = np.zeros((nocc, nocc), dtype=types[float]) + x90 += einsum("ia,ja->ij", t1, x80) + x91 += einsum("ij->ji", x90) + del x90 + x105 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x105 += einsum("ia,jkib->jkba", x80, x1) + del x1 + x106 -= einsum("ijab->jiba", x105) + del x105 + lu11new -= einsum("ia,wji->waj", x80, x48) + del x48 + del x80 + x86 = np.zeros((nvir, nvir), dtype=types[float]) + x86 += einsum("ijab,ijac->bc", t2, v.oovv) + x87 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x87 -= einsum("ab,caij->jicb", x86, l2) + x88 += einsum("ijab->ijab", x87) * 0.5 + del x87 + l2new += einsum("ijab->abij", x88) * -1 + l2new += einsum("ijab->baij", x88) + del x88 + x118 += einsum("ab->ab", x86) * 0.5 + del x86 + x89 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x89 += einsum("ai,jabc->ijbc", l1, v.ovvv) + x97 += einsum("ijab->ijba", x89) + del x89 + x91 += einsum("ij->ij", f.oo) + x92 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x92 += einsum("ij,abjk->kiab", x91, l2) + del x91 + x97 += einsum("ijab->jiba", x92) + del x92 + l2new += einsum("ijab->abij", x97) + l2new -= einsum("ijab->abji", x97) + del x97 + x102 = np.zeros((nvir, nvir), dtype=types[float]) + x102 += einsum("wia,wib->ab", g.bov, u11) + x103 -= einsum("ab->ba", x102) + x104 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x104 += einsum("ab,acij->ijcb", x103, l2) + del x103 + x106 -= einsum("ijab->jiba", x104) + del x104 + l2new += einsum("ijab->abij", x106) + l2new -= einsum("ijab->baij", x106) + del x106 + x118 += einsum("ab->ba", x102) + del x102 + x107 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x107 += einsum("ai,jkib->jkab", l1, v.ooov) + x109 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x109 -= einsum("ijab->jiab", x107) + del x107 + x108 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x108 += einsum("ab,caij->ijbc", f.vv, l2) + x109 -= einsum("ijab->jiab", x108) + del x108 + l2new -= einsum("ijab->abij", x109) + l2new += einsum("ijab->baij", x109) + del x109 + x110 += einsum("ijka->jika", v.ooov) * -1 + x111 += einsum("ia,jkla->kjli", t1, x110) * -4 + del x110 + x111 += einsum("ijkl->jilk", v.oooo) * 2 + l2new += einsum("abij,klij->balk", l2, x111) * 0.25 + del x111 + x114 = np.zeros((nbos, nbos), dtype=types[float]) + x114 += einsum("wai,xia->wx", lu11, u11) + lu11new += einsum("wx,xia->wai", x114, g.bov) + del x114 + x115 = np.zeros((nbos, nvir, nvir), dtype=types[float]) + x115 += einsum("ia,wbi->wba", t1, lu11) + lu11new += einsum("wab,iacb->wci", x115, v.ovvv) + del x115 + x116 += einsum("wai->wia", g.bvo) + x116 += einsum("ia,wba->wib", t1, g.bvv) + x116 += einsum("wia,jiba->wjb", g.bov, t2) + lu11new += einsum("wia,abij->wbj", x116, l2) + del x116 + x117 += einsum("wai,ijab->wjb", lu11, t2) + lu11new += einsum("wia,ijab->wbj", x117, v.oovv) + del x117 + x118 += einsum("ab->ab", f.vv) * -1 + lu11new += einsum("ab,wai->wbi", x118, lu11) * -1 + del x118 + x121 = np.zeros((nbos, nbos), dtype=types[float]) + x121 += einsum("wx->wx", w) + x121 += einsum("wia,xia->xw", g.bov, u11) + lu11new += einsum("wx,wai->xai", x121, lu11) + del x121 + l1new -= einsum("ai,jaib->bj", l1, v.ovov) + l1new += einsum("ia->ai", f.ov) + l1new += einsum("w,wia->ai", ls1, gc.bov) + l2new += einsum("abij,abcd->dcji", l2, v.vvvv) * 0.5 + l2new += einsum("ijab->baji", v.oovv) + ls1new += einsum("ai,wai->w", l1, g.bvo) + ls1new += einsum("w->w", G) + ls1new += einsum("w,wx->x", ls1, w) + lu11new += einsum("wia->wai", g.bov) + lu11new -= einsum("wai,jaib->wbj", lu11, v.ovov) + lu11new += einsum("ai,wab->wbi", l1, g.bvv) + + return {"l1new": l1new, "l2new": l2new, "ls1new": ls1new, "lu11new": lu11new} + +def make_rdm1_f(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, u11=None, l1=None, l2=None, ls1=None, lu11=None, **kwargs): + # Get boson coupling creation array: + gc = Namespace( + boo=g.boo.transpose(0, 2, 1), + bov=g.bvo.transpose(0, 2, 1), + bvo=g.bov.transpose(0, 2, 1), + bvv=g.bvv.transpose(0, 2, 1), + ) + + delta_oo = np.eye(nocc) + delta_vv = np.eye(nvir) + + # 1RDM + x0 = np.zeros((nocc, nocc), dtype=types[float]) + x0 += einsum("ai,ja->ij", l1, t1) + x5 = np.zeros((nocc, nocc), dtype=types[float]) + x5 += einsum("ij->ij", x0) + rdm1_f_oo = np.zeros((nocc, nocc), dtype=types[float]) + rdm1_f_oo -= einsum("ij->ij", x0) + del x0 + x1 = np.zeros((nocc, nocc), dtype=types[float]) + x1 += einsum("wai,wja->ij", lu11, u11) + x5 += einsum("ij->ij", x1) + rdm1_f_oo -= einsum("ij->ij", x1) + del x1 + x2 = np.zeros((nocc, nocc), dtype=types[float]) + x2 += einsum("abij,kjab->ik", l2, t2) + x5 += einsum("ij->ij", x2) * 0.5 + rdm1_f_vo = np.zeros((nvir, nocc), dtype=types[float]) + rdm1_f_vo += einsum("ia,ij->aj", t1, x5) * -1 + del x5 + rdm1_f_oo += einsum("ij->ij", x2) * -0.5 + del x2 + x3 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x3 += einsum("ia,waj->wji", t1, lu11) + rdm1_f_vo -= einsum("wia,wij->aj", u11, x3) + del x3 + x4 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x4 += einsum("ia,bajk->jkib", t1, l2) + rdm1_f_vo += einsum("ijab,ijkb->ak", t2, x4) * 0.5 + del x4 + rdm1_f_oo += einsum("ij->ji", delta_oo) + rdm1_f_ov = np.zeros((nocc, nvir), dtype=types[float]) + rdm1_f_ov += einsum("ai->ia", l1) + rdm1_f_vo += einsum("w,wia->ai", ls1, u11) + rdm1_f_vo += einsum("ia->ai", t1) + rdm1_f_vo += einsum("ai,jiba->bj", l1, t2) + rdm1_f_vv = np.zeros((nvir, nvir), dtype=types[float]) + rdm1_f_vv += einsum("ai,ib->ba", l1, t1) + rdm1_f_vv += einsum("wai,wib->ba", lu11, u11) + rdm1_f_vv += einsum("abij,ijca->cb", l2, t2) * -0.5 + + rdm1_f = np.block([[rdm1_f_oo, rdm1_f_ov], [rdm1_f_vo, rdm1_f_vv]]) + + return rdm1_f + +def make_rdm2_f(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, u11=None, l1=None, l2=None, ls1=None, lu11=None, **kwargs): + # Get boson coupling creation array: + gc = Namespace( + boo=g.boo.transpose(0, 2, 1), + bov=g.bvo.transpose(0, 2, 1), + bvo=g.bov.transpose(0, 2, 1), + bvv=g.bvv.transpose(0, 2, 1), + ) + + delta_oo = np.eye(nocc) + delta_vv = np.eye(nvir) + + # 2RDM + x0 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x0 += einsum("abij,klab->ijkl", l2, t2) + x20 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x20 += einsum("ijkl->jilk", x0) * -1 + x48 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x48 += einsum("ijkl->jilk", x0) * -1 + x49 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x49 += einsum("ijkl->jilk", x0) * -1 + rdm2_f_oooo = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + rdm2_f_oooo += einsum("ijkl->jilk", x0) * 0.5 + del x0 + x1 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x1 += einsum("ia,bajk->jkib", t1, l2) + x2 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x2 += einsum("ia,jkla->jkil", t1, x1) + x20 += einsum("ijkl->ijlk", x2) * 2 + x21 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x21 += einsum("ia,ijkl->jkla", t1, x20) * 0.5 + del x20 + rdm2_f_ovoo = np.zeros((nocc, nvir, nocc, nocc), dtype=types[float]) + rdm2_f_ovoo += einsum("ijka->iakj", x21) * -1 + rdm2_f_vooo = np.zeros((nvir, nocc, nocc, nocc), dtype=types[float]) + rdm2_f_vooo += einsum("ijka->aikj", x21) + del x21 + x48 += einsum("ijkl->ijlk", x2) * 2.0000000000000013 + rdm2_f_vvoo = np.zeros((nvir, nvir, nocc, nocc), dtype=types[float]) + rdm2_f_vvoo += einsum("ijab,ijkl->balk", t2, x48) * -0.25 + del x48 + x49 += einsum("ijkl->ijlk", x2) * 1.9999999999999987 + x50 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x50 += einsum("ia,ijkl->jlka", t1, x49) * -1 + del x49 + rdm2_f_vvoo += einsum("ia,ijkb->abkj", t1, x50) * -0.5000000000000003 + del x50 + rdm2_f_oooo -= einsum("ijkl->ijlk", x2) + del x2 + x9 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x9 -= einsum("ijab,kjlb->klia", t2, x1) + x15 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x15 += einsum("ijka->ijka", x9) + x25 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x25 -= einsum("ijka->ijka", x9) + x33 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x33 += einsum("ia,ijkb->jkab", t1, x9) + del x9 + x38 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x38 -= einsum("ijab->ijab", x33) + del x33 + x16 = np.zeros((nocc, nvir), dtype=types[float]) + x16 -= einsum("ijab,ijkb->ka", t2, x1) + x18 = np.zeros((nocc, nvir), dtype=types[float]) + x18 += einsum("ia->ia", x16) + del x16 + x28 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x28 += einsum("ia,jikb->jkba", t1, x1) + x56 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x56 -= einsum("ia,ijbc->jbca", t1, x28) + rdm2_f_vvov = np.zeros((nvir, nvir, nocc, nvir), dtype=types[float]) + rdm2_f_vvov -= einsum("iabc->cbia", x56) + rdm2_f_vvvo = np.zeros((nvir, nvir, nvir, nocc), dtype=types[float]) + rdm2_f_vvvo += einsum("iabc->cbai", x56) + del x56 + rdm2_f_ovov = np.zeros((nocc, nvir, nocc, nvir), dtype=types[float]) + rdm2_f_ovov += einsum("ijab->ibja", x28) + rdm2_f_ovvo = np.zeros((nocc, nvir, nvir, nocc), dtype=types[float]) + rdm2_f_ovvo -= einsum("ijab->ibaj", x28) + rdm2_f_voov = np.zeros((nvir, nocc, nocc, nvir), dtype=types[float]) + rdm2_f_voov -= einsum("ijab->bija", x28) + rdm2_f_vovo = np.zeros((nvir, nocc, nvir, nocc), dtype=types[float]) + rdm2_f_vovo += einsum("ijab->biaj", x28) + del x28 + x55 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x55 += einsum("ijab,ijkc->kcab", t2, x1) + rdm2_f_vvov += einsum("iabc->bcia", x55) * 0.5 + rdm2_f_vvvo += einsum("iabc->bcai", x55) * -0.5 + del x55 + rdm2_f_ooov = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + rdm2_f_ooov -= einsum("ijka->jika", x1) + rdm2_f_oovo = np.zeros((nocc, nocc, nvir, nocc), dtype=types[float]) + rdm2_f_oovo += einsum("ijka->jiak", x1) + del x1 + x3 = np.zeros((nocc, nocc), dtype=types[float]) + x3 += einsum("ai,ja->ij", l1, t1) + x14 = np.zeros((nocc, nocc), dtype=types[float]) + x14 += einsum("ij->ij", x3) + x23 = np.zeros((nocc, nvir), dtype=types[float]) + x23 += einsum("ia,ij->ja", t1, x3) + x24 = np.zeros((nocc, nvir), dtype=types[float]) + x24 -= einsum("ia->ia", x23) + del x23 + x43 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x43 += einsum("ij,kiab->jkab", x3, t2) + x45 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x45 -= einsum("ijab->ijba", x43) + del x43 + rdm2_f_oooo -= einsum("ij,kl->jkil", delta_oo, x3) + rdm2_f_oooo += einsum("ij,kl->kjil", delta_oo, x3) + rdm2_f_oooo += einsum("ij,kl->jkli", delta_oo, x3) + rdm2_f_oooo -= einsum("ij,kl->kjli", delta_oo, x3) + del x3 + x4 = np.zeros((nocc, nocc), dtype=types[float]) + x4 += einsum("abij,kjab->ik", l2, t2) + x17 = np.zeros((nocc, nvir), dtype=types[float]) + x17 += einsum("ia,ij->ja", t1, x4) + x18 += einsum("ia->ia", x17) + del x17 + x19 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x19 += einsum("ij,ka->jika", delta_oo, x18) * 0.5 + rdm2_f_vooo += einsum("ij,ka->aijk", delta_oo, x18) * 0.5 + rdm2_f_vooo += einsum("ij,ka->aikj", delta_oo, x18) * -0.5 + rdm2_f_vvoo += einsum("ia,jb->abij", t1, x18) * -0.5000000000000003 + rdm2_f_vvoo += einsum("ia,jb->baij", t1, x18) * 0.5000000000000003 + rdm2_f_vvoo += einsum("ia,jb->abji", t1, x18) * 0.5000000000000003 + rdm2_f_vvoo += einsum("ia,jb->baji", t1, x18) * -0.5000000000000003 + del x18 + x19 += einsum("ia,jk->jika", t1, x4) * -0.5 + rdm2_f_ovoo += einsum("ijka->iajk", x19) * -1 + rdm2_f_ovoo += einsum("ijka->iakj", x19) + del x19 + x47 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x47 += einsum("ij,kiab->kjab", x4, t2) + rdm2_f_vvoo += einsum("ijab->abij", x47) * -0.5 + rdm2_f_vvoo += einsum("ijab->abji", x47) * 0.5 + del x47 + rdm2_f_oooo += einsum("ij,kl->ikjl", delta_oo, x4) * -0.5 + rdm2_f_oooo += einsum("ij,kl->iklj", delta_oo, x4) * 0.5 + rdm2_f_oooo += einsum("ij,kl->kjil", delta_oo, x4) * 0.5 + rdm2_f_oooo += einsum("ij,kl->kjli", delta_oo, x4) * -0.5 + rdm2_f_vooo += einsum("ia,jk->ajik", t1, x4) * -0.5 + rdm2_f_vooo += einsum("ia,jk->ajki", t1, x4) * 0.5 + del x4 + x5 = np.zeros((nocc, nocc), dtype=types[float]) + x5 += einsum("wai,wja->ij", lu11, u11) + x12 = np.zeros((nocc, nvir), dtype=types[float]) + x12 += einsum("ia,ij->ja", t1, x5) + x13 = np.zeros((nocc, nvir), dtype=types[float]) + x13 += einsum("ia->ia", x12) + del x12 + x14 += einsum("ij->ij", x5) + x15 -= einsum("ia,jk->jika", t1, x14) + x25 += einsum("ia,jk->jika", t1, x14) + x51 = np.zeros((nocc, nvir), dtype=types[float]) + x51 += einsum("ia,ij->ja", t1, x14) + del x14 + x52 = np.zeros((nocc, nvir), dtype=types[float]) + x52 += einsum("ia->ia", x51) + x53 = np.zeros((nocc, nvir), dtype=types[float]) + x53 += einsum("ia->ia", x51) + del x51 + x44 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x44 += einsum("ij,kiab->kjab", x5, t2) + x45 += einsum("ijab->ijba", x44) + del x44 + rdm2_f_vvoo -= einsum("ijab->baij", x45) + rdm2_f_vvoo += einsum("ijab->baji", x45) + del x45 + rdm2_f_oooo -= einsum("ij,kl->ikjl", delta_oo, x5) + rdm2_f_oooo += einsum("ij,kl->iklj", delta_oo, x5) + rdm2_f_oooo += einsum("ij,kl->kjil", delta_oo, x5) + rdm2_f_oooo -= einsum("ij,kl->kjli", delta_oo, x5) + del x5 + x6 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x6 += einsum("ai,jkba->ijkb", l1, t2) + x39 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x39 += einsum("ia,ijkb->jkab", t1, x6) + x42 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x42 += einsum("ijab->ijab", x39) + del x39 + rdm2_f_ovoo -= einsum("ijka->iakj", x6) + rdm2_f_vooo += einsum("ijka->aikj", x6) + del x6 + x7 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x7 += einsum("ia,waj->wji", t1, lu11) + x8 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x8 += einsum("wia,wjk->jkia", u11, x7) + x15 += einsum("ijka->ijka", x8) + x25 -= einsum("ijka->ijka", x8) + del x8 + rdm2_f_vooo -= einsum("ijka->aijk", x25) + rdm2_f_vooo += einsum("ijka->aikj", x25) + del x25 + x11 = np.zeros((nocc, nvir), dtype=types[float]) + x11 += einsum("wia,wij->ja", u11, x7) + x13 += einsum("ia->ia", x11) + x52 += einsum("ia->ia", x11) + x53 += einsum("ia->ia", x11) + del x11 + x35 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x35 += einsum("ia,wij->wja", t1, x7) + del x7 + x36 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x36 -= einsum("wia->wia", x35) + del x35 + x10 = np.zeros((nocc, nvir), dtype=types[float]) + x10 += einsum("ai,jiba->jb", l1, t2) + x13 -= einsum("ia->ia", x10) + x15 += einsum("ij,ka->jika", delta_oo, x13) + rdm2_f_ovoo -= einsum("ijka->iajk", x15) + rdm2_f_ovoo += einsum("ijka->iakj", x15) + del x15 + rdm2_f_vooo += einsum("ij,ka->aijk", delta_oo, x13) + rdm2_f_vooo -= einsum("ij,ka->aikj", delta_oo, x13) + del x13 + x38 += einsum("ia,jb->ijab", t1, x10) + del x10 + x22 = np.zeros((nocc, nvir), dtype=types[float]) + x22 += einsum("w,wia->ia", ls1, u11) + x24 += einsum("ia->ia", x22) + x52 -= einsum("ia->ia", x22) + x53 -= einsum("ia->ia", x22) + del x22 + rdm2_f_vvoo += einsum("ia,jb->abji", t1, x53) + rdm2_f_vvoo -= einsum("ia,jb->baji", t1, x53) + del x53 + x24 += einsum("ia->ia", t1) + rdm2_f_ovoo -= einsum("ij,ka->jaki", delta_oo, x24) + rdm2_f_ovoo += einsum("ij,ka->jaik", delta_oo, x24) + rdm2_f_vooo -= einsum("ij,ka->ajik", delta_oo, x24) + rdm2_f_vooo += einsum("ij,ka->ajki", delta_oo, x24) + del x24 + x26 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x26 += einsum("wai,wjb->ijab", lu11, u11) + rdm2_f_ovov -= einsum("ijab->ibja", x26) + rdm2_f_ovvo += einsum("ijab->ibaj", x26) + rdm2_f_voov += einsum("ijab->bija", x26) + rdm2_f_vovo -= einsum("ijab->biaj", x26) + del x26 + x27 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x27 -= einsum("abij,kjca->ikbc", l2, t2) + x41 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x41 += einsum("ijab,jkbc->ikac", t2, x27) + x42 += einsum("ijab->ijab", x41) + del x41 + x60 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x60 += einsum("ia,ijbc->jbac", t1, x27) + x62 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x62 -= einsum("iabc->iabc", x60) + del x60 + rdm2_f_ovov -= einsum("ijab->ibja", x27) + rdm2_f_ovvo += einsum("ijab->ibaj", x27) + rdm2_f_voov += einsum("ijab->bija", x27) + rdm2_f_vovo -= einsum("ijab->biaj", x27) + del x27 + x29 = np.zeros((nvir, nvir), dtype=types[float]) + x29 += einsum("ai,ib->ab", l1, t1) + x32 = np.zeros((nvir, nvir), dtype=types[float]) + x32 += einsum("ab->ab", x29) + x61 = np.zeros((nvir, nvir), dtype=types[float]) + x61 += einsum("ab->ab", x29) + del x29 + x30 = np.zeros((nvir, nvir), dtype=types[float]) + x30 += einsum("wai,wib->ab", lu11, u11) + x32 += einsum("ab->ab", x30) + x40 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x40 += einsum("ab,ijca->ijcb", x30, t2) + x42 -= einsum("ijab->ijab", x40) + del x40 + rdm2_f_vvoo -= einsum("ijab->abji", x42) + rdm2_f_vvoo += einsum("ijab->baji", x42) + del x42 + x61 += einsum("ab->ab", x30) + del x30 + x62 += einsum("ia,bc->ibac", t1, x61) + del x61 + x31 = np.zeros((nvir, nvir), dtype=types[float]) + x31 -= einsum("abij,ijca->bc", l2, t2) + x32 += einsum("ab->ab", x31) * 0.5 + rdm2_f_ovov += einsum("ij,ab->jbia", delta_oo, x32) + rdm2_f_ovvo += einsum("ij,ab->jbai", delta_oo, x32) * -1 + rdm2_f_voov += einsum("ij,ab->bjia", delta_oo, x32) * -1 + rdm2_f_vovo += einsum("ij,ab->bjai", delta_oo, x32) + del x32 + x46 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x46 += einsum("ab,ijca->ijcb", x31, t2) + rdm2_f_vvoo += einsum("ijab->abji", x46) * 0.5 + rdm2_f_vvoo += einsum("ijab->baji", x46) * -0.5 + del x46 + rdm2_f_vvov += einsum("ia,bc->acib", t1, x31) * 0.5 + rdm2_f_vvov += einsum("ia,bc->caib", t1, x31) * -0.5 + rdm2_f_vvvo += einsum("ia,bc->acbi", t1, x31) * -0.5 + rdm2_f_vvvo += einsum("ia,bc->cabi", t1, x31) * 0.5 + del x31 + x34 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x34 += einsum("wai,jiba->wjb", lu11, t2) + x36 += einsum("wia->wia", x34) + del x34 + x37 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x37 += einsum("wia,wjb->jiba", u11, x36) + del x36 + x38 += einsum("ijab->ijab", x37) + del x37 + rdm2_f_vvoo += einsum("ijab->abij", x38) + rdm2_f_vvoo -= einsum("ijab->baij", x38) + rdm2_f_vvoo -= einsum("ijab->abji", x38) + rdm2_f_vvoo += einsum("ijab->baji", x38) + del x38 + x52 -= einsum("ia->ia", t1) + rdm2_f_vvoo += einsum("ia,jb->baij", t1, x52) + rdm2_f_vvoo -= einsum("ia,jb->abij", t1, x52) + del x52 + x54 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x54 += einsum("ia,bcji->jbca", t1, l2) + rdm2_f_ovvv = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + rdm2_f_ovvv -= einsum("iabc->icba", x54) + rdm2_f_vovv = np.zeros((nvir, nocc, nvir, nvir), dtype=types[float]) + rdm2_f_vovv += einsum("iabc->ciba", x54) + rdm2_f_vvvv = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) + rdm2_f_vvvv -= einsum("ia,ibcd->adcb", t1, x54) + del x54 + x57 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x57 += einsum("ai,jibc->jabc", l1, t2) + rdm2_f_vvov -= einsum("iabc->cbia", x57) + rdm2_f_vvvo += einsum("iabc->cbai", x57) + del x57 + x58 = np.zeros((nbos, nvir, nvir), dtype=types[float]) + x58 += einsum("ia,wbi->wba", t1, lu11) + x59 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x59 += einsum("wia,wbc->ibca", u11, x58) + del x58 + x62 -= einsum("iabc->iabc", x59) + del x59 + rdm2_f_vvov += einsum("iabc->bcia", x62) + rdm2_f_vvov -= einsum("iabc->cbia", x62) + rdm2_f_vvvo -= einsum("iabc->bcai", x62) + rdm2_f_vvvo += einsum("iabc->cbai", x62) + del x62 + rdm2_f_oooo += einsum("ij,kl->jlik", delta_oo, delta_oo) + rdm2_f_oooo -= einsum("ij,kl->lijk", delta_oo, delta_oo) + rdm2_f_ooov += einsum("ij,ak->jkia", delta_oo, l1) + rdm2_f_ooov -= einsum("ij,ak->kjia", delta_oo, l1) + rdm2_f_oovo -= einsum("ij,ak->jkai", delta_oo, l1) + rdm2_f_oovo += einsum("ij,ak->kjai", delta_oo, l1) + rdm2_f_oovv = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + rdm2_f_oovv += einsum("abij->jiba", l2) + rdm2_f_ovov -= einsum("ai,jb->ibja", l1, t1) + rdm2_f_ovvo += einsum("ai,jb->ibaj", l1, t1) + rdm2_f_voov += einsum("ai,jb->bija", l1, t1) + rdm2_f_vovo -= einsum("ai,jb->biaj", l1, t1) + rdm2_f_vvoo += einsum("ijab->baji", t2) + rdm2_f_vvvv += einsum("abij,ijcd->dcba", l2, t2) * 0.5 + + rdm2_f = pack_2e(rdm2_f_oooo, rdm2_f_ooov, rdm2_f_oovo, rdm2_f_ovoo, rdm2_f_vooo, rdm2_f_oovv, rdm2_f_ovov, rdm2_f_ovvo, rdm2_f_voov, rdm2_f_vovo, rdm2_f_vvoo, rdm2_f_ovvv, rdm2_f_vovv, rdm2_f_vvov, rdm2_f_vvvo, rdm2_f_vvvv) + + rdm2_f = rdm2_f.transpose(0, 2, 1, 3) + + return rdm2_f + +def make_sing_b_dm(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, u11=None, l1=None, l2=None, ls1=None, lu11=None, **kwargs): + # Get boson coupling creation array: + gc = Namespace( + boo=g.boo.transpose(0, 2, 1), + bov=g.bvo.transpose(0, 2, 1), + bvo=g.bov.transpose(0, 2, 1), + bvv=g.bvv.transpose(0, 2, 1), + ) + + # Single boson DM + dm_b_cre = np.zeros((nbos), dtype=types[float]) + dm_b_cre += einsum("w->w", ls1) + dm_b_des = np.zeros((nbos), dtype=types[float]) + dm_b_des += einsum("ai,wia->w", l1, u11) + dm_b_des += einsum("w->w", s1) + + dm_b = np.array([dm_b_cre, dm_b_des]) + + return dm_b + +def make_rdm1_b(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, u11=None, l1=None, l2=None, ls1=None, lu11=None, **kwargs): + # Get boson coupling creation array: + gc = Namespace( + boo=g.boo.transpose(0, 2, 1), + bov=g.bvo.transpose(0, 2, 1), + bvo=g.bov.transpose(0, 2, 1), + bvv=g.bvv.transpose(0, 2, 1), + ) + + # Boson 1RDM + rdm1_b = np.zeros((nbos, nbos), dtype=types[float]) + rdm1_b += einsum("wai,xia->wx", lu11, u11) + rdm1_b += einsum("w,x->wx", ls1, s1) + + return rdm1_b + +def make_eb_coup_rdm(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, u11=None, l1=None, l2=None, ls1=None, lu11=None, **kwargs): + # Get boson coupling creation array: + gc = Namespace( + boo=g.boo.transpose(0, 2, 1), + bov=g.bvo.transpose(0, 2, 1), + bvo=g.bov.transpose(0, 2, 1), + bvv=g.bvv.transpose(0, 2, 1), + ) + + delta_oo = np.eye(nocc) + delta_vv = np.eye(nvir) + + # Boson-fermion coupling RDM + x0 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x0 += einsum("ia,waj->wji", t1, lu11) + x17 = np.zeros((nocc, nvir), dtype=types[float]) + x17 += einsum("wia,wij->ja", u11, x0) + rdm_eb_cre_oo = np.zeros((nbos, nocc, nocc), dtype=types[float]) + rdm_eb_cre_oo -= einsum("wij->wji", x0) + rdm_eb_cre_ov = np.zeros((nbos, nocc, nvir), dtype=types[float]) + rdm_eb_cre_ov -= einsum("ia,wij->wja", t1, x0) + del x0 + x1 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x1 += einsum("ai,wja->wij", l1, u11) + x14 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x14 += einsum("wij->wij", x1) + rdm_eb_des_oo = np.zeros((nbos, nocc, nocc), dtype=types[float]) + rdm_eb_des_oo -= einsum("wij->wji", x1) + del x1 + x2 = np.zeros((nbos), dtype=types[float]) + x2 += einsum("ai,wia->w", l1, u11) + rdm_eb_des_oo += einsum("w,ij->wji", x2, delta_oo) + rdm_eb_des_ov = np.zeros((nbos, nocc, nvir), dtype=types[float]) + rdm_eb_des_ov += einsum("w,ia->wia", x2, t1) + del x2 + x3 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x3 -= einsum("wia,abji->wjb", u11, l2) + x4 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x4 += einsum("ia,wja->wji", t1, x3) + x14 += einsum("wij->wij", x4) + rdm_eb_des_ov -= einsum("ia,wij->wja", t1, x14) + del x14 + rdm_eb_des_oo -= einsum("wij->wji", x4) + del x4 + rdm_eb_des_ov += einsum("wia,jiba->wjb", x3, t2) + rdm_eb_des_vo = np.zeros((nbos, nvir, nocc), dtype=types[float]) + rdm_eb_des_vo += einsum("wia->wai", x3) + rdm_eb_des_vv = np.zeros((nbos, nvir, nvir), dtype=types[float]) + rdm_eb_des_vv += einsum("ia,wib->wba", t1, x3) + del x3 + x5 = np.zeros((nocc, nocc), dtype=types[float]) + x5 += einsum("ai,ja->ij", l1, t1) + x8 = np.zeros((nocc, nocc), dtype=types[float]) + x8 += einsum("ij->ij", x5) + x13 = np.zeros((nocc, nocc), dtype=types[float]) + x13 += einsum("ij->ij", x5) + x16 = np.zeros((nocc, nocc), dtype=types[float]) + x16 += einsum("ij->ij", x5) * 1.9999999999999987 + del x5 + x6 = np.zeros((nocc, nocc), dtype=types[float]) + x6 += einsum("wai,wja->ij", lu11, u11) + x8 += einsum("ij->ij", x6) + x13 += einsum("ij->ij", x6) + x16 += einsum("ij->ij", x6) * 1.9999999999999987 + del x6 + x7 = np.zeros((nocc, nocc), dtype=types[float]) + x7 += einsum("abij,kjab->ik", l2, t2) + x8 += einsum("ij->ij", x7) * 0.5 + x13 += einsum("ij->ij", x7) * 0.5 + rdm_eb_des_ov += einsum("ij,wia->wja", x13, u11) * -1 + del x13 + x16 += einsum("ij->ij", x7) + del x7 + x17 += einsum("ia,ij->ja", t1, x16) * 0.5000000000000003 + del x16 + x8 += einsum("ij->ji", delta_oo) * -1 + rdm_eb_des_oo += einsum("w,ij->wji", s1, x8) * -1 + del x8 + x9 = np.zeros((nbos, nbos), dtype=types[float]) + x9 += einsum("wai,xia->wx", lu11, u11) + rdm_eb_des_ov += einsum("wx,wia->xia", x9, u11) + del x9 + x10 = np.zeros((nvir, nvir), dtype=types[float]) + x10 += einsum("wai,wib->ab", lu11, u11) + x12 = np.zeros((nvir, nvir), dtype=types[float]) + x12 += einsum("ab->ab", x10) * 2 + x18 = np.zeros((nvir, nvir), dtype=types[float]) + x18 += einsum("ab->ab", x10) + del x10 + x11 = np.zeros((nvir, nvir), dtype=types[float]) + x11 -= einsum("abij,ijca->bc", l2, t2) + x12 += einsum("ab->ab", x11) + rdm_eb_des_ov += einsum("ab,wia->wib", x12, u11) * -0.5 + del x12 + x18 += einsum("ab->ab", x11) * 0.5 + del x11 + x15 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x15 += einsum("ia,bajk->jkib", t1, l2) + x17 += einsum("ijab,ijkb->ka", t2, x15) * -0.5000000000000003 + del x15 + x17 += einsum("ia->ia", t1) * -1 + x17 += einsum("w,wia->ia", ls1, u11) * -1 + x17 += einsum("ai,jiba->jb", l1, t2) * -1 + rdm_eb_des_ov += einsum("w,ia->wia", s1, x17) * -1 + del x17 + x18 += einsum("ai,ib->ab", l1, t1) + rdm_eb_des_vv += einsum("w,ab->wab", s1, x18) + del x18 + rdm_eb_cre_oo += einsum("w,ij->wji", ls1, delta_oo) + rdm_eb_cre_ov += einsum("w,ia->wia", ls1, t1) + rdm_eb_cre_ov += einsum("wai,jiba->wjb", lu11, t2) + rdm_eb_cre_vo = np.zeros((nbos, nvir, nocc), dtype=types[float]) + rdm_eb_cre_vo += einsum("wai->wai", lu11) + rdm_eb_cre_vv = np.zeros((nbos, nvir, nvir), dtype=types[float]) + rdm_eb_cre_vv += einsum("ia,wbi->wba", t1, lu11) + rdm_eb_des_ov += einsum("wia->wia", u11) + rdm_eb_des_vo += einsum("w,ai->wai", s1, l1) + rdm_eb_des_vv += einsum("ai,wib->wab", l1, u11) + + rdm_eb = np.array([ + np.block([[rdm_eb_cre_oo, rdm_eb_cre_ov], [rdm_eb_cre_vo, rdm_eb_cre_vv]]), + np.block([[rdm_eb_des_oo, rdm_eb_des_ov], [rdm_eb_des_vo, rdm_eb_des_vv]]), + ]) + + return rdm_eb + diff --git a/ebcc/codegen/RCCSD_SD_1_1.py b/ebcc/codegen/RCCSD_SD_1_1.py new file mode 100644 index 00000000..616bb75f --- /dev/null +++ b/ebcc/codegen/RCCSD_SD_1_1.py @@ -0,0 +1,2150 @@ +# Code generated for ebcc. + +from ebcc import numpy as np +from ebcc.util import pack_2e, einsum, Namespace +from ebcc.precision import types + +def energy(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, s2=None, u11=None, **kwargs): + # Energy + x0 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x0 += einsum("iajb->jiab", v.ovov) * -0.5 + x0 += einsum("iajb->jiba", v.ovov) + x1 = np.zeros((nocc, nvir), dtype=types[float]) + x1 += einsum("ia,ijab->jb", t1, x0) + e_cc = 0 + e_cc += einsum("ijab,ijab->", t2, x0) * 2 + del x0 + x1 += einsum("ia->ia", f.ov) + e_cc += einsum("ia,ia->", t1, x1) * 2 + del x1 + x2 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x2 += einsum("wia->wia", u11) + x2 += einsum("w,ia->wia", s1, t1) + e_cc += einsum("wia,wia->", g.bov, x2) * 2 + del x2 + e_cc += einsum("w,w->", G, s1) + + return e_cc + +def update_amps(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, s2=None, u11=None, **kwargs): + # Get boson coupling creation array: + gc = Namespace( + boo=g.boo.transpose(0, 2, 1), + bov=g.bvo.transpose(0, 2, 1), + bvo=g.bov.transpose(0, 2, 1), + bvv=g.bvv.transpose(0, 2, 1), + ) + + # T1, T2, S1, S2 and U11 amplitudes + x0 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x0 += einsum("ia,jbka->ijkb", t1, v.ovov) + x1 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x1 += einsum("ijka->ijka", x0) * 2 + x1 += einsum("ijka->ikja", x0) * -1 + x34 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x34 += einsum("ijab,kjla->kilb", t2, x0) + x40 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x40 -= einsum("ijka->ikja", x34) + del x34 + x35 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x35 -= einsum("ijka->ijka", x0) + x35 += einsum("ijka->ikja", x0) * 2 + x36 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x36 += einsum("ijab,klia->jklb", t2, x35) + del x35 + x40 += einsum("ijka->jkia", x36) + del x36 + x64 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x64 += einsum("ijab,klja->kilb", t2, x0) + x67 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x67 -= einsum("ijka->kija", x64) + del x64 + x86 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x86 += einsum("ia,jkla->jilk", t1, x0) + del x0 + x87 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x87 += einsum("ijkl->lkji", x86) + x88 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x88 += einsum("ijkl->lkji", x86) + del x86 + x1 += einsum("ijka->jika", v.ooov) * -1 + x1 += einsum("ijka->jkia", v.ooov) * 2 + t1new = np.zeros((nocc, nvir), dtype=types[float]) + t1new += einsum("ijab,kjib->ka", t2, x1) * -1 + del x1 + x2 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x2 += einsum("iabc->ibac", v.ovvv) * -0.5 + x2 += einsum("iabc->ibca", v.ovvv) + t1new += einsum("ijab,icba->jc", t2, x2) * 2 + del x2 + x3 = np.zeros((nocc, nvir), dtype=types[float]) + x3 += einsum("w,wia->ia", s1, g.bov) + x6 = np.zeros((nocc, nvir), dtype=types[float]) + x6 += einsum("ia->ia", x3) + x18 = np.zeros((nocc, nvir), dtype=types[float]) + x18 += einsum("ia->ia", x3) * 0.5 + x104 = np.zeros((nocc, nvir), dtype=types[float]) + x104 += einsum("ia->ia", x3) + del x3 + x4 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x4 += einsum("iajb->jiab", v.ovov) * 2 + x4 -= einsum("iajb->jiba", v.ovov) + x5 = np.zeros((nocc, nvir), dtype=types[float]) + x5 += einsum("ia,ijba->jb", t1, x4) + x6 += einsum("ia->ia", x5) + del x5 + x97 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x97 += einsum("wia,ijba->wjb", u11, x4) + del x4 + x99 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x99 += einsum("wia->wia", x97) + s2new = np.zeros((nbos, nbos), dtype=types[float]) + s2new += einsum("wia,xia->xw", u11, x97) * 2 + del x97 + x6 += einsum("ia->ia", f.ov) + x66 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x66 += einsum("ia,jkab->jkib", x6, t2) + x67 += einsum("ijka->kjia", x66) + del x66 + x69 = np.zeros((nocc, nocc), dtype=types[float]) + x69 += einsum("ia,ja->ij", t1, x6) + x70 = np.zeros((nocc, nocc), dtype=types[float]) + x70 += einsum("ij->ij", x69) + del x69 + s1new = np.zeros((nbos), dtype=types[float]) + s1new += einsum("ia,wia->w", x6, u11) * 2 + x7 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x7 += einsum("ijab->jiab", t2) * 2 + x7 -= einsum("ijab->jiba", t2) + x46 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x46 += einsum("wia,ijba->wjb", g.bov, x7) + x48 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x48 += einsum("wia->wia", x46) + del x46 + t1new += einsum("ia,ijba->jb", x6, x7) + del x6 + x8 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x8 += einsum("iabj->ijba", v.ovvo) * 2 + x8 -= einsum("ijab->ijab", v.oovv) + t1new += einsum("ia,ijba->jb", t1, x8) + u11new = np.zeros((nbos, nocc, nvir), dtype=types[float]) + u11new += einsum("wia,ijba->wjb", u11, x8) + del x8 + x9 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x9 += einsum("ia,wja->wji", t1, g.bov) + x10 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x10 += einsum("wij->wij", x9) + del x9 + x10 += einsum("wij->wij", g.boo) + x47 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x47 += einsum("ia,wij->wja", t1, x10) + x48 -= einsum("wia->wia", x47) + del x47 + t1new -= einsum("wia,wij->ja", u11, x10) + del x10 + x11 = np.zeros((nocc, nocc), dtype=types[float]) + x11 += einsum("w,wij->ij", s1, g.boo) + x20 = np.zeros((nocc, nocc), dtype=types[float]) + x20 += einsum("ij->ij", x11) + x70 += einsum("ij->ji", x11) + del x11 + x12 = np.zeros((nocc, nocc), dtype=types[float]) + x12 += einsum("wia,wja->ij", g.bov, u11) + x20 += einsum("ij->ij", x12) + x52 = np.zeros((nocc, nocc), dtype=types[float]) + x52 += einsum("ij->ij", x12) + del x12 + x13 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x13 += einsum("iajb->jiab", v.ovov) + x13 += einsum("iajb->jiba", v.ovov) * -0.5 + x14 = np.zeros((nocc, nocc), dtype=types[float]) + x14 += einsum("ijab,ikba->jk", t2, x13) * 2 + x20 += einsum("ij->ji", x14) + del x14 + x17 = np.zeros((nocc, nvir), dtype=types[float]) + x17 += einsum("ia,ijba->jb", t1, x13) + x18 += einsum("ia->ia", x17) + del x17 + x78 = np.zeros((nvir, nvir), dtype=types[float]) + x78 += einsum("ijab,ijbc->ac", t2, x13) + x79 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x79 += einsum("ab,ijbc->ijca", x78, t2) * 2 + del x78 + x83 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x83 += einsum("ijab->jiab", x79) + del x79 + x102 = np.zeros((nocc, nvir), dtype=types[float]) + x102 += einsum("ia,ijba->jb", t1, x13) * 2 + del x13 + x103 = np.zeros((nvir, nvir), dtype=types[float]) + x103 += einsum("ia,ib->ab", t1, x102) * -1 + del x102 + x15 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x15 += einsum("ijka->ikja", v.ooov) + x15 += einsum("ijka->kija", v.ooov) * -0.5 + x16 = np.zeros((nocc, nocc), dtype=types[float]) + x16 += einsum("ia,jika->jk", t1, x15) * 2 + del x15 + x20 += einsum("ij->ij", x16) + del x16 + x18 += einsum("ia->ia", f.ov) * 0.5 + x19 = np.zeros((nocc, nocc), dtype=types[float]) + x19 += einsum("ia,ja->ij", t1, x18) * 2 + del x18 + x20 += einsum("ij->ji", x19) + del x19 + x20 += einsum("ij->ij", f.oo) + t1new += einsum("ia,ij->ja", t1, x20) * -1 + u11new += einsum("ij,wia->wja", x20, u11) * -1 + del x20 + x21 = np.zeros((nvir, nvir), dtype=types[float]) + x21 += einsum("w,wab->ab", s1, g.bvv) + x24 = np.zeros((nvir, nvir), dtype=types[float]) + x24 += einsum("ab->ab", x21) + x72 = np.zeros((nvir, nvir), dtype=types[float]) + x72 += einsum("ab->ab", x21) + x103 += einsum("ab->ab", x21) + del x21 + x22 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x22 += einsum("iabc->ibac", v.ovvv) * 2 + x22 -= einsum("iabc->ibca", v.ovvv) + x23 = np.zeros((nvir, nvir), dtype=types[float]) + x23 += einsum("ia,ibac->bc", t1, x22) + x24 += einsum("ab->ab", x23) + x43 = np.zeros((nvir, nvir), dtype=types[float]) + x43 -= einsum("ab->ab", x23) + del x23 + x106 = np.zeros((nbos, nvir, nvir), dtype=types[float]) + x106 += einsum("wia,ibac->wbc", u11, x22) + del x22 + x24 += einsum("ab->ab", f.vv) + t1new += einsum("ia,ba->ib", t1, x24) + del x24 + x25 = np.zeros((nbos), dtype=types[float]) + x25 += einsum("ia,wia->w", t1, g.bov) + x26 = np.zeros((nbos), dtype=types[float]) + x26 += einsum("w->w", x25) * 2 + del x25 + x26 += einsum("w->w", G) + t1new += einsum("w,wia->ia", x26, u11) + s1new += einsum("w,wx->x", x26, s2) + del x26 + x27 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x27 += einsum("ia,bcda->ibdc", t1, v.vvvv) + t2new = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + t2new += einsum("ia,jbca->ijbc", t1, x27) + del x27 + x28 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x28 += einsum("ia,jabc->ijbc", t1, v.ovvv) + x29 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x29 += einsum("ijab,kjca->kibc", t2, x28) + del x28 + x54 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x54 += einsum("ijab->ijab", x29) + del x29 + x30 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x30 -= einsum("iajb->jiab", v.ovov) + x30 += einsum("iajb->jiba", v.ovov) * 2 + x31 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x31 += einsum("ijab,ikbc->jkac", t2, x30) + x32 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x32 += einsum("ijab,kica->jkbc", t2, x31) + del x31 + x54 += einsum("ijab->ijab", x32) + del x32 + x84 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x84 += einsum("ijab,ikac->jkbc", t2, x30) * 2 + del x30 + x33 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x33 += einsum("ijab,jkla->ilkb", t2, v.ooov) + x40 -= einsum("ijka->ijka", x33) + del x33 + x37 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x37 += einsum("ia,jbca->ijcb", t1, v.ovvv) + x38 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x38 += einsum("ijab->jiab", x37) + x56 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x56 += einsum("ijab,kjca->kibc", t2, x37) + del x37 + x74 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x74 += einsum("ijab->ijab", x56) + del x56 + x38 += einsum("iabj->ijba", v.ovvo) + x39 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x39 += einsum("ia,jkba->ijkb", t1, x38) + del x38 + x40 += einsum("ijka->ijka", x39) + del x39 + x41 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x41 += einsum("ia,jikb->jkab", t1, x40) + del x40 + x54 += einsum("ijab->ijab", x41) + del x41 + x42 = np.zeros((nvir, nvir), dtype=types[float]) + x42 += einsum("wia,wib->ab", g.bov, u11) + x43 += einsum("ab->ba", x42) + x44 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x44 += einsum("ab,ijbc->ijca", x43, t2) + del x43 + x54 += einsum("ijab->jiab", x44) + del x44 + x103 += einsum("ab->ba", x42) * -1 + del x42 + x45 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x45 += einsum("ia,wba->wib", t1, g.bvv) + x48 += einsum("wia->wia", x45) + del x45 + x48 += einsum("wai->wia", g.bvo) + x49 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x49 += einsum("wia,wjb->ijab", u11, x48) + del x48 + x54 -= einsum("ijab->jiba", x49) + del x49 + x50 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x50 += einsum("ijka->ikja", v.ooov) * 2 + x50 -= einsum("ijka->kija", v.ooov) + x51 = np.zeros((nocc, nocc), dtype=types[float]) + x51 += einsum("ia,jika->jk", t1, x50) + x52 += einsum("ij->ij", x51) + del x51 + x53 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x53 += einsum("ij,ikab->kjab", x52, t2) + del x52 + x54 += einsum("ijab->ijba", x53) + del x53 + t2new -= einsum("ijab->ijab", x54) + t2new -= einsum("ijab->jiba", x54) + del x54 + x65 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x65 += einsum("ijab,kila->jklb", t2, x50) + x67 += einsum("ijka->jika", x65) + del x65 + x105 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x105 += einsum("wia,jika->wjk", u11, x50) + del x50 + x55 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x55 += einsum("ia,bjca->ijbc", t1, v.vovv) + x74 -= einsum("ijab->ijab", x55) + del x55 + x57 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x57 -= einsum("iabc->ibac", v.ovvv) + x57 += einsum("iabc->ibca", v.ovvv) * 2 + x58 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x58 += einsum("ia,jbac->ijbc", t1, x57) + del x57 + x59 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x59 += einsum("ijab,kica->jkbc", t2, x58) + del x58 + x74 -= einsum("ijab->jiab", x59) + del x59 + x60 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x60 += einsum("ia,jkba->ijkb", t1, v.oovv) + x67 += einsum("ijka->jika", x60) + del x60 + x61 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x61 += einsum("ijab,klja->iklb", t2, v.ooov) + x67 -= einsum("ijka->jika", x61) + del x61 + x62 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x62 += einsum("ia,jkla->ijlk", t1, v.ooov) + x63 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x63 += einsum("ia,jkil->jkla", t1, x62) + x67 -= einsum("ijka->jika", x63) + del x63 + x68 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x68 += einsum("ia,ijkb->jkab", t1, x67) + del x67 + x74 += einsum("ijab->ijab", x68) + del x68 + x75 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x75 += einsum("ijab,kijl->klab", t2, x62) + del x62 + t2new += einsum("ijab->ijba", x75) + t2new += einsum("ijab->jiab", x75) + del x75 + x70 += einsum("ij->ji", f.oo) + x71 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x71 += einsum("ij,jkab->kiab", x70, t2) + del x70 + x74 += einsum("ijab->jiba", x71) + del x71 + x72 += einsum("ab->ab", f.vv) + x73 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x73 += einsum("ab,ijbc->ijca", x72, t2) + del x72 + x74 -= einsum("ijab->jiba", x73) + del x73 + t2new -= einsum("ijab->ijba", x74) + t2new -= einsum("ijab->jiab", x74) + del x74 + x76 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x76 += einsum("ijab,kbca->jikc", t2, v.ovvv) + x77 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x77 += einsum("ia,jkib->jkab", t1, x76) + del x76 + x83 += einsum("ijab->ijab", x77) + del x77 + x80 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x80 += einsum("iajb->jiab", v.ovov) * -0.5 + x80 += einsum("iajb->jiba", v.ovov) + x81 = np.zeros((nocc, nocc), dtype=types[float]) + x81 += einsum("ijab,ikab->jk", t2, x80) + del x80 + x82 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x82 += einsum("ij,jkab->kiab", x81, t2) * 2 + del x81 + x83 += einsum("ijab->ijba", x82) + del x82 + t2new += einsum("ijab->ijab", x83) * -1 + t2new += einsum("ijab->jiba", x83) * -1 + del x83 + x84 += einsum("iabj->jiba", v.ovvo) * 2 + x84 -= einsum("ijab->jiab", v.oovv) + t2new += einsum("ijab,kica->kjcb", t2, x84) + del x84 + x85 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x85 += einsum("ijab,kbla->ijlk", t2, v.ovov) + x87 += einsum("ijkl->lkji", x85) * 0.9999999999999993 + x88 += einsum("ijkl->lkji", x85) + del x85 + x87 += einsum("ijkl->kilj", v.oooo) * 0.9999999999999993 + t2new += einsum("ijab,ijkl->klab", t2, x87) + del x87 + x88 += einsum("ijkl->kilj", v.oooo) + x89 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x89 += einsum("ia,ijkl->lkja", t1, x88) + del x88 + x89 += einsum("ijak->jkia", v.oovo) * -1 + t2new += einsum("ia,jkib->jkab", t1, x89) + del x89 + x90 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x90 -= einsum("iabj->jiba", v.ovvo) + x90 += einsum("ijab,jakc->ikbc", t2, v.ovov) + t2new += einsum("ijab,kicb->jkac", t2, x90) + del x90 + x91 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x91 -= einsum("ijab->jiab", v.oovv) + x91 += einsum("ijab,jcka->ikbc", t2, v.ovov) + t2new += einsum("ijab,kicb->jkca", t2, x91) + del x91 + x92 = np.zeros((nbos, nbos), dtype=types[float]) + x92 += einsum("wia,xia->wx", gc.bov, u11) + x96 = np.zeros((nbos, nbos), dtype=types[float]) + x96 += einsum("wx->wx", x92) * 2 + del x92 + x93 = np.zeros((nbos, nbos), dtype=types[float]) + x93 += einsum("wia,xia->wx", g.bov, u11) + x94 = np.zeros((nbos, nbos), dtype=types[float]) + x94 += einsum("wx->wx", x93) * 2 + del x93 + x94 += einsum("wx->wx", w) + x95 = np.zeros((nbos, nbos), dtype=types[float]) + x95 += einsum("wx,wy->xy", s2, x94) + x96 += einsum("wx->wx", x95) + del x95 + s2new += einsum("wx->wx", x96) + s2new += einsum("wx->xw", x96) + del x96 + u11new += einsum("wx,wia->xia", x94, u11) + del x94 + x98 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x98 += einsum("wx,xia->wia", s2, g.bov) + x99 += einsum("wia->wia", x98) + del x98 + x99 += einsum("wia->wia", gc.bov) + x105 += einsum("ia,wja->wji", t1, x99) + u11new += einsum("wia,ijba->wjb", x99, x7) + del x99 + del x7 + x100 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x100 += einsum("iajb->jiab", v.ovov) * -1 + x100 += einsum("iajb->jiba", v.ovov) * 2 + x103 += einsum("ijab,ijcb->ac", t2, x100) * -1 + del x100 + x101 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x101 += einsum("iabc->ibac", v.ovvv) + x101 += einsum("iabc->ibca", v.ovvv) * -0.5 + x103 += einsum("ia,ibac->bc", t1, x101) * 2 + del x101 + x103 += einsum("ab->ab", f.vv) + u11new += einsum("ab,wib->wia", x103, u11) + del x103 + x104 += einsum("ia->ia", f.ov) + x105 += einsum("ia,wja->wij", x104, u11) + del x104 + x105 += einsum("wij->wij", gc.boo) + x105 += einsum("wx,xij->wij", s2, g.boo) + u11new -= einsum("ia,wij->wja", t1, x105) + del x105 + x106 += einsum("wab->wab", gc.bvv) + x106 += einsum("wx,xab->wab", s2, g.bvv) + u11new += einsum("ia,wba->wib", t1, x106) + del x106 + t1new += einsum("w,wai->ia", s1, g.bvo) + t1new += einsum("ai->ia", f.vo) + t1new += einsum("wab,wib->ia", g.bvv, u11) + t2new -= einsum("ijab,jack->kicb", t2, v.ovvo) + t2new -= einsum("ijab,jkca->kibc", t2, v.oovv) + t2new -= einsum("ijab,jkcb->ikac", t2, v.oovv) + t2new += einsum("ijab,jbck->ikac", t2, v.ovvo) * 2 + t2new += einsum("ijab,cadb->jidc", t2, v.vvvv) + t2new += einsum("aibj->jiba", v.vovo) + t2new -= einsum("ia,ijbk->kjba", t1, v.oovo) + s1new += einsum("ia,wia->w", t1, gc.bov) * 2 + s1new += einsum("w,wx->x", s1, w) + s1new += einsum("w->w", G) + u11new += einsum("wx,xai->wia", s2, g.bvo) + u11new += einsum("wai->wia", gc.bvo) + + return {"t1new": t1new, "t2new": t2new, "s1new": s1new, "s2new": s2new, "u11new": u11new} + +def update_lams(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, s2=None, u11=None, l1=None, l2=None, ls1=None, ls2=None, lu11=None, **kwargs): + # Get boson coupling creation array: + gc = Namespace( + boo=g.boo.transpose(0, 2, 1), + bov=g.bvo.transpose(0, 2, 1), + bvo=g.bov.transpose(0, 2, 1), + bvv=g.bvv.transpose(0, 2, 1), + ) + + # L1, L2, LS1 , LS2 and LU11 amplitudes + x0 = np.zeros((nocc, nvir), dtype=types[float]) + x0 += einsum("w,wia->ia", s1, g.bov) + x1 = np.zeros((nocc, nvir), dtype=types[float]) + x1 += einsum("ia->ia", x0) + x57 = np.zeros((nocc, nvir), dtype=types[float]) + x57 += einsum("ia->ia", x0) + x67 = np.zeros((nocc, nvir), dtype=types[float]) + x67 += einsum("ia->ia", x0) * 0.5 + x100 = np.zeros((nocc, nvir), dtype=types[float]) + x100 += einsum("ia->ia", x0) + x136 = np.zeros((nocc, nvir), dtype=types[float]) + x136 += einsum("ia->ia", x0) + del x0 + x1 += einsum("ia->ia", f.ov) + x2 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x2 += einsum("ia,jkab->jkib", x1, t2) * 0.25 + del x1 + x20 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x20 += einsum("ijka->jkia", x2) + x20 += einsum("ijka->ikja", x2) * -2 + del x2 + x3 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x3 += einsum("ijab,kacb->ijkc", t2, v.ovvv) + x11 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x11 += einsum("ijka->ijka", x3) * -0.5 + del x3 + x4 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x4 += einsum("ia,jabc->ijbc", t1, v.ovvv) + x5 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x5 += einsum("ia,jkba->jikb", t1, x4) + x11 += einsum("ijka->ijka", x5) * -0.5 + del x5 + x131 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x131 += einsum("ijab->ijab", x4) + del x4 + x6 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x6 += einsum("ijab,kbla->ijlk", t2, v.ovov) + x9 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x9 += einsum("ijkl->jilk", x6) + x178 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x178 += einsum("ijkl->lkji", x6) + del x6 + x7 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x7 += einsum("ia,jakb->ikjb", t1, v.ovov) + x8 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x8 += einsum("ia,jkla->ijkl", t1, x7) + x9 += einsum("ijkl->ijkl", x8) + x10 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x10 += einsum("ia,jkil->jkla", t1, x9) * 0.5 + del x9 + x11 += einsum("ijka->jika", x10) + del x10 + x20 += einsum("ijka->ikja", x11) + x20 += einsum("ijka->jkia", x11) * -0.5 + del x11 + x178 += einsum("ijkl->lkji", x8) + del x8 + x15 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x15 += einsum("ijka->ijka", x7) * -1 + x15 += einsum("ijka->ikja", x7) * 2 + x24 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x24 += einsum("ijka->ijka", x7) * 2 + x24 -= einsum("ijka->ikja", x7) + x25 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x25 -= einsum("ijka->ijka", x7) + x25 += einsum("ijka->ikja", x7) * 2 + x55 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x55 += einsum("ijka->jkia", x7) * -1 + x55 += einsum("ijka->kjia", x7) * 2 + x125 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x125 += einsum("ai,ijkb->jkab", l1, x7) + x143 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x143 += einsum("ijab->ijab", x125) + del x125 + x12 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x12 += einsum("iajb->jiab", v.ovov) + x12 += einsum("iajb->jiba", v.ovov) * -0.5 + x13 = np.zeros((nocc, nvir), dtype=types[float]) + x13 += einsum("ia,ijba->jb", t1, x12) + x14 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x14 += einsum("ia,jkab->jkib", x13, t2) * 0.5 + x20 += einsum("ijka->jkia", x14) + x20 += einsum("ijka->ikja", x14) * -2 + del x14 + x67 += einsum("ia->ia", x13) + del x13 + x56 = np.zeros((nocc, nvir), dtype=types[float]) + x56 += einsum("ia,ijba->jb", t1, x12) * 2 + x57 += einsum("ia->ia", x56) + del x56 + x175 = np.zeros((nocc, nocc), dtype=types[float]) + x175 += einsum("ijab,ikba->jk", t2, x12) + del x12 + x176 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x176 += einsum("ij,abik->kjab", x175, l2) * 2 + del x175 + x177 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x177 += einsum("ijab->ijba", x176) + del x176 + x15 += einsum("ijka->jika", v.ooov) * 2 + x15 += einsum("ijka->jkia", v.ooov) * -1 + x16 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x16 += einsum("ijab->jiab", t2) + x16 += einsum("ijab->jiba", t2) * -0.5 + x20 += einsum("ijka,klba->ijlb", x15, x16) * -0.5 + del x15 + x33 = np.zeros((nocc, nocc), dtype=types[float]) + x33 += einsum("abij,ikba->jk", l2, x16) * 2 + x34 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x34 += einsum("ia,jk->jkia", t1, x33) * -0.5 + x95 = np.zeros((nocc, nocc), dtype=types[float]) + x95 += einsum("ij->ij", x33) + x108 = np.zeros((nocc, nocc), dtype=types[float]) + x108 += einsum("ij->ij", x33) + del x33 + x76 = np.zeros((nocc, nvir), dtype=types[float]) + x76 += einsum("iabc,ijca->jb", v.ovvv, x16) + x86 = np.zeros((nocc, nocc), dtype=types[float]) + x86 += einsum("abij,ikba->jk", l2, x16) + x87 = np.zeros((nocc, nocc), dtype=types[float]) + x87 += einsum("ij->ij", x86) + x171 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x171 += einsum("ij,jakb->kiab", x86, v.ovov) * 2 + del x86 + x172 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x172 += einsum("ijab->jiba", x171) + del x171 + x92 = np.zeros((nvir, nvir), dtype=types[float]) + x92 += einsum("abij,ijca->bc", l2, x16) + x93 = np.zeros((nvir, nvir), dtype=types[float]) + x93 += einsum("ab->ab", x92) + x170 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x170 += einsum("ab,ibjc->ijca", x92, v.ovov) * 2 + x172 += einsum("ijab->jiba", x170) + del x170 + l2new = np.zeros((nvir, nvir, nocc, nocc), dtype=types[float]) + l2new += einsum("ijab->baij", x172) * -1 + l2new += einsum("ijab->abji", x172) * -1 + del x172 + x180 = np.zeros((nvir, nvir), dtype=types[float]) + x180 += einsum("ab->ab", x92) + del x92 + x179 = np.zeros((nocc, nvir), dtype=types[float]) + x179 += einsum("iabc,ijca->jb", v.ovvv, x16) * 2 + x17 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x17 += einsum("iabj->ijba", v.ovvo) * 2 + x17 += einsum("ijab->ijab", v.oovv) * -1 + x20 += einsum("ia,jkba->ijkb", t1, x17) * -0.25 + del x17 + x18 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x18 += einsum("ia,jkla->ijlk", t1, v.ooov) + x19 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x19 += einsum("ijkl->jkli", x18) + x19 += einsum("ijkl->kjli", x18) * -0.5 + x27 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x27 -= einsum("ijkl->ijkl", x18) + x27 += einsum("ijkl->ikjl", x18) * 2 + x28 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x28 += einsum("ia,jikl->jkla", t1, x27) + del x27 + x128 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x128 += einsum("abij,jkli->klba", l2, x18) + del x18 + x143 -= einsum("ijab->ijab", x128) + del x128 + x19 += einsum("ijkl->kijl", v.oooo) * -0.5 + x19 += einsum("ijkl->kilj", v.oooo) + x20 += einsum("ia,ijkl->ljka", t1, x19) * 0.5 + del x19 + x20 += einsum("ijak->jika", v.oovo) * -0.5 + x20 += einsum("ijak->kija", v.oovo) * 0.25 + l1new = np.zeros((nvir, nocc), dtype=types[float]) + l1new += einsum("abij,jkia->bk", l2, x20) * 4 + del x20 + x21 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x21 -= einsum("ijab->jiab", t2) + x21 += einsum("ijab->jiba", t2) * 2 + x22 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x22 -= einsum("abij,ikac->jkbc", l2, x21) + del x21 + x22 += einsum("abij,jkac->ikbc", l2, t2) + x23 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x23 -= einsum("iabc->ibca", v.ovvv) + x23 += einsum("iabc->ibac", v.ovvv) * 2 + l1new -= einsum("ijab,jabc->ci", x22, x23) + del x22 + del x23 + x24 -= einsum("ijka->jika", v.ooov) + x24 += einsum("ijka->jkia", v.ooov) * 2 + x28 += einsum("ijab,kila->kljb", t2, x24) + del x24 + x25 += einsum("ijka->jika", v.ooov) * 2 + x25 -= einsum("ijka->jkia", v.ooov) + x28 += einsum("ijab,kilb->klja", t2, x25) + del x25 + x26 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x26 -= einsum("iabj->ijba", v.ovvo) + x26 += einsum("ijab->ijab", v.oovv) * 2 + x28 -= einsum("ia,jkba->ijkb", t1, x26) + del x26 + l1new += einsum("abij,jkib->ak", l2, x28) + del x28 + x29 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x29 += einsum("ia,bacd->icbd", t1, v.vvvv) + x30 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x30 += einsum("iabc->iabc", x29) + x30 += einsum("iabc->ibac", x29) * -0.5 + del x29 + x30 += einsum("aibc->iabc", v.vovv) * -0.5 + x30 += einsum("aibc->ibac", v.vovv) + l1new += einsum("abij,ibac->cj", l2, x30) * 2 + del x30 + x31 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x31 += einsum("ia,abjk->kjib", t1, l2) + x32 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x32 += einsum("ijka->ijka", x31) * 2 + x32 += einsum("ijka->jika", x31) * -1 + x34 += einsum("ijab,ikla->kljb", t2, x32) * -0.5 + del x32 + x34 += einsum("ijab,jkla->klib", t2, x31) * 0.5 + x36 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x36 -= einsum("ijka->ijka", x31) + x36 += einsum("ijka->jika", x31) * 2 + x37 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x37 += einsum("ia,ijkb->jkba", t1, x36) + l1new -= einsum("iabc,jiba->cj", v.ovvv, x37) + del x37 + l1new -= einsum("iabj,kjib->ak", v.ovvo, x36) + del x36 + x38 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x38 += einsum("ijka->ijka", x31) * 2 + x38 -= einsum("ijka->jika", x31) + x39 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x39 += einsum("ia,ijkb->jkba", t1, x38) + l1new -= einsum("iabc,jibc->aj", v.ovvv, x39) + del x39 + x157 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x157 += einsum("ijka,jlkb->liba", x38, x7) + x169 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x169 -= einsum("ijab->jiba", x157) + del x157 + l1new -= einsum("ijab,kjia->bk", v.oovv, x38) + del x38 + x42 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x42 += einsum("ijab,kjla->klib", t2, x31) + x45 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x45 += einsum("ijka->ijka", x42) + x49 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x49 += einsum("ijka->ijka", x42) + del x42 + x47 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x47 += einsum("ia,jkla->kjli", t1, x31) + x48 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x48 += einsum("ia,ijkl->jlka", t1, x47) + x49 += einsum("ijka->ijka", x48) * -2.0000000000000013 + x49 += einsum("ijka->ikja", x48) + del x48 + x51 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x51 += einsum("ijkl->ijkl", x47) + x51 += einsum("ijkl->ijlk", x47) * -0.5 + l1new += einsum("ijka,ljki->al", v.ooov, x51) * 2 + del x51 + l2new += einsum("iajb,klij->abkl", v.ovov, x47) + del x47 + x81 = np.zeros((nocc, nvir), dtype=types[float]) + x81 += einsum("ijab,ijkb->ka", x16, x31) + x89 = np.zeros((nocc, nvir), dtype=types[float]) + x89 += einsum("ia->ia", x81) + del x81 + x127 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x127 += einsum("ijka,jlkb->liba", v.ooov, x31) + x143 -= einsum("ijab->ijab", x127) + del x127 + x129 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x129 += einsum("ijka,iklb->jlab", x31, x7) + x143 -= einsum("ijab->ijab", x129) + del x129 + x146 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x146 += einsum("ijka,jlib->lkba", v.ooov, x31) + x169 += einsum("ijab->ijab", x146) + del x146 + x147 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x147 += einsum("iabc,jkib->kjac", v.ovvv, x31) + x169 -= einsum("ijab->ijab", x147) + del x147 + x148 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x148 += einsum("ijka,jklb->ilab", x31, x7) + del x7 + x169 += einsum("ijab->ijab", x148) + del x148 + x35 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x35 -= einsum("iajb->jiab", v.ovov) + x35 += einsum("iajb->jiba", v.ovov) * 2 + l1new += einsum("ijka,kjab->bi", x34, x35) * 2 + del x34 + x40 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x40 += einsum("abij,jkca->ikbc", l2, t2) + x41 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x41 += einsum("iabc->ibca", v.ovvv) * 2 + x41 -= einsum("iabc->ibac", v.ovvv) + x104 = np.zeros((nbos, nvir, nvir), dtype=types[float]) + x104 += einsum("wia,ibca->wbc", u11, x41) + x115 = np.zeros((nvir, nvir), dtype=types[float]) + x115 += einsum("ia,ibca->bc", t1, x41) + x116 = np.zeros((nvir, nvir), dtype=types[float]) + x116 += einsum("ab->ab", x115) + x164 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x164 += einsum("ab,acij->ijcb", x115, l2) + del x115 + x169 += einsum("ijab->jiab", x164) + del x164 + l1new -= einsum("ijab,jabc->ci", x40, x41) + del x40 + del x41 + x43 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x43 += einsum("abij,klab->ijkl", l2, t2) + x44 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x44 += einsum("ia,jikl->jkla", t1, x43) + x45 += einsum("ijka->ijka", x44) * -0.5 + x45 += einsum("ijka->ikja", x44) + del x44 + l1new += einsum("iajb,kjib->ak", v.ovov, x45) * 2 + del x45 + x50 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x50 += einsum("ijkl->jikl", x43) * -0.5 + x50 += einsum("ijkl->jilk", x43) + l1new += einsum("ijka,jlik->al", v.ooov, x50) * 2 + del x50 + l2new += einsum("iajb,klij->balk", v.ovov, x43) + del x43 + x46 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x46 += einsum("ai,jkab->ikjb", l1, t2) + x49 += einsum("ijka->ijka", x46) * -1 + x49 += einsum("ijka->ikja", x46) * 2 + del x46 + l1new += einsum("iajb,kjia->bk", v.ovov, x49) * -1 + del x49 + x52 = np.zeros((nocc, nvir), dtype=types[float]) + x52 += einsum("w,wai->ia", s1, g.bvo) + x76 += einsum("ia->ia", x52) * 0.5 + x179 += einsum("ia->ia", x52) + del x52 + x53 = np.zeros((nocc, nvir), dtype=types[float]) + x53 += einsum("wab,wib->ia", g.bvv, u11) + x76 += einsum("ia->ia", x53) * 0.5 + x179 += einsum("ia->ia", x53) + del x53 + x54 = np.zeros((nocc, nvir), dtype=types[float]) + x54 += einsum("ijab,ikja->kb", t2, v.ooov) + x76 += einsum("ia->ia", x54) * 0.5 + x179 += einsum("ia->ia", x54) + del x54 + x55 += einsum("ijka->ikja", v.ooov) * 2 + x76 += einsum("ijab,ijkb->ka", t2, x55) * -0.5 + x179 += einsum("ijab,ijkb->ka", t2, x55) * -1 + del x55 + x57 += einsum("ia->ia", f.ov) + x76 += einsum("ia,ijba->jb", x57, x16) + x179 += einsum("ia,ijba->jb", x57, x16) * 2 + del x16 + lu11new = np.zeros((nbos, nvir, nocc), dtype=types[float]) + lu11new += einsum("w,ia->wai", ls1, x57) * 2 + del x57 + x58 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x58 += einsum("iabj->ijba", v.ovvo) + x58 += einsum("ijab->ijab", v.oovv) * -0.5 + x76 += einsum("ia,ijba->jb", t1, x58) + x179 += einsum("ia,ijba->jb", t1, x58) * 2 + del x58 + x59 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x59 += einsum("ia,wja->wji", t1, g.bov) + x60 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x60 += einsum("wij->wij", x59) + x110 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x110 += einsum("wij->wij", x59) + del x59 + x60 += einsum("wij->wij", g.boo) + x76 += einsum("wia,wij->ja", u11, x60) * -0.5 + x179 += einsum("wia,wij->ja", u11, x60) * -1 + del x60 + x61 = np.zeros((nocc, nocc), dtype=types[float]) + x61 += einsum("w,wij->ij", s1, g.boo) + x69 = np.zeros((nocc, nocc), dtype=types[float]) + x69 += einsum("ij->ij", x61) + x138 = np.zeros((nocc, nocc), dtype=types[float]) + x138 += einsum("ij->ij", x61) + del x61 + x62 = np.zeros((nocc, nocc), dtype=types[float]) + x62 += einsum("wia,wja->ij", g.bov, u11) + x69 += einsum("ij->ij", x62) + x138 += einsum("ij->ij", x62) + del x62 + x63 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x63 += einsum("iajb->jiab", v.ovov) * -0.5 + x63 += einsum("iajb->jiba", v.ovov) + x64 = np.zeros((nocc, nocc), dtype=types[float]) + x64 += einsum("ijab,ikab->jk", t2, x63) * 2 + x69 += einsum("ij->ji", x64) + del x64 + x173 = np.zeros((nvir, nvir), dtype=types[float]) + x173 += einsum("ijab,ijcb->ac", t2, x63) + del x63 + x174 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x174 += einsum("ab,acij->ijcb", x173, l2) * 2 + del x173 + x177 += einsum("ijab->jiab", x174) + del x174 + l2new += einsum("ijab->abij", x177) * -1 + l2new += einsum("ijab->baji", x177) * -1 + del x177 + x65 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x65 += einsum("ijka->ikja", v.ooov) * -0.5 + x65 += einsum("ijka->kija", v.ooov) + x66 = np.zeros((nocc, nocc), dtype=types[float]) + x66 += einsum("ia,ijka->jk", t1, x65) * 2 + del x65 + x69 += einsum("ij->ij", x66) + del x66 + x67 += einsum("ia->ia", f.ov) * 0.5 + x68 = np.zeros((nocc, nocc), dtype=types[float]) + x68 += einsum("ia,ja->ij", t1, x67) * 2 + del x67 + x69 += einsum("ij->ji", x68) + del x68 + x69 += einsum("ij->ij", f.oo) + x76 += einsum("ia,ij->ja", t1, x69) * -0.5 + x179 += einsum("ia,ij->ja", t1, x69) * -1 + l1new += einsum("ai,ji->aj", l1, x69) * -1 + del x69 + x70 = np.zeros((nvir, nvir), dtype=types[float]) + x70 += einsum("w,wab->ab", s1, g.bvv) + x73 = np.zeros((nvir, nvir), dtype=types[float]) + x73 += einsum("ab->ab", x70) + x116 += einsum("ab->ab", x70) + x134 = np.zeros((nvir, nvir), dtype=types[float]) + x134 += einsum("ab->ab", x70) + del x70 + x71 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x71 += einsum("iabc->ibca", v.ovvv) + x71 += einsum("iabc->ibac", v.ovvv) * -0.5 + x72 = np.zeros((nvir, nvir), dtype=types[float]) + x72 += einsum("ia,ibca->bc", t1, x71) * 2 + del x71 + x73 += einsum("ab->ab", x72) + del x72 + x73 += einsum("ab->ab", f.vv) + x76 += einsum("ia,ba->ib", t1, x73) * 0.5 + x179 += einsum("ia,ba->ib", t1, x73) + del x73 + x74 = np.zeros((nbos), dtype=types[float]) + x74 += einsum("ia,wia->w", t1, g.bov) + x75 = np.zeros((nbos), dtype=types[float]) + x75 += einsum("w->w", x74) * 2 + x120 = np.zeros((nbos), dtype=types[float]) + x120 += einsum("w->w", x74) * 2 + del x74 + x75 += einsum("w->w", G) + x76 += einsum("w,wia->ia", x75, u11) * 0.5 + x179 += einsum("w,wia->ia", x75, u11) + del x75 + x76 += einsum("ai->ia", f.vo) * 0.5 + x77 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x77 += einsum("abij->jiab", l2) * -1 + x77 += einsum("abij->jiba", l2) * 2 + l1new += einsum("ia,ijab->bj", x76, x77) * 2 + del x76 + del x77 + x78 = np.zeros((nocc, nvir), dtype=types[float]) + x78 += einsum("w,wia->ia", ls1, u11) + x89 += einsum("ia->ia", x78) * -0.5 + del x78 + x79 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x79 += einsum("ia,waj->wji", t1, lu11) + x80 = np.zeros((nocc, nvir), dtype=types[float]) + x80 += einsum("wia,wij->ja", u11, x79) + x89 += einsum("ia->ia", x80) * 0.5 + del x80 + x82 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x82 += einsum("ijab->jiab", t2) * -1 + x82 += einsum("ijab->jiba", t2) * 2 + x83 = np.zeros((nocc, nvir), dtype=types[float]) + x83 += einsum("ai,ijab->jb", l1, x82) * 0.5 + del x82 + x89 += einsum("ia->ia", x83) * -1 + del x83 + x84 = np.zeros((nocc, nocc), dtype=types[float]) + x84 += einsum("ai,ja->ij", l1, t1) + x87 += einsum("ij->ij", x84) * 0.5 + x95 += einsum("ij->ij", x84) + x140 = np.zeros((nocc, nocc), dtype=types[float]) + x140 += einsum("ij->ij", x84) + x85 = np.zeros((nocc, nocc), dtype=types[float]) + x85 += einsum("wai,wja->ij", lu11, u11) + x87 += einsum("ij->ij", x85) * 0.5 + x88 = np.zeros((nocc, nvir), dtype=types[float]) + x88 += einsum("ia,ij->ja", t1, x87) + del x87 + x89 += einsum("ia->ia", x88) + del x88 + x95 += einsum("ij->ij", x85) + ls1new = np.zeros((nbos), dtype=types[float]) + ls1new += einsum("ij,wji->w", x95, g.boo) * -2 + x108 += einsum("ij->ij", x85) + x109 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x109 += einsum("w,ij->wij", s1, x108) + l1new += einsum("ia,ji->aj", f.ov, x108) * -1 + del x108 + x140 += einsum("ij->ij", x85) + x141 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x141 += einsum("ij,jakb->kiab", x140, v.ovov) + del x140 + x143 += einsum("ijab->jiba", x141) + del x141 + x89 += einsum("ia->ia", t1) * -0.5 + l1new += einsum("ia,ijab->bj", x89, x35) * -2 + del x35 + ls1new += einsum("ia,wia->w", x89, g.bov) * -4 + del x89 + x90 = np.zeros((nvir, nvir), dtype=types[float]) + x90 += einsum("ai,ib->ab", l1, t1) + x93 += einsum("ab->ab", x90) * 0.5 + ls1new += einsum("ab,wab->w", x90, g.bvv) * 2 + del x90 + x91 = np.zeros((nvir, nvir), dtype=types[float]) + x91 += einsum("wai,wib->ab", lu11, u11) + x93 += einsum("ab->ab", x91) * 0.5 + x126 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x126 += einsum("ab,icjb->ijac", x91, v.ovov) + x143 += einsum("ijab->ijab", x126) + del x126 + x180 += einsum("ab->ab", x91) * 0.5 + del x91 + ls1new += einsum("ab,wab->w", x180, g.bvv) * 4 + del x180 + x94 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x94 += einsum("iabc->ibca", v.ovvv) * 2 + x94 += einsum("iabc->ibac", v.ovvv) * -1 + l1new += einsum("ab,iabc->ci", x93, x94) * 2 + del x93 + del x94 + x96 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x96 += einsum("ijka->ikja", v.ooov) * 2 + x96 += einsum("ijka->kija", v.ooov) * -1 + l1new += einsum("ij,jkia->ak", x95, x96) * -1 + del x96 + del x95 + x97 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x97 -= einsum("ijka->ikja", v.ooov) + x97 += einsum("ijka->kija", v.ooov) * 2 + x103 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x103 += einsum("wia,ijka->wjk", u11, x97) + x160 = np.zeros((nocc, nocc), dtype=types[float]) + x160 += einsum("ia,ijka->jk", t1, x97) + del x97 + x162 = np.zeros((nocc, nocc), dtype=types[float]) + x162 += einsum("ij->ij", x160) + del x160 + x98 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x98 += einsum("iajb->jiab", v.ovov) * 2 + x98 -= einsum("iajb->jiba", v.ovov) + x99 = np.zeros((nocc, nvir), dtype=types[float]) + x99 += einsum("ia,ijba->jb", t1, x98) + x100 += einsum("ia->ia", x99) + x161 = np.zeros((nocc, nocc), dtype=types[float]) + x161 += einsum("ia,ja->ij", t1, x99) + x162 += einsum("ij->ji", x161) + del x161 + x163 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x163 += einsum("ij,abjk->kiab", x162, l2) + del x162 + x169 -= einsum("ijab->ijba", x163) + del x163 + x167 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x167 += einsum("ia,jkib->jkba", x99, x31) + x169 -= einsum("ijab->ijab", x167) + del x167 + x169 += einsum("ai,jb->ijab", l1, x99) + l1new -= einsum("ij,ja->ai", x85, x99) + del x99 + del x85 + x101 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x101 += einsum("wia,ijba->wjb", u11, x98) + del x98 + x102 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x102 += einsum("wia->wia", x101) + x114 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x114 += einsum("wia->wia", x101) + x168 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x168 += einsum("wai,wjb->ijab", lu11, x101) + del x101 + x169 += einsum("ijab->ijab", x168) + del x168 + x100 += einsum("ia->ia", f.ov) + x103 += einsum("ia,wja->wij", x100, u11) + x119 = np.zeros((nbos), dtype=types[float]) + x119 += einsum("ia,wia->w", x100, u11) + x122 = np.zeros((nbos), dtype=types[float]) + x122 += einsum("w->w", x119) * 2 + del x119 + l1new -= einsum("ia,ji->aj", x100, x84) + del x100 + del x84 + x102 += einsum("wia->wia", gc.bov) + x102 += einsum("wx,wia->xia", s2, g.bov) + x103 += einsum("ia,wja->wji", t1, x102) + del x102 + x103 += einsum("wij->wij", gc.boo) + x103 += einsum("wx,wij->xij", s2, g.boo) + l1new -= einsum("wai,wji->aj", lu11, x103) + del x103 + x104 += einsum("wab->wab", gc.bvv) + x104 += einsum("wx,wab->xab", s2, g.bvv) + l1new += einsum("wai,wab->bi", lu11, x104) + del x104 + x105 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x105 += einsum("wx,xai->wia", s2, lu11) + x107 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x107 += einsum("wia->wia", x105) + x165 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x165 += einsum("wia->wia", x105) + del x105 + x106 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x106 += einsum("abij->jiab", l2) + x106 += einsum("abij->jiba", l2) * -0.5 + x107 += einsum("wia,ijba->wjb", u11, x106) * 2 + del x106 + x109 += einsum("ia,wja->wji", t1, x107) + del x107 + x109 += einsum("ai,wja->wij", l1, u11) + l1new += einsum("wia,wji->aj", g.bov, x109) * -1 + del x109 + x110 += einsum("wij->wij", g.boo) + x186 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x186 += einsum("ia,wij->wja", t1, x110) + x187 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x187 -= einsum("wia->wia", x186) + del x186 + x111 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x111 += einsum("abij->jiab", l2) * 2 + x111 -= einsum("abij->jiba", l2) + x112 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x112 += einsum("wia,ijba->wjb", u11, x111) + del x111 + x165 += einsum("wia->wia", x112) + x166 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x166 += einsum("wia,wjb->ijab", g.bov, x165) + del x165 + x169 += einsum("ijab->ijab", x166) + del x166 + l1new -= einsum("wij,wja->ai", x110, x112) + del x110 + l1new += einsum("wab,wia->bi", g.bvv, x112) + del x112 + x113 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x113 += einsum("iabj->ijba", v.ovvo) * 2 + x113 -= einsum("ijab->ijab", v.oovv) + l1new += einsum("ai,jiab->bj", l1, x113) + lu11new += einsum("wai,jiab->wbj", lu11, x113) + del x113 + x114 += einsum("wia->wia", gc.bov) + l1new -= einsum("wia,wji->aj", x114, x79) + del x114 + del x79 + x116 += einsum("ab->ab", f.vv) + l1new += einsum("ai,ab->bi", l1, x116) + del x116 + x117 = np.zeros((nbos), dtype=types[float]) + x117 += einsum("w,wx->x", s1, w) + x122 += einsum("w->w", x117) + del x117 + x118 = np.zeros((nbos), dtype=types[float]) + x118 += einsum("ia,wia->w", t1, gc.bov) + x122 += einsum("w->w", x118) * 2 + del x118 + x120 += einsum("w->w", G) + x121 = np.zeros((nbos), dtype=types[float]) + x121 += einsum("w,wx->x", x120, s2) + x122 += einsum("w->w", x121) + del x121 + x189 = np.zeros((nbos, nbos), dtype=types[float]) + x189 += einsum("w,x->xw", ls1, x120) + del x120 + x122 += einsum("w->w", G) + l1new += einsum("w,wai->ai", x122, lu11) + ls1new += einsum("w,wx->x", x122, ls2) + del x122 + x123 = np.zeros((nbos), dtype=types[float]) + x123 += einsum("w->w", s1) + x123 += einsum("w,xw->x", ls1, s2) + x123 += einsum("ai,wia->w", l1, u11) * 2 + l1new += einsum("w,wia->ai", x123, g.bov) + del x123 + x124 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x124 += einsum("ai,jbac->ijbc", l1, v.ovvv) + x143 -= einsum("ijab->ijab", x124) + del x124 + x130 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x130 += einsum("ijab,kbic->jkac", t2, v.ovov) + x131 -= einsum("ijab->ijab", x130) + del x130 + x131 += einsum("ijab->jiab", v.oovv) + x132 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x132 += einsum("abij,ikbc->jkac", l2, x131) + x143 += einsum("ijab->ijab", x132) + del x132 + x156 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x156 += einsum("abij,ikac->jkbc", l2, x131) + del x131 + x169 -= einsum("ijab->ijab", x156) + del x156 + x133 = np.zeros((nvir, nvir), dtype=types[float]) + x133 += einsum("wia,wib->ab", g.bov, u11) + x134 -= einsum("ab->ba", x133) + del x133 + x134 += einsum("ab->ab", f.vv) + x135 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x135 += einsum("ab,acij->ijcb", x134, l2) + del x134 + x143 -= einsum("ijab->jiba", x135) + del x135 + x136 += einsum("ia->ia", f.ov) + x137 = np.zeros((nocc, nocc), dtype=types[float]) + x137 += einsum("ia,ja->ij", t1, x136) + x138 += einsum("ij->ji", x137) + del x137 + x142 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x142 += einsum("ia,jkib->jkba", x136, x31) + x143 += einsum("ijab->ijba", x142) + del x142 + x169 += einsum("ai,jb->jiba", l1, x136) + del x136 + x138 += einsum("ij->ij", f.oo) + x139 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x139 += einsum("ij,abjk->kiab", x138, l2) + del x138 + x143 += einsum("ijab->jiba", x139) + del x139 + l2new -= einsum("ijab->baij", x143) + l2new -= einsum("ijab->abji", x143) + del x143 + x144 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x144 += einsum("wia,wbj->ijab", gc.bov, lu11) + x169 += einsum("ijab->ijab", x144) + del x144 + x145 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x145 += einsum("ai,jikb->jkab", l1, v.ooov) + x169 -= einsum("ijab->ijab", x145) + del x145 + x149 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x149 -= einsum("abij->jiab", l2) + x149 += einsum("abij->jiba", l2) * 2 + lu11new += einsum("wai,ijab->wbj", g.bvo, x149) + x150 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x150 += einsum("ia,jbca->ijcb", t1, v.ovvv) + x154 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x154 += einsum("ijab->ijab", x150) + del x150 + x151 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x151 += einsum("ijab,kaic->jkbc", t2, v.ovov) + x154 -= einsum("ijab->ijab", x151) + del x151 + x152 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x152 += einsum("ijab->jiab", t2) * 2 + x152 -= einsum("ijab->jiba", t2) + x153 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x153 += einsum("iajb,ikca->jkbc", v.ovov, x152) + x154 += einsum("ijab->jiba", x153) + del x153 + x185 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x185 += einsum("wia,ijba->wjb", g.bov, x152) + del x152 + x187 += einsum("wia->wia", x185) + del x185 + x154 += einsum("iabj->jiba", v.ovvo) + x155 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x155 += einsum("ijab,ikac->jkbc", x149, x154) + del x154 + del x149 + x169 += einsum("ijab->ijab", x155) + del x155 + x158 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x158 += einsum("ijka->ikja", v.ooov) * 2 + x158 -= einsum("ijka->kija", v.ooov) + x159 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x159 += einsum("ijka,lkib->ljba", x158, x31) + del x158 + del x31 + x169 -= einsum("ijab->ijab", x159) + del x159 + l2new += einsum("ijab->abij", x169) + l2new += einsum("ijab->baji", x169) + del x169 + x178 += einsum("ijkl->kilj", v.oooo) + l2new += einsum("abij,klji->ablk", l2, x178) + del x178 + x179 += einsum("ai->ia", f.vo) + ls1new += einsum("ia,wai->w", x179, lu11) * 2 + del x179 + x181 = np.zeros((nbos, nbos), dtype=types[float]) + x181 += einsum("wx,yx->wy", ls2, w) + x189 += einsum("wx->wx", x181) + del x181 + x182 = np.zeros((nbos, nbos), dtype=types[float]) + x182 += einsum("wia,xia->wx", g.bov, u11) + x183 = np.zeros((nbos, nbos), dtype=types[float]) + x183 += einsum("wx,yx->yw", ls2, x182) + del x182 + x189 += einsum("wx->wx", x183) * 2 + del x183 + x184 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x184 += einsum("ia,wba->wib", t1, g.bvv) + x187 += einsum("wia->wia", x184) + del x184 + x187 += einsum("wai->wia", g.bvo) + x188 = np.zeros((nbos, nbos), dtype=types[float]) + x188 += einsum("wai,xia->wx", lu11, x187) + del x187 + x189 += einsum("wx->xw", x188) * 2 + del x188 + ls2new = np.zeros((nbos, nbos), dtype=types[float]) + ls2new += einsum("wx->wx", x189) + ls2new += einsum("wx->xw", x189) + del x189 + l1new += einsum("ia->ai", f.ov) + l1new += einsum("w,wia->ai", ls1, gc.bov) + l2new += einsum("abij,bcad->cdji", l2, v.vvvv) + l2new += einsum("iajb->baji", v.ovov) + ls1new += einsum("ai,wai->w", l1, g.bvo) * 2 + ls1new += einsum("w,xw->x", ls1, w) + ls1new += einsum("w->w", G) + lu11new -= einsum("ij,waj->wai", f.oo, lu11) + lu11new -= einsum("ai,wji->waj", l1, g.boo) + lu11new += einsum("wx,xia->wai", ls2, gc.bov) + lu11new += einsum("wx,xai->wai", w, lu11) + lu11new += einsum("wia->wai", g.bov) + lu11new += einsum("ab,wai->wbi", f.vv, lu11) + lu11new += einsum("ai,wab->wbi", l1, g.bvv) + + return {"l1new": l1new, "l2new": l2new, "ls1new": ls1new, "ls2new": ls2new, "lu11new": lu11new} + +def make_rdm1_f(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, s2=None, u11=None, l1=None, l2=None, ls1=None, ls2=None, lu11=None, **kwargs): + # Get boson coupling creation array: + gc = Namespace( + boo=g.boo.transpose(0, 2, 1), + bov=g.bvo.transpose(0, 2, 1), + bvo=g.bov.transpose(0, 2, 1), + bvv=g.bvv.transpose(0, 2, 1), + ) + + delta_oo = np.eye(nocc) + delta_vv = np.eye(nvir) + + # 1RDM + x0 = np.zeros((nocc, nocc), dtype=types[float]) + x0 += einsum("ai,ja->ij", l1, t1) + x8 = np.zeros((nocc, nocc), dtype=types[float]) + x8 += einsum("ij->ij", x0) + rdm1_f_oo = np.zeros((nocc, nocc), dtype=types[float]) + rdm1_f_oo -= einsum("ij->ij", x0) * 2 + del x0 + x1 = np.zeros((nocc, nocc), dtype=types[float]) + x1 += einsum("wai,wja->ij", lu11, u11) + x8 += einsum("ij->ij", x1) + rdm1_f_oo -= einsum("ij->ij", x1) * 2 + del x1 + x2 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x2 += einsum("ijab->jiab", t2) * 2 + x2 += einsum("ijab->jiba", t2) * -1 + rdm1_f_oo += einsum("abij,ikba->jk", l2, x2) * -2 + del x2 + x3 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x3 += einsum("ia,waj->wji", t1, lu11) + rdm1_f_vo = np.zeros((nvir, nocc), dtype=types[float]) + rdm1_f_vo -= einsum("wia,wij->aj", u11, x3) * 2 + del x3 + x4 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x4 += einsum("ia,abjk->kjib", t1, l2) + x5 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x5 += einsum("ijka->ijka", x4) * -1 + x5 += einsum("ijka->jika", x4) * 2 + del x4 + rdm1_f_vo += einsum("ijab,jika->bk", t2, x5) * -2 + del x5 + x6 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x6 += einsum("ijab->jiab", t2) * 2 + x6 -= einsum("ijab->jiba", t2) + rdm1_f_vo += einsum("ai,ijba->bj", l1, x6) * 2 + del x6 + x7 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x7 += einsum("ijab->jiab", t2) * -0.5 + x7 += einsum("ijab->jiba", t2) + x8 += einsum("abij,ikab->jk", l2, x7) * 2 + del x7 + rdm1_f_vo += einsum("ia,ij->aj", t1, x8) * -2 + del x8 + x9 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x9 += einsum("abij->jiab", l2) * -0.5 + x9 += einsum("abij->jiba", l2) + rdm1_f_vv = np.zeros((nvir, nvir), dtype=types[float]) + rdm1_f_vv += einsum("ijab,ijac->bc", t2, x9) * 4 + del x9 + rdm1_f_oo += einsum("ij->ji", delta_oo) * 2 + rdm1_f_ov = np.zeros((nocc, nvir), dtype=types[float]) + rdm1_f_ov += einsum("ai->ia", l1) * 2 + rdm1_f_vo += einsum("ia->ai", t1) * 2 + rdm1_f_vo += einsum("w,wia->ai", ls1, u11) * 2 + rdm1_f_vv += einsum("wai,wib->ba", lu11, u11) * 2 + rdm1_f_vv += einsum("ai,ib->ba", l1, t1) * 2 + + rdm1_f = np.block([[rdm1_f_oo, rdm1_f_ov], [rdm1_f_vo, rdm1_f_vv]]) + + return rdm1_f + +def make_rdm2_f(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, s2=None, u11=None, l1=None, l2=None, ls1=None, ls2=None, lu11=None, **kwargs): + # Get boson coupling creation array: + gc = Namespace( + boo=g.boo.transpose(0, 2, 1), + bov=g.bvo.transpose(0, 2, 1), + bvo=g.bov.transpose(0, 2, 1), + bvv=g.bvv.transpose(0, 2, 1), + ) + + delta_oo = np.eye(nocc) + delta_vv = np.eye(nvir) + + # 2RDM + x0 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x0 += einsum("abij,klab->ijkl", l2, t2) + x23 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x23 += einsum("ia,jikl->jkla", t1, x0) + x28 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x28 += einsum("ijka->ijka", x23) * 4 + rdm2_f_vooo = np.zeros((nvir, nocc, nocc, nocc), dtype=types[float]) + rdm2_f_vooo += einsum("ijka->ajik", x23) * -2 + rdm2_f_vooo += einsum("ijka->akij", x23) * 4 + del x23 + rdm2_f_oooo = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + rdm2_f_oooo += einsum("ijkl->jkil", x0) * -2 + rdm2_f_oooo += einsum("ijkl->jlik", x0) * 4 + x1 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x1 += einsum("ia,abjk->kjib", t1, l2) + x2 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x2 += einsum("ia,jkla->jkil", t1, x1) + x10 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x10 += einsum("ia,ijkl->jlka", t1, x2) + x18 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x18 -= einsum("ijka->ijka", x10) + x35 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x35 += einsum("ijka->ijka", x10) + x67 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x67 += einsum("ia,ijkb->jkab", t1, x10) + del x10 + x69 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x69 += einsum("ijab->ijab", x67) + del x67 + x75 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x75 += einsum("ijab,jikl->lkab", t2, x2) + x78 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x78 += einsum("ijab->ijab", x75) * 2.0000000000000013 + del x75 + rdm2_f_oooo += einsum("ijkl->ikjl", x2) * 4 + rdm2_f_oooo -= einsum("ijkl->iljk", x2) * 2 + del x2 + x9 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x9 += einsum("ijab,jkla->klib", t2, x1) + x18 -= einsum("ijka->ijka", x9) + del x9 + x11 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x11 += einsum("ijka->ijka", x1) * 2 + x11 -= einsum("ijka->jika", x1) + x12 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x12 += einsum("ijab,ikla->kljb", t2, x11) + x18 += einsum("ijka->ijka", x12) + del x12 + x51 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x51 += einsum("ia,jikb->jkba", t1, x11) + del x11 + rdm2_f_ovvo = np.zeros((nocc, nvir, nvir, nocc), dtype=types[float]) + rdm2_f_ovvo -= einsum("ijab->iabj", x51) * 2 + rdm2_f_voov = np.zeros((nvir, nocc, nocc, nvir), dtype=types[float]) + rdm2_f_voov -= einsum("ijab->bjia", x51) * 2 + del x51 + x20 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x20 += einsum("ijab,kjla->klib", t2, x1) + x22 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x22 -= einsum("ijka->ijka", x20) + x80 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x80 -= einsum("ijka->ijka", x20) + del x20 + x24 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x24 += einsum("ijka->ijka", x1) + x24 += einsum("ijka->jika", x1) * -0.5 + x25 = np.zeros((nocc, nvir), dtype=types[float]) + x25 += einsum("ijab,jikb->ka", t2, x24) * 2 + x27 = np.zeros((nocc, nvir), dtype=types[float]) + x27 += einsum("ia->ia", x25) + del x25 + x36 = np.zeros((nocc, nvir), dtype=types[float]) + x36 += einsum("ijab,jikb->ka", t2, x24) + del x24 + x38 = np.zeros((nocc, nvir), dtype=types[float]) + x38 += einsum("ia->ia", x36) + del x36 + x32 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x32 += einsum("ijab,kjlb->klia", t2, x1) + x35 += einsum("ijka->ijka", x32) + x58 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x58 += einsum("ijka->ijka", x32) + del x32 + x43 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x43 -= einsum("ijka->ijka", x1) + x43 += einsum("ijka->jika", x1) * 2 + x44 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x44 += einsum("ia,jikb->jkba", t1, x43) + del x43 + rdm2_f_oovv = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + rdm2_f_oovv -= einsum("ijab->ijba", x44) * 2 + rdm2_f_vvoo = np.zeros((nvir, nvir, nocc, nocc), dtype=types[float]) + rdm2_f_vvoo -= einsum("ijab->baij", x44) * 2 + del x44 + x92 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x92 += einsum("ia,jikb->jkba", t1, x1) + x93 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x93 += einsum("ijab->ijab", x92) + del x92 + x100 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x100 += einsum("ijab,ijkc->kcab", t2, x1) + rdm2_f_vovv = np.zeros((nvir, nocc, nvir, nvir), dtype=types[float]) + rdm2_f_vovv += einsum("iabc->bica", x100) * 2 + rdm2_f_vovv += einsum("iabc->ciba", x100) * -4 + rdm2_f_vvvo = np.zeros((nvir, nvir, nvir, nocc), dtype=types[float]) + rdm2_f_vvvo += einsum("iabc->baci", x100) * -4 + rdm2_f_vvvo += einsum("iabc->cabi", x100) * 2 + del x100 + rdm2_f_ooov = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + rdm2_f_ooov += einsum("ijka->ikja", x1) * 2 + rdm2_f_ooov -= einsum("ijka->jkia", x1) * 4 + rdm2_f_ovoo = np.zeros((nocc, nvir, nocc, nocc), dtype=types[float]) + rdm2_f_ovoo -= einsum("ijka->iajk", x1) * 4 + rdm2_f_ovoo += einsum("ijka->jaik", x1) * 2 + x3 = np.zeros((nocc, nocc), dtype=types[float]) + x3 += einsum("ai,ja->ij", l1, t1) + x21 = np.zeros((nocc, nocc), dtype=types[float]) + x21 += einsum("ij->ij", x3) + x30 = np.zeros((nocc, nvir), dtype=types[float]) + x30 += einsum("ia,ij->ja", t1, x3) + x31 = np.zeros((nocc, nvir), dtype=types[float]) + x31 -= einsum("ia->ia", x30) + del x30 + x79 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x79 += einsum("ij,kiab->jkab", x3, t2) + x82 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x82 += einsum("ijab->ijab", x79) + del x79 + rdm2_f_oooo -= einsum("ij,kl->jikl", delta_oo, x3) * 4 + rdm2_f_oooo += einsum("ij,kl->kijl", delta_oo, x3) * 2 + rdm2_f_oooo += einsum("ij,kl->jlki", delta_oo, x3) * 2 + rdm2_f_oooo -= einsum("ij,kl->klji", delta_oo, x3) * 4 + del x3 + x4 = np.zeros((nocc, nocc), dtype=types[float]) + x4 += einsum("wai,wja->ij", lu11, u11) + x14 = np.zeros((nocc, nvir), dtype=types[float]) + x14 += einsum("ia,ij->ja", t1, x4) + x17 = np.zeros((nocc, nvir), dtype=types[float]) + x17 += einsum("ia->ia", x14) + del x14 + x21 += einsum("ij->ij", x4) + x22 += einsum("ia,jk->jika", t1, x21) + x85 = np.zeros((nocc, nvir), dtype=types[float]) + x85 += einsum("ia,ij->ja", t1, x21) + del x21 + x86 = np.zeros((nocc, nvir), dtype=types[float]) + x86 += einsum("ia->ia", x85) + x87 = np.zeros((nocc, nvir), dtype=types[float]) + x87 += einsum("ia->ia", x85) + del x85 + x56 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x56 += einsum("ij,kiab->kjab", x4, t2) + x64 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x64 += einsum("ijab->ijab", x56) + del x56 + rdm2_f_oooo -= einsum("ij,kl->ijkl", delta_oo, x4) * 4 + rdm2_f_oooo += einsum("ij,kl->ilkj", delta_oo, x4) * 2 + rdm2_f_oooo += einsum("ij,kl->kijl", delta_oo, x4) * 2 + rdm2_f_oooo -= einsum("ij,kl->klji", delta_oo, x4) * 4 + del x4 + x5 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x5 += einsum("ijab->jiab", t2) + x5 += einsum("ijab->jiba", t2) * -0.5 + x6 = np.zeros((nocc, nocc), dtype=types[float]) + x6 += einsum("abij,ikba->kj", l2, x5) + del x5 + x26 = np.zeros((nocc, nvir), dtype=types[float]) + x26 += einsum("ia,ji->ja", t1, x6) * 2 + x27 += einsum("ia->ia", x26) + del x26 + x28 += einsum("ij,ka->jika", delta_oo, x27) * -4 + del x27 + rdm2_f_oovo = np.zeros((nocc, nocc, nvir, nocc), dtype=types[float]) + rdm2_f_oovo += einsum("ijka->ijak", x28) + rdm2_f_oovo += einsum("ijka->ikaj", x28) * -0.5 + del x28 + x37 = np.zeros((nocc, nvir), dtype=types[float]) + x37 += einsum("ia,ji->ja", t1, x6) + x38 += einsum("ia->ia", x37) + del x37 + x74 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x74 += einsum("ia,jb->ijab", t1, x38) * 8.000000000000005 + rdm2_f_vooo += einsum("ij,ka->ajik", delta_oo, x38) * 4 + rdm2_f_vooo += einsum("ij,ka->akij", delta_oo, x38) * -8 + del x38 + x73 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x73 += einsum("ij,jkab->ikab", x6, t2) * 8 + x74 += einsum("ijab->jiba", x73) + del x73 + rdm2_f_oooo += einsum("ij,kl->jilk", delta_oo, x6) * -8 + rdm2_f_oooo += einsum("ij,kl->jkli", delta_oo, x6) * 4 + rdm2_f_oooo += einsum("ij,kl->ljik", delta_oo, x6) * 4 + rdm2_f_oooo += einsum("ij,kl->lkij", delta_oo, x6) * -8 + rdm2_f_oovo += einsum("ia,jk->kiaj", t1, x6) * 4 + rdm2_f_oovo += einsum("ia,jk->kjai", t1, x6) * -8 + rdm2_f_vooo += einsum("ia,jk->aikj", t1, x6) * -8 + rdm2_f_vooo += einsum("ia,jk->ajki", t1, x6) * 4 + del x6 + x7 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x7 += einsum("ia,waj->wji", t1, lu11) + x8 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x8 += einsum("wia,wjk->jkia", u11, x7) + x18 += einsum("ijka->ijka", x8) + x35 -= einsum("ijka->ijka", x8) + del x8 + x13 = np.zeros((nocc, nvir), dtype=types[float]) + x13 += einsum("wia,wij->ja", u11, x7) + x17 += einsum("ia->ia", x13) + x86 += einsum("ia->ia", x13) + x87 += einsum("ia->ia", x13) + del x13 + x60 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x60 += einsum("ia,wij->wja", t1, x7) + del x7 + x62 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x62 += einsum("wia->wia", x60) + del x60 + x15 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x15 -= einsum("ijab->jiab", t2) + x15 += einsum("ijab->jiba", t2) * 2 + x16 = np.zeros((nocc, nvir), dtype=types[float]) + x16 += einsum("ai,ijab->jb", l1, x15) + x17 -= einsum("ia->ia", x16) + x18 += einsum("ij,ka->jika", delta_oo, x17) + rdm2_f_oovo -= einsum("ijka->ijak", x18) * 4 + rdm2_f_oovo += einsum("ijka->ikaj", x18) * 2 + del x18 + rdm2_f_vooo += einsum("ij,ka->ajik", delta_oo, x17) * 2 + rdm2_f_vooo -= einsum("ij,ka->akij", delta_oo, x17) * 4 + del x17 + x64 -= einsum("ia,jb->ijab", t1, x16) + del x16 + x54 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x54 += einsum("abij,ikac->kjcb", l2, x15) + x93 -= einsum("ijab->jiba", x54) + rdm2_f_vvoo -= einsum("ijab->abji", x54) * 2 + del x54 + x61 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x61 += einsum("wai,ijab->wjb", lu11, x15) + x62 -= einsum("wia->wia", x61) + del x61 + x63 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x63 += einsum("wia,wjb->ijab", u11, x62) + del x62 + x64 += einsum("ijab->jiba", x63) + del x63 + x19 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x19 += einsum("ai,jkab->ikjb", l1, t2) + x22 += einsum("ijka->ijka", x19) + rdm2_f_oovo += einsum("ijka->ijak", x22) * 2 + rdm2_f_oovo -= einsum("ijka->ikaj", x22) * 4 + rdm2_f_vooo -= einsum("ijka->ajik", x22) * 4 + rdm2_f_vooo += einsum("ijka->akij", x22) * 2 + del x22 + x80 += einsum("ijka->ijka", x19) + del x19 + x81 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x81 += einsum("ia,ijkb->jkba", t1, x80) + del x80 + x82 += einsum("ijab->ijba", x81) + del x81 + rdm2_f_vovo = np.zeros((nvir, nocc, nvir, nocc), dtype=types[float]) + rdm2_f_vovo += einsum("ijab->aibj", x82) * 2 + rdm2_f_vovo -= einsum("ijab->biaj", x82) * 4 + rdm2_f_vovo -= einsum("ijab->ajbi", x82) * 4 + rdm2_f_vovo += einsum("ijab->bjai", x82) * 2 + del x82 + x29 = np.zeros((nocc, nvir), dtype=types[float]) + x29 += einsum("w,wia->ia", ls1, u11) + x31 += einsum("ia->ia", x29) + x86 -= einsum("ia->ia", x29) + x87 -= einsum("ia->ia", x29) + del x29 + rdm2_f_vovo -= einsum("ia,jb->aibj", t1, x87) * 4 + rdm2_f_vovo += einsum("ia,jb->biaj", t1, x87) * 2 + del x87 + x31 += einsum("ia->ia", t1) + rdm2_f_oovo -= einsum("ij,ka->jkai", delta_oo, x31) * 2 + rdm2_f_oovo += einsum("ij,ka->jiak", delta_oo, x31) * 4 + rdm2_f_vooo += einsum("ij,ka->akji", delta_oo, x31) * 4 + rdm2_f_vooo -= einsum("ij,ka->aijk", delta_oo, x31) * 2 + del x31 + x33 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x33 += einsum("ijab->jiab", t2) * 2 + x33 -= einsum("ijab->jiba", t2) + x34 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x34 += einsum("ijka,ilba->ljkb", x1, x33) + del x1 + x35 -= einsum("ijka->jkia", x34) + rdm2_f_vooo -= einsum("ijka->ajik", x35) * 2 + rdm2_f_vooo += einsum("ijka->akij", x35) * 4 + del x35 + x58 -= einsum("ijka->jkia", x34) + del x34 + x59 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x59 += einsum("ia,ijkb->jkba", t1, x58) + del x58 + x64 -= einsum("ijab->ijba", x59) + del x59 + rdm2_f_vvoo -= einsum("abij,ikbc->cajk", l2, x33) * 2 + del x33 + x39 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x39 += einsum("wai,wjb->ijab", lu11, u11) + rdm2_f_oovv -= einsum("ijab->ijba", x39) * 2 + rdm2_f_ovvo += einsum("ijab->iabj", x39) * 4 + rdm2_f_voov += einsum("ijab->bjia", x39) * 4 + rdm2_f_vvoo -= einsum("ijab->baij", x39) * 2 + del x39 + x40 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x40 -= einsum("abij->jiab", l2) + x40 += einsum("abij->jiba", l2) * 2 + x41 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x41 += einsum("ijab,ikac->kjcb", t2, x40) + x57 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x57 += einsum("ijab,ikbc->kjca", t2, x41) + x64 += einsum("ijab->ijab", x57) + del x57 + x68 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x68 += einsum("ijab,ikac->kjcb", t2, x41) + x69 += einsum("ijab->ijab", x68) * 2 + del x68 + rdm2_f_oovv -= einsum("ijab->ijba", x41) * 2 + del x41 + x50 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x50 += einsum("ijab,ikac->jkbc", x15, x40) + del x40 + del x15 + rdm2_f_ovvo += einsum("ijab->jbai", x50) * 2 + rdm2_f_voov += einsum("ijab->aijb", x50) * 2 + del x50 + x42 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x42 += einsum("abij->jiab", l2) * 2 + x42 -= einsum("abij->jiba", l2) + rdm2_f_oovv -= einsum("ijab,ikbc->kjac", t2, x42) * 2 + del x42 + x45 = np.zeros((nvir, nvir), dtype=types[float]) + x45 += einsum("ai,ib->ab", l1, t1) + x49 = np.zeros((nvir, nvir), dtype=types[float]) + x49 += einsum("ab->ab", x45) * 0.5 + x53 = np.zeros((nvir, nvir), dtype=types[float]) + x53 += einsum("ab->ab", x45) + x98 = np.zeros((nvir, nvir), dtype=types[float]) + x98 += einsum("ab->ab", x45) + del x45 + x46 = np.zeros((nvir, nvir), dtype=types[float]) + x46 += einsum("wai,wib->ab", lu11, u11) + x49 += einsum("ab->ab", x46) * 0.5 + x53 += einsum("ab->ab", x46) + x55 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x55 += einsum("ab,ijca->ijcb", x46, t2) + x64 += einsum("ijab->ijab", x55) + del x55 + rdm2_f_vovo -= einsum("ijab->aibj", x64) * 4 + rdm2_f_vovo += einsum("ijab->biaj", x64) * 2 + rdm2_f_vovo += einsum("ijab->ajbi", x64) * 2 + rdm2_f_vovo -= einsum("ijab->bjai", x64) * 4 + del x64 + x98 += einsum("ab->ab", x46) + del x46 + x99 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x99 += einsum("ia,bc->ibac", t1, x98) + del x98 + x47 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x47 += einsum("abij->jiab", l2) + x47 += einsum("abij->jiba", l2) * -0.5 + x48 = np.zeros((nvir, nvir), dtype=types[float]) + x48 += einsum("ijab,ijbc->ca", t2, x47) + x49 += einsum("ab->ab", x48) + rdm2_f_oovv += einsum("ij,ab->jiba", delta_oo, x49) * 8 + del x49 + x72 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x72 += einsum("ab,ijac->ijbc", x48, t2) * 8 + x74 += einsum("ijab->jiba", x72) + del x72 + rdm2_f_vovo += einsum("ijab->aibj", x74) * -1 + rdm2_f_vovo += einsum("ijab->biaj", x74) * 0.5 + rdm2_f_vovo += einsum("ijab->ajbi", x74) * 0.5 + rdm2_f_vovo += einsum("ijab->bjai", x74) * -1 + del x74 + rdm2_f_vovv += einsum("ia,bc->aicb", t1, x48) * 8 + rdm2_f_vovv += einsum("ia,bc->ciab", t1, x48) * -4 + rdm2_f_vvvo += einsum("ia,bc->abci", t1, x48) * -4 + rdm2_f_vvvo += einsum("ia,bc->cbai", t1, x48) * 8 + del x48 + x52 = np.zeros((nvir, nvir), dtype=types[float]) + x52 += einsum("ijab,ijbc->ca", t2, x47) * 2 + del x47 + x53 += einsum("ab->ab", x52) + del x52 + rdm2_f_ovvo += einsum("ij,ab->jabi", delta_oo, x53) * -2 + rdm2_f_voov += einsum("ij,ab->bija", delta_oo, x53) * -2 + rdm2_f_vvoo += einsum("ij,ab->baji", delta_oo, x53) * 4 + del x53 + x65 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x65 += einsum("abij,kjbc->ikac", l2, t2) + x66 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x66 += einsum("ijab,jkac->ikbc", t2, x65) + del x65 + x69 += einsum("ijab->ijab", x66) + del x66 + x69 += einsum("ijab->jiba", t2) + rdm2_f_vovo -= einsum("ijab->biaj", x69) * 2 + rdm2_f_vovo += einsum("ijab->aibj", x69) * 4 + del x69 + x70 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x70 += einsum("abij,kjac->ikbc", l2, t2) + x71 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x71 += einsum("ijab,jkac->ikbc", t2, x70) + rdm2_f_vovo += einsum("ijab->ajbi", x71) * 4 + rdm2_f_vovo -= einsum("ijab->bjai", x71) * 2 + del x71 + x97 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x97 += einsum("ia,ijbc->jbac", t1, x70) + del x70 + x99 -= einsum("iabc->iabc", x97) + del x97 + x76 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x76 += einsum("ijab->jiba", t2) + x76 += einsum("ia,jb->ijab", t1, t1) + x77 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x77 += einsum("ijkl,ijab->klab", x0, x76) * 2 + del x0 + del x76 + x78 += einsum("ijab->jiba", x77) + del x77 + rdm2_f_vovo += einsum("ijab->ajbi", x78) * -1 + rdm2_f_vovo += einsum("ijab->bjai", x78) * 2 + del x78 + x83 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x83 += einsum("wx,xia->wia", ls2, u11) + x84 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x84 += einsum("wia,wjb->jiba", u11, x83) + del x83 + rdm2_f_vovo -= einsum("ijab->biaj", x84) * 2 + rdm2_f_vovo += einsum("ijab->bjai", x84) * 4 + del x84 + x86 -= einsum("ia->ia", t1) + rdm2_f_vovo -= einsum("ia,jb->bjai", t1, x86) * 4 + rdm2_f_vovo += einsum("ia,jb->ajbi", t1, x86) * 2 + del x86 + x88 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x88 += einsum("ia,bcji->jbca", t1, l2) + x102 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) + x102 += einsum("ia,ibcd->cbda", t1, x88) + rdm2_f_vvvv = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) + rdm2_f_vvvv -= einsum("abcd->cbda", x102) * 2 + rdm2_f_vvvv += einsum("abcd->dbca", x102) * 4 + del x102 + rdm2_f_ovvv = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + rdm2_f_ovvv += einsum("iabc->iacb", x88) * 4 + rdm2_f_ovvv -= einsum("iabc->ibca", x88) * 2 + rdm2_f_vvov = np.zeros((nvir, nvir, nocc, nvir), dtype=types[float]) + rdm2_f_vvov -= einsum("iabc->caib", x88) * 2 + rdm2_f_vvov += einsum("iabc->cbia", x88) * 4 + del x88 + x89 = np.zeros((nbos, nvir, nvir), dtype=types[float]) + x89 += einsum("ia,wbi->wba", t1, lu11) + x90 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x90 += einsum("wia,wbc->ibca", u11, x89) + del x89 + x95 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x95 -= einsum("iabc->iabc", x90) + del x90 + x91 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x91 += einsum("abij,kjca->ikbc", l2, t2) + x93 += einsum("ijab->ijab", x91) + del x91 + x94 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x94 += einsum("ia,ijbc->jbca", t1, x93) + del x93 + x95 += einsum("iabc->iacb", x94) + del x94 + rdm2_f_vovv += einsum("iabc->bica", x95) * 2 + rdm2_f_vovv -= einsum("iabc->ciba", x95) * 4 + rdm2_f_vvvo -= einsum("iabc->baci", x95) * 4 + rdm2_f_vvvo += einsum("iabc->cabi", x95) * 2 + del x95 + x96 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x96 += einsum("ai,jibc->jabc", l1, t2) + x99 += einsum("iabc->iabc", x96) + del x96 + rdm2_f_vovv += einsum("iabc->bica", x99) * 4 + rdm2_f_vovv -= einsum("iabc->ciba", x99) * 2 + rdm2_f_vvvo -= einsum("iabc->baci", x99) * 2 + rdm2_f_vvvo += einsum("iabc->cabi", x99) * 4 + del x99 + x101 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) + x101 += einsum("abij,ijcd->abcd", l2, t2) + rdm2_f_vvvv += einsum("abcd->cbda", x101) * -2 + rdm2_f_vvvv += einsum("abcd->dbca", x101) * 4 + del x101 + rdm2_f_oooo += einsum("ij,kl->jilk", delta_oo, delta_oo) * 4 + rdm2_f_oooo -= einsum("ij,kl->ljik", delta_oo, delta_oo) * 2 + rdm2_f_ooov += einsum("ij,ak->jika", delta_oo, l1) * 4 + rdm2_f_ooov -= einsum("ij,ak->kija", delta_oo, l1) * 2 + rdm2_f_ovoo -= einsum("ij,ak->jaki", delta_oo, l1) * 2 + rdm2_f_ovoo += einsum("ij,ak->kaji", delta_oo, l1) * 4 + rdm2_f_ovov = np.zeros((nocc, nvir, nocc, nvir), dtype=types[float]) + rdm2_f_ovov -= einsum("abij->jaib", l2) * 2 + rdm2_f_ovov += einsum("abij->jbia", l2) * 4 + rdm2_f_oovv -= einsum("ai,jb->ijba", l1, t1) * 2 + rdm2_f_ovvo += einsum("ai,jb->iabj", l1, t1) * 4 + rdm2_f_voov += einsum("ai,jb->bjia", l1, t1) * 4 + rdm2_f_vvoo -= einsum("ai,jb->baij", l1, t1) * 2 + + rdm2_f = pack_2e(rdm2_f_oooo, rdm2_f_ooov, rdm2_f_oovo, rdm2_f_ovoo, rdm2_f_vooo, rdm2_f_oovv, rdm2_f_ovov, rdm2_f_ovvo, rdm2_f_voov, rdm2_f_vovo, rdm2_f_vvoo, rdm2_f_ovvv, rdm2_f_vovv, rdm2_f_vvov, rdm2_f_vvvo, rdm2_f_vvvv) + + return rdm2_f + +def make_sing_b_dm(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, s2=None, u11=None, l1=None, l2=None, ls1=None, ls2=None, lu11=None, **kwargs): + # Get boson coupling creation array: + gc = Namespace( + boo=g.boo.transpose(0, 2, 1), + bov=g.bvo.transpose(0, 2, 1), + bvo=g.bov.transpose(0, 2, 1), + bvv=g.bvv.transpose(0, 2, 1), + ) + + # Single boson DM + dm_b_cre = np.zeros((nbos), dtype=types[float]) + dm_b_cre += einsum("w->w", ls1) + dm_b_des = np.zeros((nbos), dtype=types[float]) + dm_b_des += einsum("w->w", s1) + dm_b_des += einsum("ai,wia->w", l1, u11) * 2 + dm_b_des += einsum("w,xw->x", ls1, s2) + + dm_b = np.array([dm_b_cre, dm_b_des]) + + return dm_b + +def make_rdm1_b(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, s2=None, u11=None, l1=None, l2=None, ls1=None, ls2=None, lu11=None, **kwargs): + # Get boson coupling creation array: + gc = Namespace( + boo=g.boo.transpose(0, 2, 1), + bov=g.bvo.transpose(0, 2, 1), + bvo=g.bov.transpose(0, 2, 1), + bvv=g.bvv.transpose(0, 2, 1), + ) + + # Boson 1RDM + rdm1_b = np.zeros((nbos, nbos), dtype=types[float]) + rdm1_b += einsum("w,x->wx", ls1, s1) + rdm1_b += einsum("wx,yx->wy", ls2, s2) + rdm1_b += einsum("wai,xia->wx", lu11, u11) * 2 + + return rdm1_b + +def make_eb_coup_rdm(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, s2=None, u11=None, l1=None, l2=None, ls1=None, ls2=None, lu11=None, **kwargs): + # Get boson coupling creation array: + gc = Namespace( + boo=g.boo.transpose(0, 2, 1), + bov=g.bvo.transpose(0, 2, 1), + bvo=g.bov.transpose(0, 2, 1), + bvv=g.bvv.transpose(0, 2, 1), + ) + + delta_oo = np.eye(nocc) + delta_vv = np.eye(nvir) + + # Boson-fermion coupling RDM + x0 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x0 += einsum("ia,waj->wji", t1, lu11) + x27 = np.zeros((nocc, nvir), dtype=types[float]) + x27 += einsum("wia,wij->ja", u11, x0) + rdm_eb_cre_oo = np.zeros((nbos, nocc, nocc), dtype=types[float]) + rdm_eb_cre_oo -= einsum("wij->wji", x0) * 2 + rdm_eb_cre_ov = np.zeros((nbos, nocc, nvir), dtype=types[float]) + rdm_eb_cre_ov -= einsum("ia,wij->wja", t1, x0) * 2 + del x0 + x1 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x1 += einsum("ijab->jiab", t2) * 2 + x1 -= einsum("ijab->jiba", t2) + rdm_eb_cre_ov += einsum("wai,ijba->wjb", lu11, x1) * 2 + x2 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x2 += einsum("ai,wja->wij", l1, u11) + x21 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x21 += einsum("wij->wij", x2) + rdm_eb_des_oo = np.zeros((nbos, nocc, nocc), dtype=types[float]) + rdm_eb_des_oo -= einsum("wij->wji", x2) * 2 + del x2 + x3 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x3 += einsum("wx,xai->wia", s2, lu11) + x6 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x6 += einsum("wia->wia", x3) + rdm_eb_des_vo = np.zeros((nbos, nvir, nocc), dtype=types[float]) + rdm_eb_des_vo += einsum("wia->wai", x3) * 2 + del x3 + x4 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x4 += einsum("abij->jiab", l2) * 2 + x4 -= einsum("abij->jiba", l2) + x5 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x5 += einsum("wia,ijba->wjb", u11, x4) + del x4 + x6 += einsum("wia->wia", x5) + x7 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x7 += einsum("ia,wja->wij", t1, x6) + x21 += einsum("wij->wji", x7) + rdm_eb_des_ov = np.zeros((nbos, nocc, nvir), dtype=types[float]) + rdm_eb_des_ov -= einsum("ia,wij->wja", t1, x21) * 2 + del x21 + rdm_eb_des_oo -= einsum("wij->wij", x7) * 2 + del x7 + rdm_eb_des_ov += einsum("wia,ijba->wjb", x6, x1) * 2 + del x1 + rdm_eb_des_vv = np.zeros((nbos, nvir, nvir), dtype=types[float]) + rdm_eb_des_vv += einsum("ia,wib->wba", t1, x6) * 2 + del x6 + rdm_eb_des_vo += einsum("wia->wai", x5) * 2 + del x5 + x8 = np.zeros((nocc, nocc), dtype=types[float]) + x8 += einsum("ai,ja->ij", l1, t1) + x11 = np.zeros((nocc, nocc), dtype=types[float]) + x11 += einsum("ij->ij", x8) + x20 = np.zeros((nocc, nocc), dtype=types[float]) + x20 += einsum("ij->ij", x8) * 0.5 + x26 = np.zeros((nocc, nocc), dtype=types[float]) + x26 += einsum("ij->ij", x8) * 0.49999999999999967 + del x8 + x9 = np.zeros((nocc, nocc), dtype=types[float]) + x9 += einsum("wai,wja->ij", lu11, u11) + x11 += einsum("ij->ij", x9) + x20 += einsum("ij->ij", x9) * 0.5 + x26 += einsum("ij->ij", x9) * 0.49999999999999967 + del x9 + x10 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x10 += einsum("ijab->jiab", t2) * -0.5 + x10 += einsum("ijab->jiba", t2) + x11 += einsum("abij,ikab->jk", l2, x10) * 2 + x19 = np.zeros((nocc, nocc), dtype=types[float]) + x19 += einsum("abij,ikab->jk", l2, x10) + del x10 + x20 += einsum("ij->ij", x19) + rdm_eb_des_ov += einsum("ij,wia->wja", x20, u11) * -4 + del x20 + x26 += einsum("ij->ij", x19) + del x19 + x27 += einsum("ia,ij->ja", t1, x26) * 2.0000000000000013 + del x26 + x11 += einsum("ij->ji", delta_oo) * -1 + rdm_eb_des_oo += einsum("w,ij->wji", s1, x11) * -2 + del x11 + x12 = np.zeros((nbos), dtype=types[float]) + x12 += einsum("w,xw->x", ls1, s2) + x14 = np.zeros((nbos), dtype=types[float]) + x14 += einsum("w->w", x12) + del x12 + x13 = np.zeros((nbos), dtype=types[float]) + x13 += einsum("ai,wia->w", l1, u11) + x14 += einsum("w->w", x13) * 2 + del x13 + rdm_eb_des_oo += einsum("w,ij->wji", x14, delta_oo) * 2 + rdm_eb_des_ov += einsum("w,ia->wia", x14, t1) * 2 + del x14 + x15 = np.zeros((nvir, nvir), dtype=types[float]) + x15 += einsum("wai,wib->ab", lu11, u11) + x18 = np.zeros((nvir, nvir), dtype=types[float]) + x18 += einsum("ab->ab", x15) + x28 = np.zeros((nvir, nvir), dtype=types[float]) + x28 += einsum("ab->ab", x15) + del x15 + x16 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x16 += einsum("abij->jiab", l2) * -0.5 + x16 += einsum("abij->jiba", l2) + x17 = np.zeros((nvir, nvir), dtype=types[float]) + x17 += einsum("ijab,ijac->cb", t2, x16) * 2 + del x16 + x18 += einsum("ab->ab", x17) + rdm_eb_des_ov += einsum("ab,wia->wib", x18, u11) * -2 + del x18 + x28 += einsum("ab->ab", x17) + del x17 + x22 = np.zeros((nbos, nbos), dtype=types[float]) + x22 += einsum("wx,yw->xy", ls2, s2) + x22 += einsum("wai,xia->wx", lu11, u11) * 2 + rdm_eb_des_ov += einsum("wx,wia->xia", x22, u11) * 2 + del x22 + x23 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x23 += einsum("ia,abjk->kjib", t1, l2) + x24 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x24 += einsum("ijka->ijka", x23) * -0.5 + x24 += einsum("ijka->jika", x23) + del x23 + x27 += einsum("ijab,jika->kb", t2, x24) * 2.0000000000000013 + del x24 + x25 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x25 += einsum("ijab->jiab", t2) * 2 + x25 += einsum("ijab->jiba", t2) * -1 + x27 += einsum("ai,ijba->jb", l1, x25) * -1 + del x25 + x27 += einsum("ia->ia", t1) * -1 + x27 += einsum("w,wia->ia", ls1, u11) * -1 + rdm_eb_des_ov += einsum("w,ia->wia", s1, x27) * -2 + del x27 + x28 += einsum("ai,ib->ab", l1, t1) + rdm_eb_des_vv += einsum("w,ab->wab", s1, x28) * 2 + del x28 + rdm_eb_cre_oo += einsum("w,ij->wji", ls1, delta_oo) * 2 + rdm_eb_cre_ov += einsum("w,ia->wia", ls1, t1) * 2 + rdm_eb_cre_ov += einsum("wx,xia->wia", ls2, u11) * 2 + rdm_eb_cre_vo = np.zeros((nbos, nvir, nocc), dtype=types[float]) + rdm_eb_cre_vo += einsum("wai->wai", lu11) * 2 + rdm_eb_cre_vv = np.zeros((nbos, nvir, nvir), dtype=types[float]) + rdm_eb_cre_vv += einsum("ia,wbi->wba", t1, lu11) * 2 + rdm_eb_des_ov += einsum("wia->wia", u11) * 2 + rdm_eb_des_vo += einsum("w,ai->wai", s1, l1) * 2 + rdm_eb_des_vv += einsum("ai,wib->wab", l1, u11) * 2 + + rdm_eb = np.array([ + np.block([[rdm_eb_cre_oo, rdm_eb_cre_ov], [rdm_eb_cre_vo, rdm_eb_cre_vv]]), + np.block([[rdm_eb_des_oo, rdm_eb_des_ov], [rdm_eb_des_vo, rdm_eb_des_vv]]), + ]) + + return rdm_eb + diff --git a/ebcc/codegen/RCCSD_SD_1_2.py b/ebcc/codegen/RCCSD_SD_1_2.py new file mode 100644 index 00000000..9d2e2984 --- /dev/null +++ b/ebcc/codegen/RCCSD_SD_1_2.py @@ -0,0 +1,2708 @@ +# Code generated for ebcc. + +from ebcc import numpy as np +from ebcc.util import pack_2e, einsum, Namespace +from ebcc.precision import types + +def energy(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, s2=None, u11=None, u12=None, **kwargs): + # Energy + x0 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x0 += einsum("iajb->jiab", v.ovov) + x0 += einsum("iajb->jiba", v.ovov) * -0.5 + x1 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x1 += einsum("ijab->jiba", t2) + x1 += einsum("ia,jb->ijab", t1, t1) + e_cc = 0 + e_cc += einsum("ijab,ijba->", x0, x1) * 2 + del x0 + del x1 + x2 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x2 += einsum("wia->wia", u11) + x2 += einsum("w,ia->wia", s1, t1) + e_cc += einsum("wia,wia->", g.bov, x2) * 2 + del x2 + e_cc += einsum("ia,ia->", f.ov, t1) * 2 + e_cc += einsum("w,w->", G, s1) + + return e_cc + +def update_amps(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, s2=None, u11=None, u12=None, **kwargs): + # Get boson coupling creation array: + gc = Namespace( + boo=g.boo.transpose(0, 2, 1), + bov=g.bvo.transpose(0, 2, 1), + bvo=g.bov.transpose(0, 2, 1), + bvv=g.bvv.transpose(0, 2, 1), + ) + + # T1, T2, S1, S2, U11 and U12 amplitudes + x0 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x0 += einsum("ia,jbka->ijkb", t1, v.ovov) + x1 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x1 += einsum("ijka->ijka", x0) * 2 + x1 += einsum("ijka->ikja", x0) * -1 + x28 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x28 += einsum("ia,jkla->jilk", t1, x0) + x88 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x88 += einsum("ijkl->lkji", x28) + t2new = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + t2new += einsum("ijab,klij->lkba", t2, x28) + del x28 + x35 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x35 += einsum("ijab,kjla->kilb", t2, x0) + x41 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x41 -= einsum("ijka->ikja", x35) + del x35 + x36 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x36 += einsum("ijka->ijka", x0) * 2 + x36 -= einsum("ijka->ikja", x0) + x37 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x37 += einsum("ijab,kila->jklb", t2, x36) + del x36 + x41 += einsum("ijka->jkia", x37) + del x37 + x65 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x65 += einsum("ijab,klja->kilb", t2, x0) + x69 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x69 -= einsum("ijka->kija", x65) + del x65 + x136 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x136 -= einsum("ijka->jkia", x0) + x136 += einsum("ijka->kjia", x0) * 2 + del x0 + x1 += einsum("ijka->jika", v.ooov) * -1 + x1 += einsum("ijka->jkia", v.ooov) * 2 + t1new = np.zeros((nocc, nvir), dtype=types[float]) + t1new += einsum("ijab,kjib->ka", t2, x1) * -1 + del x1 + x2 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x2 += einsum("iabc->ibac", v.ovvv) + x2 += einsum("iabc->ibca", v.ovvv) * -0.5 + x102 = np.zeros((nvir, nvir), dtype=types[float]) + x102 += einsum("ia,ibac->bc", t1, x2) * 2 + x104 = np.zeros((nvir, nvir), dtype=types[float]) + x104 += einsum("ab->ab", x102) + x135 = np.zeros((nvir, nvir), dtype=types[float]) + x135 += einsum("ab->ab", x102) + del x102 + t1new += einsum("ijab,icab->jc", t2, x2) * 2 + del x2 + x3 = np.zeros((nocc, nvir), dtype=types[float]) + x3 += einsum("w,wia->ia", s1, g.bov) + x6 = np.zeros((nocc, nvir), dtype=types[float]) + x6 += einsum("ia->ia", x3) + x18 = np.zeros((nocc, nvir), dtype=types[float]) + x18 += einsum("ia->ia", x3) * 0.5 + x108 = np.zeros((nocc, nvir), dtype=types[float]) + x108 += einsum("ia->ia", x3) + del x3 + x4 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x4 += einsum("iajb->jiab", v.ovov) * 2 + x4 -= einsum("iajb->jiba", v.ovov) + x5 = np.zeros((nocc, nvir), dtype=types[float]) + x5 += einsum("ia,ijba->jb", t1, x4) + x6 += einsum("ia->ia", x5) + del x5 + x97 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x97 += einsum("wia,ijba->wjb", u11, x4) + x99 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x99 += einsum("wia->wia", x97) + x117 = np.zeros((nbos, nvir, nvir), dtype=types[float]) + x117 += einsum("ia,wib->wab", t1, x97) + x118 = np.zeros((nbos, nvir, nvir), dtype=types[float]) + x118 += einsum("wab->wba", x117) + del x117 + x125 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x125 += einsum("ia,wja->wij", t1, x97) + x126 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x126 += einsum("wij->wji", x125) + del x125 + s2new = np.zeros((nbos, nbos), dtype=types[float]) + s2new += einsum("wia,xia->wx", u11, x97) * 2 + del x97 + x133 = np.zeros((nbos, nbos, nocc, nvir), dtype=types[float]) + x133 += einsum("wxia,ijba->xwjb", u12, x4) + del x4 + x6 += einsum("ia->ia", f.ov) + x68 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x68 += einsum("ia,jkab->jkib", x6, t2) + x69 += einsum("ijka->kjia", x68) + del x68 + x71 = np.zeros((nocc, nocc), dtype=types[float]) + x71 += einsum("ia,ja->ij", t1, x6) + x72 = np.zeros((nocc, nocc), dtype=types[float]) + x72 += einsum("ij->ij", x71) + del x71 + x120 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x120 += einsum("ia,wja->wji", x6, u11) + x123 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x123 += einsum("wij->wji", x120) + del x120 + x137 = np.zeros((nbos, nbos, nocc, nocc), dtype=types[float]) + x137 += einsum("ia,wxja->xwij", x6, u12) + s1new = np.zeros((nbos), dtype=types[float]) + s1new += einsum("ia,wia->w", x6, u11) * 2 + s2new += einsum("ia,wxia->xw", x6, u12) * 2 + x7 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x7 += einsum("ijab->jiab", t2) * 2 + x7 -= einsum("ijab->jiba", t2) + x47 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x47 += einsum("wia,ijba->wjb", g.bov, x7) + x49 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x49 += einsum("wia->wia", x47) + del x47 + t1new += einsum("ia,ijba->jb", x6, x7) + del x6 + u12new = np.zeros((nbos, nbos, nocc, nvir), dtype=types[float]) + u12new += einsum("wxia,ijba->xwjb", x133, x7) + del x133 + x8 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x8 += einsum("iabj->ijba", v.ovvo) * 2 + x8 -= einsum("ijab->ijab", v.oovv) + t1new += einsum("ia,ijba->jb", t1, x8) + u11new = np.zeros((nbos, nocc, nvir), dtype=types[float]) + u11new += einsum("wia,ijba->wjb", u11, x8) + del x8 + x9 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x9 += einsum("ia,wja->wji", t1, g.bov) + x10 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x10 += einsum("wij->wij", x9) + del x9 + x10 += einsum("wij->wij", g.boo) + x48 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x48 += einsum("ia,wij->wja", t1, x10) + x49 -= einsum("wia->wia", x48) + del x48 + t1new -= einsum("wia,wij->ja", u11, x10) + u11new -= einsum("wij,wxia->xja", x10, u12) + del x10 + x11 = np.zeros((nocc, nocc), dtype=types[float]) + x11 += einsum("w,wij->ij", s1, g.boo) + x20 = np.zeros((nocc, nocc), dtype=types[float]) + x20 += einsum("ij->ij", x11) + x72 += einsum("ij->ji", x11) + del x11 + x12 = np.zeros((nocc, nocc), dtype=types[float]) + x12 += einsum("wia,wja->ij", g.bov, u11) + x20 += einsum("ij->ij", x12) + x53 = np.zeros((nocc, nocc), dtype=types[float]) + x53 += einsum("ij->ij", x12) + del x12 + x13 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x13 += einsum("iajb->jiab", v.ovov) + x13 += einsum("iajb->jiba", v.ovov) * -0.5 + x14 = np.zeros((nocc, nocc), dtype=types[float]) + x14 += einsum("ijab,ikba->jk", t2, x13) * 2 + x20 += einsum("ij->ji", x14) + del x14 + x17 = np.zeros((nocc, nvir), dtype=types[float]) + x17 += einsum("ia,ijba->jb", t1, x13) + x18 += einsum("ia->ia", x17) + del x17 + x79 = np.zeros((nvir, nvir), dtype=types[float]) + x79 += einsum("ijab,ijbc->ac", t2, x13) + x80 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x80 += einsum("ab,ijbc->ijca", x79, t2) * 2 + del x79 + x83 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x83 += einsum("ijab->jiab", x80) + del x80 + x81 = np.zeros((nocc, nocc), dtype=types[float]) + x81 += einsum("ijab,ikba->jk", t2, x13) + x82 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x82 += einsum("ij,jkab->kiab", x81, t2) * 2 + del x81 + x83 += einsum("ijab->ijba", x82) + del x82 + x103 = np.zeros((nocc, nvir), dtype=types[float]) + x103 += einsum("ia,ijba->jb", t1, x13) * 2 + del x13 + x104 += einsum("ia,ib->ab", t1, x103) * -1 + del x103 + x15 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x15 += einsum("ijka->ikja", v.ooov) + x15 += einsum("ijka->kija", v.ooov) * -0.5 + x16 = np.zeros((nocc, nocc), dtype=types[float]) + x16 += einsum("ia,jika->jk", t1, x15) * 2 + del x15 + x20 += einsum("ij->ij", x16) + del x16 + x18 += einsum("ia->ia", f.ov) * 0.5 + x19 = np.zeros((nocc, nocc), dtype=types[float]) + x19 += einsum("ia,ja->ij", t1, x18) * 2 + del x18 + x20 += einsum("ij->ji", x19) + del x19 + x20 += einsum("ij->ij", f.oo) + t1new += einsum("ia,ij->ja", t1, x20) * -1 + u11new += einsum("ij,wia->wja", x20, u11) * -1 + u12new += einsum("ij,wxia->xwja", x20, u12) * -1 + del x20 + x21 = np.zeros((nvir, nvir), dtype=types[float]) + x21 += einsum("w,wab->ab", s1, g.bvv) + x24 = np.zeros((nvir, nvir), dtype=types[float]) + x24 += einsum("ab->ab", x21) + x74 = np.zeros((nvir, nvir), dtype=types[float]) + x74 += einsum("ab->ab", x21) + x104 += einsum("ab->ab", x21) + x135 += einsum("ab->ab", x21) + del x21 + x22 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x22 -= einsum("iabc->ibac", v.ovvv) + x22 += einsum("iabc->ibca", v.ovvv) * 2 + x23 = np.zeros((nvir, nvir), dtype=types[float]) + x23 += einsum("ia,ibca->bc", t1, x22) + x24 += einsum("ab->ab", x23) + x44 = np.zeros((nvir, nvir), dtype=types[float]) + x44 -= einsum("ab->ab", x23) + del x23 + x111 = np.zeros((nbos, nvir, nvir), dtype=types[float]) + x111 += einsum("wia,ibca->wbc", u11, x22) + del x22 + x112 = np.zeros((nbos, nvir, nvir), dtype=types[float]) + x112 += einsum("wab->wab", x111) + x118 -= einsum("wab->wba", x111) + del x111 + x24 += einsum("ab->ab", f.vv) + t1new += einsum("ia,ba->ib", t1, x24) + del x24 + x25 = np.zeros((nbos), dtype=types[float]) + x25 += einsum("ia,wia->w", t1, g.bov) + x26 = np.zeros((nbos), dtype=types[float]) + x26 += einsum("w->w", x25) * 2 + del x25 + x26 += einsum("w->w", G) + t1new += einsum("w,wia->ia", x26, u11) + s1new += einsum("w,wx->x", x26, s2) + u11new += einsum("w,wxia->xia", x26, u12) + del x26 + x27 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x27 += einsum("ia,bacd->icbd", t1, v.vvvv) + t2new += einsum("ia,jbca->ijbc", t1, x27) + del x27 + x29 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x29 += einsum("ia,jabc->ijbc", t1, v.ovvv) + x30 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x30 += einsum("ijab,kjca->kibc", t2, x29) + del x29 + x55 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x55 += einsum("ijab->ijab", x30) + del x30 + x31 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x31 -= einsum("iajb->jiab", v.ovov) + x31 += einsum("iajb->jiba", v.ovov) * 2 + x32 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x32 += einsum("ijab,ikbc->jkac", t2, x31) + x33 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x33 += einsum("ijab,kica->jkbc", t2, x32) + del x32 + x55 += einsum("ijab->ijab", x33) + del x33 + x85 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x85 += einsum("ijab,ikac->jkbc", t2, x31) * 2 + del x31 + x34 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x34 += einsum("ijab,jkla->ilkb", t2, v.ooov) + x41 -= einsum("ijka->ijka", x34) + del x34 + x38 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x38 += einsum("ia,jbca->ijcb", t1, v.ovvv) + x39 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x39 += einsum("ijab->jiab", x38) + x57 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x57 += einsum("ijab,kjca->kibc", t2, x38) + del x38 + x76 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x76 += einsum("ijab->ijab", x57) + del x57 + x39 += einsum("iabj->ijba", v.ovvo) + x40 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x40 += einsum("ia,jkba->ijkb", t1, x39) + del x39 + x41 += einsum("ijka->ijka", x40) + del x40 + x42 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x42 += einsum("ia,jikb->jkab", t1, x41) + del x41 + x55 += einsum("ijab->ijab", x42) + del x42 + x43 = np.zeros((nvir, nvir), dtype=types[float]) + x43 += einsum("wia,wib->ab", g.bov, u11) + x44 += einsum("ab->ba", x43) + x45 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x45 += einsum("ab,ijbc->ijca", x44, t2) + del x44 + x55 += einsum("ijab->jiab", x45) + del x45 + x104 += einsum("ab->ba", x43) * -1 + x135 += einsum("ab->ba", x43) * -1 + del x43 + x46 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x46 += einsum("ia,wba->wib", t1, g.bvv) + x49 += einsum("wia->wia", x46) + del x46 + x49 += einsum("wai->wia", g.bvo) + x50 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x50 += einsum("wia,wjb->ijab", u11, x49) + del x49 + x55 -= einsum("ijab->jiba", x50) + del x50 + x51 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x51 += einsum("ijka->ikja", v.ooov) * 2 + x51 -= einsum("ijka->kija", v.ooov) + x52 = np.zeros((nocc, nocc), dtype=types[float]) + x52 += einsum("ia,jika->jk", t1, x51) + x53 += einsum("ij->ij", x52) + del x52 + x54 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x54 += einsum("ij,ikab->kjab", x53, t2) + del x53 + x55 += einsum("ijab->ijba", x54) + del x54 + t2new -= einsum("ijab->ijab", x55) + t2new -= einsum("ijab->jiba", x55) + del x55 + x107 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x107 += einsum("wia,jika->wjk", u11, x51) + del x51 + x109 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x109 += einsum("wij->wij", x107) + x126 += einsum("wij->wij", x107) + del x107 + x56 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x56 += einsum("ia,bjca->ijbc", t1, v.vovv) + x76 -= einsum("ijab->ijab", x56) + del x56 + x58 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x58 += einsum("iabc->ibac", v.ovvv) * 2 + x58 -= einsum("iabc->ibca", v.ovvv) + x59 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x59 += einsum("ia,jbca->ijbc", t1, x58) + del x58 + x60 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x60 += einsum("ijab,kica->jkbc", t2, x59) + x76 -= einsum("ijab->jiab", x60) + del x60 + x134 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x134 += einsum("ijab->jiab", x59) + del x59 + x61 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x61 += einsum("ia,jkba->ijkb", t1, v.oovv) + x69 += einsum("ijka->jika", x61) + del x61 + x62 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x62 += einsum("ijab,klja->iklb", t2, v.ooov) + x69 -= einsum("ijka->jika", x62) + del x62 + x63 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x63 += einsum("ia,jkla->ijlk", t1, v.ooov) + x64 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x64 += einsum("ia,jkil->jkla", t1, x63) + x69 -= einsum("ijka->jika", x64) + del x64 + x84 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x84 += einsum("ijab,kjil->klba", t2, x63) + del x63 + t2new += einsum("ijab->ijba", x84) + t2new += einsum("ijab->jiab", x84) + del x84 + x66 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x66 -= einsum("ijka->ikja", v.ooov) + x66 += einsum("ijka->kija", v.ooov) * 2 + x67 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x67 += einsum("ijab,ikla->jklb", t2, x66) + del x66 + x69 += einsum("ijka->jika", x67) + del x67 + x70 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x70 += einsum("ia,ijkb->jkab", t1, x69) + del x69 + x76 += einsum("ijab->ijab", x70) + del x70 + x72 += einsum("ij->ji", f.oo) + x73 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x73 += einsum("ij,jkab->kiab", x72, t2) + del x72 + x76 += einsum("ijab->jiba", x73) + del x73 + x74 += einsum("ab->ab", f.vv) + x75 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x75 += einsum("ab,ijbc->ijca", x74, t2) + del x74 + x76 -= einsum("ijab->jiba", x75) + del x75 + t2new -= einsum("ijab->ijba", x76) + t2new -= einsum("ijab->jiab", x76) + del x76 + x77 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x77 += einsum("ijab,kacb->ijkc", t2, v.ovvv) + x78 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x78 += einsum("ia,jkib->jkab", t1, x77) + del x77 + x83 += einsum("ijab->ijab", x78) + del x78 + t2new += einsum("ijab->ijab", x83) * -1 + t2new += einsum("ijab->jiba", x83) * -1 + del x83 + x85 += einsum("iabj->jiba", v.ovvo) * 2 + x85 -= einsum("ijab->jiab", v.oovv) + t2new += einsum("ijab,kica->kjcb", t2, x85) + del x85 + x86 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x86 += einsum("ijab,kbla->ijlk", t2, v.ovov) + x87 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x87 += einsum("ijkl->lkji", x86) + x88 += einsum("ijkl->lkji", x86) + del x86 + x87 += einsum("ijkl->kilj", v.oooo) + t2new += einsum("ijab,ijkl->klab", t2, x87) + del x87 + x88 += einsum("ijkl->kilj", v.oooo) + x89 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x89 += einsum("ia,ijkl->lkja", t1, x88) + del x88 + x89 += einsum("ijak->jkia", v.oovo) * -1 + t2new += einsum("ia,jkib->jkab", t1, x89) + del x89 + x90 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x90 -= einsum("iabj->jiba", v.ovvo) + x90 += einsum("ijab,jakc->ikbc", t2, v.ovov) + t2new += einsum("ijab,kicb->jkac", t2, x90) + del x90 + x91 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x91 -= einsum("ijab->jiab", v.oovv) + x91 += einsum("ijab,jcka->ikbc", t2, v.ovov) + t2new += einsum("ijab,kicb->jkca", t2, x91) + del x91 + x92 = np.zeros((nbos, nbos), dtype=types[float]) + x92 += einsum("wia,xia->wx", gc.bov, u11) + x96 = np.zeros((nbos, nbos), dtype=types[float]) + x96 += einsum("wx->wx", x92) * 2 + del x92 + x93 = np.zeros((nbos, nbos), dtype=types[float]) + x93 += einsum("wia,xia->wx", g.bov, u11) + x94 = np.zeros((nbos, nbos), dtype=types[float]) + x94 += einsum("wx->wx", x93) * 2 + x115 = np.zeros((nbos, nbos, nocc, nvir), dtype=types[float]) + x115 += einsum("wx,ywia->xyia", x93, u12) + del x93 + x132 = np.zeros((nbos, nbos, nocc, nvir), dtype=types[float]) + x132 -= einsum("wxia->wxia", x115) * 2 + del x115 + x94 += einsum("wx->wx", w) + x95 = np.zeros((nbos, nbos), dtype=types[float]) + x95 += einsum("wx,wy->xy", s2, x94) + x96 += einsum("wx->wx", x95) + del x95 + s2new += einsum("wx->wx", x96) + s2new += einsum("wx->xw", x96) + del x96 + u11new += einsum("wx,wia->xia", x94, u11) + del x94 + x98 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x98 += einsum("wx,xia->wia", s2, g.bov) + x99 += einsum("wia->wia", x98) + x121 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x121 += einsum("wia->wia", x98) + del x98 + x99 += einsum("wia->wia", gc.bov) + x109 += einsum("ia,wja->wji", t1, x99) + u11new += einsum("wia,ijba->wjb", x99, x7) + del x99 + del x7 + x100 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x100 += einsum("iajb->jiab", v.ovov) * -1 + x100 += einsum("iajb->jiba", v.ovov) * 2 + x101 = np.zeros((nvir, nvir), dtype=types[float]) + x101 += einsum("ijab,ijcb->ac", t2, x100) + del x100 + x104 += einsum("ab->ab", x101) * -1 + x135 += einsum("ab->ab", x101) * -1 + del x101 + x104 += einsum("ab->ab", f.vv) + u11new += einsum("ab,wib->wia", x104, u11) + del x104 + x105 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x105 += einsum("wx,xij->wij", s2, g.boo) + x109 += einsum("wij->wij", x105) + x123 += einsum("wij->wij", x105) + del x105 + x106 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x106 += einsum("wia,xwja->xij", g.bov, u12) + x109 += einsum("wij->wij", x106) + x126 += einsum("wij->wij", x106) + del x106 + x127 = np.zeros((nbos, nbos, nocc, nvir), dtype=types[float]) + x127 += einsum("wia,xij->wxja", u11, x126) + del x126 + x132 += einsum("wxia->wxia", x127) + del x127 + x108 += einsum("ia->ia", f.ov) + x109 += einsum("ia,wja->wij", x108, u11) + del x108 + x109 += einsum("wij->wij", gc.boo) + u11new -= einsum("ia,wij->wja", t1, x109) + del x109 + x110 = np.zeros((nbos, nvir, nvir), dtype=types[float]) + x110 += einsum("wx,xab->wab", s2, g.bvv) + x112 += einsum("wab->wab", x110) + x128 = np.zeros((nbos, nvir, nvir), dtype=types[float]) + x128 += einsum("wab->wab", x110) + del x110 + x112 += einsum("wab->wab", gc.bvv) + u11new += einsum("ia,wba->wib", t1, x112) + del x112 + x113 = np.zeros((nbos, nbos, nbos), dtype=types[float]) + x113 += einsum("wia,xyia->wxy", g.bov, u12) + u12new += einsum("wia,wxy->yxia", u11, x113) * 2 + del x113 + x114 = np.zeros((nbos, nbos, nocc, nvir), dtype=types[float]) + x114 += einsum("wx,ywia->yxia", w, u12) + x132 -= einsum("wxia->wxia", x114) + del x114 + x116 = np.zeros((nbos, nvir, nvir), dtype=types[float]) + x116 += einsum("wia,xwib->xab", g.bov, u12) + x118 += einsum("wab->wab", x116) + del x116 + x119 = np.zeros((nbos, nbos, nocc, nvir), dtype=types[float]) + x119 += einsum("wia,xab->wxib", u11, x118) + del x118 + x132 += einsum("wxia->wxia", x119) + del x119 + x121 += einsum("wia->wia", gc.bov) + x122 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x122 += einsum("ia,wja->wij", t1, x121) + x123 += einsum("wij->wji", x122) + del x122 + x130 = np.zeros((nbos, nbos, nocc, nocc), dtype=types[float]) + x130 += einsum("wia,xja->wxij", u11, x121) + del x121 + x131 = np.zeros((nbos, nbos, nocc, nvir), dtype=types[float]) + x131 += einsum("ia,wxji->xwja", t1, x130) + del x130 + x132 += einsum("wxia->wxia", x131) + del x131 + x123 += einsum("wij->wij", gc.boo) + x124 = np.zeros((nbos, nbos, nocc, nvir), dtype=types[float]) + x124 += einsum("wia,xij->wxja", u11, x123) + del x123 + x132 += einsum("wxia->xwia", x124) + del x124 + x128 += einsum("wab->wab", gc.bvv) + x129 = np.zeros((nbos, nbos, nocc, nvir), dtype=types[float]) + x129 += einsum("wia,xba->wxib", u11, x128) + del x128 + x132 -= einsum("wxia->xwia", x129) + del x129 + u12new -= einsum("wxia->wxia", x132) + u12new -= einsum("wxia->xwia", x132) + del x132 + x134 += einsum("iabj->ijba", v.ovvo) * 2 + x134 -= einsum("ijab->ijab", v.oovv) + u12new += einsum("wxia,ijba->xwjb", u12, x134) + del x134 + x135 += einsum("ab->ab", f.vv) + u12new += einsum("ab,wxib->xwia", x135, u12) + del x135 + x136 += einsum("ijka->ikja", v.ooov) * 2 + x136 -= einsum("ijka->kija", v.ooov) + x137 += einsum("wxia,jika->xwjk", u12, x136) + del x136 + u12new -= einsum("ia,wxij->xwja", t1, x137) + del x137 + t1new += einsum("w,wai->ia", s1, g.bvo) + t1new += einsum("ai->ia", f.vo) + t1new += einsum("wab,wib->ia", g.bvv, u11) + t2new -= einsum("ijab,jack->kicb", t2, v.ovvo) + t2new -= einsum("ijab,jkca->kibc", t2, v.oovv) + t2new -= einsum("ijab,jkcb->ikac", t2, v.oovv) + t2new += einsum("ijab,jbck->ikac", t2, v.ovvo) * 2 + t2new += einsum("ijab,cadb->jidc", t2, v.vvvv) + t2new += einsum("aibj->jiba", v.vovo) + t2new -= einsum("ia,ijbk->kjba", t1, v.oovo) + s1new += einsum("wia,xwia->x", g.bov, u12) * 2 + s1new += einsum("w,wx->x", s1, w) + s1new += einsum("w->w", G) + s1new += einsum("ia,wia->w", t1, gc.bov) * 2 + u11new += einsum("wab,xwib->xia", g.bvv, u12) + u11new += einsum("wx,xai->wia", s2, g.bvo) + u11new += einsum("wai->wia", gc.bvo) + + return {"t1new": t1new, "t2new": t2new, "s1new": s1new, "s2new": s2new, "u11new": u11new, "u12new": u12new} + +def update_lams(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, s2=None, u11=None, u12=None, l1=None, l2=None, ls1=None, ls2=None, lu11=None, lu12=None, **kwargs): + # Get boson coupling creation array: + gc = Namespace( + boo=g.boo.transpose(0, 2, 1), + bov=g.bvo.transpose(0, 2, 1), + bvo=g.bov.transpose(0, 2, 1), + bvv=g.bvv.transpose(0, 2, 1), + ) + + # L1, L2, LS1, LS2, LU11 and LU12 amplitudes + x0 = np.zeros((nocc, nvir), dtype=types[float]) + x0 += einsum("w,wia->ia", s1, g.bov) + x1 = np.zeros((nocc, nvir), dtype=types[float]) + x1 += einsum("ia->ia", x0) + x52 = np.zeros((nocc, nvir), dtype=types[float]) + x52 += einsum("ia->ia", x0) * 0.5 + x64 = np.zeros((nocc, nvir), dtype=types[float]) + x64 += einsum("ia->ia", x0) + x112 = np.zeros((nocc, nvir), dtype=types[float]) + x112 += einsum("ia->ia", x0) + x163 = np.zeros((nocc, nvir), dtype=types[float]) + x163 += einsum("ia->ia", x0) + del x0 + x1 += einsum("ia->ia", f.ov) + x2 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x2 += einsum("ia,jkab->jkib", x1, t2) * 0.5 + del x1 + x20 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x20 += einsum("ijka->ikja", x2) + x20 += einsum("ijka->jkia", x2) * -2 + del x2 + x3 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x3 += einsum("ijab,kbca->jikc", t2, v.ovvv) + x11 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x11 += einsum("ijka->ijka", x3) * -1 + del x3 + x4 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x4 += einsum("ia,jbca->ijcb", t1, v.ovvv) + x5 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x5 += einsum("ia,jkba->ijkb", t1, x4) + x11 += einsum("ijka->ijka", x5) * -1 + del x5 + x37 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x37 += einsum("ijab->jiab", x4) + x178 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x178 += einsum("ijab->ijab", x4) + del x4 + x6 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x6 += einsum("ijab,kalb->ijkl", t2, v.ovov) + x9 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x9 += einsum("ijkl->jilk", x6) + x192 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x192 += einsum("ijkl->lkji", x6) + del x6 + x7 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x7 += einsum("ia,jbka->ijkb", t1, v.ovov) + x8 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x8 += einsum("ia,jkla->ijkl", t1, x7) + x9 += einsum("ijkl->ijkl", x8) + x10 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x10 += einsum("ia,jkil->jkla", t1, x9) + del x9 + x11 += einsum("ijka->jika", x10) + del x10 + x20 += einsum("ijka->jkia", x11) + x20 += einsum("ijka->ikja", x11) * -0.5 + del x11 + x192 += einsum("ijkl->lkji", x8) + del x8 + x15 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x15 += einsum("ijka->ikja", x7) * -0.5 + x15 += einsum("ijka->ijka", x7) + x16 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x16 += einsum("ijka->ikja", x7) * 2 + x16 += einsum("ijka->ijka", x7) * -1 + x24 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x24 += einsum("ijka->ikja", x7) * 2 + x24 -= einsum("ijka->ijka", x7) + x51 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x51 += einsum("ijka->jkia", x7) * -0.5 + x51 += einsum("ijka->kjia", x7) + x62 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x62 += einsum("ijka->jkia", x7) * -1 + x62 += einsum("ijka->kjia", x7) * 2 + x152 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x152 += einsum("ai,ijkb->jkab", l1, x7) + x170 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x170 += einsum("ijab->ijab", x152) + del x152 + x158 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x158 += einsum("ijka->ijka", x7) + x239 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x239 -= einsum("ijka->ikja", x7) + x239 += einsum("ijka->ijka", x7) * 2 + del x7 + x12 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x12 += einsum("iajb->jiab", v.ovov) + x12 += einsum("iajb->jiba", v.ovov) * -0.5 + x13 = np.zeros((nocc, nvir), dtype=types[float]) + x13 += einsum("ia,ijba->jb", t1, x12) + x14 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x14 += einsum("ia,jkab->jkib", x13, t2) + x20 += einsum("ijka->ikja", x14) + x20 += einsum("ijka->jkia", x14) * -2 + del x14 + x52 += einsum("ia->ia", x13) + del x13 + x54 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x54 += einsum("wia,ijba->wjb", u11, x12) + x63 = np.zeros((nocc, nvir), dtype=types[float]) + x63 += einsum("ia,ijba->jb", t1, x12) * 2 + x64 += einsum("ia->ia", x63) + del x63 + x124 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x124 += einsum("wia,ijba->wjb", u11, x12) * 2 + x125 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x125 += einsum("wia->wia", x124) + x194 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x194 += einsum("wia->wia", x124) + x199 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x199 += einsum("wia->wia", x124) + del x124 + x139 = np.zeros((nbos, nbos, nocc, nvir), dtype=types[float]) + x139 += einsum("wxia,ijba->wxjb", u12, x12) + del x12 + x140 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x140 += einsum("wxai,xwjb->jiba", lu12, x139) + del x139 + x145 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x145 += einsum("ijab->jiba", x140) + del x140 + x15 += einsum("ijka->jkia", v.ooov) + x15 += einsum("ijka->jika", v.ooov) * -0.5 + x20 += einsum("ijab,kila->kljb", t2, x15) + del x15 + x16 += einsum("ijka->jkia", v.ooov) * -1 + x16 += einsum("ijka->jika", v.ooov) * 2 + x20 += einsum("ijab,kilb->klja", t2, x16) * 0.5 + del x16 + x17 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x17 += einsum("ijab->ijab", v.oovv) * 2 + x17 += einsum("iabj->ijba", v.ovvo) * -1 + x20 += einsum("ia,jkba->ijkb", t1, x17) * -0.5 + del x17 + x18 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x18 += einsum("ia,jkla->ijlk", t1, v.ooov) + x19 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x19 += einsum("ijkl->jkil", x18) * -0.5 + x19 += einsum("ijkl->kjil", x18) + x27 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x27 -= einsum("ijkl->ikjl", x18) + x27 += einsum("ijkl->ijkl", x18) * 2 + x28 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x28 += einsum("ia,jikl->jkla", t1, x27) + del x27 + x154 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x154 += einsum("abij,jkli->klba", l2, x18) + del x18 + x170 -= einsum("ijab->ijab", x154) + del x154 + x19 += einsum("ijkl->kijl", v.oooo) * -0.5 + x19 += einsum("ijkl->kilj", v.oooo) + x20 += einsum("ia,ijkl->kjla", t1, x19) + del x19 + x20 += einsum("ijak->kija", v.oovo) * -1 + x20 += einsum("ijak->jika", v.oovo) * 0.5 + l1new = np.zeros((nvir, nocc), dtype=types[float]) + l1new += einsum("abij,ikja->bk", l2, x20) * 2 + del x20 + x21 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x21 += einsum("abij->jiab", l2) * -1 + x21 += einsum("abij->jiba", l2) * 2 + x22 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x22 += einsum("ijab,ikac->kjcb", t2, x21) * -1 + del x21 + x22 += einsum("wxai,wxjb->ijab", lu12, u12) * -0.5 + x22 += einsum("abij,kjbc->ikac", l2, t2) + x23 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x23 -= einsum("iabc->ibac", v.ovvv) + x23 += einsum("iabc->ibca", v.ovvv) * 2 + x123 = np.zeros((nbos, nvir, nvir), dtype=types[float]) + x123 += einsum("wia,ibca->wbc", u11, x23) + x129 = np.zeros((nvir, nvir), dtype=types[float]) + x129 += einsum("ia,ibca->bc", t1, x23) + x130 = np.zeros((nvir, nvir), dtype=types[float]) + x130 += einsum("ab->ab", x129) + x187 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x187 += einsum("ab,acij->ijbc", x129, l2) + del x129 + x191 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x191 += einsum("ijab->jiba", x187) + del x187 + l1new += einsum("ijab,jacb->ci", x22, x23) * -1 + del x22 + del x23 + x24 -= einsum("ijka->jkia", v.ooov) + x24 += einsum("ijka->jika", v.ooov) * 2 + x25 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x25 += einsum("ijab->jiab", t2) * 2 + x25 -= einsum("ijab->jiba", t2) + x28 -= einsum("ijka,klba->ijlb", x24, x25) + del x24 + x224 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x224 += einsum("wia,ijba->wjb", g.bov, x25) + x225 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x225 += einsum("wia->wia", x224) + del x224 + x237 = np.zeros((nbos, nbos, nocc, nvir), dtype=types[float]) + x237 += einsum("wxai,ijba->xwjb", lu12, x25) + del x25 + x26 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x26 += einsum("iabj->ijba", v.ovvo) * 2 + x26 -= einsum("ijab->ijab", v.oovv) + x28 -= einsum("ia,jkba->ijkb", t1, x26) + l1new += einsum("abij,ikjb->ak", l2, x28) + del x28 + l1new += einsum("ai,jiab->bj", l1, x26) + lu11new = np.zeros((nbos, nvir, nocc), dtype=types[float]) + lu11new += einsum("wai,jiab->wbj", lu11, x26) + del x26 + x29 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x29 += einsum("ia,bcda->ibdc", t1, v.vvvv) + x30 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x30 += einsum("iabc->iabc", x29) + x30 += einsum("iabc->ibac", x29) * -0.5 + del x29 + x30 += einsum("aibc->iabc", v.vovv) * -0.5 + x30 += einsum("aibc->ibac", v.vovv) + l1new += einsum("abij,ibac->cj", l2, x30) * 2 + del x30 + x31 = np.zeros((nbos, nbos, nocc, nocc), dtype=types[float]) + x31 += einsum("ia,wxaj->wxji", t1, lu12) + x34 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x34 += einsum("wxia,wxjk->jkia", u12, x31) * -0.25 + x86 = np.zeros((nocc, nvir), dtype=types[float]) + x86 += einsum("wxia,wxij->ja", u12, x31) + x99 = np.zeros((nocc, nvir), dtype=types[float]) + x99 += einsum("ia->ia", x86) * 0.5 + del x86 + x221 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x221 += einsum("wia,xwij->xja", u11, x31) + x222 = np.zeros((nbos, nbos), dtype=types[float]) + x222 += einsum("wia,xia->wx", g.bov, x221) + del x221 + x228 = np.zeros((nbos, nbos), dtype=types[float]) + x228 -= einsum("wx->wx", x222) * 2 + del x222 + lu12new = np.zeros((nbos, nbos, nvir, nocc), dtype=types[float]) + lu12new -= einsum("ijka,wxik->xwaj", x239, x31) + del x239 + x32 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x32 += einsum("ia,bajk->jkib", t1, l2) + x34 += einsum("ijab,kjlb->klia", t2, x32) * 0.5 + x36 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x36 -= einsum("ijka->ijka", x32) + x36 += einsum("ijka->jika", x32) * 2 + x38 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x38 += einsum("ijka->ijka", x32) * 2 + x38 -= einsum("ijka->jika", x32) + x43 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x43 += einsum("ijab,kjla->klib", t2, x32) + x45 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x45 += einsum("ijka->ijka", x43) * 2 + x50 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x50 += einsum("ijka->ijka", x43) + del x43 + x47 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x47 += einsum("ia,jkla->jkil", t1, x32) + x48 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x48 += einsum("ijkl->ijkl", x47) + x57 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x57 += einsum("ijkl->ijkl", x47) * 2 + x57 += einsum("ijkl->ijlk", x47) * -1 + l1new += einsum("ijka,ljki->al", v.ooov, x57) + del x57 + x193 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x193 += einsum("ijkl->ijkl", x47) + del x47 + x173 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x173 += einsum("iabc,jkib->kjac", v.ovvv, x32) + x191 -= einsum("ijab->ijab", x173) + del x173 + x33 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x33 += einsum("ijab->jiab", t2) * 2 + x33 += einsum("ijab->jiba", t2) * -1 + x34 += einsum("ijka,ilba->jklb", x32, x33) * -0.5 + x88 = np.zeros((nocc, nvir), dtype=types[float]) + x88 += einsum("ai,ijba->jb", l1, x33) + x99 += einsum("ia->ia", x88) * -1 + del x88 + x35 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x35 -= einsum("iajb->jiab", v.ovov) + x35 += einsum("iajb->jiba", v.ovov) * 2 + l1new += einsum("ijka,jkba->bi", x34, x35) * 2 + del x34 + del x35 + x37 += einsum("iabj->ijba", v.ovvo) + l1new -= einsum("ijka,kjab->bi", x36, x37) + del x36 + del x37 + x39 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x39 += einsum("ia,jabc->ijbc", t1, v.ovvv) + x40 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x40 += einsum("ijab->jiab", x39) + x156 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x156 += einsum("ijab->ijab", x39) + del x39 + x40 += einsum("ijab->ijab", v.oovv) + l1new -= einsum("ijka,kjab->bi", x38, x40) + del x40 + x41 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x41 += einsum("iabc->ibac", v.ovvv) * 2 + x41 -= einsum("iabc->ibca", v.ovvv) + x238 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x238 += einsum("ia,jbca->jibc", t1, x41) + x42 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x42 += einsum("abij,kjac->ikbc", l2, t2) + l1new -= einsum("iabc,jiac->bj", x41, x42) + del x41 + del x42 + x44 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x44 += einsum("ai,jkba->ijkb", l1, t2) + x45 += einsum("ijka->ikja", x44) + x45 += einsum("ijka->ijka", x44) * -2 + del x44 + l1new += einsum("iajb,kija->bk", v.ovov, x45) + del x45 + x46 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x46 += einsum("abij,klba->ijlk", l2, t2) + x48 += einsum("ijkl->jilk", x46) + x49 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x49 += einsum("ia,ijkl->jkla", t1, x48) + del x48 + x50 += einsum("ijka->ijka", x49) + x50 += einsum("ijka->ikja", x49) * -2 + del x49 + l1new += einsum("iajb,kijb->ak", v.ovov, x50) * -1 + del x50 + x56 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x56 += einsum("ijkl->jikl", x46) * 2 + x56 += einsum("ijkl->jilk", x46) * -1 + l1new += einsum("ijka,jlki->al", v.ooov, x56) + del x56 + x193 += einsum("ijkl->jilk", x46) + del x46 + l2new = np.zeros((nvir, nvir, nocc, nocc), dtype=types[float]) + l2new += einsum("iajb,klji->ablk", v.ovov, x193) + del x193 + x51 += einsum("ijka->ikja", v.ooov) + x51 += einsum("ijka->kija", v.ooov) * -0.5 + x55 = np.zeros((nbos, nbos, nocc, nocc), dtype=types[float]) + x55 += einsum("wxia,jika->xwjk", u12, x51) + del x51 + x52 += einsum("ia->ia", f.ov) * 0.5 + x55 += einsum("ia,wxja->xwij", x52, u12) + x74 = np.zeros((nocc, nocc), dtype=types[float]) + x74 += einsum("ia,ja->ji", t1, x52) * 2 + x75 = np.zeros((nocc, nocc), dtype=types[float]) + x75 += einsum("ij->ij", x74) + del x74 + x128 = np.zeros((nbos, nbos), dtype=types[float]) + x128 += einsum("ia,wxia->xw", x52, u12) * 2 + x200 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x200 += einsum("ia,wja->wij", x52, u11) * 2 + lu11new += einsum("w,ia->wai", ls1, x52) * 4 + del x52 + x53 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x53 += einsum("wx,xia->wia", s2, g.bov) + x54 += einsum("wia->wia", x53) * 0.5 + x194 += einsum("wia->wia", x53) + del x53 + x54 += einsum("wia->wia", gc.bov) * 0.5 + x55 += einsum("wia,xja->wxji", u11, x54) * 2 + del x54 + l1new += einsum("wxai,wxji->aj", lu12, x55) * -1 + del x55 + x58 = np.zeros((nocc, nvir), dtype=types[float]) + x58 += einsum("w,wai->ia", s1, g.bvo) + x82 = np.zeros((nocc, nvir), dtype=types[float]) + x82 += einsum("ia->ia", x58) + x213 = np.zeros((nocc, nvir), dtype=types[float]) + x213 += einsum("ia->ia", x58) * 0.5 + del x58 + x59 = np.zeros((nocc, nvir), dtype=types[float]) + x59 += einsum("wab,wib->ia", g.bvv, u11) + x82 += einsum("ia->ia", x59) + x213 += einsum("ia->ia", x59) * 0.5 + del x59 + x60 = np.zeros((nocc, nvir), dtype=types[float]) + x60 += einsum("ijab,jkib->ka", t2, v.ooov) + x82 += einsum("ia->ia", x60) + x213 += einsum("ia->ia", x60) * 0.5 + del x60 + x61 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x61 += einsum("ijab->jiab", t2) * -0.5 + x61 += einsum("ijab->jiba", t2) + x71 = np.zeros((nocc, nocc), dtype=types[float]) + x71 += einsum("iajb,ikab->kj", v.ovov, x61) * 2 + x75 += einsum("ij->ji", x71) + del x71 + x82 += einsum("iabc,ijac->jb", v.ovvv, x61) * 2 + x96 = np.zeros((nocc, nocc), dtype=types[float]) + x96 += einsum("abij,ikab->kj", l2, x61) * 2 + x97 = np.zeros((nocc, nocc), dtype=types[float]) + x97 += einsum("ij->ji", x96) + x148 = np.zeros((nocc, nocc), dtype=types[float]) + x148 += einsum("ij->ji", x96) + x215 = np.zeros((nocc, nocc), dtype=types[float]) + x215 += einsum("ij->ji", x96) + del x96 + x104 = np.zeros((nvir, nvir), dtype=types[float]) + x104 += einsum("abij,ijac->cb", l2, x61) * 2 + x105 = np.zeros((nvir, nvir), dtype=types[float]) + x105 += einsum("ab->ba", x104) + x146 = np.zeros((nvir, nvir), dtype=types[float]) + x146 += einsum("ab->ba", x104) + del x104 + x141 = np.zeros((nvir, nvir), dtype=types[float]) + x141 += einsum("iajb,ijcb->ca", v.ovov, x61) * 2 + x142 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x142 += einsum("ab,acij->ijbc", x141, l2) + del x141 + x145 += einsum("ijab->jiba", x142) * -1 + del x142 + x205 = np.zeros((nocc, nvir), dtype=types[float]) + x205 += einsum("iabc,ijac->jb", v.ovvv, x61) + x213 += einsum("ia->ia", x205) + del x205 + x214 = np.zeros((nvir, nvir), dtype=types[float]) + x214 += einsum("abij,ijac->bc", l2, x61) * 4 + del x61 + x62 += einsum("ijka->ikja", v.ooov) * 2 + x82 += einsum("ijab,ijkb->ka", t2, x62) * -1 + x206 = np.zeros((nocc, nvir), dtype=types[float]) + x206 += einsum("ijab,ijkb->ka", t2, x62) * 0.5 + del x62 + x213 += einsum("ia->ia", x206) * -1 + del x206 + x64 += einsum("ia->ia", f.ov) + lu12new += einsum("wx,ia->xwai", ls2, x64) * 2 + x65 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x65 += einsum("ijab->jiab", t2) + x65 += einsum("ijab->jiba", t2) * -0.5 + x82 += einsum("ia,ijba->jb", x64, x65) * 2 + x87 = np.zeros((nocc, nvir), dtype=types[float]) + x87 += einsum("ijka,ijba->kb", x32, x65) * 2 + x99 += einsum("ia->ia", x87) + del x87 + x143 = np.zeros((nocc, nocc), dtype=types[float]) + x143 += einsum("iajb,ikba->kj", v.ovov, x65) * 2 + x144 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x144 += einsum("ij,abik->jkab", x143, l2) + del x143 + x145 += einsum("ijab->jiba", x144) * -1 + del x144 + l2new += einsum("ijab->abij", x145) + l2new += einsum("ijab->baji", x145) + del x145 + x207 = np.zeros((nocc, nvir), dtype=types[float]) + x207 += einsum("ia,ijba->jb", x64, x65) + del x65 + x213 += einsum("ia->ia", x207) + del x207 + x66 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x66 += einsum("iabj->ijba", v.ovvo) + x66 += einsum("ijab->ijab", v.oovv) * -0.5 + x82 += einsum("ia,ijba->jb", t1, x66) * 2 + x208 = np.zeros((nocc, nvir), dtype=types[float]) + x208 += einsum("ia,ijba->jb", t1, x66) + del x66 + x213 += einsum("ia->ia", x208) + del x208 + x67 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x67 += einsum("ia,wja->wji", t1, g.bov) + x68 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x68 += einsum("wij->wij", x67) + x115 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x115 += einsum("wij->wij", x67) + x68 += einsum("wij->wij", g.boo) + x82 += einsum("wia,wij->ja", u11, x68) * -1 + x200 += einsum("wx,wij->xij", s2, x68) + x204 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x204 += einsum("wij,wxia->xja", x68, u12) + x209 = np.zeros((nocc, nvir), dtype=types[float]) + x209 += einsum("wia,wij->ja", u11, x68) * 0.5 + del x68 + x213 += einsum("ia->ia", x209) * -1 + del x209 + x69 = np.zeros((nocc, nocc), dtype=types[float]) + x69 += einsum("w,wij->ij", s1, g.boo) + x75 += einsum("ij->ij", x69) + x165 = np.zeros((nocc, nocc), dtype=types[float]) + x165 += einsum("ij->ij", x69) + del x69 + x70 = np.zeros((nocc, nocc), dtype=types[float]) + x70 += einsum("wia,wja->ij", g.bov, u11) + x75 += einsum("ij->ij", x70) + x165 += einsum("ij->ij", x70) + del x70 + x72 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x72 += einsum("ijka->ikja", v.ooov) + x72 += einsum("ijka->kija", v.ooov) * -0.5 + x73 = np.zeros((nocc, nocc), dtype=types[float]) + x73 += einsum("ia,jika->jk", t1, x72) * 2 + x75 += einsum("ij->ij", x73) + del x73 + x200 += einsum("wia,jika->wjk", u11, x72) * 2 + del x72 + x75 += einsum("ij->ij", f.oo) + x82 += einsum("ia,ij->ja", t1, x75) * -1 + x204 += einsum("ij,wia->wja", x75, u11) + x210 = np.zeros((nocc, nvir), dtype=types[float]) + x210 += einsum("ia,ij->ja", t1, x75) * 0.5 + x213 += einsum("ia->ia", x210) * -1 + del x210 + l1new += einsum("ai,ji->aj", l1, x75) * -1 + lu12new += einsum("ij,wxaj->xwai", x75, lu12) * -1 + del x75 + x76 = np.zeros((nvir, nvir), dtype=types[float]) + x76 += einsum("w,wab->ab", s1, g.bvv) + x79 = np.zeros((nvir, nvir), dtype=types[float]) + x79 += einsum("ab->ab", x76) + x130 += einsum("ab->ab", x76) + x161 = np.zeros((nvir, nvir), dtype=types[float]) + x161 += einsum("ab->ab", x76) + x198 = np.zeros((nvir, nvir), dtype=types[float]) + x198 += einsum("ab->ab", x76) + del x76 + x77 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x77 += einsum("iabc->ibac", v.ovvv) * -0.5 + x77 += einsum("iabc->ibca", v.ovvv) + x78 = np.zeros((nvir, nvir), dtype=types[float]) + x78 += einsum("ia,ibca->bc", t1, x77) * 2 + x79 += einsum("ab->ab", x78) + x198 += einsum("ab->ab", x78) + del x78 + x201 = np.zeros((nbos, nvir, nvir), dtype=types[float]) + x201 += einsum("wia,ibca->wbc", u11, x77) * 2 + del x77 + x79 += einsum("ab->ab", f.vv) + x82 += einsum("ia,ba->ib", t1, x79) + x211 = np.zeros((nocc, nvir), dtype=types[float]) + x211 += einsum("ia,ba->ib", t1, x79) * 0.5 + del x79 + x213 += einsum("ia->ia", x211) + del x211 + x80 = np.zeros((nbos), dtype=types[float]) + x80 += einsum("ia,wia->w", t1, g.bov) + x81 = np.zeros((nbos), dtype=types[float]) + x81 += einsum("w->w", x80) * 2 + x135 = np.zeros((nbos), dtype=types[float]) + x135 += einsum("w->w", x80) * 2 + del x80 + x81 += einsum("w->w", G) + x82 += einsum("w,wia->ia", x81, u11) + x204 += einsum("w,wxia->xia", x81, u12) * -1 + x212 = np.zeros((nocc, nvir), dtype=types[float]) + x212 += einsum("w,wia->ia", x81, u11) * 0.5 + del x81 + x213 += einsum("ia->ia", x212) + del x212 + x82 += einsum("ai->ia", f.vo) + x83 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x83 += einsum("abij->jiab", l2) * 2 + x83 += einsum("abij->jiba", l2) * -1 + l1new += einsum("ia,ijba->bj", x82, x83) + del x82 + del x83 + x84 = np.zeros((nocc, nvir), dtype=types[float]) + x84 += einsum("w,wia->ia", ls1, u11) + x99 += einsum("ia->ia", x84) * -1 + del x84 + x85 = np.zeros((nocc, nvir), dtype=types[float]) + x85 += einsum("wx,wxia->ia", ls2, u12) + x99 += einsum("ia->ia", x85) * -0.5 + del x85 + x89 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x89 += einsum("ia,waj->wji", t1, lu11) + x91 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x91 += einsum("wij->wij", x89) + x119 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x119 += einsum("wij->wij", x89) + x90 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x90 += einsum("wia,wxaj->xji", u11, lu12) + x91 += einsum("wij->wij", x90) + x92 = np.zeros((nocc, nvir), dtype=types[float]) + x92 += einsum("wia,wij->ja", u11, x91) + del x91 + x99 += einsum("ia->ia", x92) + del x92 + x119 += einsum("wij->wij", x90) + x120 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x120 += einsum("wx,wij->xij", s2, x119) + x235 = np.zeros((nbos, nbos, nocc, nvir), dtype=types[float]) + x235 += einsum("wia,xji->xwja", g.bov, x119) + x236 = np.zeros((nbos, nbos, nocc, nvir), dtype=types[float]) + x236 += einsum("wxia->xwia", x235) + del x235 + x218 = np.zeros((nbos, nbos), dtype=types[float]) + x218 += einsum("wij,xji->wx", g.boo, x90) + x228 -= einsum("wx->wx", x218) * 2 + del x218 + x223 = np.zeros((nbos, nbos), dtype=types[float]) + x223 += einsum("wij,xji->wx", x67, x90) + del x90 + del x67 + x228 -= einsum("wx->wx", x223) * 2 + del x223 + x93 = np.zeros((nocc, nocc), dtype=types[float]) + x93 += einsum("ai,ja->ij", l1, t1) + x97 += einsum("ij->ij", x93) + x167 = np.zeros((nocc, nocc), dtype=types[float]) + x167 += einsum("ij->ij", x93) + ls1new = np.zeros((nbos), dtype=types[float]) + ls1new -= einsum("ij,wji->w", x93, g.boo) * 2 + del x93 + x94 = np.zeros((nocc, nocc), dtype=types[float]) + x94 += einsum("wai,wja->ij", lu11, u11) + x97 += einsum("ij->ij", x94) + x167 += einsum("ij->ij", x94) + x168 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x168 += einsum("ij,jakb->ikab", x167, v.ovov) + del x167 + x170 += einsum("ijab->ijba", x168) + del x168 + x215 += einsum("ij->ij", x94) + del x94 + x95 = np.zeros((nocc, nocc), dtype=types[float]) + x95 += einsum("wxai,wxja->ij", lu12, u12) + x97 += einsum("ij->ij", x95) * 0.5 + x98 = np.zeros((nocc, nvir), dtype=types[float]) + x98 += einsum("ia,ij->ja", t1, x97) + x99 += einsum("ia->ia", x98) + del x98 + l1new += einsum("ia,ji->aj", x64, x97) * -1 + del x64 + x148 += einsum("ij->ij", x95) * 0.5 + x149 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x149 += einsum("ij,jakb->ikab", x148, v.ovov) + del x148 + x150 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x150 += einsum("ijab->ijba", x149) + del x149 + x215 += einsum("ij->ij", x95) * 0.5 + del x95 + ls1new += einsum("ij,wji->w", x215, g.boo) * -2 + del x215 + x99 += einsum("ia->ia", t1) * -1 + ls1new += einsum("ia,wia->w", x99, g.bov) * -2 + x100 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x100 += einsum("iajb->jiab", v.ovov) * 2 + x100 += einsum("iajb->jiba", v.ovov) * -1 + l1new += einsum("ia,ijba->bj", x99, x100) * -1 + del x99 + del x100 + x101 = np.zeros((nvir, nvir), dtype=types[float]) + x101 += einsum("ai,ib->ab", l1, t1) + x105 += einsum("ab->ab", x101) + ls1new += einsum("ab,wab->w", x101, g.bvv) * 2 + del x101 + x102 = np.zeros((nvir, nvir), dtype=types[float]) + x102 += einsum("wai,wib->ab", lu11, u11) + x105 += einsum("ab->ab", x102) + x153 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x153 += einsum("ab,icjb->ijac", x102, v.ovov) + x170 += einsum("ijab->ijab", x153) + del x153 + x214 += einsum("ab->ab", x102) * 2 + del x102 + x103 = np.zeros((nvir, nvir), dtype=types[float]) + x103 += einsum("wxai,wxib->ab", lu12, u12) + x105 += einsum("ab->ab", x103) * 0.5 + x146 += einsum("ab->ab", x103) * 0.5 + x147 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x147 += einsum("ab,ibjc->ijac", x146, v.ovov) + del x146 + x150 += einsum("ijab->jiab", x147) + del x147 + l2new += einsum("ijab->baij", x150) * -1 + l2new += einsum("ijab->abji", x150) * -1 + del x150 + x214 += einsum("ab->ab", x103) + del x103 + ls1new += einsum("ab,wab->w", x214, g.bvv) + del x214 + x106 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x106 += einsum("iabc->ibac", v.ovvv) * -1 + x106 += einsum("iabc->ibca", v.ovvv) * 2 + l1new += einsum("ab,iabc->ci", x105, x106) + del x105 + del x106 + x107 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x107 -= einsum("ijka->ikja", v.ooov) + x107 += einsum("ijka->kija", v.ooov) * 2 + l1new += einsum("ij,kjia->ak", x97, x107) * -1 + del x97 + del x107 + x108 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x108 += einsum("wia,wxja->xij", g.bov, u12) + x116 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x116 += einsum("wij->wij", x108) + x200 += einsum("wij->wij", x108) + del x108 + x109 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x109 += einsum("ijka->ikja", v.ooov) * 2 + x109 -= einsum("ijka->kija", v.ooov) + x116 += einsum("wia,jika->wjk", u11, x109) + x183 = np.zeros((nocc, nocc), dtype=types[float]) + x183 += einsum("ia,jika->jk", t1, x109) + x185 = np.zeros((nocc, nocc), dtype=types[float]) + x185 += einsum("ij->ij", x183) + del x183 + lu12new -= einsum("ijka,wxki->xwaj", x109, x31) + del x109 + x110 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x110 += einsum("iajb->jiab", v.ovov) * 2 + x110 -= einsum("iajb->jiba", v.ovov) + x111 = np.zeros((nocc, nvir), dtype=types[float]) + x111 += einsum("ia,ijba->jb", t1, x110) + x112 += einsum("ia->ia", x111) + x184 = np.zeros((nocc, nocc), dtype=types[float]) + x184 += einsum("ia,ja->ji", t1, x111) + x185 += einsum("ij->ij", x184) + del x184 + x186 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x186 += einsum("ij,abjk->ikab", x185, l2) + del x185 + x191 -= einsum("ijab->jiba", x186) + del x186 + x189 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x189 += einsum("ia,jkib->jkab", x111, x32) + x191 -= einsum("ijab->ijba", x189) + del x189 + x191 += einsum("ai,jb->ijab", l1, x111) + del x111 + x113 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x113 += einsum("wia,ijba->wjb", u11, x110) + x114 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x114 += einsum("wia->wia", x113) + x190 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x190 += einsum("wai,wjb->jiba", lu11, x113) + del x113 + x191 += einsum("ijab->jiba", x190) + del x190 + lu12new += einsum("ijab,wxib->xwaj", x110, x237) + del x237 + del x110 + x112 += einsum("ia->ia", f.ov) + x116 += einsum("ia,wja->wij", x112, u11) + x134 = np.zeros((nbos), dtype=types[float]) + x134 += einsum("ia,wia->w", x112, u11) + x137 = np.zeros((nbos), dtype=types[float]) + x137 += einsum("w->w", x134) * 2 + del x134 + lu12new -= einsum("ia,wxji->xwaj", x112, x31) + del x112 + del x31 + x114 += einsum("wia->wia", gc.bov) + x116 += einsum("ia,wja->wji", t1, x114) + l1new -= einsum("wia,wji->aj", x114, x119) + del x114 + del x119 + x115 += einsum("wij->wij", g.boo) + x116 += einsum("wx,wij->xij", s2, x115) + x227 = np.zeros((nbos, nbos), dtype=types[float]) + x227 += einsum("wij,xji->wx", x115, x89) + del x89 + x228 -= einsum("wx->wx", x227) * 2 + del x227 + x234 = np.zeros((nbos, nbos, nocc, nvir), dtype=types[float]) + x234 += einsum("wai,xji->xwja", lu11, x115) + x236 += einsum("wxia->wxia", x234) + del x234 + x116 += einsum("wij->wij", gc.boo) + l1new -= einsum("wai,wji->aj", lu11, x116) + del x116 + x117 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x117 += einsum("abij->jiab", l2) * 2 + x117 -= einsum("abij->jiba", l2) + x118 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x118 += einsum("wia,ijba->wjb", u11, x117) + x120 += einsum("ia,wja->wji", t1, x118) + x122 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x122 += einsum("wia->wia", x118) + l1new -= einsum("wij,wja->ai", x115, x118) + del x115 + del x118 + lu11new += einsum("wai,ijba->wbj", g.bvo, x117) + del x117 + x120 += einsum("ai,wja->wij", l1, u11) + x120 += einsum("wai,wxja->xij", lu11, u12) + l1new -= einsum("wia,wji->aj", g.bov, x120) + del x120 + x121 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x121 += einsum("wx,wai->xia", s2, lu11) + x122 += einsum("wia->wia", x121) + del x121 + x188 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x188 += einsum("wia,wjb->jiba", g.bov, x122) + x191 += einsum("ijab->jiba", x188) + del x188 + l1new += einsum("wab,wia->bi", g.bvv, x122) + del x122 + x123 += einsum("wab->wab", gc.bvv) + l1new += einsum("wai,wab->bi", lu11, x123) + del x123 + x125 += einsum("wia->wia", gc.bov) * 2 + x128 += einsum("wia,xia->xw", u11, x125) + del x125 + x126 = np.zeros((nbos, nbos), dtype=types[float]) + x126 += einsum("wia,xia->wx", g.bov, u11) + x127 = np.zeros((nbos, nbos), dtype=types[float]) + x127 += einsum("wx->wx", x126) * 2 + x217 = np.zeros((nbos, nbos), dtype=types[float]) + x217 += einsum("wx,yx->yw", ls2, x126) + x228 += einsum("wx->wx", x217) * 2 + del x217 + x233 = np.zeros((nbos, nbos, nocc, nvir), dtype=types[float]) + x233 += einsum("wx,xyai->wyia", x126, lu12) + del x126 + x236 -= einsum("wxia->wxia", x233) * 2 + del x233 + x127 += einsum("wx->wx", w) + x128 += einsum("wx,wy->xy", s2, x127) + l1new += einsum("wx,xwai->ai", x128, lu12) + del x128 + x204 += einsum("wx,wia->xia", x127, u11) * -1 + del x127 + x130 += einsum("ab->ab", f.vv) + l1new += einsum("ai,ab->bi", l1, x130) + del x130 + x131 = np.zeros((nbos), dtype=types[float]) + x131 += einsum("w,wx->x", s1, w) + x137 += einsum("w->w", x131) + del x131 + x132 = np.zeros((nbos), dtype=types[float]) + x132 += einsum("ia,wia->w", t1, gc.bov) + x137 += einsum("w->w", x132) * 2 + del x132 + x133 = np.zeros((nbos), dtype=types[float]) + x133 += einsum("wia,wxia->x", g.bov, u12) + x137 += einsum("w->w", x133) * 2 + del x133 + x135 += einsum("w->w", G) + x136 = np.zeros((nbos), dtype=types[float]) + x136 += einsum("w,wx->x", x135, s2) + x137 += einsum("w->w", x136) + del x136 + x228 += einsum("w,x->xw", ls1, x135) + del x135 + x137 += einsum("w->w", G) + l1new += einsum("w,wai->ai", x137, lu11) + ls1new += einsum("w,wx->x", x137, ls2) + del x137 + x138 = np.zeros((nbos), dtype=types[float]) + x138 += einsum("w->w", s1) + x138 += einsum("w,xw->x", ls1, s2) + x138 += einsum("ai,wia->w", l1, u11) * 2 + x138 += einsum("wai,wxia->x", lu11, u12) * 2 + l1new += einsum("w,wia->ai", x138, g.bov) + del x138 + x151 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x151 += einsum("ai,jbac->ijbc", l1, v.ovvv) + x170 -= einsum("ijab->ijab", x151) + del x151 + x155 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x155 += einsum("ijab,kbic->jkac", t2, v.ovov) + x156 -= einsum("ijab->ijab", x155) + del x155 + x156 += einsum("ijab->jiab", v.oovv) + x157 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x157 += einsum("abij,ikbc->kjca", l2, x156) + x170 += einsum("ijab->jiba", x157) + del x157 + x180 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x180 += einsum("abij,ikac->kjcb", l2, x156) + del x156 + x191 -= einsum("ijab->jiba", x180) + del x180 + x158 += einsum("ijka->jkia", v.ooov) + x159 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x159 += einsum("ijka,iljb->klab", x158, x32) + x170 -= einsum("ijab->jiba", x159) + del x159 + x181 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x181 += einsum("ijka,likb->ljba", x158, x38) + del x38 + x191 -= einsum("ijab->ijab", x181) + del x181 + x182 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x182 += einsum("ijka,lijb->klab", x158, x32) + del x158 + x191 += einsum("ijab->jiba", x182) + del x182 + x160 = np.zeros((nvir, nvir), dtype=types[float]) + x160 += einsum("wia,wib->ab", g.bov, u11) + x161 -= einsum("ab->ba", x160) + x198 += einsum("ab->ba", x160) * -1 + del x160 + x161 += einsum("ab->ab", f.vv) + x162 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x162 += einsum("ab,acij->ijbc", x161, l2) + del x161 + x170 -= einsum("ijab->jiab", x162) + del x162 + x163 += einsum("ia->ia", f.ov) + x164 = np.zeros((nocc, nocc), dtype=types[float]) + x164 += einsum("ia,ja->ji", t1, x163) + x165 += einsum("ij->ij", x164) + del x164 + x169 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x169 += einsum("ia,jkib->jkab", x163, x32) + del x32 + x170 += einsum("ijab->ijab", x169) + del x169 + x191 += einsum("ai,jb->jiba", l1, x163) + del x163 + x165 += einsum("ij->ij", f.oo) + x166 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x166 += einsum("ij,abjk->ikab", x165, l2) + del x165 + x170 += einsum("ijab->ijba", x166) + del x166 + l2new -= einsum("ijab->baij", x170) + l2new -= einsum("ijab->abji", x170) + del x170 + x171 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x171 += einsum("wia,wbj->ijab", gc.bov, lu11) + x191 += einsum("ijab->ijab", x171) + del x171 + x172 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x172 += einsum("ai,jikb->jkab", l1, v.ooov) + x191 -= einsum("ijab->ijab", x172) + del x172 + x174 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x174 -= einsum("abij->jiab", l2) + x174 += einsum("abij->jiba", l2) * 2 + x175 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x175 += einsum("ijab,kaic->jkbc", t2, v.ovov) + x178 -= einsum("ijab->ijab", x175) + del x175 + x176 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x176 -= einsum("ijab->jiab", t2) + x176 += einsum("ijab->jiba", t2) * 2 + x177 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x177 += einsum("iajb,ikac->kjcb", v.ovov, x176) + del x176 + x178 += einsum("ijab->ijab", x177) + del x177 + x178 += einsum("iabj->jiba", v.ovvo) + x179 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x179 += einsum("ijab,ikac->jkbc", x174, x178) + del x178 + del x174 + x191 += einsum("ijab->ijab", x179) + del x179 + l2new += einsum("ijab->abij", x191) + l2new += einsum("ijab->baji", x191) + del x191 + x192 += einsum("ijkl->kilj", v.oooo) + l2new += einsum("abij,klij->balk", l2, x192) + del x192 + x194 += einsum("wia->wia", gc.bov) + x204 += einsum("wia,ijba->wjb", x194, x33) * -1 + del x33 + del x194 + x195 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x195 += einsum("iabj->ijba", v.ovvo) * 2 + x195 += einsum("ijab->ijab", v.oovv) * -1 + x204 += einsum("wia,ijba->wjb", u11, x195) * -1 + del x195 + x196 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x196 += einsum("ijab->jiab", t2) * -1 + x196 += einsum("ijab->jiba", t2) * 2 + x197 = np.zeros((nvir, nvir), dtype=types[float]) + x197 += einsum("iajb,ijcb->ca", v.ovov, x196) + del x196 + x198 += einsum("ab->ab", x197) * -1 + del x197 + x198 += einsum("ab->ab", f.vv) + x204 += einsum("ab,wib->wia", x198, u11) * -1 + lu12new += einsum("ab,wxai->xwbi", x198, lu12) + del x198 + x199 += einsum("wia->wia", gc.bov) + x200 += einsum("ia,wja->wji", t1, x199) + del x199 + x200 += einsum("wij->wij", gc.boo) + x204 += einsum("ia,wij->wja", t1, x200) + del x200 + x201 += einsum("wab->wab", gc.bvv) + x204 += einsum("ia,wba->wib", t1, x201) * -1 + del x201 + x202 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x202 += einsum("ia,wba->wib", t1, g.bvv) + x203 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x203 += einsum("wia->wia", x202) + x225 += einsum("wia->wia", x202) + del x202 + x203 += einsum("wai->wia", g.bvo) + x204 += einsum("wx,wia->xia", s2, x203) * -1 + del x203 + x204 += einsum("wai->wia", gc.bvo) * -1 + x204 += einsum("wab,wxib->xia", g.bvv, u12) * -1 + ls1new += einsum("wia,wxai->x", x204, lu12) * -2 + del x204 + x213 += einsum("ai->ia", f.vo) * 0.5 + ls1new += einsum("ia,wai->w", x213, lu11) * 4 + ls2new = np.zeros((nbos, nbos), dtype=types[float]) + ls2new += einsum("ia,wxai->xw", x213, lu12) * 4 + del x213 + x216 = np.zeros((nbos, nbos), dtype=types[float]) + x216 += einsum("wx,yx->wy", ls2, w) + x228 += einsum("wx->wx", x216) + del x216 + x219 = np.zeros((nbos, nvir, nvir), dtype=types[float]) + x219 += einsum("wia,wxbi->xba", u11, lu12) + x220 = np.zeros((nbos, nbos), dtype=types[float]) + x220 += einsum("wab,xab->wx", g.bvv, x219) + x228 += einsum("wx->wx", x220) * 2 + del x220 + x232 = np.zeros((nbos, nbos, nocc, nvir), dtype=types[float]) + x232 += einsum("wia,xba->wxib", g.bov, x219) + del x219 + x236 += einsum("wxia->wxia", x232) + del x232 + x225 += einsum("wai->wia", g.bvo) + x226 = np.zeros((nbos, nbos), dtype=types[float]) + x226 += einsum("wai,xia->xw", lu11, x225) + del x225 + x228 += einsum("wx->wx", x226) * 2 + del x226 + ls2new += einsum("wx->wx", x228) + ls2new += einsum("wx->xw", x228) + del x228 + x229 = np.zeros((nbos, nbos, nbos), dtype=types[float]) + x229 += einsum("wia,xyai->xyw", u11, lu12) + lu12new += einsum("wia,xyw->yxai", g.bov, x229) * 2 + del x229 + x230 = np.zeros((nbos, nbos, nocc, nvir), dtype=types[float]) + x230 += einsum("wx,xyai->ywia", w, lu12) + x236 -= einsum("wxia->wxia", x230) + del x230 + x231 = np.zeros((nbos, nbos, nocc, nvir), dtype=types[float]) + x231 += einsum("wab,xai->wxib", g.bvv, lu11) + x236 -= einsum("wxia->wxia", x231) + del x231 + lu12new -= einsum("wxia->wxai", x236) + lu12new -= einsum("wxia->xwai", x236) + del x236 + x238 += einsum("iabj->ijba", v.ovvo) * 2 + x238 -= einsum("ijab->ijab", v.oovv) + lu12new += einsum("wxai,jiab->xwbj", lu12, x238) + del x238 + l1new += einsum("ia->ai", f.ov) + l1new += einsum("w,wia->ai", ls1, gc.bov) + l2new += einsum("abij,acbd->dcji", l2, v.vvvv) + l2new += einsum("iajb->baji", v.ovov) + ls1new += einsum("w->w", G) + ls1new += einsum("w,xw->x", ls1, w) + ls1new += einsum("ai,wai->w", l1, g.bvo) * 2 + lu11new -= einsum("ij,waj->wai", f.oo, lu11) + lu11new -= einsum("ai,wji->waj", l1, g.boo) + lu11new -= einsum("wij,xwaj->xai", gc.boo, lu12) + lu11new += einsum("wab,xwai->xbi", gc.bvv, lu12) + lu11new += einsum("ab,wai->wbi", f.vv, lu11) + lu11new += einsum("ai,wab->wbi", l1, g.bvv) + lu11new += einsum("wia->wai", g.bov) + lu11new += einsum("w,xwai->xai", G, lu12) + lu11new += einsum("wx,xia->wai", ls2, gc.bov) + lu11new += einsum("wx,xai->wai", w, lu11) + + return {"l1new": l1new, "l2new": l2new, "ls1new": ls1new, "ls2new": ls2new, "lu11new": lu11new, "lu12new": lu12new} + +def make_rdm1_f(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, s2=None, u11=None, u12=None, l1=None, l2=None, ls1=None, ls2=None, lu11=None, lu12=None, **kwargs): + # Get boson coupling creation array: + gc = Namespace( + boo=g.boo.transpose(0, 2, 1), + bov=g.bvo.transpose(0, 2, 1), + bvo=g.bov.transpose(0, 2, 1), + bvv=g.bvv.transpose(0, 2, 1), + ) + + delta_oo = np.eye(nocc) + delta_vv = np.eye(nvir) + + # 1RDM + x0 = np.zeros((nocc, nocc), dtype=types[float]) + x0 += einsum("wxai,wxja->ij", lu12, u12) + x10 = np.zeros((nocc, nocc), dtype=types[float]) + x10 += einsum("ij->ij", x0) * 0.5 + rdm1_f_oo = np.zeros((nocc, nocc), dtype=types[float]) + rdm1_f_oo += einsum("ij->ij", x0) * -1 + del x0 + x1 = np.zeros((nocc, nocc), dtype=types[float]) + x1 += einsum("wai,wja->ij", lu11, u11) + x10 += einsum("ij->ij", x1) + rdm1_f_oo -= einsum("ij->ij", x1) * 2 + del x1 + x2 = np.zeros((nocc, nocc), dtype=types[float]) + x2 += einsum("ai,ja->ij", l1, t1) + x10 += einsum("ij->ij", x2) + rdm1_f_oo -= einsum("ij->ij", x2) * 2 + del x2 + x3 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x3 += einsum("ijab->jiab", t2) * -1 + x3 += einsum("ijab->jiba", t2) * 2 + rdm1_f_oo += einsum("abij,ikab->jk", l2, x3) * -2 + del x3 + x4 = np.zeros((nbos, nbos, nocc, nocc), dtype=types[float]) + x4 += einsum("ia,wxaj->wxji", t1, lu12) + rdm1_f_vo = np.zeros((nvir, nocc), dtype=types[float]) + rdm1_f_vo += einsum("wxia,wxij->aj", u12, x4) * -1 + del x4 + x5 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x5 += einsum("ia,bajk->jkib", t1, l2) + x6 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x6 += einsum("ijka->ijka", x5) * 2 + x6 += einsum("ijka->jika", x5) * -1 + del x5 + rdm1_f_vo += einsum("ijab,jikb->ak", t2, x6) * -2 + del x6 + x7 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x7 -= einsum("ijab->jiab", t2) + x7 += einsum("ijab->jiba", t2) * 2 + rdm1_f_vo += einsum("ai,ijab->bj", l1, x7) * 2 + del x7 + x8 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x8 += einsum("ia,waj->wji", t1, lu11) + x8 += einsum("wia,wxaj->xji", u11, lu12) + rdm1_f_vo -= einsum("wia,wij->aj", u11, x8) * 2 + del x8 + x9 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x9 += einsum("ijab->jiab", t2) + x9 += einsum("ijab->jiba", t2) * -0.5 + x10 += einsum("abij,ikba->jk", l2, x9) * 2 + del x9 + rdm1_f_vo += einsum("ia,ij->aj", t1, x10) * -2 + del x10 + x11 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x11 += einsum("abij->jiab", l2) + x11 += einsum("abij->jiba", l2) * -0.5 + rdm1_f_vv = np.zeros((nvir, nvir), dtype=types[float]) + rdm1_f_vv += einsum("ijab,ijbc->ac", t2, x11) * 4 + del x11 + rdm1_f_oo += einsum("ij->ji", delta_oo) * 2 + rdm1_f_ov = np.zeros((nocc, nvir), dtype=types[float]) + rdm1_f_ov += einsum("ai->ia", l1) * 2 + rdm1_f_vo += einsum("wx,wxia->ai", ls2, u12) + rdm1_f_vo += einsum("w,wia->ai", ls1, u11) * 2 + rdm1_f_vo += einsum("ia->ai", t1) * 2 + rdm1_f_vv += einsum("wxai,wxib->ba", lu12, u12) + rdm1_f_vv += einsum("wai,wib->ba", lu11, u11) * 2 + rdm1_f_vv += einsum("ai,ib->ba", l1, t1) * 2 + + rdm1_f = np.block([[rdm1_f_oo, rdm1_f_ov], [rdm1_f_vo, rdm1_f_vv]]) + + return rdm1_f + +def make_rdm2_f(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, s2=None, u11=None, u12=None, l1=None, l2=None, ls1=None, ls2=None, lu11=None, lu12=None, **kwargs): + # Get boson coupling creation array: + gc = Namespace( + boo=g.boo.transpose(0, 2, 1), + bov=g.bvo.transpose(0, 2, 1), + bvo=g.bov.transpose(0, 2, 1), + bvv=g.bvv.transpose(0, 2, 1), + ) + + delta_oo = np.eye(nocc) + delta_vv = np.eye(nvir) + + # 2RDM + x0 = np.zeros((nocc, nocc), dtype=types[float]) + x0 += einsum("wai,wja->ij", lu11, u11) + x13 = np.zeros((nocc, nocc), dtype=types[float]) + x13 += einsum("ij->ij", x0) + x32 = np.zeros((nocc, nvir), dtype=types[float]) + x32 += einsum("ia,ij->ja", t1, x0) + x37 = np.zeros((nocc, nvir), dtype=types[float]) + x37 += einsum("ia->ia", x32) + del x32 + x65 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x65 += einsum("ij,kiab->kjab", x0, t2) + x76 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x76 += einsum("ijab->ijab", x65) + del x65 + x111 = np.zeros((nocc, nocc), dtype=types[float]) + x111 += einsum("ij->ij", x0) + rdm2_f_oooo = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + rdm2_f_oooo -= einsum("ij,kl->ijkl", delta_oo, x0) * 4 + rdm2_f_oooo += einsum("ij,kl->ilkj", delta_oo, x0) * 2 + rdm2_f_oooo += einsum("ij,kl->kijl", delta_oo, x0) * 2 + rdm2_f_oooo -= einsum("ij,kl->klji", delta_oo, x0) * 4 + del x0 + x1 = np.zeros((nocc, nocc), dtype=types[float]) + x1 += einsum("ai,ja->ij", l1, t1) + x13 += einsum("ij->ij", x1) + x14 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x14 += einsum("ia,jk->jika", t1, x13) + del x13 + x41 = np.zeros((nocc, nvir), dtype=types[float]) + x41 += einsum("ia,ij->ja", t1, x1) + x42 = np.zeros((nocc, nvir), dtype=types[float]) + x42 += einsum("ia->ia", x41) * -1 + del x41 + x79 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x79 += einsum("ij,kiab->jkab", x1, t2) + x86 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x86 += einsum("ijab->ijab", x79) + del x79 + x111 += einsum("ij->ij", x1) + x112 = np.zeros((nocc, nvir), dtype=types[float]) + x112 += einsum("ia,ij->ja", t1, x111) + del x111 + x113 = np.zeros((nocc, nvir), dtype=types[float]) + x113 += einsum("ia->ia", x112) + x114 = np.zeros((nocc, nvir), dtype=types[float]) + x114 += einsum("ia->ia", x112) + del x112 + rdm2_f_oooo -= einsum("ij,kl->jikl", delta_oo, x1) * 4 + rdm2_f_oooo += einsum("ij,kl->kijl", delta_oo, x1) * 2 + rdm2_f_oooo += einsum("ij,kl->jlki", delta_oo, x1) * 2 + rdm2_f_oooo -= einsum("ij,kl->klji", delta_oo, x1) * 4 + del x1 + x2 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x2 += einsum("abij,klba->ijlk", l2, t2) + x19 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x19 += einsum("ia,jikl->jkla", t1, x2) + x25 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x25 += einsum("ijka->ijka", x19) * -4 + x43 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x43 += einsum("ijka->ijka", x19) * 2 + x106 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x106 += einsum("ia,ijkb->kjba", t1, x19) + del x19 + x109 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x109 += einsum("ijab->ijab", x106) * 2.0000000000000013 + del x106 + x107 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x107 += einsum("ijkl->jilk", x2) + rdm2_f_oooo += einsum("ijkl->jkil", x2) * -2 + rdm2_f_oooo += einsum("ijkl->jlik", x2) * 4 + del x2 + x3 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x3 += einsum("ia,bajk->jkib", t1, l2) + x4 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x4 += einsum("ia,jkla->kjli", t1, x3) + x29 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x29 += einsum("ia,ijkl->jlka", t1, x4) + x38 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x38 -= einsum("ijka->ijka", x29) + x47 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x47 += einsum("ijka->ijka", x29) + x89 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x89 += einsum("ia,ijkb->jkab", t1, x29) + del x29 + x91 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x91 += einsum("ijab->ijab", x89) + del x89 + x107 += einsum("ijkl->ijkl", x4) + x108 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x108 += einsum("ijab,ijkl->klab", t2, x107) * 2 + del x107 + x109 += einsum("ijab->ijab", x108) + del x108 + rdm2_f_vovo = np.zeros((nvir, nocc, nvir, nocc), dtype=types[float]) + rdm2_f_vovo += einsum("ijab->ajbi", x109) * -1 + rdm2_f_vovo += einsum("ijab->bjai", x109) * 2 + del x109 + rdm2_f_oooo += einsum("ijkl->ikjl", x4) * 4 + rdm2_f_oooo -= einsum("ijkl->iljk", x4) * 2 + del x4 + x12 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x12 += einsum("ijab,kjla->klib", t2, x3) + x14 -= einsum("ijka->ijka", x12) + x84 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x84 -= einsum("ijka->ijka", x12) + del x12 + x21 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x21 += einsum("ijka->ijka", x3) + x21 += einsum("ijka->jika", x3) * -0.5 + x22 = np.zeros((nocc, nvir), dtype=types[float]) + x22 += einsum("ijab,ijka->kb", t2, x21) * 4 + x24 = np.zeros((nocc, nvir), dtype=types[float]) + x24 += einsum("ia->ia", x22) + del x22 + x99 = np.zeros((nocc, nvir), dtype=types[float]) + x99 += einsum("ijab,ijka->kb", t2, x21) * 4.000000000000003 + del x21 + x102 = np.zeros((nocc, nvir), dtype=types[float]) + x102 += einsum("ia->ia", x99) + del x99 + x28 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x28 += einsum("ijab,jkla->klib", t2, x3) + x38 -= einsum("ijka->ijka", x28) + del x28 + x30 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x30 -= einsum("ijka->ijka", x3) + x30 += einsum("ijka->jika", x3) * 2 + x31 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x31 += einsum("ijab,kila->kljb", t2, x30) + x38 += einsum("ijka->ijka", x31) + del x31 + x61 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x61 += einsum("ia,ijkb->jkab", t1, x30) + del x30 + rdm2_f_ovvo = np.zeros((nocc, nvir, nvir, nocc), dtype=types[float]) + rdm2_f_ovvo -= einsum("ijab->ibaj", x61) * 2 + rdm2_f_voov = np.zeros((nvir, nocc, nocc, nvir), dtype=types[float]) + rdm2_f_voov -= einsum("ijab->ajib", x61) * 2 + del x61 + x44 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x44 += einsum("ijab,kjlb->klia", t2, x3) + x47 += einsum("ijka->ijka", x44) + x68 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x68 += einsum("ijka->ijka", x44) + del x44 + x52 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x52 += einsum("ijka->ijka", x3) * 2 + x52 -= einsum("ijka->jika", x3) + x53 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x53 += einsum("ia,ijkb->jkab", t1, x52) + del x52 + rdm2_f_oovv = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + rdm2_f_oovv -= einsum("ijab->ijab", x53) * 2 + rdm2_f_vvoo = np.zeros((nvir, nvir, nocc, nocc), dtype=types[float]) + rdm2_f_vvoo -= einsum("ijab->abij", x53) * 2 + del x53 + x119 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x119 += einsum("ia,jikb->jkba", t1, x3) + x121 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x121 += einsum("ijab->ijab", x119) + del x119 + x131 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x131 += einsum("ijab,ijkc->kcab", t2, x3) + x132 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x132 += einsum("iabc->iabc", x131) * 2 + x133 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x133 += einsum("iabc->iabc", x131) * 4 + del x131 + rdm2_f_ooov = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + rdm2_f_ooov += einsum("ijka->ikja", x3) * 2 + rdm2_f_ooov -= einsum("ijka->jkia", x3) * 4 + rdm2_f_ovoo = np.zeros((nocc, nvir, nocc, nocc), dtype=types[float]) + rdm2_f_ovoo -= einsum("ijka->iajk", x3) * 4 + rdm2_f_ovoo += einsum("ijka->jaik", x3) * 2 + x5 = np.zeros((nocc, nocc), dtype=types[float]) + x5 += einsum("wxai,wxja->ij", lu12, u12) + x8 = np.zeros((nocc, nocc), dtype=types[float]) + x8 += einsum("ij->ij", x5) + x16 = np.zeros((nocc, nocc), dtype=types[float]) + x16 += einsum("ij->ij", x5) * 0.5 + x100 = np.zeros((nocc, nocc), dtype=types[float]) + x100 += einsum("ij->ij", x5) * 0.49999999999999967 + del x5 + x6 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x6 += einsum("ijab->jiab", t2) + x6 += einsum("ijab->jiba", t2) * -0.5 + x7 = np.zeros((nocc, nocc), dtype=types[float]) + x7 += einsum("abij,ikba->kj", l2, x6) * 4 + x8 += einsum("ij->ji", x7) + del x7 + rdm2_f_oooo += einsum("ij,kl->jikl", delta_oo, x8) * -2 + rdm2_f_oooo += einsum("ij,kl->jlki", delta_oo, x8) + rdm2_f_oooo += einsum("ij,kl->kjil", delta_oo, x8) + rdm2_f_oooo += einsum("ij,kl->klij", delta_oo, x8) * -2 + del x8 + x15 = np.zeros((nocc, nocc), dtype=types[float]) + x15 += einsum("abij,ikba->kj", l2, x6) * 2 + x16 += einsum("ij->ji", x15) + x23 = np.zeros((nocc, nvir), dtype=types[float]) + x23 += einsum("ia,ij->ja", t1, x16) * 2 + x24 += einsum("ia->ia", x23) + del x23 + x98 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x98 += einsum("ij,ikab->jkab", x16, t2) * 4 + x103 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x103 += einsum("ijab->jiba", x98) + del x98 + rdm2_f_oovo = np.zeros((nocc, nocc, nvir, nocc), dtype=types[float]) + rdm2_f_oovo += einsum("ia,jk->jiak", t1, x16) * 2 + rdm2_f_oovo += einsum("ia,jk->jkai", t1, x16) * -4 + rdm2_f_vooo = np.zeros((nvir, nocc, nocc, nocc), dtype=types[float]) + rdm2_f_vooo += einsum("ia,jk->aijk", t1, x16) * -4 + rdm2_f_vooo += einsum("ia,jk->akji", t1, x16) * 2 + del x16 + x100 += einsum("ij->ji", x15) + del x15 + x101 = np.zeros((nocc, nvir), dtype=types[float]) + x101 += einsum("ia,ij->ja", t1, x100) * 2.0000000000000013 + del x100 + x102 += einsum("ia->ia", x101) + del x101 + x93 = np.zeros((nbos, nbos, nocc, nvir), dtype=types[float]) + x93 += einsum("wxai,ijba->wxjb", lu12, x6) * 2 + del x6 + x94 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x94 += einsum("wxia,xwjb->ijab", u12, x93) * 2 + del x93 + x103 += einsum("ijab->jiba", x94) * -1 + del x94 + x9 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x9 += einsum("ai,jkba->ijkb", l1, t2) + x14 += einsum("ijka->ijka", x9) + x84 += einsum("ijka->ijka", x9) + del x9 + x85 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x85 += einsum("ia,ijkb->jkab", t1, x84) + del x84 + x86 += einsum("ijab->ijab", x85) + del x85 + x10 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x10 += einsum("wia,wxaj->xji", u11, lu12) + x11 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x11 += einsum("wia,wjk->jika", u11, x10) + x14 += einsum("ijka->ijka", x11) + del x11 + rdm2_f_oovo += einsum("ijka->ijak", x14) * 2 + rdm2_f_oovo -= einsum("ijka->ikaj", x14) * 4 + rdm2_f_vooo -= einsum("ijka->ajik", x14) * 4 + rdm2_f_vooo += einsum("ijka->akij", x14) * 2 + del x14 + x35 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x35 += einsum("wij->wij", x10) + x74 = np.zeros((nocc, nvir), dtype=types[float]) + x74 += einsum("wia,wij->ja", u11, x10) + x75 = np.zeros((nocc, nvir), dtype=types[float]) + x75 += einsum("ia->ia", x74) + del x74 + x82 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x82 += einsum("ia,wij->wja", t1, x10) + del x10 + x83 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x83 += einsum("wia,wjb->ijba", u11, x82) + del x82 + x86 += einsum("ijab->ijab", x83) + del x83 + x17 = np.zeros((nbos, nbos, nocc, nocc), dtype=types[float]) + x17 += einsum("ia,wxaj->wxji", t1, lu12) + x18 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x18 += einsum("wxia,wxjk->jkia", u12, x17) + x25 += einsum("ijka->ijka", x18) * 2 + x43 += einsum("ijka->ijka", x18) * -1 + rdm2_f_vooo += einsum("ijka->ajik", x43) * -1 + rdm2_f_vooo += einsum("ijka->akij", x43) * 2 + del x43 + x92 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x92 += einsum("ia,ijkb->jkab", t1, x18) + del x18 + x103 += einsum("ijab->ijab", x92) * 2 + del x92 + x20 = np.zeros((nocc, nvir), dtype=types[float]) + x20 += einsum("wxia,wxij->ja", u12, x17) + x24 += einsum("ia->ia", x20) + x25 += einsum("ij,ka->jika", delta_oo, x24) * 2 + rdm2_f_oovo += einsum("ijka->ijak", x25) * -1 + rdm2_f_oovo += einsum("ijka->ikaj", x25) * 0.5 + del x25 + rdm2_f_vooo += einsum("ij,ka->ajik", delta_oo, x24) + rdm2_f_vooo += einsum("ij,ka->akij", delta_oo, x24) * -2 + del x24 + x102 += einsum("ia->ia", x20) + del x20 + x103 += einsum("ia,jb->ijab", t1, x102) * 2 + del x102 + x80 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x80 += einsum("wia,wxij->xja", u11, x17) + del x17 + x81 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x81 += einsum("wia,wjb->jiab", u11, x80) + del x80 + x86 += einsum("ijab->ijab", x81) + del x81 + rdm2_f_vovo += einsum("ijab->aibj", x86) * 2 + rdm2_f_vovo -= einsum("ijab->biaj", x86) * 4 + rdm2_f_vovo -= einsum("ijab->ajbi", x86) * 4 + rdm2_f_vovo += einsum("ijab->bjai", x86) * 2 + del x86 + x26 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x26 += einsum("ia,waj->wji", t1, lu11) + x27 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x27 += einsum("wia,wjk->jkia", u11, x26) + x38 += einsum("ijka->ijka", x27) + x47 -= einsum("ijka->ijka", x27) + del x27 + x35 += einsum("wij->wij", x26) + x36 = np.zeros((nocc, nvir), dtype=types[float]) + x36 += einsum("wia,wij->ja", u11, x35) + del x35 + x37 += einsum("ia->ia", x36) + del x36 + x70 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x70 += einsum("ia,wij->wja", t1, x26) + x72 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x72 += einsum("wia->wia", x70) + del x70 + x110 = np.zeros((nocc, nvir), dtype=types[float]) + x110 += einsum("wia,wij->ja", u11, x26) + del x26 + x113 += einsum("ia->ia", x110) + x114 += einsum("ia->ia", x110) + del x110 + x33 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x33 -= einsum("ijab->jiab", t2) + x33 += einsum("ijab->jiba", t2) * 2 + x34 = np.zeros((nocc, nvir), dtype=types[float]) + x34 += einsum("ai,ijab->jb", l1, x33) + x37 -= einsum("ia->ia", x34) + x38 += einsum("ij,ka->jika", delta_oo, x37) + rdm2_f_oovo -= einsum("ijka->ijak", x38) * 4 + rdm2_f_oovo += einsum("ijka->ikaj", x38) * 2 + del x38 + rdm2_f_vooo += einsum("ij,ka->ajik", delta_oo, x37) * 2 + rdm2_f_vooo -= einsum("ij,ka->akij", delta_oo, x37) * 4 + del x37 + x75 -= einsum("ia->ia", x34) + del x34 + x76 += einsum("ia,jb->ijab", t1, x75) + del x75 + x71 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x71 += einsum("wai,ijab->wjb", lu11, x33) + x72 -= einsum("wia->wia", x71) + del x71 + x73 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x73 += einsum("wia,wjb->ijab", u11, x72) + del x72 + x76 += einsum("ijab->jiba", x73) + del x73 + x120 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x120 += einsum("abij,ikac->kjcb", l2, x33) + x121 -= einsum("ijab->jiba", x120) + del x120 + rdm2_f_vvoo -= einsum("abij,ikcb->cajk", l2, x33) * 2 + del x33 + x39 = np.zeros((nocc, nvir), dtype=types[float]) + x39 += einsum("w,wia->ia", ls1, u11) + x42 += einsum("ia->ia", x39) + x113 += einsum("ia->ia", x39) * -1 + x114 += einsum("ia->ia", x39) * -1 + del x39 + x40 = np.zeros((nocc, nvir), dtype=types[float]) + x40 += einsum("wx,wxia->ia", ls2, u12) + x42 += einsum("ia->ia", x40) * 0.5 + x113 += einsum("ia->ia", x40) * -0.5 + x114 += einsum("ia->ia", x40) * -0.5 + del x40 + rdm2_f_vovo += einsum("ia,jb->bjai", t1, x114) * -4 + rdm2_f_vovo += einsum("ia,jb->ajbi", t1, x114) * 2 + del x114 + x42 += einsum("ia->ia", t1) + rdm2_f_oovo += einsum("ij,ka->jkai", delta_oo, x42) * -2 + rdm2_f_oovo += einsum("ij,ka->jiak", delta_oo, x42) * 4 + rdm2_f_vooo += einsum("ij,ka->aijk", delta_oo, x42) * -2 + rdm2_f_vooo += einsum("ij,ka->akji", delta_oo, x42) * 4 + del x42 + x45 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x45 += einsum("ijab->jiab", t2) * 2 + x45 -= einsum("ijab->jiba", t2) + x46 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x46 += einsum("ijka,ilba->ljkb", x3, x45) + del x3 + x47 -= einsum("ijka->jkia", x46) + rdm2_f_vooo -= einsum("ijka->ajik", x47) * 2 + rdm2_f_vooo += einsum("ijka->akij", x47) * 4 + del x47 + x68 -= einsum("ijka->jkia", x46) + del x46 + x69 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x69 += einsum("ia,ijkb->jkab", t1, x68) + del x68 + x76 -= einsum("ijab->ijab", x69) + del x69 + rdm2_f_vvoo -= einsum("abij,ikca->cbjk", l2, x45) * 2 + x48 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x48 += einsum("wxai,wxjb->ijab", lu12, u12) + x130 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x130 += einsum("ia,ijbc->jbac", t1, x48) + x132 += einsum("iabc->iabc", x130) * -1 + rdm2_f_vovv = np.zeros((nvir, nocc, nvir, nvir), dtype=types[float]) + rdm2_f_vovv += einsum("iabc->bica", x132) + rdm2_f_vovv += einsum("iabc->ciba", x132) * -2 + del x132 + x133 += einsum("iabc->iabc", x130) * -2 + del x130 + rdm2_f_vvvo = np.zeros((nvir, nvir, nvir, nocc), dtype=types[float]) + rdm2_f_vvvo += einsum("iabc->baci", x133) * -1 + rdm2_f_vvvo += einsum("iabc->cabi", x133) * 0.5 + del x133 + rdm2_f_oovv += einsum("ijab->ijba", x48) * -1 + rdm2_f_ovvo += einsum("ijab->iabj", x48) * 2 + rdm2_f_voov += einsum("ijab->bjia", x48) * 2 + rdm2_f_vvoo += einsum("ijab->baij", x48) * -1 + del x48 + x49 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x49 += einsum("wai,wjb->ijab", lu11, u11) + rdm2_f_oovv -= einsum("ijab->ijba", x49) * 2 + rdm2_f_ovvo += einsum("ijab->iabj", x49) * 4 + rdm2_f_voov += einsum("ijab->bjia", x49) * 4 + rdm2_f_vvoo -= einsum("ijab->baij", x49) * 2 + del x49 + x50 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x50 -= einsum("abij->jiab", l2) + x50 += einsum("abij->jiba", l2) * 2 + x60 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x60 += einsum("ijab,ikbc->jkac", x45, x50) + del x45 + rdm2_f_ovvo += einsum("ijab->jbai", x60) * 2 + rdm2_f_voov += einsum("ijab->aijb", x60) * 2 + del x60 + rdm2_f_oovv -= einsum("ijab,ikac->kjbc", t2, x50) * 2 + del x50 + x51 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x51 += einsum("abij->jiab", l2) * 2 + x51 -= einsum("abij->jiba", l2) + x66 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x66 += einsum("ijab,ikca->kjcb", t2, x51) + x67 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x67 += einsum("ijab,ikbc->kjca", t2, x66) + x76 += einsum("ijab->ijab", x67) + del x67 + x90 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x90 += einsum("ijab,ikac->kjcb", t2, x66) + del x66 + x91 += einsum("ijab->ijab", x90) * 2 + del x90 + rdm2_f_oovv -= einsum("ijab,ikbc->kjac", t2, x51) * 2 + del x51 + x54 = np.zeros((nvir, nvir), dtype=types[float]) + x54 += einsum("ai,ib->ab", l1, t1) + x59 = np.zeros((nvir, nvir), dtype=types[float]) + x59 += einsum("ab->ab", x54) * 0.5 + x63 = np.zeros((nvir, nvir), dtype=types[float]) + x63 += einsum("ab->ab", x54) + x128 = np.zeros((nvir, nvir), dtype=types[float]) + x128 += einsum("ab->ab", x54) + del x54 + x55 = np.zeros((nvir, nvir), dtype=types[float]) + x55 += einsum("wai,wib->ab", lu11, u11) + x59 += einsum("ab->ab", x55) * 0.5 + x63 += einsum("ab->ab", x55) + x64 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x64 += einsum("ab,ijac->jicb", x55, t2) + x76 += einsum("ijab->ijab", x64) + del x64 + rdm2_f_vovo -= einsum("ijab->aibj", x76) * 4 + rdm2_f_vovo += einsum("ijab->biaj", x76) * 2 + rdm2_f_vovo += einsum("ijab->ajbi", x76) * 2 + rdm2_f_vovo -= einsum("ijab->bjai", x76) * 4 + del x76 + x128 += einsum("ab->ab", x55) + del x55 + x129 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x129 += einsum("ia,bc->ibac", t1, x128) + del x128 + x56 = np.zeros((nvir, nvir), dtype=types[float]) + x56 += einsum("wxai,wxib->ab", lu12, u12) + x59 += einsum("ab->ab", x56) * 0.25 + x63 += einsum("ab->ab", x56) * 0.5 + x96 = np.zeros((nvir, nvir), dtype=types[float]) + x96 += einsum("ab->ab", x56) + del x56 + x57 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x57 += einsum("abij->jiab", l2) + x57 += einsum("abij->jiba", l2) * -0.5 + x58 = np.zeros((nvir, nvir), dtype=types[float]) + x58 += einsum("ijab,ijca->cb", t2, x57) + x59 += einsum("ab->ab", x58) + del x58 + rdm2_f_oovv += einsum("ij,ab->jiba", delta_oo, x59) * 8 + rdm2_f_vvoo += einsum("ij,ab->baji", delta_oo, x59) * 8 + del x59 + x62 = np.zeros((nvir, nvir), dtype=types[float]) + x62 += einsum("ijab,ijca->cb", t2, x57) * 2 + x63 += einsum("ab->ab", x62) + del x62 + rdm2_f_ovvo += einsum("ij,ab->jabi", delta_oo, x63) * -2 + rdm2_f_voov += einsum("ij,ab->bija", delta_oo, x63) * -2 + del x63 + x95 = np.zeros((nvir, nvir), dtype=types[float]) + x95 += einsum("ijab,ijca->cb", t2, x57) * 4 + del x57 + x96 += einsum("ab->ab", x95) + del x95 + x97 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x97 += einsum("ab,ijac->ijbc", x96, t2) * 2 + x103 += einsum("ijab->jiba", x97) + del x97 + rdm2_f_vovo += einsum("ijab->aibj", x103) * -1 + rdm2_f_vovo += einsum("ijab->biaj", x103) * 0.5 + rdm2_f_vovo += einsum("ijab->ajbi", x103) * 0.5 + rdm2_f_vovo += einsum("ijab->bjai", x103) * -1 + del x103 + rdm2_f_vovv += einsum("ia,bc->aicb", t1, x96) * 2 + rdm2_f_vovv += einsum("ia,bc->ciab", t1, x96) * -1 + rdm2_f_vvvo += einsum("ia,bc->abci", t1, x96) * -1 + rdm2_f_vvvo += einsum("ia,bc->cbai", t1, x96) * 2 + del x96 + x77 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x77 += einsum("wx,xia->wia", ls2, u11) + x78 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x78 += einsum("wia,wjb->jiba", u11, x77) + del x77 + rdm2_f_vovo -= einsum("ijab->biaj", x78) * 2 + rdm2_f_vovo += einsum("ijab->bjai", x78) * 4 + del x78 + x87 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x87 += einsum("abij,kjbc->ikac", l2, t2) + x88 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x88 += einsum("ijab,jkac->ikbc", t2, x87) + del x87 + x91 += einsum("ijab->ijab", x88) + del x88 + x91 += einsum("ijab->jiba", t2) + rdm2_f_vovo -= einsum("ijab->biaj", x91) * 2 + rdm2_f_vovo += einsum("ijab->aibj", x91) * 4 + del x91 + x104 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x104 += einsum("abij,kjac->ikbc", l2, t2) + x105 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x105 += einsum("ijab,jkac->ikbc", t2, x104) + rdm2_f_vovo += einsum("ijab->ajbi", x105) * 4 + rdm2_f_vovo -= einsum("ijab->bjai", x105) * 2 + del x105 + x127 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x127 += einsum("ia,ijbc->jbac", t1, x104) + del x104 + x129 -= einsum("iabc->iabc", x127) + del x127 + x113 += einsum("ia->ia", t1) * -1 + rdm2_f_vovo += einsum("ia,jb->aibj", t1, x113) * -4 + rdm2_f_vovo += einsum("ia,jb->biaj", t1, x113) * 2 + del x113 + x115 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x115 += einsum("ia,bcji->jbca", t1, l2) + x135 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) + x135 += einsum("ia,ibcd->cbda", t1, x115) + rdm2_f_vvvv = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) + rdm2_f_vvvv -= einsum("abcd->cbda", x135) * 2 + rdm2_f_vvvv += einsum("abcd->dbca", x135) * 4 + del x135 + rdm2_f_ovvv = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + rdm2_f_ovvv += einsum("iabc->iacb", x115) * 4 + rdm2_f_ovvv -= einsum("iabc->ibca", x115) * 2 + rdm2_f_vvov = np.zeros((nvir, nvir, nocc, nvir), dtype=types[float]) + rdm2_f_vvov -= einsum("iabc->caib", x115) * 2 + rdm2_f_vvov += einsum("iabc->cbia", x115) * 4 + del x115 + x116 = np.zeros((nbos, nvir, nvir), dtype=types[float]) + x116 += einsum("ia,wbi->wba", t1, lu11) + x117 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x117 += einsum("wia,wbc->ibca", u11, x116) + del x116 + x123 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x123 -= einsum("iabc->iabc", x117) + del x117 + x118 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x118 += einsum("abij,kjca->ikbc", l2, t2) + x121 += einsum("ijab->ijab", x118) + del x118 + x122 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x122 += einsum("ia,ijbc->jabc", t1, x121) + del x121 + x123 += einsum("iabc->ibac", x122) + del x122 + rdm2_f_vovv += einsum("iabc->bica", x123) * 2 + rdm2_f_vovv -= einsum("iabc->ciba", x123) * 4 + rdm2_f_vvvo -= einsum("iabc->baci", x123) * 4 + rdm2_f_vvvo += einsum("iabc->cabi", x123) * 2 + del x123 + x124 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x124 += einsum("ai,jibc->jabc", l1, t2) + x129 += einsum("iabc->iabc", x124) + del x124 + x125 = np.zeros((nbos, nvir, nvir), dtype=types[float]) + x125 += einsum("wia,xwbi->xba", u11, lu12) + x126 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x126 += einsum("wia,wbc->ibac", u11, x125) + del x125 + x129 += einsum("iabc->iabc", x126) + del x126 + rdm2_f_vovv += einsum("iabc->bica", x129) * 4 + rdm2_f_vovv -= einsum("iabc->ciba", x129) * 2 + rdm2_f_vvvo -= einsum("iabc->baci", x129) * 2 + rdm2_f_vvvo += einsum("iabc->cabi", x129) * 4 + del x129 + x134 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) + x134 += einsum("abij,ijcd->abcd", l2, t2) + rdm2_f_vvvv += einsum("abcd->cbda", x134) * -2 + rdm2_f_vvvv += einsum("abcd->dbca", x134) * 4 + del x134 + rdm2_f_oooo += einsum("ij,kl->jilk", delta_oo, delta_oo) * 4 + rdm2_f_oooo -= einsum("ij,kl->ljik", delta_oo, delta_oo) * 2 + rdm2_f_ooov += einsum("ij,ak->jika", delta_oo, l1) * 4 + rdm2_f_ooov -= einsum("ij,ak->kija", delta_oo, l1) * 2 + rdm2_f_ovoo -= einsum("ij,ak->jaki", delta_oo, l1) * 2 + rdm2_f_ovoo += einsum("ij,ak->kaji", delta_oo, l1) * 4 + rdm2_f_ovov = np.zeros((nocc, nvir, nocc, nvir), dtype=types[float]) + rdm2_f_ovov -= einsum("abij->jaib", l2) * 2 + rdm2_f_ovov += einsum("abij->jbia", l2) * 4 + rdm2_f_oovv -= einsum("ai,jb->ijba", l1, t1) * 2 + rdm2_f_ovvo += einsum("ai,jb->iabj", l1, t1) * 4 + rdm2_f_voov += einsum("ai,jb->bjia", l1, t1) * 4 + rdm2_f_vvoo -= einsum("ai,jb->baij", l1, t1) * 2 + + rdm2_f = pack_2e(rdm2_f_oooo, rdm2_f_ooov, rdm2_f_oovo, rdm2_f_ovoo, rdm2_f_vooo, rdm2_f_oovv, rdm2_f_ovov, rdm2_f_ovvo, rdm2_f_voov, rdm2_f_vovo, rdm2_f_vvoo, rdm2_f_ovvv, rdm2_f_vovv, rdm2_f_vvov, rdm2_f_vvvo, rdm2_f_vvvv) + + return rdm2_f + +def make_sing_b_dm(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, s2=None, u11=None, u12=None, l1=None, l2=None, ls1=None, ls2=None, lu11=None, lu12=None, **kwargs): + # Get boson coupling creation array: + gc = Namespace( + boo=g.boo.transpose(0, 2, 1), + bov=g.bvo.transpose(0, 2, 1), + bvo=g.bov.transpose(0, 2, 1), + bvv=g.bvv.transpose(0, 2, 1), + ) + + # Single boson DM + dm_b_cre = np.zeros((nbos), dtype=types[float]) + dm_b_cre += einsum("w->w", ls1) + dm_b_des = np.zeros((nbos), dtype=types[float]) + dm_b_des += einsum("wai,xwia->x", lu11, u12) * 2 + dm_b_des += einsum("w,xw->x", ls1, s2) + dm_b_des += einsum("w->w", s1) + dm_b_des += einsum("ai,wia->w", l1, u11) * 2 + + dm_b = np.array([dm_b_cre, dm_b_des]) + + return dm_b + +def make_rdm1_b(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, s2=None, u11=None, u12=None, l1=None, l2=None, ls1=None, ls2=None, lu11=None, lu12=None, **kwargs): + # Get boson coupling creation array: + gc = Namespace( + boo=g.boo.transpose(0, 2, 1), + bov=g.bvo.transpose(0, 2, 1), + bvo=g.bov.transpose(0, 2, 1), + bvv=g.bvv.transpose(0, 2, 1), + ) + + # Boson 1RDM + rdm1_b = np.zeros((nbos, nbos), dtype=types[float]) + rdm1_b += einsum("wxai,yxia->wy", lu12, u12) * 2 + rdm1_b += einsum("wx,yx->wy", ls2, s2) + rdm1_b += einsum("w,x->wx", ls1, s1) + rdm1_b += einsum("wai,xia->wx", lu11, u11) * 2 + + return rdm1_b + +def make_eb_coup_rdm(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, s2=None, u11=None, u12=None, l1=None, l2=None, ls1=None, ls2=None, lu11=None, lu12=None, **kwargs): + # Get boson coupling creation array: + gc = Namespace( + boo=g.boo.transpose(0, 2, 1), + bov=g.bvo.transpose(0, 2, 1), + bvo=g.bov.transpose(0, 2, 1), + bvv=g.bvv.transpose(0, 2, 1), + ) + + delta_oo = np.eye(nocc) + delta_vv = np.eye(nvir) + + # Boson-fermion coupling RDM + x0 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x0 += einsum("wia,xwaj->xji", u11, lu12) + x5 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x5 += einsum("wij->wij", x0) + x8 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x8 += einsum("wx,xij->wij", s2, x0) + x30 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x30 += einsum("wij->wij", x8) + rdm_eb_des_oo = np.zeros((nbos, nocc, nocc), dtype=types[float]) + rdm_eb_des_oo -= einsum("wij->wji", x8) * 2 + del x8 + x36 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x36 += einsum("wij->wij", x0) + rdm_eb_cre_oo = np.zeros((nbos, nocc, nocc), dtype=types[float]) + rdm_eb_cre_oo -= einsum("wij->wji", x0) * 2 + del x0 + x1 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x1 += einsum("ia,waj->wji", t1, lu11) + x5 += einsum("wij->wij", x1) + rdm_eb_cre_ov = np.zeros((nbos, nocc, nvir), dtype=types[float]) + rdm_eb_cre_ov -= einsum("ia,wij->wja", t1, x5) * 2 + rdm_eb_des_ov = np.zeros((nbos, nocc, nvir), dtype=types[float]) + rdm_eb_des_ov -= einsum("wij,wxia->xja", x5, u12) * 2 + del x5 + x36 += einsum("wij->wij", x1) + x38 = np.zeros((nocc, nvir), dtype=types[float]) + x38 += einsum("wia,wij->ja", u11, x36) * 0.9999999999999993 + del x36 + rdm_eb_cre_oo -= einsum("wij->wji", x1) * 2 + del x1 + x2 = np.zeros((nbos, nbos, nocc, nocc), dtype=types[float]) + x2 += einsum("ia,wxaj->wxji", t1, lu12) + x3 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x3 += einsum("wia,xwij->xja", u11, x2) + rdm_eb_cre_ov -= einsum("wia->wia", x3) * 2 + rdm_eb_des_ov -= einsum("wx,xia->wia", s2, x3) * 2 + del x3 + x38 += einsum("wxia,wxij->ja", u12, x2) * 0.49999999999999967 + del x2 + x4 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x4 -= einsum("ijab->jiab", t2) + x4 += einsum("ijab->jiba", t2) * 2 + rdm_eb_cre_ov += einsum("wai,ijab->wjb", lu11, x4) * 2 + x6 = np.zeros((nbos, nvir, nvir), dtype=types[float]) + x6 += einsum("wia,xwbi->xba", u11, lu12) + rdm_eb_cre_vv = np.zeros((nbos, nvir, nvir), dtype=types[float]) + rdm_eb_cre_vv += einsum("wab->wab", x6) * 2 + rdm_eb_des_ov -= einsum("wab,xwia->xib", x6, u12) * 2 + rdm_eb_des_vv = np.zeros((nbos, nvir, nvir), dtype=types[float]) + rdm_eb_des_vv += einsum("wx,xab->wab", s2, x6) * 2 + del x6 + x7 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x7 += einsum("wai,xwja->xij", lu11, u12) + x30 += einsum("wij->wij", x7) + rdm_eb_des_oo -= einsum("wij->wji", x7) * 2 + del x7 + x9 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x9 += einsum("ai,wja->wij", l1, u11) + x30 += einsum("wij->wij", x9) + rdm_eb_des_oo -= einsum("wij->wji", x9) * 2 + del x9 + x10 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x10 += einsum("wx,xai->wia", s2, lu11) + x13 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x13 += einsum("wia->wia", x10) + rdm_eb_des_vo = np.zeros((nbos, nvir, nocc), dtype=types[float]) + rdm_eb_des_vo += einsum("wia->wai", x10) * 2 + del x10 + x11 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x11 += einsum("abij->jiab", l2) * 2 + x11 -= einsum("abij->jiba", l2) + x12 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x12 += einsum("wia,ijba->wjb", u11, x11) + del x11 + x13 += einsum("wia->wia", x12) + del x12 + x14 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x14 += einsum("ia,wja->wji", t1, x13) + x30 += einsum("wij->wij", x14) + rdm_eb_des_ov -= einsum("ia,wij->wja", t1, x30) * 2 + del x30 + rdm_eb_des_oo -= einsum("wij->wji", x14) * 2 + del x14 + rdm_eb_des_ov += einsum("wia,ijab->wjb", x13, x4) * 2 + del x4 + rdm_eb_des_vv += einsum("ia,wib->wba", t1, x13) * 2 + del x13 + x15 = np.zeros((nocc, nocc), dtype=types[float]) + x15 += einsum("ai,ja->ij", l1, t1) + x20 = np.zeros((nocc, nocc), dtype=types[float]) + x20 += einsum("ij->ij", x15) + x31 = np.zeros((nocc, nocc), dtype=types[float]) + x31 += einsum("ij->ij", x15) + x37 = np.zeros((nocc, nocc), dtype=types[float]) + x37 += einsum("ij->ij", x15) + del x15 + x16 = np.zeros((nocc, nocc), dtype=types[float]) + x16 += einsum("wai,wja->ij", lu11, u11) + x20 += einsum("ij->ij", x16) + x31 += einsum("ij->ij", x16) + x37 += einsum("ij->ij", x16) + del x16 + x17 = np.zeros((nocc, nocc), dtype=types[float]) + x17 += einsum("wxai,wxja->ij", lu12, u12) + x20 += einsum("ij->ij", x17) * 0.5 + x31 += einsum("ij->ij", x17) * 0.5 + x37 += einsum("ij->ij", x17) * 0.5 + del x17 + x18 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x18 += einsum("ijab->jiab", t2) + x18 += einsum("ijab->jiba", t2) * -0.5 + x19 = np.zeros((nocc, nocc), dtype=types[float]) + x19 += einsum("abij,ikba->jk", l2, x18) * 2 + x20 += einsum("ij->ij", x19) + x31 += einsum("ij->ij", x19) + del x19 + rdm_eb_des_ov += einsum("ij,wia->wja", x31, u11) * -2 + del x31 + x37 += einsum("abij,ikba->jk", l2, x18) * 2.0000000000000013 + del x18 + x38 += einsum("ia,ij->ja", t1, x37) * 0.9999999999999993 + del x37 + x20 += einsum("ij->ji", delta_oo) * -1 + rdm_eb_des_oo += einsum("w,ij->wji", s1, x20) * -2 + del x20 + x21 = np.zeros((nbos), dtype=types[float]) + x21 += einsum("w,xw->x", ls1, s2) + x24 = np.zeros((nbos), dtype=types[float]) + x24 += einsum("w->w", x21) + del x21 + x22 = np.zeros((nbos), dtype=types[float]) + x22 += einsum("ai,wia->w", l1, u11) + x24 += einsum("w->w", x22) * 2 + del x22 + x23 = np.zeros((nbos), dtype=types[float]) + x23 += einsum("wai,xwia->x", lu11, u12) + x24 += einsum("w->w", x23) * 2 + del x23 + rdm_eb_des_oo += einsum("w,ij->wji", x24, delta_oo) * 2 + rdm_eb_des_ov += einsum("w,ia->wia", x24, t1) * 2 + del x24 + x25 = np.zeros((nbos, nbos, nbos), dtype=types[float]) + x25 += einsum("wia,xyai->xyw", u11, lu12) + rdm_eb_des_ov += einsum("wxy,wxia->yia", x25, u12) * 2 + del x25 + x26 = np.zeros((nvir, nvir), dtype=types[float]) + x26 += einsum("wai,wib->ab", lu11, u11) + x29 = np.zeros((nvir, nvir), dtype=types[float]) + x29 += einsum("ab->ab", x26) + x40 = np.zeros((nvir, nvir), dtype=types[float]) + x40 += einsum("ab->ab", x26) * 2 + del x26 + x27 = np.zeros((nvir, nvir), dtype=types[float]) + x27 += einsum("wxai,wxib->ab", lu12, u12) + x29 += einsum("ab->ab", x27) * 0.5 + x40 += einsum("ab->ab", x27) + del x27 + x28 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x28 += einsum("abij->jiab", l2) * -0.5 + x28 += einsum("abij->jiba", l2) + x29 += einsum("ijab,ijcb->ca", t2, x28) * 2 + rdm_eb_des_ov += einsum("ab,wia->wib", x29, u11) * -2 + del x29 + x40 += einsum("ijab,ijcb->ca", t2, x28) * 4 + del x28 + x32 = np.zeros((nbos, nbos), dtype=types[float]) + x32 += einsum("wx,yw->xy", ls2, s2) + x32 += einsum("wai,xia->wx", lu11, u11) * 2 + x32 += einsum("wxai,ywia->xy", lu12, u12) * 2 + rdm_eb_des_ov += einsum("wx,wia->xia", x32, u11) * 2 + del x32 + x33 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x33 += einsum("ia,abjk->kjib", t1, l2) + x34 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x34 += einsum("ijka->ijka", x33) * -0.5 + x34 += einsum("ijka->jika", x33) + del x33 + x38 += einsum("ijab,ijkb->ka", t2, x34) * 2 + del x34 + x35 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x35 += einsum("ijab->jiab", t2) * -1 + x35 += einsum("ijab->jiba", t2) * 2 + x38 += einsum("ai,ijab->jb", l1, x35) * -0.9999999999999993 + del x35 + x38 += einsum("ia->ia", t1) * -0.9999999999999993 + x38 += einsum("w,wia->ia", ls1, u11) * -0.9999999999999993 + x38 += einsum("wx,wxia->ia", ls2, u12) * -0.49999999999999967 + rdm_eb_des_ov += einsum("w,ia->wia", s1, x38) * -2.0000000000000013 + del x38 + x39 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x39 -= einsum("abij->jiab", l2) + x39 += einsum("abij->jiba", l2) * 2 + rdm_eb_des_vo += einsum("wia,ijab->wbj", u11, x39) * 2 + del x39 + x40 += einsum("ai,ib->ab", l1, t1) * 2 + rdm_eb_des_vv += einsum("w,ab->wab", s1, x40) + del x40 + rdm_eb_cre_oo += einsum("w,ij->wji", ls1, delta_oo) * 2 + rdm_eb_cre_ov += einsum("wx,xia->wia", ls2, u11) * 2 + rdm_eb_cre_ov += einsum("w,ia->wia", ls1, t1) * 2 + rdm_eb_cre_vo = np.zeros((nbos, nvir, nocc), dtype=types[float]) + rdm_eb_cre_vo += einsum("wai->wai", lu11) * 2 + rdm_eb_cre_vv += einsum("ia,wbi->wba", t1, lu11) * 2 + rdm_eb_des_ov += einsum("wia->wia", u11) * 2 + rdm_eb_des_ov += einsum("w,xwia->xia", ls1, u12) * 2 + rdm_eb_des_vo += einsum("w,ai->wai", s1, l1) * 2 + rdm_eb_des_vv += einsum("wai,xwib->xab", lu11, u12) * 2 + rdm_eb_des_vv += einsum("ai,wib->wab", l1, u11) * 2 + + rdm_eb = np.array([ + np.block([[rdm_eb_cre_oo, rdm_eb_cre_ov], [rdm_eb_cre_vo, rdm_eb_cre_vv]]), + np.block([[rdm_eb_des_oo, rdm_eb_des_ov], [rdm_eb_des_vo, rdm_eb_des_vv]]), + ]) + + return rdm_eb + diff --git a/ebcc/codegen/RCCSD_S_1_1.py b/ebcc/codegen/RCCSD_S_1_1.py new file mode 100644 index 00000000..33607528 --- /dev/null +++ b/ebcc/codegen/RCCSD_S_1_1.py @@ -0,0 +1,2072 @@ +# Code generated for ebcc. + +from ebcc import numpy as np +from ebcc.util import pack_2e, einsum, Namespace +from ebcc.precision import types + +def energy(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, u11=None, **kwargs): + # Energy + x0 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x0 += einsum("iajb->jiab", v.ovov) + x0 += einsum("iajb->jiba", v.ovov) * -0.5 + e_cc = 0 + e_cc += einsum("ijab,ijba->", t2, x0) * 2 + del x0 + x1 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x1 += einsum("iajb->jiab", v.ovov) * -0.5 + x1 += einsum("iajb->jiba", v.ovov) + x2 = np.zeros((nocc, nvir), dtype=types[float]) + x2 += einsum("ia,ijab->jb", t1, x1) + del x1 + x2 += einsum("ia->ia", f.ov) + e_cc += einsum("ia,ia->", t1, x2) * 2 + del x2 + x3 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x3 += einsum("wia->wia", u11) + x3 += einsum("w,ia->wia", s1, t1) + e_cc += einsum("wia,wia->", g.bov, x3) * 2 + del x3 + e_cc += einsum("w,w->", G, s1) + + return e_cc + +def update_amps(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, u11=None, **kwargs): + # Get boson coupling creation array: + gc = Namespace( + boo=g.boo.transpose(0, 2, 1), + bov=g.bvo.transpose(0, 2, 1), + bvo=g.bov.transpose(0, 2, 1), + bvv=g.bvv.transpose(0, 2, 1), + ) + + # T1, T2, S1 and U11 amplitudes + x0 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x0 += einsum("ia,jakb->ikjb", t1, v.ovov) + x1 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x1 += einsum("ijka->ijka", x0) * 2 + x1 += einsum("ijka->ikja", x0) * -1 + x27 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x27 += einsum("ia,jkla->jilk", t1, x0) + x88 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x88 += einsum("ijkl->lkji", x27) + t2new = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + t2new += einsum("ijab,klji->lkab", t2, x27) + del x27 + x35 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x35 += einsum("ijab,kjla->kilb", t2, x0) + x41 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x41 -= einsum("ijka->ikja", x35) + del x35 + x36 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x36 -= einsum("ijka->ijka", x0) + x36 += einsum("ijka->ikja", x0) * 2 + x37 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x37 += einsum("ijab,klia->jklb", t2, x36) + del x36 + x41 += einsum("ijka->jkia", x37) + del x37 + x65 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x65 += einsum("ijab,klja->kilb", t2, x0) + del x0 + x69 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x69 -= einsum("ijka->kija", x65) + del x65 + x1 += einsum("ijka->jika", v.ooov) * -1 + x1 += einsum("ijka->jkia", v.ooov) * 2 + t1new = np.zeros((nocc, nvir), dtype=types[float]) + t1new += einsum("ijab,kija->kb", t2, x1) * -2 + del x1 + x2 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x2 += einsum("iabc->ibac", v.ovvv) * -0.5 + x2 += einsum("iabc->ibca", v.ovvv) + t1new += einsum("ijab,icba->jc", t2, x2) * 4 + del x2 + x3 = np.zeros((nocc, nvir), dtype=types[float]) + x3 += einsum("w,wia->ia", s1, g.bov) + x6 = np.zeros((nocc, nvir), dtype=types[float]) + x6 += einsum("ia->ia", x3) + x19 = np.zeros((nocc, nvir), dtype=types[float]) + x19 += einsum("ia->ia", x3) * 0.5 + x98 = np.zeros((nocc, nvir), dtype=types[float]) + x98 += einsum("ia->ia", x3) + del x3 + x4 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x4 += einsum("iajb->jiab", v.ovov) * 2 + x4 -= einsum("iajb->jiba", v.ovov) + x5 = np.zeros((nocc, nvir), dtype=types[float]) + x5 += einsum("ia,ijba->jb", t1, x4) + x6 += einsum("ia->ia", x5) + del x5 + x92 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x92 += einsum("wia,ijba->wjb", u11, x4) + del x4 + x93 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x93 += einsum("wia->wia", x92) + del x92 + x6 += einsum("ia->ia", f.ov) + x68 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x68 += einsum("ia,jkab->jkib", x6, t2) + x69 += einsum("ijka->kjia", x68) + del x68 + x71 = np.zeros((nocc, nocc), dtype=types[float]) + x71 += einsum("ia,ja->ij", t1, x6) + x72 = np.zeros((nocc, nocc), dtype=types[float]) + x72 += einsum("ij->ij", x71) + del x71 + s1new = np.zeros((nbos), dtype=types[float]) + s1new += einsum("ia,wia->w", x6, u11) * 2 + x7 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x7 -= einsum("ijab->jiab", t2) + x7 += einsum("ijab->jiba", t2) * 2 + t1new += einsum("ia,ijab->jb", x6, x7) * 2 + del x6 + x8 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x8 += einsum("iabj->ijba", v.ovvo) * 2 + x8 -= einsum("ijab->ijab", v.oovv) + t1new += einsum("ia,ijba->jb", t1, x8) * 2 + u11new = np.zeros((nbos, nocc, nvir), dtype=types[float]) + u11new += einsum("wia,ijba->wjb", u11, x8) + del x8 + x9 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x9 += einsum("ia,wja->wji", t1, g.bov) + x10 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x10 += einsum("wij->wij", x9) + del x9 + x10 += einsum("wij->wij", g.boo) + x49 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x49 += einsum("ia,wij->wja", t1, x10) + x50 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x50 -= einsum("wia->wia", x49) + del x49 + t1new -= einsum("wia,wij->ja", u11, x10) * 2 + del x10 + x11 = np.zeros((nocc, nocc), dtype=types[float]) + x11 += einsum("w,wij->ij", s1, g.boo) + x21 = np.zeros((nocc, nocc), dtype=types[float]) + x21 += einsum("ij->ij", x11) + x72 += einsum("ij->ji", x11) + del x11 + x12 = np.zeros((nocc, nocc), dtype=types[float]) + x12 += einsum("wia,wja->ij", g.bov, u11) + x21 += einsum("ij->ij", x12) + x54 = np.zeros((nocc, nocc), dtype=types[float]) + x54 += einsum("ij->ij", x12) + del x12 + x13 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x13 += einsum("iajb->jiab", v.ovov) * -0.5 + x13 += einsum("iajb->jiba", v.ovov) + x14 = np.zeros((nocc, nocc), dtype=types[float]) + x14 += einsum("ijab,ikab->jk", t2, x13) * 2 + x21 += einsum("ij->ji", x14) + del x14 + x80 = np.zeros((nvir, nvir), dtype=types[float]) + x80 += einsum("ijab,ijac->bc", t2, x13) + x81 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x81 += einsum("ab,ijbc->ijca", x80, t2) * 2 + del x80 + x84 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x84 += einsum("ijab->jiab", x81) + del x81 + x82 = np.zeros((nocc, nocc), dtype=types[float]) + x82 += einsum("ijab,ikab->jk", t2, x13) + del x13 + x83 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x83 += einsum("ij,jkab->kiab", x82, t2) * 2 + del x82 + x84 += einsum("ijab->ijba", x83) + del x83 + x15 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x15 += einsum("ijka->ikja", v.ooov) + x15 += einsum("ijka->kija", v.ooov) * -0.5 + x16 = np.zeros((nocc, nocc), dtype=types[float]) + x16 += einsum("ia,jika->jk", t1, x15) * 2 + del x15 + x21 += einsum("ij->ij", x16) + del x16 + x17 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x17 += einsum("iajb->jiab", v.ovov) + x17 += einsum("iajb->jiba", v.ovov) * -0.5 + x18 = np.zeros((nocc, nvir), dtype=types[float]) + x18 += einsum("ia,ijba->jb", t1, x17) + x19 += einsum("ia->ia", x18) + del x18 + x96 = np.zeros((nocc, nvir), dtype=types[float]) + x96 += einsum("ia,ijba->jb", t1, x17) * 2 + del x17 + x97 = np.zeros((nvir, nvir), dtype=types[float]) + x97 += einsum("ia,ib->ab", t1, x96) * -1 + del x96 + x19 += einsum("ia->ia", f.ov) * 0.5 + x20 = np.zeros((nocc, nocc), dtype=types[float]) + x20 += einsum("ia,ja->ij", t1, x19) * 2 + del x19 + x21 += einsum("ij->ji", x20) + del x20 + x21 += einsum("ij->ij", f.oo) + t1new += einsum("ia,ij->ja", t1, x21) * -2 + u11new += einsum("ij,wia->wja", x21, u11) * -1 + del x21 + x22 = np.zeros((nvir, nvir), dtype=types[float]) + x22 += einsum("w,wab->ab", s1, g.bvv) + x25 = np.zeros((nvir, nvir), dtype=types[float]) + x25 += einsum("ab->ab", x22) + x74 = np.zeros((nvir, nvir), dtype=types[float]) + x74 += einsum("ab->ab", x22) + x97 += einsum("ab->ab", x22) + del x22 + x23 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x23 -= einsum("iabc->ibac", v.ovvv) + x23 += einsum("iabc->ibca", v.ovvv) * 2 + x24 = np.zeros((nvir, nvir), dtype=types[float]) + x24 += einsum("ia,ibca->bc", t1, x23) + x25 += einsum("ab->ab", x24) + x44 = np.zeros((nvir, nvir), dtype=types[float]) + x44 -= einsum("ab->ab", x24) + del x24 + x59 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x59 += einsum("ia,jbac->ijbc", t1, x23) + x60 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x60 += einsum("ijab,kica->jkbc", t2, x59) + del x59 + x76 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x76 -= einsum("ijab->jiab", x60) + del x60 + x100 = np.zeros((nbos, nvir, nvir), dtype=types[float]) + x100 += einsum("wia,ibca->wbc", u11, x23) + del x23 + x25 += einsum("ab->ab", f.vv) + t1new += einsum("ia,ba->ib", t1, x25) * 2 + del x25 + x26 = np.zeros((nbos), dtype=types[float]) + x26 += einsum("w->w", G) + x26 += einsum("ia,wia->w", t1, g.bov) * 2 + t1new += einsum("w,wia->ia", x26, u11) * 2 + del x26 + x28 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x28 += einsum("ia,bacd->icbd", t1, v.vvvv) + t2new += einsum("ia,jbca->ijbc", t1, x28) + del x28 + x29 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x29 += einsum("ia,jabc->ijbc", t1, v.ovvv) + x30 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x30 += einsum("ijab,kjca->kibc", t2, x29) + del x29 + x56 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x56 += einsum("ijab->ijab", x30) + del x30 + x31 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x31 -= einsum("iajb->jiab", v.ovov) + x31 += einsum("iajb->jiba", v.ovov) * 2 + x32 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x32 += einsum("ijab,ikbc->jkac", t2, x31) + x33 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x33 += einsum("ijab,kica->jkbc", t2, x32) + del x32 + x56 += einsum("ijab->ijab", x33) + del x33 + x85 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x85 += einsum("ijab,ikac->jkbc", t2, x31) * 2 + del x31 + x34 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x34 += einsum("ijab,jkla->ilkb", t2, v.ooov) + x41 -= einsum("ijka->ijka", x34) + del x34 + x38 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x38 += einsum("ia,jbca->ijcb", t1, v.ovvv) + x39 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x39 += einsum("ijab->jiab", x38) + x58 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x58 += einsum("ijab,kjca->kibc", t2, x38) + del x38 + x76 += einsum("ijab->ijab", x58) + del x58 + x39 += einsum("iabj->ijba", v.ovvo) + x40 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x40 += einsum("ia,jkba->ijkb", t1, x39) + del x39 + x41 += einsum("ijka->ijka", x40) + del x40 + x42 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x42 += einsum("ia,jikb->jkab", t1, x41) + del x41 + x56 += einsum("ijab->ijab", x42) + del x42 + x43 = np.zeros((nvir, nvir), dtype=types[float]) + x43 += einsum("wia,wib->ab", g.bov, u11) + x44 += einsum("ab->ba", x43) + x45 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x45 += einsum("ab,ijbc->ijca", x44, t2) + del x44 + x56 += einsum("ijab->jiab", x45) + del x45 + x97 += einsum("ab->ba", x43) * -1 + del x43 + x46 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x46 += einsum("ia,wba->wib", t1, g.bvv) + x50 += einsum("wia->wia", x46) + del x46 + x47 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x47 += einsum("ijab->jiab", t2) * 2 + x47 -= einsum("ijab->jiba", t2) + x48 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x48 += einsum("wia,ijba->wjb", g.bov, x47) + del x47 + x50 += einsum("wia->wia", x48) + del x48 + x50 += einsum("wai->wia", g.bvo) + x51 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x51 += einsum("wia,wjb->ijab", u11, x50) + del x50 + x56 -= einsum("ijab->jiba", x51) + del x51 + x52 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x52 += einsum("ijka->ikja", v.ooov) * 2 + x52 -= einsum("ijka->kija", v.ooov) + x53 = np.zeros((nocc, nocc), dtype=types[float]) + x53 += einsum("ia,jika->jk", t1, x52) + x54 += einsum("ij->ij", x53) + del x53 + x55 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x55 += einsum("ij,ikab->kjab", x54, t2) + del x54 + x56 += einsum("ijab->ijba", x55) + del x55 + t2new -= einsum("ijab->ijab", x56) + t2new -= einsum("ijab->jiba", x56) + del x56 + x99 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x99 += einsum("wia,jika->wjk", u11, x52) + del x52 + x57 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x57 += einsum("ia,bjca->ijbc", t1, v.vovv) + x76 -= einsum("ijab->ijab", x57) + del x57 + x61 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x61 += einsum("ia,jkba->ijkb", t1, v.oovv) + x69 += einsum("ijka->jika", x61) + del x61 + x62 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x62 += einsum("ijab,klja->iklb", t2, v.ooov) + x69 -= einsum("ijka->jika", x62) + del x62 + x63 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x63 += einsum("ia,jkla->ijlk", t1, v.ooov) + x64 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x64 += einsum("ia,jkil->jkla", t1, x63) + x69 -= einsum("ijka->jika", x64) + del x64 + x77 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x77 += einsum("ijab,kijl->klab", t2, x63) + del x63 + t2new += einsum("ijab->ijba", x77) + t2new += einsum("ijab->jiab", x77) + del x77 + x66 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x66 -= einsum("ijka->ikja", v.ooov) + x66 += einsum("ijka->kija", v.ooov) * 2 + x67 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x67 += einsum("ijab,ikla->jklb", t2, x66) + del x66 + x69 += einsum("ijka->jika", x67) + del x67 + x70 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x70 += einsum("ia,ijkb->jkab", t1, x69) + del x69 + x76 += einsum("ijab->ijab", x70) + del x70 + x72 += einsum("ij->ji", f.oo) + x73 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x73 += einsum("ij,jkab->kiab", x72, t2) + del x72 + x76 += einsum("ijab->jiba", x73) + del x73 + x74 += einsum("ab->ab", f.vv) + x75 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x75 += einsum("ab,ijbc->ijca", x74, t2) + del x74 + x76 -= einsum("ijab->jiba", x75) + del x75 + t2new -= einsum("ijab->ijba", x76) + t2new -= einsum("ijab->jiab", x76) + del x76 + x78 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x78 += einsum("ijab,kacb->ijkc", t2, v.ovvv) + x79 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x79 += einsum("ia,jkib->jkab", t1, x78) + del x78 + x84 += einsum("ijab->ijab", x79) + del x79 + t2new += einsum("ijab->ijab", x84) * -1 + t2new += einsum("ijab->jiba", x84) * -1 + del x84 + x85 += einsum("iabj->jiba", v.ovvo) * 2 + x85 -= einsum("ijab->jiab", v.oovv) + t2new += einsum("ijab,kica->kjcb", t2, x85) + del x85 + x86 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x86 += einsum("ijab,kalb->ijkl", t2, v.ovov) + x87 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x87 += einsum("ijkl->lkji", x86) + x88 += einsum("ijkl->lkji", x86) + del x86 + x87 += einsum("ijkl->kilj", v.oooo) + t2new += einsum("ijab,ijkl->lkba", t2, x87) + del x87 + x88 += einsum("ijkl->kilj", v.oooo) + x89 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x89 += einsum("ia,ijkl->lkja", t1, x88) * 0.9999999999999993 + del x88 + x89 += einsum("ijak->jkia", v.oovo) * -0.9999999999999993 + t2new += einsum("ia,jkib->jkab", t1, x89) + del x89 + x90 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x90 -= einsum("iabj->jiba", v.ovvo) + x90 += einsum("ijab,jakc->ikbc", t2, v.ovov) + t2new += einsum("ijab,kicb->jkac", t2, x90) + del x90 + x91 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x91 -= einsum("ijab->jiab", v.oovv) + x91 += einsum("ijab,jcka->ikbc", t2, v.ovov) + t2new += einsum("ijab,kicb->jkca", t2, x91) + del x91 + x93 += einsum("wia->wia", gc.bov) + x99 += einsum("ia,wja->wji", t1, x93) + u11new += einsum("wia,ijab->wjb", x93, x7) + del x93 + del x7 + x94 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x94 += einsum("iajb->jiab", v.ovov) * -1 + x94 += einsum("iajb->jiba", v.ovov) * 2 + x97 += einsum("ijab,ijac->bc", t2, x94) * -1 + del x94 + x95 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x95 += einsum("iabc->ibac", v.ovvv) + x95 += einsum("iabc->ibca", v.ovvv) * -0.5 + x97 += einsum("ia,ibac->bc", t1, x95) * 2 + del x95 + x97 += einsum("ab->ab", f.vv) + u11new += einsum("ab,wib->wia", x97, u11) + del x97 + x98 += einsum("ia->ia", f.ov) + x99 += einsum("ia,wja->wij", x98, u11) + del x98 + x99 += einsum("wij->wij", gc.boo) + u11new -= einsum("ia,wij->wja", t1, x99) + del x99 + x100 += einsum("wab->wab", gc.bvv) + u11new += einsum("ia,wba->wib", t1, x100) + del x100 + x101 = np.zeros((nbos, nbos), dtype=types[float]) + x101 += einsum("wx->wx", w) + x101 += einsum("wia,xia->wx", g.bov, u11) * 2 + u11new += einsum("wx,wia->xia", x101, u11) + del x101 + t1new += einsum("wab,wib->ia", g.bvv, u11) * 2 + t1new += einsum("w,wai->ia", s1, g.bvo) * 2 + t1new += einsum("ai->ia", f.vo) * 2 + t2new -= einsum("ijab,jack->kicb", t2, v.ovvo) + t2new -= einsum("ijab,jkca->kibc", t2, v.oovv) + t2new -= einsum("ijab,jkcb->ikac", t2, v.oovv) + t2new += einsum("ijab,jbck->ikac", t2, v.ovvo) * 2 + t2new += einsum("ijab,cadb->jidc", t2, v.vvvv) + t2new -= einsum("ia,ijbk->kjba", t1, v.oovo) + t2new += einsum("aibj->jiba", v.vovo) + s1new += einsum("ia,wia->w", t1, gc.bov) * 2 + s1new += einsum("w,wx->x", s1, w) + s1new += einsum("w->w", G) + u11new += einsum("wai->wia", gc.bvo) + + return {"t1new": t1new, "t2new": t2new, "s1new": s1new, "u11new": u11new} + +def update_lams(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, u11=None, l1=None, l2=None, ls1=None, lu11=None, **kwargs): + # Get boson coupling creation array: + gc = Namespace( + boo=g.boo.transpose(0, 2, 1), + bov=g.bvo.transpose(0, 2, 1), + bvo=g.bov.transpose(0, 2, 1), + bvv=g.bvv.transpose(0, 2, 1), + ) + + # L1, L2, LS1 and LU11 amplitudes + x0 = np.zeros((nocc, nocc), dtype=types[float]) + x0 += einsum("ai,ja->ij", l1, t1) + x87 = np.zeros((nocc, nocc), dtype=types[float]) + x87 += einsum("ij->ij", x0) * 0.5 + x95 = np.zeros((nocc, nocc), dtype=types[float]) + x95 += einsum("ij->ij", x0) + x114 = np.zeros((nocc, nocc), dtype=types[float]) + x114 += einsum("ij->ij", x0) + ls1new = np.zeros((nbos), dtype=types[float]) + ls1new -= einsum("ij,wji->w", x0, g.boo) * 2 + x1 = np.zeros((nocc, nvir), dtype=types[float]) + x1 += einsum("w,wia->ia", s1, g.bov) + x2 = np.zeros((nocc, nvir), dtype=types[float]) + x2 += einsum("ia->ia", x1) + x60 = np.zeros((nocc, nvir), dtype=types[float]) + x60 += einsum("ia->ia", x1) + x69 = np.zeros((nocc, nvir), dtype=types[float]) + x69 += einsum("ia->ia", x1) * 0.5 + x99 = np.zeros((nocc, nvir), dtype=types[float]) + x99 += einsum("ia->ia", x1) + x141 = np.zeros((nocc, nvir), dtype=types[float]) + x141 += einsum("ia->ia", x1) + l1new = np.zeros((nvir, nocc), dtype=types[float]) + l1new -= einsum("ij,ja->ai", x0, x1) + del x0 + del x1 + x2 += einsum("ia->ia", f.ov) + x3 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x3 += einsum("ia,jkab->jkib", x2, t2) * 2 + del x2 + x17 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x17 += einsum("ijka->jkia", x3) * -1 + x17 += einsum("ijka->ikja", x3) * 0.5 + del x3 + x4 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x4 += einsum("ijab,kbca->jikc", t2, v.ovvv) + x7 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x7 += einsum("ijka->ijka", x4) + del x4 + x5 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x5 += einsum("ijab,kalb->ijkl", t2, v.ovov) + x6 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x6 += einsum("ia,jkli->jkla", t1, x5) + x7 += einsum("ijka->ijka", x6) * -1 + del x6 + x17 += einsum("ijka->ikja", x7) + x17 += einsum("ijka->jkia", x7) * -2 + del x7 + x169 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x169 += einsum("ijkl->lkji", x5) + del x5 + x8 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x8 += einsum("iajb->jiba", v.ovov) + x8 += einsum("iajb->jiab", v.ovov) * -0.5 + x9 = np.zeros((nocc, nvir), dtype=types[float]) + x9 += einsum("ia,ijab->jb", t1, x8) + x10 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x10 += einsum("ia,jkab->jkib", x9, t2) * 4 + x17 += einsum("ijka->jkia", x10) * -1 + x17 += einsum("ijka->ikja", x10) * 0.5 + del x10 + x69 += einsum("ia->ia", x9) + del x9 + x59 = np.zeros((nocc, nvir), dtype=types[float]) + x59 += einsum("ia,ijab->jb", t1, x8) * 2 + x60 += einsum("ia->ia", x59) + x177 = np.zeros((nvir, nvir), dtype=types[float]) + x177 += einsum("ia,ib->ab", t1, x59) * -1 + del x59 + x66 = np.zeros((nocc, nocc), dtype=types[float]) + x66 += einsum("ijab,ikab->jk", t2, x8) * 2 + x71 = np.zeros((nocc, nocc), dtype=types[float]) + x71 += einsum("ij->ji", x66) + del x66 + x159 = np.zeros((nvir, nvir), dtype=types[float]) + x159 += einsum("ijab,ijac->bc", t2, x8) + del x8 + x160 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x160 += einsum("ab,acij->ijcb", x159, l2) * 2 + del x159 + x164 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x164 += einsum("ijab->jiab", x160) + del x160 + x11 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x11 += einsum("ia,jbka->ijkb", t1, v.ovov) + x12 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x12 += einsum("ijka->ijka", x11) * -0.5 + x12 += einsum("ijka->ikja", x11) + x13 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x13 += einsum("ijka->ijka", x11) * 2 + x13 += einsum("ijka->ikja", x11) * -1 + x20 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x20 += einsum("ia,jkla->jilk", t1, x11) + x21 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x21 += einsum("ia,jkil->kjla", t1, x20) + x22 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x22 += einsum("ijka->ijka", x21) * 2.0000000000000013 + del x21 + l2new = np.zeros((nvir, nvir, nocc, nocc), dtype=types[float]) + l2new += einsum("abij,ijkl->abkl", l2, x20) + del x20 + x23 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x23 += einsum("ijka->ijka", x11) + x23 += einsum("ijka->ikja", x11) * -0.5 + x58 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x58 += einsum("ijka->jkia", x11) * -1 + x58 += einsum("ijka->kjia", x11) * 2 + x144 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x144 += einsum("ai,ijkb->jkab", l1, x11) + x158 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x158 += einsum("ijab->ijab", x144) + del x144 + x12 += einsum("ijka->jika", v.ooov) + x12 += einsum("ijka->jkia", v.ooov) * -0.5 + x17 += einsum("ijab,kilb->klja", t2, x12) * 2 + del x12 + x13 += einsum("ijka->jika", v.ooov) * -1 + x13 += einsum("ijka->jkia", v.ooov) * 2 + x17 += einsum("ijab,kila->kljb", t2, x13) + del x13 + x14 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x14 += einsum("ijab->ijab", v.oovv) * 2 + x14 += einsum("iabj->ijba", v.ovvo) * -1 + x17 += einsum("ia,jkba->ijkb", t1, x14) * -1 + del x14 + x15 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x15 += einsum("ia,jkla->ijlk", t1, v.ooov) + x16 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x16 += einsum("ijkl->jkil", x15) * -0.5 + x16 += einsum("ijkl->kjil", x15) + x26 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x26 += einsum("ijkl->ijkl", x15) + x26 += einsum("ijkl->ikjl", x15) * -0.5 + x27 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x27 += einsum("ia,jikl->jkla", t1, x26) * 2 + del x26 + x146 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x146 += einsum("abij,jkli->klba", l2, x15) + del x15 + x158 -= einsum("ijab->ijab", x146) + del x146 + x16 += einsum("ijkl->kilj", v.oooo) + x16 += einsum("ijkl->kijl", v.oooo) * -0.5 + x17 += einsum("ia,ijkl->kjla", t1, x16) * 2 + del x16 + x17 += einsum("ijak->jika", v.oovo) + x17 += einsum("ijak->kija", v.oovo) * -2 + l1new += einsum("abij,jkib->ak", l2, x17) + del x17 + x18 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x18 += einsum("ia,jabc->ijbc", t1, v.ovvv) + x19 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x19 += einsum("ia,jkba->jikb", t1, x18) + x22 += einsum("ijka->ijka", x19) * -2 + del x19 + x27 += einsum("ijka->ikja", x22) + x27 += einsum("ijka->jkia", x22) * -0.5 + del x22 + x129 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x129 += einsum("ijab->ijab", x18) + del x18 + x23 += einsum("ijka->jika", v.ooov) * -0.5 + x23 += einsum("ijka->jkia", v.ooov) + x24 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x24 += einsum("ijab->jiba", t2) * -1 + x24 += einsum("ijab->jiab", t2) * 2 + x27 += einsum("ijka,jlba->iklb", x23, x24) * -2 + del x23 + x25 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x25 += einsum("iabj->ijba", v.ovvo) * 2 + x25 += einsum("ijab->ijab", v.oovv) * -1 + x27 += einsum("ia,jkba->ijkb", t1, x25) * -1 + del x25 + l1new += einsum("abij,jkia->bk", l2, x27) + del x27 + x28 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x28 += einsum("ijab->jiba", t2) * 2 + x28 -= einsum("ijab->jiab", t2) + x29 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x29 -= einsum("abij,ikac->jkbc", l2, x28) + x125 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x125 += einsum("iajb,ikac->jkbc", v.ovov, x28) + x126 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x126 += einsum("ijab->jiba", x125) + del x125 + x173 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x173 += einsum("wia,ijab->wjb", g.bov, x28) + x174 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x174 -= einsum("wai,ijab->wjb", lu11, x28) + del x28 + x29 += einsum("abij,kicb->jkac", l2, t2) + x30 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x30 -= einsum("iabc->ibac", v.ovvv) + x30 += einsum("iabc->ibca", v.ovvv) * 2 + l1new -= einsum("ijab,jacb->ci", x29, x30) + del x29 + del x30 + x31 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x31 += einsum("ia,bacd->icbd", t1, v.vvvv) + x32 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x32 += einsum("iabc->ibac", x31) * -0.5 + x32 += einsum("iabc->iabc", x31) + del x31 + x32 += einsum("aibc->ibac", v.vovv) + x32 += einsum("aibc->iabc", v.vovv) * -0.5 + l1new += einsum("abij,ibac->cj", l2, x32) * 2 + del x32 + x33 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x33 += einsum("ai,jkba->ijkb", l1, t2) + x41 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x41 += einsum("ijka->ijka", x33) * -2 + x41 += einsum("ijka->ikja", x33) + del x33 + x34 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x34 += einsum("ia,abjk->kjib", t1, l2) + x35 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x35 += einsum("ia,jkla->jkil", t1, x34) + x36 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x36 += einsum("ia,jikl->jkla", t1, x35) + x41 += einsum("ijka->ijka", x36) * -1 + x41 += einsum("ijka->ikja", x36) * 2.0000000000000013 + del x36 + x52 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x52 += einsum("ijkl->ijlk", x35) * 2 + x52 += einsum("ijkl->ijkl", x35) * -1 + l1new += einsum("ijka,ljik->al", v.ooov, x52) + del x52 + l2new += einsum("iajb,klij->balk", v.ovov, x35) + del x35 + x37 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x37 += einsum("ijka->ijka", x34) * -0.5 + x37 += einsum("ijka->jika", x34) + x41 += einsum("ijab,kila->kljb", t2, x37) * 2 + x45 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x45 += einsum("ijab,kilb->klja", x24, x37) * -1 + del x24 + del x37 + x38 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x38 += einsum("ijka->ijka", x34) * 2 + x38 += einsum("ijka->jika", x34) * -1 + x41 += einsum("ijab,kilb->klja", t2, x38) + del x38 + x46 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x46 += einsum("ijka->ijka", x34) * 2 + x46 -= einsum("ijka->jika", x34) + x47 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x47 += einsum("ia,ijkb->jkba", t1, x46) + l1new -= einsum("iabc,jibc->aj", v.ovvv, x47) + del x47 + x131 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x131 += einsum("ijka,likb->jlab", x11, x46) + x142 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x142 -= einsum("ijab->jiba", x131) + del x131 + l1new -= einsum("iabj,jkib->ak", v.ovvo, x46) + del x46 + x48 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x48 -= einsum("ijka->ijka", x34) + x48 += einsum("ijka->jika", x34) * 2 + x49 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x49 += einsum("ia,ijkb->jkba", t1, x48) + l1new -= einsum("iabc,jiba->cj", v.ovvv, x49) + del x49 + l1new -= einsum("ijab,jkia->bk", v.oovv, x48) + del x48 + x120 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x120 += einsum("ijka,jlib->lkba", v.ooov, x34) + x142 += einsum("ijab->ijab", x120) + del x120 + x121 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x121 += einsum("iabc,jkib->kjac", v.ovvv, x34) + x142 -= einsum("ijab->ijab", x121) + del x121 + x122 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x122 += einsum("ijka,lijb->lkba", x11, x34) + x142 += einsum("ijab->ijab", x122) + del x122 + x147 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x147 += einsum("ijka,jlkb->liba", v.ooov, x34) + x158 -= einsum("ijab->ijab", x147) + del x147 + x148 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x148 += einsum("ijka,iljb->lkba", x11, x34) + del x11 + x158 -= einsum("ijab->ijab", x148) + del x148 + x39 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x39 += einsum("ijab->jiba", t2) + x39 += einsum("ijab->jiab", t2) * -0.5 + x40 = np.zeros((nocc, nocc), dtype=types[float]) + x40 += einsum("abij,ikab->jk", l2, x39) + x41 += einsum("ia,jk->jkia", t1, x40) * 2 + l1new += einsum("iajb,kjib->ak", v.ovov, x41) + del x41 + x87 += einsum("ij->ij", x40) + x167 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x167 += einsum("ij,jakb->kiab", x40, v.ovov) * 2 + x168 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x168 += einsum("ijab->jiba", x167) + del x167 + x171 = np.zeros((nocc, nocc), dtype=types[float]) + x171 += einsum("ij->ij", x40) + l1new += einsum("ia,ji->aj", f.ov, x40) * -2 + del x40 + x44 = np.zeros((nocc, nocc), dtype=types[float]) + x44 += einsum("abij,ikab->jk", l2, x39) * 2 + x45 += einsum("ia,jk->jkia", t1, x44) * -1 + x95 += einsum("ij->ij", x44) + x110 = np.zeros((nocc, nocc), dtype=types[float]) + x110 += einsum("ij->ij", x44) + del x44 + x83 = np.zeros((nocc, nvir), dtype=types[float]) + x83 += einsum("ijka,jiba->kb", x34, x39) + x89 = np.zeros((nocc, nvir), dtype=types[float]) + x89 += einsum("ia->ia", x83) + del x83 + x42 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x42 += einsum("abij,klab->ijkl", l2, t2) + x43 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x43 += einsum("ia,jikl->jkla", t1, x42) + x45 += einsum("ijka->ijka", x43) + x45 += einsum("ijka->ikja", x43) * -0.5 + del x43 + l1new += einsum("iajb,kjia->bk", v.ovov, x45) * 2 + del x45 + x53 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x53 += einsum("ijkl->jilk", x42) + x53 += einsum("ijkl->jikl", x42) * -0.5 + l1new += einsum("ijka,jlik->al", v.ooov, x53) * 2 + del x53 + l2new += einsum("iajb,klji->ablk", v.ovov, x42) + del x42 + x50 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x50 += einsum("abij,kibc->jkac", l2, t2) + x51 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x51 += einsum("iabc->ibac", v.ovvv) * 2 + x51 -= einsum("iabc->ibca", v.ovvv) + x103 = np.zeros((nbos, nvir, nvir), dtype=types[float]) + x103 += einsum("wia,ibac->wbc", u11, x51) + x112 = np.zeros((nvir, nvir), dtype=types[float]) + x112 += einsum("ia,ibac->bc", t1, x51) + x113 = np.zeros((nvir, nvir), dtype=types[float]) + x113 += einsum("ab->ab", x112) + x137 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x137 += einsum("ab,acij->ijcb", x112, l2) + del x112 + x142 += einsum("ijab->jiab", x137) + del x137 + l1new -= einsum("ijab,jacb->ci", x50, x51) + del x50 + x54 = np.zeros((nocc, nvir), dtype=types[float]) + x54 += einsum("w,wai->ia", s1, g.bvo) + x78 = np.zeros((nocc, nvir), dtype=types[float]) + x78 += einsum("ia->ia", x54) * 0.5 + x170 = np.zeros((nocc, nvir), dtype=types[float]) + x170 += einsum("ia->ia", x54) + del x54 + x55 = np.zeros((nocc, nvir), dtype=types[float]) + x55 += einsum("wab,wib->ia", g.bvv, u11) + x78 += einsum("ia->ia", x55) * 0.5 + x170 += einsum("ia->ia", x55) + del x55 + x56 = np.zeros((nocc, nvir), dtype=types[float]) + x56 += einsum("ijab,jkib->ka", t2, v.ooov) + x78 += einsum("ia->ia", x56) * 0.5 + x170 += einsum("ia->ia", x56) + del x56 + x57 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x57 += einsum("ijab->jiba", t2) * -0.5 + x57 += einsum("ijab->jiab", t2) + x78 += einsum("iabc,ijca->jb", v.ovvv, x57) + x93 = np.zeros((nvir, nvir), dtype=types[float]) + x93 += einsum("abij,ijbc->ac", l2, x57) * 2 + x94 = np.zeros((nvir, nvir), dtype=types[float]) + x94 += einsum("ab->ab", x93) + x178 = np.zeros((nvir, nvir), dtype=types[float]) + x178 += einsum("ab->ab", x93) + del x93 + x165 = np.zeros((nvir, nvir), dtype=types[float]) + x165 += einsum("abij,ijbc->ac", l2, x57) + x166 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x166 += einsum("ab,ibjc->ijca", x165, v.ovov) * 2 + del x165 + x168 += einsum("ijab->jiba", x166) + del x166 + l2new += einsum("ijab->baij", x168) * -1 + l2new += einsum("ijab->abji", x168) * -1 + del x168 + x170 += einsum("iabc,ijca->jb", v.ovvv, x57) * 2 + del x57 + x58 += einsum("ijka->ikja", v.ooov) * 2 + x78 += einsum("ijab,jika->kb", t2, x58) * -0.5 + x170 += einsum("ijab,jika->kb", t2, x58) * -1 + del x58 + x60 += einsum("ia->ia", f.ov) + x78 += einsum("ia,ijab->jb", x60, x39) + x170 += einsum("ia,ijab->jb", x60, x39) * 2 + del x60 + del x39 + x61 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x61 += einsum("iabj->ijba", v.ovvo) + x61 += einsum("ijab->ijab", v.oovv) * -0.5 + x78 += einsum("ia,ijba->jb", t1, x61) + x170 += einsum("ia,ijba->jb", t1, x61) * 2 + del x61 + x62 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x62 += einsum("ia,wja->wji", t1, g.bov) + x63 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x63 += einsum("wij->wij", x62) + x104 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x104 += einsum("wij->wij", x62) + del x62 + x63 += einsum("wij->wij", g.boo) + x78 += einsum("wia,wij->ja", u11, x63) * -0.5 + x170 += einsum("wia,wij->ja", u11, x63) * -1 + del x63 + x64 = np.zeros((nocc, nocc), dtype=types[float]) + x64 += einsum("w,wij->ij", s1, g.boo) + x71 += einsum("ij->ij", x64) + x154 = np.zeros((nocc, nocc), dtype=types[float]) + x154 += einsum("ij->ij", x64) + del x64 + x65 = np.zeros((nocc, nocc), dtype=types[float]) + x65 += einsum("wia,wja->ij", g.bov, u11) + x71 += einsum("ij->ij", x65) + x154 += einsum("ij->ij", x65) + del x65 + x67 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x67 += einsum("ijka->ikja", v.ooov) * -0.5 + x67 += einsum("ijka->kija", v.ooov) + x68 = np.zeros((nocc, nocc), dtype=types[float]) + x68 += einsum("ia,ijka->jk", t1, x67) * 2 + del x67 + x71 += einsum("ij->ij", x68) + del x68 + x69 += einsum("ia->ia", f.ov) * 0.5 + x70 = np.zeros((nocc, nocc), dtype=types[float]) + x70 += einsum("ia,ja->ij", t1, x69) * 2 + x71 += einsum("ij->ji", x70) + del x70 + lu11new = np.zeros((nbos, nvir, nocc), dtype=types[float]) + lu11new += einsum("w,ia->wai", ls1, x69) * 4 + del x69 + x71 += einsum("ij->ij", f.oo) + x78 += einsum("ia,ij->ja", t1, x71) * -0.5 + x170 += einsum("ia,ij->ja", t1, x71) * -1 + l1new += einsum("ai,ji->aj", l1, x71) * -1 + lu11new += einsum("ij,waj->wai", x71, lu11) * -1 + del x71 + x72 = np.zeros((nvir, nvir), dtype=types[float]) + x72 += einsum("w,wab->ab", s1, g.bvv) + x75 = np.zeros((nvir, nvir), dtype=types[float]) + x75 += einsum("ab->ab", x72) + x113 += einsum("ab->ab", x72) + x151 = np.zeros((nvir, nvir), dtype=types[float]) + x151 += einsum("ab->ab", x72) + x177 += einsum("ab->ab", x72) + del x72 + x73 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x73 += einsum("iabc->ibac", v.ovvv) + x73 += einsum("iabc->ibca", v.ovvv) * -0.5 + x74 = np.zeros((nvir, nvir), dtype=types[float]) + x74 += einsum("ia,ibac->bc", t1, x73) * 2 + del x73 + x75 += einsum("ab->ab", x74) + x177 += einsum("ab->ab", x74) + del x74 + x75 += einsum("ab->ab", f.vv) + x78 += einsum("ia,ba->ib", t1, x75) * 0.5 + x170 += einsum("ia,ba->ib", t1, x75) + del x75 + x76 = np.zeros((nbos), dtype=types[float]) + x76 += einsum("ia,wia->w", t1, g.bov) + x77 = np.zeros((nbos), dtype=types[float]) + x77 += einsum("w->w", x76) * 2 + del x76 + x77 += einsum("w->w", G) + x78 += einsum("w,wia->ia", x77, u11) * 0.5 + x170 += einsum("w,wia->ia", x77, u11) + del x77 + x78 += einsum("ai->ia", f.vo) * 0.5 + x79 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x79 += einsum("abij->jiba", l2) * 2 + x79 += einsum("abij->jiab", l2) * -1 + l1new += einsum("ia,ijab->bj", x78, x79) * 2 + del x78 + del x79 + x80 = np.zeros((nocc, nvir), dtype=types[float]) + x80 += einsum("w,wia->ia", ls1, u11) + x89 += einsum("ia->ia", x80) * -0.5 + del x80 + x81 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x81 += einsum("ia,waj->wji", t1, lu11) + x82 = np.zeros((nocc, nvir), dtype=types[float]) + x82 += einsum("wia,wij->ja", u11, x81) + x89 += einsum("ia->ia", x82) * 0.5 + del x82 + x174 += einsum("ia,wij->wja", t1, x81) + x84 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x84 += einsum("ijab->jiba", t2) * 2 + x84 += einsum("ijab->jiab", t2) * -1 + x85 = np.zeros((nocc, nvir), dtype=types[float]) + x85 += einsum("ai,ijab->jb", l1, x84) * 0.5 + del x84 + x89 += einsum("ia->ia", x85) * -1 + del x85 + x86 = np.zeros((nocc, nocc), dtype=types[float]) + x86 += einsum("wai,wja->ij", lu11, u11) + x87 += einsum("ij->ij", x86) * 0.5 + x88 = np.zeros((nocc, nvir), dtype=types[float]) + x88 += einsum("ia,ij->ja", t1, x87) + del x87 + x89 += einsum("ia->ia", x88) + del x88 + x95 += einsum("ij->ij", x86) + lu11new += einsum("ij,wja->wai", x95, g.bov) * -1 + x110 += einsum("ij->ij", x86) + x111 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x111 += einsum("w,ij->wij", s1, x110) * 0.5 + del x110 + x114 += einsum("ij->ij", x86) + x156 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x156 += einsum("ij,jakb->kiab", x114, v.ovov) + x158 += einsum("ijab->jiba", x156) + del x156 + x171 += einsum("ij->ij", x86) * 0.5 + del x86 + ls1new += einsum("ij,wji->w", x171, g.boo) * -4 + del x171 + x89 += einsum("ia->ia", t1) * -0.5 + ls1new += einsum("ia,wia->w", x89, g.bov) * -4 + x90 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x90 += einsum("iajb->jiba", v.ovov) * 2 + x90 -= einsum("iajb->jiab", v.ovov) + x98 = np.zeros((nocc, nvir), dtype=types[float]) + x98 += einsum("ia,ijab->jb", t1, x90) + x99 += einsum("ia->ia", x98) + x115 = np.zeros((nocc, nvir), dtype=types[float]) + x115 += einsum("ia->ia", x98) + x134 = np.zeros((nocc, nocc), dtype=types[float]) + x134 += einsum("ia,ja->ij", t1, x98) + x135 = np.zeros((nocc, nocc), dtype=types[float]) + x135 += einsum("ij->ji", x134) + del x134 + x138 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x138 += einsum("ia,jkib->jkba", x98, x34) + x142 -= einsum("ijab->ijab", x138) + del x138 + x142 += einsum("ai,jb->ijab", l1, x98) + del x98 + x100 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x100 += einsum("wia,ijab->wjb", u11, x90) + x101 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x101 += einsum("wia->wia", x100) + x139 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x139 += einsum("wai,wjb->ijab", lu11, x100) + del x100 + x142 += einsum("ijab->ijab", x139) + del x139 + l1new += einsum("ia,ijab->bj", x89, x90) * -2 + del x89 + lu11new -= einsum("wia,ijab->wbj", x174, x90) + del x90 + del x174 + x91 = np.zeros((nvir, nvir), dtype=types[float]) + x91 += einsum("ai,ib->ab", l1, t1) + x94 += einsum("ab->ab", x91) + del x91 + x92 = np.zeros((nvir, nvir), dtype=types[float]) + x92 += einsum("wai,wib->ab", lu11, u11) + x94 += einsum("ab->ab", x92) + l1new += einsum("ab,iacb->ci", x94, x51) + ls1new += einsum("ab,wab->w", x94, g.bvv) * 2 + del x94 + x145 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x145 += einsum("ab,ibjc->jiac", x92, v.ovov) + x158 += einsum("ijab->ijab", x145) + del x145 + x178 += einsum("ab->ab", x92) + del x92 + lu11new += einsum("ab,wib->wai", x178, g.bov) * -1 + del x178 + x96 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x96 += einsum("ijka->ikja", v.ooov) * 2 + x96 -= einsum("ijka->kija", v.ooov) + l1new += einsum("ij,jkia->ak", x95, x96) * -1 + del x95 + lu11new -= einsum("wij,jkia->wak", x81, x96) + del x96 + x97 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x97 -= einsum("ijka->ikja", v.ooov) + x97 += einsum("ijka->kija", v.ooov) * 2 + x102 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x102 += einsum("wia,ijka->wjk", u11, x97) + x132 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x132 += einsum("ijka,lkjb->ilab", x34, x97) + x142 -= einsum("ijab->ijab", x132) + del x132 + x133 = np.zeros((nocc, nocc), dtype=types[float]) + x133 += einsum("ia,ijka->jk", t1, x97) + del x97 + x135 += einsum("ij->ij", x133) + del x133 + x136 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x136 += einsum("ij,abjk->kiab", x135, l2) + del x135 + x142 -= einsum("ijab->ijba", x136) + del x136 + x99 += einsum("ia->ia", f.ov) + x102 += einsum("ia,wja->wij", x99, u11) + x116 = np.zeros((nbos), dtype=types[float]) + x116 += einsum("ia,wia->w", x99, u11) * 2 + del x99 + x101 += einsum("wia->wia", gc.bov) + x102 += einsum("ia,wja->wji", t1, x101) + l1new -= einsum("wia,wji->aj", x101, x81) + del x101 + x102 += einsum("wij->wij", gc.boo) + l1new -= einsum("wai,wji->aj", lu11, x102) + del x102 + x103 += einsum("wab->wab", gc.bvv) + l1new += einsum("wai,wab->bi", lu11, x103) + del x103 + x104 += einsum("wij->wij", g.boo) + x173 -= einsum("ia,wij->wja", t1, x104) + lu11new -= einsum("ai,wji->waj", l1, x104) + x105 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x105 += einsum("abij->jiba", l2) * 2 + x105 -= einsum("abij->jiab", l2) + x106 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x106 += einsum("wia,ijab->wjb", u11, x105) + x140 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x140 += einsum("wia,wjb->ijab", g.bov, x106) + x142 += einsum("ijab->ijab", x140) + del x140 + l1new -= einsum("wij,wja->ai", x104, x106) + del x104 + l1new += einsum("wab,wia->bi", g.bvv, x106) + del x106 + x107 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x107 += einsum("iabj->ijba", v.ovvo) * 2 + x107 -= einsum("ijab->ijab", v.oovv) + l1new += einsum("ai,jiab->bj", l1, x107) + lu11new += einsum("wai,jiab->wbj", lu11, x107) + del x107 + x108 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x108 += einsum("abij->jiba", l2) + x108 += einsum("abij->jiab", l2) * -0.5 + x109 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x109 += einsum("wia,ijab->wjb", u11, x108) + del x108 + x111 += einsum("ia,wja->wji", t1, x109) + del x109 + x111 += einsum("ai,wja->wij", l1, u11) * 0.5 + l1new += einsum("wia,wji->aj", g.bov, x111) * -2 + del x111 + x113 += einsum("ab->ab", f.vv) + l1new += einsum("ai,ab->bi", l1, x113) + del x113 + x115 += einsum("ia->ia", f.ov) + l1new -= einsum("ij,ja->ai", x114, x115) + del x114 + del x115 + x116 += einsum("w->w", G) + x116 += einsum("w,wx->x", s1, w) + x116 += einsum("ia,wia->w", t1, gc.bov) * 2 + l1new += einsum("w,wai->ai", x116, lu11) + del x116 + x117 = np.zeros((nbos), dtype=types[float]) + x117 += einsum("w->w", s1) + x117 += einsum("ai,wia->w", l1, u11) * 2 + l1new += einsum("w,wia->ai", x117, g.bov) + del x117 + x118 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x118 += einsum("wia,wbj->ijab", gc.bov, lu11) + x142 += einsum("ijab->ijab", x118) + del x118 + x119 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x119 += einsum("ai,jikb->jkab", l1, v.ooov) + x142 -= einsum("ijab->ijab", x119) + del x119 + x123 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x123 += einsum("ia,jbca->ijcb", t1, v.ovvv) + x126 += einsum("ijab->ijab", x123) + del x123 + x124 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x124 += einsum("ijab,icka->jkbc", t2, v.ovov) + x126 -= einsum("ijab->ijab", x124) + del x124 + x126 += einsum("iabj->jiba", v.ovvo) + x127 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x127 += einsum("ijab,ikac->jkbc", x105, x126) + del x126 + x142 += einsum("ijab->ijab", x127) + del x127 + x128 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x128 += einsum("ijab,kbic->jkac", t2, v.ovov) + x129 -= einsum("ijab->ijab", x128) + del x128 + x129 += einsum("ijab->jiab", v.oovv) + x130 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x130 += einsum("abij,ikac->jkbc", l2, x129) + x142 -= einsum("ijab->ijab", x130) + del x130 + x149 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x149 += einsum("abij,ikbc->jkac", l2, x129) + del x129 + x158 += einsum("ijab->ijab", x149) + del x149 + x141 += einsum("ia->ia", f.ov) + x142 += einsum("ai,jb->jiba", l1, x141) + l2new += einsum("ijab->abij", x142) + l2new += einsum("ijab->baji", x142) + del x142 + x153 = np.zeros((nocc, nocc), dtype=types[float]) + x153 += einsum("ia,ja->ij", t1, x141) + x154 += einsum("ij->ji", x153) + del x153 + x157 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x157 += einsum("ia,jkib->jkba", x141, x34) + del x34 + x158 += einsum("ijab->ijba", x157) + del x157 + lu11new -= einsum("ia,wji->waj", x141, x81) + del x81 + del x141 + x143 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x143 += einsum("ai,jbac->ijbc", l1, v.ovvv) + x158 -= einsum("ijab->ijab", x143) + del x143 + x150 = np.zeros((nvir, nvir), dtype=types[float]) + x150 += einsum("wia,wib->ab", g.bov, u11) + x151 -= einsum("ab->ba", x150) + x177 += einsum("ab->ba", x150) * -1 + del x150 + x151 += einsum("ab->ab", f.vv) + x152 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x152 += einsum("ab,acij->ijcb", x151, l2) + del x151 + x158 -= einsum("ijab->jiba", x152) + del x152 + x154 += einsum("ij->ij", f.oo) + x155 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x155 += einsum("ij,abjk->kiab", x154, l2) + del x154 + x158 += einsum("ijab->jiba", x155) + del x155 + l2new -= einsum("ijab->baij", x158) + l2new -= einsum("ijab->abji", x158) + del x158 + x161 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x161 += einsum("iajb->jiba", v.ovov) * -0.5 + x161 += einsum("iajb->jiab", v.ovov) + x162 = np.zeros((nocc, nocc), dtype=types[float]) + x162 += einsum("ijab,ikba->jk", t2, x161) + del x161 + x163 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x163 += einsum("ij,abik->kjab", x162, l2) * 2 + del x162 + x164 += einsum("ijab->ijba", x163) + del x163 + l2new += einsum("ijab->abij", x164) * -1 + l2new += einsum("ijab->baji", x164) * -1 + del x164 + x169 += einsum("ijkl->kilj", v.oooo) + l2new += einsum("abij,klji->ablk", l2, x169) + del x169 + x170 += einsum("ai->ia", f.vo) + ls1new += einsum("ia,wai->w", x170, lu11) * 2 + del x170 + x172 = np.zeros((nbos, nbos), dtype=types[float]) + x172 += einsum("wai,xia->wx", lu11, u11) + lu11new += einsum("wx,xia->wai", x172, g.bov) * 2 + del x172 + x173 += einsum("wai->wia", g.bvo) + x173 += einsum("ia,wba->wib", t1, g.bvv) + lu11new += einsum("wia,ijab->wbj", x173, x105) + del x105 + del x173 + x175 = np.zeros((nbos, nvir, nvir), dtype=types[float]) + x175 += einsum("ia,wbi->wba", t1, lu11) + lu11new += einsum("wab,iacb->wci", x175, x51) + del x51 + del x175 + x176 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x176 += einsum("iajb->jiba", v.ovov) * 2 + x176 += einsum("iajb->jiab", v.ovov) * -1 + x177 += einsum("ijab,ijac->bc", t2, x176) * -1 + del x176 + x177 += einsum("ab->ab", f.vv) + lu11new += einsum("ab,wai->wbi", x177, lu11) + del x177 + x179 = np.zeros((nbos, nbos), dtype=types[float]) + x179 += einsum("wx->wx", w) + x179 += einsum("wia,xia->wx", g.bov, u11) * 2 + lu11new += einsum("wx,xai->wai", x179, lu11) + del x179 + l1new += einsum("w,wia->ai", ls1, gc.bov) + l1new += einsum("ia->ai", f.ov) + l2new += einsum("iajb->baji", v.ovov) + l2new += einsum("abij,bcad->cdji", l2, v.vvvv) + ls1new += einsum("ai,wai->w", l1, g.bvo) * 2 + ls1new += einsum("w,xw->x", ls1, w) + ls1new += einsum("w->w", G) + lu11new += einsum("ai,wab->wbi", l1, g.bvv) + lu11new += einsum("wia->wai", g.bov) + + return {"l1new": l1new, "l2new": l2new, "ls1new": ls1new, "lu11new": lu11new} + +def make_rdm1_f(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, u11=None, l1=None, l2=None, ls1=None, lu11=None, **kwargs): + # Get boson coupling creation array: + gc = Namespace( + boo=g.boo.transpose(0, 2, 1), + bov=g.bvo.transpose(0, 2, 1), + bvo=g.bov.transpose(0, 2, 1), + bvv=g.bvv.transpose(0, 2, 1), + ) + + delta_oo = np.eye(nocc) + delta_vv = np.eye(nvir) + + # 1RDM + x0 = np.zeros((nocc, nocc), dtype=types[float]) + x0 += einsum("wai,wja->ij", lu11, u11) + x8 = np.zeros((nocc, nocc), dtype=types[float]) + x8 += einsum("ij->ij", x0) + rdm1_f_oo = np.zeros((nocc, nocc), dtype=types[float]) + rdm1_f_oo -= einsum("ij->ij", x0) * 2 + del x0 + x1 = np.zeros((nocc, nocc), dtype=types[float]) + x1 += einsum("ai,ja->ij", l1, t1) + x8 += einsum("ij->ij", x1) + rdm1_f_oo -= einsum("ij->ij", x1) * 2 + del x1 + x2 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x2 += einsum("ijab->jiab", t2) * 2 + x2 += einsum("ijab->jiba", t2) * -1 + rdm1_f_oo += einsum("abij,ikba->jk", l2, x2) * -2 + del x2 + x3 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x3 += einsum("ia,waj->wji", t1, lu11) + rdm1_f_vo = np.zeros((nvir, nocc), dtype=types[float]) + rdm1_f_vo -= einsum("wia,wij->aj", u11, x3) * 2 + del x3 + x4 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x4 += einsum("ia,bajk->jkib", t1, l2) + x5 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x5 += einsum("ijka->ijka", x4) * -1 + x5 += einsum("ijka->jika", x4) * 2 + del x4 + rdm1_f_vo += einsum("ijab,ijkb->ak", t2, x5) * -2 + del x5 + x6 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x6 -= einsum("ijab->jiab", t2) + x6 += einsum("ijab->jiba", t2) * 2 + rdm1_f_vo += einsum("ai,ijab->bj", l1, x6) * 2 + del x6 + x7 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x7 += einsum("ijab->jiab", t2) + x7 += einsum("ijab->jiba", t2) * -0.5 + x8 += einsum("abij,ikba->jk", l2, x7) * 2 + del x7 + rdm1_f_vo += einsum("ia,ij->aj", t1, x8) * -2 + del x8 + x9 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x9 += einsum("abij->jiab", l2) * -0.5 + x9 += einsum("abij->jiba", l2) + rdm1_f_vv = np.zeros((nvir, nvir), dtype=types[float]) + rdm1_f_vv += einsum("ijab,ijcb->ac", t2, x9) * 4 + del x9 + rdm1_f_oo += einsum("ij->ji", delta_oo) * 2 + rdm1_f_ov = np.zeros((nocc, nvir), dtype=types[float]) + rdm1_f_ov += einsum("ai->ia", l1) * 2 + rdm1_f_vo += einsum("ia->ai", t1) * 2 + rdm1_f_vo += einsum("w,wia->ai", ls1, u11) * 2 + rdm1_f_vv += einsum("ai,ib->ba", l1, t1) * 2 + rdm1_f_vv += einsum("wai,wib->ba", lu11, u11) * 2 + + rdm1_f = np.block([[rdm1_f_oo, rdm1_f_ov], [rdm1_f_vo, rdm1_f_vv]]) + + return rdm1_f + +def make_rdm2_f(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, u11=None, l1=None, l2=None, ls1=None, lu11=None, **kwargs): + # Get boson coupling creation array: + gc = Namespace( + boo=g.boo.transpose(0, 2, 1), + bov=g.bvo.transpose(0, 2, 1), + bvo=g.bov.transpose(0, 2, 1), + bvv=g.bvv.transpose(0, 2, 1), + ) + + delta_oo = np.eye(nocc) + delta_vv = np.eye(nvir) + + # 2RDM + x0 = np.zeros((nocc, nocc), dtype=types[float]) + x0 += einsum("wai,wja->ij", lu11, u11) + x15 = np.zeros((nocc, nocc), dtype=types[float]) + x15 += einsum("ij->ij", x0) + x24 = np.zeros((nocc, nvir), dtype=types[float]) + x24 += einsum("ia,ij->ja", t1, x0) + x27 = np.zeros((nocc, nvir), dtype=types[float]) + x27 += einsum("ia->ia", x24) + del x24 + x55 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x55 += einsum("ij,kiab->kjab", x0, t2) + x64 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x64 += einsum("ijab->ijab", x55) + del x55 + rdm2_f_oooo = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + rdm2_f_oooo -= einsum("ij,kl->ijkl", delta_oo, x0) * 4 + rdm2_f_oooo += einsum("ij,kl->ilkj", delta_oo, x0) * 2 + rdm2_f_oooo += einsum("ij,kl->kijl", delta_oo, x0) * 2 + rdm2_f_oooo -= einsum("ij,kl->klji", delta_oo, x0) * 4 + del x0 + x1 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x1 += einsum("ijab->jiab", t2) * -0.5 + x1 += einsum("ijab->jiba", t2) + x2 = np.zeros((nocc, nocc), dtype=types[float]) + x2 += einsum("abij,ikab->kj", l2, x1) + del x1 + x10 = np.zeros((nocc, nvir), dtype=types[float]) + x10 += einsum("ia,ji->ja", t1, x2) * 2 + x11 = np.zeros((nocc, nvir), dtype=types[float]) + x11 += einsum("ia->ia", x10) + del x10 + x33 = np.zeros((nocc, nvir), dtype=types[float]) + x33 += einsum("ia,ji->ja", t1, x2) + x34 = np.zeros((nocc, nvir), dtype=types[float]) + x34 += einsum("ia->ia", x33) + del x33 + x77 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x77 += einsum("ij,jkab->ikab", x2, t2) * 8 + x78 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x78 += einsum("ijab->jiba", x77) + del x77 + rdm2_f_oooo += einsum("ij,kl->jilk", delta_oo, x2) * -8 + rdm2_f_oooo += einsum("ij,kl->jkli", delta_oo, x2) * 4 + rdm2_f_oooo += einsum("ij,kl->ljik", delta_oo, x2) * 4 + rdm2_f_oooo += einsum("ij,kl->lkij", delta_oo, x2) * -8 + rdm2_f_oovo = np.zeros((nocc, nocc, nvir, nocc), dtype=types[float]) + rdm2_f_oovo += einsum("ia,jk->kiaj", t1, x2) * 4 + rdm2_f_oovo += einsum("ia,jk->kjai", t1, x2) * -8 + rdm2_f_vooo = np.zeros((nvir, nocc, nocc, nocc), dtype=types[float]) + rdm2_f_vooo += einsum("ia,jk->aikj", t1, x2) * -8 + rdm2_f_vooo += einsum("ia,jk->ajki", t1, x2) * 4 + del x2 + x3 = np.zeros((nocc, nocc), dtype=types[float]) + x3 += einsum("ai,ja->ij", l1, t1) + x15 += einsum("ij->ij", x3) + x16 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x16 += einsum("ia,jk->jika", t1, x15) + x83 = np.zeros((nocc, nvir), dtype=types[float]) + x83 += einsum("ia,ij->ja", t1, x15) + del x15 + x84 = np.zeros((nocc, nvir), dtype=types[float]) + x84 += einsum("ia->ia", x83) + x85 = np.zeros((nocc, nvir), dtype=types[float]) + x85 += einsum("ia->ia", x83) + del x83 + x30 = np.zeros((nocc, nvir), dtype=types[float]) + x30 += einsum("ia,ij->ja", t1, x3) + x31 = np.zeros((nocc, nvir), dtype=types[float]) + x31 -= einsum("ia->ia", x30) + del x30 + x65 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x65 += einsum("ij,kiab->jkab", x3, t2) + x68 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x68 += einsum("ijab->ijab", x65) + del x65 + rdm2_f_oooo -= einsum("ij,kl->jikl", delta_oo, x3) * 4 + rdm2_f_oooo += einsum("ij,kl->kijl", delta_oo, x3) * 2 + rdm2_f_oooo += einsum("ij,kl->jlki", delta_oo, x3) * 2 + rdm2_f_oooo -= einsum("ij,kl->klji", delta_oo, x3) * 4 + del x3 + x4 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x4 += einsum("abij,klab->ijkl", l2, t2) + x7 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x7 += einsum("ia,jikl->jkla", t1, x4) + x12 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x12 += einsum("ijka->ijka", x7) * 4 + x79 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x79 += einsum("ia,ijkb->kjba", t1, x7) + x82 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x82 += einsum("ijab->ijab", x79) * 2.0000000000000013 + del x79 + rdm2_f_vooo += einsum("ijka->ajik", x7) * -2 + rdm2_f_vooo += einsum("ijka->akij", x7) * 4 + del x7 + x80 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x80 += einsum("ijkl->jilk", x4) + rdm2_f_oooo += einsum("ijkl->jkil", x4) * -2 + rdm2_f_oooo += einsum("ijkl->jlik", x4) * 4 + del x4 + x5 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x5 += einsum("ia,bajk->jkib", t1, l2) + x6 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x6 += einsum("ia,jkla->kjli", t1, x5) + x20 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x20 += einsum("ia,ijkl->jlka", t1, x6) + x28 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x28 -= einsum("ijka->ijka", x20) + x37 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x37 += einsum("ijka->ijka", x20) + x71 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x71 += einsum("ia,ijkb->jkab", t1, x20) + del x20 + x73 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x73 += einsum("ijab->ijab", x71) + del x71 + x80 += einsum("ijkl->ijkl", x6) + x81 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x81 += einsum("ijab,ijkl->klab", t2, x80) * 2 + del x80 + x82 += einsum("ijab->jiba", x81) + del x81 + rdm2_f_vovo = np.zeros((nvir, nocc, nvir, nocc), dtype=types[float]) + rdm2_f_vovo += einsum("ijab->ajbi", x82) * -1 + rdm2_f_vovo += einsum("ijab->bjai", x82) * 2 + del x82 + rdm2_f_oooo += einsum("ijkl->ikjl", x6) * 4 + rdm2_f_oooo -= einsum("ijkl->iljk", x6) * 2 + del x6 + x8 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x8 += einsum("ijka->ijka", x5) * -0.5 + x8 += einsum("ijka->jika", x5) + x9 = np.zeros((nocc, nvir), dtype=types[float]) + x9 += einsum("ijab,ijkb->ka", t2, x8) * 2 + x11 += einsum("ia->ia", x9) + del x9 + x12 += einsum("ij,ka->jika", delta_oo, x11) * -4 + del x11 + rdm2_f_oovo += einsum("ijka->ijak", x12) + rdm2_f_oovo += einsum("ijka->ikaj", x12) * -0.5 + del x12 + x32 = np.zeros((nocc, nvir), dtype=types[float]) + x32 += einsum("ijab,ijkb->ka", t2, x8) + del x8 + x34 += einsum("ia->ia", x32) + del x32 + x78 += einsum("ia,jb->ijab", t1, x34) * 8.000000000000005 + rdm2_f_vooo += einsum("ij,ka->ajik", delta_oo, x34) * 4 + rdm2_f_vooo += einsum("ij,ka->akij", delta_oo, x34) * -8 + del x34 + x14 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x14 += einsum("ijab,kjla->klib", t2, x5) + x16 -= einsum("ijka->ijka", x14) + x66 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x66 -= einsum("ijka->ijka", x14) + del x14 + x19 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x19 += einsum("ijab,jkla->klib", t2, x5) + x28 -= einsum("ijka->ijka", x19) + del x19 + x21 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x21 += einsum("ijka->ijka", x5) * 2 + x21 -= einsum("ijka->jika", x5) + x22 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x22 += einsum("ijab,ikla->kljb", t2, x21) + x28 += einsum("ijka->ijka", x22) + del x22 + x42 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x42 += einsum("ia,ijkb->jkab", t1, x21) + del x21 + rdm2_f_oovv = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + rdm2_f_oovv -= einsum("ijab->ijab", x42) * 2 + rdm2_f_vvoo = np.zeros((nvir, nvir, nocc, nocc), dtype=types[float]) + rdm2_f_vvoo -= einsum("ijab->abij", x42) * 2 + del x42 + x35 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x35 += einsum("ijab,kjlb->klia", t2, x5) + x37 += einsum("ijka->ijka", x35) + x58 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x58 += einsum("ijka->ijka", x35) + del x35 + x49 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x49 -= einsum("ijka->ijka", x5) + x49 += einsum("ijka->jika", x5) * 2 + x50 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x50 += einsum("ia,ijkb->jkab", t1, x49) + del x49 + rdm2_f_ovvo = np.zeros((nocc, nvir, nvir, nocc), dtype=types[float]) + rdm2_f_ovvo -= einsum("ijab->ibaj", x50) * 2 + rdm2_f_voov = np.zeros((nvir, nocc, nocc, nvir), dtype=types[float]) + rdm2_f_voov -= einsum("ijab->ajib", x50) * 2 + del x50 + x90 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x90 += einsum("ia,jikb->jkba", t1, x5) + x92 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x92 += einsum("ijab->ijab", x90) + del x90 + x99 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x99 += einsum("ijab,jikc->kcba", t2, x5) + rdm2_f_vovv = np.zeros((nvir, nocc, nvir, nvir), dtype=types[float]) + rdm2_f_vovv += einsum("iabc->bica", x99) * 2 + rdm2_f_vovv += einsum("iabc->ciba", x99) * -4 + rdm2_f_vvvo = np.zeros((nvir, nvir, nvir, nocc), dtype=types[float]) + rdm2_f_vvvo += einsum("iabc->baci", x99) * -4 + rdm2_f_vvvo += einsum("iabc->cabi", x99) * 2 + del x99 + rdm2_f_ooov = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + rdm2_f_ooov += einsum("ijka->ikja", x5) * 2 + rdm2_f_ooov -= einsum("ijka->jkia", x5) * 4 + rdm2_f_ovoo = np.zeros((nocc, nvir, nocc, nocc), dtype=types[float]) + rdm2_f_ovoo -= einsum("ijka->iajk", x5) * 4 + rdm2_f_ovoo += einsum("ijka->jaik", x5) * 2 + x13 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x13 += einsum("ai,jkba->ijkb", l1, t2) + x16 += einsum("ijka->ijka", x13) + rdm2_f_oovo += einsum("ijka->ijak", x16) * 2 + rdm2_f_oovo -= einsum("ijka->ikaj", x16) * 4 + rdm2_f_vooo -= einsum("ijka->ajik", x16) * 4 + rdm2_f_vooo += einsum("ijka->akij", x16) * 2 + del x16 + x66 += einsum("ijka->ijka", x13) + del x13 + x67 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x67 += einsum("ia,ijkb->jkab", t1, x66) + del x66 + x68 += einsum("ijab->ijab", x67) + del x67 + rdm2_f_vovo += einsum("ijab->aibj", x68) * 2 + rdm2_f_vovo -= einsum("ijab->biaj", x68) * 4 + rdm2_f_vovo -= einsum("ijab->ajbi", x68) * 4 + rdm2_f_vovo += einsum("ijab->bjai", x68) * 2 + del x68 + x17 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x17 += einsum("ia,waj->wji", t1, lu11) + x18 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x18 += einsum("wia,wjk->jkia", u11, x17) + x28 += einsum("ijka->ijka", x18) + x37 -= einsum("ijka->ijka", x18) + del x18 + x23 = np.zeros((nocc, nvir), dtype=types[float]) + x23 += einsum("wia,wij->ja", u11, x17) + x27 += einsum("ia->ia", x23) + x84 += einsum("ia->ia", x23) + x85 += einsum("ia->ia", x23) + del x23 + x60 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x60 += einsum("ia,wij->wja", t1, x17) + del x17 + x62 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x62 += einsum("wia->wia", x60) + del x60 + x25 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x25 += einsum("ijab->jiab", t2) * 2 + x25 -= einsum("ijab->jiba", t2) + x26 = np.zeros((nocc, nvir), dtype=types[float]) + x26 += einsum("ai,ijba->jb", l1, x25) + x27 -= einsum("ia->ia", x26) + x28 += einsum("ij,ka->jika", delta_oo, x27) + rdm2_f_oovo -= einsum("ijka->ijak", x28) * 4 + rdm2_f_oovo += einsum("ijka->ikaj", x28) * 2 + del x28 + rdm2_f_vooo += einsum("ij,ka->ajik", delta_oo, x27) * 2 + rdm2_f_vooo -= einsum("ij,ka->akij", delta_oo, x27) * 4 + del x27 + x64 -= einsum("ia,jb->ijab", t1, x26) + del x26 + x36 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x36 += einsum("ijab,iklb->jkla", x25, x5) + del x5 + x37 -= einsum("ijka->jkia", x36) + rdm2_f_vooo -= einsum("ijka->ajik", x37) * 2 + rdm2_f_vooo += einsum("ijka->akij", x37) * 4 + del x37 + x58 -= einsum("ijka->jkia", x36) + del x36 + x59 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x59 += einsum("ia,ijkb->jkab", t1, x58) + del x58 + x64 -= einsum("ijab->ijab", x59) + del x59 + x61 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x61 += einsum("wai,ijba->wjb", lu11, x25) + x62 -= einsum("wia->wia", x61) + del x61 + x63 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x63 += einsum("wia,wjb->jiba", u11, x62) + del x62 + x64 += einsum("ijab->ijab", x63) + del x63 + rdm2_f_vvoo -= einsum("abij,ikca->cbjk", l2, x25) * 2 + x29 = np.zeros((nocc, nvir), dtype=types[float]) + x29 += einsum("w,wia->ia", ls1, u11) + x31 += einsum("ia->ia", x29) + x84 -= einsum("ia->ia", x29) + x85 -= einsum("ia->ia", x29) + del x29 + rdm2_f_vovo -= einsum("ia,jb->bjai", t1, x85) * 4 + rdm2_f_vovo += einsum("ia,jb->ajbi", t1, x85) * 2 + del x85 + x31 += einsum("ia->ia", t1) + rdm2_f_oovo += einsum("ij,ka->jiak", delta_oo, x31) * 4 + rdm2_f_oovo -= einsum("ij,ka->jkai", delta_oo, x31) * 2 + rdm2_f_vooo -= einsum("ij,ka->aijk", delta_oo, x31) * 2 + rdm2_f_vooo += einsum("ij,ka->akji", delta_oo, x31) * 4 + del x31 + x38 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x38 += einsum("wai,wjb->ijab", lu11, u11) + rdm2_f_oovv -= einsum("ijab->ijba", x38) * 2 + rdm2_f_ovvo += einsum("ijab->iabj", x38) * 4 + rdm2_f_voov += einsum("ijab->bjia", x38) * 4 + rdm2_f_vvoo -= einsum("ijab->baij", x38) * 2 + del x38 + x39 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x39 += einsum("abij->jiab", l2) * 2 + x39 -= einsum("abij->jiba", l2) + x40 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x40 += einsum("ijab,ikca->kjcb", t2, x39) + x72 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x72 += einsum("ijab,ikac->kjcb", t2, x40) + x73 += einsum("ijab->ijab", x72) * 2 + del x72 + rdm2_f_oovv -= einsum("ijab->ijba", x40) * 2 + del x40 + x48 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x48 += einsum("ijab,ikcb->jkac", x25, x39) + del x25 + rdm2_f_ovvo += einsum("ijab->jbai", x48) * 2 + rdm2_f_voov += einsum("ijab->aijb", x48) * 2 + del x48 + x56 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x56 += einsum("ijab,ikcb->kjca", t2, x39) + del x39 + x57 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x57 += einsum("ijab,ikac->kjcb", t2, x56) + del x56 + x64 += einsum("ijab->jiba", x57) + del x57 + x41 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x41 -= einsum("abij->jiab", l2) + x41 += einsum("abij->jiba", l2) * 2 + rdm2_f_oovv -= einsum("ijab,ikcb->kjac", t2, x41) * 2 + del x41 + x43 = np.zeros((nvir, nvir), dtype=types[float]) + x43 += einsum("ai,ib->ab", l1, t1) + x47 = np.zeros((nvir, nvir), dtype=types[float]) + x47 += einsum("ab->ab", x43) * 0.5 + x52 = np.zeros((nvir, nvir), dtype=types[float]) + x52 += einsum("ab->ab", x43) + x97 = np.zeros((nvir, nvir), dtype=types[float]) + x97 += einsum("ab->ab", x43) + del x43 + x44 = np.zeros((nvir, nvir), dtype=types[float]) + x44 += einsum("wai,wib->ab", lu11, u11) + x47 += einsum("ab->ab", x44) * 0.5 + x52 += einsum("ab->ab", x44) + x54 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x54 += einsum("ab,ijac->jicb", x44, t2) + x64 += einsum("ijab->ijab", x54) + del x54 + rdm2_f_vovo -= einsum("ijab->aibj", x64) * 4 + rdm2_f_vovo += einsum("ijab->biaj", x64) * 2 + rdm2_f_vovo += einsum("ijab->ajbi", x64) * 2 + rdm2_f_vovo -= einsum("ijab->bjai", x64) * 4 + del x64 + x97 += einsum("ab->ab", x44) + del x44 + x98 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x98 += einsum("ia,bc->ibac", t1, x97) + del x97 + x45 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x45 += einsum("abij->jiab", l2) + x45 += einsum("abij->jiba", l2) * -0.5 + x46 = np.zeros((nvir, nvir), dtype=types[float]) + x46 += einsum("ijab,ijbc->ca", t2, x45) + x47 += einsum("ab->ab", x46) + rdm2_f_oovv += einsum("ij,ab->jiba", delta_oo, x47) * 8 + del x47 + x76 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x76 += einsum("ab,ijac->ijbc", x46, t2) * 8 + x78 += einsum("ijab->jiba", x76) + del x76 + rdm2_f_vovo += einsum("ijab->aibj", x78) * -1 + rdm2_f_vovo += einsum("ijab->biaj", x78) * 0.5 + rdm2_f_vovo += einsum("ijab->ajbi", x78) * 0.5 + rdm2_f_vovo += einsum("ijab->bjai", x78) * -1 + del x78 + rdm2_f_vovv += einsum("ia,bc->aicb", t1, x46) * 8 + rdm2_f_vovv += einsum("ia,bc->ciab", t1, x46) * -4 + rdm2_f_vvvo += einsum("ia,bc->abci", t1, x46) * -4 + rdm2_f_vvvo += einsum("ia,bc->cbai", t1, x46) * 8 + del x46 + x51 = np.zeros((nvir, nvir), dtype=types[float]) + x51 += einsum("ijab,ijbc->ca", t2, x45) * 2 + del x45 + x52 += einsum("ab->ab", x51) + del x51 + rdm2_f_ovvo += einsum("ij,ab->jabi", delta_oo, x52) * -2 + rdm2_f_voov += einsum("ij,ab->bija", delta_oo, x52) * -2 + rdm2_f_vvoo += einsum("ij,ab->baji", delta_oo, x52) * 4 + del x52 + x53 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x53 -= einsum("ijab->jiab", t2) + x53 += einsum("ijab->jiba", t2) * 2 + x91 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x91 += einsum("abij,ikac->kjcb", l2, x53) + x92 -= einsum("ijab->jiba", x91) + del x91 + rdm2_f_vvoo -= einsum("abij,ikcb->cajk", l2, x53) * 2 + del x53 + x69 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x69 += einsum("abij,kjbc->ikac", l2, t2) + x70 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x70 += einsum("ijab,jkac->ikbc", t2, x69) + del x69 + x73 += einsum("ijab->ijab", x70) + del x70 + x73 += einsum("ijab->jiba", t2) + rdm2_f_vovo -= einsum("ijab->biaj", x73) * 2 + rdm2_f_vovo += einsum("ijab->aibj", x73) * 4 + del x73 + x74 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x74 += einsum("abij,kjac->ikbc", l2, t2) + x75 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x75 += einsum("ijab,jkac->ikbc", t2, x74) + rdm2_f_vovo += einsum("ijab->ajbi", x75) * 4 + rdm2_f_vovo -= einsum("ijab->bjai", x75) * 2 + del x75 + x96 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x96 += einsum("ia,ijbc->jbac", t1, x74) + del x74 + x98 -= einsum("iabc->iabc", x96) + del x96 + x84 -= einsum("ia->ia", t1) + rdm2_f_vovo -= einsum("ia,jb->aibj", t1, x84) * 4 + rdm2_f_vovo += einsum("ia,jb->biaj", t1, x84) * 2 + del x84 + x86 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x86 += einsum("ia,bcji->jbca", t1, l2) + x101 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) + x101 += einsum("ia,ibcd->cbda", t1, x86) + rdm2_f_vvvv = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) + rdm2_f_vvvv -= einsum("abcd->cbda", x101) * 2 + rdm2_f_vvvv += einsum("abcd->dbca", x101) * 4 + del x101 + rdm2_f_ovvv = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + rdm2_f_ovvv += einsum("iabc->iacb", x86) * 4 + rdm2_f_ovvv -= einsum("iabc->ibca", x86) * 2 + rdm2_f_vvov = np.zeros((nvir, nvir, nocc, nvir), dtype=types[float]) + rdm2_f_vvov -= einsum("iabc->caib", x86) * 2 + rdm2_f_vvov += einsum("iabc->cbia", x86) * 4 + del x86 + x87 = np.zeros((nbos, nvir, nvir), dtype=types[float]) + x87 += einsum("ia,wbi->wba", t1, lu11) + x88 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x88 += einsum("wia,wbc->ibca", u11, x87) + del x87 + x94 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x94 -= einsum("iabc->iabc", x88) + del x88 + x89 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x89 += einsum("abij,kjca->ikbc", l2, t2) + x92 += einsum("ijab->ijab", x89) + del x89 + x93 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x93 += einsum("ia,ijbc->jabc", t1, x92) + del x92 + x94 += einsum("iabc->ibac", x93) + del x93 + rdm2_f_vovv += einsum("iabc->bica", x94) * 2 + rdm2_f_vovv -= einsum("iabc->ciba", x94) * 4 + rdm2_f_vvvo -= einsum("iabc->baci", x94) * 4 + rdm2_f_vvvo += einsum("iabc->cabi", x94) * 2 + del x94 + x95 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x95 += einsum("ai,jibc->jabc", l1, t2) + x98 += einsum("iabc->iabc", x95) + del x95 + rdm2_f_vovv += einsum("iabc->bica", x98) * 4 + rdm2_f_vovv -= einsum("iabc->ciba", x98) * 2 + rdm2_f_vvvo -= einsum("iabc->baci", x98) * 2 + rdm2_f_vvvo += einsum("iabc->cabi", x98) * 4 + del x98 + x100 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) + x100 += einsum("abij,ijcd->abcd", l2, t2) + rdm2_f_vvvv += einsum("abcd->cbda", x100) * -2 + rdm2_f_vvvv += einsum("abcd->dbca", x100) * 4 + del x100 + rdm2_f_oooo += einsum("ij,kl->jilk", delta_oo, delta_oo) * 4 + rdm2_f_oooo -= einsum("ij,kl->ljik", delta_oo, delta_oo) * 2 + rdm2_f_ooov += einsum("ij,ak->jika", delta_oo, l1) * 4 + rdm2_f_ooov -= einsum("ij,ak->kija", delta_oo, l1) * 2 + rdm2_f_ovoo -= einsum("ij,ak->jaki", delta_oo, l1) * 2 + rdm2_f_ovoo += einsum("ij,ak->kaji", delta_oo, l1) * 4 + rdm2_f_ovov = np.zeros((nocc, nvir, nocc, nvir), dtype=types[float]) + rdm2_f_ovov -= einsum("abij->jaib", l2) * 2 + rdm2_f_ovov += einsum("abij->jbia", l2) * 4 + rdm2_f_oovv -= einsum("ai,jb->ijba", l1, t1) * 2 + rdm2_f_ovvo += einsum("ai,jb->iabj", l1, t1) * 4 + rdm2_f_voov += einsum("ai,jb->bjia", l1, t1) * 4 + rdm2_f_vvoo -= einsum("ai,jb->baij", l1, t1) * 2 + + rdm2_f = pack_2e(rdm2_f_oooo, rdm2_f_ooov, rdm2_f_oovo, rdm2_f_ovoo, rdm2_f_vooo, rdm2_f_oovv, rdm2_f_ovov, rdm2_f_ovvo, rdm2_f_voov, rdm2_f_vovo, rdm2_f_vvoo, rdm2_f_ovvv, rdm2_f_vovv, rdm2_f_vvov, rdm2_f_vvvo, rdm2_f_vvvv) + + return rdm2_f + +def make_sing_b_dm(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, u11=None, l1=None, l2=None, ls1=None, lu11=None, **kwargs): + # Get boson coupling creation array: + gc = Namespace( + boo=g.boo.transpose(0, 2, 1), + bov=g.bvo.transpose(0, 2, 1), + bvo=g.bov.transpose(0, 2, 1), + bvv=g.bvv.transpose(0, 2, 1), + ) + + # Single boson DM + dm_b_cre = np.zeros((nbos), dtype=types[float]) + dm_b_cre += einsum("w->w", ls1) + dm_b_des = np.zeros((nbos), dtype=types[float]) + dm_b_des += einsum("w->w", s1) + dm_b_des += einsum("ai,wia->w", l1, u11) * 2 + + dm_b = np.array([dm_b_cre, dm_b_des]) + + return dm_b + +def make_rdm1_b(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, u11=None, l1=None, l2=None, ls1=None, lu11=None, **kwargs): + # Get boson coupling creation array: + gc = Namespace( + boo=g.boo.transpose(0, 2, 1), + bov=g.bvo.transpose(0, 2, 1), + bvo=g.bov.transpose(0, 2, 1), + bvv=g.bvv.transpose(0, 2, 1), + ) + + # Boson 1RDM + rdm1_b = np.zeros((nbos, nbos), dtype=types[float]) + rdm1_b += einsum("w,x->wx", ls1, s1) + rdm1_b += einsum("wai,xia->wx", lu11, u11) * 2 + + return rdm1_b + +def make_eb_coup_rdm(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, u11=None, l1=None, l2=None, ls1=None, lu11=None, **kwargs): + # Get boson coupling creation array: + gc = Namespace( + boo=g.boo.transpose(0, 2, 1), + bov=g.bvo.transpose(0, 2, 1), + bvo=g.bov.transpose(0, 2, 1), + bvv=g.bvv.transpose(0, 2, 1), + ) + + delta_oo = np.eye(nocc) + delta_vv = np.eye(nvir) + + # Boson-fermion coupling RDM + x0 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x0 += einsum("ia,waj->wji", t1, lu11) + x22 = np.zeros((nocc, nvir), dtype=types[float]) + x22 += einsum("wia,wij->ja", u11, x0) + rdm_eb_cre_oo = np.zeros((nbos, nocc, nocc), dtype=types[float]) + rdm_eb_cre_oo -= einsum("wij->wji", x0) * 2 + rdm_eb_cre_ov = np.zeros((nbos, nocc, nvir), dtype=types[float]) + rdm_eb_cre_ov -= einsum("ia,wij->wja", t1, x0) * 2 + del x0 + x1 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x1 -= einsum("ijab->jiab", t2) + x1 += einsum("ijab->jiba", t2) * 2 + rdm_eb_cre_ov += einsum("wai,ijab->wjb", lu11, x1) * 2 + x2 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x2 += einsum("ai,wja->wij", l1, u11) + x17 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x17 += einsum("wij->wij", x2) + rdm_eb_des_oo = np.zeros((nbos, nocc, nocc), dtype=types[float]) + rdm_eb_des_oo -= einsum("wij->wji", x2) * 2 + del x2 + x3 = np.zeros((nbos), dtype=types[float]) + x3 += einsum("ai,wia->w", l1, u11) + rdm_eb_des_oo += einsum("w,ij->wji", x3, delta_oo) * 4 + rdm_eb_des_ov = np.zeros((nbos, nocc, nvir), dtype=types[float]) + rdm_eb_des_ov += einsum("w,ia->wia", x3, t1) * 4 + del x3 + x4 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x4 -= einsum("abij->jiab", l2) + x4 += einsum("abij->jiba", l2) * 2 + x5 = np.zeros((nbos, nocc, nvir), dtype=types[float]) + x5 += einsum("wia,ijab->wjb", u11, x4) + del x4 + x6 = np.zeros((nbos, nocc, nocc), dtype=types[float]) + x6 += einsum("ia,wja->wij", t1, x5) + x17 += einsum("wij->wji", x6) + rdm_eb_des_ov -= einsum("ia,wij->wja", t1, x17) * 2 + del x17 + rdm_eb_des_oo -= einsum("wij->wij", x6) * 2 + del x6 + rdm_eb_des_ov += einsum("wia,ijab->wjb", x5, x1) * 2 + del x1 + rdm_eb_des_vo = np.zeros((nbos, nvir, nocc), dtype=types[float]) + rdm_eb_des_vo += einsum("wia->wai", x5) * 2 + rdm_eb_des_vv = np.zeros((nbos, nvir, nvir), dtype=types[float]) + rdm_eb_des_vv += einsum("ia,wib->wba", t1, x5) * 2 + del x5 + x7 = np.zeros((nocc, nocc), dtype=types[float]) + x7 += einsum("ai,ja->ij", l1, t1) + x11 = np.zeros((nocc, nocc), dtype=types[float]) + x11 += einsum("ij->ij", x7) + x16 = np.zeros((nocc, nocc), dtype=types[float]) + x16 += einsum("ij->ij", x7) + x21 = np.zeros((nocc, nocc), dtype=types[float]) + x21 += einsum("ij->ij", x7) * 0.49999999999999967 + del x7 + x8 = np.zeros((nocc, nocc), dtype=types[float]) + x8 += einsum("wai,wja->ij", lu11, u11) + x11 += einsum("ij->ij", x8) + x16 += einsum("ij->ij", x8) + x21 += einsum("ij->ij", x8) * 0.49999999999999967 + del x8 + x9 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x9 += einsum("ijab->jiab", t2) + x9 += einsum("ijab->jiba", t2) * -0.5 + x10 = np.zeros((nocc, nocc), dtype=types[float]) + x10 += einsum("abij,ikba->jk", l2, x9) * 2 + x11 += einsum("ij->ij", x10) + x16 += einsum("ij->ij", x10) + del x10 + rdm_eb_des_ov += einsum("ij,wia->wja", x16, u11) * -2 + del x16 + x21 += einsum("abij,ikba->jk", l2, x9) + del x9 + x22 += einsum("ia,ij->ja", t1, x21) * 2.0000000000000013 + del x21 + x11 += einsum("ij->ji", delta_oo) * -1 + rdm_eb_des_oo += einsum("w,ij->wji", s1, x11) * -2 + del x11 + x12 = np.zeros((nbos, nbos), dtype=types[float]) + x12 += einsum("wai,xia->wx", lu11, u11) + rdm_eb_des_ov += einsum("wx,wia->xia", x12, u11) * 4 + del x12 + x13 = np.zeros((nvir, nvir), dtype=types[float]) + x13 += einsum("wai,wib->ab", lu11, u11) + x15 = np.zeros((nvir, nvir), dtype=types[float]) + x15 += einsum("ab->ab", x13) + x23 = np.zeros((nvir, nvir), dtype=types[float]) + x23 += einsum("ab->ab", x13) * 0.5 + del x13 + x14 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x14 += einsum("abij->jiab", l2) + x14 += einsum("abij->jiba", l2) * -0.5 + x15 += einsum("ijab,ijbc->ca", t2, x14) * 2 + rdm_eb_des_ov += einsum("ab,wia->wib", x15, u11) * -2 + del x15 + x23 += einsum("ijab,ijbc->ca", t2, x14) + del x14 + x18 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x18 += einsum("ia,abjk->kjib", t1, l2) + x19 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x19 += einsum("ijka->ijka", x18) * -0.5 + x19 += einsum("ijka->jika", x18) + del x18 + x22 += einsum("ijab,ijkb->ka", t2, x19) * 2.0000000000000013 + del x19 + x20 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x20 += einsum("ijab->jiab", t2) * -1 + x20 += einsum("ijab->jiba", t2) * 2 + x22 += einsum("ai,ijab->jb", l1, x20) * -1 + del x20 + x22 += einsum("ia->ia", t1) * -1 + x22 += einsum("w,wia->ia", ls1, u11) * -1 + rdm_eb_des_ov += einsum("w,ia->wia", s1, x22) * -2 + del x22 + x23 += einsum("ai,ib->ab", l1, t1) * 0.5 + rdm_eb_des_vv += einsum("w,ab->wab", s1, x23) * 4 + del x23 + rdm_eb_cre_oo += einsum("w,ij->wji", ls1, delta_oo) * 2 + rdm_eb_cre_ov += einsum("w,ia->wia", ls1, t1) * 2 + rdm_eb_cre_vo = np.zeros((nbos, nvir, nocc), dtype=types[float]) + rdm_eb_cre_vo += einsum("wai->wai", lu11) * 2 + rdm_eb_cre_vv = np.zeros((nbos, nvir, nvir), dtype=types[float]) + rdm_eb_cre_vv += einsum("ia,wbi->wba", t1, lu11) * 2 + rdm_eb_des_ov += einsum("wia->wia", u11) * 2 + rdm_eb_des_vo += einsum("w,ai->wai", s1, l1) * 2 + rdm_eb_des_vv += einsum("ai,wib->wab", l1, u11) * 2 + + rdm_eb = np.array([ + np.block([[rdm_eb_cre_oo, rdm_eb_cre_ov], [rdm_eb_cre_vo, rdm_eb_cre_vv]]), + np.block([[rdm_eb_des_oo, rdm_eb_des_ov], [rdm_eb_des_vo, rdm_eb_des_vv]]), + ]) + + return rdm_eb + diff --git a/ebcc/codegen/UCCSD_SD_1_1.py b/ebcc/codegen/UCCSD_SD_1_1.py new file mode 100644 index 00000000..00e77ec9 --- /dev/null +++ b/ebcc/codegen/UCCSD_SD_1_1.py @@ -0,0 +1,6108 @@ +# Code generated for ebcc. + +from ebcc import numpy as np +from ebcc.util import pack_2e, einsum, Namespace +from ebcc.precision import types + +def energy(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, s2=None, u11=None, **kwargs): + # Energy + x0 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x0 += einsum("iajb->jiab", v.bbbb.ovov) * -1 + x0 += einsum("iajb->jiba", v.bbbb.ovov) + x1 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x1 += einsum("ijab->jiba", t2.bbbb) + x1 += einsum("ia,jb->ijab", t1.bb, t1.bb) + e_cc = 0 + e_cc += einsum("ijab,ijba->", x0, x1) * -0.5 + del x0 + del x1 + x2 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x2 += einsum("iajb->jiab", v.aaaa.ovov) + x2 += einsum("iajb->jiba", v.aaaa.ovov) * -1 + x3 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x3 += einsum("ijab->jiba", t2.aaaa) + x3 += einsum("ia,jb->ijba", t1.aa, t1.aa) * -1 + e_cc += einsum("ijab,ijab->", x2, x3) * -0.5 + del x2 + del x3 + x4 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x4 += einsum("ijab->ijab", t2.abab) + x4 += einsum("ia,jb->ijab", t1.aa, t1.bb) + e_cc += einsum("iajb,ijab->", v.aabb.ovov, x4) + del x4 + x5 = np.zeros((nbos), dtype=types[float]) + x5 += einsum("w->w", G) + x5 += einsum("ia,wia->w", t1.aa, g.aa.bov) + x5 += einsum("ia,wia->w", t1.bb, g.bb.bov) + e_cc += einsum("w,w->", s1, x5) + del x5 + e_cc += einsum("wia,wia->", g.aa.bov, u11.aa) + e_cc += einsum("wia,wia->", g.bb.bov, u11.bb) + e_cc += einsum("ia,ia->", f.bb.ov, t1.bb) + e_cc += einsum("ia,ia->", f.aa.ov, t1.aa) + + return e_cc + +def update_amps(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, s2=None, u11=None, **kwargs): + t1new = Namespace() + t2new = Namespace() + u11new = Namespace() + + # Get boson coupling creation array: + gc = Namespace( + aa = Namespace( + boo=g.aa.boo.transpose(0, 2, 1), + bov=g.aa.bvo.transpose(0, 2, 1), + bvo=g.aa.bov.transpose(0, 2, 1), + bvv=g.aa.bvv.transpose(0, 2, 1), + ), + bb = Namespace( + boo=g.bb.boo.transpose(0, 2, 1), + bov=g.bb.bvo.transpose(0, 2, 1), + bvo=g.bb.bov.transpose(0, 2, 1), + bvv=g.bb.bvv.transpose(0, 2, 1), + ), + ) + + # T1, T2, S1, S2 and U11 amplitudes + x0 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x0 += einsum("ia,jakb->ikjb", t1.aa, v.aaaa.ovov) + x1 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x1 += einsum("ijka->ijka", x0) * -1 + x1 += einsum("ijka->ikja", x0) + x98 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x98 -= einsum("ijka->ijka", x0) + x98 += einsum("ijka->ikja", x0) + x124 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x124 += einsum("ia,jkla->jilk", t1.aa, x0) + x125 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x125 += einsum("ia,jkli->jkla", t1.aa, x124) + x126 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x126 += einsum("ia,jkib->jkab", t1.aa, x125) + del x125 + x133 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x133 += einsum("ijab->ijab", x126) + del x126 + x141 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x141 += einsum("ijab,klji->lkab", t2.aaaa, x124) + del x124 + x145 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x145 += einsum("ijab->ijab", x141) + del x141 + x284 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x284 += einsum("ijka->jkia", x0) * -1 + x284 += einsum("ijka->kjia", x0) + del x0 + x1 += einsum("ijka->jika", v.aaaa.ooov) + x1 += einsum("ijka->jkia", v.aaaa.ooov) * -1 + t1new_aa = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + t1new_aa += einsum("ijab,kjia->kb", t2.aaaa, x1) * -1 + del x1 + x2 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x2 += einsum("iabc->ibac", v.aaaa.ovvv) + x2 += einsum("iabc->ibca", v.aaaa.ovvv) * -1 + x31 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x31 += einsum("ia,ibca->bc", t1.aa, x2) + x32 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x32 += einsum("ab->ab", x31) * -1 + x280 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x280 += einsum("ab->ab", x31) * -1 + x321 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x321 += einsum("ab->ab", x31) * -1 + del x31 + x64 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x64 += einsum("ia,jbac->ijbc", t1.aa, x2) + t1new_aa += einsum("ijab,icba->jc", t2.aaaa, x2) * -1 + del x2 + x3 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x3 += einsum("ia,jakb->ijkb", t1.aa, v.aabb.ovov) + x4 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x4 += einsum("ijka->jika", x3) + x79 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x79 += einsum("ijab,kljb->kila", t2.abab, x3) + del x3 + x83 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x83 += einsum("ijka->ikja", x79) + del x79 + x4 += einsum("ijka->ijka", v.aabb.ooov) + x267 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x267 += einsum("ijab,iklb->kjla", t2.abab, x4) + x274 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x274 += einsum("ijka->ikja", x267) * -1 + del x267 + t1new_aa += einsum("ijab,ikjb->ka", t2.abab, x4) * -1 + x5 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x5 += einsum("w,wia->ia", s1, g.aa.bov) + x9 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x9 += einsum("ia->ia", x5) + x102 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x102 += einsum("ia->ia", x5) + x300 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x300 += einsum("ia->ia", x5) + x322 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x322 += einsum("ia->ia", x5) + del x5 + x6 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x6 += einsum("ia,jbia->jb", t1.bb, v.aabb.ovov) + x9 += einsum("ia->ia", x6) + x61 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x61 += einsum("ia,ja->ij", t1.aa, x6) + x62 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x62 += einsum("ij,kjab->ikab", x61, t2.aaaa) + del x61 + x87 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x87 += einsum("ijab->ijab", x62) * -1 + del x62 + x80 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x80 += einsum("ia,jkba->jkib", x6, t2.aaaa) + x83 += einsum("ijka->ikja", x80) * -1 + del x80 + x300 += einsum("ia->ia", x6) + x320 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x320 += einsum("ia->ia", x6) + del x6 + x7 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x7 += einsum("iajb->jiab", v.aaaa.ovov) + x7 += einsum("iajb->jiba", v.aaaa.ovov) * -1 + x8 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x8 += einsum("ia,ijab->jb", t1.aa, x7) + x9 += einsum("ia->ia", x8) * -1 + x320 += einsum("ia->ia", x8) * -1 + del x8 + x321 += einsum("ia,ib->ab", t1.aa, x320) * -1 + del x320 + x70 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x70 += einsum("ijab,ijac->bc", t2.aaaa, x7) + x73 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x73 += einsum("ab->ab", x70) * -1 + del x70 + x279 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x279 += einsum("ijab,ijca->bc", t2.aaaa, x7) + x280 += einsum("ab->ab", x279) * -1 + x321 += einsum("ab->ab", x279) * -1 + del x279 + x315 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x315 += einsum("wia,ijab->wjb", u11.aa, x7) + x316 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x316 += einsum("wia->wia", x315) * -1 + del x315 + x9 += einsum("ia->ia", f.aa.ov) + x27 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x27 += einsum("ia,ja->ij", t1.aa, x9) + x28 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x28 += einsum("ij->ji", x27) + del x27 + x288 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x288 += einsum("ia,jkab->jikb", x9, t2.abab) + x291 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x291 += einsum("ijka->jika", x288) + del x288 + t1new_bb = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + t1new_bb += einsum("ia,ijab->jb", x9, t2.abab) + x10 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x10 += einsum("ijab->jiab", t2.aaaa) + x10 -= einsum("ijab->jiba", t2.aaaa) + x112 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x112 += einsum("wia,ijab->wjb", g.aa.bov, x10) + x114 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x114 -= einsum("wia->wia", x112) + del x112 + t1new_aa += einsum("ia,ijab->jb", x9, x10) * -1 + del x9 + x11 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x11 += einsum("w,wia->ia", s1, g.bb.bov) + x15 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x15 += einsum("ia->ia", x11) + x159 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x159 += einsum("ia->ia", x11) + x301 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x301 += einsum("ia->ia", x11) + x328 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x328 += einsum("ia->ia", x11) + del x11 + x12 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x12 += einsum("ia,iajb->jb", t1.aa, v.aabb.ovov) + x15 += einsum("ia->ia", x12) + x201 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x201 += einsum("ia,jkab->kjib", x12, t2.bbbb) + x205 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x205 += einsum("ijka->ikja", x201) * -1 + del x201 + x216 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x216 += einsum("ia,ja->ij", t1.bb, x12) + x217 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x217 += einsum("ij->ij", x216) + del x216 + x301 += einsum("ia->ia", x12) + x326 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x326 += einsum("ia->ia", x12) + del x12 + x13 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x13 += einsum("iajb->jiab", v.bbbb.ovov) * -1 + x13 += einsum("iajb->jiba", v.bbbb.ovov) + x14 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x14 += einsum("ia,ijba->jb", t1.bb, x13) + x15 += einsum("ia->ia", x14) * -1 + x326 += einsum("ia->ia", x14) * -1 + del x14 + x327 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x327 += einsum("ia,ib->ab", t1.bb, x326) * -1 + del x326 + x49 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x49 += einsum("ijab,ikba->kj", t2.bbbb, x13) + x53 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x53 += einsum("ij->ij", x49) * -1 + del x49 + x237 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x237 += einsum("ijab,jkcb->ikac", t2.abab, x13) + x238 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x238 += einsum("ijab->ijab", x237) * -1 + del x237 + x318 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x318 += einsum("wia,ijba->wjb", u11.bb, x13) + del x13 + x319 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x319 += einsum("wia->wia", x318) * -1 + del x318 + x15 += einsum("ia->ia", f.bb.ov) + x52 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x52 += einsum("ia,ja->ij", t1.bb, x15) + x53 += einsum("ij->ji", x52) + del x52 + x268 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x268 += einsum("ia,jkba->jkib", x15, t2.abab) + x274 += einsum("ijka->ikja", x268) + del x268 + t1new_aa += einsum("ia,jiba->jb", x15, t2.abab) + x16 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x16 += einsum("iabj->ijba", v.aaaa.ovvo) + x16 -= einsum("ijab->ijab", v.aaaa.oovv) + x104 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x104 += einsum("ia,jkba->ijkb", t1.aa, x16) + x105 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x105 -= einsum("ijka->jika", x104) + del x104 + t1new_aa += einsum("ia,ijba->jb", t1.aa, x16) + u11new_aa = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + u11new_aa += einsum("wia,ijba->wjb", u11.aa, x16) + x17 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) + x17 += einsum("ia,wja->wji", t1.aa, g.aa.bov) + x18 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) + x18 += einsum("wij->wij", x17) + del x17 + x18 += einsum("wij->wij", g.aa.boo) + x113 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x113 += einsum("ia,wij->wja", t1.aa, x18) + x114 -= einsum("wia->wia", x113) + del x113 + t1new_aa -= einsum("wia,wij->ja", u11.aa, x18) + del x18 + x19 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x19 += einsum("w,wij->ij", s1, g.aa.boo) + x28 += einsum("ij->ij", x19) + x108 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x108 += einsum("ij->ji", x19) + del x19 + x20 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x20 += einsum("wia,wja->ij", g.aa.bov, u11.aa) + x28 += einsum("ij->ij", x20) + x121 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x121 += einsum("ij->ij", x20) + del x20 + x21 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x21 += einsum("ia,jkia->jk", t1.bb, v.aabb.ooov) + x28 += einsum("ij->ij", x21) + x121 += einsum("ij->ij", x21) + del x21 + x122 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x122 += einsum("ij,ikab->kjab", x121, t2.aaaa) + del x121 + x123 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x123 -= einsum("ijab->ijba", x122) + del x122 + x22 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x22 += einsum("ijab,kajb->ik", t2.abab, v.aabb.ovov) + x28 += einsum("ij->ji", x22) + x85 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x85 += einsum("ij->ji", x22) + del x22 + x23 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x23 += einsum("iajb->jiab", v.aaaa.ovov) * -1 + x23 += einsum("iajb->jiba", v.aaaa.ovov) + x24 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x24 += einsum("ijab,ikba->jk", t2.aaaa, x23) + del x23 + x28 += einsum("ij->ji", x24) * -1 + x85 += einsum("ij->ji", x24) * -1 + del x24 + x25 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x25 += einsum("ijka->ikja", v.aaaa.ooov) + x25 += einsum("ijka->kija", v.aaaa.ooov) * -1 + x26 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x26 += einsum("ia,ijka->jk", t1.aa, x25) + x28 += einsum("ij->ij", x26) * -1 + x85 += einsum("ij->ij", x26) * -1 + del x26 + x86 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x86 += einsum("ij,ikab->kjab", x85, t2.aaaa) + del x85 + x87 += einsum("ijab->ijba", x86) + del x86 + x323 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) + x323 += einsum("wia,ijka->wjk", u11.aa, x25) * -1 + del x25 + x28 += einsum("ij->ij", f.aa.oo) + x294 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x294 += einsum("ij,ikab->jkab", x28, t2.abab) + t2new_baba = np.zeros((nocc[1], nocc[0], nvir[1], nvir[0]), dtype=types[float]) + t2new_baba += einsum("ijab->jiba", x294) * -1 + t2new_abab = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + t2new_abab += einsum("ijab->ijab", x294) * -1 + del x294 + t1new_aa += einsum("ia,ij->ja", t1.aa, x28) * -1 + u11new_aa += einsum("ij,wia->wja", x28, u11.aa) * -1 + del x28 + x29 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x29 += einsum("w,wab->ab", s1, g.aa.bvv) + x32 += einsum("ab->ab", x29) + x116 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x116 += einsum("ab->ab", x29) + x280 += einsum("ab->ab", x29) + x321 += einsum("ab->ab", x29) + del x29 + x30 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x30 += einsum("ia,iabc->bc", t1.bb, v.bbaa.ovvv) + x32 += einsum("ab->ab", x30) + x119 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x119 -= einsum("ab->ba", x30) + x280 += einsum("ab->ab", x30) + x321 += einsum("ab->ab", x30) + del x30 + x32 += einsum("ab->ab", f.aa.vv) + t1new_aa += einsum("ia,ba->ib", t1.aa, x32) + del x32 + x33 = np.zeros((nbos), dtype=types[float]) + x33 += einsum("ia,wia->w", t1.aa, g.aa.bov) + x35 = np.zeros((nbos), dtype=types[float]) + x35 += einsum("w->w", x33) + del x33 + x34 = np.zeros((nbos), dtype=types[float]) + x34 += einsum("ia,wia->w", t1.bb, g.bb.bov) + x35 += einsum("w->w", x34) + del x34 + x35 += einsum("w->w", G) + t1new_aa += einsum("w,wia->ia", x35, u11.aa) + t1new_bb += einsum("w,wia->ia", x35, u11.bb) + s1new = np.zeros((nbos), dtype=types[float]) + s1new += einsum("w,wx->x", x35, s2) + del x35 + x36 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x36 += einsum("ia,jakb->ikjb", t1.bb, v.bbbb.ovov) + x37 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x37 += einsum("ijka->ijka", x36) * -1 + x37 += einsum("ijka->ikja", x36) + x155 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x155 -= einsum("ijka->ijka", x36) + x155 += einsum("ijka->ikja", x36) + x181 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x181 += einsum("ia,jkla->jilk", t1.bb, x36) + x182 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x182 += einsum("ia,jkli->jkla", t1.bb, x181) + x183 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x183 += einsum("ia,jkib->jkab", t1.bb, x182) + del x182 + x187 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x187 += einsum("ijab->ijab", x183) + del x183 + x223 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x223 += einsum("ijkl->ijkl", x181) + del x181 + x264 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x264 += einsum("ijka->jkia", x36) + x264 += einsum("ijka->kjia", x36) * -1 + del x36 + x37 += einsum("ijka->jika", v.bbbb.ooov) + x37 += einsum("ijka->jkia", v.bbbb.ooov) * -1 + t1new_bb += einsum("ijab,kjia->kb", t2.bbbb, x37) * -1 + del x37 + x38 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x38 += einsum("iabc->ibac", v.bbbb.ovvv) + x38 += einsum("iabc->ibca", v.bbbb.ovvv) * -1 + x209 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x209 += einsum("ia,ibac->bc", t1.bb, x38) + x210 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x210 += einsum("ab->ab", x209) * -1 + del x209 + t1new_bb += einsum("ijab,icba->jc", t2.bbbb, x38) * -1 + del x38 + x39 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x39 += einsum("ia,jbka->jikb", t1.bb, v.aabb.ovov) + x40 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x40 += einsum("ijka->ikja", x39) + x200 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x200 += einsum("ijab,ikla->kjlb", t2.abab, x39) + x205 += einsum("ijka->ikja", x200) + del x200 + x255 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x255 += einsum("ijka->ikja", x39) + del x39 + x40 += einsum("iajk->ijka", v.aabb.ovoo) + x269 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) + x269 += einsum("ia,jkla->ijkl", t1.aa, x40) + x270 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) + x270 += einsum("ijkl->jikl", x269) + del x269 + x287 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x287 += einsum("ijab,kjla->iklb", t2.abab, x40) + x291 += einsum("ijka->jika", x287) * -1 + del x287 + t1new_bb += einsum("ijab,ijka->kb", t2.abab, x40) * -1 + x41 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x41 += einsum("ijab->jiab", t2.bbbb) * -1 + x41 += einsum("ijab->jiba", t2.bbbb) + x194 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x194 += einsum("iajb,jkcb->ikac", v.aabb.ovov, x41) + x195 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x195 += einsum("ijab,ikac->jkbc", t2.abab, x194) * -1 + del x194 + x219 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x219 += einsum("ijab->ijab", x195) * -1 + del x195 + x286 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x286 += einsum("ijka,klba->ijlb", x4, x41) + del x4 + x291 += einsum("ijka->ijka", x286) * -1 + del x286 + t1new_bb += einsum("ia,ijba->jb", x15, x41) * -1 + del x15 + x42 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x42 += einsum("iabj->ijba", v.bbbb.ovvo) + x42 -= einsum("ijab->ijab", v.bbbb.oovv) + x161 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x161 += einsum("ia,jkba->ijkb", t1.bb, x42) + x162 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x162 -= einsum("ijka->jika", x161) + del x161 + t1new_bb += einsum("ia,ijba->jb", t1.bb, x42) + u11new_bb = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + u11new_bb += einsum("wia,ijba->wjb", u11.bb, x42) + x43 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) + x43 += einsum("ia,wja->wji", t1.bb, g.bb.bov) + x44 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) + x44 += einsum("wij->wij", x43) + del x43 + x44 += einsum("wij->wij", g.bb.boo) + x170 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x170 += einsum("ia,wij->wja", t1.bb, x44) + x171 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x171 -= einsum("wia->wia", x170) + del x170 + t1new_bb -= einsum("wia,wij->ja", u11.bb, x44) + del x44 + x45 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x45 += einsum("w,wij->ij", s1, g.bb.boo) + x53 += einsum("ij->ij", x45) + x165 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x165 += einsum("ij->ji", x45) + del x45 + x46 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x46 += einsum("wia,wja->ij", g.bb.bov, u11.bb) + x53 += einsum("ij->ij", x46) + x178 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x178 += einsum("ij->ij", x46) + del x46 + x47 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x47 += einsum("ia,iajk->jk", t1.aa, v.aabb.ovoo) + x53 += einsum("ij->ij", x47) + x178 += einsum("ij->ij", x47) + del x47 + x179 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x179 += einsum("ij,ikab->kjab", x178, t2.bbbb) + del x178 + x180 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x180 -= einsum("ijab->ijba", x179) + del x179 + x48 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x48 += einsum("ijab,iakb->jk", t2.abab, v.aabb.ovov) + x53 += einsum("ij->ji", x48) + x217 += einsum("ij->ij", x48) + del x48 + x218 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x218 += einsum("ij,jkab->ikab", x217, t2.bbbb) + del x217 + x219 += einsum("ijab->ijba", x218) * -1 + del x218 + x50 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x50 += einsum("ijka->ikja", v.bbbb.ooov) * -1 + x50 += einsum("ijka->kija", v.bbbb.ooov) + x51 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x51 += einsum("ia,jika->jk", t1.bb, x50) + x53 += einsum("ij->ij", x51) * -1 + del x51 + x329 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) + x329 += einsum("wia,jika->wjk", u11.bb, x50) * -1 + del x50 + x53 += einsum("ij->ij", f.bb.oo) + x293 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x293 += einsum("ij,kiab->kjab", x53, t2.abab) + t2new_baba += einsum("ijab->jiba", x293) * -1 + t2new_abab += einsum("ijab->ijab", x293) * -1 + del x293 + t1new_bb += einsum("ia,ij->ja", t1.bb, x53) * -1 + u11new_bb += einsum("ij,wia->wja", x53, u11.bb) * -1 + del x53 + x54 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x54 += einsum("w,wab->ab", s1, g.bb.bvv) + x58 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x58 += einsum("ab->ab", x54) + x173 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x173 += einsum("ab->ab", x54) + x277 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x277 += einsum("ab->ab", x54) + x327 += einsum("ab->ab", x54) + del x54 + x55 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x55 += einsum("ia,iabc->bc", t1.aa, v.aabb.ovvv) + x58 += einsum("ab->ab", x55) + x176 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x176 -= einsum("ab->ba", x55) + x277 += einsum("ab->ab", x55) + x327 += einsum("ab->ab", x55) + del x55 + x56 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x56 += einsum("iabc->ibac", v.bbbb.ovvv) * -1 + x56 += einsum("iabc->ibca", v.bbbb.ovvv) + x57 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x57 += einsum("ia,ibac->bc", t1.bb, x56) + x58 += einsum("ab->ab", x57) * -1 + x277 += einsum("ab->ab", x57) * -1 + x327 += einsum("ab->ab", x57) * -1 + del x57 + x192 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x192 += einsum("ia,jbca->ijbc", t1.bb, x56) + del x56 + x193 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x193 += einsum("ijab,jkcb->kica", x192, x41) * -1 + del x192 + x219 += einsum("ijab->jiab", x193) * -1 + del x193 + x58 += einsum("ab->ab", f.bb.vv) + t1new_bb += einsum("ia,ba->ib", t1.bb, x58) + del x58 + x59 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x59 += einsum("ia,jkla->ijlk", t1.aa, v.aaaa.ooov) + x60 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x60 += einsum("ijab,kijl->klab", t2.aaaa, x59) + x87 += einsum("ijab->ijab", x60) + del x60 + x75 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x75 += einsum("ia,jkil->jkla", t1.aa, x59) + del x59 + x83 += einsum("ijka->ijka", x75) + del x75 + x63 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x63 += einsum("ijab->jiab", t2.aaaa) + x63 += einsum("ijab->jiba", t2.aaaa) * -1 + x65 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x65 += einsum("ijab,kica->jkbc", x63, x64) * -1 + del x64 + x87 += einsum("ijab->jiab", x65) * -1 + del x65 + x236 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x236 += einsum("iajb,ikac->kjcb", v.aabb.ovov, x63) + x238 += einsum("ijab->ijab", x236) * -1 + del x236 + x239 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x239 += einsum("ijab,ikac->kjcb", x63, x7) + del x7 + x241 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x241 += einsum("ijab->ijba", x239) + del x239 + x266 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x266 += einsum("ijka,ilab->ljkb", x40, x63) + del x40 + del x63 + x274 += einsum("ijka->ijka", x266) * -1 + del x266 + x66 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x66 += einsum("ijab,kcjb->ikac", t2.abab, v.aabb.ovov) + x241 += einsum("ijab->jiab", x66) + x67 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x67 += einsum("ijab->jiab", t2.aaaa) * -1 + x67 += einsum("ijab->jiba", t2.aaaa) + x68 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x68 += einsum("ijab,jkbc->ikac", x66, x67) + del x66 + x87 += einsum("ijab->jiba", x68) * -1 + del x68 + x69 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x69 += einsum("ijab,icjb->ac", t2.abab, v.aabb.ovov) + x73 += einsum("ab->ab", x69) + x280 += einsum("ab->ab", x69) * -1 + x321 += einsum("ab->ab", x69) * -1 + del x69 + x71 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x71 += einsum("iabc->ibac", v.aaaa.ovvv) * -1 + x71 += einsum("iabc->ibca", v.aaaa.ovvv) + x72 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x72 += einsum("ia,ibca->bc", t1.aa, x71) + x73 += einsum("ab->ab", x72) * -1 + del x72 + x74 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x74 += einsum("ab,ijbc->ijca", x73, t2.aaaa) + del x73 + x87 += einsum("ijab->jiab", x74) + del x74 + x240 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x240 += einsum("ia,jbca->ijbc", t1.aa, x71) + del x71 + x241 += einsum("ijab->jiab", x240) * -1 + del x240 + x76 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x76 += einsum("ijab,kacb->ijkc", t2.aaaa, v.aaaa.ovvv) + x83 += einsum("ijka->ikja", x76) + del x76 + x77 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x77 += einsum("ia,jbca->ijcb", t1.aa, v.aaaa.ovvv) + x78 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x78 += einsum("ia,jkba->ijkb", t1.aa, x77) + del x77 + x83 += einsum("ijka->ikja", x78) + del x78 + x81 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x81 += einsum("ijka->ikja", v.aaaa.ooov) * -1 + x81 += einsum("ijka->kija", v.aaaa.ooov) + x82 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x82 += einsum("ijab,iklb->jkla", x67, x81) + del x81 + del x67 + x83 += einsum("ijka->ijka", x82) + del x82 + x84 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x84 += einsum("ia,jikb->jkab", t1.aa, x83) + del x83 + x87 += einsum("ijab->ijab", x84) + del x84 + t2new_aaaa = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + t2new_aaaa += einsum("ijab->ijab", x87) * -1 + t2new_aaaa += einsum("ijab->ijba", x87) + t2new_aaaa += einsum("ijab->jiab", x87) + t2new_aaaa += einsum("ijab->jiba", x87) * -1 + del x87 + x88 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x88 += einsum("ia,bjca->ijbc", t1.aa, v.aaaa.vovv) + x123 -= einsum("ijab->ijab", x88) + del x88 + x89 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x89 += einsum("ijab,jbck->ikac", t2.abab, v.bbaa.ovvo) + x123 += einsum("ijab->ijab", x89) + del x89 + x90 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x90 += einsum("ia,jbca->ijcb", t1.aa, v.bbaa.ovvv) + x91 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x91 += einsum("ijab,kjcb->kiac", t2.abab, x90) + x123 -= einsum("ijab->ijab", x91) + del x91 + x238 += einsum("ijab->ijab", x90) + del x90 + x92 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x92 -= einsum("ijab->jiab", t2.aaaa) + x92 += einsum("ijab->jiba", t2.aaaa) + x93 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x93 += einsum("ijab,ikcb->jkac", x16, x92) + del x16 + x123 -= einsum("ijab->jiba", x93) + del x93 + x99 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x99 += einsum("ijab,klib->jkla", x92, x98) + del x98 + del x92 + x105 += einsum("ijka->kjia", x99) + del x99 + x94 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x94 -= einsum("iajb->jiab", v.aaaa.ovov) + x94 += einsum("iajb->jiba", v.aaaa.ovov) + x95 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x95 += einsum("ijab,ikcb->jkac", t2.aaaa, x94) + x96 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x96 -= einsum("ijab,kica->jkbc", t2.aaaa, x95) + x123 -= einsum("ijab->ijab", x96) + del x96 + x129 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x129 -= einsum("ijab,kicb->jkac", t2.aaaa, x95) + del x95 + x133 += einsum("ijab->jiba", x129) + del x129 + x127 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x127 += einsum("ijab,ikca->jkbc", t2.aaaa, x94) + del x94 + x128 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x128 -= einsum("ijab,kica->jkbc", t2.aaaa, x127) + del x127 + x133 += einsum("ijab->ijab", x128) + del x128 + x97 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x97 += einsum("ijab,kljb->ikla", t2.abab, v.aabb.ooov) + x105 += einsum("ijka->jika", x97) + del x97 + x100 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x100 += einsum("iajb->jiab", v.aaaa.ovov) + x100 -= einsum("iajb->jiba", v.aaaa.ovov) + x101 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x101 += einsum("ia,ijab->jb", t1.aa, x100) + x102 -= einsum("ia->ia", x101) + x300 -= einsum("ia->ia", x101) + del x101 + x229 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x229 += einsum("ijab,ikac->kjcb", t2.abab, x100) + x230 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x230 -= einsum("ijab,ikac->kjcb", t2.abab, x229) + del x229 + t2new_bbbb = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + t2new_bbbb -= einsum("ijab->ijba", x230) + t2new_bbbb += einsum("ijab->jiba", x230) + del x230 + x311 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x311 -= einsum("wia,ijab->wjb", u11.aa, x100) + del x100 + s2new = np.zeros((nbos, nbos), dtype=types[float]) + s2new += einsum("wia,xia->xw", u11.aa, x311) + del x311 + x102 += einsum("ia->ia", f.aa.ov) + x103 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x103 += einsum("ia,jkab->jkib", x102, t2.aaaa) + x105 += einsum("ijka->kjia", x103) + del x103 + x107 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x107 += einsum("ia,ja->ij", t1.aa, x102) + del x102 + x108 += einsum("ij->ij", x107) + del x107 + x105 -= einsum("ijak->ijka", v.aaaa.oovo) + x106 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x106 += einsum("ia,ijkb->jkab", t1.aa, x105) + del x105 + x123 += einsum("ijab->ijab", x106) + del x106 + x108 += einsum("ij->ji", f.aa.oo) + x109 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x109 += einsum("ij,jkab->kiab", x108, t2.aaaa) + del x108 + x123 += einsum("ijab->jiba", x109) + del x109 + x110 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x110 += einsum("ia,wba->wib", t1.aa, g.aa.bvv) + x114 += einsum("wia->wia", x110) + del x110 + x111 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x111 += einsum("wia,jiba->wjb", g.bb.bov, t2.abab) + x114 += einsum("wia->wia", x111) + del x111 + x114 += einsum("wai->wia", g.aa.bvo) + x115 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x115 += einsum("wia,wjb->ijab", u11.aa, x114) + x123 += einsum("ijab->jiba", x115) + del x115 + x296 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x296 += einsum("wia,wjb->jiba", u11.bb, x114) + del x114 + t2new_baba += einsum("ijab->jiba", x296) + t2new_abab += einsum("ijab->ijab", x296) + del x296 + x116 += einsum("ab->ab", f.aa.vv) + x117 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x117 += einsum("ab,ijbc->ijca", x116, t2.aaaa) + del x116 + x123 -= einsum("ijab->jiba", x117) + del x117 + x118 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x118 += einsum("wia,wib->ab", g.aa.bov, u11.aa) + x119 += einsum("ab->ab", x118) + x120 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x120 += einsum("ab,ijac->ijcb", x119, t2.aaaa) + del x119 + x123 -= einsum("ijab->jiab", x120) + del x120 + t2new_aaaa += einsum("ijab->ijab", x123) + t2new_aaaa -= einsum("ijab->ijba", x123) + t2new_aaaa -= einsum("ijab->jiab", x123) + t2new_aaaa += einsum("ijab->jiba", x123) + del x123 + x280 += einsum("ab->ba", x118) * -1 + x321 += einsum("ab->ba", x118) * -1 + del x118 + x130 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x130 -= einsum("iajb->jiab", v.bbbb.ovov) + x130 += einsum("iajb->jiba", v.bbbb.ovov) + x131 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x131 += einsum("ijab,jkcb->ikac", t2.abab, x130) + x132 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x132 -= einsum("ijab,kjcb->ikac", t2.abab, x131) + del x131 + x133 += einsum("ijab->ijab", x132) + del x132 + t2new_aaaa += einsum("ijab->ijab", x133) + t2new_aaaa -= einsum("ijab->ijba", x133) + del x133 + x152 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x152 += einsum("ijab,ikcb->jkac", t2.bbbb, x130) + x153 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x153 -= einsum("ijab,kica->jkbc", t2.bbbb, x152) + x180 -= einsum("ijab->ijab", x153) + del x153 + x186 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x186 -= einsum("ijab,kicb->jkac", t2.bbbb, x152) + del x152 + x187 += einsum("ijab->ijab", x186) + del x186 + x158 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x158 += einsum("ia,ijba->jb", t1.bb, x130) + x159 -= einsum("ia->ia", x158) + x301 -= einsum("ia->ia", x158) + del x158 + x184 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x184 += einsum("ijab,ikca->jkbc", t2.bbbb, x130) + x185 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x185 -= einsum("ijab,kica->jkbc", t2.bbbb, x184) + del x184 + x187 += einsum("ijab->jiba", x185) + del x185 + t2new_bbbb += einsum("ijab->ijab", x187) + t2new_bbbb -= einsum("ijab->ijba", x187) + del x187 + x312 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x312 -= einsum("wia,ijba->wjb", u11.bb, x130) + del x130 + s2new += einsum("wia,xia->xw", u11.bb, x312) + del x312 + x134 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x134 += einsum("ijab,ikjl->klab", t2.aaaa, v.aaaa.oooo) + x136 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x136 += einsum("ijab->jiba", x134) + del x134 + x135 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x135 += einsum("ijab,cadb->ijcd", t2.aaaa, v.aaaa.vvvv) + x136 += einsum("ijab->jiba", x135) + del x135 + t2new_aaaa += einsum("ijab->ijba", x136) * -1 + t2new_aaaa += einsum("ijab->ijab", x136) + del x136 + x137 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x137 += einsum("ia,jkil->jkla", t1.aa, v.aaaa.oooo) + x138 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x138 += einsum("ia,ijkb->jkab", t1.aa, x137) + del x137 + x145 += einsum("ijab->ijab", x138) + del x138 + x139 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x139 += einsum("ia,bacd->icbd", t1.aa, v.aaaa.vvvv) + x140 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x140 += einsum("ia,jbca->ijbc", t1.aa, x139) + del x139 + x145 += einsum("ijab->ijab", x140) + del x140 + x142 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x142 += einsum("ijab,kalb->ijkl", t2.aaaa, v.aaaa.ovov) + x143 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x143 += einsum("ijab->jiba", t2.aaaa) + x143 += einsum("ia,jb->ijab", t1.aa, t1.aa) + x144 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x144 += einsum("ijkl,klab->ijab", x142, x143) + del x142 + del x143 + x145 += einsum("ijab->jiba", x144) + del x144 + t2new_aaaa += einsum("ijab->ijab", x145) + t2new_aaaa += einsum("ijab->ijba", x145) * -1 + del x145 + x146 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x146 += einsum("ia,bjca->ijbc", t1.bb, v.bbbb.vovv) + x180 -= einsum("ijab->ijab", x146) + del x146 + x147 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x147 += einsum("ijab,iack->jkbc", t2.abab, v.aabb.ovvo) + x180 += einsum("ijab->ijab", x147) + del x147 + x148 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x148 += einsum("ia,jbca->jibc", t1.bb, v.aabb.ovvv) + x149 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x149 += einsum("ijab,ikac->kjbc", t2.abab, x148) + x180 -= einsum("ijab->ijab", x149) + del x149 + x243 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x243 += einsum("ijab->ijab", x148) + x289 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x289 += einsum("ijab->ijab", x148) + del x148 + x150 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x150 -= einsum("ijab->jiab", t2.bbbb) + x150 += einsum("ijab->jiba", t2.bbbb) + x151 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x151 += einsum("ijab,ikcb->kjca", x150, x42) + del x42 + x180 -= einsum("ijab->jiba", x151) + del x151 + x169 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x169 += einsum("wia,ijba->wjb", g.bb.bov, x150) + del x150 + x171 -= einsum("wia->wia", x169) + del x169 + x154 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x154 += einsum("ijab,iakl->jklb", t2.abab, v.aabb.ovoo) + x162 += einsum("ijka->jika", x154) + del x154 + x156 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x156 += einsum("ijab->jiab", t2.bbbb) + x156 -= einsum("ijab->jiba", t2.bbbb) + x157 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x157 += einsum("ijka,klab->ijlb", x155, x156) + del x155 + x162 += einsum("ijka->jika", x157) + del x157 + x159 += einsum("ia->ia", f.bb.ov) + x160 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x160 += einsum("ia,jkab->jkib", x159, t2.bbbb) + x162 += einsum("ijka->kjia", x160) + del x160 + x164 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x164 += einsum("ia,ja->ij", t1.bb, x159) + del x159 + x165 += einsum("ij->ij", x164) + del x164 + x162 -= einsum("ijak->ijka", v.bbbb.oovo) + x163 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x163 += einsum("ia,ijkb->jkab", t1.bb, x162) + del x162 + x180 += einsum("ijab->ijab", x163) + del x163 + x165 += einsum("ij->ji", f.bb.oo) + x166 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x166 += einsum("ij,jkab->kiab", x165, t2.bbbb) + del x165 + x180 += einsum("ijab->jiba", x166) + del x166 + x167 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x167 += einsum("ia,wba->wib", t1.bb, g.bb.bvv) + x171 += einsum("wia->wia", x167) + del x167 + x168 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x168 += einsum("wia,ijab->wjb", g.aa.bov, t2.abab) + x171 += einsum("wia->wia", x168) + del x168 + x171 += einsum("wai->wia", g.bb.bvo) + x172 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x172 += einsum("wia,wjb->ijab", u11.bb, x171) + x180 += einsum("ijab->jiba", x172) + del x172 + x295 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x295 += einsum("wia,wjb->ijab", u11.aa, x171) + del x171 + t2new_baba += einsum("ijab->jiba", x295) + t2new_abab += einsum("ijab->ijab", x295) + del x295 + x173 += einsum("ab->ab", f.bb.vv) + x174 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x174 += einsum("ab,ijbc->ijca", x173, t2.bbbb) + del x173 + x180 -= einsum("ijab->jiba", x174) + del x174 + x175 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x175 += einsum("wia,wib->ab", g.bb.bov, u11.bb) + x176 += einsum("ab->ab", x175) + x177 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x177 += einsum("ab,ijac->ijcb", x176, t2.bbbb) + del x176 + x180 -= einsum("ijab->jiab", x177) + del x177 + t2new_bbbb += einsum("ijab->ijab", x180) + t2new_bbbb -= einsum("ijab->ijba", x180) + t2new_bbbb -= einsum("ijab->jiab", x180) + t2new_bbbb += einsum("ijab->jiba", x180) + del x180 + x277 += einsum("ab->ba", x175) * -1 + x327 += einsum("ab->ba", x175) * -1 + del x175 + x188 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x188 += einsum("ia,jkla->ijlk", t1.bb, v.bbbb.ooov) + x189 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x189 += einsum("ijab,kijl->klab", t2.bbbb, x188) + x219 += einsum("ijab->ijab", x189) + del x189 + x196 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x196 += einsum("ia,jkil->jkla", t1.bb, x188) + del x188 + x205 += einsum("ijka->ijka", x196) + del x196 + x190 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x190 += einsum("ijab,iajc->bc", t2.abab, v.aabb.ovov) + x191 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x191 += einsum("ab,ijbc->jiac", x190, t2.bbbb) + x219 += einsum("ijab->ijab", x191) * -1 + del x191 + x277 += einsum("ab->ab", x190) * -1 + x327 += einsum("ab->ab", x190) * -1 + del x190 + x197 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x197 += einsum("ijab,kbca->jikc", t2.bbbb, v.bbbb.ovvv) + x205 += einsum("ijka->ikja", x197) + del x197 + x198 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x198 += einsum("ia,jbca->ijcb", t1.bb, v.bbbb.ovvv) + x199 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x199 += einsum("ia,jkba->ijkb", t1.bb, x198) + del x198 + x205 += einsum("ijka->ikja", x199) + del x199 + x202 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x202 += einsum("ijka->ikja", v.bbbb.ooov) + x202 += einsum("ijka->kija", v.bbbb.ooov) * -1 + x213 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x213 += einsum("ia,jika->jk", t1.bb, x202) + x214 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x214 += einsum("ij->ij", x213) * -1 + del x213 + x203 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x203 += einsum("ijab->jiab", t2.bbbb) + x203 += einsum("ijab->jiba", t2.bbbb) * -1 + x204 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x204 += einsum("ijka,jlab->iklb", x202, x203) + del x202 + del x203 + x205 += einsum("ijka->kija", x204) + del x204 + x206 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x206 += einsum("ia,jikb->jkab", t1.bb, x205) + del x205 + x219 += einsum("ijab->ijab", x206) + del x206 + x207 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x207 += einsum("iajb->jiab", v.bbbb.ovov) + x207 += einsum("iajb->jiba", v.bbbb.ovov) * -1 + x208 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x208 += einsum("ijab,ijac->bc", t2.bbbb, x207) + x210 += einsum("ab->ab", x208) * -1 + del x208 + x211 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x211 += einsum("ab,ijbc->ijca", x210, t2.bbbb) + del x210 + x219 += einsum("ijab->jiab", x211) + del x211 + x212 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x212 += einsum("ijab,ikba->jk", t2.bbbb, x207) + x214 += einsum("ij->ji", x212) * -1 + del x212 + x215 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x215 += einsum("ij,ikab->jkab", x214, t2.bbbb) + del x214 + x219 += einsum("ijab->jiba", x215) * -1 + del x215 + t2new_bbbb += einsum("ijab->ijab", x219) * -1 + t2new_bbbb += einsum("ijab->ijba", x219) + t2new_bbbb += einsum("ijab->jiab", x219) + t2new_bbbb += einsum("ijab->jiba", x219) * -1 + del x219 + x276 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x276 += einsum("ijab,ijca->bc", t2.bbbb, x207) + del x207 + x277 += einsum("ab->ab", x276) * -1 + x327 += einsum("ab->ab", x276) * -1 + del x276 + x220 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x220 += einsum("ia,bcda->ibdc", t1.bb, v.bbbb.vvvv) + x221 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x221 += einsum("ia,jbca->ijbc", t1.bb, x220) + del x220 + x228 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x228 += einsum("ijab->ijab", x221) + del x221 + x222 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x222 += einsum("ijab,kbla->ijlk", t2.bbbb, v.bbbb.ovov) + x223 += einsum("ijkl->jilk", x222) + x224 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x224 += einsum("ijab,klji->klab", t2.bbbb, x223) + del x223 + x228 += einsum("ijab->jiab", x224) + del x224 + x225 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x225 += einsum("ijkl->lkji", x222) + del x222 + x225 += einsum("ijkl->kilj", v.bbbb.oooo) + x226 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x226 += einsum("ia,ijkl->jkla", t1.bb, x225) + del x225 + x227 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x227 += einsum("ia,ijkb->kjba", t1.bb, x226) + del x226 + x228 += einsum("ijab->jiab", x227) + del x227 + t2new_bbbb += einsum("ijab->ijab", x228) + t2new_bbbb += einsum("ijab->ijba", x228) * -1 + del x228 + x231 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x231 += einsum("ijab,ikjl->lkba", t2.bbbb, v.bbbb.oooo) + x233 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x233 += einsum("ijab->jiba", x231) + del x231 + x232 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x232 += einsum("ijab,cadb->ijcd", t2.bbbb, v.bbbb.vvvv) + x233 += einsum("ijab->jiba", x232) + del x232 + t2new_bbbb += einsum("ijab->ijba", x233) * -1 + t2new_bbbb += einsum("ijab->ijab", x233) + del x233 + x234 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x234 += einsum("ia,bacj->ijbc", t1.aa, v.aabb.vvvo) + t2new_baba += einsum("ijab->jiba", x234) + t2new_abab += einsum("ijab->ijab", x234) + del x234 + x235 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x235 += einsum("ijab,cadb->ijcd", t2.abab, v.aabb.vvvv) + t2new_baba += einsum("ijab->jiba", x235) + t2new_abab += einsum("ijab->ijab", x235) + del x235 + x238 += einsum("iabj->jiba", v.bbaa.ovvo) + t2new_baba += einsum("ijab,kicb->jkac", x156, x238) + del x156 + t2new_abab += einsum("ijab,jkcb->ikac", x238, x41) * -1 + del x238 + x241 += einsum("iabj->ijba", v.aaaa.ovvo) + x241 += einsum("ijab->ijab", v.aaaa.oovv) * -1 + x242 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x242 += einsum("ijab,ikca->kjcb", t2.abab, x241) + del x241 + t2new_baba += einsum("ijab->jiba", x242) + t2new_abab += einsum("ijab->ijab", x242) + del x242 + x243 += einsum("iabj->ijab", v.aabb.ovvo) + x244 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x244 += einsum("ijab,ikac->jkbc", x10, x243) + del x243 + t2new_baba -= einsum("ijab->jiba", x244) + t2new_abab -= einsum("ijab->ijab", x244) + del x244 + x245 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x245 += einsum("iabc->ibac", v.bbbb.ovvv) + x245 -= einsum("iabc->ibca", v.bbbb.ovvv) + x246 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x246 += einsum("ia,jbac->jibc", t1.bb, x245) + del x245 + x247 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x247 -= einsum("ijab->ijab", x246) + del x246 + x247 += einsum("iabj->ijba", v.bbbb.ovvo) + x247 -= einsum("ijab->ijab", v.bbbb.oovv) + x248 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x248 += einsum("ijab,jkcb->ikac", t2.abab, x247) + del x247 + t2new_baba += einsum("ijab->jiba", x248) + t2new_abab += einsum("ijab->ijab", x248) + del x248 + x249 = np.zeros((nocc[0], nocc[0], nvir[1], nvir[1]), dtype=types[float]) + x249 += einsum("ia,jabc->ijbc", t1.aa, v.aabb.ovvv) + x251 = np.zeros((nocc[0], nocc[0], nvir[1], nvir[1]), dtype=types[float]) + x251 += einsum("ijab->jiab", x249) + del x249 + x250 = np.zeros((nocc[0], nocc[0], nvir[1], nvir[1]), dtype=types[float]) + x250 += einsum("ijab,kajc->ikbc", t2.abab, v.aabb.ovov) + x251 -= einsum("ijab->jiab", x250) + del x250 + x251 += einsum("ijab->ijab", v.aabb.oovv) + x252 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x252 += einsum("ijab,ikcb->kjac", t2.abab, x251) + del x251 + t2new_baba -= einsum("ijab->jiba", x252) + t2new_abab -= einsum("ijab->ijab", x252) + del x252 + x253 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) + x253 += einsum("ia,jkla->jkil", t1.bb, v.aabb.ooov) + x257 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) + x257 += einsum("ijkl->ijlk", x253) + x270 += einsum("ijkl->ijlk", x253) + del x253 + x254 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) + x254 += einsum("ijab,kalb->ikjl", t2.abab, v.aabb.ovov) + x257 += einsum("ijkl->jilk", x254) + x270 += einsum("ijkl->jilk", x254) + del x254 + x255 += einsum("iajk->ijka", v.aabb.ovoo) + x256 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) + x256 += einsum("ia,jkla->jikl", t1.aa, x255) + del x255 + x257 += einsum("ijkl->ijkl", x256) + del x256 + x257 += einsum("ijkl->ijkl", v.aabb.oooo) + x258 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x258 += einsum("ijab,ikjl->klab", t2.abab, x257) + del x257 + t2new_baba += einsum("ijab->jiba", x258) + t2new_abab += einsum("ijab->ijab", x258) + del x258 + x259 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + x259 += einsum("ia,jabc->ijbc", t1.bb, v.bbaa.ovvv) + x260 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + x260 += einsum("ijab->jiab", x259) + x272 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + x272 += einsum("ijab->jiab", x259) + del x259 + x260 += einsum("ijab->ijab", v.bbaa.oovv) + x261 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x261 += einsum("ijab,jkca->ikcb", t2.abab, x260) + del x260 + t2new_baba -= einsum("ijab->jiba", x261) + t2new_abab -= einsum("ijab->ijab", x261) + del x261 + x262 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x262 += einsum("ia,jabk->kijb", t1.bb, v.bbaa.ovvo) + x274 += einsum("ijka->ikja", x262) + del x262 + x263 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x263 += einsum("ijab,kbca->ijkc", t2.abab, v.bbaa.ovvv) + x274 += einsum("ijka->ikja", x263) + del x263 + x264 += einsum("ijka->ikja", v.bbbb.ooov) * -1 + x264 += einsum("ijka->kija", v.bbbb.ooov) + x265 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x265 += einsum("ijab,kjlb->ikla", t2.abab, x264) + del x264 + x274 += einsum("ijka->ijka", x265) * -1 + del x265 + x270 += einsum("ijkl->ijkl", v.aabb.oooo) + x271 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x271 += einsum("ia,ijkl->jkla", t1.aa, x270) + del x270 + x274 += einsum("ijka->ijka", x271) * -1 + del x271 + x272 += einsum("ijab->ijab", v.bbaa.oovv) + x273 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x273 += einsum("ia,jkba->ijkb", t1.aa, x272) + del x272 + x274 += einsum("ijka->ijka", x273) + del x273 + x274 += einsum("ijak->kija", v.bbaa.oovo) + x275 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x275 += einsum("ia,jikb->jkba", t1.bb, x274) + del x274 + t2new_baba += einsum("ijab->jiba", x275) * -1 + t2new_abab += einsum("ijab->ijab", x275) * -1 + del x275 + x277 += einsum("ab->ab", f.bb.vv) + x278 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x278 += einsum("ab,ijcb->ijca", x277, t2.abab) + del x277 + t2new_baba += einsum("ijab->jiba", x278) + t2new_abab += einsum("ijab->ijab", x278) + del x278 + x280 += einsum("ab->ab", f.aa.vv) + x281 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x281 += einsum("ab,ijbc->ijac", x280, t2.abab) + del x280 + t2new_baba += einsum("ijab->jiba", x281) + t2new_abab += einsum("ijab->ijab", x281) + del x281 + x282 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x282 += einsum("ia,jkba->jkib", t1.bb, v.aabb.oovv) + x291 += einsum("ijka->ijka", x282) + del x282 + x283 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x283 += einsum("ijab,kacb->ikjc", t2.abab, v.aabb.ovvv) + x291 += einsum("ijka->jika", x283) + del x283 + x284 += einsum("ijka->ikja", v.aaaa.ooov) + x284 += einsum("ijka->kija", v.aaaa.ooov) * -1 + x285 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x285 += einsum("ijab,ikla->kljb", t2.abab, x284) + del x284 + x291 += einsum("ijka->ijka", x285) * -1 + del x285 + x289 += einsum("iabj->ijab", v.aabb.ovvo) + x290 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x290 += einsum("ia,jkab->jikb", t1.aa, x289) + del x289 + x291 += einsum("ijka->ijka", x290) + del x290 + x291 += einsum("ijak->ijka", v.aabb.oovo) + x292 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x292 += einsum("ia,ijkb->jkab", t1.aa, x291) + del x291 + t2new_baba += einsum("ijab->jiba", x292) * -1 + t2new_abab += einsum("ijab->ijab", x292) * -1 + del x292 + x297 = np.zeros((nocc[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) + x297 += einsum("ia,bacd->ibcd", t1.aa, v.aabb.vvvv) + x298 = np.zeros((nocc[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) + x298 += einsum("iabc->iabc", x297) + del x297 + x298 += einsum("aibc->iabc", v.aabb.vovv) + x299 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x299 += einsum("ia,jbca->jibc", t1.bb, x298) + del x298 + t2new_baba += einsum("ijab->jiba", x299) + t2new_abab += einsum("ijab->ijab", x299) + del x299 + x300 += einsum("ia->ia", f.aa.ov) + s1new += einsum("ia,wia->w", x300, u11.aa) + del x300 + x301 += einsum("ia->ia", f.bb.ov) + s1new += einsum("ia,wia->w", x301, u11.bb) + del x301 + x302 = np.zeros((nbos, nbos), dtype=types[float]) + x302 += einsum("wia,xia->wx", gc.aa.bov, u11.aa) + x310 = np.zeros((nbos, nbos), dtype=types[float]) + x310 += einsum("wx->wx", x302) + del x302 + x303 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x303 += einsum("wia,iajb->wjb", u11.aa, v.aabb.ovov) + x304 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x304 += einsum("wia->wia", x303) + x319 += einsum("wia->wia", x303) + del x303 + x304 += einsum("wia->wia", gc.bb.bov) + x305 = np.zeros((nbos, nbos), dtype=types[float]) + x305 += einsum("wia,xia->xw", u11.bb, x304) + del x304 + x310 += einsum("wx->wx", x305) + del x305 + x306 = np.zeros((nbos, nbos), dtype=types[float]) + x306 += einsum("wia,xia->wx", g.aa.bov, u11.aa) + x308 = np.zeros((nbos, nbos), dtype=types[float]) + x308 += einsum("wx->wx", x306) + del x306 + x307 = np.zeros((nbos, nbos), dtype=types[float]) + x307 += einsum("wia,xia->wx", g.bb.bov, u11.bb) + x308 += einsum("wx->wx", x307) + del x307 + x308 += einsum("wx->wx", w) + x309 = np.zeros((nbos, nbos), dtype=types[float]) + x309 += einsum("wx,wy->xy", s2, x308) + x310 += einsum("wx->wx", x309) + del x309 + s2new += einsum("wx->wx", x310) + s2new += einsum("wx->xw", x310) + del x310 + u11new_aa += einsum("wx,wia->xia", x308, u11.aa) + u11new_bb += einsum("wx,wia->xia", x308, u11.bb) + del x308 + x313 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x313 += einsum("wx,xia->wia", s2, g.aa.bov) + x316 += einsum("wia->wia", x313) + del x313 + x314 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x314 += einsum("wia,jbia->wjb", u11.bb, v.aabb.ovov) + x316 += einsum("wia->wia", x314) + del x314 + x316 += einsum("wia->wia", gc.aa.bov) + x323 += einsum("ia,wja->wji", t1.aa, x316) + u11new_aa += einsum("wia,ijab->wjb", x316, x10) * -1 + del x10 + u11new_bb += einsum("wia,ijab->wjb", x316, t2.abab) + del x316 + x317 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x317 += einsum("wx,xia->wia", s2, g.bb.bov) + x319 += einsum("wia->wia", x317) + del x317 + x319 += einsum("wia->wia", gc.bb.bov) + x329 += einsum("ia,wja->wji", t1.bb, x319) + u11new_aa += einsum("wia,jiba->wjb", x319, t2.abab) + u11new_bb += einsum("wia,ijba->wjb", x319, x41) * -1 + del x41 + del x319 + x321 += einsum("ab->ab", f.aa.vv) + u11new_aa += einsum("ab,wib->wia", x321, u11.aa) + del x321 + x322 += einsum("ia->ia", f.aa.ov) + x323 += einsum("ia,wja->wij", x322, u11.aa) + del x322 + x323 += einsum("wij->wij", gc.aa.boo) + x323 += einsum("wx,xij->wij", s2, g.aa.boo) + x323 += einsum("wia,jkia->wjk", u11.bb, v.aabb.ooov) + u11new_aa += einsum("ia,wij->wja", t1.aa, x323) * -1 + del x323 + x324 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x324 += einsum("iabc->ibac", v.aaaa.ovvv) + x324 -= einsum("iabc->ibca", v.aaaa.ovvv) + x325 = np.zeros((nbos, nvir[0], nvir[0]), dtype=types[float]) + x325 -= einsum("wia,ibca->wbc", u11.aa, x324) + del x324 + x325 += einsum("wab->wab", gc.aa.bvv) + x325 += einsum("wx,xab->wab", s2, g.aa.bvv) + x325 += einsum("wia,iabc->wbc", u11.bb, v.bbaa.ovvv) + u11new_aa += einsum("ia,wba->wib", t1.aa, x325) + del x325 + x327 += einsum("ab->ab", f.bb.vv) + u11new_bb += einsum("ab,wib->wia", x327, u11.bb) + del x327 + x328 += einsum("ia->ia", f.bb.ov) + x329 += einsum("ia,wja->wij", x328, u11.bb) + del x328 + x329 += einsum("wij->wij", gc.bb.boo) + x329 += einsum("wx,xij->wij", s2, g.bb.boo) + x329 += einsum("wia,iajk->wjk", u11.aa, v.aabb.ovoo) + u11new_bb += einsum("ia,wij->wja", t1.bb, x329) * -1 + del x329 + x330 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x330 -= einsum("iabc->ibac", v.bbbb.ovvv) + x330 += einsum("iabc->ibca", v.bbbb.ovvv) + x331 = np.zeros((nbos, nvir[1], nvir[1]), dtype=types[float]) + x331 -= einsum("wia,ibac->wbc", u11.bb, x330) + del x330 + x331 += einsum("wab->wab", gc.bb.bvv) + x331 += einsum("wx,xab->wab", s2, g.bb.bvv) + x331 += einsum("wia,iabc->wbc", u11.aa, v.aabb.ovvv) + u11new_bb += einsum("ia,wba->wib", t1.bb, x331) + del x331 + t1new_aa += einsum("ijab,jbca->ic", t2.abab, v.bbaa.ovvv) + t1new_aa += einsum("wab,wib->ia", g.aa.bvv, u11.aa) + t1new_aa += einsum("ia,iabj->jb", t1.bb, v.bbaa.ovvo) + t1new_aa += einsum("ai->ia", f.aa.vo) + t1new_aa += einsum("w,wai->ia", s1, g.aa.bvo) + t1new_bb += einsum("ia,iabj->jb", t1.aa, v.aabb.ovvo) + t1new_bb += einsum("ijab,iacb->jc", t2.abab, v.aabb.ovvv) + t1new_bb += einsum("ai->ia", f.bb.vo) + t1new_bb += einsum("wab,wib->ia", g.bb.bvv, u11.bb) + t1new_bb += einsum("w,wai->ia", s1, g.bb.bvo) + t2new_aaaa -= einsum("aibj->jiab", v.aaaa.vovo) + t2new_aaaa += einsum("aibj->jiba", v.aaaa.vovo) + t2new_bbbb -= einsum("aibj->jiab", v.bbbb.vovo) + t2new_bbbb += einsum("aibj->jiba", v.bbbb.vovo) + t2new_baba += einsum("aibj->jiba", v.aabb.vovo) + t2new_abab += einsum("aibj->ijab", v.aabb.vovo) + s1new += einsum("ia,wia->w", t1.aa, gc.aa.bov) + s1new += einsum("w,wx->x", s1, w) + s1new += einsum("ia,wia->w", t1.bb, gc.bb.bov) + s1new += einsum("w->w", G) + u11new_aa += einsum("wx,xai->wia", s2, g.aa.bvo) + u11new_aa += einsum("wia,iabj->wjb", u11.bb, v.bbaa.ovvo) + u11new_aa += einsum("wai->wia", gc.aa.bvo) + u11new_bb += einsum("wia,iabj->wjb", u11.aa, v.aabb.ovvo) + u11new_bb += einsum("wx,xai->wia", s2, g.bb.bvo) + u11new_bb += einsum("wai->wia", gc.bb.bvo) + + t1new.aa = t1new_aa + t1new.bb = t1new_bb + t2new.abab = t2new_abab + t2new.baba = t2new_baba + t2new.aaaa = t2new_aaaa + t2new.bbbb = t2new_bbbb + u11new.aa = u11new_aa + u11new.bb = u11new_bb + + return {"t1new": t1new, "t2new": t2new, "s1new": s1new, "s2new": s2new, "u11new": u11new} + +def update_lams(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, s2=None, u11=None, l1=None, l2=None, ls1=None, ls2=None, lu11=None, **kwargs): + l1new = Namespace() + l2new = Namespace() + lu11new = Namespace() + + # Get boson coupling creation array: + gc = Namespace( + aa = Namespace( + boo=g.aa.boo.transpose(0, 2, 1), + bov=g.aa.bvo.transpose(0, 2, 1), + bvo=g.aa.bov.transpose(0, 2, 1), + bvv=g.aa.bvv.transpose(0, 2, 1), + ), + bb = Namespace( + boo=g.bb.boo.transpose(0, 2, 1), + bov=g.bb.bvo.transpose(0, 2, 1), + bvo=g.bb.bov.transpose(0, 2, 1), + bvv=g.bb.bvv.transpose(0, 2, 1), + ), + ) + + # L1, L2, LS1 , LS2 and LU11 amplitudes + x0 = np.zeros((nocc[0], nocc[0], nvir[1], nvir[1]), dtype=types[float]) + x0 += einsum("abij,kjac->ikbc", l2.abab, t2.abab) + l1new_aa = np.zeros((nvir[0], nocc[0]), dtype=types[float]) + l1new_aa += einsum("iabc,jibc->aj", v.aabb.ovvv, x0) * -1 + del x0 + x1 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x1 += einsum("ia,bajk->jkib", t1.bb, l2.abab) + x3 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) + x3 += einsum("ia,jkla->jikl", t1.aa, x1) + x68 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) + x68 += einsum("ijkl->ijkl", x3) + x476 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) + x476 += einsum("ijkl->ijkl", x3) + l1new_aa += einsum("iajk,likj->al", v.aabb.ovoo, x3) + l1new_bb = np.zeros((nvir[1], nocc[1]), dtype=types[float]) + l1new_bb += einsum("ijka,jilk->al", v.aabb.ooov, x3) + del x3 + x55 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x55 += einsum("ia,jikb->jkba", t1.bb, x1) + x69 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x69 += einsum("ijab,kjla->kilb", t2.abab, x1) + x180 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x180 += einsum("ijab,ijka->kb", t2.abab, x1) + x190 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x190 += einsum("ia->ia", x180) + del x180 + x262 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x262 += einsum("ijab,ikla->kjlb", t2.abab, x1) + x303 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x303 += einsum("iajk,lkjb->liba", v.aabb.ovoo, x1) + x342 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x342 -= einsum("ijab->ijab", x303) + del x303 + x444 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x444 += einsum("iabc,jkib->jkca", v.bbaa.ovvv, x1) + l2new_baba = np.zeros((nvir[1], nvir[0], nocc[1], nocc[0]), dtype=types[float]) + l2new_baba -= einsum("ijab->baji", x444) + l2new_abab = np.zeros((nvir[0], nvir[1], nocc[0], nocc[1]), dtype=types[float]) + l2new_abab -= einsum("ijab->abij", x444) + del x444 + l1new_aa -= einsum("ijab,kjia->bk", v.bbaa.oovv, x1) + x2 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) + x2 += einsum("abij,klab->ikjl", l2.abab, t2.abab) + x68 += einsum("ijkl->ijkl", x2) + x69 += einsum("ia,jkil->jkla", t1.bb, x68) + x267 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x267 += einsum("ia,ijkl->jkla", t1.aa, x68) + del x68 + x476 += einsum("ijkl->ijkl", x2) + x477 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x477 += einsum("iajb,kilj->klab", v.aabb.ovov, x476) + del x476 + l2new_baba += einsum("ijab->baji", x477) + l2new_abab += einsum("ijab->abij", x477) + del x477 + l1new_aa += einsum("iajk,likj->al", v.aabb.ovoo, x2) + l1new_bb += einsum("ijka,jilk->al", v.aabb.ooov, x2) + del x2 + x4 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x4 += einsum("ai,ja->ij", l1.aa, t1.aa) + x167 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x167 += einsum("ij->ij", x4) + x220 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x220 += einsum("ij->ij", x4) + x335 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x335 += einsum("ij->ij", x4) + x5 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x5 += einsum("w,wia->ia", s1, g.aa.bov) + x6 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x6 += einsum("ia->ia", x5) + x38 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x38 += einsum("ia->ia", x5) + x322 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x322 += einsum("ia->ia", x5) + x512 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x512 += einsum("ia->ia", x5) + l1new_aa -= einsum("ij,ja->ai", x4, x5) + del x4 + del x5 + x6 += einsum("ia->ia", f.aa.ov) + x7 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x7 += einsum("ia,jkab->jkib", x6, t2.aaaa) + del x6 + x8 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x8 += einsum("ijka->kjia", x7) + del x7 + x8 += einsum("ijak->ijka", v.aaaa.oovo) * -1 + x33 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x33 += einsum("ijka->jika", x8) * -1 + x33 += einsum("ijka->kija", x8) + del x8 + x9 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x9 += einsum("ijab,kacb->ijkc", t2.aaaa, v.aaaa.ovvv) + x22 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x22 += einsum("ijka->ijka", x9) * -1 + del x9 + x10 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x10 += einsum("ia,jabc->ijbc", t1.aa, v.aaaa.ovvv) + x11 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x11 += einsum("ia,jkba->jikb", t1.aa, x10) + del x10 + x22 += einsum("ijka->ijka", x11) * -1 + del x11 + x12 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x12 += einsum("ia,jbia->jb", t1.bb, v.aabb.ovov) + x15 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x15 += einsum("ia->ia", x12) + x38 += einsum("ia->ia", x12) + x221 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x221 += einsum("ia->ia", x12) + x341 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x341 += einsum("ia->ia", x12) + x512 += einsum("ia->ia", x12) + del x12 + x13 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x13 += einsum("iajb->jiab", v.aaaa.ovov) * -1 + x13 += einsum("iajb->jiba", v.aaaa.ovov) + x14 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x14 += einsum("ia,ijba->jb", t1.aa, x13) + x15 += einsum("ia->ia", x14) * -1 + x16 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x16 += einsum("ia,jkab->jkib", x15, t2.aaaa) + x22 += einsum("ijka->jika", x16) + del x16 + x351 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x351 += einsum("ia,ja->ij", t1.aa, x15) + x352 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x352 += einsum("ij->ij", x351) + del x351 + x38 += einsum("ia->ia", x14) * -1 + x221 += einsum("ia->ia", x14) * -1 + del x14 + x198 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x198 += einsum("wia,ijba->wjb", u11.aa, x13) + x199 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x199 += einsum("wia->wia", x198) * -1 + x211 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x211 += einsum("wia->wia", x198) * -1 + del x198 + x453 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x453 += einsum("ijab,ikca->kjcb", t2.abab, x13) + x455 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x455 += einsum("ijab->ijab", x453) * -1 + del x453 + x17 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x17 += einsum("ijab,kbla->ijlk", t2.aaaa, v.aaaa.ovov) + x20 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x20 += einsum("ijkl->jilk", x17) + x368 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x368 += einsum("ijkl->jilk", x17) + del x17 + x18 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x18 += einsum("ia,jakb->ikjb", t1.aa, v.aaaa.ovov) + x19 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x19 += einsum("ia,jkla->ijkl", t1.aa, x18) + x20 += einsum("ijkl->ijkl", x19) + x21 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x21 += einsum("ia,jkil->jkla", t1.aa, x20) + del x20 + x22 += einsum("ijka->jika", x21) + del x21 + x33 += einsum("ijka->ikja", x22) * -1 + x33 += einsum("ijka->jkia", x22) + del x22 + x368 += einsum("ijkl->ijkl", x19) + del x19 + x369 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x369 += einsum("abij,ijkl->klab", l2.aaaa, x368) + del x368 + x370 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x370 += einsum("ijab->ijab", x369) + del x369 + x23 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x23 += einsum("ijka->ijka", x18) * -1 + x23 += einsum("ijka->ikja", x18) + x34 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x34 += einsum("ijka->jkia", x18) * -1 + x34 += einsum("ijka->kjia", x18) + x79 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x79 += einsum("ijka->jkia", x18) * -1 + x86 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x86 += einsum("ijka->jkia", x18) * -1 + x86 += einsum("ijka->kjia", x18) + x338 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x338 += einsum("ijka->ijka", x18) + x347 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x347 += einsum("ijka->ijka", x18) + x347 += einsum("ijka->ikja", x18) * -1 + x514 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x514 += einsum("ijka->ijka", x18) * -1 + x514 += einsum("ijka->ikja", x18) + del x18 + x23 += einsum("ijka->jika", v.aaaa.ooov) + x23 += einsum("ijka->jkia", v.aaaa.ooov) * -1 + x24 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x24 += einsum("ijab->jiab", t2.aaaa) * -1 + x24 += einsum("ijab->jiba", t2.aaaa) + x25 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x25 += einsum("ijka,jlba->iklb", x23, x24) + del x23 + x33 += einsum("ijka->ijka", x25) + x53 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x53 += einsum("ijka->ijka", x25) + del x25 + x60 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x60 += einsum("abij,ikba->jk", l2.aaaa, x24) + x61 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x61 += einsum("ij->ij", x60) * -1 + x167 += einsum("ij->ij", x60) * -1 + x209 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x209 += einsum("ij->ij", x60) * -1 + del x60 + x85 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x85 += einsum("iabc,ijca->jb", v.aaaa.ovvv, x24) + x120 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x120 += einsum("ia->ia", x85) * -1 + del x85 + x104 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x104 += einsum("iajb,ikba->kj", v.aaaa.ovov, x24) + x108 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x108 += einsum("ij->ji", x104) * -1 + del x104 + x448 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x448 += einsum("iajb,ikca->kjcb", v.aabb.ovov, x24) + x450 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x450 += einsum("ijab->ijab", x448) * -1 + del x448 + x26 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x26 += einsum("ia,jakb->ijkb", t1.aa, v.aabb.ovov) + x27 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x27 += einsum("ijka->jika", x26) + x508 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x508 += einsum("ijka->jika", x26) + x27 += einsum("ijka->ijka", v.aabb.ooov) + x28 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x28 += einsum("ijab,kljb->ikla", t2.abab, x27) + x33 += einsum("ijka->kjia", x28) + x53 += einsum("ijka->kjia", x28) + del x28 + x88 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x88 += einsum("ijab,ikjb->ka", t2.abab, x27) + x120 += einsum("ia->ia", x88) * -1 + del x88 + x250 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x250 += einsum("ijab,iklb->klja", t2.abab, x27) * -1 + x478 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x478 += einsum("ijka,likb->ljab", x1, x27) + l2new_baba += einsum("ijab->baji", x478) + l2new_abab += einsum("ijab->abij", x478) + del x478 + x29 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x29 += einsum("iabj->ijba", v.aaaa.ovvo) + x29 += einsum("ijab->ijab", v.aaaa.oovv) * -1 + x30 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x30 += einsum("ia,jkba->ijkb", t1.aa, x29) + x33 += einsum("ijka->ijka", x30) + x53 += einsum("ijka->ijka", x30) + del x30 + x96 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x96 += einsum("ia,ijba->jb", t1.aa, x29) + x120 += einsum("ia->ia", x96) + del x96 + x31 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x31 += einsum("ia,jkla->ijlk", t1.aa, v.aaaa.ooov) + x32 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x32 += einsum("ijkl->jkil", x31) + x32 += einsum("ijkl->kjil", x31) * -1 + x52 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x52 += einsum("ijkl->ijkl", x31) + x52 += einsum("ijkl->ikjl", x31) * -1 + x53 += einsum("ia,jikl->jkla", t1.aa, x52) * -1 + del x52 + l1new_aa += einsum("abij,jkib->ak", l2.aaaa, x53) + del x53 + x301 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x301 += einsum("abij,jkli->klba", l2.aaaa, x31) + del x31 + x342 -= einsum("ijab->ijab", x301) + del x301 + x32 += einsum("ijkl->kijl", v.aaaa.oooo) + x32 += einsum("ijkl->kilj", v.aaaa.oooo) * -1 + x33 += einsum("ia,ijkl->kjla", t1.aa, x32) * -1 + del x32 + l1new_aa += einsum("abij,jkia->bk", l2.aaaa, x33) * -1 + del x33 + x34 += einsum("ijka->ikja", v.aaaa.ooov) + x34 += einsum("ijka->kija", v.aaaa.ooov) * -1 + x46 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x46 += einsum("ijab,ikla->kljb", t2.abab, x34) * -1 + del x34 + x35 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x35 += einsum("ijab->jiab", t2.bbbb) * -1 + x35 += einsum("ijab->jiba", t2.bbbb) + x46 += einsum("ijka,klba->ijlb", x27, x35) * -1 + del x27 + x128 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x128 += einsum("iabc,ijca->jb", v.bbbb.ovvv, x35) + x158 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x158 += einsum("ia->ia", x128) * -1 + del x128 + x187 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x187 += einsum("abij,ikba->jk", l2.bbbb, x35) + x188 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x188 += einsum("ij->ij", x187) * -1 + x261 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x261 += einsum("ij->ij", x187) * -1 + x293 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x293 += einsum("ij->ij", x187) * -1 + del x187 + x194 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x194 += einsum("abij,ijbc->ac", l2.bbbb, x35) + x195 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x195 += einsum("ab->ab", x194) * -1 + x435 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x435 += einsum("ab->ab", x194) * -1 + x496 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x496 += einsum("ab->ab", x194) * -1 + del x194 + x454 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x454 += einsum("iajb,jkcb->ikac", v.aabb.ovov, x35) + x455 += einsum("ijab->ijab", x454) * -1 + del x454 + x36 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x36 += einsum("ia,jbka->jikb", t1.bb, v.aabb.ovov) + x37 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x37 += einsum("ijka->ikja", x36) + x41 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x41 += einsum("ijka->ikja", x36) + x304 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x304 += einsum("ijka,ljkb->ilab", x1, x36) + x342 -= einsum("ijab->ijab", x304) + del x304 + x510 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x510 += einsum("ijka->ikja", x36) + x37 += einsum("iajk->ijka", v.aabb.ovoo) + x46 += einsum("ijab,kjla->kilb", t2.abab, x37) * -1 + x132 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x132 += einsum("ijab,ijka->kb", t2.abab, x37) + x158 += einsum("ia->ia", x132) * -1 + del x132 + x242 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x242 += einsum("ijab,ikla->jklb", t2.abab, x37) + x246 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x246 += einsum("ijka->kjia", x242) + x257 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x257 += einsum("ijka->kjia", x242) + del x242 + x250 += einsum("ijab,iklb->jkla", x24, x37) * -1 + x473 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) + x473 += einsum("ia,jkla->ijkl", t1.aa, x37) + x474 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) + x474 += einsum("ijkl->jikl", x473) + del x473 + x38 += einsum("ia->ia", f.aa.ov) + x46 += einsum("ia,jkab->ijkb", x38, t2.abab) + x89 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x89 += einsum("ia,ijba->jb", x38, x24) + x120 += einsum("ia->ia", x89) * -1 + del x89 + x107 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x107 += einsum("ia,ja->ij", t1.aa, x38) + x108 += einsum("ij->ji", x107) + del x107 + x134 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x134 += einsum("ia,ijab->jb", x38, t2.abab) + x158 += einsum("ia->ia", x134) + del x134 + x200 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) + x200 += einsum("ia,wja->wij", x38, u11.aa) + x216 = np.zeros((nbos), dtype=types[float]) + x216 += einsum("ia,wia->w", x38, u11.aa) + x219 = np.zeros((nbos), dtype=types[float]) + x219 += einsum("w->w", x216) + del x216 + lu11new_aa = np.zeros((nbos, nvir[0], nocc[0]), dtype=types[float]) + lu11new_aa += einsum("w,ia->wai", ls1, x38) * 2 + x39 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) + x39 += einsum("ia,jkla->jkil", t1.bb, v.aabb.ooov) + x43 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) + x43 += einsum("ijkl->ijlk", x39) + x474 += einsum("ijkl->ijlk", x39) + del x39 + x40 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) + x40 += einsum("ijab,kalb->ikjl", t2.abab, v.aabb.ovov) + x43 += einsum("ijkl->jilk", x40) + x474 += einsum("ijkl->jilk", x40) + del x40 + x41 += einsum("iajk->ijka", v.aabb.ovoo) + x42 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) + x42 += einsum("ia,jkla->ijkl", t1.aa, x41) + del x41 + x43 += einsum("ijkl->jikl", x42) + del x42 + x43 += einsum("ijkl->ijkl", v.aabb.oooo) + x46 += einsum("ia,jkil->jkla", t1.bb, x43) * -1 + x250 += einsum("ia,ijkl->jkla", t1.aa, x43) * -1 + del x43 + x44 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x44 += einsum("ia,jbca->jibc", t1.bb, v.aabb.ovvv) + x45 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x45 += einsum("ijab->ijab", x44) + x311 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x311 += einsum("ijab->ijab", x44) + x455 += einsum("ijab->ijab", x44) + del x44 + x45 += einsum("iabj->ijab", v.aabb.ovvo) + x46 += einsum("ia,jkab->jikb", t1.aa, x45) + x46 += einsum("ijak->ijka", v.aabb.oovo) + x46 += einsum("ia,jkba->jkib", t1.bb, v.aabb.oovv) + x46 += einsum("ijab,kacb->kijc", t2.abab, v.aabb.ovvv) + l1new_aa += einsum("abij,kijb->ak", l2.abab, x46) * -1 + del x46 + x47 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x47 += einsum("abij,kjcb->ikac", l2.abab, t2.abab) + x50 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x50 += einsum("ijab->ijab", x47) + x349 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x349 += einsum("ijab,kica->kjcb", x13, x47) + del x47 + x362 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x362 += einsum("ijab->ijab", x349) * -1 + del x349 + x48 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x48 += einsum("abij->jiab", l2.aaaa) + x48 += einsum("abij->jiba", l2.aaaa) * -1 + x55 += einsum("ijab,ikca->kjcb", t2.abab, x48) * -1 + x49 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x49 += einsum("ijab->jiab", t2.aaaa) + x49 += einsum("ijab->jiba", t2.aaaa) * -1 + x50 += einsum("ijab,ikac->jkbc", x48, x49) + x165 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x165 += einsum("ai,ijba->jb", l1.aa, x49) + x169 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x169 += einsum("ia->ia", x165) * -1 + del x165 + x174 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x174 += einsum("abij,ijcb->ac", l2.aaaa, x49) + x175 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x175 += einsum("ab->ab", x174) * -1 + x358 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x358 += einsum("ab->ab", x174) * -1 + x494 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x494 += einsum("ab->ab", x174) * -1 + del x174 + x259 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x259 += einsum("abij,ikca->kjcb", l2.abab, x49) * -1 + x267 += einsum("ijka,ilba->ljkb", x1, x49) * -1 + x344 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x344 += einsum("ijab,ikca->jkbc", x13, x49) + del x13 + x345 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x345 += einsum("ijab->jiba", x344) + del x344 + x350 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x350 += einsum("iajb,ikab->kj", v.aaaa.ovov, x49) + x352 += einsum("ij->ij", x350) * -1 + del x350 + x355 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x355 += einsum("iajb,ijac->cb", v.aaaa.ovov, x49) + x356 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x356 += einsum("ab->ab", x355) * -1 + del x355 + x486 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x486 += einsum("iajb,ijca->cb", v.aaaa.ovov, x49) + x487 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x487 += einsum("ab->ab", x486) * -1 + del x486 + x51 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x51 += einsum("iabc->ibca", v.aaaa.ovvv) * -1 + x51 += einsum("iabc->ibac", v.aaaa.ovvv) + x458 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x458 += einsum("ia,jbac->ijbc", t1.aa, x51) + x459 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x459 += einsum("ijab->jiab", x458) * -1 + del x458 + l1new_aa += einsum("ijab,jabc->ci", x50, x51) + del x50 + x54 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x54 += einsum("ijab->jiab", t2.bbbb) + x54 += einsum("ijab->jiba", t2.bbbb) * -1 + x55 += einsum("abij,jkcb->ikac", l2.abab, x54) * -1 + l1new_aa += einsum("iabc,jiba->cj", v.bbaa.ovvv, x55) * -1 + del x55 + x183 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x183 += einsum("ai,ijba->jb", l1.bb, x54) + x190 += einsum("ia->ia", x183) * -1 + del x183 + x56 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x56 += einsum("ia,abjk->jikb", t1.aa, l2.abab) + x62 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x62 += einsum("ijab,kljb->klia", t2.abab, x56) + x69 += einsum("ijab,klib->klja", x54, x56) * -1 + x163 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x163 += einsum("ijab,ikjb->ka", t2.abab, x56) + x169 += einsum("ia->ia", x163) + del x163 + x259 += einsum("ia,ijkb->jkab", t1.aa, x56) + x267 += einsum("ijab,iklb->klja", t2.abab, x56) + x374 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x374 += einsum("ijka,jilb->lkba", v.aabb.ooov, x56) + x415 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x415 -= einsum("ijab->ijab", x374) + del x374 + x377 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x377 += einsum("ijka,ijlb->lkba", x26, x56) + x415 -= einsum("ijab->ijab", x377) + del x377 + x446 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x446 += einsum("iabc,jikb->jkac", v.aabb.ovvv, x56) + l2new_baba -= einsum("ijab->baji", x446) + l2new_abab -= einsum("ijab->abij", x446) + del x446 + x479 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x479 += einsum("ijka,likb->ljab", x37, x56) + del x37 + l2new_baba += einsum("ijab->baji", x479) + l2new_abab += einsum("ijab->abij", x479) + del x479 + x500 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x500 += einsum("ia,jikb->jkab", x38, x56) + del x38 + l2new_baba += einsum("ijab->baji", x500) * -1 + l2new_abab += einsum("ijab->abij", x500) * -1 + del x500 + l1new_aa += einsum("ijab,kijb->ak", x45, x56) * -1 + del x45 + l1new_bb -= einsum("ijab,jika->bk", v.aabb.oovv, x56) + l2new_baba += einsum("ijka,iklb->balj", x347, x56) * -1 + l2new_abab += einsum("ijka,iklb->abjl", x514, x56) + del x514 + x57 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x57 += einsum("ia,abjk->kjib", t1.aa, l2.aaaa) + x58 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x58 += einsum("ijka->ijka", x57) + x58 += einsum("ijka->jika", x57) * -1 + x62 += einsum("ijab,iklb->klja", x49, x58) + x64 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x64 += einsum("ia,ijkb->jkba", t1.aa, x58) * -1 + l1new_aa += einsum("iabc,jiac->bj", x51, x64) + del x64 + x69 += einsum("ijab,ikla->kljb", t2.abab, x58) * -1 + x348 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x348 += einsum("ijka,iljb->lkba", x347, x58) + del x58 + del x347 + x362 += einsum("ijab->ijab", x348) + del x348 + x71 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x71 += einsum("ia,jkla->kjli", t1.aa, x57) + x72 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x72 += einsum("ia,ijkl->jlka", t1.aa, x71) + x73 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x73 += einsum("ijka->ijka", x72) + del x72 + x122 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x122 += einsum("ijkl->ijkl", x71) + x122 += einsum("ijkl->ijlk", x71) * -1 + l1new_aa += einsum("ijka,ljki->al", v.aaaa.ooov, x122) + del x122 + x367 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x367 += einsum("iajb,klij->klab", v.aaaa.ovov, x71) + del x71 + x370 += einsum("ijab->ijab", x367) + del x367 + x75 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x75 += einsum("ijka->ijka", x57) * -1 + x75 += einsum("ijka->jika", x57) + x481 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x481 += einsum("ijka,iljb->lkba", x26, x75) + del x26 + l2new_baba += einsum("ijab->baji", x481) * -1 + l2new_abab += einsum("ijab->abij", x481) * -1 + del x481 + l1new_aa += einsum("ijab,jkia->bk", x29, x75) + del x75 + del x29 + x164 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x164 += einsum("ijab,ijka->kb", x49, x57) + del x49 + x169 += einsum("ia->ia", x164) * -1 + del x164 + x302 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x302 += einsum("iabc,jkib->kjac", v.aaaa.ovvv, x57) + x342 -= einsum("ijab->ijab", x302) + del x302 + x313 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x313 += einsum("ijka->ijka", x57) + x313 -= einsum("ijka->jika", x57) + x480 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x480 += einsum("ijka,ljib->lkba", v.aabb.ooov, x313) + l2new_baba -= einsum("ijab->baji", x480) + l2new_abab -= einsum("ijab->abij", x480) + del x480 + x361 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x361 += einsum("ia,jkib->jkba", x15, x57) + del x15 + x362 += einsum("ijab->ijab", x361) + del x361 + x59 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x59 += einsum("abij,kjab->ik", l2.abab, t2.abab) + x61 += einsum("ij->ij", x59) + x62 += einsum("ia,jk->jkia", t1.aa, x61) + x69 += einsum("ia,jk->jkia", t1.bb, x61) * -1 + x360 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x360 += einsum("ij,jakb->ikab", x61, v.aaaa.ovov) + x362 += einsum("ijab->ijba", x360) * -1 + del x360 + l1new_aa += einsum("ia,ji->aj", f.aa.ov, x61) * -1 + del x61 + x167 += einsum("ij->ij", x59) + x209 += einsum("ij->ij", x59) + del x59 + x63 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x63 -= einsum("iajb->jiab", v.aaaa.ovov) + x63 += einsum("iajb->jiba", v.aaaa.ovov) + x332 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x332 += einsum("wia,ijba->wjb", u11.aa, x63) + x333 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x333 -= einsum("wia->wia", x332) + x502 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x502 -= einsum("wia->wia", x332) + del x332 + x340 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x340 += einsum("ia,ijba->jb", t1.aa, x63) + x341 -= einsum("ia->ia", x340) + x342 += einsum("ai,jb->ijab", l1.aa, x341) + del x341 + x512 -= einsum("ia->ia", x340) + del x340 + l1new_aa += einsum("ijka,kjab->bi", x62, x63) * -1 + del x62 + del x63 + x65 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x65 += einsum("ia,bcda->ibdc", t1.aa, v.aaaa.vvvv) + x66 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x66 += einsum("iabc->iabc", x65) * -1 + del x65 + x66 += einsum("aibc->iabc", v.aaaa.vovv) + x67 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x67 += einsum("iabc->iabc", x66) + x67 += einsum("iabc->ibac", x66) * -1 + del x66 + l1new_aa += einsum("abij,ibac->cj", l2.aaaa, x67) * -1 + del x67 + x69 += einsum("ai,jkab->ijkb", l1.aa, t2.abab) * -1 + l1new_aa += einsum("iajb,kijb->ak", v.aabb.ovov, x69) + del x69 + x70 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x70 += einsum("ai,jkab->ikjb", l1.aa, t2.aaaa) + x73 += einsum("ijka->ijka", x70) * 0.9999999999999993 + del x70 + x74 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x74 += einsum("ijka->ijka", x73) * -1 + x74 += einsum("ijka->ikja", x73) + del x73 + l1new_aa += einsum("iajb,kjia->bk", v.aaaa.ovov, x74) * -1 + del x74 + x76 = np.zeros((nocc[1], nvir[0], nvir[0], nvir[1]), dtype=types[float]) + x76 += einsum("abci->iabc", v.aabb.vvvo) + x76 += einsum("ia,bcda->ibcd", t1.bb, v.aabb.vvvv) + l1new_aa += einsum("abij,jacb->ci", l2.abab, x76) + del x76 + x77 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x77 += einsum("abij,klba->ijlk", l2.aaaa, t2.aaaa) + x78 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x78 += einsum("ijkl->jikl", x77) + x78 += einsum("ijkl->jilk", x77) * -1 + x366 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x366 += einsum("iajb,klij->lkba", v.aaaa.ovov, x77) + del x77 + x370 += einsum("ijab->ijab", x366) + del x366 + l2new_aaaa = np.zeros((nvir[0], nvir[0], nocc[0], nocc[0]), dtype=types[float]) + l2new_aaaa += einsum("ijab->abij", x370) + l2new_aaaa += einsum("ijab->baij", x370) * -1 + del x370 + x79 += einsum("ijka->ikja", v.aaaa.ooov) + l1new_aa += einsum("ijkl,klia->aj", x78, x79) * -1 + del x78 + del x79 + x80 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x80 += einsum("w,wai->ia", s1, g.aa.bvo) + x120 += einsum("ia->ia", x80) + del x80 + x81 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x81 += einsum("wab,wib->ia", g.aa.bvv, u11.aa) + x120 += einsum("ia->ia", x81) + del x81 + x82 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x82 += einsum("ia,iabj->jb", t1.bb, v.bbaa.ovvo) + x120 += einsum("ia->ia", x82) + del x82 + x83 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x83 += einsum("ijab,ikja->kb", t2.aaaa, v.aaaa.ooov) + x120 += einsum("ia->ia", x83) + del x83 + x84 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x84 += einsum("ijab,jbca->ic", t2.abab, v.bbaa.ovvv) + x120 += einsum("ia->ia", x84) + del x84 + x86 += einsum("ijka->ikja", v.aaaa.ooov) + x87 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x87 += einsum("ijab,ijkb->ka", t2.aaaa, x86) + del x86 + x120 += einsum("ia->ia", x87) * -1 + del x87 + x90 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x90 += einsum("w,wia->ia", s1, g.bb.bov) + x94 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x94 += einsum("ia->ia", x90) + x227 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x227 += einsum("ia->ia", x90) + x297 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x297 += einsum("ia->ia", x90) + x394 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x394 += einsum("ia->ia", x90) + x513 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x513 += einsum("ia->ia", x90) + del x90 + x91 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x91 += einsum("ia,iajb->jb", t1.aa, v.aabb.ovov) + x94 += einsum("ia->ia", x91) + x233 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x233 += einsum("ia->ia", x91) + x297 += einsum("ia->ia", x91) + x414 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x414 += einsum("ia->ia", x91) + x513 += einsum("ia->ia", x91) + del x91 + x92 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x92 += einsum("iajb->jiab", v.bbbb.ovov) * -1 + x92 += einsum("iajb->jiba", v.bbbb.ovov) + x93 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x93 += einsum("ia,ijba->jb", t1.bb, x92) + x94 += einsum("ia->ia", x93) * -1 + x233 += einsum("ia->ia", x93) * -1 + x234 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x234 += einsum("ia,jkab->jkib", x233, t2.bbbb) + x239 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x239 += einsum("ijka->jika", x234) + del x234 + x428 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x428 += einsum("ia,ja->ij", t1.bb, x233) + x429 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x429 += einsum("ij->ij", x428) + del x428 + x297 += einsum("ia->ia", x93) * -1 + del x93 + x283 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x283 += einsum("wia,ijba->wjb", u11.bb, x92) + x284 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x284 += einsum("wia->wia", x283) * -1 + x295 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x295 += einsum("wia->wia", x283) * -1 + del x283 + x427 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x427 += einsum("ijab,ikba->jk", t2.bbbb, x92) + x429 += einsum("ij->ij", x427) * -1 + del x427 + x449 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x449 += einsum("ijab,jkcb->ikac", t2.abab, x92) + x450 += einsum("ijab->ijab", x449) * -1 + del x449 + x489 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x489 += einsum("ijab,ijac->bc", t2.bbbb, x92) + x490 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x490 += einsum("ab->ab", x489) * -1 + del x489 + x94 += einsum("ia->ia", f.bb.ov) + x95 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x95 += einsum("ia,jiba->jb", x94, t2.abab) + x120 += einsum("ia->ia", x95) + del x95 + x133 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x133 += einsum("ia,ijba->jb", x94, x35) + x158 += einsum("ia->ia", x133) * -1 + del x133 + x148 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x148 += einsum("ia,ja->ij", t1.bb, x94) + x149 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x149 += einsum("ij->ji", x148) + del x148 + x217 = np.zeros((nbos), dtype=types[float]) + x217 += einsum("ia,wia->w", x94, u11.bb) + x219 += einsum("w->w", x217) + del x217 + x250 += einsum("ia,jkba->jikb", x94, t2.abab) + x285 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) + x285 += einsum("ia,wja->wij", x94, u11.bb) + x501 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x501 += einsum("ia,jkib->jkba", x94, x1) + l2new_baba += einsum("ijab->baji", x501) * -1 + l2new_abab += einsum("ijab->abij", x501) * -1 + del x501 + lu11new_bb = np.zeros((nbos, nvir[1], nocc[1]), dtype=types[float]) + lu11new_bb += einsum("w,ia->wai", ls1, x94) * 2 + del x94 + x97 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) + x97 += einsum("ia,wja->wji", t1.aa, g.aa.bov) + x98 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) + x98 += einsum("wij->wij", x97) + x521 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) + x521 += einsum("wij->wij", x97) + del x97 + x98 += einsum("wij->wij", g.aa.boo) + x99 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x99 += einsum("wia,wij->ja", u11.aa, x98) + x120 += einsum("ia->ia", x99) * -1 + del x99 + x100 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x100 += einsum("w,wij->ij", s1, g.aa.boo) + x108 += einsum("ij->ij", x100) + x324 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x324 += einsum("ij->ij", x100) + del x100 + x101 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x101 += einsum("wia,wja->ij", g.aa.bov, u11.aa) + x108 += einsum("ij->ij", x101) + x324 += einsum("ij->ij", x101) + del x101 + x102 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x102 += einsum("ia,jkia->jk", t1.bb, v.aabb.ooov) + x108 += einsum("ij->ij", x102) + x328 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x328 += einsum("ij->ij", x102) + del x102 + x103 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x103 += einsum("ijab,kajb->ik", t2.abab, v.aabb.ovov) + x108 += einsum("ij->ji", x103) + x352 += einsum("ij->ij", x103) + del x103 + x353 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x353 += einsum("ij,abik->kjab", x352, l2.aaaa) + del x352 + x362 += einsum("ijab->ijba", x353) + del x353 + x105 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x105 += einsum("ijka->ikja", v.aaaa.ooov) + x105 += einsum("ijka->kija", v.aaaa.ooov) * -1 + x106 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x106 += einsum("ia,ijka->jk", t1.aa, x105) + x108 += einsum("ij->ij", x106) * -1 + del x106 + x200 += einsum("wia,ijka->wjk", u11.aa, x105) * -1 + x108 += einsum("ij->ij", f.aa.oo) + x109 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x109 += einsum("ia,ij->ja", t1.aa, x108) + x120 += einsum("ia->ia", x109) * -1 + del x109 + x492 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x492 += einsum("ij,abjk->ikab", x108, l2.abab) + l2new_baba += einsum("ijab->baji", x492) * -1 + l2new_abab += einsum("ijab->abij", x492) * -1 + del x492 + l1new_aa += einsum("ai,ji->aj", l1.aa, x108) * -1 + del x108 + x110 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x110 += einsum("w,wab->ab", s1, g.aa.bvv) + x114 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x114 += einsum("ab->ab", x110) + x317 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x317 += einsum("ab->ab", x110) + x487 += einsum("ab->ab", x110) + del x110 + x111 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x111 += einsum("ia,iabc->bc", t1.bb, v.bbaa.ovvv) + x114 += einsum("ab->ab", x111) + x320 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x320 += einsum("ab->ab", x111) + x487 += einsum("ab->ab", x111) + del x111 + x112 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x112 += einsum("iabc->ibca", v.aaaa.ovvv) + x112 += einsum("iabc->ibac", v.aaaa.ovvv) * -1 + x113 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x113 += einsum("ia,ibac->bc", t1.aa, x112) + del x112 + x114 += einsum("ab->ab", x113) * -1 + x487 += einsum("ab->ab", x113) * -1 + del x113 + x114 += einsum("ab->ab", f.aa.vv) + x115 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x115 += einsum("ia,ba->ib", t1.aa, x114) + x120 += einsum("ia->ia", x115) + del x115 + l1new_aa += einsum("ai,ab->bi", l1.aa, x114) + del x114 + x116 = np.zeros((nbos), dtype=types[float]) + x116 += einsum("ia,wia->w", t1.aa, g.aa.bov) + x118 = np.zeros((nbos), dtype=types[float]) + x118 += einsum("w->w", x116) + x515 = np.zeros((nbos), dtype=types[float]) + x515 += einsum("w->w", x116) + del x116 + x117 = np.zeros((nbos), dtype=types[float]) + x117 += einsum("ia,wia->w", t1.bb, g.bb.bov) + x118 += einsum("w->w", x117) + x515 += einsum("w->w", x117) + del x117 + x118 += einsum("w->w", G) + x119 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x119 += einsum("w,wia->ia", x118, u11.aa) + x120 += einsum("ia->ia", x119) + del x119 + x157 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x157 += einsum("w,wia->ia", x118, u11.bb) + x158 += einsum("ia->ia", x157) + del x157 + x218 = np.zeros((nbos), dtype=types[float]) + x218 += einsum("w,wx->x", x118, s2) + del x118 + x219 += einsum("w->w", x218) + del x218 + x120 += einsum("ai->ia", f.aa.vo) + l1new_bb += einsum("ia,abij->bj", x120, l2.abab) + ls1new = np.zeros((nbos), dtype=types[float]) + ls1new += einsum("ia,wai->w", x120, lu11.aa) + x121 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x121 -= einsum("abij->jiab", l2.aaaa) + x121 += einsum("abij->jiba", l2.aaaa) + x204 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x204 += einsum("wia,ijba->wjb", u11.aa, x121) + x205 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x205 -= einsum("wia->wia", x204) + x330 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x330 -= einsum("wia->wia", x204) + del x204 + l1new_aa += einsum("ia,ijba->bj", x120, x121) * -1 + del x120 + lu11new_aa -= einsum("wai,ijba->wbj", g.aa.bvo, x121) + del x121 + x123 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x123 += einsum("w,wai->ia", s1, g.bb.bvo) + x158 += einsum("ia->ia", x123) + del x123 + x124 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x124 += einsum("wab,wib->ia", g.bb.bvv, u11.bb) + x158 += einsum("ia->ia", x124) + del x124 + x125 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x125 += einsum("ia,iabj->jb", t1.aa, v.aabb.ovvo) + x158 += einsum("ia->ia", x125) + del x125 + x126 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x126 += einsum("ijab,iacb->jc", t2.abab, v.aabb.ovvv) + x158 += einsum("ia->ia", x126) + del x126 + x127 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x127 += einsum("ijab,jkib->ka", t2.bbbb, v.bbbb.ooov) + x158 += einsum("ia->ia", x127) + del x127 + x129 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x129 += einsum("ia,jakb->ikjb", t1.bb, v.bbbb.ovov) + x130 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x130 += einsum("ijka->jkia", x129) * -1 + x130 += einsum("ijka->kjia", x129) + x236 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x236 += einsum("ia,jkla->ijkl", t1.bb, x129) + x237 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x237 += einsum("ijkl->ijkl", x236) + x418 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x418 += einsum("ijkl->ijkl", x236) + del x236 + x240 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x240 += einsum("ijka->ijka", x129) * -1 + x240 += einsum("ijka->ikja", x129) + x247 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x247 += einsum("ijka->jkia", x129) * -1 + x247 += einsum("ijka->kjia", x129) + x276 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x276 += einsum("ijka->jkia", x129) * -1 + x411 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x411 += einsum("ijka->ijka", x129) + x423 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x423 += einsum("ijka->ijka", x129) + x423 += einsum("ijka->ikja", x129) * -1 + x482 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x482 += einsum("ijka->ijka", x129) * -1 + x482 += einsum("ijka->ikja", x129) + del x129 + x483 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x483 += einsum("ijka,jklb->ilab", x1, x482) + del x482 + l2new_baba += einsum("ijab->baji", x483) * -1 + l2new_abab += einsum("ijab->abij", x483) * -1 + del x483 + x130 += einsum("ijka->ikja", v.bbbb.ooov) + x131 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x131 += einsum("ijab,jika->kb", t2.bbbb, x130) + del x130 + x158 += einsum("ia->ia", x131) * -1 + del x131 + x135 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x135 += einsum("iabj->ijba", v.bbbb.ovvo) + x135 += einsum("ijab->ijab", v.bbbb.oovv) * -1 + x136 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x136 += einsum("ia,ijba->jb", t1.bb, x135) + x158 += einsum("ia->ia", x136) + del x136 + x243 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x243 += einsum("ia,jkba->ijkb", t1.bb, x135) + x246 += einsum("ijka->ijka", x243) + x257 += einsum("ijka->ijka", x243) + del x243 + x137 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) + x137 += einsum("ia,wja->wji", t1.bb, g.bb.bov) + x138 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) + x138 += einsum("wij->wij", x137) + x528 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) + x528 += einsum("wij->wij", x137) + del x137 + x138 += einsum("wij->wij", g.bb.boo) + x139 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x139 += einsum("wia,wij->ja", u11.bb, x138) + x158 += einsum("ia->ia", x139) * -1 + del x139 + x140 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x140 += einsum("w,wij->ij", s1, g.bb.boo) + x149 += einsum("ij->ij", x140) + x396 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x396 += einsum("ij->ij", x140) + del x140 + x141 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x141 += einsum("wia,wja->ij", g.bb.bov, u11.bb) + x149 += einsum("ij->ij", x141) + x396 += einsum("ij->ij", x141) + del x141 + x142 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x142 += einsum("ia,iajk->jk", t1.aa, v.aabb.ovoo) + x149 += einsum("ij->ij", x142) + x400 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x400 += einsum("ij->ij", x142) + del x142 + x143 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x143 += einsum("ijab,iakb->jk", t2.abab, v.aabb.ovov) + x149 += einsum("ij->ji", x143) + x429 += einsum("ij->ij", x143) + del x143 + x430 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x430 += einsum("ij,abik->kjab", x429, l2.bbbb) + del x429 + x439 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x439 += einsum("ijab->ijba", x430) + del x430 + x144 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x144 += einsum("iajb->jiab", v.bbbb.ovov) + x144 += einsum("iajb->jiba", v.bbbb.ovov) * -1 + x145 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x145 += einsum("ijab,ikab->jk", t2.bbbb, x144) + x149 += einsum("ij->ji", x145) * -1 + del x145 + x432 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x432 += einsum("ijab,ijac->bc", t2.bbbb, x144) + x433 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x433 += einsum("ab->ab", x432) * -1 + del x432 + x462 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x462 += einsum("ijab,ikcb->kjca", x144, x54) + x464 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x464 += einsum("ijab->jiab", x462) + del x462 + x146 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x146 += einsum("ijka->ikja", v.bbbb.ooov) + x146 += einsum("ijka->kija", v.bbbb.ooov) * -1 + x147 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x147 += einsum("ia,ijka->jk", t1.bb, x146) + x149 += einsum("ij->ij", x147) * -1 + del x147 + x285 += einsum("wia,ijka->wjk", u11.bb, x146) * -1 + x149 += einsum("ij->ij", f.bb.oo) + x150 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x150 += einsum("ia,ij->ja", t1.bb, x149) + x158 += einsum("ia->ia", x150) * -1 + del x150 + x493 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x493 += einsum("ij,abkj->kiab", x149, l2.abab) + l2new_baba += einsum("ijab->baji", x493) * -1 + l2new_abab += einsum("ijab->abij", x493) * -1 + del x493 + l1new_bb += einsum("ai,ji->aj", l1.bb, x149) * -1 + del x149 + x151 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x151 += einsum("w,wab->ab", s1, g.bb.bvv) + x155 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x155 += einsum("ab->ab", x151) + x389 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x389 += einsum("ab->ab", x151) + x490 += einsum("ab->ab", x151) + del x151 + x152 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x152 += einsum("ia,iabc->bc", t1.aa, v.aabb.ovvv) + x155 += einsum("ab->ab", x152) + x392 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x392 += einsum("ab->ab", x152) + x490 += einsum("ab->ab", x152) + del x152 + x153 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x153 += einsum("iabc->ibca", v.bbbb.ovvv) + x153 += einsum("iabc->ibac", v.bbbb.ovvv) * -1 + x154 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x154 += einsum("ia,ibac->bc", t1.bb, x153) + x155 += einsum("ab->ab", x154) * -1 + x490 += einsum("ab->ab", x154) * -1 + del x154 + x155 += einsum("ab->ab", f.bb.vv) + x156 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x156 += einsum("ia,ba->ib", t1.bb, x155) + x158 += einsum("ia->ia", x156) + del x156 + l1new_bb += einsum("ai,ab->bi", l1.bb, x155) + del x155 + x158 += einsum("ai->ia", f.bb.vo) + l1new_aa += einsum("ia,baji->bj", x158, l2.abab) + ls1new += einsum("ia,wai->w", x158, lu11.bb) + x159 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x159 += einsum("w,wia->ia", ls1, u11.aa) + x169 += einsum("ia->ia", x159) * -1 + del x159 + x160 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x160 += einsum("ai,jiba->jb", l1.bb, t2.abab) + x169 += einsum("ia->ia", x160) * -1 + del x160 + x161 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) + x161 += einsum("ia,waj->wji", t1.aa, lu11.aa) + x162 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x162 += einsum("wia,wij->ja", u11.aa, x161) + x169 += einsum("ia->ia", x162) + del x162 + x166 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x166 += einsum("wai,wja->ij", lu11.aa, u11.aa) + x167 += einsum("ij->ij", x166) + x168 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x168 += einsum("ia,ij->ja", t1.aa, x167) + x169 += einsum("ia->ia", x168) + del x168 + x498 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x498 += einsum("ij,jakb->ikab", x167, v.aabb.ovov) + l2new_baba += einsum("ijab->baji", x498) * -1 + l2new_abab += einsum("ijab->abij", x498) * -1 + del x498 + l1new_aa += einsum("ij,jkia->ak", x167, x105) * -1 + del x105 + l1new_bb += einsum("ij,jika->ak", x167, v.aabb.ooov) * -1 + ls1new += einsum("ij,wji->w", x167, g.aa.boo) * -1 + del x167 + x209 += einsum("ij->ij", x166) + x210 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) + x210 += einsum("w,ij->wij", s1, x209) + del x209 + x220 += einsum("ij->ij", x166) + x335 += einsum("ij->ij", x166) + del x166 + x336 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x336 += einsum("ij,jakb->ikab", x335, v.aaaa.ovov) + del x335 + x342 += einsum("ijab->ijba", x336) + del x336 + x169 += einsum("ia->ia", t1.aa) * -1 + l1new_bb += einsum("ia,iajb->bj", x169, v.aabb.ovov) * -1 + ls1new += einsum("ia,wia->w", x169, g.aa.bov) * -1 + x170 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x170 += einsum("iajb->jiab", v.aaaa.ovov) + x170 -= einsum("iajb->jiba", v.aaaa.ovov) + l1new_aa += einsum("ia,ijba->bj", x169, x170) * -1 + del x169 + del x170 + x171 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x171 += einsum("ai,ib->ab", l1.aa, t1.aa) + x175 += einsum("ab->ab", x171) + del x171 + x172 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x172 += einsum("wai,wib->ab", lu11.aa, u11.aa) + x175 += einsum("ab->ab", x172) + x300 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x300 += einsum("ab,icjb->ijac", x172, v.aaaa.ovov) + x342 += einsum("ijab->ijab", x300) + del x300 + x494 += einsum("ab->ab", x172) + del x172 + x173 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x173 += einsum("abij,ijcb->ac", l2.abab, t2.abab) + x175 += einsum("ab->ab", x173) + l1new_aa += einsum("ab,iabc->ci", x175, x51) * -1 + del x51 + l1new_bb += einsum("ab,icab->ci", x175, v.bbaa.ovvv) + ls1new += einsum("ab,wab->w", x175, g.aa.bvv) + del x175 + x358 += einsum("ab->ab", x173) + x359 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x359 += einsum("ab,ibjc->ijac", x358, v.aaaa.ovov) + del x358 + x362 += einsum("ijab->jiab", x359) * -1 + del x359 + x494 += einsum("ab->ab", x173) + del x173 + x495 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x495 += einsum("ab,ibjc->ijac", x494, v.aabb.ovov) + del x494 + l2new_baba += einsum("ijab->baji", x495) * -1 + l2new_abab += einsum("ijab->abij", x495) * -1 + del x495 + x176 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x176 += einsum("w,wia->ia", ls1, u11.bb) + x190 += einsum("ia->ia", x176) * -1 + del x176 + x177 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x177 += einsum("ai,ijab->jb", l1.aa, t2.abab) + x190 += einsum("ia->ia", x177) * -1 + del x177 + x178 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) + x178 += einsum("ia,waj->wji", t1.bb, lu11.bb) + x179 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x179 += einsum("wia,wij->ja", u11.bb, x178) + x190 += einsum("ia->ia", x179) + del x179 + x181 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x181 += einsum("ia,abjk->kjib", t1.bb, l2.bbbb) + x182 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x182 += einsum("ijka,jiba->kb", x181, x54) + x190 += einsum("ia->ia", x182) * -1 + del x182 + x260 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x260 += einsum("ijka->ijka", x181) + x260 += einsum("ijka->jika", x181) * -1 + x262 += einsum("ijka,ilab->jlkb", x260, x35) + x263 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x263 += einsum("ia,ijkb->jkba", t1.bb, x260) * -1 + x267 += einsum("ijab,jklb->ikla", t2.abab, x260) * -1 + l1new_bb += einsum("ijab,jkia->bk", x135, x260) * -1 + del x135 + l2new_baba += einsum("ijka,likb->abjl", x260, x36) + del x260 + x269 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x269 += einsum("ia,jkla->kjli", t1.bb, x181) + x270 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x270 += einsum("ia,ijkl->jlka", t1.bb, x269) + x271 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x271 += einsum("ijka->ijka", x270) + del x270 + x280 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x280 += einsum("ijkl->ijkl", x269) * -1 + x280 += einsum("ijkl->ijlk", x269) + l1new_bb += einsum("ijka,ljki->al", v.bbbb.ooov, x280) * -1 + del x280 + x417 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x417 += einsum("iajb,klij->klab", v.bbbb.ovov, x269) + del x269 + x420 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x420 += einsum("ijab->ijab", x417) + del x417 + x376 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x376 += einsum("iabc,jkib->kjac", v.bbbb.ovvv, x181) + x415 -= einsum("ijab->ijab", x376) + del x376 + x385 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x385 -= einsum("ijka->ijka", x181) + x385 += einsum("ijka->jika", x181) + l2new_abab -= einsum("iajk,kljb->abil", v.aabb.ovoo, x385) + x422 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x422 += einsum("ijka->ijka", x181) * -1 + x422 += einsum("ijka->jika", x181) + x424 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x424 += einsum("ijka,jklb->ilab", x422, x423) + del x423 + x439 += einsum("ijab->ijab", x424) + del x424 + l2new_abab += einsum("ijka,jlkb->abil", x36, x422) * -1 + del x36 + del x422 + x438 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x438 += einsum("ia,jkib->jkba", x233, x181) + x439 += einsum("ijab->ijab", x438) + del x438 + x485 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x485 += einsum("ijka->ijka", x181) + x485 -= einsum("ijka->jika", x181) + l2new_baba += einsum("iajk,kljb->bali", v.aabb.ovoo, x485) + del x485 + x184 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x184 += einsum("ai,ja->ij", l1.bb, t1.bb) + x188 += einsum("ij->ij", x184) + x408 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x408 += einsum("ij->ij", x184) + l1new_bb += einsum("ij,ja->ai", x184, x297) * -1 + del x184 + del x297 + x185 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x185 += einsum("wai,wja->ij", lu11.bb, u11.bb) + x188 += einsum("ij->ij", x185) + x293 += einsum("ij->ij", x185) + x408 += einsum("ij->ij", x185) + x409 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x409 += einsum("ij,jakb->kiab", x408, v.bbbb.ovov) + del x408 + x415 += einsum("ijab->jiba", x409) + del x409 + l1new_bb += einsum("ij,ja->ai", x185, x233) * -1 + del x233 + del x185 + x186 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x186 += einsum("abij,ikab->jk", l2.abab, t2.abab) + x188 += einsum("ij->ij", x186) + x189 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x189 += einsum("ia,ij->ja", t1.bb, x188) + x190 += einsum("ia->ia", x189) + del x189 + x499 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x499 += einsum("ij,kajb->kiab", x188, v.aabb.ovov) + l2new_baba += einsum("ijab->baji", x499) * -1 + l2new_abab += einsum("ijab->abij", x499) * -1 + del x499 + l1new_aa += einsum("ij,kaji->ak", x188, v.aabb.ovoo) * -1 + l1new_bb += einsum("ij,jkia->ak", x188, x146) * -1 + del x146 + l1new_bb += einsum("ia,ji->aj", f.bb.ov, x188) * -1 + ls1new += einsum("ij,wji->w", x188, g.bb.boo) * -1 + del x188 + x261 += einsum("ij->ij", x186) + x262 += einsum("ia,jk->jika", t1.bb, x261) + l1new_bb += einsum("ijka,jkba->bi", x262, x92) + del x262 + x267 += einsum("ia,jk->ijka", t1.aa, x261) * -1 + x437 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x437 += einsum("ij,jakb->kiab", x261, v.bbbb.ovov) + del x261 + x439 += einsum("ijab->jiba", x437) * -1 + del x437 + x293 += einsum("ij->ij", x186) + del x186 + x294 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) + x294 += einsum("w,ij->wij", s1, x293) + del x293 + x190 += einsum("ia->ia", t1.bb) * -1 + l1new_aa += einsum("ia,jbia->bj", x190, v.aabb.ovov) * -1 + l1new_bb += einsum("ia,ijba->bj", x190, x144) * -1 + del x144 + ls1new += einsum("ia,wia->w", x190, g.bb.bov) * -1 + del x190 + x191 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x191 += einsum("ai,ib->ab", l1.bb, t1.bb) + x195 += einsum("ab->ab", x191) + del x191 + x192 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x192 += einsum("wai,wib->ab", lu11.bb, u11.bb) + x195 += einsum("ab->ab", x192) + x373 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x373 += einsum("ab,icjb->ijac", x192, v.bbbb.ovov) + x415 += einsum("ijab->ijab", x373) + del x373 + x496 += einsum("ab->ab", x192) + del x192 + x193 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x193 += einsum("abij,ijac->bc", l2.abab, t2.abab) + x195 += einsum("ab->ab", x193) + l1new_aa += einsum("ab,icab->ci", x195, v.aabb.ovvv) + l1new_bb += einsum("ab,iacb->ci", x195, x153) * -1 + del x153 + ls1new += einsum("ab,wab->w", x195, g.bb.bvv) + del x195 + x435 += einsum("ab->ab", x193) + x436 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x436 += einsum("ab,ibjc->ijca", x435, v.bbbb.ovov) + del x435 + x439 += einsum("ijab->jiba", x436) * -1 + del x436 + x496 += einsum("ab->ab", x193) + del x193 + x497 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x497 += einsum("ab,icjb->ijca", x496, v.aabb.ovov) + del x496 + l2new_baba += einsum("ijab->baji", x497) * -1 + l2new_abab += einsum("ijab->abij", x497) * -1 + del x497 + x196 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x196 += einsum("wx,wia->xia", s2, g.aa.bov) + x199 += einsum("wia->wia", x196) + x502 += einsum("wia->wia", x196) + del x196 + x197 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x197 += einsum("wia,jbia->wjb", u11.bb, v.aabb.ovov) + x199 += einsum("wia->wia", x197) + x211 += einsum("wia->wia", x197) + x333 += einsum("wia->wia", x197) + x334 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x334 += einsum("wai,wjb->ijab", lu11.aa, x333) + del x333 + x342 += einsum("ijab->ijab", x334) + del x334 + x502 += einsum("wia->wia", x197) + del x197 + x199 += einsum("wia->wia", gc.aa.bov) + x200 += einsum("ia,wja->wji", t1.aa, x199) + del x199 + x200 += einsum("wij->wij", gc.aa.boo) + x200 += einsum("wx,wij->xij", s2, g.aa.boo) + x200 += einsum("wia,jkia->wjk", u11.bb, v.aabb.ooov) + l1new_aa += einsum("wai,wji->aj", lu11.aa, x200) * -1 + del x200 + x201 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x201 += einsum("iabc->ibca", v.aaaa.ovvv) + x201 -= einsum("iabc->ibac", v.aaaa.ovvv) + x202 = np.zeros((nbos, nvir[0], nvir[0]), dtype=types[float]) + x202 -= einsum("wia,ibac->wbc", u11.aa, x201) + x306 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x306 += einsum("ia,jbac->ijbc", t1.aa, x201) + x307 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x307 -= einsum("ijab->ijab", x306) + del x306 + x319 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x319 += einsum("ia,ibac->bc", t1.aa, x201) + del x201 + x320 -= einsum("ab->ab", x319) + del x319 + x321 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x321 += einsum("ab,acij->ijcb", x320, l2.aaaa) + del x320 + x342 += einsum("ijab->jiab", x321) + del x321 + x202 += einsum("wab->wab", gc.aa.bvv) + x202 += einsum("wx,wab->xab", s2, g.aa.bvv) + x202 += einsum("wia,iabc->wbc", u11.bb, v.bbaa.ovvv) + l1new_aa += einsum("wai,wab->bi", lu11.aa, x202) + del x202 + x203 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x203 += einsum("wia,baji->wjb", u11.bb, l2.abab) + x205 += einsum("wia->wia", x203) + x507 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x507 += einsum("wia,wjb->jiba", g.bb.bov, x205) + l2new_baba += einsum("ijab->baji", x507) + l2new_abab += einsum("ijab->abij", x507) + del x507 + l1new_aa += einsum("wab,wia->bi", g.aa.bvv, x205) + l1new_aa += einsum("wia,wji->aj", x205, x98) * -1 + del x98 + del x205 + x208 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x208 += einsum("wia->wia", x203) + x330 += einsum("wia->wia", x203) + del x203 + x206 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x206 += einsum("wx,xai->wia", s2, lu11.aa) + x208 += einsum("wia->wia", x206) + x330 += einsum("wia->wia", x206) + del x206 + x331 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x331 += einsum("wia,wjb->ijab", g.aa.bov, x330) + del x330 + x342 += einsum("ijab->ijab", x331) + del x331 + x207 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x207 += einsum("abij->jiab", l2.aaaa) * -1 + x207 += einsum("abij->jiba", l2.aaaa) + x208 += einsum("wia,ijba->wjb", u11.aa, x207) * -1 + x210 += einsum("ia,wja->wji", t1.aa, x208) + del x208 + x210 += einsum("ai,wja->wij", l1.aa, u11.aa) + l1new_aa += einsum("wia,wji->aj", g.aa.bov, x210) * -1 + del x210 + x211 += einsum("wia->wia", gc.aa.bov) + l1new_aa += einsum("wij,wja->ai", x161, x211) * -1 + del x161 + del x211 + x212 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x212 += einsum("iabj->ijba", v.aaaa.ovvo) + x212 -= einsum("ijab->ijab", v.aaaa.oovv) + l1new_aa += einsum("ai,jiab->bj", l1.aa, x212) + lu11new_aa += einsum("wai,jiab->wbj", lu11.aa, x212) + del x212 + x213 = np.zeros((nbos), dtype=types[float]) + x213 += einsum("w,wx->x", s1, w) + x219 += einsum("w->w", x213) + x516 = np.zeros((nbos), dtype=types[float]) + x516 += einsum("w->w", x213) + del x213 + x214 = np.zeros((nbos), dtype=types[float]) + x214 += einsum("ia,wia->w", t1.aa, gc.aa.bov) + x219 += einsum("w->w", x214) + x516 += einsum("w->w", x214) + del x214 + x215 = np.zeros((nbos), dtype=types[float]) + x215 += einsum("ia,wia->w", t1.bb, gc.bb.bov) + x219 += einsum("w->w", x215) + x516 += einsum("w->w", x215) + del x215 + x219 += einsum("w->w", G) + l1new_aa += einsum("w,wai->ai", x219, lu11.aa) + l1new_bb += einsum("w,wai->ai", x219, lu11.bb) + del x219 + x221 += einsum("ia->ia", f.aa.ov) + l1new_aa += einsum("ij,ja->ai", x220, x221) * -1 + del x220 + del x221 + x222 = np.zeros((nbos), dtype=types[float]) + x222 += einsum("w,xw->x", ls1, s2) + x225 = np.zeros((nbos), dtype=types[float]) + x225 += einsum("w->w", x222) + del x222 + x223 = np.zeros((nbos), dtype=types[float]) + x223 += einsum("ai,wia->w", l1.aa, u11.aa) + x225 += einsum("w->w", x223) + del x223 + x224 = np.zeros((nbos), dtype=types[float]) + x224 += einsum("ai,wia->w", l1.bb, u11.bb) + x225 += einsum("w->w", x224) + del x224 + x225 += einsum("w->w", s1) + l1new_aa += einsum("w,wia->ai", x225, g.aa.bov) + l1new_bb += einsum("w,wia->ai", x225, g.bb.bov) + del x225 + x226 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + x226 += einsum("abij,ikcb->jkac", l2.abab, t2.abab) + l1new_bb += einsum("iabc,jibc->aj", v.bbaa.ovvv, x226) * -1 + del x226 + x227 += einsum("ia->ia", f.bb.ov) + x228 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x228 += einsum("ia,jkab->jkib", x227, t2.bbbb) + del x227 + x229 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x229 += einsum("ijka->kjia", x228) + del x228 + x229 += einsum("ijak->ijka", v.bbbb.oovo) * -1 + x246 += einsum("ijka->jika", x229) * -1 + x246 += einsum("ijka->kija", x229) + del x229 + x230 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x230 += einsum("ijab,kacb->ijkc", t2.bbbb, v.bbbb.ovvv) + x239 += einsum("ijka->ijka", x230) * -1 + del x230 + x231 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x231 += einsum("ia,jabc->ijbc", t1.bb, v.bbbb.ovvv) + x232 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x232 += einsum("ia,jkba->jikb", t1.bb, x231) + del x231 + x239 += einsum("ijka->ijka", x232) * -1 + del x232 + x235 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x235 += einsum("ijab,kbla->ijlk", t2.bbbb, v.bbbb.ovov) + x237 += einsum("ijkl->jilk", x235) + x238 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x238 += einsum("ia,jkil->jkla", t1.bb, x237) + del x237 + x239 += einsum("ijka->jika", x238) + del x238 + x246 += einsum("ijka->ikja", x239) * -1 + x246 += einsum("ijka->jkia", x239) + del x239 + x418 += einsum("ijkl->jilk", x235) + del x235 + x419 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x419 += einsum("abij,ijkl->klab", l2.bbbb, x418) + del x418 + x420 += einsum("ijab->ijab", x419) + del x419 + x240 += einsum("ijka->jika", v.bbbb.ooov) + x240 += einsum("ijka->jkia", v.bbbb.ooov) * -1 + x241 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x241 += einsum("ijka,jlba->likb", x240, x35) + del x240 + del x35 + x246 += einsum("ijka->jkia", x241) + x257 += einsum("ijka->jkia", x241) + del x241 + x244 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x244 += einsum("ia,jkla->ijlk", t1.bb, v.bbbb.ooov) + x245 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x245 += einsum("ijkl->jkli", x244) + x245 += einsum("ijkl->kjli", x244) * -1 + x256 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x256 += einsum("ijkl->ijkl", x244) * -1 + x256 += einsum("ijkl->ikjl", x244) + x257 += einsum("ia,jkil->jkla", t1.bb, x256) * -1 + del x256 + l1new_bb += einsum("abij,jkib->ak", l2.bbbb, x257) + del x257 + x375 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x375 += einsum("abij,jkli->klba", l2.bbbb, x244) + del x244 + x415 -= einsum("ijab->ijab", x375) + del x375 + x245 += einsum("ijkl->kijl", v.bbbb.oooo) * -1 + x245 += einsum("ijkl->kilj", v.bbbb.oooo) + x246 += einsum("ia,ijkl->ljka", t1.bb, x245) * -1 + del x245 + l1new_bb += einsum("abij,jkia->bk", l2.bbbb, x246) * -1 + del x246 + x247 += einsum("ijka->ikja", v.bbbb.ooov) + x247 += einsum("ijka->kija", v.bbbb.ooov) * -1 + x250 += einsum("ijab,jklb->ikla", t2.abab, x247) * -1 + del x247 + x248 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + x248 += einsum("ia,jabc->ijbc", t1.bb, v.bbaa.ovvv) + x249 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + x249 += einsum("ijab->jiab", x248) + x471 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + x471 += einsum("ijab->jiab", x248) + del x248 + x249 += einsum("ijab->ijab", v.bbaa.oovv) + x250 += einsum("ia,jkba->ijkb", t1.aa, x249) + del x249 + x250 += einsum("ijak->kija", v.bbaa.oovo) + x250 += einsum("ia,jabk->kjib", t1.bb, v.bbaa.ovvo) + x250 += einsum("ijab,kbca->ikjc", t2.abab, v.bbaa.ovvv) + l1new_bb += einsum("abij,ikja->bk", l2.abab, x250) * -1 + del x250 + x251 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x251 += einsum("abij,ikac->jkbc", l2.abab, t2.abab) + x254 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x254 += einsum("ijab->ijab", x251) + del x251 + x252 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x252 += einsum("abij->jiab", l2.bbbb) * -1 + x252 += einsum("abij->jiba", l2.bbbb) + x253 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x253 += einsum("ijab,ikbc->kjca", x252, x54) + del x54 + x254 += einsum("ijab->jiba", x253) + del x253 + x421 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x421 += einsum("ijab,jkbc->kica", x254, x92) + del x92 + x439 += einsum("ijab->jiba", x421) * -1 + del x421 + x292 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x292 += einsum("wia,ijba->wjb", u11.bb, x252) * -1 + x425 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x425 += einsum("ijab,jkcb->ikac", t2.abab, x252) + x426 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x426 += einsum("iajb,ikac->jkbc", v.aabb.ovov, x425) * -1 + del x425 + x439 += einsum("ijab->jiba", x426) * -1 + del x426 + x255 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x255 += einsum("iabc->ibca", v.bbbb.ovvv) * -1 + x255 += einsum("iabc->ibac", v.bbbb.ovvv) + x463 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x463 += einsum("ia,jbac->ijbc", t1.bb, x255) + x464 += einsum("ijab->jiab", x463) * -1 + del x463 + l1new_bb += einsum("ijab,jacb->ci", x254, x255) * -1 + del x254 + l1new_bb += einsum("iabc,jiac->bj", x255, x263) + del x255 + del x263 + x258 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x258 += einsum("abij->jiab", l2.bbbb) + x258 += einsum("abij->jiba", l2.bbbb) * -1 + x259 += einsum("ijab,jkcb->ikac", t2.abab, x258) * -1 + del x258 + l1new_bb += einsum("iabc,ijab->cj", v.aabb.ovvv, x259) * -1 + del x259 + x264 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x264 += einsum("ia,bacd->icbd", t1.bb, v.bbbb.vvvv) + x265 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x265 += einsum("iabc->iabc", x264) * -1 + del x264 + x265 += einsum("aibc->iabc", v.bbbb.vovv) + x266 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x266 += einsum("iabc->iabc", x265) * -1 + x266 += einsum("iabc->ibac", x265) + del x265 + l1new_bb += einsum("abij,iabc->cj", l2.bbbb, x266) * -1 + del x266 + x267 += einsum("ai,jkba->jikb", l1.bb, t2.abab) * -1 + l1new_bb += einsum("iajb,ikja->bk", v.aabb.ovov, x267) + del x267 + x268 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x268 += einsum("ai,jkab->ikjb", l1.bb, t2.bbbb) + x271 += einsum("ijka->ijka", x268) * 0.9999999999999993 + del x268 + x272 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x272 += einsum("ijka->ijka", x271) * -1 + x272 += einsum("ijka->ikja", x271) + del x271 + l1new_bb += einsum("iajb,kija->bk", v.bbbb.ovov, x272) + del x272 + x273 = np.zeros((nocc[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) + x273 += einsum("aibc->iabc", v.aabb.vovv) + x273 += einsum("ia,bacd->ibcd", t1.aa, v.aabb.vvvv) + l1new_bb += einsum("abij,iabc->cj", l2.abab, x273) + del x273 + x274 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x274 += einsum("abij,klab->ijkl", l2.bbbb, t2.bbbb) + x275 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x275 += einsum("ijkl->jikl", x274) + x275 += einsum("ijkl->jilk", x274) * -1 + x416 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x416 += einsum("iajb,klij->lkba", v.bbbb.ovov, x274) + del x274 + x420 += einsum("ijab->ijab", x416) + del x416 + l2new_bbbb = np.zeros((nvir[1], nvir[1], nocc[1], nocc[1]), dtype=types[float]) + l2new_bbbb += einsum("ijab->abij", x420) + l2new_bbbb += einsum("ijab->baij", x420) * -1 + del x420 + x276 += einsum("ijka->ikja", v.bbbb.ooov) + l1new_bb += einsum("ijkl,klia->aj", x275, x276) * -1 + del x275 + del x276 + x277 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x277 += einsum("ia,jbca->ijcb", t1.aa, v.bbaa.ovvv) + x278 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x278 += einsum("ijab->ijab", x277) + x383 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x383 += einsum("ijab->ijab", x277) + x450 += einsum("ijab->ijab", x277) + del x277 + x278 += einsum("iabj->jiba", v.bbaa.ovvo) + l1new_bb += einsum("ijka,ikab->bj", x1, x278) * -1 + del x278 + x279 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x279 -= einsum("abij->jiab", l2.bbbb) + x279 += einsum("abij->jiba", l2.bbbb) + x289 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x289 += einsum("wia,ijba->wjb", u11.bb, x279) + x290 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x290 -= einsum("wia->wia", x289) + x402 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x402 -= einsum("wia->wia", x289) + del x289 + l1new_bb += einsum("ia,ijba->bj", x158, x279) * -1 + del x158 + lu11new_bb -= einsum("wai,ijba->wbj", g.bb.bvo, x279) + x281 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x281 += einsum("wx,wia->xia", s2, g.bb.bov) + x284 += einsum("wia->wia", x281) + x504 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x504 += einsum("wia->wia", x281) + del x281 + x282 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x282 += einsum("wia,iajb->wjb", u11.aa, v.aabb.ovov) + x284 += einsum("wia->wia", x282) + x295 += einsum("wia->wia", x282) + x406 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x406 += einsum("wia->wia", x282) + x504 += einsum("wia->wia", x282) + del x282 + x284 += einsum("wia->wia", gc.bb.bov) + x285 += einsum("ia,wja->wji", t1.bb, x284) + del x284 + x285 += einsum("wij->wij", gc.bb.boo) + x285 += einsum("wx,wij->xij", s2, g.bb.boo) + x285 += einsum("wia,iajk->wjk", u11.aa, v.aabb.ovoo) + l1new_bb += einsum("wai,wji->aj", lu11.bb, x285) * -1 + del x285 + x286 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x286 += einsum("iabc->ibca", v.bbbb.ovvv) + x286 -= einsum("iabc->ibac", v.bbbb.ovvv) + x287 = np.zeros((nbos, nvir[1], nvir[1]), dtype=types[float]) + x287 -= einsum("wia,ibac->wbc", u11.bb, x286) + x378 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x378 += einsum("ia,jbac->ijbc", t1.bb, x286) + x379 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x379 -= einsum("ijab->ijab", x378) + del x378 + x391 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x391 += einsum("ia,ibac->bc", t1.bb, x286) + del x286 + x392 -= einsum("ab->ab", x391) + del x391 + x393 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x393 += einsum("ab,acij->ijcb", x392, l2.bbbb) + del x392 + x415 += einsum("ijab->jiab", x393) + del x393 + x287 += einsum("wab->wab", gc.bb.bvv) + x287 += einsum("wx,wab->xab", s2, g.bb.bvv) + x287 += einsum("wia,iabc->wbc", u11.aa, v.aabb.ovvv) + l1new_bb += einsum("wai,wab->bi", lu11.bb, x287) + del x287 + x288 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x288 += einsum("wia,abij->wjb", u11.aa, l2.abab) + x290 += einsum("wia->wia", x288) + x506 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x506 += einsum("wia,wjb->ijab", g.aa.bov, x290) + l2new_baba += einsum("ijab->baji", x506) + l2new_abab += einsum("ijab->abij", x506) + del x506 + l1new_bb += einsum("wab,wia->bi", g.bb.bvv, x290) + l1new_bb += einsum("wij,wja->ai", x138, x290) * -1 + del x138 + del x290 + x292 += einsum("wia->wia", x288) + x402 += einsum("wia->wia", x288) + del x288 + x291 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x291 += einsum("wx,xai->wia", s2, lu11.bb) + x292 += einsum("wia->wia", x291) + x294 += einsum("ia,wja->wji", t1.bb, x292) + del x292 + x402 += einsum("wia->wia", x291) + del x291 + x403 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x403 += einsum("wia,wjb->ijab", g.bb.bov, x402) + del x402 + x415 += einsum("ijab->ijab", x403) + del x403 + x294 += einsum("ai,wja->wij", l1.bb, u11.bb) + l1new_bb += einsum("wia,wji->aj", g.bb.bov, x294) * -1 + del x294 + x295 += einsum("wia->wia", gc.bb.bov) + l1new_bb += einsum("wij,wja->ai", x178, x295) * -1 + del x178 + del x295 + x296 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x296 += einsum("iabj->ijba", v.bbbb.ovvo) + x296 -= einsum("ijab->ijab", v.bbbb.oovv) + l1new_bb += einsum("ai,jiab->bj", l1.bb, x296) + lu11new_bb += einsum("wai,jiab->wbj", lu11.bb, x296) + del x296 + x298 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x298 += einsum("wia,wbj->ijab", gc.aa.bov, lu11.aa) + x342 += einsum("ijab->ijab", x298) + del x298 + x299 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x299 += einsum("ai,jbac->ijbc", l1.aa, v.aaaa.ovvv) + x342 -= einsum("ijab->ijab", x299) + del x299 + x305 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x305 += einsum("abij->jiab", l2.aaaa) + x305 -= einsum("abij->jiba", l2.aaaa) + x307 += einsum("ijab->jiab", v.aaaa.oovv) + x307 -= einsum("iabj->jiba", v.aaaa.ovvo) + x308 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x308 += einsum("ijab,ikac->jkbc", x305, x307) + del x305 + del x307 + x342 += einsum("ijab->ijab", x308) + del x308 + x309 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x309 -= einsum("ijab->jiab", t2.bbbb) + x309 += einsum("ijab->jiba", t2.bbbb) + x310 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x310 += einsum("iajb,jkcb->ikac", v.aabb.ovov, x309) + x311 -= einsum("ijab->ijab", x310) + del x310 + x527 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x527 += einsum("wia,ijba->wjb", g.bb.bov, x309) + del x309 + x530 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x530 -= einsum("wia->wia", x527) + del x527 + x311 += einsum("iabj->ijab", v.aabb.ovvo) + x312 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x312 += einsum("abij,kjcb->ikac", l2.abab, x311) + del x311 + x342 += einsum("ijab->ijab", x312) + del x312 + x314 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x314 -= einsum("ijka->ikja", v.aaaa.ooov) + x314 += einsum("ijka->kija", v.aaaa.ooov) + x315 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x315 += einsum("ijka,lkib->jlab", x313, x314) + del x313 + x342 += einsum("ijab->ijab", x315) + del x315 + l2new_abab += einsum("ijka,kilb->abjl", x314, x56) + del x314 + x316 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x316 += einsum("wia,wib->ab", g.aa.bov, u11.aa) + x317 -= einsum("ab->ba", x316) + x487 += einsum("ab->ba", x316) * -1 + del x316 + x317 += einsum("ab->ab", f.aa.vv) + x318 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x318 += einsum("ab,acij->ijcb", x317, l2.aaaa) + del x317 + x342 -= einsum("ijab->jiba", x318) + del x318 + x322 += einsum("ia->ia", f.aa.ov) + x323 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x323 += einsum("ia,ja->ij", t1.aa, x322) + x324 += einsum("ij->ji", x323) + del x323 + x337 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x337 += einsum("ia,jkib->jkba", x322, x57) + del x57 + x342 += einsum("ijab->ijba", x337) + del x337 + x342 += einsum("ai,jb->jiba", l1.aa, x322) + del x322 + x324 += einsum("ij->ij", f.aa.oo) + x325 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x325 += einsum("ij,abjk->kiab", x324, l2.aaaa) + del x324 + x342 += einsum("ijab->jiba", x325) + del x325 + x326 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x326 += einsum("ijka->ikja", v.aaaa.ooov) + x326 -= einsum("ijka->kija", v.aaaa.ooov) + x327 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x327 += einsum("ia,ijka->jk", t1.aa, x326) + x328 -= einsum("ij->ij", x327) + del x327 + x329 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x329 += einsum("ij,abjk->kiab", x328, l2.aaaa) + del x328 + x342 -= einsum("ijab->ijba", x329) + del x329 + l2new_baba -= einsum("ijka,kilb->balj", x326, x56) + del x56 + del x326 + x338 -= einsum("ijka->jika", v.aaaa.ooov) + x339 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x339 += einsum("ai,ijkb->jkab", l1.aa, x338) + del x338 + x342 += einsum("ijab->ijab", x339) + del x339 + l2new_aaaa += einsum("ijab->abij", x342) + l2new_aaaa -= einsum("ijab->baij", x342) + l2new_aaaa -= einsum("ijab->abji", x342) + l2new_aaaa += einsum("ijab->baji", x342) + del x342 + x343 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x343 += einsum("ijab,kcjb->ikac", t2.abab, v.aabb.ovov) + x345 += einsum("ijab->ijab", x343) + x346 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x346 += einsum("ijab,ikac->kjcb", x345, x48) + del x48 + del x345 + x362 += einsum("ijab->ijab", x346) + del x346 + x459 += einsum("ijab->jiab", x343) + del x343 + x354 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x354 += einsum("ijab,icjb->ac", t2.abab, v.aabb.ovov) + x356 += einsum("ab->ab", x354) + x357 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x357 += einsum("ab,acij->ijcb", x356, l2.aaaa) + del x356 + x362 += einsum("ijab->jiab", x357) + del x357 + l2new_aaaa += einsum("ijab->abij", x362) * -1 + l2new_aaaa += einsum("ijab->baij", x362) + l2new_aaaa += einsum("ijab->abji", x362) + l2new_aaaa += einsum("ijab->baji", x362) * -1 + del x362 + x487 += einsum("ab->ab", x354) * -1 + del x354 + x363 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x363 += einsum("abij,kjli->klba", l2.aaaa, v.aaaa.oooo) + x365 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x365 += einsum("ijab->jiba", x363) + del x363 + x364 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x364 += einsum("abij,acbd->ijcd", l2.aaaa, v.aaaa.vvvv) + x365 += einsum("ijab->jiba", x364) + del x364 + l2new_aaaa += einsum("ijab->baij", x365) * -1 + l2new_aaaa += einsum("ijab->abij", x365) + del x365 + x371 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x371 += einsum("wia,wbj->ijab", gc.bb.bov, lu11.bb) + x415 += einsum("ijab->ijab", x371) + del x371 + x372 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x372 += einsum("ai,jbac->ijbc", l1.bb, v.bbbb.ovvv) + x415 -= einsum("ijab->ijab", x372) + del x372 + x379 += einsum("ijab->jiab", v.bbbb.oovv) + x379 -= einsum("iabj->jiba", v.bbbb.ovvo) + x380 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x380 += einsum("ijab,ikbc->jkac", x279, x379) + del x379 + del x279 + x415 += einsum("ijab->ijab", x380) + del x380 + x381 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x381 -= einsum("ijab->jiab", t2.aaaa) + x381 += einsum("ijab->jiba", t2.aaaa) + x382 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x382 += einsum("iajb,ikca->kjcb", v.aabb.ovov, x381) + x383 -= einsum("ijab->ijab", x382) + del x382 + x520 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x520 += einsum("wia,ijba->wjb", g.aa.bov, x381) + del x381 + x523 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x523 -= einsum("wia->wia", x520) + del x520 + x383 += einsum("iabj->jiba", v.bbaa.ovvo) + x384 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x384 += einsum("abij,ikac->jkbc", l2.abab, x383) + del x383 + x415 += einsum("ijab->ijab", x384) + del x384 + x386 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x386 -= einsum("ijka->ikja", v.bbbb.ooov) + x386 += einsum("ijka->kija", v.bbbb.ooov) + x387 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x387 += einsum("ijka,lkjb->ilab", x385, x386) + del x385 + del x386 + x415 += einsum("ijab->ijab", x387) + del x387 + x388 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x388 += einsum("wia,wib->ab", g.bb.bov, u11.bb) + x389 -= einsum("ab->ba", x388) + x490 += einsum("ab->ba", x388) * -1 + del x388 + x389 += einsum("ab->ab", f.bb.vv) + x390 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x390 += einsum("ab,acij->ijcb", x389, l2.bbbb) + del x389 + x415 -= einsum("ijab->jiba", x390) + del x390 + x394 += einsum("ia->ia", f.bb.ov) + x395 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x395 += einsum("ia,ja->ij", t1.bb, x394) + x396 += einsum("ij->ji", x395) + del x395 + x410 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x410 += einsum("ia,jkib->jkba", x394, x181) + del x181 + x415 += einsum("ijab->ijba", x410) + del x410 + x415 += einsum("ai,jb->jiba", l1.bb, x394) + del x394 + x396 += einsum("ij->ij", f.bb.oo) + x397 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x397 += einsum("ij,abjk->kiab", x396, l2.bbbb) + del x396 + x415 += einsum("ijab->jiba", x397) + del x397 + x398 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x398 += einsum("ijka->ikja", v.bbbb.ooov) + x398 -= einsum("ijka->kija", v.bbbb.ooov) + x399 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x399 += einsum("ia,ijka->jk", t1.bb, x398) + x400 -= einsum("ij->ij", x399) + del x399 + x401 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x401 += einsum("ij,abjk->kiab", x400, l2.bbbb) + del x400 + x415 -= einsum("ijab->ijba", x401) + del x401 + x484 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x484 += einsum("ijka,kljb->ilab", x1, x398) + del x1 + del x398 + l2new_baba -= einsum("ijab->baji", x484) + l2new_abab -= einsum("ijab->abij", x484) + del x484 + x404 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x404 -= einsum("iajb->jiab", v.bbbb.ovov) + x404 += einsum("iajb->jiba", v.bbbb.ovov) + x405 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x405 += einsum("wia,ijba->wjb", u11.bb, x404) + x406 -= einsum("wia->wia", x405) + x407 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x407 += einsum("wai,wjb->ijab", lu11.bb, x406) + del x406 + x415 += einsum("ijab->ijab", x407) + del x407 + x504 -= einsum("wia->wia", x405) + del x405 + x413 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x413 += einsum("ia,ijba->jb", t1.bb, x404) + del x404 + x414 -= einsum("ia->ia", x413) + x415 += einsum("ai,jb->ijab", l1.bb, x414) + del x414 + x513 -= einsum("ia->ia", x413) + del x413 + x411 -= einsum("ijka->jika", v.bbbb.ooov) + x412 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x412 += einsum("ai,ijkb->jkab", l1.bb, x411) + del x411 + x415 += einsum("ijab->ijab", x412) + del x412 + l2new_bbbb += einsum("ijab->abij", x415) + l2new_bbbb -= einsum("ijab->baij", x415) + l2new_bbbb -= einsum("ijab->abji", x415) + l2new_bbbb += einsum("ijab->baji", x415) + del x415 + x431 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x431 += einsum("ijab,iajc->bc", t2.abab, v.aabb.ovov) + x433 += einsum("ab->ab", x431) + x434 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x434 += einsum("ab,acij->ijcb", x433, l2.bbbb) + del x433 + x439 += einsum("ijab->jiab", x434) + del x434 + l2new_bbbb += einsum("ijab->abij", x439) * -1 + l2new_bbbb += einsum("ijab->baij", x439) + l2new_bbbb += einsum("ijab->abji", x439) + l2new_bbbb += einsum("ijab->baji", x439) * -1 + del x439 + x490 += einsum("ab->ab", x431) * -1 + del x431 + x440 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x440 += einsum("abij,kjli->klba", l2.bbbb, v.bbbb.oooo) + x442 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x442 += einsum("ijab->jiba", x440) + del x440 + x441 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x441 += einsum("abij,bcad->ijdc", l2.bbbb, v.bbbb.vvvv) + x442 += einsum("ijab->jiba", x441) + del x441 + l2new_bbbb += einsum("ijab->baij", x442) * -1 + l2new_bbbb += einsum("ijab->abij", x442) + del x442 + x443 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x443 += einsum("ai,jbac->ijcb", l1.aa, v.bbaa.ovvv) + l2new_baba += einsum("ijab->baji", x443) + l2new_abab += einsum("ijab->abij", x443) + del x443 + x445 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x445 += einsum("abij,acbd->ijcd", l2.abab, v.aabb.vvvv) + l2new_baba += einsum("ijab->baji", x445) + l2new_abab += einsum("ijab->abij", x445) + del x445 + x447 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x447 += einsum("ai,jbac->jibc", l1.bb, v.aabb.ovvv) + l2new_baba += einsum("ijab->baji", x447) + l2new_abab += einsum("ijab->abij", x447) + del x447 + x450 += einsum("iabj->jiba", v.bbaa.ovvo) + x451 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x451 += einsum("ijab,ikbc->jkac", x207, x450) + del x450 + del x207 + l2new_baba += einsum("ijab->baji", x451) * -1 + l2new_abab += einsum("ijab->abij", x451) * -1 + del x451 + x452 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x452 += einsum("abij->jiab", l2.bbbb) + x452 -= einsum("abij->jiba", l2.bbbb) + x455 += einsum("iabj->ijab", v.aabb.ovvo) + l2new_baba += einsum("ijab,kicb->acjk", x452, x455) + del x452 + l2new_abab += einsum("ijab,kicb->cakj", x252, x455) * -1 + del x252 + del x455 + x456 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x456 += einsum("iajb->jiab", v.aaaa.ovov) + x456 += einsum("iajb->jiba", v.aaaa.ovov) * -1 + x457 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x457 += einsum("ijab,ikca->jkbc", x24, x456) + del x24 + del x456 + x459 += einsum("ijab->jiab", x457) + del x457 + x459 += einsum("iabj->ijba", v.aaaa.ovvo) + x459 += einsum("ijab->ijab", v.aaaa.oovv) * -1 + x460 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x460 += einsum("abij,kiac->kjcb", l2.abab, x459) + del x459 + l2new_baba += einsum("ijab->baji", x460) + l2new_abab += einsum("ijab->abij", x460) + del x460 + x461 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x461 += einsum("ijab,iakc->jkbc", t2.abab, v.aabb.ovov) + x464 += einsum("ijab->jiab", x461) + del x461 + x464 += einsum("iabj->ijba", v.bbbb.ovvo) + x464 += einsum("ijab->ijab", v.bbbb.oovv) * -1 + x465 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x465 += einsum("abij,kjbc->ikac", l2.abab, x464) + del x464 + l2new_baba += einsum("ijab->baji", x465) + l2new_abab += einsum("ijab->abij", x465) + del x465 + x466 = np.zeros((nocc[0], nocc[0], nvir[1], nvir[1]), dtype=types[float]) + x466 += einsum("ia,jabc->ijbc", t1.aa, v.aabb.ovvv) + x468 = np.zeros((nocc[0], nocc[0], nvir[1], nvir[1]), dtype=types[float]) + x468 += einsum("ijab->jiab", x466) + del x466 + x467 = np.zeros((nocc[0], nocc[0], nvir[1], nvir[1]), dtype=types[float]) + x467 += einsum("ijab,kajc->ikbc", t2.abab, v.aabb.ovov) + x468 += einsum("ijab->jiab", x467) * -1 + del x467 + x468 += einsum("ijab->ijab", v.aabb.oovv) + x469 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x469 += einsum("abij,kibc->kjac", l2.abab, x468) + del x468 + l2new_baba += einsum("ijab->baji", x469) * -1 + l2new_abab += einsum("ijab->abij", x469) * -1 + del x469 + x470 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + x470 += einsum("ijab,ickb->jkac", t2.abab, v.aabb.ovov) + x471 += einsum("ijab->jiab", x470) * -1 + del x470 + x471 += einsum("ijab->ijab", v.bbaa.oovv) + x472 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x472 += einsum("abij,kjac->ikcb", l2.abab, x471) + del x471 + l2new_baba += einsum("ijab->baji", x472) * -1 + l2new_abab += einsum("ijab->abij", x472) * -1 + del x472 + x474 += einsum("ijkl->ijkl", v.aabb.oooo) + x475 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x475 += einsum("abij,kilj->klab", l2.abab, x474) + del x474 + l2new_baba += einsum("ijab->baji", x475) + l2new_abab += einsum("ijab->abij", x475) + del x475 + x487 += einsum("ab->ab", f.aa.vv) + x488 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x488 += einsum("ab,acij->ijbc", x487, l2.abab) + del x487 + l2new_baba += einsum("ijab->baji", x488) + l2new_abab += einsum("ijab->abij", x488) + del x488 + x490 += einsum("ab->ab", f.bb.vv) + x491 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x491 += einsum("ab,caij->ijcb", x490, l2.abab) + del x490 + l2new_baba += einsum("ijab->baji", x491) + l2new_abab += einsum("ijab->abij", x491) + del x491 + x502 += einsum("wia->wia", gc.aa.bov) + x503 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x503 += einsum("wai,wjb->jiba", lu11.bb, x502) + del x502 + l2new_baba += einsum("ijab->baji", x503) + l2new_abab += einsum("ijab->abij", x503) + del x503 + x504 += einsum("wia->wia", gc.bb.bov) + x505 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x505 += einsum("wai,wjb->ijab", lu11.aa, x504) + del x504 + l2new_baba += einsum("ijab->baji", x505) + l2new_abab += einsum("ijab->abij", x505) + del x505 + x508 += einsum("ijka->ijka", v.aabb.ooov) + x509 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x509 += einsum("ai,jikb->jkab", l1.aa, x508) + del x508 + l2new_baba -= einsum("ijab->baji", x509) + l2new_abab -= einsum("ijab->abij", x509) + del x509 + x510 += einsum("iajk->ijka", v.aabb.ovoo) + x511 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x511 += einsum("ai,jkib->jkba", l1.bb, x510) + del x510 + l2new_baba -= einsum("ijab->baji", x511) + l2new_abab -= einsum("ijab->abij", x511) + del x511 + x512 += einsum("ia->ia", f.aa.ov) + x516 += einsum("ia,wia->w", x512, u11.aa) + l2new_baba += einsum("ai,jb->abij", l1.bb, x512) + l2new_abab += einsum("ai,jb->baji", l1.bb, x512) + del x512 + x513 += einsum("ia->ia", f.bb.ov) + x516 += einsum("ia,wia->w", x513, u11.bb) + l2new_baba += einsum("ai,jb->baji", l1.aa, x513) + l2new_abab += einsum("ai,jb->abij", l1.aa, x513) + del x513 + x515 += einsum("w->w", G) + x516 += einsum("w,wx->x", x515, s2) + x536 = np.zeros((nbos, nbos), dtype=types[float]) + x536 += einsum("w,x->xw", ls1, x515) + del x515 + x516 += einsum("w->w", G) + ls1new += einsum("w,wx->x", x516, ls2) + del x516 + x517 = np.zeros((nbos, nbos), dtype=types[float]) + x517 += einsum("wx,yx->wy", ls2, w) + x536 += einsum("wx->wx", x517) + del x517 + x518 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x518 += einsum("ia,wba->wib", t1.aa, g.aa.bvv) + x523 += einsum("wia->wia", x518) + del x518 + x519 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x519 += einsum("wia,jiba->wjb", g.bb.bov, t2.abab) + x523 += einsum("wia->wia", x519) + del x519 + x521 += einsum("wij->wij", g.aa.boo) + x522 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x522 += einsum("ia,wij->wja", t1.aa, x521) + del x521 + x523 -= einsum("wia->wia", x522) + del x522 + x523 += einsum("wai->wia", g.aa.bvo) + x524 = np.zeros((nbos, nbos), dtype=types[float]) + x524 += einsum("wai,xia->wx", lu11.aa, x523) + del x523 + x536 += einsum("wx->xw", x524) + del x524 + x525 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x525 += einsum("ia,wba->wib", t1.bb, g.bb.bvv) + x530 += einsum("wia->wia", x525) + del x525 + x526 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x526 += einsum("wia,ijab->wjb", g.aa.bov, t2.abab) + x530 += einsum("wia->wia", x526) + del x526 + x528 += einsum("wij->wij", g.bb.boo) + x529 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x529 += einsum("ia,wij->wja", t1.bb, x528) + del x528 + x530 -= einsum("wia->wia", x529) + del x529 + x530 += einsum("wai->wia", g.bb.bvo) + x531 = np.zeros((nbos, nbos), dtype=types[float]) + x531 += einsum("wai,xia->wx", lu11.bb, x530) + del x530 + x536 += einsum("wx->xw", x531) + del x531 + x532 = np.zeros((nbos, nbos), dtype=types[float]) + x532 += einsum("wia,xia->wx", g.aa.bov, u11.aa) + x534 = np.zeros((nbos, nbos), dtype=types[float]) + x534 += einsum("wx->wx", x532) + del x532 + x533 = np.zeros((nbos, nbos), dtype=types[float]) + x533 += einsum("wia,xia->wx", g.bb.bov, u11.bb) + x534 += einsum("wx->wx", x533) + del x533 + x535 = np.zeros((nbos, nbos), dtype=types[float]) + x535 += einsum("wx,yw->xy", ls2, x534) + del x534 + x536 += einsum("wx->xw", x535) + del x535 + ls2new = np.zeros((nbos, nbos), dtype=types[float]) + ls2new += einsum("wx->wx", x536) + ls2new += einsum("wx->xw", x536) + del x536 + l1new_aa += einsum("ia->ai", f.aa.ov) + l1new_aa += einsum("w,wia->ai", ls1, gc.aa.bov) + l1new_aa += einsum("ai,jbai->bj", l1.bb, v.aabb.ovvo) + l1new_bb += einsum("ai,jbai->bj", l1.aa, v.bbaa.ovvo) + l1new_bb += einsum("ia->ai", f.bb.ov) + l1new_bb += einsum("w,wia->ai", ls1, gc.bb.bov) + l2new_aaaa -= einsum("iajb->abji", v.aaaa.ovov) + l2new_aaaa += einsum("iajb->baji", v.aaaa.ovov) + l2new_bbbb -= einsum("iajb->abji", v.bbbb.ovov) + l2new_bbbb += einsum("iajb->baji", v.bbbb.ovov) + l2new_baba += einsum("iajb->baji", v.aabb.ovov) + l2new_abab += einsum("iajb->abij", v.aabb.ovov) + ls1new += einsum("ai,wai->w", l1.aa, g.aa.bvo) + ls1new += einsum("w->w", G) + ls1new += einsum("w,xw->x", ls1, w) + ls1new += einsum("ai,wai->w", l1.bb, g.bb.bvo) + lu11new_aa += einsum("ab,wai->wbi", f.aa.vv, lu11.aa) + lu11new_aa += einsum("ai,wab->wbi", l1.aa, g.aa.bvv) + lu11new_aa += einsum("wx,xia->wai", ls2, gc.aa.bov) + lu11new_aa += einsum("wx,xai->wai", w, lu11.aa) + lu11new_aa -= einsum("ij,waj->wai", f.aa.oo, lu11.aa) + lu11new_aa -= einsum("ai,wji->waj", l1.aa, g.aa.boo) + lu11new_aa += einsum("wia->wai", g.aa.bov) + lu11new_aa += einsum("wai,baji->wbj", g.bb.bvo, l2.abab) + lu11new_aa += einsum("wai,jbai->wbj", lu11.bb, v.aabb.ovvo) + lu11new_bb -= einsum("ij,waj->wai", f.bb.oo, lu11.bb) + lu11new_bb -= einsum("ai,wji->waj", l1.bb, g.bb.boo) + lu11new_bb += einsum("wx,xia->wai", ls2, gc.bb.bov) + lu11new_bb += einsum("wx,xai->wai", w, lu11.bb) + lu11new_bb += einsum("wia->wai", g.bb.bov) + lu11new_bb += einsum("ab,wai->wbi", f.bb.vv, lu11.bb) + lu11new_bb += einsum("ai,wab->wbi", l1.bb, g.bb.bvv) + lu11new_bb += einsum("wai,abij->wbj", g.aa.bvo, l2.abab) + lu11new_bb += einsum("wai,jbai->wbj", lu11.aa, v.bbaa.ovvo) + + l1new.aa = l1new_aa + l1new.bb = l1new_bb + l2new.abab = l2new_abab + l2new.baba = l2new_baba + l2new.aaaa = l2new_aaaa + l2new.bbbb = l2new_bbbb + lu11new.aa = lu11new_aa + lu11new.bb = lu11new_bb + + return {"l1new": l1new, "l2new": l2new, "ls1new": ls1new, "ls2new": ls2new, "lu11new": lu11new} + +def make_rdm1_f(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, s2=None, u11=None, l1=None, l2=None, ls1=None, ls2=None, lu11=None, **kwargs): + rdm1_f = Namespace() + + # Get boson coupling creation array: + gc = Namespace( + aa = Namespace( + boo=g.aa.boo.transpose(0, 2, 1), + bov=g.aa.bvo.transpose(0, 2, 1), + bvo=g.aa.bov.transpose(0, 2, 1), + bvv=g.aa.bvv.transpose(0, 2, 1), + ), + bb = Namespace( + boo=g.bb.boo.transpose(0, 2, 1), + bov=g.bb.bvo.transpose(0, 2, 1), + bvo=g.bb.bov.transpose(0, 2, 1), + bvv=g.bb.bvv.transpose(0, 2, 1), + ), + ) + + delta_oo = Namespace() + delta_oo.aa = np.eye(nocc[0]) + delta_oo.bb = np.eye(nocc[1]) + delta_vv = Namespace() + delta_vv.aa = np.eye(nvir[0]) + delta_vv.bb = np.eye(nvir[1]) + + # 1RDM + x0 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x0 += einsum("abij,kjab->ik", l2.abab, t2.abab) + x14 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x14 += einsum("ij->ij", x0) + rdm1_f_oo_aa = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + rdm1_f_oo_aa += einsum("ij->ij", x0) * -1 + del x0 + x1 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x1 += einsum("ai,ja->ij", l1.aa, t1.aa) + x14 += einsum("ij->ij", x1) + rdm1_f_oo_aa -= einsum("ij->ij", x1) + del x1 + x2 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x2 += einsum("wai,wja->ij", lu11.aa, u11.aa) + x14 += einsum("ij->ij", x2) + rdm1_f_oo_aa -= einsum("ij->ij", x2) + del x2 + x3 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x3 += einsum("ijab->jiab", t2.aaaa) + x3 += einsum("ijab->jiba", t2.aaaa) * -1 + rdm1_f_oo_aa += einsum("abij,ikba->jk", l2.aaaa, x3) * -1 + del x3 + x4 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x4 += einsum("wai,wja->ij", lu11.bb, u11.bb) + x21 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x21 += einsum("ij->ij", x4) + rdm1_f_oo_bb = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + rdm1_f_oo_bb -= einsum("ij->ij", x4) + del x4 + x5 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x5 += einsum("abij,ikab->jk", l2.abab, t2.abab) + x21 += einsum("ij->ij", x5) + rdm1_f_oo_bb += einsum("ij->ij", x5) * -1 + del x5 + x6 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x6 += einsum("ai,ja->ij", l1.bb, t1.bb) + x21 += einsum("ij->ij", x6) + rdm1_f_oo_bb -= einsum("ij->ij", x6) + del x6 + x7 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x7 += einsum("ijab->jiab", t2.bbbb) + x7 += einsum("ijab->jiba", t2.bbbb) * -1 + rdm1_f_oo_bb += einsum("abij,ikba->jk", l2.bbbb, x7) * -1 + del x7 + x8 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) + x8 += einsum("ia,waj->wji", t1.aa, lu11.aa) + rdm1_f_vo_aa = np.zeros((nvir[0], nocc[0]), dtype=types[float]) + rdm1_f_vo_aa -= einsum("wia,wij->aj", u11.aa, x8) + del x8 + x9 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x9 += einsum("ia,abjk->jikb", t1.aa, l2.abab) + rdm1_f_vo_aa += einsum("ijab,ikjb->ak", t2.abab, x9) * -1 + del x9 + x10 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x10 += einsum("ia,bajk->jkib", t1.aa, l2.aaaa) + x11 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x11 += einsum("ijka->ijka", x10) * -1 + x11 += einsum("ijka->jika", x10) + del x10 + rdm1_f_vo_aa += einsum("ijab,ijkb->ak", t2.aaaa, x11) * -1 + del x11 + x12 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x12 -= einsum("ijab->jiab", t2.aaaa) + x12 += einsum("ijab->jiba", t2.aaaa) + rdm1_f_vo_aa -= einsum("ai,ijba->bj", l1.aa, x12) + del x12 + x13 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x13 += einsum("ijab->jiab", t2.aaaa) * -1 + x13 += einsum("ijab->jiba", t2.aaaa) + x14 += einsum("abij,ikba->jk", l2.aaaa, x13) * -1 + del x13 + rdm1_f_vo_aa += einsum("ia,ij->aj", t1.aa, x14) * -1 + del x14 + x15 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x15 += einsum("ia,bajk->jkib", t1.bb, l2.abab) + rdm1_f_vo_bb = np.zeros((nvir[1], nocc[1]), dtype=types[float]) + rdm1_f_vo_bb += einsum("ijab,ijka->bk", t2.abab, x15) * -1 + del x15 + x16 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) + x16 += einsum("ia,waj->wji", t1.bb, lu11.bb) + rdm1_f_vo_bb -= einsum("wia,wij->aj", u11.bb, x16) + del x16 + x17 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x17 += einsum("ia,abjk->kjib", t1.bb, l2.bbbb) + x18 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x18 += einsum("ijka->ijka", x17) + x18 += einsum("ijka->jika", x17) * -1 + del x17 + rdm1_f_vo_bb += einsum("ijab,ijka->bk", t2.bbbb, x18) * -1 + del x18 + x19 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x19 += einsum("ijab->jiab", t2.bbbb) + x19 -= einsum("ijab->jiba", t2.bbbb) + rdm1_f_vo_bb -= einsum("ai,ijab->bj", l1.bb, x19) + del x19 + x20 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x20 += einsum("ijab->jiab", t2.bbbb) * -1 + x20 += einsum("ijab->jiba", t2.bbbb) + x21 += einsum("abij,ikba->jk", l2.bbbb, x20) * -1 + del x20 + rdm1_f_vo_bb += einsum("ia,ij->aj", t1.bb, x21) * -1 + del x21 + x22 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x22 += einsum("abij->jiab", l2.aaaa) + x22 += einsum("abij->jiba", l2.aaaa) * -1 + rdm1_f_vv_aa = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + rdm1_f_vv_aa += einsum("ijab,ijcb->ac", t2.aaaa, x22) * -1 + del x22 + x23 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x23 += einsum("abij->jiab", l2.bbbb) * -1 + x23 += einsum("abij->jiba", l2.bbbb) + rdm1_f_vv_bb = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + rdm1_f_vv_bb += einsum("ijab,ijca->bc", t2.bbbb, x23) * -1 + del x23 + rdm1_f_oo_aa += einsum("ij->ji", delta_oo.aa) + rdm1_f_oo_bb += einsum("ij->ji", delta_oo.bb) + rdm1_f_ov_aa = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + rdm1_f_ov_aa += einsum("ai->ia", l1.aa) + rdm1_f_ov_bb = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + rdm1_f_ov_bb += einsum("ai->ia", l1.bb) + rdm1_f_vo_aa += einsum("ai,jiba->bj", l1.bb, t2.abab) + rdm1_f_vo_aa += einsum("w,wia->ai", ls1, u11.aa) + rdm1_f_vo_aa += einsum("ia->ai", t1.aa) + rdm1_f_vo_bb += einsum("ai,ijab->bj", l1.aa, t2.abab) + rdm1_f_vo_bb += einsum("w,wia->ai", ls1, u11.bb) + rdm1_f_vo_bb += einsum("ia->ai", t1.bb) + rdm1_f_vv_aa += einsum("wai,wib->ba", lu11.aa, u11.aa) + rdm1_f_vv_aa += einsum("ai,ib->ba", l1.aa, t1.aa) + rdm1_f_vv_aa += einsum("abij,ijcb->ca", l2.abab, t2.abab) + rdm1_f_vv_bb += einsum("wai,wib->ba", lu11.bb, u11.bb) + rdm1_f_vv_bb += einsum("abij,ijac->cb", l2.abab, t2.abab) + rdm1_f_vv_bb += einsum("ai,ib->ba", l1.bb, t1.bb) + + rdm1_f_aa = np.block([[rdm1_f_oo_aa, rdm1_f_ov_aa], [rdm1_f_vo_aa, rdm1_f_vv_aa]]) + rdm1_f_bb = np.block([[rdm1_f_oo_bb, rdm1_f_ov_bb], [rdm1_f_vo_bb, rdm1_f_vv_bb]]) + + rdm1_f.aa = rdm1_f_aa + rdm1_f.bb = rdm1_f_bb + + return rdm1_f + +def make_rdm2_f(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, s2=None, u11=None, l1=None, l2=None, ls1=None, ls2=None, lu11=None, **kwargs): + rdm2_f = Namespace() + + # Get boson coupling creation array: + gc = Namespace( + aa = Namespace( + boo=g.aa.boo.transpose(0, 2, 1), + bov=g.aa.bvo.transpose(0, 2, 1), + bvo=g.aa.bov.transpose(0, 2, 1), + bvv=g.aa.bvv.transpose(0, 2, 1), + ), + bb = Namespace( + boo=g.bb.boo.transpose(0, 2, 1), + bov=g.bb.bvo.transpose(0, 2, 1), + bvo=g.bb.bov.transpose(0, 2, 1), + bvv=g.bb.bvv.transpose(0, 2, 1), + ), + ) + + delta_oo = Namespace() + delta_oo.aa = np.eye(nocc[0]) + delta_oo.bb = np.eye(nocc[1]) + delta_vv = Namespace() + delta_vv.aa = np.eye(nvir[0]) + delta_vv.bb = np.eye(nvir[1]) + + # 2RDM + x0 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x0 += einsum("ai,ja->ij", l1.aa, t1.aa) + x12 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x12 += einsum("ij->ji", x0) + x33 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x33 += einsum("ij->ij", x0) + x47 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x47 += einsum("ia,ij->ja", t1.aa, x0) + x48 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x48 -= einsum("ia->ia", x47) + del x47 + x85 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x85 += einsum("ij->ij", x0) + x153 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x153 += einsum("ij,kiab->jkab", x0, t2.aaaa) + x171 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x171 += einsum("ijab->ijab", x153) + del x153 + x258 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x258 += einsum("ij->ij", x0) + rdm2_f_oooo_aaaa = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + rdm2_f_oooo_aaaa -= einsum("ij,kl->jikl", delta_oo.aa, x0) + rdm2_f_oooo_aaaa += einsum("ij,kl->kijl", delta_oo.aa, x0) + rdm2_f_oooo_aaaa += einsum("ij,kl->jlki", delta_oo.aa, x0) + rdm2_f_oooo_aaaa -= einsum("ij,kl->klji", delta_oo.aa, x0) + del x0 + x1 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x1 += einsum("abij,kjab->ik", l2.abab, t2.abab) + x4 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x4 += einsum("ij->ij", x1) + x12 += einsum("ij->ji", x1) + x85 += einsum("ij->ij", x1) + x258 += einsum("ij->ij", x1) + del x1 + x2 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x2 += einsum("ijab->jiab", t2.aaaa) + x2 += einsum("ijab->jiba", t2.aaaa) * -1 + x3 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x3 += einsum("abij,ikab->jk", l2.aaaa, x2) + x4 += einsum("ij->ij", x3) * -1 + x43 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x43 += einsum("ia,ij->ja", t1.aa, x4) + x44 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x44 += einsum("ia->ia", x43) + del x43 + x45 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x45 += einsum("ia,jk->jika", t1.aa, x4) + x96 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x96 += einsum("ia,jk->jika", t1.aa, x4) + x174 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x174 += einsum("ij,ikab->kjab", x4, t2.aaaa) + x175 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x175 += einsum("ijab->ijba", x174) + del x174 + rdm2_f_oooo_aaaa += einsum("ij,kl->jikl", delta_oo.aa, x4) * -1 + rdm2_f_oooo_aaaa += einsum("ij,kl->jlki", delta_oo.aa, x4) + rdm2_f_oooo_aaaa += einsum("ij,kl->kjil", delta_oo.aa, x4) + rdm2_f_oooo_aaaa += einsum("ij,kl->klij", delta_oo.aa, x4) * -1 + del x4 + x12 += einsum("ij->ji", x3) * -1 + x85 += einsum("ij->ij", x3) * -1 + del x3 + x92 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x92 += einsum("ai,ijba->jb", l1.aa, x2) + x94 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x94 += einsum("ia->ia", x92) * -1 + x259 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x259 += einsum("ia->ia", x92) * -1 + del x92 + x257 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x257 += einsum("abij,ikab->jk", l2.aaaa, x2) + x258 += einsum("ij->ij", x257) * -1 + del x257 + x260 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x260 += einsum("ai,ijba->jb", l1.aa, x2) * -0.9999999999999993 + x302 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x302 += einsum("abij,ikca->kjcb", l2.abab, x2) + x304 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x304 += einsum("ijab->ijab", x302) * -1 + del x302 + x5 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x5 += einsum("wai,wja->ij", lu11.aa, u11.aa) + x12 += einsum("ij->ji", x5) + x29 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x29 += einsum("ia,ij->ja", t1.aa, x5) + x32 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x32 += einsum("ia->ia", x29) + del x29 + x33 += einsum("ij->ij", x5) + x34 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x34 += einsum("ia,jk->jika", t1.aa, x33) + x95 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x95 += einsum("ia,jk->jika", t1.aa, x33) + x183 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x183 += einsum("ia,ij->ja", t1.aa, x33) + del x33 + x184 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x184 += einsum("ia->ia", x183) + x185 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x185 += einsum("ia->ia", x183) + del x183 + x85 += einsum("ij->ij", x5) + x93 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x93 += einsum("ia,ij->ja", t1.aa, x85) + x94 += einsum("ia->ia", x93) + del x93 + x248 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x248 += einsum("ij,ikab->jkab", x85, t2.abab) + rdm2_f_vovo_bbaa = np.zeros((nvir[1], nocc[1], nvir[0], nocc[0]), dtype=types[float]) + rdm2_f_vovo_bbaa += einsum("ijab->bjai", x248) * -1 + rdm2_f_vovo_aabb = np.zeros((nvir[0], nocc[0], nvir[1], nocc[1]), dtype=types[float]) + rdm2_f_vovo_aabb += einsum("ijab->aibj", x248) * -1 + del x248 + rdm2_f_oovo_aabb = np.zeros((nocc[0], nocc[0], nvir[1], nocc[1]), dtype=types[float]) + rdm2_f_oovo_aabb += einsum("ia,jk->jkai", t1.bb, x85) * -1 + del x85 + x155 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x155 += einsum("ij,kiab->kjab", x5, t2.aaaa) + x171 -= einsum("ijab->ijab", x155) + del x155 + x258 += einsum("ij->ij", x5) + x259 += einsum("ia,ij->ja", t1.aa, x258) + x260 += einsum("ia,ij->ja", t1.aa, x258) * 0.9999999999999993 + del x258 + rdm2_f_oooo_aaaa -= einsum("ij,kl->ijkl", delta_oo.aa, x5) + rdm2_f_oooo_aaaa += einsum("ij,kl->ilkj", delta_oo.aa, x5) + rdm2_f_oooo_aaaa += einsum("ij,kl->kijl", delta_oo.aa, x5) + rdm2_f_oooo_aaaa -= einsum("ij,kl->klji", delta_oo.aa, x5) + del x5 + x6 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x6 += einsum("abij,klba->ijlk", l2.aaaa, t2.aaaa) + x39 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x39 += einsum("ijkl->jilk", x6) + x176 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x176 += einsum("ijab,ijkl->klab", t2.aaaa, x6) + x180 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x180 += einsum("ijab->ijab", x176) + del x176 + x178 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x178 += einsum("ia,jikl->jkla", t1.aa, x6) + x179 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x179 += einsum("ia,ijkb->jkab", t1.aa, x178) + del x178 + x180 += einsum("ijab->ijab", x179) + del x179 + rdm2_f_oooo_aaaa += einsum("ijkl->jkil", x6) * -1 + rdm2_f_oooo_aaaa += einsum("ijkl->jlik", x6) + del x6 + x7 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x7 += einsum("ia,abjk->kjib", t1.aa, l2.aaaa) + x8 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x8 += einsum("ia,jkla->jkil", t1.aa, x7) + x39 += einsum("ijkl->ijkl", x8) + x40 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x40 += einsum("ia,ijkl->jkla", t1.aa, x39) + del x39 + x45 += einsum("ijka->ikja", x40) + x96 += einsum("ijka->ikja", x40) + del x40 + x144 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x144 += einsum("ia,ijkl->jlka", t1.aa, x8) + x145 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x145 += einsum("ia,ijkb->jkab", t1.aa, x144) + del x144 + x152 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x152 += einsum("ijab->ijab", x145) + del x145 + x177 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x177 += einsum("ijab,jikl->klba", t2.aaaa, x8) + x180 += einsum("ijab->ijab", x177) + del x177 + rdm2_f_vovo_aaaa = np.zeros((nvir[0], nocc[0], nvir[0], nocc[0]), dtype=types[float]) + rdm2_f_vovo_aaaa += einsum("ijab->ajbi", x180) * -1 + rdm2_f_vovo_aaaa += einsum("ijab->bjai", x180) + del x180 + rdm2_f_oooo_aaaa += einsum("ijkl->ikjl", x8) + rdm2_f_oooo_aaaa += einsum("ijkl->iljk", x8) * -1 + del x8 + x36 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x36 += einsum("ijka->ijka", x7) + x36 += einsum("ijka->jika", x7) * -1 + x42 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x42 += einsum("ijab,jika->kb", t2.aaaa, x36) + x44 += einsum("ia->ia", x42) * -1 + x94 += einsum("ia->ia", x42) * -1 + x260 += einsum("ia->ia", x42) * -1 + del x42 + x78 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x78 += einsum("ijab,ikla->kljb", t2.abab, x36) + rdm2_f_oovo_aabb += einsum("ijka->ijak", x78) * -1 + rdm2_f_vooo_bbaa = np.zeros((nvir[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) + rdm2_f_vooo_bbaa += einsum("ijka->akij", x78) * -1 + del x78 + x259 += einsum("ijab,jika->kb", t2.aaaa, x36) * -1 + x105 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x105 -= einsum("ijka->ijka", x7) + x105 += einsum("ijka->jika", x7) + x106 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x106 += einsum("ia,jikb->jkab", t1.aa, x105) + rdm2_f_oovv_aaaa = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + rdm2_f_oovv_aaaa -= einsum("ijab->ijab", x106) + rdm2_f_vvoo_aaaa = np.zeros((nvir[0], nvir[0], nocc[0], nocc[0]), dtype=types[float]) + rdm2_f_vvoo_aaaa -= einsum("ijab->abij", x106) + del x106 + x243 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x243 += einsum("ijab,ikla->kljb", t2.abab, x105) + del x105 + x245 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x245 -= einsum("ijka->ijka", x243) + del x243 + x130 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x130 += einsum("ijka->ijka", x7) + x130 -= einsum("ijka->jika", x7) + x131 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x131 += einsum("ia,jikb->jkab", t1.aa, x130) + rdm2_f_ovvo_aaaa = np.zeros((nocc[0], nvir[0], nvir[0], nocc[0]), dtype=types[float]) + rdm2_f_ovvo_aaaa -= einsum("ijab->ibaj", x131) + rdm2_f_voov_aaaa = np.zeros((nvir[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + rdm2_f_voov_aaaa -= einsum("ijab->ajib", x131) + del x131 + x266 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x266 += einsum("ijab,jikc->kcba", t2.aaaa, x7) + x271 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x271 += einsum("iabc->iabc", x266) + del x266 + x267 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x267 += einsum("ia,jikb->jkba", t1.aa, x7) + x269 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x269 += einsum("ijab->ijab", x267) * -1 + del x267 + rdm2_f_ooov_aaaa = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + rdm2_f_ooov_aaaa += einsum("ijka->ikja", x7) + rdm2_f_ooov_aaaa -= einsum("ijka->jkia", x7) + rdm2_f_ovoo_aaaa = np.zeros((nocc[0], nvir[0], nocc[0], nocc[0]), dtype=types[float]) + rdm2_f_ovoo_aaaa -= einsum("ijka->iajk", x7) + rdm2_f_ovoo_aaaa += einsum("ijka->jaik", x7) + del x7 + x9 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) + x9 += einsum("abij,klab->ikjl", l2.abab, t2.abab) + x80 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) + x80 += einsum("ijkl->ijkl", x9) + x233 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) + x233 += einsum("ijkl->ijkl", x9) + x239 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) + x239 += einsum("ijkl->ijkl", x9) + rdm2_f_oooo_aabb = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) + rdm2_f_oooo_aabb += einsum("ijkl->ijkl", x9) + rdm2_f_oooo_bbaa = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) + rdm2_f_oooo_bbaa += einsum("ijkl->klij", x9) + del x9 + x10 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x10 += einsum("ia,bajk->jkib", t1.bb, l2.abab) + x11 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) + x11 += einsum("ia,jkla->jikl", t1.aa, x10) + x80 += einsum("ijkl->ijkl", x11) + x81 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x81 += einsum("ia,jkil->jkla", t1.bb, x80) + rdm2_f_oovo_aabb += einsum("ijka->ijak", x81) + rdm2_f_vooo_bbaa += einsum("ijka->akij", x81) + del x81 + x91 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x91 += einsum("ia,ijkl->jkla", t1.aa, x80) + del x80 + rdm2_f_oovo_bbaa = np.zeros((nocc[1], nocc[1], nvir[0], nocc[0]), dtype=types[float]) + rdm2_f_oovo_bbaa += einsum("ijka->jkai", x91) + rdm2_f_vooo_aabb = np.zeros((nvir[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) + rdm2_f_vooo_aabb += einsum("ijka->aijk", x91) + del x91 + x233 += einsum("ijkl->ijkl", x11) + x234 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x234 += einsum("ijab,ikjl->klab", t2.abab, x233) + del x233 + rdm2_f_vovo_bbaa += einsum("ijab->bjai", x234) + rdm2_f_vovo_aabb += einsum("ijab->aibj", x234) + del x234 + x239 += einsum("ijkl->ijkl", x11) * 0.9999999999999993 + x240 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x240 += einsum("ia,ijkl->jkla", t1.aa, x239) + del x239 + x241 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x241 += einsum("ijka->ijka", x240) + del x240 + rdm2_f_oooo_aabb += einsum("ijkl->ijkl", x11) + rdm2_f_oooo_bbaa += einsum("ijkl->klij", x11) + del x11 + x60 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x60 += einsum("ijab,ikla->kljb", t2.abab, x10) + x71 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x71 += einsum("ijka->ijka", x60) * -1 + x99 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x99 += einsum("ijka->ijka", x60) * -1 + x204 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x204 -= einsum("ijka->ijka", x60) + del x60 + x66 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x66 += einsum("ijab,ijka->kb", t2.abab, x10) + x70 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x70 += einsum("ia->ia", x66) + x84 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x84 += einsum("ia->ia", x66) + x97 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x97 += einsum("ia->ia", x66) + x256 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x256 += einsum("ia->ia", x66) + x261 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x261 += einsum("ia->ia", x66) + del x66 + x77 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x77 += einsum("ijab,kjla->kilb", t2.abab, x10) + x245 -= einsum("ijka->ijka", x77) + rdm2_f_oovo_aabb += einsum("ijka->ijak", x77) + rdm2_f_vooo_bbaa += einsum("ijka->akij", x77) + del x77 + x90 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x90 += einsum("ijka,ilba->ljkb", x10, x2) + del x2 + x241 += einsum("ijka->ijka", x90) * -1 + rdm2_f_oovo_bbaa += einsum("ijka->jkai", x90) * -1 + rdm2_f_vooo_aabb += einsum("ijka->aijk", x90) * -1 + del x90 + x126 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + x126 += einsum("ia,ijkb->jkba", t1.aa, x10) + rdm2_f_oovv_bbaa = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + rdm2_f_oovv_bbaa -= einsum("ijab->ijba", x126) + rdm2_f_vvoo_aabb = np.zeros((nvir[0], nvir[0], nocc[1], nocc[1]), dtype=types[float]) + rdm2_f_vvoo_aabb -= einsum("ijab->baij", x126) + del x126 + x133 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x133 += einsum("ia,jikb->jkba", t1.bb, x10) + x296 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x296 += einsum("ijab->ijab", x133) + rdm2_f_ovvo_aabb = np.zeros((nocc[0], nvir[0], nvir[1], nocc[1]), dtype=types[float]) + rdm2_f_ovvo_aabb -= einsum("ijab->iabj", x133) + rdm2_f_voov_bbaa = np.zeros((nvir[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + rdm2_f_voov_bbaa -= einsum("ijab->bjia", x133) + del x133 + x292 = np.zeros((nocc[1], nvir[0], nvir[0], nvir[1]), dtype=types[float]) + x292 += einsum("ijab,ijkc->kcab", t2.abab, x10) + rdm2_f_vovv_bbaa = np.zeros((nvir[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + rdm2_f_vovv_bbaa += einsum("iabc->ciba", x292) * -1 + rdm2_f_vvvo_aabb = np.zeros((nvir[0], nvir[0], nvir[1], nocc[1]), dtype=types[float]) + rdm2_f_vvvo_aabb += einsum("iabc->baci", x292) * -1 + del x292 + rdm2_f_ooov_bbaa = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + rdm2_f_ooov_bbaa -= einsum("ijka->jkia", x10) + rdm2_f_ovoo_aabb = np.zeros((nocc[0], nvir[0], nocc[1], nocc[1]), dtype=types[float]) + rdm2_f_ovoo_aabb -= einsum("ijka->iajk", x10) + del x10 + x12 += einsum("ij->ji", delta_oo.aa) * -1 + rdm2_f_oooo_aabb += einsum("ij,kl->lkji", delta_oo.bb, x12) * -1 + rdm2_f_oooo_bbaa += einsum("ij,kl->jilk", delta_oo.bb, x12) * -1 + rdm2_f_vooo_bbaa += einsum("ia,jk->aikj", t1.bb, x12) * -1 + del x12 + x13 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x13 += einsum("ai,ja->ij", l1.bb, t1.bb) + x18 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x18 += einsum("ij->ij", x13) + x58 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x58 += einsum("ij->ij", x13) + x73 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x73 += einsum("ia,ij->ja", t1.bb, x13) + x74 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x74 -= einsum("ia->ia", x73) + del x73 + x198 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x198 += einsum("ij,kiab->jkab", x13, t2.bbbb) + x213 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x213 += einsum("ijab->ijab", x198) + del x198 + x254 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x254 += einsum("ij->ij", x13) + rdm2_f_oooo_bbbb = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + rdm2_f_oooo_bbbb -= einsum("ij,kl->jikl", delta_oo.bb, x13) + rdm2_f_oooo_bbbb += einsum("ij,kl->kijl", delta_oo.bb, x13) + rdm2_f_oooo_bbbb += einsum("ij,kl->jlki", delta_oo.bb, x13) + rdm2_f_oooo_bbbb -= einsum("ij,kl->klji", delta_oo.bb, x13) + del x13 + x14 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x14 += einsum("wai,wja->ij", lu11.bb, u11.bb) + x18 += einsum("ij->ij", x14) + x54 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x54 += einsum("ia,ij->ja", t1.bb, x14) + x57 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x57 += einsum("ia->ia", x54) + del x54 + x58 += einsum("ij->ij", x14) + x59 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x59 += einsum("ia,jk->jika", t1.bb, x58) + x98 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x98 += einsum("ia,jk->jika", t1.bb, x58) + x224 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x224 += einsum("ia,ij->ja", t1.bb, x58) + del x58 + x225 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x225 += einsum("ia->ia", x224) + x226 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x226 += einsum("ia->ia", x224) + del x224 + x200 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x200 += einsum("ij,kiab->kjab", x14, t2.bbbb) + x213 -= einsum("ijab->ijab", x200) + del x200 + x254 += einsum("ij->ij", x14) + rdm2_f_oooo_bbbb -= einsum("ij,kl->ijkl", delta_oo.bb, x14) + rdm2_f_oooo_bbbb += einsum("ij,kl->ilkj", delta_oo.bb, x14) + rdm2_f_oooo_bbbb += einsum("ij,kl->kijl", delta_oo.bb, x14) + rdm2_f_oooo_bbbb -= einsum("ij,kl->klji", delta_oo.bb, x14) + del x14 + x15 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x15 += einsum("abij,ikab->jk", l2.abab, t2.abab) + x18 += einsum("ij->ij", x15) + x22 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x22 += einsum("ij->ij", x15) + x214 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x214 += einsum("ij,kiab->jkab", x15, t2.bbbb) + x218 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x218 += einsum("ijab->ijab", x214) * -1 + del x214 + x254 += einsum("ij->ij", x15) + del x15 + x16 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x16 += einsum("ijab->jiab", t2.bbbb) + x16 += einsum("ijab->jiba", t2.bbbb) * -1 + x17 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x17 += einsum("abij,ikab->jk", l2.bbbb, x16) + x18 += einsum("ij->ij", x17) * -1 + x83 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x83 += einsum("ia,ij->ja", t1.bb, x18) + x84 += einsum("ia->ia", x83) + x97 += einsum("ia->ia", x83) + del x83 + x247 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x247 += einsum("ij,kiab->kjab", x18, t2.abab) + rdm2_f_vovo_bbaa += einsum("ijab->bjai", x247) * -1 + rdm2_f_vovo_aabb += einsum("ijab->aibj", x247) * -1 + del x247 + rdm2_f_oooo_aabb += einsum("ij,kl->jikl", delta_oo.aa, x18) * -1 + rdm2_f_oooo_bbaa += einsum("ij,kl->klji", delta_oo.aa, x18) * -1 + rdm2_f_oovo_bbaa += einsum("ia,jk->jkai", t1.aa, x18) * -1 + rdm2_f_vooo_aabb += einsum("ia,jk->aijk", t1.aa, x18) * -1 + del x18 + x22 += einsum("ij->ij", x17) * -1 + x69 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x69 += einsum("ia,ij->ja", t1.bb, x22) + x70 += einsum("ia->ia", x69) + del x69 + x71 += einsum("ia,jk->jika", t1.bb, x22) + x99 += einsum("ia,jk->jika", t1.bb, x22) + rdm2_f_oooo_bbbb += einsum("ij,kl->jikl", delta_oo.bb, x22) * -1 + rdm2_f_oooo_bbbb += einsum("ij,kl->jlki", delta_oo.bb, x22) + rdm2_f_oooo_bbbb += einsum("ij,kl->kjil", delta_oo.bb, x22) + rdm2_f_oooo_bbbb += einsum("ij,kl->klij", delta_oo.bb, x22) * -1 + del x22 + x217 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x217 += einsum("ij,ikab->kjab", x17, t2.bbbb) * -1 + del x17 + x218 += einsum("ijab->ijba", x217) + del x217 + x82 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x82 += einsum("ai,ijba->jb", l1.bb, x16) + x84 += einsum("ia->ia", x82) * -1 + x97 += einsum("ia->ia", x82) * -1 + del x82 + x252 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x252 += einsum("ai,ijba->jb", l1.bb, x16) * 0.9999999999999993 + x256 += einsum("ia->ia", x252) * -1 + x261 += einsum("ia->ia", x252) * -1 + del x252 + x253 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x253 += einsum("abij,ikab->jk", l2.bbbb, x16) + x254 += einsum("ij->ij", x253) * -1 + del x253 + x255 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x255 += einsum("ia,ij->ja", t1.bb, x254) * 0.9999999999999993 + del x254 + x256 += einsum("ia->ia", x255) + x261 += einsum("ia->ia", x255) + del x255 + x295 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x295 += einsum("abij,jkcb->ikac", l2.abab, x16) + x296 += einsum("ijab->ijab", x295) * -1 + del x295 + x19 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x19 += einsum("abij,klab->ijkl", l2.bbbb, t2.bbbb) + x64 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x64 += einsum("ijkl->jilk", x19) + x219 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x219 += einsum("ia,jikl->jkla", t1.bb, x19) + x220 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x220 += einsum("ia,ijkb->kjba", t1.bb, x219) + del x219 + x223 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x223 += einsum("ijab->ijab", x220) + del x220 + x221 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x221 += einsum("ijkl->jilk", x19) + rdm2_f_oooo_bbbb += einsum("ijkl->jkil", x19) * -1 + rdm2_f_oooo_bbbb += einsum("ijkl->jlik", x19) + del x19 + x20 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x20 += einsum("ia,bajk->jkib", t1.bb, l2.bbbb) + x21 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x21 += einsum("ia,jkla->kjli", t1.bb, x20) + x64 += einsum("ijkl->ijkl", x21) + x65 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x65 += einsum("ia,ijkl->jkla", t1.bb, x64) + del x64 + x71 += einsum("ijka->ikja", x65) + x99 += einsum("ijka->ikja", x65) + del x65 + x190 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x190 += einsum("ia,ijkl->jlka", t1.bb, x21) + x191 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x191 += einsum("ia,ijkb->jkab", t1.bb, x190) + del x190 + x197 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x197 += einsum("ijab->ijab", x191) + del x191 + x221 += einsum("ijkl->ijkl", x21) + x222 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x222 += einsum("ijab,ijkl->klab", t2.bbbb, x221) + del x221 + x223 += einsum("ijab->jiba", x222) + del x222 + rdm2_f_vovo_bbbb = np.zeros((nvir[1], nocc[1], nvir[1], nocc[1]), dtype=types[float]) + rdm2_f_vovo_bbbb += einsum("ijab->ajbi", x223) * -1 + rdm2_f_vovo_bbbb += einsum("ijab->bjai", x223) + del x223 + rdm2_f_oooo_bbbb += einsum("ijkl->ikjl", x21) + rdm2_f_oooo_bbbb += einsum("ijkl->iljk", x21) * -1 + del x21 + x61 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x61 += einsum("ijka->ijka", x20) + x61 += einsum("ijka->jika", x20) * -1 + x89 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x89 += einsum("ijab,jklb->ikla", t2.abab, x61) + x241 += einsum("ijka->ijka", x89) * -1 + rdm2_f_oovo_bbaa += einsum("ijka->jkai", x89) * -1 + rdm2_f_vooo_aabb += einsum("ijka->aijk", x89) * -1 + del x89 + x67 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x67 += einsum("ijka->ijka", x20) * -1 + x67 += einsum("ijka->jika", x20) + x68 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x68 += einsum("ijab,jikb->ka", t2.bbbb, x67) + del x67 + x70 += einsum("ia->ia", x68) * -1 + x71 += einsum("ij,ka->jika", delta_oo.bb, x70) * -1 + x218 += einsum("ia,jb->ijab", t1.bb, x70) + rdm2_f_vooo_bbbb = np.zeros((nvir[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + rdm2_f_vooo_bbbb += einsum("ij,ka->ajik", delta_oo.bb, x70) + rdm2_f_vooo_bbbb += einsum("ij,ka->akij", delta_oo.bb, x70) * -1 + del x70 + x84 += einsum("ia->ia", x68) * -1 + x97 += einsum("ia->ia", x68) * -1 + x256 += einsum("ia->ia", x68) * -1 + x261 += einsum("ia->ia", x68) * -1 + del x68 + x117 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x117 -= einsum("ijka->ijka", x20) + x117 += einsum("ijka->jika", x20) + x118 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x118 += einsum("ia,jikb->jkab", t1.bb, x117) + del x117 + rdm2_f_oovv_bbbb = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + rdm2_f_oovv_bbbb -= einsum("ijab->ijab", x118) + rdm2_f_vvoo_bbbb = np.zeros((nvir[1], nvir[1], nocc[1], nocc[1]), dtype=types[float]) + rdm2_f_vvoo_bbbb -= einsum("ijab->abij", x118) + del x118 + x142 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x142 += einsum("ijka->ijka", x20) + x142 -= einsum("ijka->jika", x20) + x143 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x143 += einsum("ia,jikb->jkab", t1.bb, x142) + rdm2_f_ovvo_bbbb = np.zeros((nocc[1], nvir[1], nvir[1], nocc[1]), dtype=types[float]) + rdm2_f_ovvo_bbbb -= einsum("ijab->ibaj", x143) + rdm2_f_voov_bbbb = np.zeros((nvir[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + rdm2_f_voov_bbbb -= einsum("ijab->ajib", x143) + del x143 + x282 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x282 += einsum("ijab,jikc->kcba", t2.bbbb, x20) + x289 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x289 += einsum("iabc->iabc", x282) + del x282 + x283 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x283 += einsum("ia,jikb->jkba", t1.bb, x20) + x286 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x286 += einsum("ijab->ijab", x283) * -1 + del x283 + rdm2_f_ooov_bbbb = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + rdm2_f_ooov_bbbb += einsum("ijka->ikja", x20) + rdm2_f_ooov_bbbb -= einsum("ijka->jkia", x20) + rdm2_f_ovoo_bbbb = np.zeros((nocc[1], nvir[1], nocc[1], nocc[1]), dtype=types[float]) + rdm2_f_ovoo_bbbb -= einsum("ijka->iajk", x20) + rdm2_f_ovoo_bbbb += einsum("ijka->jaik", x20) + del x20 + x23 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x23 += einsum("ia,abjk->jikb", t1.aa, l2.abab) + x35 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x35 += einsum("ijab,kljb->klia", t2.abab, x23) + x45 += einsum("ijka->ijka", x35) * -1 + x96 += einsum("ijka->ijka", x35) * -1 + x162 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x162 -= einsum("ijka->ijka", x35) + del x35 + x41 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x41 += einsum("ijab,ikjb->ka", t2.abab, x23) + x44 += einsum("ia->ia", x41) + x45 += einsum("ij,ka->jika", delta_oo.aa, x44) * -1 + x175 += einsum("ia,jb->ijab", t1.aa, x44) + rdm2_f_vooo_aaaa = np.zeros((nvir[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + rdm2_f_vooo_aaaa += einsum("ij,ka->ajik", delta_oo.aa, x44) + rdm2_f_vooo_aaaa += einsum("ij,ka->akij", delta_oo.aa, x44) * -1 + del x44 + x94 += einsum("ia->ia", x41) + x259 += einsum("ia->ia", x41) + x260 += einsum("ia->ia", x41) + del x41 + x79 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x79 += einsum("ijab,klib->klja", x16, x23) + rdm2_f_oovo_aabb += einsum("ijka->ijak", x79) * -1 + rdm2_f_vooo_bbaa += einsum("ijka->akij", x79) * -1 + del x79 + x87 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x87 += einsum("ijab,iklb->klja", t2.abab, x23) + x241 += einsum("ijka->ijka", x87) + rdm2_f_oovo_bbaa += einsum("ijka->jkai", x87) + rdm2_f_vooo_aabb += einsum("ijka->aijk", x87) + del x87 + x128 = np.zeros((nocc[0], nocc[0], nvir[1], nvir[1]), dtype=types[float]) + x128 += einsum("ia,jkib->jkba", t1.bb, x23) + rdm2_f_oovv_aabb = np.zeros((nocc[0], nocc[0], nvir[1], nvir[1]), dtype=types[float]) + rdm2_f_oovv_aabb -= einsum("ijab->ijba", x128) + rdm2_f_vvoo_bbaa = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + rdm2_f_vvoo_bbaa -= einsum("ijab->baij", x128) + del x128 + x138 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x138 += einsum("ia,ijkb->jkab", t1.aa, x23) + x304 += einsum("ijab->ijab", x138) + rdm2_f_ovvo_bbaa = np.zeros((nocc[1], nvir[1], nvir[0], nocc[0]), dtype=types[float]) + rdm2_f_ovvo_bbaa -= einsum("ijab->jbai", x138) + rdm2_f_voov_aabb = np.zeros((nvir[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + rdm2_f_voov_aabb -= einsum("ijab->aijb", x138) + del x138 + x298 = np.zeros((nocc[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) + x298 += einsum("ijab,ikjc->kacb", t2.abab, x23) + rdm2_f_vovv_aabb = np.zeros((nvir[0], nocc[0], nvir[1], nvir[1]), dtype=types[float]) + rdm2_f_vovv_aabb += einsum("iabc->aicb", x298) * -1 + rdm2_f_vvvo_bbaa = np.zeros((nvir[1], nvir[1], nvir[0], nocc[0]), dtype=types[float]) + rdm2_f_vvvo_bbaa += einsum("iabc->cbai", x298) * -1 + del x298 + rdm2_f_ooov_aabb = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + rdm2_f_ooov_aabb -= einsum("ijka->ijka", x23) + rdm2_f_ovoo_bbaa = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + rdm2_f_ovoo_bbaa -= einsum("ijka->kaij", x23) + x24 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x24 += einsum("ai,jkba->ijkb", l1.aa, t2.aaaa) + x34 += einsum("ijka->ijka", x24) + x95 += einsum("ijka->ijka", x24) + x162 += einsum("ijka->ijka", x24) + del x24 + x25 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) + x25 += einsum("ia,waj->wji", t1.aa, lu11.aa) + x26 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x26 += einsum("wia,wjk->jkia", u11.aa, x25) + x34 -= einsum("ijka->ijka", x26) + x95 -= einsum("ijka->ijka", x26) + del x26 + rdm2_f_vooo_aaaa -= einsum("ijka->ajik", x95) + rdm2_f_vooo_aaaa += einsum("ijka->akij", x95) + del x95 + x28 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x28 += einsum("wia,wij->ja", u11.aa, x25) + x32 += einsum("ia->ia", x28) + x94 += einsum("ia->ia", x28) + x184 += einsum("ia->ia", x28) + x185 += einsum("ia->ia", x28) + x259 += einsum("ia->ia", x28) + x260 += einsum("ia->ia", x28) * 0.9999999999999993 + del x28 + x76 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x76 += einsum("wia,wjk->jkia", u11.bb, x25) + rdm2_f_oovo_aabb -= einsum("ijka->ijak", x76) + rdm2_f_vooo_bbaa -= einsum("ijka->akij", x76) + del x76 + x164 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x164 += einsum("ia,wij->wja", t1.aa, x25) + del x25 + x167 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x167 -= einsum("wia->wia", x164) + del x164 + x27 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x27 += einsum("ai,jiba->jb", l1.bb, t2.abab) + x32 -= einsum("ia->ia", x27) + x94 += einsum("ia->ia", x27) * -1 + x170 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x170 += einsum("ia->ia", x27) + x259 += einsum("ia->ia", x27) * -1 + x260 += einsum("ia->ia", x27) * -0.9999999999999993 + del x27 + x30 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x30 += einsum("ijab->jiab", t2.aaaa) + x30 -= einsum("ijab->jiba", t2.aaaa) + x31 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x31 += einsum("ai,ijba->jb", l1.aa, x30) + x32 -= einsum("ia->ia", x31) + del x31 + x34 -= einsum("ij,ka->jika", delta_oo.aa, x32) + rdm2_f_oovo_aaaa = np.zeros((nocc[0], nocc[0], nvir[0], nocc[0]), dtype=types[float]) + rdm2_f_oovo_aaaa += einsum("ijka->ijak", x34) + rdm2_f_oovo_aaaa -= einsum("ijka->ikaj", x34) + del x34 + rdm2_f_vooo_aaaa += einsum("ij,ka->ajik", delta_oo.aa, x32) + rdm2_f_vooo_aaaa -= einsum("ij,ka->akij", delta_oo.aa, x32) + del x32 + x37 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x37 += einsum("ijab->jiab", t2.aaaa) * -1 + x37 += einsum("ijab->jiba", t2.aaaa) + x38 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x38 += einsum("ijka,jlab->iklb", x36, x37) + del x36 + x45 += einsum("ijka->ijka", x38) + rdm2_f_oovo_aaaa += einsum("ijka->ijak", x45) + rdm2_f_oovo_aaaa += einsum("ijka->ikaj", x45) * -1 + del x45 + x96 += einsum("ijka->ijka", x38) + del x38 + rdm2_f_vooo_aaaa += einsum("ijka->ajik", x96) * -1 + rdm2_f_vooo_aaaa += einsum("ijka->akij", x96) + del x96 + x46 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x46 += einsum("w,wia->ia", ls1, u11.aa) + x48 += einsum("ia->ia", x46) + x94 += einsum("ia->ia", x46) * -1 + x184 -= einsum("ia->ia", x46) + x185 -= einsum("ia->ia", x46) + rdm2_f_vovo_aaaa -= einsum("ia,jb->aibj", t1.aa, x185) + rdm2_f_vovo_aaaa += einsum("ia,jb->biaj", t1.aa, x185) + del x185 + x259 += einsum("ia->ia", x46) * -1 + rdm2_f_vovo_bbaa += einsum("ia,jb->aibj", t1.bb, x259) * -1 + del x259 + x260 += einsum("ia->ia", x46) * -0.9999999999999993 + del x46 + x48 += einsum("ia->ia", t1.aa) + rdm2_f_oovo_aaaa -= einsum("ij,ka->jkai", delta_oo.aa, x48) + rdm2_f_oovo_aaaa += einsum("ij,ka->jiak", delta_oo.aa, x48) + rdm2_f_vooo_aaaa -= einsum("ij,ka->aijk", delta_oo.aa, x48) + rdm2_f_vooo_aaaa += einsum("ij,ka->akji", delta_oo.aa, x48) + del x48 + x49 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x49 += einsum("ai,jkab->ikjb", l1.bb, t2.bbbb) + x59 += einsum("ijka->ijka", x49) + x98 += einsum("ijka->ijka", x49) + x204 += einsum("ijka->ijka", x49) + del x49 + x50 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) + x50 += einsum("ia,waj->wji", t1.bb, lu11.bb) + x51 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x51 += einsum("wia,wjk->jkia", u11.bb, x50) + x59 -= einsum("ijka->ijka", x51) + x98 -= einsum("ijka->ijka", x51) + del x51 + rdm2_f_vooo_bbbb -= einsum("ijka->ajik", x98) + rdm2_f_vooo_bbbb += einsum("ijka->akij", x98) + del x98 + x53 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x53 += einsum("wia,wij->ja", u11.bb, x50) + x57 += einsum("ia->ia", x53) + x84 += einsum("ia->ia", x53) + x97 += einsum("ia->ia", x53) + x225 += einsum("ia->ia", x53) + x226 += einsum("ia->ia", x53) + x256 += einsum("ia->ia", x53) * 0.9999999999999993 + x261 += einsum("ia->ia", x53) * 0.9999999999999993 + del x53 + x86 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x86 += einsum("wia,wjk->ijka", u11.aa, x50) + rdm2_f_oovo_bbaa -= einsum("ijka->jkai", x86) + rdm2_f_vooo_aabb -= einsum("ijka->aijk", x86) + del x86 + x207 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x207 += einsum("ia,wij->wja", t1.bb, x50) + del x50 + x209 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x209 -= einsum("wia->wia", x207) + x249 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x249 -= einsum("wia->wia", x207) + del x207 + x52 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x52 += einsum("ai,ijab->jb", l1.aa, t2.abab) + x57 -= einsum("ia->ia", x52) + x84 += einsum("ia->ia", x52) * -1 + x97 += einsum("ia->ia", x52) * -1 + x212 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x212 += einsum("ia->ia", x52) + x256 += einsum("ia->ia", x52) * -0.9999999999999993 + x261 += einsum("ia->ia", x52) * -0.9999999999999993 + del x52 + x55 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x55 += einsum("ijab->jiab", t2.bbbb) + x55 -= einsum("ijab->jiba", t2.bbbb) + x56 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x56 += einsum("ai,ijba->jb", l1.bb, x55) + x57 -= einsum("ia->ia", x56) + del x56 + x59 -= einsum("ij,ka->jika", delta_oo.bb, x57) + rdm2_f_oovo_bbbb = np.zeros((nocc[1], nocc[1], nvir[1], nocc[1]), dtype=types[float]) + rdm2_f_oovo_bbbb += einsum("ijka->ijak", x59) + rdm2_f_oovo_bbbb -= einsum("ijka->ikaj", x59) + del x59 + rdm2_f_vooo_bbbb += einsum("ij,ka->ajik", delta_oo.bb, x57) + rdm2_f_vooo_bbbb -= einsum("ij,ka->akij", delta_oo.bb, x57) + del x57 + x62 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x62 += einsum("ijab->jiab", t2.bbbb) * -1 + x62 += einsum("ijab->jiba", t2.bbbb) + x63 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x63 += einsum("ijka,jlab->iklb", x61, x62) + del x61 + del x62 + x71 += einsum("ijka->ijka", x63) + rdm2_f_oovo_bbbb += einsum("ijka->ijak", x71) + rdm2_f_oovo_bbbb += einsum("ijka->ikaj", x71) * -1 + del x71 + x99 += einsum("ijka->ijka", x63) + del x63 + rdm2_f_vooo_bbbb += einsum("ijka->ajik", x99) * -1 + rdm2_f_vooo_bbbb += einsum("ijka->akij", x99) + del x99 + x72 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x72 += einsum("w,wia->ia", ls1, u11.bb) + x74 += einsum("ia->ia", x72) + x84 += einsum("ia->ia", x72) * -1 + x97 += einsum("ia->ia", x72) * -1 + rdm2_f_vooo_bbaa += einsum("ij,ka->akji", delta_oo.aa, x97) * -1 + del x97 + x225 -= einsum("ia->ia", x72) + x226 -= einsum("ia->ia", x72) + rdm2_f_vovo_bbbb -= einsum("ia,jb->aibj", t1.bb, x226) + rdm2_f_vovo_bbbb += einsum("ia,jb->biaj", t1.bb, x226) + del x226 + x256 += einsum("ia->ia", x72) * -0.9999999999999993 + x261 += einsum("ia->ia", x72) * -0.9999999999999993 + del x72 + rdm2_f_vovo_aabb += einsum("ia,jb->aibj", t1.aa, x261) * -1 + del x261 + x74 += einsum("ia->ia", t1.bb) + rdm2_f_oovo_bbbb -= einsum("ij,ka->jkai", delta_oo.bb, x74) + rdm2_f_oovo_bbbb += einsum("ij,ka->jiak", delta_oo.bb, x74) + rdm2_f_vooo_bbbb -= einsum("ij,ka->aijk", delta_oo.bb, x74) + rdm2_f_vooo_bbbb += einsum("ij,ka->akji", delta_oo.bb, x74) + del x74 + x75 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x75 += einsum("ai,jkab->ijkb", l1.aa, t2.abab) + x245 += einsum("ijka->ijka", x75) + rdm2_f_oovo_aabb -= einsum("ijka->ijak", x75) + rdm2_f_vooo_bbaa -= einsum("ijka->akij", x75) + del x75 + x84 += einsum("ia->ia", t1.bb) * -1 + rdm2_f_oovo_aabb += einsum("ij,ka->jiak", delta_oo.aa, x84) * -1 + del x84 + x88 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x88 += einsum("ai,jkba->jikb", l1.bb, t2.abab) + x241 += einsum("ijka->ijka", x88) * -1 + x242 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x242 += einsum("ia,jikb->jkba", t1.bb, x241) + del x241 + rdm2_f_vovo_bbaa += einsum("ijab->bjai", x242) + rdm2_f_vovo_aabb += einsum("ijab->aibj", x242) + del x242 + rdm2_f_oovo_bbaa -= einsum("ijka->jkai", x88) + rdm2_f_vooo_aabb -= einsum("ijka->aijk", x88) + del x88 + x94 += einsum("ia->ia", t1.aa) * -1 + rdm2_f_oovo_bbaa += einsum("ij,ka->jiak", delta_oo.bb, x94) * -1 + rdm2_f_vooo_aabb += einsum("ij,ka->akji", delta_oo.bb, x94) * -1 + del x94 + x100 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x100 += einsum("wai,wjb->ijab", lu11.aa, u11.aa) + rdm2_f_oovv_aaaa -= einsum("ijab->ijba", x100) + rdm2_f_ovvo_aaaa += einsum("ijab->iabj", x100) + rdm2_f_voov_aaaa += einsum("ijab->bjia", x100) + rdm2_f_vvoo_aaaa -= einsum("ijab->baij", x100) + del x100 + x101 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x101 += einsum("abij,kjcb->ikac", l2.abab, t2.abab) + x159 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x159 += einsum("ijab->ijab", x101) + x231 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x231 += einsum("ijab->ijab", x101) + x269 += einsum("ijab->ijab", x101) + rdm2_f_oovv_aaaa -= einsum("ijab->ijba", x101) + rdm2_f_ovvo_aaaa += einsum("ijab->iabj", x101) + rdm2_f_voov_aaaa += einsum("ijab->bjia", x101) + rdm2_f_vvoo_aaaa -= einsum("ijab->baij", x101) + del x101 + x102 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x102 -= einsum("ijab->jiab", t2.aaaa) + x102 += einsum("ijab->jiba", t2.aaaa) + x139 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x139 += einsum("abij,ikca->kjcb", l2.abab, x102) + x228 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x228 -= einsum("ijab->ijab", x139) + rdm2_f_ovvo_bbaa -= einsum("ijab->jbai", x139) + rdm2_f_voov_aabb -= einsum("ijab->aijb", x139) + del x139 + x161 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x161 += einsum("ijab,kila->jklb", x102, x130) + del x130 + x162 += einsum("ijka->jkia", x161) + del x161 + x163 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x163 += einsum("ia,ijkb->jkab", t1.aa, x162) + del x162 + x171 += einsum("ijab->ijab", x163) + del x163 + x166 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x166 += einsum("wai,ijba->wjb", lu11.aa, x102) + x167 -= einsum("wia->wia", x166) + del x166 + x169 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x169 += einsum("ai,ijba->jb", l1.aa, x102) + x170 -= einsum("ia->ia", x169) + del x169 + x171 += einsum("ia,jb->ijab", t1.aa, x170) + del x170 + x103 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x103 -= einsum("abij->jiab", l2.aaaa) + x103 += einsum("abij->jiba", l2.aaaa) + x104 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x104 += einsum("ijab,ikca->jkbc", x102, x103) + rdm2_f_oovv_aaaa += einsum("ijab->jiab", x104) + rdm2_f_vvoo_aaaa += einsum("ijab->abji", x104) + del x104 + x129 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x129 += einsum("ijab,ikbc->kjca", x103, x30) + del x30 + rdm2_f_ovvo_aaaa += einsum("ijab->jbai", x129) + rdm2_f_voov_aaaa += einsum("ijab->aijb", x129) + del x129 + x134 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x134 += einsum("ijab,ikca->kjcb", t2.abab, x103) + x188 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x188 -= einsum("ijab,ikac->jkbc", t2.abab, x134) + x189 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x189 += einsum("ijab->ijab", x188) + del x188 + rdm2_f_ovvo_aabb -= einsum("ijab->iabj", x134) + rdm2_f_voov_bbaa -= einsum("ijab->bjia", x134) + del x134 + x158 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x158 += einsum("ijab,ikbc->jkac", t2.aaaa, x103) + del x103 + x159 -= einsum("ijab->jiba", x158) + del x158 + x160 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x160 += einsum("ijab,ikac->jkbc", t2.aaaa, x159) + del x159 + x171 += einsum("ijab->ijab", x160) + del x160 + x107 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x107 += einsum("ai,ib->ab", l1.aa, t1.aa) + x112 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x112 += einsum("ab->ab", x107) + x275 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x275 += einsum("ab->ab", x107) + del x107 + x108 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x108 += einsum("wai,wib->ab", lu11.aa, u11.aa) + x112 += einsum("ab->ab", x108) + x154 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x154 += einsum("ab,ijca->ijcb", x108, t2.aaaa) + x171 -= einsum("ijab->ijab", x154) + del x154 + x237 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x237 += einsum("ab->ab", x108) + x275 += einsum("ab->ab", x108) + del x108 + x276 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x276 += einsum("ia,bc->ibac", t1.aa, x275) + del x275 + x109 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x109 += einsum("abij,ijcb->ac", l2.abab, t2.abab) + x112 += einsum("ab->ab", x109) + x172 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x172 += einsum("ab->ab", x109) + x237 += einsum("ab->ab", x109) + del x109 + x110 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x110 += einsum("abij->jiab", l2.aaaa) + x110 += einsum("abij->jiba", l2.aaaa) * -1 + x111 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x111 += einsum("ijab,ijac->bc", t2.aaaa, x110) + x112 += einsum("ab->ba", x111) * -1 + rdm2_f_oovv_aaaa += einsum("ij,ab->jiba", delta_oo.aa, x112) + rdm2_f_oovv_bbaa += einsum("ij,ab->jiba", delta_oo.bb, x112) + rdm2_f_ovvo_aaaa += einsum("ij,ab->jabi", delta_oo.aa, x112) * -1 + rdm2_f_voov_aaaa += einsum("ij,ab->bija", delta_oo.aa, x112) * -1 + rdm2_f_vvoo_aaaa += einsum("ij,ab->baji", delta_oo.aa, x112) + rdm2_f_vvoo_aabb += einsum("ij,ab->baji", delta_oo.bb, x112) + rdm2_f_vovv_bbaa += einsum("ia,bc->aicb", t1.bb, x112) + rdm2_f_vvvo_aabb += einsum("ia,bc->cbai", t1.bb, x112) + del x112 + x172 += einsum("ab->ba", x111) * -1 + x173 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x173 += einsum("ab,ijac->ijcb", x172, t2.aaaa) + x175 += einsum("ijab->jiab", x173) + del x173 + rdm2_f_vovo_aaaa += einsum("ijab->aibj", x175) * -1 + rdm2_f_vovo_aaaa += einsum("ijab->biaj", x175) + rdm2_f_vovo_aaaa += einsum("ijab->ajbi", x175) + rdm2_f_vovo_aaaa += einsum("ijab->bjai", x175) * -1 + del x175 + x271 += einsum("ia,bc->ibac", t1.aa, x172) + del x172 + x237 += einsum("ab->ba", x111) * -1 + del x111 + x238 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x238 += einsum("ab,ijac->ijbc", x237, t2.abab) + del x237 + rdm2_f_vovo_bbaa += einsum("ijab->bjai", x238) * -1 + rdm2_f_vovo_aabb += einsum("ijab->aibj", x238) * -1 + del x238 + x268 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x268 += einsum("ijab,ikca->kjcb", x110, x37) + del x37 + x269 += einsum("ijab->jiba", x268) + del x268 + x270 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x270 += einsum("ia,ijbc->jabc", t1.aa, x269) + del x269 + x271 += einsum("iabc->ibac", x270) * -1 + del x270 + rdm2_f_vovv_aaaa = np.zeros((nvir[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + rdm2_f_vovv_aaaa += einsum("iabc->bica", x271) + rdm2_f_vovv_aaaa += einsum("iabc->ciba", x271) * -1 + rdm2_f_vvvo_aaaa = np.zeros((nvir[0], nvir[0], nvir[0], nocc[0]), dtype=types[float]) + rdm2_f_vvvo_aaaa += einsum("iabc->baci", x271) * -1 + rdm2_f_vvvo_aaaa += einsum("iabc->cabi", x271) + del x271 + x294 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x294 += einsum("ijab,ikca->kjcb", t2.abab, x110) + del x110 + x296 += einsum("ijab->ijab", x294) * -1 + del x294 + x297 = np.zeros((nocc[1], nvir[0], nvir[0], nvir[1]), dtype=types[float]) + x297 += einsum("ia,ijbc->jabc", t1.aa, x296) + del x296 + rdm2_f_vovv_bbaa += einsum("iabc->ciab", x297) * -1 + rdm2_f_vvvo_aabb += einsum("iabc->abci", x297) * -1 + del x297 + x113 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x113 += einsum("wai,wjb->ijab", lu11.bb, u11.bb) + rdm2_f_oovv_bbbb -= einsum("ijab->ijba", x113) + rdm2_f_ovvo_bbbb += einsum("ijab->iabj", x113) + rdm2_f_voov_bbbb += einsum("ijab->bjia", x113) + rdm2_f_vvoo_bbbb -= einsum("ijab->baij", x113) + del x113 + x114 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x114 += einsum("abij,ikac->jkbc", l2.abab, t2.abab) + x202 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x202 += einsum("ijab,ikac->jkbc", x114, x55) + x213 -= einsum("ijab->ijab", x202) + del x202 + x286 += einsum("ijab->ijab", x114) + rdm2_f_oovv_bbbb -= einsum("ijab->ijba", x114) + rdm2_f_ovvo_bbbb += einsum("ijab->iabj", x114) + rdm2_f_voov_bbbb += einsum("ijab->bjia", x114) + rdm2_f_vvoo_bbbb -= einsum("ijab->baij", x114) + del x114 + x115 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x115 -= einsum("abij->jiab", l2.bbbb) + x115 += einsum("abij->jiba", l2.bbbb) + x116 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x116 += einsum("ijab,ikcb->kjca", x115, x55) + rdm2_f_oovv_bbbb += einsum("ijab->jiab", x116) + rdm2_f_vvoo_bbbb += einsum("ijab->abji", x116) + del x116 + x140 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x140 += einsum("ijab,jkcb->ikac", t2.abab, x115) + x151 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x151 -= einsum("ijab,kjcb->ikac", t2.abab, x140) + x152 += einsum("ijab->jiba", x151) + del x151 + x228 -= einsum("ijab->ijab", x140) + rdm2_f_ovvo_bbaa -= einsum("ijab->jbai", x140) + rdm2_f_voov_aabb -= einsum("ijab->aijb", x140) + del x140 + x141 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x141 += einsum("ijab,ikbc->kjca", x115, x55) + del x115 + del x55 + rdm2_f_ovvo_bbbb += einsum("ijab->jbai", x141) + rdm2_f_voov_bbbb += einsum("ijab->aijb", x141) + del x141 + x119 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x119 += einsum("ai,ib->ab", l1.bb, t1.bb) + x124 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x124 += einsum("ab->ab", x119) + x280 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x280 += einsum("ab->ab", x119) + del x119 + x120 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x120 += einsum("wai,wib->ab", lu11.bb, u11.bb) + x124 += einsum("ab->ab", x120) + x199 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x199 += einsum("ab,ijac->jicb", x120, t2.bbbb) + x213 -= einsum("ijab->ijab", x199) + del x199 + x235 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x235 += einsum("ab->ab", x120) + x280 += einsum("ab->ab", x120) + del x120 + x281 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x281 += einsum("ia,bc->ibac", t1.bb, x280) + del x280 + x121 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x121 += einsum("abij,ijac->bc", l2.abab, t2.abab) + x124 += einsum("ab->ab", x121) + x215 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x215 += einsum("ab,ijac->jibc", x121, t2.bbbb) + x218 += einsum("ijab->ijab", x215) * -1 + del x215 + x235 += einsum("ab->ab", x121) + x288 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x288 += einsum("ab->ab", x121) + del x121 + x122 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x122 += einsum("abij->jiab", l2.bbbb) * -1 + x122 += einsum("abij->jiba", l2.bbbb) + x123 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x123 += einsum("ijab,ijbc->ac", t2.bbbb, x122) + del x122 + x124 += einsum("ab->ba", x123) * -1 + rdm2_f_oovv_bbbb += einsum("ij,ab->jiba", delta_oo.bb, x124) + rdm2_f_oovv_aabb += einsum("ij,ab->jiba", delta_oo.aa, x124) + rdm2_f_ovvo_bbbb += einsum("ij,ab->jabi", delta_oo.bb, x124) * -1 + rdm2_f_voov_bbbb += einsum("ij,ab->bija", delta_oo.bb, x124) * -1 + rdm2_f_vvoo_bbbb += einsum("ij,ab->baji", delta_oo.bb, x124) + rdm2_f_vvoo_bbaa += einsum("ij,ab->baji", delta_oo.aa, x124) + rdm2_f_vovv_aabb += einsum("ia,bc->aicb", t1.aa, x124) + rdm2_f_vvvo_bbaa += einsum("ia,bc->cbai", t1.aa, x124) + del x124 + x216 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x216 += einsum("ab,ijbc->ijca", x123, t2.bbbb) * -1 + x218 += einsum("ijab->jiab", x216) + del x216 + rdm2_f_vovo_bbbb += einsum("ijab->aibj", x218) * -1 + rdm2_f_vovo_bbbb += einsum("ijab->biaj", x218) + rdm2_f_vovo_bbbb += einsum("ijab->ajbi", x218) + rdm2_f_vovo_bbbb += einsum("ijab->bjai", x218) * -1 + del x218 + x235 += einsum("ab->ba", x123) * -1 + x236 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x236 += einsum("ab,ijca->ijcb", x235, t2.abab) + del x235 + rdm2_f_vovo_bbaa += einsum("ijab->bjai", x236) * -1 + rdm2_f_vovo_aabb += einsum("ijab->aibj", x236) * -1 + del x236 + x288 += einsum("ab->ba", x123) * -1 + del x123 + x289 += einsum("ia,bc->ibac", t1.bb, x288) + del x288 + x125 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + x125 += einsum("abij,ikcb->jkac", l2.abab, t2.abab) + x293 = np.zeros((nocc[1], nvir[0], nvir[0], nvir[1]), dtype=types[float]) + x293 += einsum("ia,ijbc->jbca", t1.bb, x125) + rdm2_f_vovv_bbaa += einsum("iabc->ciba", x293) * -1 + rdm2_f_vvvo_aabb += einsum("iabc->baci", x293) * -1 + del x293 + rdm2_f_oovv_bbaa -= einsum("ijab->ijba", x125) + rdm2_f_vvoo_aabb -= einsum("ijab->baij", x125) + del x125 + x127 = np.zeros((nocc[0], nocc[0], nvir[1], nvir[1]), dtype=types[float]) + x127 += einsum("abij,kjac->ikbc", l2.abab, t2.abab) + x227 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x227 += einsum("ijab,ikbc->kjac", t2.abab, x127) + rdm2_f_vovo_bbaa += einsum("ijab->bjai", x227) + rdm2_f_vovo_aabb += einsum("ijab->aibj", x227) + del x227 + x299 = np.zeros((nocc[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) + x299 += einsum("ia,ijbc->jabc", t1.aa, x127) + rdm2_f_vovv_aabb += einsum("iabc->aicb", x299) * -1 + rdm2_f_vvvo_bbaa += einsum("iabc->cbai", x299) * -1 + del x299 + rdm2_f_oovv_aabb -= einsum("ijab->ijba", x127) + rdm2_f_vvoo_bbaa -= einsum("ijab->baij", x127) + del x127 + x132 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x132 += einsum("wai,wjb->ijab", lu11.aa, u11.bb) + rdm2_f_ovvo_aabb += einsum("ijab->iabj", x132) + rdm2_f_voov_bbaa += einsum("ijab->bjia", x132) + del x132 + x135 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x135 -= einsum("ijab->jiab", t2.bbbb) + x135 += einsum("ijab->jiba", t2.bbbb) + x136 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x136 += einsum("abij,jkcb->ikac", l2.abab, x135) + rdm2_f_ovvo_aabb -= einsum("ijab->iabj", x136) + rdm2_f_voov_bbaa -= einsum("ijab->bjia", x136) + del x136 + x203 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x203 += einsum("ijab,kila->jklb", x135, x142) + del x142 + x204 += einsum("ijka->jkia", x203) + del x203 + x205 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x205 += einsum("ia,ijkb->jkab", t1.bb, x204) + del x204 + x213 += einsum("ijab->ijab", x205) + del x205 + x208 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x208 += einsum("wai,ijba->wjb", lu11.bb, x135) + x209 -= einsum("wia->wia", x208) + x249 -= einsum("wia->wia", x208) + del x208 + x211 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x211 += einsum("ai,ijba->jb", l1.bb, x135) + x212 -= einsum("ia->ia", x211) + del x211 + x213 += einsum("ia,jb->ijab", t1.bb, x212) + del x212 + x229 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x229 += einsum("ijab,kicb->kjca", x135, x228) + del x228 + rdm2_f_vovo_bbaa -= einsum("ijab->bjai", x229) + rdm2_f_vovo_aabb -= einsum("ijab->aibj", x229) + del x229 + x244 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x244 += einsum("ijab,klib->klja", x135, x23) + del x135 + del x23 + x245 -= einsum("ijka->ijka", x244) + del x244 + x246 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x246 += einsum("ia,ijkb->jkab", t1.aa, x245) + del x245 + rdm2_f_vovo_bbaa -= einsum("ijab->bjai", x246) + rdm2_f_vovo_aabb -= einsum("ijab->aibj", x246) + del x246 + x137 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x137 += einsum("wai,wjb->jiba", lu11.bb, u11.aa) + rdm2_f_ovvo_bbaa += einsum("ijab->jbai", x137) + rdm2_f_voov_aabb += einsum("ijab->aijb", x137) + del x137 + x146 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x146 += einsum("abij->jiab", l2.aaaa) + x146 -= einsum("abij->jiba", l2.aaaa) + x147 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x147 += einsum("ijab,ikac->jkbc", t2.aaaa, x146) + x148 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x148 -= einsum("ijab,kica->jkbc", t2.aaaa, x147) + del x147 + x152 += einsum("ijab->jiba", x148) + del x148 + x149 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x149 += einsum("ijab,ikbc->jkac", t2.aaaa, x146) + x150 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x150 -= einsum("ijab,kicb->jkac", t2.aaaa, x149) + del x149 + x152 += einsum("ijab->ijab", x150) + del x150 + x230 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x230 += einsum("ijab,ikbc->jkac", x102, x146) + del x146 + del x102 + x231 += einsum("ijab->jiba", x230) + del x230 + x232 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x232 += einsum("ijab,ikac->kjcb", t2.abab, x231) + del x231 + rdm2_f_vovo_bbaa += einsum("ijab->bjai", x232) + rdm2_f_vovo_aabb += einsum("ijab->aibj", x232) + del x232 + x152 += einsum("ijab->jiba", t2.aaaa) + rdm2_f_vovo_aaaa -= einsum("ijab->biaj", x152) + rdm2_f_vovo_aaaa += einsum("ijab->aibj", x152) + del x152 + x156 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x156 += einsum("abij,kiac->kjcb", l2.abab, t2.aaaa) + x157 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x157 += einsum("ijab,kjcb->kica", t2.abab, x156) + del x156 + x171 -= einsum("ijab->ijab", x157) + del x157 + x165 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x165 += einsum("wai,jiba->wjb", lu11.bb, t2.abab) + x167 += einsum("wia->wia", x165) + del x165 + x168 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x168 += einsum("wia,wjb->ijab", u11.aa, x167) + x171 += einsum("ijab->jiba", x168) + del x168 + rdm2_f_vovo_aaaa += einsum("ijab->aibj", x171) + rdm2_f_vovo_aaaa -= einsum("ijab->biaj", x171) + rdm2_f_vovo_aaaa -= einsum("ijab->ajbi", x171) + rdm2_f_vovo_aaaa += einsum("ijab->bjai", x171) + del x171 + x251 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x251 += einsum("wia,wjb->jiba", u11.bb, x167) + del x167 + rdm2_f_vovo_bbaa += einsum("ijab->bjai", x251) + rdm2_f_vovo_aabb += einsum("ijab->aibj", x251) + del x251 + x181 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x181 += einsum("wx,xia->wia", ls2, u11.aa) + x182 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x182 += einsum("wia,wjb->jiba", u11.aa, x181) + del x181 + rdm2_f_vovo_aaaa -= einsum("ijab->biaj", x182) + rdm2_f_vovo_aaaa += einsum("ijab->bjai", x182) + del x182 + x184 -= einsum("ia->ia", t1.aa) + rdm2_f_vovo_aaaa -= einsum("ia,jb->bjai", t1.aa, x184) + rdm2_f_vovo_aaaa += einsum("ia,jb->ajbi", t1.aa, x184) + del x184 + x186 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x186 += einsum("wx,xia->wia", ls2, u11.bb) + x187 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x187 += einsum("wia,wjb->jiba", u11.bb, x186) + x189 += einsum("ijab->jiba", x187) + del x187 + rdm2_f_vovo_bbbb -= einsum("ijab->ajbi", x189) + rdm2_f_vovo_bbbb += einsum("ijab->aibj", x189) + del x189 + x249 += einsum("wia->wia", x186) + del x186 + x192 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x192 += einsum("abij->jiab", l2.bbbb) + x192 -= einsum("abij->jiba", l2.bbbb) + x193 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x193 += einsum("ijab,ikac->jkbc", t2.bbbb, x192) + x194 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x194 -= einsum("ijab,kica->jkbc", t2.bbbb, x193) + del x193 + x197 += einsum("ijab->jiba", x194) + del x194 + x195 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x195 += einsum("ijab,ikbc->jkac", t2.bbbb, x192) + del x192 + x196 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x196 -= einsum("ijab,kicb->jkac", t2.bbbb, x195) + x197 += einsum("ijab->ijab", x196) + del x196 + x201 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x201 -= einsum("ijab,kica->jkbc", t2.bbbb, x195) + del x195 + x213 -= einsum("ijab->ijab", x201) + del x201 + x197 += einsum("ijab->jiba", t2.bbbb) + rdm2_f_vovo_bbbb -= einsum("ijab->biaj", x197) + rdm2_f_vovo_bbbb += einsum("ijab->aibj", x197) + del x197 + x206 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x206 += einsum("wai,ijab->wjb", lu11.aa, t2.abab) + x209 += einsum("wia->wia", x206) + x210 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x210 += einsum("wia,wjb->ijab", u11.bb, x209) + del x209 + x213 += einsum("ijab->jiba", x210) + del x210 + rdm2_f_vovo_bbbb += einsum("ijab->aibj", x213) + rdm2_f_vovo_bbbb -= einsum("ijab->biaj", x213) + rdm2_f_vovo_bbbb -= einsum("ijab->ajbi", x213) + rdm2_f_vovo_bbbb += einsum("ijab->bjai", x213) + del x213 + x249 += einsum("wia->wia", x206) + del x206 + x250 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x250 += einsum("wia,wjb->ijab", u11.aa, x249) + del x249 + rdm2_f_vovo_bbaa += einsum("ijab->bjai", x250) + rdm2_f_vovo_aabb += einsum("ijab->aibj", x250) + del x250 + x225 -= einsum("ia->ia", t1.bb) + rdm2_f_vovo_bbbb -= einsum("ia,jb->bjai", t1.bb, x225) + rdm2_f_vovo_bbbb += einsum("ia,jb->ajbi", t1.bb, x225) + del x225 + x256 += einsum("ia->ia", t1.bb) * -0.9999999999999993 + rdm2_f_vovo_bbaa += einsum("ia,jb->bjai", t1.aa, x256) * -1 + del x256 + x260 += einsum("ia->ia", t1.aa) * -0.9999999999999993 + rdm2_f_vovo_aabb += einsum("ia,jb->bjai", t1.bb, x260) * -1 + del x260 + x262 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x262 += einsum("ia,bcji->jbca", t1.aa, l2.aaaa) + x307 = np.zeros((nvir[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x307 += einsum("ia,ibcd->cbda", t1.aa, x262) + x308 = np.zeros((nvir[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x308 += einsum("abcd->badc", x307) + del x307 + rdm2_f_ovvv_aaaa = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + rdm2_f_ovvv_aaaa += einsum("iabc->iacb", x262) + rdm2_f_ovvv_aaaa -= einsum("iabc->ibca", x262) + rdm2_f_vvov_aaaa = np.zeros((nvir[0], nvir[0], nocc[0], nvir[0]), dtype=types[float]) + rdm2_f_vvov_aaaa -= einsum("iabc->caib", x262) + rdm2_f_vvov_aaaa += einsum("iabc->cbia", x262) + del x262 + x263 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x263 += einsum("ia,bcji->jbca", t1.bb, l2.bbbb) + x312 = np.zeros((nvir[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x312 += einsum("ia,ibcd->cbda", t1.bb, x263) + x313 = np.zeros((nvir[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x313 += einsum("abcd->badc", x312) + del x312 + rdm2_f_ovvv_bbbb = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + rdm2_f_ovvv_bbbb += einsum("iabc->iacb", x263) + rdm2_f_ovvv_bbbb -= einsum("iabc->ibca", x263) + rdm2_f_vvov_bbbb = np.zeros((nvir[1], nvir[1], nocc[1], nvir[1]), dtype=types[float]) + rdm2_f_vvov_bbbb -= einsum("iabc->caib", x263) + rdm2_f_vvov_bbbb += einsum("iabc->cbia", x263) + del x263 + x264 = np.zeros((nocc[1], nvir[0], nvir[0], nvir[1]), dtype=types[float]) + x264 += einsum("ia,bcij->jbac", t1.aa, l2.abab) + rdm2_f_ovvv_bbaa = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) + rdm2_f_ovvv_bbaa += einsum("iabc->icba", x264) + rdm2_f_vvov_aabb = np.zeros((nvir[0], nvir[0], nocc[1], nvir[1]), dtype=types[float]) + rdm2_f_vvov_aabb += einsum("iabc->baic", x264) + del x264 + x265 = np.zeros((nocc[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) + x265 += einsum("ia,bcji->jbca", t1.bb, l2.abab) + x310 = np.zeros((nvir[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) + x310 += einsum("ia,ibcd->bacd", t1.aa, x265) + rdm2_f_vvvv_bbaa = np.zeros((nvir[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) + rdm2_f_vvvv_bbaa += einsum("abcd->dcba", x310) + rdm2_f_vvvv_aabb = np.zeros((nvir[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) + rdm2_f_vvvv_aabb += einsum("abcd->badc", x310) + del x310 + rdm2_f_ovvv_aabb = np.zeros((nocc[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) + rdm2_f_ovvv_aabb += einsum("iabc->iacb", x265) + rdm2_f_vvov_bbaa = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + rdm2_f_vvov_bbaa += einsum("iabc->cbia", x265) + del x265 + x272 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x272 += einsum("ai,jibc->jabc", l1.aa, t2.aaaa) + x276 += einsum("iabc->iabc", x272) + del x272 + x273 = np.zeros((nbos, nvir[0], nvir[0]), dtype=types[float]) + x273 += einsum("ia,wbi->wba", t1.aa, lu11.aa) + x274 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x274 += einsum("wia,wbc->ibca", u11.aa, x273) + x276 -= einsum("iabc->iabc", x274) + del x274 + rdm2_f_vovv_aaaa += einsum("iabc->bica", x276) + rdm2_f_vovv_aaaa -= einsum("iabc->ciba", x276) + rdm2_f_vvvo_aaaa -= einsum("iabc->baci", x276) + rdm2_f_vvvo_aaaa += einsum("iabc->cabi", x276) + del x276 + x290 = np.zeros((nocc[1], nvir[0], nvir[0], nvir[1]), dtype=types[float]) + x290 += einsum("wia,wbc->ibca", u11.bb, x273) + del x273 + rdm2_f_vovv_bbaa += einsum("iabc->ciba", x290) + rdm2_f_vvvo_aabb += einsum("iabc->baci", x290) + del x290 + x277 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x277 += einsum("ai,jibc->jabc", l1.bb, t2.bbbb) + x281 += einsum("iabc->iabc", x277) + del x277 + x278 = np.zeros((nbos, nvir[1], nvir[1]), dtype=types[float]) + x278 += einsum("ia,wbi->wba", t1.bb, lu11.bb) + x279 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x279 += einsum("wia,wbc->ibca", u11.bb, x278) + x281 -= einsum("iabc->iabc", x279) + del x279 + rdm2_f_vovv_bbbb = np.zeros((nvir[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + rdm2_f_vovv_bbbb += einsum("iabc->bica", x281) + rdm2_f_vovv_bbbb -= einsum("iabc->ciba", x281) + rdm2_f_vvvo_bbbb = np.zeros((nvir[1], nvir[1], nvir[1], nocc[1]), dtype=types[float]) + rdm2_f_vvvo_bbbb -= einsum("iabc->baci", x281) + rdm2_f_vvvo_bbbb += einsum("iabc->cabi", x281) + del x281 + x300 = np.zeros((nocc[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) + x300 += einsum("wia,wbc->iabc", u11.aa, x278) + del x278 + rdm2_f_vovv_aabb += einsum("iabc->aicb", x300) + rdm2_f_vvvo_bbaa += einsum("iabc->cbai", x300) + del x300 + x284 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x284 += einsum("abij->jiab", l2.bbbb) + x284 += einsum("abij->jiba", l2.bbbb) * -1 + x285 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x285 += einsum("ijab,ikac->jkbc", x16, x284) + del x16 + x286 += einsum("ijab->jiba", x285) + del x285 + x287 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x287 += einsum("ia,ijbc->jabc", t1.bb, x286) + del x286 + x289 += einsum("iabc->ibac", x287) * -1 + del x287 + rdm2_f_vovv_bbbb += einsum("iabc->bica", x289) + rdm2_f_vovv_bbbb += einsum("iabc->ciba", x289) * -1 + rdm2_f_vvvo_bbbb += einsum("iabc->baci", x289) * -1 + rdm2_f_vvvo_bbbb += einsum("iabc->cabi", x289) + del x289 + x303 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x303 += einsum("ijab,jkcb->ikac", t2.abab, x284) + del x284 + x304 += einsum("ijab->ijab", x303) * -1 + del x303 + x305 = np.zeros((nocc[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) + x305 += einsum("ia,jibc->jbac", t1.bb, x304) + del x304 + rdm2_f_vovv_aabb += einsum("iabc->aibc", x305) * -1 + rdm2_f_vvvo_bbaa += einsum("iabc->bcai", x305) * -1 + del x305 + x291 = np.zeros((nocc[1], nvir[0], nvir[0], nvir[1]), dtype=types[float]) + x291 += einsum("ai,ijbc->jabc", l1.aa, t2.abab) + rdm2_f_vovv_bbaa += einsum("iabc->ciba", x291) + rdm2_f_vvvo_aabb += einsum("iabc->baci", x291) + del x291 + x301 = np.zeros((nocc[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) + x301 += einsum("ai,jibc->jbac", l1.bb, t2.abab) + rdm2_f_vovv_aabb += einsum("iabc->aicb", x301) + rdm2_f_vvvo_bbaa += einsum("iabc->cbai", x301) + del x301 + x306 = np.zeros((nvir[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x306 += einsum("abij,ijcd->abcd", l2.aaaa, t2.aaaa) + x308 += einsum("abcd->badc", x306) + del x306 + rdm2_f_vvvv_aaaa = np.zeros((nvir[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + rdm2_f_vvvv_aaaa += einsum("abcd->dacb", x308) * -1 + rdm2_f_vvvv_aaaa += einsum("abcd->cadb", x308) + del x308 + x309 = np.zeros((nvir[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) + x309 += einsum("abij,ijcd->acbd", l2.abab, t2.abab) + rdm2_f_vvvv_bbaa += einsum("abcd->dcba", x309) + rdm2_f_vvvv_aabb += einsum("abcd->badc", x309) + del x309 + x311 = np.zeros((nvir[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x311 += einsum("abij,ijcd->abcd", l2.bbbb, t2.bbbb) + x313 += einsum("abcd->badc", x311) + del x311 + rdm2_f_vvvv_bbbb = np.zeros((nvir[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + rdm2_f_vvvv_bbbb += einsum("abcd->dacb", x313) * -1 + rdm2_f_vvvv_bbbb += einsum("abcd->cadb", x313) + del x313 + rdm2_f_oooo_aaaa += einsum("ij,kl->jilk", delta_oo.aa, delta_oo.aa) + rdm2_f_oooo_aaaa -= einsum("ij,kl->ljik", delta_oo.aa, delta_oo.aa) + rdm2_f_oooo_bbbb += einsum("ij,kl->jilk", delta_oo.bb, delta_oo.bb) + rdm2_f_oooo_bbbb -= einsum("ij,kl->ljik", delta_oo.bb, delta_oo.bb) + rdm2_f_ooov_aaaa += einsum("ij,ak->jika", delta_oo.aa, l1.aa) + rdm2_f_ooov_aaaa -= einsum("ij,ak->kija", delta_oo.aa, l1.aa) + rdm2_f_ooov_bbbb += einsum("ij,ak->jika", delta_oo.bb, l1.bb) + rdm2_f_ooov_bbbb -= einsum("ij,ak->kija", delta_oo.bb, l1.bb) + rdm2_f_ooov_aabb += einsum("ij,ak->jika", delta_oo.aa, l1.bb) + rdm2_f_ooov_bbaa += einsum("ij,ak->jika", delta_oo.bb, l1.aa) + rdm2_f_ovoo_aaaa -= einsum("ij,ak->jaki", delta_oo.aa, l1.aa) + rdm2_f_ovoo_aaaa += einsum("ij,ak->kaji", delta_oo.aa, l1.aa) + rdm2_f_ovoo_bbaa += einsum("ij,ak->kaji", delta_oo.aa, l1.bb) + rdm2_f_ovoo_aabb += einsum("ij,ak->kaji", delta_oo.bb, l1.aa) + rdm2_f_ovoo_bbbb -= einsum("ij,ak->jaki", delta_oo.bb, l1.bb) + rdm2_f_ovoo_bbbb += einsum("ij,ak->kaji", delta_oo.bb, l1.bb) + rdm2_f_ovov_aaaa = np.zeros((nocc[0], nvir[0], nocc[0], nvir[0]), dtype=types[float]) + rdm2_f_ovov_aaaa -= einsum("abij->jaib", l2.aaaa) + rdm2_f_ovov_aaaa += einsum("abij->jbia", l2.aaaa) + rdm2_f_ovov_bbbb = np.zeros((nocc[1], nvir[1], nocc[1], nvir[1]), dtype=types[float]) + rdm2_f_ovov_bbbb -= einsum("abij->jaib", l2.bbbb) + rdm2_f_ovov_bbbb += einsum("abij->jbia", l2.bbbb) + rdm2_f_ovov_bbaa = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + rdm2_f_ovov_bbaa += einsum("abij->jbia", l2.abab) + rdm2_f_ovov_aabb = np.zeros((nocc[0], nvir[0], nocc[1], nvir[1]), dtype=types[float]) + rdm2_f_ovov_aabb += einsum("abij->iajb", l2.abab) + rdm2_f_oovv_aaaa -= einsum("ai,jb->ijba", l1.aa, t1.aa) + rdm2_f_oovv_bbbb -= einsum("ai,jb->ijba", l1.bb, t1.bb) + rdm2_f_ovvo_aaaa += einsum("ai,jb->iabj", l1.aa, t1.aa) + rdm2_f_ovvo_aabb += einsum("ai,jb->iabj", l1.aa, t1.bb) + rdm2_f_ovvo_bbaa += einsum("ai,jb->iabj", l1.bb, t1.aa) + rdm2_f_ovvo_bbbb += einsum("ai,jb->iabj", l1.bb, t1.bb) + rdm2_f_voov_aaaa += einsum("ai,jb->bjia", l1.aa, t1.aa) + rdm2_f_voov_bbaa += einsum("ai,jb->bjia", l1.aa, t1.bb) + rdm2_f_voov_aabb += einsum("ai,jb->bjia", l1.bb, t1.aa) + rdm2_f_voov_bbbb += einsum("ai,jb->bjia", l1.bb, t1.bb) + rdm2_f_vvoo_aaaa -= einsum("ai,jb->baij", l1.aa, t1.aa) + rdm2_f_vvoo_bbbb -= einsum("ai,jb->baij", l1.bb, t1.bb) + rdm2_f_vovo_bbaa += einsum("ijab->bjai", t2.abab) + rdm2_f_vovo_aabb += einsum("ijab->aibj", t2.abab) + + rdm2_f_aaaa = pack_2e(rdm2_f_oooo_aaaa, rdm2_f_ooov_aaaa, rdm2_f_oovo_aaaa, rdm2_f_ovoo_aaaa, rdm2_f_vooo_aaaa, rdm2_f_oovv_aaaa, rdm2_f_ovov_aaaa, rdm2_f_ovvo_aaaa, rdm2_f_voov_aaaa, rdm2_f_vovo_aaaa, rdm2_f_vvoo_aaaa, rdm2_f_ovvv_aaaa, rdm2_f_vovv_aaaa, rdm2_f_vvov_aaaa, rdm2_f_vvvo_aaaa, rdm2_f_vvvv_aaaa) + rdm2_f_aabb = pack_2e(rdm2_f_oooo_aabb, rdm2_f_ooov_aabb, rdm2_f_oovo_aabb, rdm2_f_ovoo_aabb, rdm2_f_vooo_aabb, rdm2_f_oovv_aabb, rdm2_f_ovov_aabb, rdm2_f_ovvo_aabb, rdm2_f_voov_aabb, rdm2_f_vovo_aabb, rdm2_f_vvoo_aabb, rdm2_f_ovvv_aabb, rdm2_f_vovv_aabb, rdm2_f_vvov_aabb, rdm2_f_vvvo_aabb, rdm2_f_vvvv_aabb) + rdm2_f_bbaa = pack_2e(rdm2_f_oooo_bbaa, rdm2_f_ooov_bbaa, rdm2_f_oovo_bbaa, rdm2_f_ovoo_bbaa, rdm2_f_vooo_bbaa, rdm2_f_oovv_bbaa, rdm2_f_ovov_bbaa, rdm2_f_ovvo_bbaa, rdm2_f_voov_bbaa, rdm2_f_vovo_bbaa, rdm2_f_vvoo_bbaa, rdm2_f_ovvv_bbaa, rdm2_f_vovv_bbaa, rdm2_f_vvov_bbaa, rdm2_f_vvvo_bbaa, rdm2_f_vvvv_bbaa) + rdm2_f_bbbb = pack_2e(rdm2_f_oooo_bbbb, rdm2_f_ooov_bbbb, rdm2_f_oovo_bbbb, rdm2_f_ovoo_bbbb, rdm2_f_vooo_bbbb, rdm2_f_oovv_bbbb, rdm2_f_ovov_bbbb, rdm2_f_ovvo_bbbb, rdm2_f_voov_bbbb, rdm2_f_vovo_bbbb, rdm2_f_vvoo_bbbb, rdm2_f_ovvv_bbbb, rdm2_f_vovv_bbbb, rdm2_f_vvov_bbbb, rdm2_f_vvvo_bbbb, rdm2_f_vvvv_bbbb) + + rdm2_f.aaaa = rdm2_f_aaaa + rdm2_f.aabb = rdm2_f_aabb + rdm2_f.bbaa = rdm2_f_bbaa + rdm2_f.bbbb = rdm2_f_bbbb + + return rdm2_f + +def make_sing_b_dm(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, s2=None, u11=None, l1=None, l2=None, ls1=None, ls2=None, lu11=None, **kwargs): + # Get boson coupling creation array: + gc = Namespace( + aa = Namespace( + boo=g.aa.boo.transpose(0, 2, 1), + bov=g.aa.bvo.transpose(0, 2, 1), + bvo=g.aa.bov.transpose(0, 2, 1), + bvv=g.aa.bvv.transpose(0, 2, 1), + ), + bb = Namespace( + boo=g.bb.boo.transpose(0, 2, 1), + bov=g.bb.bvo.transpose(0, 2, 1), + bvo=g.bb.bov.transpose(0, 2, 1), + bvv=g.bb.bvv.transpose(0, 2, 1), + ), + ) + + # Single boson DM + dm_b_cre = np.zeros((nbos), dtype=types[float]) + dm_b_cre += einsum("w->w", ls1) + dm_b_des = np.zeros((nbos), dtype=types[float]) + dm_b_des += einsum("w->w", s1) + dm_b_des += einsum("ai,wia->w", l1.bb, u11.bb) + dm_b_des += einsum("ai,wia->w", l1.aa, u11.aa) + dm_b_des += einsum("w,xw->x", ls1, s2) + + dm_b = np.array([dm_b_cre, dm_b_des]) + + return dm_b + +def make_rdm1_b(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, s2=None, u11=None, l1=None, l2=None, ls1=None, ls2=None, lu11=None, **kwargs): + # Get boson coupling creation array: + gc = Namespace( + aa = Namespace( + boo=g.aa.boo.transpose(0, 2, 1), + bov=g.aa.bvo.transpose(0, 2, 1), + bvo=g.aa.bov.transpose(0, 2, 1), + bvv=g.aa.bvv.transpose(0, 2, 1), + ), + bb = Namespace( + boo=g.bb.boo.transpose(0, 2, 1), + bov=g.bb.bvo.transpose(0, 2, 1), + bvo=g.bb.bov.transpose(0, 2, 1), + bvv=g.bb.bvv.transpose(0, 2, 1), + ), + ) + + # Boson 1RDM + rdm1_b = np.zeros((nbos, nbos), dtype=types[float]) + rdm1_b += einsum("wx,yx->wy", ls2, s2) + rdm1_b += einsum("w,x->wx", ls1, s1) + rdm1_b += einsum("wai,xia->wx", lu11.bb, u11.bb) + rdm1_b += einsum("wai,xia->wx", lu11.aa, u11.aa) + + return rdm1_b + +def make_eb_coup_rdm(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, s2=None, u11=None, l1=None, l2=None, ls1=None, ls2=None, lu11=None, **kwargs): + rdm_eb = Namespace() + + # Get boson coupling creation array: + gc = Namespace( + aa = Namespace( + boo=g.aa.boo.transpose(0, 2, 1), + bov=g.aa.bvo.transpose(0, 2, 1), + bvo=g.aa.bov.transpose(0, 2, 1), + bvv=g.aa.bvv.transpose(0, 2, 1), + ), + bb = Namespace( + boo=g.bb.boo.transpose(0, 2, 1), + bov=g.bb.bvo.transpose(0, 2, 1), + bvo=g.bb.bov.transpose(0, 2, 1), + bvv=g.bb.bvv.transpose(0, 2, 1), + ), + ) + + delta_oo = Namespace() + delta_oo.aa = np.eye(nocc[0]) + delta_oo.bb = np.eye(nocc[1]) + delta_vv = Namespace() + delta_vv.aa = np.eye(nvir[0]) + delta_vv.bb = np.eye(nvir[1]) + + # Boson-fermion coupling RDM + x0 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) + x0 += einsum("ia,waj->wji", t1.aa, lu11.aa) + x53 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x53 += einsum("wia,wij->ja", u11.aa, x0) + rdm_eb_cre_oo_aa = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) + rdm_eb_cre_oo_aa -= einsum("wij->wji", x0) + rdm_eb_cre_ov_aa = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + rdm_eb_cre_ov_aa -= einsum("ia,wij->wja", t1.aa, x0) + del x0 + x1 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) + x1 += einsum("ia,waj->wji", t1.bb, lu11.bb) + x65 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x65 += einsum("wia,wij->ja", u11.bb, x1) + rdm_eb_cre_oo_bb = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) + rdm_eb_cre_oo_bb -= einsum("wij->wji", x1) + rdm_eb_cre_ov_bb = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + rdm_eb_cre_ov_bb -= einsum("ia,wij->wja", t1.bb, x1) + del x1 + x2 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x2 -= einsum("ijab->jiab", t2.aaaa) + x2 += einsum("ijab->jiba", t2.aaaa) + rdm_eb_cre_ov_aa -= einsum("wai,ijba->wjb", lu11.aa, x2) + x3 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x3 += einsum("ijab->jiab", t2.bbbb) + x3 -= einsum("ijab->jiba", t2.bbbb) + rdm_eb_cre_ov_bb -= einsum("wai,ijab->wjb", lu11.bb, x3) + x4 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) + x4 += einsum("ai,wja->wij", l1.aa, u11.aa) + x43 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) + x43 += einsum("wij->wij", x4) + rdm_eb_des_oo_aa = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) + rdm_eb_des_oo_aa -= einsum("wij->wji", x4) + del x4 + x5 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x5 += einsum("wx,xai->wia", s2, lu11.aa) + x9 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x9 += einsum("wia->wia", x5) + x34 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x34 += einsum("wia->wia", x5) + rdm_eb_des_vo_aa = np.zeros((nbos, nvir[0], nocc[0]), dtype=types[float]) + rdm_eb_des_vo_aa += einsum("wia->wai", x5) + del x5 + x6 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x6 += einsum("wia,baji->wjb", u11.bb, l2.abab) + x9 += einsum("wia->wia", x6) + x34 += einsum("wia->wia", x6) + rdm_eb_des_vo_aa += einsum("wia->wai", x6) + del x6 + x7 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x7 += einsum("abij->jiab", l2.aaaa) * -1 + x7 += einsum("abij->jiba", l2.aaaa) + x8 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x8 += einsum("wia,ijba->wjb", u11.aa, x7) + x9 += einsum("wia->wia", x8) * -1 + del x8 + rdm_eb_des_oo_aa += einsum("ia,wja->wij", t1.aa, x9) * -1 + rdm_eb_des_vv_aa = np.zeros((nbos, nvir[0], nvir[0]), dtype=types[float]) + rdm_eb_des_vv_aa += einsum("ia,wib->wba", t1.aa, x9) + del x9 + x40 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x40 += einsum("ijab,ijbc->ac", t2.aaaa, x7) + del x7 + x41 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x41 += einsum("ab->ba", x40) * -1 + x66 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x66 += einsum("ab->ba", x40) * -1 + del x40 + x10 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x10 += einsum("ai,ja->ij", l1.aa, t1.aa) + x15 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x15 += einsum("ij->ij", x10) + x42 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x42 += einsum("ij->ij", x10) + x52 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x52 += einsum("ij->ij", x10) + del x10 + x11 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x11 += einsum("wai,wja->ij", lu11.aa, u11.aa) + x15 += einsum("ij->ij", x11) + x42 += einsum("ij->ij", x11) + x52 += einsum("ij->ij", x11) + del x11 + x12 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x12 += einsum("abij,kjab->ik", l2.abab, t2.abab) + x15 += einsum("ij->ij", x12) + x42 += einsum("ij->ij", x12) + x52 += einsum("ij->ij", x12) + del x12 + x13 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x13 += einsum("ijab->jiab", t2.aaaa) * -1 + x13 += einsum("ijab->jiba", t2.aaaa) + x14 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x14 += einsum("abij,ikba->jk", l2.aaaa, x13) + x15 += einsum("ij->ij", x14) * -1 + x42 += einsum("ij->ij", x14) * -1 + del x14 + rdm_eb_des_ov_aa = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + rdm_eb_des_ov_aa += einsum("ij,wia->wja", x42, u11.aa) * -1 + del x42 + x52 += einsum("abij,ikba->jk", l2.aaaa, x13) * -1 + del x13 + x53 += einsum("ia,ij->ja", t1.aa, x52) + del x52 + x15 += einsum("ij->ji", delta_oo.aa) * -1 + rdm_eb_des_oo_aa += einsum("w,ij->wji", s1, x15) * -1 + del x15 + x16 = np.zeros((nbos), dtype=types[float]) + x16 += einsum("w,xw->x", ls1, s2) + x19 = np.zeros((nbos), dtype=types[float]) + x19 += einsum("w->w", x16) + del x16 + x17 = np.zeros((nbos), dtype=types[float]) + x17 += einsum("ai,wia->w", l1.aa, u11.aa) + x19 += einsum("w->w", x17) + del x17 + x18 = np.zeros((nbos), dtype=types[float]) + x18 += einsum("ai,wia->w", l1.bb, u11.bb) + x19 += einsum("w->w", x18) + del x18 + rdm_eb_des_oo_aa += einsum("w,ij->wji", x19, delta_oo.aa) + rdm_eb_des_oo_bb = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) + rdm_eb_des_oo_bb += einsum("w,ij->wji", x19, delta_oo.bb) + rdm_eb_des_ov_aa += einsum("w,ia->wia", x19, t1.aa) + rdm_eb_des_ov_bb = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + rdm_eb_des_ov_bb += einsum("w,ia->wia", x19, t1.bb) + del x19 + x20 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) + x20 += einsum("ai,wja->wij", l1.bb, u11.bb) + x60 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) + x60 += einsum("wij->wij", x20) + rdm_eb_des_oo_bb -= einsum("wij->wji", x20) + del x20 + x21 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x21 += einsum("wx,xai->wia", s2, lu11.bb) + x25 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x25 += einsum("wia->wia", x21) + x37 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x37 += einsum("wia->wia", x21) + rdm_eb_des_vo_bb = np.zeros((nbos, nvir[1], nocc[1]), dtype=types[float]) + rdm_eb_des_vo_bb += einsum("wia->wai", x21) + del x21 + x22 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x22 += einsum("wia,abij->wjb", u11.aa, l2.abab) + x25 += einsum("wia->wia", x22) + x37 += einsum("wia->wia", x22) + rdm_eb_des_vo_bb += einsum("wia->wai", x22) + del x22 + x23 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x23 += einsum("abij->jiab", l2.bbbb) + x23 += einsum("abij->jiba", l2.bbbb) * -1 + x24 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x24 += einsum("wia,ijab->wjb", u11.bb, x23) + del x23 + x25 += einsum("wia->wia", x24) * -1 + del x24 + rdm_eb_des_oo_bb += einsum("ia,wja->wij", t1.bb, x25) * -1 + rdm_eb_des_vv_bb = np.zeros((nbos, nvir[1], nvir[1]), dtype=types[float]) + rdm_eb_des_vv_bb += einsum("ia,wib->wba", t1.bb, x25) + del x25 + x26 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x26 += einsum("ai,ja->ij", l1.bb, t1.bb) + x31 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x31 += einsum("ij->ij", x26) + x59 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x59 += einsum("ij->ij", x26) + x64 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x64 += einsum("ij->ij", x26) + del x26 + x27 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x27 += einsum("wai,wja->ij", lu11.bb, u11.bb) + x31 += einsum("ij->ij", x27) + x59 += einsum("ij->ij", x27) + x64 += einsum("ij->ij", x27) + del x27 + x28 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x28 += einsum("abij,ikab->jk", l2.abab, t2.abab) + x31 += einsum("ij->ij", x28) + x59 += einsum("ij->ij", x28) + x64 += einsum("ij->ij", x28) + del x28 + x29 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x29 += einsum("ijab->jiab", t2.bbbb) * -1 + x29 += einsum("ijab->jiba", t2.bbbb) + x30 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x30 += einsum("abij,ikba->jk", l2.bbbb, x29) + x31 += einsum("ij->ij", x30) * -1 + x59 += einsum("ij->ij", x30) * -1 + del x30 + rdm_eb_des_ov_bb += einsum("ij,wia->wja", x59, u11.bb) * -1 + del x59 + x64 += einsum("abij,ikba->jk", l2.bbbb, x29) * -1 + x65 += einsum("ia,ij->ja", t1.bb, x64) + del x64 + x65 += einsum("ai,ijab->jb", l1.bb, x29) * -1 + del x29 + x31 += einsum("ij->ji", delta_oo.bb) * -1 + rdm_eb_des_oo_bb += einsum("w,ij->wji", s1, x31) * -1 + del x31 + x32 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x32 -= einsum("abij->jiab", l2.aaaa) + x32 += einsum("abij->jiba", l2.aaaa) + x33 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x33 += einsum("wia,ijba->wjb", u11.aa, x32) + del x32 + x34 -= einsum("wia->wia", x33) + x43 += einsum("ia,wja->wji", t1.aa, x34) + rdm_eb_des_ov_aa -= einsum("ia,wij->wja", t1.aa, x43) + del x43 + rdm_eb_des_ov_aa -= einsum("wia,ijba->wjb", x34, x2) + del x2 + rdm_eb_des_ov_bb += einsum("wia,ijab->wjb", x34, t2.abab) + del x34 + rdm_eb_des_vo_aa -= einsum("wia->wai", x33) + del x33 + x35 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x35 += einsum("abij->jiab", l2.bbbb) + x35 -= einsum("abij->jiba", l2.bbbb) + x36 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x36 += einsum("wia,ijab->wjb", u11.bb, x35) + del x35 + x37 -= einsum("wia->wia", x36) + x60 += einsum("ia,wja->wji", t1.bb, x37) + rdm_eb_des_ov_bb -= einsum("ia,wij->wja", t1.bb, x60) + del x60 + rdm_eb_des_ov_aa += einsum("wia,jiba->wjb", x37, t2.abab) + rdm_eb_des_ov_bb -= einsum("wia,ijab->wjb", x37, x3) + del x3 + del x37 + rdm_eb_des_vo_bb -= einsum("wia->wai", x36) + del x36 + x38 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x38 += einsum("wai,wib->ab", lu11.aa, u11.aa) + x41 += einsum("ab->ab", x38) + x66 += einsum("ab->ab", x38) + del x38 + x39 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x39 += einsum("abij,ijcb->ac", l2.abab, t2.abab) + x41 += einsum("ab->ab", x39) + rdm_eb_des_ov_aa += einsum("ab,wia->wib", x41, u11.aa) * -1 + del x41 + x66 += einsum("ab->ab", x39) + del x39 + x44 = np.zeros((nbos, nbos), dtype=types[float]) + x44 += einsum("wx,yw->xy", ls2, s2) + x47 = np.zeros((nbos, nbos), dtype=types[float]) + x47 += einsum("wx->wx", x44) + del x44 + x45 = np.zeros((nbos, nbos), dtype=types[float]) + x45 += einsum("wai,xia->wx", lu11.aa, u11.aa) + x47 += einsum("wx->wx", x45) + del x45 + x46 = np.zeros((nbos, nbos), dtype=types[float]) + x46 += einsum("wai,xia->wx", lu11.bb, u11.bb) + x47 += einsum("wx->wx", x46) + del x46 + rdm_eb_des_ov_aa += einsum("wx,wia->xia", x47, u11.aa) + rdm_eb_des_ov_bb += einsum("wx,wia->xia", x47, u11.bb) + del x47 + x48 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x48 += einsum("ia,abjk->jikb", t1.aa, l2.abab) + x53 += einsum("ijab,ikjb->ka", t2.abab, x48) + del x48 + x49 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x49 += einsum("ia,bajk->jkib", t1.aa, l2.aaaa) + x50 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x50 += einsum("ijka->ijka", x49) + x50 += einsum("ijka->jika", x49) * -1 + del x49 + x53 += einsum("ijab,ijkb->ka", t2.aaaa, x50) * -1 + del x50 + x51 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x51 += einsum("ijab->jiab", t2.aaaa) + x51 += einsum("ijab->jiba", t2.aaaa) * -1 + x53 += einsum("ai,ijba->jb", l1.aa, x51) * -1 + del x51 + x53 += einsum("ia->ia", t1.aa) * -1 + x53 += einsum("w,wia->ia", ls1, u11.aa) * -1 + x53 += einsum("ai,jiba->jb", l1.bb, t2.abab) * -1 + rdm_eb_des_ov_aa += einsum("w,ia->wia", s1, x53) * -1 + del x53 + x54 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x54 += einsum("wai,wib->ab", lu11.bb, u11.bb) + x58 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x58 += einsum("ab->ab", x54) + x67 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x67 += einsum("ab->ab", x54) + del x54 + x55 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x55 += einsum("abij,ijac->bc", l2.abab, t2.abab) + x58 += einsum("ab->ab", x55) + x67 += einsum("ab->ab", x55) + del x55 + x56 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x56 += einsum("abij->jiab", l2.bbbb) * -1 + x56 += einsum("abij->jiba", l2.bbbb) + x57 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x57 += einsum("ijab,ijca->bc", t2.bbbb, x56) + del x56 + x58 += einsum("ab->ba", x57) * -1 + rdm_eb_des_ov_bb += einsum("ab,wia->wib", x58, u11.bb) * -1 + del x58 + x67 += einsum("ab->ba", x57) * -1 + del x57 + x61 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x61 += einsum("ia,bajk->jkib", t1.bb, l2.abab) + x65 += einsum("ijab,ijka->kb", t2.abab, x61) + del x61 + x62 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x62 += einsum("ia,bajk->jkib", t1.bb, l2.bbbb) + x63 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x63 += einsum("ijka->ijka", x62) * -1 + x63 += einsum("ijka->jika", x62) + del x62 + x65 += einsum("ijab,ijka->kb", t2.bbbb, x63) * -1 + del x63 + x65 += einsum("ia->ia", t1.bb) * -1 + x65 += einsum("w,wia->ia", ls1, u11.bb) * -1 + x65 += einsum("ai,ijab->jb", l1.aa, t2.abab) * -1 + rdm_eb_des_ov_bb += einsum("w,ia->wia", s1, x65) * -1 + del x65 + x66 += einsum("ai,ib->ab", l1.aa, t1.aa) + rdm_eb_des_vv_aa += einsum("w,ab->wab", s1, x66) + del x66 + x67 += einsum("ai,ib->ab", l1.bb, t1.bb) + rdm_eb_des_vv_bb += einsum("w,ab->wab", s1, x67) + del x67 + rdm_eb_cre_oo_aa += einsum("w,ij->wji", ls1, delta_oo.aa) + rdm_eb_cre_oo_bb += einsum("w,ij->wji", ls1, delta_oo.bb) + rdm_eb_cre_ov_aa += einsum("w,ia->wia", ls1, t1.aa) + rdm_eb_cre_ov_aa += einsum("wai,jiba->wjb", lu11.bb, t2.abab) + rdm_eb_cre_ov_aa += einsum("wx,xia->wia", ls2, u11.aa) + rdm_eb_cre_ov_bb += einsum("wai,ijab->wjb", lu11.aa, t2.abab) + rdm_eb_cre_ov_bb += einsum("w,ia->wia", ls1, t1.bb) + rdm_eb_cre_ov_bb += einsum("wx,xia->wia", ls2, u11.bb) + rdm_eb_cre_vo_aa = np.zeros((nbos, nvir[0], nocc[0]), dtype=types[float]) + rdm_eb_cre_vo_aa += einsum("wai->wai", lu11.aa) + rdm_eb_cre_vo_bb = np.zeros((nbos, nvir[1], nocc[1]), dtype=types[float]) + rdm_eb_cre_vo_bb += einsum("wai->wai", lu11.bb) + rdm_eb_cre_vv_aa = np.zeros((nbos, nvir[0], nvir[0]), dtype=types[float]) + rdm_eb_cre_vv_aa += einsum("ia,wbi->wba", t1.aa, lu11.aa) + rdm_eb_cre_vv_bb = np.zeros((nbos, nvir[1], nvir[1]), dtype=types[float]) + rdm_eb_cre_vv_bb += einsum("ia,wbi->wba", t1.bb, lu11.bb) + rdm_eb_des_ov_aa += einsum("wia->wia", u11.aa) + rdm_eb_des_ov_bb += einsum("wia->wia", u11.bb) + rdm_eb_des_vo_aa += einsum("w,ai->wai", s1, l1.aa) + rdm_eb_des_vo_bb += einsum("w,ai->wai", s1, l1.bb) + rdm_eb_des_vv_aa += einsum("ai,wib->wab", l1.aa, u11.aa) + rdm_eb_des_vv_bb += einsum("ai,wib->wab", l1.bb, u11.bb) + + rdm_eb_aa = np.array([ + np.block([[rdm_eb_cre_oo_aa, rdm_eb_cre_ov_aa], [rdm_eb_cre_vo_aa, rdm_eb_cre_vv_aa]]), + np.block([[rdm_eb_des_oo_aa, rdm_eb_des_ov_aa], [rdm_eb_des_vo_aa, rdm_eb_des_vv_aa]]), + ]) + rdm_eb_bb = np.array([ + np.block([[rdm_eb_cre_oo_bb, rdm_eb_cre_ov_bb], [rdm_eb_cre_vo_bb, rdm_eb_cre_vv_bb]]), + np.block([[rdm_eb_des_oo_bb, rdm_eb_des_ov_bb], [rdm_eb_des_vo_bb, rdm_eb_des_vv_bb]]), + ]) + + rdm_eb.aa = rdm_eb_aa + rdm_eb.bb = rdm_eb_bb + + return rdm_eb + diff --git a/ebcc/codegen/UCCSD_SD_1_2.py b/ebcc/codegen/UCCSD_SD_1_2.py new file mode 100644 index 00000000..9886ef63 --- /dev/null +++ b/ebcc/codegen/UCCSD_SD_1_2.py @@ -0,0 +1,7430 @@ +# Code generated for ebcc. + +from ebcc import numpy as np +from ebcc.util import pack_2e, einsum, Namespace +from ebcc.precision import types + +def energy(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, s2=None, u11=None, u12=None, **kwargs): + # Energy + x0 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x0 += einsum("iajb->jiab", v.aaaa.ovov) * -1 + x0 += einsum("iajb->jiba", v.aaaa.ovov) + x1 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x1 += einsum("ijab->jiba", t2.aaaa) + x1 += einsum("ia,jb->ijab", t1.aa, t1.aa) + e_cc = 0 + e_cc += einsum("ijab,ijba->", x0, x1) * -0.5 + del x0 + del x1 + x2 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x2 += einsum("iajb->jiab", v.bbbb.ovov) * -1 + x2 += einsum("iajb->jiba", v.bbbb.ovov) + x3 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x3 += einsum("ijab->jiba", t2.bbbb) + x3 += einsum("ia,jb->ijab", t1.bb, t1.bb) + e_cc += einsum("ijab,ijba->", x2, x3) * -0.5 + del x2 + del x3 + x4 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x4 += einsum("ijab->ijab", t2.abab) + x4 += einsum("ia,jb->ijab", t1.aa, t1.bb) + e_cc += einsum("iajb,ijab->", v.aabb.ovov, x4) + del x4 + x5 = np.zeros((nbos), dtype=types[float]) + x5 += einsum("w->w", G) + x5 += einsum("ia,wia->w", t1.aa, g.aa.bov) + x5 += einsum("ia,wia->w", t1.bb, g.bb.bov) + e_cc += einsum("w,w->", s1, x5) + del x5 + e_cc += einsum("ia,ia->", f.aa.ov, t1.aa) + e_cc += einsum("wia,wia->", g.bb.bov, u11.bb) + e_cc += einsum("ia,ia->", f.bb.ov, t1.bb) + e_cc += einsum("wia,wia->", g.aa.bov, u11.aa) + + return e_cc + +def update_amps(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, s2=None, u11=None, u12=None, **kwargs): + t1new = Namespace() + t2new = Namespace() + u11new = Namespace() + u12new = Namespace() + + # Get boson coupling creation array: + gc = Namespace( + aa = Namespace( + boo=g.aa.boo.transpose(0, 2, 1), + bov=g.aa.bvo.transpose(0, 2, 1), + bvo=g.aa.bov.transpose(0, 2, 1), + bvv=g.aa.bvv.transpose(0, 2, 1), + ), + bb = Namespace( + boo=g.bb.boo.transpose(0, 2, 1), + bov=g.bb.bvo.transpose(0, 2, 1), + bvo=g.bb.bov.transpose(0, 2, 1), + bvv=g.bb.bvv.transpose(0, 2, 1), + ), + ) + + # T1, T2, S1, S2, U11 and U12 amplitudes + x0 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x0 += einsum("ia,jbka->ijkb", t1.aa, v.aaaa.ovov) + x1 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x1 += einsum("ijka->ijka", x0) + x1 += einsum("ijka->ikja", x0) * -1 + x69 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x69 += einsum("ijka->ijka", x0) + x69 -= einsum("ijka->ikja", x0) + x127 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x127 += einsum("ia,jkla->jilk", t1.aa, x0) + x128 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x128 += einsum("ijab,klij->lkba", t2.aaaa, x127) + x132 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x132 += einsum("ijab->ijab", x128) + del x128 + x133 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x133 += einsum("ia,jkli->jkla", t1.aa, x127) + del x127 + x134 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x134 += einsum("ia,jkib->jkab", t1.aa, x133) + del x133 + x141 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x141 += einsum("ijab->ijab", x134) + del x134 + x259 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x259 += einsum("ijka->jkia", x0) * -1 + x259 += einsum("ijka->kjia", x0) + del x0 + x1 += einsum("ijka->jika", v.aaaa.ooov) * -1 + x1 += einsum("ijka->jkia", v.aaaa.ooov) + t1new_aa = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + t1new_aa += einsum("ijab,kjib->ka", t2.aaaa, x1) * -1 + del x1 + x2 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x2 += einsum("iabc->ibac", v.aaaa.ovvv) * -1 + x2 += einsum("iabc->ibca", v.aaaa.ovvv) + x99 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x99 += einsum("ia,jbca->ijbc", t1.aa, x2) + x105 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x105 += einsum("ia,ibca->bc", t1.aa, x2) + x106 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x106 += einsum("ab->ab", x105) * -1 + del x105 + t1new_aa += einsum("ijab,icab->jc", t2.aaaa, x2) * -1 + del x2 + x3 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x3 += einsum("ia,jakb->ijkb", t1.aa, v.aabb.ovov) + x4 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x4 += einsum("ijka->jika", x3) + x112 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x112 += einsum("ijab,kljb->kila", t2.abab, x3) + del x3 + x115 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x115 += einsum("ijka->ikja", x112) + del x112 + x4 += einsum("ijka->ijka", v.aabb.ooov) + x283 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x283 += einsum("ijab,iklb->kjla", t2.abab, x4) + x287 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x287 += einsum("ijka->ikja", x283) * -1 + del x283 + x374 = np.zeros((nbos, nbos, nocc[0], nocc[0]), dtype=types[float]) + x374 += einsum("wxia,jkia->xwjk", u12.bb, x4) + t1new_aa += einsum("ijab,ikjb->ka", t2.abab, x4) * -1 + x5 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x5 += einsum("w,wia->ia", s1, g.aa.bov) + x9 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x9 += einsum("ia->ia", x5) + x73 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x73 += einsum("ia->ia", x5) + x297 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x297 += einsum("ia->ia", x5) + x321 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x321 += einsum("ia->ia", x5) + x343 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x343 += einsum("ia->ia", x5) + del x5 + x6 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x6 += einsum("ia,jbia->jb", t1.bb, v.aabb.ovov) + x9 += einsum("ia->ia", x6) + x97 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x97 += einsum("ia,ja->ij", t1.aa, x6) + x98 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x98 += einsum("ij,kjab->ikab", x97, t2.aaaa) + del x97 + x119 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x119 += einsum("ijab->ijab", x98) * -1 + del x98 + x113 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x113 += einsum("ia,jkba->jkib", x6, t2.aaaa) + x115 += einsum("ijka->ikja", x113) * -1 + del x113 + x297 += einsum("ia->ia", x6) + x316 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x316 += einsum("ia->ia", x6) + del x6 + x7 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x7 += einsum("iajb->jiab", v.aaaa.ovov) + x7 += einsum("iajb->jiba", v.aaaa.ovov) * -1 + x8 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x8 += einsum("ia,ijab->jb", t1.aa, x7) + x9 += einsum("ia->ia", x8) * -1 + x316 += einsum("ia->ia", x8) * -1 + del x8 + x317 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x317 += einsum("ia,ib->ab", t1.aa, x316) * -1 + x365 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) + x365 += einsum("ia,wja->wij", x316, u11.aa) + del x316 + x366 = np.zeros((nbos, nbos, nocc[0], nvir[0]), dtype=types[float]) + x366 += einsum("wia,xij->xwja", u11.aa, x365) + del x365 + x367 = np.zeros((nbos, nbos, nocc[0], nvir[0]), dtype=types[float]) + x367 += einsum("wxia->wxia", x366) + del x366 + x23 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x23 += einsum("ijab,ikab->jk", t2.aaaa, x7) + x27 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x27 += einsum("ij->ji", x23) * -1 + x117 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x117 += einsum("ij->ji", x23) * -1 + del x23 + x104 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x104 += einsum("ijab,ijcb->ac", t2.aaaa, x7) + x106 += einsum("ab->ab", x104) * -1 + del x104 + x231 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x231 += einsum("ijab,ikac->kjcb", t2.abab, x7) + x232 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x232 += einsum("ijab->ijab", x231) * -1 + del x231 + x311 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x311 += einsum("wia,ijab->wjb", u11.aa, x7) + x312 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x312 += einsum("wia->wia", x311) * -1 + x360 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x360 += einsum("wia->wia", x311) * -1 + del x311 + x369 = np.zeros((nbos, nbos, nocc[0], nvir[0]), dtype=types[float]) + x369 += einsum("wxia,ijab->wxjb", u12.aa, x7) + del x7 + x370 = np.zeros((nbos, nbos, nocc[0], nvir[0]), dtype=types[float]) + x370 += einsum("wxia->xwia", x369) * -1 + del x369 + x9 += einsum("ia->ia", f.aa.ov) + x26 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x26 += einsum("ia,ja->ij", t1.aa, x9) + x27 += einsum("ij->ji", x26) + del x26 + x263 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x263 += einsum("ia,jkab->jikb", x9, t2.abab) + x269 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x269 += einsum("ijka->jika", x263) + del x263 + x374 += einsum("ia,wxja->xwij", x9, u12.aa) + t1new_bb = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + t1new_bb += einsum("ia,ijab->jb", x9, t2.abab) + x10 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x10 += einsum("ijab->jiab", t2.aaaa) + x10 += einsum("ijab->jiba", t2.aaaa) * -1 + x100 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x100 += einsum("ijab,kica->kjcb", x10, x99) * -1 + del x99 + x119 += einsum("ijab->ijba", x100) * -1 + del x100 + t1new_aa += einsum("ia,ijab->jb", x9, x10) * -1 + del x9 + x11 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x11 += einsum("w,wia->ia", s1, g.bb.bov) + x15 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x15 += einsum("ia->ia", x11) + x154 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x154 += einsum("ia->ia", x11) + x296 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x296 += einsum("ia->ia", x11) + x332 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x332 += einsum("ia->ia", x11) + x379 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x379 += einsum("ia->ia", x11) + del x11 + x12 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x12 += einsum("ia,iajb->jb", t1.aa, v.aabb.ovov) + x15 += einsum("ia->ia", x12) + x193 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x193 += einsum("ia,jkab->kjib", x12, t2.bbbb) + x196 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x196 += einsum("ijka->ikja", x193) * -1 + del x193 + x206 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x206 += einsum("ia,ja->ij", t1.bb, x12) + x207 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x207 += einsum("ij->ij", x206) + del x206 + x296 += einsum("ia->ia", x12) + x327 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x327 += einsum("ia->ia", x12) + del x12 + x13 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x13 += einsum("iajb->jiab", v.bbbb.ovov) + x13 += einsum("iajb->jiba", v.bbbb.ovov) * -1 + x14 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x14 += einsum("ia,ijab->jb", t1.bb, x13) + x15 += einsum("ia->ia", x14) * -1 + x327 += einsum("ia->ia", x14) * -1 + del x14 + x328 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x328 += einsum("ia,ib->ab", t1.bb, x327) * -1 + x401 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) + x401 += einsum("ia,wja->wij", x327, u11.bb) + del x327 + x402 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) + x402 += einsum("wij->wji", x401) + del x401 + x271 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x271 += einsum("ijab,ijbc->ca", t2.bbbb, x13) + x272 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x272 += einsum("ab->ba", x271) * -1 + x328 += einsum("ab->ba", x271) * -1 + del x271 + x314 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x314 += einsum("wia,ijab->wjb", u11.bb, x13) + x315 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x315 += einsum("wia->wia", x314) * -1 + x405 = np.zeros((nbos, nbos, nocc[1], nocc[1]), dtype=types[float]) + x405 += einsum("wia,xja->xwji", u11.bb, x314) * -1 + x406 = np.zeros((nbos, nbos, nocc[1], nocc[1]), dtype=types[float]) + x406 += einsum("wxij->xwji", x405) + del x405 + x408 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) + x408 += einsum("ia,wja->wji", t1.bb, x314) * -1 + del x314 + x409 = np.zeros((nbos, nbos, nocc[1], nvir[1]), dtype=types[float]) + x409 += einsum("wia,xij->xwja", u11.bb, x408) + del x408 + x410 = np.zeros((nbos, nbos, nocc[1], nvir[1]), dtype=types[float]) + x410 += einsum("wxia->xwia", x409) + del x409 + x372 = np.zeros((nbos, nbos, nocc[1], nvir[1]), dtype=types[float]) + x372 += einsum("wxia,ijab->wxjb", u12.bb, x13) + del x13 + x373 = np.zeros((nbos, nbos, nocc[1], nvir[1]), dtype=types[float]) + x373 += einsum("wxia->xwia", x372) * -1 + del x372 + x15 += einsum("ia->ia", f.bb.ov) + x53 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x53 += einsum("ia,ja->ij", t1.bb, x15) + x54 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x54 += einsum("ij->ji", x53) + del x53 + x284 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x284 += einsum("ia,jkba->jkib", x15, t2.abab) + x287 += einsum("ijka->ikja", x284) + del x284 + x413 = np.zeros((nbos, nbos, nocc[1], nocc[1]), dtype=types[float]) + x413 += einsum("ia,wxja->xwij", x15, u12.bb) + t1new_aa += einsum("ia,jiba->jb", x15, t2.abab) + x16 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x16 += einsum("iabj->ijba", v.aaaa.ovvo) + x16 -= einsum("ijab->ijab", v.aaaa.oovv) + x75 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x75 += einsum("ia,jkba->ijkb", t1.aa, x16) + x76 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x76 -= einsum("ijka->jika", x75) + del x75 + t1new_aa += einsum("ia,ijba->jb", t1.aa, x16) + u11new_aa = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + u11new_aa += einsum("wia,ijba->wjb", u11.aa, x16) + x17 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) + x17 += einsum("ia,wja->wji", t1.aa, g.aa.bov) + x18 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) + x18 += einsum("wij->wij", x17) + del x17 + x18 += einsum("wij->wij", g.aa.boo) + x84 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x84 += einsum("ia,wij->wja", t1.aa, x18) + x85 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x85 -= einsum("wia->wia", x84) + del x84 + t1new_aa -= einsum("wia,wij->ja", u11.aa, x18) + u11new_aa -= einsum("wij,wxia->xja", x18, u12.aa) + del x18 + x19 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x19 += einsum("w,wij->ij", s1, g.aa.boo) + x27 += einsum("ij->ij", x19) + x79 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x79 += einsum("ij->ji", x19) + del x19 + x20 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x20 += einsum("wia,wja->ij", g.aa.bov, u11.aa) + x27 += einsum("ij->ij", x20) + x92 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x92 += einsum("ij->ij", x20) + del x20 + x21 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x21 += einsum("ia,jkia->jk", t1.bb, v.aabb.ooov) + x27 += einsum("ij->ij", x21) + x92 += einsum("ij->ij", x21) + del x21 + x93 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x93 += einsum("ij,ikab->jkab", x92, t2.aaaa) + del x92 + x94 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x94 -= einsum("ijab->jiba", x93) + del x93 + x22 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x22 += einsum("ijab,kajb->ik", t2.abab, v.aabb.ovov) + x27 += einsum("ij->ji", x22) + x117 += einsum("ij->ji", x22) + del x22 + x24 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x24 += einsum("ijka->ikja", v.aaaa.ooov) + x24 += einsum("ijka->kija", v.aaaa.ooov) * -1 + x25 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x25 += einsum("ia,ijka->jk", t1.aa, x24) + x27 += einsum("ij->ij", x25) * -1 + x117 += einsum("ij->ij", x25) * -1 + del x25 + x118 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x118 += einsum("ij,ikab->jkab", x117, t2.aaaa) + del x117 + x119 += einsum("ijab->jiba", x118) + del x118 + x114 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x114 += einsum("ijab,kila->jklb", x10, x24) + x115 += einsum("ijka->ijka", x114) + del x114 + x322 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) + x322 += einsum("wia,ijka->wjk", u11.aa, x24) * -1 + del x24 + x27 += einsum("ij->ij", f.aa.oo) + x290 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x290 += einsum("ij,ikab->jkab", x27, t2.abab) + t2new_baba = np.zeros((nocc[1], nocc[0], nvir[1], nvir[0]), dtype=types[float]) + t2new_baba += einsum("ijab->jiba", x290) * -1 + t2new_abab = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + t2new_abab += einsum("ijab->ijab", x290) * -1 + del x290 + t1new_aa += einsum("ia,ij->ja", t1.aa, x27) * -1 + u11new_aa += einsum("ij,wia->wja", x27, u11.aa) * -1 + u12new_aa = np.zeros((nbos, nbos, nocc[0], nvir[0]), dtype=types[float]) + u12new_aa += einsum("ij,wxia->xwja", x27, u12.aa) * -1 + del x27 + x28 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x28 += einsum("w,wab->ab", s1, g.aa.bvv) + x32 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x32 += einsum("ab->ab", x28) + x87 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x87 += einsum("ab->ab", x28) + x276 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x276 += einsum("ab->ab", x28) + x317 += einsum("ab->ab", x28) + del x28 + x29 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x29 += einsum("ia,iabc->bc", t1.bb, v.bbaa.ovvv) + x32 += einsum("ab->ab", x29) + x90 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x90 -= einsum("ab->ba", x29) + x276 += einsum("ab->ab", x29) + x317 += einsum("ab->ab", x29) + del x29 + x30 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x30 += einsum("iabc->ibac", v.aaaa.ovvv) + x30 += einsum("iabc->ibca", v.aaaa.ovvv) * -1 + x31 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x31 += einsum("ia,ibca->bc", t1.aa, x30) + del x30 + x32 += einsum("ab->ab", x31) * -1 + x276 += einsum("ab->ab", x31) * -1 + x317 += einsum("ab->ab", x31) * -1 + del x31 + x32 += einsum("ab->ab", f.aa.vv) + t1new_aa += einsum("ia,ba->ib", t1.aa, x32) + del x32 + x33 = np.zeros((nbos), dtype=types[float]) + x33 += einsum("ia,wia->w", t1.aa, g.aa.bov) + x35 = np.zeros((nbos), dtype=types[float]) + x35 += einsum("w->w", x33) + del x33 + x34 = np.zeros((nbos), dtype=types[float]) + x34 += einsum("ia,wia->w", t1.bb, g.bb.bov) + x35 += einsum("w->w", x34) + del x34 + x35 += einsum("w->w", G) + t1new_aa += einsum("w,wia->ia", x35, u11.aa) + t1new_bb += einsum("w,wia->ia", x35, u11.bb) + s1new = np.zeros((nbos), dtype=types[float]) + s1new += einsum("w,wx->x", x35, s2) + u11new_aa += einsum("w,wxia->xia", x35, u12.aa) + u11new_bb = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + u11new_bb += einsum("w,wxia->xia", x35, u12.bb) + del x35 + x36 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x36 += einsum("ia,jbka->ijkb", t1.bb, v.bbbb.ovov) + x37 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x37 += einsum("ijka->ijka", x36) * -1 + x37 += einsum("ijka->ikja", x36) + x151 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x151 -= einsum("ijka->ijka", x36) + x151 += einsum("ijka->ikja", x36) + x216 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x216 += einsum("ia,jkla->jilk", t1.bb, x36) + x217 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x217 += einsum("ijkl->ijkl", x216) + x223 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x223 += einsum("ia,jkli->jkla", t1.bb, x216) + del x216 + x224 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x224 += einsum("ia,jkib->jkab", t1.bb, x223) + del x223 + x228 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x228 += einsum("ijab->ijab", x224) + del x224 + x280 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x280 += einsum("ijka->jkia", x36) * -1 + x280 += einsum("ijka->kjia", x36) + del x36 + x37 += einsum("ijka->jika", v.bbbb.ooov) + x37 += einsum("ijka->jkia", v.bbbb.ooov) * -1 + t1new_bb += einsum("ijab,kijb->ka", t2.bbbb, x37) * -1 + del x37 + x38 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x38 += einsum("iabc->ibac", v.bbbb.ovvv) * -1 + x38 += einsum("iabc->ibca", v.bbbb.ovvv) + x57 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x57 += einsum("ia,ibac->bc", t1.bb, x38) + x58 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x58 += einsum("ab->ab", x57) * -1 + x272 += einsum("ab->ab", x57) * -1 + x328 += einsum("ab->ab", x57) * -1 + del x57 + t1new_bb += einsum("ijab,icab->jc", t2.bbbb, x38) * -1 + del x38 + x39 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x39 += einsum("ia,jbka->jikb", t1.bb, v.aabb.ovov) + x40 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x40 += einsum("ijka->ikja", x39) + x192 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x192 += einsum("ijab,ikla->kjlb", t2.abab, x39) + x196 += einsum("ijka->ikja", x192) + del x192 + x250 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x250 += einsum("ijka->ikja", x39) + del x39 + x40 += einsum("iajk->ijka", v.aabb.ovoo) + x262 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x262 += einsum("ijab,kjla->iklb", t2.abab, x40) + x269 += einsum("ijka->jika", x262) * -1 + del x262 + x264 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) + x264 += einsum("ia,jkla->ijkl", t1.aa, x40) + x265 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) + x265 += einsum("ijkl->jikl", x264) + del x264 + x282 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x282 += einsum("ijab,ikla->jklb", x10, x40) + x287 += einsum("ijka->ijka", x282) * -1 + del x282 + x413 += einsum("wxia,ijka->xwjk", u12.aa, x40) + t1new_bb += einsum("ijab,ijka->kb", t2.abab, x40) * -1 + del x40 + x41 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x41 += einsum("ijab->jiab", t2.bbbb) + x41 += einsum("ijab->jiba", t2.bbbb) * -1 + x186 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x186 += einsum("iajb,jkbc->ikac", v.aabb.ovov, x41) + x187 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x187 += einsum("ijab,ikac->kjcb", t2.abab, x186) * -1 + x209 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x209 += einsum("ijab->jiba", x187) * -1 + del x187 + x232 += einsum("ijab->ijab", x186) * -1 + del x186 + x261 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x261 += einsum("ijka,klab->ijlb", x4, x41) + del x4 + x269 += einsum("ijka->ijka", x261) * -1 + del x261 + t1new_bb += einsum("ia,ijab->jb", x15, x41) * -1 + del x15 + x42 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x42 += einsum("iabj->ijba", v.bbbb.ovvo) + x42 -= einsum("ijab->ijab", v.bbbb.oovv) + x156 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x156 += einsum("ia,jkba->ijkb", t1.bb, x42) + x157 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x157 -= einsum("ijka->jika", x156) + del x156 + t1new_bb += einsum("ia,ijba->jb", t1.bb, x42) + u11new_bb += einsum("wia,ijba->wjb", u11.bb, x42) + x43 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) + x43 += einsum("ia,wja->wji", t1.bb, g.bb.bov) + x44 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) + x44 += einsum("wij->wij", x43) + del x43 + x44 += einsum("wij->wij", g.bb.boo) + x166 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x166 += einsum("ia,wij->wja", t1.bb, x44) + x167 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x167 -= einsum("wia->wia", x166) + del x166 + t1new_bb -= einsum("wia,wij->ja", u11.bb, x44) + u11new_bb -= einsum("wij,wxia->xja", x44, u12.bb) + del x44 + x45 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x45 += einsum("w,wij->ij", s1, g.bb.boo) + x54 += einsum("ij->ij", x45) + x160 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x160 += einsum("ij->ji", x45) + del x45 + x46 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x46 += einsum("wia,wja->ij", g.bb.bov, u11.bb) + x54 += einsum("ij->ij", x46) + x174 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x174 += einsum("ij->ij", x46) + del x46 + x47 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x47 += einsum("ia,iajk->jk", t1.aa, v.aabb.ovoo) + x54 += einsum("ij->ij", x47) + x174 += einsum("ij->ij", x47) + del x47 + x175 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x175 += einsum("ij,ikab->jkab", x174, t2.bbbb) + del x174 + x176 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x176 -= einsum("ijab->jiba", x175) + del x175 + x48 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x48 += einsum("ijab,iakb->jk", t2.abab, v.aabb.ovov) + x54 += einsum("ij->ji", x48) + x207 += einsum("ij->ij", x48) + del x48 + x208 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x208 += einsum("ij,jkab->ikab", x207, t2.bbbb) + del x207 + x209 += einsum("ijab->ijba", x208) * -1 + del x208 + x49 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x49 += einsum("iajb->jiab", v.bbbb.ovov) * -1 + x49 += einsum("iajb->jiba", v.bbbb.ovov) + x50 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x50 += einsum("ijab,ikba->jk", t2.bbbb, x49) + x54 += einsum("ij->ji", x50) * -1 + del x50 + x198 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x198 += einsum("ijab,ijbc->ac", t2.bbbb, x49) + x200 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x200 += einsum("ab->ab", x198) * -1 + del x198 + x202 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x202 += einsum("ijab,ikab->jk", t2.bbbb, x49) + x204 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x204 += einsum("ij->ji", x202) * -1 + del x202 + x235 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x235 += einsum("ijab,ikca->jkbc", x41, x49) + del x49 + x236 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x236 += einsum("ijab->jiab", x235) + del x235 + x51 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x51 += einsum("ijka->ikja", v.bbbb.ooov) + x51 += einsum("ijka->kija", v.bbbb.ooov) * -1 + x52 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x52 += einsum("ia,ijka->jk", t1.bb, x51) + x54 += einsum("ij->ij", x52) * -1 + del x52 + x333 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) + x333 += einsum("wia,ijka->wjk", u11.bb, x51) * -1 + del x51 + x54 += einsum("ij->ij", f.bb.oo) + x289 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x289 += einsum("ij,kiab->kjab", x54, t2.abab) + t2new_baba += einsum("ijab->jiba", x289) * -1 + t2new_abab += einsum("ijab->ijab", x289) * -1 + del x289 + t1new_bb += einsum("ia,ij->ja", t1.bb, x54) * -1 + u11new_bb += einsum("ij,wia->wja", x54, u11.bb) * -1 + u12new_bb = np.zeros((nbos, nbos, nocc[1], nvir[1]), dtype=types[float]) + u12new_bb += einsum("ij,wxia->xwja", x54, u12.bb) * -1 + del x54 + x55 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x55 += einsum("w,wab->ab", s1, g.bb.bvv) + x58 += einsum("ab->ab", x55) + x169 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x169 += einsum("ab->ab", x55) + x272 += einsum("ab->ab", x55) + x328 += einsum("ab->ab", x55) + del x55 + x56 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x56 += einsum("ia,iabc->bc", t1.aa, v.aabb.ovvv) + x58 += einsum("ab->ab", x56) + x172 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x172 -= einsum("ab->ba", x56) + x272 += einsum("ab->ab", x56) + x328 += einsum("ab->ab", x56) + del x56 + x58 += einsum("ab->ab", f.bb.vv) + t1new_bb += einsum("ia,ba->ib", t1.bb, x58) + del x58 + x59 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x59 += einsum("ia,bjca->ijbc", t1.aa, v.aaaa.vovv) + x94 -= einsum("ijab->ijab", x59) + del x59 + x60 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x60 += einsum("ijab,jbck->ikac", t2.abab, v.bbaa.ovvo) + x94 += einsum("ijab->ijab", x60) + del x60 + x61 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x61 += einsum("ia,jbca->ijcb", t1.aa, v.bbaa.ovvv) + x62 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x62 += einsum("ijab,kjcb->kiac", t2.abab, x61) + x94 -= einsum("ijab->ijab", x62) + del x62 + x238 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x238 += einsum("ijab->ijab", x61) + del x61 + x63 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x63 -= einsum("ijab->jiab", t2.aaaa) + x63 += einsum("ijab->jiba", t2.aaaa) + x64 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x64 += einsum("ijab,ikcb->kjca", x16, x63) + del x16 + x94 -= einsum("ijab->ijab", x64) + del x64 + x65 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x65 += einsum("iajb->jiab", v.aaaa.ovov) + x65 -= einsum("iajb->jiba", v.aaaa.ovov) + x66 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x66 += einsum("ijab,ikbc->kjca", t2.aaaa, x65) + x67 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x67 -= einsum("ijab,ikac->kjcb", t2.aaaa, x66) + x94 -= einsum("ijab->jiba", x67) + del x67 + x137 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x137 -= einsum("ijab,ikbc->kjca", t2.aaaa, x66) + del x66 + x141 += einsum("ijab->jiba", x137) + del x137 + x72 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x72 += einsum("ia,ijab->jb", t1.aa, x65) + x73 -= einsum("ia->ia", x72) + x297 -= einsum("ia->ia", x72) + del x72 + x135 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x135 += einsum("ijab,ikac->kjcb", t2.aaaa, x65) + x136 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x136 -= einsum("ijab,ikac->kjcb", t2.aaaa, x135) + del x135 + x141 += einsum("ijab->ijab", x136) + del x136 + x177 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x177 += einsum("ijab,ikac->kjcb", t2.abab, x65) + x178 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x178 -= einsum("ijab,ikac->kjcb", t2.abab, x177) + del x177 + t2new_bbbb = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + t2new_bbbb -= einsum("ijab->ijba", x178) + t2new_bbbb += einsum("ijab->jiba", x178) + del x178 + x308 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x308 -= einsum("wia,ijab->wjb", u11.aa, x65) + del x65 + s2new = np.zeros((nbos, nbos), dtype=types[float]) + s2new += einsum("wia,xia->wx", u11.aa, x308) + del x308 + x68 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x68 += einsum("ijab,kljb->ikla", t2.abab, v.aabb.ooov) + x76 += einsum("ijka->jika", x68) + del x68 + x70 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x70 += einsum("ijab->jiab", t2.aaaa) + x70 -= einsum("ijab->jiba", t2.aaaa) + x71 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x71 += einsum("ijka,jlab->iklb", x69, x70) + del x69 + x76 += einsum("ijka->jika", x71) + del x71 + x83 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x83 += einsum("wia,ijab->wjb", g.aa.bov, x70) + del x70 + x85 -= einsum("wia->wia", x83) + del x83 + x73 += einsum("ia->ia", f.aa.ov) + x74 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x74 += einsum("ia,jkab->ijkb", x73, t2.aaaa) + x76 += einsum("ijka->ikja", x74) + del x74 + x78 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x78 += einsum("ia,ja->ji", t1.aa, x73) + del x73 + x79 += einsum("ij->ji", x78) + del x78 + x76 -= einsum("ijak->ijka", v.aaaa.oovo) + x77 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x77 += einsum("ia,ijkb->jkba", t1.aa, x76) + del x76 + x94 += einsum("ijab->ijba", x77) + del x77 + x79 += einsum("ij->ji", f.aa.oo) + x80 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x80 += einsum("ij,jkab->ikab", x79, t2.aaaa) + del x79 + x94 += einsum("ijab->ijba", x80) + del x80 + x81 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x81 += einsum("ia,wba->wib", t1.aa, g.aa.bvv) + x85 += einsum("wia->wia", x81) + del x81 + x82 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x82 += einsum("wia,jiba->wjb", g.bb.bov, t2.abab) + x85 += einsum("wia->wia", x82) + del x82 + x85 += einsum("wai->wia", g.aa.bvo) + x86 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x86 += einsum("wia,wjb->jiba", u11.aa, x85) + x94 += einsum("ijab->ijab", x86) + del x86 + x292 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x292 += einsum("wia,wjb->jiba", u11.bb, x85) + del x85 + t2new_baba += einsum("ijab->jiba", x292) + t2new_abab += einsum("ijab->ijab", x292) + del x292 + x87 += einsum("ab->ab", f.aa.vv) + x88 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x88 += einsum("ab,ijbc->ijac", x87, t2.aaaa) + del x87 + x94 -= einsum("ijab->jiab", x88) + del x88 + x89 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x89 += einsum("wia,wib->ab", g.aa.bov, u11.aa) + x90 += einsum("ab->ab", x89) + x91 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x91 += einsum("ab,ijac->ijbc", x90, t2.aaaa) + del x90 + x94 -= einsum("ijab->jiba", x91) + del x91 + t2new_aaaa = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + t2new_aaaa += einsum("ijab->ijab", x94) + t2new_aaaa -= einsum("ijab->ijba", x94) + t2new_aaaa -= einsum("ijab->jiab", x94) + t2new_aaaa += einsum("ijab->jiba", x94) + del x94 + x276 += einsum("ab->ba", x89) * -1 + x317 += einsum("ab->ba", x89) * -1 + del x89 + x95 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x95 += einsum("ia,jkla->ijlk", t1.aa, v.aaaa.ooov) + x96 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x96 += einsum("ijab,kjil->klba", t2.aaaa, x95) + x119 += einsum("ijab->ijab", x96) + del x96 + x108 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x108 += einsum("ia,jkil->jkla", t1.aa, x95) + del x95 + x115 += einsum("ijka->ijka", x108) + del x108 + x101 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x101 += einsum("ijab,kcjb->ikac", t2.abab, v.aabb.ovov) + x102 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x102 += einsum("ijab,kicb->kjca", x10, x101) + del x101 + x119 += einsum("ijab->jiba", x102) * -1 + del x102 + x103 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x103 += einsum("ijab,icjb->ac", t2.abab, v.aabb.ovov) + x106 += einsum("ab->ab", x103) + x107 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x107 += einsum("ab,ijbc->ijac", x106, t2.aaaa) + del x106 + x119 += einsum("ijab->jiba", x107) + del x107 + x276 += einsum("ab->ab", x103) * -1 + x317 += einsum("ab->ab", x103) * -1 + del x103 + x109 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x109 += einsum("ijab,kacb->ijkc", t2.aaaa, v.aaaa.ovvv) + x115 += einsum("ijka->ikja", x109) + del x109 + x110 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x110 += einsum("ia,jbca->ijcb", t1.aa, v.aaaa.ovvv) + x111 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x111 += einsum("ia,jkba->ijkb", t1.aa, x110) + del x110 + x115 += einsum("ijka->ikja", x111) + del x111 + x116 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x116 += einsum("ia,jikb->jkba", t1.aa, x115) + del x115 + x119 += einsum("ijab->ijba", x116) + del x116 + t2new_aaaa += einsum("ijab->ijab", x119) * -1 + t2new_aaaa += einsum("ijab->ijba", x119) + t2new_aaaa += einsum("ijab->jiab", x119) + t2new_aaaa += einsum("ijab->jiba", x119) * -1 + del x119 + x120 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x120 += einsum("ijab,ikjl->lkba", t2.aaaa, v.aaaa.oooo) + x122 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x122 += einsum("ijab->jiba", x120) + del x120 + x121 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x121 += einsum("ijab,cadb->ijcd", t2.aaaa, v.aaaa.vvvv) + x122 += einsum("ijab->jiba", x121) + del x121 + t2new_aaaa += einsum("ijab->ijba", x122) * -1 + t2new_aaaa += einsum("ijab->ijab", x122) + del x122 + x123 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x123 += einsum("ia,bacd->icbd", t1.aa, v.aaaa.vvvv) + x124 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x124 += einsum("ia,jbca->ijbc", t1.aa, x123) + del x123 + x132 += einsum("ijab->ijab", x124) + del x124 + x125 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x125 += einsum("ijab,kbla->ijlk", t2.aaaa, v.aaaa.ovov) + x126 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x126 += einsum("ijab,klji->lkab", t2.aaaa, x125) + x132 += einsum("ijab->ijab", x126) + del x126 + x129 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x129 += einsum("ijkl->lkji", x125) + del x125 + x129 += einsum("ijkl->kilj", v.aaaa.oooo) + x130 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x130 += einsum("ia,ijkl->jkla", t1.aa, x129) + del x129 + x131 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x131 += einsum("ia,ijkb->kjba", t1.aa, x130) + del x130 + x132 += einsum("ijab->ijba", x131) + del x131 + t2new_aaaa += einsum("ijab->ijab", x132) + t2new_aaaa += einsum("ijab->ijba", x132) * -1 + del x132 + x138 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x138 += einsum("iajb->jiab", v.bbbb.ovov) + x138 -= einsum("iajb->jiba", v.bbbb.ovov) + x139 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x139 += einsum("ijab,jkbc->ikac", t2.abab, x138) + x140 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x140 -= einsum("ijab,kjcb->kica", t2.abab, x139) + del x139 + x141 += einsum("ijab->ijab", x140) + del x140 + t2new_aaaa += einsum("ijab->ijab", x141) + t2new_aaaa -= einsum("ijab->ijba", x141) + del x141 + x148 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x148 += einsum("ijab,ikbc->kjca", t2.bbbb, x138) + x149 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x149 -= einsum("ijab,ikac->kjcb", t2.bbbb, x148) + x176 -= einsum("ijab->jiba", x149) + del x149 + x227 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x227 -= einsum("ijab,ikbc->kjca", t2.bbbb, x148) + del x148 + x228 += einsum("ijab->ijab", x227) + del x227 + x153 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x153 += einsum("ia,ijab->jb", t1.bb, x138) + x154 -= einsum("ia->ia", x153) + x296 -= einsum("ia->ia", x153) + del x153 + x225 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x225 += einsum("ijab,ikac->kjcb", t2.bbbb, x138) + x226 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x226 -= einsum("ijab,ikac->kjcb", t2.bbbb, x225) + del x225 + x228 += einsum("ijab->jiba", x226) + del x226 + t2new_bbbb += einsum("ijab->ijab", x228) + t2new_bbbb -= einsum("ijab->ijba", x228) + del x228 + x307 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x307 -= einsum("wia,ijab->wjb", u11.bb, x138) + del x138 + s2new += einsum("wia,xia->wx", u11.bb, x307) + del x307 + x142 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x142 += einsum("ia,bjca->ijbc", t1.bb, v.bbbb.vovv) + x176 -= einsum("ijab->ijab", x142) + del x142 + x143 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x143 += einsum("ijab,iack->jkbc", t2.abab, v.aabb.ovvo) + x176 += einsum("ijab->ijab", x143) + del x143 + x144 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x144 += einsum("ia,jbca->jibc", t1.bb, v.aabb.ovvv) + x145 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x145 += einsum("ijab,ikac->kjbc", t2.abab, x144) + x176 -= einsum("ijab->ijab", x145) + del x145 + x232 += einsum("ijab->ijab", x144) + x267 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x267 += einsum("ijab->ijab", x144) + x412 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x412 += einsum("ijab->ijab", x144) + del x144 + x146 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x146 -= einsum("ijab->jiab", t2.bbbb) + x146 += einsum("ijab->jiba", t2.bbbb) + x147 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x147 += einsum("ijab,ikcb->jkac", x146, x42) + del x42 + x176 -= einsum("ijab->ijab", x147) + del x147 + x152 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x152 += einsum("ijab,klib->jkla", x146, x151) + del x146 + del x151 + x157 += einsum("ijka->kjia", x152) + del x152 + x150 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x150 += einsum("ijab,iakl->jklb", t2.abab, v.aabb.ovoo) + x157 += einsum("ijka->jika", x150) + del x150 + x154 += einsum("ia->ia", f.bb.ov) + x155 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x155 += einsum("ia,jkab->ijkb", x154, t2.bbbb) + x157 += einsum("ijka->ikja", x155) + del x155 + x159 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x159 += einsum("ia,ja->ji", t1.bb, x154) + del x154 + x160 += einsum("ij->ji", x159) + del x159 + x157 -= einsum("ijak->ijka", v.bbbb.oovo) + x158 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x158 += einsum("ia,ijkb->jkba", t1.bb, x157) + del x157 + x176 += einsum("ijab->ijba", x158) + del x158 + x160 += einsum("ij->ji", f.bb.oo) + x161 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x161 += einsum("ij,jkab->ikab", x160, t2.bbbb) + del x160 + x176 += einsum("ijab->ijba", x161) + del x161 + x162 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x162 += einsum("ia,wba->wib", t1.bb, g.bb.bvv) + x167 += einsum("wia->wia", x162) + del x162 + x163 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x163 += einsum("wia,ijab->wjb", g.aa.bov, t2.abab) + x167 += einsum("wia->wia", x163) + del x163 + x164 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x164 += einsum("ijab->jiab", t2.bbbb) + x164 -= einsum("ijab->jiba", t2.bbbb) + x165 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x165 += einsum("wia,ijab->wjb", g.bb.bov, x164) + x167 -= einsum("wia->wia", x165) + del x165 + x167 += einsum("wai->wia", g.bb.bvo) + x168 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x168 += einsum("wia,wjb->jiba", u11.bb, x167) + x176 += einsum("ijab->ijab", x168) + del x168 + x291 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x291 += einsum("wia,wjb->ijab", u11.aa, x167) + del x167 + t2new_baba += einsum("ijab->jiba", x291) + t2new_abab += einsum("ijab->ijab", x291) + del x291 + x169 += einsum("ab->ab", f.bb.vv) + x170 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x170 += einsum("ab,ijbc->ijac", x169, t2.bbbb) + del x169 + x176 -= einsum("ijab->jiab", x170) + del x170 + x171 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x171 += einsum("wia,wib->ab", g.bb.bov, u11.bb) + x172 += einsum("ab->ab", x171) + x173 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x173 += einsum("ab,ijac->ijbc", x172, t2.bbbb) + del x172 + x176 -= einsum("ijab->jiba", x173) + del x173 + t2new_bbbb += einsum("ijab->ijab", x176) + t2new_bbbb -= einsum("ijab->ijba", x176) + t2new_bbbb -= einsum("ijab->jiab", x176) + t2new_bbbb += einsum("ijab->jiba", x176) + del x176 + x272 += einsum("ab->ba", x171) * -1 + x328 += einsum("ab->ba", x171) * -1 + del x171 + x179 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x179 += einsum("ia,jkla->ijlk", t1.bb, v.bbbb.ooov) + x180 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x180 += einsum("ijab,kijl->klab", t2.bbbb, x179) + x209 += einsum("ijab->ijab", x180) + del x180 + x188 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x188 += einsum("ia,jkil->jkla", t1.bb, x179) + del x179 + x196 += einsum("ijka->ijka", x188) + del x188 + x181 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x181 += einsum("ijab,iajc->bc", t2.abab, v.aabb.ovov) + x182 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x182 += einsum("ab,ijbc->jiac", x181, t2.bbbb) + x209 += einsum("ijab->ijab", x182) * -1 + del x182 + x272 += einsum("ab->ab", x181) * -1 + x328 += einsum("ab->ab", x181) * -1 + del x181 + x183 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x183 += einsum("iabc->ibac", v.bbbb.ovvv) + x183 += einsum("iabc->ibca", v.bbbb.ovvv) * -1 + x184 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x184 += einsum("ia,jbac->jibc", t1.bb, x183) + x185 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x185 += einsum("ijab,ikbc->jkac", x184, x41) * -1 + x209 += einsum("ijab->ijba", x185) * -1 + del x185 + x236 += einsum("ijab->ijab", x184) * -1 + del x184 + x199 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x199 += einsum("ia,ibac->bc", t1.bb, x183) + del x183 + x200 += einsum("ab->ab", x199) * -1 + del x199 + x201 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x201 += einsum("ab,ijbc->ijac", x200, t2.bbbb) + del x200 + x209 += einsum("ijab->jiba", x201) + del x201 + x189 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x189 += einsum("ijab,kbca->jikc", t2.bbbb, v.bbbb.ovvv) + x196 += einsum("ijka->ikja", x189) + del x189 + x190 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x190 += einsum("ia,jbca->ijcb", t1.bb, v.bbbb.ovvv) + x191 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x191 += einsum("ia,jkba->ijkb", t1.bb, x190) + del x190 + x196 += einsum("ijka->ikja", x191) + del x191 + x194 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x194 += einsum("ijka->ikja", v.bbbb.ooov) * -1 + x194 += einsum("ijka->kija", v.bbbb.ooov) + x195 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x195 += einsum("ijka,ilab->jklb", x194, x41) + x196 += einsum("ijka->kija", x195) + del x195 + x197 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x197 += einsum("ia,jikb->jkba", t1.bb, x196) + del x196 + x209 += einsum("ijab->ijba", x197) + del x197 + x203 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x203 += einsum("ia,ijka->jk", t1.bb, x194) + del x194 + x204 += einsum("ij->ij", x203) * -1 + del x203 + x205 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x205 += einsum("ij,ikab->jkab", x204, t2.bbbb) + del x204 + x209 += einsum("ijab->jiba", x205) * -1 + del x205 + t2new_bbbb += einsum("ijab->ijab", x209) * -1 + t2new_bbbb += einsum("ijab->ijba", x209) + t2new_bbbb += einsum("ijab->jiab", x209) + t2new_bbbb += einsum("ijab->jiba", x209) * -1 + del x209 + x210 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x210 += einsum("ijab,ikjl->lkba", t2.bbbb, v.bbbb.oooo) + x212 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x212 += einsum("ijab->jiba", x210) + del x210 + x211 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x211 += einsum("ijab,cbda->ijdc", t2.bbbb, v.bbbb.vvvv) + x212 += einsum("ijab->jiba", x211) + del x211 + t2new_bbbb += einsum("ijab->ijba", x212) * -1 + t2new_bbbb += einsum("ijab->ijab", x212) + del x212 + x213 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x213 += einsum("ia,bacd->icbd", t1.bb, v.bbbb.vvvv) + x214 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x214 += einsum("ia,jbca->ijbc", t1.bb, x213) + del x213 + x222 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x222 += einsum("ijab->ijab", x214) + del x214 + x215 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x215 += einsum("ijab,kbla->ijlk", t2.bbbb, v.bbbb.ovov) + x217 += einsum("ijkl->jilk", x215) + x218 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x218 += einsum("ijab,klji->klab", t2.bbbb, x217) + del x217 + x222 += einsum("ijab->jiab", x218) + del x218 + x219 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x219 += einsum("ijkl->lkji", x215) + del x215 + x219 += einsum("ijkl->kilj", v.bbbb.oooo) + x220 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x220 += einsum("ia,ijkl->jkla", t1.bb, x219) + del x219 + x221 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x221 += einsum("ia,ijkb->kjba", t1.bb, x220) + del x220 + x222 += einsum("ijab->jiab", x221) + del x221 + t2new_bbbb += einsum("ijab->ijab", x222) + t2new_bbbb += einsum("ijab->ijba", x222) * -1 + del x222 + x229 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x229 += einsum("ijab,cadb->ijcd", t2.abab, v.aabb.vvvv) + t2new_baba += einsum("ijab->jiba", x229) + t2new_abab += einsum("ijab->ijab", x229) + del x229 + x230 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x230 += einsum("ia,bjca->jibc", t1.bb, v.aabb.vovv) + t2new_baba += einsum("ijab->jiba", x230) + t2new_abab += einsum("ijab->ijab", x230) + del x230 + x232 += einsum("iabj->ijab", v.aabb.ovvo) + x233 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x233 += einsum("ijab,ikac->kjcb", x232, x63) + del x232 + del x63 + t2new_baba += einsum("ijab->jiba", x233) + t2new_abab += einsum("ijab->ijab", x233) + del x233 + x234 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x234 += einsum("ijab,iakc->jkbc", t2.abab, v.aabb.ovov) + x236 += einsum("ijab->jiab", x234) + del x234 + x236 += einsum("iabj->ijba", v.bbbb.ovvo) + x236 += einsum("ijab->ijab", v.bbbb.oovv) * -1 + x237 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x237 += einsum("ijab,jkcb->ikac", t2.abab, x236) + del x236 + t2new_baba += einsum("ijab->jiba", x237) + t2new_abab += einsum("ijab->ijab", x237) + del x237 + x238 += einsum("iabj->jiba", v.bbaa.ovvo) + x239 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x239 += einsum("ijab,kicb->kjca", x164, x238) + t2new_baba += einsum("ijab->jiba", x239) + t2new_abab += einsum("ijab->ijab", x239) + del x239 + u12new_aa += einsum("wxia,jiba->xwjb", u12.bb, x238) + del x238 + x240 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x240 -= einsum("iabc->ibac", v.aaaa.ovvv) + x240 += einsum("iabc->ibca", v.aaaa.ovvv) + x241 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x241 += einsum("ia,jbca->jibc", t1.aa, x240) + x242 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x242 -= einsum("ijab->ijab", x241) + del x241 + x340 = np.zeros((nbos, nvir[0], nvir[0]), dtype=types[float]) + x340 += einsum("wia,ibca->wbc", u11.aa, x240) + del x240 + x341 = np.zeros((nbos, nvir[0], nvir[0]), dtype=types[float]) + x341 -= einsum("wab->wba", x340) + del x340 + x242 += einsum("iabj->ijba", v.aaaa.ovvo) + x242 -= einsum("ijab->ijab", v.aaaa.oovv) + x243 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x243 += einsum("ijab,ikca->kjcb", t2.abab, x242) + t2new_baba += einsum("ijab->jiba", x243) + t2new_abab += einsum("ijab->ijab", x243) + del x243 + u12new_aa += einsum("wxia,ijba->xwjb", u12.aa, x242) + del x242 + x244 = np.zeros((nocc[0], nocc[0], nvir[1], nvir[1]), dtype=types[float]) + x244 += einsum("ia,jabc->ijbc", t1.aa, v.aabb.ovvv) + x246 = np.zeros((nocc[0], nocc[0], nvir[1], nvir[1]), dtype=types[float]) + x246 += einsum("ijab->jiab", x244) + del x244 + x245 = np.zeros((nocc[0], nocc[0], nvir[1], nvir[1]), dtype=types[float]) + x245 += einsum("ijab,kajc->ikbc", t2.abab, v.aabb.ovov) + x246 -= einsum("ijab->jiab", x245) + del x245 + x246 += einsum("ijab->ijab", v.aabb.oovv) + x247 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x247 += einsum("ijab,ikcb->kjac", t2.abab, x246) + del x246 + t2new_baba -= einsum("ijab->jiba", x247) + t2new_abab -= einsum("ijab->ijab", x247) + del x247 + x248 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) + x248 += einsum("ia,jkla->jkil", t1.bb, v.aabb.ooov) + x252 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) + x252 += einsum("ijkl->ijlk", x248) + x265 += einsum("ijkl->ijlk", x248) + del x248 + x249 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) + x249 += einsum("ijab,kalb->ikjl", t2.abab, v.aabb.ovov) + x252 += einsum("ijkl->jilk", x249) + x265 += einsum("ijkl->jilk", x249) + del x249 + x250 += einsum("iajk->ijka", v.aabb.ovoo) + x251 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) + x251 += einsum("ia,jkla->jikl", t1.aa, x250) + del x250 + x252 += einsum("ijkl->ijkl", x251) + del x251 + x252 += einsum("ijkl->ijkl", v.aabb.oooo) + x253 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x253 += einsum("ijab,ikjl->klab", t2.abab, x252) + del x252 + t2new_baba += einsum("ijab->jiba", x253) + t2new_abab += einsum("ijab->ijab", x253) + del x253 + x254 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + x254 += einsum("ia,jabc->ijbc", t1.bb, v.bbaa.ovvv) + x255 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + x255 += einsum("ijab->jiab", x254) + x285 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + x285 += einsum("ijab->jiab", x254) + del x254 + x255 += einsum("ijab->ijab", v.bbaa.oovv) + x256 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x256 += einsum("ijab,jkca->ikcb", t2.abab, x255) + del x255 + t2new_baba -= einsum("ijab->jiba", x256) + t2new_abab -= einsum("ijab->ijab", x256) + del x256 + x257 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x257 += einsum("ia,jkba->jkib", t1.bb, v.aabb.oovv) + x269 += einsum("ijka->ijka", x257) + del x257 + x258 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x258 += einsum("ijab,kacb->ikjc", t2.abab, v.aabb.ovvv) + x269 += einsum("ijka->jika", x258) + del x258 + x259 += einsum("ijka->ikja", v.aaaa.ooov) + x259 += einsum("ijka->kija", v.aaaa.ooov) * -1 + x260 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x260 += einsum("ijab,ikla->kljb", t2.abab, x259) + x269 += einsum("ijka->ijka", x260) * -1 + del x260 + x374 += einsum("wxia,ijka->xwjk", u12.aa, x259) * -1 + del x259 + u12new_aa += einsum("ia,wxij->xwja", t1.aa, x374) * -1 + del x374 + x265 += einsum("ijkl->ijkl", v.aabb.oooo) + x266 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x266 += einsum("ia,jkil->jkla", t1.bb, x265) + del x265 + x269 += einsum("ijka->ijka", x266) * -1 + del x266 + x267 += einsum("iabj->ijab", v.aabb.ovvo) + x268 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x268 += einsum("ia,jkab->jikb", t1.aa, x267) + del x267 + x269 += einsum("ijka->ijka", x268) + del x268 + x269 += einsum("ijak->ijka", v.aabb.oovo) + x270 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x270 += einsum("ia,ijkb->jkab", t1.aa, x269) + del x269 + t2new_baba += einsum("ijab->jiba", x270) * -1 + t2new_abab += einsum("ijab->ijab", x270) * -1 + del x270 + x272 += einsum("ab->ab", f.bb.vv) + x273 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x273 += einsum("ab,ijcb->ijca", x272, t2.abab) + t2new_baba += einsum("ijab->jiba", x273) + t2new_abab += einsum("ijab->ijab", x273) + del x273 + u12new_bb += einsum("ab,wxib->xwia", x272, u12.bb) + del x272 + x274 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x274 += einsum("iajb->jiab", v.aaaa.ovov) * -1 + x274 += einsum("iajb->jiba", v.aaaa.ovov) + x275 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x275 += einsum("ijab,ijcb->ca", t2.aaaa, x274) + del x274 + x276 += einsum("ab->ba", x275) * -1 + x317 += einsum("ab->ba", x275) * -1 + del x275 + x276 += einsum("ab->ab", f.aa.vv) + x277 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x277 += einsum("ab,ijbc->ijac", x276, t2.abab) + t2new_baba += einsum("ijab->jiba", x277) + t2new_abab += einsum("ijab->ijab", x277) + del x277 + u12new_aa += einsum("ab,wxib->xwia", x276, u12.aa) + del x276 + x278 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x278 += einsum("ia,jabk->kijb", t1.bb, v.bbaa.ovvo) + x287 += einsum("ijka->ikja", x278) + del x278 + x279 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x279 += einsum("ijab,kbca->ijkc", t2.abab, v.bbaa.ovvv) + x287 += einsum("ijka->ikja", x279) + del x279 + x280 += einsum("ijka->ikja", v.bbbb.ooov) + x280 += einsum("ijka->kija", v.bbbb.ooov) * -1 + x281 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x281 += einsum("ijab,jklb->ikla", t2.abab, x280) + x287 += einsum("ijka->ijka", x281) * -1 + del x281 + x413 += einsum("wxia,ijka->xwjk", u12.bb, x280) * -1 + del x280 + u12new_bb += einsum("ia,wxij->xwja", t1.bb, x413) * -1 + del x413 + x285 += einsum("ijab->ijab", v.bbaa.oovv) + x286 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x286 += einsum("ia,jkba->ijkb", t1.aa, x285) + del x285 + x287 += einsum("ijka->ijka", x286) + del x286 + x287 += einsum("ijak->kija", v.bbaa.oovo) + x288 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x288 += einsum("ia,jikb->jkba", t1.bb, x287) + del x287 + t2new_baba += einsum("ijab->jiba", x288) * -1 + t2new_abab += einsum("ijab->ijab", x288) * -1 + del x288 + x293 = np.zeros((nocc[1], nvir[0], nvir[0], nvir[1]), dtype=types[float]) + x293 += einsum("ia,bcda->ibcd", t1.bb, v.aabb.vvvv) + x294 = np.zeros((nocc[1], nvir[0], nvir[0], nvir[1]), dtype=types[float]) + x294 += einsum("iabc->iabc", x293) + del x293 + x294 += einsum("abci->iabc", v.aabb.vvvo) + x295 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x295 += einsum("ia,jbac->ijbc", t1.aa, x294) + del x294 + t2new_baba += einsum("ijab->jiba", x295) + t2new_abab += einsum("ijab->ijab", x295) + del x295 + x296 += einsum("ia->ia", f.bb.ov) + s1new += einsum("ia,wia->w", x296, u11.bb) + s2new += einsum("ia,wxia->xw", x296, u12.bb) + del x296 + x297 += einsum("ia->ia", f.aa.ov) + s1new += einsum("ia,wia->w", x297, u11.aa) + s2new += einsum("ia,wxia->xw", x297, u12.aa) + del x297 + x298 = np.zeros((nbos, nbos), dtype=types[float]) + x298 += einsum("wia,xia->wx", gc.aa.bov, u11.aa) + x306 = np.zeros((nbos, nbos), dtype=types[float]) + x306 += einsum("wx->wx", x298) + del x298 + x299 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x299 += einsum("wia,iajb->wjb", u11.aa, v.aabb.ovov) + x300 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x300 += einsum("wia->wia", x299) + x315 += einsum("wia->wia", x299) + x400 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) + x400 += einsum("ia,wja->wij", t1.bb, x299) + x402 += einsum("wij->wij", x400) + del x400 + x403 = np.zeros((nbos, nbos, nocc[1], nvir[1]), dtype=types[float]) + x403 += einsum("wia,xji->xwja", u11.bb, x402) + del x402 + x410 += einsum("wxia->wxia", x403) + del x403 + x404 = np.zeros((nbos, nbos, nocc[1], nocc[1]), dtype=types[float]) + x404 += einsum("wia,xja->xwij", u11.bb, x299) + del x299 + x406 += einsum("wxij->wxij", x404) + del x404 + x407 = np.zeros((nbos, nbos, nocc[1], nvir[1]), dtype=types[float]) + x407 += einsum("ia,wxji->wxja", t1.bb, x406) + del x406 + x410 += einsum("wxia->wxia", x407) + del x407 + u12new_bb += einsum("wxia->wxia", x410) * -1 + u12new_bb += einsum("wxia->xwia", x410) * -1 + del x410 + x300 += einsum("wia->wia", gc.bb.bov) + x301 = np.zeros((nbos, nbos), dtype=types[float]) + x301 += einsum("wia,xia->xw", u11.bb, x300) + del x300 + x306 += einsum("wx->wx", x301) + del x301 + x302 = np.zeros((nbos, nbos), dtype=types[float]) + x302 += einsum("wia,xia->wx", g.aa.bov, u11.aa) + x304 = np.zeros((nbos, nbos), dtype=types[float]) + x304 += einsum("wx->wx", x302) + x357 = np.zeros((nbos, nbos), dtype=types[float]) + x357 += einsum("wx->wx", x302) + del x302 + x303 = np.zeros((nbos, nbos), dtype=types[float]) + x303 += einsum("wia,xia->wx", g.bb.bov, u11.bb) + x304 += einsum("wx->wx", x303) + x357 += einsum("wx->wx", x303) + del x303 + x358 = np.zeros((nbos, nbos, nocc[0], nvir[0]), dtype=types[float]) + x358 += einsum("wx,wyia->yxia", x357, u12.aa) + x359 = np.zeros((nbos, nbos, nocc[0], nvir[0]), dtype=types[float]) + x359 -= einsum("wxia->xwia", x358) + del x358 + x398 = np.zeros((nbos, nbos, nocc[1], nvir[1]), dtype=types[float]) + x398 += einsum("wx,wyia->yxia", x357, u12.bb) + del x357 + x399 = np.zeros((nbos, nbos, nocc[1], nvir[1]), dtype=types[float]) + x399 -= einsum("wxia->xwia", x398) + del x398 + x304 += einsum("wx->wx", w) + x305 = np.zeros((nbos, nbos), dtype=types[float]) + x305 += einsum("wx,wy->xy", s2, x304) + x306 += einsum("wx->wx", x305) + del x305 + s2new += einsum("wx->wx", x306) + s2new += einsum("wx->xw", x306) + del x306 + u11new_aa += einsum("wx,wia->xia", x304, u11.aa) + u11new_bb += einsum("wx,wia->xia", x304, u11.bb) + del x304 + x309 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x309 += einsum("wx,xia->wia", s2, g.aa.bov) + x312 += einsum("wia->wia", x309) + x345 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x345 += einsum("wia->wia", x309) + del x309 + x310 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x310 += einsum("wia,jbia->wjb", u11.bb, v.aabb.ovov) + x312 += einsum("wia->wia", x310) + x360 += einsum("wia->wia", x310) + del x310 + x361 = np.zeros((nbos, nvir[0], nvir[0]), dtype=types[float]) + x361 += einsum("ia,wib->wba", t1.aa, x360) + x362 = np.zeros((nbos, nbos, nocc[0], nvir[0]), dtype=types[float]) + x362 += einsum("wia,xab->xwib", u11.aa, x361) + del x361 + x367 += einsum("wxia->xwia", x362) + del x362 + x363 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) + x363 += einsum("ia,wja->wji", t1.aa, x360) + del x360 + x364 = np.zeros((nbos, nbos, nocc[0], nvir[0]), dtype=types[float]) + x364 += einsum("wia,xij->xwja", u11.aa, x363) + del x363 + x367 += einsum("wxia->xwia", x364) + del x364 + u12new_aa += einsum("wxia->wxia", x367) * -1 + u12new_aa += einsum("wxia->xwia", x367) * -1 + del x367 + x312 += einsum("wia->wia", gc.aa.bov) + x322 += einsum("ia,wja->wji", t1.aa, x312) + u11new_aa += einsum("wia,ijab->wjb", x312, x10) * -1 + u11new_bb += einsum("wia,ijab->wjb", x312, t2.abab) + del x312 + x313 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x313 += einsum("wx,xia->wia", s2, g.bb.bov) + x315 += einsum("wia->wia", x313) + x381 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x381 += einsum("wia->wia", x313) + del x313 + x315 += einsum("wia->wia", gc.bb.bov) + x333 += einsum("ia,wja->wji", t1.bb, x315) + u11new_aa += einsum("wia,jiba->wjb", x315, t2.abab) + u11new_bb += einsum("wia,ijab->wjb", x315, x164) * -1 + del x315 + del x164 + x317 += einsum("ab->ab", f.aa.vv) + u11new_aa += einsum("ab,wib->wia", x317, u11.aa) + del x317 + x318 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) + x318 += einsum("wx,xij->wij", s2, g.aa.boo) + x322 += einsum("wij->wij", x318) + x347 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) + x347 += einsum("wij->wij", x318) + del x318 + x319 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) + x319 += einsum("wia,xwja->xij", g.aa.bov, u12.aa) + x322 += einsum("wij->wij", x319) + x351 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) + x351 += einsum("wij->wij", x319) + del x319 + x320 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) + x320 += einsum("wia,jkia->wjk", u11.bb, v.aabb.ooov) + x322 += einsum("wij->wij", x320) + x351 += einsum("wij->wij", x320) + del x320 + x321 += einsum("ia->ia", f.aa.ov) + x322 += einsum("ia,wja->wij", x321, u11.aa) + del x321 + x322 += einsum("wij->wij", gc.aa.boo) + u11new_aa += einsum("ia,wij->wja", t1.aa, x322) * -1 + del x322 + x323 = np.zeros((nbos, nvir[0], nvir[0]), dtype=types[float]) + x323 += einsum("wx,xab->wab", s2, g.aa.bvv) + x326 = np.zeros((nbos, nvir[0], nvir[0]), dtype=types[float]) + x326 += einsum("wab->wab", x323) + x353 = np.zeros((nbos, nvir[0], nvir[0]), dtype=types[float]) + x353 += einsum("wab->wab", x323) + del x323 + x324 = np.zeros((nbos, nvir[0], nvir[0]), dtype=types[float]) + x324 += einsum("wia,iabc->wbc", u11.bb, v.bbaa.ovvv) + x326 += einsum("wab->wab", x324) + x341 -= einsum("wab->wba", x324) + del x324 + x325 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x325 += einsum("iabc->ibac", v.aaaa.ovvv) + x325 -= einsum("iabc->ibca", v.aaaa.ovvv) + x326 -= einsum("wia,ibca->wbc", u11.aa, x325) + del x325 + x326 += einsum("wab->wab", gc.aa.bvv) + u11new_aa += einsum("ia,wba->wib", t1.aa, x326) + del x326 + x328 += einsum("ab->ab", f.bb.vv) + u11new_bb += einsum("ab,wib->wia", x328, u11.bb) + del x328 + x329 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) + x329 += einsum("wx,xij->wij", s2, g.bb.boo) + x333 += einsum("wij->wij", x329) + x383 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) + x383 += einsum("wij->wij", x329) + del x329 + x330 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) + x330 += einsum("wia,xwja->xij", g.bb.bov, u12.bb) + x333 += einsum("wij->wij", x330) + x394 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) + x394 += einsum("wij->wij", x330) + del x330 + x331 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) + x331 += einsum("wia,iajk->wjk", u11.aa, v.aabb.ovoo) + x333 += einsum("wij->wij", x331) + x383 += einsum("wij->wij", x331) + del x331 + x332 += einsum("ia->ia", f.bb.ov) + x333 += einsum("ia,wja->wij", x332, u11.bb) + del x332 + x333 += einsum("wij->wij", gc.bb.boo) + u11new_bb += einsum("ia,wij->wja", t1.bb, x333) * -1 + del x333 + x334 = np.zeros((nbos, nvir[1], nvir[1]), dtype=types[float]) + x334 += einsum("wx,xab->wab", s2, g.bb.bvv) + x337 = np.zeros((nbos, nvir[1], nvir[1]), dtype=types[float]) + x337 += einsum("wab->wab", x334) + x385 = np.zeros((nbos, nvir[1], nvir[1]), dtype=types[float]) + x385 += einsum("wab->wab", x334) + del x334 + x335 = np.zeros((nbos, nvir[1], nvir[1]), dtype=types[float]) + x335 += einsum("wia,iabc->wbc", u11.aa, v.aabb.ovvv) + x337 += einsum("wab->wab", x335) + x385 += einsum("wab->wab", x335) + del x335 + x336 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x336 -= einsum("iabc->ibac", v.bbbb.ovvv) + x336 += einsum("iabc->ibca", v.bbbb.ovvv) + x337 -= einsum("wia,ibac->wbc", u11.bb, x336) + del x336 + x337 += einsum("wab->wab", gc.bb.bvv) + u11new_bb += einsum("ia,wba->wib", t1.bb, x337) + del x337 + x338 = np.zeros((nbos, nbos, nocc[0], nvir[0]), dtype=types[float]) + x338 += einsum("wx,ywia->yxia", w, u12.aa) + x359 -= einsum("wxia->wxia", x338) + del x338 + x339 = np.zeros((nbos, nvir[0], nvir[0]), dtype=types[float]) + x339 += einsum("wia,xwib->xab", g.aa.bov, u12.aa) + x341 += einsum("wab->wab", x339) + del x339 + x342 = np.zeros((nbos, nbos, nocc[0], nvir[0]), dtype=types[float]) + x342 += einsum("wia,xab->xwib", u11.aa, x341) + del x341 + x359 += einsum("wxia->xwia", x342) + del x342 + x343 += einsum("ia->ia", f.aa.ov) + x344 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) + x344 += einsum("ia,wja->wij", x343, u11.aa) + del x343 + x347 += einsum("wij->wij", x344) + del x344 + x345 += einsum("wia->wia", gc.aa.bov) + x346 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) + x346 += einsum("ia,wja->wji", t1.aa, x345) + x347 += einsum("wij->wij", x346) + del x346 + x355 = np.zeros((nbos, nbos, nocc[0], nocc[0]), dtype=types[float]) + x355 += einsum("wia,xja->xwji", u11.aa, x345) + del x345 + x356 = np.zeros((nbos, nbos, nocc[0], nvir[0]), dtype=types[float]) + x356 += einsum("ia,wxij->wxja", t1.aa, x355) + del x355 + x359 += einsum("wxia->wxia", x356) + del x356 + x347 += einsum("wij->wij", gc.aa.boo) + x348 = np.zeros((nbos, nbos, nocc[0], nvir[0]), dtype=types[float]) + x348 += einsum("wia,xij->xwja", u11.aa, x347) + del x347 + x359 += einsum("wxia->wxia", x348) + del x348 + x349 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x349 += einsum("ijka->ikja", v.aaaa.ooov) + x349 -= einsum("ijka->kija", v.aaaa.ooov) + x350 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) + x350 += einsum("wia,ijka->wjk", u11.aa, x349) + del x349 + x351 -= einsum("wij->wij", x350) + del x350 + x352 = np.zeros((nbos, nbos, nocc[0], nvir[0]), dtype=types[float]) + x352 += einsum("wia,xij->xwja", u11.aa, x351) + del x351 + x359 += einsum("wxia->xwia", x352) + del x352 + x353 += einsum("wab->wab", gc.aa.bvv) + x354 = np.zeros((nbos, nbos, nocc[0], nvir[0]), dtype=types[float]) + x354 += einsum("wia,xba->xwib", u11.aa, x353) + del x353 + x359 -= einsum("wxia->wxia", x354) + del x354 + u12new_aa -= einsum("wxia->wxia", x359) + u12new_aa -= einsum("wxia->xwia", x359) + del x359 + x368 = np.zeros((nbos, nbos, nocc[0], nvir[0]), dtype=types[float]) + x368 += einsum("wxia,jbia->wxjb", u12.bb, v.aabb.ovov) + x370 += einsum("wxia->xwia", x368) + del x368 + u12new_aa += einsum("ijab,wxia->xwjb", x10, x370) * -1 + del x10 + u12new_bb += einsum("ijab,wxia->xwjb", t2.abab, x370) + del x370 + x371 = np.zeros((nbos, nbos, nocc[1], nvir[1]), dtype=types[float]) + x371 += einsum("wxia,iajb->wxjb", u12.aa, v.aabb.ovov) + x373 += einsum("wxia->xwia", x371) + del x371 + u12new_aa += einsum("ijab,wxjb->xwia", t2.abab, x373) + u12new_bb += einsum("wxia,ijba->xwjb", x373, x41) + del x41 + del x373 + x375 = np.zeros((nbos, nbos, nbos), dtype=types[float]) + x375 += einsum("wia,xyia->wxy", g.aa.bov, u12.aa) + x377 = np.zeros((nbos, nbos, nbos), dtype=types[float]) + x377 += einsum("wxy->wyx", x375) + del x375 + x376 = np.zeros((nbos, nbos, nbos), dtype=types[float]) + x376 += einsum("wia,xyia->wxy", g.bb.bov, u12.bb) + x377 += einsum("wxy->wyx", x376) + del x376 + u12new_aa += einsum("wia,wxy->yxia", u11.aa, x377) + u12new_bb += einsum("wia,wxy->yxia", u11.bb, x377) + del x377 + x378 = np.zeros((nbos, nbos, nocc[1], nvir[1]), dtype=types[float]) + x378 += einsum("wx,ywia->yxia", w, u12.bb) + x399 -= einsum("wxia->wxia", x378) + del x378 + x379 += einsum("ia->ia", f.bb.ov) + x380 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) + x380 += einsum("ia,wja->wij", x379, u11.bb) + del x379 + x383 += einsum("wij->wij", x380) + del x380 + x381 += einsum("wia->wia", gc.bb.bov) + x382 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) + x382 += einsum("ia,wja->wji", t1.bb, x381) + x383 += einsum("wij->wij", x382) + del x382 + x396 = np.zeros((nbos, nbos, nocc[1], nocc[1]), dtype=types[float]) + x396 += einsum("wia,xja->xwji", u11.bb, x381) + del x381 + x397 = np.zeros((nbos, nbos, nocc[1], nvir[1]), dtype=types[float]) + x397 += einsum("ia,wxij->wxja", t1.bb, x396) + del x396 + x399 += einsum("wxia->wxia", x397) + del x397 + x383 += einsum("wij->wij", gc.bb.boo) + x384 = np.zeros((nbos, nbos, nocc[1], nvir[1]), dtype=types[float]) + x384 += einsum("wia,xij->xwja", u11.bb, x383) + del x383 + x399 += einsum("wxia->wxia", x384) + del x384 + x385 += einsum("wab->wab", gc.bb.bvv) + x386 = np.zeros((nbos, nbos, nocc[1], nvir[1]), dtype=types[float]) + x386 += einsum("wia,xba->xwib", u11.bb, x385) + del x385 + x399 -= einsum("wxia->wxia", x386) + del x386 + x387 = np.zeros((nbos, nvir[1], nvir[1]), dtype=types[float]) + x387 += einsum("wia,xwib->xab", g.bb.bov, u12.bb) + x390 = np.zeros((nbos, nvir[1], nvir[1]), dtype=types[float]) + x390 += einsum("wab->wab", x387) + del x387 + x388 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x388 += einsum("iabc->ibac", v.bbbb.ovvv) + x388 -= einsum("iabc->ibca", v.bbbb.ovvv) + x389 = np.zeros((nbos, nvir[1], nvir[1]), dtype=types[float]) + x389 += einsum("wia,ibac->wbc", u11.bb, x388) + x390 -= einsum("wab->wba", x389) + del x389 + x391 = np.zeros((nbos, nbos, nocc[1], nvir[1]), dtype=types[float]) + x391 += einsum("wia,xab->xwib", u11.bb, x390) + del x390 + x399 += einsum("wxia->xwia", x391) + del x391 + x411 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x411 -= einsum("ia,jbac->jibc", t1.bb, x388) + del x388 + x392 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x392 += einsum("ijka->ikja", v.bbbb.ooov) + x392 -= einsum("ijka->kija", v.bbbb.ooov) + x393 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) + x393 += einsum("wia,ijka->wjk", u11.bb, x392) + del x392 + x394 -= einsum("wij->wij", x393) + del x393 + x395 = np.zeros((nbos, nbos, nocc[1], nvir[1]), dtype=types[float]) + x395 += einsum("wia,xij->xwja", u11.bb, x394) + del x394 + x399 += einsum("wxia->xwia", x395) + del x395 + u12new_bb -= einsum("wxia->wxia", x399) + u12new_bb -= einsum("wxia->xwia", x399) + del x399 + x411 += einsum("iabj->ijba", v.bbbb.ovvo) + x411 -= einsum("ijab->ijab", v.bbbb.oovv) + u12new_bb += einsum("wxia,ijba->xwjb", u12.bb, x411) + del x411 + x412 += einsum("iabj->ijab", v.aabb.ovvo) + u12new_bb += einsum("wxia,ijab->xwjb", u12.aa, x412) + del x412 + t1new_aa += einsum("w,wai->ia", s1, g.aa.bvo) + t1new_aa += einsum("ijab,jbca->ic", t2.abab, v.bbaa.ovvv) + t1new_aa += einsum("wab,wib->ia", g.aa.bvv, u11.aa) + t1new_aa += einsum("ai->ia", f.aa.vo) + t1new_aa += einsum("ia,iabj->jb", t1.bb, v.bbaa.ovvo) + t1new_bb += einsum("w,wai->ia", s1, g.bb.bvo) + t1new_bb += einsum("wab,wib->ia", g.bb.bvv, u11.bb) + t1new_bb += einsum("ia,iabj->jb", t1.aa, v.aabb.ovvo) + t1new_bb += einsum("ijab,iacb->jc", t2.abab, v.aabb.ovvv) + t1new_bb += einsum("ai->ia", f.bb.vo) + t2new_aaaa -= einsum("aibj->jiab", v.aaaa.vovo) + t2new_aaaa += einsum("aibj->jiba", v.aaaa.vovo) + t2new_bbbb -= einsum("aibj->jiab", v.bbbb.vovo) + t2new_bbbb += einsum("aibj->jiba", v.bbbb.vovo) + t2new_baba += einsum("aibj->jiba", v.aabb.vovo) + t2new_abab += einsum("aibj->ijab", v.aabb.vovo) + s1new += einsum("wia,xwia->x", g.aa.bov, u12.aa) + s1new += einsum("w,wx->x", s1, w) + s1new += einsum("ia,wia->w", t1.aa, gc.aa.bov) + s1new += einsum("w->w", G) + s1new += einsum("ia,wia->w", t1.bb, gc.bb.bov) + s1new += einsum("wia,xwia->x", g.bb.bov, u12.bb) + u11new_aa += einsum("wx,xai->wia", s2, g.aa.bvo) + u11new_aa += einsum("wab,xwib->xia", g.aa.bvv, u12.aa) + u11new_aa += einsum("wai->wia", gc.aa.bvo) + u11new_aa += einsum("wia,iabj->wjb", u11.bb, v.bbaa.ovvo) + u11new_bb += einsum("wx,xai->wia", s2, g.bb.bvo) + u11new_bb += einsum("wab,xwib->xia", g.bb.bvv, u12.bb) + u11new_bb += einsum("wia,iabj->wjb", u11.aa, v.aabb.ovvo) + u11new_bb += einsum("wai->wia", gc.bb.bvo) + + t1new.aa = t1new_aa + t1new.bb = t1new_bb + t2new.abab = t2new_abab + t2new.baba = t2new_baba + t2new.aaaa = t2new_aaaa + t2new.bbbb = t2new_bbbb + u11new.aa = u11new_aa + u11new.bb = u11new_bb + u12new.aa = u12new_aa + u12new.bb = u12new_bb + + return {"t1new": t1new, "t2new": t2new, "s1new": s1new, "s2new": s2new, "u11new": u11new, "u12new": u12new} + +def update_lams(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, s2=None, u11=None, u12=None, l1=None, l2=None, ls1=None, ls2=None, lu11=None, lu12=None, **kwargs): + l1new = Namespace() + l2new = Namespace() + lu11new = Namespace() + lu12new = Namespace() + + # Get boson coupling creation array: + gc = Namespace( + aa = Namespace( + boo=g.aa.boo.transpose(0, 2, 1), + bov=g.aa.bvo.transpose(0, 2, 1), + bvo=g.aa.bov.transpose(0, 2, 1), + bvv=g.aa.bvv.transpose(0, 2, 1), + ), + bb = Namespace( + boo=g.bb.boo.transpose(0, 2, 1), + bov=g.bb.bvo.transpose(0, 2, 1), + bvo=g.bb.bov.transpose(0, 2, 1), + bvv=g.bb.bvv.transpose(0, 2, 1), + ), + ) + + # L1, L2, LS1, LS2, LU11 and LU12 amplitudes + x0 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) + x0 += einsum("abij,klab->ikjl", l2.abab, t2.abab) + x61 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) + x61 += einsum("ijkl->ijkl", x0) + x531 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) + x531 += einsum("ijkl->ijkl", x0) + l1new_aa = np.zeros((nvir[0], nocc[0]), dtype=types[float]) + l1new_aa += einsum("iajk,likj->al", v.aabb.ovoo, x0) + l1new_bb = np.zeros((nvir[1], nocc[1]), dtype=types[float]) + l1new_bb += einsum("ijka,jilk->al", v.aabb.ooov, x0) + del x0 + x1 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x1 += einsum("ia,bajk->jkib", t1.bb, l2.abab) + x2 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) + x2 += einsum("ia,jkla->jikl", t1.aa, x1) + x61 += einsum("ijkl->ijkl", x2) + x62 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x62 += einsum("ia,jkil->jkla", t1.bb, x61) + x301 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x301 += einsum("ia,ijkl->jkla", t1.aa, x61) + del x61 + x531 += einsum("ijkl->ijkl", x2) + x532 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x532 += einsum("iajb,kilj->klab", v.aabb.ovov, x531) + del x531 + l2new_baba = np.zeros((nvir[1], nvir[0], nocc[1], nocc[0]), dtype=types[float]) + l2new_baba += einsum("ijab->baji", x532) + l2new_abab = np.zeros((nvir[0], nvir[1], nocc[0], nocc[1]), dtype=types[float]) + l2new_abab += einsum("ijab->abij", x532) + del x532 + l1new_aa += einsum("iajk,likj->al", v.aabb.ovoo, x2) + l1new_bb += einsum("ijka,jilk->al", v.aabb.ooov, x2) + del x2 + x53 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x53 += einsum("ia,jikb->jkba", t1.bb, x1) + x62 += einsum("ijab,kjla->kilb", t2.abab, x1) + x192 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x192 += einsum("ijab,ijka->kb", t2.abab, x1) + x207 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x207 += einsum("ia->ia", x192) + del x192 + x299 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x299 += einsum("ijab,ikla->kljb", t2.abab, x1) + x353 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x353 += einsum("iajk,lkjb->liba", v.aabb.ovoo, x1) + x390 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x390 -= einsum("ijab->ijab", x353) + del x353 + x503 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x503 += einsum("iabc,jkib->jkca", v.bbaa.ovvv, x1) + l2new_baba -= einsum("ijab->baji", x503) + l2new_abab -= einsum("ijab->abij", x503) + del x503 + l1new_aa -= einsum("ijab,kjia->bk", v.bbaa.oovv, x1) + x3 = np.zeros((nocc[0], nocc[0], nvir[1], nvir[1]), dtype=types[float]) + x3 += einsum("abij,kjac->ikbc", l2.abab, t2.abab) + l1new_aa += einsum("iabc,jibc->aj", v.aabb.ovvv, x3) * -1 + del x3 + x4 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x4 += einsum("w,wia->ia", s1, g.aa.bov) + x5 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x5 += einsum("ia->ia", x4) + x41 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x41 += einsum("ia->ia", x4) + x372 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x372 += einsum("ia->ia", x4) + x564 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x564 += einsum("ia->ia", x4) + del x4 + x5 += einsum("ia->ia", f.aa.ov) + x6 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x6 += einsum("ia,jkab->jkib", x5, t2.aaaa) + del x5 + x7 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x7 += einsum("ijka->kjia", x6) + del x6 + x7 += einsum("ijak->ijka", v.aaaa.oovo) * -1 + x32 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x32 += einsum("ijka->kija", x7) + x32 += einsum("ijka->jika", x7) * -1 + del x7 + x8 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x8 += einsum("ijab,kbca->jikc", t2.aaaa, v.aaaa.ovvv) + x21 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x21 += einsum("ijka->ijka", x8) * -1 + del x8 + x9 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x9 += einsum("ia,jbca->ijcb", t1.aa, v.aaaa.ovvv) + x10 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x10 += einsum("ia,jkba->ijkb", t1.aa, x9) + del x9 + x21 += einsum("ijka->ijka", x10) * -1 + del x10 + x11 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x11 += einsum("ia,jbia->jb", t1.bb, v.aabb.ovov) + x14 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x14 += einsum("ia->ia", x11) + x41 += einsum("ia->ia", x11) + x389 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x389 += einsum("ia->ia", x11) + x564 += einsum("ia->ia", x11) + del x11 + x12 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x12 += einsum("iajb->jiab", v.aaaa.ovov) + x12 += einsum("iajb->jiba", v.aaaa.ovov) * -1 + x13 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x13 += einsum("ia,ijab->jb", t1.aa, x12) + x14 += einsum("ia->ia", x13) * -1 + x15 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x15 += einsum("ia,jkab->jkib", x14, t2.aaaa) + x21 += einsum("ijka->jika", x15) + del x15 + x404 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x404 += einsum("ia,ja->ij", t1.aa, x14) + x405 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x405 += einsum("ij->ij", x404) + del x404 + x41 += einsum("ia->ia", x13) * -1 + del x13 + x75 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x75 += einsum("wia,ijab->wjb", u11.aa, x12) + x76 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x76 += einsum("wia->wia", x75) * -1 + x220 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x220 += einsum("wia->wia", x75) * -1 + x229 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x229 += einsum("wia->wia", x75) * -1 + del x75 + x399 = np.zeros((nbos, nbos, nocc[0], nvir[0]), dtype=types[float]) + x399 += einsum("wxia,ijab->wxjb", u12.aa, x12) + x400 = np.zeros((nbos, nbos, nocc[0], nvir[0]), dtype=types[float]) + x400 += einsum("wxia->xwia", x399) * -1 + del x399 + x509 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x509 += einsum("ijab,ikac->kjcb", t2.abab, x12) + x511 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x511 += einsum("ijab->ijab", x509) * -1 + del x509 + x16 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x16 += einsum("ijab,kalb->ijkl", t2.aaaa, v.aaaa.ovov) + x19 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x19 += einsum("ijkl->jilk", x16) + x418 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x418 += einsum("ijkl->jilk", x16) + del x16 + x17 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x17 += einsum("ia,jbka->ijkb", t1.aa, v.aaaa.ovov) + x18 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x18 += einsum("ia,jkla->ijkl", t1.aa, x17) + x19 += einsum("ijkl->ijkl", x18) + x20 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x20 += einsum("ia,jkil->jkla", t1.aa, x19) + del x19 + x21 += einsum("ijka->jika", x20) + del x20 + x32 += einsum("ijka->jkia", x21) + x32 += einsum("ijka->ikja", x21) * -1 + del x21 + x418 += einsum("ijkl->ijkl", x18) + del x18 + x419 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x419 += einsum("abij,ijkl->klab", l2.aaaa, x418) + del x418 + x422 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x422 += einsum("ijab->jiba", x419) + del x419 + x22 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x22 += einsum("ijka->ikja", x17) * -1 + x22 += einsum("ijka->ijka", x17) + x37 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x37 += einsum("ijka->jkia", x17) + x37 += einsum("ijka->kjia", x17) * -1 + x86 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x86 += einsum("ijka->jkia", x17) * -1 + x86 += einsum("ijka->kjia", x17) + x386 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x386 += einsum("ijka->ijka", x17) + x395 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x395 += einsum("ijka->ikja", x17) + x395 += einsum("ijka->ijka", x17) * -1 + x535 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x535 += einsum("ijka->ikja", x17) * -1 + x535 += einsum("ijka->ijka", x17) + del x17 + x22 += einsum("ijka->jkia", v.aaaa.ooov) + x22 += einsum("ijka->jika", v.aaaa.ooov) * -1 + x23 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x23 += einsum("ijab->jiab", t2.aaaa) * -1 + x23 += einsum("ijab->jiba", t2.aaaa) + x24 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x24 += einsum("ijka,klba->ijlb", x22, x23) + del x22 + x32 += einsum("ijka->ijka", x24) + x51 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x51 += einsum("ijka->ijka", x24) + del x24 + x85 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x85 += einsum("iabc,ijca->jb", v.aaaa.ovvv, x23) + x121 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x121 += einsum("ia->ia", x85) * -1 + del x85 + x105 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x105 += einsum("iajb,ikba->jk", v.aaaa.ovov, x23) + x109 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x109 += einsum("ij->ij", x105) * -1 + x405 += einsum("ij->ji", x105) * -1 + del x105 + x166 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x166 += einsum("ai,ijab->jb", l1.aa, x23) + x178 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x178 += einsum("ia->ia", x166) * -1 + del x166 + x175 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x175 += einsum("abij,ikba->jk", l2.aaaa, x23) + x176 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x176 += einsum("ij->ij", x175) * -1 + x411 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x411 += einsum("ij->ij", x175) * -1 + del x175 + x184 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x184 += einsum("abij,ijbc->ac", l2.aaaa, x23) + x185 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x185 += einsum("ab->ab", x184) * -1 + x402 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x402 += einsum("ab->ab", x184) * -1 + x548 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x548 += einsum("ab->ab", x184) * -1 + del x184 + x214 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x214 += einsum("abij,ikba->jk", l2.aaaa, x23) * 2 + x215 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x215 += einsum("ij->ij", x214) * -1 + del x214 + x297 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x297 += einsum("abij,ikac->kjcb", l2.abab, x23) * -2 + x301 += einsum("ijka,ilab->ljkb", x1, x23) * -1 + x324 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x324 += einsum("abij,ijbc->ac", l2.aaaa, x23) * 2 + x325 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x325 += einsum("ab->ab", x324) * -1 + x567 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x567 += einsum("ab->ab", x324) * -1 + del x324 + x408 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x408 += einsum("iajb,ijbc->ac", v.aaaa.ovov, x23) + x409 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x409 += einsum("ab->ba", x408) * -1 + del x408 + x25 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x25 += einsum("ia,jakb->ijkb", t1.aa, v.aabb.ovov) + x26 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x26 += einsum("ijka->jika", x25) + x559 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x559 += einsum("ijka->jika", x25) + x26 += einsum("ijka->ijka", v.aabb.ooov) + x27 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x27 += einsum("ijab,kljb->ikla", t2.abab, x26) + x32 += einsum("ijka->kjia", x27) + x51 += einsum("ijka->kjia", x27) + del x27 + x77 = np.zeros((nbos, nbos, nocc[0], nocc[0]), dtype=types[float]) + x77 += einsum("wxia,jkia->xwjk", u12.bb, x26) + x88 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x88 += einsum("ijab,ikjb->ka", t2.abab, x26) + x121 += einsum("ia->ia", x88) * -1 + del x88 + x293 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x293 += einsum("ijab,iklb->klja", t2.abab, x26) * -1 + x534 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x534 += einsum("ijka,likb->ljab", x1, x26) + l2new_baba += einsum("ijab->baji", x534) + l2new_abab += einsum("ijab->abij", x534) + del x534 + x28 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x28 += einsum("iabj->ijba", v.aaaa.ovvo) + x28 += einsum("ijab->ijab", v.aaaa.oovv) * -1 + x29 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x29 += einsum("ia,jkba->ijkb", t1.aa, x28) + x32 += einsum("ijka->ijka", x29) + x51 += einsum("ijka->ijka", x29) + del x29 + x97 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x97 += einsum("ia,ijba->jb", t1.aa, x28) + x121 += einsum("ia->ia", x97) + del x97 + x575 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x575 += einsum("wia,ijba->wjb", u11.aa, x28) * -1 + x30 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x30 += einsum("ia,jkla->ijlk", t1.aa, v.aaaa.ooov) + x31 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x31 += einsum("ijkl->jkil", x30) + x31 += einsum("ijkl->kjil", x30) * -1 + x50 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x50 += einsum("ijkl->ikjl", x30) * -1 + x50 += einsum("ijkl->ijkl", x30) + x51 += einsum("ia,jikl->jkla", t1.aa, x50) * -1 + del x50 + l1new_aa += einsum("abij,ikjb->ak", l2.aaaa, x51) * -1 + del x51 + x351 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x351 += einsum("abij,jkli->klba", l2.aaaa, x30) + del x30 + x390 -= einsum("ijab->ijab", x351) + del x351 + x31 += einsum("ijkl->kijl", v.aaaa.oooo) + x31 += einsum("ijkl->kilj", v.aaaa.oooo) * -1 + x32 += einsum("ia,ijkl->kjla", t1.aa, x31) * -1 + del x31 + l1new_aa += einsum("abij,ikja->bk", l2.aaaa, x32) + del x32 + x33 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x33 += einsum("abij,kjcb->ikac", l2.abab, t2.abab) + x35 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x35 += einsum("ijab->ijab", x33) + x34 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x34 += einsum("abij->jiab", l2.aaaa) * -1 + x34 += einsum("abij->jiba", l2.aaaa) + x35 += einsum("ijab,ikac->kjcb", x23, x34) + x53 += einsum("ijab,ikac->kjcb", t2.abab, x34) * -1 + x35 += einsum("wxai,wxjb->ijab", lu12.aa, u12.aa) * 0.5 + x36 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x36 += einsum("iabc->ibac", v.aaaa.ovvv) + x36 += einsum("iabc->ibca", v.aaaa.ovvv) * -1 + x512 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x512 += einsum("ia,jbac->ijbc", t1.aa, x36) + x513 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x513 += einsum("ijab->jiab", x512) * -1 + del x512 + l1new_aa += einsum("ijab,jacb->ci", x35, x36) * -1 + del x35 + x37 += einsum("ijka->ikja", v.aaaa.ooov) * -1 + x37 += einsum("ijka->kija", v.aaaa.ooov) + x49 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x49 += einsum("ijab,kila->kljb", t2.abab, x37) * -1 + x77 += einsum("wxia,jika->xwjk", u12.aa, x37) * -1 + del x37 + x38 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x38 += einsum("ijab->jiab", t2.bbbb) * -1 + x38 += einsum("ijab->jiba", t2.bbbb) + x49 += einsum("ijka,klba->ijlb", x26, x38) * -1 + x204 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x204 += einsum("abij,ikba->jk", l2.bbbb, x38) + x205 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x205 += einsum("ij->ij", x204) * -1 + x488 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x488 += einsum("ij->ij", x204) * -1 + x576 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x576 += einsum("ij->ij", x204) * -1 + del x204 + x212 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x212 += einsum("abij,ijbc->ac", l2.bbbb, x38) + x213 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x213 += einsum("ab->ab", x212) * -1 + x478 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x478 += einsum("ab->ab", x212) * -1 + x547 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x547 += einsum("ab->ab", x212) * -1 + del x212 + x224 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x224 += einsum("abij,ikba->jk", l2.bbbb, x38) * 2 + x225 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x225 += einsum("ij->ij", x224) * -1 + del x224 + x510 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x510 += einsum("iajb,jkcb->ikac", v.aabb.ovov, x38) + x511 += einsum("ijab->ijab", x510) * -1 + del x510 + x566 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x566 += einsum("abij,ijbc->ac", l2.bbbb, x38) * -2 + x618 = np.zeros((nbos, nbos, nocc[1], nvir[1]), dtype=types[float]) + x618 += einsum("wxai,ijba->wxjb", lu12.bb, x38) + x619 = np.zeros((nbos, nbos, nocc[1], nvir[1]), dtype=types[float]) + x619 += einsum("wxia->xwia", x618) * -1 + del x618 + x39 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x39 += einsum("ia,jbka->jikb", t1.bb, v.aabb.ovov) + x40 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x40 += einsum("ijka->ikja", x39) + x44 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x44 += einsum("ijka->ikja", x39) + x354 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x354 += einsum("ijka,ljkb->ilab", x1, x39) + x390 -= einsum("ijab->ijab", x354) + del x354 + x561 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x561 += einsum("ijka->ikja", x39) + x40 += einsum("iajk->ijka", v.aabb.ovoo) + x49 += einsum("ijab,kjla->kilb", t2.abab, x40) * -1 + x133 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x133 += einsum("ijab,ijka->kb", t2.abab, x40) + x159 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x159 += einsum("ia->ia", x133) * -1 + del x133 + x281 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x281 += einsum("ijab,ikla->jklb", t2.abab, x40) + x285 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x285 += einsum("ijka->kjia", x281) + x295 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x295 += einsum("ijka->kjia", x281) + del x281 + x317 = np.zeros((nbos, nbos, nocc[1], nocc[1]), dtype=types[float]) + x317 += einsum("wxia,ijka->xwjk", u12.aa, x40) * 0.5 + x527 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) + x527 += einsum("ia,jkla->ijkl", t1.aa, x40) + x528 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) + x528 += einsum("ijkl->jikl", x527) + del x527 + x41 += einsum("ia->ia", f.aa.ov) + x49 += einsum("ia,jkab->ijkb", x41, t2.abab) + x77 += einsum("ia,wxja->xwij", x41, u12.aa) + x108 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x108 += einsum("ia,ja->ij", t1.aa, x41) + x109 += einsum("ij->ji", x108) + del x108 + x135 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x135 += einsum("ia,ijab->jb", x41, t2.abab) + x159 += einsum("ia->ia", x135) + del x135 + x219 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) + x219 += einsum("ia,wja->wji", x41, u11.aa) + x223 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) + x223 += einsum("wij->wji", x219) + del x219 + x233 = np.zeros((nbos, nbos), dtype=types[float]) + x233 += einsum("ia,wxia->xw", x41, u12.aa) * 0.5 + x255 = np.zeros((nbos), dtype=types[float]) + x255 += einsum("ia,wia->w", x41, u11.aa) + x258 = np.zeros((nbos), dtype=types[float]) + x258 += einsum("w->w", x255) + del x255 + x334 = np.zeros((nbos, nbos), dtype=types[float]) + x334 += einsum("ia,wxia->xw", x41, u12.aa) + lu11new_aa = np.zeros((nbos, nvir[0], nocc[0]), dtype=types[float]) + lu11new_aa += einsum("w,ia->wai", ls1, x41) * 2 + lu12new_aa = np.zeros((nbos, nbos, nvir[0], nocc[0]), dtype=types[float]) + lu12new_aa += einsum("wx,ia->xwai", ls2, x41) * 2 + x42 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) + x42 += einsum("ia,jkla->jkil", t1.bb, v.aabb.ooov) + x46 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) + x46 += einsum("ijkl->ijlk", x42) + x528 += einsum("ijkl->ijlk", x42) + del x42 + x43 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) + x43 += einsum("ijab,kalb->ikjl", t2.abab, v.aabb.ovov) + x46 += einsum("ijkl->jilk", x43) + x528 += einsum("ijkl->jilk", x43) + del x43 + x44 += einsum("iajk->ijka", v.aabb.ovoo) + x45 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) + x45 += einsum("ia,jkla->ijkl", t1.aa, x44) + del x44 + x46 += einsum("ijkl->jikl", x45) + del x45 + x46 += einsum("ijkl->ijkl", v.aabb.oooo) + x49 += einsum("ia,jkil->jkla", t1.bb, x46) * -1 + x293 += einsum("ia,ijkl->jkla", t1.aa, x46) * -1 + del x46 + x47 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x47 += einsum("ia,jbca->jibc", t1.bb, v.aabb.ovvv) + x48 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x48 += einsum("ijab->ijab", x47) + x361 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x361 += einsum("ijab->ijab", x47) + x511 += einsum("ijab->ijab", x47) + x620 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x620 += einsum("ijab->ijab", x47) + del x47 + x48 += einsum("iabj->ijab", v.aabb.ovvo) + x49 += einsum("ia,jkab->jikb", t1.aa, x48) + x49 += einsum("ijak->ijka", v.aabb.oovo) + x49 += einsum("ia,jkba->jkib", t1.bb, v.aabb.oovv) + x49 += einsum("ijab,kacb->kijc", t2.abab, v.aabb.ovvv) + l1new_aa += einsum("abij,kijb->ak", l2.abab, x49) * -1 + del x49 + x52 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x52 += einsum("ijab->jiab", t2.bbbb) + x52 += einsum("ijab->jiba", t2.bbbb) * -1 + x53 += einsum("abij,jkcb->ikac", l2.abab, x52) * -1 + x129 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x129 += einsum("iabc,ijac->jb", v.bbbb.ovvv, x52) + x159 += einsum("ia->ia", x129) * -1 + del x129 + x195 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x195 += einsum("ai,ijba->jb", l1.bb, x52) + x207 += einsum("ia->ia", x195) * -1 + del x195 + x53 += einsum("wxai,wxjb->ijab", lu12.aa, u12.bb) * -0.5 + l1new_aa += einsum("iabc,jiba->cj", v.bbaa.ovvv, x53) * -1 + del x53 + x54 = np.zeros((nbos, nbos, nocc[0], nocc[0]), dtype=types[float]) + x54 += einsum("ia,wxaj->wxji", t1.aa, lu12.aa) + x58 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x58 += einsum("wxia,wxjk->jkia", u12.aa, x54) * 0.5 + x62 += einsum("wxia,wxjk->jkia", u12.bb, x54) * -0.5 + x163 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x163 += einsum("wxia,wxij->ja", u12.aa, x54) + x178 += einsum("ia->ia", x163) * 0.5 + del x163 + x585 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x585 += einsum("wia,xwij->xja", u11.aa, x54) + x586 = np.zeros((nbos, nbos), dtype=types[float]) + x586 += einsum("wia,xia->wx", g.aa.bov, x585) + del x585 + x605 = np.zeros((nbos, nbos), dtype=types[float]) + x605 -= einsum("wx->wx", x586) + del x586 + lu12new_aa += einsum("ijka,wxik->xwaj", x535, x54) * -1 + lu12new_aa += einsum("ia,wxji->xwaj", x41, x54) * -1 + lu12new_bb = np.zeros((nbos, nbos, nvir[1], nocc[1]), dtype=types[float]) + lu12new_bb -= einsum("ijka,wxji->xwak", v.aabb.ooov, x54) + lu12new_bb -= einsum("ijka,wxij->xwak", x25, x54) + x55 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x55 += einsum("ia,abjk->jikb", t1.aa, l2.abab) + x58 += einsum("ijab,kljb->klia", t2.abab, x55) + x62 += einsum("ijab,klib->klja", x52, x55) * -1 + x164 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x164 += einsum("ijab,ikjb->ka", t2.abab, x55) + x178 += einsum("ia->ia", x164) + del x164 + x297 += einsum("ia,ijkb->jkab", t1.aa, x55) * 2 + x301 += einsum("ijab,iklb->klja", t2.abab, x55) + x426 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x426 += einsum("ijka,jilb->lkba", v.aabb.ooov, x55) + x467 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x467 -= einsum("ijab->ijab", x426) + del x426 + x429 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x429 += einsum("ijka,ijlb->lkba", x25, x55) + del x25 + x467 -= einsum("ijab->ijab", x429) + del x429 + x500 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x500 += einsum("iabc,jikb->jkac", v.aabb.ovvv, x55) + l2new_baba -= einsum("ijab->baji", x500) + l2new_abab -= einsum("ijab->abij", x500) + del x500 + x533 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x533 += einsum("ijka,likb->ljab", x40, x55) + l2new_baba += einsum("ijab->baji", x533) + l2new_abab += einsum("ijab->abij", x533) + del x533 + x551 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x551 += einsum("ia,jikb->jkab", x41, x55) + l2new_baba += einsum("ijab->baji", x551) * -1 + l2new_abab += einsum("ijab->abij", x551) * -1 + del x551 + l1new_aa += einsum("ijab,kijb->ak", x48, x55) * -1 + del x48 + l1new_bb -= einsum("ijab,jika->bk", v.aabb.oovv, x55) + l2new_baba += einsum("ijka,iklb->balj", x535, x55) * -1 + del x535 + l2new_abab += einsum("ijka,iklb->abjl", x395, x55) + x56 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x56 += einsum("ia,abjk->kjib", t1.aa, l2.aaaa) + x57 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x57 += einsum("ijka->ijka", x56) + x57 += einsum("ijka->jika", x56) * -1 + x58 += einsum("ijab,kilb->klja", x23, x57) + del x57 + x60 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x60 += einsum("ijka->ijka", x56) * -1 + x60 += einsum("ijka->jika", x56) + x62 += einsum("ijab,kila->kljb", t2.abab, x60) * -1 + x63 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x63 += einsum("ia,ijkb->jkba", t1.aa, x60) * -1 + l1new_aa += einsum("iabc,jiab->cj", x36, x63) + del x36 + del x63 + x396 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x396 += einsum("ijka,ilkb->ljba", x395, x60) + del x395 + x414 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x414 += einsum("ijab->ijab", x396) + del x396 + l1new_aa += einsum("ijab,jkia->bk", x28, x60) + del x28 + l2new_baba += einsum("ijka,jlib->abkl", x26, x60) * -1 + del x60 + x68 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x68 += einsum("ia,jkla->kjli", t1.aa, x56) + x69 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x69 += einsum("ijkl->ijkl", x68) + x122 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x122 += einsum("ijkl->ijkl", x68) + x122 += einsum("ijkl->ijlk", x68) * -1 + l1new_aa += einsum("ijka,ljki->al", v.aaaa.ooov, x122) + del x122 + x420 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x420 += einsum("ijkl->ijkl", x68) + del x68 + x352 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x352 += einsum("iabc,jkib->kjac", v.aaaa.ovvv, x56) + x390 -= einsum("ijab->ijab", x352) + del x352 + x363 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x363 -= einsum("ijka->ijka", x56) + x363 += einsum("ijka->jika", x56) + l2new_abab += einsum("ijka,jlib->balk", x26, x363) * -1 + del x26 + x413 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x413 += einsum("ia,jkib->jkba", x14, x56) + del x14 + x414 += einsum("ijab->ijab", x413) * -1 + del x413 + x59 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x59 += einsum("iajb->jiab", v.aaaa.ovov) + x59 -= einsum("iajb->jiba", v.aaaa.ovov) + x243 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x243 += einsum("wia,ijab->wjb", u11.aa, x59) + x244 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x244 -= einsum("wia->wia", x243) + x381 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x381 -= einsum("wia->wia", x243) + x553 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x553 -= einsum("wia->wia", x243) + del x243 + x388 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x388 += einsum("ia,ijab->jb", t1.aa, x59) + x389 -= einsum("ia->ia", x388) + x390 += einsum("ai,jb->ijab", l1.aa, x389) + del x389 + x564 -= einsum("ia->ia", x388) + del x388 + l1new_aa += einsum("ijka,jkab->bi", x58, x59) * -1 + del x58 + del x59 + x62 += einsum("ai,jkab->ijkb", l1.aa, t2.abab) * -1 + l1new_aa += einsum("iajb,kijb->ak", v.aabb.ovov, x62) + del x62 + x64 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x64 += einsum("ia,bacd->icbd", t1.aa, v.aaaa.vvvv) + x65 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x65 += einsum("iabc->iabc", x64) * -1 + del x64 + x65 += einsum("aibc->iabc", v.aaaa.vovv) + x66 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x66 += einsum("iabc->iabc", x65) + x66 += einsum("iabc->ibac", x65) * -1 + del x65 + l1new_aa += einsum("abij,ibac->cj", l2.aaaa, x66) * -1 + del x66 + x67 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x67 += einsum("abij,klab->ijkl", l2.aaaa, t2.aaaa) + x69 += einsum("ijkl->jilk", x67) + x70 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x70 += einsum("ia,ijkl->jkla", t1.aa, x69) + del x69 + x71 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x71 += einsum("ijka->ijka", x70) + x71 += einsum("ijka->ikja", x70) * -1 + del x70 + l1new_aa += einsum("iajb,kjib->ak", v.aaaa.ovov, x71) + del x71 + x123 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x123 += einsum("ijkl->jikl", x67) * -1 + x123 += einsum("ijkl->jilk", x67) + l1new_aa += einsum("ijka,jlki->al", v.aaaa.ooov, x123) * -1 + del x123 + x420 += einsum("ijkl->jilk", x67) + del x67 + x421 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x421 += einsum("iajb,klji->klab", v.aaaa.ovov, x420) + del x420 + x422 += einsum("ijab->jiab", x421) + del x421 + l2new_aaaa = np.zeros((nvir[0], nvir[0], nocc[0], nocc[0]), dtype=types[float]) + l2new_aaaa += einsum("ijab->abij", x422) + l2new_aaaa += einsum("ijab->baij", x422) * -1 + del x422 + x72 = np.zeros((nocc[1], nvir[0], nvir[0], nvir[1]), dtype=types[float]) + x72 += einsum("abci->iabc", v.aabb.vvvo) + x72 += einsum("ia,bcda->ibcd", t1.bb, v.aabb.vvvv) + l1new_aa += einsum("abij,jacb->ci", l2.abab, x72) + del x72 + x73 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x73 += einsum("wx,wia->xia", s2, g.aa.bov) + x76 += einsum("wia->wia", x73) + x553 += einsum("wia->wia", x73) + del x73 + x74 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x74 += einsum("wia,jbia->wjb", u11.bb, v.aabb.ovov) + x76 += einsum("wia->wia", x74) + x220 += einsum("wia->wia", x74) + x244 += einsum("wia->wia", x74) + x381 += einsum("wia->wia", x74) + x382 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x382 += einsum("wai,wjb->ijab", lu11.aa, x381) + del x381 + x390 += einsum("ijab->ijab", x382) + del x382 + x553 += einsum("wia->wia", x74) + del x74 + x76 += einsum("wia->wia", gc.aa.bov) + x77 += einsum("wia,xja->wxji", u11.aa, x76) * 2 + l1new_aa += einsum("wxai,wxji->aj", lu12.aa, x77) * -0.5 + del x77 + x571 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x571 += einsum("wia,ijab->wjb", x76, t2.abab) * -1 + x575 += einsum("wia,ijab->wjb", x76, x23) * -1 + del x76 + del x23 + x78 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x78 += einsum("ai,jkba->ijkb", l1.aa, t2.aaaa) + x79 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x79 += einsum("ijka->ikja", x78) + x79 += einsum("ijka->ijka", x78) * -1 + del x78 + l1new_aa += einsum("iajb,kjia->bk", v.aaaa.ovov, x79) * -1 + del x79 + x80 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x80 += einsum("w,wai->ia", s1, g.aa.bvo) + x121 += einsum("ia->ia", x80) + del x80 + x81 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x81 += einsum("wab,wib->ia", g.aa.bvv, u11.aa) + x121 += einsum("ia->ia", x81) + del x81 + x82 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x82 += einsum("ia,iabj->jb", t1.bb, v.bbaa.ovvo) + x121 += einsum("ia->ia", x82) + del x82 + x83 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x83 += einsum("ijab,jkib->ka", t2.aaaa, v.aaaa.ooov) + x121 += einsum("ia->ia", x83) + del x83 + x84 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x84 += einsum("ijab,jbca->ic", t2.abab, v.bbaa.ovvv) + x121 += einsum("ia->ia", x84) + del x84 + x86 += einsum("ijka->ikja", v.aaaa.ooov) + x87 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x87 += einsum("ijab,ijkb->ka", t2.aaaa, x86) + del x86 + x121 += einsum("ia->ia", x87) * -1 + del x87 + x89 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x89 += einsum("ijab->jiab", t2.aaaa) + x89 += einsum("ijab->jiba", t2.aaaa) * -1 + x90 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x90 += einsum("ia,ijab->jb", x41, x89) + x121 += einsum("ia->ia", x90) * -1 + del x90 + x165 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x165 += einsum("ijka,ijab->kb", x56, x89) + x178 += einsum("ia->ia", x165) * -1 + del x165 + x293 += einsum("ijka,ilab->ljkb", x40, x89) * -1 + x392 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x392 += einsum("ijab,ikac->jkbc", x12, x89) + x393 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x393 += einsum("ijab->jiba", x392) + x513 += einsum("ijab->ijba", x392) + del x392 + x505 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x505 += einsum("iajb,ikac->kjcb", v.aabb.ovov, x89) + x507 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x507 += einsum("ijab->ijab", x505) * -1 + del x505 + x542 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x542 += einsum("iajb,ijbc->ac", v.aaaa.ovov, x89) + x543 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x543 += einsum("ab->ba", x542) * -1 + del x542 + x614 = np.zeros((nbos, nbos, nocc[0], nvir[0]), dtype=types[float]) + x614 += einsum("wxai,ijab->wxjb", lu12.aa, x89) + del x89 + x615 = np.zeros((nbos, nbos, nocc[0], nvir[0]), dtype=types[float]) + x615 += einsum("wxia->xwia", x614) * -1 + del x614 + x91 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x91 += einsum("w,wia->ia", s1, g.bb.bov) + x95 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x95 += einsum("ia->ia", x91) + x266 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x266 += einsum("ia->ia", x91) + x447 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x447 += einsum("ia->ia", x91) + x563 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x563 += einsum("ia->ia", x91) + del x91 + x92 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x92 += einsum("ia,iajb->jb", t1.aa, v.aabb.ovov) + x95 += einsum("ia->ia", x92) + x272 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x272 += einsum("ia->ia", x92) + x466 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x466 += einsum("ia->ia", x92) + x563 += einsum("ia->ia", x92) + del x92 + x93 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x93 += einsum("iajb->jiab", v.bbbb.ovov) * -1 + x93 += einsum("iajb->jiba", v.bbbb.ovov) + x94 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x94 += einsum("ia,ijba->jb", t1.bb, x93) + x95 += einsum("ia->ia", x94) * -1 + x272 += einsum("ia->ia", x94) * -1 + del x94 + x273 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x273 += einsum("ia,jkab->jkib", x272, t2.bbbb) + x278 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x278 += einsum("ijka->jika", x273) + del x273 + x481 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x481 += einsum("ia,ja->ij", t1.bb, x272) + x482 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x482 += einsum("ij->ij", x481) + del x481 + x227 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x227 += einsum("wia,ijba->wjb", u11.bb, x93) * 0.5 + x228 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x228 += einsum("wia->wia", x227) * -1 + del x227 + x315 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x315 += einsum("wia,ijba->wjb", u11.bb, x93) + x316 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x316 += einsum("wia->wia", x315) * -1 + x330 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x330 += einsum("wia->wia", x315) * -1 + del x315 + x475 = np.zeros((nbos, nbos, nocc[1], nvir[1]), dtype=types[float]) + x475 += einsum("wxia,ijba->wxjb", u12.bb, x93) + x476 = np.zeros((nbos, nbos, nocc[1], nvir[1]), dtype=types[float]) + x476 += einsum("wxia->xwia", x475) * -1 + del x475 + x480 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x480 += einsum("ijab,ikba->jk", t2.bbbb, x93) + x482 += einsum("ij->ij", x480) * -1 + del x480 + x485 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x485 += einsum("ijab,ijbc->ac", t2.bbbb, x93) + x486 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x486 += einsum("ab->ab", x485) * -1 + del x485 + x506 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x506 += einsum("ijab,jkcb->ikac", t2.abab, x93) + x507 += einsum("ijab->ijab", x506) * -1 + del x506 + x95 += einsum("ia->ia", f.bb.ov) + x96 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x96 += einsum("ia,jiba->jb", x95, t2.abab) + x121 += einsum("ia->ia", x96) + del x96 + x134 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x134 += einsum("ia,ijba->jb", x95, x38) + x159 += einsum("ia->ia", x134) * -1 + del x134 + x149 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x149 += einsum("ia,ja->ij", t1.bb, x95) + x150 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x150 += einsum("ij->ji", x149) + del x149 + x233 += einsum("ia,wxia->xw", x95, u12.bb) * 0.5 + x256 = np.zeros((nbos), dtype=types[float]) + x256 += einsum("ia,wia->w", x95, u11.bb) + x258 += einsum("w->w", x256) + del x256 + x293 += einsum("ia,jkba->jikb", x95, t2.abab) + x317 += einsum("ia,wxja->xwij", x95, u12.bb) * 0.5 + x329 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) + x329 += einsum("ia,wja->wji", x95, u11.bb) + x333 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) + x333 += einsum("wij->wji", x329) + del x329 + x334 += einsum("ia,wxia->xw", x95, u12.bb) + x552 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x552 += einsum("ia,jkib->jkba", x95, x1) + l2new_baba += einsum("ijab->baji", x552) * -1 + l2new_abab += einsum("ijab->abij", x552) * -1 + del x552 + lu11new_bb = np.zeros((nbos, nvir[1], nocc[1]), dtype=types[float]) + lu11new_bb += einsum("w,ia->wai", ls1, x95) * 2 + lu12new_bb += einsum("wx,ia->xwai", ls2, x95) * 2 + x98 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) + x98 += einsum("ia,wja->wji", t1.aa, g.aa.bov) + x99 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) + x99 += einsum("wij->wij", x98) + x598 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) + x598 += einsum("wij->wij", x98) + del x98 + x99 += einsum("wij->wij", g.aa.boo) + x100 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x100 += einsum("wia,wij->ja", u11.aa, x99) + x121 += einsum("ia->ia", x100) * -1 + del x100 + x222 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) + x222 += einsum("wx,wij->xij", s2, x99) + x223 += einsum("wij->wij", x222) + del x222 + x575 += einsum("wij,wxia->xja", x99, u12.aa) + x101 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x101 += einsum("w,wij->ij", s1, g.aa.boo) + x109 += einsum("ij->ij", x101) + x374 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x374 += einsum("ij->ij", x101) + del x101 + x102 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x102 += einsum("wia,wja->ij", g.aa.bov, u11.aa) + x109 += einsum("ij->ij", x102) + x374 += einsum("ij->ij", x102) + del x102 + x103 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x103 += einsum("ia,jkia->jk", t1.bb, v.aabb.ooov) + x109 += einsum("ij->ij", x103) + x378 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x378 += einsum("ij->ij", x103) + del x103 + x104 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x104 += einsum("ijab,kajb->ik", t2.abab, v.aabb.ovov) + x109 += einsum("ij->ji", x104) + x405 += einsum("ij->ij", x104) + del x104 + x406 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x406 += einsum("ij,abik->kjab", x405, l2.aaaa) + del x405 + x414 += einsum("ijab->ijba", x406) * -1 + del x406 + x106 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x106 += einsum("ijka->ikja", v.aaaa.ooov) * -1 + x106 += einsum("ijka->kija", v.aaaa.ooov) + x107 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x107 += einsum("ia,jika->jk", t1.aa, x106) + x109 += einsum("ij->ij", x107) * -1 + del x107 + x218 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) + x218 += einsum("wia,jika->wjk", u11.aa, x106) + x223 += einsum("wij->wij", x218) * -1 + del x218 + x109 += einsum("ij->ij", f.aa.oo) + x110 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x110 += einsum("ia,ij->ja", t1.aa, x109) + x121 += einsum("ia->ia", x110) * -1 + del x110 + x545 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x545 += einsum("ij,abjk->ikab", x109, l2.abab) + l2new_baba += einsum("ijab->baji", x545) * -1 + l2new_abab += einsum("ijab->abij", x545) * -1 + del x545 + x575 += einsum("ij,wia->wja", x109, u11.aa) + l1new_aa += einsum("ai,ji->aj", l1.aa, x109) * -1 + lu12new_aa += einsum("ij,wxaj->xwai", x109, lu12.aa) * -1 + del x109 + x111 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x111 += einsum("w,wab->ab", s1, g.aa.bvv) + x115 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x115 += einsum("ab->ab", x111) + x367 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x367 += einsum("ab->ab", x111) + x543 += einsum("ab->ab", x111) + del x111 + x112 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x112 += einsum("ia,iabc->bc", t1.bb, v.bbaa.ovvv) + x115 += einsum("ab->ab", x112) + x370 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x370 += einsum("ab->ab", x112) + x543 += einsum("ab->ab", x112) + del x112 + x113 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x113 += einsum("iabc->ibac", v.aaaa.ovvv) * -1 + x113 += einsum("iabc->ibca", v.aaaa.ovvv) + x114 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x114 += einsum("ia,ibac->bc", t1.aa, x113) + x115 += einsum("ab->ab", x114) * -1 + x543 += einsum("ab->ab", x114) * -1 + del x114 + x572 = np.zeros((nbos, nvir[0], nvir[0]), dtype=types[float]) + x572 += einsum("wia,ibac->wbc", u11.aa, x113) * -1 + del x113 + x115 += einsum("ab->ab", f.aa.vv) + x116 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x116 += einsum("ia,ba->ib", t1.aa, x115) + x121 += einsum("ia->ia", x116) + del x116 + l1new_aa += einsum("ai,ab->bi", l1.aa, x115) + del x115 + x117 = np.zeros((nbos), dtype=types[float]) + x117 += einsum("ia,wia->w", t1.aa, g.aa.bov) + x119 = np.zeros((nbos), dtype=types[float]) + x119 += einsum("w->w", x117) + x577 = np.zeros((nbos), dtype=types[float]) + x577 += einsum("w->w", x117) + del x117 + x118 = np.zeros((nbos), dtype=types[float]) + x118 += einsum("ia,wia->w", t1.bb, g.bb.bov) + x119 += einsum("w->w", x118) + x577 += einsum("w->w", x118) + del x118 + x119 += einsum("w->w", G) + x120 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x120 += einsum("w,wia->ia", x119, u11.aa) + x121 += einsum("ia->ia", x120) + del x120 + x158 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x158 += einsum("w,wia->ia", x119, u11.bb) + x159 += einsum("ia->ia", x158) + del x158 + x257 = np.zeros((nbos), dtype=types[float]) + x257 += einsum("w,wx->x", x119, s2) + x258 += einsum("w->w", x257) + del x257 + x571 += einsum("w,wxia->xia", x119, u12.bb) * -1 + x575 += einsum("w,wxia->xia", x119, u12.aa) * -1 + del x119 + x121 += einsum("ai->ia", f.aa.vo) + l1new_aa += einsum("ia,ijab->bj", x121, x34) + l1new_bb += einsum("ia,abij->bj", x121, l2.abab) + ls1new = np.zeros((nbos), dtype=types[float]) + ls1new += einsum("ia,wai->w", x121, lu11.aa) + ls2new = np.zeros((nbos, nbos), dtype=types[float]) + ls2new += einsum("ia,wxai->xw", x121, lu12.aa) + del x121 + x124 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x124 += einsum("w,wai->ia", s1, g.bb.bvo) + x159 += einsum("ia->ia", x124) + del x124 + x125 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x125 += einsum("wab,wib->ia", g.bb.bvv, u11.bb) + x159 += einsum("ia->ia", x125) + del x125 + x126 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x126 += einsum("ia,iabj->jb", t1.aa, v.aabb.ovvo) + x159 += einsum("ia->ia", x126) + del x126 + x127 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x127 += einsum("ijab,iacb->jc", t2.abab, v.aabb.ovvv) + x159 += einsum("ia->ia", x127) + del x127 + x128 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x128 += einsum("ijab,ikja->kb", t2.bbbb, v.bbbb.ooov) + x159 += einsum("ia->ia", x128) + del x128 + x130 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x130 += einsum("ia,jbka->ijkb", t1.bb, v.bbbb.ovov) + x131 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x131 += einsum("ijka->jkia", x130) * -1 + x131 += einsum("ijka->kjia", x130) + x275 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x275 += einsum("ia,jkla->ijkl", t1.bb, x130) + x276 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x276 += einsum("ijkl->ijkl", x275) + x495 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x495 += einsum("ijkl->ijkl", x275) + del x275 + x279 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x279 += einsum("ijka->ikja", x130) + x279 += einsum("ijka->ijka", x130) * -1 + x290 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x290 += einsum("ijka->jkia", x130) + x290 += einsum("ijka->kjia", x130) * -1 + x463 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x463 += einsum("ijka->ijka", x130) + x470 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x470 += einsum("ijka->ikja", x130) * -1 + x470 += einsum("ijka->ijka", x130) + l2new_baba += einsum("ijka,jklb->bali", x1, x470) + x565 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x565 += einsum("ijka->ikja", x130) + x565 += einsum("ijka->ijka", x130) * -1 + del x130 + l2new_abab += einsum("ijka,jklb->abil", x1, x565) * -1 + x131 += einsum("ijka->ikja", v.bbbb.ooov) + x132 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x132 += einsum("ijab,jika->kb", t2.bbbb, x131) + del x131 + x159 += einsum("ia->ia", x132) * -1 + del x132 + x136 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x136 += einsum("iabj->ijba", v.bbbb.ovvo) + x136 += einsum("ijab->ijab", v.bbbb.oovv) * -1 + x137 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x137 += einsum("ia,ijba->jb", t1.bb, x136) + x159 += einsum("ia->ia", x137) + del x137 + x282 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x282 += einsum("ia,jkba->ijkb", t1.bb, x136) + x285 += einsum("ijka->ijka", x282) + x295 += einsum("ijka->ijka", x282) + del x282 + x571 += einsum("wia,ijba->wjb", u11.bb, x136) * -1 + x138 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) + x138 += einsum("ia,wja->wji", t1.bb, g.bb.bov) + x139 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) + x139 += einsum("wij->wij", x138) + x601 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) + x601 += einsum("wij->wij", x138) + x139 += einsum("wij->wij", g.bb.boo) + x140 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x140 += einsum("wia,wij->ja", u11.bb, x139) + x159 += einsum("ia->ia", x140) * -1 + del x140 + x332 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) + x332 += einsum("wx,wij->xij", s2, x139) + x333 += einsum("wij->wij", x332) + del x332 + x571 += einsum("wij,wxia->xja", x139, u12.bb) + x141 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x141 += einsum("w,wij->ij", s1, g.bb.boo) + x150 += einsum("ij->ij", x141) + x449 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x449 += einsum("ij->ij", x141) + del x141 + x142 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x142 += einsum("wia,wja->ij", g.bb.bov, u11.bb) + x150 += einsum("ij->ij", x142) + x449 += einsum("ij->ij", x142) + del x142 + x143 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x143 += einsum("ia,iajk->jk", t1.aa, v.aabb.ovoo) + x150 += einsum("ij->ij", x143) + x453 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x453 += einsum("ij->ij", x143) + del x143 + x144 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x144 += einsum("ijab,iakb->jk", t2.abab, v.aabb.ovov) + x150 += einsum("ij->ji", x144) + x482 += einsum("ij->ij", x144) + del x144 + x483 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x483 += einsum("ij,abik->kjab", x482, l2.bbbb) + del x482 + x491 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x491 += einsum("ijab->ijba", x483) * -1 + del x483 + x145 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x145 += einsum("iajb->jiab", v.bbbb.ovov) + x145 += einsum("iajb->jiba", v.bbbb.ovov) * -1 + x146 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x146 += einsum("ijab,ikab->jk", t2.bbbb, x145) + x150 += einsum("ij->ji", x146) * -1 + del x146 + x516 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x516 += einsum("ijab,ikac->kjcb", x145, x52) + x518 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x518 += einsum("ijab->jiab", x516) + del x516 + x539 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x539 += einsum("ijab,ijbc->ac", t2.bbbb, x145) + x540 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x540 += einsum("ab->ab", x539) * -1 + del x539 + x147 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x147 += einsum("ijka->ikja", v.bbbb.ooov) * -1 + x147 += einsum("ijka->kija", v.bbbb.ooov) + x148 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x148 += einsum("ia,jika->jk", t1.bb, x147) + x150 += einsum("ij->ij", x148) * -1 + del x148 + x328 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) + x328 += einsum("wia,jika->wjk", u11.bb, x147) + x333 += einsum("wij->wij", x328) * -1 + del x328 + x150 += einsum("ij->ij", f.bb.oo) + x151 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x151 += einsum("ia,ij->ja", t1.bb, x150) + x159 += einsum("ia->ia", x151) * -1 + del x151 + x546 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x546 += einsum("ij,abkj->kiab", x150, l2.abab) + l2new_baba += einsum("ijab->baji", x546) * -1 + l2new_abab += einsum("ijab->abij", x546) * -1 + del x546 + x571 += einsum("ij,wia->wja", x150, u11.bb) + l1new_bb += einsum("ai,ji->aj", l1.bb, x150) * -1 + lu12new_bb += einsum("ij,wxaj->xwai", x150, lu12.bb) * -1 + del x150 + x152 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x152 += einsum("w,wab->ab", s1, g.bb.bvv) + x156 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x156 += einsum("ab->ab", x152) + x442 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x442 += einsum("ab->ab", x152) + x540 += einsum("ab->ab", x152) + del x152 + x153 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x153 += einsum("ia,iabc->bc", t1.aa, v.aabb.ovvv) + x156 += einsum("ab->ab", x153) + x445 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x445 += einsum("ab->ab", x153) + x540 += einsum("ab->ab", x153) + del x153 + x154 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x154 += einsum("iabc->ibac", v.bbbb.ovvv) * -1 + x154 += einsum("iabc->ibca", v.bbbb.ovvv) + x155 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x155 += einsum("ia,ibac->bc", t1.bb, x154) + x156 += einsum("ab->ab", x155) * -1 + x540 += einsum("ab->ab", x155) * -1 + del x155 + x568 = np.zeros((nbos, nvir[1], nvir[1]), dtype=types[float]) + x568 += einsum("wia,ibac->wbc", u11.bb, x154) * -1 + x156 += einsum("ab->ab", f.bb.vv) + x157 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x157 += einsum("ia,ba->ib", t1.bb, x156) + x159 += einsum("ia->ia", x157) + del x157 + l1new_bb += einsum("ai,ab->bi", l1.bb, x156) + del x156 + x159 += einsum("ai->ia", f.bb.vo) + l1new_aa += einsum("ia,baji->bj", x159, l2.abab) + ls1new += einsum("ia,wai->w", x159, lu11.bb) + ls2new += einsum("ia,wxai->xw", x159, lu12.bb) + x160 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x160 += einsum("w,wia->ia", ls1, u11.aa) + x178 += einsum("ia->ia", x160) * -1 + del x160 + x161 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x161 += einsum("wx,wxia->ia", ls2, u12.aa) + x178 += einsum("ia->ia", x161) * -0.5 + del x161 + x162 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x162 += einsum("ai,jiba->jb", l1.bb, t2.abab) + x178 += einsum("ia->ia", x162) * -1 + del x162 + x167 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) + x167 += einsum("ia,waj->wji", t1.aa, lu11.aa) + x169 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) + x169 += einsum("wij->wij", x167) + x242 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) + x242 += einsum("wij->wij", x167) + x168 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) + x168 += einsum("wia,wxaj->xji", u11.aa, lu12.aa) + x169 += einsum("wij->wij", x168) + x170 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x170 += einsum("wia,wij->ja", u11.aa, x169) + x178 += einsum("ia->ia", x170) + del x170 + x247 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) + x247 += einsum("wx,wij->xij", s2, x169) + del x169 + x242 += einsum("wij->wij", x168) + x610 = np.zeros((nbos, nbos, nocc[0], nvir[0]), dtype=types[float]) + x610 += einsum("wia,xji->wxja", g.aa.bov, x242) + x612 = np.zeros((nbos, nbos, nocc[0], nvir[0]), dtype=types[float]) + x612 += einsum("wxia->wxia", x610) + del x610 + x171 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x171 += einsum("ai,ja->ij", l1.aa, t1.aa) + x176 += einsum("ij->ij", x171) + x215 += einsum("ij->ij", x171) * 2 + x383 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x383 += einsum("ij->ij", x171) + del x171 + x172 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x172 += einsum("wai,wja->ij", lu11.aa, u11.aa) + x176 += einsum("ij->ij", x172) + x215 += einsum("ij->ij", x172) * 2 + x383 += einsum("ij->ij", x172) + del x172 + x384 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x384 += einsum("ij,jakb->kiab", x383, v.aaaa.ovov) + del x383 + x390 += einsum("ijab->jiba", x384) + del x384 + x173 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x173 += einsum("wxai,wxja->ij", lu12.aa, u12.aa) + x176 += einsum("ij->ij", x173) * 0.5 + x215 += einsum("ij->ij", x173) + x411 += einsum("ij->ij", x173) * 0.5 + del x173 + x174 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x174 += einsum("abij,kjab->ik", l2.abab, t2.abab) + x176 += einsum("ij->ij", x174) + x177 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x177 += einsum("ia,ij->ja", t1.aa, x176) + x178 += einsum("ia->ia", x177) + del x177 + x549 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x549 += einsum("ij,jakb->ikab", x176, v.aabb.ovov) + l2new_baba += einsum("ijab->baji", x549) * -1 + l2new_abab += einsum("ijab->abij", x549) * -1 + del x549 + l1new_bb += einsum("ij,jika->ak", x176, v.aabb.ooov) * -1 + ls1new += einsum("ij,wji->w", x176, g.aa.boo) * -1 + del x176 + x215 += einsum("ij->ij", x174) * 2 + l1new_aa += einsum("ij,kjia->ak", x215, x106) * -0.5 + del x106 + l1new_aa += einsum("ij,ja->ai", x215, x41) * -0.5 + del x41 + del x215 + x411 += einsum("ij->ij", x174) + del x174 + x412 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x412 += einsum("ij,jakb->kiab", x411, v.aaaa.ovov) + del x411 + x414 += einsum("ijab->jiba", x412) + del x412 + x178 += einsum("ia->ia", t1.aa) * -1 + l1new_bb += einsum("ia,iajb->bj", x178, v.aabb.ovov) * -1 + ls1new += einsum("ia,wia->w", x178, g.aa.bov) * -1 + x179 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x179 += einsum("iajb->jiab", v.aaaa.ovov) * -1 + x179 += einsum("iajb->jiba", v.aaaa.ovov) + x397 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x397 += einsum("ijab,kica->kjcb", x179, x33) + del x33 + x414 += einsum("ijab->ijab", x397) + del x397 + l1new_aa += einsum("ia,ijab->bj", x178, x179) * -1 + del x178 + del x179 + x180 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x180 += einsum("ai,ib->ab", l1.aa, t1.aa) + x185 += einsum("ab->ab", x180) + x325 += einsum("ab->ab", x180) * 2 + del x180 + x181 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x181 += einsum("wai,wib->ab", lu11.aa, u11.aa) + x185 += einsum("ab->ab", x181) + x325 += einsum("ab->ab", x181) * 2 + x350 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x350 += einsum("ab,icjb->ijac", x181, v.aaaa.ovov) + x390 += einsum("ijab->ijab", x350) + del x350 + x548 += einsum("ab->ab", x181) + x567 += einsum("ab->ab", x181) * 2 + del x181 + x182 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x182 += einsum("wxai,wxib->ab", lu12.aa, u12.aa) + x185 += einsum("ab->ab", x182) * 0.5 + x325 += einsum("ab->ab", x182) + x402 += einsum("ab->ab", x182) * 0.5 + x548 += einsum("ab->ab", x182) * 0.5 + x567 += einsum("ab->ab", x182) + del x182 + x183 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x183 += einsum("abij,ijcb->ac", l2.abab, t2.abab) + x185 += einsum("ab->ab", x183) + ls1new += einsum("ab,wab->w", x185, g.aa.bvv) + x325 += einsum("ab->ab", x183) * 2 + l1new_bb += einsum("ab,icab->ci", x325, v.bbaa.ovvv) * 0.5 + del x325 + x402 += einsum("ab->ab", x183) + x403 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x403 += einsum("ab,ibjc->ijca", x402, v.aaaa.ovov) + del x402 + x414 += einsum("ijab->jiba", x403) + del x403 + x548 += einsum("ab->ab", x183) + l2new_baba += einsum("ab,ibjc->caji", x548, v.aabb.ovov) * -1 + del x548 + x567 += einsum("ab->ab", x183) * 2 + del x183 + l2new_abab += einsum("ab,ibjc->acij", x567, v.aabb.ovov) * -0.5 + del x567 + x186 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x186 += einsum("iabc->ibac", v.aaaa.ovvv) + x186 -= einsum("iabc->ibca", v.aaaa.ovvv) + x616 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x616 -= einsum("ia,jbac->jibc", t1.aa, x186) + l1new_aa += einsum("ab,iabc->ci", x185, x186) * -1 + del x185 + del x186 + x187 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x187 += einsum("w,wia->ia", ls1, u11.bb) + x207 += einsum("ia->ia", x187) * -1 + del x187 + x188 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x188 += einsum("wx,wxia->ia", ls2, u12.bb) + x207 += einsum("ia->ia", x188) * -0.5 + del x188 + x189 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x189 += einsum("ai,ijab->jb", l1.aa, t2.abab) + x207 += einsum("ia->ia", x189) * -1 + del x189 + x190 = np.zeros((nbos, nbos, nocc[1], nocc[1]), dtype=types[float]) + x190 += einsum("ia,wxaj->wxji", t1.bb, lu12.bb) + x191 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x191 += einsum("wxia,wxij->ja", u12.bb, x190) + x207 += einsum("ia->ia", x191) * 0.5 + del x191 + x299 += einsum("wxia,wxjk->jkia", u12.bb, x190) * 0.5 + x301 += einsum("wxia,wxjk->ijka", u12.aa, x190) * -0.5 + x587 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x587 += einsum("wia,xwij->xja", u11.bb, x190) + x588 = np.zeros((nbos, nbos), dtype=types[float]) + x588 += einsum("wia,xia->wx", g.bb.bov, x587) + del x587 + x605 -= einsum("wx->wx", x588) + del x588 + lu12new_aa -= einsum("iajk,wxkj->xwai", v.aabb.ovoo, x190) + lu12new_aa -= einsum("wxij,kija->xwak", x190, x39) + del x39 + lu12new_bb += einsum("wxij,ijka->xwak", x190, x565) * -1 + del x565 + lu12new_bb += einsum("ia,wxji->xwaj", x95, x190) * -1 + x193 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x193 += einsum("ia,abjk->kjib", t1.bb, l2.bbbb) + x194 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x194 += einsum("ijka,ijab->kb", x193, x52) + x207 += einsum("ia->ia", x194) * -1 + del x194 + x298 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x298 += einsum("ijka->ijka", x193) * -1 + x298 += einsum("ijka->jika", x193) + x299 += einsum("ijka,ilba->jklb", x298, x38) + x301 += einsum("ijab,kjlb->ikla", t2.abab, x298) * -1 + l1new_bb += einsum("ijab,kjia->bk", x136, x298) * -1 + del x136 + del x298 + x302 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x302 += einsum("ijka->ijka", x193) + x302 += einsum("ijka->jika", x193) * -1 + x303 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x303 += einsum("ia,jikb->jkba", t1.bb, x302) * -1 + x471 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x471 += einsum("ijka,jklb->ilab", x302, x470) + del x302 + del x470 + x491 += einsum("ijab->ijab", x471) + del x471 + x309 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x309 += einsum("ia,jkla->jkil", t1.bb, x193) + x310 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x310 += einsum("ijkl->ijkl", x309) + x323 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x323 += einsum("ijkl->ijkl", x309) + x323 += einsum("ijkl->ijlk", x309) * -1 + l1new_bb += einsum("ijka,ljki->al", v.bbbb.ooov, x323) + del x323 + x497 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x497 += einsum("ijkl->ijkl", x309) + del x309 + x428 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x428 += einsum("iabc,jkib->kjac", v.bbbb.ovvv, x193) + x467 -= einsum("ijab->ijab", x428) + del x428 + x438 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x438 += einsum("ijka->ijka", x193) + x438 -= einsum("ijka->jika", x193) + l2new_abab += einsum("ijka,lkjb->abil", x40, x438) * -1 + x490 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x490 += einsum("ia,jkib->jkba", x272, x193) + del x272 + x491 += einsum("ijab->ijab", x490) * -1 + del x490 + x530 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x530 -= einsum("ijka->ijka", x193) + x530 += einsum("ijka->jika", x193) + l2new_baba += einsum("ijka,lkjb->bali", x40, x530) + del x40 + del x530 + x196 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) + x196 += einsum("ia,waj->wji", t1.bb, lu11.bb) + x198 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) + x198 += einsum("wij->wij", x196) + x343 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) + x343 += einsum("wij->wij", x196) + x197 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) + x197 += einsum("wia,wxaj->xji", u11.bb, lu12.bb) + x198 += einsum("wij->wij", x197) + x199 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x199 += einsum("wia,wij->ja", u11.bb, x198) + x207 += einsum("ia->ia", x199) + del x199 + x345 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) + x345 += einsum("wx,wij->xij", s2, x198) + del x198 + x343 += einsum("wij->wij", x197) + x628 = np.zeros((nbos, nbos, nocc[1], nvir[1]), dtype=types[float]) + x628 += einsum("wia,xji->wxja", g.bb.bov, x343) + x630 = np.zeros((nbos, nbos, nocc[1], nvir[1]), dtype=types[float]) + x630 += einsum("wxia->wxia", x628) + del x628 + x582 = np.zeros((nbos, nbos), dtype=types[float]) + x582 += einsum("wij,xji->wx", g.bb.boo, x197) + x605 -= einsum("wx->wx", x582) + del x582 + x589 = np.zeros((nbos, nbos), dtype=types[float]) + x589 += einsum("wij,xji->wx", x138, x197) + del x138 + del x197 + x605 -= einsum("wx->wx", x589) + del x589 + x200 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x200 += einsum("ai,ja->ij", l1.bb, t1.bb) + x205 += einsum("ij->ij", x200) + x225 += einsum("ij->ij", x200) * 2 + x460 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x460 += einsum("ij->ij", x200) + ls1new -= einsum("ij,wji->w", x200, g.bb.boo) + del x200 + x201 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x201 += einsum("wai,wja->ij", lu11.bb, u11.bb) + x205 += einsum("ij->ij", x201) + x225 += einsum("ij->ij", x201) * 2 + x460 += einsum("ij->ij", x201) + x461 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x461 += einsum("ij,jakb->kiab", x460, v.bbbb.ovov) + del x460 + x467 += einsum("ijab->jiba", x461) + del x461 + x576 += einsum("ij->ij", x201) + del x201 + x202 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x202 += einsum("wxai,wxja->ij", lu12.bb, u12.bb) + x205 += einsum("ij->ij", x202) * 0.5 + x225 += einsum("ij->ij", x202) + x488 += einsum("ij->ij", x202) * 0.5 + x576 += einsum("ij->ij", x202) * 0.5 + del x202 + x203 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x203 += einsum("abij,ikab->jk", l2.abab, t2.abab) + x205 += einsum("ij->ij", x203) + x206 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x206 += einsum("ia,ij->ja", t1.bb, x205) + x207 += einsum("ia->ia", x206) + del x206 + x550 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x550 += einsum("ij,kajb->kiab", x205, v.aabb.ovov) + l2new_baba += einsum("ijab->baji", x550) * -1 + l2new_abab += einsum("ijab->abij", x550) * -1 + del x550 + l1new_bb += einsum("ij,ja->ai", x205, x95) * -1 + del x205 + del x95 + x225 += einsum("ij->ij", x203) * 2 + l1new_aa += einsum("ij,kaji->ak", x225, v.aabb.ovoo) * -0.5 + l1new_bb += einsum("ij,kjia->ak", x225, x147) * -0.5 + del x225 + del x147 + x488 += einsum("ij->ij", x203) + x489 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x489 += einsum("ij,jakb->kiab", x488, v.bbbb.ovov) + del x488 + x491 += einsum("ijab->jiba", x489) + del x489 + x576 += einsum("ij->ij", x203) + del x203 + ls1new += einsum("ij,wji->w", x576, g.bb.boo) * -1 + del x576 + x207 += einsum("ia->ia", t1.bb) * -1 + l1new_aa += einsum("ia,jbia->bj", x207, v.aabb.ovov) * -1 + l1new_bb += einsum("ia,ijba->bj", x207, x93) + ls1new += einsum("ia,wia->w", x207, g.bb.bov) * -1 + del x207 + x208 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x208 += einsum("ai,ib->ab", l1.bb, t1.bb) + x213 += einsum("ab->ab", x208) + ls1new += einsum("ab,wab->w", x208, g.bb.bvv) + del x208 + x209 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x209 += einsum("wai,wib->ab", lu11.bb, u11.bb) + x213 += einsum("ab->ab", x209) + x425 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x425 += einsum("ab,icjb->ijac", x209, v.bbbb.ovov) + x467 += einsum("ijab->ijab", x425) + del x425 + x547 += einsum("ab->ab", x209) + x566 += einsum("ab->ab", x209) * 2 + del x209 + x210 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x210 += einsum("wxai,wxib->ab", lu12.bb, u12.bb) + x213 += einsum("ab->ab", x210) * 0.5 + x478 += einsum("ab->ab", x210) * 0.5 + x547 += einsum("ab->ab", x210) * 0.5 + x566 += einsum("ab->ab", x210) + del x210 + x211 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x211 += einsum("abij,ijac->bc", l2.abab, t2.abab) + x213 += einsum("ab->ab", x211) + l1new_aa += einsum("ab,icab->ci", x213, v.aabb.ovvv) + l1new_bb += einsum("ab,iabc->ci", x213, x154) + del x213 + x478 += einsum("ab->ab", x211) + x479 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x479 += einsum("ab,ibjc->ijca", x478, v.bbbb.ovov) + del x478 + x491 += einsum("ijab->jiba", x479) + del x479 + x547 += einsum("ab->ab", x211) + l2new_baba += einsum("ab,icjb->acji", x547, v.aabb.ovov) * -1 + ls1new += einsum("ab,wab->w", x547, g.bb.bvv) + del x547 + x566 += einsum("ab->ab", x211) * 2 + del x211 + l2new_abab += einsum("ab,icjb->caij", x566, v.aabb.ovov) * -0.5 + del x566 + x216 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) + x216 += einsum("wia,wxja->xij", g.aa.bov, u12.aa) + x223 += einsum("wij->wij", x216) + del x216 + x217 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) + x217 += einsum("wia,jkia->wjk", u11.bb, v.aabb.ooov) + x223 += einsum("wij->wij", x217) + del x217 + x220 += einsum("wia->wia", gc.aa.bov) + x221 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) + x221 += einsum("ia,wja->wij", t1.aa, x220) + del x220 + x223 += einsum("wij->wji", x221) + del x221 + x223 += einsum("wij->wij", gc.aa.boo) + x575 += einsum("ia,wij->wja", t1.aa, x223) + l1new_aa += einsum("wai,wji->aj", lu11.aa, x223) * -1 + del x223 + x226 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x226 += einsum("wia,iajb->wjb", u11.aa, v.aabb.ovov) + x228 += einsum("wia->wia", x226) + x316 += einsum("wia->wia", x226) + x330 += einsum("wia->wia", x226) + x458 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x458 += einsum("wia->wia", x226) + x555 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x555 += einsum("wia->wia", x226) + del x226 + x228 += einsum("wia->wia", gc.bb.bov) + x233 += einsum("wia,xia->xw", u11.bb, x228) + x334 += einsum("wia,xia->xw", u11.bb, x228) * 2 + del x228 + x229 += einsum("wia->wia", gc.aa.bov) * 2 + x233 += einsum("wia,xia->xw", u11.aa, x229) * 0.5 + x334 += einsum("wia,xia->xw", u11.aa, x229) + del x229 + x230 = np.zeros((nbos, nbos), dtype=types[float]) + x230 += einsum("wia,xia->wx", g.aa.bov, u11.aa) + x232 = np.zeros((nbos, nbos), dtype=types[float]) + x232 += einsum("wx->wx", x230) + x603 = np.zeros((nbos, nbos), dtype=types[float]) + x603 += einsum("wx->wx", x230) + del x230 + x231 = np.zeros((nbos, nbos), dtype=types[float]) + x231 += einsum("wia,xia->wx", g.bb.bov, u11.bb) + x232 += einsum("wx->wx", x231) + x603 += einsum("wx->wx", x231) + del x231 + x604 = np.zeros((nbos, nbos), dtype=types[float]) + x604 += einsum("wx,yw->xy", ls2, x603) + x605 += einsum("wx->xw", x604) + del x604 + x611 = np.zeros((nbos, nbos, nocc[0], nvir[0]), dtype=types[float]) + x611 += einsum("wx,xyai->ywia", x603, lu12.aa) + x612 -= einsum("wxia->xwia", x611) + del x611 + x629 = np.zeros((nbos, nbos, nocc[1], nvir[1]), dtype=types[float]) + x629 += einsum("wx,xyai->ywia", x603, lu12.bb) + del x603 + x630 -= einsum("wxia->xwia", x629) + del x629 + x232 += einsum("wx->wx", w) + x233 += einsum("wx,wy->xy", s2, x232) + l1new_aa += einsum("wx,xwai->ai", x233, lu12.aa) + del x233 + x334 += einsum("wx,wy->xy", s2, x232) * 2 + l1new_bb += einsum("wx,xwai->ai", x334, lu12.bb) * 0.5 + del x334 + x571 += einsum("wx,wia->xia", x232, u11.bb) * -1 + x575 += einsum("wx,wia->xia", x232, u11.aa) * -1 + del x232 + x234 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x234 += einsum("wx,wai->xia", s2, lu11.aa) + x238 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x238 += einsum("wia->wia", x234) + del x234 + x235 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x235 += einsum("wia,baji->wjb", u11.bb, l2.abab) + x238 += einsum("wia->wia", x235) + x246 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x246 += einsum("wia->wia", x235) + x248 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x248 += einsum("wia->wia", x235) + del x235 + x236 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x236 += einsum("abij->jiab", l2.aaaa) + x236 -= einsum("abij->jiba", l2.aaaa) + x237 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x237 += einsum("wia,ijab->wjb", u11.aa, x236) + x238 -= einsum("wia->wia", x237) + x380 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x380 += einsum("wia,wjb->ijab", g.aa.bov, x238) + x390 += einsum("ijab->ijab", x380) + del x380 + l1new_aa += einsum("wab,wia->bi", g.aa.bvv, x238) + del x238 + x248 -= einsum("wia->wia", x237) + del x237 + x558 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x558 += einsum("wia,wjb->jiba", g.bb.bov, x248) + l2new_baba += einsum("ijab->baji", x558) + l2new_abab += einsum("ijab->abij", x558) + del x558 + l1new_aa += einsum("wia,wji->aj", x248, x99) * -1 + del x248 + del x99 + lu11new_aa -= einsum("wai,ijab->wbj", g.aa.bvo, x236) + del x236 + x239 = np.zeros((nbos, nvir[0], nvir[0]), dtype=types[float]) + x239 += einsum("wia,iabc->wbc", u11.bb, v.bbaa.ovvv) + x241 = np.zeros((nbos, nvir[0], nvir[0]), dtype=types[float]) + x241 += einsum("wab->wab", x239) + x572 += einsum("wab->wab", x239) + del x239 + x240 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x240 -= einsum("iabc->ibac", v.aaaa.ovvv) + x240 += einsum("iabc->ibca", v.aaaa.ovvv) + x241 -= einsum("wia,ibac->wbc", u11.aa, x240) + x356 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x356 += einsum("ia,jbca->ijbc", t1.aa, x240) + x357 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x357 -= einsum("ijab->ijab", x356) + del x356 + x369 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x369 += einsum("ia,ibac->bc", t1.aa, x240) + del x240 + x370 -= einsum("ab->ab", x369) + del x369 + x371 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x371 += einsum("ab,acij->ijcb", x370, l2.aaaa) + del x370 + x390 += einsum("ijab->jiab", x371) + del x371 + x241 += einsum("wab->wab", gc.aa.bvv) + l1new_aa += einsum("wai,wab->bi", lu11.aa, x241) + del x241 + x244 += einsum("wia->wia", gc.aa.bov) + l1new_aa -= einsum("wij,wja->ai", x242, x244) + del x242 + del x244 + x245 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x245 += einsum("abij->jiab", l2.aaaa) + x245 += einsum("abij->jiba", l2.aaaa) * -1 + x246 += einsum("wia,ijab->wjb", u11.aa, x245) * -1 + x247 += einsum("ia,wja->wji", t1.aa, x246) + del x246 + x247 += einsum("ai,wja->wij", l1.aa, u11.aa) + x247 += einsum("wai,wxja->xij", lu11.aa, u12.aa) + l1new_aa += einsum("wia,wji->aj", g.aa.bov, x247) * -1 + del x247 + x249 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x249 += einsum("iabj->ijba", v.aaaa.ovvo) + x249 -= einsum("ijab->ijab", v.aaaa.oovv) + l1new_aa += einsum("ai,jiab->bj", l1.aa, x249) + lu11new_aa += einsum("wai,jiab->wbj", lu11.aa, x249) + del x249 + x250 = np.zeros((nbos), dtype=types[float]) + x250 += einsum("w,wx->x", s1, w) + x258 += einsum("w->w", x250) + x578 = np.zeros((nbos), dtype=types[float]) + x578 += einsum("w->w", x250) + del x250 + x251 = np.zeros((nbos), dtype=types[float]) + x251 += einsum("ia,wia->w", t1.aa, gc.aa.bov) + x258 += einsum("w->w", x251) + x578 += einsum("w->w", x251) + del x251 + x252 = np.zeros((nbos), dtype=types[float]) + x252 += einsum("ia,wia->w", t1.bb, gc.bb.bov) + x258 += einsum("w->w", x252) + x578 += einsum("w->w", x252) + del x252 + x253 = np.zeros((nbos), dtype=types[float]) + x253 += einsum("wia,wxia->x", g.aa.bov, u12.aa) + x258 += einsum("w->w", x253) + x578 += einsum("w->w", x253) + del x253 + x254 = np.zeros((nbos), dtype=types[float]) + x254 += einsum("wia,wxia->x", g.bb.bov, u12.bb) + x258 += einsum("w->w", x254) + x578 += einsum("w->w", x254) + del x254 + x258 += einsum("w->w", G) + l1new_aa += einsum("w,wai->ai", x258, lu11.aa) + l1new_bb += einsum("w,wai->ai", x258, lu11.bb) + del x258 + x259 = np.zeros((nbos), dtype=types[float]) + x259 += einsum("w,xw->x", ls1, s2) + x264 = np.zeros((nbos), dtype=types[float]) + x264 += einsum("w->w", x259) + del x259 + x260 = np.zeros((nbos), dtype=types[float]) + x260 += einsum("ai,wia->w", l1.aa, u11.aa) + x264 += einsum("w->w", x260) + del x260 + x261 = np.zeros((nbos), dtype=types[float]) + x261 += einsum("ai,wia->w", l1.bb, u11.bb) + x264 += einsum("w->w", x261) + del x261 + x262 = np.zeros((nbos), dtype=types[float]) + x262 += einsum("wai,wxia->x", lu11.aa, u12.aa) + x264 += einsum("w->w", x262) + del x262 + x263 = np.zeros((nbos), dtype=types[float]) + x263 += einsum("wai,wxia->x", lu11.bb, u12.bb) + x264 += einsum("w->w", x263) + del x263 + x264 += einsum("w->w", s1) + l1new_aa += einsum("w,wia->ai", x264, g.aa.bov) + l1new_bb += einsum("w,wia->ai", x264, g.bb.bov) + del x264 + x265 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + x265 += einsum("abij,ikcb->jkac", l2.abab, t2.abab) + l1new_bb += einsum("iabc,jibc->aj", v.bbaa.ovvv, x265) * -1 + del x265 + x266 += einsum("ia->ia", f.bb.ov) + x267 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x267 += einsum("ia,jkab->jkib", x266, t2.bbbb) + del x266 + x268 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x268 += einsum("ijka->kjia", x267) + del x267 + x268 += einsum("ijak->ijka", v.bbbb.oovo) * -1 + x285 += einsum("ijka->kija", x268) + x285 += einsum("ijka->jika", x268) * -1 + del x268 + x269 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x269 += einsum("ijab,kbca->jikc", t2.bbbb, v.bbbb.ovvv) + x278 += einsum("ijka->ijka", x269) * -1 + del x269 + x270 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x270 += einsum("ia,jbca->ijcb", t1.bb, v.bbbb.ovvv) + x271 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x271 += einsum("ia,jkba->ijkb", t1.bb, x270) + del x270 + x278 += einsum("ijka->ijka", x271) * -1 + del x271 + x274 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x274 += einsum("ijab,kalb->ijkl", t2.bbbb, v.bbbb.ovov) + x276 += einsum("ijkl->jilk", x274) + x277 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x277 += einsum("ia,jkil->jkla", t1.bb, x276) + del x276 + x278 += einsum("ijka->jika", x277) + del x277 + x285 += einsum("ijka->jkia", x278) + x285 += einsum("ijka->ikja", x278) * -1 + del x278 + x495 += einsum("ijkl->jilk", x274) + del x274 + x496 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x496 += einsum("abij,ijkl->klab", l2.bbbb, x495) + del x495 + x499 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x499 += einsum("ijab->jiba", x496) + del x496 + x279 += einsum("ijka->jkia", v.bbbb.ooov) * -1 + x279 += einsum("ijka->jika", v.bbbb.ooov) + x280 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x280 += einsum("ijka,jlba->likb", x279, x38) + del x279 + x285 += einsum("ijka->jkia", x280) + x295 += einsum("ijka->jkia", x280) + del x280 + x283 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x283 += einsum("ia,jkla->ijlk", t1.bb, v.bbbb.ooov) + x284 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x284 += einsum("ijkl->jkli", x283) + x284 += einsum("ijkl->kjli", x283) * -1 + x294 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x294 += einsum("ijkl->ikjl", x283) * -1 + x294 += einsum("ijkl->ijkl", x283) + x295 += einsum("ia,jikl->jkla", t1.bb, x294) * -1 + del x294 + l1new_bb += einsum("abij,ikjb->ak", l2.bbbb, x295) * -1 + del x295 + x427 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x427 += einsum("abij,jkli->klba", l2.bbbb, x283) + del x283 + x467 -= einsum("ijab->ijab", x427) + del x427 + x284 += einsum("ijkl->kijl", v.bbbb.oooo) * -1 + x284 += einsum("ijkl->kilj", v.bbbb.oooo) + x285 += einsum("ia,ijkl->ljka", t1.bb, x284) * -1 + del x284 + l1new_bb += einsum("abij,ikja->bk", l2.bbbb, x285) + del x285 + x286 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x286 += einsum("abij,ikac->jkbc", l2.abab, t2.abab) + x289 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x289 += einsum("ijab->ijab", x286) + x468 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x468 += einsum("ijab->ijab", x286) + del x286 + x287 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x287 += einsum("abij->jiab", l2.bbbb) * -1 + x287 += einsum("abij->jiba", l2.bbbb) + x288 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x288 += einsum("ijab,ikac->kjcb", x287, x38) + del x38 + x289 += einsum("ijab->jiba", x288) + x468 += einsum("ijab->jiba", x288) + del x288 + x469 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x469 += einsum("ijab,kica->jkbc", x145, x468) + del x145 + del x468 + x491 += einsum("ijab->jiba", x469) * -1 + del x469 + x344 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x344 += einsum("wia,ijba->wjb", u11.bb, x287) * -1 + x472 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x472 += einsum("ijab,jkcb->ikac", t2.abab, x287) + x473 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x473 += einsum("iajb,ikac->jkbc", v.aabb.ovov, x472) * -1 + del x472 + x491 += einsum("ijab->jiba", x473) + del x473 + l1new_bb += einsum("ia,ijba->bj", x159, x287) * -1 + del x159 + x289 += einsum("wxai,wxjb->ijab", lu12.bb, u12.bb) * 0.5 + l1new_bb += einsum("iabc,jiab->cj", x154, x289) * -1 + del x289 + del x154 + x290 += einsum("ijka->ikja", v.bbbb.ooov) * -1 + x290 += einsum("ijka->kija", v.bbbb.ooov) + x293 += einsum("ijab,kjlb->ikla", t2.abab, x290) * -1 + x317 += einsum("wxia,jika->xwjk", u12.bb, x290) * -0.5 + del x290 + x291 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + x291 += einsum("ia,jabc->ijbc", t1.bb, v.bbaa.ovvv) + x292 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + x292 += einsum("ijab->jiab", x291) + x525 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + x525 += einsum("ijab->jiab", x291) + del x291 + x292 += einsum("ijab->ijab", v.bbaa.oovv) + x293 += einsum("ia,jkba->ijkb", t1.aa, x292) + del x292 + x293 += einsum("ijak->kija", v.bbaa.oovo) + x293 += einsum("ia,jabk->kjib", t1.bb, v.bbaa.ovvo) + x293 += einsum("ijab,kbca->ikjc", t2.abab, v.bbaa.ovvv) + l1new_bb += einsum("abij,ikja->bk", l2.abab, x293) * -1 + del x293 + x296 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x296 += einsum("abij->jiab", l2.bbbb) + x296 += einsum("abij->jiba", l2.bbbb) * -1 + x297 += einsum("ijab,jkcb->ikac", t2.abab, x296) * -2 + x297 += einsum("wxai,wxjb->jiba", lu12.bb, u12.aa) * -1 + l1new_bb += einsum("iabc,ijab->cj", v.aabb.ovvv, x297) * -0.5 + del x297 + x300 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x300 += einsum("iajb->jiab", v.bbbb.ovov) + x300 -= einsum("iajb->jiba", v.bbbb.ovov) + l1new_bb += einsum("ijka,jkab->bi", x299, x300) * -1 + del x299 + del x300 + x301 += einsum("ai,jkba->jikb", l1.bb, t2.abab) * -1 + l1new_bb += einsum("iajb,ikja->bk", v.aabb.ovov, x301) + del x301 + x304 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x304 += einsum("iabc->ibac", v.bbbb.ovvv) + x304 += einsum("iabc->ibca", v.bbbb.ovvv) * -1 + x517 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x517 += einsum("ia,jbac->ijbc", t1.bb, x304) + x518 += einsum("ijab->jiab", x517) * -1 + del x517 + l1new_bb += einsum("ijab,jabc->ci", x303, x304) + del x304 + del x303 + x305 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x305 += einsum("ia,bacd->icbd", t1.bb, v.bbbb.vvvv) + x306 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x306 += einsum("iabc->iabc", x305) * -1 + del x305 + x306 += einsum("aibc->iabc", v.bbbb.vovv) + x307 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x307 += einsum("iabc->iabc", x306) * -1 + x307 += einsum("iabc->ibac", x306) + del x306 + l1new_bb += einsum("abij,iabc->cj", l2.bbbb, x307) * -1 + del x307 + x308 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x308 += einsum("abij,klba->ijlk", l2.bbbb, t2.bbbb) + x310 += einsum("ijkl->jilk", x308) + x311 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x311 += einsum("ia,ijkl->jkla", t1.bb, x310) + del x310 + x312 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x312 += einsum("ijka->ijka", x311) + x312 += einsum("ijka->ikja", x311) * -1 + del x311 + l1new_bb += einsum("iajb,kijb->ak", v.bbbb.ovov, x312) * -1 + del x312 + x322 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x322 += einsum("ijkl->jikl", x308) * -1 + x322 += einsum("ijkl->jilk", x308) + l1new_bb += einsum("ijka,jlik->al", v.bbbb.ooov, x322) + del x322 + x497 += einsum("ijkl->jilk", x308) + del x308 + x498 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x498 += einsum("iajb,klji->klab", v.bbbb.ovov, x497) + del x497 + x499 += einsum("ijab->jiab", x498) + del x498 + l2new_bbbb = np.zeros((nvir[1], nvir[1], nocc[1], nocc[1]), dtype=types[float]) + l2new_bbbb += einsum("ijab->abij", x499) + l2new_bbbb += einsum("ijab->baij", x499) * -1 + del x499 + x313 = np.zeros((nocc[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) + x313 += einsum("aibc->iabc", v.aabb.vovv) + x313 += einsum("ia,bacd->ibcd", t1.aa, v.aabb.vvvv) + l1new_bb += einsum("abij,iabc->cj", l2.abab, x313) + del x313 + x314 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x314 += einsum("wx,xia->wia", s2, g.bb.bov) + x316 += einsum("wia->wia", x314) + x555 += einsum("wia->wia", x314) + del x314 + x316 += einsum("wia->wia", gc.bb.bov) + x317 += einsum("wia,xja->wxji", u11.bb, x316) + l1new_bb += einsum("wxai,wxji->aj", lu12.bb, x317) * -1 + del x317 + x571 += einsum("wia,ijba->wjb", x316, x52) * -1 + del x52 + x575 += einsum("wia,jiba->wjb", x316, t2.abab) * -1 + del x316 + x318 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x318 += einsum("ai,jkba->ijkb", l1.bb, t2.bbbb) + x319 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x319 += einsum("ijka->ikja", x318) + x319 += einsum("ijka->ijka", x318) * -1 + del x318 + l1new_bb += einsum("iajb,kija->bk", v.bbbb.ovov, x319) + del x319 + x320 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x320 += einsum("ia,jbca->ijcb", t1.aa, v.bbaa.ovvv) + x321 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x321 += einsum("ijab->ijab", x320) + x436 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x436 += einsum("ijab->ijab", x320) + x507 += einsum("ijab->ijab", x320) + x632 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x632 += einsum("ijab->ijab", x320) + del x320 + x321 += einsum("iabj->jiba", v.bbaa.ovvo) + l1new_bb += einsum("ijka,ikab->bj", x1, x321) * -1 + del x321 + x326 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) + x326 += einsum("wia,wxja->xij", g.bb.bov, u12.bb) + x333 += einsum("wij->wij", x326) + del x326 + x327 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) + x327 += einsum("wia,iajk->wjk", u11.aa, v.aabb.ovoo) + x333 += einsum("wij->wij", x327) + del x327 + x330 += einsum("wia->wia", gc.bb.bov) + x331 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) + x331 += einsum("ia,wja->wij", t1.bb, x330) + x333 += einsum("wij->wji", x331) + del x331 + l1new_bb += einsum("wia,wji->aj", x330, x343) * -1 + del x330 + del x343 + x333 += einsum("wij->wij", gc.bb.boo) + x571 += einsum("ia,wij->wja", t1.bb, x333) + l1new_bb += einsum("wai,wji->aj", lu11.bb, x333) * -1 + del x333 + x335 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x335 += einsum("wx,wai->xia", s2, lu11.bb) + x339 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x339 += einsum("wia->wia", x335) + del x335 + x336 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x336 += einsum("wia,abij->wjb", u11.aa, l2.abab) + x339 += einsum("wia->wia", x336) + x344 += einsum("wia->wia", x336) + x345 += einsum("ia,wja->wji", t1.bb, x344) + del x344 + x346 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x346 += einsum("wia->wia", x336) + del x336 + x337 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x337 -= einsum("abij->jiab", l2.bbbb) + x337 += einsum("abij->jiba", l2.bbbb) + x338 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x338 += einsum("wia,ijba->wjb", u11.bb, x337) + x339 -= einsum("wia->wia", x338) + x455 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x455 += einsum("wia,wjb->ijab", g.bb.bov, x339) + x467 += einsum("ijab->ijab", x455) + del x455 + l1new_bb += einsum("wab,wia->bi", g.bb.bvv, x339) + del x339 + x346 -= einsum("wia->wia", x338) + del x338 + x557 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x557 += einsum("wia,wjb->ijab", g.aa.bov, x346) + l2new_baba += einsum("ijab->baji", x557) + l2new_abab += einsum("ijab->abij", x557) + del x557 + l1new_bb += einsum("wij,wja->ai", x139, x346) * -1 + del x346 + del x139 + lu11new_bb -= einsum("wai,ijba->wbj", g.bb.bvo, x337) + x340 = np.zeros((nbos, nvir[1], nvir[1]), dtype=types[float]) + x340 += einsum("wia,iabc->wbc", u11.aa, v.aabb.ovvv) + x342 = np.zeros((nbos, nvir[1], nvir[1]), dtype=types[float]) + x342 += einsum("wab->wab", x340) + x568 += einsum("wab->wab", x340) + del x340 + x341 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x341 -= einsum("iabc->ibac", v.bbbb.ovvv) + x341 += einsum("iabc->ibca", v.bbbb.ovvv) + x342 -= einsum("wia,ibac->wbc", u11.bb, x341) + x444 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x444 += einsum("ia,ibac->bc", t1.bb, x341) + del x341 + x445 -= einsum("ab->ab", x444) + del x444 + x446 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x446 += einsum("ab,acij->ijcb", x445, l2.bbbb) + del x445 + x467 += einsum("ijab->jiab", x446) + del x446 + x342 += einsum("wab->wab", gc.bb.bvv) + l1new_bb += einsum("wai,wab->bi", lu11.bb, x342) + del x342 + x345 += einsum("ai,wja->wij", l1.bb, u11.bb) + x345 += einsum("wai,wxja->xij", lu11.bb, u12.bb) + l1new_bb += einsum("wia,wji->aj", g.bb.bov, x345) * -1 + del x345 + x347 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x347 += einsum("iabj->ijba", v.bbbb.ovvo) + x347 -= einsum("ijab->ijab", v.bbbb.oovv) + l1new_bb += einsum("ai,jiab->bj", l1.bb, x347) + lu11new_bb += einsum("wai,jiab->wbj", lu11.bb, x347) + del x347 + x348 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x348 += einsum("wia,wbj->ijab", gc.aa.bov, lu11.aa) + x390 += einsum("ijab->ijab", x348) + del x348 + x349 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x349 += einsum("ai,jbac->ijbc", l1.aa, v.aaaa.ovvv) + x390 -= einsum("ijab->ijab", x349) + del x349 + x355 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x355 -= einsum("abij->jiab", l2.aaaa) + x355 += einsum("abij->jiba", l2.aaaa) + x357 += einsum("iabj->jiba", v.aaaa.ovvo) + x357 -= einsum("ijab->jiab", v.aaaa.oovv) + x358 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x358 += einsum("ijab,ikac->jkbc", x355, x357) + del x355 + del x357 + x390 += einsum("ijab->ijab", x358) + del x358 + x359 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x359 -= einsum("ijab->jiab", t2.bbbb) + x359 += einsum("ijab->jiba", t2.bbbb) + x360 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x360 += einsum("iajb,jkcb->ikac", v.aabb.ovov, x359) + x361 -= einsum("ijab->ijab", x360) + del x360 + x595 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x595 += einsum("wia,ijba->wjb", g.bb.bov, x359) + del x359 + x596 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x596 -= einsum("wia->wia", x595) + del x595 + x361 += einsum("iabj->ijab", v.aabb.ovvo) + x362 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x362 += einsum("abij,kjcb->ikac", l2.abab, x361) + del x361 + x390 += einsum("ijab->ijab", x362) + del x362 + x364 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x364 += einsum("ijka->ikja", v.aaaa.ooov) + x364 -= einsum("ijka->kija", v.aaaa.ooov) + x365 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x365 += einsum("ijka,lkib->jlab", x363, x364) + del x363 + x390 += einsum("ijab->ijab", x365) + del x365 + l2new_abab += einsum("ijka,kjlb->abil", x364, x55) + del x364 + x366 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x366 += einsum("wia,wib->ab", g.aa.bov, u11.aa) + x367 -= einsum("ab->ba", x366) + x543 += einsum("ab->ba", x366) * -1 + del x366 + x367 += einsum("ab->ab", f.aa.vv) + x368 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x368 += einsum("ab,acij->ijcb", x367, l2.aaaa) + del x367 + x390 -= einsum("ijab->jiba", x368) + del x368 + x372 += einsum("ia->ia", f.aa.ov) + x373 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x373 += einsum("ia,ja->ij", t1.aa, x372) + x374 += einsum("ij->ji", x373) + del x373 + x385 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x385 += einsum("ia,jkib->jkba", x372, x56) + del x56 + x390 += einsum("ijab->ijba", x385) + del x385 + x390 += einsum("ai,jb->jiba", l1.aa, x372) + del x372 + x374 += einsum("ij->ij", f.aa.oo) + x375 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x375 += einsum("ij,abjk->kiab", x374, l2.aaaa) + del x374 + x390 += einsum("ijab->jiba", x375) + del x375 + x376 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x376 -= einsum("ijka->ikja", v.aaaa.ooov) + x376 += einsum("ijka->kija", v.aaaa.ooov) + x377 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x377 += einsum("ia,jika->jk", t1.aa, x376) + x378 -= einsum("ij->ij", x377) + del x377 + x379 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x379 += einsum("ij,abjk->kiab", x378, l2.aaaa) + del x378 + x390 -= einsum("ijab->ijba", x379) + del x379 + l2new_baba -= einsum("ijka,kjlb->bali", x376, x55) + del x55 + lu12new_aa -= einsum("ijka,wxkj->xwai", x376, x54) + del x376 + del x54 + x386 -= einsum("ijka->jika", v.aaaa.ooov) + x387 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x387 += einsum("ai,ijkb->jkab", l1.aa, x386) + del x386 + x390 += einsum("ijab->ijab", x387) + del x387 + l2new_aaaa += einsum("ijab->abij", x390) + l2new_aaaa -= einsum("ijab->baij", x390) + l2new_aaaa -= einsum("ijab->abji", x390) + l2new_aaaa += einsum("ijab->baji", x390) + del x390 + x391 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x391 += einsum("ijab,kcjb->ikac", t2.abab, v.aabb.ovov) + x393 += einsum("ijab->ijab", x391) + x394 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x394 += einsum("ijab,ikac->jkbc", x34, x393) + del x393 + del x34 + x414 += einsum("ijab->ijab", x394) + del x394 + x513 += einsum("ijab->jiab", x391) + del x391 + x398 = np.zeros((nbos, nbos, nocc[0], nvir[0]), dtype=types[float]) + x398 += einsum("wxia,jbia->wxjb", u12.bb, v.aabb.ovov) + x400 += einsum("wxia->xwia", x398) + del x398 + x401 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x401 += einsum("wxai,wxjb->ijab", lu12.aa, x400) * 0.5 + x414 += einsum("ijab->ijab", x401) + del x401 + x538 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x538 += einsum("wxai,wxjb->jiba", lu12.bb, x400) * 0.5 + del x400 + l2new_baba += einsum("ijab->baji", x538) + l2new_abab += einsum("ijab->abij", x538) + del x538 + x407 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x407 += einsum("ijab,icjb->ac", t2.abab, v.aabb.ovov) + x409 += einsum("ab->ab", x407) + x410 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x410 += einsum("ab,acij->ijcb", x409, l2.aaaa) + del x409 + x414 += einsum("ijab->jiab", x410) * -1 + del x410 + l2new_aaaa += einsum("ijab->abij", x414) + l2new_aaaa += einsum("ijab->baij", x414) * -1 + l2new_aaaa += einsum("ijab->abji", x414) * -1 + l2new_aaaa += einsum("ijab->baji", x414) + del x414 + x543 += einsum("ab->ab", x407) * -1 + del x407 + x415 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x415 += einsum("abij,kilj->klab", l2.aaaa, v.aaaa.oooo) + x417 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x417 += einsum("ijab->jiba", x415) + del x415 + x416 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x416 += einsum("abij,bcad->ijdc", l2.aaaa, v.aaaa.vvvv) + x417 += einsum("ijab->jiba", x416) + del x416 + l2new_aaaa += einsum("ijab->baij", x417) * -1 + l2new_aaaa += einsum("ijab->abij", x417) + del x417 + x423 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x423 += einsum("wia,wbj->ijab", gc.bb.bov, lu11.bb) + x467 += einsum("ijab->ijab", x423) + del x423 + x424 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x424 += einsum("ai,jbac->ijbc", l1.bb, v.bbbb.ovvv) + x467 -= einsum("ijab->ijab", x424) + del x424 + x430 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x430 += einsum("iabc->ibac", v.bbbb.ovvv) + x430 -= einsum("iabc->ibca", v.bbbb.ovvv) + x431 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x431 += einsum("ia,jbac->ijbc", t1.bb, x430) + del x430 + x432 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x432 -= einsum("ijab->ijab", x431) + x631 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x631 -= einsum("ijab->jiab", x431) + del x431 + x432 += einsum("iabj->jiba", v.bbbb.ovvo) + x432 -= einsum("ijab->jiab", v.bbbb.oovv) + x433 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x433 += einsum("ijab,ikac->jkbc", x337, x432) + del x432 + del x337 + x467 += einsum("ijab->ijab", x433) + del x433 + x434 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x434 += einsum("ijab->jiab", t2.aaaa) + x434 -= einsum("ijab->jiba", t2.aaaa) + x435 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x435 += einsum("iajb,ikac->kjcb", v.aabb.ovov, x434) + x436 -= einsum("ijab->ijab", x435) + del x435 + x591 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x591 += einsum("wia,ijab->wjb", g.aa.bov, x434) + del x434 + x592 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x592 -= einsum("wia->wia", x591) + del x591 + x436 += einsum("iabj->jiba", v.bbaa.ovvo) + x437 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x437 += einsum("abij,ikac->jkbc", l2.abab, x436) + del x436 + x467 += einsum("ijab->ijab", x437) + del x437 + x439 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x439 += einsum("ijka->ikja", v.bbbb.ooov) + x439 -= einsum("ijka->kija", v.bbbb.ooov) + x440 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x440 += einsum("ijka,lkjb->ilab", x438, x439) + del x438 + del x439 + x467 += einsum("ijab->ijab", x440) + del x440 + x441 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x441 += einsum("wia,wib->ab", g.bb.bov, u11.bb) + x442 -= einsum("ab->ba", x441) + x540 += einsum("ab->ba", x441) * -1 + del x441 + x442 += einsum("ab->ab", f.bb.vv) + x443 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x443 += einsum("ab,acij->ijcb", x442, l2.bbbb) + del x442 + x467 -= einsum("ijab->jiba", x443) + del x443 + x447 += einsum("ia->ia", f.bb.ov) + x448 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x448 += einsum("ia,ja->ij", t1.bb, x447) + x449 += einsum("ij->ji", x448) + del x448 + x462 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x462 += einsum("ia,jkib->jkba", x447, x193) + del x193 + x467 += einsum("ijab->ijba", x462) + del x462 + x467 += einsum("ai,jb->jiba", l1.bb, x447) + del x447 + x449 += einsum("ij->ij", f.bb.oo) + x450 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x450 += einsum("ij,abjk->kiab", x449, l2.bbbb) + del x449 + x467 += einsum("ijab->jiba", x450) + del x450 + x451 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x451 -= einsum("ijka->ikja", v.bbbb.ooov) + x451 += einsum("ijka->kija", v.bbbb.ooov) + x452 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x452 += einsum("ia,jika->jk", t1.bb, x451) + x453 -= einsum("ij->ij", x452) + del x452 + x454 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x454 += einsum("ij,abjk->kiab", x453, l2.bbbb) + del x453 + x467 -= einsum("ijab->ijba", x454) + del x454 + x536 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x536 += einsum("ijka,lkjb->ilab", x1, x451) + del x1 + l2new_baba -= einsum("ijab->baji", x536) + l2new_abab -= einsum("ijab->abij", x536) + del x536 + lu12new_bb -= einsum("wxij,kjia->xwak", x190, x451) + del x451 + del x190 + x456 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x456 -= einsum("iajb->jiab", v.bbbb.ovov) + x456 += einsum("iajb->jiba", v.bbbb.ovov) + x457 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x457 += einsum("wia,ijba->wjb", u11.bb, x456) + x458 -= einsum("wia->wia", x457) + x459 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x459 += einsum("wai,wjb->ijab", lu11.bb, x458) + del x458 + x467 += einsum("ijab->ijab", x459) + del x459 + x555 -= einsum("wia->wia", x457) + del x457 + x465 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x465 += einsum("ia,ijba->jb", t1.bb, x456) + del x456 + x466 -= einsum("ia->ia", x465) + x467 += einsum("ai,jb->ijab", l1.bb, x466) + del x466 + x563 -= einsum("ia->ia", x465) + del x465 + x463 -= einsum("ijka->jika", v.bbbb.ooov) + x464 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x464 += einsum("ai,ijkb->jkab", l1.bb, x463) + del x463 + x467 += einsum("ijab->ijab", x464) + del x464 + l2new_bbbb += einsum("ijab->abij", x467) + l2new_bbbb -= einsum("ijab->baij", x467) + l2new_bbbb -= einsum("ijab->abji", x467) + l2new_bbbb += einsum("ijab->baji", x467) + del x467 + x474 = np.zeros((nbos, nbos, nocc[1], nvir[1]), dtype=types[float]) + x474 += einsum("wxia,iajb->wxjb", u12.aa, v.aabb.ovov) + x476 += einsum("wxia->xwia", x474) + del x474 + x477 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x477 += einsum("wxai,wxjb->ijab", lu12.bb, x476) * 0.5 + x491 += einsum("ijab->ijab", x477) + del x477 + x537 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x537 += einsum("wxai,wxjb->ijab", lu12.aa, x476) * 0.5 + del x476 + l2new_baba += einsum("ijab->baji", x537) + l2new_abab += einsum("ijab->abij", x537) + del x537 + x484 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x484 += einsum("ijab,iajc->bc", t2.abab, v.aabb.ovov) + x486 += einsum("ab->ab", x484) + x487 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x487 += einsum("ab,acij->ijcb", x486, l2.bbbb) + del x486 + x491 += einsum("ijab->jiab", x487) * -1 + del x487 + l2new_bbbb += einsum("ijab->abij", x491) + l2new_bbbb += einsum("ijab->baij", x491) * -1 + l2new_bbbb += einsum("ijab->abji", x491) * -1 + l2new_bbbb += einsum("ijab->baji", x491) + del x491 + x540 += einsum("ab->ab", x484) * -1 + del x484 + x492 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x492 += einsum("abij,kilj->klab", l2.bbbb, v.bbbb.oooo) + x494 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x494 += einsum("ijab->jiba", x492) + del x492 + x493 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x493 += einsum("abij,bcad->ijdc", l2.bbbb, v.bbbb.vvvv) + x494 += einsum("ijab->jiba", x493) + del x493 + l2new_bbbb += einsum("ijab->baij", x494) * -1 + l2new_bbbb += einsum("ijab->abij", x494) + del x494 + x501 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x501 += einsum("abij,acbd->ijcd", l2.abab, v.aabb.vvvv) + l2new_baba += einsum("ijab->baji", x501) + l2new_abab += einsum("ijab->abij", x501) + del x501 + x502 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x502 += einsum("ai,jbac->ijcb", l1.aa, v.bbaa.ovvv) + l2new_baba += einsum("ijab->baji", x502) + l2new_abab += einsum("ijab->abij", x502) + del x502 + x504 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x504 += einsum("ai,jbac->jibc", l1.bb, v.aabb.ovvv) + l2new_baba += einsum("ijab->baji", x504) + l2new_abab += einsum("ijab->abij", x504) + del x504 + x507 += einsum("iabj->jiba", v.bbaa.ovvo) + x508 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x508 += einsum("ijab,ikac->jkbc", x245, x507) + del x507 + del x245 + l2new_baba += einsum("ijab->baji", x508) * -1 + l2new_abab += einsum("ijab->abij", x508) * -1 + del x508 + x511 += einsum("iabj->ijab", v.aabb.ovvo) + l2new_baba += einsum("ijab,kicb->acjk", x296, x511) + del x296 + l2new_abab += einsum("ijab,kicb->cakj", x287, x511) * -1 + del x511 + del x287 + x513 += einsum("iabj->ijba", v.aaaa.ovvo) + x513 += einsum("ijab->ijab", v.aaaa.oovv) * -1 + x514 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x514 += einsum("abij,kiac->kjcb", l2.abab, x513) + del x513 + l2new_baba += einsum("ijab->baji", x514) + l2new_abab += einsum("ijab->abij", x514) + del x514 + x515 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x515 += einsum("ijab,iakc->jkbc", t2.abab, v.aabb.ovov) + x518 += einsum("ijab->jiab", x515) + del x515 + x518 += einsum("iabj->ijba", v.bbbb.ovvo) + x518 += einsum("ijab->ijab", v.bbbb.oovv) * -1 + x519 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x519 += einsum("abij,kjbc->ikac", l2.abab, x518) + del x518 + l2new_baba += einsum("ijab->baji", x519) + l2new_abab += einsum("ijab->abij", x519) + del x519 + x520 = np.zeros((nocc[0], nocc[0], nvir[1], nvir[1]), dtype=types[float]) + x520 += einsum("ia,jabc->ijbc", t1.aa, v.aabb.ovvv) + x522 = np.zeros((nocc[0], nocc[0], nvir[1], nvir[1]), dtype=types[float]) + x522 += einsum("ijab->jiab", x520) + del x520 + x521 = np.zeros((nocc[0], nocc[0], nvir[1], nvir[1]), dtype=types[float]) + x521 += einsum("ijab,kajc->ikbc", t2.abab, v.aabb.ovov) + x522 += einsum("ijab->jiab", x521) * -1 + del x521 + x522 += einsum("ijab->ijab", v.aabb.oovv) + x523 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x523 += einsum("abij,kibc->kjac", l2.abab, x522) + del x522 + l2new_baba += einsum("ijab->baji", x523) * -1 + l2new_abab += einsum("ijab->abij", x523) * -1 + del x523 + x524 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + x524 += einsum("ijab,ickb->jkac", t2.abab, v.aabb.ovov) + x525 += einsum("ijab->jiab", x524) * -1 + del x524 + x525 += einsum("ijab->ijab", v.bbaa.oovv) + x526 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x526 += einsum("abij,kjac->ikcb", l2.abab, x525) + del x525 + l2new_baba += einsum("ijab->baji", x526) * -1 + l2new_abab += einsum("ijab->abij", x526) * -1 + del x526 + x528 += einsum("ijkl->ijkl", v.aabb.oooo) + x529 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x529 += einsum("abij,kilj->klab", l2.abab, x528) + del x528 + l2new_baba += einsum("ijab->baji", x529) + l2new_abab += einsum("ijab->abij", x529) + del x529 + x540 += einsum("ab->ab", f.bb.vv) + x541 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x541 += einsum("ab,caij->ijcb", x540, l2.abab) + l2new_baba += einsum("ijab->baji", x541) + l2new_abab += einsum("ijab->abij", x541) + del x541 + x571 += einsum("ab,wib->wia", x540, u11.bb) * -1 + lu12new_bb += einsum("ab,wxai->xwbi", x540, lu12.bb) + del x540 + x543 += einsum("ab->ab", f.aa.vv) + x544 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x544 += einsum("ab,acij->ijbc", x543, l2.abab) + l2new_baba += einsum("ijab->baji", x544) + l2new_abab += einsum("ijab->abij", x544) + del x544 + x575 += einsum("ab,wib->wia", x543, u11.aa) * -1 + lu12new_aa += einsum("ab,wxai->xwbi", x543, lu12.aa) + del x543 + x553 += einsum("wia->wia", gc.aa.bov) + x554 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x554 += einsum("wai,wjb->jiba", lu11.bb, x553) + del x553 + l2new_baba += einsum("ijab->baji", x554) + l2new_abab += einsum("ijab->abij", x554) + del x554 + x555 += einsum("wia->wia", gc.bb.bov) + x556 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x556 += einsum("wai,wjb->ijab", lu11.aa, x555) + del x555 + l2new_baba += einsum("ijab->baji", x556) + l2new_abab += einsum("ijab->abij", x556) + del x556 + x559 += einsum("ijka->ijka", v.aabb.ooov) + x560 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x560 += einsum("ai,jikb->jkab", l1.aa, x559) + del x559 + l2new_baba -= einsum("ijab->baji", x560) + l2new_abab -= einsum("ijab->abij", x560) + del x560 + x561 += einsum("iajk->ijka", v.aabb.ovoo) + x562 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x562 += einsum("ai,jkib->jkba", l1.bb, x561) + del x561 + l2new_baba -= einsum("ijab->baji", x562) + l2new_abab -= einsum("ijab->abij", x562) + del x562 + x563 += einsum("ia->ia", f.bb.ov) + x578 += einsum("ia,wia->w", x563, u11.bb) + l2new_baba += einsum("ai,jb->baji", l1.aa, x563) + l2new_abab += einsum("ai,jb->abij", l1.aa, x563) + del x563 + x564 += einsum("ia->ia", f.aa.ov) + x578 += einsum("ia,wia->w", x564, u11.aa) + l2new_baba += einsum("ai,jb->abij", l1.bb, x564) + l2new_abab += einsum("ai,jb->baji", l1.bb, x564) + del x564 + x568 += einsum("wab->wab", gc.bb.bvv) + x571 += einsum("ia,wba->wib", t1.bb, x568) * -1 + del x568 + x569 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x569 += einsum("ia,wba->wib", t1.bb, g.bb.bvv) + x570 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x570 += einsum("wia->wia", x569) + x596 += einsum("wia->wia", x569) + del x569 + x570 += einsum("wai->wia", g.bb.bvo) + x571 += einsum("wx,wia->xia", s2, x570) * -1 + del x570 + x571 += einsum("wai->wia", gc.bb.bvo) * -1 + x571 += einsum("wab,wxib->xia", g.bb.bvv, u12.bb) * -1 + x571 += einsum("wia,iabj->wjb", u11.aa, v.aabb.ovvo) * -1 + ls1new += einsum("wia,wxai->x", x571, lu12.bb) * -1 + del x571 + x572 += einsum("wab->wab", gc.aa.bvv) + x575 += einsum("ia,wba->wib", t1.aa, x572) * -1 + del x572 + x573 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x573 += einsum("ia,wba->wib", t1.aa, g.aa.bvv) + x574 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x574 += einsum("wia->wia", x573) + x592 += einsum("wia->wia", x573) + del x573 + x574 += einsum("wai->wia", g.aa.bvo) + x575 += einsum("wx,wia->xia", s2, x574) * -1 + del x574 + x575 += einsum("wai->wia", gc.aa.bvo) * -1 + x575 += einsum("wab,wxib->xia", g.aa.bvv, u12.aa) * -1 + x575 += einsum("wia,iabj->wjb", u11.bb, v.bbaa.ovvo) * -1 + ls1new += einsum("wia,wxai->x", x575, lu12.aa) * -1 + del x575 + x577 += einsum("w->w", G) + x578 += einsum("w,wx->x", x577, s2) + x605 += einsum("w,x->xw", ls1, x577) + del x577 + x578 += einsum("w->w", G) + ls1new += einsum("w,wx->x", x578, ls2) + del x578 + x579 = np.zeros((nbos, nbos), dtype=types[float]) + x579 += einsum("wx,yx->wy", ls2, w) + x605 += einsum("wx->wx", x579) + del x579 + x580 = np.zeros((nbos, nvir[0], nvir[0]), dtype=types[float]) + x580 += einsum("wia,wxbi->xba", u11.aa, lu12.aa) + x581 = np.zeros((nbos, nbos), dtype=types[float]) + x581 += einsum("wab,xab->wx", g.aa.bvv, x580) + x605 += einsum("wx->wx", x581) + del x581 + x608 = np.zeros((nbos, nbos, nocc[0], nvir[0]), dtype=types[float]) + x608 += einsum("wia,xba->wxib", g.aa.bov, x580) + del x580 + x612 += einsum("wxia->wxia", x608) + del x608 + x583 = np.zeros((nbos, nvir[1], nvir[1]), dtype=types[float]) + x583 += einsum("wia,xwbi->xba", u11.bb, lu12.bb) + x584 = np.zeros((nbos, nbos), dtype=types[float]) + x584 += einsum("wab,xab->wx", g.bb.bvv, x583) + x605 += einsum("wx->wx", x584) + del x584 + x626 = np.zeros((nbos, nbos, nocc[1], nvir[1]), dtype=types[float]) + x626 += einsum("wia,xba->wxib", g.bb.bov, x583) + del x583 + x630 += einsum("wxia->wxia", x626) + del x626 + x590 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x590 += einsum("wia,jiba->wjb", g.bb.bov, t2.abab) + x592 += einsum("wia->wia", x590) + del x590 + x592 += einsum("wai->wia", g.aa.bvo) + x593 = np.zeros((nbos, nbos), dtype=types[float]) + x593 += einsum("wai,xia->wx", lu11.aa, x592) + del x592 + x605 += einsum("wx->xw", x593) + del x593 + x594 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x594 += einsum("wia,ijab->wjb", g.aa.bov, t2.abab) + x596 += einsum("wia->wia", x594) + del x594 + x596 += einsum("wai->wia", g.bb.bvo) + x597 = np.zeros((nbos, nbos), dtype=types[float]) + x597 += einsum("wai,xia->wx", lu11.bb, x596) + del x596 + x605 += einsum("wx->xw", x597) + del x597 + x598 += einsum("wij->wij", g.aa.boo) + x599 = np.zeros((nbos, nbos), dtype=types[float]) + x599 += einsum("wij,xji->wx", x167, x598) + del x167 + x605 -= einsum("wx->xw", x599) + del x599 + x600 = np.zeros((nbos, nbos), dtype=types[float]) + x600 += einsum("wij,xji->wx", x168, x598) + del x168 + x605 -= einsum("wx->xw", x600) + del x600 + x609 = np.zeros((nbos, nbos, nocc[0], nvir[0]), dtype=types[float]) + x609 += einsum("wai,xji->wxja", lu11.aa, x598) + del x598 + x612 += einsum("wxia->xwia", x609) + del x609 + x601 += einsum("wij->wij", g.bb.boo) + x602 = np.zeros((nbos, nbos), dtype=types[float]) + x602 += einsum("wij,xji->wx", x196, x601) + del x196 + x605 -= einsum("wx->xw", x602) + del x602 + ls2new += einsum("wx->wx", x605) + ls2new += einsum("wx->xw", x605) + del x605 + x627 = np.zeros((nbos, nbos, nocc[1], nvir[1]), dtype=types[float]) + x627 += einsum("wai,xji->wxja", lu11.bb, x601) + del x601 + x630 += einsum("wxia->xwia", x627) + del x627 + x606 = np.zeros((nbos, nbos, nocc[0], nvir[0]), dtype=types[float]) + x606 += einsum("wx,xyai->ywia", w, lu12.aa) + x612 -= einsum("wxia->wxia", x606) + del x606 + x607 = np.zeros((nbos, nbos, nocc[0], nvir[0]), dtype=types[float]) + x607 += einsum("wab,xai->wxib", g.aa.bvv, lu11.aa) + x612 -= einsum("wxia->wxia", x607) + del x607 + lu12new_aa -= einsum("wxia->wxai", x612) + lu12new_aa -= einsum("wxia->xwai", x612) + del x612 + x613 = np.zeros((nbos, nbos, nocc[0], nvir[0]), dtype=types[float]) + x613 += einsum("wxai,jiba->wxjb", lu12.bb, t2.abab) + x615 += einsum("wxia->xwia", x613) + del x613 + lu12new_aa += einsum("ijab,wxia->xwbj", x12, x615) * -1 + del x12 + lu12new_bb += einsum("iajb,wxia->xwbj", v.aabb.ovov, x615) + del x615 + x616 += einsum("iabj->ijba", v.aaaa.ovvo) + x616 -= einsum("ijab->ijab", v.aaaa.oovv) + lu12new_aa += einsum("wxai,jiab->xwbj", lu12.aa, x616) + del x616 + x617 = np.zeros((nbos, nbos, nocc[1], nvir[1]), dtype=types[float]) + x617 += einsum("wxai,ijab->wxjb", lu12.aa, t2.abab) + x619 += einsum("wxia->xwia", x617) + del x617 + lu12new_aa += einsum("iajb,wxjb->xwai", v.aabb.ovov, x619) + lu12new_bb += einsum("wxia,ijba->xwbj", x619, x93) * -1 + del x619 + del x93 + x620 += einsum("iabj->ijab", v.aabb.ovvo) + lu12new_aa += einsum("wxai,jiba->xwbj", lu12.bb, x620) + del x620 + x621 = np.zeros((nbos, nbos, nbos), dtype=types[float]) + x621 += einsum("wia,xyai->xyw", u11.aa, lu12.aa) + x623 = np.zeros((nbos, nbos, nbos), dtype=types[float]) + x623 += einsum("wxy->xwy", x621) + del x621 + x622 = np.zeros((nbos, nbos, nbos), dtype=types[float]) + x622 += einsum("wia,xyai->xyw", u11.bb, lu12.bb) + x623 += einsum("wxy->xwy", x622) + del x622 + lu12new_aa += einsum("wia,xyw->yxai", g.aa.bov, x623) + lu12new_bb += einsum("wia,xyw->yxai", g.bb.bov, x623) + del x623 + x624 = np.zeros((nbos, nbos, nocc[1], nvir[1]), dtype=types[float]) + x624 += einsum("wx,xyai->ywia", w, lu12.bb) + x630 -= einsum("wxia->wxia", x624) + del x624 + x625 = np.zeros((nbos, nbos, nocc[1], nvir[1]), dtype=types[float]) + x625 += einsum("wab,xai->wxib", g.bb.bvv, lu11.bb) + x630 -= einsum("wxia->wxia", x625) + del x625 + lu12new_bb -= einsum("wxia->wxai", x630) + lu12new_bb -= einsum("wxia->xwai", x630) + del x630 + x631 += einsum("iabj->ijba", v.bbbb.ovvo) + x631 -= einsum("ijab->ijab", v.bbbb.oovv) + lu12new_bb += einsum("wxai,jiab->xwbj", lu12.bb, x631) + del x631 + x632 += einsum("iabj->jiba", v.bbaa.ovvo) + lu12new_bb += einsum("wxai,ijab->xwbj", lu12.aa, x632) + del x632 + l1new_aa += einsum("w,wia->ai", ls1, gc.aa.bov) + l1new_aa += einsum("ai,jbai->bj", l1.bb, v.aabb.ovvo) + l1new_aa += einsum("ia->ai", f.aa.ov) + l1new_bb += einsum("w,wia->ai", ls1, gc.bb.bov) + l1new_bb += einsum("ai,jbai->bj", l1.aa, v.bbaa.ovvo) + l1new_bb += einsum("ia->ai", f.bb.ov) + l2new_aaaa -= einsum("iajb->abji", v.aaaa.ovov) + l2new_aaaa += einsum("iajb->baji", v.aaaa.ovov) + l2new_bbbb -= einsum("iajb->abji", v.bbbb.ovov) + l2new_bbbb += einsum("iajb->baji", v.bbbb.ovov) + l2new_baba += einsum("iajb->baji", v.aabb.ovov) + l2new_abab += einsum("iajb->abij", v.aabb.ovov) + ls1new += einsum("w,xw->x", ls1, w) + ls1new += einsum("ai,wai->w", l1.aa, g.aa.bvo) + ls1new += einsum("ai,wai->w", l1.bb, g.bb.bvo) + ls1new += einsum("w->w", G) + lu11new_aa += einsum("w,xwai->xai", G, lu12.aa) + lu11new_aa += einsum("wx,xia->wai", ls2, gc.aa.bov) + lu11new_aa += einsum("wx,xai->wai", w, lu11.aa) + lu11new_aa -= einsum("ij,waj->wai", f.aa.oo, lu11.aa) + lu11new_aa -= einsum("ai,wji->waj", l1.aa, g.aa.boo) + lu11new_aa += einsum("ab,wai->wbi", f.aa.vv, lu11.aa) + lu11new_aa += einsum("ai,wab->wbi", l1.aa, g.aa.bvv) + lu11new_aa += einsum("wab,xwai->xbi", gc.aa.bvv, lu12.aa) + lu11new_aa += einsum("wia->wai", g.aa.bov) + lu11new_aa -= einsum("wij,xwaj->xai", gc.aa.boo, lu12.aa) + lu11new_aa += einsum("wai,baji->wbj", g.bb.bvo, l2.abab) + lu11new_aa += einsum("wai,jbai->wbj", lu11.bb, v.aabb.ovvo) + lu11new_bb += einsum("w,xwai->xai", G, lu12.bb) + lu11new_bb += einsum("wx,xia->wai", ls2, gc.bb.bov) + lu11new_bb += einsum("wx,xai->wai", w, lu11.bb) + lu11new_bb += einsum("ab,wai->wbi", f.bb.vv, lu11.bb) + lu11new_bb += einsum("ai,wab->wbi", l1.bb, g.bb.bvv) + lu11new_bb += einsum("wai,abij->wbj", g.aa.bvo, l2.abab) + lu11new_bb += einsum("wai,jbai->wbj", lu11.aa, v.bbaa.ovvo) + lu11new_bb += einsum("wia->wai", g.bb.bov) + lu11new_bb -= einsum("wij,xwaj->xai", gc.bb.boo, lu12.bb) + lu11new_bb -= einsum("ij,waj->wai", f.bb.oo, lu11.bb) + lu11new_bb -= einsum("ai,wji->waj", l1.bb, g.bb.boo) + lu11new_bb += einsum("wab,xwai->xbi", gc.bb.bvv, lu12.bb) + + l1new.aa = l1new_aa + l1new.bb = l1new_bb + l2new.abab = l2new_abab + l2new.baba = l2new_baba + l2new.aaaa = l2new_aaaa + l2new.bbbb = l2new_bbbb + lu11new.aa = lu11new_aa + lu11new.bb = lu11new_bb + lu12new.aa = lu12new_aa + lu12new.bb = lu12new_bb + + return {"l1new": l1new, "l2new": l2new, "ls1new": ls1new, "ls2new": ls2new, "lu11new": lu11new, "lu12new": lu12new} + +def make_rdm1_f(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, s2=None, u11=None, u12=None, l1=None, l2=None, ls1=None, ls2=None, lu11=None, lu12=None, **kwargs): + rdm1_f = Namespace() + + # Get boson coupling creation array: + gc = Namespace( + aa = Namespace( + boo=g.aa.boo.transpose(0, 2, 1), + bov=g.aa.bvo.transpose(0, 2, 1), + bvo=g.aa.bov.transpose(0, 2, 1), + bvv=g.aa.bvv.transpose(0, 2, 1), + ), + bb = Namespace( + boo=g.bb.boo.transpose(0, 2, 1), + bov=g.bb.bvo.transpose(0, 2, 1), + bvo=g.bb.bov.transpose(0, 2, 1), + bvv=g.bb.bvv.transpose(0, 2, 1), + ), + ) + + delta_oo = Namespace() + delta_oo.aa = np.eye(nocc[0]) + delta_oo.bb = np.eye(nocc[1]) + delta_vv = Namespace() + delta_vv.aa = np.eye(nvir[0]) + delta_vv.bb = np.eye(nvir[1]) + + # 1RDM + x0 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x0 += einsum("abij,kjab->ik", l2.abab, t2.abab) + x17 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x17 += einsum("ij->ij", x0) * 2 + rdm1_f_oo_aa = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + rdm1_f_oo_aa += einsum("ij->ij", x0) * -1 + del x0 + x1 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x1 += einsum("wxai,wxja->ij", lu12.aa, u12.aa) + x17 += einsum("ij->ij", x1) + rdm1_f_oo_aa += einsum("ij->ij", x1) * -0.5 + del x1 + x2 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x2 += einsum("ai,ja->ij", l1.aa, t1.aa) + x17 += einsum("ij->ij", x2) * 2 + rdm1_f_oo_aa -= einsum("ij->ij", x2) + del x2 + x3 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x3 += einsum("wai,wja->ij", lu11.aa, u11.aa) + x17 += einsum("ij->ij", x3) * 2 + rdm1_f_oo_aa -= einsum("ij->ij", x3) + del x3 + x4 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x4 += einsum("ijab->jiab", t2.aaaa) * -1 + x4 += einsum("ijab->jiba", t2.aaaa) + rdm1_f_oo_aa += einsum("abij,ikab->jk", l2.aaaa, x4) * -1 + del x4 + x5 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x5 += einsum("wxai,wxja->ij", lu12.bb, u12.bb) + x24 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x24 += einsum("ij->ij", x5) * 0.5 + rdm1_f_oo_bb = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + rdm1_f_oo_bb += einsum("ij->ij", x5) * -0.5 + del x5 + x6 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x6 += einsum("wai,wja->ij", lu11.bb, u11.bb) + x24 += einsum("ij->ij", x6) + rdm1_f_oo_bb -= einsum("ij->ij", x6) + del x6 + x7 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x7 += einsum("ai,ja->ij", l1.bb, t1.bb) + x24 += einsum("ij->ij", x7) + rdm1_f_oo_bb -= einsum("ij->ij", x7) + del x7 + x8 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x8 += einsum("abij,ikab->jk", l2.abab, t2.abab) + x24 += einsum("ij->ij", x8) + rdm1_f_oo_bb += einsum("ij->ij", x8) * -1 + del x8 + x9 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x9 += einsum("ijab->jiab", t2.bbbb) * -1 + x9 += einsum("ijab->jiba", t2.bbbb) + x24 += einsum("abij,ikba->jk", l2.bbbb, x9) * -1 + rdm1_f_vo_bb = np.zeros((nvir[1], nocc[1]), dtype=types[float]) + rdm1_f_vo_bb += einsum("ia,ij->aj", t1.bb, x24) * -1 + del x24 + rdm1_f_oo_bb += einsum("abij,ikab->jk", l2.bbbb, x9) * -1 + del x9 + x10 = np.zeros((nbos, nbos, nocc[0], nocc[0]), dtype=types[float]) + x10 += einsum("ia,wxaj->wxji", t1.aa, lu12.aa) + rdm1_f_vo_aa = np.zeros((nvir[0], nocc[0]), dtype=types[float]) + rdm1_f_vo_aa += einsum("wxia,wxij->aj", u12.aa, x10) * -0.5 + del x10 + x11 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x11 += einsum("ia,abjk->jikb", t1.aa, l2.abab) + rdm1_f_vo_aa += einsum("ijab,ikjb->ak", t2.abab, x11) * -1 + del x11 + x12 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x12 += einsum("ia,bajk->jkib", t1.aa, l2.aaaa) + x13 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x13 += einsum("ijka->ijka", x12) + x13 += einsum("ijka->jika", x12) * -1 + del x12 + rdm1_f_vo_aa += einsum("ijab,jikb->ak", t2.aaaa, x13) * -1 + del x13 + x14 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x14 += einsum("ijab->jiab", t2.aaaa) + x14 -= einsum("ijab->jiba", t2.aaaa) + rdm1_f_vo_aa -= einsum("ai,ijab->bj", l1.aa, x14) + del x14 + x15 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) + x15 += einsum("ia,waj->wji", t1.aa, lu11.aa) + x15 += einsum("wia,wxaj->xji", u11.aa, lu12.aa) + rdm1_f_vo_aa -= einsum("wia,wij->aj", u11.aa, x15) + del x15 + x16 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x16 += einsum("ijab->jiab", t2.aaaa) + x16 += einsum("ijab->jiba", t2.aaaa) * -1 + x17 += einsum("abij,ikab->jk", l2.aaaa, x16) * -2 + del x16 + rdm1_f_vo_aa += einsum("ia,ij->aj", t1.aa, x17) * -0.5 + del x17 + x18 = np.zeros((nbos, nbos, nocc[1], nocc[1]), dtype=types[float]) + x18 += einsum("ia,wxaj->wxji", t1.bb, lu12.bb) + rdm1_f_vo_bb += einsum("wxia,wxij->aj", u12.bb, x18) * -0.5 + del x18 + x19 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x19 += einsum("ia,bajk->jkib", t1.bb, l2.abab) + rdm1_f_vo_bb += einsum("ijab,ijka->bk", t2.abab, x19) * -1 + del x19 + x20 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x20 += einsum("ia,abjk->kjib", t1.bb, l2.bbbb) + x21 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x21 += einsum("ijka->ijka", x20) + x21 += einsum("ijka->jika", x20) * -1 + del x20 + rdm1_f_vo_bb += einsum("ijab,ijka->bk", t2.bbbb, x21) * -1 + del x21 + x22 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x22 += einsum("ijab->jiab", t2.bbbb) + x22 -= einsum("ijab->jiba", t2.bbbb) + rdm1_f_vo_bb -= einsum("ai,ijab->bj", l1.bb, x22) + del x22 + x23 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) + x23 += einsum("ia,waj->wji", t1.bb, lu11.bb) + x23 += einsum("wia,wxaj->xji", u11.bb, lu12.bb) + rdm1_f_vo_bb -= einsum("wia,wij->aj", u11.bb, x23) + del x23 + x25 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x25 += einsum("abij->jiab", l2.aaaa) * -1 + x25 += einsum("abij->jiba", l2.aaaa) + rdm1_f_vv_aa = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + rdm1_f_vv_aa += einsum("ijab,ijbc->ac", t2.aaaa, x25) * -1 + del x25 + x26 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x26 += einsum("abij->jiab", l2.bbbb) * -1 + x26 += einsum("abij->jiba", l2.bbbb) + rdm1_f_vv_bb = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + rdm1_f_vv_bb += einsum("ijab,ijca->bc", t2.bbbb, x26) * -1 + del x26 + rdm1_f_oo_aa += einsum("ij->ji", delta_oo.aa) + rdm1_f_oo_bb += einsum("ij->ji", delta_oo.bb) + rdm1_f_ov_aa = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + rdm1_f_ov_aa += einsum("ai->ia", l1.aa) + rdm1_f_ov_bb = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + rdm1_f_ov_bb += einsum("ai->ia", l1.bb) + rdm1_f_vo_aa += einsum("wx,wxia->ai", ls2, u12.aa) * 0.5 + rdm1_f_vo_aa += einsum("w,wia->ai", ls1, u11.aa) + rdm1_f_vo_aa += einsum("ia->ai", t1.aa) + rdm1_f_vo_aa += einsum("ai,jiba->bj", l1.bb, t2.abab) + rdm1_f_vo_bb += einsum("ai,ijab->bj", l1.aa, t2.abab) + rdm1_f_vo_bb += einsum("wx,wxia->ai", ls2, u12.bb) * 0.5 + rdm1_f_vo_bb += einsum("w,wia->ai", ls1, u11.bb) + rdm1_f_vo_bb += einsum("ia->ai", t1.bb) + rdm1_f_vv_aa += einsum("wai,wib->ba", lu11.aa, u11.aa) + rdm1_f_vv_aa += einsum("ai,ib->ba", l1.aa, t1.aa) + rdm1_f_vv_aa += einsum("wxai,wxib->ba", lu12.aa, u12.aa) * 0.5 + rdm1_f_vv_aa += einsum("abij,ijcb->ca", l2.abab, t2.abab) + rdm1_f_vv_bb += einsum("ai,ib->ba", l1.bb, t1.bb) + rdm1_f_vv_bb += einsum("abij,ijac->cb", l2.abab, t2.abab) + rdm1_f_vv_bb += einsum("wxai,wxib->ba", lu12.bb, u12.bb) * 0.5 + rdm1_f_vv_bb += einsum("wai,wib->ba", lu11.bb, u11.bb) + + rdm1_f_aa = np.block([[rdm1_f_oo_aa, rdm1_f_ov_aa], [rdm1_f_vo_aa, rdm1_f_vv_aa]]) + rdm1_f_bb = np.block([[rdm1_f_oo_bb, rdm1_f_ov_bb], [rdm1_f_vo_bb, rdm1_f_vv_bb]]) + + rdm1_f.aa = rdm1_f_aa + rdm1_f.bb = rdm1_f_bb + + return rdm1_f + +def make_rdm2_f(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, s2=None, u11=None, u12=None, l1=None, l2=None, ls1=None, ls2=None, lu11=None, lu12=None, **kwargs): + rdm2_f = Namespace() + + # Get boson coupling creation array: + gc = Namespace( + aa = Namespace( + boo=g.aa.boo.transpose(0, 2, 1), + bov=g.aa.bvo.transpose(0, 2, 1), + bvo=g.aa.bov.transpose(0, 2, 1), + bvv=g.aa.bvv.transpose(0, 2, 1), + ), + bb = Namespace( + boo=g.bb.boo.transpose(0, 2, 1), + bov=g.bb.bvo.transpose(0, 2, 1), + bvo=g.bb.bov.transpose(0, 2, 1), + bvv=g.bb.bvv.transpose(0, 2, 1), + ), + ) + + delta_oo = Namespace() + delta_oo.aa = np.eye(nocc[0]) + delta_oo.bb = np.eye(nocc[1]) + delta_vv = Namespace() + delta_vv.aa = np.eye(nvir[0]) + delta_vv.bb = np.eye(nvir[1]) + + # 2RDM + x0 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x0 += einsum("abij,klab->ijkl", l2.aaaa, t2.aaaa) + x52 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x52 += einsum("ijkl->jilk", x0) + rdm2_f_oooo_aaaa = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + rdm2_f_oooo_aaaa += einsum("ijkl->jkil", x0) * -1 + rdm2_f_oooo_aaaa += einsum("ijkl->jlik", x0) + x1 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x1 += einsum("ia,abjk->kjib", t1.aa, l2.aaaa) + x2 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x2 += einsum("ia,jkla->jkil", t1.aa, x1) + x52 += einsum("ijkl->ijkl", x2) + x53 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x53 += einsum("ia,ijkl->jkla", t1.aa, x52) + del x52 + x60 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x60 += einsum("ijka->ikja", x53) * -1 + x127 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x127 += einsum("ijka->ikja", x53) + del x53 + x220 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x220 += einsum("ia,ijkl->jlka", t1.aa, x2) + x221 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x221 += einsum("ia,ijkb->jkab", t1.aa, x220) + del x220 + x227 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x227 += einsum("ijab->ijab", x221) + del x221 + x230 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x230 += einsum("ijab,jikl->lkab", t2.aaaa, x2) + x233 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x233 += einsum("ijab->ijab", x230) + del x230 + rdm2_f_oooo_aaaa += einsum("ijkl->ikjl", x2) + rdm2_f_oooo_aaaa += einsum("ijkl->iljk", x2) * -1 + del x2 + x49 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x49 += einsum("ijka->ijka", x1) * -1 + x49 += einsum("ijka->jika", x1) + x56 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x56 += einsum("ijab,ijka->kb", t2.aaaa, x49) * 2 + x59 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x59 += einsum("ia->ia", x56) * -1 + del x56 + x119 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x119 += einsum("ijab,ijka->kb", t2.aaaa, x49) + x124 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x124 += einsum("ia->ia", x119) * -1 + x336 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x336 += einsum("ia->ia", x119) * -1 + del x119 + x190 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x190 += einsum("ijab,ijka->kb", t2.aaaa, x49) * 2.0000000000000013 + x193 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x193 += einsum("ia->ia", x190) * -1 + del x190 + x317 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x317 += einsum("ijab,ikla->kljb", t2.abab, x49) + x319 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x319 += einsum("ijka->ijka", x317) * -1 + del x317 + x337 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x337 += einsum("ijab,ijka->kb", t2.aaaa, x49) * -1 + x98 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x98 += einsum("ijka->ijka", x1) + x98 += einsum("ijka->jika", x1) * -1 + x99 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x99 += einsum("ijab,ikla->kljb", t2.abab, x98) + del x98 + rdm2_f_oovo_aabb = np.zeros((nocc[0], nocc[0], nvir[1], nocc[1]), dtype=types[float]) + rdm2_f_oovo_aabb += einsum("ijka->ijak", x99) * -1 + rdm2_f_vooo_bbaa = np.zeros((nvir[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) + rdm2_f_vooo_bbaa += einsum("ijka->akij", x99) * -1 + del x99 + x136 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x136 += einsum("ijka->ijka", x1) + x136 -= einsum("ijka->jika", x1) + x137 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x137 += einsum("ia,ijkb->jkab", t1.aa, x136) + del x136 + rdm2_f_oovv_aaaa = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + rdm2_f_oovv_aaaa -= einsum("ijab->ijab", x137) + rdm2_f_vvoo_aaaa = np.zeros((nvir[0], nvir[0], nocc[0], nocc[0]), dtype=types[float]) + rdm2_f_vvoo_aaaa -= einsum("ijab->abij", x137) + del x137 + x168 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x168 -= einsum("ijka->ijka", x1) + x168 += einsum("ijka->jika", x1) + x169 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x169 += einsum("ia,ijkb->jkab", t1.aa, x168) + rdm2_f_ovvo_aaaa = np.zeros((nocc[0], nvir[0], nvir[0], nocc[0]), dtype=types[float]) + rdm2_f_ovvo_aaaa -= einsum("ijab->ibaj", x169) + rdm2_f_voov_aaaa = np.zeros((nvir[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + rdm2_f_voov_aaaa -= einsum("ijab->ajib", x169) + del x169 + x350 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x350 += einsum("ijab,ijkc->kcab", t2.aaaa, x1) + x355 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x355 += einsum("iabc->iabc", x350) + del x350 + x351 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x351 += einsum("ia,jikb->jkba", t1.aa, x1) + x353 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x353 += einsum("ijab->ijab", x351) * -2 + del x351 + rdm2_f_ooov_aaaa = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + rdm2_f_ooov_aaaa += einsum("ijka->ikja", x1) + rdm2_f_ooov_aaaa -= einsum("ijka->jkia", x1) + rdm2_f_ovoo_aaaa = np.zeros((nocc[0], nvir[0], nocc[0], nocc[0]), dtype=types[float]) + rdm2_f_ovoo_aaaa -= einsum("ijka->iajk", x1) + rdm2_f_ovoo_aaaa += einsum("ijka->jaik", x1) + del x1 + x3 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x3 += einsum("wai,wja->ij", lu11.aa, u11.aa) + x14 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x14 += einsum("ij->ji", x3) + x38 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x38 += einsum("ia,ij->ja", t1.aa, x3) + x43 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x43 += einsum("ia->ia", x38) + del x38 + x44 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x44 += einsum("ij->ij", x3) + x110 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x110 += einsum("ij->ij", x3) + x197 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x197 += einsum("ij,kiab->kjab", x3, t2.aaaa) + x219 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x219 -= einsum("ijab->ijab", x197) + del x197 + x235 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x235 += einsum("ij->ij", x3) + x335 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x335 += einsum("ij->ij", x3) + rdm2_f_oooo_aaaa -= einsum("ij,kl->ijkl", delta_oo.aa, x3) + rdm2_f_oooo_aaaa += einsum("ij,kl->ilkj", delta_oo.aa, x3) + rdm2_f_oooo_aaaa += einsum("ij,kl->kijl", delta_oo.aa, x3) + rdm2_f_oooo_aaaa -= einsum("ij,kl->klji", delta_oo.aa, x3) + del x3 + x4 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x4 += einsum("wxai,wxja->ij", lu12.aa, u12.aa) + x8 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x8 += einsum("ij->ij", x4) + x14 += einsum("ij->ji", x4) * 0.5 + x57 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x57 += einsum("ij->ij", x4) * 0.5 + x110 += einsum("ij->ij", x4) * 0.5 + x191 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x191 += einsum("ij->ij", x4) * 0.49999999999999967 + x335 += einsum("ij->ij", x4) * 0.5 + del x4 + x5 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x5 += einsum("abij,kjab->ik", l2.abab, t2.abab) + x8 += einsum("ij->ij", x5) * 2 + x14 += einsum("ij->ji", x5) + x57 += einsum("ij->ij", x5) + x110 += einsum("ij->ij", x5) + x191 += einsum("ij->ij", x5) + x335 += einsum("ij->ij", x5) + del x5 + x6 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x6 += einsum("ijab->jiab", t2.aaaa) + x6 += einsum("ijab->jiba", t2.aaaa) * -1 + x7 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x7 += einsum("abij,ikab->jk", l2.aaaa, x6) * 2 + x8 += einsum("ij->ij", x7) * -1 + del x7 + rdm2_f_oooo_aaaa += einsum("ij,kl->jikl", delta_oo.aa, x8) * -0.5 + rdm2_f_oooo_aaaa += einsum("ij,kl->jlki", delta_oo.aa, x8) * 0.5 + rdm2_f_oooo_aaaa += einsum("ij,kl->kjil", delta_oo.aa, x8) * 0.5 + rdm2_f_oooo_aaaa += einsum("ij,kl->klij", delta_oo.aa, x8) * -0.5 + del x8 + x13 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x13 += einsum("abij,ikab->jk", l2.aaaa, x6) + x14 += einsum("ij->ji", x13) * -1 + x57 += einsum("ij->ij", x13) * -1 + x58 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x58 += einsum("ia,ij->ja", t1.aa, x57) * 2 + x59 += einsum("ia->ia", x58) + del x58 + x60 += einsum("ia,jk->jika", t1.aa, x57) * -1 + x127 += einsum("ia,jk->jika", t1.aa, x57) + x189 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x189 += einsum("ij,ikab->kjab", x57, t2.aaaa) + del x57 + x194 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x194 += einsum("ijab->ijba", x189) + del x189 + x110 += einsum("ij->ij", x13) * -1 + x191 += einsum("ij->ij", x13) * -1 + del x13 + x192 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x192 += einsum("ia,ij->ja", t1.aa, x191) * 2.0000000000000013 + del x191 + x193 += einsum("ia->ia", x192) + del x192 + x126 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x126 += einsum("ijka,ilba->ljkb", x49, x6) + x127 += einsum("ijka->jkia", x126) + del x126 + x184 = np.zeros((nbos, nbos, nocc[0], nvir[0]), dtype=types[float]) + x184 += einsum("wxai,ijab->wxjb", lu12.aa, x6) + x185 = np.zeros((nbos, nbos, nocc[0], nvir[0]), dtype=types[float]) + x185 += einsum("wxia->xwia", x184) * -1 + del x184 + x334 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x334 += einsum("abij,ikab->jk", l2.aaaa, x6) + x335 += einsum("ij->ij", x334) * -1 + del x334 + x9 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x9 += einsum("ai,ja->ij", l1.aa, t1.aa) + x14 += einsum("ij->ji", x9) + x31 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x31 += einsum("ia,ij->ja", t1.aa, x9) + x61 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x61 += einsum("ia->ia", x31) * -1 + rdm2_f_oovo_aaaa = np.zeros((nocc[0], nocc[0], nvir[0], nocc[0]), dtype=types[float]) + rdm2_f_oovo_aaaa += einsum("ij,ka->ikaj", delta_oo.aa, x31) + rdm2_f_vooo_aaaa = np.zeros((nvir[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + rdm2_f_vooo_aaaa -= einsum("ij,ka->akji", delta_oo.aa, x31) + del x31 + x44 += einsum("ij->ij", x9) + x45 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x45 += einsum("ia,jk->jika", t1.aa, x44) + x125 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x125 += einsum("ia,jk->jika", t1.aa, x44) + del x44 + x110 += einsum("ij->ij", x9) + x123 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x123 += einsum("ia,ij->ja", t1.aa, x110) + x124 += einsum("ia->ia", x123) + del x123 + x322 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x322 += einsum("ij,ikab->jkab", x110, t2.abab) + rdm2_f_vovo_bbaa = np.zeros((nvir[1], nocc[1], nvir[0], nocc[0]), dtype=types[float]) + rdm2_f_vovo_bbaa += einsum("ijab->bjai", x322) * -1 + rdm2_f_vovo_aabb = np.zeros((nvir[0], nocc[0], nvir[1], nocc[1]), dtype=types[float]) + rdm2_f_vovo_aabb += einsum("ijab->aibj", x322) * -1 + del x322 + rdm2_f_oovo_aabb += einsum("ia,jk->jkai", t1.bb, x110) * -1 + rdm2_f_vooo_bbaa += einsum("ia,jk->aijk", t1.bb, x110) * -1 + del x110 + x195 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x195 += einsum("ij,kiab->jkab", x9, t2.aaaa) + x219 += einsum("ijab->ijab", x195) + del x195 + x235 += einsum("ij->ij", x9) + x236 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x236 += einsum("ia,ij->ja", t1.aa, x235) + del x235 + x237 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x237 += einsum("ia->ia", x236) + x238 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x238 += einsum("ia->ia", x236) + del x236 + x335 += einsum("ij->ij", x9) + x336 += einsum("ia,ij->ja", t1.aa, x335) * 0.9999999999999993 + x337 += einsum("ia,ij->ja", t1.aa, x335) + del x335 + rdm2_f_oooo_aaaa -= einsum("ij,kl->jikl", delta_oo.aa, x9) + rdm2_f_oooo_aaaa += einsum("ij,kl->kijl", delta_oo.aa, x9) + rdm2_f_oooo_aaaa += einsum("ij,kl->jlki", delta_oo.aa, x9) + rdm2_f_oooo_aaaa -= einsum("ij,kl->klji", delta_oo.aa, x9) + del x9 + x10 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) + x10 += einsum("abij,klab->ikjl", l2.abab, t2.abab) + x101 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) + x101 += einsum("ijkl->ijkl", x10) + x305 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) + x305 += einsum("ijkl->ijkl", x10) + x313 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) + x313 += einsum("ijkl->ijkl", x10) + rdm2_f_oooo_aabb = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) + rdm2_f_oooo_aabb += einsum("ijkl->ijkl", x10) + rdm2_f_oooo_bbaa = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) + rdm2_f_oooo_bbaa += einsum("ijkl->klij", x10) + del x10 + x11 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x11 += einsum("ia,bajk->jkib", t1.bb, l2.abab) + x12 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) + x12 += einsum("ia,jkla->jikl", t1.aa, x11) + x101 += einsum("ijkl->ijkl", x12) + x102 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x102 += einsum("ia,jkil->jkla", t1.bb, x101) + rdm2_f_oovo_aabb += einsum("ijka->ijak", x102) + rdm2_f_vooo_bbaa += einsum("ijka->akij", x102) + del x102 + x117 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x117 += einsum("ia,ijkl->jkla", t1.aa, x101) + del x101 + rdm2_f_oovo_bbaa = np.zeros((nocc[1], nocc[1], nvir[0], nocc[0]), dtype=types[float]) + rdm2_f_oovo_bbaa += einsum("ijka->jkai", x117) + rdm2_f_vooo_aabb = np.zeros((nvir[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) + rdm2_f_vooo_aabb += einsum("ijka->aijk", x117) + del x117 + x305 += einsum("ijkl->ijkl", x12) + x306 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x306 += einsum("ijab,ikjl->klab", t2.abab, x305) + del x305 + rdm2_f_vovo_bbaa += einsum("ijab->bjai", x306) + rdm2_f_vovo_aabb += einsum("ijab->aibj", x306) + del x306 + x313 += einsum("ijkl->ijkl", x12) * 0.9999999999999993 + x314 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x314 += einsum("ia,ijkl->jkla", t1.aa, x313) + del x313 + x315 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x315 += einsum("ijka->ijka", x314) + del x314 + rdm2_f_oooo_aabb += einsum("ijkl->ijkl", x12) + rdm2_f_oooo_bbaa += einsum("ijkl->klij", x12) + del x12 + x64 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x64 += einsum("ijab,ikla->kljb", t2.abab, x11) + x76 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x76 += einsum("ijka->ijka", x64) + x130 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x130 += einsum("ijka->ijka", x64) * -1 + x253 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x253 -= einsum("ijka->ijka", x64) + del x64 + x71 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x71 += einsum("ijab,ijka->kb", t2.abab, x11) + x75 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x75 += einsum("ia->ia", x71) * 2 + x109 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x109 += einsum("ia->ia", x71) + x279 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x279 += einsum("ia->ia", x71) * 2.0000000000000013 + x333 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x333 += einsum("ia->ia", x71) + x338 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x338 += einsum("ia->ia", x71) + del x71 + x95 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x95 += einsum("ijab,kjla->kilb", t2.abab, x11) + x319 += einsum("ijka->ijka", x95) * -1 + rdm2_f_oovo_aabb += einsum("ijka->ijak", x95) + rdm2_f_vooo_bbaa += einsum("ijka->akij", x95) + del x95 + x161 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + x161 += einsum("ia,ijkb->jkba", t1.aa, x11) + rdm2_f_oovv_bbaa = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + rdm2_f_oovv_bbaa -= einsum("ijab->ijba", x161) + rdm2_f_vvoo_aabb = np.zeros((nvir[0], nvir[0], nocc[1], nocc[1]), dtype=types[float]) + rdm2_f_vvoo_aabb -= einsum("ijab->baij", x161) + del x161 + x172 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x172 += einsum("ia,jikb->jkba", t1.bb, x11) + x376 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x376 += einsum("ijab->ijab", x172) + rdm2_f_ovvo_aabb = np.zeros((nocc[0], nvir[0], nvir[1], nocc[1]), dtype=types[float]) + rdm2_f_ovvo_aabb -= einsum("ijab->iabj", x172) + rdm2_f_voov_bbaa = np.zeros((nvir[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + rdm2_f_voov_bbaa -= einsum("ijab->bjia", x172) + del x172 + x371 = np.zeros((nocc[1], nvir[0], nvir[0], nvir[1]), dtype=types[float]) + x371 += einsum("ijab,ijkc->kcab", t2.abab, x11) + rdm2_f_vovv_bbaa = np.zeros((nvir[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + rdm2_f_vovv_bbaa += einsum("iabc->ciba", x371) * -1 + rdm2_f_vvvo_aabb = np.zeros((nvir[0], nvir[0], nvir[1], nocc[1]), dtype=types[float]) + rdm2_f_vvvo_aabb += einsum("iabc->baci", x371) * -1 + del x371 + rdm2_f_ooov_bbaa = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + rdm2_f_ooov_bbaa -= einsum("ijka->jkia", x11) + rdm2_f_ovoo_aabb = np.zeros((nocc[0], nvir[0], nocc[1], nocc[1]), dtype=types[float]) + rdm2_f_ovoo_aabb -= einsum("ijka->iajk", x11) + x14 += einsum("ij->ji", delta_oo.aa) * -1 + rdm2_f_oooo_aabb += einsum("ij,kl->lkji", delta_oo.bb, x14) * -1 + rdm2_f_oooo_bbaa += einsum("ij,kl->jilk", delta_oo.bb, x14) * -1 + del x14 + x15 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x15 += einsum("ai,ja->ij", l1.bb, t1.bb) + x21 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x21 += einsum("ij->ij", x15) * 2 + x23 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x23 += einsum("ij->ij", x15) + x89 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x89 += einsum("ij->ij", x15) + x93 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x93 += einsum("ia,ij->ja", t1.bb, x15) + x94 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x94 += einsum("ia->ia", x93) * -1 + del x93 + x239 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x239 += einsum("ij,kiab->jkab", x15, t2.bbbb) + x263 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x263 += einsum("ijab->ijab", x239) + del x239 + x297 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x297 += einsum("ij->ij", x15) + x332 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x332 += einsum("ij->ij", x15) + rdm2_f_oooo_bbbb = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + rdm2_f_oooo_bbbb -= einsum("ij,kl->jikl", delta_oo.bb, x15) + rdm2_f_oooo_bbbb += einsum("ij,kl->kijl", delta_oo.bb, x15) + rdm2_f_oooo_bbbb += einsum("ij,kl->jlki", delta_oo.bb, x15) + rdm2_f_oooo_bbbb -= einsum("ij,kl->klji", delta_oo.bb, x15) + del x15 + x16 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x16 += einsum("wai,wja->ij", lu11.bb, u11.bb) + x21 += einsum("ij->ij", x16) * 2 + x23 += einsum("ij->ij", x16) + x83 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x83 += einsum("ia,ij->ja", t1.bb, x16) + x88 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x88 += einsum("ia->ia", x83) + del x83 + x89 += einsum("ij->ij", x16) + x90 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x90 += einsum("ia,jk->jika", t1.bb, x89) + x128 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x128 += einsum("ia,jk->jika", t1.bb, x89) + del x89 + x241 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x241 += einsum("ij,kiab->kjab", x16, t2.bbbb) + x263 -= einsum("ijab->ijab", x241) + del x241 + x297 += einsum("ij->ij", x16) + x298 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x298 += einsum("ia,ij->ja", t1.bb, x297) + del x297 + x299 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x299 += einsum("ia->ia", x298) + x300 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x300 += einsum("ia->ia", x298) + del x298 + x332 += einsum("ij->ij", x16) + rdm2_f_oooo_bbbb -= einsum("ij,kl->ijkl", delta_oo.bb, x16) + rdm2_f_oooo_bbbb += einsum("ij,kl->ilkj", delta_oo.bb, x16) + rdm2_f_oooo_bbbb += einsum("ij,kl->kijl", delta_oo.bb, x16) + rdm2_f_oooo_bbbb -= einsum("ij,kl->klji", delta_oo.bb, x16) + del x16 + x17 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x17 += einsum("wxai,wxja->ij", lu12.bb, u12.bb) + x21 += einsum("ij->ij", x17) + x23 += einsum("ij->ij", x17) * 0.5 + x24 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x24 += einsum("ij->ij", x17) + x73 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x73 += einsum("ij->ij", x17) * 0.5 + x274 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x274 += einsum("ij->ij", x17) * 0.5 + x277 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x277 += einsum("ij->ij", x17) * 0.49999999999999967 + x332 += einsum("ij->ij", x17) * 0.5 + del x17 + x18 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x18 += einsum("abij,ikab->jk", l2.abab, t2.abab) + x21 += einsum("ij->ij", x18) * 2 + x23 += einsum("ij->ij", x18) + x24 += einsum("ij->ij", x18) * 2 + x73 += einsum("ij->ij", x18) + x265 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x265 += einsum("ij,kiab->jkab", x18, t2.bbbb) + x280 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x280 += einsum("ijab->ijab", x265) * -1 + del x265 + x277 += einsum("ij->ij", x18) + x332 += einsum("ij->ij", x18) + del x18 + x19 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x19 += einsum("ijab->jiab", t2.bbbb) * -1 + x19 += einsum("ijab->jiba", t2.bbbb) + x20 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x20 += einsum("abij,ikba->jk", l2.bbbb, x19) * 2 + x21 += einsum("ij->ij", x20) * -1 + rdm2_f_oooo_aabb += einsum("ij,kl->jikl", delta_oo.aa, x21) * -0.5 + rdm2_f_oovo_bbaa += einsum("ia,jk->jkai", t1.aa, x21) * -0.5 + rdm2_f_vooo_aabb += einsum("ia,jk->aijk", t1.aa, x21) * -0.5 + del x21 + x24 += einsum("ij->ij", x20) * -1 + del x20 + rdm2_f_oooo_bbbb += einsum("ij,kl->jikl", delta_oo.bb, x24) * -0.5 + rdm2_f_oooo_bbbb += einsum("ij,kl->jlki", delta_oo.bb, x24) * 0.5 + rdm2_f_oooo_bbbb += einsum("ij,kl->kjil", delta_oo.bb, x24) * 0.5 + rdm2_f_oooo_bbbb += einsum("ij,kl->klij", delta_oo.bb, x24) * -0.5 + del x24 + x22 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x22 += einsum("abij,ikba->jk", l2.bbbb, x19) + x23 += einsum("ij->ij", x22) * -1 + x108 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x108 += einsum("ia,ij->ja", t1.bb, x23) + x109 += einsum("ia->ia", x108) + del x108 + x321 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x321 += einsum("ij,kiab->kjab", x23, t2.abab) + rdm2_f_vovo_bbaa += einsum("ijab->bjai", x321) * -1 + rdm2_f_vovo_aabb += einsum("ijab->aibj", x321) * -1 + del x321 + rdm2_f_oooo_bbaa += einsum("ij,kl->klji", delta_oo.aa, x23) * -1 + del x23 + x73 += einsum("ij->ij", x22) * -1 + x74 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x74 += einsum("ia,ij->ja", t1.bb, x73) * 2 + x75 += einsum("ia->ia", x74) + del x74 + x76 += einsum("ia,jk->jika", t1.bb, x73) * -1 + x130 += einsum("ia,jk->jika", t1.bb, x73) + del x73 + x274 += einsum("ij->ij", x22) * -1 + x275 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x275 += einsum("ij,ikab->kjab", x274, t2.bbbb) + del x274 + x280 += einsum("ijab->ijba", x275) + del x275 + x277 += einsum("ij->ij", x22) * -1 + del x22 + x278 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x278 += einsum("ia,ij->ja", t1.bb, x277) * 2.0000000000000013 + del x277 + x279 += einsum("ia->ia", x278) + del x278 + x268 = np.zeros((nbos, nbos, nocc[1], nvir[1]), dtype=types[float]) + x268 += einsum("wxai,ijba->wxjb", lu12.bb, x19) + x269 = np.zeros((nbos, nbos, nocc[1], nvir[1]), dtype=types[float]) + x269 += einsum("wxia->xwia", x268) * -1 + del x268 + x331 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x331 += einsum("abij,ikba->jk", l2.bbbb, x19) + x332 += einsum("ij->ij", x331) * -1 + del x331 + x333 += einsum("ia,ij->ja", t1.bb, x332) + x338 += einsum("ia,ij->ja", t1.bb, x332) * 0.9999999999999993 + del x332 + x25 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x25 += einsum("abij,klba->ijlk", l2.bbbb, t2.bbbb) + x68 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x68 += einsum("ijkl->jilk", x25) + x291 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x291 += einsum("ia,jikl->jkla", t1.bb, x25) + x292 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x292 += einsum("ia,ijkb->kjba", t1.bb, x291) + del x291 + x295 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x295 += einsum("ijab->ijab", x292) + del x292 + x293 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x293 += einsum("ijkl->jilk", x25) + rdm2_f_oooo_bbbb += einsum("ijkl->jkil", x25) * -1 + rdm2_f_oooo_bbbb += einsum("ijkl->jlik", x25) + del x25 + x26 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x26 += einsum("ia,bajk->jkib", t1.bb, l2.bbbb) + x27 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x27 += einsum("ia,jkla->kjli", t1.bb, x26) + x68 += einsum("ijkl->ijkl", x27) + x69 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x69 += einsum("ia,ijkl->jkla", t1.bb, x68) + del x68 + x76 += einsum("ijka->ikja", x69) * -1 + x130 += einsum("ijka->ikja", x69) + del x69 + x285 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x285 += einsum("ia,ijkl->jlka", t1.bb, x27) + x286 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x286 += einsum("ia,ijkb->jkab", t1.bb, x285) + del x285 + x290 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x290 += einsum("ijab->ijab", x286) + del x286 + x293 += einsum("ijkl->ijkl", x27) + x294 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x294 += einsum("ijab,ijkl->klab", t2.bbbb, x293) + del x293 + x295 += einsum("ijab->ijab", x294) + del x294 + rdm2_f_vovo_bbbb = np.zeros((nvir[1], nocc[1], nvir[1], nocc[1]), dtype=types[float]) + rdm2_f_vovo_bbbb += einsum("ijab->ajbi", x295) * -1 + rdm2_f_vovo_bbbb += einsum("ijab->bjai", x295) + del x295 + rdm2_f_oooo_bbbb += einsum("ijkl->ikjl", x27) + rdm2_f_oooo_bbbb += einsum("ijkl->iljk", x27) * -1 + del x27 + x65 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x65 += einsum("ijka->ijka", x26) + x65 += einsum("ijka->jika", x26) * -1 + x72 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x72 += einsum("ijab,ijkb->ka", t2.bbbb, x65) * 2 + x75 += einsum("ia->ia", x72) * -1 + del x72 + x104 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x104 += einsum("ijab,ijkb->ka", t2.bbbb, x65) + x109 += einsum("ia->ia", x104) * -1 + x338 += einsum("ia->ia", x104) * -1 + del x104 + x129 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x129 += einsum("ijab,kila->jklb", x19, x65) + x130 += einsum("ijka->jkia", x129) + del x129 + x276 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x276 += einsum("ijab,ijkb->ka", t2.bbbb, x65) * 2.0000000000000013 + x279 += einsum("ia->ia", x276) * -1 + del x276 + x333 += einsum("ijab,ijkb->ka", t2.bbbb, x65) * -1 + x114 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x114 += einsum("ijka->ijka", x26) * -1 + x114 += einsum("ijka->jika", x26) + x115 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x115 += einsum("ijab,kjlb->ikla", t2.abab, x114) + del x114 + x315 += einsum("ijka->ijka", x115) * -1 + rdm2_f_oovo_bbaa += einsum("ijka->jkai", x115) * -1 + rdm2_f_vooo_aabb += einsum("ijka->aijk", x115) * -1 + del x115 + x151 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x151 -= einsum("ijka->ijka", x26) + x151 += einsum("ijka->jika", x26) + x152 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x152 += einsum("ia,jikb->jkab", t1.bb, x151) + rdm2_f_oovv_bbbb = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + rdm2_f_oovv_bbbb -= einsum("ijab->ijab", x152) + rdm2_f_vvoo_bbbb = np.zeros((nvir[1], nvir[1], nocc[1], nocc[1]), dtype=types[float]) + rdm2_f_vvoo_bbbb -= einsum("ijab->abij", x152) + del x152 + x181 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x181 += einsum("ia,ijkb->jkab", t1.bb, x151) + del x151 + rdm2_f_ovvo_bbbb = np.zeros((nocc[1], nvir[1], nvir[1], nocc[1]), dtype=types[float]) + rdm2_f_ovvo_bbbb -= einsum("ijab->ibaj", x181) + rdm2_f_voov_bbbb = np.zeros((nvir[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + rdm2_f_voov_bbbb -= einsum("ijab->ajib", x181) + del x181 + x251 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x251 += einsum("ijka->ijka", x26) + x251 -= einsum("ijka->jika", x26) + x363 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x363 += einsum("ijab,ijkc->kcab", t2.bbbb, x26) + x369 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x369 += einsum("iabc->iabc", x363) + del x363 + x364 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x364 += einsum("ia,jikb->jkba", t1.bb, x26) + x366 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x366 += einsum("ijab->ijab", x364) * -2 + del x364 + rdm2_f_ooov_bbbb = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + rdm2_f_ooov_bbbb += einsum("ijka->ikja", x26) + rdm2_f_ooov_bbbb -= einsum("ijka->jkia", x26) + rdm2_f_ovoo_bbbb = np.zeros((nocc[1], nvir[1], nocc[1], nocc[1]), dtype=types[float]) + rdm2_f_ovoo_bbbb -= einsum("ijka->iajk", x26) + rdm2_f_ovoo_bbbb += einsum("ijka->jaik", x26) + del x26 + x28 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x28 += einsum("ia,abjk->jikb", t1.aa, l2.abab) + x48 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x48 += einsum("ijab,kljb->klia", t2.abab, x28) + x60 += einsum("ijka->ijka", x48) + x127 += einsum("ijka->ijka", x48) * -1 + x209 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x209 -= einsum("ijka->ijka", x48) + del x48 + x55 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x55 += einsum("ijab,ikjb->ka", t2.abab, x28) + x59 += einsum("ia->ia", x55) * 2 + x124 += einsum("ia->ia", x55) + x193 += einsum("ia->ia", x55) * 2.0000000000000013 + x336 += einsum("ia->ia", x55) + x337 += einsum("ia->ia", x55) + del x55 + x112 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x112 += einsum("ijab,iklb->klja", t2.abab, x28) + x315 += einsum("ijka->ijka", x112) + rdm2_f_oovo_bbaa += einsum("ijka->jkai", x112) + rdm2_f_vooo_aabb += einsum("ijka->aijk", x112) + del x112 + x165 = np.zeros((nocc[0], nocc[0], nvir[1], nvir[1]), dtype=types[float]) + x165 += einsum("ia,jkib->jkba", t1.bb, x28) + rdm2_f_oovv_aabb = np.zeros((nocc[0], nocc[0], nvir[1], nvir[1]), dtype=types[float]) + rdm2_f_oovv_aabb -= einsum("ijab->ijba", x165) + rdm2_f_vvoo_bbaa = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + rdm2_f_vvoo_bbaa -= einsum("ijab->baij", x165) + del x165 + x177 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x177 += einsum("ia,ijkb->jkab", t1.aa, x28) + x386 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x386 += einsum("ijab->ijab", x177) + rdm2_f_ovvo_bbaa = np.zeros((nocc[1], nvir[1], nvir[0], nocc[0]), dtype=types[float]) + rdm2_f_ovvo_bbaa -= einsum("ijab->jbai", x177) + rdm2_f_voov_aabb = np.zeros((nvir[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + rdm2_f_voov_aabb -= einsum("ijab->aijb", x177) + del x177 + x318 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x318 += einsum("ijab,klib->klja", x19, x28) + del x19 + x319 += einsum("ijka->ijka", x318) * -1 + del x318 + x381 = np.zeros((nocc[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) + x381 += einsum("ijab,ikjc->kacb", t2.abab, x28) + rdm2_f_vovv_aabb = np.zeros((nvir[0], nocc[0], nvir[1], nvir[1]), dtype=types[float]) + rdm2_f_vovv_aabb += einsum("iabc->aicb", x381) * -1 + rdm2_f_vvvo_bbaa = np.zeros((nvir[1], nvir[1], nvir[0], nocc[0]), dtype=types[float]) + rdm2_f_vvvo_bbaa += einsum("iabc->cbai", x381) * -1 + del x381 + rdm2_f_ooov_aabb = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + rdm2_f_ooov_aabb -= einsum("ijka->ijka", x28) + rdm2_f_ovoo_bbaa = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + rdm2_f_ovoo_bbaa -= einsum("ijka->kaij", x28) + x29 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x29 += einsum("wx,wxia->ia", ls2, u12.aa) + x61 += einsum("ia->ia", x29) * 0.5 + x124 += einsum("ia->ia", x29) * -0.5 + x237 += einsum("ia->ia", x29) * -0.5 + x238 += einsum("ia->ia", x29) * -0.5 + x336 += einsum("ia->ia", x29) * -0.49999999999999967 + x337 += einsum("ia->ia", x29) * -0.5 + rdm2_f_oovo_aaaa += einsum("ij,ka->jkai", delta_oo.aa, x29) * -0.5 + rdm2_f_vooo_aaaa += einsum("ij,ka->akij", delta_oo.aa, x29) * 0.5 + del x29 + x30 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x30 += einsum("w,wia->ia", ls1, u11.aa) + x61 += einsum("ia->ia", x30) + x124 += einsum("ia->ia", x30) * -1 + x237 += einsum("ia->ia", x30) * -1 + x238 += einsum("ia->ia", x30) * -1 + x336 += einsum("ia->ia", x30) * -0.9999999999999993 + x337 += einsum("ia->ia", x30) * -1 + rdm2_f_oovo_aaaa -= einsum("ij,ka->jkai", delta_oo.aa, x30) + rdm2_f_vooo_aaaa += einsum("ij,ka->akji", delta_oo.aa, x30) + del x30 + x32 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x32 += einsum("ai,jkba->ijkb", l1.aa, t2.aaaa) + x45 += einsum("ijka->ijka", x32) + x125 += einsum("ijka->ijka", x32) + x209 += einsum("ijka->ijka", x32) + del x32 + x33 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) + x33 += einsum("ia,waj->wji", t1.aa, lu11.aa) + x34 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x34 += einsum("wia,wjk->jkia", u11.aa, x33) + x45 -= einsum("ijka->ijka", x34) + x125 -= einsum("ijka->ijka", x34) + del x34 + x41 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) + x41 += einsum("wij->wij", x33) + x121 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) + x121 += einsum("wij->wij", x33) + x211 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x211 += einsum("ia,wij->wja", t1.aa, x33) + x214 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x214 -= einsum("wia->wia", x211) + del x211 + x234 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x234 += einsum("wia,wij->ja", u11.aa, x33) + del x33 + x237 += einsum("ia->ia", x234) + x238 += einsum("ia->ia", x234) + del x234 + rdm2_f_vovo_aaaa = np.zeros((nvir[0], nocc[0], nvir[0], nocc[0]), dtype=types[float]) + rdm2_f_vovo_aaaa += einsum("ia,jb->biaj", t1.aa, x238) + rdm2_f_vovo_aaaa += einsum("ia,jb->aibj", t1.aa, x238) * -1 + del x238 + x35 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) + x35 += einsum("wia,wxaj->xji", u11.aa, lu12.aa) + x36 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x36 += einsum("wia,wjk->jika", u11.aa, x35) + x45 += einsum("ijka->ijka", x36) + x125 += einsum("ijka->ijka", x36) + del x36 + rdm2_f_vooo_aaaa -= einsum("ijka->ajik", x125) + rdm2_f_vooo_aaaa += einsum("ijka->akij", x125) + del x125 + x41 += einsum("wij->wij", x35) + x42 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x42 += einsum("wia,wij->ja", u11.aa, x41) + x43 += einsum("ia->ia", x42) + del x42 + x103 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x103 += einsum("wia,wjk->jkia", u11.bb, x41) + rdm2_f_oovo_aabb -= einsum("ijka->ijak", x103) + rdm2_f_vooo_bbaa -= einsum("ijka->akij", x103) + del x103 + x324 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x324 += einsum("ia,wij->wja", t1.aa, x41) + del x41 + x325 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x325 += einsum("wia->wia", x324) + del x324 + x121 += einsum("wij->wij", x35) + x122 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x122 += einsum("wia,wij->ja", u11.aa, x121) + x124 += einsum("ia->ia", x122) + x337 += einsum("ia->ia", x122) + del x122 + x336 += einsum("wia,wij->ja", u11.aa, x121) * 0.9999999999999993 + del x121 + x200 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x200 += einsum("ia,wij->wja", t1.aa, x35) + x201 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x201 += einsum("wia,wjb->ijba", u11.aa, x200) + del x200 + x219 += einsum("ijab->ijab", x201) + del x201 + x216 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x216 += einsum("wia,wij->ja", u11.aa, x35) + del x35 + x218 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x218 -= einsum("ia->ia", x216) + del x216 + x37 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x37 += einsum("ai,jiba->jb", l1.bb, t2.abab) + x43 -= einsum("ia->ia", x37) + x124 += einsum("ia->ia", x37) * -1 + x218 += einsum("ia->ia", x37) + x336 += einsum("ia->ia", x37) * -0.9999999999999993 + x337 += einsum("ia->ia", x37) * -1 + del x37 + x39 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x39 -= einsum("ijab->jiab", t2.aaaa) + x39 += einsum("ijab->jiba", t2.aaaa) + x40 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x40 += einsum("ai,ijab->jb", l1.aa, x39) + x43 -= einsum("ia->ia", x40) + del x40 + x45 -= einsum("ij,ka->jika", delta_oo.aa, x43) + rdm2_f_oovo_aaaa += einsum("ijka->ijak", x45) + rdm2_f_oovo_aaaa -= einsum("ijka->ikaj", x45) + del x45 + rdm2_f_vooo_aaaa += einsum("ij,ka->ajik", delta_oo.aa, x43) + rdm2_f_vooo_aaaa -= einsum("ij,ka->akij", delta_oo.aa, x43) + del x43 + x323 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x323 += einsum("wai,ijab->wjb", lu11.aa, x39) + x325 -= einsum("wia->wia", x323) + del x323 + x46 = np.zeros((nbos, nbos, nocc[0], nocc[0]), dtype=types[float]) + x46 += einsum("ia,wxaj->wxji", t1.aa, lu12.aa) + x47 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x47 += einsum("wxia,wxjk->jkia", u12.aa, x46) + x60 += einsum("ijka->ijka", x47) * 0.5 + x127 += einsum("ijka->ijka", x47) * -0.5 + rdm2_f_vooo_aaaa += einsum("ijka->ajik", x127) * -1 + rdm2_f_vooo_aaaa += einsum("ijka->akij", x127) + del x127 + x182 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x182 += einsum("ia,ijkb->jkab", t1.aa, x47) + del x47 + x194 += einsum("ijab->ijab", x182) * 0.5 + del x182 + x54 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x54 += einsum("wxia,wxij->ja", u12.aa, x46) + x59 += einsum("ia->ia", x54) + x60 += einsum("ij,ka->jika", delta_oo.aa, x59) * 0.5 + rdm2_f_vooo_aaaa += einsum("ij,ka->ajik", delta_oo.aa, x59) * 0.5 + rdm2_f_vooo_aaaa += einsum("ij,ka->akij", delta_oo.aa, x59) * -0.5 + del x59 + x124 += einsum("ia->ia", x54) * 0.5 + x193 += einsum("ia->ia", x54) + x194 += einsum("ia,jb->ijab", t1.aa, x193) * 0.5 + del x193 + x336 += einsum("ia->ia", x54) * 0.49999999999999967 + x337 += einsum("ia->ia", x54) * 0.5 + del x54 + x96 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x96 += einsum("wxia,wxjk->jkia", u12.bb, x46) + x319 += einsum("ijka->ijka", x96) * 0.5 + rdm2_f_oovo_aabb += einsum("ijka->ijak", x96) * -0.5 + rdm2_f_vooo_bbaa += einsum("ijka->akij", x96) * -0.5 + del x96 + x198 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x198 += einsum("wia,wxij->xja", u11.aa, x46) + del x46 + x199 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x199 += einsum("wia,wjb->jiab", u11.aa, x198) + x219 += einsum("ijab->ijab", x199) + del x199 + x325 += einsum("wia->wia", x198) + del x198 + x50 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x50 += einsum("ijab->jiab", t2.aaaa) * -1 + x50 += einsum("ijab->jiba", t2.aaaa) + x51 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x51 += einsum("ijka,ilba->jklb", x49, x50) + del x49 + x60 += einsum("ijka->ijka", x51) + del x51 + rdm2_f_oovo_aaaa += einsum("ijka->ijak", x60) * -1 + rdm2_f_oovo_aaaa += einsum("ijka->ikaj", x60) + del x60 + x116 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x116 += einsum("ijka,ilab->ljkb", x11, x50) + del x11 + x315 += einsum("ijka->ijka", x116) * -1 + rdm2_f_oovo_bbaa += einsum("ijka->jkai", x116) * -1 + rdm2_f_vooo_aabb += einsum("ijka->aijk", x116) * -1 + del x116 + x120 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x120 += einsum("ai,ijab->jb", l1.aa, x50) + x124 += einsum("ia->ia", x120) * -1 + x337 += einsum("ia->ia", x120) * -1 + del x120 + x336 += einsum("ai,ijab->jb", l1.aa, x50) * -0.9999999999999993 + rdm2_f_vovo_bbaa += einsum("ia,jb->aibj", t1.bb, x336) * -1 + del x336 + x383 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x383 += einsum("abij,ikac->kjcb", l2.abab, x50) + del x50 + x386 += einsum("ijab->ijab", x383) * -1 + del x383 + x61 += einsum("ia->ia", t1.aa) + rdm2_f_oovo_aaaa += einsum("ij,ka->jiak", delta_oo.aa, x61) + rdm2_f_vooo_aaaa += einsum("ij,ka->aijk", delta_oo.aa, x61) * -1 + del x61 + x62 = np.zeros((nbos, nbos, nocc[1], nocc[1]), dtype=types[float]) + x62 += einsum("ia,wxaj->wxji", t1.bb, lu12.bb) + x63 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x63 += einsum("wxia,wxjk->jkia", u12.bb, x62) + x76 += einsum("ijka->ijka", x63) * 0.5 + x130 += einsum("ijka->ijka", x63) * -0.5 + rdm2_f_vooo_bbbb = np.zeros((nvir[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + rdm2_f_vooo_bbbb += einsum("ijka->ajik", x130) * -1 + rdm2_f_vooo_bbbb += einsum("ijka->akij", x130) + del x130 + x264 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x264 += einsum("ia,ijkb->jkab", t1.bb, x63) + del x63 + x280 += einsum("ijab->ijab", x264) * 0.5 + del x264 + x70 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x70 += einsum("wxia,wxij->ja", u12.bb, x62) + x75 += einsum("ia->ia", x70) + x76 += einsum("ij,ka->jika", delta_oo.bb, x75) * 0.5 + rdm2_f_vooo_bbbb += einsum("ij,ka->ajik", delta_oo.bb, x75) * 0.5 + rdm2_f_vooo_bbbb += einsum("ij,ka->akij", delta_oo.bb, x75) * -0.5 + del x75 + x109 += einsum("ia->ia", x70) * 0.5 + x279 += einsum("ia->ia", x70) + x280 += einsum("ia,jb->ijab", t1.bb, x279) * 0.5 + del x279 + x333 += einsum("ia->ia", x70) * 0.5 + x338 += einsum("ia->ia", x70) * 0.49999999999999967 + del x70 + x111 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x111 += einsum("wxia,wxjk->ijka", u12.aa, x62) + x315 += einsum("ijka->ijka", x111) * -0.5 + rdm2_f_oovo_bbaa += einsum("ijka->jkai", x111) * -0.5 + rdm2_f_vooo_aabb += einsum("ijka->aijk", x111) * -0.5 + del x111 + x242 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x242 += einsum("wia,wxij->xja", u11.bb, x62) + del x62 + x243 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x243 += einsum("wia,wjb->jiab", u11.bb, x242) + x263 += einsum("ijab->ijab", x243) + del x243 + x329 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x329 += einsum("wia->wia", x242) + del x242 + x66 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x66 += einsum("ijab->jiab", t2.bbbb) + x66 += einsum("ijab->jiba", t2.bbbb) * -1 + x67 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x67 += einsum("ijka,jlab->iklb", x65, x66) + del x65 + x76 += einsum("ijka->ijka", x67) + del x67 + rdm2_f_oovo_bbbb = np.zeros((nocc[1], nocc[1], nvir[1], nocc[1]), dtype=types[float]) + rdm2_f_oovo_bbbb += einsum("ijka->ijak", x76) * -1 + rdm2_f_oovo_bbbb += einsum("ijka->ikaj", x76) + del x76 + x100 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x100 += einsum("ijka,klba->ijlb", x28, x66) + del x28 + rdm2_f_oovo_aabb += einsum("ijka->ijak", x100) * -1 + rdm2_f_vooo_bbaa += einsum("ijka->akij", x100) * -1 + del x100 + x105 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x105 += einsum("ai,ijba->jb", l1.bb, x66) + x109 += einsum("ia->ia", x105) * -1 + x333 += einsum("ia->ia", x105) * -1 + del x105 + x338 += einsum("ai,ijba->jb", l1.bb, x66) * -0.9999999999999993 + x375 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x375 += einsum("abij,jkcb->ikac", l2.abab, x66) + x376 += einsum("ijab->ijab", x375) * -1 + del x375 + x77 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x77 += einsum("ai,jkab->ikjb", l1.bb, t2.bbbb) + x90 += einsum("ijka->ijka", x77) + x128 += einsum("ijka->ijka", x77) + x253 += einsum("ijka->ijka", x77) + del x77 + x78 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) + x78 += einsum("ia,waj->wji", t1.bb, lu11.bb) + x79 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x79 += einsum("wia,wjk->jkia", u11.bb, x78) + x90 -= einsum("ijka->ijka", x79) + x128 -= einsum("ijka->ijka", x79) + del x79 + x86 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) + x86 += einsum("wij->wij", x78) + x106 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) + x106 += einsum("wij->wij", x78) + x256 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x256 += einsum("ia,wij->wja", t1.bb, x78) + x258 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x258 -= einsum("wia->wia", x256) + del x256 + x296 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x296 += einsum("wia,wij->ja", u11.bb, x78) + del x78 + x299 += einsum("ia->ia", x296) + x300 += einsum("ia->ia", x296) + del x296 + x80 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) + x80 += einsum("wia,wxaj->xji", u11.bb, lu12.bb) + x81 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x81 += einsum("wia,wjk->jika", u11.bb, x80) + x90 += einsum("ijka->ijka", x81) + x128 += einsum("ijka->ijka", x81) + del x81 + rdm2_f_vooo_bbbb -= einsum("ijka->ajik", x128) + rdm2_f_vooo_bbbb += einsum("ijka->akij", x128) + del x128 + x86 += einsum("wij->wij", x80) + x87 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x87 += einsum("wia,wij->ja", u11.bb, x86) + x88 += einsum("ia->ia", x87) + del x87 + x118 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x118 += einsum("wia,wjk->ijka", u11.aa, x86) + rdm2_f_oovo_bbaa -= einsum("ijka->jkai", x118) + rdm2_f_vooo_aabb -= einsum("ijka->aijk", x118) + del x118 + x328 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x328 += einsum("ia,wij->wja", t1.bb, x86) + del x86 + x329 += einsum("wia->wia", x328) + del x328 + x106 += einsum("wij->wij", x80) + x107 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x107 += einsum("wia,wij->ja", u11.bb, x106) + x109 += einsum("ia->ia", x107) + x333 += einsum("ia->ia", x107) + del x107 + x338 += einsum("wia,wij->ja", u11.bb, x106) * 0.9999999999999993 + del x106 + x244 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x244 += einsum("ia,wij->wja", t1.bb, x80) + x245 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x245 += einsum("wia,wjb->ijba", u11.bb, x244) + del x244 + x263 += einsum("ijab->ijab", x245) + del x245 + x260 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x260 += einsum("wia,wij->ja", u11.bb, x80) + del x80 + x262 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x262 -= einsum("ia->ia", x260) + del x260 + x82 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x82 += einsum("ai,ijab->jb", l1.aa, t2.abab) + x88 -= einsum("ia->ia", x82) + x109 += einsum("ia->ia", x82) * -1 + x262 += einsum("ia->ia", x82) + x333 += einsum("ia->ia", x82) * -1 + x338 += einsum("ia->ia", x82) * -0.9999999999999993 + del x82 + x84 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x84 += einsum("ijab->jiab", t2.bbbb) + x84 -= einsum("ijab->jiba", t2.bbbb) + x85 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x85 += einsum("ai,ijba->jb", l1.bb, x84) + x88 -= einsum("ia->ia", x85) + del x85 + x90 -= einsum("ij,ka->jika", delta_oo.bb, x88) + rdm2_f_oovo_bbbb += einsum("ijka->ijak", x90) + rdm2_f_oovo_bbbb -= einsum("ijka->ikaj", x90) + del x90 + rdm2_f_vooo_bbbb += einsum("ij,ka->ajik", delta_oo.bb, x88) + rdm2_f_vooo_bbbb -= einsum("ij,ka->akij", delta_oo.bb, x88) + del x88 + x327 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x327 += einsum("wai,ijba->wjb", lu11.bb, x84) + x329 -= einsum("wia->wia", x327) + del x327 + x91 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x91 += einsum("w,wia->ia", ls1, u11.bb) + x94 += einsum("ia->ia", x91) + x109 += einsum("ia->ia", x91) * -1 + x299 += einsum("ia->ia", x91) * -1 + x300 += einsum("ia->ia", x91) * -1 + x333 += einsum("ia->ia", x91) * -1 + x338 += einsum("ia->ia", x91) * -0.9999999999999993 + del x91 + x92 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x92 += einsum("wx,wxia->ia", ls2, u12.bb) + x94 += einsum("ia->ia", x92) * 0.5 + x109 += einsum("ia->ia", x92) * -0.5 + x299 += einsum("ia->ia", x92) * -0.5 + x300 += einsum("ia->ia", x92) * -0.5 + rdm2_f_vovo_bbbb += einsum("ia,jb->ajbi", t1.bb, x300) + rdm2_f_vovo_bbbb += einsum("ia,jb->bjai", t1.bb, x300) * -1 + del x300 + x333 += einsum("ia->ia", x92) * -0.5 + x338 += einsum("ia->ia", x92) * -0.49999999999999967 + del x92 + rdm2_f_vovo_aabb += einsum("ia,jb->aibj", t1.aa, x338) * -1 + del x338 + x94 += einsum("ia->ia", t1.bb) + rdm2_f_oovo_bbbb += einsum("ij,ka->jkai", delta_oo.bb, x94) * -1 + rdm2_f_oovo_bbbb += einsum("ij,ka->jiak", delta_oo.bb, x94) + rdm2_f_vooo_bbbb += einsum("ij,ka->aijk", delta_oo.bb, x94) * -1 + rdm2_f_vooo_bbbb += einsum("ij,ka->akji", delta_oo.bb, x94) + del x94 + x97 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x97 += einsum("ai,jkab->ijkb", l1.aa, t2.abab) + x319 += einsum("ijka->ijka", x97) + x320 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x320 += einsum("ia,ijkb->jkab", t1.aa, x319) + del x319 + rdm2_f_vovo_bbaa += einsum("ijab->bjai", x320) * -1 + rdm2_f_vovo_aabb += einsum("ijab->aibj", x320) * -1 + del x320 + rdm2_f_oovo_aabb -= einsum("ijka->ijak", x97) + rdm2_f_vooo_bbaa -= einsum("ijka->akij", x97) + del x97 + x109 += einsum("ia->ia", t1.bb) * -1 + rdm2_f_oovo_aabb += einsum("ij,ka->jiak", delta_oo.aa, x109) * -1 + rdm2_f_vooo_bbaa += einsum("ij,ka->akji", delta_oo.aa, x109) * -1 + del x109 + x113 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x113 += einsum("ai,jkba->jikb", l1.bb, t2.abab) + x315 += einsum("ijka->ijka", x113) * -1 + x316 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x316 += einsum("ia,jikb->jkba", t1.bb, x315) + del x315 + rdm2_f_vovo_bbaa += einsum("ijab->bjai", x316) + rdm2_f_vovo_aabb += einsum("ijab->aibj", x316) + del x316 + rdm2_f_oovo_bbaa -= einsum("ijka->jkai", x113) + rdm2_f_vooo_aabb -= einsum("ijka->aijk", x113) + del x113 + x124 += einsum("ia->ia", t1.aa) * -1 + rdm2_f_oovo_bbaa += einsum("ij,ka->jiak", delta_oo.bb, x124) * -1 + rdm2_f_vooo_aabb += einsum("ij,ka->akji", delta_oo.bb, x124) * -1 + del x124 + x131 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x131 += einsum("abij,kjcb->ikac", l2.abab, t2.abab) + x206 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x206 += einsum("ijab->ijab", x131) + x303 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x303 += einsum("ijab->ijab", x131) + x353 += einsum("ijab->ijab", x131) * 2 + rdm2_f_oovv_aaaa -= einsum("ijab->ijba", x131) + rdm2_f_ovvo_aaaa += einsum("ijab->iabj", x131) + rdm2_f_voov_aaaa += einsum("ijab->bjia", x131) + rdm2_f_vvoo_aaaa -= einsum("ijab->baij", x131) + del x131 + x132 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x132 += einsum("wxai,wxjb->ijab", lu12.aa, u12.aa) + x353 += einsum("ijab->ijab", x132) + rdm2_f_oovv_aaaa += einsum("ijab->ijba", x132) * -0.5 + rdm2_f_ovvo_aaaa += einsum("ijab->iabj", x132) * 0.5 + rdm2_f_voov_aaaa += einsum("ijab->bjia", x132) * 0.5 + rdm2_f_vvoo_aaaa += einsum("ijab->baij", x132) * -0.5 + del x132 + x133 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x133 += einsum("wai,wjb->ijab", lu11.aa, u11.aa) + rdm2_f_oovv_aaaa -= einsum("ijab->ijba", x133) + rdm2_f_ovvo_aaaa += einsum("ijab->iabj", x133) + rdm2_f_voov_aaaa += einsum("ijab->bjia", x133) + rdm2_f_vvoo_aaaa -= einsum("ijab->baij", x133) + del x133 + x134 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x134 += einsum("abij->jiab", l2.aaaa) + x134 -= einsum("abij->jiba", l2.aaaa) + x135 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x135 += einsum("ijab,ikac->kjcb", x134, x39) + del x39 + rdm2_f_oovv_aaaa += einsum("ijab->jiab", x135) + rdm2_f_vvoo_aaaa += einsum("ijab->abji", x135) + del x135 + x173 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x173 += einsum("ijab,ikac->kjcb", t2.abab, x134) + x283 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x283 -= einsum("ijab,ikac->jkbc", t2.abab, x173) + x284 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x284 += einsum("ijab->ijab", x283) + del x283 + rdm2_f_ovvo_aabb -= einsum("ijab->iabj", x173) + rdm2_f_voov_bbaa -= einsum("ijab->bjia", x173) + del x173 + x222 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x222 += einsum("ijab,ikac->jkbc", t2.aaaa, x134) + x223 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x223 -= einsum("ijab,kica->jkbc", t2.aaaa, x222) + del x222 + x227 += einsum("ijab->ijab", x223) + del x223 + x224 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x224 += einsum("ijab,ikbc->jkac", t2.aaaa, x134) + x225 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x225 -= einsum("ijab,kicb->jkac", t2.aaaa, x224) + del x224 + x227 += einsum("ijab->jiba", x225) + del x225 + x138 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x138 += einsum("ai,ib->ab", l1.aa, t1.aa) + x144 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x144 += einsum("ab->ab", x138) * 2 + x163 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x163 += einsum("ab->ab", x138) + x348 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x348 += einsum("ab->ab", x138) + del x138 + x139 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x139 += einsum("wai,wib->ab", lu11.aa, u11.aa) + x144 += einsum("ab->ab", x139) * 2 + x163 += einsum("ab->ab", x139) + x196 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x196 += einsum("ab,ijca->ijcb", x139, t2.aaaa) + x219 -= einsum("ijab->ijab", x196) + del x196 + x311 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x311 += einsum("ab->ab", x139) + x348 += einsum("ab->ab", x139) + del x139 + x349 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x349 += einsum("ia,bc->ibac", t1.aa, x348) + del x348 + x140 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x140 += einsum("wxai,wxib->ab", lu12.aa, u12.aa) + x144 += einsum("ab->ab", x140) + x163 += einsum("ab->ab", x140) * 0.5 + x187 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x187 += einsum("ab->ab", x140) + x311 += einsum("ab->ab", x140) * 0.5 + del x140 + x141 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x141 += einsum("abij,ijcb->ac", l2.abab, t2.abab) + x144 += einsum("ab->ab", x141) * 2 + x163 += einsum("ab->ab", x141) + x187 += einsum("ab->ab", x141) * 2 + x311 += einsum("ab->ab", x141) + del x141 + x142 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x142 += einsum("abij->jiab", l2.aaaa) + x142 += einsum("abij->jiba", l2.aaaa) * -1 + x143 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x143 += einsum("ijab,ijac->bc", t2.aaaa, x142) * 2 + x144 += einsum("ab->ba", x143) * -1 + rdm2_f_oovv_aaaa += einsum("ij,ab->jiba", delta_oo.aa, x144) * 0.5 + rdm2_f_ovvo_aaaa += einsum("ij,ab->jabi", delta_oo.aa, x144) * -0.5 + rdm2_f_voov_aaaa += einsum("ij,ab->bija", delta_oo.aa, x144) * -0.5 + rdm2_f_vvoo_aaaa += einsum("ij,ab->baji", delta_oo.aa, x144) * 0.5 + del x144 + x187 += einsum("ab->ba", x143) * -1 + del x143 + x188 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x188 += einsum("ab,ijac->ijcb", x187, t2.aaaa) * 0.5 + x194 += einsum("ijab->jiab", x188) + del x188 + x355 += einsum("ia,bc->ibac", t1.aa, x187) * 0.5 + del x187 + x162 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x162 += einsum("ijab,ijac->bc", t2.aaaa, x142) + x163 += einsum("ab->ba", x162) * -1 + rdm2_f_oovv_bbaa += einsum("ij,ab->jiba", delta_oo.bb, x163) + rdm2_f_vvoo_aabb += einsum("ij,ab->baji", delta_oo.bb, x163) + rdm2_f_vovv_bbaa += einsum("ia,bc->aicb", t1.bb, x163) + rdm2_f_vvvo_aabb += einsum("ia,bc->cbai", t1.bb, x163) + del x163 + x311 += einsum("ab->ba", x162) * -1 + del x162 + x312 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x312 += einsum("ab,ijac->ijbc", x311, t2.abab) + del x311 + rdm2_f_vovo_bbaa += einsum("ijab->bjai", x312) * -1 + rdm2_f_vovo_aabb += einsum("ijab->aibj", x312) * -1 + del x312 + x352 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x352 += einsum("ijab,ikac->kjcb", x142, x6) * 2 + del x142 + del x6 + x353 += einsum("ijab->jiba", x352) + del x352 + x354 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x354 += einsum("ia,ijbc->jabc", t1.aa, x353) * 0.5 + del x353 + x355 += einsum("iabc->ibac", x354) * -1 + del x354 + rdm2_f_vovv_aaaa = np.zeros((nvir[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + rdm2_f_vovv_aaaa += einsum("iabc->bica", x355) + rdm2_f_vovv_aaaa += einsum("iabc->ciba", x355) * -1 + rdm2_f_vvvo_aaaa = np.zeros((nvir[0], nvir[0], nvir[0], nocc[0]), dtype=types[float]) + rdm2_f_vvvo_aaaa += einsum("iabc->baci", x355) * -1 + rdm2_f_vvvo_aaaa += einsum("iabc->cabi", x355) + del x355 + x145 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x145 += einsum("abij,ikac->jkbc", l2.abab, t2.abab) + x249 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x249 += einsum("ijab->ijab", x145) + x366 += einsum("ijab->ijab", x145) * 2 + rdm2_f_oovv_bbbb -= einsum("ijab->ijba", x145) + rdm2_f_ovvo_bbbb += einsum("ijab->iabj", x145) + rdm2_f_voov_bbbb += einsum("ijab->bjia", x145) + rdm2_f_vvoo_bbbb -= einsum("ijab->baij", x145) + del x145 + x146 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x146 += einsum("wxai,wxjb->ijab", lu12.bb, u12.bb) + x366 += einsum("ijab->ijab", x146) + rdm2_f_oovv_bbbb += einsum("ijab->ijba", x146) * -0.5 + rdm2_f_ovvo_bbbb += einsum("ijab->iabj", x146) * 0.5 + rdm2_f_voov_bbbb += einsum("ijab->bjia", x146) * 0.5 + rdm2_f_vvoo_bbbb += einsum("ijab->baij", x146) * -0.5 + del x146 + x147 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x147 += einsum("wai,wjb->ijab", lu11.bb, u11.bb) + rdm2_f_oovv_bbbb -= einsum("ijab->ijba", x147) + rdm2_f_ovvo_bbbb += einsum("ijab->iabj", x147) + rdm2_f_voov_bbbb += einsum("ijab->bjia", x147) + rdm2_f_vvoo_bbbb -= einsum("ijab->baij", x147) + del x147 + x148 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x148 -= einsum("ijab->jiab", t2.bbbb) + x148 += einsum("ijab->jiba", t2.bbbb) + x174 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x174 += einsum("abij,jkcb->ikac", l2.abab, x148) + rdm2_f_ovvo_aabb -= einsum("ijab->iabj", x174) + rdm2_f_voov_bbaa -= einsum("ijab->bjia", x174) + del x174 + x252 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x252 += einsum("ijab,kila->jklb", x148, x251) + del x251 + x253 += einsum("ijka->jkia", x252) + del x252 + x254 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x254 += einsum("ia,ijkb->jkab", t1.bb, x253) + del x253 + x263 += einsum("ijab->ijab", x254) + del x254 + x257 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x257 += einsum("wai,ijba->wjb", lu11.bb, x148) + x258 -= einsum("wia->wia", x257) + del x257 + x261 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x261 += einsum("ai,ijba->jb", l1.bb, x148) + x262 -= einsum("ia->ia", x261) + del x261 + x263 += einsum("ia,jb->ijab", t1.bb, x262) + del x262 + x149 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x149 -= einsum("abij->jiab", l2.bbbb) + x149 += einsum("abij->jiba", l2.bbbb) + x150 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x150 += einsum("ijab,ikca->jkbc", x148, x149) + rdm2_f_oovv_bbbb += einsum("ijab->jiab", x150) + rdm2_f_vvoo_bbbb += einsum("ijab->abji", x150) + del x150 + x179 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x179 += einsum("ijab,jkcb->ikac", t2.abab, x149) + x226 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x226 -= einsum("ijab,kjcb->ikac", t2.abab, x179) + x227 += einsum("ijab->ijab", x226) + del x226 + x302 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x302 -= einsum("ijab->ijab", x179) + rdm2_f_ovvo_bbaa -= einsum("ijab->jbai", x179) + rdm2_f_voov_aabb -= einsum("ijab->aijb", x179) + del x179 + x180 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x180 += einsum("ijab,ikbc->kjca", x149, x84) + rdm2_f_ovvo_bbbb += einsum("ijab->jbai", x180) + rdm2_f_voov_bbbb += einsum("ijab->aijb", x180) + del x180 + x248 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x248 += einsum("ijab,ikca->jkbc", t2.bbbb, x149) + x249 -= einsum("ijab->jiba", x248) + x250 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x250 += einsum("ijab,ikbc->jkac", t2.bbbb, x249) + del x249 + x263 -= einsum("ijab->jiba", x250) + del x250 + x287 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x287 -= einsum("ijab,kica->jkbc", t2.bbbb, x248) + del x248 + x290 += einsum("ijab->jiba", x287) + del x287 + x288 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x288 += einsum("ijab,ikcb->jkac", t2.bbbb, x149) + del x149 + x289 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x289 -= einsum("ijab,kicb->jkac", t2.bbbb, x288) + del x288 + x290 += einsum("ijab->ijab", x289) + del x289 + x153 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x153 += einsum("ai,ib->ab", l1.bb, t1.bb) + x159 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x159 += einsum("ab->ab", x153) + x361 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x361 += einsum("ab->ab", x153) + del x153 + x154 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x154 += einsum("wai,wib->ab", lu11.bb, u11.bb) + x159 += einsum("ab->ab", x154) + x240 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x240 += einsum("ab,ijac->jicb", x154, t2.bbbb) + x263 -= einsum("ijab->ijab", x240) + del x240 + x309 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x309 += einsum("ab->ab", x154) + x361 += einsum("ab->ab", x154) + del x154 + x362 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x362 += einsum("ia,bc->ibac", t1.bb, x361) + del x361 + x155 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x155 += einsum("wxai,wxib->ab", lu12.bb, u12.bb) + x159 += einsum("ab->ab", x155) * 0.5 + x272 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x272 += einsum("ab->ab", x155) + x309 += einsum("ab->ab", x155) * 0.5 + x368 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x368 += einsum("ab->ab", x155) + del x155 + x156 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x156 += einsum("abij,ijac->bc", l2.abab, t2.abab) + x159 += einsum("ab->ab", x156) + x266 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x266 += einsum("ab,ijac->jibc", x156, t2.bbbb) + x280 += einsum("ijab->ijab", x266) * -1 + del x266 + x309 += einsum("ab->ab", x156) + x368 += einsum("ab->ab", x156) * 2 + del x156 + x157 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x157 += einsum("abij->jiab", l2.bbbb) * -1 + x157 += einsum("abij->jiba", l2.bbbb) + x158 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x158 += einsum("ijab,ijbc->ac", t2.bbbb, x157) + x159 += einsum("ab->ba", x158) * -1 + rdm2_f_oovv_bbbb += einsum("ij,ab->jiba", delta_oo.bb, x159) + rdm2_f_oovv_aabb += einsum("ij,ab->jiba", delta_oo.aa, x159) + rdm2_f_ovvo_bbbb += einsum("ij,ab->jabi", delta_oo.bb, x159) * -1 + rdm2_f_voov_bbbb += einsum("ij,ab->bija", delta_oo.bb, x159) * -1 + rdm2_f_vvoo_bbbb += einsum("ij,ab->baji", delta_oo.bb, x159) + rdm2_f_vvoo_bbaa += einsum("ij,ab->baji", delta_oo.aa, x159) + rdm2_f_vovv_aabb += einsum("ia,bc->aicb", t1.aa, x159) + rdm2_f_vvvo_bbaa += einsum("ia,bc->cbai", t1.aa, x159) + del x159 + x309 += einsum("ab->ba", x158) * -1 + del x158 + x310 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x310 += einsum("ab,ijca->ijcb", x309, t2.abab) + del x309 + rdm2_f_vovo_bbaa += einsum("ijab->bjai", x310) * -1 + rdm2_f_vovo_aabb += einsum("ijab->aibj", x310) * -1 + del x310 + x271 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x271 += einsum("ijab,ijbc->ac", t2.bbbb, x157) * 2 + x272 += einsum("ab->ba", x271) * -1 + x273 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x273 += einsum("ab,ijac->ijcb", x272, t2.bbbb) * 0.5 + del x272 + x280 += einsum("ijab->jiab", x273) + del x273 + x368 += einsum("ab->ba", x271) * -1 + del x271 + x369 += einsum("ia,bc->ibac", t1.bb, x368) * 0.5 + del x368 + x365 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x365 += einsum("ijab,ikbc->kjca", x157, x66) * 2 + del x66 + del x157 + x366 += einsum("ijab->jiba", x365) + del x365 + x367 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x367 += einsum("ia,ijbc->jabc", t1.bb, x366) * 0.5 + del x366 + x369 += einsum("iabc->ibac", x367) * -1 + del x367 + rdm2_f_vovv_bbbb = np.zeros((nvir[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + rdm2_f_vovv_bbbb += einsum("iabc->bica", x369) + rdm2_f_vovv_bbbb += einsum("iabc->ciba", x369) * -1 + rdm2_f_vvvo_bbbb = np.zeros((nvir[1], nvir[1], nvir[1], nocc[1]), dtype=types[float]) + rdm2_f_vvvo_bbbb += einsum("iabc->baci", x369) * -1 + rdm2_f_vvvo_bbbb += einsum("iabc->cabi", x369) + del x369 + x160 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + x160 += einsum("abij,ikcb->jkac", l2.abab, t2.abab) + x372 = np.zeros((nocc[1], nvir[0], nvir[0], nvir[1]), dtype=types[float]) + x372 += einsum("ia,ijbc->jbca", t1.bb, x160) + rdm2_f_vovv_bbaa += einsum("iabc->ciba", x372) * -1 + rdm2_f_vvvo_aabb += einsum("iabc->baci", x372) * -1 + del x372 + rdm2_f_oovv_bbaa -= einsum("ijab->ijba", x160) + rdm2_f_vvoo_aabb -= einsum("ijab->baij", x160) + del x160 + x164 = np.zeros((nocc[0], nocc[0], nvir[1], nvir[1]), dtype=types[float]) + x164 += einsum("abij,kjac->ikbc", l2.abab, t2.abab) + x301 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x301 += einsum("ijab,ikbc->kjac", t2.abab, x164) + rdm2_f_vovo_bbaa += einsum("ijab->bjai", x301) + rdm2_f_vovo_aabb += einsum("ijab->aibj", x301) + del x301 + x382 = np.zeros((nocc[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) + x382 += einsum("ia,ijbc->jabc", t1.aa, x164) + rdm2_f_vovv_aabb += einsum("iabc->aicb", x382) * -1 + rdm2_f_vvvo_bbaa += einsum("iabc->cbai", x382) * -1 + del x382 + rdm2_f_oovv_aabb -= einsum("ijab->ijba", x164) + rdm2_f_vvoo_bbaa -= einsum("ijab->baij", x164) + del x164 + x166 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x166 += einsum("ijab->jiab", t2.aaaa) + x166 -= einsum("ijab->jiba", t2.aaaa) + x167 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x167 += einsum("ijab,ikac->jkbc", x134, x166) + del x134 + x303 += einsum("ijab->ijab", x167) + x304 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x304 += einsum("ijab,ikac->kjcb", t2.abab, x303) + del x303 + rdm2_f_vovo_bbaa += einsum("ijab->bjai", x304) + rdm2_f_vovo_aabb += einsum("ijab->aibj", x304) + del x304 + rdm2_f_ovvo_aaaa += einsum("ijab->iabj", x167) + rdm2_f_voov_aaaa += einsum("ijab->bjia", x167) + del x167 + x178 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x178 += einsum("abij,ikac->kjcb", l2.abab, x166) + x302 -= einsum("ijab->ijab", x178) + rdm2_f_vovo_bbaa += einsum("ijab,jkcb->ckai", x302, x84) + del x84 + rdm2_f_vovo_aabb -= einsum("ijab,kicb->ckaj", x148, x302) + del x148 + del x302 + rdm2_f_ovvo_bbaa -= einsum("ijab->jbai", x178) + rdm2_f_voov_aabb -= einsum("ijab->aijb", x178) + del x178 + x208 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x208 += einsum("ijab,iklb->jkla", x166, x168) + del x168 + x209 += einsum("ijka->jkia", x208) + del x208 + x210 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x210 += einsum("ia,ijkb->jkab", t1.aa, x209) + del x209 + x219 += einsum("ijab->ijab", x210) + del x210 + x213 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x213 += einsum("wai,ijab->wjb", lu11.aa, x166) + x214 -= einsum("wia->wia", x213) + del x213 + x217 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x217 += einsum("ai,ijab->jb", l1.aa, x166) + del x166 + x218 -= einsum("ia->ia", x217) + del x217 + x219 += einsum("ia,jb->ijab", t1.aa, x218) + del x218 + x170 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x170 += einsum("wxai,wxjb->ijab", lu12.aa, u12.bb) + x376 += einsum("ijab->ijab", x170) * -0.5 + rdm2_f_ovvo_aabb += einsum("ijab->iabj", x170) * 0.5 + rdm2_f_voov_bbaa += einsum("ijab->bjia", x170) * 0.5 + del x170 + x171 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x171 += einsum("wai,wjb->ijab", lu11.aa, u11.bb) + rdm2_f_ovvo_aabb += einsum("ijab->iabj", x171) + rdm2_f_voov_bbaa += einsum("ijab->bjia", x171) + del x171 + x175 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x175 += einsum("wxai,wxjb->jiba", lu12.bb, u12.aa) + x386 += einsum("ijab->ijab", x175) * -0.5 + rdm2_f_ovvo_bbaa += einsum("ijab->jbai", x175) * 0.5 + rdm2_f_voov_aabb += einsum("ijab->aijb", x175) * 0.5 + del x175 + x176 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x176 += einsum("wai,wjb->jiba", lu11.bb, u11.aa) + rdm2_f_ovvo_bbaa += einsum("ijab->jbai", x176) + rdm2_f_voov_aabb += einsum("ijab->aijb", x176) + del x176 + x183 = np.zeros((nbos, nbos, nocc[0], nvir[0]), dtype=types[float]) + x183 += einsum("wxai,jiba->wxjb", lu12.bb, t2.abab) + x185 += einsum("wxia->xwia", x183) + del x183 + x186 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x186 += einsum("wxia,wxjb->ijab", u12.aa, x185) * 0.5 + x194 += einsum("ijab->jiba", x186) * -1 + del x186 + rdm2_f_vovo_aaaa += einsum("ijab->aibj", x194) * -1 + rdm2_f_vovo_aaaa += einsum("ijab->biaj", x194) + rdm2_f_vovo_aaaa += einsum("ijab->ajbi", x194) + rdm2_f_vovo_aaaa += einsum("ijab->bjai", x194) * -1 + del x194 + x308 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x308 += einsum("wxia,wxjb->jiba", u12.bb, x185) * 0.5 + del x185 + rdm2_f_vovo_bbaa += einsum("ijab->bjai", x308) + rdm2_f_vovo_aabb += einsum("ijab->aibj", x308) + del x308 + x202 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x202 += einsum("abij,kiac->kjcb", l2.abab, t2.aaaa) + x203 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x203 += einsum("ijab,kjcb->kica", t2.abab, x202) + del x202 + x219 -= einsum("ijab->ijab", x203) + del x203 + x204 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x204 -= einsum("abij->jiab", l2.aaaa) + x204 += einsum("abij->jiba", l2.aaaa) + x205 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x205 += einsum("ijab,ikbc->jkac", t2.aaaa, x204) + del x204 + x206 -= einsum("ijab->jiba", x205) + del x205 + x207 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x207 += einsum("ijab,ikac->jkbc", t2.aaaa, x206) + del x206 + x219 += einsum("ijab->ijab", x207) + del x207 + x212 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x212 += einsum("wai,jiba->wjb", lu11.bb, t2.abab) + x214 += einsum("wia->wia", x212) + x215 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x215 += einsum("wia,wjb->ijab", u11.aa, x214) + del x214 + x219 += einsum("ijab->jiba", x215) + del x215 + rdm2_f_vovo_aaaa += einsum("ijab->aibj", x219) + rdm2_f_vovo_aaaa -= einsum("ijab->biaj", x219) + rdm2_f_vovo_aaaa -= einsum("ijab->ajbi", x219) + rdm2_f_vovo_aaaa += einsum("ijab->bjai", x219) + del x219 + x325 -= einsum("wia->wia", x212) + del x212 + x227 += einsum("ijab->jiba", t2.aaaa) + rdm2_f_vovo_aaaa -= einsum("ijab->biaj", x227) + rdm2_f_vovo_aaaa += einsum("ijab->aibj", x227) + del x227 + x228 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x228 += einsum("wx,xia->wia", ls2, u11.aa) + x229 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x229 += einsum("wia,wjb->jiba", u11.aa, x228) + rdm2_f_vovo_aaaa -= einsum("ijab->biaj", x229) + rdm2_f_vovo_aaaa += einsum("ijab->bjai", x229) + del x229 + x325 -= einsum("wia->wia", x228) + del x228 + x326 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x326 += einsum("wia,wjb->jiba", u11.bb, x325) + del x325 + rdm2_f_vovo_bbaa -= einsum("ijab->bjai", x326) + rdm2_f_vovo_aabb -= einsum("ijab->aibj", x326) + del x326 + x231 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x231 += einsum("ijab->jiba", t2.aaaa) + x231 += einsum("ia,jb->ijab", t1.aa, t1.aa) + x232 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x232 += einsum("ijkl,ijab->klab", x0, x231) + del x0 + del x231 + x233 += einsum("ijab->jiba", x232) + del x232 + rdm2_f_vovo_aaaa += einsum("ijab->ajbi", x233) * -1 + rdm2_f_vovo_aaaa += einsum("ijab->bjai", x233) + del x233 + x237 += einsum("ia->ia", t1.aa) * -1 + rdm2_f_vovo_aaaa += einsum("ia,jb->ajbi", t1.aa, x237) + rdm2_f_vovo_aaaa += einsum("ia,jb->bjai", t1.aa, x237) * -1 + del x237 + x246 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x246 += einsum("abij,kjcb->ikac", l2.abab, t2.bbbb) + x247 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x247 += einsum("ijab,ikac->jkbc", t2.abab, x246) + del x246 + x263 += einsum("ijab->ijab", x247) + del x247 + x255 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x255 += einsum("wai,ijab->wjb", lu11.aa, t2.abab) + x258 += einsum("wia->wia", x255) + x259 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x259 += einsum("wia,wjb->ijab", u11.bb, x258) + del x258 + x263 += einsum("ijab->jiba", x259) + del x259 + rdm2_f_vovo_bbbb += einsum("ijab->aibj", x263) + rdm2_f_vovo_bbbb -= einsum("ijab->biaj", x263) + rdm2_f_vovo_bbbb -= einsum("ijab->ajbi", x263) + rdm2_f_vovo_bbbb += einsum("ijab->bjai", x263) + del x263 + x329 -= einsum("wia->wia", x255) + del x255 + x330 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x330 += einsum("wia,wjb->ijab", u11.aa, x329) + del x329 + rdm2_f_vovo_bbaa -= einsum("ijab->bjai", x330) + rdm2_f_vovo_aabb -= einsum("ijab->aibj", x330) + del x330 + x267 = np.zeros((nbos, nbos, nocc[1], nvir[1]), dtype=types[float]) + x267 += einsum("wxai,ijab->wxjb", lu12.aa, t2.abab) + x269 += einsum("wxia->xwia", x267) + del x267 + x270 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x270 += einsum("wxia,wxjb->ijab", u12.bb, x269) * 0.5 + x280 += einsum("ijab->jiba", x270) * -1 + del x270 + rdm2_f_vovo_bbbb += einsum("ijab->aibj", x280) * -1 + rdm2_f_vovo_bbbb += einsum("ijab->biaj", x280) + rdm2_f_vovo_bbbb += einsum("ijab->ajbi", x280) + rdm2_f_vovo_bbbb += einsum("ijab->bjai", x280) * -1 + del x280 + x307 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x307 += einsum("wxia,wxjb->ijab", u12.aa, x269) * 0.5 + del x269 + rdm2_f_vovo_bbaa += einsum("ijab->bjai", x307) + rdm2_f_vovo_aabb += einsum("ijab->aibj", x307) + del x307 + x281 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x281 += einsum("wx,xia->wia", ls2, u11.bb) + x282 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x282 += einsum("wia,wjb->jiba", u11.bb, x281) + del x281 + x284 += einsum("ijab->jiba", x282) + del x282 + rdm2_f_vovo_bbbb -= einsum("ijab->ajbi", x284) + rdm2_f_vovo_bbbb += einsum("ijab->aibj", x284) + del x284 + x290 += einsum("ijab->jiba", t2.bbbb) + rdm2_f_vovo_bbbb -= einsum("ijab->biaj", x290) + rdm2_f_vovo_bbbb += einsum("ijab->aibj", x290) + del x290 + x299 += einsum("ia->ia", t1.bb) * -1 + rdm2_f_vovo_bbbb += einsum("ia,jb->biaj", t1.bb, x299) + rdm2_f_vovo_bbbb += einsum("ia,jb->aibj", t1.bb, x299) * -1 + del x299 + x333 += einsum("ia->ia", t1.bb) * -1 + rdm2_f_vovo_bbaa += einsum("ia,jb->bjai", t1.aa, x333) * -1 + del x333 + x337 += einsum("ia->ia", t1.aa) * -1 + rdm2_f_vovo_aabb += einsum("ia,jb->bjai", t1.bb, x337) * -1 + del x337 + x339 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x339 += einsum("ia,bcji->jbca", t1.aa, l2.aaaa) + x391 = np.zeros((nvir[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x391 += einsum("ia,ibcd->cbda", t1.aa, x339) + x392 = np.zeros((nvir[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x392 += einsum("abcd->badc", x391) + del x391 + rdm2_f_ovvv_aaaa = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + rdm2_f_ovvv_aaaa += einsum("iabc->iacb", x339) + rdm2_f_ovvv_aaaa -= einsum("iabc->ibca", x339) + rdm2_f_vvov_aaaa = np.zeros((nvir[0], nvir[0], nocc[0], nvir[0]), dtype=types[float]) + rdm2_f_vvov_aaaa -= einsum("iabc->caib", x339) + rdm2_f_vvov_aaaa += einsum("iabc->cbia", x339) + del x339 + x340 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x340 += einsum("ia,bcji->jbca", t1.bb, l2.bbbb) + x396 = np.zeros((nvir[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x396 += einsum("ia,ibcd->cbda", t1.bb, x340) + x397 = np.zeros((nvir[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x397 += einsum("abcd->badc", x396) + del x396 + rdm2_f_ovvv_bbbb = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + rdm2_f_ovvv_bbbb += einsum("iabc->iacb", x340) + rdm2_f_ovvv_bbbb -= einsum("iabc->ibca", x340) + rdm2_f_vvov_bbbb = np.zeros((nvir[1], nvir[1], nocc[1], nvir[1]), dtype=types[float]) + rdm2_f_vvov_bbbb -= einsum("iabc->caib", x340) + rdm2_f_vvov_bbbb += einsum("iabc->cbia", x340) + del x340 + x341 = np.zeros((nocc[1], nvir[0], nvir[0], nvir[1]), dtype=types[float]) + x341 += einsum("ia,bcij->jbac", t1.aa, l2.abab) + rdm2_f_ovvv_bbaa = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) + rdm2_f_ovvv_bbaa += einsum("iabc->icba", x341) + rdm2_f_vvov_aabb = np.zeros((nvir[0], nvir[0], nocc[1], nvir[1]), dtype=types[float]) + rdm2_f_vvov_aabb += einsum("iabc->baic", x341) + del x341 + x342 = np.zeros((nocc[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) + x342 += einsum("ia,bcji->jbca", t1.bb, l2.abab) + x394 = np.zeros((nvir[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) + x394 += einsum("ia,ibcd->bacd", t1.aa, x342) + rdm2_f_vvvv_bbaa = np.zeros((nvir[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) + rdm2_f_vvvv_bbaa += einsum("abcd->dcba", x394) + rdm2_f_vvvv_aabb = np.zeros((nvir[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) + rdm2_f_vvvv_aabb += einsum("abcd->badc", x394) + del x394 + rdm2_f_ovvv_aabb = np.zeros((nocc[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) + rdm2_f_ovvv_aabb += einsum("iabc->iacb", x342) + rdm2_f_vvov_bbaa = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + rdm2_f_vvov_bbaa += einsum("iabc->cbia", x342) + del x342 + x343 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x343 += einsum("ai,jibc->jabc", l1.aa, t2.aaaa) + x349 += einsum("iabc->iabc", x343) + del x343 + x344 = np.zeros((nbos, nvir[0], nvir[0]), dtype=types[float]) + x344 += einsum("ia,wbi->wba", t1.aa, lu11.aa) + x345 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x345 += einsum("wia,wbc->ibca", u11.aa, x344) + x349 -= einsum("iabc->iabc", x345) + del x345 + x378 = np.zeros((nbos, nvir[0], nvir[0]), dtype=types[float]) + x378 += einsum("wab->wab", x344) + del x344 + x346 = np.zeros((nbos, nvir[0], nvir[0]), dtype=types[float]) + x346 += einsum("wia,xwbi->xba", u11.aa, lu12.aa) + x347 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x347 += einsum("wia,wbc->ibac", u11.aa, x346) + x349 += einsum("iabc->iabc", x347) + del x347 + rdm2_f_vovv_aaaa += einsum("iabc->bica", x349) + rdm2_f_vovv_aaaa -= einsum("iabc->ciba", x349) + rdm2_f_vvvo_aaaa -= einsum("iabc->baci", x349) + rdm2_f_vvvo_aaaa += einsum("iabc->cabi", x349) + del x349 + x378 += einsum("wab->wab", x346) + del x346 + x379 = np.zeros((nocc[1], nvir[0], nvir[0], nvir[1]), dtype=types[float]) + x379 += einsum("wia,wbc->ibca", u11.bb, x378) + del x378 + rdm2_f_vovv_bbaa += einsum("iabc->ciba", x379) + rdm2_f_vvvo_aabb += einsum("iabc->baci", x379) + del x379 + x356 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x356 += einsum("ai,jibc->jabc", l1.bb, t2.bbbb) + x362 += einsum("iabc->iabc", x356) + del x356 + x357 = np.zeros((nbos, nvir[1], nvir[1]), dtype=types[float]) + x357 += einsum("ia,wbi->wba", t1.bb, lu11.bb) + x358 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x358 += einsum("wia,wbc->ibca", u11.bb, x357) + x362 -= einsum("iabc->iabc", x358) + del x358 + x388 = np.zeros((nbos, nvir[1], nvir[1]), dtype=types[float]) + x388 += einsum("wab->wab", x357) + del x357 + x359 = np.zeros((nbos, nvir[1], nvir[1]), dtype=types[float]) + x359 += einsum("wia,xwbi->xba", u11.bb, lu12.bb) + x360 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x360 += einsum("wia,wbc->ibac", u11.bb, x359) + x362 += einsum("iabc->iabc", x360) + del x360 + rdm2_f_vovv_bbbb += einsum("iabc->bica", x362) + rdm2_f_vovv_bbbb -= einsum("iabc->ciba", x362) + rdm2_f_vvvo_bbbb -= einsum("iabc->baci", x362) + rdm2_f_vvvo_bbbb += einsum("iabc->cabi", x362) + del x362 + x388 += einsum("wab->wab", x359) + del x359 + x389 = np.zeros((nocc[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) + x389 += einsum("wia,wbc->iabc", u11.aa, x388) + del x388 + rdm2_f_vovv_aabb += einsum("iabc->aicb", x389) + rdm2_f_vvvo_bbaa += einsum("iabc->cbai", x389) + del x389 + x370 = np.zeros((nocc[1], nvir[0], nvir[0], nvir[1]), dtype=types[float]) + x370 += einsum("ai,ijbc->jabc", l1.aa, t2.abab) + rdm2_f_vovv_bbaa += einsum("iabc->ciba", x370) + rdm2_f_vvvo_aabb += einsum("iabc->baci", x370) + del x370 + x373 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x373 += einsum("abij->jiab", l2.aaaa) * -1 + x373 += einsum("abij->jiba", l2.aaaa) + x374 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x374 += einsum("ijab,ikac->kjcb", t2.abab, x373) + del x373 + x376 += einsum("ijab->ijab", x374) * -1 + del x374 + x377 = np.zeros((nocc[1], nvir[0], nvir[0], nvir[1]), dtype=types[float]) + x377 += einsum("ia,ijbc->jabc", t1.aa, x376) + del x376 + rdm2_f_vovv_bbaa += einsum("iabc->ciab", x377) * -1 + rdm2_f_vvvo_aabb += einsum("iabc->abci", x377) * -1 + del x377 + x380 = np.zeros((nocc[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) + x380 += einsum("ai,jibc->jbac", l1.bb, t2.abab) + rdm2_f_vovv_aabb += einsum("iabc->aicb", x380) + rdm2_f_vvvo_bbaa += einsum("iabc->cbai", x380) + del x380 + x384 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x384 += einsum("abij->jiab", l2.bbbb) + x384 += einsum("abij->jiba", l2.bbbb) * -1 + x385 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x385 += einsum("ijab,jkcb->ikac", t2.abab, x384) + del x384 + x386 += einsum("ijab->ijab", x385) * -1 + del x385 + x387 = np.zeros((nocc[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) + x387 += einsum("ia,jibc->jbac", t1.bb, x386) + del x386 + rdm2_f_vovv_aabb += einsum("iabc->aibc", x387) * -1 + rdm2_f_vvvo_bbaa += einsum("iabc->bcai", x387) * -1 + del x387 + x390 = np.zeros((nvir[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x390 += einsum("abij,ijcd->abcd", l2.aaaa, t2.aaaa) + x392 += einsum("abcd->badc", x390) + del x390 + rdm2_f_vvvv_aaaa = np.zeros((nvir[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + rdm2_f_vvvv_aaaa += einsum("abcd->dacb", x392) * -1 + rdm2_f_vvvv_aaaa += einsum("abcd->cadb", x392) + del x392 + x393 = np.zeros((nvir[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) + x393 += einsum("abij,ijcd->acbd", l2.abab, t2.abab) + rdm2_f_vvvv_bbaa += einsum("abcd->dcba", x393) + rdm2_f_vvvv_aabb += einsum("abcd->badc", x393) + del x393 + x395 = np.zeros((nvir[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x395 += einsum("abij,ijcd->abcd", l2.bbbb, t2.bbbb) + x397 += einsum("abcd->badc", x395) + del x395 + rdm2_f_vvvv_bbbb = np.zeros((nvir[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + rdm2_f_vvvv_bbbb += einsum("abcd->dacb", x397) * -1 + rdm2_f_vvvv_bbbb += einsum("abcd->cadb", x397) + del x397 + rdm2_f_oooo_aaaa += einsum("ij,kl->jilk", delta_oo.aa, delta_oo.aa) + rdm2_f_oooo_aaaa -= einsum("ij,kl->ljik", delta_oo.aa, delta_oo.aa) + rdm2_f_oooo_bbbb += einsum("ij,kl->jilk", delta_oo.bb, delta_oo.bb) + rdm2_f_oooo_bbbb -= einsum("ij,kl->ljik", delta_oo.bb, delta_oo.bb) + rdm2_f_ooov_aaaa += einsum("ij,ak->jika", delta_oo.aa, l1.aa) + rdm2_f_ooov_aaaa -= einsum("ij,ak->kija", delta_oo.aa, l1.aa) + rdm2_f_ooov_bbbb += einsum("ij,ak->jika", delta_oo.bb, l1.bb) + rdm2_f_ooov_bbbb -= einsum("ij,ak->kija", delta_oo.bb, l1.bb) + rdm2_f_ooov_aabb += einsum("ij,ak->jika", delta_oo.aa, l1.bb) + rdm2_f_ooov_bbaa += einsum("ij,ak->jika", delta_oo.bb, l1.aa) + rdm2_f_ovoo_aaaa -= einsum("ij,ak->jaki", delta_oo.aa, l1.aa) + rdm2_f_ovoo_aaaa += einsum("ij,ak->kaji", delta_oo.aa, l1.aa) + rdm2_f_ovoo_bbaa += einsum("ij,ak->kaji", delta_oo.aa, l1.bb) + rdm2_f_ovoo_aabb += einsum("ij,ak->kaji", delta_oo.bb, l1.aa) + rdm2_f_ovoo_bbbb -= einsum("ij,ak->jaki", delta_oo.bb, l1.bb) + rdm2_f_ovoo_bbbb += einsum("ij,ak->kaji", delta_oo.bb, l1.bb) + rdm2_f_oovo_aaaa -= einsum("ij,ka->jkai", delta_oo.aa, t1.aa) + rdm2_f_vooo_aaaa += einsum("ij,ka->akji", delta_oo.aa, t1.aa) + rdm2_f_ovov_aaaa = np.zeros((nocc[0], nvir[0], nocc[0], nvir[0]), dtype=types[float]) + rdm2_f_ovov_aaaa -= einsum("abij->jaib", l2.aaaa) + rdm2_f_ovov_aaaa += einsum("abij->jbia", l2.aaaa) + rdm2_f_ovov_bbbb = np.zeros((nocc[1], nvir[1], nocc[1], nvir[1]), dtype=types[float]) + rdm2_f_ovov_bbbb -= einsum("abij->jaib", l2.bbbb) + rdm2_f_ovov_bbbb += einsum("abij->jbia", l2.bbbb) + rdm2_f_ovov_bbaa = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + rdm2_f_ovov_bbaa += einsum("abij->jbia", l2.abab) + rdm2_f_ovov_aabb = np.zeros((nocc[0], nvir[0], nocc[1], nvir[1]), dtype=types[float]) + rdm2_f_ovov_aabb += einsum("abij->iajb", l2.abab) + rdm2_f_oovv_aaaa -= einsum("ai,jb->ijba", l1.aa, t1.aa) + rdm2_f_oovv_bbbb -= einsum("ai,jb->ijba", l1.bb, t1.bb) + rdm2_f_ovvo_aaaa += einsum("ai,jb->iabj", l1.aa, t1.aa) + rdm2_f_ovvo_aabb += einsum("ai,jb->iabj", l1.aa, t1.bb) + rdm2_f_ovvo_bbaa += einsum("ai,jb->iabj", l1.bb, t1.aa) + rdm2_f_ovvo_bbbb += einsum("ai,jb->iabj", l1.bb, t1.bb) + rdm2_f_voov_aaaa += einsum("ai,jb->bjia", l1.aa, t1.aa) + rdm2_f_voov_bbaa += einsum("ai,jb->bjia", l1.aa, t1.bb) + rdm2_f_voov_aabb += einsum("ai,jb->bjia", l1.bb, t1.aa) + rdm2_f_voov_bbbb += einsum("ai,jb->bjia", l1.bb, t1.bb) + rdm2_f_vvoo_aaaa -= einsum("ai,jb->baij", l1.aa, t1.aa) + rdm2_f_vvoo_bbbb -= einsum("ai,jb->baij", l1.bb, t1.bb) + rdm2_f_vovo_bbaa += einsum("ijab->bjai", t2.abab) + rdm2_f_vovo_aabb += einsum("ijab->aibj", t2.abab) + + rdm2_f_aaaa = pack_2e(rdm2_f_oooo_aaaa, rdm2_f_ooov_aaaa, rdm2_f_oovo_aaaa, rdm2_f_ovoo_aaaa, rdm2_f_vooo_aaaa, rdm2_f_oovv_aaaa, rdm2_f_ovov_aaaa, rdm2_f_ovvo_aaaa, rdm2_f_voov_aaaa, rdm2_f_vovo_aaaa, rdm2_f_vvoo_aaaa, rdm2_f_ovvv_aaaa, rdm2_f_vovv_aaaa, rdm2_f_vvov_aaaa, rdm2_f_vvvo_aaaa, rdm2_f_vvvv_aaaa) + rdm2_f_aabb = pack_2e(rdm2_f_oooo_aabb, rdm2_f_ooov_aabb, rdm2_f_oovo_aabb, rdm2_f_ovoo_aabb, rdm2_f_vooo_aabb, rdm2_f_oovv_aabb, rdm2_f_ovov_aabb, rdm2_f_ovvo_aabb, rdm2_f_voov_aabb, rdm2_f_vovo_aabb, rdm2_f_vvoo_aabb, rdm2_f_ovvv_aabb, rdm2_f_vovv_aabb, rdm2_f_vvov_aabb, rdm2_f_vvvo_aabb, rdm2_f_vvvv_aabb) + rdm2_f_bbaa = pack_2e(rdm2_f_oooo_bbaa, rdm2_f_ooov_bbaa, rdm2_f_oovo_bbaa, rdm2_f_ovoo_bbaa, rdm2_f_vooo_bbaa, rdm2_f_oovv_bbaa, rdm2_f_ovov_bbaa, rdm2_f_ovvo_bbaa, rdm2_f_voov_bbaa, rdm2_f_vovo_bbaa, rdm2_f_vvoo_bbaa, rdm2_f_ovvv_bbaa, rdm2_f_vovv_bbaa, rdm2_f_vvov_bbaa, rdm2_f_vvvo_bbaa, rdm2_f_vvvv_bbaa) + rdm2_f_bbbb = pack_2e(rdm2_f_oooo_bbbb, rdm2_f_ooov_bbbb, rdm2_f_oovo_bbbb, rdm2_f_ovoo_bbbb, rdm2_f_vooo_bbbb, rdm2_f_oovv_bbbb, rdm2_f_ovov_bbbb, rdm2_f_ovvo_bbbb, rdm2_f_voov_bbbb, rdm2_f_vovo_bbbb, rdm2_f_vvoo_bbbb, rdm2_f_ovvv_bbbb, rdm2_f_vovv_bbbb, rdm2_f_vvov_bbbb, rdm2_f_vvvo_bbbb, rdm2_f_vvvv_bbbb) + + rdm2_f.aaaa = rdm2_f_aaaa + rdm2_f.aabb = rdm2_f_aabb + rdm2_f.bbaa = rdm2_f_bbaa + rdm2_f.bbbb = rdm2_f_bbbb + + return rdm2_f + +def make_sing_b_dm(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, s2=None, u11=None, u12=None, l1=None, l2=None, ls1=None, ls2=None, lu11=None, lu12=None, **kwargs): + # Get boson coupling creation array: + gc = Namespace( + aa = Namespace( + boo=g.aa.boo.transpose(0, 2, 1), + bov=g.aa.bvo.transpose(0, 2, 1), + bvo=g.aa.bov.transpose(0, 2, 1), + bvv=g.aa.bvv.transpose(0, 2, 1), + ), + bb = Namespace( + boo=g.bb.boo.transpose(0, 2, 1), + bov=g.bb.bvo.transpose(0, 2, 1), + bvo=g.bb.bov.transpose(0, 2, 1), + bvv=g.bb.bvv.transpose(0, 2, 1), + ), + ) + + # Single boson DM + dm_b_cre = np.zeros((nbos), dtype=types[float]) + dm_b_cre += einsum("w->w", ls1) + dm_b_des = np.zeros((nbos), dtype=types[float]) + dm_b_des += einsum("ai,wia->w", l1.aa, u11.aa) + dm_b_des += einsum("wai,xwia->x", lu11.aa, u12.aa) + dm_b_des += einsum("w->w", s1) + dm_b_des += einsum("ai,wia->w", l1.bb, u11.bb) + dm_b_des += einsum("w,xw->x", ls1, s2) + dm_b_des += einsum("wai,xwia->x", lu11.bb, u12.bb) + + dm_b = np.array([dm_b_cre, dm_b_des]) + + return dm_b + +def make_rdm1_b(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, s2=None, u11=None, u12=None, l1=None, l2=None, ls1=None, ls2=None, lu11=None, lu12=None, **kwargs): + # Get boson coupling creation array: + gc = Namespace( + aa = Namespace( + boo=g.aa.boo.transpose(0, 2, 1), + bov=g.aa.bvo.transpose(0, 2, 1), + bvo=g.aa.bov.transpose(0, 2, 1), + bvv=g.aa.bvv.transpose(0, 2, 1), + ), + bb = Namespace( + boo=g.bb.boo.transpose(0, 2, 1), + bov=g.bb.bvo.transpose(0, 2, 1), + bvo=g.bb.bov.transpose(0, 2, 1), + bvv=g.bb.bvv.transpose(0, 2, 1), + ), + ) + + # Boson 1RDM + rdm1_b = np.zeros((nbos, nbos), dtype=types[float]) + rdm1_b += einsum("wxai,yxia->wy", lu12.bb, u12.bb) + rdm1_b += einsum("wai,xia->wx", lu11.aa, u11.aa) + rdm1_b += einsum("wx,yx->wy", ls2, s2) + rdm1_b += einsum("wxai,yxia->wy", lu12.aa, u12.aa) + rdm1_b += einsum("w,x->wx", ls1, s1) + rdm1_b += einsum("wai,xia->wx", lu11.bb, u11.bb) + + return rdm1_b + +def make_eb_coup_rdm(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, s2=None, u11=None, u12=None, l1=None, l2=None, ls1=None, ls2=None, lu11=None, lu12=None, **kwargs): + rdm_eb = Namespace() + + # Get boson coupling creation array: + gc = Namespace( + aa = Namespace( + boo=g.aa.boo.transpose(0, 2, 1), + bov=g.aa.bvo.transpose(0, 2, 1), + bvo=g.aa.bov.transpose(0, 2, 1), + bvv=g.aa.bvv.transpose(0, 2, 1), + ), + bb = Namespace( + boo=g.bb.boo.transpose(0, 2, 1), + bov=g.bb.bvo.transpose(0, 2, 1), + bvo=g.bb.bov.transpose(0, 2, 1), + bvv=g.bb.bvv.transpose(0, 2, 1), + ), + ) + + delta_oo = Namespace() + delta_oo.aa = np.eye(nocc[0]) + delta_oo.bb = np.eye(nocc[1]) + delta_vv = Namespace() + delta_vv.aa = np.eye(nvir[0]) + delta_vv.bb = np.eye(nvir[1]) + + # Boson-fermion coupling RDM + x0 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) + x0 += einsum("wia,xwaj->xji", u11.aa, lu12.aa) + x7 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) + x7 += einsum("wij->wij", x0) + x16 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) + x16 += einsum("wx,xij->wij", s2, x0) + x64 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) + x64 += einsum("wij->wij", x16) + rdm_eb_des_oo_aa = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) + rdm_eb_des_oo_aa -= einsum("wij->wji", x16) + del x16 + x75 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) + x75 += einsum("wij->wij", x0) + rdm_eb_cre_oo_aa = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) + rdm_eb_cre_oo_aa -= einsum("wij->wji", x0) + del x0 + x1 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) + x1 += einsum("ia,waj->wji", t1.aa, lu11.aa) + x7 += einsum("wij->wij", x1) + rdm_eb_cre_ov_aa = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + rdm_eb_cre_ov_aa -= einsum("ia,wij->wja", t1.aa, x7) + rdm_eb_des_ov_aa = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + rdm_eb_des_ov_aa -= einsum("wij,wxia->xja", x7, u12.aa) + del x7 + x75 += einsum("wij->wij", x1) + x77 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x77 += einsum("wia,wij->ja", u11.aa, x75) + del x75 + rdm_eb_cre_oo_aa -= einsum("wij->wji", x1) + del x1 + x2 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) + x2 += einsum("wia,xwaj->xji", u11.bb, lu12.bb) + x11 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) + x11 += einsum("wij->wij", x2) + x36 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) + x36 += einsum("wx,xij->wij", s2, x2) + x83 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) + x83 += einsum("wij->wij", x36) + rdm_eb_des_oo_bb = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) + rdm_eb_des_oo_bb -= einsum("wij->wji", x36) + del x36 + x89 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) + x89 += einsum("wij->wij", x2) + rdm_eb_cre_oo_bb = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) + rdm_eb_cre_oo_bb -= einsum("wij->wji", x2) + del x2 + x3 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) + x3 += einsum("ia,waj->wji", t1.bb, lu11.bb) + x11 += einsum("wij->wij", x3) + rdm_eb_cre_ov_bb = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + rdm_eb_cre_ov_bb -= einsum("ia,wij->wja", t1.bb, x11) + rdm_eb_des_ov_bb = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + rdm_eb_des_ov_bb -= einsum("wij,wxia->xja", x11, u12.bb) + del x11 + x89 += einsum("wij->wij", x3) + x91 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x91 += einsum("wia,wij->ja", u11.bb, x89) + del x89 + rdm_eb_cre_oo_bb -= einsum("wij->wji", x3) + del x3 + x4 = np.zeros((nbos, nbos, nocc[0], nocc[0]), dtype=types[float]) + x4 += einsum("ia,wxaj->wxji", t1.aa, lu12.aa) + x5 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x5 += einsum("wia,xwij->xja", u11.aa, x4) + rdm_eb_cre_ov_aa -= einsum("wia->wia", x5) + rdm_eb_des_ov_aa -= einsum("wx,xia->wia", s2, x5) + del x5 + x77 += einsum("wxia,wxij->ja", u12.aa, x4) * 0.5 + del x4 + x6 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x6 += einsum("ijab->jiab", t2.aaaa) + x6 -= einsum("ijab->jiba", t2.aaaa) + rdm_eb_cre_ov_aa -= einsum("wai,ijab->wjb", lu11.aa, x6) + x8 = np.zeros((nbos, nbos, nocc[1], nocc[1]), dtype=types[float]) + x8 += einsum("ia,wxaj->wxji", t1.bb, lu12.bb) + x9 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x9 += einsum("wia,xwij->xja", u11.bb, x8) + rdm_eb_cre_ov_bb -= einsum("wia->wia", x9) + rdm_eb_des_ov_bb -= einsum("wx,xia->wia", s2, x9) + del x9 + x91 += einsum("wxia,wxij->ja", u12.bb, x8) * 0.5 + del x8 + x10 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x10 += einsum("ijab->jiab", t2.bbbb) + x10 -= einsum("ijab->jiba", t2.bbbb) + rdm_eb_cre_ov_bb -= einsum("wai,ijab->wjb", lu11.bb, x10) + x12 = np.zeros((nbos, nvir[0], nvir[0]), dtype=types[float]) + x12 += einsum("wia,xwbi->xba", u11.aa, lu12.aa) + rdm_eb_cre_vv_aa = np.zeros((nbos, nvir[0], nvir[0]), dtype=types[float]) + rdm_eb_cre_vv_aa += einsum("wab->wab", x12) + rdm_eb_des_ov_aa -= einsum("wab,xwia->xib", x12, u12.aa) + rdm_eb_des_vv_aa = np.zeros((nbos, nvir[0], nvir[0]), dtype=types[float]) + rdm_eb_des_vv_aa += einsum("wx,xab->wab", s2, x12) + del x12 + x13 = np.zeros((nbos, nvir[1], nvir[1]), dtype=types[float]) + x13 += einsum("wia,xwbi->xba", u11.bb, lu12.bb) + rdm_eb_cre_vv_bb = np.zeros((nbos, nvir[1], nvir[1]), dtype=types[float]) + rdm_eb_cre_vv_bb += einsum("wab->wab", x13) + rdm_eb_des_ov_bb -= einsum("wab,xwia->xib", x13, u12.bb) + rdm_eb_des_vv_bb = np.zeros((nbos, nvir[1], nvir[1]), dtype=types[float]) + rdm_eb_des_vv_bb += einsum("wx,xab->wab", s2, x13) + del x13 + x14 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) + x14 += einsum("wai,xwja->xij", lu11.aa, u12.aa) + x64 += einsum("wij->wij", x14) + rdm_eb_des_oo_aa -= einsum("wij->wji", x14) + del x14 + x15 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) + x15 += einsum("ai,wja->wij", l1.aa, u11.aa) + x64 += einsum("wij->wij", x15) + rdm_eb_des_oo_aa -= einsum("wij->wji", x15) + del x15 + x17 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x17 += einsum("wx,xai->wia", s2, lu11.aa) + x21 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x21 += einsum("wia->wia", x17) + x52 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x52 += einsum("wia->wia", x17) + rdm_eb_des_vo_aa = np.zeros((nbos, nvir[0], nocc[0]), dtype=types[float]) + rdm_eb_des_vo_aa += einsum("wia->wai", x17) + del x17 + x18 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x18 += einsum("wia,baji->wjb", u11.bb, l2.abab) + x21 += einsum("wia->wia", x18) + x52 += einsum("wia->wia", x18) + rdm_eb_des_vo_aa += einsum("wia->wai", x18) + del x18 + x19 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x19 += einsum("abij->jiab", l2.aaaa) + x19 += einsum("abij->jiba", l2.aaaa) * -1 + x20 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x20 += einsum("wia,ijab->wjb", u11.aa, x19) + x21 += einsum("wia->wia", x20) * -1 + del x20 + rdm_eb_des_oo_aa += einsum("ia,wja->wij", t1.aa, x21) * -1 + rdm_eb_des_vv_aa += einsum("ia,wib->wba", t1.aa, x21) + del x21 + x62 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x62 += einsum("ijab,ijcb->ac", t2.aaaa, x19) + del x19 + x63 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x63 += einsum("ab->ba", x62) * -1 + x92 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x92 += einsum("ab->ba", x62) * -1 + del x62 + x22 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x22 += einsum("ai,ja->ij", l1.aa, t1.aa) + x28 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x28 += einsum("ij->ij", x22) + x65 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x65 += einsum("ij->ij", x22) + x76 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x76 += einsum("ij->ij", x22) + del x22 + x23 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x23 += einsum("wai,wja->ij", lu11.aa, u11.aa) + x28 += einsum("ij->ij", x23) + x65 += einsum("ij->ij", x23) + x76 += einsum("ij->ij", x23) + del x23 + x24 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x24 += einsum("wxai,wxja->ij", lu12.aa, u12.aa) + x28 += einsum("ij->ij", x24) * 0.5 + x65 += einsum("ij->ij", x24) * 0.5 + x76 += einsum("ij->ij", x24) * 0.5 + del x24 + x25 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x25 += einsum("abij,kjab->ik", l2.abab, t2.abab) + x28 += einsum("ij->ij", x25) + x65 += einsum("ij->ij", x25) + x76 += einsum("ij->ij", x25) + del x25 + x26 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x26 += einsum("ijab->jiab", t2.aaaa) + x26 += einsum("ijab->jiba", t2.aaaa) * -1 + x27 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x27 += einsum("abij,ikab->jk", l2.aaaa, x26) + x28 += einsum("ij->ij", x27) * -1 + x65 += einsum("ij->ij", x27) * -1 + del x27 + rdm_eb_des_ov_aa += einsum("ij,wia->wja", x65, u11.aa) * -1 + del x65 + x76 += einsum("abij,ikab->jk", l2.aaaa, x26) * -1 + x77 += einsum("ia,ij->ja", t1.aa, x76) + del x76 + x77 += einsum("ai,ijba->jb", l1.aa, x26) * -1 + del x26 + x28 += einsum("ij->ji", delta_oo.aa) * -1 + rdm_eb_des_oo_aa += einsum("w,ij->wji", s1, x28) * -1 + del x28 + x29 = np.zeros((nbos), dtype=types[float]) + x29 += einsum("w,xw->x", ls1, s2) + x34 = np.zeros((nbos), dtype=types[float]) + x34 += einsum("w->w", x29) + del x29 + x30 = np.zeros((nbos), dtype=types[float]) + x30 += einsum("ai,wia->w", l1.aa, u11.aa) + x34 += einsum("w->w", x30) + del x30 + x31 = np.zeros((nbos), dtype=types[float]) + x31 += einsum("ai,wia->w", l1.bb, u11.bb) + x34 += einsum("w->w", x31) + del x31 + x32 = np.zeros((nbos), dtype=types[float]) + x32 += einsum("wai,xwia->x", lu11.aa, u12.aa) + x34 += einsum("w->w", x32) + del x32 + x33 = np.zeros((nbos), dtype=types[float]) + x33 += einsum("wai,xwia->x", lu11.bb, u12.bb) + x34 += einsum("w->w", x33) + del x33 + rdm_eb_des_oo_aa += einsum("w,ij->wji", x34, delta_oo.aa) + rdm_eb_des_oo_bb += einsum("w,ij->wji", x34, delta_oo.bb) + rdm_eb_des_ov_aa += einsum("w,ia->wia", x34, t1.aa) + rdm_eb_des_ov_bb += einsum("w,ia->wia", x34, t1.bb) + del x34 + x35 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) + x35 += einsum("wai,xwja->xij", lu11.bb, u12.bb) + x83 += einsum("wij->wij", x35) + rdm_eb_des_oo_bb -= einsum("wij->wji", x35) + del x35 + x37 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) + x37 += einsum("ai,wja->wij", l1.bb, u11.bb) + x83 += einsum("wij->wij", x37) + rdm_eb_des_oo_bb -= einsum("wij->wji", x37) + del x37 + x38 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x38 += einsum("wx,xai->wia", s2, lu11.bb) + x42 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x42 += einsum("wia->wia", x38) + x55 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x55 += einsum("wia->wia", x38) + rdm_eb_des_vo_bb = np.zeros((nbos, nvir[1], nocc[1]), dtype=types[float]) + rdm_eb_des_vo_bb += einsum("wia->wai", x38) + del x38 + x39 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x39 += einsum("wia,abij->wjb", u11.aa, l2.abab) + x42 += einsum("wia->wia", x39) + x55 += einsum("wia->wia", x39) + rdm_eb_des_vo_bb += einsum("wia->wai", x39) + del x39 + x40 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x40 += einsum("abij->jiab", l2.bbbb) + x40 += einsum("abij->jiba", l2.bbbb) * -1 + x41 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x41 += einsum("wia,ijab->wjb", u11.bb, x40) + del x40 + x42 += einsum("wia->wia", x41) * -1 + del x41 + rdm_eb_des_oo_bb += einsum("ia,wja->wij", t1.bb, x42) * -1 + rdm_eb_des_vv_bb += einsum("ia,wib->wba", t1.bb, x42) + del x42 + x43 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x43 += einsum("ai,ja->ij", l1.bb, t1.bb) + x49 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x49 += einsum("ij->ij", x43) + x84 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x84 += einsum("ij->ij", x43) + x90 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x90 += einsum("ij->ij", x43) + del x43 + x44 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x44 += einsum("wai,wja->ij", lu11.bb, u11.bb) + x49 += einsum("ij->ij", x44) + x84 += einsum("ij->ij", x44) + x90 += einsum("ij->ij", x44) + del x44 + x45 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x45 += einsum("wxai,wxja->ij", lu12.bb, u12.bb) + x49 += einsum("ij->ij", x45) * 0.5 + x84 += einsum("ij->ij", x45) * 0.5 + x90 += einsum("ij->ij", x45) * 0.5 + del x45 + x46 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x46 += einsum("abij,ikab->jk", l2.abab, t2.abab) + x49 += einsum("ij->ij", x46) + x84 += einsum("ij->ij", x46) + x90 += einsum("ij->ij", x46) + del x46 + x47 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x47 += einsum("ijab->jiab", t2.bbbb) * -1 + x47 += einsum("ijab->jiba", t2.bbbb) + x48 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x48 += einsum("abij,ikba->jk", l2.bbbb, x47) + x49 += einsum("ij->ij", x48) * -1 + x84 += einsum("ij->ij", x48) * -1 + del x48 + rdm_eb_des_ov_bb += einsum("ij,wia->wja", x84, u11.bb) * -1 + del x84 + x90 += einsum("abij,ikba->jk", l2.bbbb, x47) * -1 + del x47 + x91 += einsum("ia,ij->ja", t1.bb, x90) + del x90 + x49 += einsum("ij->ji", delta_oo.bb) * -1 + rdm_eb_des_oo_bb += einsum("w,ij->wji", s1, x49) * -1 + del x49 + x50 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x50 += einsum("abij->jiab", l2.aaaa) + x50 -= einsum("abij->jiba", l2.aaaa) + x51 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x51 += einsum("wia,ijab->wjb", u11.aa, x50) + del x50 + x52 -= einsum("wia->wia", x51) + x64 += einsum("ia,wja->wji", t1.aa, x52) + rdm_eb_des_ov_aa -= einsum("ia,wij->wja", t1.aa, x64) + del x64 + rdm_eb_des_ov_aa -= einsum("wia,ijab->wjb", x52, x6) + del x6 + rdm_eb_des_ov_bb += einsum("wia,ijab->wjb", x52, t2.abab) + del x52 + rdm_eb_des_vo_aa -= einsum("wia->wai", x51) + del x51 + x53 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x53 += einsum("abij->jiab", l2.bbbb) + x53 -= einsum("abij->jiba", l2.bbbb) + x54 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x54 += einsum("wia,ijab->wjb", u11.bb, x53) + del x53 + x55 -= einsum("wia->wia", x54) + x83 += einsum("ia,wja->wji", t1.bb, x55) + rdm_eb_des_ov_bb -= einsum("ia,wij->wja", t1.bb, x83) + del x83 + rdm_eb_des_ov_aa += einsum("wia,jiba->wjb", x55, t2.abab) + rdm_eb_des_ov_bb -= einsum("wia,ijab->wjb", x55, x10) + del x10 + del x55 + rdm_eb_des_vo_bb -= einsum("wia->wai", x54) + del x54 + x56 = np.zeros((nbos, nbos, nbos), dtype=types[float]) + x56 += einsum("wia,xyai->xyw", u11.aa, lu12.aa) + x58 = np.zeros((nbos, nbos, nbos), dtype=types[float]) + x58 += einsum("wxy->xwy", x56) + del x56 + x57 = np.zeros((nbos, nbos, nbos), dtype=types[float]) + x57 += einsum("wia,xyai->xyw", u11.bb, lu12.bb) + x58 += einsum("wxy->xwy", x57) + del x57 + rdm_eb_des_ov_aa += einsum("wxy,wxia->yia", x58, u12.aa) * 0.5 + rdm_eb_des_ov_bb += einsum("wxy,wxia->yia", x58, u12.bb) * 0.5 + del x58 + x59 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x59 += einsum("wai,wib->ab", lu11.aa, u11.aa) + x63 += einsum("ab->ab", x59) + x92 += einsum("ab->ab", x59) + del x59 + x60 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x60 += einsum("wxai,wxib->ab", lu12.aa, u12.aa) + x63 += einsum("ab->ab", x60) * 0.5 + x92 += einsum("ab->ab", x60) * 0.5 + del x60 + x61 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x61 += einsum("abij,ijcb->ac", l2.abab, t2.abab) + x63 += einsum("ab->ab", x61) + rdm_eb_des_ov_aa += einsum("ab,wia->wib", x63, u11.aa) * -1 + del x63 + x92 += einsum("ab->ab", x61) + del x61 + x66 = np.zeros((nbos, nbos), dtype=types[float]) + x66 += einsum("wx,yx->wy", ls2, s2) + x71 = np.zeros((nbos, nbos), dtype=types[float]) + x71 += einsum("wx->wx", x66) + del x66 + x67 = np.zeros((nbos, nbos), dtype=types[float]) + x67 += einsum("wai,xia->wx", lu11.aa, u11.aa) + x71 += einsum("wx->wx", x67) + del x67 + x68 = np.zeros((nbos, nbos), dtype=types[float]) + x68 += einsum("wai,xia->wx", lu11.bb, u11.bb) + x71 += einsum("wx->wx", x68) + del x68 + x69 = np.zeros((nbos, nbos), dtype=types[float]) + x69 += einsum("wxai,ywia->xy", lu12.aa, u12.aa) + x71 += einsum("wx->wx", x69) + del x69 + x70 = np.zeros((nbos, nbos), dtype=types[float]) + x70 += einsum("wxai,ywia->xy", lu12.bb, u12.bb) + x71 += einsum("wx->wx", x70) + del x70 + rdm_eb_des_ov_aa += einsum("wx,wia->xia", x71, u11.aa) + rdm_eb_des_ov_bb += einsum("wx,wia->xia", x71, u11.bb) + del x71 + x72 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x72 += einsum("ia,abjk->jikb", t1.aa, l2.abab) + x77 += einsum("ijab,ikjb->ka", t2.abab, x72) + del x72 + x73 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x73 += einsum("ia,bajk->jkib", t1.aa, l2.aaaa) + x74 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x74 += einsum("ijka->ijka", x73) * -1 + x74 += einsum("ijka->jika", x73) + del x73 + x77 += einsum("ijab,jikb->ka", t2.aaaa, x74) * -1 + del x74 + x77 += einsum("ia->ia", t1.aa) * -1 + x77 += einsum("w,wia->ia", ls1, u11.aa) * -1 + x77 += einsum("wx,wxia->ia", ls2, u12.aa) * -0.5 + x77 += einsum("ai,jiba->jb", l1.bb, t2.abab) * -1 + rdm_eb_des_ov_aa += einsum("w,ia->wia", s1, x77) * -1 + del x77 + x78 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x78 += einsum("wai,wib->ab", lu11.bb, u11.bb) + x82 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x82 += einsum("ab->ab", x78) + x93 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x93 += einsum("ab->ab", x78) * 2 + del x78 + x79 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x79 += einsum("wxai,wxib->ab", lu12.bb, u12.bb) + x82 += einsum("ab->ab", x79) * 0.5 + x93 += einsum("ab->ab", x79) + del x79 + x80 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x80 += einsum("abij,ijac->bc", l2.abab, t2.abab) + x82 += einsum("ab->ab", x80) + x93 += einsum("ab->ab", x80) * 2 + del x80 + x81 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x81 += einsum("abij->jiab", l2.bbbb) * -1 + x81 += einsum("abij->jiba", l2.bbbb) + x82 += einsum("ijab,ijca->cb", t2.bbbb, x81) * -1 + rdm_eb_des_ov_bb += einsum("ab,wia->wib", x82, u11.bb) * -1 + del x82 + x93 += einsum("ijab,ijca->cb", t2.bbbb, x81) * -2 + del x81 + x85 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x85 += einsum("ia,bajk->jkib", t1.bb, l2.abab) + x91 += einsum("ijab,ijka->kb", t2.abab, x85) + del x85 + x86 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x86 += einsum("ia,bajk->jkib", t1.bb, l2.bbbb) + x87 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x87 += einsum("ijka->ijka", x86) * -1 + x87 += einsum("ijka->jika", x86) + del x86 + x91 += einsum("ijab,ijka->kb", t2.bbbb, x87) * -1 + del x87 + x88 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x88 += einsum("ijab->jiab", t2.bbbb) + x88 += einsum("ijab->jiba", t2.bbbb) * -1 + x91 += einsum("ai,ijba->jb", l1.bb, x88) * -1 + del x88 + x91 += einsum("ia->ia", t1.bb) * -1 + x91 += einsum("w,wia->ia", ls1, u11.bb) * -1 + x91 += einsum("wx,wxia->ia", ls2, u12.bb) * -0.5 + x91 += einsum("ai,ijab->jb", l1.aa, t2.abab) * -1 + rdm_eb_des_ov_bb += einsum("w,ia->wia", s1, x91) * -1 + del x91 + x92 += einsum("ai,ib->ab", l1.aa, t1.aa) + rdm_eb_des_vv_aa += einsum("w,ab->wab", s1, x92) + del x92 + x93 += einsum("ai,ib->ab", l1.bb, t1.bb) * 2 + rdm_eb_des_vv_bb += einsum("w,ab->wab", s1, x93) * 0.5 + del x93 + rdm_eb_cre_oo_aa += einsum("w,ij->wji", ls1, delta_oo.aa) + rdm_eb_cre_oo_bb += einsum("w,ij->wji", ls1, delta_oo.bb) + rdm_eb_cre_ov_aa += einsum("w,ia->wia", ls1, t1.aa) + rdm_eb_cre_ov_aa += einsum("wai,jiba->wjb", lu11.bb, t2.abab) + rdm_eb_cre_ov_aa += einsum("wx,xia->wia", ls2, u11.aa) + rdm_eb_cre_ov_bb += einsum("wai,ijab->wjb", lu11.aa, t2.abab) + rdm_eb_cre_ov_bb += einsum("w,ia->wia", ls1, t1.bb) + rdm_eb_cre_ov_bb += einsum("wx,xia->wia", ls2, u11.bb) + rdm_eb_cre_vo_aa = np.zeros((nbos, nvir[0], nocc[0]), dtype=types[float]) + rdm_eb_cre_vo_aa += einsum("wai->wai", lu11.aa) + rdm_eb_cre_vo_bb = np.zeros((nbos, nvir[1], nocc[1]), dtype=types[float]) + rdm_eb_cre_vo_bb += einsum("wai->wai", lu11.bb) + rdm_eb_cre_vv_aa += einsum("ia,wbi->wba", t1.aa, lu11.aa) + rdm_eb_cre_vv_bb += einsum("ia,wbi->wba", t1.bb, lu11.bb) + rdm_eb_des_ov_aa += einsum("w,xwia->xia", ls1, u12.aa) + rdm_eb_des_ov_aa += einsum("wia->wia", u11.aa) + rdm_eb_des_ov_bb += einsum("w,xwia->xia", ls1, u12.bb) + rdm_eb_des_ov_bb += einsum("wia->wia", u11.bb) + rdm_eb_des_vo_aa += einsum("w,ai->wai", s1, l1.aa) + rdm_eb_des_vo_bb += einsum("w,ai->wai", s1, l1.bb) + rdm_eb_des_vv_aa += einsum("ai,wib->wab", l1.aa, u11.aa) + rdm_eb_des_vv_aa += einsum("wai,xwib->xab", lu11.aa, u12.aa) + rdm_eb_des_vv_bb += einsum("ai,wib->wab", l1.bb, u11.bb) + rdm_eb_des_vv_bb += einsum("wai,xwib->xab", lu11.bb, u12.bb) + + rdm_eb_aa = np.array([ + np.block([[rdm_eb_cre_oo_aa, rdm_eb_cre_ov_aa], [rdm_eb_cre_vo_aa, rdm_eb_cre_vv_aa]]), + np.block([[rdm_eb_des_oo_aa, rdm_eb_des_ov_aa], [rdm_eb_des_vo_aa, rdm_eb_des_vv_aa]]), + ]) + rdm_eb_bb = np.array([ + np.block([[rdm_eb_cre_oo_bb, rdm_eb_cre_ov_bb], [rdm_eb_cre_vo_bb, rdm_eb_cre_vv_bb]]), + np.block([[rdm_eb_des_oo_bb, rdm_eb_des_ov_bb], [rdm_eb_des_vo_bb, rdm_eb_des_vv_bb]]), + ]) + + rdm_eb.aa = rdm_eb_aa + rdm_eb.bb = rdm_eb_bb + + return rdm_eb + diff --git a/ebcc/codegen/UCCSD_S_1_1.py b/ebcc/codegen/UCCSD_S_1_1.py new file mode 100644 index 00000000..d48b83fe --- /dev/null +++ b/ebcc/codegen/UCCSD_S_1_1.py @@ -0,0 +1,5962 @@ +# Code generated for ebcc. + +from ebcc import numpy as np +from ebcc.util import pack_2e, einsum, Namespace +from ebcc.precision import types + +def energy(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, u11=None, **kwargs): + # Energy + x0 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x0 += einsum("iajb->jiab", v.bbbb.ovov) + x0 += einsum("iajb->jiba", v.bbbb.ovov) * -1 + x1 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x1 += einsum("ijab->jiba", t2.bbbb) + x1 += einsum("ia,jb->ijba", t1.bb, t1.bb) * -1 + e_cc = 0 + e_cc += einsum("ijab,ijab->", x0, x1) * -0.5 + del x0 + del x1 + x2 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x2 += einsum("iajb->jiab", v.aaaa.ovov) + x2 += einsum("iajb->jiba", v.aaaa.ovov) * -1 + x3 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x3 += einsum("ijab->jiba", t2.aaaa) + x3 += einsum("ia,jb->ijab", t1.aa, t1.aa) + e_cc += einsum("ijab,ijab->", x2, x3) * -0.5 + del x2 + del x3 + x4 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x4 += einsum("ijab->ijab", t2.abab) + x4 += einsum("ia,jb->ijab", t1.aa, t1.bb) + e_cc += einsum("iajb,ijab->", v.aabb.ovov, x4) + del x4 + x5 = np.zeros((nbos), dtype=types[float]) + x5 += einsum("w->w", G) + x5 += einsum("ia,wia->w", t1.aa, g.aa.bov) + x5 += einsum("ia,wia->w", t1.bb, g.bb.bov) + e_cc += einsum("w,w->", s1, x5) + del x5 + e_cc += einsum("wia,wia->", g.aa.bov, u11.aa) + e_cc += einsum("ia,ia->", f.aa.ov, t1.aa) + e_cc += einsum("ia,ia->", f.bb.ov, t1.bb) + e_cc += einsum("wia,wia->", g.bb.bov, u11.bb) + + return e_cc + +def update_amps(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, u11=None, **kwargs): + t1new = Namespace() + t2new = Namespace() + u11new = Namespace() + + # Get boson coupling creation array: + gc = Namespace( + aa = Namespace( + boo=g.aa.boo.transpose(0, 2, 1), + bov=g.aa.bvo.transpose(0, 2, 1), + bvo=g.aa.bov.transpose(0, 2, 1), + bvv=g.aa.bvv.transpose(0, 2, 1), + ), + bb = Namespace( + boo=g.bb.boo.transpose(0, 2, 1), + bov=g.bb.bvo.transpose(0, 2, 1), + bvo=g.bb.bov.transpose(0, 2, 1), + bvv=g.bb.bvv.transpose(0, 2, 1), + ), + ) + + # T1, T2, S1 and U11 amplitudes + x0 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x0 += einsum("ia,jakb->ikjb", t1.aa, v.aaaa.ovov) + x1 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x1 += einsum("ijka->ijka", x0) * -1 + x1 += einsum("ijka->ikja", x0) + x67 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x67 -= einsum("ijka->ijka", x0) + x67 += einsum("ijka->ikja", x0) + x93 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x93 += einsum("ia,jkla->jilk", t1.aa, x0) + x94 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x94 += einsum("ia,jkli->jkla", t1.aa, x93) + x95 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x95 += einsum("ia,jkib->jkab", t1.aa, x94) + del x94 + x102 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x102 += einsum("ijab->ijab", x95) + del x95 + x134 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x134 += einsum("ijkl->ijkl", x93) + del x93 + x261 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x261 += einsum("ijka->jkia", x0) * -1 + x261 += einsum("ijka->kjia", x0) + del x0 + x1 += einsum("ijka->jika", v.aaaa.ooov) + x1 += einsum("ijka->jkia", v.aaaa.ooov) * -1 + t1new_aa = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + t1new_aa += einsum("ijab,kjia->kb", t2.aaaa, x1) * -1 + del x1 + x2 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x2 += einsum("iabc->ibac", v.aaaa.ovvv) + x2 += einsum("iabc->ibca", v.aaaa.ovvv) * -1 + x30 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x30 += einsum("ia,ibca->bc", t1.aa, x2) + x31 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x31 += einsum("ab->ab", x30) * -1 + x275 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x275 += einsum("ab->ab", x30) * -1 + x307 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x307 += einsum("ab->ab", x30) * -1 + del x30 + x107 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x107 += einsum("ia,jbac->ijbc", t1.aa, x2) + t1new_aa += einsum("ijab,icba->jc", t2.aaaa, x2) * -1 + del x2 + x3 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x3 += einsum("ia,jakb->ijkb", t1.aa, v.aabb.ovov) + x4 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x4 += einsum("ijka->jika", x3) + x122 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x122 += einsum("ijab,kljb->kila", t2.abab, x3) + del x3 + x126 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x126 += einsum("ijka->ikja", x122) + del x122 + x4 += einsum("ijka->ijka", v.aabb.ooov) + x285 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x285 += einsum("ijab,iklb->kjla", t2.abab, x4) + x289 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x289 += einsum("ijka->ikja", x285) * -1 + del x285 + t1new_aa += einsum("ijab,ikjb->ka", t2.abab, x4) * -1 + x5 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x5 += einsum("w,wia->ia", s1, g.aa.bov) + x9 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x9 += einsum("ia->ia", x5) + x71 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x71 += einsum("ia->ia", x5) + x299 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x299 += einsum("ia->ia", x5) + x308 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x308 += einsum("ia->ia", x5) + del x5 + x6 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x6 += einsum("ia,jbia->jb", t1.bb, v.aabb.ovov) + x9 += einsum("ia->ia", x6) + x105 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x105 += einsum("ia,ja->ij", t1.aa, x6) + x106 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x106 += einsum("ij,kjab->ikab", x105, t2.aaaa) + del x105 + x130 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x130 += einsum("ijab->ijab", x106) * -1 + del x106 + x123 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x123 += einsum("ia,jkab->kjib", x6, t2.aaaa) + x126 += einsum("ijka->ikja", x123) * -1 + del x123 + x299 += einsum("ia->ia", x6) + x306 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x306 += einsum("ia->ia", x6) + del x6 + x7 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x7 += einsum("iajb->jiab", v.aaaa.ovov) * -1 + x7 += einsum("iajb->jiba", v.aaaa.ovov) + x8 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x8 += einsum("ia,ijba->jb", t1.aa, x7) + x9 += einsum("ia->ia", x8) * -1 + x306 += einsum("ia->ia", x8) * -1 + del x8 + x307 += einsum("ia,ib->ab", t1.aa, x306) * -1 + del x306 + x23 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x23 += einsum("ijab,ikba->jk", t2.aaaa, x7) + x27 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x27 += einsum("ij->ji", x23) * -1 + x128 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x128 += einsum("ij->ji", x23) * -1 + del x23 + x113 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x113 += einsum("ijab,ijca->bc", t2.aaaa, x7) + x116 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x116 += einsum("ab->ab", x113) * -1 + del x113 + x233 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x233 += einsum("ijab,ikca->kjcb", t2.abab, x7) + x234 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x234 += einsum("ijab->ijab", x233) * -1 + del x233 + x301 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x301 += einsum("wia,ijba->wjb", u11.aa, x7) + del x7 + x302 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x302 += einsum("wia->wia", x301) * -1 + del x301 + x9 += einsum("ia->ia", f.aa.ov) + x26 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x26 += einsum("ia,ja->ij", t1.aa, x9) + x27 += einsum("ij->ji", x26) + del x26 + x265 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x265 += einsum("ia,jkab->jikb", x9, t2.abab) + x271 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x271 += einsum("ijka->jika", x265) + del x265 + t1new_bb = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + t1new_bb += einsum("ia,ijab->jb", x9, t2.abab) + x10 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x10 += einsum("ijab->jiab", t2.aaaa) + x10 += einsum("ijab->jiba", t2.aaaa) * -1 + x108 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x108 += einsum("ijab,kica->jkbc", x10, x107) * -1 + del x107 + x130 += einsum("ijab->jiab", x108) * -1 + del x108 + t1new_aa += einsum("ia,ijba->jb", x9, x10) + del x9 + x11 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x11 += einsum("w,wia->ia", s1, g.bb.bov) + x15 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x15 += einsum("ia->ia", x11) + x155 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x155 += einsum("ia->ia", x11) + x298 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x298 += einsum("ia->ia", x11) + x317 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x317 += einsum("ia->ia", x11) + del x11 + x12 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x12 += einsum("ia,iajb->jb", t1.aa, v.aabb.ovov) + x15 += einsum("ia->ia", x12) + x204 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x204 += einsum("ia,jkba->jkib", x12, t2.bbbb) + x208 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x208 += einsum("ijka->ikja", x204) * -1 + del x204 + x219 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x219 += einsum("ia,ja->ij", t1.bb, x12) + x220 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x220 += einsum("ij->ij", x219) + del x219 + x298 += einsum("ia->ia", x12) + x315 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x315 += einsum("ia->ia", x12) + del x12 + x13 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x13 += einsum("iajb->jiab", v.bbbb.ovov) * -1 + x13 += einsum("iajb->jiba", v.bbbb.ovov) + x14 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x14 += einsum("ia,ijba->jb", t1.bb, x13) + x15 += einsum("ia->ia", x14) * -1 + x315 += einsum("ia->ia", x14) * -1 + del x14 + x316 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x316 += einsum("ia,ib->ab", t1.bb, x315) * -1 + del x315 + x48 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x48 += einsum("ijab,ikba->kj", t2.bbbb, x13) + x52 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x52 += einsum("ij->ij", x48) * -1 + del x48 + x210 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x210 += einsum("ijab,ijca->cb", t2.bbbb, x13) + x213 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x213 += einsum("ab->ba", x210) * -1 + del x210 + x215 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x215 += einsum("ijab,ikab->kj", t2.bbbb, x13) + x217 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x217 += einsum("ij->ij", x215) * -1 + del x215 + x277 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x277 += einsum("ijab,ijac->cb", t2.bbbb, x13) + x278 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x278 += einsum("ab->ba", x277) * -1 + x316 += einsum("ab->ba", x277) * -1 + del x277 + x304 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x304 += einsum("wia,ijba->wjb", u11.bb, x13) + x305 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x305 += einsum("wia->wia", x304) * -1 + del x304 + x15 += einsum("ia->ia", f.bb.ov) + x51 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x51 += einsum("ia,ja->ij", t1.bb, x15) + x52 += einsum("ij->ji", x51) + del x51 + x286 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x286 += einsum("ia,jkba->jkib", x15, t2.abab) + x289 += einsum("ijka->ikja", x286) + del x286 + t1new_aa += einsum("ia,jiba->jb", x15, t2.abab) + x16 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x16 += einsum("iabj->ijba", v.aaaa.ovvo) + x16 -= einsum("ijab->ijab", v.aaaa.oovv) + x73 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x73 += einsum("ia,jkba->ijkb", t1.aa, x16) + x74 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x74 -= einsum("ijka->jika", x73) + del x73 + t1new_aa += einsum("ia,ijba->jb", t1.aa, x16) + u11new_aa = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + u11new_aa += einsum("wia,ijba->wjb", u11.aa, x16) + x17 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) + x17 += einsum("ia,wja->wji", t1.aa, g.aa.bov) + x18 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) + x18 += einsum("wij->wij", x17) + del x17 + x18 += einsum("wij->wij", g.aa.boo) + x82 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x82 += einsum("ia,wij->wja", t1.aa, x18) + x83 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x83 -= einsum("wia->wia", x82) + del x82 + t1new_aa -= einsum("wia,wij->ja", u11.aa, x18) + del x18 + x19 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x19 += einsum("w,wij->ij", s1, g.aa.boo) + x27 += einsum("ij->ij", x19) + x77 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x77 += einsum("ij->ji", x19) + del x19 + x20 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x20 += einsum("wia,wja->ij", g.aa.bov, u11.aa) + x27 += einsum("ij->ij", x20) + x90 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x90 += einsum("ij->ij", x20) + del x20 + x21 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x21 += einsum("ia,jkia->jk", t1.bb, v.aabb.ooov) + x27 += einsum("ij->ij", x21) + x90 += einsum("ij->ij", x21) + del x21 + x91 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x91 += einsum("ij,ikab->kjab", x90, t2.aaaa) + del x90 + x92 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x92 -= einsum("ijab->ijba", x91) + del x91 + x22 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x22 += einsum("ijab,kajb->ik", t2.abab, v.aabb.ovov) + x27 += einsum("ij->ji", x22) + x128 += einsum("ij->ji", x22) + del x22 + x24 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x24 += einsum("ijka->ikja", v.aaaa.ooov) + x24 += einsum("ijka->kija", v.aaaa.ooov) * -1 + x25 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x25 += einsum("ia,ijka->jk", t1.aa, x24) + x27 += einsum("ij->ij", x25) * -1 + x128 += einsum("ij->ij", x25) * -1 + del x25 + x129 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x129 += einsum("ij,ikab->kjab", x128, t2.aaaa) + del x128 + x130 += einsum("ijab->ijba", x129) + del x129 + x309 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) + x309 += einsum("wia,ijka->wjk", u11.aa, x24) * -1 + del x24 + x27 += einsum("ij->ij", f.aa.oo) + x291 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x291 += einsum("ij,ikab->jkab", x27, t2.abab) + t2new_baba = np.zeros((nocc[1], nocc[0], nvir[1], nvir[0]), dtype=types[float]) + t2new_baba += einsum("ijab->jiba", x291) * -1 + t2new_abab = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + t2new_abab += einsum("ijab->ijab", x291) * -1 + del x291 + t1new_aa += einsum("ia,ij->ja", t1.aa, x27) * -1 + u11new_aa += einsum("ij,wia->wja", x27, u11.aa) * -1 + del x27 + x28 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x28 += einsum("w,wab->ab", s1, g.aa.bvv) + x31 += einsum("ab->ab", x28) + x85 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x85 += einsum("ab->ab", x28) + x275 += einsum("ab->ab", x28) + x307 += einsum("ab->ab", x28) + del x28 + x29 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x29 += einsum("ia,iabc->bc", t1.bb, v.bbaa.ovvv) + x31 += einsum("ab->ab", x29) + x88 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x88 -= einsum("ab->ba", x29) + x275 += einsum("ab->ab", x29) + x307 += einsum("ab->ab", x29) + del x29 + x31 += einsum("ab->ab", f.aa.vv) + t1new_aa += einsum("ia,ba->ib", t1.aa, x31) + del x31 + x32 = np.zeros((nbos), dtype=types[float]) + x32 += einsum("ia,wia->w", t1.aa, g.aa.bov) + x34 = np.zeros((nbos), dtype=types[float]) + x34 += einsum("w->w", x32) + del x32 + x33 = np.zeros((nbos), dtype=types[float]) + x33 += einsum("ia,wia->w", t1.bb, g.bb.bov) + x34 += einsum("w->w", x33) + del x33 + x34 += einsum("w->w", G) + t1new_aa += einsum("w,wia->ia", x34, u11.aa) + t1new_bb += einsum("w,wia->ia", x34, u11.bb) + del x34 + x35 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x35 += einsum("ia,jakb->ikjb", t1.bb, v.bbbb.ovov) + x36 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x36 += einsum("ijka->ijka", x35) + x36 += einsum("ijka->ikja", x35) * -1 + x151 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x151 -= einsum("ijka->ijka", x35) + x151 += einsum("ijka->ikja", x35) + x184 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x184 += einsum("ia,jkla->jilk", t1.bb, x35) + x185 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x185 += einsum("ijab,klij->lkba", t2.bbbb, x184) + x189 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x189 += einsum("ijab->ijab", x185) + del x185 + x225 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x225 += einsum("ia,jkli->jkla", t1.bb, x184) + del x184 + x226 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x226 += einsum("ia,jkib->jkab", t1.bb, x225) + del x225 + x230 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x230 += einsum("ijab->ijab", x226) + del x226 + x282 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x282 += einsum("ijka->jkia", x35) * -1 + x282 += einsum("ijka->kjia", x35) + del x35 + x36 += einsum("ijka->jika", v.bbbb.ooov) * -1 + x36 += einsum("ijka->jkia", v.bbbb.ooov) + t1new_bb += einsum("ijab,kija->kb", t2.bbbb, x36) * -1 + del x36 + x37 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x37 += einsum("iabc->ibac", v.bbbb.ovvv) + x37 += einsum("iabc->ibca", v.bbbb.ovvv) * -1 + x55 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x55 += einsum("ia,ibca->bc", t1.bb, x37) + x56 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x56 += einsum("ab->ab", x55) * -1 + x278 += einsum("ab->ab", x55) * -1 + x316 += einsum("ab->ab", x55) * -1 + del x55 + x195 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x195 += einsum("ia,jbac->ijbc", t1.bb, x37) + t1new_bb += einsum("ijab,icba->jc", t2.bbbb, x37) * -1 + del x37 + x38 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x38 += einsum("ia,jbka->jikb", t1.bb, v.aabb.ovov) + x39 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x39 += einsum("ijka->ikja", x38) + x203 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x203 += einsum("ijab,ikla->kjlb", t2.abab, x38) + x208 += einsum("ijka->ikja", x203) + del x203 + x252 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x252 += einsum("ijka->ikja", x38) + del x38 + x39 += einsum("iajk->ijka", v.aabb.ovoo) + x264 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x264 += einsum("ijab,kjla->iklb", t2.abab, x39) + x271 += einsum("ijka->jika", x264) * -1 + del x264 + x266 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) + x266 += einsum("ia,jkla->ijkl", t1.aa, x39) + x267 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) + x267 += einsum("ijkl->jikl", x266) + del x266 + t1new_bb += einsum("ijab,ijka->kb", t2.abab, x39) * -1 + x40 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x40 -= einsum("ijab->jiab", t2.bbbb) + x40 += einsum("ijab->jiba", t2.bbbb) + x165 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x165 += einsum("wia,ijba->wjb", g.bb.bov, x40) + x167 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x167 -= einsum("wia->wia", x165) + del x165 + t1new_bb += einsum("ia,ijba->jb", x15, x40) * -1 + del x15 + x41 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x41 += einsum("iabj->ijba", v.bbbb.ovvo) + x41 -= einsum("ijab->ijab", v.bbbb.oovv) + x147 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x147 += einsum("ijab,ikcb->jkac", x40, x41) + x176 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x176 -= einsum("ijab->ijab", x147) + del x147 + x157 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x157 += einsum("ia,jkba->ijkb", t1.bb, x41) + x158 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x158 -= einsum("ijka->jika", x157) + del x157 + t1new_bb += einsum("ia,ijba->jb", t1.bb, x41) + u11new_bb = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + u11new_bb += einsum("wia,ijba->wjb", u11.bb, x41) + del x41 + x42 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) + x42 += einsum("ia,wja->wji", t1.bb, g.bb.bov) + x43 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) + x43 += einsum("wij->wij", x42) + del x42 + x43 += einsum("wij->wij", g.bb.boo) + x166 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x166 += einsum("ia,wij->wja", t1.bb, x43) + x167 -= einsum("wia->wia", x166) + del x166 + t1new_bb -= einsum("wia,wij->ja", u11.bb, x43) + del x43 + x44 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x44 += einsum("w,wij->ij", s1, g.bb.boo) + x52 += einsum("ij->ij", x44) + x161 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x161 += einsum("ij->ji", x44) + del x44 + x45 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x45 += einsum("wia,wja->ij", g.bb.bov, u11.bb) + x52 += einsum("ij->ij", x45) + x174 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x174 += einsum("ij->ij", x45) + del x45 + x46 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x46 += einsum("ia,iajk->jk", t1.aa, v.aabb.ovoo) + x52 += einsum("ij->ij", x46) + x174 += einsum("ij->ij", x46) + del x46 + x175 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x175 += einsum("ij,ikab->kjab", x174, t2.bbbb) + del x174 + x176 -= einsum("ijab->ijba", x175) + del x175 + x47 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x47 += einsum("ijab,iakb->jk", t2.abab, v.aabb.ovov) + x52 += einsum("ij->ji", x47) + x220 += einsum("ij->ij", x47) + del x47 + x221 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x221 += einsum("ij,jkab->kiab", x220, t2.bbbb) + del x220 + x222 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x222 += einsum("ijab->jiba", x221) * -1 + del x221 + x49 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x49 += einsum("ijka->ikja", v.bbbb.ooov) + x49 += einsum("ijka->kija", v.bbbb.ooov) * -1 + x50 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x50 += einsum("ia,ijka->jk", t1.bb, x49) + x52 += einsum("ij->ij", x50) * -1 + del x50 + x216 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x216 += einsum("ia,jika->jk", t1.bb, x49) + x217 += einsum("ij->ij", x216) * -1 + del x216 + x218 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x218 += einsum("ij,ikab->kjab", x217, t2.bbbb) + del x217 + x222 += einsum("ijab->ijba", x218) * -1 + del x218 + x318 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) + x318 += einsum("wia,ijka->wjk", u11.bb, x49) * -1 + del x49 + x52 += einsum("ij->ij", f.bb.oo) + x292 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x292 += einsum("ij,kiab->kjab", x52, t2.abab) + t2new_baba += einsum("ijab->jiba", x292) * -1 + t2new_abab += einsum("ijab->ijab", x292) * -1 + del x292 + t1new_bb += einsum("ia,ij->ja", t1.bb, x52) * -1 + u11new_bb += einsum("ij,wia->wja", x52, u11.bb) * -1 + del x52 + x53 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x53 += einsum("w,wab->ab", s1, g.bb.bvv) + x56 += einsum("ab->ab", x53) + x169 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x169 += einsum("ab->ab", x53) + x278 += einsum("ab->ab", x53) + x316 += einsum("ab->ab", x53) + del x53 + x54 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x54 += einsum("ia,iabc->bc", t1.aa, v.aabb.ovvv) + x56 += einsum("ab->ab", x54) + x172 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x172 -= einsum("ab->ba", x54) + x278 += einsum("ab->ab", x54) + x316 += einsum("ab->ab", x54) + del x54 + x56 += einsum("ab->ab", f.bb.vv) + t1new_bb += einsum("ia,ba->ib", t1.bb, x56) + del x56 + x57 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x57 += einsum("ia,bjca->ijbc", t1.aa, v.aaaa.vovv) + x92 -= einsum("ijab->ijab", x57) + del x57 + x58 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x58 += einsum("ijab,jbck->ikac", t2.abab, v.bbaa.ovvo) + x92 += einsum("ijab->ijab", x58) + del x58 + x59 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x59 += einsum("ia,jbca->ijcb", t1.aa, v.bbaa.ovvv) + x60 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x60 += einsum("ijab,kjcb->kiac", t2.abab, x59) + x92 -= einsum("ijab->ijab", x60) + del x60 + x241 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x241 += einsum("ijab->ijab", x59) + del x59 + x61 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x61 += einsum("ijab->jiab", t2.aaaa) + x61 -= einsum("ijab->jiba", t2.aaaa) + x62 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x62 += einsum("ijab,ikbc->jkac", x16, x61) + del x16 + del x61 + x92 -= einsum("ijab->jiba", x62) + del x62 + x63 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x63 -= einsum("iajb->jiab", v.aaaa.ovov) + x63 += einsum("iajb->jiba", v.aaaa.ovov) + x64 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x64 += einsum("ijab,ikcb->jkac", t2.aaaa, x63) + x65 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x65 -= einsum("ijab,kica->jkbc", t2.aaaa, x64) + x92 -= einsum("ijab->ijab", x65) + del x65 + x98 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x98 -= einsum("ijab,kicb->jkac", t2.aaaa, x64) + del x64 + x102 += einsum("ijab->jiba", x98) + del x98 + x70 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x70 += einsum("ia,ijba->jb", t1.aa, x63) + x71 -= einsum("ia->ia", x70) + x299 -= einsum("ia->ia", x70) + del x70 + x96 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x96 += einsum("ijab,ikca->jkbc", t2.aaaa, x63) + x97 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x97 -= einsum("ijab,kica->jkbc", t2.aaaa, x96) + del x96 + x102 += einsum("ijab->ijab", x97) + del x97 + x223 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x223 += einsum("ijab,ikca->kjcb", t2.abab, x63) + del x63 + x224 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x224 -= einsum("ijab,ikac->jkbc", t2.abab, x223) + del x223 + t2new_bbbb = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + t2new_bbbb -= einsum("ijab->jiab", x224) + t2new_bbbb += einsum("ijab->ijab", x224) + del x224 + x66 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x66 += einsum("ijab,kljb->ikla", t2.abab, v.aabb.ooov) + x74 += einsum("ijka->jika", x66) + del x66 + x68 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x68 -= einsum("ijab->jiab", t2.aaaa) + x68 += einsum("ijab->jiba", t2.aaaa) + x69 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x69 += einsum("ijka,klba->ijlb", x67, x68) + del x67 + x74 += einsum("ijka->jika", x69) + del x69 + x81 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x81 += einsum("wia,ijba->wjb", g.aa.bov, x68) + del x68 + x83 -= einsum("wia->wia", x81) + del x81 + x71 += einsum("ia->ia", f.aa.ov) + x72 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x72 += einsum("ia,jkab->jkib", x71, t2.aaaa) + x74 += einsum("ijka->kjia", x72) + del x72 + x76 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x76 += einsum("ia,ja->ij", t1.aa, x71) + del x71 + x77 += einsum("ij->ij", x76) + del x76 + x74 -= einsum("ijak->ijka", v.aaaa.oovo) + x75 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x75 += einsum("ia,ijkb->jkab", t1.aa, x74) + del x74 + x92 += einsum("ijab->ijab", x75) + del x75 + x77 += einsum("ij->ji", f.aa.oo) + x78 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x78 += einsum("ij,jkab->kiab", x77, t2.aaaa) + del x77 + x92 += einsum("ijab->jiba", x78) + del x78 + x79 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x79 += einsum("ia,wba->wib", t1.aa, g.aa.bvv) + x83 += einsum("wia->wia", x79) + del x79 + x80 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x80 += einsum("wia,jiba->wjb", g.bb.bov, t2.abab) + x83 += einsum("wia->wia", x80) + del x80 + x83 += einsum("wai->wia", g.aa.bvo) + x84 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x84 += einsum("wia,wjb->ijab", u11.aa, x83) + x92 += einsum("ijab->jiba", x84) + del x84 + x294 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x294 += einsum("wia,wjb->jiba", u11.bb, x83) + del x83 + t2new_baba += einsum("ijab->jiba", x294) + t2new_abab += einsum("ijab->ijab", x294) + del x294 + x85 += einsum("ab->ab", f.aa.vv) + x86 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x86 += einsum("ab,ijbc->ijca", x85, t2.aaaa) + del x85 + x92 -= einsum("ijab->jiba", x86) + del x86 + x87 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x87 += einsum("wia,wib->ab", g.aa.bov, u11.aa) + x88 += einsum("ab->ab", x87) + x89 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x89 += einsum("ab,ijac->ijcb", x88, t2.aaaa) + del x88 + x92 -= einsum("ijab->jiab", x89) + del x89 + t2new_aaaa = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + t2new_aaaa += einsum("ijab->ijab", x92) + t2new_aaaa -= einsum("ijab->ijba", x92) + t2new_aaaa -= einsum("ijab->jiab", x92) + t2new_aaaa += einsum("ijab->jiba", x92) + del x92 + x275 += einsum("ab->ba", x87) * -1 + x307 += einsum("ab->ba", x87) * -1 + del x87 + x99 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x99 -= einsum("iajb->jiab", v.bbbb.ovov) + x99 += einsum("iajb->jiba", v.bbbb.ovov) + x100 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x100 += einsum("ijab,jkcb->ikac", t2.abab, x99) + x101 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x101 -= einsum("ijab,kjcb->ikac", t2.abab, x100) + del x100 + x102 += einsum("ijab->ijab", x101) + del x101 + t2new_aaaa += einsum("ijab->ijab", x102) + t2new_aaaa -= einsum("ijab->ijba", x102) + del x102 + x148 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x148 += einsum("ijab,ikcb->jkac", t2.bbbb, x99) + x149 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x149 -= einsum("ijab,kica->jkbc", t2.bbbb, x148) + x176 -= einsum("ijab->ijab", x149) + del x149 + x229 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x229 -= einsum("ijab,kicb->jkac", t2.bbbb, x148) + del x148 + x230 += einsum("ijab->ijab", x229) + del x229 + x154 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x154 += einsum("ia,ijba->jb", t1.bb, x99) + x155 -= einsum("ia->ia", x154) + x298 -= einsum("ia->ia", x154) + del x154 + x227 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x227 += einsum("ijab,ikca->jkbc", t2.bbbb, x99) + del x99 + x228 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x228 -= einsum("ijab,kica->jkbc", t2.bbbb, x227) + del x227 + x230 += einsum("ijab->jiba", x228) + del x228 + t2new_bbbb += einsum("ijab->ijab", x230) + t2new_bbbb -= einsum("ijab->ijba", x230) + del x230 + x103 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x103 += einsum("ia,jkla->ijlk", t1.aa, v.aaaa.ooov) + x104 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x104 += einsum("ijab,kijl->klab", t2.aaaa, x103) + x130 += einsum("ijab->ijab", x104) + del x104 + x118 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x118 += einsum("ia,jkil->jkla", t1.aa, x103) + del x103 + x126 += einsum("ijka->ijka", x118) + del x118 + x109 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x109 += einsum("ijab,kcjb->ikac", t2.abab, v.aabb.ovov) + x110 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x110 += einsum("ijab->jiab", t2.aaaa) * -1 + x110 += einsum("ijab->jiba", t2.aaaa) + x111 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x111 += einsum("ijab,jkbc->ikac", x109, x110) + del x109 + x130 += einsum("ijab->jiba", x111) * -1 + del x111 + x284 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x284 += einsum("ijab,iklb->jkla", x110, x39) + del x110 + del x39 + x289 += einsum("ijka->ijka", x284) * -1 + del x284 + x112 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x112 += einsum("ijab,icjb->ac", t2.abab, v.aabb.ovov) + x116 += einsum("ab->ab", x112) + x275 += einsum("ab->ab", x112) * -1 + x307 += einsum("ab->ab", x112) * -1 + del x112 + x114 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x114 += einsum("iabc->ibac", v.aaaa.ovvv) * -1 + x114 += einsum("iabc->ibca", v.aaaa.ovvv) + x115 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x115 += einsum("ia,ibca->bc", t1.aa, x114) + del x114 + x116 += einsum("ab->ab", x115) * -1 + del x115 + x117 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x117 += einsum("ab,ijbc->ijca", x116, t2.aaaa) + del x116 + x130 += einsum("ijab->jiab", x117) + del x117 + x119 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x119 += einsum("ijab,kbca->jikc", t2.aaaa, v.aaaa.ovvv) + x126 += einsum("ijka->ikja", x119) + del x119 + x120 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x120 += einsum("ia,jbca->ijcb", t1.aa, v.aaaa.ovvv) + x121 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x121 += einsum("ia,jkba->ijkb", t1.aa, x120) + del x120 + x126 += einsum("ijka->ikja", x121) + del x121 + x124 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x124 += einsum("ijka->ikja", v.aaaa.ooov) * -1 + x124 += einsum("ijka->kija", v.aaaa.ooov) + x125 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x125 += einsum("ijab,ikla->jklb", x10, x124) + del x124 + x126 += einsum("ijka->ijka", x125) + del x125 + x127 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x127 += einsum("ia,jikb->jkab", t1.aa, x126) + del x126 + x130 += einsum("ijab->ijab", x127) + del x127 + t2new_aaaa += einsum("ijab->ijab", x130) * -1 + t2new_aaaa += einsum("ijab->ijba", x130) + t2new_aaaa += einsum("ijab->jiab", x130) + t2new_aaaa += einsum("ijab->jiba", x130) * -1 + del x130 + x131 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x131 += einsum("ia,bcda->ibdc", t1.aa, v.aaaa.vvvv) + x132 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x132 += einsum("ia,jbca->ijbc", t1.aa, x131) + del x131 + x139 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x139 += einsum("ijab->ijab", x132) + del x132 + x133 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x133 += einsum("ijab,kbla->ijlk", t2.aaaa, v.aaaa.ovov) + x134 += einsum("ijkl->jilk", x133) + x135 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x135 += einsum("ijab,klji->klab", t2.aaaa, x134) + del x134 + x139 += einsum("ijab->jiab", x135) + del x135 + x136 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x136 += einsum("ijkl->lkji", x133) + del x133 + x136 += einsum("ijkl->kilj", v.aaaa.oooo) + x137 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x137 += einsum("ia,ijkl->jkla", t1.aa, x136) + del x136 + x138 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x138 += einsum("ia,ijkb->kjab", t1.aa, x137) + del x137 + x139 += einsum("ijab->jiba", x138) + del x138 + t2new_aaaa += einsum("ijab->ijab", x139) + t2new_aaaa += einsum("ijab->ijba", x139) * -1 + del x139 + x140 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x140 += einsum("ijab,ikjl->lkba", t2.aaaa, v.aaaa.oooo) + x142 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x142 += einsum("ijab->jiba", x140) + del x140 + x141 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x141 += einsum("ijab,cadb->ijcd", t2.aaaa, v.aaaa.vvvv) + x142 += einsum("ijab->jiba", x141) + del x141 + t2new_aaaa += einsum("ijab->ijba", x142) * -1 + t2new_aaaa += einsum("ijab->ijab", x142) + del x142 + x143 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x143 += einsum("ia,bjca->ijbc", t1.bb, v.bbbb.vovv) + x176 -= einsum("ijab->ijab", x143) + del x143 + x144 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x144 += einsum("ijab,iack->jkbc", t2.abab, v.aabb.ovvo) + x176 += einsum("ijab->ijab", x144) + del x144 + x145 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x145 += einsum("ia,jbca->jibc", t1.bb, v.aabb.ovvv) + x146 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x146 += einsum("ijab,ikac->kjbc", t2.abab, x145) + x176 -= einsum("ijab->ijab", x146) + del x146 + x234 += einsum("ijab->ijab", x145) + x269 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x269 += einsum("ijab->ijab", x145) + del x145 + x150 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x150 += einsum("ijab,iakl->jklb", t2.abab, v.aabb.ovoo) + x158 += einsum("ijka->jika", x150) + del x150 + x152 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x152 += einsum("ijab->jiab", t2.bbbb) + x152 -= einsum("ijab->jiba", t2.bbbb) + x153 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x153 += einsum("ijka,klab->ijlb", x151, x152) + del x152 + del x151 + x158 += einsum("ijka->jika", x153) + del x153 + x155 += einsum("ia->ia", f.bb.ov) + x156 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x156 += einsum("ia,jkab->jkib", x155, t2.bbbb) + x158 += einsum("ijka->kjia", x156) + del x156 + x160 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x160 += einsum("ia,ja->ij", t1.bb, x155) + del x155 + x161 += einsum("ij->ij", x160) + del x160 + x158 -= einsum("ijak->ijka", v.bbbb.oovo) + x159 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x159 += einsum("ia,ijkb->jkab", t1.bb, x158) + del x158 + x176 += einsum("ijab->ijab", x159) + del x159 + x161 += einsum("ij->ji", f.bb.oo) + x162 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x162 += einsum("ij,jkab->kiab", x161, t2.bbbb) + del x161 + x176 += einsum("ijab->jiba", x162) + del x162 + x163 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x163 += einsum("ia,wba->wib", t1.bb, g.bb.bvv) + x167 += einsum("wia->wia", x163) + del x163 + x164 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x164 += einsum("wia,ijab->wjb", g.aa.bov, t2.abab) + x167 += einsum("wia->wia", x164) + del x164 + x167 += einsum("wai->wia", g.bb.bvo) + x168 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x168 += einsum("wia,wjb->ijab", u11.bb, x167) + x176 += einsum("ijab->jiba", x168) + del x168 + x293 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x293 += einsum("wia,wjb->ijab", u11.aa, x167) + del x167 + t2new_baba += einsum("ijab->jiba", x293) + t2new_abab += einsum("ijab->ijab", x293) + del x293 + x169 += einsum("ab->ab", f.bb.vv) + x170 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x170 += einsum("ab,ijbc->ijca", x169, t2.bbbb) + del x169 + x176 -= einsum("ijab->jiba", x170) + del x170 + x171 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x171 += einsum("wia,wib->ab", g.bb.bov, u11.bb) + x172 += einsum("ab->ab", x171) + x173 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x173 += einsum("ab,ijac->ijcb", x172, t2.bbbb) + del x172 + x176 -= einsum("ijab->jiab", x173) + del x173 + t2new_bbbb += einsum("ijab->ijab", x176) + t2new_bbbb -= einsum("ijab->ijba", x176) + t2new_bbbb -= einsum("ijab->jiab", x176) + t2new_bbbb += einsum("ijab->jiba", x176) + del x176 + x278 += einsum("ab->ba", x171) * -1 + x316 += einsum("ab->ba", x171) * -1 + del x171 + x177 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x177 += einsum("ijab,ikjl->lkba", t2.bbbb, v.bbbb.oooo) + x179 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x179 += einsum("ijab->jiba", x177) + del x177 + x178 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x178 += einsum("ijab,cbda->ijdc", t2.bbbb, v.bbbb.vvvv) + x179 += einsum("ijab->jiba", x178) + del x178 + t2new_bbbb += einsum("ijab->ijba", x179) * -1 + t2new_bbbb += einsum("ijab->ijab", x179) + del x179 + x180 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x180 += einsum("ia,bcda->ibdc", t1.bb, v.bbbb.vvvv) + x181 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x181 += einsum("ia,jbca->ijbc", t1.bb, x180) + del x180 + x189 += einsum("ijab->ijab", x181) + del x181 + x182 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x182 += einsum("ijab,kbla->ijlk", t2.bbbb, v.bbbb.ovov) + x183 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x183 += einsum("ijab,klji->lkab", t2.bbbb, x182) + x189 += einsum("ijab->ijab", x183) + del x183 + x186 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x186 += einsum("ijkl->lkji", x182) + del x182 + x186 += einsum("ijkl->kilj", v.bbbb.oooo) + x187 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x187 += einsum("ia,ijkl->jkla", t1.bb, x186) + del x186 + x188 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x188 += einsum("ia,ijkb->kjab", t1.bb, x187) + del x187 + x189 += einsum("ijab->ijab", x188) + del x188 + t2new_bbbb += einsum("ijab->ijab", x189) + t2new_bbbb += einsum("ijab->ijba", x189) * -1 + del x189 + x190 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x190 += einsum("ia,jkla->ijlk", t1.bb, v.bbbb.ooov) + x191 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x191 += einsum("ijab,kjil->klba", t2.bbbb, x190) + x222 += einsum("ijab->ijab", x191) + del x191 + x199 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x199 += einsum("ia,jkil->jkla", t1.bb, x190) + del x190 + x208 += einsum("ijka->ijka", x199) + del x199 + x192 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x192 += einsum("ijab,iajc->bc", t2.abab, v.aabb.ovov) + x193 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x193 += einsum("ab,ijcb->ijac", x192, t2.bbbb) + x222 += einsum("ijab->ijab", x193) * -1 + del x193 + x278 += einsum("ab->ab", x192) * -1 + x316 += einsum("ab->ab", x192) * -1 + del x192 + x194 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x194 += einsum("ijab->jiab", t2.bbbb) * -1 + x194 += einsum("ijab->jiba", t2.bbbb) + x196 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x196 += einsum("ijab,kicb->jkac", x194, x195) * -1 + del x195 + x222 += einsum("ijab->jiab", x196) * -1 + del x196 + x197 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x197 += einsum("iajb,jkcb->ikac", v.aabb.ovov, x194) + x198 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x198 += einsum("ijab,ikac->jkbc", t2.abab, x197) * -1 + x222 += einsum("ijab->ijab", x198) * -1 + del x198 + x234 += einsum("ijab->ijab", x197) * -1 + del x197 + x237 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x237 += einsum("ijab,ikcb->jkac", x13, x194) + del x13 + x239 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x239 += einsum("ijab->ijba", x237) + del x237 + x263 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x263 += einsum("ijab,klib->klja", x194, x4) + del x4 + x271 += einsum("ijka->ijka", x263) * -1 + del x263 + x200 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x200 += einsum("ijab,kacb->ijkc", t2.bbbb, v.bbbb.ovvv) + x208 += einsum("ijka->ikja", x200) + del x200 + x201 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x201 += einsum("ia,jbca->ijcb", t1.bb, v.bbbb.ovvv) + x202 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x202 += einsum("ia,jkba->ijkb", t1.bb, x201) + del x201 + x208 += einsum("ijka->ikja", x202) + del x202 + x205 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x205 += einsum("ijka->ikja", v.bbbb.ooov) * -1 + x205 += einsum("ijka->kija", v.bbbb.ooov) + x206 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x206 += einsum("ijab->jiab", t2.bbbb) + x206 += einsum("ijab->jiba", t2.bbbb) * -1 + x207 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x207 += einsum("ijka,ilab->jklb", x205, x206) + del x205 + del x206 + x208 += einsum("ijka->kija", x207) + del x207 + x209 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x209 += einsum("ia,jikb->jkab", t1.bb, x208) + del x208 + x222 += einsum("ijab->ijab", x209) + del x209 + x211 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x211 += einsum("iabc->ibac", v.bbbb.ovvv) * -1 + x211 += einsum("iabc->ibca", v.bbbb.ovvv) + x212 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x212 += einsum("ia,ibca->bc", t1.bb, x211) + x213 += einsum("ab->ab", x212) * -1 + del x212 + x214 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x214 += einsum("ab,ijbc->ijca", x213, t2.bbbb) + del x213 + x222 += einsum("ijab->jiab", x214) + del x214 + t2new_bbbb += einsum("ijab->ijab", x222) * -1 + t2new_bbbb += einsum("ijab->ijba", x222) + t2new_bbbb += einsum("ijab->jiab", x222) + t2new_bbbb += einsum("ijab->jiba", x222) * -1 + del x222 + x238 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x238 += einsum("ia,jbca->ijbc", t1.bb, x211) + del x211 + x239 += einsum("ijab->jiab", x238) * -1 + del x238 + x231 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x231 += einsum("ia,bjca->jibc", t1.bb, v.aabb.vovv) + t2new_baba += einsum("ijab->jiba", x231) + t2new_abab += einsum("ijab->ijab", x231) + del x231 + x232 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x232 += einsum("ijab,cadb->ijcd", t2.abab, v.aabb.vvvv) + t2new_baba += einsum("ijab->jiba", x232) + t2new_abab += einsum("ijab->ijab", x232) + del x232 + x234 += einsum("iabj->ijab", v.aabb.ovvo) + x235 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x235 += einsum("ijab,ikbc->jkac", x10, x234) + del x234 + t2new_baba += einsum("ijab->jiba", x235) + t2new_abab += einsum("ijab->ijab", x235) + del x235 + x236 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x236 += einsum("ijab,iakc->jkbc", t2.abab, v.aabb.ovov) + x239 += einsum("ijab->jiab", x236) + del x236 + x239 += einsum("iabj->ijba", v.bbbb.ovvo) + x239 += einsum("ijab->ijab", v.bbbb.oovv) * -1 + x240 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x240 += einsum("ijab,jkcb->ikac", t2.abab, x239) + del x239 + t2new_baba += einsum("ijab->jiba", x240) + t2new_abab += einsum("ijab->ijab", x240) + del x240 + x241 += einsum("iabj->jiba", v.bbaa.ovvo) + t2new_baba += einsum("ijab,jkbc->kica", x241, x40) + t2new_abab -= einsum("ijab,jkcb->ikac", x241, x40) + del x40 + del x241 + x242 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x242 -= einsum("iabc->ibac", v.aaaa.ovvv) + x242 += einsum("iabc->ibca", v.aaaa.ovvv) + x243 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x243 += einsum("ia,jbca->jibc", t1.aa, x242) + del x242 + x244 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x244 -= einsum("ijab->ijab", x243) + del x243 + x244 += einsum("iabj->ijba", v.aaaa.ovvo) + x244 -= einsum("ijab->ijab", v.aaaa.oovv) + x245 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x245 += einsum("ijab,ikca->kjcb", t2.abab, x244) + del x244 + t2new_baba += einsum("ijab->jiba", x245) + t2new_abab += einsum("ijab->ijab", x245) + del x245 + x246 = np.zeros((nocc[0], nocc[0], nvir[1], nvir[1]), dtype=types[float]) + x246 += einsum("ia,jabc->ijbc", t1.aa, v.aabb.ovvv) + x248 = np.zeros((nocc[0], nocc[0], nvir[1], nvir[1]), dtype=types[float]) + x248 += einsum("ijab->jiab", x246) + del x246 + x247 = np.zeros((nocc[0], nocc[0], nvir[1], nvir[1]), dtype=types[float]) + x247 += einsum("ijab,kajc->ikbc", t2.abab, v.aabb.ovov) + x248 -= einsum("ijab->jiab", x247) + del x247 + x248 += einsum("ijab->ijab", v.aabb.oovv) + x249 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x249 += einsum("ijab,ikcb->kjac", t2.abab, x248) + del x248 + t2new_baba -= einsum("ijab->jiba", x249) + t2new_abab -= einsum("ijab->ijab", x249) + del x249 + x250 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) + x250 += einsum("ia,jkla->jkil", t1.bb, v.aabb.ooov) + x254 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) + x254 += einsum("ijkl->ijlk", x250) + x267 += einsum("ijkl->ijlk", x250) + del x250 + x251 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) + x251 += einsum("ijab,kalb->ikjl", t2.abab, v.aabb.ovov) + x254 += einsum("ijkl->jilk", x251) + x267 += einsum("ijkl->jilk", x251) + del x251 + x252 += einsum("iajk->ijka", v.aabb.ovoo) + x253 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) + x253 += einsum("ia,jkla->jikl", t1.aa, x252) + del x252 + x254 += einsum("ijkl->ijkl", x253) + del x253 + x254 += einsum("ijkl->ijkl", v.aabb.oooo) + x255 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x255 += einsum("ijab,ikjl->klab", t2.abab, x254) + del x254 + t2new_baba += einsum("ijab->jiba", x255) + t2new_abab += einsum("ijab->ijab", x255) + del x255 + x256 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + x256 += einsum("ia,jabc->ijbc", t1.bb, v.bbaa.ovvv) + x257 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + x257 += einsum("ijab->jiab", x256) + x287 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + x287 += einsum("ijab->jiab", x256) + del x256 + x257 += einsum("ijab->ijab", v.bbaa.oovv) + x258 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x258 += einsum("ijab,jkca->ikcb", t2.abab, x257) + del x257 + t2new_baba -= einsum("ijab->jiba", x258) + t2new_abab -= einsum("ijab->ijab", x258) + del x258 + x259 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x259 += einsum("ia,jkba->jkib", t1.bb, v.aabb.oovv) + x271 += einsum("ijka->ijka", x259) + del x259 + x260 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x260 += einsum("ijab,kacb->ikjc", t2.abab, v.aabb.ovvv) + x271 += einsum("ijka->jika", x260) + del x260 + x261 += einsum("ijka->ikja", v.aaaa.ooov) + x261 += einsum("ijka->kija", v.aaaa.ooov) * -1 + x262 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x262 += einsum("ijab,ikla->kljb", t2.abab, x261) + del x261 + x271 += einsum("ijka->ijka", x262) * -1 + del x262 + x267 += einsum("ijkl->ijkl", v.aabb.oooo) + x268 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x268 += einsum("ia,jkil->jkla", t1.bb, x267) + del x267 + x271 += einsum("ijka->ijka", x268) * -1 + del x268 + x269 += einsum("iabj->ijab", v.aabb.ovvo) + x270 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x270 += einsum("ia,jkab->jikb", t1.aa, x269) + del x269 + x271 += einsum("ijka->ijka", x270) + del x270 + x271 += einsum("ijak->ijka", v.aabb.oovo) + x272 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x272 += einsum("ia,ijkb->jkab", t1.aa, x271) + del x271 + t2new_baba += einsum("ijab->jiba", x272) * -1 + t2new_abab += einsum("ijab->ijab", x272) * -1 + del x272 + x273 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x273 += einsum("iajb->jiab", v.aaaa.ovov) + x273 += einsum("iajb->jiba", v.aaaa.ovov) * -1 + x274 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x274 += einsum("ijab,ijca->cb", t2.aaaa, x273) + del x273 + x275 += einsum("ab->ba", x274) * -1 + x307 += einsum("ab->ba", x274) * -1 + del x274 + x275 += einsum("ab->ab", f.aa.vv) + x276 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x276 += einsum("ab,ijbc->ijac", x275, t2.abab) + del x275 + t2new_baba += einsum("ijab->jiba", x276) + t2new_abab += einsum("ijab->ijab", x276) + del x276 + x278 += einsum("ab->ab", f.bb.vv) + x279 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x279 += einsum("ab,ijcb->ijca", x278, t2.abab) + del x278 + t2new_baba += einsum("ijab->jiba", x279) + t2new_abab += einsum("ijab->ijab", x279) + del x279 + x280 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x280 += einsum("ia,jabk->kijb", t1.bb, v.bbaa.ovvo) + x289 += einsum("ijka->ikja", x280) + del x280 + x281 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x281 += einsum("ijab,kbca->ijkc", t2.abab, v.bbaa.ovvv) + x289 += einsum("ijka->ikja", x281) + del x281 + x282 += einsum("ijka->ikja", v.bbbb.ooov) + x282 += einsum("ijka->kija", v.bbbb.ooov) * -1 + x283 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x283 += einsum("ijab,jklb->ikla", t2.abab, x282) + del x282 + x289 += einsum("ijka->ijka", x283) * -1 + del x283 + x287 += einsum("ijab->ijab", v.bbaa.oovv) + x288 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x288 += einsum("ia,jkba->ijkb", t1.aa, x287) + del x287 + x289 += einsum("ijka->ijka", x288) + del x288 + x289 += einsum("ijak->kija", v.bbaa.oovo) + x290 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x290 += einsum("ia,jikb->jkba", t1.bb, x289) + del x289 + t2new_baba += einsum("ijab->jiba", x290) * -1 + t2new_abab += einsum("ijab->ijab", x290) * -1 + del x290 + x295 = np.zeros((nocc[1], nvir[0], nvir[0], nvir[1]), dtype=types[float]) + x295 += einsum("ia,bcda->ibcd", t1.bb, v.aabb.vvvv) + x296 = np.zeros((nocc[1], nvir[0], nvir[0], nvir[1]), dtype=types[float]) + x296 += einsum("iabc->iabc", x295) + del x295 + x296 += einsum("abci->iabc", v.aabb.vvvo) + x297 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x297 += einsum("ia,jbac->ijbc", t1.aa, x296) + del x296 + t2new_baba += einsum("ijab->jiba", x297) + t2new_abab += einsum("ijab->ijab", x297) + del x297 + x298 += einsum("ia->ia", f.bb.ov) + s1new = np.zeros((nbos), dtype=types[float]) + s1new += einsum("ia,wia->w", x298, u11.bb) + del x298 + x299 += einsum("ia->ia", f.aa.ov) + s1new += einsum("ia,wia->w", x299, u11.aa) + del x299 + x300 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x300 += einsum("wia,jbia->wjb", u11.bb, v.aabb.ovov) + x302 += einsum("wia->wia", x300) + del x300 + x302 += einsum("wia->wia", gc.aa.bov) + x309 += einsum("ia,wja->wji", t1.aa, x302) + u11new_aa += einsum("wia,ijba->wjb", x302, x10) + del x10 + u11new_bb += einsum("wia,ijab->wjb", x302, t2.abab) + del x302 + x303 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x303 += einsum("wia,iajb->wjb", u11.aa, v.aabb.ovov) + x305 += einsum("wia->wia", x303) + del x303 + x305 += einsum("wia->wia", gc.bb.bov) + x318 += einsum("ia,wja->wji", t1.bb, x305) + u11new_aa += einsum("wia,jiba->wjb", x305, t2.abab) + u11new_bb += einsum("wia,ijab->wjb", x305, x194) + del x305 + del x194 + x307 += einsum("ab->ab", f.aa.vv) + u11new_aa += einsum("ab,wib->wia", x307, u11.aa) + del x307 + x308 += einsum("ia->ia", f.aa.ov) + x309 += einsum("ia,wja->wij", x308, u11.aa) + del x308 + x309 += einsum("wij->wij", gc.aa.boo) + x309 += einsum("wia,jkia->wjk", u11.bb, v.aabb.ooov) + u11new_aa += einsum("ia,wij->wja", t1.aa, x309) * -1 + del x309 + x310 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x310 += einsum("iabc->ibac", v.aaaa.ovvv) + x310 -= einsum("iabc->ibca", v.aaaa.ovvv) + x311 = np.zeros((nbos, nvir[0], nvir[0]), dtype=types[float]) + x311 -= einsum("wia,ibca->wbc", u11.aa, x310) + del x310 + x311 += einsum("wab->wab", gc.aa.bvv) + x311 += einsum("wia,iabc->wbc", u11.bb, v.bbaa.ovvv) + u11new_aa += einsum("ia,wba->wib", t1.aa, x311) + del x311 + x312 = np.zeros((nbos, nbos), dtype=types[float]) + x312 += einsum("wia,xia->wx", g.aa.bov, u11.aa) + x314 = np.zeros((nbos, nbos), dtype=types[float]) + x314 += einsum("wx->wx", x312) + del x312 + x313 = np.zeros((nbos, nbos), dtype=types[float]) + x313 += einsum("wia,xia->wx", g.bb.bov, u11.bb) + x314 += einsum("wx->wx", x313) + del x313 + x314 += einsum("wx->wx", w) + u11new_aa += einsum("wx,wia->xia", x314, u11.aa) + u11new_bb += einsum("wx,wia->xia", x314, u11.bb) + del x314 + x316 += einsum("ab->ab", f.bb.vv) + u11new_bb += einsum("ab,wib->wia", x316, u11.bb) + del x316 + x317 += einsum("ia->ia", f.bb.ov) + x318 += einsum("ia,wja->wij", x317, u11.bb) + del x317 + x318 += einsum("wij->wij", gc.bb.boo) + x318 += einsum("wia,iajk->wjk", u11.aa, v.aabb.ovoo) + u11new_bb += einsum("ia,wij->wja", t1.bb, x318) * -1 + del x318 + x319 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x319 += einsum("iabc->ibac", v.bbbb.ovvv) + x319 -= einsum("iabc->ibca", v.bbbb.ovvv) + x320 = np.zeros((nbos, nvir[1], nvir[1]), dtype=types[float]) + x320 -= einsum("wia,ibca->wbc", u11.bb, x319) + del x319 + x320 += einsum("wab->wab", gc.bb.bvv) + x320 += einsum("wia,iabc->wbc", u11.aa, v.aabb.ovvv) + u11new_bb += einsum("ia,wba->wib", t1.bb, x320) + del x320 + t1new_aa += einsum("ai->ia", f.aa.vo) + t1new_aa += einsum("ijab,jbca->ic", t2.abab, v.bbaa.ovvv) + t1new_aa += einsum("ia,iabj->jb", t1.bb, v.bbaa.ovvo) + t1new_aa += einsum("w,wai->ia", s1, g.aa.bvo) + t1new_aa += einsum("wab,wib->ia", g.aa.bvv, u11.aa) + t1new_bb += einsum("wab,wib->ia", g.bb.bvv, u11.bb) + t1new_bb += einsum("ia,iabj->jb", t1.aa, v.aabb.ovvo) + t1new_bb += einsum("ijab,iacb->jc", t2.abab, v.aabb.ovvv) + t1new_bb += einsum("ai->ia", f.bb.vo) + t1new_bb += einsum("w,wai->ia", s1, g.bb.bvo) + t2new_aaaa -= einsum("aibj->jiab", v.aaaa.vovo) + t2new_aaaa += einsum("aibj->jiba", v.aaaa.vovo) + t2new_bbbb -= einsum("aibj->jiab", v.bbbb.vovo) + t2new_bbbb += einsum("aibj->jiba", v.bbbb.vovo) + t2new_baba += einsum("aibj->jiba", v.aabb.vovo) + t2new_abab += einsum("aibj->ijab", v.aabb.vovo) + s1new += einsum("ia,wia->w", t1.aa, gc.aa.bov) + s1new += einsum("w->w", G) + s1new += einsum("w,wx->x", s1, w) + s1new += einsum("ia,wia->w", t1.bb, gc.bb.bov) + u11new_aa += einsum("wai->wia", gc.aa.bvo) + u11new_aa += einsum("wia,iabj->wjb", u11.bb, v.bbaa.ovvo) + u11new_bb += einsum("wia,iabj->wjb", u11.aa, v.aabb.ovvo) + u11new_bb += einsum("wai->wia", gc.bb.bvo) + + t1new.aa = t1new_aa + t1new.bb = t1new_bb + t2new.abab = t2new_abab + t2new.baba = t2new_baba + t2new.aaaa = t2new_aaaa + t2new.bbbb = t2new_bbbb + u11new.aa = u11new_aa + u11new.bb = u11new_bb + + return {"t1new": t1new, "t2new": t2new, "s1new": s1new, "u11new": u11new} + +def update_lams(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, u11=None, l1=None, l2=None, ls1=None, lu11=None, **kwargs): + l1new = Namespace() + l2new = Namespace() + lu11new = Namespace() + + # Get boson coupling creation array: + gc = Namespace( + aa = Namespace( + boo=g.aa.boo.transpose(0, 2, 1), + bov=g.aa.bvo.transpose(0, 2, 1), + bvo=g.aa.bov.transpose(0, 2, 1), + bvv=g.aa.bvv.transpose(0, 2, 1), + ), + bb = Namespace( + boo=g.bb.boo.transpose(0, 2, 1), + bov=g.bb.bvo.transpose(0, 2, 1), + bvo=g.bb.bov.transpose(0, 2, 1), + bvv=g.bb.bvv.transpose(0, 2, 1), + ), + ) + + # L1, L2, LS1 and LU11 amplitudes + x0 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x0 += einsum("ia,bajk->jkib", t1.bb, l2.abab) + x2 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) + x2 += einsum("ia,jkla->jikl", t1.aa, x0) + x67 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) + x67 += einsum("ijkl->ijkl", x2) + x461 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) + x461 += einsum("ijkl->ijkl", x2) + l1new_aa = np.zeros((nvir[0], nocc[0]), dtype=types[float]) + l1new_aa += einsum("iajk,likj->al", v.aabb.ovoo, x2) + l1new_bb = np.zeros((nvir[1], nocc[1]), dtype=types[float]) + l1new_bb += einsum("ijka,jilk->al", v.aabb.ooov, x2) + del x2 + x52 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x52 += einsum("ia,jikb->jkba", t1.bb, x0) + x68 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x68 += einsum("ijab,kjla->kilb", t2.abab, x0) + x176 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x176 += einsum("ijab,ijka->kb", t2.abab, x0) + x186 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x186 += einsum("ia->ia", x176) + del x176 + x252 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x252 += einsum("ijab,ikla->kjlb", t2.abab, x0) + x295 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x295 += einsum("iajk,lkjb->liba", v.aabb.ovoo, x0) + x333 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x333 -= einsum("ijab->ijab", x295) + del x295 + x430 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x430 += einsum("iabc,jkib->jkca", v.bbaa.ovvv, x0) + l2new_baba = np.zeros((nvir[1], nvir[0], nocc[1], nocc[0]), dtype=types[float]) + l2new_baba -= einsum("ijab->baji", x430) + l2new_abab = np.zeros((nvir[0], nvir[1], nocc[0], nocc[1]), dtype=types[float]) + l2new_abab -= einsum("ijab->abij", x430) + del x430 + l1new_aa -= einsum("ijab,kjia->bk", v.bbaa.oovv, x0) + x1 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) + x1 += einsum("abij,klab->ikjl", l2.abab, t2.abab) + x67 += einsum("ijkl->ijkl", x1) + x68 += einsum("ia,jkil->jkla", t1.bb, x67) + x258 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x258 += einsum("ia,ijkl->jkla", t1.aa, x67) + del x67 + x461 += einsum("ijkl->ijkl", x1) + x462 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x462 += einsum("iajb,kilj->klab", v.aabb.ovov, x461) + del x461 + l2new_baba += einsum("ijab->baji", x462) + l2new_abab += einsum("ijab->abij", x462) + del x462 + l1new_aa += einsum("iajk,likj->al", v.aabb.ovoo, x1) + l1new_bb += einsum("ijka,jilk->al", v.aabb.ooov, x1) + del x1 + x3 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x3 += einsum("ai,ja->ij", l1.aa, t1.aa) + x163 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x163 += einsum("ij->ij", x3) + x208 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x208 += einsum("ij->ij", x3) + x326 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x326 += einsum("ij->ij", x3) + x4 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x4 += einsum("w,wia->ia", s1, g.aa.bov) + x6 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x6 += einsum("ia->ia", x4) + x31 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x31 += einsum("ia->ia", x4) + x314 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x314 += einsum("ia->ia", x4) + x495 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x495 += einsum("ia->ia", x4) + l1new_aa -= einsum("ij,ja->ai", x3, x4) + del x3 + del x4 + x5 = np.zeros((nocc[0], nocc[0], nvir[1], nvir[1]), dtype=types[float]) + x5 += einsum("abij,kjac->ikbc", l2.abab, t2.abab) + l1new_aa += einsum("iabc,jibc->aj", v.aabb.ovvv, x5) * -1 + del x5 + x6 += einsum("ia->ia", f.aa.ov) + x7 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x7 += einsum("ia,jkab->jkib", x6, t2.aaaa) + del x6 + x8 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x8 += einsum("ijka->kjia", x7) + del x7 + x8 += einsum("ijak->ijka", v.aaaa.oovo) * -1 + x26 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x26 += einsum("ijka->kija", x8) + x26 += einsum("ijka->jika", x8) * -1 + del x8 + x9 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x9 += einsum("ijab,kacb->ijkc", t2.aaaa, v.aaaa.ovvv) + x17 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x17 += einsum("ijka->ijka", x9) * -1 + del x9 + x10 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x10 += einsum("ijab,kbla->ijlk", t2.aaaa, v.aaaa.ovov) + x11 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x11 += einsum("ia,jkil->kjla", t1.aa, x10) + x17 += einsum("ijka->ijka", x11) + del x11 + x356 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x356 += einsum("abij,ijkl->klab", l2.aaaa, x10) + del x10 + x360 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x360 += einsum("ijab->ijab", x356) + del x356 + x12 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x12 += einsum("ia,jbia->jb", t1.bb, v.aabb.ovov) + x15 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x15 += einsum("ia->ia", x12) + x31 += einsum("ia->ia", x12) + x209 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x209 += einsum("ia->ia", x12) + x332 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x332 += einsum("ia->ia", x12) + x495 += einsum("ia->ia", x12) + del x12 + x13 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x13 += einsum("iajb->jiab", v.aaaa.ovov) * -1 + x13 += einsum("iajb->jiba", v.aaaa.ovov) + x14 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x14 += einsum("ia,ijba->jb", t1.aa, x13) + x15 += einsum("ia->ia", x14) * -1 + x16 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x16 += einsum("ia,jkab->jkib", x15, t2.aaaa) + x17 += einsum("ijka->jika", x16) + del x16 + x26 += einsum("ijka->jkia", x17) + x26 += einsum("ijka->ikja", x17) * -1 + del x17 + x344 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x344 += einsum("ia,ja->ij", t1.aa, x15) + x345 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x345 += einsum("ij->ij", x344) + del x344 + x517 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x517 += einsum("ia,ib->ab", t1.aa, x15) * -1 + x31 += einsum("ia->ia", x14) * -1 + x209 += einsum("ia->ia", x14) * -1 + del x14 + x194 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x194 += einsum("wia,ijba->wjb", u11.aa, x13) + x195 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x195 += einsum("wia->wia", x194) * -1 + del x194 + x435 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x435 += einsum("ijab,ikca->kjcb", t2.abab, x13) + x437 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x437 += einsum("ijab->ijab", x435) * -1 + del x435 + x18 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x18 += einsum("ia,jbka->ijkb", t1.aa, v.aaaa.ovov) + x19 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x19 += einsum("ijka->ikja", x18) * -1 + x19 += einsum("ijka->ijka", x18) + x27 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x27 += einsum("ijka->jkia", x18) + x27 += einsum("ijka->kjia", x18) * -1 + x46 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x46 += einsum("ia,jkla->ijkl", t1.aa, x18) + x47 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x47 += einsum("ia,jkil->kjla", t1.aa, x46) + x48 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x48 += einsum("ijka->ijka", x47) + del x47 + x357 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x357 += einsum("abij,jikl->klba", l2.aaaa, x46) + del x46 + x360 += einsum("ijab->ijab", x357) + del x357 + x83 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x83 += einsum("ijka->jkia", x18) * -1 + x83 += einsum("ijka->kjia", x18) + x329 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x329 += einsum("ijka->ijka", x18) + x341 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x341 += einsum("ijka->ikja", x18) * -1 + x341 += einsum("ijka->ijka", x18) + x466 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x466 += einsum("ijka->ikja", x18) + x466 += einsum("ijka->ijka", x18) * -1 + del x18 + x19 += einsum("ijka->jkia", v.aaaa.ooov) + x19 += einsum("ijka->jika", v.aaaa.ooov) * -1 + x20 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x20 += einsum("ijab->jiab", t2.aaaa) + x20 += einsum("ijab->jiba", t2.aaaa) * -1 + x26 += einsum("ijka,klab->ijlb", x19, x20) + x50 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x50 += einsum("ijka,klab->ijlb", x19, x20) * 0.9999999999999993 + del x19 + x82 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x82 += einsum("iabc,ijac->jb", v.aaaa.ovvv, x20) + x116 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x116 += einsum("ia->ia", x82) * -1 + del x82 + x161 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x161 += einsum("ai,ijba->jb", l1.aa, x20) + x165 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x165 += einsum("ia->ia", x161) * -1 + del x161 + x169 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x169 += einsum("abij,ijac->bc", l2.aaaa, x20) + x170 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x170 += einsum("ab->ab", x169) * -1 + x347 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x347 += einsum("ab->ab", x169) * -1 + x476 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x476 += einsum("ab->ab", x169) * -1 + del x169 + x249 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x249 += einsum("abij,ikca->kjcb", l2.abab, x20) * -1 + x258 += einsum("ijka,ilba->ljkb", x0, x20) * -1 + x338 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x338 += einsum("ijab,ikbc->kjca", x13, x20) + x339 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x339 += einsum("ijab->ijab", x338) + del x338 + x350 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x350 += einsum("iajb,ijac->cb", v.aaaa.ovov, x20) + x351 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x351 += einsum("ab->ab", x350) * -1 + del x350 + x468 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x468 += einsum("iajb,ijca->cb", v.aaaa.ovov, x20) + x469 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x469 += einsum("ab->ab", x468) * -1 + x517 += einsum("ab->ab", x468) * -1 + del x468 + x21 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x21 += einsum("ia,jakb->ijkb", t1.aa, v.aabb.ovov) + x22 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x22 += einsum("ijka->jika", x21) + x492 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x492 += einsum("ijka->jika", x21) + x22 += einsum("ijka->ijka", v.aabb.ooov) + x26 += einsum("ijab,kljb->lkia", t2.abab, x22) + x50 += einsum("ijab,kljb->lkia", t2.abab, x22) * 0.9999999999999993 + x85 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x85 += einsum("ijab,ikjb->ka", t2.abab, x22) + x116 += einsum("ia->ia", x85) * -1 + del x85 + x228 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x228 += einsum("ijab,iklb->klja", t2.abab, x22) * -1 + x465 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x465 += einsum("ijka,likb->ljab", x0, x22) + l2new_baba += einsum("ijab->baji", x465) + l2new_abab += einsum("ijab->abij", x465) + del x465 + x23 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x23 += einsum("iabj->ijba", v.aaaa.ovvo) + x23 += einsum("ijab->ijab", v.aaaa.oovv) * -1 + x26 += einsum("ia,jkba->ijkb", t1.aa, x23) + x50 += einsum("ia,jkba->ijkb", t1.aa, x23) * 0.9999999999999993 + x93 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x93 += einsum("ia,ijba->jb", t1.aa, x23) + x116 += einsum("ia->ia", x93) + del x93 + x24 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x24 += einsum("ia,jkla->ijlk", t1.aa, v.aaaa.ooov) + x25 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x25 += einsum("ijkl->jkil", x24) + x25 += einsum("ijkl->kjil", x24) * -1 + x49 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x49 += einsum("ijkl->ikjl", x24) + x49 += einsum("ijkl->ijkl", x24) * -1 + x50 += einsum("ia,jkil->jkla", t1.aa, x49) * -0.9999999999999993 + del x49 + x293 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x293 += einsum("abij,jkli->klba", l2.aaaa, x24) + del x24 + x333 -= einsum("ijab->ijab", x293) + del x293 + x25 += einsum("ijkl->kijl", v.aaaa.oooo) + x25 += einsum("ijkl->kilj", v.aaaa.oooo) * -1 + x26 += einsum("ia,ijkl->kjla", t1.aa, x25) * -1 + del x25 + l1new_aa += einsum("abij,ikjb->ak", l2.aaaa, x26) * -1 + del x26 + x27 += einsum("ijka->ikja", v.aaaa.ooov) * -1 + x27 += einsum("ijka->kija", v.aaaa.ooov) + x39 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x39 += einsum("ijab,kila->kljb", t2.abab, x27) * -1 + del x27 + x28 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x28 += einsum("ijab->jiab", t2.bbbb) + x28 += einsum("ijab->jiba", t2.bbbb) * -1 + x39 += einsum("ijka,klab->ijlb", x22, x28) * -1 + x124 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x124 += einsum("iabc,ijac->jb", v.bbbb.ovvv, x28) + x154 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x154 += einsum("ia->ia", x124) * -1 + del x124 + x183 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x183 += einsum("abij,ikab->jk", l2.bbbb, x28) + x184 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x184 += einsum("ij->ij", x183) * -1 + x251 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x251 += einsum("ij->ij", x183) * -1 + x285 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x285 += einsum("ij->ij", x183) * -1 + del x183 + x436 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x436 += einsum("iajb,jkbc->ikac", v.aabb.ovov, x28) + x437 += einsum("ijab->ijab", x436) * -1 + del x436 + x509 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x509 += einsum("wia,ijab->wjb", g.bb.bov, x28) + x511 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x511 += einsum("wia->wia", x509) * -1 + del x509 + x514 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x514 += einsum("wai,ijab->wjb", lu11.bb, x28) + x515 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x515 += einsum("wia->wia", x514) * -1 + del x514 + x29 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x29 += einsum("ia,jbka->jikb", t1.bb, v.aabb.ovov) + x30 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x30 += einsum("ijka->ikja", x29) + x34 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x34 += einsum("ijka->ikja", x29) + x296 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x296 += einsum("ijka,ljkb->ilab", x0, x29) + x333 -= einsum("ijab->ijab", x296) + del x296 + x490 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x490 += einsum("ijka->ikja", x29) + del x29 + x30 += einsum("iajk->ijka", v.aabb.ovoo) + x39 += einsum("ijab,kjla->kilb", t2.abab, x30) * -1 + x128 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x128 += einsum("ijab,ijka->kb", t2.abab, x30) + x154 += einsum("ia->ia", x128) * -1 + del x128 + x223 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x223 += einsum("ijab,ikla->lkjb", t2.abab, x30) + x458 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) + x458 += einsum("ia,jkla->ijkl", t1.aa, x30) + x459 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) + x459 += einsum("ijkl->jikl", x458) + del x458 + x31 += einsum("ia->ia", f.aa.ov) + x39 += einsum("ia,jkab->ijkb", x31, t2.abab) + x104 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x104 += einsum("ia,ja->ij", t1.aa, x31) + x105 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x105 += einsum("ij->ji", x104) + del x104 + x130 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x130 += einsum("ia,ijab->jb", x31, t2.abab) + x154 += einsum("ia->ia", x130) + del x130 + x196 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) + x196 += einsum("ia,wja->wij", x31, u11.aa) + x213 = np.zeros((nbos), dtype=types[float]) + x213 += einsum("ia,wia->w", x31, u11.aa) + x215 = np.zeros((nbos), dtype=types[float]) + x215 += einsum("w->w", x213) + del x213 + lu11new_aa = np.zeros((nbos, nvir[0], nocc[0]), dtype=types[float]) + lu11new_aa += einsum("w,ia->wai", ls1, x31) * 2 + x32 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) + x32 += einsum("ia,jkla->jkil", t1.bb, v.aabb.ooov) + x36 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) + x36 += einsum("ijkl->ijlk", x32) + x459 += einsum("ijkl->ijlk", x32) + del x32 + x33 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) + x33 += einsum("ijab,kalb->ikjl", t2.abab, v.aabb.ovov) + x36 += einsum("ijkl->jilk", x33) + x459 += einsum("ijkl->jilk", x33) + del x33 + x34 += einsum("iajk->ijka", v.aabb.ovoo) + x35 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) + x35 += einsum("ia,jkla->ijkl", t1.aa, x34) + del x34 + x36 += einsum("ijkl->jikl", x35) + del x35 + x36 += einsum("ijkl->ijkl", v.aabb.oooo) + x39 += einsum("ia,jkil->jkla", t1.bb, x36) * -1 + x228 += einsum("ia,ijkl->jkla", t1.aa, x36) * -1 + del x36 + x37 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x37 += einsum("ia,jbca->jibc", t1.bb, v.aabb.ovvv) + x38 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x38 += einsum("ijab->ijab", x37) + x304 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x304 += einsum("ijab->ijab", x37) + x437 += einsum("ijab->ijab", x37) + del x37 + x38 += einsum("iabj->ijab", v.aabb.ovvo) + x39 += einsum("ia,jkab->jikb", t1.aa, x38) + x39 += einsum("ijak->ijka", v.aabb.oovo) + x39 += einsum("ia,jkba->jkib", t1.bb, v.aabb.oovv) + x39 += einsum("ijab,kacb->kijc", t2.abab, v.aabb.ovvv) + l1new_aa += einsum("abij,kijb->ak", l2.abab, x39) * -1 + del x39 + x40 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x40 += einsum("abij,kjcb->ikac", l2.abab, t2.abab) + x42 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x42 += einsum("ijab->ijab", x40) + x343 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x343 += einsum("ijab,kicb->kjca", x13, x40) + del x40 + x355 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x355 += einsum("ijab->ijab", x343) + del x343 + x41 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x41 += einsum("abij->jiab", l2.aaaa) + x41 += einsum("abij->jiba", l2.aaaa) * -1 + x42 += einsum("ijab,ikcb->kjca", x20, x41) + x52 += einsum("ijab,ikca->kjcb", t2.abab, x41) * -1 + x43 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x43 += einsum("iabc->ibac", v.aaaa.ovvv) + x43 += einsum("iabc->ibca", v.aaaa.ovvv) * -1 + x109 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x109 += einsum("ia,ibca->bc", t1.aa, x43) + x110 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x110 += einsum("ab->ab", x109) * -1 + x469 += einsum("ab->ab", x109) * -1 + x517 += einsum("ab->ab", x109) * -1 + del x109 + x448 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x448 += einsum("ia,jbac->ijbc", t1.aa, x43) + x449 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x449 += einsum("ijab->jiab", x448) * -1 + del x448 + l1new_aa += einsum("ijab,jacb->ci", x42, x43) * -1 + del x42 + x44 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x44 += einsum("ia,jbca->ijcb", t1.aa, v.aaaa.ovvv) + x45 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x45 += einsum("ia,jkba->ijkb", t1.aa, x44) + del x44 + x48 += einsum("ijka->ijka", x45) * -0.9999999999999993 + del x45 + x50 += einsum("ijka->jkia", x48) + x50 += einsum("ijka->ikja", x48) * -1 + del x48 + l1new_aa += einsum("abij,ikja->bk", l2.aaaa, x50) + del x50 + x51 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x51 += einsum("ijab->jiab", t2.bbbb) * -1 + x51 += einsum("ijab->jiba", t2.bbbb) + x52 += einsum("abij,jkbc->ikac", l2.abab, x51) * -1 + l1new_aa += einsum("iabc,jiba->cj", v.bbaa.ovvv, x52) * -1 + del x52 + x179 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x179 += einsum("ai,ijab->jb", l1.bb, x51) + x186 += einsum("ia->ia", x179) * -1 + del x179 + x190 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x190 += einsum("abij,ijbc->ac", l2.bbbb, x51) + x191 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x191 += einsum("ab->ab", x190) * -1 + x422 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x422 += einsum("ab->ab", x190) * -1 + x478 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x478 += einsum("ab->ab", x190) * -1 + del x190 + x53 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x53 += einsum("ia,abjk->jikb", t1.aa, l2.abab) + x60 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x60 += einsum("ijab,kljb->kila", t2.abab, x53) + x68 += einsum("ijab,klia->kljb", x51, x53) * -1 + x159 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x159 += einsum("ijab,ikjb->ka", t2.abab, x53) + x165 += einsum("ia->ia", x159) + del x159 + x249 += einsum("ia,ijkb->jkab", t1.aa, x53) + x258 += einsum("ijab,iklb->klja", t2.abab, x53) + x364 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x364 += einsum("ijka,jilb->lkba", v.aabb.ooov, x53) + x403 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x403 -= einsum("ijab->ijab", x364) + del x364 + x367 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x367 += einsum("ijka,ijlb->lkba", x21, x53) + del x21 + x403 -= einsum("ijab->ijab", x367) + del x367 + x433 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x433 += einsum("iabc,jikb->jkac", v.aabb.ovvv, x53) + l2new_baba -= einsum("ijab->baji", x433) + l2new_abab -= einsum("ijab->abij", x433) + del x433 + x464 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x464 += einsum("ijka,likb->ljab", x30, x53) + l2new_baba += einsum("ijab->baji", x464) + l2new_abab += einsum("ijab->abij", x464) + del x464 + x483 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x483 += einsum("ia,jikb->jkab", x31, x53) + l2new_baba += einsum("ijab->baji", x483) * -1 + l2new_abab += einsum("ijab->abij", x483) * -1 + del x483 + l1new_aa += einsum("ijab,kijb->ak", x38, x53) * -1 + del x38 + l1new_bb -= einsum("ijab,jika->bk", v.aabb.oovv, x53) + l2new_baba += einsum("ijka,ijlb->balk", x466, x53) * -1 + l2new_abab += einsum("ijka,iklb->abjl", x466, x53) + del x466 + x54 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x54 += einsum("ia,abjk->kjib", t1.aa, l2.aaaa) + x55 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x55 += einsum("ijka->ijka", x54) * -1 + x55 += einsum("ijka->jika", x54) + x68 += einsum("ijab,kila->kljb", t2.abab, x55) * -1 + l1new_aa += einsum("ijab,kjia->bk", x23, x55) * -1 + del x23 + x62 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x62 += einsum("ijka->ijka", x54) + x62 += einsum("ijka->jika", x54) * -1 + x63 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x63 += einsum("ia,jikb->jkba", t1.aa, x62) * -1 + l1new_aa += einsum("iabc,jiab->cj", x43, x63) + del x43 + del x63 + x342 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x342 += einsum("ijka,likb->ljba", x341, x62) + del x341 + x355 += einsum("ijab->ijab", x342) + del x342 + l2new_abab += einsum("ijka,ljib->balk", x22, x62) * -1 + del x62 + x71 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x71 += einsum("ia,jkla->kjli", t1.aa, x54) + x72 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x72 += einsum("ijkl->ijkl", x71) + x117 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x117 += einsum("ijkl->ijkl", x71) * -1 + x117 += einsum("ijkl->ijlk", x71) + l1new_aa += einsum("ijka,ljik->al", v.aaaa.ooov, x117) + del x117 + x358 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x358 += einsum("ijkl->ijkl", x71) + del x71 + x160 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x160 += einsum("ijab,jikb->ka", x20, x54) + del x20 + x165 += einsum("ia->ia", x160) * -1 + del x160 + x294 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x294 += einsum("iabc,jkib->kjac", v.aaaa.ovvv, x54) + x333 -= einsum("ijab->ijab", x294) + del x294 + x306 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x306 += einsum("ijka->ijka", x54) + x306 -= einsum("ijka->jika", x54) + l2new_baba += einsum("ijka,ljib->abkl", x22, x306) * -1 + del x22 + x354 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x354 += einsum("ia,jkib->jkba", x15, x54) + del x15 + x355 += einsum("ijab->ijab", x354) + del x354 + x56 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x56 += einsum("ijab->jiab", t2.aaaa) * -1 + x56 += einsum("ijab->jiba", t2.aaaa) + x58 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x58 += einsum("abij,ikba->jk", l2.aaaa, x56) + x59 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x59 += einsum("ij->ij", x58) * -1 + x163 += einsum("ij->ij", x58) * -1 + x205 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x205 += einsum("ij->ij", x58) * -1 + del x58 + x60 += einsum("ijka,ilba->jlkb", x55, x56) + del x55 + x86 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x86 += einsum("ia,ijba->jb", x31, x56) + del x31 + x116 += einsum("ia->ia", x86) * -1 + del x86 + x101 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x101 += einsum("iajb,ikba->kj", v.aaaa.ovov, x56) + x105 += einsum("ij->ji", x101) * -1 + x345 += einsum("ij->ij", x101) * -1 + del x101 + x228 += einsum("ijka,ilba->ljkb", x30, x56) * -1 + x439 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x439 += einsum("iajb,ikca->kjcb", v.aabb.ovov, x56) + x441 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x441 += einsum("ijab->ijab", x439) * -1 + del x439 + x500 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x500 += einsum("wia,ijba->wjb", g.aa.bov, x56) + x502 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x502 += einsum("wia->wia", x500) * -1 + del x500 + x505 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x505 += einsum("wai,ijba->wjb", lu11.aa, x56) + x506 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x506 += einsum("wia->wia", x505) * -1 + del x505 + x57 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x57 += einsum("abij,kjab->ik", l2.abab, t2.abab) + x59 += einsum("ij->ij", x57) + x60 += einsum("ia,jk->jika", t1.aa, x59) + x68 += einsum("ia,jk->jkia", t1.bb, x59) * -1 + x353 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x353 += einsum("ij,jakb->ikab", x59, v.aaaa.ovov) + x355 += einsum("ijab->ijba", x353) * -1 + del x353 + l1new_aa += einsum("ia,ji->aj", f.aa.ov, x59) * -1 + del x59 + x163 += einsum("ij->ij", x57) + x205 += einsum("ij->ij", x57) + del x57 + x61 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x61 += einsum("iajb->jiab", v.aaaa.ovov) + x61 += einsum("iajb->jiba", v.aaaa.ovov) * -1 + x447 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x447 += einsum("ijab,ikbc->jkac", x56, x61) + del x56 + x449 += einsum("ijab->jiab", x447) + del x447 + l1new_aa += einsum("ijka,kjab->bi", x60, x61) * -1 + del x60 + x64 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x64 += einsum("ia,bcda->ibdc", t1.aa, v.aaaa.vvvv) + x65 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x65 += einsum("iabc->iabc", x64) * -1 + del x64 + x65 += einsum("aibc->iabc", v.aaaa.vovv) + x66 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x66 += einsum("iabc->iabc", x65) + x66 += einsum("iabc->ibac", x65) * -1 + del x65 + l1new_aa += einsum("abij,ibac->cj", l2.aaaa, x66) * -1 + del x66 + x68 += einsum("ai,jkab->ijkb", l1.aa, t2.abab) * -1 + l1new_aa += einsum("iajb,kijb->ak", v.aabb.ovov, x68) + del x68 + x69 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x69 += einsum("ai,jkab->ikjb", l1.aa, t2.aaaa) + x74 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x74 += einsum("ijka->ijka", x69) + del x69 + x70 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x70 += einsum("abij,klab->ijkl", l2.aaaa, t2.aaaa) + x72 += einsum("ijkl->jilk", x70) + x73 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x73 += einsum("ia,ijkl->jkla", t1.aa, x72) + del x72 + x74 += einsum("ijka->ikja", x73) + del x73 + x75 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x75 += einsum("ijka->ikja", x74) + x75 += einsum("ijka->ijka", x74) * -1 + del x74 + l1new_aa += einsum("iajb,kijb->ak", v.aaaa.ovov, x75) * -1 + del x75 + x118 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x118 += einsum("ijkl->jikl", x70) + x118 += einsum("ijkl->jilk", x70) * -1 + l1new_aa += einsum("ijka,jlik->al", v.aaaa.ooov, x118) * -1 + del x118 + x358 += einsum("ijkl->jilk", x70) + del x70 + x359 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x359 += einsum("iajb,klji->klab", v.aaaa.ovov, x358) + del x358 + x360 += einsum("ijab->jiab", x359) + del x359 + l2new_aaaa = np.zeros((nvir[0], nvir[0], nocc[0], nocc[0]), dtype=types[float]) + l2new_aaaa += einsum("ijab->abij", x360) + l2new_aaaa += einsum("ijab->baij", x360) * -1 + del x360 + x76 = np.zeros((nocc[1], nvir[0], nvir[0], nvir[1]), dtype=types[float]) + x76 += einsum("abci->iabc", v.aabb.vvvo) + x76 += einsum("ia,bcda->ibcd", t1.bb, v.aabb.vvvv) + l1new_aa += einsum("abij,jacb->ci", l2.abab, x76) + del x76 + x77 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x77 += einsum("w,wai->ia", s1, g.aa.bvo) + x116 += einsum("ia->ia", x77) + del x77 + x78 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x78 += einsum("wab,wib->ia", g.aa.bvv, u11.aa) + x116 += einsum("ia->ia", x78) + del x78 + x79 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x79 += einsum("ia,iabj->jb", t1.bb, v.bbaa.ovvo) + x116 += einsum("ia->ia", x79) + del x79 + x80 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x80 += einsum("ijab,jkib->ka", t2.aaaa, v.aaaa.ooov) + x116 += einsum("ia->ia", x80) + del x80 + x81 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x81 += einsum("ijab,jbca->ic", t2.abab, v.bbaa.ovvv) + x116 += einsum("ia->ia", x81) + del x81 + x83 += einsum("ijka->ikja", v.aaaa.ooov) + x84 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x84 += einsum("ijab,ijkb->ka", t2.aaaa, x83) + del x83 + x116 += einsum("ia->ia", x84) * -1 + del x84 + x87 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x87 += einsum("w,wia->ia", s1, g.bb.bov) + x91 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x91 += einsum("ia->ia", x87) + x235 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x235 += einsum("ia->ia", x87) + x384 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x384 += einsum("ia->ia", x87) + x494 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x494 += einsum("ia->ia", x87) + x88 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x88 += einsum("ia,iajb->jb", t1.aa, v.aabb.ovov) + x91 += einsum("ia->ia", x88) + x241 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x241 += einsum("ia->ia", x88) + x289 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x289 += einsum("ia->ia", x88) + x402 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x402 += einsum("ia->ia", x88) + x494 += einsum("ia->ia", x88) + del x88 + x89 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x89 += einsum("iajb->jiab", v.bbbb.ovov) + x89 += einsum("iajb->jiba", v.bbbb.ovov) * -1 + x90 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x90 += einsum("ia,ijab->jb", t1.bb, x89) + x91 += einsum("ia->ia", x90) * -1 + x241 += einsum("ia->ia", x90) * -1 + x242 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x242 += einsum("ia,jkab->jkib", x241, t2.bbbb) + x247 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x247 += einsum("ijka->jika", x242) + del x242 + x415 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x415 += einsum("ia,ja->ij", t1.bb, x241) + x416 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x416 += einsum("ij->ij", x415) + del x415 + x525 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x525 += einsum("ia,ib->ab", t1.bb, x241) * -1 + x289 += einsum("ia->ia", x90) * -1 + del x90 + x274 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x274 += einsum("wia,ijab->wjb", u11.bb, x89) + x275 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x275 += einsum("wia->wia", x274) * -1 + del x274 + x414 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x414 += einsum("ijab,ikab->jk", t2.bbbb, x89) + x416 += einsum("ij->ij", x414) * -1 + del x414 + x440 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x440 += einsum("ijab,jkbc->ikac", t2.abab, x89) + x441 += einsum("ijab->ijab", x440) * -1 + del x440 + x471 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x471 += einsum("ijab,ijbc->ac", t2.bbbb, x89) + x472 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x472 += einsum("ab->ab", x471) * -1 + x525 += einsum("ab->ab", x471) * -1 + del x471 + x91 += einsum("ia->ia", f.bb.ov) + x92 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x92 += einsum("ia,jiba->jb", x91, t2.abab) + x116 += einsum("ia->ia", x92) + del x92 + x129 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x129 += einsum("ia,ijab->jb", x91, x28) + x154 += einsum("ia->ia", x129) * -1 + del x129 + x144 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x144 += einsum("ia,ja->ij", t1.bb, x91) + x145 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x145 += einsum("ij->ji", x144) + del x144 + x214 = np.zeros((nbos), dtype=types[float]) + x214 += einsum("ia,wia->w", x91, u11.bb) + x215 += einsum("w->w", x214) + del x214 + x228 += einsum("ia,jkba->jikb", x91, t2.abab) + x276 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) + x276 += einsum("ia,wja->wij", x91, u11.bb) + x482 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x482 += einsum("ia,jkib->jkba", x91, x0) + l2new_baba += einsum("ijab->baji", x482) * -1 + l2new_abab += einsum("ijab->abij", x482) * -1 + del x482 + lu11new_bb = np.zeros((nbos, nvir[1], nocc[1]), dtype=types[float]) + lu11new_bb += einsum("w,ia->wai", ls1, x91) * 2 + del x91 + x94 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) + x94 += einsum("ia,wja->wji", t1.aa, g.aa.bov) + x95 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) + x95 += einsum("wij->wij", x94) + x521 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) + x521 += einsum("wij->wij", x94) + del x94 + x95 += einsum("wij->wij", g.aa.boo) + x96 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x96 += einsum("wia,wij->ja", u11.aa, x95) + x116 += einsum("ia->ia", x96) * -1 + del x96 + x501 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x501 += einsum("ia,wij->wja", t1.aa, x95) + x502 += einsum("wia->wia", x501) * -1 + del x501 + x97 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x97 += einsum("w,wij->ij", s1, g.aa.boo) + x105 += einsum("ij->ij", x97) + x316 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x316 += einsum("ij->ij", x97) + del x97 + x98 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x98 += einsum("wia,wja->ij", g.aa.bov, u11.aa) + x105 += einsum("ij->ij", x98) + x316 += einsum("ij->ij", x98) + del x98 + x99 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x99 += einsum("ia,jkia->jk", t1.bb, v.aabb.ooov) + x105 += einsum("ij->ij", x99) + x319 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x319 += einsum("ij->ij", x99) + del x99 + x100 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x100 += einsum("ijab,kajb->ik", t2.abab, v.aabb.ovov) + x105 += einsum("ij->ji", x100) + x345 += einsum("ij->ij", x100) + del x100 + x346 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x346 += einsum("ij,abik->kjab", x345, l2.aaaa) + del x345 + x355 += einsum("ijab->ijba", x346) + del x346 + x102 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x102 += einsum("ijka->ikja", v.aaaa.ooov) * -1 + x102 += einsum("ijka->kija", v.aaaa.ooov) + x103 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x103 += einsum("ia,jika->jk", t1.aa, x102) + x105 += einsum("ij->ij", x103) * -1 + del x103 + x196 += einsum("wia,jika->wjk", u11.aa, x102) * -1 + del x102 + x105 += einsum("ij->ij", f.aa.oo) + x106 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x106 += einsum("ia,ij->ja", t1.aa, x105) + x116 += einsum("ia->ia", x106) * -1 + del x106 + x475 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x475 += einsum("ij,abjk->ikab", x105, l2.abab) + l2new_baba += einsum("ijab->baji", x475) * -1 + l2new_abab += einsum("ijab->abij", x475) * -1 + del x475 + l1new_aa += einsum("ai,ji->aj", l1.aa, x105) * -1 + lu11new_aa += einsum("ij,waj->wai", x105, lu11.aa) * -1 + del x105 + x107 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x107 += einsum("w,wab->ab", s1, g.aa.bvv) + x110 += einsum("ab->ab", x107) + x309 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x309 += einsum("ab->ab", x107) + x469 += einsum("ab->ab", x107) + x517 += einsum("ab->ab", x107) + del x107 + x108 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x108 += einsum("ia,iabc->bc", t1.bb, v.bbaa.ovvv) + x110 += einsum("ab->ab", x108) + x312 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x312 += einsum("ab->ab", x108) + x469 += einsum("ab->ab", x108) + x517 += einsum("ab->ab", x108) + del x108 + x110 += einsum("ab->ab", f.aa.vv) + x111 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x111 += einsum("ia,ba->ib", t1.aa, x110) + x116 += einsum("ia->ia", x111) + del x111 + l1new_aa += einsum("ai,ab->bi", l1.aa, x110) + del x110 + x112 = np.zeros((nbos), dtype=types[float]) + x112 += einsum("ia,wia->w", t1.aa, g.aa.bov) + x114 = np.zeros((nbos), dtype=types[float]) + x114 += einsum("w->w", x112) + del x112 + x113 = np.zeros((nbos), dtype=types[float]) + x113 += einsum("ia,wia->w", t1.bb, g.bb.bov) + x114 += einsum("w->w", x113) + del x113 + x114 += einsum("w->w", G) + x115 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x115 += einsum("w,wia->ia", x114, u11.aa) + x116 += einsum("ia->ia", x115) + del x115 + x153 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x153 += einsum("w,wia->ia", x114, u11.bb) + del x114 + x154 += einsum("ia->ia", x153) + del x153 + x116 += einsum("ai->ia", f.aa.vo) + l1new_aa += einsum("ia,ijba->bj", x116, x41) + l1new_bb += einsum("ia,abij->bj", x116, l2.abab) + ls1new = np.zeros((nbos), dtype=types[float]) + ls1new += einsum("ia,wai->w", x116, lu11.aa) + del x116 + x119 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x119 += einsum("w,wai->ia", s1, g.bb.bvo) + x154 += einsum("ia->ia", x119) + del x119 + x120 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x120 += einsum("wab,wib->ia", g.bb.bvv, u11.bb) + x154 += einsum("ia->ia", x120) + del x120 + x121 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x121 += einsum("ia,iabj->jb", t1.aa, v.aabb.ovvo) + x154 += einsum("ia->ia", x121) + del x121 + x122 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x122 += einsum("ijab,iacb->jc", t2.abab, v.aabb.ovvv) + x154 += einsum("ia->ia", x122) + del x122 + x123 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x123 += einsum("ijab,ikja->kb", t2.bbbb, v.bbbb.ooov) + x154 += einsum("ia->ia", x123) + del x123 + x125 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x125 += einsum("ia,jbka->ijkb", t1.bb, v.bbbb.ovov) + x126 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x126 += einsum("ijka->jkia", x125) * -1 + x126 += einsum("ijka->kjia", x125) + x220 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x220 += einsum("ijka->ikja", x125) + x220 += einsum("ijka->ijka", x125) * -1 + x225 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x225 += einsum("ijka->jkia", x125) * -1 + x225 += einsum("ijka->kjia", x125) + x244 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x244 += einsum("ia,jkla->ijkl", t1.bb, x125) + x245 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x245 += einsum("ijkl->ijkl", x244) + x406 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x406 += einsum("ijkl->ijkl", x244) + del x244 + x267 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x267 += einsum("ijka->jkia", x125) + x399 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x399 += einsum("ijka->ijka", x125) + x410 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x410 += einsum("ijka->ikja", x125) * -1 + x410 += einsum("ijka->ijka", x125) + del x125 + x463 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x463 += einsum("ijka,jlkb->ilab", x0, x410) + l2new_baba += einsum("ijab->baji", x463) * -1 + l2new_abab += einsum("ijab->abij", x463) * -1 + del x463 + x126 += einsum("ijka->ikja", v.bbbb.ooov) + x127 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x127 += einsum("ijab,jika->kb", t2.bbbb, x126) + del x126 + x154 += einsum("ia->ia", x127) * -1 + del x127 + x131 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x131 += einsum("iabj->ijba", v.bbbb.ovvo) + x131 += einsum("ijab->ijab", v.bbbb.oovv) * -1 + x132 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x132 += einsum("ia,ijba->jb", t1.bb, x131) + x154 += einsum("ia->ia", x132) + del x132 + x223 += einsum("ia,jkba->ijkb", t1.bb, x131) + x133 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) + x133 += einsum("ia,wja->wji", t1.bb, g.bb.bov) + x134 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) + x134 += einsum("wij->wij", x133) + x526 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) + x526 += einsum("wij->wij", x133) + del x133 + x134 += einsum("wij->wij", g.bb.boo) + x135 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x135 += einsum("wia,wij->ja", u11.bb, x134) + x154 += einsum("ia->ia", x135) * -1 + del x135 + x510 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x510 += einsum("ia,wij->wja", t1.bb, x134) + x511 += einsum("wia->wia", x510) * -1 + del x510 + x136 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x136 += einsum("w,wij->ij", s1, g.bb.boo) + x145 += einsum("ij->ij", x136) + x386 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x386 += einsum("ij->ij", x136) + del x136 + x137 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x137 += einsum("wia,wja->ij", g.bb.bov, u11.bb) + x145 += einsum("ij->ij", x137) + x386 += einsum("ij->ij", x137) + del x137 + x138 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x138 += einsum("ia,iajk->jk", t1.aa, v.aabb.ovoo) + x145 += einsum("ij->ij", x138) + x389 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x389 += einsum("ij->ij", x138) + del x138 + x139 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x139 += einsum("ijab,iakb->jk", t2.abab, v.aabb.ovov) + x145 += einsum("ij->ji", x139) + x416 += einsum("ij->ij", x139) + del x139 + x417 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x417 += einsum("ij,abik->kjab", x416, l2.bbbb) + del x416 + x426 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x426 += einsum("ijab->ijba", x417) + del x417 + x140 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x140 += einsum("iajb->jiab", v.bbbb.ovov) * -1 + x140 += einsum("iajb->jiba", v.bbbb.ovov) + x141 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x141 += einsum("ijab,ikba->jk", t2.bbbb, x140) + x145 += einsum("ij->ji", x141) * -1 + del x141 + x419 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x419 += einsum("ijab,ijbc->ac", t2.bbbb, x140) + x420 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x420 += einsum("ab->ab", x419) * -1 + del x419 + x443 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x443 += einsum("ijab,ikcb->kjca", x140, x51) + del x140 + x445 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x445 += einsum("ijab->jiab", x443) + del x443 + x142 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x142 += einsum("ijka->ikja", v.bbbb.ooov) + x142 += einsum("ijka->kija", v.bbbb.ooov) * -1 + x143 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x143 += einsum("ia,ijka->jk", t1.bb, x142) + x145 += einsum("ij->ij", x143) * -1 + del x143 + x276 += einsum("wia,ijka->wjk", u11.bb, x142) * -1 + x145 += einsum("ij->ij", f.bb.oo) + x146 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x146 += einsum("ia,ij->ja", t1.bb, x145) + x154 += einsum("ia->ia", x146) * -1 + del x146 + x474 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x474 += einsum("ij,abkj->kiab", x145, l2.abab) + l2new_baba += einsum("ijab->baji", x474) * -1 + l2new_abab += einsum("ijab->abij", x474) * -1 + del x474 + l1new_bb += einsum("ai,ji->aj", l1.bb, x145) * -1 + lu11new_bb += einsum("ij,waj->wai", x145, lu11.bb) * -1 + del x145 + x147 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x147 += einsum("w,wab->ab", s1, g.bb.bvv) + x151 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x151 += einsum("ab->ab", x147) + x379 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x379 += einsum("ab->ab", x147) + x472 += einsum("ab->ab", x147) + x525 += einsum("ab->ab", x147) + del x147 + x148 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x148 += einsum("ia,iabc->bc", t1.aa, v.aabb.ovvv) + x151 += einsum("ab->ab", x148) + x382 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x382 += einsum("ab->ab", x148) + x472 += einsum("ab->ab", x148) + x525 += einsum("ab->ab", x148) + del x148 + x149 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x149 += einsum("iabc->ibac", v.bbbb.ovvv) * -1 + x149 += einsum("iabc->ibca", v.bbbb.ovvv) + x150 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x150 += einsum("ia,ibac->bc", t1.bb, x149) + x151 += einsum("ab->ab", x150) * -1 + x472 += einsum("ab->ab", x150) * -1 + x525 += einsum("ab->ab", x150) * -1 + del x150 + x444 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x444 += einsum("ia,jbca->ijbc", t1.bb, x149) + x445 += einsum("ijab->jiab", x444) * -1 + del x444 + x151 += einsum("ab->ab", f.bb.vv) + x152 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x152 += einsum("ia,ba->ib", t1.bb, x151) + x154 += einsum("ia->ia", x152) + del x152 + l1new_bb += einsum("ai,ab->bi", l1.bb, x151) + del x151 + x154 += einsum("ai->ia", f.bb.vo) + l1new_aa += einsum("ia,baji->bj", x154, l2.abab) + ls1new += einsum("ia,wai->w", x154, lu11.bb) + x155 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x155 += einsum("w,wia->ia", ls1, u11.aa) + x165 += einsum("ia->ia", x155) * -1 + del x155 + x156 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x156 += einsum("ai,jiba->jb", l1.bb, t2.abab) + x165 += einsum("ia->ia", x156) * -1 + del x156 + x157 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) + x157 += einsum("ia,waj->wji", t1.aa, lu11.aa) + x158 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x158 += einsum("wia,wij->ja", u11.aa, x157) + x165 += einsum("ia->ia", x158) + del x158 + x503 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x503 += einsum("ia,wij->wja", t1.aa, x157) + x506 += einsum("wia->wia", x503) * -1 + del x503 + lu11new_bb -= einsum("wij,jika->wak", x157, v.aabb.ooov) + x162 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x162 += einsum("wai,wja->ij", lu11.aa, u11.aa) + x163 += einsum("ij->ij", x162) + x164 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x164 += einsum("ia,ij->ja", t1.aa, x163) + x165 += einsum("ia->ia", x164) + del x164 + x481 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x481 += einsum("ij,jakb->ikab", x163, v.aabb.ovov) + l2new_baba += einsum("ijab->baji", x481) * -1 + l2new_abab += einsum("ijab->abij", x481) * -1 + del x481 + l1new_bb += einsum("ij,jika->ak", x163, v.aabb.ooov) * -1 + ls1new += einsum("ij,wji->w", x163, g.aa.boo) * -1 + lu11new_aa += einsum("ij,wja->wai", x163, g.aa.bov) * -1 + x205 += einsum("ij->ij", x162) + x206 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) + x206 += einsum("w,ij->wij", s1, x205) + del x205 + x208 += einsum("ij->ij", x162) + x326 += einsum("ij->ij", x162) + del x162 + x327 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x327 += einsum("ij,jakb->ikab", x326, v.aaaa.ovov) + del x326 + x333 += einsum("ijab->ijba", x327) + del x327 + x165 += einsum("ia->ia", t1.aa) * -1 + l1new_aa += einsum("ia,ijba->bj", x165, x61) * -1 + del x61 + l1new_bb += einsum("ia,iajb->bj", x165, v.aabb.ovov) * -1 + ls1new += einsum("ia,wia->w", x165, g.aa.bov) * -1 + del x165 + x166 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x166 += einsum("ai,ib->ab", l1.aa, t1.aa) + x170 += einsum("ab->ab", x166) + del x166 + x167 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x167 += einsum("wai,wib->ab", lu11.aa, u11.aa) + x170 += einsum("ab->ab", x167) + x292 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x292 += einsum("ab,icjb->ijac", x167, v.aaaa.ovov) + x333 += einsum("ijab->ijab", x292) + del x292 + x476 += einsum("ab->ab", x167) + del x167 + x168 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x168 += einsum("abij,ijcb->ac", l2.abab, t2.abab) + x170 += einsum("ab->ab", x168) + l1new_bb += einsum("ab,icab->ci", x170, v.bbaa.ovvv) + ls1new += einsum("ab,wab->w", x170, g.aa.bvv) + x347 += einsum("ab->ab", x168) + x348 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x348 += einsum("ab,ibjc->ijac", x347, v.aaaa.ovov) + del x347 + x355 += einsum("ijab->jiab", x348) * -1 + del x348 + x476 += einsum("ab->ab", x168) + del x168 + x477 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x477 += einsum("ab,ibjc->ijac", x476, v.aabb.ovov) + l2new_baba += einsum("ijab->baji", x477) * -1 + l2new_abab += einsum("ijab->abij", x477) * -1 + del x477 + lu11new_aa += einsum("ab,wib->wai", x476, g.aa.bov) * -1 + del x476 + x171 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x171 += einsum("iabc->ibac", v.aaaa.ovvv) * -1 + x171 += einsum("iabc->ibca", v.aaaa.ovvv) + l1new_aa += einsum("ab,iacb->ci", x170, x171) * -1 + del x170 + del x171 + x172 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x172 += einsum("w,wia->ia", ls1, u11.bb) + x186 += einsum("ia->ia", x172) * -1 + del x172 + x173 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x173 += einsum("ai,ijab->jb", l1.aa, t2.abab) + x186 += einsum("ia->ia", x173) * -1 + del x173 + x174 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) + x174 += einsum("ia,waj->wji", t1.bb, lu11.bb) + x175 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x175 += einsum("wia,wij->ja", u11.bb, x174) + x186 += einsum("ia->ia", x175) + del x175 + x513 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x513 += einsum("ia,wij->wja", t1.bb, x174) + x515 += einsum("wia->wia", x513) * -1 + del x513 + lu11new_aa -= einsum("wij,kaji->wak", x174, v.aabb.ovoo) + x177 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x177 += einsum("ia,bajk->jkib", t1.bb, l2.bbbb) + x178 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x178 += einsum("ijka,jiab->kb", x177, x51) + x186 += einsum("ia->ia", x178) * -1 + del x178 + x250 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x250 += einsum("ijka->ijka", x177) + x250 += einsum("ijka->jika", x177) * -1 + x252 += einsum("ijka,jlba->ilkb", x250, x51) + del x51 + x258 += einsum("ijab,jklb->ikla", t2.abab, x250) * -1 + x411 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x411 += einsum("ijka,jlkb->ilab", x250, x410) + del x410 + x426 += einsum("ijab->ijab", x411) + del x411 + l1new_bb += einsum("ijab,jkia->bk", x131, x250) * -1 + del x131 + l2new_baba += einsum("ijka,lkib->abjl", x250, x30) + del x250 + x253 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x253 += einsum("ijka->ijka", x177) * -1 + x253 += einsum("ijka->jika", x177) + x254 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x254 += einsum("ia,ijkb->jkba", t1.bb, x253) * -1 + l1new_bb += einsum("iabc,jiac->bj", x149, x254) + del x254 + l2new_abab += einsum("ijka,lkib->balj", x253, x30) * -1 + del x253 + del x30 + x265 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x265 += einsum("ia,jkla->kjli", t1.bb, x177) + x266 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x266 += einsum("ijkl->ijkl", x265) * -1 + x266 += einsum("ijkl->ijlk", x265) + x405 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x405 += einsum("iajb,klji->lkab", v.bbbb.ovov, x265) + del x265 + x408 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x408 += einsum("ijab->ijab", x405) + del x405 + x366 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x366 += einsum("iabc,jkib->kjac", v.bbbb.ovvv, x177) + x403 -= einsum("ijab->ijab", x366) + del x366 + x375 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x375 += einsum("ijka->ijka", x177) + x375 -= einsum("ijka->jika", x177) + x425 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x425 += einsum("ia,jkib->jkba", x241, x177) + del x241 + x426 += einsum("ijab->ijab", x425) + del x425 + x180 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x180 += einsum("ai,ja->ij", l1.bb, t1.bb) + x184 += einsum("ij->ij", x180) + x288 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x288 += einsum("ij->ij", x180) + x396 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x396 += einsum("ij->ij", x180) + l1new_bb -= einsum("ij,ja->ai", x180, x87) + del x180 + del x87 + x181 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x181 += einsum("wai,wja->ij", lu11.bb, u11.bb) + x184 += einsum("ij->ij", x181) + x285 += einsum("ij->ij", x181) + x288 += einsum("ij->ij", x181) + x396 += einsum("ij->ij", x181) + del x181 + x397 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x397 += einsum("ij,jakb->kiab", x396, v.bbbb.ovov) + del x396 + x403 += einsum("ijab->jiba", x397) + del x397 + x182 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x182 += einsum("abij,ikab->jk", l2.abab, t2.abab) + x184 += einsum("ij->ij", x182) + x185 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x185 += einsum("ia,ij->ja", t1.bb, x184) + x186 += einsum("ia->ia", x185) + del x185 + x480 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x480 += einsum("ij,kajb->kiab", x184, v.aabb.ovov) + l2new_baba += einsum("ijab->baji", x480) * -1 + l2new_abab += einsum("ijab->abij", x480) * -1 + del x480 + l1new_aa += einsum("ij,kaji->ak", x184, v.aabb.ovoo) * -1 + l1new_bb += einsum("ij,jkia->ak", x184, x142) * -1 + del x142 + ls1new += einsum("ij,wji->w", x184, g.bb.boo) * -1 + lu11new_bb += einsum("ij,wja->wai", x184, g.bb.bov) * -1 + del x184 + x251 += einsum("ij->ij", x182) + x252 += einsum("ia,jk->jika", t1.bb, x251) + l1new_bb += einsum("ijka,kjab->bi", x252, x89) * -1 + del x252 + x258 += einsum("ia,jk->ijka", t1.aa, x251) * -1 + x424 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x424 += einsum("ij,jakb->kiab", x251, v.bbbb.ovov) + x426 += einsum("ijab->jiba", x424) * -1 + del x424 + l1new_bb += einsum("ia,ji->aj", f.bb.ov, x251) * -1 + del x251 + x285 += einsum("ij->ij", x182) + del x182 + x286 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) + x286 += einsum("w,ij->wij", s1, x285) + del x285 + x186 += einsum("ia->ia", t1.bb) * -1 + l1new_aa += einsum("ia,jbia->bj", x186, v.aabb.ovov) * -1 + ls1new += einsum("ia,wia->w", x186, g.bb.bov) * -1 + x187 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x187 += einsum("ai,ib->ab", l1.bb, t1.bb) + x191 += einsum("ab->ab", x187) + ls1new += einsum("ab,wab->w", x187, g.bb.bvv) + del x187 + x188 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x188 += einsum("wai,wib->ab", lu11.bb, u11.bb) + x191 += einsum("ab->ab", x188) + x363 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x363 += einsum("ab,icjb->ijac", x188, v.bbbb.ovov) + x403 += einsum("ijab->ijab", x363) + del x363 + x478 += einsum("ab->ab", x188) + del x188 + x189 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x189 += einsum("abij,ijac->bc", l2.abab, t2.abab) + x191 += einsum("ab->ab", x189) + l1new_aa += einsum("ab,icab->ci", x191, v.aabb.ovvv) + l1new_bb += einsum("ab,iacb->ci", x191, x149) * -1 + del x149 + del x191 + x422 += einsum("ab->ab", x189) + x423 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x423 += einsum("ab,ibjc->ijca", x422, v.bbbb.ovov) + del x422 + x426 += einsum("ijab->jiba", x423) * -1 + del x423 + x478 += einsum("ab->ab", x189) + del x189 + x479 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x479 += einsum("ab,icjb->ijca", x478, v.aabb.ovov) + l2new_baba += einsum("ijab->baji", x479) * -1 + l2new_abab += einsum("ijab->abij", x479) * -1 + del x479 + ls1new += einsum("ab,wab->w", x478, g.bb.bvv) + lu11new_bb += einsum("ab,wib->wai", x478, g.bb.bov) * -1 + del x478 + x192 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x192 -= einsum("ijka->ikja", v.aaaa.ooov) + x192 += einsum("ijka->kija", v.aaaa.ooov) + x307 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x307 += einsum("ijka,lkib->jlab", x192, x306) + del x306 + x333 += einsum("ijab->jiba", x307) + del x307 + x318 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x318 += einsum("ia,jika->jk", t1.aa, x192) + x319 -= einsum("ij->ij", x318) + del x318 + x320 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x320 += einsum("ij,abjk->kiab", x319, l2.aaaa) + del x319 + x333 -= einsum("ijab->ijba", x320) + del x320 + l1new_aa += einsum("ij,kjia->ak", x163, x192) * -1 + del x163 + l2new_abab += einsum("ijka,kilb->abjl", x192, x53) + del x192 + x193 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x193 += einsum("wia,jbia->wjb", u11.bb, v.aabb.ovov) + x195 += einsum("wia->wia", x193) + x324 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x324 += einsum("wia->wia", x193) + x484 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x484 += einsum("wia->wia", x193) + del x193 + x195 += einsum("wia->wia", gc.aa.bov) + x196 += einsum("ia,wja->wji", t1.aa, x195) + l1new_aa += einsum("wij,wja->ai", x157, x195) * -1 + del x195 + x196 += einsum("wij->wij", gc.aa.boo) + x196 += einsum("wia,jkia->wjk", u11.bb, v.aabb.ooov) + l1new_aa += einsum("wai,wji->aj", lu11.aa, x196) * -1 + del x196 + x197 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x197 += einsum("iabc->ibac", v.aaaa.ovvv) + x197 -= einsum("iabc->ibca", v.aaaa.ovvv) + x198 = np.zeros((nbos, nvir[0], nvir[0]), dtype=types[float]) + x198 -= einsum("wia,ibca->wbc", u11.aa, x197) + x311 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x311 += einsum("ia,ibca->bc", t1.aa, x197) + del x197 + x312 -= einsum("ab->ab", x311) + del x311 + x313 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x313 += einsum("ab,acij->ijcb", x312, l2.aaaa) + del x312 + x333 += einsum("ijab->jiab", x313) + del x313 + x198 += einsum("wab->wab", gc.aa.bvv) + x198 += einsum("wia,iabc->wbc", u11.bb, v.bbaa.ovvv) + l1new_aa += einsum("wai,wab->bi", lu11.aa, x198) + del x198 + x199 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x199 += einsum("wia,baji->wjb", u11.bb, l2.abab) + x202 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x202 += einsum("wia->wia", x199) + x204 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x204 += einsum("wia->wia", x199) + del x199 + x200 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x200 -= einsum("abij->jiab", l2.aaaa) + x200 += einsum("abij->jiba", l2.aaaa) + x201 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x201 += einsum("wia,ijba->wjb", u11.aa, x200) + x202 -= einsum("wia->wia", x201) + del x201 + x321 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x321 += einsum("wia,wjb->ijab", g.aa.bov, x202) + x333 += einsum("ijab->ijab", x321) + del x321 + x488 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x488 += einsum("wia,wjb->jiba", g.bb.bov, x202) + l2new_baba += einsum("ijab->baji", x488) + l2new_abab += einsum("ijab->abij", x488) + del x488 + l1new_aa += einsum("wab,wia->bi", g.aa.bvv, x202) + l1new_aa += einsum("wia,wji->aj", x202, x95) * -1 + del x202 + del x95 + x203 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x203 += einsum("abij->jiab", l2.aaaa) * -1 + x203 += einsum("abij->jiba", l2.aaaa) + x204 += einsum("wia,ijba->wjb", u11.aa, x203) * -1 + x206 += einsum("ia,wja->wji", t1.aa, x204) + del x204 + x206 += einsum("ai,wja->wij", l1.aa, u11.aa) + l1new_aa += einsum("wia,wji->aj", g.aa.bov, x206) * -1 + del x206 + x207 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x207 += einsum("iabj->ijba", v.aaaa.ovvo) + x207 -= einsum("ijab->ijab", v.aaaa.oovv) + l1new_aa += einsum("ai,jiab->bj", l1.aa, x207) + lu11new_aa += einsum("wai,jiab->wbj", lu11.aa, x207) + del x207 + x209 += einsum("ia->ia", f.aa.ov) + l1new_aa += einsum("ij,ja->ai", x208, x209) * -1 + del x208 + del x209 + x210 = np.zeros((nbos), dtype=types[float]) + x210 += einsum("w,wx->x", s1, w) + x215 += einsum("w->w", x210) + del x210 + x211 = np.zeros((nbos), dtype=types[float]) + x211 += einsum("ia,wia->w", t1.aa, gc.aa.bov) + x215 += einsum("w->w", x211) + del x211 + x212 = np.zeros((nbos), dtype=types[float]) + x212 += einsum("ia,wia->w", t1.bb, gc.bb.bov) + x215 += einsum("w->w", x212) + del x212 + x215 += einsum("w->w", G) + l1new_aa += einsum("w,wai->ai", x215, lu11.aa) + l1new_bb += einsum("w,wai->ai", x215, lu11.bb) + del x215 + x216 = np.zeros((nbos), dtype=types[float]) + x216 += einsum("ai,wia->w", l1.aa, u11.aa) + x218 = np.zeros((nbos), dtype=types[float]) + x218 += einsum("w->w", x216) + del x216 + x217 = np.zeros((nbos), dtype=types[float]) + x217 += einsum("ai,wia->w", l1.bb, u11.bb) + x218 += einsum("w->w", x217) + del x217 + x218 += einsum("w->w", s1) + l1new_aa += einsum("w,wia->ai", x218, g.aa.bov) + l1new_bb += einsum("w,wia->ai", x218, g.bb.bov) + del x218 + x219 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + x219 += einsum("abij,ikcb->jkac", l2.abab, t2.abab) + l1new_bb += einsum("iabc,jibc->aj", v.bbaa.ovvv, x219) * -1 + del x219 + x220 += einsum("ijka->jkia", v.bbbb.ooov) * -1 + x220 += einsum("ijka->jika", v.bbbb.ooov) + x223 += einsum("ijka,jlab->iklb", x220, x28) + del x220 + x221 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x221 += einsum("ia,jkla->ijlk", t1.bb, v.bbbb.ooov) + x222 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x222 += einsum("ijkl->ikjl", x221) * -1 + x222 += einsum("ijkl->ijkl", x221) + x223 += einsum("ia,jikl->jkla", t1.bb, x222) * -1 + del x222 + x365 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x365 += einsum("abij,jkli->klba", l2.bbbb, x221) + del x221 + x403 -= einsum("ijab->ijab", x365) + del x365 + x224 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x224 -= einsum("abij->jiab", l2.bbbb) + x224 += einsum("abij->jiba", l2.bbbb) + l1new_bb += einsum("ijka,ikab->bj", x223, x224) + del x223 + x225 += einsum("ijka->ikja", v.bbbb.ooov) + x225 += einsum("ijka->kija", v.bbbb.ooov) * -1 + x228 += einsum("ijab,jklb->ikla", t2.abab, x225) * -1 + del x225 + x226 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + x226 += einsum("ia,jabc->ijbc", t1.bb, v.bbaa.ovvv) + x227 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + x227 += einsum("ijab->jiab", x226) + x456 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + x456 += einsum("ijab->jiab", x226) + del x226 + x227 += einsum("ijab->ijab", v.bbaa.oovv) + x228 += einsum("ia,jkba->ijkb", t1.aa, x227) + del x227 + x228 += einsum("ijak->kija", v.bbaa.oovo) + x228 += einsum("ia,jabk->kjib", t1.bb, v.bbaa.ovvo) + x228 += einsum("ijab,kbca->ikjc", t2.abab, v.bbaa.ovvv) + l1new_bb += einsum("abij,ikja->bk", l2.abab, x228) * -1 + del x228 + x229 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x229 += einsum("abij,ikac->jkbc", l2.abab, t2.abab) + x232 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x232 += einsum("ijab->ijab", x229) + del x229 + x230 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x230 += einsum("abij->jiab", l2.bbbb) * -1 + x230 += einsum("abij->jiba", l2.bbbb) + x231 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x231 += einsum("ijab,ikca->kjcb", x230, x28) + del x28 + x232 += einsum("ijab->jiba", x231) + del x231 + x409 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x409 += einsum("ijab,jkcb->kica", x232, x89) + x426 += einsum("ijab->jiba", x409) * -1 + del x409 + x249 += einsum("ijab,jkbc->ikac", t2.abab, x230) * -1 + del x230 + l1new_bb += einsum("iabc,ijab->cj", v.aabb.ovvv, x249) * -1 + del x249 + x233 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x233 += einsum("iabc->ibac", v.bbbb.ovvv) + x233 += einsum("iabc->ibca", v.bbbb.ovvv) * -1 + l1new_bb += einsum("ijab,jacb->ci", x232, x233) * -1 + del x232 + del x233 + x234 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x234 += einsum("ia,jkil->jkla", t1.bb, v.bbbb.oooo) + x237 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x237 += einsum("ijka->ijka", x234) + del x234 + x235 += einsum("ia->ia", f.bb.ov) + x236 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x236 += einsum("ia,jkab->jkib", x235, t2.bbbb) + del x235 + x237 += einsum("ijka->kjia", x236) + del x236 + x237 += einsum("ijak->ijka", v.bbbb.oovo) * -1 + x248 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x248 += einsum("ijka->ikja", x237) + x248 += einsum("ijka->ijka", x237) * -1 + del x237 + x238 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x238 += einsum("ijab,kbca->jikc", t2.bbbb, v.bbbb.ovvv) + x247 += einsum("ijka->ijka", x238) * -1 + del x238 + x239 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x239 += einsum("ia,jbca->ijcb", t1.bb, v.bbbb.ovvv) + x240 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x240 += einsum("ia,jkba->ijkb", t1.bb, x239) + del x239 + x247 += einsum("ijka->ijka", x240) * -1 + del x240 + x243 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x243 += einsum("ijab,kalb->ijkl", t2.bbbb, v.bbbb.ovov) + x245 += einsum("ijkl->jilk", x243) + x246 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x246 += einsum("ia,jkil->jkla", t1.bb, x245) + del x245 + x247 += einsum("ijka->jika", x246) + del x246 + x248 += einsum("ijka->kjia", x247) + x248 += einsum("ijka->kija", x247) * -1 + del x247 + l1new_bb += einsum("abij,kija->bk", l2.bbbb, x248) + del x248 + x406 += einsum("ijkl->jilk", x243) + del x243 + x407 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x407 += einsum("abij,ijkl->klab", l2.bbbb, x406) + del x406 + x408 += einsum("ijab->jiba", x407) + del x407 + x255 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x255 += einsum("ia,bcda->ibdc", t1.bb, v.bbbb.vvvv) + x256 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x256 += einsum("iabc->iabc", x255) * -1 + del x255 + x256 += einsum("aibc->iabc", v.bbbb.vovv) + x257 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x257 += einsum("iabc->iabc", x256) * -1 + x257 += einsum("iabc->ibac", x256) + del x256 + l1new_bb += einsum("abij,iabc->cj", l2.bbbb, x257) * -1 + del x257 + x258 += einsum("ai,jkba->jikb", l1.bb, t2.abab) * -1 + l1new_bb += einsum("iajb,ikja->bk", v.aabb.ovov, x258) + del x258 + x259 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x259 += einsum("ai,jkba->ijkb", l1.bb, t2.bbbb) + x262 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x262 += einsum("ijka->ijka", x259) + del x259 + x260 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x260 += einsum("abij,klba->ijlk", l2.bbbb, t2.bbbb) + x261 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x261 += einsum("ia,jikl->jkla", t1.bb, x260) + x262 += einsum("ijka->ijka", x261) + del x261 + x263 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x263 += einsum("ijka->ikja", x262) + x263 += einsum("ijka->ijka", x262) * -1 + del x262 + l1new_bb += einsum("iajb,kija->bk", v.bbbb.ovov, x263) + del x263 + x271 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x271 += einsum("ijkl->jikl", x260) * -1 + x271 += einsum("ijkl->jilk", x260) + l1new_bb += einsum("ijka,jlki->al", v.bbbb.ooov, x271) * -1 + del x271 + x404 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x404 += einsum("iajb,klij->lkba", v.bbbb.ovov, x260) + del x260 + x408 += einsum("ijab->ijab", x404) + del x404 + l2new_bbbb = np.zeros((nvir[1], nvir[1], nocc[1], nocc[1]), dtype=types[float]) + l2new_bbbb += einsum("ijab->abij", x408) + l2new_bbbb += einsum("ijab->baij", x408) * -1 + del x408 + x264 = np.zeros((nocc[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) + x264 += einsum("aibc->iabc", v.aabb.vovv) + x264 += einsum("ia,bacd->ibcd", t1.aa, v.aabb.vvvv) + l1new_bb += einsum("abij,iabc->cj", l2.abab, x264) + del x264 + x267 += einsum("ijka->ikja", v.bbbb.ooov) * -1 + l1new_bb += einsum("ijkl,klja->ai", x266, x267) * -1 + del x266 + del x267 + x268 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x268 += einsum("ia,jbca->ijcb", t1.aa, v.bbaa.ovvv) + x269 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x269 += einsum("ijab->ijab", x268) + x373 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x373 += einsum("ijab->ijab", x268) + x441 += einsum("ijab->ijab", x268) + del x268 + x269 += einsum("iabj->jiba", v.bbaa.ovvo) + l1new_bb += einsum("ijka,ikab->bj", x0, x269) * -1 + del x269 + x270 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x270 += einsum("abij->jiab", l2.bbbb) + x270 += einsum("abij->jiba", l2.bbbb) * -1 + x283 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x283 += einsum("wia,ijab->wjb", u11.bb, x270) + x284 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x284 += einsum("wia->wia", x283) * -1 + del x283 + x412 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x412 += einsum("ijab,jkbc->ikac", t2.abab, x270) + x413 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x413 += einsum("iajb,ikac->jkbc", v.aabb.ovov, x412) * -1 + del x412 + x426 += einsum("ijab->jiba", x413) * -1 + del x413 + l1new_bb += einsum("ia,ijab->bj", x154, x270) * -1 + del x154 + x272 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x272 -= einsum("iajb->jiab", v.bbbb.ovov) + x272 += einsum("iajb->jiba", v.bbbb.ovov) + l1new_bb += einsum("ia,ijab->bj", x186, x272) * -1 + del x272 + del x186 + x273 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x273 += einsum("wia,iajb->wjb", u11.aa, v.aabb.ovov) + x275 += einsum("wia->wia", x273) + x394 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x394 += einsum("wia->wia", x273) + x486 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x486 += einsum("wia->wia", x273) + del x273 + x275 += einsum("wia->wia", gc.bb.bov) + x276 += einsum("ia,wja->wji", t1.bb, x275) + l1new_bb += einsum("wij,wja->ai", x174, x275) * -1 + del x275 + x276 += einsum("wij->wij", gc.bb.boo) + x276 += einsum("wia,iajk->wjk", u11.aa, v.aabb.ovoo) + l1new_bb += einsum("wai,wji->aj", lu11.bb, x276) * -1 + del x276 + x277 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x277 -= einsum("iabc->ibac", v.bbbb.ovvv) + x277 += einsum("iabc->ibca", v.bbbb.ovvv) + x278 = np.zeros((nbos, nvir[1], nvir[1]), dtype=types[float]) + x278 -= einsum("wia,ibac->wbc", u11.bb, x277) + x368 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x368 += einsum("ia,jbca->ijbc", t1.bb, x277) + x369 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x369 -= einsum("ijab->ijab", x368) + del x368 + x381 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x381 += einsum("ia,ibac->bc", t1.bb, x277) + x382 -= einsum("ab->ab", x381) + del x381 + x383 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x383 += einsum("ab,acij->ijcb", x382, l2.bbbb) + del x382 + x403 += einsum("ijab->jiab", x383) + del x383 + x278 += einsum("wab->wab", gc.bb.bvv) + x278 += einsum("wia,iabc->wbc", u11.aa, v.aabb.ovvv) + l1new_bb += einsum("wai,wab->bi", lu11.bb, x278) + del x278 + x279 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x279 += einsum("wia,abij->wjb", u11.aa, l2.abab) + x282 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x282 += einsum("wia->wia", x279) + x284 += einsum("wia->wia", x279) + del x279 + x286 += einsum("ia,wja->wji", t1.bb, x284) + l1new_bb += einsum("wij,wja->ai", x134, x284) * -1 + del x284 + del x134 + x280 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x280 += einsum("abij->jiab", l2.bbbb) + x280 -= einsum("abij->jiba", l2.bbbb) + x281 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x281 += einsum("wia,ijab->wjb", u11.bb, x280) + del x280 + x282 -= einsum("wia->wia", x281) + del x281 + x391 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x391 += einsum("wia,wjb->ijab", g.bb.bov, x282) + x403 += einsum("ijab->ijab", x391) + del x391 + x489 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x489 += einsum("wia,wjb->ijab", g.aa.bov, x282) + l2new_baba += einsum("ijab->baji", x489) + l2new_abab += einsum("ijab->abij", x489) + del x489 + l1new_bb += einsum("wab,wia->bi", g.bb.bvv, x282) + del x282 + x286 += einsum("ai,wja->wij", l1.bb, u11.bb) + l1new_bb += einsum("wia,wji->aj", g.bb.bov, x286) * -1 + del x286 + x287 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x287 += einsum("iabj->ijba", v.bbbb.ovvo) + x287 -= einsum("ijab->ijab", v.bbbb.oovv) + l1new_bb += einsum("ai,jiab->bj", l1.bb, x287) + lu11new_bb += einsum("wai,jiab->wbj", lu11.bb, x287) + del x287 + x289 += einsum("ia->ia", f.bb.ov) + l1new_bb += einsum("ij,ja->ai", x288, x289) * -1 + del x288 + del x289 + x290 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x290 += einsum("wia,wbj->ijab", gc.aa.bov, lu11.aa) + x333 += einsum("ijab->ijab", x290) + del x290 + x291 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x291 += einsum("ai,jbac->ijbc", l1.aa, v.aaaa.ovvv) + x333 -= einsum("ijab->ijab", x291) + del x291 + x297 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x297 += einsum("abij->jiab", l2.aaaa) + x297 -= einsum("abij->jiba", l2.aaaa) + x298 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x298 -= einsum("iabc->ibac", v.aaaa.ovvv) + x298 += einsum("iabc->ibca", v.aaaa.ovvv) + x299 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x299 += einsum("ia,jbca->ijbc", t1.aa, x298) + x300 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x300 -= einsum("ijab->ijab", x299) + del x299 + x300 += einsum("iabj->jiba", v.aaaa.ovvo) + x300 -= einsum("ijab->jiab", v.aaaa.oovv) + x301 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x301 += einsum("ijab,ikbc->jkac", x297, x300) + del x297 + del x300 + x333 += einsum("ijab->ijab", x301) + del x301 + x302 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x302 += einsum("ijab->jiab", t2.bbbb) + x302 -= einsum("ijab->jiba", t2.bbbb) + x303 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x303 += einsum("iajb,jkbc->ikac", v.aabb.ovov, x302) + del x302 + x304 -= einsum("ijab->ijab", x303) + del x303 + x304 += einsum("iabj->ijab", v.aabb.ovvo) + x305 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x305 += einsum("abij,kjcb->ikac", l2.abab, x304) + del x304 + x333 += einsum("ijab->ijab", x305) + del x305 + x308 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x308 += einsum("wia,wib->ab", g.aa.bov, u11.aa) + x309 -= einsum("ab->ba", x308) + x469 += einsum("ab->ba", x308) * -1 + x517 += einsum("ab->ba", x308) * -1 + del x308 + x309 += einsum("ab->ab", f.aa.vv) + x310 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x310 += einsum("ab,acij->ijcb", x309, l2.aaaa) + del x309 + x333 -= einsum("ijab->jiba", x310) + del x310 + x314 += einsum("ia->ia", f.aa.ov) + x315 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x315 += einsum("ia,ja->ij", t1.aa, x314) + x316 += einsum("ij->ji", x315) + del x315 + x328 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x328 += einsum("ia,jkib->jkba", x314, x54) + del x54 + x333 += einsum("ijab->ijba", x328) + del x328 + x333 += einsum("ai,jb->jiba", l1.aa, x314) + lu11new_aa -= einsum("ia,wji->waj", x314, x157) + del x314 + x316 += einsum("ij->ij", f.aa.oo) + x317 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x317 += einsum("ij,abjk->kiab", x316, l2.aaaa) + del x316 + x333 += einsum("ijab->jiba", x317) + del x317 + x322 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x322 -= einsum("iajb->jiab", v.aaaa.ovov) + x322 += einsum("iajb->jiba", v.aaaa.ovov) + x323 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x323 += einsum("wia,ijba->wjb", u11.aa, x322) + x324 -= einsum("wia->wia", x323) + x325 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x325 += einsum("wai,wjb->ijab", lu11.aa, x324) + del x324 + x333 += einsum("ijab->ijab", x325) + del x325 + x484 -= einsum("wia->wia", x323) + del x323 + x331 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x331 += einsum("ia,ijba->jb", t1.aa, x322) + del x322 + x332 -= einsum("ia->ia", x331) + x333 += einsum("ai,jb->ijab", l1.aa, x332) + del x332 + x495 -= einsum("ia->ia", x331) + del x331 + x329 -= einsum("ijka->jika", v.aaaa.ooov) + x330 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x330 += einsum("ai,ijkb->jkab", l1.aa, x329) + del x329 + x333 += einsum("ijab->ijab", x330) + del x330 + l2new_aaaa += einsum("ijab->abij", x333) + l2new_aaaa -= einsum("ijab->baij", x333) + l2new_aaaa -= einsum("ijab->abji", x333) + l2new_aaaa += einsum("ijab->baji", x333) + del x333 + x334 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x334 += einsum("abij,kjli->klba", l2.aaaa, v.aaaa.oooo) + x336 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x336 += einsum("ijab->jiba", x334) + del x334 + x335 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x335 += einsum("abij,acbd->ijcd", l2.aaaa, v.aaaa.vvvv) + x336 += einsum("ijab->jiba", x335) + del x335 + l2new_aaaa += einsum("ijab->baij", x336) * -1 + l2new_aaaa += einsum("ijab->abij", x336) + del x336 + x337 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x337 += einsum("ijab,kcjb->ikac", t2.abab, v.aabb.ovov) + x339 += einsum("ijab->ijab", x337) + x340 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x340 += einsum("ijab,ikca->kjcb", x339, x41) + del x339 + x355 += einsum("ijab->ijab", x340) * -1 + del x340 + x449 += einsum("ijab->jiab", x337) + del x337 + x349 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x349 += einsum("ijab,icjb->ac", t2.abab, v.aabb.ovov) + x351 += einsum("ab->ab", x349) + x352 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x352 += einsum("ab,acij->ijcb", x351, l2.aaaa) + del x351 + x355 += einsum("ijab->jiab", x352) + del x352 + l2new_aaaa += einsum("ijab->abij", x355) * -1 + l2new_aaaa += einsum("ijab->baij", x355) + l2new_aaaa += einsum("ijab->abji", x355) + l2new_aaaa += einsum("ijab->baji", x355) * -1 + del x355 + x469 += einsum("ab->ab", x349) * -1 + x517 += einsum("ab->ab", x349) * -1 + del x349 + x361 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x361 += einsum("wia,wbj->ijab", gc.bb.bov, lu11.bb) + x403 += einsum("ijab->ijab", x361) + del x361 + x362 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x362 += einsum("ai,jbac->ijbc", l1.bb, v.bbbb.ovvv) + x403 -= einsum("ijab->ijab", x362) + del x362 + x369 += einsum("iabj->jiba", v.bbbb.ovvo) + x369 -= einsum("ijab->jiab", v.bbbb.oovv) + x370 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x370 += einsum("ijab,ikac->jkbc", x224, x369) + del x369 + x403 += einsum("ijab->ijab", x370) + del x370 + x371 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x371 -= einsum("ijab->jiab", t2.aaaa) + x371 += einsum("ijab->jiba", t2.aaaa) + x372 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x372 += einsum("iajb,ikca->kjcb", v.aabb.ovov, x371) + del x371 + x373 -= einsum("ijab->ijab", x372) + del x372 + x373 += einsum("iabj->jiba", v.bbaa.ovvo) + x374 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x374 += einsum("abij,ikac->jkbc", l2.abab, x373) + del x373 + x403 += einsum("ijab->ijab", x374) + del x374 + x376 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x376 += einsum("ijka->ikja", v.bbbb.ooov) + x376 -= einsum("ijka->kija", v.bbbb.ooov) + x377 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x377 += einsum("ijka,lkjb->ilab", x375, x376) + del x375 + x403 += einsum("ijab->ijab", x377) + del x377 + x388 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x388 += einsum("ia,ijka->jk", t1.bb, x376) + x389 -= einsum("ij->ij", x388) + del x388 + x390 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x390 += einsum("ij,abjk->kiab", x389, l2.bbbb) + del x389 + x403 -= einsum("ijab->ijba", x390) + del x390 + l2new_baba += einsum("ijka,lkjb->bali", x0, x376) + del x376 + x378 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x378 += einsum("wia,wib->ab", g.bb.bov, u11.bb) + x379 -= einsum("ab->ba", x378) + x472 += einsum("ab->ba", x378) * -1 + x525 += einsum("ab->ba", x378) * -1 + del x378 + x379 += einsum("ab->ab", f.bb.vv) + x380 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x380 += einsum("ab,acij->ijcb", x379, l2.bbbb) + del x379 + x403 -= einsum("ijab->jiba", x380) + del x380 + x384 += einsum("ia->ia", f.bb.ov) + x385 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x385 += einsum("ia,ja->ij", t1.bb, x384) + x386 += einsum("ij->ji", x385) + del x385 + x398 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x398 += einsum("ia,jkib->jkba", x384, x177) + del x177 + x403 += einsum("ijab->ijba", x398) + del x398 + x403 += einsum("ai,jb->jiba", l1.bb, x384) + lu11new_bb -= einsum("ia,wji->waj", x384, x174) + del x384 + x386 += einsum("ij->ij", f.bb.oo) + x387 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x387 += einsum("ij,abjk->kiab", x386, l2.bbbb) + del x386 + x403 += einsum("ijab->jiba", x387) + del x387 + x392 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x392 += einsum("iajb->jiab", v.bbbb.ovov) + x392 -= einsum("iajb->jiba", v.bbbb.ovov) + x393 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x393 += einsum("wia,ijab->wjb", u11.bb, x392) + x394 -= einsum("wia->wia", x393) + x395 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x395 += einsum("wai,wjb->ijab", lu11.bb, x394) + del x394 + x403 += einsum("ijab->ijab", x395) + del x395 + x486 -= einsum("wia->wia", x393) + del x393 + x401 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x401 += einsum("ia,ijab->jb", t1.bb, x392) + del x392 + x402 -= einsum("ia->ia", x401) + x403 += einsum("ai,jb->ijab", l1.bb, x402) + del x402 + x494 -= einsum("ia->ia", x401) + del x401 + x399 -= einsum("ijka->jika", v.bbbb.ooov) + x400 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x400 += einsum("ai,ijkb->jkab", l1.bb, x399) + del x399 + x403 += einsum("ijab->ijab", x400) + del x400 + l2new_bbbb += einsum("ijab->abij", x403) + l2new_bbbb -= einsum("ijab->baij", x403) + l2new_bbbb -= einsum("ijab->abji", x403) + l2new_bbbb += einsum("ijab->baji", x403) + del x403 + x418 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x418 += einsum("ijab,iajc->bc", t2.abab, v.aabb.ovov) + x420 += einsum("ab->ab", x418) + x421 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x421 += einsum("ab,acij->ijcb", x420, l2.bbbb) + del x420 + x426 += einsum("ijab->jiab", x421) + del x421 + l2new_bbbb += einsum("ijab->abij", x426) * -1 + l2new_bbbb += einsum("ijab->baij", x426) + l2new_bbbb += einsum("ijab->abji", x426) + l2new_bbbb += einsum("ijab->baji", x426) * -1 + del x426 + x472 += einsum("ab->ab", x418) * -1 + x525 += einsum("ab->ab", x418) * -1 + del x418 + x427 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x427 += einsum("abij,kilj->klab", l2.bbbb, v.bbbb.oooo) + x429 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x429 += einsum("ijab->jiba", x427) + del x427 + x428 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x428 += einsum("abij,acbd->ijcd", l2.bbbb, v.bbbb.vvvv) + x429 += einsum("ijab->jiba", x428) + del x428 + l2new_bbbb += einsum("ijab->baij", x429) * -1 + l2new_bbbb += einsum("ijab->abij", x429) + del x429 + x431 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x431 += einsum("ai,jbac->jibc", l1.bb, v.aabb.ovvv) + l2new_baba += einsum("ijab->baji", x431) + l2new_abab += einsum("ijab->abij", x431) + del x431 + x432 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x432 += einsum("abij,acbd->ijcd", l2.abab, v.aabb.vvvv) + l2new_baba += einsum("ijab->baji", x432) + l2new_abab += einsum("ijab->abij", x432) + del x432 + x434 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x434 += einsum("ai,jbac->ijcb", l1.aa, v.bbaa.ovvv) + l2new_baba += einsum("ijab->baji", x434) + l2new_abab += einsum("ijab->abij", x434) + del x434 + x437 += einsum("iabj->ijab", v.aabb.ovvo) + x438 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x438 += einsum("ijab,kica->kjcb", x270, x437) + del x437 + del x270 + l2new_baba += einsum("ijab->baji", x438) * -1 + l2new_abab += einsum("ijab->abij", x438) * -1 + del x438 + x441 += einsum("iabj->jiba", v.bbaa.ovvo) + l2new_baba += einsum("ijab,ikbc->cakj", x200, x441) * -1 + del x200 + l2new_abab += einsum("ijab,ikbc->acjk", x203, x441) * -1 + del x441 + del x203 + x442 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x442 += einsum("ijab,iakc->jkbc", t2.abab, v.aabb.ovov) + x445 += einsum("ijab->jiab", x442) + del x442 + x445 += einsum("iabj->ijba", v.bbbb.ovvo) + x445 += einsum("ijab->ijab", v.bbbb.oovv) * -1 + x446 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x446 += einsum("abij,kjbc->ikac", l2.abab, x445) + del x445 + l2new_baba += einsum("ijab->baji", x446) + l2new_abab += einsum("ijab->abij", x446) + del x446 + x449 += einsum("iabj->ijba", v.aaaa.ovvo) + x449 += einsum("ijab->ijab", v.aaaa.oovv) * -1 + x450 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x450 += einsum("abij,kiac->kjcb", l2.abab, x449) + del x449 + l2new_baba += einsum("ijab->baji", x450) + l2new_abab += einsum("ijab->abij", x450) + del x450 + x451 = np.zeros((nocc[0], nocc[0], nvir[1], nvir[1]), dtype=types[float]) + x451 += einsum("ia,jabc->ijbc", t1.aa, v.aabb.ovvv) + x453 = np.zeros((nocc[0], nocc[0], nvir[1], nvir[1]), dtype=types[float]) + x453 += einsum("ijab->jiab", x451) + del x451 + x452 = np.zeros((nocc[0], nocc[0], nvir[1], nvir[1]), dtype=types[float]) + x452 += einsum("ijab,kajc->ikbc", t2.abab, v.aabb.ovov) + x453 += einsum("ijab->jiab", x452) * -1 + del x452 + x453 += einsum("ijab->ijab", v.aabb.oovv) + x454 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x454 += einsum("abij,kibc->kjac", l2.abab, x453) + del x453 + l2new_baba += einsum("ijab->baji", x454) * -1 + l2new_abab += einsum("ijab->abij", x454) * -1 + del x454 + x455 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + x455 += einsum("ijab,ickb->jkac", t2.abab, v.aabb.ovov) + x456 += einsum("ijab->jiab", x455) * -1 + del x455 + x456 += einsum("ijab->ijab", v.bbaa.oovv) + x457 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x457 += einsum("abij,kjac->ikcb", l2.abab, x456) + del x456 + l2new_baba += einsum("ijab->baji", x457) * -1 + l2new_abab += einsum("ijab->abij", x457) * -1 + del x457 + x459 += einsum("ijkl->ijkl", v.aabb.oooo) + x460 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x460 += einsum("abij,kilj->klab", l2.abab, x459) + del x459 + l2new_baba += einsum("ijab->baji", x460) + l2new_abab += einsum("ijab->abij", x460) + del x460 + x467 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x467 += einsum("ijka->ikja", v.aaaa.ooov) + x467 -= einsum("ijka->kija", v.aaaa.ooov) + l2new_baba -= einsum("ijka,kilb->balj", x467, x53) + del x53 + lu11new_aa -= einsum("wij,jkia->wak", x157, x467) + del x467 + del x157 + x469 += einsum("ab->ab", f.aa.vv) + x470 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x470 += einsum("ab,acij->ijbc", x469, l2.abab) + del x469 + l2new_baba += einsum("ijab->baji", x470) + l2new_abab += einsum("ijab->abij", x470) + del x470 + x472 += einsum("ab->ab", f.bb.vv) + x473 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x473 += einsum("ab,caij->ijcb", x472, l2.abab) + del x472 + l2new_baba += einsum("ijab->baji", x473) + l2new_abab += einsum("ijab->abij", x473) + del x473 + x484 += einsum("wia->wia", gc.aa.bov) + x485 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x485 += einsum("wai,wjb->jiba", lu11.bb, x484) + del x484 + l2new_baba += einsum("ijab->baji", x485) + l2new_abab += einsum("ijab->abij", x485) + del x485 + x486 += einsum("wia->wia", gc.bb.bov) + x487 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x487 += einsum("wai,wjb->ijab", lu11.aa, x486) + del x486 + l2new_baba += einsum("ijab->baji", x487) + l2new_abab += einsum("ijab->abij", x487) + del x487 + x490 += einsum("iajk->ijka", v.aabb.ovoo) + x491 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x491 += einsum("ai,jkib->jkba", l1.bb, x490) + del x490 + l2new_baba -= einsum("ijab->baji", x491) + l2new_abab -= einsum("ijab->abij", x491) + del x491 + x492 += einsum("ijka->ijka", v.aabb.ooov) + x493 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x493 += einsum("ai,jikb->jkab", l1.aa, x492) + del x492 + l2new_baba -= einsum("ijab->baji", x493) + l2new_abab -= einsum("ijab->abij", x493) + del x493 + x494 += einsum("ia->ia", f.bb.ov) + l2new_baba += einsum("ai,jb->baji", l1.aa, x494) + l2new_abab += einsum("ai,jb->abij", l1.aa, x494) + del x494 + x495 += einsum("ia->ia", f.aa.ov) + l2new_baba += einsum("ai,jb->abij", l1.bb, x495) + l2new_abab += einsum("ai,jb->baji", l1.bb, x495) + del x495 + x496 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x496 -= einsum("ijka->ikja", v.bbbb.ooov) + x496 += einsum("ijka->kija", v.bbbb.ooov) + l2new_abab -= einsum("ijka,lkjb->abil", x0, x496) + del x0 + lu11new_bb -= einsum("wij,kjia->wak", x174, x496) + del x496 + del x174 + x497 = np.zeros((nbos, nvir[1], nvir[1]), dtype=types[float]) + x497 += einsum("ia,wbi->wba", t1.bb, lu11.bb) + lu11new_aa += einsum("wab,icab->wci", x497, v.aabb.ovvv) + lu11new_bb -= einsum("wab,iacb->wci", x497, x277) + del x497 + del x277 + x498 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x498 += einsum("ia,wba->wib", t1.aa, g.aa.bvv) + x502 += einsum("wia->wia", x498) + del x498 + x499 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x499 += einsum("wia,jiba->wjb", g.bb.bov, t2.abab) + x502 += einsum("wia->wia", x499) + del x499 + x502 += einsum("wai->wia", g.aa.bvo) + lu11new_aa += einsum("wia,ijba->wbj", x502, x41) + del x41 + lu11new_bb += einsum("wia,abij->wbj", x502, l2.abab) + del x502 + x504 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x504 += einsum("wai,jiba->wjb", lu11.bb, t2.abab) + x506 += einsum("wia->wia", x504) + del x504 + lu11new_aa += einsum("wia,ijba->wbj", x506, x13) * -1 + del x13 + lu11new_bb += einsum("wia,iajb->wbj", x506, v.aabb.ovov) + del x506 + x507 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x507 += einsum("ia,wba->wib", t1.bb, g.bb.bvv) + x511 += einsum("wia->wia", x507) + del x507 + x508 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x508 += einsum("wia,ijab->wjb", g.aa.bov, t2.abab) + x511 += einsum("wia->wia", x508) + del x508 + x511 += einsum("wai->wia", g.bb.bvo) + lu11new_aa += einsum("wia,baji->wbj", x511, l2.abab) + lu11new_bb += einsum("wia,ijab->wbj", x511, x224) + del x224 + del x511 + x512 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x512 += einsum("wai,ijab->wjb", lu11.aa, t2.abab) + x515 += einsum("wia->wia", x512) + del x512 + lu11new_aa += einsum("wia,jbia->wbj", x515, v.aabb.ovov) + lu11new_bb += einsum("wia,ijab->wbj", x515, x89) * -1 + del x89 + del x515 + x516 = np.zeros((nbos, nvir[0], nvir[0]), dtype=types[float]) + x516 += einsum("ia,wbi->wba", t1.aa, lu11.aa) + lu11new_aa -= einsum("wab,iacb->wci", x516, x298) + del x298 + lu11new_bb += einsum("wab,icab->wci", x516, v.bbaa.ovvv) + del x516 + x517 += einsum("ab->ab", f.aa.vv) + lu11new_aa += einsum("ab,wai->wbi", x517, lu11.aa) + del x517 + x518 = np.zeros((nbos, nbos), dtype=types[float]) + x518 += einsum("wia,xia->wx", g.aa.bov, u11.aa) + x520 = np.zeros((nbos, nbos), dtype=types[float]) + x520 += einsum("wx->wx", x518) + del x518 + x519 = np.zeros((nbos, nbos), dtype=types[float]) + x519 += einsum("wia,xia->wx", g.bb.bov, u11.bb) + x520 += einsum("wx->wx", x519) + del x519 + x520 += einsum("wx->wx", w) + lu11new_aa += einsum("wx,xai->wai", x520, lu11.aa) + lu11new_bb += einsum("wx,xai->wai", x520, lu11.bb) + del x520 + x521 += einsum("wij->wij", g.aa.boo) + lu11new_aa -= einsum("ai,wji->waj", l1.aa, x521) + del x521 + x522 = np.zeros((nbos, nbos), dtype=types[float]) + x522 += einsum("wai,xia->wx", lu11.aa, u11.aa) + x524 = np.zeros((nbos, nbos), dtype=types[float]) + x524 += einsum("wx->wx", x522) + del x522 + x523 = np.zeros((nbos, nbos), dtype=types[float]) + x523 += einsum("wai,xia->wx", lu11.bb, u11.bb) + x524 += einsum("wx->wx", x523) + del x523 + lu11new_aa += einsum("wx,xia->wai", x524, g.aa.bov) + lu11new_bb += einsum("wx,xia->wai", x524, g.bb.bov) + del x524 + x525 += einsum("ab->ab", f.bb.vv) + lu11new_bb += einsum("ab,wai->wbi", x525, lu11.bb) + del x525 + x526 += einsum("wij->wij", g.bb.boo) + lu11new_bb -= einsum("ai,wji->waj", l1.bb, x526) + del x526 + l1new_aa += einsum("w,wia->ai", ls1, gc.aa.bov) + l1new_aa += einsum("ia->ai", f.aa.ov) + l1new_aa += einsum("ai,jbai->bj", l1.bb, v.aabb.ovvo) + l1new_bb += einsum("w,wia->ai", ls1, gc.bb.bov) + l1new_bb += einsum("ia->ai", f.bb.ov) + l1new_bb += einsum("ai,jbai->bj", l1.aa, v.bbaa.ovvo) + l2new_aaaa -= einsum("iajb->abji", v.aaaa.ovov) + l2new_aaaa += einsum("iajb->baji", v.aaaa.ovov) + l2new_bbbb -= einsum("iajb->abji", v.bbbb.ovov) + l2new_bbbb += einsum("iajb->baji", v.bbbb.ovov) + l2new_baba += einsum("iajb->baji", v.aabb.ovov) + l2new_abab += einsum("iajb->abij", v.aabb.ovov) + ls1new += einsum("w,xw->x", ls1, w) + ls1new += einsum("w->w", G) + ls1new += einsum("ai,wai->w", l1.bb, g.bb.bvo) + ls1new += einsum("ai,wai->w", l1.aa, g.aa.bvo) + lu11new_aa += einsum("wia->wai", g.aa.bov) + lu11new_aa += einsum("wai,jbai->wbj", lu11.bb, v.aabb.ovvo) + lu11new_aa += einsum("ai,wab->wbi", l1.aa, g.aa.bvv) + lu11new_bb += einsum("ai,wab->wbi", l1.bb, g.bb.bvv) + lu11new_bb += einsum("wia->wai", g.bb.bov) + lu11new_bb += einsum("wai,jbai->wbj", lu11.aa, v.bbaa.ovvo) + + l1new.aa = l1new_aa + l1new.bb = l1new_bb + l2new.abab = l2new_abab + l2new.baba = l2new_baba + l2new.aaaa = l2new_aaaa + l2new.bbbb = l2new_bbbb + lu11new.aa = lu11new_aa + lu11new.bb = lu11new_bb + + return {"l1new": l1new, "l2new": l2new, "ls1new": ls1new, "lu11new": lu11new} + +def make_rdm1_f(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, u11=None, l1=None, l2=None, ls1=None, lu11=None, **kwargs): + rdm1_f = Namespace() + + # Get boson coupling creation array: + gc = Namespace( + aa = Namespace( + boo=g.aa.boo.transpose(0, 2, 1), + bov=g.aa.bvo.transpose(0, 2, 1), + bvo=g.aa.bov.transpose(0, 2, 1), + bvv=g.aa.bvv.transpose(0, 2, 1), + ), + bb = Namespace( + boo=g.bb.boo.transpose(0, 2, 1), + bov=g.bb.bvo.transpose(0, 2, 1), + bvo=g.bb.bov.transpose(0, 2, 1), + bvv=g.bb.bvv.transpose(0, 2, 1), + ), + ) + + delta_oo = Namespace() + delta_oo.aa = np.eye(nocc[0]) + delta_oo.bb = np.eye(nocc[1]) + delta_vv = Namespace() + delta_vv.aa = np.eye(nvir[0]) + delta_vv.bb = np.eye(nvir[1]) + + # 1RDM + x0 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x0 += einsum("wai,wja->ij", lu11.aa, u11.aa) + x14 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x14 += einsum("ij->ij", x0) + rdm1_f_oo_aa = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + rdm1_f_oo_aa -= einsum("ij->ij", x0) + del x0 + x1 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x1 += einsum("abij,kjab->ik", l2.abab, t2.abab) + x14 += einsum("ij->ij", x1) + rdm1_f_oo_aa += einsum("ij->ij", x1) * -1 + del x1 + x2 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x2 += einsum("ai,ja->ij", l1.aa, t1.aa) + x14 += einsum("ij->ij", x2) + rdm1_f_oo_aa -= einsum("ij->ij", x2) + del x2 + x3 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x3 += einsum("ijab->jiab", t2.aaaa) + x3 += einsum("ijab->jiba", t2.aaaa) * -1 + rdm1_f_oo_aa += einsum("abij,ikba->jk", l2.aaaa, x3) * -1 + del x3 + x4 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x4 += einsum("abij,ikab->jk", l2.abab, t2.abab) + x21 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x21 += einsum("ij->ij", x4) + rdm1_f_oo_bb = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + rdm1_f_oo_bb += einsum("ij->ij", x4) * -1 + del x4 + x5 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x5 += einsum("wai,wja->ij", lu11.bb, u11.bb) + x21 += einsum("ij->ij", x5) + rdm1_f_oo_bb -= einsum("ij->ij", x5) + del x5 + x6 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x6 += einsum("ai,ja->ij", l1.bb, t1.bb) + x21 += einsum("ij->ij", x6) + rdm1_f_oo_bb -= einsum("ij->ij", x6) + del x6 + x7 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x7 += einsum("ijab->jiab", t2.bbbb) * -1 + x7 += einsum("ijab->jiba", t2.bbbb) + rdm1_f_oo_bb += einsum("abij,ikab->jk", l2.bbbb, x7) * -1 + del x7 + x8 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) + x8 += einsum("ia,waj->wji", t1.aa, lu11.aa) + rdm1_f_vo_aa = np.zeros((nvir[0], nocc[0]), dtype=types[float]) + rdm1_f_vo_aa -= einsum("wia,wij->aj", u11.aa, x8) + del x8 + x9 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x9 += einsum("ia,abjk->jikb", t1.aa, l2.abab) + rdm1_f_vo_aa += einsum("ijab,ikjb->ak", t2.abab, x9) * -1 + del x9 + x10 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x10 += einsum("ia,abjk->kjib", t1.aa, l2.aaaa) + x11 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x11 += einsum("ijka->ijka", x10) * -1 + x11 += einsum("ijka->jika", x10) + del x10 + rdm1_f_vo_aa += einsum("ijab,jika->bk", t2.aaaa, x11) * -1 + del x11 + x12 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x12 += einsum("ijab->jiab", t2.aaaa) + x12 -= einsum("ijab->jiba", t2.aaaa) + rdm1_f_vo_aa -= einsum("ai,ijab->bj", l1.aa, x12) + del x12 + x13 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x13 += einsum("ijab->jiab", t2.aaaa) * -1 + x13 += einsum("ijab->jiba", t2.aaaa) + x14 += einsum("abij,ikba->jk", l2.aaaa, x13) * -1 + del x13 + rdm1_f_vo_aa += einsum("ia,ij->aj", t1.aa, x14) * -1 + del x14 + x15 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) + x15 += einsum("ia,waj->wji", t1.bb, lu11.bb) + rdm1_f_vo_bb = np.zeros((nvir[1], nocc[1]), dtype=types[float]) + rdm1_f_vo_bb -= einsum("wia,wij->aj", u11.bb, x15) + del x15 + x16 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x16 += einsum("ia,bajk->jkib", t1.bb, l2.abab) + rdm1_f_vo_bb += einsum("ijab,ijka->bk", t2.abab, x16) * -1 + del x16 + x17 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x17 += einsum("ia,bajk->jkib", t1.bb, l2.bbbb) + x18 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x18 += einsum("ijka->ijka", x17) + x18 += einsum("ijka->jika", x17) * -1 + del x17 + rdm1_f_vo_bb += einsum("ijab,jikb->ak", t2.bbbb, x18) * -1 + del x18 + x19 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x19 += einsum("ijab->jiab", t2.bbbb) + x19 -= einsum("ijab->jiba", t2.bbbb) + rdm1_f_vo_bb -= einsum("ai,ijab->bj", l1.bb, x19) + del x19 + x20 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x20 += einsum("ijab->jiab", t2.bbbb) + x20 += einsum("ijab->jiba", t2.bbbb) * -1 + x21 += einsum("abij,ikab->jk", l2.bbbb, x20) * -1 + del x20 + rdm1_f_vo_bb += einsum("ia,ij->aj", t1.bb, x21) * -1 + del x21 + x22 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x22 += einsum("abij->jiab", l2.aaaa) * -1 + x22 += einsum("abij->jiba", l2.aaaa) + rdm1_f_vv_aa = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + rdm1_f_vv_aa += einsum("ijab,ijca->bc", t2.aaaa, x22) * -1 + del x22 + x23 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x23 += einsum("abij->jiab", l2.bbbb) * -1 + x23 += einsum("abij->jiba", l2.bbbb) + rdm1_f_vv_bb = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + rdm1_f_vv_bb += einsum("ijab,ijbc->ac", t2.bbbb, x23) * -1 + del x23 + rdm1_f_oo_aa += einsum("ij->ji", delta_oo.aa) + rdm1_f_oo_bb += einsum("ij->ji", delta_oo.bb) + rdm1_f_ov_aa = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + rdm1_f_ov_aa += einsum("ai->ia", l1.aa) + rdm1_f_ov_bb = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + rdm1_f_ov_bb += einsum("ai->ia", l1.bb) + rdm1_f_vo_aa += einsum("ai,jiba->bj", l1.bb, t2.abab) + rdm1_f_vo_aa += einsum("w,wia->ai", ls1, u11.aa) + rdm1_f_vo_aa += einsum("ia->ai", t1.aa) + rdm1_f_vo_bb += einsum("ai,ijab->bj", l1.aa, t2.abab) + rdm1_f_vo_bb += einsum("w,wia->ai", ls1, u11.bb) + rdm1_f_vo_bb += einsum("ia->ai", t1.bb) + rdm1_f_vv_aa += einsum("abij,ijcb->ca", l2.abab, t2.abab) + rdm1_f_vv_aa += einsum("wai,wib->ba", lu11.aa, u11.aa) + rdm1_f_vv_aa += einsum("ai,ib->ba", l1.aa, t1.aa) + rdm1_f_vv_bb += einsum("ai,ib->ba", l1.bb, t1.bb) + rdm1_f_vv_bb += einsum("wai,wib->ba", lu11.bb, u11.bb) + rdm1_f_vv_bb += einsum("abij,ijac->cb", l2.abab, t2.abab) + + rdm1_f_aa = np.block([[rdm1_f_oo_aa, rdm1_f_ov_aa], [rdm1_f_vo_aa, rdm1_f_vv_aa]]) + rdm1_f_bb = np.block([[rdm1_f_oo_bb, rdm1_f_ov_bb], [rdm1_f_vo_bb, rdm1_f_vv_bb]]) + + rdm1_f.aa = rdm1_f_aa + rdm1_f.bb = rdm1_f_bb + + return rdm1_f + +def make_rdm2_f(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, u11=None, l1=None, l2=None, ls1=None, lu11=None, **kwargs): + rdm2_f = Namespace() + + # Get boson coupling creation array: + gc = Namespace( + aa = Namespace( + boo=g.aa.boo.transpose(0, 2, 1), + bov=g.aa.bvo.transpose(0, 2, 1), + bvo=g.aa.bov.transpose(0, 2, 1), + bvv=g.aa.bvv.transpose(0, 2, 1), + ), + bb = Namespace( + boo=g.bb.boo.transpose(0, 2, 1), + bov=g.bb.bvo.transpose(0, 2, 1), + bvo=g.bb.bov.transpose(0, 2, 1), + bvv=g.bb.bvv.transpose(0, 2, 1), + ), + ) + + delta_oo = Namespace() + delta_oo.aa = np.eye(nocc[0]) + delta_oo.bb = np.eye(nocc[1]) + delta_vv = Namespace() + delta_vv.aa = np.eye(nvir[0]) + delta_vv.bb = np.eye(nvir[1]) + + # 2RDM + x0 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x0 += einsum("wai,wja->ij", lu11.aa, u11.aa) + x18 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x18 += einsum("ij->ij", x0) + x29 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x29 += einsum("ia,ij->ja", t1.aa, x0) + x32 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x32 += einsum("ia->ia", x29) + del x29 + x33 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x33 += einsum("ij->ij", x0) + x96 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x96 += einsum("ij->ji", x0) + x145 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x145 += einsum("ij,kiab->kjab", x0, t2.aaaa) + x161 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x161 -= einsum("ijab->ijab", x145) + del x145 + x248 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x248 += einsum("ij->ij", x0) + rdm2_f_oooo_aaaa = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + rdm2_f_oooo_aaaa -= einsum("ij,kl->ijkl", delta_oo.aa, x0) + rdm2_f_oooo_aaaa += einsum("ij,kl->ilkj", delta_oo.aa, x0) + rdm2_f_oooo_aaaa += einsum("ij,kl->kijl", delta_oo.aa, x0) + rdm2_f_oooo_aaaa -= einsum("ij,kl->klji", delta_oo.aa, x0) + del x0 + x1 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x1 += einsum("abij,klba->ijlk", l2.aaaa, t2.aaaa) + x39 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x39 += einsum("ijkl->jilk", x1) + x174 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x174 += einsum("ijab,ijkl->klab", t2.aaaa, x1) + x178 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x178 += einsum("ijab->ijab", x174) + del x174 + x176 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x176 += einsum("ia,jikl->jkla", t1.aa, x1) + x177 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x177 += einsum("ia,ijkb->jkab", t1.aa, x176) + del x176 + x178 += einsum("ijab->ijab", x177) + del x177 + rdm2_f_oooo_aaaa += einsum("ijkl->jkil", x1) * -1 + rdm2_f_oooo_aaaa += einsum("ijkl->jlik", x1) + del x1 + x2 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x2 += einsum("ia,abjk->kjib", t1.aa, l2.aaaa) + x3 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x3 += einsum("ia,jkla->jkil", t1.aa, x2) + x39 += einsum("ijkl->ijkl", x3) + x40 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x40 += einsum("ia,ijkl->jkla", t1.aa, x39) + del x39 + x46 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x46 += einsum("ijka->ikja", x40) + x95 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x95 += einsum("ijka->ikja", x40) + del x40 + x162 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x162 += einsum("ia,ijkl->jlka", t1.aa, x3) + x163 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x163 += einsum("ia,ijkb->jkab", t1.aa, x162) + del x162 + x169 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x169 += einsum("ijab->ijab", x163) + del x163 + x175 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x175 += einsum("ijab,jikl->klba", t2.aaaa, x3) + x178 += einsum("ijab->ijab", x175) + del x175 + rdm2_f_vovo_aaaa = np.zeros((nvir[0], nocc[0], nvir[0], nocc[0]), dtype=types[float]) + rdm2_f_vovo_aaaa += einsum("ijab->ajbi", x178) * -1 + rdm2_f_vovo_aaaa += einsum("ijab->bjai", x178) + del x178 + rdm2_f_oooo_aaaa += einsum("ijkl->ikjl", x3) + rdm2_f_oooo_aaaa += einsum("ijkl->iljk", x3) * -1 + del x3 + x36 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x36 += einsum("ijka->ijka", x2) + x36 += einsum("ijka->jika", x2) * -1 + x42 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x42 += einsum("ijka->ijka", x2) * -1 + x42 += einsum("ijka->jika", x2) + x43 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x43 += einsum("ijab,jikb->ka", t2.aaaa, x42) + x45 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x45 += einsum("ia->ia", x43) * -1 + x93 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x93 += einsum("ia->ia", x43) * -1 + x249 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x249 += einsum("ia->ia", x43) * -1 + del x43 + x77 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x77 += einsum("ijab,kila->kljb", t2.abab, x42) + x234 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x234 += einsum("ijka->ijka", x77) * -1 + rdm2_f_oovo_aabb = np.zeros((nocc[0], nocc[0], nvir[1], nocc[1]), dtype=types[float]) + rdm2_f_oovo_aabb += einsum("ijka->ijak", x77) * -1 + rdm2_f_vooo_bbaa = np.zeros((nvir[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) + rdm2_f_vooo_bbaa += einsum("ijka->akij", x77) * -1 + del x77 + x251 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x251 += einsum("ijab,jikb->ka", t2.aaaa, x42) * -1 + del x42 + x104 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x104 += einsum("ijka->ijka", x2) + x104 -= einsum("ijka->jika", x2) + x105 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x105 += einsum("ia,ijkb->jkab", t1.aa, x104) + rdm2_f_oovv_aaaa = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + rdm2_f_oovv_aaaa -= einsum("ijab->ijab", x105) + rdm2_f_vvoo_aaaa = np.zeros((nvir[0], nvir[0], nocc[0], nocc[0]), dtype=types[float]) + rdm2_f_vvoo_aaaa -= einsum("ijab->abij", x105) + del x105 + x130 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x130 -= einsum("ijka->ijka", x2) + x130 += einsum("ijka->jika", x2) + x131 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x131 += einsum("ia,ijkb->jkab", t1.aa, x130) + del x130 + rdm2_f_ovvo_aaaa = np.zeros((nocc[0], nvir[0], nvir[0], nocc[0]), dtype=types[float]) + rdm2_f_ovvo_aaaa -= einsum("ijab->ibaj", x131) + rdm2_f_voov_aaaa = np.zeros((nvir[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + rdm2_f_voov_aaaa -= einsum("ijab->ajib", x131) + del x131 + x261 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x261 += einsum("ijab,jikc->kcba", t2.aaaa, x2) + x266 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x266 += einsum("iabc->iabc", x261) + del x261 + x262 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x262 += einsum("ia,jikb->jkba", t1.aa, x2) + x264 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x264 += einsum("ijab->ijab", x262) * -1 + del x262 + rdm2_f_ooov_aaaa = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + rdm2_f_ooov_aaaa += einsum("ijka->ikja", x2) + rdm2_f_ooov_aaaa -= einsum("ijka->jkia", x2) + rdm2_f_ovoo_aaaa = np.zeros((nocc[0], nvir[0], nocc[0], nocc[0]), dtype=types[float]) + rdm2_f_ovoo_aaaa -= einsum("ijka->iajk", x2) + rdm2_f_ovoo_aaaa += einsum("ijka->jaik", x2) + del x2 + x4 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x4 += einsum("abij,kjab->ik", l2.abab, t2.abab) + x7 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x7 += einsum("ij->ij", x4) + x18 += einsum("ij->ij", x4) + x96 += einsum("ij->ji", x4) + x248 += einsum("ij->ij", x4) + del x4 + x5 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x5 += einsum("ijab->jiab", t2.aaaa) * -1 + x5 += einsum("ijab->jiba", t2.aaaa) + x6 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x6 += einsum("abij,ikba->jk", l2.aaaa, x5) + x7 += einsum("ij->ij", x6) * -1 + x44 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x44 += einsum("ia,ij->ja", t1.aa, x7) + x45 += einsum("ia->ia", x44) + del x44 + x46 += einsum("ia,jk->jika", t1.aa, x7) + x95 += einsum("ia,jk->jika", t1.aa, x7) + x172 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x172 += einsum("ij,ikab->kjab", x7, t2.aaaa) + x173 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x173 += einsum("ijab->ijba", x172) + del x172 + rdm2_f_oooo_aaaa += einsum("ij,kl->jikl", delta_oo.aa, x7) * -1 + rdm2_f_oooo_aaaa += einsum("ij,kl->jlki", delta_oo.aa, x7) + rdm2_f_oooo_aaaa += einsum("ij,kl->kjil", delta_oo.aa, x7) + rdm2_f_oooo_aaaa += einsum("ij,kl->klij", delta_oo.aa, x7) * -1 + del x7 + x18 += einsum("ij->ij", x6) * -1 + del x6 + x91 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x91 += einsum("ai,ijab->jb", l1.aa, x5) + x93 += einsum("ia->ia", x91) * -1 + x251 += einsum("ia->ia", x91) * -1 + del x91 + x247 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x247 += einsum("abij,ikba->jk", l2.aaaa, x5) + x248 += einsum("ij->ij", x247) * -1 + del x247 + x249 += einsum("ai,ijab->jb", l1.aa, x5) * -0.9999999999999993 + x292 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x292 += einsum("abij,ikac->kjcb", l2.abab, x5) + x294 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x294 += einsum("ijab->ijab", x292) * -1 + del x292 + x8 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x8 += einsum("ai,ja->ij", l1.aa, t1.aa) + x18 += einsum("ij->ij", x8) + x92 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x92 += einsum("ia,ij->ja", t1.aa, x18) + x93 += einsum("ia->ia", x92) + del x92 + x240 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x240 += einsum("ij,ikab->jkab", x18, t2.abab) + rdm2_f_vovo_bbaa = np.zeros((nvir[1], nocc[1], nvir[0], nocc[0]), dtype=types[float]) + rdm2_f_vovo_bbaa += einsum("ijab->bjai", x240) * -1 + rdm2_f_vovo_aabb = np.zeros((nvir[0], nocc[0], nvir[1], nocc[1]), dtype=types[float]) + rdm2_f_vovo_aabb += einsum("ijab->aibj", x240) * -1 + del x240 + rdm2_f_oooo_aabb = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) + rdm2_f_oooo_aabb += einsum("ij,kl->klji", delta_oo.bb, x18) * -1 + rdm2_f_oooo_bbaa = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) + rdm2_f_oooo_bbaa += einsum("ij,kl->jikl", delta_oo.bb, x18) * -1 + rdm2_f_oovo_aabb += einsum("ia,jk->jkai", t1.bb, x18) * -1 + del x18 + x33 += einsum("ij->ij", x8) + x34 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x34 += einsum("ia,jk->jika", t1.aa, x33) + x94 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x94 += einsum("ia,jk->jika", t1.aa, x33) + x179 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x179 += einsum("ia,ij->ja", t1.aa, x33) + del x33 + x180 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x180 += einsum("ia->ia", x179) + x181 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x181 += einsum("ia->ia", x179) + del x179 + x48 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x48 += einsum("ia,ij->ja", t1.aa, x8) + x49 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x49 -= einsum("ia->ia", x48) + del x48 + x96 += einsum("ij->ji", x8) + x143 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x143 += einsum("ij,kiab->jkab", x8, t2.aaaa) + x161 += einsum("ijab->ijab", x143) + del x143 + x248 += einsum("ij->ij", x8) + x249 += einsum("ia,ij->ja", t1.aa, x248) * 0.9999999999999993 + x251 += einsum("ia,ij->ja", t1.aa, x248) + del x248 + rdm2_f_oooo_aaaa -= einsum("ij,kl->jikl", delta_oo.aa, x8) + rdm2_f_oooo_aaaa += einsum("ij,kl->kijl", delta_oo.aa, x8) + rdm2_f_oooo_aaaa += einsum("ij,kl->jlki", delta_oo.aa, x8) + rdm2_f_oooo_aaaa -= einsum("ij,kl->klji", delta_oo.aa, x8) + del x8 + x9 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) + x9 += einsum("abij,klab->ikjl", l2.abab, t2.abab) + x79 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) + x79 += einsum("ijkl->ijkl", x9) + x226 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) + x226 += einsum("ijkl->ijkl", x9) + x232 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) + x232 += einsum("ijkl->ijkl", x9) + rdm2_f_oooo_aabb += einsum("ijkl->ijkl", x9) + rdm2_f_oooo_bbaa += einsum("ijkl->klij", x9) + del x9 + x10 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x10 += einsum("ia,bajk->jkib", t1.bb, l2.abab) + x11 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) + x11 += einsum("ia,jkla->jikl", t1.aa, x10) + x79 += einsum("ijkl->ijkl", x11) + x80 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x80 += einsum("ia,jkil->jkla", t1.bb, x79) + rdm2_f_oovo_aabb += einsum("ijka->ijak", x80) + rdm2_f_vooo_bbaa += einsum("ijka->akij", x80) + del x80 + x90 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x90 += einsum("ia,ijkl->jkla", t1.aa, x79) + del x79 + rdm2_f_oovo_bbaa = np.zeros((nocc[1], nocc[1], nvir[0], nocc[0]), dtype=types[float]) + rdm2_f_oovo_bbaa += einsum("ijka->jkai", x90) + rdm2_f_vooo_aabb = np.zeros((nvir[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) + rdm2_f_vooo_aabb += einsum("ijka->aijk", x90) + del x90 + x226 += einsum("ijkl->ijkl", x11) + x227 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x227 += einsum("ijab,ikjl->klab", t2.abab, x226) + del x226 + rdm2_f_vovo_bbaa += einsum("ijab->bjai", x227) + rdm2_f_vovo_aabb += einsum("ijab->aibj", x227) + del x227 + x232 += einsum("ijkl->ijkl", x11) * 0.9999999999999993 + x233 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x233 += einsum("ia,jkil->jkla", t1.bb, x232) + del x232 + x234 += einsum("ijka->ijka", x233) + del x233 + rdm2_f_oooo_aabb += einsum("ijkl->ijkl", x11) + rdm2_f_oooo_bbaa += einsum("ijkl->klij", x11) + del x11 + x63 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x63 += einsum("ijab,ikla->kljb", t2.abab, x10) + x72 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x72 += einsum("ijka->ijka", x63) * -1 + x99 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x99 += einsum("ijka->ijka", x63) * -1 + x190 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x190 -= einsum("ijka->ijka", x63) + del x63 + x68 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x68 += einsum("ijab,ijka->kb", t2.abab, x10) + x71 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x71 += einsum("ia->ia", x68) + x84 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x84 += einsum("ia->ia", x68) + x97 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x97 += einsum("ia->ia", x68) + x246 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x246 += einsum("ia->ia", x68) + x250 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x250 += einsum("ia->ia", x68) + del x68 + x75 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x75 += einsum("ijab,kjla->kilb", t2.abab, x10) + x234 += einsum("ijka->ijka", x75) + rdm2_f_oovo_aabb += einsum("ijka->ijak", x75) + rdm2_f_vooo_bbaa += einsum("ijka->akij", x75) + del x75 + x89 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x89 += einsum("ijka,ilab->ljkb", x10, x5) + rdm2_f_oovo_bbaa += einsum("ijka->jkai", x89) * -1 + rdm2_f_vooo_aabb += einsum("ijka->aijk", x89) * -1 + del x89 + x126 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + x126 += einsum("ia,ijkb->jkba", t1.aa, x10) + rdm2_f_oovv_bbaa = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + rdm2_f_oovv_bbaa -= einsum("ijab->ijba", x126) + rdm2_f_vvoo_aabb = np.zeros((nvir[0], nvir[0], nocc[1], nocc[1]), dtype=types[float]) + rdm2_f_vvoo_aabb -= einsum("ijab->baij", x126) + del x126 + x132 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x132 += einsum("ia,jikb->jkba", t1.bb, x10) + x286 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x286 += einsum("ijab->ijab", x132) + rdm2_f_ovvo_aabb = np.zeros((nocc[0], nvir[0], nvir[1], nocc[1]), dtype=types[float]) + rdm2_f_ovvo_aabb -= einsum("ijab->iabj", x132) + rdm2_f_voov_bbaa = np.zeros((nvir[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + rdm2_f_voov_bbaa -= einsum("ijab->bjia", x132) + del x132 + x280 = np.zeros((nocc[1], nvir[0], nvir[0], nvir[1]), dtype=types[float]) + x280 += einsum("ijab,ijkc->kcab", t2.abab, x10) + rdm2_f_vovv_bbaa = np.zeros((nvir[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + rdm2_f_vovv_bbaa += einsum("iabc->ciba", x280) * -1 + rdm2_f_vvvo_aabb = np.zeros((nvir[0], nvir[0], nvir[1], nocc[1]), dtype=types[float]) + rdm2_f_vvvo_aabb += einsum("iabc->baci", x280) * -1 + del x280 + rdm2_f_ooov_bbaa = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + rdm2_f_ooov_bbaa -= einsum("ijka->jkia", x10) + rdm2_f_ovoo_aabb = np.zeros((nocc[0], nvir[0], nocc[1], nocc[1]), dtype=types[float]) + rdm2_f_ovoo_aabb -= einsum("ijka->iajk", x10) + x12 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x12 += einsum("ai,ja->ij", l1.bb, t1.bb) + x17 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x17 += einsum("ij->ji", x12) + x51 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x51 += einsum("ia,ij->ja", t1.bb, x12) + x73 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x73 -= einsum("ia->ia", x51) + rdm2_f_oovo_bbbb = np.zeros((nocc[1], nocc[1], nvir[1], nocc[1]), dtype=types[float]) + rdm2_f_oovo_bbbb += einsum("ij,ka->ikaj", delta_oo.bb, x51) + rdm2_f_vooo_bbbb = np.zeros((nvir[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + rdm2_f_vooo_bbbb -= einsum("ij,ka->akji", delta_oo.bb, x51) + del x51 + x61 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x61 += einsum("ij->ij", x12) + x82 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x82 += einsum("ij->ij", x12) + x182 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x182 += einsum("ij,kiab->jkab", x12, t2.bbbb) + x199 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x199 += einsum("ijab->ijab", x182) + del x182 + x245 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x245 += einsum("ij->ij", x12) + rdm2_f_oooo_bbbb = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + rdm2_f_oooo_bbbb -= einsum("ij,kl->jikl", delta_oo.bb, x12) + rdm2_f_oooo_bbbb += einsum("ij,kl->kijl", delta_oo.bb, x12) + rdm2_f_oooo_bbbb += einsum("ij,kl->jlki", delta_oo.bb, x12) + rdm2_f_oooo_bbbb -= einsum("ij,kl->klji", delta_oo.bb, x12) + del x12 + x13 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x13 += einsum("wai,wja->ij", lu11.bb, u11.bb) + x17 += einsum("ij->ji", x13) + x57 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x57 += einsum("ia,ij->ja", t1.bb, x13) + x60 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x60 += einsum("ia->ia", x57) + del x57 + x61 += einsum("ij->ij", x13) + x62 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x62 += einsum("ia,jk->jika", t1.bb, x61) + x98 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x98 += einsum("ia,jk->jika", t1.bb, x61) + x217 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x217 += einsum("ia,ij->ja", t1.bb, x61) + del x61 + x218 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x218 += einsum("ia->ia", x217) + x219 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x219 += einsum("ia->ia", x217) + del x217 + x82 += einsum("ij->ij", x13) + x184 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x184 += einsum("ij,kiab->kjab", x13, t2.bbbb) + x199 -= einsum("ijab->ijab", x184) + del x184 + x245 += einsum("ij->ij", x13) + rdm2_f_oooo_bbbb -= einsum("ij,kl->ijkl", delta_oo.bb, x13) + rdm2_f_oooo_bbbb += einsum("ij,kl->ilkj", delta_oo.bb, x13) + rdm2_f_oooo_bbbb += einsum("ij,kl->kijl", delta_oo.bb, x13) + rdm2_f_oooo_bbbb -= einsum("ij,kl->klji", delta_oo.bb, x13) + del x13 + x14 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x14 += einsum("abij,ikab->jk", l2.abab, t2.abab) + x17 += einsum("ij->ji", x14) + x22 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x22 += einsum("ij->ij", x14) + x82 += einsum("ij->ij", x14) + x207 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x207 += einsum("ij,kiab->jkab", x14, t2.bbbb) + x211 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x211 += einsum("ijab->ijab", x207) * -1 + del x207 + x245 += einsum("ij->ij", x14) + del x14 + x15 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x15 += einsum("ijab->jiab", t2.bbbb) * -1 + x15 += einsum("ijab->jiba", t2.bbbb) + x16 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x16 += einsum("abij,ikba->jk", l2.bbbb, x15) + x17 += einsum("ij->ji", x16) * -1 + x22 += einsum("ij->ij", x16) * -1 + x70 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x70 += einsum("ia,ij->ja", t1.bb, x22) + x71 += einsum("ia->ia", x70) + del x70 + x72 += einsum("ia,jk->jika", t1.bb, x22) + x99 += einsum("ia,jk->jika", t1.bb, x22) + rdm2_f_oooo_bbbb += einsum("ij,kl->jikl", delta_oo.bb, x22) * -1 + rdm2_f_oooo_bbbb += einsum("ij,kl->jlki", delta_oo.bb, x22) + rdm2_f_oooo_bbbb += einsum("ij,kl->kjil", delta_oo.bb, x22) + rdm2_f_oooo_bbbb += einsum("ij,kl->klij", delta_oo.bb, x22) * -1 + del x22 + x82 += einsum("ij->ij", x16) * -1 + x83 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x83 += einsum("ia,ij->ja", t1.bb, x82) + x84 += einsum("ia->ia", x83) + x97 += einsum("ia->ia", x83) + del x83 + x241 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x241 += einsum("ij,kiab->kjab", x82, t2.abab) + rdm2_f_vovo_bbaa += einsum("ijab->bjai", x241) * -1 + rdm2_f_vovo_aabb += einsum("ijab->aibj", x241) * -1 + del x241 + rdm2_f_oovo_bbaa += einsum("ia,jk->jkai", t1.aa, x82) * -1 + rdm2_f_vooo_aabb += einsum("ia,jk->aijk", t1.aa, x82) * -1 + del x82 + x210 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x210 += einsum("ij,ikab->kjab", x16, t2.bbbb) * -1 + del x16 + x211 += einsum("ijab->ijba", x210) + del x210 + x81 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x81 += einsum("ai,ijab->jb", l1.bb, x15) + x84 += einsum("ia->ia", x81) * -1 + x97 += einsum("ia->ia", x81) * -1 + x246 += einsum("ia->ia", x81) * -1 + del x81 + x244 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x244 += einsum("abij,ikba->jk", l2.bbbb, x15) + x245 += einsum("ij->ij", x244) * -1 + del x244 + x246 += einsum("ia,ij->ja", t1.bb, x245) + x250 += einsum("ia,ij->ja", t1.bb, x245) * 0.9999999999999993 + del x245 + x250 += einsum("ai,ijab->jb", l1.bb, x15) * -0.9999999999999993 + x285 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x285 += einsum("abij,jkbc->ikac", l2.abab, x15) + x286 += einsum("ijab->ijab", x285) * -1 + del x285 + x17 += einsum("ij->ji", delta_oo.bb) * -1 + rdm2_f_oooo_aabb += einsum("ij,kl->jilk", delta_oo.aa, x17) * -1 + rdm2_f_oooo_bbaa += einsum("ij,kl->lkji", delta_oo.aa, x17) * -1 + del x17 + x19 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x19 += einsum("abij,klab->ijkl", l2.bbbb, t2.bbbb) + x66 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x66 += einsum("ijkl->jilk", x19) + x212 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x212 += einsum("ia,jikl->jkla", t1.bb, x19) + x213 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x213 += einsum("ia,ijkb->kjba", t1.bb, x212) + del x212 + x216 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x216 += einsum("ijab->ijab", x213) + del x213 + x214 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x214 += einsum("ijkl->jilk", x19) + rdm2_f_oooo_bbbb += einsum("ijkl->jkil", x19) * -1 + rdm2_f_oooo_bbbb += einsum("ijkl->jlik", x19) + del x19 + x20 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x20 += einsum("ia,bajk->jkib", t1.bb, l2.bbbb) + x21 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x21 += einsum("ia,jkla->kjli", t1.bb, x20) + x66 += einsum("ijkl->ijkl", x21) + x67 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x67 += einsum("ia,ijkl->jkla", t1.bb, x66) + del x66 + x72 += einsum("ijka->ikja", x67) + x99 += einsum("ijka->ikja", x67) + del x67 + x201 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x201 += einsum("ia,ijkl->jlka", t1.bb, x21) + x202 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x202 += einsum("ia,ijkb->jkab", t1.bb, x201) + del x201 + x206 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x206 += einsum("ijab->ijab", x202) + del x202 + x214 += einsum("ijkl->ijkl", x21) + x215 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x215 += einsum("ijab,ijkl->klab", t2.bbbb, x214) + del x214 + x216 += einsum("ijab->jiba", x215) + del x215 + rdm2_f_vovo_bbbb = np.zeros((nvir[1], nocc[1], nvir[1], nocc[1]), dtype=types[float]) + rdm2_f_vovo_bbbb += einsum("ijab->ajbi", x216) * -1 + rdm2_f_vovo_bbbb += einsum("ijab->bjai", x216) + del x216 + rdm2_f_oooo_bbbb += einsum("ijkl->ikjl", x21) + rdm2_f_oooo_bbbb += einsum("ijkl->iljk", x21) * -1 + del x21 + x64 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x64 += einsum("ijka->ijka", x20) * -1 + x64 += einsum("ijka->jika", x20) + x65 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x65 += einsum("ijab,ikla->jklb", x15, x64) + x72 += einsum("ijka->jkia", x65) + x99 += einsum("ijka->jkia", x65) + del x65 + rdm2_f_vooo_bbbb += einsum("ijka->ajik", x99) * -1 + rdm2_f_vooo_bbbb += einsum("ijka->akij", x99) + del x99 + x69 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x69 += einsum("ijab,ijka->kb", t2.bbbb, x64) + x71 += einsum("ia->ia", x69) * -1 + x72 += einsum("ij,ka->jika", delta_oo.bb, x71) * -1 + rdm2_f_oovo_bbbb += einsum("ijka->ijak", x72) + rdm2_f_oovo_bbbb += einsum("ijka->ikaj", x72) * -1 + del x72 + x211 += einsum("ia,jb->ijab", t1.bb, x71) + rdm2_f_vooo_bbbb += einsum("ij,ka->ajik", delta_oo.bb, x71) + rdm2_f_vooo_bbbb += einsum("ij,ka->akij", delta_oo.bb, x71) * -1 + del x71 + x84 += einsum("ia->ia", x69) * -1 + x97 += einsum("ia->ia", x69) * -1 + x250 += einsum("ia->ia", x69) * -1 + del x69 + x88 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x88 += einsum("ijab,kjlb->ikla", t2.abab, x64) + rdm2_f_oovo_bbaa += einsum("ijka->jkai", x88) * -1 + rdm2_f_vooo_aabb += einsum("ijka->aijk", x88) * -1 + del x88 + x246 += einsum("ijab,ijka->kb", t2.bbbb, x64) * -1 + del x64 + x117 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x117 += einsum("ijka->ijka", x20) + x117 -= einsum("ijka->jika", x20) + x118 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x118 += einsum("ia,ijkb->jkab", t1.bb, x117) + rdm2_f_oovv_bbbb = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + rdm2_f_oovv_bbbb -= einsum("ijab->ijab", x118) + rdm2_f_vvoo_bbbb = np.zeros((nvir[1], nvir[1], nocc[1], nocc[1]), dtype=types[float]) + rdm2_f_vvoo_bbbb -= einsum("ijab->abij", x118) + del x118 + x236 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x236 += einsum("ijab,kjlb->ikla", t2.abab, x117) + del x117 + x238 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x238 -= einsum("ijka->ijka", x236) + del x236 + x141 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x141 -= einsum("ijka->ijka", x20) + x141 += einsum("ijka->jika", x20) + x142 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x142 += einsum("ia,ijkb->jkab", t1.bb, x141) + rdm2_f_ovvo_bbbb = np.zeros((nocc[1], nvir[1], nvir[1], nocc[1]), dtype=types[float]) + rdm2_f_ovvo_bbbb -= einsum("ijab->ibaj", x142) + rdm2_f_voov_bbbb = np.zeros((nvir[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + rdm2_f_voov_bbbb -= einsum("ijab->ajib", x142) + del x142 + x267 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x267 += einsum("ijab,jikc->kcba", t2.bbbb, x20) + x274 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x274 += einsum("iabc->iabc", x267) + del x267 + x268 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x268 += einsum("ia,jikb->jkba", t1.bb, x20) + x271 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x271 += einsum("ijab->ijab", x268) * -1 + del x268 + rdm2_f_ooov_bbbb = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + rdm2_f_ooov_bbbb += einsum("ijka->ikja", x20) + rdm2_f_ooov_bbbb -= einsum("ijka->jkia", x20) + rdm2_f_ovoo_bbbb = np.zeros((nocc[1], nvir[1], nocc[1], nocc[1]), dtype=types[float]) + rdm2_f_ovoo_bbbb -= einsum("ijka->iajk", x20) + rdm2_f_ovoo_bbbb += einsum("ijka->jaik", x20) + del x20 + x23 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x23 += einsum("ia,abjk->jikb", t1.aa, l2.abab) + x35 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x35 += einsum("ijab,kljb->klia", t2.abab, x23) + x46 += einsum("ijka->ijka", x35) * -1 + x95 += einsum("ijka->ijka", x35) * -1 + x152 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x152 -= einsum("ijka->ijka", x35) + del x35 + x41 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x41 += einsum("ijab,ikjb->ka", t2.abab, x23) + x45 += einsum("ia->ia", x41) + x46 += einsum("ij,ka->jika", delta_oo.aa, x45) * -1 + x173 += einsum("ia,jb->ijab", t1.aa, x45) + rdm2_f_vooo_aaaa = np.zeros((nvir[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + rdm2_f_vooo_aaaa += einsum("ij,ka->ajik", delta_oo.aa, x45) + rdm2_f_vooo_aaaa += einsum("ij,ka->akij", delta_oo.aa, x45) * -1 + del x45 + x93 += einsum("ia->ia", x41) + x249 += einsum("ia->ia", x41) + x251 += einsum("ia->ia", x41) + del x41 + x78 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x78 += einsum("ijab,klia->kljb", x15, x23) + del x15 + x234 += einsum("ijka->ijka", x78) * -1 + rdm2_f_oovo_aabb += einsum("ijka->ijak", x78) * -1 + rdm2_f_vooo_bbaa += einsum("ijka->akij", x78) * -1 + del x78 + x85 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x85 += einsum("ijab,iklb->klja", t2.abab, x23) + x238 -= einsum("ijka->ijka", x85) + rdm2_f_oovo_bbaa += einsum("ijka->jkai", x85) + rdm2_f_vooo_aabb += einsum("ijka->aijk", x85) + del x85 + x128 = np.zeros((nocc[0], nocc[0], nvir[1], nvir[1]), dtype=types[float]) + x128 += einsum("ia,jkib->jkba", t1.bb, x23) + rdm2_f_oovv_aabb = np.zeros((nocc[0], nocc[0], nvir[1], nvir[1]), dtype=types[float]) + rdm2_f_oovv_aabb -= einsum("ijab->ijba", x128) + rdm2_f_vvoo_bbaa = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + rdm2_f_vvoo_bbaa -= einsum("ijab->baij", x128) + del x128 + x136 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x136 += einsum("ia,ijkb->jkab", t1.aa, x23) + x294 += einsum("ijab->ijab", x136) + rdm2_f_ovvo_bbaa = np.zeros((nocc[1], nvir[1], nvir[0], nocc[0]), dtype=types[float]) + rdm2_f_ovvo_bbaa -= einsum("ijab->jbai", x136) + rdm2_f_voov_aabb = np.zeros((nvir[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + rdm2_f_voov_aabb -= einsum("ijab->aijb", x136) + del x136 + x290 = np.zeros((nocc[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) + x290 += einsum("ijab,ikjc->kacb", t2.abab, x23) + rdm2_f_vovv_aabb = np.zeros((nvir[0], nocc[0], nvir[1], nvir[1]), dtype=types[float]) + rdm2_f_vovv_aabb += einsum("iabc->aicb", x290) * -1 + rdm2_f_vvvo_bbaa = np.zeros((nvir[1], nvir[1], nvir[0], nocc[0]), dtype=types[float]) + rdm2_f_vvvo_bbaa += einsum("iabc->cbai", x290) * -1 + del x290 + rdm2_f_ooov_aabb = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + rdm2_f_ooov_aabb -= einsum("ijka->ijka", x23) + rdm2_f_ovoo_bbaa = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + rdm2_f_ovoo_bbaa -= einsum("ijka->kaij", x23) + del x23 + x24 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x24 += einsum("ai,jkab->ikjb", l1.aa, t2.aaaa) + x34 += einsum("ijka->ijka", x24) + x94 += einsum("ijka->ijka", x24) + x152 += einsum("ijka->ijka", x24) + del x24 + x25 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) + x25 += einsum("ia,waj->wji", t1.aa, lu11.aa) + x26 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x26 += einsum("wia,wjk->jkia", u11.aa, x25) + x34 -= einsum("ijka->ijka", x26) + x94 -= einsum("ijka->ijka", x26) + del x26 + rdm2_f_vooo_aaaa -= einsum("ijka->ajik", x94) + rdm2_f_vooo_aaaa += einsum("ijka->akij", x94) + del x94 + x28 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x28 += einsum("wia,wij->ja", u11.aa, x25) + x32 += einsum("ia->ia", x28) + x93 += einsum("ia->ia", x28) + x180 += einsum("ia->ia", x28) + x181 += einsum("ia->ia", x28) + x249 += einsum("ia->ia", x28) * 0.9999999999999993 + x251 += einsum("ia->ia", x28) + del x28 + x74 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x74 += einsum("wia,wjk->jkia", u11.bb, x25) + rdm2_f_oovo_aabb -= einsum("ijka->ijak", x74) + rdm2_f_vooo_bbaa -= einsum("ijka->akij", x74) + del x74 + x154 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x154 += einsum("ia,wij->wja", t1.aa, x25) + del x25 + x157 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x157 -= einsum("wia->wia", x154) + del x154 + x27 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x27 += einsum("ai,jiba->jb", l1.bb, t2.abab) + x32 -= einsum("ia->ia", x27) + x93 += einsum("ia->ia", x27) * -1 + x160 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x160 += einsum("ia->ia", x27) + x249 += einsum("ia->ia", x27) * -0.9999999999999993 + x251 += einsum("ia->ia", x27) * -1 + del x27 + x30 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x30 -= einsum("ijab->jiab", t2.aaaa) + x30 += einsum("ijab->jiba", t2.aaaa) + x31 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x31 += einsum("ai,ijab->jb", l1.aa, x30) + x32 -= einsum("ia->ia", x31) + del x31 + x34 -= einsum("ij,ka->jika", delta_oo.aa, x32) + rdm2_f_oovo_aaaa = np.zeros((nocc[0], nocc[0], nvir[0], nocc[0]), dtype=types[float]) + rdm2_f_oovo_aaaa += einsum("ijka->ijak", x34) + rdm2_f_oovo_aaaa -= einsum("ijka->ikaj", x34) + del x34 + rdm2_f_vooo_aaaa += einsum("ij,ka->ajik", delta_oo.aa, x32) + rdm2_f_vooo_aaaa -= einsum("ij,ka->akij", delta_oo.aa, x32) + del x32 + x138 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x138 += einsum("abij,ikca->kjcb", l2.abab, x30) + rdm2_f_ovvo_bbaa -= einsum("ijab->jbai", x138) + rdm2_f_voov_aabb -= einsum("ijab->aijb", x138) + del x138 + x156 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x156 += einsum("wai,ijba->wjb", lu11.aa, x30) + x157 -= einsum("wia->wia", x156) + del x156 + x159 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x159 += einsum("ai,ijba->jb", l1.aa, x30) + x160 -= einsum("ia->ia", x159) + del x159 + x161 += einsum("ia,jb->ijab", t1.aa, x160) + del x160 + x237 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x237 += einsum("ijka,ilba->ljkb", x10, x30) + del x10 + x238 -= einsum("ijka->ijka", x237) + del x237 + x37 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x37 += einsum("ijab->jiab", t2.aaaa) + x37 += einsum("ijab->jiba", t2.aaaa) * -1 + x38 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x38 += einsum("ijka,jlba->iklb", x36, x37) + del x36 + x46 += einsum("ijka->ijka", x38) + rdm2_f_oovo_aaaa += einsum("ijka->ijak", x46) + rdm2_f_oovo_aaaa += einsum("ijka->ikaj", x46) * -1 + del x46 + x95 += einsum("ijka->ijka", x38) + del x38 + rdm2_f_vooo_aaaa += einsum("ijka->ajik", x95) * -1 + rdm2_f_vooo_aaaa += einsum("ijka->akij", x95) + del x95 + x96 += einsum("abij,ikab->kj", l2.aaaa, x37) * -1 + del x37 + x47 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x47 += einsum("w,wia->ia", ls1, u11.aa) + x49 += einsum("ia->ia", x47) + x93 += einsum("ia->ia", x47) * -1 + x180 -= einsum("ia->ia", x47) + x181 -= einsum("ia->ia", x47) + rdm2_f_vovo_aaaa -= einsum("ia,jb->bjai", t1.aa, x181) + rdm2_f_vovo_aaaa += einsum("ia,jb->ajbi", t1.aa, x181) + del x181 + x249 += einsum("ia->ia", x47) * -0.9999999999999993 + rdm2_f_vovo_bbaa += einsum("ia,jb->aibj", t1.bb, x249) * -1 + del x249 + x251 += einsum("ia->ia", x47) * -1 + del x47 + rdm2_f_vovo_aabb += einsum("ia,jb->bjai", t1.bb, x251) * -1 + del x251 + x49 += einsum("ia->ia", t1.aa) + rdm2_f_oovo_aaaa += einsum("ij,ka->jiak", delta_oo.aa, x49) + rdm2_f_oovo_aaaa -= einsum("ij,ka->jkai", delta_oo.aa, x49) + rdm2_f_vooo_aaaa -= einsum("ij,ka->aijk", delta_oo.aa, x49) + rdm2_f_vooo_aaaa += einsum("ij,ka->akji", delta_oo.aa, x49) + del x49 + x50 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x50 += einsum("w,wia->ia", ls1, u11.bb) + x73 += einsum("ia->ia", x50) + x84 += einsum("ia->ia", x50) * -1 + x97 += einsum("ia->ia", x50) * -1 + x218 -= einsum("ia->ia", x50) + x219 -= einsum("ia->ia", x50) + x246 += einsum("ia->ia", x50) * -1 + x250 += einsum("ia->ia", x50) * -0.9999999999999993 + rdm2_f_oovo_bbbb -= einsum("ij,ka->jkai", delta_oo.bb, x50) + rdm2_f_vooo_bbbb += einsum("ij,ka->akji", delta_oo.bb, x50) + del x50 + x52 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x52 += einsum("ai,jkba->ijkb", l1.bb, t2.bbbb) + x62 += einsum("ijka->ijka", x52) + x98 += einsum("ijka->ijka", x52) + x190 += einsum("ijka->ijka", x52) + del x52 + x53 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) + x53 += einsum("ia,waj->wji", t1.bb, lu11.bb) + x54 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x54 += einsum("wia,wjk->jkia", u11.bb, x53) + x62 -= einsum("ijka->ijka", x54) + x98 -= einsum("ijka->ijka", x54) + del x54 + rdm2_f_vooo_bbbb -= einsum("ijka->ajik", x98) + rdm2_f_vooo_bbbb += einsum("ijka->akij", x98) + del x98 + x56 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x56 += einsum("wia,wij->ja", u11.bb, x53) + x60 += einsum("ia->ia", x56) + x84 += einsum("ia->ia", x56) + x97 += einsum("ia->ia", x56) + x218 += einsum("ia->ia", x56) + x219 += einsum("ia->ia", x56) + rdm2_f_vovo_bbbb += einsum("ia,jb->biaj", t1.bb, x219) + rdm2_f_vovo_bbbb -= einsum("ia,jb->aibj", t1.bb, x219) + del x219 + x246 += einsum("ia->ia", x56) + x250 += einsum("ia->ia", x56) * 0.9999999999999993 + del x56 + x87 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x87 += einsum("wia,wjk->ijka", u11.aa, x53) + rdm2_f_oovo_bbaa -= einsum("ijka->jkai", x87) + rdm2_f_vooo_aabb -= einsum("ijka->aijk", x87) + del x87 + x193 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x193 += einsum("ia,wij->wja", t1.bb, x53) + del x53 + x195 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x195 -= einsum("wia->wia", x193) + del x193 + x55 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x55 += einsum("ai,ijab->jb", l1.aa, t2.abab) + x60 -= einsum("ia->ia", x55) + x84 += einsum("ia->ia", x55) * -1 + x97 += einsum("ia->ia", x55) * -1 + rdm2_f_vooo_bbaa += einsum("ij,ka->akji", delta_oo.aa, x97) * -1 + del x97 + x198 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x198 += einsum("ia->ia", x55) + x246 += einsum("ia->ia", x55) * -1 + x250 += einsum("ia->ia", x55) * -0.9999999999999993 + del x55 + x58 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x58 -= einsum("ijab->jiab", t2.bbbb) + x58 += einsum("ijab->jiba", t2.bbbb) + x59 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x59 += einsum("ai,ijab->jb", l1.bb, x58) + x60 -= einsum("ia->ia", x59) + del x59 + x62 -= einsum("ij,ka->jika", delta_oo.bb, x60) + rdm2_f_oovo_bbbb += einsum("ijka->ijak", x62) + rdm2_f_oovo_bbbb -= einsum("ijka->ikaj", x62) + del x62 + rdm2_f_vooo_bbbb += einsum("ij,ka->ajik", delta_oo.bb, x60) + rdm2_f_vooo_bbbb -= einsum("ij,ka->akij", delta_oo.bb, x60) + del x60 + x189 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x189 += einsum("ijka,ilab->ljkb", x141, x58) + del x141 + x190 += einsum("ijka->jkia", x189) + del x189 + x191 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x191 += einsum("ia,ijkb->jkab", t1.bb, x190) + del x190 + x199 += einsum("ijab->ijab", x191) + del x191 + x73 += einsum("ia->ia", t1.bb) + rdm2_f_oovo_bbbb += einsum("ij,ka->jiak", delta_oo.bb, x73) + rdm2_f_vooo_bbbb -= einsum("ij,ka->aijk", delta_oo.bb, x73) + del x73 + x76 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x76 += einsum("ai,jkab->ijkb", l1.aa, t2.abab) + x234 += einsum("ijka->ijka", x76) * -1 + x235 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x235 += einsum("ia,ijkb->jkab", t1.aa, x234) + del x234 + rdm2_f_vovo_bbaa += einsum("ijab->bjai", x235) + rdm2_f_vovo_aabb += einsum("ijab->aibj", x235) + del x235 + rdm2_f_oovo_aabb -= einsum("ijka->ijak", x76) + rdm2_f_vooo_bbaa -= einsum("ijka->akij", x76) + del x76 + x84 += einsum("ia->ia", t1.bb) * -1 + rdm2_f_oovo_aabb += einsum("ij,ka->jiak", delta_oo.aa, x84) * -1 + del x84 + x86 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x86 += einsum("ai,jkba->jikb", l1.bb, t2.abab) + x238 += einsum("ijka->ijka", x86) + x239 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x239 += einsum("ia,jikb->jkba", t1.bb, x238) + del x238 + rdm2_f_vovo_bbaa -= einsum("ijab->bjai", x239) + rdm2_f_vovo_aabb -= einsum("ijab->aibj", x239) + del x239 + rdm2_f_oovo_bbaa -= einsum("ijka->jkai", x86) + rdm2_f_vooo_aabb -= einsum("ijka->aijk", x86) + del x86 + x93 += einsum("ia->ia", t1.aa) * -1 + rdm2_f_oovo_bbaa += einsum("ij,ka->jiak", delta_oo.bb, x93) * -1 + rdm2_f_vooo_aabb += einsum("ij,ka->akji", delta_oo.bb, x93) * -1 + del x93 + x96 += einsum("ij->ji", delta_oo.aa) * -1 + rdm2_f_vooo_bbaa += einsum("ia,jk->aikj", t1.bb, x96) * -1 + del x96 + x100 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x100 += einsum("wai,wjb->ijab", lu11.aa, u11.aa) + rdm2_f_oovv_aaaa -= einsum("ijab->ijba", x100) + rdm2_f_ovvo_aaaa += einsum("ijab->iabj", x100) + rdm2_f_voov_aaaa += einsum("ijab->bjia", x100) + rdm2_f_vvoo_aaaa -= einsum("ijab->baij", x100) + del x100 + x101 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x101 += einsum("abij,kjcb->ikac", l2.abab, t2.abab) + x146 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x146 += einsum("ijab,jkac->ikbc", t2.aaaa, x101) + x161 -= einsum("ijab->ijab", x146) + del x146 + x148 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x148 += einsum("ijab->ijab", x101) + x264 += einsum("ijab->ijab", x101) + rdm2_f_oovv_aaaa -= einsum("ijab->ijba", x101) + rdm2_f_ovvo_aaaa += einsum("ijab->iabj", x101) + rdm2_f_voov_aaaa += einsum("ijab->bjia", x101) + rdm2_f_vvoo_aaaa -= einsum("ijab->baij", x101) + del x101 + x102 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x102 -= einsum("abij->jiab", l2.aaaa) + x102 += einsum("abij->jiba", l2.aaaa) + x103 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x103 += einsum("ijab,ikbc->kjca", x102, x30) + rdm2_f_oovv_aaaa += einsum("ijab->jiab", x103) + rdm2_f_vvoo_aaaa += einsum("ijab->abji", x103) + del x103 + x129 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x129 += einsum("ijab,ikcb->kjca", x102, x30) + rdm2_f_ovvo_aaaa += einsum("ijab->jbai", x129) + rdm2_f_voov_aaaa += einsum("ijab->aijb", x129) + del x129 + x134 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x134 += einsum("ijab,ikca->kjcb", t2.abab, x102) + x200 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x200 -= einsum("ijab,ikac->jkbc", t2.abab, x134) + rdm2_f_vovo_bbbb -= einsum("ijab->ajbi", x200) + rdm2_f_vovo_bbbb += einsum("ijab->aibj", x200) + del x200 + x221 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x221 -= einsum("ijab->ijab", x134) + rdm2_f_ovvo_aabb -= einsum("ijab->iabj", x134) + rdm2_f_voov_bbaa -= einsum("ijab->bjia", x134) + del x134 + x147 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x147 += einsum("ijab,ikbc->jkac", t2.aaaa, x102) + x148 -= einsum("ijab->jiba", x147) + del x147 + x149 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x149 += einsum("ijab,ikac->jkbc", t2.aaaa, x148) + del x148 + x161 += einsum("ijab->ijab", x149) + del x149 + x164 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x164 += einsum("ijab,ikca->jkbc", t2.aaaa, x102) + x165 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x165 -= einsum("ijab,kica->jkbc", t2.aaaa, x164) + del x164 + x169 += einsum("ijab->jiba", x165) + del x165 + x166 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x166 += einsum("ijab,ikcb->jkac", t2.aaaa, x102) + del x102 + x167 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x167 -= einsum("ijab,kicb->jkac", t2.aaaa, x166) + del x166 + x169 += einsum("ijab->ijab", x167) + del x167 + x106 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x106 += einsum("ai,ib->ab", l1.aa, t1.aa) + x111 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x111 += einsum("ab->ab", x106) + x259 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x259 += einsum("ab->ab", x106) + del x106 + x107 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x107 += einsum("wai,wib->ab", lu11.aa, u11.aa) + x111 += einsum("ab->ab", x107) + x144 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x144 += einsum("ab,ijca->ijcb", x107, t2.aaaa) + x161 -= einsum("ijab->ijab", x144) + del x144 + x230 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x230 += einsum("ab->ab", x107) + x259 += einsum("ab->ab", x107) + del x107 + x260 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x260 += einsum("ia,bc->ibac", t1.aa, x259) + del x259 + x108 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x108 += einsum("abij,ijcb->ac", l2.abab, t2.abab) + x111 += einsum("ab->ab", x108) + x170 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x170 += einsum("ab->ab", x108) + x230 += einsum("ab->ab", x108) + del x108 + x109 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x109 += einsum("abij->jiab", l2.aaaa) * -1 + x109 += einsum("abij->jiba", l2.aaaa) + x110 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x110 += einsum("ijab,ijbc->ac", t2.aaaa, x109) + x111 += einsum("ab->ba", x110) * -1 + rdm2_f_oovv_aaaa += einsum("ij,ab->jiba", delta_oo.aa, x111) + rdm2_f_oovv_bbaa += einsum("ij,ab->jiba", delta_oo.bb, x111) + rdm2_f_ovvo_aaaa += einsum("ij,ab->jabi", delta_oo.aa, x111) * -1 + rdm2_f_voov_aaaa += einsum("ij,ab->bija", delta_oo.aa, x111) * -1 + rdm2_f_vvoo_aaaa += einsum("ij,ab->baji", delta_oo.aa, x111) + rdm2_f_vvoo_aabb += einsum("ij,ab->baji", delta_oo.bb, x111) + rdm2_f_vovv_bbaa += einsum("ia,bc->aicb", t1.bb, x111) + rdm2_f_vvvo_aabb += einsum("ia,bc->cbai", t1.bb, x111) + del x111 + x170 += einsum("ab->ba", x110) * -1 + x171 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x171 += einsum("ab,ijac->ijcb", x170, t2.aaaa) + x173 += einsum("ijab->jiab", x171) + del x171 + rdm2_f_vovo_aaaa += einsum("ijab->aibj", x173) * -1 + rdm2_f_vovo_aaaa += einsum("ijab->biaj", x173) + rdm2_f_vovo_aaaa += einsum("ijab->ajbi", x173) + rdm2_f_vovo_aaaa += einsum("ijab->bjai", x173) * -1 + del x173 + x266 += einsum("ia,bc->ibac", t1.aa, x170) + del x170 + x230 += einsum("ab->ba", x110) * -1 + del x110 + x231 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x231 += einsum("ab,ijac->ijbc", x230, t2.abab) + del x230 + rdm2_f_vovo_bbaa += einsum("ijab->bjai", x231) * -1 + rdm2_f_vovo_aabb += einsum("ijab->aibj", x231) * -1 + del x231 + x263 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x263 += einsum("ijab,ikcb->kjca", x109, x5) + del x5 + x264 += einsum("ijab->jiba", x263) + del x263 + x265 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x265 += einsum("ia,ijbc->jabc", t1.aa, x264) + del x264 + x266 += einsum("iabc->ibac", x265) * -1 + del x265 + rdm2_f_vovv_aaaa = np.zeros((nvir[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + rdm2_f_vovv_aaaa += einsum("iabc->bica", x266) + rdm2_f_vovv_aaaa += einsum("iabc->ciba", x266) * -1 + rdm2_f_vvvo_aaaa = np.zeros((nvir[0], nvir[0], nvir[0], nocc[0]), dtype=types[float]) + rdm2_f_vvvo_aaaa += einsum("iabc->baci", x266) * -1 + rdm2_f_vvvo_aaaa += einsum("iabc->cabi", x266) + del x266 + x284 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x284 += einsum("ijab,ikac->kjcb", t2.abab, x109) + del x109 + x286 += einsum("ijab->ijab", x284) * -1 + del x284 + x287 = np.zeros((nocc[1], nvir[0], nvir[0], nvir[1]), dtype=types[float]) + x287 += einsum("ia,ijbc->jabc", t1.aa, x286) + del x286 + rdm2_f_vovv_bbaa += einsum("iabc->ciab", x287) * -1 + rdm2_f_vvvo_aabb += einsum("iabc->abci", x287) * -1 + del x287 + x112 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x112 += einsum("abij,ikac->jkbc", l2.abab, t2.abab) + x224 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x224 += einsum("ijab->ijab", x112) + x271 += einsum("ijab->ijab", x112) + rdm2_f_oovv_bbbb -= einsum("ijab->ijba", x112) + rdm2_f_ovvo_bbbb += einsum("ijab->iabj", x112) + rdm2_f_voov_bbbb += einsum("ijab->bjia", x112) + rdm2_f_vvoo_bbbb -= einsum("ijab->baij", x112) + x113 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x113 += einsum("wai,wjb->ijab", lu11.bb, u11.bb) + rdm2_f_oovv_bbbb -= einsum("ijab->ijba", x113) + rdm2_f_ovvo_bbbb += einsum("ijab->iabj", x113) + rdm2_f_voov_bbbb += einsum("ijab->bjia", x113) + rdm2_f_vvoo_bbbb -= einsum("ijab->baij", x113) + del x113 + x114 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x114 += einsum("ijab->jiab", t2.bbbb) + x114 -= einsum("ijab->jiba", t2.bbbb) + x135 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x135 += einsum("abij,jkbc->ikac", l2.abab, x114) + x221 -= einsum("ijab->ijab", x135) + x222 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x222 += einsum("ijab,ikac->kjcb", x221, x30) + del x221 + del x30 + rdm2_f_vovo_bbaa += einsum("ijab->bjai", x222) + rdm2_f_vovo_aabb += einsum("ijab->aibj", x222) + del x222 + rdm2_f_ovvo_aabb -= einsum("ijab->iabj", x135) + rdm2_f_voov_bbaa -= einsum("ijab->bjia", x135) + del x135 + x188 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x188 += einsum("ijab,ikac->jkbc", x112, x114) + del x112 + x199 -= einsum("ijab->ijab", x188) + del x188 + x194 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x194 += einsum("wai,ijab->wjb", lu11.bb, x114) + x195 -= einsum("wia->wia", x194) + del x194 + x197 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x197 += einsum("ai,ijab->jb", l1.bb, x114) + x198 -= einsum("ia->ia", x197) + del x197 + x199 += einsum("ia,jb->ijab", t1.bb, x198) + del x198 + x115 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x115 += einsum("abij->jiab", l2.bbbb) + x115 -= einsum("abij->jiba", l2.bbbb) + x116 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x116 += einsum("ijab,ikbc->jkac", x114, x115) + rdm2_f_oovv_bbbb += einsum("ijab->jiab", x116) + rdm2_f_vvoo_bbbb += einsum("ijab->abji", x116) + del x116 + x139 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x139 += einsum("ijab,jkbc->ikac", t2.abab, x115) + x168 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x168 -= einsum("ijab,kjcb->ikac", t2.abab, x139) + x169 += einsum("ijab->jiba", x168) + del x168 + rdm2_f_ovvo_bbaa -= einsum("ijab->jbai", x139) + rdm2_f_voov_aabb -= einsum("ijab->aijb", x139) + del x139 + x140 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x140 += einsum("ijab,ikca->kjcb", x115, x58) + del x58 + del x115 + rdm2_f_ovvo_bbbb += einsum("ijab->jbai", x140) + rdm2_f_voov_bbbb += einsum("ijab->aijb", x140) + del x140 + x119 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x119 += einsum("ai,ib->ab", l1.bb, t1.bb) + x124 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x124 += einsum("ab->ab", x119) + x278 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x278 += einsum("ab->ab", x119) + del x119 + x120 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x120 += einsum("wai,wib->ab", lu11.bb, u11.bb) + x124 += einsum("ab->ab", x120) + x183 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x183 += einsum("ab,ijac->jicb", x120, t2.bbbb) + x199 -= einsum("ijab->ijab", x183) + del x183 + x228 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x228 += einsum("ab->ab", x120) + x278 += einsum("ab->ab", x120) + del x120 + x279 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x279 += einsum("ia,bc->ibac", t1.bb, x278) + del x278 + x121 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x121 += einsum("abij,ijac->bc", l2.abab, t2.abab) + x124 += einsum("ab->ab", x121) + x208 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x208 += einsum("ab,ijac->jibc", x121, t2.bbbb) + x211 += einsum("ijab->ijab", x208) * -1 + del x208 + x228 += einsum("ab->ab", x121) + x273 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x273 += einsum("ab->ab", x121) + del x121 + x122 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x122 += einsum("abij->jiab", l2.bbbb) * -1 + x122 += einsum("abij->jiba", l2.bbbb) + x123 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x123 += einsum("ijab,ijca->bc", t2.bbbb, x122) + x124 += einsum("ab->ba", x123) * -1 + rdm2_f_oovv_bbbb += einsum("ij,ab->jiba", delta_oo.bb, x124) + rdm2_f_oovv_aabb += einsum("ij,ab->jiba", delta_oo.aa, x124) + rdm2_f_ovvo_bbbb += einsum("ij,ab->jabi", delta_oo.bb, x124) * -1 + rdm2_f_voov_bbbb += einsum("ij,ab->bija", delta_oo.bb, x124) * -1 + rdm2_f_vvoo_bbbb += einsum("ij,ab->baji", delta_oo.bb, x124) + rdm2_f_vvoo_bbaa += einsum("ij,ab->baji", delta_oo.aa, x124) + rdm2_f_vovv_aabb += einsum("ia,bc->aicb", t1.aa, x124) + rdm2_f_vvvo_bbaa += einsum("ia,bc->cbai", t1.aa, x124) + del x124 + x209 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x209 += einsum("ab,ijbc->ijca", x123, t2.bbbb) * -1 + x211 += einsum("ijab->jiab", x209) + del x209 + rdm2_f_vovo_bbbb += einsum("ijab->aibj", x211) * -1 + rdm2_f_vovo_bbbb += einsum("ijab->biaj", x211) + rdm2_f_vovo_bbbb += einsum("ijab->ajbi", x211) + rdm2_f_vovo_bbbb += einsum("ijab->bjai", x211) * -1 + del x211 + x228 += einsum("ab->ba", x123) * -1 + x229 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x229 += einsum("ab,ijca->ijcb", x228, t2.abab) + del x228 + rdm2_f_vovo_bbaa += einsum("ijab->bjai", x229) * -1 + rdm2_f_vovo_aabb += einsum("ijab->aibj", x229) * -1 + del x229 + x273 += einsum("ab->ba", x123) * -1 + del x123 + x274 += einsum("ia,bc->ibac", t1.bb, x273) + del x273 + x293 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x293 += einsum("ijab,jkbc->ikac", t2.abab, x122) + x294 += einsum("ijab->ijab", x293) * -1 + del x293 + x295 = np.zeros((nocc[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) + x295 += einsum("ia,jibc->jbac", t1.bb, x294) + del x294 + rdm2_f_vovv_aabb += einsum("iabc->aibc", x295) * -1 + rdm2_f_vvvo_bbaa += einsum("iabc->bcai", x295) * -1 + del x295 + x125 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + x125 += einsum("abij,ikcb->jkac", l2.abab, t2.abab) + x281 = np.zeros((nocc[1], nvir[0], nvir[0], nvir[1]), dtype=types[float]) + x281 += einsum("ia,ijbc->jbca", t1.bb, x125) + rdm2_f_vovv_bbaa += einsum("iabc->ciba", x281) * -1 + rdm2_f_vvvo_aabb += einsum("iabc->baci", x281) * -1 + del x281 + rdm2_f_oovv_bbaa -= einsum("ijab->ijba", x125) + rdm2_f_vvoo_aabb -= einsum("ijab->baij", x125) + del x125 + x127 = np.zeros((nocc[0], nocc[0], nvir[1], nvir[1]), dtype=types[float]) + x127 += einsum("abij,kjac->ikbc", l2.abab, t2.abab) + x220 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x220 += einsum("ijab,ikbc->kjac", t2.abab, x127) + rdm2_f_vovo_bbaa += einsum("ijab->bjai", x220) + rdm2_f_vovo_aabb += einsum("ijab->aibj", x220) + del x220 + x291 = np.zeros((nocc[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) + x291 += einsum("ia,ijbc->jabc", t1.aa, x127) + rdm2_f_vovv_aabb += einsum("iabc->aicb", x291) * -1 + rdm2_f_vvvo_bbaa += einsum("iabc->cbai", x291) * -1 + del x291 + rdm2_f_oovv_aabb -= einsum("ijab->ijba", x127) + rdm2_f_vvoo_bbaa -= einsum("ijab->baij", x127) + del x127 + x133 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x133 += einsum("wai,wjb->ijab", lu11.aa, u11.bb) + rdm2_f_ovvo_aabb += einsum("ijab->iabj", x133) + rdm2_f_voov_bbaa += einsum("ijab->bjia", x133) + del x133 + x137 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x137 += einsum("wai,wjb->jiba", lu11.bb, u11.aa) + rdm2_f_ovvo_bbaa += einsum("ijab->jbai", x137) + rdm2_f_voov_aabb += einsum("ijab->aijb", x137) + del x137 + x150 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x150 += einsum("ijab->jiab", t2.aaaa) + x150 -= einsum("ijab->jiba", t2.aaaa) + x151 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x151 += einsum("ijka,jlba->iklb", x104, x150) + del x104 + del x150 + x152 += einsum("ijka->ijka", x151) + del x151 + x153 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x153 += einsum("ia,ijkb->jkab", t1.aa, x152) + del x152 + x161 += einsum("ijab->ijab", x153) + del x153 + x155 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x155 += einsum("wai,jiba->wjb", lu11.bb, t2.abab) + x157 += einsum("wia->wia", x155) + del x155 + x158 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x158 += einsum("wia,wjb->ijab", u11.aa, x157) + x161 += einsum("ijab->jiba", x158) + del x158 + rdm2_f_vovo_aaaa += einsum("ijab->aibj", x161) + rdm2_f_vovo_aaaa -= einsum("ijab->biaj", x161) + rdm2_f_vovo_aaaa -= einsum("ijab->ajbi", x161) + rdm2_f_vovo_aaaa += einsum("ijab->bjai", x161) + del x161 + x243 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x243 += einsum("wia,wjb->jiba", u11.bb, x157) + del x157 + rdm2_f_vovo_bbaa += einsum("ijab->bjai", x243) + rdm2_f_vovo_aabb += einsum("ijab->aibj", x243) + del x243 + x169 += einsum("ijab->jiba", t2.aaaa) + rdm2_f_vovo_aaaa -= einsum("ijab->biaj", x169) + rdm2_f_vovo_aaaa += einsum("ijab->aibj", x169) + del x169 + x180 -= einsum("ia->ia", t1.aa) + rdm2_f_vovo_aaaa -= einsum("ia,jb->aibj", t1.aa, x180) + rdm2_f_vovo_aaaa += einsum("ia,jb->biaj", t1.aa, x180) + del x180 + x185 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x185 -= einsum("abij->jiab", l2.bbbb) + x185 += einsum("abij->jiba", l2.bbbb) + x186 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x186 += einsum("ijab,ikcb->jkac", t2.bbbb, x185) + x187 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x187 -= einsum("ijab,kica->jkbc", t2.bbbb, x186) + x199 -= einsum("ijab->ijab", x187) + del x187 + x205 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x205 -= einsum("ijab,kicb->jkac", t2.bbbb, x186) + del x186 + x206 += einsum("ijab->jiba", x205) + del x205 + x203 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x203 += einsum("ijab,ikca->jkbc", t2.bbbb, x185) + x204 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x204 -= einsum("ijab,kica->jkbc", t2.bbbb, x203) + del x203 + x206 += einsum("ijab->ijab", x204) + del x204 + x223 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x223 += einsum("ijab,ikca->jkbc", x114, x185) + del x185 + del x114 + x224 += einsum("ijab->jiba", x223) + del x223 + x225 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x225 += einsum("ijab,jkbc->ikac", t2.abab, x224) + del x224 + rdm2_f_vovo_bbaa += einsum("ijab->bjai", x225) + rdm2_f_vovo_aabb += einsum("ijab->aibj", x225) + del x225 + x192 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x192 += einsum("wai,ijab->wjb", lu11.aa, t2.abab) + x195 += einsum("wia->wia", x192) + del x192 + x196 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x196 += einsum("wia,wjb->ijab", u11.bb, x195) + x199 += einsum("ijab->jiba", x196) + del x196 + rdm2_f_vovo_bbbb += einsum("ijab->aibj", x199) + rdm2_f_vovo_bbbb -= einsum("ijab->biaj", x199) + rdm2_f_vovo_bbbb -= einsum("ijab->ajbi", x199) + rdm2_f_vovo_bbbb += einsum("ijab->bjai", x199) + del x199 + x242 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x242 += einsum("wia,wjb->ijab", u11.aa, x195) + del x195 + rdm2_f_vovo_bbaa += einsum("ijab->bjai", x242) + rdm2_f_vovo_aabb += einsum("ijab->aibj", x242) + del x242 + x206 += einsum("ijab->jiba", t2.bbbb) + rdm2_f_vovo_bbbb -= einsum("ijab->biaj", x206) + rdm2_f_vovo_bbbb += einsum("ijab->aibj", x206) + del x206 + x218 -= einsum("ia->ia", t1.bb) + rdm2_f_vovo_bbbb += einsum("ia,jb->ajbi", t1.bb, x218) + rdm2_f_vovo_bbbb -= einsum("ia,jb->bjai", t1.bb, x218) + del x218 + x246 += einsum("ia->ia", t1.bb) * -1 + rdm2_f_vovo_bbaa += einsum("ia,jb->bjai", t1.aa, x246) * -1 + del x246 + x250 += einsum("ia->ia", t1.bb) * -0.9999999999999993 + rdm2_f_vovo_aabb += einsum("ia,jb->aibj", t1.aa, x250) * -1 + del x250 + x252 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x252 += einsum("ia,bcji->jbca", t1.aa, l2.aaaa) + x297 = np.zeros((nvir[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x297 += einsum("ia,ibcd->cbda", t1.aa, x252) + x298 = np.zeros((nvir[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x298 += einsum("abcd->badc", x297) + del x297 + rdm2_f_ovvv_aaaa = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + rdm2_f_ovvv_aaaa += einsum("iabc->iacb", x252) + rdm2_f_ovvv_aaaa -= einsum("iabc->ibca", x252) + rdm2_f_vvov_aaaa = np.zeros((nvir[0], nvir[0], nocc[0], nvir[0]), dtype=types[float]) + rdm2_f_vvov_aaaa -= einsum("iabc->caib", x252) + rdm2_f_vvov_aaaa += einsum("iabc->cbia", x252) + del x252 + x253 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x253 += einsum("ia,bcji->jbca", t1.bb, l2.bbbb) + x302 = np.zeros((nvir[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x302 += einsum("ia,ibcd->cbda", t1.bb, x253) + x303 = np.zeros((nvir[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x303 += einsum("abcd->badc", x302) + del x302 + rdm2_f_ovvv_bbbb = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + rdm2_f_ovvv_bbbb += einsum("iabc->iacb", x253) + rdm2_f_ovvv_bbbb -= einsum("iabc->ibca", x253) + rdm2_f_vvov_bbbb = np.zeros((nvir[1], nvir[1], nocc[1], nvir[1]), dtype=types[float]) + rdm2_f_vvov_bbbb -= einsum("iabc->caib", x253) + rdm2_f_vvov_bbbb += einsum("iabc->cbia", x253) + del x253 + x254 = np.zeros((nocc[1], nvir[0], nvir[0], nvir[1]), dtype=types[float]) + x254 += einsum("ia,bcij->jbac", t1.aa, l2.abab) + rdm2_f_ovvv_bbaa = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) + rdm2_f_ovvv_bbaa += einsum("iabc->icba", x254) + rdm2_f_vvov_aabb = np.zeros((nvir[0], nvir[0], nocc[1], nvir[1]), dtype=types[float]) + rdm2_f_vvov_aabb += einsum("iabc->baic", x254) + del x254 + x255 = np.zeros((nocc[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) + x255 += einsum("ia,bcji->jbca", t1.bb, l2.abab) + x300 = np.zeros((nvir[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) + x300 += einsum("ia,ibcd->bacd", t1.aa, x255) + rdm2_f_vvvv_bbaa = np.zeros((nvir[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) + rdm2_f_vvvv_bbaa += einsum("abcd->dcba", x300) + rdm2_f_vvvv_aabb = np.zeros((nvir[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) + rdm2_f_vvvv_aabb += einsum("abcd->badc", x300) + del x300 + rdm2_f_ovvv_aabb = np.zeros((nocc[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) + rdm2_f_ovvv_aabb += einsum("iabc->iacb", x255) + rdm2_f_vvov_bbaa = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + rdm2_f_vvov_bbaa += einsum("iabc->cbia", x255) + del x255 + x256 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x256 += einsum("ai,jibc->jabc", l1.aa, t2.aaaa) + x260 += einsum("iabc->iabc", x256) + del x256 + x257 = np.zeros((nbos, nvir[0], nvir[0]), dtype=types[float]) + x257 += einsum("ia,wbi->wba", t1.aa, lu11.aa) + x258 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x258 += einsum("wia,wbc->ibca", u11.aa, x257) + x260 -= einsum("iabc->iabc", x258) + del x258 + rdm2_f_vovv_aaaa += einsum("iabc->bica", x260) + rdm2_f_vovv_aaaa -= einsum("iabc->ciba", x260) + rdm2_f_vvvo_aaaa -= einsum("iabc->baci", x260) + rdm2_f_vvvo_aaaa += einsum("iabc->cabi", x260) + del x260 + x282 = np.zeros((nocc[1], nvir[0], nvir[0], nvir[1]), dtype=types[float]) + x282 += einsum("wia,wbc->ibca", u11.bb, x257) + del x257 + rdm2_f_vovv_bbaa += einsum("iabc->ciba", x282) + rdm2_f_vvvo_aabb += einsum("iabc->baci", x282) + del x282 + x269 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x269 += einsum("ijab->jiab", t2.bbbb) + x269 += einsum("ijab->jiba", t2.bbbb) * -1 + x270 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x270 += einsum("ijab,ikbc->jkac", x122, x269) + del x122 + del x269 + x271 += einsum("ijab->ijab", x270) + del x270 + x272 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x272 += einsum("ia,ijbc->jabc", t1.bb, x271) + del x271 + x274 += einsum("iabc->ibac", x272) * -1 + del x272 + rdm2_f_vovv_bbbb = np.zeros((nvir[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + rdm2_f_vovv_bbbb += einsum("iabc->bica", x274) + rdm2_f_vovv_bbbb += einsum("iabc->ciba", x274) * -1 + rdm2_f_vvvo_bbbb = np.zeros((nvir[1], nvir[1], nvir[1], nocc[1]), dtype=types[float]) + rdm2_f_vvvo_bbbb += einsum("iabc->baci", x274) * -1 + rdm2_f_vvvo_bbbb += einsum("iabc->cabi", x274) + del x274 + x275 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x275 += einsum("ai,jibc->jabc", l1.bb, t2.bbbb) + x279 += einsum("iabc->iabc", x275) + del x275 + x276 = np.zeros((nbos, nvir[1], nvir[1]), dtype=types[float]) + x276 += einsum("ia,wbi->wba", t1.bb, lu11.bb) + x277 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x277 += einsum("wia,wbc->ibca", u11.bb, x276) + x279 -= einsum("iabc->iabc", x277) + del x277 + rdm2_f_vovv_bbbb += einsum("iabc->bica", x279) + rdm2_f_vovv_bbbb -= einsum("iabc->ciba", x279) + rdm2_f_vvvo_bbbb -= einsum("iabc->baci", x279) + rdm2_f_vvvo_bbbb += einsum("iabc->cabi", x279) + del x279 + x289 = np.zeros((nocc[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) + x289 += einsum("wia,wbc->iabc", u11.aa, x276) + del x276 + rdm2_f_vovv_aabb += einsum("iabc->aicb", x289) + rdm2_f_vvvo_bbaa += einsum("iabc->cbai", x289) + del x289 + x283 = np.zeros((nocc[1], nvir[0], nvir[0], nvir[1]), dtype=types[float]) + x283 += einsum("ai,ijbc->jabc", l1.aa, t2.abab) + rdm2_f_vovv_bbaa += einsum("iabc->ciba", x283) + rdm2_f_vvvo_aabb += einsum("iabc->baci", x283) + del x283 + x288 = np.zeros((nocc[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) + x288 += einsum("ai,jibc->jbac", l1.bb, t2.abab) + rdm2_f_vovv_aabb += einsum("iabc->aicb", x288) + rdm2_f_vvvo_bbaa += einsum("iabc->cbai", x288) + del x288 + x296 = np.zeros((nvir[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x296 += einsum("abij,ijcd->abcd", l2.aaaa, t2.aaaa) + x298 += einsum("abcd->badc", x296) + del x296 + rdm2_f_vvvv_aaaa = np.zeros((nvir[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + rdm2_f_vvvv_aaaa += einsum("abcd->dacb", x298) * -1 + rdm2_f_vvvv_aaaa += einsum("abcd->cadb", x298) + del x298 + x299 = np.zeros((nvir[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) + x299 += einsum("abij,ijcd->acbd", l2.abab, t2.abab) + rdm2_f_vvvv_bbaa += einsum("abcd->dcba", x299) + rdm2_f_vvvv_aabb += einsum("abcd->badc", x299) + del x299 + x301 = np.zeros((nvir[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x301 += einsum("abij,ijcd->abcd", l2.bbbb, t2.bbbb) + x303 += einsum("abcd->badc", x301) + del x301 + rdm2_f_vvvv_bbbb = np.zeros((nvir[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + rdm2_f_vvvv_bbbb += einsum("abcd->dacb", x303) * -1 + rdm2_f_vvvv_bbbb += einsum("abcd->cadb", x303) + del x303 + rdm2_f_oooo_aaaa += einsum("ij,kl->jilk", delta_oo.aa, delta_oo.aa) + rdm2_f_oooo_aaaa -= einsum("ij,kl->ljik", delta_oo.aa, delta_oo.aa) + rdm2_f_oooo_bbbb += einsum("ij,kl->jilk", delta_oo.bb, delta_oo.bb) + rdm2_f_oooo_bbbb -= einsum("ij,kl->ljik", delta_oo.bb, delta_oo.bb) + rdm2_f_ooov_aaaa += einsum("ij,ak->jika", delta_oo.aa, l1.aa) + rdm2_f_ooov_aaaa -= einsum("ij,ak->kija", delta_oo.aa, l1.aa) + rdm2_f_ooov_bbbb += einsum("ij,ak->jika", delta_oo.bb, l1.bb) + rdm2_f_ooov_bbbb -= einsum("ij,ak->kija", delta_oo.bb, l1.bb) + rdm2_f_ooov_aabb += einsum("ij,ak->jika", delta_oo.aa, l1.bb) + rdm2_f_ooov_bbaa += einsum("ij,ak->jika", delta_oo.bb, l1.aa) + rdm2_f_ovoo_aaaa -= einsum("ij,ak->jaki", delta_oo.aa, l1.aa) + rdm2_f_ovoo_aaaa += einsum("ij,ak->kaji", delta_oo.aa, l1.aa) + rdm2_f_ovoo_bbaa += einsum("ij,ak->kaji", delta_oo.aa, l1.bb) + rdm2_f_ovoo_aabb += einsum("ij,ak->kaji", delta_oo.bb, l1.aa) + rdm2_f_ovoo_bbbb -= einsum("ij,ak->jaki", delta_oo.bb, l1.bb) + rdm2_f_ovoo_bbbb += einsum("ij,ak->kaji", delta_oo.bb, l1.bb) + rdm2_f_oovo_bbbb -= einsum("ij,ka->jkai", delta_oo.bb, t1.bb) + rdm2_f_vooo_bbbb += einsum("ij,ka->akji", delta_oo.bb, t1.bb) + rdm2_f_ovov_aaaa = np.zeros((nocc[0], nvir[0], nocc[0], nvir[0]), dtype=types[float]) + rdm2_f_ovov_aaaa -= einsum("abij->jaib", l2.aaaa) + rdm2_f_ovov_aaaa += einsum("abij->jbia", l2.aaaa) + rdm2_f_ovov_bbbb = np.zeros((nocc[1], nvir[1], nocc[1], nvir[1]), dtype=types[float]) + rdm2_f_ovov_bbbb -= einsum("abij->jaib", l2.bbbb) + rdm2_f_ovov_bbbb += einsum("abij->jbia", l2.bbbb) + rdm2_f_ovov_bbaa = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + rdm2_f_ovov_bbaa += einsum("abij->jbia", l2.abab) + rdm2_f_ovov_aabb = np.zeros((nocc[0], nvir[0], nocc[1], nvir[1]), dtype=types[float]) + rdm2_f_ovov_aabb += einsum("abij->iajb", l2.abab) + rdm2_f_oovv_aaaa -= einsum("ai,jb->ijba", l1.aa, t1.aa) + rdm2_f_oovv_bbbb -= einsum("ai,jb->ijba", l1.bb, t1.bb) + rdm2_f_ovvo_aaaa += einsum("ai,jb->iabj", l1.aa, t1.aa) + rdm2_f_ovvo_aabb += einsum("ai,jb->iabj", l1.aa, t1.bb) + rdm2_f_ovvo_bbaa += einsum("ai,jb->iabj", l1.bb, t1.aa) + rdm2_f_ovvo_bbbb += einsum("ai,jb->iabj", l1.bb, t1.bb) + rdm2_f_voov_aaaa += einsum("ai,jb->bjia", l1.aa, t1.aa) + rdm2_f_voov_bbaa += einsum("ai,jb->bjia", l1.aa, t1.bb) + rdm2_f_voov_aabb += einsum("ai,jb->bjia", l1.bb, t1.aa) + rdm2_f_voov_bbbb += einsum("ai,jb->bjia", l1.bb, t1.bb) + rdm2_f_vvoo_aaaa -= einsum("ai,jb->baij", l1.aa, t1.aa) + rdm2_f_vvoo_bbbb -= einsum("ai,jb->baij", l1.bb, t1.bb) + rdm2_f_vovo_bbaa += einsum("ijab->bjai", t2.abab) + rdm2_f_vovo_aabb += einsum("ijab->aibj", t2.abab) + + rdm2_f_aaaa = pack_2e(rdm2_f_oooo_aaaa, rdm2_f_ooov_aaaa, rdm2_f_oovo_aaaa, rdm2_f_ovoo_aaaa, rdm2_f_vooo_aaaa, rdm2_f_oovv_aaaa, rdm2_f_ovov_aaaa, rdm2_f_ovvo_aaaa, rdm2_f_voov_aaaa, rdm2_f_vovo_aaaa, rdm2_f_vvoo_aaaa, rdm2_f_ovvv_aaaa, rdm2_f_vovv_aaaa, rdm2_f_vvov_aaaa, rdm2_f_vvvo_aaaa, rdm2_f_vvvv_aaaa) + rdm2_f_aabb = pack_2e(rdm2_f_oooo_aabb, rdm2_f_ooov_aabb, rdm2_f_oovo_aabb, rdm2_f_ovoo_aabb, rdm2_f_vooo_aabb, rdm2_f_oovv_aabb, rdm2_f_ovov_aabb, rdm2_f_ovvo_aabb, rdm2_f_voov_aabb, rdm2_f_vovo_aabb, rdm2_f_vvoo_aabb, rdm2_f_ovvv_aabb, rdm2_f_vovv_aabb, rdm2_f_vvov_aabb, rdm2_f_vvvo_aabb, rdm2_f_vvvv_aabb) + rdm2_f_bbaa = pack_2e(rdm2_f_oooo_bbaa, rdm2_f_ooov_bbaa, rdm2_f_oovo_bbaa, rdm2_f_ovoo_bbaa, rdm2_f_vooo_bbaa, rdm2_f_oovv_bbaa, rdm2_f_ovov_bbaa, rdm2_f_ovvo_bbaa, rdm2_f_voov_bbaa, rdm2_f_vovo_bbaa, rdm2_f_vvoo_bbaa, rdm2_f_ovvv_bbaa, rdm2_f_vovv_bbaa, rdm2_f_vvov_bbaa, rdm2_f_vvvo_bbaa, rdm2_f_vvvv_bbaa) + rdm2_f_bbbb = pack_2e(rdm2_f_oooo_bbbb, rdm2_f_ooov_bbbb, rdm2_f_oovo_bbbb, rdm2_f_ovoo_bbbb, rdm2_f_vooo_bbbb, rdm2_f_oovv_bbbb, rdm2_f_ovov_bbbb, rdm2_f_ovvo_bbbb, rdm2_f_voov_bbbb, rdm2_f_vovo_bbbb, rdm2_f_vvoo_bbbb, rdm2_f_ovvv_bbbb, rdm2_f_vovv_bbbb, rdm2_f_vvov_bbbb, rdm2_f_vvvo_bbbb, rdm2_f_vvvv_bbbb) + + rdm2_f.aaaa = rdm2_f_aaaa + rdm2_f.aabb = rdm2_f_aabb + rdm2_f.bbaa = rdm2_f_bbaa + rdm2_f.bbbb = rdm2_f_bbbb + + return rdm2_f + +def make_sing_b_dm(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, u11=None, l1=None, l2=None, ls1=None, lu11=None, **kwargs): + # Get boson coupling creation array: + gc = Namespace( + aa = Namespace( + boo=g.aa.boo.transpose(0, 2, 1), + bov=g.aa.bvo.transpose(0, 2, 1), + bvo=g.aa.bov.transpose(0, 2, 1), + bvv=g.aa.bvv.transpose(0, 2, 1), + ), + bb = Namespace( + boo=g.bb.boo.transpose(0, 2, 1), + bov=g.bb.bvo.transpose(0, 2, 1), + bvo=g.bb.bov.transpose(0, 2, 1), + bvv=g.bb.bvv.transpose(0, 2, 1), + ), + ) + + # Single boson DM + dm_b_cre = np.zeros((nbos), dtype=types[float]) + dm_b_cre += einsum("w->w", ls1) + dm_b_des = np.zeros((nbos), dtype=types[float]) + dm_b_des += einsum("w->w", s1) + dm_b_des += einsum("ai,wia->w", l1.aa, u11.aa) + dm_b_des += einsum("ai,wia->w", l1.bb, u11.bb) + + dm_b = np.array([dm_b_cre, dm_b_des]) + + return dm_b + +def make_rdm1_b(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, u11=None, l1=None, l2=None, ls1=None, lu11=None, **kwargs): + # Get boson coupling creation array: + gc = Namespace( + aa = Namespace( + boo=g.aa.boo.transpose(0, 2, 1), + bov=g.aa.bvo.transpose(0, 2, 1), + bvo=g.aa.bov.transpose(0, 2, 1), + bvv=g.aa.bvv.transpose(0, 2, 1), + ), + bb = Namespace( + boo=g.bb.boo.transpose(0, 2, 1), + bov=g.bb.bvo.transpose(0, 2, 1), + bvo=g.bb.bov.transpose(0, 2, 1), + bvv=g.bb.bvv.transpose(0, 2, 1), + ), + ) + + # Boson 1RDM + rdm1_b = np.zeros((nbos, nbos), dtype=types[float]) + rdm1_b += einsum("w,x->wx", ls1, s1) + rdm1_b += einsum("wai,xia->wx", lu11.aa, u11.aa) + rdm1_b += einsum("wai,xia->wx", lu11.bb, u11.bb) + + return rdm1_b + +def make_eb_coup_rdm(f=None, v=None, w=None, g=None, G=None, nocc=None, nvir=None, nbos=None, t1=None, t2=None, s1=None, u11=None, l1=None, l2=None, ls1=None, lu11=None, **kwargs): + rdm_eb = Namespace() + + # Get boson coupling creation array: + gc = Namespace( + aa = Namespace( + boo=g.aa.boo.transpose(0, 2, 1), + bov=g.aa.bvo.transpose(0, 2, 1), + bvo=g.aa.bov.transpose(0, 2, 1), + bvv=g.aa.bvv.transpose(0, 2, 1), + ), + bb = Namespace( + boo=g.bb.boo.transpose(0, 2, 1), + bov=g.bb.bvo.transpose(0, 2, 1), + bvo=g.bb.bov.transpose(0, 2, 1), + bvv=g.bb.bvv.transpose(0, 2, 1), + ), + ) + + delta_oo = Namespace() + delta_oo.aa = np.eye(nocc[0]) + delta_oo.bb = np.eye(nocc[1]) + delta_vv = Namespace() + delta_vv.aa = np.eye(nvir[0]) + delta_vv.bb = np.eye(nvir[1]) + + # Boson-fermion coupling RDM + x0 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) + x0 += einsum("ia,waj->wji", t1.aa, lu11.aa) + x48 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x48 += einsum("wia,wij->ja", u11.aa, x0) + rdm_eb_cre_oo_aa = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) + rdm_eb_cre_oo_aa -= einsum("wij->wji", x0) + rdm_eb_cre_ov_aa = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + rdm_eb_cre_ov_aa -= einsum("ia,wij->wja", t1.aa, x0) + del x0 + x1 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) + x1 += einsum("ia,waj->wji", t1.bb, lu11.bb) + x60 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x60 += einsum("wia,wij->ja", u11.bb, x1) + rdm_eb_cre_oo_bb = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) + rdm_eb_cre_oo_bb -= einsum("wij->wji", x1) + rdm_eb_cre_ov_bb = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + rdm_eb_cre_ov_bb -= einsum("ia,wij->wja", t1.bb, x1) + del x1 + x2 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x2 += einsum("ijab->jiab", t2.aaaa) + x2 -= einsum("ijab->jiba", t2.aaaa) + rdm_eb_cre_ov_aa -= einsum("wai,ijab->wjb", lu11.aa, x2) + x3 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x3 += einsum("ijab->jiab", t2.bbbb) + x3 -= einsum("ijab->jiba", t2.bbbb) + rdm_eb_cre_ov_bb -= einsum("wai,ijab->wjb", lu11.bb, x3) + x4 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) + x4 += einsum("ai,wja->wij", l1.aa, u11.aa) + x40 = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) + x40 += einsum("wij->wij", x4) + rdm_eb_des_oo_aa = np.zeros((nbos, nocc[0], nocc[0]), dtype=types[float]) + rdm_eb_des_oo_aa -= einsum("wij->wji", x4) + del x4 + x5 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x5 += einsum("wia,baji->wjb", u11.bb, l2.abab) + x8 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x8 += einsum("wia->wia", x5) + x31 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x31 += einsum("wia->wia", x5) + rdm_eb_des_vo_aa = np.zeros((nbos, nvir[0], nocc[0]), dtype=types[float]) + rdm_eb_des_vo_aa += einsum("wia->wai", x5) + del x5 + x6 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x6 += einsum("abij->jiab", l2.aaaa) + x6 += einsum("abij->jiba", l2.aaaa) * -1 + x7 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x7 += einsum("wia,ijab->wjb", u11.aa, x6) + x8 += einsum("wia->wia", x7) * -1 + del x7 + rdm_eb_des_oo_aa += einsum("ia,wja->wij", t1.aa, x8) * -1 + rdm_eb_des_vv_aa = np.zeros((nbos, nvir[0], nvir[0]), dtype=types[float]) + rdm_eb_des_vv_aa += einsum("ia,wib->wba", t1.aa, x8) + del x8 + x37 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x37 += einsum("ijab,ijac->bc", t2.aaaa, x6) + del x6 + x38 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x38 += einsum("ab->ba", x37) * -1 + x61 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x61 += einsum("ab->ba", x37) * -1 + del x37 + x9 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x9 += einsum("ai,ja->ij", l1.aa, t1.aa) + x14 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x14 += einsum("ij->ij", x9) + x39 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x39 += einsum("ij->ij", x9) + x47 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x47 += einsum("ij->ij", x9) + del x9 + x10 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x10 += einsum("wai,wja->ij", lu11.aa, u11.aa) + x14 += einsum("ij->ij", x10) + x39 += einsum("ij->ij", x10) + x47 += einsum("ij->ij", x10) + del x10 + x11 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x11 += einsum("abij,kjab->ik", l2.abab, t2.abab) + x14 += einsum("ij->ij", x11) + x39 += einsum("ij->ij", x11) + x47 += einsum("ij->ij", x11) + del x11 + x12 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x12 += einsum("ijab->jiab", t2.aaaa) * -1 + x12 += einsum("ijab->jiba", t2.aaaa) + x13 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x13 += einsum("abij,ikba->jk", l2.aaaa, x12) + x14 += einsum("ij->ij", x13) * -1 + x39 += einsum("ij->ij", x13) * -1 + del x13 + rdm_eb_des_ov_aa = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + rdm_eb_des_ov_aa += einsum("ij,wia->wja", x39, u11.aa) * -1 + del x39 + x47 += einsum("abij,ikba->jk", l2.aaaa, x12) * -1 + x48 += einsum("ia,ij->ja", t1.aa, x47) + del x47 + x48 += einsum("ai,ijab->jb", l1.aa, x12) * -1 + del x12 + x14 += einsum("ij->ji", delta_oo.aa) * -1 + rdm_eb_des_oo_aa += einsum("w,ij->wji", s1, x14) * -1 + del x14 + x15 = np.zeros((nbos), dtype=types[float]) + x15 += einsum("ai,wia->w", l1.aa, u11.aa) + x17 = np.zeros((nbos), dtype=types[float]) + x17 += einsum("w->w", x15) + del x15 + x16 = np.zeros((nbos), dtype=types[float]) + x16 += einsum("ai,wia->w", l1.bb, u11.bb) + x17 += einsum("w->w", x16) + del x16 + rdm_eb_des_oo_aa += einsum("w,ij->wji", x17, delta_oo.aa) + rdm_eb_des_oo_bb = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) + rdm_eb_des_oo_bb += einsum("w,ij->wji", x17, delta_oo.bb) + rdm_eb_des_ov_aa += einsum("w,ia->wia", x17, t1.aa) + rdm_eb_des_ov_bb = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + rdm_eb_des_ov_bb += einsum("w,ia->wia", x17, t1.bb) + del x17 + x18 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) + x18 += einsum("ai,wja->wij", l1.bb, u11.bb) + x54 = np.zeros((nbos, nocc[1], nocc[1]), dtype=types[float]) + x54 += einsum("wij->wij", x18) + rdm_eb_des_oo_bb -= einsum("wij->wji", x18) + del x18 + x19 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x19 += einsum("wia,abij->wjb", u11.aa, l2.abab) + x22 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x22 += einsum("wia->wia", x19) + x34 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x34 += einsum("wia->wia", x19) + rdm_eb_des_vo_bb = np.zeros((nbos, nvir[1], nocc[1]), dtype=types[float]) + rdm_eb_des_vo_bb += einsum("wia->wai", x19) + del x19 + x20 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x20 += einsum("abij->jiab", l2.bbbb) + x20 += einsum("abij->jiba", l2.bbbb) * -1 + x21 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x21 += einsum("wia,ijab->wjb", u11.bb, x20) + x22 += einsum("wia->wia", x21) * -1 + del x21 + rdm_eb_des_oo_bb += einsum("ia,wja->wij", t1.bb, x22) * -1 + rdm_eb_des_vv_bb = np.zeros((nbos, nvir[1], nvir[1]), dtype=types[float]) + rdm_eb_des_vv_bb += einsum("ia,wib->wba", t1.bb, x22) + del x22 + x51 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x51 += einsum("ijab,ijcb->ac", t2.bbbb, x20) + del x20 + x52 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x52 += einsum("ab->ba", x51) * -1 + x62 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x62 += einsum("ab->ba", x51) * -1 + del x51 + x23 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x23 += einsum("ai,ja->ij", l1.bb, t1.bb) + x28 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x28 += einsum("ij->ij", x23) + x53 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x53 += einsum("ij->ij", x23) + x59 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x59 += einsum("ij->ij", x23) + del x23 + x24 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x24 += einsum("wai,wja->ij", lu11.bb, u11.bb) + x28 += einsum("ij->ij", x24) + x53 += einsum("ij->ij", x24) + x59 += einsum("ij->ij", x24) + del x24 + x25 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x25 += einsum("abij,ikab->jk", l2.abab, t2.abab) + x28 += einsum("ij->ij", x25) + x53 += einsum("ij->ij", x25) + x59 += einsum("ij->ij", x25) + del x25 + x26 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x26 += einsum("ijab->jiab", t2.bbbb) + x26 += einsum("ijab->jiba", t2.bbbb) * -1 + x27 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x27 += einsum("abij,ikab->jk", l2.bbbb, x26) + x28 += einsum("ij->ij", x27) * -1 + x53 += einsum("ij->ij", x27) * -1 + del x27 + rdm_eb_des_ov_bb += einsum("ij,wia->wja", x53, u11.bb) * -1 + del x53 + x59 += einsum("abij,ikab->jk", l2.bbbb, x26) * -1 + del x26 + x60 += einsum("ia,ij->ja", t1.bb, x59) + del x59 + x28 += einsum("ij->ji", delta_oo.bb) * -1 + rdm_eb_des_oo_bb += einsum("w,ij->wji", s1, x28) * -1 + del x28 + x29 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x29 += einsum("abij->jiab", l2.aaaa) + x29 -= einsum("abij->jiba", l2.aaaa) + x30 = np.zeros((nbos, nocc[0], nvir[0]), dtype=types[float]) + x30 += einsum("wia,ijab->wjb", u11.aa, x29) + del x29 + x31 -= einsum("wia->wia", x30) + x40 += einsum("ia,wja->wji", t1.aa, x31) + rdm_eb_des_ov_aa -= einsum("ia,wij->wja", t1.aa, x40) + del x40 + rdm_eb_des_ov_aa -= einsum("wia,ijab->wjb", x31, x2) + del x2 + rdm_eb_des_ov_bb += einsum("wia,ijab->wjb", x31, t2.abab) + del x31 + rdm_eb_des_vo_aa -= einsum("wia->wai", x30) + del x30 + x32 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x32 += einsum("abij->jiab", l2.bbbb) + x32 -= einsum("abij->jiba", l2.bbbb) + x33 = np.zeros((nbos, nocc[1], nvir[1]), dtype=types[float]) + x33 += einsum("wia,ijab->wjb", u11.bb, x32) + del x32 + x34 -= einsum("wia->wia", x33) + x54 += einsum("ia,wja->wji", t1.bb, x34) + rdm_eb_des_ov_bb -= einsum("ia,wij->wja", t1.bb, x54) + del x54 + rdm_eb_des_ov_aa += einsum("wia,jiba->wjb", x34, t2.abab) + rdm_eb_des_ov_bb -= einsum("wia,ijab->wjb", x34, x3) + del x34 + del x3 + rdm_eb_des_vo_bb -= einsum("wia->wai", x33) + del x33 + x35 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x35 += einsum("wai,wib->ab", lu11.aa, u11.aa) + x38 += einsum("ab->ab", x35) + x61 += einsum("ab->ab", x35) + del x35 + x36 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x36 += einsum("abij,ijcb->ac", l2.abab, t2.abab) + x38 += einsum("ab->ab", x36) + rdm_eb_des_ov_aa += einsum("ab,wia->wib", x38, u11.aa) * -1 + del x38 + x61 += einsum("ab->ab", x36) + del x36 + x41 = np.zeros((nbos, nbos), dtype=types[float]) + x41 += einsum("wai,xia->wx", lu11.aa, u11.aa) + x43 = np.zeros((nbos, nbos), dtype=types[float]) + x43 += einsum("wx->wx", x41) + del x41 + x42 = np.zeros((nbos, nbos), dtype=types[float]) + x42 += einsum("wai,xia->wx", lu11.bb, u11.bb) + x43 += einsum("wx->wx", x42) + del x42 + rdm_eb_des_ov_aa += einsum("wx,wia->xia", x43, u11.aa) + rdm_eb_des_ov_bb += einsum("wx,wia->xia", x43, u11.bb) + del x43 + x44 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x44 += einsum("ia,abjk->jikb", t1.aa, l2.abab) + x48 += einsum("ijab,ikjb->ka", t2.abab, x44) + del x44 + x45 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x45 += einsum("ia,bajk->jkib", t1.aa, l2.aaaa) + x46 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x46 += einsum("ijka->ijka", x45) + x46 += einsum("ijka->jika", x45) * -1 + del x45 + x48 += einsum("ijab,jika->kb", t2.aaaa, x46) * -1 + del x46 + x48 += einsum("ia->ia", t1.aa) * -1 + x48 += einsum("w,wia->ia", ls1, u11.aa) * -1 + x48 += einsum("ai,jiba->jb", l1.bb, t2.abab) * -1 + rdm_eb_des_ov_aa += einsum("w,ia->wia", s1, x48) * -1 + del x48 + x49 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x49 += einsum("wai,wib->ab", lu11.bb, u11.bb) + x52 += einsum("ab->ab", x49) + x62 += einsum("ab->ab", x49) + del x49 + x50 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x50 += einsum("abij,ijac->bc", l2.abab, t2.abab) + x52 += einsum("ab->ab", x50) + rdm_eb_des_ov_bb += einsum("ab,wia->wib", x52, u11.bb) * -1 + del x52 + x62 += einsum("ab->ab", x50) + del x50 + x55 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x55 += einsum("ia,bajk->jkib", t1.bb, l2.abab) + x60 += einsum("ijab,ijka->kb", t2.abab, x55) + del x55 + x56 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x56 += einsum("ia,bajk->jkib", t1.bb, l2.bbbb) + x57 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x57 += einsum("ijka->ijka", x56) + x57 += einsum("ijka->jika", x56) * -1 + del x56 + x60 += einsum("ijab,ijkb->ka", t2.bbbb, x57) * -1 + del x57 + x58 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x58 += einsum("ijab->jiab", t2.bbbb) * -1 + x58 += einsum("ijab->jiba", t2.bbbb) + x60 += einsum("ai,ijab->jb", l1.bb, x58) * -1 + del x58 + x60 += einsum("ia->ia", t1.bb) * -1 + x60 += einsum("w,wia->ia", ls1, u11.bb) * -1 + x60 += einsum("ai,ijab->jb", l1.aa, t2.abab) * -1 + rdm_eb_des_ov_bb += einsum("w,ia->wia", s1, x60) * -1 + del x60 + x61 += einsum("ai,ib->ab", l1.aa, t1.aa) + rdm_eb_des_vv_aa += einsum("w,ab->wab", s1, x61) + del x61 + x62 += einsum("ai,ib->ab", l1.bb, t1.bb) + rdm_eb_des_vv_bb += einsum("w,ab->wab", s1, x62) + del x62 + rdm_eb_cre_oo_aa += einsum("w,ij->wji", ls1, delta_oo.aa) + rdm_eb_cre_oo_bb += einsum("w,ij->wji", ls1, delta_oo.bb) + rdm_eb_cre_ov_aa += einsum("w,ia->wia", ls1, t1.aa) + rdm_eb_cre_ov_aa += einsum("wai,jiba->wjb", lu11.bb, t2.abab) + rdm_eb_cre_ov_bb += einsum("w,ia->wia", ls1, t1.bb) + rdm_eb_cre_ov_bb += einsum("wai,ijab->wjb", lu11.aa, t2.abab) + rdm_eb_cre_vo_aa = np.zeros((nbos, nvir[0], nocc[0]), dtype=types[float]) + rdm_eb_cre_vo_aa += einsum("wai->wai", lu11.aa) + rdm_eb_cre_vo_bb = np.zeros((nbos, nvir[1], nocc[1]), dtype=types[float]) + rdm_eb_cre_vo_bb += einsum("wai->wai", lu11.bb) + rdm_eb_cre_vv_aa = np.zeros((nbos, nvir[0], nvir[0]), dtype=types[float]) + rdm_eb_cre_vv_aa += einsum("ia,wbi->wba", t1.aa, lu11.aa) + rdm_eb_cre_vv_bb = np.zeros((nbos, nvir[1], nvir[1]), dtype=types[float]) + rdm_eb_cre_vv_bb += einsum("ia,wbi->wba", t1.bb, lu11.bb) + rdm_eb_des_ov_aa += einsum("wia->wia", u11.aa) + rdm_eb_des_ov_bb += einsum("wia->wia", u11.bb) + rdm_eb_des_vo_aa += einsum("w,ai->wai", s1, l1.aa) + rdm_eb_des_vo_bb += einsum("w,ai->wai", s1, l1.bb) + rdm_eb_des_vv_aa += einsum("ai,wib->wab", l1.aa, u11.aa) + rdm_eb_des_vv_bb += einsum("ai,wib->wab", l1.bb, u11.bb) + + rdm_eb_aa = np.array([ + np.block([[rdm_eb_cre_oo_aa, rdm_eb_cre_ov_aa], [rdm_eb_cre_vo_aa, rdm_eb_cre_vv_aa]]), + np.block([[rdm_eb_des_oo_aa, rdm_eb_des_ov_aa], [rdm_eb_des_vo_aa, rdm_eb_des_vv_aa]]), + ]) + rdm_eb_bb = np.array([ + np.block([[rdm_eb_cre_oo_bb, rdm_eb_cre_ov_bb], [rdm_eb_cre_vo_bb, rdm_eb_cre_vv_bb]]), + np.block([[rdm_eb_des_oo_bb, rdm_eb_des_ov_bb], [rdm_eb_des_vo_bb, rdm_eb_des_vv_bb]]), + ]) + + rdm_eb.aa = rdm_eb_aa + rdm_eb.bb = rdm_eb_bb + + return rdm_eb + From f22190bfee63b3120e6b6ba12dee38d1d5d5f4ad Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Sat, 27 Jul 2024 17:03:22 +0100 Subject: [PATCH 048/168] Add CCSDxTx files for now until i fix it --- ebcc/codegen/GCCSDxTx.py | 235 ++++++ ebcc/codegen/RCCSDxTx.py | 418 ++++++++++ ebcc/codegen/UCCSDxTx.py | 1029 +++++++++++++++++++++++++ ebcc/codegen/new_bootstrap_CCSDxTx.py | 401 ++++++++++ 4 files changed, 2083 insertions(+) create mode 100644 ebcc/codegen/GCCSDxTx.py create mode 100644 ebcc/codegen/RCCSDxTx.py create mode 100644 ebcc/codegen/UCCSDxTx.py create mode 100644 ebcc/codegen/new_bootstrap_CCSDxTx.py diff --git a/ebcc/codegen/GCCSDxTx.py b/ebcc/codegen/GCCSDxTx.py new file mode 100644 index 00000000..e9d9393b --- /dev/null +++ b/ebcc/codegen/GCCSDxTx.py @@ -0,0 +1,235 @@ +# Code generated for ebcc. + +from ebcc import numpy as np +from ebcc.util import pack_2e, einsum, direct_sum, Namespace +from ebcc.precision import types + +def energy(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, **kwargs): + # energy + e_cc = 0 + e_cc += einsum(f.ov, (0, 1), t1, (0, 1), ()) + x0 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x0 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) + x0 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) * 2.0 + e_cc += einsum(v.oovv, (0, 1, 2, 3), x0, (0, 1, 2, 3), ()) * 0.25 + del x0 + + return e_cc + +def update_amps(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, **kwargs): + # T amplitudes + t1new = np.zeros((nocc, nvir), dtype=types[float]) + t1new += einsum(f.vv, (0, 1), t1, (2, 1), (2, 0)) + t1new += einsum(f.ov, (0, 1), (0, 1)) + t1new += einsum(t1, (0, 1), v.ovov, (2, 1, 0, 3), (2, 3)) * -1.0 + t2new = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + t2new += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) + x0 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x0 += einsum(t1, (0, 1), v.oovv, (2, 3, 4, 1), (0, 2, 3, 4)) + x1 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x1 += einsum(v.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 + x1 += einsum(x0, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + t1new += einsum(t2, (0, 1, 2, 3), x1, (4, 0, 1, 3), (4, 2)) * 0.5 + del x1 + x2 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x2 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) + x2 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) * 2.0 + t1new += einsum(v.ovvv, (0, 1, 2, 3), x2, (0, 4, 2, 3), (4, 1)) * 0.5 + t2new += einsum(v.vvvv, (0, 1, 2, 3), x2, (4, 5, 2, 3), (5, 4, 0, 1)) * -0.5 + x3 = np.zeros((nocc, nvir), dtype=types[float]) + x3 += einsum(t1, (0, 1), v.oovv, (2, 0, 3, 1), (2, 3)) + x4 = np.zeros((nocc, nvir), dtype=types[float]) + x4 += einsum(f.ov, (0, 1), (0, 1)) + x4 += einsum(x3, (0, 1), (0, 1)) + del x3 + t1new += einsum(x4, (0, 1), t2, (2, 0, 3, 1), (2, 3)) + x5 = np.zeros((nocc, nocc), dtype=types[float]) + x5 += einsum(t1, (0, 1), v.ooov, (2, 0, 3, 1), (2, 3)) + x6 = np.zeros((nocc, nocc), dtype=types[float]) + x6 += einsum(f.oo, (0, 1), (0, 1)) * 2.0 + x6 += einsum(f.ov, (0, 1), t1, (2, 1), (0, 2)) * 2.0 + x6 += einsum(x5, (0, 1), (0, 1)) * 2.0 + x6 += einsum(v.oovv, (0, 1, 2, 3), x2, (1, 4, 2, 3), (0, 4)) * -1.0 + t1new += einsum(t1, (0, 1), x6, (0, 2), (2, 1)) * -0.5 + del x6 + x7 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x7 += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 3, 1, 5), (0, 4, 2, 5)) + x8 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x8 += einsum(t1, (0, 1), v.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) + x9 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x9 += einsum(t2, (0, 1, 2, 3), x8, (4, 1, 5, 3), (4, 0, 2, 5)) * -1.0 + del x8 + x10 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x10 += einsum(t1, (0, 1), v.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) + x11 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x11 += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 1, 5, 3), (0, 4, 5, 2)) + x12 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x12 += einsum(t2, (0, 1, 2, 3), x0, (4, 1, 5, 3), (4, 0, 5, 2)) + del x0 + x13 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x13 += einsum(x10, (0, 1, 2, 3), (0, 1, 2, 3)) + del x10 + x13 += einsum(x11, (0, 1, 2, 3), (0, 1, 2, 3)) + del x11 + x13 += einsum(x12, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + del x12 + x14 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x14 += einsum(t1, (0, 1), x13, (2, 0, 3, 4), (2, 3, 4, 1)) + del x13 + x15 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x15 += einsum(x7, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x7 + x15 += einsum(x9, (0, 1, 2, 3), (0, 1, 2, 3)) + del x9 + x15 += einsum(x14, (0, 1, 2, 3), (0, 1, 3, 2)) + del x14 + t2new += einsum(x15, (0, 1, 2, 3), (0, 1, 2, 3)) + t2new += einsum(x15, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + t2new += einsum(x15, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + t2new += einsum(x15, (0, 1, 2, 3), (1, 0, 3, 2)) + del x15 + x16 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x16 += einsum(t1, (0, 1), v.ovvv, (2, 1, 3, 4), (0, 2, 3, 4)) + x17 = np.zeros((nocc, nocc), dtype=types[float]) + x17 += einsum(t1, (0, 1), x4, (2, 1), (0, 2)) + x18 = np.zeros((nocc, nocc), dtype=types[float]) + x18 += einsum(f.oo, (0, 1), (0, 1)) + x18 += einsum(x17, (0, 1), (0, 1)) + del x17 + x19 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x19 += einsum(x18, (0, 1), t2, (2, 1, 3, 4), (0, 2, 3, 4)) * -1.0 + del x18 + x20 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x20 += einsum(t1, (0, 1), v.ooov, (2, 3, 4, 1), (0, 2, 3, 4)) + x21 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x21 += einsum(x2, (0, 1, 2, 3), x20, (4, 0, 1, 5), (4, 5, 2, 3)) * 0.5 + del x20 + x22 = np.zeros((nocc, nocc), dtype=types[float]) + x22 += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 2, 3), (0, 4)) + x23 = np.zeros((nocc, nocc), dtype=types[float]) + x23 += einsum(x5, (0, 1), (0, 1)) + del x5 + x23 += einsum(x22, (0, 1), (1, 0)) * 0.5 + del x22 + x24 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x24 += einsum(x23, (0, 1), t2, (2, 0, 3, 4), (1, 2, 3, 4)) * -1.0 + del x23 + x25 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x25 += einsum(x16, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x16 + x25 += einsum(x19, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x19 + x25 += einsum(x21, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x21 + x25 += einsum(x24, (0, 1, 2, 3), (1, 0, 3, 2)) + del x24 + t2new += einsum(x25, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + t2new += einsum(x25, (0, 1, 2, 3), (1, 0, 2, 3)) + del x25 + x26 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x26 += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 3), (0, 4, 2, 5)) + x27 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x27 += einsum(t2, (0, 1, 2, 3), x26, (4, 1, 5, 3), (4, 0, 5, 2)) + del x26 + x28 = np.zeros((nvir, nvir), dtype=types[float]) + x28 += einsum(t1, (0, 1), v.ovvv, (0, 2, 3, 1), (2, 3)) + x29 = np.zeros((nvir, nvir), dtype=types[float]) + x29 += einsum(t2, (0, 1, 2, 3), v.oovv, (0, 1, 4, 3), (2, 4)) + x30 = np.zeros((nvir, nvir), dtype=types[float]) + x30 += einsum(x28, (0, 1), (0, 1)) + del x28 + x30 += einsum(x29, (0, 1), (0, 1)) * 0.5 + del x29 + x31 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x31 += einsum(x30, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4)) * -1.0 + del x30 + x32 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x32 += einsum(v.ovvv, (0, 1, 2, 3), x2, (4, 5, 2, 3), (0, 4, 5, 1)) * 0.5 + x33 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x33 += einsum(x4, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4)) * -1.0 + del x4 + x34 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x34 += einsum(x32, (0, 1, 2, 3), (0, 2, 1, 3)) + del x32 + x34 += einsum(x33, (0, 1, 2, 3), (2, 1, 0, 3)) + del x33 + x35 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x35 += einsum(t1, (0, 1), x34, (0, 2, 3, 4), (2, 3, 4, 1)) + del x34 + x36 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x36 += einsum(x27, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x27 + x36 += einsum(x31, (0, 1, 2, 3), (1, 0, 3, 2)) + del x31 + x36 += einsum(x35, (0, 1, 2, 3), (1, 0, 3, 2)) + del x35 + t2new += einsum(x36, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + t2new += einsum(x36, (0, 1, 2, 3), (0, 1, 3, 2)) + del x36 + x37 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x37 += einsum(t1, (0, 1), v.ooov, (2, 3, 0, 4), (2, 3, 1, 4)) + x38 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x38 += einsum(f.vv, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4)) + x39 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x39 += einsum(x37, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x37 + x39 += einsum(x38, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x38 + t2new += einsum(x39, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + t2new += einsum(x39, (0, 1, 2, 3), (0, 1, 3, 2)) + del x39 + x40 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x40 += einsum(v.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) + x40 += einsum(v.oovv, (0, 1, 2, 3), x2, (4, 5, 2, 3), (0, 1, 5, 4)) * -0.5 + t2new += einsum(x2, (0, 1, 2, 3), x40, (0, 1, 4, 5), (4, 5, 3, 2)) * -0.5 + del x2, x40 + + return {"t1new": t1new, "t2new": t2new} + +def energy_perturbative(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, l1=None, l2=None, **kwargs): + # T3 amplitude + x0 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x0 += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 1, 6), (0, 4, 5, 2, 3, 6)) + t3 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + t3 += einsum(x0, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -1.0 + t3 += einsum(x0, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) + t3 += einsum(x0, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -1.0 + t3 += einsum(x0, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 + t3 += einsum(x0, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) + t3 += einsum(x0, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -1.0 + t3 += einsum(x0, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) + t3 += einsum(x0, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 + t3 += einsum(x0, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) + del x0 + x1 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x1 += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 3, 5, 6), (0, 1, 4, 2, 5, 6)) + t3 += einsum(x1, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) + t3 += einsum(x1, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -1.0 + t3 += einsum(x1, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) + t3 += einsum(x1, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + t3 += einsum(x1, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) + t3 += einsum(x1, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -1.0 + t3 += einsum(x1, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -1.0 + t3 += einsum(x1, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) + t3 += einsum(x1, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -1.0 + del x1 + e_ia = direct_sum("i-a->ia", np.diag(f.oo), np.diag(f.vv)) + t3 /= direct_sum("ia+jb+kc->ijkabc", e_ia, e_ia, e_ia) + + # energy + x0 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x0 += einsum(l2, (0, 1, 2, 3), t3, (4, 5, 3, 6, 0, 1), (2, 4, 5, 6)) + e_pert = 0 + e_pert += einsum(v.ooov, (0, 1, 2, 3), x0, (2, 0, 1, 3), ()) * 0.25 + del x0 + x1 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x1 += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 0, 6, 2, 3), (4, 5, 6, 1)) + e_pert += einsum(l2, (0, 1, 2, 3), x1, (3, 2, 1, 0), ()) * -0.25 + del x1 + x2 = np.zeros((nocc, nvir), dtype=types[float]) + x2 += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 0, 1, 5, 2, 3), (4, 5)) + e_pert += einsum(l1, (0, 1), x2, (1, 0), ()) * 0.25 + del x2 + + return e_pert + diff --git a/ebcc/codegen/RCCSDxTx.py b/ebcc/codegen/RCCSDxTx.py new file mode 100644 index 00000000..f619c9c8 --- /dev/null +++ b/ebcc/codegen/RCCSDxTx.py @@ -0,0 +1,418 @@ +# Code generated for ebcc. + +from ebcc import numpy as np +from ebcc.util import pack_2e, einsum, direct_sum, Namespace +from ebcc.precision import types + +def energy(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, **kwargs): + # energy + x0 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x0 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -0.5 + x0 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + e_cc = 0 + e_cc += einsum(t2, (0, 1, 2, 3), x0, (0, 1, 2, 3), ()) * 2.0 + del x0 + x1 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x1 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) + x1 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 + x2 = np.zeros((nocc, nvir), dtype=types[float]) + x2 += einsum(f.ov, (0, 1), (0, 1)) + x2 += einsum(t1, (0, 1), x1, (0, 2, 3, 1), (2, 3)) + del x1 + e_cc += einsum(t1, (0, 1), x2, (0, 1), ()) * 2.0 + del x2 + + return e_cc + +def update_amps(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, **kwargs): + # T amplitudes + t1new = np.zeros((nocc, nvir), dtype=types[float]) + t1new += einsum(f.ov, (0, 1), (0, 1)) + t2new = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + t2new += einsum(t2, (0, 1, 2, 3), v.vvvv, (4, 2, 5, 3), (0, 1, 4, 5)) + t2new += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + t2new += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 5, 1, 3), (0, 4, 2, 5)) * 2.0 + t2new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 2), (0, 4, 5, 3)) * -1.0 + t2new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 3), (0, 4, 2, 5)) * -1.0 + t2new += einsum(t1, (0, 1), v.ooov, (2, 0, 3, 4), (3, 2, 4, 1)) * -1.0 + x0 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x0 += einsum(v.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 + x0 += einsum(v.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) + t1new += einsum(t2, (0, 1, 2, 3), x0, (1, 2, 3, 4), (0, 4)) * 2.0 + x1 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x1 += einsum(t1, (0, 1), v.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) + x2 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x2 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x2 += einsum(v.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * 2.0 + x2 += einsum(x1, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x2 += einsum(x1, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + t1new += einsum(t2, (0, 1, 2, 3), x2, (4, 0, 1, 2), (4, 3)) * -1.0 + del x2 + x3 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x3 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) + x3 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 + x4 = np.zeros((nocc, nvir), dtype=types[float]) + x4 += einsum(t1, (0, 1), x3, (0, 2, 3, 1), (2, 3)) * 2.0 + x5 = np.zeros((nocc, nvir), dtype=types[float]) + x5 += einsum(f.ov, (0, 1), (0, 1)) + x5 += einsum(x4, (0, 1), (0, 1)) + del x4 + x6 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x6 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 + x6 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + t1new += einsum(x5, (0, 1), x6, (0, 2, 3, 1), (2, 3)) + del x6 + x7 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x7 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + x7 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 + t1new += einsum(t1, (0, 1), x7, (0, 2, 1, 3), (2, 3)) * 2.0 + del x7 + x8 = np.zeros((nvir, nvir), dtype=types[float]) + x8 += einsum(f.vv, (0, 1), (0, 1)) + x8 += einsum(t1, (0, 1), x0, (0, 2, 1, 3), (2, 3)) * 2.0 + del x0 + t1new += einsum(t1, (0, 1), x8, (1, 2), (0, 2)) + del x8 + x9 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x9 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -0.5 + x9 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + x10 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x10 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) + x10 += einsum(v.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 + x11 = np.zeros((nocc, nocc), dtype=types[float]) + x11 += einsum(t1, (0, 1), x5, (2, 1), (2, 0)) + del x5 + x12 = np.zeros((nocc, nocc), dtype=types[float]) + x12 += einsum(f.oo, (0, 1), (0, 1)) + x12 += einsum(t2, (0, 1, 2, 3), x9, (1, 4, 3, 2), (4, 0)) * 2.0 + x12 += einsum(t1, (0, 1), x10, (2, 3, 0, 1), (3, 2)) * 2.0 + x12 += einsum(x11, (0, 1), (0, 1)) + t1new += einsum(t1, (0, 1), x12, (0, 2), (2, 1)) * -1.0 + del x12 + x13 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x13 += einsum(t1, (0, 1), v.vvvv, (2, 3, 4, 1), (0, 2, 3, 4)) + t2new += einsum(t1, (0, 1), x13, (2, 3, 1, 4), (0, 2, 3, 4)) + del x13 + x14 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x14 += einsum(t1, (0, 1), x1, (2, 3, 4, 1), (2, 0, 4, 3)) + t2new += einsum(t2, (0, 1, 2, 3), x14, (4, 5, 0, 1), (5, 4, 3, 2)) + x15 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x15 += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 5, 1, 2), (0, 4, 3, 5)) + t2new += einsum(x15, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x16 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x16 += einsum(t1, (0, 1), v.ovvv, (2, 1, 3, 4), (0, 2, 3, 4)) + x17 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x17 += einsum(t2, (0, 1, 2, 3), x16, (4, 1, 5, 2), (4, 0, 3, 5)) + x18 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x18 += einsum(t1, (0, 1), x1, (2, 3, 0, 4), (2, 3, 1, 4)) + x19 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x19 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * 2.0 + x19 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x20 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x20 += einsum(t2, (0, 1, 2, 3), x19, (1, 4, 5, 3), (4, 0, 5, 2)) * 0.5 + del x19 + x21 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x21 += einsum(x18, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 + del x18 + x21 += einsum(x20, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x20 + x22 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x22 += einsum(t2, (0, 1, 2, 3), x21, (4, 1, 5, 2), (4, 0, 5, 3)) * 2.0 + del x21 + x23 = np.zeros((nvir, nvir), dtype=types[float]) + x23 += einsum(t2, (0, 1, 2, 3), x3, (0, 1, 4, 2), (4, 3)) * 2.0 + x24 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x24 += einsum(v.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x24 += einsum(v.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) * 2.0 + x25 = np.zeros((nvir, nvir), dtype=types[float]) + x25 += einsum(t1, (0, 1), x24, (0, 2, 1, 3), (2, 3)) + del x24 + x26 = np.zeros((nvir, nvir), dtype=types[float]) + x26 += einsum(x23, (0, 1), (0, 1)) + del x23 + x26 += einsum(x25, (0, 1), (0, 1)) * -1.0 + del x25 + x27 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x27 += einsum(x26, (0, 1), t2, (2, 3, 0, 4), (2, 3, 1, 4)) + del x26 + x28 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x28 += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 1, 5, 2), (0, 4, 5, 3)) + x29 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x29 += einsum(x1, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 + x29 += einsum(x1, (0, 1, 2, 3), (0, 2, 1, 3)) + x30 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x30 += einsum(t2, (0, 1, 2, 3), x29, (4, 5, 1, 3), (4, 5, 0, 2)) * 2.0 + del x29 + x31 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x31 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) + x31 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) + x32 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x32 += einsum(v.ovvv, (0, 1, 2, 3), x31, (4, 5, 3, 1), (0, 4, 5, 2)) + x33 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x33 += einsum(x1, (0, 1, 2, 3), (0, 1, 2, 3)) + x33 += einsum(x28, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x28 + x33 += einsum(x30, (0, 1, 2, 3), (0, 2, 1, 3)) + del x30 + x33 += einsum(x32, (0, 1, 2, 3), (2, 1, 0, 3)) + del x32 + x34 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x34 += einsum(t1, (0, 1), x33, (2, 3, 0, 4), (2, 3, 4, 1)) + del x33 + x35 = np.zeros((nocc, nocc), dtype=types[float]) + x35 += einsum(t2, (0, 1, 2, 3), x9, (1, 4, 3, 2), (4, 0)) + del x9 + x36 = np.zeros((nocc, nocc), dtype=types[float]) + x36 += einsum(t1, (0, 1), x10, (2, 3, 0, 1), (2, 3)) + del x10 + x37 = np.zeros((nocc, nocc), dtype=types[float]) + x37 += einsum(x35, (0, 1), (0, 1)) + del x35 + x37 += einsum(x36, (0, 1), (1, 0)) + del x36 + x38 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x38 += einsum(x37, (0, 1), t2, (2, 0, 3, 4), (1, 2, 4, 3)) * 2.0 + del x37 + x39 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x39 += einsum(x17, (0, 1, 2, 3), (0, 1, 2, 3)) + del x17 + x39 += einsum(x22, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x22 + x39 += einsum(x27, (0, 1, 2, 3), (1, 0, 3, 2)) + del x27 + x39 += einsum(x34, (0, 1, 2, 3), (0, 1, 3, 2)) + del x34 + x39 += einsum(x38, (0, 1, 2, 3), (1, 0, 3, 2)) + del x38 + t2new += einsum(x39, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + t2new += einsum(x39, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x39 + x40 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x40 += einsum(f.vv, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4)) + x41 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x41 += einsum(t1, (0, 1), v.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) + x42 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x42 += einsum(t1, (0, 1), v.ooov, (2, 3, 4, 1), (0, 2, 3, 4)) + x43 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x43 += einsum(t2, (0, 1, 2, 3), x42, (4, 5, 0, 1), (4, 5, 2, 3)) + del x42 + x44 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x44 += einsum(t2, (0, 1, 2, 3), x16, (4, 1, 5, 3), (4, 0, 2, 5)) + del x16 + x45 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x45 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) + x45 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 + x46 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x46 += einsum(x41, (0, 1, 2, 3), x45, (1, 4, 5, 2), (4, 0, 5, 3)) * 2.0 + del x45 + x47 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x47 += einsum(t1, (0, 1), v.oovv, (2, 3, 4, 1), (0, 2, 3, 4)) + x48 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x48 += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 1, 5, 3), (0, 4, 5, 2)) + x49 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x49 += einsum(t2, (0, 1, 2, 3), x1, (4, 5, 1, 2), (4, 0, 5, 3)) + del x1 + x50 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x50 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) * 0.5 + x50 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + x50 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 + x51 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x51 += einsum(v.ooov, (0, 1, 2, 3), x50, (2, 4, 5, 3), (0, 1, 4, 5)) * 2.0 + del x50 + x52 = np.zeros((nocc, nvir), dtype=types[float]) + x52 += einsum(t1, (0, 1), x3, (0, 2, 3, 1), (2, 3)) + x53 = np.zeros((nocc, nvir), dtype=types[float]) + x53 += einsum(f.ov, (0, 1), (0, 1)) * 0.5 + x53 += einsum(x52, (0, 1), (0, 1)) + del x52 + x54 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x54 += einsum(x53, (0, 1), t2, (2, 3, 1, 4), (0, 2, 3, 4)) * 2.0 + del x53 + x55 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x55 += einsum(x47, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 + del x47 + x55 += einsum(x48, (0, 1, 2, 3), (2, 0, 1, 3)) + del x48 + x55 += einsum(x49, (0, 1, 2, 3), (2, 0, 1, 3)) + del x49 + x55 += einsum(x51, (0, 1, 2, 3), (1, 2, 0, 3)) + del x51 + x55 += einsum(x54, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + del x54 + x56 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x56 += einsum(t1, (0, 1), x55, (0, 2, 3, 4), (2, 3, 4, 1)) + del x55 + x57 = np.zeros((nocc, nocc), dtype=types[float]) + x57 += einsum(f.oo, (0, 1), (0, 1)) + x57 += einsum(x11, (0, 1), (1, 0)) + del x11 + x58 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x58 += einsum(x57, (0, 1), t2, (2, 1, 3, 4), (0, 2, 4, 3)) + del x57 + x59 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x59 += einsum(x40, (0, 1, 2, 3), (0, 1, 2, 3)) + del x40 + x59 += einsum(x41, (0, 1, 2, 3), (0, 1, 2, 3)) + del x41 + x59 += einsum(x43, (0, 1, 2, 3), (0, 1, 2, 3)) + del x43 + x59 += einsum(x44, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x44 + x59 += einsum(x46, (0, 1, 2, 3), (1, 0, 2, 3)) + del x46 + x59 += einsum(x56, (0, 1, 2, 3), (0, 1, 3, 2)) + del x56 + x59 += einsum(x58, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x58 + t2new += einsum(x59, (0, 1, 2, 3), (0, 1, 3, 2)) + t2new += einsum(x59, (0, 1, 2, 3), (1, 0, 2, 3)) + del x59 + x60 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x60 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * 2.0 + x60 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x60 += einsum(t2, (0, 1, 2, 3), x3, (1, 4, 5, 3), (0, 4, 2, 5)) * 4.0 + del x3 + t2new += einsum(t2, (0, 1, 2, 3), x60, (4, 1, 5, 3), (4, 0, 5, 2)) + del x60 + x61 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x61 += einsum(v.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) + x61 += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 2, 5, 3), (4, 0, 1, 5)) + t2new += einsum(x31, (0, 1, 2, 3), x61, (0, 4, 5, 1), (5, 4, 3, 2)) + del x31, x61 + x62 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x62 += einsum(v.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x62 += einsum(t1, (0, 1), x14, (2, 3, 0, 4), (3, 2, 4, 1)) + del x14 + t2new += einsum(t1, (0, 1), x62, (2, 3, 0, 4), (2, 3, 1, 4)) + del x62 + x63 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x63 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x63 += einsum(x15, (0, 1, 2, 3), (0, 1, 2, 3)) + del x15 + t2new += einsum(t2, (0, 1, 2, 3), x63, (4, 1, 5, 2), (4, 0, 5, 3)) + del x63 + x64 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x64 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x64 += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 2, 1, 5), (0, 4, 3, 5)) + t2new += einsum(t2, (0, 1, 2, 3), x64, (4, 1, 5, 2), (4, 0, 3, 5)) + del x64 + + return {"t1new": t1new, "t2new": t2new} + +def energy_perturbative(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, l1=None, l2=None, **kwargs): + # T3 amplitude + x0 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x0 += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 6, 3), (0, 1, 4, 2, 5, 6)) + t3 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + t3 += einsum(x0, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) + t3 += einsum(x0, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -1.0 + t3 += einsum(x0, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) + t3 += einsum(x0, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -1.0 + t3 += einsum(x0, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 + t3 += einsum(x0, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) + t3 += einsum(x0, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) + t3 += einsum(x0, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 + t3 += einsum(x0, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) * -1.0 + t3 += einsum(x0, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) + t3 += einsum(x0, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -1.0 + t3 += einsum(x0, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) + del x0 + x1 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x1 += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 1, 5, 6), (0, 4, 5, 2, 3, 6)) + t3 += einsum(x1, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 + t3 += einsum(x1, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) + t3 += einsum(x1, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + t3 += einsum(x1, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) + t3 += einsum(x1, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 + t3 += einsum(x1, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) + t3 += einsum(x1, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) + t3 += einsum(x1, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 + t3 += einsum(x1, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) + t3 += einsum(x1, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 + t3 += einsum(x1, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) + t3 += einsum(x1, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -1.0 + del x1 + e_ia = direct_sum("i-a->ia", np.diag(f.oo), np.diag(f.vv)) + t3 /= direct_sum("ia+jb+kc->ijkabc", e_ia, e_ia, e_ia) + + # energy + x0 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x0 += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 0, 6, 1, 3), (4, 5, 6, 2)) + x1 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x1 += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 0, 5, 6, 1, 3), (4, 5, 6, 2)) + x2 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x2 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 0.16666666666666666 + x2 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + x2 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -0.16666666666666666 + x3 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x3 += einsum(x0, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 + x3 += einsum(x1, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x3 += einsum(x1, (0, 1, 2, 3), (1, 0, 2, 3)) * -2.0 + del x1 + x3 += einsum(v.ovvv, (0, 1, 2, 3), x2, (0, 4, 5, 1, 6, 3), (4, 5, 6, 2)) * 6.0 + del x2 + e_pert = 0 + e_pert += einsum(l2, (0, 1, 2, 3), x3, (2, 3, 0, 1), ()) * 0.5 + del x3 + x4 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x4 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x4 += einsum(v.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) * 3.0 + x5 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x5 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -1.0 + x5 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + x6 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x6 += einsum(l2, (0, 1, 2, 3), x5, (2, 4, 5, 1, 0, 6), (3, 4, 5, 6)) * -1.0 + del x5 + e_pert += einsum(x4, (0, 1, 2, 3), x6, (1, 2, 0, 3), ()) * -0.5 + del x4, x6 + x7 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x7 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 1.5 + x7 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + x7 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.5 + x8 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x8 += einsum(x0, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.6666666666666666 + del x0 + x8 += einsum(v.ovvv, (0, 1, 2, 3), x7, (0, 4, 5, 1, 6, 3), (4, 5, 6, 2)) * 0.6666666666666666 + del x7 + e_pert += einsum(l2, (0, 1, 2, 3), x8, (2, 3, 1, 0), ()) * -1.5 + del x8 + x9 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x9 += einsum(l2, (0, 1, 2, 3), t3, (4, 2, 5, 6, 0, 1), (3, 4, 5, 6)) + x10 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x10 += einsum(l2, (0, 1, 2, 3), (3, 2, 0, 1)) + x10 += einsum(l2, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 + x11 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x11 += einsum(x9, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x11 += einsum(x9, (0, 1, 2, 3), (0, 2, 1, 3)) + del x9 + x11 += einsum(x10, (0, 1, 2, 3), t3, (4, 5, 0, 6, 2, 3), (1, 4, 5, 6)) * -1.0 + del x10 + e_pert += einsum(v.ooov, (0, 1, 2, 3), x11, (1, 0, 2, 3), ()) * -1.0 + del x11 + x12 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x12 += einsum(l2, (0, 1, 2, 3), (3, 2, 0, 1)) + x12 += einsum(l2, (0, 1, 2, 3), (2, 3, 0, 1)) * -0.3333333333333333 + x13 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x13 += einsum(x12, (0, 1, 2, 3), t3, (4, 5, 0, 6, 2, 3), (1, 4, 5, 6)) + del x12 + e_pert += einsum(v.ooov, (0, 1, 2, 3), x13, (1, 2, 0, 3), ()) * -3.0 + del x13 + x14 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x14 += einsum(l1, (0, 1), v.ovov, (2, 3, 4, 5), (1, 2, 4, 0, 5, 3)) * -1.0 + x14 += einsum(l1, (0, 1), v.ovov, (2, 3, 4, 5), (1, 2, 4, 0, 3, 5)) + x15 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x15 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + x15 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) + e_pert += einsum(x14, (0, 1, 2, 3, 4, 5), x15, (2, 0, 1, 5, 4, 3), ()) * -0.5 + del x14, x15 + x16 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x16 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -0.3333333333333333 + x16 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + x17 = np.zeros((nocc, nvir), dtype=types[float]) + x17 += einsum(x16, (0, 1, 2, 3), t3, (4, 0, 1, 5, 2, 3), (4, 5)) + del x16 + e_pert += einsum(l1, (0, 1), x17, (1, 0), ()) * 3.0 + del x17 + + return e_pert + diff --git a/ebcc/codegen/UCCSDxTx.py b/ebcc/codegen/UCCSDxTx.py new file mode 100644 index 00000000..e3c1644c --- /dev/null +++ b/ebcc/codegen/UCCSDxTx.py @@ -0,0 +1,1029 @@ +# Code generated for ebcc. + +from ebcc import numpy as np +from ebcc.util import pack_2e, einsum, direct_sum, Namespace +from ebcc.precision import types + +def energy(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, **kwargs): + # energy + e_cc = 0 + e_cc += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 1, 3), ()) + e_cc += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (0, 2, 1, 3), ()) + e_cc += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (0, 2, 1, 3), ()) + x0 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x0 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 + x0 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + x1 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x1 += einsum(f.aa.ov, (0, 1), (0, 1)) + x1 += einsum(t1.bb, (0, 1), v.aabb.ovov, (2, 3, 0, 1), (2, 3)) + x1 += einsum(t1.aa, (0, 1), x0, (0, 2, 3, 1), (2, 3)) * -0.5 + del x0 + e_cc += einsum(t1.aa, (0, 1), x1, (0, 1), ()) + del x1 + x2 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x2 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) + x2 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x3 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x3 += einsum(f.bb.ov, (0, 1), (0, 1)) * 2.0 + x3 += einsum(t1.bb, (0, 1), x2, (0, 2, 1, 3), (2, 3)) * -1.0 + del x2 + e_cc += einsum(t1.bb, (0, 1), x3, (0, 1), ()) * 0.5 + del x3 + + return e_cc + +def update_amps(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, **kwargs): + t1new = Namespace() + t2new = Namespace() + + # T amplitudes + t1new_bb = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + t1new_bb += einsum(f.bb.ov, (0, 1), (0, 1)) + t1new_aa = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + t1new_aa += einsum(f.aa.ov, (0, 1), (0, 1)) + t2new_aaaa = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + t2new_aaaa += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.vvvv, (4, 3, 5, 2), (0, 1, 4, 5)) * -2.0 + t2new_abab = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + t2new_abab += einsum(v.aabb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + t2new_bbbb = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + t2new_bbbb += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.vvvv, (4, 3, 5, 2), (0, 1, 4, 5)) * -2.0 + x0 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x0 += einsum(t1.aa, (0, 1), v.aabb.ovov, (0, 1, 2, 3), (2, 3)) + t1new_bb += einsum(x0, (0, 1), (0, 1)) + x1 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x1 += einsum(t1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) + x2 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x2 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) + x2 += einsum(x1, (0, 1, 2, 3), (0, 1, 2, 3)) + t1new_bb += einsum(t2.bbbb, (0, 1, 2, 3), x2, (4, 0, 1, 3), (4, 2)) * 2.0 + del x2 + x3 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x3 += einsum(t1.bb, (0, 1), v.aabb.ovov, (2, 3, 4, 1), (2, 0, 4, 3)) + x4 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x4 += einsum(v.aabb.ovoo, (0, 1, 2, 3), (0, 2, 3, 1)) + x4 += einsum(x3, (0, 1, 2, 3), (0, 2, 1, 3)) + t1new_bb += einsum(t2.abab, (0, 1, 2, 3), x4, (0, 1, 4, 2), (4, 3)) * -1.0 + x5 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x5 += einsum(t2.bbbb, (0, 1, 2, 3), (0, 1, 2, 3)) + x5 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3)) * 0.5 + t1new_bb += einsum(v.bbbb.ovvv, (0, 1, 2, 3), x5, (0, 4, 3, 1), (4, 2)) * -2.0 + del x5 + x6 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x6 += einsum(t2.abab, (0, 1, 2, 3), (0, 1, 2, 3)) + x6 += einsum(t1.aa, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3)) + t1new_bb += einsum(v.aabb.ovvv, (0, 1, 2, 3), x6, (0, 4, 1, 3), (4, 2)) + t1new_aa += einsum(v.aabb.vvov, (0, 1, 2, 3), x6, (4, 2, 1, 3), (4, 0)) + x7 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x7 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) + x7 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x8 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x8 += einsum(t1.bb, (0, 1), x7, (0, 2, 1, 3), (2, 3)) + x9 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x9 += einsum(f.bb.ov, (0, 1), (0, 1)) + x9 += einsum(x0, (0, 1), (0, 1)) + del x0 + x9 += einsum(x8, (0, 1), (0, 1)) * -1.0 + del x8 + t1new_bb += einsum(x9, (0, 1), t2.bbbb, (2, 0, 3, 1), (2, 3)) * 2.0 + t1new_aa += einsum(x9, (0, 1), t2.abab, (2, 0, 3, 1), (2, 3)) + x10 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x10 += einsum(t1.bb, (0, 1), v.aabb.ovov, (2, 3, 0, 1), (2, 3)) + t1new_aa += einsum(x10, (0, 1), (0, 1)) + x11 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x11 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 + x11 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + x12 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x12 += einsum(t1.aa, (0, 1), x11, (0, 2, 3, 1), (2, 3)) + x13 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x13 += einsum(f.aa.ov, (0, 1), (0, 1)) + x13 += einsum(x10, (0, 1), (0, 1)) + del x10 + x13 += einsum(x12, (0, 1), (0, 1)) * -1.0 + del x12 + t1new_bb += einsum(x13, (0, 1), t2.abab, (0, 2, 1, 3), (2, 3)) + t1new_aa += einsum(x13, (0, 1), t2.aaaa, (2, 0, 3, 1), (2, 3)) * 2.0 + x14 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x14 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) + x14 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + t1new_bb += einsum(t1.bb, (0, 1), x14, (0, 2, 1, 3), (2, 3)) * -1.0 + x15 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x15 += einsum(t1.aa, (0, 1), v.aabb.ovoo, (0, 1, 2, 3), (2, 3)) + x16 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x16 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 3), (1, 4)) + x17 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x17 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 3, 1, 2), (0, 4)) * -1.0 + x18 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x18 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x18 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) + x19 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x19 += einsum(t1.bb, (0, 1), x18, (2, 3, 0, 1), (2, 3)) + x20 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x20 += einsum(t1.bb, (0, 1), x9, (2, 1), (0, 2)) + x21 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x21 += einsum(f.bb.oo, (0, 1), (0, 1)) + x21 += einsum(x15, (0, 1), (1, 0)) + x21 += einsum(x16, (0, 1), (1, 0)) + x21 += einsum(x17, (0, 1), (1, 0)) * 2.0 + x21 += einsum(x19, (0, 1), (1, 0)) * -1.0 + x21 += einsum(x20, (0, 1), (1, 0)) + t1new_bb += einsum(t1.bb, (0, 1), x21, (0, 2), (2, 1)) * -1.0 + t2new_abab += einsum(x21, (0, 1), t2.abab, (2, 0, 3, 4), (2, 1, 3, 4)) * -1.0 + del x21 + x22 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x22 += einsum(f.bb.vv, (0, 1), (0, 1)) + x22 += einsum(t1.bb, (0, 1), v.bbbb.ovvv, (0, 1, 2, 3), (2, 3)) + t1new_bb += einsum(t1.bb, (0, 1), x22, (1, 2), (0, 2)) + del x22 + x23 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x23 += einsum(t1.aa, (0, 1), v.aabb.ovov, (2, 1, 3, 4), (0, 2, 3, 4)) + x24 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x24 += einsum(v.aabb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) + x24 += einsum(x23, (0, 1, 2, 3), (1, 0, 2, 3)) + t1new_aa += einsum(t2.abab, (0, 1, 2, 3), x24, (0, 4, 1, 3), (4, 2)) * -1.0 + del x24 + x25 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x25 += einsum(t1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) + x26 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x26 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) + x26 += einsum(x25, (0, 1, 2, 3), (0, 1, 2, 3)) + t1new_aa += einsum(t2.aaaa, (0, 1, 2, 3), x26, (4, 1, 0, 3), (4, 2)) * -2.0 + del x26 + x27 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x27 += einsum(t2.aaaa, (0, 1, 2, 3), (0, 1, 2, 3)) + x27 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 1, 3)) * 0.5 + t1new_aa += einsum(v.aaaa.ovvv, (0, 1, 2, 3), x27, (0, 4, 1, 3), (4, 2)) * 2.0 + del x27 + x28 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x28 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) + x28 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + t1new_aa += einsum(t1.aa, (0, 1), x28, (0, 2, 1, 3), (2, 3)) * -1.0 + del x28 + x29 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x29 += einsum(t1.bb, (0, 1), v.aabb.ooov, (2, 3, 0, 1), (2, 3)) + x30 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x30 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 3, 1, 2), (0, 4)) * -1.0 + x31 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x31 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 1, 3), (0, 4)) + x32 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x32 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x32 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) + x33 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x33 += einsum(t1.aa, (0, 1), x32, (2, 3, 0, 1), (2, 3)) + del x32 + x34 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x34 += einsum(t1.aa, (0, 1), x13, (2, 1), (0, 2)) + x35 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x35 += einsum(f.aa.oo, (0, 1), (0, 1)) + x35 += einsum(x29, (0, 1), (1, 0)) + x35 += einsum(x30, (0, 1), (1, 0)) * 2.0 + x35 += einsum(x31, (0, 1), (1, 0)) + x35 += einsum(x33, (0, 1), (1, 0)) * -1.0 + x35 += einsum(x34, (0, 1), (1, 0)) + t1new_aa += einsum(t1.aa, (0, 1), x35, (0, 2), (2, 1)) * -1.0 + t2new_abab += einsum(x35, (0, 1), t2.abab, (0, 2, 3, 4), (1, 2, 3, 4)) * -1.0 + del x35 + x36 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x36 += einsum(f.aa.vv, (0, 1), (0, 1)) + x36 += einsum(t1.aa, (0, 1), v.aaaa.ovvv, (0, 2, 3, 1), (2, 3)) * -1.0 + t1new_aa += einsum(t1.aa, (0, 1), x36, (1, 2), (0, 2)) + del x36 + x37 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x37 += einsum(t1.aa, (0, 1), v.aaaa.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) + x38 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x38 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (0, 4, 2, 5)) + x39 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x39 += einsum(t1.aa, (0, 1), v.aabb.vvov, (2, 1, 3, 4), (0, 3, 2, 4)) + t2new_abab += einsum(x39, (0, 1, 2, 3), (0, 1, 2, 3)) + x40 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x40 += einsum(t2.abab, (0, 1, 2, 3), x39, (4, 1, 5, 3), (4, 0, 2, 5)) + x41 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x41 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + x41 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x41 += einsum(x38, (0, 1, 2, 3), (1, 0, 3, 2)) + x42 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x42 += einsum(t2.aaaa, (0, 1, 2, 3), x41, (1, 4, 3, 5), (0, 4, 2, 5)) * 2.0 + del x41 + x43 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x43 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) + x43 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 + x44 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x44 += einsum(t1.aa, (0, 1), x43, (2, 1, 3, 4), (0, 2, 3, 4)) + del x43 + x45 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x45 += einsum(t2.aaaa, (0, 1, 2, 3), x44, (4, 1, 5, 3), (0, 4, 2, 5)) * -2.0 + del x44 + x46 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x46 += einsum(t1.aa, (0, 1), v.aaaa.ooov, (2, 3, 4, 1), (0, 2, 3, 4)) + x47 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x47 += einsum(t1.aa, (0, 1), x46, (2, 3, 4, 0), (2, 4, 3, 1)) + x48 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x48 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ooov, (4, 5, 1, 3), (0, 4, 5, 2)) + x49 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x49 += einsum(t2.abab, (0, 1, 2, 3), x23, (4, 5, 1, 3), (4, 0, 5, 2)) + del x23 + x50 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x50 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x50 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) + x51 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x51 += einsum(t2.aaaa, (0, 1, 2, 3), x50, (1, 4, 5, 3), (0, 4, 5, 2)) * 2.0 + del x50 + x52 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x52 += einsum(x25, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x52 += einsum(x25, (0, 1, 2, 3), (0, 2, 1, 3)) + x53 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x53 += einsum(t2.aaaa, (0, 1, 2, 3), x52, (4, 1, 5, 3), (0, 4, 5, 2)) * 2.0 + del x52 + x54 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x54 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) + x54 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x54 += einsum(x37, (0, 1, 2, 3), (0, 1, 2, 3)) + x55 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x55 += einsum(t1.aa, (0, 1), x54, (2, 3, 1, 4), (0, 2, 3, 4)) + del x54 + x56 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x56 += einsum(x47, (0, 1, 2, 3), (0, 2, 1, 3)) + del x47 + x56 += einsum(x48, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + del x48 + x56 += einsum(x49, (0, 1, 2, 3), (0, 2, 1, 3)) + del x49 + x56 += einsum(x51, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + del x51 + x56 += einsum(x53, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 + del x53 + x56 += einsum(x55, (0, 1, 2, 3), (0, 2, 1, 3)) + del x55 + x57 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x57 += einsum(t1.aa, (0, 1), x56, (2, 0, 3, 4), (2, 3, 1, 4)) + del x56 + x58 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x58 += einsum(x37, (0, 1, 2, 3), (0, 1, 2, 3)) + del x37 + x58 += einsum(x38, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x38 + x58 += einsum(x40, (0, 1, 2, 3), (0, 1, 2, 3)) + del x40 + x58 += einsum(x42, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x42 + x58 += einsum(x45, (0, 1, 2, 3), (1, 0, 2, 3)) + del x45 + x58 += einsum(x57, (0, 1, 2, 3), (0, 1, 2, 3)) + del x57 + t2new_aaaa += einsum(x58, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + t2new_aaaa += einsum(x58, (0, 1, 2, 3), (0, 1, 3, 2)) + t2new_aaaa += einsum(x58, (0, 1, 2, 3), (1, 0, 2, 3)) + t2new_aaaa += einsum(x58, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x58 + x59 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x59 += einsum(t1.aa, (0, 1), v.aaaa.vvvv, (2, 3, 4, 1), (0, 2, 3, 4)) + x60 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x60 += einsum(t1.aa, (0, 1), x59, (2, 3, 1, 4), (0, 2, 3, 4)) + del x59 + x61 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x61 += einsum(t2.aaaa, (0, 1, 2, 3), x11, (1, 4, 5, 3), (4, 0, 5, 2)) + x62 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x62 += einsum(t2.aaaa, (0, 1, 2, 3), x61, (1, 4, 3, 5), (0, 4, 2, 5)) * -4.0 + del x61 + x63 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x63 += einsum(t2.abab, (0, 1, 2, 3), x7, (1, 4, 3, 5), (0, 4, 2, 5)) + del x7 + x64 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x64 += einsum(t2.abab, (0, 1, 2, 3), x63, (4, 1, 5, 3), (0, 4, 2, 5)) * -1.0 + del x63 + x65 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x65 += einsum(t1.bb, (0, 1), v.aabb.vvov, (2, 3, 0, 1), (2, 3)) + x66 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x66 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (0, 4, 1, 3), (2, 4)) + x67 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x67 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 4, 1, 3), (2, 4)) + x68 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x68 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x68 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) + x69 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x69 += einsum(t1.aa, (0, 1), x68, (0, 2, 1, 3), (2, 3)) + del x68 + x70 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x70 += einsum(x65, (0, 1), (1, 0)) * -1.0 + x70 += einsum(x66, (0, 1), (1, 0)) * 2.0 + x70 += einsum(x67, (0, 1), (1, 0)) + x70 += einsum(x69, (0, 1), (0, 1)) * -1.0 + x71 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x71 += einsum(x70, (0, 1), t2.aaaa, (2, 3, 4, 0), (2, 3, 4, 1)) * -2.0 + del x70 + x72 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x72 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovvv, (4, 2, 5, 3), (0, 1, 4, 5)) + x73 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x73 += einsum(x13, (0, 1), t2.aaaa, (2, 3, 4, 1), (0, 2, 3, 4)) * -2.0 + x74 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x74 += einsum(t1.aa, (0, 1), x25, (2, 3, 4, 1), (2, 0, 4, 3)) + del x25 + x75 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x75 += einsum(v.aaaa.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) + x75 += einsum(x74, (0, 1, 2, 3), (3, 1, 2, 0)) + x76 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x76 += einsum(t1.aa, (0, 1), x75, (0, 2, 3, 4), (2, 3, 4, 1)) + del x75 + x77 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x77 += einsum(x72, (0, 1, 2, 3), (2, 1, 0, 3)) * -2.0 + del x72 + x77 += einsum(x73, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + del x73 + x77 += einsum(x76, (0, 1, 2, 3), (1, 0, 2, 3)) + del x76 + x78 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x78 += einsum(t1.aa, (0, 1), x77, (0, 2, 3, 4), (2, 3, 1, 4)) + del x77 + x79 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x79 += einsum(x60, (0, 1, 2, 3), (0, 1, 2, 3)) + del x60 + x79 += einsum(x62, (0, 1, 2, 3), (1, 0, 3, 2)) + del x62 + x79 += einsum(x64, (0, 1, 2, 3), (1, 0, 3, 2)) + del x64 + x79 += einsum(x71, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x71 + x79 += einsum(x78, (0, 1, 2, 3), (1, 0, 2, 3)) + del x78 + t2new_aaaa += einsum(x79, (0, 1, 2, 3), (0, 1, 2, 3)) + t2new_aaaa += einsum(x79, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x79 + x80 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x80 += einsum(f.aa.vv, (0, 1), t2.aaaa, (2, 3, 4, 1), (2, 3, 0, 4)) + x81 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x81 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + x81 += einsum(x80, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 + del x80 + t2new_aaaa += einsum(x81, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + t2new_aaaa += einsum(x81, (0, 1, 2, 3), (0, 1, 2, 3)) + del x81 + x82 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x82 += einsum(t1.aa, (0, 1), v.aaaa.ooov, (2, 0, 3, 4), (2, 3, 1, 4)) + x83 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x83 += einsum(t2.aaaa, (0, 1, 2, 3), x46, (4, 5, 0, 1), (4, 5, 2, 3)) + del x46 + x84 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x84 += einsum(f.aa.oo, (0, 1), (0, 1)) + x84 += einsum(x34, (0, 1), (0, 1)) + del x34 + x85 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x85 += einsum(x84, (0, 1), t2.aaaa, (2, 1, 3, 4), (2, 0, 3, 4)) * -2.0 + del x84 + x86 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x86 += einsum(x29, (0, 1), (1, 0)) + del x29 + x86 += einsum(x30, (0, 1), (1, 0)) * 2.0 + del x30 + x86 += einsum(x31, (0, 1), (1, 0)) + del x31 + x86 += einsum(x33, (0, 1), (1, 0)) * -1.0 + del x33 + x87 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x87 += einsum(x86, (0, 1), t2.aaaa, (2, 0, 3, 4), (2, 1, 3, 4)) * -2.0 + del x86 + x88 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x88 += einsum(x82, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x82 + x88 += einsum(x83, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 + del x83 + x88 += einsum(x85, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x85 + x88 += einsum(x87, (0, 1, 2, 3), (0, 1, 3, 2)) + del x87 + t2new_aaaa += einsum(x88, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + t2new_aaaa += einsum(x88, (0, 1, 2, 3), (1, 0, 2, 3)) + del x88 + x89 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x89 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 2, 5, 3), (0, 1, 4, 5)) + x90 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x90 += einsum(v.aaaa.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) + x90 += einsum(x89, (0, 1, 2, 3), (3, 1, 2, 0)) + x90 += einsum(x74, (0, 1, 2, 3), (3, 1, 2, 0)) + del x74 + t2new_aaaa += einsum(t2.aaaa, (0, 1, 2, 3), x90, (0, 4, 1, 5), (4, 5, 2, 3)) * 2.0 + del x90 + x91 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x91 += einsum(t1.aa, (0, 1), x89, (2, 3, 0, 4), (2, 3, 4, 1)) * -2.0 + del x89 + x91 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x91 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) + t2new_aaaa += einsum(t1.aa, (0, 1), x91, (2, 3, 0, 4), (2, 3, 1, 4)) + del x91 + x92 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x92 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 + x92 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + x93 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x93 += einsum(t2.bbbb, (0, 1, 2, 3), (0, 1, 2, 3)) + x93 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1)) * -0.5 + x94 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x94 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) + x94 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 + x95 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x95 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + x95 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x95 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 5), (4, 1, 5, 3)) + x95 += einsum(x92, (0, 1, 2, 3), x93, (0, 4, 3, 5), (1, 4, 2, 5)) * -2.0 + x95 += einsum(t1.bb, (0, 1), x94, (2, 1, 3, 4), (2, 0, 4, 3)) * -1.0 + x95 += einsum(t1.bb, (0, 1), x18, (2, 3, 0, 4), (3, 2, 4, 1)) * -1.0 + del x18 + t2new_abab += einsum(t2.abab, (0, 1, 2, 3), x95, (1, 4, 3, 5), (0, 4, 2, 5)) + del x95 + x96 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x96 += einsum(t2.aaaa, (0, 1, 2, 3), (0, 1, 2, 3)) + x96 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 3, 1)) * -0.5 + x97 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x97 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) + x97 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x98 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x98 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) + x98 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x99 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x99 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) + x99 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x99 += einsum(x11, (0, 1, 2, 3), x96, (0, 4, 2, 5), (1, 4, 3, 5)) * -2.0 + x99 += einsum(t1.aa, (0, 1), x97, (2, 3, 1, 4), (2, 0, 3, 4)) * -1.0 + del x97 + x99 += einsum(t1.aa, (0, 1), x98, (2, 3, 0, 4), (3, 2, 4, 1)) * -1.0 + del x98 + t2new_abab += einsum(t2.abab, (0, 1, 2, 3), x99, (0, 4, 2, 5), (4, 1, 5, 3)) * -1.0 + del x99 + x100 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x100 += einsum(v.aabb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + x100 += einsum(t1.aa, (0, 1), v.aabb.ooov, (2, 0, 3, 4), (2, 3, 1, 4)) * -1.0 + x100 += einsum(x39, (0, 1, 2, 3), (0, 1, 2, 3)) + del x39 + x100 += einsum(v.aabb.ovov, (0, 1, 2, 3), x96, (0, 4, 1, 5), (4, 2, 5, 3)) * 2.0 + t2new_abab += einsum(t2.bbbb, (0, 1, 2, 3), x100, (4, 1, 5, 3), (4, 0, 5, 2)) * 2.0 + del x100 + x101 = np.zeros((nocc[0], nocc[0], nvir[1], nvir[1]), dtype=types[float]) + x101 += einsum(v.aabb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x101 += einsum(t1.bb, (0, 1), v.aabb.ooov, (2, 3, 0, 4), (2, 3, 4, 1)) + x101 += einsum(t1.aa, (0, 1), v.aabb.ovvv, (2, 1, 3, 4), (2, 0, 3, 4)) * -1.0 + x101 += einsum(v.aabb.ovov, (0, 1, 2, 3), x6, (4, 2, 1, 5), (0, 4, 3, 5)) + t2new_abab += einsum(t2.abab, (0, 1, 2, 3), x101, (0, 4, 3, 5), (4, 1, 2, 5)) + del x101 + x102 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x102 += einsum(t1.bb, (0, 1), v.aabb.ovvv, (2, 3, 4, 1), (2, 0, 3, 4)) + x103 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x103 += einsum(v.aabb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + x103 += einsum(x102, (0, 1, 2, 3), (0, 1, 2, 3)) + x103 += einsum(t1.bb, (0, 1), x4, (2, 0, 3, 4), (2, 3, 4, 1)) * -1.0 + del x4 + t2new_abab += einsum(x103, (0, 1, 2, 3), x96, (0, 4, 2, 5), (4, 1, 5, 3)) * 2.0 + del x96, x103 + x104 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + x104 += einsum(t1.bb, (0, 1), v.aabb.vvov, (2, 3, 4, 1), (0, 4, 2, 3)) + x105 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x105 += einsum(v.aabb.ovoo, (0, 1, 2, 3), (0, 2, 3, 1)) + x105 += einsum(x3, (0, 1, 2, 3), (0, 1, 2, 3)) + x106 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + x106 += einsum(v.aabb.vvoo, (0, 1, 2, 3), (2, 3, 0, 1)) + x106 += einsum(x104, (0, 1, 2, 3), (1, 0, 3, 2)) + x106 += einsum(t1.aa, (0, 1), x105, (0, 2, 3, 4), (3, 2, 4, 1)) * -1.0 + del x105 + t2new_abab += einsum(t2.abab, (0, 1, 2, 3), x106, (1, 4, 2, 5), (0, 4, 5, 3)) * -1.0 + del x106 + x107 = np.zeros((nvir[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) + x107 += einsum(v.aabb.vvvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x107 += einsum(t1.aa, (0, 1), v.aabb.ovvv, (0, 2, 3, 4), (2, 1, 3, 4)) + x107 += einsum(t1.bb, (0, 1), v.aabb.vvov, (2, 3, 0, 4), (2, 3, 4, 1)) + t2new_abab += einsum(t2.abab, (0, 1, 2, 3), x107, (2, 4, 3, 5), (0, 1, 4, 5)) * -1.0 + del x107 + x108 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) + x108 += einsum(t1.bb, (0, 1), v.aabb.ooov, (2, 3, 4, 1), (2, 3, 0, 4)) + x109 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) + x109 += einsum(v.aabb.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) + x109 += einsum(t1.aa, (0, 1), v.aabb.ovoo, (2, 1, 3, 4), (2, 0, 3, 4)) + x109 += einsum(x108, (0, 1, 2, 3), (1, 0, 3, 2)) + x109 += einsum(v.aabb.ovov, (0, 1, 2, 3), x6, (4, 5, 1, 3), (0, 4, 2, 5)) + del x6 + t2new_abab += einsum(t2.abab, (0, 1, 2, 3), x109, (0, 4, 1, 5), (4, 5, 2, 3)) + del x109 + x110 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x110 += einsum(t1.aa, (0, 1), v.aabb.ovvv, (0, 1, 2, 3), (2, 3)) + x111 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x111 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 1, 4), (3, 4)) + x112 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x112 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (0, 3, 1, 4), (2, 4)) * -1.0 + x113 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x113 += einsum(t1.bb, (0, 1), x94, (0, 1, 2, 3), (2, 3)) + del x94 + x114 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x114 += einsum(f.bb.vv, (0, 1), (0, 1)) * -1.0 + x114 += einsum(x110, (0, 1), (1, 0)) * -1.0 + x114 += einsum(x111, (0, 1), (1, 0)) + x114 += einsum(x112, (0, 1), (1, 0)) * 2.0 + x114 += einsum(x113, (0, 1), (1, 0)) * -1.0 + x114 += einsum(t1.bb, (0, 1), x9, (0, 2), (2, 1)) + t2new_abab += einsum(x114, (0, 1), t2.abab, (2, 3, 4, 0), (2, 3, 4, 1)) * -1.0 + del x114 + x115 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x115 += einsum(f.aa.vv, (0, 1), (0, 1)) * -1.0 + x115 += einsum(x65, (0, 1), (1, 0)) * -1.0 + del x65 + x115 += einsum(x66, (0, 1), (1, 0)) * 2.0 + del x66 + x115 += einsum(x67, (0, 1), (1, 0)) + del x67 + x115 += einsum(x69, (0, 1), (0, 1)) * -1.0 + del x69 + x115 += einsum(t1.aa, (0, 1), x13, (0, 2), (2, 1)) + del x13 + t2new_abab += einsum(x115, (0, 1), t2.abab, (2, 3, 0, 4), (2, 3, 1, 4)) * -1.0 + del x115 + x116 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + x116 += einsum(v.aabb.vvoo, (0, 1, 2, 3), (2, 3, 0, 1)) + x116 += einsum(x104, (0, 1, 2, 3), (0, 1, 3, 2)) + del x104 + x117 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) + x117 += einsum(v.aabb.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) + x117 += einsum(x108, (0, 1, 2, 3), (1, 0, 2, 3)) + del x108 + x117 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 5, 3), (4, 0, 1, 5)) + x118 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x118 += einsum(v.aabb.ovoo, (0, 1, 2, 3), (0, 2, 3, 1)) + x118 += einsum(x3, (0, 1, 2, 3), (0, 2, 1, 3)) + x118 += einsum(t1.aa, (0, 1), x116, (2, 3, 1, 4), (0, 3, 2, 4)) + del x116 + x118 += einsum(t1.aa, (0, 1), x117, (0, 2, 3, 4), (2, 4, 3, 1)) * -1.0 + del x117 + t2new_abab += einsum(t1.bb, (0, 1), x118, (2, 0, 3, 4), (2, 3, 4, 1)) * -1.0 + del x118 + x119 = np.zeros((nocc[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) + x119 += einsum(v.aabb.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) + x119 += einsum(t1.aa, (0, 1), v.aabb.vvvv, (2, 1, 3, 4), (0, 2, 3, 4)) + t2new_abab += einsum(t1.bb, (0, 1), x119, (2, 3, 1, 4), (2, 0, 3, 4)) + del x119 + x120 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x120 += einsum(v.aabb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) + x120 += einsum(t1.bb, (0, 1), v.aabb.oovv, (2, 3, 4, 1), (2, 3, 0, 4)) + t2new_abab += einsum(t1.aa, (0, 1), x120, (0, 2, 3, 4), (2, 3, 1, 4)) * -1.0 + del x120 + x121 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x121 += einsum(t1.bb, (0, 1), v.bbbb.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) + x122 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x122 += einsum(t2.abab, (0, 1, 2, 3), x102, (0, 4, 2, 5), (4, 1, 3, 5)) + del x102 + x123 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x123 += einsum(x14, (0, 1, 2, 3), x93, (0, 4, 2, 5), (1, 4, 3, 5)) * 2.0 + del x14, x93 + x124 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x124 += einsum(t2.bbbb, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (4, 0, 5, 2)) + x125 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x125 += einsum(v.aabb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + x125 += einsum(x124, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + del x124 + x126 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x126 += einsum(t2.abab, (0, 1, 2, 3), x125, (0, 4, 2, 5), (1, 4, 3, 5)) + del x125 + x127 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x127 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x127 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) + x128 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x128 += einsum(t1.bb, (0, 1), x127, (2, 3, 1, 4), (0, 2, 3, 4)) + del x127 + x129 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x129 += einsum(t2.bbbb, (0, 1, 2, 3), x128, (4, 1, 3, 5), (0, 4, 2, 5)) * -2.0 + del x128 + x130 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x130 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovoo, (0, 2, 4, 5), (1, 4, 5, 3)) + x131 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x131 += einsum(t1.bb, (0, 1), v.bbbb.ooov, (2, 3, 4, 1), (0, 2, 3, 4)) + x132 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x132 += einsum(t1.bb, (0, 1), x131, (2, 3, 4, 0), (2, 4, 3, 1)) + x133 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x133 += einsum(t1.bb, (0, 1), x121, (2, 3, 1, 4), (0, 2, 3, 4)) + x134 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x134 += einsum(t2.abab, (0, 1, 2, 3), x3, (0, 4, 5, 2), (4, 1, 5, 3)) + del x3 + x135 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x135 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x135 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) + x136 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x136 += einsum(t2.bbbb, (0, 1, 2, 3), x135, (1, 4, 5, 3), (0, 4, 5, 2)) * 2.0 + del x135 + x137 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x137 += einsum(x1, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x137 += einsum(x1, (0, 1, 2, 3), (0, 2, 1, 3)) + x138 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x138 += einsum(t2.bbbb, (0, 1, 2, 3), x137, (4, 1, 5, 3), (0, 4, 5, 2)) * 2.0 + del x137 + x139 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x139 += einsum(x130, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + del x130 + x139 += einsum(x132, (0, 1, 2, 3), (0, 2, 1, 3)) + del x132 + x139 += einsum(x133, (0, 1, 2, 3), (0, 2, 1, 3)) + del x133 + x139 += einsum(x134, (0, 1, 2, 3), (0, 2, 1, 3)) + del x134 + x139 += einsum(x136, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + del x136 + x139 += einsum(x138, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 + del x138 + x140 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x140 += einsum(t1.bb, (0, 1), x139, (2, 0, 3, 4), (2, 3, 1, 4)) + del x139 + x141 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x141 += einsum(x121, (0, 1, 2, 3), (0, 1, 2, 3)) + del x121 + x141 += einsum(x122, (0, 1, 2, 3), (0, 1, 2, 3)) + del x122 + x141 += einsum(x123, (0, 1, 2, 3), (1, 0, 3, 2)) + del x123 + x141 += einsum(x126, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x126 + x141 += einsum(x129, (0, 1, 2, 3), (1, 0, 2, 3)) + del x129 + x141 += einsum(x140, (0, 1, 2, 3), (0, 1, 2, 3)) + del x140 + t2new_bbbb += einsum(x141, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + t2new_bbbb += einsum(x141, (0, 1, 2, 3), (0, 1, 3, 2)) + t2new_bbbb += einsum(x141, (0, 1, 2, 3), (1, 0, 2, 3)) + t2new_bbbb += einsum(x141, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x141 + x142 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x142 += einsum(t1.bb, (0, 1), v.bbbb.ooov, (2, 0, 3, 4), (2, 3, 1, 4)) + x143 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x143 += einsum(t2.bbbb, (0, 1, 2, 3), x131, (4, 5, 0, 1), (4, 5, 2, 3)) + del x131 + x144 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x144 += einsum(f.bb.oo, (0, 1), (0, 1)) + x144 += einsum(x20, (0, 1), (0, 1)) + del x20 + x145 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x145 += einsum(x144, (0, 1), t2.bbbb, (2, 1, 3, 4), (2, 0, 3, 4)) * -2.0 + del x144 + x146 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x146 += einsum(x15, (0, 1), (1, 0)) + del x15 + x146 += einsum(x16, (0, 1), (1, 0)) + del x16 + x146 += einsum(x17, (0, 1), (1, 0)) * 2.0 + del x17 + x146 += einsum(x19, (0, 1), (1, 0)) * -1.0 + del x19 + x147 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x147 += einsum(x146, (0, 1), t2.bbbb, (2, 0, 3, 4), (2, 1, 3, 4)) * -2.0 + del x146 + x148 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x148 += einsum(x142, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x142 + x148 += einsum(x143, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 + del x143 + x148 += einsum(x145, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x145 + x148 += einsum(x147, (0, 1, 2, 3), (0, 1, 3, 2)) + del x147 + t2new_bbbb += einsum(x148, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + t2new_bbbb += einsum(x148, (0, 1, 2, 3), (1, 0, 2, 3)) + del x148 + x149 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x149 += einsum(t1.bb, (0, 1), v.bbbb.vvvv, (2, 3, 4, 1), (0, 2, 3, 4)) + x150 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x150 += einsum(t1.bb, (0, 1), x149, (2, 3, 1, 4), (0, 2, 3, 4)) + del x149 + x151 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x151 += einsum(t2.bbbb, (0, 1, 2, 3), x92, (1, 4, 5, 3), (0, 4, 2, 5)) + del x92 + x152 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x152 += einsum(t2.bbbb, (0, 1, 2, 3), x151, (4, 1, 5, 3), (0, 4, 2, 5)) * -4.0 + del x151 + x153 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x153 += einsum(x110, (0, 1), (1, 0)) * -1.0 + del x110 + x153 += einsum(x111, (0, 1), (1, 0)) + del x111 + x153 += einsum(x112, (0, 1), (1, 0)) * 2.0 + del x112 + x153 += einsum(x113, (0, 1), (1, 0)) * -1.0 + del x113 + x154 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x154 += einsum(x153, (0, 1), t2.bbbb, (2, 3, 4, 0), (2, 3, 4, 1)) * -2.0 + del x153 + x155 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x155 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovvv, (4, 2, 5, 3), (0, 1, 4, 5)) + x156 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x156 += einsum(x9, (0, 1), t2.bbbb, (2, 3, 4, 1), (2, 3, 0, 4)) * -2.0 + del x9 + x157 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x157 += einsum(t1.bb, (0, 1), x1, (2, 3, 4, 1), (2, 0, 4, 3)) + del x1 + x158 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x158 += einsum(v.bbbb.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) + x158 += einsum(x157, (0, 1, 2, 3), (3, 1, 2, 0)) + x159 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x159 += einsum(t1.bb, (0, 1), x158, (0, 2, 3, 4), (2, 3, 4, 1)) + del x158 + x160 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x160 += einsum(x155, (0, 1, 2, 3), (2, 1, 0, 3)) * -2.0 + del x155 + x160 += einsum(x156, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 + del x156 + x160 += einsum(x159, (0, 1, 2, 3), (1, 0, 2, 3)) + del x159 + x161 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x161 += einsum(t1.bb, (0, 1), x160, (0, 2, 3, 4), (2, 3, 1, 4)) + del x160 + x162 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x162 += einsum(x150, (0, 1, 2, 3), (0, 1, 2, 3)) + del x150 + x162 += einsum(x152, (0, 1, 2, 3), (1, 0, 3, 2)) + del x152 + x162 += einsum(x154, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x154 + x162 += einsum(x161, (0, 1, 2, 3), (1, 0, 2, 3)) + del x161 + t2new_bbbb += einsum(x162, (0, 1, 2, 3), (0, 1, 2, 3)) + t2new_bbbb += einsum(x162, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x162 + x163 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x163 += einsum(f.bb.vv, (0, 1), t2.bbbb, (2, 3, 4, 1), (2, 3, 0, 4)) + x164 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x164 += einsum(t2.abab, (0, 1, 2, 3), x11, (0, 4, 5, 2), (4, 1, 5, 3)) + del x11 + x165 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x165 += einsum(t2.abab, (0, 1, 2, 3), x164, (0, 4, 2, 5), (1, 4, 3, 5)) * -1.0 + del x164 + x166 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x166 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + x166 += einsum(x163, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 + del x163 + x166 += einsum(x165, (0, 1, 2, 3), (0, 1, 2, 3)) + del x165 + t2new_bbbb += einsum(x166, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + t2new_bbbb += einsum(x166, (0, 1, 2, 3), (0, 1, 2, 3)) + del x166 + x167 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x167 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 2, 5, 3), (0, 1, 4, 5)) + x168 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x168 += einsum(v.bbbb.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) + x168 += einsum(x167, (0, 1, 2, 3), (3, 1, 0, 2)) + x168 += einsum(x157, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 + del x157 + t2new_bbbb += einsum(t2.bbbb, (0, 1, 2, 3), x168, (0, 4, 5, 1), (5, 4, 2, 3)) * -2.0 + del x168 + x169 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x169 += einsum(t1.bb, (0, 1), x167, (2, 3, 0, 4), (2, 3, 4, 1)) * -2.0 + del x167 + x169 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x169 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) + t2new_bbbb += einsum(t1.bb, (0, 1), x169, (2, 3, 0, 4), (2, 3, 1, 4)) + del x169 + + t1new.aa = t1new_aa + t1new.bb = t1new_bb + t2new.aaaa = t2new_aaaa + t2new.abab = t2new_abab + t2new.bbbb = t2new_bbbb + + return {"t1new": t1new, "t2new": t2new} + +def energy_perturbative(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, l1=None, l2=None, **kwargs): + # T3 amplitude + x0 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x0 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ooov, (4, 1, 5, 6), (0, 4, 5, 2, 3, 6)) + t3_aaaaaa = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + t3_aaaaaa += einsum(x0, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 2.0 + t3_aaaaaa += einsum(x0, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -2.0 + t3_aaaaaa += einsum(x0, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 2.0 + t3_aaaaaa += einsum(x0, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -2.0 + t3_aaaaaa += einsum(x0, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 + t3_aaaaaa += einsum(x0, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -2.0 + t3_aaaaaa += einsum(x0, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -2.0 + t3_aaaaaa += einsum(x0, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * 2.0 + t3_aaaaaa += einsum(x0, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -2.0 + t3_aaaaaa += einsum(x0, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * 2.0 + t3_aaaaaa += einsum(x0, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * -2.0 + t3_aaaaaa += einsum(x0, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) * 2.0 + t3_aaaaaa += einsum(x0, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * 2.0 + t3_aaaaaa += einsum(x0, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -2.0 + t3_aaaaaa += einsum(x0, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * 2.0 + t3_aaaaaa += einsum(x0, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -2.0 + t3_aaaaaa += einsum(x0, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * 2.0 + t3_aaaaaa += einsum(x0, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -2.0 + del x0 + x1 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x1 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovvv, (4, 5, 6, 3), (0, 1, 4, 2, 5, 6)) + t3_aaaaaa += einsum(x1, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -2.0 + t3_aaaaaa += einsum(x1, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 2.0 + t3_aaaaaa += einsum(x1, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 2.0 + t3_aaaaaa += einsum(x1, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -2.0 + t3_aaaaaa += einsum(x1, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -2.0 + t3_aaaaaa += einsum(x1, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 2.0 + t3_aaaaaa += einsum(x1, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * 2.0 + t3_aaaaaa += einsum(x1, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 + t3_aaaaaa += einsum(x1, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -2.0 + t3_aaaaaa += einsum(x1, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 2.0 + t3_aaaaaa += einsum(x1, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 + t3_aaaaaa += einsum(x1, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -2.0 + t3_aaaaaa += einsum(x1, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * 2.0 + t3_aaaaaa += einsum(x1, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -2.0 + t3_aaaaaa += einsum(x1, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -2.0 + t3_aaaaaa += einsum(x1, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * 2.0 + t3_aaaaaa += einsum(x1, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * 2.0 + t3_aaaaaa += einsum(x1, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -2.0 + del x1 + x2 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0], nvir[1], nvir[1]), dtype=types[float]) + x2 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ooov, (4, 0, 5, 6), (4, 1, 5, 2, 3, 6)) + x3 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0], nvir[1], nvir[1]), dtype=types[float]) + x3 += einsum(t2.abab, (0, 1, 2, 3), v.bbbb.ooov, (4, 1, 5, 6), (0, 4, 5, 2, 3, 6)) + x4 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0], nvir[1], nvir[1]), dtype=types[float]) + x4 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.vvov, (4, 2, 5, 6), (0, 1, 5, 4, 3, 6)) + x5 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0], nvir[1], nvir[1]), dtype=types[float]) + x5 += einsum(t2.abab, (0, 1, 2, 3), v.bbbb.ovvv, (4, 5, 6, 3), (0, 1, 4, 2, 5, 6)) + x6 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0], nvir[1], nvir[1]), dtype=types[float]) + x6 += einsum(x2, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x2 + x6 += einsum(x3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x3 + x6 += einsum(x4, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 + del x4 + x6 += einsum(x5, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x5 + t3_babbab = np.zeros((nocc[1], nocc[0], nocc[1], nvir[1], nvir[0], nvir[1]), dtype=types[float]) + t3_babbab += einsum(x6, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 + t3_babbab += einsum(x6, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) + t3_babbab += einsum(x6, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) + t3_babbab += einsum(x6, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 + del x6 + x7 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0], nvir[1], nvir[1]), dtype=types[float]) + x7 += einsum(t2.bbbb, (0, 1, 2, 3), v.aabb.ovvv, (4, 5, 6, 3), (4, 0, 1, 5, 2, 6)) + t3_babbab += einsum(x7, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 + t3_babbab += einsum(x7, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 + del x7 + x8 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0], nvir[1], nvir[1]), dtype=types[float]) + x8 += einsum(t2.bbbb, (0, 1, 2, 3), v.aabb.ovoo, (4, 5, 6, 1), (4, 0, 6, 5, 2, 3)) + t3_babbab += einsum(x8, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 + t3_babbab += einsum(x8, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -2.0 + del x8 + x9 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[0], nvir[0], nvir[1]), dtype=types[float]) + x9 += einsum(t2.abab, (0, 1, 2, 3), v.aaaa.ooov, (4, 0, 5, 6), (4, 5, 1, 2, 6, 3)) + x10 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[0], nvir[0], nvir[1]), dtype=types[float]) + x10 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovoo, (4, 5, 6, 1), (0, 4, 6, 2, 5, 3)) + x11 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[0], nvir[0], nvir[1]), dtype=types[float]) + x11 += einsum(t2.abab, (0, 1, 2, 3), v.aaaa.ovvv, (4, 5, 6, 2), (0, 4, 1, 5, 6, 3)) + x12 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[0], nvir[0], nvir[1]), dtype=types[float]) + x12 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovvv, (4, 5, 6, 3), (0, 4, 1, 2, 5, 6)) + x13 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[0], nvir[0], nvir[1]), dtype=types[float]) + x13 += einsum(x9, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x9 + x13 += einsum(x10, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x10 + x13 += einsum(x11, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x11 + x13 += einsum(x12, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 + del x12 + t3_abaaba = np.zeros((nocc[0], nocc[1], nocc[0], nvir[0], nvir[1], nvir[0]), dtype=types[float]) + t3_abaaba += einsum(x13, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + t3_abaaba += einsum(x13, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) + t3_abaaba += einsum(x13, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) + t3_abaaba += einsum(x13, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 + del x13 + x14 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[0], nvir[0], nvir[1]), dtype=types[float]) + x14 += einsum(t2.aaaa, (0, 1, 2, 3), v.aabb.ooov, (4, 1, 5, 6), (0, 4, 5, 2, 3, 6)) + t3_abaaba += einsum(x14, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 + t3_abaaba += einsum(x14, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -2.0 + del x14 + x15 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[0], nvir[0], nvir[1]), dtype=types[float]) + x15 += einsum(t2.aaaa, (0, 1, 2, 3), v.aabb.vvov, (4, 3, 5, 6), (0, 1, 5, 2, 4, 6)) + t3_abaaba += einsum(x15, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.0 + t3_abaaba += einsum(x15, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 + del x15 + x16 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x16 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ooov, (4, 1, 5, 6), (0, 4, 5, 2, 3, 6)) + t3_bbbbbb = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + t3_bbbbbb += einsum(x16, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 2.0 + t3_bbbbbb += einsum(x16, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -2.0 + t3_bbbbbb += einsum(x16, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 2.0 + t3_bbbbbb += einsum(x16, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -2.0 + t3_bbbbbb += einsum(x16, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 + t3_bbbbbb += einsum(x16, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -2.0 + t3_bbbbbb += einsum(x16, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -2.0 + t3_bbbbbb += einsum(x16, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * 2.0 + t3_bbbbbb += einsum(x16, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -2.0 + t3_bbbbbb += einsum(x16, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * 2.0 + t3_bbbbbb += einsum(x16, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * -2.0 + t3_bbbbbb += einsum(x16, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) * 2.0 + t3_bbbbbb += einsum(x16, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * 2.0 + t3_bbbbbb += einsum(x16, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -2.0 + t3_bbbbbb += einsum(x16, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * 2.0 + t3_bbbbbb += einsum(x16, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -2.0 + t3_bbbbbb += einsum(x16, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * 2.0 + t3_bbbbbb += einsum(x16, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -2.0 + del x16 + x17 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x17 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovvv, (4, 5, 6, 3), (0, 1, 4, 2, 5, 6)) + t3_bbbbbb += einsum(x17, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -2.0 + t3_bbbbbb += einsum(x17, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 2.0 + t3_bbbbbb += einsum(x17, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 2.0 + t3_bbbbbb += einsum(x17, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -2.0 + t3_bbbbbb += einsum(x17, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -2.0 + t3_bbbbbb += einsum(x17, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 2.0 + t3_bbbbbb += einsum(x17, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * 2.0 + t3_bbbbbb += einsum(x17, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 + t3_bbbbbb += einsum(x17, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -2.0 + t3_bbbbbb += einsum(x17, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 2.0 + t3_bbbbbb += einsum(x17, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 + t3_bbbbbb += einsum(x17, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -2.0 + t3_bbbbbb += einsum(x17, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * 2.0 + t3_bbbbbb += einsum(x17, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -2.0 + t3_bbbbbb += einsum(x17, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -2.0 + t3_bbbbbb += einsum(x17, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * 2.0 + t3_bbbbbb += einsum(x17, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * 2.0 + t3_bbbbbb += einsum(x17, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -2.0 + del x17 + t3_aaaaaa /= direct_sum( + "ia+jb+kc->ijkabc", + direct_sum("i-a->ia", np.diag(f.aa.oo), np.diag(f.aa.vv)), + direct_sum("i-a->ia", np.diag(f.aa.oo), np.diag(f.aa.vv)), + direct_sum("i-a->ia", np.diag(f.aa.oo), np.diag(f.aa.vv)), + ) + t3_babbab /= direct_sum( + "ia+jb+kc->ijkabc", + direct_sum("i-a->ia", np.diag(f.bb.oo), np.diag(f.bb.vv)), + direct_sum("i-a->ia", np.diag(f.aa.oo), np.diag(f.aa.vv)), + direct_sum("i-a->ia", np.diag(f.bb.oo), np.diag(f.bb.vv)), + ) + t3_abaaba /= direct_sum( + "ia+jb+kc->ijkabc", + direct_sum("i-a->ia", np.diag(f.aa.oo), np.diag(f.aa.vv)), + direct_sum("i-a->ia", np.diag(f.bb.oo), np.diag(f.bb.vv)), + direct_sum("i-a->ia", np.diag(f.aa.oo), np.diag(f.aa.vv)), + ) + t3_bbbbbb /= direct_sum( + "ia+jb+kc->ijkabc", + direct_sum("i-a->ia", np.diag(f.bb.oo), np.diag(f.bb.vv)), + direct_sum("i-a->ia", np.diag(f.bb.oo), np.diag(f.bb.vv)), + direct_sum("i-a->ia", np.diag(f.bb.oo), np.diag(f.bb.vv)), + ) + + # energy + x0 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x0 += einsum(v.aaaa.ovov, (0, 1, 2, 3), t3_abaaba, (0, 4, 2, 1, 5, 3), (4, 5)) + e_pert = 0 + e_pert += einsum(l1.bb, (0, 1), x0, (1, 0), ()) + del x0 + x1 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x1 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3_abaaba, (4, 2, 0, 5, 3, 1), (4, 5)) + e_pert += einsum(l1.aa, (0, 1), x1, (1, 0), ()) * 2.0 + del x1 + x2 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x2 += einsum(v.bbbb.ovov, (0, 1, 2, 3), t3_bbbbbb, (4, 0, 2, 5, 1, 3), (4, 5)) + e_pert += einsum(l1.bb, (0, 1), x2, (1, 0), ()) * 3.0 + del x2 + x3 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x3 += einsum(l2.abab, (0, 1, 2, 3), t3_babbab, (4, 2, 5, 6, 0, 1), (3, 4, 5, 6)) + e_pert += einsum(v.bbbb.ooov, (0, 1, 2, 3), x3, (0, 2, 1, 3), ()) * -2.0 + del x3 + x4 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x4 += einsum(v.aaaa.ovov, (0, 1, 2, 3), t3_aaaaaa, (4, 0, 2, 5, 1, 3), (4, 5)) + e_pert += einsum(l1.aa, (0, 1), x4, (1, 0), ()) * 3.0 + del x4 + x5 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x5 += einsum(l2.bbbb, (0, 1, 2, 3), t3_bbbbbb, (4, 5, 3, 6, 0, 1), (2, 4, 5, 6)) + e_pert += einsum(v.bbbb.ooov, (0, 1, 2, 3), x5, (0, 1, 2, 3), ()) * 6.0 + del x5 + x6 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x6 += einsum(v.bbbb.ovov, (0, 1, 2, 3), t3_babbab, (0, 4, 2, 1, 5, 3), (4, 5)) + e_pert += einsum(l1.aa, (0, 1), x6, (1, 0), ()) + del x6 + x7 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x7 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3_babbab, (4, 0, 2, 5, 1, 3), (4, 5)) + e_pert += einsum(l1.bb, (0, 1), x7, (1, 0), ()) * 2.0 + del x7 + x8 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x8 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), t3_abaaba, (4, 5, 0, 1, 6, 3), (4, 5, 2, 6)) + x8 += einsum(v.aabb.ovvv, (0, 1, 2, 3), t3_abaaba, (4, 5, 0, 6, 3, 1), (4, 5, 6, 2)) * -1.0 + x8 += einsum(v.aabb.vvov, (0, 1, 2, 3), t3_babbab, (4, 5, 2, 6, 1, 3), (5, 4, 0, 6)) * -1.0 + x8 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), t3_babbab, (4, 5, 0, 1, 6, 3), (5, 4, 6, 2)) + e_pert += einsum(l2.abab, (0, 1, 2, 3), x8, (2, 3, 0, 1), ()) * -2.0 + del x8 + x9 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x9 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), t3_aaaaaa, (4, 5, 0, 6, 3, 1), (4, 5, 6, 2)) * -3.0 + x9 += einsum(v.aabb.vvov, (0, 1, 2, 3), t3_abaaba, (4, 2, 5, 6, 3, 1), (4, 5, 6, 0)) * -1.0 + e_pert += einsum(l2.aaaa, (0, 1, 2, 3), x9, (3, 2, 0, 1), ()) * 2.0 + del x9 + x10 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x10 += einsum(v.aabb.ovvv, (0, 1, 2, 3), t3_babbab, (4, 0, 5, 6, 1, 3), (4, 5, 6, 2)) * -1.0 + x10 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), t3_bbbbbb, (4, 5, 0, 6, 3, 1), (4, 5, 6, 2)) * -3.0 + e_pert += einsum(l2.bbbb, (0, 1, 2, 3), x10, (3, 2, 0, 1), ()) * 2.0 + del x10 + x11 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x11 += einsum(l2.abab, (0, 1, 2, 3), t3_abaaba, (4, 5, 2, 6, 1, 0), (4, 3, 5, 6)) + x11 += einsum(l2.bbbb, (0, 1, 2, 3), t3_babbab, (4, 5, 3, 0, 6, 1), (5, 2, 4, 6)) + e_pert += einsum(v.aabb.ovoo, (0, 1, 2, 3), x11, (0, 3, 2, 1), ()) * -2.0 + del x11 + x12 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x12 += einsum(l2.aaaa, (0, 1, 2, 3), t3_aaaaaa, (4, 5, 3, 6, 0, 1), (2, 4, 5, 6)) * 3.0 + x12 += einsum(l2.abab, (0, 1, 2, 3), t3_abaaba, (4, 3, 5, 6, 1, 0), (2, 4, 5, 6)) + e_pert += einsum(v.aaaa.ooov, (0, 1, 2, 3), x12, (1, 0, 2, 3), ()) * 2.0 + del x12 + x13 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x13 += einsum(l2.aaaa, (0, 1, 2, 3), t3_abaaba, (4, 5, 3, 0, 6, 1), (2, 4, 5, 6)) + x13 += einsum(l2.abab, (0, 1, 2, 3), t3_babbab, (4, 5, 3, 6, 0, 1), (2, 5, 4, 6)) + e_pert += einsum(v.aabb.ooov, (0, 1, 2, 3), x13, (1, 0, 2, 3), ()) * -2.0 + del x13 + e_pert /= 2 + + return e_pert + diff --git a/ebcc/codegen/new_bootstrap_CCSDxTx.py b/ebcc/codegen/new_bootstrap_CCSDxTx.py new file mode 100644 index 00000000..3b20822b --- /dev/null +++ b/ebcc/codegen/new_bootstrap_CCSDxTx.py @@ -0,0 +1,401 @@ +""" +Generate the CCSD(T) code. +""" + +from numbers import Number +import itertools +import re +import sys +import types + +import pdaggerq +from albert.qc._pdaggerq import import_from_pdaggerq +from albert.tensor import Tensor +from albert.algebra import Algebraic +from albert.codegen.einsum import _parse_indices + +from ebcc.codegen.bootstrap_common import * + +# Get the spin case +spin = sys.argv[1] + +# Set up the code generators +code_generators = { + "einsum": EinsumCodeGen( + stdout=open(f"{spin[0].upper()}CCSDxTx.py", "w"), + name_generator=name_generators[spin], + spin=spin, + ), +} + +# Write the preamble +for codegen in code_generators.values(): + codegen.preamble() + +# Set up pdaggerq +pq = pdaggerq.pq_helper("fermi") +pq.set_print_level(0) + +# Function for writing T3 slices +def algebraic_expression_t3(self, output, expr, already_declared=False): + """Write an algebraic expression.""" + + assert isinstance(output, Tensor) + assert isinstance(expr, (Tensor, Algebraic)) + + for i, mul_args in enumerate(expr.nested_view()): + # Separate the factors and tensors + factors = [arg for arg in mul_args if isinstance(arg, Number)] + tensors = [arg for arg in mul_args if isinstance(arg, Tensor)] + + # Get the indices + lhs = [arg.indices for arg in tensors] + rhs = output.indices + indices = _parse_indices(lhs, rhs) + to_slice = [i.name for i in output.indices[:3]] + + # Get the arguments + args = [] + for tensor, index in zip(tensors, indices): + name = self.get_name(tensor).lower() + inds = repr(index) + if len(tensors) == 2: + slices = [f"{i.name.lower()}0:{i.name.lower()}1" if i.space == i.space.upper() else ":" for i in tensor.indices] + name += f"[{', '.join(slices)}]" + args.append(name) + args.append(inds) + args.append(repr(indices[-1])) + + # Get the operator and LHS + output_name = self.get_name(output) + if len(tensors) == 1: + slices = [f"{i.name.lower()}0:{i.name.lower()}1" if i.space == i.space.upper() else ":" for i in output.indices] + output_name += f"[{', '.join(slices)}]" + operator = "=" if output_name not in self._declared else "+=" + self._declared.add(output_name) + + # Get the factor + factor = 1 + for f in factors: + factor *= f + if abs(factor - round(factor)) < 1e-12: + factor = int(round(factor)) + factor = f" * {factor}" if factor != 1 else "" + + # Write the expression + if len(tensors) > 1: + if self.einsum_kwargs: + kwargs = ", " + ", ".join(f"{k}={v}" for k, v in self.einsum_kwargs.items()) + else: + kwargs = "" + args = ", ".join(args) + self.write(f"{output_name} {operator} {self.einsum_func}({args}{kwargs}){factor}") + else: + transpose = tuple(indices[0].index(i) for i in indices[1]) + if transpose != tuple(range(len(transpose))): + targ = self.transpose_func.format(arg=args[0], transpose=transpose) + else: + targ = args[0] + copy = ".copy()" if i == 0 and not already_declared else "" + self.write(f"{output_name} {operator} {targ}{copy}{factor}") + +# Function for writing e_pert slices +def algebraic_expression_e(self, output, expr, already_declared=False): + """Write an algebraic expression.""" + + assert isinstance(output, Tensor) + assert isinstance(expr, (Tensor, Algebraic)) + + for i, mul_args in enumerate(expr.nested_view()): + # Separate the factors and tensors + factors = [arg for arg in mul_args if isinstance(arg, Number)] + tensors = [arg for arg in mul_args if isinstance(arg, Tensor)] + + # Get the indices + lhs = [arg.indices for arg in tensors] + rhs = output.indices + indices = _parse_indices(lhs, rhs) + + # Get the sliced indices + sliced_chars = None + sliced_inds = None + for tensor, index in zip(tensors, indices): + if tensor.name in self._slice_cache: + sliced_inds = index + sliced_chars = self._slice_cache[tensor.name] + break + + # Get the arguments + args = [] + for tensor, index in zip(tensors, indices): + inds = repr(index) + name = self.get_name(tensor) + chars = [sliced_chars[sliced_inds.index(i)] if i in sliced_inds else None for i in index] + if name != "t3": + name += f"[{', '.join(':' if c is None else f'{c}0:{c}1' for c in chars)}]" + args.append(name) + args.append(inds) + args.append(repr(indices[-1])) + + # Get the operator and LHS + output_name = self.get_name(output) + operator = "=" if output_name not in self._declared else "+=" + self._declared.add(output_name) + chars = [sliced_chars[sliced_inds.index(i)] if i in sliced_inds else None for i in indices[-1]] + self._slice_cache[self.get_name(output)] = chars + + # Get the factor + factor = 1 + for f in factors: + factor *= f + if abs(factor - round(factor)) < 1e-12: + factor = int(round(factor)) + factor = f" * {factor}" if factor != 1 else "" + + # Write the expression + if len(tensors) > 1: + if self.einsum_kwargs: + kwargs = ", " + ", ".join(f"{k}={v}" for k, v in self.einsum_kwargs.items()) + else: + kwargs = "" + args = ", ".join(args) + self.write(f"{output_name} {operator} {self.einsum_func}({args}{kwargs}){factor}") + else: + transpose = tuple(indices[0].index(i) for i in indices[1]) + if transpose != tuple(range(len(transpose))): + targ = self.transpose_func.format(arg=args[0], transpose=transpose) + else: + targ = args[0] + copy = ".copy()" if i == 0 and not already_declared else "" + self.write(f"{output_name} {operator} {targ}{copy}{factor}") + +with Stopwatch("Energy"): + # Get the energy contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["1"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) + pq.simplify() + terms = pq.fully_contracted_strings() + terms = remove_hf_energy(terms) + + # Get the energy in albert format + expr = import_from_pdaggerq(terms) + expr = spin_integrate(expr, spin) + output = tuple(Tensor(name="e_cc") for _ in range(len(expr))) + output, expr = optimise(output, expr, spin, strategy="exhaust") + returns = (Tensor(name="e_cc"),) + + # Generate the energy code + for codegen in code_generators.values(): + codegen( + "energy", + returns, + output, + expr, + ) + +with Stopwatch("T amplitudes"): + # Get the T1 contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["e1(i,a)"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) + pq.simplify() + terms_t1 = pq.fully_contracted_strings() + + # Get the T2 contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["e2(i,j,b,a)"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) + pq.simplify() + terms_t2 = pq.fully_contracted_strings() + + # Get the T amplitudes in albert format + terms = [terms_t1, terms_t2] + expr = [] + output = [] + returns = [] + for n in range(2): + for index_spins in get_amplitude_spins(n + 1, spin): + indices = default_indices["o"][: n + 1] + default_indices["v"][: n + 1] + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + output_n = get_t_amplitude_outputs(expr_n, f"t{n+1}new") + returns_n = (Tensor(*indices, name=f"t{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + output, expr = optimise(output, expr, spin, strategy="exhaust") + + # Generate the T amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "preamble": "t1new = Namespace()\nt2new = Namespace()" if spin == "uhf" else None, + "as_dict": True, + } + else: + kwargs = {} + codegen( + "update_amps", + returns, + output, + expr, + **kwargs, + ) + +with Stopwatch("Perturbative triples"): + # Get the T3 contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["e3(i,j,k,c,b,a)"]]) + pq.add_commutator(1.0, ["v"], ["t2"]) + pq.simplify() + terms = pq.fully_contracted_strings() + + # Get the T3 amplitudes in albert format + expr = [] + output = [] + returns = [] + for index_spins in get_amplitude_spins(3, spin): + index_spaces = {c: "O" for c in "IJK"} # Hacky, use the active space indices for the slices + index_spaces.update({c: "v" for c in "abc"}) + indices = [x.upper() for x in default_indices["o"][:3]] + default_indices["v"][:3] + expr_n = import_from_pdaggerq(terms, index_spins=index_spins, index_spaces=index_spaces) + expr_n = expr_n.map_indices({i: Index(i.name.upper(), space="O", spin=i.spin) for i in expr_n.external_indices if i.name in "ijk"}) + expr_n = spin_integrate(expr_n, spin) + output_n = get_t_amplitude_outputs(expr_n, f"t3", indices=indices) + output_n = [o.map_indices({i: i.to_space(index_spaces.get(i.name, None)) for i in o.indices}) for o in output_n] + returns_n = (Tensor(*indices, name=f"t3"),) + output_n, expr_n = optimise(output_n, expr_n, spin, strategy="exhaust") + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + output, expr = optimise(output, expr, spin, strategy="exhaust") + + # Generate the T3 amplitude code + for name, codegen in code_generators.items(): + preamble = "" + if name == "einsum": + _algebraic_expression = codegen.algebraic_expression + codegen.algebraic_expression = types.MethodType(algebraic_expression_t3, codegen) + if spin in ("rhf", "ghf"): + preamble += "t3 = Namespace()\n" + preamble += "i0 = kwargs[\"i0\"]\n" + preamble += "j0 = kwargs[\"j0\"]\n" + preamble += "k0 = kwargs[\"k0\"]\n" + preamble += "i1 = kwargs[\"i1\"]\n" + preamble += "j1 = kwargs[\"j1\"]\n" + preamble += "k1 = kwargs[\"k1\"]\n" + else: + 1/0 + codegen._declared = set() + codegen( + "_get_t3", + returns, + output, + expr, + preamble=preamble, + ) + if name == "einsum": + codegen.algebraic_expression = _algebraic_expression + del codegen._declared + + # Get the energy contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["l1"], ["l2"]]) + pq.add_commutator(1.0, ["v"], ["t3"]) + pq.simplify() + terms = pq.fully_contracted_strings() + + # Get the energy in albert format + expr = import_from_pdaggerq(terms) + expr = spin_integrate(expr, spin) + output = tuple(Tensor(name="e_pert") for _ in range(len(expr))) + output, expr = optimise(output, expr, spin, strategy="exhaust") + returns = (Tensor(name="e_pert"),) + + # Insert the slices + new_output = [] + new_expr = [] + + # Generate the energy code + for codegen in code_generators.values(): + if name == "einsum": + _algebraic_expression = codegen.algebraic_expression + codegen._slice_cache = {"t3": ["i", "j", "k", None, None, None]} + codegen.algebraic_expression = types.MethodType(algebraic_expression_e, codegen) + preamble = "" + if spin in ("rhf", "ghf"): + preamble += "i0 = kwargs[\"i0\"]\n" + preamble += "j0 = kwargs[\"j0\"]\n" + preamble += "k0 = kwargs[\"k0\"]\n" + preamble += "i1 = kwargs[\"i1\"]\n" + preamble += "j1 = kwargs[\"j1\"]\n" + preamble += "k1 = kwargs[\"k1\"]\n" + else: + 1/0 + codegen._declared = set() + codegen( + "_et_block", + returns, + output, + expr, + preamble=preamble, + ) + if name == "einsum": + codegen.algebraic_expression = _algebraic_expression + del codegen._slice_cache + del codegen._declared + + for codegen in code_generators.values(): + if name == "einsum": + # Generate the energy function + codegen.function_declaration("energy_perturbative", ["f", "l1", "l2", "t2", "v"]) + codegen.indent() + + # Write the function docstring + metadata = codegen.get_metadata() + docstring = f"Code generated by `albert` {metadata['albert_version']} on {metadata['date']}.\n" + docstring += "\n" + docstring += "Parameters\n----------\n" + docstring += "f : array\n" + docstring += "l1 : array\n" + docstring += "l2 : array\n" + docstring += "l2 : array\n" + docstring += "v : array\n" + docstring += "\n" + docstring += "Returns\n-------\n" + docstring += "e_pert : float" + codegen.function_docstring(docstring) + codegen.blank() + code = "" + code += "ei = f.oo.diagonal()\n" + code += "ea = f.vv.diagonal()\n" + code += "eabc = direct_sum(\"a,b,c->abc\", -ea, -ea, -ea)\n" + code += "block_size = kwargs.get(\"block_size\", 32)\n" + code += "\n" + code += "e_pert = 0.0\n" + code += "for i0 in range(l1.shape[1]):\n" + code += " for j0 in range(l1.shape[1]):\n" + code += " for k0 in range(0, l1.shape[1], block_size):\n" + code += " i1 = i0 + 1\n" + code += " j1 = j0 + 1\n" + code += " k1 = min(k0 + block_size, l1.shape[1])\n" + code += " t3 = _get_t3(l1=l1, l2=l2, t2=t2, v=v, i0=i0, j0=j0, k0=k0, i1=i1, j1=j1, k1=k1)\n" + for i, j, k in itertools.permutations("ijk"): + code += f" if hasattr(t3, \"{i}{j}{k}\"):\n" + code += f" t3_block = t3.{i}{j}{k}\n" + code += f" t3_block /= direct_sum(\"i,j,k,abc->ijkabc\", ei[{i}0:{i}1], ei[{j}0:{j}1], ei[{k}0:{k}1], eabc)\n" + code += f" e_pert += _et_block(l1=l1, l2=l2, t2=t2, t3=t3_block, v=v, i0={i}0, j0={j}0, k0={k}0, i1={i}1, j1={j}1, k1={k}1)\n" + code += f" del t3_block\n" + codegen.write(code) + codegen.function_return(["e_pert"]) + codegen.dedent() + codegen.blank() + + +for codegen in code_generators.values(): + codegen.postamble() + codegen.stdout.close() From 55c57a17bb2456f1be06ac3fa12413b33d1e2856 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Sat, 27 Jul 2024 17:15:20 +0100 Subject: [PATCH 049/168] Add CCSDtp for now --- ebcc/codegen/GCCSDtp.py | 966 +++++ ebcc/codegen/RCCSDtp.py | 987 ++++++ ebcc/codegen/UCCSDtp.py | 7454 +++++++++++++++++++++++++++++++++++++++ 3 files changed, 9407 insertions(+) create mode 100644 ebcc/codegen/GCCSDtp.py create mode 100644 ebcc/codegen/RCCSDtp.py create mode 100644 ebcc/codegen/UCCSDtp.py diff --git a/ebcc/codegen/GCCSDtp.py b/ebcc/codegen/GCCSDtp.py new file mode 100644 index 00000000..3ee98066 --- /dev/null +++ b/ebcc/codegen/GCCSDtp.py @@ -0,0 +1,966 @@ +# Code generated for ebcc. + +from ebcc import numpy as np +from ebcc.util import pack_2e, einsum, Namespace +from ebcc.precision import types + +def energy(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, t3=None, **kwargs): + # energy + e_cc = 0 + e_cc += einsum(f.ov, (0, 1), t1, (0, 1), ()) + x0 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x0 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) + x0 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) * 2.0 + e_cc += einsum(v.oovv, (0, 1, 2, 3), x0, (0, 1, 2, 3), ()) * 0.25 + del x0 + + return e_cc + +def update_amps(f=None, v=None, space=None, t1=None, t2=None, t3=None, **kwargs): + nocc = space.ncocc + nvir = space.ncvir + naocc = space.naocc + navir = space.navir + so = np.ones((nocc,), dtype=bool) + sv = np.ones((nvir,), dtype=bool) + sO = space.active[space.correlated][space.occupied[space.correlated]] + sV = space.active[space.correlated][space.virtual[space.correlated]] + + # T amplitudes + t1new = np.zeros(((nocc, nvir)), dtype=types[float]) + t1new[np.ix_(so,sv)] += einsum(f.ov, (0, 1), (0, 1)) + t1new[np.ix_(so,sv)] += einsum(f.oo, (0, 1), t1[np.ix_(so,sv)], (1, 2), (0, 2)) * -1.0 + t1new[np.ix_(so,sv)] += einsum(f.vv, (0, 1), t1[np.ix_(so,sv)], (2, 1), (2, 0)) + t1new[np.ix_(so,sv)] += einsum(f.ov, (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 0, 3, 1), (2, 3)) + t1new[np.ix_(so,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), v.ovov, (2, 1, 0, 3), (2, 3)) * -1.0 + t1new[np.ix_(so,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.ooov, (0, 1, 4, 3), (4, 2)) * -0.5 + t1new[np.ix_(so,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.ovvv, (1, 4, 2, 3), (0, 4)) * -0.5 + t1new[np.ix_(sO,sV)] += einsum(v.OOVV, (0, 1, 2, 3), t3, (4, 0, 1, 5, 2, 3), (4, 5)) * 0.25 + t2new = np.zeros(((nocc, nocc, nvir, nvir)), dtype=types[float]) + t2new[np.ix_(so,so,sv,sv)] += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) + t2new[np.ix_(sO,sO,sV,sV)] += einsum(f.OV, (0, 1), t3, (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) + t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.oooo, (4, 5, 0, 1), (4, 5, 2, 3)) * 0.5 + t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.vvvv, (4, 5, 2, 3), (0, 1, 4, 5)) * 0.5 + x0 = np.zeros((nocc, nocc), dtype=types[float]) + x0 += einsum(f.ov, (0, 1), t1[np.ix_(so,sv)], (2, 1), (0, 2)) + t1new[np.ix_(so,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), x0, (0, 2), (2, 1)) * -1.0 + x1 = np.zeros((nocc, nocc), dtype=types[float]) + x1 += einsum(t1[np.ix_(so,sv)], (0, 1), v.ooov, (2, 0, 3, 1), (2, 3)) + t1new[np.ix_(so,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), x1, (0, 2), (2, 1)) * -1.0 + x2 = np.zeros((nvir, nvir), dtype=types[float]) + x2 += einsum(t1[np.ix_(so,sv)], (0, 1), v.ovvv, (0, 2, 3, 1), (2, 3)) + t1new[np.ix_(so,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), x2, (2, 1), (0, 2)) * -1.0 + x3 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x3 += einsum(t1[np.ix_(so,sv)], (0, 1), v.oovv, (2, 3, 4, 1), (0, 2, 3, 4)) + t1new[np.ix_(so,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x3, (4, 0, 1, 3), (4, 2)) * 0.5 + x4 = np.zeros((nocc, nocc), dtype=types[float]) + x4 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.oovv, (4, 1, 2, 3), (0, 4)) + t1new[np.ix_(so,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), x4, (2, 0), (2, 1)) * -0.5 + x5 = np.zeros((nocc, nvir), dtype=types[float]) + x5 += einsum(t1[np.ix_(so,sv)], (0, 1), v.oovv, (2, 0, 3, 1), (2, 3)) + t1new[np.ix_(so,sv)] += einsum(x5, (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 0, 3, 1), (2, 3)) + x6 = np.zeros((nocc, nocc), dtype=types[float]) + x6 += einsum(t1[np.ix_(so,sv)], (0, 1), x5, (2, 1), (0, 2)) + t1new[np.ix_(so,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), x6, (2, 0), (2, 1)) * -1.0 + x7 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x7 += einsum(f.oo, (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 1, 3, 4), (0, 2, 3, 4)) + t2new[np.ix_(so,so,sv,sv)] += einsum(x7, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + t2new[np.ix_(so,so,sv,sv)] += einsum(x7, (0, 1, 2, 3), (1, 0, 3, 2)) + del x7 + x8 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x8 += einsum(f.vv, (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 1), (2, 3, 0, 4)) + t2new[np.ix_(so,so,sv,sv)] += einsum(x8, (0, 1, 2, 3), (1, 0, 2, 3)) + t2new[np.ix_(so,so,sv,sv)] += einsum(x8, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x8 + x9 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x9 += einsum(t1[np.ix_(so,sv)], (0, 1), v.ooov, (2, 3, 0, 4), (2, 3, 1, 4)) + t2new[np.ix_(so,so,sv,sv)] += einsum(x9, (0, 1, 2, 3), (1, 0, 2, 3)) + t2new[np.ix_(so,so,sv,sv)] += einsum(x9, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x9 + x10 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x10 += einsum(t1[np.ix_(so,sv)], (0, 1), v.ovvv, (2, 1, 3, 4), (0, 2, 3, 4)) + t2new[np.ix_(so,so,sv,sv)] += einsum(x10, (0, 1, 2, 3), (0, 1, 3, 2)) + t2new[np.ix_(so,so,sv,sv)] += einsum(x10, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x10 + x11 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x11 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.ovov, (4, 3, 1, 5), (0, 4, 2, 5)) + t2new[np.ix_(so,so,sv,sv)] += einsum(x11, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + t2new[np.ix_(so,so,sv,sv)] += einsum(x11, (0, 1, 2, 3), (0, 1, 3, 2)) + t2new[np.ix_(so,so,sv,sv)] += einsum(x11, (0, 1, 2, 3), (1, 0, 2, 3)) + t2new[np.ix_(so,so,sv,sv)] += einsum(x11, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x11 + x12 = np.zeros((naocc, navir, navir, nocc), dtype=types[float]) + x12 += einsum(v.oVOO, (0, 1, 2, 3), t3, (4, 2, 3, 5, 6, 1), (4, 5, 6, 0)) * -1.0 + t2new[np.ix_(so,sO,sV,sV)] += einsum(x12, (0, 1, 2, 3), (3, 0, 2, 1)) * 0.5 + t2new[np.ix_(sO,so,sV,sV)] += einsum(x12, (0, 1, 2, 3), (0, 3, 2, 1)) * -0.5 + del x12 + x13 = np.zeros((naocc, naocc, navir, nvir), dtype=types[float]) + x13 += einsum(v.vOVV, (0, 1, 2, 3), t3, (4, 5, 1, 6, 2, 3), (4, 5, 6, 0)) * -1.0 + t2new[np.ix_(sO,sO,sv,sV)] += einsum(x13, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.5 + t2new[np.ix_(sO,sO,sV,sv)] += einsum(x13, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 + del x13 + x14 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x14 += einsum(x0, (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 0, 3, 4), (1, 2, 3, 4)) + del x0 + t2new[np.ix_(so,so,sv,sv)] += einsum(x14, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + t2new[np.ix_(so,so,sv,sv)] += einsum(x14, (0, 1, 2, 3), (1, 0, 3, 2)) + del x14 + x15 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x15 += einsum(f.ov, (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 1), (0, 2, 3, 4)) + x16 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x16 += einsum(t1[np.ix_(so,sv)], (0, 1), x15, (0, 2, 3, 4), (2, 3, 1, 4)) + del x15 + t2new[np.ix_(so,so,sv,sv)] += einsum(x16, (0, 1, 2, 3), (0, 1, 2, 3)) + t2new[np.ix_(so,so,sv,sv)] += einsum(x16, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x16 + x17 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x17 += einsum(t1[np.ix_(so,sv)], (0, 1), v.oooo, (2, 3, 4, 0), (2, 3, 4, 1)) + t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), x17, (2, 3, 0, 4), (2, 3, 1, 4)) + del x17 + x18 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x18 += einsum(t1[np.ix_(so,sv)], (0, 1), v.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) + x19 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x19 += einsum(t1[np.ix_(so,sv)], (0, 1), x18, (2, 0, 3, 4), (2, 3, 1, 4)) + del x18 + t2new[np.ix_(so,so,sv,sv)] += einsum(x19, (0, 1, 2, 3), (0, 1, 2, 3)) + t2new[np.ix_(so,so,sv,sv)] += einsum(x19, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + t2new[np.ix_(so,so,sv,sv)] += einsum(x19, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + t2new[np.ix_(so,so,sv,sv)] += einsum(x19, (0, 1, 2, 3), (1, 0, 3, 2)) + del x19 + x20 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x20 += einsum(t1[np.ix_(so,sv)], (0, 1), v.vvvv, (2, 3, 4, 1), (0, 2, 3, 4)) + t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), x20, (2, 3, 4, 1), (0, 2, 4, 3)) * -1.0 + del x20 + x21 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x21 += einsum(t1[np.ix_(so,sv)], (0, 1), v.ooov, (2, 3, 4, 1), (0, 2, 3, 4)) + x22 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x22 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x21, (4, 0, 1, 5), (4, 5, 2, 3)) + t2new[np.ix_(so,so,sv,sv)] += einsum(x22, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.5 + t2new[np.ix_(so,so,sv,sv)] += einsum(x22, (0, 1, 2, 3), (1, 0, 3, 2)) * -0.5 + del x22 + x23 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x23 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.ooov, (4, 1, 5, 3), (0, 4, 5, 2)) + x24 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x24 += einsum(t1[np.ix_(so,sv)], (0, 1), x23, (2, 0, 3, 4), (2, 3, 1, 4)) + del x23 + t2new[np.ix_(so,so,sv,sv)] += einsum(x24, (0, 1, 2, 3), (0, 1, 2, 3)) + t2new[np.ix_(so,so,sv,sv)] += einsum(x24, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + t2new[np.ix_(so,so,sv,sv)] += einsum(x24, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + t2new[np.ix_(so,so,sv,sv)] += einsum(x24, (0, 1, 2, 3), (1, 0, 3, 2)) + del x24 + x25 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x25 += einsum(x1, (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 0, 3, 4), (2, 1, 3, 4)) * -1.0 + del x1 + t2new[np.ix_(so,so,sv,sv)] += einsum(x25, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + t2new[np.ix_(so,so,sv,sv)] += einsum(x25, (0, 1, 2, 3), (1, 0, 3, 2)) + del x25 + x26 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x26 += einsum(t1[np.ix_(so,sv)], (0, 1), v.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) + x27 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x27 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x26, (4, 1, 5, 3), (4, 0, 2, 5)) * -1.0 + t2new[np.ix_(so,so,sv,sv)] += einsum(x27, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + t2new[np.ix_(so,so,sv,sv)] += einsum(x27, (0, 1, 2, 3), (0, 1, 2, 3)) + t2new[np.ix_(so,so,sv,sv)] += einsum(x27, (0, 1, 2, 3), (1, 0, 3, 2)) + t2new[np.ix_(so,so,sv,sv)] += einsum(x27, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x27 + x28 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x28 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.ovvv, (4, 5, 2, 3), (0, 1, 4, 5)) + x29 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x29 += einsum(t1[np.ix_(so,sv)], (0, 1), x28, (2, 3, 0, 4), (2, 3, 1, 4)) + del x28 + t2new[np.ix_(so,so,sv,sv)] += einsum(x29, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 + t2new[np.ix_(so,so,sv,sv)] += einsum(x29, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.5 + del x29 + x30 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x30 += einsum(x2, (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 1), (2, 3, 4, 0)) * -1.0 + del x2 + t2new[np.ix_(so,so,sv,sv)] += einsum(x30, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + t2new[np.ix_(so,so,sv,sv)] += einsum(x30, (0, 1, 2, 3), (0, 1, 2, 3)) + del x30 + x31 = np.zeros((naocc, naocc, navir, nocc), dtype=types[float]) + x31 += einsum(t1[np.ix_(so,sv)], (0, 1), v.vVOO, (1, 2, 3, 4), (3, 4, 2, 0)) * -1.0 + x32 = np.zeros((naocc, navir, navir, nocc), dtype=types[float]) + x32 += einsum(x31, (0, 1, 2, 3), t3, (4, 0, 1, 5, 6, 2), (4, 5, 6, 3)) + del x31 + t2new[np.ix_(so,sO,sV,sV)] += einsum(x32, (0, 1, 2, 3), (3, 0, 2, 1)) * 0.5 + t2new[np.ix_(sO,so,sV,sV)] += einsum(x32, (0, 1, 2, 3), (0, 3, 2, 1)) * -0.5 + del x32 + x33 = np.zeros((naocc, naocc, navir, nocc), dtype=types[float]) + x33 += einsum(v.oOVV, (0, 1, 2, 3), t3, (4, 5, 1, 6, 2, 3), (4, 5, 6, 0)) * -1.0 + x34 = np.zeros((naocc, naocc, navir, nvir), dtype=types[float]) + x34 += einsum(t1[np.ix_(so,sv)], (0, 1), x33, (2, 3, 4, 0), (3, 2, 4, 1)) * -1.0 + del x33 + t2new[np.ix_(sO,sO,sv,sV)] += einsum(x34, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.5 + t2new[np.ix_(sO,sO,sV,sv)] += einsum(x34, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 + del x34 + x35 = np.zeros((naocc, navir), dtype=types[float]) + x35 += einsum(t1[np.ix_(so,sv)], (0, 1), v.oOvV, (0, 2, 1, 3), (2, 3)) + t2new[np.ix_(sO,sO,sV,sV)] += einsum(x35, (0, 1), t3, (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) + del x35 + x36 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x36 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.oovv, (4, 1, 5, 3), (0, 4, 2, 5)) + x37 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x37 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x36, (4, 1, 5, 3), (4, 0, 5, 2)) + del x36 + t2new[np.ix_(so,so,sv,sv)] += einsum(x37, (0, 1, 2, 3), (0, 1, 2, 3)) + t2new[np.ix_(so,so,sv,sv)] += einsum(x37, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x37 + x38 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x38 += einsum(x4, (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 1, 3, 4), (2, 0, 3, 4)) + del x4 + t2new[np.ix_(so,so,sv,sv)] += einsum(x38, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.5 + t2new[np.ix_(so,so,sv,sv)] += einsum(x38, (0, 1, 2, 3), (1, 0, 3, 2)) * -0.5 + del x38 + x39 = np.zeros((nvir, nvir), dtype=types[float]) + x39 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.oovv, (0, 1, 4, 3), (2, 4)) + x40 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x40 += einsum(x39, (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 1), (2, 3, 4, 0)) + del x39 + t2new[np.ix_(so,so,sv,sv)] += einsum(x40, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 + t2new[np.ix_(so,so,sv,sv)] += einsum(x40, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.5 + del x40 + x41 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x41 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.oovv, (4, 5, 2, 3), (0, 1, 4, 5)) + t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x41, (4, 5, 0, 1), (5, 4, 2, 3)) * -0.25 + x42 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x42 += einsum(t1[np.ix_(so,sv)], (0, 1), x21, (2, 0, 3, 4), (2, 3, 4, 1)) * -1.0 + del x21 + x43 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x43 += einsum(t1[np.ix_(so,sv)], (0, 1), x42, (2, 0, 3, 4), (2, 3, 4, 1)) * -1.0 + del x42 + t2new[np.ix_(so,so,sv,sv)] += einsum(x43, (0, 1, 2, 3), (0, 1, 3, 2)) + t2new[np.ix_(so,so,sv,sv)] += einsum(x43, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x43 + x44 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x44 += einsum(t1[np.ix_(so,sv)], (0, 1), x26, (2, 3, 4, 1), (2, 0, 3, 4)) * -1.0 + del x26 + x45 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x45 += einsum(t1[np.ix_(so,sv)], (0, 1), x44, (2, 3, 0, 4), (3, 2, 1, 4)) * -1.0 + del x44 + t2new[np.ix_(so,so,sv,sv)] += einsum(x45, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + t2new[np.ix_(so,so,sv,sv)] += einsum(x45, (0, 1, 2, 3), (0, 1, 3, 2)) + del x45 + x46 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x46 += einsum(t1[np.ix_(so,sv)], (0, 1), x3, (2, 3, 4, 1), (2, 0, 4, 3)) + t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x46, (4, 5, 0, 1), (5, 4, 2, 3)) * -0.5 + x47 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x47 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x3, (4, 1, 5, 3), (4, 0, 5, 2)) + del x3 + x48 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x48 += einsum(t1[np.ix_(so,sv)], (0, 1), x47, (2, 3, 0, 4), (2, 3, 1, 4)) + del x47 + t2new[np.ix_(so,so,sv,sv)] += einsum(x48, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + t2new[np.ix_(so,so,sv,sv)] += einsum(x48, (0, 1, 2, 3), (0, 1, 3, 2)) + t2new[np.ix_(so,so,sv,sv)] += einsum(x48, (0, 1, 2, 3), (1, 0, 2, 3)) + t2new[np.ix_(so,so,sv,sv)] += einsum(x48, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x48 + x49 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x49 += einsum(x6, (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 1, 3, 4), (0, 2, 3, 4)) * -1.0 + del x6 + t2new[np.ix_(so,so,sv,sv)] += einsum(x49, (0, 1, 2, 3), (0, 1, 3, 2)) + t2new[np.ix_(so,so,sv,sv)] += einsum(x49, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x49 + x50 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x50 += einsum(t1[np.ix_(so,sv)], (0, 1), x41, (2, 3, 0, 4), (2, 3, 4, 1)) * -1.0 + del x41 + t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), x50, (2, 3, 0, 4), (2, 3, 1, 4)) * 0.5 + del x50 + x51 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x51 += einsum(x5, (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 1), (2, 3, 0, 4)) * -1.0 + x52 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x52 += einsum(t1[np.ix_(so,sv)], (0, 1), x51, (2, 3, 0, 4), (2, 3, 1, 4)) + del x51 + t2new[np.ix_(so,so,sv,sv)] += einsum(x52, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + t2new[np.ix_(so,so,sv,sv)] += einsum(x52, (0, 1, 2, 3), (0, 1, 3, 2)) + del x52 + x53 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x53 += einsum(t1[np.ix_(so,sv)], (0, 1), x46, (2, 3, 4, 0), (2, 3, 4, 1)) + del x46 + t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), x53, (2, 3, 0, 4), (3, 2, 1, 4)) * -1.0 + del x53 + x54 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) + x54 += einsum(f.OO, (0, 1), t3, (2, 3, 1, 4, 5, 6), (0, 2, 3, 4, 5, 6)) + t3new = np.zeros(((naocc, naocc, naocc, navir, navir, navir)), dtype=types[float]) + t3new += einsum(x54, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) + t3new += einsum(x54, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) + t3new += einsum(x54, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 + del x54 + x55 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) + x55 += einsum(f.VV, (0, 1), t3, (2, 3, 4, 5, 6, 1), (2, 3, 4, 0, 5, 6)) + t3new += einsum(x55, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 + t3new += einsum(x55, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) + t3new += einsum(x55, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -1.0 + del x55 + x56 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) + x56 += einsum(t2[np.ix_(so,sO,sV,sV)], (0, 1, 2, 3), v.oVOO, (0, 4, 5, 6), (1, 5, 6, 2, 3, 4)) + t3new += einsum(x56, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) + t3new += einsum(x56, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 + t3new += einsum(x56, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) + t3new += einsum(x56, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) + t3new += einsum(x56, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -1.0 + t3new += einsum(x56, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) + t3new += einsum(x56, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * -1.0 + t3new += einsum(x56, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) + t3new += einsum(x56, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -1.0 + del x56 + x57 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) + x57 += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), v.vOVV, (2, 4, 5, 6), (0, 1, 4, 3, 5, 6)) + t3new += einsum(x57, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + t3new += einsum(x57, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) + t3new += einsum(x57, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -1.0 + t3new += einsum(x57, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) + t3new += einsum(x57, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -1.0 + t3new += einsum(x57, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) + t3new += einsum(x57, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -1.0 + t3new += einsum(x57, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) + t3new += einsum(x57, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -1.0 + del x57 + x58 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) + x58 += einsum(v.OOOO, (0, 1, 2, 3), t3, (4, 2, 3, 5, 6, 7), (4, 0, 1, 5, 6, 7)) + t3new += einsum(x58, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 0.5 + t3new += einsum(x58, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -0.5 + t3new += einsum(x58, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -0.5 + del x58 + x59 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) + x59 += einsum(v.OVOV, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 1), (4, 5, 0, 6, 7, 3)) + t3new += einsum(x59, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -1.0 + t3new += einsum(x59, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) + t3new += einsum(x59, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -1.0 + t3new += einsum(x59, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -1.0 + t3new += einsum(x59, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) + t3new += einsum(x59, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -1.0 + t3new += einsum(x59, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) + t3new += einsum(x59, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -1.0 + t3new += einsum(x59, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) + del x59 + x60 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) + x60 += einsum(v.VVVV, (0, 1, 2, 3), t3, (4, 5, 6, 7, 2, 3), (4, 5, 6, 7, 0, 1)) + t3new += einsum(x60, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -0.5 + t3new += einsum(x60, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * 0.5 + t3new += einsum(x60, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -0.5 + del x60 + x61 = np.zeros((naocc, naocc), dtype=types[float]) + x61 += einsum(f.vO, (0, 1), t1[np.ix_(sO,sv)], (2, 0), (1, 2)) + x62 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) + x62 += einsum(x61, (0, 1), t3, (2, 3, 0, 4, 5, 6), (1, 2, 3, 4, 5, 6)) + del x61 + t3new += einsum(x62, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) + t3new += einsum(x62, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) + t3new += einsum(x62, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 + del x62 + x63 = np.zeros((navir, navir), dtype=types[float]) + x63 += einsum(f.oV, (0, 1), t1[np.ix_(so,sV)], (0, 2), (1, 2)) + x64 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) + x64 += einsum(x63, (0, 1), t3, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) + del x63 + t3new += einsum(x64, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) + t3new += einsum(x64, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -1.0 + t3new += einsum(x64, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) + del x64 + x65 = np.zeros((naocc, naocc, navir, nocc), dtype=types[float]) + x65 += einsum(f.ov, (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 1, 4), (2, 3, 4, 0)) * -1.0 + x66 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) + x66 += einsum(t2[np.ix_(so,sO,sV,sV)], (0, 1, 2, 3), x65, (4, 5, 6, 0), (5, 4, 1, 6, 2, 3)) + del x65 + t3new += einsum(x66, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + t3new += einsum(x66, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -1.0 + t3new += einsum(x66, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) + t3new += einsum(x66, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * -1.0 + t3new += einsum(x66, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) + t3new += einsum(x66, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) + t3new += einsum(x66, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 + t3new += einsum(x66, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) + t3new += einsum(x66, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -1.0 + del x66 + x67 = np.zeros((naocc, naocc, naocc, navir, navir, nocc), dtype=types[float]) + x67 += einsum(t2[np.ix_(so,sO,sV,sV)], (0, 1, 2, 3), v.ooOO, (4, 0, 5, 6), (1, 5, 6, 2, 3, 4)) * -1.0 + x68 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) + x68 += einsum(t1[np.ix_(so,sV)], (0, 1), x67, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) + del x67 + t3new += einsum(x68, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + t3new += einsum(x68, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * -1.0 + t3new += einsum(x68, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) + t3new += einsum(x68, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) + t3new += einsum(x68, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) + t3new += einsum(x68, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -1.0 + t3new += einsum(x68, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -1.0 + t3new += einsum(x68, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -1.0 + t3new += einsum(x68, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) + del x68 + x69 = np.zeros((naocc, naocc, navir, nocc), dtype=types[float]) + x69 += einsum(t1[np.ix_(sO,sv)], (0, 1), v.oVvO, (2, 3, 1, 4), (0, 4, 3, 2)) + x70 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) + x70 += einsum(t2[np.ix_(so,sO,sV,sV)], (0, 1, 2, 3), x69, (4, 5, 6, 0), (4, 1, 5, 2, 3, 6)) * -1.0 + del x69 + t3new += einsum(x70, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 + t3new += einsum(x70, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) + t3new += einsum(x70, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -1.0 + t3new += einsum(x70, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) + t3new += einsum(x70, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 + t3new += einsum(x70, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) + t3new += einsum(x70, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) + t3new += einsum(x70, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -1.0 + t3new += einsum(x70, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) + t3new += einsum(x70, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -1.0 + t3new += einsum(x70, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) + t3new += einsum(x70, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) * -1.0 + t3new += einsum(x70, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * -1.0 + t3new += einsum(x70, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) + t3new += einsum(x70, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -1.0 + t3new += einsum(x70, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) + t3new += einsum(x70, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -1.0 + t3new += einsum(x70, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) + del x70 + x71 = np.zeros((naocc, naocc, naocc, navir, navir, nocc), dtype=types[float]) + x71 += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), v.oVvO, (4, 5, 2, 6), (0, 1, 6, 3, 5, 4)) * -1.0 + x72 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) + x72 += einsum(t1[np.ix_(so,sV)], (0, 1), x71, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) + del x71 + t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 + t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 + t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -1.0 + t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) + t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) + t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -1.0 + t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 + t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) + t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) + t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * -1.0 + t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 + t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) + t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) + t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -1.0 + t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -1.0 + t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) + del x72 + x73 = np.zeros((naocc, naocc, navir, navir, navir, nvir), dtype=types[float]) + x73 += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), v.vvVV, (4, 2, 5, 6), (0, 1, 3, 5, 6, 4)) * -1.0 + x74 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) + x74 += einsum(t1[np.ix_(sO,sv)], (0, 1), x73, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) + del x73 + t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -1.0 + t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) + t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -1.0 + t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) + t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * -1.0 + t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) + t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -1.0 + t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) + del x74 + x75 = np.zeros((naocc, naocc, naocc, naocc), dtype=types[float]) + x75 += einsum(t1[np.ix_(sO,sv)], (0, 1), v.vOOO, (1, 2, 3, 4), (0, 3, 4, 2)) * -1.0 + x76 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) + x76 += einsum(x75, (0, 1, 2, 3), t3, (4, 2, 1, 5, 6, 7), (0, 4, 3, 5, 6, 7)) * -1.0 + del x75 + t3new += einsum(x76, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -0.5 + t3new += einsum(x76, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 0.5 + t3new += einsum(x76, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * 0.5 + t3new += einsum(x76, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -0.5 + t3new += einsum(x76, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -0.5 + t3new += einsum(x76, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 0.5 + del x76 + x77 = np.zeros((naocc, naocc, navir, navir), dtype=types[float]) + x77 += einsum(t1[np.ix_(so,sV)], (0, 1), v.oOOV, (0, 2, 3, 4), (3, 2, 1, 4)) * -1.0 + x78 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) + x78 += einsum(x77, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (4, 5, 0, 2, 6, 7)) + del x77 + t3new += einsum(x78, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) + t3new += einsum(x78, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + t3new += einsum(x78, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 + t3new += einsum(x78, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * -1.0 + t3new += einsum(x78, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -1.0 + t3new += einsum(x78, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) + t3new += einsum(x78, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) + t3new += einsum(x78, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) + t3new += einsum(x78, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -1.0 + del x78 + x79 = np.zeros((naocc, naocc), dtype=types[float]) + x79 += einsum(t1[np.ix_(so,sv)], (0, 1), v.oOvO, (0, 2, 1, 3), (2, 3)) + x80 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) + x80 += einsum(x79, (0, 1), t3, (2, 3, 0, 4, 5, 6), (2, 3, 1, 4, 5, 6)) + del x79 + t3new += einsum(x80, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) + t3new += einsum(x80, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) + t3new += einsum(x80, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -1.0 + del x80 + x81 = np.zeros((naocc, naocc, navir, navir), dtype=types[float]) + x81 += einsum(t1[np.ix_(sO,sv)], (0, 1), v.vVOV, (1, 2, 3, 4), (0, 3, 4, 2)) * -1.0 + x82 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) + x82 += einsum(x81, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (0, 4, 5, 6, 7, 2)) + del x81 + t3new += einsum(x82, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) + t3new += einsum(x82, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 + t3new += einsum(x82, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) + t3new += einsum(x82, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) + t3new += einsum(x82, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -1.0 + t3new += einsum(x82, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) + t3new += einsum(x82, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -1.0 + t3new += einsum(x82, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) + t3new += einsum(x82, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * -1.0 + del x82 + x83 = np.zeros((navir, navir, navir, navir), dtype=types[float]) + x83 += einsum(t1[np.ix_(so,sV)], (0, 1), v.oVVV, (0, 2, 3, 4), (1, 3, 4, 2)) * -1.0 + x84 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) + x84 += einsum(x83, (0, 1, 2, 3), t3, (4, 5, 6, 7, 1, 2), (4, 5, 6, 0, 7, 3)) + del x83 + t3new += einsum(x84, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 0.5 + t3new += einsum(x84, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -0.5 + t3new += einsum(x84, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -0.5 + t3new += einsum(x84, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 0.5 + t3new += einsum(x84, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 0.5 + t3new += einsum(x84, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -0.5 + del x84 + x85 = np.zeros((navir, navir), dtype=types[float]) + x85 += einsum(t1[np.ix_(so,sv)], (0, 1), v.oVvV, (0, 2, 1, 3), (2, 3)) + x86 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) + x86 += einsum(x85, (0, 1), t3, (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 6, 0)) + del x85 + t3new += einsum(x86, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -1.0 + t3new += einsum(x86, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) + t3new += einsum(x86, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 + del x86 + x87 = np.zeros((naocc, naocc, navir, nocc), dtype=types[float]) + x87 += einsum(t2[np.ix_(so,sO,sv,sV)], (0, 1, 2, 3), v.oovO, (4, 0, 2, 5), (1, 5, 3, 4)) * -1.0 + x88 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) + x88 += einsum(t2[np.ix_(so,sO,sV,sV)], (0, 1, 2, 3), x87, (4, 5, 6, 0), (1, 4, 5, 2, 3, 6)) * -1.0 + del x87 + t3new += einsum(x88, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) + t3new += einsum(x88, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) + t3new += einsum(x88, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 + t3new += einsum(x88, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -1.0 + t3new += einsum(x88, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -1.0 + t3new += einsum(x88, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) + t3new += einsum(x88, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 + t3new += einsum(x88, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -1.0 + t3new += einsum(x88, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) + t3new += einsum(x88, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) + t3new += einsum(x88, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) + t3new += einsum(x88, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * -1.0 + t3new += einsum(x88, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) + t3new += einsum(x88, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) + t3new += einsum(x88, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -1.0 + t3new += einsum(x88, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) * -1.0 + t3new += einsum(x88, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -1.0 + t3new += einsum(x88, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) + del x88 + x89 = np.zeros((naocc, navir, navir, nvir), dtype=types[float]) + x89 += einsum(t2[np.ix_(so,so,sV,sV)], (0, 1, 2, 3), v.oovO, (0, 1, 4, 5), (5, 2, 3, 4)) * -1.0 + x90 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) + x90 += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), x89, (4, 5, 6, 2), (0, 1, 4, 3, 5, 6)) * -1.0 + del x89 + t3new += einsum(x90, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 0.5 + t3new += einsum(x90, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -0.5 + t3new += einsum(x90, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 0.5 + t3new += einsum(x90, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -0.5 + t3new += einsum(x90, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 0.5 + t3new += einsum(x90, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -0.5 + t3new += einsum(x90, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -0.5 + t3new += einsum(x90, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * 0.5 + t3new += einsum(x90, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -0.5 + del x90 + x91 = np.zeros((naocc, navir, navir, nvir), dtype=types[float]) + x91 += einsum(t2[np.ix_(so,sO,sv,sV)], (0, 1, 2, 3), v.oVvv, (0, 4, 5, 2), (1, 3, 4, 5)) * -1.0 + x92 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) + x92 += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), x91, (4, 5, 6, 2), (0, 1, 4, 3, 5, 6)) * -1.0 + del x91 + t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) + t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -1.0 + t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) + t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) + t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -1.0 + t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -1.0 + t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) + t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) + t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -1.0 + t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -1.0 + t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) + t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -1.0 + t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) + t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) + t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -1.0 + t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 + t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) + del x92 + x93 = np.zeros((naocc, naocc, navir, nocc), dtype=types[float]) + x93 += einsum(t2[np.ix_(sO,sO,sv,sv)], (0, 1, 2, 3), v.oVvv, (4, 5, 2, 3), (0, 1, 5, 4)) * -1.0 + x94 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) + x94 += einsum(t2[np.ix_(so,sO,sV,sV)], (0, 1, 2, 3), x93, (4, 5, 6, 0), (5, 4, 1, 2, 3, 6)) + del x93 + t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 0.5 + t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -0.5 + t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 0.5 + t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * 0.5 + t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -0.5 + t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * 0.5 + t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -0.5 + t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 0.5 + t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -0.5 + del x94 + x95 = np.zeros((naocc, naocc, naocc, naocc, navir, navir), dtype=types[float]) + x95 += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), v.vVOO, (2, 4, 5, 6), (0, 1, 5, 6, 3, 4)) + x96 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) + x96 += einsum(t3, (0, 1, 2, 3, 4, 5), x95, (6, 7, 1, 2, 8, 5), (7, 6, 0, 8, 3, 4)) * -1.0 + del x95 + t3new += einsum(x96, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 0.5 + t3new += einsum(x96, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -0.5 + t3new += einsum(x96, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 0.5 + t3new += einsum(x96, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -0.5 + t3new += einsum(x96, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 0.5 + t3new += einsum(x96, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -0.5 + t3new += einsum(x96, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -0.5 + t3new += einsum(x96, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * 0.5 + t3new += einsum(x96, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -0.5 + del x96 + x97 = np.zeros((naocc, naocc, naocc, naocc), dtype=types[float]) + x97 += einsum(t2[np.ix_(sO,sO,sv,sv)], (0, 1, 2, 3), v.vvOO, (2, 3, 4, 5), (0, 1, 4, 5)) + x98 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) + x98 += einsum(x97, (0, 1, 2, 3), t3, (4, 2, 3, 5, 6, 7), (1, 0, 4, 5, 6, 7)) * -1.0 + del x97 + t3new += einsum(x98, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 0.25 + t3new += einsum(x98, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -0.25 + t3new += einsum(x98, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -0.25 + del x98 + x99 = np.zeros((naocc, naocc, navir, navir, navir, navir), dtype=types[float]) + x99 += einsum(t2[np.ix_(so,sO,sV,sV)], (0, 1, 2, 3), v.oOVV, (0, 4, 5, 6), (1, 4, 2, 3, 5, 6)) + x100 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) + x100 += einsum(t3, (0, 1, 2, 3, 4, 5), x99, (6, 2, 7, 8, 4, 5), (6, 0, 1, 7, 8, 3)) + del x99 + t3new += einsum(x100, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -0.5 + t3new += einsum(x100, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 0.5 + t3new += einsum(x100, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -0.5 + t3new += einsum(x100, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -0.5 + t3new += einsum(x100, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * 0.5 + t3new += einsum(x100, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -0.5 + t3new += einsum(x100, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * 0.5 + t3new += einsum(x100, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -0.5 + t3new += einsum(x100, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * 0.5 + del x100 + x101 = np.zeros((naocc, naocc, navir, navir), dtype=types[float]) + x101 += einsum(t2[np.ix_(so,sO,sv,sV)], (0, 1, 2, 3), v.oOvV, (0, 4, 2, 5), (1, 4, 3, 5)) + x102 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) + x102 += einsum(x101, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (0, 4, 5, 2, 6, 7)) + del x101 + t3new += einsum(x102, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 1.00000000000001 + t3new += einsum(x102, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -1.00000000000001 + t3new += einsum(x102, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 1.00000000000001 + t3new += einsum(x102, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * 1.00000000000001 + t3new += einsum(x102, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.00000000000001 + t3new += einsum(x102, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * 1.00000000000001 + t3new += einsum(x102, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -1.00000000000001 + t3new += einsum(x102, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * 1.00000000000001 + t3new += einsum(x102, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -1.00000000000001 + del x102 + x103 = np.zeros((naocc, naocc), dtype=types[float]) + x103 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), v.oOvv, (0, 4, 2, 3), (1, 4)) + x104 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) + x104 += einsum(x103, (0, 1), t3, (2, 3, 1, 4, 5, 6), (0, 2, 3, 4, 5, 6)) + del x103 + t3new += einsum(x104, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 0.5 + t3new += einsum(x104, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * 0.5 + t3new += einsum(x104, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -0.5 + del x104 + x105 = np.zeros((navir, navir, navir, navir), dtype=types[float]) + x105 += einsum(t2[np.ix_(so,so,sV,sV)], (0, 1, 2, 3), v.ooVV, (0, 1, 4, 5), (2, 3, 4, 5)) + x106 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) + x106 += einsum(x105, (0, 1, 2, 3), t3, (4, 5, 6, 7, 3, 2), (4, 5, 6, 1, 0, 7)) + del x105 + t3new += einsum(x106, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -0.25 + t3new += einsum(x106, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 0.25 + t3new += einsum(x106, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -0.25 + del x106 + x107 = np.zeros((navir, navir), dtype=types[float]) + x107 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), v.oovV, (0, 1, 2, 4), (3, 4)) + x108 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) + x108 += einsum(x107, (0, 1), t3, (2, 3, 4, 5, 6, 1), (2, 3, 4, 0, 5, 6)) + del x107 + t3new += einsum(x108, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 0.5 + t3new += einsum(x108, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -0.5 + t3new += einsum(x108, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 0.5 + del x108 + x109 = np.zeros((naocc, naocc, navir, navir, navir, nvir), dtype=types[float]) + x109 += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(so,sO,sV,sV)], (2, 3, 4, 5), v.oovO, (2, 0, 6, 7), (3, 7, 1, 4, 5, 6)) * -1.0 + x110 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) + x110 += einsum(t1[np.ix_(sO,sv)], (0, 1), x109, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) + del x109 + t3new += einsum(x110, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) + t3new += einsum(x110, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + t3new += einsum(x110, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -1.0 + t3new += einsum(x110, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) + t3new += einsum(x110, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) + t3new += einsum(x110, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -1.0 + t3new += einsum(x110, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * -1.0 + t3new += einsum(x110, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) + t3new += einsum(x110, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) + t3new += einsum(x110, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 + t3new += einsum(x110, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -1.0 + t3new += einsum(x110, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) + t3new += einsum(x110, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) + t3new += einsum(x110, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -1.0 + t3new += einsum(x110, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -1.0 + t3new += einsum(x110, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) + t3new += einsum(x110, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) + t3new += einsum(x110, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -1.0 + del x110 + x111 = np.zeros((naocc, navir, navir, nvir), dtype=types[float]) + x111 += einsum(t1[np.ix_(so,sV)], (0, 1), t1[np.ix_(so,sV)], (2, 3), v.oovO, (0, 2, 4, 5), (5, 1, 3, 4)) * -1.0 + x112 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) + x112 += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), x111, (4, 5, 6, 2), (0, 1, 4, 6, 5, 3)) + del x111 + t3new += einsum(x112, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) + t3new += einsum(x112, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -1.0 + t3new += einsum(x112, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -1.0 + t3new += einsum(x112, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -1.0 + t3new += einsum(x112, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) + t3new += einsum(x112, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) + t3new += einsum(x112, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) + t3new += einsum(x112, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -1.0 + t3new += einsum(x112, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -1.0 + del x112 + x113 = np.zeros((naocc, naocc, navir, navir, navir, nvir), dtype=types[float]) + x113 += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(so,sO,sV,sV)], (2, 3, 4, 5), v.oVvv, (2, 6, 7, 1), (0, 3, 4, 5, 6, 7)) + x114 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) + x114 += einsum(t1[np.ix_(sO,sv)], (0, 1), x113, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) + del x113 + t3new += einsum(x114, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -1.0 + t3new += einsum(x114, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) + t3new += einsum(x114, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 + t3new += einsum(x114, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) + t3new += einsum(x114, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 + t3new += einsum(x114, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) + t3new += einsum(x114, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) + t3new += einsum(x114, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -1.0 + t3new += einsum(x114, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) + del x114 + x115 = np.zeros((naocc, naocc, navir, navir, navir, nvir), dtype=types[float]) + x115 += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), v.oVvv, (0, 6, 7, 4), (2, 3, 1, 5, 6, 7)) + x116 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) + x116 += einsum(t1[np.ix_(sO,sv)], (0, 1), x115, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) + del x115 + t3new += einsum(x116, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + t3new += einsum(x116, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 + t3new += einsum(x116, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -1.0 + t3new += einsum(x116, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) + t3new += einsum(x116, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) + t3new += einsum(x116, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 + t3new += einsum(x116, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) + t3new += einsum(x116, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * -1.0 + t3new += einsum(x116, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 + t3new += einsum(x116, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) + t3new += einsum(x116, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) + t3new += einsum(x116, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -1.0 + t3new += einsum(x116, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -1.0 + t3new += einsum(x116, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) + t3new += einsum(x116, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) + t3new += einsum(x116, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * -1.0 + t3new += einsum(x116, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -1.0 + t3new += einsum(x116, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) + del x116 + x117 = np.zeros((naocc, naocc, naocc, nvir), dtype=types[float]) + x117 += einsum(t1[np.ix_(sO,sv)], (0, 1), v.vvOO, (2, 1, 3, 4), (0, 3, 4, 2)) + x118 = np.zeros((naocc, naocc, naocc, naocc), dtype=types[float]) + x118 += einsum(t1[np.ix_(sO,sv)], (0, 1), x117, (2, 3, 4, 1), (2, 0, 4, 3)) + del x117 + x119 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) + x119 += einsum(x118, (0, 1, 2, 3), t3, (4, 2, 3, 5, 6, 7), (1, 0, 4, 5, 6, 7)) * -1.0 + del x118 + t3new += einsum(x119, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 0.5 + t3new += einsum(x119, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -0.5 + t3new += einsum(x119, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -0.5 + del x119 + x120 = np.zeros((naocc, naocc, navir, nocc), dtype=types[float]) + x120 += einsum(t1[np.ix_(sO,sv)], (0, 1), v.oOvV, (2, 3, 1, 4), (0, 3, 4, 2)) + x121 = np.zeros((naocc, naocc, navir, navir), dtype=types[float]) + x121 += einsum(t1[np.ix_(so,sV)], (0, 1), x120, (2, 3, 4, 0), (2, 3, 1, 4)) + del x120 + x122 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) + x122 += einsum(x121, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (0, 4, 5, 2, 6, 7)) + del x121 + t3new += einsum(x122, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + t3new += einsum(x122, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) + t3new += einsum(x122, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -1.0 + t3new += einsum(x122, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * -1.0 + t3new += einsum(x122, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) + t3new += einsum(x122, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -1.0 + t3new += einsum(x122, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) + t3new += einsum(x122, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -1.0 + t3new += einsum(x122, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) + del x122 + x123 = np.zeros((naocc, nvir), dtype=types[float]) + x123 += einsum(t1[np.ix_(so,sv)], (0, 1), v.oOvv, (0, 2, 3, 1), (2, 3)) * -1.0 + x124 = np.zeros((naocc, naocc), dtype=types[float]) + x124 += einsum(t1[np.ix_(sO,sv)], (0, 1), x123, (2, 1), (0, 2)) + del x123 + x125 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) + x125 += einsum(x124, (0, 1), t3, (2, 3, 1, 4, 5, 6), (0, 2, 3, 4, 5, 6)) + del x124 + t3new += einsum(x125, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) + t3new += einsum(x125, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) + t3new += einsum(x125, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 + del x125 + x126 = np.zeros((navir, navir, navir, nocc), dtype=types[float]) + x126 += einsum(t1[np.ix_(so,sV)], (0, 1), v.ooVV, (2, 0, 3, 4), (1, 3, 4, 2)) + x127 = np.zeros((navir, navir, navir, navir), dtype=types[float]) + x127 += einsum(t1[np.ix_(so,sV)], (0, 1), x126, (2, 3, 4, 0), (2, 1, 4, 3)) + del x126 + x128 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) + x128 += einsum(x127, (0, 1, 2, 3), t3, (4, 5, 6, 7, 2, 3), (4, 5, 6, 1, 0, 7)) * -1.0 + del x127 + t3new += einsum(x128, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -0.5 + t3new += einsum(x128, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 0.5 + t3new += einsum(x128, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -0.5 + del x128 + x129 = np.zeros((navir, nocc), dtype=types[float]) + x129 += einsum(t1[np.ix_(so,sv)], (0, 1), v.oovV, (2, 0, 1, 3), (3, 2)) * -1.0 + x130 = np.zeros((navir, navir), dtype=types[float]) + x130 += einsum(t1[np.ix_(so,sV)], (0, 1), x129, (2, 0), (1, 2)) + del x129 + x131 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) + x131 += einsum(x130, (0, 1), t3, (2, 3, 4, 5, 6, 1), (2, 3, 4, 0, 5, 6)) + del x130 + t3new += einsum(x131, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) + t3new += einsum(x131, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -1.0 + t3new += einsum(x131, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) + del x131 + x132 = np.zeros((naocc, navir, nocc, nvir), dtype=types[float]) + x132 += einsum(t2[np.ix_(so,sO,sv,sV)], (0, 1, 2, 3), v.oovv, (4, 0, 5, 2), (1, 3, 4, 5)) + x133 = np.zeros((naocc, naocc, navir, nocc), dtype=types[float]) + x133 += einsum(t1[np.ix_(sO,sv)], (0, 1), x132, (2, 3, 4, 1), (0, 2, 3, 4)) + x134 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) + x134 += einsum(t2[np.ix_(so,sO,sV,sV)], (0, 1, 2, 3), x133, (4, 5, 6, 0), (4, 1, 5, 2, 3, 6)) * -1.0 + del x133 + t3new += einsum(x134, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) + t3new += einsum(x134, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) + t3new += einsum(x134, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 + t3new += einsum(x134, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -1.0 + t3new += einsum(x134, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 + t3new += einsum(x134, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) + t3new += einsum(x134, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -1.0 + t3new += einsum(x134, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) * -1.0 + t3new += einsum(x134, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) + t3new += einsum(x134, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) + t3new += einsum(x134, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) + t3new += einsum(x134, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -1.0 + t3new += einsum(x134, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) + t3new += einsum(x134, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) + t3new += einsum(x134, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * -1.0 + t3new += einsum(x134, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -1.0 + t3new += einsum(x134, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -1.0 + t3new += einsum(x134, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) + del x134 + x135 = np.zeros((naocc, naocc, naocc, navir, nocc, nocc), dtype=types[float]) + x135 += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), v.oovv, (6, 7, 4, 1), (0, 2, 3, 5, 6, 7)) + x136 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) + x136 += einsum(t2[np.ix_(so,so,sV,sV)], (0, 1, 2, 3), x135, (4, 5, 6, 7, 1, 0), (4, 5, 6, 7, 2, 3)) * -1.0 + del x135 + t3new += einsum(x136, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -0.5 + t3new += einsum(x136, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 0.5 + t3new += einsum(x136, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -0.5 + t3new += einsum(x136, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * -0.5 + t3new += einsum(x136, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 0.5 + t3new += einsum(x136, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -0.5 + t3new += einsum(x136, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * 0.5 + t3new += einsum(x136, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -0.5 + t3new += einsum(x136, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * 0.5 + del x136 + x137 = np.zeros((naocc, naocc, naocc, navir, navir, nocc), dtype=types[float]) + x137 += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), x132, (4, 5, 6, 2), (0, 1, 4, 3, 5, 6)) * -1.0 + del x132 + x138 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) + x138 += einsum(t1[np.ix_(so,sV)], (0, 1), x137, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) + del x137 + t3new += einsum(x138, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 + t3new += einsum(x138, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + t3new += einsum(x138, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) + t3new += einsum(x138, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -1.0 + t3new += einsum(x138, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + t3new += einsum(x138, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 + t3new += einsum(x138, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) + t3new += einsum(x138, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -1.0 + t3new += einsum(x138, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * -1.0 + t3new += einsum(x138, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) + t3new += einsum(x138, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 + t3new += einsum(x138, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) + t3new += einsum(x138, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 + t3new += einsum(x138, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) + t3new += einsum(x138, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) + t3new += einsum(x138, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -1.0 + t3new += einsum(x138, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) + t3new += einsum(x138, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -1.0 + del x138 + x139 = np.zeros((naocc, naocc, nocc, nocc), dtype=types[float]) + x139 += einsum(t2[np.ix_(sO,sO,sv,sv)], (0, 1, 2, 3), v.oovv, (4, 5, 2, 3), (0, 1, 4, 5)) + x140 = np.zeros((naocc, naocc, naocc, navir, navir, nocc), dtype=types[float]) + x140 += einsum(t2[np.ix_(so,sO,sV,sV)], (0, 1, 2, 3), x139, (4, 5, 0, 6), (4, 5, 1, 2, 3, 6)) + del x139 + x141 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) + x141 += einsum(t1[np.ix_(so,sV)], (0, 1), x140, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) + del x140 + t3new += einsum(x141, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -0.5 + t3new += einsum(x141, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -0.5 + t3new += einsum(x141, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 0.5 + t3new += einsum(x141, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 0.5 + t3new += einsum(x141, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * 0.5 + t3new += einsum(x141, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -0.5 + t3new += einsum(x141, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -0.5 + t3new += einsum(x141, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -0.5 + t3new += einsum(x141, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 0.5 + del x141 + x142 = np.zeros((naocc, naocc, navir, nocc), dtype=types[float]) + x142 += einsum(x5, (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 1, 4), (2, 3, 4, 0)) + del x5 + x143 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) + x143 += einsum(t2[np.ix_(so,sO,sV,sV)], (0, 1, 2, 3), x142, (4, 5, 6, 0), (5, 4, 1, 6, 2, 3)) * -1.0 + del x142 + t3new += einsum(x143, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + t3new += einsum(x143, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -1.0 + t3new += einsum(x143, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) + t3new += einsum(x143, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * -1.0 + t3new += einsum(x143, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) + t3new += einsum(x143, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) + t3new += einsum(x143, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 + t3new += einsum(x143, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) + t3new += einsum(x143, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -1.0 + del x143 + x144 = np.zeros((naocc, naocc, navir, navir, nocc, nvir), dtype=types[float]) + x144 += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(so,sO,sV,sV)], (2, 3, 4, 5), v.oovv, (6, 2, 7, 1), (0, 3, 4, 5, 6, 7)) * -1.0 + x145 = np.zeros((naocc, naocc, naocc, navir, navir, nocc), dtype=types[float]) + x145 += einsum(t1[np.ix_(sO,sv)], (0, 1), x144, (2, 3, 4, 5, 6, 1), (2, 0, 3, 4, 5, 6)) * -1.0 + del x144 + x146 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) + x146 += einsum(t1[np.ix_(so,sV)], (0, 1), x145, (2, 3, 4, 5, 6, 0), (3, 2, 4, 1, 5, 6)) * -1.0 + del x145 + t3new += einsum(x146, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) + t3new += einsum(x146, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -1.0 + t3new += einsum(x146, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) + t3new += einsum(x146, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + t3new += einsum(x146, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) + t3new += einsum(x146, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -1.0 + t3new += einsum(x146, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -1.0 + t3new += einsum(x146, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) + t3new += einsum(x146, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -1.0 + del x146 + x147 = np.zeros((naocc, naocc, navir, navir, nocc, nvir), dtype=types[float]) + x147 += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), v.oovv, (6, 0, 7, 4), (2, 3, 1, 5, 6, 7)) * -1.0 + x148 = np.zeros((naocc, naocc, naocc, navir, navir, nocc), dtype=types[float]) + x148 += einsum(t1[np.ix_(sO,sv)], (0, 1), x147, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) + del x147 + x149 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) + x149 += einsum(t1[np.ix_(so,sV)], (0, 1), x148, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 1, 6)) * -1.0 + del x148 + t3new += einsum(x149, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -1.0 + t3new += einsum(x149, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) + t3new += einsum(x149, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -1.0 + t3new += einsum(x149, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 + t3new += einsum(x149, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) + t3new += einsum(x149, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -1.0 + t3new += einsum(x149, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) + t3new += einsum(x149, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 + t3new += einsum(x149, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) + del x149 + + return {"t1new": t1new, "t2new": t2new, "t3new": t3new} + diff --git a/ebcc/codegen/RCCSDtp.py b/ebcc/codegen/RCCSDtp.py new file mode 100644 index 00000000..037133b6 --- /dev/null +++ b/ebcc/codegen/RCCSDtp.py @@ -0,0 +1,987 @@ +# Code generated for ebcc. + +from ebcc import numpy as np +from ebcc.util import pack_2e, einsum, Namespace +from ebcc.precision import types + +def energy(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, t3=None, **kwargs): + # energy + x0 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x0 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) + x0 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 + e_cc = 0 + e_cc += einsum(t2, (0, 1, 2, 3), x0, (0, 1, 3, 2), ()) * 2.0 + x1 = np.zeros((nocc, nvir), dtype=types[float]) + x1 += einsum(f.ov, (0, 1), (0, 1)) + x1 += einsum(t1, (0, 1), x0, (0, 2, 3, 1), (2, 3)) + del x0 + e_cc += einsum(t1, (0, 1), x1, (0, 1), ()) * 2.0 + del x1 + + return e_cc + +def update_amps(f=None, v=None, space=None, t1=None, t2=None, t3=None, **kwargs): + nocc = space.ncocc + nvir = space.ncvir + naocc = space.naocc + navir = space.navir + so = np.ones((nocc,), dtype=bool) + sv = np.ones((nvir,), dtype=bool) + sO = space.active[space.correlated][space.occupied[space.correlated]] + sV = space.active[space.correlated][space.virtual[space.correlated]] + + # T amplitudes + t1new = np.zeros(((nocc, nvir)), dtype=types[float]) + t1new[np.ix_(so,sv)] += einsum(f.ov, (0, 1), (0, 1)) + t1new[np.ix_(so,sv)] += einsum(f.oo, (0, 1), t1[np.ix_(so,sv)], (1, 2), (0, 2)) * -1.0 + t1new[np.ix_(so,sv)] += einsum(f.vv, (0, 1), t1[np.ix_(so,sv)], (2, 1), (2, 0)) + t1new[np.ix_(so,sv)] += einsum(f.ov, (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 0, 3, 1), (2, 3)) * 2.0 + t1new[np.ix_(so,sv)] += einsum(f.ov, (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 0, 1, 3), (2, 3)) * -1.0 + t1new[np.ix_(so,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), v.oovv, (2, 0, 3, 1), (2, 3)) * -1.0 + t1new[np.ix_(so,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), v.ovov, (2, 3, 0, 1), (2, 3)) * 2.0 + t1new[np.ix_(so,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.ooov, (4, 0, 1, 3), (4, 2)) * -1.5 + t1new[np.ix_(so,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.ooov, (4, 0, 1, 2), (4, 3)) * 0.5 + t1new[np.ix_(so,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.ooov, (4, 1, 0, 3), (4, 2)) * 0.5 + t1new[np.ix_(so,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.ooov, (4, 1, 0, 2), (4, 3)) * -0.5 + t1new[np.ix_(so,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.ovvv, (1, 3, 4, 2), (0, 4)) + t1new[np.ix_(so,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.ovvv, (1, 3, 4, 2), (0, 4)) + t1new[np.ix_(so,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.ovvv, (1, 2, 4, 3), (0, 4)) * -1.0 + t1new[np.ix_(sO,sV)] += einsum(v.OVOV, (0, 1, 2, 3), t3, (4, 0, 2, 5, 1, 3), (4, 5)) * 0.5 + t1new[np.ix_(sO,sV)] += einsum(v.OVOV, (0, 1, 2, 3), t3, (4, 0, 2, 5, 3, 1), (4, 5)) * -0.5 + t1new[np.ix_(sO,sV)] += einsum(v.OVOV, (0, 1, 2, 3), t3, (4, 0, 2, 1, 5, 3), (4, 5)) * -0.25 + t1new[np.ix_(sO,sV)] += einsum(v.OVOV, (0, 1, 2, 3), t3, (4, 0, 2, 3, 5, 1), (4, 5)) * 0.25 + t1new[np.ix_(sO,sV)] += einsum(v.OVOV, (0, 1, 2, 3), t3, (4, 2, 0, 5, 3, 1), (4, 5)) + t1new[np.ix_(sO,sV)] += einsum(v.OVOV, (0, 1, 2, 3), t3, (0, 4, 2, 1, 5, 3), (4, 5)) * 0.25 + t1new[np.ix_(sO,sV)] += einsum(v.OVOV, (0, 1, 2, 3), t3, (0, 4, 2, 3, 5, 1), (4, 5)) * -0.25 + t1new[np.ix_(so,sv)] += einsum(f.ov, (0, 1), t1[np.ix_(so,sv)], (2, 1), t1[np.ix_(so,sv)], (0, 3), (2, 3)) * -1.0 + t1new[np.ix_(so,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), v.ooov, (4, 0, 2, 1), (4, 3)) + t1new[np.ix_(so,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), v.ooov, (4, 2, 0, 1), (4, 3)) * -2.0 + t1new[np.ix_(so,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), v.ovvv, (2, 1, 4, 3), (0, 4)) * -1.0 + t1new[np.ix_(so,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), v.ovvv, (2, 3, 4, 1), (0, 4)) * 2.0 + t1new[np.ix_(so,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ovov, (2, 1, 3, 5), (0, 4)) * -1.5 + t1new[np.ix_(so,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ovov, (2, 1, 3, 4), (0, 5)) * 0.5 + t1new[np.ix_(so,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ovov, (2, 5, 3, 1), (0, 4)) * 0.5 + t1new[np.ix_(so,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ovov, (2, 4, 3, 1), (0, 5)) * -0.5 + t1new[np.ix_(so,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ovov, (0, 4, 3, 5), (2, 1)) * -1.0 + t1new[np.ix_(so,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ovov, (0, 5, 3, 4), (2, 1)) + t1new[np.ix_(so,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ovov, (0, 4, 3, 5), (2, 1)) * -1.0 + t1new[np.ix_(so,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ovov, (0, 1, 3, 5), (2, 4)) * 4.0 + t1new[np.ix_(so,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ovov, (0, 1, 3, 4), (2, 5)) * -2.0 + t1new[np.ix_(so,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ovov, (0, 5, 3, 1), (2, 4)) * -2.0 + t1new[np.ix_(so,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ovov, (0, 4, 3, 1), (2, 5)) + t1new[np.ix_(so,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), t1[np.ix_(so,sv)], (4, 5), v.ovov, (2, 1, 4, 3), (0, 5)) + t1new[np.ix_(so,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), t1[np.ix_(so,sv)], (4, 5), v.ovov, (2, 3, 4, 1), (0, 5)) * -2.0 + t2new = np.zeros(((nocc, nocc, nvir, nvir)), dtype=types[float]) + t2new[np.ix_(so,so,sv,sv)] += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + t2new[np.ix_(so,so,sv,sv)] += einsum(f.oo, (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 1, 3, 4), (0, 2, 4, 3)) * -1.0 + t2new[np.ix_(so,so,sv,sv)] += einsum(f.oo, (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 1, 3, 4), (2, 0, 3, 4)) * -1.0 + t2new[np.ix_(so,so,sv,sv)] += einsum(f.vv, (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 1, 4), (2, 3, 0, 4)) + t2new[np.ix_(so,so,sv,sv)] += einsum(f.vv, (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 1), (2, 3, 4, 0)) + t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), v.ooov, (2, 0, 3, 4), (2, 3, 1, 4)) * -1.0 + t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), v.ooov, (2, 0, 3, 4), (3, 2, 4, 1)) * -1.0 + t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), v.ovvv, (2, 3, 4, 1), (0, 2, 4, 3)) + t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), v.ovvv, (2, 3, 4, 1), (2, 0, 3, 4)) + t2new[np.ix_(sO,sO,sV,sV)] += einsum(f.OV, (0, 1), t3, (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) + t2new[np.ix_(sO,sO,sV,sV)] += einsum(f.OV, (0, 1), t3, (2, 3, 0, 4, 5, 1), (3, 2, 5, 4)) + t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.oooo, (4, 0, 5, 1), (4, 5, 2, 3)) + t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.oovv, (4, 1, 5, 3), (0, 4, 2, 5)) * -1.0 + t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.oovv, (4, 1, 5, 2), (0, 4, 5, 3)) * -1.0 + t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.oovv, (4, 1, 5, 3), (4, 0, 5, 2)) * -1.0 + t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.oovv, (4, 1, 5, 2), (4, 0, 3, 5)) * -1.0 + t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.ovov, (4, 5, 1, 3), (0, 4, 2, 5)) * 2.0 + t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.ovov, (4, 5, 1, 2), (0, 4, 3, 5)) * -1.0 + t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.ovov, (4, 5, 1, 3), (4, 0, 5, 2)) * 2.0 + t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.ovov, (4, 5, 1, 2), (4, 0, 5, 3)) * -1.0 + t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.vvvv, (4, 2, 5, 3), (0, 1, 4, 5)) + t2new[np.ix_(so,sO,sV,sV)] += einsum(v.oOOV, (0, 1, 2, 3), t3, (4, 1, 2, 5, 6, 3), (0, 4, 6, 5)) * -1.0 + t2new[np.ix_(so,sO,sV,sV)] += einsum(v.oOOV, (0, 1, 2, 3), t3, (1, 4, 2, 5, 6, 3), (0, 4, 5, 6)) * -0.5 + t2new[np.ix_(so,sO,sV,sV)] += einsum(v.oOOV, (0, 1, 2, 3), t3, (1, 4, 2, 3, 5, 6), (0, 4, 6, 5)) * 0.5 + t2new[np.ix_(sO,so,sV,sV)] += einsum(v.oOOV, (0, 1, 2, 3), t3, (1, 4, 2, 5, 6, 3), (4, 0, 6, 5)) * -0.5 + t2new[np.ix_(sO,so,sV,sV)] += einsum(v.oOOV, (0, 1, 2, 3), t3, (1, 4, 2, 3, 5, 6), (4, 0, 5, 6)) * 0.5 + t2new[np.ix_(sO,so,sV,sV)] += einsum(v.oOOV, (0, 1, 2, 3), t3, (4, 1, 2, 5, 6, 3), (4, 0, 5, 6)) * -1.0 + t2new[np.ix_(sO,sO,sv,sV)] += einsum(v.OVvV, (0, 1, 2, 3), t3, (4, 5, 0, 1, 6, 3), (4, 5, 2, 6)) * -0.5 + t2new[np.ix_(sO,sO,sv,sV)] += einsum(v.OVvV, (0, 1, 2, 3), t3, (4, 5, 0, 3, 6, 1), (4, 5, 2, 6)) * 0.5 + t2new[np.ix_(sO,sO,sV,sv)] += einsum(v.OVvV, (0, 1, 2, 3), t3, (4, 5, 0, 6, 3, 1), (4, 5, 6, 2)) + t2new[np.ix_(sO,sO,sV,sv)] += einsum(v.OVvV, (0, 1, 2, 3), t3, (4, 5, 0, 1, 6, 3), (5, 4, 6, 2)) * -0.5 + t2new[np.ix_(sO,sO,sV,sv)] += einsum(v.OVvV, (0, 1, 2, 3), t3, (4, 5, 0, 3, 6, 1), (5, 4, 6, 2)) * 0.5 + t2new[np.ix_(sO,sO,sv,sV)] += einsum(v.OVvV, (0, 1, 2, 3), t3, (4, 5, 0, 6, 3, 1), (5, 4, 2, 6)) + t2new[np.ix_(so,so,sv,sv)] += einsum(f.ov, (0, 1), t1[np.ix_(so,sv)], (2, 1), t2[np.ix_(so,so,sv,sv)], (3, 0, 4, 5), (2, 3, 5, 4)) * -1.0 + t2new[np.ix_(so,so,sv,sv)] += einsum(f.ov, (0, 1), t1[np.ix_(so,sv)], (2, 1), t2[np.ix_(so,so,sv,sv)], (3, 0, 4, 5), (3, 2, 4, 5)) * -1.0 + t2new[np.ix_(so,so,sv,sv)] += einsum(f.ov, (0, 1), t1[np.ix_(so,sv)], (0, 2), t2[np.ix_(so,so,sv,sv)], (3, 4, 1, 5), (3, 4, 2, 5)) * -1.0 + t2new[np.ix_(so,so,sv,sv)] += einsum(f.ov, (0, 1), t1[np.ix_(so,sv)], (0, 2), t2[np.ix_(so,so,sv,sv)], (3, 4, 5, 1), (3, 4, 5, 2)) * -1.0 + t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), v.oovv, (4, 2, 5, 1), (0, 4, 5, 3)) * -1.0 + t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), v.oovv, (4, 2, 5, 1), (4, 0, 3, 5)) * -1.0 + t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), v.oooo, (4, 0, 5, 2), (4, 5, 1, 3)) + t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), v.ovov, (4, 5, 2, 1), (0, 4, 3, 5)) * -1.0 + t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), v.ovov, (4, 5, 2, 1), (4, 0, 5, 3)) * -1.0 + t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), v.vvvv, (4, 1, 5, 3), (0, 2, 4, 5)) + t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ooov, (6, 3, 2, 1), (0, 6, 4, 5)) + t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ooov, (6, 2, 3, 1), (6, 0, 4, 5)) + t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ooov, (6, 3, 0, 4), (2, 6, 1, 5)) + t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ooov, (6, 0, 3, 5), (6, 2, 1, 4)) * -2.0 + t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ooov, (6, 0, 3, 4), (6, 2, 1, 5)) + t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ooov, (6, 3, 0, 5), (6, 2, 1, 4)) + t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ooov, (6, 0, 3, 5), (2, 6, 4, 1)) * -2.0 + t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ooov, (6, 0, 3, 4), (2, 6, 5, 1)) + t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ooov, (6, 3, 0, 5), (2, 6, 4, 1)) + t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ooov, (6, 3, 0, 4), (6, 2, 5, 1)) + t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ooov, (6, 0, 3, 1), (2, 6, 4, 5)) + t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ooov, (6, 3, 0, 1), (2, 6, 4, 5)) * -2.0 + t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ooov, (6, 0, 3, 1), (6, 2, 5, 4)) + t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ooov, (6, 3, 0, 1), (6, 2, 5, 4)) * -2.0 + t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ovvv, (3, 1, 6, 5), (0, 2, 6, 4)) * -1.0 + t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ovvv, (3, 1, 6, 4), (0, 2, 5, 6)) * -1.0 + t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ovvv, (3, 5, 6, 1), (0, 2, 6, 4)) * 2.0 + t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ovvv, (3, 4, 6, 1), (0, 2, 6, 5)) * -1.0 + t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ovvv, (3, 1, 6, 5), (2, 0, 4, 6)) * -1.0 + t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ovvv, (3, 1, 6, 4), (2, 0, 6, 5)) * -1.0 + t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ovvv, (3, 5, 6, 1), (2, 0, 4, 6)) * 2.0 + t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ovvv, (3, 4, 6, 1), (2, 0, 5, 6)) * -1.0 + t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ovvv, (0, 4, 6, 5), (2, 3, 1, 6)) * -1.0 + t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ovvv, (0, 5, 6, 4), (2, 3, 6, 1)) * -1.0 + t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ovvv, (0, 1, 6, 5), (2, 3, 4, 6)) * 2.0 + t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ovvv, (0, 1, 6, 4), (2, 3, 6, 5)) * 2.0 + t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ovvv, (0, 5, 6, 1), (2, 3, 4, 6)) * -1.0 + t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ovvv, (0, 4, 6, 1), (2, 3, 6, 5)) * -1.0 + t2new[np.ix_(so,sO,sV,sV)] += einsum(t1[np.ix_(so,sv)], (0, 1), v.OvOV, (2, 1, 3, 4), t3, (5, 2, 3, 6, 7, 4), (0, 5, 7, 6)) * -1.0 + t2new[np.ix_(so,sO,sV,sV)] += einsum(t1[np.ix_(so,sv)], (0, 1), v.OvOV, (2, 1, 3, 4), t3, (2, 5, 3, 6, 7, 4), (0, 5, 6, 7)) * -0.5 + t2new[np.ix_(so,sO,sV,sV)] += einsum(t1[np.ix_(so,sv)], (0, 1), v.OVOv, (2, 3, 4, 1), t3, (2, 5, 4, 6, 7, 3), (0, 5, 6, 7)) * 0.5 + t2new[np.ix_(sO,so,sV,sV)] += einsum(t1[np.ix_(so,sv)], (0, 1), v.OvOV, (2, 1, 3, 4), t3, (2, 5, 3, 6, 7, 4), (5, 0, 7, 6)) * -0.5 + t2new[np.ix_(sO,so,sV,sV)] += einsum(t1[np.ix_(so,sv)], (0, 1), v.OVOv, (2, 3, 4, 1), t3, (5, 4, 2, 6, 7, 3), (5, 0, 6, 7)) * -1.0 + t2new[np.ix_(sO,so,sV,sV)] += einsum(t1[np.ix_(so,sv)], (0, 1), v.OVOv, (2, 3, 4, 1), t3, (2, 5, 4, 6, 7, 3), (5, 0, 7, 6)) * 0.5 + t2new[np.ix_(sO,sO,sv,sV)] += einsum(t1[np.ix_(so,sv)], (0, 1), v.oVOV, (0, 2, 3, 4), t3, (5, 6, 3, 2, 7, 4), (5, 6, 1, 7)) * -0.5 + t2new[np.ix_(sO,sO,sv,sV)] += einsum(t1[np.ix_(so,sv)], (0, 1), v.oVOV, (0, 2, 3, 4), t3, (5, 6, 3, 4, 7, 2), (5, 6, 1, 7)) * 0.5 + t2new[np.ix_(sO,sO,sv,sV)] += einsum(t1[np.ix_(so,sv)], (0, 1), v.oVOV, (0, 2, 3, 4), t3, (5, 6, 3, 7, 2, 4), (6, 5, 1, 7)) * -1.0 + t2new[np.ix_(sO,sO,sV,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), v.oVOV, (0, 2, 3, 4), t3, (5, 6, 3, 2, 7, 4), (6, 5, 7, 1)) * -0.5 + t2new[np.ix_(sO,sO,sV,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), v.oVOV, (0, 2, 3, 4), t3, (5, 6, 3, 4, 7, 2), (6, 5, 7, 1)) * 0.5 + t2new[np.ix_(sO,sO,sV,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), v.oVOV, (0, 2, 3, 4), t3, (5, 6, 3, 7, 2, 4), (5, 6, 7, 1)) * -1.0 + t2new[np.ix_(sO,sO,sV,sV)] += einsum(t1[np.ix_(so,sv)], (0, 1), v.ovOV, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 3), (4, 5, 6, 7)) * 2.0 + t2new[np.ix_(sO,sO,sV,sV)] += einsum(t1[np.ix_(so,sv)], (0, 1), v.ovOV, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 3), (5, 4, 7, 6)) * 2.0 + t2new[np.ix_(sO,sO,sV,sV)] += einsum(t1[np.ix_(so,sv)], (0, 1), v.oVOv, (0, 2, 3, 1), t3, (4, 5, 3, 6, 7, 2), (4, 5, 6, 7)) * -1.0 + t2new[np.ix_(sO,sO,sV,sV)] += einsum(t1[np.ix_(so,sv)], (0, 1), v.oVOv, (0, 2, 3, 1), t3, (4, 5, 3, 6, 7, 2), (5, 4, 7, 6)) * -1.0 + t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (1, 3, 5, 7), (0, 4, 2, 6)) * 4.0 + t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (1, 7, 5, 6), (0, 4, 2, 3)) + t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (1, 3, 5, 6), (0, 4, 2, 7)) * -2.0 + t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (1, 2, 5, 7), (0, 4, 3, 6)) * -2.0 + t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (1, 2, 5, 6), (0, 4, 3, 7)) + t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (1, 3, 5, 2), (0, 4, 7, 6)) * -1.0 + t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (1, 7, 5, 3), (0, 4, 2, 6)) * -2.0 + t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (1, 6, 5, 7), (0, 4, 2, 3)) * -2.0 + t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (1, 6, 5, 3), (0, 4, 2, 7)) + t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (1, 7, 5, 2), (0, 4, 3, 6)) + t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (1, 3, 5, 2), (0, 4, 7, 6)) * -1.0 + t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (1, 6, 5, 2), (0, 4, 7, 3)) + t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (1, 2, 5, 3), (0, 4, 7, 6)) + t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (4, 3, 5, 7), (0, 1, 2, 6)) * -0.5 + t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (4, 3, 5, 6), (0, 1, 2, 7)) * 0.5 + t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (4, 2, 5, 7), (0, 1, 6, 3)) * -1.5 + t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (4, 2, 5, 3), (0, 1, 6, 7)) + t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (4, 2, 5, 6), (0, 1, 7, 3)) * 0.5 + t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (4, 7, 5, 3), (0, 1, 2, 6)) * 0.5 + t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (4, 6, 5, 3), (0, 1, 2, 7)) * -1.5 + t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (4, 7, 5, 2), (0, 1, 6, 3)) * 0.5 + t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (4, 6, 5, 2), (0, 1, 7, 3)) * -0.5 + t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), t1[np.ix_(so,sv)], (4, 5), v.ooov, (6, 4, 2, 1), (0, 6, 3, 5)) + t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), t1[np.ix_(so,sv)], (4, 5), v.ooov, (6, 2, 4, 1), (6, 0, 3, 5)) + t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), t1[np.ix_(so,sv)], (4, 5), v.ovvv, (4, 1, 6, 3), (0, 2, 5, 6)) * -1.0 + t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), t1[np.ix_(so,sv)], (4, 5), v.ovvv, (4, 3, 6, 1), (0, 2, 6, 5)) * -1.0 + t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (4, 1, 5, 3), (0, 2, 6, 7)) + t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (2, 1, 5, 7), (0, 4, 3, 6)) * -2.0 + t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (2, 1, 5, 6), (0, 4, 3, 7)) + t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (2, 7, 5, 1), (0, 4, 3, 6)) + t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (2, 6, 5, 1), (0, 4, 7, 3)) + t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (2, 1, 5, 3), (0, 4, 7, 6)) + t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (2, 3, 5, 1), (0, 4, 7, 6)) * -2.0 + t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (2, 6, 5, 1), (4, 0, 3, 7)) + t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (2, 1, 5, 7), (4, 0, 6, 3)) * -2.0 + t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (2, 1, 5, 6), (4, 0, 7, 3)) + t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (2, 7, 5, 1), (4, 0, 6, 3)) + t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (2, 1, 5, 3), (4, 0, 6, 7)) + t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (2, 3, 5, 1), (4, 0, 6, 7)) * -2.0 + t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (0, 6, 2, 7), (4, 5, 1, 3)) + t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (0, 1, 2, 6), (4, 5, 3, 7)) * -2.0 + t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (0, 6, 2, 1), (4, 5, 3, 7)) + t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (0, 1, 2, 7), (4, 5, 6, 3)) * -2.0 + t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (0, 7, 2, 1), (4, 5, 6, 3)) + t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), t1[np.ix_(so,sv)], (4, 5), t1[np.ix_(so,sv)], (6, 7), v.ovov, (4, 1, 6, 3), (0, 2, 5, 7)) + t3new = np.zeros(((naocc, naocc, naocc, navir, navir, navir)), dtype=types[float]) + t3new += einsum(f.OO, (0, 1), t3, (2, 3, 1, 4, 5, 6), (0, 3, 2, 4, 5, 6)) + t3new += einsum(f.OO, (0, 1), t3, (2, 1, 3, 4, 5, 6), (2, 0, 3, 4, 5, 6)) * -1.0 + t3new += einsum(f.OO, (0, 1), t3, (2, 3, 1, 4, 5, 6), (2, 3, 0, 4, 5, 6)) * -1.0 + t3new += einsum(f.VV, (0, 1), t3, (2, 3, 4, 5, 6, 1), (2, 3, 4, 0, 6, 5)) * -1.0 + t3new += einsum(f.VV, (0, 1), t3, (2, 3, 4, 5, 1, 6), (2, 3, 4, 5, 0, 6)) + t3new += einsum(f.VV, (0, 1), t3, (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 6, 0)) + t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.OoOV, (4, 1, 5, 6), (0, 4, 5, 2, 3, 6)) * -1.0 + t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.OoOV, (4, 1, 5, 6), (0, 4, 5, 6, 3, 2)) + t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.OoOV, (4, 1, 5, 6), (0, 5, 4, 2, 6, 3)) * -1.0 + t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.OoOV, (4, 1, 5, 6), (0, 5, 4, 3, 6, 2)) + t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.OoOV, (4, 1, 5, 6), (4, 0, 5, 3, 2, 6)) * -1.0 + t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.OoOV, (4, 1, 5, 6), (4, 0, 5, 6, 2, 3)) + t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.OoOV, (4, 1, 5, 6), (5, 0, 4, 3, 2, 6)) + t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.OoOV, (4, 1, 5, 6), (5, 0, 4, 6, 2, 3)) * -1.0 + t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.OoOV, (4, 1, 5, 6), (4, 5, 0, 2, 6, 3)) + t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.OoOV, (4, 1, 5, 6), (4, 5, 0, 3, 6, 2)) * -1.0 + t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.OoOV, (4, 1, 5, 6), (5, 4, 0, 2, 3, 6)) + t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.OoOV, (4, 1, 5, 6), (5, 4, 0, 6, 3, 2)) * -1.0 + t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), v.OVVv, (4, 5, 6, 3), (0, 4, 1, 2, 5, 6)) + t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), v.OVVv, (4, 5, 6, 3), (0, 4, 1, 6, 5, 2)) * -1.0 + t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), v.OVVv, (4, 5, 6, 2), (0, 4, 1, 6, 5, 3)) + t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), v.OVVv, (4, 5, 6, 2), (0, 4, 1, 3, 5, 6)) * -1.0 + t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), v.OVVv, (4, 5, 6, 3), (0, 1, 4, 5, 6, 2)) * -1.0 + t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), v.OVVv, (4, 5, 6, 2), (0, 1, 4, 5, 3, 6)) * -1.0 + t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), v.OVVv, (4, 5, 6, 3), (0, 1, 4, 2, 6, 5)) + t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), v.OVVv, (4, 5, 6, 2), (0, 1, 4, 6, 3, 5)) + t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), v.OVVv, (4, 5, 6, 3), (4, 0, 1, 5, 2, 6)) + t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), v.OVVv, (4, 5, 6, 2), (4, 0, 1, 5, 6, 3)) + t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), v.OVVv, (4, 5, 6, 3), (4, 0, 1, 6, 2, 5)) * -1.0 + t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), v.OVVv, (4, 5, 6, 2), (4, 0, 1, 3, 6, 5)) * -1.0 + t3new += einsum(v.OOOO, (0, 1, 2, 3), t3, (4, 3, 1, 5, 6, 7), (0, 2, 4, 5, 6, 7)) * -1.0 + t3new += einsum(v.OOOO, (0, 1, 2, 3), t3, (1, 4, 3, 5, 6, 7), (0, 4, 2, 5, 6, 7)) * 0.5 + t3new += einsum(v.OOOO, (0, 1, 2, 3), t3, (1, 4, 3, 5, 6, 7), (0, 4, 2, 7, 6, 5)) * -0.5 + t3new += einsum(v.OOOO, (0, 1, 2, 3), t3, (4, 1, 3, 5, 6, 7), (4, 0, 2, 5, 6, 7)) + t3new += einsum(v.OOVV, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (0, 5, 4, 2, 7, 6)) * -1.0 + t3new += einsum(v.OOVV, (0, 1, 2, 3), t3, (4, 5, 1, 6, 3, 7), (0, 5, 4, 6, 2, 7)) + t3new += einsum(v.OOVV, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (0, 5, 4, 6, 7, 2)) + t3new += einsum(v.OOVV, (0, 1, 2, 3), t3, (4, 1, 5, 6, 7, 3), (4, 0, 5, 2, 7, 6)) + t3new += einsum(v.OOVV, (0, 1, 2, 3), t3, (4, 1, 5, 6, 3, 7), (4, 0, 5, 6, 2, 7)) * -1.0 + t3new += einsum(v.OOVV, (0, 1, 2, 3), t3, (4, 1, 5, 6, 7, 3), (4, 0, 5, 6, 7, 2)) * -1.0 + t3new += einsum(v.OOVV, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (4, 5, 0, 2, 7, 6)) + t3new += einsum(v.OOVV, (0, 1, 2, 3), t3, (4, 5, 1, 6, 3, 7), (4, 5, 0, 6, 2, 7)) * -1.0 + t3new += einsum(v.OOVV, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (4, 5, 0, 6, 7, 2)) * -1.0 + t3new += einsum(v.OVOV, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 3), (0, 4, 5, 1, 6, 7)) + t3new += einsum(v.OVOV, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 3), (0, 5, 4, 1, 7, 6)) + t3new += einsum(v.OVOV, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 3), (0, 4, 5, 7, 6, 1)) * -1.0 + t3new += einsum(v.OVOV, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 3), (0, 5, 4, 6, 7, 1)) * -1.0 + t3new += einsum(v.OVOV, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 3), (4, 0, 5, 6, 1, 7)) + t3new += einsum(v.OVOV, (0, 1, 2, 3), t3, (4, 5, 2, 6, 3, 7), (4, 0, 5, 6, 1, 7)) * -1.0 + t3new += einsum(v.OVOV, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 3), (4, 0, 5, 7, 1, 6)) * -1.0 + t3new += einsum(v.OVOV, (0, 1, 2, 3), t3, (4, 2, 5, 6, 3, 7), (4, 0, 5, 6, 1, 7)) + t3new += einsum(v.OVOV, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 3), (4, 5, 0, 1, 7, 6)) * -1.0 + t3new += einsum(v.OVOV, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 3), (5, 4, 0, 1, 6, 7)) * -1.0 + t3new += einsum(v.OVOV, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 3), (4, 5, 0, 6, 7, 1)) + t3new += einsum(v.OVOV, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 3), (5, 4, 0, 7, 6, 1)) + t3new += einsum(v.VVVV, (0, 1, 2, 3), t3, (4, 5, 6, 7, 3, 1), (4, 5, 6, 0, 2, 7)) * -1.0 + t3new += einsum(v.VVVV, (0, 1, 2, 3), t3, (4, 5, 6, 1, 7, 3), (4, 5, 6, 0, 7, 2)) * 0.5 + t3new += einsum(v.VVVV, (0, 1, 2, 3), t3, (4, 5, 6, 3, 7, 1), (4, 5, 6, 0, 7, 2)) * -0.5 + t3new += einsum(v.VVVV, (0, 1, 2, 3), t3, (4, 5, 6, 7, 1, 3), (4, 5, 6, 7, 0, 2)) + t3new += einsum(f.Ov, (0, 1), t1[np.ix_(sO,sv)], (2, 1), t3, (3, 4, 0, 5, 6, 7), (2, 4, 3, 5, 6, 7)) + t3new += einsum(f.Ov, (0, 1), t1[np.ix_(sO,sv)], (2, 1), t3, (3, 0, 4, 5, 6, 7), (3, 2, 4, 5, 6, 7)) * -1.0 + t3new += einsum(f.Ov, (0, 1), t1[np.ix_(sO,sv)], (2, 1), t3, (3, 4, 0, 5, 6, 7), (3, 4, 2, 5, 6, 7)) * -1.0 + t3new += einsum(f.oV, (0, 1), t1[np.ix_(so,sV)], (0, 2), t3, (3, 4, 5, 6, 7, 1), (3, 4, 5, 2, 7, 6)) + t3new += einsum(f.oV, (0, 1), t1[np.ix_(so,sV)], (0, 2), t3, (3, 4, 5, 6, 1, 7), (3, 4, 5, 6, 2, 7)) * -1.0 + t3new += einsum(f.oV, (0, 1), t1[np.ix_(so,sV)], (0, 2), t3, (3, 4, 5, 6, 7, 1), (3, 4, 5, 6, 7, 2)) * -1.0 + t3new += einsum(f.ov, (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 1), t2[np.ix_(sO,so,sV,sV)], (5, 0, 6, 7), (2, 5, 3, 4, 6, 7)) * -1.0 + t3new += einsum(f.ov, (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 1), t2[np.ix_(sO,so,sV,sV)], (5, 0, 6, 7), (2, 5, 3, 7, 6, 4)) + t3new += einsum(f.ov, (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 1, 4), t2[np.ix_(sO,so,sV,sV)], (5, 0, 6, 7), (2, 5, 3, 4, 6, 7)) + t3new += einsum(f.ov, (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 1, 4), t2[np.ix_(sO,so,sV,sV)], (5, 0, 6, 7), (2, 5, 3, 7, 6, 4)) * -1.0 + t3new += einsum(f.ov, (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 0, 3, 4), t2[np.ix_(sO,sO,sV,sv)], (5, 6, 7, 1), (2, 5, 6, 3, 7, 4)) * -1.0 + t3new += einsum(f.ov, (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 0, 3, 4), t2[np.ix_(sO,sO,sv,sV)], (5, 6, 1, 7), (2, 5, 6, 3, 4, 7)) * -1.0 + t3new += einsum(f.ov, (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 0, 3, 4), t2[np.ix_(sO,sO,sV,sv)], (5, 6, 7, 1), (2, 5, 6, 4, 7, 3)) + t3new += einsum(f.ov, (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 0, 3, 4), t2[np.ix_(sO,sO,sv,sV)], (5, 6, 1, 7), (2, 5, 6, 7, 4, 3)) + t3new += einsum(f.ov, (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 1), t2[np.ix_(sO,so,sV,sV)], (5, 0, 6, 7), (2, 3, 5, 4, 7, 6)) * -1.0 + t3new += einsum(f.ov, (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 1), t2[np.ix_(sO,so,sV,sV)], (5, 0, 6, 7), (2, 3, 5, 6, 7, 4)) + t3new += einsum(f.ov, (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 1, 4), t2[np.ix_(sO,so,sV,sV)], (5, 0, 6, 7), (2, 3, 5, 6, 4, 7)) + t3new += einsum(f.ov, (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 1, 4), t2[np.ix_(sO,so,sV,sV)], (5, 0, 6, 7), (2, 3, 5, 7, 4, 6)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OoVv, (6, 3, 7, 1), (0, 2, 6, 7, 4, 5)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OoVv, (6, 3, 7, 1), (0, 2, 6, 5, 4, 7)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OoVv, (6, 3, 7, 1), (0, 6, 2, 4, 5, 7)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OoVv, (6, 3, 7, 1), (0, 6, 2, 7, 5, 4)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OoVv, (6, 3, 7, 1), (2, 0, 6, 4, 7, 5)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OoVv, (6, 3, 7, 1), (2, 0, 6, 5, 7, 4)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OoVv, (6, 3, 7, 1), (6, 0, 2, 4, 7, 5)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OoVv, (6, 3, 7, 1), (6, 0, 2, 5, 7, 4)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OoVv, (6, 3, 7, 1), (2, 6, 0, 4, 5, 7)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OoVv, (6, 3, 7, 1), (2, 6, 0, 7, 5, 4)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OoVv, (6, 3, 7, 1), (6, 2, 0, 7, 4, 5)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OoVv, (6, 3, 7, 1), (6, 2, 0, 5, 4, 7)) * -1.0 + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OoOo, (6, 3, 7, 0), (2, 6, 7, 1, 5, 4)) * -1.0 + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OoOo, (6, 0, 7, 3), (6, 2, 7, 1, 4, 5)) + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OoOo, (6, 3, 7, 0), (6, 2, 7, 1, 4, 5)) * -1.0 + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OoOo, (6, 0, 7, 3), (6, 7, 2, 1, 5, 4)) + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OoOo, (6, 0, 7, 3), (2, 6, 7, 4, 1, 5)) + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OoOo, (6, 0, 7, 3), (2, 6, 7, 5, 1, 4)) * -1.0 + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OoOo, (6, 3, 7, 0), (6, 7, 2, 4, 1, 5)) * -1.0 + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OoOo, (6, 3, 7, 0), (6, 7, 2, 5, 1, 4)) + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OoOo, (6, 3, 7, 0), (2, 6, 7, 4, 5, 1)) + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OoOo, (6, 0, 7, 3), (6, 2, 7, 5, 4, 1)) * -1.0 + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OoOo, (6, 3, 7, 0), (6, 2, 7, 5, 4, 1)) + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OoOo, (6, 0, 7, 3), (6, 7, 2, 4, 5, 1)) * -1.0 + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), v.OoVv, (6, 0, 7, 5), (2, 3, 6, 1, 7, 4)) + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), v.OoVv, (6, 0, 7, 4), (2, 3, 6, 1, 5, 7)) + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), v.OoVv, (6, 0, 7, 5), (6, 2, 3, 1, 4, 7)) * -1.0 + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), v.OoVv, (6, 0, 7, 4), (6, 2, 3, 1, 7, 5)) * -1.0 + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), v.OoVv, (6, 0, 7, 5), (2, 6, 3, 4, 1, 7)) * -1.0 + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), v.OoVv, (6, 0, 7, 5), (2, 6, 3, 7, 1, 4)) + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), v.OoVv, (6, 0, 7, 4), (2, 6, 3, 7, 1, 5)) * -1.0 + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), v.OoVv, (6, 0, 7, 4), (2, 6, 3, 5, 1, 7)) + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), v.OoVv, (6, 0, 7, 5), (2, 3, 6, 4, 7, 1)) * -1.0 + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), v.OoVv, (6, 0, 7, 4), (2, 3, 6, 7, 5, 1)) * -1.0 + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), v.OoVv, (6, 0, 7, 5), (6, 2, 3, 7, 4, 1)) + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), v.OoVv, (6, 0, 7, 4), (6, 2, 3, 5, 7, 1)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OVov, (6, 7, 3, 1), (0, 2, 6, 7, 4, 5)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OVov, (6, 7, 3, 1), (0, 2, 6, 5, 4, 7)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OVov, (6, 7, 3, 1), (0, 6, 2, 4, 7, 5)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OVov, (6, 7, 3, 1), (0, 6, 2, 5, 7, 4)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OVov, (6, 7, 3, 1), (2, 0, 6, 7, 5, 4)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OVov, (6, 7, 3, 1), (2, 0, 6, 4, 5, 7)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OVov, (6, 7, 3, 1), (6, 0, 2, 7, 5, 4)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OVov, (6, 7, 3, 1), (6, 0, 2, 4, 5, 7)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OVov, (6, 7, 3, 1), (2, 6, 0, 4, 7, 5)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OVov, (6, 7, 3, 1), (2, 6, 0, 5, 7, 4)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OVov, (6, 7, 3, 1), (6, 2, 0, 7, 4, 5)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OVov, (6, 7, 3, 1), (6, 2, 0, 5, 4, 7)) + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), v.OVov, (6, 7, 0, 5), (2, 6, 3, 1, 7, 4)) + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), v.OVov, (6, 7, 0, 4), (2, 6, 3, 1, 7, 5)) * -1.0 + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), v.OVov, (6, 7, 0, 4), (2, 3, 6, 1, 5, 7)) * -1.0 + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), v.OVov, (6, 7, 0, 5), (6, 2, 3, 1, 4, 7)) + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), v.OVov, (6, 7, 0, 5), (2, 3, 6, 7, 1, 4)) + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), v.OVov, (6, 7, 0, 5), (2, 3, 6, 4, 1, 7)) * -1.0 + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), v.OVov, (6, 7, 0, 4), (6, 2, 3, 7, 1, 5)) * -1.0 + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), v.OVov, (6, 7, 0, 4), (6, 2, 3, 5, 1, 7)) + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), v.OVov, (6, 7, 0, 5), (2, 6, 3, 4, 7, 1)) * -1.0 + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), v.OVov, (6, 7, 0, 4), (2, 6, 3, 5, 7, 1)) + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), v.OVov, (6, 7, 0, 4), (2, 3, 6, 7, 5, 1)) + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), v.OVov, (6, 7, 0, 5), (6, 2, 3, 7, 4, 1)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), v.VvVv, (6, 1, 7, 5), (0, 2, 3, 6, 4, 7)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), v.VvVv, (6, 1, 7, 4), (0, 2, 3, 6, 7, 5)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), v.VvVv, (6, 5, 7, 1), (0, 2, 3, 6, 4, 7)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), v.VvVv, (6, 4, 7, 1), (0, 2, 3, 5, 6, 7)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), v.VvVv, (6, 5, 7, 1), (2, 0, 3, 6, 7, 4)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), v.VvVv, (6, 4, 7, 1), (2, 0, 3, 6, 7, 5)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), v.VvVv, (6, 1, 7, 5), (2, 0, 3, 4, 6, 7)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), v.VvVv, (6, 1, 7, 4), (2, 0, 3, 5, 6, 7)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), v.VvVv, (6, 1, 7, 5), (2, 3, 0, 6, 7, 4)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), v.VvVv, (6, 1, 7, 4), (2, 3, 0, 6, 5, 7)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), v.VvVv, (6, 4, 7, 1), (2, 3, 0, 6, 5, 7)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), v.VvVv, (6, 5, 7, 1), (2, 3, 0, 4, 6, 7)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), v.OOOv, (2, 3, 4, 1), t3, (5, 3, 4, 6, 7, 8), (0, 2, 5, 6, 7, 8)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), v.OOOv, (2, 3, 4, 1), t3, (3, 5, 4, 6, 7, 8), (0, 5, 2, 6, 7, 8)) * -0.5 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), v.OOOv, (2, 3, 4, 1), t3, (3, 5, 4, 6, 7, 8), (0, 5, 2, 8, 7, 6)) * 0.5 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), v.OOOv, (2, 3, 4, 1), t3, (5, 4, 3, 6, 7, 8), (2, 0, 5, 6, 7, 8)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), v.OOOv, (2, 3, 4, 1), t3, (5, 4, 3, 6, 7, 8), (5, 0, 2, 6, 7, 8)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), v.OOOv, (2, 3, 4, 1), t3, (3, 5, 4, 6, 7, 8), (2, 5, 0, 8, 7, 6)) * -0.5 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), v.OOOv, (2, 3, 4, 1), t3, (3, 5, 4, 6, 7, 8), (2, 5, 0, 6, 7, 8)) * 0.5 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), v.OOOv, (2, 3, 4, 1), t3, (5, 3, 4, 6, 7, 8), (5, 2, 0, 6, 7, 8)) + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), v.OoOV, (2, 0, 3, 4), t3, (5, 6, 3, 7, 8, 4), (2, 5, 6, 1, 7, 8)) * -1.0 + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), v.OoOV, (2, 0, 3, 4), t3, (5, 6, 3, 7, 8, 4), (2, 6, 5, 1, 8, 7)) * -1.0 + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), v.OOoV, (2, 3, 0, 4), t3, (5, 6, 3, 7, 8, 4), (2, 6, 5, 1, 8, 7)) + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), v.OOoV, (2, 3, 0, 4), t3, (5, 3, 6, 7, 8, 4), (5, 2, 6, 1, 8, 7)) * -1.0 + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), v.OoOV, (2, 0, 3, 4), t3, (5, 6, 3, 7, 8, 4), (5, 6, 2, 1, 8, 7)) + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), v.OoOV, (2, 0, 3, 4), t3, (5, 6, 3, 7, 8, 4), (6, 5, 2, 1, 7, 8)) + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), v.OOoV, (2, 3, 0, 4), t3, (5, 6, 3, 7, 8, 4), (5, 6, 2, 1, 8, 7)) * -1.0 + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), v.OOoV, (2, 3, 0, 4), t3, (5, 6, 3, 7, 4, 8), (2, 6, 5, 7, 1, 8)) * -1.0 + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), v.OoOV, (2, 0, 3, 4), t3, (5, 6, 3, 7, 8, 4), (5, 2, 6, 7, 1, 8)) * -1.0 + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), v.OoOV, (2, 0, 3, 4), t3, (5, 6, 3, 7, 8, 4), (5, 2, 6, 8, 1, 7)) + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), v.OoOV, (2, 0, 3, 4), t3, (5, 6, 3, 7, 4, 8), (5, 2, 6, 7, 1, 8)) + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), v.OoOV, (2, 0, 3, 4), t3, (5, 3, 6, 7, 4, 8), (5, 2, 6, 7, 1, 8)) * -1.0 + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), v.OOoV, (2, 3, 0, 4), t3, (5, 3, 6, 7, 4, 8), (5, 2, 6, 7, 1, 8)) + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), v.OOoV, (2, 3, 0, 4), t3, (5, 6, 3, 7, 4, 8), (5, 6, 2, 7, 1, 8)) + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), v.OoOV, (2, 0, 3, 4), t3, (5, 6, 3, 7, 8, 4), (2, 5, 6, 8, 7, 1)) + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), v.OoOV, (2, 0, 3, 4), t3, (5, 6, 3, 7, 8, 4), (2, 6, 5, 7, 8, 1)) + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), v.OOoV, (2, 3, 0, 4), t3, (5, 6, 3, 7, 8, 4), (2, 6, 5, 7, 8, 1)) * -1.0 + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), v.OOoV, (2, 3, 0, 4), t3, (5, 3, 6, 7, 8, 4), (5, 2, 6, 7, 8, 1)) + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), v.OoOV, (2, 0, 3, 4), t3, (5, 6, 3, 7, 8, 4), (5, 6, 2, 7, 8, 1)) * -1.0 + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), v.OoOV, (2, 0, 3, 4), t3, (5, 6, 3, 7, 8, 4), (6, 5, 2, 8, 7, 1)) * -1.0 + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), v.OOoV, (2, 3, 0, 4), t3, (5, 6, 3, 7, 8, 4), (5, 6, 2, 7, 8, 1)) + t3new += einsum(t1[np.ix_(so,sv)], (0, 1), v.OoOv, (2, 0, 3, 1), t3, (4, 5, 3, 6, 7, 8), (2, 5, 4, 6, 7, 8)) * -1.0 + t3new += einsum(t1[np.ix_(so,sv)], (0, 1), v.OOov, (2, 3, 0, 1), t3, (4, 5, 3, 6, 7, 8), (2, 5, 4, 6, 7, 8)) * 2.0 + t3new += einsum(t1[np.ix_(so,sv)], (0, 1), v.OoOv, (2, 0, 3, 1), t3, (4, 3, 5, 6, 7, 8), (4, 2, 5, 6, 7, 8)) + t3new += einsum(t1[np.ix_(so,sv)], (0, 1), v.OOov, (2, 3, 0, 1), t3, (4, 3, 5, 6, 7, 8), (4, 2, 5, 6, 7, 8)) * -2.0 + t3new += einsum(t1[np.ix_(so,sv)], (0, 1), v.OoOv, (2, 0, 3, 1), t3, (4, 5, 3, 6, 7, 8), (4, 5, 2, 6, 7, 8)) + t3new += einsum(t1[np.ix_(so,sv)], (0, 1), v.OOov, (2, 3, 0, 1), t3, (4, 5, 3, 6, 7, 8), (4, 5, 2, 6, 7, 8)) * -2.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), v.OvVV, (2, 1, 3, 4), t3, (5, 6, 2, 7, 8, 4), (0, 6, 5, 3, 8, 7)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), v.OvVV, (2, 1, 3, 4), t3, (5, 6, 2, 7, 4, 8), (0, 6, 5, 7, 3, 8)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), v.OvVV, (2, 1, 3, 4), t3, (5, 6, 2, 7, 8, 4), (0, 6, 5, 7, 8, 3)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), v.OVVv, (2, 3, 4, 1), t3, (5, 6, 2, 7, 8, 3), (0, 5, 6, 4, 7, 8)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), v.OVVv, (2, 3, 4, 1), t3, (5, 6, 2, 7, 8, 3), (0, 6, 5, 4, 8, 7)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), v.OVVv, (2, 3, 4, 1), t3, (5, 6, 2, 7, 8, 3), (0, 5, 6, 8, 7, 4)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), v.OVVv, (2, 3, 4, 1), t3, (5, 6, 2, 7, 8, 3), (0, 6, 5, 7, 8, 4)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), v.OvVV, (2, 1, 3, 4), t3, (5, 2, 6, 7, 8, 4), (5, 0, 6, 3, 8, 7)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), v.OvVV, (2, 1, 3, 4), t3, (5, 2, 6, 7, 4, 8), (5, 0, 6, 7, 3, 8)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), v.OvVV, (2, 1, 3, 4), t3, (5, 2, 6, 7, 8, 4), (5, 0, 6, 7, 8, 3)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), v.OVVv, (2, 3, 4, 1), t3, (5, 6, 2, 7, 8, 3), (5, 0, 6, 8, 4, 7)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), v.OVVv, (2, 3, 4, 1), t3, (5, 6, 2, 7, 3, 8), (5, 0, 6, 7, 4, 8)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), v.OVVv, (2, 3, 4, 1), t3, (5, 6, 2, 7, 8, 3), (5, 0, 6, 7, 4, 8)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), v.OVVv, (2, 3, 4, 1), t3, (5, 2, 6, 7, 3, 8), (5, 0, 6, 7, 4, 8)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), v.OvVV, (2, 1, 3, 4), t3, (5, 6, 2, 7, 8, 4), (5, 6, 0, 3, 8, 7)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), v.OvVV, (2, 1, 3, 4), t3, (5, 6, 2, 7, 4, 8), (5, 6, 0, 7, 3, 8)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), v.OvVV, (2, 1, 3, 4), t3, (5, 6, 2, 7, 8, 4), (5, 6, 0, 7, 8, 3)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), v.OVVv, (2, 3, 4, 1), t3, (5, 6, 2, 7, 8, 3), (5, 6, 0, 4, 8, 7)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), v.OVVv, (2, 3, 4, 1), t3, (5, 6, 2, 7, 8, 3), (6, 5, 0, 4, 7, 8)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), v.OVVv, (2, 3, 4, 1), t3, (5, 6, 2, 7, 8, 3), (5, 6, 0, 7, 8, 4)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), v.OVVv, (2, 3, 4, 1), t3, (5, 6, 2, 7, 8, 3), (6, 5, 0, 8, 7, 4)) + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), v.oVVV, (0, 2, 3, 4), t3, (5, 6, 7, 8, 4, 2), (5, 6, 7, 1, 3, 8)) + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), v.oVVV, (0, 2, 3, 4), t3, (5, 6, 7, 2, 8, 4), (5, 6, 7, 1, 8, 3)) * -0.5 + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), v.oVVV, (0, 2, 3, 4), t3, (5, 6, 7, 4, 8, 2), (5, 6, 7, 1, 8, 3)) * 0.5 + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), v.oVVV, (0, 2, 3, 4), t3, (5, 6, 7, 8, 2, 4), (5, 6, 7, 3, 1, 8)) + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), v.oVVV, (0, 2, 3, 4), t3, (5, 6, 7, 8, 2, 4), (5, 6, 7, 8, 1, 3)) * -1.0 + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), v.oVVV, (0, 2, 3, 4), t3, (5, 6, 7, 4, 8, 2), (5, 6, 7, 3, 8, 1)) * -0.5 + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), v.oVVV, (0, 2, 3, 4), t3, (5, 6, 7, 2, 8, 4), (5, 6, 7, 3, 8, 1)) * 0.5 + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), v.oVVV, (0, 2, 3, 4), t3, (5, 6, 7, 8, 4, 2), (5, 6, 7, 8, 3, 1)) * -1.0 + t3new += einsum(t1[np.ix_(so,sv)], (0, 1), v.ovVV, (0, 1, 2, 3), t3, (4, 5, 6, 7, 8, 3), (4, 5, 6, 2, 8, 7)) * -2.0 + t3new += einsum(t1[np.ix_(so,sv)], (0, 1), v.ovVV, (0, 1, 2, 3), t3, (4, 5, 6, 7, 3, 8), (4, 5, 6, 7, 2, 8)) * 2.0 + t3new += einsum(t1[np.ix_(so,sv)], (0, 1), v.ovVV, (0, 1, 2, 3), t3, (4, 5, 6, 7, 8, 3), (4, 5, 6, 7, 8, 2)) * 2.0 + t3new += einsum(t1[np.ix_(so,sv)], (0, 1), v.oVVv, (0, 2, 3, 1), t3, (4, 5, 6, 7, 8, 2), (4, 5, 6, 3, 8, 7)) + t3new += einsum(t1[np.ix_(so,sv)], (0, 1), v.oVVv, (0, 2, 3, 1), t3, (4, 5, 6, 7, 2, 8), (4, 5, 6, 7, 3, 8)) * -1.0 + t3new += einsum(t1[np.ix_(so,sv)], (0, 1), v.oVVv, (0, 2, 3, 1), t3, (4, 5, 6, 7, 8, 2), (4, 5, 6, 7, 8, 3)) * -1.0 + t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sv)], (4, 5, 6, 7), v.Ooov, (8, 1, 5, 7), (0, 4, 8, 2, 6, 3)) * -2.0 + t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 1, 5, 3), (0, 4, 8, 2, 6, 7)) + t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sv,sV)], (4, 5, 6, 7), v.Ooov, (8, 1, 5, 6), (0, 4, 8, 2, 7, 3)) + t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sv)], (4, 5, 6, 7), v.Ooov, (8, 1, 5, 7), (0, 4, 8, 3, 6, 2)) * 2.0 + t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 1, 5, 3), (0, 4, 8, 7, 6, 2)) * -1.0 + t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sv,sV)], (4, 5, 6, 7), v.Ooov, (8, 1, 5, 6), (0, 4, 8, 3, 7, 2)) * -1.0 + t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 1, 5, 2), (0, 4, 8, 3, 6, 7)) * -1.0 + t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 1, 5, 2), (0, 4, 8, 7, 6, 3)) + t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sv)], (4, 5, 6, 7), v.Ooov, (8, 5, 1, 7), (0, 4, 8, 2, 6, 3)) + t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 1, 3), (0, 4, 8, 2, 6, 7)) * -2.0 + t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sv,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 1, 6), (0, 4, 8, 2, 3, 7)) + t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sv)], (4, 5, 6, 7), v.Ooov, (8, 5, 1, 7), (0, 4, 8, 3, 6, 2)) * -1.0 + t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 1, 3), (0, 4, 8, 7, 6, 2)) * 2.0 + t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sv,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 1, 6), (0, 4, 8, 7, 3, 2)) * -1.0 + t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 1, 2), (0, 4, 8, 3, 6, 7)) + t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 1, 2), (0, 4, 8, 7, 6, 3)) * -1.0 + t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sv)], (4, 5, 6, 7), v.Ooov, (8, 1, 5, 7), (0, 8, 4, 2, 3, 6)) * -2.0 + t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 1, 5, 3), (0, 8, 4, 2, 7, 6)) + t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sv,sV)], (4, 5, 6, 7), v.Ooov, (8, 1, 5, 6), (0, 8, 4, 2, 3, 7)) + t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sv)], (4, 5, 6, 7), v.Ooov, (8, 1, 5, 7), (0, 8, 4, 6, 3, 2)) * 2.0 + t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 1, 5, 3), (0, 8, 4, 6, 7, 2)) * -1.0 + t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sv,sV)], (4, 5, 6, 7), v.Ooov, (8, 1, 5, 6), (0, 8, 4, 7, 3, 2)) * -1.0 + t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 1, 5, 2), (0, 8, 4, 6, 3, 7)) * -1.0 + t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 1, 5, 2), (0, 8, 4, 7, 3, 6)) + t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sv)], (4, 5, 6, 7), v.Ooov, (8, 5, 1, 7), (0, 8, 4, 2, 3, 6)) + t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 1, 3), (0, 8, 4, 2, 7, 6)) * -2.0 + t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sv,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 1, 6), (0, 8, 4, 2, 7, 3)) + t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sv)], (4, 5, 6, 7), v.Ooov, (8, 5, 1, 7), (0, 8, 4, 6, 3, 2)) * -1.0 + t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 1, 3), (0, 8, 4, 6, 7, 2)) * 2.0 + t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sv,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 1, 6), (0, 8, 4, 3, 7, 2)) * -1.0 + t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 1, 2), (0, 8, 4, 6, 7, 3)) * -1.0 + t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 1, 2), (0, 8, 4, 3, 7, 6)) + t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), t2[np.ix_(so,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 4, 3), (0, 8, 1, 2, 7, 6)) + t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), t2[np.ix_(so,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 4, 3), (0, 8, 1, 6, 7, 2)) * -1.0 + t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), t2[np.ix_(so,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 4, 2), (0, 8, 1, 6, 7, 3)) + t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), t2[np.ix_(so,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 4, 2), (0, 8, 1, 3, 7, 6)) * -1.0 + t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), t2[np.ix_(so,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 4, 5, 3), (0, 1, 8, 2, 7, 6)) + t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), t2[np.ix_(so,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 4, 5, 3), (0, 1, 8, 6, 7, 2)) * -1.0 + t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), t2[np.ix_(so,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 4, 5, 2), (0, 1, 8, 6, 3, 7)) * -0.5 + t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), t2[np.ix_(so,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 4, 5, 2), (0, 1, 8, 7, 3, 6)) * 0.5 + t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), t2[np.ix_(so,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 4, 2), (0, 1, 8, 6, 3, 7)) * 0.5 + t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), t2[np.ix_(so,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 4, 2), (0, 1, 8, 7, 3, 6)) * -0.5 + t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 1, 3), (8, 0, 4, 6, 2, 7)) + t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 1, 3), (8, 0, 4, 7, 2, 6)) * -1.0 + t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 1, 2), (8, 0, 4, 6, 3, 7)) * -1.0 + t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 1, 2), (8, 0, 4, 7, 3, 6)) + t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sv)], (4, 5, 6, 7), v.Ooov, (8, 5, 1, 7), (8, 0, 4, 6, 2, 3)) * -1.0 + t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 1, 3), (8, 0, 4, 6, 2, 7)) + t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sv)], (4, 5, 6, 7), v.Ooov, (8, 5, 1, 7), (8, 0, 4, 3, 2, 6)) + t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 1, 3), (8, 0, 4, 7, 2, 6)) * -1.0 + t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sv,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 1, 6), (8, 0, 4, 3, 2, 7)) * -1.0 + t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sv,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 1, 6), (8, 0, 4, 7, 2, 3)) + t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sv)], (4, 5, 6, 7), v.Ooov, (8, 1, 5, 7), (8, 0, 4, 6, 2, 3)) * 2.0 + t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 1, 5, 3), (8, 0, 4, 6, 2, 7)) * -1.0 + t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sv)], (4, 5, 6, 7), v.Ooov, (8, 1, 5, 7), (8, 0, 4, 3, 2, 6)) * -2.0 + t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 1, 5, 3), (8, 0, 4, 7, 2, 6)) + t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sv,sV)], (4, 5, 6, 7), v.Ooov, (8, 1, 5, 6), (8, 0, 4, 3, 2, 7)) + t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sv,sV)], (4, 5, 6, 7), v.Ooov, (8, 1, 5, 6), (8, 0, 4, 7, 2, 3)) * -1.0 + t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 1, 5, 2), (8, 0, 4, 6, 7, 3)) * -1.0 + t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 1, 5, 2), (8, 0, 4, 3, 7, 6)) + t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), t2[np.ix_(so,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 4, 5, 3), (8, 0, 1, 6, 2, 7)) * 0.5 + t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), t2[np.ix_(so,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 4, 5, 3), (8, 0, 1, 7, 2, 6)) * -0.5 + t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), t2[np.ix_(so,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 4, 5, 2), (8, 0, 1, 6, 7, 3)) + t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), t2[np.ix_(so,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 4, 5, 2), (8, 0, 1, 3, 7, 6)) * -1.0 + t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), t2[np.ix_(so,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 4, 3), (8, 0, 1, 6, 2, 7)) * -0.5 + t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), t2[np.ix_(so,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 4, 3), (8, 0, 1, 7, 2, 6)) * 0.5 + t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sv)], (4, 5, 6, 7), v.ovVv, (5, 3, 8, 7), (0, 4, 1, 2, 6, 8)) * -1.0 + t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sv,sV)], (4, 5, 6, 7), v.ovVv, (5, 3, 8, 6), (0, 4, 1, 2, 8, 7)) * -1.0 + t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sv)], (4, 5, 6, 7), v.ovVv, (5, 3, 8, 7), (0, 4, 1, 8, 6, 2)) + t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sv,sV)], (4, 5, 6, 7), v.ovVv, (5, 3, 8, 6), (0, 4, 1, 7, 8, 2)) + t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sv)], (4, 5, 6, 7), v.ovVv, (5, 2, 8, 7), (0, 4, 1, 8, 6, 3)) * -1.0 + t3new += einsum(t2[np.ix_(sO,sO,sv,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.ovVv, (5, 2, 8, 3), (0, 4, 1, 8, 6, 7)) + t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sv)], (4, 5, 6, 7), v.ovVv, (5, 2, 8, 7), (0, 4, 1, 3, 6, 8)) + t3new += einsum(t2[np.ix_(sO,sO,sv,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.ovVv, (5, 2, 8, 3), (0, 4, 1, 7, 6, 8)) * -1.0 + t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sv,sV)], (4, 5, 6, 7), v.ovVv, (5, 2, 8, 6), (0, 4, 1, 3, 8, 7)) + t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sv,sV)], (4, 5, 6, 7), v.ovVv, (5, 2, 8, 6), (0, 4, 1, 7, 8, 3)) * -1.0 + t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sv)], (4, 5, 6, 7), v.ovVv, (5, 7, 8, 3), (0, 4, 1, 2, 6, 8)) * 2.0 + t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sv,sV)], (4, 5, 6, 7), v.ovVv, (5, 6, 8, 3), (0, 4, 1, 2, 7, 8)) * -1.0 + t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sv)], (4, 5, 6, 7), v.ovVv, (5, 7, 8, 3), (0, 4, 1, 8, 6, 2)) * -2.0 + t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sv,sV)], (4, 5, 6, 7), v.ovVv, (5, 6, 8, 3), (0, 4, 1, 8, 7, 2)) + t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sv)], (4, 5, 6, 7), v.ovVv, (5, 7, 8, 2), (0, 4, 1, 8, 6, 3)) * 2.0 + t3new += einsum(t2[np.ix_(sO,sO,sv,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.ovVv, (5, 3, 8, 2), (0, 4, 1, 8, 6, 7)) * -1.0 + t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sv)], (4, 5, 6, 7), v.ovVv, (5, 7, 8, 2), (0, 4, 1, 3, 6, 8)) * -2.0 + t3new += einsum(t2[np.ix_(sO,sO,sv,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.ovVv, (5, 3, 8, 2), (0, 4, 1, 7, 6, 8)) + t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sv,sV)], (4, 5, 6, 7), v.ovVv, (5, 6, 8, 2), (0, 4, 1, 8, 7, 3)) * -1.0 + t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sv,sV)], (4, 5, 6, 7), v.ovVv, (5, 6, 8, 2), (0, 4, 1, 3, 7, 8)) + t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,sO,sV,sv)], (4, 5, 6, 7), v.ovVv, (1, 3, 8, 7), (0, 4, 5, 2, 6, 8)) * 2.0 + t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), t2[np.ix_(sO,sO,sv,sv)], (4, 5, 6, 7), v.ovVv, (1, 7, 8, 6), (0, 4, 5, 2, 8, 3)) * -1.0 + t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,sO,sv,sV)], (4, 5, 6, 7), v.ovVv, (1, 3, 8, 6), (0, 4, 5, 2, 8, 7)) * 2.0 + t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,sO,sV,sv)], (4, 5, 6, 7), v.ovVv, (1, 3, 8, 7), (0, 4, 5, 8, 6, 2)) * -2.0 + t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), t2[np.ix_(sO,sO,sv,sv)], (4, 5, 6, 7), v.ovVv, (1, 7, 8, 6), (0, 4, 5, 3, 8, 2)) + t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,sO,sv,sV)], (4, 5, 6, 7), v.ovVv, (1, 3, 8, 6), (0, 4, 5, 7, 8, 2)) * -2.0 + t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,sO,sV,sv)], (4, 5, 6, 7), v.ovVv, (1, 2, 8, 7), (0, 4, 5, 8, 6, 3)) + t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,sO,sV,sv)], (4, 5, 6, 7), v.ovVv, (1, 2, 8, 7), (0, 4, 5, 3, 6, 8)) * -1.0 + t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,sO,sv,sV)], (4, 5, 6, 7), v.ovVv, (1, 2, 8, 6), (0, 4, 5, 3, 8, 7)) * -1.0 + t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,sO,sv,sV)], (4, 5, 6, 7), v.ovVv, (1, 2, 8, 6), (0, 4, 5, 7, 8, 3)) + t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,sO,sV,sv)], (4, 5, 6, 7), v.ovVv, (1, 7, 8, 3), (0, 4, 5, 2, 6, 8)) * -1.0 + t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,sO,sv,sV)], (4, 5, 6, 7), v.ovVv, (1, 6, 8, 3), (0, 4, 5, 2, 8, 7)) * -1.0 + t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), t2[np.ix_(sO,sO,sv,sv)], (4, 5, 6, 7), v.ovVv, (1, 6, 8, 7), (0, 4, 5, 2, 3, 8)) * -1.0 + t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,sO,sV,sv)], (4, 5, 6, 7), v.ovVv, (1, 7, 8, 3), (0, 4, 5, 8, 6, 2)) + t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), t2[np.ix_(sO,sO,sv,sv)], (4, 5, 6, 7), v.ovVv, (1, 6, 8, 7), (0, 4, 5, 8, 3, 2)) + t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,sO,sv,sV)], (4, 5, 6, 7), v.ovVv, (1, 6, 8, 3), (0, 4, 5, 7, 8, 2)) + t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,sO,sV,sv)], (4, 5, 6, 7), v.ovVv, (1, 7, 8, 2), (0, 4, 5, 8, 6, 3)) * -1.0 + t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,sO,sV,sv)], (4, 5, 6, 7), v.ovVv, (1, 7, 8, 2), (0, 4, 5, 3, 6, 8)) + t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,sO,sv,sV)], (4, 5, 6, 7), v.ovVv, (1, 6, 8, 2), (0, 4, 5, 8, 3, 7)) * -1.0 + t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,sO,sv,sV)], (4, 5, 6, 7), v.ovVv, (1, 6, 8, 2), (0, 4, 5, 7, 3, 8)) + t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sv)], (4, 5, 6, 7), v.ovVv, (5, 3, 8, 7), (0, 1, 4, 2, 8, 6)) * -1.0 + t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sv,sV)], (4, 5, 6, 7), v.ovVv, (5, 3, 8, 6), (0, 1, 4, 2, 7, 8)) * -1.0 + t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sv)], (4, 5, 6, 7), v.ovVv, (5, 3, 8, 7), (0, 1, 4, 6, 8, 2)) + t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sv,sV)], (4, 5, 6, 7), v.ovVv, (5, 3, 8, 6), (0, 1, 4, 8, 7, 2)) + t3new += einsum(t2[np.ix_(sO,sO,sv,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.ovVv, (5, 2, 8, 3), (0, 1, 4, 6, 8, 7)) + t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sv)], (4, 5, 6, 7), v.ovVv, (5, 2, 8, 7), (0, 1, 4, 6, 3, 8)) + t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sv)], (4, 5, 6, 7), v.ovVv, (5, 2, 8, 7), (0, 1, 4, 8, 3, 6)) * -1.0 + t3new += einsum(t2[np.ix_(sO,sO,sv,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.ovVv, (5, 2, 8, 3), (0, 1, 4, 7, 8, 6)) * -1.0 + t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sv,sV)], (4, 5, 6, 7), v.ovVv, (5, 2, 8, 6), (0, 1, 4, 8, 3, 7)) + t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sv,sV)], (4, 5, 6, 7), v.ovVv, (5, 2, 8, 6), (0, 1, 4, 7, 3, 8)) * -1.0 + t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sv)], (4, 5, 6, 7), v.ovVv, (5, 7, 8, 3), (0, 1, 4, 2, 8, 6)) * 2.0 + t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sv,sV)], (4, 5, 6, 7), v.ovVv, (5, 6, 8, 3), (0, 1, 4, 2, 8, 7)) * -1.0 + t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sv)], (4, 5, 6, 7), v.ovVv, (5, 7, 8, 3), (0, 1, 4, 6, 8, 2)) * -2.0 + t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sv,sV)], (4, 5, 6, 7), v.ovVv, (5, 6, 8, 3), (0, 1, 4, 7, 8, 2)) + t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sv)], (4, 5, 6, 7), v.ovVv, (5, 7, 8, 2), (0, 1, 4, 6, 3, 8)) * -2.0 + t3new += einsum(t2[np.ix_(sO,sO,sv,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.ovVv, (5, 3, 8, 2), (0, 1, 4, 6, 7, 8)) + t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sv)], (4, 5, 6, 7), v.ovVv, (5, 7, 8, 2), (0, 1, 4, 8, 3, 6)) * 2.0 + t3new += einsum(t2[np.ix_(sO,sO,sv,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.ovVv, (5, 3, 8, 2), (0, 1, 4, 8, 7, 6)) * -1.0 + t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sv,sV)], (4, 5, 6, 7), v.ovVv, (5, 6, 8, 2), (0, 1, 4, 8, 3, 7)) * -1.0 + t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sv,sV)], (4, 5, 6, 7), v.ovVv, (5, 6, 8, 2), (0, 1, 4, 7, 3, 8)) + t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), v.OvOV, (4, 3, 5, 6), t3, (4, 7, 5, 8, 9, 6), (0, 1, 7, 2, 8, 9)) * -0.5 + t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), v.OvOV, (4, 3, 5, 6), t3, (4, 7, 5, 8, 9, 6), (0, 1, 7, 9, 8, 2)) * 0.5 + t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), v.OvOV, (4, 2, 5, 6), t3, (7, 4, 5, 8, 9, 6), (0, 1, 7, 8, 3, 9)) * 0.5 + t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), v.OvOV, (4, 2, 5, 6), t3, (7, 4, 5, 8, 6, 9), (0, 1, 7, 8, 3, 9)) * -0.5 + t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), v.OvOV, (4, 2, 5, 6), t3, (7, 4, 5, 8, 9, 6), (0, 1, 7, 9, 3, 8)) * -0.5 + t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), v.OvOV, (4, 2, 5, 6), t3, (7, 5, 4, 8, 6, 9), (0, 1, 7, 8, 3, 9)) + t3new += einsum(t2[np.ix_(sO,sO,sv,sv)], (0, 1, 2, 3), v.OvOv, (4, 2, 5, 3), t3, (6, 5, 4, 7, 8, 9), (0, 1, 6, 7, 8, 9)) * -1.0 + t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), v.OVOv, (4, 5, 6, 3), t3, (7, 6, 4, 8, 9, 5), (0, 1, 7, 2, 9, 8)) * -1.0 + t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), v.OVOv, (4, 5, 6, 3), t3, (4, 7, 6, 8, 9, 5), (0, 1, 7, 2, 8, 9)) * 0.5 + t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), v.OVOv, (4, 5, 6, 3), t3, (7, 6, 4, 8, 9, 5), (0, 1, 7, 8, 9, 2)) + t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), v.OVOv, (4, 5, 6, 3), t3, (4, 7, 6, 8, 9, 5), (0, 1, 7, 9, 8, 2)) * -0.5 + t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), v.OVOv, (4, 5, 6, 2), t3, (7, 4, 6, 8, 9, 5), (0, 1, 7, 8, 3, 9)) * -0.5 + t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), v.OVOv, (4, 5, 6, 2), t3, (7, 4, 6, 8, 5, 9), (0, 1, 7, 8, 3, 9)) * 0.5 + t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), v.OVOv, (4, 5, 6, 2), t3, (7, 4, 6, 8, 9, 5), (0, 1, 7, 9, 3, 8)) * 0.5 + t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), v.OvOV, (4, 3, 5, 6), t3, (7, 4, 5, 8, 9, 6), (0, 7, 1, 2, 8, 9)) * -1.0 + t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), v.OvOV, (4, 3, 5, 6), t3, (4, 7, 5, 8, 9, 6), (0, 7, 1, 2, 9, 8)) * -0.5 + t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), v.OvOV, (4, 3, 5, 6), t3, (7, 4, 5, 8, 9, 6), (0, 7, 1, 9, 8, 2)) + t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), v.OvOV, (4, 3, 5, 6), t3, (4, 7, 5, 8, 9, 6), (0, 7, 1, 8, 9, 2)) * 0.5 + t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), v.OvOV, (4, 2, 5, 6), t3, (7, 4, 5, 8, 9, 6), (0, 7, 1, 3, 8, 9)) + t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), v.OvOV, (4, 2, 5, 6), t3, (7, 4, 5, 8, 9, 6), (0, 7, 1, 9, 8, 3)) * -1.0 + t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), v.OvOV, (4, 2, 5, 6), t3, (4, 7, 5, 8, 9, 6), (0, 7, 1, 3, 9, 8)) * 0.5 + t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), v.OvOV, (4, 2, 5, 6), t3, (4, 7, 5, 8, 9, 6), (0, 7, 1, 8, 9, 3)) * -0.5 + t3new += einsum(t2[np.ix_(sO,sO,sv,sv)], (0, 1, 2, 3), v.OvOv, (4, 2, 5, 3), t3, (4, 6, 5, 7, 8, 9), (0, 6, 1, 7, 8, 9)) * 0.5 + t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), v.OVOv, (4, 5, 6, 3), t3, (4, 7, 6, 8, 9, 5), (0, 7, 1, 2, 9, 8)) * 0.5 + t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), v.OVOv, (4, 5, 6, 3), t3, (4, 7, 6, 8, 9, 5), (0, 7, 1, 8, 9, 2)) * -0.5 + t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), v.OVOv, (4, 5, 6, 2), t3, (4, 7, 6, 8, 9, 5), (0, 7, 1, 3, 9, 8)) * -0.5 + t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), v.OVOv, (4, 5, 6, 2), t3, (4, 7, 6, 8, 9, 5), (0, 7, 1, 8, 9, 3)) * 0.5 + t3new += einsum(t2[np.ix_(sO,sO,sv,sv)], (0, 1, 2, 3), v.OvOv, (4, 3, 5, 2), t3, (4, 6, 5, 7, 8, 9), (0, 6, 1, 7, 8, 9)) * -0.5 + t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.oVOV, (1, 4, 5, 6), t3, (7, 8, 5, 4, 9, 6), (0, 7, 8, 2, 3, 9)) * -0.5 + t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.oVOV, (1, 4, 5, 6), t3, (7, 8, 5, 6, 9, 4), (0, 7, 8, 2, 3, 9)) * 0.5 + t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.oVOV, (1, 4, 5, 6), t3, (7, 8, 5, 9, 4, 6), (0, 7, 8, 2, 9, 3)) * -1.0 + t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), v.ovOV, (1, 3, 4, 5), t3, (6, 7, 4, 8, 9, 5), (0, 6, 7, 2, 8, 9)) * 2.00000000000002 + t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.oVOV, (1, 4, 5, 6), t3, (7, 8, 5, 4, 9, 6), (0, 8, 7, 2, 9, 3)) * -0.5 + t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.oVOV, (1, 4, 5, 6), t3, (7, 8, 5, 6, 9, 4), (0, 8, 7, 2, 9, 3)) * 0.5 + t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), v.ovOV, (1, 3, 4, 5), t3, (6, 7, 4, 8, 9, 5), (0, 7, 6, 2, 9, 8)) * 2.00000000000002 + t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.oVOV, (1, 4, 5, 6), t3, (7, 8, 5, 9, 4, 6), (0, 7, 8, 3, 9, 2)) + t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.oVOV, (1, 4, 5, 6), t3, (7, 8, 5, 4, 9, 6), (0, 7, 8, 9, 3, 2)) * 0.5 + t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.oVOV, (1, 4, 5, 6), t3, (7, 8, 5, 6, 9, 4), (0, 7, 8, 9, 3, 2)) * -0.5 + t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), v.ovOV, (1, 3, 4, 5), t3, (6, 7, 4, 8, 9, 5), (0, 6, 7, 9, 8, 2)) * -2.00000000000002 + t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.oVOV, (1, 4, 5, 6), t3, (7, 8, 5, 4, 9, 6), (0, 8, 7, 3, 9, 2)) * 0.5 + t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.oVOV, (1, 4, 5, 6), t3, (7, 8, 5, 6, 9, 4), (0, 8, 7, 3, 9, 2)) * -0.5 + t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), v.ovOV, (1, 3, 4, 5), t3, (6, 7, 4, 8, 9, 5), (0, 7, 6, 8, 9, 2)) * -2.00000000000002 + t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), v.ovOV, (1, 2, 4, 5), t3, (6, 7, 4, 8, 9, 5), (0, 6, 7, 3, 8, 9)) * -1.00000000000001 + t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), v.ovOV, (1, 2, 4, 5), t3, (6, 7, 4, 8, 9, 5), (0, 6, 7, 9, 8, 3)) * 1.00000000000001 + t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), v.ovOV, (1, 2, 4, 5), t3, (6, 7, 4, 8, 9, 5), (0, 7, 6, 3, 9, 8)) * -1.00000000000001 + t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), v.ovOV, (1, 2, 4, 5), t3, (6, 7, 4, 8, 9, 5), (0, 7, 6, 8, 9, 3)) * 1.00000000000001 + t3new += einsum(t2[np.ix_(sO,so,sv,sv)], (0, 1, 2, 3), v.ovOv, (1, 3, 4, 2), t3, (5, 6, 4, 7, 8, 9), (0, 6, 5, 7, 8, 9)) + t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), v.oVOv, (1, 4, 5, 3), t3, (6, 7, 5, 8, 9, 4), (0, 6, 7, 2, 8, 9)) * -1.00000000000001 + t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.oVOV, (1, 4, 5, 6), t3, (7, 8, 5, 9, 4, 6), (0, 8, 7, 2, 3, 9)) * -1.0 + t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), v.oVOv, (1, 4, 5, 3), t3, (6, 7, 5, 8, 9, 4), (0, 7, 6, 2, 9, 8)) * -1.00000000000001 + t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), v.oVOv, (1, 4, 5, 3), t3, (6, 7, 5, 8, 9, 4), (0, 6, 7, 9, 8, 2)) * 1.00000000000001 + t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.oVOV, (1, 4, 5, 6), t3, (7, 8, 5, 9, 4, 6), (0, 8, 7, 9, 3, 2)) + t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), v.oVOv, (1, 4, 5, 3), t3, (6, 7, 5, 8, 9, 4), (0, 7, 6, 8, 9, 2)) * 1.00000000000001 + t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), v.oVOv, (1, 4, 5, 2), t3, (6, 7, 5, 8, 9, 4), (0, 7, 6, 3, 9, 8)) * 1.00000000000001 + t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), v.oVOv, (1, 4, 5, 2), t3, (6, 7, 5, 8, 4, 9), (0, 7, 6, 8, 3, 9)) * -1.00000000000001 + t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), v.oVOv, (1, 4, 5, 2), t3, (6, 7, 5, 8, 9, 4), (0, 7, 6, 8, 9, 3)) * -1.00000000000001 + t3new += einsum(t2[np.ix_(sO,so,sv,sv)], (0, 1, 2, 3), v.ovOv, (1, 3, 4, 2), t3, (5, 6, 4, 7, 8, 9), (0, 6, 5, 7, 8, 9)) + t3new += einsum(t2[np.ix_(sO,so,sv,sv)], (0, 1, 2, 3), v.ovOv, (1, 2, 4, 3), t3, (5, 6, 4, 7, 8, 9), (0, 6, 5, 7, 8, 9)) * -1.0 + t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), v.OvOV, (4, 3, 5, 6), t3, (7, 4, 5, 8, 9, 6), (7, 0, 1, 8, 2, 9)) * -0.5 + t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), v.OvOV, (4, 3, 5, 6), t3, (7, 4, 5, 8, 6, 9), (7, 0, 1, 8, 2, 9)) * 0.5 + t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), v.OvOV, (4, 3, 5, 6), t3, (7, 4, 5, 8, 9, 6), (7, 0, 1, 9, 2, 8)) * 0.5 + t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), v.OvOV, (4, 3, 5, 6), t3, (7, 5, 4, 8, 6, 9), (7, 0, 1, 8, 2, 9)) * -1.0 + t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), v.OvOV, (4, 2, 5, 6), t3, (4, 7, 5, 8, 9, 6), (7, 0, 1, 3, 8, 9)) * 0.5 + t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), v.OvOV, (4, 2, 5, 6), t3, (4, 7, 5, 8, 9, 6), (7, 0, 1, 9, 8, 3)) * -0.5 + t3new += einsum(t2[np.ix_(sO,sO,sv,sv)], (0, 1, 2, 3), v.OvOv, (4, 3, 5, 2), t3, (6, 5, 4, 7, 8, 9), (6, 0, 1, 7, 8, 9)) + t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), v.OVOv, (4, 5, 6, 3), t3, (7, 4, 6, 8, 9, 5), (7, 0, 1, 8, 2, 9)) * 0.5 + t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), v.OVOv, (4, 5, 6, 3), t3, (7, 4, 6, 8, 5, 9), (7, 0, 1, 8, 2, 9)) * -0.5 + t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), v.OVOv, (4, 5, 6, 3), t3, (7, 4, 6, 8, 9, 5), (7, 0, 1, 9, 2, 8)) * -0.5 + t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), v.OVOv, (4, 5, 6, 2), t3, (7, 6, 4, 8, 9, 5), (7, 0, 1, 3, 9, 8)) + t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), v.OVOv, (4, 5, 6, 2), t3, (7, 6, 4, 8, 9, 5), (7, 0, 1, 8, 9, 3)) * -1.0 + t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), v.OVOv, (4, 5, 6, 2), t3, (4, 7, 6, 8, 9, 5), (7, 0, 1, 3, 8, 9)) * -0.5 + t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), v.OVOv, (4, 5, 6, 2), t3, (4, 7, 6, 8, 9, 5), (7, 0, 1, 9, 8, 3)) * 0.5 + t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.oVOV, (1, 4, 5, 6), t3, (7, 5, 8, 9, 4, 6), (7, 0, 8, 3, 2, 9)) * -1.0 + t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.oVOV, (1, 4, 5, 6), t3, (7, 5, 8, 9, 6, 4), (7, 0, 8, 3, 2, 9)) * 2.0 + t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.oVOV, (1, 4, 5, 6), t3, (7, 5, 8, 4, 9, 6), (7, 0, 8, 3, 2, 9)) * 0.5 + t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.oVOV, (1, 4, 5, 6), t3, (7, 5, 8, 6, 9, 4), (7, 0, 8, 3, 2, 9)) * -0.5 + t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.oVOV, (1, 4, 5, 6), t3, (7, 5, 8, 9, 4, 6), (7, 0, 8, 9, 2, 3)) + t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.oVOV, (1, 4, 5, 6), t3, (7, 5, 8, 9, 6, 4), (7, 0, 8, 9, 2, 3)) * -2.0 + t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.oVOV, (1, 4, 5, 6), t3, (7, 5, 8, 4, 9, 6), (7, 0, 8, 9, 2, 3)) * -0.5 + t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.oVOV, (1, 4, 5, 6), t3, (7, 5, 8, 6, 9, 4), (7, 0, 8, 9, 2, 3)) * 0.5 + t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), v.ovOV, (1, 3, 4, 5), t3, (6, 7, 4, 8, 9, 5), (6, 0, 7, 8, 2, 9)) * 2.00000000000002 + t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), v.ovOV, (1, 3, 4, 5), t3, (6, 7, 4, 8, 5, 9), (6, 0, 7, 8, 2, 9)) * -2.00000000000002 + t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), v.ovOV, (1, 3, 4, 5), t3, (6, 7, 4, 8, 9, 5), (6, 0, 7, 9, 2, 8)) * -2.00000000000002 + t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), v.ovOV, (1, 3, 4, 5), t3, (6, 4, 7, 8, 5, 9), (6, 0, 7, 8, 2, 9)) * 2.00000000000002 + t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), v.ovOV, (1, 2, 4, 5), t3, (6, 7, 4, 8, 9, 5), (6, 0, 7, 8, 3, 9)) * -1.00000000000001 + t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), v.ovOV, (1, 2, 4, 5), t3, (6, 7, 4, 8, 5, 9), (6, 0, 7, 8, 3, 9)) * 1.00000000000001 + t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), v.ovOV, (1, 2, 4, 5), t3, (6, 7, 4, 8, 9, 5), (6, 0, 7, 9, 3, 8)) * 1.00000000000001 + t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), v.ovOV, (1, 2, 4, 5), t3, (6, 4, 7, 8, 5, 9), (6, 0, 7, 8, 3, 9)) * -1.00000000000001 + t3new += einsum(t2[np.ix_(sO,so,sv,sv)], (0, 1, 2, 3), v.ovOv, (1, 3, 4, 2), t3, (5, 4, 6, 7, 8, 9), (5, 0, 6, 7, 8, 9)) * -2.0 + t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), v.oVOv, (1, 4, 5, 3), t3, (6, 7, 5, 8, 9, 4), (6, 0, 7, 8, 2, 9)) * -1.00000000000001 + t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), v.oVOv, (1, 4, 5, 3), t3, (6, 7, 5, 8, 4, 9), (6, 0, 7, 8, 2, 9)) * 1.00000000000001 + t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), v.oVOv, (1, 4, 5, 3), t3, (6, 7, 5, 8, 9, 4), (6, 0, 7, 9, 2, 8)) * 1.00000000000001 + t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), v.oVOv, (1, 4, 5, 3), t3, (6, 5, 7, 8, 4, 9), (6, 0, 7, 8, 2, 9)) * -1.00000000000001 + t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), v.oVOv, (1, 4, 5, 2), t3, (6, 5, 7, 8, 9, 4), (6, 0, 7, 3, 9, 8)) * -1.00000000000001 + t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), v.oVOv, (1, 4, 5, 2), t3, (6, 5, 7, 8, 4, 9), (6, 0, 7, 8, 3, 9)) * 1.00000000000001 + t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), v.oVOv, (1, 4, 5, 2), t3, (6, 5, 7, 8, 9, 4), (6, 0, 7, 8, 9, 3)) * 1.00000000000001 + t3new += einsum(t2[np.ix_(sO,so,sv,sv)], (0, 1, 2, 3), v.ovOv, (1, 2, 4, 3), t3, (5, 4, 6, 7, 8, 9), (5, 0, 6, 7, 8, 9)) + t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.oVOV, (1, 4, 5, 6), t3, (7, 8, 5, 4, 9, 6), (7, 8, 0, 2, 9, 3)) * 0.5 + t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.oVOV, (1, 4, 5, 6), t3, (7, 8, 5, 6, 9, 4), (7, 8, 0, 2, 9, 3)) * -0.5 + t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), v.ovOV, (1, 3, 4, 5), t3, (6, 7, 4, 8, 9, 5), (6, 7, 0, 2, 9, 8)) * -2.00000000000002 + t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.oVOV, (1, 4, 5, 6), t3, (7, 8, 5, 4, 9, 6), (8, 7, 0, 2, 3, 9)) * 0.5 + t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.oVOV, (1, 4, 5, 6), t3, (7, 8, 5, 6, 9, 4), (8, 7, 0, 2, 3, 9)) * -0.5 + t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.oVOV, (1, 4, 5, 6), t3, (7, 8, 5, 9, 4, 6), (8, 7, 0, 2, 9, 3)) + t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), v.ovOV, (1, 3, 4, 5), t3, (6, 7, 4, 8, 9, 5), (7, 6, 0, 2, 8, 9)) * -2.00000000000002 + t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.oVOV, (1, 4, 5, 6), t3, (7, 8, 5, 4, 9, 6), (7, 8, 0, 3, 9, 2)) * -0.5 + t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.oVOV, (1, 4, 5, 6), t3, (7, 8, 5, 6, 9, 4), (7, 8, 0, 3, 9, 2)) * 0.5 + t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), v.ovOV, (1, 3, 4, 5), t3, (6, 7, 4, 8, 9, 5), (6, 7, 0, 8, 9, 2)) * 2.00000000000002 + t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.oVOV, (1, 4, 5, 6), t3, (7, 8, 5, 9, 4, 6), (8, 7, 0, 3, 9, 2)) * -1.0 + t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.oVOV, (1, 4, 5, 6), t3, (7, 8, 5, 4, 9, 6), (8, 7, 0, 9, 3, 2)) * -0.5 + t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.oVOV, (1, 4, 5, 6), t3, (7, 8, 5, 6, 9, 4), (8, 7, 0, 9, 3, 2)) * 0.5 + t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), v.ovOV, (1, 3, 4, 5), t3, (6, 7, 4, 8, 9, 5), (7, 6, 0, 9, 8, 2)) * 2.00000000000002 + t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), v.ovOV, (1, 2, 4, 5), t3, (6, 7, 4, 8, 9, 5), (6, 7, 0, 3, 9, 8)) * 1.00000000000001 + t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), v.ovOV, (1, 2, 4, 5), t3, (6, 7, 4, 8, 9, 5), (6, 7, 0, 8, 9, 3)) * -1.00000000000001 + t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), v.ovOV, (1, 2, 4, 5), t3, (6, 7, 4, 8, 9, 5), (7, 6, 0, 3, 8, 9)) * 1.00000000000001 + t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), v.ovOV, (1, 2, 4, 5), t3, (6, 7, 4, 8, 9, 5), (7, 6, 0, 9, 8, 3)) * -1.00000000000001 + t3new += einsum(t2[np.ix_(sO,so,sv,sv)], (0, 1, 2, 3), v.ovOv, (1, 3, 4, 2), t3, (5, 6, 4, 7, 8, 9), (5, 6, 0, 7, 8, 9)) * -1.0 + t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.oVOV, (1, 4, 5, 6), t3, (7, 8, 5, 9, 4, 6), (7, 8, 0, 2, 3, 9)) + t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), v.oVOv, (1, 4, 5, 3), t3, (6, 7, 5, 8, 9, 4), (6, 7, 0, 2, 9, 8)) * 1.00000000000001 + t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), v.oVOv, (1, 4, 5, 3), t3, (6, 7, 5, 8, 9, 4), (7, 6, 0, 2, 8, 9)) * 1.00000000000001 + t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.oVOV, (1, 4, 5, 6), t3, (7, 8, 5, 9, 4, 6), (7, 8, 0, 9, 3, 2)) * -1.0 + t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), v.oVOv, (1, 4, 5, 3), t3, (6, 7, 5, 8, 9, 4), (6, 7, 0, 8, 9, 2)) * -1.00000000000001 + t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), v.oVOv, (1, 4, 5, 3), t3, (6, 7, 5, 8, 9, 4), (7, 6, 0, 9, 8, 2)) * -1.00000000000001 + t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), v.oVOv, (1, 4, 5, 2), t3, (6, 7, 5, 8, 9, 4), (6, 7, 0, 3, 9, 8)) * -1.00000000000001 + t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), v.oVOv, (1, 4, 5, 2), t3, (6, 7, 5, 8, 4, 9), (6, 7, 0, 8, 3, 9)) * 1.00000000000001 + t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), v.oVOv, (1, 4, 5, 2), t3, (6, 7, 5, 8, 9, 4), (6, 7, 0, 8, 9, 3)) * 1.00000000000001 + t3new += einsum(t2[np.ix_(sO,so,sv,sv)], (0, 1, 2, 3), v.ovOv, (1, 3, 4, 2), t3, (5, 6, 4, 7, 8, 9), (5, 6, 0, 7, 8, 9)) * -1.0 + t3new += einsum(t2[np.ix_(sO,so,sv,sv)], (0, 1, 2, 3), v.ovOv, (1, 2, 4, 3), t3, (5, 6, 4, 7, 8, 9), (5, 6, 0, 7, 8, 9)) + t3new += einsum(t2[np.ix_(so,so,sV,sV)], (0, 1, 2, 3), v.oVoV, (0, 4, 1, 5), t3, (6, 7, 8, 9, 5, 4), (6, 7, 8, 2, 3, 9)) * -1.0 + t3new += einsum(t2[np.ix_(so,so,sV,sV)], (0, 1, 2, 3), v.oVoV, (0, 4, 1, 5), t3, (6, 7, 8, 4, 9, 5), (6, 7, 8, 2, 9, 3)) * 0.25 + t3new += einsum(t2[np.ix_(so,so,sV,sV)], (0, 1, 2, 3), v.oVoV, (0, 4, 1, 5), t3, (6, 7, 8, 5, 9, 4), (6, 7, 8, 2, 9, 3)) * -0.25 + t3new += einsum(t2[np.ix_(so,so,sV,sv)], (0, 1, 2, 3), v.ovoV, (0, 3, 1, 4), t3, (5, 6, 7, 8, 9, 4), (5, 6, 7, 2, 9, 8)) * -0.5 + t3new += einsum(t2[np.ix_(so,so,sV,sv)], (0, 1, 2, 3), v.ovoV, (0, 3, 1, 4), t3, (5, 6, 7, 8, 4, 9), (5, 6, 7, 8, 2, 9)) * 0.5 + t3new += einsum(t2[np.ix_(so,so,sV,sV)], (0, 1, 2, 3), v.oVoV, (0, 4, 1, 5), t3, (6, 7, 8, 4, 9, 5), (6, 7, 8, 3, 9, 2)) * -0.25 + t3new += einsum(t2[np.ix_(so,so,sV,sV)], (0, 1, 2, 3), v.oVoV, (0, 4, 1, 5), t3, (6, 7, 8, 5, 9, 4), (6, 7, 8, 3, 9, 2)) * 0.25 + t3new += einsum(t2[np.ix_(so,so,sV,sV)], (0, 1, 2, 3), v.oVoV, (0, 4, 1, 5), t3, (6, 7, 8, 9, 5, 4), (6, 7, 8, 9, 3, 2)) + t3new += einsum(t2[np.ix_(so,so,sV,sv)], (0, 1, 2, 3), v.ovoV, (0, 3, 1, 4), t3, (5, 6, 7, 8, 9, 4), (5, 6, 7, 8, 9, 2)) * 0.5 + t3new += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), v.ovoV, (0, 2, 1, 4), t3, (5, 6, 7, 8, 9, 4), (5, 6, 7, 3, 9, 8)) * 0.5 + t3new += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), v.ovoV, (0, 2, 1, 4), t3, (5, 6, 7, 8, 4, 9), (5, 6, 7, 8, 3, 9)) * -1.5 + t3new += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), v.ovoV, (0, 2, 1, 4), t3, (5, 6, 7, 8, 9, 4), (5, 6, 7, 8, 9, 3)) * -0.5 + t3new += einsum(t2[np.ix_(so,so,sV,sv)], (0, 1, 2, 3), v.oVov, (0, 4, 1, 3), t3, (5, 6, 7, 8, 9, 4), (5, 6, 7, 2, 9, 8)) * 1.5 + t3new += einsum(t2[np.ix_(so,so,sV,sv)], (0, 1, 2, 3), v.oVov, (0, 4, 1, 3), t3, (5, 6, 7, 8, 4, 9), (5, 6, 7, 8, 2, 9)) * -0.5 + t3new += einsum(t2[np.ix_(so,so,sV,sv)], (0, 1, 2, 3), v.oVov, (0, 4, 1, 3), t3, (5, 6, 7, 8, 9, 4), (5, 6, 7, 8, 9, 2)) * -1.5 + t3new += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), v.oVov, (0, 4, 1, 2), t3, (5, 6, 7, 8, 9, 4), (5, 6, 7, 3, 9, 8)) * -0.5 + t3new += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), v.oVov, (0, 4, 1, 2), t3, (5, 6, 7, 8, 4, 9), (5, 6, 7, 8, 3, 9)) * 0.5 + t3new += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), v.oVov, (0, 4, 1, 2), t3, (5, 6, 7, 8, 9, 4), (5, 6, 7, 8, 9, 3)) * 0.5 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 2, 5, 1), (0, 4, 8, 3, 6, 7)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 2, 1), (0, 4, 8, 3, 6, 7)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 2, 1), (0, 8, 4, 3, 7, 6)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 2, 5, 1), (0, 8, 4, 6, 3, 7)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 2, 5, 1), (0, 8, 4, 7, 3, 6)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 2, 5, 1), (0, 4, 8, 7, 6, 3)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 2, 1), (0, 4, 8, 7, 6, 3)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 2, 1), (0, 8, 4, 6, 7, 3)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 2, 5, 1), (4, 0, 8, 3, 7, 6)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 2, 5, 1), (8, 0, 4, 3, 7, 6)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 2, 1), (4, 0, 8, 6, 3, 7)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 2, 1), (4, 0, 8, 7, 3, 6)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 2, 1), (8, 0, 4, 6, 3, 7)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 2, 1), (8, 0, 4, 7, 3, 6)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 2, 5, 1), (4, 0, 8, 6, 7, 3)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 2, 5, 1), (8, 0, 4, 6, 7, 3)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 2, 1), (4, 8, 0, 3, 7, 6)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 2, 5, 1), (8, 4, 0, 3, 6, 7)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 2, 1), (8, 4, 0, 3, 6, 7)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 2, 5, 1), (4, 8, 0, 6, 3, 7)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 2, 5, 1), (4, 8, 0, 7, 3, 6)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 2, 1), (4, 8, 0, 6, 7, 3)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 2, 5, 1), (8, 4, 0, 7, 6, 3)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 2, 1), (8, 4, 0, 7, 6, 3)) + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sV,sv)], (4, 5, 6, 7), v.Ooov, (8, 2, 0, 7), (4, 8, 5, 1, 3, 6)) * -1.0 + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sv,sV)], (4, 5, 6, 7), v.Ooov, (8, 2, 0, 6), (4, 8, 5, 1, 3, 7)) + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sV,sv)], (4, 5, 6, 7), v.Ooov, (8, 0, 2, 7), (4, 5, 8, 1, 3, 6)) * -1.0 + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sv,sV)], (4, 5, 6, 7), v.Ooov, (8, 0, 2, 6), (8, 4, 5, 1, 3, 7)) + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sv,sV)], (4, 5, 6, 7), v.Ooov, (8, 0, 2, 6), (4, 5, 8, 1, 7, 3)) * -1.0 + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sv,sV)], (4, 5, 6, 7), v.Ooov, (8, 2, 0, 6), (4, 5, 8, 1, 7, 3)) + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sV,sv)], (4, 5, 6, 7), v.Ooov, (8, 0, 2, 7), (8, 4, 5, 1, 6, 3)) + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sV,sv)], (4, 5, 6, 7), v.Ooov, (8, 2, 0, 7), (8, 4, 5, 1, 6, 3)) * -1.0 + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sV,sv)], (4, 5, 6, 7), v.Ooov, (8, 0, 2, 7), (4, 8, 5, 6, 1, 3)) + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sv,sV)], (4, 5, 6, 7), v.Ooov, (8, 0, 2, 6), (4, 8, 5, 7, 1, 3)) * -1.0 + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sV,sv)], (4, 5, 6, 7), v.Ooov, (8, 2, 0, 7), (4, 5, 8, 6, 1, 3)) + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sv,sV)], (4, 5, 6, 7), v.Ooov, (8, 2, 0, 6), (8, 4, 5, 7, 1, 3)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(sO,sv)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.ovVv, (5, 1, 8, 3), (0, 2, 4, 6, 8, 7)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(sO,sv)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.ovVv, (5, 1, 8, 3), (0, 2, 4, 7, 8, 6)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(sO,sv)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.ovVv, (5, 3, 8, 1), (0, 2, 4, 6, 7, 8)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(sO,sv)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.ovVv, (5, 3, 8, 1), (0, 2, 4, 8, 7, 6)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(sO,sv)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.ovVv, (5, 1, 8, 3), (0, 4, 2, 8, 6, 7)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(sO,sv)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.ovVv, (5, 1, 8, 3), (0, 4, 2, 7, 6, 8)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(sO,sv)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.ovVv, (5, 3, 8, 1), (0, 4, 2, 8, 6, 7)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(sO,sv)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.ovVv, (5, 3, 8, 1), (0, 4, 2, 7, 6, 8)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sV,sv)], (4, 5, 6, 7), v.ovVv, (2, 1, 8, 7), (0, 4, 5, 3, 6, 8)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sv,sV)], (4, 5, 6, 7), v.ovVv, (2, 1, 8, 6), (0, 4, 5, 3, 8, 7)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sV,sv)], (4, 5, 6, 7), v.ovVv, (2, 7, 8, 1), (0, 4, 5, 3, 6, 8)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sv,sV)], (4, 5, 6, 7), v.ovVv, (2, 6, 8, 1), (0, 4, 5, 8, 3, 7)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sv,sV)], (4, 5, 6, 7), v.ovVv, (2, 6, 8, 1), (0, 4, 5, 7, 3, 8)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sV,sv)], (4, 5, 6, 7), v.ovVv, (2, 1, 8, 7), (0, 4, 5, 8, 6, 3)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sv,sV)], (4, 5, 6, 7), v.ovVv, (2, 1, 8, 6), (0, 4, 5, 7, 8, 3)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sV,sv)], (4, 5, 6, 7), v.ovVv, (2, 7, 8, 1), (0, 4, 5, 8, 6, 3)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(sO,sv)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.ovVv, (5, 1, 8, 3), (4, 0, 2, 6, 7, 8)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(sO,sv)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.ovVv, (5, 1, 8, 3), (4, 0, 2, 8, 7, 6)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(sO,sv)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.ovVv, (5, 3, 8, 1), (4, 0, 2, 6, 8, 7)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(sO,sv)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.ovVv, (5, 3, 8, 1), (4, 0, 2, 7, 8, 6)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sV,sv)], (4, 5, 6, 7), v.ovVv, (2, 7, 8, 1), (4, 0, 5, 3, 8, 6)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sv,sV)], (4, 5, 6, 7), v.ovVv, (2, 6, 8, 1), (4, 0, 5, 3, 8, 7)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sV,sv)], (4, 5, 6, 7), v.ovVv, (2, 1, 8, 7), (4, 0, 5, 6, 3, 8)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sV,sv)], (4, 5, 6, 7), v.ovVv, (2, 1, 8, 7), (4, 0, 5, 8, 3, 6)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sv,sV)], (4, 5, 6, 7), v.ovVv, (2, 1, 8, 6), (4, 0, 5, 8, 3, 7)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sv,sV)], (4, 5, 6, 7), v.ovVv, (2, 1, 8, 6), (4, 0, 5, 7, 3, 8)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sV,sv)], (4, 5, 6, 7), v.ovVv, (2, 7, 8, 1), (4, 0, 5, 6, 8, 3)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sv,sV)], (4, 5, 6, 7), v.ovVv, (2, 6, 8, 1), (4, 0, 5, 7, 8, 3)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sV,sv)], (4, 5, 6, 7), v.ovVv, (2, 1, 8, 7), (4, 5, 0, 3, 8, 6)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sv,sV)], (4, 5, 6, 7), v.ovVv, (2, 1, 8, 6), (4, 5, 0, 3, 7, 8)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sv,sV)], (4, 5, 6, 7), v.ovVv, (2, 6, 8, 1), (4, 5, 0, 3, 7, 8)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sV,sv)], (4, 5, 6, 7), v.ovVv, (2, 7, 8, 1), (4, 5, 0, 6, 3, 8)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sV,sv)], (4, 5, 6, 7), v.ovVv, (2, 7, 8, 1), (4, 5, 0, 8, 3, 6)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sV,sv)], (4, 5, 6, 7), v.ovVv, (2, 1, 8, 7), (4, 5, 0, 6, 8, 3)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sv,sV)], (4, 5, 6, 7), v.ovVv, (2, 1, 8, 6), (4, 5, 0, 8, 7, 3)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sv,sV)], (4, 5, 6, 7), v.ovVv, (2, 6, 8, 1), (4, 5, 0, 8, 7, 3)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(sO,sv)], (2, 3), v.OvOv, (4, 1, 5, 3), t3, (6, 5, 4, 7, 8, 9), (0, 2, 6, 7, 8, 9)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(sO,sv)], (2, 3), v.OvOv, (4, 1, 5, 3), t3, (4, 6, 5, 7, 8, 9), (0, 6, 2, 7, 8, 9)) * 0.5 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(sO,sv)], (2, 3), v.OvOv, (4, 3, 5, 1), t3, (4, 6, 5, 7, 8, 9), (0, 6, 2, 7, 8, 9)) * -0.5 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), v.ovOV, (2, 1, 4, 5), t3, (6, 7, 4, 8, 9, 5), (0, 6, 7, 3, 8, 9)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), v.ovOV, (2, 1, 4, 5), t3, (6, 7, 4, 8, 9, 5), (0, 7, 6, 3, 9, 8)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), v.oVOv, (2, 4, 5, 1), t3, (6, 7, 5, 8, 9, 4), (0, 7, 6, 3, 9, 8)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), v.oVOv, (2, 4, 5, 1), t3, (6, 7, 5, 8, 4, 9), (0, 7, 6, 8, 3, 9)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), v.ovOV, (2, 1, 4, 5), t3, (6, 7, 4, 8, 9, 5), (0, 6, 7, 9, 8, 3)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), v.ovOV, (2, 1, 4, 5), t3, (6, 7, 4, 8, 9, 5), (0, 7, 6, 8, 9, 3)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), v.oVOv, (2, 4, 5, 1), t3, (6, 7, 5, 8, 9, 4), (0, 7, 6, 8, 9, 3)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), v.ovOv, (2, 1, 4, 3), t3, (5, 6, 4, 7, 8, 9), (0, 6, 5, 7, 8, 9)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), v.ovOv, (2, 3, 4, 1), t3, (5, 6, 4, 7, 8, 9), (0, 6, 5, 7, 8, 9)) * 2.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(sO,sv)], (2, 3), v.OvOv, (4, 3, 5, 1), t3, (6, 5, 4, 7, 8, 9), (6, 0, 2, 7, 8, 9)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), v.oVOv, (2, 4, 5, 1), t3, (6, 5, 7, 8, 9, 4), (6, 0, 7, 3, 9, 8)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), v.ovOV, (2, 1, 4, 5), t3, (6, 7, 4, 8, 9, 5), (6, 0, 7, 8, 3, 9)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), v.ovOV, (2, 1, 4, 5), t3, (6, 7, 4, 8, 9, 5), (6, 0, 7, 9, 3, 8)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), v.ovOV, (2, 1, 4, 5), t3, (6, 7, 4, 8, 5, 9), (6, 0, 7, 8, 3, 9)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), v.ovOV, (2, 1, 4, 5), t3, (6, 4, 7, 8, 5, 9), (6, 0, 7, 8, 3, 9)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), v.oVOv, (2, 4, 5, 1), t3, (6, 5, 7, 8, 4, 9), (6, 0, 7, 8, 3, 9)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), v.oVOv, (2, 4, 5, 1), t3, (6, 5, 7, 8, 9, 4), (6, 0, 7, 8, 9, 3)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), v.ovOv, (2, 1, 4, 3), t3, (5, 4, 6, 7, 8, 9), (5, 0, 6, 7, 8, 9)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), v.ovOv, (2, 3, 4, 1), t3, (5, 4, 6, 7, 8, 9), (5, 0, 6, 7, 8, 9)) * -2.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), v.ovOV, (2, 1, 4, 5), t3, (6, 7, 4, 8, 9, 5), (6, 7, 0, 3, 9, 8)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), v.ovOV, (2, 1, 4, 5), t3, (6, 7, 4, 8, 9, 5), (7, 6, 0, 3, 8, 9)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), v.oVOv, (2, 4, 5, 1), t3, (6, 7, 5, 8, 9, 4), (6, 7, 0, 3, 9, 8)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), v.oVOv, (2, 4, 5, 1), t3, (6, 7, 5, 8, 4, 9), (6, 7, 0, 8, 3, 9)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), v.ovOV, (2, 1, 4, 5), t3, (6, 7, 4, 8, 9, 5), (6, 7, 0, 8, 9, 3)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), v.ovOV, (2, 1, 4, 5), t3, (6, 7, 4, 8, 9, 5), (7, 6, 0, 9, 8, 3)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), v.oVOv, (2, 4, 5, 1), t3, (6, 7, 5, 8, 9, 4), (6, 7, 0, 8, 9, 3)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), v.ovOv, (2, 1, 4, 3), t3, (5, 6, 4, 7, 8, 9), (5, 6, 0, 7, 8, 9)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), v.ovOv, (2, 3, 4, 1), t3, (5, 6, 4, 7, 8, 9), (5, 6, 0, 7, 8, 9)) * -2.0 + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t1[np.ix_(so,sV)], (2, 3), v.oVoV, (0, 4, 2, 5), t3, (6, 7, 8, 9, 5, 4), (6, 7, 8, 1, 3, 9)) * -1.0 + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t1[np.ix_(so,sV)], (2, 3), v.oVoV, (0, 4, 2, 5), t3, (6, 7, 8, 5, 9, 4), (6, 7, 8, 1, 9, 3)) * -0.5 + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t1[np.ix_(so,sV)], (2, 3), v.oVoV, (0, 4, 2, 5), t3, (6, 7, 8, 4, 9, 5), (6, 7, 8, 1, 9, 3)) * 0.5 + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t1[np.ix_(so,sV)], (2, 3), v.oVoV, (0, 4, 2, 5), t3, (6, 7, 8, 9, 4, 5), (6, 7, 8, 9, 1, 3)) + t3new += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), v.ovoV, (0, 1, 2, 4), t3, (5, 6, 7, 8, 9, 4), (5, 6, 7, 3, 9, 8)) * 2.0 + t3new += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), v.oVov, (0, 4, 2, 1), t3, (5, 6, 7, 8, 9, 4), (5, 6, 7, 3, 9, 8)) * -1.0 + t3new += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), v.ovoV, (0, 1, 2, 4), t3, (5, 6, 7, 8, 4, 9), (5, 6, 7, 8, 3, 9)) * -2.0 + t3new += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), v.oVov, (0, 4, 2, 1), t3, (5, 6, 7, 8, 4, 9), (5, 6, 7, 8, 3, 9)) + t3new += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), v.ovoV, (0, 1, 2, 4), t3, (5, 6, 7, 8, 9, 4), (5, 6, 7, 8, 9, 3)) * -2.0 + t3new += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), v.oVov, (0, 4, 2, 1), t3, (5, 6, 7, 8, 9, 4), (5, 6, 7, 8, 9, 3)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (3, 5, 7, 1), (0, 2, 6, 8, 4, 9)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (3, 5, 7, 1), (0, 2, 6, 9, 4, 8)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (3, 4, 7, 1), (0, 2, 6, 8, 5, 9)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (3, 4, 7, 1), (0, 2, 6, 9, 5, 8)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sv)], (6, 7, 8, 9), v.ovov, (7, 1, 3, 9), (0, 2, 6, 8, 4, 5)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (7, 1, 3, 5), (0, 2, 6, 8, 4, 9)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sv)], (6, 7, 8, 9), v.ovov, (7, 1, 3, 9), (0, 2, 6, 5, 4, 8)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (7, 1, 3, 5), (0, 2, 6, 9, 4, 8)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sv,sV)], (6, 7, 8, 9), v.ovov, (7, 1, 3, 8), (0, 2, 6, 5, 4, 9)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sv,sV)], (6, 7, 8, 9), v.ovov, (7, 1, 3, 8), (0, 2, 6, 9, 4, 5)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sv)], (6, 7, 8, 9), v.ovov, (7, 9, 3, 1), (0, 2, 6, 8, 4, 5)) * 2.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (7, 5, 3, 1), (0, 2, 6, 8, 4, 9)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sv)], (6, 7, 8, 9), v.ovov, (7, 9, 3, 1), (0, 2, 6, 5, 4, 8)) * -2.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (7, 5, 3, 1), (0, 2, 6, 9, 4, 8)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sv,sV)], (6, 7, 8, 9), v.ovov, (7, 8, 3, 1), (0, 2, 6, 5, 4, 9)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sv,sV)], (6, 7, 8, 9), v.ovov, (7, 8, 3, 1), (0, 2, 6, 9, 4, 5)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (7, 4, 3, 1), (0, 2, 6, 8, 9, 5)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (7, 4, 3, 1), (0, 2, 6, 5, 9, 8)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), t2[np.ix_(so,so,sV,sV)], (6, 7, 8, 9), v.ovov, (6, 1, 7, 5), (0, 2, 3, 8, 4, 9)) * 0.5 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), t2[np.ix_(so,so,sV,sV)], (6, 7, 8, 9), v.ovov, (6, 1, 7, 5), (0, 2, 3, 9, 4, 8)) * -0.5 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), t2[np.ix_(so,so,sV,sV)], (6, 7, 8, 9), v.ovov, (6, 1, 7, 4), (0, 2, 3, 8, 9, 5)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), t2[np.ix_(so,so,sV,sV)], (6, 7, 8, 9), v.ovov, (6, 1, 7, 4), (0, 2, 3, 5, 9, 8)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), t2[np.ix_(so,so,sV,sV)], (6, 7, 8, 9), v.ovov, (6, 5, 7, 1), (0, 2, 3, 8, 4, 9)) * -0.5 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), t2[np.ix_(so,so,sV,sV)], (6, 7, 8, 9), v.ovov, (6, 5, 7, 1), (0, 2, 3, 9, 4, 8)) * 0.5 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sv)], (6, 7, 8, 9), v.ovov, (3, 1, 7, 9), (2, 0, 6, 4, 5, 8)) * -2.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (3, 1, 7, 5), (2, 0, 6, 4, 9, 8)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sv,sV)], (6, 7, 8, 9), v.ovov, (3, 1, 7, 8), (2, 0, 6, 4, 5, 9)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sv)], (6, 7, 8, 9), v.ovov, (3, 1, 7, 9), (2, 0, 6, 8, 5, 4)) * 2.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (3, 1, 7, 5), (2, 0, 6, 8, 9, 4)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sv,sV)], (6, 7, 8, 9), v.ovov, (3, 1, 7, 8), (2, 0, 6, 9, 5, 4)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (3, 1, 7, 4), (2, 0, 6, 8, 5, 9)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (3, 1, 7, 4), (2, 0, 6, 9, 5, 8)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sv)], (6, 7, 8, 9), v.ovov, (3, 9, 7, 1), (2, 0, 6, 4, 5, 8)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (3, 5, 7, 1), (2, 0, 6, 4, 9, 8)) * -2.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sv,sV)], (6, 7, 8, 9), v.ovov, (3, 8, 7, 1), (2, 0, 6, 4, 9, 5)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sv)], (6, 7, 8, 9), v.ovov, (3, 9, 7, 1), (2, 0, 6, 8, 5, 4)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (3, 5, 7, 1), (2, 0, 6, 8, 9, 4)) * 2.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sv,sV)], (6, 7, 8, 9), v.ovov, (3, 8, 7, 1), (2, 0, 6, 5, 9, 4)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (3, 4, 7, 1), (2, 0, 6, 8, 9, 5)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (3, 4, 7, 1), (2, 0, 6, 5, 9, 8)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), t2[np.ix_(so,so,sV,sV)], (6, 7, 8, 9), v.ovov, (6, 5, 7, 1), (2, 0, 3, 4, 9, 8)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), t2[np.ix_(so,so,sV,sV)], (6, 7, 8, 9), v.ovov, (6, 5, 7, 1), (2, 0, 3, 8, 9, 4)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), t2[np.ix_(so,so,sV,sV)], (6, 7, 8, 9), v.ovov, (6, 4, 7, 1), (2, 0, 3, 8, 9, 5)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), t2[np.ix_(so,so,sV,sV)], (6, 7, 8, 9), v.ovov, (6, 4, 7, 1), (2, 0, 3, 5, 9, 8)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sv)], (6, 7, 8, 9), v.ovov, (3, 1, 7, 9), (2, 6, 0, 4, 8, 5)) * -2.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (3, 1, 7, 5), (2, 6, 0, 4, 8, 9)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sv,sV)], (6, 7, 8, 9), v.ovov, (3, 1, 7, 8), (2, 6, 0, 4, 9, 5)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sv)], (6, 7, 8, 9), v.ovov, (3, 1, 7, 9), (2, 6, 0, 5, 8, 4)) * 2.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (3, 1, 7, 5), (2, 6, 0, 9, 8, 4)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sv,sV)], (6, 7, 8, 9), v.ovov, (3, 1, 7, 8), (2, 6, 0, 5, 9, 4)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (3, 1, 7, 4), (2, 6, 0, 5, 8, 9)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (3, 1, 7, 4), (2, 6, 0, 9, 8, 5)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sv)], (6, 7, 8, 9), v.ovov, (3, 9, 7, 1), (2, 6, 0, 4, 8, 5)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (3, 5, 7, 1), (2, 6, 0, 4, 8, 9)) * -2.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sv,sV)], (6, 7, 8, 9), v.ovov, (3, 8, 7, 1), (2, 6, 0, 4, 5, 9)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sv)], (6, 7, 8, 9), v.ovov, (3, 9, 7, 1), (2, 6, 0, 5, 8, 4)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (3, 5, 7, 1), (2, 6, 0, 9, 8, 4)) * 2.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sv,sV)], (6, 7, 8, 9), v.ovov, (3, 8, 7, 1), (2, 6, 0, 9, 5, 4)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (3, 4, 7, 1), (2, 6, 0, 5, 8, 9)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (3, 4, 7, 1), (2, 6, 0, 9, 8, 5)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), t2[np.ix_(so,so,sV,sV)], (6, 7, 8, 9), v.ovov, (6, 1, 7, 5), (2, 3, 0, 4, 9, 8)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), t2[np.ix_(so,so,sV,sV)], (6, 7, 8, 9), v.ovov, (6, 1, 7, 5), (2, 3, 0, 8, 9, 4)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), t2[np.ix_(so,so,sV,sV)], (6, 7, 8, 9), v.ovov, (6, 1, 7, 4), (2, 3, 0, 8, 5, 9)) * -0.5 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), t2[np.ix_(so,so,sV,sV)], (6, 7, 8, 9), v.ovov, (6, 1, 7, 4), (2, 3, 0, 9, 5, 8)) * 0.5 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), t2[np.ix_(so,so,sV,sV)], (6, 7, 8, 9), v.ovov, (6, 4, 7, 1), (2, 3, 0, 8, 5, 9)) * 0.5 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), t2[np.ix_(so,so,sV,sV)], (6, 7, 8, 9), v.ovov, (6, 4, 7, 1), (2, 3, 0, 9, 5, 8)) * -0.5 + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sv)], (6, 7, 8, 9), v.ovov, (0, 5, 7, 9), (2, 6, 3, 1, 8, 4)) * 2.0 + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sv,sV)], (6, 7, 8, 9), v.ovov, (0, 5, 7, 8), (2, 6, 3, 1, 9, 4)) * -1.0 + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sv)], (6, 7, 8, 9), v.ovov, (0, 4, 7, 9), (2, 6, 3, 1, 8, 5)) * -2.0 + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (0, 4, 7, 5), (2, 6, 3, 1, 8, 9)) + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sv,sV)], (6, 7, 8, 9), v.ovov, (0, 4, 7, 8), (2, 6, 3, 1, 9, 5)) + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sv)], (6, 7, 8, 9), v.ovov, (0, 9, 7, 5), (2, 6, 3, 1, 8, 4)) * -1.0 + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sv)], (6, 7, 8, 9), v.ovov, (0, 9, 7, 4), (2, 6, 3, 1, 8, 5)) + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (0, 5, 7, 4), (2, 6, 3, 1, 8, 9)) * -1.0 + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,so,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,sO,sV,sv)], (6, 7, 8, 9), v.ovov, (0, 5, 3, 9), (2, 6, 7, 1, 8, 4)) * -1.0 + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,sO,sv,sv)], (6, 7, 8, 9), v.ovov, (0, 9, 3, 8), (2, 6, 7, 1, 5, 4)) * -1.0 + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,so,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,sO,sV,sv)], (6, 7, 8, 9), v.ovov, (0, 4, 3, 9), (2, 6, 7, 1, 8, 5)) + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,so,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,sO,sv,sV)], (6, 7, 8, 9), v.ovov, (0, 4, 3, 8), (2, 6, 7, 1, 5, 9)) + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,so,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,sO,sV,sv)], (6, 7, 8, 9), v.ovov, (0, 9, 3, 5), (2, 6, 7, 1, 8, 4)) * 2.0 + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,so,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,sO,sV,sv)], (6, 7, 8, 9), v.ovov, (0, 9, 3, 4), (2, 6, 7, 1, 8, 5)) * -1.0 + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sv)], (6, 7, 8, 9), v.ovov, (0, 4, 7, 9), (2, 3, 6, 1, 5, 8)) * -2.0 + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (0, 4, 7, 5), (2, 3, 6, 1, 9, 8)) + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sv,sV)], (6, 7, 8, 9), v.ovov, (0, 4, 7, 8), (2, 3, 6, 1, 5, 9)) + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sv,sV)], (6, 7, 8, 9), v.ovov, (0, 8, 7, 5), (2, 3, 6, 1, 9, 4)) * -1.0 + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sv)], (6, 7, 8, 9), v.ovov, (0, 9, 7, 4), (2, 3, 6, 1, 5, 8)) + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sv,sV)], (6, 7, 8, 9), v.ovov, (0, 8, 7, 4), (2, 3, 6, 1, 5, 9)) * -1.0 + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sv,sV)], (6, 7, 8, 9), v.ovov, (0, 8, 7, 5), (2, 6, 3, 4, 1, 9)) + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sv,sV)], (6, 7, 8, 9), v.ovov, (0, 8, 7, 5), (2, 6, 3, 9, 1, 4)) * -1.0 + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sv,sV)], (6, 7, 8, 9), v.ovov, (0, 8, 7, 4), (2, 6, 3, 5, 1, 9)) * -1.0 + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sv,sV)], (6, 7, 8, 9), v.ovov, (0, 8, 7, 4), (2, 6, 3, 9, 1, 5)) + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,so,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,sO,sv,sV)], (6, 7, 8, 9), v.ovov, (0, 5, 3, 8), (2, 6, 7, 4, 1, 9)) + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,so,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,sO,sv,sV)], (6, 7, 8, 9), v.ovov, (0, 5, 3, 8), (2, 6, 7, 9, 1, 4)) * -1.0 + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,sO,sv,sv)], (6, 7, 8, 9), v.ovov, (0, 8, 3, 9), (2, 6, 7, 4, 1, 5)) + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,so,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,sO,sv,sV)], (6, 7, 8, 9), v.ovov, (0, 8, 3, 5), (2, 6, 7, 4, 1, 9)) * -2.0 + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,sO,sv,sv)], (6, 7, 8, 9), v.ovov, (0, 8, 3, 9), (2, 6, 7, 5, 1, 4)) * -1.0 + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,so,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,sO,sv,sV)], (6, 7, 8, 9), v.ovov, (0, 8, 3, 5), (2, 6, 7, 9, 1, 4)) * 2.0 + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,so,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,sO,sv,sV)], (6, 7, 8, 9), v.ovov, (0, 8, 3, 4), (2, 6, 7, 5, 1, 9)) + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,so,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,sO,sv,sV)], (6, 7, 8, 9), v.ovov, (0, 8, 3, 4), (2, 6, 7, 9, 1, 5)) * -1.0 + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sv)], (6, 7, 8, 9), v.ovov, (0, 5, 7, 9), (2, 3, 6, 4, 1, 8)) * -2.0 + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sv,sV)], (6, 7, 8, 9), v.ovov, (0, 5, 7, 8), (2, 3, 6, 4, 1, 9)) + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sv)], (6, 7, 8, 9), v.ovov, (0, 5, 7, 9), (2, 3, 6, 8, 1, 4)) * 2.0 + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sv,sV)], (6, 7, 8, 9), v.ovov, (0, 5, 7, 8), (2, 3, 6, 9, 1, 4)) * -1.0 + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sv)], (6, 7, 8, 9), v.ovov, (0, 9, 7, 5), (2, 3, 6, 4, 1, 8)) + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sv)], (6, 7, 8, 9), v.ovov, (0, 9, 7, 5), (2, 3, 6, 8, 1, 4)) * -1.0 + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (0, 5, 7, 4), (2, 3, 6, 8, 1, 9)) * -1.0 + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (0, 5, 7, 4), (2, 3, 6, 9, 1, 8)) + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sv)], (6, 7, 8, 9), v.ovov, (0, 5, 7, 9), (2, 6, 3, 4, 8, 1)) * -2.0 + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sv,sV)], (6, 7, 8, 9), v.ovov, (0, 5, 7, 8), (2, 6, 3, 4, 9, 1)) + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sv)], (6, 7, 8, 9), v.ovov, (0, 4, 7, 9), (2, 6, 3, 5, 8, 1)) * 2.0 + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (0, 4, 7, 5), (2, 6, 3, 9, 8, 1)) * -1.0 + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sv,sV)], (6, 7, 8, 9), v.ovov, (0, 4, 7, 8), (2, 6, 3, 5, 9, 1)) * -1.0 + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sv)], (6, 7, 8, 9), v.ovov, (0, 9, 7, 5), (2, 6, 3, 4, 8, 1)) + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sv)], (6, 7, 8, 9), v.ovov, (0, 9, 7, 4), (2, 6, 3, 5, 8, 1)) * -1.0 + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (0, 5, 7, 4), (2, 6, 3, 9, 8, 1)) + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,so,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,sO,sV,sv)], (6, 7, 8, 9), v.ovov, (0, 5, 3, 9), (2, 6, 7, 4, 8, 1)) + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,sO,sv,sv)], (6, 7, 8, 9), v.ovov, (0, 9, 3, 8), (2, 6, 7, 4, 5, 1)) + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,so,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,sO,sV,sv)], (6, 7, 8, 9), v.ovov, (0, 4, 3, 9), (2, 6, 7, 5, 8, 1)) * -1.0 + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,so,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,sO,sv,sV)], (6, 7, 8, 9), v.ovov, (0, 4, 3, 8), (2, 6, 7, 9, 5, 1)) * -1.0 + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,so,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,sO,sV,sv)], (6, 7, 8, 9), v.ovov, (0, 9, 3, 5), (2, 6, 7, 4, 8, 1)) * -2.0 + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,so,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,sO,sV,sv)], (6, 7, 8, 9), v.ovov, (0, 9, 3, 4), (2, 6, 7, 5, 8, 1)) + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sv)], (6, 7, 8, 9), v.ovov, (0, 4, 7, 9), (2, 3, 6, 8, 5, 1)) * 2.0 + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (0, 4, 7, 5), (2, 3, 6, 8, 9, 1)) * -1.0 + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sv,sV)], (6, 7, 8, 9), v.ovov, (0, 4, 7, 8), (2, 3, 6, 9, 5, 1)) * -1.0 + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sv,sV)], (6, 7, 8, 9), v.ovov, (0, 8, 7, 5), (2, 3, 6, 4, 9, 1)) + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sv)], (6, 7, 8, 9), v.ovov, (0, 9, 7, 4), (2, 3, 6, 8, 5, 1)) * -1.0 + t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sv,sV)], (6, 7, 8, 9), v.ovov, (0, 8, 7, 4), (2, 3, 6, 9, 5, 1)) + t3new += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (0, 1, 7, 5), (2, 6, 3, 4, 8, 9)) * -2.0 + t3new += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (0, 1, 7, 5), (2, 6, 3, 9, 8, 4)) * 2.0 + t3new += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (0, 1, 7, 4), (2, 6, 3, 5, 8, 9)) * 2.0 + t3new += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (0, 1, 7, 4), (2, 6, 3, 9, 8, 5)) * -2.0 + t3new += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (0, 5, 7, 1), (2, 6, 3, 4, 8, 9)) + t3new += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (0, 5, 7, 1), (2, 6, 3, 9, 8, 4)) * -1.0 + t3new += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (0, 4, 7, 1), (2, 6, 3, 5, 8, 9)) * -1.0 + t3new += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (0, 4, 7, 1), (2, 6, 3, 9, 8, 5)) + t3new += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,sO,sV,sv)], (6, 7, 8, 9), v.ovov, (0, 1, 3, 9), (2, 6, 7, 4, 8, 5)) * -2.0 + t3new += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,sO,sv,sV)], (6, 7, 8, 9), v.ovov, (0, 1, 3, 8), (2, 6, 7, 4, 5, 9)) * -2.0 + t3new += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,sO,sV,sv)], (6, 7, 8, 9), v.ovov, (0, 1, 3, 9), (2, 6, 7, 5, 8, 4)) * 2.0 + t3new += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,sO,sv,sV)], (6, 7, 8, 9), v.ovov, (0, 1, 3, 8), (2, 6, 7, 9, 5, 4)) * 2.0 + t3new += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,sO,sV,sv)], (6, 7, 8, 9), v.ovov, (0, 9, 3, 1), (2, 6, 7, 4, 8, 5)) + t3new += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,sO,sv,sV)], (6, 7, 8, 9), v.ovov, (0, 8, 3, 1), (2, 6, 7, 4, 5, 9)) + t3new += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,sO,sV,sv)], (6, 7, 8, 9), v.ovov, (0, 9, 3, 1), (2, 6, 7, 5, 8, 4)) * -1.0 + t3new += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,sO,sv,sV)], (6, 7, 8, 9), v.ovov, (0, 8, 3, 1), (2, 6, 7, 9, 5, 4)) * -1.0 + t3new += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (0, 1, 7, 5), (2, 3, 6, 4, 9, 8)) * -2.0 + t3new += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (0, 1, 7, 5), (2, 3, 6, 8, 9, 4)) * 2.0 + t3new += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (0, 1, 7, 4), (2, 3, 6, 8, 5, 9)) * 2.0 + t3new += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (0, 1, 7, 4), (2, 3, 6, 9, 5, 8)) * -2.0 + t3new += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (0, 5, 7, 1), (2, 3, 6, 4, 9, 8)) + t3new += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (0, 5, 7, 1), (2, 3, 6, 8, 9, 4)) * -1.0 + t3new += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (0, 4, 7, 1), (2, 3, 6, 8, 5, 9)) * -1.0 + t3new += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (0, 4, 7, 1), (2, 3, 6, 9, 5, 8)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(sO,sv)], (2, 3), t1[np.ix_(so,sV)], (4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (4, 1, 7, 3), (0, 2, 6, 5, 9, 8)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(sO,sv)], (2, 3), t1[np.ix_(so,sV)], (4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (4, 3, 7, 1), (0, 2, 6, 8, 5, 9)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(sO,sv)], (2, 3), t1[np.ix_(so,sV)], (4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (4, 3, 7, 1), (0, 2, 6, 9, 5, 8)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(sO,sv)], (2, 3), t1[np.ix_(so,sV)], (4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (4, 1, 7, 3), (0, 2, 6, 8, 9, 5)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(sO,sv)], (2, 3), t1[np.ix_(so,sV)], (4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (4, 1, 7, 3), (0, 6, 2, 5, 8, 9)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(sO,sv)], (2, 3), t1[np.ix_(so,sV)], (4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (4, 3, 7, 1), (0, 6, 2, 5, 8, 9)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(sO,sv)], (2, 3), t1[np.ix_(so,sV)], (4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (4, 1, 7, 3), (0, 6, 2, 9, 8, 5)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(sO,sv)], (2, 3), t1[np.ix_(so,sV)], (4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (4, 3, 7, 1), (0, 6, 2, 9, 8, 5)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t1[np.ix_(so,sV)], (4, 5), t2[np.ix_(sO,sO,sv,sV)], (6, 7, 8, 9), v.ovov, (2, 1, 4, 8), (0, 6, 7, 3, 5, 9)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t1[np.ix_(so,sV)], (4, 5), t2[np.ix_(sO,sO,sV,sv)], (6, 7, 8, 9), v.ovov, (2, 1, 4, 9), (0, 6, 7, 3, 8, 5)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t1[np.ix_(so,sV)], (4, 5), t2[np.ix_(sO,sO,sV,sv)], (6, 7, 8, 9), v.ovov, (2, 9, 4, 1), (0, 6, 7, 3, 8, 5)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t1[np.ix_(so,sV)], (4, 5), t2[np.ix_(sO,sO,sv,sV)], (6, 7, 8, 9), v.ovov, (2, 8, 4, 1), (0, 6, 7, 9, 3, 5)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(sO,sv)], (2, 3), t1[np.ix_(so,sV)], (4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (4, 3, 7, 1), (6, 0, 2, 5, 9, 8)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(sO,sv)], (2, 3), t1[np.ix_(so,sV)], (4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (4, 1, 7, 3), (6, 0, 2, 8, 5, 9)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(sO,sv)], (2, 3), t1[np.ix_(so,sV)], (4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (4, 1, 7, 3), (6, 0, 2, 9, 5, 8)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(sO,sv)], (2, 3), t1[np.ix_(so,sV)], (4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (4, 3, 7, 1), (6, 0, 2, 8, 9, 5)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t1[np.ix_(so,sV)], (4, 5), t2[np.ix_(sO,sO,sV,sv)], (6, 7, 8, 9), v.ovov, (2, 9, 4, 1), (6, 0, 7, 3, 5, 8)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t1[np.ix_(so,sV)], (4, 5), t2[np.ix_(sO,sO,sv,sV)], (6, 7, 8, 9), v.ovov, (2, 8, 4, 1), (6, 0, 7, 3, 5, 9)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t1[np.ix_(so,sV)], (4, 5), t2[np.ix_(sO,sO,sV,sv)], (6, 7, 8, 9), v.ovov, (2, 1, 4, 9), (6, 0, 7, 8, 3, 5)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t1[np.ix_(so,sV)], (4, 5), t2[np.ix_(sO,sO,sv,sV)], (6, 7, 8, 9), v.ovov, (2, 1, 4, 8), (6, 0, 7, 9, 3, 5)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t1[np.ix_(so,sV)], (4, 5), t2[np.ix_(sO,sO,sV,sv)], (6, 7, 8, 9), v.ovov, (2, 1, 4, 9), (6, 7, 0, 3, 5, 8)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t1[np.ix_(so,sV)], (4, 5), t2[np.ix_(sO,sO,sv,sV)], (6, 7, 8, 9), v.ovov, (2, 1, 4, 8), (6, 7, 0, 3, 9, 5)) * -1.0 + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t1[np.ix_(so,sV)], (4, 5), t2[np.ix_(sO,sO,sv,sV)], (6, 7, 8, 9), v.ovov, (2, 8, 4, 1), (6, 7, 0, 3, 9, 5)) + t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t1[np.ix_(so,sV)], (4, 5), t2[np.ix_(sO,sO,sV,sv)], (6, 7, 8, 9), v.ovov, (2, 9, 4, 1), (6, 7, 0, 8, 3, 5)) + + return {"t1new": t1new, "t2new": t2new, "t3new": t3new} + diff --git a/ebcc/codegen/UCCSDtp.py b/ebcc/codegen/UCCSDtp.py new file mode 100644 index 00000000..7ebbb59e --- /dev/null +++ b/ebcc/codegen/UCCSDtp.py @@ -0,0 +1,7454 @@ +# Code generated for ebcc. + +from ebcc import numpy as np +from ebcc.util import pack_2e, einsum, Namespace +from ebcc.precision import types + +def energy(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, t3=None, **kwargs): + # energy + e_cc = 0 + e_cc += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (0, 2, 1, 3), ()) + e_cc += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 1, 3), ()) + e_cc += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (0, 3, 1, 2), ()) * -1.0 + x0 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x0 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 + x0 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + x1 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x1 += einsum(f.bb.ov, (0, 1), (0, 1)) * 2.0 + x1 += einsum(t1.aa, (0, 1), v.aabb.ovov, (0, 1, 2, 3), (2, 3)) * 2.0 + x1 += einsum(t1.bb, (0, 1), x0, (0, 2, 3, 1), (2, 3)) * -1.0 + del x0 + e_cc += einsum(t1.bb, (0, 1), x1, (0, 1), ()) * 0.5 + del x1 + x2 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x2 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 + x2 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + x3 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x3 += einsum(f.aa.ov, (0, 1), (0, 1)) + x3 += einsum(t1.aa, (0, 1), x2, (0, 2, 3, 1), (2, 3)) * -0.5 + del x2 + e_cc += einsum(t1.aa, (0, 1), x3, (0, 1), ()) + del x3 + + return e_cc + +def update_amps(f=None, v=None, space=None, t1=None, t2=None, t3=None, **kwargs): + t1new = Namespace() + t2new = Namespace() + t3new = Namespace() + + nocc = (space[0].ncocc, space[1].ncocc) + nvir = (space[0].ncvir, space[1].ncvir) + naocc = (space[0].naocc, space[1].naocc) + navir = (space[0].navir, space[1].navir) + soa = np.ones((nocc[0],), dtype=bool) + sva = np.ones((nvir[0],), dtype=bool) + sob = np.ones((nocc[1],), dtype=bool) + svb = np.ones((nvir[1],), dtype=bool) + sOa = space[0].active[space[0].correlated][space[0].occupied[space[0].correlated]] + sVa = space[0].active[space[0].correlated][space[0].virtual[space[0].correlated]] + sOb = space[1].active[space[1].correlated][space[1].occupied[space[1].correlated]] + sVb = space[1].active[space[1].correlated][space[1].virtual[space[1].correlated]] + + # T amplitudes + t1new_bb = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + t1new_bb[np.ix_(sob,svb)] += einsum(f.bb.ov, (0, 1), (0, 1)) + t1new_bb[np.ix_(sob,svb)] += einsum(f.bb.oo, (0, 1), t1.bb[np.ix_(sob,svb)], (1, 2), (0, 2)) * -1.0 + t1new_bb[np.ix_(sob,svb)] += einsum(f.bb.vv, (0, 1), t1.bb[np.ix_(sob,svb)], (2, 1), (2, 0)) + t1new_bb[np.ix_(sob,svb)] += einsum(f.aa.ov, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (0, 2, 1, 3), (2, 3)) + t1new_bb[np.ix_(sob,svb)] += einsum(f.bb.ov, (0, 1), t2.bbbb[np.ix_(sob,sob,svb,svb)], (2, 0, 3, 1), (2, 3)) * 2.0 + t1new_bb[np.ix_(sob,svb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.bbbb.oovv, (2, 0, 3, 1), (2, 3)) * -1.0 + t1new_bb[np.ix_(sob,svb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.ovoo, (0, 2, 4, 1), (4, 3)) * -1.0 + t1new_bb[np.ix_(sob,svb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.ovvv, (0, 2, 4, 3), (1, 4)) + t1new_bb[np.ix_(sOb,sVb)] += einsum(v.aaaa.OVOV, (0, 1, 2, 3), t3.abaaba, (0, 4, 2, 1, 5, 3), (4, 5)) + t1new_bb[np.ix_(sOb,sVb)] += einsum(v.aabb.OVOV, (0, 1, 2, 3), t3.babbab, (4, 0, 2, 5, 1, 3), (4, 5)) * 2.0 + t1new_bb[np.ix_(sOb,sVb)] += einsum(v.bbbb.OVOV, (0, 1, 2, 3), t3.bbbbbb, (4, 0, 2, 5, 1, 3), (4, 5)) * 3.0 + t1new_aa = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + t1new_aa[np.ix_(soa,sva)] += einsum(f.aa.ov, (0, 1), (0, 1)) + t1new_aa[np.ix_(soa,sva)] += einsum(f.aa.oo, (0, 1), t1.aa[np.ix_(soa,sva)], (1, 2), (0, 2)) * -1.0 + t1new_aa[np.ix_(soa,sva)] += einsum(f.aa.vv, (0, 1), t1.aa[np.ix_(soa,sva)], (2, 1), (2, 0)) + t1new_aa[np.ix_(soa,sva)] += einsum(f.bb.ov, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (2, 0, 3, 1), (2, 3)) + t1new_aa[np.ix_(soa,sva)] += einsum(f.aa.ov, (0, 1), t2.aaaa[np.ix_(soa,soa,sva,sva)], (2, 0, 3, 1), (2, 3)) * 2.0 + t1new_aa[np.ix_(soa,sva)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aaaa.oovv, (2, 0, 3, 1), (2, 3)) * -1.0 + t1new_aa[np.ix_(soa,sva)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.ooov, (4, 0, 1, 3), (4, 2)) * -1.0 + t1new_aa[np.ix_(soa,sva)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.vvov, (4, 2, 1, 3), (0, 4)) + t1new_aa[np.ix_(sOa,sVa)] += einsum(v.aabb.OVOV, (0, 1, 2, 3), t3.abaaba, (4, 2, 0, 5, 3, 1), (4, 5)) * 2.0 + t1new_aa[np.ix_(sOa,sVa)] += einsum(v.bbbb.OVOV, (0, 1, 2, 3), t3.babbab, (0, 4, 2, 1, 5, 3), (4, 5)) + t1new_aa[np.ix_(sOa,sVa)] += einsum(v.aaaa.OVOV, (0, 1, 2, 3), t3.aaaaaa, (4, 0, 2, 5, 1, 3), (4, 5)) * 3.0 + t2new_aaaa = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 + t2new_aaaa[np.ix_(sOa,sOa,sVa,sVa)] += einsum(f.bb.OV, (0, 1), t3.abaaba, (2, 0, 3, 4, 1, 5), (2, 3, 4, 5)) * 2.0 + t2new_aaaa[np.ix_(sOa,sOa,sVa,sVa)] += einsum(f.aa.OV, (0, 1), t3.aaaaaa, (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) * 6.0 + t2new_abab = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(v.aabb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(f.aa.oo, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (1, 2, 3, 4), (0, 2, 3, 4)) * -1.0 + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(f.bb.oo, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (2, 1, 3, 4), (2, 0, 3, 4)) * -1.0 + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(f.aa.vv, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (2, 3, 1, 4), (2, 3, 0, 4)) + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(f.bb.vv, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (2, 3, 4, 1), (2, 3, 4, 0)) + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aabb.ooov, (2, 0, 3, 4), (2, 3, 1, 4)) * -1.0 + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.aabb.ovoo, (2, 3, 4, 0), (2, 4, 3, 1)) * -1.0 + t2new_abab[np.ix_(sOa,sOb,sVa,sVb)] += einsum(f.aa.OV, (0, 1), t3.abaaba, (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) * 2.0 + t2new_abab[np.ix_(sOa,sOb,sVa,sVb)] += einsum(f.bb.OV, (0, 1), t3.babbab, (2, 3, 0, 4, 5, 1), (3, 2, 5, 4)) * 2.0 + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.oooo, (4, 0, 5, 1), (4, 5, 2, 3)) + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.bbbb.oovv, (4, 1, 5, 3), (0, 4, 2, 5)) * -1.0 + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.oovv, (4, 0, 5, 3), (4, 1, 2, 5)) * -1.0 + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aaaa.oovv, (4, 0, 5, 2), (4, 1, 5, 3)) * -1.0 + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.vvoo, (4, 2, 5, 1), (0, 5, 4, 3)) * -1.0 + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.vvvv, (4, 2, 5, 3), (0, 1, 4, 5)) + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), v.aabb.ovov, (1, 3, 4, 5), (0, 4, 2, 5)) * 2.0 + t2new_abab[np.ix_(soa,sOb,sVa,sVb)] += einsum(v.aaaa.oOOV, (0, 1, 2, 3), t3.abaaba, (1, 4, 2, 5, 6, 3), (0, 4, 5, 6)) * -2.0 + t2new_abab[np.ix_(sOa,sob,sVa,sVb)] += einsum(v.aabb.OVoO, (0, 1, 2, 3), t3.abaaba, (4, 3, 0, 5, 6, 1), (4, 2, 5, 6)) * -2.0 + t2new_abab[np.ix_(sOa,sOb,sva,sVb)] += einsum(v.aaaa.vVOV, (0, 1, 2, 3), t3.abaaba, (4, 5, 2, 3, 6, 1), (4, 5, 0, 6)) * -2.0 + t2new_abab[np.ix_(sOa,sOb,sVa,svb)] += einsum(v.aabb.OVvV, (0, 1, 2, 3), t3.abaaba, (4, 5, 0, 6, 3, 1), (4, 5, 6, 2)) * 2.0 + t2new_abab[np.ix_(soa,sOb,sVa,sVb)] += einsum(v.aabb.oOOV, (0, 1, 2, 3), t3.babbab, (4, 1, 2, 5, 6, 3), (0, 4, 6, 5)) * -2.0 + t2new_abab[np.ix_(sOa,sob,sVa,sVb)] += einsum(v.bbbb.oOOV, (0, 1, 2, 3), t3.babbab, (1, 4, 2, 5, 6, 3), (4, 0, 6, 5)) * -2.0 + t2new_abab[np.ix_(sOa,sOb,sVa,svb)] += einsum(v.bbbb.vVOV, (0, 1, 2, 3), t3.babbab, (4, 5, 2, 1, 6, 3), (5, 4, 6, 0)) * 2.0 + t2new_abab[np.ix_(sOa,sOb,sva,sVb)] += einsum(v.aabb.vVOV, (0, 1, 2, 3), t3.babbab, (4, 5, 2, 6, 1, 3), (5, 4, 0, 6)) * 2.0 + t2new_bbbb = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 + t2new_bbbb[np.ix_(sOb,sOb,sVb,sVb)] += einsum(f.aa.OV, (0, 1), t3.babbab, (2, 0, 3, 4, 1, 5), (2, 3, 4, 5)) * 2.0 + t2new_bbbb[np.ix_(sOb,sOb,sVb,sVb)] += einsum(f.bb.OV, (0, 1), t3.bbbbbb, (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) * 6.0 + t3new_babbab = np.zeros((naocc[1], naocc[0], naocc[1], navir[1], navir[0], navir[1]), dtype=types[float]) + t3new_babbab += einsum(f.aa.OO, (0, 1), t3.babbab, (2, 1, 3, 4, 5, 6), (2, 0, 3, 4, 5, 6)) * -2.0 + t3new_babbab += einsum(f.aa.VV, (0, 1), t3.babbab, (2, 3, 4, 5, 1, 6), (2, 3, 4, 5, 0, 6)) * 2.0 + t3new_babbab += einsum(v.bbbb.OOOO, (0, 1, 2, 3), t3.babbab, (3, 4, 1, 5, 6, 7), (0, 4, 2, 5, 6, 7)) * -2.0 + t3new_babbab += einsum(v.aaaa.OOVV, (0, 1, 2, 3), t3.babbab, (4, 1, 5, 6, 3, 7), (4, 0, 5, 6, 2, 7)) * -2.0 + t3new_babbab += einsum(v.aaaa.OVOV, (0, 1, 2, 3), t3.babbab, (4, 2, 5, 6, 3, 7), (4, 0, 5, 6, 1, 7)) * 2.0 + t3new_babbab += einsum(v.bbbb.VVVV, (0, 1, 2, 3), t3.babbab, (4, 5, 6, 1, 7, 3), (4, 5, 6, 0, 7, 2)) * 2.0 + t3new_babbab += einsum(v.aabb.OVOV, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 2, 6, 7, 3), (4, 0, 5, 6, 1, 7)) * 6.0 + t3new_abaaba = np.zeros((naocc[0], naocc[1], naocc[0], navir[0], navir[1], navir[0]), dtype=types[float]) + t3new_abaaba += einsum(f.bb.OO, (0, 1), t3.abaaba, (2, 1, 3, 4, 5, 6), (2, 0, 3, 4, 5, 6)) * -2.0 + t3new_abaaba += einsum(f.bb.VV, (0, 1), t3.abaaba, (2, 3, 4, 5, 1, 6), (2, 3, 4, 5, 0, 6)) * 2.0 + t3new_abaaba += einsum(v.aaaa.OOOO, (0, 1, 2, 3), t3.abaaba, (1, 4, 3, 5, 6, 7), (0, 4, 2, 5, 6, 7)) * 2.0 + t3new_abaaba += einsum(v.bbbb.OOVV, (0, 1, 2, 3), t3.abaaba, (4, 1, 5, 6, 3, 7), (4, 0, 5, 6, 2, 7)) * -2.0 + t3new_abaaba += einsum(v.bbbb.OVOV, (0, 1, 2, 3), t3.abaaba, (4, 2, 5, 6, 3, 7), (4, 0, 5, 6, 1, 7)) * 2.0 + t3new_abaaba += einsum(v.aaaa.VVVV, (0, 1, 2, 3), t3.abaaba, (4, 5, 6, 1, 7, 3), (4, 5, 6, 0, 7, 2)) * 2.0 + t3new_abaaba += einsum(v.aabb.OVOV, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 0, 6, 7, 1), (4, 2, 5, 6, 3, 7)) * 6.0 + x0 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x0 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aabb.ovov, (0, 1, 2, 3), (2, 3)) + t1new_bb[np.ix_(sob,svb)] += einsum(x0, (0, 1), (0, 1)) + t1new_bb[np.ix_(sob,svb)] += einsum(x0, (0, 1), t2.bbbb[np.ix_(sob,sob,svb,svb)], (2, 0, 3, 1), (2, 3)) * 2.0 + t1new_aa[np.ix_(soa,sva)] += einsum(x0, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (2, 0, 3, 1), (2, 3)) + x1 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x1 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.bbbb.ovov, (2, 3, 0, 1), (2, 3)) + t1new_bb[np.ix_(sob,svb)] += einsum(x1, (0, 1), (0, 1)) + t1new_bb[np.ix_(sob,svb)] += einsum(x1, (0, 1), t2.bbbb[np.ix_(sob,sob,svb,svb)], (2, 0, 3, 1), (2, 3)) * 2.0 + t1new_aa[np.ix_(soa,sva)] += einsum(x1, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (2, 0, 3, 1), (2, 3)) + x2 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x2 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), v.bbbb.ooov, (4, 1, 0, 3), (4, 2)) * -1.0 + t1new_bb[np.ix_(sob,svb)] += einsum(x2, (0, 1), (0, 1)) * -1.0 + t1new_bb[np.ix_(sob,svb)] += einsum(x2, (0, 1), (0, 1)) * -1.0 + del x2 + x3 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x3 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), v.bbbb.ovvv, (1, 3, 4, 2), (0, 4)) * -1.0 + t1new_bb[np.ix_(sob,svb)] += einsum(x3, (0, 1), (0, 1)) * -1.0 + t1new_bb[np.ix_(sob,svb)] += einsum(x3, (0, 1), (0, 1)) * -1.0 + del x3 + x4 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x4 += einsum(f.bb.ov, (0, 1), t1.bb[np.ix_(sob,svb)], (2, 1), (0, 2)) + t1new_bb[np.ix_(sob,svb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x4, (0, 2), (2, 1)) * -1.0 + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x4, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (2, 0, 3, 4), (2, 1, 3, 4)) * -1.0 + x5 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x5 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aabb.ovvv, (0, 1, 2, 3), (2, 3)) + t1new_bb[np.ix_(sob,svb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x5, (2, 1), (0, 2)) + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x5, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (2, 3, 4, 1), (2, 3, 4, 0)) + x6 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x6 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aabb.ovoo, (0, 1, 2, 3), (2, 3)) + t1new_bb[np.ix_(sob,svb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x6, (2, 0), (2, 1)) * -1.0 + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x6, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (2, 1, 3, 4), (2, 0, 3, 4)) * -1.0 + x7 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x7 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.bbbb.ooov, (2, 0, 3, 1), (2, 3)) + t1new_bb[np.ix_(sob,svb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x7, (2, 0), (2, 1)) + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x7, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (2, 1, 3, 4), (2, 0, 3, 4)) + x8 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x8 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.bbbb.ooov, (2, 3, 0, 1), (2, 3)) + t1new_bb[np.ix_(sob,svb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x8, (2, 0), (2, 1)) * -1.0 + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x8, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (2, 1, 3, 4), (2, 0, 3, 4)) * -1.0 + x9 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x9 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.bbbb.ovvv, (0, 2, 3, 1), (2, 3)) + t1new_bb[np.ix_(sob,svb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x9, (1, 2), (0, 2)) * -1.0 + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x9, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (2, 3, 4, 0), (2, 3, 4, 1)) * -1.0 + x10 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x10 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.bbbb.ovvv, (0, 1, 2, 3), (2, 3)) + t1new_bb[np.ix_(sob,svb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x10, (2, 1), (0, 2)) + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x10, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (2, 3, 4, 1), (2, 3, 4, 0)) + x11 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x11 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aaaa.ovov, (2, 3, 0, 1), (2, 3)) + t1new_bb[np.ix_(sob,svb)] += einsum(x11, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (0, 2, 1, 3), (2, 3)) + t1new_aa[np.ix_(soa,sva)] += einsum(x11, (0, 1), (0, 1)) + t1new_aa[np.ix_(soa,sva)] += einsum(x11, (0, 1), t2.aaaa[np.ix_(soa,soa,sva,sva)], (2, 0, 3, 1), (2, 3)) * 2.0 + x12 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x12 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aaaa.ovov, (2, 1, 0, 3), (2, 3)) + t1new_bb[np.ix_(sob,svb)] += einsum(x12, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (0, 2, 1, 3), (2, 3)) * -1.0 + t1new_aa[np.ix_(soa,sva)] += einsum(x12, (0, 1), t2.aaaa[np.ix_(soa,soa,sva,sva)], (2, 0, 3, 1), (2, 3)) * -2.0 + x13 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x13 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.aabb.ovov, (2, 3, 4, 1), (2, 0, 4, 3)) + t1new_bb[np.ix_(sob,svb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x13, (0, 4, 1, 2), (4, 3)) * -1.0 + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x13, (2, 3, 0, 4), (2, 3, 4, 1)) * -1.0 + x14 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x14 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 3), (1, 4)) + t1new_bb[np.ix_(sob,svb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x14, (2, 0), (2, 1)) * -1.0 + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x14, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (2, 1, 3, 4), (2, 0, 3, 4)) * -1.0 + x15 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x15 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.aabb.ovov, (2, 3, 0, 1), (2, 3)) + t1new_bb[np.ix_(sob,svb)] += einsum(x15, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (0, 2, 1, 3), (2, 3)) + t1new_aa[np.ix_(soa,sva)] += einsum(x15, (0, 1), (0, 1)) + t1new_aa[np.ix_(soa,sva)] += einsum(x15, (0, 1), t2.aaaa[np.ix_(soa,soa,sva,sva)], (2, 0, 3, 1), (2, 3)) * 2.0 + x16 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x16 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.bbbb.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) + x17 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x17 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x16, (4, 0, 1, 3), (4, 2)) * -1.0 + t1new_bb[np.ix_(sob,svb)] += einsum(x17, (0, 1), (0, 1)) * -1.0 + t1new_bb[np.ix_(sob,svb)] += einsum(x17, (0, 1), (0, 1)) * -1.0 + del x17 + x18 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x18 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), v.bbbb.ovov, (4, 3, 1, 2), (0, 4)) * -1.0 + x19 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x19 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x18, (2, 0), (2, 1)) + t1new_bb[np.ix_(sob,svb)] += einsum(x19, (0, 1), (0, 1)) * -1.0 + t1new_bb[np.ix_(sob,svb)] += einsum(x19, (0, 1), (0, 1)) * -1.0 + del x19 + x20 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x20 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.bbbb.ovov, (2, 1, 0, 3), (2, 3)) + t1new_bb[np.ix_(sob,svb)] += einsum(x20, (0, 1), t2.bbbb[np.ix_(sob,sob,svb,svb)], (2, 0, 3, 1), (2, 3)) * -2.0 + t1new_aa[np.ix_(soa,sva)] += einsum(x20, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (2, 0, 3, 1), (2, 3)) * -1.0 + x21 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x21 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x0, (2, 1), (0, 2)) + t1new_bb[np.ix_(sob,svb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x21, (2, 0), (2, 1)) * -1.0 + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x21, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (2, 1, 3, 4), (2, 0, 3, 4)) * -1.0 + x22 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x22 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x20, (2, 1), (0, 2)) + t1new_bb[np.ix_(sob,svb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x22, (2, 0), (2, 1)) + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x22, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (2, 1, 3, 4), (2, 0, 3, 4)) + x23 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x23 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x1, (2, 1), (0, 2)) + t1new_bb[np.ix_(sob,svb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x23, (2, 0), (2, 1)) * -1.0 + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x23, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (2, 1, 3, 4), (2, 0, 3, 4)) * -1.0 + x24 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x24 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), v.aaaa.ooov, (4, 0, 1, 3), (4, 2)) + t1new_aa[np.ix_(soa,sva)] += einsum(x24, (0, 1), (0, 1)) * -1.0 + t1new_aa[np.ix_(soa,sva)] += einsum(x24, (0, 1), (0, 1)) * -1.0 + del x24 + x25 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x25 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), v.aaaa.ovvv, (1, 2, 4, 3), (0, 4)) + t1new_aa[np.ix_(soa,sva)] += einsum(x25, (0, 1), (0, 1)) * -1.0 + t1new_aa[np.ix_(soa,sva)] += einsum(x25, (0, 1), (0, 1)) * -1.0 + del x25 + x26 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x26 += einsum(f.aa.ov, (0, 1), t1.aa[np.ix_(soa,sva)], (2, 1), (0, 2)) + t1new_aa[np.ix_(soa,sva)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x26, (0, 2), (2, 1)) * -1.0 + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x26, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (0, 2, 3, 4), (1, 2, 3, 4)) * -1.0 + x27 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x27 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aaaa.ooov, (2, 0, 3, 1), (2, 3)) + t1new_aa[np.ix_(soa,sva)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x27, (2, 0), (2, 1)) + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x27, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (1, 2, 3, 4), (0, 2, 3, 4)) + x28 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x28 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aaaa.ooov, (2, 3, 0, 1), (2, 3)) + t1new_aa[np.ix_(soa,sva)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x28, (2, 0), (2, 1)) * -1.0 + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x28, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (1, 2, 3, 4), (0, 2, 3, 4)) * -1.0 + x29 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x29 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aaaa.ovvv, (0, 2, 3, 1), (2, 3)) + t1new_aa[np.ix_(soa,sva)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x29, (1, 2), (0, 2)) * -1.0 + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x29, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (2, 3, 0, 4), (2, 3, 1, 4)) * -1.0 + x30 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x30 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aaaa.ovvv, (0, 1, 2, 3), (2, 3)) + t1new_aa[np.ix_(soa,sva)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x30, (2, 1), (0, 2)) + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x30, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (2, 3, 1, 4), (2, 3, 0, 4)) + x31 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x31 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.aabb.ooov, (2, 3, 0, 1), (2, 3)) + t1new_aa[np.ix_(soa,sva)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x31, (2, 0), (2, 1)) * -1.0 + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x31, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (1, 2, 3, 4), (0, 2, 3, 4)) * -1.0 + x32 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x32 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.aabb.vvov, (2, 3, 0, 1), (2, 3)) + t1new_aa[np.ix_(soa,sva)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x32, (2, 1), (0, 2)) + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x32, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (2, 3, 1, 4), (2, 3, 0, 4)) + x33 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x33 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aabb.ovov, (2, 1, 3, 4), (0, 2, 3, 4)) + t1new_aa[np.ix_(soa,sva)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x33, (4, 0, 1, 3), (4, 2)) * -1.0 + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x33, (2, 0, 3, 4), (2, 3, 1, 4)) * -1.0 + x34 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x34 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.ovov, (4, 2, 1, 3), (0, 4)) + t1new_aa[np.ix_(soa,sva)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x34, (2, 0), (2, 1)) * -1.0 + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x34, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (1, 2, 3, 4), (0, 2, 3, 4)) * -1.0 + x35 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x35 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aaaa.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) + x36 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x36 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x35, (4, 0, 1, 3), (4, 2)) * -1.0 + t1new_aa[np.ix_(soa,sva)] += einsum(x36, (0, 1), (0, 1)) * -1.0 + t1new_aa[np.ix_(soa,sva)] += einsum(x36, (0, 1), (0, 1)) * -1.0 + del x36 + x37 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x37 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), v.aaaa.ovov, (4, 2, 1, 3), (0, 4)) + x38 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x38 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x37, (2, 0), (2, 1)) + t1new_aa[np.ix_(soa,sva)] += einsum(x38, (0, 1), (0, 1)) * -1.0 + t1new_aa[np.ix_(soa,sva)] += einsum(x38, (0, 1), (0, 1)) * -1.0 + del x38 + x39 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x39 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x12, (2, 1), (0, 2)) + t1new_aa[np.ix_(soa,sva)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x39, (2, 0), (2, 1)) + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x39, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (1, 2, 3, 4), (0, 2, 3, 4)) + x40 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x40 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x11, (2, 1), (0, 2)) + t1new_aa[np.ix_(soa,sva)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x40, (2, 0), (2, 1)) * -1.0 + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x40, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (1, 2, 3, 4), (0, 2, 3, 4)) * -1.0 + x41 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x41 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x15, (2, 1), (0, 2)) + t1new_aa[np.ix_(soa,sva)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x41, (2, 0), (2, 1)) * -1.0 + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x41, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (1, 2, 3, 4), (0, 2, 3, 4)) * -1.0 + x42 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x42 += einsum(f.aa.oo, (0, 1), t2.aaaa[np.ix_(soa,soa,sva,sva)], (2, 1, 3, 4), (0, 2, 3, 4)) + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x42, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x42, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 + del x42 + x43 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x43 += einsum(f.aa.vv, (0, 1), t2.aaaa[np.ix_(soa,soa,sva,sva)], (2, 3, 4, 1), (2, 3, 0, 4)) + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x43, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x43, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 + del x43 + x44 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x44 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aaaa.ooov, (2, 0, 3, 4), (2, 3, 1, 4)) + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x44, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x44, (0, 1, 2, 3), (1, 0, 2, 3)) + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x44, (0, 1, 2, 3), (0, 1, 3, 2)) + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x44, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x44 + x45 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x45 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aaaa.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x45, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x45, (0, 1, 2, 3), (0, 1, 3, 2)) + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x45, (0, 1, 2, 3), (1, 0, 2, 3)) + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x45, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x45, (4, 0, 2, 5), (4, 1, 5, 3)) + x46 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x46 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (0, 4, 2, 5)) + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x46, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x46, (0, 1, 2, 3), (0, 1, 2, 3)) + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x46, (0, 1, 2, 3), (1, 0, 3, 2)) + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x46, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + x47 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x47 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), v.aaaa.oooo, (4, 1, 5, 0), (4, 5, 2, 3)) * -1.0 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x47, (0, 1, 2, 3), (1, 0, 3, 2)) + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x47, (0, 1, 2, 3), (1, 0, 3, 2)) + del x47 + x48 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x48 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), v.aaaa.oovv, (4, 1, 5, 3), (0, 4, 2, 5)) + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x48, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x48, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x48, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x48, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 + del x48 + x49 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x49 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), v.aaaa.ovov, (4, 5, 1, 3), (0, 4, 2, 5)) + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x49, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x49, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x49, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x49, (0, 1, 2, 3), (1, 0, 2, 3)) * -2.0 + x50 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x50 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), v.aaaa.vvvv, (4, 2, 5, 3), (0, 1, 4, 5)) + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x50, (0, 1, 2, 3), (1, 0, 3, 2)) + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x50, (0, 1, 2, 3), (1, 0, 3, 2)) + del x50 + x51 = np.zeros((naocc[0], navir[0], navir[0], nocc[0]), dtype=types[float]) + x51 += einsum(v.aabb.oOOV, (0, 1, 2, 3), t3.abaaba, (4, 2, 1, 5, 3, 6), (4, 5, 6, 0)) + t2new_aaaa[np.ix_(soa,sOa,sVa,sVa)] += einsum(x51, (0, 1, 2, 3), (3, 0, 2, 1)) * -2.0 + t2new_aaaa[np.ix_(sOa,soa,sVa,sVa)] += einsum(x51, (0, 1, 2, 3), (0, 3, 2, 1)) * 2.0 + del x51 + x52 = np.zeros((naocc[0], naocc[0], navir[0], nvir[0]), dtype=types[float]) + x52 += einsum(v.aabb.vVOV, (0, 1, 2, 3), t3.abaaba, (4, 2, 5, 6, 3, 1), (4, 5, 6, 0)) + t2new_aaaa[np.ix_(sOa,sOa,sva,sVa)] += einsum(x52, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 + t2new_aaaa[np.ix_(sOa,sOa,sVa,sva)] += einsum(x52, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + del x52 + x53 = np.zeros((naocc[0], navir[0], navir[0], nocc[0]), dtype=types[float]) + x53 += einsum(v.aaaa.oOOV, (0, 1, 2, 3), t3.aaaaaa, (4, 2, 1, 5, 6, 3), (4, 5, 6, 0)) + t2new_aaaa[np.ix_(soa,sOa,sVa,sVa)] += einsum(x53, (0, 1, 2, 3), (3, 0, 2, 1)) * 6.0 + t2new_aaaa[np.ix_(sOa,soa,sVa,sVa)] += einsum(x53, (0, 1, 2, 3), (0, 3, 2, 1)) * -6.0 + del x53 + x54 = np.zeros((naocc[0], naocc[0], navir[0], nvir[0]), dtype=types[float]) + x54 += einsum(v.aaaa.vVOV, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 2, 6, 3, 1), (4, 5, 6, 0)) + t2new_aaaa[np.ix_(sOa,sOa,sva,sVa)] += einsum(x54, (0, 1, 2, 3), (0, 1, 3, 2)) * 6.0 + t2new_aaaa[np.ix_(sOa,sOa,sVa,sva)] += einsum(x54, (0, 1, 2, 3), (0, 1, 2, 3)) * -6.0 + del x54 + x55 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x55 += einsum(x26, (0, 1), t2.aaaa[np.ix_(soa,soa,sva,sva)], (2, 0, 3, 4), (1, 2, 3, 4)) + del x26 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x55, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x55, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 + del x55 + x56 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x56 += einsum(f.aa.ov, (0, 1), t2.aaaa[np.ix_(soa,soa,sva,sva)], (2, 3, 4, 1), (0, 2, 3, 4)) + x57 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x57 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x56, (0, 2, 3, 4), (2, 3, 1, 4)) + del x56 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x57, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x57, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 + del x57 + x58 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x58 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aaaa.oovv, (2, 3, 4, 1), (0, 2, 3, 4)) + x59 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x59 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x58, (2, 3, 0, 4), (2, 3, 1, 4)) + del x58 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x59, (0, 1, 2, 3), (0, 1, 2, 3)) + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x59, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x59, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x59, (0, 1, 2, 3), (1, 0, 3, 2)) + del x59 + x60 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x60 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aaaa.oooo, (2, 3, 4, 0), (2, 3, 4, 1)) + x61 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x61 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x60, (2, 0, 3, 4), (2, 3, 1, 4)) + del x60 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x61, (0, 1, 2, 3), (0, 1, 2, 3)) + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x61, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x61 + x62 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x62 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x35, (2, 3, 0, 4), (2, 3, 1, 4)) + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x62, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x62, (0, 1, 2, 3), (0, 1, 3, 2)) + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x62, (0, 1, 2, 3), (1, 0, 2, 3)) + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x62, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x62 + x63 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x63 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aaaa.vvvv, (2, 3, 4, 1), (0, 2, 3, 4)) + x64 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x64 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x63, (2, 3, 1, 4), (0, 2, 3, 4)) + del x63 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x64, (0, 1, 2, 3), (0, 1, 2, 3)) + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x64, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x64 + x65 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x65 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.ooov, (4, 5, 1, 3), (0, 4, 5, 2)) + x66 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x66 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x65, (2, 3, 0, 4), (2, 3, 1, 4)) + del x65 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x66, (0, 1, 2, 3), (0, 1, 2, 3)) + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x66, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x66, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x66, (0, 1, 2, 3), (1, 0, 3, 2)) + del x66 + x67 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x67 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aabb.vvov, (2, 1, 3, 4), (0, 3, 2, 4)) + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x67, (0, 1, 2, 3), (0, 1, 2, 3)) + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x67, (4, 1, 5, 3), (4, 0, 5, 2)) * 2.0 + x68 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x68 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x67, (4, 1, 5, 3), (4, 0, 2, 5)) + del x67 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x68, (0, 1, 2, 3), (0, 1, 3, 2)) + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x68, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x68, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x68, (0, 1, 2, 3), (1, 0, 2, 3)) + del x68 + x69 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x69 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aaaa.ooov, (2, 3, 4, 1), (0, 2, 3, 4)) + x70 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x70 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x69, (4, 5, 0, 1), (4, 5, 2, 3)) + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x70, (0, 1, 2, 3), (0, 1, 3, 2)) + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x70, (0, 1, 2, 3), (0, 1, 3, 2)) + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x70, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x70, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x70 + x71 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x71 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), v.aaaa.ooov, (4, 5, 1, 3), (0, 4, 5, 2)) + x72 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x72 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x71, (2, 3, 0, 4), (2, 3, 1, 4)) + del x71 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x72, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x72, (0, 1, 2, 3), (1, 0, 2, 3)) * -2.0 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x72, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x72, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 + del x72 + x73 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x73 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), v.aaaa.ooov, (4, 1, 5, 3), (0, 4, 5, 2)) + x74 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x74 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x73, (2, 3, 0, 4), (2, 3, 1, 4)) + del x73 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x74, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x74, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x74, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x74, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 + del x74 + x75 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x75 += einsum(x27, (0, 1), t2.aaaa[np.ix_(soa,soa,sva,sva)], (2, 1, 3, 4), (2, 0, 3, 4)) + del x27 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x75, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x75, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 + del x75 + x76 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x76 += einsum(x28, (0, 1), t2.aaaa[np.ix_(soa,soa,sva,sva)], (2, 1, 3, 4), (2, 0, 3, 4)) + del x28 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x76, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x76, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 + del x76 + x77 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x77 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aaaa.ovvv, (2, 1, 3, 4), (0, 2, 3, 4)) + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x77, (4, 0, 5, 2), (4, 1, 5, 3)) * -1.0 + x78 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x78 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x77, (4, 1, 5, 3), (4, 0, 2, 5)) + del x77 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x78, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x78, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x78, (0, 1, 2, 3), (1, 0, 2, 3)) * -2.0 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x78, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 + del x78 + x79 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x79 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x45, (4, 1, 3, 5), (4, 0, 2, 5)) + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x79, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x79, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x79, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x79, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 + del x79 + x80 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x80 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), v.aaaa.ovvv, (4, 2, 5, 3), (0, 1, 4, 5)) + x81 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x81 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x80, (2, 3, 0, 4), (2, 3, 1, 4)) + del x80 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x81, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x81, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x81, (0, 1, 2, 3), (0, 1, 3, 2)) + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x81, (0, 1, 2, 3), (0, 1, 3, 2)) + del x81 + x82 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x82 += einsum(x30, (0, 1), t2.aaaa[np.ix_(soa,soa,sva,sva)], (2, 3, 4, 1), (2, 3, 4, 0)) + del x30 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x82, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x82, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 + del x82 + x83 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x83 += einsum(x29, (0, 1), t2.aaaa[np.ix_(soa,soa,sva,sva)], (2, 3, 4, 0), (2, 3, 4, 1)) + del x29 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x83, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x83, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 + del x83 + x84 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x84 += einsum(x31, (0, 1), t2.aaaa[np.ix_(soa,soa,sva,sva)], (2, 1, 3, 4), (2, 0, 3, 4)) + del x31 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x84, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x84, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 + del x84 + x85 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x85 += einsum(x32, (0, 1), t2.aaaa[np.ix_(soa,soa,sva,sva)], (2, 3, 4, 1), (2, 3, 4, 0)) + del x32 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x85, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x85, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + del x85 + x86 = np.zeros((naocc[0], naocc[1], navir[1], nocc[0]), dtype=types[float]) + x86 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aabb.vOOV, (1, 2, 3, 4), (2, 3, 4, 0)) + t2new_abab[np.ix_(soa,sOb,sVa,sVb)] += einsum(x86, (0, 1, 2, 3), t3.babbab, (4, 0, 1, 5, 6, 2), (3, 4, 6, 5)) * -2.0 + x87 = np.zeros((naocc[0], navir[0], navir[0], nocc[0]), dtype=types[float]) + x87 += einsum(x86, (0, 1, 2, 3), t3.abaaba, (4, 1, 0, 5, 2, 6), (4, 5, 6, 3)) + del x86 + t2new_aaaa[np.ix_(soa,sOa,sVa,sVa)] += einsum(x87, (0, 1, 2, 3), (3, 0, 2, 1)) * -2.0 + t2new_aaaa[np.ix_(sOa,soa,sVa,sVa)] += einsum(x87, (0, 1, 2, 3), (0, 3, 2, 1)) * 2.0 + del x87 + x88 = np.zeros((naocc[0], naocc[0], navir[0], nocc[0]), dtype=types[float]) + x88 += einsum(v.aabb.oVOV, (0, 1, 2, 3), t3.abaaba, (4, 2, 5, 6, 3, 1), (4, 5, 6, 0)) + x89 = np.zeros((naocc[0], naocc[0], navir[0], nvir[0]), dtype=types[float]) + x89 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x88, (2, 3, 4, 0), (3, 2, 4, 1)) * -1.0 + del x88 + t2new_aaaa[np.ix_(sOa,sOa,sva,sVa)] += einsum(x89, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 + t2new_aaaa[np.ix_(sOa,sOa,sVa,sva)] += einsum(x89, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 + del x89 + x90 = np.zeros((naocc[1], navir[1]), dtype=types[float]) + x90 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aabb.ovOV, (0, 1, 2, 3), (2, 3)) + t2new_aaaa[np.ix_(sOa,sOa,sVa,sVa)] += einsum(x90, (0, 1), t3.abaaba, (2, 0, 3, 4, 1, 5), (2, 3, 4, 5)) * 2.0 + t2new_abab[np.ix_(sOa,sOb,sVa,sVb)] += einsum(x90, (0, 1), t3.babbab, (2, 3, 0, 4, 5, 1), (3, 2, 5, 4)) * 2.0 + t2new_bbbb[np.ix_(sOb,sOb,sVb,sVb)] += einsum(x90, (0, 1), t3.bbbbbb, (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) * 6.0 + del x90 + x91 = np.zeros((naocc[0], naocc[0], navir[0], nocc[0]), dtype=types[float]) + x91 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aaaa.vOOV, (1, 2, 3, 4), (3, 2, 4, 0)) + t2new_abab[np.ix_(soa,sOb,sVa,sVb)] += einsum(x91, (0, 1, 2, 3), t3.abaaba, (1, 4, 0, 5, 6, 2), (3, 4, 5, 6)) * -1.0 + x92 = np.zeros((naocc[0], navir[0], navir[0], nocc[0]), dtype=types[float]) + x92 += einsum(x91, (0, 1, 2, 3), t3.aaaaaa, (4, 1, 0, 5, 6, 2), (4, 5, 6, 3)) * -1.0 + del x91 + t2new_aaaa[np.ix_(soa,sOa,sVa,sVa)] += einsum(x92, (0, 1, 2, 3), (3, 0, 2, 1)) * 3.0 + t2new_aaaa[np.ix_(sOa,soa,sVa,sVa)] += einsum(x92, (0, 1, 2, 3), (0, 3, 2, 1)) * -3.0 + del x92 + x93 = np.zeros((naocc[0], naocc[0], navir[0], nocc[0]), dtype=types[float]) + x93 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aaaa.vOOV, (1, 2, 3, 4), (3, 2, 4, 0)) + t2new_abab[np.ix_(soa,sOb,sVa,sVb)] += einsum(x93, (0, 1, 2, 3), t3.abaaba, (1, 4, 0, 5, 6, 2), (3, 4, 5, 6)) * -1.0 + x94 = np.zeros((naocc[0], navir[0], navir[0], nocc[0]), dtype=types[float]) + x94 += einsum(x93, (0, 1, 2, 3), t3.aaaaaa, (4, 1, 0, 5, 6, 2), (4, 5, 6, 3)) * -1.0 + del x93 + t2new_aaaa[np.ix_(soa,sOa,sVa,sVa)] += einsum(x94, (0, 1, 2, 3), (3, 0, 2, 1)) * 3.0 + t2new_aaaa[np.ix_(sOa,soa,sVa,sVa)] += einsum(x94, (0, 1, 2, 3), (0, 3, 2, 1)) * -3.0 + del x94 + x95 = np.zeros((naocc[0], naocc[0], navir[0], nocc[0]), dtype=types[float]) + x95 += einsum(v.aaaa.oVOV, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 2, 6, 3, 1), (4, 5, 6, 0)) + x96 = np.zeros((naocc[0], naocc[0], navir[0], nvir[0]), dtype=types[float]) + x96 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x95, (2, 3, 4, 0), (3, 2, 4, 1)) * -1.0 + del x95 + t2new_aaaa[np.ix_(sOa,sOa,sva,sVa)] += einsum(x96, (0, 1, 2, 3), (0, 1, 3, 2)) * -6.0 + t2new_aaaa[np.ix_(sOa,sOa,sVa,sva)] += einsum(x96, (0, 1, 2, 3), (0, 1, 2, 3)) * 6.0 + del x96 + x97 = np.zeros((naocc[0], navir[0]), dtype=types[float]) + x97 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aaaa.ovOV, (0, 1, 2, 3), (2, 3)) + t2new_aaaa[np.ix_(sOa,sOa,sVa,sVa)] += einsum(x97, (0, 1), t3.aaaaaa, (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) * 6.0 + t2new_abab[np.ix_(sOa,sOb,sVa,sVb)] += einsum(x97, (0, 1), t3.abaaba, (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) * 2.0 + t2new_bbbb[np.ix_(sOb,sOb,sVb,sVb)] += einsum(x97, (0, 1), t3.babbab, (2, 0, 3, 4, 1, 5), (2, 3, 4, 5)) * 2.0 + del x97 + x98 = np.zeros((naocc[0], navir[0]), dtype=types[float]) + x98 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aaaa.oVvO, (0, 2, 1, 3), (3, 2)) + t2new_aaaa[np.ix_(sOa,sOa,sVa,sVa)] += einsum(x98, (0, 1), t3.aaaaaa, (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) * -6.0 + t2new_abab[np.ix_(sOa,sOb,sVa,sVb)] += einsum(x98, (0, 1), t3.abaaba, (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) * -2.0 + t2new_bbbb[np.ix_(sOb,sOb,sVb,sVb)] += einsum(x98, (0, 1), t3.babbab, (2, 0, 3, 4, 1, 5), (2, 3, 4, 5)) * -2.0 + del x98 + x99 = np.zeros((naocc[1], navir[1]), dtype=types[float]) + x99 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.bbbb.ovOV, (0, 1, 2, 3), (2, 3)) + t2new_aaaa[np.ix_(sOa,sOa,sVa,sVa)] += einsum(x99, (0, 1), t3.abaaba, (2, 0, 3, 4, 1, 5), (2, 3, 4, 5)) * 2.0 + t2new_abab[np.ix_(sOa,sOb,sVa,sVb)] += einsum(x99, (0, 1), t3.babbab, (2, 3, 0, 4, 5, 1), (3, 2, 5, 4)) * 2.0 + t2new_bbbb[np.ix_(sOb,sOb,sVb,sVb)] += einsum(x99, (0, 1), t3.bbbbbb, (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) * 6.0 + del x99 + x100 = np.zeros((naocc[1], navir[1]), dtype=types[float]) + x100 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.bbbb.oVvO, (0, 2, 1, 3), (3, 2)) + t2new_aaaa[np.ix_(sOa,sOa,sVa,sVa)] += einsum(x100, (0, 1), t3.abaaba, (2, 0, 3, 4, 1, 5), (2, 3, 4, 5)) * -2.0 + t2new_abab[np.ix_(sOa,sOb,sVa,sVb)] += einsum(x100, (0, 1), t3.babbab, (2, 3, 0, 4, 5, 1), (3, 2, 5, 4)) * -2.0 + t2new_bbbb[np.ix_(sOb,sOb,sVb,sVb)] += einsum(x100, (0, 1), t3.bbbbbb, (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) * -6.0 + del x100 + x101 = np.zeros((naocc[0], navir[0]), dtype=types[float]) + x101 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.aabb.OVov, (2, 3, 0, 1), (2, 3)) + t2new_aaaa[np.ix_(sOa,sOa,sVa,sVa)] += einsum(x101, (0, 1), t3.aaaaaa, (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) * 6.0 + t2new_abab[np.ix_(sOa,sOb,sVa,sVb)] += einsum(x101, (0, 1), t3.abaaba, (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) * 2.0 + t2new_bbbb[np.ix_(sOb,sOb,sVb,sVb)] += einsum(x101, (0, 1), t3.babbab, (2, 0, 3, 4, 1, 5), (2, 3, 4, 5)) * 2.0 + del x101 + x102 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x102 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.bbbb.ovov, (4, 5, 1, 3), (0, 4, 2, 5)) + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x102, (0, 1, 2, 3), (0, 1, 2, 3)) + x103 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x103 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x102, (4, 1, 5, 3), (4, 0, 5, 2)) + del x102 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x103, (0, 1, 2, 3), (0, 1, 2, 3)) + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x103, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x103 + x104 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x104 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.bbbb.ovov, (4, 3, 1, 5), (0, 4, 2, 5)) + x105 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x105 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x104, (4, 1, 5, 3), (4, 0, 5, 2)) + del x104 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x105, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x105, (0, 1, 2, 3), (0, 1, 3, 2)) + del x105 + x106 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x106 += einsum(x34, (0, 1), t2.aaaa[np.ix_(soa,soa,sva,sva)], (2, 1, 3, 4), (2, 0, 3, 4)) + del x34 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x106, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x106, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 + del x106 + x107 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x107 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x46, (4, 1, 5, 3), (0, 4, 2, 5)) + del x46 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x107, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x107, (0, 1, 2, 3), (1, 0, 2, 3)) * -2.0 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x107, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x107, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + del x107 + x108 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x108 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.ovov, (0, 4, 1, 3), (2, 4)) + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x108, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (2, 3, 1, 4), (2, 3, 0, 4)) * -1.0 + x109 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x109 += einsum(x108, (0, 1), t2.aaaa[np.ix_(soa,soa,sva,sva)], (2, 3, 4, 1), (2, 3, 4, 0)) + del x108 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x109, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x109, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 + del x109 + x110 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x110 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x49, (4, 1, 5, 3), (4, 0, 5, 2)) + del x49 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x110, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.0 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x110, (0, 1, 2, 3), (0, 1, 3, 2)) * -4.0 + del x110 + x111 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x111 += einsum(x37, (0, 1), t2.aaaa[np.ix_(soa,soa,sva,sva)], (2, 1, 3, 4), (2, 0, 3, 4)) + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x111, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x111, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x111, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x111, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 + del x111 + x112 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x112 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), v.aaaa.ovov, (4, 3, 1, 5), (0, 4, 2, 5)) + x113 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x113 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x112, (4, 1, 5, 3), (4, 0, 5, 2)) + del x112 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x113, (0, 1, 2, 3), (0, 1, 2, 3)) * -4.0 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x113, (0, 1, 2, 3), (0, 1, 3, 2)) * 4.0 + del x113 + x114 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x114 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), v.aaaa.ovov, (0, 3, 1, 4), (2, 4)) * -1.0 + x115 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x115 += einsum(x114, (0, 1), t2.aaaa[np.ix_(soa,soa,sva,sva)], (2, 3, 4, 1), (2, 3, 4, 0)) + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x115, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x115, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x115, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x115, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 + del x115 + x116 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x116 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), v.aaaa.ovov, (4, 3, 5, 2), (0, 1, 4, 5)) * -1.0 + x117 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x117 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x116, (4, 5, 0, 1), (5, 4, 2, 3)) * -1.0 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x117, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x117, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x117 + x118 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x118 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x69, (2, 3, 4, 0), (2, 4, 3, 1)) + del x69 + x119 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x119 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x118, (2, 0, 3, 4), (2, 3, 1, 4)) + del x118 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x119, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x119, (0, 1, 2, 3), (0, 1, 3, 2)) + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x119, (0, 1, 2, 3), (1, 0, 2, 3)) + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x119, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x119 + x120 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x120 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x45, (2, 3, 1, 4), (0, 2, 3, 4)) + del x45 + x121 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x121 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x120, (2, 3, 0, 4), (2, 3, 1, 4)) + del x120 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x121, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x121, (0, 1, 2, 3), (1, 0, 2, 3)) + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x121, (0, 1, 2, 3), (0, 1, 3, 2)) + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x121, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x121 + x122 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x122 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x33, (4, 5, 1, 3), (4, 0, 5, 2)) + x123 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x123 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x122, (2, 3, 0, 4), (2, 3, 1, 4)) + del x122 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x123, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x123, (0, 1, 2, 3), (0, 1, 3, 2)) + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x123, (0, 1, 2, 3), (1, 0, 2, 3)) + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x123, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x123 + x124 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x124 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x35, (2, 3, 4, 1), (2, 0, 4, 3)) + x125 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x125 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x124, (4, 5, 0, 1), (5, 4, 2, 3)) * -1.0 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x125, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x125, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x125 + x126 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x126 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x35, (4, 1, 5, 3), (4, 0, 5, 2)) + x127 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x127 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x126, (2, 3, 0, 4), (2, 3, 1, 4)) + del x126 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x127, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x127, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x127, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x127, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 + del x127 + x128 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x128 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x35, (4, 5, 1, 3), (4, 0, 5, 2)) + x129 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x129 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x128, (2, 3, 0, 4), (2, 3, 1, 4)) + del x128 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x129, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x129, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x129, (0, 1, 2, 3), (1, 0, 2, 3)) * -2.0 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x129, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 + del x129 + x130 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x130 += einsum(x39, (0, 1), t2.aaaa[np.ix_(soa,soa,sva,sva)], (2, 1, 3, 4), (0, 2, 3, 4)) + del x39 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x130, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x130, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 + del x130 + x131 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x131 += einsum(x40, (0, 1), t2.aaaa[np.ix_(soa,soa,sva,sva)], (2, 1, 3, 4), (0, 2, 3, 4)) + del x40 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x131, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x131, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 + del x131 + x132 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x132 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x116, (2, 3, 0, 4), (2, 3, 4, 1)) * -1.0 + del x116 + x133 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x133 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x132, (2, 3, 0, 4), (2, 3, 4, 1)) * -1.0 + del x132 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x133, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x133, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x133 + x134 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x134 += einsum(x11, (0, 1), t2.aaaa[np.ix_(soa,soa,sva,sva)], (2, 3, 4, 1), (2, 3, 0, 4)) + x135 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x135 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x134, (2, 3, 0, 4), (2, 3, 1, 4)) + del x134 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x135, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x135, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 + del x135 + x136 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x136 += einsum(x12, (0, 1), t2.aaaa[np.ix_(soa,soa,sva,sva)], (2, 3, 4, 1), (2, 3, 0, 4)) + x137 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x137 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x136, (2, 3, 0, 4), (2, 3, 1, 4)) + del x136 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x137, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x137, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 + del x137 + x138 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x138 += einsum(x41, (0, 1), t2.aaaa[np.ix_(soa,soa,sva,sva)], (2, 1, 3, 4), (0, 2, 3, 4)) + del x41 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x138, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x138, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 + del x138 + x139 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x139 += einsum(x15, (0, 1), t2.aaaa[np.ix_(soa,soa,sva,sva)], (2, 3, 4, 1), (2, 3, 0, 4)) + x140 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x140 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x139, (2, 3, 0, 4), (2, 3, 1, 4)) + del x139 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x140, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x140, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 + del x140 + x141 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x141 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x124, (2, 3, 0, 4), (3, 2, 4, 1)) + del x124 + x142 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x142 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x141, (2, 3, 0, 4), (2, 3, 1, 4)) + del x141 + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x142, (0, 1, 2, 3), (0, 1, 2, 3)) + t2new_aaaa[np.ix_(soa,soa,sva,sva)] += einsum(x142, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x142 + x143 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x143 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.aabb.ovvv, (2, 3, 4, 1), (2, 0, 3, 4)) + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x143, (0, 1, 2, 3), (0, 1, 2, 3)) + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x143, (1, 4, 3, 5), (0, 4, 2, 5)) * 2.0 + x144 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x144 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aaaa.ovov, (4, 5, 0, 2), (4, 1, 5, 3)) + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x144, (0, 1, 2, 3), (0, 1, 2, 3)) + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x144, (1, 4, 3, 5), (0, 4, 2, 5)) * 2.0 + x145 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x145 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (4, 0, 5, 2)) + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x145, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x145, (1, 4, 3, 5), (0, 4, 2, 5)) * 4.0 + x146 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x146 += einsum(f.aa.ov, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (2, 3, 1, 4), (0, 2, 3, 4)) + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x146, (0, 2, 3, 4), (2, 3, 1, 4)) * -1.0 + del x146 + x147 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x147 += einsum(f.bb.ov, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (2, 3, 4, 1), (2, 0, 3, 4)) + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x147, (2, 0, 3, 4), (2, 3, 4, 1)) * -1.0 + del x147 + x148 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x148 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.aabb.oovv, (2, 3, 4, 1), (2, 3, 0, 4)) + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x148, (2, 0, 3, 4), (2, 3, 1, 4)) * -1.0 + del x148 + x149 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x149 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.aabb.oooo, (2, 3, 4, 0), (2, 3, 4, 1)) + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x149, (2, 0, 3, 4), (2, 3, 1, 4)) + del x149 + x150 = np.zeros((nocc[1], nvir[0], nvir[0], nvir[1]), dtype=types[float]) + x150 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.aabb.vvvv, (2, 3, 4, 1), (0, 2, 3, 4)) + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x150, (2, 3, 1, 4), (0, 2, 3, 4)) + del x150 + x151 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x151 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aabb.vvoo, (2, 1, 3, 4), (0, 3, 4, 2)) + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x151, (2, 3, 0, 4), (2, 3, 4, 1)) * -1.0 + del x151 + x152 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x152 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aaaa.ooov, (4, 5, 0, 2), (4, 5, 1, 3)) + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x152, (2, 0, 3, 4), (2, 3, 1, 4)) * -1.0 + del x152 + x153 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x153 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aaaa.ooov, (4, 0, 5, 2), (4, 5, 1, 3)) + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x153, (2, 0, 3, 4), (2, 3, 1, 4)) + del x153 + x154 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) + x154 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aabb.ovoo, (2, 1, 3, 4), (0, 2, 3, 4)) + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x154, (4, 0, 5, 1), (4, 5, 2, 3)) + x155 = np.zeros((nocc[0], nocc[0], nvir[1], nvir[1]), dtype=types[float]) + x155 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aabb.ovvv, (2, 1, 3, 4), (0, 2, 3, 4)) + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x155, (4, 0, 5, 3), (4, 1, 2, 5)) * -1.0 + del x155 + x156 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x156 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.ovoo, (4, 2, 5, 1), (0, 4, 5, 3)) + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x156, (2, 0, 3, 4), (2, 3, 1, 4)) + del x156 + x157 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x157 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.ovvv, (4, 2, 5, 3), (0, 4, 1, 5)) + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x157, (2, 0, 3, 4), (2, 3, 1, 4)) * -1.0 + del x157 + x158 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x158 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), v.aabb.ooov, (4, 5, 1, 3), (4, 5, 0, 2)) + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x158, (2, 0, 3, 4), (2, 3, 1, 4)) * -2.0 + del x158 + x159 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) + x159 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.aabb.ooov, (2, 3, 4, 1), (2, 3, 0, 4)) + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x159, (4, 0, 5, 1), (4, 5, 2, 3)) + x160 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x160 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.bbbb.ooov, (4, 5, 1, 3), (0, 4, 5, 2)) + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x160, (2, 3, 0, 4), (2, 3, 4, 1)) * -1.0 + del x160 + x161 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x161 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.bbbb.ooov, (4, 1, 5, 3), (0, 4, 5, 2)) + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x161, (2, 3, 0, 4), (2, 3, 4, 1)) + del x161 + x162 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x162 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.ooov, (4, 0, 5, 3), (4, 1, 5, 2)) + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x162, (2, 3, 0, 4), (2, 3, 4, 1)) + del x162 + x163 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x163 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.bbbb.ovvv, (2, 1, 3, 4), (0, 2, 3, 4)) + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x163, (4, 1, 5, 3), (0, 4, 2, 5)) * -1.0 + x164 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x164 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.bbbb.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x164, (4, 1, 3, 5), (0, 4, 2, 5)) + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x164, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x164, (0, 1, 2, 3), (0, 1, 3, 2)) + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x164, (0, 1, 2, 3), (1, 0, 2, 3)) + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x164, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + x165 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + x165 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.aabb.vvov, (2, 3, 4, 1), (0, 4, 2, 3)) + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x165, (4, 1, 5, 2), (0, 4, 5, 3)) * -1.0 + x166 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x166 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.vvov, (4, 2, 5, 3), (0, 1, 5, 4)) + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x166, (2, 3, 0, 4), (2, 3, 4, 1)) * -1.0 + del x166 + x167 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x167 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), v.aabb.ovoo, (1, 3, 4, 5), (0, 4, 5, 2)) + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x167, (2, 3, 0, 4), (2, 3, 4, 1)) * -2.0 + del x167 + x168 = np.zeros((naocc[0], naocc[1], navir[1], nocc[0]), dtype=types[float]) + x168 += einsum(v.aaaa.oVOV, (0, 1, 2, 3), t3.abaaba, (4, 5, 2, 3, 6, 1), (4, 5, 6, 0)) + t2new_abab[np.ix_(sOa,sOb,sva,sVb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x168, (2, 3, 4, 0), (2, 3, 1, 4)) * 2.0 + del x168 + x169 = np.zeros((naocc[0], naocc[1], navir[1], nocc[0]), dtype=types[float]) + x169 += einsum(v.aabb.oVOV, (0, 1, 2, 3), t3.babbab, (4, 5, 2, 6, 1, 3), (5, 4, 6, 0)) + t2new_abab[np.ix_(sOa,sOb,sva,sVb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x169, (2, 3, 4, 0), (2, 3, 1, 4)) * -2.0 + del x169 + x170 = np.zeros((naocc[0], naocc[1], navir[0], nocc[1]), dtype=types[float]) + x170 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.aabb.OVvO, (2, 3, 1, 4), (2, 4, 3, 0)) + t2new_abab[np.ix_(sOa,sob,sVa,sVb)] += einsum(x170, (0, 1, 2, 3), t3.abaaba, (4, 1, 0, 5, 6, 2), (4, 3, 5, 6)) * -2.0 + x171 = np.zeros((naocc[0], naocc[1], navir[0], nocc[1]), dtype=types[float]) + x171 += einsum(v.aabb.OVoV, (0, 1, 2, 3), t3.abaaba, (4, 5, 0, 6, 3, 1), (4, 5, 6, 2)) + t2new_abab[np.ix_(sOa,sOb,sVa,svb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x171, (2, 3, 4, 0), (2, 3, 4, 1)) * -2.0 + del x171 + x172 = np.zeros((naocc[1], naocc[1], navir[1], nocc[1]), dtype=types[float]) + x172 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.bbbb.vOOV, (1, 2, 3, 4), (3, 2, 4, 0)) + t2new_abab[np.ix_(sOa,sob,sVa,sVb)] += einsum(x172, (0, 1, 2, 3), t3.babbab, (1, 4, 0, 5, 6, 2), (4, 3, 6, 5)) * -1.0 + x173 = np.zeros((naocc[1], naocc[1], navir[1], nocc[1]), dtype=types[float]) + x173 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.bbbb.vOOV, (1, 2, 3, 4), (3, 2, 4, 0)) + t2new_abab[np.ix_(sOa,sob,sVa,sVb)] += einsum(x173, (0, 1, 2, 3), t3.babbab, (0, 4, 1, 5, 6, 2), (4, 3, 6, 5)) + x174 = np.zeros((naocc[0], naocc[1], navir[0], nocc[1]), dtype=types[float]) + x174 += einsum(v.bbbb.oVOV, (0, 1, 2, 3), t3.babbab, (4, 5, 2, 1, 6, 3), (5, 4, 6, 0)) * -1.0 + t2new_abab[np.ix_(sOa,sOb,sVa,svb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x174, (2, 3, 4, 0), (2, 3, 4, 1)) * 2.0 + del x174 + x175 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) + x175 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.ovov, (4, 2, 5, 3), (0, 4, 1, 5)) + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x175, (4, 0, 5, 1), (4, 5, 2, 3)) + x176 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x176 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.ovov, (0, 2, 1, 4), (3, 4)) + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x176, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (2, 3, 4, 1), (2, 3, 4, 0)) * -1.0 + x177 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + x177 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.ovov, (0, 4, 5, 3), (1, 5, 2, 4)) + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x177, (4, 1, 5, 2), (0, 4, 5, 3)) + del x177 + x178 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x178 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 5), (1, 4, 3, 5)) + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x178, (4, 1, 5, 3), (0, 4, 2, 5)) + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x178, (0, 1, 2, 3), (0, 1, 2, 3)) + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x178, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x178, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x178, (0, 1, 2, 3), (1, 0, 3, 2)) + del x178 + x179 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x179 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), v.bbbb.ovov, (4, 5, 1, 3), (0, 4, 2, 5)) + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x179, (4, 1, 5, 3), (0, 4, 2, 5)) * 2.0 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x179, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x179, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x179, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x179, (0, 1, 2, 3), (1, 0, 2, 3)) * -2.0 + x180 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x180 += einsum(x18, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (2, 1, 3, 4), (2, 0, 3, 4)) * -1.0 + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x180, (0, 1, 2, 3), (0, 1, 2, 3)) + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x180, (0, 1, 2, 3), (0, 1, 2, 3)) + del x180 + x181 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x181 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), v.bbbb.ovov, (4, 3, 1, 5), (0, 4, 2, 5)) + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x181, (4, 1, 5, 3), (0, 4, 2, 5)) * -2.0 + x182 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x182 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), v.bbbb.ovov, (0, 3, 1, 4), (2, 4)) * -1.0 + x183 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x183 += einsum(x182, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (2, 3, 4, 1), (2, 3, 4, 0)) * -1.0 + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x183, (0, 1, 2, 3), (0, 1, 2, 3)) + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x183, (0, 1, 2, 3), (0, 1, 2, 3)) + del x183 + x184 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x184 += einsum(x114, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (2, 3, 1, 4), (2, 3, 0, 4)) * -1.0 + del x114 + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x184, (0, 1, 2, 3), (0, 1, 2, 3)) + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x184, (0, 1, 2, 3), (0, 1, 2, 3)) + del x184 + x185 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x185 += einsum(x37, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (1, 2, 3, 4), (0, 2, 3, 4)) * -1.0 + del x37 + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x185, (0, 1, 2, 3), (0, 1, 2, 3)) + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(x185, (0, 1, 2, 3), (0, 1, 2, 3)) + del x185 + x186 = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + x186 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aaaa.ovov, (4, 2, 0, 5), (4, 1, 5, 3)) + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x186, (1, 4, 3, 5), (0, 4, 2, 5)) * -2.0 + x187 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x187 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x143, (2, 3, 1, 4), (0, 2, 3, 4)) + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x187, (2, 0, 3, 4), (2, 3, 1, 4)) * -1.0 + del x187 + x188 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x188 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x154, (2, 3, 4, 0), (2, 3, 4, 1)) + del x154 + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x188, (2, 0, 3, 4), (2, 3, 1, 4)) + del x188 + x189 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x189 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x159, (2, 3, 4, 0), (3, 2, 4, 1)) + del x159 + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x189, (0, 2, 3, 4), (2, 3, 1, 4)) + del x189 + x190 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x190 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x165, (2, 3, 4, 1), (0, 2, 3, 4)) + del x165 + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x190, (2, 3, 0, 4), (2, 3, 4, 1)) * -1.0 + del x190 + x191 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x191 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x35, (4, 0, 5, 2), (4, 5, 1, 3)) + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x191, (2, 0, 3, 4), (2, 3, 1, 4)) * -1.0 + del x191 + x192 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x192 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x35, (4, 5, 0, 2), (4, 5, 1, 3)) + del x35 + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x192, (2, 0, 3, 4), (2, 3, 1, 4)) + del x192 + x193 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x193 += einsum(x11, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (2, 3, 1, 4), (2, 0, 3, 4)) + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x193, (2, 0, 3, 4), (2, 3, 1, 4)) * -1.0 + del x193 + x194 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x194 += einsum(x12, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (2, 3, 1, 4), (2, 0, 3, 4)) + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x194, (2, 0, 3, 4), (2, 3, 1, 4)) + del x194 + x195 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x195 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x33, (4, 5, 1, 3), (4, 5, 0, 2)) + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x195, (2, 0, 3, 4), (2, 3, 1, 4)) * -2.0 + del x195 + x196 = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1]), dtype=types[float]) + x196 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x13, (2, 3, 4, 1), (0, 2, 3, 4)) + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x196, (4, 0, 5, 1), (4, 5, 2, 3)) + x197 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x197 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x33, (4, 0, 5, 3), (4, 1, 5, 2)) + del x33 + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x197, (2, 3, 0, 4), (2, 3, 4, 1)) + del x197 + x198 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x198 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x13, (4, 5, 1, 2), (0, 4, 5, 3)) + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x198, (2, 0, 3, 4), (2, 3, 1, 4)) + del x198 + x199 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x199 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x175, (2, 3, 4, 0), (2, 3, 4, 1)) + del x175 + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x199, (2, 0, 3, 4), (2, 3, 1, 4)) + del x199 + x200 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x200 += einsum(x15, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (2, 3, 1, 4), (2, 0, 3, 4)) + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x200, (2, 0, 3, 4), (2, 3, 1, 4)) * -1.0 + del x200 + x201 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x201 += einsum(x0, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (2, 3, 4, 1), (2, 3, 0, 4)) + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x201, (2, 3, 0, 4), (2, 3, 4, 1)) * -1.0 + del x201 + x202 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x202 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x16, (4, 1, 5, 3), (0, 4, 5, 2)) + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x202, (2, 3, 0, 4), (2, 3, 4, 1)) * -1.0 + del x202 + x203 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x203 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x16, (4, 5, 1, 3), (0, 4, 5, 2)) + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x203, (2, 3, 0, 4), (2, 3, 4, 1)) + del x203 + x204 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x204 += einsum(x1, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (2, 3, 4, 1), (2, 3, 0, 4)) + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x204, (2, 3, 0, 4), (2, 3, 4, 1)) * -1.0 + del x204 + x205 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x205 += einsum(x20, (0, 1), t2.abab[np.ix_(soa,sob,sva,svb)], (2, 3, 4, 1), (2, 3, 0, 4)) + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x205, (2, 3, 0, 4), (2, 3, 4, 1)) + del x205 + x206 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x206 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sva)], (0, 1, 2, 3), x13, (1, 4, 5, 3), (0, 4, 5, 2)) + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x206, (2, 3, 0, 4), (2, 3, 4, 1)) * -2.0 + del x206 + x207 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x207 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x196, (2, 3, 4, 0), (2, 3, 4, 1)) + del x196 + t2new_abab[np.ix_(soa,sob,sva,svb)] += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), x207, (2, 0, 3, 4), (2, 3, 1, 4)) + del x207 + x208 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x208 += einsum(f.bb.oo, (0, 1), t2.bbbb[np.ix_(sob,sob,svb,svb)], (2, 1, 3, 4), (0, 2, 3, 4)) + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x208, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x208, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 + del x208 + x209 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x209 += einsum(f.bb.vv, (0, 1), t2.bbbb[np.ix_(sob,sob,svb,svb)], (2, 3, 4, 1), (2, 3, 0, 4)) + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x209, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x209, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 + del x209 + x210 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x210 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.bbbb.ooov, (2, 0, 3, 4), (2, 3, 1, 4)) + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x210, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x210, (0, 1, 2, 3), (1, 0, 2, 3)) + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x210, (0, 1, 2, 3), (0, 1, 3, 2)) + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x210, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x210 + x211 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x211 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), v.bbbb.oooo, (4, 0, 5, 1), (4, 5, 2, 3)) + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x211, (0, 1, 2, 3), (1, 0, 3, 2)) + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x211, (0, 1, 2, 3), (1, 0, 3, 2)) + del x211 + x212 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x212 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), v.bbbb.oovv, (4, 1, 5, 3), (0, 4, 2, 5)) + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x212, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x212, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x212, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x212, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 + del x212 + x213 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x213 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), v.bbbb.vvvv, (4, 2, 5, 3), (0, 1, 4, 5)) + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x213, (0, 1, 2, 3), (1, 0, 3, 2)) + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x213, (0, 1, 2, 3), (1, 0, 3, 2)) + del x213 + x214 = np.zeros((naocc[1], navir[1], navir[1], nocc[1]), dtype=types[float]) + x214 += einsum(v.aabb.OVoO, (0, 1, 2, 3), t3.babbab, (4, 0, 3, 5, 1, 6), (4, 5, 6, 2)) + t2new_bbbb[np.ix_(sob,sOb,sVb,sVb)] += einsum(x214, (0, 1, 2, 3), (3, 0, 2, 1)) * -2.0 + t2new_bbbb[np.ix_(sOb,sob,sVb,sVb)] += einsum(x214, (0, 1, 2, 3), (0, 3, 2, 1)) * 2.0 + del x214 + x215 = np.zeros((naocc[1], naocc[1], navir[1], nvir[1]), dtype=types[float]) + x215 += einsum(v.aabb.OVvV, (0, 1, 2, 3), t3.babbab, (4, 0, 5, 6, 1, 3), (4, 5, 6, 2)) + t2new_bbbb[np.ix_(sOb,sOb,svb,sVb)] += einsum(x215, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 + t2new_bbbb[np.ix_(sOb,sOb,sVb,svb)] += einsum(x215, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + del x215 + x216 = np.zeros((naocc[1], navir[1], navir[1], nocc[1]), dtype=types[float]) + x216 += einsum(v.bbbb.oOOV, (0, 1, 2, 3), t3.bbbbbb, (4, 1, 2, 5, 6, 3), (4, 5, 6, 0)) * -1.0 + t2new_bbbb[np.ix_(sob,sOb,sVb,sVb)] += einsum(x216, (0, 1, 2, 3), (3, 0, 2, 1)) * 6.0 + t2new_bbbb[np.ix_(sOb,sob,sVb,sVb)] += einsum(x216, (0, 1, 2, 3), (0, 3, 2, 1)) * -6.0 + del x216 + x217 = np.zeros((naocc[1], naocc[1], navir[1], nvir[1]), dtype=types[float]) + x217 += einsum(v.bbbb.vVOV, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 2, 6, 1, 3), (4, 5, 6, 0)) * -1.0 + t2new_bbbb[np.ix_(sOb,sOb,svb,sVb)] += einsum(x217, (0, 1, 2, 3), (0, 1, 3, 2)) * 6.0 + t2new_bbbb[np.ix_(sOb,sOb,sVb,svb)] += einsum(x217, (0, 1, 2, 3), (0, 1, 2, 3)) * -6.0 + del x217 + x218 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x218 += einsum(x4, (0, 1), t2.bbbb[np.ix_(sob,sob,svb,svb)], (2, 0, 3, 4), (1, 2, 3, 4)) + del x4 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x218, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x218, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 + del x218 + x219 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x219 += einsum(f.bb.ov, (0, 1), t2.bbbb[np.ix_(sob,sob,svb,svb)], (2, 3, 4, 1), (0, 2, 3, 4)) + x220 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x220 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x219, (0, 2, 3, 4), (2, 3, 1, 4)) + del x219 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x220, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x220, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 + del x220 + x221 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x221 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.bbbb.oovv, (2, 3, 4, 1), (0, 2, 3, 4)) + x222 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x222 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x221, (2, 3, 0, 4), (2, 3, 1, 4)) + del x221 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x222, (0, 1, 2, 3), (0, 1, 2, 3)) + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x222, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x222, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x222, (0, 1, 2, 3), (1, 0, 3, 2)) + del x222 + x223 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x223 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.bbbb.oooo, (2, 3, 4, 0), (2, 3, 4, 1)) + x224 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x224 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x223, (2, 0, 3, 4), (2, 3, 1, 4)) + del x223 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x224, (0, 1, 2, 3), (0, 1, 2, 3)) + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x224, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x224 + x225 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x225 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x16, (2, 3, 0, 4), (2, 3, 1, 4)) + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x225, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x225, (0, 1, 2, 3), (0, 1, 3, 2)) + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x225, (0, 1, 2, 3), (1, 0, 2, 3)) + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x225, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x225 + x226 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x226 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.bbbb.vvvv, (2, 3, 4, 1), (0, 2, 3, 4)) + x227 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x227 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x226, (2, 3, 1, 4), (0, 2, 3, 4)) + del x226 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x227, (0, 1, 2, 3), (0, 1, 2, 3)) + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x227, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x227 + x228 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x228 += einsum(x6, (0, 1), t2.bbbb[np.ix_(sob,sob,svb,svb)], (2, 1, 3, 4), (2, 0, 3, 4)) + del x6 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x228, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x228, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 + del x228 + x229 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x229 += einsum(x5, (0, 1), t2.bbbb[np.ix_(sob,sob,svb,svb)], (2, 3, 4, 1), (2, 3, 4, 0)) + del x5 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x229, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x229, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 + del x229 + x230 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x230 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x143, (0, 4, 2, 5), (4, 1, 3, 5)) + del x143 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x230, (0, 1, 2, 3), (0, 1, 3, 2)) + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x230, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x230, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x230, (0, 1, 2, 3), (1, 0, 2, 3)) + del x230 + x231 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x231 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.ovoo, (0, 2, 4, 5), (1, 4, 5, 3)) + x232 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x232 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x231, (2, 3, 0, 4), (2, 3, 1, 4)) + del x231 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x232, (0, 1, 2, 3), (0, 1, 2, 3)) + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x232, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x232, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x232, (0, 1, 2, 3), (1, 0, 3, 2)) + del x232 + x233 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x233 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.bbbb.ooov, (2, 3, 4, 1), (0, 2, 3, 4)) + x234 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x234 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x233, (4, 5, 0, 1), (4, 5, 2, 3)) + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x234, (0, 1, 2, 3), (0, 1, 3, 2)) + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x234, (0, 1, 2, 3), (0, 1, 3, 2)) + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x234, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x234, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x234 + x235 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x235 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), v.bbbb.ooov, (4, 5, 1, 3), (0, 4, 5, 2)) + x236 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x236 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x235, (2, 3, 0, 4), (2, 3, 1, 4)) + del x235 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x236, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x236, (0, 1, 2, 3), (1, 0, 2, 3)) * -2.0 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x236, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x236, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 + del x236 + x237 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x237 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), v.bbbb.ooov, (4, 1, 5, 3), (0, 4, 5, 2)) + x238 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x238 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x237, (2, 3, 0, 4), (2, 3, 1, 4)) + del x237 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x238, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x238, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x238, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x238, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 + del x238 + x239 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x239 += einsum(x7, (0, 1), t2.bbbb[np.ix_(sob,sob,svb,svb)], (2, 1, 3, 4), (2, 0, 3, 4)) + del x7 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x239, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x239, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 + del x239 + x240 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x240 += einsum(x8, (0, 1), t2.bbbb[np.ix_(sob,sob,svb,svb)], (2, 1, 3, 4), (2, 0, 3, 4)) + del x8 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x240, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x240, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 + del x240 + x241 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x241 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x163, (4, 1, 5, 3), (4, 0, 2, 5)) + del x163 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x241, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x241, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x241, (0, 1, 2, 3), (1, 0, 2, 3)) * -2.0 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x241, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 + del x241 + x242 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x242 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x164, (4, 1, 3, 5), (4, 0, 2, 5)) + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x242, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x242, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x242, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x242, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 + del x242 + x243 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x243 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), v.bbbb.ovvv, (4, 2, 5, 3), (0, 1, 4, 5)) + x244 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x244 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x243, (2, 3, 0, 4), (2, 3, 1, 4)) + del x243 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x244, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x244, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x244, (0, 1, 2, 3), (0, 1, 3, 2)) + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x244, (0, 1, 2, 3), (0, 1, 3, 2)) + del x244 + x245 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x245 += einsum(x10, (0, 1), t2.bbbb[np.ix_(sob,sob,svb,svb)], (2, 3, 4, 1), (2, 3, 4, 0)) + del x10 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x245, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x245, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 + del x245 + x246 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x246 += einsum(x9, (0, 1), t2.bbbb[np.ix_(sob,sob,svb,svb)], (2, 3, 4, 0), (2, 3, 4, 1)) + del x9 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x246, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x246, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 + del x246 + x247 = np.zeros((naocc[1], navir[1], navir[1], nocc[1]), dtype=types[float]) + x247 += einsum(x170, (0, 1, 2, 3), t3.babbab, (4, 0, 1, 5, 2, 6), (4, 5, 6, 3)) + del x170 + t2new_bbbb[np.ix_(sob,sOb,sVb,sVb)] += einsum(x247, (0, 1, 2, 3), (3, 0, 2, 1)) * -2.0 + t2new_bbbb[np.ix_(sOb,sob,sVb,sVb)] += einsum(x247, (0, 1, 2, 3), (0, 3, 2, 1)) * 2.0 + del x247 + x248 = np.zeros((naocc[1], naocc[1], navir[1], nocc[1]), dtype=types[float]) + x248 += einsum(v.aabb.OVoV, (0, 1, 2, 3), t3.babbab, (4, 0, 5, 6, 1, 3), (4, 5, 6, 2)) + x249 = np.zeros((naocc[1], naocc[1], navir[1], nvir[1]), dtype=types[float]) + x249 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x248, (2, 3, 4, 0), (3, 2, 4, 1)) * -1.0 + del x248 + t2new_bbbb[np.ix_(sOb,sOb,svb,sVb)] += einsum(x249, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 + t2new_bbbb[np.ix_(sOb,sOb,sVb,svb)] += einsum(x249, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 + del x249 + x250 = np.zeros((naocc[1], navir[1], navir[1], nocc[1]), dtype=types[float]) + x250 += einsum(x172, (0, 1, 2, 3), t3.bbbbbb, (4, 0, 1, 5, 6, 2), (4, 5, 6, 3)) + del x172 + t2new_bbbb[np.ix_(sob,sOb,sVb,sVb)] += einsum(x250, (0, 1, 2, 3), (3, 0, 2, 1)) * 3.0 + t2new_bbbb[np.ix_(sOb,sob,sVb,sVb)] += einsum(x250, (0, 1, 2, 3), (0, 3, 2, 1)) * -3.0 + del x250 + x251 = np.zeros((naocc[1], navir[1], navir[1], nocc[1]), dtype=types[float]) + x251 += einsum(x173, (0, 1, 2, 3), t3.bbbbbb, (4, 1, 0, 5, 6, 2), (4, 5, 6, 3)) * -1.0 + del x173 + t2new_bbbb[np.ix_(sob,sOb,sVb,sVb)] += einsum(x251, (0, 1, 2, 3), (3, 0, 2, 1)) * 3.0 + t2new_bbbb[np.ix_(sOb,sob,sVb,sVb)] += einsum(x251, (0, 1, 2, 3), (0, 3, 2, 1)) * -3.0 + del x251 + x252 = np.zeros((naocc[1], naocc[1], navir[1], nocc[1]), dtype=types[float]) + x252 += einsum(v.bbbb.oVOV, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 2, 6, 3, 1), (4, 5, 6, 0)) + x253 = np.zeros((naocc[1], naocc[1], navir[1], nvir[1]), dtype=types[float]) + x253 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x252, (2, 3, 4, 0), (3, 2, 4, 1)) * -1.0 + del x252 + t2new_bbbb[np.ix_(sOb,sOb,svb,sVb)] += einsum(x253, (0, 1, 2, 3), (0, 1, 3, 2)) * -6.0 + t2new_bbbb[np.ix_(sOb,sOb,sVb,svb)] += einsum(x253, (0, 1, 2, 3), (0, 1, 2, 3)) * 6.0 + del x253 + x254 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x254 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x144, (0, 4, 2, 5), (4, 1, 5, 3)) + del x144 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x254, (0, 1, 2, 3), (1, 0, 3, 2)) + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x254, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x254 + x255 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x255 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x186, (0, 4, 2, 5), (4, 1, 5, 3)) + del x186 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x255, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x255, (0, 1, 2, 3), (1, 0, 2, 3)) + del x255 + x256 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x256 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x145, (0, 4, 2, 5), (1, 4, 3, 5)) + del x145 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x256, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x256, (0, 1, 2, 3), (1, 0, 2, 3)) * -2.0 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x256, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x256, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + del x256 + x257 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x257 += einsum(x14, (0, 1), t2.bbbb[np.ix_(sob,sob,svb,svb)], (2, 1, 3, 4), (2, 0, 3, 4)) + del x14 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x257, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x257, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 + del x257 + x258 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x258 += einsum(x176, (0, 1), t2.bbbb[np.ix_(sob,sob,svb,svb)], (2, 3, 4, 1), (2, 3, 4, 0)) + del x176 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x258, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x258, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 + del x258 + x259 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x259 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x179, (4, 1, 5, 3), (0, 4, 2, 5)) + del x179 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x259, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.0 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x259, (0, 1, 2, 3), (0, 1, 3, 2)) * -4.0 + del x259 + x260 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x260 += einsum(x18, (0, 1), t2.bbbb[np.ix_(sob,sob,svb,svb)], (2, 1, 3, 4), (2, 0, 3, 4)) + del x18 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x260, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x260, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x260, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x260, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 + del x260 + x261 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x261 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x181, (4, 1, 5, 3), (0, 4, 2, 5)) + del x181 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x261, (0, 1, 2, 3), (0, 1, 2, 3)) * -4.0 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x261, (0, 1, 2, 3), (0, 1, 3, 2)) * 4.0 + del x261 + x262 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x262 += einsum(x182, (0, 1), t2.bbbb[np.ix_(sob,sob,svb,svb)], (2, 3, 4, 1), (2, 3, 4, 0)) + del x182 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x262, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x262, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x262, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x262, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 + del x262 + x263 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x263 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), v.bbbb.ovov, (4, 2, 5, 3), (0, 1, 4, 5)) + x264 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x264 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x263, (4, 5, 0, 1), (5, 4, 2, 3)) * -1.0 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x264, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x264, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x264 + x265 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x265 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x233, (2, 3, 4, 0), (2, 4, 3, 1)) + del x233 + x266 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x266 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x265, (2, 0, 3, 4), (2, 3, 1, 4)) + del x265 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x266, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x266, (0, 1, 2, 3), (0, 1, 3, 2)) + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x266, (0, 1, 2, 3), (1, 0, 2, 3)) + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x266, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x266 + x267 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x267 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x164, (2, 3, 1, 4), (0, 2, 3, 4)) + del x164 + x268 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x268 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x267, (2, 3, 0, 4), (2, 3, 1, 4)) + del x267 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x268, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x268, (0, 1, 2, 3), (1, 0, 2, 3)) + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x268, (0, 1, 2, 3), (0, 1, 3, 2)) + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x268, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x268 + x269 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x269 += einsum(x21, (0, 1), t2.bbbb[np.ix_(sob,sob,svb,svb)], (2, 1, 3, 4), (0, 2, 3, 4)) + del x21 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x269, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x269, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 + del x269 + x270 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x270 += einsum(x0, (0, 1), t2.bbbb[np.ix_(sob,sob,svb,svb)], (2, 3, 4, 1), (2, 3, 0, 4)) + x271 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x271 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x270, (2, 3, 0, 4), (2, 3, 1, 4)) + del x270 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x271, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x271, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 + del x271 + x272 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x272 += einsum(t2.abab[np.ix_(soa,sob,sva,svb)], (0, 1, 2, 3), x13, (0, 4, 5, 2), (4, 1, 5, 3)) + del x13 + x273 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x273 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x272, (2, 3, 0, 4), (2, 3, 1, 4)) + del x272 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x273, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x273, (0, 1, 2, 3), (0, 1, 3, 2)) + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x273, (0, 1, 2, 3), (1, 0, 2, 3)) + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x273, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x273 + x274 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x274 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x16, (2, 3, 4, 1), (2, 0, 4, 3)) + x275 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x275 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x274, (4, 5, 0, 1), (5, 4, 2, 3)) * -1.0 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x275, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x275, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x275 + x276 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x276 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x16, (4, 1, 5, 3), (4, 0, 5, 2)) + x277 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x277 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x276, (2, 3, 0, 4), (2, 3, 1, 4)) + del x276 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x277, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x277, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x277, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x277, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 + del x277 + x278 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x278 += einsum(t2.bbbb[np.ix_(sob,sob,svb,svb)], (0, 1, 2, 3), x16, (4, 5, 1, 3), (4, 0, 5, 2)) + del x16 + x279 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x279 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x278, (2, 3, 0, 4), (2, 3, 1, 4)) + del x278 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x279, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x279, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x279, (0, 1, 2, 3), (1, 0, 2, 3)) * -2.0 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x279, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 + del x279 + x280 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x280 += einsum(x22, (0, 1), t2.bbbb[np.ix_(sob,sob,svb,svb)], (2, 1, 3, 4), (0, 2, 3, 4)) + del x22 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x280, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x280, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 + del x280 + x281 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x281 += einsum(x23, (0, 1), t2.bbbb[np.ix_(sob,sob,svb,svb)], (2, 1, 3, 4), (0, 2, 3, 4)) + del x23 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x281, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x281, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 + del x281 + x282 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x282 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x263, (2, 3, 0, 4), (2, 3, 4, 1)) * -1.0 + del x263 + x283 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x283 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x282, (2, 3, 0, 4), (2, 3, 4, 1)) * -1.0 + del x282 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x283, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x283, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x283 + x284 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x284 += einsum(x1, (0, 1), t2.bbbb[np.ix_(sob,sob,svb,svb)], (2, 3, 4, 1), (2, 3, 0, 4)) + x285 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x285 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x284, (2, 3, 0, 4), (2, 3, 1, 4)) + del x284 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x285, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x285, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 + del x285 + x286 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x286 += einsum(x20, (0, 1), t2.bbbb[np.ix_(sob,sob,svb,svb)], (2, 3, 4, 1), (2, 3, 0, 4)) + x287 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x287 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x286, (2, 3, 0, 4), (2, 3, 1, 4)) + del x286 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x287, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x287, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 + del x287 + x288 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x288 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x274, (2, 3, 0, 4), (3, 2, 4, 1)) + del x274 + x289 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x289 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), x288, (2, 3, 0, 4), (2, 3, 1, 4)) + del x288 + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x289, (0, 1, 2, 3), (0, 1, 2, 3)) + t2new_bbbb[np.ix_(sob,sob,svb,svb)] += einsum(x289, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x289 + x290 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) + x290 += einsum(f.aa.OO, (0, 1), t3.aaaaaa, (2, 3, 1, 4, 5, 6), (0, 2, 3, 4, 5, 6)) + t3new_aaaaaa = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) + t3new_aaaaaa += einsum(x290, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 6.0 + t3new_aaaaaa += einsum(x290, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * 6.0 + t3new_aaaaaa += einsum(x290, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -6.0 + del x290 + x291 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) + x291 += einsum(f.aa.VV, (0, 1), t3.aaaaaa, (2, 3, 4, 5, 6, 1), (2, 3, 4, 0, 5, 6)) + t3new_aaaaaa += einsum(x291, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -6.0 + t3new_aaaaaa += einsum(x291, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * 6.0 + t3new_aaaaaa += einsum(x291, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -6.0 + del x291 + x292 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) + x292 += einsum(t2.aaaa[np.ix_(soa,sOa,sVa,sVa)], (0, 1, 2, 3), v.aaaa.oOOV, (0, 4, 5, 6), (1, 5, 4, 2, 3, 6)) * -1.0 + t3new_aaaaaa += einsum(x292, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 2.0 + t3new_aaaaaa += einsum(x292, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 + t3new_aaaaaa += einsum(x292, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 2.0 + t3new_aaaaaa += einsum(x292, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -2.0 + t3new_aaaaaa += einsum(x292, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 2.0 + t3new_aaaaaa += einsum(x292, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -2.0 + t3new_aaaaaa += einsum(x292, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -2.0 + t3new_aaaaaa += einsum(x292, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * 2.0 + t3new_aaaaaa += einsum(x292, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) * -2.0 + t3new_aaaaaa += einsum(x292, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 + t3new_aaaaaa += einsum(x292, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -2.0 + t3new_aaaaaa += einsum(x292, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * 2.0 + t3new_aaaaaa += einsum(x292, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * 2.0 + t3new_aaaaaa += einsum(x292, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -2.0 + t3new_aaaaaa += einsum(x292, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * 2.0 + t3new_aaaaaa += einsum(x292, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * -2.0 + t3new_aaaaaa += einsum(x292, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 2.0 + t3new_aaaaaa += einsum(x292, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -2.0 + del x292 + x293 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) + x293 += einsum(t2.aaaa[np.ix_(sOa,sOa,sva,sVa)], (0, 1, 2, 3), v.aaaa.vVOV, (2, 4, 5, 6), (0, 1, 5, 3, 6, 4)) * -1.0 + t3new_aaaaaa += einsum(x293, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -2.0 + t3new_aaaaaa += einsum(x293, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 + t3new_aaaaaa += einsum(x293, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * 2.0 + t3new_aaaaaa += einsum(x293, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -2.0 + t3new_aaaaaa += einsum(x293, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 + t3new_aaaaaa += einsum(x293, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 2.0 + t3new_aaaaaa += einsum(x293, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 2.0 + t3new_aaaaaa += einsum(x293, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -2.0 + t3new_aaaaaa += einsum(x293, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -2.0 + t3new_aaaaaa += einsum(x293, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 2.0 + t3new_aaaaaa += einsum(x293, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 2.0 + t3new_aaaaaa += einsum(x293, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -2.0 + t3new_aaaaaa += einsum(x293, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -2.0 + t3new_aaaaaa += einsum(x293, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * 2.0 + t3new_aaaaaa += einsum(x293, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * 2.0 + t3new_aaaaaa += einsum(x293, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -2.0 + t3new_aaaaaa += einsum(x293, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -2.0 + t3new_aaaaaa += einsum(x293, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * 2.0 + del x293 + x294 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) + x294 += einsum(v.aabb.OVOV, (0, 1, 2, 3), t3.abaaba, (4, 2, 5, 6, 3, 7), (4, 5, 0, 6, 7, 1)) + t3new_aaaaaa += einsum(x294, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * 2.0 + t3new_aaaaaa += einsum(x294, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -2.0 + t3new_aaaaaa += einsum(x294, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * 2.0 + t3new_aaaaaa += einsum(x294, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 2.0 + t3new_aaaaaa += einsum(x294, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 + t3new_aaaaaa += einsum(x294, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 2.0 + t3new_aaaaaa += einsum(x294, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -2.0 + t3new_aaaaaa += einsum(x294, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 2.0 + t3new_aaaaaa += einsum(x294, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -2.0 + del x294 + x295 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) + x295 += einsum(v.aaaa.OOOO, (0, 1, 2, 3), t3.aaaaaa, (4, 3, 1, 5, 6, 7), (4, 0, 2, 5, 6, 7)) * -1.0 + t3new_aaaaaa += einsum(x295, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 6.0 + t3new_aaaaaa += einsum(x295, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -6.0 + t3new_aaaaaa += einsum(x295, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -6.0 + del x295 + x296 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) + x296 += einsum(v.aaaa.OOVV, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 1, 6, 7, 3), (4, 5, 0, 6, 7, 2)) + t3new_aaaaaa += einsum(x296, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -6.0 + t3new_aaaaaa += einsum(x296, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * 6.0 + t3new_aaaaaa += einsum(x296, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -6.0 + t3new_aaaaaa += einsum(x296, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -6.0 + t3new_aaaaaa += einsum(x296, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 6.0 + t3new_aaaaaa += einsum(x296, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -6.0 + t3new_aaaaaa += einsum(x296, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 6.0 + t3new_aaaaaa += einsum(x296, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -6.0 + t3new_aaaaaa += einsum(x296, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 6.0 + del x296 + x297 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) + x297 += einsum(v.aaaa.OVOV, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 2, 6, 7, 3), (4, 5, 0, 6, 7, 1)) + t3new_aaaaaa += einsum(x297, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * 6.0 + t3new_aaaaaa += einsum(x297, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -6.0 + t3new_aaaaaa += einsum(x297, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * 6.0 + t3new_aaaaaa += einsum(x297, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 6.0 + t3new_aaaaaa += einsum(x297, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -6.0 + t3new_aaaaaa += einsum(x297, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 6.0 + t3new_aaaaaa += einsum(x297, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -6.0 + t3new_aaaaaa += einsum(x297, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 6.0 + t3new_aaaaaa += einsum(x297, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -6.0 + del x297 + x298 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) + x298 += einsum(v.aaaa.VVVV, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 6, 7, 3, 1), (4, 5, 6, 7, 0, 2)) * -1.0 + t3new_aaaaaa += einsum(x298, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -6.0 + t3new_aaaaaa += einsum(x298, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * 6.0 + t3new_aaaaaa += einsum(x298, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -6.0 + del x298 + x299 = np.zeros((naocc[0], naocc[0]), dtype=types[float]) + x299 += einsum(f.aa.vO, (0, 1), t1.aa[np.ix_(sOa,sva)], (2, 0), (1, 2)) + t3new_babbab += einsum(x299, (0, 1), t3.babbab, (2, 0, 3, 4, 5, 6), (2, 1, 3, 4, 5, 6)) * -2.0 + x300 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) + x300 += einsum(x299, (0, 1), t3.aaaaaa, (2, 3, 0, 4, 5, 6), (1, 2, 3, 4, 5, 6)) + t3new_aaaaaa += einsum(x300, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 6.0 + t3new_aaaaaa += einsum(x300, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * 6.0 + t3new_aaaaaa += einsum(x300, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -6.0 + del x300 + x301 = np.zeros((navir[0], navir[0]), dtype=types[float]) + x301 += einsum(f.aa.oV, (0, 1), t1.aa[np.ix_(soa,sVa)], (0, 2), (1, 2)) + t3new_babbab += einsum(x301, (0, 1), t3.babbab, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) * -2.0 + x302 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) + x302 += einsum(x301, (0, 1), t3.aaaaaa, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) + t3new_aaaaaa += einsum(x302, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 6.0 + t3new_aaaaaa += einsum(x302, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -6.0 + t3new_aaaaaa += einsum(x302, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 6.0 + del x302 + x303 = np.zeros((naocc[0], naocc[0], navir[0], nocc[0]), dtype=types[float]) + x303 += einsum(f.aa.ov, (0, 1), t2.aaaa[np.ix_(sOa,sOa,sva,sVa)], (2, 3, 1, 4), (2, 3, 4, 0)) * -1.0 + x304 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) + x304 += einsum(t2.aaaa[np.ix_(soa,sOa,sVa,sVa)], (0, 1, 2, 3), x303, (4, 5, 6, 0), (5, 4, 1, 6, 2, 3)) + t3new_aaaaaa += einsum(x304, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 4.0 + t3new_aaaaaa += einsum(x304, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -4.0 + t3new_aaaaaa += einsum(x304, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 4.0 + t3new_aaaaaa += einsum(x304, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * -4.0 + t3new_aaaaaa += einsum(x304, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * 4.0 + t3new_aaaaaa += einsum(x304, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * 4.0 + t3new_aaaaaa += einsum(x304, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -4.0 + t3new_aaaaaa += einsum(x304, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * 4.0 + t3new_aaaaaa += einsum(x304, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -4.0 + del x304 + x305 = np.zeros((naocc[0], naocc[0], navir[0], nocc[0]), dtype=types[float]) + x305 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), v.aaaa.oOvV, (2, 3, 1, 4), (0, 3, 4, 2)) + x306 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) + x306 += einsum(t2.aaaa[np.ix_(soa,sOa,sVa,sVa)], (0, 1, 2, 3), x305, (4, 5, 6, 0), (4, 1, 5, 2, 3, 6)) * -1.0 + t3new_aaaaaa += einsum(x306, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -2.0 + t3new_aaaaaa += einsum(x306, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 2.0 + t3new_aaaaaa += einsum(x306, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 2.0 + t3new_aaaaaa += einsum(x306, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 + t3new_aaaaaa += einsum(x306, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -2.0 + t3new_aaaaaa += einsum(x306, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -2.0 + t3new_aaaaaa += einsum(x306, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * 2.0 + t3new_aaaaaa += einsum(x306, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -2.0 + t3new_aaaaaa += einsum(x306, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -2.0 + t3new_aaaaaa += einsum(x306, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * -2.0 + t3new_aaaaaa += einsum(x306, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * 2.0 + t3new_aaaaaa += einsum(x306, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) * 2.0 + t3new_aaaaaa += einsum(x306, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -2.0 + t3new_aaaaaa += einsum(x306, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * 2.0 + t3new_aaaaaa += einsum(x306, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * 2.0 + t3new_aaaaaa += einsum(x306, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * 2.0 + t3new_aaaaaa += einsum(x306, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -2.0 + t3new_aaaaaa += einsum(x306, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -2.0 + del x306 + x307 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], nocc[0]), dtype=types[float]) + x307 += einsum(t2.aaaa[np.ix_(soa,sOa,sVa,sVa)], (0, 1, 2, 3), v.aaaa.oOoO, (4, 5, 0, 6), (1, 5, 6, 2, 3, 4)) * -1.0 + x308 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) + x308 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x307, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) + del x307 + t3new_aaaaaa += einsum(x308, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 2.0 + t3new_aaaaaa += einsum(x308, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 + t3new_aaaaaa += einsum(x308, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * -2.0 + t3new_aaaaaa += einsum(x308, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) * 2.0 + t3new_aaaaaa += einsum(x308, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * 2.0 + t3new_aaaaaa += einsum(x308, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -2.0 + t3new_aaaaaa += einsum(x308, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -2.0 + t3new_aaaaaa += einsum(x308, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 2.0 + t3new_aaaaaa += einsum(x308, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 + t3new_aaaaaa += einsum(x308, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -2.0 + t3new_aaaaaa += einsum(x308, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -2.0 + t3new_aaaaaa += einsum(x308, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * 2.0 + t3new_aaaaaa += einsum(x308, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 2.0 + t3new_aaaaaa += einsum(x308, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -2.0 + t3new_aaaaaa += einsum(x308, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -2.0 + t3new_aaaaaa += einsum(x308, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) * 2.0 + t3new_aaaaaa += einsum(x308, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * 2.0 + t3new_aaaaaa += einsum(x308, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -2.0 + del x308 + x309 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], nocc[0]), dtype=types[float]) + x309 += einsum(t2.aaaa[np.ix_(sOa,sOa,sva,sVa)], (0, 1, 2, 3), v.aaaa.oOvV, (4, 5, 2, 6), (0, 1, 5, 3, 6, 4)) * -1.0 + x310 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) + x310 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x309, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) + del x309 + t3new_aaaaaa += einsum(x310, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * 2.0 + t3new_aaaaaa += einsum(x310, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 + t3new_aaaaaa += einsum(x310, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -2.0 + t3new_aaaaaa += einsum(x310, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 2.0 + t3new_aaaaaa += einsum(x310, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * 2.0 + t3new_aaaaaa += einsum(x310, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -2.0 + t3new_aaaaaa += einsum(x310, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -2.0 + t3new_aaaaaa += einsum(x310, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 2.0 + t3new_aaaaaa += einsum(x310, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 2.0 + t3new_aaaaaa += einsum(x310, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -2.0 + t3new_aaaaaa += einsum(x310, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -2.0 + t3new_aaaaaa += einsum(x310, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * 2.0 + t3new_aaaaaa += einsum(x310, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 + t3new_aaaaaa += einsum(x310, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -2.0 + t3new_aaaaaa += einsum(x310, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -2.0 + t3new_aaaaaa += einsum(x310, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 2.0 + t3new_aaaaaa += einsum(x310, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * 2.0 + t3new_aaaaaa += einsum(x310, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -2.0 + del x310 + x311 = np.zeros((naocc[0], naocc[0], navir[0], nocc[0]), dtype=types[float]) + x311 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), v.aaaa.ovOV, (2, 1, 3, 4), (0, 3, 4, 2)) + x312 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) + x312 += einsum(t2.aaaa[np.ix_(soa,sOa,sVa,sVa)], (0, 1, 2, 3), x311, (4, 5, 6, 0), (4, 1, 5, 2, 3, 6)) * -1.0 + t3new_aaaaaa += einsum(x312, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -2.0 + t3new_aaaaaa += einsum(x312, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 2.0 + t3new_aaaaaa += einsum(x312, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -2.0 + t3new_aaaaaa += einsum(x312, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 2.0 + t3new_aaaaaa += einsum(x312, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 + t3new_aaaaaa += einsum(x312, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 2.0 + t3new_aaaaaa += einsum(x312, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * 2.0 + t3new_aaaaaa += einsum(x312, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -2.0 + t3new_aaaaaa += einsum(x312, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 + t3new_aaaaaa += einsum(x312, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) * -2.0 + t3new_aaaaaa += einsum(x312, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * 2.0 + t3new_aaaaaa += einsum(x312, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -2.0 + t3new_aaaaaa += einsum(x312, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -2.0 + t3new_aaaaaa += einsum(x312, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 2.0 + t3new_aaaaaa += einsum(x312, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * -2.0 + t3new_aaaaaa += einsum(x312, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * 2.0 + t3new_aaaaaa += einsum(x312, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -2.0 + t3new_aaaaaa += einsum(x312, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * 2.0 + del x312 + x313 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], nocc[0]), dtype=types[float]) + x313 += einsum(t2.aaaa[np.ix_(sOa,sOa,sva,sVa)], (0, 1, 2, 3), v.aaaa.ovOV, (4, 2, 5, 6), (0, 1, 5, 3, 6, 4)) * -1.0 + x314 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) + x314 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x313, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) + del x313 + t3new_aaaaaa += einsum(x314, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.0 + t3new_aaaaaa += einsum(x314, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -2.0 + t3new_aaaaaa += einsum(x314, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -2.0 + t3new_aaaaaa += einsum(x314, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 2.0 + t3new_aaaaaa += einsum(x314, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * 2.0 + t3new_aaaaaa += einsum(x314, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -2.0 + t3new_aaaaaa += einsum(x314, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -2.0 + t3new_aaaaaa += einsum(x314, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 2.0 + t3new_aaaaaa += einsum(x314, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * 2.0 + t3new_aaaaaa += einsum(x314, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -2.0 + t3new_aaaaaa += einsum(x314, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * -2.0 + t3new_aaaaaa += einsum(x314, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * 2.0 + t3new_aaaaaa += einsum(x314, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 2.0 + t3new_aaaaaa += einsum(x314, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 + t3new_aaaaaa += einsum(x314, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -2.0 + t3new_aaaaaa += einsum(x314, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 2.0 + t3new_aaaaaa += einsum(x314, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * 2.0 + t3new_aaaaaa += einsum(x314, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -2.0 + del x314 + x315 = np.zeros((naocc[0], naocc[0], navir[0], navir[0], navir[0], nvir[0]), dtype=types[float]) + x315 += einsum(t2.aaaa[np.ix_(sOa,sOa,sva,sVa)], (0, 1, 2, 3), v.aaaa.vVvV, (4, 5, 2, 6), (0, 1, 3, 5, 6, 4)) * -1.0 + x316 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) + x316 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), x315, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) + del x315 + t3new_aaaaaa += einsum(x316, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -2.0 + t3new_aaaaaa += einsum(x316, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 + t3new_aaaaaa += einsum(x316, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 2.0 + t3new_aaaaaa += einsum(x316, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -2.0 + t3new_aaaaaa += einsum(x316, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * 2.0 + t3new_aaaaaa += einsum(x316, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 + t3new_aaaaaa += einsum(x316, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -2.0 + t3new_aaaaaa += einsum(x316, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * 2.0 + t3new_aaaaaa += einsum(x316, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 + t3new_aaaaaa += einsum(x316, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -2.0 + t3new_aaaaaa += einsum(x316, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * 2.0 + t3new_aaaaaa += einsum(x316, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * -2.0 + t3new_aaaaaa += einsum(x316, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * 2.0 + t3new_aaaaaa += einsum(x316, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -2.0 + t3new_aaaaaa += einsum(x316, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -2.0 + t3new_aaaaaa += einsum(x316, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * 2.0 + t3new_aaaaaa += einsum(x316, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) * -2.0 + t3new_aaaaaa += einsum(x316, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * 2.0 + del x316 + x317 = np.zeros((naocc[0], naocc[1], navir[0], navir[1]), dtype=types[float]) + x317 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), v.aabb.oOOV, (0, 2, 3, 4), (2, 3, 1, 4)) + t3new_babbab += einsum(x317, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 1, 6, 7, 3), (4, 0, 5, 6, 2, 7)) * -6.0 + x318 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) + x318 += einsum(x317, (0, 1, 2, 3), t3.abaaba, (4, 1, 5, 6, 3, 7), (4, 5, 0, 2, 6, 7)) + t3new_aaaaaa += einsum(x318, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -2.0 + t3new_aaaaaa += einsum(x318, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 + t3new_aaaaaa += einsum(x318, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 2.0 + t3new_aaaaaa += einsum(x318, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * 2.0 + t3new_aaaaaa += einsum(x318, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 2.0 + t3new_aaaaaa += einsum(x318, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -2.0 + t3new_aaaaaa += einsum(x318, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -2.0 + t3new_aaaaaa += einsum(x318, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -2.0 + t3new_aaaaaa += einsum(x318, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 2.0 + del x318 + x319 = np.zeros((naocc[0], naocc[1], navir[0], navir[1]), dtype=types[float]) + x319 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), v.aabb.vVOV, (1, 2, 3, 4), (0, 3, 2, 4)) + t3new_babbab += einsum(x319, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 1, 6, 7, 3), (4, 0, 5, 6, 2, 7)) * 6.0 + x320 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) + x320 += einsum(x319, (0, 1, 2, 3), t3.abaaba, (4, 1, 5, 6, 3, 7), (0, 4, 5, 6, 7, 2)) + t3new_aaaaaa += einsum(x320, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 2.0 + t3new_aaaaaa += einsum(x320, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 + t3new_aaaaaa += einsum(x320, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 2.0 + t3new_aaaaaa += einsum(x320, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * 2.0 + t3new_aaaaaa += einsum(x320, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -2.0 + t3new_aaaaaa += einsum(x320, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 + t3new_aaaaaa += einsum(x320, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -2.0 + t3new_aaaaaa += einsum(x320, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 2.0 + t3new_aaaaaa += einsum(x320, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * -2.0 + del x320 + x321 = np.zeros((naocc[0], naocc[0], naocc[0], naocc[0]), dtype=types[float]) + x321 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), v.aaaa.vOOO, (1, 2, 3, 4), (0, 3, 4, 2)) + x322 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) + x322 += einsum(x321, (0, 1, 2, 3), t3.aaaaaa, (4, 3, 2, 5, 6, 7), (0, 4, 1, 5, 6, 7)) * -1.0 + t3new_aaaaaa += einsum(x322, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -6.0 + t3new_aaaaaa += einsum(x322, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 6.0 + t3new_aaaaaa += einsum(x322, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * 6.0 + t3new_aaaaaa += einsum(x322, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -6.0 + t3new_aaaaaa += einsum(x322, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -6.0 + t3new_aaaaaa += einsum(x322, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 6.0 + del x322 + x323 = np.zeros((naocc[0], naocc[0], navir[0], navir[0]), dtype=types[float]) + x323 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), v.aaaa.oOOV, (0, 2, 3, 4), (3, 2, 1, 4)) + t3new_babbab += einsum(x323, (0, 1, 2, 3), t3.babbab, (4, 0, 5, 6, 3, 7), (4, 1, 5, 6, 2, 7)) * -2.0 + x324 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) + x324 += einsum(x323, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 0, 6, 7, 3), (4, 5, 1, 2, 6, 7)) + t3new_aaaaaa += einsum(x324, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -6.0 + t3new_aaaaaa += einsum(x324, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -6.0 + t3new_aaaaaa += einsum(x324, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 6.0 + t3new_aaaaaa += einsum(x324, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * 6.0 + t3new_aaaaaa += einsum(x324, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 6.0 + t3new_aaaaaa += einsum(x324, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -6.0 + t3new_aaaaaa += einsum(x324, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -6.0 + t3new_aaaaaa += einsum(x324, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -6.0 + t3new_aaaaaa += einsum(x324, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 6.0 + del x324 + x325 = np.zeros((naocc[0], naocc[0], navir[0], navir[0]), dtype=types[float]) + x325 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), v.aaaa.oVOO, (0, 2, 3, 4), (3, 4, 1, 2)) + t3new_babbab += einsum(x325, (0, 1, 2, 3), t3.babbab, (4, 1, 5, 6, 3, 7), (4, 0, 5, 6, 2, 7)) * 2.0 + x326 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) + x326 += einsum(x325, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 1, 6, 7, 3), (4, 5, 0, 2, 6, 7)) + t3new_aaaaaa += einsum(x326, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * 6.0 + t3new_aaaaaa += einsum(x326, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 6.0 + t3new_aaaaaa += einsum(x326, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -6.0 + t3new_aaaaaa += einsum(x326, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * -6.0 + t3new_aaaaaa += einsum(x326, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -6.0 + t3new_aaaaaa += einsum(x326, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * 6.0 + t3new_aaaaaa += einsum(x326, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * 6.0 + t3new_aaaaaa += einsum(x326, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 6.0 + t3new_aaaaaa += einsum(x326, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -6.0 + del x326 + x327 = np.zeros((naocc[0], naocc[0]), dtype=types[float]) + x327 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aaaa.oOvO, (0, 2, 1, 3), (2, 3)) + t3new_babbab += einsum(x327, (0, 1), t3.babbab, (2, 1, 3, 4, 5, 6), (2, 0, 3, 4, 5, 6)) * 2.0 + x328 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) + x328 += einsum(x327, (0, 1), t3.aaaaaa, (2, 3, 1, 4, 5, 6), (2, 3, 0, 4, 5, 6)) + t3new_aaaaaa += einsum(x328, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -6.0 + t3new_aaaaaa += einsum(x328, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -6.0 + t3new_aaaaaa += einsum(x328, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 6.0 + del x328 + x329 = np.zeros((naocc[0], naocc[0]), dtype=types[float]) + x329 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aaaa.ovOO, (0, 1, 2, 3), (2, 3)) + t3new_babbab += einsum(x329, (0, 1), t3.babbab, (2, 1, 3, 4, 5, 6), (2, 0, 3, 4, 5, 6)) * -2.0 + x330 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) + x330 += einsum(x329, (0, 1), t3.aaaaaa, (2, 3, 1, 4, 5, 6), (2, 3, 0, 4, 5, 6)) + t3new_aaaaaa += einsum(x330, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * 6.0 + t3new_aaaaaa += einsum(x330, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 6.0 + t3new_aaaaaa += einsum(x330, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -6.0 + del x330 + x331 = np.zeros((naocc[0], naocc[0], navir[0], navir[0]), dtype=types[float]) + x331 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), v.aaaa.vOVV, (1, 2, 3, 4), (0, 2, 3, 4)) + t3new_babbab += einsum(x331, (0, 1, 2, 3), t3.babbab, (4, 1, 5, 6, 3, 7), (4, 0, 5, 6, 2, 7)) * -2.0 + x332 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) + x332 += einsum(x331, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 1, 6, 7, 3), (0, 4, 5, 6, 7, 2)) + t3new_aaaaaa += einsum(x332, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -6.0 + t3new_aaaaaa += einsum(x332, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 6.0 + t3new_aaaaaa += einsum(x332, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -6.0 + t3new_aaaaaa += einsum(x332, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -6.0 + t3new_aaaaaa += einsum(x332, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * 6.0 + t3new_aaaaaa += einsum(x332, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -6.0 + t3new_aaaaaa += einsum(x332, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * 6.0 + t3new_aaaaaa += einsum(x332, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -6.0 + t3new_aaaaaa += einsum(x332, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * 6.0 + del x332 + x333 = np.zeros((naocc[0], naocc[0], navir[0], navir[0]), dtype=types[float]) + x333 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), v.aaaa.vVOV, (1, 2, 3, 4), (0, 3, 4, 2)) + t3new_babbab += einsum(x333, (0, 1, 2, 3), t3.babbab, (4, 1, 5, 6, 2, 7), (4, 0, 5, 6, 3, 7)) * 2.0 + x334 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) + x334 += einsum(x333, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 1, 6, 7, 2), (0, 4, 5, 6, 7, 3)) + t3new_aaaaaa += einsum(x334, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 6.0 + t3new_aaaaaa += einsum(x334, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -6.0 + t3new_aaaaaa += einsum(x334, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 6.0 + t3new_aaaaaa += einsum(x334, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * 6.0 + t3new_aaaaaa += einsum(x334, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -6.0 + t3new_aaaaaa += einsum(x334, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 6.0 + t3new_aaaaaa += einsum(x334, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -6.0 + t3new_aaaaaa += einsum(x334, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 6.0 + t3new_aaaaaa += einsum(x334, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * -6.0 + del x334 + x335 = np.zeros((navir[0], navir[0], navir[0], navir[0]), dtype=types[float]) + x335 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), v.aaaa.oVVV, (0, 2, 3, 4), (1, 3, 4, 2)) + x336 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) + x336 += einsum(x335, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 6, 7, 2, 3), (4, 5, 6, 0, 7, 1)) + t3new_aaaaaa += einsum(x336, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 6.0 + t3new_aaaaaa += einsum(x336, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -6.0 + t3new_aaaaaa += einsum(x336, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -6.0 + t3new_aaaaaa += einsum(x336, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 6.0 + t3new_aaaaaa += einsum(x336, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 6.0 + t3new_aaaaaa += einsum(x336, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -6.0 + del x336 + x337 = np.zeros((navir[0], navir[0]), dtype=types[float]) + x337 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aaaa.ovVV, (0, 1, 2, 3), (2, 3)) + t3new_babbab += einsum(x337, (0, 1), t3.babbab, (2, 3, 4, 5, 1, 6), (2, 3, 4, 5, 0, 6)) * 2.0 + x338 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) + x338 += einsum(x337, (0, 1), t3.aaaaaa, (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 6, 0)) + t3new_aaaaaa += einsum(x338, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -6.0 + t3new_aaaaaa += einsum(x338, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 6.0 + t3new_aaaaaa += einsum(x338, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -6.0 + del x338 + x339 = np.zeros((navir[0], navir[0]), dtype=types[float]) + x339 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aaaa.oVvV, (0, 2, 1, 3), (2, 3)) + t3new_babbab += einsum(x339, (0, 1), t3.babbab, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) * -2.0 + x340 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) + x340 += einsum(x339, (0, 1), t3.aaaaaa, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 6, 1)) + t3new_aaaaaa += einsum(x340, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 6.0 + t3new_aaaaaa += einsum(x340, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -6.0 + t3new_aaaaaa += einsum(x340, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 6.0 + del x340 + x341 = np.zeros((naocc[0], naocc[0]), dtype=types[float]) + x341 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.aabb.OOov, (2, 3, 0, 1), (2, 3)) + t3new_babbab += einsum(x341, (0, 1), t3.babbab, (2, 1, 3, 4, 5, 6), (2, 0, 3, 4, 5, 6)) * -2.0 + x342 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) + x342 += einsum(x341, (0, 1), t3.aaaaaa, (2, 3, 1, 4, 5, 6), (2, 3, 0, 4, 5, 6)) + t3new_aaaaaa += einsum(x342, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * 6.0 + t3new_aaaaaa += einsum(x342, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 6.0 + t3new_aaaaaa += einsum(x342, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -6.0 + del x342 + x343 = np.zeros((navir[0], navir[0]), dtype=types[float]) + x343 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.aabb.VVov, (2, 3, 0, 1), (2, 3)) + t3new_babbab += einsum(x343, (0, 1), t3.babbab, (2, 3, 4, 5, 1, 6), (2, 3, 4, 5, 0, 6)) * 2.0 + x344 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) + x344 += einsum(x343, (0, 1), t3.aaaaaa, (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 6, 0)) + t3new_aaaaaa += einsum(x344, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -6.0 + t3new_aaaaaa += einsum(x344, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 6.0 + t3new_aaaaaa += einsum(x344, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -6.0 + del x344 + x345 = np.zeros((naocc[0], naocc[0], navir[0], nocc[0]), dtype=types[float]) + x345 += einsum(t2.abab[np.ix_(sOa,sob,sVa,svb)], (0, 1, 2, 3), v.aabb.oOov, (4, 5, 1, 3), (0, 5, 2, 4)) + x346 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) + x346 += einsum(t2.aaaa[np.ix_(soa,sOa,sVa,sVa)], (0, 1, 2, 3), x345, (4, 5, 6, 0), (1, 4, 5, 2, 3, 6)) * -1.0 + t3new_aaaaaa += einsum(x346, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * 2.0 + t3new_aaaaaa += einsum(x346, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -2.0 + t3new_aaaaaa += einsum(x346, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 + t3new_aaaaaa += einsum(x346, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -2.0 + t3new_aaaaaa += einsum(x346, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 2.0 + t3new_aaaaaa += einsum(x346, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * -2.0 + t3new_aaaaaa += einsum(x346, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -2.0 + t3new_aaaaaa += einsum(x346, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 2.0 + t3new_aaaaaa += einsum(x346, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -2.0 + t3new_aaaaaa += einsum(x346, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * 2.0 + t3new_aaaaaa += einsum(x346, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -2.0 + t3new_aaaaaa += einsum(x346, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * 2.0 + t3new_aaaaaa += einsum(x346, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 2.0 + t3new_aaaaaa += einsum(x346, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 + t3new_aaaaaa += einsum(x346, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 2.0 + t3new_aaaaaa += einsum(x346, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) * -2.0 + t3new_aaaaaa += einsum(x346, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * 2.0 + t3new_aaaaaa += einsum(x346, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -2.0 + del x346 + x347 = np.zeros((naocc[0], navir[0], navir[0], nvir[0]), dtype=types[float]) + x347 += einsum(t2.abab[np.ix_(sOa,sob,sVa,svb)], (0, 1, 2, 3), v.aabb.vVov, (4, 5, 1, 3), (0, 2, 5, 4)) + x348 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) + x348 += einsum(t2.aaaa[np.ix_(sOa,sOa,sva,sVa)], (0, 1, 2, 3), x347, (4, 5, 6, 2), (0, 1, 4, 3, 5, 6)) * -1.0 + t3new_aaaaaa += einsum(x348, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -2.0 + t3new_aaaaaa += einsum(x348, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * 2.0 + t3new_aaaaaa += einsum(x348, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * 2.0 + t3new_aaaaaa += einsum(x348, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -2.0 + t3new_aaaaaa += einsum(x348, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -2.0 + t3new_aaaaaa += einsum(x348, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * 2.0 + t3new_aaaaaa += einsum(x348, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -2.0 + t3new_aaaaaa += einsum(x348, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 2.0 + t3new_aaaaaa += einsum(x348, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 + t3new_aaaaaa += einsum(x348, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 + t3new_aaaaaa += einsum(x348, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -2.0 + t3new_aaaaaa += einsum(x348, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * 2.0 + t3new_aaaaaa += einsum(x348, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 2.0 + t3new_aaaaaa += einsum(x348, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -2.0 + t3new_aaaaaa += einsum(x348, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -2.0 + t3new_aaaaaa += einsum(x348, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 2.0 + t3new_aaaaaa += einsum(x348, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 2.0 + t3new_aaaaaa += einsum(x348, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -2.0 + del x348 + x349 = np.zeros((naocc[0], naocc[0], navir[0], nocc[0]), dtype=types[float]) + x349 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sVa)], (0, 1, 2, 3), v.aaaa.ovoO, (0, 2, 4, 5), (1, 5, 3, 4)) + x350 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) + x350 += einsum(t2.aaaa[np.ix_(soa,sOa,sVa,sVa)], (0, 1, 2, 3), x349, (4, 5, 6, 0), (1, 4, 5, 2, 3, 6)) * -1.0 + t3new_aaaaaa += einsum(x350, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 4.0 + t3new_aaaaaa += einsum(x350, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -4.0 + t3new_aaaaaa += einsum(x350, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -4.0 + t3new_aaaaaa += einsum(x350, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * 4.0 + t3new_aaaaaa += einsum(x350, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -4.0 + t3new_aaaaaa += einsum(x350, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 4.0 + t3new_aaaaaa += einsum(x350, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -4.0 + t3new_aaaaaa += einsum(x350, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 4.0 + t3new_aaaaaa += einsum(x350, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 4.0 + t3new_aaaaaa += einsum(x350, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -4.0 + t3new_aaaaaa += einsum(x350, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 4.0 + t3new_aaaaaa += einsum(x350, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * -4.0 + t3new_aaaaaa += einsum(x350, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * 4.0 + t3new_aaaaaa += einsum(x350, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -4.0 + t3new_aaaaaa += einsum(x350, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) * -4.0 + t3new_aaaaaa += einsum(x350, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * 4.0 + t3new_aaaaaa += einsum(x350, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -4.0 + t3new_aaaaaa += einsum(x350, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * 4.0 + del x350 + x351 = np.zeros((naocc[0], naocc[0], navir[0], nocc[0]), dtype=types[float]) + x351 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sVa)], (0, 1, 2, 3), v.aaaa.ovoO, (4, 2, 0, 5), (1, 5, 3, 4)) + x352 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) + x352 += einsum(t2.aaaa[np.ix_(soa,sOa,sVa,sVa)], (0, 1, 2, 3), x351, (4, 5, 6, 0), (1, 4, 5, 2, 3, 6)) * -1.0 + t3new_aaaaaa += einsum(x352, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -4.0 + t3new_aaaaaa += einsum(x352, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * 4.0 + t3new_aaaaaa += einsum(x352, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -4.0 + t3new_aaaaaa += einsum(x352, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -4.0 + t3new_aaaaaa += einsum(x352, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 4.0 + t3new_aaaaaa += einsum(x352, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 4.0 + t3new_aaaaaa += einsum(x352, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * 4.0 + t3new_aaaaaa += einsum(x352, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -4.0 + t3new_aaaaaa += einsum(x352, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * 4.0 + t3new_aaaaaa += einsum(x352, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 4.0 + t3new_aaaaaa += einsum(x352, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -4.0 + t3new_aaaaaa += einsum(x352, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -4.0 + t3new_aaaaaa += einsum(x352, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -4.0 + t3new_aaaaaa += einsum(x352, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * 4.0 + t3new_aaaaaa += einsum(x352, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -4.0 + t3new_aaaaaa += einsum(x352, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * -4.0 + t3new_aaaaaa += einsum(x352, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * 4.0 + t3new_aaaaaa += einsum(x352, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) * 4.0 + del x352 + x353 = np.zeros((naocc[0], navir[0], navir[0], nvir[0]), dtype=types[float]) + x353 += einsum(t2.aaaa[np.ix_(soa,soa,sVa,sVa)], (0, 1, 2, 3), v.aaaa.ovoO, (1, 4, 0, 5), (5, 2, 3, 4)) + x354 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) + x354 += einsum(t2.aaaa[np.ix_(sOa,sOa,sva,sVa)], (0, 1, 2, 3), x353, (4, 5, 6, 2), (0, 1, 4, 3, 5, 6)) * -1.0 + t3new_aaaaaa += einsum(x354, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 + t3new_aaaaaa += einsum(x354, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 2.0 + t3new_aaaaaa += einsum(x354, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -2.0 + t3new_aaaaaa += einsum(x354, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 + t3new_aaaaaa += einsum(x354, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 2.0 + t3new_aaaaaa += einsum(x354, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -2.0 + t3new_aaaaaa += einsum(x354, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 2.0 + t3new_aaaaaa += einsum(x354, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -2.0 + t3new_aaaaaa += einsum(x354, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 2.0 + t3new_aaaaaa += einsum(x354, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 2.0 + t3new_aaaaaa += einsum(x354, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -2.0 + t3new_aaaaaa += einsum(x354, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 2.0 + t3new_aaaaaa += einsum(x354, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -2.0 + t3new_aaaaaa += einsum(x354, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * 2.0 + t3new_aaaaaa += einsum(x354, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -2.0 + t3new_aaaaaa += einsum(x354, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -2.0 + t3new_aaaaaa += einsum(x354, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * 2.0 + t3new_aaaaaa += einsum(x354, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -2.0 + del x354 + x355 = np.zeros((naocc[0], navir[0], navir[0], nvir[0]), dtype=types[float]) + x355 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sVa)], (0, 1, 2, 3), v.aaaa.ovvV, (0, 4, 2, 5), (1, 3, 5, 4)) + x356 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) + x356 += einsum(t2.aaaa[np.ix_(sOa,sOa,sva,sVa)], (0, 1, 2, 3), x355, (4, 5, 6, 2), (0, 1, 4, 3, 5, 6)) * -1.0 + t3new_aaaaaa += einsum(x356, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -4.0 + t3new_aaaaaa += einsum(x356, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 4.0 + t3new_aaaaaa += einsum(x356, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 4.0 + t3new_aaaaaa += einsum(x356, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -4.0 + t3new_aaaaaa += einsum(x356, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -4.0 + t3new_aaaaaa += einsum(x356, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 4.0 + t3new_aaaaaa += einsum(x356, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * 4.0 + t3new_aaaaaa += einsum(x356, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -4.0 + t3new_aaaaaa += einsum(x356, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -4.0 + t3new_aaaaaa += einsum(x356, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * 4.0 + t3new_aaaaaa += einsum(x356, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * 4.0 + t3new_aaaaaa += einsum(x356, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * -4.0 + t3new_aaaaaa += einsum(x356, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 4.0 + t3new_aaaaaa += einsum(x356, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -4.0 + t3new_aaaaaa += einsum(x356, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -4.0 + t3new_aaaaaa += einsum(x356, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * 4.0 + t3new_aaaaaa += einsum(x356, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 4.0 + t3new_aaaaaa += einsum(x356, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -4.0 + del x356 + x357 = np.zeros((naocc[0], naocc[0], navir[0], nocc[0]), dtype=types[float]) + x357 += einsum(t2.aaaa[np.ix_(sOa,sOa,sva,sva)], (0, 1, 2, 3), v.aaaa.ovvV, (4, 2, 3, 5), (0, 1, 5, 4)) * -1.0 + x358 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) + x358 += einsum(t2.aaaa[np.ix_(soa,sOa,sVa,sVa)], (0, 1, 2, 3), x357, (4, 5, 6, 0), (5, 4, 1, 2, 3, 6)) + t3new_aaaaaa += einsum(x358, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 + t3new_aaaaaa += einsum(x358, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 2.0 + t3new_aaaaaa += einsum(x358, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 2.0 + t3new_aaaaaa += einsum(x358, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 + t3new_aaaaaa += einsum(x358, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 2.0 + t3new_aaaaaa += einsum(x358, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 2.0 + t3new_aaaaaa += einsum(x358, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -2.0 + t3new_aaaaaa += einsum(x358, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * 2.0 + t3new_aaaaaa += einsum(x358, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * 2.0 + t3new_aaaaaa += einsum(x358, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -2.0 + t3new_aaaaaa += einsum(x358, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * 2.0 + t3new_aaaaaa += einsum(x358, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * 2.0 + t3new_aaaaaa += einsum(x358, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 2.0 + t3new_aaaaaa += einsum(x358, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -2.0 + t3new_aaaaaa += einsum(x358, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -2.0 + t3new_aaaaaa += einsum(x358, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 2.0 + t3new_aaaaaa += einsum(x358, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -2.0 + t3new_aaaaaa += einsum(x358, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -2.0 + del x358 + x359 = np.zeros((naocc[0], navir[0], navir[0], nvir[0]), dtype=types[float]) + x359 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sVa)], (0, 1, 2, 3), v.aaaa.ovvV, (0, 2, 4, 5), (1, 3, 5, 4)) + x360 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) + x360 += einsum(t2.aaaa[np.ix_(sOa,sOa,sva,sVa)], (0, 1, 2, 3), x359, (4, 5, 6, 2), (0, 1, 4, 3, 5, 6)) * -1.0 + t3new_aaaaaa += einsum(x360, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * 4.0 + t3new_aaaaaa += einsum(x360, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -4.0 + t3new_aaaaaa += einsum(x360, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -4.0 + t3new_aaaaaa += einsum(x360, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 4.0 + t3new_aaaaaa += einsum(x360, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 4.0 + t3new_aaaaaa += einsum(x360, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -4.0 + t3new_aaaaaa += einsum(x360, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -4.0 + t3new_aaaaaa += einsum(x360, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * 4.0 + t3new_aaaaaa += einsum(x360, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * 4.0 + t3new_aaaaaa += einsum(x360, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -4.0 + t3new_aaaaaa += einsum(x360, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -4.0 + t3new_aaaaaa += einsum(x360, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * 4.0 + t3new_aaaaaa += einsum(x360, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -4.0 + t3new_aaaaaa += einsum(x360, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 4.0 + t3new_aaaaaa += einsum(x360, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 4.0 + t3new_aaaaaa += einsum(x360, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -4.0 + t3new_aaaaaa += einsum(x360, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -4.0 + t3new_aaaaaa += einsum(x360, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 4.0 + del x360 + x361 = np.zeros((naocc[0], naocc[1], navir[0], navir[1]), dtype=types[float]) + x361 += einsum(t2.abab[np.ix_(sOa,sob,sVa,svb)], (0, 1, 2, 3), v.bbbb.ovOV, (1, 3, 4, 5), (0, 4, 2, 5)) + t3new_babbab += einsum(x361, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 1, 6, 7, 3), (4, 0, 5, 6, 2, 7)) * 6.0000000000000595 + x362 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) + x362 += einsum(x361, (0, 1, 2, 3), t3.abaaba, (4, 1, 5, 6, 3, 7), (0, 4, 5, 2, 6, 7)) + t3new_aaaaaa += einsum(x362, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.00000000000002 + t3new_aaaaaa += einsum(x362, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -2.00000000000002 + t3new_aaaaaa += einsum(x362, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 2.00000000000002 + t3new_aaaaaa += einsum(x362, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * 2.00000000000002 + t3new_aaaaaa += einsum(x362, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.00000000000002 + t3new_aaaaaa += einsum(x362, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * 2.00000000000002 + t3new_aaaaaa += einsum(x362, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -2.00000000000002 + t3new_aaaaaa += einsum(x362, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * 2.00000000000002 + t3new_aaaaaa += einsum(x362, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -2.00000000000002 + del x362 + x363 = np.zeros((naocc[0], naocc[1], navir[0], navir[1]), dtype=types[float]) + x363 += einsum(t2.abab[np.ix_(sOa,sob,sVa,svb)], (0, 1, 2, 3), v.bbbb.oVvO, (1, 4, 3, 5), (0, 5, 2, 4)) + t3new_babbab += einsum(x363, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 1, 6, 7, 3), (4, 0, 5, 6, 2, 7)) * -6.0000000000000595 + x364 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) + x364 += einsum(x363, (0, 1, 2, 3), t3.abaaba, (4, 1, 5, 6, 3, 7), (0, 4, 5, 2, 6, 7)) + t3new_aaaaaa += einsum(x364, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.00000000000002 + t3new_aaaaaa += einsum(x364, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 2.00000000000002 + t3new_aaaaaa += einsum(x364, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -2.00000000000002 + t3new_aaaaaa += einsum(x364, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * -2.00000000000002 + t3new_aaaaaa += einsum(x364, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.00000000000002 + t3new_aaaaaa += einsum(x364, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -2.00000000000002 + t3new_aaaaaa += einsum(x364, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * 2.00000000000002 + t3new_aaaaaa += einsum(x364, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -2.00000000000002 + t3new_aaaaaa += einsum(x364, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * 2.00000000000002 + del x364 + x365 = np.zeros((naocc[0], naocc[0]), dtype=types[float]) + x365 += einsum(t2.abab[np.ix_(sOa,sob,sva,svb)], (0, 1, 2, 3), v.aabb.vOov, (2, 4, 1, 3), (0, 4)) + t3new_babbab += einsum(x365, (0, 1), t3.babbab, (2, 1, 3, 4, 5, 6), (2, 0, 3, 4, 5, 6)) * -2.0 + x366 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) + x366 += einsum(x365, (0, 1), t3.aaaaaa, (2, 3, 1, 4, 5, 6), (0, 2, 3, 4, 5, 6)) + t3new_aaaaaa += einsum(x366, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 6.0 + t3new_aaaaaa += einsum(x366, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * 6.0 + t3new_aaaaaa += einsum(x366, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -6.0 + del x366 + x367 = np.zeros((naocc[0], naocc[0], navir[0], navir[0]), dtype=types[float]) + x367 += einsum(t2.abab[np.ix_(sOa,sob,sVa,svb)], (0, 1, 2, 3), v.aabb.OVov, (4, 5, 1, 3), (0, 4, 2, 5)) + t3new_babbab += einsum(x367, (0, 1, 2, 3), t3.babbab, (4, 1, 5, 6, 3, 7), (4, 0, 5, 6, 2, 7)) * 2.00000000000002 + x368 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) + x368 += einsum(x367, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 1, 6, 7, 3), (0, 4, 5, 2, 6, 7)) + t3new_aaaaaa += einsum(x368, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 6.0000000000000595 + t3new_aaaaaa += einsum(x368, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -6.0000000000000595 + t3new_aaaaaa += einsum(x368, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 6.0000000000000595 + t3new_aaaaaa += einsum(x368, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * 6.0000000000000595 + t3new_aaaaaa += einsum(x368, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -6.0000000000000595 + t3new_aaaaaa += einsum(x368, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * 6.0000000000000595 + t3new_aaaaaa += einsum(x368, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -6.0000000000000595 + t3new_aaaaaa += einsum(x368, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * 6.0000000000000595 + t3new_aaaaaa += einsum(x368, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -6.0000000000000595 + del x368 + x369 = np.zeros((navir[0], navir[0]), dtype=types[float]) + x369 += einsum(t2.abab[np.ix_(soa,sob,sVa,svb)], (0, 1, 2, 3), v.aabb.oVov, (0, 4, 1, 3), (2, 4)) + t3new_babbab += einsum(x369, (0, 1), t3.babbab, (2, 3, 4, 5, 1, 6), (2, 3, 4, 5, 0, 6)) * -2.0 + x370 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) + x370 += einsum(x369, (0, 1), t3.aaaaaa, (2, 3, 4, 5, 6, 1), (2, 3, 4, 0, 5, 6)) + t3new_aaaaaa += einsum(x370, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 6.0 + t3new_aaaaaa += einsum(x370, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -6.0 + t3new_aaaaaa += einsum(x370, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 6.0 + del x370 + x371 = np.zeros((naocc[0], naocc[0], naocc[0], naocc[1], navir[0], navir[1]), dtype=types[float]) + x371 += einsum(t2.aaaa[np.ix_(sOa,sOa,sva,sVa)], (0, 1, 2, 3), v.aabb.vOOV, (2, 4, 5, 6), (0, 1, 4, 5, 3, 6)) * -1.0 + x372 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) + x372 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x371, (6, 7, 2, 1, 8, 4), (7, 6, 0, 8, 3, 5)) * -1.0 + t3new_aaaaaa += einsum(x372, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -4.0 + t3new_aaaaaa += einsum(x372, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * 4.0 + t3new_aaaaaa += einsum(x372, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -4.0 + t3new_aaaaaa += einsum(x372, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 4.0 + t3new_aaaaaa += einsum(x372, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -4.0 + t3new_aaaaaa += einsum(x372, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 4.0 + t3new_aaaaaa += einsum(x372, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * 4.0 + t3new_aaaaaa += einsum(x372, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * -4.0 + t3new_aaaaaa += einsum(x372, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * 4.0 + del x372 + x373 = np.zeros((naocc[0], naocc[1], navir[0], navir[0], navir[0], navir[1]), dtype=types[float]) + x373 += einsum(t2.aaaa[np.ix_(soa,sOa,sVa,sVa)], (0, 1, 2, 3), v.aabb.oVOV, (0, 4, 5, 6), (1, 5, 2, 3, 4, 6)) * -1.0 + x374 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) + x374 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x373, (6, 1, 7, 8, 5, 4), (6, 0, 2, 7, 8, 3)) + t3new_aaaaaa += einsum(x374, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 4.0 + t3new_aaaaaa += einsum(x374, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -4.0 + t3new_aaaaaa += einsum(x374, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 4.0 + t3new_aaaaaa += einsum(x374, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 4.0 + t3new_aaaaaa += einsum(x374, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -4.0 + t3new_aaaaaa += einsum(x374, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * 4.0 + t3new_aaaaaa += einsum(x374, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * -4.0 + t3new_aaaaaa += einsum(x374, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 4.0 + t3new_aaaaaa += einsum(x374, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -4.0 + del x374 + x375 = np.zeros((naocc[0], naocc[1], navir[0], navir[1]), dtype=types[float]) + x375 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sVa)], (0, 1, 2, 3), v.aabb.ovOV, (0, 2, 4, 5), (1, 4, 3, 5)) + t3new_babbab += einsum(x375, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 1, 6, 7, 3), (4, 0, 5, 6, 2, 7)) * 12.000000000000123 + x376 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) + x376 += einsum(x375, (0, 1, 2, 3), t3.abaaba, (4, 1, 5, 6, 3, 7), (0, 4, 5, 2, 6, 7)) + t3new_aaaaaa += einsum(x376, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 4.00000000000004 + t3new_aaaaaa += einsum(x376, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -4.00000000000004 + t3new_aaaaaa += einsum(x376, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 4.00000000000004 + t3new_aaaaaa += einsum(x376, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * 4.00000000000004 + t3new_aaaaaa += einsum(x376, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -4.00000000000004 + t3new_aaaaaa += einsum(x376, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * 4.00000000000004 + t3new_aaaaaa += einsum(x376, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -4.00000000000004 + t3new_aaaaaa += einsum(x376, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * 4.00000000000004 + t3new_aaaaaa += einsum(x376, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -4.00000000000004 + del x376 + x377 = np.zeros((naocc[0], naocc[0], naocc[0], naocc[0], navir[0], navir[0]), dtype=types[float]) + x377 += einsum(t2.aaaa[np.ix_(sOa,sOa,sva,sVa)], (0, 1, 2, 3), v.aaaa.vOOV, (2, 4, 5, 6), (0, 1, 5, 4, 3, 6)) * -1.0 + x378 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) + x378 += einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), x377, (6, 7, 1, 2, 8, 5), (7, 6, 0, 8, 3, 4)) * -1.0 + t3new_aaaaaa += einsum(x378, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 6.0 + t3new_aaaaaa += einsum(x378, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -6.0 + t3new_aaaaaa += einsum(x378, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 6.0 + t3new_aaaaaa += einsum(x378, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -6.0 + t3new_aaaaaa += einsum(x378, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 6.0 + t3new_aaaaaa += einsum(x378, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -6.0 + t3new_aaaaaa += einsum(x378, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -6.0 + t3new_aaaaaa += einsum(x378, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * 6.0 + t3new_aaaaaa += einsum(x378, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -6.0 + del x378 + x379 = np.zeros((naocc[0], naocc[0], naocc[0], naocc[0]), dtype=types[float]) + x379 += einsum(t2.aaaa[np.ix_(sOa,sOa,sva,sva)], (0, 1, 2, 3), v.aaaa.vOvO, (2, 4, 3, 5), (0, 1, 4, 5)) + x380 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) + x380 += einsum(x379, (0, 1, 2, 3), t3.aaaaaa, (4, 2, 3, 5, 6, 7), (1, 0, 4, 5, 6, 7)) * -1.0 + t3new_aaaaaa += einsum(x380, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 3.0 + t3new_aaaaaa += einsum(x380, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 3.0 + t3new_aaaaaa += einsum(x380, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -3.0 + t3new_aaaaaa += einsum(x380, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -3.0 + t3new_aaaaaa += einsum(x380, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -3.0 + t3new_aaaaaa += einsum(x380, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -3.0 + del x380 + x381 = np.zeros((naocc[0], naocc[0], naocc[0], naocc[0], navir[0], navir[0]), dtype=types[float]) + x381 += einsum(t2.aaaa[np.ix_(sOa,sOa,sva,sVa)], (0, 1, 2, 3), v.aaaa.vOOV, (2, 4, 5, 6), (0, 1, 5, 4, 3, 6)) * -1.0 + x382 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) + x382 += einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), x381, (6, 7, 1, 2, 8, 5), (7, 6, 0, 8, 3, 4)) * -1.0 + t3new_aaaaaa += einsum(x382, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 6.0 + t3new_aaaaaa += einsum(x382, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -6.0 + t3new_aaaaaa += einsum(x382, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 6.0 + t3new_aaaaaa += einsum(x382, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -6.0 + t3new_aaaaaa += einsum(x382, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 6.0 + t3new_aaaaaa += einsum(x382, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -6.0 + t3new_aaaaaa += einsum(x382, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -6.0 + t3new_aaaaaa += einsum(x382, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * 6.0 + t3new_aaaaaa += einsum(x382, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -6.0 + del x382 + x383 = np.zeros((naocc[0], naocc[0], navir[0], navir[0], navir[0], navir[0]), dtype=types[float]) + x383 += einsum(t2.aaaa[np.ix_(soa,sOa,sVa,sVa)], (0, 1, 2, 3), v.aaaa.oVOV, (0, 4, 5, 6), (1, 5, 2, 3, 6, 4)) * -1.0 + x384 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) + x384 += einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), x383, (6, 2, 7, 8, 4, 5), (6, 0, 1, 7, 8, 3)) + t3new_aaaaaa += einsum(x384, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -12.0 + t3new_aaaaaa += einsum(x384, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 12.0 + t3new_aaaaaa += einsum(x384, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -12.0 + t3new_aaaaaa += einsum(x384, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -12.0 + t3new_aaaaaa += einsum(x384, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * 12.0 + t3new_aaaaaa += einsum(x384, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -12.0 + t3new_aaaaaa += einsum(x384, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * 12.0 + t3new_aaaaaa += einsum(x384, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -12.0 + t3new_aaaaaa += einsum(x384, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * 12.0 + del x384 + x385 = np.zeros((naocc[0], naocc[0], navir[0], navir[0]), dtype=types[float]) + x385 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sVa)], (0, 1, 2, 3), v.aaaa.ovOV, (0, 2, 4, 5), (1, 4, 3, 5)) + t3new_babbab += einsum(x385, (0, 1, 2, 3), t3.babbab, (4, 1, 5, 6, 3, 7), (4, 0, 5, 6, 2, 7)) * 4.00000000000004 + x386 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) + x386 += einsum(x385, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 1, 6, 7, 3), (0, 4, 5, 2, 6, 7)) + t3new_aaaaaa += einsum(x386, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 12.000000000000123 + t3new_aaaaaa += einsum(x386, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -12.000000000000123 + t3new_aaaaaa += einsum(x386, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 12.000000000000123 + t3new_aaaaaa += einsum(x386, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * 12.000000000000123 + t3new_aaaaaa += einsum(x386, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -12.000000000000123 + t3new_aaaaaa += einsum(x386, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * 12.000000000000123 + t3new_aaaaaa += einsum(x386, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -12.000000000000123 + t3new_aaaaaa += einsum(x386, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * 12.000000000000123 + t3new_aaaaaa += einsum(x386, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -12.000000000000123 + del x386 + x387 = np.zeros((naocc[0], naocc[0]), dtype=types[float]) + x387 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sva)], (0, 1, 2, 3), v.aaaa.ovvO, (0, 3, 2, 4), (1, 4)) * -1.0 + x388 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) + x388 += einsum(x387, (0, 1), t3.aaaaaa, (2, 3, 1, 4, 5, 6), (0, 2, 3, 4, 5, 6)) + t3new_aaaaaa += einsum(x388, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 6.0 + t3new_aaaaaa += einsum(x388, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 6.0 + t3new_aaaaaa += einsum(x388, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * 6.0 + t3new_aaaaaa += einsum(x388, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * 6.0 + t3new_aaaaaa += einsum(x388, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -6.0 + t3new_aaaaaa += einsum(x388, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -6.0 + del x388 + x389 = np.zeros((naocc[0], naocc[0], navir[0], navir[0]), dtype=types[float]) + x389 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sVa)], (0, 1, 2, 3), v.aaaa.oVvO, (0, 4, 2, 5), (1, 5, 3, 4)) + t3new_babbab += einsum(x389, (0, 1, 2, 3), t3.babbab, (4, 1, 5, 6, 3, 7), (4, 0, 5, 6, 2, 7)) * -4.00000000000004 + x390 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) + x390 += einsum(x389, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 1, 6, 7, 3), (0, 4, 5, 2, 6, 7)) + t3new_aaaaaa += einsum(x390, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -12.000000000000123 + t3new_aaaaaa += einsum(x390, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 12.000000000000123 + t3new_aaaaaa += einsum(x390, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -12.000000000000123 + t3new_aaaaaa += einsum(x390, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * -12.000000000000123 + t3new_aaaaaa += einsum(x390, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 12.000000000000123 + t3new_aaaaaa += einsum(x390, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -12.000000000000123 + t3new_aaaaaa += einsum(x390, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * 12.000000000000123 + t3new_aaaaaa += einsum(x390, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -12.000000000000123 + t3new_aaaaaa += einsum(x390, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * 12.000000000000123 + del x390 + x391 = np.zeros((navir[0], navir[0], navir[0], navir[0]), dtype=types[float]) + x391 += einsum(t2.aaaa[np.ix_(soa,soa,sVa,sVa)], (0, 1, 2, 3), v.aaaa.oVoV, (0, 4, 1, 5), (2, 3, 4, 5)) + t3new_abaaba += einsum(x391, (0, 1, 2, 3), t3.abaaba, (4, 5, 6, 2, 7, 3), (4, 5, 6, 0, 7, 1)) * 2.0 + x392 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) + x392 += einsum(x391, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 6, 7, 2, 3), (4, 5, 6, 1, 0, 7)) * -1.0 + del x391 + t3new_aaaaaa += einsum(x392, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -6.0 + t3new_aaaaaa += einsum(x392, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 6.0 + t3new_aaaaaa += einsum(x392, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -6.0 + del x392 + x393 = np.zeros((navir[0], navir[0]), dtype=types[float]) + x393 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), v.aaaa.ovoV, (1, 2, 0, 4), (3, 4)) * -1.0 + t3new_babbab += einsum(x393, (0, 1), t3.babbab, (2, 3, 4, 5, 1, 6), (2, 3, 4, 5, 0, 6)) * -2.0 + x394 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) + x394 += einsum(x393, (0, 1), t3.aaaaaa, (2, 3, 4, 5, 6, 1), (2, 3, 4, 0, 5, 6)) + t3new_aaaaaa += einsum(x394, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 6.0 + t3new_aaaaaa += einsum(x394, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -6.0 + t3new_aaaaaa += einsum(x394, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 6.0 + del x394 + x395 = np.zeros((navir[0], navir[0]), dtype=types[float]) + x395 += einsum(t2.aaaa[np.ix_(soa,soa,sva,sVa)], (0, 1, 2, 3), v.aaaa.ovoV, (1, 2, 0, 4), (3, 4)) * -1.0 + t3new_babbab += einsum(x395, (0, 1), t3.babbab, (2, 3, 4, 5, 1, 6), (2, 3, 4, 5, 0, 6)) * -2.0 + x396 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) + x396 += einsum(x395, (0, 1), t3.aaaaaa, (2, 3, 4, 5, 6, 1), (2, 3, 4, 0, 5, 6)) + t3new_aaaaaa += einsum(x396, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 6.0 + t3new_aaaaaa += einsum(x396, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -6.0 + t3new_aaaaaa += einsum(x396, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 6.0 + del x396 + x397 = np.zeros((naocc[0], naocc[0], navir[0], navir[0], navir[0], nvir[0]), dtype=types[float]) + x397 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), t2.aaaa[np.ix_(soa,sOa,sVa,sVa)], (2, 3, 4, 5), v.aaaa.ovoO, (2, 6, 0, 7), (3, 7, 1, 4, 5, 6)) * -1.0 + x398 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) + x398 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), x397, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) + del x397 + t3new_aaaaaa += einsum(x398, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 2.0 + t3new_aaaaaa += einsum(x398, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 + t3new_aaaaaa += einsum(x398, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -2.0 + t3new_aaaaaa += einsum(x398, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 2.0 + t3new_aaaaaa += einsum(x398, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 2.0 + t3new_aaaaaa += einsum(x398, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -2.0 + t3new_aaaaaa += einsum(x398, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * -2.0 + t3new_aaaaaa += einsum(x398, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) * 2.0 + t3new_aaaaaa += einsum(x398, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 + t3new_aaaaaa += einsum(x398, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -2.0 + t3new_aaaaaa += einsum(x398, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -2.0 + t3new_aaaaaa += einsum(x398, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) * 2.0 + t3new_aaaaaa += einsum(x398, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * 2.0 + t3new_aaaaaa += einsum(x398, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -2.0 + t3new_aaaaaa += einsum(x398, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -2.0 + t3new_aaaaaa += einsum(x398, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * 2.0 + t3new_aaaaaa += einsum(x398, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * 2.0 + t3new_aaaaaa += einsum(x398, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -2.0 + del x398 + x399 = np.zeros((naocc[0], naocc[0], navir[0], navir[0], navir[0], nvir[0]), dtype=types[float]) + x399 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), t2.aaaa[np.ix_(soa,sOa,sVa,sVa)], (2, 3, 4, 5), v.aaaa.ovoO, (0, 6, 2, 7), (3, 7, 1, 4, 5, 6)) * -1.0 + x400 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) + x400 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), x399, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) + del x399 + t3new_aaaaaa += einsum(x400, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -2.0 + t3new_aaaaaa += einsum(x400, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.0 + t3new_aaaaaa += einsum(x400, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * 2.0 + t3new_aaaaaa += einsum(x400, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -2.0 + t3new_aaaaaa += einsum(x400, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -2.0 + t3new_aaaaaa += einsum(x400, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 2.0 + t3new_aaaaaa += einsum(x400, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * 2.0 + t3new_aaaaaa += einsum(x400, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) * -2.0 + t3new_aaaaaa += einsum(x400, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 + t3new_aaaaaa += einsum(x400, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * 2.0 + t3new_aaaaaa += einsum(x400, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * 2.0 + t3new_aaaaaa += einsum(x400, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) * -2.0 + t3new_aaaaaa += einsum(x400, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -2.0 + t3new_aaaaaa += einsum(x400, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * 2.0 + t3new_aaaaaa += einsum(x400, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * 2.0 + t3new_aaaaaa += einsum(x400, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * -2.0 + t3new_aaaaaa += einsum(x400, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -2.0 + t3new_aaaaaa += einsum(x400, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * 2.0 + del x400 + x401 = np.zeros((naocc[0], navir[0], navir[0], nvir[0]), dtype=types[float]) + x401 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), t1.aa[np.ix_(soa,sVa)], (2, 3), v.aaaa.ovoO, (2, 4, 0, 5), (5, 1, 3, 4)) + x402 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) + x402 += einsum(t2.aaaa[np.ix_(sOa,sOa,sva,sVa)], (0, 1, 2, 3), x401, (4, 5, 6, 2), (0, 1, 4, 5, 6, 3)) * -1.0 + t3new_aaaaaa += einsum(x402, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * 2.0 + t3new_aaaaaa += einsum(x402, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -2.0 + t3new_aaaaaa += einsum(x402, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -2.0 + t3new_aaaaaa += einsum(x402, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 2.0 + t3new_aaaaaa += einsum(x402, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * 2.0 + t3new_aaaaaa += einsum(x402, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -2.0 + t3new_aaaaaa += einsum(x402, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 + t3new_aaaaaa += einsum(x402, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 + t3new_aaaaaa += einsum(x402, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 2.0 + t3new_aaaaaa += einsum(x402, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -2.0 + t3new_aaaaaa += einsum(x402, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -2.0 + t3new_aaaaaa += einsum(x402, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * 2.0 + t3new_aaaaaa += einsum(x402, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 2.0 + t3new_aaaaaa += einsum(x402, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -2.0 + t3new_aaaaaa += einsum(x402, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -2.0 + t3new_aaaaaa += einsum(x402, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 2.0 + t3new_aaaaaa += einsum(x402, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * 2.0 + t3new_aaaaaa += einsum(x402, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -2.0 + del x402 + x403 = np.zeros((naocc[0], naocc[0], navir[0], navir[0], navir[0], nvir[0]), dtype=types[float]) + x403 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), t2.aaaa[np.ix_(soa,sOa,sVa,sVa)], (2, 3, 4, 5), v.aaaa.ovvV, (2, 1, 6, 7), (0, 3, 4, 5, 7, 6)) * -1.0 + x404 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) + x404 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), x403, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) + del x403 + t3new_aaaaaa += einsum(x404, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -2.0 + t3new_aaaaaa += einsum(x404, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 + t3new_aaaaaa += einsum(x404, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * 2.0 + t3new_aaaaaa += einsum(x404, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 2.0 + t3new_aaaaaa += einsum(x404, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -2.0 + t3new_aaaaaa += einsum(x404, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -2.0 + t3new_aaaaaa += einsum(x404, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 2.0 + t3new_aaaaaa += einsum(x404, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * -2.0 + t3new_aaaaaa += einsum(x404, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -2.0 + t3new_aaaaaa += einsum(x404, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 + t3new_aaaaaa += einsum(x404, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 2.0 + t3new_aaaaaa += einsum(x404, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 2.0 + t3new_aaaaaa += einsum(x404, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -2.0 + t3new_aaaaaa += einsum(x404, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * 2.0 + t3new_aaaaaa += einsum(x404, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * 2.0 + t3new_aaaaaa += einsum(x404, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * 2.0 + t3new_aaaaaa += einsum(x404, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -2.0 + t3new_aaaaaa += einsum(x404, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) * -2.0 + del x404 + x405 = np.zeros((naocc[0], naocc[0], navir[0], navir[0], navir[0], nvir[0]), dtype=types[float]) + x405 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), t2.aaaa[np.ix_(sOa,sOa,sva,sVa)], (2, 3, 4, 5), v.aaaa.ovvV, (0, 6, 4, 7), (2, 3, 1, 5, 7, 6)) * -1.0 + x406 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) + x406 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), x405, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) + del x405 + t3new_aaaaaa += einsum(x406, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * 2.0 + t3new_aaaaaa += einsum(x406, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 + t3new_aaaaaa += einsum(x406, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -2.0 + t3new_aaaaaa += einsum(x406, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 2.0 + t3new_aaaaaa += einsum(x406, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 + t3new_aaaaaa += einsum(x406, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -2.0 + t3new_aaaaaa += einsum(x406, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * 2.0 + t3new_aaaaaa += einsum(x406, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * -2.0 + t3new_aaaaaa += einsum(x406, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -2.0 + t3new_aaaaaa += einsum(x406, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 + t3new_aaaaaa += einsum(x406, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * 2.0 + t3new_aaaaaa += einsum(x406, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -2.0 + t3new_aaaaaa += einsum(x406, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) * -2.0 + t3new_aaaaaa += einsum(x406, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * 2.0 + t3new_aaaaaa += einsum(x406, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * 2.0 + t3new_aaaaaa += einsum(x406, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -2.0 + t3new_aaaaaa += einsum(x406, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -2.0 + t3new_aaaaaa += einsum(x406, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * 2.0 + del x406 + x407 = np.zeros((naocc[0], naocc[0], navir[0], navir[0], navir[0], nvir[0]), dtype=types[float]) + x407 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), t2.aaaa[np.ix_(sOa,sOa,sva,sVa)], (2, 3, 4, 5), v.aaaa.ovvV, (0, 4, 6, 7), (2, 3, 1, 5, 7, 6)) * -1.0 + x408 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) + x408 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), x407, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) + del x407 + t3new_aaaaaa += einsum(x408, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -2.0 + t3new_aaaaaa += einsum(x408, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.0 + t3new_aaaaaa += einsum(x408, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 2.0 + t3new_aaaaaa += einsum(x408, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -2.0 + t3new_aaaaaa += einsum(x408, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 + t3new_aaaaaa += einsum(x408, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 2.0 + t3new_aaaaaa += einsum(x408, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * -2.0 + t3new_aaaaaa += einsum(x408, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * 2.0 + t3new_aaaaaa += einsum(x408, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 + t3new_aaaaaa += einsum(x408, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 + t3new_aaaaaa += einsum(x408, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -2.0 + t3new_aaaaaa += einsum(x408, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * 2.0 + t3new_aaaaaa += einsum(x408, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) * 2.0 + t3new_aaaaaa += einsum(x408, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -2.0 + t3new_aaaaaa += einsum(x408, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * -2.0 + t3new_aaaaaa += einsum(x408, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * 2.0 + t3new_aaaaaa += einsum(x408, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 2.0 + t3new_aaaaaa += einsum(x408, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -2.0 + del x408 + x409 = np.zeros((naocc[0], naocc[1], navir[1], nocc[0]), dtype=types[float]) + x409 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), v.aabb.ovOV, (2, 1, 3, 4), (0, 3, 4, 2)) + x410 = np.zeros((naocc[0], naocc[1], navir[0], navir[1]), dtype=types[float]) + x410 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x409, (2, 3, 4, 0), (2, 3, 1, 4)) + t3new_babbab += einsum(x410, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 1, 6, 7, 3), (4, 0, 5, 6, 2, 7)) * -6.0 + x411 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) + x411 += einsum(x410, (0, 1, 2, 3), t3.abaaba, (4, 1, 5, 6, 3, 7), (0, 4, 5, 2, 6, 7)) + t3new_aaaaaa += einsum(x411, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 + t3new_aaaaaa += einsum(x411, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 2.0 + t3new_aaaaaa += einsum(x411, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -2.0 + t3new_aaaaaa += einsum(x411, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * -2.0 + t3new_aaaaaa += einsum(x411, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 + t3new_aaaaaa += einsum(x411, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -2.0 + t3new_aaaaaa += einsum(x411, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * 2.0 + t3new_aaaaaa += einsum(x411, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -2.0 + t3new_aaaaaa += einsum(x411, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * 2.0 + del x411 + x412 = np.zeros((naocc[0], naocc[0], naocc[0], nvir[0]), dtype=types[float]) + x412 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), v.aaaa.vOvO, (2, 3, 1, 4), (0, 3, 4, 2)) + x413 = np.zeros((naocc[0], naocc[0], naocc[0], naocc[0]), dtype=types[float]) + x413 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), x412, (2, 3, 4, 1), (2, 0, 4, 3)) + del x412 + x414 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) + x414 += einsum(x413, (0, 1, 2, 3), t3.aaaaaa, (4, 2, 3, 5, 6, 7), (1, 0, 4, 5, 6, 7)) * -1.0 + t3new_aaaaaa += einsum(x414, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 3.0 + t3new_aaaaaa += einsum(x414, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 3.0 + t3new_aaaaaa += einsum(x414, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -3.0 + t3new_aaaaaa += einsum(x414, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -3.0 + t3new_aaaaaa += einsum(x414, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -3.0 + t3new_aaaaaa += einsum(x414, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -3.0 + del x414 + x415 = np.zeros((naocc[0], naocc[0], navir[0], nocc[0]), dtype=types[float]) + x415 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), v.aaaa.ovOV, (2, 1, 3, 4), (0, 3, 4, 2)) + x416 = np.zeros((naocc[0], naocc[0], navir[0], navir[0]), dtype=types[float]) + x416 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x415, (2, 3, 4, 0), (2, 3, 1, 4)) + del x415 + t3new_babbab += einsum(x416, (0, 1, 2, 3), t3.babbab, (4, 1, 5, 6, 3, 7), (4, 0, 5, 6, 2, 7)) * -2.0 + x417 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) + x417 += einsum(x416, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 1, 6, 7, 3), (0, 4, 5, 2, 6, 7)) + t3new_aaaaaa += einsum(x417, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -6.0 + t3new_aaaaaa += einsum(x417, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 6.0 + t3new_aaaaaa += einsum(x417, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -6.0 + t3new_aaaaaa += einsum(x417, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * -6.0 + t3new_aaaaaa += einsum(x417, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 6.0 + t3new_aaaaaa += einsum(x417, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -6.0 + t3new_aaaaaa += einsum(x417, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * 6.0 + t3new_aaaaaa += einsum(x417, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -6.0 + t3new_aaaaaa += einsum(x417, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * 6.0 + del x417 + x418 = np.zeros((naocc[0], naocc[0], navir[0], nocc[0]), dtype=types[float]) + x418 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), v.aaaa.oVvO, (2, 3, 1, 4), (0, 4, 3, 2)) + x419 = np.zeros((naocc[0], naocc[0], navir[0], navir[0]), dtype=types[float]) + x419 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x418, (2, 3, 4, 0), (2, 3, 1, 4)) + del x418 + t3new_babbab += einsum(x419, (0, 1, 2, 3), t3.babbab, (4, 1, 5, 6, 3, 7), (4, 0, 5, 6, 2, 7)) * 2.0 + x420 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) + x420 += einsum(x419, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 1, 6, 7, 3), (0, 4, 5, 2, 6, 7)) + t3new_aaaaaa += einsum(x420, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 6.0 + t3new_aaaaaa += einsum(x420, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -6.0 + t3new_aaaaaa += einsum(x420, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 6.0 + t3new_aaaaaa += einsum(x420, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * 6.0 + t3new_aaaaaa += einsum(x420, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -6.0 + t3new_aaaaaa += einsum(x420, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * 6.0 + t3new_aaaaaa += einsum(x420, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -6.0 + t3new_aaaaaa += einsum(x420, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * 6.0 + t3new_aaaaaa += einsum(x420, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -6.0 + del x420 + x421 = np.zeros((naocc[0], nvir[0]), dtype=types[float]) + x421 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aaaa.ovvO, (0, 2, 1, 3), (3, 2)) + x422 = np.zeros((naocc[0], naocc[0]), dtype=types[float]) + x422 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), x421, (2, 1), (0, 2)) + del x421 + t3new_babbab += einsum(x422, (0, 1), t3.babbab, (2, 1, 3, 4, 5, 6), (2, 0, 3, 4, 5, 6)) * 2.0 + x423 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) + x423 += einsum(x422, (0, 1), t3.aaaaaa, (2, 3, 1, 4, 5, 6), (0, 2, 3, 4, 5, 6)) + t3new_aaaaaa += einsum(x423, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -6.0 + t3new_aaaaaa += einsum(x423, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -6.0 + t3new_aaaaaa += einsum(x423, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 6.0 + del x423 + x424 = np.zeros((naocc[0], nvir[0]), dtype=types[float]) + x424 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aaaa.ovvO, (0, 1, 2, 3), (3, 2)) + x425 = np.zeros((naocc[0], naocc[0]), dtype=types[float]) + x425 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), x424, (2, 1), (0, 2)) + del x424 + t3new_babbab += einsum(x425, (0, 1), t3.babbab, (2, 1, 3, 4, 5, 6), (2, 0, 3, 4, 5, 6)) * -2.0 + x426 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) + x426 += einsum(x425, (0, 1), t3.aaaaaa, (2, 3, 1, 4, 5, 6), (0, 2, 3, 4, 5, 6)) + t3new_aaaaaa += einsum(x426, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 6.0 + t3new_aaaaaa += einsum(x426, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * 6.0 + t3new_aaaaaa += einsum(x426, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -6.0 + del x426 + x427 = np.zeros((navir[0], navir[0], navir[0], nocc[0]), dtype=types[float]) + x427 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), v.aaaa.oVoV, (2, 3, 0, 4), (1, 3, 4, 2)) + x428 = np.zeros((navir[0], navir[0], navir[0], navir[0]), dtype=types[float]) + x428 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x427, (2, 3, 4, 0), (2, 1, 4, 3)) + del x427 + t3new_abaaba += einsum(x428, (0, 1, 2, 3), t3.abaaba, (4, 5, 6, 3, 7, 2), (4, 5, 6, 0, 7, 1)) * -2.0 + x429 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) + x429 += einsum(x428, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 6, 7, 2, 3), (4, 5, 6, 1, 0, 7)) * -1.0 + del x428 + t3new_aaaaaa += einsum(x429, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -6.0 + t3new_aaaaaa += einsum(x429, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 6.0 + t3new_aaaaaa += einsum(x429, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -6.0 + del x429 + x430 = np.zeros((navir[0], nocc[0]), dtype=types[float]) + x430 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aaaa.ovoV, (0, 1, 2, 3), (3, 2)) + x431 = np.zeros((navir[0], navir[0]), dtype=types[float]) + x431 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x430, (2, 0), (1, 2)) + del x430 + t3new_babbab += einsum(x431, (0, 1), t3.babbab, (2, 3, 4, 5, 1, 6), (2, 3, 4, 5, 0, 6)) * -2.0 + x432 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) + x432 += einsum(x431, (0, 1), t3.aaaaaa, (2, 3, 4, 5, 6, 1), (2, 3, 4, 0, 5, 6)) + t3new_aaaaaa += einsum(x432, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 6.0 + t3new_aaaaaa += einsum(x432, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -6.0 + t3new_aaaaaa += einsum(x432, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 6.0 + del x432 + x433 = np.zeros((navir[0], nocc[0]), dtype=types[float]) + x433 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aaaa.ovoV, (2, 1, 0, 3), (3, 2)) + x434 = np.zeros((navir[0], navir[0]), dtype=types[float]) + x434 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x433, (2, 0), (1, 2)) + del x433 + t3new_babbab += einsum(x434, (0, 1), t3.babbab, (2, 3, 4, 5, 1, 6), (2, 3, 4, 5, 0, 6)) * 2.0 + x435 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) + x435 += einsum(x434, (0, 1), t3.aaaaaa, (2, 3, 4, 5, 6, 1), (2, 3, 4, 0, 5, 6)) + t3new_aaaaaa += einsum(x435, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -6.0 + t3new_aaaaaa += einsum(x435, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * 6.0 + t3new_aaaaaa += einsum(x435, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -6.0 + del x435 + x436 = np.zeros((naocc[0], nvir[0]), dtype=types[float]) + x436 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.aabb.vOov, (2, 3, 0, 1), (3, 2)) + x437 = np.zeros((naocc[0], naocc[0]), dtype=types[float]) + x437 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), x436, (2, 1), (0, 2)) + del x436 + t3new_babbab += einsum(x437, (0, 1), t3.babbab, (2, 1, 3, 4, 5, 6), (2, 0, 3, 4, 5, 6)) * -2.0 + x438 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) + x438 += einsum(x437, (0, 1), t3.aaaaaa, (2, 3, 1, 4, 5, 6), (0, 2, 3, 4, 5, 6)) + t3new_aaaaaa += einsum(x438, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 6.0 + t3new_aaaaaa += einsum(x438, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * 6.0 + t3new_aaaaaa += einsum(x438, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -6.0 + del x438 + x439 = np.zeros((navir[0], nocc[0]), dtype=types[float]) + x439 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.aabb.oVov, (2, 3, 0, 1), (3, 2)) + x440 = np.zeros((navir[0], navir[0]), dtype=types[float]) + x440 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x439, (2, 0), (1, 2)) + del x439 + t3new_babbab += einsum(x440, (0, 1), t3.babbab, (2, 3, 4, 5, 1, 6), (2, 3, 4, 5, 0, 6)) * -2.0 + x441 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) + x441 += einsum(x440, (0, 1), t3.aaaaaa, (2, 3, 4, 5, 6, 1), (2, 3, 4, 0, 5, 6)) + t3new_aaaaaa += einsum(x441, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 6.0 + t3new_aaaaaa += einsum(x441, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -6.0 + t3new_aaaaaa += einsum(x441, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 6.0 + del x441 + x442 = np.zeros((naocc[0], navir[0], nocc[0], nvir[0]), dtype=types[float]) + x442 += einsum(t2.abab[np.ix_(sOa,sob,sVa,svb)], (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (0, 2, 4, 5)) + x443 = np.zeros((naocc[0], naocc[0], navir[0], nocc[0]), dtype=types[float]) + x443 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), x442, (2, 3, 4, 1), (0, 2, 3, 4)) + x444 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) + x444 += einsum(t2.aaaa[np.ix_(soa,sOa,sVa,sVa)], (0, 1, 2, 3), x443, (4, 5, 6, 0), (4, 1, 5, 2, 3, 6)) * -1.0 + t3new_aaaaaa += einsum(x444, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 2.0 + t3new_aaaaaa += einsum(x444, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 + t3new_aaaaaa += einsum(x444, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 2.0 + t3new_aaaaaa += einsum(x444, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -2.0 + t3new_aaaaaa += einsum(x444, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 2.0 + t3new_aaaaaa += einsum(x444, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -2.0 + t3new_aaaaaa += einsum(x444, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) * -2.0 + t3new_aaaaaa += einsum(x444, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * 2.0 + t3new_aaaaaa += einsum(x444, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -2.0 + t3new_aaaaaa += einsum(x444, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * 2.0 + t3new_aaaaaa += einsum(x444, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -2.0 + t3new_aaaaaa += einsum(x444, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 + t3new_aaaaaa += einsum(x444, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * 2.0 + t3new_aaaaaa += einsum(x444, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -2.0 + t3new_aaaaaa += einsum(x444, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * 2.0 + t3new_aaaaaa += einsum(x444, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -2.0 + t3new_aaaaaa += einsum(x444, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 2.0 + t3new_aaaaaa += einsum(x444, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * -2.0 + del x444 + x445 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], nocc[0]), dtype=types[float]) + x445 += einsum(t2.aaaa[np.ix_(sOa,sOa,sva,sVa)], (0, 1, 2, 3), x442, (4, 5, 6, 2), (0, 1, 4, 3, 5, 6)) * -1.0 + x446 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) + x446 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x445, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) + del x445 + t3new_aaaaaa += einsum(x446, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * 2.0 + t3new_aaaaaa += einsum(x446, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -2.0 + t3new_aaaaaa += einsum(x446, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.0 + t3new_aaaaaa += einsum(x446, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -2.0 + t3new_aaaaaa += einsum(x446, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -2.0 + t3new_aaaaaa += einsum(x446, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 2.0 + t3new_aaaaaa += einsum(x446, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * -2.0 + t3new_aaaaaa += einsum(x446, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * 2.0 + t3new_aaaaaa += einsum(x446, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -2.0 + t3new_aaaaaa += einsum(x446, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 2.0 + t3new_aaaaaa += einsum(x446, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * 2.0 + t3new_aaaaaa += einsum(x446, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -2.0 + t3new_aaaaaa += einsum(x446, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * 2.0 + t3new_aaaaaa += einsum(x446, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -2.0 + t3new_aaaaaa += einsum(x446, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 2.0 + t3new_aaaaaa += einsum(x446, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 + t3new_aaaaaa += einsum(x446, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -2.0 + t3new_aaaaaa += einsum(x446, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 2.0 + del x446 + x447 = np.zeros((naocc[0], navir[0], nocc[0], nvir[0]), dtype=types[float]) + x447 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sVa)], (0, 1, 2, 3), v.aaaa.ovov, (4, 5, 0, 2), (1, 3, 4, 5)) + x448 = np.zeros((naocc[0], naocc[0], navir[0], nocc[0]), dtype=types[float]) + x448 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), x447, (2, 3, 4, 1), (0, 2, 3, 4)) + x449 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) + x449 += einsum(t2.aaaa[np.ix_(soa,sOa,sVa,sVa)], (0, 1, 2, 3), x448, (4, 5, 6, 0), (4, 1, 5, 2, 3, 6)) * -1.0 + t3new_aaaaaa += einsum(x449, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 4.0 + t3new_aaaaaa += einsum(x449, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -4.0 + t3new_aaaaaa += einsum(x449, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -4.0 + t3new_aaaaaa += einsum(x449, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 4.0 + t3new_aaaaaa += einsum(x449, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -4.0 + t3new_aaaaaa += einsum(x449, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 4.0 + t3new_aaaaaa += einsum(x449, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -4.0 + t3new_aaaaaa += einsum(x449, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 4.0 + t3new_aaaaaa += einsum(x449, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * 4.0 + t3new_aaaaaa += einsum(x449, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) * -4.0 + t3new_aaaaaa += einsum(x449, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * 4.0 + t3new_aaaaaa += einsum(x449, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -4.0 + t3new_aaaaaa += einsum(x449, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 4.0 + t3new_aaaaaa += einsum(x449, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * -4.0 + t3new_aaaaaa += einsum(x449, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -4.0 + t3new_aaaaaa += einsum(x449, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * 4.0 + t3new_aaaaaa += einsum(x449, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -4.0 + t3new_aaaaaa += einsum(x449, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * 4.0 + del x449 + x450 = np.zeros((naocc[0], navir[0], nocc[0], nvir[0]), dtype=types[float]) + x450 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sVa)], (0, 1, 2, 3), v.aaaa.ovov, (4, 2, 0, 5), (1, 3, 4, 5)) + x451 = np.zeros((naocc[0], naocc[0], navir[0], nocc[0]), dtype=types[float]) + x451 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), x450, (2, 3, 4, 1), (0, 2, 3, 4)) + x452 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) + x452 += einsum(t2.aaaa[np.ix_(soa,sOa,sVa,sVa)], (0, 1, 2, 3), x451, (4, 5, 6, 0), (4, 1, 5, 2, 3, 6)) * -1.0 + t3new_aaaaaa += einsum(x452, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -4.0 + t3new_aaaaaa += einsum(x452, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 4.0 + t3new_aaaaaa += einsum(x452, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -4.0 + t3new_aaaaaa += einsum(x452, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -4.0 + t3new_aaaaaa += einsum(x452, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 4.0 + t3new_aaaaaa += einsum(x452, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 4.0 + t3new_aaaaaa += einsum(x452, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) * 4.0 + t3new_aaaaaa += einsum(x452, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * -4.0 + t3new_aaaaaa += einsum(x452, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * 4.0 + t3new_aaaaaa += einsum(x452, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * 4.0 + t3new_aaaaaa += einsum(x452, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -4.0 + t3new_aaaaaa += einsum(x452, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -4.0 + t3new_aaaaaa += einsum(x452, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -4.0 + t3new_aaaaaa += einsum(x452, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * 4.0 + t3new_aaaaaa += einsum(x452, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -4.0 + t3new_aaaaaa += einsum(x452, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -4.0 + t3new_aaaaaa += einsum(x452, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * 4.0 + t3new_aaaaaa += einsum(x452, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * 4.0 + del x452 + x453 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], nocc[0], nocc[0]), dtype=types[float]) + x453 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), t2.aaaa[np.ix_(sOa,sOa,sva,sVa)], (2, 3, 4, 5), v.aaaa.ovov, (6, 1, 7, 4), (0, 2, 3, 5, 6, 7)) * -1.0 + x454 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) + x454 += einsum(t2.aaaa[np.ix_(soa,soa,sVa,sVa)], (0, 1, 2, 3), x453, (4, 5, 6, 7, 0, 1), (4, 5, 6, 7, 2, 3)) + del x453 + t3new_aaaaaa += einsum(x454, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 + t3new_aaaaaa += einsum(x454, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 2.0 + t3new_aaaaaa += einsum(x454, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -2.0 + t3new_aaaaaa += einsum(x454, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 + t3new_aaaaaa += einsum(x454, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 2.0 + t3new_aaaaaa += einsum(x454, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -2.0 + t3new_aaaaaa += einsum(x454, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * -2.0 + t3new_aaaaaa += einsum(x454, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 + t3new_aaaaaa += einsum(x454, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -2.0 + t3new_aaaaaa += einsum(x454, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * -2.0 + t3new_aaaaaa += einsum(x454, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 + t3new_aaaaaa += einsum(x454, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -2.0 + t3new_aaaaaa += einsum(x454, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * 2.0 + t3new_aaaaaa += einsum(x454, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -2.0 + t3new_aaaaaa += einsum(x454, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * 2.0 + t3new_aaaaaa += einsum(x454, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * 2.0 + t3new_aaaaaa += einsum(x454, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -2.0 + t3new_aaaaaa += einsum(x454, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * 2.0 + del x454 + x455 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], nocc[0]), dtype=types[float]) + x455 += einsum(t2.aaaa[np.ix_(sOa,sOa,sva,sVa)], (0, 1, 2, 3), x447, (4, 5, 6, 2), (0, 1, 4, 3, 5, 6)) * -1.0 + x456 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) + x456 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x455, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) + del x455 + t3new_aaaaaa += einsum(x456, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -4.0 + t3new_aaaaaa += einsum(x456, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 4.0 + t3new_aaaaaa += einsum(x456, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * 4.0 + t3new_aaaaaa += einsum(x456, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -4.0 + t3new_aaaaaa += einsum(x456, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 4.0 + t3new_aaaaaa += einsum(x456, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -4.0 + t3new_aaaaaa += einsum(x456, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 4.0 + t3new_aaaaaa += einsum(x456, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -4.0 + t3new_aaaaaa += einsum(x456, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * -4.0 + t3new_aaaaaa += einsum(x456, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * 4.0 + t3new_aaaaaa += einsum(x456, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -4.0 + t3new_aaaaaa += einsum(x456, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * 4.0 + t3new_aaaaaa += einsum(x456, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -4.0 + t3new_aaaaaa += einsum(x456, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 4.0 + t3new_aaaaaa += einsum(x456, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * 4.0 + t3new_aaaaaa += einsum(x456, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -4.0 + t3new_aaaaaa += einsum(x456, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 4.0 + t3new_aaaaaa += einsum(x456, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -4.0 + del x456 + x457 = np.zeros((naocc[0], naocc[0], nocc[0], nocc[0]), dtype=types[float]) + x457 += einsum(t2.aaaa[np.ix_(sOa,sOa,sva,sva)], (0, 1, 2, 3), v.aaaa.ovov, (4, 2, 5, 3), (0, 1, 4, 5)) + x458 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], nocc[0]), dtype=types[float]) + x458 += einsum(t2.aaaa[np.ix_(soa,sOa,sVa,sVa)], (0, 1, 2, 3), x457, (4, 5, 0, 6), (4, 5, 1, 2, 3, 6)) + x459 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) + x459 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x458, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) + del x458 + t3new_aaaaaa += einsum(x459, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 + t3new_aaaaaa += einsum(x459, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 + t3new_aaaaaa += einsum(x459, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -2.0 + t3new_aaaaaa += einsum(x459, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -2.0 + t3new_aaaaaa += einsum(x459, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 2.0 + t3new_aaaaaa += einsum(x459, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 2.0 + t3new_aaaaaa += einsum(x459, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 2.0 + t3new_aaaaaa += einsum(x459, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 2.0 + t3new_aaaaaa += einsum(x459, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * 2.0 + t3new_aaaaaa += einsum(x459, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * 2.0 + t3new_aaaaaa += einsum(x459, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -2.0 + t3new_aaaaaa += einsum(x459, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -2.0 + t3new_aaaaaa += einsum(x459, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -2.0 + t3new_aaaaaa += einsum(x459, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -2.0 + t3new_aaaaaa += einsum(x459, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -2.0 + t3new_aaaaaa += einsum(x459, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -2.0 + t3new_aaaaaa += einsum(x459, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 2.0 + t3new_aaaaaa += einsum(x459, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 2.0 + del x459 + x460 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], nocc[0]), dtype=types[float]) + x460 += einsum(t2.aaaa[np.ix_(sOa,sOa,sva,sVa)], (0, 1, 2, 3), x450, (4, 5, 6, 2), (0, 1, 4, 3, 5, 6)) * -1.0 + x461 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) + x461 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x460, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) + del x460 + t3new_aaaaaa += einsum(x461, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * 4.0 + t3new_aaaaaa += einsum(x461, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -4.0 + t3new_aaaaaa += einsum(x461, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -4.0 + t3new_aaaaaa += einsum(x461, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * 4.0 + t3new_aaaaaa += einsum(x461, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -4.0 + t3new_aaaaaa += einsum(x461, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 4.0 + t3new_aaaaaa += einsum(x461, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -4.0 + t3new_aaaaaa += einsum(x461, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 4.0 + t3new_aaaaaa += einsum(x461, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * 4.0 + t3new_aaaaaa += einsum(x461, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -4.0 + t3new_aaaaaa += einsum(x461, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 4.0 + t3new_aaaaaa += einsum(x461, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -4.0 + t3new_aaaaaa += einsum(x461, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 4.0 + t3new_aaaaaa += einsum(x461, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -4.0 + t3new_aaaaaa += einsum(x461, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -4.0 + t3new_aaaaaa += einsum(x461, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * 4.0 + t3new_aaaaaa += einsum(x461, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -4.0 + t3new_aaaaaa += einsum(x461, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 4.0 + del x461 + x462 = np.zeros((naocc[0], naocc[0], navir[0], nocc[0]), dtype=types[float]) + x462 += einsum(x11, (0, 1), t2.aaaa[np.ix_(sOa,sOa,sva,sVa)], (2, 3, 1, 4), (2, 3, 4, 0)) * -1.0 + x463 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) + x463 += einsum(t2.aaaa[np.ix_(soa,sOa,sVa,sVa)], (0, 1, 2, 3), x462, (4, 5, 6, 0), (5, 4, 1, 6, 2, 3)) + t3new_aaaaaa += einsum(x463, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 4.0 + t3new_aaaaaa += einsum(x463, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -4.0 + t3new_aaaaaa += einsum(x463, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 4.0 + t3new_aaaaaa += einsum(x463, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * -4.0 + t3new_aaaaaa += einsum(x463, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * 4.0 + t3new_aaaaaa += einsum(x463, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * 4.0 + t3new_aaaaaa += einsum(x463, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -4.0 + t3new_aaaaaa += einsum(x463, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * 4.0 + t3new_aaaaaa += einsum(x463, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -4.0 + del x463 + x464 = np.zeros((naocc[0], naocc[0], navir[0], nocc[0]), dtype=types[float]) + x464 += einsum(x12, (0, 1), t2.aaaa[np.ix_(sOa,sOa,sva,sVa)], (2, 3, 1, 4), (2, 3, 4, 0)) * -1.0 + x465 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) + x465 += einsum(t2.aaaa[np.ix_(soa,sOa,sVa,sVa)], (0, 1, 2, 3), x464, (4, 5, 6, 0), (5, 4, 1, 6, 2, 3)) + t3new_aaaaaa += einsum(x465, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -4.0 + t3new_aaaaaa += einsum(x465, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 4.0 + t3new_aaaaaa += einsum(x465, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -4.0 + t3new_aaaaaa += einsum(x465, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * 4.0 + t3new_aaaaaa += einsum(x465, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -4.0 + t3new_aaaaaa += einsum(x465, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -4.0 + t3new_aaaaaa += einsum(x465, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 4.0 + t3new_aaaaaa += einsum(x465, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -4.0 + t3new_aaaaaa += einsum(x465, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 4.0 + del x465 + x466 = np.zeros((naocc[0], naocc[0], navir[0], nocc[0]), dtype=types[float]) + x466 += einsum(x15, (0, 1), t2.aaaa[np.ix_(sOa,sOa,sva,sVa)], (2, 3, 1, 4), (2, 3, 4, 0)) * -1.0 + x467 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) + x467 += einsum(t2.aaaa[np.ix_(soa,sOa,sVa,sVa)], (0, 1, 2, 3), x466, (4, 5, 6, 0), (5, 4, 1, 6, 2, 3)) + t3new_aaaaaa += einsum(x467, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 4.0 + t3new_aaaaaa += einsum(x467, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -4.0 + t3new_aaaaaa += einsum(x467, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 4.0 + t3new_aaaaaa += einsum(x467, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * -4.0 + t3new_aaaaaa += einsum(x467, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * 4.0 + t3new_aaaaaa += einsum(x467, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * 4.0 + t3new_aaaaaa += einsum(x467, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -4.0 + t3new_aaaaaa += einsum(x467, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * 4.0 + t3new_aaaaaa += einsum(x467, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -4.0 + del x467 + x468 = np.zeros((naocc[0], naocc[0], navir[0], navir[0], nocc[0], nvir[0]), dtype=types[float]) + x468 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), t2.aaaa[np.ix_(soa,sOa,sVa,sVa)], (2, 3, 4, 5), v.aaaa.ovov, (6, 7, 2, 1), (0, 3, 4, 5, 6, 7)) * -1.0 + x469 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], nocc[0]), dtype=types[float]) + x469 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), x468, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) + del x468 + x470 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) + x470 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x469, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) + del x469 + t3new_aaaaaa += einsum(x470, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 2.0 + t3new_aaaaaa += einsum(x470, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * -2.0 + t3new_aaaaaa += einsum(x470, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -2.0 + t3new_aaaaaa += einsum(x470, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 + t3new_aaaaaa += einsum(x470, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 2.0 + t3new_aaaaaa += einsum(x470, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -2.0 + t3new_aaaaaa += einsum(x470, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 + t3new_aaaaaa += einsum(x470, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * 2.0 + t3new_aaaaaa += einsum(x470, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 2.0 + t3new_aaaaaa += einsum(x470, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -2.0 + t3new_aaaaaa += einsum(x470, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -2.0 + t3new_aaaaaa += einsum(x470, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * 2.0 + t3new_aaaaaa += einsum(x470, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) * 2.0 + t3new_aaaaaa += einsum(x470, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -2.0 + t3new_aaaaaa += einsum(x470, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -2.0 + t3new_aaaaaa += einsum(x470, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * 2.0 + t3new_aaaaaa += einsum(x470, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) * 2.0 + t3new_aaaaaa += einsum(x470, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -2.0 + del x470 + x471 = np.zeros((naocc[0], naocc[0], navir[0], navir[0], nocc[0], nvir[0]), dtype=types[float]) + x471 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), t2.aaaa[np.ix_(sOa,sOa,sva,sVa)], (2, 3, 4, 5), v.aaaa.ovov, (6, 7, 0, 4), (2, 3, 1, 5, 6, 7)) * -1.0 + x472 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], nocc[0]), dtype=types[float]) + x472 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), x471, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) + del x471 + x473 = np.zeros((naocc[0], naocc[0], naocc[0], navir[0], navir[0], navir[0]), dtype=types[float]) + x473 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x472, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) + del x472 + t3new_aaaaaa += einsum(x473, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * 2.0 + t3new_aaaaaa += einsum(x473, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -2.0 + t3new_aaaaaa += einsum(x473, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 + t3new_aaaaaa += einsum(x473, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 + t3new_aaaaaa += einsum(x473, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 2.0 + t3new_aaaaaa += einsum(x473, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -2.0 + t3new_aaaaaa += einsum(x473, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * 2.0 + t3new_aaaaaa += einsum(x473, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -2.0 + t3new_aaaaaa += einsum(x473, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * -2.0 + t3new_aaaaaa += einsum(x473, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * 2.0 + t3new_aaaaaa += einsum(x473, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 + t3new_aaaaaa += einsum(x473, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -2.0 + t3new_aaaaaa += einsum(x473, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) * -2.0 + t3new_aaaaaa += einsum(x473, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * 2.0 + t3new_aaaaaa += einsum(x473, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * 2.0 + t3new_aaaaaa += einsum(x473, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -2.0 + t3new_aaaaaa += einsum(x473, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -2.0 + t3new_aaaaaa += einsum(x473, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * 2.0 + del x473 + x474 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x474 += einsum(f.bb.OO, (0, 1), t3.babbab, (2, 3, 1, 4, 5, 6), (3, 0, 2, 5, 4, 6)) + t3new_babbab += einsum(x474, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 + t3new_babbab += einsum(x474, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * 2.0 + del x474 + x475 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x475 += einsum(f.bb.VV, (0, 1), t3.babbab, (2, 3, 4, 5, 6, 1), (3, 2, 4, 6, 0, 5)) + t3new_babbab += einsum(x475, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -2.0 + t3new_babbab += einsum(x475, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 + del x475 + x476 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x476 += einsum(t2.abab[np.ix_(sOa,sob,sVa,sVb)], (0, 1, 2, 3), v.bbbb.oOOV, (1, 4, 5, 6), (0, 5, 4, 2, 3, 6)) + t3new_babbab += einsum(x476, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -1.0 + t3new_babbab += einsum(x476, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) + t3new_babbab += einsum(x476, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) + t3new_babbab += einsum(x476, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 + del x476 + x477 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x477 += einsum(t2.abab[np.ix_(soa,sOb,sVa,sVb)], (0, 1, 2, 3), v.aabb.oOOV, (0, 4, 5, 6), (4, 1, 5, 2, 3, 6)) * -1.0 + t3new_babbab += einsum(x477, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) + t3new_babbab += einsum(x477, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 + t3new_babbab += einsum(x477, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -1.0 + t3new_babbab += einsum(x477, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) + del x477 + x478 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x478 += einsum(t2.abab[np.ix_(sOa,sOb,sVa,svb)], (0, 1, 2, 3), v.bbbb.vVOV, (3, 4, 5, 6), (0, 1, 5, 2, 6, 4)) + t3new_babbab += einsum(x478, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) + t3new_babbab += einsum(x478, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 + t3new_babbab += einsum(x478, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 + t3new_babbab += einsum(x478, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) + del x478 + x479 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x479 += einsum(t2.abab[np.ix_(sOa,sOb,sva,sVb)], (0, 1, 2, 3), v.aabb.vVOV, (2, 4, 5, 6), (0, 1, 5, 4, 3, 6)) * -1.0 + t3new_babbab += einsum(x479, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 + t3new_babbab += einsum(x479, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) + t3new_babbab += einsum(x479, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) + t3new_babbab += einsum(x479, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 + del x479 + x480 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x480 += einsum(t2.bbbb[np.ix_(sob,sOb,sVb,sVb)], (0, 1, 2, 3), v.aabb.OVoO, (4, 5, 0, 6), (4, 1, 6, 5, 2, 3)) * -1.0 + t3new_babbab += einsum(x480, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 + t3new_babbab += einsum(x480, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -2.0 + del x480 + x481 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x481 += einsum(t2.bbbb[np.ix_(sOb,sOb,svb,sVb)], (0, 1, 2, 3), v.aabb.OVvV, (4, 5, 2, 6), (4, 0, 1, 5, 3, 6)) * -1.0 + t3new_babbab += einsum(x481, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 + t3new_babbab += einsum(x481, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 + del x481 + x482 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x482 += einsum(v.aabb.OVOV, (0, 1, 2, 3), t3.abaaba, (4, 5, 0, 6, 7, 1), (4, 5, 2, 6, 7, 3)) + t3new_babbab += einsum(x482, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * 2.0 + t3new_babbab += einsum(x482, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -2.0 + t3new_babbab += einsum(x482, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 + t3new_babbab += einsum(x482, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 + del x482 + x483 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x483 += einsum(v.aabb.OOOO, (0, 1, 2, 3), t3.babbab, (4, 1, 3, 5, 6, 7), (0, 4, 2, 6, 5, 7)) + t3new_babbab += einsum(x483, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * 2.0 + t3new_babbab += einsum(x483, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 + del x483 + x484 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x484 += einsum(v.bbbb.OOVV, (0, 1, 2, 3), t3.babbab, (4, 5, 1, 6, 7, 3), (5, 4, 0, 7, 6, 2)) + t3new_babbab += einsum(x484, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -2.0 + t3new_babbab += einsum(x484, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * 2.0 + t3new_babbab += einsum(x484, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 + t3new_babbab += einsum(x484, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -2.0 + del x484 + x485 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x485 += einsum(v.aabb.OOVV, (0, 1, 2, 3), t3.babbab, (4, 1, 5, 6, 7, 3), (0, 4, 5, 7, 6, 2)) + t3new_babbab += einsum(x485, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 + t3new_babbab += einsum(x485, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -2.0 + del x485 + x486 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x486 += einsum(v.bbbb.OVOV, (0, 1, 2, 3), t3.babbab, (4, 5, 2, 6, 7, 3), (5, 4, 0, 7, 6, 1)) + t3new_babbab += einsum(x486, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * 2.0 + t3new_babbab += einsum(x486, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -2.0 + t3new_babbab += einsum(x486, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 + t3new_babbab += einsum(x486, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 + del x486 + x487 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x487 += einsum(v.aabb.VVOO, (0, 1, 2, 3), t3.babbab, (4, 5, 3, 6, 1, 7), (5, 4, 2, 0, 6, 7)) + t3new_babbab += einsum(x487, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -2.0 + t3new_babbab += einsum(x487, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 + del x487 + x488 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x488 += einsum(v.aabb.VVVV, (0, 1, 2, 3), t3.babbab, (4, 5, 6, 7, 1, 3), (5, 4, 6, 0, 7, 2)) + t3new_babbab += einsum(x488, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 + t3new_babbab += einsum(x488, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 + del x488 + x489 = np.zeros((naocc[1], naocc[1]), dtype=types[float]) + x489 += einsum(f.bb.vO, (0, 1), t1.bb[np.ix_(sOb,svb)], (2, 0), (1, 2)) + t3new_abaaba += einsum(x489, (0, 1), t3.abaaba, (2, 0, 3, 4, 5, 6), (2, 1, 3, 4, 5, 6)) * -2.0 + x490 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x490 += einsum(x489, (0, 1), t3.babbab, (2, 3, 0, 4, 5, 6), (3, 1, 2, 5, 4, 6)) + t3new_babbab += einsum(x490, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 + t3new_babbab += einsum(x490, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * 2.0 + del x490 + x491 = np.zeros((navir[1], navir[1]), dtype=types[float]) + x491 += einsum(f.bb.oV, (0, 1), t1.bb[np.ix_(sob,sVb)], (0, 2), (1, 2)) + t3new_abaaba += einsum(x491, (0, 1), t3.abaaba, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) * -2.0 + x492 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x492 += einsum(x491, (0, 1), t3.babbab, (2, 3, 4, 5, 6, 0), (3, 2, 4, 6, 1, 5)) + t3new_babbab += einsum(x492, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 + t3new_babbab += einsum(x492, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 + del x492 + x493 = np.zeros((naocc[0], naocc[1], navir[1], nocc[0]), dtype=types[float]) + x493 += einsum(f.aa.ov, (0, 1), t2.abab[np.ix_(sOa,sOb,sva,sVb)], (2, 3, 1, 4), (2, 3, 4, 0)) * -1.0 + x494 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x494 += einsum(t2.abab[np.ix_(soa,sOb,sVa,sVb)], (0, 1, 2, 3), x493, (4, 5, 6, 0), (4, 5, 1, 2, 6, 3)) * -1.0 + t3new_babbab += einsum(x494, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 + t3new_babbab += einsum(x494, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) + t3new_babbab += einsum(x494, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) + t3new_babbab += einsum(x494, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 + del x494 + x495 = np.zeros((naocc[0], naocc[1], navir[0], nocc[1]), dtype=types[float]) + x495 += einsum(f.bb.ov, (0, 1), t2.abab[np.ix_(sOa,sOb,sVa,svb)], (2, 3, 4, 1), (2, 3, 4, 0)) + x496 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x496 += einsum(t2.bbbb[np.ix_(sob,sOb,sVb,sVb)], (0, 1, 2, 3), x495, (4, 5, 6, 0), (4, 5, 1, 6, 2, 3)) * -1.0 + t3new_babbab += einsum(x496, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * 2.0 + t3new_babbab += einsum(x496, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 + del x496 + x497 = np.zeros((naocc[1], naocc[1], navir[1], nocc[1]), dtype=types[float]) + x497 += einsum(f.bb.ov, (0, 1), t2.bbbb[np.ix_(sOb,sOb,svb,sVb)], (2, 3, 1, 4), (2, 3, 4, 0)) * -1.0 + x498 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x498 += einsum(t2.abab[np.ix_(sOa,sob,sVa,sVb)], (0, 1, 2, 3), x497, (4, 5, 6, 1), (0, 5, 4, 2, 6, 3)) * -1.0 + t3new_babbab += einsum(x498, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -2.0 + t3new_babbab += einsum(x498, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 + del x498 + x499 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x499 += einsum(t2.abab[np.ix_(soa,sOb,sVa,sVb)], (0, 1, 2, 3), x409, (4, 5, 6, 0), (4, 1, 5, 2, 3, 6)) * -1.0 + t3new_babbab += einsum(x499, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) + t3new_babbab += einsum(x499, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 + t3new_babbab += einsum(x499, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -1.0 + t3new_babbab += einsum(x499, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) + del x499 + x500 = np.zeros((naocc[0], naocc[1], naocc[1], navir[1], navir[1], nocc[0]), dtype=types[float]) + x500 += einsum(t2.abab[np.ix_(sOa,sOb,sva,sVb)], (0, 1, 2, 3), v.aabb.ovOV, (4, 2, 5, 6), (0, 1, 5, 3, 6, 4)) * -1.0 + x501 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x501 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x500, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) + del x500 + t3new_babbab += einsum(x501, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) + t3new_babbab += einsum(x501, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 + t3new_babbab += einsum(x501, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -1.0 + t3new_babbab += einsum(x501, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) + del x501 + x502 = np.zeros((naocc[0], naocc[1], naocc[1], navir[1], navir[1], nocc[0]), dtype=types[float]) + x502 += einsum(t2.bbbb[np.ix_(sob,sOb,sVb,sVb)], (0, 1, 2, 3), v.aabb.oOoO, (4, 5, 0, 6), (5, 1, 6, 2, 3, 4)) * -1.0 + x503 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x503 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x502, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) + del x502 + t3new_babbab += einsum(x503, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 + t3new_babbab += einsum(x503, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * 2.0 + del x503 + x504 = np.zeros((naocc[0], naocc[1], naocc[1], navir[1], navir[1], nocc[0]), dtype=types[float]) + x504 += einsum(t2.bbbb[np.ix_(sOb,sOb,svb,sVb)], (0, 1, 2, 3), v.aabb.oOvV, (4, 5, 2, 6), (5, 0, 1, 3, 6, 4)) * -1.0 + x505 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x505 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x504, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) + del x504 + t3new_babbab += einsum(x505, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -2.0 + t3new_babbab += einsum(x505, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 + del x505 + x506 = np.zeros((naocc[0], naocc[1], navir[0], nocc[1]), dtype=types[float]) + x506 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), v.aabb.vVoO, (1, 2, 3, 4), (0, 4, 2, 3)) + x507 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x507 += einsum(t2.bbbb[np.ix_(sob,sOb,sVb,sVb)], (0, 1, 2, 3), x506, (4, 5, 6, 0), (4, 1, 5, 6, 2, 3)) * -1.0 + t3new_babbab += einsum(x507, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 + t3new_babbab += einsum(x507, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -2.0 + del x507 + x508 = np.zeros((naocc[1], naocc[1], navir[0], navir[1], navir[1], nvir[0]), dtype=types[float]) + x508 += einsum(t2.bbbb[np.ix_(sOb,sOb,svb,sVb)], (0, 1, 2, 3), v.aabb.vVvV, (4, 5, 2, 6), (0, 1, 5, 3, 6, 4)) * -1.0 + x509 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x509 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), x508, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) + del x508 + t3new_babbab += einsum(x509, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 + t3new_babbab += einsum(x509, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 + del x509 + x510 = np.zeros((naocc[1], naocc[1], navir[1], nocc[1]), dtype=types[float]) + x510 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), v.bbbb.oOvV, (2, 3, 1, 4), (0, 3, 4, 2)) + x511 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x511 += einsum(t2.abab[np.ix_(sOa,sob,sVa,sVb)], (0, 1, 2, 3), x510, (4, 5, 6, 1), (0, 4, 5, 2, 3, 6)) + t3new_babbab += einsum(x511, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 + t3new_babbab += einsum(x511, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) + t3new_babbab += einsum(x511, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) + t3new_babbab += einsum(x511, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -1.0 + del x511 + x512 = np.zeros((naocc[0], naocc[1], navir[1], nocc[0]), dtype=types[float]) + x512 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), v.aabb.oOvV, (2, 3, 1, 4), (3, 0, 4, 2)) + x513 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x513 += einsum(t2.abab[np.ix_(soa,sOb,sVa,sVb)], (0, 1, 2, 3), x512, (4, 5, 6, 0), (4, 5, 1, 2, 3, 6)) * -1.0 + t3new_babbab += einsum(x513, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) + t3new_babbab += einsum(x513, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 + t3new_babbab += einsum(x513, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 + t3new_babbab += einsum(x513, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) + del x513 + x514 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], nocc[1]), dtype=types[float]) + x514 += einsum(t2.abab[np.ix_(sOa,sob,sVa,sVb)], (0, 1, 2, 3), v.bbbb.oOoO, (4, 5, 1, 6), (0, 5, 6, 2, 3, 4)) + x515 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x515 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), x514, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 1, 6)) + del x514 + t3new_babbab += einsum(x515, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) + t3new_babbab += einsum(x515, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -1.0 + t3new_babbab += einsum(x515, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 + t3new_babbab += einsum(x515, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) + del x515 + x516 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], nocc[1]), dtype=types[float]) + x516 += einsum(t2.abab[np.ix_(soa,sOb,sVa,sVb)], (0, 1, 2, 3), v.aabb.oOoO, (0, 4, 5, 6), (4, 1, 6, 2, 3, 5)) * -1.0 + x517 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x517 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), x516, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 1, 6)) + del x516 + t3new_babbab += einsum(x517, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) + t3new_babbab += einsum(x517, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -1.0 + t3new_babbab += einsum(x517, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 + t3new_babbab += einsum(x517, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) + del x517 + x518 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], nocc[1]), dtype=types[float]) + x518 += einsum(t2.abab[np.ix_(sOa,sOb,sVa,svb)], (0, 1, 2, 3), v.bbbb.oOvV, (4, 5, 3, 6), (0, 1, 5, 2, 6, 4)) + x519 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x519 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), x518, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 1, 6)) + del x518 + t3new_babbab += einsum(x519, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -1.0 + t3new_babbab += einsum(x519, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) + t3new_babbab += einsum(x519, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) + t3new_babbab += einsum(x519, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 + del x519 + x520 = np.zeros((naocc[1], naocc[1], navir[1], nocc[1]), dtype=types[float]) + x520 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), v.bbbb.ovOV, (2, 1, 3, 4), (0, 3, 4, 2)) + x521 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x521 += einsum(t2.abab[np.ix_(sOa,sob,sVa,sVb)], (0, 1, 2, 3), x520, (4, 5, 6, 1), (0, 4, 5, 2, 3, 6)) + t3new_babbab += einsum(x521, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) + t3new_babbab += einsum(x521, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 + t3new_babbab += einsum(x521, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 + t3new_babbab += einsum(x521, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) + del x521 + x522 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], nocc[1]), dtype=types[float]) + x522 += einsum(t2.abab[np.ix_(sOa,sOb,sVa,svb)], (0, 1, 2, 3), v.bbbb.ovOV, (4, 3, 5, 6), (0, 1, 5, 2, 6, 4)) + x523 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x523 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), x522, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 1, 6)) + del x522 + t3new_babbab += einsum(x523, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) + t3new_babbab += einsum(x523, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 + t3new_babbab += einsum(x523, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 + t3new_babbab += einsum(x523, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) + del x523 + x524 = np.zeros((naocc[0], naocc[1], navir[0], navir[1], navir[1], nvir[1]), dtype=types[float]) + x524 += einsum(t2.abab[np.ix_(sOa,sOb,sVa,svb)], (0, 1, 2, 3), v.bbbb.vVvV, (4, 5, 3, 6), (0, 1, 2, 5, 6, 4)) + x525 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x525 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), x524, (2, 3, 4, 5, 6, 1), (2, 0, 3, 4, 5, 6)) + del x524 + t3new_babbab += einsum(x525, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) + t3new_babbab += einsum(x525, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 + t3new_babbab += einsum(x525, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -1.0 + t3new_babbab += einsum(x525, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) + del x525 + x526 = np.zeros((naocc[0], naocc[1], navir[0], navir[1], navir[1], nvir[1]), dtype=types[float]) + x526 += einsum(t2.abab[np.ix_(sOa,sOb,sva,sVb)], (0, 1, 2, 3), v.aabb.vVvV, (2, 4, 5, 6), (0, 1, 4, 3, 6, 5)) * -1.0 + x527 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x527 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), x526, (2, 3, 4, 5, 6, 1), (2, 0, 3, 4, 5, 6)) + del x526 + t3new_babbab += einsum(x527, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 + t3new_babbab += einsum(x527, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) + t3new_babbab += einsum(x527, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) + t3new_babbab += einsum(x527, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -1.0 + del x527 + x528 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], nocc[1]), dtype=types[float]) + x528 += einsum(t2.abab[np.ix_(sOa,sOb,sva,sVb)], (0, 1, 2, 3), v.aabb.vVoO, (2, 4, 5, 6), (0, 1, 6, 4, 3, 5)) * -1.0 + x529 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x529 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), x528, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 1, 6)) + del x528 + t3new_babbab += einsum(x529, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 + t3new_babbab += einsum(x529, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) + t3new_babbab += einsum(x529, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) + t3new_babbab += einsum(x529, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 + del x529 + x530 = np.zeros((naocc[0], naocc[1], navir[0], nocc[1]), dtype=types[float]) + x530 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), v.aabb.OVov, (2, 3, 4, 1), (2, 0, 3, 4)) + x531 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x531 += einsum(t2.bbbb[np.ix_(sob,sOb,sVb,sVb)], (0, 1, 2, 3), x530, (4, 5, 6, 0), (4, 5, 1, 6, 2, 3)) * -1.0 + t3new_babbab += einsum(x531, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 + t3new_babbab += einsum(x531, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * 2.0 + del x531 + x532 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], nocc[1]), dtype=types[float]) + x532 += einsum(t2.bbbb[np.ix_(sOb,sOb,svb,sVb)], (0, 1, 2, 3), v.aabb.OVov, (4, 5, 6, 2), (4, 0, 1, 5, 3, 6)) * -1.0 + x533 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x533 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), x532, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 1, 6)) + del x532 + t3new_babbab += einsum(x533, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 + t3new_babbab += einsum(x533, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 + del x533 + x534 = np.zeros((naocc[0], naocc[0], naocc[1], naocc[1]), dtype=types[float]) + x534 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), v.aabb.vOOO, (1, 2, 3, 4), (0, 2, 3, 4)) + x535 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x535 += einsum(x534, (0, 1, 2, 3), t3.babbab, (4, 1, 3, 5, 6, 7), (0, 4, 2, 6, 5, 7)) + t3new_babbab += einsum(x535, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * 2.0 + t3new_babbab += einsum(x535, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 + del x535 + x536 = np.zeros((naocc[0], naocc[0], navir[1], navir[1]), dtype=types[float]) + x536 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), v.aabb.vOVV, (1, 2, 3, 4), (0, 2, 3, 4)) + x537 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x537 += einsum(x536, (0, 1, 2, 3), t3.babbab, (4, 1, 5, 6, 7, 3), (0, 4, 5, 7, 6, 2)) + t3new_babbab += einsum(x537, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 + t3new_babbab += einsum(x537, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -2.0 + del x537 + x538 = np.zeros((naocc[1], naocc[1], navir[0], navir[0]), dtype=types[float]) + x538 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), v.aabb.oVOO, (0, 2, 3, 4), (3, 4, 1, 2)) + x539 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x539 += einsum(x538, (0, 1, 2, 3), t3.babbab, (4, 5, 1, 6, 3, 7), (5, 4, 0, 2, 6, 7)) + t3new_babbab += einsum(x539, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * 2.0 + t3new_babbab += einsum(x539, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 + del x539 + x540 = np.zeros((naocc[1], naocc[1]), dtype=types[float]) + x540 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aabb.ovOO, (0, 1, 2, 3), (2, 3)) + t3new_abaaba += einsum(x540, (0, 1), t3.abaaba, (2, 1, 3, 4, 5, 6), (2, 0, 3, 4, 5, 6)) * -2.0 + x541 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x541 += einsum(x540, (0, 1), t3.babbab, (2, 3, 1, 4, 5, 6), (3, 2, 0, 5, 4, 6)) + t3new_babbab += einsum(x541, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -2.0 + t3new_babbab += einsum(x541, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 + del x541 + x542 = np.zeros((navir[0], navir[0], navir[1], navir[1]), dtype=types[float]) + x542 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), v.aabb.oVVV, (0, 2, 3, 4), (1, 2, 3, 4)) + x543 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x543 += einsum(x542, (0, 1, 2, 3), t3.babbab, (4, 5, 6, 7, 1, 3), (5, 4, 6, 0, 7, 2)) + t3new_babbab += einsum(x543, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 + t3new_babbab += einsum(x543, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -2.0 + del x543 + x544 = np.zeros((navir[1], navir[1]), dtype=types[float]) + x544 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aabb.ovVV, (0, 1, 2, 3), (2, 3)) + t3new_abaaba += einsum(x544, (0, 1), t3.abaaba, (2, 3, 4, 5, 1, 6), (2, 3, 4, 5, 0, 6)) * 2.0 + x545 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x545 += einsum(x544, (0, 1), t3.babbab, (2, 3, 4, 5, 6, 1), (3, 2, 4, 6, 5, 0)) + t3new_babbab += einsum(x545, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 + t3new_babbab += einsum(x545, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 + del x545 + x546 = np.zeros((naocc[0], naocc[1], navir[0], navir[1]), dtype=types[float]) + x546 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), v.aabb.OVvV, (2, 3, 1, 4), (2, 0, 3, 4)) + t3new_abaaba += einsum(x546, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 0, 6, 7, 2), (4, 1, 5, 6, 3, 7)) * 6.0 + x547 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x547 += einsum(x546, (0, 1, 2, 3), t3.abaaba, (4, 5, 0, 6, 7, 2), (4, 1, 5, 6, 7, 3)) + t3new_babbab += einsum(x547, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 + t3new_babbab += einsum(x547, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -2.0 + t3new_babbab += einsum(x547, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -2.0 + t3new_babbab += einsum(x547, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * 2.0 + del x547 + x548 = np.zeros((naocc[0], naocc[1], navir[0], navir[1]), dtype=types[float]) + x548 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), v.aabb.OVoO, (2, 3, 0, 4), (2, 4, 3, 1)) + t3new_abaaba += einsum(x548, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 0, 6, 7, 2), (4, 1, 5, 6, 3, 7)) * -6.0 + x549 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x549 += einsum(x548, (0, 1, 2, 3), t3.abaaba, (4, 5, 0, 6, 7, 2), (4, 5, 1, 6, 3, 7)) + t3new_babbab += einsum(x549, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -2.0 + t3new_babbab += einsum(x549, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 + t3new_babbab += einsum(x549, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * 2.0 + t3new_babbab += einsum(x549, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 + del x549 + x550 = np.zeros((naocc[0], naocc[0], naocc[1], naocc[1]), dtype=types[float]) + x550 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), v.aabb.OOvO, (2, 3, 1, 4), (2, 3, 0, 4)) + x551 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x551 += einsum(x550, (0, 1, 2, 3), t3.babbab, (4, 1, 3, 5, 6, 7), (0, 2, 4, 6, 5, 7)) + t3new_babbab += einsum(x551, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 + t3new_babbab += einsum(x551, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -2.0 + del x551 + x552 = np.zeros((naocc[1], naocc[1], naocc[1], naocc[1]), dtype=types[float]) + x552 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), v.bbbb.vOOO, (1, 2, 3, 4), (0, 3, 4, 2)) + x553 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x553 += einsum(x552, (0, 1, 2, 3), t3.babbab, (3, 4, 2, 5, 6, 7), (4, 0, 1, 6, 5, 7)) * -1.0 + t3new_babbab += einsum(x553, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 + t3new_babbab += einsum(x553, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -2.0 + del x553 + x554 = np.zeros((naocc[1], naocc[1], navir[1], navir[1]), dtype=types[float]) + x554 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), v.bbbb.oOOV, (0, 2, 3, 4), (3, 2, 1, 4)) + t3new_abaaba += einsum(x554, (0, 1, 2, 3), t3.abaaba, (4, 0, 5, 6, 3, 7), (4, 1, 5, 6, 2, 7)) * -2.0 + x555 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x555 += einsum(x554, (0, 1, 2, 3), t3.babbab, (4, 5, 0, 6, 7, 3), (5, 4, 1, 7, 2, 6)) + t3new_babbab += einsum(x555, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -2.0 + t3new_babbab += einsum(x555, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 + t3new_babbab += einsum(x555, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * 2.0 + t3new_babbab += einsum(x555, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 + del x555 + x556 = np.zeros((naocc[1], naocc[1], navir[1], navir[1]), dtype=types[float]) + x556 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), v.bbbb.oVOO, (0, 2, 3, 4), (3, 4, 1, 2)) + t3new_abaaba += einsum(x556, (0, 1, 2, 3), t3.abaaba, (4, 1, 5, 6, 3, 7), (4, 0, 5, 6, 2, 7)) * 2.0 + x557 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x557 += einsum(x556, (0, 1, 2, 3), t3.babbab, (4, 5, 1, 6, 7, 3), (5, 4, 0, 7, 2, 6)) + t3new_babbab += einsum(x557, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * 2.0 + t3new_babbab += einsum(x557, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -2.0 + t3new_babbab += einsum(x557, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -2.0 + t3new_babbab += einsum(x557, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 + del x557 + x558 = np.zeros((naocc[0], naocc[0], navir[1], navir[1]), dtype=types[float]) + x558 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), v.aabb.OOoV, (2, 3, 0, 4), (2, 3, 1, 4)) + x559 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x559 += einsum(x558, (0, 1, 2, 3), t3.babbab, (4, 1, 5, 6, 7, 3), (0, 4, 5, 7, 2, 6)) + t3new_babbab += einsum(x559, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -2.0 + t3new_babbab += einsum(x559, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 + del x559 + x560 = np.zeros((naocc[1], naocc[1]), dtype=types[float]) + x560 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.bbbb.oOvO, (0, 2, 1, 3), (2, 3)) + t3new_abaaba += einsum(x560, (0, 1), t3.abaaba, (2, 1, 3, 4, 5, 6), (2, 0, 3, 4, 5, 6)) * 2.0 + x561 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x561 += einsum(x560, (0, 1), t3.babbab, (2, 3, 1, 4, 5, 6), (3, 2, 0, 5, 4, 6)) + t3new_babbab += einsum(x561, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * 2.0 + t3new_babbab += einsum(x561, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 + del x561 + x562 = np.zeros((naocc[1], naocc[1]), dtype=types[float]) + x562 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.bbbb.ovOO, (0, 1, 2, 3), (2, 3)) + t3new_abaaba += einsum(x562, (0, 1), t3.abaaba, (2, 1, 3, 4, 5, 6), (2, 0, 3, 4, 5, 6)) * -2.0 + x563 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x563 += einsum(x562, (0, 1), t3.babbab, (2, 3, 1, 4, 5, 6), (3, 2, 0, 5, 4, 6)) + t3new_babbab += einsum(x563, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -2.0 + t3new_babbab += einsum(x563, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 + del x563 + x564 = np.zeros((naocc[1], naocc[1], navir[1], navir[1]), dtype=types[float]) + x564 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), v.bbbb.vOVV, (1, 2, 3, 4), (0, 2, 3, 4)) + t3new_abaaba += einsum(x564, (0, 1, 2, 3), t3.abaaba, (4, 1, 5, 6, 3, 7), (4, 0, 5, 6, 2, 7)) * -2.0 + x565 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x565 += einsum(x564, (0, 1, 2, 3), t3.babbab, (4, 5, 1, 6, 7, 3), (5, 0, 4, 7, 6, 2)) + t3new_babbab += einsum(x565, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 + t3new_babbab += einsum(x565, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 + t3new_babbab += einsum(x565, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * 2.0 + t3new_babbab += einsum(x565, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -2.0 + del x565 + x566 = np.zeros((naocc[1], naocc[1], navir[1], navir[1]), dtype=types[float]) + x566 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), v.bbbb.vVOV, (1, 2, 3, 4), (0, 3, 4, 2)) + t3new_abaaba += einsum(x566, (0, 1, 2, 3), t3.abaaba, (4, 1, 5, 6, 2, 7), (4, 0, 5, 6, 3, 7)) * 2.0 + x567 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x567 += einsum(x566, (0, 1, 2, 3), t3.babbab, (4, 5, 1, 6, 7, 2), (5, 0, 4, 7, 6, 3)) + t3new_babbab += einsum(x567, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 + t3new_babbab += einsum(x567, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -2.0 + t3new_babbab += einsum(x567, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -2.0 + t3new_babbab += einsum(x567, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * 2.0 + del x567 + x568 = np.zeros((navir[1], navir[1], navir[1], navir[1]), dtype=types[float]) + x568 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), v.bbbb.oVVV, (0, 2, 3, 4), (1, 3, 4, 2)) + x569 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x569 += einsum(x568, (0, 1, 2, 3), t3.babbab, (4, 5, 6, 3, 7, 2), (5, 4, 6, 7, 0, 1)) * -1.0 + t3new_babbab += einsum(x569, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 + t3new_babbab += einsum(x569, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 + del x569 + x570 = np.zeros((navir[1], navir[1]), dtype=types[float]) + x570 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.bbbb.ovVV, (0, 1, 2, 3), (2, 3)) + t3new_abaaba += einsum(x570, (0, 1), t3.abaaba, (2, 3, 4, 5, 1, 6), (2, 3, 4, 5, 0, 6)) * 2.0 + x571 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x571 += einsum(x570, (0, 1), t3.babbab, (2, 3, 4, 5, 6, 1), (3, 2, 4, 6, 5, 0)) + t3new_babbab += einsum(x571, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 + t3new_babbab += einsum(x571, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 + del x571 + x572 = np.zeros((navir[1], navir[1]), dtype=types[float]) + x572 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.bbbb.oVvV, (0, 2, 1, 3), (2, 3)) + t3new_abaaba += einsum(x572, (0, 1), t3.abaaba, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) * -2.0 + x573 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x573 += einsum(x572, (0, 1), t3.babbab, (2, 3, 4, 5, 6, 0), (3, 2, 4, 6, 5, 1)) + t3new_babbab += einsum(x573, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 + t3new_babbab += einsum(x573, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -2.0 + del x573 + x574 = np.zeros((naocc[1], naocc[1], navir[0], navir[0]), dtype=types[float]) + x574 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), v.aabb.VVvO, (2, 3, 1, 4), (0, 4, 2, 3)) + x575 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x575 += einsum(x574, (0, 1, 2, 3), t3.babbab, (4, 5, 1, 6, 3, 7), (5, 0, 4, 2, 6, 7)) + t3new_babbab += einsum(x575, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 + t3new_babbab += einsum(x575, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * 2.0 + del x575 + x576 = np.zeros((navir[0], navir[0], navir[1], navir[1]), dtype=types[float]) + x576 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), v.aabb.VVoV, (2, 3, 0, 4), (2, 3, 1, 4)) + x577 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x577 += einsum(x576, (0, 1, 2, 3), t3.babbab, (4, 5, 6, 7, 1, 3), (5, 4, 6, 0, 2, 7)) + t3new_babbab += einsum(x577, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 + t3new_babbab += einsum(x577, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 + del x577 + x578 = np.zeros((naocc[0], naocc[1], navir[1], nocc[0]), dtype=types[float]) + x578 += einsum(t2.abab[np.ix_(soa,sOb,sva,sVb)], (0, 1, 2, 3), v.aaaa.ovoO, (4, 2, 0, 5), (5, 1, 3, 4)) + x579 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x579 += einsum(t2.abab[np.ix_(soa,sOb,sVa,sVb)], (0, 1, 2, 3), x578, (4, 5, 6, 0), (4, 1, 5, 2, 3, 6)) * -1.0 + t3new_babbab += einsum(x579, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 + t3new_babbab += einsum(x579, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) + t3new_babbab += einsum(x579, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) + t3new_babbab += einsum(x579, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 + del x579 + x580 = np.zeros((naocc[0], naocc[1], navir[1], nocc[0]), dtype=types[float]) + x580 += einsum(t2.abab[np.ix_(soa,sOb,sva,sVb)], (0, 1, 2, 3), v.aaaa.ovoO, (0, 2, 4, 5), (5, 1, 3, 4)) + x581 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x581 += einsum(t2.abab[np.ix_(soa,sOb,sVa,sVb)], (0, 1, 2, 3), x580, (4, 5, 6, 0), (4, 1, 5, 2, 3, 6)) * -1.0 + t3new_babbab += einsum(x581, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) + t3new_babbab += einsum(x581, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -1.0 + t3new_babbab += einsum(x581, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 + t3new_babbab += einsum(x581, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) + del x581 + x582 = np.zeros((naocc[1], navir[0], navir[1], nvir[0]), dtype=types[float]) + x582 += einsum(t2.abab[np.ix_(soa,sob,sVa,sVb)], (0, 1, 2, 3), v.aabb.ovoO, (0, 4, 1, 5), (5, 2, 3, 4)) + x583 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x583 += einsum(t2.abab[np.ix_(sOa,sOb,sva,sVb)], (0, 1, 2, 3), x582, (4, 5, 6, 2), (0, 1, 4, 5, 3, 6)) * -1.0 + t3new_babbab += einsum(x583, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 + t3new_babbab += einsum(x583, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) + t3new_babbab += einsum(x583, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) + t3new_babbab += einsum(x583, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 + del x583 + x584 = np.zeros((naocc[1], naocc[1], navir[1], nocc[1]), dtype=types[float]) + x584 += einsum(t2.abab[np.ix_(soa,sOb,sva,sVb)], (0, 1, 2, 3), v.aabb.ovoO, (0, 2, 4, 5), (1, 5, 3, 4)) + x585 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x585 += einsum(t2.abab[np.ix_(sOa,sob,sVa,sVb)], (0, 1, 2, 3), x584, (4, 5, 6, 1), (0, 4, 5, 2, 3, 6)) + t3new_babbab += einsum(x585, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) + t3new_babbab += einsum(x585, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 + t3new_babbab += einsum(x585, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -1.0 + t3new_babbab += einsum(x585, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) + del x585 + x586 = np.zeros((naocc[0], naocc[1], navir[1], nocc[0]), dtype=types[float]) + x586 += einsum(t2.abab[np.ix_(sOa,sob,sva,sVb)], (0, 1, 2, 3), v.aabb.ovoO, (4, 2, 1, 5), (0, 5, 3, 4)) * -1.0 + x587 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x587 += einsum(t2.abab[np.ix_(soa,sOb,sVa,sVb)], (0, 1, 2, 3), x586, (4, 5, 6, 0), (4, 1, 5, 2, 6, 3)) * -1.0 + t3new_babbab += einsum(x587, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 + t3new_babbab += einsum(x587, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) + t3new_babbab += einsum(x587, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) + t3new_babbab += einsum(x587, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 + del x587 + x588 = np.zeros((naocc[1], navir[0], navir[1], nvir[0]), dtype=types[float]) + x588 += einsum(t2.abab[np.ix_(soa,sOb,sVa,svb)], (0, 1, 2, 3), v.aabb.ovvV, (0, 4, 3, 5), (1, 2, 5, 4)) * -1.0 + x589 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x589 += einsum(t2.abab[np.ix_(sOa,sOb,sva,sVb)], (0, 1, 2, 3), x588, (4, 5, 6, 2), (0, 1, 4, 5, 3, 6)) * -1.0 + t3new_babbab += einsum(x589, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) + t3new_babbab += einsum(x589, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 + t3new_babbab += einsum(x589, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 + t3new_babbab += einsum(x589, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) + del x589 + x590 = np.zeros((naocc[0], naocc[1], navir[1], nocc[0]), dtype=types[float]) + x590 += einsum(t2.abab[np.ix_(sOa,sOb,sva,svb)], (0, 1, 2, 3), v.aabb.ovvV, (4, 2, 3, 5), (0, 1, 5, 4)) + x591 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x591 += einsum(t2.abab[np.ix_(soa,sOb,sVa,sVb)], (0, 1, 2, 3), x590, (4, 5, 6, 0), (4, 5, 1, 2, 3, 6)) * -1.0 + t3new_babbab += einsum(x591, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) + t3new_babbab += einsum(x591, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 + t3new_babbab += einsum(x591, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 + t3new_babbab += einsum(x591, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) + del x591 + x592 = np.zeros((naocc[1], navir[0], navir[1], nvir[0]), dtype=types[float]) + x592 += einsum(t2.abab[np.ix_(soa,sOb,sva,sVb)], (0, 1, 2, 3), v.aaaa.ovvV, (0, 4, 2, 5), (1, 5, 3, 4)) + x593 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x593 += einsum(t2.abab[np.ix_(sOa,sOb,sva,sVb)], (0, 1, 2, 3), x592, (4, 5, 6, 2), (0, 1, 4, 5, 3, 6)) * -1.0 + t3new_babbab += einsum(x593, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) + t3new_babbab += einsum(x593, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 + t3new_babbab += einsum(x593, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -1.0 + t3new_babbab += einsum(x593, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) + del x593 + x594 = np.zeros((naocc[1], navir[1], navir[1], nvir[1]), dtype=types[float]) + x594 += einsum(t2.abab[np.ix_(soa,sOb,sva,sVb)], (0, 1, 2, 3), v.aabb.ovvV, (0, 2, 4, 5), (1, 3, 5, 4)) + x595 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x595 += einsum(t2.abab[np.ix_(sOa,sOb,sVa,svb)], (0, 1, 2, 3), x594, (4, 5, 6, 3), (0, 1, 4, 2, 5, 6)) + t3new_babbab += einsum(x595, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) + t3new_babbab += einsum(x595, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 + t3new_babbab += einsum(x595, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 + t3new_babbab += einsum(x595, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) + del x595 + x596 = np.zeros((naocc[1], navir[0], navir[1], nvir[0]), dtype=types[float]) + x596 += einsum(t2.abab[np.ix_(soa,sOb,sva,sVb)], (0, 1, 2, 3), v.aaaa.ovvV, (0, 2, 4, 5), (1, 5, 3, 4)) + x597 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x597 += einsum(t2.abab[np.ix_(sOa,sOb,sva,sVb)], (0, 1, 2, 3), x596, (4, 5, 6, 2), (0, 1, 4, 5, 3, 6)) * -1.0 + t3new_babbab += einsum(x597, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 + t3new_babbab += einsum(x597, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) + t3new_babbab += einsum(x597, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) + t3new_babbab += einsum(x597, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 + del x597 + x598 = np.zeros((naocc[1], naocc[1], navir[1], nocc[1]), dtype=types[float]) + x598 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,sVb)], (0, 1, 2, 3), v.bbbb.ovoO, (0, 2, 4, 5), (1, 5, 3, 4)) + x599 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x599 += einsum(t2.abab[np.ix_(sOa,sob,sVa,sVb)], (0, 1, 2, 3), x598, (4, 5, 6, 1), (0, 4, 5, 2, 3, 6)) + t3new_babbab += einsum(x599, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 + t3new_babbab += einsum(x599, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 + t3new_babbab += einsum(x599, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * 2.0 + t3new_babbab += einsum(x599, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -2.0 + del x599 + x600 = np.zeros((naocc[0], naocc[1], navir[0], nocc[1]), dtype=types[float]) + x600 += einsum(t2.abab[np.ix_(sOa,sob,sVa,svb)], (0, 1, 2, 3), v.bbbb.ovoO, (4, 3, 1, 5), (0, 5, 2, 4)) + x601 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x601 += einsum(t2.bbbb[np.ix_(sob,sOb,sVb,sVb)], (0, 1, 2, 3), x600, (4, 5, 6, 0), (4, 1, 5, 6, 2, 3)) * -1.0 + t3new_babbab += einsum(x601, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 + t3new_babbab += einsum(x601, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * 2.0 + del x601 + x602 = np.zeros((naocc[1], naocc[1], navir[1], nocc[1]), dtype=types[float]) + x602 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,sVb)], (0, 1, 2, 3), v.bbbb.ovoO, (4, 2, 0, 5), (1, 5, 3, 4)) + x603 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x603 += einsum(t2.abab[np.ix_(sOa,sob,sVa,sVb)], (0, 1, 2, 3), x602, (4, 5, 6, 1), (0, 4, 5, 2, 3, 6)) + t3new_babbab += einsum(x603, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 + t3new_babbab += einsum(x603, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -2.0 + t3new_babbab += einsum(x603, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -2.0 + t3new_babbab += einsum(x603, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * 2.0 + del x603 + x604 = np.zeros((naocc[0], naocc[1], navir[0], nocc[1]), dtype=types[float]) + x604 += einsum(t2.abab[np.ix_(sOa,sob,sVa,svb)], (0, 1, 2, 3), v.bbbb.ovoO, (1, 3, 4, 5), (0, 5, 2, 4)) + x605 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x605 += einsum(t2.bbbb[np.ix_(sob,sOb,sVb,sVb)], (0, 1, 2, 3), x604, (4, 5, 6, 0), (4, 1, 5, 6, 2, 3)) * -1.0 + t3new_babbab += einsum(x605, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 + t3new_babbab += einsum(x605, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -2.0 + del x605 + x606 = np.zeros((naocc[1], navir[1], navir[1], nvir[1]), dtype=types[float]) + x606 += einsum(t2.bbbb[np.ix_(sob,sob,sVb,sVb)], (0, 1, 2, 3), v.bbbb.ovoO, (1, 4, 0, 5), (5, 2, 3, 4)) + x607 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x607 += einsum(t2.abab[np.ix_(sOa,sOb,sVa,svb)], (0, 1, 2, 3), x606, (4, 5, 6, 3), (0, 1, 4, 2, 5, 6)) + t3new_babbab += einsum(x607, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 + t3new_babbab += einsum(x607, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 + t3new_babbab += einsum(x607, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) + t3new_babbab += einsum(x607, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) + del x607 + x608 = np.zeros((naocc[0], naocc[1], navir[1], nocc[0]), dtype=types[float]) + x608 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,sVb)], (0, 1, 2, 3), v.aabb.oOov, (4, 5, 0, 2), (5, 1, 3, 4)) + x609 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x609 += einsum(t2.abab[np.ix_(soa,sOb,sVa,sVb)], (0, 1, 2, 3), x608, (4, 5, 6, 0), (4, 5, 1, 2, 6, 3)) * -1.0 + t3new_babbab += einsum(x609, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 + t3new_babbab += einsum(x609, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 + t3new_babbab += einsum(x609, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -2.0 + t3new_babbab += einsum(x609, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * 2.0 + del x609 + x610 = np.zeros((naocc[0], naocc[1], navir[0], nocc[1]), dtype=types[float]) + x610 += einsum(t2.abab[np.ix_(soa,sOb,sVa,svb)], (0, 1, 2, 3), v.aabb.oOov, (0, 4, 5, 3), (4, 1, 2, 5)) * -1.0 + x611 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x611 += einsum(t2.bbbb[np.ix_(sob,sOb,sVb,sVb)], (0, 1, 2, 3), x610, (4, 5, 6, 0), (4, 1, 5, 6, 2, 3)) * -1.0 + t3new_babbab += einsum(x611, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 + t3new_babbab += einsum(x611, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -2.0 + del x611 + x612 = np.zeros((naocc[0], navir[0], navir[1], nvir[1]), dtype=types[float]) + x612 += einsum(t2.abab[np.ix_(soa,sob,sVa,sVb)], (0, 1, 2, 3), v.aabb.oOov, (0, 4, 1, 5), (4, 2, 3, 5)) + x613 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x613 += einsum(t2.bbbb[np.ix_(sOb,sOb,svb,sVb)], (0, 1, 2, 3), x612, (4, 5, 6, 2), (4, 0, 1, 5, 3, 6)) * -1.0 + t3new_babbab += einsum(x613, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 + t3new_babbab += einsum(x613, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 + del x613 + x614 = np.zeros((naocc[1], navir[1], navir[1], nvir[1]), dtype=types[float]) + x614 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,sVb)], (0, 1, 2, 3), v.bbbb.ovvV, (0, 4, 2, 5), (1, 3, 5, 4)) + x615 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x615 += einsum(t2.abab[np.ix_(sOa,sOb,sVa,svb)], (0, 1, 2, 3), x614, (4, 5, 6, 3), (0, 1, 4, 2, 5, 6)) + t3new_babbab += einsum(x615, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -2.0 + t3new_babbab += einsum(x615, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * 2.0 + t3new_babbab += einsum(x615, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 + t3new_babbab += einsum(x615, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 + del x615 + x616 = np.zeros((naocc[1], navir[1], navir[1], nvir[1]), dtype=types[float]) + x616 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,sVb)], (0, 1, 2, 3), v.bbbb.ovvV, (0, 2, 4, 5), (1, 3, 5, 4)) + x617 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x617 += einsum(t2.abab[np.ix_(sOa,sOb,sVa,svb)], (0, 1, 2, 3), x616, (4, 5, 6, 3), (0, 1, 4, 2, 5, 6)) + t3new_babbab += einsum(x617, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * 2.0 + t3new_babbab += einsum(x617, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -2.0 + t3new_babbab += einsum(x617, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -2.0 + t3new_babbab += einsum(x617, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 + del x617 + x618 = np.zeros((naocc[0], navir[0], navir[1], nvir[1]), dtype=types[float]) + x618 += einsum(t2.abab[np.ix_(sOa,sob,sVa,svb)], (0, 1, 2, 3), v.bbbb.ovvV, (1, 3, 4, 5), (0, 2, 5, 4)) + x619 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x619 += einsum(t2.bbbb[np.ix_(sOb,sOb,svb,sVb)], (0, 1, 2, 3), x618, (4, 5, 6, 2), (4, 0, 1, 5, 3, 6)) * -1.0 + t3new_babbab += einsum(x619, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 + t3new_babbab += einsum(x619, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 + del x619 + x620 = np.zeros((naocc[1], naocc[1], navir[1], nocc[1]), dtype=types[float]) + x620 += einsum(t2.bbbb[np.ix_(sOb,sOb,svb,svb)], (0, 1, 2, 3), v.bbbb.ovvV, (4, 3, 2, 5), (0, 1, 5, 4)) + x621 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x621 += einsum(t2.abab[np.ix_(sOa,sob,sVa,sVb)], (0, 1, 2, 3), x620, (4, 5, 6, 1), (0, 5, 4, 2, 3, 6)) * -1.0 + t3new_babbab += einsum(x621, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 + t3new_babbab += einsum(x621, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) + t3new_babbab += einsum(x621, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 + t3new_babbab += einsum(x621, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) + del x621 + x622 = np.zeros((naocc[0], navir[0], navir[1], nvir[1]), dtype=types[float]) + x622 += einsum(t2.abab[np.ix_(sOa,sob,sVa,svb)], (0, 1, 2, 3), v.bbbb.ovvV, (1, 4, 3, 5), (0, 2, 5, 4)) + x623 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x623 += einsum(t2.bbbb[np.ix_(sOb,sOb,svb,sVb)], (0, 1, 2, 3), x622, (4, 5, 6, 2), (4, 0, 1, 5, 3, 6)) * -1.0 + t3new_babbab += einsum(x623, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -2.0 + t3new_babbab += einsum(x623, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 + del x623 + x624 = np.zeros((naocc[1], navir[0], navir[1], nvir[0]), dtype=types[float]) + x624 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,sVb)], (0, 1, 2, 3), v.aabb.vVov, (4, 5, 0, 2), (1, 5, 3, 4)) + x625 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x625 += einsum(t2.abab[np.ix_(sOa,sOb,sva,sVb)], (0, 1, 2, 3), x624, (4, 5, 6, 2), (0, 1, 4, 5, 3, 6)) * -1.0 + t3new_babbab += einsum(x625, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -2.0 + t3new_babbab += einsum(x625, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * 2.0 + t3new_babbab += einsum(x625, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 + t3new_babbab += einsum(x625, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -2.0 + del x625 + x626 = np.zeros((naocc[0], naocc[1], navir[0], nocc[1]), dtype=types[float]) + x626 += einsum(t2.abab[np.ix_(sOa,sOb,sva,svb)], (0, 1, 2, 3), v.aabb.vVov, (2, 4, 5, 3), (0, 1, 4, 5)) + x627 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x627 += einsum(t2.bbbb[np.ix_(sob,sOb,sVb,sVb)], (0, 1, 2, 3), x626, (4, 5, 6, 0), (4, 5, 1, 6, 2, 3)) * -1.0 + t3new_babbab += einsum(x627, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * 2.0 + t3new_babbab += einsum(x627, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 + del x627 + x628 = np.zeros((naocc[0], navir[0], navir[1], nvir[1]), dtype=types[float]) + x628 += einsum(t2.abab[np.ix_(sOa,sob,sva,sVb)], (0, 1, 2, 3), v.aabb.vVov, (2, 4, 1, 5), (0, 4, 3, 5)) * -1.0 + x629 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x629 += einsum(t2.bbbb[np.ix_(sOb,sOb,svb,sVb)], (0, 1, 2, 3), x628, (4, 5, 6, 2), (4, 0, 1, 5, 3, 6)) * -1.0 + t3new_babbab += einsum(x629, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 + t3new_babbab += einsum(x629, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 + del x629 + x630 = np.zeros((naocc[0], naocc[1], navir[0], nocc[1]), dtype=types[float]) + x630 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sVa)], (0, 1, 2, 3), v.aabb.ovoO, (0, 2, 4, 5), (1, 5, 3, 4)) + x631 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x631 += einsum(t2.bbbb[np.ix_(sob,sOb,sVb,sVb)], (0, 1, 2, 3), x630, (4, 5, 6, 0), (4, 1, 5, 6, 2, 3)) * -1.0 + t3new_babbab += einsum(x631, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 4.0 + t3new_babbab += einsum(x631, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -4.0 + del x631 + x632 = np.zeros((naocc[0], navir[0], navir[1], nvir[1]), dtype=types[float]) + x632 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sVa)], (0, 1, 2, 3), v.aabb.ovvV, (0, 2, 4, 5), (1, 3, 5, 4)) + x633 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x633 += einsum(t2.bbbb[np.ix_(sOb,sOb,svb,sVb)], (0, 1, 2, 3), x632, (4, 5, 6, 2), (4, 0, 1, 5, 3, 6)) * -1.0 + t3new_babbab += einsum(x633, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 4.0 + t3new_babbab += einsum(x633, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -4.0 + del x633 + x634 = np.zeros((naocc[0], naocc[0], naocc[0], naocc[1], navir[0], navir[1]), dtype=types[float]) + x634 += einsum(t2.abab[np.ix_(sOa,sOb,sva,sVb)], (0, 1, 2, 3), v.aaaa.vOOV, (2, 4, 5, 6), (0, 5, 4, 1, 6, 3)) * -1.0 + x635 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x635 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x634, (6, 0, 2, 7, 5, 8), (6, 7, 1, 3, 8, 4)) + t3new_babbab += einsum(x635, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 + t3new_babbab += einsum(x635, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) + t3new_babbab += einsum(x635, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) + t3new_babbab += einsum(x635, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 + del x635 + x636 = np.zeros((naocc[0], naocc[0], naocc[0], naocc[1], navir[0], navir[1]), dtype=types[float]) + x636 += einsum(t2.abab[np.ix_(sOa,sOb,sva,sVb)], (0, 1, 2, 3), v.aaaa.vOOV, (2, 4, 5, 6), (0, 5, 4, 1, 6, 3)) * -1.0 + x637 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x637 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x636, (6, 0, 2, 7, 5, 8), (6, 7, 1, 3, 8, 4)) + t3new_babbab += einsum(x637, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 + t3new_babbab += einsum(x637, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) + t3new_babbab += einsum(x637, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) + t3new_babbab += einsum(x637, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 + del x637 + x638 = np.zeros((naocc[0], naocc[1], navir[0], navir[0], navir[0], navir[1]), dtype=types[float]) + x638 += einsum(t2.abab[np.ix_(soa,sOb,sVa,sVb)], (0, 1, 2, 3), v.aaaa.oVOV, (0, 4, 5, 6), (5, 1, 2, 6, 4, 3)) * -1.0 + x639 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x639 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x638, (2, 6, 7, 3, 5, 8), (0, 6, 1, 7, 8, 4)) + t3new_babbab += einsum(x639, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -2.0 + t3new_babbab += einsum(x639, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 + t3new_babbab += einsum(x639, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * 2.0 + t3new_babbab += einsum(x639, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -2.0 + del x639 + x640 = np.zeros((naocc[0], naocc[1], navir[0], navir[1]), dtype=types[float]) + x640 += einsum(t2.abab[np.ix_(soa,sOb,sva,sVb)], (0, 1, 2, 3), v.aaaa.ovOV, (0, 2, 4, 5), (4, 1, 5, 3)) + t3new_abaaba += einsum(x640, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 0, 6, 7, 2), (4, 1, 5, 6, 3, 7)) * 6.0000000000000595 + x641 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x641 += einsum(x640, (0, 1, 2, 3), t3.abaaba, (4, 5, 0, 6, 7, 2), (4, 1, 5, 6, 3, 7)) + t3new_babbab += einsum(x641, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.00000000000002 + t3new_babbab += einsum(x641, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.00000000000002 + t3new_babbab += einsum(x641, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -2.00000000000002 + t3new_babbab += einsum(x641, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * 2.00000000000002 + del x641 + x642 = np.zeros((naocc[0], naocc[1], navir[0], navir[1]), dtype=types[float]) + x642 += einsum(t2.abab[np.ix_(soa,sOb,sva,sVb)], (0, 1, 2, 3), v.aaaa.oVvO, (0, 4, 2, 5), (5, 1, 4, 3)) + t3new_abaaba += einsum(x642, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 0, 6, 7, 2), (4, 1, 5, 6, 3, 7)) * -6.0000000000000595 + x643 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x643 += einsum(x642, (0, 1, 2, 3), t3.abaaba, (4, 5, 0, 6, 7, 2), (4, 1, 5, 6, 3, 7)) + t3new_babbab += einsum(x643, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -2.00000000000002 + t3new_babbab += einsum(x643, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.00000000000002 + t3new_babbab += einsum(x643, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * 2.00000000000002 + t3new_babbab += einsum(x643, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -2.00000000000002 + del x643 + x644 = np.zeros((naocc[0], naocc[0], naocc[1], naocc[1], navir[1], navir[1]), dtype=types[float]) + x644 += einsum(t2.abab[np.ix_(sOa,sOb,sva,sVb)], (0, 1, 2, 3), v.aabb.vOOV, (2, 4, 5, 6), (0, 4, 1, 5, 3, 6)) * -1.0 + x645 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x645 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x644, (6, 1, 7, 2, 8, 5), (6, 7, 0, 4, 8, 3)) + t3new_babbab += einsum(x645, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 + t3new_babbab += einsum(x645, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 + t3new_babbab += einsum(x645, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -2.0 + t3new_babbab += einsum(x645, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * 2.0 + del x645 + x646 = np.zeros((naocc[0], naocc[0], naocc[1], naocc[1]), dtype=types[float]) + x646 += einsum(t2.abab[np.ix_(sOa,sOb,sva,svb)], (0, 1, 2, 3), v.aabb.vOvO, (2, 4, 3, 5), (0, 4, 1, 5)) + x647 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x647 += einsum(x646, (0, 1, 2, 3), t3.babbab, (4, 1, 3, 5, 6, 7), (0, 2, 4, 6, 5, 7)) + t3new_babbab += einsum(x647, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 + t3new_babbab += einsum(x647, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -2.0 + del x647 + x648 = np.zeros((naocc[0], naocc[0], naocc[1], naocc[1], navir[0], navir[0]), dtype=types[float]) + x648 += einsum(t2.abab[np.ix_(sOa,sOb,sVa,svb)], (0, 1, 2, 3), v.aabb.OVvO, (4, 5, 3, 6), (0, 4, 1, 6, 2, 5)) + x649 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x649 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x648, (6, 1, 7, 2, 8, 4), (6, 7, 0, 8, 3, 5)) + t3new_babbab += einsum(x649, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 + t3new_babbab += einsum(x649, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * 2.0 + del x649 + x650 = np.zeros((naocc[0], naocc[0], navir[0], navir[0], navir[1], navir[1]), dtype=types[float]) + x650 += einsum(t2.abab[np.ix_(sOa,sob,sVa,sVb)], (0, 1, 2, 3), v.aabb.OVoV, (4, 5, 1, 6), (0, 4, 2, 5, 3, 6)) + x651 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x651 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x650, (6, 1, 7, 4, 8, 5), (6, 0, 2, 7, 8, 3)) + t3new_babbab += einsum(x651, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 + t3new_babbab += einsum(x651, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 + del x651 + x652 = np.zeros((naocc[0], naocc[0], navir[1], navir[1]), dtype=types[float]) + x652 += einsum(t2.abab[np.ix_(sOa,sob,sva,sVb)], (0, 1, 2, 3), v.aabb.vOoV, (2, 4, 1, 5), (0, 4, 3, 5)) * -1.0 + x653 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x653 += einsum(x652, (0, 1, 2, 3), t3.babbab, (4, 1, 5, 6, 7, 3), (0, 4, 5, 7, 2, 6)) + t3new_babbab += einsum(x653, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.00000000000002 + t3new_babbab += einsum(x653, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.00000000000002 + del x653 + x654 = np.zeros((naocc[1], naocc[1], navir[0], navir[0], navir[1], navir[1]), dtype=types[float]) + x654 += einsum(t2.abab[np.ix_(soa,sOb,sVa,sVb)], (0, 1, 2, 3), v.aabb.oVOV, (0, 4, 5, 6), (1, 5, 2, 4, 3, 6)) * -1.0 + x655 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x655 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x654, (6, 2, 7, 4, 8, 5), (1, 6, 0, 7, 8, 3)) + t3new_babbab += einsum(x655, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 + t3new_babbab += einsum(x655, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 + t3new_babbab += einsum(x655, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -2.0 + t3new_babbab += einsum(x655, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * 2.0 + del x655 + x656 = np.zeros((naocc[1], naocc[1], navir[1], navir[1]), dtype=types[float]) + x656 += einsum(t2.abab[np.ix_(soa,sOb,sva,sVb)], (0, 1, 2, 3), v.aabb.ovOV, (0, 2, 4, 5), (1, 4, 3, 5)) + t3new_abaaba += einsum(x656, (0, 1, 2, 3), t3.abaaba, (4, 1, 5, 6, 3, 7), (4, 0, 5, 6, 2, 7)) * 2.00000000000002 + x657 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x657 += einsum(x656, (0, 1, 2, 3), t3.babbab, (4, 5, 1, 6, 7, 3), (5, 0, 4, 7, 2, 6)) + t3new_babbab += einsum(x657, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.00000000000002 + t3new_babbab += einsum(x657, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.00000000000002 + t3new_babbab += einsum(x657, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -2.00000000000002 + t3new_babbab += einsum(x657, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * 2.00000000000002 + del x657 + x658 = np.zeros((naocc[1], naocc[1]), dtype=types[float]) + x658 += einsum(t2.abab[np.ix_(soa,sOb,sva,svb)], (0, 1, 2, 3), v.aabb.ovvO, (0, 2, 3, 4), (1, 4)) * -1.0 + t3new_abaaba += einsum(x658, (0, 1), t3.abaaba, (2, 1, 3, 4, 5, 6), (2, 0, 3, 4, 5, 6)) * 2.0 + x659 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x659 += einsum(x658, (0, 1), t3.babbab, (2, 3, 1, 4, 5, 6), (3, 0, 2, 5, 4, 6)) + t3new_babbab += einsum(x659, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 + t3new_babbab += einsum(x659, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -2.0 + del x659 + x660 = np.zeros((naocc[1], naocc[1], navir[0], navir[0]), dtype=types[float]) + x660 += einsum(t2.abab[np.ix_(soa,sOb,sVa,svb)], (0, 1, 2, 3), v.aabb.oVvO, (0, 4, 3, 5), (1, 5, 2, 4)) * -1.0 + x661 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x661 += einsum(x660, (0, 1, 2, 3), t3.babbab, (4, 5, 1, 6, 3, 7), (5, 0, 4, 2, 6, 7)) + t3new_babbab += einsum(x661, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.00000000000002 + t3new_babbab += einsum(x661, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * 2.00000000000002 + del x661 + x662 = np.zeros((navir[0], navir[0], navir[1], navir[1]), dtype=types[float]) + x662 += einsum(t2.abab[np.ix_(soa,sob,sVa,sVb)], (0, 1, 2, 3), v.aabb.oVoV, (0, 4, 1, 5), (2, 4, 3, 5)) + x663 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x663 += einsum(x662, (0, 1, 2, 3), t3.babbab, (4, 5, 6, 7, 1, 3), (5, 4, 6, 0, 2, 7)) + t3new_babbab += einsum(x663, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -2.0 + t3new_babbab += einsum(x663, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 + del x663 + x664 = np.zeros((navir[1], navir[1]), dtype=types[float]) + x664 += einsum(t2.abab[np.ix_(soa,sob,sva,sVb)], (0, 1, 2, 3), v.aabb.ovoV, (0, 2, 1, 4), (3, 4)) * -1.0 + t3new_abaaba += einsum(x664, (0, 1), t3.abaaba, (2, 3, 4, 5, 1, 6), (2, 3, 4, 5, 0, 6)) * 2.0 + x665 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x665 += einsum(x664, (0, 1), t3.babbab, (2, 3, 4, 5, 6, 1), (3, 2, 4, 6, 0, 5)) + t3new_babbab += einsum(x665, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -2.0 + t3new_babbab += einsum(x665, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 + del x665 + x666 = np.zeros((naocc[0], naocc[1], naocc[1], naocc[1], navir[0], navir[1]), dtype=types[float]) + x666 += einsum(t2.abab[np.ix_(sOa,sOb,sVa,svb)], (0, 1, 2, 3), v.bbbb.vOOV, (3, 4, 5, 6), (0, 1, 5, 4, 2, 6)) + x667 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x667 += einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), x666, (6, 7, 1, 2, 8, 5), (6, 7, 0, 8, 3, 4)) + t3new_babbab += einsum(x667, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 3.0 + t3new_babbab += einsum(x667, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -3.0 + del x667 + x668 = np.zeros((naocc[0], naocc[1], naocc[1], naocc[1], navir[0], navir[1]), dtype=types[float]) + x668 += einsum(t2.abab[np.ix_(sOa,sOb,sVa,svb)], (0, 1, 2, 3), v.bbbb.vOOV, (3, 4, 5, 6), (0, 1, 5, 4, 2, 6)) + x669 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x669 += einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), x668, (6, 7, 1, 2, 8, 5), (6, 7, 0, 8, 3, 4)) + t3new_babbab += einsum(x669, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 3.0 + t3new_babbab += einsum(x669, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -3.0 + del x669 + x670 = np.zeros((naocc[0], naocc[1], navir[0], navir[1], navir[1], navir[1]), dtype=types[float]) + x670 += einsum(t2.abab[np.ix_(sOa,sob,sVa,sVb)], (0, 1, 2, 3), v.bbbb.oVOV, (1, 4, 5, 6), (0, 5, 2, 3, 6, 4)) + x671 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x671 += einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), x670, (6, 2, 7, 8, 4, 5), (6, 0, 1, 7, 8, 3)) + t3new_babbab += einsum(x671, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -6.0 + t3new_babbab += einsum(x671, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 6.0 + del x671 + x672 = np.zeros((naocc[0], naocc[1], naocc[1], naocc[1], navir[0], navir[1]), dtype=types[float]) + x672 += einsum(t2.bbbb[np.ix_(sOb,sOb,svb,sVb)], (0, 1, 2, 3), v.aabb.OVvO, (4, 5, 2, 6), (4, 0, 1, 6, 5, 3)) * -1.0 + x673 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x673 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x672, (2, 6, 7, 1, 5, 8), (0, 7, 6, 3, 8, 4)) * -1.0 + t3new_babbab += einsum(x673, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -4.0 + t3new_babbab += einsum(x673, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 4.0 + del x673 + x674 = np.zeros((naocc[0], naocc[1], navir[0], navir[1], navir[1], navir[1]), dtype=types[float]) + x674 += einsum(t2.bbbb[np.ix_(sob,sOb,sVb,sVb)], (0, 1, 2, 3), v.aabb.OVoV, (4, 5, 0, 6), (4, 1, 5, 2, 3, 6)) * -1.0 + x675 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x675 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x674, (2, 6, 5, 7, 8, 4), (0, 6, 1, 3, 7, 8)) + t3new_babbab += einsum(x675, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 4.0 + t3new_babbab += einsum(x675, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -4.0 + del x675 + x676 = np.zeros((naocc[0], naocc[1], navir[0], navir[1]), dtype=types[float]) + x676 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,sVb)], (0, 1, 2, 3), v.aabb.OVov, (4, 5, 0, 2), (4, 1, 5, 3)) + t3new_abaaba += einsum(x676, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 0, 6, 7, 2), (4, 1, 5, 6, 3, 7)) * 12.000000000000123 + x677 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x677 += einsum(x676, (0, 1, 2, 3), t3.abaaba, (4, 5, 0, 6, 7, 2), (4, 1, 5, 6, 3, 7)) + t3new_babbab += einsum(x677, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 4.00000000000004 + t3new_babbab += einsum(x677, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -4.00000000000004 + t3new_babbab += einsum(x677, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -4.00000000000004 + t3new_babbab += einsum(x677, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * 4.00000000000004 + del x677 + x678 = np.zeros((naocc[1], naocc[1], naocc[1], naocc[1], navir[1], navir[1]), dtype=types[float]) + x678 += einsum(t2.bbbb[np.ix_(sOb,sOb,svb,sVb)], (0, 1, 2, 3), v.bbbb.vOOV, (2, 4, 5, 6), (0, 1, 5, 4, 3, 6)) * -1.0 + x679 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x679 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x678, (6, 7, 2, 0, 8, 5), (1, 7, 6, 4, 8, 3)) + t3new_babbab += einsum(x679, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 + t3new_babbab += einsum(x679, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 + del x679 + x680 = np.zeros((naocc[1], naocc[1], naocc[1], naocc[1]), dtype=types[float]) + x680 += einsum(t2.bbbb[np.ix_(sOb,sOb,svb,svb)], (0, 1, 2, 3), v.bbbb.vOvO, (2, 4, 3, 5), (0, 1, 4, 5)) + x681 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x681 += einsum(x680, (0, 1, 2, 3), t3.babbab, (2, 4, 3, 5, 6, 7), (4, 1, 0, 6, 5, 7)) * -1.0 + t3new_babbab += einsum(x681, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 + t3new_babbab += einsum(x681, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 + del x681 + x682 = np.zeros((naocc[1], naocc[1], naocc[1], naocc[1], navir[1], navir[1]), dtype=types[float]) + x682 += einsum(t2.bbbb[np.ix_(sOb,sOb,svb,sVb)], (0, 1, 2, 3), v.bbbb.vOOV, (2, 4, 5, 6), (0, 1, 5, 4, 3, 6)) * -1.0 + x683 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x683 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x682, (6, 7, 0, 2, 8, 5), (1, 7, 6, 4, 8, 3)) * -1.0 + t3new_babbab += einsum(x683, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 + t3new_babbab += einsum(x683, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 + del x683 + x684 = np.zeros((naocc[1], naocc[1], navir[1], navir[1], navir[1], navir[1]), dtype=types[float]) + x684 += einsum(t2.bbbb[np.ix_(sob,sOb,sVb,sVb)], (0, 1, 2, 3), v.bbbb.oVOV, (0, 4, 5, 6), (1, 5, 2, 3, 6, 4)) * -1.0 + x685 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x685 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x684, (6, 2, 7, 8, 3, 5), (1, 6, 0, 4, 7, 8)) + t3new_babbab += einsum(x685, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -4.0 + t3new_babbab += einsum(x685, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * 4.0 + del x685 + x686 = np.zeros((naocc[1], naocc[1], navir[1], navir[1]), dtype=types[float]) + x686 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,sVb)], (0, 1, 2, 3), v.bbbb.ovOV, (0, 2, 4, 5), (1, 4, 3, 5)) + t3new_abaaba += einsum(x686, (0, 1, 2, 3), t3.abaaba, (4, 1, 5, 6, 3, 7), (4, 0, 5, 6, 2, 7)) * 4.00000000000004 + x687 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x687 += einsum(x686, (0, 1, 2, 3), t3.babbab, (4, 5, 1, 6, 7, 3), (5, 0, 4, 7, 2, 6)) + t3new_babbab += einsum(x687, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 4.00000000000004 + t3new_babbab += einsum(x687, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -4.00000000000004 + t3new_babbab += einsum(x687, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -4.00000000000004 + t3new_babbab += einsum(x687, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * 4.00000000000004 + del x687 + x688 = np.zeros((naocc[1], naocc[1]), dtype=types[float]) + x688 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,svb)], (0, 1, 2, 3), v.bbbb.ovvO, (0, 3, 2, 4), (1, 4)) * -1.0 + x689 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x689 += einsum(x688, (0, 1), t3.babbab, (2, 3, 1, 4, 5, 6), (3, 0, 2, 5, 4, 6)) + t3new_babbab += einsum(x689, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 + t3new_babbab += einsum(x689, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 + t3new_babbab += einsum(x689, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * 2.0 + t3new_babbab += einsum(x689, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * 2.0 + del x689 + x690 = np.zeros((naocc[1], naocc[1], navir[1], navir[1]), dtype=types[float]) + x690 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,sVb)], (0, 1, 2, 3), v.bbbb.oVvO, (0, 4, 2, 5), (1, 5, 3, 4)) + t3new_abaaba += einsum(x690, (0, 1, 2, 3), t3.abaaba, (4, 1, 5, 6, 3, 7), (4, 0, 5, 6, 2, 7)) * -4.00000000000004 + x691 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x691 += einsum(x690, (0, 1, 2, 3), t3.babbab, (4, 5, 1, 6, 7, 3), (5, 0, 4, 7, 2, 6)) + t3new_babbab += einsum(x691, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -4.00000000000004 + t3new_babbab += einsum(x691, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 4.00000000000004 + t3new_babbab += einsum(x691, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * 4.00000000000004 + t3new_babbab += einsum(x691, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -4.00000000000004 + del x691 + x692 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x692 += einsum(x387, (0, 1), t3.babbab, (2, 1, 3, 4, 5, 6), (0, 2, 3, 5, 4, 6)) + t3new_babbab += einsum(x692, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 + t3new_babbab += einsum(x692, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 + del x692 + x693 = np.zeros((navir[1], navir[1], navir[1], navir[1]), dtype=types[float]) + x693 += einsum(t2.bbbb[np.ix_(sob,sob,sVb,sVb)], (0, 1, 2, 3), v.bbbb.oVoV, (0, 4, 1, 5), (2, 3, 5, 4)) * -1.0 + t3new_babbab += einsum(x693, (0, 1, 2, 3), t3.babbab, (4, 5, 6, 2, 7, 3), (4, 5, 6, 0, 7, 1)) * 2.0 + x694 = np.zeros((navir[1], navir[1]), dtype=types[float]) + x694 += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), v.bbbb.ovoV, (1, 2, 0, 4), (3, 4)) * -1.0 + t3new_abaaba += einsum(x694, (0, 1), t3.abaaba, (2, 3, 4, 5, 1, 6), (2, 3, 4, 5, 0, 6)) * -2.0 + x695 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x695 += einsum(x694, (0, 1), t3.babbab, (2, 3, 4, 5, 6, 1), (3, 2, 4, 6, 0, 5)) + t3new_babbab += einsum(x695, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 + t3new_babbab += einsum(x695, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 + del x695 + x696 = np.zeros((navir[1], navir[1]), dtype=types[float]) + x696 += einsum(t2.bbbb[np.ix_(sob,sob,svb,sVb)], (0, 1, 2, 3), v.bbbb.ovoV, (1, 2, 0, 4), (3, 4)) * -1.0 + t3new_abaaba += einsum(x696, (0, 1), t3.abaaba, (2, 3, 4, 5, 1, 6), (2, 3, 4, 5, 0, 6)) * -2.0 + x697 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x697 += einsum(x696, (0, 1), t3.babbab, (2, 3, 4, 5, 6, 1), (3, 2, 4, 6, 0, 5)) + t3new_babbab += einsum(x697, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 + t3new_babbab += einsum(x697, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 + del x697 + x698 = np.zeros((naocc[1], naocc[1], navir[0], navir[1], navir[1], nvir[0]), dtype=types[float]) + x698 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), t2.bbbb[np.ix_(sob,sOb,sVb,sVb)], (2, 3, 4, 5), v.aabb.ovoO, (0, 6, 2, 7), (3, 7, 1, 4, 5, 6)) * -1.0 + x699 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x699 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), x698, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) + del x698 + t3new_babbab += einsum(x699, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 + t3new_babbab += einsum(x699, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * 2.0 + del x699 + x700 = np.zeros((naocc[1], naocc[1], navir[0], navir[1], navir[1], nvir[0]), dtype=types[float]) + x700 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), t2.bbbb[np.ix_(sOb,sOb,svb,sVb)], (2, 3, 4, 5), v.aabb.ovvV, (0, 6, 4, 7), (2, 3, 1, 5, 7, 6)) * -1.0 + x701 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x701 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), x700, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) + del x700 + t3new_babbab += einsum(x701, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -2.0 + t3new_babbab += einsum(x701, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 + del x701 + x702 = np.zeros((naocc[1], naocc[1], navir[0], navir[1], navir[1], nvir[0]), dtype=types[float]) + x702 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), t2.abab[np.ix_(soa,sOb,sVa,sVb)], (2, 3, 4, 5), v.aabb.ovvV, (2, 6, 1, 7), (0, 3, 4, 5, 7, 6)) * -1.0 + x703 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x703 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), x702, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) + del x702 + t3new_babbab += einsum(x703, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) + t3new_babbab += einsum(x703, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 + t3new_babbab += einsum(x703, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 + t3new_babbab += einsum(x703, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) + del x703 + x704 = np.zeros((naocc[1], naocc[1], navir[0], navir[1], navir[1], nvir[0]), dtype=types[float]) + x704 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), t2.abab[np.ix_(soa,sOb,sVa,sVb)], (2, 3, 4, 5), v.aabb.ovoO, (2, 6, 0, 7), (3, 7, 4, 1, 5, 6)) * -1.0 + x705 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x705 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), x704, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) + del x704 + t3new_babbab += einsum(x705, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) + t3new_babbab += einsum(x705, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -1.0 + t3new_babbab += einsum(x705, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 + t3new_babbab += einsum(x705, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) + del x705 + x706 = np.zeros((naocc[0], naocc[1], navir[0], navir[1], navir[1], nvir[1]), dtype=types[float]) + x706 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), t2.abab[np.ix_(sOa,sOb,sva,sVb)], (2, 3, 4, 5), v.aabb.ovvV, (0, 4, 6, 7), (2, 3, 1, 5, 7, 6)) * -1.0 + x707 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x707 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), x706, (2, 3, 4, 5, 6, 1), (2, 0, 3, 4, 5, 6)) + del x706 + t3new_babbab += einsum(x707, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) + t3new_babbab += einsum(x707, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 + t3new_babbab += einsum(x707, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 + t3new_babbab += einsum(x707, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) + del x707 + x708 = np.zeros((naocc[1], navir[0], navir[1], nvir[0]), dtype=types[float]) + x708 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), t1.bb[np.ix_(sob,sVb)], (2, 3), v.aabb.ovoO, (0, 4, 2, 5), (5, 1, 3, 4)) + x709 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x709 += einsum(t2.abab[np.ix_(sOa,sOb,sva,sVb)], (0, 1, 2, 3), x708, (4, 5, 6, 2), (0, 1, 4, 5, 6, 3)) * -1.0 + t3new_babbab += einsum(x709, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) + t3new_babbab += einsum(x709, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -1.0 + t3new_babbab += einsum(x709, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 + t3new_babbab += einsum(x709, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) + del x709 + x710 = np.zeros((naocc[0], naocc[1], navir[0], navir[1], navir[1], nvir[1]), dtype=types[float]) + x710 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), t2.bbbb[np.ix_(sob,sOb,sVb,sVb)], (2, 3, 4, 5), v.aabb.oOov, (0, 6, 2, 7), (6, 3, 1, 4, 5, 7)) * -1.0 + x711 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x711 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), x710, (2, 3, 4, 5, 6, 1), (2, 0, 3, 4, 5, 6)) + del x710 + t3new_babbab += einsum(x711, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 + t3new_babbab += einsum(x711, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -2.0 + del x711 + x712 = np.zeros((naocc[0], navir[0], navir[1], nvir[1]), dtype=types[float]) + x712 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), t1.bb[np.ix_(sob,sVb)], (2, 3), v.aabb.oOov, (0, 4, 2, 5), (4, 1, 3, 5)) + x713 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x713 += einsum(t2.bbbb[np.ix_(sOb,sOb,svb,sVb)], (0, 1, 2, 3), x712, (4, 5, 6, 2), (4, 0, 1, 5, 6, 3)) * -1.0 + t3new_babbab += einsum(x713, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -2.0 + t3new_babbab += einsum(x713, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 + del x713 + x714 = np.zeros((naocc[1], naocc[1], navir[0], navir[1], navir[1], nvir[0]), dtype=types[float]) + x714 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), t2.bbbb[np.ix_(sob,sOb,sVb,sVb)], (2, 3, 4, 5), v.aabb.vVov, (6, 7, 2, 1), (0, 3, 7, 4, 5, 6)) * -1.0 + x715 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x715 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), x714, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) + del x714 + t3new_babbab += einsum(x715, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 + t3new_babbab += einsum(x715, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * 2.0 + del x715 + x716 = np.zeros((naocc[1], naocc[1], navir[0], navir[1], navir[1], nvir[0]), dtype=types[float]) + x716 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), t2.bbbb[np.ix_(sOb,sOb,svb,sVb)], (2, 3, 4, 5), v.aabb.vVov, (6, 7, 0, 4), (2, 3, 7, 1, 5, 6)) * -1.0 + x717 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x717 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), x716, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) + del x716 + t3new_babbab += einsum(x717, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 + t3new_babbab += einsum(x717, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 + del x717 + x718 = np.zeros((naocc[0], naocc[1], navir[0], navir[1], navir[1], nvir[1]), dtype=types[float]) + x718 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), t2.abab[np.ix_(sOa,sob,sVa,sVb)], (2, 3, 4, 5), v.bbbb.ovoO, (3, 6, 0, 7), (2, 7, 4, 1, 5, 6)) + x719 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x719 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), x718, (2, 3, 4, 5, 6, 1), (2, 0, 3, 4, 5, 6)) + del x718 + t3new_babbab += einsum(x719, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 + t3new_babbab += einsum(x719, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) + t3new_babbab += einsum(x719, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) + t3new_babbab += einsum(x719, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 + del x719 + x720 = np.zeros((naocc[0], naocc[1], navir[0], navir[1], navir[1], nvir[1]), dtype=types[float]) + x720 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), t2.abab[np.ix_(sOa,sob,sVa,sVb)], (2, 3, 4, 5), v.bbbb.ovoO, (0, 6, 3, 7), (2, 7, 4, 1, 5, 6)) + x721 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x721 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), x720, (2, 3, 4, 5, 6, 1), (2, 0, 3, 4, 5, 6)) + del x720 + t3new_babbab += einsum(x721, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) + t3new_babbab += einsum(x721, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 + t3new_babbab += einsum(x721, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -1.0 + t3new_babbab += einsum(x721, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) + del x721 + x722 = np.zeros((naocc[0], naocc[1], navir[0], navir[1], navir[1], nvir[1]), dtype=types[float]) + x722 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), t2.abab[np.ix_(soa,sOb,sVa,sVb)], (2, 3, 4, 5), v.aabb.oOov, (2, 6, 0, 7), (6, 3, 4, 1, 5, 7)) * -1.0 + x723 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x723 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), x722, (2, 3, 4, 5, 6, 1), (2, 0, 3, 4, 5, 6)) + del x722 + t3new_babbab += einsum(x723, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 + t3new_babbab += einsum(x723, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) + t3new_babbab += einsum(x723, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) + t3new_babbab += einsum(x723, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 + del x723 + x724 = np.zeros((naocc[1], navir[1], navir[1], nvir[1]), dtype=types[float]) + x724 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), t1.bb[np.ix_(sob,sVb)], (2, 3), v.bbbb.ovoO, (2, 4, 0, 5), (5, 1, 3, 4)) + x725 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x725 += einsum(t2.abab[np.ix_(sOa,sOb,sVa,svb)], (0, 1, 2, 3), x724, (4, 5, 6, 3), (0, 1, 4, 2, 5, 6)) + t3new_babbab += einsum(x725, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) + t3new_babbab += einsum(x725, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 + t3new_babbab += einsum(x725, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 + t3new_babbab += einsum(x725, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) + del x725 + x726 = np.zeros((naocc[0], naocc[1], navir[0], navir[1], navir[1], nvir[1]), dtype=types[float]) + x726 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), t2.abab[np.ix_(sOa,sob,sVa,sVb)], (2, 3, 4, 5), v.bbbb.ovvV, (3, 1, 6, 7), (2, 0, 4, 5, 7, 6)) + x727 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x727 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), x726, (2, 3, 4, 5, 6, 1), (2, 0, 3, 4, 5, 6)) + del x726 + t3new_babbab += einsum(x727, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) + t3new_babbab += einsum(x727, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -1.0 + t3new_babbab += einsum(x727, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 + t3new_babbab += einsum(x727, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) + del x727 + x728 = np.zeros((naocc[0], naocc[1], navir[0], navir[1], navir[1], nvir[1]), dtype=types[float]) + x728 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), t2.abab[np.ix_(sOa,sOb,sVa,svb)], (2, 3, 4, 5), v.bbbb.ovvV, (0, 6, 5, 7), (2, 3, 4, 1, 7, 6)) + x729 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x729 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), x728, (2, 3, 4, 5, 6, 1), (2, 0, 3, 4, 5, 6)) + del x728 + t3new_babbab += einsum(x729, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 + t3new_babbab += einsum(x729, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) + t3new_babbab += einsum(x729, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) + t3new_babbab += einsum(x729, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 + del x729 + x730 = np.zeros((naocc[0], naocc[1], navir[0], navir[1], navir[1], nvir[1]), dtype=types[float]) + x730 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), t2.abab[np.ix_(sOa,sOb,sVa,svb)], (2, 3, 4, 5), v.bbbb.ovvV, (0, 5, 6, 7), (2, 3, 4, 1, 7, 6)) + x731 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x731 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), x730, (2, 3, 4, 5, 6, 1), (2, 0, 3, 4, 5, 6)) + del x730 + t3new_babbab += einsum(x731, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) + t3new_babbab += einsum(x731, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 + t3new_babbab += einsum(x731, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -1.0 + t3new_babbab += einsum(x731, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) + del x731 + x732 = np.zeros((naocc[0], naocc[1], navir[0], navir[1], navir[1], nvir[1]), dtype=types[float]) + x732 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), t2.abab[np.ix_(sOa,sOb,sva,sVb)], (2, 3, 4, 5), v.aabb.vVov, (4, 6, 0, 7), (2, 3, 6, 1, 5, 7)) * -1.0 + x733 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x733 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), x732, (2, 3, 4, 5, 6, 1), (2, 0, 3, 4, 5, 6)) + del x732 + t3new_babbab += einsum(x733, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) + t3new_babbab += einsum(x733, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 + t3new_babbab += einsum(x733, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -1.0 + t3new_babbab += einsum(x733, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) + del x733 + x734 = np.zeros((naocc[0], naocc[1], naocc[1], nvir[0]), dtype=types[float]) + x734 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), v.aabb.vOvO, (2, 3, 1, 4), (3, 0, 4, 2)) + x735 = np.zeros((naocc[0], naocc[0], naocc[1], naocc[1]), dtype=types[float]) + x735 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), x734, (2, 3, 4, 1), (0, 2, 3, 4)) + del x734 + x736 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x736 += einsum(x735, (0, 1, 2, 3), t3.babbab, (4, 1, 3, 5, 6, 7), (0, 2, 4, 6, 5, 7)) + t3new_babbab += einsum(x736, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 + t3new_babbab += einsum(x736, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -2.0 + del x736 + x737 = np.zeros((naocc[0], naocc[0], navir[1], nocc[1]), dtype=types[float]) + x737 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), v.aabb.vOoV, (1, 2, 3, 4), (0, 2, 4, 3)) + x738 = np.zeros((naocc[0], naocc[0], navir[1], navir[1]), dtype=types[float]) + x738 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), x737, (2, 3, 4, 0), (2, 3, 1, 4)) + del x737 + x739 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x739 += einsum(x738, (0, 1, 2, 3), t3.babbab, (4, 1, 5, 6, 7, 3), (0, 4, 5, 7, 2, 6)) + t3new_babbab += einsum(x739, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -2.0 + t3new_babbab += einsum(x739, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 + del x739 + x740 = np.zeros((naocc[1], naocc[1], navir[0], nocc[0]), dtype=types[float]) + x740 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), v.aabb.oVvO, (2, 3, 1, 4), (0, 4, 3, 2)) + x741 = np.zeros((naocc[1], naocc[1], navir[0], navir[0]), dtype=types[float]) + x741 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x740, (2, 3, 4, 0), (2, 3, 1, 4)) + del x740 + x742 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x742 += einsum(x741, (0, 1, 2, 3), t3.babbab, (4, 5, 1, 6, 3, 7), (5, 0, 4, 2, 6, 7)) + t3new_babbab += einsum(x742, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 + t3new_babbab += einsum(x742, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -2.0 + del x742 + x743 = np.zeros((naocc[1], nvir[1]), dtype=types[float]) + x743 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aabb.ovvO, (0, 1, 2, 3), (3, 2)) + x744 = np.zeros((naocc[1], naocc[1]), dtype=types[float]) + x744 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), x743, (2, 1), (0, 2)) + del x743 + t3new_abaaba += einsum(x744, (0, 1), t3.abaaba, (2, 1, 3, 4, 5, 6), (2, 0, 3, 4, 5, 6)) * -2.0 + x745 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x745 += einsum(x744, (0, 1), t3.babbab, (2, 3, 1, 4, 5, 6), (3, 0, 2, 5, 4, 6)) + t3new_babbab += einsum(x745, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 + t3new_babbab += einsum(x745, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * 2.0 + del x745 + x746 = np.zeros((navir[0], navir[1], navir[1], nocc[0]), dtype=types[float]) + x746 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), v.aabb.oVoV, (2, 3, 0, 4), (3, 1, 4, 2)) + x747 = np.zeros((navir[0], navir[0], navir[1], navir[1]), dtype=types[float]) + x747 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x746, (2, 3, 4, 0), (1, 2, 3, 4)) + del x746 + x748 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x748 += einsum(x747, (0, 1, 2, 3), t3.babbab, (4, 5, 6, 7, 1, 3), (5, 4, 6, 0, 2, 7)) + t3new_babbab += einsum(x748, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -2.0 + t3new_babbab += einsum(x748, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 + del x748 + x749 = np.zeros((navir[1], nocc[1]), dtype=types[float]) + x749 += einsum(t1.aa[np.ix_(soa,sva)], (0, 1), v.aabb.ovoV, (0, 1, 2, 3), (3, 2)) + x750 = np.zeros((navir[1], navir[1]), dtype=types[float]) + x750 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), x749, (2, 0), (1, 2)) + del x749 + t3new_abaaba += einsum(x750, (0, 1), t3.abaaba, (2, 3, 4, 5, 1, 6), (2, 3, 4, 5, 0, 6)) * -2.0 + x751 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x751 += einsum(x750, (0, 1), t3.babbab, (2, 3, 4, 5, 6, 1), (3, 2, 4, 6, 0, 5)) + t3new_babbab += einsum(x751, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 + t3new_babbab += einsum(x751, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 + del x751 + x752 = np.zeros((naocc[0], naocc[1], navir[0], navir[1]), dtype=types[float]) + x752 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), x530, (2, 3, 4, 0), (2, 3, 4, 1)) + t3new_abaaba += einsum(x752, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 0, 6, 7, 2), (4, 1, 5, 6, 3, 7)) * -6.0 + x753 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x753 += einsum(x752, (0, 1, 2, 3), t3.abaaba, (4, 5, 0, 6, 7, 2), (4, 1, 5, 6, 3, 7)) + t3new_babbab += einsum(x753, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -2.0 + t3new_babbab += einsum(x753, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 + t3new_babbab += einsum(x753, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * 2.0 + t3new_babbab += einsum(x753, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -2.0 + del x753 + x754 = np.zeros((naocc[1], naocc[1], naocc[1], nvir[1]), dtype=types[float]) + x754 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), v.bbbb.vOvO, (2, 3, 1, 4), (0, 3, 4, 2)) + x755 = np.zeros((naocc[1], naocc[1], naocc[1], naocc[1]), dtype=types[float]) + x755 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), x754, (2, 3, 4, 1), (2, 0, 4, 3)) + del x754 + x756 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x756 += einsum(x755, (0, 1, 2, 3), t3.babbab, (2, 4, 3, 5, 6, 7), (4, 1, 0, 6, 5, 7)) * -1.0 + t3new_babbab += einsum(x756, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 + t3new_babbab += einsum(x756, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 + del x756 + x757 = np.zeros((naocc[1], naocc[1], navir[1], nocc[1]), dtype=types[float]) + x757 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), v.bbbb.ovOV, (2, 1, 3, 4), (0, 3, 4, 2)) + x758 = np.zeros((naocc[1], naocc[1], navir[1], navir[1]), dtype=types[float]) + x758 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), x757, (2, 3, 4, 0), (2, 3, 1, 4)) + del x757 + t3new_abaaba += einsum(x758, (0, 1, 2, 3), t3.abaaba, (4, 1, 5, 6, 3, 7), (4, 0, 5, 6, 2, 7)) * -2.0 + x759 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x759 += einsum(x758, (0, 1, 2, 3), t3.babbab, (4, 5, 1, 6, 7, 3), (5, 0, 4, 7, 2, 6)) + t3new_babbab += einsum(x759, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -2.0 + t3new_babbab += einsum(x759, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 + t3new_babbab += einsum(x759, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * 2.0 + t3new_babbab += einsum(x759, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -2.0 + del x759 + x760 = np.zeros((naocc[1], naocc[1], navir[1], nocc[1]), dtype=types[float]) + x760 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), v.bbbb.oVvO, (2, 3, 1, 4), (0, 4, 3, 2)) + x761 = np.zeros((naocc[1], naocc[1], navir[1], navir[1]), dtype=types[float]) + x761 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), x760, (2, 3, 4, 0), (2, 3, 1, 4)) + del x760 + t3new_abaaba += einsum(x761, (0, 1, 2, 3), t3.abaaba, (4, 1, 5, 6, 3, 7), (4, 0, 5, 6, 2, 7)) * 2.0 + x762 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x762 += einsum(x761, (0, 1, 2, 3), t3.babbab, (4, 5, 1, 6, 7, 3), (5, 0, 4, 7, 2, 6)) + t3new_babbab += einsum(x762, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 + t3new_babbab += einsum(x762, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 + t3new_babbab += einsum(x762, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -2.0 + t3new_babbab += einsum(x762, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * 2.0 + del x762 + x763 = np.zeros((naocc[1], nvir[1]), dtype=types[float]) + x763 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.bbbb.ovvO, (0, 2, 1, 3), (3, 2)) + x764 = np.zeros((naocc[1], naocc[1]), dtype=types[float]) + x764 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), x763, (2, 1), (0, 2)) + del x763 + t3new_abaaba += einsum(x764, (0, 1), t3.abaaba, (2, 1, 3, 4, 5, 6), (2, 0, 3, 4, 5, 6)) * 2.0 + x765 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x765 += einsum(x764, (0, 1), t3.babbab, (2, 3, 1, 4, 5, 6), (3, 0, 2, 5, 4, 6)) + t3new_babbab += einsum(x765, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 + t3new_babbab += einsum(x765, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -2.0 + del x765 + x766 = np.zeros((naocc[1], nvir[1]), dtype=types[float]) + x766 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.bbbb.ovvO, (0, 1, 2, 3), (3, 2)) + x767 = np.zeros((naocc[1], naocc[1]), dtype=types[float]) + x767 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), x766, (2, 1), (0, 2)) + del x766 + t3new_abaaba += einsum(x767, (0, 1), t3.abaaba, (2, 1, 3, 4, 5, 6), (2, 0, 3, 4, 5, 6)) * -2.0 + x768 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x768 += einsum(x767, (0, 1), t3.babbab, (2, 3, 1, 4, 5, 6), (3, 0, 2, 5, 4, 6)) + t3new_babbab += einsum(x768, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 + t3new_babbab += einsum(x768, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * 2.0 + del x768 + x769 = np.zeros((navir[1], navir[1], navir[1], nocc[1]), dtype=types[float]) + x769 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), v.bbbb.oVoV, (2, 3, 0, 4), (1, 3, 4, 2)) + x770 = np.zeros((navir[1], navir[1], navir[1], navir[1]), dtype=types[float]) + x770 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), x769, (2, 3, 4, 0), (2, 1, 4, 3)) + del x769 + t3new_babbab += einsum(x770, (0, 1, 2, 3), t3.babbab, (4, 5, 6, 2, 7, 3), (4, 5, 6, 0, 7, 1)) * 2.0 + x771 = np.zeros((navir[1], nocc[1]), dtype=types[float]) + x771 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.bbbb.ovoV, (0, 1, 2, 3), (3, 2)) + x772 = np.zeros((navir[1], navir[1]), dtype=types[float]) + x772 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), x771, (2, 0), (1, 2)) + del x771 + t3new_abaaba += einsum(x772, (0, 1), t3.abaaba, (2, 3, 4, 5, 1, 6), (2, 3, 4, 5, 0, 6)) * -2.0 + x773 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x773 += einsum(x772, (0, 1), t3.babbab, (2, 3, 4, 5, 6, 1), (3, 2, 4, 6, 0, 5)) + t3new_babbab += einsum(x773, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 + t3new_babbab += einsum(x773, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 + del x773 + x774 = np.zeros((navir[1], nocc[1]), dtype=types[float]) + x774 += einsum(t1.bb[np.ix_(sob,svb)], (0, 1), v.bbbb.ovoV, (2, 1, 0, 3), (3, 2)) + x775 = np.zeros((navir[1], navir[1]), dtype=types[float]) + x775 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), x774, (2, 0), (1, 2)) + del x774 + t3new_abaaba += einsum(x775, (0, 1), t3.abaaba, (2, 3, 4, 5, 1, 6), (2, 3, 4, 5, 0, 6)) * 2.0 + x776 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x776 += einsum(x775, (0, 1), t3.babbab, (2, 3, 4, 5, 6, 1), (3, 2, 4, 6, 0, 5)) + t3new_babbab += einsum(x776, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -2.0 + t3new_babbab += einsum(x776, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 + del x776 + x777 = np.zeros((naocc[1], navir[1], nocc[0], nvir[0]), dtype=types[float]) + x777 += einsum(t2.abab[np.ix_(soa,sOb,sva,sVb)], (0, 1, 2, 3), v.aaaa.ovov, (4, 2, 0, 5), (1, 3, 4, 5)) + x778 = np.zeros((naocc[0], naocc[1], navir[1], nocc[0]), dtype=types[float]) + x778 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), x777, (2, 3, 4, 1), (0, 2, 3, 4)) + x779 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x779 += einsum(t2.abab[np.ix_(soa,sOb,sVa,sVb)], (0, 1, 2, 3), x778, (4, 5, 6, 0), (4, 1, 5, 2, 3, 6)) * -1.0 + t3new_babbab += einsum(x779, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 + t3new_babbab += einsum(x779, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) + t3new_babbab += einsum(x779, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) + t3new_babbab += einsum(x779, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 + del x779 + x780 = np.zeros((naocc[1], navir[1], nocc[0], nvir[0]), dtype=types[float]) + x780 += einsum(t2.abab[np.ix_(soa,sOb,sva,sVb)], (0, 1, 2, 3), v.aaaa.ovov, (4, 5, 0, 2), (1, 3, 4, 5)) + x781 = np.zeros((naocc[0], naocc[1], navir[1], nocc[0]), dtype=types[float]) + x781 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), x780, (2, 3, 4, 1), (0, 2, 3, 4)) + x782 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x782 += einsum(t2.abab[np.ix_(soa,sOb,sVa,sVb)], (0, 1, 2, 3), x781, (4, 5, 6, 0), (4, 1, 5, 2, 3, 6)) * -1.0 + t3new_babbab += einsum(x782, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) + t3new_babbab += einsum(x782, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -1.0 + t3new_babbab += einsum(x782, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 + t3new_babbab += einsum(x782, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) + del x782 + x783 = np.zeros((naocc[0], naocc[1], naocc[1], navir[1], navir[1], nocc[0]), dtype=types[float]) + x783 += einsum(t2.abab[np.ix_(sOa,sOb,sva,sVb)], (0, 1, 2, 3), x780, (4, 5, 6, 2), (0, 1, 4, 3, 5, 6)) * -1.0 + x784 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x784 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x783, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) + del x783 + t3new_babbab += einsum(x784, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) + t3new_babbab += einsum(x784, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 + t3new_babbab += einsum(x784, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -1.0 + t3new_babbab += einsum(x784, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) + del x784 + x785 = np.zeros((naocc[0], naocc[1], naocc[1], navir[1], navir[1], nocc[0]), dtype=types[float]) + x785 += einsum(t2.abab[np.ix_(sOa,sOb,sva,sVb)], (0, 1, 2, 3), x777, (4, 5, 6, 2), (0, 1, 4, 3, 5, 6)) * -1.0 + x786 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x786 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x785, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) + del x785 + t3new_babbab += einsum(x786, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 + t3new_babbab += einsum(x786, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) + t3new_babbab += einsum(x786, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) + t3new_babbab += einsum(x786, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 + del x786 + x787 = np.zeros((naocc[0], naocc[1], navir[1], nocc[0]), dtype=types[float]) + x787 += einsum(x11, (0, 1), t2.abab[np.ix_(sOa,sOb,sva,sVb)], (2, 3, 1, 4), (2, 3, 4, 0)) * -1.0 + del x11 + x788 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x788 += einsum(t2.abab[np.ix_(soa,sOb,sVa,sVb)], (0, 1, 2, 3), x787, (4, 5, 6, 0), (4, 5, 1, 2, 6, 3)) * -1.0 + t3new_babbab += einsum(x788, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 + t3new_babbab += einsum(x788, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) + t3new_babbab += einsum(x788, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) + t3new_babbab += einsum(x788, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 + del x788 + x789 = np.zeros((naocc[0], naocc[1], navir[1], nocc[0]), dtype=types[float]) + x789 += einsum(x12, (0, 1), t2.abab[np.ix_(sOa,sOb,sva,sVb)], (2, 3, 1, 4), (2, 3, 4, 0)) * -1.0 + del x12 + x790 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x790 += einsum(t2.abab[np.ix_(soa,sOb,sVa,sVb)], (0, 1, 2, 3), x789, (4, 5, 6, 0), (4, 5, 1, 2, 6, 3)) * -1.0 + t3new_babbab += einsum(x790, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) + t3new_babbab += einsum(x790, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 + t3new_babbab += einsum(x790, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -1.0 + t3new_babbab += einsum(x790, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) + del x790 + x791 = np.zeros((naocc[1], navir[1], nocc[0], nvir[0]), dtype=types[float]) + x791 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,sVb)], (0, 1, 2, 3), v.aabb.ovov, (4, 5, 0, 2), (1, 3, 4, 5)) + x792 = np.zeros((naocc[0], naocc[1], navir[1], nocc[0]), dtype=types[float]) + x792 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), x791, (2, 3, 4, 1), (0, 2, 3, 4)) + x793 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x793 += einsum(t2.abab[np.ix_(soa,sOb,sVa,sVb)], (0, 1, 2, 3), x792, (4, 5, 6, 0), (4, 5, 1, 2, 6, 3)) * -1.0 + t3new_babbab += einsum(x793, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 + t3new_babbab += einsum(x793, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 + t3new_babbab += einsum(x793, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -2.0 + t3new_babbab += einsum(x793, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * 2.0 + del x793 + x794 = np.zeros((naocc[1], navir[0], nocc[1], nvir[0]), dtype=types[float]) + x794 += einsum(t2.abab[np.ix_(soa,sOb,sVa,svb)], (0, 1, 2, 3), v.aabb.ovov, (0, 4, 5, 3), (1, 2, 5, 4)) * -1.0 + x795 = np.zeros((naocc[0], naocc[1], navir[0], nocc[1]), dtype=types[float]) + x795 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), x794, (2, 3, 4, 1), (0, 2, 3, 4)) + x796 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x796 += einsum(t2.bbbb[np.ix_(sob,sOb,sVb,sVb)], (0, 1, 2, 3), x795, (4, 5, 6, 0), (4, 1, 5, 6, 2, 3)) * -1.0 + t3new_babbab += einsum(x796, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 + t3new_babbab += einsum(x796, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -2.0 + del x796 + x797 = np.zeros((naocc[0], naocc[1], naocc[1], navir[1], nocc[0], nocc[1]), dtype=types[float]) + x797 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), t2.bbbb[np.ix_(sOb,sOb,svb,sVb)], (2, 3, 4, 5), v.aabb.ovov, (6, 1, 7, 4), (0, 2, 3, 5, 6, 7)) * -1.0 + x798 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x798 += einsum(t2.abab[np.ix_(soa,sob,sVa,sVb)], (0, 1, 2, 3), x797, (4, 5, 6, 7, 0, 1), (4, 5, 6, 2, 7, 3)) + del x797 + t3new_babbab += einsum(x798, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 + t3new_babbab += einsum(x798, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 + del x798 + x799 = np.zeros((naocc[0], naocc[1], naocc[1], navir[1], navir[1], nocc[0]), dtype=types[float]) + x799 += einsum(t2.abab[np.ix_(sOa,sOb,sva,sVb)], (0, 1, 2, 3), x791, (4, 5, 6, 2), (0, 1, 4, 3, 5, 6)) * -1.0 + x800 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x800 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x799, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) + del x799 + t3new_babbab += einsum(x800, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * 2.0 + t3new_babbab += einsum(x800, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -2.0 + t3new_babbab += einsum(x800, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 + t3new_babbab += einsum(x800, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 + del x800 + x801 = np.zeros((naocc[0], naocc[1], nocc[0], nocc[1]), dtype=types[float]) + x801 += einsum(t2.abab[np.ix_(sOa,sOb,sva,svb)], (0, 1, 2, 3), v.aabb.ovov, (4, 2, 5, 3), (0, 1, 4, 5)) + x802 = np.zeros((naocc[0], naocc[1], naocc[1], navir[1], navir[1], nocc[0]), dtype=types[float]) + x802 += einsum(t2.bbbb[np.ix_(sob,sOb,sVb,sVb)], (0, 1, 2, 3), x801, (4, 5, 6, 0), (4, 5, 1, 2, 3, 6)) * -1.0 + x803 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x803 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x802, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) + del x802 + t3new_babbab += einsum(x803, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -2.0 + t3new_babbab += einsum(x803, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 + del x803 + x804 = np.zeros((naocc[0], navir[1], nocc[0], nvir[1]), dtype=types[float]) + x804 += einsum(t2.abab[np.ix_(sOa,sob,sva,sVb)], (0, 1, 2, 3), v.aabb.ovov, (4, 2, 1, 5), (0, 3, 4, 5)) * -1.0 + x805 = np.zeros((naocc[0], naocc[1], naocc[1], navir[1], navir[1], nocc[0]), dtype=types[float]) + x805 += einsum(t2.bbbb[np.ix_(sOb,sOb,svb,sVb)], (0, 1, 2, 3), x804, (4, 5, 6, 2), (4, 0, 1, 3, 5, 6)) * -1.0 + x806 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x806 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x805, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) + del x805 + t3new_babbab += einsum(x806, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -2.0 + t3new_babbab += einsum(x806, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 + del x806 + x807 = np.zeros((naocc[0], naocc[1], navir[0], nocc[1]), dtype=types[float]) + x807 += einsum(x0, (0, 1), t2.abab[np.ix_(sOa,sOb,sVa,svb)], (2, 3, 4, 1), (2, 3, 4, 0)) + x808 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x808 += einsum(t2.bbbb[np.ix_(sob,sOb,sVb,sVb)], (0, 1, 2, 3), x807, (4, 5, 6, 0), (4, 5, 1, 6, 2, 3)) * -1.0 + t3new_babbab += einsum(x808, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * 2.0 + t3new_babbab += einsum(x808, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 + del x808 + x809 = np.zeros((naocc[1], naocc[1], navir[1], nocc[1]), dtype=types[float]) + x809 += einsum(x0, (0, 1), t2.bbbb[np.ix_(sOb,sOb,svb,sVb)], (2, 3, 1, 4), (2, 3, 4, 0)) * -1.0 + del x0 + x810 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x810 += einsum(t2.abab[np.ix_(sOa,sob,sVa,sVb)], (0, 1, 2, 3), x809, (4, 5, 6, 1), (0, 5, 4, 2, 6, 3)) * -1.0 + t3new_babbab += einsum(x810, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -2.0 + t3new_babbab += einsum(x810, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 + del x810 + x811 = np.zeros((naocc[0], naocc[1], naocc[1], navir[1], nocc[0], nocc[1]), dtype=types[float]) + x811 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), t2.abab[np.ix_(sOa,sOb,sva,sVb)], (2, 3, 4, 5), v.aabb.ovov, (6, 4, 7, 1), (2, 0, 3, 5, 6, 7)) * -1.0 + x812 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x812 += einsum(t2.abab[np.ix_(soa,sob,sVa,sVb)], (0, 1, 2, 3), x811, (4, 5, 6, 7, 0, 1), (4, 5, 6, 2, 7, 3)) + del x811 + t3new_babbab += einsum(x812, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) + t3new_babbab += einsum(x812, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 + t3new_babbab += einsum(x812, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -1.0 + t3new_babbab += einsum(x812, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) + del x812 + x813 = np.zeros((naocc[1], navir[1], nocc[1], nvir[1]), dtype=types[float]) + x813 += einsum(t2.abab[np.ix_(soa,sOb,sva,sVb)], (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 5), (1, 3, 4, 5)) + x814 = np.zeros((naocc[1], naocc[1], navir[1], nocc[1]), dtype=types[float]) + x814 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), x813, (2, 3, 4, 1), (0, 2, 3, 4)) + x815 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x815 += einsum(t2.abab[np.ix_(sOa,sob,sVa,sVb)], (0, 1, 2, 3), x814, (4, 5, 6, 1), (0, 4, 5, 2, 3, 6)) + t3new_babbab += einsum(x815, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 + t3new_babbab += einsum(x815, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) + t3new_babbab += einsum(x815, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) + t3new_babbab += einsum(x815, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 + del x815 + x816 = np.zeros((naocc[0], naocc[1], navir[1], nocc[0]), dtype=types[float]) + x816 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), x804, (2, 3, 4, 1), (2, 0, 3, 4)) + x817 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x817 += einsum(t2.abab[np.ix_(soa,sOb,sVa,sVb)], (0, 1, 2, 3), x816, (4, 5, 6, 0), (4, 5, 1, 2, 6, 3)) * -1.0 + t3new_babbab += einsum(x817, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) + t3new_babbab += einsum(x817, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 + t3new_babbab += einsum(x817, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -1.0 + t3new_babbab += einsum(x817, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) + del x817 + x818 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], nocc[1]), dtype=types[float]) + x818 += einsum(t2.abab[np.ix_(sOa,sOb,sva,sVb)], (0, 1, 2, 3), x794, (4, 5, 6, 2), (0, 1, 4, 5, 3, 6)) * -1.0 + x819 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x819 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), x818, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 1, 6)) + del x818 + t3new_babbab += einsum(x819, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 + t3new_babbab += einsum(x819, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) + t3new_babbab += einsum(x819, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) + t3new_babbab += einsum(x819, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 + del x819 + x820 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], nocc[1]), dtype=types[float]) + x820 += einsum(t2.abab[np.ix_(soa,sOb,sVa,sVb)], (0, 1, 2, 3), x801, (4, 5, 0, 6), (4, 5, 1, 2, 3, 6)) * -1.0 + x821 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x821 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), x820, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 1, 6)) + del x820 + t3new_babbab += einsum(x821, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 + t3new_babbab += einsum(x821, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) + t3new_babbab += einsum(x821, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) + t3new_babbab += einsum(x821, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 + del x821 + x822 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], nocc[1]), dtype=types[float]) + x822 += einsum(t2.abab[np.ix_(sOa,sOb,sVa,svb)], (0, 1, 2, 3), x813, (4, 5, 6, 3), (0, 1, 4, 2, 5, 6)) + x823 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x823 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), x822, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 1, 6)) + del x822 + t3new_babbab += einsum(x823, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 + t3new_babbab += einsum(x823, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) + t3new_babbab += einsum(x823, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) + t3new_babbab += einsum(x823, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 + del x823 + x824 = np.zeros((naocc[0], naocc[1], navir[1], nocc[0]), dtype=types[float]) + x824 += einsum(x15, (0, 1), t2.abab[np.ix_(sOa,sOb,sva,sVb)], (2, 3, 1, 4), (2, 3, 4, 0)) * -1.0 + del x15 + x825 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x825 += einsum(t2.abab[np.ix_(soa,sOb,sVa,sVb)], (0, 1, 2, 3), x824, (4, 5, 6, 0), (4, 5, 1, 2, 6, 3)) * -1.0 + t3new_babbab += einsum(x825, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 + t3new_babbab += einsum(x825, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) + t3new_babbab += einsum(x825, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) + t3new_babbab += einsum(x825, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 + del x825 + x826 = np.zeros((naocc[1], navir[1], nocc[1], nvir[1]), dtype=types[float]) + x826 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,sVb)], (0, 1, 2, 3), v.bbbb.ovov, (4, 5, 0, 2), (1, 3, 4, 5)) + x827 = np.zeros((naocc[1], naocc[1], navir[1], nocc[1]), dtype=types[float]) + x827 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), x826, (2, 3, 4, 1), (0, 2, 3, 4)) + x828 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x828 += einsum(t2.abab[np.ix_(sOa,sob,sVa,sVb)], (0, 1, 2, 3), x827, (4, 5, 6, 1), (0, 4, 5, 2, 3, 6)) + t3new_babbab += einsum(x828, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 + t3new_babbab += einsum(x828, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -2.0 + t3new_babbab += einsum(x828, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -2.0 + t3new_babbab += einsum(x828, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * 2.0 + del x828 + x829 = np.zeros((naocc[0], navir[0], nocc[1], nvir[1]), dtype=types[float]) + x829 += einsum(t2.abab[np.ix_(sOa,sob,sVa,svb)], (0, 1, 2, 3), v.bbbb.ovov, (4, 3, 1, 5), (0, 2, 4, 5)) + x830 = np.zeros((naocc[0], naocc[1], navir[0], nocc[1]), dtype=types[float]) + x830 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), x829, (2, 3, 4, 1), (2, 0, 3, 4)) + x831 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x831 += einsum(t2.bbbb[np.ix_(sob,sOb,sVb,sVb)], (0, 1, 2, 3), x830, (4, 5, 6, 0), (4, 5, 1, 6, 2, 3)) * -1.0 + t3new_babbab += einsum(x831, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 + t3new_babbab += einsum(x831, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -2.0 + del x831 + x832 = np.zeros((naocc[1], navir[1], nocc[1], nvir[1]), dtype=types[float]) + x832 += einsum(t2.bbbb[np.ix_(sob,sOb,svb,sVb)], (0, 1, 2, 3), v.bbbb.ovov, (4, 2, 0, 5), (1, 3, 4, 5)) + x833 = np.zeros((naocc[1], naocc[1], navir[1], nocc[1]), dtype=types[float]) + x833 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), x832, (2, 3, 4, 1), (0, 2, 3, 4)) + x834 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x834 += einsum(t2.abab[np.ix_(sOa,sob,sVa,sVb)], (0, 1, 2, 3), x833, (4, 5, 6, 1), (0, 4, 5, 2, 3, 6)) + t3new_babbab += einsum(x834, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 + t3new_babbab += einsum(x834, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 + t3new_babbab += einsum(x834, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * 2.0 + t3new_babbab += einsum(x834, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -2.0 + del x834 + x835 = np.zeros((naocc[0], navir[0], nocc[1], nvir[1]), dtype=types[float]) + x835 += einsum(t2.abab[np.ix_(sOa,sob,sVa,svb)], (0, 1, 2, 3), v.bbbb.ovov, (4, 5, 1, 3), (0, 2, 4, 5)) + x836 = np.zeros((naocc[0], naocc[1], navir[0], nocc[1]), dtype=types[float]) + x836 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), x835, (2, 3, 4, 1), (2, 0, 3, 4)) + x837 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x837 += einsum(t2.bbbb[np.ix_(sob,sOb,sVb,sVb)], (0, 1, 2, 3), x836, (4, 5, 6, 0), (4, 5, 1, 6, 2, 3)) * -1.0 + t3new_babbab += einsum(x837, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 + t3new_babbab += einsum(x837, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * 2.0 + del x837 + x838 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], nocc[1], nocc[1]), dtype=types[float]) + x838 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), t2.abab[np.ix_(sOa,sOb,sVa,svb)], (2, 3, 4, 5), v.bbbb.ovov, (6, 1, 7, 5), (2, 0, 3, 4, 6, 7)) + x839 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x839 += einsum(t2.bbbb[np.ix_(sob,sob,sVb,sVb)], (0, 1, 2, 3), x838, (4, 5, 6, 7, 0, 1), (4, 5, 6, 7, 2, 3)) + del x838 + t3new_babbab += einsum(x839, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 + t3new_babbab += einsum(x839, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 + t3new_babbab += einsum(x839, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) + t3new_babbab += einsum(x839, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) + del x839 + x840 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], nocc[1]), dtype=types[float]) + x840 += einsum(t2.abab[np.ix_(sOa,sOb,sVa,svb)], (0, 1, 2, 3), x826, (4, 5, 6, 3), (0, 1, 4, 2, 5, 6)) + x841 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x841 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), x840, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 1, 6)) + del x840 + t3new_babbab += einsum(x841, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * 2.0 + t3new_babbab += einsum(x841, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -2.0 + t3new_babbab += einsum(x841, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -2.0 + t3new_babbab += einsum(x841, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 + del x841 + x842 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], nocc[1]), dtype=types[float]) + x842 += einsum(t2.abab[np.ix_(sOa,sOb,sVa,svb)], (0, 1, 2, 3), x832, (4, 5, 6, 3), (0, 1, 4, 2, 5, 6)) + x843 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x843 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), x842, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 1, 6)) + del x842 + t3new_babbab += einsum(x843, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -2.0 + t3new_babbab += einsum(x843, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 + t3new_babbab += einsum(x843, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * 2.0 + t3new_babbab += einsum(x843, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 + del x843 + x844 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], nocc[1]), dtype=types[float]) + x844 += einsum(t2.bbbb[np.ix_(sOb,sOb,svb,sVb)], (0, 1, 2, 3), x829, (4, 5, 6, 2), (4, 0, 1, 5, 3, 6)) * -1.0 + x845 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x845 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), x844, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 1, 6)) + del x844 + t3new_babbab += einsum(x845, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -2.0 + t3new_babbab += einsum(x845, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 + del x845 + x846 = np.zeros((naocc[1], naocc[1], nocc[1], nocc[1]), dtype=types[float]) + x846 += einsum(t2.bbbb[np.ix_(sOb,sOb,svb,svb)], (0, 1, 2, 3), v.bbbb.ovov, (4, 2, 5, 3), (0, 1, 4, 5)) + x847 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], nocc[1]), dtype=types[float]) + x847 += einsum(t2.abab[np.ix_(sOa,sob,sVa,sVb)], (0, 1, 2, 3), x846, (4, 5, 1, 6), (0, 4, 5, 2, 3, 6)) * -1.0 + x848 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x848 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), x847, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 1, 6)) + del x847 + t3new_babbab += einsum(x848, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) + t3new_babbab += einsum(x848, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) + t3new_babbab += einsum(x848, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 + t3new_babbab += einsum(x848, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 + del x848 + x849 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], nocc[1]), dtype=types[float]) + x849 += einsum(t2.bbbb[np.ix_(sOb,sOb,svb,sVb)], (0, 1, 2, 3), x835, (4, 5, 6, 2), (4, 0, 1, 5, 3, 6)) * -1.0 + x850 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x850 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), x849, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 1, 6)) + del x849 + t3new_babbab += einsum(x850, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 + t3new_babbab += einsum(x850, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 + del x850 + x851 = np.zeros((naocc[0], naocc[1], navir[0], nocc[1]), dtype=types[float]) + x851 += einsum(x1, (0, 1), t2.abab[np.ix_(sOa,sOb,sVa,svb)], (2, 3, 4, 1), (2, 3, 4, 0)) + x852 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x852 += einsum(t2.bbbb[np.ix_(sob,sOb,sVb,sVb)], (0, 1, 2, 3), x851, (4, 5, 6, 0), (4, 5, 1, 6, 2, 3)) * -1.0 + t3new_babbab += einsum(x852, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * 2.0 + t3new_babbab += einsum(x852, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 + del x852 + x853 = np.zeros((naocc[0], naocc[1], navir[0], nocc[1]), dtype=types[float]) + x853 += einsum(x20, (0, 1), t2.abab[np.ix_(sOa,sOb,sVa,svb)], (2, 3, 4, 1), (2, 3, 4, 0)) + x854 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x854 += einsum(t2.bbbb[np.ix_(sob,sOb,sVb,sVb)], (0, 1, 2, 3), x853, (4, 5, 6, 0), (4, 5, 1, 6, 2, 3)) * -1.0 + t3new_babbab += einsum(x854, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -2.0 + t3new_babbab += einsum(x854, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 + del x854 + x855 = np.zeros((naocc[1], naocc[1], navir[1], nocc[1]), dtype=types[float]) + x855 += einsum(x1, (0, 1), t2.bbbb[np.ix_(sOb,sOb,svb,sVb)], (2, 3, 1, 4), (2, 3, 4, 0)) * -1.0 + del x1 + x856 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x856 += einsum(t2.abab[np.ix_(sOa,sob,sVa,sVb)], (0, 1, 2, 3), x855, (4, 5, 6, 1), (0, 5, 4, 2, 6, 3)) * -1.0 + t3new_babbab += einsum(x856, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -2.0 + t3new_babbab += einsum(x856, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 + del x856 + x857 = np.zeros((naocc[1], naocc[1], navir[1], nocc[1]), dtype=types[float]) + x857 += einsum(x20, (0, 1), t2.bbbb[np.ix_(sOb,sOb,svb,sVb)], (2, 3, 1, 4), (2, 3, 4, 0)) * -1.0 + del x20 + x858 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x858 += einsum(t2.abab[np.ix_(sOa,sob,sVa,sVb)], (0, 1, 2, 3), x857, (4, 5, 6, 1), (0, 5, 4, 2, 6, 3)) * -1.0 + t3new_babbab += einsum(x858, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 + t3new_babbab += einsum(x858, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 + del x858 + x859 = np.zeros((naocc[0], navir[0], nocc[1], nvir[1]), dtype=types[float]) + x859 += einsum(t2.aaaa[np.ix_(soa,sOa,sva,sVa)], (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 5), (1, 3, 4, 5)) + x860 = np.zeros((naocc[0], naocc[1], navir[0], nocc[1]), dtype=types[float]) + x860 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), x859, (2, 3, 4, 1), (2, 0, 3, 4)) + x861 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x861 += einsum(t2.bbbb[np.ix_(sob,sOb,sVb,sVb)], (0, 1, 2, 3), x860, (4, 5, 6, 0), (4, 5, 1, 6, 2, 3)) * -1.0 + t3new_babbab += einsum(x861, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -4.0 + t3new_babbab += einsum(x861, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * 4.0 + del x861 + x862 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], nocc[1]), dtype=types[float]) + x862 += einsum(t2.bbbb[np.ix_(sOb,sOb,svb,sVb)], (0, 1, 2, 3), x859, (4, 5, 6, 2), (4, 0, 1, 5, 3, 6)) * -1.0 + x863 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x863 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), x862, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 1, 6)) + del x862 + t3new_babbab += einsum(x863, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 4.0 + t3new_babbab += einsum(x863, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -4.0 + del x863 + x864 = np.zeros((naocc[1], naocc[1], navir[1], navir[1], nocc[0], nvir[0]), dtype=types[float]) + x864 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), t2.bbbb[np.ix_(sob,sOb,sVb,sVb)], (2, 3, 4, 5), v.aabb.ovov, (6, 7, 2, 1), (0, 3, 4, 5, 6, 7)) * -1.0 + x865 = np.zeros((naocc[0], naocc[1], naocc[1], navir[1], navir[1], nocc[0]), dtype=types[float]) + x865 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), x864, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) + del x864 + x866 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x866 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x865, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) + del x865 + t3new_babbab += einsum(x866, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 + t3new_babbab += einsum(x866, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -2.0 + del x866 + x867 = np.zeros((naocc[1], naocc[1], navir[1], navir[1], nocc[0], nvir[0]), dtype=types[float]) + x867 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), t2.bbbb[np.ix_(sOb,sOb,svb,sVb)], (2, 3, 4, 5), v.aabb.ovov, (6, 7, 0, 4), (2, 3, 1, 5, 6, 7)) * -1.0 + x868 = np.zeros((naocc[0], naocc[1], naocc[1], navir[1], navir[1], nocc[0]), dtype=types[float]) + x868 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), x867, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) + del x867 + x869 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x869 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x868, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) + del x868 + t3new_babbab += einsum(x869, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -2.0 + t3new_babbab += einsum(x869, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 + del x869 + x870 = np.zeros((naocc[1], naocc[1], navir[0], navir[1], nocc[1], nvir[0]), dtype=types[float]) + x870 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), t2.abab[np.ix_(soa,sOb,sVa,sVb)], (2, 3, 4, 5), v.aabb.ovov, (2, 6, 7, 1), (0, 3, 4, 5, 7, 6)) * -1.0 + x871 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], nocc[1]), dtype=types[float]) + x871 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), x870, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) + del x870 + x872 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x872 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), x871, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 1, 6)) + del x871 + t3new_babbab += einsum(x872, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 + t3new_babbab += einsum(x872, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) + t3new_babbab += einsum(x872, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) + t3new_babbab += einsum(x872, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 + del x872 + x873 = np.zeros((naocc[0], naocc[1], navir[1], navir[1], nocc[0], nvir[1]), dtype=types[float]) + x873 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), t2.abab[np.ix_(sOa,sOb,sva,sVb)], (2, 3, 4, 5), v.aabb.ovov, (6, 4, 0, 7), (2, 3, 1, 5, 6, 7)) * -1.0 + x874 = np.zeros((naocc[0], naocc[1], naocc[1], navir[1], navir[1], nocc[0]), dtype=types[float]) + x874 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), x873, (2, 3, 4, 5, 6, 1), (2, 0, 3, 4, 5, 6)) + del x873 + x875 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x875 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x874, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) + del x874 + t3new_babbab += einsum(x875, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 + t3new_babbab += einsum(x875, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) + t3new_babbab += einsum(x875, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) + t3new_babbab += einsum(x875, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 + del x875 + x876 = np.zeros((naocc[0], naocc[1], navir[0], navir[1], nocc[1], nvir[1]), dtype=types[float]) + x876 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), t2.abab[np.ix_(sOa,sob,sVa,sVb)], (2, 3, 4, 5), v.bbbb.ovov, (6, 7, 3, 1), (2, 0, 4, 5, 6, 7)) + x877 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], nocc[1]), dtype=types[float]) + x877 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), x876, (2, 3, 4, 5, 6, 1), (2, 0, 3, 4, 5, 6)) + del x876 + x878 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x878 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), x877, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 1, 6)) + del x877 + t3new_babbab += einsum(x878, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) + t3new_babbab += einsum(x878, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -1.0 + t3new_babbab += einsum(x878, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 + t3new_babbab += einsum(x878, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) + del x878 + x879 = np.zeros((naocc[0], naocc[1], navir[0], navir[1], nocc[1], nvir[1]), dtype=types[float]) + x879 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), t2.abab[np.ix_(sOa,sOb,sVa,svb)], (2, 3, 4, 5), v.bbbb.ovov, (6, 7, 0, 5), (2, 3, 4, 1, 6, 7)) + x880 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], nocc[1]), dtype=types[float]) + x880 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), x879, (2, 3, 4, 5, 6, 1), (2, 0, 3, 4, 5, 6)) + del x879 + x881 = np.zeros((naocc[0], naocc[1], naocc[1], navir[0], navir[1], navir[1]), dtype=types[float]) + x881 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), x880, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 1, 6)) + del x880 + t3new_babbab += einsum(x881, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) + t3new_babbab += einsum(x881, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 + t3new_babbab += einsum(x881, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -1.0 + t3new_babbab += einsum(x881, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) + del x881 + x882 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x882 += einsum(f.aa.OO, (0, 1), t3.abaaba, (2, 3, 1, 4, 5, 6), (0, 2, 3, 4, 6, 5)) + t3new_abaaba += einsum(x882, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 + t3new_abaaba += einsum(x882, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 2.0 + del x882 + x883 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x883 += einsum(f.aa.VV, (0, 1), t3.abaaba, (2, 3, 4, 5, 6, 1), (2, 4, 3, 0, 5, 6)) + t3new_abaaba += einsum(x883, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 + t3new_abaaba += einsum(x883, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 + del x883 + x884 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x884 += einsum(t2.abab[np.ix_(soa,sOb,sVa,sVb)], (0, 1, 2, 3), v.aaaa.oOOV, (0, 4, 5, 6), (5, 4, 1, 2, 6, 3)) * -1.0 + t3new_abaaba += einsum(x884, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) + t3new_abaaba += einsum(x884, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 + t3new_abaaba += einsum(x884, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + t3new_abaaba += einsum(x884, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) + del x884 + x885 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x885 += einsum(t2.abab[np.ix_(sOa,sob,sVa,sVb)], (0, 1, 2, 3), v.aabb.OVoO, (4, 5, 1, 6), (0, 4, 6, 2, 5, 3)) + t3new_abaaba += einsum(x885, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) + t3new_abaaba += einsum(x885, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + t3new_abaaba += einsum(x885, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 + t3new_abaaba += einsum(x885, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) + del x885 + x886 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x886 += einsum(t2.abab[np.ix_(sOa,sOb,sVa,svb)], (0, 1, 2, 3), v.aabb.OVvV, (4, 5, 3, 6), (0, 4, 1, 2, 5, 6)) + t3new_abaaba += einsum(x886, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 + t3new_abaaba += einsum(x886, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + t3new_abaaba += einsum(x886, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) + t3new_abaaba += einsum(x886, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -1.0 + del x886 + x887 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x887 += einsum(t2.abab[np.ix_(sOa,sOb,sva,sVb)], (0, 1, 2, 3), v.aaaa.vVOV, (2, 4, 5, 6), (0, 5, 1, 6, 4, 3)) * -1.0 + t3new_abaaba += einsum(x887, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + t3new_abaaba += einsum(x887, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 + t3new_abaaba += einsum(x887, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -1.0 + t3new_abaaba += einsum(x887, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) + del x887 + x888 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x888 += einsum(t2.aaaa[np.ix_(soa,sOa,sVa,sVa)], (0, 1, 2, 3), v.aabb.oOOV, (0, 4, 5, 6), (1, 4, 5, 2, 3, 6)) * -1.0 + t3new_abaaba += einsum(x888, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 + t3new_abaaba += einsum(x888, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -2.0 + del x888 + x889 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x889 += einsum(t2.aaaa[np.ix_(sOa,sOa,sva,sVa)], (0, 1, 2, 3), v.aabb.vVOV, (2, 4, 5, 6), (0, 1, 5, 3, 4, 6)) * -1.0 + t3new_abaaba += einsum(x889, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 + t3new_abaaba += einsum(x889, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.0 + del x889 + x890 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x890 += einsum(v.aabb.OOOO, (0, 1, 2, 3), t3.abaaba, (4, 3, 1, 5, 6, 7), (4, 0, 2, 5, 7, 6)) + t3new_abaaba += einsum(x890, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 2.0 + t3new_abaaba += einsum(x890, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 + del x890 + x891 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x891 += einsum(v.aaaa.OOVV, (0, 1, 2, 3), t3.abaaba, (4, 5, 1, 6, 7, 3), (4, 0, 5, 6, 2, 7)) + t3new_abaaba += einsum(x891, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -2.0 + t3new_abaaba += einsum(x891, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * 2.0 + t3new_abaaba += einsum(x891, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 + t3new_abaaba += einsum(x891, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 + del x891 + x892 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x892 += einsum(v.aabb.OOVV, (0, 1, 2, 3), t3.abaaba, (4, 5, 1, 6, 3, 7), (4, 0, 5, 6, 7, 2)) + t3new_abaaba += einsum(x892, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -2.0 + t3new_abaaba += einsum(x892, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 + del x892 + x893 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x893 += einsum(v.aaaa.OVOV, (0, 1, 2, 3), t3.abaaba, (4, 5, 2, 6, 7, 3), (4, 0, 5, 6, 1, 7)) + t3new_abaaba += einsum(x893, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 2.0 + t3new_abaaba += einsum(x893, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -2.0 + t3new_abaaba += einsum(x893, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 + t3new_abaaba += einsum(x893, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.0 + del x893 + x894 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x894 += einsum(v.aabb.VVOO, (0, 1, 2, 3), t3.abaaba, (4, 3, 5, 6, 7, 1), (4, 5, 2, 6, 0, 7)) + t3new_abaaba += einsum(x894, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 + t3new_abaaba += einsum(x894, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 + del x894 + x895 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x895 += einsum(v.aabb.VVVV, (0, 1, 2, 3), t3.abaaba, (4, 5, 6, 7, 3, 1), (4, 6, 5, 7, 0, 2)) + t3new_abaaba += einsum(x895, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 + t3new_abaaba += einsum(x895, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.0 + del x895 + x896 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x896 += einsum(v.aabb.OVOV, (0, 1, 2, 3), t3.babbab, (4, 5, 2, 6, 7, 3), (5, 0, 4, 7, 1, 6)) + t3new_abaaba += einsum(x896, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 2.0 + t3new_abaaba += einsum(x896, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -2.0 + t3new_abaaba += einsum(x896, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 + t3new_abaaba += einsum(x896, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.0 + del x896 + x897 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x897 += einsum(x299, (0, 1), t3.abaaba, (2, 3, 0, 4, 5, 6), (1, 2, 3, 4, 6, 5)) + del x299 + t3new_abaaba += einsum(x897, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 + t3new_abaaba += einsum(x897, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 2.0 + del x897 + x898 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x898 += einsum(x301, (0, 1), t3.abaaba, (2, 3, 4, 5, 6, 0), (2, 4, 3, 1, 5, 6)) + del x301 + t3new_abaaba += einsum(x898, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.0 + t3new_abaaba += einsum(x898, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 + del x898 + x899 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x899 += einsum(t2.abab[np.ix_(sOa,sob,sVa,sVb)], (0, 1, 2, 3), x495, (4, 5, 6, 1), (4, 0, 5, 6, 2, 3)) + del x495 + t3new_abaaba += einsum(x899, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + t3new_abaaba += einsum(x899, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) + t3new_abaaba += einsum(x899, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 + t3new_abaaba += einsum(x899, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) + del x899 + x900 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x900 += einsum(t2.aaaa[np.ix_(soa,sOa,sVa,sVa)], (0, 1, 2, 3), x493, (4, 5, 6, 0), (4, 1, 5, 2, 3, 6)) * -1.0 + del x493 + t3new_abaaba += einsum(x900, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 + t3new_abaaba += einsum(x900, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -2.0 + del x900 + x901 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x901 += einsum(t2.abab[np.ix_(soa,sOb,sVa,sVb)], (0, 1, 2, 3), x303, (4, 5, 6, 0), (5, 4, 1, 6, 2, 3)) + del x303 + t3new_abaaba += einsum(x901, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 + t3new_abaaba += einsum(x901, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.0 + del x901 + x902 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x902 += einsum(t2.abab[np.ix_(soa,sOb,sVa,sVb)], (0, 1, 2, 3), x305, (4, 5, 6, 0), (4, 5, 1, 2, 6, 3)) * -1.0 + del x305 + t3new_abaaba += einsum(x902, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + t3new_abaaba += einsum(x902, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) + t3new_abaaba += einsum(x902, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) + t3new_abaaba += einsum(x902, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 + del x902 + x903 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[1], nocc[0]), dtype=types[float]) + x903 += einsum(t2.abab[np.ix_(sOa,sob,sVa,sVb)], (0, 1, 2, 3), v.aabb.oOoO, (4, 5, 1, 6), (0, 5, 6, 2, 3, 4)) + x904 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x904 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x903, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) + del x903 + t3new_abaaba += einsum(x904, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + t3new_abaaba += einsum(x904, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) + t3new_abaaba += einsum(x904, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) + t3new_abaaba += einsum(x904, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 + del x904 + x905 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[1], nocc[0]), dtype=types[float]) + x905 += einsum(t2.abab[np.ix_(soa,sOb,sVa,sVb)], (0, 1, 2, 3), v.aaaa.oOoO, (4, 5, 0, 6), (5, 6, 1, 2, 3, 4)) * -1.0 + x906 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x906 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x905, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) + del x905 + t3new_abaaba += einsum(x906, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + t3new_abaaba += einsum(x906, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) + t3new_abaaba += einsum(x906, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) + t3new_abaaba += einsum(x906, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 + del x906 + x907 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[1], nocc[0]), dtype=types[float]) + x907 += einsum(t2.abab[np.ix_(sOa,sOb,sVa,svb)], (0, 1, 2, 3), v.aabb.oOvV, (4, 5, 3, 6), (0, 5, 1, 2, 6, 4)) + x908 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x908 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x907, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) + del x907 + t3new_abaaba += einsum(x908, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + t3new_abaaba += einsum(x908, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -1.0 + t3new_abaaba += einsum(x908, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 + t3new_abaaba += einsum(x908, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) + del x908 + x909 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[1], nocc[0]), dtype=types[float]) + x909 += einsum(t2.abab[np.ix_(sOa,sOb,sva,sVb)], (0, 1, 2, 3), v.aaaa.oOvV, (4, 5, 2, 6), (0, 5, 1, 6, 3, 4)) * -1.0 + x910 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x910 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x909, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) + del x909 + t3new_abaaba += einsum(x910, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + t3new_abaaba += einsum(x910, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) + t3new_abaaba += einsum(x910, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) + t3new_abaaba += einsum(x910, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 + del x910 + x911 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x911 += einsum(t2.abab[np.ix_(soa,sOb,sVa,sVb)], (0, 1, 2, 3), x311, (4, 5, 6, 0), (4, 5, 1, 2, 6, 3)) * -1.0 + del x311 + t3new_abaaba += einsum(x911, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 + t3new_abaaba += einsum(x911, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + t3new_abaaba += einsum(x911, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) + t3new_abaaba += einsum(x911, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -1.0 + del x911 + x912 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[1], nocc[0]), dtype=types[float]) + x912 += einsum(t2.abab[np.ix_(sOa,sOb,sva,sVb)], (0, 1, 2, 3), v.aaaa.ovOV, (4, 2, 5, 6), (0, 5, 1, 6, 3, 4)) * -1.0 + x913 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x913 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x912, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) + del x912 + t3new_abaaba += einsum(x913, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + t3new_abaaba += einsum(x913, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -1.0 + t3new_abaaba += einsum(x913, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 + t3new_abaaba += einsum(x913, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) + del x913 + x914 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x914 += einsum(t2.abab[np.ix_(sOa,sob,sVa,sVb)], (0, 1, 2, 3), x506, (4, 5, 6, 1), (4, 0, 5, 2, 6, 3)) + del x506 + t3new_abaaba += einsum(x914, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 + t3new_abaaba += einsum(x914, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + t3new_abaaba += einsum(x914, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) + t3new_abaaba += einsum(x914, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -1.0 + del x914 + x915 = np.zeros((naocc[0], naocc[1], navir[0], navir[0], navir[1], nvir[0]), dtype=types[float]) + x915 += einsum(t2.abab[np.ix_(sOa,sOb,sVa,svb)], (0, 1, 2, 3), v.aabb.vVvV, (4, 5, 3, 6), (0, 1, 2, 5, 6, 4)) + x916 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x916 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), x915, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) + del x915 + t3new_abaaba += einsum(x916, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) + t3new_abaaba += einsum(x916, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + t3new_abaaba += einsum(x916, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 + t3new_abaaba += einsum(x916, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) + del x916 + x917 = np.zeros((naocc[0], naocc[1], navir[0], navir[0], navir[1], nvir[0]), dtype=types[float]) + x917 += einsum(t2.abab[np.ix_(sOa,sOb,sva,sVb)], (0, 1, 2, 3), v.aaaa.vVvV, (4, 5, 2, 6), (0, 1, 5, 6, 3, 4)) * -1.0 + x918 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x918 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), x917, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) + del x917 + t3new_abaaba += einsum(x918, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + t3new_abaaba += einsum(x918, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) + t3new_abaaba += einsum(x918, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) + t3new_abaaba += einsum(x918, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 + del x918 + x919 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x919 += einsum(t2.aaaa[np.ix_(soa,sOa,sVa,sVa)], (0, 1, 2, 3), x409, (4, 5, 6, 0), (4, 1, 5, 2, 3, 6)) * -1.0 + del x409 + t3new_abaaba += einsum(x919, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 + t3new_abaaba += einsum(x919, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 2.0 + del x919 + x920 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[1], nocc[0]), dtype=types[float]) + x920 += einsum(t2.aaaa[np.ix_(sOa,sOa,sva,sVa)], (0, 1, 2, 3), v.aabb.ovOV, (4, 2, 5, 6), (0, 1, 5, 3, 6, 4)) * -1.0 + x921 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x921 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x920, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) + del x920 + t3new_abaaba += einsum(x921, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.0 + t3new_abaaba += einsum(x921, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 + del x921 + x922 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x922 += einsum(t2.abab[np.ix_(sOa,sob,sVa,sVb)], (0, 1, 2, 3), x530, (4, 5, 6, 1), (0, 4, 5, 2, 6, 3)) + del x530 + t3new_abaaba += einsum(x922, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) + t3new_abaaba += einsum(x922, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + t3new_abaaba += einsum(x922, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 + t3new_abaaba += einsum(x922, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) + del x922 + x923 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], nocc[1]), dtype=types[float]) + x923 += einsum(t2.abab[np.ix_(sOa,sOb,sVa,svb)], (0, 1, 2, 3), v.aabb.OVov, (4, 5, 6, 3), (0, 4, 1, 2, 5, 6)) + x924 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x924 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), x923, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 6, 1)) + del x923 + t3new_abaaba += einsum(x924, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) + t3new_abaaba += einsum(x924, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + t3new_abaaba += einsum(x924, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 + t3new_abaaba += einsum(x924, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) + del x924 + x925 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x925 += einsum(t2.aaaa[np.ix_(soa,sOa,sVa,sVa)], (0, 1, 2, 3), x512, (4, 5, 6, 0), (1, 4, 5, 2, 3, 6)) * -1.0 + del x512 + t3new_abaaba += einsum(x925, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 + t3new_abaaba += einsum(x925, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -2.0 + del x925 + x926 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], nocc[1]), dtype=types[float]) + x926 += einsum(t2.aaaa[np.ix_(soa,sOa,sVa,sVa)], (0, 1, 2, 3), v.aabb.oOoO, (0, 4, 5, 6), (1, 4, 6, 2, 3, 5)) * -1.0 + x927 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x927 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), x926, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 6, 1)) + del x926 + t3new_abaaba += einsum(x927, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 + t3new_abaaba += einsum(x927, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 2.0 + del x927 + x928 = np.zeros((naocc[0], naocc[0], navir[0], navir[0], navir[1], nvir[1]), dtype=types[float]) + x928 += einsum(t2.aaaa[np.ix_(sOa,sOa,sva,sVa)], (0, 1, 2, 3), v.aabb.vVvV, (2, 4, 5, 6), (0, 1, 3, 4, 6, 5)) * -1.0 + x929 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x929 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), x928, (2, 3, 4, 5, 6, 1), (2, 3, 0, 4, 5, 6)) + del x928 + t3new_abaaba += einsum(x929, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 + t3new_abaaba += einsum(x929, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.0 + del x929 + x930 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], nocc[1]), dtype=types[float]) + x930 += einsum(t2.aaaa[np.ix_(sOa,sOa,sva,sVa)], (0, 1, 2, 3), v.aabb.vVoO, (2, 4, 5, 6), (0, 1, 6, 3, 4, 5)) * -1.0 + x931 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x931 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), x930, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 6, 1)) + del x930 + t3new_abaaba += einsum(x931, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 + t3new_abaaba += einsum(x931, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 + del x931 + x932 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x932 += einsum(x321, (0, 1, 2, 3), t3.abaaba, (2, 4, 3, 5, 6, 7), (0, 1, 4, 5, 7, 6)) + del x321 + t3new_abaaba += einsum(x932, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 + t3new_abaaba += einsum(x932, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -2.0 + del x932 + x933 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x933 += einsum(x323, (0, 1, 2, 3), t3.abaaba, (4, 5, 0, 6, 7, 3), (4, 1, 5, 2, 6, 7)) + del x323 + t3new_abaaba += einsum(x933, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -2.0 + t3new_abaaba += einsum(x933, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.0 + t3new_abaaba += einsum(x933, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 2.0 + t3new_abaaba += einsum(x933, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 + del x933 + x934 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x934 += einsum(x325, (0, 1, 2, 3), t3.abaaba, (4, 5, 1, 6, 7, 3), (4, 0, 5, 2, 6, 7)) + del x325 + t3new_abaaba += einsum(x934, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * 2.0 + t3new_abaaba += einsum(x934, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 + t3new_abaaba += einsum(x934, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -2.0 + t3new_abaaba += einsum(x934, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 + del x934 + x935 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x935 += einsum(x327, (0, 1), t3.abaaba, (2, 3, 1, 4, 5, 6), (2, 0, 3, 4, 6, 5)) + del x327 + t3new_abaaba += einsum(x935, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 2.0 + t3new_abaaba += einsum(x935, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 + del x935 + x936 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x936 += einsum(x329, (0, 1), t3.abaaba, (2, 3, 1, 4, 5, 6), (2, 0, 3, 4, 6, 5)) + del x329 + t3new_abaaba += einsum(x936, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -2.0 + t3new_abaaba += einsum(x936, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 + del x936 + x937 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x937 += einsum(x534, (0, 1, 2, 3), t3.abaaba, (4, 3, 1, 5, 6, 7), (0, 4, 2, 5, 7, 6)) + del x534 + t3new_abaaba += einsum(x937, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 + t3new_abaaba += einsum(x937, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -2.0 + del x937 + x938 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x938 += einsum(x331, (0, 1, 2, 3), t3.abaaba, (4, 5, 1, 6, 7, 3), (0, 4, 5, 6, 2, 7)) + del x331 + t3new_abaaba += einsum(x938, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 + t3new_abaaba += einsum(x938, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.0 + t3new_abaaba += einsum(x938, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 2.0 + t3new_abaaba += einsum(x938, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -2.0 + del x938 + x939 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x939 += einsum(x536, (0, 1, 2, 3), t3.abaaba, (4, 5, 1, 6, 3, 7), (0, 4, 5, 6, 7, 2)) + del x536 + t3new_abaaba += einsum(x939, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 + t3new_abaaba += einsum(x939, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 2.0 + del x939 + x940 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x940 += einsum(x333, (0, 1, 2, 3), t3.abaaba, (4, 5, 1, 6, 7, 2), (0, 4, 5, 6, 3, 7)) + del x333 + t3new_abaaba += einsum(x940, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 + t3new_abaaba += einsum(x940, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 + t3new_abaaba += einsum(x940, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -2.0 + t3new_abaaba += einsum(x940, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * 2.0 + del x940 + x941 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x941 += einsum(x538, (0, 1, 2, 3), t3.abaaba, (4, 1, 5, 6, 7, 3), (4, 5, 0, 2, 6, 7)) + del x538 + t3new_abaaba += einsum(x941, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 + t3new_abaaba += einsum(x941, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 + del x941 + x942 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x942 += einsum(x542, (0, 1, 2, 3), t3.abaaba, (4, 5, 6, 7, 3, 1), (4, 6, 5, 0, 7, 2)) + del x542 + t3new_abaaba += einsum(x942, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.0 + t3new_abaaba += einsum(x942, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 + del x942 + x943 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x943 += einsum(x335, (0, 1, 2, 3), t3.abaaba, (4, 5, 6, 2, 7, 3), (4, 6, 5, 0, 1, 7)) + del x335 + t3new_abaaba += einsum(x943, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.0 + t3new_abaaba += einsum(x943, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 + del x943 + x944 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x944 += einsum(x337, (0, 1), t3.abaaba, (2, 3, 4, 5, 6, 1), (2, 4, 3, 5, 0, 6)) + del x337 + t3new_abaaba += einsum(x944, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 + t3new_abaaba += einsum(x944, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.0 + del x944 + x945 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x945 += einsum(x339, (0, 1), t3.abaaba, (2, 3, 4, 5, 6, 0), (2, 4, 3, 5, 1, 6)) + del x339 + t3new_abaaba += einsum(x945, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 + t3new_abaaba += einsum(x945, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 + del x945 + x946 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x946 += einsum(x317, (0, 1, 2, 3), t3.babbab, (4, 5, 1, 6, 7, 3), (5, 0, 4, 2, 7, 6)) + del x317 + t3new_abaaba += einsum(x946, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -2.0 + t3new_abaaba += einsum(x946, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.0 + t3new_abaaba += einsum(x946, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 2.0 + t3new_abaaba += einsum(x946, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 + del x946 + x947 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x947 += einsum(x319, (0, 1, 2, 3), t3.babbab, (4, 5, 1, 6, 7, 3), (0, 5, 4, 7, 2, 6)) + del x319 + t3new_abaaba += einsum(x947, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 + t3new_abaaba += einsum(x947, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 + t3new_abaaba += einsum(x947, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -2.0 + t3new_abaaba += einsum(x947, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * 2.0 + del x947 + x948 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x948 += einsum(x550, (0, 1, 2, 3), t3.abaaba, (4, 3, 1, 5, 6, 7), (4, 0, 2, 5, 7, 6)) + del x550 + t3new_abaaba += einsum(x948, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 2.0 + t3new_abaaba += einsum(x948, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 + del x948 + x949 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x949 += einsum(x558, (0, 1, 2, 3), t3.abaaba, (4, 5, 1, 6, 3, 7), (4, 0, 5, 6, 7, 2)) + del x558 + t3new_abaaba += einsum(x949, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 2.0 + t3new_abaaba += einsum(x949, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 + del x949 + x950 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x950 += einsum(x341, (0, 1), t3.abaaba, (2, 3, 1, 4, 5, 6), (2, 0, 3, 4, 6, 5)) + del x341 + t3new_abaaba += einsum(x950, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -2.0 + t3new_abaaba += einsum(x950, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 + del x950 + x951 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x951 += einsum(x574, (0, 1, 2, 3), t3.abaaba, (4, 1, 5, 6, 7, 3), (4, 5, 0, 6, 2, 7)) + del x574 + t3new_abaaba += einsum(x951, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 + t3new_abaaba += einsum(x951, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 + del x951 + x952 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x952 += einsum(x576, (0, 1, 2, 3), t3.abaaba, (4, 5, 6, 7, 3, 1), (4, 6, 5, 7, 0, 2)) + del x576 + t3new_abaaba += einsum(x952, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 + t3new_abaaba += einsum(x952, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 + del x952 + x953 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x953 += einsum(x343, (0, 1), t3.abaaba, (2, 3, 4, 5, 6, 1), (2, 4, 3, 5, 0, 6)) + del x343 + t3new_abaaba += einsum(x953, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 + t3new_abaaba += einsum(x953, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.0 + del x953 + x954 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x954 += einsum(t2.abab[np.ix_(sOa,sob,sVa,sVb)], (0, 1, 2, 3), x604, (4, 5, 6, 1), (0, 4, 5, 2, 6, 3)) + del x604 + t3new_abaaba += einsum(x954, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + t3new_abaaba += einsum(x954, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) + t3new_abaaba += einsum(x954, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 + t3new_abaaba += einsum(x954, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) + del x954 + x955 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x955 += einsum(t2.abab[np.ix_(sOa,sob,sVa,sVb)], (0, 1, 2, 3), x600, (4, 5, 6, 1), (0, 4, 5, 2, 6, 3)) + del x600 + t3new_abaaba += einsum(x955, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) + t3new_abaaba += einsum(x955, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -1.0 + t3new_abaaba += einsum(x955, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + t3new_abaaba += einsum(x955, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 + del x955 + x956 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x956 += einsum(t2.abab[np.ix_(sOa,sOb,sVa,svb)], (0, 1, 2, 3), x612, (4, 5, 6, 3), (0, 4, 1, 2, 5, 6)) + del x612 + t3new_abaaba += einsum(x956, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + t3new_abaaba += einsum(x956, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 + t3new_abaaba += einsum(x956, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -1.0 + t3new_abaaba += einsum(x956, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) + del x956 + x957 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x957 += einsum(t2.abab[np.ix_(sOa,sob,sVa,sVb)], (0, 1, 2, 3), x610, (4, 5, 6, 1), (0, 4, 5, 2, 6, 3)) + del x610 + t3new_abaaba += einsum(x957, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + t3new_abaaba += einsum(x957, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) + t3new_abaaba += einsum(x957, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) + t3new_abaaba += einsum(x957, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 + del x957 + x958 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x958 += einsum(t2.abab[np.ix_(soa,sOb,sVa,sVb)], (0, 1, 2, 3), x345, (4, 5, 6, 0), (4, 5, 1, 6, 2, 3)) * -1.0 + del x345 + t3new_abaaba += einsum(x958, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + t3new_abaaba += einsum(x958, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 + t3new_abaaba += einsum(x958, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -1.0 + t3new_abaaba += einsum(x958, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) + del x958 + x959 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x959 += einsum(t2.abab[np.ix_(sOa,sOb,sVa,svb)], (0, 1, 2, 3), x622, (4, 5, 6, 3), (0, 4, 1, 2, 5, 6)) + del x622 + t3new_abaaba += einsum(x959, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + t3new_abaaba += einsum(x959, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) + t3new_abaaba += einsum(x959, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 + t3new_abaaba += einsum(x959, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) + del x959 + x960 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x960 += einsum(t2.abab[np.ix_(sOa,sOb,sVa,svb)], (0, 1, 2, 3), x618, (4, 5, 6, 3), (0, 4, 1, 2, 5, 6)) + del x618 + t3new_abaaba += einsum(x960, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + t3new_abaaba += einsum(x960, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 + t3new_abaaba += einsum(x960, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) + t3new_abaaba += einsum(x960, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -1.0 + del x960 + x961 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x961 += einsum(t2.abab[np.ix_(sOa,sOb,sva,sVb)], (0, 1, 2, 3), x347, (4, 5, 6, 2), (0, 4, 1, 5, 6, 3)) * -1.0 + del x347 + t3new_abaaba += einsum(x961, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 + t3new_abaaba += einsum(x961, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) + t3new_abaaba += einsum(x961, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + t3new_abaaba += einsum(x961, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -1.0 + del x961 + x962 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x962 += einsum(t2.abab[np.ix_(sOa,sob,sVa,sVb)], (0, 1, 2, 3), x626, (4, 5, 6, 1), (4, 0, 5, 2, 6, 3)) + del x626 + t3new_abaaba += einsum(x962, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 + t3new_abaaba += einsum(x962, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) + t3new_abaaba += einsum(x962, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + t3new_abaaba += einsum(x962, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -1.0 + del x962 + x963 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x963 += einsum(t2.abab[np.ix_(sOa,sOb,sVa,svb)], (0, 1, 2, 3), x628, (4, 5, 6, 3), (0, 4, 1, 2, 5, 6)) + del x628 + t3new_abaaba += einsum(x963, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 + t3new_abaaba += einsum(x963, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) + t3new_abaaba += einsum(x963, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + t3new_abaaba += einsum(x963, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -1.0 + del x963 + x964 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x964 += einsum(t2.abab[np.ix_(sOa,sOb,sva,sVb)], (0, 1, 2, 3), x353, (4, 5, 6, 2), (0, 4, 1, 5, 6, 3)) * -1.0 + del x353 + t3new_abaaba += einsum(x964, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 + t3new_abaaba += einsum(x964, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 + t3new_abaaba += einsum(x964, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) + t3new_abaaba += einsum(x964, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) + del x964 + x965 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x965 += einsum(t2.abab[np.ix_(soa,sOb,sVa,sVb)], (0, 1, 2, 3), x349, (4, 5, 6, 0), (4, 5, 1, 6, 2, 3)) * -1.0 + del x349 + t3new_abaaba += einsum(x965, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 + t3new_abaaba += einsum(x965, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.0 + t3new_abaaba += einsum(x965, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 2.0 + t3new_abaaba += einsum(x965, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -2.0 + del x965 + x966 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x966 += einsum(t2.aaaa[np.ix_(soa,sOa,sVa,sVa)], (0, 1, 2, 3), x578, (4, 5, 6, 0), (1, 4, 5, 2, 3, 6)) * -1.0 + del x578 + t3new_abaaba += einsum(x966, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 + t3new_abaaba += einsum(x966, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 2.0 + del x966 + x967 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x967 += einsum(t2.abab[np.ix_(soa,sOb,sVa,sVb)], (0, 1, 2, 3), x351, (4, 5, 6, 0), (4, 5, 1, 6, 2, 3)) * -1.0 + del x351 + t3new_abaaba += einsum(x967, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 + t3new_abaaba += einsum(x967, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 + t3new_abaaba += einsum(x967, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -2.0 + t3new_abaaba += einsum(x967, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * 2.0 + del x967 + x968 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x968 += einsum(t2.aaaa[np.ix_(soa,sOa,sVa,sVa)], (0, 1, 2, 3), x580, (4, 5, 6, 0), (1, 4, 5, 2, 3, 6)) * -1.0 + del x580 + t3new_abaaba += einsum(x968, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 + t3new_abaaba += einsum(x968, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -2.0 + del x968 + x969 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x969 += einsum(t2.abab[np.ix_(sOa,sob,sVa,sVb)], (0, 1, 2, 3), x630, (4, 5, 6, 1), (0, 4, 5, 2, 6, 3)) + del x630 + t3new_abaaba += einsum(x969, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 + t3new_abaaba += einsum(x969, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 + t3new_abaaba += einsum(x969, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * 2.0 + t3new_abaaba += einsum(x969, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -2.0 + del x969 + x970 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x970 += einsum(t2.aaaa[np.ix_(soa,sOa,sVa,sVa)], (0, 1, 2, 3), x586, (4, 5, 6, 0), (1, 4, 5, 2, 3, 6)) * -1.0 + del x586 + t3new_abaaba += einsum(x970, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -2.0 + t3new_abaaba += einsum(x970, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 + del x970 + x971 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x971 += einsum(t2.aaaa[np.ix_(sOa,sOa,sva,sVa)], (0, 1, 2, 3), x582, (4, 5, 6, 2), (0, 1, 4, 3, 5, 6)) * -1.0 + del x582 + t3new_abaaba += einsum(x971, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 + t3new_abaaba += einsum(x971, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.0 + del x971 + x972 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x972 += einsum(t2.aaaa[np.ix_(soa,sOa,sVa,sVa)], (0, 1, 2, 3), x590, (4, 5, 6, 0), (4, 1, 5, 2, 3, 6)) * -1.0 + del x590 + t3new_abaaba += einsum(x972, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 + t3new_abaaba += einsum(x972, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 2.0 + del x972 + x973 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x973 += einsum(t2.abab[np.ix_(sOa,sOb,sva,sVb)], (0, 1, 2, 3), x355, (4, 5, 6, 2), (0, 4, 1, 5, 6, 3)) * -1.0 + del x355 + t3new_abaaba += einsum(x973, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 + t3new_abaaba += einsum(x973, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 + t3new_abaaba += einsum(x973, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * 2.0 + t3new_abaaba += einsum(x973, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -2.0 + del x973 + x974 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x974 += einsum(t2.abab[np.ix_(sOa,sOb,sVa,svb)], (0, 1, 2, 3), x632, (4, 5, 6, 3), (0, 4, 1, 2, 5, 6)) + del x632 + t3new_abaaba += einsum(x974, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.0 + t3new_abaaba += einsum(x974, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 + t3new_abaaba += einsum(x974, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -2.0 + t3new_abaaba += einsum(x974, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 2.0 + del x974 + x975 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x975 += einsum(t2.abab[np.ix_(sOa,sOb,sva,sVb)], (0, 1, 2, 3), x359, (4, 5, 6, 2), (0, 4, 1, 5, 6, 3)) * -1.0 + del x359 + t3new_abaaba += einsum(x975, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.0 + t3new_abaaba += einsum(x975, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 + t3new_abaaba += einsum(x975, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -2.0 + t3new_abaaba += einsum(x975, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 2.0 + del x975 + x976 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x976 += einsum(t2.abab[np.ix_(soa,sOb,sVa,sVb)], (0, 1, 2, 3), x357, (4, 5, 6, 0), (5, 4, 1, 2, 6, 3)) + del x357 + t3new_abaaba += einsum(x976, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + t3new_abaaba += einsum(x976, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) + t3new_abaaba += einsum(x976, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + t3new_abaaba += einsum(x976, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) + del x976 + x977 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x977 += einsum(t2.aaaa[np.ix_(sOa,sOa,sva,sVa)], (0, 1, 2, 3), x596, (4, 5, 6, 2), (0, 1, 4, 3, 5, 6)) * -1.0 + del x596 + t3new_abaaba += einsum(x977, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.0 + t3new_abaaba += einsum(x977, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 + del x977 + x978 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x978 += einsum(t2.aaaa[np.ix_(sOa,sOa,sva,sVa)], (0, 1, 2, 3), x588, (4, 5, 6, 2), (0, 1, 4, 3, 5, 6)) * -1.0 + del x588 + t3new_abaaba += einsum(x978, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 + t3new_abaaba += einsum(x978, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.0 + del x978 + x979 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x979 += einsum(t2.aaaa[np.ix_(sOa,sOa,sva,sVa)], (0, 1, 2, 3), x592, (4, 5, 6, 2), (0, 1, 4, 3, 5, 6)) * -1.0 + del x592 + t3new_abaaba += einsum(x979, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 + t3new_abaaba += einsum(x979, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 + del x979 + x980 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x980 += einsum(t2.aaaa[np.ix_(soa,sOa,sVa,sVa)], (0, 1, 2, 3), x608, (4, 5, 6, 0), (1, 4, 5, 2, 3, 6)) * -1.0 + del x608 + t3new_abaaba += einsum(x980, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 4.0 + t3new_abaaba += einsum(x980, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -4.0 + del x980 + x981 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x981 += einsum(t2.aaaa[np.ix_(sOa,sOa,sva,sVa)], (0, 1, 2, 3), x624, (4, 5, 6, 2), (0, 1, 4, 3, 5, 6)) * -1.0 + del x624 + t3new_abaaba += einsum(x981, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -4.0 + t3new_abaaba += einsum(x981, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 4.0 + del x981 + x982 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x982 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x644, (6, 2, 7, 1, 8, 4), (6, 0, 7, 3, 5, 8)) + del x644 + t3new_abaaba += einsum(x982, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 + t3new_abaaba += einsum(x982, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -2.0 + del x982 + x983 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x983 += einsum(x646, (0, 1, 2, 3), t3.abaaba, (4, 3, 1, 5, 6, 7), (0, 4, 2, 5, 7, 6)) + del x646 + t3new_abaaba += einsum(x983, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 + t3new_abaaba += einsum(x983, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -2.0 + del x983 + x984 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x984 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x648, (6, 2, 7, 1, 8, 5), (6, 0, 7, 8, 3, 4)) + del x648 + t3new_abaaba += einsum(x984, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 + t3new_abaaba += einsum(x984, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 + t3new_abaaba += einsum(x984, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * 2.0 + t3new_abaaba += einsum(x984, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -2.0 + del x984 + x985 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x985 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x650, (6, 2, 7, 5, 8, 4), (6, 0, 1, 7, 3, 8)) + del x650 + t3new_abaaba += einsum(x985, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 + t3new_abaaba += einsum(x985, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 + t3new_abaaba += einsum(x985, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * 2.0 + t3new_abaaba += einsum(x985, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -2.0 + del x985 + x986 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x986 += einsum(x652, (0, 1, 2, 3), t3.abaaba, (4, 5, 1, 6, 3, 7), (0, 4, 5, 6, 7, 2)) + del x652 + t3new_abaaba += einsum(x986, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.00000000000002 + t3new_abaaba += einsum(x986, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 2.00000000000002 + del x986 + x987 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x987 += einsum(x365, (0, 1), t3.abaaba, (2, 3, 1, 4, 5, 6), (0, 2, 3, 4, 6, 5)) + del x365 + t3new_abaaba += einsum(x987, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 + t3new_abaaba += einsum(x987, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 2.0 + del x987 + x988 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x988 += einsum(x367, (0, 1, 2, 3), t3.abaaba, (4, 5, 1, 6, 7, 3), (0, 4, 5, 2, 6, 7)) + del x367 + t3new_abaaba += einsum(x988, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.00000000000002 + t3new_abaaba += einsum(x988, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.00000000000002 + t3new_abaaba += einsum(x988, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -2.00000000000002 + t3new_abaaba += einsum(x988, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 2.00000000000002 + del x988 + x989 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x989 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x654, (6, 1, 7, 5, 8, 4), (0, 2, 6, 7, 3, 8)) + del x654 + t3new_abaaba += einsum(x989, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 + t3new_abaaba += einsum(x989, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 + del x989 + x990 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x990 += einsum(x660, (0, 1, 2, 3), t3.abaaba, (4, 1, 5, 6, 7, 3), (4, 5, 0, 2, 6, 7)) + del x660 + t3new_abaaba += einsum(x990, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.00000000000002 + t3new_abaaba += einsum(x990, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.00000000000002 + del x990 + x991 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x991 += einsum(x662, (0, 1, 2, 3), t3.abaaba, (4, 5, 6, 7, 3, 1), (4, 6, 5, 0, 7, 2)) + del x662 + t3new_abaaba += einsum(x991, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 + t3new_abaaba += einsum(x991, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 + del x991 + x992 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x992 += einsum(x369, (0, 1), t3.abaaba, (2, 3, 4, 5, 6, 1), (2, 4, 3, 0, 5, 6)) + del x369 + t3new_abaaba += einsum(x992, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.0 + t3new_abaaba += einsum(x992, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 + del x992 + x993 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x993 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x666, (6, 7, 0, 2, 8, 5), (6, 1, 7, 8, 4, 3)) + del x666 + t3new_abaaba += einsum(x993, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + t3new_abaaba += einsum(x993, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 + t3new_abaaba += einsum(x993, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -1.0 + t3new_abaaba += einsum(x993, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) + del x993 + x994 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x994 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x668, (6, 7, 0, 2, 8, 5), (6, 1, 7, 8, 4, 3)) + del x668 + t3new_abaaba += einsum(x994, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + t3new_abaaba += einsum(x994, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 + t3new_abaaba += einsum(x994, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -1.0 + t3new_abaaba += einsum(x994, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) + del x994 + x995 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x995 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x670, (6, 2, 7, 8, 3, 5), (6, 1, 0, 7, 4, 8)) + del x670 + t3new_abaaba += einsum(x995, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.0 + t3new_abaaba += einsum(x995, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 + t3new_abaaba += einsum(x995, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -2.0 + t3new_abaaba += einsum(x995, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 2.0 + del x995 + x996 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x996 += einsum(x361, (0, 1, 2, 3), t3.babbab, (4, 5, 1, 6, 7, 3), (0, 5, 4, 2, 7, 6)) + del x361 + t3new_abaaba += einsum(x996, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.00000000000002 + t3new_abaaba += einsum(x996, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.00000000000002 + t3new_abaaba += einsum(x996, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -2.00000000000002 + t3new_abaaba += einsum(x996, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 2.00000000000002 + del x996 + x997 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x997 += einsum(x363, (0, 1, 2, 3), t3.babbab, (4, 5, 1, 6, 7, 3), (0, 5, 4, 2, 7, 6)) + del x363 + t3new_abaaba += einsum(x997, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.00000000000002 + t3new_abaaba += einsum(x997, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.00000000000002 + t3new_abaaba += einsum(x997, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * 2.00000000000002 + t3new_abaaba += einsum(x997, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -2.00000000000002 + del x997 + x998 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x998 += einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), x634, (6, 2, 1, 7, 5, 8), (6, 0, 7, 3, 4, 8)) * -1.0 + del x634 + t3new_abaaba += einsum(x998, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -3.0 + t3new_abaaba += einsum(x998, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 3.0 + del x998 + x999 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x999 += einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), x636, (6, 1, 2, 7, 5, 8), (6, 0, 7, 3, 4, 8)) + del x636 + t3new_abaaba += einsum(x999, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -3.0 + t3new_abaaba += einsum(x999, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 3.0 + del x999 + x1000 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x1000 += einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), x638, (2, 6, 7, 5, 4, 8), (0, 1, 6, 7, 3, 8)) * -1.0 + del x638 + t3new_abaaba += einsum(x1000, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 6.0 + t3new_abaaba += einsum(x1000, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -6.0 + del x1000 + x1001 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x1001 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x377, (6, 7, 0, 2, 8, 5), (7, 6, 1, 8, 3, 4)) * -1.0 + del x377 + t3new_abaaba += einsum(x1001, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.0 + t3new_abaaba += einsum(x1001, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 + del x1001 + x1002 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x1002 += einsum(x379, (0, 1, 2, 3), t3.abaaba, (2, 4, 3, 5, 6, 7), (1, 0, 4, 5, 7, 6)) * -1.0 + del x379 + t3new_abaaba += einsum(x1002, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 + t3new_abaaba += einsum(x1002, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 + del x1002 + x1003 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x1003 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x381, (6, 7, 0, 2, 8, 5), (7, 6, 1, 8, 3, 4)) * -1.0 + del x381 + t3new_abaaba += einsum(x1003, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.0 + t3new_abaaba += einsum(x1003, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 + del x1003 + x1004 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x1004 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x383, (6, 2, 7, 8, 3, 5), (6, 0, 1, 7, 8, 4)) + del x383 + t3new_abaaba += einsum(x1004, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -4.0 + t3new_abaaba += einsum(x1004, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 4.0 + del x1004 + x1005 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x1005 += einsum(x385, (0, 1, 2, 3), t3.abaaba, (4, 5, 1, 6, 7, 3), (0, 4, 5, 2, 6, 7)) + del x385 + t3new_abaaba += einsum(x1005, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 4.00000000000004 + t3new_abaaba += einsum(x1005, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -4.00000000000004 + t3new_abaaba += einsum(x1005, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -4.00000000000004 + t3new_abaaba += einsum(x1005, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 4.00000000000004 + del x1005 + x1006 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x1006 += einsum(x387, (0, 1), t3.abaaba, (2, 3, 1, 4, 5, 6), (0, 2, 3, 4, 6, 5)) + del x387 + t3new_abaaba += einsum(x1006, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 + t3new_abaaba += einsum(x1006, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 + t3new_abaaba += einsum(x1006, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 2.0 + t3new_abaaba += einsum(x1006, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 2.0 + del x1006 + x1007 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x1007 += einsum(x389, (0, 1, 2, 3), t3.abaaba, (4, 5, 1, 6, 7, 3), (0, 4, 5, 2, 6, 7)) + del x389 + t3new_abaaba += einsum(x1007, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -4.00000000000004 + t3new_abaaba += einsum(x1007, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 4.00000000000004 + t3new_abaaba += einsum(x1007, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * 4.00000000000004 + t3new_abaaba += einsum(x1007, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -4.00000000000004 + del x1007 + x1008 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x1008 += einsum(x688, (0, 1), t3.abaaba, (2, 1, 3, 4, 5, 6), (2, 3, 0, 4, 6, 5)) + t3new_abaaba += einsum(x1008, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 + t3new_abaaba += einsum(x1008, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 + del x1008 + x1009 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x1009 += einsum(x393, (0, 1), t3.abaaba, (2, 3, 4, 5, 6, 1), (2, 4, 3, 0, 5, 6)) + del x393 + t3new_abaaba += einsum(x1009, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.0 + t3new_abaaba += einsum(x1009, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 + del x1009 + x1010 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x1010 += einsum(x395, (0, 1), t3.abaaba, (2, 3, 4, 5, 6, 1), (2, 4, 3, 0, 5, 6)) + del x395 + t3new_abaaba += einsum(x1010, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.0 + t3new_abaaba += einsum(x1010, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 + del x1010 + x1011 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x1011 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x371, (6, 7, 1, 2, 8, 5), (7, 6, 0, 8, 4, 3)) * -1.0 + del x371 + t3new_abaaba += einsum(x1011, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -4.0 + t3new_abaaba += einsum(x1011, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 4.0 + del x1011 + x1012 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x1012 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x373, (6, 2, 7, 8, 4, 5), (6, 1, 0, 7, 8, 3)) + del x373 + t3new_abaaba += einsum(x1012, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 4.0 + t3new_abaaba += einsum(x1012, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -4.0 + del x1012 + x1013 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x1013 += einsum(x375, (0, 1, 2, 3), t3.babbab, (4, 5, 1, 6, 7, 3), (0, 5, 4, 2, 7, 6)) + del x375 + t3new_abaaba += einsum(x1013, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 4.00000000000004 + t3new_abaaba += einsum(x1013, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -4.00000000000004 + t3new_abaaba += einsum(x1013, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -4.00000000000004 + t3new_abaaba += einsum(x1013, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 4.00000000000004 + del x1013 + x1014 = np.zeros((naocc[0], naocc[1], navir[0], navir[0], navir[1], nvir[0]), dtype=types[float]) + x1014 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), t2.abab[np.ix_(soa,sOb,sVa,sVb)], (2, 3, 4, 5), v.aaaa.ovoO, (2, 6, 0, 7), (7, 3, 1, 4, 5, 6)) * -1.0 + x1015 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x1015 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), x1014, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) + del x1014 + t3new_abaaba += einsum(x1015, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + t3new_abaaba += einsum(x1015, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 + t3new_abaaba += einsum(x1015, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -1.0 + t3new_abaaba += einsum(x1015, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) + del x1015 + x1016 = np.zeros((naocc[0], naocc[1], navir[0], navir[0], navir[1], nvir[0]), dtype=types[float]) + x1016 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), t2.abab[np.ix_(soa,sOb,sVa,sVb)], (2, 3, 4, 5), v.aaaa.ovoO, (0, 6, 2, 7), (7, 3, 1, 4, 5, 6)) * -1.0 + x1017 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x1017 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), x1016, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) + del x1016 + t3new_abaaba += einsum(x1017, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + t3new_abaaba += einsum(x1017, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) + t3new_abaaba += einsum(x1017, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) + t3new_abaaba += einsum(x1017, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 + del x1017 + x1018 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x1018 += einsum(t2.abab[np.ix_(sOa,sOb,sva,sVb)], (0, 1, 2, 3), x401, (4, 5, 6, 2), (0, 4, 1, 5, 6, 3)) * -1.0 + del x401 + t3new_abaaba += einsum(x1018, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + t3new_abaaba += einsum(x1018, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 + t3new_abaaba += einsum(x1018, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -1.0 + t3new_abaaba += einsum(x1018, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) + del x1018 + x1019 = np.zeros((naocc[0], naocc[1], navir[0], navir[0], navir[1], nvir[0]), dtype=types[float]) + x1019 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), t2.abab[np.ix_(soa,sOb,sVa,sVb)], (2, 3, 4, 5), v.aaaa.ovvV, (2, 1, 6, 7), (0, 3, 4, 7, 5, 6)) * -1.0 + x1020 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x1020 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), x1019, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) + del x1019 + t3new_abaaba += einsum(x1020, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) + t3new_abaaba += einsum(x1020, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 + t3new_abaaba += einsum(x1020, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + t3new_abaaba += einsum(x1020, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) + del x1020 + x1021 = np.zeros((naocc[0], naocc[1], navir[0], navir[0], navir[1], nvir[0]), dtype=types[float]) + x1021 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), t2.abab[np.ix_(sOa,sob,sVa,sVb)], (2, 3, 4, 5), v.aabb.ovoO, (0, 6, 3, 7), (2, 7, 1, 4, 5, 6)) + x1022 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x1022 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), x1021, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) + del x1021 + t3new_abaaba += einsum(x1022, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + t3new_abaaba += einsum(x1022, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 + t3new_abaaba += einsum(x1022, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -1.0 + t3new_abaaba += einsum(x1022, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) + del x1022 + x1023 = np.zeros((naocc[0], naocc[1], navir[0], navir[0], navir[1], nvir[0]), dtype=types[float]) + x1023 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), t2.abab[np.ix_(sOa,sOb,sVa,svb)], (2, 3, 4, 5), v.aabb.ovvV, (0, 6, 5, 7), (2, 3, 1, 4, 7, 6)) + x1024 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x1024 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), x1023, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) + del x1023 + t3new_abaaba += einsum(x1024, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + t3new_abaaba += einsum(x1024, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) + t3new_abaaba += einsum(x1024, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) + t3new_abaaba += einsum(x1024, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 + del x1024 + x1025 = np.zeros((naocc[0], naocc[1], navir[0], navir[0], navir[1], nvir[0]), dtype=types[float]) + x1025 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), t2.abab[np.ix_(sOa,sOb,sva,sVb)], (2, 3, 4, 5), v.aaaa.ovvV, (0, 6, 4, 7), (2, 3, 1, 7, 5, 6)) * -1.0 + x1026 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x1026 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), x1025, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) + del x1025 + t3new_abaaba += einsum(x1026, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + t3new_abaaba += einsum(x1026, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 + t3new_abaaba += einsum(x1026, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -1.0 + t3new_abaaba += einsum(x1026, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) + del x1026 + x1027 = np.zeros((naocc[0], naocc[1], navir[0], navir[0], navir[1], nvir[0]), dtype=types[float]) + x1027 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), t2.abab[np.ix_(sOa,sOb,sva,sVb)], (2, 3, 4, 5), v.aaaa.ovvV, (0, 4, 6, 7), (2, 3, 1, 7, 5, 6)) * -1.0 + x1028 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x1028 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), x1027, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) + del x1027 + t3new_abaaba += einsum(x1028, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + t3new_abaaba += einsum(x1028, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) + t3new_abaaba += einsum(x1028, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) + t3new_abaaba += einsum(x1028, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 + del x1028 + x1029 = np.zeros((naocc[0], naocc[0], navir[0], navir[0], navir[1], nvir[1]), dtype=types[float]) + x1029 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), t2.abab[np.ix_(sOa,sob,sVa,sVb)], (2, 3, 4, 5), v.aabb.oOov, (0, 6, 3, 7), (2, 6, 1, 4, 5, 7)) + x1030 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x1030 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), x1029, (2, 3, 4, 5, 6, 1), (2, 3, 0, 4, 5, 6)) + del x1029 + t3new_abaaba += einsum(x1030, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + t3new_abaaba += einsum(x1030, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) + t3new_abaaba += einsum(x1030, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) + t3new_abaaba += einsum(x1030, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 + del x1030 + x1031 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x1031 += einsum(t2.abab[np.ix_(sOa,sOb,sVa,svb)], (0, 1, 2, 3), x712, (4, 5, 6, 3), (0, 4, 1, 5, 2, 6)) + del x712 + t3new_abaaba += einsum(x1031, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + t3new_abaaba += einsum(x1031, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) + t3new_abaaba += einsum(x1031, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) + t3new_abaaba += einsum(x1031, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 + del x1031 + x1032 = np.zeros((naocc[0], naocc[1], navir[0], navir[0], navir[1], nvir[0]), dtype=types[float]) + x1032 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), t2.abab[np.ix_(sOa,sob,sVa,sVb)], (2, 3, 4, 5), v.aabb.vVov, (6, 7, 3, 1), (2, 0, 4, 7, 5, 6)) + x1033 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x1033 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), x1032, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) + del x1032 + t3new_abaaba += einsum(x1033, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 + t3new_abaaba += einsum(x1033, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + t3new_abaaba += einsum(x1033, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) + t3new_abaaba += einsum(x1033, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -1.0 + del x1033 + x1034 = np.zeros((naocc[0], naocc[1], navir[0], navir[0], navir[1], nvir[0]), dtype=types[float]) + x1034 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), t2.abab[np.ix_(sOa,sOb,sVa,svb)], (2, 3, 4, 5), v.aabb.vVov, (6, 7, 0, 5), (2, 3, 4, 7, 1, 6)) + x1035 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x1035 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), x1034, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) + del x1034 + t3new_abaaba += einsum(x1035, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 + t3new_abaaba += einsum(x1035, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + t3new_abaaba += einsum(x1035, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) + t3new_abaaba += einsum(x1035, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -1.0 + del x1035 + x1036 = np.zeros((naocc[0], naocc[1], navir[0], navir[0], navir[1], nvir[0]), dtype=types[float]) + x1036 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), t2.aaaa[np.ix_(soa,sOa,sVa,sVa)], (2, 3, 4, 5), v.aabb.ovvV, (2, 6, 1, 7), (3, 0, 4, 5, 7, 6)) * -1.0 + x1037 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x1037 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), x1036, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) + del x1036 + t3new_abaaba += einsum(x1037, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 + t3new_abaaba += einsum(x1037, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 2.0 + del x1037 + x1038 = np.zeros((naocc[0], naocc[1], navir[0], navir[0], navir[1], nvir[0]), dtype=types[float]) + x1038 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), t2.aaaa[np.ix_(soa,sOa,sVa,sVa)], (2, 3, 4, 5), v.aabb.ovoO, (2, 6, 0, 7), (3, 7, 4, 5, 1, 6)) * -1.0 + x1039 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x1039 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), x1038, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) + del x1038 + t3new_abaaba += einsum(x1039, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 + t3new_abaaba += einsum(x1039, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -2.0 + del x1039 + x1040 = np.zeros((naocc[0], naocc[0], navir[0], navir[0], navir[1], nvir[1]), dtype=types[float]) + x1040 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), t2.aaaa[np.ix_(sOa,sOa,sva,sVa)], (2, 3, 4, 5), v.aabb.ovvV, (0, 4, 6, 7), (2, 3, 1, 5, 7, 6)) * -1.0 + x1041 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x1041 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), x1040, (2, 3, 4, 5, 6, 1), (2, 3, 0, 4, 5, 6)) + del x1040 + t3new_abaaba += einsum(x1041, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.0 + t3new_abaaba += einsum(x1041, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 + del x1041 + x1042 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x1042 += einsum(t2.aaaa[np.ix_(sOa,sOa,sva,sVa)], (0, 1, 2, 3), x708, (4, 5, 6, 2), (0, 1, 4, 5, 3, 6)) * -1.0 + del x708 + t3new_abaaba += einsum(x1042, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 + t3new_abaaba += einsum(x1042, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 + del x1042 + x1043 = np.zeros((naocc[0], naocc[0], navir[0], navir[0], navir[1], nvir[1]), dtype=types[float]) + x1043 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), t2.aaaa[np.ix_(soa,sOa,sVa,sVa)], (2, 3, 4, 5), v.aabb.oOov, (2, 6, 0, 7), (3, 6, 4, 5, 1, 7)) * -1.0 + x1044 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x1044 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), x1043, (2, 3, 4, 5, 6, 1), (2, 3, 0, 4, 5, 6)) + del x1043 + t3new_abaaba += einsum(x1044, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 + t3new_abaaba += einsum(x1044, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 2.0 + del x1044 + x1045 = np.zeros((naocc[0], naocc[0], navir[0], navir[0], navir[1], nvir[1]), dtype=types[float]) + x1045 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), t2.aaaa[np.ix_(sOa,sOa,sva,sVa)], (2, 3, 4, 5), v.aabb.vVov, (4, 6, 0, 7), (2, 3, 5, 6, 1, 7)) * -1.0 + x1046 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x1046 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), x1045, (2, 3, 4, 5, 6, 1), (2, 3, 0, 4, 5, 6)) + del x1045 + t3new_abaaba += einsum(x1046, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 + t3new_abaaba += einsum(x1046, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 + del x1046 + x1047 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x1047 += einsum(x413, (0, 1, 2, 3), t3.abaaba, (3, 4, 2, 5, 6, 7), (1, 0, 4, 5, 7, 6)) + del x413 + t3new_abaaba += einsum(x1047, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 + t3new_abaaba += einsum(x1047, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 + del x1047 + x1048 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x1048 += einsum(x416, (0, 1, 2, 3), t3.abaaba, (4, 5, 1, 6, 7, 3), (0, 4, 5, 2, 6, 7)) + del x416 + t3new_abaaba += einsum(x1048, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 + t3new_abaaba += einsum(x1048, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 + t3new_abaaba += einsum(x1048, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * 2.0 + t3new_abaaba += einsum(x1048, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -2.0 + del x1048 + x1049 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x1049 += einsum(x419, (0, 1, 2, 3), t3.abaaba, (4, 5, 1, 6, 7, 3), (0, 4, 5, 2, 6, 7)) + del x419 + t3new_abaaba += einsum(x1049, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.0 + t3new_abaaba += einsum(x1049, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 + t3new_abaaba += einsum(x1049, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -2.0 + t3new_abaaba += einsum(x1049, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 2.0 + del x1049 + x1050 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x1050 += einsum(x422, (0, 1), t3.abaaba, (2, 3, 1, 4, 5, 6), (0, 2, 3, 4, 6, 5)) + del x422 + t3new_abaaba += einsum(x1050, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 + t3new_abaaba += einsum(x1050, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -2.0 + del x1050 + x1051 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x1051 += einsum(x425, (0, 1), t3.abaaba, (2, 3, 1, 4, 5, 6), (0, 2, 3, 4, 6, 5)) + del x425 + t3new_abaaba += einsum(x1051, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 + t3new_abaaba += einsum(x1051, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 2.0 + del x1051 + x1052 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x1052 += einsum(x431, (0, 1), t3.abaaba, (2, 3, 4, 5, 6, 1), (2, 4, 3, 0, 5, 6)) + del x431 + t3new_abaaba += einsum(x1052, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.0 + t3new_abaaba += einsum(x1052, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 + del x1052 + x1053 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x1053 += einsum(x434, (0, 1), t3.abaaba, (2, 3, 4, 5, 6, 1), (2, 4, 3, 0, 5, 6)) + del x434 + t3new_abaaba += einsum(x1053, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 + t3new_abaaba += einsum(x1053, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 + del x1053 + x1054 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x1054 += einsum(x410, (0, 1, 2, 3), t3.babbab, (4, 5, 1, 6, 7, 3), (0, 5, 4, 2, 7, 6)) + del x410 + t3new_abaaba += einsum(x1054, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 + t3new_abaaba += einsum(x1054, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 + t3new_abaaba += einsum(x1054, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * 2.0 + t3new_abaaba += einsum(x1054, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -2.0 + del x1054 + x1055 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x1055 += einsum(x735, (0, 1, 2, 3), t3.abaaba, (4, 3, 1, 5, 6, 7), (0, 4, 2, 5, 7, 6)) + del x735 + t3new_abaaba += einsum(x1055, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 + t3new_abaaba += einsum(x1055, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -2.0 + del x1055 + x1056 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x1056 += einsum(x738, (0, 1, 2, 3), t3.abaaba, (4, 5, 1, 6, 3, 7), (0, 4, 5, 6, 7, 2)) + del x738 + t3new_abaaba += einsum(x1056, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 + t3new_abaaba += einsum(x1056, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -2.0 + del x1056 + x1057 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x1057 += einsum(x437, (0, 1), t3.abaaba, (2, 3, 1, 4, 5, 6), (0, 2, 3, 4, 6, 5)) + del x437 + t3new_abaaba += einsum(x1057, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 + t3new_abaaba += einsum(x1057, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 2.0 + del x1057 + x1058 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x1058 += einsum(x741, (0, 1, 2, 3), t3.abaaba, (4, 1, 5, 6, 7, 3), (4, 5, 0, 2, 6, 7)) + del x741 + t3new_abaaba += einsum(x1058, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 + t3new_abaaba += einsum(x1058, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 + del x1058 + x1059 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x1059 += einsum(x747, (0, 1, 2, 3), t3.abaaba, (4, 5, 6, 7, 3, 1), (4, 6, 5, 0, 7, 2)) + del x747 + t3new_abaaba += einsum(x1059, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 + t3new_abaaba += einsum(x1059, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 + del x1059 + x1060 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x1060 += einsum(x440, (0, 1), t3.abaaba, (2, 3, 4, 5, 6, 1), (2, 4, 3, 0, 5, 6)) + del x440 + t3new_abaaba += einsum(x1060, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.0 + t3new_abaaba += einsum(x1060, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 + del x1060 + x1061 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], nocc[0], nocc[1]), dtype=types[float]) + x1061 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), t2.abab[np.ix_(sOa,sOb,sVa,svb)], (2, 3, 4, 5), v.aabb.ovov, (6, 1, 7, 5), (0, 2, 3, 4, 6, 7)) + x1062 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x1062 += einsum(t2.abab[np.ix_(soa,sob,sVa,sVb)], (0, 1, 2, 3), x1061, (4, 5, 6, 7, 0, 1), (4, 5, 6, 7, 2, 3)) + del x1061 + t3new_abaaba += einsum(x1062, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + t3new_abaaba += einsum(x1062, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) + t3new_abaaba += einsum(x1062, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) + t3new_abaaba += einsum(x1062, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 + del x1062 + x1063 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x1063 += einsum(t2.abab[np.ix_(sOa,sob,sVa,sVb)], (0, 1, 2, 3), x795, (4, 5, 6, 1), (4, 0, 5, 2, 6, 3)) + del x795 + t3new_abaaba += einsum(x1063, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + t3new_abaaba += einsum(x1063, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 + t3new_abaaba += einsum(x1063, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -1.0 + t3new_abaaba += einsum(x1063, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) + del x1063 + x1064 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x1064 += einsum(t2.abab[np.ix_(soa,sOb,sVa,sVb)], (0, 1, 2, 3), x443, (4, 5, 6, 0), (4, 5, 1, 6, 2, 3)) * -1.0 + del x443 + t3new_abaaba += einsum(x1064, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + t3new_abaaba += einsum(x1064, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) + t3new_abaaba += einsum(x1064, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) + t3new_abaaba += einsum(x1064, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 + del x1064 + x1065 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[1], nocc[0]), dtype=types[float]) + x1065 += einsum(t2.abab[np.ix_(sOa,sOb,sva,sVb)], (0, 1, 2, 3), x442, (4, 5, 6, 2), (0, 4, 1, 5, 3, 6)) * -1.0 + del x442 + x1066 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x1066 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x1065, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) + del x1065 + t3new_abaaba += einsum(x1066, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + t3new_abaaba += einsum(x1066, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -1.0 + t3new_abaaba += einsum(x1066, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 + t3new_abaaba += einsum(x1066, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) + del x1066 + x1067 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[1], nocc[0]), dtype=types[float]) + x1067 += einsum(t2.abab[np.ix_(sOa,sob,sVa,sVb)], (0, 1, 2, 3), x801, (4, 5, 6, 1), (4, 0, 5, 2, 3, 6)) + x1068 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x1068 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x1067, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) + del x1067 + t3new_abaaba += einsum(x1068, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + t3new_abaaba += einsum(x1068, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -1.0 + t3new_abaaba += einsum(x1068, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 + t3new_abaaba += einsum(x1068, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) + del x1068 + x1069 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[1], nocc[0]), dtype=types[float]) + x1069 += einsum(t2.abab[np.ix_(sOa,sOb,sVa,svb)], (0, 1, 2, 3), x804, (4, 5, 6, 3), (0, 4, 1, 2, 5, 6)) + del x804 + x1070 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x1070 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x1069, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) + del x1069 + t3new_abaaba += einsum(x1070, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + t3new_abaaba += einsum(x1070, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -1.0 + t3new_abaaba += einsum(x1070, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 + t3new_abaaba += einsum(x1070, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) + del x1070 + x1071 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x1071 += einsum(t2.abab[np.ix_(sOa,sob,sVa,sVb)], (0, 1, 2, 3), x807, (4, 5, 6, 1), (4, 0, 5, 6, 2, 3)) + del x807 + t3new_abaaba += einsum(x1071, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + t3new_abaaba += einsum(x1071, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) + t3new_abaaba += einsum(x1071, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 + t3new_abaaba += einsum(x1071, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) + del x1071 + x1072 = np.zeros((naocc[0], naocc[0], naocc[1], navir[1], nocc[0], nocc[0]), dtype=types[float]) + x1072 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), t2.abab[np.ix_(sOa,sOb,sva,sVb)], (2, 3, 4, 5), v.aaaa.ovov, (6, 1, 7, 4), (0, 2, 3, 5, 6, 7)) * -1.0 + x1073 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x1073 += einsum(t2.aaaa[np.ix_(soa,soa,sVa,sVa)], (0, 1, 2, 3), x1072, (4, 5, 6, 7, 0, 1), (4, 5, 6, 2, 3, 7)) + del x1072 + t3new_abaaba += einsum(x1073, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) + t3new_abaaba += einsum(x1073, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) + t3new_abaaba += einsum(x1073, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 + t3new_abaaba += einsum(x1073, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 + del x1073 + x1074 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x1074 += einsum(t2.abab[np.ix_(soa,sOb,sVa,sVb)], (0, 1, 2, 3), x448, (4, 5, 6, 0), (4, 5, 1, 6, 2, 3)) * -1.0 + del x448 + t3new_abaaba += einsum(x1074, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 + t3new_abaaba += einsum(x1074, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 + t3new_abaaba += einsum(x1074, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -2.0 + t3new_abaaba += einsum(x1074, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * 2.0 + del x1074 + x1075 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x1075 += einsum(t2.aaaa[np.ix_(soa,sOa,sVa,sVa)], (0, 1, 2, 3), x778, (4, 5, 6, 0), (4, 1, 5, 2, 3, 6)) * -1.0 + del x778 + t3new_abaaba += einsum(x1075, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 + t3new_abaaba += einsum(x1075, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -2.0 + del x1075 + x1076 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x1076 += einsum(t2.abab[np.ix_(soa,sOb,sVa,sVb)], (0, 1, 2, 3), x451, (4, 5, 6, 0), (4, 5, 1, 6, 2, 3)) * -1.0 + del x451 + t3new_abaaba += einsum(x1076, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 + t3new_abaaba += einsum(x1076, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.0 + t3new_abaaba += einsum(x1076, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 2.0 + t3new_abaaba += einsum(x1076, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -2.0 + del x1076 + x1077 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x1077 += einsum(t2.aaaa[np.ix_(soa,sOa,sVa,sVa)], (0, 1, 2, 3), x781, (4, 5, 6, 0), (4, 1, 5, 2, 3, 6)) * -1.0 + del x781 + t3new_abaaba += einsum(x1077, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 + t3new_abaaba += einsum(x1077, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 2.0 + del x1077 + x1078 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[1], nocc[0]), dtype=types[float]) + x1078 += einsum(t2.abab[np.ix_(sOa,sOb,sva,sVb)], (0, 1, 2, 3), x447, (4, 5, 6, 2), (0, 4, 1, 5, 3, 6)) * -1.0 + del x447 + x1079 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x1079 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x1078, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) + del x1078 + t3new_abaaba += einsum(x1079, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.0 + t3new_abaaba += einsum(x1079, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -2.0 + t3new_abaaba += einsum(x1079, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 + t3new_abaaba += einsum(x1079, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 2.0 + del x1079 + x1080 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[1], nocc[0]), dtype=types[float]) + x1080 += einsum(t2.abab[np.ix_(sOa,sOb,sva,sVb)], (0, 1, 2, 3), x450, (4, 5, 6, 2), (0, 4, 1, 5, 3, 6)) * -1.0 + del x450 + x1081 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x1081 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x1080, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) + del x1080 + t3new_abaaba += einsum(x1081, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 + t3new_abaaba += einsum(x1081, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * 2.0 + t3new_abaaba += einsum(x1081, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 + t3new_abaaba += einsum(x1081, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -2.0 + del x1081 + x1082 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[1], nocc[0]), dtype=types[float]) + x1082 += einsum(t2.abab[np.ix_(soa,sOb,sVa,sVb)], (0, 1, 2, 3), x457, (4, 5, 0, 6), (4, 5, 1, 2, 3, 6)) + del x457 + x1083 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x1083 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x1082, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) + del x1082 + t3new_abaaba += einsum(x1083, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + t3new_abaaba += einsum(x1083, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + t3new_abaaba += einsum(x1083, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) + t3new_abaaba += einsum(x1083, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) + del x1083 + x1084 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[1], nocc[0]), dtype=types[float]) + x1084 += einsum(t2.aaaa[np.ix_(sOa,sOa,sva,sVa)], (0, 1, 2, 3), x777, (4, 5, 6, 2), (0, 1, 4, 3, 5, 6)) * -1.0 + del x777 + x1085 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x1085 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x1084, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) + del x1084 + t3new_abaaba += einsum(x1085, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 + t3new_abaaba += einsum(x1085, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 + del x1085 + x1086 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[1], nocc[0]), dtype=types[float]) + x1086 += einsum(t2.aaaa[np.ix_(sOa,sOa,sva,sVa)], (0, 1, 2, 3), x780, (4, 5, 6, 2), (0, 1, 4, 3, 5, 6)) * -1.0 + del x780 + x1087 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x1087 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x1086, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) + del x1086 + t3new_abaaba += einsum(x1087, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.0 + t3new_abaaba += einsum(x1087, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 + del x1087 + x1088 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x1088 += einsum(t2.aaaa[np.ix_(soa,sOa,sVa,sVa)], (0, 1, 2, 3), x787, (4, 5, 6, 0), (4, 1, 5, 2, 3, 6)) * -1.0 + del x787 + t3new_abaaba += einsum(x1088, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 + t3new_abaaba += einsum(x1088, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -2.0 + del x1088 + x1089 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x1089 += einsum(t2.aaaa[np.ix_(soa,sOa,sVa,sVa)], (0, 1, 2, 3), x789, (4, 5, 6, 0), (4, 1, 5, 2, 3, 6)) * -1.0 + del x789 + t3new_abaaba += einsum(x1089, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 + t3new_abaaba += einsum(x1089, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 2.0 + del x1089 + x1090 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x1090 += einsum(t2.abab[np.ix_(soa,sOb,sVa,sVb)], (0, 1, 2, 3), x462, (4, 5, 6, 0), (5, 4, 1, 6, 2, 3)) + del x462 + t3new_abaaba += einsum(x1090, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 + t3new_abaaba += einsum(x1090, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.0 + del x1090 + x1091 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x1091 += einsum(t2.abab[np.ix_(soa,sOb,sVa,sVb)], (0, 1, 2, 3), x464, (4, 5, 6, 0), (5, 4, 1, 6, 2, 3)) + del x464 + t3new_abaaba += einsum(x1091, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 + t3new_abaaba += einsum(x1091, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 + del x1091 + x1092 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x1092 += einsum(t2.aaaa[np.ix_(soa,sOa,sVa,sVa)], (0, 1, 2, 3), x792, (4, 5, 6, 0), (4, 1, 5, 2, 3, 6)) * -1.0 + del x792 + t3new_abaaba += einsum(x1092, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -4.0 + t3new_abaaba += einsum(x1092, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 4.0 + del x1092 + x1093 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[1], nocc[0]), dtype=types[float]) + x1093 += einsum(t2.aaaa[np.ix_(sOa,sOa,sva,sVa)], (0, 1, 2, 3), x791, (4, 5, 6, 2), (0, 1, 4, 3, 5, 6)) * -1.0 + del x791 + x1094 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x1094 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x1093, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) + del x1093 + t3new_abaaba += einsum(x1094, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 4.0 + t3new_abaaba += einsum(x1094, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -4.0 + del x1094 + x1095 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x1095 += einsum(t2.abab[np.ix_(sOa,sob,sVa,sVb)], (0, 1, 2, 3), x836, (4, 5, 6, 1), (0, 4, 5, 2, 6, 3)) + del x836 + t3new_abaaba += einsum(x1095, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + t3new_abaaba += einsum(x1095, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) + t3new_abaaba += einsum(x1095, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 + t3new_abaaba += einsum(x1095, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) + del x1095 + x1096 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x1096 += einsum(t2.abab[np.ix_(sOa,sob,sVa,sVb)], (0, 1, 2, 3), x830, (4, 5, 6, 1), (0, 4, 5, 2, 6, 3)) + del x830 + t3new_abaaba += einsum(x1096, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) + t3new_abaaba += einsum(x1096, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -1.0 + t3new_abaaba += einsum(x1096, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + t3new_abaaba += einsum(x1096, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 + del x1096 + x1097 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], nocc[1]), dtype=types[float]) + x1097 += einsum(t2.abab[np.ix_(sOa,sOb,sVa,svb)], (0, 1, 2, 3), x835, (4, 5, 6, 3), (0, 4, 1, 2, 5, 6)) + del x835 + x1098 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x1098 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), x1097, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 6, 1)) + del x1097 + t3new_abaaba += einsum(x1098, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + t3new_abaaba += einsum(x1098, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) + t3new_abaaba += einsum(x1098, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 + t3new_abaaba += einsum(x1098, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) + del x1098 + x1099 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], nocc[1]), dtype=types[float]) + x1099 += einsum(t2.abab[np.ix_(sOa,sOb,sVa,svb)], (0, 1, 2, 3), x829, (4, 5, 6, 3), (0, 4, 1, 2, 5, 6)) + del x829 + x1100 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x1100 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), x1099, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 6, 1)) + del x1099 + t3new_abaaba += einsum(x1100, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + t3new_abaaba += einsum(x1100, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 + t3new_abaaba += einsum(x1100, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) + t3new_abaaba += einsum(x1100, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -1.0 + del x1100 + x1101 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x1101 += einsum(t2.abab[np.ix_(sOa,sob,sVa,sVb)], (0, 1, 2, 3), x851, (4, 5, 6, 1), (4, 0, 5, 6, 2, 3)) + del x851 + t3new_abaaba += einsum(x1101, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + t3new_abaaba += einsum(x1101, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) + t3new_abaaba += einsum(x1101, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 + t3new_abaaba += einsum(x1101, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) + del x1101 + x1102 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x1102 += einsum(t2.abab[np.ix_(sOa,sob,sVa,sVb)], (0, 1, 2, 3), x853, (4, 5, 6, 1), (4, 0, 5, 6, 2, 3)) + del x853 + t3new_abaaba += einsum(x1102, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + t3new_abaaba += einsum(x1102, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 + t3new_abaaba += einsum(x1102, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) + t3new_abaaba += einsum(x1102, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -1.0 + del x1102 + x1103 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x1103 += einsum(t2.abab[np.ix_(sOa,sob,sVa,sVb)], (0, 1, 2, 3), x860, (4, 5, 6, 1), (0, 4, 5, 2, 6, 3)) + del x860 + t3new_abaaba += einsum(x1103, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 + t3new_abaaba += einsum(x1103, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 + t3new_abaaba += einsum(x1103, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * 2.0 + t3new_abaaba += einsum(x1103, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -2.0 + del x1103 + x1104 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x1104 += einsum(t2.aaaa[np.ix_(soa,sOa,sVa,sVa)], (0, 1, 2, 3), x816, (4, 5, 6, 0), (1, 4, 5, 2, 3, 6)) * -1.0 + del x816 + t3new_abaaba += einsum(x1104, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -2.0 + t3new_abaaba += einsum(x1104, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 + del x1104 + x1105 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], nocc[0], nocc[1]), dtype=types[float]) + x1105 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), t2.aaaa[np.ix_(sOa,sOa,sva,sVa)], (2, 3, 4, 5), v.aabb.ovov, (6, 4, 7, 1), (2, 3, 0, 5, 6, 7)) * -1.0 + x1106 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x1106 += einsum(t2.abab[np.ix_(soa,sob,sVa,sVb)], (0, 1, 2, 3), x1105, (4, 5, 6, 7, 0, 1), (4, 5, 6, 7, 2, 3)) + del x1105 + t3new_abaaba += einsum(x1106, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 + t3new_abaaba += einsum(x1106, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.0 + del x1106 + x1107 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], nocc[1]), dtype=types[float]) + x1107 += einsum(t2.aaaa[np.ix_(soa,sOa,sVa,sVa)], (0, 1, 2, 3), x801, (4, 5, 0, 6), (4, 1, 5, 2, 3, 6)) * -1.0 + del x801 + x1108 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x1108 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), x1107, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 6, 1)) + del x1107 + t3new_abaaba += einsum(x1108, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 + t3new_abaaba += einsum(x1108, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -2.0 + del x1108 + x1109 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], nocc[1]), dtype=types[float]) + x1109 += einsum(t2.abab[np.ix_(sOa,sOb,sVa,svb)], (0, 1, 2, 3), x859, (4, 5, 6, 3), (0, 4, 1, 2, 5, 6)) + del x859 + x1110 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x1110 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), x1109, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 6, 1)) + del x1109 + t3new_abaaba += einsum(x1110, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 + t3new_abaaba += einsum(x1110, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 + t3new_abaaba += einsum(x1110, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * 2.0 + t3new_abaaba += einsum(x1110, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -2.0 + del x1110 + x1111 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], nocc[1]), dtype=types[float]) + x1111 += einsum(t2.aaaa[np.ix_(sOa,sOa,sva,sVa)], (0, 1, 2, 3), x794, (4, 5, 6, 2), (0, 1, 4, 3, 5, 6)) * -1.0 + del x794 + x1112 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x1112 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), x1111, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 6, 1)) + del x1111 + t3new_abaaba += einsum(x1112, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 + t3new_abaaba += einsum(x1112, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 + del x1112 + x1113 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x1113 += einsum(t2.aaaa[np.ix_(soa,sOa,sVa,sVa)], (0, 1, 2, 3), x824, (4, 5, 6, 0), (4, 1, 5, 2, 3, 6)) * -1.0 + del x824 + t3new_abaaba += einsum(x1113, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 + t3new_abaaba += einsum(x1113, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -2.0 + del x1113 + x1114 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x1114 += einsum(t2.abab[np.ix_(soa,sOb,sVa,sVb)], (0, 1, 2, 3), x466, (4, 5, 6, 0), (5, 4, 1, 6, 2, 3)) + del x466 + t3new_abaaba += einsum(x1114, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 + t3new_abaaba += einsum(x1114, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.0 + del x1114 + x1115 = np.zeros((naocc[0], naocc[1], navir[0], navir[1], nocc[0], nvir[0]), dtype=types[float]) + x1115 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), t2.abab[np.ix_(soa,sOb,sVa,sVb)], (2, 3, 4, 5), v.aaaa.ovov, (6, 7, 2, 1), (0, 3, 4, 5, 6, 7)) * -1.0 + x1116 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[1], nocc[0]), dtype=types[float]) + x1116 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), x1115, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) + del x1115 + x1117 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x1117 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x1116, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) + del x1116 + t3new_abaaba += einsum(x1117, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + t3new_abaaba += einsum(x1117, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) + t3new_abaaba += einsum(x1117, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) + t3new_abaaba += einsum(x1117, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 + del x1117 + x1118 = np.zeros((naocc[0], naocc[1], navir[0], navir[1], nocc[0], nvir[0]), dtype=types[float]) + x1118 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), t2.abab[np.ix_(sOa,sOb,sva,sVb)], (2, 3, 4, 5), v.aaaa.ovov, (6, 7, 0, 4), (2, 3, 1, 5, 6, 7)) * -1.0 + x1119 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[1], nocc[0]), dtype=types[float]) + x1119 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), x1118, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) + del x1118 + x1120 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x1120 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x1119, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) + del x1119 + t3new_abaaba += einsum(x1120, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + t3new_abaaba += einsum(x1120, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) + t3new_abaaba += einsum(x1120, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) + t3new_abaaba += einsum(x1120, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 + del x1120 + x1121 = np.zeros((naocc[0], naocc[1], navir[0], navir[1], nocc[0], nvir[0]), dtype=types[float]) + x1121 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), t2.abab[np.ix_(sOa,sob,sVa,sVb)], (2, 3, 4, 5), v.aabb.ovov, (6, 7, 3, 1), (2, 0, 4, 5, 6, 7)) + x1122 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[1], nocc[0]), dtype=types[float]) + x1122 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), x1121, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) + del x1121 + x1123 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x1123 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x1122, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) + del x1122 + t3new_abaaba += einsum(x1123, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + t3new_abaaba += einsum(x1123, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 + t3new_abaaba += einsum(x1123, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -1.0 + t3new_abaaba += einsum(x1123, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) + del x1123 + x1124 = np.zeros((naocc[0], naocc[1], navir[0], navir[1], nocc[0], nvir[0]), dtype=types[float]) + x1124 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), t2.abab[np.ix_(sOa,sOb,sVa,svb)], (2, 3, 4, 5), v.aabb.ovov, (6, 7, 0, 5), (2, 3, 4, 1, 6, 7)) + x1125 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[1], nocc[0]), dtype=types[float]) + x1125 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), x1124, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) + del x1124 + x1126 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x1126 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x1125, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) + del x1125 + t3new_abaaba += einsum(x1126, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + t3new_abaaba += einsum(x1126, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 + t3new_abaaba += einsum(x1126, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -1.0 + t3new_abaaba += einsum(x1126, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) + del x1126 + x1127 = np.zeros((naocc[0], naocc[1], navir[0], navir[0], nocc[1], nvir[0]), dtype=types[float]) + x1127 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), t2.aaaa[np.ix_(soa,sOa,sVa,sVa)], (2, 3, 4, 5), v.aabb.ovov, (2, 6, 7, 1), (3, 0, 4, 5, 7, 6)) * -1.0 + x1128 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], nocc[1]), dtype=types[float]) + x1128 += einsum(t1.aa[np.ix_(sOa,sva)], (0, 1), x1127, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) + del x1127 + x1129 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x1129 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), x1128, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 6, 1)) + del x1128 + t3new_abaaba += einsum(x1129, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 + t3new_abaaba += einsum(x1129, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -2.0 + del x1129 + x1130 = np.zeros((naocc[0], naocc[0], navir[0], navir[1], nocc[0], nvir[1]), dtype=types[float]) + x1130 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), t2.aaaa[np.ix_(sOa,sOa,sva,sVa)], (2, 3, 4, 5), v.aabb.ovov, (6, 4, 0, 7), (2, 3, 5, 1, 6, 7)) * -1.0 + x1131 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[1], nocc[0]), dtype=types[float]) + x1131 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), x1130, (2, 3, 4, 5, 6, 1), (2, 3, 0, 4, 5, 6)) + del x1130 + x1132 = np.zeros((naocc[0], naocc[0], naocc[1], navir[0], navir[0], navir[1]), dtype=types[float]) + x1132 += einsum(t1.aa[np.ix_(soa,sVa)], (0, 1), x1131, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) + del x1131 + t3new_abaaba += einsum(x1132, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 + t3new_abaaba += einsum(x1132, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 + del x1132 + x1133 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) + x1133 += einsum(f.bb.OO, (0, 1), t3.bbbbbb, (2, 3, 1, 4, 5, 6), (0, 2, 3, 4, 5, 6)) + t3new_bbbbbb = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) + t3new_bbbbbb += einsum(x1133, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 6.0 + t3new_bbbbbb += einsum(x1133, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * 6.0 + t3new_bbbbbb += einsum(x1133, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -6.0 + del x1133 + x1134 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) + x1134 += einsum(f.bb.VV, (0, 1), t3.bbbbbb, (2, 3, 4, 5, 6, 1), (2, 3, 4, 0, 5, 6)) + t3new_bbbbbb += einsum(x1134, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -6.0 + t3new_bbbbbb += einsum(x1134, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * 6.0 + t3new_bbbbbb += einsum(x1134, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -6.0 + del x1134 + x1135 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) + x1135 += einsum(t2.bbbb[np.ix_(sob,sOb,sVb,sVb)], (0, 1, 2, 3), v.bbbb.oOOV, (0, 4, 5, 6), (1, 5, 4, 2, 3, 6)) * -1.0 + t3new_bbbbbb += einsum(x1135, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 2.0 + t3new_bbbbbb += einsum(x1135, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 + t3new_bbbbbb += einsum(x1135, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 2.0 + t3new_bbbbbb += einsum(x1135, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -2.0 + t3new_bbbbbb += einsum(x1135, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 2.0 + t3new_bbbbbb += einsum(x1135, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -2.0 + t3new_bbbbbb += einsum(x1135, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -2.0 + t3new_bbbbbb += einsum(x1135, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * 2.0 + t3new_bbbbbb += einsum(x1135, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) * -2.0 + t3new_bbbbbb += einsum(x1135, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 + t3new_bbbbbb += einsum(x1135, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -2.0 + t3new_bbbbbb += einsum(x1135, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * 2.0 + t3new_bbbbbb += einsum(x1135, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * 2.0 + t3new_bbbbbb += einsum(x1135, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -2.0 + t3new_bbbbbb += einsum(x1135, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * 2.0 + t3new_bbbbbb += einsum(x1135, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * -2.0 + t3new_bbbbbb += einsum(x1135, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 2.0 + t3new_bbbbbb += einsum(x1135, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -2.0 + del x1135 + x1136 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) + x1136 += einsum(t2.bbbb[np.ix_(sOb,sOb,svb,sVb)], (0, 1, 2, 3), v.bbbb.vVOV, (2, 4, 5, 6), (0, 1, 5, 3, 6, 4)) * -1.0 + t3new_bbbbbb += einsum(x1136, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -2.0 + t3new_bbbbbb += einsum(x1136, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 + t3new_bbbbbb += einsum(x1136, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * 2.0 + t3new_bbbbbb += einsum(x1136, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -2.0 + t3new_bbbbbb += einsum(x1136, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 + t3new_bbbbbb += einsum(x1136, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 2.0 + t3new_bbbbbb += einsum(x1136, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 2.0 + t3new_bbbbbb += einsum(x1136, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -2.0 + t3new_bbbbbb += einsum(x1136, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -2.0 + t3new_bbbbbb += einsum(x1136, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 2.0 + t3new_bbbbbb += einsum(x1136, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 2.0 + t3new_bbbbbb += einsum(x1136, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -2.0 + t3new_bbbbbb += einsum(x1136, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -2.0 + t3new_bbbbbb += einsum(x1136, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * 2.0 + t3new_bbbbbb += einsum(x1136, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * 2.0 + t3new_bbbbbb += einsum(x1136, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -2.0 + t3new_bbbbbb += einsum(x1136, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -2.0 + t3new_bbbbbb += einsum(x1136, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * 2.0 + del x1136 + x1137 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) + x1137 += einsum(v.aabb.OVOV, (0, 1, 2, 3), t3.babbab, (4, 0, 5, 6, 1, 7), (4, 5, 2, 6, 7, 3)) + t3new_bbbbbb += einsum(x1137, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * 2.0 + t3new_bbbbbb += einsum(x1137, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -2.0 + t3new_bbbbbb += einsum(x1137, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * 2.0 + t3new_bbbbbb += einsum(x1137, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 2.0 + t3new_bbbbbb += einsum(x1137, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 + t3new_bbbbbb += einsum(x1137, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 2.0 + t3new_bbbbbb += einsum(x1137, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -2.0 + t3new_bbbbbb += einsum(x1137, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 2.0 + t3new_bbbbbb += einsum(x1137, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -2.0 + del x1137 + x1138 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) + x1138 += einsum(v.bbbb.OOOO, (0, 1, 2, 3), t3.bbbbbb, (4, 3, 1, 5, 6, 7), (4, 0, 2, 5, 6, 7)) * -1.0 + t3new_bbbbbb += einsum(x1138, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 6.0 + t3new_bbbbbb += einsum(x1138, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -6.0 + t3new_bbbbbb += einsum(x1138, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -6.0 + del x1138 + x1139 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) + x1139 += einsum(v.bbbb.OOVV, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 1, 6, 7, 3), (4, 5, 0, 6, 7, 2)) + t3new_bbbbbb += einsum(x1139, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -6.0 + t3new_bbbbbb += einsum(x1139, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * 6.0 + t3new_bbbbbb += einsum(x1139, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -6.0 + t3new_bbbbbb += einsum(x1139, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -6.0 + t3new_bbbbbb += einsum(x1139, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 6.0 + t3new_bbbbbb += einsum(x1139, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -6.0 + t3new_bbbbbb += einsum(x1139, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 6.0 + t3new_bbbbbb += einsum(x1139, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -6.0 + t3new_bbbbbb += einsum(x1139, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 6.0 + del x1139 + x1140 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) + x1140 += einsum(v.bbbb.OVOV, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 2, 6, 7, 3), (4, 5, 0, 6, 7, 1)) + t3new_bbbbbb += einsum(x1140, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * 6.0 + t3new_bbbbbb += einsum(x1140, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -6.0 + t3new_bbbbbb += einsum(x1140, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * 6.0 + t3new_bbbbbb += einsum(x1140, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 6.0 + t3new_bbbbbb += einsum(x1140, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -6.0 + t3new_bbbbbb += einsum(x1140, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 6.0 + t3new_bbbbbb += einsum(x1140, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -6.0 + t3new_bbbbbb += einsum(x1140, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 6.0 + t3new_bbbbbb += einsum(x1140, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -6.0 + del x1140 + x1141 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) + x1141 += einsum(v.bbbb.VVVV, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 6, 7, 3, 1), (4, 5, 6, 7, 0, 2)) * -1.0 + t3new_bbbbbb += einsum(x1141, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -6.0 + t3new_bbbbbb += einsum(x1141, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * 6.0 + t3new_bbbbbb += einsum(x1141, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -6.0 + del x1141 + x1142 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) + x1142 += einsum(x489, (0, 1), t3.bbbbbb, (2, 3, 0, 4, 5, 6), (1, 2, 3, 4, 5, 6)) + del x489 + t3new_bbbbbb += einsum(x1142, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 6.0 + t3new_bbbbbb += einsum(x1142, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * 6.0 + t3new_bbbbbb += einsum(x1142, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -6.0 + del x1142 + x1143 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) + x1143 += einsum(x491, (0, 1), t3.bbbbbb, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) + del x491 + t3new_bbbbbb += einsum(x1143, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 6.0 + t3new_bbbbbb += einsum(x1143, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -6.0 + t3new_bbbbbb += einsum(x1143, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 6.0 + del x1143 + x1144 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) + x1144 += einsum(t2.bbbb[np.ix_(sob,sOb,sVb,sVb)], (0, 1, 2, 3), x497, (4, 5, 6, 0), (5, 4, 1, 6, 2, 3)) + del x497 + t3new_bbbbbb += einsum(x1144, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 4.0 + t3new_bbbbbb += einsum(x1144, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -4.0 + t3new_bbbbbb += einsum(x1144, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 4.0 + t3new_bbbbbb += einsum(x1144, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * -4.0 + t3new_bbbbbb += einsum(x1144, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * 4.0 + t3new_bbbbbb += einsum(x1144, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * 4.0 + t3new_bbbbbb += einsum(x1144, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -4.0 + t3new_bbbbbb += einsum(x1144, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * 4.0 + t3new_bbbbbb += einsum(x1144, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -4.0 + del x1144 + x1145 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) + x1145 += einsum(t2.bbbb[np.ix_(sob,sOb,sVb,sVb)], (0, 1, 2, 3), x510, (4, 5, 6, 0), (4, 1, 5, 2, 3, 6)) * -1.0 + del x510 + t3new_bbbbbb += einsum(x1145, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -2.0 + t3new_bbbbbb += einsum(x1145, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 2.0 + t3new_bbbbbb += einsum(x1145, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 2.0 + t3new_bbbbbb += einsum(x1145, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 + t3new_bbbbbb += einsum(x1145, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -2.0 + t3new_bbbbbb += einsum(x1145, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -2.0 + t3new_bbbbbb += einsum(x1145, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * 2.0 + t3new_bbbbbb += einsum(x1145, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -2.0 + t3new_bbbbbb += einsum(x1145, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -2.0 + t3new_bbbbbb += einsum(x1145, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * -2.0 + t3new_bbbbbb += einsum(x1145, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * 2.0 + t3new_bbbbbb += einsum(x1145, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) * 2.0 + t3new_bbbbbb += einsum(x1145, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -2.0 + t3new_bbbbbb += einsum(x1145, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * 2.0 + t3new_bbbbbb += einsum(x1145, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * 2.0 + t3new_bbbbbb += einsum(x1145, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * 2.0 + t3new_bbbbbb += einsum(x1145, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -2.0 + t3new_bbbbbb += einsum(x1145, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -2.0 + del x1145 + x1146 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], nocc[1]), dtype=types[float]) + x1146 += einsum(t2.bbbb[np.ix_(sob,sOb,sVb,sVb)], (0, 1, 2, 3), v.bbbb.oOoO, (4, 5, 0, 6), (1, 5, 6, 2, 3, 4)) * -1.0 + x1147 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) + x1147 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), x1146, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) + del x1146 + t3new_bbbbbb += einsum(x1147, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 2.0 + t3new_bbbbbb += einsum(x1147, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 + t3new_bbbbbb += einsum(x1147, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * -2.0 + t3new_bbbbbb += einsum(x1147, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) * 2.0 + t3new_bbbbbb += einsum(x1147, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * 2.0 + t3new_bbbbbb += einsum(x1147, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -2.0 + t3new_bbbbbb += einsum(x1147, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -2.0 + t3new_bbbbbb += einsum(x1147, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 2.0 + t3new_bbbbbb += einsum(x1147, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 + t3new_bbbbbb += einsum(x1147, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -2.0 + t3new_bbbbbb += einsum(x1147, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -2.0 + t3new_bbbbbb += einsum(x1147, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * 2.0 + t3new_bbbbbb += einsum(x1147, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 2.0 + t3new_bbbbbb += einsum(x1147, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -2.0 + t3new_bbbbbb += einsum(x1147, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -2.0 + t3new_bbbbbb += einsum(x1147, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) * 2.0 + t3new_bbbbbb += einsum(x1147, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * 2.0 + t3new_bbbbbb += einsum(x1147, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -2.0 + del x1147 + x1148 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], nocc[1]), dtype=types[float]) + x1148 += einsum(t2.bbbb[np.ix_(sOb,sOb,svb,sVb)], (0, 1, 2, 3), v.bbbb.oOvV, (4, 5, 2, 6), (0, 1, 5, 3, 6, 4)) * -1.0 + x1149 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) + x1149 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), x1148, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) + del x1148 + t3new_bbbbbb += einsum(x1149, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * 2.0 + t3new_bbbbbb += einsum(x1149, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 + t3new_bbbbbb += einsum(x1149, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -2.0 + t3new_bbbbbb += einsum(x1149, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 2.0 + t3new_bbbbbb += einsum(x1149, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * 2.0 + t3new_bbbbbb += einsum(x1149, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -2.0 + t3new_bbbbbb += einsum(x1149, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -2.0 + t3new_bbbbbb += einsum(x1149, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 2.0 + t3new_bbbbbb += einsum(x1149, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 2.0 + t3new_bbbbbb += einsum(x1149, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -2.0 + t3new_bbbbbb += einsum(x1149, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -2.0 + t3new_bbbbbb += einsum(x1149, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * 2.0 + t3new_bbbbbb += einsum(x1149, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 + t3new_bbbbbb += einsum(x1149, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -2.0 + t3new_bbbbbb += einsum(x1149, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -2.0 + t3new_bbbbbb += einsum(x1149, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 2.0 + t3new_bbbbbb += einsum(x1149, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * 2.0 + t3new_bbbbbb += einsum(x1149, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -2.0 + del x1149 + x1150 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) + x1150 += einsum(t2.bbbb[np.ix_(sob,sOb,sVb,sVb)], (0, 1, 2, 3), x520, (4, 5, 6, 0), (4, 1, 5, 2, 3, 6)) * -1.0 + del x520 + t3new_bbbbbb += einsum(x1150, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -2.0 + t3new_bbbbbb += einsum(x1150, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 2.0 + t3new_bbbbbb += einsum(x1150, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -2.0 + t3new_bbbbbb += einsum(x1150, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 2.0 + t3new_bbbbbb += einsum(x1150, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 + t3new_bbbbbb += einsum(x1150, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 2.0 + t3new_bbbbbb += einsum(x1150, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * 2.0 + t3new_bbbbbb += einsum(x1150, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -2.0 + t3new_bbbbbb += einsum(x1150, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 + t3new_bbbbbb += einsum(x1150, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) * -2.0 + t3new_bbbbbb += einsum(x1150, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * 2.0 + t3new_bbbbbb += einsum(x1150, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -2.0 + t3new_bbbbbb += einsum(x1150, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -2.0 + t3new_bbbbbb += einsum(x1150, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 2.0 + t3new_bbbbbb += einsum(x1150, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * -2.0 + t3new_bbbbbb += einsum(x1150, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * 2.0 + t3new_bbbbbb += einsum(x1150, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -2.0 + t3new_bbbbbb += einsum(x1150, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * 2.0 + del x1150 + x1151 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], nocc[1]), dtype=types[float]) + x1151 += einsum(t2.bbbb[np.ix_(sOb,sOb,svb,sVb)], (0, 1, 2, 3), v.bbbb.ovOV, (4, 2, 5, 6), (0, 1, 5, 3, 6, 4)) * -1.0 + x1152 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) + x1152 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), x1151, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) + del x1151 + t3new_bbbbbb += einsum(x1152, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.0 + t3new_bbbbbb += einsum(x1152, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -2.0 + t3new_bbbbbb += einsum(x1152, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -2.0 + t3new_bbbbbb += einsum(x1152, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 2.0 + t3new_bbbbbb += einsum(x1152, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * 2.0 + t3new_bbbbbb += einsum(x1152, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -2.0 + t3new_bbbbbb += einsum(x1152, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -2.0 + t3new_bbbbbb += einsum(x1152, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 2.0 + t3new_bbbbbb += einsum(x1152, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * 2.0 + t3new_bbbbbb += einsum(x1152, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -2.0 + t3new_bbbbbb += einsum(x1152, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * -2.0 + t3new_bbbbbb += einsum(x1152, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * 2.0 + t3new_bbbbbb += einsum(x1152, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 2.0 + t3new_bbbbbb += einsum(x1152, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 + t3new_bbbbbb += einsum(x1152, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -2.0 + t3new_bbbbbb += einsum(x1152, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 2.0 + t3new_bbbbbb += einsum(x1152, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * 2.0 + t3new_bbbbbb += einsum(x1152, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -2.0 + del x1152 + x1153 = np.zeros((naocc[1], naocc[1], navir[1], navir[1], navir[1], nvir[1]), dtype=types[float]) + x1153 += einsum(t2.bbbb[np.ix_(sOb,sOb,svb,sVb)], (0, 1, 2, 3), v.bbbb.vVvV, (4, 5, 2, 6), (0, 1, 3, 5, 6, 4)) * -1.0 + x1154 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) + x1154 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), x1153, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) + del x1153 + t3new_bbbbbb += einsum(x1154, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -2.0 + t3new_bbbbbb += einsum(x1154, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 + t3new_bbbbbb += einsum(x1154, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 2.0 + t3new_bbbbbb += einsum(x1154, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -2.0 + t3new_bbbbbb += einsum(x1154, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * 2.0 + t3new_bbbbbb += einsum(x1154, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 + t3new_bbbbbb += einsum(x1154, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -2.0 + t3new_bbbbbb += einsum(x1154, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * 2.0 + t3new_bbbbbb += einsum(x1154, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 + t3new_bbbbbb += einsum(x1154, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -2.0 + t3new_bbbbbb += einsum(x1154, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * 2.0 + t3new_bbbbbb += einsum(x1154, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * -2.0 + t3new_bbbbbb += einsum(x1154, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * 2.0 + t3new_bbbbbb += einsum(x1154, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -2.0 + t3new_bbbbbb += einsum(x1154, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -2.0 + t3new_bbbbbb += einsum(x1154, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * 2.0 + t3new_bbbbbb += einsum(x1154, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) * -2.0 + t3new_bbbbbb += einsum(x1154, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * 2.0 + del x1154 + x1155 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) + x1155 += einsum(x540, (0, 1), t3.bbbbbb, (2, 3, 1, 4, 5, 6), (2, 3, 0, 4, 5, 6)) + del x540 + t3new_bbbbbb += einsum(x1155, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * 6.0 + t3new_bbbbbb += einsum(x1155, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 6.0 + t3new_bbbbbb += einsum(x1155, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -6.0 + del x1155 + x1156 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) + x1156 += einsum(x544, (0, 1), t3.bbbbbb, (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 6, 0)) + del x544 + t3new_bbbbbb += einsum(x1156, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -6.0 + t3new_bbbbbb += einsum(x1156, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 6.0 + t3new_bbbbbb += einsum(x1156, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -6.0 + del x1156 + x1157 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) + x1157 += einsum(x546, (0, 1, 2, 3), t3.babbab, (4, 0, 5, 6, 2, 7), (1, 4, 5, 6, 7, 3)) + del x546 + t3new_bbbbbb += einsum(x1157, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 2.0 + t3new_bbbbbb += einsum(x1157, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 + t3new_bbbbbb += einsum(x1157, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 2.0 + t3new_bbbbbb += einsum(x1157, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * 2.0 + t3new_bbbbbb += einsum(x1157, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -2.0 + t3new_bbbbbb += einsum(x1157, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 + t3new_bbbbbb += einsum(x1157, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -2.0 + t3new_bbbbbb += einsum(x1157, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 2.0 + t3new_bbbbbb += einsum(x1157, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * -2.0 + del x1157 + x1158 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) + x1158 += einsum(x548, (0, 1, 2, 3), t3.babbab, (4, 0, 5, 6, 2, 7), (4, 5, 1, 3, 6, 7)) + del x548 + t3new_bbbbbb += einsum(x1158, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -2.0 + t3new_bbbbbb += einsum(x1158, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 + t3new_bbbbbb += einsum(x1158, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 2.0 + t3new_bbbbbb += einsum(x1158, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * 2.0 + t3new_bbbbbb += einsum(x1158, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 2.0 + t3new_bbbbbb += einsum(x1158, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -2.0 + t3new_bbbbbb += einsum(x1158, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -2.0 + t3new_bbbbbb += einsum(x1158, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -2.0 + t3new_bbbbbb += einsum(x1158, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 2.0 + del x1158 + x1159 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) + x1159 += einsum(x552, (0, 1, 2, 3), t3.bbbbbb, (4, 3, 2, 5, 6, 7), (0, 4, 1, 5, 6, 7)) * -1.0 + del x552 + t3new_bbbbbb += einsum(x1159, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -6.0 + t3new_bbbbbb += einsum(x1159, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 6.0 + t3new_bbbbbb += einsum(x1159, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * 6.0 + t3new_bbbbbb += einsum(x1159, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -6.0 + t3new_bbbbbb += einsum(x1159, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -6.0 + t3new_bbbbbb += einsum(x1159, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 6.0 + del x1159 + x1160 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) + x1160 += einsum(x554, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 0, 6, 7, 3), (4, 5, 1, 2, 6, 7)) + del x554 + t3new_bbbbbb += einsum(x1160, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -6.0 + t3new_bbbbbb += einsum(x1160, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -6.0 + t3new_bbbbbb += einsum(x1160, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 6.0 + t3new_bbbbbb += einsum(x1160, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * 6.0 + t3new_bbbbbb += einsum(x1160, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 6.0 + t3new_bbbbbb += einsum(x1160, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -6.0 + t3new_bbbbbb += einsum(x1160, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -6.0 + t3new_bbbbbb += einsum(x1160, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -6.0 + t3new_bbbbbb += einsum(x1160, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 6.0 + del x1160 + x1161 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) + x1161 += einsum(x556, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 1, 6, 7, 3), (4, 5, 0, 2, 6, 7)) + del x556 + t3new_bbbbbb += einsum(x1161, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * 6.0 + t3new_bbbbbb += einsum(x1161, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 6.0 + t3new_bbbbbb += einsum(x1161, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -6.0 + t3new_bbbbbb += einsum(x1161, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * -6.0 + t3new_bbbbbb += einsum(x1161, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -6.0 + t3new_bbbbbb += einsum(x1161, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * 6.0 + t3new_bbbbbb += einsum(x1161, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * 6.0 + t3new_bbbbbb += einsum(x1161, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 6.0 + t3new_bbbbbb += einsum(x1161, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -6.0 + del x1161 + x1162 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) + x1162 += einsum(x560, (0, 1), t3.bbbbbb, (2, 3, 1, 4, 5, 6), (2, 3, 0, 4, 5, 6)) + del x560 + t3new_bbbbbb += einsum(x1162, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -6.0 + t3new_bbbbbb += einsum(x1162, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -6.0 + t3new_bbbbbb += einsum(x1162, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 6.0 + del x1162 + x1163 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) + x1163 += einsum(x562, (0, 1), t3.bbbbbb, (2, 3, 1, 4, 5, 6), (2, 3, 0, 4, 5, 6)) + del x562 + t3new_bbbbbb += einsum(x1163, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * 6.0 + t3new_bbbbbb += einsum(x1163, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 6.0 + t3new_bbbbbb += einsum(x1163, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -6.0 + del x1163 + x1164 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) + x1164 += einsum(x564, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 1, 6, 7, 3), (0, 4, 5, 6, 7, 2)) + del x564 + t3new_bbbbbb += einsum(x1164, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -6.0 + t3new_bbbbbb += einsum(x1164, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 6.0 + t3new_bbbbbb += einsum(x1164, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -6.0 + t3new_bbbbbb += einsum(x1164, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -6.0 + t3new_bbbbbb += einsum(x1164, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * 6.0 + t3new_bbbbbb += einsum(x1164, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -6.0 + t3new_bbbbbb += einsum(x1164, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * 6.0 + t3new_bbbbbb += einsum(x1164, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -6.0 + t3new_bbbbbb += einsum(x1164, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * 6.0 + del x1164 + x1165 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) + x1165 += einsum(x566, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 1, 6, 7, 2), (0, 4, 5, 6, 7, 3)) + del x566 + t3new_bbbbbb += einsum(x1165, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 6.0 + t3new_bbbbbb += einsum(x1165, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -6.0 + t3new_bbbbbb += einsum(x1165, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 6.0 + t3new_bbbbbb += einsum(x1165, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * 6.0 + t3new_bbbbbb += einsum(x1165, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -6.0 + t3new_bbbbbb += einsum(x1165, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 6.0 + t3new_bbbbbb += einsum(x1165, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -6.0 + t3new_bbbbbb += einsum(x1165, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 6.0 + t3new_bbbbbb += einsum(x1165, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * -6.0 + del x1165 + x1166 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) + x1166 += einsum(x568, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 6, 7, 2, 3), (4, 5, 6, 0, 7, 1)) + del x568 + t3new_bbbbbb += einsum(x1166, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 6.0 + t3new_bbbbbb += einsum(x1166, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -6.0 + t3new_bbbbbb += einsum(x1166, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -6.0 + t3new_bbbbbb += einsum(x1166, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 6.0 + t3new_bbbbbb += einsum(x1166, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 6.0 + t3new_bbbbbb += einsum(x1166, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -6.0 + del x1166 + x1167 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) + x1167 += einsum(x570, (0, 1), t3.bbbbbb, (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 6, 0)) + del x570 + t3new_bbbbbb += einsum(x1167, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -6.0 + t3new_bbbbbb += einsum(x1167, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 6.0 + t3new_bbbbbb += einsum(x1167, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -6.0 + del x1167 + x1168 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) + x1168 += einsum(x572, (0, 1), t3.bbbbbb, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 6, 1)) + del x572 + t3new_bbbbbb += einsum(x1168, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 6.0 + t3new_bbbbbb += einsum(x1168, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -6.0 + t3new_bbbbbb += einsum(x1168, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 6.0 + del x1168 + x1169 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) + x1169 += einsum(t2.bbbb[np.ix_(sob,sOb,sVb,sVb)], (0, 1, 2, 3), x584, (4, 5, 6, 0), (1, 4, 5, 2, 3, 6)) * -1.0 + del x584 + t3new_bbbbbb += einsum(x1169, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 2.0 + t3new_bbbbbb += einsum(x1169, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -2.0 + t3new_bbbbbb += einsum(x1169, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -2.0 + t3new_bbbbbb += einsum(x1169, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 + t3new_bbbbbb += einsum(x1169, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 2.0 + t3new_bbbbbb += einsum(x1169, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 2.0 + t3new_bbbbbb += einsum(x1169, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -2.0 + t3new_bbbbbb += einsum(x1169, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 + t3new_bbbbbb += einsum(x1169, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * 2.0 + t3new_bbbbbb += einsum(x1169, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * 2.0 + t3new_bbbbbb += einsum(x1169, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -2.0 + t3new_bbbbbb += einsum(x1169, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) * -2.0 + t3new_bbbbbb += einsum(x1169, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 2.0 + t3new_bbbbbb += einsum(x1169, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * -2.0 + t3new_bbbbbb += einsum(x1169, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -2.0 + t3new_bbbbbb += einsum(x1169, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -2.0 + t3new_bbbbbb += einsum(x1169, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * 2.0 + t3new_bbbbbb += einsum(x1169, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * 2.0 + del x1169 + x1170 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) + x1170 += einsum(t2.bbbb[np.ix_(sOb,sOb,svb,sVb)], (0, 1, 2, 3), x594, (4, 5, 6, 2), (0, 1, 4, 3, 5, 6)) * -1.0 + del x594 + t3new_bbbbbb += einsum(x1170, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 + t3new_bbbbbb += einsum(x1170, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * 2.0 + t3new_bbbbbb += einsum(x1170, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 2.0 + t3new_bbbbbb += einsum(x1170, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -2.0 + t3new_bbbbbb += einsum(x1170, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -2.0 + t3new_bbbbbb += einsum(x1170, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 + t3new_bbbbbb += einsum(x1170, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 2.0 + t3new_bbbbbb += einsum(x1170, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -2.0 + t3new_bbbbbb += einsum(x1170, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -2.0 + t3new_bbbbbb += einsum(x1170, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 2.0 + t3new_bbbbbb += einsum(x1170, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 2.0 + t3new_bbbbbb += einsum(x1170, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -2.0 + t3new_bbbbbb += einsum(x1170, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -2.0 + t3new_bbbbbb += einsum(x1170, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * 2.0 + t3new_bbbbbb += einsum(x1170, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * 2.0 + t3new_bbbbbb += einsum(x1170, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -2.0 + t3new_bbbbbb += einsum(x1170, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -2.0 + t3new_bbbbbb += einsum(x1170, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * 2.0 + del x1170 + x1171 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) + x1171 += einsum(t2.bbbb[np.ix_(sob,sOb,sVb,sVb)], (0, 1, 2, 3), x598, (4, 5, 6, 0), (1, 4, 5, 2, 3, 6)) * -1.0 + del x598 + t3new_bbbbbb += einsum(x1171, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 4.0 + t3new_bbbbbb += einsum(x1171, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -4.0 + t3new_bbbbbb += einsum(x1171, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -4.0 + t3new_bbbbbb += einsum(x1171, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * 4.0 + t3new_bbbbbb += einsum(x1171, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -4.0 + t3new_bbbbbb += einsum(x1171, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 4.0 + t3new_bbbbbb += einsum(x1171, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -4.0 + t3new_bbbbbb += einsum(x1171, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 4.0 + t3new_bbbbbb += einsum(x1171, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 4.0 + t3new_bbbbbb += einsum(x1171, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -4.0 + t3new_bbbbbb += einsum(x1171, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 4.0 + t3new_bbbbbb += einsum(x1171, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * -4.0 + t3new_bbbbbb += einsum(x1171, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * 4.0 + t3new_bbbbbb += einsum(x1171, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -4.0 + t3new_bbbbbb += einsum(x1171, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) * -4.0 + t3new_bbbbbb += einsum(x1171, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * 4.0 + t3new_bbbbbb += einsum(x1171, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -4.0 + t3new_bbbbbb += einsum(x1171, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * 4.0 + del x1171 + x1172 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) + x1172 += einsum(t2.bbbb[np.ix_(sob,sOb,sVb,sVb)], (0, 1, 2, 3), x602, (4, 5, 6, 0), (1, 4, 5, 2, 3, 6)) * -1.0 + del x602 + t3new_bbbbbb += einsum(x1172, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -4.0 + t3new_bbbbbb += einsum(x1172, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * 4.0 + t3new_bbbbbb += einsum(x1172, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -4.0 + t3new_bbbbbb += einsum(x1172, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -4.0 + t3new_bbbbbb += einsum(x1172, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 4.0 + t3new_bbbbbb += einsum(x1172, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 4.0 + t3new_bbbbbb += einsum(x1172, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * 4.0 + t3new_bbbbbb += einsum(x1172, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -4.0 + t3new_bbbbbb += einsum(x1172, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * 4.0 + t3new_bbbbbb += einsum(x1172, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 4.0 + t3new_bbbbbb += einsum(x1172, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -4.0 + t3new_bbbbbb += einsum(x1172, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -4.0 + t3new_bbbbbb += einsum(x1172, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -4.0 + t3new_bbbbbb += einsum(x1172, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * 4.0 + t3new_bbbbbb += einsum(x1172, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -4.0 + t3new_bbbbbb += einsum(x1172, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * -4.0 + t3new_bbbbbb += einsum(x1172, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * 4.0 + t3new_bbbbbb += einsum(x1172, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) * 4.0 + del x1172 + x1173 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) + x1173 += einsum(t2.bbbb[np.ix_(sOb,sOb,svb,sVb)], (0, 1, 2, 3), x606, (4, 5, 6, 2), (0, 1, 4, 3, 5, 6)) * -1.0 + del x606 + t3new_bbbbbb += einsum(x1173, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 + t3new_bbbbbb += einsum(x1173, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 2.0 + t3new_bbbbbb += einsum(x1173, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -2.0 + t3new_bbbbbb += einsum(x1173, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 + t3new_bbbbbb += einsum(x1173, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 2.0 + t3new_bbbbbb += einsum(x1173, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -2.0 + t3new_bbbbbb += einsum(x1173, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 2.0 + t3new_bbbbbb += einsum(x1173, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -2.0 + t3new_bbbbbb += einsum(x1173, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 2.0 + t3new_bbbbbb += einsum(x1173, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 2.0 + t3new_bbbbbb += einsum(x1173, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -2.0 + t3new_bbbbbb += einsum(x1173, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 2.0 + t3new_bbbbbb += einsum(x1173, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -2.0 + t3new_bbbbbb += einsum(x1173, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * 2.0 + t3new_bbbbbb += einsum(x1173, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -2.0 + t3new_bbbbbb += einsum(x1173, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -2.0 + t3new_bbbbbb += einsum(x1173, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * 2.0 + t3new_bbbbbb += einsum(x1173, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -2.0 + del x1173 + x1174 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) + x1174 += einsum(t2.bbbb[np.ix_(sOb,sOb,svb,sVb)], (0, 1, 2, 3), x614, (4, 5, 6, 2), (0, 1, 4, 3, 5, 6)) * -1.0 + del x614 + t3new_bbbbbb += einsum(x1174, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -4.0 + t3new_bbbbbb += einsum(x1174, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 4.0 + t3new_bbbbbb += einsum(x1174, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 4.0 + t3new_bbbbbb += einsum(x1174, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -4.0 + t3new_bbbbbb += einsum(x1174, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -4.0 + t3new_bbbbbb += einsum(x1174, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 4.0 + t3new_bbbbbb += einsum(x1174, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * 4.0 + t3new_bbbbbb += einsum(x1174, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -4.0 + t3new_bbbbbb += einsum(x1174, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -4.0 + t3new_bbbbbb += einsum(x1174, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * 4.0 + t3new_bbbbbb += einsum(x1174, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * 4.0 + t3new_bbbbbb += einsum(x1174, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * -4.0 + t3new_bbbbbb += einsum(x1174, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 4.0 + t3new_bbbbbb += einsum(x1174, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -4.0 + t3new_bbbbbb += einsum(x1174, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -4.0 + t3new_bbbbbb += einsum(x1174, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * 4.0 + t3new_bbbbbb += einsum(x1174, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 4.0 + t3new_bbbbbb += einsum(x1174, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -4.0 + del x1174 + x1175 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) + x1175 += einsum(t2.bbbb[np.ix_(sob,sOb,sVb,sVb)], (0, 1, 2, 3), x620, (4, 5, 6, 0), (5, 4, 1, 2, 3, 6)) + del x620 + t3new_bbbbbb += einsum(x1175, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 + t3new_bbbbbb += einsum(x1175, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 2.0 + t3new_bbbbbb += einsum(x1175, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 2.0 + t3new_bbbbbb += einsum(x1175, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 + t3new_bbbbbb += einsum(x1175, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 2.0 + t3new_bbbbbb += einsum(x1175, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 2.0 + t3new_bbbbbb += einsum(x1175, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -2.0 + t3new_bbbbbb += einsum(x1175, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * 2.0 + t3new_bbbbbb += einsum(x1175, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * 2.0 + t3new_bbbbbb += einsum(x1175, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -2.0 + t3new_bbbbbb += einsum(x1175, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * 2.0 + t3new_bbbbbb += einsum(x1175, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * 2.0 + t3new_bbbbbb += einsum(x1175, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 2.0 + t3new_bbbbbb += einsum(x1175, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -2.0 + t3new_bbbbbb += einsum(x1175, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -2.0 + t3new_bbbbbb += einsum(x1175, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 2.0 + t3new_bbbbbb += einsum(x1175, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -2.0 + t3new_bbbbbb += einsum(x1175, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -2.0 + del x1175 + x1176 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) + x1176 += einsum(t2.bbbb[np.ix_(sOb,sOb,svb,sVb)], (0, 1, 2, 3), x616, (4, 5, 6, 2), (0, 1, 4, 3, 5, 6)) * -1.0 + del x616 + t3new_bbbbbb += einsum(x1176, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * 4.0 + t3new_bbbbbb += einsum(x1176, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -4.0 + t3new_bbbbbb += einsum(x1176, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -4.0 + t3new_bbbbbb += einsum(x1176, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 4.0 + t3new_bbbbbb += einsum(x1176, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 4.0 + t3new_bbbbbb += einsum(x1176, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -4.0 + t3new_bbbbbb += einsum(x1176, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -4.0 + t3new_bbbbbb += einsum(x1176, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * 4.0 + t3new_bbbbbb += einsum(x1176, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * 4.0 + t3new_bbbbbb += einsum(x1176, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -4.0 + t3new_bbbbbb += einsum(x1176, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -4.0 + t3new_bbbbbb += einsum(x1176, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * 4.0 + t3new_bbbbbb += einsum(x1176, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -4.0 + t3new_bbbbbb += einsum(x1176, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 4.0 + t3new_bbbbbb += einsum(x1176, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 4.0 + t3new_bbbbbb += einsum(x1176, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -4.0 + t3new_bbbbbb += einsum(x1176, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -4.0 + t3new_bbbbbb += einsum(x1176, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 4.0 + del x1176 + x1177 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) + x1177 += einsum(x640, (0, 1, 2, 3), t3.babbab, (4, 0, 5, 6, 2, 7), (1, 4, 5, 3, 6, 7)) + del x640 + t3new_bbbbbb += einsum(x1177, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.00000000000002 + t3new_bbbbbb += einsum(x1177, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -2.00000000000002 + t3new_bbbbbb += einsum(x1177, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 2.00000000000002 + t3new_bbbbbb += einsum(x1177, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * 2.00000000000002 + t3new_bbbbbb += einsum(x1177, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.00000000000002 + t3new_bbbbbb += einsum(x1177, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * 2.00000000000002 + t3new_bbbbbb += einsum(x1177, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -2.00000000000002 + t3new_bbbbbb += einsum(x1177, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * 2.00000000000002 + t3new_bbbbbb += einsum(x1177, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -2.00000000000002 + del x1177 + x1178 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) + x1178 += einsum(x642, (0, 1, 2, 3), t3.babbab, (4, 0, 5, 6, 2, 7), (1, 4, 5, 3, 6, 7)) + del x642 + t3new_bbbbbb += einsum(x1178, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.00000000000002 + t3new_bbbbbb += einsum(x1178, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 2.00000000000002 + t3new_bbbbbb += einsum(x1178, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -2.00000000000002 + t3new_bbbbbb += einsum(x1178, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * -2.00000000000002 + t3new_bbbbbb += einsum(x1178, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.00000000000002 + t3new_bbbbbb += einsum(x1178, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -2.00000000000002 + t3new_bbbbbb += einsum(x1178, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * 2.00000000000002 + t3new_bbbbbb += einsum(x1178, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -2.00000000000002 + t3new_bbbbbb += einsum(x1178, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * 2.00000000000002 + del x1178 + x1179 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) + x1179 += einsum(x656, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 1, 6, 7, 3), (0, 4, 5, 2, 6, 7)) + del x656 + t3new_bbbbbb += einsum(x1179, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 6.0000000000000595 + t3new_bbbbbb += einsum(x1179, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -6.0000000000000595 + t3new_bbbbbb += einsum(x1179, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 6.0000000000000595 + t3new_bbbbbb += einsum(x1179, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * 6.0000000000000595 + t3new_bbbbbb += einsum(x1179, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -6.0000000000000595 + t3new_bbbbbb += einsum(x1179, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * 6.0000000000000595 + t3new_bbbbbb += einsum(x1179, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -6.0000000000000595 + t3new_bbbbbb += einsum(x1179, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * 6.0000000000000595 + t3new_bbbbbb += einsum(x1179, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -6.0000000000000595 + del x1179 + x1180 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) + x1180 += einsum(x658, (0, 1), t3.bbbbbb, (2, 3, 1, 4, 5, 6), (0, 2, 3, 4, 5, 6)) + del x658 + t3new_bbbbbb += einsum(x1180, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -6.0 + t3new_bbbbbb += einsum(x1180, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -6.0 + t3new_bbbbbb += einsum(x1180, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 6.0 + del x1180 + x1181 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) + x1181 += einsum(x664, (0, 1), t3.bbbbbb, (2, 3, 4, 5, 6, 1), (2, 3, 4, 0, 5, 6)) + del x664 + t3new_bbbbbb += einsum(x1181, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -6.0 + t3new_bbbbbb += einsum(x1181, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * 6.0 + t3new_bbbbbb += einsum(x1181, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -6.0 + del x1181 + x1182 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) + x1182 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x672, (1, 6, 7, 2, 4, 8), (7, 6, 0, 8, 3, 5)) * -1.0 + del x672 + t3new_bbbbbb += einsum(x1182, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -4.0 + t3new_bbbbbb += einsum(x1182, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * 4.0 + t3new_bbbbbb += einsum(x1182, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -4.0 + t3new_bbbbbb += einsum(x1182, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 4.0 + t3new_bbbbbb += einsum(x1182, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -4.0 + t3new_bbbbbb += einsum(x1182, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 4.0 + t3new_bbbbbb += einsum(x1182, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * 4.0 + t3new_bbbbbb += einsum(x1182, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * -4.0 + t3new_bbbbbb += einsum(x1182, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * 4.0 + del x1182 + x1183 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) + x1183 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x674, (1, 6, 4, 7, 8, 5), (6, 0, 2, 7, 8, 3)) + del x674 + t3new_bbbbbb += einsum(x1183, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 4.0 + t3new_bbbbbb += einsum(x1183, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -4.0 + t3new_bbbbbb += einsum(x1183, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 4.0 + t3new_bbbbbb += einsum(x1183, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 4.0 + t3new_bbbbbb += einsum(x1183, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -4.0 + t3new_bbbbbb += einsum(x1183, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * 4.0 + t3new_bbbbbb += einsum(x1183, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * -4.0 + t3new_bbbbbb += einsum(x1183, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 4.0 + t3new_bbbbbb += einsum(x1183, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -4.0 + del x1183 + x1184 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) + x1184 += einsum(x676, (0, 1, 2, 3), t3.babbab, (4, 0, 5, 6, 2, 7), (1, 4, 5, 3, 6, 7)) + del x676 + t3new_bbbbbb += einsum(x1184, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 4.00000000000004 + t3new_bbbbbb += einsum(x1184, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -4.00000000000004 + t3new_bbbbbb += einsum(x1184, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 4.00000000000004 + t3new_bbbbbb += einsum(x1184, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * 4.00000000000004 + t3new_bbbbbb += einsum(x1184, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -4.00000000000004 + t3new_bbbbbb += einsum(x1184, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * 4.00000000000004 + t3new_bbbbbb += einsum(x1184, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -4.00000000000004 + t3new_bbbbbb += einsum(x1184, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * 4.00000000000004 + t3new_bbbbbb += einsum(x1184, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -4.00000000000004 + del x1184 + x1185 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) + x1185 += einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), x678, (6, 7, 1, 2, 8, 5), (7, 6, 0, 8, 3, 4)) * -1.0 + del x678 + t3new_bbbbbb += einsum(x1185, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 6.0 + t3new_bbbbbb += einsum(x1185, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -6.0 + t3new_bbbbbb += einsum(x1185, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 6.0 + t3new_bbbbbb += einsum(x1185, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -6.0 + t3new_bbbbbb += einsum(x1185, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 6.0 + t3new_bbbbbb += einsum(x1185, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -6.0 + t3new_bbbbbb += einsum(x1185, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -6.0 + t3new_bbbbbb += einsum(x1185, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * 6.0 + t3new_bbbbbb += einsum(x1185, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -6.0 + del x1185 + x1186 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) + x1186 += einsum(x680, (0, 1, 2, 3), t3.bbbbbb, (4, 2, 3, 5, 6, 7), (1, 0, 4, 5, 6, 7)) * -1.0 + del x680 + t3new_bbbbbb += einsum(x1186, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 3.0 + t3new_bbbbbb += einsum(x1186, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 3.0 + t3new_bbbbbb += einsum(x1186, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -3.0 + t3new_bbbbbb += einsum(x1186, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -3.0 + t3new_bbbbbb += einsum(x1186, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -3.0 + t3new_bbbbbb += einsum(x1186, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -3.0 + del x1186 + x1187 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) + x1187 += einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), x682, (6, 7, 1, 2, 8, 5), (7, 6, 0, 8, 3, 4)) * -1.0 + del x682 + t3new_bbbbbb += einsum(x1187, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 6.0 + t3new_bbbbbb += einsum(x1187, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -6.0 + t3new_bbbbbb += einsum(x1187, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 6.0 + t3new_bbbbbb += einsum(x1187, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -6.0 + t3new_bbbbbb += einsum(x1187, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 6.0 + t3new_bbbbbb += einsum(x1187, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -6.0 + t3new_bbbbbb += einsum(x1187, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -6.0 + t3new_bbbbbb += einsum(x1187, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * 6.0 + t3new_bbbbbb += einsum(x1187, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -6.0 + del x1187 + x1188 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) + x1188 += einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), x684, (6, 2, 7, 8, 4, 5), (6, 0, 1, 7, 8, 3)) + del x684 + t3new_bbbbbb += einsum(x1188, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -12.0 + t3new_bbbbbb += einsum(x1188, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 12.0 + t3new_bbbbbb += einsum(x1188, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -12.0 + t3new_bbbbbb += einsum(x1188, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -12.0 + t3new_bbbbbb += einsum(x1188, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * 12.0 + t3new_bbbbbb += einsum(x1188, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -12.0 + t3new_bbbbbb += einsum(x1188, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * 12.0 + t3new_bbbbbb += einsum(x1188, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -12.0 + t3new_bbbbbb += einsum(x1188, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * 12.0 + del x1188 + x1189 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) + x1189 += einsum(x686, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 1, 6, 7, 3), (0, 4, 5, 2, 6, 7)) + del x686 + t3new_bbbbbb += einsum(x1189, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 12.000000000000123 + t3new_bbbbbb += einsum(x1189, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -12.000000000000123 + t3new_bbbbbb += einsum(x1189, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 12.000000000000123 + t3new_bbbbbb += einsum(x1189, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * 12.000000000000123 + t3new_bbbbbb += einsum(x1189, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -12.000000000000123 + t3new_bbbbbb += einsum(x1189, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * 12.000000000000123 + t3new_bbbbbb += einsum(x1189, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -12.000000000000123 + t3new_bbbbbb += einsum(x1189, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * 12.000000000000123 + t3new_bbbbbb += einsum(x1189, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -12.000000000000123 + del x1189 + x1190 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) + x1190 += einsum(x688, (0, 1), t3.bbbbbb, (2, 3, 1, 4, 5, 6), (0, 2, 3, 4, 5, 6)) + del x688 + t3new_bbbbbb += einsum(x1190, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 6.0 + t3new_bbbbbb += einsum(x1190, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 6.0 + t3new_bbbbbb += einsum(x1190, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * 6.0 + t3new_bbbbbb += einsum(x1190, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * 6.0 + t3new_bbbbbb += einsum(x1190, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -6.0 + t3new_bbbbbb += einsum(x1190, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -6.0 + del x1190 + x1191 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) + x1191 += einsum(x690, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 1, 6, 7, 3), (0, 4, 5, 2, 6, 7)) + del x690 + t3new_bbbbbb += einsum(x1191, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -12.000000000000123 + t3new_bbbbbb += einsum(x1191, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 12.000000000000123 + t3new_bbbbbb += einsum(x1191, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -12.000000000000123 + t3new_bbbbbb += einsum(x1191, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * -12.000000000000123 + t3new_bbbbbb += einsum(x1191, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 12.000000000000123 + t3new_bbbbbb += einsum(x1191, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -12.000000000000123 + t3new_bbbbbb += einsum(x1191, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * 12.000000000000123 + t3new_bbbbbb += einsum(x1191, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -12.000000000000123 + t3new_bbbbbb += einsum(x1191, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * 12.000000000000123 + del x1191 + x1192 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) + x1192 += einsum(x693, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 6, 7, 3, 2), (4, 5, 6, 1, 0, 7)) + del x693 + t3new_bbbbbb += einsum(x1192, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -6.0 + t3new_bbbbbb += einsum(x1192, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 6.0 + t3new_bbbbbb += einsum(x1192, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -6.0 + del x1192 + x1193 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) + x1193 += einsum(x694, (0, 1), t3.bbbbbb, (2, 3, 4, 5, 6, 1), (2, 3, 4, 0, 5, 6)) + del x694 + t3new_bbbbbb += einsum(x1193, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 6.0 + t3new_bbbbbb += einsum(x1193, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -6.0 + t3new_bbbbbb += einsum(x1193, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 6.0 + del x1193 + x1194 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) + x1194 += einsum(x696, (0, 1), t3.bbbbbb, (2, 3, 4, 5, 6, 1), (2, 3, 4, 0, 5, 6)) + del x696 + t3new_bbbbbb += einsum(x1194, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 6.0 + t3new_bbbbbb += einsum(x1194, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -6.0 + t3new_bbbbbb += einsum(x1194, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 6.0 + del x1194 + x1195 = np.zeros((naocc[1], naocc[1], navir[1], navir[1], navir[1], nvir[1]), dtype=types[float]) + x1195 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), t2.bbbb[np.ix_(sob,sOb,sVb,sVb)], (2, 3, 4, 5), v.bbbb.ovoO, (2, 6, 0, 7), (3, 7, 1, 4, 5, 6)) * -1.0 + x1196 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) + x1196 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), x1195, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) + del x1195 + t3new_bbbbbb += einsum(x1196, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 2.0 + t3new_bbbbbb += einsum(x1196, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 + t3new_bbbbbb += einsum(x1196, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -2.0 + t3new_bbbbbb += einsum(x1196, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 2.0 + t3new_bbbbbb += einsum(x1196, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 2.0 + t3new_bbbbbb += einsum(x1196, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -2.0 + t3new_bbbbbb += einsum(x1196, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * -2.0 + t3new_bbbbbb += einsum(x1196, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) * 2.0 + t3new_bbbbbb += einsum(x1196, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 + t3new_bbbbbb += einsum(x1196, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -2.0 + t3new_bbbbbb += einsum(x1196, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -2.0 + t3new_bbbbbb += einsum(x1196, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) * 2.0 + t3new_bbbbbb += einsum(x1196, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * 2.0 + t3new_bbbbbb += einsum(x1196, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -2.0 + t3new_bbbbbb += einsum(x1196, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -2.0 + t3new_bbbbbb += einsum(x1196, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * 2.0 + t3new_bbbbbb += einsum(x1196, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * 2.0 + t3new_bbbbbb += einsum(x1196, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -2.0 + del x1196 + x1197 = np.zeros((naocc[1], naocc[1], navir[1], navir[1], navir[1], nvir[1]), dtype=types[float]) + x1197 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), t2.bbbb[np.ix_(sob,sOb,sVb,sVb)], (2, 3, 4, 5), v.bbbb.ovoO, (0, 6, 2, 7), (3, 7, 1, 4, 5, 6)) * -1.0 + x1198 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) + x1198 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), x1197, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) + del x1197 + t3new_bbbbbb += einsum(x1198, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -2.0 + t3new_bbbbbb += einsum(x1198, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.0 + t3new_bbbbbb += einsum(x1198, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * 2.0 + t3new_bbbbbb += einsum(x1198, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -2.0 + t3new_bbbbbb += einsum(x1198, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -2.0 + t3new_bbbbbb += einsum(x1198, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 2.0 + t3new_bbbbbb += einsum(x1198, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * 2.0 + t3new_bbbbbb += einsum(x1198, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) * -2.0 + t3new_bbbbbb += einsum(x1198, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 + t3new_bbbbbb += einsum(x1198, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * 2.0 + t3new_bbbbbb += einsum(x1198, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * 2.0 + t3new_bbbbbb += einsum(x1198, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) * -2.0 + t3new_bbbbbb += einsum(x1198, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -2.0 + t3new_bbbbbb += einsum(x1198, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * 2.0 + t3new_bbbbbb += einsum(x1198, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * 2.0 + t3new_bbbbbb += einsum(x1198, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * -2.0 + t3new_bbbbbb += einsum(x1198, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -2.0 + t3new_bbbbbb += einsum(x1198, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * 2.0 + del x1198 + x1199 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) + x1199 += einsum(t2.bbbb[np.ix_(sOb,sOb,svb,sVb)], (0, 1, 2, 3), x724, (4, 5, 6, 2), (0, 1, 4, 5, 6, 3)) * -1.0 + del x724 + t3new_bbbbbb += einsum(x1199, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * 2.0 + t3new_bbbbbb += einsum(x1199, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -2.0 + t3new_bbbbbb += einsum(x1199, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -2.0 + t3new_bbbbbb += einsum(x1199, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 2.0 + t3new_bbbbbb += einsum(x1199, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * 2.0 + t3new_bbbbbb += einsum(x1199, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -2.0 + t3new_bbbbbb += einsum(x1199, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 + t3new_bbbbbb += einsum(x1199, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 + t3new_bbbbbb += einsum(x1199, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 2.0 + t3new_bbbbbb += einsum(x1199, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -2.0 + t3new_bbbbbb += einsum(x1199, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -2.0 + t3new_bbbbbb += einsum(x1199, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * 2.0 + t3new_bbbbbb += einsum(x1199, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 2.0 + t3new_bbbbbb += einsum(x1199, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -2.0 + t3new_bbbbbb += einsum(x1199, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -2.0 + t3new_bbbbbb += einsum(x1199, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 2.0 + t3new_bbbbbb += einsum(x1199, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * 2.0 + t3new_bbbbbb += einsum(x1199, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -2.0 + del x1199 + x1200 = np.zeros((naocc[1], naocc[1], navir[1], navir[1], navir[1], nvir[1]), dtype=types[float]) + x1200 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), t2.bbbb[np.ix_(sob,sOb,sVb,sVb)], (2, 3, 4, 5), v.bbbb.ovvV, (2, 1, 6, 7), (0, 3, 4, 5, 7, 6)) * -1.0 + x1201 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) + x1201 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), x1200, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) + del x1200 + t3new_bbbbbb += einsum(x1201, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -2.0 + t3new_bbbbbb += einsum(x1201, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 + t3new_bbbbbb += einsum(x1201, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * 2.0 + t3new_bbbbbb += einsum(x1201, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 2.0 + t3new_bbbbbb += einsum(x1201, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -2.0 + t3new_bbbbbb += einsum(x1201, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -2.0 + t3new_bbbbbb += einsum(x1201, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 2.0 + t3new_bbbbbb += einsum(x1201, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * -2.0 + t3new_bbbbbb += einsum(x1201, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -2.0 + t3new_bbbbbb += einsum(x1201, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 + t3new_bbbbbb += einsum(x1201, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 2.0 + t3new_bbbbbb += einsum(x1201, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 2.0 + t3new_bbbbbb += einsum(x1201, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -2.0 + t3new_bbbbbb += einsum(x1201, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * 2.0 + t3new_bbbbbb += einsum(x1201, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * 2.0 + t3new_bbbbbb += einsum(x1201, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * 2.0 + t3new_bbbbbb += einsum(x1201, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -2.0 + t3new_bbbbbb += einsum(x1201, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) * -2.0 + del x1201 + x1202 = np.zeros((naocc[1], naocc[1], navir[1], navir[1], navir[1], nvir[1]), dtype=types[float]) + x1202 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), t2.bbbb[np.ix_(sOb,sOb,svb,sVb)], (2, 3, 4, 5), v.bbbb.ovvV, (0, 6, 4, 7), (2, 3, 1, 5, 7, 6)) * -1.0 + x1203 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) + x1203 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), x1202, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) + del x1202 + t3new_bbbbbb += einsum(x1203, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * 2.0 + t3new_bbbbbb += einsum(x1203, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 + t3new_bbbbbb += einsum(x1203, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -2.0 + t3new_bbbbbb += einsum(x1203, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 2.0 + t3new_bbbbbb += einsum(x1203, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 + t3new_bbbbbb += einsum(x1203, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -2.0 + t3new_bbbbbb += einsum(x1203, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * 2.0 + t3new_bbbbbb += einsum(x1203, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * -2.0 + t3new_bbbbbb += einsum(x1203, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -2.0 + t3new_bbbbbb += einsum(x1203, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 + t3new_bbbbbb += einsum(x1203, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * 2.0 + t3new_bbbbbb += einsum(x1203, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -2.0 + t3new_bbbbbb += einsum(x1203, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) * -2.0 + t3new_bbbbbb += einsum(x1203, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * 2.0 + t3new_bbbbbb += einsum(x1203, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * 2.0 + t3new_bbbbbb += einsum(x1203, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -2.0 + t3new_bbbbbb += einsum(x1203, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -2.0 + t3new_bbbbbb += einsum(x1203, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * 2.0 + del x1203 + x1204 = np.zeros((naocc[1], naocc[1], navir[1], navir[1], navir[1], nvir[1]), dtype=types[float]) + x1204 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), t2.bbbb[np.ix_(sOb,sOb,svb,sVb)], (2, 3, 4, 5), v.bbbb.ovvV, (0, 4, 6, 7), (2, 3, 1, 5, 7, 6)) * -1.0 + x1205 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) + x1205 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), x1204, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) + del x1204 + t3new_bbbbbb += einsum(x1205, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -2.0 + t3new_bbbbbb += einsum(x1205, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.0 + t3new_bbbbbb += einsum(x1205, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 2.0 + t3new_bbbbbb += einsum(x1205, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -2.0 + t3new_bbbbbb += einsum(x1205, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 + t3new_bbbbbb += einsum(x1205, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 2.0 + t3new_bbbbbb += einsum(x1205, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * -2.0 + t3new_bbbbbb += einsum(x1205, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * 2.0 + t3new_bbbbbb += einsum(x1205, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 + t3new_bbbbbb += einsum(x1205, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -2.0 + t3new_bbbbbb += einsum(x1205, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -2.0 + t3new_bbbbbb += einsum(x1205, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * 2.0 + t3new_bbbbbb += einsum(x1205, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) * 2.0 + t3new_bbbbbb += einsum(x1205, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -2.0 + t3new_bbbbbb += einsum(x1205, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * -2.0 + t3new_bbbbbb += einsum(x1205, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * 2.0 + t3new_bbbbbb += einsum(x1205, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 2.0 + t3new_bbbbbb += einsum(x1205, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -2.0 + del x1205 + x1206 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) + x1206 += einsum(x744, (0, 1), t3.bbbbbb, (2, 3, 1, 4, 5, 6), (0, 2, 3, 4, 5, 6)) + del x744 + t3new_bbbbbb += einsum(x1206, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 6.0 + t3new_bbbbbb += einsum(x1206, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * 6.0 + t3new_bbbbbb += einsum(x1206, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -6.0 + del x1206 + x1207 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) + x1207 += einsum(x750, (0, 1), t3.bbbbbb, (2, 3, 4, 5, 6, 1), (2, 3, 4, 0, 5, 6)) + del x750 + t3new_bbbbbb += einsum(x1207, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 6.0 + t3new_bbbbbb += einsum(x1207, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -6.0 + t3new_bbbbbb += einsum(x1207, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 6.0 + del x1207 + x1208 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) + x1208 += einsum(x752, (0, 1, 2, 3), t3.babbab, (4, 0, 5, 6, 2, 7), (1, 4, 5, 3, 6, 7)) + del x752 + t3new_bbbbbb += einsum(x1208, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 + t3new_bbbbbb += einsum(x1208, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 2.0 + t3new_bbbbbb += einsum(x1208, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -2.0 + t3new_bbbbbb += einsum(x1208, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * -2.0 + t3new_bbbbbb += einsum(x1208, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 + t3new_bbbbbb += einsum(x1208, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -2.0 + t3new_bbbbbb += einsum(x1208, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * 2.0 + t3new_bbbbbb += einsum(x1208, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -2.0 + t3new_bbbbbb += einsum(x1208, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * 2.0 + del x1208 + x1209 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) + x1209 += einsum(x755, (0, 1, 2, 3), t3.bbbbbb, (4, 2, 3, 5, 6, 7), (1, 0, 4, 5, 6, 7)) * -1.0 + del x755 + t3new_bbbbbb += einsum(x1209, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 3.0 + t3new_bbbbbb += einsum(x1209, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 3.0 + t3new_bbbbbb += einsum(x1209, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -3.0 + t3new_bbbbbb += einsum(x1209, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -3.0 + t3new_bbbbbb += einsum(x1209, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -3.0 + t3new_bbbbbb += einsum(x1209, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -3.0 + del x1209 + x1210 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) + x1210 += einsum(x758, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 1, 6, 7, 3), (0, 4, 5, 2, 6, 7)) + del x758 + t3new_bbbbbb += einsum(x1210, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -6.0 + t3new_bbbbbb += einsum(x1210, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 6.0 + t3new_bbbbbb += einsum(x1210, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -6.0 + t3new_bbbbbb += einsum(x1210, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * -6.0 + t3new_bbbbbb += einsum(x1210, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 6.0 + t3new_bbbbbb += einsum(x1210, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -6.0 + t3new_bbbbbb += einsum(x1210, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * 6.0 + t3new_bbbbbb += einsum(x1210, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -6.0 + t3new_bbbbbb += einsum(x1210, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * 6.0 + del x1210 + x1211 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) + x1211 += einsum(x761, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 1, 6, 7, 3), (0, 4, 5, 2, 6, 7)) + del x761 + t3new_bbbbbb += einsum(x1211, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 6.0 + t3new_bbbbbb += einsum(x1211, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -6.0 + t3new_bbbbbb += einsum(x1211, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 6.0 + t3new_bbbbbb += einsum(x1211, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * 6.0 + t3new_bbbbbb += einsum(x1211, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -6.0 + t3new_bbbbbb += einsum(x1211, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * 6.0 + t3new_bbbbbb += einsum(x1211, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -6.0 + t3new_bbbbbb += einsum(x1211, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * 6.0 + t3new_bbbbbb += einsum(x1211, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -6.0 + del x1211 + x1212 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) + x1212 += einsum(x764, (0, 1), t3.bbbbbb, (2, 3, 1, 4, 5, 6), (0, 2, 3, 4, 5, 6)) + del x764 + t3new_bbbbbb += einsum(x1212, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -6.0 + t3new_bbbbbb += einsum(x1212, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -6.0 + t3new_bbbbbb += einsum(x1212, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 6.0 + del x1212 + x1213 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) + x1213 += einsum(x767, (0, 1), t3.bbbbbb, (2, 3, 1, 4, 5, 6), (0, 2, 3, 4, 5, 6)) + del x767 + t3new_bbbbbb += einsum(x1213, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 6.0 + t3new_bbbbbb += einsum(x1213, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * 6.0 + t3new_bbbbbb += einsum(x1213, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -6.0 + del x1213 + x1214 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) + x1214 += einsum(x770, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 6, 7, 3, 2), (4, 5, 6, 1, 0, 7)) + del x770 + t3new_bbbbbb += einsum(x1214, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -6.0 + t3new_bbbbbb += einsum(x1214, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 6.0 + t3new_bbbbbb += einsum(x1214, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -6.0 + del x1214 + x1215 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) + x1215 += einsum(x772, (0, 1), t3.bbbbbb, (2, 3, 4, 5, 6, 1), (2, 3, 4, 0, 5, 6)) + del x772 + t3new_bbbbbb += einsum(x1215, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 6.0 + t3new_bbbbbb += einsum(x1215, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -6.0 + t3new_bbbbbb += einsum(x1215, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 6.0 + del x1215 + x1216 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) + x1216 += einsum(x775, (0, 1), t3.bbbbbb, (2, 3, 4, 5, 6, 1), (2, 3, 4, 0, 5, 6)) + del x775 + t3new_bbbbbb += einsum(x1216, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -6.0 + t3new_bbbbbb += einsum(x1216, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * 6.0 + t3new_bbbbbb += einsum(x1216, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -6.0 + del x1216 + x1217 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) + x1217 += einsum(t2.bbbb[np.ix_(sob,sOb,sVb,sVb)], (0, 1, 2, 3), x809, (4, 5, 6, 0), (5, 4, 1, 6, 2, 3)) + del x809 + t3new_bbbbbb += einsum(x1217, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 4.0 + t3new_bbbbbb += einsum(x1217, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -4.0 + t3new_bbbbbb += einsum(x1217, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 4.0 + t3new_bbbbbb += einsum(x1217, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * -4.0 + t3new_bbbbbb += einsum(x1217, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * 4.0 + t3new_bbbbbb += einsum(x1217, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * 4.0 + t3new_bbbbbb += einsum(x1217, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -4.0 + t3new_bbbbbb += einsum(x1217, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * 4.0 + t3new_bbbbbb += einsum(x1217, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -4.0 + del x1217 + x1218 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) + x1218 += einsum(t2.bbbb[np.ix_(sob,sOb,sVb,sVb)], (0, 1, 2, 3), x814, (4, 5, 6, 0), (4, 1, 5, 2, 3, 6)) * -1.0 + del x814 + t3new_bbbbbb += einsum(x1218, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 2.0 + t3new_bbbbbb += einsum(x1218, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -2.0 + t3new_bbbbbb += einsum(x1218, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -2.0 + t3new_bbbbbb += einsum(x1218, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 + t3new_bbbbbb += einsum(x1218, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 2.0 + t3new_bbbbbb += einsum(x1218, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 2.0 + t3new_bbbbbb += einsum(x1218, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -2.0 + t3new_bbbbbb += einsum(x1218, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 2.0 + t3new_bbbbbb += einsum(x1218, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * 2.0 + t3new_bbbbbb += einsum(x1218, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * 2.0 + t3new_bbbbbb += einsum(x1218, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -2.0 + t3new_bbbbbb += einsum(x1218, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) * -2.0 + t3new_bbbbbb += einsum(x1218, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 2.0 + t3new_bbbbbb += einsum(x1218, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * -2.0 + t3new_bbbbbb += einsum(x1218, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -2.0 + t3new_bbbbbb += einsum(x1218, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -2.0 + t3new_bbbbbb += einsum(x1218, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * 2.0 + t3new_bbbbbb += einsum(x1218, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * 2.0 + del x1218 + x1219 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], nocc[1]), dtype=types[float]) + x1219 += einsum(t2.bbbb[np.ix_(sOb,sOb,svb,sVb)], (0, 1, 2, 3), x813, (4, 5, 6, 2), (0, 1, 4, 3, 5, 6)) * -1.0 + del x813 + x1220 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) + x1220 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), x1219, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) + del x1219 + t3new_bbbbbb += einsum(x1220, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -2.0 + t3new_bbbbbb += einsum(x1220, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.0 + t3new_bbbbbb += einsum(x1220, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 2.0 + t3new_bbbbbb += einsum(x1220, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -2.0 + t3new_bbbbbb += einsum(x1220, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -2.0 + t3new_bbbbbb += einsum(x1220, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * 2.0 + t3new_bbbbbb += einsum(x1220, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 2.0 + t3new_bbbbbb += einsum(x1220, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -2.0 + t3new_bbbbbb += einsum(x1220, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -2.0 + t3new_bbbbbb += einsum(x1220, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * 2.0 + t3new_bbbbbb += einsum(x1220, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * 2.0 + t3new_bbbbbb += einsum(x1220, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * -2.0 + t3new_bbbbbb += einsum(x1220, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -2.0 + t3new_bbbbbb += einsum(x1220, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 2.0 + t3new_bbbbbb += einsum(x1220, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 2.0 + t3new_bbbbbb += einsum(x1220, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -2.0 + t3new_bbbbbb += einsum(x1220, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -2.0 + t3new_bbbbbb += einsum(x1220, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * 2.0 + del x1220 + x1221 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) + x1221 += einsum(t2.bbbb[np.ix_(sob,sOb,sVb,sVb)], (0, 1, 2, 3), x827, (4, 5, 6, 0), (4, 1, 5, 2, 3, 6)) * -1.0 + del x827 + t3new_bbbbbb += einsum(x1221, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 4.0 + t3new_bbbbbb += einsum(x1221, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -4.0 + t3new_bbbbbb += einsum(x1221, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -4.0 + t3new_bbbbbb += einsum(x1221, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 4.0 + t3new_bbbbbb += einsum(x1221, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -4.0 + t3new_bbbbbb += einsum(x1221, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 4.0 + t3new_bbbbbb += einsum(x1221, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -4.0 + t3new_bbbbbb += einsum(x1221, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 4.0 + t3new_bbbbbb += einsum(x1221, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * 4.0 + t3new_bbbbbb += einsum(x1221, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) * -4.0 + t3new_bbbbbb += einsum(x1221, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * 4.0 + t3new_bbbbbb += einsum(x1221, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -4.0 + t3new_bbbbbb += einsum(x1221, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 4.0 + t3new_bbbbbb += einsum(x1221, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * -4.0 + t3new_bbbbbb += einsum(x1221, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -4.0 + t3new_bbbbbb += einsum(x1221, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * 4.0 + t3new_bbbbbb += einsum(x1221, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -4.0 + t3new_bbbbbb += einsum(x1221, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * 4.0 + del x1221 + x1222 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) + x1222 += einsum(t2.bbbb[np.ix_(sob,sOb,sVb,sVb)], (0, 1, 2, 3), x833, (4, 5, 6, 0), (4, 1, 5, 2, 3, 6)) * -1.0 + del x833 + t3new_bbbbbb += einsum(x1222, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -4.0 + t3new_bbbbbb += einsum(x1222, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 4.0 + t3new_bbbbbb += einsum(x1222, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -4.0 + t3new_bbbbbb += einsum(x1222, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -4.0 + t3new_bbbbbb += einsum(x1222, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 4.0 + t3new_bbbbbb += einsum(x1222, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 4.0 + t3new_bbbbbb += einsum(x1222, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) * 4.0 + t3new_bbbbbb += einsum(x1222, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * -4.0 + t3new_bbbbbb += einsum(x1222, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * 4.0 + t3new_bbbbbb += einsum(x1222, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * 4.0 + t3new_bbbbbb += einsum(x1222, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -4.0 + t3new_bbbbbb += einsum(x1222, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -4.0 + t3new_bbbbbb += einsum(x1222, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -4.0 + t3new_bbbbbb += einsum(x1222, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * 4.0 + t3new_bbbbbb += einsum(x1222, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -4.0 + t3new_bbbbbb += einsum(x1222, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -4.0 + t3new_bbbbbb += einsum(x1222, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * 4.0 + t3new_bbbbbb += einsum(x1222, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * 4.0 + del x1222 + x1223 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], nocc[1], nocc[1]), dtype=types[float]) + x1223 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), t2.bbbb[np.ix_(sOb,sOb,svb,sVb)], (2, 3, 4, 5), v.bbbb.ovov, (6, 1, 7, 4), (0, 2, 3, 5, 6, 7)) * -1.0 + x1224 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) + x1224 += einsum(t2.bbbb[np.ix_(sob,sob,sVb,sVb)], (0, 1, 2, 3), x1223, (4, 5, 6, 7, 0, 1), (4, 5, 6, 7, 2, 3)) + del x1223 + t3new_bbbbbb += einsum(x1224, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 + t3new_bbbbbb += einsum(x1224, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 2.0 + t3new_bbbbbb += einsum(x1224, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -2.0 + t3new_bbbbbb += einsum(x1224, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 + t3new_bbbbbb += einsum(x1224, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 2.0 + t3new_bbbbbb += einsum(x1224, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -2.0 + t3new_bbbbbb += einsum(x1224, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * -2.0 + t3new_bbbbbb += einsum(x1224, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 + t3new_bbbbbb += einsum(x1224, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -2.0 + t3new_bbbbbb += einsum(x1224, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * -2.0 + t3new_bbbbbb += einsum(x1224, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 + t3new_bbbbbb += einsum(x1224, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -2.0 + t3new_bbbbbb += einsum(x1224, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * 2.0 + t3new_bbbbbb += einsum(x1224, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -2.0 + t3new_bbbbbb += einsum(x1224, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * 2.0 + t3new_bbbbbb += einsum(x1224, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * 2.0 + t3new_bbbbbb += einsum(x1224, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -2.0 + t3new_bbbbbb += einsum(x1224, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * 2.0 + del x1224 + x1225 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], nocc[1]), dtype=types[float]) + x1225 += einsum(t2.bbbb[np.ix_(sOb,sOb,svb,sVb)], (0, 1, 2, 3), x826, (4, 5, 6, 2), (0, 1, 4, 3, 5, 6)) * -1.0 + del x826 + x1226 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) + x1226 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), x1225, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) + del x1225 + t3new_bbbbbb += einsum(x1226, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -4.0 + t3new_bbbbbb += einsum(x1226, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 4.0 + t3new_bbbbbb += einsum(x1226, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * 4.0 + t3new_bbbbbb += einsum(x1226, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -4.0 + t3new_bbbbbb += einsum(x1226, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 4.0 + t3new_bbbbbb += einsum(x1226, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -4.0 + t3new_bbbbbb += einsum(x1226, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 4.0 + t3new_bbbbbb += einsum(x1226, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -4.0 + t3new_bbbbbb += einsum(x1226, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * -4.0 + t3new_bbbbbb += einsum(x1226, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * 4.0 + t3new_bbbbbb += einsum(x1226, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -4.0 + t3new_bbbbbb += einsum(x1226, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * 4.0 + t3new_bbbbbb += einsum(x1226, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -4.0 + t3new_bbbbbb += einsum(x1226, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 4.0 + t3new_bbbbbb += einsum(x1226, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * 4.0 + t3new_bbbbbb += einsum(x1226, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -4.0 + t3new_bbbbbb += einsum(x1226, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 4.0 + t3new_bbbbbb += einsum(x1226, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -4.0 + del x1226 + x1227 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], nocc[1]), dtype=types[float]) + x1227 += einsum(t2.bbbb[np.ix_(sob,sOb,sVb,sVb)], (0, 1, 2, 3), x846, (4, 5, 0, 6), (4, 5, 1, 2, 3, 6)) + del x846 + x1228 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) + x1228 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), x1227, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) + del x1227 + t3new_bbbbbb += einsum(x1228, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 + t3new_bbbbbb += einsum(x1228, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 + t3new_bbbbbb += einsum(x1228, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -2.0 + t3new_bbbbbb += einsum(x1228, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -2.0 + t3new_bbbbbb += einsum(x1228, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 2.0 + t3new_bbbbbb += einsum(x1228, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 2.0 + t3new_bbbbbb += einsum(x1228, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 2.0 + t3new_bbbbbb += einsum(x1228, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 2.0 + t3new_bbbbbb += einsum(x1228, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * 2.0 + t3new_bbbbbb += einsum(x1228, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * 2.0 + t3new_bbbbbb += einsum(x1228, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -2.0 + t3new_bbbbbb += einsum(x1228, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -2.0 + t3new_bbbbbb += einsum(x1228, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -2.0 + t3new_bbbbbb += einsum(x1228, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -2.0 + t3new_bbbbbb += einsum(x1228, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -2.0 + t3new_bbbbbb += einsum(x1228, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -2.0 + t3new_bbbbbb += einsum(x1228, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 2.0 + t3new_bbbbbb += einsum(x1228, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 2.0 + del x1228 + x1229 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], nocc[1]), dtype=types[float]) + x1229 += einsum(t2.bbbb[np.ix_(sOb,sOb,svb,sVb)], (0, 1, 2, 3), x832, (4, 5, 6, 2), (0, 1, 4, 3, 5, 6)) * -1.0 + del x832 + x1230 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) + x1230 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), x1229, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) + del x1229 + t3new_bbbbbb += einsum(x1230, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * 4.0 + t3new_bbbbbb += einsum(x1230, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -4.0 + t3new_bbbbbb += einsum(x1230, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -4.0 + t3new_bbbbbb += einsum(x1230, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * 4.0 + t3new_bbbbbb += einsum(x1230, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -4.0 + t3new_bbbbbb += einsum(x1230, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 4.0 + t3new_bbbbbb += einsum(x1230, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -4.0 + t3new_bbbbbb += einsum(x1230, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 4.0 + t3new_bbbbbb += einsum(x1230, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * 4.0 + t3new_bbbbbb += einsum(x1230, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -4.0 + t3new_bbbbbb += einsum(x1230, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 4.0 + t3new_bbbbbb += einsum(x1230, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -4.0 + t3new_bbbbbb += einsum(x1230, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 4.0 + t3new_bbbbbb += einsum(x1230, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -4.0 + t3new_bbbbbb += einsum(x1230, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -4.0 + t3new_bbbbbb += einsum(x1230, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * 4.0 + t3new_bbbbbb += einsum(x1230, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -4.0 + t3new_bbbbbb += einsum(x1230, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 4.0 + del x1230 + x1231 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) + x1231 += einsum(t2.bbbb[np.ix_(sob,sOb,sVb,sVb)], (0, 1, 2, 3), x855, (4, 5, 6, 0), (5, 4, 1, 6, 2, 3)) + del x855 + t3new_bbbbbb += einsum(x1231, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 4.0 + t3new_bbbbbb += einsum(x1231, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -4.0 + t3new_bbbbbb += einsum(x1231, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 4.0 + t3new_bbbbbb += einsum(x1231, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * -4.0 + t3new_bbbbbb += einsum(x1231, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * 4.0 + t3new_bbbbbb += einsum(x1231, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * 4.0 + t3new_bbbbbb += einsum(x1231, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -4.0 + t3new_bbbbbb += einsum(x1231, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * 4.0 + t3new_bbbbbb += einsum(x1231, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -4.0 + del x1231 + x1232 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) + x1232 += einsum(t2.bbbb[np.ix_(sob,sOb,sVb,sVb)], (0, 1, 2, 3), x857, (4, 5, 6, 0), (5, 4, 1, 6, 2, 3)) + del x857 + t3new_bbbbbb += einsum(x1232, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -4.0 + t3new_bbbbbb += einsum(x1232, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 4.0 + t3new_bbbbbb += einsum(x1232, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -4.0 + t3new_bbbbbb += einsum(x1232, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * 4.0 + t3new_bbbbbb += einsum(x1232, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -4.0 + t3new_bbbbbb += einsum(x1232, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -4.0 + t3new_bbbbbb += einsum(x1232, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 4.0 + t3new_bbbbbb += einsum(x1232, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -4.0 + t3new_bbbbbb += einsum(x1232, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 4.0 + del x1232 + x1233 = np.zeros((naocc[1], naocc[1], navir[1], navir[1], nocc[1], nvir[1]), dtype=types[float]) + x1233 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), t2.bbbb[np.ix_(sob,sOb,sVb,sVb)], (2, 3, 4, 5), v.bbbb.ovov, (6, 7, 2, 1), (0, 3, 4, 5, 6, 7)) * -1.0 + x1234 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], nocc[1]), dtype=types[float]) + x1234 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), x1233, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) + del x1233 + x1235 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) + x1235 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), x1234, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) + del x1234 + t3new_bbbbbb += einsum(x1235, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 2.0 + t3new_bbbbbb += einsum(x1235, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * -2.0 + t3new_bbbbbb += einsum(x1235, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -2.0 + t3new_bbbbbb += einsum(x1235, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 + t3new_bbbbbb += einsum(x1235, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 2.0 + t3new_bbbbbb += einsum(x1235, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -2.0 + t3new_bbbbbb += einsum(x1235, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 + t3new_bbbbbb += einsum(x1235, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * 2.0 + t3new_bbbbbb += einsum(x1235, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 2.0 + t3new_bbbbbb += einsum(x1235, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -2.0 + t3new_bbbbbb += einsum(x1235, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -2.0 + t3new_bbbbbb += einsum(x1235, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * 2.0 + t3new_bbbbbb += einsum(x1235, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) * 2.0 + t3new_bbbbbb += einsum(x1235, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -2.0 + t3new_bbbbbb += einsum(x1235, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -2.0 + t3new_bbbbbb += einsum(x1235, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * 2.0 + t3new_bbbbbb += einsum(x1235, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) * 2.0 + t3new_bbbbbb += einsum(x1235, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -2.0 + del x1235 + x1236 = np.zeros((naocc[1], naocc[1], navir[1], navir[1], nocc[1], nvir[1]), dtype=types[float]) + x1236 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), t2.bbbb[np.ix_(sOb,sOb,svb,sVb)], (2, 3, 4, 5), v.bbbb.ovov, (6, 7, 0, 4), (2, 3, 1, 5, 6, 7)) * -1.0 + x1237 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], nocc[1]), dtype=types[float]) + x1237 += einsum(t1.bb[np.ix_(sOb,svb)], (0, 1), x1236, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) + del x1236 + x1238 = np.zeros((naocc[1], naocc[1], naocc[1], navir[1], navir[1], navir[1]), dtype=types[float]) + x1238 += einsum(t1.bb[np.ix_(sob,sVb)], (0, 1), x1237, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) + del x1237 + t3new_bbbbbb += einsum(x1238, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * 2.0 + t3new_bbbbbb += einsum(x1238, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -2.0 + t3new_bbbbbb += einsum(x1238, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -2.0 + t3new_bbbbbb += einsum(x1238, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 2.0 + t3new_bbbbbb += einsum(x1238, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 2.0 + t3new_bbbbbb += einsum(x1238, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -2.0 + t3new_bbbbbb += einsum(x1238, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * 2.0 + t3new_bbbbbb += einsum(x1238, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -2.0 + t3new_bbbbbb += einsum(x1238, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * -2.0 + t3new_bbbbbb += einsum(x1238, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * 2.0 + t3new_bbbbbb += einsum(x1238, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 2.0 + t3new_bbbbbb += einsum(x1238, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -2.0 + t3new_bbbbbb += einsum(x1238, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) * -2.0 + t3new_bbbbbb += einsum(x1238, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * 2.0 + t3new_bbbbbb += einsum(x1238, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * 2.0 + t3new_bbbbbb += einsum(x1238, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -2.0 + t3new_bbbbbb += einsum(x1238, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -2.0 + t3new_bbbbbb += einsum(x1238, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * 2.0 + del x1238 + + t1new.aa = t1new_aa + t1new.bb = t1new_bb + t2new.aaaa = t2new_aaaa + t2new.abab = t2new_abab + t2new.bbbb = t2new_bbbb + t3new.aaaaaa = t3new_aaaaaa + t3new.abaaba = t3new_abaaba + t3new.babbab = t3new_babbab + t3new.bbbbbb = t3new_bbbbbb + + return {"t1new": t1new, "t2new": t2new, "t3new": t3new} + From 8a96ac6b3499e9a60cc7eafb36abbb3f66f945ae Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Sat, 27 Jul 2024 18:39:52 +0100 Subject: [PATCH 050/168] Triples fixes --- ebcc/codegen/bootstrap_CC3.py | 3 ++- ebcc/codegen/bootstrap_common.py | 4 ++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/ebcc/codegen/bootstrap_CC3.py b/ebcc/codegen/bootstrap_CC3.py index a2ed09bc..d1e05c7d 100644 --- a/ebcc/codegen/bootstrap_CC3.py +++ b/ebcc/codegen/bootstrap_CC3.py @@ -3,6 +3,7 @@ """ import sys +sys.setrecursionlimit(100000) import pdaggerq from albert.qc._pdaggerq import import_from_pdaggerq @@ -107,7 +108,7 @@ for name, codegen in code_generators.items(): if name == "einsum": kwargs = { - "preamble": "t1new = Namespace()\nt2new = Namespace()" if spin == "uhf" else None, + "preamble": "t1new = Namespace()\nt2new = Namespace()\nt3new = Namespace()" if spin == "uhf" else None, "as_dict": True, } else: diff --git a/ebcc/codegen/bootstrap_common.py b/ebcc/codegen/bootstrap_common.py index efcc8284..4514086a 100644 --- a/ebcc/codegen/bootstrap_common.py +++ b/ebcc/codegen/bootstrap_common.py @@ -39,6 +39,8 @@ default_indices = { "o": OCC_INDICES, "v": VIRT_INDICES, + "O": [i.upper() for i in OCC_INDICES], + "V": [i.upper() for i in VIRT_INDICES], "b": ["x", "y", "z", "b0", "b1", "b2", "b3"], "x": ["P", "Q", "R", "S", "x0", "x1", "x2", "x3", "x4", "x5", "x7"], } @@ -50,6 +52,8 @@ default_sizes = { "o": 200, "v": 1000, + "O": 8, + "V": 16, "b": 10, "x": 3000, } From 4bac6f5438960d89c6014aba229a2059ae98c68a Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Sat, 27 Jul 2024 22:45:55 +0100 Subject: [PATCH 051/168] Use old CCSDtp files for now --- .github/workflows/bootstrap_all.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/bootstrap_all.sh b/.github/workflows/bootstrap_all.sh index 35d36479..27d8f53f 100644 --- a/.github/workflows/bootstrap_all.sh +++ b/.github/workflows/bootstrap_all.sh @@ -18,7 +18,7 @@ for method in CCD CCSD QCISD CC2 DCD DCSD; do done done -for method in CC3 CCSDT CCSDtp; do +for method in CC3 CCSDT; do for i in rhf uhf ghf; do echo "Bootstrapping $method ($i)" python -W ignore bootstrap_${method}.py $i From f35fdd39a2e60135454e48134d031b15bfed7eef Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Sat, 27 Jul 2024 23:06:37 +0100 Subject: [PATCH 052/168] Bug fixes for bootstrapping scripts --- .github/workflows/bootstrap_all.sh | 2 ++ ebcc/codegen/bootstrap_CCD.py | 2 +- ebcc/codegen/bootstrap_CCSDT.py | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/bootstrap_all.sh b/.github/workflows/bootstrap_all.sh index 27d8f53f..077fa71f 100644 --- a/.github/workflows/bootstrap_all.sh +++ b/.github/workflows/bootstrap_all.sh @@ -13,6 +13,8 @@ for method in CCD CCSD QCISD CC2 DCD DCSD; do for i in rhf uhf ghf; do echo "Bootstrapping $method ($i)" python -W ignore bootstrap_${method}.py $i + done + for i in rhf uhf; do echo "Bootstrapping DF-$method ($i)" python -W ignore bootstrap_DF${method}.py $i done diff --git a/ebcc/codegen/bootstrap_CCD.py b/ebcc/codegen/bootstrap_CCD.py index f6a0f258..933cc465 100644 --- a/ebcc/codegen/bootstrap_CCD.py +++ b/ebcc/codegen/bootstrap_CCD.py @@ -186,7 +186,7 @@ def get_postamble(n, spin, name="rdm{n}"): else: for s in "ab": for occ in ("oo", "vv"): - shape = ", ".join(f"t2.{ss}{ss}.shape[{'0' if o == 'o' else '-1'}]" for ss, o in zip(s+s, occ)) + shape = ", ".join(f"t2.{s}{s}{s}{s}.shape[{'0' if o == 'o' else '-1'}]" for o in occ) postamble += f"{nm}.{s}{s}.{occ} = np.zeros(({shape}))\n" return postamble + get_density_einsum_postamble(n, spin) kwargs = { diff --git a/ebcc/codegen/bootstrap_CCSDT.py b/ebcc/codegen/bootstrap_CCSDT.py index 1811a48a..0e3f4b76 100644 --- a/ebcc/codegen/bootstrap_CCSDT.py +++ b/ebcc/codegen/bootstrap_CCSDT.py @@ -3,7 +3,7 @@ """ import sys -sys.setrecursionlimit(100000) +sys.setrecursionlimit(1000000) import pdaggerq from albert.qc._pdaggerq import import_from_pdaggerq From 105f81df47e2bf2bee2fb79446b207c8ec09364d Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Thu, 1 Aug 2024 07:28:37 +0100 Subject: [PATCH 053/168] Merge changes from branch master --- ebcc/__init__.py | 2 +- ebcc/ansatz.py | 1 - ebcc/gebcc.py | 5 +- ebcc/rebcc.py | 23 +++- ebcc/uebcc.py | 5 +- examples/04-ccsdt_active_space.py | 7 +- pyproject.toml | 2 +- tests/test_GCCSDt.py | 176 ------------------------------ tests/test_RCCSD.py | 61 ++++++++++- tests/test_RCCSDt.py | 175 ----------------------------- tests/test_UCCSDt.py | 108 ------------------ 11 files changed, 90 insertions(+), 475 deletions(-) delete mode 100644 tests/test_GCCSDt.py delete mode 100644 tests/test_RCCSDt.py delete mode 100644 tests/test_UCCSDt.py diff --git a/ebcc/__init__.py b/ebcc/__init__.py index ce8e119d..5ff2ddc8 100644 --- a/ebcc/__init__.py +++ b/ebcc/__init__.py @@ -34,7 +34,7 @@ >>> ccsd.kernel() """ -__version__ = "1.4.3" +__version__ = "1.4.5" import os import sys diff --git a/ebcc/ansatz.py b/ebcc/ansatz.py index a617d5df..bed095de 100644 --- a/ebcc/ansatz.py +++ b/ebcc/ansatz.py @@ -17,7 +17,6 @@ "QCISD": ("QCISD", "", 0, 0), "DCD": ("DCD", "", 0, 0), "DCSD": ("DCSD", "", 0, 0), - "CCSDt": ("CCSDt", "", 0, 0), "CCSDt'": ("CCSDt'", "", 0, 0), "CCSD-S-1-1": ("CCSD", "S", 1, 1), "CCSD-SD-1-1": ("CCSD", "SD", 1, 1), diff --git a/ebcc/gebcc.py b/ebcc/gebcc.py index c7c4ef9f..22feac62 100644 --- a/ebcc/gebcc.py +++ b/ebcc/gebcc.py @@ -27,7 +27,10 @@ def _convert_mf(mf): return mf # NOTE: First convert to UHF - otherwise conversions from # RHF->GHF and UHF->GHF may have inconsistent ordering - return mf.to_uhf().to_ghf() + hf = mf.to_uhf().to_ghf() + if hasattr(mf, "xc"): + hf.e_tot = hf.energy_tot() + return hf @classmethod def from_uebcc(cls, ucc): diff --git a/ebcc/rebcc.py b/ebcc/rebcc.py index dff7ee72..424c35fb 100644 --- a/ebcc/rebcc.py +++ b/ebcc/rebcc.py @@ -375,7 +375,7 @@ def kernel(self, eris=None): f"{ANSI.B}{'Iter':>4s} {'Energy (corr.)':>16s} {'Energy (tot.)':>18s} " f"{'Δ(Energy)':>13s} {'Δ(Ampl.)':>13s}{ANSI.R}" ) - self.log.info(f"{0:4d} {e_cc:16.10f} {e_cc + self.mf.e_tot:18.10f}") + self.log.info(f"{0:4d} {e_cc:16.10f} {e_cc + self.e_hf:18.10f}") if not self.ansatz.is_one_shot: # Set up DIIS: @@ -403,7 +403,7 @@ def kernel(self, eris=None): converged_e = de < self.options.e_tol converged_t = dt < self.options.t_tol self.log.info( - f"{niter:4d} {e_cc:16.10f} {e_cc + self.mf.e_tot:18.10f}" + f"{niter:4d} {e_cc:16.10f} {e_cc + self.e_hf:18.10f}" f" {[ANSI.r, ANSI.g][converged_e]}{de:13.3e}{ANSI.R}" f" {[ANSI.r, ANSI.g][converged_t]}{dt:13.3e}{ANSI.R}" ) @@ -585,7 +585,10 @@ def _convert_mf(mf): Convert the input PySCF mean-field object to the one required for the current class. """ - return mf.to_rhf() + hf = mf.to_rhf() + if hasattr(mf, "xc"): + hf.e_tot = hf.energy_tot() + return hf def _load_function(self, name, eris=False, amplitudes=False, lambdas=False, **kwargs): """ @@ -2178,6 +2181,18 @@ def next_char(): return energy_sum + @property + def e_hf(self): + """ + Return the mean-field energy. + + Returns + ------- + e_hf : float + Mean-field energy. + """ + return types[float](self.mf.e_tot) + @property def e_tot(self): """ @@ -2188,7 +2203,7 @@ def e_tot(self): e_tot : float Total energy. """ - return types[float](self.mf.e_tot) + self.e_corr + return types[float](self.e_hf) + self.e_corr @property def t1(self): diff --git a/ebcc/uebcc.py b/ebcc/uebcc.py index 19b2f2d5..e3c3c8fb 100644 --- a/ebcc/uebcc.py +++ b/ebcc/uebcc.py @@ -21,7 +21,10 @@ class UEBCC(rebcc.REBCC, metaclass=util.InheritDocstrings): @staticmethod def _convert_mf(mf): - return mf.to_uhf() + hf = mf.to_uhf() + if hasattr(mf, "xc"): + hf.e_tot = hf.energy_tot() + return hf @classmethod def from_rebcc(cls, rcc): diff --git a/examples/04-ccsdt_active_space.py b/examples/04-ccsdt_active_space.py index 75d6d518..268bc760 100644 --- a/examples/04-ccsdt_active_space.py +++ b/examples/04-ccsdt_active_space.py @@ -1,6 +1,5 @@ """ -Example of a CCSDt' and CCSDt calculations with T3 amplitudes in an -active space. +Example of a CCSDt' calculations with T3 amplitudes in an active space. """ import numpy as np @@ -33,7 +32,3 @@ # Run a CCSDt' calculation ccsdt = REBCC(mf, ansatz="CCSDt'", space=space) ccsdt.kernel() - -# Run a CCSDt calculation -ccsdt = REBCC(mf, ansatz="CCSDt", space=space) -ccsdt.kernel() diff --git a/pyproject.toml b/pyproject.toml index b1b6a065..9d68ab25 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "ebcc" -version = "1.4.3" +version = "1.4.5" description = "Coupled cluster calculations on electron-boson systems" keywords = [ "quantum", "chemistry", diff --git a/tests/test_GCCSDt.py b/tests/test_GCCSDt.py deleted file mode 100644 index 5f093692..00000000 --- a/tests/test_GCCSDt.py +++ /dev/null @@ -1,176 +0,0 @@ -"""Tests for the GCCSDt model. -""" - -import tempfile -import unittest - -import numpy as np -import pytest -from pyscf import gto, lib, scf, fci - -from ebcc import GEBCC, REBCC, Space, NullLogger, util - - -@pytest.mark.regression -class GCCSDt_Tests(unittest.TestCase): - """Test GCCSDt against regression. - """ - - def test_3_electron_exact_fully_active(self): - mol = gto.M( - atom="H 0 0 0; H 0 0 1", - basis="6-31g", - spin=1, - charge=-1, - verbose=0, - ) - assert mol.nelectron == 3 - - mf = scf.UHF(mol) - mf.kernel() - gmf = mf.to_ghf() - - space = Space( - gmf.mo_occ > 0, - np.zeros_like(gmf.mo_occ, dtype=bool), - np.ones_like(gmf.mo_occ, dtype=bool), - ) - - ccsdt = GEBCC( - gmf, - ansatz="CCSDt", - space=space, - conv_tol=1e-10, - #log=NullLogger(), - ) - ccsdt.kernel() - e1 = ccsdt.e_tot - - ci = fci.FCI(mf) - ci.conv_tol = 1e-10 - e2 = ci.kernel()[0] - - self.assertAlmostEqual(e1, e2, 6) - - def test_fully_active(self): - mol = gto.M( - atom="H 0 0 0; Li 0 0 1", - basis="sto3g", - verbose=0, - ) - - mf = scf.RHF(mol) - mf.kernel() - gmf = mf.to_ghf() - - space = Space( - gmf.mo_occ > 0, - np.zeros_like(gmf.mo_occ, dtype=bool), - np.ones_like(gmf.mo_occ, dtype=bool), - ) - - ccsdt = GEBCC( - gmf, - ansatz="CCSDt", - space=space, - conv_tol=1e-10, - log=NullLogger(), - ) - ccsdt.kernel() - e1 = ccsdt.e_tot - - ccsdt = GEBCC( - gmf, - ansatz="CCSDT", - space=space, - conv_tol=1e-10, - log=NullLogger(), - ) - ccsdt.kernel() - e2 = ccsdt.e_tot - - self.assertAlmostEqual(e1, e2, 8) - - def test_none_active(self): - mol = gto.M( - atom="H 0 0 0; Li 0 0 1", - basis="sto3g", - verbose=0, - ) - - mf = scf.RHF(mol) - mf.kernel() - gmf = mf.to_ghf() - - space = Space( - gmf.mo_occ > 0, - np.zeros_like(gmf.mo_occ, dtype=bool), - np.zeros_like(gmf.mo_occ, dtype=bool), - ) - - ccsdt = GEBCC( - gmf, - ansatz="CCSDt", - space=space, - conv_tol=1e-10, - log=NullLogger(), - ) - ccsdt.kernel() - e1 = ccsdt.e_tot - - ccsdt = GEBCC( - gmf, - ansatz="CCSD", - space=space, - conv_tol=1e-10, - log=NullLogger(), - ) - ccsdt.kernel() - e2 = ccsdt.e_tot - - self.assertAlmostEqual(e1, e2, 8) - - def test_dump(self): - mol = gto.M( - atom="H 0 0 0; H 0 0 1", - basis="6-31g", - spin=1, - charge=-1, - verbose=0, - ) - - mf = scf.UHF(mol) - mf.kernel() - gmf = mf.to_ghf() - - active = np.zeros_like(gmf.mo_occ, dtype=bool) - active[np.where(gmf.mo_occ > 0)[0][-1]] = True - active[np.where(gmf.mo_occ == 0)[0][0]] = True - space = Space( - gmf.mo_occ > 0, - np.zeros_like(gmf.mo_occ, dtype=bool), - active, - ) - - ccsdt = GEBCC( - gmf, - ansatz="CCSDt", - space=space, - conv_tol=1e-10, - log=NullLogger(), - ) - ccsdt.kernel() - - file = "%s/ebcc.h5" % tempfile.gettempdir() - ccsdt.write(file) - ccsdt_load = GEBCC.read(file, log=NullLogger()) - - np.testing.assert_almost_equal(ccsdt_load.t1, ccsdt.t1) - np.testing.assert_almost_equal(ccsdt_load.t2, ccsdt.t2) - np.testing.assert_almost_equal(ccsdt_load.t3, ccsdt.t3) - - - -if __name__ == "__main__": - print("Tests for GCCSDt") - unittest.main() diff --git a/tests/test_RCCSD.py b/tests/test_RCCSD.py index fc1b7da7..5e379726 100644 --- a/tests/test_RCCSD.py +++ b/tests/test_RCCSD.py @@ -10,7 +10,7 @@ import numpy as np import pytest import scipy.linalg -from pyscf import cc, gto, lib, scf +from pyscf import cc, dft, gto, lib, scf from ebcc import REBCC, NullLogger, Space from ebcc.space import construct_fno_space @@ -427,6 +427,65 @@ def setUpClass(cls): cls.ccsd = cls.ccsd.__class__.read(file, log=cls.ccsd.log) +@pytest.mark.reference +class RCCSD_PySCF_DFT_Tests(unittest.TestCase): + """Test RCCSD against the PySCF values with a DFT reference. + """ + + @classmethod + def setUpClass(cls): + mol = gto.Mole() + mol.atom = "O 0.0 0.0 0.11779; H 0.0 0.755453 -0.471161; H 0.0 -0.755453 -0.471161" + #mol.atom = "Li 0 0 0; H 0 0 1.4" + mol.basis = "cc-pvdz" + mol.verbose = 0 + mol.build() + + mf = dft.RKS(mol, xc="pbe,pbe") + mf = mf.density_fit() + mf.conv_tol = 1e-12 + mf.kernel() + + ccsd_ref = cc.CCSD(mf.to_rhf()) + ccsd_ref.conv_tol = 1e-10 + ccsd_ref.conv_tol_normt = 1e-14 + ccsd_ref.max_cycle = 200 + ccsd_ref.kernel() + ccsd_ref.solve_lambda() + + ccsd = REBCC( + mf, + ansatz="CCSD", + log=NullLogger(), + ) + ccsd.options.e_tol = 1e-10 + eris = ccsd.get_eris() + ccsd.kernel(eris=eris) + ccsd.solve_lambda(eris=eris) + + cls.mf, cls.ccsd_ref, cls.ccsd, cls.eris = mf, ccsd_ref, ccsd, eris + + @classmethod + def teardownclass(cls): + del cls.mf, cls.ccsd_ref, cls.ccsd, cls.eris + + def test_converged(self): + self.assertTrue(self.ccsd.converged) + self.assertTrue(self.ccsd.converged_lambda) + self.assertTrue(self.ccsd_ref.converged) + self.assertTrue(self.ccsd_ref.converged_lambda) + + def test_energy(self): + a = self.ccsd_ref.e_tot + b = self.ccsd.e_tot + self.assertAlmostEqual(a, b, 7) + + def test_t1_amplitudes(self): + a = self.ccsd_ref.t1 + b = self.ccsd.t1 + np.testing.assert_almost_equal(a, b, 6) + + if __name__ == "__main__": print("Tests for RCCSD") unittest.main() diff --git a/tests/test_RCCSDt.py b/tests/test_RCCSDt.py deleted file mode 100644 index 7cd3238c..00000000 --- a/tests/test_RCCSDt.py +++ /dev/null @@ -1,175 +0,0 @@ -"""Tests for the RCCSDt model. -""" - -import itertools -import tempfile -import unittest - -import numpy as np -import pytest -import scipy -from pyscf import gto, lib, scf, fci - -from ebcc import GEBCC, REBCC, Space, NullLogger, util - - -@pytest.mark.regression -class RCCSDt_Tests(unittest.TestCase): - """Test RCCSDt against GCCSDt. - """ - - @classmethod - def setUpClass(cls): - mol = gto.Mole() - mol.atom = "H 0 0 0; Li 0 0 1" - mol.basis = "6-31g" - mol.verbose = 0 - mol.build() - - mf = scf.RHF(mol) - mf.kernel() - - active = np.zeros_like(mf.mo_occ, dtype=bool) - active[np.where(mf.mo_occ > 0)[0][-1]] = True - active[np.where(mf.mo_occ == 0)[0][0]] = True - space = Space( - mf.mo_occ > 0, - np.zeros_like(mf.mo_occ, dtype=bool), - active, - ) - - rccsdt = REBCC( - mf, - ansatz="CCSDt", - space=space, - log=NullLogger(), - ) - rccsdt.options.e_tol = 1e-10 - rccsdt.options.t_tol = 1e-8 - rccsdt.kernel() - - gmf = mf.to_ghf() - - active = np.zeros_like(gmf.mo_occ, dtype=bool) - active[np.isclose(gmf.mo_energy, mf.mo_energy[np.where(mf.mo_occ > 0)[0][-1]])] = True - active[np.isclose(gmf.mo_energy, mf.mo_energy[np.where(mf.mo_occ == 0)[0][0]])] = True - space = Space( - gmf.mo_occ > 0, - np.zeros_like(gmf.mo_occ, dtype=bool), - active, - ) - - gccsdt = GEBCC( - gmf, - ansatz="CCSDt", - space=space, - log=NullLogger(), - ) - gccsdt.options.e_tol = 1e-10 - gccsdt.options.t_tol = 1e-8 - gccsdt.kernel() - - osort = list(itertools.chain(*zip(range(rccsdt.nocc), range(rccsdt.nocc, 2*rccsdt.nocc)))) - vsort = list(itertools.chain(*zip(range(rccsdt.nvir), range(rccsdt.nvir, 2*rccsdt.nvir)))) - fsort = list(itertools.chain(*zip(range(rccsdt.nmo), range(rccsdt.nmo, 2*rccsdt.nmo)))) - - cls.mf, cls.rccsdt, cls.gccsdt = mf, rccsdt, gccsdt - cls.osort, cls.vsort, cls.fsort = osort, vsort, fsort - - @classmethod - def tearDownClass(cls): - del cls.mf, cls.rccsdt, cls.gccsdt - del cls.osort, cls.vsort, cls.fsort - - def test_energy(self): - a = self.rccsdt.e_tot - b = self.gccsdt.e_tot - self.assertAlmostEqual(a, b, 6) - - def test_t1(self): - a = scipy.linalg.block_diag(self.rccsdt.t1, self.rccsdt.t1)[self.osort][:, self.vsort] - b = self.gccsdt.t1 - np.testing.assert_almost_equal(a, b, 6) - - -@pytest.mark.regression -class RCCSDt_Frozen_Tests(unittest.TestCase): - """Test RCCSDt against GCCSDt with a frozen core approximation. - """ - - @classmethod - def setUpClass(cls): - mol = gto.Mole() - mol.atom = "H 0 0 0; Li 0 0 1" - mol.basis = "6-31g" - mol.verbose = 0 - mol.build() - - mf = scf.RHF(mol) - mf.kernel() - - active = np.zeros_like(mf.mo_occ, dtype=bool) - active[np.where(mf.mo_occ > 0)[0][-1]] = True - active[np.where(mf.mo_occ == 0)[0][0]] = True - frozen = np.zeros_like(mf.mo_occ, dtype=bool) - frozen[0] = True - space = Space( - mf.mo_occ > 0, - frozen, - active, - ) - - rccsdt = REBCC( - mf, - ansatz="CCSDt", - space=space, - log=NullLogger(), - ) - rccsdt.options.e_tol = 1e-10 - rccsdt.options.t_tol = 1e-8 - rccsdt.kernel() - - gmf = mf.to_ghf() - - active = np.zeros_like(gmf.mo_occ, dtype=bool) - active[np.isclose(gmf.mo_energy, mf.mo_energy[np.where(mf.mo_occ > 0)[0][-1]])] = True - active[np.isclose(gmf.mo_energy, mf.mo_energy[np.where(mf.mo_occ == 0)[0][0]])] = True - frozen = np.zeros_like(gmf.mo_occ, dtype=bool) - frozen[np.isclose(gmf.mo_energy, mf.mo_energy[0])] = True - space = Space( - gmf.mo_occ > 0, - frozen, - active, - ) - - gccsdt = GEBCC( - gmf, - ansatz="CCSDt", - space=space, - log=NullLogger(), - ) - gccsdt.options.e_tol = 1e-10 - gccsdt.options.t_tol = 1e-8 - gccsdt.kernel() - - osort = list(itertools.chain(*zip(range(rccsdt.nocc), range(rccsdt.nocc, 2*rccsdt.nocc)))) - vsort = list(itertools.chain(*zip(range(rccsdt.nvir), range(rccsdt.nvir, 2*rccsdt.nvir)))) - fsort = list(itertools.chain(*zip(range(rccsdt.nmo), range(rccsdt.nmo, 2*rccsdt.nmo)))) - - cls.mf, cls.rccsdt, cls.gccsdt = mf, rccsdt, gccsdt - cls.osort, cls.vsort, cls.fsort = osort, vsort, fsort - - @classmethod - def tearDownClass(cls): - del cls.mf, cls.rccsdt, cls.gccsdt - del cls.osort, cls.vsort, cls.fsort - - def test_energy(self): - a = self.rccsdt.e_tot - b = self.gccsdt.e_tot - self.assertAlmostEqual(a, b, 6) - - -if __name__ == "__main__": - print("Tests for RCCSDt") - unittest.main() diff --git a/tests/test_UCCSDt.py b/tests/test_UCCSDt.py deleted file mode 100644 index 970f9267..00000000 --- a/tests/test_UCCSDt.py +++ /dev/null @@ -1,108 +0,0 @@ -"""Tests for the UCCSDt model. -""" - -import itertools -import unittest - -import numpy as np -import pytest -from pyscf import gto, lib, scf, fci -import scipy.linalg - -from ebcc import UEBCC, GEBCC, Space, NullLogger, util - - -@pytest.mark.regression -class UCCSDt_Tests(unittest.TestCase): - """Test UCCSDt against GCCSDt. - """ - - @classmethod - def setUpClass(cls): - mol = gto.Mole() - mol.atom = "H 0 0 0; Li 0 0 1.64" - mol.basis = "6-31g" - mol.verbose = 0 - mol.build() - - mf = scf.UHF(mol) - mf.kernel() - - active = [np.zeros_like(o) for o in mf.mo_occ] - for i in range(2): - active[i][np.sum(mf.mo_occ[i] > 0) - 1] = active[i][np.sum(mf.mo_occ[i] > 0)] = True - space = tuple(Space(o > 0, np.zeros_like(a), a) for o, a in zip(mf.mo_occ, active)) - - uccsdt = UEBCC( - mf, - ansatz="CCSDt", - space=space, - log=NullLogger(), - ) - uccsdt.options.e_tol = 1e-8 - uccsdt.options.t_tol = 1e-6 - uccsdt.kernel() - - gmf = mf.to_uhf().to_ghf() - active = np.zeros_like(gmf.mo_occ) - active[np.where(np.isclose(gmf.mo_energy, mf.mo_energy[0][np.sum(mf.mo_occ[0] > 0) - 1]))[0]] = True - active[np.where(np.isclose(gmf.mo_energy, mf.mo_energy[1][np.sum(mf.mo_occ[1] > 0) - 1]))[0]] = True - active[np.where(np.isclose(gmf.mo_energy, mf.mo_energy[0][np.sum(mf.mo_occ[0] > 0)]))[0]] = True - active[np.where(np.isclose(gmf.mo_energy, mf.mo_energy[1][np.sum(mf.mo_occ[1] > 0)]))[0]] = True - space = Space(gmf.mo_occ > 0, np.zeros_like(active), active) - - gccsdt = GEBCC( - gmf, - ansatz="CCSDt", - space=space, - log=NullLogger(), - ) - gccsdt.options.e_tol = 1e-8 - gccsdt.options.t_tol = 1e-6 - gccsdt.kernel() - - cls.mf, cls.uccsdt, cls.gccsdt = mf, uccsdt, gccsdt - - @classmethod - def tearDownClass(cls): - del cls.mf, cls.uccsdt, cls.gccsdt - - def test_energy(self): - a = self.uccsdt.e_tot - b = self.gccsdt.e_tot - self.assertAlmostEqual(a, b, 6) - - def test_3_electron_exact(self): - mol = gto.M( - atom="H 0 0 0; H 0 0 1", - basis="6-31g", - spin=1, - charge=-1, - verbose=0, - ) - assert mol.nelectron == 3 - - mf = scf.UHF(mol) - mf.kernel() - - space = tuple(Space(o > 0, np.zeros_like(o), np.ones_like(o)) for o in mf.mo_occ) - - ccsdt = UEBCC( - mf, - ansatz="CCSDt", - space=space, - log=NullLogger(), - ) - ccsdt.kernel() - e1 = ccsdt.e_tot - - ci = fci.FCI(mf) - ci.conv_tol = 1e-10 - e2 = ci.kernel()[0] - - self.assertAlmostEqual(e1, e2, 6) - - -if __name__ == "__main__": - print("Tests for UCCSDt") - unittest.main() From 03a3bad40a7fc7c4c3f45e3bc678c10c45ba1c6a Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Thu, 1 Aug 2024 07:29:10 +0100 Subject: [PATCH 054/168] Fix UCCD 1RDM --- ebcc/codegen/bootstrap_CCD.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ebcc/codegen/bootstrap_CCD.py b/ebcc/codegen/bootstrap_CCD.py index 933cc465..1ae19f74 100644 --- a/ebcc/codegen/bootstrap_CCD.py +++ b/ebcc/codegen/bootstrap_CCD.py @@ -185,7 +185,7 @@ def get_postamble(n, spin, name="rdm{n}"): postamble += f"{nm}.{occ} = np.zeros(({shape}))\n" else: for s in "ab": - for occ in ("oo", "vv"): + for occ in ("ov", "vo"): shape = ", ".join(f"t2.{s}{s}{s}{s}.shape[{'0' if o == 'o' else '-1'}]" for o in occ) postamble += f"{nm}.{s}{s}.{occ} = np.zeros(({shape}))\n" return postamble + get_density_einsum_postamble(n, spin) From 25bfca21ce81f9476f6acced1441eea4a0f430c4 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Thu, 1 Aug 2024 07:37:12 +0100 Subject: [PATCH 055/168] Forgot a file merge --- CITATION.cff | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 CITATION.cff diff --git a/CITATION.cff b/CITATION.cff new file mode 100644 index 00000000..e0fe04ac --- /dev/null +++ b/CITATION.cff @@ -0,0 +1,13 @@ +cff-version: 1.2.0 +message: "If you use this software, please cite is as below." +authors: +- family-names: Backhouse + given-names: Oliver J. +- family-names: Scott + given-names: Charles J. C. +- family-names: Booth + given-names: George H. +title: "ebcc: Coupled cluster calculations on electron-boson systems" +version: 1.4.5 +date-released: 2024-07-31 +url: "https://github.com/BoothGroup/ebcc" From 145bfdf9154dc1af269dc183366fb0d1ca74a32e Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Tue, 6 Aug 2024 21:11:34 +0100 Subject: [PATCH 056/168] Use hardcoded moment vectors --- ebcc/codegen/_GCCSD_moments.dat | 80 +++++++++ ebcc/codegen/_UCCSD_moments.dat | 276 ++++++++++++++++++++++++++++++++ ebcc/codegen/bootstrap_CCSD.py | 6 + 3 files changed, 362 insertions(+) create mode 100644 ebcc/codegen/_GCCSD_moments.dat create mode 100644 ebcc/codegen/_UCCSD_moments.dat diff --git a/ebcc/codegen/_GCCSD_moments.dat b/ebcc/codegen/_GCCSD_moments.dat new file mode 100644 index 00000000..3e9e37c3 --- /dev/null +++ b/ebcc/codegen/_GCCSD_moments.dat @@ -0,0 +1,80 @@ + +from ebcc.precision import types + +def make_ip_mom_kets(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, l1=None, l2=None, **kwargs): + delta_oo = np.eye(nocc) + delta_vv = np.eye(nvir) + + ket2_o = np.zeros((nocc, nocc, nvir, nocc), dtype=types[float]) + ket1_o = np.zeros((nocc, nocc), dtype=types[float]) + ket1_o += einsum("ij->ji", delta_oo) + ket1_v = np.zeros((nocc, nvir), dtype=types[float]) + ket1_v += einsum("ia->ia", t1) + ket2_v = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + ket2_v -= einsum("ijab->jiba", t2) + + ket1 = np.concatenate([ket1_o, ket1_v], axis=1) + ket2 = np.concatenate([ket2_o, ket2_v], axis=3) + + return ket1, ket2 + +def make_ea_mom_kets(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, l1=None, l2=None, **kwargs): + delta_oo = np.eye(nocc) + delta_vv = np.eye(nvir) + + ket2_v = np.zeros((nvir, nvir, nocc, nvir), dtype=types[float]) + ket1_o = np.zeros((nvir, nocc), dtype=types[float]) + ket1_o -= einsum("ia->ai", t1) + ket1_v = np.zeros((nvir, nvir), dtype=types[float]) + ket1_v += einsum("ab->ba", delta_vv) + ket2_o = np.zeros((nvir, nvir, nocc, nocc), dtype=types[float]) + ket2_o += einsum("ijab->baji", t2) + + ket1 = np.concatenate([ket1_o, ket1_v], axis=1) + ket2 = np.concatenate([ket2_o, ket2_v], axis=3) + + return ket1, ket2 + +def make_ip_mom_bras(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, l1=None, l2=None, **kwargs): + delta_oo = np.eye(nocc) + delta_vv = np.eye(nvir) + + bra1_o = np.zeros((nocc, nocc), dtype=types[float]) + bra1_o += einsum("abij,kjab->ki", l2, t2) * -0.5 + bra1_o += einsum("ij->ji", delta_oo) + bra1_o -= einsum("ai,ja->ji", l1, t1) + bra1_v = np.zeros((nvir, nocc), dtype=types[float]) + bra1_v += einsum("ai->ai", l1) + bra2_o = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + bra2_o -= einsum("ia,bajk->ikjb", t1, l2) + bra2_o += einsum("ij,ak->jika", delta_oo, l1) + bra2_o -= einsum("ij,ak->jkia", delta_oo, l1) + bra2_v = np.zeros((nvir, nocc, nocc, nvir), dtype=types[float]) + bra2_v += einsum("abij->bjia", l2) + + bra1 = np.concatenate([bra1_o, bra1_v], axis=0) + bra2 = np.concatenate([bra2_o, bra2_v], axis=0) + + return bra1, bra2 + +def make_ea_mom_bras(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, l1=None, l2=None, **kwargs): + delta_oo = np.eye(nocc) + delta_vv = np.eye(nvir) + + bra1_o = np.zeros((nocc, nvir), dtype=types[float]) + bra1_o -= einsum("ai->ia", l1) + bra1_v = np.zeros((nvir, nvir), dtype=types[float]) + bra1_v += einsum("ab->ba", delta_vv) + bra1_v -= einsum("ai,ib->ba", l1, t1) + bra1_v += einsum("abij,ijcb->ca", l2, t2) * -0.5 + bra2_o = np.zeros((nocc, nvir, nvir, nocc), dtype=types[float]) + bra2_o -= einsum("abij->jbai", l2) + bra2_v = np.zeros((nvir, nvir, nvir, nocc), dtype=types[float]) + bra2_v -= einsum("ia,bcji->acbj", t1, l2) + bra2_v += einsum("ab,ci->baci", delta_vv, l1) + bra2_v -= einsum("ab,ci->bcai", delta_vv, l1) + + bra1 = np.concatenate([bra1_o, bra1_v], axis=0) + bra2 = np.concatenate([bra2_o, bra2_v], axis=0) + + return bra1, bra2 diff --git a/ebcc/codegen/_UCCSD_moments.dat b/ebcc/codegen/_UCCSD_moments.dat new file mode 100644 index 00000000..04cf8ac4 --- /dev/null +++ b/ebcc/codegen/_UCCSD_moments.dat @@ -0,0 +1,276 @@ + +from ebcc.precision import types + +def make_ip_mom_kets(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, l1=None, l2=None, **kwargs): + ket1 = Namespace() + ket2 = Namespace() + + delta_oo = Namespace() + delta_oo.aa = np.eye(nocc[0]) + delta_oo.bb = np.eye(nocc[1]) + delta_vv = Namespace() + delta_vv.aa = np.eye(nvir[0]) + delta_vv.bb = np.eye(nvir[1]) + + ket2_o_aaaa = np.zeros((nocc[0], nocc[0], nvir[0], nocc[0]), dtype=types[float]) + ket2_o_abab = np.zeros((nocc[0], nocc[1], nvir[0], nocc[1]), dtype=types[float]) + ket2_o_baba = np.zeros((nocc[1], nocc[0], nvir[1], nocc[0]), dtype=types[float]) + ket2_o_bbbb = np.zeros((nocc[1], nocc[1], nvir[1], nocc[1]), dtype=types[float]) + ket1_o_aa = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + ket1_o_aa += einsum("ij->ji", delta_oo.aa) + ket1_o_bb = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + ket1_o_bb += einsum("ij->ji", delta_oo.bb) + ket1_v_aa = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + ket1_v_aa += einsum("ia->ia", t1.aa) + ket1_v_bb = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + ket1_v_bb += einsum("ia->ia", t1.bb) + ket2_v_aaaa = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + ket2_v_aaaa += einsum("ijab->jiab", t2.aaaa) + ket2_v_aaaa -= einsum("ijab->jiba", t2.aaaa) + ket2_v_bbbb = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + ket2_v_bbbb += einsum("ijab->jiab", t2.bbbb) + ket2_v_bbbb -= einsum("ijab->jiba", t2.bbbb) + ket2_v_baba = np.zeros((nocc[1], nocc[0], nvir[1], nvir[0]), dtype=types[float]) + ket2_v_baba -= einsum("ijab->jiba", t2.abab) + ket2_v_abab = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + ket2_v_abab -= einsum("ijab->ijab", t2.abab) + + ket1_aa = np.concatenate([ket1_o_aa, ket1_v_aa], axis=1) + ket1_bb = np.concatenate([ket1_o_bb, ket1_v_bb], axis=1) + ket2_aaaa = np.concatenate([ket2_o_aaaa, ket2_v_aaaa], axis=3) + ket2_abab = np.concatenate([ket2_o_abab, ket2_v_abab], axis=3) + ket2_baba = np.concatenate([ket2_o_baba, ket2_v_baba], axis=3) + ket2_bbbb = np.concatenate([ket2_o_bbbb, ket2_v_bbbb], axis=3) + + ket1.aa = ket1_aa + ket1.bb = ket1_bb + ket2.aaaa = ket2_aaaa + ket2.abab = ket2_abab + ket2.baba = ket2_baba + ket2.bbbb = ket2_bbbb + + return ket1, ket2 + +def make_ea_mom_kets(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, l1=None, l2=None, **kwargs): + ket1 = Namespace() + ket2 = Namespace() + + delta_oo = Namespace() + delta_oo.aa = np.eye(nocc[0]) + delta_oo.bb = np.eye(nocc[1]) + delta_vv = Namespace() + delta_vv.aa = np.eye(nvir[0]) + delta_vv.bb = np.eye(nvir[1]) + + ket2_v_aaaa = np.zeros((nvir[0], nvir[0], nocc[0], nvir[0]), dtype=types[float]) + ket2_v_abab = np.zeros((nvir[0], nvir[1], nocc[0], nvir[1]), dtype=types[float]) + ket2_v_baba = np.zeros((nvir[1], nvir[0], nocc[1], nvir[0]), dtype=types[float]) + ket2_v_bbbb = np.zeros((nvir[1], nvir[1], nocc[1], nvir[1]), dtype=types[float]) + ket1_o_aa = np.zeros((nvir[0], nocc[0]), dtype=types[float]) + ket1_o_aa -= einsum("ia->ai", t1.aa) + ket1_o_bb = np.zeros((nvir[1], nocc[1]), dtype=types[float]) + ket1_o_bb -= einsum("ia->ai", t1.bb) + ket1_v_aa = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + ket1_v_aa += einsum("ab->ba", delta_vv.aa) + ket1_v_bb = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + ket1_v_bb += einsum("ab->ba", delta_vv.bb) + ket2_o_aaaa = np.zeros((nvir[0], nvir[0], nocc[0], nocc[0]), dtype=types[float]) + ket2_o_aaaa -= einsum("ijab->abji", t2.aaaa) + ket2_o_aaaa += einsum("ijab->baji", t2.aaaa) + ket2_o_bbbb = np.zeros((nvir[1], nvir[1], nocc[1], nocc[1]), dtype=types[float]) + ket2_o_bbbb -= einsum("ijab->abji", t2.bbbb) + ket2_o_bbbb += einsum("ijab->baji", t2.bbbb) + ket2_o_baba = np.zeros((nvir[1], nvir[0], nocc[1], nocc[0]), dtype=types[float]) + ket2_o_baba += einsum("ijab->baji", t2.abab) + ket2_o_abab = np.zeros((nvir[0], nvir[1], nocc[0], nocc[1]), dtype=types[float]) + ket2_o_abab += einsum("ijab->abij", t2.abab) + + ket1_aa = np.concatenate([ket1_o_aa, ket1_v_aa], axis=1) + ket1_bb = np.concatenate([ket1_o_bb, ket1_v_bb], axis=1) + ket2_aaaa = np.concatenate([ket2_o_aaaa, ket2_v_aaaa], axis=3) + ket2_abab = np.concatenate([ket2_o_abab, ket2_v_abab], axis=3) + ket2_baba = np.concatenate([ket2_o_baba, ket2_v_baba], axis=3) + ket2_bbbb = np.concatenate([ket2_o_bbbb, ket2_v_bbbb], axis=3) + + ket2_aaaa *= -1 + ket2_abab *= -1 + ket2_baba *= -1 + ket2_bbbb *= -1 + + ket1.aa = ket1_aa + ket1.bb = ket1_bb + ket2.aaaa = ket2_aaaa + ket2.abab = ket2_abab + ket2.baba = ket2_baba + ket2.bbbb = ket2_bbbb + + return ket1, ket2 + +def make_ip_mom_bras(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, l1=None, l2=None, **kwargs): + bra1 = Namespace() + bra2 = Namespace() + + delta_oo = Namespace() + delta_oo.aa = np.eye(nocc[0]) + delta_oo.bb = np.eye(nocc[1]) + delta_vv = Namespace() + delta_vv.aa = np.eye(nvir[0]) + delta_vv.bb = np.eye(nvir[1]) + + x0 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x0 += einsum("ijab->jiab", t2.aaaa) + x0 += einsum("ijab->jiba", t2.aaaa) * -1 + bra1_o_aa = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + bra1_o_aa += einsum("abij,ikba->kj", l2.aaaa, x0) * -1 + del x0 + x1 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x1 += einsum("ijab->jiab", t2.bbbb) * -1 + x1 += einsum("ijab->jiba", t2.bbbb) + bra1_o_bb = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + bra1_o_bb += einsum("abij,ikab->kj", l2.bbbb, x1) * -1 + del x1 + x2 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x2 += einsum("ia,abjk->kjib", t1.aa, l2.aaaa) + bra2_o_aaaa = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + bra2_o_aaaa += einsum("ijka->kija", x2) + bra2_o_aaaa -= einsum("ijka->kjia", x2) + del x2 + x3 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x3 += einsum("ia,abjk->kjib", t1.bb, l2.bbbb) + bra2_o_bbbb = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + bra2_o_bbbb += einsum("ijka->kija", x3) + bra2_o_bbbb -= einsum("ijka->kjia", x3) + del x3 + bra1_o_aa -= einsum("ai,ja->ji", l1.aa, t1.aa) + bra1_o_aa += einsum("ij->ji", delta_oo.aa) + bra1_o_aa += einsum("abij,kjab->ki", l2.abab, t2.abab) * -1 + bra1_o_bb += einsum("ij->ji", delta_oo.bb) + bra1_o_bb -= einsum("ai,ja->ji", l1.bb, t1.bb) + bra1_o_bb += einsum("abij,ikab->kj", l2.abab, t2.abab) * -1 + bra1_v_aa = np.zeros((nvir[0], nocc[0]), dtype=types[float]) + bra1_v_aa += einsum("ai->ai", l1.aa) + bra1_v_bb = np.zeros((nvir[1], nocc[1]), dtype=types[float]) + bra1_v_bb += einsum("ai->ai", l1.bb) + bra2_o_aaaa += einsum("ij,ak->jika", delta_oo.aa, l1.aa) + bra2_o_aaaa -= einsum("ij,ak->jkia", delta_oo.aa, l1.aa) + bra2_o_abab = np.zeros((nocc[0], nocc[1], nocc[0], nvir[1]), dtype=types[float]) + bra2_o_abab += einsum("ia,abjk->ikjb", t1.aa, l2.abab) + bra2_o_abab -= einsum("ij,ak->jkia", delta_oo.aa, l1.bb) + bra2_o_baba = np.zeros((nocc[1], nocc[0], nocc[1], nvir[0]), dtype=types[float]) + bra2_o_baba -= einsum("ij,ak->jkia", delta_oo.bb, l1.aa) + bra2_o_baba += einsum("ia,bajk->ijkb", t1.bb, l2.abab) + bra2_o_bbbb += einsum("ij,ak->jika", delta_oo.bb, l1.bb) + bra2_o_bbbb -= einsum("ij,ak->jkia", delta_oo.bb, l1.bb) + bra2_v_aaaa = np.zeros((nvir[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + bra2_v_aaaa -= einsum("abij->ajib", l2.aaaa) + bra2_v_aaaa += einsum("abij->bjia", l2.aaaa) + bra2_v_baba = np.zeros((nvir[1], nocc[0], nocc[1], nvir[0]), dtype=types[float]) + bra2_v_baba -= einsum("abij->bija", l2.abab) + bra2_v_abab = np.zeros((nvir[0], nocc[1], nocc[0], nvir[1]), dtype=types[float]) + bra2_v_abab -= einsum("abij->ajib", l2.abab) + bra2_v_bbbb = np.zeros((nvir[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + bra2_v_bbbb -= einsum("abij->ajib", l2.bbbb) + bra2_v_bbbb += einsum("abij->bjia", l2.bbbb) + + bra1_aa = np.concatenate([bra1_o_aa, bra1_v_aa], axis=0) + bra1_bb = np.concatenate([bra1_o_bb, bra1_v_bb], axis=0) + bra2_aaaa = np.concatenate([bra2_o_aaaa, bra2_v_aaaa], axis=0) + bra2_abab = np.concatenate([bra2_o_abab, bra2_v_abab], axis=0) + bra2_baba = np.concatenate([bra2_o_baba, bra2_v_baba], axis=0) + bra2_bbbb = np.concatenate([bra2_o_bbbb, bra2_v_bbbb], axis=0) + + bra1.aa = bra1_aa + bra1.bb = bra1_bb + bra2.aaaa = bra2_aaaa + bra2.abab = bra2_abab + bra2.baba = bra2_baba + bra2.bbbb = bra2_bbbb + + return bra1, bra2 + +def make_ea_mom_bras(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, l1=None, l2=None, **kwargs): + bra1 = Namespace() + bra2 = Namespace() + + delta_oo = Namespace() + delta_oo.aa = np.eye(nocc[0]) + delta_oo.bb = np.eye(nocc[1]) + delta_vv = Namespace() + delta_vv.aa = np.eye(nvir[0]) + delta_vv.bb = np.eye(nvir[1]) + + x0 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x0 += einsum("ijab->jiab", t2.aaaa) * -1 + x0 += einsum("ijab->jiba", t2.aaaa) + bra1_v_aa = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + bra1_v_aa += einsum("abij,ijac->cb", l2.aaaa, x0) * -1 + del x0 + x1 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x1 += einsum("ijab->jiab", t2.bbbb) + x1 += einsum("ijab->jiba", t2.bbbb) * -1 + bra1_v_bb = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + bra1_v_bb += einsum("abij,ijbc->ca", l2.bbbb, x1) * -1 + del x1 + x2 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x2 += einsum("ia,bcji->jbca", t1.aa, l2.aaaa) + bra2_v_aaaa = np.zeros((nvir[0], nvir[0], nvir[0], nocc[0]), dtype=types[float]) + bra2_v_aaaa += einsum("iabc->cabi", x2) + bra2_v_aaaa -= einsum("iabc->cbai", x2) + del x2 + x3 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x3 += einsum("ia,bcji->jbca", t1.bb, l2.bbbb) + bra2_v_bbbb = np.zeros((nvir[1], nvir[1], nvir[1], nocc[1]), dtype=types[float]) + bra2_v_bbbb += einsum("iabc->cabi", x3) + bra2_v_bbbb -= einsum("iabc->cbai", x3) + del x3 + bra1_o_aa = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + bra1_o_aa -= einsum("ai->ia", l1.aa) + bra1_o_bb = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + bra1_o_bb -= einsum("ai->ia", l1.bb) + bra1_v_aa += einsum("ab->ba", delta_vv.aa) + bra1_v_aa -= einsum("ai,ib->ba", l1.aa, t1.aa) + bra1_v_aa += einsum("abij,ijcb->ca", l2.abab, t2.abab) * -1 + bra1_v_bb += einsum("abij,ijac->cb", l2.abab, t2.abab) * -1 + bra1_v_bb += einsum("ab->ba", delta_vv.bb) + bra1_v_bb -= einsum("ai,ib->ba", l1.bb, t1.bb) + bra2_o_aaaa = np.zeros((nocc[0], nvir[0], nvir[0], nocc[0]), dtype=types[float]) + bra2_o_aaaa += einsum("abij->jabi", l2.aaaa) + bra2_o_aaaa -= einsum("abij->jbai", l2.aaaa) + bra2_o_abab = np.zeros((nocc[0], nvir[1], nvir[0], nocc[1]), dtype=types[float]) + bra2_o_abab += einsum("abij->ibaj", l2.abab) + bra2_o_baba = np.zeros((nocc[1], nvir[0], nvir[1], nocc[0]), dtype=types[float]) + bra2_o_baba += einsum("abij->jabi", l2.abab) + bra2_o_bbbb = np.zeros((nocc[1], nvir[1], nvir[1], nocc[1]), dtype=types[float]) + bra2_o_bbbb += einsum("abij->jabi", l2.bbbb) + bra2_o_bbbb -= einsum("abij->jbai", l2.bbbb) + bra2_v_aaaa += einsum("ab,ci->baci", delta_vv.aa, l1.aa) + bra2_v_aaaa -= einsum("ab,ci->bcai", delta_vv.aa, l1.aa) + bra2_v_abab = np.zeros((nvir[0], nvir[1], nvir[0], nocc[1]), dtype=types[float]) + bra2_v_abab -= einsum("ab,ci->bcai", delta_vv.aa, l1.bb) + bra2_v_abab += einsum("ia,bcij->acbj", t1.aa, l2.abab) + bra2_v_baba = np.zeros((nvir[1], nvir[0], nvir[1], nocc[0]), dtype=types[float]) + bra2_v_baba -= einsum("ab,ci->bcai", delta_vv.bb, l1.aa) + bra2_v_baba += einsum("ia,bcji->abcj", t1.bb, l2.abab) + bra2_v_bbbb += einsum("ab,ci->baci", delta_vv.bb, l1.bb) + bra2_v_bbbb -= einsum("ab,ci->bcai", delta_vv.bb, l1.bb) + + bra1_aa = np.concatenate([bra1_o_aa, bra1_v_aa], axis=0) + bra1_bb = np.concatenate([bra1_o_bb, bra1_v_bb], axis=0) + bra2_aaaa = np.concatenate([bra2_o_aaaa, bra2_v_aaaa], axis=0) + bra2_abab = np.concatenate([bra2_o_abab, bra2_v_abab], axis=0) + bra2_baba = np.concatenate([bra2_o_baba, bra2_v_baba], axis=0) + bra2_bbbb = np.concatenate([bra2_o_bbbb, bra2_v_bbbb], axis=0) + + bra2_aaaa *= -1 + bra2_abab *= -1 + bra2_baba *= -1 + bra2_bbbb *= -1 + + bra1.aa = bra1_aa + bra1.bb = bra1_bb + bra2.aaaa = bra2_aaaa + bra2.abab = bra2_abab + bra2.baba = bra2_baba + bra2.bbbb = bra2_bbbb + + return bra1, bra2 diff --git a/ebcc/codegen/bootstrap_CCSD.py b/ebcc/codegen/bootstrap_CCSD.py index 4aee1ed2..8078d29d 100644 --- a/ebcc/codegen/bootstrap_CCSD.py +++ b/ebcc/codegen/bootstrap_CCSD.py @@ -464,6 +464,12 @@ **kwargs, ) +# Temporary hardcoded parts until we have a proper way to handle them +if spin == "ghf" or spin == "uhf": + with open(f"_{spin[0].upper()}CCSD_moments.dat", "r") as f: + for line in f.readlines(): + codegen.write(line.strip()) + for codegen in code_generators.values(): codegen.postamble() codegen.stdout.close() From eccf1e5386f60012b3af185f7d1be433ec1ddd72 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Tue, 6 Aug 2024 23:09:48 +0100 Subject: [PATCH 057/168] Use dict output for EOM --- ebcc/codegen/bootstrap_CCSD.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ebcc/codegen/bootstrap_CCSD.py b/ebcc/codegen/bootstrap_CCSD.py index 8078d29d..12dc2004 100644 --- a/ebcc/codegen/bootstrap_CCSD.py +++ b/ebcc/codegen/bootstrap_CCSD.py @@ -337,7 +337,7 @@ if name == "einsum": kwargs = { "preamble": "r1new = Namespace()\nr2new = Namespace()" if spin == "uhf" else None, - #"as_dict": True, # FIXME + "as_dict": True, } else: kwargs = {} @@ -394,7 +394,7 @@ if name == "einsum": kwargs = { "preamble": "r1new = Namespace()\nr2new = Namespace()" if spin == "uhf" else None, - #"as_dict": True, # FIXME + "as_dict": True, } else: kwargs = {} @@ -452,7 +452,7 @@ kwargs = { "preamble": "r1new = Namespace()\nr2new = Namespace()" if spin == "uhf" else None, "postamble": "r2new.baba = r2new.abab.transpose(1, 0, 3, 2)" if spin == "uhf" else None, # FIXME - #"as_dict": True, # FIXME + "as_dict": True, } else: kwargs = {} From 3fad571d17c0361623ace581432db896a6faf686 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Tue, 6 Aug 2024 23:10:17 +0100 Subject: [PATCH 058/168] Fix indent on hardcoded bits --- ebcc/codegen/bootstrap_CCSD.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ebcc/codegen/bootstrap_CCSD.py b/ebcc/codegen/bootstrap_CCSD.py index 12dc2004..740f4052 100644 --- a/ebcc/codegen/bootstrap_CCSD.py +++ b/ebcc/codegen/bootstrap_CCSD.py @@ -468,7 +468,7 @@ if spin == "ghf" or spin == "uhf": with open(f"_{spin[0].upper()}CCSD_moments.dat", "r") as f: for line in f.readlines(): - codegen.write(line.strip()) + codegen.write(line) for codegen in code_generators.values(): codegen.postamble() From 28f0d4615f562e5781d45401074d4a88c142bcf5 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Wed, 7 Aug 2024 07:48:49 +0100 Subject: [PATCH 059/168] Hard code GCCSDTQ for now --- ebcc/codegen/GCCSDTQ.py | 3160 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 3160 insertions(+) create mode 100644 ebcc/codegen/GCCSDTQ.py diff --git a/ebcc/codegen/GCCSDTQ.py b/ebcc/codegen/GCCSDTQ.py new file mode 100644 index 00000000..768f25af --- /dev/null +++ b/ebcc/codegen/GCCSDTQ.py @@ -0,0 +1,3160 @@ +# Code generated for ebcc. + +from ebcc import numpy as np +from ebcc.util import pack_2e, einsum, Namespace +from ebcc.precision import types + +def energy(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, t3=None, t4=None, **kwargs): + # energy + e_cc = 0 + e_cc += einsum(t1, (0, 1), f.ov, (0, 1), ()) + x0 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x0 += einsum(t2, (0, 1, 2, 3), (1, 0, 3, 2)) + x0 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) * 2.0 + e_cc += einsum(v.oovv, (0, 1, 2, 3), x0, (0, 1, 2, 3), ()) * 0.25 + + return e_cc + +def update_amps(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, t3=None, t4=None, **kwargs): + # T amplitudes + t1new = np.zeros((nocc, nvir), dtype=types[float]) + t1new += einsum(f.ov, (0, 1), (0, 1)) + t1new += einsum(f.oo, (0, 1), t1, (1, 2), (0, 2)) * -1.0 + t1new += einsum(f.vv, (0, 1), t1, (2, 1), (2, 0)) + t1new += einsum(f.ov, (0, 1), t2, (2, 0, 3, 1), (2, 3)) + t1new += einsum(t1, (0, 1), v.ovov, (2, 1, 0, 3), (2, 3)) * -1.0 + t1new += einsum(t2, (0, 1, 2, 3), v.ooov, (0, 1, 4, 3), (4, 2)) * -0.5 + t1new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 2, 3), (0, 4)) * -0.5 + t1new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 0, 1, 5, 2, 3), (4, 5)) * 0.25 + t1new += einsum(f.ov, (0, 1), t1, (2, 1), t1, (0, 3), (2, 3)) * -1.0 + t1new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (0, 2, 4, 1), (4, 3)) + t1new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (2, 4, 1, 3), (0, 4)) * -1.0 + t1new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (2, 3, 1, 5), (0, 4)) * -0.5 + t1new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 4, 5), (2, 1)) * -0.5 + t1new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 1, 5), (2, 4)) + t1new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.oovv, (2, 4, 1, 3), (0, 5)) + t2new = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + t2new += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) + t2new += einsum(f.oo, (0, 1), t2, (2, 1, 3, 4), (0, 2, 3, 4)) + t2new += einsum(f.oo, (0, 1), t2, (2, 1, 3, 4), (2, 0, 3, 4)) * -1.0 + t2new += einsum(f.vv, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4)) * -1.0 + t2new += einsum(f.vv, (0, 1), t2, (2, 3, 4, 1), (2, 3, 4, 0)) + t2new += einsum(t1, (0, 1), v.ooov, (2, 3, 0, 4), (2, 3, 1, 4)) * -1.0 + t2new += einsum(t1, (0, 1), v.ooov, (2, 3, 0, 4), (2, 3, 4, 1)) + t2new += einsum(t1, (0, 1), v.ovvv, (2, 1, 3, 4), (0, 2, 3, 4)) * -1.0 + t2new += einsum(t1, (0, 1), v.ovvv, (2, 1, 3, 4), (2, 0, 3, 4)) + t2new += einsum(f.ov, (0, 1), t3, (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) + t2new += einsum(t2, (0, 1, 2, 3), v.oooo, (4, 5, 0, 1), (4, 5, 2, 3)) * 0.5 + t2new += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 3, 1, 5), (0, 4, 2, 5)) * -1.0 + t2new += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 3, 1, 5), (0, 4, 5, 2)) + t2new += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 3, 1, 5), (4, 0, 2, 5)) + t2new += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 3, 1, 5), (4, 0, 5, 2)) * -1.0 + t2new += einsum(t2, (0, 1, 2, 3), v.vvvv, (4, 5, 2, 3), (0, 1, 4, 5)) * 0.5 + t2new += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 0, 1, 5, 6, 3), (2, 4, 5, 6)) * 0.5 + t2new += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 0, 1, 5, 6, 3), (4, 2, 5, 6)) * -0.5 + t2new += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 0, 6, 2, 3), (4, 5, 1, 6)) * 0.5 + t2new += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 0, 6, 2, 3), (4, 5, 6, 1)) * -0.5 + t2new += einsum(v.oovv, (0, 1, 2, 3), t4, (4, 5, 0, 1, 6, 7, 2, 3), (4, 5, 6, 7)) * 0.25 + t2new += einsum(f.ov, (0, 1), t1, (2, 1), t2, (3, 0, 4, 5), (2, 3, 4, 5)) + t2new += einsum(f.ov, (0, 1), t1, (2, 1), t2, (3, 0, 4, 5), (3, 2, 4, 5)) * -1.0 + t2new += einsum(f.ov, (0, 1), t1, (0, 2), t2, (3, 4, 5, 1), (3, 4, 2, 5)) + t2new += einsum(f.ov, (0, 1), t1, (0, 2), t2, (3, 4, 5, 1), (3, 4, 5, 2)) * -1.0 + t2new += einsum(t1, (0, 1), t1, (2, 3), v.oooo, (4, 5, 0, 2), (4, 5, 1, 3)) + t2new += einsum(t1, (0, 1), t1, (2, 3), v.ovov, (4, 1, 2, 5), (0, 4, 3, 5)) + t2new += einsum(t1, (0, 1), t1, (2, 3), v.ovov, (4, 1, 2, 5), (0, 4, 5, 3)) * -1.0 + t2new += einsum(t1, (0, 1), t1, (2, 3), v.ovov, (4, 1, 2, 5), (4, 0, 3, 5)) * -1.0 + t2new += einsum(t1, (0, 1), t1, (2, 3), v.ovov, (4, 1, 2, 5), (4, 0, 5, 3)) + t2new += einsum(t1, (0, 1), t1, (2, 3), v.vvvv, (4, 5, 1, 3), (0, 2, 4, 5)) + t2new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ooov, (2, 3, 6, 1), (0, 6, 4, 5)) * -0.5 + t2new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ooov, (2, 3, 6, 1), (6, 0, 4, 5)) * 0.5 + t2new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ooov, (0, 3, 6, 5), (2, 6, 1, 4)) + t2new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ooov, (0, 3, 6, 5), (6, 2, 1, 4)) * -1.0 + t2new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ooov, (0, 3, 6, 5), (2, 6, 4, 1)) * -1.0 + t2new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ooov, (0, 3, 6, 5), (6, 2, 4, 1)) + t2new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ooov, (0, 3, 6, 1), (2, 6, 4, 5)) + t2new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ooov, (0, 3, 6, 1), (6, 2, 4, 5)) * -1.0 + t2new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ovvv, (3, 6, 1, 5), (0, 2, 6, 4)) * -1.0 + t2new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ovvv, (3, 6, 1, 5), (0, 2, 4, 6)) + t2new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ovvv, (3, 6, 1, 5), (2, 0, 6, 4)) + t2new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ovvv, (3, 6, 1, 5), (2, 0, 4, 6)) * -1.0 + t2new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ovvv, (0, 6, 4, 5), (2, 3, 1, 6)) * -0.5 + t2new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ovvv, (0, 6, 4, 5), (2, 3, 6, 1)) * 0.5 + t2new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ovvv, (0, 6, 1, 5), (2, 3, 6, 4)) * -1.0 + t2new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ovvv, (0, 6, 1, 5), (2, 3, 4, 6)) + t2new += einsum(t1, (0, 1), v.oovv, (2, 3, 1, 4), t3, (5, 2, 3, 6, 7, 4), (0, 5, 6, 7)) * 0.5 + t2new += einsum(t1, (0, 1), v.oovv, (2, 3, 1, 4), t3, (5, 2, 3, 6, 7, 4), (5, 0, 6, 7)) * -0.5 + t2new += einsum(t1, (0, 1), v.oovv, (0, 2, 3, 4), t3, (5, 6, 2, 7, 3, 4), (5, 6, 1, 7)) * 0.5 + t2new += einsum(t1, (0, 1), v.oovv, (0, 2, 3, 4), t3, (5, 6, 2, 7, 3, 4), (5, 6, 7, 1)) * -0.5 + t2new += einsum(t1, (0, 1), v.oovv, (0, 2, 1, 3), t3, (4, 5, 2, 6, 7, 3), (4, 5, 6, 7)) + t2new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.oovv, (1, 5, 3, 7), (0, 4, 2, 6)) + t2new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.oovv, (1, 5, 6, 7), (0, 4, 2, 3)) * -0.5 + t2new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.oovv, (1, 5, 3, 7), (0, 4, 6, 2)) * -1.0 + t2new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.oovv, (1, 5, 2, 3), (0, 4, 6, 7)) * -0.5 + t2new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.oovv, (4, 5, 3, 7), (0, 1, 2, 6)) * -0.5 + t2new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.oovv, (4, 5, 3, 7), (0, 1, 6, 2)) * 0.5 + t2new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.oovv, (4, 5, 2, 3), (0, 1, 6, 7)) * 0.25 + t2new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.ooov, (2, 4, 6, 1), (0, 6, 3, 5)) * -1.0 + t2new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.ooov, (2, 4, 6, 1), (6, 0, 3, 5)) + t2new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.ovvv, (4, 6, 1, 3), (0, 2, 5, 6)) * -1.0 + t2new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.ovvv, (4, 6, 1, 3), (0, 2, 6, 5)) + t2new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.oovv, (4, 5, 1, 3), (0, 2, 6, 7)) * 0.5 + t2new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.oovv, (2, 5, 1, 7), (0, 4, 3, 6)) * -1.0 + t2new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.oovv, (2, 5, 1, 7), (0, 4, 6, 3)) + t2new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.oovv, (2, 5, 1, 3), (0, 4, 6, 7)) * -1.0 + t2new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.oovv, (2, 5, 1, 7), (4, 0, 3, 6)) + t2new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.oovv, (2, 5, 1, 7), (4, 0, 6, 3)) * -1.0 + t2new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.oovv, (2, 5, 1, 3), (4, 0, 6, 7)) + t2new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.oovv, (0, 2, 6, 7), (4, 5, 1, 3)) * 0.5 + t2new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.oovv, (0, 2, 1, 7), (4, 5, 3, 6)) + t2new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.oovv, (0, 2, 1, 7), (4, 5, 6, 3)) * -1.0 + t2new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), t1, (6, 7), v.oovv, (4, 6, 1, 3), (0, 2, 5, 7)) + t3new = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + t3new += einsum(f.oo, (0, 1), t3, (2, 3, 1, 4, 5, 6), (0, 2, 3, 4, 5, 6)) * -1.0 + t3new += einsum(f.oo, (0, 1), t3, (2, 3, 1, 4, 5, 6), (2, 0, 3, 4, 5, 6)) + t3new += einsum(f.oo, (0, 1), t3, (2, 3, 1, 4, 5, 6), (2, 3, 0, 4, 5, 6)) * -1.0 + t3new += einsum(f.vv, (0, 1), t3, (2, 3, 4, 5, 6, 1), (2, 3, 4, 0, 5, 6)) + t3new += einsum(f.vv, (0, 1), t3, (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 0, 6)) * -1.0 + t3new += einsum(f.vv, (0, 1), t3, (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 6, 0)) + t3new += einsum(f.ov, (0, 1), t4, (2, 3, 4, 0, 5, 6, 7, 1), (2, 3, 4, 5, 6, 7)) + t3new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 1, 6), (0, 4, 5, 2, 3, 6)) * -1.0 + t3new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 1, 6), (0, 4, 5, 2, 6, 3)) + t3new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 1, 6), (0, 4, 5, 6, 2, 3)) * -1.0 + t3new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 1, 6), (4, 0, 5, 2, 3, 6)) + t3new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 1, 6), (4, 0, 5, 2, 6, 3)) * -1.0 + t3new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 1, 6), (4, 0, 5, 6, 2, 3)) + t3new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 1, 6), (4, 5, 0, 2, 3, 6)) * -1.0 + t3new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 1, 6), (4, 5, 0, 2, 6, 3)) + t3new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 1, 6), (4, 5, 0, 6, 2, 3)) * -1.0 + t3new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 3, 5, 6), (0, 4, 1, 2, 5, 6)) + t3new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 3, 5, 6), (0, 4, 1, 5, 2, 6)) * -1.0 + t3new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 3, 5, 6), (0, 4, 1, 5, 6, 2)) + t3new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 3, 5, 6), (0, 1, 4, 2, 5, 6)) * -1.0 + t3new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 3, 5, 6), (0, 1, 4, 5, 2, 6)) + t3new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 3, 5, 6), (0, 1, 4, 5, 6, 2)) * -1.0 + t3new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 3, 5, 6), (4, 0, 1, 2, 5, 6)) * -1.0 + t3new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 3, 5, 6), (4, 0, 1, 5, 2, 6)) + t3new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 3, 5, 6), (4, 0, 1, 5, 6, 2)) * -1.0 + t3new += einsum(v.oooo, (0, 1, 2, 3), t3, (4, 2, 3, 5, 6, 7), (0, 1, 4, 5, 6, 7)) * 0.5 + t3new += einsum(v.oooo, (0, 1, 2, 3), t3, (4, 2, 3, 5, 6, 7), (0, 4, 1, 5, 6, 7)) * -0.5 + t3new += einsum(v.oooo, (0, 1, 2, 3), t3, (4, 2, 3, 5, 6, 7), (4, 0, 1, 5, 6, 7)) * 0.5 + t3new += einsum(v.ovov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 1), (0, 4, 5, 3, 6, 7)) * -1.0 + t3new += einsum(v.ovov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 1), (0, 4, 5, 6, 3, 7)) + t3new += einsum(v.ovov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 1), (0, 4, 5, 6, 7, 3)) * -1.0 + t3new += einsum(v.ovov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 1), (4, 0, 5, 3, 6, 7)) + t3new += einsum(v.ovov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 1), (4, 0, 5, 6, 3, 7)) * -1.0 + t3new += einsum(v.ovov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 1), (4, 0, 5, 6, 7, 3)) + t3new += einsum(v.ovov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 1), (4, 5, 0, 3, 6, 7)) * -1.0 + t3new += einsum(v.ovov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 1), (4, 5, 0, 6, 3, 7)) + t3new += einsum(v.ovov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 1), (4, 5, 0, 6, 7, 3)) * -1.0 + t3new += einsum(v.vvvv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 2, 3), (4, 5, 6, 0, 1, 7)) * 0.5 + t3new += einsum(v.vvvv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 2, 3), (4, 5, 6, 0, 7, 1)) * -0.5 + t3new += einsum(v.vvvv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 2, 3), (4, 5, 6, 7, 0, 1)) * 0.5 + t3new += einsum(v.ooov, (0, 1, 2, 3), t4, (4, 5, 0, 1, 6, 7, 8, 3), (2, 4, 5, 6, 7, 8)) * -0.5 + t3new += einsum(v.ooov, (0, 1, 2, 3), t4, (4, 5, 0, 1, 6, 7, 8, 3), (4, 2, 5, 6, 7, 8)) * 0.5 + t3new += einsum(v.ooov, (0, 1, 2, 3), t4, (4, 5, 0, 1, 6, 7, 8, 3), (4, 5, 2, 6, 7, 8)) * -0.5 + t3new += einsum(v.ovvv, (0, 1, 2, 3), t4, (4, 5, 6, 0, 7, 8, 2, 3), (4, 5, 6, 1, 7, 8)) * -0.5 + t3new += einsum(v.ovvv, (0, 1, 2, 3), t4, (4, 5, 6, 0, 7, 8, 2, 3), (4, 5, 6, 7, 1, 8)) * 0.5 + t3new += einsum(v.ovvv, (0, 1, 2, 3), t4, (4, 5, 6, 0, 7, 8, 2, 3), (4, 5, 6, 7, 8, 1)) * -0.5 + t3new += einsum(f.ov, (0, 1), t1, (2, 1), t3, (3, 4, 0, 5, 6, 7), (2, 3, 4, 5, 6, 7)) * -1.0 + t3new += einsum(f.ov, (0, 1), t1, (2, 1), t3, (3, 4, 0, 5, 6, 7), (3, 2, 4, 5, 6, 7)) + t3new += einsum(f.ov, (0, 1), t1, (2, 1), t3, (3, 4, 0, 5, 6, 7), (3, 4, 2, 5, 6, 7)) * -1.0 + t3new += einsum(f.ov, (0, 1), t1, (0, 2), t3, (3, 4, 5, 6, 7, 1), (3, 4, 5, 2, 6, 7)) * -1.0 + t3new += einsum(f.ov, (0, 1), t1, (0, 2), t3, (3, 4, 5, 6, 7, 1), (3, 4, 5, 6, 2, 7)) + t3new += einsum(f.ov, (0, 1), t1, (0, 2), t3, (3, 4, 5, 6, 7, 1), (3, 4, 5, 6, 7, 2)) * -1.0 + t3new += einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), t2, (5, 0, 6, 7), (2, 5, 3, 4, 6, 7)) * -1.0 + t3new += einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), t2, (5, 0, 6, 7), (2, 5, 3, 6, 4, 7)) + t3new += einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), t2, (5, 0, 6, 7), (2, 5, 3, 6, 7, 4)) * -1.0 + t3new += einsum(f.ov, (0, 1), t2, (2, 0, 3, 4), t2, (5, 6, 7, 1), (2, 5, 6, 3, 7, 4)) * -1.0 + t3new += einsum(f.ov, (0, 1), t2, (2, 0, 3, 4), t2, (5, 6, 7, 1), (2, 5, 6, 3, 4, 7)) + t3new += einsum(f.ov, (0, 1), t2, (2, 0, 3, 4), t2, (5, 6, 7, 1), (2, 5, 6, 7, 3, 4)) + t3new += einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), t2, (5, 0, 6, 7), (2, 3, 5, 4, 6, 7)) + t3new += einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), t2, (5, 0, 6, 7), (2, 3, 5, 6, 4, 7)) * -1.0 + t3new += einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), t2, (5, 0, 6, 7), (2, 3, 5, 6, 7, 4)) + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oooo, (6, 7, 0, 3), (2, 6, 7, 1, 4, 5)) * -1.0 + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oooo, (6, 7, 0, 3), (6, 2, 7, 1, 4, 5)) + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oooo, (6, 7, 0, 3), (6, 7, 2, 1, 4, 5)) * -1.0 + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oooo, (6, 7, 0, 3), (2, 6, 7, 4, 1, 5)) + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oooo, (6, 7, 0, 3), (6, 2, 7, 4, 1, 5)) * -1.0 + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oooo, (6, 7, 0, 3), (6, 7, 2, 4, 1, 5)) + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oooo, (6, 7, 0, 3), (2, 6, 7, 4, 5, 1)) * -1.0 + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oooo, (6, 7, 0, 3), (6, 2, 7, 4, 5, 1)) + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oooo, (6, 7, 0, 3), (6, 7, 2, 4, 5, 1)) * -1.0 + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ovov, (6, 1, 3, 7), (0, 2, 6, 4, 5, 7)) * -1.0 + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ovov, (6, 1, 3, 7), (0, 2, 6, 4, 7, 5)) + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ovov, (6, 1, 3, 7), (0, 2, 6, 7, 4, 5)) * -1.0 + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ovov, (6, 1, 3, 7), (0, 6, 2, 4, 5, 7)) + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ovov, (6, 1, 3, 7), (0, 6, 2, 4, 7, 5)) * -1.0 + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ovov, (6, 1, 3, 7), (0, 6, 2, 7, 4, 5)) + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ovov, (6, 1, 3, 7), (2, 0, 6, 4, 5, 7)) + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ovov, (6, 1, 3, 7), (2, 0, 6, 4, 7, 5)) * -1.0 + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ovov, (6, 1, 3, 7), (2, 0, 6, 7, 4, 5)) + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ovov, (6, 1, 3, 7), (6, 0, 2, 4, 5, 7)) * -1.0 + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ovov, (6, 1, 3, 7), (6, 0, 2, 4, 7, 5)) + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ovov, (6, 1, 3, 7), (6, 0, 2, 7, 4, 5)) * -1.0 + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ovov, (6, 1, 3, 7), (2, 6, 0, 4, 5, 7)) * -1.0 + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ovov, (6, 1, 3, 7), (2, 6, 0, 4, 7, 5)) + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ovov, (6, 1, 3, 7), (2, 6, 0, 7, 4, 5)) * -1.0 + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ovov, (6, 1, 3, 7), (6, 2, 0, 4, 5, 7)) + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ovov, (6, 1, 3, 7), (6, 2, 0, 4, 7, 5)) * -1.0 + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ovov, (6, 1, 3, 7), (6, 2, 0, 7, 4, 5)) + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ovov, (6, 5, 0, 7), (2, 6, 3, 1, 4, 7)) + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ovov, (6, 5, 0, 7), (2, 6, 3, 1, 7, 4)) * -1.0 + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ovov, (6, 5, 0, 7), (2, 3, 6, 1, 4, 7)) * -1.0 + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ovov, (6, 5, 0, 7), (2, 3, 6, 1, 7, 4)) + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ovov, (6, 5, 0, 7), (6, 2, 3, 1, 4, 7)) * -1.0 + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ovov, (6, 5, 0, 7), (6, 2, 3, 1, 7, 4)) + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ovov, (6, 5, 0, 7), (2, 6, 3, 4, 1, 7)) * -1.0 + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ovov, (6, 5, 0, 7), (2, 6, 3, 7, 1, 4)) + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ovov, (6, 5, 0, 7), (2, 3, 6, 4, 1, 7)) + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ovov, (6, 5, 0, 7), (2, 3, 6, 7, 1, 4)) * -1.0 + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ovov, (6, 5, 0, 7), (6, 2, 3, 4, 1, 7)) + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ovov, (6, 5, 0, 7), (6, 2, 3, 7, 1, 4)) * -1.0 + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ovov, (6, 5, 0, 7), (2, 6, 3, 4, 7, 1)) + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ovov, (6, 5, 0, 7), (2, 6, 3, 7, 4, 1)) * -1.0 + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ovov, (6, 5, 0, 7), (2, 3, 6, 4, 7, 1)) * -1.0 + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ovov, (6, 5, 0, 7), (2, 3, 6, 7, 4, 1)) + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ovov, (6, 5, 0, 7), (6, 2, 3, 4, 7, 1)) * -1.0 + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.ovov, (6, 5, 0, 7), (6, 2, 3, 7, 4, 1)) + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.vvvv, (6, 7, 1, 5), (0, 2, 3, 6, 7, 4)) * -1.0 + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.vvvv, (6, 7, 1, 5), (0, 2, 3, 6, 4, 7)) + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.vvvv, (6, 7, 1, 5), (0, 2, 3, 4, 6, 7)) * -1.0 + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.vvvv, (6, 7, 1, 5), (2, 0, 3, 6, 7, 4)) + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.vvvv, (6, 7, 1, 5), (2, 0, 3, 6, 4, 7)) * -1.0 + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.vvvv, (6, 7, 1, 5), (2, 0, 3, 4, 6, 7)) + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.vvvv, (6, 7, 1, 5), (2, 3, 0, 6, 7, 4)) * -1.0 + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.vvvv, (6, 7, 1, 5), (2, 3, 0, 6, 4, 7)) + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.vvvv, (6, 7, 1, 5), (2, 3, 0, 4, 6, 7)) * -1.0 + t3new += einsum(t1, (0, 1), v.ooov, (2, 3, 4, 1), t3, (5, 2, 3, 6, 7, 8), (0, 4, 5, 6, 7, 8)) * -0.5 + t3new += einsum(t1, (0, 1), v.ooov, (2, 3, 4, 1), t3, (5, 2, 3, 6, 7, 8), (0, 5, 4, 6, 7, 8)) * 0.5 + t3new += einsum(t1, (0, 1), v.ooov, (2, 3, 4, 1), t3, (5, 2, 3, 6, 7, 8), (4, 0, 5, 6, 7, 8)) * 0.5 + t3new += einsum(t1, (0, 1), v.ooov, (2, 3, 4, 1), t3, (5, 2, 3, 6, 7, 8), (5, 0, 4, 6, 7, 8)) * -0.5 + t3new += einsum(t1, (0, 1), v.ooov, (2, 3, 4, 1), t3, (5, 2, 3, 6, 7, 8), (4, 5, 0, 6, 7, 8)) * -0.5 + t3new += einsum(t1, (0, 1), v.ooov, (2, 3, 4, 1), t3, (5, 2, 3, 6, 7, 8), (5, 4, 0, 6, 7, 8)) * 0.5 + t3new += einsum(t1, (0, 1), v.ooov, (0, 2, 3, 4), t3, (5, 6, 2, 7, 8, 4), (3, 5, 6, 1, 7, 8)) * -1.0 + t3new += einsum(t1, (0, 1), v.ooov, (0, 2, 3, 4), t3, (5, 6, 2, 7, 8, 4), (5, 3, 6, 1, 7, 8)) + t3new += einsum(t1, (0, 1), v.ooov, (0, 2, 3, 4), t3, (5, 6, 2, 7, 8, 4), (5, 6, 3, 1, 7, 8)) * -1.0 + t3new += einsum(t1, (0, 1), v.ooov, (0, 2, 3, 4), t3, (5, 6, 2, 7, 8, 4), (3, 5, 6, 7, 1, 8)) + t3new += einsum(t1, (0, 1), v.ooov, (0, 2, 3, 4), t3, (5, 6, 2, 7, 8, 4), (5, 3, 6, 7, 1, 8)) * -1.0 + t3new += einsum(t1, (0, 1), v.ooov, (0, 2, 3, 4), t3, (5, 6, 2, 7, 8, 4), (5, 6, 3, 7, 1, 8)) + t3new += einsum(t1, (0, 1), v.ooov, (0, 2, 3, 4), t3, (5, 6, 2, 7, 8, 4), (3, 5, 6, 7, 8, 1)) * -1.0 + t3new += einsum(t1, (0, 1), v.ooov, (0, 2, 3, 4), t3, (5, 6, 2, 7, 8, 4), (5, 3, 6, 7, 8, 1)) + t3new += einsum(t1, (0, 1), v.ooov, (0, 2, 3, 4), t3, (5, 6, 2, 7, 8, 4), (5, 6, 3, 7, 8, 1)) * -1.0 + t3new += einsum(t1, (0, 1), v.ooov, (0, 2, 3, 1), t3, (4, 5, 2, 6, 7, 8), (3, 4, 5, 6, 7, 8)) + t3new += einsum(t1, (0, 1), v.ooov, (0, 2, 3, 1), t3, (4, 5, 2, 6, 7, 8), (4, 3, 5, 6, 7, 8)) * -1.0 + t3new += einsum(t1, (0, 1), v.ooov, (0, 2, 3, 1), t3, (4, 5, 2, 6, 7, 8), (4, 5, 3, 6, 7, 8)) + t3new += einsum(t1, (0, 1), v.ovvv, (2, 3, 1, 4), t3, (5, 6, 2, 7, 8, 4), (0, 5, 6, 3, 7, 8)) * -1.0 + t3new += einsum(t1, (0, 1), v.ovvv, (2, 3, 1, 4), t3, (5, 6, 2, 7, 8, 4), (0, 5, 6, 7, 3, 8)) + t3new += einsum(t1, (0, 1), v.ovvv, (2, 3, 1, 4), t3, (5, 6, 2, 7, 8, 4), (0, 5, 6, 7, 8, 3)) * -1.0 + t3new += einsum(t1, (0, 1), v.ovvv, (2, 3, 1, 4), t3, (5, 6, 2, 7, 8, 4), (5, 0, 6, 3, 7, 8)) + t3new += einsum(t1, (0, 1), v.ovvv, (2, 3, 1, 4), t3, (5, 6, 2, 7, 8, 4), (5, 0, 6, 7, 3, 8)) * -1.0 + t3new += einsum(t1, (0, 1), v.ovvv, (2, 3, 1, 4), t3, (5, 6, 2, 7, 8, 4), (5, 0, 6, 7, 8, 3)) + t3new += einsum(t1, (0, 1), v.ovvv, (2, 3, 1, 4), t3, (5, 6, 2, 7, 8, 4), (5, 6, 0, 3, 7, 8)) * -1.0 + t3new += einsum(t1, (0, 1), v.ovvv, (2, 3, 1, 4), t3, (5, 6, 2, 7, 8, 4), (5, 6, 0, 7, 3, 8)) + t3new += einsum(t1, (0, 1), v.ovvv, (2, 3, 1, 4), t3, (5, 6, 2, 7, 8, 4), (5, 6, 0, 7, 8, 3)) * -1.0 + t3new += einsum(t1, (0, 1), v.ovvv, (0, 2, 3, 4), t3, (5, 6, 7, 8, 3, 4), (5, 6, 7, 1, 2, 8)) * -0.5 + t3new += einsum(t1, (0, 1), v.ovvv, (0, 2, 3, 4), t3, (5, 6, 7, 8, 3, 4), (5, 6, 7, 1, 8, 2)) * 0.5 + t3new += einsum(t1, (0, 1), v.ovvv, (0, 2, 3, 4), t3, (5, 6, 7, 8, 3, 4), (5, 6, 7, 2, 1, 8)) * 0.5 + t3new += einsum(t1, (0, 1), v.ovvv, (0, 2, 3, 4), t3, (5, 6, 7, 8, 3, 4), (5, 6, 7, 8, 1, 2)) * -0.5 + t3new += einsum(t1, (0, 1), v.ovvv, (0, 2, 3, 4), t3, (5, 6, 7, 8, 3, 4), (5, 6, 7, 2, 8, 1)) * -0.5 + t3new += einsum(t1, (0, 1), v.ovvv, (0, 2, 3, 4), t3, (5, 6, 7, 8, 3, 4), (5, 6, 7, 8, 2, 1)) * 0.5 + t3new += einsum(t1, (0, 1), v.ovvv, (0, 2, 1, 3), t3, (4, 5, 6, 7, 8, 3), (4, 5, 6, 2, 7, 8)) + t3new += einsum(t1, (0, 1), v.ovvv, (0, 2, 1, 3), t3, (4, 5, 6, 7, 8, 3), (4, 5, 6, 7, 2, 8)) * -1.0 + t3new += einsum(t1, (0, 1), v.ovvv, (0, 2, 1, 3), t3, (4, 5, 6, 7, 8, 3), (4, 5, 6, 7, 8, 2)) + t3new += einsum(t1, (0, 1), v.oovv, (2, 3, 1, 4), t4, (5, 6, 2, 3, 7, 8, 9, 4), (0, 5, 6, 7, 8, 9)) * -0.5 + t3new += einsum(t1, (0, 1), v.oovv, (2, 3, 1, 4), t4, (5, 6, 2, 3, 7, 8, 9, 4), (5, 0, 6, 7, 8, 9)) * 0.5 + t3new += einsum(t1, (0, 1), v.oovv, (2, 3, 1, 4), t4, (5, 6, 2, 3, 7, 8, 9, 4), (5, 6, 0, 7, 8, 9)) * -0.5 + t3new += einsum(t1, (0, 1), v.oovv, (0, 2, 3, 4), t4, (5, 6, 7, 2, 8, 9, 3, 4), (5, 6, 7, 1, 8, 9)) * -0.5 + t3new += einsum(t1, (0, 1), v.oovv, (0, 2, 3, 4), t4, (5, 6, 7, 2, 8, 9, 3, 4), (5, 6, 7, 8, 1, 9)) * 0.5 + t3new += einsum(t1, (0, 1), v.oovv, (0, 2, 3, 4), t4, (5, 6, 7, 2, 8, 9, 3, 4), (5, 6, 7, 8, 9, 1)) * -0.5 + t3new += einsum(t1, (0, 1), v.oovv, (0, 2, 1, 3), t4, (4, 5, 6, 2, 7, 8, 9, 3), (4, 5, 6, 7, 8, 9)) + t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ooov, (1, 5, 8, 7), (0, 4, 8, 2, 6, 3)) * -1.0 + t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ooov, (1, 5, 8, 3), (0, 4, 8, 2, 6, 7)) + t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ooov, (1, 5, 8, 7), (0, 4, 8, 2, 3, 6)) + t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ooov, (1, 5, 8, 7), (0, 4, 8, 6, 2, 3)) + t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ooov, (1, 5, 8, 3), (0, 4, 8, 6, 2, 7)) * -1.0 + t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ooov, (1, 5, 8, 3), (0, 4, 8, 6, 7, 2)) + t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ooov, (1, 5, 8, 7), (0, 8, 4, 2, 6, 3)) + t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ooov, (1, 5, 8, 3), (0, 8, 4, 2, 6, 7)) * -1.0 + t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ooov, (1, 5, 8, 7), (0, 8, 4, 2, 3, 6)) * -1.0 + t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ooov, (1, 5, 8, 7), (0, 8, 4, 6, 2, 3)) * -1.0 + t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ooov, (1, 5, 8, 3), (0, 8, 4, 6, 2, 7)) + t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ooov, (1, 5, 8, 3), (0, 8, 4, 6, 7, 2)) * -1.0 + t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ooov, (4, 5, 8, 3), (0, 1, 8, 2, 6, 7)) * -0.5 + t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ooov, (4, 5, 8, 3), (0, 1, 8, 6, 2, 7)) * 0.5 + t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ooov, (4, 5, 8, 3), (0, 1, 8, 6, 7, 2)) * -0.5 + t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ooov, (4, 5, 8, 3), (0, 8, 1, 2, 6, 7)) * 0.5 + t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ooov, (4, 5, 8, 3), (0, 8, 1, 6, 2, 7)) * -0.5 + t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ooov, (4, 5, 8, 3), (0, 8, 1, 6, 7, 2)) * 0.5 + t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ooov, (1, 5, 8, 7), (8, 0, 4, 2, 6, 3)) * -1.0 + t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ooov, (1, 5, 8, 3), (8, 0, 4, 2, 6, 7)) + t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ooov, (1, 5, 8, 7), (8, 0, 4, 2, 3, 6)) + t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ooov, (1, 5, 8, 7), (8, 0, 4, 6, 2, 3)) + t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ooov, (1, 5, 8, 3), (8, 0, 4, 6, 2, 7)) * -1.0 + t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ooov, (1, 5, 8, 3), (8, 0, 4, 6, 7, 2)) + t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ooov, (4, 5, 8, 3), (8, 0, 1, 2, 6, 7)) * -0.5 + t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ooov, (4, 5, 8, 3), (8, 0, 1, 6, 2, 7)) * 0.5 + t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ooov, (4, 5, 8, 3), (8, 0, 1, 6, 7, 2)) * -0.5 + t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovvv, (5, 8, 3, 7), (0, 4, 1, 8, 2, 6)) * -1.0 + t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovvv, (5, 8, 3, 7), (0, 4, 1, 8, 6, 2)) + t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovvv, (5, 8, 2, 3), (0, 4, 1, 8, 6, 7)) * 0.5 + t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovvv, (5, 8, 3, 7), (0, 4, 1, 2, 8, 6)) + t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovvv, (5, 8, 3, 7), (0, 4, 1, 6, 8, 2)) * -1.0 + t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovvv, (5, 8, 2, 3), (0, 4, 1, 6, 8, 7)) * -0.5 + t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovvv, (5, 8, 3, 7), (0, 4, 1, 2, 6, 8)) * -1.0 + t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovvv, (5, 8, 3, 7), (0, 4, 1, 6, 2, 8)) + t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovvv, (5, 8, 2, 3), (0, 4, 1, 6, 7, 8)) * 0.5 + t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovvv, (1, 8, 3, 7), (0, 4, 5, 8, 2, 6)) + t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovvv, (1, 8, 6, 7), (0, 4, 5, 8, 2, 3)) * -0.5 + t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovvv, (1, 8, 3, 7), (0, 4, 5, 8, 6, 2)) * -1.0 + t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovvv, (1, 8, 3, 7), (0, 4, 5, 2, 8, 6)) * -1.0 + t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovvv, (1, 8, 6, 7), (0, 4, 5, 2, 8, 3)) * 0.5 + t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovvv, (1, 8, 3, 7), (0, 4, 5, 6, 8, 2)) + t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovvv, (1, 8, 3, 7), (0, 4, 5, 2, 6, 8)) + t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovvv, (1, 8, 6, 7), (0, 4, 5, 2, 3, 8)) * -0.5 + t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovvv, (1, 8, 3, 7), (0, 4, 5, 6, 2, 8)) * -1.0 + t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovvv, (5, 8, 3, 7), (0, 1, 4, 8, 2, 6)) + t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovvv, (5, 8, 3, 7), (0, 1, 4, 8, 6, 2)) * -1.0 + t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovvv, (5, 8, 2, 3), (0, 1, 4, 8, 6, 7)) * -0.5 + t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovvv, (5, 8, 3, 7), (0, 1, 4, 2, 8, 6)) * -1.0 + t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovvv, (5, 8, 3, 7), (0, 1, 4, 6, 8, 2)) + t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovvv, (5, 8, 2, 3), (0, 1, 4, 6, 8, 7)) * 0.5 + t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovvv, (5, 8, 3, 7), (0, 1, 4, 2, 6, 8)) + t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovvv, (5, 8, 3, 7), (0, 1, 4, 6, 2, 8)) * -1.0 + t3new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovvv, (5, 8, 2, 3), (0, 1, 4, 6, 7, 8)) * -0.5 + t3new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 3, 6), t3, (7, 4, 5, 8, 9, 6), (0, 1, 7, 2, 8, 9)) * 0.5 + t3new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 3, 6), t3, (7, 4, 5, 8, 9, 6), (0, 1, 7, 8, 2, 9)) * -0.5 + t3new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 3, 6), t3, (7, 4, 5, 8, 9, 6), (0, 1, 7, 8, 9, 2)) * 0.5 + t3new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 2, 3), t3, (6, 4, 5, 7, 8, 9), (0, 1, 6, 7, 8, 9)) * 0.25 + t3new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 3, 6), t3, (7, 4, 5, 8, 9, 6), (0, 7, 1, 2, 8, 9)) * -0.5 + t3new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 3, 6), t3, (7, 4, 5, 8, 9, 6), (0, 7, 1, 8, 2, 9)) * 0.5 + t3new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 3, 6), t3, (7, 4, 5, 8, 9, 6), (0, 7, 1, 8, 9, 2)) * -0.5 + t3new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 2, 3), t3, (6, 4, 5, 7, 8, 9), (0, 6, 1, 7, 8, 9)) * -0.25 + t3new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 5, 6), t3, (7, 8, 4, 9, 5, 6), (0, 7, 8, 2, 3, 9)) * 0.5 + t3new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 5, 6), t3, (7, 8, 4, 9, 5, 6), (0, 7, 8, 2, 9, 3)) * -0.5 + t3new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 3, 5), t3, (6, 7, 4, 8, 9, 5), (0, 6, 7, 2, 8, 9)) + t3new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 5, 6), t3, (7, 8, 4, 9, 5, 6), (0, 7, 8, 9, 2, 3)) * 0.5 + t3new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 3, 5), t3, (6, 7, 4, 8, 9, 5), (0, 6, 7, 8, 2, 9)) * -1.0 + t3new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 3, 5), t3, (6, 7, 4, 8, 9, 5), (0, 6, 7, 8, 9, 2)) + t3new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 2, 3), t3, (5, 6, 4, 7, 8, 9), (0, 5, 6, 7, 8, 9)) * 0.5 + t3new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 3, 6), t3, (7, 4, 5, 8, 9, 6), (7, 0, 1, 2, 8, 9)) * 0.5 + t3new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 3, 6), t3, (7, 4, 5, 8, 9, 6), (7, 0, 1, 8, 2, 9)) * -0.5 + t3new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 3, 6), t3, (7, 4, 5, 8, 9, 6), (7, 0, 1, 8, 9, 2)) * 0.5 + t3new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 2, 3), t3, (6, 4, 5, 7, 8, 9), (6, 0, 1, 7, 8, 9)) * 0.25 + t3new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 5, 6), t3, (7, 8, 4, 9, 5, 6), (7, 0, 8, 2, 3, 9)) * -0.5 + t3new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 5, 6), t3, (7, 8, 4, 9, 5, 6), (7, 0, 8, 2, 9, 3)) * 0.5 + t3new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 3, 5), t3, (6, 7, 4, 8, 9, 5), (6, 0, 7, 2, 8, 9)) * -1.0 + t3new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 5, 6), t3, (7, 8, 4, 9, 5, 6), (7, 0, 8, 9, 2, 3)) * -0.5 + t3new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 3, 5), t3, (6, 7, 4, 8, 9, 5), (6, 0, 7, 8, 2, 9)) + t3new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 3, 5), t3, (6, 7, 4, 8, 9, 5), (6, 0, 7, 8, 9, 2)) * -1.0 + t3new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 2, 3), t3, (5, 6, 4, 7, 8, 9), (5, 0, 6, 7, 8, 9)) * -0.5 + t3new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 5, 6), t3, (7, 8, 4, 9, 5, 6), (7, 8, 0, 2, 3, 9)) * 0.5 + t3new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 5, 6), t3, (7, 8, 4, 9, 5, 6), (7, 8, 0, 2, 9, 3)) * -0.5 + t3new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 3, 5), t3, (6, 7, 4, 8, 9, 5), (6, 7, 0, 2, 8, 9)) + t3new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 5, 6), t3, (7, 8, 4, 9, 5, 6), (7, 8, 0, 9, 2, 3)) * 0.5 + t3new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 3, 5), t3, (6, 7, 4, 8, 9, 5), (6, 7, 0, 8, 2, 9)) * -1.0 + t3new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 3, 5), t3, (6, 7, 4, 8, 9, 5), (6, 7, 0, 8, 9, 2)) + t3new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 2, 3), t3, (5, 6, 4, 7, 8, 9), (5, 6, 0, 7, 8, 9)) * 0.5 + t3new += einsum(t2, (0, 1, 2, 3), v.oovv, (0, 1, 4, 5), t3, (6, 7, 8, 9, 4, 5), (6, 7, 8, 2, 3, 9)) * 0.25 + t3new += einsum(t2, (0, 1, 2, 3), v.oovv, (0, 1, 4, 5), t3, (6, 7, 8, 9, 4, 5), (6, 7, 8, 2, 9, 3)) * -0.25 + t3new += einsum(t2, (0, 1, 2, 3), v.oovv, (0, 1, 3, 4), t3, (5, 6, 7, 8, 9, 4), (5, 6, 7, 2, 8, 9)) * 0.5 + t3new += einsum(t2, (0, 1, 2, 3), v.oovv, (0, 1, 4, 5), t3, (6, 7, 8, 9, 4, 5), (6, 7, 8, 9, 2, 3)) * 0.25 + t3new += einsum(t2, (0, 1, 2, 3), v.oovv, (0, 1, 3, 4), t3, (5, 6, 7, 8, 9, 4), (5, 6, 7, 8, 2, 9)) * -0.5 + t3new += einsum(t2, (0, 1, 2, 3), v.oovv, (0, 1, 3, 4), t3, (5, 6, 7, 8, 9, 4), (5, 6, 7, 8, 9, 2)) * 0.5 + t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ooov, (2, 5, 8, 1), (0, 4, 8, 3, 6, 7)) * -1.0 + t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ooov, (2, 5, 8, 1), (0, 8, 4, 3, 6, 7)) + t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ooov, (2, 5, 8, 1), (0, 4, 8, 6, 3, 7)) + t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ooov, (2, 5, 8, 1), (0, 8, 4, 6, 3, 7)) * -1.0 + t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ooov, (2, 5, 8, 1), (0, 4, 8, 6, 7, 3)) * -1.0 + t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ooov, (2, 5, 8, 1), (0, 8, 4, 6, 7, 3)) + t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ooov, (2, 5, 8, 1), (4, 0, 8, 3, 6, 7)) + t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ooov, (2, 5, 8, 1), (8, 0, 4, 3, 6, 7)) * -1.0 + t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ooov, (2, 5, 8, 1), (4, 0, 8, 6, 3, 7)) * -1.0 + t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ooov, (2, 5, 8, 1), (8, 0, 4, 6, 3, 7)) + t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ooov, (2, 5, 8, 1), (4, 0, 8, 6, 7, 3)) + t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ooov, (2, 5, 8, 1), (8, 0, 4, 6, 7, 3)) * -1.0 + t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ooov, (2, 5, 8, 1), (4, 8, 0, 3, 6, 7)) * -1.0 + t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ooov, (2, 5, 8, 1), (8, 4, 0, 3, 6, 7)) + t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ooov, (2, 5, 8, 1), (4, 8, 0, 6, 3, 7)) + t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ooov, (2, 5, 8, 1), (8, 4, 0, 6, 3, 7)) * -1.0 + t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ooov, (2, 5, 8, 1), (4, 8, 0, 6, 7, 3)) * -1.0 + t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ooov, (2, 5, 8, 1), (8, 4, 0, 6, 7, 3)) + t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ooov, (0, 2, 8, 7), (4, 5, 8, 1, 3, 6)) * -1.0 + t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ooov, (0, 2, 8, 7), (4, 8, 5, 1, 3, 6)) + t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ooov, (0, 2, 8, 7), (8, 4, 5, 1, 3, 6)) * -1.0 + t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ooov, (0, 2, 8, 7), (4, 5, 8, 1, 6, 3)) + t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ooov, (0, 2, 8, 7), (4, 8, 5, 1, 6, 3)) * -1.0 + t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ooov, (0, 2, 8, 7), (8, 4, 5, 1, 6, 3)) + t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ooov, (0, 2, 8, 7), (4, 5, 8, 6, 1, 3)) * -1.0 + t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ooov, (0, 2, 8, 7), (4, 8, 5, 6, 1, 3)) + t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ooov, (0, 2, 8, 7), (8, 4, 5, 6, 1, 3)) * -1.0 + t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ovvv, (5, 8, 1, 3), (0, 2, 4, 8, 6, 7)) * -1.0 + t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ovvv, (5, 8, 1, 3), (0, 2, 4, 6, 8, 7)) + t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ovvv, (5, 8, 1, 3), (0, 2, 4, 6, 7, 8)) * -1.0 + t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ovvv, (5, 8, 1, 3), (0, 4, 2, 8, 6, 7)) + t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ovvv, (5, 8, 1, 3), (0, 4, 2, 6, 8, 7)) * -1.0 + t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ovvv, (5, 8, 1, 3), (0, 4, 2, 6, 7, 8)) + t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ovvv, (2, 8, 1, 7), (0, 4, 5, 3, 8, 6)) + t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ovvv, (2, 8, 1, 7), (0, 4, 5, 3, 6, 8)) * -1.0 + t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ovvv, (2, 8, 1, 7), (0, 4, 5, 8, 3, 6)) * -1.0 + t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ovvv, (2, 8, 1, 7), (0, 4, 5, 6, 3, 8)) + t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ovvv, (2, 8, 1, 7), (0, 4, 5, 8, 6, 3)) + t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ovvv, (2, 8, 1, 7), (0, 4, 5, 6, 8, 3)) * -1.0 + t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ovvv, (5, 8, 1, 3), (4, 0, 2, 8, 6, 7)) * -1.0 + t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ovvv, (5, 8, 1, 3), (4, 0, 2, 6, 8, 7)) + t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ovvv, (5, 8, 1, 3), (4, 0, 2, 6, 7, 8)) * -1.0 + t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ovvv, (2, 8, 1, 7), (4, 0, 5, 3, 8, 6)) * -1.0 + t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ovvv, (2, 8, 1, 7), (4, 0, 5, 3, 6, 8)) + t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ovvv, (2, 8, 1, 7), (4, 0, 5, 8, 3, 6)) + t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ovvv, (2, 8, 1, 7), (4, 0, 5, 6, 3, 8)) * -1.0 + t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ovvv, (2, 8, 1, 7), (4, 0, 5, 8, 6, 3)) * -1.0 + t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ovvv, (2, 8, 1, 7), (4, 0, 5, 6, 8, 3)) + t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ovvv, (2, 8, 1, 7), (4, 5, 0, 3, 8, 6)) + t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ovvv, (2, 8, 1, 7), (4, 5, 0, 3, 6, 8)) * -1.0 + t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ovvv, (2, 8, 1, 7), (4, 5, 0, 8, 3, 6)) * -1.0 + t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ovvv, (2, 8, 1, 7), (4, 5, 0, 6, 3, 8)) + t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ovvv, (2, 8, 1, 7), (4, 5, 0, 8, 6, 3)) + t3new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), v.ovvv, (2, 8, 1, 7), (4, 5, 0, 6, 8, 3)) * -1.0 + t3new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (4, 5, 1, 3), t3, (6, 4, 5, 7, 8, 9), (0, 2, 6, 7, 8, 9)) * 0.5 + t3new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (4, 5, 1, 3), t3, (6, 4, 5, 7, 8, 9), (0, 6, 2, 7, 8, 9)) * -0.5 + t3new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (2, 4, 1, 5), t3, (6, 7, 4, 8, 9, 5), (0, 6, 7, 3, 8, 9)) * -1.0 + t3new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (2, 4, 1, 5), t3, (6, 7, 4, 8, 9, 5), (0, 6, 7, 8, 3, 9)) + t3new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (2, 4, 1, 5), t3, (6, 7, 4, 8, 9, 5), (0, 6, 7, 8, 9, 3)) * -1.0 + t3new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (2, 4, 1, 3), t3, (5, 6, 4, 7, 8, 9), (0, 5, 6, 7, 8, 9)) + t3new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (4, 5, 1, 3), t3, (6, 4, 5, 7, 8, 9), (6, 0, 2, 7, 8, 9)) * 0.5 + t3new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (2, 4, 1, 5), t3, (6, 7, 4, 8, 9, 5), (6, 0, 7, 3, 8, 9)) + t3new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (2, 4, 1, 5), t3, (6, 7, 4, 8, 9, 5), (6, 0, 7, 8, 3, 9)) * -1.0 + t3new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (2, 4, 1, 5), t3, (6, 7, 4, 8, 9, 5), (6, 0, 7, 8, 9, 3)) + t3new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (2, 4, 1, 3), t3, (5, 6, 4, 7, 8, 9), (5, 0, 6, 7, 8, 9)) * -1.0 + t3new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (2, 4, 1, 5), t3, (6, 7, 4, 8, 9, 5), (6, 7, 0, 3, 8, 9)) * -1.0 + t3new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (2, 4, 1, 5), t3, (6, 7, 4, 8, 9, 5), (6, 7, 0, 8, 3, 9)) + t3new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (2, 4, 1, 5), t3, (6, 7, 4, 8, 9, 5), (6, 7, 0, 8, 9, 3)) * -1.0 + t3new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (2, 4, 1, 3), t3, (5, 6, 4, 7, 8, 9), (5, 6, 0, 7, 8, 9)) + t3new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (0, 2, 4, 5), t3, (6, 7, 8, 9, 4, 5), (6, 7, 8, 1, 3, 9)) * 0.5 + t3new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (0, 2, 4, 5), t3, (6, 7, 8, 9, 4, 5), (6, 7, 8, 1, 9, 3)) * -0.5 + t3new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (0, 2, 4, 5), t3, (6, 7, 8, 9, 4, 5), (6, 7, 8, 9, 1, 3)) * 0.5 + t3new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (0, 2, 1, 4), t3, (5, 6, 7, 8, 9, 4), (5, 6, 7, 3, 8, 9)) * -1.0 + t3new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (0, 2, 1, 4), t3, (5, 6, 7, 8, 9, 4), (5, 6, 7, 8, 3, 9)) + t3new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (0, 2, 1, 4), t3, (5, 6, 7, 8, 9, 4), (5, 6, 7, 8, 9, 3)) * -1.0 + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (3, 7, 1, 9), (0, 2, 6, 4, 8, 5)) * -1.0 + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (3, 7, 1, 5), (0, 2, 6, 4, 8, 9)) + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (3, 7, 1, 9), (0, 2, 6, 4, 5, 8)) + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (3, 7, 1, 9), (0, 2, 6, 8, 4, 5)) + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (3, 7, 1, 5), (0, 2, 6, 8, 4, 9)) * -1.0 + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (3, 7, 1, 5), (0, 2, 6, 8, 9, 4)) + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (6, 7, 1, 5), (0, 2, 3, 4, 8, 9)) * -0.5 + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (6, 7, 1, 5), (0, 2, 3, 8, 4, 9)) * 0.5 + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (6, 7, 1, 5), (0, 2, 3, 8, 9, 4)) * -0.5 + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (3, 7, 1, 9), (2, 0, 6, 4, 8, 5)) + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (3, 7, 1, 5), (2, 0, 6, 4, 8, 9)) * -1.0 + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (3, 7, 1, 9), (2, 0, 6, 4, 5, 8)) * -1.0 + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (3, 7, 1, 9), (2, 0, 6, 8, 4, 5)) * -1.0 + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (3, 7, 1, 5), (2, 0, 6, 8, 4, 9)) + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (3, 7, 1, 5), (2, 0, 6, 8, 9, 4)) * -1.0 + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (6, 7, 1, 5), (2, 0, 3, 4, 8, 9)) * 0.5 + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (6, 7, 1, 5), (2, 0, 3, 8, 4, 9)) * -0.5 + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (6, 7, 1, 5), (2, 0, 3, 8, 9, 4)) * 0.5 + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (3, 7, 1, 9), (2, 6, 0, 4, 8, 5)) * -1.0 + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (3, 7, 1, 5), (2, 6, 0, 4, 8, 9)) + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (3, 7, 1, 9), (2, 6, 0, 4, 5, 8)) + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (3, 7, 1, 9), (2, 6, 0, 8, 4, 5)) + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (3, 7, 1, 5), (2, 6, 0, 8, 4, 9)) * -1.0 + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (3, 7, 1, 5), (2, 6, 0, 8, 9, 4)) + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (6, 7, 1, 5), (2, 3, 0, 4, 8, 9)) * -0.5 + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (6, 7, 1, 5), (2, 3, 0, 8, 4, 9)) * 0.5 + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (6, 7, 1, 5), (2, 3, 0, 8, 9, 4)) * -0.5 + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (0, 7, 5, 9), (2, 6, 3, 1, 4, 8)) * -1.0 + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (0, 7, 5, 9), (2, 6, 3, 1, 8, 4)) + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (0, 7, 4, 5), (2, 6, 3, 1, 8, 9)) * 0.5 + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (0, 3, 5, 9), (2, 6, 7, 1, 4, 8)) + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (0, 3, 8, 9), (2, 6, 7, 1, 4, 5)) * -0.5 + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (0, 3, 5, 9), (2, 6, 7, 1, 8, 4)) * -1.0 + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (0, 7, 5, 9), (2, 3, 6, 1, 4, 8)) + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (0, 7, 5, 9), (2, 3, 6, 1, 8, 4)) * -1.0 + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (0, 7, 4, 5), (2, 3, 6, 1, 8, 9)) * -0.5 + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (0, 7, 5, 9), (2, 6, 3, 4, 1, 8)) + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (0, 7, 5, 9), (2, 6, 3, 8, 1, 4)) * -1.0 + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (0, 7, 4, 5), (2, 6, 3, 8, 1, 9)) * -0.5 + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (0, 3, 5, 9), (2, 6, 7, 4, 1, 8)) * -1.0 + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (0, 3, 8, 9), (2, 6, 7, 4, 1, 5)) * 0.5 + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (0, 3, 5, 9), (2, 6, 7, 8, 1, 4)) + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (0, 7, 5, 9), (2, 3, 6, 4, 1, 8)) * -1.0 + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (0, 7, 5, 9), (2, 3, 6, 8, 1, 4)) + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (0, 7, 4, 5), (2, 3, 6, 8, 1, 9)) * 0.5 + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (0, 7, 5, 9), (2, 6, 3, 4, 8, 1)) * -1.0 + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (0, 7, 5, 9), (2, 6, 3, 8, 4, 1)) + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (0, 7, 4, 5), (2, 6, 3, 8, 9, 1)) * 0.5 + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (0, 3, 5, 9), (2, 6, 7, 4, 8, 1)) + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (0, 3, 8, 9), (2, 6, 7, 4, 5, 1)) * -0.5 + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (0, 3, 5, 9), (2, 6, 7, 8, 4, 1)) * -1.0 + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (0, 7, 5, 9), (2, 3, 6, 4, 8, 1)) + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (0, 7, 5, 9), (2, 3, 6, 8, 4, 1)) * -1.0 + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (0, 7, 4, 5), (2, 3, 6, 8, 9, 1)) * -0.5 + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (0, 7, 1, 5), (2, 6, 3, 4, 8, 9)) * -1.0 + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (0, 7, 1, 5), (2, 6, 3, 8, 4, 9)) + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (0, 7, 1, 5), (2, 6, 3, 8, 9, 4)) * -1.0 + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (0, 3, 1, 9), (2, 6, 7, 4, 8, 5)) * -1.0 + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (0, 3, 1, 9), (2, 6, 7, 4, 5, 8)) + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (0, 3, 1, 9), (2, 6, 7, 8, 4, 5)) + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (0, 7, 1, 5), (2, 3, 6, 4, 8, 9)) + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (0, 7, 1, 5), (2, 3, 6, 8, 4, 9)) * -1.0 + t3new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.oovv, (0, 7, 1, 5), (2, 3, 6, 8, 9, 4)) + t3new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), t2, (6, 7, 8, 9), v.oovv, (4, 7, 1, 3), (0, 2, 6, 5, 8, 9)) * -1.0 + t3new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), t2, (6, 7, 8, 9), v.oovv, (4, 7, 1, 3), (0, 2, 6, 8, 5, 9)) + t3new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), t2, (6, 7, 8, 9), v.oovv, (4, 7, 1, 3), (0, 2, 6, 8, 9, 5)) * -1.0 + t3new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), t2, (6, 7, 8, 9), v.oovv, (4, 7, 1, 3), (0, 6, 2, 5, 8, 9)) + t3new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), t2, (6, 7, 8, 9), v.oovv, (4, 7, 1, 3), (0, 6, 2, 8, 5, 9)) * -1.0 + t3new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), t2, (6, 7, 8, 9), v.oovv, (4, 7, 1, 3), (0, 6, 2, 8, 9, 5)) + t3new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), t2, (6, 7, 8, 9), v.oovv, (2, 4, 1, 9), (0, 6, 7, 3, 5, 8)) * -1.0 + t3new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), t2, (6, 7, 8, 9), v.oovv, (2, 4, 1, 9), (0, 6, 7, 3, 8, 5)) + t3new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), t2, (6, 7, 8, 9), v.oovv, (2, 4, 1, 9), (0, 6, 7, 8, 3, 5)) * -1.0 + t3new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), t2, (6, 7, 8, 9), v.oovv, (4, 7, 1, 3), (6, 0, 2, 5, 8, 9)) * -1.0 + t3new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), t2, (6, 7, 8, 9), v.oovv, (4, 7, 1, 3), (6, 0, 2, 8, 5, 9)) + t3new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), t2, (6, 7, 8, 9), v.oovv, (4, 7, 1, 3), (6, 0, 2, 8, 9, 5)) * -1.0 + t3new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), t2, (6, 7, 8, 9), v.oovv, (2, 4, 1, 9), (6, 0, 7, 3, 5, 8)) + t3new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), t2, (6, 7, 8, 9), v.oovv, (2, 4, 1, 9), (6, 0, 7, 3, 8, 5)) * -1.0 + t3new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), t2, (6, 7, 8, 9), v.oovv, (2, 4, 1, 9), (6, 0, 7, 8, 3, 5)) + t3new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), t2, (6, 7, 8, 9), v.oovv, (2, 4, 1, 9), (6, 7, 0, 3, 5, 8)) * -1.0 + t3new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), t2, (6, 7, 8, 9), v.oovv, (2, 4, 1, 9), (6, 7, 0, 3, 8, 5)) + t3new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), t2, (6, 7, 8, 9), v.oovv, (2, 4, 1, 9), (6, 7, 0, 8, 3, 5)) * -1.0 + t4new = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir, nvir, nvir), dtype=types[float]) + t4new += einsum(f.oo, (0, 1), t4, (2, 3, 4, 1, 5, 6, 7, 8), (0, 2, 3, 4, 5, 6, 7, 8)) + t4new += einsum(f.oo, (0, 1), t4, (2, 3, 4, 1, 5, 6, 7, 8), (2, 0, 3, 4, 5, 6, 7, 8)) * -1.0 + t4new += einsum(f.oo, (0, 1), t4, (2, 3, 4, 1, 5, 6, 7, 8), (2, 3, 0, 4, 5, 6, 7, 8)) + t4new += einsum(f.oo, (0, 1), t4, (2, 3, 4, 1, 5, 6, 7, 8), (2, 3, 4, 0, 5, 6, 7, 8)) * -1.0 + t4new += einsum(f.vv, (0, 1), t4, (2, 3, 4, 5, 6, 7, 8, 1), (2, 3, 4, 5, 0, 6, 7, 8)) * -1.0 + t4new += einsum(f.vv, (0, 1), t4, (2, 3, 4, 5, 6, 7, 8, 1), (2, 3, 4, 5, 6, 0, 7, 8)) + t4new += einsum(f.vv, (0, 1), t4, (2, 3, 4, 5, 6, 7, 8, 1), (2, 3, 4, 5, 6, 7, 0, 8)) * -1.0 + t4new += einsum(f.vv, (0, 1), t4, (2, 3, 4, 5, 6, 7, 8, 1), (2, 3, 4, 5, 6, 7, 8, 0)) + t4new += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 8), (0, 1, 4, 5, 3, 6, 7, 8)) + t4new += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 8), (0, 1, 4, 5, 6, 3, 7, 8)) * -1.0 + t4new += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 8), (0, 1, 4, 5, 6, 7, 3, 8)) + t4new += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 8), (0, 1, 4, 5, 6, 7, 8, 3)) * -1.0 + t4new += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 8), (0, 4, 1, 5, 3, 6, 7, 8)) * -1.0 + t4new += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 8), (0, 4, 1, 5, 6, 3, 7, 8)) + t4new += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 8), (0, 4, 1, 5, 6, 7, 3, 8)) * -1.0 + t4new += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 8), (0, 4, 1, 5, 6, 7, 8, 3)) + t4new += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 8), (0, 4, 5, 1, 3, 6, 7, 8)) + t4new += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 8), (0, 4, 5, 1, 6, 3, 7, 8)) * -1.0 + t4new += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 8), (0, 4, 5, 1, 6, 7, 3, 8)) + t4new += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 8), (0, 4, 5, 1, 6, 7, 8, 3)) * -1.0 + t4new += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 8), (4, 0, 1, 5, 3, 6, 7, 8)) + t4new += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 8), (4, 0, 1, 5, 6, 3, 7, 8)) * -1.0 + t4new += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 8), (4, 0, 1, 5, 6, 7, 3, 8)) + t4new += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 8), (4, 0, 1, 5, 6, 7, 8, 3)) * -1.0 + t4new += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 8), (4, 0, 5, 1, 3, 6, 7, 8)) * -1.0 + t4new += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 8), (4, 0, 5, 1, 6, 3, 7, 8)) + t4new += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 8), (4, 0, 5, 1, 6, 7, 3, 8)) * -1.0 + t4new += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 8), (4, 0, 5, 1, 6, 7, 8, 3)) + t4new += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 8), (4, 5, 0, 1, 3, 6, 7, 8)) + t4new += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 8), (4, 5, 0, 1, 6, 3, 7, 8)) * -1.0 + t4new += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 8), (4, 5, 0, 1, 6, 7, 3, 8)) + t4new += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 8), (4, 5, 0, 1, 6, 7, 8, 3)) * -1.0 + t4new += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 8, 1), (0, 4, 5, 6, 2, 3, 7, 8)) + t4new += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 8, 1), (0, 4, 5, 6, 2, 7, 3, 8)) * -1.0 + t4new += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 8, 1), (0, 4, 5, 6, 2, 7, 8, 3)) + t4new += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 8, 1), (0, 4, 5, 6, 7, 2, 3, 8)) + t4new += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 8, 1), (0, 4, 5, 6, 7, 2, 8, 3)) * -1.0 + t4new += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 8, 1), (0, 4, 5, 6, 7, 8, 2, 3)) + t4new += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 8, 1), (4, 0, 5, 6, 2, 3, 7, 8)) * -1.0 + t4new += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 8, 1), (4, 0, 5, 6, 2, 7, 3, 8)) + t4new += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 8, 1), (4, 0, 5, 6, 2, 7, 8, 3)) * -1.0 + t4new += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 8, 1), (4, 0, 5, 6, 7, 2, 3, 8)) * -1.0 + t4new += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 8, 1), (4, 0, 5, 6, 7, 2, 8, 3)) + t4new += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 8, 1), (4, 0, 5, 6, 7, 8, 2, 3)) * -1.0 + t4new += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 8, 1), (4, 5, 0, 6, 2, 3, 7, 8)) + t4new += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 8, 1), (4, 5, 0, 6, 2, 7, 3, 8)) * -1.0 + t4new += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 8, 1), (4, 5, 0, 6, 2, 7, 8, 3)) + t4new += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 8, 1), (4, 5, 0, 6, 7, 2, 3, 8)) + t4new += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 8, 1), (4, 5, 0, 6, 7, 2, 8, 3)) * -1.0 + t4new += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 8, 1), (4, 5, 0, 6, 7, 8, 2, 3)) + t4new += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 8, 1), (4, 5, 6, 0, 2, 3, 7, 8)) * -1.0 + t4new += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 8, 1), (4, 5, 6, 0, 2, 7, 3, 8)) + t4new += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 8, 1), (4, 5, 6, 0, 2, 7, 8, 3)) * -1.0 + t4new += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 8, 1), (4, 5, 6, 0, 7, 2, 3, 8)) * -1.0 + t4new += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 8, 1), (4, 5, 6, 0, 7, 2, 8, 3)) + t4new += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 8, 1), (4, 5, 6, 0, 7, 8, 2, 3)) * -1.0 + t4new += einsum(v.oooo, (0, 1, 2, 3), t4, (4, 5, 2, 3, 6, 7, 8, 9), (0, 1, 4, 5, 6, 7, 8, 9)) * 0.5 + t4new += einsum(v.oooo, (0, 1, 2, 3), t4, (4, 5, 2, 3, 6, 7, 8, 9), (0, 4, 1, 5, 6, 7, 8, 9)) * -0.5 + t4new += einsum(v.oooo, (0, 1, 2, 3), t4, (4, 5, 2, 3, 6, 7, 8, 9), (0, 4, 5, 1, 6, 7, 8, 9)) * 0.5 + t4new += einsum(v.oooo, (0, 1, 2, 3), t4, (4, 5, 2, 3, 6, 7, 8, 9), (4, 0, 1, 5, 6, 7, 8, 9)) * 0.5 + t4new += einsum(v.oooo, (0, 1, 2, 3), t4, (4, 5, 2, 3, 6, 7, 8, 9), (4, 0, 5, 1, 6, 7, 8, 9)) * -0.5 + t4new += einsum(v.oooo, (0, 1, 2, 3), t4, (4, 5, 2, 3, 6, 7, 8, 9), (4, 5, 0, 1, 6, 7, 8, 9)) * 0.5 + t4new += einsum(v.ovov, (0, 1, 2, 3), t4, (4, 5, 6, 2, 7, 8, 9, 1), (0, 4, 5, 6, 3, 7, 8, 9)) * -1.0 + t4new += einsum(v.ovov, (0, 1, 2, 3), t4, (4, 5, 6, 2, 7, 8, 9, 1), (0, 4, 5, 6, 7, 3, 8, 9)) + t4new += einsum(v.ovov, (0, 1, 2, 3), t4, (4, 5, 6, 2, 7, 8, 9, 1), (0, 4, 5, 6, 7, 8, 3, 9)) * -1.0 + t4new += einsum(v.ovov, (0, 1, 2, 3), t4, (4, 5, 6, 2, 7, 8, 9, 1), (0, 4, 5, 6, 7, 8, 9, 3)) + t4new += einsum(v.ovov, (0, 1, 2, 3), t4, (4, 5, 6, 2, 7, 8, 9, 1), (4, 0, 5, 6, 3, 7, 8, 9)) + t4new += einsum(v.ovov, (0, 1, 2, 3), t4, (4, 5, 6, 2, 7, 8, 9, 1), (4, 0, 5, 6, 7, 3, 8, 9)) * -1.0 + t4new += einsum(v.ovov, (0, 1, 2, 3), t4, (4, 5, 6, 2, 7, 8, 9, 1), (4, 0, 5, 6, 7, 8, 3, 9)) + t4new += einsum(v.ovov, (0, 1, 2, 3), t4, (4, 5, 6, 2, 7, 8, 9, 1), (4, 0, 5, 6, 7, 8, 9, 3)) * -1.0 + t4new += einsum(v.ovov, (0, 1, 2, 3), t4, (4, 5, 6, 2, 7, 8, 9, 1), (4, 5, 0, 6, 3, 7, 8, 9)) * -1.0 + t4new += einsum(v.ovov, (0, 1, 2, 3), t4, (4, 5, 6, 2, 7, 8, 9, 1), (4, 5, 0, 6, 7, 3, 8, 9)) + t4new += einsum(v.ovov, (0, 1, 2, 3), t4, (4, 5, 6, 2, 7, 8, 9, 1), (4, 5, 0, 6, 7, 8, 3, 9)) * -1.0 + t4new += einsum(v.ovov, (0, 1, 2, 3), t4, (4, 5, 6, 2, 7, 8, 9, 1), (4, 5, 0, 6, 7, 8, 9, 3)) + t4new += einsum(v.ovov, (0, 1, 2, 3), t4, (4, 5, 6, 2, 7, 8, 9, 1), (4, 5, 6, 0, 3, 7, 8, 9)) + t4new += einsum(v.ovov, (0, 1, 2, 3), t4, (4, 5, 6, 2, 7, 8, 9, 1), (4, 5, 6, 0, 7, 3, 8, 9)) * -1.0 + t4new += einsum(v.ovov, (0, 1, 2, 3), t4, (4, 5, 6, 2, 7, 8, 9, 1), (4, 5, 6, 0, 7, 8, 3, 9)) + t4new += einsum(v.ovov, (0, 1, 2, 3), t4, (4, 5, 6, 2, 7, 8, 9, 1), (4, 5, 6, 0, 7, 8, 9, 3)) * -1.0 + t4new += einsum(v.vvvv, (0, 1, 2, 3), t4, (4, 5, 6, 7, 8, 9, 2, 3), (4, 5, 6, 7, 0, 1, 8, 9)) * 0.5 + t4new += einsum(v.vvvv, (0, 1, 2, 3), t4, (4, 5, 6, 7, 8, 9, 2, 3), (4, 5, 6, 7, 0, 8, 1, 9)) * -0.5 + t4new += einsum(v.vvvv, (0, 1, 2, 3), t4, (4, 5, 6, 7, 8, 9, 2, 3), (4, 5, 6, 7, 0, 8, 9, 1)) * 0.5 + t4new += einsum(v.vvvv, (0, 1, 2, 3), t4, (4, 5, 6, 7, 8, 9, 2, 3), (4, 5, 6, 7, 8, 0, 1, 9)) * 0.5 + t4new += einsum(v.vvvv, (0, 1, 2, 3), t4, (4, 5, 6, 7, 8, 9, 2, 3), (4, 5, 6, 7, 8, 0, 9, 1)) * -0.5 + t4new += einsum(v.vvvv, (0, 1, 2, 3), t4, (4, 5, 6, 7, 8, 9, 2, 3), (4, 5, 6, 7, 8, 9, 0, 1)) * 0.5 + t4new += einsum(f.ov, (0, 1), t1, (2, 1), t4, (3, 4, 5, 0, 6, 7, 8, 9), (2, 3, 4, 5, 6, 7, 8, 9)) + t4new += einsum(f.ov, (0, 1), t1, (2, 1), t4, (3, 4, 5, 0, 6, 7, 8, 9), (3, 2, 4, 5, 6, 7, 8, 9)) * -1.0 + t4new += einsum(f.ov, (0, 1), t1, (2, 1), t4, (3, 4, 5, 0, 6, 7, 8, 9), (3, 4, 2, 5, 6, 7, 8, 9)) + t4new += einsum(f.ov, (0, 1), t1, (2, 1), t4, (3, 4, 5, 0, 6, 7, 8, 9), (3, 4, 5, 2, 6, 7, 8, 9)) * -1.0 + t4new += einsum(f.ov, (0, 1), t1, (0, 2), t4, (3, 4, 5, 6, 7, 8, 9, 1), (3, 4, 5, 6, 2, 7, 8, 9)) + t4new += einsum(f.ov, (0, 1), t1, (0, 2), t4, (3, 4, 5, 6, 7, 8, 9, 1), (3, 4, 5, 6, 7, 2, 8, 9)) * -1.0 + t4new += einsum(f.ov, (0, 1), t1, (0, 2), t4, (3, 4, 5, 6, 7, 8, 9, 1), (3, 4, 5, 6, 7, 8, 2, 9)) + t4new += einsum(f.ov, (0, 1), t1, (0, 2), t4, (3, 4, 5, 6, 7, 8, 9, 1), (3, 4, 5, 6, 7, 8, 9, 2)) * -1.0 + t4new += einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), t3, (5, 6, 0, 7, 8, 9), (2, 3, 5, 6, 4, 7, 8, 9)) * -1.0 + t4new += einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), t3, (5, 6, 0, 7, 8, 9), (2, 3, 5, 6, 7, 4, 8, 9)) + t4new += einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), t3, (5, 6, 0, 7, 8, 9), (2, 3, 5, 6, 7, 8, 4, 9)) * -1.0 + t4new += einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), t3, (5, 6, 0, 7, 8, 9), (2, 3, 5, 6, 7, 8, 9, 4)) + t4new += einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), t3, (5, 6, 0, 7, 8, 9), (2, 5, 3, 6, 4, 7, 8, 9)) + t4new += einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), t3, (5, 6, 0, 7, 8, 9), (2, 5, 3, 6, 7, 4, 8, 9)) * -1.0 + t4new += einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), t3, (5, 6, 0, 7, 8, 9), (2, 5, 3, 6, 7, 8, 4, 9)) + t4new += einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), t3, (5, 6, 0, 7, 8, 9), (2, 5, 3, 6, 7, 8, 9, 4)) * -1.0 + t4new += einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), t3, (5, 6, 0, 7, 8, 9), (2, 5, 6, 3, 4, 7, 8, 9)) * -1.0 + t4new += einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), t3, (5, 6, 0, 7, 8, 9), (2, 5, 6, 3, 7, 4, 8, 9)) + t4new += einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), t3, (5, 6, 0, 7, 8, 9), (2, 5, 6, 3, 7, 8, 4, 9)) * -1.0 + t4new += einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), t3, (5, 6, 0, 7, 8, 9), (2, 5, 6, 3, 7, 8, 9, 4)) + t4new += einsum(f.ov, (0, 1), t2, (2, 0, 3, 4), t3, (5, 6, 7, 8, 9, 1), (2, 5, 6, 7, 3, 4, 8, 9)) * -1.0 + t4new += einsum(f.ov, (0, 1), t2, (2, 0, 3, 4), t3, (5, 6, 7, 8, 9, 1), (2, 5, 6, 7, 3, 8, 4, 9)) + t4new += einsum(f.ov, (0, 1), t2, (2, 0, 3, 4), t3, (5, 6, 7, 8, 9, 1), (2, 5, 6, 7, 3, 8, 9, 4)) * -1.0 + t4new += einsum(f.ov, (0, 1), t2, (2, 0, 3, 4), t3, (5, 6, 7, 8, 9, 1), (2, 5, 6, 7, 8, 3, 4, 9)) * -1.0 + t4new += einsum(f.ov, (0, 1), t2, (2, 0, 3, 4), t3, (5, 6, 7, 8, 9, 1), (2, 5, 6, 7, 8, 3, 9, 4)) + t4new += einsum(f.ov, (0, 1), t2, (2, 0, 3, 4), t3, (5, 6, 7, 8, 9, 1), (2, 5, 6, 7, 8, 9, 3, 4)) * -1.0 + t4new += einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), t3, (5, 6, 0, 7, 8, 9), (5, 2, 3, 6, 4, 7, 8, 9)) * -1.0 + t4new += einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), t3, (5, 6, 0, 7, 8, 9), (5, 2, 3, 6, 7, 4, 8, 9)) + t4new += einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), t3, (5, 6, 0, 7, 8, 9), (5, 2, 3, 6, 7, 8, 4, 9)) * -1.0 + t4new += einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), t3, (5, 6, 0, 7, 8, 9), (5, 2, 3, 6, 7, 8, 9, 4)) + t4new += einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), t3, (5, 6, 0, 7, 8, 9), (5, 2, 6, 3, 4, 7, 8, 9)) + t4new += einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), t3, (5, 6, 0, 7, 8, 9), (5, 2, 6, 3, 7, 4, 8, 9)) * -1.0 + t4new += einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), t3, (5, 6, 0, 7, 8, 9), (5, 2, 6, 3, 7, 8, 4, 9)) + t4new += einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), t3, (5, 6, 0, 7, 8, 9), (5, 2, 6, 3, 7, 8, 9, 4)) * -1.0 + t4new += einsum(f.ov, (0, 1), t2, (2, 0, 3, 4), t3, (5, 6, 7, 8, 9, 1), (5, 2, 6, 7, 3, 4, 8, 9)) + t4new += einsum(f.ov, (0, 1), t2, (2, 0, 3, 4), t3, (5, 6, 7, 8, 9, 1), (5, 2, 6, 7, 3, 8, 4, 9)) * -1.0 + t4new += einsum(f.ov, (0, 1), t2, (2, 0, 3, 4), t3, (5, 6, 7, 8, 9, 1), (5, 2, 6, 7, 3, 8, 9, 4)) + t4new += einsum(f.ov, (0, 1), t2, (2, 0, 3, 4), t3, (5, 6, 7, 8, 9, 1), (5, 2, 6, 7, 8, 3, 4, 9)) + t4new += einsum(f.ov, (0, 1), t2, (2, 0, 3, 4), t3, (5, 6, 7, 8, 9, 1), (5, 2, 6, 7, 8, 3, 9, 4)) * -1.0 + t4new += einsum(f.ov, (0, 1), t2, (2, 0, 3, 4), t3, (5, 6, 7, 8, 9, 1), (5, 2, 6, 7, 8, 9, 3, 4)) + t4new += einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), t3, (5, 6, 0, 7, 8, 9), (5, 6, 2, 3, 4, 7, 8, 9)) * -1.0 + t4new += einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), t3, (5, 6, 0, 7, 8, 9), (5, 6, 2, 3, 7, 4, 8, 9)) + t4new += einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), t3, (5, 6, 0, 7, 8, 9), (5, 6, 2, 3, 7, 8, 4, 9)) * -1.0 + t4new += einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), t3, (5, 6, 0, 7, 8, 9), (5, 6, 2, 3, 7, 8, 9, 4)) + t4new += einsum(f.ov, (0, 1), t2, (2, 0, 3, 4), t3, (5, 6, 7, 8, 9, 1), (5, 6, 2, 7, 3, 4, 8, 9)) * -1.0 + t4new += einsum(f.ov, (0, 1), t2, (2, 0, 3, 4), t3, (5, 6, 7, 8, 9, 1), (5, 6, 2, 7, 3, 8, 4, 9)) + t4new += einsum(f.ov, (0, 1), t2, (2, 0, 3, 4), t3, (5, 6, 7, 8, 9, 1), (5, 6, 2, 7, 3, 8, 9, 4)) * -1.0 + t4new += einsum(f.ov, (0, 1), t2, (2, 0, 3, 4), t3, (5, 6, 7, 8, 9, 1), (5, 6, 2, 7, 8, 3, 4, 9)) * -1.0 + t4new += einsum(f.ov, (0, 1), t2, (2, 0, 3, 4), t3, (5, 6, 7, 8, 9, 1), (5, 6, 2, 7, 8, 3, 9, 4)) + t4new += einsum(f.ov, (0, 1), t2, (2, 0, 3, 4), t3, (5, 6, 7, 8, 9, 1), (5, 6, 2, 7, 8, 9, 3, 4)) * -1.0 + t4new += einsum(f.ov, (0, 1), t2, (2, 0, 3, 4), t3, (5, 6, 7, 8, 9, 1), (5, 6, 7, 2, 3, 4, 8, 9)) + t4new += einsum(f.ov, (0, 1), t2, (2, 0, 3, 4), t3, (5, 6, 7, 8, 9, 1), (5, 6, 7, 2, 3, 8, 4, 9)) * -1.0 + t4new += einsum(f.ov, (0, 1), t2, (2, 0, 3, 4), t3, (5, 6, 7, 8, 9, 1), (5, 6, 7, 2, 3, 8, 9, 4)) + t4new += einsum(f.ov, (0, 1), t2, (2, 0, 3, 4), t3, (5, 6, 7, 8, 9, 1), (5, 6, 7, 2, 8, 3, 4, 9)) + t4new += einsum(f.ov, (0, 1), t2, (2, 0, 3, 4), t3, (5, 6, 7, 8, 9, 1), (5, 6, 7, 2, 8, 3, 9, 4)) * -1.0 + t4new += einsum(f.ov, (0, 1), t2, (2, 0, 3, 4), t3, (5, 6, 7, 8, 9, 1), (5, 6, 7, 2, 8, 9, 3, 4)) + t4new += einsum(t1, (0, 1), v.oooo, (2, 3, 0, 4), t3, (5, 6, 4, 7, 8, 9), (2, 3, 5, 6, 1, 7, 8, 9)) + t4new += einsum(t1, (0, 1), v.oooo, (2, 3, 0, 4), t3, (5, 6, 4, 7, 8, 9), (2, 5, 3, 6, 1, 7, 8, 9)) * -1.0 + t4new += einsum(t1, (0, 1), v.oooo, (2, 3, 0, 4), t3, (5, 6, 4, 7, 8, 9), (2, 5, 6, 3, 1, 7, 8, 9)) + t4new += einsum(t1, (0, 1), v.oooo, (2, 3, 0, 4), t3, (5, 6, 4, 7, 8, 9), (5, 2, 3, 6, 1, 7, 8, 9)) + t4new += einsum(t1, (0, 1), v.oooo, (2, 3, 0, 4), t3, (5, 6, 4, 7, 8, 9), (5, 2, 6, 3, 1, 7, 8, 9)) * -1.0 + t4new += einsum(t1, (0, 1), v.oooo, (2, 3, 0, 4), t3, (5, 6, 4, 7, 8, 9), (5, 6, 2, 3, 1, 7, 8, 9)) + t4new += einsum(t1, (0, 1), v.oooo, (2, 3, 0, 4), t3, (5, 6, 4, 7, 8, 9), (2, 3, 5, 6, 7, 1, 8, 9)) * -1.0 + t4new += einsum(t1, (0, 1), v.oooo, (2, 3, 0, 4), t3, (5, 6, 4, 7, 8, 9), (2, 5, 3, 6, 7, 1, 8, 9)) + t4new += einsum(t1, (0, 1), v.oooo, (2, 3, 0, 4), t3, (5, 6, 4, 7, 8, 9), (2, 5, 6, 3, 7, 1, 8, 9)) * -1.0 + t4new += einsum(t1, (0, 1), v.oooo, (2, 3, 0, 4), t3, (5, 6, 4, 7, 8, 9), (5, 2, 3, 6, 7, 1, 8, 9)) * -1.0 + t4new += einsum(t1, (0, 1), v.oooo, (2, 3, 0, 4), t3, (5, 6, 4, 7, 8, 9), (5, 2, 6, 3, 7, 1, 8, 9)) + t4new += einsum(t1, (0, 1), v.oooo, (2, 3, 0, 4), t3, (5, 6, 4, 7, 8, 9), (5, 6, 2, 3, 7, 1, 8, 9)) * -1.0 + t4new += einsum(t1, (0, 1), v.oooo, (2, 3, 0, 4), t3, (5, 6, 4, 7, 8, 9), (2, 3, 5, 6, 7, 8, 1, 9)) + t4new += einsum(t1, (0, 1), v.oooo, (2, 3, 0, 4), t3, (5, 6, 4, 7, 8, 9), (2, 5, 3, 6, 7, 8, 1, 9)) * -1.0 + t4new += einsum(t1, (0, 1), v.oooo, (2, 3, 0, 4), t3, (5, 6, 4, 7, 8, 9), (2, 5, 6, 3, 7, 8, 1, 9)) + t4new += einsum(t1, (0, 1), v.oooo, (2, 3, 0, 4), t3, (5, 6, 4, 7, 8, 9), (5, 2, 3, 6, 7, 8, 1, 9)) + t4new += einsum(t1, (0, 1), v.oooo, (2, 3, 0, 4), t3, (5, 6, 4, 7, 8, 9), (5, 2, 6, 3, 7, 8, 1, 9)) * -1.0 + t4new += einsum(t1, (0, 1), v.oooo, (2, 3, 0, 4), t3, (5, 6, 4, 7, 8, 9), (5, 6, 2, 3, 7, 8, 1, 9)) + t4new += einsum(t1, (0, 1), v.oooo, (2, 3, 0, 4), t3, (5, 6, 4, 7, 8, 9), (2, 3, 5, 6, 7, 8, 9, 1)) * -1.0 + t4new += einsum(t1, (0, 1), v.oooo, (2, 3, 0, 4), t3, (5, 6, 4, 7, 8, 9), (2, 5, 3, 6, 7, 8, 9, 1)) + t4new += einsum(t1, (0, 1), v.oooo, (2, 3, 0, 4), t3, (5, 6, 4, 7, 8, 9), (2, 5, 6, 3, 7, 8, 9, 1)) * -1.0 + t4new += einsum(t1, (0, 1), v.oooo, (2, 3, 0, 4), t3, (5, 6, 4, 7, 8, 9), (5, 2, 3, 6, 7, 8, 9, 1)) * -1.0 + t4new += einsum(t1, (0, 1), v.oooo, (2, 3, 0, 4), t3, (5, 6, 4, 7, 8, 9), (5, 2, 6, 3, 7, 8, 9, 1)) + t4new += einsum(t1, (0, 1), v.oooo, (2, 3, 0, 4), t3, (5, 6, 4, 7, 8, 9), (5, 6, 2, 3, 7, 8, 9, 1)) * -1.0 + t4new += einsum(t1, (0, 1), v.ovov, (2, 1, 3, 4), t3, (5, 6, 3, 7, 8, 9), (0, 2, 5, 6, 4, 7, 8, 9)) * -1.0 + t4new += einsum(t1, (0, 1), v.ovov, (2, 1, 3, 4), t3, (5, 6, 3, 7, 8, 9), (0, 2, 5, 6, 7, 4, 8, 9)) + t4new += einsum(t1, (0, 1), v.ovov, (2, 1, 3, 4), t3, (5, 6, 3, 7, 8, 9), (0, 2, 5, 6, 7, 8, 4, 9)) * -1.0 + t4new += einsum(t1, (0, 1), v.ovov, (2, 1, 3, 4), t3, (5, 6, 3, 7, 8, 9), (0, 2, 5, 6, 7, 8, 9, 4)) + t4new += einsum(t1, (0, 1), v.ovov, (2, 1, 3, 4), t3, (5, 6, 3, 7, 8, 9), (0, 5, 2, 6, 4, 7, 8, 9)) + t4new += einsum(t1, (0, 1), v.ovov, (2, 1, 3, 4), t3, (5, 6, 3, 7, 8, 9), (0, 5, 2, 6, 7, 4, 8, 9)) * -1.0 + t4new += einsum(t1, (0, 1), v.ovov, (2, 1, 3, 4), t3, (5, 6, 3, 7, 8, 9), (0, 5, 2, 6, 7, 8, 4, 9)) + t4new += einsum(t1, (0, 1), v.ovov, (2, 1, 3, 4), t3, (5, 6, 3, 7, 8, 9), (0, 5, 2, 6, 7, 8, 9, 4)) * -1.0 + t4new += einsum(t1, (0, 1), v.ovov, (2, 1, 3, 4), t3, (5, 6, 3, 7, 8, 9), (0, 5, 6, 2, 4, 7, 8, 9)) * -1.0 + t4new += einsum(t1, (0, 1), v.ovov, (2, 1, 3, 4), t3, (5, 6, 3, 7, 8, 9), (0, 5, 6, 2, 7, 4, 8, 9)) + t4new += einsum(t1, (0, 1), v.ovov, (2, 1, 3, 4), t3, (5, 6, 3, 7, 8, 9), (0, 5, 6, 2, 7, 8, 4, 9)) * -1.0 + t4new += einsum(t1, (0, 1), v.ovov, (2, 1, 3, 4), t3, (5, 6, 3, 7, 8, 9), (0, 5, 6, 2, 7, 8, 9, 4)) + t4new += einsum(t1, (0, 1), v.ovov, (2, 1, 3, 4), t3, (5, 6, 3, 7, 8, 9), (2, 0, 5, 6, 4, 7, 8, 9)) + t4new += einsum(t1, (0, 1), v.ovov, (2, 1, 3, 4), t3, (5, 6, 3, 7, 8, 9), (2, 0, 5, 6, 7, 4, 8, 9)) * -1.0 + t4new += einsum(t1, (0, 1), v.ovov, (2, 1, 3, 4), t3, (5, 6, 3, 7, 8, 9), (2, 0, 5, 6, 7, 8, 4, 9)) + t4new += einsum(t1, (0, 1), v.ovov, (2, 1, 3, 4), t3, (5, 6, 3, 7, 8, 9), (2, 0, 5, 6, 7, 8, 9, 4)) * -1.0 + t4new += einsum(t1, (0, 1), v.ovov, (2, 1, 3, 4), t3, (5, 6, 3, 7, 8, 9), (5, 0, 2, 6, 4, 7, 8, 9)) * -1.0 + t4new += einsum(t1, (0, 1), v.ovov, (2, 1, 3, 4), t3, (5, 6, 3, 7, 8, 9), (5, 0, 2, 6, 7, 4, 8, 9)) + t4new += einsum(t1, (0, 1), v.ovov, (2, 1, 3, 4), t3, (5, 6, 3, 7, 8, 9), (5, 0, 2, 6, 7, 8, 4, 9)) * -1.0 + t4new += einsum(t1, (0, 1), v.ovov, (2, 1, 3, 4), t3, (5, 6, 3, 7, 8, 9), (5, 0, 2, 6, 7, 8, 9, 4)) + t4new += einsum(t1, (0, 1), v.ovov, (2, 1, 3, 4), t3, (5, 6, 3, 7, 8, 9), (5, 0, 6, 2, 4, 7, 8, 9)) + t4new += einsum(t1, (0, 1), v.ovov, (2, 1, 3, 4), t3, (5, 6, 3, 7, 8, 9), (5, 0, 6, 2, 7, 4, 8, 9)) * -1.0 + t4new += einsum(t1, (0, 1), v.ovov, (2, 1, 3, 4), t3, (5, 6, 3, 7, 8, 9), (5, 0, 6, 2, 7, 8, 4, 9)) + t4new += einsum(t1, (0, 1), v.ovov, (2, 1, 3, 4), t3, (5, 6, 3, 7, 8, 9), (5, 0, 6, 2, 7, 8, 9, 4)) * -1.0 + t4new += einsum(t1, (0, 1), v.ovov, (2, 1, 3, 4), t3, (5, 6, 3, 7, 8, 9), (2, 5, 0, 6, 4, 7, 8, 9)) * -1.0 + t4new += einsum(t1, (0, 1), v.ovov, (2, 1, 3, 4), t3, (5, 6, 3, 7, 8, 9), (2, 5, 0, 6, 7, 4, 8, 9)) + t4new += einsum(t1, (0, 1), v.ovov, (2, 1, 3, 4), t3, (5, 6, 3, 7, 8, 9), (2, 5, 0, 6, 7, 8, 4, 9)) * -1.0 + t4new += einsum(t1, (0, 1), v.ovov, (2, 1, 3, 4), t3, (5, 6, 3, 7, 8, 9), (2, 5, 0, 6, 7, 8, 9, 4)) + t4new += einsum(t1, (0, 1), v.ovov, (2, 1, 3, 4), t3, (5, 6, 3, 7, 8, 9), (5, 2, 0, 6, 4, 7, 8, 9)) + t4new += einsum(t1, (0, 1), v.ovov, (2, 1, 3, 4), t3, (5, 6, 3, 7, 8, 9), (5, 2, 0, 6, 7, 4, 8, 9)) * -1.0 + t4new += einsum(t1, (0, 1), v.ovov, (2, 1, 3, 4), t3, (5, 6, 3, 7, 8, 9), (5, 2, 0, 6, 7, 8, 4, 9)) + t4new += einsum(t1, (0, 1), v.ovov, (2, 1, 3, 4), t3, (5, 6, 3, 7, 8, 9), (5, 2, 0, 6, 7, 8, 9, 4)) * -1.0 + t4new += einsum(t1, (0, 1), v.ovov, (2, 1, 3, 4), t3, (5, 6, 3, 7, 8, 9), (5, 6, 0, 2, 4, 7, 8, 9)) * -1.0 + t4new += einsum(t1, (0, 1), v.ovov, (2, 1, 3, 4), t3, (5, 6, 3, 7, 8, 9), (5, 6, 0, 2, 7, 4, 8, 9)) + t4new += einsum(t1, (0, 1), v.ovov, (2, 1, 3, 4), t3, (5, 6, 3, 7, 8, 9), (5, 6, 0, 2, 7, 8, 4, 9)) * -1.0 + t4new += einsum(t1, (0, 1), v.ovov, (2, 1, 3, 4), t3, (5, 6, 3, 7, 8, 9), (5, 6, 0, 2, 7, 8, 9, 4)) + t4new += einsum(t1, (0, 1), v.ovov, (2, 1, 3, 4), t3, (5, 6, 3, 7, 8, 9), (2, 5, 6, 0, 4, 7, 8, 9)) + t4new += einsum(t1, (0, 1), v.ovov, (2, 1, 3, 4), t3, (5, 6, 3, 7, 8, 9), (2, 5, 6, 0, 7, 4, 8, 9)) * -1.0 + t4new += einsum(t1, (0, 1), v.ovov, (2, 1, 3, 4), t3, (5, 6, 3, 7, 8, 9), (2, 5, 6, 0, 7, 8, 4, 9)) + t4new += einsum(t1, (0, 1), v.ovov, (2, 1, 3, 4), t3, (5, 6, 3, 7, 8, 9), (2, 5, 6, 0, 7, 8, 9, 4)) * -1.0 + t4new += einsum(t1, (0, 1), v.ovov, (2, 1, 3, 4), t3, (5, 6, 3, 7, 8, 9), (5, 2, 6, 0, 4, 7, 8, 9)) * -1.0 + t4new += einsum(t1, (0, 1), v.ovov, (2, 1, 3, 4), t3, (5, 6, 3, 7, 8, 9), (5, 2, 6, 0, 7, 4, 8, 9)) + t4new += einsum(t1, (0, 1), v.ovov, (2, 1, 3, 4), t3, (5, 6, 3, 7, 8, 9), (5, 2, 6, 0, 7, 8, 4, 9)) * -1.0 + t4new += einsum(t1, (0, 1), v.ovov, (2, 1, 3, 4), t3, (5, 6, 3, 7, 8, 9), (5, 2, 6, 0, 7, 8, 9, 4)) + t4new += einsum(t1, (0, 1), v.ovov, (2, 1, 3, 4), t3, (5, 6, 3, 7, 8, 9), (5, 6, 2, 0, 4, 7, 8, 9)) + t4new += einsum(t1, (0, 1), v.ovov, (2, 1, 3, 4), t3, (5, 6, 3, 7, 8, 9), (5, 6, 2, 0, 7, 4, 8, 9)) * -1.0 + t4new += einsum(t1, (0, 1), v.ovov, (2, 1, 3, 4), t3, (5, 6, 3, 7, 8, 9), (5, 6, 2, 0, 7, 8, 4, 9)) + t4new += einsum(t1, (0, 1), v.ovov, (2, 1, 3, 4), t3, (5, 6, 3, 7, 8, 9), (5, 6, 2, 0, 7, 8, 9, 4)) * -1.0 + t4new += einsum(t1, (0, 1), v.ovov, (2, 3, 0, 4), t3, (5, 6, 7, 8, 9, 3), (2, 5, 6, 7, 1, 4, 8, 9)) * -1.0 + t4new += einsum(t1, (0, 1), v.ovov, (2, 3, 0, 4), t3, (5, 6, 7, 8, 9, 3), (2, 5, 6, 7, 1, 8, 4, 9)) + t4new += einsum(t1, (0, 1), v.ovov, (2, 3, 0, 4), t3, (5, 6, 7, 8, 9, 3), (2, 5, 6, 7, 1, 8, 9, 4)) * -1.0 + t4new += einsum(t1, (0, 1), v.ovov, (2, 3, 0, 4), t3, (5, 6, 7, 8, 9, 3), (5, 2, 6, 7, 1, 4, 8, 9)) + t4new += einsum(t1, (0, 1), v.ovov, (2, 3, 0, 4), t3, (5, 6, 7, 8, 9, 3), (5, 2, 6, 7, 1, 8, 4, 9)) * -1.0 + t4new += einsum(t1, (0, 1), v.ovov, (2, 3, 0, 4), t3, (5, 6, 7, 8, 9, 3), (5, 2, 6, 7, 1, 8, 9, 4)) + t4new += einsum(t1, (0, 1), v.ovov, (2, 3, 0, 4), t3, (5, 6, 7, 8, 9, 3), (5, 6, 2, 7, 1, 4, 8, 9)) * -1.0 + t4new += einsum(t1, (0, 1), v.ovov, (2, 3, 0, 4), t3, (5, 6, 7, 8, 9, 3), (5, 6, 2, 7, 1, 8, 4, 9)) + t4new += einsum(t1, (0, 1), v.ovov, (2, 3, 0, 4), t3, (5, 6, 7, 8, 9, 3), (5, 6, 2, 7, 1, 8, 9, 4)) * -1.0 + t4new += einsum(t1, (0, 1), v.ovov, (2, 3, 0, 4), t3, (5, 6, 7, 8, 9, 3), (5, 6, 7, 2, 1, 4, 8, 9)) + t4new += einsum(t1, (0, 1), v.ovov, (2, 3, 0, 4), t3, (5, 6, 7, 8, 9, 3), (5, 6, 7, 2, 1, 8, 4, 9)) * -1.0 + t4new += einsum(t1, (0, 1), v.ovov, (2, 3, 0, 4), t3, (5, 6, 7, 8, 9, 3), (5, 6, 7, 2, 1, 8, 9, 4)) + t4new += einsum(t1, (0, 1), v.ovov, (2, 3, 0, 4), t3, (5, 6, 7, 8, 9, 3), (2, 5, 6, 7, 4, 1, 8, 9)) + t4new += einsum(t1, (0, 1), v.ovov, (2, 3, 0, 4), t3, (5, 6, 7, 8, 9, 3), (2, 5, 6, 7, 8, 1, 4, 9)) * -1.0 + t4new += einsum(t1, (0, 1), v.ovov, (2, 3, 0, 4), t3, (5, 6, 7, 8, 9, 3), (2, 5, 6, 7, 8, 1, 9, 4)) + t4new += einsum(t1, (0, 1), v.ovov, (2, 3, 0, 4), t3, (5, 6, 7, 8, 9, 3), (5, 2, 6, 7, 4, 1, 8, 9)) * -1.0 + t4new += einsum(t1, (0, 1), v.ovov, (2, 3, 0, 4), t3, (5, 6, 7, 8, 9, 3), (5, 2, 6, 7, 8, 1, 4, 9)) + t4new += einsum(t1, (0, 1), v.ovov, (2, 3, 0, 4), t3, (5, 6, 7, 8, 9, 3), (5, 2, 6, 7, 8, 1, 9, 4)) * -1.0 + t4new += einsum(t1, (0, 1), v.ovov, (2, 3, 0, 4), t3, (5, 6, 7, 8, 9, 3), (5, 6, 2, 7, 4, 1, 8, 9)) + t4new += einsum(t1, (0, 1), v.ovov, (2, 3, 0, 4), t3, (5, 6, 7, 8, 9, 3), (5, 6, 2, 7, 8, 1, 4, 9)) * -1.0 + t4new += einsum(t1, (0, 1), v.ovov, (2, 3, 0, 4), t3, (5, 6, 7, 8, 9, 3), (5, 6, 2, 7, 8, 1, 9, 4)) + t4new += einsum(t1, (0, 1), v.ovov, (2, 3, 0, 4), t3, (5, 6, 7, 8, 9, 3), (5, 6, 7, 2, 4, 1, 8, 9)) * -1.0 + t4new += einsum(t1, (0, 1), v.ovov, (2, 3, 0, 4), t3, (5, 6, 7, 8, 9, 3), (5, 6, 7, 2, 8, 1, 4, 9)) + t4new += einsum(t1, (0, 1), v.ovov, (2, 3, 0, 4), t3, (5, 6, 7, 8, 9, 3), (5, 6, 7, 2, 8, 1, 9, 4)) * -1.0 + t4new += einsum(t1, (0, 1), v.ovov, (2, 3, 0, 4), t3, (5, 6, 7, 8, 9, 3), (2, 5, 6, 7, 4, 8, 1, 9)) * -1.0 + t4new += einsum(t1, (0, 1), v.ovov, (2, 3, 0, 4), t3, (5, 6, 7, 8, 9, 3), (2, 5, 6, 7, 8, 4, 1, 9)) + t4new += einsum(t1, (0, 1), v.ovov, (2, 3, 0, 4), t3, (5, 6, 7, 8, 9, 3), (2, 5, 6, 7, 8, 9, 1, 4)) * -1.0 + t4new += einsum(t1, (0, 1), v.ovov, (2, 3, 0, 4), t3, (5, 6, 7, 8, 9, 3), (5, 2, 6, 7, 4, 8, 1, 9)) + t4new += einsum(t1, (0, 1), v.ovov, (2, 3, 0, 4), t3, (5, 6, 7, 8, 9, 3), (5, 2, 6, 7, 8, 4, 1, 9)) * -1.0 + t4new += einsum(t1, (0, 1), v.ovov, (2, 3, 0, 4), t3, (5, 6, 7, 8, 9, 3), (5, 2, 6, 7, 8, 9, 1, 4)) + t4new += einsum(t1, (0, 1), v.ovov, (2, 3, 0, 4), t3, (5, 6, 7, 8, 9, 3), (5, 6, 2, 7, 4, 8, 1, 9)) * -1.0 + t4new += einsum(t1, (0, 1), v.ovov, (2, 3, 0, 4), t3, (5, 6, 7, 8, 9, 3), (5, 6, 2, 7, 8, 4, 1, 9)) + t4new += einsum(t1, (0, 1), v.ovov, (2, 3, 0, 4), t3, (5, 6, 7, 8, 9, 3), (5, 6, 2, 7, 8, 9, 1, 4)) * -1.0 + t4new += einsum(t1, (0, 1), v.ovov, (2, 3, 0, 4), t3, (5, 6, 7, 8, 9, 3), (5, 6, 7, 2, 4, 8, 1, 9)) + t4new += einsum(t1, (0, 1), v.ovov, (2, 3, 0, 4), t3, (5, 6, 7, 8, 9, 3), (5, 6, 7, 2, 8, 4, 1, 9)) * -1.0 + t4new += einsum(t1, (0, 1), v.ovov, (2, 3, 0, 4), t3, (5, 6, 7, 8, 9, 3), (5, 6, 7, 2, 8, 9, 1, 4)) + t4new += einsum(t1, (0, 1), v.ovov, (2, 3, 0, 4), t3, (5, 6, 7, 8, 9, 3), (2, 5, 6, 7, 4, 8, 9, 1)) + t4new += einsum(t1, (0, 1), v.ovov, (2, 3, 0, 4), t3, (5, 6, 7, 8, 9, 3), (2, 5, 6, 7, 8, 4, 9, 1)) * -1.0 + t4new += einsum(t1, (0, 1), v.ovov, (2, 3, 0, 4), t3, (5, 6, 7, 8, 9, 3), (2, 5, 6, 7, 8, 9, 4, 1)) + t4new += einsum(t1, (0, 1), v.ovov, (2, 3, 0, 4), t3, (5, 6, 7, 8, 9, 3), (5, 2, 6, 7, 4, 8, 9, 1)) * -1.0 + t4new += einsum(t1, (0, 1), v.ovov, (2, 3, 0, 4), t3, (5, 6, 7, 8, 9, 3), (5, 2, 6, 7, 8, 4, 9, 1)) + t4new += einsum(t1, (0, 1), v.ovov, (2, 3, 0, 4), t3, (5, 6, 7, 8, 9, 3), (5, 2, 6, 7, 8, 9, 4, 1)) * -1.0 + t4new += einsum(t1, (0, 1), v.ovov, (2, 3, 0, 4), t3, (5, 6, 7, 8, 9, 3), (5, 6, 2, 7, 4, 8, 9, 1)) + t4new += einsum(t1, (0, 1), v.ovov, (2, 3, 0, 4), t3, (5, 6, 7, 8, 9, 3), (5, 6, 2, 7, 8, 4, 9, 1)) * -1.0 + t4new += einsum(t1, (0, 1), v.ovov, (2, 3, 0, 4), t3, (5, 6, 7, 8, 9, 3), (5, 6, 2, 7, 8, 9, 4, 1)) + t4new += einsum(t1, (0, 1), v.ovov, (2, 3, 0, 4), t3, (5, 6, 7, 8, 9, 3), (5, 6, 7, 2, 4, 8, 9, 1)) * -1.0 + t4new += einsum(t1, (0, 1), v.ovov, (2, 3, 0, 4), t3, (5, 6, 7, 8, 9, 3), (5, 6, 7, 2, 8, 4, 9, 1)) + t4new += einsum(t1, (0, 1), v.ovov, (2, 3, 0, 4), t3, (5, 6, 7, 8, 9, 3), (5, 6, 7, 2, 8, 9, 4, 1)) * -1.0 + t4new += einsum(t1, (0, 1), v.vvvv, (2, 3, 1, 4), t3, (5, 6, 7, 8, 9, 4), (0, 5, 6, 7, 2, 3, 8, 9)) + t4new += einsum(t1, (0, 1), v.vvvv, (2, 3, 1, 4), t3, (5, 6, 7, 8, 9, 4), (0, 5, 6, 7, 2, 8, 3, 9)) * -1.0 + t4new += einsum(t1, (0, 1), v.vvvv, (2, 3, 1, 4), t3, (5, 6, 7, 8, 9, 4), (0, 5, 6, 7, 2, 8, 9, 3)) + t4new += einsum(t1, (0, 1), v.vvvv, (2, 3, 1, 4), t3, (5, 6, 7, 8, 9, 4), (0, 5, 6, 7, 8, 2, 3, 9)) + t4new += einsum(t1, (0, 1), v.vvvv, (2, 3, 1, 4), t3, (5, 6, 7, 8, 9, 4), (0, 5, 6, 7, 8, 2, 9, 3)) * -1.0 + t4new += einsum(t1, (0, 1), v.vvvv, (2, 3, 1, 4), t3, (5, 6, 7, 8, 9, 4), (0, 5, 6, 7, 8, 9, 2, 3)) + t4new += einsum(t1, (0, 1), v.vvvv, (2, 3, 1, 4), t3, (5, 6, 7, 8, 9, 4), (5, 0, 6, 7, 2, 3, 8, 9)) * -1.0 + t4new += einsum(t1, (0, 1), v.vvvv, (2, 3, 1, 4), t3, (5, 6, 7, 8, 9, 4), (5, 0, 6, 7, 2, 8, 3, 9)) + t4new += einsum(t1, (0, 1), v.vvvv, (2, 3, 1, 4), t3, (5, 6, 7, 8, 9, 4), (5, 0, 6, 7, 2, 8, 9, 3)) * -1.0 + t4new += einsum(t1, (0, 1), v.vvvv, (2, 3, 1, 4), t3, (5, 6, 7, 8, 9, 4), (5, 0, 6, 7, 8, 2, 3, 9)) * -1.0 + t4new += einsum(t1, (0, 1), v.vvvv, (2, 3, 1, 4), t3, (5, 6, 7, 8, 9, 4), (5, 0, 6, 7, 8, 2, 9, 3)) + t4new += einsum(t1, (0, 1), v.vvvv, (2, 3, 1, 4), t3, (5, 6, 7, 8, 9, 4), (5, 0, 6, 7, 8, 9, 2, 3)) * -1.0 + t4new += einsum(t1, (0, 1), v.vvvv, (2, 3, 1, 4), t3, (5, 6, 7, 8, 9, 4), (5, 6, 0, 7, 2, 3, 8, 9)) + t4new += einsum(t1, (0, 1), v.vvvv, (2, 3, 1, 4), t3, (5, 6, 7, 8, 9, 4), (5, 6, 0, 7, 2, 8, 3, 9)) * -1.0 + t4new += einsum(t1, (0, 1), v.vvvv, (2, 3, 1, 4), t3, (5, 6, 7, 8, 9, 4), (5, 6, 0, 7, 2, 8, 9, 3)) + t4new += einsum(t1, (0, 1), v.vvvv, (2, 3, 1, 4), t3, (5, 6, 7, 8, 9, 4), (5, 6, 0, 7, 8, 2, 3, 9)) + t4new += einsum(t1, (0, 1), v.vvvv, (2, 3, 1, 4), t3, (5, 6, 7, 8, 9, 4), (5, 6, 0, 7, 8, 2, 9, 3)) * -1.0 + t4new += einsum(t1, (0, 1), v.vvvv, (2, 3, 1, 4), t3, (5, 6, 7, 8, 9, 4), (5, 6, 0, 7, 8, 9, 2, 3)) + t4new += einsum(t1, (0, 1), v.vvvv, (2, 3, 1, 4), t3, (5, 6, 7, 8, 9, 4), (5, 6, 7, 0, 2, 3, 8, 9)) * -1.0 + t4new += einsum(t1, (0, 1), v.vvvv, (2, 3, 1, 4), t3, (5, 6, 7, 8, 9, 4), (5, 6, 7, 0, 2, 8, 3, 9)) + t4new += einsum(t1, (0, 1), v.vvvv, (2, 3, 1, 4), t3, (5, 6, 7, 8, 9, 4), (5, 6, 7, 0, 2, 8, 9, 3)) * -1.0 + t4new += einsum(t1, (0, 1), v.vvvv, (2, 3, 1, 4), t3, (5, 6, 7, 8, 9, 4), (5, 6, 7, 0, 8, 2, 3, 9)) * -1.0 + t4new += einsum(t1, (0, 1), v.vvvv, (2, 3, 1, 4), t3, (5, 6, 7, 8, 9, 4), (5, 6, 7, 0, 8, 2, 9, 3)) + t4new += einsum(t1, (0, 1), v.vvvv, (2, 3, 1, 4), t3, (5, 6, 7, 8, 9, 4), (5, 6, 7, 0, 8, 9, 2, 3)) * -1.0 + t4new += einsum(t1, (0, 1), v.ooov, (2, 3, 4, 1), t4, (5, 6, 2, 3, 7, 8, 9, 10), (0, 4, 5, 6, 7, 8, 9, 10)) * -0.5 + t4new += einsum(t1, (0, 1), v.ooov, (2, 3, 4, 1), t4, (5, 6, 2, 3, 7, 8, 9, 10), (0, 5, 4, 6, 7, 8, 9, 10)) * 0.5 + t4new += einsum(t1, (0, 1), v.ooov, (2, 3, 4, 1), t4, (5, 6, 2, 3, 7, 8, 9, 10), (0, 5, 6, 4, 7, 8, 9, 10)) * -0.5 + t4new += einsum(t1, (0, 1), v.ooov, (2, 3, 4, 1), t4, (5, 6, 2, 3, 7, 8, 9, 10), (4, 0, 5, 6, 7, 8, 9, 10)) * 0.5 + t4new += einsum(t1, (0, 1), v.ooov, (2, 3, 4, 1), t4, (5, 6, 2, 3, 7, 8, 9, 10), (5, 0, 4, 6, 7, 8, 9, 10)) * -0.5 + t4new += einsum(t1, (0, 1), v.ooov, (2, 3, 4, 1), t4, (5, 6, 2, 3, 7, 8, 9, 10), (5, 0, 6, 4, 7, 8, 9, 10)) * 0.5 + t4new += einsum(t1, (0, 1), v.ooov, (2, 3, 4, 1), t4, (5, 6, 2, 3, 7, 8, 9, 10), (4, 5, 0, 6, 7, 8, 9, 10)) * -0.5 + t4new += einsum(t1, (0, 1), v.ooov, (2, 3, 4, 1), t4, (5, 6, 2, 3, 7, 8, 9, 10), (5, 4, 0, 6, 7, 8, 9, 10)) * 0.5 + t4new += einsum(t1, (0, 1), v.ooov, (2, 3, 4, 1), t4, (5, 6, 2, 3, 7, 8, 9, 10), (5, 6, 0, 4, 7, 8, 9, 10)) * -0.5 + t4new += einsum(t1, (0, 1), v.ooov, (2, 3, 4, 1), t4, (5, 6, 2, 3, 7, 8, 9, 10), (4, 5, 6, 0, 7, 8, 9, 10)) * 0.5 + t4new += einsum(t1, (0, 1), v.ooov, (2, 3, 4, 1), t4, (5, 6, 2, 3, 7, 8, 9, 10), (5, 4, 6, 0, 7, 8, 9, 10)) * -0.5 + t4new += einsum(t1, (0, 1), v.ooov, (2, 3, 4, 1), t4, (5, 6, 2, 3, 7, 8, 9, 10), (5, 6, 4, 0, 7, 8, 9, 10)) * 0.5 + t4new += einsum(t1, (0, 1), v.ooov, (0, 2, 3, 4), t4, (5, 6, 7, 2, 8, 9, 10, 4), (3, 5, 6, 7, 1, 8, 9, 10)) * -1.0 + t4new += einsum(t1, (0, 1), v.ooov, (0, 2, 3, 4), t4, (5, 6, 7, 2, 8, 9, 10, 4), (5, 3, 6, 7, 1, 8, 9, 10)) + t4new += einsum(t1, (0, 1), v.ooov, (0, 2, 3, 4), t4, (5, 6, 7, 2, 8, 9, 10, 4), (5, 6, 3, 7, 1, 8, 9, 10)) * -1.0 + t4new += einsum(t1, (0, 1), v.ooov, (0, 2, 3, 4), t4, (5, 6, 7, 2, 8, 9, 10, 4), (5, 6, 7, 3, 1, 8, 9, 10)) + t4new += einsum(t1, (0, 1), v.ooov, (0, 2, 3, 4), t4, (5, 6, 7, 2, 8, 9, 10, 4), (3, 5, 6, 7, 8, 1, 9, 10)) + t4new += einsum(t1, (0, 1), v.ooov, (0, 2, 3, 4), t4, (5, 6, 7, 2, 8, 9, 10, 4), (5, 3, 6, 7, 8, 1, 9, 10)) * -1.0 + t4new += einsum(t1, (0, 1), v.ooov, (0, 2, 3, 4), t4, (5, 6, 7, 2, 8, 9, 10, 4), (5, 6, 3, 7, 8, 1, 9, 10)) + t4new += einsum(t1, (0, 1), v.ooov, (0, 2, 3, 4), t4, (5, 6, 7, 2, 8, 9, 10, 4), (5, 6, 7, 3, 8, 1, 9, 10)) * -1.0 + t4new += einsum(t1, (0, 1), v.ooov, (0, 2, 3, 4), t4, (5, 6, 7, 2, 8, 9, 10, 4), (3, 5, 6, 7, 8, 9, 1, 10)) * -1.0 + t4new += einsum(t1, (0, 1), v.ooov, (0, 2, 3, 4), t4, (5, 6, 7, 2, 8, 9, 10, 4), (5, 3, 6, 7, 8, 9, 1, 10)) + t4new += einsum(t1, (0, 1), v.ooov, (0, 2, 3, 4), t4, (5, 6, 7, 2, 8, 9, 10, 4), (5, 6, 3, 7, 8, 9, 1, 10)) * -1.0 + t4new += einsum(t1, (0, 1), v.ooov, (0, 2, 3, 4), t4, (5, 6, 7, 2, 8, 9, 10, 4), (5, 6, 7, 3, 8, 9, 1, 10)) + t4new += einsum(t1, (0, 1), v.ooov, (0, 2, 3, 4), t4, (5, 6, 7, 2, 8, 9, 10, 4), (3, 5, 6, 7, 8, 9, 10, 1)) + t4new += einsum(t1, (0, 1), v.ooov, (0, 2, 3, 4), t4, (5, 6, 7, 2, 8, 9, 10, 4), (5, 3, 6, 7, 8, 9, 10, 1)) * -1.0 + t4new += einsum(t1, (0, 1), v.ooov, (0, 2, 3, 4), t4, (5, 6, 7, 2, 8, 9, 10, 4), (5, 6, 3, 7, 8, 9, 10, 1)) + t4new += einsum(t1, (0, 1), v.ooov, (0, 2, 3, 4), t4, (5, 6, 7, 2, 8, 9, 10, 4), (5, 6, 7, 3, 8, 9, 10, 1)) * -1.0 + t4new += einsum(t1, (0, 1), v.ooov, (0, 2, 3, 1), t4, (4, 5, 6, 2, 7, 8, 9, 10), (3, 4, 5, 6, 7, 8, 9, 10)) * -1.0 + t4new += einsum(t1, (0, 1), v.ooov, (0, 2, 3, 1), t4, (4, 5, 6, 2, 7, 8, 9, 10), (4, 3, 5, 6, 7, 8, 9, 10)) + t4new += einsum(t1, (0, 1), v.ooov, (0, 2, 3, 1), t4, (4, 5, 6, 2, 7, 8, 9, 10), (4, 5, 3, 6, 7, 8, 9, 10)) * -1.0 + t4new += einsum(t1, (0, 1), v.ooov, (0, 2, 3, 1), t4, (4, 5, 6, 2, 7, 8, 9, 10), (4, 5, 6, 3, 7, 8, 9, 10)) + t4new += einsum(t1, (0, 1), v.ovvv, (2, 3, 1, 4), t4, (5, 6, 7, 2, 8, 9, 10, 4), (0, 5, 6, 7, 3, 8, 9, 10)) * -1.0 + t4new += einsum(t1, (0, 1), v.ovvv, (2, 3, 1, 4), t4, (5, 6, 7, 2, 8, 9, 10, 4), (0, 5, 6, 7, 8, 3, 9, 10)) + t4new += einsum(t1, (0, 1), v.ovvv, (2, 3, 1, 4), t4, (5, 6, 7, 2, 8, 9, 10, 4), (0, 5, 6, 7, 8, 9, 3, 10)) * -1.0 + t4new += einsum(t1, (0, 1), v.ovvv, (2, 3, 1, 4), t4, (5, 6, 7, 2, 8, 9, 10, 4), (0, 5, 6, 7, 8, 9, 10, 3)) + t4new += einsum(t1, (0, 1), v.ovvv, (2, 3, 1, 4), t4, (5, 6, 7, 2, 8, 9, 10, 4), (5, 0, 6, 7, 3, 8, 9, 10)) + t4new += einsum(t1, (0, 1), v.ovvv, (2, 3, 1, 4), t4, (5, 6, 7, 2, 8, 9, 10, 4), (5, 0, 6, 7, 8, 3, 9, 10)) * -1.0 + t4new += einsum(t1, (0, 1), v.ovvv, (2, 3, 1, 4), t4, (5, 6, 7, 2, 8, 9, 10, 4), (5, 0, 6, 7, 8, 9, 3, 10)) + t4new += einsum(t1, (0, 1), v.ovvv, (2, 3, 1, 4), t4, (5, 6, 7, 2, 8, 9, 10, 4), (5, 0, 6, 7, 8, 9, 10, 3)) * -1.0 + t4new += einsum(t1, (0, 1), v.ovvv, (2, 3, 1, 4), t4, (5, 6, 7, 2, 8, 9, 10, 4), (5, 6, 0, 7, 3, 8, 9, 10)) * -1.0 + t4new += einsum(t1, (0, 1), v.ovvv, (2, 3, 1, 4), t4, (5, 6, 7, 2, 8, 9, 10, 4), (5, 6, 0, 7, 8, 3, 9, 10)) + t4new += einsum(t1, (0, 1), v.ovvv, (2, 3, 1, 4), t4, (5, 6, 7, 2, 8, 9, 10, 4), (5, 6, 0, 7, 8, 9, 3, 10)) * -1.0 + t4new += einsum(t1, (0, 1), v.ovvv, (2, 3, 1, 4), t4, (5, 6, 7, 2, 8, 9, 10, 4), (5, 6, 0, 7, 8, 9, 10, 3)) + t4new += einsum(t1, (0, 1), v.ovvv, (2, 3, 1, 4), t4, (5, 6, 7, 2, 8, 9, 10, 4), (5, 6, 7, 0, 3, 8, 9, 10)) + t4new += einsum(t1, (0, 1), v.ovvv, (2, 3, 1, 4), t4, (5, 6, 7, 2, 8, 9, 10, 4), (5, 6, 7, 0, 8, 3, 9, 10)) * -1.0 + t4new += einsum(t1, (0, 1), v.ovvv, (2, 3, 1, 4), t4, (5, 6, 7, 2, 8, 9, 10, 4), (5, 6, 7, 0, 8, 9, 3, 10)) + t4new += einsum(t1, (0, 1), v.ovvv, (2, 3, 1, 4), t4, (5, 6, 7, 2, 8, 9, 10, 4), (5, 6, 7, 0, 8, 9, 10, 3)) * -1.0 + t4new += einsum(t1, (0, 1), v.ovvv, (0, 2, 3, 4), t4, (5, 6, 7, 8, 9, 10, 3, 4), (5, 6, 7, 8, 1, 2, 9, 10)) * -0.5 + t4new += einsum(t1, (0, 1), v.ovvv, (0, 2, 3, 4), t4, (5, 6, 7, 8, 9, 10, 3, 4), (5, 6, 7, 8, 1, 9, 2, 10)) * 0.5 + t4new += einsum(t1, (0, 1), v.ovvv, (0, 2, 3, 4), t4, (5, 6, 7, 8, 9, 10, 3, 4), (5, 6, 7, 8, 1, 9, 10, 2)) * -0.5 + t4new += einsum(t1, (0, 1), v.ovvv, (0, 2, 3, 4), t4, (5, 6, 7, 8, 9, 10, 3, 4), (5, 6, 7, 8, 2, 1, 9, 10)) * 0.5 + t4new += einsum(t1, (0, 1), v.ovvv, (0, 2, 3, 4), t4, (5, 6, 7, 8, 9, 10, 3, 4), (5, 6, 7, 8, 9, 1, 2, 10)) * -0.5 + t4new += einsum(t1, (0, 1), v.ovvv, (0, 2, 3, 4), t4, (5, 6, 7, 8, 9, 10, 3, 4), (5, 6, 7, 8, 9, 1, 10, 2)) * 0.5 + t4new += einsum(t1, (0, 1), v.ovvv, (0, 2, 3, 4), t4, (5, 6, 7, 8, 9, 10, 3, 4), (5, 6, 7, 8, 2, 9, 1, 10)) * -0.5 + t4new += einsum(t1, (0, 1), v.ovvv, (0, 2, 3, 4), t4, (5, 6, 7, 8, 9, 10, 3, 4), (5, 6, 7, 8, 9, 2, 1, 10)) * 0.5 + t4new += einsum(t1, (0, 1), v.ovvv, (0, 2, 3, 4), t4, (5, 6, 7, 8, 9, 10, 3, 4), (5, 6, 7, 8, 9, 10, 1, 2)) * -0.5 + t4new += einsum(t1, (0, 1), v.ovvv, (0, 2, 3, 4), t4, (5, 6, 7, 8, 9, 10, 3, 4), (5, 6, 7, 8, 2, 9, 10, 1)) * 0.5 + t4new += einsum(t1, (0, 1), v.ovvv, (0, 2, 3, 4), t4, (5, 6, 7, 8, 9, 10, 3, 4), (5, 6, 7, 8, 9, 2, 10, 1)) * -0.5 + t4new += einsum(t1, (0, 1), v.ovvv, (0, 2, 3, 4), t4, (5, 6, 7, 8, 9, 10, 3, 4), (5, 6, 7, 8, 9, 10, 2, 1)) * 0.5 + t4new += einsum(t1, (0, 1), v.ovvv, (0, 2, 1, 3), t4, (4, 5, 6, 7, 8, 9, 10, 3), (4, 5, 6, 7, 2, 8, 9, 10)) * -1.0 + t4new += einsum(t1, (0, 1), v.ovvv, (0, 2, 1, 3), t4, (4, 5, 6, 7, 8, 9, 10, 3), (4, 5, 6, 7, 8, 2, 9, 10)) + t4new += einsum(t1, (0, 1), v.ovvv, (0, 2, 1, 3), t4, (4, 5, 6, 7, 8, 9, 10, 3), (4, 5, 6, 7, 8, 9, 2, 10)) * -1.0 + t4new += einsum(t1, (0, 1), v.ovvv, (0, 2, 1, 3), t4, (4, 5, 6, 7, 8, 9, 10, 3), (4, 5, 6, 7, 8, 9, 10, 2)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.oooo, (8, 9, 1, 5), (0, 4, 8, 9, 2, 6, 3, 7)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.oooo, (8, 9, 1, 5), (0, 4, 8, 9, 2, 6, 7, 3)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.oooo, (8, 9, 1, 5), (0, 4, 8, 9, 2, 3, 6, 7)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.oooo, (8, 9, 1, 5), (0, 4, 8, 9, 6, 2, 3, 7)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.oooo, (8, 9, 1, 5), (0, 4, 8, 9, 6, 2, 7, 3)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.oooo, (8, 9, 1, 5), (0, 4, 8, 9, 6, 7, 2, 3)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.oooo, (8, 9, 1, 5), (0, 8, 4, 9, 2, 6, 3, 7)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.oooo, (8, 9, 1, 5), (0, 8, 4, 9, 2, 6, 7, 3)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.oooo, (8, 9, 1, 5), (0, 8, 4, 9, 2, 3, 6, 7)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.oooo, (8, 9, 1, 5), (0, 8, 4, 9, 6, 2, 3, 7)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.oooo, (8, 9, 1, 5), (0, 8, 4, 9, 6, 2, 7, 3)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.oooo, (8, 9, 1, 5), (0, 8, 4, 9, 6, 7, 2, 3)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.oooo, (8, 9, 1, 5), (0, 8, 9, 4, 2, 6, 3, 7)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.oooo, (8, 9, 1, 5), (0, 8, 9, 4, 2, 6, 7, 3)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.oooo, (8, 9, 1, 5), (0, 8, 9, 4, 2, 3, 6, 7)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.oooo, (8, 9, 1, 5), (0, 8, 9, 4, 6, 2, 3, 7)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.oooo, (8, 9, 1, 5), (0, 8, 9, 4, 6, 2, 7, 3)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.oooo, (8, 9, 1, 5), (0, 8, 9, 4, 6, 7, 2, 3)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.oooo, (8, 9, 1, 5), (8, 0, 4, 9, 2, 6, 3, 7)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.oooo, (8, 9, 1, 5), (8, 0, 4, 9, 2, 6, 7, 3)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.oooo, (8, 9, 1, 5), (8, 0, 4, 9, 2, 3, 6, 7)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.oooo, (8, 9, 1, 5), (8, 0, 4, 9, 6, 2, 3, 7)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.oooo, (8, 9, 1, 5), (8, 0, 4, 9, 6, 2, 7, 3)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.oooo, (8, 9, 1, 5), (8, 0, 4, 9, 6, 7, 2, 3)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.oooo, (8, 9, 1, 5), (8, 0, 9, 4, 2, 6, 3, 7)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.oooo, (8, 9, 1, 5), (8, 0, 9, 4, 2, 6, 7, 3)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.oooo, (8, 9, 1, 5), (8, 0, 9, 4, 2, 3, 6, 7)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.oooo, (8, 9, 1, 5), (8, 0, 9, 4, 6, 2, 3, 7)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.oooo, (8, 9, 1, 5), (8, 0, 9, 4, 6, 2, 7, 3)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.oooo, (8, 9, 1, 5), (8, 0, 9, 4, 6, 7, 2, 3)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.oooo, (8, 9, 1, 5), (8, 9, 0, 4, 2, 6, 3, 7)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.oooo, (8, 9, 1, 5), (8, 9, 0, 4, 2, 6, 7, 3)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.oooo, (8, 9, 1, 5), (8, 9, 0, 4, 2, 3, 6, 7)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.oooo, (8, 9, 1, 5), (8, 9, 0, 4, 6, 2, 3, 7)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.oooo, (8, 9, 1, 5), (8, 9, 0, 4, 6, 2, 7, 3)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.oooo, (8, 9, 1, 5), (8, 9, 0, 4, 6, 7, 2, 3)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 4, 8, 1, 2, 6, 7, 9)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 4, 8, 1, 2, 6, 9, 7)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 4, 8, 1, 2, 9, 6, 7)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 4, 8, 1, 6, 2, 7, 9)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 4, 8, 1, 6, 2, 9, 7)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 4, 8, 1, 9, 2, 6, 7)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 4, 8, 1, 6, 7, 2, 9)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 4, 8, 1, 6, 9, 2, 7)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 4, 8, 1, 9, 6, 2, 7)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 4, 8, 1, 6, 7, 9, 2)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 4, 8, 1, 6, 9, 7, 2)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 4, 8, 1, 9, 6, 7, 2)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 7, 1, 9), (0, 4, 8, 5, 2, 6, 3, 9)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 7, 1, 9), (0, 4, 8, 5, 2, 6, 9, 3)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 7, 1, 9), (0, 4, 8, 5, 2, 3, 6, 9)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 7, 1, 9), (0, 4, 8, 5, 2, 9, 6, 3)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 7, 1, 9), (0, 4, 8, 5, 2, 3, 9, 6)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 7, 1, 9), (0, 4, 8, 5, 2, 9, 3, 6)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 7, 1, 9), (0, 4, 8, 5, 6, 2, 3, 9)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 7, 1, 9), (0, 4, 8, 5, 6, 2, 9, 3)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 7, 1, 9), (0, 4, 8, 5, 9, 2, 6, 3)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 7, 1, 9), (0, 4, 8, 5, 9, 2, 3, 6)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 7, 1, 9), (0, 4, 8, 5, 6, 9, 2, 3)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 7, 1, 9), (0, 4, 8, 5, 9, 6, 2, 3)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 4, 1, 8, 2, 6, 7, 9)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 4, 1, 8, 2, 6, 9, 7)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 4, 1, 8, 2, 9, 6, 7)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 4, 1, 8, 6, 2, 7, 9)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 4, 1, 8, 6, 2, 9, 7)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 4, 1, 8, 9, 2, 6, 7)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 4, 1, 8, 6, 7, 2, 9)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 4, 1, 8, 6, 9, 2, 7)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 4, 1, 8, 9, 6, 2, 7)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 4, 1, 8, 6, 7, 9, 2)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 4, 1, 8, 6, 9, 7, 2)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 4, 1, 8, 9, 6, 7, 2)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 7, 1, 9), (0, 4, 5, 8, 2, 6, 3, 9)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 7, 1, 9), (0, 4, 5, 8, 2, 6, 9, 3)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 7, 1, 9), (0, 4, 5, 8, 2, 3, 6, 9)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 7, 1, 9), (0, 4, 5, 8, 2, 9, 6, 3)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 7, 1, 9), (0, 4, 5, 8, 2, 3, 9, 6)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 7, 1, 9), (0, 4, 5, 8, 2, 9, 3, 6)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 7, 1, 9), (0, 4, 5, 8, 6, 2, 3, 9)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 7, 1, 9), (0, 4, 5, 8, 6, 2, 9, 3)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 7, 1, 9), (0, 4, 5, 8, 9, 2, 6, 3)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 7, 1, 9), (0, 4, 5, 8, 9, 2, 3, 6)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 7, 1, 9), (0, 4, 5, 8, 6, 9, 2, 3)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 7, 1, 9), (0, 4, 5, 8, 9, 6, 2, 3)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 8, 4, 1, 2, 6, 7, 9)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 8, 4, 1, 2, 6, 9, 7)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 8, 4, 1, 2, 9, 6, 7)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 8, 4, 1, 6, 2, 7, 9)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 8, 4, 1, 6, 2, 9, 7)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 8, 4, 1, 9, 2, 6, 7)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 8, 4, 1, 6, 7, 2, 9)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 8, 4, 1, 6, 9, 2, 7)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 8, 4, 1, 9, 6, 2, 7)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 8, 4, 1, 6, 7, 9, 2)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 8, 4, 1, 6, 9, 7, 2)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 8, 4, 1, 9, 6, 7, 2)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 7, 1, 9), (0, 8, 4, 5, 2, 6, 3, 9)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 7, 1, 9), (0, 8, 4, 5, 2, 6, 9, 3)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 7, 1, 9), (0, 8, 4, 5, 2, 3, 6, 9)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 7, 1, 9), (0, 8, 4, 5, 2, 9, 6, 3)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 7, 1, 9), (0, 8, 4, 5, 2, 3, 9, 6)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 7, 1, 9), (0, 8, 4, 5, 2, 9, 3, 6)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 7, 1, 9), (0, 8, 4, 5, 6, 2, 3, 9)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 7, 1, 9), (0, 8, 4, 5, 6, 2, 9, 3)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 7, 1, 9), (0, 8, 4, 5, 9, 2, 6, 3)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 7, 1, 9), (0, 8, 4, 5, 9, 2, 3, 6)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 7, 1, 9), (0, 8, 4, 5, 6, 9, 2, 3)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 7, 1, 9), (0, 8, 4, 5, 9, 6, 2, 3)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 1, 4, 8, 2, 6, 7, 9)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 1, 4, 8, 2, 6, 9, 7)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 1, 4, 8, 2, 9, 6, 7)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 1, 4, 8, 6, 2, 7, 9)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 1, 4, 8, 6, 2, 9, 7)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 1, 4, 8, 9, 2, 6, 7)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 1, 4, 8, 6, 7, 2, 9)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 1, 4, 8, 6, 9, 2, 7)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 1, 4, 8, 9, 6, 2, 7)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 1, 4, 8, 6, 7, 9, 2)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 1, 4, 8, 6, 9, 7, 2)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 1, 4, 8, 9, 6, 7, 2)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 8, 1, 4, 2, 6, 7, 9)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 8, 1, 4, 2, 6, 9, 7)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 8, 1, 4, 2, 9, 6, 7)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 8, 1, 4, 6, 2, 7, 9)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 8, 1, 4, 6, 2, 9, 7)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 8, 1, 4, 9, 2, 6, 7)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 8, 1, 4, 6, 7, 2, 9)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 8, 1, 4, 6, 9, 2, 7)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 8, 1, 4, 9, 6, 2, 7)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 8, 1, 4, 6, 7, 9, 2)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 8, 1, 4, 6, 9, 7, 2)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 8, 1, 4, 9, 6, 7, 2)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 1, 8, 4, 2, 6, 7, 9)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 1, 8, 4, 2, 6, 9, 7)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 1, 8, 4, 2, 9, 6, 7)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 1, 8, 4, 6, 2, 7, 9)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 1, 8, 4, 6, 2, 9, 7)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 1, 8, 4, 9, 2, 6, 7)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 1, 8, 4, 6, 7, 2, 9)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 1, 8, 4, 6, 9, 2, 7)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 1, 8, 4, 9, 6, 2, 7)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 1, 8, 4, 6, 7, 9, 2)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 1, 8, 4, 6, 9, 7, 2)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (0, 1, 8, 4, 9, 6, 7, 2)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (8, 0, 4, 1, 2, 6, 7, 9)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (8, 0, 4, 1, 2, 6, 9, 7)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (8, 0, 4, 1, 2, 9, 6, 7)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (8, 0, 4, 1, 6, 2, 7, 9)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (8, 0, 4, 1, 6, 2, 9, 7)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (8, 0, 4, 1, 9, 2, 6, 7)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (8, 0, 4, 1, 6, 7, 2, 9)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (8, 0, 4, 1, 6, 9, 2, 7)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (8, 0, 4, 1, 9, 6, 2, 7)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (8, 0, 4, 1, 6, 7, 9, 2)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (8, 0, 4, 1, 6, 9, 7, 2)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (8, 0, 4, 1, 9, 6, 7, 2)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 7, 1, 9), (8, 0, 4, 5, 2, 6, 3, 9)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 7, 1, 9), (8, 0, 4, 5, 2, 6, 9, 3)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 7, 1, 9), (8, 0, 4, 5, 2, 3, 6, 9)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 7, 1, 9), (8, 0, 4, 5, 2, 9, 6, 3)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 7, 1, 9), (8, 0, 4, 5, 2, 3, 9, 6)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 7, 1, 9), (8, 0, 4, 5, 2, 9, 3, 6)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 7, 1, 9), (8, 0, 4, 5, 6, 2, 3, 9)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 7, 1, 9), (8, 0, 4, 5, 6, 2, 9, 3)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 7, 1, 9), (8, 0, 4, 5, 9, 2, 6, 3)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 7, 1, 9), (8, 0, 4, 5, 9, 2, 3, 6)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 7, 1, 9), (8, 0, 4, 5, 6, 9, 2, 3)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 7, 1, 9), (8, 0, 4, 5, 9, 6, 2, 3)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (8, 0, 1, 4, 2, 6, 7, 9)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (8, 0, 1, 4, 2, 6, 9, 7)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (8, 0, 1, 4, 2, 9, 6, 7)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (8, 0, 1, 4, 6, 2, 7, 9)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (8, 0, 1, 4, 6, 2, 9, 7)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (8, 0, 1, 4, 9, 2, 6, 7)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (8, 0, 1, 4, 6, 7, 2, 9)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (8, 0, 1, 4, 6, 9, 2, 7)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (8, 0, 1, 4, 9, 6, 2, 7)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (8, 0, 1, 4, 6, 7, 9, 2)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (8, 0, 1, 4, 6, 9, 7, 2)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.ovov, (8, 3, 5, 9), (8, 0, 1, 4, 9, 6, 7, 2)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.vvvv, (8, 9, 3, 7), (0, 4, 1, 5, 8, 9, 2, 6)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.vvvv, (8, 9, 3, 7), (0, 4, 1, 5, 8, 9, 6, 2)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.vvvv, (8, 9, 3, 7), (0, 4, 1, 5, 8, 2, 9, 6)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.vvvv, (8, 9, 3, 7), (0, 4, 1, 5, 8, 6, 9, 2)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.vvvv, (8, 9, 3, 7), (0, 4, 1, 5, 8, 2, 6, 9)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.vvvv, (8, 9, 3, 7), (0, 4, 1, 5, 8, 6, 2, 9)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.vvvv, (8, 9, 3, 7), (0, 4, 5, 1, 8, 9, 2, 6)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.vvvv, (8, 9, 3, 7), (0, 4, 5, 1, 8, 9, 6, 2)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.vvvv, (8, 9, 3, 7), (0, 4, 5, 1, 8, 2, 9, 6)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.vvvv, (8, 9, 3, 7), (0, 4, 5, 1, 8, 6, 9, 2)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.vvvv, (8, 9, 3, 7), (0, 4, 5, 1, 8, 2, 6, 9)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.vvvv, (8, 9, 3, 7), (0, 4, 5, 1, 8, 6, 2, 9)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.vvvv, (8, 9, 3, 7), (0, 4, 1, 5, 2, 8, 9, 6)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.vvvv, (8, 9, 3, 7), (0, 4, 1, 5, 6, 8, 9, 2)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.vvvv, (8, 9, 3, 7), (0, 4, 1, 5, 2, 8, 6, 9)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.vvvv, (8, 9, 3, 7), (0, 4, 1, 5, 6, 8, 2, 9)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.vvvv, (8, 9, 3, 7), (0, 4, 5, 1, 2, 8, 9, 6)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.vvvv, (8, 9, 3, 7), (0, 4, 5, 1, 6, 8, 9, 2)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.vvvv, (8, 9, 3, 7), (0, 4, 5, 1, 2, 8, 6, 9)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.vvvv, (8, 9, 3, 7), (0, 4, 5, 1, 6, 8, 2, 9)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.vvvv, (8, 9, 3, 7), (0, 4, 1, 5, 2, 6, 8, 9)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.vvvv, (8, 9, 3, 7), (0, 4, 1, 5, 6, 2, 8, 9)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.vvvv, (8, 9, 3, 7), (0, 4, 5, 1, 2, 6, 8, 9)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.vvvv, (8, 9, 3, 7), (0, 4, 5, 1, 6, 2, 8, 9)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.vvvv, (8, 9, 3, 7), (0, 1, 4, 5, 8, 9, 2, 6)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.vvvv, (8, 9, 3, 7), (0, 1, 4, 5, 8, 9, 6, 2)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.vvvv, (8, 9, 3, 7), (0, 1, 4, 5, 8, 2, 9, 6)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.vvvv, (8, 9, 3, 7), (0, 1, 4, 5, 8, 6, 9, 2)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.vvvv, (8, 9, 3, 7), (0, 1, 4, 5, 8, 2, 6, 9)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.vvvv, (8, 9, 3, 7), (0, 1, 4, 5, 8, 6, 2, 9)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.vvvv, (8, 9, 3, 7), (0, 1, 4, 5, 2, 8, 9, 6)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.vvvv, (8, 9, 3, 7), (0, 1, 4, 5, 6, 8, 9, 2)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.vvvv, (8, 9, 3, 7), (0, 1, 4, 5, 2, 8, 6, 9)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.vvvv, (8, 9, 3, 7), (0, 1, 4, 5, 6, 8, 2, 9)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.vvvv, (8, 9, 3, 7), (0, 1, 4, 5, 2, 6, 8, 9)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), v.vvvv, (8, 9, 3, 7), (0, 1, 4, 5, 6, 2, 8, 9)) + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), t3, (7, 4, 5, 8, 9, 10), (0, 1, 6, 7, 2, 8, 9, 10)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), t3, (7, 4, 5, 8, 9, 10), (0, 1, 7, 6, 2, 8, 9, 10)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), t3, (7, 4, 5, 8, 9, 10), (0, 1, 6, 7, 8, 2, 9, 10)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), t3, (7, 4, 5, 8, 9, 10), (0, 1, 7, 6, 8, 2, 9, 10)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), t3, (7, 4, 5, 8, 9, 10), (0, 1, 6, 7, 8, 9, 2, 10)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), t3, (7, 4, 5, 8, 9, 10), (0, 1, 7, 6, 8, 9, 2, 10)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), t3, (7, 4, 5, 8, 9, 10), (0, 1, 6, 7, 8, 9, 10, 2)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), t3, (7, 4, 5, 8, 9, 10), (0, 1, 7, 6, 8, 9, 10, 2)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), t3, (7, 4, 5, 8, 9, 10), (0, 6, 1, 7, 2, 8, 9, 10)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), t3, (7, 4, 5, 8, 9, 10), (0, 7, 1, 6, 2, 8, 9, 10)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), t3, (7, 4, 5, 8, 9, 10), (0, 6, 1, 7, 8, 2, 9, 10)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), t3, (7, 4, 5, 8, 9, 10), (0, 7, 1, 6, 8, 2, 9, 10)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), t3, (7, 4, 5, 8, 9, 10), (0, 6, 1, 7, 8, 9, 2, 10)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), t3, (7, 4, 5, 8, 9, 10), (0, 7, 1, 6, 8, 9, 2, 10)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), t3, (7, 4, 5, 8, 9, 10), (0, 6, 1, 7, 8, 9, 10, 2)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), t3, (7, 4, 5, 8, 9, 10), (0, 7, 1, 6, 8, 9, 10, 2)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), t3, (7, 4, 5, 8, 9, 10), (0, 6, 7, 1, 2, 8, 9, 10)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), t3, (7, 4, 5, 8, 9, 10), (0, 7, 6, 1, 2, 8, 9, 10)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), t3, (7, 4, 5, 8, 9, 10), (0, 6, 7, 1, 8, 2, 9, 10)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), t3, (7, 4, 5, 8, 9, 10), (0, 7, 6, 1, 8, 2, 9, 10)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), t3, (7, 4, 5, 8, 9, 10), (0, 6, 7, 1, 8, 9, 2, 10)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), t3, (7, 4, 5, 8, 9, 10), (0, 7, 6, 1, 8, 9, 2, 10)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), t3, (7, 4, 5, 8, 9, 10), (0, 6, 7, 1, 8, 9, 10, 2)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), t3, (7, 4, 5, 8, 9, 10), (0, 7, 6, 1, 8, 9, 10, 2)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (0, 5, 7, 8, 2, 3, 9, 10)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (0, 5, 7, 8, 2, 9, 3, 10)) + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (0, 5, 7, 8, 2, 9, 10, 3)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 3), t3, (6, 7, 4, 8, 9, 10), (0, 5, 6, 7, 2, 8, 9, 10)) + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (0, 7, 5, 8, 2, 3, 9, 10)) + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (0, 7, 5, 8, 2, 9, 3, 10)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (0, 7, 5, 8, 2, 9, 10, 3)) + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 3), t3, (6, 7, 4, 8, 9, 10), (0, 6, 5, 7, 2, 8, 9, 10)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (0, 7, 8, 5, 2, 3, 9, 10)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (0, 7, 8, 5, 2, 9, 3, 10)) + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (0, 7, 8, 5, 2, 9, 10, 3)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 3), t3, (6, 7, 4, 8, 9, 10), (0, 6, 7, 5, 2, 8, 9, 10)) + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (0, 5, 7, 8, 9, 2, 3, 10)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (0, 5, 7, 8, 9, 2, 10, 3)) + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 3), t3, (6, 7, 4, 8, 9, 10), (0, 5, 6, 7, 8, 2, 9, 10)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (0, 7, 5, 8, 9, 2, 3, 10)) + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (0, 7, 5, 8, 9, 2, 10, 3)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 3), t3, (6, 7, 4, 8, 9, 10), (0, 6, 5, 7, 8, 2, 9, 10)) + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (0, 7, 8, 5, 9, 2, 3, 10)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (0, 7, 8, 5, 9, 2, 10, 3)) + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 3), t3, (6, 7, 4, 8, 9, 10), (0, 6, 7, 5, 8, 2, 9, 10)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (0, 5, 7, 8, 9, 10, 2, 3)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 3), t3, (6, 7, 4, 8, 9, 10), (0, 5, 6, 7, 8, 9, 2, 10)) + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (0, 7, 5, 8, 9, 10, 2, 3)) + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 3), t3, (6, 7, 4, 8, 9, 10), (0, 6, 5, 7, 8, 9, 2, 10)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (0, 7, 8, 5, 9, 10, 2, 3)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 3), t3, (6, 7, 4, 8, 9, 10), (0, 6, 7, 5, 8, 9, 2, 10)) + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 3), t3, (6, 7, 4, 8, 9, 10), (0, 5, 6, 7, 8, 9, 10, 2)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 3), t3, (6, 7, 4, 8, 9, 10), (0, 6, 5, 7, 8, 9, 10, 2)) + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 3), t3, (6, 7, 4, 8, 9, 10), (0, 6, 7, 5, 8, 9, 10, 2)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), t3, (7, 4, 5, 8, 9, 10), (6, 0, 1, 7, 2, 8, 9, 10)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), t3, (7, 4, 5, 8, 9, 10), (7, 0, 1, 6, 2, 8, 9, 10)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), t3, (7, 4, 5, 8, 9, 10), (6, 0, 1, 7, 8, 2, 9, 10)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), t3, (7, 4, 5, 8, 9, 10), (7, 0, 1, 6, 8, 2, 9, 10)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), t3, (7, 4, 5, 8, 9, 10), (6, 0, 1, 7, 8, 9, 2, 10)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), t3, (7, 4, 5, 8, 9, 10), (7, 0, 1, 6, 8, 9, 2, 10)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), t3, (7, 4, 5, 8, 9, 10), (6, 0, 1, 7, 8, 9, 10, 2)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), t3, (7, 4, 5, 8, 9, 10), (7, 0, 1, 6, 8, 9, 10, 2)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), t3, (7, 4, 5, 8, 9, 10), (6, 0, 7, 1, 2, 8, 9, 10)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), t3, (7, 4, 5, 8, 9, 10), (7, 0, 6, 1, 2, 8, 9, 10)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), t3, (7, 4, 5, 8, 9, 10), (6, 0, 7, 1, 8, 2, 9, 10)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), t3, (7, 4, 5, 8, 9, 10), (7, 0, 6, 1, 8, 2, 9, 10)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), t3, (7, 4, 5, 8, 9, 10), (6, 0, 7, 1, 8, 9, 2, 10)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), t3, (7, 4, 5, 8, 9, 10), (7, 0, 6, 1, 8, 9, 2, 10)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), t3, (7, 4, 5, 8, 9, 10), (6, 0, 7, 1, 8, 9, 10, 2)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), t3, (7, 4, 5, 8, 9, 10), (7, 0, 6, 1, 8, 9, 10, 2)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (5, 0, 7, 8, 2, 3, 9, 10)) + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (5, 0, 7, 8, 2, 9, 3, 10)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (5, 0, 7, 8, 2, 9, 10, 3)) + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 3), t3, (6, 7, 4, 8, 9, 10), (5, 0, 6, 7, 2, 8, 9, 10)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (7, 0, 5, 8, 2, 3, 9, 10)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (7, 0, 5, 8, 2, 9, 3, 10)) + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (7, 0, 5, 8, 2, 9, 10, 3)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 3), t3, (6, 7, 4, 8, 9, 10), (6, 0, 5, 7, 2, 8, 9, 10)) + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (7, 0, 8, 5, 2, 3, 9, 10)) + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (7, 0, 8, 5, 2, 9, 3, 10)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (7, 0, 8, 5, 2, 9, 10, 3)) + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 3), t3, (6, 7, 4, 8, 9, 10), (6, 0, 7, 5, 2, 8, 9, 10)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (5, 0, 7, 8, 9, 2, 3, 10)) + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (5, 0, 7, 8, 9, 2, 10, 3)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 3), t3, (6, 7, 4, 8, 9, 10), (5, 0, 6, 7, 8, 2, 9, 10)) + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (7, 0, 5, 8, 9, 2, 3, 10)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (7, 0, 5, 8, 9, 2, 10, 3)) + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 3), t3, (6, 7, 4, 8, 9, 10), (6, 0, 5, 7, 8, 2, 9, 10)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (7, 0, 8, 5, 9, 2, 3, 10)) + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (7, 0, 8, 5, 9, 2, 10, 3)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 3), t3, (6, 7, 4, 8, 9, 10), (6, 0, 7, 5, 8, 2, 9, 10)) + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (5, 0, 7, 8, 9, 10, 2, 3)) + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 3), t3, (6, 7, 4, 8, 9, 10), (5, 0, 6, 7, 8, 9, 2, 10)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (7, 0, 5, 8, 9, 10, 2, 3)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 3), t3, (6, 7, 4, 8, 9, 10), (6, 0, 5, 7, 8, 9, 2, 10)) + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (7, 0, 8, 5, 9, 10, 2, 3)) + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 3), t3, (6, 7, 4, 8, 9, 10), (6, 0, 7, 5, 8, 9, 2, 10)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 3), t3, (6, 7, 4, 8, 9, 10), (5, 0, 6, 7, 8, 9, 10, 2)) + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 3), t3, (6, 7, 4, 8, 9, 10), (6, 0, 5, 7, 8, 9, 10, 2)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 3), t3, (6, 7, 4, 8, 9, 10), (6, 0, 7, 5, 8, 9, 10, 2)) + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), t3, (7, 4, 5, 8, 9, 10), (6, 7, 0, 1, 2, 8, 9, 10)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), t3, (7, 4, 5, 8, 9, 10), (7, 6, 0, 1, 2, 8, 9, 10)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), t3, (7, 4, 5, 8, 9, 10), (6, 7, 0, 1, 8, 2, 9, 10)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), t3, (7, 4, 5, 8, 9, 10), (7, 6, 0, 1, 8, 2, 9, 10)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), t3, (7, 4, 5, 8, 9, 10), (6, 7, 0, 1, 8, 9, 2, 10)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), t3, (7, 4, 5, 8, 9, 10), (7, 6, 0, 1, 8, 9, 2, 10)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), t3, (7, 4, 5, 8, 9, 10), (6, 7, 0, 1, 8, 9, 10, 2)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), t3, (7, 4, 5, 8, 9, 10), (7, 6, 0, 1, 8, 9, 10, 2)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (5, 7, 0, 8, 2, 3, 9, 10)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (5, 7, 0, 8, 2, 9, 3, 10)) + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (5, 7, 0, 8, 2, 9, 10, 3)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 3), t3, (6, 7, 4, 8, 9, 10), (5, 6, 0, 7, 2, 8, 9, 10)) + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (7, 5, 0, 8, 2, 3, 9, 10)) + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (7, 5, 0, 8, 2, 9, 3, 10)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (7, 5, 0, 8, 2, 9, 10, 3)) + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 3), t3, (6, 7, 4, 8, 9, 10), (6, 5, 0, 7, 2, 8, 9, 10)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (7, 8, 0, 5, 2, 3, 9, 10)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (7, 8, 0, 5, 2, 9, 3, 10)) + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (7, 8, 0, 5, 2, 9, 10, 3)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 3), t3, (6, 7, 4, 8, 9, 10), (6, 7, 0, 5, 2, 8, 9, 10)) + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (5, 7, 0, 8, 9, 2, 3, 10)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (5, 7, 0, 8, 9, 2, 10, 3)) + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 3), t3, (6, 7, 4, 8, 9, 10), (5, 6, 0, 7, 8, 2, 9, 10)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (7, 5, 0, 8, 9, 2, 3, 10)) + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (7, 5, 0, 8, 9, 2, 10, 3)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 3), t3, (6, 7, 4, 8, 9, 10), (6, 5, 0, 7, 8, 2, 9, 10)) + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (7, 8, 0, 5, 9, 2, 3, 10)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (7, 8, 0, 5, 9, 2, 10, 3)) + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 3), t3, (6, 7, 4, 8, 9, 10), (6, 7, 0, 5, 8, 2, 9, 10)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (5, 7, 0, 8, 9, 10, 2, 3)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 3), t3, (6, 7, 4, 8, 9, 10), (5, 6, 0, 7, 8, 9, 2, 10)) + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (7, 5, 0, 8, 9, 10, 2, 3)) + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 3), t3, (6, 7, 4, 8, 9, 10), (6, 5, 0, 7, 8, 9, 2, 10)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (7, 8, 0, 5, 9, 10, 2, 3)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 3), t3, (6, 7, 4, 8, 9, 10), (6, 7, 0, 5, 8, 9, 2, 10)) + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 3), t3, (6, 7, 4, 8, 9, 10), (5, 6, 0, 7, 8, 9, 10, 2)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 3), t3, (6, 7, 4, 8, 9, 10), (6, 5, 0, 7, 8, 9, 10, 2)) + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 3), t3, (6, 7, 4, 8, 9, 10), (6, 7, 0, 5, 8, 9, 10, 2)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (5, 7, 8, 0, 2, 3, 9, 10)) + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (5, 7, 8, 0, 2, 9, 3, 10)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (5, 7, 8, 0, 2, 9, 10, 3)) + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 3), t3, (6, 7, 4, 8, 9, 10), (5, 6, 7, 0, 2, 8, 9, 10)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (7, 5, 8, 0, 2, 3, 9, 10)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (7, 5, 8, 0, 2, 9, 3, 10)) + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (7, 5, 8, 0, 2, 9, 10, 3)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 3), t3, (6, 7, 4, 8, 9, 10), (6, 5, 7, 0, 2, 8, 9, 10)) + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (7, 8, 5, 0, 2, 3, 9, 10)) + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (7, 8, 5, 0, 2, 9, 3, 10)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (7, 8, 5, 0, 2, 9, 10, 3)) + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 3), t3, (6, 7, 4, 8, 9, 10), (6, 7, 5, 0, 2, 8, 9, 10)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (5, 7, 8, 0, 9, 2, 3, 10)) + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (5, 7, 8, 0, 9, 2, 10, 3)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 3), t3, (6, 7, 4, 8, 9, 10), (5, 6, 7, 0, 8, 2, 9, 10)) + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (7, 5, 8, 0, 9, 2, 3, 10)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (7, 5, 8, 0, 9, 2, 10, 3)) + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 3), t3, (6, 7, 4, 8, 9, 10), (6, 5, 7, 0, 8, 2, 9, 10)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (7, 8, 5, 0, 9, 2, 3, 10)) + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (7, 8, 5, 0, 9, 2, 10, 3)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 3), t3, (6, 7, 4, 8, 9, 10), (6, 7, 5, 0, 8, 2, 9, 10)) + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (5, 7, 8, 0, 9, 10, 2, 3)) + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 3), t3, (6, 7, 4, 8, 9, 10), (5, 6, 7, 0, 8, 9, 2, 10)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (7, 5, 8, 0, 9, 10, 2, 3)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 3), t3, (6, 7, 4, 8, 9, 10), (6, 5, 7, 0, 8, 9, 2, 10)) + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 6), t3, (7, 8, 4, 9, 10, 6), (7, 8, 5, 0, 9, 10, 2, 3)) + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 3), t3, (6, 7, 4, 8, 9, 10), (6, 7, 5, 0, 8, 9, 2, 10)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 3), t3, (6, 7, 4, 8, 9, 10), (5, 6, 7, 0, 8, 9, 10, 2)) + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 3), t3, (6, 7, 4, 8, 9, 10), (6, 5, 7, 0, 8, 9, 10, 2)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (1, 4, 5, 3), t3, (6, 7, 4, 8, 9, 10), (6, 7, 5, 0, 8, 9, 10, 2)) + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (0, 1, 4, 5), t3, (6, 7, 8, 9, 10, 5), (4, 6, 7, 8, 2, 3, 9, 10)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (0, 1, 4, 5), t3, (6, 7, 8, 9, 10, 5), (4, 6, 7, 8, 2, 9, 3, 10)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (0, 1, 4, 5), t3, (6, 7, 8, 9, 10, 5), (4, 6, 7, 8, 2, 9, 10, 3)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (0, 1, 4, 5), t3, (6, 7, 8, 9, 10, 5), (6, 4, 7, 8, 2, 3, 9, 10)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (0, 1, 4, 5), t3, (6, 7, 8, 9, 10, 5), (6, 4, 7, 8, 2, 9, 3, 10)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (0, 1, 4, 5), t3, (6, 7, 8, 9, 10, 5), (6, 4, 7, 8, 2, 9, 10, 3)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (0, 1, 4, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 4, 8, 2, 3, 9, 10)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (0, 1, 4, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 4, 8, 2, 9, 3, 10)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (0, 1, 4, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 4, 8, 2, 9, 10, 3)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (0, 1, 4, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 8, 4, 2, 3, 9, 10)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (0, 1, 4, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 8, 4, 2, 9, 3, 10)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (0, 1, 4, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 8, 4, 2, 9, 10, 3)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (0, 1, 4, 5), t3, (6, 7, 8, 9, 10, 5), (4, 6, 7, 8, 9, 2, 3, 10)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (0, 1, 4, 5), t3, (6, 7, 8, 9, 10, 5), (4, 6, 7, 8, 9, 2, 10, 3)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (0, 1, 4, 5), t3, (6, 7, 8, 9, 10, 5), (6, 4, 7, 8, 9, 2, 3, 10)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (0, 1, 4, 5), t3, (6, 7, 8, 9, 10, 5), (6, 4, 7, 8, 9, 2, 10, 3)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (0, 1, 4, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 4, 8, 9, 2, 3, 10)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (0, 1, 4, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 4, 8, 9, 2, 10, 3)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (0, 1, 4, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 8, 4, 9, 2, 3, 10)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (0, 1, 4, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 8, 4, 9, 2, 10, 3)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (0, 1, 4, 5), t3, (6, 7, 8, 9, 10, 5), (4, 6, 7, 8, 9, 10, 2, 3)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (0, 1, 4, 5), t3, (6, 7, 8, 9, 10, 5), (6, 4, 7, 8, 9, 10, 2, 3)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (0, 1, 4, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 4, 8, 9, 10, 2, 3)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ooov, (0, 1, 4, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 8, 4, 9, 10, 2, 3)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (0, 1, 7, 8, 5, 2, 9, 10)) + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (0, 1, 7, 8, 5, 9, 2, 10)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (0, 1, 7, 8, 5, 9, 10, 2)) + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 2, 3), t3, (6, 7, 4, 8, 9, 10), (0, 1, 6, 7, 5, 8, 9, 10)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (0, 1, 7, 8, 2, 5, 9, 10)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (0, 1, 7, 8, 9, 5, 2, 10)) + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (0, 1, 7, 8, 9, 5, 10, 2)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 2, 3), t3, (6, 7, 4, 8, 9, 10), (0, 1, 6, 7, 8, 5, 9, 10)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (0, 1, 7, 8, 2, 9, 5, 10)) + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (0, 1, 7, 8, 9, 2, 5, 10)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (0, 1, 7, 8, 9, 10, 5, 2)) + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 2, 3), t3, (6, 7, 4, 8, 9, 10), (0, 1, 6, 7, 8, 9, 5, 10)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (0, 1, 7, 8, 2, 9, 10, 5)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (0, 1, 7, 8, 9, 2, 10, 5)) + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (0, 1, 7, 8, 9, 10, 2, 5)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 2, 3), t3, (6, 7, 4, 8, 9, 10), (0, 1, 6, 7, 8, 9, 10, 5)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (0, 7, 1, 8, 5, 2, 9, 10)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (0, 7, 1, 8, 5, 9, 2, 10)) + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (0, 7, 1, 8, 5, 9, 10, 2)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 2, 3), t3, (6, 7, 4, 8, 9, 10), (0, 6, 1, 7, 5, 8, 9, 10)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (0, 7, 1, 8, 2, 5, 9, 10)) + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (0, 7, 1, 8, 9, 5, 2, 10)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (0, 7, 1, 8, 9, 5, 10, 2)) + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 2, 3), t3, (6, 7, 4, 8, 9, 10), (0, 6, 1, 7, 8, 5, 9, 10)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (0, 7, 1, 8, 2, 9, 5, 10)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (0, 7, 1, 8, 9, 2, 5, 10)) + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (0, 7, 1, 8, 9, 10, 5, 2)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 2, 3), t3, (6, 7, 4, 8, 9, 10), (0, 6, 1, 7, 8, 9, 5, 10)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (0, 7, 1, 8, 2, 9, 10, 5)) + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (0, 7, 1, 8, 9, 2, 10, 5)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (0, 7, 1, 8, 9, 10, 2, 5)) + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 2, 3), t3, (6, 7, 4, 8, 9, 10), (0, 6, 1, 7, 8, 9, 10, 5)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (0, 7, 8, 1, 5, 2, 9, 10)) + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (0, 7, 8, 1, 5, 9, 2, 10)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (0, 7, 8, 1, 5, 9, 10, 2)) + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 2, 3), t3, (6, 7, 4, 8, 9, 10), (0, 6, 7, 1, 5, 8, 9, 10)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (0, 7, 8, 1, 2, 5, 9, 10)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (0, 7, 8, 1, 9, 5, 2, 10)) + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (0, 7, 8, 1, 9, 5, 10, 2)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 2, 3), t3, (6, 7, 4, 8, 9, 10), (0, 6, 7, 1, 8, 5, 9, 10)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (0, 7, 8, 1, 2, 9, 5, 10)) + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (0, 7, 8, 1, 9, 2, 5, 10)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (0, 7, 8, 1, 9, 10, 5, 2)) + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 2, 3), t3, (6, 7, 4, 8, 9, 10), (0, 6, 7, 1, 8, 9, 5, 10)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (0, 7, 8, 1, 2, 9, 10, 5)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (0, 7, 8, 1, 9, 2, 10, 5)) + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (0, 7, 8, 1, 9, 10, 2, 5)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 2, 3), t3, (6, 7, 4, 8, 9, 10), (0, 6, 7, 1, 8, 9, 10, 5)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 6), t3, (7, 8, 9, 10, 5, 6), (0, 7, 8, 9, 4, 2, 3, 10)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 6), t3, (7, 8, 9, 10, 5, 6), (0, 7, 8, 9, 4, 2, 10, 3)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 3, 5), t3, (6, 7, 8, 9, 10, 5), (0, 6, 7, 8, 4, 2, 9, 10)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 6), t3, (7, 8, 9, 10, 5, 6), (0, 7, 8, 9, 4, 10, 2, 3)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 3, 5), t3, (6, 7, 8, 9, 10, 5), (0, 6, 7, 8, 4, 9, 2, 10)) + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 3, 5), t3, (6, 7, 8, 9, 10, 5), (0, 6, 7, 8, 4, 9, 10, 2)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 6), t3, (7, 8, 9, 10, 5, 6), (0, 7, 8, 9, 2, 4, 3, 10)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 6), t3, (7, 8, 9, 10, 5, 6), (0, 7, 8, 9, 2, 4, 10, 3)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 3, 5), t3, (6, 7, 8, 9, 10, 5), (0, 6, 7, 8, 2, 4, 9, 10)) + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 6), t3, (7, 8, 9, 10, 5, 6), (0, 7, 8, 9, 10, 4, 2, 3)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 3, 5), t3, (6, 7, 8, 9, 10, 5), (0, 6, 7, 8, 9, 4, 2, 10)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 3, 5), t3, (6, 7, 8, 9, 10, 5), (0, 6, 7, 8, 9, 4, 10, 2)) + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 6), t3, (7, 8, 9, 10, 5, 6), (0, 7, 8, 9, 2, 3, 4, 10)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 6), t3, (7, 8, 9, 10, 5, 6), (0, 7, 8, 9, 2, 10, 4, 3)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 3, 5), t3, (6, 7, 8, 9, 10, 5), (0, 6, 7, 8, 2, 9, 4, 10)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 6), t3, (7, 8, 9, 10, 5, 6), (0, 7, 8, 9, 10, 2, 4, 3)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 3, 5), t3, (6, 7, 8, 9, 10, 5), (0, 6, 7, 8, 9, 2, 4, 10)) + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 3, 5), t3, (6, 7, 8, 9, 10, 5), (0, 6, 7, 8, 9, 10, 4, 2)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 6), t3, (7, 8, 9, 10, 5, 6), (0, 7, 8, 9, 2, 3, 10, 4)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 6), t3, (7, 8, 9, 10, 5, 6), (0, 7, 8, 9, 2, 10, 3, 4)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 3, 5), t3, (6, 7, 8, 9, 10, 5), (0, 6, 7, 8, 2, 9, 10, 4)) + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 6), t3, (7, 8, 9, 10, 5, 6), (0, 7, 8, 9, 10, 2, 3, 4)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 3, 5), t3, (6, 7, 8, 9, 10, 5), (0, 6, 7, 8, 9, 2, 10, 4)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 3, 5), t3, (6, 7, 8, 9, 10, 5), (0, 6, 7, 8, 9, 10, 2, 4)) + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (7, 0, 1, 8, 5, 2, 9, 10)) + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (7, 0, 1, 8, 5, 9, 2, 10)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (7, 0, 1, 8, 5, 9, 10, 2)) + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 2, 3), t3, (6, 7, 4, 8, 9, 10), (6, 0, 1, 7, 5, 8, 9, 10)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (7, 0, 1, 8, 2, 5, 9, 10)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (7, 0, 1, 8, 9, 5, 2, 10)) + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (7, 0, 1, 8, 9, 5, 10, 2)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 2, 3), t3, (6, 7, 4, 8, 9, 10), (6, 0, 1, 7, 8, 5, 9, 10)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (7, 0, 1, 8, 2, 9, 5, 10)) + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (7, 0, 1, 8, 9, 2, 5, 10)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (7, 0, 1, 8, 9, 10, 5, 2)) + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 2, 3), t3, (6, 7, 4, 8, 9, 10), (6, 0, 1, 7, 8, 9, 5, 10)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (7, 0, 1, 8, 2, 9, 10, 5)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (7, 0, 1, 8, 9, 2, 10, 5)) + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (7, 0, 1, 8, 9, 10, 2, 5)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 2, 3), t3, (6, 7, 4, 8, 9, 10), (6, 0, 1, 7, 8, 9, 10, 5)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (7, 0, 8, 1, 5, 2, 9, 10)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (7, 0, 8, 1, 5, 9, 2, 10)) + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (7, 0, 8, 1, 5, 9, 10, 2)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 2, 3), t3, (6, 7, 4, 8, 9, 10), (6, 0, 7, 1, 5, 8, 9, 10)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (7, 0, 8, 1, 2, 5, 9, 10)) + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (7, 0, 8, 1, 9, 5, 2, 10)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (7, 0, 8, 1, 9, 5, 10, 2)) + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 2, 3), t3, (6, 7, 4, 8, 9, 10), (6, 0, 7, 1, 8, 5, 9, 10)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (7, 0, 8, 1, 2, 9, 5, 10)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (7, 0, 8, 1, 9, 2, 5, 10)) + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (7, 0, 8, 1, 9, 10, 5, 2)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 2, 3), t3, (6, 7, 4, 8, 9, 10), (6, 0, 7, 1, 8, 9, 5, 10)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (7, 0, 8, 1, 2, 9, 10, 5)) + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (7, 0, 8, 1, 9, 2, 10, 5)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (7, 0, 8, 1, 9, 10, 2, 5)) + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 2, 3), t3, (6, 7, 4, 8, 9, 10), (6, 0, 7, 1, 8, 9, 10, 5)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 6), t3, (7, 8, 9, 10, 5, 6), (7, 0, 8, 9, 4, 2, 3, 10)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 6), t3, (7, 8, 9, 10, 5, 6), (7, 0, 8, 9, 4, 2, 10, 3)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 3, 5), t3, (6, 7, 8, 9, 10, 5), (6, 0, 7, 8, 4, 2, 9, 10)) + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 6), t3, (7, 8, 9, 10, 5, 6), (7, 0, 8, 9, 4, 10, 2, 3)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 3, 5), t3, (6, 7, 8, 9, 10, 5), (6, 0, 7, 8, 4, 9, 2, 10)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 3, 5), t3, (6, 7, 8, 9, 10, 5), (6, 0, 7, 8, 4, 9, 10, 2)) + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 6), t3, (7, 8, 9, 10, 5, 6), (7, 0, 8, 9, 2, 4, 3, 10)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 6), t3, (7, 8, 9, 10, 5, 6), (7, 0, 8, 9, 2, 4, 10, 3)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 3, 5), t3, (6, 7, 8, 9, 10, 5), (6, 0, 7, 8, 2, 4, 9, 10)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 6), t3, (7, 8, 9, 10, 5, 6), (7, 0, 8, 9, 10, 4, 2, 3)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 3, 5), t3, (6, 7, 8, 9, 10, 5), (6, 0, 7, 8, 9, 4, 2, 10)) + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 3, 5), t3, (6, 7, 8, 9, 10, 5), (6, 0, 7, 8, 9, 4, 10, 2)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 6), t3, (7, 8, 9, 10, 5, 6), (7, 0, 8, 9, 2, 3, 4, 10)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 6), t3, (7, 8, 9, 10, 5, 6), (7, 0, 8, 9, 2, 10, 4, 3)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 3, 5), t3, (6, 7, 8, 9, 10, 5), (6, 0, 7, 8, 2, 9, 4, 10)) + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 6), t3, (7, 8, 9, 10, 5, 6), (7, 0, 8, 9, 10, 2, 4, 3)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 3, 5), t3, (6, 7, 8, 9, 10, 5), (6, 0, 7, 8, 9, 2, 4, 10)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 3, 5), t3, (6, 7, 8, 9, 10, 5), (6, 0, 7, 8, 9, 10, 4, 2)) + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 6), t3, (7, 8, 9, 10, 5, 6), (7, 0, 8, 9, 2, 3, 10, 4)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 6), t3, (7, 8, 9, 10, 5, 6), (7, 0, 8, 9, 2, 10, 3, 4)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 3, 5), t3, (6, 7, 8, 9, 10, 5), (6, 0, 7, 8, 2, 9, 10, 4)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 6), t3, (7, 8, 9, 10, 5, 6), (7, 0, 8, 9, 10, 2, 3, 4)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 3, 5), t3, (6, 7, 8, 9, 10, 5), (6, 0, 7, 8, 9, 2, 10, 4)) + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 3, 5), t3, (6, 7, 8, 9, 10, 5), (6, 0, 7, 8, 9, 10, 2, 4)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (7, 8, 0, 1, 5, 2, 9, 10)) + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (7, 8, 0, 1, 5, 9, 2, 10)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (7, 8, 0, 1, 5, 9, 10, 2)) + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 2, 3), t3, (6, 7, 4, 8, 9, 10), (6, 7, 0, 1, 5, 8, 9, 10)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (7, 8, 0, 1, 2, 5, 9, 10)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (7, 8, 0, 1, 9, 5, 2, 10)) + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (7, 8, 0, 1, 9, 5, 10, 2)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 2, 3), t3, (6, 7, 4, 8, 9, 10), (6, 7, 0, 1, 8, 5, 9, 10)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (7, 8, 0, 1, 2, 9, 5, 10)) + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (7, 8, 0, 1, 9, 2, 5, 10)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (7, 8, 0, 1, 9, 10, 5, 2)) + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 2, 3), t3, (6, 7, 4, 8, 9, 10), (6, 7, 0, 1, 8, 9, 5, 10)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (7, 8, 0, 1, 2, 9, 10, 5)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (7, 8, 0, 1, 9, 2, 10, 5)) + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 6), t3, (7, 8, 4, 9, 10, 6), (7, 8, 0, 1, 9, 10, 2, 5)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 2, 3), t3, (6, 7, 4, 8, 9, 10), (6, 7, 0, 1, 8, 9, 10, 5)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 6), t3, (7, 8, 9, 10, 5, 6), (7, 8, 0, 9, 4, 2, 3, 10)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 6), t3, (7, 8, 9, 10, 5, 6), (7, 8, 0, 9, 4, 2, 10, 3)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 3, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 0, 8, 4, 2, 9, 10)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 6), t3, (7, 8, 9, 10, 5, 6), (7, 8, 0, 9, 4, 10, 2, 3)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 3, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 0, 8, 4, 9, 2, 10)) + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 3, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 0, 8, 4, 9, 10, 2)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 6), t3, (7, 8, 9, 10, 5, 6), (7, 8, 0, 9, 2, 4, 3, 10)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 6), t3, (7, 8, 9, 10, 5, 6), (7, 8, 0, 9, 2, 4, 10, 3)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 3, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 0, 8, 2, 4, 9, 10)) + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 6), t3, (7, 8, 9, 10, 5, 6), (7, 8, 0, 9, 10, 4, 2, 3)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 3, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 0, 8, 9, 4, 2, 10)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 3, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 0, 8, 9, 4, 10, 2)) + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 6), t3, (7, 8, 9, 10, 5, 6), (7, 8, 0, 9, 2, 3, 4, 10)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 6), t3, (7, 8, 9, 10, 5, 6), (7, 8, 0, 9, 2, 10, 4, 3)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 3, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 0, 8, 2, 9, 4, 10)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 6), t3, (7, 8, 9, 10, 5, 6), (7, 8, 0, 9, 10, 2, 4, 3)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 3, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 0, 8, 9, 2, 4, 10)) + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 3, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 0, 8, 9, 10, 4, 2)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 6), t3, (7, 8, 9, 10, 5, 6), (7, 8, 0, 9, 2, 3, 10, 4)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 6), t3, (7, 8, 9, 10, 5, 6), (7, 8, 0, 9, 2, 10, 3, 4)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 3, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 0, 8, 2, 9, 10, 4)) + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 6), t3, (7, 8, 9, 10, 5, 6), (7, 8, 0, 9, 10, 2, 3, 4)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 3, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 0, 8, 9, 2, 10, 4)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 3, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 0, 8, 9, 10, 2, 4)) + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 6), t3, (7, 8, 9, 10, 5, 6), (7, 8, 9, 0, 4, 2, 3, 10)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 6), t3, (7, 8, 9, 10, 5, 6), (7, 8, 9, 0, 4, 2, 10, 3)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 3, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 8, 0, 4, 2, 9, 10)) + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 6), t3, (7, 8, 9, 10, 5, 6), (7, 8, 9, 0, 4, 10, 2, 3)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 3, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 8, 0, 4, 9, 2, 10)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 3, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 8, 0, 4, 9, 10, 2)) + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 6), t3, (7, 8, 9, 10, 5, 6), (7, 8, 9, 0, 2, 4, 3, 10)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 6), t3, (7, 8, 9, 10, 5, 6), (7, 8, 9, 0, 2, 4, 10, 3)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 3, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 8, 0, 2, 4, 9, 10)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 6), t3, (7, 8, 9, 10, 5, 6), (7, 8, 9, 0, 10, 4, 2, 3)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 3, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 8, 0, 9, 4, 2, 10)) + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 3, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 8, 0, 9, 4, 10, 2)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 6), t3, (7, 8, 9, 10, 5, 6), (7, 8, 9, 0, 2, 3, 4, 10)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 6), t3, (7, 8, 9, 10, 5, 6), (7, 8, 9, 0, 2, 10, 4, 3)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 3, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 8, 0, 2, 9, 4, 10)) + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 6), t3, (7, 8, 9, 10, 5, 6), (7, 8, 9, 0, 10, 2, 4, 3)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 3, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 8, 0, 9, 2, 4, 10)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 3, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 8, 0, 9, 10, 4, 2)) + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 6), t3, (7, 8, 9, 10, 5, 6), (7, 8, 9, 0, 2, 3, 10, 4)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 6), t3, (7, 8, 9, 10, 5, 6), (7, 8, 9, 0, 2, 10, 3, 4)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 3, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 8, 0, 2, 9, 10, 4)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 6), t3, (7, 8, 9, 10, 5, 6), (7, 8, 9, 0, 10, 2, 3, 4)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 3, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 8, 0, 9, 2, 10, 4)) + t4new += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 3, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 8, 0, 9, 10, 2, 4)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 3, 6), t4, (7, 8, 4, 5, 9, 10, 11, 6), (0, 1, 7, 8, 2, 9, 10, 11)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 3, 6), t4, (7, 8, 4, 5, 9, 10, 11, 6), (0, 1, 7, 8, 9, 2, 10, 11)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 3, 6), t4, (7, 8, 4, 5, 9, 10, 11, 6), (0, 1, 7, 8, 9, 10, 2, 11)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 3, 6), t4, (7, 8, 4, 5, 9, 10, 11, 6), (0, 1, 7, 8, 9, 10, 11, 2)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 2, 3), t4, (6, 7, 4, 5, 8, 9, 10, 11), (0, 1, 6, 7, 8, 9, 10, 11)) * 0.25 + t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 3, 6), t4, (7, 8, 4, 5, 9, 10, 11, 6), (0, 7, 1, 8, 2, 9, 10, 11)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 3, 6), t4, (7, 8, 4, 5, 9, 10, 11, 6), (0, 7, 1, 8, 9, 2, 10, 11)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 3, 6), t4, (7, 8, 4, 5, 9, 10, 11, 6), (0, 7, 1, 8, 9, 10, 2, 11)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 3, 6), t4, (7, 8, 4, 5, 9, 10, 11, 6), (0, 7, 1, 8, 9, 10, 11, 2)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 2, 3), t4, (6, 7, 4, 5, 8, 9, 10, 11), (0, 6, 1, 7, 8, 9, 10, 11)) * -0.25 + t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 3, 6), t4, (7, 8, 4, 5, 9, 10, 11, 6), (0, 7, 8, 1, 2, 9, 10, 11)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 3, 6), t4, (7, 8, 4, 5, 9, 10, 11, 6), (0, 7, 8, 1, 9, 2, 10, 11)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 3, 6), t4, (7, 8, 4, 5, 9, 10, 11, 6), (0, 7, 8, 1, 9, 10, 2, 11)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 3, 6), t4, (7, 8, 4, 5, 9, 10, 11, 6), (0, 7, 8, 1, 9, 10, 11, 2)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 2, 3), t4, (6, 7, 4, 5, 8, 9, 10, 11), (0, 6, 7, 1, 8, 9, 10, 11)) * 0.25 + t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 5, 6), t4, (7, 8, 9, 4, 10, 11, 5, 6), (0, 7, 8, 9, 2, 3, 10, 11)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 5, 6), t4, (7, 8, 9, 4, 10, 11, 5, 6), (0, 7, 8, 9, 2, 10, 3, 11)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 5, 6), t4, (7, 8, 9, 4, 10, 11, 5, 6), (0, 7, 8, 9, 2, 10, 11, 3)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 3, 5), t4, (6, 7, 8, 4, 9, 10, 11, 5), (0, 6, 7, 8, 2, 9, 10, 11)) + t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 5, 6), t4, (7, 8, 9, 4, 10, 11, 5, 6), (0, 7, 8, 9, 10, 2, 3, 11)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 5, 6), t4, (7, 8, 9, 4, 10, 11, 5, 6), (0, 7, 8, 9, 10, 2, 11, 3)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 3, 5), t4, (6, 7, 8, 4, 9, 10, 11, 5), (0, 6, 7, 8, 9, 2, 10, 11)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 5, 6), t4, (7, 8, 9, 4, 10, 11, 5, 6), (0, 7, 8, 9, 10, 11, 2, 3)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 3, 5), t4, (6, 7, 8, 4, 9, 10, 11, 5), (0, 6, 7, 8, 9, 10, 2, 11)) + t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 3, 5), t4, (6, 7, 8, 4, 9, 10, 11, 5), (0, 6, 7, 8, 9, 10, 11, 2)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 2, 3), t4, (5, 6, 7, 4, 8, 9, 10, 11), (0, 5, 6, 7, 8, 9, 10, 11)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 3, 6), t4, (7, 8, 4, 5, 9, 10, 11, 6), (7, 0, 1, 8, 2, 9, 10, 11)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 3, 6), t4, (7, 8, 4, 5, 9, 10, 11, 6), (7, 0, 1, 8, 9, 2, 10, 11)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 3, 6), t4, (7, 8, 4, 5, 9, 10, 11, 6), (7, 0, 1, 8, 9, 10, 2, 11)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 3, 6), t4, (7, 8, 4, 5, 9, 10, 11, 6), (7, 0, 1, 8, 9, 10, 11, 2)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 2, 3), t4, (6, 7, 4, 5, 8, 9, 10, 11), (6, 0, 1, 7, 8, 9, 10, 11)) * 0.25 + t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 3, 6), t4, (7, 8, 4, 5, 9, 10, 11, 6), (7, 0, 8, 1, 2, 9, 10, 11)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 3, 6), t4, (7, 8, 4, 5, 9, 10, 11, 6), (7, 0, 8, 1, 9, 2, 10, 11)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 3, 6), t4, (7, 8, 4, 5, 9, 10, 11, 6), (7, 0, 8, 1, 9, 10, 2, 11)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 3, 6), t4, (7, 8, 4, 5, 9, 10, 11, 6), (7, 0, 8, 1, 9, 10, 11, 2)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 2, 3), t4, (6, 7, 4, 5, 8, 9, 10, 11), (6, 0, 7, 1, 8, 9, 10, 11)) * -0.25 + t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 5, 6), t4, (7, 8, 9, 4, 10, 11, 5, 6), (7, 0, 8, 9, 2, 3, 10, 11)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 5, 6), t4, (7, 8, 9, 4, 10, 11, 5, 6), (7, 0, 8, 9, 2, 10, 3, 11)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 5, 6), t4, (7, 8, 9, 4, 10, 11, 5, 6), (7, 0, 8, 9, 2, 10, 11, 3)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 3, 5), t4, (6, 7, 8, 4, 9, 10, 11, 5), (6, 0, 7, 8, 2, 9, 10, 11)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 5, 6), t4, (7, 8, 9, 4, 10, 11, 5, 6), (7, 0, 8, 9, 10, 2, 3, 11)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 5, 6), t4, (7, 8, 9, 4, 10, 11, 5, 6), (7, 0, 8, 9, 10, 2, 11, 3)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 3, 5), t4, (6, 7, 8, 4, 9, 10, 11, 5), (6, 0, 7, 8, 9, 2, 10, 11)) + t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 5, 6), t4, (7, 8, 9, 4, 10, 11, 5, 6), (7, 0, 8, 9, 10, 11, 2, 3)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 3, 5), t4, (6, 7, 8, 4, 9, 10, 11, 5), (6, 0, 7, 8, 9, 10, 2, 11)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 3, 5), t4, (6, 7, 8, 4, 9, 10, 11, 5), (6, 0, 7, 8, 9, 10, 11, 2)) + t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 2, 3), t4, (5, 6, 7, 4, 8, 9, 10, 11), (5, 0, 6, 7, 8, 9, 10, 11)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 3, 6), t4, (7, 8, 4, 5, 9, 10, 11, 6), (7, 8, 0, 1, 2, 9, 10, 11)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 3, 6), t4, (7, 8, 4, 5, 9, 10, 11, 6), (7, 8, 0, 1, 9, 2, 10, 11)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 3, 6), t4, (7, 8, 4, 5, 9, 10, 11, 6), (7, 8, 0, 1, 9, 10, 2, 11)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 3, 6), t4, (7, 8, 4, 5, 9, 10, 11, 6), (7, 8, 0, 1, 9, 10, 11, 2)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 2, 3), t4, (6, 7, 4, 5, 8, 9, 10, 11), (6, 7, 0, 1, 8, 9, 10, 11)) * 0.25 + t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 5, 6), t4, (7, 8, 9, 4, 10, 11, 5, 6), (7, 8, 0, 9, 2, 3, 10, 11)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 5, 6), t4, (7, 8, 9, 4, 10, 11, 5, 6), (7, 8, 0, 9, 2, 10, 3, 11)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 5, 6), t4, (7, 8, 9, 4, 10, 11, 5, 6), (7, 8, 0, 9, 2, 10, 11, 3)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 3, 5), t4, (6, 7, 8, 4, 9, 10, 11, 5), (6, 7, 0, 8, 2, 9, 10, 11)) + t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 5, 6), t4, (7, 8, 9, 4, 10, 11, 5, 6), (7, 8, 0, 9, 10, 2, 3, 11)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 5, 6), t4, (7, 8, 9, 4, 10, 11, 5, 6), (7, 8, 0, 9, 10, 2, 11, 3)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 3, 5), t4, (6, 7, 8, 4, 9, 10, 11, 5), (6, 7, 0, 8, 9, 2, 10, 11)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 5, 6), t4, (7, 8, 9, 4, 10, 11, 5, 6), (7, 8, 0, 9, 10, 11, 2, 3)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 3, 5), t4, (6, 7, 8, 4, 9, 10, 11, 5), (6, 7, 0, 8, 9, 10, 2, 11)) + t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 3, 5), t4, (6, 7, 8, 4, 9, 10, 11, 5), (6, 7, 0, 8, 9, 10, 11, 2)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 2, 3), t4, (5, 6, 7, 4, 8, 9, 10, 11), (5, 6, 0, 7, 8, 9, 10, 11)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 5, 6), t4, (7, 8, 9, 4, 10, 11, 5, 6), (7, 8, 9, 0, 2, 3, 10, 11)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 5, 6), t4, (7, 8, 9, 4, 10, 11, 5, 6), (7, 8, 9, 0, 2, 10, 3, 11)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 5, 6), t4, (7, 8, 9, 4, 10, 11, 5, 6), (7, 8, 9, 0, 2, 10, 11, 3)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 3, 5), t4, (6, 7, 8, 4, 9, 10, 11, 5), (6, 7, 8, 0, 2, 9, 10, 11)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 5, 6), t4, (7, 8, 9, 4, 10, 11, 5, 6), (7, 8, 9, 0, 10, 2, 3, 11)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 5, 6), t4, (7, 8, 9, 4, 10, 11, 5, 6), (7, 8, 9, 0, 10, 2, 11, 3)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 3, 5), t4, (6, 7, 8, 4, 9, 10, 11, 5), (6, 7, 8, 0, 9, 2, 10, 11)) + t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 5, 6), t4, (7, 8, 9, 4, 10, 11, 5, 6), (7, 8, 9, 0, 10, 11, 2, 3)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 3, 5), t4, (6, 7, 8, 4, 9, 10, 11, 5), (6, 7, 8, 0, 9, 10, 2, 11)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 3, 5), t4, (6, 7, 8, 4, 9, 10, 11, 5), (6, 7, 8, 0, 9, 10, 11, 2)) + t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (1, 4, 2, 3), t4, (5, 6, 7, 4, 8, 9, 10, 11), (5, 6, 7, 0, 8, 9, 10, 11)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (0, 1, 4, 5), t4, (6, 7, 8, 9, 10, 11, 4, 5), (6, 7, 8, 9, 2, 3, 10, 11)) * 0.25 + t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (0, 1, 4, 5), t4, (6, 7, 8, 9, 10, 11, 4, 5), (6, 7, 8, 9, 2, 10, 3, 11)) * -0.25 + t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (0, 1, 4, 5), t4, (6, 7, 8, 9, 10, 11, 4, 5), (6, 7, 8, 9, 2, 10, 11, 3)) * 0.25 + t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (0, 1, 3, 4), t4, (5, 6, 7, 8, 9, 10, 11, 4), (5, 6, 7, 8, 2, 9, 10, 11)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (0, 1, 4, 5), t4, (6, 7, 8, 9, 10, 11, 4, 5), (6, 7, 8, 9, 10, 2, 3, 11)) * 0.25 + t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (0, 1, 4, 5), t4, (6, 7, 8, 9, 10, 11, 4, 5), (6, 7, 8, 9, 10, 2, 11, 3)) * -0.25 + t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (0, 1, 3, 4), t4, (5, 6, 7, 8, 9, 10, 11, 4), (5, 6, 7, 8, 9, 2, 10, 11)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (0, 1, 4, 5), t4, (6, 7, 8, 9, 10, 11, 4, 5), (6, 7, 8, 9, 10, 11, 2, 3)) * 0.25 + t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (0, 1, 3, 4), t4, (5, 6, 7, 8, 9, 10, 11, 4), (5, 6, 7, 8, 9, 10, 2, 11)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), v.oovv, (0, 1, 3, 4), t4, (5, 6, 7, 8, 9, 10, 11, 4), (5, 6, 7, 8, 9, 10, 11, 2)) * 0.5 + t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 0, 6, 7, 2), t3, (8, 9, 1, 10, 11, 3), (4, 8, 5, 9, 6, 10, 7, 11)) + t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 0, 6, 7, 2), t3, (8, 9, 1, 10, 11, 3), (4, 8, 5, 9, 6, 10, 11, 7)) * -1.0 + t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 0, 6, 2, 3), t3, (7, 8, 1, 9, 10, 11), (4, 7, 5, 8, 6, 9, 10, 11)) * -0.5 + t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 0, 6, 7, 2), t3, (8, 9, 1, 10, 11, 3), (4, 8, 5, 9, 6, 7, 10, 11)) * -1.0 + t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 0, 6, 2, 3), t3, (7, 8, 1, 9, 10, 11), (4, 7, 5, 8, 9, 6, 10, 11)) * 0.5 + t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 0, 6, 2, 3), t3, (7, 8, 1, 9, 10, 11), (4, 7, 5, 8, 9, 10, 6, 11)) * -0.5 + t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 0, 6, 2, 3), t3, (7, 8, 1, 9, 10, 11), (4, 7, 5, 8, 9, 10, 11, 6)) * 0.5 + t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 8), t3, (9, 10, 0, 11, 2, 3), (4, 9, 5, 10, 6, 11, 7, 8)) * 0.5 + t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 8), t3, (9, 10, 0, 11, 2, 3), (4, 9, 5, 10, 6, 7, 11, 8)) * -0.5 + t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 8), t3, (9, 10, 0, 11, 2, 3), (4, 9, 5, 10, 6, 7, 8, 11)) * 0.5 + t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), t3, (8, 9, 0, 10, 11, 2), (4, 8, 5, 9, 10, 6, 7, 11)) * -1.0 + t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 8), t3, (9, 10, 0, 11, 2, 3), (4, 9, 5, 10, 11, 6, 7, 8)) * -0.5 + t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), t3, (8, 9, 0, 10, 11, 2), (4, 8, 5, 9, 10, 6, 11, 7)) + t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), t3, (8, 9, 0, 10, 11, 2), (4, 8, 5, 9, 10, 11, 6, 7)) * -1.0 + t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 8, 2), t3, (9, 0, 1, 10, 11, 3), (4, 9, 5, 6, 7, 10, 8, 11)) * -0.5 + t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 8, 2), t3, (9, 0, 1, 10, 11, 3), (4, 9, 5, 6, 7, 10, 11, 8)) * 0.5 + t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 2, 3), t3, (8, 0, 1, 9, 10, 11), (4, 8, 5, 6, 7, 9, 10, 11)) * 0.25 + t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 8, 2), t3, (9, 0, 1, 10, 11, 3), (4, 9, 5, 6, 7, 8, 10, 11)) * 0.5 + t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 8, 3), t3, (9, 0, 1, 10, 11, 2), (4, 9, 5, 6, 10, 7, 8, 11)) * -0.5 + t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 8, 3), t3, (9, 0, 1, 10, 11, 2), (4, 9, 5, 6, 10, 7, 11, 8)) * 0.5 + t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 2, 3), t3, (8, 0, 1, 9, 10, 11), (4, 8, 5, 6, 9, 7, 10, 11)) * -0.25 + t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 8, 3), t3, (9, 0, 1, 10, 11, 2), (4, 9, 5, 6, 10, 11, 7, 8)) * -0.5 + t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 2, 3), t3, (8, 0, 1, 9, 10, 11), (4, 8, 5, 6, 9, 10, 7, 11)) * 0.25 + t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 2, 3), t3, (8, 0, 1, 9, 10, 11), (4, 8, 5, 6, 9, 10, 11, 7)) * -0.25 + t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 0, 6, 7, 2), t3, (8, 9, 1, 10, 11, 3), (4, 8, 9, 5, 6, 10, 7, 11)) * -1.0 + t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 0, 6, 7, 2), t3, (8, 9, 1, 10, 11, 3), (4, 8, 9, 5, 6, 10, 11, 7)) + t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 0, 6, 2, 3), t3, (7, 8, 1, 9, 10, 11), (4, 7, 8, 5, 6, 9, 10, 11)) * 0.5 + t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 0, 6, 7, 2), t3, (8, 9, 1, 10, 11, 3), (4, 8, 9, 5, 6, 7, 10, 11)) + t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 0, 6, 2, 3), t3, (7, 8, 1, 9, 10, 11), (4, 7, 8, 5, 9, 6, 10, 11)) * -0.5 + t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 0, 6, 2, 3), t3, (7, 8, 1, 9, 10, 11), (4, 7, 8, 5, 9, 10, 6, 11)) * 0.5 + t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 0, 6, 2, 3), t3, (7, 8, 1, 9, 10, 11), (4, 7, 8, 5, 9, 10, 11, 6)) * -0.5 + t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 8), t3, (9, 10, 0, 11, 2, 3), (4, 9, 10, 5, 6, 11, 7, 8)) * -0.5 + t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 8), t3, (9, 10, 0, 11, 2, 3), (4, 9, 10, 5, 6, 7, 11, 8)) * 0.5 + t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 8), t3, (9, 10, 0, 11, 2, 3), (4, 9, 10, 5, 6, 7, 8, 11)) * -0.5 + t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), t3, (8, 9, 0, 10, 11, 2), (4, 8, 9, 5, 10, 6, 7, 11)) + t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 8), t3, (9, 10, 0, 11, 2, 3), (4, 9, 10, 5, 11, 6, 7, 8)) * 0.5 + t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), t3, (8, 9, 0, 10, 11, 2), (4, 8, 9, 5, 10, 6, 11, 7)) * -1.0 + t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), t3, (8, 9, 0, 10, 11, 2), (4, 8, 9, 5, 10, 11, 6, 7)) + t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 0, 1, 5, 6, 2), t3, (7, 8, 9, 10, 11, 3), (4, 7, 8, 9, 5, 10, 6, 11)) * -0.5 + t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 0, 1, 5, 6, 7), t3, (8, 9, 10, 11, 2, 3), (4, 8, 9, 10, 5, 11, 6, 7)) * 0.25 + t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 0, 1, 5, 6, 2), t3, (7, 8, 9, 10, 11, 3), (4, 7, 8, 9, 5, 10, 11, 6)) * 0.5 + t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 0, 1, 5, 6, 2), t3, (7, 8, 9, 10, 11, 3), (4, 7, 8, 9, 5, 6, 10, 11)) * 0.5 + t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 0, 1, 5, 6, 7), t3, (8, 9, 10, 11, 2, 3), (4, 8, 9, 10, 5, 6, 11, 7)) * -0.25 + t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 0, 1, 5, 6, 7), t3, (8, 9, 10, 11, 2, 3), (4, 8, 9, 10, 5, 6, 7, 11)) * 0.25 + t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 0, 1, 5, 6, 3), t3, (7, 8, 9, 10, 11, 2), (4, 7, 8, 9, 10, 5, 6, 11)) * -0.5 + t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 0, 1, 5, 6, 7), t3, (8, 9, 10, 11, 2, 3), (4, 8, 9, 10, 11, 5, 6, 7)) * -0.25 + t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 0, 1, 5, 6, 3), t3, (7, 8, 9, 10, 11, 2), (4, 7, 8, 9, 10, 5, 11, 6)) * 0.5 + t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 0, 1, 5, 6, 3), t3, (7, 8, 9, 10, 11, 2), (4, 7, 8, 9, 10, 11, 5, 6)) * -0.5 + t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 0, 6, 7, 2), t3, (8, 9, 1, 10, 11, 3), (4, 5, 8, 9, 6, 10, 7, 11)) * -1.0 + t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 0, 6, 7, 2), t3, (8, 9, 1, 10, 11, 3), (4, 5, 8, 9, 6, 10, 11, 7)) + t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 0, 6, 2, 3), t3, (7, 8, 1, 9, 10, 11), (4, 5, 7, 8, 6, 9, 10, 11)) * 0.5 + t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 0, 6, 7, 2), t3, (8, 9, 1, 10, 11, 3), (4, 5, 8, 9, 6, 7, 10, 11)) + t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 0, 6, 2, 3), t3, (7, 8, 1, 9, 10, 11), (4, 5, 7, 8, 9, 6, 10, 11)) * -0.5 + t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 0, 6, 2, 3), t3, (7, 8, 1, 9, 10, 11), (4, 5, 7, 8, 9, 10, 6, 11)) * 0.5 + t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 0, 6, 2, 3), t3, (7, 8, 1, 9, 10, 11), (4, 5, 7, 8, 9, 10, 11, 6)) * -0.5 + t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 8), t3, (9, 10, 0, 11, 2, 3), (4, 5, 9, 10, 6, 11, 7, 8)) * -0.5 + t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 8), t3, (9, 10, 0, 11, 2, 3), (4, 5, 9, 10, 6, 7, 11, 8)) * 0.5 + t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 8), t3, (9, 10, 0, 11, 2, 3), (4, 5, 9, 10, 6, 7, 8, 11)) * -0.5 + t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), t3, (8, 9, 0, 10, 11, 2), (4, 5, 8, 9, 10, 6, 7, 11)) + t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 8), t3, (9, 10, 0, 11, 2, 3), (4, 5, 9, 10, 11, 6, 7, 8)) * 0.5 + t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), t3, (8, 9, 0, 10, 11, 2), (4, 5, 8, 9, 10, 6, 11, 7)) * -1.0 + t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), t3, (8, 9, 0, 10, 11, 2), (4, 5, 8, 9, 10, 11, 6, 7)) + t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 8, 2), t3, (9, 0, 1, 10, 11, 3), (4, 5, 9, 6, 7, 10, 8, 11)) * 0.5 + t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 8, 2), t3, (9, 0, 1, 10, 11, 3), (4, 5, 9, 6, 7, 10, 11, 8)) * -0.5 + t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 2, 3), t3, (8, 0, 1, 9, 10, 11), (4, 5, 8, 6, 7, 9, 10, 11)) * -0.25 + t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 8, 2), t3, (9, 0, 1, 10, 11, 3), (4, 5, 9, 6, 7, 8, 10, 11)) * -0.5 + t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 8, 3), t3, (9, 0, 1, 10, 11, 2), (4, 5, 9, 6, 10, 7, 8, 11)) * 0.5 + t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 8, 3), t3, (9, 0, 1, 10, 11, 2), (4, 5, 9, 6, 10, 7, 11, 8)) * -0.5 + t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 2, 3), t3, (8, 0, 1, 9, 10, 11), (4, 5, 8, 6, 9, 7, 10, 11)) * 0.25 + t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 8, 3), t3, (9, 0, 1, 10, 11, 2), (4, 5, 9, 6, 10, 11, 7, 8)) * 0.5 + t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 2, 3), t3, (8, 0, 1, 9, 10, 11), (4, 5, 8, 6, 9, 10, 7, 11)) * -0.25 + t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 2, 3), t3, (8, 0, 1, 9, 10, 11), (4, 5, 8, 6, 9, 10, 11, 7)) * 0.25 + t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 8, 2), t3, (9, 0, 1, 10, 11, 3), (4, 5, 6, 9, 7, 10, 8, 11)) * -0.5 + t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 8, 2), t3, (9, 0, 1, 10, 11, 3), (4, 5, 6, 9, 7, 10, 11, 8)) * 0.5 + t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 2, 3), t3, (8, 0, 1, 9, 10, 11), (4, 5, 6, 8, 7, 9, 10, 11)) * 0.25 + t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 8, 2), t3, (9, 0, 1, 10, 11, 3), (4, 5, 6, 9, 7, 8, 10, 11)) * 0.5 + t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 8, 3), t3, (9, 0, 1, 10, 11, 2), (4, 5, 6, 9, 10, 7, 8, 11)) * -0.5 + t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 8, 3), t3, (9, 0, 1, 10, 11, 2), (4, 5, 6, 9, 10, 7, 11, 8)) * 0.5 + t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 2, 3), t3, (8, 0, 1, 9, 10, 11), (4, 5, 6, 8, 9, 7, 10, 11)) * -0.25 + t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 8, 3), t3, (9, 0, 1, 10, 11, 2), (4, 5, 6, 9, 10, 11, 7, 8)) * -0.5 + t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 2, 3), t3, (8, 0, 1, 9, 10, 11), (4, 5, 6, 8, 9, 10, 7, 11)) * 0.25 + t4new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 2, 3), t3, (8, 0, 1, 9, 10, 11), (4, 5, 6, 8, 9, 10, 11, 7)) * -0.25 + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (2, 4, 5, 1), t3, (6, 7, 4, 8, 9, 10), (0, 5, 6, 7, 3, 8, 9, 10)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (2, 4, 5, 1), t3, (6, 7, 4, 8, 9, 10), (0, 6, 5, 7, 3, 8, 9, 10)) + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (2, 4, 5, 1), t3, (6, 7, 4, 8, 9, 10), (0, 6, 7, 5, 3, 8, 9, 10)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (2, 4, 5, 1), t3, (6, 7, 4, 8, 9, 10), (0, 5, 6, 7, 8, 3, 9, 10)) + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (2, 4, 5, 1), t3, (6, 7, 4, 8, 9, 10), (0, 6, 5, 7, 8, 3, 9, 10)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (2, 4, 5, 1), t3, (6, 7, 4, 8, 9, 10), (0, 6, 7, 5, 8, 3, 9, 10)) + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (2, 4, 5, 1), t3, (6, 7, 4, 8, 9, 10), (0, 5, 6, 7, 8, 9, 3, 10)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (2, 4, 5, 1), t3, (6, 7, 4, 8, 9, 10), (0, 6, 5, 7, 8, 9, 3, 10)) + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (2, 4, 5, 1), t3, (6, 7, 4, 8, 9, 10), (0, 6, 7, 5, 8, 9, 3, 10)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (2, 4, 5, 1), t3, (6, 7, 4, 8, 9, 10), (0, 5, 6, 7, 8, 9, 10, 3)) + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (2, 4, 5, 1), t3, (6, 7, 4, 8, 9, 10), (0, 6, 5, 7, 8, 9, 10, 3)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (2, 4, 5, 1), t3, (6, 7, 4, 8, 9, 10), (0, 6, 7, 5, 8, 9, 10, 3)) + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (2, 4, 5, 1), t3, (6, 7, 4, 8, 9, 10), (5, 0, 6, 7, 3, 8, 9, 10)) + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (2, 4, 5, 1), t3, (6, 7, 4, 8, 9, 10), (6, 0, 5, 7, 3, 8, 9, 10)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (2, 4, 5, 1), t3, (6, 7, 4, 8, 9, 10), (6, 0, 7, 5, 3, 8, 9, 10)) + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (2, 4, 5, 1), t3, (6, 7, 4, 8, 9, 10), (5, 0, 6, 7, 8, 3, 9, 10)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (2, 4, 5, 1), t3, (6, 7, 4, 8, 9, 10), (6, 0, 5, 7, 8, 3, 9, 10)) + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (2, 4, 5, 1), t3, (6, 7, 4, 8, 9, 10), (6, 0, 7, 5, 8, 3, 9, 10)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (2, 4, 5, 1), t3, (6, 7, 4, 8, 9, 10), (5, 0, 6, 7, 8, 9, 3, 10)) + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (2, 4, 5, 1), t3, (6, 7, 4, 8, 9, 10), (6, 0, 5, 7, 8, 9, 3, 10)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (2, 4, 5, 1), t3, (6, 7, 4, 8, 9, 10), (6, 0, 7, 5, 8, 9, 3, 10)) + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (2, 4, 5, 1), t3, (6, 7, 4, 8, 9, 10), (5, 0, 6, 7, 8, 9, 10, 3)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (2, 4, 5, 1), t3, (6, 7, 4, 8, 9, 10), (6, 0, 5, 7, 8, 9, 10, 3)) + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (2, 4, 5, 1), t3, (6, 7, 4, 8, 9, 10), (6, 0, 7, 5, 8, 9, 10, 3)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (2, 4, 5, 1), t3, (6, 7, 4, 8, 9, 10), (5, 6, 0, 7, 3, 8, 9, 10)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (2, 4, 5, 1), t3, (6, 7, 4, 8, 9, 10), (6, 5, 0, 7, 3, 8, 9, 10)) + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (2, 4, 5, 1), t3, (6, 7, 4, 8, 9, 10), (6, 7, 0, 5, 3, 8, 9, 10)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (2, 4, 5, 1), t3, (6, 7, 4, 8, 9, 10), (5, 6, 0, 7, 8, 3, 9, 10)) + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (2, 4, 5, 1), t3, (6, 7, 4, 8, 9, 10), (6, 5, 0, 7, 8, 3, 9, 10)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (2, 4, 5, 1), t3, (6, 7, 4, 8, 9, 10), (6, 7, 0, 5, 8, 3, 9, 10)) + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (2, 4, 5, 1), t3, (6, 7, 4, 8, 9, 10), (5, 6, 0, 7, 8, 9, 3, 10)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (2, 4, 5, 1), t3, (6, 7, 4, 8, 9, 10), (6, 5, 0, 7, 8, 9, 3, 10)) + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (2, 4, 5, 1), t3, (6, 7, 4, 8, 9, 10), (6, 7, 0, 5, 8, 9, 3, 10)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (2, 4, 5, 1), t3, (6, 7, 4, 8, 9, 10), (5, 6, 0, 7, 8, 9, 10, 3)) + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (2, 4, 5, 1), t3, (6, 7, 4, 8, 9, 10), (6, 5, 0, 7, 8, 9, 10, 3)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (2, 4, 5, 1), t3, (6, 7, 4, 8, 9, 10), (6, 7, 0, 5, 8, 9, 10, 3)) + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (2, 4, 5, 1), t3, (6, 7, 4, 8, 9, 10), (5, 6, 7, 0, 3, 8, 9, 10)) + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (2, 4, 5, 1), t3, (6, 7, 4, 8, 9, 10), (6, 5, 7, 0, 3, 8, 9, 10)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (2, 4, 5, 1), t3, (6, 7, 4, 8, 9, 10), (6, 7, 5, 0, 3, 8, 9, 10)) + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (2, 4, 5, 1), t3, (6, 7, 4, 8, 9, 10), (5, 6, 7, 0, 8, 3, 9, 10)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (2, 4, 5, 1), t3, (6, 7, 4, 8, 9, 10), (6, 5, 7, 0, 8, 3, 9, 10)) + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (2, 4, 5, 1), t3, (6, 7, 4, 8, 9, 10), (6, 7, 5, 0, 8, 3, 9, 10)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (2, 4, 5, 1), t3, (6, 7, 4, 8, 9, 10), (5, 6, 7, 0, 8, 9, 3, 10)) + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (2, 4, 5, 1), t3, (6, 7, 4, 8, 9, 10), (6, 5, 7, 0, 8, 9, 3, 10)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (2, 4, 5, 1), t3, (6, 7, 4, 8, 9, 10), (6, 7, 5, 0, 8, 9, 3, 10)) + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (2, 4, 5, 1), t3, (6, 7, 4, 8, 9, 10), (5, 6, 7, 0, 8, 9, 10, 3)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (2, 4, 5, 1), t3, (6, 7, 4, 8, 9, 10), (6, 5, 7, 0, 8, 9, 10, 3)) + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (2, 4, 5, 1), t3, (6, 7, 4, 8, 9, 10), (6, 7, 5, 0, 8, 9, 10, 3)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (0, 2, 4, 5), t3, (6, 7, 8, 9, 10, 5), (4, 6, 7, 8, 1, 3, 9, 10)) + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (0, 2, 4, 5), t3, (6, 7, 8, 9, 10, 5), (6, 4, 7, 8, 1, 3, 9, 10)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (0, 2, 4, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 4, 8, 1, 3, 9, 10)) + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (0, 2, 4, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 8, 4, 1, 3, 9, 10)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (0, 2, 4, 5), t3, (6, 7, 8, 9, 10, 5), (4, 6, 7, 8, 1, 9, 3, 10)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (0, 2, 4, 5), t3, (6, 7, 8, 9, 10, 5), (6, 4, 7, 8, 1, 9, 3, 10)) + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (0, 2, 4, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 4, 8, 1, 9, 3, 10)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (0, 2, 4, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 8, 4, 1, 9, 3, 10)) + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (0, 2, 4, 5), t3, (6, 7, 8, 9, 10, 5), (4, 6, 7, 8, 1, 9, 10, 3)) + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (0, 2, 4, 5), t3, (6, 7, 8, 9, 10, 5), (6, 4, 7, 8, 1, 9, 10, 3)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (0, 2, 4, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 4, 8, 1, 9, 10, 3)) + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (0, 2, 4, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 8, 4, 1, 9, 10, 3)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (0, 2, 4, 5), t3, (6, 7, 8, 9, 10, 5), (4, 6, 7, 8, 9, 1, 3, 10)) + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (0, 2, 4, 5), t3, (6, 7, 8, 9, 10, 5), (6, 4, 7, 8, 9, 1, 3, 10)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (0, 2, 4, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 4, 8, 9, 1, 3, 10)) + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (0, 2, 4, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 8, 4, 9, 1, 3, 10)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (0, 2, 4, 5), t3, (6, 7, 8, 9, 10, 5), (4, 6, 7, 8, 9, 1, 10, 3)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (0, 2, 4, 5), t3, (6, 7, 8, 9, 10, 5), (6, 4, 7, 8, 9, 1, 10, 3)) + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (0, 2, 4, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 4, 8, 9, 1, 10, 3)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (0, 2, 4, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 8, 4, 9, 1, 10, 3)) + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (0, 2, 4, 5), t3, (6, 7, 8, 9, 10, 5), (4, 6, 7, 8, 9, 10, 1, 3)) + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (0, 2, 4, 5), t3, (6, 7, 8, 9, 10, 5), (6, 4, 7, 8, 9, 10, 1, 3)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (0, 2, 4, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 4, 8, 9, 10, 1, 3)) + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ooov, (0, 2, 4, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 8, 4, 9, 10, 1, 3)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (4, 5, 1, 3), t3, (6, 7, 4, 8, 9, 10), (0, 2, 6, 7, 5, 8, 9, 10)) + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (4, 5, 1, 3), t3, (6, 7, 4, 8, 9, 10), (0, 2, 6, 7, 8, 5, 9, 10)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (4, 5, 1, 3), t3, (6, 7, 4, 8, 9, 10), (0, 2, 6, 7, 8, 9, 5, 10)) + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (4, 5, 1, 3), t3, (6, 7, 4, 8, 9, 10), (0, 2, 6, 7, 8, 9, 10, 5)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (4, 5, 1, 3), t3, (6, 7, 4, 8, 9, 10), (0, 6, 2, 7, 5, 8, 9, 10)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (4, 5, 1, 3), t3, (6, 7, 4, 8, 9, 10), (0, 6, 2, 7, 8, 5, 9, 10)) + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (4, 5, 1, 3), t3, (6, 7, 4, 8, 9, 10), (0, 6, 2, 7, 8, 9, 5, 10)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (4, 5, 1, 3), t3, (6, 7, 4, 8, 9, 10), (0, 6, 2, 7, 8, 9, 10, 5)) + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (4, 5, 1, 3), t3, (6, 7, 4, 8, 9, 10), (0, 6, 7, 2, 5, 8, 9, 10)) + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (4, 5, 1, 3), t3, (6, 7, 4, 8, 9, 10), (0, 6, 7, 2, 8, 5, 9, 10)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (4, 5, 1, 3), t3, (6, 7, 4, 8, 9, 10), (0, 6, 7, 2, 8, 9, 5, 10)) + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (4, 5, 1, 3), t3, (6, 7, 4, 8, 9, 10), (0, 6, 7, 2, 8, 9, 10, 5)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (2, 4, 1, 5), t3, (6, 7, 8, 9, 10, 5), (0, 6, 7, 8, 3, 4, 9, 10)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (2, 4, 1, 5), t3, (6, 7, 8, 9, 10, 5), (0, 6, 7, 8, 3, 9, 4, 10)) + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (2, 4, 1, 5), t3, (6, 7, 8, 9, 10, 5), (0, 6, 7, 8, 3, 9, 10, 4)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (2, 4, 1, 5), t3, (6, 7, 8, 9, 10, 5), (0, 6, 7, 8, 4, 3, 9, 10)) + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (2, 4, 1, 5), t3, (6, 7, 8, 9, 10, 5), (0, 6, 7, 8, 9, 3, 4, 10)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (2, 4, 1, 5), t3, (6, 7, 8, 9, 10, 5), (0, 6, 7, 8, 9, 3, 10, 4)) + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (2, 4, 1, 5), t3, (6, 7, 8, 9, 10, 5), (0, 6, 7, 8, 4, 9, 3, 10)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (2, 4, 1, 5), t3, (6, 7, 8, 9, 10, 5), (0, 6, 7, 8, 9, 4, 3, 10)) + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (2, 4, 1, 5), t3, (6, 7, 8, 9, 10, 5), (0, 6, 7, 8, 9, 10, 3, 4)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (2, 4, 1, 5), t3, (6, 7, 8, 9, 10, 5), (0, 6, 7, 8, 4, 9, 10, 3)) + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (2, 4, 1, 5), t3, (6, 7, 8, 9, 10, 5), (0, 6, 7, 8, 9, 4, 10, 3)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (2, 4, 1, 5), t3, (6, 7, 8, 9, 10, 5), (0, 6, 7, 8, 9, 10, 4, 3)) + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (4, 5, 1, 3), t3, (6, 7, 4, 8, 9, 10), (6, 0, 2, 7, 5, 8, 9, 10)) + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (4, 5, 1, 3), t3, (6, 7, 4, 8, 9, 10), (6, 0, 2, 7, 8, 5, 9, 10)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (4, 5, 1, 3), t3, (6, 7, 4, 8, 9, 10), (6, 0, 2, 7, 8, 9, 5, 10)) + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (4, 5, 1, 3), t3, (6, 7, 4, 8, 9, 10), (6, 0, 2, 7, 8, 9, 10, 5)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (4, 5, 1, 3), t3, (6, 7, 4, 8, 9, 10), (6, 0, 7, 2, 5, 8, 9, 10)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (4, 5, 1, 3), t3, (6, 7, 4, 8, 9, 10), (6, 0, 7, 2, 8, 5, 9, 10)) + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (4, 5, 1, 3), t3, (6, 7, 4, 8, 9, 10), (6, 0, 7, 2, 8, 9, 5, 10)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (4, 5, 1, 3), t3, (6, 7, 4, 8, 9, 10), (6, 0, 7, 2, 8, 9, 10, 5)) + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (2, 4, 1, 5), t3, (6, 7, 8, 9, 10, 5), (6, 0, 7, 8, 3, 4, 9, 10)) + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (2, 4, 1, 5), t3, (6, 7, 8, 9, 10, 5), (6, 0, 7, 8, 3, 9, 4, 10)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (2, 4, 1, 5), t3, (6, 7, 8, 9, 10, 5), (6, 0, 7, 8, 3, 9, 10, 4)) + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (2, 4, 1, 5), t3, (6, 7, 8, 9, 10, 5), (6, 0, 7, 8, 4, 3, 9, 10)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (2, 4, 1, 5), t3, (6, 7, 8, 9, 10, 5), (6, 0, 7, 8, 9, 3, 4, 10)) + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (2, 4, 1, 5), t3, (6, 7, 8, 9, 10, 5), (6, 0, 7, 8, 9, 3, 10, 4)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (2, 4, 1, 5), t3, (6, 7, 8, 9, 10, 5), (6, 0, 7, 8, 4, 9, 3, 10)) + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (2, 4, 1, 5), t3, (6, 7, 8, 9, 10, 5), (6, 0, 7, 8, 9, 4, 3, 10)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (2, 4, 1, 5), t3, (6, 7, 8, 9, 10, 5), (6, 0, 7, 8, 9, 10, 3, 4)) + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (2, 4, 1, 5), t3, (6, 7, 8, 9, 10, 5), (6, 0, 7, 8, 4, 9, 10, 3)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (2, 4, 1, 5), t3, (6, 7, 8, 9, 10, 5), (6, 0, 7, 8, 9, 4, 10, 3)) + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (2, 4, 1, 5), t3, (6, 7, 8, 9, 10, 5), (6, 0, 7, 8, 9, 10, 4, 3)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (4, 5, 1, 3), t3, (6, 7, 4, 8, 9, 10), (6, 7, 0, 2, 5, 8, 9, 10)) + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (4, 5, 1, 3), t3, (6, 7, 4, 8, 9, 10), (6, 7, 0, 2, 8, 5, 9, 10)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (4, 5, 1, 3), t3, (6, 7, 4, 8, 9, 10), (6, 7, 0, 2, 8, 9, 5, 10)) + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (4, 5, 1, 3), t3, (6, 7, 4, 8, 9, 10), (6, 7, 0, 2, 8, 9, 10, 5)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (2, 4, 1, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 0, 8, 3, 4, 9, 10)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (2, 4, 1, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 0, 8, 3, 9, 4, 10)) + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (2, 4, 1, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 0, 8, 3, 9, 10, 4)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (2, 4, 1, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 0, 8, 4, 3, 9, 10)) + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (2, 4, 1, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 0, 8, 9, 3, 4, 10)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (2, 4, 1, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 0, 8, 9, 3, 10, 4)) + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (2, 4, 1, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 0, 8, 4, 9, 3, 10)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (2, 4, 1, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 0, 8, 9, 4, 3, 10)) + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (2, 4, 1, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 0, 8, 9, 10, 3, 4)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (2, 4, 1, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 0, 8, 4, 9, 10, 3)) + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (2, 4, 1, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 0, 8, 9, 4, 10, 3)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (2, 4, 1, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 0, 8, 9, 10, 4, 3)) + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (2, 4, 1, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 8, 0, 3, 4, 9, 10)) + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (2, 4, 1, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 8, 0, 3, 9, 4, 10)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (2, 4, 1, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 8, 0, 3, 9, 10, 4)) + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (2, 4, 1, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 8, 0, 4, 3, 9, 10)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (2, 4, 1, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 8, 0, 9, 3, 4, 10)) + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (2, 4, 1, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 8, 0, 9, 3, 10, 4)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (2, 4, 1, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 8, 0, 4, 9, 3, 10)) + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (2, 4, 1, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 8, 0, 9, 4, 3, 10)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (2, 4, 1, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 8, 0, 9, 10, 3, 4)) + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (2, 4, 1, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 8, 0, 4, 9, 10, 3)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (2, 4, 1, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 8, 0, 9, 4, 10, 3)) + t4new += einsum(t1, (0, 1), t1, (2, 3), v.ovvv, (2, 4, 1, 5), t3, (6, 7, 8, 9, 10, 5), (6, 7, 8, 0, 9, 10, 4, 3)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (4, 5, 1, 3), t4, (6, 7, 4, 5, 8, 9, 10, 11), (0, 2, 6, 7, 8, 9, 10, 11)) * 0.5 + t4new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (4, 5, 1, 3), t4, (6, 7, 4, 5, 8, 9, 10, 11), (0, 6, 2, 7, 8, 9, 10, 11)) * -0.5 + t4new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (4, 5, 1, 3), t4, (6, 7, 4, 5, 8, 9, 10, 11), (0, 6, 7, 2, 8, 9, 10, 11)) * 0.5 + t4new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (2, 4, 1, 5), t4, (6, 7, 8, 4, 9, 10, 11, 5), (0, 6, 7, 8, 3, 9, 10, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (2, 4, 1, 5), t4, (6, 7, 8, 4, 9, 10, 11, 5), (0, 6, 7, 8, 9, 3, 10, 11)) + t4new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (2, 4, 1, 5), t4, (6, 7, 8, 4, 9, 10, 11, 5), (0, 6, 7, 8, 9, 10, 3, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (2, 4, 1, 5), t4, (6, 7, 8, 4, 9, 10, 11, 5), (0, 6, 7, 8, 9, 10, 11, 3)) + t4new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (2, 4, 1, 3), t4, (5, 6, 7, 4, 8, 9, 10, 11), (0, 5, 6, 7, 8, 9, 10, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (4, 5, 1, 3), t4, (6, 7, 4, 5, 8, 9, 10, 11), (6, 0, 2, 7, 8, 9, 10, 11)) * 0.5 + t4new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (4, 5, 1, 3), t4, (6, 7, 4, 5, 8, 9, 10, 11), (6, 0, 7, 2, 8, 9, 10, 11)) * -0.5 + t4new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (2, 4, 1, 5), t4, (6, 7, 8, 4, 9, 10, 11, 5), (6, 0, 7, 8, 3, 9, 10, 11)) + t4new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (2, 4, 1, 5), t4, (6, 7, 8, 4, 9, 10, 11, 5), (6, 0, 7, 8, 9, 3, 10, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (2, 4, 1, 5), t4, (6, 7, 8, 4, 9, 10, 11, 5), (6, 0, 7, 8, 9, 10, 3, 11)) + t4new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (2, 4, 1, 5), t4, (6, 7, 8, 4, 9, 10, 11, 5), (6, 0, 7, 8, 9, 10, 11, 3)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (2, 4, 1, 3), t4, (5, 6, 7, 4, 8, 9, 10, 11), (5, 0, 6, 7, 8, 9, 10, 11)) + t4new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (4, 5, 1, 3), t4, (6, 7, 4, 5, 8, 9, 10, 11), (6, 7, 0, 2, 8, 9, 10, 11)) * 0.5 + t4new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (2, 4, 1, 5), t4, (6, 7, 8, 4, 9, 10, 11, 5), (6, 7, 0, 8, 3, 9, 10, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (2, 4, 1, 5), t4, (6, 7, 8, 4, 9, 10, 11, 5), (6, 7, 0, 8, 9, 3, 10, 11)) + t4new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (2, 4, 1, 5), t4, (6, 7, 8, 4, 9, 10, 11, 5), (6, 7, 0, 8, 9, 10, 3, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (2, 4, 1, 5), t4, (6, 7, 8, 4, 9, 10, 11, 5), (6, 7, 0, 8, 9, 10, 11, 3)) + t4new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (2, 4, 1, 3), t4, (5, 6, 7, 4, 8, 9, 10, 11), (5, 6, 0, 7, 8, 9, 10, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (2, 4, 1, 5), t4, (6, 7, 8, 4, 9, 10, 11, 5), (6, 7, 8, 0, 3, 9, 10, 11)) + t4new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (2, 4, 1, 5), t4, (6, 7, 8, 4, 9, 10, 11, 5), (6, 7, 8, 0, 9, 3, 10, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (2, 4, 1, 5), t4, (6, 7, 8, 4, 9, 10, 11, 5), (6, 7, 8, 0, 9, 10, 3, 11)) + t4new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (2, 4, 1, 5), t4, (6, 7, 8, 4, 9, 10, 11, 5), (6, 7, 8, 0, 9, 10, 11, 3)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (2, 4, 1, 3), t4, (5, 6, 7, 4, 8, 9, 10, 11), (5, 6, 7, 0, 8, 9, 10, 11)) + t4new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (0, 2, 4, 5), t4, (6, 7, 8, 9, 10, 11, 4, 5), (6, 7, 8, 9, 1, 3, 10, 11)) * 0.5 + t4new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (0, 2, 4, 5), t4, (6, 7, 8, 9, 10, 11, 4, 5), (6, 7, 8, 9, 1, 10, 3, 11)) * -0.5 + t4new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (0, 2, 4, 5), t4, (6, 7, 8, 9, 10, 11, 4, 5), (6, 7, 8, 9, 1, 10, 11, 3)) * 0.5 + t4new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (0, 2, 4, 5), t4, (6, 7, 8, 9, 10, 11, 4, 5), (6, 7, 8, 9, 10, 1, 3, 11)) * 0.5 + t4new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (0, 2, 4, 5), t4, (6, 7, 8, 9, 10, 11, 4, 5), (6, 7, 8, 9, 10, 1, 11, 3)) * -0.5 + t4new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (0, 2, 4, 5), t4, (6, 7, 8, 9, 10, 11, 4, 5), (6, 7, 8, 9, 10, 11, 1, 3)) * 0.5 + t4new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (0, 2, 1, 4), t4, (5, 6, 7, 8, 9, 10, 11, 4), (5, 6, 7, 8, 3, 9, 10, 11)) + t4new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (0, 2, 1, 4), t4, (5, 6, 7, 8, 9, 10, 11, 4), (5, 6, 7, 8, 9, 3, 10, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (0, 2, 1, 4), t4, (5, 6, 7, 8, 9, 10, 11, 4), (5, 6, 7, 8, 9, 10, 3, 11)) + t4new += einsum(t1, (0, 1), t1, (2, 3), v.oovv, (0, 2, 1, 4), t4, (5, 6, 7, 8, 9, 10, 11, 4), (5, 6, 7, 8, 9, 10, 11, 3)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (0, 2, 6, 10, 4, 8, 5, 9)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (0, 2, 6, 10, 4, 8, 9, 5)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (0, 2, 6, 10, 4, 5, 8, 9)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (0, 2, 6, 10, 8, 4, 5, 9)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (0, 2, 6, 10, 8, 4, 9, 5)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (0, 2, 6, 10, 8, 9, 4, 5)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (0, 2, 10, 6, 4, 8, 5, 9)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (0, 2, 10, 6, 4, 8, 9, 5)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (0, 2, 10, 6, 4, 5, 8, 9)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (0, 2, 10, 6, 8, 4, 5, 9)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (0, 2, 10, 6, 8, 4, 9, 5)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (0, 2, 10, 6, 8, 9, 4, 5)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (0, 10, 2, 6, 4, 8, 5, 9)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (0, 10, 2, 6, 4, 8, 9, 5)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (0, 10, 2, 6, 4, 5, 8, 9)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (0, 10, 2, 6, 8, 4, 5, 9)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (0, 10, 2, 6, 8, 4, 9, 5)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (0, 10, 2, 6, 8, 9, 4, 5)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (2, 0, 6, 10, 4, 8, 5, 9)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (2, 0, 6, 10, 4, 8, 9, 5)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (2, 0, 6, 10, 4, 5, 8, 9)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (2, 0, 6, 10, 8, 4, 5, 9)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (2, 0, 6, 10, 8, 4, 9, 5)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (2, 0, 6, 10, 8, 9, 4, 5)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (2, 0, 10, 6, 4, 8, 5, 9)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (2, 0, 10, 6, 4, 8, 9, 5)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (2, 0, 10, 6, 4, 5, 8, 9)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (2, 0, 10, 6, 8, 4, 5, 9)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (2, 0, 10, 6, 8, 4, 9, 5)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (2, 0, 10, 6, 8, 9, 4, 5)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (10, 0, 2, 6, 4, 8, 5, 9)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (10, 0, 2, 6, 4, 8, 9, 5)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (10, 0, 2, 6, 4, 5, 8, 9)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (10, 0, 2, 6, 8, 4, 5, 9)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (10, 0, 2, 6, 8, 4, 9, 5)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (10, 0, 2, 6, 8, 9, 4, 5)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (2, 6, 0, 10, 4, 8, 5, 9)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (2, 6, 0, 10, 4, 8, 9, 5)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (2, 6, 0, 10, 4, 5, 8, 9)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (2, 6, 0, 10, 8, 4, 5, 9)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (2, 6, 0, 10, 8, 4, 9, 5)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (2, 6, 0, 10, 8, 9, 4, 5)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (2, 10, 0, 6, 4, 8, 5, 9)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (2, 10, 0, 6, 4, 8, 9, 5)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (2, 10, 0, 6, 4, 5, 8, 9)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (2, 10, 0, 6, 8, 4, 5, 9)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (2, 10, 0, 6, 8, 4, 9, 5)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (2, 10, 0, 6, 8, 9, 4, 5)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (10, 2, 0, 6, 4, 8, 5, 9)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (10, 2, 0, 6, 4, 8, 9, 5)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (10, 2, 0, 6, 4, 5, 8, 9)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (10, 2, 0, 6, 8, 4, 5, 9)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (10, 2, 0, 6, 8, 4, 9, 5)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (10, 2, 0, 6, 8, 9, 4, 5)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (2, 6, 10, 0, 4, 8, 5, 9)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (2, 6, 10, 0, 4, 8, 9, 5)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (2, 6, 10, 0, 4, 5, 8, 9)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (2, 6, 10, 0, 8, 4, 5, 9)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (2, 6, 10, 0, 8, 4, 9, 5)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (2, 6, 10, 0, 8, 9, 4, 5)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (2, 10, 6, 0, 4, 8, 5, 9)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (2, 10, 6, 0, 4, 8, 9, 5)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (2, 10, 6, 0, 4, 5, 8, 9)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (2, 10, 6, 0, 8, 4, 5, 9)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (2, 10, 6, 0, 8, 4, 9, 5)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (2, 10, 6, 0, 8, 9, 4, 5)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (10, 2, 6, 0, 4, 8, 5, 9)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (10, 2, 6, 0, 4, 8, 9, 5)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (10, 2, 6, 0, 4, 5, 8, 9)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (10, 2, 6, 0, 8, 4, 5, 9)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (10, 2, 6, 0, 8, 4, 9, 5)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (3, 7, 10, 1), (10, 2, 6, 0, 8, 9, 4, 5)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 6, 3, 10, 1, 4, 8, 9)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 6, 3, 10, 1, 8, 4, 9)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 6, 3, 10, 1, 8, 9, 4)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 6, 10, 3, 1, 4, 8, 9)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 6, 10, 3, 1, 8, 4, 9)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 6, 10, 3, 1, 8, 9, 4)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 3, 10, 9), (2, 6, 7, 10, 1, 4, 8, 5)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 3, 10, 9), (2, 6, 7, 10, 1, 4, 5, 8)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 3, 10, 9), (2, 6, 7, 10, 1, 8, 4, 5)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 3, 10, 9), (2, 6, 10, 7, 1, 4, 8, 5)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 3, 10, 9), (2, 6, 10, 7, 1, 4, 5, 8)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 3, 10, 9), (2, 6, 10, 7, 1, 8, 4, 5)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 3, 6, 10, 1, 4, 8, 9)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 3, 6, 10, 1, 8, 4, 9)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 3, 6, 10, 1, 8, 9, 4)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 10, 6, 3, 1, 4, 8, 9)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 10, 6, 3, 1, 8, 4, 9)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 10, 6, 3, 1, 8, 9, 4)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 3, 10, 9), (2, 10, 6, 7, 1, 4, 8, 5)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 3, 10, 9), (2, 10, 6, 7, 1, 4, 5, 8)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 3, 10, 9), (2, 10, 6, 7, 1, 8, 4, 5)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 3, 10, 6, 1, 4, 8, 9)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 3, 10, 6, 1, 8, 4, 9)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 3, 10, 6, 1, 8, 9, 4)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 10, 3, 6, 1, 4, 8, 9)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 10, 3, 6, 1, 8, 4, 9)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 10, 3, 6, 1, 8, 9, 4)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (10, 2, 6, 3, 1, 4, 8, 9)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (10, 2, 6, 3, 1, 8, 4, 9)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (10, 2, 6, 3, 1, 8, 9, 4)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 3, 10, 9), (10, 2, 6, 7, 1, 4, 8, 5)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 3, 10, 9), (10, 2, 6, 7, 1, 4, 5, 8)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 3, 10, 9), (10, 2, 6, 7, 1, 8, 4, 5)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (10, 2, 3, 6, 1, 4, 8, 9)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (10, 2, 3, 6, 1, 8, 4, 9)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (10, 2, 3, 6, 1, 8, 9, 4)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 6, 3, 10, 4, 1, 8, 9)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 6, 3, 10, 8, 1, 4, 9)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 6, 3, 10, 8, 1, 9, 4)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 6, 10, 3, 4, 1, 8, 9)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 6, 10, 3, 8, 1, 4, 9)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 6, 10, 3, 8, 1, 9, 4)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 3, 10, 9), (2, 6, 7, 10, 4, 1, 8, 5)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 3, 10, 9), (2, 6, 7, 10, 4, 1, 5, 8)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 3, 10, 9), (2, 6, 7, 10, 8, 1, 4, 5)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 3, 10, 9), (2, 6, 10, 7, 4, 1, 8, 5)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 3, 10, 9), (2, 6, 10, 7, 4, 1, 5, 8)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 3, 10, 9), (2, 6, 10, 7, 8, 1, 4, 5)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 3, 6, 10, 4, 1, 8, 9)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 3, 6, 10, 8, 1, 4, 9)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 3, 6, 10, 8, 1, 9, 4)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 10, 6, 3, 4, 1, 8, 9)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 10, 6, 3, 8, 1, 4, 9)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 10, 6, 3, 8, 1, 9, 4)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 3, 10, 9), (2, 10, 6, 7, 4, 1, 8, 5)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 3, 10, 9), (2, 10, 6, 7, 4, 1, 5, 8)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 3, 10, 9), (2, 10, 6, 7, 8, 1, 4, 5)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 3, 10, 6, 4, 1, 8, 9)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 3, 10, 6, 8, 1, 4, 9)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 3, 10, 6, 8, 1, 9, 4)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 10, 3, 6, 4, 1, 8, 9)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 10, 3, 6, 8, 1, 4, 9)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 10, 3, 6, 8, 1, 9, 4)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (10, 2, 6, 3, 4, 1, 8, 9)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (10, 2, 6, 3, 8, 1, 4, 9)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (10, 2, 6, 3, 8, 1, 9, 4)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 3, 10, 9), (10, 2, 6, 7, 4, 1, 8, 5)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 3, 10, 9), (10, 2, 6, 7, 4, 1, 5, 8)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 3, 10, 9), (10, 2, 6, 7, 8, 1, 4, 5)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (10, 2, 3, 6, 4, 1, 8, 9)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (10, 2, 3, 6, 8, 1, 4, 9)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (10, 2, 3, 6, 8, 1, 9, 4)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 6, 3, 10, 4, 8, 1, 9)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 6, 3, 10, 8, 4, 1, 9)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 6, 3, 10, 8, 9, 1, 4)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 6, 10, 3, 4, 8, 1, 9)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 6, 10, 3, 8, 4, 1, 9)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 6, 10, 3, 8, 9, 1, 4)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 3, 10, 9), (2, 6, 7, 10, 4, 8, 1, 5)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 3, 10, 9), (2, 6, 7, 10, 4, 5, 1, 8)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 3, 10, 9), (2, 6, 7, 10, 8, 4, 1, 5)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 3, 10, 9), (2, 6, 10, 7, 4, 8, 1, 5)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 3, 10, 9), (2, 6, 10, 7, 4, 5, 1, 8)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 3, 10, 9), (2, 6, 10, 7, 8, 4, 1, 5)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 3, 6, 10, 4, 8, 1, 9)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 3, 6, 10, 8, 4, 1, 9)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 3, 6, 10, 8, 9, 1, 4)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 10, 6, 3, 4, 8, 1, 9)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 10, 6, 3, 8, 4, 1, 9)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 10, 6, 3, 8, 9, 1, 4)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 3, 10, 9), (2, 10, 6, 7, 4, 8, 1, 5)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 3, 10, 9), (2, 10, 6, 7, 4, 5, 1, 8)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 3, 10, 9), (2, 10, 6, 7, 8, 4, 1, 5)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 3, 10, 6, 4, 8, 1, 9)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 3, 10, 6, 8, 4, 1, 9)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 3, 10, 6, 8, 9, 1, 4)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 10, 3, 6, 4, 8, 1, 9)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 10, 3, 6, 8, 4, 1, 9)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 10, 3, 6, 8, 9, 1, 4)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (10, 2, 6, 3, 4, 8, 1, 9)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (10, 2, 6, 3, 8, 4, 1, 9)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (10, 2, 6, 3, 8, 9, 1, 4)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 3, 10, 9), (10, 2, 6, 7, 4, 8, 1, 5)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 3, 10, 9), (10, 2, 6, 7, 4, 5, 1, 8)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 3, 10, 9), (10, 2, 6, 7, 8, 4, 1, 5)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (10, 2, 3, 6, 4, 8, 1, 9)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (10, 2, 3, 6, 8, 4, 1, 9)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (10, 2, 3, 6, 8, 9, 1, 4)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 6, 3, 10, 4, 8, 9, 1)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 6, 3, 10, 8, 4, 9, 1)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 6, 3, 10, 8, 9, 4, 1)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 6, 10, 3, 4, 8, 9, 1)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 6, 10, 3, 8, 4, 9, 1)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 6, 10, 3, 8, 9, 4, 1)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 3, 10, 9), (2, 6, 7, 10, 4, 8, 5, 1)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 3, 10, 9), (2, 6, 7, 10, 4, 5, 8, 1)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 3, 10, 9), (2, 6, 7, 10, 8, 4, 5, 1)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 3, 10, 9), (2, 6, 10, 7, 4, 8, 5, 1)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 3, 10, 9), (2, 6, 10, 7, 4, 5, 8, 1)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 3, 10, 9), (2, 6, 10, 7, 8, 4, 5, 1)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 3, 6, 10, 4, 8, 9, 1)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 3, 6, 10, 8, 4, 9, 1)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 3, 6, 10, 8, 9, 4, 1)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 10, 6, 3, 4, 8, 9, 1)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 10, 6, 3, 8, 4, 9, 1)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 10, 6, 3, 8, 9, 4, 1)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 3, 10, 9), (2, 10, 6, 7, 4, 8, 5, 1)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 3, 10, 9), (2, 10, 6, 7, 4, 5, 8, 1)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 3, 10, 9), (2, 10, 6, 7, 8, 4, 5, 1)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 3, 10, 6, 4, 8, 9, 1)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 3, 10, 6, 8, 4, 9, 1)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 3, 10, 6, 8, 9, 4, 1)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 10, 3, 6, 4, 8, 9, 1)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 10, 3, 6, 8, 4, 9, 1)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (2, 10, 3, 6, 8, 9, 4, 1)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (10, 2, 6, 3, 4, 8, 9, 1)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (10, 2, 6, 3, 8, 4, 9, 1)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (10, 2, 6, 3, 8, 9, 4, 1)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 3, 10, 9), (10, 2, 6, 7, 4, 8, 5, 1)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 3, 10, 9), (10, 2, 6, 7, 4, 5, 8, 1)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 3, 10, 9), (10, 2, 6, 7, 8, 4, 5, 1)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (10, 2, 3, 6, 4, 8, 9, 1)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (10, 2, 3, 6, 8, 4, 9, 1)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ooov, (0, 7, 10, 5), (10, 2, 3, 6, 8, 9, 4, 1)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (0, 2, 6, 3, 10, 4, 8, 9)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (0, 2, 6, 3, 10, 8, 4, 9)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (0, 2, 6, 3, 10, 8, 9, 4)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (0, 2, 6, 3, 4, 10, 8, 9)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (0, 2, 6, 3, 8, 10, 4, 9)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (0, 2, 6, 3, 8, 10, 9, 4)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (0, 2, 6, 3, 4, 8, 10, 9)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (0, 2, 6, 3, 8, 4, 10, 9)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (0, 2, 6, 3, 8, 9, 10, 4)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (0, 2, 6, 3, 4, 8, 9, 10)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (0, 2, 6, 3, 8, 4, 9, 10)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (0, 2, 6, 3, 8, 9, 4, 10)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (3, 10, 1, 9), (0, 2, 6, 7, 10, 4, 8, 5)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (3, 10, 1, 9), (0, 2, 6, 7, 10, 4, 5, 8)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (3, 10, 1, 9), (0, 2, 6, 7, 10, 8, 4, 5)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (3, 10, 1, 9), (0, 2, 6, 7, 4, 10, 8, 5)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (3, 10, 1, 9), (0, 2, 6, 7, 4, 10, 5, 8)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (3, 10, 1, 9), (0, 2, 6, 7, 8, 10, 4, 5)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (3, 10, 1, 9), (0, 2, 6, 7, 4, 8, 10, 5)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (3, 10, 1, 9), (0, 2, 6, 7, 4, 5, 10, 8)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (3, 10, 1, 9), (0, 2, 6, 7, 8, 4, 10, 5)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (3, 10, 1, 9), (0, 2, 6, 7, 4, 8, 5, 10)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (3, 10, 1, 9), (0, 2, 6, 7, 4, 5, 8, 10)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (3, 10, 1, 9), (0, 2, 6, 7, 8, 4, 5, 10)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (0, 2, 3, 6, 10, 4, 8, 9)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (0, 2, 3, 6, 10, 8, 4, 9)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (0, 2, 3, 6, 10, 8, 9, 4)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (0, 2, 3, 6, 4, 10, 8, 9)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (0, 2, 3, 6, 8, 10, 4, 9)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (0, 2, 3, 6, 8, 10, 9, 4)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (0, 2, 3, 6, 4, 8, 10, 9)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (0, 2, 3, 6, 8, 4, 10, 9)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (0, 2, 3, 6, 8, 9, 10, 4)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (0, 2, 3, 6, 4, 8, 9, 10)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (0, 2, 3, 6, 8, 4, 9, 10)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (0, 2, 3, 6, 8, 9, 4, 10)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 0, 6, 3, 10, 4, 8, 9)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 0, 6, 3, 10, 8, 4, 9)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 0, 6, 3, 10, 8, 9, 4)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 0, 6, 3, 4, 10, 8, 9)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 0, 6, 3, 8, 10, 4, 9)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 0, 6, 3, 8, 10, 9, 4)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 0, 6, 3, 4, 8, 10, 9)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 0, 6, 3, 8, 4, 10, 9)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 0, 6, 3, 8, 9, 10, 4)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 0, 6, 3, 4, 8, 9, 10)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 0, 6, 3, 8, 4, 9, 10)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 0, 6, 3, 8, 9, 4, 10)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (3, 10, 1, 9), (2, 0, 6, 7, 10, 4, 8, 5)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (3, 10, 1, 9), (2, 0, 6, 7, 10, 4, 5, 8)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (3, 10, 1, 9), (2, 0, 6, 7, 10, 8, 4, 5)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (3, 10, 1, 9), (2, 0, 6, 7, 4, 10, 8, 5)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (3, 10, 1, 9), (2, 0, 6, 7, 4, 10, 5, 8)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (3, 10, 1, 9), (2, 0, 6, 7, 8, 10, 4, 5)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (3, 10, 1, 9), (2, 0, 6, 7, 4, 8, 10, 5)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (3, 10, 1, 9), (2, 0, 6, 7, 4, 5, 10, 8)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (3, 10, 1, 9), (2, 0, 6, 7, 8, 4, 10, 5)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (3, 10, 1, 9), (2, 0, 6, 7, 4, 8, 5, 10)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (3, 10, 1, 9), (2, 0, 6, 7, 4, 5, 8, 10)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (3, 10, 1, 9), (2, 0, 6, 7, 8, 4, 5, 10)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 0, 3, 6, 10, 4, 8, 9)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 0, 3, 6, 10, 8, 4, 9)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 0, 3, 6, 10, 8, 9, 4)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 0, 3, 6, 4, 10, 8, 9)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 0, 3, 6, 8, 10, 4, 9)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 0, 3, 6, 8, 10, 9, 4)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 0, 3, 6, 4, 8, 10, 9)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 0, 3, 6, 8, 4, 10, 9)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 0, 3, 6, 8, 9, 10, 4)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 0, 3, 6, 4, 8, 9, 10)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 0, 3, 6, 8, 4, 9, 10)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 0, 3, 6, 8, 9, 4, 10)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 6, 0, 3, 10, 4, 8, 9)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 6, 0, 3, 10, 8, 4, 9)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 6, 0, 3, 10, 8, 9, 4)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 6, 0, 3, 4, 10, 8, 9)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 6, 0, 3, 8, 10, 4, 9)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 6, 0, 3, 8, 10, 9, 4)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 6, 0, 3, 4, 8, 10, 9)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 6, 0, 3, 8, 4, 10, 9)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 6, 0, 3, 8, 9, 10, 4)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 6, 0, 3, 4, 8, 9, 10)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 6, 0, 3, 8, 4, 9, 10)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 6, 0, 3, 8, 9, 4, 10)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (3, 10, 1, 9), (2, 6, 0, 7, 10, 4, 8, 5)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (3, 10, 1, 9), (2, 6, 0, 7, 10, 4, 5, 8)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (3, 10, 1, 9), (2, 6, 0, 7, 10, 8, 4, 5)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (3, 10, 1, 9), (2, 6, 0, 7, 4, 10, 8, 5)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (3, 10, 1, 9), (2, 6, 0, 7, 4, 10, 5, 8)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (3, 10, 1, 9), (2, 6, 0, 7, 8, 10, 4, 5)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (3, 10, 1, 9), (2, 6, 0, 7, 4, 8, 10, 5)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (3, 10, 1, 9), (2, 6, 0, 7, 4, 5, 10, 8)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (3, 10, 1, 9), (2, 6, 0, 7, 8, 4, 10, 5)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (3, 10, 1, 9), (2, 6, 0, 7, 4, 8, 5, 10)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (3, 10, 1, 9), (2, 6, 0, 7, 4, 5, 8, 10)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (3, 10, 1, 9), (2, 6, 0, 7, 8, 4, 5, 10)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 3, 0, 6, 10, 4, 8, 9)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 3, 0, 6, 10, 8, 4, 9)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 3, 0, 6, 10, 8, 9, 4)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 3, 0, 6, 4, 10, 8, 9)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 3, 0, 6, 8, 10, 4, 9)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 3, 0, 6, 8, 10, 9, 4)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 3, 0, 6, 4, 8, 10, 9)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 3, 0, 6, 8, 4, 10, 9)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 3, 0, 6, 8, 9, 10, 4)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 3, 0, 6, 4, 8, 9, 10)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 3, 0, 6, 8, 4, 9, 10)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 3, 0, 6, 8, 9, 4, 10)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 6, 3, 0, 10, 4, 8, 9)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 6, 3, 0, 10, 8, 4, 9)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 6, 3, 0, 10, 8, 9, 4)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 6, 3, 0, 4, 10, 8, 9)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 6, 3, 0, 8, 10, 4, 9)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 6, 3, 0, 8, 10, 9, 4)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 6, 3, 0, 4, 8, 10, 9)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 6, 3, 0, 8, 4, 10, 9)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 6, 3, 0, 8, 9, 10, 4)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 6, 3, 0, 4, 8, 9, 10)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 6, 3, 0, 8, 4, 9, 10)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 6, 3, 0, 8, 9, 4, 10)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (3, 10, 1, 9), (2, 6, 7, 0, 10, 4, 8, 5)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (3, 10, 1, 9), (2, 6, 7, 0, 10, 4, 5, 8)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (3, 10, 1, 9), (2, 6, 7, 0, 10, 8, 4, 5)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (3, 10, 1, 9), (2, 6, 7, 0, 4, 10, 8, 5)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (3, 10, 1, 9), (2, 6, 7, 0, 4, 10, 5, 8)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (3, 10, 1, 9), (2, 6, 7, 0, 8, 10, 4, 5)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (3, 10, 1, 9), (2, 6, 7, 0, 4, 8, 10, 5)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (3, 10, 1, 9), (2, 6, 7, 0, 4, 5, 10, 8)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (3, 10, 1, 9), (2, 6, 7, 0, 8, 4, 10, 5)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (3, 10, 1, 9), (2, 6, 7, 0, 4, 8, 5, 10)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (3, 10, 1, 9), (2, 6, 7, 0, 4, 5, 8, 10)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (3, 10, 1, 9), (2, 6, 7, 0, 8, 4, 5, 10)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 3, 6, 0, 10, 4, 8, 9)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 3, 6, 0, 10, 8, 4, 9)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 3, 6, 0, 10, 8, 9, 4)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 3, 6, 0, 4, 10, 8, 9)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 3, 6, 0, 8, 10, 4, 9)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 3, 6, 0, 8, 10, 9, 4)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 3, 6, 0, 4, 8, 10, 9)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 3, 6, 0, 8, 4, 10, 9)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 3, 6, 0, 8, 9, 10, 4)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 3, 6, 0, 4, 8, 9, 10)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 3, 6, 0, 8, 4, 9, 10)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (7, 10, 1, 5), (2, 3, 6, 0, 8, 9, 4, 10)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 6, 3, 7, 1, 10, 4, 8)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 6, 3, 7, 1, 10, 8, 4)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 6, 3, 7, 1, 4, 10, 8)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 6, 3, 7, 1, 8, 10, 4)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 6, 3, 7, 1, 4, 8, 10)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 6, 3, 7, 1, 8, 4, 10)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 6, 7, 3, 1, 10, 4, 8)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 6, 7, 3, 1, 10, 8, 4)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 6, 7, 3, 1, 4, 10, 8)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 6, 7, 3, 1, 8, 10, 4)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 6, 7, 3, 1, 4, 8, 10)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 6, 7, 3, 1, 8, 4, 10)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 3, 6, 7, 1, 10, 4, 8)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 3, 6, 7, 1, 10, 8, 4)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 3, 6, 7, 1, 4, 10, 8)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 3, 6, 7, 1, 8, 10, 4)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 3, 6, 7, 1, 4, 8, 10)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 3, 6, 7, 1, 8, 4, 10)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 6, 3, 7, 10, 1, 4, 8)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 6, 3, 7, 10, 1, 8, 4)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 6, 3, 7, 4, 1, 10, 8)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 6, 3, 7, 8, 1, 10, 4)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 6, 3, 7, 4, 1, 8, 10)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 6, 3, 7, 8, 1, 4, 10)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 6, 7, 3, 10, 1, 4, 8)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 6, 7, 3, 10, 1, 8, 4)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 6, 7, 3, 4, 1, 10, 8)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 6, 7, 3, 8, 1, 10, 4)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 6, 7, 3, 4, 1, 8, 10)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 6, 7, 3, 8, 1, 4, 10)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 3, 6, 7, 10, 1, 4, 8)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 3, 6, 7, 10, 1, 8, 4)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 3, 6, 7, 4, 1, 10, 8)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 3, 6, 7, 8, 1, 10, 4)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 3, 6, 7, 4, 1, 8, 10)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 3, 6, 7, 8, 1, 4, 10)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 6, 3, 7, 10, 4, 1, 8)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 6, 3, 7, 10, 8, 1, 4)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 6, 3, 7, 4, 10, 1, 8)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 6, 3, 7, 8, 10, 1, 4)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 6, 3, 7, 4, 8, 1, 10)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 6, 3, 7, 8, 4, 1, 10)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 6, 7, 3, 10, 4, 1, 8)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 6, 7, 3, 10, 8, 1, 4)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 6, 7, 3, 4, 10, 1, 8)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 6, 7, 3, 8, 10, 1, 4)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 6, 7, 3, 4, 8, 1, 10)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 6, 7, 3, 8, 4, 1, 10)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 3, 6, 7, 10, 4, 1, 8)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 3, 6, 7, 10, 8, 1, 4)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 3, 6, 7, 4, 10, 1, 8)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 3, 6, 7, 8, 10, 1, 4)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 3, 6, 7, 4, 8, 1, 10)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 3, 6, 7, 8, 4, 1, 10)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 6, 3, 7, 10, 4, 8, 1)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 6, 3, 7, 10, 8, 4, 1)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 6, 3, 7, 4, 10, 8, 1)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 6, 3, 7, 8, 10, 4, 1)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 6, 3, 7, 4, 8, 10, 1)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 6, 3, 7, 8, 4, 10, 1)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 6, 7, 3, 10, 4, 8, 1)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 6, 7, 3, 10, 8, 4, 1)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 6, 7, 3, 4, 10, 8, 1)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 6, 7, 3, 8, 10, 4, 1)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 6, 7, 3, 4, 8, 10, 1)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 6, 7, 3, 8, 4, 10, 1)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 3, 6, 7, 10, 4, 8, 1)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 3, 6, 7, 10, 8, 4, 1)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 3, 6, 7, 4, 10, 8, 1)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 3, 6, 7, 8, 10, 4, 1)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 3, 6, 7, 4, 8, 10, 1)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), t2, (6, 7, 8, 9), v.ovvv, (0, 10, 5, 9), (2, 3, 6, 7, 8, 4, 10, 1)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (6, 7, 1, 5), t3, (8, 6, 7, 9, 10, 11), (0, 2, 3, 8, 4, 9, 10, 11)) * -0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (6, 7, 1, 5), t3, (8, 6, 7, 9, 10, 11), (0, 2, 3, 8, 9, 4, 10, 11)) * 0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (6, 7, 1, 5), t3, (8, 6, 7, 9, 10, 11), (0, 2, 3, 8, 9, 10, 4, 11)) * -0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (6, 7, 1, 5), t3, (8, 6, 7, 9, 10, 11), (0, 2, 3, 8, 9, 10, 11, 4)) * 0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (6, 7, 1, 5), t3, (8, 6, 7, 9, 10, 11), (0, 2, 8, 3, 4, 9, 10, 11)) * 0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (6, 7, 1, 5), t3, (8, 6, 7, 9, 10, 11), (0, 2, 8, 3, 9, 4, 10, 11)) * -0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (6, 7, 1, 5), t3, (8, 6, 7, 9, 10, 11), (0, 2, 8, 3, 9, 10, 4, 11)) * 0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (6, 7, 1, 5), t3, (8, 6, 7, 9, 10, 11), (0, 2, 8, 3, 9, 10, 11, 4)) * -0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (0, 2, 8, 9, 4, 5, 10, 11)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (0, 2, 8, 9, 4, 10, 5, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (0, 2, 8, 9, 4, 10, 11, 5)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (0, 2, 7, 8, 4, 9, 10, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (0, 2, 8, 9, 10, 4, 5, 11)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (0, 2, 8, 9, 10, 4, 11, 5)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (0, 2, 7, 8, 9, 4, 10, 11)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (0, 2, 8, 9, 10, 11, 4, 5)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (0, 2, 7, 8, 9, 10, 4, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (0, 2, 7, 8, 9, 10, 11, 4)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (6, 7, 1, 5), t3, (8, 6, 7, 9, 10, 11), (0, 8, 2, 3, 4, 9, 10, 11)) * -0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (6, 7, 1, 5), t3, (8, 6, 7, 9, 10, 11), (0, 8, 2, 3, 9, 4, 10, 11)) * 0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (6, 7, 1, 5), t3, (8, 6, 7, 9, 10, 11), (0, 8, 2, 3, 9, 10, 4, 11)) * -0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (6, 7, 1, 5), t3, (8, 6, 7, 9, 10, 11), (0, 8, 2, 3, 9, 10, 11, 4)) * 0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (0, 8, 2, 9, 4, 5, 10, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (0, 8, 2, 9, 4, 10, 5, 11)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (0, 8, 2, 9, 4, 10, 11, 5)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (0, 7, 2, 8, 4, 9, 10, 11)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (0, 8, 2, 9, 10, 4, 5, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (0, 8, 2, 9, 10, 4, 11, 5)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (0, 7, 2, 8, 9, 4, 10, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (0, 8, 2, 9, 10, 11, 4, 5)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (0, 7, 2, 8, 9, 10, 4, 11)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (0, 7, 2, 8, 9, 10, 11, 4)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (0, 8, 9, 2, 4, 5, 10, 11)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (0, 8, 9, 2, 4, 10, 5, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (0, 8, 9, 2, 4, 10, 11, 5)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (0, 7, 8, 2, 4, 9, 10, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (0, 8, 9, 2, 10, 4, 5, 11)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (0, 8, 9, 2, 10, 4, 11, 5)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (0, 7, 8, 2, 9, 4, 10, 11)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (0, 8, 9, 2, 10, 11, 4, 5)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (0, 7, 8, 2, 9, 10, 4, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (0, 7, 8, 2, 9, 10, 11, 4)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (2, 3, 1, 6), t3, (7, 8, 9, 10, 11, 6), (0, 7, 8, 9, 4, 5, 10, 11)) * 0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (2, 3, 1, 6), t3, (7, 8, 9, 10, 11, 6), (0, 7, 8, 9, 4, 10, 5, 11)) * -0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (2, 3, 1, 6), t3, (7, 8, 9, 10, 11, 6), (0, 7, 8, 9, 4, 10, 11, 5)) * 0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (2, 3, 1, 6), t3, (7, 8, 9, 10, 11, 6), (0, 7, 8, 9, 10, 4, 5, 11)) * 0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (2, 3, 1, 6), t3, (7, 8, 9, 10, 11, 6), (0, 7, 8, 9, 10, 4, 11, 5)) * -0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (2, 3, 1, 6), t3, (7, 8, 9, 10, 11, 6), (0, 7, 8, 9, 10, 11, 4, 5)) * 0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (6, 7, 1, 5), t3, (8, 6, 7, 9, 10, 11), (2, 0, 3, 8, 4, 9, 10, 11)) * 0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (6, 7, 1, 5), t3, (8, 6, 7, 9, 10, 11), (2, 0, 3, 8, 9, 4, 10, 11)) * -0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (6, 7, 1, 5), t3, (8, 6, 7, 9, 10, 11), (2, 0, 3, 8, 9, 10, 4, 11)) * 0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (6, 7, 1, 5), t3, (8, 6, 7, 9, 10, 11), (2, 0, 3, 8, 9, 10, 11, 4)) * -0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (6, 7, 1, 5), t3, (8, 6, 7, 9, 10, 11), (2, 0, 8, 3, 4, 9, 10, 11)) * -0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (6, 7, 1, 5), t3, (8, 6, 7, 9, 10, 11), (2, 0, 8, 3, 9, 4, 10, 11)) * 0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (6, 7, 1, 5), t3, (8, 6, 7, 9, 10, 11), (2, 0, 8, 3, 9, 10, 4, 11)) * -0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (6, 7, 1, 5), t3, (8, 6, 7, 9, 10, 11), (2, 0, 8, 3, 9, 10, 11, 4)) * 0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (2, 0, 8, 9, 4, 5, 10, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (2, 0, 8, 9, 4, 10, 5, 11)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (2, 0, 8, 9, 4, 10, 11, 5)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (2, 0, 7, 8, 4, 9, 10, 11)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (2, 0, 8, 9, 10, 4, 5, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (2, 0, 8, 9, 10, 4, 11, 5)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (2, 0, 7, 8, 9, 4, 10, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (2, 0, 8, 9, 10, 11, 4, 5)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (2, 0, 7, 8, 9, 10, 4, 11)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (2, 0, 7, 8, 9, 10, 11, 4)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (6, 7, 1, 5), t3, (8, 6, 7, 9, 10, 11), (8, 0, 2, 3, 4, 9, 10, 11)) * 0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (6, 7, 1, 5), t3, (8, 6, 7, 9, 10, 11), (8, 0, 2, 3, 9, 4, 10, 11)) * -0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (6, 7, 1, 5), t3, (8, 6, 7, 9, 10, 11), (8, 0, 2, 3, 9, 10, 4, 11)) * 0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (6, 7, 1, 5), t3, (8, 6, 7, 9, 10, 11), (8, 0, 2, 3, 9, 10, 11, 4)) * -0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (8, 0, 2, 9, 4, 5, 10, 11)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (8, 0, 2, 9, 4, 10, 5, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (8, 0, 2, 9, 4, 10, 11, 5)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (7, 0, 2, 8, 4, 9, 10, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (8, 0, 2, 9, 10, 4, 5, 11)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (8, 0, 2, 9, 10, 4, 11, 5)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (7, 0, 2, 8, 9, 4, 10, 11)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (8, 0, 2, 9, 10, 11, 4, 5)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (7, 0, 2, 8, 9, 10, 4, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (7, 0, 2, 8, 9, 10, 11, 4)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (8, 0, 9, 2, 4, 5, 10, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (8, 0, 9, 2, 4, 10, 5, 11)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (8, 0, 9, 2, 4, 10, 11, 5)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (7, 0, 8, 2, 4, 9, 10, 11)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (8, 0, 9, 2, 10, 4, 5, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (8, 0, 9, 2, 10, 4, 11, 5)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (7, 0, 8, 2, 9, 4, 10, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (8, 0, 9, 2, 10, 11, 4, 5)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (7, 0, 8, 2, 9, 10, 4, 11)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (7, 0, 8, 2, 9, 10, 11, 4)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (2, 3, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 0, 8, 9, 4, 5, 10, 11)) * -0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (2, 3, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 0, 8, 9, 4, 10, 5, 11)) * 0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (2, 3, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 0, 8, 9, 4, 10, 11, 5)) * -0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (2, 3, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 0, 8, 9, 10, 4, 5, 11)) * -0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (2, 3, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 0, 8, 9, 10, 4, 11, 5)) * 0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (2, 3, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 0, 8, 9, 10, 11, 4, 5)) * -0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (6, 7, 1, 5), t3, (8, 6, 7, 9, 10, 11), (2, 3, 0, 8, 4, 9, 10, 11)) * -0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (6, 7, 1, 5), t3, (8, 6, 7, 9, 10, 11), (2, 3, 0, 8, 9, 4, 10, 11)) * 0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (6, 7, 1, 5), t3, (8, 6, 7, 9, 10, 11), (2, 3, 0, 8, 9, 10, 4, 11)) * -0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (6, 7, 1, 5), t3, (8, 6, 7, 9, 10, 11), (2, 3, 0, 8, 9, 10, 11, 4)) * 0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (6, 7, 1, 5), t3, (8, 6, 7, 9, 10, 11), (2, 8, 0, 3, 4, 9, 10, 11)) * 0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (6, 7, 1, 5), t3, (8, 6, 7, 9, 10, 11), (2, 8, 0, 3, 9, 4, 10, 11)) * -0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (6, 7, 1, 5), t3, (8, 6, 7, 9, 10, 11), (2, 8, 0, 3, 9, 10, 4, 11)) * 0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (6, 7, 1, 5), t3, (8, 6, 7, 9, 10, 11), (2, 8, 0, 3, 9, 10, 11, 4)) * -0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (2, 8, 0, 9, 4, 5, 10, 11)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (2, 8, 0, 9, 4, 10, 5, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (2, 8, 0, 9, 4, 10, 11, 5)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (2, 7, 0, 8, 4, 9, 10, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (2, 8, 0, 9, 10, 4, 5, 11)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (2, 8, 0, 9, 10, 4, 11, 5)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (2, 7, 0, 8, 9, 4, 10, 11)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (2, 8, 0, 9, 10, 11, 4, 5)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (2, 7, 0, 8, 9, 10, 4, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (2, 7, 0, 8, 9, 10, 11, 4)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (6, 7, 1, 5), t3, (8, 6, 7, 9, 10, 11), (8, 2, 0, 3, 4, 9, 10, 11)) * -0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (6, 7, 1, 5), t3, (8, 6, 7, 9, 10, 11), (8, 2, 0, 3, 9, 4, 10, 11)) * 0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (6, 7, 1, 5), t3, (8, 6, 7, 9, 10, 11), (8, 2, 0, 3, 9, 10, 4, 11)) * -0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (6, 7, 1, 5), t3, (8, 6, 7, 9, 10, 11), (8, 2, 0, 3, 9, 10, 11, 4)) * 0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (8, 2, 0, 9, 4, 5, 10, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (8, 2, 0, 9, 4, 10, 5, 11)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (8, 2, 0, 9, 4, 10, 11, 5)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (7, 2, 0, 8, 4, 9, 10, 11)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (8, 2, 0, 9, 10, 4, 5, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (8, 2, 0, 9, 10, 4, 11, 5)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (7, 2, 0, 8, 9, 4, 10, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (8, 2, 0, 9, 10, 11, 4, 5)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (7, 2, 0, 8, 9, 10, 4, 11)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (7, 2, 0, 8, 9, 10, 11, 4)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (8, 9, 0, 2, 4, 5, 10, 11)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (8, 9, 0, 2, 4, 10, 5, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (8, 9, 0, 2, 4, 10, 11, 5)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (7, 8, 0, 2, 4, 9, 10, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (8, 9, 0, 2, 10, 4, 5, 11)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (8, 9, 0, 2, 10, 4, 11, 5)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (7, 8, 0, 2, 9, 4, 10, 11)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (8, 9, 0, 2, 10, 11, 4, 5)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (7, 8, 0, 2, 9, 10, 4, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (7, 8, 0, 2, 9, 10, 11, 4)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (2, 3, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 0, 9, 4, 5, 10, 11)) * 0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (2, 3, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 0, 9, 4, 10, 5, 11)) * -0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (2, 3, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 0, 9, 4, 10, 11, 5)) * 0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (2, 3, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 0, 9, 10, 4, 5, 11)) * 0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (2, 3, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 0, 9, 10, 4, 11, 5)) * -0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (2, 3, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 0, 9, 10, 11, 4, 5)) * 0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (6, 7, 1, 5), t3, (8, 6, 7, 9, 10, 11), (2, 3, 8, 0, 4, 9, 10, 11)) * 0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (6, 7, 1, 5), t3, (8, 6, 7, 9, 10, 11), (2, 3, 8, 0, 9, 4, 10, 11)) * -0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (6, 7, 1, 5), t3, (8, 6, 7, 9, 10, 11), (2, 3, 8, 0, 9, 10, 4, 11)) * 0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (6, 7, 1, 5), t3, (8, 6, 7, 9, 10, 11), (2, 3, 8, 0, 9, 10, 11, 4)) * -0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (6, 7, 1, 5), t3, (8, 6, 7, 9, 10, 11), (2, 8, 3, 0, 4, 9, 10, 11)) * -0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (6, 7, 1, 5), t3, (8, 6, 7, 9, 10, 11), (2, 8, 3, 0, 9, 4, 10, 11)) * 0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (6, 7, 1, 5), t3, (8, 6, 7, 9, 10, 11), (2, 8, 3, 0, 9, 10, 4, 11)) * -0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (6, 7, 1, 5), t3, (8, 6, 7, 9, 10, 11), (2, 8, 3, 0, 9, 10, 11, 4)) * 0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (2, 8, 9, 0, 4, 5, 10, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (2, 8, 9, 0, 4, 10, 5, 11)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (2, 8, 9, 0, 4, 10, 11, 5)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (2, 7, 8, 0, 4, 9, 10, 11)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (2, 8, 9, 0, 10, 4, 5, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (2, 8, 9, 0, 10, 4, 11, 5)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (2, 7, 8, 0, 9, 4, 10, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (2, 8, 9, 0, 10, 11, 4, 5)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (2, 7, 8, 0, 9, 10, 4, 11)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (2, 7, 8, 0, 9, 10, 11, 4)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (6, 7, 1, 5), t3, (8, 6, 7, 9, 10, 11), (8, 2, 3, 0, 4, 9, 10, 11)) * 0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (6, 7, 1, 5), t3, (8, 6, 7, 9, 10, 11), (8, 2, 3, 0, 9, 4, 10, 11)) * -0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (6, 7, 1, 5), t3, (8, 6, 7, 9, 10, 11), (8, 2, 3, 0, 9, 10, 4, 11)) * 0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (6, 7, 1, 5), t3, (8, 6, 7, 9, 10, 11), (8, 2, 3, 0, 9, 10, 11, 4)) * -0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (8, 2, 9, 0, 4, 5, 10, 11)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (8, 2, 9, 0, 4, 10, 5, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (8, 2, 9, 0, 4, 10, 11, 5)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (7, 2, 8, 0, 4, 9, 10, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (8, 2, 9, 0, 10, 4, 5, 11)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (8, 2, 9, 0, 10, 4, 11, 5)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (7, 2, 8, 0, 9, 4, 10, 11)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (8, 2, 9, 0, 10, 11, 4, 5)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (7, 2, 8, 0, 9, 10, 4, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (7, 2, 8, 0, 9, 10, 11, 4)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (8, 9, 2, 0, 4, 5, 10, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (8, 9, 2, 0, 4, 10, 5, 11)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (8, 9, 2, 0, 4, 10, 11, 5)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (7, 8, 2, 0, 4, 9, 10, 11)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (8, 9, 2, 0, 10, 4, 5, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (8, 9, 2, 0, 10, 4, 11, 5)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (7, 8, 2, 0, 9, 4, 10, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 7), t3, (8, 9, 6, 10, 11, 7), (8, 9, 2, 0, 10, 11, 4, 5)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (7, 8, 2, 0, 9, 10, 4, 11)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (3, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (7, 8, 2, 0, 9, 10, 11, 4)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (2, 3, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 9, 0, 4, 5, 10, 11)) * -0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (2, 3, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 9, 0, 4, 10, 5, 11)) * 0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (2, 3, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 9, 0, 4, 10, 11, 5)) * -0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (2, 3, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 9, 0, 10, 4, 5, 11)) * -0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (2, 3, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 9, 0, 10, 4, 11, 5)) * 0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (2, 3, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 9, 0, 10, 11, 4, 5)) * -0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (2, 3, 8, 9, 1, 4, 10, 11)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (2, 3, 8, 9, 1, 10, 4, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (2, 3, 8, 9, 1, 10, 11, 4)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 4, 5), t3, (7, 8, 6, 9, 10, 11), (2, 3, 7, 8, 1, 9, 10, 11)) * 0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (2, 8, 3, 9, 1, 4, 10, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (2, 8, 3, 9, 1, 10, 4, 11)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (2, 8, 3, 9, 1, 10, 11, 4)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 4, 5), t3, (7, 8, 6, 9, 10, 11), (2, 7, 3, 8, 1, 9, 10, 11)) * -0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (2, 8, 9, 3, 1, 4, 10, 11)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (2, 8, 9, 3, 1, 10, 4, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (2, 8, 9, 3, 1, 10, 11, 4)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 4, 5), t3, (7, 8, 6, 9, 10, 11), (2, 7, 8, 3, 1, 9, 10, 11)) * 0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 6, 7), t3, (8, 9, 10, 11, 6, 7), (2, 8, 9, 10, 1, 4, 5, 11)) * -0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 6, 7), t3, (8, 9, 10, 11, 6, 7), (2, 8, 9, 10, 1, 4, 11, 5)) * 0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 5, 6), t3, (7, 8, 9, 10, 11, 6), (2, 7, 8, 9, 1, 4, 10, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 6, 7), t3, (8, 9, 10, 11, 6, 7), (2, 8, 9, 10, 1, 11, 4, 5)) * -0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 5, 6), t3, (7, 8, 9, 10, 11, 6), (2, 7, 8, 9, 1, 10, 4, 11)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 5, 6), t3, (7, 8, 9, 10, 11, 6), (2, 7, 8, 9, 1, 10, 11, 4)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (8, 2, 3, 9, 1, 4, 10, 11)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (8, 2, 3, 9, 1, 10, 4, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (8, 2, 3, 9, 1, 10, 11, 4)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 4, 5), t3, (7, 8, 6, 9, 10, 11), (7, 2, 3, 8, 1, 9, 10, 11)) * 0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (8, 2, 9, 3, 1, 4, 10, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (8, 2, 9, 3, 1, 10, 4, 11)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (8, 2, 9, 3, 1, 10, 11, 4)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 4, 5), t3, (7, 8, 6, 9, 10, 11), (7, 2, 8, 3, 1, 9, 10, 11)) * -0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 6, 7), t3, (8, 9, 10, 11, 6, 7), (8, 2, 9, 10, 1, 4, 5, 11)) * 0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 6, 7), t3, (8, 9, 10, 11, 6, 7), (8, 2, 9, 10, 1, 4, 11, 5)) * -0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 5, 6), t3, (7, 8, 9, 10, 11, 6), (7, 2, 8, 9, 1, 4, 10, 11)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 6, 7), t3, (8, 9, 10, 11, 6, 7), (8, 2, 9, 10, 1, 11, 4, 5)) * 0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 5, 6), t3, (7, 8, 9, 10, 11, 6), (7, 2, 8, 9, 1, 10, 4, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 5, 6), t3, (7, 8, 9, 10, 11, 6), (7, 2, 8, 9, 1, 10, 11, 4)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (8, 9, 2, 3, 1, 4, 10, 11)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (8, 9, 2, 3, 1, 10, 4, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (8, 9, 2, 3, 1, 10, 11, 4)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 4, 5), t3, (7, 8, 6, 9, 10, 11), (7, 8, 2, 3, 1, 9, 10, 11)) * 0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 6, 7), t3, (8, 9, 10, 11, 6, 7), (8, 9, 2, 10, 1, 4, 5, 11)) * -0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 6, 7), t3, (8, 9, 10, 11, 6, 7), (8, 9, 2, 10, 1, 4, 11, 5)) * 0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 5, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 2, 9, 1, 4, 10, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 6, 7), t3, (8, 9, 10, 11, 6, 7), (8, 9, 2, 10, 1, 11, 4, 5)) * -0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 5, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 2, 9, 1, 10, 4, 11)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 5, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 2, 9, 1, 10, 11, 4)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 6, 7), t3, (8, 9, 10, 11, 6, 7), (8, 9, 10, 2, 1, 4, 5, 11)) * 0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 6, 7), t3, (8, 9, 10, 11, 6, 7), (8, 9, 10, 2, 1, 4, 11, 5)) * -0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 5, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 9, 2, 1, 4, 10, 11)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 6, 7), t3, (8, 9, 10, 11, 6, 7), (8, 9, 10, 2, 1, 11, 4, 5)) * 0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 5, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 9, 2, 1, 10, 4, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 5, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 9, 2, 1, 10, 11, 4)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (2, 3, 8, 9, 4, 1, 10, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (2, 3, 8, 9, 10, 1, 4, 11)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (2, 3, 8, 9, 10, 1, 11, 4)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 4, 5), t3, (7, 8, 6, 9, 10, 11), (2, 3, 7, 8, 9, 1, 10, 11)) * -0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (2, 8, 3, 9, 4, 1, 10, 11)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (2, 8, 3, 9, 10, 1, 4, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (2, 8, 3, 9, 10, 1, 11, 4)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 4, 5), t3, (7, 8, 6, 9, 10, 11), (2, 7, 3, 8, 9, 1, 10, 11)) * 0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (2, 8, 9, 3, 4, 1, 10, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (2, 8, 9, 3, 10, 1, 4, 11)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (2, 8, 9, 3, 10, 1, 11, 4)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 4, 5), t3, (7, 8, 6, 9, 10, 11), (2, 7, 8, 3, 9, 1, 10, 11)) * -0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 6, 7), t3, (8, 9, 10, 11, 6, 7), (2, 8, 9, 10, 4, 1, 5, 11)) * 0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 6, 7), t3, (8, 9, 10, 11, 6, 7), (2, 8, 9, 10, 4, 1, 11, 5)) * -0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 5, 6), t3, (7, 8, 9, 10, 11, 6), (2, 7, 8, 9, 4, 1, 10, 11)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 6, 7), t3, (8, 9, 10, 11, 6, 7), (2, 8, 9, 10, 11, 1, 4, 5)) * 0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 5, 6), t3, (7, 8, 9, 10, 11, 6), (2, 7, 8, 9, 10, 1, 4, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 5, 6), t3, (7, 8, 9, 10, 11, 6), (2, 7, 8, 9, 10, 1, 11, 4)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (8, 2, 3, 9, 4, 1, 10, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (8, 2, 3, 9, 10, 1, 4, 11)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (8, 2, 3, 9, 10, 1, 11, 4)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 4, 5), t3, (7, 8, 6, 9, 10, 11), (7, 2, 3, 8, 9, 1, 10, 11)) * -0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (8, 2, 9, 3, 4, 1, 10, 11)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (8, 2, 9, 3, 10, 1, 4, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (8, 2, 9, 3, 10, 1, 11, 4)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 4, 5), t3, (7, 8, 6, 9, 10, 11), (7, 2, 8, 3, 9, 1, 10, 11)) * 0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 6, 7), t3, (8, 9, 10, 11, 6, 7), (8, 2, 9, 10, 4, 1, 5, 11)) * -0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 6, 7), t3, (8, 9, 10, 11, 6, 7), (8, 2, 9, 10, 4, 1, 11, 5)) * 0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 5, 6), t3, (7, 8, 9, 10, 11, 6), (7, 2, 8, 9, 4, 1, 10, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 6, 7), t3, (8, 9, 10, 11, 6, 7), (8, 2, 9, 10, 11, 1, 4, 5)) * -0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 5, 6), t3, (7, 8, 9, 10, 11, 6), (7, 2, 8, 9, 10, 1, 4, 11)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 5, 6), t3, (7, 8, 9, 10, 11, 6), (7, 2, 8, 9, 10, 1, 11, 4)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (8, 9, 2, 3, 4, 1, 10, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (8, 9, 2, 3, 10, 1, 4, 11)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (8, 9, 2, 3, 10, 1, 11, 4)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 4, 5), t3, (7, 8, 6, 9, 10, 11), (7, 8, 2, 3, 9, 1, 10, 11)) * -0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 6, 7), t3, (8, 9, 10, 11, 6, 7), (8, 9, 2, 10, 4, 1, 5, 11)) * 0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 6, 7), t3, (8, 9, 10, 11, 6, 7), (8, 9, 2, 10, 4, 1, 11, 5)) * -0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 5, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 2, 9, 4, 1, 10, 11)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 6, 7), t3, (8, 9, 10, 11, 6, 7), (8, 9, 2, 10, 11, 1, 4, 5)) * 0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 5, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 2, 9, 10, 1, 4, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 5, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 2, 9, 10, 1, 11, 4)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 6, 7), t3, (8, 9, 10, 11, 6, 7), (8, 9, 10, 2, 4, 1, 5, 11)) * -0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 6, 7), t3, (8, 9, 10, 11, 6, 7), (8, 9, 10, 2, 4, 1, 11, 5)) * 0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 5, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 9, 2, 4, 1, 10, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 6, 7), t3, (8, 9, 10, 11, 6, 7), (8, 9, 10, 2, 11, 1, 4, 5)) * -0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 5, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 9, 2, 10, 1, 4, 11)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 5, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 9, 2, 10, 1, 11, 4)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (2, 3, 8, 9, 4, 10, 1, 11)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (2, 3, 8, 9, 10, 4, 1, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (2, 3, 8, 9, 10, 11, 1, 4)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 4, 5), t3, (7, 8, 6, 9, 10, 11), (2, 3, 7, 8, 9, 10, 1, 11)) * 0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (2, 8, 3, 9, 4, 10, 1, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (2, 8, 3, 9, 10, 4, 1, 11)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (2, 8, 3, 9, 10, 11, 1, 4)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 4, 5), t3, (7, 8, 6, 9, 10, 11), (2, 7, 3, 8, 9, 10, 1, 11)) * -0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (2, 8, 9, 3, 4, 10, 1, 11)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (2, 8, 9, 3, 10, 4, 1, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (2, 8, 9, 3, 10, 11, 1, 4)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 4, 5), t3, (7, 8, 6, 9, 10, 11), (2, 7, 8, 3, 9, 10, 1, 11)) * 0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 6, 7), t3, (8, 9, 10, 11, 6, 7), (2, 8, 9, 10, 4, 5, 1, 11)) * -0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 6, 7), t3, (8, 9, 10, 11, 6, 7), (2, 8, 9, 10, 4, 11, 1, 5)) * 0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 5, 6), t3, (7, 8, 9, 10, 11, 6), (2, 7, 8, 9, 4, 10, 1, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 6, 7), t3, (8, 9, 10, 11, 6, 7), (2, 8, 9, 10, 11, 4, 1, 5)) * -0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 5, 6), t3, (7, 8, 9, 10, 11, 6), (2, 7, 8, 9, 10, 4, 1, 11)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 5, 6), t3, (7, 8, 9, 10, 11, 6), (2, 7, 8, 9, 10, 11, 1, 4)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (8, 2, 3, 9, 4, 10, 1, 11)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (8, 2, 3, 9, 10, 4, 1, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (8, 2, 3, 9, 10, 11, 1, 4)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 4, 5), t3, (7, 8, 6, 9, 10, 11), (7, 2, 3, 8, 9, 10, 1, 11)) * 0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (8, 2, 9, 3, 4, 10, 1, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (8, 2, 9, 3, 10, 4, 1, 11)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (8, 2, 9, 3, 10, 11, 1, 4)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 4, 5), t3, (7, 8, 6, 9, 10, 11), (7, 2, 8, 3, 9, 10, 1, 11)) * -0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 6, 7), t3, (8, 9, 10, 11, 6, 7), (8, 2, 9, 10, 4, 5, 1, 11)) * 0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 6, 7), t3, (8, 9, 10, 11, 6, 7), (8, 2, 9, 10, 4, 11, 1, 5)) * -0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 5, 6), t3, (7, 8, 9, 10, 11, 6), (7, 2, 8, 9, 4, 10, 1, 11)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 6, 7), t3, (8, 9, 10, 11, 6, 7), (8, 2, 9, 10, 11, 4, 1, 5)) * 0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 5, 6), t3, (7, 8, 9, 10, 11, 6), (7, 2, 8, 9, 10, 4, 1, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 5, 6), t3, (7, 8, 9, 10, 11, 6), (7, 2, 8, 9, 10, 11, 1, 4)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (8, 9, 2, 3, 4, 10, 1, 11)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (8, 9, 2, 3, 10, 4, 1, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (8, 9, 2, 3, 10, 11, 1, 4)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 4, 5), t3, (7, 8, 6, 9, 10, 11), (7, 8, 2, 3, 9, 10, 1, 11)) * 0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 6, 7), t3, (8, 9, 10, 11, 6, 7), (8, 9, 2, 10, 4, 5, 1, 11)) * -0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 6, 7), t3, (8, 9, 10, 11, 6, 7), (8, 9, 2, 10, 4, 11, 1, 5)) * 0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 5, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 2, 9, 4, 10, 1, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 6, 7), t3, (8, 9, 10, 11, 6, 7), (8, 9, 2, 10, 11, 4, 1, 5)) * -0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 5, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 2, 9, 10, 4, 1, 11)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 5, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 2, 9, 10, 11, 1, 4)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 6, 7), t3, (8, 9, 10, 11, 6, 7), (8, 9, 10, 2, 4, 5, 1, 11)) * 0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 6, 7), t3, (8, 9, 10, 11, 6, 7), (8, 9, 10, 2, 4, 11, 1, 5)) * -0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 5, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 9, 2, 4, 10, 1, 11)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 6, 7), t3, (8, 9, 10, 11, 6, 7), (8, 9, 10, 2, 11, 4, 1, 5)) * 0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 5, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 9, 2, 10, 4, 1, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 5, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 9, 2, 10, 11, 1, 4)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (2, 3, 8, 9, 4, 10, 11, 1)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (2, 3, 8, 9, 10, 4, 11, 1)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (2, 3, 8, 9, 10, 11, 4, 1)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 4, 5), t3, (7, 8, 6, 9, 10, 11), (2, 3, 7, 8, 9, 10, 11, 1)) * -0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (2, 8, 3, 9, 4, 10, 11, 1)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (2, 8, 3, 9, 10, 4, 11, 1)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (2, 8, 3, 9, 10, 11, 4, 1)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 4, 5), t3, (7, 8, 6, 9, 10, 11), (2, 7, 3, 8, 9, 10, 11, 1)) * 0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (2, 8, 9, 3, 4, 10, 11, 1)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (2, 8, 9, 3, 10, 4, 11, 1)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (2, 8, 9, 3, 10, 11, 4, 1)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 4, 5), t3, (7, 8, 6, 9, 10, 11), (2, 7, 8, 3, 9, 10, 11, 1)) * -0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 6, 7), t3, (8, 9, 10, 11, 6, 7), (2, 8, 9, 10, 4, 5, 11, 1)) * 0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 6, 7), t3, (8, 9, 10, 11, 6, 7), (2, 8, 9, 10, 4, 11, 5, 1)) * -0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 5, 6), t3, (7, 8, 9, 10, 11, 6), (2, 7, 8, 9, 4, 10, 11, 1)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 6, 7), t3, (8, 9, 10, 11, 6, 7), (2, 8, 9, 10, 11, 4, 5, 1)) * 0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 5, 6), t3, (7, 8, 9, 10, 11, 6), (2, 7, 8, 9, 10, 4, 11, 1)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 5, 6), t3, (7, 8, 9, 10, 11, 6), (2, 7, 8, 9, 10, 11, 4, 1)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (8, 2, 3, 9, 4, 10, 11, 1)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (8, 2, 3, 9, 10, 4, 11, 1)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (8, 2, 3, 9, 10, 11, 4, 1)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 4, 5), t3, (7, 8, 6, 9, 10, 11), (7, 2, 3, 8, 9, 10, 11, 1)) * -0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (8, 2, 9, 3, 4, 10, 11, 1)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (8, 2, 9, 3, 10, 4, 11, 1)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (8, 2, 9, 3, 10, 11, 4, 1)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 4, 5), t3, (7, 8, 6, 9, 10, 11), (7, 2, 8, 3, 9, 10, 11, 1)) * 0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 6, 7), t3, (8, 9, 10, 11, 6, 7), (8, 2, 9, 10, 4, 5, 11, 1)) * -0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 6, 7), t3, (8, 9, 10, 11, 6, 7), (8, 2, 9, 10, 4, 11, 5, 1)) * 0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 5, 6), t3, (7, 8, 9, 10, 11, 6), (7, 2, 8, 9, 4, 10, 11, 1)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 6, 7), t3, (8, 9, 10, 11, 6, 7), (8, 2, 9, 10, 11, 4, 5, 1)) * -0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 5, 6), t3, (7, 8, 9, 10, 11, 6), (7, 2, 8, 9, 10, 4, 11, 1)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 5, 6), t3, (7, 8, 9, 10, 11, 6), (7, 2, 8, 9, 10, 11, 4, 1)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (8, 9, 2, 3, 4, 10, 11, 1)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (8, 9, 2, 3, 10, 4, 11, 1)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 5, 7), t3, (8, 9, 6, 10, 11, 7), (8, 9, 2, 3, 10, 11, 4, 1)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 4, 5), t3, (7, 8, 6, 9, 10, 11), (7, 8, 2, 3, 9, 10, 11, 1)) * -0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 6, 7), t3, (8, 9, 10, 11, 6, 7), (8, 9, 2, 10, 4, 5, 11, 1)) * 0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 6, 7), t3, (8, 9, 10, 11, 6, 7), (8, 9, 2, 10, 4, 11, 5, 1)) * -0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 5, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 2, 9, 4, 10, 11, 1)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 6, 7), t3, (8, 9, 10, 11, 6, 7), (8, 9, 2, 10, 11, 4, 5, 1)) * 0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 5, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 2, 9, 10, 4, 11, 1)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 5, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 2, 9, 10, 11, 4, 1)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 6, 7), t3, (8, 9, 10, 11, 6, 7), (8, 9, 10, 2, 4, 5, 11, 1)) * -0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 6, 7), t3, (8, 9, 10, 11, 6, 7), (8, 9, 10, 2, 4, 11, 5, 1)) * 0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 5, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 9, 2, 4, 10, 11, 1)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 6, 7), t3, (8, 9, 10, 11, 6, 7), (8, 9, 10, 2, 11, 4, 5, 1)) * -0.5 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 5, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 9, 2, 10, 4, 11, 1)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 5, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 9, 2, 10, 11, 4, 1)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (2, 3, 7, 8, 4, 9, 10, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (2, 3, 7, 8, 9, 4, 10, 11)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (2, 3, 7, 8, 9, 10, 4, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (2, 3, 7, 8, 9, 10, 11, 4)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (2, 7, 3, 8, 4, 9, 10, 11)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (2, 7, 3, 8, 9, 4, 10, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (2, 7, 3, 8, 9, 10, 4, 11)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (2, 7, 3, 8, 9, 10, 11, 4)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (2, 7, 8, 3, 4, 9, 10, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (2, 7, 8, 3, 9, 4, 10, 11)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (2, 7, 8, 3, 9, 10, 4, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (2, 7, 8, 3, 9, 10, 11, 4)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 1, 6), t3, (7, 8, 9, 10, 11, 6), (2, 7, 8, 9, 4, 5, 10, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 1, 6), t3, (7, 8, 9, 10, 11, 6), (2, 7, 8, 9, 4, 10, 5, 11)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 1, 6), t3, (7, 8, 9, 10, 11, 6), (2, 7, 8, 9, 4, 10, 11, 5)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 1, 6), t3, (7, 8, 9, 10, 11, 6), (2, 7, 8, 9, 10, 4, 5, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 1, 6), t3, (7, 8, 9, 10, 11, 6), (2, 7, 8, 9, 10, 4, 11, 5)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 1, 6), t3, (7, 8, 9, 10, 11, 6), (2, 7, 8, 9, 10, 11, 4, 5)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (7, 2, 3, 8, 4, 9, 10, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (7, 2, 3, 8, 9, 4, 10, 11)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (7, 2, 3, 8, 9, 10, 4, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (7, 2, 3, 8, 9, 10, 11, 4)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (7, 2, 8, 3, 4, 9, 10, 11)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (7, 2, 8, 3, 9, 4, 10, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (7, 2, 8, 3, 9, 10, 4, 11)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (7, 2, 8, 3, 9, 10, 11, 4)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 2, 8, 9, 4, 5, 10, 11)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 2, 8, 9, 4, 10, 5, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 2, 8, 9, 4, 10, 11, 5)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 2, 8, 9, 10, 4, 5, 11)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 2, 8, 9, 10, 4, 11, 5)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 2, 8, 9, 10, 11, 4, 5)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (7, 8, 2, 3, 4, 9, 10, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (7, 8, 2, 3, 9, 4, 10, 11)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (7, 8, 2, 3, 9, 10, 4, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 6, 1, 5), t3, (7, 8, 6, 9, 10, 11), (7, 8, 2, 3, 9, 10, 11, 4)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 2, 9, 4, 5, 10, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 2, 9, 4, 10, 5, 11)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 2, 9, 4, 10, 11, 5)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 2, 9, 10, 4, 5, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 2, 9, 10, 4, 11, 5)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 2, 9, 10, 11, 4, 5)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 9, 2, 4, 5, 10, 11)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 9, 2, 4, 10, 5, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 9, 2, 4, 10, 11, 5)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 9, 2, 10, 4, 5, 11)) + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 9, 2, 10, 4, 11, 5)) * -1.0 + t4new += einsum(t1, (0, 1), t2, (2, 3, 4, 5), v.oovv, (0, 3, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 9, 2, 10, 11, 4, 5)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 11), (0, 4, 8, 1, 2, 6, 10, 7)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 7), (0, 4, 8, 1, 2, 6, 10, 11)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 11), (0, 4, 8, 1, 2, 6, 7, 10)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 11), (0, 4, 8, 1, 2, 10, 6, 7)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 7), (0, 4, 8, 1, 2, 10, 6, 11)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 7), (0, 4, 8, 1, 2, 10, 11, 6)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 11), (0, 4, 8, 1, 6, 2, 10, 7)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 7), (0, 4, 8, 1, 6, 2, 10, 11)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 11), (0, 4, 8, 1, 6, 2, 7, 10)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 11), (0, 4, 8, 1, 10, 2, 6, 7)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 7), (0, 4, 8, 1, 10, 2, 6, 11)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 7), (0, 4, 8, 1, 10, 2, 11, 6)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 11), (0, 4, 8, 1, 6, 10, 2, 7)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 7), (0, 4, 8, 1, 6, 10, 2, 11)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 11), (0, 4, 8, 1, 6, 7, 2, 10)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 11), (0, 4, 8, 1, 10, 6, 2, 7)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 7), (0, 4, 8, 1, 10, 6, 2, 11)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 7), (0, 4, 8, 1, 10, 11, 2, 6)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 11), (0, 4, 8, 1, 6, 10, 7, 2)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 7), (0, 4, 8, 1, 6, 10, 11, 2)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 11), (0, 4, 8, 1, 6, 7, 10, 2)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 11), (0, 4, 8, 1, 10, 6, 7, 2)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 7), (0, 4, 8, 1, 10, 6, 11, 2)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 7), (0, 4, 8, 1, 10, 11, 6, 2)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 2, 3), (0, 4, 8, 1, 6, 10, 7, 11)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 2, 3), (0, 4, 8, 1, 6, 10, 11, 7)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 2, 3), (0, 4, 8, 1, 6, 7, 10, 11)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 2, 3), (0, 4, 8, 1, 10, 6, 7, 11)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 2, 3), (0, 4, 8, 1, 10, 6, 11, 7)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 2, 3), (0, 4, 8, 1, 10, 11, 6, 7)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 7, 11), (0, 4, 8, 5, 2, 6, 10, 3)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 3, 7), (0, 4, 8, 5, 2, 6, 10, 11)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 7, 11), (0, 4, 8, 5, 2, 6, 3, 10)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 7, 11), (0, 4, 8, 5, 2, 10, 6, 3)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 3, 7), (0, 4, 8, 5, 2, 10, 6, 11)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 7, 11), (0, 4, 8, 5, 2, 3, 6, 10)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 7, 11), (0, 4, 8, 5, 2, 10, 3, 6)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 3, 7), (0, 4, 8, 5, 2, 10, 11, 6)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 7, 11), (0, 4, 8, 5, 2, 3, 10, 6)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 6, 7), (0, 4, 8, 5, 2, 10, 3, 11)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 6, 7), (0, 4, 8, 5, 2, 10, 11, 3)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 6, 7), (0, 4, 8, 5, 2, 3, 10, 11)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 7, 11), (0, 4, 8, 5, 6, 2, 10, 3)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 3, 7), (0, 4, 8, 5, 6, 2, 10, 11)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 7, 11), (0, 4, 8, 5, 6, 2, 3, 10)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 7, 11), (0, 4, 8, 5, 10, 2, 6, 3)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 3, 7), (0, 4, 8, 5, 10, 2, 6, 11)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 7, 11), (0, 4, 8, 5, 10, 2, 3, 6)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 3, 7), (0, 4, 8, 5, 10, 2, 11, 6)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 6, 7), (0, 4, 8, 5, 10, 2, 3, 11)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 6, 7), (0, 4, 8, 5, 10, 2, 11, 3)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 7, 11), (0, 4, 8, 5, 6, 10, 2, 3)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 3, 7), (0, 4, 8, 5, 6, 10, 2, 11)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 7, 11), (0, 4, 8, 5, 10, 6, 2, 3)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 3, 7), (0, 4, 8, 5, 10, 6, 2, 11)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 3, 7), (0, 4, 8, 5, 10, 11, 2, 6)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 6, 7), (0, 4, 8, 5, 10, 11, 2, 3)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 3, 7), (0, 4, 8, 5, 6, 10, 11, 2)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 3, 7), (0, 4, 8, 5, 10, 6, 11, 2)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 3, 7), (0, 4, 8, 5, 10, 11, 6, 2)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 5, 7, 11), (0, 4, 8, 9, 2, 6, 10, 3)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 5, 3, 11), (0, 4, 8, 9, 2, 6, 10, 7)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 5, 7, 11), (0, 4, 8, 9, 2, 6, 3, 10)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 5, 3, 11), (0, 4, 8, 9, 2, 6, 7, 10)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 5, 10, 11), (0, 4, 8, 9, 2, 6, 3, 7)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 5, 10, 11), (0, 4, 8, 9, 2, 6, 7, 3)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 5, 7, 11), (0, 4, 8, 9, 2, 10, 6, 3)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 5, 3, 11), (0, 4, 8, 9, 2, 10, 6, 7)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 5, 7, 11), (0, 4, 8, 9, 2, 3, 6, 10)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 5, 10, 11), (0, 4, 8, 9, 2, 3, 6, 7)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 5, 7, 11), (0, 4, 8, 9, 2, 10, 3, 6)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 5, 7, 11), (0, 4, 8, 9, 2, 3, 10, 6)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 5, 7, 11), (0, 4, 8, 9, 6, 2, 10, 3)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 5, 3, 11), (0, 4, 8, 9, 6, 2, 10, 7)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 5, 7, 11), (0, 4, 8, 9, 6, 2, 3, 10)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 5, 3, 11), (0, 4, 8, 9, 6, 2, 7, 10)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 5, 10, 11), (0, 4, 8, 9, 6, 2, 3, 7)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 5, 10, 11), (0, 4, 8, 9, 6, 2, 7, 3)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 5, 7, 11), (0, 4, 8, 9, 10, 2, 6, 3)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 5, 3, 11), (0, 4, 8, 9, 10, 2, 6, 7)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 5, 7, 11), (0, 4, 8, 9, 10, 2, 3, 6)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 5, 7, 11), (0, 4, 8, 9, 6, 10, 2, 3)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 5, 3, 11), (0, 4, 8, 9, 6, 10, 2, 7)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 5, 3, 11), (0, 4, 8, 9, 6, 7, 2, 10)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 5, 10, 11), (0, 4, 8, 9, 6, 7, 2, 3)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 5, 7, 11), (0, 4, 8, 9, 10, 6, 2, 3)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 5, 3, 11), (0, 4, 8, 9, 10, 6, 2, 7)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 5, 3, 11), (0, 4, 8, 9, 6, 10, 7, 2)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 5, 3, 11), (0, 4, 8, 9, 6, 7, 10, 2)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 5, 3, 11), (0, 4, 8, 9, 10, 6, 7, 2)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 11), (0, 4, 1, 8, 2, 6, 10, 7)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 7), (0, 4, 1, 8, 2, 6, 10, 11)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 11), (0, 4, 1, 8, 2, 6, 7, 10)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 11), (0, 4, 1, 8, 2, 10, 6, 7)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 7), (0, 4, 1, 8, 2, 10, 6, 11)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 7), (0, 4, 1, 8, 2, 10, 11, 6)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 11), (0, 4, 1, 8, 6, 2, 10, 7)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 7), (0, 4, 1, 8, 6, 2, 10, 11)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 11), (0, 4, 1, 8, 6, 2, 7, 10)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 11), (0, 4, 1, 8, 10, 2, 6, 7)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 7), (0, 4, 1, 8, 10, 2, 6, 11)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 7), (0, 4, 1, 8, 10, 2, 11, 6)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 11), (0, 4, 1, 8, 6, 10, 2, 7)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 7), (0, 4, 1, 8, 6, 10, 2, 11)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 11), (0, 4, 1, 8, 6, 7, 2, 10)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 11), (0, 4, 1, 8, 10, 6, 2, 7)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 7), (0, 4, 1, 8, 10, 6, 2, 11)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 7), (0, 4, 1, 8, 10, 11, 2, 6)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 11), (0, 4, 1, 8, 6, 10, 7, 2)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 7), (0, 4, 1, 8, 6, 10, 11, 2)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 11), (0, 4, 1, 8, 6, 7, 10, 2)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 11), (0, 4, 1, 8, 10, 6, 7, 2)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 7), (0, 4, 1, 8, 10, 6, 11, 2)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 7), (0, 4, 1, 8, 10, 11, 6, 2)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 2, 3), (0, 4, 1, 8, 6, 10, 7, 11)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 2, 3), (0, 4, 1, 8, 6, 10, 11, 7)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 2, 3), (0, 4, 1, 8, 6, 7, 10, 11)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 2, 3), (0, 4, 1, 8, 10, 6, 7, 11)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 2, 3), (0, 4, 1, 8, 10, 6, 11, 7)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 2, 3), (0, 4, 1, 8, 10, 11, 6, 7)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 7, 11), (0, 4, 5, 8, 2, 6, 10, 3)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 3, 7), (0, 4, 5, 8, 2, 6, 10, 11)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 7, 11), (0, 4, 5, 8, 2, 6, 3, 10)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 7, 11), (0, 4, 5, 8, 2, 10, 6, 3)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 3, 7), (0, 4, 5, 8, 2, 10, 6, 11)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 7, 11), (0, 4, 5, 8, 2, 3, 6, 10)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 7, 11), (0, 4, 5, 8, 2, 10, 3, 6)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 3, 7), (0, 4, 5, 8, 2, 10, 11, 6)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 7, 11), (0, 4, 5, 8, 2, 3, 10, 6)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 6, 7), (0, 4, 5, 8, 2, 10, 3, 11)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 6, 7), (0, 4, 5, 8, 2, 10, 11, 3)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 6, 7), (0, 4, 5, 8, 2, 3, 10, 11)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 7, 11), (0, 4, 5, 8, 6, 2, 10, 3)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 3, 7), (0, 4, 5, 8, 6, 2, 10, 11)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 7, 11), (0, 4, 5, 8, 6, 2, 3, 10)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 7, 11), (0, 4, 5, 8, 10, 2, 6, 3)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 3, 7), (0, 4, 5, 8, 10, 2, 6, 11)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 7, 11), (0, 4, 5, 8, 10, 2, 3, 6)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 3, 7), (0, 4, 5, 8, 10, 2, 11, 6)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 6, 7), (0, 4, 5, 8, 10, 2, 3, 11)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 6, 7), (0, 4, 5, 8, 10, 2, 11, 3)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 7, 11), (0, 4, 5, 8, 6, 10, 2, 3)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 3, 7), (0, 4, 5, 8, 6, 10, 2, 11)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 7, 11), (0, 4, 5, 8, 10, 6, 2, 3)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 3, 7), (0, 4, 5, 8, 10, 6, 2, 11)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 3, 7), (0, 4, 5, 8, 10, 11, 2, 6)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 6, 7), (0, 4, 5, 8, 10, 11, 2, 3)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 3, 7), (0, 4, 5, 8, 6, 10, 11, 2)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 3, 7), (0, 4, 5, 8, 10, 6, 11, 2)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (1, 9, 3, 7), (0, 4, 5, 8, 10, 11, 6, 2)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (8, 9, 3, 7), (0, 4, 1, 5, 2, 6, 10, 11)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (8, 9, 3, 7), (0, 4, 1, 5, 2, 10, 6, 11)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (8, 9, 3, 7), (0, 4, 1, 5, 2, 10, 11, 6)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (8, 9, 3, 7), (0, 4, 1, 5, 6, 2, 10, 11)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (8, 9, 3, 7), (0, 4, 1, 5, 10, 2, 6, 11)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (8, 9, 3, 7), (0, 4, 1, 5, 10, 2, 11, 6)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (8, 9, 3, 7), (0, 4, 1, 5, 6, 10, 2, 11)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (8, 9, 3, 7), (0, 4, 1, 5, 10, 6, 2, 11)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (8, 9, 3, 7), (0, 4, 1, 5, 10, 11, 2, 6)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (8, 9, 3, 7), (0, 4, 1, 5, 6, 10, 11, 2)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (8, 9, 3, 7), (0, 4, 1, 5, 10, 6, 11, 2)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (8, 9, 3, 7), (0, 4, 1, 5, 10, 11, 6, 2)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (8, 9, 3, 7), (0, 4, 5, 1, 2, 6, 10, 11)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (8, 9, 3, 7), (0, 4, 5, 1, 2, 10, 6, 11)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (8, 9, 3, 7), (0, 4, 5, 1, 2, 10, 11, 6)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (8, 9, 3, 7), (0, 4, 5, 1, 6, 2, 10, 11)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (8, 9, 3, 7), (0, 4, 5, 1, 10, 2, 6, 11)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (8, 9, 3, 7), (0, 4, 5, 1, 10, 2, 11, 6)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (8, 9, 3, 7), (0, 4, 5, 1, 6, 10, 2, 11)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (8, 9, 3, 7), (0, 4, 5, 1, 10, 6, 2, 11)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (8, 9, 3, 7), (0, 4, 5, 1, 10, 11, 2, 6)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (8, 9, 3, 7), (0, 4, 5, 1, 6, 10, 11, 2)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (8, 9, 3, 7), (0, 4, 5, 1, 10, 6, 11, 2)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (8, 9, 3, 7), (0, 4, 5, 1, 10, 11, 6, 2)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 11), (0, 1, 4, 8, 2, 6, 10, 7)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 7), (0, 1, 4, 8, 2, 6, 10, 11)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 11), (0, 1, 4, 8, 2, 6, 7, 10)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 11), (0, 1, 4, 8, 2, 10, 6, 7)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 7), (0, 1, 4, 8, 2, 10, 6, 11)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 7), (0, 1, 4, 8, 2, 10, 11, 6)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 11), (0, 1, 4, 8, 6, 2, 10, 7)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 7), (0, 1, 4, 8, 6, 2, 10, 11)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 11), (0, 1, 4, 8, 6, 2, 7, 10)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 11), (0, 1, 4, 8, 10, 2, 6, 7)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 7), (0, 1, 4, 8, 10, 2, 6, 11)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 7), (0, 1, 4, 8, 10, 2, 11, 6)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 11), (0, 1, 4, 8, 6, 10, 2, 7)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 7), (0, 1, 4, 8, 6, 10, 2, 11)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 11), (0, 1, 4, 8, 6, 7, 2, 10)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 11), (0, 1, 4, 8, 10, 6, 2, 7)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 7), (0, 1, 4, 8, 10, 6, 2, 11)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 7), (0, 1, 4, 8, 10, 11, 2, 6)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 11), (0, 1, 4, 8, 6, 10, 7, 2)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 7), (0, 1, 4, 8, 6, 10, 11, 2)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 11), (0, 1, 4, 8, 6, 7, 10, 2)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 11), (0, 1, 4, 8, 10, 6, 7, 2)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 7), (0, 1, 4, 8, 10, 6, 11, 2)) + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 3, 7), (0, 1, 4, 8, 10, 11, 6, 2)) * -1.0 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 2, 3), (0, 1, 4, 8, 6, 10, 7, 11)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 2, 3), (0, 1, 4, 8, 6, 10, 11, 7)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 2, 3), (0, 1, 4, 8, 6, 7, 10, 11)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 2, 3), (0, 1, 4, 8, 10, 6, 7, 11)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 2, 3), (0, 1, 4, 8, 10, 6, 11, 7)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 2, 3), (0, 1, 4, 8, 10, 11, 6, 7)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (8, 9, 3, 7), (0, 1, 4, 5, 2, 6, 10, 11)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (8, 9, 3, 7), (0, 1, 4, 5, 2, 10, 6, 11)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (8, 9, 3, 7), (0, 1, 4, 5, 2, 10, 11, 6)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (8, 9, 3, 7), (0, 1, 4, 5, 6, 2, 10, 11)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (8, 9, 3, 7), (0, 1, 4, 5, 10, 2, 6, 11)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (8, 9, 3, 7), (0, 1, 4, 5, 10, 2, 11, 6)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (8, 9, 3, 7), (0, 1, 4, 5, 6, 10, 2, 11)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (8, 9, 3, 7), (0, 1, 4, 5, 10, 6, 2, 11)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (8, 9, 3, 7), (0, 1, 4, 5, 10, 11, 2, 6)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (8, 9, 3, 7), (0, 1, 4, 5, 6, 10, 11, 2)) * 0.5 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (8, 9, 3, 7), (0, 1, 4, 5, 10, 6, 11, 2)) * -0.5 + t4new += einsum(t2, (0, 1, 2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (8, 9, 3, 7), (0, 1, 4, 5, 10, 11, 6, 2)) * 0.5 + t4new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.oovv, (4, 6, 1, 3), t3, (7, 8, 6, 9, 10, 11), (0, 2, 7, 8, 5, 9, 10, 11)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.oovv, (4, 6, 1, 3), t3, (7, 8, 6, 9, 10, 11), (0, 2, 7, 8, 9, 5, 10, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.oovv, (4, 6, 1, 3), t3, (7, 8, 6, 9, 10, 11), (0, 2, 7, 8, 9, 10, 5, 11)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.oovv, (4, 6, 1, 3), t3, (7, 8, 6, 9, 10, 11), (0, 2, 7, 8, 9, 10, 11, 5)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.oovv, (4, 6, 1, 3), t3, (7, 8, 6, 9, 10, 11), (0, 7, 2, 8, 5, 9, 10, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.oovv, (4, 6, 1, 3), t3, (7, 8, 6, 9, 10, 11), (0, 7, 2, 8, 9, 5, 10, 11)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.oovv, (4, 6, 1, 3), t3, (7, 8, 6, 9, 10, 11), (0, 7, 2, 8, 9, 10, 5, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.oovv, (4, 6, 1, 3), t3, (7, 8, 6, 9, 10, 11), (0, 7, 2, 8, 9, 10, 11, 5)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.oovv, (4, 6, 1, 3), t3, (7, 8, 6, 9, 10, 11), (0, 7, 8, 2, 5, 9, 10, 11)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.oovv, (4, 6, 1, 3), t3, (7, 8, 6, 9, 10, 11), (0, 7, 8, 2, 9, 5, 10, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.oovv, (4, 6, 1, 3), t3, (7, 8, 6, 9, 10, 11), (0, 7, 8, 2, 9, 10, 5, 11)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.oovv, (4, 6, 1, 3), t3, (7, 8, 6, 9, 10, 11), (0, 7, 8, 2, 9, 10, 11, 5)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.oovv, (2, 4, 1, 6), t3, (7, 8, 9, 10, 11, 6), (0, 7, 8, 9, 3, 5, 10, 11)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.oovv, (2, 4, 1, 6), t3, (7, 8, 9, 10, 11, 6), (0, 7, 8, 9, 3, 10, 5, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.oovv, (2, 4, 1, 6), t3, (7, 8, 9, 10, 11, 6), (0, 7, 8, 9, 3, 10, 11, 5)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.oovv, (2, 4, 1, 6), t3, (7, 8, 9, 10, 11, 6), (0, 7, 8, 9, 10, 3, 5, 11)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.oovv, (2, 4, 1, 6), t3, (7, 8, 9, 10, 11, 6), (0, 7, 8, 9, 10, 3, 11, 5)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.oovv, (2, 4, 1, 6), t3, (7, 8, 9, 10, 11, 6), (0, 7, 8, 9, 10, 11, 3, 5)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.oovv, (4, 6, 1, 3), t3, (7, 8, 6, 9, 10, 11), (7, 0, 2, 8, 5, 9, 10, 11)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.oovv, (4, 6, 1, 3), t3, (7, 8, 6, 9, 10, 11), (7, 0, 2, 8, 9, 5, 10, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.oovv, (4, 6, 1, 3), t3, (7, 8, 6, 9, 10, 11), (7, 0, 2, 8, 9, 10, 5, 11)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.oovv, (4, 6, 1, 3), t3, (7, 8, 6, 9, 10, 11), (7, 0, 2, 8, 9, 10, 11, 5)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.oovv, (4, 6, 1, 3), t3, (7, 8, 6, 9, 10, 11), (7, 0, 8, 2, 5, 9, 10, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.oovv, (4, 6, 1, 3), t3, (7, 8, 6, 9, 10, 11), (7, 0, 8, 2, 9, 5, 10, 11)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.oovv, (4, 6, 1, 3), t3, (7, 8, 6, 9, 10, 11), (7, 0, 8, 2, 9, 10, 5, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.oovv, (4, 6, 1, 3), t3, (7, 8, 6, 9, 10, 11), (7, 0, 8, 2, 9, 10, 11, 5)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.oovv, (2, 4, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 0, 8, 9, 3, 5, 10, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.oovv, (2, 4, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 0, 8, 9, 3, 10, 5, 11)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.oovv, (2, 4, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 0, 8, 9, 3, 10, 11, 5)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.oovv, (2, 4, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 0, 8, 9, 10, 3, 5, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.oovv, (2, 4, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 0, 8, 9, 10, 3, 11, 5)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.oovv, (2, 4, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 0, 8, 9, 10, 11, 3, 5)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.oovv, (4, 6, 1, 3), t3, (7, 8, 6, 9, 10, 11), (7, 8, 0, 2, 5, 9, 10, 11)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.oovv, (4, 6, 1, 3), t3, (7, 8, 6, 9, 10, 11), (7, 8, 0, 2, 9, 5, 10, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.oovv, (4, 6, 1, 3), t3, (7, 8, 6, 9, 10, 11), (7, 8, 0, 2, 9, 10, 5, 11)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.oovv, (4, 6, 1, 3), t3, (7, 8, 6, 9, 10, 11), (7, 8, 0, 2, 9, 10, 11, 5)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.oovv, (2, 4, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 0, 9, 3, 5, 10, 11)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.oovv, (2, 4, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 0, 9, 3, 10, 5, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.oovv, (2, 4, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 0, 9, 3, 10, 11, 5)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.oovv, (2, 4, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 0, 9, 10, 3, 5, 11)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.oovv, (2, 4, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 0, 9, 10, 3, 11, 5)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.oovv, (2, 4, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 0, 9, 10, 11, 3, 5)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.oovv, (2, 4, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 9, 0, 3, 5, 10, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.oovv, (2, 4, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 9, 0, 3, 10, 5, 11)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.oovv, (2, 4, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 9, 0, 3, 10, 11, 5)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.oovv, (2, 4, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 9, 0, 10, 3, 5, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.oovv, (2, 4, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 9, 0, 10, 3, 11, 5)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t1, (4, 5), v.oovv, (2, 4, 1, 6), t3, (7, 8, 9, 10, 11, 6), (7, 8, 9, 0, 10, 11, 3, 5)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 1, 3), (0, 2, 4, 8, 6, 10, 7, 11)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 1, 3), (0, 2, 4, 8, 6, 10, 11, 7)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 1, 3), (0, 2, 4, 8, 6, 7, 10, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 1, 3), (0, 2, 4, 8, 10, 6, 7, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 1, 3), (0, 2, 4, 8, 10, 6, 11, 7)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 1, 3), (0, 2, 4, 8, 10, 11, 6, 7)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 1, 3), (0, 4, 2, 8, 6, 10, 7, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 1, 3), (0, 4, 2, 8, 6, 10, 11, 7)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 1, 3), (0, 4, 2, 8, 6, 7, 10, 11)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 1, 3), (0, 4, 2, 8, 10, 6, 7, 11)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 1, 3), (0, 4, 2, 8, 10, 6, 11, 7)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 1, 3), (0, 4, 2, 8, 10, 11, 6, 7)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 1, 3), (0, 4, 8, 2, 6, 10, 7, 11)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 1, 3), (0, 4, 8, 2, 6, 10, 11, 7)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 1, 3), (0, 4, 8, 2, 6, 7, 10, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 1, 3), (0, 4, 8, 2, 10, 6, 7, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 1, 3), (0, 4, 8, 2, 10, 6, 11, 7)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 1, 3), (0, 4, 8, 2, 10, 11, 6, 7)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (0, 4, 8, 5, 3, 6, 10, 11)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (0, 4, 8, 5, 3, 10, 6, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (0, 4, 8, 5, 3, 10, 11, 6)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 5, 1, 11), (0, 4, 8, 9, 3, 6, 10, 7)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 5, 1, 11), (0, 4, 8, 9, 3, 6, 7, 10)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 5, 1, 11), (0, 4, 8, 9, 3, 10, 6, 7)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (0, 4, 5, 8, 3, 6, 10, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (0, 4, 5, 8, 3, 10, 6, 11)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (0, 4, 5, 8, 3, 10, 11, 6)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (0, 4, 8, 5, 6, 3, 10, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (0, 4, 8, 5, 10, 3, 6, 11)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (0, 4, 8, 5, 10, 3, 11, 6)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 5, 1, 11), (0, 4, 8, 9, 6, 3, 10, 7)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 5, 1, 11), (0, 4, 8, 9, 6, 3, 7, 10)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 5, 1, 11), (0, 4, 8, 9, 10, 3, 6, 7)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (0, 4, 5, 8, 6, 3, 10, 11)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (0, 4, 5, 8, 10, 3, 6, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (0, 4, 5, 8, 10, 3, 11, 6)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (0, 4, 8, 5, 6, 10, 3, 11)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (0, 4, 8, 5, 10, 6, 3, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (0, 4, 8, 5, 10, 11, 3, 6)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 5, 1, 11), (0, 4, 8, 9, 6, 10, 3, 7)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 5, 1, 11), (0, 4, 8, 9, 6, 7, 3, 10)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 5, 1, 11), (0, 4, 8, 9, 10, 6, 3, 7)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (0, 4, 5, 8, 6, 10, 3, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (0, 4, 5, 8, 10, 6, 3, 11)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (0, 4, 5, 8, 10, 11, 3, 6)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (0, 4, 8, 5, 6, 10, 11, 3)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (0, 4, 8, 5, 10, 6, 11, 3)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (0, 4, 8, 5, 10, 11, 6, 3)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 5, 1, 11), (0, 4, 8, 9, 6, 10, 7, 3)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 5, 1, 11), (0, 4, 8, 9, 6, 7, 10, 3)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 5, 1, 11), (0, 4, 8, 9, 10, 6, 7, 3)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (0, 4, 5, 8, 6, 10, 11, 3)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (0, 4, 5, 8, 10, 6, 11, 3)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (0, 4, 5, 8, 10, 11, 6, 3)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 1, 3), (4, 0, 2, 8, 6, 10, 7, 11)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 1, 3), (4, 0, 2, 8, 6, 10, 11, 7)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 1, 3), (4, 0, 2, 8, 6, 7, 10, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 1, 3), (4, 0, 2, 8, 10, 6, 7, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 1, 3), (4, 0, 2, 8, 10, 6, 11, 7)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 1, 3), (4, 0, 2, 8, 10, 11, 6, 7)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 1, 3), (4, 0, 8, 2, 6, 10, 7, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 1, 3), (4, 0, 8, 2, 6, 10, 11, 7)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 1, 3), (4, 0, 8, 2, 6, 7, 10, 11)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 1, 3), (4, 0, 8, 2, 10, 6, 7, 11)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 1, 3), (4, 0, 8, 2, 10, 6, 11, 7)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 1, 3), (4, 0, 8, 2, 10, 11, 6, 7)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 0, 8, 5, 3, 6, 10, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 0, 8, 5, 3, 10, 6, 11)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 0, 8, 5, 3, 10, 11, 6)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 5, 1, 11), (4, 0, 8, 9, 3, 6, 10, 7)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 5, 1, 11), (4, 0, 8, 9, 3, 6, 7, 10)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 5, 1, 11), (4, 0, 8, 9, 3, 10, 6, 7)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 0, 5, 8, 3, 6, 10, 11)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 0, 5, 8, 3, 10, 6, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 0, 5, 8, 3, 10, 11, 6)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 0, 8, 5, 6, 3, 10, 11)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 0, 8, 5, 10, 3, 6, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 0, 8, 5, 10, 3, 11, 6)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 5, 1, 11), (4, 0, 8, 9, 6, 3, 10, 7)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 5, 1, 11), (4, 0, 8, 9, 6, 3, 7, 10)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 5, 1, 11), (4, 0, 8, 9, 10, 3, 6, 7)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 0, 5, 8, 6, 3, 10, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 0, 5, 8, 10, 3, 6, 11)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 0, 5, 8, 10, 3, 11, 6)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 0, 8, 5, 6, 10, 3, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 0, 8, 5, 10, 6, 3, 11)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 0, 8, 5, 10, 11, 3, 6)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 5, 1, 11), (4, 0, 8, 9, 6, 10, 3, 7)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 5, 1, 11), (4, 0, 8, 9, 6, 7, 3, 10)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 5, 1, 11), (4, 0, 8, 9, 10, 6, 3, 7)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 0, 5, 8, 6, 10, 3, 11)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 0, 5, 8, 10, 6, 3, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 0, 5, 8, 10, 11, 3, 6)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 0, 8, 5, 6, 10, 11, 3)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 0, 8, 5, 10, 6, 11, 3)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 0, 8, 5, 10, 11, 6, 3)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 5, 1, 11), (4, 0, 8, 9, 6, 10, 7, 3)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 5, 1, 11), (4, 0, 8, 9, 6, 7, 10, 3)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 5, 1, 11), (4, 0, 8, 9, 10, 6, 7, 3)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 0, 5, 8, 6, 10, 11, 3)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 0, 5, 8, 10, 6, 11, 3)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 0, 5, 8, 10, 11, 6, 3)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 1, 3), (4, 8, 0, 2, 6, 10, 7, 11)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 1, 3), (4, 8, 0, 2, 6, 10, 11, 7)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 1, 3), (4, 8, 0, 2, 6, 7, 10, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 1, 3), (4, 8, 0, 2, 10, 6, 7, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 1, 3), (4, 8, 0, 2, 10, 6, 11, 7)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (5, 9, 1, 3), (4, 8, 0, 2, 10, 11, 6, 7)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 8, 0, 5, 3, 6, 10, 11)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 8, 0, 5, 3, 10, 6, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 8, 0, 5, 3, 10, 11, 6)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 5, 1, 11), (4, 8, 0, 9, 3, 6, 10, 7)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 5, 1, 11), (4, 8, 0, 9, 3, 6, 7, 10)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 5, 1, 11), (4, 8, 0, 9, 3, 10, 6, 7)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 5, 0, 8, 3, 6, 10, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 5, 0, 8, 3, 10, 6, 11)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 5, 0, 8, 3, 10, 11, 6)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 8, 0, 5, 6, 3, 10, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 8, 0, 5, 10, 3, 6, 11)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 8, 0, 5, 10, 3, 11, 6)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 5, 1, 11), (4, 8, 0, 9, 6, 3, 10, 7)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 5, 1, 11), (4, 8, 0, 9, 6, 3, 7, 10)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 5, 1, 11), (4, 8, 0, 9, 10, 3, 6, 7)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 5, 0, 8, 6, 3, 10, 11)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 5, 0, 8, 10, 3, 6, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 5, 0, 8, 10, 3, 11, 6)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 8, 0, 5, 6, 10, 3, 11)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 8, 0, 5, 10, 6, 3, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 8, 0, 5, 10, 11, 3, 6)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 5, 1, 11), (4, 8, 0, 9, 6, 10, 3, 7)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 5, 1, 11), (4, 8, 0, 9, 6, 7, 3, 10)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 5, 1, 11), (4, 8, 0, 9, 10, 6, 3, 7)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 5, 0, 8, 6, 10, 3, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 5, 0, 8, 10, 6, 3, 11)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 5, 0, 8, 10, 11, 3, 6)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 8, 0, 5, 6, 10, 11, 3)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 8, 0, 5, 10, 6, 11, 3)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 8, 0, 5, 10, 11, 6, 3)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 5, 1, 11), (4, 8, 0, 9, 6, 10, 7, 3)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 5, 1, 11), (4, 8, 0, 9, 6, 7, 10, 3)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 5, 1, 11), (4, 8, 0, 9, 10, 6, 7, 3)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 5, 0, 8, 6, 10, 11, 3)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 5, 0, 8, 10, 6, 11, 3)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 5, 0, 8, 10, 11, 6, 3)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 8, 5, 0, 3, 6, 10, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 8, 5, 0, 3, 10, 6, 11)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 8, 5, 0, 3, 10, 11, 6)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 5, 1, 11), (4, 8, 9, 0, 3, 6, 10, 7)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 5, 1, 11), (4, 8, 9, 0, 3, 6, 7, 10)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 5, 1, 11), (4, 8, 9, 0, 3, 10, 6, 7)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 5, 8, 0, 3, 6, 10, 11)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 5, 8, 0, 3, 10, 6, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 5, 8, 0, 3, 10, 11, 6)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 8, 5, 0, 6, 3, 10, 11)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 8, 5, 0, 10, 3, 6, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 8, 5, 0, 10, 3, 11, 6)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 5, 1, 11), (4, 8, 9, 0, 6, 3, 10, 7)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 5, 1, 11), (4, 8, 9, 0, 6, 3, 7, 10)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 5, 1, 11), (4, 8, 9, 0, 10, 3, 6, 7)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 5, 8, 0, 6, 3, 10, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 5, 8, 0, 10, 3, 6, 11)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 5, 8, 0, 10, 3, 11, 6)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 8, 5, 0, 6, 10, 3, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 8, 5, 0, 10, 6, 3, 11)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 8, 5, 0, 10, 11, 3, 6)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 5, 1, 11), (4, 8, 9, 0, 6, 10, 3, 7)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 5, 1, 11), (4, 8, 9, 0, 6, 7, 3, 10)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 5, 1, 11), (4, 8, 9, 0, 10, 6, 3, 7)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 5, 8, 0, 6, 10, 3, 11)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 5, 8, 0, 10, 6, 3, 11)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 5, 8, 0, 10, 11, 3, 6)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 8, 5, 0, 6, 10, 11, 3)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 8, 5, 0, 10, 6, 11, 3)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 8, 5, 0, 10, 11, 6, 3)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 5, 1, 11), (4, 8, 9, 0, 6, 10, 7, 3)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 5, 1, 11), (4, 8, 9, 0, 6, 7, 10, 3)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 5, 1, 11), (4, 8, 9, 0, 10, 6, 7, 3)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 5, 8, 0, 6, 10, 11, 3)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 5, 8, 0, 10, 6, 11, 3)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (2, 9, 1, 7), (4, 5, 8, 0, 10, 11, 6, 3)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (0, 2, 7, 11), (4, 8, 5, 9, 1, 3, 6, 10)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (0, 2, 7, 11), (4, 8, 5, 9, 1, 3, 10, 6)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (0, 2, 7, 11), (4, 8, 9, 5, 1, 3, 6, 10)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (0, 2, 7, 11), (4, 8, 9, 5, 1, 3, 10, 6)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (0, 2, 7, 11), (4, 5, 8, 9, 1, 3, 6, 10)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (0, 2, 7, 11), (4, 5, 8, 9, 1, 3, 10, 6)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (0, 2, 7, 11), (4, 8, 5, 9, 1, 6, 3, 10)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (0, 2, 7, 11), (4, 8, 5, 9, 1, 10, 3, 6)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (0, 2, 7, 11), (4, 8, 9, 5, 1, 6, 3, 10)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (0, 2, 7, 11), (4, 8, 9, 5, 1, 10, 3, 6)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (0, 2, 7, 11), (4, 5, 8, 9, 1, 6, 3, 10)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (0, 2, 7, 11), (4, 5, 8, 9, 1, 10, 3, 6)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (0, 2, 7, 11), (4, 8, 5, 9, 1, 6, 10, 3)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (0, 2, 7, 11), (4, 8, 5, 9, 1, 10, 6, 3)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (0, 2, 7, 11), (4, 8, 9, 5, 1, 6, 10, 3)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (0, 2, 7, 11), (4, 8, 9, 5, 1, 10, 6, 3)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (0, 2, 7, 11), (4, 5, 8, 9, 1, 6, 10, 3)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (0, 2, 7, 11), (4, 5, 8, 9, 1, 10, 6, 3)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (0, 2, 7, 11), (4, 8, 5, 9, 6, 1, 3, 10)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (0, 2, 7, 11), (4, 8, 5, 9, 10, 1, 3, 6)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (0, 2, 7, 11), (4, 8, 9, 5, 6, 1, 3, 10)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (0, 2, 7, 11), (4, 8, 9, 5, 10, 1, 3, 6)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (0, 2, 7, 11), (4, 5, 8, 9, 6, 1, 3, 10)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (0, 2, 7, 11), (4, 5, 8, 9, 10, 1, 3, 6)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (0, 2, 7, 11), (4, 8, 5, 9, 6, 1, 10, 3)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (0, 2, 7, 11), (4, 8, 5, 9, 10, 1, 6, 3)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (0, 2, 7, 11), (4, 8, 9, 5, 6, 1, 10, 3)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (0, 2, 7, 11), (4, 8, 9, 5, 10, 1, 6, 3)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (0, 2, 7, 11), (4, 5, 8, 9, 6, 1, 10, 3)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (0, 2, 7, 11), (4, 5, 8, 9, 10, 1, 6, 3)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (0, 2, 7, 11), (4, 8, 5, 9, 6, 10, 1, 3)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (0, 2, 7, 11), (4, 8, 5, 9, 10, 6, 1, 3)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (0, 2, 7, 11), (4, 8, 9, 5, 6, 10, 1, 3)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (0, 2, 7, 11), (4, 8, 9, 5, 10, 6, 1, 3)) + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (0, 2, 7, 11), (4, 5, 8, 9, 6, 10, 1, 3)) * -1.0 + t4new += einsum(t1, (0, 1), t1, (2, 3), t2, (4, 5, 6, 7), t2, (8, 9, 10, 11), v.oovv, (0, 2, 7, 11), (4, 5, 8, 9, 10, 6, 1, 3)) + + return {"t1new": t1new, "t2new": t2new, "t3new": t3new, "t4new": t4new} + From 1c9e7c3258fcb587f1d3264667e86b0754857d2d Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Wed, 7 Aug 2024 07:52:26 +0100 Subject: [PATCH 060/168] Include hardcoded EE-EOM moments --- ebcc/codegen/_GCCSD_moments.dat | 95 +++++++ ebcc/codegen/_UCCSD_moments.dat | 447 ++++++++++++++++++++++++++++++++ 2 files changed, 542 insertions(+) diff --git a/ebcc/codegen/_GCCSD_moments.dat b/ebcc/codegen/_GCCSD_moments.dat index 3e9e37c3..ec69bb05 100644 --- a/ebcc/codegen/_GCCSD_moments.dat +++ b/ebcc/codegen/_GCCSD_moments.dat @@ -78,3 +78,98 @@ def make_ea_mom_bras(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, l1= bra2 = np.concatenate([bra2_o, bra2_v], axis=0) return bra1, bra2 + +def make_ee_mom_kets(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, l1=None, l2=None, **kwargs): + delta_oo = np.eye(nocc) + delta_vv = np.eye(nvir) + + ketee1_oo = np.zeros((nocc, nvir, nocc, nocc), dtype=types[float]) + ketee1_oo -= einsum("ij,ka->jaki", delta_oo, t1) + ketee1_ov = np.zeros((nocc, nvir, nocc, nvir), dtype=types[float]) + ketee1_ov -= einsum("ia,jb->iajb", t1, t1) + ketee1_ov += einsum("ijab->jbia", t2) + ketee1_vo = np.zeros((nocc, nvir, nvir, nocc), dtype=types[float]) + ketee1_vo += einsum("ab,ij->jbai", delta_vv, delta_oo) + ketee1_vv = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + ketee1_vv += einsum("ab,ic->ibac", delta_vv, t1) + ketee2_oo = np.zeros((nocc, nocc, nvir, nvir, nocc, nocc), dtype=types[float]) + ketee2_oo += einsum("ij,klab->jlbaki", delta_oo, t2) + ketee2_oo -= einsum("ij,klab->ljbaki", delta_oo, t2) + ketee2_ov = np.zeros((nocc, nocc, nvir, nvir, nocc, nvir), dtype=types[float]) + ketee2_ov += einsum("ia,jkbc->ikcbja", t1, t2) + ketee2_ov -= einsum("ia,jkbc->kicbja", t1, t2) + ketee2_ov += einsum("ia,jkbc->kjacib", t1, t2) + ketee2_ov -= einsum("ia,jkbc->kjcaib", t1, t2) + ketee2_vv = np.zeros((nocc, nocc, nvir, nvir, nvir, nvir), dtype=types[float]) + ketee2_vv -= einsum("ab,ijcd->jibdac", delta_vv, t2) + ketee2_vv += einsum("ab,ijcd->jidbac", delta_vv, t2) + + ketee2_vo = np.zeros((nocc, nocc, nvir, nvir, nvir, nocc), dtype=types[float]) + + ketee1 = np.concatenate([np.concatenate([ketee1_oo, ketee1_ov], axis=-1), np.concatenate([ketee1_vo, ketee1_vv], axis=-1)], axis=-2) + ketee2 = np.concatenate([np.concatenate([ketee2_oo, ketee2_ov], axis=-1), np.concatenate([ketee2_vo, ketee2_vv], axis=-1)], axis=-2) + + return ketee1, ketee2 + +def make_ee_mom_bras(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, l1=None, l2=None, **kwargs): + delta_oo = np.eye(nocc) + delta_vv = np.eye(nvir) + + x0 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x0 += einsum("ia,bajk->jkib", t1, l2) + x5 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x5 -= einsum("ijka->jika", x0) + braee1_oo = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + braee1_oo -= einsum("ijka->kjia", x0) + del x0 + x1 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x1 += einsum("ijab->jiba", t2) + x1 -= einsum("ia,jb->ijba", t1, t1) + braee1_ov = np.zeros((nocc, nvir, nocc, nvir), dtype=types[float]) + braee1_ov += einsum("abij,ikac->kcjb", l2, x1) + del x1 + x2 = np.zeros((nvir, nvir), dtype=types[float]) + x2 += einsum("ab->ba", delta_vv) * -2 + x2 += einsum("ai,ib->ab", l1, t1) * 2 + x2 += einsum("abij,ijcb->ac", l2, t2) + braee1_ov += einsum("ij,ab->jbia", delta_oo, x2) * -0.5 + del x2 + x3 = np.zeros((nocc, nocc), dtype=types[float]) + x3 += einsum("ai,ja->ij", l1, t1) * 2 + x3 += einsum("abij,kjab->ik", l2, t2) + braee1_ov += einsum("ab,ij->jbia", delta_vv, x3) * -0.5 + del x3 + x4 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x4 += einsum("ia,bcji->jbca", t1, l2) + braee1_vv = np.zeros((nvir, nvir, nocc, nvir), dtype=types[float]) + braee1_vv += einsum("iabc->bcia", x4) + braee2_ov = np.zeros((nocc, nvir, nocc, nocc, nvir, nvir), dtype=types[float]) + braee2_ov -= einsum("ij,kabc->icjkba", delta_oo, x4) + braee2_ov += einsum("ij,kabc->ickjba", delta_oo, x4) + del x4 + x5 += einsum("ij,ak->jkia", delta_oo, l1) + x5 -= einsum("ij,ak->kjia", delta_oo, l1) + braee2_ov -= einsum("ab,ijkc->kbjiac", delta_vv, x5) + braee2_ov += einsum("ab,ijkc->kbjica", delta_vv, x5) + del x5 + braee1_oo += einsum("ij,ak->jika", delta_oo, l1) + braee1_oo -= einsum("ij,ak->jkia", delta_oo, l1) + braee1_ov += einsum("ai,jb->jbia", l1, t1) + braee1_vo = np.zeros((nvir, nocc, nocc, nvir), dtype=types[float]) + braee1_vo += einsum("abij->bjia", l2) + braee1_vv += einsum("ab,ci->cbia", delta_vv, l1) + braee2_oo = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + braee2_oo += einsum("ij,abkl->jilkba", delta_oo, l2) + braee2_oo -= einsum("ij,abkl->jlikba", delta_oo, l2) + braee2_oo += einsum("ij,abkl->jlkiba", delta_oo, l2) + braee2_ov += einsum("ia,bcjk->iakjcb", t1, l2) + braee2_vv = np.zeros((nvir, nvir, nocc, nocc, nvir, nvir), dtype=types[float]) + braee2_vv += einsum("ab,cdij->dbjiac", delta_vv, l2) + braee2_vv -= einsum("ab,cdij->dbjica", delta_vv, l2) + + braee2_vo = np.zeros((nvir, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + + braee1 = np.concatenate([np.concatenate([braee1_oo, braee1_ov], axis=1), np.concatenate([braee1_vo, braee1_vv], axis=1)], axis=0) + braee2 = np.concatenate([np.concatenate([braee2_oo, braee2_ov], axis=1), np.concatenate([braee2_vo, braee2_vv], axis=1)], axis=0) + + return braee1, braee2 diff --git a/ebcc/codegen/_UCCSD_moments.dat b/ebcc/codegen/_UCCSD_moments.dat index 04cf8ac4..01ee01a8 100644 --- a/ebcc/codegen/_UCCSD_moments.dat +++ b/ebcc/codegen/_UCCSD_moments.dat @@ -274,3 +274,450 @@ def make_ea_mom_bras(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, l1= bra2.bbbb = bra2_bbbb return bra1, bra2 + +def make_ee_mom_kets(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, l1=None, l2=None, **kwargs): # pragma: no cover + delta_oo = Namespace() + delta_oo.aa = np.eye(nocc[0]) + delta_oo.bb = np.eye(nocc[1]) + delta_vv = Namespace() + delta_vv.aa = np.eye(nvir[0]) + delta_vv.bb = np.eye(nvir[1]) + + ketee1_oo_aaaa = np.zeros((nocc[0], nvir[0], nocc[0], nocc[0]), dtype=types[float]) + ketee1_oo_aaaa -= einsum("ij,ka->jaki", delta_oo.aa, t1.aa) + ketee1_oo_bbbb = np.zeros((nocc[1], nvir[1], nocc[1], nocc[1]), dtype=types[float]) + ketee1_oo_bbbb -= einsum("ij,ka->jaki", delta_oo.bb, t1.bb) + ketee1_ov_aaaa = np.zeros((nocc[0], nvir[0], nocc[0], nvir[0]), dtype=types[float]) + ketee1_ov_aaaa -= einsum("ia,jb->iajb", t1.aa, t1.aa) + ketee1_ov_aaaa -= einsum("ijab->jaib", t2.aaaa) + ketee1_ov_aaaa += einsum("ijab->jbia", t2.aaaa) + ketee1_ov_bbbb = np.zeros((nocc[1], nvir[1], nocc[1], nvir[1]), dtype=types[float]) + ketee1_ov_bbbb -= einsum("ia,jb->iajb", t1.bb, t1.bb) + ketee1_ov_bbbb -= einsum("ijab->jaib", t2.bbbb) + ketee1_ov_bbbb += einsum("ijab->jbia", t2.bbbb) + ketee1_ov_bbaa = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + ketee1_ov_bbaa -= einsum("ia,jb->jbia", t1.aa, t1.bb) + ketee1_ov_bbaa += einsum("ijab->jbia", t2.abab) + ketee1_ov_aabb = np.zeros((nocc[0], nvir[0], nocc[1], nvir[1]), dtype=types[float]) + ketee1_ov_aabb -= einsum("ia,jb->iajb", t1.aa, t1.bb) + ketee1_ov_aabb += einsum("ijab->iajb", t2.abab) + ketee1_vo_aaaa = np.zeros((nocc[0], nvir[0], nvir[0], nocc[0]), dtype=types[float]) + ketee1_vo_aaaa += einsum("ab,ij->jbai", delta_vv.aa, delta_oo.aa) + ketee1_vo_bbbb = np.zeros((nocc[1], nvir[1], nvir[1], nocc[1]), dtype=types[float]) + ketee1_vo_bbbb += einsum("ab,ij->jbai", delta_vv.bb, delta_oo.bb) + ketee1_vv_aaaa = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + ketee1_vv_aaaa += einsum("ab,ic->ibac", delta_vv.aa, t1.aa) + ketee1_vv_bbbb = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + ketee1_vv_bbbb += einsum("ab,ic->ibac", delta_vv.bb, t1.bb) + ketee2_oo_aaaaaa = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0], nocc[0], nocc[0]), dtype=types[float]) + ketee2_oo_aaaaaa -= einsum("ij,klab->jlabki", delta_oo.aa, t2.aaaa) + ketee2_oo_aaaaaa += einsum("ij,klab->jlbaki", delta_oo.aa, t2.aaaa) + ketee2_oo_aaaaaa += einsum("ij,klab->ljabki", delta_oo.aa, t2.aaaa) + ketee2_oo_aaaaaa -= einsum("ij,klab->ljbaki", delta_oo.aa, t2.aaaa) + ketee2_oo_babaaa = np.zeros((nocc[1], nocc[0], nvir[1], nvir[0], nocc[0], nocc[0]), dtype=types[float]) + ketee2_oo_babaaa -= einsum("ij,klab->ljbaki", delta_oo.aa, t2.abab) + ketee2_oo_ababbb = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1], nocc[1], nocc[1]), dtype=types[float]) + ketee2_oo_ababbb -= einsum("ij,klab->kjabli", delta_oo.bb, t2.abab) + ketee2_oo_bbbbbb = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[1], nocc[1]), dtype=types[float]) + ketee2_oo_bbbbbb -= einsum("ij,klab->jlabki", delta_oo.bb, t2.bbbb) + ketee2_oo_bbbbbb += einsum("ij,klab->jlbaki", delta_oo.bb, t2.bbbb) + ketee2_oo_bbbbbb += einsum("ij,klab->ljabki", delta_oo.bb, t2.bbbb) + ketee2_oo_bbbbbb -= einsum("ij,klab->ljbaki", delta_oo.bb, t2.bbbb) + ketee2_oo_ababaa = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + ketee2_oo_ababaa -= einsum("ij,klab->jlabki", delta_oo.aa, t2.abab) + ketee2_oo_bababb = np.zeros((nocc[1], nocc[0], nvir[1], nvir[0], nocc[1], nocc[1]), dtype=types[float]) + ketee2_oo_bababb -= einsum("ij,klab->jkbali", delta_oo.bb, t2.abab) + ketee2_ov_aaaaaa = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0], nocc[0], nvir[0]), dtype=types[float]) + ketee2_ov_aaaaaa -= einsum("ia,jkbc->ikbcja", t1.aa, t2.aaaa) + ketee2_ov_aaaaaa += einsum("ia,jkbc->ikcbja", t1.aa, t2.aaaa) + ketee2_ov_aaaaaa += einsum("ia,jkbc->kibcja", t1.aa, t2.aaaa) + ketee2_ov_aaaaaa -= einsum("ia,jkbc->kicbja", t1.aa, t2.aaaa) + ketee2_ov_aaaaaa -= einsum("ia,jkbc->kjabic", t1.aa, t2.aaaa) + ketee2_ov_aaaaaa += einsum("ia,jkbc->kjacib", t1.aa, t2.aaaa) + ketee2_ov_aaaaaa += einsum("ia,jkbc->kjbaic", t1.aa, t2.aaaa) + ketee2_ov_aaaaaa -= einsum("ia,jkbc->kjcaib", t1.aa, t2.aaaa) + ketee2_ov_bbbbbb = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[1], nvir[1]), dtype=types[float]) + ketee2_ov_bbbbbb -= einsum("ia,jkbc->ikbcja", t1.bb, t2.bbbb) + ketee2_ov_bbbbbb += einsum("ia,jkbc->ikcbja", t1.bb, t2.bbbb) + ketee2_ov_bbbbbb += einsum("ia,jkbc->kibcja", t1.bb, t2.bbbb) + ketee2_ov_bbbbbb -= einsum("ia,jkbc->kicbja", t1.bb, t2.bbbb) + ketee2_ov_bbbbbb -= einsum("ia,jkbc->kjabic", t1.bb, t2.bbbb) + ketee2_ov_bbbbbb += einsum("ia,jkbc->kjacib", t1.bb, t2.bbbb) + ketee2_ov_bbbbbb += einsum("ia,jkbc->kjbaic", t1.bb, t2.bbbb) + ketee2_ov_bbbbbb -= einsum("ia,jkbc->kjcaib", t1.bb, t2.bbbb) + ketee2_ov_ababaa = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + ketee2_ov_ababaa -= einsum("ia,jkbc->ikbcja", t1.aa, t2.abab) + ketee2_ov_ababaa -= einsum("ia,jkbc->jkacib", t1.aa, t2.abab) + ketee2_ov_bababb = np.zeros((nocc[1], nocc[0], nvir[1], nvir[0], nocc[1], nvir[1]), dtype=types[float]) + ketee2_ov_bababb -= einsum("ia,jkbc->ijcbka", t1.bb, t2.abab) + ketee2_ov_bababb -= einsum("ia,jkbc->kjabic", t1.bb, t2.abab) + ketee2_ov_babaaa = np.zeros((nocc[1], nocc[0], nvir[1], nvir[0], nocc[0], nvir[0]), dtype=types[float]) + ketee2_ov_babaaa -= einsum("ia,jkbc->kicbja", t1.aa, t2.abab) + ketee2_ov_babaaa -= einsum("ia,jkbc->kjcaib", t1.aa, t2.abab) + ketee2_ov_ababbb = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1], nocc[1], nvir[1]), dtype=types[float]) + ketee2_ov_ababbb -= einsum("ia,jkbc->jibcka", t1.bb, t2.abab) + ketee2_ov_ababbb -= einsum("ia,jkbc->jkbaic", t1.bb, t2.abab) + ketee2_vv_aaaaaa = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + ketee2_vv_aaaaaa += einsum("ab,ijcd->jibcad", delta_vv.aa, t2.aaaa) + ketee2_vv_aaaaaa -= einsum("ab,ijcd->jibdac", delta_vv.aa, t2.aaaa) + ketee2_vv_aaaaaa -= einsum("ab,ijcd->jicbad", delta_vv.aa, t2.aaaa) + ketee2_vv_aaaaaa += einsum("ab,ijcd->jidbac", delta_vv.aa, t2.aaaa) + ketee2_vv_babaaa = np.zeros((nocc[1], nocc[0], nvir[1], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + ketee2_vv_babaaa += einsum("ab,ijcd->jidbac", delta_vv.aa, t2.abab) + ketee2_vv_ababbb = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + ketee2_vv_ababbb += einsum("ab,ijcd->ijcbad", delta_vv.bb, t2.abab) + ketee2_vv_bbbbbb = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + ketee2_vv_bbbbbb += einsum("ab,ijcd->jibcad", delta_vv.bb, t2.bbbb) + ketee2_vv_bbbbbb -= einsum("ab,ijcd->jibdac", delta_vv.bb, t2.bbbb) + ketee2_vv_bbbbbb -= einsum("ab,ijcd->jicbad", delta_vv.bb, t2.bbbb) + ketee2_vv_bbbbbb += einsum("ab,ijcd->jidbac", delta_vv.bb, t2.bbbb) + ketee2_vv_ababaa = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1], nvir[0], nvir[0]), dtype=types[float]) + ketee2_vv_ababaa += einsum("ab,ijcd->ijbdac", delta_vv.aa, t2.abab) + ketee2_vv_bababb = np.zeros((nocc[1], nocc[0], nvir[1], nvir[0], nvir[1], nvir[1]), dtype=types[float]) + ketee2_vv_bababb += einsum("ab,ijcd->jibcad", delta_vv.bb, t2.abab) + + ketee1_oo_abab = np.zeros((nocc[0], nvir[1], nocc[0], nocc[1]), dtype=types[float]) + ketee1_oo_baba = np.zeros((nocc[1], nvir[0], nocc[1], nocc[0]), dtype=types[float]) + ketee1_ov_abab = np.zeros((nocc[0], nvir[1], nocc[0], nvir[1]), dtype=types[float]) + ketee1_ov_baba = np.zeros((nocc[1], nvir[0], nocc[1], nvir[0]), dtype=types[float]) + ketee1_vo_abab = np.zeros((nocc[0], nvir[1], nvir[0], nocc[1]), dtype=types[float]) + ketee1_vo_baba = np.zeros((nocc[1], nvir[0], nvir[1], nocc[0]), dtype=types[float]) + ketee1_vv_abab = np.zeros((nocc[0], nvir[1], nvir[0], nvir[1]), dtype=types[float]) + ketee1_vv_baba = np.zeros((nocc[1], nvir[0], nvir[1], nvir[0]), dtype=types[float]) + ketee2_oo_bbbbaa = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + ketee2_oo_aaaabb = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0], nocc[1], nocc[1]), dtype=types[float]) + ketee2_ov_bbbbaa = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + ketee2_ov_aaaabb = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0], nocc[1], nvir[1]), dtype=types[float]) + ketee2_vo_aaaaaa = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0], nvir[0], nocc[0]), dtype=types[float]) + ketee2_vo_ababaa = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1], nvir[0], nocc[0]), dtype=types[float]) + ketee2_vo_babaaa = np.zeros((nocc[1], nocc[0], nvir[1], nvir[0], nvir[0], nocc[0]), dtype=types[float]) + ketee2_vo_bbbbaa = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nvir[0], nocc[0]), dtype=types[float]) + ketee2_vo_aaaabb = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0], nvir[1], nocc[1]), dtype=types[float]) + ketee2_vo_ababbb = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1], nvir[1], nocc[1]), dtype=types[float]) + ketee2_vo_bababb = np.zeros((nocc[1], nocc[0], nvir[1], nvir[0], nvir[1], nocc[1]), dtype=types[float]) + ketee2_vo_bbbbbb = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nvir[1], nocc[1]), dtype=types[float]) + ketee2_vv_bbbbaa = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) + ketee2_vv_aaaabb = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) + + ketee1_aaaa = np.concatenate([np.concatenate([ketee1_oo_aaaa, ketee1_ov_aaaa], axis=-1), np.concatenate([ketee1_vo_aaaa, ketee1_vv_aaaa], axis=-1)], axis=-2) + ketee1_abab = np.concatenate([np.concatenate([ketee1_oo_abab, ketee1_ov_abab], axis=-1), np.concatenate([ketee1_vo_abab, ketee1_vv_abab], axis=-1)], axis=-2) + ketee1_baba = np.concatenate([np.concatenate([ketee1_oo_baba, ketee1_ov_baba], axis=-1), np.concatenate([ketee1_vo_baba, ketee1_vv_baba], axis=-1)], axis=-2) + ketee1_bbbb = np.concatenate([np.concatenate([ketee1_oo_bbbb, ketee1_ov_bbbb], axis=-1), np.concatenate([ketee1_vo_bbbb, ketee1_vv_bbbb], axis=-1)], axis=-2) + ketee2_aaaaaa = np.concatenate([np.concatenate([ketee2_oo_aaaaaa, ketee2_ov_aaaaaa], axis=-1), np.concatenate([ketee2_vo_aaaaaa, ketee2_vv_aaaaaa], axis=-1)], axis=-2) + ketee2_ababaa = np.concatenate([np.concatenate([ketee2_oo_ababaa, ketee2_ov_ababaa], axis=-1), np.concatenate([ketee2_vo_ababaa, ketee2_vv_ababaa], axis=-1)], axis=-2) + ketee2_babaaa = np.concatenate([np.concatenate([ketee2_oo_babaaa, ketee2_ov_babaaa], axis=-1), np.concatenate([ketee2_vo_babaaa, ketee2_vv_babaaa], axis=-1)], axis=-2) + ketee2_bbbbaa = np.concatenate([np.concatenate([ketee2_oo_bbbbaa, ketee2_ov_bbbbaa], axis=-1), np.concatenate([ketee2_vo_bbbbaa, ketee2_vv_bbbbaa], axis=-1)], axis=-2) + ketee2_aaaabb = np.concatenate([np.concatenate([ketee2_oo_aaaabb, ketee2_ov_aaaabb], axis=-1), np.concatenate([ketee2_vo_aaaabb, ketee2_vv_aaaabb], axis=-1)], axis=-2) + ketee2_ababbb = np.concatenate([np.concatenate([ketee2_oo_ababbb, ketee2_ov_ababbb], axis=-1), np.concatenate([ketee2_vo_ababbb, ketee2_vv_ababbb], axis=-1)], axis=-2) + ketee2_bababb = np.concatenate([np.concatenate([ketee2_oo_bababb, ketee2_ov_bababb], axis=-1), np.concatenate([ketee2_vo_bababb, ketee2_vv_bababb], axis=-1)], axis=-2) + ketee2_bbbbbb = np.concatenate([np.concatenate([ketee2_oo_bbbbbb, ketee2_ov_bbbbbb], axis=-1), np.concatenate([ketee2_vo_bbbbbb, ketee2_vv_bbbbbb], axis=-1)], axis=-2) + + ketee1 = Namespace(aaaa=ketee1_aaaa, abab=ketee1_abab, baba=ketee1_baba, bbbb=ketee1_bbbb) + ketee2 = Namespace(aaaaaa=ketee2_aaaaaa, ababaa=ketee2_ababaa, babaaa=ketee2_babaaa, bbbbaa=ketee2_bbbbaa, aaaabb=ketee2_aaaabb, ababbb=ketee2_ababbb, bababb=ketee2_bababb, bbbbbb=ketee2_bbbbbb) + + return ketee1, ketee2 + +def make_ee_mom_bras(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, l1=None, l2=None, **kwargs): # pragma: no cover + delta_oo = Namespace() + delta_oo.aa = np.eye(nocc[0]) + delta_oo.bb = np.eye(nocc[1]) + delta_vv = Namespace() + delta_vv.aa = np.eye(nvir[0]) + delta_vv.bb = np.eye(nvir[1]) + + x0 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x0 += einsum("ia,bajk->jkib", t1.aa, l2.aaaa) + x19 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x19 += einsum("ijka->ikja", x0) + x19 -= einsum("ijka->jkia", x0) + x20 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x20 -= einsum("ijka->ijka", x0) + x20 += einsum("ijka->jika", x0) + braee1_oo_aaaa = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + braee1_oo_aaaa += einsum("ijka->kija", x0) + braee1_oo_aaaa -= einsum("ijka->kjia", x0) + del x0 + x1 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x1 += einsum("ia,bajk->jkib", t1.bb, l2.bbbb) + x23 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x23 += einsum("ijka->ikja", x1) + x23 -= einsum("ijka->jkia", x1) + x24 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x24 += einsum("ijka->ijka", x1) + x24 -= einsum("ijka->jika", x1) + braee1_oo_bbbb = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + braee1_oo_bbbb += einsum("ijka->kija", x1) + braee1_oo_bbbb -= einsum("ijka->kjia", x1) + del x1 + x2 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x2 += einsum("ia,abjk->jikb", t1.aa, l2.abab) + x21 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + x21 -= einsum("ijka->ijka", x2) + braee1_oo_aabb = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + braee1_oo_aabb -= einsum("ijka->jika", x2) + del x2 + x3 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x3 += einsum("ia,bajk->jkib", t1.bb, l2.abab) + x22 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) + x22 -= einsum("ijka->ijka", x3) + braee1_oo_bbaa = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + braee1_oo_bbaa -= einsum("ijka->kjia", x3) + del x3 + x4 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x4 += einsum("ia,jb->ijab", t1.aa, t1.aa) + x4 -= einsum("ijab->jiab", t2.aaaa) + x4 += einsum("ijab->jiba", t2.aaaa) + braee1_ov_aabb = np.zeros((nocc[0], nvir[0], nocc[1], nvir[1]), dtype=types[float]) + braee1_ov_aabb -= einsum("abij,ikca->kcjb", l2.abab, x4) + x5 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x5 -= einsum("abij->jiab", l2.aaaa) + x5 += einsum("abij->jiba", l2.aaaa) + braee1_ov_aaaa = np.zeros((nocc[0], nvir[0], nocc[0], nvir[0]), dtype=types[float]) + braee1_ov_aaaa += einsum("ijab,ikcb->jakc", x4, x5) + del x4 + braee1_ov_bbaa = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + braee1_ov_bbaa -= einsum("ijab,ikca->jbkc", t2.abab, x5) + del x5 + x6 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x6 += einsum("ijab->jiab", t2.aaaa) + x6 += einsum("ijab->jiba", t2.aaaa) * -1 + x7 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x7 += einsum("abij,ikab->jk", l2.aaaa, x6) * -1 + del x6 + x7 += einsum("ij->ji", delta_oo.aa) * -1 + x7 += einsum("ai,ja->ij", l1.aa, t1.aa) + x7 += einsum("abij,kjab->ik", l2.abab, t2.abab) + braee1_ov_aaaa += einsum("ab,ij->jbia", delta_vv.aa, x7) * -1 + del x7 + x8 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x8 += einsum("ijab->jiab", t2.aaaa) * -1 + x8 += einsum("ijab->jiba", t2.aaaa) + x9 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x9 += einsum("abij,ijca->bc", l2.aaaa, x8) * -1 + del x8 + x9 += einsum("ai,ib->ab", l1.aa, t1.aa) + x9 += einsum("abij,ijcb->ac", l2.abab, t2.abab) + braee1_ov_aaaa += einsum("ij,ab->jbia", delta_oo.aa, x9) * -1 + del x9 + x10 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x10 += einsum("ia,jb->ijab", t1.bb, t1.bb) + x10 -= einsum("ijab->jiab", t2.bbbb) + x10 += einsum("ijab->jiba", t2.bbbb) + braee1_ov_bbaa -= einsum("abij,jkcb->kcia", l2.abab, x10) + x11 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x11 -= einsum("abij->jiab", l2.bbbb) + x11 += einsum("abij->jiba", l2.bbbb) + braee1_ov_bbbb = np.zeros((nocc[1], nvir[1], nocc[1], nvir[1]), dtype=types[float]) + braee1_ov_bbbb += einsum("ijab,ikcb->jakc", x10, x11) + del x10 + braee1_ov_aabb -= einsum("ijab,jkcb->iakc", t2.abab, x11) + del x11 + x12 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x12 += einsum("ijab->jiab", t2.bbbb) * -1 + x12 += einsum("ijab->jiba", t2.bbbb) + x13 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x13 += einsum("abij,ikba->jk", l2.bbbb, x12) * -1 + x14 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x14 += einsum("abij,ijca->bc", l2.bbbb, x12) * -1 + del x12 + x13 += einsum("ij->ji", delta_oo.bb) * -1 + x13 += einsum("ai,ja->ij", l1.bb, t1.bb) + x13 += einsum("abij,ikab->jk", l2.abab, t2.abab) + braee1_ov_bbbb += einsum("ab,ij->jbia", delta_vv.bb, x13) * -1 + del x13 + x14 += einsum("ai,ib->ab", l1.bb, t1.bb) + x14 += einsum("abij,ijac->bc", l2.abab, t2.abab) + braee1_ov_bbbb += einsum("ij,ab->jbia", delta_oo.bb, x14) * -1 + del x14 + x15 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x15 += einsum("ia,bcji->jbca", t1.aa, l2.aaaa) + braee1_vv_aaaa = np.zeros((nvir[0], nvir[0], nocc[0], nvir[0]), dtype=types[float]) + braee1_vv_aaaa -= einsum("iabc->acib", x15) + braee1_vv_aaaa += einsum("iabc->bcia", x15) + braee2_ov_aaaaaa = np.zeros((nocc[0], nvir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + braee2_ov_aaaaaa += einsum("ij,kabc->icjkab", delta_oo.aa, x15) + braee2_ov_aaaaaa -= einsum("ij,kabc->icjkba", delta_oo.aa, x15) + braee2_ov_aaaaaa -= einsum("ij,kabc->ickjab", delta_oo.aa, x15) + braee2_ov_aaaaaa += einsum("ij,kabc->ickjba", delta_oo.aa, x15) + del x15 + x16 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x16 += einsum("ia,bcji->jbca", t1.bb, l2.bbbb) + braee1_vv_bbbb = np.zeros((nvir[1], nvir[1], nocc[1], nvir[1]), dtype=types[float]) + braee1_vv_bbbb -= einsum("iabc->acib", x16) + braee1_vv_bbbb += einsum("iabc->bcia", x16) + braee2_ov_bbbbbb = np.zeros((nocc[1], nvir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + braee2_ov_bbbbbb += einsum("ij,kabc->icjkab", delta_oo.bb, x16) + braee2_ov_bbbbbb -= einsum("ij,kabc->icjkba", delta_oo.bb, x16) + braee2_ov_bbbbbb -= einsum("ij,kabc->ickjab", delta_oo.bb, x16) + braee2_ov_bbbbbb += einsum("ij,kabc->ickjba", delta_oo.bb, x16) + del x16 + x17 = np.zeros((nocc[1], nvir[0], nvir[0], nvir[1]), dtype=types[float]) + x17 += einsum("ia,bcij->jbac", t1.aa, l2.abab) + braee1_vv_aabb = np.zeros((nvir[0], nvir[0], nocc[1], nvir[1]), dtype=types[float]) + braee1_vv_aabb += einsum("iabc->abic", x17) + braee2_ov_aababa = np.zeros((nocc[0], nvir[0], nocc[1], nocc[0], nvir[1], nvir[0]), dtype=types[float]) + braee2_ov_aababa -= einsum("ij,kabc->ibkjca", delta_oo.aa, x17) + braee2_ov_aaabab = np.zeros((nocc[0], nvir[0], nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + braee2_ov_aaabab -= einsum("ij,kabc->ibjkac", delta_oo.aa, x17) + del x17 + x18 = np.zeros((nocc[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) + x18 += einsum("ia,bcji->jbca", t1.bb, l2.abab) + braee1_vv_bbaa = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + braee1_vv_bbaa += einsum("iabc->bcia", x18) + braee2_ov_bbbaba = np.zeros((nocc[1], nvir[1], nocc[1], nocc[0], nvir[1], nvir[0]), dtype=types[float]) + braee2_ov_bbbaba -= einsum("ij,kabc->icjkba", delta_oo.bb, x18) + braee2_ov_bbabab = np.zeros((nocc[1], nvir[1], nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + braee2_ov_bbabab -= einsum("ij,kabc->ickjab", delta_oo.bb, x18) + del x18 + x19 += einsum("ij,ak->jika", delta_oo.aa, l1.aa) + x19 -= einsum("ij,ak->kjia", delta_oo.aa, l1.aa) + braee2_ov_aaaaaa -= einsum("ab,ijkc->jbkiac", delta_vv.aa, x19) + del x19 + x20 -= einsum("ij,ak->jkia", delta_oo.aa, l1.aa) + x20 += einsum("ij,ak->kjia", delta_oo.aa, l1.aa) + braee2_ov_aaaaaa -= einsum("ab,ijkc->kbjica", delta_vv.aa, x20) + del x20 + x21 += einsum("ij,ak->jika", delta_oo.aa, l1.bb) + braee2_ov_aababa += einsum("ab,ijkc->jbkica", delta_vv.aa, x21) + braee2_ov_aaabab += einsum("ab,ijkc->jbikac", delta_vv.aa, x21) + del x21 + x22 += einsum("ij,ak->kjia", delta_oo.bb, l1.aa) + braee2_ov_bbbaba += einsum("ab,ijkc->kbjiac", delta_vv.bb, x22) + braee2_ov_bbabab += einsum("ab,ijkc->kbijca", delta_vv.bb, x22) + del x22 + x23 += einsum("ij,ak->jika", delta_oo.bb, l1.bb) + x23 -= einsum("ij,ak->kjia", delta_oo.bb, l1.bb) + braee2_ov_bbbbbb -= einsum("ab,ijkc->jbkiac", delta_vv.bb, x23) + del x23 + x24 += einsum("ij,ak->jkia", delta_oo.bb, l1.bb) + x24 -= einsum("ij,ak->kjia", delta_oo.bb, l1.bb) + braee2_ov_bbbbbb -= einsum("ab,ijkc->kbijca", delta_vv.bb, x24) + del x24 + braee1_oo_aaaa += einsum("ij,ak->jika", delta_oo.aa, l1.aa) + braee1_oo_aaaa -= einsum("ij,ak->jkia", delta_oo.aa, l1.aa) + braee1_oo_bbbb += einsum("ij,ak->jika", delta_oo.bb, l1.bb) + braee1_oo_bbbb -= einsum("ij,ak->jkia", delta_oo.bb, l1.bb) + braee1_oo_aabb += einsum("ij,ak->jika", delta_oo.aa, l1.bb) + braee1_oo_bbaa += einsum("ij,ak->jika", delta_oo.bb, l1.aa) + braee1_ov_aaaa += einsum("ai,jb->jbia", l1.aa, t1.aa) + braee1_ov_aaaa += einsum("abij,kjcb->kcia", l2.abab, t2.abab) + braee1_ov_bbbb += einsum("ai,jb->jbia", l1.bb, t1.bb) + braee1_ov_bbbb += einsum("abij,ikac->kcjb", l2.abab, t2.abab) + braee1_ov_bbaa += einsum("ai,jb->jbia", l1.aa, t1.bb) + braee1_ov_aabb += einsum("ai,jb->jbia", l1.bb, t1.aa) + braee1_vo_aaaa = np.zeros((nvir[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + braee1_vo_aaaa -= einsum("abij->ajib", l2.aaaa) + braee1_vo_aaaa += einsum("abij->bjia", l2.aaaa) + braee1_vo_bbbb = np.zeros((nvir[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + braee1_vo_bbbb -= einsum("abij->ajib", l2.bbbb) + braee1_vo_bbbb += einsum("abij->bjia", l2.bbbb) + braee1_vo_bbaa = np.zeros((nvir[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + braee1_vo_bbaa += einsum("abij->bjia", l2.abab) + braee1_vo_aabb = np.zeros((nvir[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) + braee1_vo_aabb += einsum("abij->aijb", l2.abab) + braee1_vv_aaaa += einsum("ab,ci->cbia", delta_vv.aa, l1.aa) + braee1_vv_bbbb += einsum("ab,ci->cbia", delta_vv.bb, l1.bb) + braee2_oo_aaaaaa = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + braee2_oo_aaaaaa -= einsum("ij,abkl->jilkab", delta_oo.aa, l2.aaaa) + braee2_oo_aaaaaa += einsum("ij,abkl->jilkba", delta_oo.aa, l2.aaaa) + braee2_oo_aaaaaa += einsum("ij,abkl->jlikab", delta_oo.aa, l2.aaaa) + braee2_oo_aaaaaa -= einsum("ij,abkl->jlikba", delta_oo.aa, l2.aaaa) + braee2_oo_aaaaaa -= einsum("ij,abkl->jlkiab", delta_oo.aa, l2.aaaa) + braee2_oo_aaaaaa += einsum("ij,abkl->jlkiba", delta_oo.aa, l2.aaaa) + braee2_oo_bbbbbb = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + braee2_oo_bbbbbb -= einsum("ij,abkl->jilkab", delta_oo.bb, l2.bbbb) + braee2_oo_bbbbbb += einsum("ij,abkl->jilkba", delta_oo.bb, l2.bbbb) + braee2_oo_bbbbbb += einsum("ij,abkl->jlikab", delta_oo.bb, l2.bbbb) + braee2_oo_bbbbbb -= einsum("ij,abkl->jlikba", delta_oo.bb, l2.bbbb) + braee2_oo_bbbbbb -= einsum("ij,abkl->jlkiab", delta_oo.bb, l2.bbbb) + braee2_oo_bbbbbb += einsum("ij,abkl->jlkiba", delta_oo.bb, l2.bbbb) + braee2_oo_aababa = np.zeros((nocc[0], nocc[0], nocc[1], nocc[0], nvir[1], nvir[0]), dtype=types[float]) + braee2_oo_aababa += einsum("ij,abkl->jilkba", delta_oo.aa, l2.abab) + braee2_oo_aababa -= einsum("ij,abkl->jkliba", delta_oo.aa, l2.abab) + braee2_oo_bbabab = np.zeros((nocc[1], nocc[1], nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + braee2_oo_bbabab += einsum("ij,abkl->jiklab", delta_oo.bb, l2.abab) + braee2_oo_bbabab -= einsum("ij,abkl->jlkiab", delta_oo.bb, l2.abab) + braee2_oo_aaabab = np.zeros((nocc[0], nocc[0], nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + braee2_oo_aaabab += einsum("ij,abkl->jiklab", delta_oo.aa, l2.abab) + braee2_oo_aaabab -= einsum("ij,abkl->jkilab", delta_oo.aa, l2.abab) + braee2_oo_bbbaba = np.zeros((nocc[1], nocc[1], nocc[1], nocc[0], nvir[1], nvir[0]), dtype=types[float]) + braee2_oo_bbbaba += einsum("ij,abkl->jilkba", delta_oo.bb, l2.abab) + braee2_oo_bbbaba -= einsum("ij,abkl->jlikba", delta_oo.bb, l2.abab) + braee2_oo_aabbbb = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + braee2_oo_aabbbb -= einsum("ij,abkl->jilkab", delta_oo.aa, l2.bbbb) + braee2_oo_aabbbb += einsum("ij,abkl->jilkba", delta_oo.aa, l2.bbbb) + braee2_oo_bbaaaa = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + braee2_oo_bbaaaa -= einsum("ij,abkl->jilkab", delta_oo.bb, l2.aaaa) + braee2_oo_bbaaaa += einsum("ij,abkl->jilkba", delta_oo.bb, l2.aaaa) + braee2_ov_aaaaaa -= einsum("ia,bcjk->iakjbc", t1.aa, l2.aaaa) + braee2_ov_aaaaaa += einsum("ia,bcjk->iakjcb", t1.aa, l2.aaaa) + braee2_ov_aababa += einsum("ia,bcjk->iakjcb", t1.aa, l2.abab) + braee2_ov_aaabab += einsum("ia,bcjk->iajkbc", t1.aa, l2.abab) + braee2_ov_aabbbb = np.zeros((nocc[0], nvir[0], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + braee2_ov_aabbbb -= einsum("ia,bcjk->iakjbc", t1.aa, l2.bbbb) + braee2_ov_aabbbb += einsum("ia,bcjk->iakjcb", t1.aa, l2.bbbb) + braee2_ov_bbaaaa = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + braee2_ov_bbaaaa -= einsum("ia,bcjk->iakjbc", t1.bb, l2.aaaa) + braee2_ov_bbaaaa += einsum("ia,bcjk->iakjcb", t1.bb, l2.aaaa) + braee2_ov_bbbaba += einsum("ia,bcjk->iakjcb", t1.bb, l2.abab) + braee2_ov_bbabab += einsum("ia,bcjk->iajkbc", t1.bb, l2.abab) + braee2_ov_bbbbbb -= einsum("ia,bcjk->iakjbc", t1.bb, l2.bbbb) + braee2_ov_bbbbbb += einsum("ia,bcjk->iakjcb", t1.bb, l2.bbbb) + braee2_vv_aaaaaa = np.zeros((nvir[0], nvir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + braee2_vv_aaaaaa -= einsum("ab,cdij->cbjiad", delta_vv.aa, l2.aaaa) + braee2_vv_aaaaaa += einsum("ab,cdij->dbjiac", delta_vv.aa, l2.aaaa) + braee2_vv_aaaaaa += einsum("ab,cdij->cbjida", delta_vv.aa, l2.aaaa) + braee2_vv_aaaaaa -= einsum("ab,cdij->dbjica", delta_vv.aa, l2.aaaa) + braee2_vv_bbbbbb = np.zeros((nvir[1], nvir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + braee2_vv_bbbbbb -= einsum("ab,cdij->cbjiad", delta_vv.bb, l2.bbbb) + braee2_vv_bbbbbb += einsum("ab,cdij->dbjiac", delta_vv.bb, l2.bbbb) + braee2_vv_bbbbbb += einsum("ab,cdij->cbjida", delta_vv.bb, l2.bbbb) + braee2_vv_bbbbbb -= einsum("ab,cdij->dbjica", delta_vv.bb, l2.bbbb) + braee2_vv_aababa = np.zeros((nvir[0], nvir[0], nocc[1], nocc[0], nvir[1], nvir[0]), dtype=types[float]) + braee2_vv_aababa += einsum("ab,cdij->cbjida", delta_vv.aa, l2.abab) + braee2_vv_bbabab = np.zeros((nvir[1], nvir[1], nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + braee2_vv_bbabab += einsum("ab,cdij->dbijca", delta_vv.bb, l2.abab) + braee2_vv_aaabab = np.zeros((nvir[0], nvir[0], nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + braee2_vv_aaabab += einsum("ab,cdij->cbijad", delta_vv.aa, l2.abab) + braee2_vv_bbbaba = np.zeros((nvir[1], nvir[1], nocc[1], nocc[0], nvir[1], nvir[0]), dtype=types[float]) + braee2_vv_bbbaba += einsum("ab,cdij->dbjiac", delta_vv.bb, l2.abab) + + braee1_oo_abab = np.zeros((nocc[0], nocc[1], nocc[0], nvir[1]), dtype=types[float]) + braee1_oo_baba = np.zeros((nocc[1], nocc[0], nocc[1], nvir[0]), dtype=types[float]) + braee1_ov_abab = np.zeros((nocc[0], nvir[1], nocc[0], nvir[1]), dtype=types[float]) + braee1_ov_baba = np.zeros((nocc[1], nvir[0], nocc[1], nvir[0]), dtype=types[float]) + braee1_vo_abab = np.zeros((nvir[0], nocc[1], nocc[0], nvir[1]), dtype=types[float]) + braee1_vo_baba = np.zeros((nvir[1], nocc[0], nocc[1], nvir[0]), dtype=types[float]) + braee1_vv_abab = np.zeros((nvir[0], nvir[1], nocc[0], nvir[1]), dtype=types[float]) + braee1_vv_baba = np.zeros((nvir[1], nvir[0], nocc[1], nvir[0]), dtype=types[float]) + braee2_vo_aaaaaa = np.zeros((nvir[0], nocc[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + braee2_vo_aaabab = np.zeros((nvir[0], nocc[0], nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + braee2_vo_aababa = np.zeros((nvir[0], nocc[0], nocc[1], nocc[0], nvir[1], nvir[0]), dtype=types[float]) + braee2_vo_aabbbb = np.zeros((nvir[0], nocc[0], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + braee2_vo_bbaaaa = np.zeros((nvir[1], nocc[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + braee2_vo_bbabab = np.zeros((nvir[1], nocc[1], nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + braee2_vo_bbbaba = np.zeros((nvir[1], nocc[1], nocc[1], nocc[0], nvir[1], nvir[0]), dtype=types[float]) + braee2_vo_bbbbbb = np.zeros((nvir[1], nocc[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + braee2_vv_aabbbb = np.zeros((nvir[0], nvir[0], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + braee2_vv_bbaaaa = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + + braee1_aaaa = np.concatenate([np.concatenate([braee1_oo_aaaa, braee1_ov_aaaa], axis=1), np.concatenate([braee1_vo_aaaa, braee1_vv_aaaa], axis=1)], axis=0) + braee1_abab = np.concatenate([np.concatenate([braee1_oo_abab, braee1_ov_abab], axis=1), np.concatenate([braee1_vo_abab, braee1_vv_abab], axis=1)], axis=0) + braee1_baba = np.concatenate([np.concatenate([braee1_oo_baba, braee1_ov_baba], axis=1), np.concatenate([braee1_vo_baba, braee1_vv_baba], axis=1)], axis=0) + braee1_bbbb = np.concatenate([np.concatenate([braee1_oo_bbbb, braee1_ov_bbbb], axis=1), np.concatenate([braee1_vo_bbbb, braee1_vv_bbbb], axis=1)], axis=0) + braee2_aaaaaa = np.concatenate([np.concatenate([braee2_oo_aaaaaa, braee2_ov_aaaaaa], axis=1), np.concatenate([braee2_vo_aaaaaa, braee2_vv_aaaaaa], axis=1)], axis=0) + braee2_aaabab = np.concatenate([np.concatenate([braee2_oo_aaabab, braee2_ov_aaabab], axis=1), np.concatenate([braee2_vo_aaabab, braee2_vv_aaabab], axis=1)], axis=0) + braee2_aababa = np.concatenate([np.concatenate([braee2_oo_aababa, braee2_ov_aababa], axis=1), np.concatenate([braee2_vo_aababa, braee2_vv_aababa], axis=1)], axis=0) + braee2_aabbbb = np.concatenate([np.concatenate([braee2_oo_aabbbb, braee2_ov_aabbbb], axis=1), np.concatenate([braee2_vo_aabbbb, braee2_vv_aabbbb], axis=1)], axis=0) + braee2_bbaaaa = np.concatenate([np.concatenate([braee2_oo_bbaaaa, braee2_ov_bbaaaa], axis=1), np.concatenate([braee2_vo_bbaaaa, braee2_vv_bbaaaa], axis=1)], axis=0) + braee2_bbabab = np.concatenate([np.concatenate([braee2_oo_bbabab, braee2_ov_bbabab], axis=1), np.concatenate([braee2_vo_bbabab, braee2_vv_bbabab], axis=1)], axis=0) + braee2_bbbaba = np.concatenate([np.concatenate([braee2_oo_bbbaba, braee2_ov_bbbaba], axis=1), np.concatenate([braee2_vo_bbbaba, braee2_vv_bbbaba], axis=1)], axis=0) + braee2_bbbbbb = np.concatenate([np.concatenate([braee2_oo_bbbbbb, braee2_ov_bbbbbb], axis=1), np.concatenate([braee2_vo_bbbbbb, braee2_vv_bbbbbb], axis=1)], axis=0) + + braee1 = Namespace(aaaa=braee1_aaaa, abab=braee1_abab, baba=braee1_baba, bbbb=braee1_bbbb) + braee2 = Namespace(aaaaaa=braee2_aaaaaa, aaabab=braee2_aaabab, aababa=braee2_aababa, aabbbb=braee2_aabbbb, bbaaaa=braee2_bbaaaa, bbabab=braee2_bbabab, bbbaba=braee2_bbbaba, bbbbbb=braee2_bbbbbb) + + braee1 = Namespace(**{key: val/2 for key, val in braee1.__dict__.items()}) + braee2 = Namespace(**{key: val/2 for key, val in braee2.__dict__.items()}) + + return braee1, braee2 From 6372e9a2290fa912bf9f8b49c319840ff26ffb5f Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Wed, 7 Aug 2024 08:08:01 +0100 Subject: [PATCH 061/168] Fix CCD 2RDM --- ebcc/codegen/bootstrap_CCD.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/ebcc/codegen/bootstrap_CCD.py b/ebcc/codegen/bootstrap_CCD.py index 1ae19f74..0977fe76 100644 --- a/ebcc/codegen/bootstrap_CCD.py +++ b/ebcc/codegen/bootstrap_CCD.py @@ -276,11 +276,10 @@ def get_postamble(n, spin, name="rdm{n}"): shape = ", ".join(f"t2.shape[{'0' if o == 'o' else '-1'}]" for o in occ) postamble += f"{nm}.{occ} = np.zeros(({shape}))\n" else: - for s1 in "ab": - for s2 in "ab": - for occ in ("ooov", "oovo", "ovoo", "vooo", "ovvv", "vovv", "vvov", "vvvo"): - shape = ", ".join(f"t2.{s}{s}{s}{s}.shape[{'0' if o == 'o' else '-1'}]" for o, s in zip(occ, s1+s1+s2+s2)) - postamble += f"{nm}.{s1}{s1}{s2}{s2}.{occ} = np.zeros(({shape}))\n" + for s1, s2 in [("a", "a"), ("a", "b"), ("b", "b")]: + for occ in ("ooov", "oovo", "ovoo", "vooo", "ovvv", "vovv", "vvov", "vvvo"): + shape = ", ".join(f"t2.{s}{s}{s}{s}.shape[{'0' if o == 'o' else '-1'}]" for o, s in zip(occ, s1+s2+s1+s2)) + postamble += f"{nm}.{s1}{s2}{s1}{s2}.{occ} = np.zeros(({shape}))\n" return postamble + get_density_einsum_postamble(n, spin) kwargs = { "preamble": get_density_einsum_preamble(2, spin), From 596fd8c01d5460a64e95eab0fdd3a8d325bc1374 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Wed, 7 Aug 2024 08:09:35 +0100 Subject: [PATCH 062/168] Increase recursion limit for UCCSDT --- ebcc/codegen/bootstrap_CCSDT.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ebcc/codegen/bootstrap_CCSDT.py b/ebcc/codegen/bootstrap_CCSDT.py index 0e3f4b76..92ef087f 100644 --- a/ebcc/codegen/bootstrap_CCSDT.py +++ b/ebcc/codegen/bootstrap_CCSDT.py @@ -3,7 +3,7 @@ """ import sys -sys.setrecursionlimit(1000000) +sys.setrecursionlimit(10000000) import pdaggerq from albert.qc._pdaggerq import import_from_pdaggerq From 7b8e1c178d718efc0156af9d5314ef72fd502c75 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Wed, 7 Aug 2024 17:56:09 +0100 Subject: [PATCH 063/168] Fix EOM-UCC spins --- ebcc/codegen/bootstrap_CCSD.py | 2 +- ebcc/codegen/bootstrap_common.py | 23 ++++++++++++----------- 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/ebcc/codegen/bootstrap_CCSD.py b/ebcc/codegen/bootstrap_CCSD.py index 740f4052..a742d656 100644 --- a/ebcc/codegen/bootstrap_CCSD.py +++ b/ebcc/codegen/bootstrap_CCSD.py @@ -468,7 +468,7 @@ if spin == "ghf" or spin == "uhf": with open(f"_{spin[0].upper()}CCSD_moments.dat", "r") as f: for line in f.readlines(): - codegen.write(line) + codegen.write(line.rstrip()) for codegen in code_generators.values(): codegen.postamble() diff --git a/ebcc/codegen/bootstrap_common.py b/ebcc/codegen/bootstrap_common.py index 4514086a..8ac49b5f 100644 --- a/ebcc/codegen/bootstrap_common.py +++ b/ebcc/codegen/bootstrap_common.py @@ -335,17 +335,18 @@ def get_amplitude_spins(n, spin, which="t"): else: it = itertools.combinations_with_replacement("αβ", max(no, nv)) for spins in it: - # Canonicalise the spin order - best = [None, 1e10] - for s in itertools.permutations(spins): - penalty = 0 - for i in range(len(s) - 1): - penalty += int(s[i] == s[i + 1]) * 2 - if s[0] != min(s): - penalty += 1 - if penalty < best[1]: - best = [s, penalty] - spins = best[0] + if which not in ("ip", "ea"): + # Canonicalise the spin order -- never for IP/EA...? + best = [None, 1e10] + for s in itertools.permutations(spins): + penalty = 0 + for i in range(len(s) - 1): + penalty += int(s[i] == s[i + 1]) * 2 + if s[0] != min(s): + penalty += 1 + if penalty < best[1]: + best = [s, penalty] + spins = best[0] case = {} for i, s in enumerate(spins): if i < no: From 4bd81f0adb1182ce644ef98397098c5c6bca46f4 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Wed, 7 Aug 2024 18:09:22 +0100 Subject: [PATCH 064/168] Try even higher recursion limit? --- ebcc/codegen/bootstrap_CCSDT.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ebcc/codegen/bootstrap_CCSDT.py b/ebcc/codegen/bootstrap_CCSDT.py index 92ef087f..f6356038 100644 --- a/ebcc/codegen/bootstrap_CCSDT.py +++ b/ebcc/codegen/bootstrap_CCSDT.py @@ -3,7 +3,7 @@ """ import sys -sys.setrecursionlimit(10000000) +sys.setrecursionlimit(100000000) import pdaggerq from albert.qc._pdaggerq import import_from_pdaggerq From a96eae9fd4301c6c6e8c040a74dbf5ffe1bc78d3 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Wed, 7 Aug 2024 21:03:36 +0100 Subject: [PATCH 065/168] Missing postamble on MPn --- ebcc/codegen/bootstrap_MPn.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/ebcc/codegen/bootstrap_MPn.py b/ebcc/codegen/bootstrap_MPn.py index 5fbd8feb..9c163732 100644 --- a/ebcc/codegen/bootstrap_MPn.py +++ b/ebcc/codegen/bootstrap_MPn.py @@ -86,3 +86,7 @@ output, expr, ) + +for codegen in code_generators.values(): + codegen.postamble() + codegen.stdout.close() From 1c9007bcb640cdeec43cb9056b7bd9eae7e9c4ae Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Wed, 7 Aug 2024 22:47:08 +0100 Subject: [PATCH 066/168] REOM-CCSD --- ebcc/codegen/bootstrap_CCSD.py | 337 ++++++++++++++++----------------- 1 file changed, 168 insertions(+), 169 deletions(-) diff --git a/ebcc/codegen/bootstrap_CCSD.py b/ebcc/codegen/bootstrap_CCSD.py index a742d656..6d93005e 100644 --- a/ebcc/codegen/bootstrap_CCSD.py +++ b/ebcc/codegen/bootstrap_CCSD.py @@ -291,178 +291,177 @@ **kwargs, ) -if spin != "rhf": - with Stopwatch("IP-EOM"): - # Get the R1 contractions in pdaggerq format - pq.clear() - pq.set_right_operators_type("IP") - pq.set_left_operators([["a*(i)"]]) - pq.set_right_operators([["r1"], ["r2"]]) - pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) - pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) - pq.simplify() - terms_r1 = pq.fully_contracted_strings() - terms_r1 = remove_disconnected_eom(terms_r1) +with Stopwatch("IP-EOM"): + # Get the R1 contractions in pdaggerq format + pq.clear() + pq.set_right_operators_type("IP") + pq.set_left_operators([["a*(i)"]]) + pq.set_right_operators([["r1"], ["r2"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) + pq.simplify() + terms_r1 = pq.fully_contracted_strings() + terms_r1 = remove_disconnected_eom(terms_r1) - # Get the R2 contractions in pdaggerq format - pq.clear() - pq.set_right_operators_type("IP") - pq.set_left_operators([["a*(i)", "a*(j)", "a(a)"]]) - pq.set_right_operators([["r1"], ["r2"]]) - pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) - pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) - pq.simplify() - terms_r2 = pq.fully_contracted_strings() - terms_r2 = remove_disconnected_eom(terms_r2) - - # Get the R amplitudes in albert format - terms = [terms_r1, terms_r2] - expr = [] - output = [] - returns = [] - for n in range(2): - for index_spins in get_amplitude_spins(n + 1, spin, which="ip"): - indices = default_indices["o"][: n + 1] + default_indices["v"][: n] - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) - expr_n = spin_integrate(expr_n, spin) - output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - output, expr = optimise(output, expr, spin, strategy="exhaust") - - # Generate the R amplitude code - for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "preamble": "r1new = Namespace()\nr2new = Namespace()" if spin == "uhf" else None, - "as_dict": True, - } - else: - kwargs = {} - codegen( - "hbar_matvec_ip", - returns, - output, - expr, - **kwargs, - ) - - with Stopwatch("EA-EOM"): - # Get the R1 contractions in pdaggerq format - pq.clear() - pq.set_right_operators_type("EA") - pq.set_left_operators([["a(a)"]]) - pq.set_right_operators([["r1"], ["r2"]]) - pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) - pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) - pq.simplify() - terms_r1 = pq.fully_contracted_strings() - terms_r1 = remove_disconnected_eom(terms_r1) + # Get the R2 contractions in pdaggerq format + pq.clear() + pq.set_right_operators_type("IP") + pq.set_left_operators([["a*(i)", "a*(j)", "a(a)"]]) + pq.set_right_operators([["r1"], ["r2"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) + pq.simplify() + terms_r2 = pq.fully_contracted_strings() + terms_r2 = remove_disconnected_eom(terms_r2) - # Get the R2 contractions in pdaggerq format - pq.clear() - pq.set_right_operators_type("EA") - pq.set_left_operators([["a*(i)", "a(b)", "a(a)"]]) - pq.set_right_operators([["r1"], ["r2"]]) - pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) - pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) - pq.simplify() - terms_r2 = pq.fully_contracted_strings() - terms_r2 = remove_disconnected_eom(terms_r2) - - # Get the R amplitudes in albert format - terms = [terms_r1, terms_r2] - expr = [] - output = [] - returns = [] - for n in range(2): - for index_spins in get_amplitude_spins(n + 1, spin, which="ea"): - indices = default_indices["v"][: n + 1] + default_indices["o"][: n] - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) - expr_n = spin_integrate(expr_n, spin) - output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - output, expr = optimise(output, expr, spin, strategy="exhaust") - - # Generate the R amplitude code - for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "preamble": "r1new = Namespace()\nr2new = Namespace()" if spin == "uhf" else None, - "as_dict": True, - } - else: - kwargs = {} - codegen( - "hbar_matvec_ea", - returns, - output, - expr, - **kwargs, - ) - - with Stopwatch("EE-EOM"): - # Get the R1 contractions in pdaggerq format - pq.clear() - pq.set_right_operators_type("EE") - pq.set_left_operators([["e1(i,a)"]]) - pq.set_right_operators([["r1"], ["r2"]]) - pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) - pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) - pq.simplify() - terms_r1 = pq.fully_contracted_strings() - terms_r1 = remove_disconnected_eom(terms_r1) + # Get the R amplitudes in albert format + terms = [terms_r1, terms_r2] + expr = [] + output = [] + returns = [] + for n in range(2): + for index_spins in get_amplitude_spins(n + 1, spin, which="ip"): + indices = default_indices["o"][: n + 1] + default_indices["v"][: n] + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + output, expr = optimise(output, expr, spin, strategy="exhaust") - # Get the R2 contractions in pdaggerq format - pq.clear() - pq.set_right_operators_type("EE") - pq.set_left_operators([["e2(i,j,b,a)"]]) - pq.set_right_operators([["r1"], ["r2"]]) - pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) - pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) - pq.simplify() - terms_r2 = pq.fully_contracted_strings() - terms_r2 = remove_disconnected_eom(terms_r2) - - # Get the R amplitudes in albert format - terms = [terms_r1, terms_r2] - expr = [] - output = [] - returns = [] - for n in range(2): - for index_spins in get_amplitude_spins(n + 1, spin, which="ee"): - indices = default_indices["o"][: n + 1] + default_indices["v"][: n + 1] - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) - expr_n = spin_integrate(expr_n, spin) - output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - output, expr = optimise(output, expr, spin, strategy="exhaust") - - # Generate the R amplitude code - for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "preamble": "r1new = Namespace()\nr2new = Namespace()" if spin == "uhf" else None, - "postamble": "r2new.baba = r2new.abab.transpose(1, 0, 3, 2)" if spin == "uhf" else None, # FIXME - "as_dict": True, - } - else: - kwargs = {} - codegen( - "hbar_matvec_ee", - returns, - output, - expr, - **kwargs, - ) + # Generate the R amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "preamble": "r1new = Namespace()\nr2new = Namespace()" if spin == "uhf" else None, + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_matvec_ip", + returns, + output, + expr, + **kwargs, + ) + +with Stopwatch("EA-EOM"): + # Get the R1 contractions in pdaggerq format + pq.clear() + pq.set_right_operators_type("EA") + pq.set_left_operators([["a(a)"]]) + pq.set_right_operators([["r1"], ["r2"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) + pq.simplify() + terms_r1 = pq.fully_contracted_strings() + terms_r1 = remove_disconnected_eom(terms_r1) + + # Get the R2 contractions in pdaggerq format + pq.clear() + pq.set_right_operators_type("EA") + pq.set_left_operators([["a*(i)", "a(b)", "a(a)"]]) + pq.set_right_operators([["r1"], ["r2"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) + pq.simplify() + terms_r2 = pq.fully_contracted_strings() + terms_r2 = remove_disconnected_eom(terms_r2) + + # Get the R amplitudes in albert format + terms = [terms_r1, terms_r2] + expr = [] + output = [] + returns = [] + for n in range(2): + for index_spins in get_amplitude_spins(n + 1, spin, which="ea"): + indices = default_indices["v"][: n + 1] + default_indices["o"][: n] + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + output, expr = optimise(output, expr, spin, strategy="exhaust") + + # Generate the R amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "preamble": "r1new = Namespace()\nr2new = Namespace()" if spin == "uhf" else None, + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_matvec_ea", + returns, + output, + expr, + **kwargs, + ) + +with Stopwatch("EE-EOM"): + # Get the R1 contractions in pdaggerq format + pq.clear() + pq.set_right_operators_type("EE") + pq.set_left_operators([["e1(i,a)"]]) + pq.set_right_operators([["r1"], ["r2"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) + pq.simplify() + terms_r1 = pq.fully_contracted_strings() + terms_r1 = remove_disconnected_eom(terms_r1) + + # Get the R2 contractions in pdaggerq format + pq.clear() + pq.set_right_operators_type("EE") + pq.set_left_operators([["e2(i,j,b,a)"]]) + pq.set_right_operators([["r1"], ["r2"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) + pq.simplify() + terms_r2 = pq.fully_contracted_strings() + terms_r2 = remove_disconnected_eom(terms_r2) + + # Get the R amplitudes in albert format + terms = [terms_r1, terms_r2] + expr = [] + output = [] + returns = [] + for n in range(2): + for index_spins in get_amplitude_spins(n + 1, spin, which="ee"): + indices = default_indices["o"][: n + 1] + default_indices["v"][: n + 1] + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + output, expr = optimise(output, expr, spin, strategy="exhaust") + + # Generate the R amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "preamble": "r1new = Namespace()\nr2new = Namespace()" if spin == "uhf" else None, + "postamble": "r2new.baba = r2new.abab.transpose(1, 0, 3, 2)" if spin == "uhf" else None, # FIXME + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_matvec_ee", + returns, + output, + expr, + **kwargs, + ) # Temporary hardcoded parts until we have a proper way to handle them if spin == "ghf" or spin == "uhf": From 2b1819c1cc1e1be80d8659fbfc9ea6b58e62dd63 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Wed, 7 Aug 2024 22:55:52 +0100 Subject: [PATCH 067/168] Only REOM IP and EA working atm --- ebcc/codegen/bootstrap_CCSD.py | 113 +++++++++++++++++---------------- 1 file changed, 57 insertions(+), 56 deletions(-) diff --git a/ebcc/codegen/bootstrap_CCSD.py b/ebcc/codegen/bootstrap_CCSD.py index 6d93005e..f457e39f 100644 --- a/ebcc/codegen/bootstrap_CCSD.py +++ b/ebcc/codegen/bootstrap_CCSD.py @@ -405,63 +405,64 @@ **kwargs, ) -with Stopwatch("EE-EOM"): - # Get the R1 contractions in pdaggerq format - pq.clear() - pq.set_right_operators_type("EE") - pq.set_left_operators([["e1(i,a)"]]) - pq.set_right_operators([["r1"], ["r2"]]) - pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) - pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) - pq.simplify() - terms_r1 = pq.fully_contracted_strings() - terms_r1 = remove_disconnected_eom(terms_r1) - - # Get the R2 contractions in pdaggerq format - pq.clear() - pq.set_right_operators_type("EE") - pq.set_left_operators([["e2(i,j,b,a)"]]) - pq.set_right_operators([["r1"], ["r2"]]) - pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) - pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) - pq.simplify() - terms_r2 = pq.fully_contracted_strings() - terms_r2 = remove_disconnected_eom(terms_r2) - - # Get the R amplitudes in albert format - terms = [terms_r1, terms_r2] - expr = [] - output = [] - returns = [] - for n in range(2): - for index_spins in get_amplitude_spins(n + 1, spin, which="ee"): - indices = default_indices["o"][: n + 1] + default_indices["v"][: n + 1] - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) - expr_n = spin_integrate(expr_n, spin) - output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - output, expr = optimise(output, expr, spin, strategy="exhaust") +if spin != "rhf": # FIXME + with Stopwatch("EE-EOM"): + # Get the R1 contractions in pdaggerq format + pq.clear() + pq.set_right_operators_type("EE") + pq.set_left_operators([["e1(i,a)"]]) + pq.set_right_operators([["r1"], ["r2"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) + pq.simplify() + terms_r1 = pq.fully_contracted_strings() + terms_r1 = remove_disconnected_eom(terms_r1) - # Generate the R amplitude code - for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "preamble": "r1new = Namespace()\nr2new = Namespace()" if spin == "uhf" else None, - "postamble": "r2new.baba = r2new.abab.transpose(1, 0, 3, 2)" if spin == "uhf" else None, # FIXME - "as_dict": True, - } - else: - kwargs = {} - codegen( - "hbar_matvec_ee", - returns, - output, - expr, - **kwargs, - ) + # Get the R2 contractions in pdaggerq format + pq.clear() + pq.set_right_operators_type("EE") + pq.set_left_operators([["e2(i,j,b,a)"]]) + pq.set_right_operators([["r1"], ["r2"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) + pq.simplify() + terms_r2 = pq.fully_contracted_strings() + terms_r2 = remove_disconnected_eom(terms_r2) + + # Get the R amplitudes in albert format + terms = [terms_r1, terms_r2] + expr = [] + output = [] + returns = [] + for n in range(2): + for index_spins in get_amplitude_spins(n + 1, spin, which="ee"): + indices = default_indices["o"][: n + 1] + default_indices["v"][: n + 1] + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + output, expr = optimise(output, expr, spin, strategy="exhaust") + + # Generate the R amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "preamble": "r1new = Namespace()\nr2new = Namespace()" if spin == "uhf" else None, + "postamble": "r2new.baba = r2new.abab.transpose(1, 0, 3, 2)" if spin == "uhf" else None, # FIXME + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_matvec_ee", + returns, + output, + expr, + **kwargs, + ) # Temporary hardcoded parts until we have a proper way to handle them if spin == "ghf" or spin == "uhf": From 1d4f23370f981c6f5ee052f4e83509b1576e746d Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Thu, 8 Aug 2024 18:10:43 +0100 Subject: [PATCH 068/168] EOM fixes --- ebcc/codegen/bootstrap_CCSD.py | 13 +++++++------ ebcc/codegen/bootstrap_common.py | 32 +++++++++++++++++++++++++++++--- 2 files changed, 36 insertions(+), 9 deletions(-) diff --git a/ebcc/codegen/bootstrap_CCSD.py b/ebcc/codegen/bootstrap_CCSD.py index f457e39f..74ea5c77 100644 --- a/ebcc/codegen/bootstrap_CCSD.py +++ b/ebcc/codegen/bootstrap_CCSD.py @@ -8,6 +8,7 @@ from albert.qc._pdaggerq import import_from_pdaggerq from albert.tensor import Tensor from albert.qc.index import Index +from albert.algebra import Mul from ebcc.codegen.bootstrap_common import * @@ -301,7 +302,7 @@ pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() terms_r1 = pq.fully_contracted_strings() - terms_r1 = remove_disconnected_eom(terms_r1) + terms_r1 = remove_e0_eom(terms_r1) # Get the R2 contractions in pdaggerq format pq.clear() @@ -312,7 +313,7 @@ pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() terms_r2 = pq.fully_contracted_strings() - terms_r2 = remove_disconnected_eom(terms_r2) + terms_r2 = remove_e0_eom(terms_r2) # Get the R amplitudes in albert format terms = [terms_r1, terms_r2] @@ -358,7 +359,7 @@ pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() terms_r1 = pq.fully_contracted_strings() - terms_r1 = remove_disconnected_eom(terms_r1) + terms_r1 = remove_e0_eom(terms_r1) # Get the R2 contractions in pdaggerq format pq.clear() @@ -369,7 +370,7 @@ pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() terms_r2 = pq.fully_contracted_strings() - terms_r2 = remove_disconnected_eom(terms_r2) + terms_r2 = remove_e0_eom(terms_r2) # Get the R amplitudes in albert format terms = [terms_r1, terms_r2] @@ -416,7 +417,7 @@ pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() terms_r1 = pq.fully_contracted_strings() - terms_r1 = remove_disconnected_eom(terms_r1) + terms_r1 = remove_e0_eom(terms_r1) # Get the R2 contractions in pdaggerq format pq.clear() @@ -427,7 +428,7 @@ pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() terms_r2 = pq.fully_contracted_strings() - terms_r2 = remove_disconnected_eom(terms_r2) + terms_r2 = remove_e0_eom(terms_r2) # Get the R amplitudes in albert format terms = [terms_r1, terms_r2] diff --git a/ebcc/codegen/bootstrap_common.py b/ebcc/codegen/bootstrap_common.py index 8ac49b5f..520ae621 100644 --- a/ebcc/codegen/bootstrap_common.py +++ b/ebcc/codegen/bootstrap_common.py @@ -12,6 +12,7 @@ from albert.qc.index import Index from albert.qc.rhf import ERI as RERI, CDERI as RCDERI from albert.qc.uhf import ERI as UERI, CDERI as UCDERI +from albert.qc._pdaggerq import import_from_pdaggerq from albert.tensor import Tensor from pdaggerq.config import OCC_INDICES, VIRT_INDICES @@ -236,10 +237,11 @@ def remove_hf_energy(terms): return terms -def remove_disconnected_eom(terms): - """Remove the EOM terms that are not connected to the R amplitudes.""" +def remove_e0_eom(terms): + """Remove the EOM terms to transform H v -> (H - E0) v.""" new_terms = [] for term in terms: + # Find if the term is disconnected r = None rest = [] for t in term[1:]: @@ -253,8 +255,32 @@ def remove_disconnected_eom(terms): if "<" in r: r = r.replace("<", "(").replace(">", ")").replace("||", ",") rest_inds.update(r.split("(")[1].split(")")[0].split(",")) - if r_inds & rest_inds: + connected = r_inds & rest_inds + if connected: new_terms.append(term) + continue + + # We only want to remove the E0 terms: + # f(i,i) r + # f(i,a) t(a,i) r + # r + # t2(a,b,i,j) r + # t1(a,i) t1(b,j) r + if len(term) == 3: + tensor = [t for t in term[1:] if not t.startswith("r")][0] + if tensor.startswith("f") and tensor[2] == tensor[4]: + continue + if tensor.startswith("<") and tensor[1] == tensor[6] and tensor[3] == tensor[8]: + continue + else: + tensors = sorted([t for t in term[1:] if not t.startswith("r")]) + if tensors[0].startswith("f") and tensors[1].startswith("t"): + continue + if tensors[0].startswith("<") and all(t.startswith("t") for t in tensors[1:]): + continue + + new_terms.append(term) + return new_terms From f62e872e71d8d61352afba10794dfa76622f7e7a Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Fri, 9 Aug 2024 17:53:58 +0100 Subject: [PATCH 069/168] Remove moments --- ebcc/codegen/_GCCSD_moments.dat | 175 -------- ebcc/codegen/_UCCSD_moments.dat | 723 -------------------------------- ebcc/codegen/bootstrap_CCSD.py | 6 - 3 files changed, 904 deletions(-) delete mode 100644 ebcc/codegen/_GCCSD_moments.dat delete mode 100644 ebcc/codegen/_UCCSD_moments.dat diff --git a/ebcc/codegen/_GCCSD_moments.dat b/ebcc/codegen/_GCCSD_moments.dat deleted file mode 100644 index ec69bb05..00000000 --- a/ebcc/codegen/_GCCSD_moments.dat +++ /dev/null @@ -1,175 +0,0 @@ - -from ebcc.precision import types - -def make_ip_mom_kets(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, l1=None, l2=None, **kwargs): - delta_oo = np.eye(nocc) - delta_vv = np.eye(nvir) - - ket2_o = np.zeros((nocc, nocc, nvir, nocc), dtype=types[float]) - ket1_o = np.zeros((nocc, nocc), dtype=types[float]) - ket1_o += einsum("ij->ji", delta_oo) - ket1_v = np.zeros((nocc, nvir), dtype=types[float]) - ket1_v += einsum("ia->ia", t1) - ket2_v = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - ket2_v -= einsum("ijab->jiba", t2) - - ket1 = np.concatenate([ket1_o, ket1_v], axis=1) - ket2 = np.concatenate([ket2_o, ket2_v], axis=3) - - return ket1, ket2 - -def make_ea_mom_kets(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, l1=None, l2=None, **kwargs): - delta_oo = np.eye(nocc) - delta_vv = np.eye(nvir) - - ket2_v = np.zeros((nvir, nvir, nocc, nvir), dtype=types[float]) - ket1_o = np.zeros((nvir, nocc), dtype=types[float]) - ket1_o -= einsum("ia->ai", t1) - ket1_v = np.zeros((nvir, nvir), dtype=types[float]) - ket1_v += einsum("ab->ba", delta_vv) - ket2_o = np.zeros((nvir, nvir, nocc, nocc), dtype=types[float]) - ket2_o += einsum("ijab->baji", t2) - - ket1 = np.concatenate([ket1_o, ket1_v], axis=1) - ket2 = np.concatenate([ket2_o, ket2_v], axis=3) - - return ket1, ket2 - -def make_ip_mom_bras(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, l1=None, l2=None, **kwargs): - delta_oo = np.eye(nocc) - delta_vv = np.eye(nvir) - - bra1_o = np.zeros((nocc, nocc), dtype=types[float]) - bra1_o += einsum("abij,kjab->ki", l2, t2) * -0.5 - bra1_o += einsum("ij->ji", delta_oo) - bra1_o -= einsum("ai,ja->ji", l1, t1) - bra1_v = np.zeros((nvir, nocc), dtype=types[float]) - bra1_v += einsum("ai->ai", l1) - bra2_o = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - bra2_o -= einsum("ia,bajk->ikjb", t1, l2) - bra2_o += einsum("ij,ak->jika", delta_oo, l1) - bra2_o -= einsum("ij,ak->jkia", delta_oo, l1) - bra2_v = np.zeros((nvir, nocc, nocc, nvir), dtype=types[float]) - bra2_v += einsum("abij->bjia", l2) - - bra1 = np.concatenate([bra1_o, bra1_v], axis=0) - bra2 = np.concatenate([bra2_o, bra2_v], axis=0) - - return bra1, bra2 - -def make_ea_mom_bras(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, l1=None, l2=None, **kwargs): - delta_oo = np.eye(nocc) - delta_vv = np.eye(nvir) - - bra1_o = np.zeros((nocc, nvir), dtype=types[float]) - bra1_o -= einsum("ai->ia", l1) - bra1_v = np.zeros((nvir, nvir), dtype=types[float]) - bra1_v += einsum("ab->ba", delta_vv) - bra1_v -= einsum("ai,ib->ba", l1, t1) - bra1_v += einsum("abij,ijcb->ca", l2, t2) * -0.5 - bra2_o = np.zeros((nocc, nvir, nvir, nocc), dtype=types[float]) - bra2_o -= einsum("abij->jbai", l2) - bra2_v = np.zeros((nvir, nvir, nvir, nocc), dtype=types[float]) - bra2_v -= einsum("ia,bcji->acbj", t1, l2) - bra2_v += einsum("ab,ci->baci", delta_vv, l1) - bra2_v -= einsum("ab,ci->bcai", delta_vv, l1) - - bra1 = np.concatenate([bra1_o, bra1_v], axis=0) - bra2 = np.concatenate([bra2_o, bra2_v], axis=0) - - return bra1, bra2 - -def make_ee_mom_kets(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, l1=None, l2=None, **kwargs): - delta_oo = np.eye(nocc) - delta_vv = np.eye(nvir) - - ketee1_oo = np.zeros((nocc, nvir, nocc, nocc), dtype=types[float]) - ketee1_oo -= einsum("ij,ka->jaki", delta_oo, t1) - ketee1_ov = np.zeros((nocc, nvir, nocc, nvir), dtype=types[float]) - ketee1_ov -= einsum("ia,jb->iajb", t1, t1) - ketee1_ov += einsum("ijab->jbia", t2) - ketee1_vo = np.zeros((nocc, nvir, nvir, nocc), dtype=types[float]) - ketee1_vo += einsum("ab,ij->jbai", delta_vv, delta_oo) - ketee1_vv = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - ketee1_vv += einsum("ab,ic->ibac", delta_vv, t1) - ketee2_oo = np.zeros((nocc, nocc, nvir, nvir, nocc, nocc), dtype=types[float]) - ketee2_oo += einsum("ij,klab->jlbaki", delta_oo, t2) - ketee2_oo -= einsum("ij,klab->ljbaki", delta_oo, t2) - ketee2_ov = np.zeros((nocc, nocc, nvir, nvir, nocc, nvir), dtype=types[float]) - ketee2_ov += einsum("ia,jkbc->ikcbja", t1, t2) - ketee2_ov -= einsum("ia,jkbc->kicbja", t1, t2) - ketee2_ov += einsum("ia,jkbc->kjacib", t1, t2) - ketee2_ov -= einsum("ia,jkbc->kjcaib", t1, t2) - ketee2_vv = np.zeros((nocc, nocc, nvir, nvir, nvir, nvir), dtype=types[float]) - ketee2_vv -= einsum("ab,ijcd->jibdac", delta_vv, t2) - ketee2_vv += einsum("ab,ijcd->jidbac", delta_vv, t2) - - ketee2_vo = np.zeros((nocc, nocc, nvir, nvir, nvir, nocc), dtype=types[float]) - - ketee1 = np.concatenate([np.concatenate([ketee1_oo, ketee1_ov], axis=-1), np.concatenate([ketee1_vo, ketee1_vv], axis=-1)], axis=-2) - ketee2 = np.concatenate([np.concatenate([ketee2_oo, ketee2_ov], axis=-1), np.concatenate([ketee2_vo, ketee2_vv], axis=-1)], axis=-2) - - return ketee1, ketee2 - -def make_ee_mom_bras(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, l1=None, l2=None, **kwargs): - delta_oo = np.eye(nocc) - delta_vv = np.eye(nvir) - - x0 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x0 += einsum("ia,bajk->jkib", t1, l2) - x5 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x5 -= einsum("ijka->jika", x0) - braee1_oo = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - braee1_oo -= einsum("ijka->kjia", x0) - del x0 - x1 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x1 += einsum("ijab->jiba", t2) - x1 -= einsum("ia,jb->ijba", t1, t1) - braee1_ov = np.zeros((nocc, nvir, nocc, nvir), dtype=types[float]) - braee1_ov += einsum("abij,ikac->kcjb", l2, x1) - del x1 - x2 = np.zeros((nvir, nvir), dtype=types[float]) - x2 += einsum("ab->ba", delta_vv) * -2 - x2 += einsum("ai,ib->ab", l1, t1) * 2 - x2 += einsum("abij,ijcb->ac", l2, t2) - braee1_ov += einsum("ij,ab->jbia", delta_oo, x2) * -0.5 - del x2 - x3 = np.zeros((nocc, nocc), dtype=types[float]) - x3 += einsum("ai,ja->ij", l1, t1) * 2 - x3 += einsum("abij,kjab->ik", l2, t2) - braee1_ov += einsum("ab,ij->jbia", delta_vv, x3) * -0.5 - del x3 - x4 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x4 += einsum("ia,bcji->jbca", t1, l2) - braee1_vv = np.zeros((nvir, nvir, nocc, nvir), dtype=types[float]) - braee1_vv += einsum("iabc->bcia", x4) - braee2_ov = np.zeros((nocc, nvir, nocc, nocc, nvir, nvir), dtype=types[float]) - braee2_ov -= einsum("ij,kabc->icjkba", delta_oo, x4) - braee2_ov += einsum("ij,kabc->ickjba", delta_oo, x4) - del x4 - x5 += einsum("ij,ak->jkia", delta_oo, l1) - x5 -= einsum("ij,ak->kjia", delta_oo, l1) - braee2_ov -= einsum("ab,ijkc->kbjiac", delta_vv, x5) - braee2_ov += einsum("ab,ijkc->kbjica", delta_vv, x5) - del x5 - braee1_oo += einsum("ij,ak->jika", delta_oo, l1) - braee1_oo -= einsum("ij,ak->jkia", delta_oo, l1) - braee1_ov += einsum("ai,jb->jbia", l1, t1) - braee1_vo = np.zeros((nvir, nocc, nocc, nvir), dtype=types[float]) - braee1_vo += einsum("abij->bjia", l2) - braee1_vv += einsum("ab,ci->cbia", delta_vv, l1) - braee2_oo = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - braee2_oo += einsum("ij,abkl->jilkba", delta_oo, l2) - braee2_oo -= einsum("ij,abkl->jlikba", delta_oo, l2) - braee2_oo += einsum("ij,abkl->jlkiba", delta_oo, l2) - braee2_ov += einsum("ia,bcjk->iakjcb", t1, l2) - braee2_vv = np.zeros((nvir, nvir, nocc, nocc, nvir, nvir), dtype=types[float]) - braee2_vv += einsum("ab,cdij->dbjiac", delta_vv, l2) - braee2_vv -= einsum("ab,cdij->dbjica", delta_vv, l2) - - braee2_vo = np.zeros((nvir, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - - braee1 = np.concatenate([np.concatenate([braee1_oo, braee1_ov], axis=1), np.concatenate([braee1_vo, braee1_vv], axis=1)], axis=0) - braee2 = np.concatenate([np.concatenate([braee2_oo, braee2_ov], axis=1), np.concatenate([braee2_vo, braee2_vv], axis=1)], axis=0) - - return braee1, braee2 diff --git a/ebcc/codegen/_UCCSD_moments.dat b/ebcc/codegen/_UCCSD_moments.dat deleted file mode 100644 index 01ee01a8..00000000 --- a/ebcc/codegen/_UCCSD_moments.dat +++ /dev/null @@ -1,723 +0,0 @@ - -from ebcc.precision import types - -def make_ip_mom_kets(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, l1=None, l2=None, **kwargs): - ket1 = Namespace() - ket2 = Namespace() - - delta_oo = Namespace() - delta_oo.aa = np.eye(nocc[0]) - delta_oo.bb = np.eye(nocc[1]) - delta_vv = Namespace() - delta_vv.aa = np.eye(nvir[0]) - delta_vv.bb = np.eye(nvir[1]) - - ket2_o_aaaa = np.zeros((nocc[0], nocc[0], nvir[0], nocc[0]), dtype=types[float]) - ket2_o_abab = np.zeros((nocc[0], nocc[1], nvir[0], nocc[1]), dtype=types[float]) - ket2_o_baba = np.zeros((nocc[1], nocc[0], nvir[1], nocc[0]), dtype=types[float]) - ket2_o_bbbb = np.zeros((nocc[1], nocc[1], nvir[1], nocc[1]), dtype=types[float]) - ket1_o_aa = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - ket1_o_aa += einsum("ij->ji", delta_oo.aa) - ket1_o_bb = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - ket1_o_bb += einsum("ij->ji", delta_oo.bb) - ket1_v_aa = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - ket1_v_aa += einsum("ia->ia", t1.aa) - ket1_v_bb = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - ket1_v_bb += einsum("ia->ia", t1.bb) - ket2_v_aaaa = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - ket2_v_aaaa += einsum("ijab->jiab", t2.aaaa) - ket2_v_aaaa -= einsum("ijab->jiba", t2.aaaa) - ket2_v_bbbb = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - ket2_v_bbbb += einsum("ijab->jiab", t2.bbbb) - ket2_v_bbbb -= einsum("ijab->jiba", t2.bbbb) - ket2_v_baba = np.zeros((nocc[1], nocc[0], nvir[1], nvir[0]), dtype=types[float]) - ket2_v_baba -= einsum("ijab->jiba", t2.abab) - ket2_v_abab = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - ket2_v_abab -= einsum("ijab->ijab", t2.abab) - - ket1_aa = np.concatenate([ket1_o_aa, ket1_v_aa], axis=1) - ket1_bb = np.concatenate([ket1_o_bb, ket1_v_bb], axis=1) - ket2_aaaa = np.concatenate([ket2_o_aaaa, ket2_v_aaaa], axis=3) - ket2_abab = np.concatenate([ket2_o_abab, ket2_v_abab], axis=3) - ket2_baba = np.concatenate([ket2_o_baba, ket2_v_baba], axis=3) - ket2_bbbb = np.concatenate([ket2_o_bbbb, ket2_v_bbbb], axis=3) - - ket1.aa = ket1_aa - ket1.bb = ket1_bb - ket2.aaaa = ket2_aaaa - ket2.abab = ket2_abab - ket2.baba = ket2_baba - ket2.bbbb = ket2_bbbb - - return ket1, ket2 - -def make_ea_mom_kets(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, l1=None, l2=None, **kwargs): - ket1 = Namespace() - ket2 = Namespace() - - delta_oo = Namespace() - delta_oo.aa = np.eye(nocc[0]) - delta_oo.bb = np.eye(nocc[1]) - delta_vv = Namespace() - delta_vv.aa = np.eye(nvir[0]) - delta_vv.bb = np.eye(nvir[1]) - - ket2_v_aaaa = np.zeros((nvir[0], nvir[0], nocc[0], nvir[0]), dtype=types[float]) - ket2_v_abab = np.zeros((nvir[0], nvir[1], nocc[0], nvir[1]), dtype=types[float]) - ket2_v_baba = np.zeros((nvir[1], nvir[0], nocc[1], nvir[0]), dtype=types[float]) - ket2_v_bbbb = np.zeros((nvir[1], nvir[1], nocc[1], nvir[1]), dtype=types[float]) - ket1_o_aa = np.zeros((nvir[0], nocc[0]), dtype=types[float]) - ket1_o_aa -= einsum("ia->ai", t1.aa) - ket1_o_bb = np.zeros((nvir[1], nocc[1]), dtype=types[float]) - ket1_o_bb -= einsum("ia->ai", t1.bb) - ket1_v_aa = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - ket1_v_aa += einsum("ab->ba", delta_vv.aa) - ket1_v_bb = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - ket1_v_bb += einsum("ab->ba", delta_vv.bb) - ket2_o_aaaa = np.zeros((nvir[0], nvir[0], nocc[0], nocc[0]), dtype=types[float]) - ket2_o_aaaa -= einsum("ijab->abji", t2.aaaa) - ket2_o_aaaa += einsum("ijab->baji", t2.aaaa) - ket2_o_bbbb = np.zeros((nvir[1], nvir[1], nocc[1], nocc[1]), dtype=types[float]) - ket2_o_bbbb -= einsum("ijab->abji", t2.bbbb) - ket2_o_bbbb += einsum("ijab->baji", t2.bbbb) - ket2_o_baba = np.zeros((nvir[1], nvir[0], nocc[1], nocc[0]), dtype=types[float]) - ket2_o_baba += einsum("ijab->baji", t2.abab) - ket2_o_abab = np.zeros((nvir[0], nvir[1], nocc[0], nocc[1]), dtype=types[float]) - ket2_o_abab += einsum("ijab->abij", t2.abab) - - ket1_aa = np.concatenate([ket1_o_aa, ket1_v_aa], axis=1) - ket1_bb = np.concatenate([ket1_o_bb, ket1_v_bb], axis=1) - ket2_aaaa = np.concatenate([ket2_o_aaaa, ket2_v_aaaa], axis=3) - ket2_abab = np.concatenate([ket2_o_abab, ket2_v_abab], axis=3) - ket2_baba = np.concatenate([ket2_o_baba, ket2_v_baba], axis=3) - ket2_bbbb = np.concatenate([ket2_o_bbbb, ket2_v_bbbb], axis=3) - - ket2_aaaa *= -1 - ket2_abab *= -1 - ket2_baba *= -1 - ket2_bbbb *= -1 - - ket1.aa = ket1_aa - ket1.bb = ket1_bb - ket2.aaaa = ket2_aaaa - ket2.abab = ket2_abab - ket2.baba = ket2_baba - ket2.bbbb = ket2_bbbb - - return ket1, ket2 - -def make_ip_mom_bras(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, l1=None, l2=None, **kwargs): - bra1 = Namespace() - bra2 = Namespace() - - delta_oo = Namespace() - delta_oo.aa = np.eye(nocc[0]) - delta_oo.bb = np.eye(nocc[1]) - delta_vv = Namespace() - delta_vv.aa = np.eye(nvir[0]) - delta_vv.bb = np.eye(nvir[1]) - - x0 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x0 += einsum("ijab->jiab", t2.aaaa) - x0 += einsum("ijab->jiba", t2.aaaa) * -1 - bra1_o_aa = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - bra1_o_aa += einsum("abij,ikba->kj", l2.aaaa, x0) * -1 - del x0 - x1 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x1 += einsum("ijab->jiab", t2.bbbb) * -1 - x1 += einsum("ijab->jiba", t2.bbbb) - bra1_o_bb = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - bra1_o_bb += einsum("abij,ikab->kj", l2.bbbb, x1) * -1 - del x1 - x2 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x2 += einsum("ia,abjk->kjib", t1.aa, l2.aaaa) - bra2_o_aaaa = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - bra2_o_aaaa += einsum("ijka->kija", x2) - bra2_o_aaaa -= einsum("ijka->kjia", x2) - del x2 - x3 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x3 += einsum("ia,abjk->kjib", t1.bb, l2.bbbb) - bra2_o_bbbb = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - bra2_o_bbbb += einsum("ijka->kija", x3) - bra2_o_bbbb -= einsum("ijka->kjia", x3) - del x3 - bra1_o_aa -= einsum("ai,ja->ji", l1.aa, t1.aa) - bra1_o_aa += einsum("ij->ji", delta_oo.aa) - bra1_o_aa += einsum("abij,kjab->ki", l2.abab, t2.abab) * -1 - bra1_o_bb += einsum("ij->ji", delta_oo.bb) - bra1_o_bb -= einsum("ai,ja->ji", l1.bb, t1.bb) - bra1_o_bb += einsum("abij,ikab->kj", l2.abab, t2.abab) * -1 - bra1_v_aa = np.zeros((nvir[0], nocc[0]), dtype=types[float]) - bra1_v_aa += einsum("ai->ai", l1.aa) - bra1_v_bb = np.zeros((nvir[1], nocc[1]), dtype=types[float]) - bra1_v_bb += einsum("ai->ai", l1.bb) - bra2_o_aaaa += einsum("ij,ak->jika", delta_oo.aa, l1.aa) - bra2_o_aaaa -= einsum("ij,ak->jkia", delta_oo.aa, l1.aa) - bra2_o_abab = np.zeros((nocc[0], nocc[1], nocc[0], nvir[1]), dtype=types[float]) - bra2_o_abab += einsum("ia,abjk->ikjb", t1.aa, l2.abab) - bra2_o_abab -= einsum("ij,ak->jkia", delta_oo.aa, l1.bb) - bra2_o_baba = np.zeros((nocc[1], nocc[0], nocc[1], nvir[0]), dtype=types[float]) - bra2_o_baba -= einsum("ij,ak->jkia", delta_oo.bb, l1.aa) - bra2_o_baba += einsum("ia,bajk->ijkb", t1.bb, l2.abab) - bra2_o_bbbb += einsum("ij,ak->jika", delta_oo.bb, l1.bb) - bra2_o_bbbb -= einsum("ij,ak->jkia", delta_oo.bb, l1.bb) - bra2_v_aaaa = np.zeros((nvir[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - bra2_v_aaaa -= einsum("abij->ajib", l2.aaaa) - bra2_v_aaaa += einsum("abij->bjia", l2.aaaa) - bra2_v_baba = np.zeros((nvir[1], nocc[0], nocc[1], nvir[0]), dtype=types[float]) - bra2_v_baba -= einsum("abij->bija", l2.abab) - bra2_v_abab = np.zeros((nvir[0], nocc[1], nocc[0], nvir[1]), dtype=types[float]) - bra2_v_abab -= einsum("abij->ajib", l2.abab) - bra2_v_bbbb = np.zeros((nvir[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - bra2_v_bbbb -= einsum("abij->ajib", l2.bbbb) - bra2_v_bbbb += einsum("abij->bjia", l2.bbbb) - - bra1_aa = np.concatenate([bra1_o_aa, bra1_v_aa], axis=0) - bra1_bb = np.concatenate([bra1_o_bb, bra1_v_bb], axis=0) - bra2_aaaa = np.concatenate([bra2_o_aaaa, bra2_v_aaaa], axis=0) - bra2_abab = np.concatenate([bra2_o_abab, bra2_v_abab], axis=0) - bra2_baba = np.concatenate([bra2_o_baba, bra2_v_baba], axis=0) - bra2_bbbb = np.concatenate([bra2_o_bbbb, bra2_v_bbbb], axis=0) - - bra1.aa = bra1_aa - bra1.bb = bra1_bb - bra2.aaaa = bra2_aaaa - bra2.abab = bra2_abab - bra2.baba = bra2_baba - bra2.bbbb = bra2_bbbb - - return bra1, bra2 - -def make_ea_mom_bras(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, l1=None, l2=None, **kwargs): - bra1 = Namespace() - bra2 = Namespace() - - delta_oo = Namespace() - delta_oo.aa = np.eye(nocc[0]) - delta_oo.bb = np.eye(nocc[1]) - delta_vv = Namespace() - delta_vv.aa = np.eye(nvir[0]) - delta_vv.bb = np.eye(nvir[1]) - - x0 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x0 += einsum("ijab->jiab", t2.aaaa) * -1 - x0 += einsum("ijab->jiba", t2.aaaa) - bra1_v_aa = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - bra1_v_aa += einsum("abij,ijac->cb", l2.aaaa, x0) * -1 - del x0 - x1 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x1 += einsum("ijab->jiab", t2.bbbb) - x1 += einsum("ijab->jiba", t2.bbbb) * -1 - bra1_v_bb = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - bra1_v_bb += einsum("abij,ijbc->ca", l2.bbbb, x1) * -1 - del x1 - x2 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x2 += einsum("ia,bcji->jbca", t1.aa, l2.aaaa) - bra2_v_aaaa = np.zeros((nvir[0], nvir[0], nvir[0], nocc[0]), dtype=types[float]) - bra2_v_aaaa += einsum("iabc->cabi", x2) - bra2_v_aaaa -= einsum("iabc->cbai", x2) - del x2 - x3 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x3 += einsum("ia,bcji->jbca", t1.bb, l2.bbbb) - bra2_v_bbbb = np.zeros((nvir[1], nvir[1], nvir[1], nocc[1]), dtype=types[float]) - bra2_v_bbbb += einsum("iabc->cabi", x3) - bra2_v_bbbb -= einsum("iabc->cbai", x3) - del x3 - bra1_o_aa = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - bra1_o_aa -= einsum("ai->ia", l1.aa) - bra1_o_bb = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - bra1_o_bb -= einsum("ai->ia", l1.bb) - bra1_v_aa += einsum("ab->ba", delta_vv.aa) - bra1_v_aa -= einsum("ai,ib->ba", l1.aa, t1.aa) - bra1_v_aa += einsum("abij,ijcb->ca", l2.abab, t2.abab) * -1 - bra1_v_bb += einsum("abij,ijac->cb", l2.abab, t2.abab) * -1 - bra1_v_bb += einsum("ab->ba", delta_vv.bb) - bra1_v_bb -= einsum("ai,ib->ba", l1.bb, t1.bb) - bra2_o_aaaa = np.zeros((nocc[0], nvir[0], nvir[0], nocc[0]), dtype=types[float]) - bra2_o_aaaa += einsum("abij->jabi", l2.aaaa) - bra2_o_aaaa -= einsum("abij->jbai", l2.aaaa) - bra2_o_abab = np.zeros((nocc[0], nvir[1], nvir[0], nocc[1]), dtype=types[float]) - bra2_o_abab += einsum("abij->ibaj", l2.abab) - bra2_o_baba = np.zeros((nocc[1], nvir[0], nvir[1], nocc[0]), dtype=types[float]) - bra2_o_baba += einsum("abij->jabi", l2.abab) - bra2_o_bbbb = np.zeros((nocc[1], nvir[1], nvir[1], nocc[1]), dtype=types[float]) - bra2_o_bbbb += einsum("abij->jabi", l2.bbbb) - bra2_o_bbbb -= einsum("abij->jbai", l2.bbbb) - bra2_v_aaaa += einsum("ab,ci->baci", delta_vv.aa, l1.aa) - bra2_v_aaaa -= einsum("ab,ci->bcai", delta_vv.aa, l1.aa) - bra2_v_abab = np.zeros((nvir[0], nvir[1], nvir[0], nocc[1]), dtype=types[float]) - bra2_v_abab -= einsum("ab,ci->bcai", delta_vv.aa, l1.bb) - bra2_v_abab += einsum("ia,bcij->acbj", t1.aa, l2.abab) - bra2_v_baba = np.zeros((nvir[1], nvir[0], nvir[1], nocc[0]), dtype=types[float]) - bra2_v_baba -= einsum("ab,ci->bcai", delta_vv.bb, l1.aa) - bra2_v_baba += einsum("ia,bcji->abcj", t1.bb, l2.abab) - bra2_v_bbbb += einsum("ab,ci->baci", delta_vv.bb, l1.bb) - bra2_v_bbbb -= einsum("ab,ci->bcai", delta_vv.bb, l1.bb) - - bra1_aa = np.concatenate([bra1_o_aa, bra1_v_aa], axis=0) - bra1_bb = np.concatenate([bra1_o_bb, bra1_v_bb], axis=0) - bra2_aaaa = np.concatenate([bra2_o_aaaa, bra2_v_aaaa], axis=0) - bra2_abab = np.concatenate([bra2_o_abab, bra2_v_abab], axis=0) - bra2_baba = np.concatenate([bra2_o_baba, bra2_v_baba], axis=0) - bra2_bbbb = np.concatenate([bra2_o_bbbb, bra2_v_bbbb], axis=0) - - bra2_aaaa *= -1 - bra2_abab *= -1 - bra2_baba *= -1 - bra2_bbbb *= -1 - - bra1.aa = bra1_aa - bra1.bb = bra1_bb - bra2.aaaa = bra2_aaaa - bra2.abab = bra2_abab - bra2.baba = bra2_baba - bra2.bbbb = bra2_bbbb - - return bra1, bra2 - -def make_ee_mom_kets(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, l1=None, l2=None, **kwargs): # pragma: no cover - delta_oo = Namespace() - delta_oo.aa = np.eye(nocc[0]) - delta_oo.bb = np.eye(nocc[1]) - delta_vv = Namespace() - delta_vv.aa = np.eye(nvir[0]) - delta_vv.bb = np.eye(nvir[1]) - - ketee1_oo_aaaa = np.zeros((nocc[0], nvir[0], nocc[0], nocc[0]), dtype=types[float]) - ketee1_oo_aaaa -= einsum("ij,ka->jaki", delta_oo.aa, t1.aa) - ketee1_oo_bbbb = np.zeros((nocc[1], nvir[1], nocc[1], nocc[1]), dtype=types[float]) - ketee1_oo_bbbb -= einsum("ij,ka->jaki", delta_oo.bb, t1.bb) - ketee1_ov_aaaa = np.zeros((nocc[0], nvir[0], nocc[0], nvir[0]), dtype=types[float]) - ketee1_ov_aaaa -= einsum("ia,jb->iajb", t1.aa, t1.aa) - ketee1_ov_aaaa -= einsum("ijab->jaib", t2.aaaa) - ketee1_ov_aaaa += einsum("ijab->jbia", t2.aaaa) - ketee1_ov_bbbb = np.zeros((nocc[1], nvir[1], nocc[1], nvir[1]), dtype=types[float]) - ketee1_ov_bbbb -= einsum("ia,jb->iajb", t1.bb, t1.bb) - ketee1_ov_bbbb -= einsum("ijab->jaib", t2.bbbb) - ketee1_ov_bbbb += einsum("ijab->jbia", t2.bbbb) - ketee1_ov_bbaa = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - ketee1_ov_bbaa -= einsum("ia,jb->jbia", t1.aa, t1.bb) - ketee1_ov_bbaa += einsum("ijab->jbia", t2.abab) - ketee1_ov_aabb = np.zeros((nocc[0], nvir[0], nocc[1], nvir[1]), dtype=types[float]) - ketee1_ov_aabb -= einsum("ia,jb->iajb", t1.aa, t1.bb) - ketee1_ov_aabb += einsum("ijab->iajb", t2.abab) - ketee1_vo_aaaa = np.zeros((nocc[0], nvir[0], nvir[0], nocc[0]), dtype=types[float]) - ketee1_vo_aaaa += einsum("ab,ij->jbai", delta_vv.aa, delta_oo.aa) - ketee1_vo_bbbb = np.zeros((nocc[1], nvir[1], nvir[1], nocc[1]), dtype=types[float]) - ketee1_vo_bbbb += einsum("ab,ij->jbai", delta_vv.bb, delta_oo.bb) - ketee1_vv_aaaa = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - ketee1_vv_aaaa += einsum("ab,ic->ibac", delta_vv.aa, t1.aa) - ketee1_vv_bbbb = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - ketee1_vv_bbbb += einsum("ab,ic->ibac", delta_vv.bb, t1.bb) - ketee2_oo_aaaaaa = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0], nocc[0], nocc[0]), dtype=types[float]) - ketee2_oo_aaaaaa -= einsum("ij,klab->jlabki", delta_oo.aa, t2.aaaa) - ketee2_oo_aaaaaa += einsum("ij,klab->jlbaki", delta_oo.aa, t2.aaaa) - ketee2_oo_aaaaaa += einsum("ij,klab->ljabki", delta_oo.aa, t2.aaaa) - ketee2_oo_aaaaaa -= einsum("ij,klab->ljbaki", delta_oo.aa, t2.aaaa) - ketee2_oo_babaaa = np.zeros((nocc[1], nocc[0], nvir[1], nvir[0], nocc[0], nocc[0]), dtype=types[float]) - ketee2_oo_babaaa -= einsum("ij,klab->ljbaki", delta_oo.aa, t2.abab) - ketee2_oo_ababbb = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1], nocc[1], nocc[1]), dtype=types[float]) - ketee2_oo_ababbb -= einsum("ij,klab->kjabli", delta_oo.bb, t2.abab) - ketee2_oo_bbbbbb = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[1], nocc[1]), dtype=types[float]) - ketee2_oo_bbbbbb -= einsum("ij,klab->jlabki", delta_oo.bb, t2.bbbb) - ketee2_oo_bbbbbb += einsum("ij,klab->jlbaki", delta_oo.bb, t2.bbbb) - ketee2_oo_bbbbbb += einsum("ij,klab->ljabki", delta_oo.bb, t2.bbbb) - ketee2_oo_bbbbbb -= einsum("ij,klab->ljbaki", delta_oo.bb, t2.bbbb) - ketee2_oo_ababaa = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - ketee2_oo_ababaa -= einsum("ij,klab->jlabki", delta_oo.aa, t2.abab) - ketee2_oo_bababb = np.zeros((nocc[1], nocc[0], nvir[1], nvir[0], nocc[1], nocc[1]), dtype=types[float]) - ketee2_oo_bababb -= einsum("ij,klab->jkbali", delta_oo.bb, t2.abab) - ketee2_ov_aaaaaa = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0], nocc[0], nvir[0]), dtype=types[float]) - ketee2_ov_aaaaaa -= einsum("ia,jkbc->ikbcja", t1.aa, t2.aaaa) - ketee2_ov_aaaaaa += einsum("ia,jkbc->ikcbja", t1.aa, t2.aaaa) - ketee2_ov_aaaaaa += einsum("ia,jkbc->kibcja", t1.aa, t2.aaaa) - ketee2_ov_aaaaaa -= einsum("ia,jkbc->kicbja", t1.aa, t2.aaaa) - ketee2_ov_aaaaaa -= einsum("ia,jkbc->kjabic", t1.aa, t2.aaaa) - ketee2_ov_aaaaaa += einsum("ia,jkbc->kjacib", t1.aa, t2.aaaa) - ketee2_ov_aaaaaa += einsum("ia,jkbc->kjbaic", t1.aa, t2.aaaa) - ketee2_ov_aaaaaa -= einsum("ia,jkbc->kjcaib", t1.aa, t2.aaaa) - ketee2_ov_bbbbbb = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[1], nvir[1]), dtype=types[float]) - ketee2_ov_bbbbbb -= einsum("ia,jkbc->ikbcja", t1.bb, t2.bbbb) - ketee2_ov_bbbbbb += einsum("ia,jkbc->ikcbja", t1.bb, t2.bbbb) - ketee2_ov_bbbbbb += einsum("ia,jkbc->kibcja", t1.bb, t2.bbbb) - ketee2_ov_bbbbbb -= einsum("ia,jkbc->kicbja", t1.bb, t2.bbbb) - ketee2_ov_bbbbbb -= einsum("ia,jkbc->kjabic", t1.bb, t2.bbbb) - ketee2_ov_bbbbbb += einsum("ia,jkbc->kjacib", t1.bb, t2.bbbb) - ketee2_ov_bbbbbb += einsum("ia,jkbc->kjbaic", t1.bb, t2.bbbb) - ketee2_ov_bbbbbb -= einsum("ia,jkbc->kjcaib", t1.bb, t2.bbbb) - ketee2_ov_ababaa = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - ketee2_ov_ababaa -= einsum("ia,jkbc->ikbcja", t1.aa, t2.abab) - ketee2_ov_ababaa -= einsum("ia,jkbc->jkacib", t1.aa, t2.abab) - ketee2_ov_bababb = np.zeros((nocc[1], nocc[0], nvir[1], nvir[0], nocc[1], nvir[1]), dtype=types[float]) - ketee2_ov_bababb -= einsum("ia,jkbc->ijcbka", t1.bb, t2.abab) - ketee2_ov_bababb -= einsum("ia,jkbc->kjabic", t1.bb, t2.abab) - ketee2_ov_babaaa = np.zeros((nocc[1], nocc[0], nvir[1], nvir[0], nocc[0], nvir[0]), dtype=types[float]) - ketee2_ov_babaaa -= einsum("ia,jkbc->kicbja", t1.aa, t2.abab) - ketee2_ov_babaaa -= einsum("ia,jkbc->kjcaib", t1.aa, t2.abab) - ketee2_ov_ababbb = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1], nocc[1], nvir[1]), dtype=types[float]) - ketee2_ov_ababbb -= einsum("ia,jkbc->jibcka", t1.bb, t2.abab) - ketee2_ov_ababbb -= einsum("ia,jkbc->jkbaic", t1.bb, t2.abab) - ketee2_vv_aaaaaa = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - ketee2_vv_aaaaaa += einsum("ab,ijcd->jibcad", delta_vv.aa, t2.aaaa) - ketee2_vv_aaaaaa -= einsum("ab,ijcd->jibdac", delta_vv.aa, t2.aaaa) - ketee2_vv_aaaaaa -= einsum("ab,ijcd->jicbad", delta_vv.aa, t2.aaaa) - ketee2_vv_aaaaaa += einsum("ab,ijcd->jidbac", delta_vv.aa, t2.aaaa) - ketee2_vv_babaaa = np.zeros((nocc[1], nocc[0], nvir[1], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - ketee2_vv_babaaa += einsum("ab,ijcd->jidbac", delta_vv.aa, t2.abab) - ketee2_vv_ababbb = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - ketee2_vv_ababbb += einsum("ab,ijcd->ijcbad", delta_vv.bb, t2.abab) - ketee2_vv_bbbbbb = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - ketee2_vv_bbbbbb += einsum("ab,ijcd->jibcad", delta_vv.bb, t2.bbbb) - ketee2_vv_bbbbbb -= einsum("ab,ijcd->jibdac", delta_vv.bb, t2.bbbb) - ketee2_vv_bbbbbb -= einsum("ab,ijcd->jicbad", delta_vv.bb, t2.bbbb) - ketee2_vv_bbbbbb += einsum("ab,ijcd->jidbac", delta_vv.bb, t2.bbbb) - ketee2_vv_ababaa = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - ketee2_vv_ababaa += einsum("ab,ijcd->ijbdac", delta_vv.aa, t2.abab) - ketee2_vv_bababb = np.zeros((nocc[1], nocc[0], nvir[1], nvir[0], nvir[1], nvir[1]), dtype=types[float]) - ketee2_vv_bababb += einsum("ab,ijcd->jibcad", delta_vv.bb, t2.abab) - - ketee1_oo_abab = np.zeros((nocc[0], nvir[1], nocc[0], nocc[1]), dtype=types[float]) - ketee1_oo_baba = np.zeros((nocc[1], nvir[0], nocc[1], nocc[0]), dtype=types[float]) - ketee1_ov_abab = np.zeros((nocc[0], nvir[1], nocc[0], nvir[1]), dtype=types[float]) - ketee1_ov_baba = np.zeros((nocc[1], nvir[0], nocc[1], nvir[0]), dtype=types[float]) - ketee1_vo_abab = np.zeros((nocc[0], nvir[1], nvir[0], nocc[1]), dtype=types[float]) - ketee1_vo_baba = np.zeros((nocc[1], nvir[0], nvir[1], nocc[0]), dtype=types[float]) - ketee1_vv_abab = np.zeros((nocc[0], nvir[1], nvir[0], nvir[1]), dtype=types[float]) - ketee1_vv_baba = np.zeros((nocc[1], nvir[0], nvir[1], nvir[0]), dtype=types[float]) - ketee2_oo_bbbbaa = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - ketee2_oo_aaaabb = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0], nocc[1], nocc[1]), dtype=types[float]) - ketee2_ov_bbbbaa = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - ketee2_ov_aaaabb = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0], nocc[1], nvir[1]), dtype=types[float]) - ketee2_vo_aaaaaa = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0], nvir[0], nocc[0]), dtype=types[float]) - ketee2_vo_ababaa = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1], nvir[0], nocc[0]), dtype=types[float]) - ketee2_vo_babaaa = np.zeros((nocc[1], nocc[0], nvir[1], nvir[0], nvir[0], nocc[0]), dtype=types[float]) - ketee2_vo_bbbbaa = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nvir[0], nocc[0]), dtype=types[float]) - ketee2_vo_aaaabb = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0], nvir[1], nocc[1]), dtype=types[float]) - ketee2_vo_ababbb = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1], nvir[1], nocc[1]), dtype=types[float]) - ketee2_vo_bababb = np.zeros((nocc[1], nocc[0], nvir[1], nvir[0], nvir[1], nocc[1]), dtype=types[float]) - ketee2_vo_bbbbbb = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nvir[1], nocc[1]), dtype=types[float]) - ketee2_vv_bbbbaa = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - ketee2_vv_aaaabb = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) - - ketee1_aaaa = np.concatenate([np.concatenate([ketee1_oo_aaaa, ketee1_ov_aaaa], axis=-1), np.concatenate([ketee1_vo_aaaa, ketee1_vv_aaaa], axis=-1)], axis=-2) - ketee1_abab = np.concatenate([np.concatenate([ketee1_oo_abab, ketee1_ov_abab], axis=-1), np.concatenate([ketee1_vo_abab, ketee1_vv_abab], axis=-1)], axis=-2) - ketee1_baba = np.concatenate([np.concatenate([ketee1_oo_baba, ketee1_ov_baba], axis=-1), np.concatenate([ketee1_vo_baba, ketee1_vv_baba], axis=-1)], axis=-2) - ketee1_bbbb = np.concatenate([np.concatenate([ketee1_oo_bbbb, ketee1_ov_bbbb], axis=-1), np.concatenate([ketee1_vo_bbbb, ketee1_vv_bbbb], axis=-1)], axis=-2) - ketee2_aaaaaa = np.concatenate([np.concatenate([ketee2_oo_aaaaaa, ketee2_ov_aaaaaa], axis=-1), np.concatenate([ketee2_vo_aaaaaa, ketee2_vv_aaaaaa], axis=-1)], axis=-2) - ketee2_ababaa = np.concatenate([np.concatenate([ketee2_oo_ababaa, ketee2_ov_ababaa], axis=-1), np.concatenate([ketee2_vo_ababaa, ketee2_vv_ababaa], axis=-1)], axis=-2) - ketee2_babaaa = np.concatenate([np.concatenate([ketee2_oo_babaaa, ketee2_ov_babaaa], axis=-1), np.concatenate([ketee2_vo_babaaa, ketee2_vv_babaaa], axis=-1)], axis=-2) - ketee2_bbbbaa = np.concatenate([np.concatenate([ketee2_oo_bbbbaa, ketee2_ov_bbbbaa], axis=-1), np.concatenate([ketee2_vo_bbbbaa, ketee2_vv_bbbbaa], axis=-1)], axis=-2) - ketee2_aaaabb = np.concatenate([np.concatenate([ketee2_oo_aaaabb, ketee2_ov_aaaabb], axis=-1), np.concatenate([ketee2_vo_aaaabb, ketee2_vv_aaaabb], axis=-1)], axis=-2) - ketee2_ababbb = np.concatenate([np.concatenate([ketee2_oo_ababbb, ketee2_ov_ababbb], axis=-1), np.concatenate([ketee2_vo_ababbb, ketee2_vv_ababbb], axis=-1)], axis=-2) - ketee2_bababb = np.concatenate([np.concatenate([ketee2_oo_bababb, ketee2_ov_bababb], axis=-1), np.concatenate([ketee2_vo_bababb, ketee2_vv_bababb], axis=-1)], axis=-2) - ketee2_bbbbbb = np.concatenate([np.concatenate([ketee2_oo_bbbbbb, ketee2_ov_bbbbbb], axis=-1), np.concatenate([ketee2_vo_bbbbbb, ketee2_vv_bbbbbb], axis=-1)], axis=-2) - - ketee1 = Namespace(aaaa=ketee1_aaaa, abab=ketee1_abab, baba=ketee1_baba, bbbb=ketee1_bbbb) - ketee2 = Namespace(aaaaaa=ketee2_aaaaaa, ababaa=ketee2_ababaa, babaaa=ketee2_babaaa, bbbbaa=ketee2_bbbbaa, aaaabb=ketee2_aaaabb, ababbb=ketee2_ababbb, bababb=ketee2_bababb, bbbbbb=ketee2_bbbbbb) - - return ketee1, ketee2 - -def make_ee_mom_bras(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, l1=None, l2=None, **kwargs): # pragma: no cover - delta_oo = Namespace() - delta_oo.aa = np.eye(nocc[0]) - delta_oo.bb = np.eye(nocc[1]) - delta_vv = Namespace() - delta_vv.aa = np.eye(nvir[0]) - delta_vv.bb = np.eye(nvir[1]) - - x0 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x0 += einsum("ia,bajk->jkib", t1.aa, l2.aaaa) - x19 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x19 += einsum("ijka->ikja", x0) - x19 -= einsum("ijka->jkia", x0) - x20 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x20 -= einsum("ijka->ijka", x0) - x20 += einsum("ijka->jika", x0) - braee1_oo_aaaa = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - braee1_oo_aaaa += einsum("ijka->kija", x0) - braee1_oo_aaaa -= einsum("ijka->kjia", x0) - del x0 - x1 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x1 += einsum("ia,bajk->jkib", t1.bb, l2.bbbb) - x23 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x23 += einsum("ijka->ikja", x1) - x23 -= einsum("ijka->jkia", x1) - x24 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x24 += einsum("ijka->ijka", x1) - x24 -= einsum("ijka->jika", x1) - braee1_oo_bbbb = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - braee1_oo_bbbb += einsum("ijka->kija", x1) - braee1_oo_bbbb -= einsum("ijka->kjia", x1) - del x1 - x2 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x2 += einsum("ia,abjk->jikb", t1.aa, l2.abab) - x21 = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - x21 -= einsum("ijka->ijka", x2) - braee1_oo_aabb = np.zeros((nocc[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - braee1_oo_aabb -= einsum("ijka->jika", x2) - del x2 - x3 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x3 += einsum("ia,bajk->jkib", t1.bb, l2.abab) - x22 = np.zeros((nocc[0], nocc[1], nocc[1], nvir[0]), dtype=types[float]) - x22 -= einsum("ijka->ijka", x3) - braee1_oo_bbaa = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - braee1_oo_bbaa -= einsum("ijka->kjia", x3) - del x3 - x4 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x4 += einsum("ia,jb->ijab", t1.aa, t1.aa) - x4 -= einsum("ijab->jiab", t2.aaaa) - x4 += einsum("ijab->jiba", t2.aaaa) - braee1_ov_aabb = np.zeros((nocc[0], nvir[0], nocc[1], nvir[1]), dtype=types[float]) - braee1_ov_aabb -= einsum("abij,ikca->kcjb", l2.abab, x4) - x5 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x5 -= einsum("abij->jiab", l2.aaaa) - x5 += einsum("abij->jiba", l2.aaaa) - braee1_ov_aaaa = np.zeros((nocc[0], nvir[0], nocc[0], nvir[0]), dtype=types[float]) - braee1_ov_aaaa += einsum("ijab,ikcb->jakc", x4, x5) - del x4 - braee1_ov_bbaa = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - braee1_ov_bbaa -= einsum("ijab,ikca->jbkc", t2.abab, x5) - del x5 - x6 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x6 += einsum("ijab->jiab", t2.aaaa) - x6 += einsum("ijab->jiba", t2.aaaa) * -1 - x7 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x7 += einsum("abij,ikab->jk", l2.aaaa, x6) * -1 - del x6 - x7 += einsum("ij->ji", delta_oo.aa) * -1 - x7 += einsum("ai,ja->ij", l1.aa, t1.aa) - x7 += einsum("abij,kjab->ik", l2.abab, t2.abab) - braee1_ov_aaaa += einsum("ab,ij->jbia", delta_vv.aa, x7) * -1 - del x7 - x8 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x8 += einsum("ijab->jiab", t2.aaaa) * -1 - x8 += einsum("ijab->jiba", t2.aaaa) - x9 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x9 += einsum("abij,ijca->bc", l2.aaaa, x8) * -1 - del x8 - x9 += einsum("ai,ib->ab", l1.aa, t1.aa) - x9 += einsum("abij,ijcb->ac", l2.abab, t2.abab) - braee1_ov_aaaa += einsum("ij,ab->jbia", delta_oo.aa, x9) * -1 - del x9 - x10 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x10 += einsum("ia,jb->ijab", t1.bb, t1.bb) - x10 -= einsum("ijab->jiab", t2.bbbb) - x10 += einsum("ijab->jiba", t2.bbbb) - braee1_ov_bbaa -= einsum("abij,jkcb->kcia", l2.abab, x10) - x11 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x11 -= einsum("abij->jiab", l2.bbbb) - x11 += einsum("abij->jiba", l2.bbbb) - braee1_ov_bbbb = np.zeros((nocc[1], nvir[1], nocc[1], nvir[1]), dtype=types[float]) - braee1_ov_bbbb += einsum("ijab,ikcb->jakc", x10, x11) - del x10 - braee1_ov_aabb -= einsum("ijab,jkcb->iakc", t2.abab, x11) - del x11 - x12 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x12 += einsum("ijab->jiab", t2.bbbb) * -1 - x12 += einsum("ijab->jiba", t2.bbbb) - x13 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x13 += einsum("abij,ikba->jk", l2.bbbb, x12) * -1 - x14 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x14 += einsum("abij,ijca->bc", l2.bbbb, x12) * -1 - del x12 - x13 += einsum("ij->ji", delta_oo.bb) * -1 - x13 += einsum("ai,ja->ij", l1.bb, t1.bb) - x13 += einsum("abij,ikab->jk", l2.abab, t2.abab) - braee1_ov_bbbb += einsum("ab,ij->jbia", delta_vv.bb, x13) * -1 - del x13 - x14 += einsum("ai,ib->ab", l1.bb, t1.bb) - x14 += einsum("abij,ijac->bc", l2.abab, t2.abab) - braee1_ov_bbbb += einsum("ij,ab->jbia", delta_oo.bb, x14) * -1 - del x14 - x15 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x15 += einsum("ia,bcji->jbca", t1.aa, l2.aaaa) - braee1_vv_aaaa = np.zeros((nvir[0], nvir[0], nocc[0], nvir[0]), dtype=types[float]) - braee1_vv_aaaa -= einsum("iabc->acib", x15) - braee1_vv_aaaa += einsum("iabc->bcia", x15) - braee2_ov_aaaaaa = np.zeros((nocc[0], nvir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - braee2_ov_aaaaaa += einsum("ij,kabc->icjkab", delta_oo.aa, x15) - braee2_ov_aaaaaa -= einsum("ij,kabc->icjkba", delta_oo.aa, x15) - braee2_ov_aaaaaa -= einsum("ij,kabc->ickjab", delta_oo.aa, x15) - braee2_ov_aaaaaa += einsum("ij,kabc->ickjba", delta_oo.aa, x15) - del x15 - x16 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x16 += einsum("ia,bcji->jbca", t1.bb, l2.bbbb) - braee1_vv_bbbb = np.zeros((nvir[1], nvir[1], nocc[1], nvir[1]), dtype=types[float]) - braee1_vv_bbbb -= einsum("iabc->acib", x16) - braee1_vv_bbbb += einsum("iabc->bcia", x16) - braee2_ov_bbbbbb = np.zeros((nocc[1], nvir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - braee2_ov_bbbbbb += einsum("ij,kabc->icjkab", delta_oo.bb, x16) - braee2_ov_bbbbbb -= einsum("ij,kabc->icjkba", delta_oo.bb, x16) - braee2_ov_bbbbbb -= einsum("ij,kabc->ickjab", delta_oo.bb, x16) - braee2_ov_bbbbbb += einsum("ij,kabc->ickjba", delta_oo.bb, x16) - del x16 - x17 = np.zeros((nocc[1], nvir[0], nvir[0], nvir[1]), dtype=types[float]) - x17 += einsum("ia,bcij->jbac", t1.aa, l2.abab) - braee1_vv_aabb = np.zeros((nvir[0], nvir[0], nocc[1], nvir[1]), dtype=types[float]) - braee1_vv_aabb += einsum("iabc->abic", x17) - braee2_ov_aababa = np.zeros((nocc[0], nvir[0], nocc[1], nocc[0], nvir[1], nvir[0]), dtype=types[float]) - braee2_ov_aababa -= einsum("ij,kabc->ibkjca", delta_oo.aa, x17) - braee2_ov_aaabab = np.zeros((nocc[0], nvir[0], nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - braee2_ov_aaabab -= einsum("ij,kabc->ibjkac", delta_oo.aa, x17) - del x17 - x18 = np.zeros((nocc[0], nvir[0], nvir[1], nvir[1]), dtype=types[float]) - x18 += einsum("ia,bcji->jbca", t1.bb, l2.abab) - braee1_vv_bbaa = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - braee1_vv_bbaa += einsum("iabc->bcia", x18) - braee2_ov_bbbaba = np.zeros((nocc[1], nvir[1], nocc[1], nocc[0], nvir[1], nvir[0]), dtype=types[float]) - braee2_ov_bbbaba -= einsum("ij,kabc->icjkba", delta_oo.bb, x18) - braee2_ov_bbabab = np.zeros((nocc[1], nvir[1], nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - braee2_ov_bbabab -= einsum("ij,kabc->ickjab", delta_oo.bb, x18) - del x18 - x19 += einsum("ij,ak->jika", delta_oo.aa, l1.aa) - x19 -= einsum("ij,ak->kjia", delta_oo.aa, l1.aa) - braee2_ov_aaaaaa -= einsum("ab,ijkc->jbkiac", delta_vv.aa, x19) - del x19 - x20 -= einsum("ij,ak->jkia", delta_oo.aa, l1.aa) - x20 += einsum("ij,ak->kjia", delta_oo.aa, l1.aa) - braee2_ov_aaaaaa -= einsum("ab,ijkc->kbjica", delta_vv.aa, x20) - del x20 - x21 += einsum("ij,ak->jika", delta_oo.aa, l1.bb) - braee2_ov_aababa += einsum("ab,ijkc->jbkica", delta_vv.aa, x21) - braee2_ov_aaabab += einsum("ab,ijkc->jbikac", delta_vv.aa, x21) - del x21 - x22 += einsum("ij,ak->kjia", delta_oo.bb, l1.aa) - braee2_ov_bbbaba += einsum("ab,ijkc->kbjiac", delta_vv.bb, x22) - braee2_ov_bbabab += einsum("ab,ijkc->kbijca", delta_vv.bb, x22) - del x22 - x23 += einsum("ij,ak->jika", delta_oo.bb, l1.bb) - x23 -= einsum("ij,ak->kjia", delta_oo.bb, l1.bb) - braee2_ov_bbbbbb -= einsum("ab,ijkc->jbkiac", delta_vv.bb, x23) - del x23 - x24 += einsum("ij,ak->jkia", delta_oo.bb, l1.bb) - x24 -= einsum("ij,ak->kjia", delta_oo.bb, l1.bb) - braee2_ov_bbbbbb -= einsum("ab,ijkc->kbijca", delta_vv.bb, x24) - del x24 - braee1_oo_aaaa += einsum("ij,ak->jika", delta_oo.aa, l1.aa) - braee1_oo_aaaa -= einsum("ij,ak->jkia", delta_oo.aa, l1.aa) - braee1_oo_bbbb += einsum("ij,ak->jika", delta_oo.bb, l1.bb) - braee1_oo_bbbb -= einsum("ij,ak->jkia", delta_oo.bb, l1.bb) - braee1_oo_aabb += einsum("ij,ak->jika", delta_oo.aa, l1.bb) - braee1_oo_bbaa += einsum("ij,ak->jika", delta_oo.bb, l1.aa) - braee1_ov_aaaa += einsum("ai,jb->jbia", l1.aa, t1.aa) - braee1_ov_aaaa += einsum("abij,kjcb->kcia", l2.abab, t2.abab) - braee1_ov_bbbb += einsum("ai,jb->jbia", l1.bb, t1.bb) - braee1_ov_bbbb += einsum("abij,ikac->kcjb", l2.abab, t2.abab) - braee1_ov_bbaa += einsum("ai,jb->jbia", l1.aa, t1.bb) - braee1_ov_aabb += einsum("ai,jb->jbia", l1.bb, t1.aa) - braee1_vo_aaaa = np.zeros((nvir[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - braee1_vo_aaaa -= einsum("abij->ajib", l2.aaaa) - braee1_vo_aaaa += einsum("abij->bjia", l2.aaaa) - braee1_vo_bbbb = np.zeros((nvir[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - braee1_vo_bbbb -= einsum("abij->ajib", l2.bbbb) - braee1_vo_bbbb += einsum("abij->bjia", l2.bbbb) - braee1_vo_bbaa = np.zeros((nvir[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - braee1_vo_bbaa += einsum("abij->bjia", l2.abab) - braee1_vo_aabb = np.zeros((nvir[0], nocc[0], nocc[1], nvir[1]), dtype=types[float]) - braee1_vo_aabb += einsum("abij->aijb", l2.abab) - braee1_vv_aaaa += einsum("ab,ci->cbia", delta_vv.aa, l1.aa) - braee1_vv_bbbb += einsum("ab,ci->cbia", delta_vv.bb, l1.bb) - braee2_oo_aaaaaa = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - braee2_oo_aaaaaa -= einsum("ij,abkl->jilkab", delta_oo.aa, l2.aaaa) - braee2_oo_aaaaaa += einsum("ij,abkl->jilkba", delta_oo.aa, l2.aaaa) - braee2_oo_aaaaaa += einsum("ij,abkl->jlikab", delta_oo.aa, l2.aaaa) - braee2_oo_aaaaaa -= einsum("ij,abkl->jlikba", delta_oo.aa, l2.aaaa) - braee2_oo_aaaaaa -= einsum("ij,abkl->jlkiab", delta_oo.aa, l2.aaaa) - braee2_oo_aaaaaa += einsum("ij,abkl->jlkiba", delta_oo.aa, l2.aaaa) - braee2_oo_bbbbbb = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - braee2_oo_bbbbbb -= einsum("ij,abkl->jilkab", delta_oo.bb, l2.bbbb) - braee2_oo_bbbbbb += einsum("ij,abkl->jilkba", delta_oo.bb, l2.bbbb) - braee2_oo_bbbbbb += einsum("ij,abkl->jlikab", delta_oo.bb, l2.bbbb) - braee2_oo_bbbbbb -= einsum("ij,abkl->jlikba", delta_oo.bb, l2.bbbb) - braee2_oo_bbbbbb -= einsum("ij,abkl->jlkiab", delta_oo.bb, l2.bbbb) - braee2_oo_bbbbbb += einsum("ij,abkl->jlkiba", delta_oo.bb, l2.bbbb) - braee2_oo_aababa = np.zeros((nocc[0], nocc[0], nocc[1], nocc[0], nvir[1], nvir[0]), dtype=types[float]) - braee2_oo_aababa += einsum("ij,abkl->jilkba", delta_oo.aa, l2.abab) - braee2_oo_aababa -= einsum("ij,abkl->jkliba", delta_oo.aa, l2.abab) - braee2_oo_bbabab = np.zeros((nocc[1], nocc[1], nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - braee2_oo_bbabab += einsum("ij,abkl->jiklab", delta_oo.bb, l2.abab) - braee2_oo_bbabab -= einsum("ij,abkl->jlkiab", delta_oo.bb, l2.abab) - braee2_oo_aaabab = np.zeros((nocc[0], nocc[0], nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - braee2_oo_aaabab += einsum("ij,abkl->jiklab", delta_oo.aa, l2.abab) - braee2_oo_aaabab -= einsum("ij,abkl->jkilab", delta_oo.aa, l2.abab) - braee2_oo_bbbaba = np.zeros((nocc[1], nocc[1], nocc[1], nocc[0], nvir[1], nvir[0]), dtype=types[float]) - braee2_oo_bbbaba += einsum("ij,abkl->jilkba", delta_oo.bb, l2.abab) - braee2_oo_bbbaba -= einsum("ij,abkl->jlikba", delta_oo.bb, l2.abab) - braee2_oo_aabbbb = np.zeros((nocc[0], nocc[0], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - braee2_oo_aabbbb -= einsum("ij,abkl->jilkab", delta_oo.aa, l2.bbbb) - braee2_oo_aabbbb += einsum("ij,abkl->jilkba", delta_oo.aa, l2.bbbb) - braee2_oo_bbaaaa = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - braee2_oo_bbaaaa -= einsum("ij,abkl->jilkab", delta_oo.bb, l2.aaaa) - braee2_oo_bbaaaa += einsum("ij,abkl->jilkba", delta_oo.bb, l2.aaaa) - braee2_ov_aaaaaa -= einsum("ia,bcjk->iakjbc", t1.aa, l2.aaaa) - braee2_ov_aaaaaa += einsum("ia,bcjk->iakjcb", t1.aa, l2.aaaa) - braee2_ov_aababa += einsum("ia,bcjk->iakjcb", t1.aa, l2.abab) - braee2_ov_aaabab += einsum("ia,bcjk->iajkbc", t1.aa, l2.abab) - braee2_ov_aabbbb = np.zeros((nocc[0], nvir[0], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - braee2_ov_aabbbb -= einsum("ia,bcjk->iakjbc", t1.aa, l2.bbbb) - braee2_ov_aabbbb += einsum("ia,bcjk->iakjcb", t1.aa, l2.bbbb) - braee2_ov_bbaaaa = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - braee2_ov_bbaaaa -= einsum("ia,bcjk->iakjbc", t1.bb, l2.aaaa) - braee2_ov_bbaaaa += einsum("ia,bcjk->iakjcb", t1.bb, l2.aaaa) - braee2_ov_bbbaba += einsum("ia,bcjk->iakjcb", t1.bb, l2.abab) - braee2_ov_bbabab += einsum("ia,bcjk->iajkbc", t1.bb, l2.abab) - braee2_ov_bbbbbb -= einsum("ia,bcjk->iakjbc", t1.bb, l2.bbbb) - braee2_ov_bbbbbb += einsum("ia,bcjk->iakjcb", t1.bb, l2.bbbb) - braee2_vv_aaaaaa = np.zeros((nvir[0], nvir[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - braee2_vv_aaaaaa -= einsum("ab,cdij->cbjiad", delta_vv.aa, l2.aaaa) - braee2_vv_aaaaaa += einsum("ab,cdij->dbjiac", delta_vv.aa, l2.aaaa) - braee2_vv_aaaaaa += einsum("ab,cdij->cbjida", delta_vv.aa, l2.aaaa) - braee2_vv_aaaaaa -= einsum("ab,cdij->dbjica", delta_vv.aa, l2.aaaa) - braee2_vv_bbbbbb = np.zeros((nvir[1], nvir[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - braee2_vv_bbbbbb -= einsum("ab,cdij->cbjiad", delta_vv.bb, l2.bbbb) - braee2_vv_bbbbbb += einsum("ab,cdij->dbjiac", delta_vv.bb, l2.bbbb) - braee2_vv_bbbbbb += einsum("ab,cdij->cbjida", delta_vv.bb, l2.bbbb) - braee2_vv_bbbbbb -= einsum("ab,cdij->dbjica", delta_vv.bb, l2.bbbb) - braee2_vv_aababa = np.zeros((nvir[0], nvir[0], nocc[1], nocc[0], nvir[1], nvir[0]), dtype=types[float]) - braee2_vv_aababa += einsum("ab,cdij->cbjida", delta_vv.aa, l2.abab) - braee2_vv_bbabab = np.zeros((nvir[1], nvir[1], nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - braee2_vv_bbabab += einsum("ab,cdij->dbijca", delta_vv.bb, l2.abab) - braee2_vv_aaabab = np.zeros((nvir[0], nvir[0], nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - braee2_vv_aaabab += einsum("ab,cdij->cbijad", delta_vv.aa, l2.abab) - braee2_vv_bbbaba = np.zeros((nvir[1], nvir[1], nocc[1], nocc[0], nvir[1], nvir[0]), dtype=types[float]) - braee2_vv_bbbaba += einsum("ab,cdij->dbjiac", delta_vv.bb, l2.abab) - - braee1_oo_abab = np.zeros((nocc[0], nocc[1], nocc[0], nvir[1]), dtype=types[float]) - braee1_oo_baba = np.zeros((nocc[1], nocc[0], nocc[1], nvir[0]), dtype=types[float]) - braee1_ov_abab = np.zeros((nocc[0], nvir[1], nocc[0], nvir[1]), dtype=types[float]) - braee1_ov_baba = np.zeros((nocc[1], nvir[0], nocc[1], nvir[0]), dtype=types[float]) - braee1_vo_abab = np.zeros((nvir[0], nocc[1], nocc[0], nvir[1]), dtype=types[float]) - braee1_vo_baba = np.zeros((nvir[1], nocc[0], nocc[1], nvir[0]), dtype=types[float]) - braee1_vv_abab = np.zeros((nvir[0], nvir[1], nocc[0], nvir[1]), dtype=types[float]) - braee1_vv_baba = np.zeros((nvir[1], nvir[0], nocc[1], nvir[0]), dtype=types[float]) - braee2_vo_aaaaaa = np.zeros((nvir[0], nocc[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - braee2_vo_aaabab = np.zeros((nvir[0], nocc[0], nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - braee2_vo_aababa = np.zeros((nvir[0], nocc[0], nocc[1], nocc[0], nvir[1], nvir[0]), dtype=types[float]) - braee2_vo_aabbbb = np.zeros((nvir[0], nocc[0], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - braee2_vo_bbaaaa = np.zeros((nvir[1], nocc[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - braee2_vo_bbabab = np.zeros((nvir[1], nocc[1], nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - braee2_vo_bbbaba = np.zeros((nvir[1], nocc[1], nocc[1], nocc[0], nvir[1], nvir[0]), dtype=types[float]) - braee2_vo_bbbbbb = np.zeros((nvir[1], nocc[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - braee2_vv_aabbbb = np.zeros((nvir[0], nvir[0], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - braee2_vv_bbaaaa = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - - braee1_aaaa = np.concatenate([np.concatenate([braee1_oo_aaaa, braee1_ov_aaaa], axis=1), np.concatenate([braee1_vo_aaaa, braee1_vv_aaaa], axis=1)], axis=0) - braee1_abab = np.concatenate([np.concatenate([braee1_oo_abab, braee1_ov_abab], axis=1), np.concatenate([braee1_vo_abab, braee1_vv_abab], axis=1)], axis=0) - braee1_baba = np.concatenate([np.concatenate([braee1_oo_baba, braee1_ov_baba], axis=1), np.concatenate([braee1_vo_baba, braee1_vv_baba], axis=1)], axis=0) - braee1_bbbb = np.concatenate([np.concatenate([braee1_oo_bbbb, braee1_ov_bbbb], axis=1), np.concatenate([braee1_vo_bbbb, braee1_vv_bbbb], axis=1)], axis=0) - braee2_aaaaaa = np.concatenate([np.concatenate([braee2_oo_aaaaaa, braee2_ov_aaaaaa], axis=1), np.concatenate([braee2_vo_aaaaaa, braee2_vv_aaaaaa], axis=1)], axis=0) - braee2_aaabab = np.concatenate([np.concatenate([braee2_oo_aaabab, braee2_ov_aaabab], axis=1), np.concatenate([braee2_vo_aaabab, braee2_vv_aaabab], axis=1)], axis=0) - braee2_aababa = np.concatenate([np.concatenate([braee2_oo_aababa, braee2_ov_aababa], axis=1), np.concatenate([braee2_vo_aababa, braee2_vv_aababa], axis=1)], axis=0) - braee2_aabbbb = np.concatenate([np.concatenate([braee2_oo_aabbbb, braee2_ov_aabbbb], axis=1), np.concatenate([braee2_vo_aabbbb, braee2_vv_aabbbb], axis=1)], axis=0) - braee2_bbaaaa = np.concatenate([np.concatenate([braee2_oo_bbaaaa, braee2_ov_bbaaaa], axis=1), np.concatenate([braee2_vo_bbaaaa, braee2_vv_bbaaaa], axis=1)], axis=0) - braee2_bbabab = np.concatenate([np.concatenate([braee2_oo_bbabab, braee2_ov_bbabab], axis=1), np.concatenate([braee2_vo_bbabab, braee2_vv_bbabab], axis=1)], axis=0) - braee2_bbbaba = np.concatenate([np.concatenate([braee2_oo_bbbaba, braee2_ov_bbbaba], axis=1), np.concatenate([braee2_vo_bbbaba, braee2_vv_bbbaba], axis=1)], axis=0) - braee2_bbbbbb = np.concatenate([np.concatenate([braee2_oo_bbbbbb, braee2_ov_bbbbbb], axis=1), np.concatenate([braee2_vo_bbbbbb, braee2_vv_bbbbbb], axis=1)], axis=0) - - braee1 = Namespace(aaaa=braee1_aaaa, abab=braee1_abab, baba=braee1_baba, bbbb=braee1_bbbb) - braee2 = Namespace(aaaaaa=braee2_aaaaaa, aaabab=braee2_aaabab, aababa=braee2_aababa, aabbbb=braee2_aabbbb, bbaaaa=braee2_bbaaaa, bbabab=braee2_bbabab, bbbaba=braee2_bbbaba, bbbbbb=braee2_bbbbbb) - - braee1 = Namespace(**{key: val/2 for key, val in braee1.__dict__.items()}) - braee2 = Namespace(**{key: val/2 for key, val in braee2.__dict__.items()}) - - return braee1, braee2 diff --git a/ebcc/codegen/bootstrap_CCSD.py b/ebcc/codegen/bootstrap_CCSD.py index 74ea5c77..bef1eeac 100644 --- a/ebcc/codegen/bootstrap_CCSD.py +++ b/ebcc/codegen/bootstrap_CCSD.py @@ -465,12 +465,6 @@ **kwargs, ) -# Temporary hardcoded parts until we have a proper way to handle them -if spin == "ghf" or spin == "uhf": - with open(f"_{spin[0].upper()}CCSD_moments.dat", "r") as f: - for line in f.readlines(): - codegen.write(line.rstrip()) - for codegen in code_generators.values(): codegen.postamble() codegen.stdout.close() From 5a92a110f86e083994c10817b2dbd5732cd79aca Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Fri, 9 Aug 2024 22:23:35 +0100 Subject: [PATCH 070/168] Add CCSDT for now bc of recursion issue --- ebcc/codegen/GCCSDT.py | 1692 ++++++++ ebcc/codegen/RCCSDT.py | 6763 +++++++++++++++++++++++++++++ ebcc/codegen/UCCSDT.py | 9150 ++++++++++++++++++++++++++++++++++++++++ 3 files changed, 17605 insertions(+) create mode 100644 ebcc/codegen/GCCSDT.py create mode 100644 ebcc/codegen/RCCSDT.py create mode 100644 ebcc/codegen/UCCSDT.py diff --git a/ebcc/codegen/GCCSDT.py b/ebcc/codegen/GCCSDT.py new file mode 100644 index 00000000..f7c26061 --- /dev/null +++ b/ebcc/codegen/GCCSDT.py @@ -0,0 +1,1692 @@ +# Code generated for ebcc. + +from ebcc import numpy as np +from ebcc.util import pack_2e, einsum, Namespace +from ebcc.precision import types + +def energy(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, t3=None, **kwargs): + # energy + e_cc = 0 + e_cc += einsum(f.ov, (0, 1), t1, (0, 1), ()) + x0 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x0 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) + x0 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) * 2.0 + e_cc += einsum(v.oovv, (0, 1, 2, 3), x0, (0, 1, 2, 3), ()) * 0.25 + del x0 + + return e_cc + +def update_amps(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, t3=None, **kwargs): + # T amplitudes + t1new = np.zeros((nocc, nvir), dtype=types[float]) + t1new += einsum(f.vv, (0, 1), t1, (2, 1), (2, 0)) + t1new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 0, 1, 5, 2, 3), (4, 5)) * 0.25 + t1new += einsum(f.ov, (0, 1), (0, 1)) + t1new += einsum(t1, (0, 1), v.ovov, (2, 1, 0, 3), (2, 3)) * -1.0 + t2new = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + t2new += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) + x0 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x0 += einsum(t1, (0, 1), v.oovv, (2, 3, 4, 1), (0, 2, 3, 4)) + x1 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x1 += einsum(v.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 + x1 += einsum(x0, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + t1new += einsum(t2, (0, 1, 2, 3), x1, (4, 1, 0, 3), (4, 2)) * -0.5 + del x1 + x2 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x2 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) + x2 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) * 2.0 + t1new += einsum(v.ovvv, (0, 1, 2, 3), x2, (0, 4, 2, 3), (4, 1)) * 0.5 + x3 = np.zeros((nocc, nvir), dtype=types[float]) + x3 += einsum(t1, (0, 1), v.oovv, (2, 0, 3, 1), (2, 3)) + x4 = np.zeros((nocc, nvir), dtype=types[float]) + x4 += einsum(f.ov, (0, 1), (0, 1)) + x4 += einsum(x3, (0, 1), (0, 1)) + del x3 + t1new += einsum(x4, (0, 1), t2, (2, 0, 3, 1), (2, 3)) + t2new += einsum(x4, (0, 1), t3, (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) + x5 = np.zeros((nocc, nocc), dtype=types[float]) + x5 += einsum(f.ov, (0, 1), t1, (2, 1), (0, 2)) + x6 = np.zeros((nocc, nocc), dtype=types[float]) + x6 += einsum(t1, (0, 1), v.ooov, (2, 0, 3, 1), (2, 3)) + x7 = np.zeros((nocc, nocc), dtype=types[float]) + x7 += einsum(v.oovv, (0, 1, 2, 3), x2, (1, 4, 2, 3), (4, 0)) * -1.0 + x8 = np.zeros((nocc, nocc), dtype=types[float]) + x8 += einsum(f.oo, (0, 1), (0, 1)) * 2.0 + x8 += einsum(x5, (0, 1), (0, 1)) * 2.0 + x8 += einsum(x6, (0, 1), (0, 1)) * 2.0 + x8 += einsum(x7, (0, 1), (1, 0)) + t1new += einsum(t1, (0, 1), x8, (0, 2), (2, 1)) * -0.5 + del x8 + x9 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x9 += einsum(t1, (0, 1), v.ovvv, (2, 1, 3, 4), (0, 2, 3, 4)) + x10 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x10 += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 0, 1, 5, 6, 3), (4, 2, 5, 6)) + x11 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x11 += einsum(x0, (0, 1, 2, 3), t3, (4, 2, 1, 5, 6, 3), (0, 4, 5, 6)) + x12 = np.zeros((nocc, nocc), dtype=types[float]) + x12 += einsum(t1, (0, 1), x4, (2, 1), (2, 0)) + x13 = np.zeros((nocc, nocc), dtype=types[float]) + x13 += einsum(f.oo, (0, 1), (0, 1)) + x13 += einsum(x12, (0, 1), (1, 0)) + del x12 + x14 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x14 += einsum(x13, (0, 1), t2, (2, 1, 3, 4), (2, 0, 3, 4)) * -1.0 + del x13 + x15 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x15 += einsum(t1, (0, 1), v.ooov, (2, 3, 4, 1), (0, 2, 3, 4)) + x16 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x16 += einsum(x15, (0, 1, 2, 3), x2, (1, 2, 4, 5), (0, 3, 4, 5)) * 0.5 + x17 = np.zeros((nocc, nocc), dtype=types[float]) + x17 += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 2, 3), (0, 4)) + x18 = np.zeros((nocc, nocc), dtype=types[float]) + x18 += einsum(x6, (0, 1), (0, 1)) + x18 += einsum(x17, (0, 1), (1, 0)) * 0.5 + del x17 + x19 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x19 += einsum(x18, (0, 1), t2, (2, 0, 3, 4), (2, 1, 3, 4)) * -1.0 + del x18 + x20 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x20 += einsum(x9, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x9 + x20 += einsum(x10, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.5 + del x10 + x20 += einsum(x11, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.5 + del x11 + x20 += einsum(x14, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x14 + x20 += einsum(x16, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x16 + x20 += einsum(x19, (0, 1, 2, 3), (0, 1, 3, 2)) + del x19 + t2new += einsum(x20, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + t2new += einsum(x20, (0, 1, 2, 3), (1, 0, 2, 3)) + del x20 + x21 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x21 += einsum(t1, (0, 1), v.ooov, (2, 3, 0, 4), (2, 3, 1, 4)) + x22 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x22 += einsum(f.vv, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4)) + x23 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x23 += einsum(x21, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x21 + x23 += einsum(x22, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x22 + t2new += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + t2new += einsum(x23, (0, 1, 2, 3), (0, 1, 3, 2)) + del x23 + x24 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x24 += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 0, 6, 2, 3), (4, 5, 6, 1)) + x25 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x25 += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 3), (0, 4, 2, 5)) + x26 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x26 += einsum(t2, (0, 1, 2, 3), x25, (4, 1, 5, 3), (0, 4, 2, 5)) + x27 = np.zeros((nvir, nvir), dtype=types[float]) + x27 += einsum(t1, (0, 1), v.ovvv, (0, 2, 3, 1), (2, 3)) + x28 = np.zeros((nvir, nvir), dtype=types[float]) + x28 += einsum(t2, (0, 1, 2, 3), v.oovv, (0, 1, 4, 3), (2, 4)) + x29 = np.zeros((nvir, nvir), dtype=types[float]) + x29 += einsum(x27, (0, 1), (0, 1)) + x29 += einsum(x28, (0, 1), (0, 1)) * 0.5 + del x28 + x30 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x30 += einsum(x29, (0, 1), t2, (2, 3, 4, 1), (2, 3, 4, 0)) * -1.0 + del x29 + x31 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x31 += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 1, 6, 2, 3), (4, 5, 0, 6)) + x32 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x32 += einsum(v.ovvv, (0, 1, 2, 3), x2, (4, 5, 2, 3), (0, 4, 5, 1)) * 0.5 + x33 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x33 += einsum(x4, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4)) * -1.0 + x34 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x34 += einsum(x31, (0, 1, 2, 3), (2, 1, 0, 3)) * -0.5 + x34 += einsum(x32, (0, 1, 2, 3), (0, 2, 1, 3)) + del x32 + x34 += einsum(x33, (0, 1, 2, 3), (2, 1, 0, 3)) + del x33 + x35 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x35 += einsum(t1, (0, 1), x34, (0, 2, 3, 4), (2, 3, 4, 1)) + del x34 + x36 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x36 += einsum(x24, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 + del x24 + x36 += einsum(x26, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x26 + x36 += einsum(x30, (0, 1, 2, 3), (1, 0, 2, 3)) + del x30 + x36 += einsum(x35, (0, 1, 2, 3), (1, 0, 3, 2)) + del x35 + t2new += einsum(x36, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + t2new += einsum(x36, (0, 1, 2, 3), (0, 1, 3, 2)) + del x36 + x37 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x37 += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 3, 1, 5), (0, 4, 2, 5)) + x38 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x38 += einsum(t1, (0, 1), v.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) + x39 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x39 += einsum(t2, (0, 1, 2, 3), x38, (4, 1, 5, 3), (4, 0, 2, 5)) * -1.0 + x40 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x40 += einsum(t1, (0, 1), v.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) + x41 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x41 += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 1, 5, 3), (0, 4, 5, 2)) + x42 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x42 += einsum(t2, (0, 1, 2, 3), x0, (4, 1, 5, 3), (4, 0, 5, 2)) + x43 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x43 += einsum(x40, (0, 1, 2, 3), (0, 1, 2, 3)) + x43 += einsum(x41, (0, 1, 2, 3), (0, 1, 2, 3)) + x43 += einsum(x42, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x44 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x44 += einsum(t1, (0, 1), x43, (2, 0, 3, 4), (2, 3, 4, 1)) + del x43 + x45 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x45 += einsum(x37, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x37 + x45 += einsum(x39, (0, 1, 2, 3), (0, 1, 2, 3)) + del x39 + x45 += einsum(x44, (0, 1, 2, 3), (0, 1, 3, 2)) + del x44 + t2new += einsum(x45, (0, 1, 2, 3), (0, 1, 2, 3)) + t2new += einsum(x45, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + t2new += einsum(x45, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + t2new += einsum(x45, (0, 1, 2, 3), (1, 0, 3, 2)) + del x45 + x46 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x46 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 + x46 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) + t2new += einsum(v.vvvv, (0, 1, 2, 3), x46, (4, 5, 2, 3), (5, 4, 0, 1)) * -1.0 + del x46 + x47 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x47 += einsum(v.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x47 += einsum(v.oovv, (0, 1, 2, 3), x2, (4, 5, 2, 3), (0, 1, 5, 4)) * -1.0 + t2new += einsum(x2, (0, 1, 2, 3), x47, (0, 1, 4, 5), (4, 5, 3, 2)) * -0.25 + del x47 + x48 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x48 += einsum(x15, (0, 1, 2, 3), t3, (4, 1, 2, 5, 6, 7), (0, 4, 3, 5, 6, 7)) + t3new = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + t3new += einsum(x48, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 0.5 + t3new += einsum(x48, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -0.5 + t3new += einsum(x48, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -0.5 + t3new += einsum(x48, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * 0.5 + t3new += einsum(x48, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 0.5 + t3new += einsum(x48, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -0.5 + del x48 + x49 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x49 += einsum(v.ovov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 1), (4, 5, 0, 6, 7, 3)) + x50 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x50 += einsum(v.ooov, (0, 1, 2, 3), x2, (0, 1, 4, 5), (2, 3, 4, 5)) + x51 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x51 += einsum(t2, (0, 1, 2, 3), x50, (4, 3, 5, 6), (0, 1, 4, 2, 6, 5)) * 0.5 + del x50 + x52 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x52 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 3, 1)) * 2.0 + x52 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x53 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x53 += einsum(v.ovvv, (0, 1, 2, 3), x52, (4, 5, 2, 3), (0, 4, 5, 1)) + x54 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x54 += einsum(t2, (0, 1, 2, 3), x53, (1, 4, 5, 6), (0, 5, 4, 2, 3, 6)) * 0.5 + del x53 + x55 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x55 += einsum(x49, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 + del x49 + x55 += einsum(x51, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -1.0 + del x51 + x55 += einsum(x54, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) + del x54 + t3new += einsum(x55, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 + t3new += einsum(x55, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) + t3new += einsum(x55, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -1.0 + t3new += einsum(x55, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) + t3new += einsum(x55, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + t3new += einsum(x55, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) + t3new += einsum(x55, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) + t3new += einsum(x55, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -1.0 + t3new += einsum(x55, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) + del x55 + x56 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x56 += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 0, 1, 5, 6, 3), (4, 5, 6, 2)) + x57 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x57 += einsum(x4, (0, 1), t2, (2, 0, 3, 4), (2, 3, 4, 1)) * -1.0 + del x4 + x58 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x58 += einsum(v.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) + x58 += einsum(x56, (0, 1, 2, 3), (0, 2, 1, 3)) * 0.5 + del x56 + x58 += einsum(x57, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + del x57 + x59 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x59 += einsum(t2, (0, 1, 2, 3), x58, (4, 5, 6, 3), (0, 1, 4, 2, 5, 6)) * -1.0 + del x58 + x60 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x60 += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (4, 5, 0, 2, 6, 7)) + x61 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x61 += einsum(v.oovv, (0, 1, 2, 3), x52, (4, 5, 2, 3), (0, 1, 4, 5)) + del x52 + x62 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x62 += einsum(t2, (0, 1, 2, 3), x61, (4, 1, 5, 6), (0, 6, 5, 4, 2, 3)) * -0.5 + x63 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x63 += einsum(x60, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 + del x60 + x63 += einsum(x62, (0, 1, 2, 3, 4, 5), (2, 1, 3, 0, 5, 4)) * -1.0 + del x62 + x64 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x64 += einsum(t1, (0, 1), x63, (2, 3, 0, 4, 5, 6), (2, 3, 4, 5, 6, 1)) + del x63 + x65 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x65 += einsum(x59, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * -1.0 + del x59 + x65 += einsum(x64, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -1.0 + del x64 + t3new += einsum(x65, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 + t3new += einsum(x65, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) + t3new += einsum(x65, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -1.0 + t3new += einsum(x65, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) + t3new += einsum(x65, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -1.0 + t3new += einsum(x65, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) + t3new += einsum(x65, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) + t3new += einsum(x65, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -1.0 + t3new += einsum(x65, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) + del x65 + x66 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x66 += einsum(x6, (0, 1), t3, (2, 3, 0, 4, 5, 6), (2, 3, 1, 4, 5, 6)) * -1.0 + del x6 + x67 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x67 += einsum(x61, (0, 1, 2, 3), t3, (4, 1, 0, 5, 6, 7), (4, 3, 2, 5, 6, 7)) * -0.25 + del x61 + x68 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x68 += einsum(x66, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) + del x66 + x68 += einsum(x67, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -1.0 + del x67 + t3new += einsum(x68, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) + t3new += einsum(x68, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -1.0 + t3new += einsum(x68, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * -1.0 + del x68 + x69 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x69 += einsum(t2, (0, 1, 2, 3), x41, (4, 1, 5, 6), (0, 4, 5, 2, 3, 6)) + del x41 + x70 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x70 += einsum(x40, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + del x40 + x70 += einsum(x42, (0, 1, 2, 3), (0, 1, 2, 3)) + del x42 + x71 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x71 += einsum(t2, (0, 1, 2, 3), x70, (4, 5, 1, 6), (0, 4, 5, 2, 3, 6)) * -1.0 + del x70 + x72 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x72 += einsum(x69, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 + del x69 + x72 += einsum(x71, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) + del x71 + t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 + t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) + t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 + t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -1.0 + t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * -1.0 + t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) + t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 + t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) + t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) * -1.0 + t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) + t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) + t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -1.0 + t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) + t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -1.0 + t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) + t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * -1.0 + del x72 + x73 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x73 += einsum(t1, (0, 1), x15, (2, 0, 3, 4), (2, 3, 4, 1)) * -1.0 + del x15 + x74 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x74 += einsum(t2, (0, 1, 2, 3), x73, (4, 1, 5, 6), (4, 0, 5, 6, 2, 3)) * -1.0 + del x73 + t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) + t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -1.0 + t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) + t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) + t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -1.0 + t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * -1.0 + t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) + t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -1.0 + t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) + t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 + t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) + t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) + t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -1.0 + t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) + t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -1.0 + t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) + t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -1.0 + del x74 + x75 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x75 += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 2, 3), (4, 5, 6, 0, 7, 1)) + x76 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x76 += einsum(t1, (0, 1), x75, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) + del x75 + t3new += einsum(x76, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 0.5 + t3new += einsum(x76, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -0.5 + t3new += einsum(x76, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -0.5 + t3new += einsum(x76, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * 0.5 + t3new += einsum(x76, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 0.5 + t3new += einsum(x76, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -0.5 + del x76 + x77 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x77 += einsum(x38, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (0, 4, 5, 6, 7, 2)) * -1.0 + x78 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x78 += einsum(x0, (0, 1, 2, 3), x2, (1, 2, 4, 5), (0, 3, 4, 5)) + del x0 + x79 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x79 += einsum(t2, (0, 1, 2, 3), x78, (4, 3, 5, 6), (0, 1, 4, 2, 6, 5)) * 0.5 + del x78 + x80 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x80 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x80 += einsum(x31, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 + del x31 + x81 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x81 += einsum(t2, (0, 1, 2, 3), x80, (4, 5, 1, 6), (0, 4, 5, 2, 3, 6)) * -1.0 + del x80 + x82 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x82 += einsum(x77, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) + del x77 + x82 += einsum(x79, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) + del x79 + x82 += einsum(x81, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 + del x81 + t3new += einsum(x82, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 + t3new += einsum(x82, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) + t3new += einsum(x82, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -1.0 + t3new += einsum(x82, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) * -1.0 + t3new += einsum(x82, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) + t3new += einsum(x82, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 + t3new += einsum(x82, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) + t3new += einsum(x82, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -1.0 + t3new += einsum(x82, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) + del x82 + x83 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x83 += einsum(x27, (0, 1), t3, (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 6, 0)) * -1.0 + del x27 + x84 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) + x84 += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 2, 3), (4, 5, 6, 0, 1, 7)) + x85 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x85 += einsum(x2, (0, 1, 2, 3), x84, (4, 5, 6, 0, 1, 7), (4, 5, 6, 2, 3, 7)) * 0.25 + del x84 + x86 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x86 += einsum(x83, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 + del x83 + x86 += einsum(x85, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 + del x85 + t3new += einsum(x86, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + t3new += einsum(x86, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 + t3new += einsum(x86, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) + del x86 + x87 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x87 += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 3), (0, 2, 4, 5)) + x88 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x88 += einsum(t2, (0, 1, 2, 3), x87, (4, 5, 6, 3), (0, 1, 4, 2, 5, 6)) + del x87 + x89 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x89 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 + x89 += einsum(x25, (0, 1, 2, 3), (0, 1, 2, 3)) + del x25 + x90 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x90 += einsum(t2, (0, 1, 2, 3), x89, (4, 5, 6, 3), (0, 1, 4, 5, 2, 6)) * -1.0 + del x89 + x91 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x91 += einsum(t1, (0, 1), x90, (2, 3, 4, 0, 5, 6), (3, 2, 4, 5, 6, 1)) * -1.0 + del x90 + x92 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x92 += einsum(x88, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x88 + x92 += einsum(x91, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -1.0 + del x91 + t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 + t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 + t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) + t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) + t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -1.0 + t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 + t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) + t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -1.0 + t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 + t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) + t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -1.0 + t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) + t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) + t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * -1.0 + t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -1.0 + t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) + del x92 + x93 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x93 += einsum(t2, (0, 1, 2, 3), x38, (4, 5, 6, 3), (4, 0, 1, 5, 2, 6)) * -1.0 + del x38 + x94 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x94 += einsum(t1, (0, 1), x93, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) + del x93 + t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) + t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -1.0 + t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) + t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) + t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -1.0 + t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) + t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * -1.0 + t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 + t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) + t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) + t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -1.0 + t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) * -1.0 + t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) + t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) + t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -1.0 + t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 + t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) + del x94 + x95 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x95 += einsum(v.vvvv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 2, 3), (4, 5, 6, 7, 0, 1)) + x96 = np.zeros((nvir, nvir), dtype=types[float]) + x96 += einsum(f.ov, (0, 1), t1, (0, 2), (1, 2)) + x97 = np.zeros((nvir, nvir), dtype=types[float]) + x97 += einsum(v.oovv, (0, 1, 2, 3), x2, (0, 1, 3, 4), (4, 2)) * -1.0 + del x2 + x98 = np.zeros((nvir, nvir), dtype=types[float]) + x98 += einsum(f.vv, (0, 1), (0, 1)) * -2.0 + x98 += einsum(x96, (0, 1), (0, 1)) * 2.0 + del x96 + x98 += einsum(x97, (0, 1), (1, 0)) + del x97 + x99 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x99 += einsum(x98, (0, 1), t3, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 6, 1)) * 0.5 + del x98 + x100 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x100 += einsum(x95, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -0.5 + del x95 + x100 += einsum(x99, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -1.0 + del x99 + t3new += einsum(x100, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + t3new += einsum(x100, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 + t3new += einsum(x100, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) + del x100 + x101 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x101 += einsum(t1, (0, 1), v.oooo, (2, 3, 4, 0), (2, 3, 4, 1)) + x102 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x102 += einsum(t2, (0, 1, 2, 3), x101, (4, 5, 1, 6), (0, 4, 5, 6, 2, 3)) * -1.0 + del x101 + x103 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x103 += einsum(t1, (0, 1), v.vvvv, (2, 3, 4, 1), (0, 2, 3, 4)) + x104 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x104 += einsum(t2, (0, 1, 2, 3), x103, (4, 5, 6, 3), (4, 0, 1, 2, 5, 6)) * -1.0 + del x103 + x105 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x105 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) + x105 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 3, 1)) * -0.99999999999999 + x106 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x106 += einsum(v.oovv, (0, 1, 2, 3), x105, (1, 4, 3, 5), (0, 4, 2, 5)) + del x105 + x107 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x107 += einsum(x106, (0, 1, 2, 3), t3, (4, 5, 0, 6, 7, 2), (4, 5, 1, 6, 7, 3)) * 1.00000000000001 + del x106 + x108 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x108 += einsum(x102, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + del x102 + x108 += einsum(x104, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + del x104 + x108 += einsum(x107, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 + del x107 + t3new += einsum(x108, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 + t3new += einsum(x108, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) + t3new += einsum(x108, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -1.0 + t3new += einsum(x108, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) * -1.0 + t3new += einsum(x108, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) + t3new += einsum(x108, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * -1.0 + t3new += einsum(x108, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) + t3new += einsum(x108, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -1.0 + t3new += einsum(x108, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) + del x108 + x109 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x109 += einsum(v.oooo, (0, 1, 2, 3), t3, (4, 2, 3, 5, 6, 7), (4, 0, 1, 5, 6, 7)) + x110 = np.zeros((nocc, nocc), dtype=types[float]) + x110 += einsum(f.oo, (0, 1), (0, 1)) * 2.0 + x110 += einsum(x5, (0, 1), (0, 1)) * 2.0 + del x5 + x110 += einsum(x7, (0, 1), (1, 0)) + del x7 + x111 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x111 += einsum(x110, (0, 1), t3, (2, 3, 0, 4, 5, 6), (2, 3, 1, 4, 5, 6)) * 0.5 + del x110 + x112 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x112 += einsum(x109, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -0.5 + del x109 + x112 += einsum(x111, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * -1.0 + del x111 + t3new += einsum(x112, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) + t3new += einsum(x112, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) + t3new += einsum(x112, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * -1.0 + del x112 + + return {"t1new": t1new, "t2new": t2new, "t3new": t3new} + +def update_lams(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, t3=None, l1=None, l2=None, l3=None, **kwargs): + # L amplitudes + l1new = np.zeros((nvir, nocc), dtype=types[float]) + l1new += einsum(l2, (0, 1, 2, 3), v.ovvv, (3, 4, 0, 1), (4, 2)) * -0.5 + l1new += einsum(f.ov, (0, 1), (1, 0)) + l1new += einsum(l1, (0, 1), v.ovov, (2, 0, 1, 3), (3, 2)) * -1.0 + l2new = np.zeros((nvir, nvir, nocc, nocc), dtype=types[float]) + l2new += einsum(v.oovv, (0, 1, 2, 3), (2, 3, 0, 1)) + l2new += einsum(l2, (0, 1, 2, 3), v.vvvv, (4, 5, 0, 1), (4, 5, 2, 3)) * 0.5 + x0 = np.zeros((nocc, nocc), dtype=types[float]) + x0 += einsum(l1, (0, 1), t1, (2, 0), (1, 2)) + x1 = np.zeros((nocc, nvir), dtype=types[float]) + x1 += einsum(t1, (0, 1), v.oovv, (2, 0, 3, 1), (2, 3)) + l1new += einsum(x0, (0, 1), x1, (1, 2), (2, 0)) * -1.0 + l3new = np.zeros((nvir, nvir, nvir, nocc, nocc, nocc), dtype=types[float]) + l3new += einsum(x1, (0, 1), l2, (2, 3, 4, 5), (2, 3, 1, 4, 5, 0)) + l3new += einsum(x1, (0, 1), l2, (2, 3, 4, 5), (2, 1, 3, 4, 5, 0)) * -1.0 + l3new += einsum(x1, (0, 1), l2, (2, 3, 4, 5), (1, 2, 3, 4, 5, 0)) + l3new += einsum(x1, (0, 1), l2, (2, 3, 4, 5), (2, 3, 1, 4, 0, 5)) * -1.0 + l3new += einsum(x1, (0, 1), l2, (2, 3, 4, 5), (2, 1, 3, 4, 0, 5)) + l3new += einsum(x1, (0, 1), l2, (2, 3, 4, 5), (1, 2, 3, 4, 0, 5)) * -1.0 + l3new += einsum(x1, (0, 1), l2, (2, 3, 4, 5), (2, 3, 1, 0, 4, 5)) + l3new += einsum(x1, (0, 1), l2, (2, 3, 4, 5), (2, 1, 3, 0, 4, 5)) * -1.0 + l3new += einsum(x1, (0, 1), l2, (2, 3, 4, 5), (1, 2, 3, 0, 4, 5)) + x2 = np.zeros((nvir, nvir), dtype=types[float]) + x2 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (3, 4, 5, 6, 1, 2), (0, 6)) + l1new += einsum(x2, (0, 1), v.ovvv, (2, 0, 3, 1), (3, 2)) * 0.08333333333333 + x3 = np.zeros((nocc, nocc), dtype=types[float]) + x3 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 4, 5, 0, 1, 2), (3, 6)) + l1new += einsum(x3, (0, 1), v.ooov, (2, 1, 0, 3), (3, 2)) * 0.08333333333333 + x4 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x4 += einsum(t1, (0, 1), v.oovv, (2, 3, 4, 1), (0, 2, 3, 4)) + x5 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x5 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) + x5 += einsum(x4, (0, 1, 2, 3), (2, 1, 0, 3)) + x6 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x6 += einsum(t1, (0, 1), v.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) + x7 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x7 += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 3), (0, 4, 2, 5)) + x8 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x8 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 + x8 += einsum(x6, (0, 1, 2, 3), (0, 1, 2, 3)) + x8 += einsum(x7, (0, 1, 2, 3), (0, 1, 2, 3)) + x9 = np.zeros((nocc, nvir), dtype=types[float]) + x9 += einsum(f.ov, (0, 1), (0, 1)) + x9 += einsum(x1, (0, 1), (0, 1)) + x10 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x10 += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 2, 3), (0, 1, 4, 5)) + x11 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x11 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) + x11 += einsum(x4, (0, 1, 2, 3), (2, 1, 0, 3)) * 0.5 + x12 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x12 += einsum(t1, (0, 1), x11, (2, 3, 4, 1), (0, 2, 3, 4)) * 4.0 + del x11 + x13 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x13 += einsum(v.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x13 += einsum(x10, (0, 1, 2, 3), (3, 2, 1, 0)) + x13 += einsum(x12, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 + x14 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) + x14 += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 2, 3), (4, 5, 6, 0, 1, 7)) + l2new += einsum(l3, (0, 1, 2, 3, 4, 5), x14, (3, 4, 5, 6, 7, 2), (0, 1, 6, 7)) * 0.08333333333333 + x15 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x15 += einsum(v.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 + x15 += einsum(x4, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x16 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) + x16 += einsum(x14, (0, 1, 2, 3, 4, 5), (0, 1, 4, 3, 2, 5)) * 0.16666666666666 + del x14 + x16 += einsum(t2, (0, 1, 2, 3), x15, (4, 5, 6, 3), (0, 1, 6, 5, 4, 2)) + x17 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x17 += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 2, 3), (0, 4, 5, 6, 7, 1)) * 0.66666666666664 + x17 += einsum(x5, (0, 1, 2, 3), t3, (4, 5, 0, 6, 7, 3), (1, 4, 2, 5, 6, 7)) * -2.0 + x17 += einsum(t2, (0, 1, 2, 3), x8, (4, 5, 6, 3), (5, 0, 4, 1, 2, 6)) * -4.0 + del x8 + x17 += einsum(x9, (0, 1), t3, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) * -0.66666666666664 + x17 += einsum(t2, (0, 1, 2, 3), x13, (1, 4, 5, 6), (4, 0, 6, 5, 2, 3)) * -1.0 + x17 += einsum(t1, (0, 1), x16, (2, 3, 4, 0, 5, 6), (4, 3, 5, 2, 6, 1)) * 4.0 + del x16 + l1new += einsum(l3, (0, 1, 2, 3, 4, 5), x17, (6, 3, 4, 5, 2, 1), (0, 6)) * -0.125 + del x17 + x18 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x18 += einsum(t2, (0, 1, 2, 3), l3, (4, 5, 3, 6, 0, 1), (6, 4, 5, 2)) + l2new += einsum(x18, (0, 1, 2, 3), x5, (4, 5, 0, 3), (1, 2, 5, 4)) * -0.5 + x19 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x19 += einsum(t1, (0, 1), l2, (2, 3, 4, 0), (4, 2, 3, 1)) * 2.0 + x19 += einsum(x18, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + l1new += einsum(v.vvvv, (0, 1, 2, 3), x19, (4, 3, 2, 1), (0, 4)) * -0.25 + del x19 + x20 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x20 += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 2, 3), (0, 1, 4, 5)) + x21 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x21 += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 1, 6, 2, 3), (4, 5, 0, 6)) + x22 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x22 += einsum(t2, (0, 1, 2, 3), x15, (4, 1, 5, 3), (0, 4, 5, 2)) * 2.0 + x23 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x23 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + x23 += einsum(x6, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.5 + x24 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x24 += einsum(v.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 + x24 += einsum(x10, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 + x24 += einsum(x12, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 + x25 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x25 += einsum(v.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 + x25 += einsum(x20, (0, 1, 2, 3), (2, 1, 0, 3)) * 0.5 + x25 += einsum(x21, (0, 1, 2, 3), (2, 1, 0, 3)) * -0.5 + x25 += einsum(x22, (0, 1, 2, 3), (2, 0, 1, 3)) + x25 += einsum(x9, (0, 1), t2, (2, 3, 4, 1), (0, 2, 3, 4)) + x25 += einsum(t1, (0, 1), x23, (2, 3, 1, 4), (3, 2, 0, 4)) * -2.0 + del x23 + x25 += einsum(t1, (0, 1), x24, (0, 2, 3, 4), (2, 4, 3, 1)) * -0.5 + del x24 + l1new += einsum(l2, (0, 1, 2, 3), x25, (4, 2, 3, 1), (0, 4)) * 0.5 + del x25 + x26 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x26 += einsum(t1, (0, 1), l3, (2, 3, 1, 4, 5, 6), (4, 5, 6, 0, 2, 3)) + x27 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) + x27 += einsum(t1, (0, 1), x26, (2, 3, 4, 5, 6, 1), (2, 3, 4, 0, 5, 6)) + x28 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x28 += einsum(t1, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2)) + x29 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x29 += einsum(t2, (0, 1, 2, 3), l3, (4, 2, 3, 5, 6, 1), (5, 6, 0, 4)) + x30 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x30 += einsum(x28, (0, 1, 2, 3), (1, 0, 2, 3)) + x30 += einsum(x29, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 + l2new += einsum(v.ovvv, (0, 1, 2, 3), x30, (4, 5, 0, 1), (2, 3, 4, 5)) * -1.0 + x31 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x31 += einsum(l2, (0, 1, 2, 3), t2, (4, 5, 0, 1), (2, 3, 4, 5)) + x32 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x32 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 7, 5, 0, 1, 2), (3, 4, 6, 7)) + x33 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x33 += einsum(x28, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + x33 += einsum(x29, (0, 1, 2, 3), (0, 1, 2, 3)) + x34 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x34 += einsum(x31, (0, 1, 2, 3), (1, 0, 3, 2)) * -3.00000000000012 + x34 += einsum(x32, (0, 1, 2, 3), (0, 1, 3, 2)) + x34 += einsum(t1, (0, 1), x33, (2, 3, 4, 1), (2, 3, 0, 4)) * -6.00000000000024 + x35 = np.zeros((nocc, nocc), dtype=types[float]) + x35 += einsum(l2, (0, 1, 2, 3), t2, (4, 3, 0, 1), (2, 4)) + x36 = np.zeros((nocc, nocc), dtype=types[float]) + x36 += einsum(x35, (0, 1), (0, 1)) + x36 += einsum(x3, (0, 1), (0, 1)) * 0.16666666666666 + x37 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x37 += einsum(l1, (0, 1), t2, (2, 3, 4, 0), (1, 2, 3, 4)) + x37 += einsum(l2, (0, 1, 2, 3), t3, (4, 5, 3, 6, 0, 1), (2, 4, 5, 6)) * 0.5 + x37 += einsum(t3, (0, 1, 2, 3, 4, 5), x26, (6, 1, 2, 7, 5, 4), (6, 0, 7, 3)) * -0.5 + x37 += einsum(t2, (0, 1, 2, 3), x18, (4, 3, 2, 5), (4, 0, 1, 5)) * -0.25 + x37 += einsum(t2, (0, 1, 2, 3), x27, (4, 0, 1, 5, 6, 3), (4, 6, 5, 2)) * -0.5 + x37 += einsum(t2, (0, 1, 2, 3), x30, (4, 1, 5, 3), (4, 0, 5, 2)) * 2.0 + x37 += einsum(t1, (0, 1), x34, (0, 2, 3, 4), (2, 4, 3, 1)) * -0.16666666666666 + del x34 + x37 += einsum(t1, (0, 1), x36, (2, 3), (2, 0, 3, 1)) + del x36 + l1new += einsum(v.oovv, (0, 1, 2, 3), x37, (4, 0, 1, 3), (2, 4)) * 0.5 + del x37 + x38 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x38 += einsum(t2, (0, 1, 2, 3), x26, (4, 0, 1, 5, 3, 6), (4, 5, 6, 2)) + x39 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x39 += einsum(x28, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + x39 += einsum(x29, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 + l1new += einsum(v.ovov, (0, 1, 2, 3), x39, (0, 4, 2, 3), (1, 4)) + x40 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x40 += einsum(x38, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 + x40 += einsum(t1, (0, 1), x39, (0, 2, 3, 4), (2, 3, 4, 1)) * -1.0 + l1new += einsum(v.ovvv, (0, 1, 2, 3), x40, (4, 0, 1, 3), (2, 4)) + del x40 + x41 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x41 += einsum(l2, (0, 1, 2, 3), t2, (4, 3, 5, 1), (2, 4, 0, 5)) + x42 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x42 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 4, 5, 7, 1, 2), (3, 6, 0, 7)) + x43 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x43 += einsum(x41, (0, 1, 2, 3), (0, 1, 2, 3)) + x43 += einsum(x42, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.25 + l1new += einsum(v.ovvv, (0, 1, 2, 3), x43, (4, 0, 1, 3), (2, 4)) * -1.0 + del x43 + x44 = np.zeros((nocc, nocc), dtype=types[float]) + x44 += einsum(x0, (0, 1), (0, 1)) * 12.00000000000048 + x44 += einsum(x35, (0, 1), (0, 1)) * 6.00000000000024 + x44 += einsum(x3, (0, 1), (0, 1)) + x45 = np.zeros((nocc, nvir), dtype=types[float]) + x45 += einsum(t1, (0, 1), (0, 1)) * -1.0 + x45 += einsum(l1, (0, 1), t2, (2, 1, 3, 0), (2, 3)) * -1.0 + x45 += einsum(l2, (0, 1, 2, 3), t3, (4, 2, 3, 5, 0, 1), (4, 5)) * -0.25 + x45 += einsum(t3, (0, 1, 2, 3, 4, 5), x26, (2, 0, 1, 6, 5, 4), (6, 3)) * -0.08333333333333 + x45 += einsum(t2, (0, 1, 2, 3), x39, (0, 1, 4, 3), (4, 2)) * -0.5 + x45 += einsum(t1, (0, 1), x44, (0, 2), (2, 1)) * 0.08333333333333 + l1new += einsum(x45, (0, 1), v.oovv, (2, 0, 3, 1), (3, 2)) * -1.0 + del x45 + x46 = np.zeros((nvir, nvir), dtype=types[float]) + x46 += einsum(l2, (0, 1, 2, 3), t2, (2, 3, 4, 1), (0, 4)) + x47 = np.zeros((nvir, nvir), dtype=types[float]) + x47 += einsum(l1, (0, 1), t1, (1, 2), (0, 2)) + x47 += einsum(x46, (0, 1), (0, 1)) * 0.5 + l1new += einsum(x47, (0, 1), v.ovvv, (2, 0, 3, 1), (3, 2)) + del x47 + x48 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x48 += einsum(x31, (0, 1, 2, 3), (1, 0, 3, 2)) * 3.00000000000012 + x48 += einsum(x32, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + l1new += einsum(v.ooov, (0, 1, 2, 3), x48, (2, 4, 0, 1), (3, 4)) * 0.08333333333333 + del x48 + x49 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x49 += einsum(t1, (0, 1), x33, (2, 3, 4, 1), (3, 2, 4, 0)) + l1new += einsum(v.ooov, (0, 1, 2, 3), x49, (4, 2, 0, 1), (3, 4)) * -0.5 + del x49 + x50 = np.zeros((nocc, nocc), dtype=types[float]) + x50 += einsum(x0, (0, 1), (0, 1)) * 2.0 + x50 += einsum(x35, (0, 1), (0, 1)) + l1new += einsum(x50, (0, 1), v.ooov, (2, 1, 0, 3), (3, 2)) * 0.5 + del x50 + x51 = np.zeros((nvir, nvir), dtype=types[float]) + x51 += einsum(t1, (0, 1), v.ovvv, (0, 2, 3, 1), (2, 3)) + x52 = np.zeros((nvir, nvir), dtype=types[float]) + x52 += einsum(f.vv, (0, 1), (0, 1)) + x52 += einsum(x51, (0, 1), (0, 1)) * -1.0 + l1new += einsum(l1, (0, 1), x52, (0, 2), (2, 1)) + del x52 + x53 = np.zeros((nocc, nocc), dtype=types[float]) + x53 += einsum(t1, (0, 1), v.ooov, (2, 0, 3, 1), (2, 3)) + x54 = np.zeros((nocc, nocc), dtype=types[float]) + x54 += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 2, 3), (0, 4)) + x55 = np.zeros((nocc, nocc), dtype=types[float]) + x55 += einsum(f.oo, (0, 1), (0, 1)) * 2.0 + x55 += einsum(x53, (0, 1), (1, 0)) * 2.0 + x55 += einsum(x54, (0, 1), (0, 1)) + x55 += einsum(t1, (0, 1), x9, (2, 1), (0, 2)) * 2.0 + del x9 + l1new += einsum(l1, (0, 1), x55, (1, 2), (0, 2)) * -0.5 + del x55 + x56 = np.zeros((nocc, nocc), dtype=types[float]) + x56 += einsum(x0, (0, 1), (0, 1)) * 2.0 + del x0 + x56 += einsum(x35, (0, 1), (0, 1)) + del x35 + x56 += einsum(x3, (0, 1), (0, 1)) * 0.16666666666666 + del x3 + l1new += einsum(f.ov, (0, 1), x56, (2, 0), (1, 2)) * -0.5 + del x56 + x57 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x57 += einsum(f.vv, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2)) + x58 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x58 += einsum(t1, (0, 1), v.vvvv, (2, 3, 4, 1), (0, 2, 3, 4)) + x59 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x59 += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 3), (0, 2, 4, 5)) + x60 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x60 += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 0, 1, 5, 6, 3), (4, 5, 6, 2)) + x61 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x61 += einsum(t2, (0, 1, 2, 3), x5, (0, 1, 4, 5), (4, 2, 3, 5)) * 0.5 + del x5 + x62 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x62 += einsum(v.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 + x62 += einsum(x58, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + del x58 + x62 += einsum(x59, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + del x59 + x62 += einsum(x60, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.49999999999998 + del x60 + x62 += einsum(x61, (0, 1, 2, 3), (0, 2, 1, 3)) + del x61 + x63 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x63 += einsum(x62, (0, 1, 2, 3), l3, (4, 1, 2, 5, 6, 0), (5, 6, 4, 3)) * -0.5 + del x62 + x64 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x64 += einsum(t1, (0, 1), v.ooov, (2, 0, 3, 4), (2, 3, 1, 4)) + x65 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x65 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 + x65 += einsum(x64, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.5 + del x64 + x65 += einsum(x7, (0, 1, 2, 3), (0, 1, 2, 3)) + x66 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x66 += einsum(x65, (0, 1, 2, 3), x26, (4, 5, 0, 1, 2, 6), (4, 5, 6, 3)) + del x65 + x67 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x67 += einsum(t1, (0, 1), x4, (2, 3, 0, 4), (2, 3, 1, 4)) + x68 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x68 += einsum(x6, (0, 1, 2, 3), (0, 1, 2, 3)) + x68 += einsum(x67, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 + del x67 + x69 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x69 += einsum(x68, (0, 1, 2, 3), x26, (4, 5, 0, 1, 2, 6), (4, 5, 6, 3)) + del x68 + x70 = np.zeros((nvir, nvir), dtype=types[float]) + x70 += einsum(x46, (0, 1), (0, 1)) + del x46 + x70 += einsum(x2, (0, 1), (0, 1)) * 0.16666666666666 + del x2 + x71 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x71 += einsum(x70, (0, 1), v.oovv, (2, 3, 4, 1), (2, 3, 0, 4)) * -0.5 + del x70 + x72 = np.zeros((nvir, nvir), dtype=types[float]) + x72 += einsum(t2, (0, 1, 2, 3), v.oovv, (0, 1, 4, 3), (2, 4)) + x73 = np.zeros((nvir, nvir), dtype=types[float]) + x73 += einsum(x51, (0, 1), (0, 1)) + del x51 + x73 += einsum(x72, (0, 1), (0, 1)) * 0.5 + del x72 + x74 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x74 += einsum(x73, (0, 1), l2, (2, 0, 3, 4), (3, 4, 2, 1)) * -1.0 + x75 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x75 += einsum(l1, (0, 1), x15, (1, 2, 3, 4), (2, 3, 0, 4)) + del x15 + x76 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x76 += einsum(f.ov, (0, 1), x39, (2, 3, 0, 4), (2, 3, 4, 1)) + x77 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x77 += einsum(x1, (0, 1), x39, (2, 3, 0, 4), (2, 3, 4, 1)) + del x39 + x78 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x78 += einsum(x57, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x57 + x78 += einsum(x63, (0, 1, 2, 3), (0, 1, 2, 3)) + del x63 + x78 += einsum(x66, (0, 1, 2, 3), (0, 1, 2, 3)) + del x66 + x78 += einsum(x69, (0, 1, 2, 3), (0, 1, 2, 3)) + del x69 + x78 += einsum(x71, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x71 + x78 += einsum(x74, (0, 1, 2, 3), (1, 0, 2, 3)) + del x74 + x78 += einsum(x75, (0, 1, 2, 3), (1, 0, 2, 3)) + del x75 + x78 += einsum(x76, (0, 1, 2, 3), (1, 0, 3, 2)) + del x76 + x78 += einsum(x77, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x77 + l2new += einsum(x78, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 + l2new += einsum(x78, (0, 1, 2, 3), (3, 2, 0, 1)) + del x78 + x79 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x79 += einsum(x28, (0, 1, 2, 3), x4, (0, 4, 2, 5), (1, 4, 3, 5)) * -1.0 + x80 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x80 += einsum(v.ovvv, (0, 1, 2, 3), x18, (4, 5, 1, 3), (4, 0, 5, 2)) + x81 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x81 += einsum(t1, (0, 1), x29, (0, 2, 3, 4), (2, 3, 4, 1)) * -1.0 + x82 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x82 += einsum(x41, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 + del x41 + x82 += einsum(x42, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.49999999999998 + del x42 + x82 += einsum(x38, (0, 1, 2, 3), (0, 1, 2, 3)) + del x38 + x82 += einsum(x81, (0, 1, 2, 3), (0, 1, 2, 3)) + del x81 + x83 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x83 += einsum(v.oovv, (0, 1, 2, 3), x82, (4, 1, 5, 3), (4, 0, 5, 2)) * 0.5 + del x82 + x84 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x84 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 + x84 += einsum(x6, (0, 1, 2, 3), (0, 1, 2, 3)) + x85 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x85 += einsum(l2, (0, 1, 2, 3), x84, (3, 4, 1, 5), (2, 4, 0, 5)) + del x84 + x86 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x86 += einsum(v.ooov, (0, 1, 2, 3), x30, (4, 2, 1, 5), (0, 4, 3, 5)) * -1.0 + del x30 + x87 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x87 += einsum(f.ov, (0, 1), l1, (2, 3), (0, 3, 1, 2)) + x87 += einsum(l1, (0, 1), x1, (2, 3), (1, 2, 0, 3)) + x87 += einsum(x79, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x79 + x87 += einsum(x80, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 + del x80 + x87 += einsum(x83, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x83 + x87 += einsum(x85, (0, 1, 2, 3), (0, 1, 2, 3)) + del x85 + x87 += einsum(x86, (0, 1, 2, 3), (1, 0, 3, 2)) + del x86 + l2new += einsum(x87, (0, 1, 2, 3), (2, 3, 0, 1)) + l2new += einsum(x87, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 + l2new += einsum(x87, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 + l2new += einsum(x87, (0, 1, 2, 3), (3, 2, 1, 0)) + del x87 + x88 = np.zeros((nocc, nocc), dtype=types[float]) + x88 += einsum(f.ov, (0, 1), t1, (2, 1), (0, 2)) + x89 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x89 += einsum(x88, (0, 1), l2, (2, 3, 4, 1), (0, 4, 2, 3)) + x90 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x90 += einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), (0, 2, 3, 4)) + x91 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x91 += einsum(x90, (0, 1, 2, 3), l3, (4, 5, 3, 6, 2, 1), (0, 6, 4, 5)) + del x90 + x92 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x92 += einsum(x1, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4)) * -1.0 + x93 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x93 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + x93 += einsum(x6, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.5 + x94 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x94 += einsum(t1, (0, 1), x93, (2, 3, 4, 1), (0, 2, 3, 4)) * 2.0 + del x93 + x95 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x95 += einsum(t1, (0, 1), x13, (0, 2, 3, 4), (2, 3, 4, 1)) * 0.5 + del x13 + x96 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x96 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x96 += einsum(x20, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.5 + del x20 + x96 += einsum(x21, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.49999999999998 + del x21 + x96 += einsum(x92, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x92 + x96 += einsum(x22, (0, 1, 2, 3), (0, 1, 2, 3)) + del x22 + x96 += einsum(x94, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 + del x94 + x96 += einsum(x95, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 + del x95 + x97 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x97 += einsum(x96, (0, 1, 2, 3), l3, (4, 5, 3, 6, 0, 1), (6, 2, 4, 5)) * -0.5 + del x96 + x98 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x98 += einsum(x44, (0, 1), v.oovv, (2, 1, 3, 4), (0, 2, 3, 4)) * -0.08333333333333 + del x44 + x99 = np.zeros((nocc, nocc), dtype=types[float]) + x99 += einsum(t1, (0, 1), x1, (2, 1), (0, 2)) + x100 = np.zeros((nocc, nocc), dtype=types[float]) + x100 += einsum(x53, (0, 1), (0, 1)) + del x53 + x100 += einsum(x54, (0, 1), (1, 0)) * 0.5 + del x54 + x100 += einsum(x99, (0, 1), (1, 0)) + del x99 + x101 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x101 += einsum(x100, (0, 1), l2, (2, 3, 4, 1), (4, 0, 2, 3)) * -1.0 + x102 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x102 += einsum(x89, (0, 1, 2, 3), (0, 1, 3, 2)) + del x89 + x102 += einsum(x91, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.5 + del x91 + x102 += einsum(x97, (0, 1, 2, 3), (0, 1, 2, 3)) + del x97 + x102 += einsum(x98, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x98 + x102 += einsum(x101, (0, 1, 2, 3), (0, 1, 3, 2)) + del x101 + l2new += einsum(x102, (0, 1, 2, 3), (3, 2, 0, 1)) + l2new += einsum(x102, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 + del x102 + x103 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x103 += einsum(f.oo, (0, 1), l2, (2, 3, 4, 1), (0, 4, 2, 3)) + x104 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x104 += einsum(l1, (0, 1), v.ovvv, (2, 0, 3, 4), (1, 2, 3, 4)) + x105 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x105 += einsum(x103, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x103 + x105 += einsum(x104, (0, 1, 2, 3), (0, 1, 3, 2)) + del x104 + l2new += einsum(x105, (0, 1, 2, 3), (2, 3, 0, 1)) + l2new += einsum(x105, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 + del x105 + x106 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x106 += einsum(v.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x106 += einsum(x10, (0, 1, 2, 3), (1, 0, 3, 2)) + del x10 + x106 += einsum(x12, (0, 1, 2, 3), (3, 0, 2, 1)) * -1.0 + del x12 + l2new += einsum(l2, (0, 1, 2, 3), x106, (2, 3, 4, 5), (0, 1, 4, 5)) * 0.25 + x107 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x107 += einsum(x31, (0, 1, 2, 3), (1, 0, 3, 2)) + del x31 + x107 += einsum(x32, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.33333333333332 + del x32 + x107 += einsum(t1, (0, 1), x33, (2, 3, 4, 1), (3, 2, 4, 0)) * 2.0 + del x33 + l2new += einsum(v.oovv, (0, 1, 2, 3), x107, (4, 5, 0, 1), (2, 3, 5, 4)) * -0.25 + del x107 + x108 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x108 += einsum(x106, (0, 1, 2, 3), l3, (4, 5, 6, 7, 0, 1), (7, 2, 3, 4, 5, 6)) * -0.25 + del x106 + x109 = np.zeros((nocc, nocc), dtype=types[float]) + x109 += einsum(f.oo, (0, 1), (0, 1)) + x109 += einsum(x88, (0, 1), (1, 0)) + del x88 + x110 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x110 += einsum(x109, (0, 1), l3, (2, 3, 4, 5, 6, 0), (5, 6, 1, 2, 3, 4)) + del x109 + x111 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x111 += einsum(x108, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) + del x108 + x111 += einsum(x110, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) + del x110 + l3new += einsum(x111, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 1, 2)) * -1.0 + l3new += einsum(x111, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 0, 2)) + l3new += einsum(x111, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) * -1.0 + del x111 + x112 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x112 += einsum(x100, (0, 1), l3, (2, 3, 4, 5, 6, 1), (5, 6, 0, 2, 3, 4)) + del x100 + l3new += einsum(x112, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) + l3new += einsum(x112, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) * -1.0 + l3new += einsum(x112, (0, 1, 2, 3, 4, 5), (5, 3, 4, 2, 1, 0)) + del x112 + x113 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x113 += einsum(v.ooov, (0, 1, 2, 3), x26, (4, 2, 5, 1, 6, 7), (4, 5, 0, 6, 7, 3)) * -1.0 + x114 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x114 += einsum(x4, (0, 1, 2, 3), x26, (0, 4, 5, 2, 6, 7), (5, 4, 1, 6, 7, 3)) * -1.0 + x115 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x115 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 + x115 += einsum(x6, (0, 1, 2, 3), (0, 1, 2, 3)) + del x6 + x115 += einsum(x7, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.00000000000001 + del x7 + x116 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x116 += einsum(x115, (0, 1, 2, 3), l3, (4, 5, 2, 6, 7, 0), (6, 7, 1, 4, 5, 3)) + del x115 + x117 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x117 += einsum(x113, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 + del x113 + x117 += einsum(x114, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) + del x114 + x117 += einsum(x116, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x116 + l3new += einsum(x117, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 0, 2)) + l3new += einsum(x117, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 0, 2)) * -1.0 + l3new += einsum(x117, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) * -1.0 + l3new += einsum(x117, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 2, 0)) * -1.0 + l3new += einsum(x117, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) + l3new += einsum(x117, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) + l3new += einsum(x117, (0, 1, 2, 3, 4, 5), (4, 3, 5, 2, 1, 0)) + l3new += einsum(x117, (0, 1, 2, 3, 4, 5), (4, 5, 3, 2, 1, 0)) * -1.0 + l3new += einsum(x117, (0, 1, 2, 3, 4, 5), (5, 3, 4, 2, 1, 0)) * -1.0 + del x117 + x118 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x118 += einsum(f.vv, (0, 1), l3, (2, 3, 1, 4, 5, 6), (4, 5, 6, 0, 2, 3)) + x119 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x119 += einsum(f.ov, (0, 1), x26, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) + x120 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x120 += einsum(v.vvvv, (0, 1, 2, 3), l3, (4, 2, 3, 5, 6, 7), (5, 6, 7, 4, 0, 1)) + x121 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x121 += einsum(v.ovvv, (0, 1, 2, 3), x26, (4, 5, 6, 0, 7, 1), (4, 5, 6, 7, 2, 3)) * -1.0 + x122 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) + x122 += einsum(t2, (0, 1, 2, 3), l3, (4, 2, 3, 5, 6, 7), (5, 6, 7, 0, 1, 4)) + x123 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) + x123 += einsum(x122, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 + del x122 + x123 += einsum(x27, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -2.0 + del x27 + x124 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x124 += einsum(v.oovv, (0, 1, 2, 3), x123, (4, 5, 6, 0, 1, 7), (4, 5, 6, 7, 2, 3)) * 0.25 + del x123 + x125 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x125 += einsum(x118, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 + del x118 + x125 += einsum(x119, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) + del x119 + x125 += einsum(x120, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -0.5 + del x120 + x125 += einsum(x121, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) + del x121 + x125 += einsum(x124, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 + del x124 + l3new += einsum(x125, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 2, 0)) + l3new += einsum(x125, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) + l3new += einsum(x125, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 2, 0)) * -1.0 + del x125 + x126 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x126 += einsum(x1, (0, 1), x26, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 6, 1)) + del x1, x26 + x127 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x127 += einsum(x73, (0, 1), l3, (2, 3, 0, 4, 5, 6), (4, 5, 6, 2, 3, 1)) + del x73 + x128 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x128 += einsum(x126, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 + del x126 + x128 += einsum(x127, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) + del x127 + l3new += einsum(x128, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 2, 0)) + l3new += einsum(x128, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) * -1.0 + l3new += einsum(x128, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) * -1.0 + del x128 + x129 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x129 += einsum(l2, (0, 1, 2, 3), v.ovvv, (4, 1, 5, 6), (2, 3, 4, 0, 5, 6)) + x130 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x130 += einsum(v.oovv, (0, 1, 2, 3), x29, (4, 5, 1, 6), (5, 4, 0, 6, 2, 3)) + del x29 + x131 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x131 += einsum(x129, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 + del x129 + x131 += einsum(x130, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -0.5 + del x130 + l3new += einsum(x131, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 0, 2)) + l3new += einsum(x131, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) + l3new += einsum(x131, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 0, 2)) * -1.0 + l3new += einsum(x131, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 2, 0)) * -1.0 + l3new += einsum(x131, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) * -1.0 + l3new += einsum(x131, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 2, 0)) + l3new += einsum(x131, (0, 1, 2, 3, 4, 5), (3, 4, 5, 2, 1, 0)) + l3new += einsum(x131, (0, 1, 2, 3, 4, 5), (5, 3, 4, 2, 1, 0)) + l3new += einsum(x131, (0, 1, 2, 3, 4, 5), (5, 4, 3, 2, 1, 0)) * -1.0 + del x131 + x132 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x132 += einsum(l2, (0, 1, 2, 3), v.ooov, (4, 5, 3, 6), (2, 4, 5, 0, 1, 6)) + x133 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x133 += einsum(v.oovv, (0, 1, 2, 3), x18, (4, 5, 6, 3), (4, 0, 1, 6, 5, 2)) + del x18 + x134 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x134 += einsum(x132, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) + del x132 + x134 += einsum(x133, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 0.5 + del x133 + l3new += einsum(x134, (0, 1, 2, 3, 4, 5), (4, 3, 5, 0, 1, 2)) + l3new += einsum(x134, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 1, 2)) * -1.0 + l3new += einsum(x134, (0, 1, 2, 3, 4, 5), (5, 3, 4, 0, 1, 2)) * -1.0 + l3new += einsum(x134, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 0, 2)) * -1.0 + l3new += einsum(x134, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 0, 2)) + l3new += einsum(x134, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) + l3new += einsum(x134, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 2, 0)) + l3new += einsum(x134, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) * -1.0 + l3new += einsum(x134, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) * -1.0 + del x134 + x135 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x135 += einsum(f.ov, (0, 1), l2, (2, 3, 4, 5), (0, 4, 5, 1, 2, 3)) + x135 += einsum(l1, (0, 1), v.oovv, (2, 3, 4, 5), (1, 2, 3, 0, 4, 5)) + l3new += einsum(x135, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 1, 2)) + l3new += einsum(x135, (0, 1, 2, 3, 4, 5), (4, 3, 5, 0, 1, 2)) * -1.0 + l3new += einsum(x135, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 1, 2)) + l3new += einsum(x135, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 0, 2)) * -1.0 + l3new += einsum(x135, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 0, 2)) + l3new += einsum(x135, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 0, 2)) * -1.0 + l3new += einsum(x135, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 2, 0)) + l3new += einsum(x135, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 2, 0)) * -1.0 + l3new += einsum(x135, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) + del x135 + x136 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x136 += einsum(l2, (0, 1, 2, 3), x4, (3, 4, 5, 6), (2, 5, 4, 0, 1, 6)) * -1.0 + del x4 + l3new += einsum(x136, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 2, 1)) * -1.0 + l3new += einsum(x136, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) * -1.0 + l3new += einsum(x136, (0, 1, 2, 3, 4, 5), (5, 4, 3, 0, 2, 1)) + l3new += einsum(x136, (0, 1, 2, 3, 4, 5), (3, 4, 5, 2, 0, 1)) + l3new += einsum(x136, (0, 1, 2, 3, 4, 5), (4, 5, 3, 2, 0, 1)) + l3new += einsum(x136, (0, 1, 2, 3, 4, 5), (5, 4, 3, 2, 0, 1)) * -1.0 + l3new += einsum(x136, (0, 1, 2, 3, 4, 5), (3, 4, 5, 2, 1, 0)) * -1.0 + l3new += einsum(x136, (0, 1, 2, 3, 4, 5), (4, 5, 3, 2, 1, 0)) * -1.0 + l3new += einsum(x136, (0, 1, 2, 3, 4, 5), (5, 4, 3, 2, 1, 0)) + del x136 + x137 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x137 += einsum(v.oovv, (0, 1, 2, 3), x28, (4, 5, 1, 6), (4, 5, 0, 6, 2, 3)) + del x28 + l3new += einsum(x137, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 0, 2)) + l3new += einsum(x137, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) * -1.0 + l3new += einsum(x137, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 0, 2)) * -1.0 + l3new += einsum(x137, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 2, 0)) * -1.0 + l3new += einsum(x137, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) + l3new += einsum(x137, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) + l3new += einsum(x137, (0, 1, 2, 3, 4, 5), (3, 5, 4, 2, 1, 0)) + l3new += einsum(x137, (0, 1, 2, 3, 4, 5), (5, 3, 4, 2, 1, 0)) * -1.0 + l3new += einsum(x137, (0, 1, 2, 3, 4, 5), (4, 5, 3, 2, 1, 0)) * -1.0 + del x137 + + return {"l1new": l1new, "l2new": l2new, "l3new": l3new} + +def make_rdm1_f(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, t3=None, l1=None, l2=None, l3=None, **kwargs): + delta = Namespace(oo=np.eye(nocc), vv=np.eye(nvir)) + + # RDM1 + rdm1_f_oo = np.zeros((nocc, nocc), dtype=types[float]) + rdm1_f_oo += einsum(delta.oo, (0, 1), (0, 1)) + rdm1_f_ov = np.zeros((nocc, nvir), dtype=types[float]) + rdm1_f_ov += einsum(t1, (0, 1), (0, 1)) + rdm1_f_ov += einsum(l2, (0, 1, 2, 3), t3, (4, 2, 3, 5, 0, 1), (4, 5)) * 0.25 + rdm1_f_ov += einsum(l1, (0, 1), t2, (2, 1, 3, 0), (2, 3)) + rdm1_f_vo = np.zeros((nvir, nocc), dtype=types[float]) + rdm1_f_vo += einsum(l1, (0, 1), (0, 1)) + rdm1_f_vv = np.zeros((nvir, nvir), dtype=types[float]) + rdm1_f_vv += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (3, 4, 5, 6, 1, 2), (0, 6)) * 0.08333333333333 + rdm1_f_vv += einsum(l2, (0, 1, 2, 3), t2, (2, 3, 4, 1), (0, 4)) * 0.5 + rdm1_f_vv += einsum(l1, (0, 1), t1, (1, 2), (0, 2)) + x0 = np.zeros((nocc, nocc), dtype=types[float]) + x0 += einsum(l2, (0, 1, 2, 3), t2, (4, 3, 0, 1), (2, 4)) + rdm1_f_oo += einsum(x0, (0, 1), (1, 0)) * -0.5 + x1 = np.zeros((nocc, nocc), dtype=types[float]) + x1 += einsum(l1, (0, 1), t1, (2, 0), (1, 2)) + rdm1_f_oo += einsum(x1, (0, 1), (1, 0)) * -1.0 + x2 = np.zeros((nocc, nocc), dtype=types[float]) + x2 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 4, 5, 0, 1, 2), (3, 6)) + rdm1_f_oo += einsum(x2, (0, 1), (1, 0)) * -0.08333333333333 + x3 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x3 += einsum(t1, (0, 1), l3, (2, 3, 1, 4, 5, 6), (4, 5, 6, 0, 2, 3)) + rdm1_f_ov += einsum(t3, (0, 1, 2, 3, 4, 5), x3, (0, 1, 2, 6, 5, 4), (6, 3)) * 0.08333333333333 + del x3 + x4 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x4 += einsum(t1, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2)) + x4 += einsum(t2, (0, 1, 2, 3), l3, (4, 2, 3, 5, 6, 1), (5, 6, 0, 4)) * 0.5 + rdm1_f_ov += einsum(t2, (0, 1, 2, 3), x4, (0, 1, 4, 3), (4, 2)) * 0.5 + del x4 + x5 = np.zeros((nocc, nocc), dtype=types[float]) + x5 += einsum(x1, (0, 1), (0, 1)) + del x1 + x5 += einsum(x0, (0, 1), (0, 1)) * 0.5 + del x0 + x5 += einsum(x2, (0, 1), (0, 1)) * 0.08333333333333 + del x2 + rdm1_f_ov += einsum(t1, (0, 1), x5, (0, 2), (2, 1)) * -1.0 + del x5 + + rdm1_f = np.block([[rdm1_f_oo, rdm1_f_ov], [rdm1_f_vo, rdm1_f_vv]]) + + return rdm1_f + +def make_rdm2_f(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, t3=None, l1=None, l2=None, l3=None, **kwargs): + delta = Namespace(oo=np.eye(nocc), vv=np.eye(nvir)) + + # RDM2 + rdm2_f_oooo = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + rdm2_f_oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (0, 2, 1, 3)) + rdm2_f_oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (0, 2, 3, 1)) * -1.0 + rdm2_f_ovoo = np.zeros((nocc, nvir, nocc, nocc), dtype=types[float]) + rdm2_f_ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (0, 2, 1, 3)) + rdm2_f_ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (0, 2, 3, 1)) * -1.0 + rdm2_f_vooo = np.zeros((nvir, nocc, nocc, nocc), dtype=types[float]) + rdm2_f_vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 0, 1, 3)) * -1.0 + rdm2_f_vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 0, 3, 1)) + rdm2_f_oovv = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + rdm2_f_oovv += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) + rdm2_f_oovv += einsum(l1, (0, 1), t3, (2, 3, 1, 4, 5, 0), (2, 3, 4, 5)) + rdm2_f_oovv += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 3, 1)) * -1.0 + rdm2_f_oovv += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) + rdm2_f_ovov = np.zeros((nocc, nvir, nocc, nvir), dtype=types[float]) + rdm2_f_ovov += einsum(l1, (0, 1), t1, (2, 3), (2, 0, 1, 3)) * -1.0 + rdm2_f_ovvo = np.zeros((nocc, nvir, nvir, nocc), dtype=types[float]) + rdm2_f_ovvo += einsum(l1, (0, 1), t1, (2, 3), (2, 0, 3, 1)) + rdm2_f_voov = np.zeros((nvir, nocc, nocc, nvir), dtype=types[float]) + rdm2_f_voov += einsum(l1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) + rdm2_f_vovo = np.zeros((nvir, nocc, nvir, nocc), dtype=types[float]) + rdm2_f_vovo += einsum(l1, (0, 1), t1, (2, 3), (0, 2, 3, 1)) * -1.0 + rdm2_f_vvoo = np.zeros((nvir, nvir, nocc, nocc), dtype=types[float]) + rdm2_f_vvoo += einsum(l2, (0, 1, 2, 3), (0, 1, 2, 3)) + rdm2_f_vvvv = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) + rdm2_f_vvvv += einsum(l2, (0, 1, 2, 3), t2, (2, 3, 4, 5), (0, 1, 4, 5)) * 0.5 + rdm2_f_vvvv += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (3, 4, 5, 6, 7, 2), (0, 1, 6, 7)) * 0.16666666666667 + x0 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x0 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 7, 5, 0, 1, 2), (3, 4, 6, 7)) + rdm2_f_oooo += einsum(x0, (0, 1, 2, 3), (2, 3, 1, 0)) * -0.16666666666667 + x1 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x1 += einsum(l2, (0, 1, 2, 3), t2, (4, 5, 0, 1), (2, 3, 4, 5)) + rdm2_f_oooo += einsum(x1, (0, 1, 2, 3), (3, 2, 1, 0)) * 0.5 + x2 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x2 += einsum(t1, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2)) + rdm2_f_ovoo += einsum(x2, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 + rdm2_f_vooo += einsum(x2, (0, 1, 2, 3), (3, 2, 1, 0)) + x3 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x3 += einsum(t1, (0, 1), x2, (2, 3, 4, 1), (2, 3, 0, 4)) + rdm2_f_oooo += einsum(x3, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 + x4 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x4 += einsum(t2, (0, 1, 2, 3), l3, (4, 2, 3, 5, 6, 1), (5, 6, 0, 4)) + rdm2_f_ovoo += einsum(x4, (0, 1, 2, 3), (2, 3, 1, 0)) * -0.5 + rdm2_f_vooo += einsum(x4, (0, 1, 2, 3), (3, 2, 1, 0)) * 0.5 + x5 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x5 += einsum(t1, (0, 1), x4, (2, 3, 4, 1), (2, 3, 0, 4)) + rdm2_f_oooo += einsum(x5, (0, 1, 2, 3), (2, 3, 1, 0)) * -0.5 + rdm2_f_oooo += einsum(x5, (0, 1, 2, 3), (3, 2, 1, 0)) * 0.5 + x6 = np.zeros((nocc, nocc), dtype=types[float]) + x6 += einsum(l2, (0, 1, 2, 3), t2, (4, 3, 0, 1), (2, 4)) + x7 = np.zeros((nocc, nocc), dtype=types[float]) + x7 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 4, 5, 0, 1, 2), (3, 6)) + x8 = np.zeros((nocc, nocc), dtype=types[float]) + x8 += einsum(x6, (0, 1), (0, 1)) + x8 += einsum(x7, (0, 1), (0, 1)) * 0.16666666666666 + rdm2_f_oooo += einsum(delta.oo, (0, 1), x8, (2, 3), (0, 3, 1, 2)) * -0.5 + rdm2_f_oooo += einsum(delta.oo, (0, 1), x8, (2, 3), (0, 3, 2, 1)) * 0.5 + rdm2_f_oooo += einsum(delta.oo, (0, 1), x8, (2, 3), (3, 0, 1, 2)) * 0.5 + rdm2_f_oooo += einsum(delta.oo, (0, 1), x8, (2, 3), (3, 0, 2, 1)) * -0.5 + del x8 + x9 = np.zeros((nocc, nocc), dtype=types[float]) + x9 += einsum(l1, (0, 1), t1, (2, 0), (1, 2)) + rdm2_f_oooo += einsum(delta.oo, (0, 1), x9, (2, 3), (0, 3, 1, 2)) * -1.0 + rdm2_f_oooo += einsum(delta.oo, (0, 1), x9, (2, 3), (3, 0, 1, 2)) + rdm2_f_oooo += einsum(delta.oo, (0, 1), x9, (2, 3), (0, 3, 2, 1)) + rdm2_f_oooo += einsum(delta.oo, (0, 1), x9, (2, 3), (3, 0, 2, 1)) * -1.0 + x10 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x10 += einsum(l1, (0, 1), t2, (2, 3, 4, 0), (1, 2, 3, 4)) + rdm2_f_ooov = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + rdm2_f_ooov += einsum(x10, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 + rdm2_f_oovo = np.zeros((nocc, nocc, nvir, nocc), dtype=types[float]) + rdm2_f_oovo += einsum(x10, (0, 1, 2, 3), (2, 1, 3, 0)) + x11 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x11 += einsum(l2, (0, 1, 2, 3), t3, (4, 5, 3, 6, 0, 1), (2, 4, 5, 6)) + rdm2_f_ooov += einsum(x11, (0, 1, 2, 3), (1, 2, 0, 3)) * 0.5 + rdm2_f_oovo += einsum(x11, (0, 1, 2, 3), (1, 2, 3, 0)) * -0.5 + x12 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x12 += einsum(t2, (0, 1, 2, 3), l3, (4, 5, 3, 6, 0, 1), (6, 4, 5, 2)) + rdm2_f_vvov = np.zeros((nvir, nvir, nocc, nvir), dtype=types[float]) + rdm2_f_vvov += einsum(x12, (0, 1, 2, 3), (1, 2, 0, 3)) * 0.5 + rdm2_f_vvvo = np.zeros((nvir, nvir, nvir, nocc), dtype=types[float]) + rdm2_f_vvvo += einsum(x12, (0, 1, 2, 3), (1, 2, 3, 0)) * -0.5 + x13 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x13 += einsum(t2, (0, 1, 2, 3), x12, (4, 3, 2, 5), (4, 0, 1, 5)) * -1.0 + rdm2_f_ooov += einsum(x13, (0, 1, 2, 3), (1, 2, 0, 3)) * 0.25 + rdm2_f_oovo += einsum(x13, (0, 1, 2, 3), (1, 2, 3, 0)) * -0.25 + x14 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x14 += einsum(t1, (0, 1), l3, (2, 3, 1, 4, 5, 6), (4, 5, 6, 0, 2, 3)) + x15 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) + x15 += einsum(t1, (0, 1), x14, (2, 3, 4, 5, 1, 6), (2, 3, 4, 5, 0, 6)) + x16 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x16 += einsum(t2, (0, 1, 2, 3), x15, (4, 1, 0, 5, 6, 3), (4, 6, 5, 2)) + rdm2_f_ooov += einsum(x16, (0, 1, 2, 3), (1, 2, 0, 3)) * 0.5 + rdm2_f_oovo += einsum(x16, (0, 1, 2, 3), (1, 2, 3, 0)) * -0.5 + x17 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x17 += einsum(t3, (0, 1, 2, 3, 4, 5), x14, (6, 1, 2, 7, 4, 5), (6, 7, 0, 3)) + x18 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x18 += einsum(t1, (0, 1), x5, (0, 2, 3, 4), (2, 3, 4, 1)) * -1.0 + x19 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x19 += einsum(x2, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + x19 += einsum(x4, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 + x20 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x20 += einsum(t2, (0, 1, 2, 3), x19, (1, 4, 5, 3), (4, 5, 0, 2)) + x21 = np.zeros((nocc, nocc), dtype=types[float]) + x21 += einsum(x9, (0, 1), (0, 1)) * 12.00000000000048 + x21 += einsum(x6, (0, 1), (0, 1)) * 6.00000000000024 + x21 += einsum(x7, (0, 1), (0, 1)) + x22 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x22 += einsum(delta.oo, (0, 1), t1, (2, 3), (0, 1, 2, 3)) + x22 += einsum(x17, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.25 + x22 += einsum(x18, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.5 + del x18 + x22 += einsum(x20, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x20 + x22 += einsum(t1, (0, 1), x21, (2, 3), (0, 2, 3, 1)) * 0.08333333333333 + rdm2_f_ooov += einsum(x22, (0, 1, 2, 3), (0, 2, 1, 3)) + rdm2_f_ooov += einsum(x22, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 + rdm2_f_oovo += einsum(x22, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 + rdm2_f_oovo += einsum(x22, (0, 1, 2, 3), (2, 0, 3, 1)) + del x22 + x23 = np.zeros((nocc, nvir), dtype=types[float]) + x23 += einsum(l1, (0, 1), t2, (2, 1, 3, 0), (2, 3)) + x24 = np.zeros((nocc, nvir), dtype=types[float]) + x24 += einsum(l2, (0, 1, 2, 3), t3, (4, 2, 3, 5, 0, 1), (4, 5)) + x25 = np.zeros((nocc, nvir), dtype=types[float]) + x25 += einsum(t3, (0, 1, 2, 3, 4, 5), x14, (0, 1, 2, 6, 4, 5), (6, 3)) + x26 = np.zeros((nocc, nvir), dtype=types[float]) + x26 += einsum(t2, (0, 1, 2, 3), x19, (0, 1, 4, 3), (4, 2)) * -0.5 + x27 = np.zeros((nocc, nvir), dtype=types[float]) + x27 += einsum(t1, (0, 1), x21, (0, 2), (2, 1)) * 0.08333333333333 + del x21 + x28 = np.zeros((nocc, nvir), dtype=types[float]) + x28 += einsum(x23, (0, 1), (0, 1)) * -1.0 + del x23 + x28 += einsum(x24, (0, 1), (0, 1)) * -0.25 + del x24 + x28 += einsum(x25, (0, 1), (0, 1)) * 0.08333333333333 + del x25 + x28 += einsum(x26, (0, 1), (0, 1)) + del x26 + x28 += einsum(x27, (0, 1), (0, 1)) + del x27 + rdm2_f_ooov += einsum(delta.oo, (0, 1), x28, (2, 3), (0, 2, 1, 3)) * -1.0 + rdm2_f_ooov += einsum(delta.oo, (0, 1), x28, (2, 3), (2, 0, 1, 3)) + rdm2_f_oovo += einsum(delta.oo, (0, 1), x28, (2, 3), (0, 2, 3, 1)) + rdm2_f_oovo += einsum(delta.oo, (0, 1), x28, (2, 3), (2, 0, 3, 1)) * -1.0 + x29 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x29 += einsum(x1, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + x29 += einsum(x3, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 + x29 += einsum(x0, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.33333333333334 + x30 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x30 += einsum(t1, (0, 1), x29, (0, 2, 3, 4), (2, 3, 4, 1)) * 0.5 + del x29 + rdm2_f_ooov += einsum(x30, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 + rdm2_f_oovo += einsum(x30, (0, 1, 2, 3), (2, 1, 3, 0)) + del x30 + x31 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x31 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 4, 5, 7, 1, 2), (3, 6, 0, 7)) + rdm2_f_ovov += einsum(x31, (0, 1, 2, 3), (1, 2, 0, 3)) * -0.25 + rdm2_f_ovvo += einsum(x31, (0, 1, 2, 3), (1, 2, 3, 0)) * 0.25 + rdm2_f_voov += einsum(x31, (0, 1, 2, 3), (2, 1, 0, 3)) * 0.25 + rdm2_f_vovo += einsum(x31, (0, 1, 2, 3), (2, 1, 3, 0)) * -0.25 + x32 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x32 += einsum(t2, (0, 1, 2, 3), x31, (1, 4, 3, 5), (0, 4, 2, 5)) + x33 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x33 += einsum(t2, (0, 1, 2, 3), x14, (4, 1, 0, 5, 6, 3), (4, 5, 6, 2)) + rdm2_f_ovov += einsum(x33, (0, 1, 2, 3), (1, 2, 0, 3)) * 0.5 + rdm2_f_ovvo += einsum(x33, (0, 1, 2, 3), (1, 2, 3, 0)) * -0.5 + rdm2_f_voov += einsum(x33, (0, 1, 2, 3), (2, 1, 0, 3)) * -0.5 + rdm2_f_vovo += einsum(x33, (0, 1, 2, 3), (2, 1, 3, 0)) * 0.5 + x34 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x34 += einsum(t1, (0, 1), x4, (0, 2, 3, 4), (2, 3, 4, 1)) * -1.0 + x35 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x35 += einsum(x33, (0, 1, 2, 3), (0, 1, 2, 3)) + x35 += einsum(x34, (0, 1, 2, 3), (0, 1, 2, 3)) + del x34 + x36 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x36 += einsum(t2, (0, 1, 2, 3), x35, (1, 4, 3, 5), (4, 0, 5, 2)) * 0.5 + del x35 + x37 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x37 += einsum(t2, (0, 1, 2, 3), x2, (4, 1, 5, 3), (4, 5, 0, 2)) * -1.0 + x38 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x38 += einsum(x37, (0, 1, 2, 3), (0, 1, 2, 3)) + del x37 + x38 += einsum(x17, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.25 + del x17 + x39 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x39 += einsum(t1, (0, 1), x38, (0, 2, 3, 4), (2, 3, 1, 4)) + del x38 + x40 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x40 += einsum(x32, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.25 + del x32 + x40 += einsum(x36, (0, 1, 2, 3), (0, 1, 2, 3)) + del x36 + x40 += einsum(x39, (0, 1, 2, 3), (0, 1, 2, 3)) + del x39 + x40 += einsum(t1, (0, 1), x28, (2, 3), (0, 2, 1, 3)) + del x28 + rdm2_f_oovv += einsum(x40, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + rdm2_f_oovv += einsum(x40, (0, 1, 2, 3), (0, 1, 3, 2)) + rdm2_f_oovv += einsum(x40, (0, 1, 2, 3), (1, 0, 2, 3)) + rdm2_f_oovv += einsum(x40, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x40 + x41 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x41 += einsum(x7, (0, 1), t2, (2, 0, 3, 4), (2, 1, 3, 4)) + del x7 + x42 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x42 += einsum(x4, (0, 1, 2, 3), t3, (4, 0, 1, 5, 6, 3), (2, 4, 5, 6)) + x43 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x43 += einsum(x41, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.08333333333333 + del x41 + x43 += einsum(x42, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.25 + del x42 + rdm2_f_oovv += einsum(x43, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + rdm2_f_oovv += einsum(x43, (0, 1, 2, 3), (1, 0, 2, 3)) + del x43 + x44 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x44 += einsum(l2, (0, 1, 2, 3), t2, (4, 3, 5, 1), (2, 4, 0, 5)) + rdm2_f_ovov += einsum(x44, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 + rdm2_f_ovvo += einsum(x44, (0, 1, 2, 3), (1, 2, 3, 0)) + rdm2_f_voov += einsum(x44, (0, 1, 2, 3), (2, 1, 0, 3)) + rdm2_f_vovo += einsum(x44, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 + x45 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x45 += einsum(t2, (0, 1, 2, 3), x44, (1, 4, 3, 5), (4, 0, 5, 2)) + x46 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x46 += einsum(x12, (0, 1, 2, 3), t3, (4, 5, 0, 6, 1, 2), (4, 5, 3, 6)) + x47 = np.zeros((nvir, nvir), dtype=types[float]) + x47 += einsum(l2, (0, 1, 2, 3), t2, (2, 3, 4, 1), (0, 4)) + x48 = np.zeros((nvir, nvir), dtype=types[float]) + x48 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (3, 4, 5, 6, 1, 2), (0, 6)) + x49 = np.zeros((nvir, nvir), dtype=types[float]) + x49 += einsum(x47, (0, 1), (0, 1)) + x49 += einsum(x48, (0, 1), (0, 1)) * 0.16666666666666 + x50 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x50 += einsum(x49, (0, 1), t2, (2, 3, 4, 0), (2, 3, 1, 4)) * -0.5 + del x49 + x51 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x51 += einsum(x10, (0, 1, 2, 3), (0, 2, 1, 3)) + del x10 + x51 += einsum(x11, (0, 1, 2, 3), (0, 2, 1, 3)) * 0.5 + del x11 + x51 += einsum(x13, (0, 1, 2, 3), (0, 2, 1, 3)) * 0.25 + del x13 + x51 += einsum(x16, (0, 1, 2, 3), (0, 2, 1, 3)) * 0.5 + del x16 + x52 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x52 += einsum(t1, (0, 1), x51, (0, 2, 3, 4), (2, 3, 1, 4)) + del x51 + x53 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x53 += einsum(x45, (0, 1, 2, 3), (0, 1, 2, 3)) + del x45 + x53 += einsum(x46, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.25 + del x46 + x53 += einsum(x50, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x50 + x53 += einsum(x52, (0, 1, 2, 3), (1, 0, 2, 3)) + del x52 + rdm2_f_oovv += einsum(x53, (0, 1, 2, 3), (0, 1, 2, 3)) + rdm2_f_oovv += einsum(x53, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x53 + x54 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x54 += einsum(x9, (0, 1), t2, (2, 0, 3, 4), (1, 2, 3, 4)) + del x9 + x55 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x55 += einsum(x2, (0, 1, 2, 3), t3, (4, 1, 0, 5, 6, 3), (2, 4, 5, 6)) + x56 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x56 += einsum(x6, (0, 1), t2, (2, 0, 3, 4), (2, 1, 3, 4)) + del x6 + x57 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x57 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 3, 1)) * 2.0 + x57 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x58 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x58 += einsum(x5, (0, 1, 2, 3), x57, (0, 1, 4, 5), (2, 3, 4, 5)) * 0.25 + del x5, x57 + x59 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x59 += einsum(x54, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x54 + x59 += einsum(x55, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.5 + del x55 + x59 += einsum(x56, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.5 + del x56 + x59 += einsum(x58, (0, 1, 2, 3), (0, 1, 3, 2)) + del x58 + rdm2_f_oovv += einsum(x59, (0, 1, 2, 3), (0, 1, 2, 3)) + rdm2_f_oovv += einsum(x59, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x59 + x60 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) + x60 += einsum(t2, (0, 1, 2, 3), l3, (4, 2, 3, 5, 6, 7), (5, 6, 7, 0, 1, 4)) + x60 += einsum(x15, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -2.00000000000012 + del x15 + rdm2_f_oovv += einsum(t3, (0, 1, 2, 3, 4, 5), x60, (0, 1, 2, 6, 7, 5), (6, 7, 3, 4)) * 0.08333333333333 + del x60 + x61 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x61 += einsum(x1, (0, 1, 2, 3), (1, 0, 3, 2)) * -3.00000000000012 + x61 += einsum(x3, (0, 1, 2, 3), (0, 1, 3, 2)) * 6.00000000000024 + x61 += einsum(x0, (0, 1, 2, 3), (0, 1, 3, 2)) + rdm2_f_oovv += einsum(t2, (0, 1, 2, 3), x61, (0, 1, 4, 5), (5, 4, 2, 3)) * 0.08333333333333 + del x61 + x62 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x62 += einsum(x1, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.99999999999994 + del x1 + x62 += einsum(x3, (0, 1, 2, 3), (0, 1, 3, 2)) * 5.99999999999988 + del x3 + x62 += einsum(x0, (0, 1, 2, 3), (0, 1, 3, 2)) + del x0 + x63 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x63 += einsum(t1, (0, 1), x62, (0, 2, 3, 4), (2, 4, 3, 1)) * -0.16666666666667 + del x62 + rdm2_f_oovv += einsum(t1, (0, 1), x63, (0, 2, 3, 4), (2, 3, 4, 1)) * -1.0 + del x63 + x64 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x64 += einsum(x2, (0, 1, 2, 3), (1, 0, 2, 3)) * -2.0 + del x2 + x64 += einsum(x4, (0, 1, 2, 3), (0, 1, 2, 3)) + del x4 + x65 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x65 += einsum(t1, (0, 1), x64, (0, 2, 3, 4), (2, 3, 1, 4)) * 0.5 + del x64 + rdm2_f_ovov += einsum(x65, (0, 1, 2, 3), (1, 3, 0, 2)) * -1.0 + rdm2_f_ovvo += einsum(x65, (0, 1, 2, 3), (1, 3, 2, 0)) + rdm2_f_voov += einsum(x65, (0, 1, 2, 3), (3, 1, 0, 2)) + rdm2_f_vovo += einsum(x65, (0, 1, 2, 3), (3, 1, 2, 0)) * -1.0 + del x65 + x66 = np.zeros((nvir, nvir), dtype=types[float]) + x66 += einsum(l1, (0, 1), t1, (1, 2), (0, 2)) + x67 = np.zeros((nvir, nvir), dtype=types[float]) + x67 += einsum(x66, (0, 1), (0, 1)) * 12.00000000000048 + x67 += einsum(x47, (0, 1), (0, 1)) * 6.00000000000024 + x67 += einsum(x48, (0, 1), (0, 1)) + rdm2_f_ovov += einsum(delta.oo, (0, 1), x67, (2, 3), (0, 2, 1, 3)) * 0.08333333333333 + rdm2_f_voov += einsum(delta.oo, (0, 1), x67, (2, 3), (2, 0, 1, 3)) * -0.08333333333333 + del x67 + x68 = np.zeros((nvir, nvir), dtype=types[float]) + x68 += einsum(x66, (0, 1), (0, 1)) * 2.0 + x68 += einsum(x47, (0, 1), (0, 1)) + x68 += einsum(x48, (0, 1), (0, 1)) * 0.16666666666666 + rdm2_f_ovvo += einsum(delta.oo, (0, 1), x68, (2, 3), (0, 2, 3, 1)) * -0.5 + rdm2_f_vovo += einsum(delta.oo, (0, 1), x68, (2, 3), (2, 0, 3, 1)) * 0.5 + del x68 + x69 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x69 += einsum(l2, (0, 1, 2, 3), t3, (4, 2, 3, 5, 6, 1), (4, 0, 5, 6)) + rdm2_f_ovvv = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + rdm2_f_ovvv += einsum(x69, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.5 + rdm2_f_vovv = np.zeros((nvir, nocc, nvir, nvir), dtype=types[float]) + rdm2_f_vovv += einsum(x69, (0, 1, 2, 3), (1, 0, 3, 2)) * 0.5 + del x69 + x70 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x70 += einsum(t3, (0, 1, 2, 3, 4, 5), x14, (0, 1, 2, 6, 7, 5), (6, 7, 3, 4)) * -1.0 + del x14 + rdm2_f_ovvv += einsum(x70, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.16666666666667 + rdm2_f_vovv += einsum(x70, (0, 1, 2, 3), (1, 0, 3, 2)) * 0.16666666666667 + del x70 + x71 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x71 += einsum(l1, (0, 1), t2, (2, 1, 3, 4), (2, 0, 3, 4)) + rdm2_f_ovvv += einsum(x71, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + rdm2_f_vovv += einsum(x71, (0, 1, 2, 3), (1, 0, 3, 2)) + del x71 + x72 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x72 += einsum(t2, (0, 1, 2, 3), x12, (1, 4, 3, 5), (0, 4, 5, 2)) * -1.0 + x73 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x73 += einsum(x44, (0, 1, 2, 3), (0, 1, 2, 3)) + del x44 + x73 += einsum(x31, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.25 + del x31 + x73 += einsum(x33, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 + del x33 + x74 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x74 += einsum(t1, (0, 1), x73, (0, 2, 3, 4), (2, 1, 3, 4)) + del x73 + x75 = np.zeros((nvir, nvir), dtype=types[float]) + x75 += einsum(x66, (0, 1), (0, 1)) + del x66 + x75 += einsum(x47, (0, 1), (0, 1)) * 0.5 + del x47 + x75 += einsum(x48, (0, 1), (0, 1)) * 0.08333333333333 + del x48 + x76 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x76 += einsum(x72, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 + del x72 + x76 += einsum(x74, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + del x74 + x76 += einsum(t1, (0, 1), x75, (2, 3), (0, 2, 1, 3)) + del x75 + rdm2_f_ovvv += einsum(x76, (0, 1, 2, 3), (0, 1, 2, 3)) + rdm2_f_ovvv += einsum(x76, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + rdm2_f_vovv += einsum(x76, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + rdm2_f_vovv += einsum(x76, (0, 1, 2, 3), (1, 0, 3, 2)) + del x76 + x77 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x77 += einsum(t2, (0, 1, 2, 3), x19, (0, 1, 4, 5), (4, 5, 2, 3)) * 0.5 + rdm2_f_ovvv += einsum(x77, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + rdm2_f_vovv += einsum(x77, (0, 1, 2, 3), (1, 0, 3, 2)) + del x77 + x78 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x78 += einsum(t1, (0, 1), x19, (0, 2, 3, 4), (2, 3, 4, 1)) * -1.0 + rdm2_f_ovvv += einsum(t1, (0, 1), x78, (0, 2, 3, 4), (2, 3, 1, 4)) + del x78 + x79 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x79 += einsum(t1, (0, 1), x19, (0, 2, 3, 4), (2, 3, 4, 1)) * -2.0 + del x19 + rdm2_f_vovv += einsum(t1, (0, 1), x79, (0, 2, 3, 4), (3, 2, 4, 1)) * 0.5 + del x79 + x80 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x80 += einsum(t1, (0, 1), l2, (2, 3, 4, 0), (4, 2, 3, 1)) + rdm2_f_vvov += einsum(x80, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 + rdm2_f_vvvo += einsum(x80, (0, 1, 2, 3), (2, 1, 3, 0)) + rdm2_f_vvvv += einsum(t1, (0, 1), x80, (0, 2, 3, 4), (2, 3, 1, 4)) + del x80 + x81 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) + x81 += einsum(t1, (0, 1), x12, (0, 2, 3, 4), (3, 2, 1, 4)) * -1.0 + del x12 + rdm2_f_vvvv += einsum(x81, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 + rdm2_f_vvvv += einsum(x81, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.5 + del x81 + + rdm2_f = pack_2e(rdm2_f_oooo, rdm2_f_ooov, rdm2_f_oovo, rdm2_f_ovoo, rdm2_f_vooo, rdm2_f_oovv, rdm2_f_ovov, rdm2_f_ovvo, rdm2_f_voov, rdm2_f_vovo, rdm2_f_vvoo, rdm2_f_ovvv, rdm2_f_vovv, rdm2_f_vvov, rdm2_f_vvvo, rdm2_f_vvvv) + + rdm2_f = rdm2_f.swapaxes(1, 2) + + return rdm2_f + diff --git a/ebcc/codegen/RCCSDT.py b/ebcc/codegen/RCCSDT.py new file mode 100644 index 00000000..ec6e556a --- /dev/null +++ b/ebcc/codegen/RCCSDT.py @@ -0,0 +1,6763 @@ +# Code generated for ebcc. + +from ebcc import numpy as np +from ebcc.util import pack_2e, einsum, Namespace +from ebcc.precision import types + +def energy(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, t3=None, **kwargs): + # energy + e_cc = 0 + e_cc += einsum(f.ov, (0, 1), t1, (0, 1), ()) * 2.0 + x0 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x0 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -0.5 + x0 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + x1 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x1 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) + x1 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) + e_cc += einsum(x0, (0, 1, 2, 3), x1, (0, 1, 2, 3), ()) * 2.0 + del x0, x1 + + return e_cc + +def update_amps(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, t3=None, **kwargs): + # T amplitudes + t1new = np.zeros((nocc, nvir), dtype=types[float]) + t1new += einsum(f.ov, (0, 1), (0, 1)) + t1new += einsum(f.vv, (0, 1), t1, (2, 1), (2, 0)) + t2new = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + t2new += einsum(t2, (0, 1, 2, 3), v.vvvv, (4, 2, 5, 3), (0, 1, 4, 5)) + t2new += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + t2new += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 5, 1, 3), (4, 0, 5, 2)) * 2.0 + t2new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 2), (4, 0, 3, 5)) * -1.0 + t2new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 3), (4, 0, 5, 2)) * -1.0 + x0 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x0 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) + x0 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x1 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x1 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + x1 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) + t1new += einsum(x0, (0, 1, 2, 3), x1, (1, 4, 0, 2, 3, 5), (4, 5)) * -0.25 + del x1 + x2 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x2 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -0.3333333333333333 + x2 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + t1new += einsum(x2, (0, 1, 2, 3), t3, (4, 0, 1, 5, 2, 3), (4, 5)) * 1.5 + x3 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x3 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) + x3 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) + x4 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x4 += einsum(v.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) + x4 += einsum(v.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 + t1new += einsum(x3, (0, 1, 2, 3), x4, (0, 2, 3, 4), (1, 4)) * 2.0 + x5 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x5 += einsum(t1, (0, 1), v.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) + x6 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x6 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x6 += einsum(v.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x6 += einsum(x5, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x6 += einsum(x5, (0, 1, 2, 3), (0, 2, 1, 3)) * 2.0 + t1new += einsum(t2, (0, 1, 2, 3), x6, (4, 0, 1, 3), (4, 2)) * -1.0 + del x6 + x7 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x7 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -0.5 + x7 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + x8 = np.zeros((nocc, nvir), dtype=types[float]) + x8 += einsum(t1, (0, 1), x7, (0, 2, 1, 3), (2, 3)) + x9 = np.zeros((nocc, nvir), dtype=types[float]) + x9 += einsum(f.ov, (0, 1), (0, 1)) * 0.5 + x9 += einsum(x8, (0, 1), (0, 1)) + x10 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x10 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 + x10 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + t1new += einsum(x9, (0, 1), x10, (0, 2, 3, 1), (2, 3)) * 2.0 + del x10 + x11 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x11 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + x11 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 + t1new += einsum(t1, (0, 1), x11, (0, 2, 1, 3), (2, 3)) * 2.0 + del x11 + x12 = np.zeros((nocc, nocc), dtype=types[float]) + x12 += einsum(f.ov, (0, 1), t1, (2, 1), (0, 2)) + x13 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x13 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) + x13 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 + x14 = np.zeros((nocc, nocc), dtype=types[float]) + x14 += einsum(x13, (0, 1, 2, 3), x3, (0, 4, 3, 2), (4, 1)) * 2.0 + x15 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x15 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) + x15 += einsum(v.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 + x16 = np.zeros((nocc, nocc), dtype=types[float]) + x16 += einsum(t1, (0, 1), x15, (2, 3, 0, 1), (2, 3)) * 2.0 + x17 = np.zeros((nocc, nocc), dtype=types[float]) + x17 += einsum(f.oo, (0, 1), (0, 1)) + x17 += einsum(x12, (0, 1), (0, 1)) + x17 += einsum(x14, (0, 1), (1, 0)) + x17 += einsum(x16, (0, 1), (1, 0)) + del x16 + t1new += einsum(t1, (0, 1), x17, (0, 2), (2, 1)) * -1.0 + t3new = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + t3new += einsum(x17, (0, 1), t3, (2, 0, 3, 4, 5, 6), (2, 1, 3, 4, 5, 6)) * -1.0 + del x17 + x18 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x18 += einsum(t1, (0, 1), v.ooov, (2, 0, 3, 4), (2, 3, 1, 4)) + t2new += einsum(x18, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + x19 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x19 += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 2, 5, 3), (0, 1, 4, 5)) + t2new += einsum(t2, (0, 1, 2, 3), x19, (4, 5, 0, 1), (5, 4, 3, 2)) + x20 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x20 += einsum(t1, (0, 1), v.vvvv, (2, 3, 4, 1), (0, 2, 3, 4)) + t2new += einsum(t1, (0, 1), x20, (2, 3, 1, 4), (0, 2, 3, 4)) + x21 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x21 += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 5, 1, 2), (0, 4, 3, 5)) + t2new += einsum(x21, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x22 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x22 += einsum(f.vv, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4)) + x23 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x23 += einsum(t1, (0, 1), v.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) + x24 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x24 += einsum(t1, (0, 1), v.ooov, (2, 3, 4, 1), (0, 2, 3, 4)) + x25 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x25 += einsum(t2, (0, 1, 2, 3), x24, (4, 5, 0, 1), (4, 5, 2, 3)) + x26 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x26 += einsum(t2, (0, 1, 2, 3), x23, (4, 1, 2, 5), (4, 0, 3, 5)) + x27 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x27 += einsum(x5, (0, 1, 2, 3), t3, (4, 2, 1, 5, 6, 3), (0, 4, 5, 6)) + x28 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x28 += einsum(v.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x28 += einsum(v.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) + x29 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x29 += einsum(x28, (0, 1, 2, 3), t3, (4, 5, 0, 1, 6, 2), (4, 5, 6, 3)) * 0.5 + del x28 + x30 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x30 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x30 += einsum(v.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) + x31 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x31 += einsum(x30, (0, 1, 2, 3), t3, (0, 4, 2, 5, 6, 3), (4, 1, 5, 6)) * 0.5 + del x30 + x32 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x32 += einsum(t1, (0, 1), x4, (2, 3, 1, 4), (0, 2, 3, 4)) * 2.0 + del x4 + x33 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x33 += einsum(t2, (0, 1, 2, 3), x32, (4, 1, 3, 5), (0, 4, 2, 5)) + del x32 + x34 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x34 += einsum(t1, (0, 1), v.oovv, (2, 3, 4, 1), (0, 2, 3, 4)) + x35 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x35 += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 1, 5, 3), (0, 4, 5, 2)) + x36 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x36 += einsum(v.ovov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 1, 3), (4, 5, 0, 6)) + x37 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x37 += einsum(t2, (0, 1, 2, 3), x5, (4, 5, 1, 2), (4, 0, 5, 3)) + x38 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x38 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) * 0.5 + x38 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + x38 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 + x39 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x39 += einsum(v.ooov, (0, 1, 2, 3), x38, (2, 4, 5, 3), (0, 1, 4, 5)) * 2.0 + x40 = np.zeros((nocc, nvir), dtype=types[float]) + x40 += einsum(t1, (0, 1), x7, (0, 2, 1, 3), (2, 3)) * 2.0 + x41 = np.zeros((nocc, nvir), dtype=types[float]) + x41 += einsum(f.ov, (0, 1), (0, 1)) + x41 += einsum(x40, (0, 1), (0, 1)) + del x40 + x42 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x42 += einsum(x41, (0, 1), t2, (2, 3, 1, 4), (2, 3, 0, 4)) + x43 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x43 += einsum(x34, (0, 1, 2, 3), (2, 0, 1, 3)) + x43 += einsum(x35, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 + del x35 + x43 += einsum(x36, (0, 1, 2, 3), (2, 0, 1, 3)) + x43 += einsum(x37, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 + x43 += einsum(x39, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 + del x39 + x43 += einsum(x42, (0, 1, 2, 3), (2, 1, 0, 3)) + del x42 + x44 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x44 += einsum(t1, (0, 1), x43, (0, 2, 3, 4), (2, 3, 1, 4)) + del x43 + x45 = np.zeros((nocc, nocc), dtype=types[float]) + x45 += einsum(t1, (0, 1), x41, (2, 1), (0, 2)) * 0.5 + del x41 + x46 = np.zeros((nocc, nocc), dtype=types[float]) + x46 += einsum(f.oo, (0, 1), (0, 1)) * 0.5 + x46 += einsum(x45, (0, 1), (0, 1)) + del x45 + x47 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x47 += einsum(x46, (0, 1), t2, (2, 1, 3, 4), (2, 0, 4, 3)) * 2.0 + del x46 + x48 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x48 += einsum(x22, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x22 + x48 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x48 += einsum(x25, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x25 + x48 += einsum(x26, (0, 1, 2, 3), (0, 1, 2, 3)) + del x26 + x48 += einsum(x27, (0, 1, 2, 3), (0, 1, 2, 3)) + del x27 + x48 += einsum(x29, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x29 + x48 += einsum(x31, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x31 + x48 += einsum(x33, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x33 + x48 += einsum(x44, (0, 1, 2, 3), (0, 1, 2, 3)) + del x44 + x48 += einsum(x47, (0, 1, 2, 3), (1, 0, 3, 2)) + del x47 + t2new += einsum(x48, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + t2new += einsum(x48, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x48 + x49 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x49 += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 1, 2, 5, 6, 3), (4, 0, 5, 6)) + x50 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x50 += einsum(x5, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x50 += einsum(x5, (0, 1, 2, 3), (0, 2, 1, 3)) + x51 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x51 += einsum(x50, (0, 1, 2, 3), t3, (2, 4, 1, 5, 6, 3), (4, 0, 5, 6)) * 0.5 + del x50 + x52 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x52 += einsum(x9, (0, 1), t3, (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) * 2.0 + x53 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x53 += einsum(t1, (0, 1), x5, (2, 3, 0, 4), (2, 3, 1, 4)) + x54 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x54 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 + x54 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * 2.0 + x55 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x55 += einsum(t2, (0, 1, 2, 3), x54, (1, 4, 3, 5), (0, 4, 2, 5)) * 0.5 + x56 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x56 += einsum(x53, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 + x56 += einsum(x55, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x55 + x57 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x57 += einsum(t2, (0, 1, 2, 3), x56, (4, 1, 5, 2), (0, 4, 3, 5)) * 2.0 + del x56 + x58 = np.zeros((nvir, nvir), dtype=types[float]) + x58 += einsum(t2, (0, 1, 2, 3), x7, (0, 1, 2, 4), (3, 4)) * 2.0 + x59 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x59 += einsum(v.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x59 += einsum(v.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 + x60 = np.zeros((nvir, nvir), dtype=types[float]) + x60 += einsum(t1, (0, 1), x59, (0, 1, 2, 3), (2, 3)) + del x59 + x61 = np.zeros((nvir, nvir), dtype=types[float]) + x61 += einsum(x58, (0, 1), (1, 0)) + del x58 + x61 += einsum(x60, (0, 1), (1, 0)) * -1.0 + x62 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x62 += einsum(x61, (0, 1), t2, (2, 3, 0, 4), (2, 3, 4, 1)) + del x61 + x63 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x63 += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 1, 5, 2), (0, 4, 5, 3)) + x64 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x64 += einsum(x0, (0, 1, 2, 3), t3, (4, 5, 0, 3, 6, 2), (4, 5, 1, 6)) * 0.5 + x65 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x65 += einsum(x5, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 + x65 += einsum(x5, (0, 1, 2, 3), (0, 2, 1, 3)) + x66 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x66 += einsum(t2, (0, 1, 2, 3), x65, (4, 5, 1, 3), (0, 4, 5, 2)) * 2.0 + del x65 + x67 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x67 += einsum(v.ovvv, (0, 1, 2, 3), x3, (4, 5, 3, 1), (0, 4, 5, 2)) + x68 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x68 += einsum(x5, (0, 1, 2, 3), (0, 1, 2, 3)) + x68 += einsum(x63, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x68 += einsum(x64, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x64 + x68 += einsum(x66, (0, 1, 2, 3), (1, 0, 2, 3)) + x68 += einsum(x67, (0, 1, 2, 3), (2, 1, 0, 3)) + del x67 + x69 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x69 += einsum(t1, (0, 1), x68, (2, 3, 0, 4), (2, 3, 1, 4)) + del x68 + x70 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x70 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + x70 += einsum(t1, (0, 1), t2, (2, 3, 4, 5), (2, 0, 3, 1, 4, 5)) * -1.0 + x71 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x71 += einsum(v.ovvv, (0, 1, 2, 3), x70, (0, 4, 5, 1, 6, 3), (4, 5, 2, 6)) + del x70 + x72 = np.zeros((nocc, nocc), dtype=types[float]) + x72 += einsum(t2, (0, 1, 2, 3), x13, (1, 4, 2, 3), (0, 4)) + x73 = np.zeros((nocc, nocc), dtype=types[float]) + x73 += einsum(t1, (0, 1), x15, (2, 3, 0, 1), (2, 3)) + del x15 + x74 = np.zeros((nocc, nocc), dtype=types[float]) + x74 += einsum(x72, (0, 1), (1, 0)) + del x72 + x74 += einsum(x73, (0, 1), (1, 0)) + x75 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x75 += einsum(x74, (0, 1), t2, (2, 0, 3, 4), (2, 1, 4, 3)) * 2.0 + del x74 + x76 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x76 += einsum(x49, (0, 1, 2, 3), (0, 1, 2, 3)) + del x49 + x76 += einsum(x51, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x51 + x76 += einsum(x52, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x52 + x76 += einsum(x57, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x57 + x76 += einsum(x62, (0, 1, 2, 3), (1, 0, 2, 3)) + del x62 + x76 += einsum(x69, (0, 1, 2, 3), (0, 1, 2, 3)) + del x69 + x76 += einsum(x71, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x71 + x76 += einsum(x75, (0, 1, 2, 3), (0, 1, 3, 2)) + del x75 + t2new += einsum(x76, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + t2new += einsum(x76, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x76 + x77 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x77 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + x77 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 + x77 += einsum(t2, (0, 1, 2, 3), x7, (1, 4, 3, 5), (0, 4, 2, 5)) * 2.0 + t2new += einsum(t2, (0, 1, 2, 3), x77, (4, 1, 5, 3), (0, 4, 2, 5)) * 2.0 + del x77 + x78 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x78 += einsum(t1, (0, 1), x5, (2, 3, 4, 1), (2, 0, 4, 3)) + x79 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x79 += einsum(v.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) + x79 += einsum(x78, (0, 1, 2, 3), (3, 1, 2, 0)) + t2new += einsum(t2, (0, 1, 2, 3), x79, (1, 4, 0, 5), (4, 5, 3, 2)) + del x79 + x80 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x80 += einsum(v.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) + x80 += einsum(x19, (0, 1, 2, 3), (3, 1, 0, 2)) + x80 += einsum(x78, (0, 1, 2, 3), (3, 1, 0, 2)) + x81 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x81 += einsum(v.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x81 += einsum(t1, (0, 1), x80, (0, 2, 3, 4), (3, 2, 4, 1)) + del x80 + t2new += einsum(t1, (0, 1), x81, (2, 3, 0, 4), (2, 3, 1, 4)) + del x81 + x82 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x82 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x82 += einsum(x21, (0, 1, 2, 3), (0, 1, 2, 3)) + del x21 + t2new += einsum(t2, (0, 1, 2, 3), x82, (4, 1, 5, 2), (4, 0, 5, 3)) + del x82 + x83 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x83 += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 2, 1, 5), (0, 4, 3, 5)) + x84 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x84 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x84 += einsum(x83, (0, 1, 2, 3), (0, 1, 2, 3)) + del x83 + t2new += einsum(t2, (0, 1, 2, 3), x84, (4, 1, 5, 2), (0, 4, 5, 3)) + x85 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x85 += einsum(v.oooo, (0, 1, 2, 3), t3, (3, 4, 1, 5, 6, 7), (4, 0, 2, 7, 5, 6)) + x86 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x86 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) + x86 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) * 0.99999999999999 + x87 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x87 += einsum(v.ovov, (0, 1, 2, 3), x86, (2, 4, 5, 1), (4, 0, 5, 3)) + x88 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x88 += einsum(x87, (0, 1, 2, 3), t3, (4, 1, 5, 6, 7, 3), (4, 5, 0, 6, 7, 2)) * 1.00000000000001 + x89 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x89 += einsum(x85, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -0.5 + del x85 + x89 += einsum(x88, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) + del x88 + t3new += einsum(x89, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * -1.0 + t3new += einsum(x89, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) + del x89 + x90 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x90 += einsum(v.oooo, (0, 1, 2, 3), t3, (4, 3, 1, 5, 6, 7), (4, 0, 2, 5, 7, 6)) + x91 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x91 += einsum(x24, (0, 1, 2, 3), t3, (4, 2, 3, 5, 6, 7), (0, 4, 1, 5, 7, 6)) + x92 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x92 += einsum(t1, (0, 1), v.ovvv, (2, 1, 3, 4), (0, 2, 3, 4)) + x93 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x93 += einsum(x92, (0, 1, 2, 3), t3, (4, 5, 1, 6, 3, 7), (0, 4, 5, 6, 7, 2)) + x94 = np.zeros((nocc, nocc), dtype=types[float]) + x94 += einsum(f.oo, (0, 1), (0, 1)) + x94 += einsum(x12, (0, 1), (0, 1)) + del x12 + x94 += einsum(x14, (0, 1), (1, 0)) + del x14 + x95 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x95 += einsum(x94, (0, 1), t3, (2, 3, 0, 4, 5, 6), (2, 3, 1, 6, 4, 5)) + del x94 + x96 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x96 += einsum(x90, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x90 + x96 += einsum(x91, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 + del x91 + x96 += einsum(x93, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x93 + x96 += einsum(x95, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) + del x95 + t3new += einsum(x96, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + t3new += einsum(x96, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -1.0 + del x96 + x97 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x97 += einsum(v.ovov, (0, 1, 2, 3), x86, (2, 4, 5, 1), (4, 0, 5, 3)) * 1.00000000000001 + x98 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x98 += einsum(x97, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (4, 5, 0, 6, 7, 2)) + x99 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x99 += einsum(t2, (0, 1, 2, 3), v.oooo, (4, 5, 6, 1), (0, 4, 5, 6, 2, 3)) + x100 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x100 += einsum(t2, (0, 1, 2, 3), x24, (4, 5, 1, 6), (4, 0, 5, 6, 2, 3)) + x101 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x101 += einsum(x99, (0, 1, 2, 3, 4, 5), (0, 2, 3, 1, 4, 5)) * -1.0 + del x99 + x101 += einsum(x100, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x100 + x102 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x102 += einsum(t1, (0, 1), x101, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) + del x101 + x103 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x103 += einsum(x98, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) + del x98 + x103 += einsum(x102, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x102 + t3new += einsum(x103, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + t3new += einsum(x103, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 + t3new += einsum(x103, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -1.0 + t3new += einsum(x103, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) + del x103 + x104 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x104 += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (4, 5, 0, 6, 7, 2)) + x105 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x105 += einsum(v.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x105 += einsum(x63, (0, 1, 2, 3), (0, 1, 2, 3)) + del x63 + x106 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x106 += einsum(t2, (0, 1, 2, 3), x105, (4, 5, 1, 6), (0, 4, 5, 3, 2, 6)) + del x105 + x107 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x107 += einsum(x104, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x104 + x107 += einsum(x106, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 + del x106 + t3new += einsum(x107, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 + t3new += einsum(x107, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) + t3new += einsum(x107, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) + t3new += einsum(x107, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -1.0 + del x107 + x108 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x108 += einsum(v.vvvv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 3, 1), (4, 6, 5, 7, 0, 2)) + x109 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x109 += einsum(x19, (0, 1, 2, 3), t3, (3, 4, 2, 5, 6, 7), (1, 0, 4, 5, 7, 6)) + x110 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) + x110 += einsum(v.ovov, (0, 1, 2, 3), t3, (4, 5, 6, 1, 7, 3), (4, 6, 5, 0, 2, 7)) + x111 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x111 += einsum(t2, (0, 1, 2, 3), x110, (4, 5, 6, 0, 1, 7), (4, 5, 6, 2, 3, 7)) + x112 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x112 += einsum(x78, (0, 1, 2, 3), t3, (2, 4, 3, 5, 6, 7), (1, 0, 4, 7, 5, 6)) + del x78 + x113 = np.zeros((nvir, nvir), dtype=types[float]) + x113 += einsum(f.ov, (0, 1), t1, (0, 2), (1, 2)) + x114 = np.zeros((nvir, nvir), dtype=types[float]) + x114 += einsum(x3, (0, 1, 2, 3), x7, (0, 1, 2, 4), (3, 4)) * 2.0 + del x7 + x115 = np.zeros((nvir, nvir), dtype=types[float]) + x115 += einsum(f.vv, (0, 1), (0, 1)) * -1.0 + x115 += einsum(x113, (0, 1), (0, 1)) + x115 += einsum(x114, (0, 1), (1, 0)) + x116 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x116 += einsum(x115, (0, 1), t3, (2, 3, 4, 0, 5, 6), (2, 4, 3, 6, 5, 1)) + del x115 + x117 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x117 += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 1, 5, 6, 7, 3), (4, 5, 0, 2, 6, 7)) + x118 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x118 += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 3, 1), (4, 6, 5, 0, 7, 2)) + x119 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x119 += einsum(t1, (0, 1), x110, (2, 3, 4, 0, 5, 6), (3, 2, 4, 5, 1, 6)) + del x110 + x120 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x120 += einsum(x117, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 + del x117 + x120 += einsum(x118, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x118 + x120 += einsum(x119, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 0.5 + del x119 + x121 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x121 += einsum(t1, (0, 1), x120, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) + del x120 + x122 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x122 += einsum(x108, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x108 + x122 += einsum(x109, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 0.5 + del x109 + x122 += einsum(x111, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 0.5 + del x111 + x122 += einsum(x112, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 0.5 + del x112 + x122 += einsum(x116, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) + del x116 + x122 += einsum(x121, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x121 + t3new += einsum(x122, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + t3new += einsum(x122, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 + del x122 + x123 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x123 += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 3), (0, 2, 4, 5)) + x124 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x124 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + x124 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x125 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x125 += einsum(v.ovvv, (0, 1, 2, 3), x124, (0, 4, 1, 5), (4, 2, 3, 5)) + x126 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x126 += einsum(v.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) + x126 += einsum(x123, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x123 + x126 += einsum(x125, (0, 1, 2, 3), (0, 3, 2, 1)) + del x125 + x127 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x127 += einsum(t2, (0, 1, 2, 3), x126, (4, 5, 2, 6), (0, 1, 4, 3, 5, 6)) + del x126 + x128 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x128 += einsum(t2, (0, 1, 2, 3), x5, (4, 0, 1, 5), (4, 2, 3, 5)) + x129 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x129 += einsum(t1, (0, 1), x53, (2, 0, 3, 4), (2, 1, 3, 4)) + del x53 + x130 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x130 += einsum(x128, (0, 1, 2, 3), (0, 1, 2, 3)) + del x128 + x130 += einsum(x129, (0, 1, 2, 3), (0, 1, 2, 3)) + del x129 + x131 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x131 += einsum(t2, (0, 1, 2, 3), x130, (4, 5, 6, 2), (0, 1, 4, 3, 5, 6)) + del x130 + x132 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x132 += einsum(x127, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) + del x127 + x132 += einsum(x131, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) + del x131 + t3new += einsum(x132, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) + t3new += einsum(x132, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -1.0 + t3new += einsum(x132, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) + t3new += einsum(x132, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -1.0 + t3new += einsum(x132, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 + t3new += einsum(x132, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) + t3new += einsum(x132, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) + t3new += einsum(x132, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 + t3new += einsum(x132, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) * -1.0 + t3new += einsum(x132, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) + t3new += einsum(x132, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -1.0 + t3new += einsum(x132, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) + del x132 + x133 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x133 += einsum(t2, (0, 1, 2, 3), x54, (1, 4, 3, 5), (0, 4, 2, 5)) + del x54 + x134 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x134 += einsum(v.ovov, (0, 1, 2, 3), x86, (2, 4, 5, 3), (4, 0, 5, 1)) + del x86 + x135 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x135 += einsum(x133, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x133 + x135 += einsum(x134, (0, 1, 2, 3), (0, 1, 2, 3)) + del x134 + x136 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x136 += einsum(x135, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (4, 5, 0, 6, 7, 2)) * 1.00000000000001 + del x135 + x137 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x137 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 + x137 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + x138 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x138 += einsum(x137, (0, 1, 2, 3), t3, (0, 4, 1, 5, 6, 2), (4, 5, 6, 3)) + del x137 + x139 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x139 += einsum(t2, (0, 1, 2, 3), x138, (4, 5, 6, 2), (0, 1, 4, 3, 5, 6)) * -0.5 + del x138 + x140 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x140 += einsum(x0, (0, 1, 2, 3), t3, (4, 5, 0, 3, 6, 2), (4, 5, 1, 6)) + del x0 + x141 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x141 += einsum(t2, (0, 1, 2, 3), x140, (4, 5, 1, 6), (0, 4, 5, 3, 2, 6)) * -0.5 + del x140 + x142 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x142 += einsum(x136, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) + del x136 + x142 += einsum(x139, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) + del x139 + x142 += einsum(x141, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) + del x141 + t3new += einsum(x142, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 + t3new += einsum(x142, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) + t3new += einsum(x142, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + t3new += einsum(x142, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) + t3new += einsum(x142, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) + t3new += einsum(x142, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 + t3new += einsum(x142, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) + t3new += einsum(x142, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -1.0 + del x142 + x143 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x143 += einsum(v.ovov, (0, 1, 2, 3), t3, (4, 0, 2, 5, 6, 1), (4, 5, 6, 3)) + x144 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x144 += einsum(t2, (0, 1, 2, 3), x143, (4, 5, 6, 3), (0, 1, 4, 2, 5, 6)) + del x143 + x145 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x145 += einsum(v.ovov, (0, 1, 2, 3), t3, (4, 2, 5, 1, 6, 3), (4, 5, 0, 6)) + x146 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x146 += einsum(t2, (0, 1, 2, 3), x145, (4, 5, 1, 6), (0, 4, 5, 2, 3, 6)) + del x145 + x147 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x147 += einsum(x144, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 0.5 + del x144 + x147 += einsum(x146, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -0.5 + del x146 + t3new += einsum(x147, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 + t3new += einsum(x147, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) + t3new += einsum(x147, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) + t3new += einsum(x147, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 + del x147 + x148 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x148 += einsum(v.ovov, (0, 1, 2, 3), t3, (4, 0, 2, 5, 6, 3), (4, 5, 6, 1)) + x149 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x149 += einsum(t2, (0, 1, 2, 3), x148, (4, 5, 6, 3), (0, 1, 4, 2, 5, 6)) + del x148 + t3new += einsum(x149, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 + t3new += einsum(x149, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) + t3new += einsum(x149, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 + t3new += einsum(x149, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) + t3new += einsum(x149, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 0.5 + t3new += einsum(x149, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -0.5 + t3new += einsum(x149, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -0.5 + t3new += einsum(x149, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * 0.5 + t3new += einsum(x149, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) + t3new += einsum(x149, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -1.0 + t3new += einsum(x149, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) + t3new += einsum(x149, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -1.0 + del x149 + x150 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x150 += einsum(x2, (0, 1, 2, 3), t3, (4, 0, 1, 5, 2, 6), (4, 6, 5, 3)) + del x2 + x151 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x151 += einsum(t2, (0, 1, 2, 3), x150, (4, 5, 6, 2), (0, 1, 4, 3, 6, 5)) * 1.5 + del x150 + t3new += einsum(x151, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) + t3new += einsum(x151, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -1.0 + del x151 + x152 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x152 += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 1, 6, 3, 7), (4, 5, 0, 6, 7, 2)) + x153 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x153 += einsum(v.ovov, (0, 1, 2, 3), x3, (4, 5, 1, 3), (4, 5, 0, 2)) + x154 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x154 += einsum(x153, (0, 1, 2, 3), t3, (4, 3, 2, 5, 6, 7), (4, 1, 0, 7, 5, 6)) + x155 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x155 += einsum(x73, (0, 1), t3, (2, 3, 1, 4, 5, 6), (2, 3, 0, 6, 4, 5)) * 2.0 + del x73 + x156 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x156 += einsum(x152, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x152 + x156 += einsum(x154, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) + del x154 + x156 += einsum(x155, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) + del x155 + t3new += einsum(x156, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 + t3new += einsum(x156, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) + del x156 + x157 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x157 += einsum(t2, (0, 1, 2, 3), x36, (4, 5, 1, 6), (0, 4, 5, 2, 3, 6)) + del x36 + t3new += einsum(x157, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 + t3new += einsum(x157, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) + t3new += einsum(x157, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 + t3new += einsum(x157, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) + t3new += einsum(x157, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) + t3new += einsum(x157, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -1.0 + t3new += einsum(x157, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) + t3new += einsum(x157, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -1.0 + del x157 + x158 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x158 += einsum(x13, (0, 1, 2, 3), t3, (4, 0, 5, 2, 3, 6), (4, 5, 1, 6)) + del x13 + x159 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x159 += einsum(t2, (0, 1, 2, 3), x158, (4, 5, 1, 6), (0, 5, 4, 3, 2, 6)) * 2.0 + del x158 + t3new += einsum(x159, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) + t3new += einsum(x159, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -1.0 + del x159 + x160 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x160 += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 1, 5, 6, 7, 3), (4, 5, 0, 6, 7, 2)) + x161 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x161 += einsum(v.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) + x161 += einsum(v.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) * -0.5 + x162 = np.zeros((nvir, nvir), dtype=types[float]) + x162 += einsum(t1, (0, 1), x161, (0, 1, 2, 3), (2, 3)) * 2.0 + del x161 + x163 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x163 += einsum(x162, (0, 1), t3, (2, 3, 4, 1, 5, 6), (2, 4, 3, 6, 5, 0)) + del x162 + x164 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) + x164 += einsum(v.ovov, (0, 1, 2, 3), t3, (4, 5, 6, 7, 3, 1), (4, 6, 5, 0, 2, 7)) + x165 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x165 += einsum(x3, (0, 1, 2, 3), x164, (4, 5, 6, 1, 0, 7), (4, 5, 6, 2, 3, 7)) + del x3, x164 + x166 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x166 += einsum(x160, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x160 + x166 += einsum(x163, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * -1.0 + del x163 + x166 += einsum(x165, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) + del x165 + t3new += einsum(x166, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 + t3new += einsum(x166, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) + del x166 + x167 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x167 += einsum(x87, (0, 1, 2, 3), t3, (4, 5, 1, 6, 3, 7), (4, 5, 0, 7, 6, 2)) * 1.00000000000001 + del x87 + t3new += einsum(x167, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -1.0 + t3new += einsum(x167, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) + del x167 + x168 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x168 += einsum(x92, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (0, 4, 5, 6, 7, 2)) + x169 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x169 += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 6, 1, 7, 3), (4, 6, 5, 0, 7, 2)) + x170 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x170 += einsum(t1, (0, 1), x169, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) + del x169 + x171 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x171 += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 1, 2), (0, 4, 5, 3)) + x172 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x172 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x172 += einsum(v.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x173 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x173 += einsum(t2, (0, 1, 2, 3), x172, (4, 5, 1, 3), (0, 4, 5, 2)) + del x172 + x174 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x174 += einsum(x171, (0, 1, 2, 3), (0, 2, 1, 3)) + del x171 + x174 += einsum(x173, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + del x173 + x175 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x175 += einsum(t2, (0, 1, 2, 3), x174, (4, 1, 5, 6), (0, 4, 5, 3, 2, 6)) + del x174 + x176 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x176 += einsum(x34, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x176 += einsum(x37, (0, 1, 2, 3), (0, 1, 2, 3)) + del x37 + x177 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x177 += einsum(t2, (0, 1, 2, 3), x176, (4, 5, 1, 6), (0, 4, 5, 3, 2, 6)) + del x176 + x178 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x178 += einsum(x168, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x168 + x178 += einsum(x170, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -0.5 + del x170 + x178 += einsum(x175, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) + del x175 + x178 += einsum(x177, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 + del x177 + t3new += einsum(x178, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) + t3new += einsum(x178, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -1.0 + t3new += einsum(x178, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) * -1.0 + t3new += einsum(x178, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) + del x178 + x179 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x179 += einsum(t1, (0, 1), x23, (2, 3, 1, 4), (0, 2, 3, 4)) + x180 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x180 += einsum(t2, (0, 1, 2, 3), x179, (4, 5, 1, 6), (4, 5, 0, 2, 3, 6)) + del x179 + x181 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x181 += einsum(t2, (0, 1, 2, 3), x5, (4, 1, 5, 2), (4, 0, 5, 3)) + x182 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x182 += einsum(x5, (0, 1, 2, 3), (0, 1, 2, 3)) + x182 += einsum(x181, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x181 + x182 += einsum(x66, (0, 1, 2, 3), (1, 0, 2, 3)) + del x66 + x183 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x183 += einsum(t2, (0, 1, 2, 3), x182, (4, 5, 1, 6), (0, 4, 5, 3, 2, 6)) + del x182 + x184 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x184 += einsum(x180, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x180 + x184 += einsum(x183, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 + del x183 + t3new += einsum(x184, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) + t3new += einsum(x184, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -1.0 + t3new += einsum(x184, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) * -1.0 + t3new += einsum(x184, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) + del x184 + x185 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x185 += einsum(x24, (0, 1, 2, 3), t3, (3, 4, 2, 5, 6, 7), (0, 4, 1, 7, 5, 6)) + x186 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x186 += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (4, 5, 0, 2, 6, 7)) + x187 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x187 += einsum(t1, (0, 1), x186, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) + del x186 + x188 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x188 += einsum(x9, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4)) * 2.0 + x189 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x189 += einsum(t1, (0, 1), x153, (2, 3, 4, 0), (3, 2, 4, 1)) + del x153 + x190 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x190 += einsum(x188, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x188 + x190 += einsum(x189, (0, 1, 2, 3), (1, 0, 2, 3)) + del x189 + x191 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x191 += einsum(t2, (0, 1, 2, 3), x190, (4, 5, 1, 6), (0, 4, 5, 3, 2, 6)) + del x190 + x192 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x192 += einsum(x185, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 0.5 + del x185 + x192 += einsum(x187, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x187 + x192 += einsum(x191, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -1.0 + del x191 + t3new += einsum(x192, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 + t3new += einsum(x192, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) + t3new += einsum(x192, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) + t3new += einsum(x192, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -1.0 + del x192 + x193 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x193 += einsum(t2, (0, 1, 2, 3), x20, (4, 5, 3, 6), (4, 0, 1, 2, 6, 5)) + del x20 + x194 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x194 += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 3, 1, 5), (0, 4, 2, 5)) + x195 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x195 += einsum(v.ovov, (0, 1, 2, 3), x124, (2, 4, 3, 5), (4, 0, 5, 1)) + del x124 + x196 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x196 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + x196 += einsum(x194, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x196 += einsum(x195, (0, 1, 2, 3), (0, 1, 2, 3)) + del x195 + x197 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x197 += einsum(t2, (0, 1, 2, 3), x196, (4, 5, 6, 2), (0, 1, 4, 5, 3, 6)) + del x196 + x198 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x198 += einsum(t1, (0, 1), x197, (2, 3, 4, 0, 5, 6), (3, 2, 4, 1, 5, 6)) + del x197 + x199 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x199 += einsum(x193, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x193 + x199 += einsum(x198, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 + del x198 + t3new += einsum(x199, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) + t3new += einsum(x199, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -1.0 + t3new += einsum(x199, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + t3new += einsum(x199, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) + t3new += einsum(x199, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) + t3new += einsum(x199, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -1.0 + t3new += einsum(x199, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) * -1.0 + t3new += einsum(x199, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) + t3new += einsum(x199, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) + t3new += einsum(x199, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 + t3new += einsum(x199, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -1.0 + t3new += einsum(x199, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) + del x199 + x200 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x200 += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 2, 5, 3), (0, 1, 4, 5)) + x201 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x201 += einsum(t2, (0, 1, 2, 3), x200, (4, 5, 1, 6), (4, 5, 0, 2, 3, 6)) + del x200 + x202 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x202 += einsum(t2, (0, 1, 2, 3), x84, (4, 5, 6, 2), (0, 1, 4, 5, 3, 6)) + del x84 + x203 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x203 += einsum(t1, (0, 1), x202, (2, 3, 4, 0, 5, 6), (3, 2, 4, 1, 5, 6)) * -1.0 + del x202 + x204 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x204 += einsum(x201, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x201 + x204 += einsum(x203, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x203 + t3new += einsum(x204, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) + t3new += einsum(x204, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -1.0 + t3new += einsum(x204, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -1.0 + t3new += einsum(x204, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) + t3new += einsum(x204, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) + t3new += einsum(x204, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -1.0 + t3new += einsum(x204, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) * -1.0 + t3new += einsum(x204, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) + t3new += einsum(x204, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) + t3new += einsum(x204, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -1.0 + t3new += einsum(x204, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -1.0 + t3new += einsum(x204, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) + del x204 + x205 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x205 += einsum(x23, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 2), (0, 4, 5, 6, 7, 3)) + t3new += einsum(x205, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 + t3new += einsum(x205, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) + t3new += einsum(x205, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 + t3new += einsum(x205, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) + t3new += einsum(x205, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) + t3new += einsum(x205, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -1.0 + t3new += einsum(x205, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) + t3new += einsum(x205, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * -1.0 + del x205 + x206 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x206 += einsum(x92, (0, 1, 2, 3), t3, (4, 1, 5, 6, 7, 3), (0, 4, 5, 6, 7, 2)) + t3new += einsum(x206, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * -1.0 + t3new += einsum(x206, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) + del x206 + x207 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x207 += einsum(v.vvvv, (0, 1, 2, 3), t3, (4, 5, 6, 1, 7, 3), (4, 6, 5, 7, 0, 2)) + x208 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x208 += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 1, 3), (4, 6, 5, 0, 7, 2)) + x209 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x209 += einsum(t1, (0, 1), x208, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) + del x208 + x210 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x210 += einsum(x207, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -0.5 + del x207 + x210 += einsum(x209, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x209 + t3new += einsum(x210, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -1.0 + t3new += einsum(x210, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) + del x210 + x211 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x211 += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 2), (0, 3, 4, 5)) + x212 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x212 += einsum(t2, (0, 1, 2, 3), x211, (4, 5, 3, 6), (0, 1, 4, 2, 5, 6)) + del x211 + x213 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x213 += einsum(t2, (0, 1, 2, 3), x92, (4, 5, 6, 3), (4, 0, 1, 5, 2, 6)) + x214 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x214 += einsum(t1, (0, 1), x213, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) + del x213 + x215 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x215 += einsum(x212, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x212 + x215 += einsum(x214, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x214 + t3new += einsum(x215, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 + t3new += einsum(x215, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) + t3new += einsum(x215, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + t3new += einsum(x215, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) + t3new += einsum(x215, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 + t3new += einsum(x215, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) + t3new += einsum(x215, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) + t3new += einsum(x215, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 + t3new += einsum(x215, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) + t3new += einsum(x215, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 + t3new += einsum(x215, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) + t3new += einsum(x215, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -1.0 + del x215 + x216 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x216 += einsum(t2, (0, 1, 2, 3), x23, (4, 5, 3, 6), (4, 0, 1, 5, 2, 6)) + x217 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x217 += einsum(t1, (0, 1), x216, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) + del x216 + x218 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x218 += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 0, 1, 5), (4, 2, 3, 5)) + x219 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x219 += einsum(t1, (0, 1), v.ooov, (2, 3, 0, 4), (2, 3, 1, 4)) + x220 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x220 += einsum(t1, (0, 1), x219, (2, 0, 3, 4), (2, 1, 3, 4)) + x221 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x221 += einsum(x218, (0, 1, 2, 3), (0, 1, 2, 3)) + del x218 + x221 += einsum(x220, (0, 1, 2, 3), (0, 1, 2, 3)) + del x220 + x222 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x222 += einsum(t2, (0, 1, 2, 3), x221, (4, 5, 6, 2), (0, 1, 4, 3, 5, 6)) + del x221 + x223 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x223 += einsum(x217, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 + del x217 + x223 += einsum(x222, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) + del x222 + t3new += einsum(x223, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 + t3new += einsum(x223, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) + t3new += einsum(x223, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -1.0 + t3new += einsum(x223, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) + t3new += einsum(x223, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * -1.0 + t3new += einsum(x223, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) + t3new += einsum(x223, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) + t3new += einsum(x223, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * -1.0 + t3new += einsum(x223, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) + t3new += einsum(x223, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -1.0 + t3new += einsum(x223, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) + t3new += einsum(x223, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -1.0 + del x223 + x224 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x224 += einsum(x24, (0, 1, 2, 3), t3, (4, 3, 2, 5, 6, 7), (0, 4, 1, 5, 7, 6)) + t3new += einsum(x224, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) + t3new += einsum(x224, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) * -1.0 + del x224 + x225 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x225 += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 3), (4, 5, 0, 1, 6, 7)) + x226 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x226 += einsum(t1, (0, 1), x225, (2, 3, 0, 4, 5, 6), (2, 3, 4, 1, 5, 6)) + del x225 + t3new += einsum(x226, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) + t3new += einsum(x226, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -1.0 + t3new += einsum(x226, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) + t3new += einsum(x226, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -1.0 + t3new += einsum(x226, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) * -1.0 + t3new += einsum(x226, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) + t3new += einsum(x226, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -1.0 + t3new += einsum(x226, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) + del x226 + x227 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x227 += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 5, 1, 6, 3, 7), (4, 5, 0, 2, 6, 7)) + x228 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x228 += einsum(t1, (0, 1), x227, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) + del x227 + t3new += einsum(x228, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) + t3new += einsum(x228, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -1.0 + del x228 + x229 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x229 += einsum(t1, (0, 1), x24, (2, 3, 0, 4), (2, 3, 4, 1)) + x230 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x230 += einsum(t2, (0, 1, 2, 3), x229, (4, 5, 1, 6), (4, 0, 5, 6, 2, 3)) + del x229 + t3new += einsum(x230, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * -1.0 + t3new += einsum(x230, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) + t3new += einsum(x230, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) + t3new += einsum(x230, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * -1.0 + del x230 + x231 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x231 += einsum(v.ovov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 3), (4, 5, 0, 6, 7, 1)) + t3new += einsum(x231, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + t3new += einsum(x231, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -1.0 + t3new += einsum(x231, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) + t3new += einsum(x231, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 + t3new += einsum(x231, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -1.0 + t3new += einsum(x231, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) + t3new += einsum(x231, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -1.0 + t3new += einsum(x231, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) + del x231 + x232 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x232 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) * 0.499999999999995 + x232 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + x232 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 + x233 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x233 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x233 += einsum(x18, (0, 1, 2, 3), (1, 0, 3, 2)) + del x18 + x233 += einsum(x23, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + x233 += einsum(x194, (0, 1, 2, 3), (1, 0, 3, 2)) * 1.00000000000001 + del x194 + x233 += einsum(v.ovov, (0, 1, 2, 3), x232, (2, 4, 5, 3), (0, 4, 1, 5)) * 2.00000000000002 + del x232 + x234 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x234 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + x234 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 + x234 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) + x234 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -1.0 + t3new += einsum(x233, (0, 1, 2, 3), x234, (0, 4, 5, 2, 6, 7), (4, 1, 5, 7, 3, 6)) + del x233, x234 + x235 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x235 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x235 += einsum(x219, (0, 1, 2, 3), (1, 0, 3, 2)) + del x219 + x235 += einsum(x92, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + x235 += einsum(x97, (0, 1, 2, 3), (1, 0, 3, 2)) + del x97 + t3new += einsum(x235, (0, 1, 2, 3), t3, (4, 0, 5, 6, 2, 7), (4, 1, 5, 6, 3, 7)) + del x235 + x236 = np.zeros((nvir, nvir), dtype=types[float]) + x236 += einsum(f.vv, (0, 1), (0, 1)) * -1.0 + x236 += einsum(x113, (0, 1), (0, 1)) + del x113 + x236 += einsum(x114, (0, 1), (1, 0)) + del x114 + x236 += einsum(x60, (0, 1), (1, 0)) * -1.0 + del x60 + t3new += einsum(x236, (0, 1), t3, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) * -1.0 + del x236 + x237 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x237 += einsum(v.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) + x237 += einsum(x5, (0, 1, 2, 3), (0, 1, 2, 3)) + x238 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x238 += einsum(x237, (0, 1, 2, 3), x38, (1, 4, 5, 3), (4, 0, 2, 5)) + x239 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x239 += einsum(t2, (0, 1, 2, 3), x237, (4, 5, 1, 3), (0, 4, 5, 2)) * 0.5 + x240 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x240 += einsum(t2, (0, 1, 2, 3), x237, (4, 5, 1, 2), (0, 4, 5, 3)) * 0.5 + del x237 + x241 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x241 += einsum(x9, (0, 1), t2, (2, 3, 1, 4), (2, 3, 0, 4)) + del x9 + x242 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x242 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) + x242 += einsum(x92, (0, 1, 2, 3), (0, 1, 3, 2)) + del x92 + x243 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x243 += einsum(t1, (0, 1), x242, (2, 3, 1, 4), (0, 2, 3, 4)) * 0.5 + del x242 + x244 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x244 += einsum(v.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) + x244 += einsum(x24, (0, 1, 2, 3), (2, 1, 0, 3)) + x244 += einsum(x19, (0, 1, 2, 3), (3, 1, 0, 2)) + x245 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x245 += einsum(t1, (0, 1), x244, (0, 2, 3, 4), (2, 3, 4, 1)) * 0.5 + del x244 + x246 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x246 += einsum(v.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) * -0.5 + x246 += einsum(x5, (0, 1, 2, 3), (1, 2, 0, 3)) * -0.5 + x246 += einsum(x238, (0, 1, 2, 3), (0, 2, 1, 3)) + del x238 + x246 += einsum(x239, (0, 1, 2, 3), (0, 2, 1, 3)) + del x239 + x246 += einsum(x240, (0, 1, 2, 3), (1, 2, 0, 3)) + del x240 + x246 += einsum(x241, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 + del x241 + x246 += einsum(x243, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + del x243 + x246 += einsum(x245, (0, 1, 2, 3), (0, 2, 1, 3)) + del x245 + x247 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x247 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + x247 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) + t3new += einsum(x246, (0, 1, 2, 3), x247, (1, 4, 5, 6), (4, 0, 2, 5, 3, 6)) * -2.0 + x248 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x248 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) + x248 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + t3new += einsum(x246, (0, 1, 2, 3), x248, (1, 4, 5, 6), (2, 0, 4, 5, 3, 6)) * -2.0 + del x246 + x249 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x249 += einsum(v.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) + x249 += einsum(x24, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 + x250 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x250 += einsum(t1, (0, 1), x249, (0, 2, 3, 4), (2, 3, 4, 1)) + del x249 + x251 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x251 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) + x251 += einsum(x250, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 + del x250 + x252 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x252 += einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), (0, 2, 3, 4)) + x253 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x253 += einsum(t1, (0, 1), x19, (2, 3, 4, 0), (2, 3, 4, 1)) + del x19 + x254 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x254 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) + x254 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + x254 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) + x255 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x255 += einsum(v.ooov, (0, 1, 2, 3), x254, (1, 4, 5, 3), (0, 2, 4, 5)) + del x254 + x256 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x256 += einsum(x38, (0, 1, 2, 3), x5, (4, 0, 5, 3), (4, 5, 1, 2)) * 2.0 + del x38 + x257 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x257 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) + x257 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 + x258 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x258 += einsum(v.ooov, (0, 1, 2, 3), x257, (2, 4, 5, 3), (0, 1, 4, 5)) * 2.0 + del x257 + x259 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x259 += einsum(x247, (0, 1, 2, 3), x5, (4, 5, 0, 3), (4, 5, 1, 2)) + del x247 + x260 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x260 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) + x260 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x260 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) + x261 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x261 += einsum(t1, (0, 1), x260, (2, 3, 1, 4), (0, 2, 3, 4)) + del x260 + x262 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x262 += einsum(x8, (0, 1), t2, (2, 3, 1, 4), (2, 3, 0, 4)) * 2.0 + del x8 + x263 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x263 += einsum(x253, (0, 1, 2, 3), (0, 2, 1, 3)) + x263 += einsum(x255, (0, 1, 2, 3), (2, 1, 0, 3)) + x263 += einsum(x256, (0, 1, 2, 3), (0, 1, 2, 3)) + x263 += einsum(x258, (0, 1, 2, 3), (2, 1, 0, 3)) + x263 += einsum(x259, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x259 + x263 += einsum(x261, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + del x261 + x263 += einsum(x262, (0, 1, 2, 3), (1, 2, 0, 3)) + x264 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x264 += einsum(x251, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x264 += einsum(x251, (0, 1, 2, 3), (0, 2, 1, 3)) + del x251 + x264 += einsum(x252, (0, 1, 2, 3), (0, 1, 2, 3)) + x264 += einsum(x252, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x264 += einsum(x263, (0, 1, 2, 3), (1, 0, 2, 3)) + x264 += einsum(x263, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 + del x263 + t3new += einsum(t2, (0, 1, 2, 3), x264, (1, 4, 5, 6), (4, 0, 5, 6, 2, 3)) * -1.0 + del x264 + x265 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x265 += einsum(t1, (0, 1), v.oooo, (2, 3, 4, 0), (2, 3, 4, 1)) + x266 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x266 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x266 += einsum(x265, (0, 1, 2, 3), (1, 0, 2, 3)) + del x265 + x266 += einsum(x252, (0, 1, 2, 3), (1, 0, 2, 3)) + del x252 + x267 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x267 += einsum(x34, (0, 1, 2, 3), (0, 2, 1, 3)) + del x34 + x267 += einsum(x258, (0, 1, 2, 3), (2, 1, 0, 3)) + del x258 + x268 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x268 += einsum(x248, (0, 1, 2, 3), x5, (4, 5, 0, 2), (4, 5, 1, 3)) + del x5, x248 + x269 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x269 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + x269 += einsum(x23, (0, 1, 2, 3), (1, 0, 2, 3)) + del x23 + x270 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x270 += einsum(t1, (0, 1), x269, (2, 3, 1, 4), (0, 2, 3, 4)) + del x269 + x271 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x271 += einsum(x253, (0, 1, 2, 3), (0, 1, 2, 3)) + del x253 + x271 += einsum(x255, (0, 1, 2, 3), (2, 0, 1, 3)) + del x255 + x271 += einsum(x256, (0, 1, 2, 3), (0, 2, 1, 3)) + del x256 + x271 += einsum(x268, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + del x268 + x271 += einsum(x262, (0, 1, 2, 3), (1, 0, 2, 3)) + del x262 + x271 += einsum(x270, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + del x270 + x272 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x272 += einsum(t1, (0, 1), x24, (2, 3, 4, 0), (2, 4, 3, 1)) + del x24 + x273 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x273 += einsum(x266, (0, 1, 2, 3), (0, 2, 1, 3)) + x273 += einsum(x266, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 + del x266 + x273 += einsum(x267, (0, 1, 2, 3), (0, 1, 2, 3)) + x273 += einsum(x267, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x267 + x273 += einsum(x271, (0, 1, 2, 3), (0, 1, 2, 3)) + x273 += einsum(x271, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x271 + x273 += einsum(x272, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x273 += einsum(x272, (0, 1, 2, 3), (1, 0, 2, 3)) + del x272 + t3new += einsum(t2, (0, 1, 2, 3), x273, (4, 5, 1, 6), (5, 0, 4, 3, 2, 6)) * -1.0 + del x273 + + return {"t1new": t1new, "t2new": t2new, "t3new": t3new} + +def update_lams(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, t3=None, l1=None, l2=None, l3=None, **kwargs): + # L amplitudes + l1new = np.zeros((nvir, nocc), dtype=types[float]) + l1new += einsum(f.ov, (0, 1), (1, 0)) + l2new = np.zeros((nvir, nvir, nocc, nocc), dtype=types[float]) + l2new += einsum(l2, (0, 1, 2, 3), v.vvvv, (4, 1, 5, 0), (4, 5, 3, 2)) + l2new += einsum(v.ovov, (0, 1, 2, 3), (1, 3, 0, 2)) + l2new += einsum(l2, (0, 1, 2, 3), v.oooo, (4, 2, 5, 3), (0, 1, 4, 5)) + l3new = np.zeros((nvir, nvir, nvir, nocc, nocc, nocc), dtype=types[float]) + l3new += einsum(l1, (0, 1), v.ovov, (2, 3, 4, 5), (0, 3, 5, 1, 2, 4)) + l3new += einsum(l1, (0, 1), v.ovov, (2, 3, 4, 5), (5, 3, 0, 1, 2, 4)) * -1.0 + l3new += einsum(l1, (0, 1), v.ovov, (2, 3, 4, 5), (5, 0, 3, 2, 1, 4)) * -1.0 + l3new += einsum(l1, (0, 1), v.ovov, (2, 3, 4, 5), (3, 0, 5, 2, 1, 4)) + l3new += einsum(l1, (0, 1), v.ovov, (2, 3, 4, 5), (0, 5, 3, 2, 4, 1)) * -1.0 + l3new += einsum(l1, (0, 1), v.ovov, (2, 3, 4, 5), (3, 5, 0, 2, 4, 1)) + x0 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x0 += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 3), (4, 5, 0, 1, 6, 7)) + x1 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x1 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) + x1 += einsum(v.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 + x2 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x2 += einsum(x1, (0, 1, 2, 3), t3, (4, 5, 0, 6, 3, 7), (4, 5, 1, 2, 7, 6)) * 0.25 + x3 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x3 += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (4, 5, 0, 2, 6, 7)) + x4 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x4 += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 2, 5, 6, 3, 7), (4, 5, 0, 1, 6, 7)) + x5 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x5 += einsum(t1, (0, 1), v.ooov, (2, 3, 4, 1), (0, 2, 3, 4)) + x6 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x6 += einsum(t2, (0, 1, 2, 3), x5, (4, 5, 1, 6), (4, 0, 5, 6, 2, 3)) + x7 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x7 += einsum(t2, (0, 1, 2, 3), x5, (4, 5, 6, 1), (4, 0, 5, 6, 2, 3)) + x8 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x8 += einsum(t1, (0, 1), v.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) + x9 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x9 += einsum(x8, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (0, 4, 5, 2, 6, 7)) + x10 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x10 += einsum(x8, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x10 += einsum(x8, (0, 1, 2, 3), (0, 2, 1, 3)) + x11 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x11 += einsum(x10, (0, 1, 2, 3), t3, (4, 5, 1, 6, 3, 7), (4, 5, 0, 2, 7, 6)) * 0.25 + x12 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x12 += einsum(x8, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 3), (0, 4, 5, 1, 6, 7)) + x13 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x13 += einsum(x8, (0, 1, 2, 3), t3, (4, 1, 5, 6, 3, 7), (0, 4, 5, 2, 6, 7)) + x14 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x14 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -0.5 + x14 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + x15 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x15 += einsum(t2, (0, 1, 2, 3), x14, (1, 4, 3, 5), (0, 4, 2, 5)) + x16 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x16 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) + x16 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x17 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x17 += einsum(t2, (0, 1, 2, 3), x16, (1, 4, 2, 5), (0, 4, 3, 5)) * 0.5 + x18 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x18 += einsum(x15, (0, 1, 2, 3), (0, 1, 2, 3)) + x18 += einsum(x17, (0, 1, 2, 3), (0, 1, 2, 3)) + x19 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x19 += einsum(t2, (0, 1, 2, 3), x18, (4, 5, 6, 2), (0, 1, 4, 5, 3, 6)) * 2.0 + x20 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x20 += einsum(t1, (0, 1), x8, (2, 3, 4, 1), (0, 2, 3, 4)) + x21 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x21 += einsum(t2, (0, 1, 2, 3), x20, (4, 5, 1, 6), (5, 4, 0, 6, 2, 3)) + x22 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x22 += einsum(v.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x22 += einsum(v.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) + x23 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x23 += einsum(t1, (0, 1), x22, (2, 3, 1, 4), (0, 2, 3, 4)) * -1.0 + x24 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) + x24 += einsum(t2, (0, 1, 2, 3), x8, (4, 5, 6, 3), (4, 0, 1, 6, 5, 2)) + x25 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) + x25 += einsum(x24, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 + x25 += einsum(x24, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) + x26 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x26 += einsum(x0, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) * 1.25 + x26 += einsum(x0, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) * -0.25 + x26 += einsum(x0, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -0.25 + x26 += einsum(x0, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * 1.25 + del x0 + x26 += einsum(x2, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) + x26 += einsum(x2, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -1.0 + del x2 + x26 += einsum(x3, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) * -0.25 + x26 += einsum(x3, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) * 0.25 + x26 += einsum(x3, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * 0.25 + x26 += einsum(x3, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -1.25 + del x3 + x26 += einsum(x4, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -0.25 + x26 += einsum(x4, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * 0.25 + del x4 + x26 += einsum(x6, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * 0.5 + x26 += einsum(x6, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.5 + x26 += einsum(x7, (0, 1, 2, 3, 4, 5), (0, 3, 1, 2, 4, 5)) * -0.5 + x26 += einsum(x7, (0, 1, 2, 3, 4, 5), (0, 3, 1, 2, 5, 4)) * 0.5 + x26 += einsum(x9, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 1.25 + x26 += einsum(x9, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -0.25 + x26 += einsum(x9, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -0.25 + x26 += einsum(x9, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 1.25 + del x9 + x26 += einsum(x11, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) + x26 += einsum(x11, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -1.0 + del x11 + x26 += einsum(x12, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -0.25 + x26 += einsum(x12, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 0.25 + x26 += einsum(x12, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * 0.25 + x26 += einsum(x12, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.25 + del x12 + x26 += einsum(x13, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -0.25 + x26 += einsum(x13, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 0.25 + del x13 + x26 += einsum(x19, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -1.0 + x26 += einsum(x19, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) * 0.5 + del x19 + x26 += einsum(x21, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 0.5 + x26 += einsum(x21, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.5 + x26 += einsum(x21, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * -0.5 + x26 += einsum(x21, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * 0.5 + x26 += einsum(t2, (0, 1, 2, 3), x23, (4, 5, 3, 6), (4, 0, 1, 5, 2, 6)) * -1.0 + del x23 + x26 += einsum(t1, (0, 1), x25, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 6, 1)) * -1.0 + del x25 + l1new += einsum(l3, (0, 1, 2, 3, 4, 5), x26, (3, 4, 5, 6, 1, 2), (0, 6)) * -1.0 + del x26 + x27 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x27 += einsum(f.ov, (0, 1), t3, (2, 3, 4, 5, 6, 1), (0, 2, 4, 3, 5, 6)) + x28 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x28 += einsum(f.ov, (0, 1), t3, (2, 3, 4, 5, 1, 6), (0, 2, 4, 3, 5, 6)) + x29 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x29 += einsum(x1, (0, 1, 2, 3), t3, (4, 5, 0, 6, 7, 3), (4, 5, 1, 2, 6, 7)) * 1.00000000000004 + x30 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x30 += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 6, 1, 7, 3), (4, 6, 5, 0, 7, 2)) + x31 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x31 += einsum(t2, (0, 1, 2, 3), x18, (4, 5, 6, 2), (0, 1, 4, 5, 3, 6)) * 2.00000000000008 + del x18 + x32 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x32 += einsum(x30, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + x32 += einsum(x31, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) + del x31 + x33 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x33 += einsum(x10, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (4, 5, 0, 2, 6, 7)) * 1.00000000000004 + x34 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) + x34 += einsum(v.ovov, (0, 1, 2, 3), t3, (4, 5, 6, 1, 7, 3), (4, 6, 5, 0, 2, 7)) + x35 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x35 += einsum(t1, (0, 1), x34, (2, 3, 4, 0, 5, 6), (3, 2, 4, 5, 1, 6)) + del x34 + x36 = np.zeros((nocc, nvir), dtype=types[float]) + x36 += einsum(t1, (0, 1), x14, (0, 2, 1, 3), (2, 3)) + x37 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x37 += einsum(x36, (0, 1), t3, (2, 3, 4, 5, 1, 6), (2, 4, 3, 0, 5, 6)) * 0.6666666666666666 + x38 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x38 += einsum(x36, (0, 1), t3, (2, 3, 4, 1, 5, 6), (2, 4, 3, 0, 6, 5)) * 0.6666666666666666 + x39 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x39 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) + x39 += einsum(v.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 + x39 += einsum(x8, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + x39 += einsum(x8, (0, 1, 2, 3), (2, 0, 1, 3)) + x40 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x40 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) + x40 += einsum(x8, (0, 1, 2, 3), (0, 2, 1, 3)) + x41 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x41 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) + x41 += einsum(x8, (0, 1, 2, 3), (2, 0, 1, 3)) + x42 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x42 += einsum(x27, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -0.3333333333333333 + x42 += einsum(x27, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * 2.333333333333333 + x42 += einsum(x27, (0, 1, 2, 3, 4, 5), (2, 3, 0, 1, 4, 5)) * 0.3333333333333333 + x42 += einsum(x27, (0, 1, 2, 3, 4, 5), (2, 3, 0, 1, 5, 4)) * -0.3333333333333333 + x42 += einsum(x28, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * 0.3333333333333333 + x42 += einsum(x28, (0, 1, 2, 3, 4, 5), (1, 3, 0, 2, 5, 4)) * -0.3333333333333333 + del x28 + x42 += einsum(x29, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) + x42 += einsum(x29, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -1.0 + del x29 + x42 += einsum(x32, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) + x42 += einsum(x32, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) * -1.0 + del x32 + x42 += einsum(x33, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) + x42 += einsum(x33, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -1.0 + del x33 + x42 += einsum(x35, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -1.0 + x42 += einsum(x35, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 5, 4)) + x42 += einsum(x37, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) + x42 += einsum(x37, (0, 1, 2, 3, 4, 5), (1, 2, 3, 0, 4, 5)) * -1.0 + del x37 + x42 += einsum(x38, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 + x42 += einsum(x38, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * 6.999999999999999 + x42 += einsum(x38, (0, 1, 2, 3, 4, 5), (0, 2, 3, 1, 4, 5)) + x42 += einsum(x38, (0, 1, 2, 3, 4, 5), (0, 2, 3, 1, 5, 4)) * -1.0 + del x38 + x42 += einsum(x39, (0, 1, 2, 3), t3, (4, 5, 0, 6, 3, 7), (4, 5, 2, 1, 6, 7)) * -1.00000000000004 + del x39 + x42 += einsum(x40, (0, 1, 2, 3), t3, (4, 2, 5, 6, 3, 7), (4, 5, 1, 0, 7, 6)) * 1.00000000000004 + x42 += einsum(x41, (0, 1, 2, 3), t3, (4, 0, 5, 3, 6, 7), (4, 5, 2, 1, 6, 7)) * -2.00000000000008 + l1new += einsum(l3, (0, 1, 2, 3, 4, 5), x42, (3, 5, 6, 4, 1, 2), (0, 6)) * -0.24999999999999 + del x42 + x43 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x43 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 + x43 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * 2.0 + x44 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x44 += einsum(t2, (0, 1, 2, 3), x43, (1, 4, 3, 5), (0, 4, 2, 5)) * 1.5000000000000002 + x45 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x45 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 + x45 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * 3.0000000000000004 + x46 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x46 += einsum(t2, (0, 1, 2, 3), x45, (1, 4, 2, 5), (0, 4, 3, 5)) * 0.5 + del x45 + x47 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x47 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) + x47 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -2.0 + x47 += einsum(x44, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x44 + x47 += einsum(x46, (0, 1, 2, 3), (0, 1, 2, 3)) + del x46 + x48 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x48 += einsum(t2, (0, 1, 2, 3), x47, (4, 5, 6, 2), (0, 1, 4, 5, 3, 6)) * 6.00000000000024 + del x47 + x49 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) + x49 += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), (0, 1, 4, 5, 6, 2)) + x50 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) + x50 += einsum(x49, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -0.5 + x50 += einsum(x49, (0, 1, 2, 3, 4, 5), (0, 1, 3, 4, 2, 5)) + x51 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x51 += einsum(t1, (0, 1), x50, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) * 12.00000000000048 + del x50 + x52 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x52 += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 1, 3), (4, 6, 5, 0, 7, 2)) + x53 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x53 += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 3, 1), (4, 6, 5, 0, 7, 2)) + x54 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x54 += einsum(v.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) + x54 += einsum(v.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 + x55 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x55 += einsum(t1, (0, 1), x54, (2, 3, 1, 4), (0, 2, 3, 4)) + x56 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x56 += einsum(t2, (0, 1, 2, 3), x55, (4, 5, 2, 6), (0, 1, 4, 5, 3, 6)) * 12.00000000000048 + del x55 + x57 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) + x57 += einsum(v.ovov, (0, 1, 2, 3), t3, (4, 5, 6, 7, 3, 1), (4, 6, 5, 0, 2, 7)) + x58 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x58 += einsum(t1, (0, 1), x57, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) + x59 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x59 += einsum(t1, (0, 1), x57, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 1, 6)) + x60 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) + x60 += einsum(x24, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + x60 += einsum(x24, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -0.5 + x61 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x61 += einsum(t1, (0, 1), x60, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 1, 6)) * 12.00000000000048 + del x60 + x62 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x62 += einsum(x48, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) + x62 += einsum(x48, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 + del x48 + x62 += einsum(x51, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) + x62 += einsum(x51, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 5, 4)) * -1.0 + del x51 + x62 += einsum(x52, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * 2.0 + x62 += einsum(x52, (0, 1, 2, 3, 4, 5), (2, 1, 3, 0, 4, 5)) * -2.0 + x62 += einsum(x30, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 + x62 += einsum(x30, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) + x62 += einsum(x30, (0, 1, 2, 3, 4, 5), (2, 0, 3, 1, 4, 5)) * -1.0 + x62 += einsum(x30, (0, 1, 2, 3, 4, 5), (2, 1, 3, 0, 4, 5)) + x62 += einsum(x53, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -8.0 + x62 += einsum(x53, (0, 1, 2, 3, 4, 5), (2, 1, 3, 0, 4, 5)) * 2.0 + del x53 + x62 += einsum(x56, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) * -1.0 + x62 += einsum(x56, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) + del x56 + x62 += einsum(x58, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * 8.0 + x62 += einsum(x58, (0, 1, 2, 3, 4, 5), (2, 1, 3, 0, 5, 4)) * -2.0 + del x58 + x62 += einsum(x35, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) + x62 += einsum(x35, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 5, 4)) * -1.0 + x62 += einsum(x35, (0, 1, 2, 3, 4, 5), (2, 0, 3, 1, 5, 4)) + x62 += einsum(x35, (0, 1, 2, 3, 4, 5), (2, 1, 3, 0, 5, 4)) * -1.0 + x62 += einsum(x59, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -2.0 + x62 += einsum(x59, (0, 1, 2, 3, 4, 5), (2, 1, 3, 0, 5, 4)) * 2.0 + x62 += einsum(x61, (0, 1, 2, 3, 4, 5), (1, 2, 3, 0, 5, 4)) + x62 += einsum(x61, (0, 1, 2, 3, 4, 5), (2, 1, 3, 0, 5, 4)) * -1.0 + del x61 + l1new += einsum(l3, (0, 1, 2, 3, 4, 5), x62, (5, 3, 6, 4, 2, 1), (0, 6)) * 0.08333333333333 + del x62 + x63 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x63 += einsum(t2, (0, 1, 2, 3), v.oooo, (4, 5, 6, 1), (0, 4, 5, 6, 2, 3)) + x64 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x64 += einsum(x36, (0, 1), t3, (2, 3, 4, 1, 5, 6), (2, 4, 3, 0, 6, 5)) * 0.11111111111110666 + x65 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x65 += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 2, 5, 3), (0, 1, 4, 5)) + x66 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x66 += einsum(t2, (0, 1, 2, 3), x65, (4, 5, 6, 1), (4, 5, 0, 6, 2, 3)) + x67 = np.zeros((nocc, nvir), dtype=types[float]) + x67 += einsum(t1, (0, 1), x14, (0, 2, 1, 3), (2, 3)) * 2.0 + x68 = np.zeros((nocc, nvir), dtype=types[float]) + x68 += einsum(f.ov, (0, 1), (0, 1)) + x68 += einsum(x67, (0, 1), (0, 1)) + l3new += einsum(x68, (0, 1), l2, (2, 3, 4, 5), (1, 2, 3, 0, 4, 5)) + l3new += einsum(x68, (0, 1), l2, (2, 3, 4, 5), (2, 3, 1, 4, 5, 0)) + l3new += einsum(x68, (0, 1), l2, (2, 3, 4, 5), (2, 3, 1, 0, 5, 4)) * -1.0 + l3new += einsum(x68, (0, 1), l2, (2, 3, 4, 5), (1, 2, 3, 5, 4, 0)) * -1.0 + x69 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x69 += einsum(x63, (0, 1, 2, 3, 4, 5), (1, 2, 3, 0, 4, 5)) * 0.3333333333333333 + x69 += einsum(x63, (0, 1, 2, 3, 4, 5), (1, 2, 3, 0, 5, 4)) * -1.0 + x69 += einsum(x63, (0, 1, 2, 3, 4, 5), (1, 3, 2, 0, 4, 5)) * -0.3333333333333333 + x69 += einsum(x63, (0, 1, 2, 3, 4, 5), (1, 3, 2, 0, 5, 4)) * 0.3333333333333333 + x69 += einsum(x27, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -0.05555555555555333 + x69 += einsum(x27, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 0.05555555555555333 + del x27 + x69 += einsum(x7, (0, 1, 2, 3, 4, 5), (2, 3, 0, 1, 4, 5)) * 0.3333333333333333 + x69 += einsum(x7, (0, 1, 2, 3, 4, 5), (2, 3, 0, 1, 5, 4)) * -1.0 + x69 += einsum(x6, (0, 1, 2, 3, 4, 5), (3, 2, 0, 1, 4, 5)) * -0.3333333333333333 + x69 += einsum(x6, (0, 1, 2, 3, 4, 5), (3, 2, 0, 1, 5, 4)) * 0.3333333333333333 + x69 += einsum(x64, (0, 1, 2, 3, 4, 5), (3, 1, 0, 2, 4, 5)) * -1.0 + x69 += einsum(x64, (0, 1, 2, 3, 4, 5), (3, 1, 0, 2, 5, 4)) + del x64 + x69 += einsum(x66, (0, 1, 2, 3, 4, 5), (3, 0, 1, 2, 4, 5)) * 0.3333333333333333 + x69 += einsum(x66, (0, 1, 2, 3, 4, 5), (3, 0, 1, 2, 5, 4)) * -1.0 + x69 += einsum(x66, (0, 1, 2, 3, 4, 5), (3, 1, 0, 2, 4, 5)) * -0.3333333333333333 + x69 += einsum(x66, (0, 1, 2, 3, 4, 5), (3, 1, 0, 2, 5, 4)) * 0.3333333333333333 + x69 += einsum(x68, (0, 1), t3, (2, 3, 4, 5, 1, 6), (0, 2, 4, 3, 5, 6)) * 0.05555555555555333 + l1new += einsum(l3, (0, 1, 2, 3, 4, 5), x69, (6, 5, 4, 3, 1, 2), (0, 6)) * 1.5 + del x69 + x70 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x70 += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 2, 1, 5), (0, 4, 3, 5)) + x71 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x71 += einsum(t2, (0, 1, 2, 3), x70, (4, 5, 6, 3), (0, 1, 4, 5, 2, 6)) + x72 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x72 += einsum(t1, (0, 1), x49, (2, 3, 4, 5, 0, 6), (2, 3, 5, 4, 1, 6)) + x73 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x73 += einsum(t1, (0, 1), x24, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) + x74 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x74 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + x74 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) + x74 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) + x75 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x75 += einsum(x71, (0, 1, 2, 3, 4, 5), (3, 1, 0, 2, 4, 5)) * 2.0 + x75 += einsum(x66, (0, 1, 2, 3, 4, 5), (3, 2, 1, 0, 5, 4)) * 2.0 + del x66 + x75 += einsum(x59, (0, 1, 2, 3, 4, 5), (3, 0, 1, 2, 5, 4)) * -1.9999999999999198 + del x59 + x75 += einsum(x72, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) * -2.0 + x75 += einsum(x72, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * 2.0 + x75 += einsum(x73, (0, 1, 2, 3, 4, 5), (3, 1, 2, 0, 5, 4)) * -2.0 + x75 += einsum(x73, (0, 1, 2, 3, 4, 5), (3, 2, 1, 0, 5, 4)) * 2.0 + x75 += einsum(x40, (0, 1, 2, 3), x74, (2, 4, 5, 3, 6, 7), (1, 5, 4, 0, 7, 6)) + del x74 + x75 += einsum(x41, (0, 1, 2, 3), t3, (4, 0, 5, 6, 3, 7), (2, 4, 5, 1, 6, 7)) * -1.0 + del x41 + x75 += einsum(x68, (0, 1), t3, (2, 3, 4, 5, 1, 6), (0, 2, 4, 3, 5, 6)) * 0.99999999999996 + l1new += einsum(l3, (0, 1, 2, 3, 4, 5), x75, (6, 3, 5, 4, 0, 2), (1, 6)) * -0.25 + del x75 + x76 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x76 += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 3, 1, 5), (0, 4, 2, 5)) + x77 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x77 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + x77 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x78 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x78 += einsum(v.ovov, (0, 1, 2, 3), x77, (2, 4, 3, 5), (0, 4, 1, 5)) * 0.5 + x79 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x79 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + x79 += einsum(x76, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 + x79 += einsum(x78, (0, 1, 2, 3), (1, 0, 3, 2)) + del x78 + x80 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x80 += einsum(t2, (0, 1, 2, 3), x79, (4, 5, 6, 2), (0, 1, 4, 5, 3, 6)) + del x79 + x81 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x81 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) + x81 += einsum(x70, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 + x82 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x82 += einsum(t2, (0, 1, 2, 3), x81, (4, 5, 6, 2), (0, 1, 4, 5, 3, 6)) * 2.0 + del x81 + x83 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x83 += einsum(t1, (0, 1), x49, (2, 3, 0, 4, 5, 6), (2, 3, 4, 5, 1, 6)) + x84 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x84 += einsum(x80, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) + x84 += einsum(x80, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 + del x80 + x84 += einsum(x82, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) * -1.0 + x84 += einsum(x82, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * 0.5 + del x82 + x84 += einsum(x72, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * 2.0 + x84 += einsum(x72, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 5, 4)) * -1.0 + del x72 + x84 += einsum(x83, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -1.0 + x84 += einsum(x83, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 5, 4)) + l1new += einsum(l3, (0, 1, 2, 3, 4, 5), x84, (3, 4, 6, 5, 2, 1), (0, 6)) * -1.0 + del x84 + x85 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x85 += einsum(x5, (0, 1, 2, 3), (0, 2, 1, 3)) + x85 += einsum(x5, (0, 1, 2, 3), (0, 3, 2, 1)) * -1.0 + x86 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x86 += einsum(t2, (0, 1, 2, 3), x85, (4, 1, 5, 6), (0, 4, 5, 6, 3, 2)) * 6.0 + del x85 + x87 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x87 += einsum(x65, (0, 1, 2, 3), (1, 0, 3, 2)) + x87 += einsum(x20, (0, 1, 2, 3), (0, 1, 2, 3)) + l2new += einsum(l2, (0, 1, 2, 3), x87, (3, 2, 4, 5), (0, 1, 5, 4)) + x88 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x88 += einsum(t2, (0, 1, 2, 3), x87, (4, 5, 1, 6), (0, 4, 5, 6, 3, 2)) * 3.0 + x89 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x89 += einsum(x63, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * -3.0 + x89 += einsum(x63, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) + x89 += einsum(x63, (0, 1, 2, 3, 4, 5), (3, 0, 2, 1, 4, 5)) * 3.0 + x89 += einsum(x63, (0, 1, 2, 3, 4, 5), (3, 0, 2, 1, 5, 4)) * -1.0 + x89 += einsum(x86, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 5, 4)) * -1.0 + x89 += einsum(x86, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) * 0.3333333333333333 + del x86 + x89 += einsum(x88, (0, 1, 2, 3, 4, 5), (2, 0, 3, 1, 5, 4)) * -1.0 + x89 += einsum(x88, (0, 1, 2, 3, 4, 5), (2, 0, 3, 1, 4, 5)) * 0.3333333333333333 + x89 += einsum(x88, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 5, 4)) + x89 += einsum(x88, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) * -0.3333333333333333 + del x88 + l1new += einsum(l3, (0, 1, 2, 3, 4, 5), x89, (3, 4, 6, 5, 1, 2), (0, 6)) * -0.25 + del x89 + x90 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x90 += einsum(t1, (0, 1), v.ovvv, (2, 1, 3, 4), (0, 2, 3, 4)) + x91 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x91 += einsum(t2, (0, 1, 2, 3), x90, (4, 5, 6, 3), (4, 0, 1, 5, 2, 6)) + x92 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x92 += einsum(v.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) + x92 += einsum(x5, (0, 1, 2, 3), (2, 1, 0, 3)) + x92 += einsum(x65, (0, 1, 2, 3), (3, 1, 0, 2)) + x93 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x93 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) + x93 += einsum(x90, (0, 1, 2, 3), (0, 1, 3, 2)) + x93 += einsum(x70, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x94 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x94 += einsum(x63, (0, 1, 2, 3, 4, 5), (3, 0, 2, 1, 5, 4)) * -1.0000000000000402 + del x63 + x94 += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 6, 2), (0, 1, 4, 5, 6, 3)) * 1.0000000000000402 + x94 += einsum(x6, (0, 1, 2, 3, 4, 5), (2, 1, 3, 0, 5, 4)) * -1.0000000000000402 + del x6 + x94 += einsum(x52, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -1.0 + del x52 + x94 += einsum(x91, (0, 1, 2, 3, 4, 5), (2, 1, 3, 0, 5, 4)) * 1.0000000000000402 + x94 += einsum(x40, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 3), (4, 5, 1, 0, 6, 7)) * 0.5000000000000201 + x94 += einsum(t2, (0, 1, 2, 3), x92, (1, 4, 5, 6), (4, 0, 6, 5, 2, 3)) * 1.0000000000000402 + del x92 + x94 += einsum(t2, (0, 1, 2, 3), x93, (4, 5, 6, 3), (0, 1, 5, 4, 6, 2)) * -1.0000000000000402 + del x93 + l1new += einsum(l3, (0, 1, 2, 3, 4, 5), x94, (5, 3, 6, 4, 0, 2), (1, 6)) * 0.49999999999997996 + del x94 + x95 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x95 += einsum(t1, (0, 1), x24, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 1, 6)) + del x24 + x96 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x96 += einsum(v.ovov, (0, 1, 2, 3), x77, (2, 4, 3, 5), (0, 4, 1, 5)) + x97 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x97 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + x97 += einsum(x76, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x97 += einsum(x96, (0, 1, 2, 3), (1, 0, 3, 2)) + x98 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x98 += einsum(x8, (0, 1, 2, 3), t3, (4, 5, 2, 6, 3, 7), (4, 5, 0, 1, 6, 7)) + x98 += einsum(x95, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * 2.0 + x98 += einsum(x7, (0, 1, 2, 3, 4, 5), (1, 3, 0, 2, 4, 5)) + x98 += einsum(x7, (0, 1, 2, 3, 4, 5), (1, 3, 0, 2, 5, 4)) * -1.0 + del x7 + x98 += einsum(x21, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) + x98 += einsum(x21, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) * -1.0 + del x21 + x98 += einsum(t2, (0, 1, 2, 3), x97, (4, 5, 6, 3), (0, 1, 4, 5, 2, 6)) * -2.0 + del x97 + l1new += einsum(l3, (0, 1, 2, 3, 4, 5), x98, (3, 4, 5, 6, 0, 2), (1, 6)) * 0.5 + del x98 + x99 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x99 += einsum(t1, (0, 1), v.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) + x100 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x100 += einsum(t2, (0, 1, 2, 3), x99, (4, 5, 3, 6), (4, 0, 1, 5, 2, 6)) + x101 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x101 += einsum(x71, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 0.25 + del x71 + x101 += einsum(x100, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) * 0.5 + x101 += einsum(x100, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -0.5 + x101 += einsum(x91, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) * -1.0 + x101 += einsum(x91, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * 0.5 + del x91 + x101 += einsum(x73, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) + x101 += einsum(x73, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -0.5 + del x73 + x101 += einsum(x95, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -0.5 + x101 += einsum(x95, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * 0.5 + del x95 + l1new += einsum(l3, (0, 1, 2, 3, 4, 5), x101, (5, 4, 3, 6, 2, 1), (0, 6)) * 2.0 + del x101 + x102 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x102 += einsum(v.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) + x102 += einsum(v.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x103 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) + x103 += einsum(x57, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 + x103 += einsum(x57, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) + x104 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x104 += einsum(x30, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + x104 += einsum(x30, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * -1.0 + del x30 + x104 += einsum(x35, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 + x104 += einsum(x35, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) + del x35 + x104 += einsum(x102, (0, 1, 2, 3), t3, (4, 5, 6, 7, 1, 2), (4, 6, 5, 0, 7, 3)) * -2.0 + del x102 + x104 += einsum(t1, (0, 1), x103, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 6, 1)) * -2.0 + del x103 + l1new += einsum(l3, (0, 1, 2, 3, 4, 5), x104, (5, 4, 3, 6, 2, 1), (0, 6)) * 0.08333333333333 + del x104 + x105 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x105 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + x105 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x105 += einsum(x15, (0, 1, 2, 3), (0, 1, 2, 3)) + del x15 + x105 += einsum(x17, (0, 1, 2, 3), (0, 1, 2, 3)) + del x17 + x106 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) + x106 += einsum(x49, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 + x106 += einsum(x49, (0, 1, 2, 3, 4, 5), (0, 1, 3, 4, 2, 5)) + del x49 + x107 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x107 += einsum(t2, (0, 1, 2, 3), x105, (4, 5, 6, 3), (0, 1, 5, 4, 2, 6)) * 2.0 + del x105 + x107 += einsum(t1, (0, 1), x106, (2, 3, 4, 5, 0, 6), (2, 3, 5, 4, 6, 1)) * -2.0 + del x106 + l1new += einsum(l3, (0, 1, 2, 3, 4, 5), x107, (4, 3, 6, 5, 1, 2), (0, 6)) * -0.5 + del x107 + x108 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x108 += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 5, 1, 6, 3, 7), (4, 5, 0, 2, 6, 7)) * 0.5 + x108 += einsum(x83, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 + del x83 + x108 += einsum(x100, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) + del x100 + l1new += einsum(l3, (0, 1, 2, 3, 4, 5), x108, (3, 4, 5, 6, 0, 2), (1, 6)) + del x108 + x109 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x109 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (3, 6, 5, 7, 1, 2), (4, 6, 0, 7)) + x110 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x110 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 4, 3, 2, 7, 0), (5, 6, 1, 7)) + x111 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x111 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (3, 6, 5, 0, 7, 2), (4, 6, 1, 7)) + x112 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x112 += einsum(t1, (0, 1), l3, (2, 3, 1, 4, 5, 6), (4, 6, 5, 0, 2, 3)) + l3new += einsum(v.ooov, (0, 1, 2, 3), x112, (4, 5, 1, 0, 6, 7), (6, 3, 7, 4, 2, 5)) + x113 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x113 += einsum(t2, (0, 1, 2, 3), x112, (0, 4, 1, 5, 6, 3), (4, 5, 6, 2)) + x114 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x114 += einsum(t2, (0, 1, 2, 3), x112, (0, 4, 1, 5, 2, 6), (4, 5, 6, 3)) + x115 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x115 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) + x115 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 5.0 + x115 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 + x115 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 + x115 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * -1.0 + x115 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) + x116 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x116 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + x116 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) + x116 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) + x117 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x117 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) + x117 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x118 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x118 += einsum(t1, (0, 1), l3, (2, 1, 3, 4, 5, 6), (4, 6, 5, 0, 2, 3)) + l3new += einsum(x8, (0, 1, 2, 3), x118, (4, 5, 0, 1, 6, 7), (7, 3, 6, 5, 2, 4)) + l3new += einsum(x68, (0, 1), x118, (2, 3, 4, 0, 5, 6), (6, 1, 5, 3, 4, 2)) * -1.0 + x119 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x119 += einsum(x118, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + x119 += einsum(x118, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) + x120 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x120 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.5 + x120 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) + x121 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x121 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 + x121 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x122 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x122 += einsum(t1, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2)) + x123 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x123 += einsum(t2, (0, 1, 2, 3), l3, (4, 2, 3, 1, 5, 6), (6, 5, 0, 4)) + x124 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x124 += einsum(t2, (0, 1, 2, 3), l3, (4, 3, 2, 1, 5, 6), (6, 5, 0, 4)) + x125 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x125 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.3333333333333333 + x125 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) + x126 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x126 += einsum(x125, (0, 1, 2, 3), l3, (4, 2, 3, 5, 0, 6), (6, 5, 1, 4)) * 0.75 + x127 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x127 += einsum(x122, (0, 1, 2, 3), (0, 1, 2, 3)) + x127 += einsum(x122, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.5 + x127 += einsum(x123, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.75 + x127 += einsum(x123, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.25 + x127 += einsum(x124, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.25 + x127 += einsum(x124, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.25 + x127 += einsum(x126, (0, 1, 2, 3), (1, 0, 2, 3)) + x127 += einsum(x117, (0, 1, 2, 3), l3, (2, 4, 3, 0, 5, 6), (5, 6, 1, 4)) * -0.25 + x128 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x128 += einsum(x109, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x128 += einsum(x110, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x128 += einsum(x111, (0, 1, 2, 3), (0, 1, 2, 3)) + x128 += einsum(x113, (0, 1, 2, 3), (0, 1, 3, 2)) * 4.0 + x128 += einsum(x114, (0, 1, 2, 3), (0, 1, 3, 2)) * 4.0 + x128 += einsum(l3, (0, 1, 2, 3, 4, 5), x115, (5, 6, 4, 2, 7, 1), (3, 6, 0, 7)) + x128 += einsum(l3, (0, 1, 2, 3, 4, 5), x116, (3, 6, 5, 1, 7, 2), (4, 6, 0, 7)) + x128 += einsum(x117, (0, 1, 2, 3), x119, (0, 1, 4, 5, 6, 3), (4, 5, 2, 6)) * -4.0 + del x119 + x128 += einsum(l2, (0, 1, 2, 3), x120, (3, 4, 1, 5), (2, 4, 0, 5)) * 8.0 + x128 += einsum(l2, (0, 1, 2, 3), x121, (2, 4, 1, 5), (3, 4, 0, 5)) * 4.0 + x128 += einsum(t1, (0, 1), x127, (0, 2, 3, 4), (2, 3, 1, 4)) * 8.0 + del x127 + l1new += einsum(v.ovvv, (0, 1, 2, 3), x128, (4, 0, 3, 2), (1, 4)) * -0.25 + del x128 + x129 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x129 += einsum(t1, (0, 1), l2, (2, 3, 4, 0), (4, 2, 3, 1)) + x130 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x130 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + x130 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) + x131 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x131 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * -1.0 + x131 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) * 0.3333333333333333 + x131 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 3, 5, 0, 1, 2)) * 0.3333333333333333 + x132 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x132 += einsum(x129, (0, 1, 2, 3), (0, 1, 2, 3)) + x132 += einsum(x130, (0, 1, 2, 3), l3, (4, 5, 2, 1, 6, 0), (6, 4, 5, 3)) * -0.125 + x132 += einsum(t2, (0, 1, 2, 3), x131, (0, 4, 1, 5, 2, 6), (4, 5, 6, 3)) * 0.75 + del x131 + l1new += einsum(v.vvvv, (0, 1, 2, 3), x132, (4, 1, 2, 3), (0, 4)) * 2.0 + del x132 + x133 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x133 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * -1.0 + x133 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) + x133 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 3, 5, 0, 1, 2)) + x134 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x134 += einsum(x129, (0, 1, 2, 3), (0, 1, 2, 3)) + del x129 + x134 += einsum(x130, (0, 1, 2, 3), l3, (4, 5, 2, 1, 6, 0), (6, 4, 5, 3)) * -0.75 + x134 += einsum(t2, (0, 1, 2, 3), x133, (0, 4, 1, 5, 2, 6), (4, 5, 6, 3)) * 0.5 + del x133 + l1new += einsum(v.vvvv, (0, 1, 2, 3), x134, (4, 2, 1, 3), (0, 4)) * -1.0 + del x134 + x135 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x135 += einsum(l2, (0, 1, 2, 3), t3, (4, 5, 3, 6, 0, 1), (2, 4, 5, 6)) + x136 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x136 += einsum(l1, (0, 1), t2, (2, 3, 4, 0), (1, 2, 3, 4)) + x137 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x137 += einsum(t1, (0, 1), x122, (2, 3, 4, 1), (3, 2, 4, 0)) + l2new += einsum(v.ovov, (0, 1, 2, 3), x137, (4, 5, 0, 2), (3, 1, 5, 4)) + x138 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x138 += einsum(t1, (0, 1), x137, (0, 2, 3, 4), (2, 4, 3, 1)) + x139 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x139 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 4, 7, 0, 1, 2), (3, 5, 6, 7)) + x140 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x140 += einsum(t1, (0, 1), x139, (0, 2, 3, 4), (2, 4, 3, 1)) + x141 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x141 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * -1.0 + x141 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) + x142 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x142 += einsum(t1, (0, 1), x141, (2, 3, 4, 1, 5, 6), (0, 2, 3, 4, 5, 6)) + l3new += einsum(x8, (0, 1, 2, 3), x142, (2, 4, 5, 0, 6, 7), (6, 3, 7, 5, 1, 4)) * -1.0 + x143 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) + x143 += einsum(t1, (0, 1), x142, (2, 3, 4, 5, 1, 6), (0, 4, 3, 5, 2, 6)) * -1.0 + del x142 + x144 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x144 += einsum(t2, (0, 1, 2, 3), x143, (4, 5, 0, 1, 6, 3), (5, 4, 6, 2)) * -0.25 + del x143 + x145 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x145 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 3, 4, 0, 1, 2)) + x145 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) + x146 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x146 += einsum(t2, (0, 1, 2, 3), x145, (1, 4, 0, 5, 2, 6), (4, 3, 5, 6)) + del x145 + x147 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x147 += einsum(t2, (0, 1, 2, 3), x146, (4, 5, 3, 2), (0, 1, 4, 5)) * 0.25 + del x146 + x148 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x148 += einsum(x140, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.124999999999995 + del x140 + x148 += einsum(x144, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x144 + x148 += einsum(x147, (0, 1, 2, 3), (2, 1, 0, 3)) + del x147 + x149 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x149 += einsum(t2, (0, 1, 2, 3), l3, (4, 5, 2, 0, 1, 6), (6, 4, 5, 3)) + x150 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x150 += einsum(t2, (0, 1, 2, 3), x149, (4, 2, 3, 5), (4, 0, 1, 5)) + x151 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) + x151 += einsum(t1, (0, 1), x118, (2, 3, 4, 5, 6, 1), (2, 3, 4, 0, 5, 6)) + x152 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x152 += einsum(t2, (0, 1, 2, 3), x151, (1, 4, 0, 5, 6, 3), (4, 5, 6, 2)) + x153 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x153 += einsum(x150, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.25 + del x150 + x153 += einsum(x152, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.25 + del x152 + x154 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x154 += einsum(x130, (0, 1, 2, 3), x151, (0, 1, 4, 5, 6, 2), (4, 5, 6, 3)) * 0.375 + x155 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x155 += einsum(x117, (0, 1, 2, 3), l3, (4, 5, 2, 1, 6, 0), (6, 4, 5, 3)) + x156 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x156 += einsum(t2, (0, 1, 2, 3), x155, (4, 3, 2, 5), (0, 1, 4, 5)) * -0.375 + x157 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x157 += einsum(x154, (0, 1, 2, 3), (0, 1, 2, 3)) + del x154 + x157 += einsum(x156, (0, 1, 2, 3), (2, 1, 0, 3)) + del x156 + x158 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x158 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 0.2 + x158 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + x158 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -0.2 + x158 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -0.2 + x158 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 0.2 + x158 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -0.2 + x158 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * -0.2 + x158 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) + x159 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x159 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) + x159 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 0, 2)) + x160 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x160 += einsum(t1, (0, 1), x159, (2, 3, 4, 1, 5, 6), (0, 2, 3, 4, 5, 6)) + x161 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x161 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + x161 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) + x161 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) + x162 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x162 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * -0.3333333333333333 + x162 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) * 0.3333333333333333 + x162 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 0, 2)) + x162 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 0, 2)) * -0.3333333333333333 + x163 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x163 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) + x163 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) * -1.0 + x163 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 0, 2)) * -1.0 + x163 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 0, 2)) * 3.0 + x164 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x164 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) + x164 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.0 + x164 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 + x165 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x165 += einsum(t2, (0, 1, 2, 3), l3, (4, 2, 3, 5, 6, 1), (5, 6, 0, 4)) + x166 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x166 += einsum(x125, (0, 1, 2, 3), l3, (4, 2, 3, 5, 0, 6), (6, 5, 1, 4)) * 0.1875 + x167 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x167 += einsum(t2, (0, 1, 2, 3), l3, (4, 3, 2, 5, 6, 1), (5, 6, 0, 4)) + x168 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x168 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * 1.3333333333333333 + x168 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) * -1.0 + x169 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x169 += einsum(x122, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 + x169 += einsum(x122, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + x169 += einsum(x165, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.0625 + x169 += einsum(x165, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.75 + x169 += einsum(x166, (0, 1, 2, 3), (1, 0, 2, 3)) + x169 += einsum(x166, (0, 1, 2, 3), (0, 1, 2, 3)) * -3.0 + del x166 + x169 += einsum(x167, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.0625 + x169 += einsum(x167, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.25 + x169 += einsum(x117, (0, 1, 2, 3), x168, (0, 4, 5, 2, 3, 6), (4, 5, 1, 6)) * 0.1875 + x170 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x170 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 7, 4, 1, 0, 2), (5, 3, 6, 7)) + x171 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x171 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 7, 3, 2, 1, 0), (5, 4, 6, 7)) + x172 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x172 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 7, 3, 2, 0, 1), (5, 4, 6, 7)) + x173 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x173 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 7, 3, 1, 2, 0), (5, 4, 6, 7)) + x174 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x174 += einsum(t1, (0, 1), x167, (2, 3, 4, 1), (2, 3, 0, 4)) + x175 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x175 += einsum(x172, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.16666666666666 + x175 += einsum(x173, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.16666666666666 + x175 += einsum(x174, (0, 1, 2, 3), (0, 1, 2, 3)) + del x174 + x176 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x176 += einsum(t1, (0, 1), x165, (2, 3, 4, 1), (2, 3, 0, 4)) + x177 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x177 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + x177 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) + x178 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x178 += einsum(l3, (0, 1, 2, 3, 4, 5), x177, (4, 6, 7, 0, 2, 1), (3, 5, 6, 7)) * 0.16666666666666 + x179 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x179 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + x179 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0 + x180 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x180 += einsum(x179, (0, 1, 2, 3), l3, (4, 2, 3, 5, 0, 6), (5, 6, 1, 4)) * 0.3333333333333333 + x180 += einsum(x130, (0, 1, 2, 3), l3, (3, 4, 2, 5, 6, 0), (6, 5, 1, 4)) * 0.3333333333333333 + x181 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x181 += einsum(x170, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.16666666666666 + x181 += einsum(x171, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.16666666666662 + x181 += einsum(x171, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.16666666666666 + x181 += einsum(x175, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x181 += einsum(x175, (0, 1, 2, 3), (1, 0, 2, 3)) + x181 += einsum(x176, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0 + x181 += einsum(x176, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + x181 += einsum(x178, (0, 1, 2, 3), (1, 0, 2, 3)) + x181 += einsum(t1, (0, 1), x180, (2, 3, 4, 1), (2, 3, 0, 4)) * 3.0 + del x180 + x182 = np.zeros((nocc, nocc), dtype=types[float]) + x182 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (3, 6, 5, 0, 1, 2), (4, 6)) + x183 = np.zeros((nocc, nocc), dtype=types[float]) + x183 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 4, 3, 1, 2, 0), (5, 6)) + x184 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x184 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * -1.0 + x184 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 2, 1)) + x185 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x185 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + x185 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 + x186 = np.zeros((nocc, nocc), dtype=types[float]) + x186 += einsum(x184, (0, 1, 2, 3, 4, 5), x185, (1, 6, 0, 3, 4, 5), (2, 6)) * 0.041666666666665 + x187 = np.zeros((nocc, nocc), dtype=types[float]) + x187 += einsum(t3, (0, 1, 2, 3, 4, 5), x184, (1, 2, 6, 5, 4, 3), (0, 6)) * 0.041666666666665 + x188 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x188 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + x188 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -0.14285714285714288 + x189 = np.zeros((nocc, nocc), dtype=types[float]) + x189 += einsum(l3, (0, 1, 2, 3, 4, 5), x188, (3, 6, 4, 0, 2, 1), (5, 6)) * 0.291666666666655 + x190 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x190 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) + x190 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 + x191 = np.zeros((nocc, nocc), dtype=types[float]) + x191 += einsum(l2, (0, 1, 2, 3), x190, (3, 4, 0, 1), (2, 4)) + x192 = np.zeros((nocc, nocc), dtype=types[float]) + x192 += einsum(x182, (0, 1), (0, 1)) * 0.124999999999995 + x192 += einsum(x183, (0, 1), (0, 1)) * -0.041666666666665 + x192 += einsum(x186, (0, 1), (0, 1)) * -1.0 + del x186 + x192 += einsum(x187, (0, 1), (1, 0)) + del x187 + x192 += einsum(x189, (0, 1), (0, 1)) + del x189 + x192 += einsum(x191, (0, 1), (0, 1)) + x193 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x193 += einsum(x135, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.75 + x193 += einsum(t3, (0, 1, 2, 3, 4, 5), x112, (1, 2, 6, 7, 4, 5), (6, 0, 7, 3)) * -0.125 + x193 += einsum(t3, (0, 1, 2, 3, 4, 5), x118, (1, 2, 6, 7, 5, 4), (6, 0, 7, 3)) * -0.125 + x193 += einsum(x136, (0, 1, 2, 3), (0, 1, 2, 3)) + x193 += einsum(x136, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 + del x136 + x193 += einsum(x122, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 + x193 += einsum(x122, (0, 1, 2, 3), (1, 0, 2, 3)) + x193 += einsum(x138, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 + x193 += einsum(x138, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + del x138 + x193 += einsum(x148, (0, 1, 2, 3), (0, 1, 2, 3)) + x193 += einsum(x148, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + del x148 + x193 += einsum(x153, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x193 += einsum(x153, (0, 1, 2, 3), (0, 2, 1, 3)) * 3.0 + del x153 + x193 += einsum(x157, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x193 += einsum(x157, (0, 1, 2, 3), (0, 2, 1, 3)) * 0.3333333333333333 + del x157 + x193 += einsum(x112, (0, 1, 2, 3, 4, 5), x158, (0, 6, 2, 4, 7, 5), (1, 6, 3, 7)) * 0.625 + x193 += einsum(x160, (0, 1, 2, 3, 4, 5), x161, (1, 6, 2, 5, 4, 7), (3, 6, 0, 7)) * 0.125 + x193 += einsum(t2, (0, 1, 2, 3), x162, (1, 4, 5, 2, 3, 6), (4, 5, 0, 6)) * 0.75 + del x162 + x193 += einsum(t2, (0, 1, 2, 3), x163, (1, 4, 5, 3, 2, 6), (4, 5, 0, 6)) * 0.25 + del x163 + x193 += einsum(l2, (0, 1, 2, 3), x164, (2, 4, 5, 1, 6, 0), (3, 4, 5, 6)) * -0.125 + del x164 + x193 += einsum(x120, (0, 1, 2, 3), x169, (4, 0, 5, 2), (4, 1, 5, 3)) * -2.0 + del x169 + x193 += einsum(t1, (0, 1), x181, (2, 0, 3, 4), (2, 4, 3, 1)) * -0.25 + del x181 + x193 += einsum(t1, (0, 1), x192, (2, 3), (2, 0, 3, 1)) * 2.0 + l1new += einsum(v.ovov, (0, 1, 2, 3), x193, (4, 0, 2, 1), (3, 4)) * -2.0 + del x193 + x194 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x194 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 5, 3, 7, 2, 1), (4, 6, 0, 7)) + x195 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x195 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 3, 5, 7, 2, 0), (4, 6, 1, 7)) + x196 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x196 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + x196 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) + x197 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x197 += einsum(l2, (0, 1, 2, 3), (3, 2, 0, 1)) * -0.5 + x197 += einsum(l2, (0, 1, 2, 3), (2, 3, 0, 1)) + x198 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x198 += einsum(l2, (0, 1, 2, 3), (2, 3, 0, 1)) * 8.0 + x198 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (3, 6, 5, 2, 7, 1), (4, 6, 0, 7)) + x198 += einsum(x111, (0, 1, 2, 3), (0, 1, 2, 3)) + del x111 + x198 += einsum(x194, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x198 += einsum(x195, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x198 += einsum(l3, (0, 1, 2, 3, 4, 5), x158, (5, 6, 4, 2, 7, 1), (3, 6, 0, 7)) * 5.0 + del x158 + x198 += einsum(x159, (0, 1, 2, 3, 4, 5), x196, (1, 6, 0, 3, 4, 7), (2, 6, 5, 7)) + x198 += einsum(x120, (0, 1, 2, 3), x197, (0, 4, 2, 5), (4, 1, 5, 3)) * 16.0 + l1new += einsum(v.ovvv, (0, 1, 2, 3), x198, (4, 0, 3, 1), (2, 4)) * 0.25 + del x198 + x199 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x199 += einsum(x117, (0, 1, 2, 3), l3, (2, 4, 3, 0, 5, 6), (6, 5, 1, 4)) * 0.5 + x200 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x200 += einsum(x122, (0, 1, 2, 3), (0, 1, 2, 3)) + x200 += einsum(x122, (0, 1, 2, 3), (1, 0, 2, 3)) * -2.0 + x200 += einsum(x123, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 + x200 += einsum(x123, (0, 1, 2, 3), (1, 0, 2, 3)) * 1.5 + x200 += einsum(x124, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 + x200 += einsum(x124, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.5 + x200 += einsum(x125, (0, 1, 2, 3), l3, (4, 2, 3, 5, 0, 6), (5, 6, 1, 4)) * 1.5 + x200 += einsum(x199, (0, 1, 2, 3), (0, 1, 2, 3)) + x201 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x201 += einsum(l2, (0, 1, 2, 3), (3, 2, 0, 1)) * -2.0 + x201 += einsum(x113, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + del x113 + x201 += einsum(x130, (0, 1, 2, 3), x160, (4, 1, 0, 5, 2, 6), (5, 4, 6, 3)) * -1.0 + del x160 + x201 += einsum(x190, (0, 1, 2, 3), x118, (4, 1, 0, 5, 2, 6), (4, 5, 6, 3)) * 4.0 + x201 += einsum(t1, (0, 1), x200, (0, 2, 3, 4), (2, 3, 4, 1)) * 2.0 + del x200 + l1new += einsum(v.ovvv, (0, 1, 2, 3), x201, (4, 0, 3, 1), (2, 4)) * 0.5 + del x201 + x202 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x202 += einsum(l2, (0, 1, 2, 3), t3, (4, 3, 5, 6, 1, 0), (2, 4, 5, 6)) + x203 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x203 += einsum(l2, (0, 1, 2, 3), t2, (4, 5, 0, 1), (2, 3, 4, 5)) + l2new += einsum(v.ovov, (0, 1, 2, 3), x203, (4, 5, 0, 2), (1, 3, 4, 5)) + x204 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x204 += einsum(t1, (0, 1), x203, (2, 0, 3, 4), (2, 3, 4, 1)) + x205 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x205 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + x205 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) + x205 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) + x205 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 2.0 + x206 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x206 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) + x206 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 0.6666666666666666 + x206 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 + x207 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x207 += einsum(x124, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.75 + del x124 + x207 += einsum(x126, (0, 1, 2, 3), (1, 0, 2, 3)) + x207 += einsum(x126, (0, 1, 2, 3), (0, 1, 2, 3)) * -3.0 + x207 += einsum(x167, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.25 + x207 += einsum(x167, (0, 1, 2, 3), (1, 0, 2, 3)) + x208 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x208 += einsum(t2, (0, 1, 2, 3), l3, (3, 4, 2, 1, 5, 6), (6, 5, 0, 4)) + x209 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x209 += einsum(x208, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.25 + x209 += einsum(x122, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 + x209 += einsum(x122, (0, 1, 2, 3), (1, 0, 2, 3)) + x209 += einsum(x165, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.0625 + x209 += einsum(x165, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.75 + x209 += einsum(t2, (0, 1, 2, 3), x168, (1, 4, 5, 2, 3, 6), (4, 5, 0, 6)) * -0.1875 + del x168 + x210 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x210 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * 0.4444444444444444 + x210 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 0, 2)) + x211 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x211 += einsum(x208, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.5 + x211 += einsum(x122, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 + x211 += einsum(x122, (0, 1, 2, 3), (1, 0, 2, 3)) + x211 += einsum(x165, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.375 + x211 += einsum(x165, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.5 + x211 += einsum(t2, (0, 1, 2, 3), x210, (1, 4, 5, 2, 3, 6), (5, 4, 0, 6)) * 1.125 + del x210 + x212 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x212 += einsum(x117, (0, 1, 2, 3), l3, (2, 4, 3, 0, 5, 6), (6, 5, 1, 4)) + x213 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x213 += einsum(x125, (0, 1, 2, 3), l3, (4, 2, 3, 5, 0, 6), (5, 6, 1, 4)) * 3.0 + x213 += einsum(x212, (0, 1, 2, 3), (0, 1, 2, 3)) + x214 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x214 += einsum(x170, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.16666666666666 + x214 += einsum(x171, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.16666666666666 + x214 += einsum(x171, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.16666666666662 + x214 += einsum(x175, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x214 += einsum(x175, (0, 1, 2, 3), (1, 0, 2, 3)) + del x175 + x214 += einsum(x176, (0, 1, 2, 3), (0, 1, 2, 3)) + x214 += einsum(x176, (0, 1, 2, 3), (1, 0, 2, 3)) * -3.0 + x214 += einsum(x178, (0, 1, 2, 3), (1, 0, 2, 3)) + del x178 + x214 += einsum(t1, (0, 1), x213, (2, 3, 4, 1), (2, 3, 0, 4)) + del x213 + x215 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x215 += einsum(x135, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.0 + del x135 + x215 += einsum(t3, (0, 1, 2, 3, 4, 5), x118, (6, 2, 1, 7, 3, 5), (6, 0, 7, 4)) * 4.0 + x215 += einsum(t3, (0, 1, 2, 3, 4, 5), x118, (2, 0, 6, 7, 5, 3), (6, 1, 7, 4)) * 2.0 + x215 += einsum(x202, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.0 + x215 += einsum(x202, (0, 1, 2, 3), (0, 2, 1, 3)) * -4.0 + del x202 + x215 += einsum(x204, (0, 1, 2, 3), (0, 1, 2, 3)) * 16.0 + x215 += einsum(x204, (0, 1, 2, 3), (0, 2, 1, 3)) * -8.0 + del x204 + x215 += einsum(x112, (0, 1, 2, 3, 4, 5), x115, (0, 6, 2, 4, 7, 5), (1, 6, 3, 7)) * 2.0 + del x115 + x215 += einsum(x112, (0, 1, 2, 3, 4, 5), x205, (1, 6, 0, 5, 7, 4), (2, 6, 3, 7)) * 2.0 + del x205 + x215 += einsum(l2, (0, 1, 2, 3), x206, (2, 4, 5, 1, 6, 0), (3, 4, 5, 6)) * -6.0 + del x206 + x215 += einsum(x117, (0, 1, 2, 3), x207, (4, 0, 5, 2), (4, 1, 5, 3)) * 4.0 + del x207 + x215 += einsum(t2, (0, 1, 2, 3), x209, (4, 1, 5, 3), (4, 0, 5, 2)) * 16.0 + del x209 + x215 += einsum(t2, (0, 1, 2, 3), x211, (4, 1, 5, 2), (4, 0, 5, 3)) * -8.0 + del x211 + x215 += einsum(t1, (0, 1), x214, (2, 0, 3, 4), (2, 4, 3, 1)) * -4.0 + del x214 + x215 += einsum(t1, (0, 1), x192, (2, 3), (2, 0, 3, 1)) * 16.0 + del x192 + l1new += einsum(v.ovov, (0, 1, 2, 3), x215, (4, 0, 2, 3), (1, 4)) * 0.125 + del x215 + x216 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x216 += einsum(v.ovov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 1, 3), (4, 5, 0, 6)) + x217 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x217 += einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), (0, 2, 3, 4)) + x218 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x218 += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 2, 5, 3), (0, 1, 4, 5)) + x219 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x219 += einsum(t1, (0, 1), x90, (2, 3, 4, 1), (2, 0, 3, 4)) + x220 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x220 += einsum(t1, (0, 1), x87, (2, 3, 0, 4), (2, 3, 4, 1)) + del x87 + x221 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x221 += einsum(x218, (0, 1, 2, 3), (0, 1, 2, 3)) + x221 += einsum(x219, (0, 1, 2, 3), (0, 1, 2, 3)) + x221 += einsum(x220, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x220 + x222 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x222 += einsum(v.ovov, (0, 1, 2, 3), t3, (4, 2, 5, 6, 3, 1), (4, 5, 0, 6)) + x223 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x223 += einsum(x36, (0, 1), t2, (2, 3, 1, 4), (2, 3, 0, 4)) + x224 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x224 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -1.5 + x224 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 1.5 + x224 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) + x225 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x225 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x225 += einsum(v.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x225 += einsum(x8, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x225 += einsum(x8, (0, 1, 2, 3), (0, 2, 1, 3)) * 2.0 + x226 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x226 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * 2.0 + x226 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x227 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x227 += einsum(v.oooo, (0, 1, 2, 3), (0, 2, 3, 1)) + x227 += einsum(v.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 + x227 += einsum(x5, (0, 1, 2, 3), (2, 0, 3, 1)) + x227 += einsum(x5, (0, 1, 2, 3), (3, 0, 2, 1)) * -0.5 + x228 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x228 += einsum(x216, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.25 + x228 += einsum(v.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x228 += einsum(v.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) * 0.5 + x228 += einsum(x217, (0, 1, 2, 3), (1, 2, 0, 3)) * 0.5 + x228 += einsum(x217, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 + x228 += einsum(x221, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x228 += einsum(x221, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.5 + del x221 + x228 += einsum(x222, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.25 + x228 += einsum(x222, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.25 + del x222 + x228 += einsum(x223, (0, 1, 2, 3), (1, 0, 2, 3)) + x228 += einsum(x223, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 + x228 += einsum(v.ovov, (0, 1, 2, 3), x224, (2, 4, 5, 3, 1, 6), (4, 5, 0, 6)) * -0.25 + del x224 + x228 += einsum(x120, (0, 1, 2, 3), x225, (4, 5, 0, 2), (4, 1, 5, 3)) * -1.0 + x228 += einsum(t1, (0, 1), x226, (2, 3, 1, 4), (0, 3, 2, 4)) * -0.5 + del x226 + x228 += einsum(t1, (0, 1), x227, (0, 2, 3, 4), (2, 4, 3, 1)) + del x227 + l1new += einsum(l2, (0, 1, 2, 3), x228, (2, 3, 4, 1), (0, 4)) * 2.0 + del x228 + x229 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x229 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -0.5 + x229 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 0.5 + x229 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) + x230 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x230 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 + x230 += einsum(v.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) + x230 += einsum(x8, (0, 1, 2, 3), (0, 1, 2, 3)) + x230 += einsum(x8, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 + x231 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x231 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) + x231 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 + x232 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x232 += einsum(x5, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x232 += einsum(x5, (0, 1, 2, 3), (0, 3, 2, 1)) * 2.0 + x233 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x233 += einsum(x216, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.5 + x233 += einsum(v.ovov, (0, 1, 2, 3), x229, (2, 4, 5, 3, 1, 6), (4, 5, 0, 6)) * -0.5 + del x229 + x233 += einsum(t2, (0, 1, 2, 3), x225, (4, 5, 1, 3), (4, 0, 5, 2)) * -1.0 + del x225 + x233 += einsum(t2, (0, 1, 2, 3), x230, (4, 5, 1, 2), (4, 0, 5, 3)) * -2.0 + del x230 + x233 += einsum(t1, (0, 1), x231, (2, 3, 1, 4), (0, 3, 2, 4)) * 2.0 + del x231 + x233 += einsum(t1, (0, 1), x232, (2, 0, 3, 4), (2, 3, 4, 1)) * -1.0 + del x232 + l1new += einsum(l2, (0, 1, 2, 3), x233, (3, 2, 4, 1), (0, 4)) * -1.0 + del x233 + x234 = np.zeros((nvir, nvir), dtype=types[float]) + x234 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (3, 4, 5, 0, 6, 2), (1, 6)) + x235 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x235 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -0.14285714285714288 + x235 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 0.14285714285714288 + x235 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) + x235 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 0.14285714285714288 + x235 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -0.14285714285714288 + x235 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -0.14285714285714288 + x236 = np.zeros((nvir, nvir), dtype=types[float]) + x236 += einsum(x234, (0, 1), (0, 1)) * 3.0 + x236 += einsum(l3, (0, 1, 2, 3, 4, 5), x235, (3, 5, 4, 6, 1, 2), (0, 6)) * 6.999999999999999 + x236 += einsum(l3, (0, 1, 2, 3, 4, 5), x116, (3, 4, 5, 6, 1, 2), (0, 6)) * -1.0 + x237 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x237 += einsum(v.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) + x237 += einsum(v.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) * -0.5 + l1new += einsum(x236, (0, 1), x237, (2, 3, 0, 1), (3, 2)) * 0.16666666666666 + del x236, x237 + x238 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x238 += einsum(x130, (0, 1, 2, 3), x159, (0, 4, 5, 2, 3, 6), (1, 4, 5, 6)) * 0.5 + x239 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x239 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) + x239 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.3333333333333333 + x240 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x240 += einsum(x122, (0, 1, 2, 3), (0, 1, 2, 3)) + x240 += einsum(x122, (0, 1, 2, 3), (1, 0, 2, 3)) * -2.0 + x240 += einsum(x238, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 + x240 += einsum(x179, (0, 1, 2, 3), l3, (4, 2, 3, 5, 0, 6), (5, 6, 1, 4)) * 0.5 + x240 += einsum(x239, (0, 1, 2, 3), l3, (4, 2, 3, 0, 5, 6), (5, 6, 1, 4)) * 1.5 + l1new += einsum(v.oovv, (0, 1, 2, 3), x240, (0, 4, 1, 3), (2, 4)) + del x240 + x241 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x241 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + x241 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 6.999999999999999 + x241 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) + x241 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) + x241 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -1.0 + x241 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 + x242 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x242 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) + x242 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + x242 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 + x243 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x243 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) + x243 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 6.0 + x243 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 + x243 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -1.0 + x243 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + x244 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x244 += einsum(x122, (0, 1, 2, 3), (0, 1, 2, 3)) + x244 += einsum(x239, (0, 1, 2, 3), l3, (4, 2, 3, 5, 6, 0), (5, 6, 1, 4)) * 0.75 + x245 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x245 += einsum(x122, (0, 1, 2, 3), (0, 1, 2, 3)) + x245 += einsum(x126, (0, 1, 2, 3), (1, 0, 2, 3)) + x245 += einsum(x126, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x126 + x245 += einsum(x238, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 + del x238 + x246 = np.zeros((nocc, nocc), dtype=types[float]) + x246 += einsum(l1, (0, 1), t1, (2, 0), (1, 2)) + l1new += einsum(x246, (0, 1), x36, (1, 2), (2, 0)) * -2.0 + x247 = np.zeros((nocc, nocc), dtype=types[float]) + x247 += einsum(x246, (0, 1), (0, 1)) + x247 += einsum(x182, (0, 1), (0, 1)) * 0.24999999999999 + x247 += einsum(x183, (0, 1), (0, 1)) * -0.08333333333333 + x247 += einsum(x184, (0, 1, 2, 3, 4, 5), x185, (1, 6, 0, 3, 4, 5), (2, 6)) * -0.08333333333333 + x247 += einsum(t3, (0, 1, 2, 3, 4, 5), x184, (1, 2, 6, 5, 4, 3), (6, 0)) * 0.08333333333333 + x247 += einsum(l3, (0, 1, 2, 3, 4, 5), x188, (3, 6, 4, 0, 2, 1), (5, 6)) * 0.58333333333331 + x247 += einsum(l2, (0, 1, 2, 3), x190, (2, 4, 1, 0), (3, 4)) * 2.0 + x248 = np.zeros((nocc, nvir), dtype=types[float]) + x248 += einsum(t1, (0, 1), (0, 1)) * -4.0 + x248 += einsum(l2, (0, 1, 2, 3), t3, (4, 2, 3, 5, 1, 0), (4, 5)) * 2.0 + x248 += einsum(t3, (0, 1, 2, 3, 4, 5), x118, (2, 0, 1, 6, 5, 3), (6, 4)) * 0.99999999999996 + x248 += einsum(x112, (0, 1, 2, 3, 4, 5), x241, (0, 1, 2, 5, 6, 4), (3, 6)) * 0.33333333333332 + del x241 + x248 += einsum(x112, (0, 1, 2, 3, 4, 5), x242, (0, 2, 1, 4, 6, 5), (3, 6)) * -0.33333333333332 + del x242 + x248 += einsum(l2, (0, 1, 2, 3), x243, (3, 4, 2, 1, 5, 0), (4, 5)) * -1.0 + del x243 + x248 += einsum(t2, (0, 1, 2, 3), x244, (0, 1, 4, 2), (4, 3)) * 8.0 + del x244 + x248 += einsum(t2, (0, 1, 2, 3), x245, (0, 1, 4, 3), (4, 2)) * -4.0 + del x245 + x248 += einsum(l1, (0, 1), x121, (1, 2, 3, 0), (2, 3)) * -4.0 + del x121 + x248 += einsum(t1, (0, 1), x247, (0, 2), (2, 1)) * 4.0 + del x247 + x249 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x249 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * 2.0 + x249 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + l1new += einsum(x248, (0, 1), x249, (0, 2, 3, 1), (3, 2)) * -0.25 + del x248, x249 + x250 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x250 += einsum(x172, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.041666666666665 + x250 += einsum(x173, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.041666666666665 + x251 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x251 += einsum(x130, (0, 1, 2, 3), x159, (0, 4, 5, 2, 3, 6), (4, 5, 1, 6)) * -1.0 + del x159 + x251 += einsum(x179, (0, 1, 2, 3), l3, (4, 2, 3, 5, 0, 6), (5, 6, 1, 4)) + del x179 + x251 += einsum(x239, (0, 1, 2, 3), l3, (4, 2, 3, 0, 5, 6), (5, 6, 1, 4)) * 3.0 + del x239 + x252 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x252 += einsum(x170, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.041666666666665 + x252 += einsum(x203, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.5 + x252 += einsum(x203, (0, 1, 2, 3), (1, 0, 3, 2)) + del x203 + x252 += einsum(x137, (0, 1, 2, 3), (0, 2, 3, 1)) * -0.5 + x252 += einsum(x137, (0, 1, 2, 3), (0, 3, 2, 1)) + del x137 + x252 += einsum(x171, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.291666666666655 + x252 += einsum(x171, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.041666666666665 + x252 += einsum(x250, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x252 += einsum(x250, (0, 1, 2, 3), (1, 0, 2, 3)) + del x250 + x252 += einsum(l3, (0, 1, 2, 3, 4, 5), x177, (4, 6, 7, 0, 2, 1), (5, 3, 6, 7)) * 0.041666666666665 + x252 += einsum(t1, (0, 1), x251, (2, 3, 4, 1), (2, 0, 4, 3)) * -0.25 + del x251 + l1new += einsum(v.ooov, (0, 1, 2, 3), x252, (4, 1, 2, 0), (3, 4)) * 2.0 + del x252 + x253 = np.zeros((nvir, nvir), dtype=types[float]) + x253 += einsum(l1, (0, 1), t1, (1, 2), (0, 2)) * 0.5 + x253 += einsum(l2, (0, 1, 2, 3), x120, (2, 3, 4, 1), (0, 4)) + x254 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x254 += einsum(v.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 + x254 += einsum(v.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) + l1new += einsum(x253, (0, 1), x254, (2, 1, 0, 3), (3, 2)) * 4.0 + del x253, x254 + x255 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x255 += einsum(x172, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.14285714285714288 + del x172 + x255 += einsum(x173, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.14285714285714288 + del x173 + x256 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x256 += einsum(x170, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.14285714285714288 + del x170 + x256 += einsum(x171, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.14285714285714288 + x256 += einsum(x171, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + x256 += einsum(x139, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.4285714285714286 + x256 += einsum(x139, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.4285714285714286 + del x139 + x256 += einsum(x255, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x256 += einsum(x255, (0, 1, 2, 3), (1, 0, 2, 3)) + del x255 + x256 += einsum(l3, (0, 1, 2, 3, 4, 5), x177, (4, 6, 7, 0, 2, 1), (5, 3, 6, 7)) * 0.14285714285714288 + del x177 + l1new += einsum(v.ooov, (0, 1, 2, 3), x256, (4, 1, 0, 2), (3, 4)) * -0.58333333333331 + del x256 + x257 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x257 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * 0.3333333333333333 + x257 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) * -0.3333333333333333 + x257 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 4, 3, 0, 2, 1)) + x257 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) * -0.3333333333333333 + x258 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x258 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * -1.0 + x258 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) + x258 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 4, 3, 0, 2, 1)) * -1.0 + x258 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) * 3.0 + x259 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x259 += einsum(t2, (0, 1, 2, 3), x257, (1, 4, 5, 6, 3, 2), (5, 4, 0, 6)) + del x257 + x259 += einsum(t2, (0, 1, 2, 3), x258, (1, 4, 5, 6, 2, 3), (5, 4, 0, 6)) * 0.3333333333333333 + del x258 + x260 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x260 += einsum(t1, (0, 1), x259, (2, 3, 4, 1), (2, 3, 0, 4)) * 3.0 + del x259 + l1new += einsum(v.ooov, (0, 1, 2, 3), x260, (4, 0, 2, 1), (3, 4)) * 0.5 + del x260 + x261 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x261 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 3.0 + x261 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) + x261 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -1.0 + x262 = np.zeros((nocc, nocc), dtype=types[float]) + x262 += einsum(x246, (0, 1), (0, 1)) * 0.5 + x262 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 3, 5, 1, 2, 0), (4, 6)) * -0.041666666666665 + x262 += einsum(l3, (0, 1, 2, 3, 4, 5), x261, (3, 5, 6, 0, 2, 1), (4, 6)) * 0.041666666666665 + del x261 + x262 += einsum(x191, (0, 1), (0, 1)) + del x191 + x263 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x263 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x263 += einsum(v.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * 2.0 + l1new += einsum(x262, (0, 1), x263, (0, 2, 1, 3), (3, 2)) * -2.0 + del x262 + x264 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x264 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + x264 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) + x264 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 6.999999999999999 + x264 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 + x265 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x265 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + x265 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) + x266 = np.zeros((nocc, nocc), dtype=types[float]) + x266 += einsum(l3, (0, 1, 2, 3, 4, 5), x264, (4, 6, 3, 0, 2, 1), (5, 6)) + del x264 + x266 += einsum(l3, (0, 1, 2, 3, 4, 5), x265, (4, 6, 3, 0, 1, 2), (5, 6)) * -1.0 + x267 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x267 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 + x267 += einsum(v.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) + l1new += einsum(x266, (0, 1), x267, (0, 2, 1, 3), (3, 2)) * -0.16666666666666 + del x266, x267 + x268 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x268 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + x268 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 + l1new += einsum(l1, (0, 1), x268, (1, 2, 0, 3), (3, 2)) * 2.0 + del x268 + x269 = np.zeros((nocc, nocc), dtype=types[float]) + x269 += einsum(x246, (0, 1), (0, 1)) * 1.714285714285783 + x269 += einsum(x182, (0, 1), (0, 1)) * 0.4285714285714286 + x269 += einsum(x183, (0, 1), (0, 1)) * -0.14285714285714288 + x269 += einsum(x184, (0, 1, 2, 3, 4, 5), x185, (1, 6, 0, 3, 4, 5), (2, 6)) * -0.14285714285714288 + x269 += einsum(t3, (0, 1, 2, 3, 4, 5), x184, (1, 2, 6, 5, 4, 3), (6, 0)) * 0.14285714285714288 + x269 += einsum(l3, (0, 1, 2, 3, 4, 5), x188, (3, 6, 4, 0, 2, 1), (5, 6)) + x269 += einsum(l2, (0, 1, 2, 3), x190, (2, 4, 1, 0), (3, 4)) * 3.428571428571566 + l1new += einsum(f.ov, (0, 1), x269, (2, 0), (1, 2)) * -0.58333333333331 + del x269 + x270 = np.zeros((nvir, nvir), dtype=types[float]) + x270 += einsum(f.vv, (0, 1), (0, 1)) * 0.5 + x270 += einsum(t1, (0, 1), x54, (0, 1, 2, 3), (3, 2)) + l1new += einsum(l1, (0, 1), x270, (0, 2), (2, 1)) * 2.0 + del x270 + x271 = np.zeros((nocc, nocc), dtype=types[float]) + x271 += einsum(v.ovov, (0, 1, 2, 3), x190, (2, 4, 1, 3), (0, 4)) * 2.0 + x272 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x272 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) + x272 += einsum(v.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) * -0.5 + x273 = np.zeros((nocc, nocc), dtype=types[float]) + x273 += einsum(t1, (0, 1), x272, (2, 3, 0, 1), (2, 3)) * 2.0 + del x272 + x274 = np.zeros((nocc, nocc), dtype=types[float]) + x274 += einsum(t1, (0, 1), x68, (2, 1), (0, 2)) + x275 = np.zeros((nocc, nocc), dtype=types[float]) + x275 += einsum(f.oo, (0, 1), (0, 1)) + x275 += einsum(x271, (0, 1), (1, 0)) + x275 += einsum(x273, (0, 1), (1, 0)) + x275 += einsum(x274, (0, 1), (0, 1)) + del x274 + l1new += einsum(l1, (0, 1), x275, (1, 2), (0, 2)) * -1.0 + l3new += einsum(x275, (0, 1), l3, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) * -1.0 + del x275 + x276 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x276 += einsum(f.vv, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2)) + x277 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x277 += einsum(l1, (0, 1), v.ovvv, (2, 3, 4, 0), (1, 2, 3, 4)) + x278 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x278 += einsum(l1, (0, 1), x8, (1, 2, 3, 4), (2, 3, 0, 4)) + x279 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x279 += einsum(l2, (0, 1, 2, 3), x5, (2, 4, 3, 5), (4, 5, 0, 1)) + x280 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x280 += einsum(x217, (0, 1, 2, 3), l3, (4, 5, 3, 6, 2, 1), (0, 6, 4, 5)) + x281 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x281 += einsum(x122, (0, 1, 2, 3), x8, (0, 2, 4, 5), (1, 4, 3, 5)) + x282 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x282 += einsum(v.ovvv, (0, 1, 2, 3), x123, (4, 5, 0, 3), (4, 5, 1, 2)) + x283 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x283 += einsum(t1, (0, 1), v.vvvv, (2, 3, 4, 1), (0, 2, 3, 4)) + x284 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x284 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) + x284 += einsum(x8, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + x285 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x285 += einsum(t2, (0, 1, 2, 3), x284, (0, 4, 1, 5), (4, 2, 3, 5)) + del x284 + x286 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x286 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 + x286 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + x287 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x287 += einsum(x286, (0, 1, 2, 3), t3, (4, 1, 0, 5, 6, 2), (4, 5, 6, 3)) * 0.49999999999998 + del x286 + x288 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x288 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) + x288 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.3333333333333333 + x289 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x289 += einsum(x288, (0, 1, 2, 3), t3, (4, 1, 0, 5, 2, 6), (4, 6, 5, 3)) * 1.49999999999994 + del x288 + x290 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x290 += einsum(v.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) + x290 += einsum(v.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x290 += einsum(x283, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 + x290 += einsum(x283, (0, 1, 2, 3), (0, 3, 2, 1)) + x290 += einsum(x285, (0, 1, 2, 3), (0, 1, 2, 3)) + x290 += einsum(x285, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + del x285 + x290 += einsum(x287, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x287 + x290 += einsum(x289, (0, 1, 2, 3), (0, 1, 2, 3)) + del x289 + x291 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x291 += einsum(x290, (0, 1, 2, 3), l3, (2, 4, 1, 0, 5, 6), (6, 5, 4, 3)) * 0.5 + del x290 + x292 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x292 += einsum(x16, (0, 1, 2, 3), t3, (4, 1, 0, 5, 6, 2), (4, 5, 6, 3)) * 0.24999999999999 + x293 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x293 += einsum(v.ovvv, (0, 1, 2, 3), x120, (0, 4, 1, 5), (4, 2, 3, 5)) * 2.0 + x294 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x294 += einsum(v.ovvv, (0, 1, 2, 3), x117, (0, 4, 3, 5), (4, 1, 2, 5)) + x295 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x295 += einsum(x292, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x292 + x295 += einsum(x293, (0, 1, 2, 3), (0, 2, 3, 1)) + del x293 + x295 += einsum(x294, (0, 1, 2, 3), (0, 2, 3, 1)) + del x294 + x296 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x296 += einsum(x295, (0, 1, 2, 3), l3, (1, 4, 2, 0, 5, 6), (6, 5, 4, 3)) + del x295 + x297 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x297 += einsum(t1, (0, 1), v.oooo, (2, 3, 4, 0), (2, 3, 4, 1)) + x298 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x298 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 + x298 += einsum(x297, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.5 + del x297 + x299 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x299 += einsum(t1, (0, 1), x65, (2, 3, 0, 4), (3, 2, 4, 1)) + x300 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x300 += einsum(x218, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 + x300 += einsum(x299, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 + del x299 + x300 += einsum(x223, (0, 1, 2, 3), (1, 0, 2, 3)) + del x223 + x301 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x301 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -0.5 + x301 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 0.5 + x301 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) + x301 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) + x302 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x302 += einsum(v.ovov, (0, 1, 2, 3), x301, (2, 4, 5, 3, 1, 6), (0, 4, 5, 6)) * 0.49999999999998 + del x301 + x303 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x303 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x303 += einsum(v.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 + x304 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x304 += einsum(t2, (0, 1, 2, 3), x303, (4, 5, 1, 3), (0, 4, 5, 2)) + del x303 + x305 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x305 += einsum(t2, (0, 1, 2, 3), x1, (4, 5, 1, 2), (0, 4, 5, 3)) + x306 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x306 += einsum(x216, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.49999999999998 + x306 += einsum(x298, (0, 1, 2, 3), (0, 2, 1, 3)) + x306 += einsum(x298, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 + del x298 + x306 += einsum(x300, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x306 += einsum(x300, (0, 1, 2, 3), (1, 0, 2, 3)) + del x300 + x306 += einsum(x302, (0, 1, 2, 3), (1, 2, 0, 3)) + del x302 + x306 += einsum(x304, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + del x304 + x306 += einsum(x305, (0, 1, 2, 3), (0, 2, 1, 3)) + del x305 + x307 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x307 += einsum(x306, (0, 1, 2, 3), l3, (4, 5, 3, 0, 6, 1), (6, 2, 4, 5)) + del x306 + x308 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x308 += einsum(t1, (0, 1), x20, (2, 3, 4, 0), (2, 3, 4, 1)) + x309 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x309 += einsum(x219, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 + del x219 + x309 += einsum(x308, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 + del x308 + x310 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x310 += einsum(x8, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 + x310 += einsum(x8, (0, 1, 2, 3), (0, 2, 1, 3)) + x311 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x311 += einsum(t2, (0, 1, 2, 3), x310, (4, 5, 1, 3), (0, 4, 5, 2)) * 2.0 + del x310 + x312 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x312 += einsum(x8, (0, 1, 2, 3), (0, 1, 2, 3)) + x312 += einsum(x8, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x313 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x313 += einsum(t2, (0, 1, 2, 3), x312, (4, 5, 1, 2), (0, 4, 5, 3)) + del x312 + x314 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x314 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) + x314 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x315 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x315 += einsum(t1, (0, 1), x314, (2, 3, 1, 4), (0, 2, 3, 4)) + del x314 + x316 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x316 += einsum(x5, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x316 += einsum(x5, (0, 1, 2, 3), (0, 3, 2, 1)) + x317 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x317 += einsum(t1, (0, 1), x316, (2, 3, 4, 0), (2, 3, 4, 1)) + del x316 + x318 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x318 += einsum(x309, (0, 1, 2, 3), (0, 1, 2, 3)) + x318 += einsum(x309, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x309 + x318 += einsum(x311, (0, 1, 2, 3), (1, 0, 2, 3)) + del x311 + x318 += einsum(x313, (0, 1, 2, 3), (1, 0, 2, 3)) + del x313 + x318 += einsum(x315, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + del x315 + x318 += einsum(x317, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + del x317 + x319 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x319 += einsum(x318, (0, 1, 2, 3), l3, (4, 5, 3, 0, 6, 1), (6, 2, 4, 5)) + del x318 + x320 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x320 += einsum(t2, (0, 1, 2, 3), x14, (1, 4, 3, 5), (0, 4, 2, 5)) * 2.0 + del x14 + x321 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x321 += einsum(t2, (0, 1, 2, 3), x16, (1, 4, 2, 5), (0, 4, 3, 5)) + del x16 + x322 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x322 += einsum(t1, (0, 1), x1, (0, 2, 3, 4), (2, 3, 1, 4)) * 0.5 + del x1 + x323 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x323 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + x323 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x323 += einsum(x320, (0, 1, 2, 3), (0, 1, 2, 3)) + del x320 + x323 += einsum(x321, (0, 1, 2, 3), (0, 1, 2, 3)) + del x321 + x323 += einsum(x322, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x322 + x324 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x324 += einsum(x323, (0, 1, 2, 3), x112, (0, 4, 5, 1, 2, 6), (4, 5, 6, 3)) + del x323 + x325 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x325 += einsum(t1, (0, 1), x22, (2, 1, 3, 4), (0, 2, 3, 4)) + del x22 + x326 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x326 += einsum(t1, (0, 1), x10, (2, 3, 0, 4), (2, 3, 1, 4)) * 0.5 + del x10 + x327 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x327 += einsum(x325, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x325 + x327 += einsum(x326, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x326 + x328 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x328 += einsum(x327, (0, 1, 2, 3), x112, (0, 4, 5, 1, 2, 6), (4, 5, 6, 3)) + del x327 + x329 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x329 += einsum(x130, (0, 1, 2, 3), l3, (4, 5, 2, 1, 6, 0), (6, 4, 5, 3)) + x330 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x330 += einsum(x149, (0, 1, 2, 3), (0, 2, 1, 3)) * 2.0 + x330 += einsum(x329, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x329 + x331 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x331 += einsum(v.ovvv, (0, 1, 2, 3), x330, (4, 5, 3, 1), (0, 4, 2, 5)) * 0.5 + del x330 + x332 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x332 += einsum(l2, (0, 1, 2, 3), t2, (4, 2, 1, 5), (3, 4, 0, 5)) + x333 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x333 += einsum(x130, (0, 1, 2, 3), x118, (0, 1, 4, 5, 6, 2), (4, 5, 6, 3)) + del x130 + x334 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x334 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * -0.5 + x334 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 0, 2)) + x335 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x335 += einsum(t2, (0, 1, 2, 3), x334, (1, 4, 5, 2, 3, 6), (0, 4, 5, 6)) * 2.0 + del x334 + x336 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x336 += einsum(x208, (0, 1, 2, 3), (1, 0, 2, 3)) + del x208 + x336 += einsum(x335, (0, 1, 2, 3), (2, 1, 0, 3)) + del x335 + x337 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x337 += einsum(t1, (0, 1), x336, (0, 2, 3, 4), (2, 3, 1, 4)) + x338 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x338 += einsum(x332, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + del x332 + x338 += einsum(x109, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.99999999999996 + del x109 + x338 += einsum(x110, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.99999999999996 + del x110 + x338 += einsum(x114, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + del x114 + x338 += einsum(x333, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x333 + x338 += einsum(x337, (0, 1, 2, 3), (0, 1, 3, 2)) + del x337 + x339 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x339 += einsum(v.ovov, (0, 1, 2, 3), x338, (4, 2, 5, 1), (0, 4, 3, 5)) * 0.5 + del x338 + x340 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x340 += einsum(x155, (0, 1, 2, 3), x40, (0, 4, 5, 3), (4, 5, 1, 2)) * -0.5 + x341 = np.zeros((nvir, nvir), dtype=types[float]) + x341 += einsum(l3, (0, 1, 2, 3, 4, 5), x235, (3, 5, 4, 6, 1, 2), (0, 6)) * 2.333333333333333 + del x235 + x342 = np.zeros((nvir, nvir), dtype=types[float]) + x342 += einsum(l3, (0, 1, 2, 3, 4, 5), x116, (3, 4, 5, 6, 1, 2), (0, 6)) * 0.3333333333333333 + del x116 + x343 = np.zeros((nvir, nvir), dtype=types[float]) + x343 += einsum(l2, (0, 1, 2, 3), x120, (2, 3, 4, 1), (0, 4)) * 8.00000000000032 + del x120 + x344 = np.zeros((nvir, nvir), dtype=types[float]) + x344 += einsum(x234, (0, 1), (0, 1)) + del x234 + x344 += einsum(x341, (0, 1), (0, 1)) + del x341 + x344 += einsum(x342, (0, 1), (0, 1)) * -1.0 + del x342 + x344 += einsum(x343, (0, 1), (0, 1)) + del x343 + x345 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x345 += einsum(x344, (0, 1), v.ovov, (2, 1, 3, 4), (2, 3, 4, 0)) * 0.24999999999999 + del x344 + x346 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x346 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) + x346 += einsum(x90, (0, 1, 2, 3), (0, 1, 3, 2)) + x347 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x347 += einsum(l2, (0, 1, 2, 3), x346, (2, 4, 1, 5), (3, 4, 0, 5)) + del x346 + x348 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x348 += einsum(x122, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x348 += einsum(x123, (0, 1, 2, 3), (0, 1, 2, 3)) + del x123 + x348 += einsum(x199, (0, 1, 2, 3), (1, 0, 2, 3)) + x349 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x349 += einsum(v.ooov, (0, 1, 2, 3), x348, (1, 4, 2, 5), (0, 4, 3, 5)) + del x348 + x350 = np.zeros((nocc, nocc), dtype=types[float]) + x350 += einsum(x184, (0, 1, 2, 3, 4, 5), x185, (1, 6, 0, 3, 4, 5), (2, 6)) * 0.3333333333333333 + del x185 + x351 = np.zeros((nocc, nocc), dtype=types[float]) + x351 += einsum(t3, (0, 1, 2, 3, 4, 5), x184, (1, 2, 6, 5, 4, 3), (0, 6)) * 0.3333333333333333 + del x184 + x352 = np.zeros((nocc, nocc), dtype=types[float]) + x352 += einsum(l3, (0, 1, 2, 3, 4, 5), x188, (3, 6, 4, 0, 2, 1), (5, 6)) * 2.333333333333333 + del x188 + x353 = np.zeros((nocc, nocc), dtype=types[float]) + x353 += einsum(l2, (0, 1, 2, 3), x190, (3, 4, 0, 1), (2, 4)) * 8.00000000000032 + x354 = np.zeros((nocc, nocc), dtype=types[float]) + x354 += einsum(x246, (0, 1), (0, 1)) * 4.00000000000016 + del x246 + x354 += einsum(x182, (0, 1), (0, 1)) + del x182 + x354 += einsum(x183, (0, 1), (0, 1)) * -0.3333333333333333 + del x183 + x354 += einsum(x350, (0, 1), (0, 1)) * -1.0 + del x350 + x354 += einsum(x351, (0, 1), (1, 0)) + del x351 + x354 += einsum(x352, (0, 1), (0, 1)) + del x352 + x354 += einsum(x353, (0, 1), (0, 1)) + del x353 + x355 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x355 += einsum(x354, (0, 1), v.ovov, (2, 3, 1, 4), (2, 0, 4, 3)) * 0.24999999999999 + del x354 + x356 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x356 += einsum(t1, (0, 1), x212, (2, 3, 4, 1), (0, 2, 3, 4)) * -1.0 + x357 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x357 += einsum(v.ovov, (0, 1, 2, 3), x356, (0, 4, 5, 2), (4, 5, 3, 1)) * 0.5 + del x356 + x358 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x358 += einsum(x36, (0, 1), x212, (2, 3, 0, 4), (2, 3, 1, 4)) * -1.0 + x359 = np.zeros((nocc, nocc), dtype=types[float]) + x359 += einsum(f.ov, (0, 1), t1, (2, 1), (0, 2)) + x360 = np.zeros((nocc, nocc), dtype=types[float]) + x360 += einsum(f.oo, (0, 1), (0, 1)) + x360 += einsum(x359, (0, 1), (1, 0)) + del x359 + x361 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x361 += einsum(x360, (0, 1), l2, (2, 3, 0, 4), (4, 1, 2, 3)) + x362 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x362 += einsum(x122, (0, 1, 2, 3), (0, 1, 2, 3)) + x362 += einsum(x165, (0, 1, 2, 3), (0, 1, 2, 3)) + x363 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x363 += einsum(f.ov, (0, 1), x362, (2, 3, 0, 4), (2, 3, 4, 1)) + x364 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x364 += einsum(x276, (0, 1, 2, 3), (0, 1, 2, 3)) + del x276 + x364 += einsum(x277, (0, 1, 2, 3), (0, 1, 2, 3)) + del x277 + x364 += einsum(x278, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x278 + x364 += einsum(x279, (0, 1, 2, 3), (0, 1, 2, 3)) + del x279 + x364 += einsum(x280, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x280 + x364 += einsum(x281, (0, 1, 2, 3), (0, 1, 2, 3)) + del x281 + x364 += einsum(x282, (0, 1, 2, 3), (0, 1, 2, 3)) + del x282 + x364 += einsum(x291, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x291 + x364 += einsum(x296, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x296 + x364 += einsum(x307, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x307 + x364 += einsum(x319, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x319 + x364 += einsum(x324, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x324 + x364 += einsum(x328, (0, 1, 2, 3), (0, 1, 2, 3)) + del x328 + x364 += einsum(x331, (0, 1, 2, 3), (1, 0, 3, 2)) + del x331 + x364 += einsum(x339, (0, 1, 2, 3), (1, 0, 3, 2)) + del x339 + x364 += einsum(x340, (0, 1, 2, 3), (0, 1, 2, 3)) + del x340 + x364 += einsum(x345, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x345 + x364 += einsum(x347, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x347 + x364 += einsum(x349, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x349 + x364 += einsum(x355, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x355 + x364 += einsum(x357, (0, 1, 2, 3), (0, 1, 3, 2)) + del x357 + x364 += einsum(x358, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x358 + x364 += einsum(x361, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x361 + x364 += einsum(x363, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x363 + l2new += einsum(x364, (0, 1, 2, 3), (3, 2, 0, 1)) + l2new += einsum(x364, (0, 1, 2, 3), (2, 3, 1, 0)) + del x364 + x365 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x365 += einsum(l1, (0, 1), v.ooov, (2, 1, 3, 4), (2, 3, 0, 4)) + x366 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x366 += einsum(l2, (0, 1, 2, 3), x99, (2, 4, 5, 1), (3, 4, 0, 5)) + x367 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x367 += einsum(x122, (0, 1, 2, 3), x8, (1, 2, 4, 5), (0, 4, 3, 5)) + x368 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x368 += einsum(v.ooov, (0, 1, 2, 3), x165, (4, 1, 2, 5), (4, 0, 5, 3)) + x369 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x369 += einsum(v.ooov, (0, 1, 2, 3), x149, (1, 4, 5, 3), (0, 2, 4, 5)) + del x149 + x370 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x370 += einsum(x99, (0, 1, 2, 3), x118, (0, 4, 5, 1, 3, 6), (4, 5, 6, 2)) + x371 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x371 += einsum(l3, (0, 1, 2, 3, 4, 5), x57, (5, 3, 4, 6, 7, 2), (6, 7, 0, 1)) + del x57 + x372 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x372 += einsum(t2, (0, 1, 2, 3), l3, (4, 5, 2, 6, 1, 0), (6, 4, 5, 3)) + x373 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x373 += einsum(x372, (0, 1, 2, 3), x8, (0, 4, 5, 3), (5, 4, 1, 2)) + x374 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x374 += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 0, 1, 5), (4, 2, 3, 5)) + x375 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x375 += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 2), (0, 3, 4, 5)) + x376 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x376 += einsum(v.ovov, (0, 1, 2, 3), t3, (4, 0, 2, 5, 6, 3), (4, 5, 6, 1)) + x377 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x377 += einsum(t2, (0, 1, 2, 3), x8, (4, 0, 1, 5), (4, 2, 3, 5)) + x378 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x378 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -1.0 + x378 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + x379 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x379 += einsum(v.ovov, (0, 1, 2, 3), x378, (0, 2, 4, 5, 3, 6), (4, 1, 5, 6)) * 0.49999999999998 + x380 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x380 += einsum(v.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) + x380 += einsum(x283, (0, 1, 2, 3), (0, 3, 2, 1)) + del x283 + x380 += einsum(x374, (0, 1, 2, 3), (0, 1, 2, 3)) + del x374 + x380 += einsum(x375, (0, 1, 2, 3), (0, 3, 1, 2)) * -1.0 + del x375 + x380 += einsum(x376, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.99999999999996 + del x376 + x380 += einsum(x377, (0, 1, 2, 3), (0, 2, 1, 3)) + del x377 + x380 += einsum(x379, (0, 1, 2, 3), (0, 3, 2, 1)) * -1.0 + del x379 + x381 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x381 += einsum(x380, (0, 1, 2, 3), l3, (4, 2, 1, 5, 6, 0), (5, 6, 4, 3)) + del x380 + x382 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x382 += einsum(v.ovov, (0, 1, 2, 3), x378, (2, 4, 5, 3, 1, 6), (0, 4, 5, 6)) * 0.49999999999998 + del x378 + x383 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x383 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x383 += einsum(v.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * 2.0 + x383 += einsum(x8, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x383 += einsum(x8, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x384 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x384 += einsum(t2, (0, 1, 2, 3), x383, (4, 1, 5, 3), (0, 4, 5, 2)) + del x383 + x385 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x385 += einsum(v.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) + x385 += einsum(x8, (0, 1, 2, 3), (0, 1, 2, 3)) + x386 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x386 += einsum(t2, (0, 1, 2, 3), x385, (4, 1, 5, 2), (0, 4, 5, 3)) + x387 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x387 += einsum(x67, (0, 1), t2, (2, 3, 1, 4), (2, 3, 0, 4)) + x388 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x388 += einsum(v.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) + x388 += einsum(x5, (0, 1, 2, 3), (2, 1, 3, 0)) + x388 += einsum(x65, (0, 1, 2, 3), (3, 1, 2, 0)) + x389 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x389 += einsum(t1, (0, 1), x388, (0, 2, 3, 4), (2, 3, 4, 1)) + del x388 + x390 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x390 += einsum(v.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 + x390 += einsum(x8, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + x390 += einsum(x218, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x218 + x390 += einsum(x216, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.99999999999996 + del x216 + x390 += einsum(x382, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 + del x382 + x390 += einsum(x384, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x384 + x390 += einsum(x386, (0, 1, 2, 3), (0, 1, 2, 3)) + del x386 + x390 += einsum(x387, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x387 + x390 += einsum(x389, (0, 1, 2, 3), (0, 2, 1, 3)) + del x389 + x391 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x391 += einsum(x390, (0, 1, 2, 3), l3, (4, 5, 3, 6, 1, 0), (6, 2, 4, 5)) + del x390 + x392 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x392 += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 2, 4, 5), (0, 3, 4, 5)) + x393 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x393 += einsum(v.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x393 += einsum(v.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 + x394 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x394 += einsum(t2, (0, 1, 2, 3), x393, (1, 3, 4, 5), (0, 2, 4, 5)) * 0.5 + x395 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x395 += einsum(x392, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.5 + del x392 + x395 += einsum(x394, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x394 + x396 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x396 += einsum(x395, (0, 1, 2, 3), l3, (4, 3, 1, 5, 6, 0), (5, 6, 4, 2)) * 2.0 + del x395 + x397 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x397 += einsum(t2, (0, 1, 2, 3), x385, (4, 5, 1, 2), (0, 4, 5, 3)) + del x385 + x398 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x398 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) + x398 += einsum(x90, (0, 1, 2, 3), (1, 0, 3, 2)) + x399 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x399 += einsum(t1, (0, 1), x398, (2, 3, 1, 4), (0, 2, 3, 4)) + del x398 + x400 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x400 += einsum(t1, (0, 1), x40, (2, 3, 4, 1), (0, 2, 3, 4)) + del x40 + x401 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x401 += einsum(t1, (0, 1), x400, (2, 3, 4, 0), (2, 4, 3, 1)) + del x400 + x402 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x402 += einsum(x397, (0, 1, 2, 3), (1, 0, 2, 3)) + del x397 + x402 += einsum(x399, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + del x399 + x402 += einsum(x401, (0, 1, 2, 3), (0, 2, 1, 3)) + del x401 + x403 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x403 += einsum(x402, (0, 1, 2, 3), l3, (4, 5, 3, 6, 1, 0), (6, 2, 4, 5)) + del x402 + x404 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x404 += einsum(t1, (0, 1), v.ooov, (2, 0, 3, 4), (2, 3, 1, 4)) + x405 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x405 += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 5, 1, 2), (0, 4, 3, 5)) + x406 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x406 += einsum(t2, (0, 1, 2, 3), x43, (1, 4, 3, 5), (0, 4, 2, 5)) + del x43 + x407 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x407 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x407 += einsum(x404, (0, 1, 2, 3), (0, 1, 2, 3)) + del x404 + x407 += einsum(x405, (0, 1, 2, 3), (0, 1, 2, 3)) + del x405 + x407 += einsum(x406, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x406 + x408 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x408 += einsum(x407, (0, 1, 2, 3), x118, (4, 0, 5, 1, 6, 2), (4, 5, 6, 3)) + del x407 + x409 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x409 += einsum(t2, (0, 1, 2, 3), l3, (4, 5, 3, 1, 6, 0), (6, 4, 5, 2)) + x410 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x410 += einsum(t2, (0, 1, 2, 3), l3, (4, 2, 5, 1, 6, 0), (6, 4, 5, 3)) + x411 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x411 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) + x411 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) * -1.0 + x411 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 1, 2)) * 0.5 + x411 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 0, 2)) * 2.0 + x412 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x412 += einsum(t2, (0, 1, 2, 3), x411, (0, 4, 1, 2, 5, 6), (4, 3, 5, 6)) + del x411 + x413 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x413 += einsum(x409, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 + del x409 + x413 += einsum(x410, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 + x413 += einsum(x410, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 + x413 += einsum(x412, (0, 1, 2, 3), (0, 2, 3, 1)) + del x412 + x414 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x414 += einsum(v.ovvv, (0, 1, 2, 3), x413, (4, 5, 2, 3), (0, 4, 1, 5)) + del x413 + x415 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x415 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 5.0 + x415 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 + x415 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -1.0 + x415 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + x415 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 + x415 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 5.0 + x416 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x416 += einsum(l3, (0, 1, 2, 3, 4, 5), x415, (5, 6, 4, 2, 7, 1), (3, 6, 0, 7)) + del x415 + x417 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x417 += einsum(l3, (0, 1, 2, 3, 4, 5), x161, (5, 6, 3, 0, 2, 7), (4, 6, 1, 7)) + del x161 + x418 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x418 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) + x418 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 1, 2)) * -1.0 + x419 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x419 += einsum(t3, (0, 1, 2, 3, 4, 5), x418, (1, 2, 6, 5, 7, 4), (0, 6, 3, 7)) + del x418 + x420 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x420 += einsum(l3, (0, 1, 2, 3, 4, 5), x265, (5, 6, 4, 2, 1, 7), (3, 6, 0, 7)) + del x265 + x421 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x421 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + x421 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) + x422 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x422 += einsum(l3, (0, 1, 2, 3, 4, 5), x421, (3, 6, 5, 2, 1, 7), (4, 6, 0, 7)) + del x421 + x423 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x423 += einsum(x118, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 0.5 + x423 += einsum(x112, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -0.5 + x423 += einsum(x112, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) + x423 += einsum(x112, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) * -0.25 + x423 += einsum(x112, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) * 0.25 + x424 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x424 += einsum(t2, (0, 1, 2, 3), x423, (4, 0, 1, 5, 6, 2), (4, 5, 3, 6)) * 8.00000000000032 + del x423 + x425 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x425 += einsum(x112, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 + x425 += einsum(x112, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) + x426 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x426 += einsum(t2, (0, 1, 2, 3), x425, (0, 1, 4, 5, 6, 3), (4, 5, 2, 6)) * 2.00000000000008 + del x425 + x427 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x427 += einsum(x197, (0, 1, 2, 3), x77, (0, 4, 2, 5), (4, 1, 5, 3)) * 8.00000000000032 + del x197 + x428 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x428 += einsum(x125, (0, 1, 2, 3), l3, (4, 2, 3, 5, 0, 6), (6, 5, 1, 4)) + del x125 + x429 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x429 += einsum(x117, (0, 1, 2, 3), l3, (2, 4, 3, 0, 5, 6), (6, 5, 1, 4)) * 0.3333333333333333 + x430 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x430 += einsum(x165, (0, 1, 2, 3), (0, 1, 2, 3)) + x430 += einsum(x165, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.3333333333333333 + x430 += einsum(x167, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.3333333333333333 + x430 += einsum(x167, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.3333333333333333 + x430 += einsum(x428, (0, 1, 2, 3), (1, 0, 2, 3)) + x430 += einsum(x429, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x429 + x431 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x431 += einsum(t1, (0, 1), x430, (2, 0, 3, 4), (2, 3, 1, 4)) * 6.00000000000024 + del x430 + x432 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x432 += einsum(x194, (0, 1, 2, 3), (0, 1, 2, 3)) + del x194 + x432 += einsum(l2, (0, 1, 2, 3), (3, 2, 0, 1)) * 4.00000000000016 + x432 += einsum(l2, (0, 1, 2, 3), (2, 3, 0, 1)) * -8.00000000000032 + x432 += einsum(x416, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x416 + x432 += einsum(x417, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x417 + x432 += einsum(x419, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x419 + x432 += einsum(x420, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x420 + x432 += einsum(x422, (0, 1, 2, 3), (0, 1, 2, 3)) + del x422 + x432 += einsum(x424, (0, 1, 2, 3), (0, 1, 3, 2)) + del x424 + x432 += einsum(x426, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x426 + x432 += einsum(x427, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x427 + x432 += einsum(x431, (0, 1, 2, 3), (0, 1, 3, 2)) + del x431 + x433 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x433 += einsum(v.ovov, (0, 1, 2, 3), x432, (4, 2, 5, 3), (0, 4, 1, 5)) * 0.24999999999999 + del x432 + x434 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x434 += einsum(l2, (0, 1, 2, 3), t2, (4, 2, 5, 1), (3, 4, 0, 5)) + x435 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x435 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (3, 6, 5, 1, 7, 2), (4, 6, 0, 7)) + x436 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x436 += einsum(t2, (0, 1, 2, 3), x118, (4, 0, 1, 5, 6, 2), (4, 5, 6, 3)) + x437 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x437 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 4.0 + x437 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -1.0 + x437 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + x438 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x438 += einsum(l3, (0, 1, 2, 3, 4, 5), x437, (4, 6, 5, 1, 7, 2), (3, 6, 0, 7)) + del x437 + x439 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x439 += einsum(l3, (0, 1, 2, 3, 4, 5), x196, (5, 6, 3, 0, 2, 7), (4, 6, 1, 7)) + del x196 + x440 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x440 += einsum(x117, (0, 1, 2, 3), x112, (0, 1, 4, 5, 2, 6), (4, 5, 6, 3)) * 2.00000000000008 + x441 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x441 += einsum(l2, (0, 1, 2, 3), x77, (3, 4, 1, 5), (2, 4, 0, 5)) * 4.00000000000016 + x442 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x442 += einsum(t1, (0, 1), x336, (2, 0, 3, 4), (2, 3, 1, 4)) * 2.00000000000008 + del x336 + x443 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x443 += einsum(x434, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.00000000000016 + del x434 + x443 += einsum(x435, (0, 1, 2, 3), (0, 1, 2, 3)) + del x435 + x443 += einsum(x195, (0, 1, 2, 3), (0, 1, 2, 3)) + del x195 + x443 += einsum(x436, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.00000000000016 + del x436 + x443 += einsum(x438, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x438 + x443 += einsum(x439, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x439 + x443 += einsum(x440, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x440 + x443 += einsum(x441, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x441 + x443 += einsum(x442, (0, 1, 2, 3), (0, 1, 3, 2)) + del x442 + x444 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x444 += einsum(v.ovov, (0, 1, 2, 3), x443, (4, 2, 5, 1), (0, 4, 3, 5)) * 0.24999999999999 + del x443 + x445 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x445 += einsum(x217, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x445 += einsum(x217, (0, 1, 2, 3), (0, 2, 1, 3)) + del x217 + x446 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x446 += einsum(x445, (0, 1, 2, 3), l3, (4, 5, 3, 1, 6, 2), (6, 0, 4, 5)) * 0.5 + del x445 + x447 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x447 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x447 += einsum(x70, (0, 1, 2, 3), (0, 1, 2, 3)) + x448 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x448 += einsum(x447, (0, 1, 2, 3), x112, (4, 0, 5, 1, 6, 2), (4, 5, 6, 3)) + del x447 + x449 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x449 += einsum(x117, (0, 1, 2, 3), l3, (4, 5, 2, 1, 6, 0), (6, 4, 5, 3)) * 0.5 + del x117 + x450 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x450 += einsum(x372, (0, 1, 2, 3), (0, 1, 2, 3)) + x450 += einsum(x449, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + del x449 + x451 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x451 += einsum(v.ovvv, (0, 1, 2, 3), x450, (4, 5, 3, 1), (0, 4, 2, 5)) + del x450 + x452 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x452 += einsum(t1, (0, 1), x8, (2, 0, 3, 4), (2, 3, 1, 4)) + x453 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x453 += einsum(x90, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + x453 += einsum(x452, (0, 1, 2, 3), (0, 1, 2, 3)) + del x452 + x454 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x454 += einsum(x453, (0, 1, 2, 3), x112, (4, 0, 5, 1, 6, 2), (4, 5, 6, 3)) + del x453 + x455 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x455 += einsum(x122, (0, 1, 2, 3), (1, 0, 2, 3)) + x455 += einsum(x199, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x199 + x456 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x456 += einsum(v.ovvv, (0, 1, 2, 3), x455, (4, 5, 0, 3), (4, 5, 1, 2)) + del x455 + x457 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x457 += einsum(v.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x457 += einsum(v.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) * 2.0 + x458 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x458 += einsum(t1, (0, 1), x457, (2, 1, 3, 4), (0, 2, 3, 4)) + del x457 + x459 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x459 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) + x459 += einsum(x458, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x458 + x460 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x460 += einsum(l2, (0, 1, 2, 3), x459, (3, 4, 5, 1), (2, 4, 0, 5)) + del x459 + x461 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x461 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x461 += einsum(v.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) + x462 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x462 += einsum(x212, (0, 1, 2, 3), x461, (0, 4, 2, 5), (1, 4, 3, 5)) * -0.5 + del x461 + x463 = np.zeros((nvir, nvir), dtype=types[float]) + x463 += einsum(v.ovov, (0, 1, 2, 3), x190, (0, 2, 4, 1), (3, 4)) + x464 = np.zeros((nvir, nvir), dtype=types[float]) + x464 += einsum(t1, (0, 1), x393, (0, 1, 2, 3), (2, 3)) * 0.5 + x465 = np.zeros((nvir, nvir), dtype=types[float]) + x465 += einsum(x463, (0, 1), (0, 1)) + del x463 + x465 += einsum(x464, (0, 1), (1, 0)) * -1.0 + del x464 + x466 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x466 += einsum(x465, (0, 1), l2, (2, 1, 3, 4), (4, 3, 2, 0)) * 2.0 + del x465 + x467 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x467 += einsum(x171, (0, 1, 2, 3), (0, 1, 2, 3)) + del x171 + x467 += einsum(x176, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0000000000000804 + del x176 + x468 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x468 += einsum(v.ovov, (0, 1, 2, 3), x467, (4, 5, 0, 2), (4, 5, 3, 1)) * 0.49999999999997996 + del x467 + x469 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x469 += einsum(x122, (0, 1, 2, 3), x263, (1, 4, 2, 5), (0, 4, 3, 5)) + del x263 + x470 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x470 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) + x470 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 4, 3, 0, 2, 1)) + x470 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) * -3.0 + x471 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x471 += einsum(t2, (0, 1, 2, 3), x470, (1, 4, 5, 6, 2, 3), (0, 4, 5, 6)) + del x470 + x472 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x472 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * 0.3333333333333333 + x472 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 4, 3, 0, 2, 1)) + x472 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) * -0.3333333333333333 + x473 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x473 += einsum(t2, (0, 1, 2, 3), x472, (1, 4, 5, 6, 3, 2), (0, 4, 5, 6)) * 3.0 + del x472 + x474 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x474 += einsum(x122, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 + x474 += einsum(x471, (0, 1, 2, 3), (2, 1, 0, 3)) + del x471 + x474 += einsum(x473, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 + del x473 + x475 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x475 += einsum(v.ooov, (0, 1, 2, 3), x474, (4, 0, 1, 5), (2, 4, 3, 5)) * 0.5 + del x474 + x476 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x476 += einsum(x122, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x476 += einsum(x122, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 + x477 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x477 += einsum(x476, (0, 1, 2, 3), x8, (0, 4, 2, 5), (4, 1, 5, 3)) + del x476 + x478 = np.zeros((nocc, nocc), dtype=types[float]) + x478 += einsum(t1, (0, 1), x36, (2, 1), (0, 2)) * 2.0 + x479 = np.zeros((nocc, nocc), dtype=types[float]) + x479 += einsum(x271, (0, 1), (1, 0)) + del x271 + x479 += einsum(x273, (0, 1), (1, 0)) + del x273 + x479 += einsum(x478, (0, 1), (0, 1)) + del x478 + x480 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x480 += einsum(x479, (0, 1), l2, (2, 3, 0, 4), (4, 1, 2, 3)) + x481 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x481 += einsum(x67, (0, 1), x362, (2, 3, 0, 4), (2, 3, 4, 1)) + del x67, x362 + x482 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x482 += einsum(f.ov, (0, 1), x212, (2, 3, 0, 4), (2, 3, 4, 1)) * -0.5 + x483 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x483 += einsum(f.ov, (0, 1), l1, (2, 3), (0, 3, 1, 2)) + x483 += einsum(x365, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x365 + x483 += einsum(x366, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x366 + x483 += einsum(x367, (0, 1, 2, 3), (0, 1, 2, 3)) + del x367 + x483 += einsum(x368, (0, 1, 2, 3), (0, 1, 2, 3)) + del x368 + x483 += einsum(x369, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x369 + x483 += einsum(x370, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x370 + x483 += einsum(x371, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.49999999999997996 + del x371 + x483 += einsum(x373, (0, 1, 2, 3), (0, 1, 2, 3)) + del x373 + x483 += einsum(x381, (0, 1, 2, 3), (0, 1, 2, 3)) + del x381 + x483 += einsum(x391, (0, 1, 2, 3), (0, 1, 2, 3)) + del x391 + x483 += einsum(x396, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x396 + x483 += einsum(x403, (0, 1, 2, 3), (0, 1, 2, 3)) + del x403 + x483 += einsum(x408, (0, 1, 2, 3), (0, 1, 2, 3)) + del x408 + x483 += einsum(x414, (0, 1, 2, 3), (1, 0, 3, 2)) + del x414 + x483 += einsum(x433, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x433 + x483 += einsum(x444, (0, 1, 2, 3), (1, 0, 3, 2)) + del x444 + x483 += einsum(x446, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x446 + x483 += einsum(x448, (0, 1, 2, 3), (0, 1, 2, 3)) + del x448 + x483 += einsum(x451, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x451 + x483 += einsum(x454, (0, 1, 2, 3), (0, 1, 2, 3)) + del x454 + x483 += einsum(x456, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x456 + x483 += einsum(x460, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x460 + x483 += einsum(x462, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x462 + x483 += einsum(x466, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x466 + x483 += einsum(x468, (0, 1, 2, 3), (0, 1, 3, 2)) + del x468 + x483 += einsum(x469, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x469 + x483 += einsum(x475, (0, 1, 2, 3), (1, 0, 3, 2)) + del x475 + x483 += einsum(x477, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x477 + x483 += einsum(x480, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x480 + x483 += einsum(x481, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x481 + x483 += einsum(x482, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x482 + x483 += einsum(l1, (0, 1), x36, (2, 3), (1, 2, 0, 3)) * 2.0 + l2new += einsum(x483, (0, 1, 2, 3), (2, 3, 0, 1)) + l2new += einsum(x483, (0, 1, 2, 3), (3, 2, 1, 0)) + del x483 + x484 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x484 += einsum(v.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) + x484 += einsum(x65, (0, 1, 2, 3), (1, 3, 0, 2)) + x484 += einsum(x20, (0, 1, 2, 3), (0, 2, 1, 3)) + x485 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x485 += einsum(x484, (0, 1, 2, 3), l3, (4, 5, 6, 0, 7, 2), (7, 1, 3, 4, 6, 5)) * 0.5 + del x484 + l3new += einsum(x485, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 0, 2)) * -1.0 + l3new += einsum(x485, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 0, 2)) + del x485 + x486 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x486 += einsum(x20, (0, 1, 2, 3), l3, (4, 5, 6, 7, 1, 0), (7, 2, 3, 4, 6, 5)) + del x20 + x487 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x487 += einsum(v.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) + x487 += einsum(x5, (0, 1, 2, 3), (2, 1, 0, 3)) + x487 += einsum(x65, (0, 1, 2, 3), (1, 3, 0, 2)) + del x65 + x488 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x488 += einsum(x487, (0, 1, 2, 3), l3, (4, 5, 6, 0, 2, 7), (7, 1, 3, 4, 6, 5)) + del x487 + x489 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x489 += einsum(x360, (0, 1), l3, (2, 3, 4, 0, 5, 6), (6, 5, 1, 2, 4, 3)) + del x360 + x490 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x490 += einsum(x486, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x486 + x490 += einsum(x488, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) + del x488 + x490 += einsum(x489, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) + del x489 + l3new += einsum(x490, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) + l3new += einsum(x490, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 2, 0)) * -1.0 + del x490 + x491 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x491 += einsum(l2, (0, 1, 2, 3), v.ooov, (4, 3, 5, 6), (2, 4, 5, 0, 1, 6)) + l3new += einsum(x491, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 1, 2)) * -1.0 + l3new += einsum(x491, (0, 1, 2, 3, 4, 5), (5, 4, 3, 0, 1, 2)) + l3new += einsum(x491, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * -1.0 + l3new += einsum(x491, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) + l3new += einsum(x491, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 0, 2)) * -1.0 + l3new += einsum(x491, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) + l3new += einsum(x491, (0, 1, 2, 3, 4, 5), (4, 3, 5, 2, 0, 1)) + l3new += einsum(x491, (0, 1, 2, 3, 4, 5), (5, 3, 4, 2, 0, 1)) * -1.0 + l3new += einsum(x491, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 2, 0)) + l3new += einsum(x491, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) * -1.0 + l3new += einsum(x491, (0, 1, 2, 3, 4, 5), (3, 4, 5, 2, 1, 0)) + l3new += einsum(x491, (0, 1, 2, 3, 4, 5), (5, 4, 3, 2, 1, 0)) * -1.0 + del x491 + x492 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x492 += einsum(f.vv, (0, 1), l3, (2, 3, 1, 4, 5, 6), (4, 6, 5, 0, 2, 3)) + x493 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x493 += einsum(f.ov, (0, 1), x112, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) + x494 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x494 += einsum(v.vvvv, (0, 1, 2, 3), l3, (4, 3, 1, 5, 6, 7), (5, 7, 6, 4, 0, 2)) + x495 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x495 += einsum(v.ovvv, (0, 1, 2, 3), x112, (4, 5, 6, 0, 7, 3), (4, 5, 6, 7, 1, 2)) + x496 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) + x496 += einsum(t2, (0, 1, 2, 3), l3, (4, 3, 2, 5, 6, 7), (5, 7, 6, 0, 1, 4)) + x497 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) + x497 += einsum(x496, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x496 + x497 += einsum(x151, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x151 + x498 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x498 += einsum(v.ovov, (0, 1, 2, 3), x497, (4, 5, 6, 2, 0, 7), (4, 5, 6, 1, 3, 7)) + del x497 + x499 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x499 += einsum(x492, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 + del x492 + x499 += einsum(x493, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x493 + x499 += einsum(x494, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x494 + x499 += einsum(x495, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 + del x495 + x499 += einsum(x498, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) + del x498 + l3new += einsum(x499, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) + l3new += einsum(x499, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) * -1.0 + del x499 + x500 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x500 += einsum(l2, (0, 1, 2, 3), v.ovvv, (4, 5, 6, 1), (2, 3, 4, 0, 5, 6)) + x501 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x501 += einsum(l2, (0, 1, 2, 3), x8, (3, 4, 5, 6), (2, 4, 5, 0, 1, 6)) + x502 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x502 += einsum(v.ovov, (0, 1, 2, 3), x122, (4, 5, 2, 6), (4, 5, 0, 6, 1, 3)) + del x122 + x503 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x503 += einsum(x500, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 + del x500 + x503 += einsum(x501, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x501 + x503 += einsum(x502, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x502 + l3new += einsum(x503, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 1, 2)) * -1.0 + l3new += einsum(x503, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 1, 2)) + l3new += einsum(x503, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 2, 1)) * -1.0 + l3new += einsum(x503, (0, 1, 2, 3, 4, 5), (5, 4, 3, 0, 2, 1)) + l3new += einsum(x503, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 0, 2)) + l3new += einsum(x503, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) * -1.0 + l3new += einsum(x503, (0, 1, 2, 3, 4, 5), (4, 3, 5, 2, 0, 1)) * -1.0 + l3new += einsum(x503, (0, 1, 2, 3, 4, 5), (5, 3, 4, 2, 0, 1)) + l3new += einsum(x503, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 2, 0)) + l3new += einsum(x503, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 2, 0)) * -1.0 + l3new += einsum(x503, (0, 1, 2, 3, 4, 5), (3, 5, 4, 2, 1, 0)) + l3new += einsum(x503, (0, 1, 2, 3, 4, 5), (4, 5, 3, 2, 1, 0)) * -1.0 + del x503 + x504 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x504 += einsum(v.vvvv, (0, 1, 2, 3), l3, (1, 4, 3, 5, 6, 7), (5, 7, 6, 4, 0, 2)) + x505 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) + x505 += einsum(t2, (0, 1, 2, 3), l3, (2, 4, 3, 5, 6, 7), (5, 7, 6, 0, 1, 4)) + x506 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) + x506 += einsum(t1, (0, 1), x112, (2, 3, 4, 5, 1, 6), (2, 3, 4, 0, 5, 6)) + x507 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) + x507 += einsum(x505, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x505 + x507 += einsum(x506, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x506 + x508 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x508 += einsum(v.ovov, (0, 1, 2, 3), x507, (4, 5, 6, 2, 0, 7), (4, 5, 6, 1, 3, 7)) * 0.5 + del x507 + x509 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x509 += einsum(x504, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 0.5 + del x504 + x509 += einsum(x508, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) + del x508 + l3new += einsum(x509, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 2, 0)) * -1.0 + l3new += einsum(x509, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) + del x509 + x510 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x510 += einsum(v.ovov, (0, 1, 2, 3), x212, (4, 5, 2, 6), (0, 4, 5, 3, 1, 6)) * -0.5 + del x212 + l3new += einsum(x510, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) + l3new += einsum(x510, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 2, 0)) * -1.0 + l3new += einsum(x510, (0, 1, 2, 3, 4, 5), (5, 3, 4, 2, 1, 0)) * -1.0 + l3new += einsum(x510, (0, 1, 2, 3, 4, 5), (4, 3, 5, 2, 1, 0)) + l3new += einsum(x510, (0, 1, 2, 3, 4, 5), (5, 3, 4, 0, 1, 2)) + l3new += einsum(x510, (0, 1, 2, 3, 4, 5), (4, 3, 5, 0, 1, 2)) * -1.0 + l3new += einsum(x510, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) * -1.0 + l3new += einsum(x510, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) + del x510 + x511 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x511 += einsum(v.ovov, (0, 1, 2, 3), x165, (4, 5, 2, 6), (4, 5, 0, 6, 1, 3)) + del x165 + l3new += einsum(x511, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 1, 2)) * -1.0 + l3new += einsum(x511, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 1, 2)) + l3new += einsum(x511, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 2, 1)) * -0.5 + l3new += einsum(x511, (0, 1, 2, 3, 4, 5), (5, 4, 3, 0, 2, 1)) * 0.5 + l3new += einsum(x511, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 0, 2)) + l3new += einsum(x511, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) * -1.0 + l3new += einsum(x511, (0, 1, 2, 3, 4, 5), (4, 3, 5, 2, 0, 1)) * -1.0 + l3new += einsum(x511, (0, 1, 2, 3, 4, 5), (5, 3, 4, 2, 0, 1)) + l3new += einsum(x511, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 2, 0)) * 0.5 + l3new += einsum(x511, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 2, 0)) * -0.5 + l3new += einsum(x511, (0, 1, 2, 3, 4, 5), (3, 5, 4, 2, 1, 0)) + l3new += einsum(x511, (0, 1, 2, 3, 4, 5), (4, 5, 3, 2, 1, 0)) * -1.0 + del x511 + x512 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x512 += einsum(v.ooov, (0, 1, 2, 3), x112, (4, 5, 1, 2, 6, 7), (4, 5, 0, 6, 7, 3)) + x513 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x513 += einsum(v.ovvv, (0, 1, 2, 3), x118, (4, 5, 6, 0, 3, 7), (5, 4, 6, 7, 1, 2)) + x514 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x514 += einsum(x8, (0, 1, 2, 3), x112, (4, 5, 0, 1, 6, 7), (4, 5, 2, 6, 7, 3)) + x515 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x515 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) + x515 += einsum(x90, (0, 1, 2, 3), (0, 1, 3, 2)) + del x90 + x515 += einsum(x70, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.00000000000001 + del x70 + l3new += einsum(x515, (0, 1, 2, 3), l3, (4, 2, 5, 6, 0, 7), (4, 3, 5, 6, 1, 7)) * -1.0 + x516 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x516 += einsum(x515, (0, 1, 2, 3), l3, (4, 5, 2, 6, 0, 7), (7, 6, 1, 4, 5, 3)) + x517 = np.zeros((nvir, nvir), dtype=types[float]) + x517 += einsum(v.ovov, (0, 1, 2, 3), x190, (0, 2, 4, 1), (3, 4)) * 2.0 + del x190 + x518 = np.zeros((nvir, nvir), dtype=types[float]) + x518 += einsum(t1, (0, 1), x393, (0, 1, 2, 3), (2, 3)) + del x393 + x519 = np.zeros((nvir, nvir), dtype=types[float]) + x519 += einsum(x517, (0, 1), (0, 1)) + del x517 + x519 += einsum(x518, (0, 1), (1, 0)) * -1.0 + del x518 + x520 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x520 += einsum(x519, (0, 1), l3, (2, 3, 1, 4, 5, 6), (6, 4, 5, 2, 3, 0)) + del x519 + x521 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x521 += einsum(x36, (0, 1), x112, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 6, 1)) * 2.0 + del x36 + x522 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x522 += einsum(v.ovov, (0, 1, 2, 3), x428, (4, 5, 2, 6), (0, 5, 4, 3, 1, 6)) * 1.5 + del x428 + x523 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x523 += einsum(x512, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 + del x512 + x523 += einsum(x513, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x513 + x523 += einsum(x514, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 + del x514 + x523 += einsum(x516, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) + del x516 + x523 += einsum(x520, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) + del x520 + x523 += einsum(x521, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x521 + x523 += einsum(x522, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) + del x522 + l3new += einsum(x523, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 2, 1)) * -1.0 + l3new += einsum(x523, (0, 1, 2, 3, 4, 5), (5, 4, 3, 0, 2, 1)) + del x523 + x524 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x524 += einsum(v.ovov, (0, 1, 2, 3), x155, (4, 5, 6, 1), (0, 2, 4, 3, 5, 6)) * -0.5 + del x155 + l3new += einsum(x524, (0, 1, 2, 3, 4, 5), (5, 4, 3, 2, 0, 1)) * -1.0 + l3new += einsum(x524, (0, 1, 2, 3, 4, 5), (3, 4, 5, 2, 0, 1)) + l3new += einsum(x524, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) + l3new += einsum(x524, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 2, 0)) * -1.0 + l3new += einsum(x524, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) * -1.0 + l3new += einsum(x524, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) + l3new += einsum(x524, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 0, 2)) + l3new += einsum(x524, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 0, 2)) * -1.0 + del x524 + x525 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x525 += einsum(v.ovov, (0, 1, 2, 3), x410, (4, 5, 6, 3), (4, 0, 2, 6, 5, 1)) + del x410 + l3new += einsum(x525, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 1, 2)) * 0.5 + l3new += einsum(x525, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 1, 2)) * -0.5 + l3new += einsum(x525, (0, 1, 2, 3, 4, 5), (3, 5, 4, 2, 1, 0)) * -0.5 + l3new += einsum(x525, (0, 1, 2, 3, 4, 5), (4, 5, 3, 2, 1, 0)) * 0.5 + del x525 + x526 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x526 += einsum(v.ovov, (0, 1, 2, 3), x167, (4, 5, 2, 6), (4, 5, 0, 6, 1, 3)) + del x167 + l3new += einsum(x526, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 2, 1)) * 0.5 + l3new += einsum(x526, (0, 1, 2, 3, 4, 5), (5, 4, 3, 0, 2, 1)) * -0.5 + l3new += einsum(x526, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 2, 0)) * -0.5 + l3new += einsum(x526, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 2, 0)) * 0.5 + del x526 + x527 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x527 += einsum(x5, (0, 1, 2, 3), l3, (4, 5, 6, 7, 2, 0), (7, 1, 3, 4, 6, 5)) + x528 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x528 += einsum(v.ooov, (0, 1, 2, 3), x118, (4, 1, 5, 2, 6, 7), (4, 5, 0, 6, 7, 3)) + x529 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x529 += einsum(x8, (0, 1, 2, 3), x118, (0, 4, 5, 1, 6, 7), (4, 5, 2, 7, 6, 3)) + x530 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x530 += einsum(x515, (0, 1, 2, 3), l3, (4, 2, 5, 0, 6, 7), (7, 6, 1, 4, 5, 3)) + x531 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x531 += einsum(x479, (0, 1), l3, (2, 3, 4, 0, 5, 6), (6, 5, 1, 2, 4, 3)) + del x479 + x532 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x532 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * -0.5 + x532 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) + x533 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x533 += einsum(t2, (0, 1, 2, 3), x532, (0, 4, 1, 5, 6, 2), (4, 3, 5, 6)) * 2.0 + del x532 + x534 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x534 += einsum(v.ovov, (0, 1, 2, 3), x533, (4, 1, 5, 6), (0, 2, 4, 3, 6, 5)) + del x533 + x535 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x535 += einsum(x527, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x527 + x535 += einsum(x528, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x528 + x535 += einsum(x529, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x529 + x535 += einsum(x530, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 + del x530 + x535 += einsum(x531, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 + del x531 + x535 += einsum(x534, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -1.0 + del x534 + l3new += einsum(x535, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 1, 2)) + l3new += einsum(x535, (0, 1, 2, 3, 4, 5), (3, 5, 4, 2, 1, 0)) * -1.0 + del x535 + x536 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x536 += einsum(v.ovov, (0, 1, 2, 3), x372, (4, 5, 6, 3), (4, 0, 2, 5, 6, 1)) + del x372 + l3new += einsum(x536, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 2, 1)) * -1.0 + l3new += einsum(x536, (0, 1, 2, 3, 4, 5), (5, 4, 3, 0, 2, 1)) + l3new += einsum(x536, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 0, 2)) + l3new += einsum(x536, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) * -1.0 + l3new += einsum(x536, (0, 1, 2, 3, 4, 5), (4, 3, 5, 2, 0, 1)) * -1.0 + l3new += einsum(x536, (0, 1, 2, 3, 4, 5), (5, 3, 4, 2, 0, 1)) + l3new += einsum(x536, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 2, 0)) + l3new += einsum(x536, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 2, 0)) * -1.0 + del x536 + x537 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x537 += einsum(v.ooov, (0, 1, 2, 3), x112, (4, 0, 5, 1, 6, 7), (4, 5, 2, 6, 7, 3)) + x538 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x538 += einsum(x8, (0, 1, 2, 3), x112, (4, 0, 5, 2, 6, 7), (4, 5, 1, 6, 7, 3)) + x539 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x539 += einsum(v.ovov, (0, 1, 2, 3), x77, (2, 4, 3, 5), (0, 4, 1, 5)) * 1.00000000000001 + x540 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x540 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + x540 += einsum(x99, (0, 1, 2, 3), (0, 1, 3, 2)) + x540 += einsum(x76, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.00000000000001 + x540 += einsum(x539, (0, 1, 2, 3), (1, 0, 3, 2)) + del x539 + x541 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x541 += einsum(x540, (0, 1, 2, 3), l3, (4, 5, 2, 6, 7, 0), (6, 7, 1, 4, 5, 3)) + del x540 + x542 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x542 += einsum(x537, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x537 + x542 += einsum(x538, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x538 + x542 += einsum(x541, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 + del x541 + l3new += einsum(x542, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 1, 2)) * -1.0 + l3new += einsum(x542, (0, 1, 2, 3, 4, 5), (5, 4, 3, 0, 1, 2)) + l3new += einsum(x542, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * -1.0 + l3new += einsum(x542, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 0, 2)) * -1.0 + l3new += einsum(x542, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) + l3new += einsum(x542, (0, 1, 2, 3, 4, 5), (4, 3, 5, 2, 0, 1)) + l3new += einsum(x542, (0, 1, 2, 3, 4, 5), (5, 3, 4, 2, 0, 1)) * -1.0 + l3new += einsum(x542, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 2, 0)) + l3new += einsum(x542, (0, 1, 2, 3, 4, 5), (3, 4, 5, 2, 1, 0)) + l3new += einsum(x542, (0, 1, 2, 3, 4, 5), (5, 4, 3, 2, 1, 0)) * -1.0 + del x542 + x543 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x543 += einsum(v.ooov, (0, 1, 2, 3), x112, (4, 1, 5, 2, 6, 7), (4, 5, 0, 6, 7, 3)) + x544 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x544 += einsum(x8, (0, 1, 2, 3), x112, (4, 0, 5, 1, 6, 7), (4, 5, 2, 6, 7, 3)) + del x8 + x545 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x545 += einsum(x515, (0, 1, 2, 3), l3, (4, 5, 2, 6, 7, 0), (6, 7, 1, 4, 5, 3)) + del x515 + x546 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x546 += einsum(x543, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x543 + x546 += einsum(x544, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x544 + x546 += einsum(x545, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 + del x545 + l3new += einsum(x546, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 1, 2)) + l3new += einsum(x546, (0, 1, 2, 3, 4, 5), (5, 4, 3, 0, 1, 2)) * -1.0 + l3new += einsum(x546, (0, 1, 2, 3, 4, 5), (3, 4, 5, 2, 1, 0)) * -1.0 + l3new += einsum(x546, (0, 1, 2, 3, 4, 5), (5, 4, 3, 2, 1, 0)) + del x546 + x547 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x547 += einsum(v.ovvv, (0, 1, 2, 3), x112, (4, 5, 6, 0, 3, 7), (5, 4, 6, 7, 1, 2)) + del x112 + l3new += einsum(x547, (0, 1, 2, 3, 4, 5), (4, 3, 5, 0, 2, 1)) * -1.0 + l3new += einsum(x547, (0, 1, 2, 3, 4, 5), (5, 3, 4, 0, 2, 1)) + del x547 + x548 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x548 += einsum(x5, (0, 1, 2, 3), l3, (4, 5, 6, 0, 7, 2), (7, 1, 3, 4, 6, 5)) + del x5 + l3new += einsum(x548, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 0, 2)) * -1.0 + l3new += einsum(x548, (0, 1, 2, 3, 4, 5), (3, 5, 4, 2, 0, 1)) + del x548 + x549 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x549 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * 0.99999999999999 + x549 += einsum(x99, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.99999999999999 + del x99 + x549 += einsum(x76, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x76 + x549 += einsum(x96, (0, 1, 2, 3), (1, 0, 3, 2)) + del x96 + l3new += einsum(x549, (0, 1, 2, 3), x141, (4, 5, 0, 2, 6, 7), (6, 3, 7, 5, 1, 4)) * 1.00000000000001 + del x141, x549 + x550 = np.zeros((nvir, nvir), dtype=types[float]) + x550 += einsum(f.vv, (0, 1), (0, 1)) + x550 += einsum(v.ovov, (0, 1, 2, 3), x77, (0, 2, 1, 4), (4, 3)) * -1.0 + del x77 + x550 += einsum(t1, (0, 1), x54, (0, 1, 2, 3), (3, 2)) * 2.0 + del x54 + l3new += einsum(x550, (0, 1), l3, (2, 0, 3, 4, 5, 6), (2, 1, 3, 4, 5, 6)) + del x550 + x551 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x551 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) + x551 += einsum(v.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + l3new += einsum(x551, (0, 1, 2, 3), x118, (4, 5, 0, 1, 6, 7), (7, 3, 6, 5, 2, 4)) * -1.0 + del x118, x551 + x552 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x552 += einsum(l2, (0, 1, 2, 3), (3, 2, 0, 1)) + x552 += einsum(l2, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 + l3new += einsum(x68, (0, 1), x552, (2, 3, 4, 5), (5, 1, 4, 3, 0, 2)) * -1.0 + del x68, x552 + + return {"l1new": l1new, "l2new": l2new, "l3new": l3new} + +def make_rdm1_f(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, t3=None, l1=None, l2=None, l3=None, **kwargs): + delta = Namespace(oo=np.eye(nocc), vv=np.eye(nvir)) + + # RDM1 + rdm1_f_oo = np.zeros((nocc, nocc), dtype=types[float]) + rdm1_f_oo += einsum(delta.oo, (0, 1), (0, 1)) * 2.0 + rdm1_f_oo += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 5, 3, 1, 0, 2), (6, 4)) * 0.16666666666666 + rdm1_f_ov = np.zeros((nocc, nvir), dtype=types[float]) + rdm1_f_ov += einsum(t1, (0, 1), (0, 1)) * 2.0 + rdm1_f_vo = np.zeros((nvir, nocc), dtype=types[float]) + rdm1_f_vo += einsum(l1, (0, 1), (0, 1)) * 2.0 + rdm1_f_vv = np.zeros((nvir, nvir), dtype=types[float]) + rdm1_f_vv += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (3, 4, 5, 0, 6, 2), (1, 6)) * 0.49999999999998 + rdm1_f_vv += einsum(l1, (0, 1), t1, (1, 2), (0, 2)) * 2.0 + x0 = np.zeros((nocc, nocc), dtype=types[float]) + x0 += einsum(l1, (0, 1), t1, (2, 0), (1, 2)) + rdm1_f_oo += einsum(x0, (0, 1), (1, 0)) * -2.0 + x1 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x1 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -0.14285714285714288 + x1 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 0.14285714285714288 + x1 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) + x1 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -0.14285714285714288 + rdm1_f_oo += einsum(l3, (0, 1, 2, 3, 4, 5), x1, (4, 6, 3, 0, 2, 1), (6, 5)) * -1.16666666666662 + del x1 + x2 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x2 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 3.0 + x2 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) + x2 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -1.0 + rdm1_f_oo += einsum(l3, (0, 1, 2, 3, 4, 5), x2, (3, 5, 6, 0, 2, 1), (6, 4)) * -0.16666666666666 + del x2 + x3 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x3 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + x3 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 + rdm1_f_oo += einsum(l3, (0, 1, 2, 3, 4, 5), x3, (3, 6, 4, 0, 1, 2), (6, 5)) * 0.16666666666666 + del x3 + x4 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x4 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + x4 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + rdm1_f_oo += einsum(l2, (0, 1, 2, 3), x4, (2, 4, 0, 1), (4, 3)) * -2.0 + del x4 + x5 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x5 += einsum(t1, (0, 1), l3, (2, 1, 3, 4, 5, 6), (4, 6, 5, 0, 2, 3)) + rdm1_f_ov += einsum(t3, (0, 1, 2, 3, 4, 5), x5, (0, 2, 1, 6, 3, 5), (6, 4)) * -0.49999999999998 + del x5 + x6 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x6 += einsum(t1, (0, 1), l3, (2, 3, 1, 4, 5, 6), (4, 6, 5, 0, 2, 3)) + x7 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x7 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + x7 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 6.999999999999999 + x7 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) + x7 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) + x7 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -1.0 + x7 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 + rdm1_f_ov += einsum(x6, (0, 1, 2, 3, 4, 5), x7, (0, 1, 2, 5, 6, 4), (3, 6)) * -0.16666666666666 + del x7 + x8 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x8 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + x8 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 + x8 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) + rdm1_f_ov += einsum(x6, (0, 1, 2, 3, 4, 5), x8, (0, 2, 1, 5, 4, 6), (3, 6)) * 0.16666666666666 + del x6, x8 + x9 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x9 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + x9 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 6.0 + x9 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) + x9 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 + rdm1_f_ov += einsum(l2, (0, 1, 2, 3), x9, (2, 4, 3, 1, 0, 5), (4, 5)) * 0.5 + del x9 + x10 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x10 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + x10 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 2.0 + rdm1_f_ov += einsum(l2, (0, 1, 2, 3), x10, (3, 4, 2, 1, 0, 5), (4, 5)) * -0.5 + del x10 + x11 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x11 += einsum(t1, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2)) + x12 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x12 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.3333333333333333 + x12 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) + x13 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x13 += einsum(x12, (0, 1, 2, 3), l3, (4, 2, 3, 5, 0, 6), (1, 6, 5, 4)) * 0.75 + del x12 + x14 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x14 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) + x14 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.3333333333333333 + x15 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x15 += einsum(x11, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x15 += einsum(x11, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x11 + x15 += einsum(x13, (0, 1, 2, 3), (2, 1, 0, 3)) + x15 += einsum(x13, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 + del x13 + x15 += einsum(x14, (0, 1, 2, 3), l3, (4, 2, 3, 5, 6, 0), (5, 6, 1, 4)) * 1.5 + del x14 + rdm1_f_ov += einsum(t2, (0, 1, 2, 3), x15, (0, 1, 4, 2), (4, 3)) * -2.0 + del x15 + x16 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x16 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 3, 4, 0, 2, 1)) * -1.0 + x16 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) + x16 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 0, 2)) + x17 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x17 += einsum(t2, (0, 1, 2, 3), l3, (4, 2, 3, 5, 6, 1), (5, 6, 0, 4)) * -1.0 + x17 += einsum(t2, (0, 1, 2, 3), x16, (1, 4, 5, 3, 2, 6), (4, 5, 0, 6)) + del x16 + rdm1_f_ov += einsum(t2, (0, 1, 2, 3), x17, (0, 1, 4, 3), (4, 2)) * -1.0 + del x17 + x18 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x18 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.5 + x18 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) + rdm1_f_ov += einsum(l1, (0, 1), x18, (1, 2, 0, 3), (2, 3)) * 4.0 + del x18 + x19 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x19 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + x19 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) + x19 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 6.999999999999999 + x19 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 + x20 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x20 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + x20 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) + x20 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 3.0 + x21 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x21 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) + x21 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 4, 3, 0, 2, 1)) + x22 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x22 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) + x22 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 + x23 = np.zeros((nocc, nocc), dtype=types[float]) + x23 += einsum(x0, (0, 1), (0, 1)) + del x0 + x23 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 5, 4, 1, 0, 2), (3, 6)) * 0.08333333333333 + x23 += einsum(l3, (0, 1, 2, 3, 4, 5), x19, (4, 6, 5, 2, 0, 1), (3, 6)) * 0.08333333333333 + del x19 + x23 += einsum(l3, (0, 1, 2, 3, 4, 5), x20, (3, 6, 5, 1, 0, 2), (4, 6)) * 0.08333333333333 + del x20 + x23 += einsum(t3, (0, 1, 2, 3, 4, 5), x21, (2, 6, 1, 5, 4, 3), (6, 0)) * -0.08333333333333 + del x21 + x23 += einsum(l2, (0, 1, 2, 3), x22, (2, 4, 1, 0), (3, 4)) * 2.0 + del x22 + rdm1_f_ov += einsum(t1, (0, 1), x23, (0, 2), (2, 1)) * -2.0 + del x23 + x24 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x24 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 0.14285714285714288 + x24 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -0.14285714285714288 + x24 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) + x24 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -0.14285714285714288 + x24 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * 0.14285714285714288 + x24 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -0.14285714285714288 + rdm1_f_vv += einsum(l3, (0, 1, 2, 3, 4, 5), x24, (5, 3, 4, 1, 2, 6), (0, 6)) * 1.16666666666662 + del x24 + x25 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x25 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + x25 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) + x25 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) + rdm1_f_vv += einsum(l3, (0, 1, 2, 3, 4, 5), x25, (5, 4, 3, 1, 6, 2), (0, 6)) * -0.16666666666666 + del x25 + x26 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x26 += einsum(l2, (0, 1, 2, 3), (3, 2, 0, 1)) * -0.5 + x26 += einsum(l2, (0, 1, 2, 3), (2, 3, 0, 1)) + rdm1_f_vv += einsum(t2, (0, 1, 2, 3), x26, (0, 1, 2, 4), (4, 3)) * 4.0 + del x26 + + rdm1_f = np.block([[rdm1_f_oo, rdm1_f_ov], [rdm1_f_vo, rdm1_f_vv]]) + + return rdm1_f + +def make_rdm2_f(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, t3=None, l1=None, l2=None, l3=None, **kwargs): + delta = Namespace(oo=np.eye(nocc), vv=np.eye(nvir)) + + # RDM2 + rdm2_f_oooo = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + rdm2_f_oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (0, 2, 1, 3)) + rdm2_f_oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (0, 2, 3, 1)) * -1.0 + rdm2_f_oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (0, 2, 1, 3)) + rdm2_f_oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (0, 2, 1, 3)) + rdm2_f_oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (0, 2, 1, 3)) + rdm2_f_oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (0, 2, 3, 1)) * -1.0 + rdm2_f_ovoo = np.zeros((nocc, nvir, nocc, nocc), dtype=types[float]) + rdm2_f_ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (0, 2, 1, 3)) + rdm2_f_ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (0, 2, 3, 1)) * -1.0 + rdm2_f_ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (0, 2, 1, 3)) + rdm2_f_ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (0, 2, 1, 3)) + rdm2_f_ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (0, 2, 1, 3)) + rdm2_f_ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (0, 2, 3, 1)) * -1.0 + rdm2_f_vooo = np.zeros((nvir, nocc, nocc, nocc), dtype=types[float]) + rdm2_f_vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 0, 1, 3)) * -1.0 + rdm2_f_vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 0, 3, 1)) + rdm2_f_vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 0, 3, 1)) + rdm2_f_vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 0, 3, 1)) + rdm2_f_vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 0, 1, 3)) * -1.0 + rdm2_f_vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 0, 3, 1)) + rdm2_f_oovv = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + rdm2_f_oovv += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) + rdm2_f_oovv += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) + rdm2_f_ovov = np.zeros((nocc, nvir, nocc, nvir), dtype=types[float]) + rdm2_f_ovov += einsum(l1, (0, 1), t1, (2, 3), (2, 0, 1, 3)) * -1.0 + rdm2_f_ovov += einsum(l1, (0, 1), t1, (2, 3), (2, 0, 1, 3)) * -1.0 + rdm2_f_ovvo = np.zeros((nocc, nvir, nvir, nocc), dtype=types[float]) + rdm2_f_ovvo += einsum(l1, (0, 1), t1, (2, 3), (2, 0, 3, 1)) + rdm2_f_ovvo += einsum(l1, (0, 1), t1, (2, 3), (2, 0, 3, 1)) + rdm2_f_ovvo += einsum(l1, (0, 1), t1, (2, 3), (2, 0, 3, 1)) + rdm2_f_ovvo += einsum(l1, (0, 1), t1, (2, 3), (2, 0, 3, 1)) + rdm2_f_voov = np.zeros((nvir, nocc, nocc, nvir), dtype=types[float]) + rdm2_f_voov += einsum(l1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) + rdm2_f_voov += einsum(l1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) + rdm2_f_voov += einsum(l1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) + rdm2_f_voov += einsum(l1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) + rdm2_f_vovo = np.zeros((nvir, nocc, nvir, nocc), dtype=types[float]) + rdm2_f_vovo += einsum(l1, (0, 1), t1, (2, 3), (0, 2, 3, 1)) * -1.0 + rdm2_f_vovo += einsum(l1, (0, 1), t1, (2, 3), (0, 2, 3, 1)) * -1.0 + rdm2_f_vvoo = np.zeros((nvir, nvir, nocc, nocc), dtype=types[float]) + rdm2_f_vvoo += einsum(l2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + rdm2_f_vvoo += einsum(l2, (0, 1, 2, 3), (0, 1, 2, 3)) + rdm2_f_vvoo += einsum(l2, (0, 1, 2, 3), (0, 1, 2, 3)) + rdm2_f_vvoo += einsum(l2, (0, 1, 2, 3), (0, 1, 2, 3)) + rdm2_f_vvoo += einsum(l2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + rdm2_f_vvoo += einsum(l2, (0, 1, 2, 3), (0, 1, 2, 3)) + x0 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x0 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 7, 4, 1, 2, 0), (3, 5, 6, 7)) + rdm2_f_oooo += einsum(x0, (0, 1, 2, 3), (3, 2, 1, 0)) * -0.16666666666667 + rdm2_f_oooo += einsum(x0, (0, 1, 2, 3), (3, 2, 1, 0)) * -0.16666666666667 + del x0 + x1 = np.zeros((nocc, nocc), dtype=types[float]) + x1 += einsum(l1, (0, 1), t1, (2, 0), (1, 2)) + rdm2_f_oooo += einsum(delta.oo, (0, 1), x1, (2, 3), (0, 3, 1, 2)) * -1.0 + rdm2_f_oooo += einsum(delta.oo, (0, 1), x1, (2, 3), (3, 0, 1, 2)) + rdm2_f_oooo += einsum(delta.oo, (0, 1), x1, (2, 3), (0, 3, 2, 1)) + rdm2_f_oooo += einsum(delta.oo, (0, 1), x1, (2, 3), (3, 0, 2, 1)) * -1.0 + rdm2_f_oooo += einsum(delta.oo, (0, 1), x1, (2, 3), (0, 3, 1, 2)) * -1.0 + rdm2_f_oooo += einsum(delta.oo, (0, 1), x1, (2, 3), (3, 0, 2, 1)) * -1.0 + rdm2_f_oooo += einsum(delta.oo, (0, 1), x1, (2, 3), (0, 3, 1, 2)) * -1.0 + rdm2_f_oooo += einsum(delta.oo, (0, 1), x1, (2, 3), (3, 0, 2, 1)) * -1.0 + rdm2_f_oooo += einsum(delta.oo, (0, 1), x1, (2, 3), (0, 3, 1, 2)) * -1.0 + rdm2_f_oooo += einsum(delta.oo, (0, 1), x1, (2, 3), (3, 0, 1, 2)) + rdm2_f_oooo += einsum(delta.oo, (0, 1), x1, (2, 3), (0, 3, 2, 1)) + rdm2_f_oooo += einsum(delta.oo, (0, 1), x1, (2, 3), (3, 0, 2, 1)) * -1.0 + x2 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x2 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 7, 5, 1, 0, 2), (3, 4, 6, 7)) + x3 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x3 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + x3 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) + x4 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x4 += einsum(l3, (0, 1, 2, 3, 4, 5), x3, (5, 6, 7, 1, 0, 2), (3, 4, 6, 7)) * 0.16666666666667 + x5 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x5 += einsum(x2, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.16666666666667 + x5 += einsum(x4, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x4 + rdm2_f_oooo += einsum(x5, (0, 1, 2, 3), (3, 2, 0, 1)) + rdm2_f_oooo += einsum(x5, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 + rdm2_f_oooo += einsum(x5, (0, 1, 2, 3), (3, 2, 0, 1)) + rdm2_f_oooo += einsum(x5, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 + del x5 + x6 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x6 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) + x6 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x7 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x7 += einsum(x6, (0, 1, 2, 3), l3, (4, 2, 3, 5, 6, 0), (5, 6, 1, 4)) + x8 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x8 += einsum(t1, (0, 1), x7, (2, 3, 4, 1), (0, 2, 3, 4)) * -0.5 + rdm2_f_oooo += einsum(x8, (0, 1, 2, 3), (0, 3, 1, 2)) * -1.0 + rdm2_f_oooo += einsum(x8, (0, 1, 2, 3), (3, 0, 1, 2)) + rdm2_f_oooo += einsum(x8, (0, 1, 2, 3), (0, 3, 2, 1)) + rdm2_f_oooo += einsum(x8, (0, 1, 2, 3), (3, 0, 2, 1)) * -1.0 + rdm2_f_oooo += einsum(x8, (0, 1, 2, 3), (0, 3, 1, 2)) * -1.0 + rdm2_f_oooo += einsum(x8, (0, 1, 2, 3), (3, 0, 1, 2)) + rdm2_f_oooo += einsum(x8, (0, 1, 2, 3), (0, 3, 2, 1)) + rdm2_f_oooo += einsum(x8, (0, 1, 2, 3), (3, 0, 2, 1)) * -1.0 + del x8 + x9 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x9 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.3333333333333333 + x9 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) + x10 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x10 += einsum(x9, (0, 1, 2, 3), l3, (4, 2, 3, 5, 0, 6), (6, 5, 1, 4)) + x11 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x11 += einsum(t1, (0, 1), x10, (2, 3, 4, 1), (0, 3, 2, 4)) * 1.5 + rdm2_f_oooo += einsum(x11, (0, 1, 2, 3), (0, 3, 1, 2)) + rdm2_f_oooo += einsum(x11, (0, 1, 2, 3), (3, 0, 1, 2)) * -1.0 + rdm2_f_oooo += einsum(x11, (0, 1, 2, 3), (0, 3, 1, 2)) + rdm2_f_oooo += einsum(x11, (0, 1, 2, 3), (3, 0, 1, 2)) * -1.0 + del x11 + x12 = np.zeros((nocc, nocc), dtype=types[float]) + x12 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 5, 4, 1, 0, 2), (3, 6)) + x13 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x13 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + x13 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 6.999999999999999 + x13 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) + x13 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 + x14 = np.zeros((nocc, nocc), dtype=types[float]) + x14 += einsum(l3, (0, 1, 2, 3, 4, 5), x13, (3, 6, 4, 1, 2, 0), (5, 6)) * 0.041666666666665 + x15 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x15 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + x15 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 + x15 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * 3.0 + x16 = np.zeros((nocc, nocc), dtype=types[float]) + x16 += einsum(l3, (0, 1, 2, 3, 4, 5), x15, (5, 6, 3, 0, 2, 1), (4, 6)) * 0.041666666666665 + x17 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x17 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) + x17 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 3, 5, 0, 2, 1)) + x18 = np.zeros((nocc, nocc), dtype=types[float]) + x18 += einsum(t3, (0, 1, 2, 3, 4, 5), x17, (1, 2, 6, 5, 4, 3), (0, 6)) * 0.041666666666665 + x19 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x19 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) + x19 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 + x20 = np.zeros((nocc, nocc), dtype=types[float]) + x20 += einsum(l2, (0, 1, 2, 3), x19, (3, 4, 0, 1), (2, 4)) + x21 = np.zeros((nocc, nocc), dtype=types[float]) + x21 += einsum(x12, (0, 1), (0, 1)) * 0.041666666666665 + x21 += einsum(x14, (0, 1), (0, 1)) + del x14 + x21 += einsum(x16, (0, 1), (0, 1)) + del x16 + x21 += einsum(x18, (0, 1), (1, 0)) * -1.0 + del x18 + x21 += einsum(x20, (0, 1), (0, 1)) + del x20 + rdm2_f_oooo += einsum(delta.oo, (0, 1), x21, (2, 3), (0, 3, 1, 2)) * -2.0 + rdm2_f_oooo += einsum(delta.oo, (0, 1), x21, (2, 3), (0, 3, 2, 1)) * 2.0 + rdm2_f_oooo += einsum(delta.oo, (0, 1), x21, (2, 3), (3, 0, 1, 2)) * 2.0 + rdm2_f_oooo += einsum(delta.oo, (0, 1), x21, (2, 3), (3, 0, 2, 1)) * -2.0 + rdm2_f_oooo += einsum(delta.oo, (0, 1), x21, (2, 3), (0, 3, 1, 2)) * -2.0 + rdm2_f_oooo += einsum(delta.oo, (0, 1), x21, (2, 3), (3, 0, 2, 1)) * -2.0 + rdm2_f_oooo += einsum(delta.oo, (0, 1), x21, (2, 3), (0, 3, 1, 2)) * -2.0 + rdm2_f_oooo += einsum(delta.oo, (0, 1), x21, (2, 3), (3, 0, 2, 1)) * -2.0 + rdm2_f_oooo += einsum(delta.oo, (0, 1), x21, (2, 3), (0, 3, 1, 2)) * -2.0 + rdm2_f_oooo += einsum(delta.oo, (0, 1), x21, (2, 3), (0, 3, 2, 1)) * 2.0 + rdm2_f_oooo += einsum(delta.oo, (0, 1), x21, (2, 3), (3, 0, 1, 2)) * 2.0 + rdm2_f_oooo += einsum(delta.oo, (0, 1), x21, (2, 3), (3, 0, 2, 1)) * -2.0 + x22 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x22 += einsum(l2, (0, 1, 2, 3), t2, (4, 5, 0, 1), (2, 3, 4, 5)) + rdm2_f_oooo += einsum(x22, (0, 1, 2, 3), (3, 2, 1, 0)) + rdm2_f_oooo += einsum(x22, (0, 1, 2, 3), (3, 2, 1, 0)) + x23 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x23 += einsum(t1, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2)) + rdm2_f_ovoo += einsum(x23, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 + rdm2_f_ovoo += einsum(x23, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 + rdm2_f_vooo += einsum(x23, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 + rdm2_f_vooo += einsum(x23, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 + x24 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x24 += einsum(t1, (0, 1), x23, (2, 3, 4, 1), (2, 3, 0, 4)) + rdm2_f_oooo += einsum(x24, (0, 1, 2, 3), (3, 2, 1, 0)) + rdm2_f_oooo += einsum(x24, (0, 1, 2, 3), (3, 2, 1, 0)) + x25 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x25 += einsum(x22, (0, 1, 2, 3), (1, 0, 3, 2)) + x25 += einsum(x24, (0, 1, 2, 3), (0, 1, 2, 3)) + rdm2_f_oooo += einsum(x25, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 + rdm2_f_oooo += einsum(x25, (0, 1, 2, 3), (2, 3, 0, 1)) + rdm2_f_oooo += einsum(x25, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 + rdm2_f_oooo += einsum(x25, (0, 1, 2, 3), (2, 3, 0, 1)) + x26 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x26 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -0.3333333333333333 + x26 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 0.3333333333333333 + x26 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) + x27 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x27 += einsum(l3, (0, 1, 2, 3, 4, 5), x26, (4, 6, 7, 1, 0, 2), (5, 3, 6, 7)) * 0.50000000000001 + del x26 + rdm2_f_oooo += einsum(x27, (0, 1, 2, 3), (3, 2, 1, 0)) + rdm2_f_oooo += einsum(x27, (0, 1, 2, 3), (3, 2, 1, 0)) + del x27 + x28 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x28 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 7, 5, 0, 1, 2), (3, 4, 6, 7)) + x29 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x29 += einsum(t2, (0, 1, 2, 3), l3, (4, 2, 3, 5, 6, 1), (5, 6, 0, 4)) + rdm2_f_ovoo += einsum(x29, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 + rdm2_f_ovoo += einsum(x29, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 + rdm2_f_vooo += einsum(x29, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 + rdm2_f_vooo += einsum(x29, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 + x30 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x30 += einsum(t1, (0, 1), x29, (2, 3, 4, 1), (2, 3, 0, 4)) + x31 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x31 += einsum(x28, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.50000000000001 + x31 += einsum(x30, (0, 1, 2, 3), (0, 1, 2, 3)) + rdm2_f_oooo += einsum(x31, (0, 1, 2, 3), (2, 3, 0, 1)) + rdm2_f_oooo += einsum(x31, (0, 1, 2, 3), (3, 2, 1, 0)) + rdm2_f_oooo += einsum(x31, (0, 1, 2, 3), (2, 3, 0, 1)) + rdm2_f_oooo += einsum(x31, (0, 1, 2, 3), (3, 2, 1, 0)) + x32 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x32 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + x32 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) + x33 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x33 += einsum(x32, (0, 1, 2, 3), l3, (2, 4, 3, 5, 6, 0), (5, 6, 1, 4)) + x34 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x34 += einsum(t1, (0, 1), x33, (2, 3, 4, 1), (0, 2, 3, 4)) * -0.5 + rdm2_f_oooo += einsum(x34, (0, 1, 2, 3), (3, 0, 1, 2)) + rdm2_f_oooo += einsum(x34, (0, 1, 2, 3), (0, 3, 2, 1)) + rdm2_f_oooo += einsum(x34, (0, 1, 2, 3), (3, 0, 1, 2)) + rdm2_f_oooo += einsum(x34, (0, 1, 2, 3), (0, 3, 2, 1)) + x35 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x35 += einsum(t1, (0, 1), l3, (2, 1, 3, 4, 5, 6), (4, 6, 5, 0, 2, 3)) + x36 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) + x36 += einsum(t1, (0, 1), x35, (2, 3, 4, 5, 6, 1), (2, 3, 4, 0, 5, 6)) + x37 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x37 += einsum(t2, (0, 1, 2, 3), x36, (0, 4, 1, 5, 6, 2), (4, 5, 6, 3)) + rdm2_f_ooov = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + rdm2_f_ooov += einsum(x37, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 + rdm2_f_ooov += einsum(x37, (0, 1, 2, 3), (1, 2, 0, 3)) + rdm2_f_ooov += einsum(x37, (0, 1, 2, 3), (1, 2, 0, 3)) + rdm2_f_ooov += einsum(x37, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 + rdm2_f_oovo = np.zeros((nocc, nocc, nvir, nocc), dtype=types[float]) + rdm2_f_oovo += einsum(x37, (0, 1, 2, 3), (2, 1, 3, 0)) + rdm2_f_oovo += einsum(x37, (0, 1, 2, 3), (2, 1, 3, 0)) + rdm2_f_oovo += einsum(x37, (0, 1, 2, 3), (2, 1, 3, 0)) + rdm2_f_oovo += einsum(x37, (0, 1, 2, 3), (2, 1, 3, 0)) + x38 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x38 += einsum(l1, (0, 1), t2, (2, 3, 4, 0), (1, 2, 3, 4)) + rdm2_f_ooov += einsum(x38, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 + rdm2_f_ooov += einsum(x38, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 + rdm2_f_oovo += einsum(x38, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 + rdm2_f_oovo += einsum(x38, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 + x39 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x39 += einsum(l2, (0, 1, 2, 3), t3, (4, 3, 5, 0, 6, 1), (2, 4, 5, 6)) + x40 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x40 += einsum(t3, (0, 1, 2, 3, 4, 5), x35, (0, 2, 6, 7, 3, 5), (6, 7, 1, 4)) + x41 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x41 += einsum(t2, (0, 1, 2, 3), x29, (1, 4, 5, 2), (4, 0, 5, 3)) + x42 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x42 += einsum(t1, (0, 1), l3, (2, 3, 1, 4, 5, 6), (4, 6, 5, 0, 2, 3)) + x43 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x43 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -1.0 + x43 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + x43 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) + x43 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 5.0 + x43 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) + x43 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 + x44 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x44 += einsum(x42, (0, 1, 2, 3, 4, 5), x43, (2, 6, 0, 4, 7, 5), (1, 3, 6, 7)) * 0.25 + del x43 + x45 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x45 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + x45 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) + x45 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) + x46 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x46 += einsum(x42, (0, 1, 2, 3, 4, 5), x45, (0, 6, 1, 5, 7, 4), (2, 3, 6, 7)) * 0.25 + x47 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x47 += einsum(t2, (0, 1, 2, 3), l3, (4, 5, 3, 1, 0, 6), (6, 4, 5, 2)) + x48 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x48 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) + x48 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 0, 2)) + x48 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 0, 2)) * 0.5 + x48 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 0, 2)) * -0.5 + x49 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x49 += einsum(t2, (0, 1, 2, 3), x48, (1, 4, 0, 5, 6, 2), (4, 3, 5, 6)) + del x48 + x50 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x50 += einsum(x47, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x50 += einsum(x49, (0, 1, 2, 3), (0, 3, 2, 1)) + del x49 + x51 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x51 += einsum(t2, (0, 1, 2, 3), x50, (4, 3, 2, 5), (0, 1, 4, 5)) * 0.5 + del x50 + x52 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x52 += einsum(t2, (0, 1, 2, 3), l3, (4, 3, 2, 5, 1, 6), (5, 6, 0, 4)) + x53 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x53 += einsum(t2, (0, 1, 2, 3), l3, (4, 3, 2, 5, 6, 1), (5, 6, 0, 4)) + x54 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x54 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * -1.0 + x54 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) + x55 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x55 += einsum(t2, (0, 1, 2, 3), x54, (1, 4, 5, 3, 6, 2), (0, 4, 5, 6)) + del x54 + x56 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x56 += einsum(x52, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0 + del x52 + x56 += einsum(x53, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x56 += einsum(x53, (0, 1, 2, 3), (1, 0, 2, 3)) + x56 += einsum(x55, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 + del x55 + x57 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x57 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) + x57 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + x57 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) + x58 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x58 += einsum(x56, (0, 1, 2, 3), x57, (1, 4, 5, 3), (0, 2, 4, 5)) * 0.5 + del x57 + x59 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x59 += einsum(x6, (0, 1, 2, 3), l3, (2, 4, 3, 5, 6, 0), (5, 6, 1, 4)) + x60 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x60 += einsum(x29, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0 + x60 += einsum(x59, (0, 1, 2, 3), (1, 0, 2, 3)) + x61 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x61 += einsum(t2, (0, 1, 2, 3), x60, (1, 4, 5, 3), (0, 4, 5, 2)) * 0.5 + del x60 + x62 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x62 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x62 += einsum(x23, (0, 1, 2, 3), (1, 0, 2, 3)) + x63 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x63 += einsum(t2, (0, 1, 2, 3), x62, (1, 4, 5, 2), (0, 4, 5, 3)) + del x62 + x64 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x64 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) + x64 += einsum(x23, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.5 + x65 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x65 += einsum(t2, (0, 1, 2, 3), x64, (1, 4, 5, 3), (0, 4, 5, 2)) * 2.0 + del x64 + x66 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x66 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) + x66 += einsum(x29, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.5 + x67 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x67 += einsum(t1, (0, 1), x66, (2, 3, 4, 1), (0, 2, 3, 4)) + del x66 + x68 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x68 += einsum(x22, (0, 1, 2, 3), (1, 0, 3, 2)) + x68 += einsum(x67, (0, 1, 2, 3), (2, 1, 3, 0)) + del x67 + x69 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x69 += einsum(t1, (0, 1), x68, (0, 2, 3, 4), (2, 3, 4, 1)) + del x68 + x70 = np.zeros((nocc, nocc), dtype=types[float]) + x70 += einsum(l3, (0, 1, 2, 3, 4, 5), x13, (3, 6, 4, 1, 2, 0), (5, 6)) * 0.08333333333333 + del x13 + x71 = np.zeros((nocc, nocc), dtype=types[float]) + x71 += einsum(l3, (0, 1, 2, 3, 4, 5), x15, (5, 6, 3, 0, 2, 1), (4, 6)) * 0.08333333333333 + del x15 + x72 = np.zeros((nocc, nocc), dtype=types[float]) + x72 += einsum(t3, (0, 1, 2, 3, 4, 5), x17, (1, 2, 6, 5, 4, 3), (0, 6)) * 0.08333333333333 + del x17 + x73 = np.zeros((nocc, nocc), dtype=types[float]) + x73 += einsum(l2, (0, 1, 2, 3), x19, (3, 4, 0, 1), (2, 4)) * 2.0 + x74 = np.zeros((nocc, nocc), dtype=types[float]) + x74 += einsum(x1, (0, 1), (0, 1)) + x74 += einsum(x12, (0, 1), (0, 1)) * 0.08333333333333 + x74 += einsum(x70, (0, 1), (0, 1)) + x74 += einsum(x71, (0, 1), (0, 1)) + x74 += einsum(x72, (0, 1), (1, 0)) * -1.0 + x74 += einsum(x73, (0, 1), (0, 1)) + rdm2_f_ooov += einsum(t1, (0, 1), x74, (2, 3), (3, 0, 2, 1)) * -1.0 + rdm2_f_ooov += einsum(t1, (0, 1), x74, (2, 3), (3, 0, 2, 1)) * -1.0 + rdm2_f_oovo += einsum(t1, (0, 1), x74, (2, 3), (0, 3, 1, 2)) * -1.0 + rdm2_f_oovo += einsum(t1, (0, 1), x74, (2, 3), (0, 3, 1, 2)) * -1.0 + x75 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x75 += einsum(delta.oo, (0, 1), t1, (2, 3), (0, 1, 2, 3)) + x75 += einsum(x38, (0, 1, 2, 3), (1, 0, 2, 3)) + x75 += einsum(x39, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.5 + x75 += einsum(x40, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.25 + x75 += einsum(x41, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.5 + x75 += einsum(x44, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + x75 += einsum(x46, (0, 1, 2, 3), (1, 0, 2, 3)) + x75 += einsum(x51, (0, 1, 2, 3), (1, 2, 0, 3)) + x75 += einsum(x58, (0, 1, 2, 3), (2, 0, 1, 3)) + del x58 + x75 += einsum(x61, (0, 1, 2, 3), (0, 1, 2, 3)) + x75 += einsum(x63, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 + del x63 + x75 += einsum(x65, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 + del x65 + x75 += einsum(x69, (0, 1, 2, 3), (2, 0, 1, 3)) + del x69 + x75 += einsum(t1, (0, 1), x74, (2, 3), (0, 2, 3, 1)) + rdm2_f_ooov += einsum(x75, (0, 1, 2, 3), (0, 2, 1, 3)) + rdm2_f_ooov += einsum(x75, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 + rdm2_f_ooov += einsum(x75, (0, 1, 2, 3), (0, 2, 1, 3)) + rdm2_f_ooov += einsum(x75, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 + rdm2_f_oovo += einsum(x75, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 + rdm2_f_oovo += einsum(x75, (0, 1, 2, 3), (2, 0, 3, 1)) + rdm2_f_oovo += einsum(x75, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 + rdm2_f_oovo += einsum(x75, (0, 1, 2, 3), (2, 0, 3, 1)) + del x75 + x76 = np.zeros((nocc, nvir), dtype=types[float]) + x76 += einsum(t3, (0, 1, 2, 3, 4, 5), x35, (2, 0, 1, 6, 5, 3), (6, 4)) + x77 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x77 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + x77 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 + x77 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 6.999999999999999 + x77 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 + x77 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) + x77 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -1.0 + x78 = np.zeros((nocc, nvir), dtype=types[float]) + x78 += einsum(x42, (0, 1, 2, 3, 4, 5), x77, (0, 1, 2, 5, 4, 6), (3, 6)) * 0.08333333333333 + x79 = np.zeros((nocc, nvir), dtype=types[float]) + x79 += einsum(x42, (0, 1, 2, 3, 4, 5), x45, (2, 0, 1, 6, 5, 4), (3, 6)) * 0.08333333333333 + x80 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x80 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) + x80 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + x80 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) + x80 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * 6.0 + x81 = np.zeros((nocc, nvir), dtype=types[float]) + x81 += einsum(l2, (0, 1, 2, 3), x80, (2, 3, 4, 1, 0, 5), (4, 5)) * 0.25 + x82 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x82 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 0.5 + x82 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + x83 = np.zeros((nocc, nvir), dtype=types[float]) + x83 += einsum(l2, (0, 1, 2, 3), x82, (3, 4, 2, 0, 5, 1), (4, 5)) * 0.5 + x84 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x84 += einsum(x9, (0, 1, 2, 3), l3, (4, 2, 3, 5, 0, 6), (6, 5, 1, 4)) * 0.375 + x85 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x85 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) + x85 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 1, 2)) * -1.0 + x86 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x86 += einsum(x6, (0, 1, 2, 3), x85, (0, 4, 5, 3, 2, 6), (1, 4, 5, 6)) * 0.25 + del x85 + x87 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x87 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 + x87 += einsum(x23, (0, 1, 2, 3), (1, 0, 2, 3)) + x87 += einsum(x84, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + x87 += einsum(x84, (0, 1, 2, 3), (0, 1, 2, 3)) + del x84 + x87 += einsum(x86, (0, 1, 2, 3), (1, 2, 0, 3)) + x88 = np.zeros((nocc, nvir), dtype=types[float]) + x88 += einsum(t2, (0, 1, 2, 3), x87, (0, 1, 4, 3), (4, 2)) * 2.0 + x89 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x89 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) + x89 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.3333333333333333 + x90 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x90 += einsum(x89, (0, 1, 2, 3), l3, (4, 2, 3, 5, 6, 0), (5, 6, 1, 4)) * 3.0 + x91 = np.zeros((nocc, nvir), dtype=types[float]) + x91 += einsum(t2, (0, 1, 2, 3), x90, (0, 1, 4, 2), (4, 3)) * 0.5 + x92 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x92 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 + x92 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x93 = np.zeros((nocc, nvir), dtype=types[float]) + x93 += einsum(l1, (0, 1), x92, (1, 2, 3, 0), (2, 3)) + x94 = np.zeros((nocc, nvir), dtype=types[float]) + x94 += einsum(t1, (0, 1), x74, (0, 2), (2, 1)) + x95 = np.zeros((nocc, nvir), dtype=types[float]) + x95 += einsum(x76, (0, 1), (0, 1)) * 0.24999999999999 + x95 += einsum(x78, (0, 1), (0, 1)) + x95 += einsum(x79, (0, 1), (0, 1)) * -1.0 + x95 += einsum(x81, (0, 1), (0, 1)) * -1.0 + x95 += einsum(x83, (0, 1), (0, 1)) + x95 += einsum(x88, (0, 1), (0, 1)) + x95 += einsum(x91, (0, 1), (0, 1)) + x95 += einsum(x93, (0, 1), (0, 1)) * -1.0 + x95 += einsum(x94, (0, 1), (0, 1)) + rdm2_f_ooov += einsum(delta.oo, (0, 1), x95, (2, 3), (0, 2, 1, 3)) * -1.0 + rdm2_f_ooov += einsum(delta.oo, (0, 1), x95, (2, 3), (2, 0, 1, 3)) + rdm2_f_ooov += einsum(delta.oo, (0, 1), x95, (2, 3), (0, 2, 1, 3)) * -1.0 + rdm2_f_ooov += einsum(delta.oo, (0, 1), x95, (2, 3), (2, 0, 1, 3)) + rdm2_f_oovo += einsum(delta.oo, (0, 1), x95, (2, 3), (0, 2, 3, 1)) + rdm2_f_oovo += einsum(delta.oo, (0, 1), x95, (2, 3), (2, 0, 3, 1)) * -1.0 + rdm2_f_oovo += einsum(delta.oo, (0, 1), x95, (2, 3), (0, 2, 3, 1)) + rdm2_f_oovo += einsum(delta.oo, (0, 1), x95, (2, 3), (2, 0, 3, 1)) * -1.0 + del x95 + x96 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x96 += einsum(l2, (0, 1, 2, 3), (3, 2, 0, 1)) * -0.5 + x96 += einsum(l2, (0, 1, 2, 3), (2, 3, 0, 1)) + x97 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x97 += einsum(x96, (0, 1, 2, 3), t3, (4, 0, 5, 3, 2, 6), (4, 5, 1, 6)) * 2.0 + rdm2_f_ooov += einsum(x97, (0, 1, 2, 3), (1, 0, 2, 3)) + rdm2_f_ooov += einsum(x97, (0, 1, 2, 3), (1, 0, 2, 3)) + rdm2_f_oovo += einsum(x97, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + rdm2_f_oovo += einsum(x97, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x97 + x98 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) + x98 += einsum(t1, (0, 1), x42, (2, 3, 4, 5, 1, 6), (3, 2, 4, 5, 0, 6)) + x99 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) + x99 += einsum(x98, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 2.0 + x99 += einsum(x36, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 2.0 + x99 += einsum(x36, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 + x99 += einsum(x36, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) + x100 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x100 += einsum(t2, (0, 1, 2, 3), x99, (1, 4, 0, 5, 6, 2), (4, 5, 6, 3)) * 0.5 + del x99 + rdm2_f_ooov += einsum(x100, (0, 1, 2, 3), (2, 1, 0, 3)) + rdm2_f_ooov += einsum(x100, (0, 1, 2, 3), (2, 1, 0, 3)) + rdm2_f_oovo += einsum(x100, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 + rdm2_f_oovo += einsum(x100, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 + del x100 + x101 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x101 += einsum(l3, (0, 1, 2, 3, 4, 5), x3, (5, 6, 7, 1, 0, 2), (3, 4, 6, 7)) + x102 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x102 += einsum(x2, (0, 1, 2, 3), (0, 1, 2, 3)) + del x2 + x102 += einsum(x101, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x101 + x103 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x103 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -0.3333333333333333 + x103 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) + x104 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x104 += einsum(l3, (0, 1, 2, 3, 4, 5), x103, (4, 6, 7, 0, 1, 2), (3, 5, 6, 7)) * 3.0 + del x103 + x105 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x105 += einsum(l3, (0, 1, 2, 3, 4, 5), x3, (4, 6, 7, 1, 0, 2), (5, 3, 6, 7)) + x106 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x106 += einsum(x102, (0, 1, 2, 3), (0, 1, 2, 3)) + x106 += einsum(x102, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + x106 += einsum(x104, (0, 1, 2, 3), (1, 0, 2, 3)) + x106 += einsum(x105, (0, 1, 2, 3), (1, 0, 2, 3)) + del x105 + x107 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x107 += einsum(t1, (0, 1), x106, (2, 0, 3, 4), (2, 3, 4, 1)) * 0.16666666666667 + del x106 + rdm2_f_ooov += einsum(x107, (0, 1, 2, 3), (2, 1, 0, 3)) + rdm2_f_ooov += einsum(x107, (0, 1, 2, 3), (2, 1, 0, 3)) + rdm2_f_oovo += einsum(x107, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 + rdm2_f_oovo += einsum(x107, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 + del x107 + x108 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x108 += einsum(l2, (0, 1, 2, 3), t3, (4, 5, 3, 6, 0, 1), (2, 4, 5, 6)) + rdm2_f_ooov += einsum(x108, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 + rdm2_f_ooov += einsum(x108, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 + rdm2_f_oovo += einsum(x108, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 + rdm2_f_oovo += einsum(x108, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 + x109 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x109 += einsum(t3, (0, 1, 2, 3, 4, 5), x42, (0, 2, 6, 7, 3, 4), (6, 7, 1, 5)) + rdm2_f_ooov += einsum(x109, (0, 1, 2, 3), (2, 1, 0, 3)) * 0.5 + rdm2_f_ooov += einsum(x109, (0, 1, 2, 3), (2, 1, 0, 3)) * 0.5 + rdm2_f_oovo += einsum(x109, (0, 1, 2, 3), (1, 2, 3, 0)) * 0.5 + rdm2_f_oovo += einsum(x109, (0, 1, 2, 3), (1, 2, 3, 0)) * 0.5 + x110 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x110 += einsum(t3, (0, 1, 2, 3, 4, 5), x35, (2, 6, 1, 7, 5, 3), (6, 7, 0, 4)) + rdm2_f_ooov += einsum(x110, (0, 1, 2, 3), (2, 1, 0, 3)) * 0.5 + rdm2_f_ooov += einsum(x110, (0, 1, 2, 3), (2, 1, 0, 3)) * 0.5 + rdm2_f_oovo += einsum(x110, (0, 1, 2, 3), (1, 2, 3, 0)) * 0.5 + rdm2_f_oovo += einsum(x110, (0, 1, 2, 3), (1, 2, 3, 0)) * 0.5 + x111 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x111 += einsum(t3, (0, 1, 2, 3, 4, 5), x42, (0, 2, 6, 7, 5, 3), (6, 7, 1, 4)) + rdm2_f_ooov += einsum(x111, (0, 1, 2, 3), (1, 2, 0, 3)) * -0.25 + rdm2_f_ooov += einsum(x111, (0, 1, 2, 3), (1, 2, 0, 3)) * -0.25 + rdm2_f_oovo += einsum(x111, (0, 1, 2, 3), (2, 1, 3, 0)) * -0.25 + rdm2_f_oovo += einsum(x111, (0, 1, 2, 3), (2, 1, 3, 0)) * -0.25 + x112 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x112 += einsum(t3, (0, 1, 2, 3, 4, 5), x35, (2, 1, 6, 7, 5, 4), (6, 7, 0, 3)) + rdm2_f_ooov += einsum(x112, (0, 1, 2, 3), (1, 2, 0, 3)) * -0.25 + rdm2_f_ooov += einsum(x112, (0, 1, 2, 3), (1, 2, 0, 3)) * -0.25 + del x112 + x113 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x113 += einsum(t2, (0, 1, 2, 3), x47, (4, 2, 3, 5), (4, 0, 1, 5)) + rdm2_f_ooov += einsum(x113, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 + rdm2_f_ooov += einsum(x113, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 + rdm2_f_oovo += einsum(x113, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 + rdm2_f_oovo += einsum(x113, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 + x114 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x114 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) + x114 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + x114 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 4.0 + x115 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x115 += einsum(x114, (0, 1, 2, 3, 4, 5), x42, (1, 6, 0, 7, 3, 4), (6, 7, 2, 5)) * 0.25 + del x114 + rdm2_f_ooov += einsum(x115, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 + rdm2_f_ooov += einsum(x115, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 + del x115 + x116 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x116 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) + x116 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + x117 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x117 += einsum(x116, (0, 1, 2, 3, 4, 5), x35, (2, 0, 6, 7, 3, 5), (6, 7, 1, 4)) * 0.25 + del x116 + rdm2_f_ooov += einsum(x117, (0, 1, 2, 3), (1, 2, 0, 3)) + rdm2_f_ooov += einsum(x117, (0, 1, 2, 3), (1, 2, 0, 3)) + del x117 + x118 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x118 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) + x118 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + x119 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x119 += einsum(l2, (0, 1, 2, 3), x118, (3, 4, 5, 0, 1, 6), (2, 4, 5, 6)) * 0.5 + del x118 + rdm2_f_ooov += einsum(x119, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 + rdm2_f_ooov += einsum(x119, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 + del x119 + x120 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) + x120 += einsum(x36, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 + x120 += einsum(x36, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) + x121 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x121 += einsum(t2, (0, 1, 2, 3), x120, (1, 0, 4, 5, 6, 2), (4, 5, 6, 3)) * 0.5 + rdm2_f_ooov += einsum(x121, (0, 1, 2, 3), (2, 1, 0, 3)) + rdm2_f_ooov += einsum(x121, (0, 1, 2, 3), (2, 1, 0, 3)) + del x121 + x122 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x122 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + x122 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0 + x123 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x123 += einsum(x122, (0, 1, 2, 3), l3, (4, 2, 3, 5, 0, 6), (6, 5, 1, 4)) * 0.5 + rdm2_f_vooo += einsum(x123, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 + rdm2_f_vooo += einsum(x123, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 + x124 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x124 += einsum(x32, (0, 1, 2, 3), l3, (2, 4, 3, 5, 6, 0), (5, 6, 1, 4)) * 0.5 + x125 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x125 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x125 += einsum(x23, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 + x125 += einsum(x53, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 + x125 += einsum(x53, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.5 + x125 += einsum(x29, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 + x125 += einsum(x29, (0, 1, 2, 3), (1, 0, 2, 3)) * 1.5 + x125 += einsum(x123, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + x125 += einsum(x124, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x126 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x126 += einsum(t2, (0, 1, 2, 3), x125, (4, 1, 5, 3), (0, 4, 5, 2)) + del x125 + rdm2_f_ooov += einsum(x126, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 + rdm2_f_ooov += einsum(x126, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 + rdm2_f_oovo += einsum(x126, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 + rdm2_f_oovo += einsum(x126, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 + del x126 + x127 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x127 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 3, 4, 0, 2, 1)) * -1.0 + x127 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) + x128 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x128 += einsum(t2, (0, 1, 2, 3), x127, (0, 1, 4, 5, 2, 6), (4, 3, 5, 6)) + x129 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x129 += einsum(t2, (0, 1, 2, 3), x128, (4, 5, 2, 3), (0, 1, 4, 5)) * -0.5 + rdm2_f_ooov += einsum(x129, (0, 1, 2, 3), (1, 0, 2, 3)) + rdm2_f_ooov += einsum(x129, (0, 1, 2, 3), (1, 0, 2, 3)) + del x129 + x130 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x130 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x130 += einsum(x29, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x130 += einsum(x59, (0, 1, 2, 3), (1, 0, 2, 3)) + x131 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x131 += einsum(t2, (0, 1, 2, 3), x130, (1, 4, 5, 2), (0, 4, 5, 3)) * 0.5 + rdm2_f_ooov += einsum(x131, (0, 1, 2, 3), (2, 0, 1, 3)) + rdm2_f_ooov += einsum(x131, (0, 1, 2, 3), (2, 0, 1, 3)) + del x131 + x132 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x132 += einsum(t2, (0, 1, 2, 3), l3, (2, 4, 3, 1, 5, 6), (6, 5, 0, 4)) + x133 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x133 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) + x133 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 0, 2)) * -0.5 + x134 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x134 += einsum(t2, (0, 1, 2, 3), x133, (1, 4, 5, 6, 3, 2), (0, 4, 5, 6)) + x135 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x135 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x135 += einsum(x132, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.5 + x135 += einsum(x134, (0, 1, 2, 3), (1, 2, 0, 3)) + del x134 + x136 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x136 += einsum(t2, (0, 1, 2, 3), x135, (4, 1, 5, 2), (0, 4, 5, 3)) + del x135 + rdm2_f_ooov += einsum(x136, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + rdm2_f_ooov += einsum(x136, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + rdm2_f_oovo += einsum(x136, (0, 1, 2, 3), (2, 0, 3, 1)) * -1.0 + rdm2_f_oovo += einsum(x136, (0, 1, 2, 3), (2, 0, 3, 1)) * -1.0 + del x136 + x137 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x137 += einsum(x22, (0, 1, 2, 3), (1, 0, 3, 2)) + x137 += einsum(x24, (0, 1, 2, 3), (0, 1, 2, 3)) + x137 += einsum(x31, (0, 1, 2, 3), (0, 1, 2, 3)) + x137 += einsum(x31, (0, 1, 2, 3), (1, 0, 3, 2)) + del x31 + x137 += einsum(x34, (0, 1, 2, 3), (1, 2, 3, 0)) + x137 += einsum(x34, (0, 1, 2, 3), (2, 1, 0, 3)) + del x34 + x138 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x138 += einsum(t1, (0, 1), x137, (0, 2, 3, 4), (2, 3, 4, 1)) + del x137 + rdm2_f_ooov += einsum(x138, (0, 1, 2, 3), (2, 1, 0, 3)) + rdm2_f_ooov += einsum(x138, (0, 1, 2, 3), (2, 1, 0, 3)) + rdm2_f_oovo += einsum(x138, (0, 1, 2, 3), (1, 2, 3, 0)) + rdm2_f_oovo += einsum(x138, (0, 1, 2, 3), (1, 2, 3, 0)) + del x138 + x139 = np.zeros((nocc, nvir), dtype=types[float]) + x139 += einsum(t1, (0, 1), (0, 1)) * -1.0 + x139 += einsum(x76, (0, 1), (0, 1)) * 0.24999999999999 + x139 += einsum(x78, (0, 1), (0, 1)) + del x78 + x139 += einsum(x79, (0, 1), (0, 1)) * -1.0 + del x79 + x139 += einsum(x81, (0, 1), (0, 1)) * -1.0 + del x81 + x139 += einsum(x83, (0, 1), (0, 1)) + del x83 + x139 += einsum(x88, (0, 1), (0, 1)) + del x88 + x139 += einsum(x91, (0, 1), (0, 1)) + del x91 + x139 += einsum(x93, (0, 1), (0, 1)) * -1.0 + del x93 + x139 += einsum(x94, (0, 1), (0, 1)) + del x94 + rdm2_f_ooov += einsum(delta.oo, (0, 1), x139, (2, 3), (0, 2, 1, 3)) * -1.0 + rdm2_f_ooov += einsum(delta.oo, (0, 1), x139, (2, 3), (0, 2, 1, 3)) * -1.0 + del x139 + x140 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x140 += einsum(t3, (0, 1, 2, 3, 4, 5), x35, (2, 1, 6, 7, 5, 3), (6, 7, 0, 4)) + rdm2_f_oovo += einsum(x140, (0, 1, 2, 3), (2, 1, 3, 0)) * 0.25 + rdm2_f_oovo += einsum(x140, (0, 1, 2, 3), (2, 1, 3, 0)) * 0.25 + x141 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x141 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -1.0 + x141 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + x141 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 4.0 + x142 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x142 += einsum(x141, (0, 1, 2, 3, 4, 5), x42, (1, 6, 0, 7, 4, 3), (6, 7, 2, 5)) * 0.25 + del x141 + rdm2_f_oovo += einsum(x142, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 + rdm2_f_oovo += einsum(x142, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 + del x142 + x143 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x143 += einsum(x35, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + x143 += einsum(x35, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 + x144 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x144 += einsum(t3, (0, 1, 2, 3, 4, 5), x143, (1, 2, 6, 7, 4, 5), (0, 6, 7, 3)) * 0.25 + rdm2_f_oovo += einsum(x144, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 + rdm2_f_oovo += einsum(x144, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 + del x144 + x145 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x145 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -1.0 + x145 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + x146 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x146 += einsum(l2, (0, 1, 2, 3), x145, (2, 4, 5, 0, 1, 6), (3, 4, 5, 6)) * 0.5 + rdm2_f_oovo += einsum(x146, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 + rdm2_f_oovo += einsum(x146, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 + del x146 + x147 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) + x147 += einsum(x36, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + x147 += einsum(x36, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * -1.0 + x148 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x148 += einsum(t2, (0, 1, 2, 3), x147, (1, 0, 4, 5, 6, 2), (4, 5, 6, 3)) * 0.5 + del x147 + rdm2_f_oovo += einsum(x148, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 + rdm2_f_oovo += einsum(x148, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 + del x148 + x149 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x149 += einsum(t2, (0, 1, 2, 3), x128, (4, 5, 3, 2), (0, 1, 4, 5)) * -0.5 + rdm2_f_oovo += einsum(x149, (0, 1, 2, 3), (1, 0, 3, 2)) + rdm2_f_oovo += einsum(x149, (0, 1, 2, 3), (1, 0, 3, 2)) + x150 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x150 += einsum(x6, (0, 1, 2, 3), l3, (2, 4, 3, 5, 6, 0), (5, 6, 1, 4)) * 0.5 + rdm2_f_ovoo += einsum(x150, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 + rdm2_f_ovoo += einsum(x150, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 + rdm2_f_vooo += einsum(x150, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 + rdm2_f_vooo += einsum(x150, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 + x151 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x151 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) + x151 += einsum(x29, (0, 1, 2, 3), (0, 1, 2, 3)) + x151 += einsum(x150, (0, 1, 2, 3), (1, 0, 2, 3)) + del x150 + x152 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x152 += einsum(t2, (0, 1, 2, 3), x151, (1, 4, 5, 2), (0, 4, 5, 3)) + rdm2_f_oovo += einsum(x152, (0, 1, 2, 3), (0, 2, 3, 1)) + rdm2_f_oovo += einsum(x152, (0, 1, 2, 3), (0, 2, 3, 1)) + del x152 + x153 = np.zeros((nocc, nvir), dtype=types[float]) + x153 += einsum(x42, (0, 1, 2, 3, 4, 5), x77, (0, 1, 2, 5, 4, 6), (3, 6)) + x154 = np.zeros((nocc, nvir), dtype=types[float]) + x154 += einsum(x42, (0, 1, 2, 3, 4, 5), x45, (2, 0, 1, 6, 5, 4), (3, 6)) + x155 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x155 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) + x155 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + x155 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) + x155 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * 6.000000000000001 + x156 = np.zeros((nocc, nvir), dtype=types[float]) + x156 += einsum(l2, (0, 1, 2, 3), x155, (2, 3, 4, 1, 0, 5), (4, 5)) * 3.00000000000012 + del x155 + x157 = np.zeros((nocc, nvir), dtype=types[float]) + x157 += einsum(l2, (0, 1, 2, 3), x82, (3, 4, 2, 0, 5, 1), (4, 5)) * 6.00000000000024 + x158 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x158 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.33333333333333326 + x158 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) + x159 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x159 += einsum(x158, (0, 1, 2, 3), l3, (4, 2, 3, 5, 0, 6), (6, 5, 1, 4)) * 0.37500000000000006 + del x158 + x160 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x160 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 + x160 += einsum(x23, (0, 1, 2, 3), (1, 0, 2, 3)) + x160 += einsum(x159, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + x160 += einsum(x159, (0, 1, 2, 3), (0, 1, 2, 3)) + del x159 + x160 += einsum(x86, (0, 1, 2, 3), (1, 2, 0, 3)) + del x86 + x161 = np.zeros((nocc, nvir), dtype=types[float]) + x161 += einsum(t2, (0, 1, 2, 3), x160, (1, 0, 4, 2), (4, 3)) * 24.00000000000096 + del x160 + x162 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x162 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) + x162 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.33333333333333326 + x163 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x163 += einsum(x162, (0, 1, 2, 3), l3, (4, 2, 3, 5, 6, 0), (5, 6, 1, 4)) * 3.0000000000000004 + del x162 + x164 = np.zeros((nocc, nvir), dtype=types[float]) + x164 += einsum(t2, (0, 1, 2, 3), x163, (0, 1, 4, 2), (4, 3)) * 6.00000000000024 + del x163 + x165 = np.zeros((nocc, nvir), dtype=types[float]) + x165 += einsum(l1, (0, 1), x92, (1, 2, 3, 0), (2, 3)) * 12.00000000000048 + x166 = np.zeros((nocc, nvir), dtype=types[float]) + x166 += einsum(t1, (0, 1), x74, (0, 2), (2, 1)) * 12.00000000000048 + x167 = np.zeros((nocc, nvir), dtype=types[float]) + x167 += einsum(t1, (0, 1), (0, 1)) * -12.00000000000048 + x167 += einsum(x76, (0, 1), (0, 1)) * 3.0 + x167 += einsum(x153, (0, 1), (0, 1)) + del x153 + x167 += einsum(x154, (0, 1), (0, 1)) * -1.0 + del x154 + x167 += einsum(x156, (0, 1), (0, 1)) * -1.0 + del x156 + x167 += einsum(x157, (0, 1), (0, 1)) + del x157 + x167 += einsum(x161, (0, 1), (0, 1)) + del x161 + x167 += einsum(x164, (0, 1), (0, 1)) + del x164 + x167 += einsum(x165, (0, 1), (0, 1)) * -1.0 + del x165 + x167 += einsum(x166, (0, 1), (0, 1)) + del x166 + rdm2_f_oovo += einsum(delta.oo, (0, 1), x167, (2, 3), (2, 0, 3, 1)) * -0.08333333333333 + rdm2_f_oovo += einsum(delta.oo, (0, 1), x167, (2, 3), (2, 0, 3, 1)) * -0.08333333333333 + del x167 + x168 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x168 += einsum(x32, (0, 1, 2, 3), l3, (4, 2, 3, 5, 6, 0), (5, 6, 1, 4)) * 0.5 + x169 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x169 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) + x169 += einsum(x168, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + rdm2_f_ovoo += einsum(x169, (0, 1, 2, 3), (2, 3, 0, 1)) + rdm2_f_ovoo += einsum(x169, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 + rdm2_f_ovoo += einsum(x169, (0, 1, 2, 3), (2, 3, 0, 1)) + rdm2_f_ovoo += einsum(x169, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 + rdm2_f_vooo += einsum(x169, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 + rdm2_f_vooo += einsum(x169, (0, 1, 2, 3), (3, 2, 1, 0)) + rdm2_f_vooo += einsum(x169, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 + rdm2_f_vooo += einsum(x169, (0, 1, 2, 3), (3, 2, 1, 0)) + del x169 + x170 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x170 += einsum(x9, (0, 1, 2, 3), l3, (4, 2, 3, 5, 0, 6), (6, 5, 1, 4)) * 1.5 + rdm2_f_ovoo += einsum(x170, (0, 1, 2, 3), (2, 3, 1, 0)) + rdm2_f_ovoo += einsum(x170, (0, 1, 2, 3), (2, 3, 1, 0)) + del x170 + x171 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x171 += einsum(t3, (0, 1, 2, 3, 4, 5), x36, (1, 0, 2, 6, 7, 4), (6, 7, 3, 5)) + rdm2_f_oovv += einsum(x171, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.16666666666667 + rdm2_f_oovv += einsum(x171, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.16666666666667 + del x171 + x172 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x172 += einsum(t3, (0, 1, 2, 3, 4, 5), x36, (0, 1, 2, 6, 7, 4), (6, 7, 3, 5)) + rdm2_f_oovv += einsum(x172, (0, 1, 2, 3), (1, 0, 3, 2)) * -0.16666666666667 + rdm2_f_oovv += einsum(x172, (0, 1, 2, 3), (1, 0, 3, 2)) * -0.16666666666667 + del x172 + x173 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x173 += einsum(x1, (0, 1), t2, (2, 0, 3, 4), (1, 2, 3, 4)) + x174 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) + x174 += einsum(t2, (0, 1, 2, 3), l3, (4, 3, 2, 5, 6, 7), (5, 7, 6, 0, 1, 4)) + x175 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x175 += einsum(t3, (0, 1, 2, 3, 4, 5), x174, (0, 1, 2, 6, 7, 3), (6, 7, 5, 4)) + x176 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x176 += einsum(t2, (0, 1, 2, 3), x35, (4, 1, 0, 5, 6, 3), (4, 5, 6, 2)) + rdm2_f_ovvo += einsum(x176, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 + rdm2_f_ovvo += einsum(x176, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 + rdm2_f_voov += einsum(x176, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 + rdm2_f_voov += einsum(x176, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 + x177 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x177 += einsum(t2, (0, 1, 2, 3), x176, (1, 4, 3, 5), (4, 0, 2, 5)) + x178 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x178 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + x178 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 + x179 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x179 += einsum(x174, (0, 1, 2, 3, 4, 5), x178, (1, 2, 0, 6, 5, 7), (3, 4, 6, 7)) * 0.08333333333333 + x180 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x180 += einsum(x122, (0, 1, 2, 3), l3, (4, 2, 3, 5, 0, 6), (5, 6, 1, 4)) * 0.5 + del x122 + x181 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x181 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x181 += einsum(x23, (0, 1, 2, 3), (1, 0, 2, 3)) + x181 += einsum(x168, (0, 1, 2, 3), (0, 1, 2, 3)) + x181 += einsum(x180, (0, 1, 2, 3), (1, 0, 2, 3)) + del x180 + x182 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x182 += einsum(x181, (0, 1, 2, 3), t3, (4, 0, 1, 5, 6, 3), (4, 2, 5, 6)) * 0.5 + del x181 + x183 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x183 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (5, 6, 3, 1, 7, 2), (4, 6, 0, 7)) + x184 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x184 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 3, 5, 7, 2, 1), (4, 6, 0, 7)) + rdm2_f_vovo += einsum(x184, (0, 1, 2, 3), (2, 1, 3, 0)) * -0.25 + rdm2_f_vovo += einsum(x184, (0, 1, 2, 3), (2, 1, 3, 0)) * -0.25 + x185 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x185 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 0.2 + x185 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + x185 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -0.2 + x185 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -0.2 + x185 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 0.2 + x185 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -0.2 + x185 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * -0.2 + x185 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) + x186 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x186 += einsum(l3, (0, 1, 2, 3, 4, 5), x185, (5, 6, 4, 2, 7, 1), (3, 6, 0, 7)) * 1.25 + del x185 + x187 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x187 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) + x187 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 0, 2)) + x188 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x188 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + x188 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) + x189 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x189 += einsum(x187, (0, 1, 2, 3, 4, 5), x188, (1, 6, 0, 5, 4, 7), (2, 6, 3, 7)) * 0.25 + del x187 + x190 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x190 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + x190 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) + x191 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x191 += einsum(l3, (0, 1, 2, 3, 4, 5), x190, (3, 5, 6, 0, 2, 7), (4, 6, 1, 7)) * 0.25 + del x190 + x192 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x192 += einsum(l2, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 + x192 += einsum(l2, (0, 1, 2, 3), (2, 3, 0, 1)) * 2.0 + x193 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x193 += einsum(t2, (0, 1, 2, 3), x192, (1, 4, 2, 5), (0, 4, 3, 5)) + x194 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x194 += einsum(x183, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.25 + x194 += einsum(x184, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.25 + del x184 + x194 += einsum(x186, (0, 1, 2, 3), (0, 1, 2, 3)) + del x186 + x194 += einsum(x189, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x189 + x194 += einsum(x191, (0, 1, 2, 3), (0, 1, 2, 3)) + del x191 + x194 += einsum(x193, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x193 + x195 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x195 += einsum(t2, (0, 1, 2, 3), x194, (1, 4, 3, 5), (0, 4, 2, 5)) + del x194 + x196 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x196 += einsum(x7, (0, 1, 2, 3), t3, (4, 1, 0, 5, 6, 3), (4, 2, 5, 6)) * -0.25 + x197 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x197 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (3, 6, 5, 0, 7, 2), (4, 6, 1, 7)) + rdm2_f_ovov += einsum(x197, (0, 1, 2, 3), (1, 2, 0, 3)) * -0.25 + rdm2_f_ovov += einsum(x197, (0, 1, 2, 3), (1, 2, 0, 3)) * -0.25 + rdm2_f_ovvo += einsum(x197, (0, 1, 2, 3), (1, 2, 3, 0)) * 0.25 + rdm2_f_ovvo += einsum(x197, (0, 1, 2, 3), (1, 2, 3, 0)) * 0.25 + rdm2_f_voov += einsum(x197, (0, 1, 2, 3), (2, 1, 0, 3)) * 0.25 + rdm2_f_voov += einsum(x197, (0, 1, 2, 3), (2, 1, 0, 3)) * 0.25 + rdm2_f_vovo += einsum(x197, (0, 1, 2, 3), (2, 1, 3, 0)) * -0.25 + rdm2_f_vovo += einsum(x197, (0, 1, 2, 3), (2, 1, 3, 0)) * -0.25 + x198 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x198 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) + x198 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 5.0 + x198 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 + x198 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 + x198 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * -1.0 + x198 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) + x199 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x199 += einsum(l3, (0, 1, 2, 3, 4, 5), x198, (5, 6, 4, 2, 7, 1), (3, 6, 0, 7)) + x200 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x200 += einsum(l3, (0, 1, 2, 3, 4, 5), x45, (5, 6, 3, 1, 7, 2), (4, 6, 0, 7)) + x201 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x201 += einsum(x197, (0, 1, 2, 3), (0, 1, 2, 3)) + x201 += einsum(x199, (0, 1, 2, 3), (0, 1, 2, 3)) + del x199 + x201 += einsum(x200, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x200 + x202 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x202 += einsum(t2, (0, 1, 2, 3), x201, (1, 4, 2, 5), (0, 4, 3, 5)) * 0.25 + del x201 + x203 = np.zeros((nvir, nvir), dtype=types[float]) + x203 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (3, 4, 5, 0, 6, 2), (1, 6)) + x204 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x204 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + x204 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 + x204 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 + x204 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 + x204 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) + x204 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 6.999999999999999 + x205 = np.zeros((nvir, nvir), dtype=types[float]) + x205 += einsum(l3, (0, 1, 2, 3, 4, 5), x204, (4, 3, 5, 1, 6, 2), (0, 6)) * 0.08333333333333 + x206 = np.zeros((nvir, nvir), dtype=types[float]) + x206 += einsum(l3, (0, 1, 2, 3, 4, 5), x45, (4, 5, 3, 6, 1, 2), (0, 6)) * 0.08333333333333 + x207 = np.zeros((nvir, nvir), dtype=types[float]) + x207 += einsum(t2, (0, 1, 2, 3), x96, (0, 1, 2, 4), (3, 4)) * 2.0 + x208 = np.zeros((nvir, nvir), dtype=types[float]) + x208 += einsum(x203, (0, 1), (0, 1)) * 0.24999999999999 + x208 += einsum(x205, (0, 1), (0, 1)) + x208 += einsum(x206, (0, 1), (0, 1)) * -1.0 + x208 += einsum(x207, (0, 1), (1, 0)) + x209 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x209 += einsum(x208, (0, 1), t2, (2, 3, 0, 4), (2, 3, 4, 1)) + del x208 + x210 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x210 += einsum(t1, (0, 1), x56, (0, 2, 3, 4), (2, 3, 1, 4)) + del x56 + x211 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x211 += einsum(x210, (0, 1, 2, 3), x32, (0, 4, 5, 3), (4, 1, 5, 2)) * 0.5 + del x210 + x212 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x212 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) + x212 += einsum(x23, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + x213 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x213 += einsum(t2, (0, 1, 2, 3), x212, (4, 1, 5, 2), (0, 4, 5, 3)) + del x212 + x214 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x214 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 + x214 += einsum(x23, (0, 1, 2, 3), (1, 0, 2, 3)) + x215 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x215 += einsum(t2, (0, 1, 2, 3), x214, (4, 1, 5, 3), (0, 4, 5, 2)) * 2.0 + del x214 + x216 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x216 += einsum(t1, (0, 1), x7, (2, 3, 4, 1), (0, 2, 3, 4)) * -1.0 + x217 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x217 += einsum(t1, (0, 1), x216, (2, 3, 0, 4), (3, 2, 4, 1)) * 0.5 + del x216 + x218 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x218 += einsum(x38, (0, 1, 2, 3), (0, 1, 2, 3)) + x218 += einsum(x39, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 + del x39 + x218 += einsum(x40, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.25 + del x40 + x218 += einsum(x41, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 + del x41 + x218 += einsum(x44, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x44 + x218 += einsum(x46, (0, 1, 2, 3), (0, 1, 2, 3)) + del x46 + x218 += einsum(x51, (0, 1, 2, 3), (2, 1, 0, 3)) + del x51 + x218 += einsum(x61, (0, 1, 2, 3), (1, 0, 2, 3)) + del x61 + x218 += einsum(x213, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 + del x213 + x218 += einsum(x215, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 + del x215 + x218 += einsum(x217, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x217 + x219 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x219 += einsum(t1, (0, 1), x218, (0, 2, 3, 4), (2, 3, 1, 4)) + del x218 + x220 = np.zeros((nocc, nocc), dtype=types[float]) + x220 += einsum(x12, (0, 1), (0, 1)) * 0.08333333333333 + del x12 + x220 += einsum(x70, (0, 1), (0, 1)) + del x70 + x220 += einsum(x71, (0, 1), (0, 1)) + del x71 + x220 += einsum(x72, (0, 1), (1, 0)) * -1.0 + del x72 + x220 += einsum(x73, (0, 1), (0, 1)) + del x73 + x221 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x221 += einsum(x220, (0, 1), t2, (2, 0, 3, 4), (2, 1, 4, 3)) + del x220 + x222 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x222 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * -1.0 + x222 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 1, 2)) + x223 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x223 += einsum(t2, (0, 1, 2, 3), x222, (1, 4, 5, 6, 2, 3), (4, 5, 0, 6)) + x224 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x224 += einsum(t1, (0, 1), x223, (2, 3, 4, 1), (2, 3, 4, 0)) * -1.0 + del x223 + x225 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x225 += einsum(t2, (0, 1, 2, 3), x224, (0, 1, 4, 5), (5, 4, 3, 2)) * 0.5 + del x224 + x226 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x226 += einsum(t1, (0, 1), x10, (2, 3, 4, 1), (0, 3, 2, 4)) * 3.0 + x227 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x227 += einsum(t2, (0, 1, 2, 3), x226, (4, 0, 1, 5), (4, 5, 2, 3)) * 0.25 + del x226 + x228 = np.zeros((nocc, nvir), dtype=types[float]) + x228 += einsum(x42, (0, 1, 2, 3, 4, 5), x77, (0, 1, 2, 5, 4, 6), (3, 6)) * 0.041666666666665 + del x77 + x229 = np.zeros((nocc, nvir), dtype=types[float]) + x229 += einsum(x42, (0, 1, 2, 3, 4, 5), x45, (2, 0, 1, 6, 5, 4), (3, 6)) * 0.041666666666665 + x230 = np.zeros((nocc, nvir), dtype=types[float]) + x230 += einsum(l2, (0, 1, 2, 3), x80, (2, 3, 4, 1, 0, 5), (4, 5)) * 0.125 + del x80 + x231 = np.zeros((nocc, nvir), dtype=types[float]) + x231 += einsum(l2, (0, 1, 2, 3), x82, (3, 4, 2, 0, 5, 1), (4, 5)) * 0.25 + del x82 + x232 = np.zeros((nocc, nvir), dtype=types[float]) + x232 += einsum(t2, (0, 1, 2, 3), x87, (0, 1, 4, 3), (4, 2)) + del x87 + x233 = np.zeros((nocc, nvir), dtype=types[float]) + x233 += einsum(t2, (0, 1, 2, 3), x90, (0, 1, 4, 2), (4, 3)) * 0.25 + del x90 + x234 = np.zeros((nocc, nvir), dtype=types[float]) + x234 += einsum(l1, (0, 1), x92, (1, 2, 3, 0), (2, 3)) * 0.5 + x235 = np.zeros((nocc, nvir), dtype=types[float]) + x235 += einsum(t1, (0, 1), x74, (0, 2), (2, 1)) * 0.5 + del x74 + x236 = np.zeros((nocc, nvir), dtype=types[float]) + x236 += einsum(x76, (0, 1), (0, 1)) * 0.124999999999995 + x236 += einsum(x228, (0, 1), (0, 1)) + x236 += einsum(x229, (0, 1), (0, 1)) * -1.0 + x236 += einsum(x230, (0, 1), (0, 1)) * -1.0 + x236 += einsum(x231, (0, 1), (0, 1)) + x236 += einsum(x232, (0, 1), (0, 1)) + x236 += einsum(x233, (0, 1), (0, 1)) + x236 += einsum(x234, (0, 1), (0, 1)) * -1.0 + x236 += einsum(x235, (0, 1), (0, 1)) + del x235 + x237 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x237 += einsum(x173, (0, 1, 2, 3), (0, 1, 2, 3)) + x237 += einsum(x175, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.08333333333333 + del x175 + x237 += einsum(x177, (0, 1, 2, 3), (0, 1, 2, 3)) + x237 += einsum(x179, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x179 + x237 += einsum(x182, (0, 1, 2, 3), (1, 0, 2, 3)) + del x182 + x237 += einsum(x195, (0, 1, 2, 3), (0, 1, 2, 3)) + x237 += einsum(x196, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x196 + x237 += einsum(x202, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x202 + x237 += einsum(x209, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + x237 += einsum(x211, (0, 1, 2, 3), (0, 1, 3, 2)) + del x211 + x237 += einsum(x219, (0, 1, 2, 3), (0, 1, 2, 3)) + del x219 + x237 += einsum(x221, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + x237 += einsum(x225, (0, 1, 2, 3), (0, 1, 3, 2)) + del x225 + x237 += einsum(x227, (0, 1, 2, 3), (0, 1, 2, 3)) + del x227 + x237 += einsum(t1, (0, 1), x236, (2, 3), (0, 2, 1, 3)) * -2.0 + del x236 + rdm2_f_oovv += einsum(x237, (0, 1, 2, 3), (0, 1, 2, 3)) + rdm2_f_oovv += einsum(x237, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + rdm2_f_oovv += einsum(x237, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + rdm2_f_oovv += einsum(x237, (0, 1, 2, 3), (1, 0, 3, 2)) + rdm2_f_oovv += einsum(x237, (0, 1, 2, 3), (0, 1, 2, 3)) + rdm2_f_oovv += einsum(x237, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + rdm2_f_oovv += einsum(x237, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + rdm2_f_oovv += einsum(x237, (0, 1, 2, 3), (1, 0, 3, 2)) + del x237 + x238 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x238 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + x238 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) + x239 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x239 += einsum(x174, (0, 1, 2, 3, 4, 5), x238, (1, 2, 0, 6, 7, 5), (3, 4, 6, 7)) * 0.08333333333333 + x240 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x240 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * 5.000000000000001 + x240 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x241 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x241 += einsum(x240, (0, 1, 2, 3), l3, (4, 2, 3, 5, 6, 0), (1, 5, 6, 4)) * 0.16666666666666666 + del x240 + x242 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x242 += einsum(x9, (0, 1, 2, 3), l3, (4, 2, 3, 5, 0, 6), (5, 6, 1, 4)) * 0.5 + x243 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x243 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) + x243 += einsum(x23, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.3333333333333333 + x243 += einsum(x241, (0, 1, 2, 3), (1, 2, 0, 3)) + del x241 + x243 += einsum(x242, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x242 + x244 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x244 += einsum(x243, (0, 1, 2, 3), t3, (4, 0, 1, 5, 3, 6), (2, 4, 6, 5)) * 1.5 + del x243 + x245 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x245 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * 2.0 + x245 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 1, 2)) * -1.0 + x246 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x246 += einsum(x6, (0, 1, 2, 3), x245, (0, 4, 5, 3, 2, 6), (4, 5, 1, 6)) + del x245 + x247 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x247 += einsum(x246, (0, 1, 2, 3), t3, (4, 1, 0, 5, 3, 6), (2, 4, 6, 5)) * 0.25 + del x246 + x248 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x248 += einsum(x6, (0, 1, 2, 3), x42, (1, 4, 0, 5, 2, 6), (4, 5, 6, 3)) + x249 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x249 += einsum(x248, (0, 1, 2, 3), x32, (0, 4, 5, 2), (1, 4, 3, 5)) * -1.0 + x250 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x250 += einsum(x42, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + x250 += einsum(x42, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * -1.0 + x251 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x251 += einsum(t2, (0, 1, 2, 3), x250, (0, 1, 4, 5, 3, 6), (4, 5, 6, 2)) + x252 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x252 += einsum(t2, (0, 1, 2, 3), x251, (1, 4, 2, 5), (4, 0, 5, 3)) * -0.5 + x253 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x253 += einsum(x239, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x239 + x253 += einsum(x244, (0, 1, 2, 3), (0, 1, 3, 2)) + del x244 + x253 += einsum(x247, (0, 1, 2, 3), (0, 1, 3, 2)) + del x247 + x253 += einsum(x249, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x249 + x253 += einsum(x252, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x252 + rdm2_f_oovv += einsum(x253, (0, 1, 2, 3), (0, 1, 2, 3)) + rdm2_f_oovv += einsum(x253, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + rdm2_f_oovv += einsum(x253, (0, 1, 2, 3), (0, 1, 2, 3)) + rdm2_f_oovv += einsum(x253, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x253 + x254 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x254 += einsum(l1, (0, 1), t3, (2, 3, 1, 4, 5, 0), (2, 3, 4, 5)) + x255 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x255 += einsum(t2, (0, 1, 2, 3), x24, (1, 0, 4, 5), (5, 4, 2, 3)) + rdm2_f_oovv += einsum(x255, (0, 1, 2, 3), (0, 1, 2, 3)) + rdm2_f_oovv += einsum(x255, (0, 1, 2, 3), (0, 1, 2, 3)) + x256 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) + x256 += einsum(t2, (0, 1, 2, 3), l3, (2, 4, 3, 5, 6, 7), (5, 7, 6, 0, 1, 4)) + x257 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x257 += einsum(t3, (0, 1, 2, 3, 4, 5), x256, (2, 0, 1, 6, 7, 4), (6, 7, 5, 3)) + del x256 + x258 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x258 += einsum(t2, (0, 1, 2, 3), l3, (4, 2, 5, 6, 0, 1), (6, 4, 5, 3)) + x259 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x259 += einsum(x258, (0, 1, 2, 3), t3, (4, 0, 5, 2, 6, 1), (4, 5, 3, 6)) + x260 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x260 += einsum(x89, (0, 1, 2, 3), l3, (4, 5, 2, 6, 0, 1), (6, 4, 5, 3)) * 6.0 + del x89 + x261 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x261 += einsum(x258, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x261 += einsum(x258, (0, 1, 2, 3), (0, 2, 1, 3)) * -2.0 + x261 += einsum(x260, (0, 1, 2, 3), (0, 1, 2, 3)) + del x260 + x261 += einsum(x128, (0, 1, 2, 3), (0, 2, 3, 1)) + x262 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x262 += einsum(x261, (0, 1, 2, 3), t3, (4, 0, 5, 2, 1, 6), (4, 5, 3, 6)) * 0.25 + del x261 + x263 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x263 += einsum(t2, (0, 1, 2, 3), l3, (4, 5, 3, 6, 0, 1), (6, 4, 5, 2)) + rdm2_f_vvov = np.zeros((nvir, nvir, nocc, nvir), dtype=types[float]) + rdm2_f_vvov += einsum(x263, (0, 1, 2, 3), (1, 2, 0, 3)) + rdm2_f_vvov += einsum(x263, (0, 1, 2, 3), (1, 2, 0, 3)) + rdm2_f_vvvo = np.zeros((nvir, nvir, nvir, nocc), dtype=types[float]) + rdm2_f_vvvo += einsum(x263, (0, 1, 2, 3), (2, 1, 3, 0)) + rdm2_f_vvvo += einsum(x263, (0, 1, 2, 3), (2, 1, 3, 0)) + x264 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x264 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 3, 4, 0, 2, 1)) * 1.5 + x264 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * -1.5 + x264 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) + x265 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x265 += einsum(t2, (0, 1, 2, 3), x264, (0, 1, 4, 5, 2, 6), (4, 5, 6, 3)) * 0.6666666666666666 + del x264 + x266 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x266 += einsum(x263, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.6666666666666666 + x266 += einsum(x265, (0, 1, 2, 3), (0, 1, 2, 3)) + del x265 + x267 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x267 += einsum(x266, (0, 1, 2, 3), t3, (4, 0, 5, 1, 2, 6), (4, 5, 3, 6)) * 0.75 + del x266 + x268 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x268 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 3, 4, 0, 2, 1)) * 0.5 + x268 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * -0.5 + x268 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) + x269 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x269 += einsum(t2, (0, 1, 2, 3), x268, (0, 1, 4, 5, 2, 6), (4, 5, 6, 3)) * 2.0 + del x268 + x270 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x270 += einsum(x263, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 + x270 += einsum(x269, (0, 1, 2, 3), (0, 1, 2, 3)) + del x269 + x271 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x271 += einsum(x270, (0, 1, 2, 3), t3, (4, 0, 5, 2, 6, 1), (4, 5, 3, 6)) * 0.25 + x272 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x272 += einsum(t2, (0, 1, 2, 3), x96, (1, 4, 3, 5), (0, 4, 2, 5)) + x273 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x273 += einsum(t2, (0, 1, 2, 3), x272, (4, 1, 5, 3), (4, 0, 5, 2)) * 4.0 + del x272 + x274 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x274 += einsum(l2, (0, 1, 2, 3), (3, 2, 0, 1)) + x274 += einsum(l2, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 + x275 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x275 += einsum(t2, (0, 1, 2, 3), x274, (1, 4, 2, 5), (4, 0, 5, 3)) + x276 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x276 += einsum(t2, (0, 1, 2, 3), x275, (1, 4, 2, 5), (4, 0, 5, 3)) * -1.0 + del x275 + x277 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x277 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 4, 7, 2, 1, 0), (5, 3, 6, 7)) + x278 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x278 += einsum(x22, (0, 1, 2, 3), (1, 0, 3, 2)) + x278 += einsum(x277, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.24999999999999 + del x277 + x279 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x279 += einsum(t2, (0, 1, 2, 3), x278, (0, 1, 4, 5), (4, 5, 2, 3)) + del x278 + x280 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x280 += einsum(t2, (0, 1, 2, 3), x98, (1, 4, 0, 5, 6, 2), (4, 6, 5, 3)) + del x98 + x281 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x281 += einsum(x96, (0, 1, 2, 3), t3, (4, 0, 5, 3, 2, 6), (4, 5, 1, 6)) + x282 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x282 += einsum(t1, (0, 1), x25, (0, 2, 3, 4), (2, 3, 4, 1)) * 0.5 + del x25 + x283 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x283 += einsum(x280, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 + del x280 + x283 += einsum(x281, (0, 1, 2, 3), (2, 1, 0, 3)) + del x281 + x283 += einsum(x282, (0, 1, 2, 3), (0, 2, 1, 3)) + del x282 + x284 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x284 += einsum(t1, (0, 1), x283, (0, 2, 3, 4), (2, 3, 4, 1)) * 2.0 + del x283 + x285 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x285 += einsum(x254, (0, 1, 2, 3), (0, 1, 2, 3)) + x285 += einsum(x255, (0, 1, 2, 3), (0, 1, 2, 3)) + del x255 + x285 += einsum(x257, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.24999999999999 + del x257 + x285 += einsum(x259, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 + del x259 + x285 += einsum(x262, (0, 1, 2, 3), (1, 0, 2, 3)) + del x262 + x285 += einsum(x267, (0, 1, 2, 3), (1, 0, 2, 3)) + del x267 + x285 += einsum(x271, (0, 1, 2, 3), (1, 0, 2, 3)) + del x271 + x285 += einsum(x273, (0, 1, 2, 3), (0, 1, 2, 3)) + del x273 + x285 += einsum(x276, (0, 1, 2, 3), (1, 0, 3, 2)) + del x276 + x285 += einsum(x279, (0, 1, 2, 3), (1, 0, 3, 2)) + del x279 + x285 += einsum(x284, (0, 1, 2, 3), (0, 1, 3, 2)) + del x284 + rdm2_f_oovv += einsum(x285, (0, 1, 2, 3), (0, 1, 2, 3)) + rdm2_f_oovv += einsum(x285, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + rdm2_f_oovv += einsum(x285, (0, 1, 2, 3), (0, 1, 2, 3)) + rdm2_f_oovv += einsum(x285, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x285 + x286 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x286 += einsum(t3, (0, 1, 2, 3, 4, 5), x174, (0, 1, 2, 6, 7, 4), (6, 7, 3, 5)) + x287 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x287 += einsum(x42, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + x287 += einsum(x42, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * -1.0 + x287 += einsum(x42, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) * 2.0 + x288 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x288 += einsum(t2, (0, 1, 2, 3), x287, (0, 1, 4, 5, 6, 3), (4, 5, 6, 2)) * 0.5 + x289 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x289 += einsum(x288, (0, 1, 2, 3), x6, (0, 4, 5, 2), (1, 4, 3, 5)) + del x288 + x290 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x290 += einsum(t1, (0, 1), x10, (2, 3, 4, 1), (0, 3, 2, 4)) + x291 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x291 += einsum(t1, (0, 1), x290, (2, 3, 0, 4), (3, 2, 4, 1)) * 3.0 + del x290 + x292 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x292 += einsum(t1, (0, 1), x291, (0, 2, 3, 4), (2, 3, 4, 1)) * 0.5 + del x291 + x293 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x293 += einsum(x286, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.08333333333333 + del x286 + x293 += einsum(x289, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x289 + x293 += einsum(x292, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x292 + rdm2_f_oovv += einsum(x293, (0, 1, 2, 3), (0, 1, 3, 2)) + rdm2_f_oovv += einsum(x293, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + rdm2_f_oovv += einsum(x293, (0, 1, 2, 3), (0, 1, 3, 2)) + rdm2_f_oovv += einsum(x293, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x293 + x294 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x294 += einsum(t3, (0, 1, 2, 3, 4, 5), x36, (0, 1, 2, 6, 7, 3), (6, 7, 5, 4)) + x295 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x295 += einsum(x178, (0, 1, 2, 3, 4, 5), x36, (1, 0, 2, 6, 7, 4), (6, 7, 3, 5)) * 0.16666666666667 + x296 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x296 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) + x296 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) * -0.5 + x297 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x297 += einsum(x296, (0, 1, 2, 3, 4, 5), x3, (0, 6, 7, 5, 4, 3), (1, 2, 6, 7)) + del x3, x296 + x298 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x298 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * 0.5 + x298 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 3, 5, 0, 2, 1)) + x299 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x299 += einsum(t3, (0, 1, 2, 3, 4, 5), x298, (6, 7, 2, 4, 5, 3), (6, 7, 0, 1)) + del x298 + x300 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x300 += einsum(x297, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x297 + x300 += einsum(x299, (0, 1, 2, 3), (1, 0, 2, 3)) + del x299 + x301 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x301 += einsum(t2, (0, 1, 2, 3), x300, (0, 1, 4, 5), (4, 5, 2, 3)) * 0.16666666666666 + del x300 + x302 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) + x302 += einsum(x36, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + x302 += einsum(x36, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -0.5 + x302 += einsum(x36, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) * 0.5 + x303 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x303 += einsum(t2, (0, 1, 2, 3), x302, (0, 4, 1, 5, 6, 3), (4, 5, 6, 2)) * 5.99999999999988 + del x302 + x304 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x304 += einsum(t1, (0, 1), x102, (2, 0, 3, 4), (2, 3, 4, 1)) + del x102 + x305 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x305 += einsum(x37, (0, 1, 2, 3), (0, 1, 2, 3)) * -5.99999999999988 + x305 += einsum(x303, (0, 1, 2, 3), (0, 1, 2, 3)) + del x303 + x305 += einsum(x304, (0, 1, 2, 3), (0, 1, 2, 3)) + del x304 + x306 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x306 += einsum(t1, (0, 1), x305, (0, 2, 3, 4), (2, 3, 4, 1)) * 0.16666666666667 + del x305 + x307 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x307 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x307 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) * -1.0 + x307 += einsum(x294, (0, 1, 2, 3), (1, 0, 3, 2)) * 0.16666666666667 + del x294 + x307 += einsum(x295, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x295 + x307 += einsum(x301, (0, 1, 2, 3), (1, 0, 3, 2)) + del x301 + x307 += einsum(x306, (0, 1, 2, 3), (1, 0, 2, 3)) + del x306 + rdm2_f_oovv += einsum(x307, (0, 1, 2, 3), (0, 1, 3, 2)) + rdm2_f_oovv += einsum(x307, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + rdm2_f_oovv += einsum(x307, (0, 1, 2, 3), (0, 1, 3, 2)) + rdm2_f_oovv += einsum(x307, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x307 + x308 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x308 += einsum(t2, (0, 1, 2, 3), x251, (1, 4, 3, 5), (4, 0, 5, 2)) * -1.0 + rdm2_f_oovv += einsum(x308, (0, 1, 2, 3), (0, 1, 3, 2)) + rdm2_f_oovv += einsum(x308, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 + rdm2_f_oovv += einsum(x308, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + rdm2_f_oovv += einsum(x308, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.5 + rdm2_f_oovv += einsum(x308, (0, 1, 2, 3), (0, 1, 3, 2)) + rdm2_f_oovv += einsum(x308, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 + rdm2_f_oovv += einsum(x308, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + rdm2_f_oovv += einsum(x308, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.5 + del x308 + x309 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x309 += einsum(t2, (0, 1, 2, 3), x42, (1, 4, 0, 5, 6, 2), (4, 5, 6, 3)) + x310 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x310 += einsum(x309, (0, 1, 2, 3), x32, (0, 4, 5, 2), (4, 1, 5, 3)) + rdm2_f_oovv += einsum(x310, (0, 1, 2, 3), (1, 0, 2, 3)) + rdm2_f_oovv += einsum(x310, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 + rdm2_f_oovv += einsum(x310, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + rdm2_f_oovv += einsum(x310, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 + rdm2_f_oovv += einsum(x310, (0, 1, 2, 3), (1, 0, 2, 3)) + rdm2_f_oovv += einsum(x310, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 + rdm2_f_oovv += einsum(x310, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + rdm2_f_oovv += einsum(x310, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 + del x310 + x311 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x311 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) + x311 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 0, 2)) * 0.3333333333333333 + x312 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x312 += einsum(t1, (0, 1), x311, (2, 3, 4, 1, 5, 6), (0, 2, 3, 4, 5, 6)) * 3.0 + del x311 + x313 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) + x313 += einsum(t1, (0, 1), x312, (2, 3, 4, 5, 1, 6), (0, 4, 3, 5, 2, 6)) * 0.3333333333333333 + del x312 + x314 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x314 += einsum(t3, (0, 1, 2, 3, 4, 5), x313, (6, 0, 2, 1, 7, 4), (6, 7, 5, 3)) * 0.50000000000001 + del x313 + rdm2_f_oovv += einsum(x314, (0, 1, 2, 3), (1, 0, 2, 3)) + rdm2_f_oovv += einsum(x314, (0, 1, 2, 3), (1, 0, 2, 3)) + del x314 + x315 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x315 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + x315 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) + x316 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x316 += einsum(l1, (0, 1), x315, (2, 3, 1, 4, 5, 0), (2, 3, 4, 5)) + rdm2_f_oovv += einsum(x316, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + rdm2_f_oovv += einsum(x316, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x316 + x317 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x317 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + x317 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 + x318 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x318 += einsum(l3, (0, 1, 2, 3, 4, 5), x317, (4, 6, 7, 1, 2, 0), (3, 5, 6, 7)) + x319 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x319 += einsum(x318, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x318 + x319 += einsum(x104, (0, 1, 2, 3), (1, 0, 2, 3)) + del x104 + x320 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x320 += einsum(t1, (0, 1), x319, (0, 2, 3, 4), (2, 3, 4, 1)) + del x319 + x321 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x321 += einsum(t1, (0, 1), x320, (0, 2, 3, 4), (2, 3, 1, 4)) * 0.16666666666667 + del x320 + rdm2_f_oovv += einsum(x321, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + rdm2_f_oovv += einsum(x321, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x321 + x322 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x322 += einsum(t2, (0, 1, 2, 3), x42, (4, 0, 1, 5, 2, 6), (4, 5, 6, 3)) + x323 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x323 += einsum(t2, (0, 1, 2, 3), x322, (1, 4, 2, 5), (4, 0, 3, 5)) + del x322 + rdm2_f_oovv += einsum(x323, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + rdm2_f_oovv += einsum(x323, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x323 + x324 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x324 += einsum(l2, (0, 1, 2, 3), t2, (4, 3, 1, 5), (2, 4, 0, 5)) + x325 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x325 += einsum(t2, (0, 1, 2, 3), x324, (1, 4, 2, 5), (4, 0, 5, 3)) + del x324 + rdm2_f_oovv += einsum(x325, (0, 1, 2, 3), (0, 1, 2, 3)) + rdm2_f_oovv += einsum(x325, (0, 1, 2, 3), (0, 1, 2, 3)) + del x325 + x326 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x326 += einsum(t1, (0, 1), x24, (0, 2, 3, 4), (2, 4, 3, 1)) + del x24 + x327 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x327 += einsum(t1, (0, 1), x326, (0, 2, 3, 4), (2, 3, 1, 4)) + del x326 + rdm2_f_oovv += einsum(x327, (0, 1, 2, 3), (0, 1, 2, 3)) + rdm2_f_oovv += einsum(x327, (0, 1, 2, 3), (0, 1, 2, 3)) + del x327 + x328 = np.zeros((nocc, nvir), dtype=types[float]) + x328 += einsum(t1, (0, 1), x1, (0, 2), (2, 1)) + del x1 + rdm2_f_oovv += einsum(t1, (0, 1), x328, (2, 3), (0, 2, 1, 3)) * -1.0 + rdm2_f_oovv += einsum(t1, (0, 1), x328, (2, 3), (0, 2, 1, 3)) * -1.0 + x329 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x329 += einsum(t2, (0, 1, 2, 3), x28, (0, 1, 4, 5), (4, 5, 2, 3)) + x330 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x330 += einsum(x258, (0, 1, 2, 3), t3, (4, 5, 0, 2, 6, 1), (4, 5, 3, 6)) + x331 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x331 += einsum(t2, (0, 1, 2, 3), l3, (4, 2, 3, 1, 5, 6), (6, 5, 0, 4)) + x332 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x332 += einsum(t1, (0, 1), x331, (2, 3, 4, 1), (2, 3, 0, 4)) + x333 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x333 += einsum(t2, (0, 1, 2, 3), x332, (1, 0, 4, 5), (4, 5, 3, 2)) + del x332 + x334 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x334 += einsum(x270, (0, 1, 2, 3), t3, (4, 5, 0, 1, 6, 2), (4, 5, 3, 6)) * 0.25 + x335 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) + x335 += einsum(x174, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x174 + x335 += einsum(x36, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 1.0000000000000602 + del x36 + x336 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x336 += einsum(t3, (0, 1, 2, 3, 4, 5), x335, (0, 2, 1, 6, 7, 3), (6, 7, 5, 4)) * 0.49999999999997996 + del x335 + x337 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x337 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) + x337 += einsum(x23, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + x337 += einsum(x168, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x168 + x337 += einsum(x123, (0, 1, 2, 3), (1, 0, 2, 3)) + del x123 + x338 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x338 += einsum(x337, (0, 1, 2, 3), t3, (0, 4, 1, 3, 5, 6), (2, 4, 6, 5)) * 0.5 + del x337 + x339 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x339 += einsum(x7, (0, 1, 2, 3), t3, (0, 4, 1, 5, 6, 3), (4, 2, 5, 6)) * -0.25 + del x7 + x340 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x340 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 3, 5, 7, 0, 2), (4, 6, 1, 7)) + x341 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x341 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + x341 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -0.25 + x341 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 0.25 + x342 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x342 += einsum(l3, (0, 1, 2, 3, 4, 5), x341, (4, 6, 5, 1, 7, 2), (6, 3, 7, 0)) + del x341 + rdm2_f_ovvo += einsum(x342, (0, 1, 2, 3), (0, 3, 2, 1)) + rdm2_f_ovvo += einsum(x342, (0, 1, 2, 3), (0, 3, 2, 1)) + x343 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x343 += einsum(l3, (0, 1, 2, 3, 4, 5), x188, (3, 6, 5, 0, 2, 7), (4, 6, 1, 7)) * 0.25 + del x188 + x344 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x344 += einsum(x183, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.25 + x344 += einsum(x340, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.25 + del x340 + x344 += einsum(x342, (0, 1, 2, 3), (1, 0, 3, 2)) + del x342 + x344 += einsum(x343, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x343 + x345 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x345 += einsum(t2, (0, 1, 2, 3), x344, (1, 4, 2, 5), (4, 0, 5, 3)) + del x344 + x346 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x346 += einsum(t2, (0, 1, 2, 3), x143, (0, 1, 4, 5, 6, 2), (4, 5, 3, 6)) + x347 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x347 += einsum(t2, (0, 1, 2, 3), x346, (1, 4, 5, 2), (4, 0, 5, 3)) * -0.5 + del x346 + x348 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x348 += einsum(t2, (0, 1, 2, 3), x23, (4, 1, 5, 3), (4, 5, 0, 2)) + x349 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x349 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 4.0 + x349 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -1.0 + x349 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + x350 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x350 += einsum(x349, (0, 1, 2, 3, 4, 5), x42, (2, 6, 0, 7, 5, 3), (1, 6, 7, 4)) * 0.5 + x351 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x351 += einsum(x35, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 + x351 += einsum(x35, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) + x352 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x352 += einsum(t3, (0, 1, 2, 3, 4, 5), x351, (1, 2, 6, 7, 4, 5), (6, 7, 0, 3)) * 0.5 + del x351 + x353 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x353 += einsum(l2, (0, 1, 2, 3), x145, (2, 4, 5, 0, 1, 6), (3, 4, 5, 6)) + del x145 + x354 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x354 += einsum(t2, (0, 1, 2, 3), x133, (1, 4, 5, 6, 3, 2), (0, 4, 5, 6)) * 2.0 + del x133 + x355 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x355 += einsum(x132, (0, 1, 2, 3), (1, 0, 2, 3)) + del x132 + x355 += einsum(x354, (0, 1, 2, 3), (1, 2, 0, 3)) + del x354 + x356 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x356 += einsum(t2, (0, 1, 2, 3), x355, (4, 1, 5, 2), (4, 5, 0, 3)) + del x355 + x357 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x357 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + x357 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x358 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x358 += einsum(x23, (0, 1, 2, 3), x357, (0, 4, 3, 5), (4, 1, 2, 5)) * 2.0 + x359 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x359 += einsum(x28, (0, 1, 2, 3), (0, 1, 2, 3)) + del x28 + x359 += einsum(x30, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.99999999999996 + del x30 + x360 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x360 += einsum(t1, (0, 1), x359, (2, 0, 3, 4), (2, 3, 4, 1)) * 1.00000000000002 + del x359 + x361 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x361 += einsum(x348, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + del x348 + x361 += einsum(x140, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 + del x140 + x361 += einsum(x113, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 + del x113 + x361 += einsum(x111, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 + del x111 + x361 += einsum(x37, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + del x37 + x361 += einsum(x350, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 + del x350 + x361 += einsum(x352, (0, 1, 2, 3), (0, 1, 2, 3)) + del x352 + x361 += einsum(x353, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x353 + x361 += einsum(x356, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + del x356 + x361 += einsum(x358, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 + del x358 + x361 += einsum(x360, (0, 1, 2, 3), (0, 1, 2, 3)) + del x360 + x362 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x362 += einsum(t1, (0, 1), x361, (0, 2, 3, 4), (2, 3, 4, 1)) * 0.5 + del x361 + x363 = np.zeros((nocc, nvir), dtype=types[float]) + x363 += einsum(t1, (0, 1), x21, (0, 2), (2, 1)) + del x21 + x364 = np.zeros((nocc, nvir), dtype=types[float]) + x364 += einsum(x76, (0, 1), (0, 1)) * 0.124999999999995 + del x76 + x364 += einsum(x228, (0, 1), (0, 1)) + del x228 + x364 += einsum(x229, (0, 1), (0, 1)) * -1.0 + del x229 + x364 += einsum(x230, (0, 1), (0, 1)) * -1.0 + del x230 + x364 += einsum(x231, (0, 1), (0, 1)) + del x231 + x364 += einsum(x232, (0, 1), (0, 1)) + del x232 + x364 += einsum(x233, (0, 1), (0, 1)) + del x233 + x364 += einsum(x234, (0, 1), (0, 1)) * -1.0 + del x234 + x364 += einsum(x363, (0, 1), (0, 1)) + del x363 + x365 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x365 += einsum(x254, (0, 1, 2, 3), (0, 1, 2, 3)) + del x254 + x365 += einsum(x329, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.49999999999997996 + del x329 + x365 += einsum(x330, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 + del x330 + x365 += einsum(x333, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x333 + x365 += einsum(x334, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x334 + x365 += einsum(x336, (0, 1, 2, 3), (0, 1, 2, 3)) + del x336 + x365 += einsum(x338, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x338 + x365 += einsum(x195, (0, 1, 2, 3), (0, 1, 2, 3)) + del x195 + x365 += einsum(x339, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x339 + x365 += einsum(x345, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x345 + x365 += einsum(x209, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x209 + x365 += einsum(x347, (0, 1, 2, 3), (0, 1, 3, 2)) + del x347 + x365 += einsum(x362, (0, 1, 2, 3), (0, 1, 3, 2)) + del x362 + x365 += einsum(x221, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x221 + x365 += einsum(t1, (0, 1), x364, (2, 3), (0, 2, 1, 3)) * -2.0 + del x364 + rdm2_f_oovv += einsum(x365, (0, 1, 2, 3), (0, 1, 2, 3)) + rdm2_f_oovv += einsum(x365, (0, 1, 2, 3), (1, 0, 3, 2)) + rdm2_f_oovv += einsum(x365, (0, 1, 2, 3), (0, 1, 2, 3)) + rdm2_f_oovv += einsum(x365, (0, 1, 2, 3), (1, 0, 3, 2)) + del x365 + x366 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x366 += einsum(x29, (0, 1, 2, 3), t3, (4, 1, 0, 5, 6, 3), (2, 4, 5, 6)) + x367 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x367 += einsum(x263, (0, 1, 2, 3), t3, (4, 5, 0, 6, 2, 1), (4, 5, 3, 6)) + x368 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x368 += einsum(x128, (0, 1, 2, 3), t3, (4, 5, 0, 6, 2, 3), (4, 5, 6, 1)) * -0.5 + x369 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x369 += einsum(x23, (0, 1, 2, 3), (1, 0, 2, 3)) + x369 += einsum(x124, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x124 + x370 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x370 += einsum(x369, (0, 1, 2, 3), t3, (4, 0, 1, 5, 6, 3), (2, 4, 5, 6)) + del x369 + x371 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x371 += einsum(t2, (0, 1, 2, 3), x250, (0, 1, 4, 5, 3, 6), (4, 5, 6, 2)) * 0.5 + x372 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x372 += einsum(x176, (0, 1, 2, 3), (0, 1, 2, 3)) + x372 += einsum(x371, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x371 + x373 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x373 += einsum(t2, (0, 1, 2, 3), x372, (1, 4, 2, 5), (4, 0, 5, 3)) + del x372 + x374 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x374 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (5, 6, 3, 2, 1, 7), (4, 6, 0, 7)) + rdm2_f_ovov += einsum(x374, (0, 1, 2, 3), (1, 2, 0, 3)) * -0.5 + rdm2_f_ovov += einsum(x374, (0, 1, 2, 3), (1, 2, 0, 3)) * -0.5 + rdm2_f_vovo += einsum(x374, (0, 1, 2, 3), (2, 1, 3, 0)) * -0.5 + rdm2_f_vovo += einsum(x374, (0, 1, 2, 3), (2, 1, 3, 0)) * -0.5 + x375 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x375 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 4, 5, 0, 7, 2), (3, 6, 1, 7)) + rdm2_f_ovov += einsum(x375, (0, 1, 2, 3), (1, 2, 0, 3)) * -0.5 + rdm2_f_ovov += einsum(x375, (0, 1, 2, 3), (1, 2, 0, 3)) * -0.5 + rdm2_f_vovo += einsum(x375, (0, 1, 2, 3), (2, 1, 3, 0)) * -0.5 + rdm2_f_vovo += einsum(x375, (0, 1, 2, 3), (2, 1, 3, 0)) * -0.5 + x376 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x376 += einsum(x374, (0, 1, 2, 3), (0, 1, 2, 3)) + x376 += einsum(x375, (0, 1, 2, 3), (0, 1, 2, 3)) + x377 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x377 += einsum(t2, (0, 1, 2, 3), x376, (1, 4, 2, 5), (4, 0, 5, 3)) * 0.5 + del x376 + x378 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x378 += einsum(x9, (0, 1, 2, 3), l3, (4, 2, 3, 5, 0, 6), (6, 5, 1, 4)) * 3.0 + del x9 + x379 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x379 += einsum(x29, (0, 1, 2, 3), (0, 1, 2, 3)) + x379 += einsum(x29, (0, 1, 2, 3), (1, 0, 2, 3)) * -3.0 + x379 += einsum(x53, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x379 += einsum(x53, (0, 1, 2, 3), (1, 0, 2, 3)) + del x53 + x379 += einsum(x378, (0, 1, 2, 3), (1, 0, 2, 3)) + x379 += einsum(x59, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x380 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x380 += einsum(t1, (0, 1), x379, (0, 2, 3, 4), (2, 3, 4, 1)) + del x379 + x381 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x381 += einsum(t2, (0, 1, 2, 3), x380, (1, 4, 3, 5), (4, 0, 5, 2)) * 0.5 + del x380 + x382 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x382 += einsum(t2, (0, 1, 2, 3), x23, (4, 1, 5, 2), (4, 5, 0, 3)) + x383 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x383 += einsum(t2, (0, 1, 2, 3), x120, (0, 1, 4, 5, 6, 2), (4, 5, 6, 3)) * 0.5 + del x120 + x384 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x384 += einsum(x29, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + del x29 + x384 += einsum(x59, (0, 1, 2, 3), (1, 0, 2, 3)) + del x59 + x385 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x385 += einsum(t2, (0, 1, 2, 3), x384, (1, 4, 5, 2), (4, 5, 0, 3)) * 0.5 + del x384 + x386 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x386 += einsum(t1, (0, 1), x33, (2, 3, 4, 1), (0, 2, 3, 4)) * -1.0 + x387 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x387 += einsum(t1, (0, 1), x386, (2, 3, 0, 4), (3, 2, 4, 1)) * 0.5 + x388 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x388 += einsum(x38, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x38 + x388 += einsum(x108, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x108 + x388 += einsum(x382, (0, 1, 2, 3), (0, 1, 2, 3)) + del x382 + x388 += einsum(x110, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 + del x110 + x388 += einsum(x109, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 + del x109 + x388 += einsum(x383, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x383 + x388 += einsum(x149, (0, 1, 2, 3), (2, 1, 0, 3)) + del x149 + x388 += einsum(x385, (0, 1, 2, 3), (0, 2, 1, 3)) + del x385 + x388 += einsum(x387, (0, 1, 2, 3), (0, 1, 2, 3)) + del x387 + x389 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x389 += einsum(t1, (0, 1), x388, (0, 2, 3, 4), (2, 3, 4, 1)) + del x388 + x390 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x390 += einsum(t2, (0, 1, 2, 3), x386, (4, 0, 1, 5), (4, 5, 3, 2)) * 0.5 + del x386 + x391 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x391 += einsum(x173, (0, 1, 2, 3), (0, 1, 2, 3)) + del x173 + x391 += einsum(x366, (0, 1, 2, 3), (0, 1, 2, 3)) + del x366 + x391 += einsum(x367, (0, 1, 2, 3), (0, 1, 2, 3)) + del x367 + x391 += einsum(x177, (0, 1, 2, 3), (0, 1, 2, 3)) + del x177 + x391 += einsum(x368, (0, 1, 2, 3), (0, 1, 3, 2)) + del x368 + x391 += einsum(x370, (0, 1, 2, 3), (0, 1, 2, 3)) + del x370 + x391 += einsum(x373, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x373 + x391 += einsum(x377, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x377 + x391 += einsum(x381, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x381 + x391 += einsum(x389, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x389 + x391 += einsum(x390, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x390 + rdm2_f_oovv += einsum(x391, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + rdm2_f_oovv += einsum(x391, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + rdm2_f_oovv += einsum(x391, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + rdm2_f_oovv += einsum(x391, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x391 + x392 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x392 += einsum(t2, (0, 1, 2, 3), x251, (1, 4, 3, 5), (4, 0, 5, 2)) * -0.5 + del x251 + rdm2_f_oovv += einsum(x392, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + rdm2_f_oovv += einsum(x392, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 + rdm2_f_oovv += einsum(x392, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + rdm2_f_oovv += einsum(x392, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 + del x392 + x393 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x393 += einsum(t2, (0, 1, 2, 3), x309, (1, 4, 3, 5), (4, 0, 2, 5)) + del x309 + rdm2_f_oovv += einsum(x393, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 + rdm2_f_oovv += einsum(x393, (0, 1, 2, 3), (1, 0, 2, 3)) + rdm2_f_oovv += einsum(x393, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 + rdm2_f_oovv += einsum(x393, (0, 1, 2, 3), (1, 0, 2, 3)) + del x393 + x394 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x394 += einsum(t2, (0, 1, 2, 3), x287, (0, 1, 4, 5, 6, 3), (4, 5, 6, 2)) * 0.25 + del x287 + x395 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x395 += einsum(t2, (0, 1, 2, 3), x192, (1, 4, 3, 5), (0, 4, 2, 5)) + del x192 + x396 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x396 += einsum(x394, (0, 1, 2, 3), (0, 1, 2, 3)) + del x394 + x396 += einsum(x395, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x395 + x397 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x397 += einsum(t2, (0, 1, 2, 3), x396, (1, 4, 3, 5), (4, 0, 5, 2)) * 2.0 + del x396 + rdm2_f_oovv += einsum(x397, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + rdm2_f_oovv += einsum(x397, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x397 + x398 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x398 += einsum(t2, (0, 1, 2, 3), x248, (1, 4, 3, 5), (4, 0, 5, 2)) * -1.0 + del x248 + rdm2_f_oovv += einsum(x398, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + rdm2_f_oovv += einsum(x398, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x398 + x399 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x399 += einsum(l2, (0, 1, 2, 3), t2, (4, 2, 1, 5), (3, 4, 0, 5)) + rdm2_f_ovov += einsum(x399, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 + rdm2_f_ovov += einsum(x399, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 + rdm2_f_vovo += einsum(x399, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 + rdm2_f_vovo += einsum(x399, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 + x400 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x400 += einsum(t2, (0, 1, 2, 3), x42, (0, 4, 1, 5, 2, 6), (4, 5, 6, 3)) + rdm2_f_ovov += einsum(x400, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 + rdm2_f_ovov += einsum(x400, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 + rdm2_f_vovo += einsum(x400, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 + rdm2_f_vovo += einsum(x400, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 + x401 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x401 += einsum(x399, (0, 1, 2, 3), (0, 1, 2, 3)) + x401 += einsum(x400, (0, 1, 2, 3), (0, 1, 2, 3)) + x402 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x402 += einsum(t2, (0, 1, 2, 3), x401, (1, 4, 2, 5), (4, 0, 5, 3)) + del x401 + rdm2_f_oovv += einsum(x402, (0, 1, 2, 3), (1, 0, 2, 3)) + rdm2_f_oovv += einsum(x402, (0, 1, 2, 3), (1, 0, 2, 3)) + del x402 + x403 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x403 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) + x403 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) + x404 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x404 += einsum(x22, (0, 1, 2, 3), x403, (0, 1, 4, 5), (2, 3, 4, 5)) + del x22, x403 + rdm2_f_oovv += einsum(x404, (0, 1, 2, 3), (1, 0, 3, 2)) + rdm2_f_oovv += einsum(x404, (0, 1, 2, 3), (1, 0, 3, 2)) + del x404 + x405 = np.zeros((nocc, nvir), dtype=types[float]) + x405 += einsum(t1, (0, 1), (0, 1)) + x405 += einsum(x328, (0, 1), (0, 1)) * -1.0 + del x328 + rdm2_f_oovv += einsum(t1, (0, 1), x405, (2, 3), (2, 0, 3, 1)) + rdm2_f_oovv += einsum(t1, (0, 1), x405, (2, 3), (2, 0, 3, 1)) + del x405 + x406 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x406 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 5, 4, 1, 7, 2), (3, 6, 0, 7)) + rdm2_f_ovov += einsum(x406, (0, 1, 2, 3), (1, 2, 0, 3)) * -0.25 + rdm2_f_ovov += einsum(x406, (0, 1, 2, 3), (1, 2, 0, 3)) * -0.25 + rdm2_f_voov += einsum(x406, (0, 1, 2, 3), (2, 1, 0, 3)) * 0.25 + rdm2_f_voov += einsum(x406, (0, 1, 2, 3), (2, 1, 0, 3)) * 0.25 + del x406 + x407 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x407 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 0.2 + x407 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -0.2 + x407 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -0.2 + x407 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) + x408 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x408 += einsum(l3, (0, 1, 2, 3, 4, 5), x407, (4, 6, 5, 1, 7, 2), (6, 3, 7, 0)) * 1.25 + del x407 + rdm2_f_ovov += einsum(x408, (0, 1, 2, 3), (0, 3, 1, 2)) * -1.0 + rdm2_f_ovov += einsum(x408, (0, 1, 2, 3), (0, 3, 1, 2)) * -1.0 + del x408 + x409 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x409 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * -1.0 + x409 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 2, 1)) + x410 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x410 += einsum(t3, (0, 1, 2, 3, 4, 5), x409, (2, 1, 6, 5, 7, 3), (6, 0, 7, 4)) * 0.25 + del x409 + rdm2_f_ovov += einsum(x410, (0, 1, 2, 3), (1, 2, 0, 3)) + rdm2_f_ovov += einsum(x410, (0, 1, 2, 3), (1, 2, 0, 3)) + del x410 + x411 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x411 += einsum(l3, (0, 1, 2, 3, 4, 5), x317, (5, 6, 3, 1, 7, 2), (4, 6, 0, 7)) * 0.25 + rdm2_f_ovov += einsum(x411, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 + rdm2_f_ovov += einsum(x411, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 + rdm2_f_ovvo += einsum(x411, (0, 1, 2, 3), (1, 2, 3, 0)) + rdm2_f_ovvo += einsum(x411, (0, 1, 2, 3), (1, 2, 3, 0)) + del x411 + x412 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x412 += einsum(t2, (0, 1, 2, 3), x250, (0, 1, 4, 5, 6, 2), (4, 5, 6, 3)) * 0.5 + rdm2_f_ovov += einsum(x412, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 + rdm2_f_ovov += einsum(x412, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 + rdm2_f_vovo += einsum(x412, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 + rdm2_f_vovo += einsum(x412, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 + del x412 + x413 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x413 += einsum(x42, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 2.0 + x413 += einsum(x42, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 + x414 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x414 += einsum(t2, (0, 1, 2, 3), x413, (4, 0, 1, 5, 6, 3), (4, 5, 6, 2)) + del x413 + rdm2_f_ovov += einsum(x414, (0, 1, 2, 3), (1, 2, 0, 3)) + rdm2_f_ovov += einsum(x414, (0, 1, 2, 3), (1, 2, 0, 3)) + rdm2_f_ovvo += einsum(x414, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 + rdm2_f_ovvo += einsum(x414, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 + del x414 + x415 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x415 += einsum(l2, (0, 1, 2, 3), x32, (2, 4, 5, 1), (3, 4, 0, 5)) + rdm2_f_ovov += einsum(x415, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 + rdm2_f_ovov += einsum(x415, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 + del x415 + x416 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x416 += einsum(l2, (0, 1, 2, 3), x19, (3, 4, 5, 1), (2, 4, 0, 5)) * 2.0 + del x19 + rdm2_f_ovov += einsum(x416, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 + rdm2_f_ovov += einsum(x416, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 + rdm2_f_voov += einsum(x416, (0, 1, 2, 3), (2, 1, 0, 3)) + rdm2_f_voov += einsum(x416, (0, 1, 2, 3), (2, 1, 0, 3)) + del x416 + x417 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x417 += einsum(x32, (0, 1, 2, 3), l3, (4, 2, 3, 5, 6, 0), (5, 6, 1, 4)) + x418 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x418 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x418 += einsum(x417, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x417 + x419 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x419 += einsum(x418, (0, 1, 2, 3), (0, 1, 2, 3)) + x419 += einsum(x418, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + x419 += einsum(x378, (0, 1, 2, 3), (1, 0, 2, 3)) + x420 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x420 += einsum(t1, (0, 1), x419, (2, 0, 3, 4), (2, 3, 4, 1)) * 0.5 + del x419 + rdm2_f_ovov += einsum(x420, (0, 1, 2, 3), (1, 2, 0, 3)) + rdm2_f_ovov += einsum(x420, (0, 1, 2, 3), (1, 2, 0, 3)) + rdm2_f_ovvo += einsum(x420, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 + rdm2_f_ovvo += einsum(x420, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 + rdm2_f_voov += einsum(x420, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 + rdm2_f_voov += einsum(x420, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 + rdm2_f_vovo += einsum(x420, (0, 1, 2, 3), (2, 1, 3, 0)) + rdm2_f_vovo += einsum(x420, (0, 1, 2, 3), (2, 1, 3, 0)) + del x420 + x421 = np.zeros((nvir, nvir), dtype=types[float]) + x421 += einsum(l1, (0, 1), t1, (1, 2), (0, 2)) + x422 = np.zeros((nvir, nvir), dtype=types[float]) + x422 += einsum(x421, (0, 1), (0, 1)) + x422 += einsum(x203, (0, 1), (0, 1)) * 0.24999999999999 + x422 += einsum(x205, (0, 1), (0, 1)) + del x205 + x422 += einsum(x206, (0, 1), (0, 1)) * -1.0 + del x206 + x422 += einsum(x207, (0, 1), (1, 0)) + del x207 + rdm2_f_ovov += einsum(delta.oo, (0, 1), x422, (2, 3), (0, 2, 1, 3)) + rdm2_f_ovov += einsum(delta.oo, (0, 1), x422, (2, 3), (0, 2, 1, 3)) + rdm2_f_ovov += einsum(delta.oo, (0, 1), x422, (2, 3), (0, 2, 1, 3)) + rdm2_f_ovov += einsum(delta.oo, (0, 1), x422, (2, 3), (0, 2, 1, 3)) + rdm2_f_ovvo += einsum(delta.oo, (0, 1), x422, (2, 3), (0, 2, 3, 1)) * -1.0 + rdm2_f_ovvo += einsum(delta.oo, (0, 1), x422, (2, 3), (0, 2, 3, 1)) * -1.0 + rdm2_f_voov += einsum(delta.oo, (0, 1), x422, (2, 3), (2, 0, 1, 3)) * -1.0 + rdm2_f_voov += einsum(delta.oo, (0, 1), x422, (2, 3), (2, 0, 1, 3)) * -1.0 + rdm2_f_vovo += einsum(delta.oo, (0, 1), x422, (2, 3), (2, 0, 3, 1)) + rdm2_f_vovo += einsum(delta.oo, (0, 1), x422, (2, 3), (2, 0, 3, 1)) + rdm2_f_vovo += einsum(delta.oo, (0, 1), x422, (2, 3), (2, 0, 3, 1)) + rdm2_f_vovo += einsum(delta.oo, (0, 1), x422, (2, 3), (2, 0, 3, 1)) + x423 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x423 += einsum(t2, (0, 1, 2, 3), x143, (0, 1, 4, 5, 2, 6), (4, 5, 3, 6)) * 0.5 + rdm2_f_ovov += einsum(x423, (0, 1, 2, 3), (1, 3, 0, 2)) * -1.0 + rdm2_f_ovov += einsum(x423, (0, 1, 2, 3), (1, 3, 0, 2)) * -1.0 + rdm2_f_vovo += einsum(x423, (0, 1, 2, 3), (3, 1, 2, 0)) * -1.0 + rdm2_f_vovo += einsum(x423, (0, 1, 2, 3), (3, 1, 2, 0)) * -1.0 + del x423 + x424 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x424 += einsum(t1, (0, 1), x151, (0, 2, 3, 4), (2, 3, 1, 4)) + rdm2_f_ovov += einsum(x424, (0, 1, 2, 3), (1, 3, 0, 2)) * -1.0 + rdm2_f_ovov += einsum(x424, (0, 1, 2, 3), (1, 3, 0, 2)) * -1.0 + del x424 + x425 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x425 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 3, 5, 1, 7, 2), (4, 6, 0, 7)) + rdm2_f_ovvo += einsum(x425, (0, 1, 2, 3), (1, 2, 3, 0)) * 0.25 + rdm2_f_ovvo += einsum(x425, (0, 1, 2, 3), (1, 2, 3, 0)) * 0.25 + rdm2_f_vovo += einsum(x425, (0, 1, 2, 3), (2, 1, 3, 0)) * -0.25 + rdm2_f_vovo += einsum(x425, (0, 1, 2, 3), (2, 1, 3, 0)) * -0.25 + del x425 + x426 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x426 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + x426 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 + x426 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 + x426 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 5.0 + x427 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x427 += einsum(l3, (0, 1, 2, 3, 4, 5), x426, (4, 6, 5, 1, 7, 2), (6, 3, 7, 0)) * 0.25 + del x426 + rdm2_f_ovvo += einsum(x427, (0, 1, 2, 3), (0, 3, 2, 1)) + rdm2_f_ovvo += einsum(x427, (0, 1, 2, 3), (0, 3, 2, 1)) + rdm2_f_voov += einsum(x427, (0, 1, 2, 3), (3, 0, 1, 2)) + rdm2_f_voov += einsum(x427, (0, 1, 2, 3), (3, 0, 1, 2)) + del x427 + x428 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x428 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + x428 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 + x429 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x429 += einsum(l3, (0, 1, 2, 3, 4, 5), x428, (5, 6, 4, 2, 1, 7), (6, 3, 7, 0)) * 0.25 + del x428 + rdm2_f_ovvo += einsum(x429, (0, 1, 2, 3), (0, 3, 2, 1)) * -1.0 + rdm2_f_ovvo += einsum(x429, (0, 1, 2, 3), (0, 3, 2, 1)) * -1.0 + del x429 + x430 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x430 += einsum(x42, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 + x430 += einsum(x42, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) + x431 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x431 += einsum(t2, (0, 1, 2, 3), x430, (0, 1, 4, 5, 6, 2), (4, 5, 6, 3)) * 0.5 + del x430 + rdm2_f_ovvo += einsum(x431, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 + rdm2_f_ovvo += einsum(x431, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 + rdm2_f_voov += einsum(x431, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 + rdm2_f_voov += einsum(x431, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 + del x431 + x432 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x432 += einsum(t2, (0, 1, 2, 3), x274, (1, 4, 5, 2), (4, 0, 5, 3)) + rdm2_f_ovvo += einsum(x432, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 + rdm2_f_ovvo += einsum(x432, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 + rdm2_f_vovo += einsum(x432, (0, 1, 2, 3), (2, 1, 3, 0)) + rdm2_f_vovo += einsum(x432, (0, 1, 2, 3), (2, 1, 3, 0)) + del x432 + x433 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x433 += einsum(l2, (0, 1, 2, 3), (3, 2, 0, 1)) * 2.0 + x433 += einsum(l2, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 + x434 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x434 += einsum(t2, (0, 1, 2, 3), x433, (1, 4, 5, 3), (4, 0, 5, 2)) + del x433 + rdm2_f_ovvo += einsum(x434, (0, 1, 2, 3), (1, 2, 3, 0)) + rdm2_f_ovvo += einsum(x434, (0, 1, 2, 3), (1, 2, 3, 0)) + rdm2_f_vovo += einsum(x434, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 + rdm2_f_vovo += einsum(x434, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 + del x434 + x435 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x435 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 3, 5, 0, 7, 2), (4, 6, 1, 7)) + rdm2_f_ovvo += einsum(x435, (0, 1, 2, 3), (1, 2, 3, 0)) * -0.25 + rdm2_f_ovvo += einsum(x435, (0, 1, 2, 3), (1, 2, 3, 0)) * -0.25 + rdm2_f_voov += einsum(x435, (0, 1, 2, 3), (2, 1, 0, 3)) * -0.25 + rdm2_f_voov += einsum(x435, (0, 1, 2, 3), (2, 1, 0, 3)) * -0.25 + x436 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x436 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (3, 6, 5, 1, 7, 2), (4, 6, 0, 7)) + rdm2_f_ovvo += einsum(x436, (0, 1, 2, 3), (1, 2, 3, 0)) * -0.25 + rdm2_f_ovvo += einsum(x436, (0, 1, 2, 3), (1, 2, 3, 0)) * -0.25 + rdm2_f_voov += einsum(x436, (0, 1, 2, 3), (2, 1, 0, 3)) * -0.25 + rdm2_f_voov += einsum(x436, (0, 1, 2, 3), (2, 1, 0, 3)) * -0.25 + del x436 + x437 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x437 += einsum(l2, (0, 1, 2, 3), t2, (4, 2, 5, 1), (3, 4, 0, 5)) + rdm2_f_ovvo += einsum(x437, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 + rdm2_f_ovvo += einsum(x437, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 + rdm2_f_voov += einsum(x437, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 + rdm2_f_voov += einsum(x437, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 + x438 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x438 += einsum(t3, (0, 1, 2, 3, 4, 5), x127, (1, 2, 6, 5, 4, 7), (0, 6, 3, 7)) * 0.25 + rdm2_f_ovvo += einsum(x438, (0, 1, 2, 3), (0, 3, 2, 1)) * -1.0 + rdm2_f_ovvo += einsum(x438, (0, 1, 2, 3), (0, 3, 2, 1)) * -1.0 + rdm2_f_voov += einsum(x438, (0, 1, 2, 3), (3, 0, 1, 2)) * -1.0 + rdm2_f_voov += einsum(x438, (0, 1, 2, 3), (3, 0, 1, 2)) * -1.0 + del x438 + x439 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x439 += einsum(t2, (0, 1, 2, 3), x250, (0, 1, 4, 5, 2, 6), (4, 5, 6, 3)) * 0.5 + rdm2_f_ovvo += einsum(x439, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 + rdm2_f_ovvo += einsum(x439, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 + rdm2_f_voov += einsum(x439, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 + rdm2_f_voov += einsum(x439, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 + del x439 + x440 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x440 += einsum(l2, (0, 1, 2, 3), x92, (3, 4, 5, 1), (2, 4, 0, 5)) + del x92 + rdm2_f_ovvo += einsum(x440, (0, 1, 2, 3), (1, 2, 3, 0)) + rdm2_f_ovvo += einsum(x440, (0, 1, 2, 3), (1, 2, 3, 0)) + rdm2_f_voov += einsum(x440, (0, 1, 2, 3), (2, 1, 0, 3)) + rdm2_f_voov += einsum(x440, (0, 1, 2, 3), (2, 1, 0, 3)) + del x440 + x441 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x441 += einsum(t1, (0, 1), x130, (2, 0, 3, 4), (2, 3, 1, 4)) * 0.5 + rdm2_f_ovvo += einsum(x441, (0, 1, 2, 3), (1, 3, 2, 0)) * -1.0 + rdm2_f_ovvo += einsum(x441, (0, 1, 2, 3), (1, 3, 2, 0)) * -1.0 + del x441 + x442 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x442 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) + x442 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 2, 1)) * -1.0 + x443 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x443 += einsum(t3, (0, 1, 2, 3, 4, 5), x442, (2, 1, 6, 5, 7, 3), (6, 0, 7, 4)) * 0.25 + del x442 + rdm2_f_voov += einsum(x443, (0, 1, 2, 3), (2, 1, 0, 3)) + rdm2_f_voov += einsum(x443, (0, 1, 2, 3), (2, 1, 0, 3)) + del x443 + x444 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x444 += einsum(l3, (0, 1, 2, 3, 4, 5), x317, (5, 6, 3, 2, 7, 1), (4, 6, 0, 7)) * 0.25 + del x317 + rdm2_f_voov += einsum(x444, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 + rdm2_f_voov += einsum(x444, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 + del x444 + x445 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x445 += einsum(x42, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -0.5 + x445 += einsum(x42, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) + x446 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x446 += einsum(t2, (0, 1, 2, 3), x445, (4, 0, 1, 5, 6, 2), (4, 5, 6, 3)) * 2.0 + del x445 + rdm2_f_voov += einsum(x446, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 + rdm2_f_voov += einsum(x446, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 + rdm2_f_vovo += einsum(x446, (0, 1, 2, 3), (2, 1, 3, 0)) + rdm2_f_vovo += einsum(x446, (0, 1, 2, 3), (2, 1, 3, 0)) + del x446 + x447 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x447 += einsum(l2, (0, 1, 2, 3), x6, (2, 4, 5, 1), (3, 4, 0, 5)) + rdm2_f_voov += einsum(x447, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 + rdm2_f_voov += einsum(x447, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 + del x447 + x448 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x448 += einsum(l3, (0, 1, 2, 3, 4, 5), x349, (4, 6, 5, 1, 7, 2), (6, 3, 7, 0)) * 0.25 + rdm2_f_voov += einsum(x448, (0, 1, 2, 3), (3, 0, 1, 2)) + rdm2_f_voov += einsum(x448, (0, 1, 2, 3), (3, 0, 1, 2)) + del x448 + x449 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x449 += einsum(t1, (0, 1), x151, (2, 0, 3, 4), (2, 3, 1, 4)) + del x151 + rdm2_f_voov += einsum(x449, (0, 1, 2, 3), (3, 1, 0, 2)) * -1.0 + rdm2_f_voov += einsum(x449, (0, 1, 2, 3), (3, 1, 0, 2)) * -1.0 + del x449 + x450 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x450 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * 5.0 + x450 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 2, 1)) * -1.0 + x451 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x451 += einsum(t3, (0, 1, 2, 3, 4, 5), x450, (2, 6, 1, 5, 7, 4), (6, 0, 7, 3)) * 0.25 + del x450 + rdm2_f_vovo += einsum(x451, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 + rdm2_f_vovo += einsum(x451, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 + del x451 + x452 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x452 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + x452 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) + x452 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) + x453 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x453 += einsum(l3, (0, 1, 2, 3, 4, 5), x452, (4, 6, 5, 1, 7, 2), (6, 3, 7, 0)) * 0.25 + del x452 + rdm2_f_vovo += einsum(x453, (0, 1, 2, 3), (3, 0, 2, 1)) + rdm2_f_vovo += einsum(x453, (0, 1, 2, 3), (3, 0, 2, 1)) + del x453 + x454 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x454 += einsum(l3, (0, 1, 2, 3, 4, 5), x315, (5, 6, 4, 2, 1, 7), (3, 6, 0, 7)) * 0.25 + del x315 + rdm2_f_vovo += einsum(x454, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 + rdm2_f_vovo += einsum(x454, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 + del x454 + x455 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x455 += einsum(t1, (0, 1), x130, (0, 2, 3, 4), (2, 3, 1, 4)) * 0.5 + rdm2_f_vovo += einsum(x455, (0, 1, 2, 3), (3, 1, 2, 0)) * -1.0 + rdm2_f_vovo += einsum(x455, (0, 1, 2, 3), (3, 1, 2, 0)) * -1.0 + del x455 + x456 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x456 += einsum(t3, (0, 1, 2, 3, 4, 5), x42, (2, 0, 1, 6, 7, 4), (6, 7, 5, 3)) + rdm2_f_ovvv = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + rdm2_f_ovvv += einsum(x456, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.50000000000001 + rdm2_f_ovvv += einsum(x456, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.50000000000001 + rdm2_f_vovv = np.zeros((nvir, nocc, nvir, nvir), dtype=types[float]) + rdm2_f_vovv += einsum(x456, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.50000000000001 + rdm2_f_vovv += einsum(x456, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.50000000000001 + del x456 + x457 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x457 += einsum(t3, (0, 1, 2, 3, 4, 5), x35, (0, 1, 2, 6, 4, 7), (6, 7, 3, 5)) + rdm2_f_ovvv += einsum(x457, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.16666666666667 + rdm2_f_ovvv += einsum(x457, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.16666666666667 + rdm2_f_vovv += einsum(x457, (0, 1, 2, 3), (1, 0, 3, 2)) * -0.16666666666667 + rdm2_f_vovv += einsum(x457, (0, 1, 2, 3), (1, 0, 3, 2)) * -0.16666666666667 + del x457 + x458 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x458 += einsum(l1, (0, 1), t2, (2, 1, 3, 4), (2, 0, 3, 4)) + rdm2_f_ovvv += einsum(x458, (0, 1, 2, 3), (0, 1, 2, 3)) + rdm2_f_ovvv += einsum(x458, (0, 1, 2, 3), (0, 1, 2, 3)) + rdm2_f_vovv += einsum(x458, (0, 1, 2, 3), (1, 0, 3, 2)) + rdm2_f_vovv += einsum(x458, (0, 1, 2, 3), (1, 0, 3, 2)) + x459 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x459 += einsum(t2, (0, 1, 2, 3), x263, (1, 3, 4, 5), (0, 4, 2, 5)) + x460 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x460 += einsum(t3, (0, 1, 2, 3, 4, 5), x35, (0, 1, 2, 6, 3, 7), (6, 7, 5, 4)) + x461 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x461 += einsum(x238, (0, 1, 2, 3, 4, 5), x35, (0, 1, 2, 6, 7, 4), (6, 3, 5, 7)) * 0.16666666666667 + x462 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x462 += einsum(l2, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 + x462 += einsum(l2, (0, 1, 2, 3), (2, 3, 0, 1)) + x463 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x463 += einsum(x462, (0, 1, 2, 3), t3, (4, 1, 0, 5, 6, 3), (4, 2, 5, 6)) * 0.5 + del x462 + x464 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x464 += einsum(l3, (0, 1, 2, 3, 4, 5), x198, (5, 6, 4, 2, 7, 1), (3, 6, 0, 7)) * 0.25 + del x198 + x465 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x465 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) + x465 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + x465 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 + x466 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x466 += einsum(l3, (0, 1, 2, 3, 4, 5), x465, (5, 6, 3, 2, 7, 1), (6, 4, 7, 0)) * 0.25 + del x465 + x467 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x467 += einsum(x42, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + x467 += einsum(x35, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 + x467 += einsum(x35, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * 0.5 + x467 += einsum(x35, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -0.5 + x468 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x468 += einsum(t2, (0, 1, 2, 3), x467, (4, 1, 0, 5, 6, 2), (4, 5, 6, 3)) + del x467 + x469 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x469 += einsum(l2, (0, 1, 2, 3), x357, (3, 4, 1, 5), (4, 2, 5, 0)) + x470 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x470 += einsum(l2, (0, 1, 2, 3), x32, (2, 4, 1, 5), (3, 4, 0, 5)) + x471 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x471 += einsum(t1, (0, 1), x418, (2, 0, 3, 4), (2, 3, 4, 1)) * 0.5 + del x418 + x472 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x472 += einsum(x197, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.25 + del x197 + x472 += einsum(x176, (0, 1, 2, 3), (0, 1, 2, 3)) + x472 += einsum(x464, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x464 + x472 += einsum(x466, (0, 1, 2, 3), (1, 0, 3, 2)) + del x466 + x472 += einsum(x468, (0, 1, 2, 3), (0, 1, 2, 3)) + del x468 + x472 += einsum(x469, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x469 + x472 += einsum(x470, (0, 1, 2, 3), (0, 1, 2, 3)) + del x470 + x472 += einsum(x471, (0, 1, 2, 3), (0, 1, 2, 3)) + del x471 + x473 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x473 += einsum(t1, (0, 1), x472, (0, 2, 3, 4), (2, 3, 4, 1)) + del x472 + x474 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x474 += einsum(t2, (0, 1, 2, 3), x222, (1, 4, 5, 6, 2, 3), (4, 5, 0, 6)) * 0.5 + del x222 + x475 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x475 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) + x475 += einsum(x474, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x474 + x476 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x476 += einsum(t2, (0, 1, 2, 3), x475, (1, 0, 4, 5), (4, 5, 2, 3)) + del x475 + x477 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x477 += einsum(t2, (0, 1, 2, 3), x378, (1, 0, 4, 5), (4, 5, 2, 3)) * 0.25 + del x378 + x478 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x478 += einsum(x458, (0, 1, 2, 3), (0, 1, 2, 3)) + del x458 + x478 += einsum(x459, (0, 1, 2, 3), (0, 1, 2, 3)) + del x459 + x478 += einsum(x460, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.16666666666667 + del x460 + x478 += einsum(x461, (0, 1, 2, 3), (0, 3, 1, 2)) * -1.0 + del x461 + x478 += einsum(x463, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x463 + x478 += einsum(x473, (0, 1, 2, 3), (0, 1, 3, 2)) + del x473 + x478 += einsum(x476, (0, 1, 2, 3), (0, 1, 3, 2)) + del x476 + x478 += einsum(x477, (0, 1, 2, 3), (0, 1, 2, 3)) + del x477 + x478 += einsum(t1, (0, 1), x422, (2, 3), (0, 2, 1, 3)) + del x422 + rdm2_f_ovvv += einsum(x478, (0, 1, 2, 3), (0, 1, 2, 3)) + rdm2_f_ovvv += einsum(x478, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + rdm2_f_ovvv += einsum(x478, (0, 1, 2, 3), (0, 1, 2, 3)) + rdm2_f_ovvv += einsum(x478, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + rdm2_f_vovv += einsum(x478, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + rdm2_f_vovv += einsum(x478, (0, 1, 2, 3), (1, 0, 3, 2)) + rdm2_f_vovv += einsum(x478, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + rdm2_f_vovv += einsum(x478, (0, 1, 2, 3), (1, 0, 3, 2)) + del x478 + x479 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x479 += einsum(t2, (0, 1, 2, 3), x128, (1, 4, 5, 3), (0, 2, 5, 4)) * -1.0 + rdm2_f_ovvv += einsum(x479, (0, 1, 2, 3), (0, 2, 1, 3)) + rdm2_f_ovvv += einsum(x479, (0, 1, 2, 3), (0, 2, 3, 1)) * -0.5 + rdm2_f_ovvv += einsum(x479, (0, 1, 2, 3), (0, 2, 1, 3)) + rdm2_f_ovvv += einsum(x479, (0, 1, 2, 3), (0, 2, 3, 1)) * -0.5 + rdm2_f_vovv += einsum(x479, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 + rdm2_f_vovv += einsum(x479, (0, 1, 2, 3), (2, 0, 3, 1)) * 0.5 + rdm2_f_vovv += einsum(x479, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 + rdm2_f_vovv += einsum(x479, (0, 1, 2, 3), (2, 0, 3, 1)) * 0.5 + del x479 + x480 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x480 += einsum(x258, (0, 1, 2, 3), x6, (0, 4, 2, 5), (4, 1, 3, 5)) + rdm2_f_ovvv += einsum(x480, (0, 1, 2, 3), (0, 1, 3, 2)) + rdm2_f_ovvv += einsum(x480, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 + rdm2_f_ovvv += einsum(x480, (0, 1, 2, 3), (0, 1, 3, 2)) + rdm2_f_ovvv += einsum(x480, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 + rdm2_f_vovv += einsum(x480, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + rdm2_f_vovv += einsum(x480, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 + rdm2_f_vovv += einsum(x480, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + rdm2_f_vovv += einsum(x480, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 + del x480 + x481 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x481 += einsum(x238, (0, 1, 2, 3, 4, 5), x35, (0, 2, 1, 6, 7, 5), (6, 3, 4, 7)) * 0.16666666666667 + rdm2_f_ovvv += einsum(x481, (0, 1, 2, 3), (0, 3, 1, 2)) * -1.0 + rdm2_f_ovvv += einsum(x481, (0, 1, 2, 3), (0, 3, 1, 2)) * -1.0 + del x481 + x482 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x482 += einsum(l2, (0, 1, 2, 3), (3, 2, 0, 1)) * -0.3333333333333333 + x482 += einsum(l2, (0, 1, 2, 3), (2, 3, 0, 1)) + x483 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x483 += einsum(x482, (0, 1, 2, 3), t3, (4, 1, 0, 5, 3, 6), (4, 2, 6, 5)) * 1.5 + del x482 + rdm2_f_ovvv += einsum(x483, (0, 1, 2, 3), (0, 1, 3, 2)) + rdm2_f_ovvv += einsum(x483, (0, 1, 2, 3), (0, 1, 3, 2)) + del x483 + x484 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x484 += einsum(t2, (0, 1, 2, 3), l3, (4, 3, 5, 6, 0, 1), (6, 4, 5, 2)) + x485 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x485 += einsum(t2, (0, 1, 2, 3), l3, (4, 3, 5, 0, 6, 1), (6, 4, 5, 2)) + x486 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x486 += einsum(x484, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x486 += einsum(x485, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x486 += einsum(x485, (0, 1, 2, 3), (0, 2, 1, 3)) + x487 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x487 += einsum(x32, (0, 1, 2, 3), x486, (0, 4, 3, 5), (1, 4, 5, 2)) * 0.5 + del x486 + rdm2_f_ovvv += einsum(x487, (0, 1, 2, 3), (0, 1, 2, 3)) + rdm2_f_ovvv += einsum(x487, (0, 1, 2, 3), (0, 1, 2, 3)) + del x487 + x488 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x488 += einsum(t2, (0, 1, 2, 3), x270, (1, 4, 2, 5), (0, 4, 5, 3)) * 0.5 + del x270 + rdm2_f_ovvv += einsum(x488, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + rdm2_f_ovvv += einsum(x488, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x488 + x489 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x489 += einsum(x6, (0, 1, 2, 3), l3, (4, 5, 2, 6, 0, 1), (6, 4, 5, 3)) + x490 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x490 += einsum(t2, (0, 1, 2, 3), x489, (1, 4, 3, 5), (0, 4, 5, 2)) * -1.0 + rdm2_f_ovvv += einsum(x490, (0, 1, 2, 3), (0, 1, 3, 2)) + rdm2_f_ovvv += einsum(x490, (0, 1, 2, 3), (0, 1, 3, 2)) + del x490 + x491 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x491 += einsum(t1, (0, 1), x10, (2, 0, 3, 4), (2, 3, 1, 4)) * 3.0 + x492 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x492 += einsum(t1, (0, 1), x491, (0, 2, 3, 4), (2, 4, 3, 1)) * 0.5 + del x491 + rdm2_f_ovvv += einsum(x492, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + rdm2_f_ovvv += einsum(x492, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x492 + x493 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x493 += einsum(l2, (0, 1, 2, 3), t3, (4, 2, 3, 5, 6, 1), (4, 0, 5, 6)) + rdm2_f_ovvv += einsum(x493, (0, 1, 2, 3), (0, 1, 2, 3)) + rdm2_f_ovvv += einsum(x493, (0, 1, 2, 3), (0, 1, 2, 3)) + rdm2_f_vovv += einsum(x493, (0, 1, 2, 3), (1, 0, 3, 2)) + rdm2_f_vovv += einsum(x493, (0, 1, 2, 3), (1, 0, 3, 2)) + del x493 + x494 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x494 += einsum(t3, (0, 1, 2, 3, 4, 5), x42, (2, 0, 1, 6, 5, 7), (6, 7, 3, 4)) + del x42 + rdm2_f_ovvv += einsum(x494, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.50000000000001 + rdm2_f_ovvv += einsum(x494, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.50000000000001 + rdm2_f_vovv += einsum(x494, (0, 1, 2, 3), (1, 0, 3, 2)) * -0.50000000000001 + rdm2_f_vovv += einsum(x494, (0, 1, 2, 3), (1, 0, 3, 2)) * -0.50000000000001 + del x494 + x495 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x495 += einsum(t3, (0, 1, 2, 3, 4, 5), x35, (0, 2, 1, 6, 7, 5), (6, 7, 3, 4)) + rdm2_f_ovvv += einsum(x495, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.50000000000001 + rdm2_f_ovvv += einsum(x495, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.50000000000001 + rdm2_f_vovv += einsum(x495, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.50000000000001 + rdm2_f_vovv += einsum(x495, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.50000000000001 + del x495 + x496 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x496 += einsum(x274, (0, 1, 2, 3), t3, (0, 4, 1, 5, 6, 3), (4, 2, 5, 6)) * 0.5 + del x274 + rdm2_f_ovvv += einsum(x496, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + rdm2_f_ovvv += einsum(x496, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + rdm2_f_vovv += einsum(x496, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + rdm2_f_vovv += einsum(x496, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x496 + x497 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x497 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 3, 4, 0, 2, 1)) + x497 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * -1.0 + x497 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) + x497 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 1, 2)) * -1.0 + x498 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x498 += einsum(t2, (0, 1, 2, 3), x497, (0, 1, 4, 5, 2, 6), (4, 5, 6, 3)) + del x497 + x499 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x499 += einsum(x263, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x499 += einsum(x263, (0, 1, 2, 3), (0, 2, 1, 3)) + x499 += einsum(x498, (0, 1, 2, 3), (0, 1, 2, 3)) + del x498 + x500 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x500 += einsum(t2, (0, 1, 2, 3), x499, (1, 4, 3, 5), (0, 4, 5, 2)) + del x499 + rdm2_f_ovvv += einsum(x500, (0, 1, 2, 3), (0, 1, 3, 2)) + rdm2_f_ovvv += einsum(x500, (0, 1, 2, 3), (0, 1, 3, 2)) + del x500 + x501 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x501 += einsum(t2, (0, 1, 2, 3), x127, (0, 1, 4, 5, 2, 6), (4, 3, 5, 6)) * 0.5 + del x127 + rdm2_f_vvov += einsum(x501, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 + rdm2_f_vvov += einsum(x501, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 + rdm2_f_vvvo += einsum(x501, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 + rdm2_f_vvvo += einsum(x501, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 + x502 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x502 += einsum(x263, (0, 1, 2, 3), (0, 1, 2, 3)) + x502 += einsum(x501, (0, 1, 2, 3), (0, 3, 2, 1)) * -1.0 + del x501 + x503 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x503 += einsum(t2, (0, 1, 2, 3), x502, (1, 4, 2, 5), (0, 4, 5, 3)) + rdm2_f_ovvv += einsum(x503, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + rdm2_f_ovvv += einsum(x503, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x503 + x504 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x504 += einsum(x263, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x504 += einsum(x128, (0, 1, 2, 3), (0, 3, 2, 1)) * -1.0 + x505 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x505 += einsum(t2, (0, 1, 2, 3), x504, (1, 2, 4, 5), (0, 4, 5, 3)) * 0.5 + del x504 + rdm2_f_ovvv += einsum(x505, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + rdm2_f_ovvv += einsum(x505, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x505 + x506 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x506 += einsum(l3, (0, 1, 2, 3, 4, 5), x349, (4, 6, 5, 1, 7, 2), (6, 3, 7, 0)) * 0.125 + del x349 + x507 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x507 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 3, 4, 0, 2, 1)) + x507 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * -1.0 + x508 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x508 += einsum(t3, (0, 1, 2, 3, 4, 5), x507, (1, 2, 6, 4, 5, 7), (6, 0, 7, 3)) * 0.125 + x509 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x509 += einsum(t2, (0, 1, 2, 3), x250, (0, 1, 4, 5, 3, 6), (4, 5, 6, 2)) * 0.25 + del x250 + x510 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x510 += einsum(l2, (0, 1, 2, 3), x357, (3, 4, 1, 5), (4, 2, 5, 0)) * 0.5 + x511 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x511 += einsum(t1, (0, 1), x130, (2, 0, 3, 4), (2, 3, 1, 4)) * 0.25 + del x130 + x512 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x512 += einsum(x437, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 + del x437 + x512 += einsum(x435, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.125 + del x435 + x512 += einsum(x183, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.125 + del x183 + x512 += einsum(x176, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 + del x176 + x512 += einsum(x506, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x506 + x512 += einsum(x508, (0, 1, 2, 3), (0, 1, 2, 3)) + del x508 + x512 += einsum(x509, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x509 + x512 += einsum(x510, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x510 + x512 += einsum(x511, (0, 1, 2, 3), (0, 1, 3, 2)) + del x511 + x513 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x513 += einsum(t1, (0, 1), x512, (0, 2, 3, 4), (2, 3, 4, 1)) * 2.0 + del x512 + rdm2_f_ovvv += einsum(x513, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + rdm2_f_ovvv += einsum(x513, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + rdm2_f_vovv += einsum(x513, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + rdm2_f_vovv += einsum(x513, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x513 + x514 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x514 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) + del x23 + x514 += einsum(x331, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x331 + x515 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x515 += einsum(t2, (0, 1, 2, 3), x514, (0, 1, 4, 5), (4, 5, 3, 2)) + del x514 + rdm2_f_ovvv += einsum(x515, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + rdm2_f_ovvv += einsum(x515, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + rdm2_f_vovv += einsum(x515, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + rdm2_f_vovv += einsum(x515, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x515 + x516 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x516 += einsum(t2, (0, 1, 2, 3), x33, (0, 1, 4, 5), (4, 3, 2, 5)) * -0.5 + del x33 + rdm2_f_ovvv += einsum(x516, (0, 1, 2, 3), (0, 3, 2, 1)) * -1.0 + rdm2_f_ovvv += einsum(x516, (0, 1, 2, 3), (0, 3, 2, 1)) * -1.0 + rdm2_f_vovv += einsum(x516, (0, 1, 2, 3), (3, 0, 1, 2)) * -1.0 + rdm2_f_vovv += einsum(x516, (0, 1, 2, 3), (3, 0, 1, 2)) * -1.0 + del x516 + x517 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x517 += einsum(t2, (0, 1, 2, 3), x143, (0, 1, 4, 5, 6, 2), (4, 5, 3, 6)) * 0.5 + del x143 + x518 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x518 += einsum(x399, (0, 1, 2, 3), (0, 1, 2, 3)) + del x399 + x518 += einsum(x374, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 + del x374 + x518 += einsum(x375, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 + del x375 + x518 += einsum(x400, (0, 1, 2, 3), (0, 1, 2, 3)) + del x400 + x518 += einsum(x517, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x517 + x519 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x519 += einsum(t1, (0, 1), x518, (0, 2, 3, 4), (2, 3, 4, 1)) + del x518 + rdm2_f_ovvv += einsum(x519, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + rdm2_f_ovvv += einsum(x519, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + rdm2_f_vovv += einsum(x519, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + rdm2_f_vovv += einsum(x519, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x519 + x520 = np.zeros((nvir, nvir), dtype=types[float]) + x520 += einsum(l3, (0, 1, 2, 3, 4, 5), x204, (4, 3, 5, 1, 6, 2), (0, 6)) * 0.041666666666665 + del x204 + x521 = np.zeros((nvir, nvir), dtype=types[float]) + x521 += einsum(l3, (0, 1, 2, 3, 4, 5), x45, (4, 5, 3, 6, 1, 2), (0, 6)) * 0.041666666666665 + del x45 + x522 = np.zeros((nvir, nvir), dtype=types[float]) + x522 += einsum(t2, (0, 1, 2, 3), x96, (0, 1, 2, 4), (3, 4)) + del x96 + x523 = np.zeros((nvir, nvir), dtype=types[float]) + x523 += einsum(x421, (0, 1), (0, 1)) * 0.5 + del x421 + x523 += einsum(x203, (0, 1), (0, 1)) * 0.124999999999995 + del x203 + x523 += einsum(x520, (0, 1), (0, 1)) + del x520 + x523 += einsum(x521, (0, 1), (0, 1)) * -1.0 + del x521 + x523 += einsum(x522, (0, 1), (1, 0)) + del x522 + rdm2_f_ovvv += einsum(t1, (0, 1), x523, (2, 3), (0, 2, 1, 3)) * 2.0 + rdm2_f_ovvv += einsum(t1, (0, 1), x523, (2, 3), (0, 2, 1, 3)) * 2.0 + rdm2_f_vovv += einsum(t1, (0, 1), x523, (2, 3), (2, 0, 3, 1)) * 2.0 + rdm2_f_vovv += einsum(t1, (0, 1), x523, (2, 3), (2, 0, 3, 1)) * 2.0 + del x523 + x524 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x524 += einsum(x178, (0, 1, 2, 3, 4, 5), x35, (0, 2, 1, 6, 7, 5), (6, 7, 3, 4)) * 0.16666666666667 + del x35, x178 + rdm2_f_vovv += einsum(x524, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + rdm2_f_vovv += einsum(x524, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x524 + x525 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x525 += einsum(l2, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 + x525 += einsum(l2, (0, 1, 2, 3), (2, 3, 0, 1)) * 3.0 + x526 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x526 += einsum(x525, (0, 1, 2, 3), t3, (4, 1, 0, 5, 3, 6), (4, 2, 6, 5)) * 0.5 + del x525 + rdm2_f_vovv += einsum(x526, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + rdm2_f_vovv += einsum(x526, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x526 + x527 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x527 += einsum(x484, (0, 1, 2, 3), (0, 1, 2, 3)) + del x484 + x527 += einsum(x485, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 + x527 += einsum(x485, (0, 1, 2, 3), (0, 2, 1, 3)) * 0.5 + x528 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x528 += einsum(x32, (0, 1, 2, 3), x527, (0, 4, 3, 5), (1, 4, 5, 2)) + del x527 + rdm2_f_vovv += einsum(x528, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + rdm2_f_vovv += einsum(x528, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x528 + x529 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x529 += einsum(x489, (0, 1, 2, 3), x6, (0, 4, 2, 5), (4, 1, 3, 5)) * -1.0 + del x6, x489 + rdm2_f_vovv += einsum(x529, (0, 1, 2, 3), (1, 0, 3, 2)) + rdm2_f_vovv += einsum(x529, (0, 1, 2, 3), (1, 0, 3, 2)) + del x529 + x530 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x530 += einsum(t2, (0, 1, 2, 3), x128, (1, 4, 5, 2), (0, 3, 5, 4)) * -0.5 + rdm2_f_vovv += einsum(x530, (0, 1, 2, 3), (2, 0, 1, 3)) + rdm2_f_vovv += einsum(x530, (0, 1, 2, 3), (2, 0, 1, 3)) + del x530 + x531 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x531 += einsum(t1, (0, 1), x10, (2, 0, 3, 4), (2, 3, 1, 4)) + del x10 + x532 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x532 += einsum(t1, (0, 1), x531, (0, 2, 3, 4), (2, 4, 3, 1)) * 1.5 + del x531 + rdm2_f_vovv += einsum(x532, (0, 1, 2, 3), (1, 0, 3, 2)) + rdm2_f_vovv += einsum(x532, (0, 1, 2, 3), (1, 0, 3, 2)) + del x532 + x533 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x533 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 3, 4, 0, 2, 1)) + x533 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * -1.0 + x533 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 0, 2)) * 4.0 + x534 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x534 += einsum(t2, (0, 1, 2, 3), x533, (0, 1, 4, 2, 5, 6), (4, 5, 6, 3)) + del x533 + x535 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x535 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 3, 4, 0, 1, 2)) + x535 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) + x536 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x536 += einsum(t2, (0, 1, 2, 3), x535, (1, 4, 0, 5, 6, 3), (4, 5, 6, 2)) * 2.0 + del x535 + x537 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x537 += einsum(x485, (0, 1, 2, 3), (0, 1, 2, 3)) + x537 += einsum(x485, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x537 += einsum(x534, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + del x534 + x537 += einsum(x536, (0, 1, 2, 3), (0, 1, 2, 3)) + del x536 + x538 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x538 += einsum(t2, (0, 1, 2, 3), x537, (1, 3, 4, 5), (0, 4, 5, 2)) * 0.5 + del x537 + rdm2_f_vovv += einsum(x538, (0, 1, 2, 3), (1, 0, 2, 3)) + rdm2_f_vovv += einsum(x538, (0, 1, 2, 3), (1, 0, 2, 3)) + del x538 + x539 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x539 += einsum(t2, (0, 1, 2, 3), x507, (0, 1, 4, 5, 2, 6), (4, 5, 6, 3)) + x540 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x540 += einsum(x47, (0, 1, 2, 3), (0, 2, 1, 3)) * 2.0 + del x47 + x540 += einsum(x539, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x539 + x541 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x541 += einsum(t2, (0, 1, 2, 3), x540, (1, 2, 4, 5), (0, 4, 5, 3)) * 0.5 + del x540 + rdm2_f_vovv += einsum(x541, (0, 1, 2, 3), (1, 0, 3, 2)) + rdm2_f_vovv += einsum(x541, (0, 1, 2, 3), (1, 0, 3, 2)) + del x541 + x542 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x542 += einsum(t2, (0, 1, 2, 3), x502, (1, 2, 4, 5), (0, 4, 5, 3)) + del x502 + rdm2_f_vovv += einsum(x542, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + rdm2_f_vovv += einsum(x542, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x542 + x543 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x543 += einsum(t1, (0, 1), l2, (2, 3, 4, 0), (4, 2, 3, 1)) + rdm2_f_vvov += einsum(x543, (0, 1, 2, 3), (1, 2, 0, 3)) + rdm2_f_vvov += einsum(x543, (0, 1, 2, 3), (1, 2, 0, 3)) + rdm2_f_vvvo += einsum(x543, (0, 1, 2, 3), (2, 1, 3, 0)) + rdm2_f_vvvo += einsum(x543, (0, 1, 2, 3), (2, 1, 3, 0)) + x544 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x544 += einsum(x543, (0, 1, 2, 3), (0, 1, 2, 3)) + x544 += einsum(x485, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 + del x485 + rdm2_f_vvov += einsum(x544, (0, 1, 2, 3), (1, 2, 0, 3)) + rdm2_f_vvov += einsum(x544, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 + rdm2_f_vvov += einsum(x544, (0, 1, 2, 3), (1, 2, 0, 3)) + rdm2_f_vvov += einsum(x544, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 + rdm2_f_vvvo += einsum(x544, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 + rdm2_f_vvvo += einsum(x544, (0, 1, 2, 3), (2, 1, 3, 0)) + rdm2_f_vvvo += einsum(x544, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 + rdm2_f_vvvo += einsum(x544, (0, 1, 2, 3), (2, 1, 3, 0)) + del x544 + x545 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x545 += einsum(x357, (0, 1, 2, 3), l3, (4, 2, 5, 1, 0, 6), (6, 3, 4, 5)) + del x357 + rdm2_f_vvov += einsum(x545, (0, 1, 2, 3), (3, 2, 0, 1)) + rdm2_f_vvov += einsum(x545, (0, 1, 2, 3), (3, 2, 0, 1)) + rdm2_f_vvvo += einsum(x545, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 + rdm2_f_vvvo += einsum(x545, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 + del x545 + x546 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) + x546 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (3, 4, 5, 6, 1, 7), (0, 2, 6, 7)) + rdm2_f_vvvv = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) + rdm2_f_vvvv += einsum(x546, (0, 1, 2, 3), (1, 0, 3, 2)) * 0.50000000000001 + rdm2_f_vvvv += einsum(x546, (0, 1, 2, 3), (1, 0, 3, 2)) * 0.50000000000001 + del x546 + x547 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) + x547 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (5, 3, 4, 6, 2, 7), (0, 1, 6, 7)) + rdm2_f_vvvv += einsum(x547, (0, 1, 2, 3), (1, 0, 3, 2)) * -0.16666666666667 + rdm2_f_vvvv += einsum(x547, (0, 1, 2, 3), (1, 0, 3, 2)) * -0.16666666666667 + del x547 + x548 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) + x548 += einsum(l2, (0, 1, 2, 3), t2, (2, 3, 4, 5), (0, 1, 4, 5)) + rdm2_f_vvvv += einsum(x548, (0, 1, 2, 3), (1, 0, 3, 2)) + rdm2_f_vvvv += einsum(x548, (0, 1, 2, 3), (1, 0, 3, 2)) + x549 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) + x549 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (5, 3, 4, 2, 6, 7), (0, 1, 7, 6)) + x550 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) + x550 += einsum(l3, (0, 1, 2, 3, 4, 5), x238, (3, 5, 4, 6, 2, 7), (6, 7, 0, 1)) * 0.16666666666667 + x551 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x551 += einsum(x32, (0, 1, 2, 3), l3, (4, 5, 2, 6, 0, 1), (6, 4, 5, 3)) + del x32 + x552 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x552 += einsum(t2, (0, 1, 2, 3), x507, (0, 1, 4, 5, 2, 6), (4, 5, 6, 3)) * 0.5 + del x507 + x553 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x553 += einsum(x543, (0, 1, 2, 3), (0, 1, 2, 3)) + x553 += einsum(x551, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x551 + x553 += einsum(x552, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x552 + x554 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) + x554 += einsum(t1, (0, 1), x553, (0, 2, 3, 4), (2, 3, 4, 1)) + del x553 + x555 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) + x555 += einsum(x548, (0, 1, 2, 3), (1, 0, 3, 2)) + del x548 + x555 += einsum(x549, (0, 1, 2, 3), (1, 0, 3, 2)) * -0.16666666666667 + del x549 + x555 += einsum(x550, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 + del x550 + x555 += einsum(x554, (0, 1, 2, 3), (1, 0, 2, 3)) + del x554 + rdm2_f_vvvv += einsum(x555, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + rdm2_f_vvvv += einsum(x555, (0, 1, 2, 3), (0, 1, 2, 3)) + rdm2_f_vvvv += einsum(x555, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + rdm2_f_vvvv += einsum(x555, (0, 1, 2, 3), (0, 1, 2, 3)) + del x555 + x556 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) + x556 += einsum(t1, (0, 1), x258, (0, 2, 3, 4), (2, 3, 1, 4)) + del x258 + rdm2_f_vvvv += einsum(x556, (0, 1, 2, 3), (0, 1, 2, 3)) + rdm2_f_vvvv += einsum(x556, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + rdm2_f_vvvv += einsum(x556, (0, 1, 2, 3), (0, 1, 2, 3)) + rdm2_f_vvvv += einsum(x556, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x556 + x557 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) + x557 += einsum(l3, (0, 1, 2, 3, 4, 5), x238, (3, 5, 4, 6, 7, 2), (6, 7, 0, 1)) * 0.16666666666667 + del x238 + rdm2_f_vvvv += einsum(x557, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 + rdm2_f_vvvv += einsum(x557, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 + del x557 + x558 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) + x558 += einsum(t1, (0, 1), x543, (0, 2, 3, 4), (3, 2, 4, 1)) + del x543 + rdm2_f_vvvv += einsum(x558, (0, 1, 2, 3), (1, 0, 3, 2)) + rdm2_f_vvvv += einsum(x558, (0, 1, 2, 3), (1, 0, 3, 2)) + del x558 + x559 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) + x559 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (3, 4, 5, 6, 7, 2), (0, 1, 6, 7)) + x560 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) + x560 += einsum(t1, (0, 1), x263, (0, 2, 3, 4), (2, 3, 1, 4)) + del x263 + x561 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) + x561 += einsum(x559, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.50000000000001 + del x559 + x561 += einsum(x560, (0, 1, 2, 3), (0, 1, 2, 3)) + del x560 + rdm2_f_vvvv += einsum(x561, (0, 1, 2, 3), (0, 1, 2, 3)) + rdm2_f_vvvv += einsum(x561, (0, 1, 2, 3), (1, 0, 3, 2)) + rdm2_f_vvvv += einsum(x561, (0, 1, 2, 3), (0, 1, 2, 3)) + rdm2_f_vvvv += einsum(x561, (0, 1, 2, 3), (1, 0, 3, 2)) + del x561 + x562 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) + x562 += einsum(t1, (0, 1), x128, (0, 2, 3, 4), (1, 3, 4, 2)) * -0.5 + del x128 + rdm2_f_vvvv += einsum(x562, (0, 1, 2, 3), (1, 2, 3, 0)) + rdm2_f_vvvv += einsum(x562, (0, 1, 2, 3), (2, 1, 0, 3)) + rdm2_f_vvvv += einsum(x562, (0, 1, 2, 3), (1, 2, 3, 0)) + rdm2_f_vvvv += einsum(x562, (0, 1, 2, 3), (2, 1, 0, 3)) + del x562 + + rdm2_f = pack_2e(rdm2_f_oooo, rdm2_f_ooov, rdm2_f_oovo, rdm2_f_ovoo, rdm2_f_vooo, rdm2_f_oovv, rdm2_f_ovov, rdm2_f_ovvo, rdm2_f_voov, rdm2_f_vovo, rdm2_f_vvoo, rdm2_f_ovvv, rdm2_f_vovv, rdm2_f_vvov, rdm2_f_vvvo, rdm2_f_vvvv) + + rdm2_f = rdm2_f.swapaxes(1, 2) + + return rdm2_f + diff --git a/ebcc/codegen/UCCSDT.py b/ebcc/codegen/UCCSDT.py new file mode 100644 index 00000000..c74ef6dc --- /dev/null +++ b/ebcc/codegen/UCCSDT.py @@ -0,0 +1,9150 @@ +# Code generated for ebcc. + +from ebcc import numpy as np +from ebcc.util import pack_2e, einsum, Namespace +from ebcc.precision import types + +def energy(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, t3=None, **kwargs): + # energy + e_cc = 0 + e_cc += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 1, 3), ()) + e_cc += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (0, 3, 1, 2), ()) * -1.0 + e_cc += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (0, 2, 1, 3), ()) + x0 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x0 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) + x0 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x1 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x1 += einsum(f.bb.ov, (0, 1), (0, 1)) + x1 += einsum(t1.aa, (0, 1), v.aabb.ovov, (0, 1, 2, 3), (2, 3)) + x1 += einsum(t1.bb, (0, 1), x0, (0, 2, 1, 3), (2, 3)) * -0.5 + del x0 + e_cc += einsum(t1.bb, (0, 1), x1, (0, 1), ()) + del x1 + x2 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x2 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) + x2 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x3 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x3 += einsum(f.aa.ov, (0, 1), (0, 1)) + x3 += einsum(t1.aa, (0, 1), x2, (0, 2, 1, 3), (2, 3)) * -0.5 + del x2 + e_cc += einsum(t1.aa, (0, 1), x3, (0, 1), ()) + del x3 + + return e_cc + +def update_amps(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, t3=None, **kwargs): + t1new = Namespace() + t2new = Namespace() + t3new = Namespace() + + # T amplitudes + t1new_bb = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + t1new_bb += einsum(f.bb.ov, (0, 1), (0, 1)) + t1new_bb += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.babbab, (4, 0, 2, 5, 1, 3), (4, 5)) * 2.0 + t1new_bb += einsum(v.bbbb.ovov, (0, 1, 2, 3), t3.bbbbbb, (4, 0, 2, 5, 1, 3), (4, 5)) * 3.0 + t1new_bb += einsum(v.aaaa.ovov, (0, 1, 2, 3), t3.abaaba, (0, 4, 2, 1, 5, 3), (4, 5)) + t1new_aa = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + t1new_aa += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.abaaba, (4, 2, 0, 5, 3, 1), (4, 5)) * 2.0 + t1new_aa += einsum(v.aaaa.ovov, (0, 1, 2, 3), t3.aaaaaa, (4, 0, 2, 5, 1, 3), (4, 5)) * 3.0 + t1new_aa += einsum(f.aa.ov, (0, 1), (0, 1)) + t1new_aa += einsum(v.bbbb.ovov, (0, 1, 2, 3), t3.babbab, (0, 4, 2, 3, 5, 1), (4, 5)) * -1.0 + t2new_aaaa = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + t2new_aaaa += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.vvvv, (4, 2, 5, 3), (0, 1, 4, 5)) * 2.0 + t2new_abab = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + t2new_abab += einsum(v.aabb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + t2new_bbbb = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + t2new_bbbb += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.vvvv, (4, 3, 5, 2), (0, 1, 4, 5)) * -2.0 + x0 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x0 += einsum(t1.aa, (0, 1), v.aabb.ovov, (0, 1, 2, 3), (2, 3)) + t1new_bb += einsum(x0, (0, 1), (0, 1)) + x1 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x1 += einsum(t1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) + x2 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x2 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) + x2 += einsum(x1, (0, 1, 2, 3), (0, 1, 2, 3)) + t1new_bb += einsum(t2.bbbb, (0, 1, 2, 3), x2, (4, 0, 1, 3), (4, 2)) * 2.0 + t2new_abab += einsum(x2, (0, 1, 2, 3), t3.babbab, (1, 4, 2, 5, 6, 3), (4, 0, 6, 5)) * 2.0 + del x2 + x3 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x3 += einsum(t1.bb, (0, 1), v.aabb.ovov, (2, 3, 4, 1), (0, 4, 2, 3)) + x4 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x4 += einsum(v.aabb.ovoo, (0, 1, 2, 3), (2, 3, 0, 1)) + x4 += einsum(x3, (0, 1, 2, 3), (1, 0, 2, 3)) + t1new_bb += einsum(t2.abab, (0, 1, 2, 3), x4, (1, 4, 0, 2), (4, 3)) * -1.0 + t2new_abab += einsum(x4, (0, 1, 2, 3), t3.abaaba, (4, 0, 2, 5, 6, 3), (4, 1, 5, 6)) * -2.0 + x5 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x5 += einsum(t2.abab, (0, 1, 2, 3), (1, 3, 0, 2)) + x5 += einsum(t1.aa, (0, 1), t1.bb, (2, 3), (2, 3, 0, 1)) + t1new_bb += einsum(v.aabb.ovvv, (0, 1, 2, 3), x5, (4, 3, 0, 1), (4, 2)) + t1new_aa += einsum(v.aabb.vvov, (0, 1, 2, 3), x5, (2, 3, 4, 1), (4, 0)) + x6 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x6 += einsum(t2.bbbb, (0, 1, 2, 3), (0, 1, 2, 3)) + x6 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3)) * 0.5 + t1new_bb += einsum(v.bbbb.ovvv, (0, 1, 2, 3), x6, (0, 4, 1, 3), (4, 2)) * 2.0 + x7 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x7 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) + x7 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x8 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x8 += einsum(t1.bb, (0, 1), x7, (0, 2, 1, 3), (2, 3)) + x9 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x9 += einsum(f.bb.ov, (0, 1), (0, 1)) + x9 += einsum(x0, (0, 1), (0, 1)) + x9 += einsum(x8, (0, 1), (0, 1)) * -1.0 + del x8 + t1new_bb += einsum(x9, (0, 1), t2.bbbb, (2, 0, 3, 1), (2, 3)) * 2.0 + t1new_aa += einsum(x9, (0, 1), t2.abab, (2, 0, 3, 1), (2, 3)) + t2new_aaaa += einsum(x9, (0, 1), t3.abaaba, (2, 0, 3, 4, 1, 5), (2, 3, 4, 5)) * 2.0 + t2new_abab += einsum(x9, (0, 1), t3.babbab, (2, 3, 0, 4, 5, 1), (3, 2, 5, 4)) * 2.0 + t2new_bbbb += einsum(x9, (0, 1), t3.bbbbbb, (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) * 6.0 + x10 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x10 += einsum(t1.bb, (0, 1), v.aabb.ovov, (2, 3, 0, 1), (2, 3)) + t1new_aa += einsum(x10, (0, 1), (0, 1)) + x11 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x11 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) + x11 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x12 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x12 += einsum(t1.aa, (0, 1), x11, (0, 2, 1, 3), (2, 3)) + x13 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x13 += einsum(f.aa.ov, (0, 1), (0, 1)) + x13 += einsum(x10, (0, 1), (0, 1)) + del x10 + x13 += einsum(x12, (0, 1), (0, 1)) * -1.0 + del x12 + t1new_bb += einsum(x13, (0, 1), t2.abab, (0, 2, 1, 3), (2, 3)) + t1new_aa += einsum(x13, (0, 1), t2.aaaa, (2, 0, 3, 1), (2, 3)) * 2.0 + t2new_aaaa += einsum(x13, (0, 1), t3.aaaaaa, (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) * 6.0 + t2new_abab += einsum(x13, (0, 1), t3.abaaba, (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) * 2.0 + t2new_bbbb += einsum(x13, (0, 1), t3.babbab, (2, 0, 3, 4, 1, 5), (2, 3, 4, 5)) * 2.0 + x14 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x14 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) + x14 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + t1new_bb += einsum(t1.bb, (0, 1), x14, (0, 2, 1, 3), (2, 3)) * -1.0 + x15 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x15 += einsum(t1.aa, (0, 1), v.aabb.ovoo, (0, 1, 2, 3), (2, 3)) + x16 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x16 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 2, 1, 3), (0, 4)) + x17 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x17 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 3), (1, 4)) + x18 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x18 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x18 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) + x19 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x19 += einsum(t1.bb, (0, 1), x18, (2, 3, 0, 1), (2, 3)) + x20 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x20 += einsum(t1.bb, (0, 1), x9, (2, 1), (2, 0)) + x21 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x21 += einsum(f.bb.oo, (0, 1), (0, 1)) + x21 += einsum(x15, (0, 1), (1, 0)) + x21 += einsum(x16, (0, 1), (1, 0)) * 2.0 + x21 += einsum(x17, (0, 1), (1, 0)) + x21 += einsum(x19, (0, 1), (1, 0)) * -1.0 + x21 += einsum(x20, (0, 1), (0, 1)) + t1new_bb += einsum(t1.bb, (0, 1), x21, (0, 2), (2, 1)) * -1.0 + t2new_abab += einsum(x21, (0, 1), t2.abab, (2, 0, 3, 4), (2, 1, 3, 4)) * -1.0 + t3new_abaaba = np.zeros((nocc[0], nocc[1], nocc[0], nvir[0], nvir[1], nvir[0]), dtype=types[float]) + t3new_abaaba += einsum(x21, (0, 1), t3.abaaba, (2, 0, 3, 4, 5, 6), (2, 1, 3, 4, 5, 6)) * -2.0 + del x21 + x22 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x22 += einsum(f.bb.vv, (0, 1), (0, 1)) + x22 += einsum(t1.bb, (0, 1), v.bbbb.ovvv, (0, 2, 3, 1), (2, 3)) * -1.0 + t1new_bb += einsum(t1.bb, (0, 1), x22, (1, 2), (0, 2)) + del x22 + x23 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x23 += einsum(t1.aa, (0, 1), v.aabb.ovov, (2, 1, 3, 4), (3, 4, 0, 2)) + x24 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x24 += einsum(v.aabb.ooov, (0, 1, 2, 3), (2, 3, 0, 1)) + x24 += einsum(x23, (0, 1, 2, 3), (0, 1, 3, 2)) + t1new_aa += einsum(t2.abab, (0, 1, 2, 3), x24, (1, 3, 0, 4), (4, 2)) * -1.0 + t2new_abab += einsum(x24, (0, 1, 2, 3), t3.babbab, (4, 2, 0, 5, 6, 1), (3, 4, 6, 5)) * -2.0 + x25 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x25 += einsum(t1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) + x26 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x26 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) + x26 += einsum(x25, (0, 1, 2, 3), (0, 1, 2, 3)) + t1new_aa += einsum(t2.aaaa, (0, 1, 2, 3), x26, (4, 0, 1, 3), (4, 2)) * 2.0 + t2new_abab += einsum(x26, (0, 1, 2, 3), t3.abaaba, (1, 4, 2, 5, 6, 3), (0, 4, 5, 6)) * 2.0 + del x26 + x27 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x27 += einsum(t2.aaaa, (0, 1, 2, 3), (0, 1, 2, 3)) + x27 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 1, 3)) * 0.5 + t1new_aa += einsum(v.aaaa.ovvv, (0, 1, 2, 3), x27, (0, 4, 3, 1), (4, 2)) * -2.0 + del x27 + x28 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x28 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) + x28 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + t1new_aa += einsum(t1.aa, (0, 1), x28, (0, 2, 1, 3), (2, 3)) * -1.0 + x29 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x29 += einsum(t1.bb, (0, 1), v.aabb.ooov, (2, 3, 0, 1), (2, 3)) + x30 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x30 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 1, 3), (0, 4)) + x31 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x31 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 3, 1, 2), (0, 4)) * -1.0 + x32 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x32 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x32 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) + x33 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x33 += einsum(t1.aa, (0, 1), x32, (2, 3, 0, 1), (2, 3)) + x34 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x34 += einsum(t1.aa, (0, 1), x13, (2, 1), (2, 0)) + x35 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x35 += einsum(f.aa.oo, (0, 1), (0, 1)) + x35 += einsum(x29, (0, 1), (1, 0)) + x35 += einsum(x30, (0, 1), (1, 0)) + x35 += einsum(x31, (0, 1), (1, 0)) * 2.0 + x35 += einsum(x33, (0, 1), (1, 0)) * -1.0 + x35 += einsum(x34, (0, 1), (0, 1)) + t1new_aa += einsum(t1.aa, (0, 1), x35, (0, 2), (2, 1)) * -1.0 + t2new_abab += einsum(x35, (0, 1), t2.abab, (0, 2, 3, 4), (1, 2, 3, 4)) * -1.0 + t3new_babbab = np.zeros((nocc[1], nocc[0], nocc[1], nvir[1], nvir[0], nvir[1]), dtype=types[float]) + t3new_babbab += einsum(x35, (0, 1), t3.babbab, (2, 0, 3, 4, 5, 6), (2, 1, 3, 4, 5, 6)) * -2.0 + del x35 + x36 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x36 += einsum(f.aa.vv, (0, 1), (0, 1)) + x36 += einsum(t1.aa, (0, 1), v.aaaa.ovvv, (0, 1, 2, 3), (2, 3)) + t1new_aa += einsum(t1.aa, (0, 1), x36, (1, 2), (0, 2)) + del x36 + x37 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x37 += einsum(t1.aa, (0, 1), v.aaaa.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) + x38 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x38 += einsum(t1.aa, (0, 1), v.aabb.vvov, (2, 1, 3, 4), (3, 4, 0, 2)) + t2new_abab += einsum(x38, (0, 1, 2, 3), (2, 0, 3, 1)) + x39 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x39 += einsum(t2.abab, (0, 1, 2, 3), x38, (1, 3, 4, 5), (4, 0, 2, 5)) + x40 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x40 += einsum(t2.aaaa, (0, 1, 2, 3), (0, 1, 2, 3)) + x40 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 3, 1)) * -0.5 + x41 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x41 += einsum(x28, (0, 1, 2, 3), x40, (0, 4, 2, 5), (1, 4, 3, 5)) * 2.0 + x42 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x42 += einsum(t2.aaaa, (0, 1, 2, 3), v.aabb.ovov, (1, 3, 4, 5), (4, 5, 0, 2)) + x43 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x43 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) + x43 += einsum(x42, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x44 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x44 += einsum(t2.abab, (0, 1, 2, 3), x43, (1, 3, 4, 5), (4, 0, 5, 2)) + del x43 + x45 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x45 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) + x45 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 + x46 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x46 += einsum(t1.aa, (0, 1), x45, (2, 1, 3, 4), (2, 0, 3, 4)) + x47 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x47 += einsum(t2.aaaa, (0, 1, 2, 3), x46, (1, 4, 5, 3), (0, 4, 2, 5)) * -2.0 + x48 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x48 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ooov, (4, 5, 1, 3), (0, 4, 5, 2)) + x49 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x49 += einsum(t1.aa, (0, 1), v.aaaa.ooov, (2, 3, 4, 1), (0, 2, 3, 4)) + x50 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x50 += einsum(t1.aa, (0, 1), x49, (2, 3, 4, 0), (2, 4, 3, 1)) + x51 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x51 += einsum(t1.aa, (0, 1), x37, (2, 3, 1, 4), (0, 2, 3, 4)) + x52 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x52 += einsum(t2.abab, (0, 1, 2, 3), x23, (1, 3, 4, 5), (4, 0, 5, 2)) + x53 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x53 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) + x53 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x54 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x54 += einsum(t2.aaaa, (0, 1, 2, 3), x53, (4, 5, 1, 3), (0, 4, 5, 2)) * 2.0 + del x53 + x55 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x55 += einsum(x25, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x55 += einsum(x25, (0, 1, 2, 3), (0, 2, 1, 3)) + x56 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x56 += einsum(t2.aaaa, (0, 1, 2, 3), x55, (4, 1, 5, 3), (0, 4, 5, 2)) * 2.0 + x57 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x57 += einsum(x48, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x57 += einsum(x50, (0, 1, 2, 3), (0, 2, 1, 3)) + x57 += einsum(x51, (0, 1, 2, 3), (0, 2, 1, 3)) + del x51 + x57 += einsum(x52, (0, 1, 2, 3), (0, 2, 1, 3)) + x57 += einsum(x54, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + del x54 + x57 += einsum(x56, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 + x58 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x58 += einsum(t1.aa, (0, 1), x57, (2, 0, 3, 4), (2, 3, 4, 1)) + del x57 + x59 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x59 += einsum(x37, (0, 1, 2, 3), (0, 1, 2, 3)) + x59 += einsum(x39, (0, 1, 2, 3), (0, 1, 2, 3)) + del x39 + x59 += einsum(x41, (0, 1, 2, 3), (1, 0, 3, 2)) + del x41 + x59 += einsum(x44, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x44 + x59 += einsum(x47, (0, 1, 2, 3), (1, 0, 2, 3)) + del x47 + x59 += einsum(x58, (0, 1, 2, 3), (0, 1, 3, 2)) + del x58 + t2new_aaaa += einsum(x59, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + t2new_aaaa += einsum(x59, (0, 1, 2, 3), (0, 1, 3, 2)) + t2new_aaaa += einsum(x59, (0, 1, 2, 3), (1, 0, 2, 3)) + t2new_aaaa += einsum(x59, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x59 + x60 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x60 += einsum(f.aa.vv, (0, 1), t2.aaaa, (2, 3, 4, 1), (2, 3, 0, 4)) + x61 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x61 += einsum(t2.abab, (0, 1, 2, 3), x7, (1, 4, 3, 5), (4, 5, 0, 2)) + x62 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x62 += einsum(t2.abab, (0, 1, 2, 3), x61, (1, 3, 4, 5), (4, 0, 5, 2)) * -1.0 + x63 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x63 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + x63 += einsum(x60, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 + del x60 + x63 += einsum(x62, (0, 1, 2, 3), (1, 0, 3, 2)) + del x62 + t2new_aaaa += einsum(x63, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + t2new_aaaa += einsum(x63, (0, 1, 2, 3), (0, 1, 2, 3)) + del x63 + x64 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x64 += einsum(t1.aa, (0, 1), v.aaaa.vvvv, (2, 3, 4, 1), (0, 2, 3, 4)) + x65 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x65 += einsum(t1.aa, (0, 1), x64, (2, 3, 1, 4), (0, 2, 3, 4)) + x66 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x66 += einsum(v.aabb.vvov, (0, 1, 2, 3), t3.abaaba, (4, 2, 5, 6, 3, 1), (4, 5, 6, 0)) + x67 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x67 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 0, 6, 3, 1), (4, 5, 6, 2)) * -1.0 + x68 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x68 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 + x68 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + x69 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x69 += einsum(t2.aaaa, (0, 1, 2, 3), x68, (1, 4, 5, 3), (0, 4, 2, 5)) + x70 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x70 += einsum(t2.aaaa, (0, 1, 2, 3), x69, (4, 1, 5, 3), (0, 4, 2, 5)) * -4.0 + del x69 + x71 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x71 += einsum(t1.bb, (0, 1), v.aabb.vvov, (2, 3, 0, 1), (2, 3)) + x72 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x72 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 4, 1, 3), (2, 4)) + x73 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x73 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (0, 3, 1, 4), (2, 4)) * -1.0 + x74 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x74 += einsum(t1.aa, (0, 1), x45, (0, 1, 2, 3), (2, 3)) + del x45 + x75 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x75 += einsum(x71, (0, 1), (1, 0)) * -1.0 + x75 += einsum(x72, (0, 1), (1, 0)) + x75 += einsum(x73, (0, 1), (1, 0)) * 2.0 + x75 += einsum(x74, (0, 1), (1, 0)) * -1.0 + x76 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x76 += einsum(x75, (0, 1), t2.aaaa, (2, 3, 4, 0), (2, 3, 4, 1)) * -2.0 + del x75 + x77 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x77 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovvv, (4, 2, 5, 3), (0, 1, 4, 5)) + x78 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x78 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.abaaba, (4, 2, 5, 6, 3, 1), (4, 5, 0, 6)) + x79 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x79 += einsum(v.aaaa.ovov, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 2, 6, 3, 1), (4, 5, 0, 6)) * -1.0 + x80 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x80 += einsum(x13, (0, 1), t2.aaaa, (2, 3, 4, 1), (0, 2, 3, 4)) * -2.0 + x81 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x81 += einsum(t1.aa, (0, 1), x25, (2, 3, 4, 1), (2, 0, 4, 3)) + x82 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x82 += einsum(v.aaaa.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) + x82 += einsum(x81, (0, 1, 2, 3), (3, 1, 2, 0)) + x83 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x83 += einsum(t1.aa, (0, 1), x82, (0, 2, 3, 4), (2, 3, 4, 1)) + del x82 + x84 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x84 += einsum(x77, (0, 1, 2, 3), (2, 1, 0, 3)) * -2.0 + x84 += einsum(x78, (0, 1, 2, 3), (2, 1, 0, 3)) * 2.0 + x84 += einsum(x79, (0, 1, 2, 3), (2, 1, 0, 3)) * 6.0 + x84 += einsum(x80, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x84 += einsum(x83, (0, 1, 2, 3), (1, 0, 2, 3)) + del x83 + x85 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x85 += einsum(t1.aa, (0, 1), x84, (0, 2, 3, 4), (2, 3, 4, 1)) + del x84 + x86 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x86 += einsum(x65, (0, 1, 2, 3), (0, 1, 2, 3)) + del x65 + x86 += einsum(x66, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + del x66 + x86 += einsum(x67, (0, 1, 2, 3), (0, 1, 2, 3)) * -6.0 + del x67 + x86 += einsum(x70, (0, 1, 2, 3), (1, 0, 3, 2)) + del x70 + x86 += einsum(x76, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x76 + x86 += einsum(x85, (0, 1, 2, 3), (1, 0, 3, 2)) + del x85 + t2new_aaaa += einsum(x86, (0, 1, 2, 3), (0, 1, 2, 3)) + t2new_aaaa += einsum(x86, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x86 + x87 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x87 += einsum(v.aabb.ooov, (0, 1, 2, 3), t3.abaaba, (4, 2, 1, 5, 3, 6), (4, 0, 5, 6)) + x88 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x88 += einsum(v.aaaa.ooov, (0, 1, 2, 3), t3.aaaaaa, (4, 1, 2, 5, 6, 3), (4, 0, 5, 6)) + x89 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x89 += einsum(t2.aaaa, (0, 1, 2, 3), x49, (4, 5, 0, 1), (4, 5, 2, 3)) + x90 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x90 += einsum(x23, (0, 1, 2, 3), t3.abaaba, (4, 0, 3, 5, 1, 6), (2, 4, 5, 6)) + x91 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x91 += einsum(x25, (0, 1, 2, 3), t3.aaaaaa, (4, 1, 2, 5, 6, 3), (0, 4, 5, 6)) * -1.0 + x92 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x92 += einsum(f.aa.oo, (0, 1), (0, 1)) + x92 += einsum(x34, (0, 1), (1, 0)) + x93 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x93 += einsum(x92, (0, 1), t2.aaaa, (2, 1, 3, 4), (2, 0, 3, 4)) * -2.0 + del x92 + x94 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x94 += einsum(x29, (0, 1), (1, 0)) + x94 += einsum(x30, (0, 1), (1, 0)) + x94 += einsum(x31, (0, 1), (1, 0)) * 2.0 + x94 += einsum(x33, (0, 1), (1, 0)) * -1.0 + x95 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x95 += einsum(x94, (0, 1), t2.aaaa, (2, 0, 3, 4), (2, 1, 3, 4)) * -2.0 + del x94 + x96 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x96 += einsum(x87, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 + del x87 + x96 += einsum(x88, (0, 1, 2, 3), (0, 1, 3, 2)) * -6.0 + del x88 + x96 += einsum(x89, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 + del x89 + x96 += einsum(x90, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 + del x90 + x96 += einsum(x91, (0, 1, 2, 3), (0, 1, 3, 2)) * 6.0 + del x91 + x96 += einsum(x93, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x93 + x96 += einsum(x95, (0, 1, 2, 3), (0, 1, 3, 2)) + del x95 + t2new_aaaa += einsum(x96, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + t2new_aaaa += einsum(x96, (0, 1, 2, 3), (1, 0, 2, 3)) + del x96 + x97 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x97 += einsum(t1.aa, (0, 1), v.aaaa.ooov, (2, 0, 3, 4), (2, 3, 1, 4)) + t2new_aaaa += einsum(x97, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + t2new_aaaa += einsum(x97, (0, 1, 2, 3), (1, 0, 2, 3)) + del x97 + x98 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x98 += einsum(t2.aaaa, (0, 1, 2, 3), (0, 1, 2, 3)) + x98 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 1, 3)) + x99 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x99 += einsum(v.aaaa.ovov, (0, 1, 2, 3), x98, (4, 5, 1, 3), (0, 2, 4, 5)) + x100 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x100 += einsum(v.aaaa.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) + x100 += einsum(x99, (0, 1, 2, 3), (1, 3, 0, 2)) + t2new_aaaa += einsum(t2.aaaa, (0, 1, 2, 3), x100, (0, 4, 1, 5), (4, 5, 2, 3)) * 2.0 + del x100 + x101 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x101 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 2, 5, 3), (0, 1, 4, 5)) + x102 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x102 += einsum(t1.aa, (0, 1), x101, (2, 3, 0, 4), (2, 3, 4, 1)) * -2.0 + x102 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x102 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) + t2new_aaaa += einsum(t1.aa, (0, 1), x102, (2, 3, 0, 4), (2, 3, 4, 1)) * -1.0 + del x102 + x103 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x103 += einsum(t1.bb, (0, 1), v.aabb.ovov, (2, 3, 0, 4), (1, 4, 2, 3)) + x104 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x104 += einsum(v.aabb.ovvv, (0, 1, 2, 3), (2, 3, 0, 1)) + x104 += einsum(x103, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + t2new_abab += einsum(x104, (0, 1, 2, 3), t3.abaaba, (4, 5, 2, 6, 0, 3), (4, 5, 6, 1)) * 2.0 + x105 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) + x105 += einsum(t1.aa, (0, 1), v.aabb.ovov, (0, 2, 3, 4), (3, 4, 1, 2)) + x106 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) + x106 += einsum(v.aabb.vvov, (0, 1, 2, 3), (2, 3, 0, 1)) + x106 += einsum(x105, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + t2new_abab += einsum(x106, (0, 1, 2, 3), t3.babbab, (4, 5, 0, 6, 2, 1), (5, 4, 3, 6)) * 2.0 + x107 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x107 += einsum(t1.bb, (0, 1), v.bbbb.ovov, (2, 3, 0, 4), (2, 1, 3, 4)) + x108 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x108 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) + x108 += einsum(x107, (0, 1, 2, 3), (0, 1, 2, 3)) + t2new_abab += einsum(x108, (0, 1, 2, 3), t3.babbab, (4, 5, 0, 2, 6, 3), (5, 4, 6, 1)) * 2.0 + del x108 + x109 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x109 += einsum(t1.aa, (0, 1), v.aaaa.ovov, (2, 3, 0, 4), (2, 1, 3, 4)) + x110 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x110 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) + x110 += einsum(x109, (0, 1, 2, 3), (0, 1, 2, 3)) + t2new_abab += einsum(x110, (0, 1, 2, 3), t3.abaaba, (4, 5, 0, 2, 6, 3), (4, 5, 1, 6)) * 2.0 + del x110 + x111 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x111 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 5), (1, 4, 3, 5)) + x112 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x112 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 + x112 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + x113 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x113 += einsum(t2.bbbb, (0, 1, 2, 3), (0, 1, 2, 3)) + x113 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1)) * -0.5 + x114 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x114 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x114 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) + x115 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x115 += einsum(t1.bb, (0, 1), x114, (2, 3, 1, 4), (2, 0, 3, 4)) + x116 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x116 += einsum(t1.bb, (0, 1), x18, (2, 3, 0, 4), (2, 3, 4, 1)) + x117 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x117 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + x117 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x117 += einsum(x111, (0, 1, 2, 3), (1, 0, 3, 2)) + x117 += einsum(x112, (0, 1, 2, 3), x113, (0, 4, 3, 5), (1, 4, 2, 5)) * -2.0 + x117 += einsum(x115, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x117 += einsum(x116, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + t2new_abab += einsum(t2.abab, (0, 1, 2, 3), x117, (1, 4, 3, 5), (0, 4, 2, 5)) + del x117 + x118 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x118 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x118 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) + x119 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x119 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x119 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) + x120 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x120 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) + x120 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x120 += einsum(x11, (0, 1, 2, 3), x40, (0, 4, 3, 5), (1, 4, 2, 5)) * -2.0 + x120 += einsum(t1.aa, (0, 1), x118, (2, 1, 3, 4), (2, 0, 4, 3)) * -1.0 + x120 += einsum(t1.aa, (0, 1), x119, (0, 2, 3, 4), (3, 2, 4, 1)) * -1.0 + del x119 + t2new_abab += einsum(t2.abab, (0, 1, 2, 3), x120, (0, 4, 2, 5), (4, 1, 5, 3)) * -1.0 + del x120 + x121 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x121 += einsum(t1.bb, (0, 1), v.aabb.ooov, (2, 3, 0, 4), (1, 4, 2, 3)) + x122 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x122 += einsum(t1.aa, (0, 1), v.aabb.ovvv, (2, 1, 3, 4), (3, 4, 0, 2)) + x123 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x123 += einsum(v.aabb.oovv, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 + x123 += einsum(x121, (0, 1, 2, 3), (1, 0, 3, 2)) + x123 += einsum(x122, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + x123 += einsum(v.aabb.ovov, (0, 1, 2, 3), x5, (2, 4, 5, 1), (3, 4, 0, 5)) + t2new_abab += einsum(t2.abab, (0, 1, 2, 3), x123, (3, 4, 0, 5), (5, 1, 2, 4)) + del x123 + x124 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x124 += einsum(t1.aa, (0, 1), v.aabb.ooov, (2, 0, 3, 4), (3, 4, 2, 1)) + x125 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x125 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) + x125 += einsum(x124, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x125 += einsum(x38, (0, 1, 2, 3), (0, 1, 2, 3)) + x125 += einsum(v.aabb.ovov, (0, 1, 2, 3), x40, (0, 4, 1, 5), (2, 3, 4, 5)) * 2.0 + t2new_abab += einsum(t2.bbbb, (0, 1, 2, 3), x125, (1, 3, 4, 5), (4, 0, 5, 2)) * 2.0 + del x125 + x126 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x126 += einsum(t2.aaaa, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x126 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 3, 1)) * -1.0 + x127 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x127 += einsum(t1.bb, (0, 1), v.aabb.ovvv, (2, 3, 4, 1), (0, 4, 2, 3)) + x128 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x128 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) + x128 += einsum(x127, (0, 1, 2, 3), (0, 1, 2, 3)) + x128 += einsum(t1.bb, (0, 1), x4, (0, 2, 3, 4), (2, 1, 3, 4)) * -1.0 + t2new_abab += einsum(x126, (0, 1, 2, 3), x128, (4, 5, 0, 2), (1, 4, 3, 5)) + del x126, x128 + x129 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + x129 += einsum(t1.bb, (0, 1), v.aabb.vvov, (2, 3, 4, 1), (0, 4, 2, 3)) + x130 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x130 += einsum(v.aabb.ovoo, (0, 1, 2, 3), (2, 3, 0, 1)) + x130 += einsum(x3, (0, 1, 2, 3), (0, 1, 2, 3)) + x131 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + x131 += einsum(v.aabb.vvoo, (0, 1, 2, 3), (2, 3, 0, 1)) + x131 += einsum(x129, (0, 1, 2, 3), (1, 0, 3, 2)) + x131 += einsum(t1.aa, (0, 1), x130, (2, 3, 0, 4), (3, 2, 4, 1)) * -1.0 + t2new_abab += einsum(t2.abab, (0, 1, 2, 3), x131, (1, 4, 2, 5), (0, 4, 5, 3)) * -1.0 + del x131 + x132 = np.zeros((nvir[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) + x132 += einsum(t1.bb, (0, 1), v.aabb.vvov, (2, 3, 0, 4), (1, 4, 2, 3)) + x133 = np.zeros((nvir[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) + x133 += einsum(t1.aa, (0, 1), v.aabb.ovvv, (0, 2, 3, 4), (3, 4, 1, 2)) + x134 = np.zeros((nvir[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) + x134 += einsum(v.aabb.vvvv, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 + x134 += einsum(x132, (0, 1, 2, 3), (1, 0, 3, 2)) + x134 += einsum(x133, (0, 1, 2, 3), (1, 0, 3, 2)) + t2new_abab += einsum(t2.abab, (0, 1, 2, 3), x134, (3, 4, 2, 5), (0, 1, 5, 4)) * -1.0 + del x134 + x135 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) + x135 += einsum(t1.bb, (0, 1), v.aabb.ooov, (2, 3, 4, 1), (0, 4, 2, 3)) + x136 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) + x136 += einsum(t1.aa, (0, 1), v.aabb.ovoo, (2, 1, 3, 4), (3, 4, 0, 2)) + x137 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) + x137 += einsum(v.aabb.ovov, (0, 1, 2, 3), x5, (4, 3, 5, 1), (4, 2, 5, 0)) + x138 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) + x138 += einsum(v.aabb.oooo, (0, 1, 2, 3), (2, 3, 0, 1)) + x138 += einsum(x135, (0, 1, 2, 3), (1, 0, 3, 2)) + x138 += einsum(x136, (0, 1, 2, 3), (1, 0, 3, 2)) + x138 += einsum(x137, (0, 1, 2, 3), (1, 0, 3, 2)) + t2new_abab += einsum(t2.abab, (0, 1, 2, 3), x138, (1, 4, 0, 5), (5, 4, 2, 3)) + del x138 + x139 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x139 += einsum(t1.aa, (0, 1), x13, (0, 2), (2, 1)) + x140 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x140 += einsum(f.aa.vv, (0, 1), (0, 1)) * -1.0 + x140 += einsum(x71, (0, 1), (1, 0)) * -1.0 + x140 += einsum(x72, (0, 1), (1, 0)) + x140 += einsum(x73, (0, 1), (1, 0)) * 2.0 + x140 += einsum(x74, (0, 1), (1, 0)) * -1.0 + del x74 + x140 += einsum(x139, (0, 1), (0, 1)) + t2new_abab += einsum(x140, (0, 1), t2.abab, (2, 3, 0, 4), (2, 3, 1, 4)) * -1.0 + t3new_babbab += einsum(x140, (0, 1), t3.babbab, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) * -2.0 + del x140 + x141 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x141 += einsum(t1.aa, (0, 1), v.aabb.ovvv, (0, 1, 2, 3), (2, 3)) + x142 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x142 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (0, 4, 1, 3), (2, 4)) + x143 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x143 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 1, 4), (3, 4)) + x144 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x144 += einsum(t1.bb, (0, 1), x114, (0, 2, 1, 3), (2, 3)) + del x114 + x145 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x145 += einsum(t1.bb, (0, 1), x9, (0, 2), (2, 1)) + x146 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x146 += einsum(f.bb.vv, (0, 1), (0, 1)) * -1.0 + x146 += einsum(x141, (0, 1), (1, 0)) * -1.0 + x146 += einsum(x142, (0, 1), (1, 0)) * 2.0 + x146 += einsum(x143, (0, 1), (1, 0)) + x146 += einsum(x144, (0, 1), (0, 1)) * -1.0 + x146 += einsum(x145, (0, 1), (0, 1)) + t2new_abab += einsum(x146, (0, 1), t2.abab, (2, 3, 4, 0), (2, 3, 4, 1)) * -1.0 + t3new_abaaba += einsum(x146, (0, 1), t3.abaaba, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) * -2.0 + del x146 + x147 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x147 += einsum(t1.aa, (0, 1), v.aabb.vvoo, (2, 1, 3, 4), (3, 4, 0, 2)) + x148 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x148 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) + x148 += einsum(x38, (0, 1, 2, 3), (0, 1, 2, 3)) + x149 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x149 += einsum(t1.bb, (0, 1), x148, (2, 1, 3, 4), (2, 0, 3, 4)) + del x148 + x150 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) + x150 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 5, 3), (1, 5, 0, 4)) + x151 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) + x151 += einsum(v.aabb.oooo, (0, 1, 2, 3), (2, 3, 0, 1)) + x151 += einsum(x135, (0, 1, 2, 3), (0, 1, 3, 2)) + x151 += einsum(x150, (0, 1, 2, 3), (0, 1, 3, 2)) + x152 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x152 += einsum(v.aabb.ovoo, (0, 1, 2, 3), (2, 3, 0, 1)) + x152 += einsum(x147, (0, 1, 2, 3), (1, 0, 2, 3)) + x152 += einsum(x149, (0, 1, 2, 3), (0, 1, 2, 3)) + x152 += einsum(t1.aa, (0, 1), x151, (2, 3, 0, 4), (3, 2, 4, 1)) * -1.0 + del x151 + t2new_abab += einsum(t1.bb, (0, 1), x152, (0, 2, 3, 4), (3, 2, 4, 1)) * -1.0 + del x152 + x153 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x153 += einsum(t1.aa, (0, 1), v.aabb.vvvv, (2, 1, 3, 4), (3, 4, 0, 2)) + x154 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x154 += einsum(v.aabb.ovvv, (0, 1, 2, 3), (2, 3, 0, 1)) + x154 += einsum(x153, (0, 1, 2, 3), (1, 0, 2, 3)) + t2new_abab += einsum(t1.bb, (0, 1), x154, (1, 2, 3, 4), (3, 0, 4, 2)) + del x154 + x155 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x155 += einsum(t1.bb, (0, 1), v.aabb.oovv, (2, 3, 4, 1), (0, 4, 2, 3)) + x156 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x156 += einsum(v.aabb.ooov, (0, 1, 2, 3), (2, 3, 0, 1)) + x156 += einsum(x155, (0, 1, 2, 3), (0, 1, 3, 2)) + t2new_abab += einsum(t1.aa, (0, 1), x156, (2, 3, 0, 4), (4, 2, 1, 3)) * -1.0 + del x156 + x157 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x157 += einsum(t1.bb, (0, 1), v.bbbb.vvvv, (2, 3, 4, 1), (0, 2, 3, 4)) + x158 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x158 += einsum(t1.bb, (0, 1), x157, (2, 3, 1, 4), (0, 2, 3, 4)) + x159 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x159 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 0, 6, 1, 3), (4, 5, 6, 2)) + x160 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x160 += einsum(v.aabb.ovvv, (0, 1, 2, 3), t3.babbab, (4, 0, 5, 6, 1, 3), (4, 5, 6, 2)) + x161 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x161 += einsum(t2.bbbb, (0, 1, 2, 3), x7, (1, 4, 3, 5), (4, 0, 5, 2)) + x162 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x162 += einsum(t2.bbbb, (0, 1, 2, 3), x161, (1, 4, 3, 5), (4, 0, 5, 2)) * -4.0 + del x161 + x163 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x163 += einsum(t2.abab, (0, 1, 2, 3), x11, (0, 4, 2, 5), (1, 3, 4, 5)) + x164 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x164 += einsum(t2.abab, (0, 1, 2, 3), x163, (4, 5, 0, 2), (4, 1, 5, 3)) * -1.0 + x165 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x165 += einsum(x141, (0, 1), (1, 0)) * -1.0 + x165 += einsum(x142, (0, 1), (1, 0)) * 2.0 + x165 += einsum(x143, (0, 1), (1, 0)) + x165 += einsum(x144, (0, 1), (0, 1)) * -1.0 + del x144 + x166 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x166 += einsum(x165, (0, 1), t2.bbbb, (2, 3, 4, 0), (2, 3, 1, 4)) * -2.0 + del x165 + x167 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x167 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovvv, (4, 2, 5, 3), (0, 1, 4, 5)) + x168 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x168 += einsum(v.bbbb.ovov, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 2, 6, 3, 1), (4, 5, 0, 6)) * -1.0 + x169 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x169 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.babbab, (4, 0, 5, 6, 1, 3), (4, 5, 2, 6)) + x170 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x170 += einsum(x9, (0, 1), t2.bbbb, (2, 3, 4, 1), (0, 2, 3, 4)) * -2.0 + x171 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x171 += einsum(t1.bb, (0, 1), x1, (2, 3, 4, 1), (2, 0, 4, 3)) + x172 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x172 += einsum(v.bbbb.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) + x172 += einsum(x171, (0, 1, 2, 3), (3, 1, 2, 0)) + x173 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x173 += einsum(t1.bb, (0, 1), x172, (0, 2, 3, 4), (2, 3, 4, 1)) + del x172 + x174 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x174 += einsum(x167, (0, 1, 2, 3), (2, 1, 0, 3)) * -2.0 + x174 += einsum(x168, (0, 1, 2, 3), (2, 1, 0, 3)) * 6.0 + x174 += einsum(x169, (0, 1, 2, 3), (2, 1, 0, 3)) * 2.0 + x174 += einsum(x170, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x174 += einsum(x173, (0, 1, 2, 3), (1, 0, 2, 3)) + del x173 + x175 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x175 += einsum(t1.bb, (0, 1), x174, (0, 2, 3, 4), (2, 3, 4, 1)) + del x174 + x176 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x176 += einsum(x158, (0, 1, 2, 3), (0, 1, 2, 3)) + del x158 + x176 += einsum(x159, (0, 1, 2, 3), (0, 1, 2, 3)) * -6.0 + del x159 + x176 += einsum(x160, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + del x160 + x176 += einsum(x162, (0, 1, 2, 3), (0, 1, 2, 3)) + del x162 + x176 += einsum(x164, (0, 1, 2, 3), (0, 1, 2, 3)) + del x164 + x176 += einsum(x166, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x166 + x176 += einsum(x175, (0, 1, 2, 3), (1, 0, 3, 2)) + del x175 + t2new_bbbb += einsum(x176, (0, 1, 2, 3), (0, 1, 2, 3)) + t2new_bbbb += einsum(x176, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x176 + x177 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x177 += einsum(t1.bb, (0, 1), v.bbbb.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) + x178 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x178 += einsum(t2.abab, (0, 1, 2, 3), x127, (4, 5, 0, 2), (4, 1, 3, 5)) + x179 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x179 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + x179 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x179 += einsum(x111, (0, 1, 2, 3), (1, 0, 3, 2)) + x180 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x180 += einsum(t2.bbbb, (0, 1, 2, 3), x179, (1, 4, 3, 5), (4, 0, 5, 2)) * 2.0 + del x179 + x181 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x181 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) + x181 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 + x182 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x182 += einsum(t1.bb, (0, 1), x181, (2, 1, 3, 4), (2, 0, 3, 4)) + del x181 + x183 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x183 += einsum(t2.bbbb, (0, 1, 2, 3), x182, (1, 4, 5, 3), (4, 0, 5, 2)) * -2.0 + x184 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x184 += einsum(t1.bb, (0, 1), v.bbbb.ooov, (2, 3, 4, 1), (0, 2, 3, 4)) + x185 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x185 += einsum(t1.bb, (0, 1), x184, (2, 3, 4, 0), (2, 4, 3, 1)) + x186 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x186 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovoo, (0, 2, 4, 5), (1, 4, 5, 3)) + x187 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x187 += einsum(t2.abab, (0, 1, 2, 3), x3, (4, 5, 0, 2), (4, 1, 5, 3)) + x188 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x188 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x188 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) + x189 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x189 += einsum(t2.bbbb, (0, 1, 2, 3), x188, (1, 4, 5, 3), (4, 5, 0, 2)) * 2.0 + x190 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x190 += einsum(x1, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x190 += einsum(x1, (0, 1, 2, 3), (0, 2, 1, 3)) + x191 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x191 += einsum(t2.bbbb, (0, 1, 2, 3), x190, (4, 1, 5, 3), (4, 5, 0, 2)) * 2.0 + x192 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x192 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) + x192 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x192 += einsum(x177, (0, 1, 2, 3), (0, 1, 2, 3)) + x193 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x193 += einsum(t1.bb, (0, 1), x192, (2, 3, 1, 4), (2, 3, 0, 4)) + x194 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x194 += einsum(x185, (0, 1, 2, 3), (0, 2, 1, 3)) + x194 += einsum(x186, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x194 += einsum(x187, (0, 1, 2, 3), (0, 2, 1, 3)) + x194 += einsum(x189, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 + del x189 + x194 += einsum(x191, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x191 + x194 += einsum(x193, (0, 1, 2, 3), (2, 1, 0, 3)) + x195 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x195 += einsum(t1.bb, (0, 1), x194, (2, 0, 3, 4), (2, 3, 4, 1)) + del x194 + x196 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x196 += einsum(x177, (0, 1, 2, 3), (0, 1, 2, 3)) + x196 += einsum(x111, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x196 += einsum(x178, (0, 1, 2, 3), (0, 1, 2, 3)) + del x178 + x196 += einsum(x180, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x180 + x196 += einsum(x183, (0, 1, 2, 3), (0, 1, 3, 2)) + del x183 + x196 += einsum(x195, (0, 1, 2, 3), (0, 1, 3, 2)) + del x195 + t2new_bbbb += einsum(x196, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + t2new_bbbb += einsum(x196, (0, 1, 2, 3), (0, 1, 3, 2)) + t2new_bbbb += einsum(x196, (0, 1, 2, 3), (1, 0, 2, 3)) + t2new_bbbb += einsum(x196, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x196 + x197 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x197 += einsum(t1.bb, (0, 1), v.bbbb.ooov, (2, 0, 3, 4), (2, 3, 1, 4)) + x198 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x198 += einsum(v.bbbb.ooov, (0, 1, 2, 3), t3.bbbbbb, (4, 1, 2, 5, 6, 3), (4, 0, 5, 6)) + x199 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x199 += einsum(t2.bbbb, (0, 1, 2, 3), x184, (4, 5, 0, 1), (4, 5, 2, 3)) + x200 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x200 += einsum(v.aabb.ovoo, (0, 1, 2, 3), t3.babbab, (4, 0, 3, 5, 1, 6), (4, 2, 5, 6)) + x201 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x201 += einsum(x1, (0, 1, 2, 3), t3.bbbbbb, (4, 1, 2, 5, 6, 3), (0, 4, 5, 6)) * -1.0 + x202 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x202 += einsum(x3, (0, 1, 2, 3), t3.babbab, (4, 2, 1, 5, 3, 6), (0, 4, 5, 6)) + x203 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x203 += einsum(f.bb.oo, (0, 1), (0, 1)) + x203 += einsum(x20, (0, 1), (1, 0)) + x204 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x204 += einsum(x203, (0, 1), t2.bbbb, (2, 1, 3, 4), (0, 2, 3, 4)) * -2.0 + del x203 + x205 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x205 += einsum(x15, (0, 1), (1, 0)) + x205 += einsum(x16, (0, 1), (1, 0)) * 2.0 + x205 += einsum(x17, (0, 1), (1, 0)) + x205 += einsum(x19, (0, 1), (1, 0)) * -1.0 + x206 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x206 += einsum(x205, (0, 1), t2.bbbb, (2, 0, 3, 4), (1, 2, 3, 4)) * -2.0 + del x205 + x207 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x207 += einsum(x197, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x197 + x207 += einsum(x198, (0, 1, 2, 3), (0, 1, 3, 2)) * -6.0 + del x198 + x207 += einsum(x199, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 + del x199 + x207 += einsum(x200, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 + del x200 + x207 += einsum(x201, (0, 1, 2, 3), (0, 1, 3, 2)) * 6.0 + del x201 + x207 += einsum(x202, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 + del x202 + x207 += einsum(x204, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x204 + x207 += einsum(x206, (0, 1, 2, 3), (1, 0, 3, 2)) + del x206 + t2new_bbbb += einsum(x207, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + t2new_bbbb += einsum(x207, (0, 1, 2, 3), (1, 0, 2, 3)) + del x207 + x208 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x208 += einsum(f.bb.vv, (0, 1), t2.bbbb, (2, 3, 4, 1), (2, 3, 0, 4)) + x209 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x209 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + x209 += einsum(x208, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 + del x208 + t2new_bbbb += einsum(x209, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + t2new_bbbb += einsum(x209, (0, 1, 2, 3), (0, 1, 2, 3)) + del x209 + x210 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x210 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 2, 5, 3), (0, 1, 4, 5)) + x211 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x211 += einsum(v.bbbb.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x211 += einsum(x210, (0, 1, 2, 3), (3, 1, 2, 0)) * -1.0 + x211 += einsum(x171, (0, 1, 2, 3), (2, 1, 3, 0)) + t2new_bbbb += einsum(t2.bbbb, (0, 1, 2, 3), x211, (0, 4, 1, 5), (4, 5, 2, 3)) * -2.0 + del x211 + x212 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x212 += einsum(t1.bb, (0, 1), x210, (2, 3, 0, 4), (2, 3, 4, 1)) * -2.0 + x212 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x212 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) + t2new_bbbb += einsum(t1.bb, (0, 1), x212, (2, 3, 0, 4), (2, 3, 1, 4)) + del x212 + x213 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x213 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.abaaba, (4, 2, 5, 6, 3, 7), (4, 5, 0, 6, 7, 1)) + x214 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x214 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ooov, (4, 0, 1, 5), (4, 2, 3, 5)) + x215 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x215 += einsum(t2.aaaa, (0, 1, 2, 3), x214, (4, 5, 6, 3), (0, 1, 4, 5, 6, 2)) + x216 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x216 += einsum(t2.aaaa, (0, 1, 2, 3), x77, (4, 5, 1, 6), (4, 5, 0, 2, 3, 6)) + x217 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x217 += einsum(x28, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 0, 6, 7, 2), (4, 5, 1, 6, 7, 3)) * 6.0 + x218 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x218 += einsum(x213, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 2.0 + del x213 + x218 += einsum(x215, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -4.0 + del x215 + x218 += einsum(x216, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -4.0 + del x216 + x218 += einsum(x217, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x217 + t3new_aaaaaa = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + t3new_aaaaaa += einsum(x218, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 + t3new_aaaaaa += einsum(x218, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) + t3new_aaaaaa += einsum(x218, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -1.0 + t3new_aaaaaa += einsum(x218, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) + t3new_aaaaaa += einsum(x218, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + t3new_aaaaaa += einsum(x218, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) + t3new_aaaaaa += einsum(x218, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) + t3new_aaaaaa += einsum(x218, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -1.0 + t3new_aaaaaa += einsum(x218, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) + del x218 + x219 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x219 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.vvov, (4, 5, 1, 3), (0, 2, 4, 5)) + x220 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x220 += einsum(t2.aaaa, (0, 1, 2, 3), x118, (1, 3, 4, 5), (0, 2, 4, 5)) * 2.0 + x221 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x221 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) + x221 += einsum(x219, (0, 1, 2, 3), (0, 1, 3, 2)) + x221 += einsum(x220, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x220 + x222 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x222 += einsum(t2.aaaa, (0, 1, 2, 3), x221, (4, 5, 3, 6), (0, 1, 4, 2, 5, 6)) * -2.0 + del x221 + x223 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x223 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ooov, (4, 5, 6, 3), (0, 1, 4, 5, 6, 2)) + x224 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x224 += einsum(t1.aa, (0, 1), x223, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) + del x223 + x225 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x225 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (0, 4, 2, 5)) + x226 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x226 += einsum(t2.aaaa, (0, 1, 2, 3), x68, (1, 4, 5, 3), (0, 4, 2, 5)) * 2.0 + x227 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x227 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + x227 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x227 += einsum(x225, (0, 1, 2, 3), (0, 1, 2, 3)) + x227 += einsum(x226, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x228 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x228 += einsum(t2.aaaa, (0, 1, 2, 3), x227, (4, 5, 6, 3), (0, 1, 4, 5, 2, 6)) * -1.0 + del x227 + x229 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x229 += einsum(x224, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) + del x224 + x229 += einsum(x228, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) * -1.0 + del x228 + x230 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x230 += einsum(t1.aa, (0, 1), x229, (2, 3, 0, 4, 5, 6), (2, 3, 4, 5, 6, 1)) * 2.0 + del x229 + x231 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x231 += einsum(x222, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) + del x222 + x231 += einsum(x230, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) + del x230 + t3new_aaaaaa += einsum(x231, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 + t3new_aaaaaa += einsum(x231, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) + t3new_aaaaaa += einsum(x231, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) + t3new_aaaaaa += einsum(x231, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -1.0 + t3new_aaaaaa += einsum(x231, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -1.0 + t3new_aaaaaa += einsum(x231, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) + t3new_aaaaaa += einsum(x231, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) + t3new_aaaaaa += einsum(x231, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + t3new_aaaaaa += einsum(x231, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -1.0 + t3new_aaaaaa += einsum(x231, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) + t3new_aaaaaa += einsum(x231, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) + t3new_aaaaaa += einsum(x231, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -1.0 + t3new_aaaaaa += einsum(x231, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) + t3new_aaaaaa += einsum(x231, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -1.0 + t3new_aaaaaa += einsum(x231, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -1.0 + t3new_aaaaaa += einsum(x231, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) + t3new_aaaaaa += einsum(x231, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) + t3new_aaaaaa += einsum(x231, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -1.0 + del x231 + x232 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x232 += einsum(v.aaaa.oooo, (0, 1, 2, 3), t3.aaaaaa, (4, 3, 1, 5, 6, 7), (4, 0, 2, 5, 6, 7)) * -1.0 + x233 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x233 += einsum(f.aa.oo, (0, 1), (0, 1)) + x233 += einsum(x30, (0, 1), (1, 0)) + x233 += einsum(x31, (0, 1), (1, 0)) * 2.0 + x233 += einsum(x34, (0, 1), (0, 1)) + x234 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x234 += einsum(x233, (0, 1), t3.aaaaaa, (2, 3, 0, 4, 5, 6), (2, 3, 1, 4, 5, 6)) * 6.0 + del x233 + x235 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x235 += einsum(x232, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 6.0 + del x232 + x235 += einsum(x234, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) + del x234 + t3new_aaaaaa += einsum(x235, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -1.0 + t3new_aaaaaa += einsum(x235, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 + t3new_aaaaaa += einsum(x235, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) + del x235 + x236 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x236 += einsum(v.aaaa.vvvv, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 6, 7, 3, 1), (4, 5, 6, 7, 0, 2)) * -1.0 + x237 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x237 += einsum(f.aa.vv, (0, 1), (0, 1)) * -1.0 + x237 += einsum(x72, (0, 1), (1, 0)) + x237 += einsum(x73, (0, 1), (1, 0)) * 2.0 + x237 += einsum(x139, (0, 1), (0, 1)) + x238 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x238 += einsum(x237, (0, 1), t3.aaaaaa, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 6, 1)) * 6.0 + del x237 + x239 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x239 += einsum(x236, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -6.0 + del x236 + x239 += einsum(x238, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -1.0 + del x238 + t3new_aaaaaa += einsum(x239, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + t3new_aaaaaa += einsum(x239, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 + t3new_aaaaaa += einsum(x239, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) + del x239 + x240 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x240 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.abaaba, (4, 2, 0, 5, 3, 6), (4, 5, 6, 1)) + x241 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x241 += einsum(v.aaaa.ovov, (0, 1, 2, 3), t3.aaaaaa, (4, 0, 2, 5, 6, 3), (4, 5, 6, 1)) + x242 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x242 += einsum(x240, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x242 += einsum(x241, (0, 1, 2, 3), (0, 2, 1, 3)) * -3.0 + x243 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x243 += einsum(t2.aaaa, (0, 1, 2, 3), x242, (4, 5, 6, 3), (0, 1, 4, 2, 5, 6)) * -4.0 + del x242 + x244 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x244 += einsum(v.aabb.ooov, (0, 1, 2, 3), t3.abaaba, (4, 2, 5, 6, 3, 7), (4, 5, 0, 1, 6, 7)) + x245 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x245 += einsum(x32, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 2, 6, 7, 3), (4, 5, 0, 1, 6, 7)) * 3.0 + x246 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x246 += einsum(x244, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -1.0 + del x244 + x246 += einsum(x245, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 + del x245 + x247 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x247 += einsum(t1.aa, (0, 1), x246, (2, 3, 0, 4, 5, 6), (2, 3, 4, 5, 6, 1)) * 2.0 + del x246 + x248 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x248 += einsum(x243, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * -1.0 + del x243 + x248 += einsum(x247, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) + del x247 + t3new_aaaaaa += einsum(x248, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + t3new_aaaaaa += einsum(x248, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 + t3new_aaaaaa += einsum(x248, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) + t3new_aaaaaa += einsum(x248, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 + t3new_aaaaaa += einsum(x248, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) + t3new_aaaaaa += einsum(x248, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 + t3new_aaaaaa += einsum(x248, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -1.0 + t3new_aaaaaa += einsum(x248, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) + t3new_aaaaaa += einsum(x248, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -1.0 + del x248 + x249 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x249 += einsum(x101, (0, 1, 2, 3), (1, 0, 3, 2)) + x249 += einsum(x81, (0, 1, 2, 3), (0, 1, 2, 3)) + x250 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x250 += einsum(x249, (0, 1, 2, 3), t3.aaaaaa, (4, 2, 3, 5, 6, 7), (4, 0, 1, 5, 6, 7)) * -6.0 + del x249 + x251 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x251 += einsum(x29, (0, 1), (1, 0)) + del x29 + x251 += einsum(x33, (0, 1), (1, 0)) * -1.0 + del x33 + x252 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x252 += einsum(x251, (0, 1), t3.aaaaaa, (2, 3, 0, 4, 5, 6), (2, 3, 1, 4, 5, 6)) * 6.0 + x253 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x253 += einsum(x250, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) + del x250 + x253 += einsum(x252, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -1.0 + del x252 + t3new_aaaaaa += einsum(x253, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) + t3new_aaaaaa += einsum(x253, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -1.0 + t3new_aaaaaa += einsum(x253, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * -1.0 + del x253 + x254 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x254 += einsum(t1.aa, (0, 1), x118, (0, 1, 2, 3), (2, 3)) + x255 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x255 += einsum(x71, (0, 1), (1, 0)) + del x71 + x255 += einsum(x254, (0, 1), (1, 0)) * -1.0 + del x254 + x256 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x256 += einsum(x255, (0, 1), t3.aaaaaa, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 6, 1)) * 6.0 + x257 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x257 += einsum(v.aaaa.ovov, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 6, 7, 3, 1), (4, 5, 6, 0, 2, 7)) * -1.0 + x258 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x258 += einsum(x98, (0, 1, 2, 3), x257, (4, 5, 6, 0, 1, 7), (4, 5, 6, 2, 3, 7)) * 6.0 + del x98, x257 + x259 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x259 += einsum(x256, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) + del x256 + x259 += einsum(x258, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 + del x258 + t3new_aaaaaa += einsum(x259, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + t3new_aaaaaa += einsum(x259, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 + t3new_aaaaaa += einsum(x259, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) + del x259 + x260 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x260 += einsum(x38, (0, 1, 2, 3), t3.abaaba, (4, 0, 5, 6, 1, 7), (2, 4, 5, 6, 7, 3)) + x261 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x261 += einsum(t2.aaaa, (0, 1, 2, 3), x25, (4, 0, 1, 5), (4, 2, 3, 5)) + x262 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x262 += einsum(t2.aaaa, (0, 1, 2, 3), x261, (4, 5, 6, 3), (4, 0, 1, 5, 6, 2)) * -1.0 + x263 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x263 += einsum(x46, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 0, 6, 7, 3), (4, 5, 1, 6, 7, 2)) * -6.0 + x264 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x264 += einsum(x78, (0, 1, 2, 3), (0, 1, 2, 3)) + x264 += einsum(x79, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0 + x265 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x265 += einsum(t2.aaaa, (0, 1, 2, 3), x264, (4, 5, 1, 6), (0, 4, 5, 2, 3, 6)) * -4.0 + del x264 + x266 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x266 += einsum(x260, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 2.0 + del x260 + x266 += einsum(x262, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -4.0 + del x262 + x266 += einsum(x263, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) + del x263 + x266 += einsum(x265, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) + del x265 + t3new_aaaaaa += einsum(x266, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + t3new_aaaaaa += einsum(x266, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 + t3new_aaaaaa += einsum(x266, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) + t3new_aaaaaa += einsum(x266, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) + t3new_aaaaaa += einsum(x266, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) * -1.0 + t3new_aaaaaa += einsum(x266, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) + t3new_aaaaaa += einsum(x266, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -1.0 + t3new_aaaaaa += einsum(x266, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) + t3new_aaaaaa += einsum(x266, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * -1.0 + del x266 + x267 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x267 += einsum(t2.aaaa, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0000000000000204 + x267 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 3, 1)) * -1.0 + x268 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x268 += einsum(x267, (0, 1, 2, 3), x68, (0, 4, 5, 2), (4, 1, 5, 3)) * 0.9999999999999901 + del x267 + x269 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x269 += einsum(x225, (0, 1, 2, 3), (0, 1, 2, 3)) + x269 += einsum(x268, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x268 + x270 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x270 += einsum(x269, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 1, 6, 7, 3), (4, 5, 0, 6, 7, 2)) * 6.0000000000000595 + del x269 + x271 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x271 += einsum(t2.aaaa, (0, 1, 2, 3), (0, 1, 2, 3)) + x271 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 3, 1)) * -0.499999999999995 + x272 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x272 += einsum(v.aabb.ovov, (0, 1, 2, 3), x271, (0, 4, 1, 5), (2, 3, 4, 5)) + x273 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x273 += einsum(x272, (0, 1, 2, 3), t3.abaaba, (4, 0, 5, 6, 1, 7), (4, 5, 2, 6, 7, 3)) * 4.00000000000004 + del x272 + x274 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x274 += einsum(x270, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) + del x270 + x274 += einsum(x273, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) + del x273 + t3new_aaaaaa += einsum(x274, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + t3new_aaaaaa += einsum(x274, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 + t3new_aaaaaa += einsum(x274, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) + t3new_aaaaaa += einsum(x274, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) + t3new_aaaaaa += einsum(x274, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -1.0 + t3new_aaaaaa += einsum(x274, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) + t3new_aaaaaa += einsum(x274, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -1.0 + t3new_aaaaaa += einsum(x274, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) + t3new_aaaaaa += einsum(x274, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -1.0 + del x274 + x275 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x275 += einsum(t2.aaaa, (0, 1, 2, 3), x64, (4, 5, 3, 6), (4, 0, 1, 2, 6, 5)) + x276 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x276 += einsum(t2.aaaa, (0, 1, 2, 3), x25, (4, 5, 6, 3), (4, 0, 1, 6, 5, 2)) + x277 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x277 += einsum(t1.aa, (0, 1), x276, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) + del x276 + x278 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x278 += einsum(t2.aaaa, (0, 1, 2, 3), x46, (4, 5, 6, 3), (0, 1, 5, 4, 2, 6)) + x279 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x279 += einsum(x277, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 + del x277 + x279 += einsum(x278, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -1.0 + del x278 + x280 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x280 += einsum(t1.aa, (0, 1), x279, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 6, 1)) * 2.0 + del x279 + x281 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x281 += einsum(x275, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -2.0 + del x275 + x281 += einsum(x280, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -1.0 + del x280 + t3new_aaaaaa += einsum(x281, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 + t3new_aaaaaa += einsum(x281, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) + t3new_aaaaaa += einsum(x281, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) + t3new_aaaaaa += einsum(x281, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -1.0 + t3new_aaaaaa += einsum(x281, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -1.0 + t3new_aaaaaa += einsum(x281, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) + t3new_aaaaaa += einsum(x281, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) * -1.0 + t3new_aaaaaa += einsum(x281, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) + t3new_aaaaaa += einsum(x281, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) + t3new_aaaaaa += einsum(x281, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 + t3new_aaaaaa += einsum(x281, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * -1.0 + t3new_aaaaaa += einsum(x281, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) + t3new_aaaaaa += einsum(x281, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) + t3new_aaaaaa += einsum(x281, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -1.0 + t3new_aaaaaa += einsum(x281, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -1.0 + t3new_aaaaaa += einsum(x281, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) + t3new_aaaaaa += einsum(x281, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) + t3new_aaaaaa += einsum(x281, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -1.0 + del x281 + x282 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x282 += einsum(x49, (0, 1, 2, 3), t3.aaaaaa, (4, 2, 3, 5, 6, 7), (0, 4, 1, 5, 6, 7)) + t3new_aaaaaa += einsum(x282, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 6.0 + t3new_aaaaaa += einsum(x282, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -6.0 + t3new_aaaaaa += einsum(x282, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -6.0 + t3new_aaaaaa += einsum(x282, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * 6.0 + t3new_aaaaaa += einsum(x282, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 6.0 + t3new_aaaaaa += einsum(x282, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -6.0 + del x282 + x283 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x283 += einsum(x61, (0, 1, 2, 3), t3.abaaba, (4, 0, 5, 6, 1, 7), (4, 5, 2, 6, 7, 3)) * -2.00000000000002 + t3new_aaaaaa += einsum(x283, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) + t3new_aaaaaa += einsum(x283, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -1.0 + t3new_aaaaaa += einsum(x283, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) + t3new_aaaaaa += einsum(x283, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -1.0 + t3new_aaaaaa += einsum(x283, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) + t3new_aaaaaa += einsum(x283, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * -1.0 + t3new_aaaaaa += einsum(x283, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -1.0 + t3new_aaaaaa += einsum(x283, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) + t3new_aaaaaa += einsum(x283, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 + del x283 + x284 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x284 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 6, 7, 1, 3), (4, 5, 6, 0, 7, 2)) + x285 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x285 += einsum(t1.aa, (0, 1), x284, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) + del x284 + t3new_aaaaaa += einsum(x285, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 6.0 + t3new_aaaaaa += einsum(x285, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -6.0 + t3new_aaaaaa += einsum(x285, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -6.0 + t3new_aaaaaa += einsum(x285, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * 6.0 + t3new_aaaaaa += einsum(x285, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 6.0 + t3new_aaaaaa += einsum(x285, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -6.0 + del x285 + x286 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x286 += einsum(t1.aa, (0, 1), v.aaaa.oovv, (2, 3, 4, 1), (0, 2, 3, 4)) + x287 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x287 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ooov, (4, 5, 1, 3), (0, 4, 5, 2)) + x288 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x288 += einsum(x286, (0, 1, 2, 3), (0, 2, 1, 3)) + x288 += einsum(x48, (0, 1, 2, 3), (0, 2, 1, 3)) + x288 += einsum(x287, (0, 1, 2, 3), (0, 2, 1, 3)) * 2.0 + x289 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x289 += einsum(t1.aa, (0, 1), x81, (2, 3, 0, 4), (3, 2, 4, 1)) + del x81 + x290 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x290 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + x290 += einsum(x37, (0, 1, 2, 3), (1, 0, 2, 3)) + x291 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x291 += einsum(t1.aa, (0, 1), x290, (2, 3, 1, 4), (2, 3, 0, 4)) + x292 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x292 += einsum(v.aaaa.ooov, (0, 1, 2, 3), x40, (1, 4, 3, 5), (0, 2, 4, 5)) * 2.0 + x293 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x293 += einsum(x52, (0, 1, 2, 3), (0, 1, 2, 3)) + x293 += einsum(x289, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x293 += einsum(x56, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x56 + x293 += einsum(x291, (0, 1, 2, 3), (2, 1, 0, 3)) + del x291 + x293 += einsum(x292, (0, 1, 2, 3), (2, 0, 1, 3)) + del x292 + x294 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x294 += einsum(x101, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 + del x101 + x294 += einsum(v.aaaa.oooo, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 + x294 += einsum(v.aaaa.oooo, (0, 1, 2, 3), (0, 2, 1, 3)) + x295 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x295 += einsum(t1.aa, (0, 1), x294, (2, 3, 0, 4), (2, 3, 4, 1)) + x296 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x296 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x296 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) + x296 += einsum(x288, (0, 1, 2, 3), (0, 1, 2, 3)) + x296 += einsum(x288, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x288 + x296 += einsum(x293, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x296 += einsum(x293, (0, 1, 2, 3), (1, 0, 2, 3)) + del x293 + x296 += einsum(x50, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x296 += einsum(x50, (0, 1, 2, 3), (1, 0, 2, 3)) + x296 += einsum(x80, (0, 1, 2, 3), (2, 1, 0, 3)) + x296 += einsum(x295, (0, 1, 2, 3), (1, 0, 2, 3)) + x297 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x297 += einsum(t2.aaaa, (0, 1, 2, 3), x296, (4, 5, 1, 6), (0, 4, 5, 2, 3, 6)) * -2.0 + del x296 + t3new_aaaaaa += einsum(x297, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 + t3new_aaaaaa += einsum(x297, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) + t3new_aaaaaa += einsum(x297, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) + del x297 + x298 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x298 += einsum(x286, (0, 1, 2, 3), (0, 2, 1, 3)) * 0.5 + del x286 + x298 += einsum(x48, (0, 1, 2, 3), (0, 2, 1, 3)) * 0.5 + x298 += einsum(x287, (0, 1, 2, 3), (0, 2, 1, 3)) + del x287 + x299 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x299 += einsum(t2.aaaa, (0, 1, 2, 3), x55, (4, 1, 5, 3), (0, 4, 5, 2)) + x300 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x300 += einsum(t1.aa, (0, 1), x290, (2, 3, 1, 4), (2, 3, 0, 4)) * 0.5 + del x290 + x301 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x301 += einsum(v.aaaa.ooov, (0, 1, 2, 3), x40, (1, 4, 3, 5), (0, 2, 4, 5)) + x302 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x302 += einsum(x52, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 + x302 += einsum(x289, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 + del x289 + x302 += einsum(x299, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x299 + x302 += einsum(x300, (0, 1, 2, 3), (2, 1, 0, 3)) + del x300 + x302 += einsum(x301, (0, 1, 2, 3), (2, 0, 1, 3)) + del x301 + x303 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x303 += einsum(x13, (0, 1), t2.aaaa, (2, 3, 4, 1), (0, 2, 3, 4)) * -1.0 + x304 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x304 += einsum(t1.aa, (0, 1), x294, (2, 3, 0, 4), (2, 3, 4, 1)) * 0.5 + del x294 + x305 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x305 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 + x305 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) * 0.5 + x305 += einsum(x298, (0, 1, 2, 3), (0, 1, 2, 3)) + x305 += einsum(x298, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x298 + x305 += einsum(x302, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x305 += einsum(x302, (0, 1, 2, 3), (1, 0, 2, 3)) + del x302 + x305 += einsum(x50, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 + x305 += einsum(x50, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.5 + x305 += einsum(x303, (0, 1, 2, 3), (2, 1, 0, 3)) + del x303 + x305 += einsum(x304, (0, 1, 2, 3), (1, 0, 2, 3)) + del x304 + x306 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x306 += einsum(t2.aaaa, (0, 1, 2, 3), x305, (4, 5, 1, 6), (0, 4, 5, 2, 3, 6)) * -4.0 + del x305 + t3new_aaaaaa += einsum(x306, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -1.0 + t3new_aaaaaa += einsum(x306, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 + t3new_aaaaaa += einsum(x306, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -1.0 + t3new_aaaaaa += einsum(x306, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) + t3new_aaaaaa += einsum(x306, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) + t3new_aaaaaa += einsum(x306, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) + del x306 + x307 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x307 += einsum(t2.abab, (0, 1, 2, 3), v.bbbb.ovvv, (4, 5, 6, 3), (1, 4, 5, 6, 0, 2)) + x308 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x308 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.abaaba, (4, 5, 0, 6, 7, 1), (5, 2, 7, 3, 4, 6)) + x309 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x309 += einsum(x127, (0, 1, 2, 3), t3.abaaba, (4, 5, 2, 6, 7, 3), (0, 5, 7, 1, 4, 6)) + x310 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x310 += einsum(t2.bbbb, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.00000000000002 + x310 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1)) * -1.0 + x311 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x311 += einsum(x310, (0, 1, 2, 3), x7, (0, 4, 2, 5), (4, 1, 5, 3)) + del x310 + x312 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x312 += einsum(x111, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.00000000000001 + x312 += einsum(x311, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x311 + x313 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x313 += einsum(x312, (0, 1, 2, 3), t3.babbab, (4, 5, 1, 6, 7, 3), (0, 4, 2, 6, 5, 7)) * 2.0 + del x312 + x314 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x314 += einsum(t2.abab, (0, 1, 2, 3), x11, (0, 4, 2, 5), (1, 3, 4, 5)) * 1.00000000000001 + x315 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x315 += einsum(t2.bbbb, (0, 1, 2, 3), (0, 1, 2, 3)) + x315 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1)) * -0.499999999999995 + x316 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x316 += einsum(v.aabb.ovov, (0, 1, 2, 3), x315, (2, 4, 3, 5), (4, 5, 0, 1)) * 2.00000000000002 + x317 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x317 += einsum(x314, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x317 += einsum(x316, (0, 1, 2, 3), (0, 1, 2, 3)) + del x316 + x318 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x318 += einsum(x317, (0, 1, 2, 3), t3.abaaba, (4, 5, 2, 6, 7, 3), (5, 0, 7, 1, 4, 6)) * 2.0 + del x317 + x319 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x319 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), (0, 2, 3, 5, 1, 4)) + x319 += einsum(t1.bb, (0, 1), t2.abab, (2, 3, 4, 5), (0, 3, 5, 1, 2, 4)) * -0.5 + x320 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x320 += einsum(x14, (0, 1, 2, 3), x319, (0, 4, 2, 5, 6, 7), (1, 4, 3, 5, 6, 7)) * 2.0 + x321 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x321 += einsum(x182, (0, 1, 2, 3), x319, (0, 4, 3, 5, 6, 7), (1, 4, 2, 5, 6, 7)) * -2.0 + del x319 + x322 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) + x322 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovoo, (0, 4, 5, 1), (5, 3, 2, 4)) + x323 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) + x323 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovvv, (0, 4, 5, 3), (1, 5, 2, 4)) + x324 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) + x324 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.babbab, (4, 0, 2, 5, 6, 3), (4, 5, 6, 1)) + x325 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) + x325 += einsum(v.aaaa.ovov, (0, 1, 2, 3), t3.abaaba, (0, 4, 2, 5, 6, 1), (4, 6, 5, 3)) * -1.0 + x326 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x326 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x326 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) + x326 += einsum(x109, (0, 1, 2, 3), (0, 2, 3, 1)) + x326 += einsum(x109, (0, 1, 2, 3), (0, 3, 2, 1)) * -1.0 + x327 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) + x327 += einsum(t2.abab, (0, 1, 2, 3), x326, (0, 4, 2, 5), (1, 3, 4, 5)) + del x326 + x328 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) + x328 += einsum(x13, (0, 1), t2.abab, (0, 2, 3, 4), (2, 4, 1, 3)) + x329 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) + x329 += einsum(v.aabb.vvov, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 + x329 += einsum(x105, (0, 1, 2, 3), (0, 1, 2, 3)) + x329 += einsum(x322, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x322 + x329 += einsum(x323, (0, 1, 2, 3), (0, 1, 2, 3)) + del x323 + x329 += einsum(x324, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x329 += einsum(x325, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x329 += einsum(x327, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x327 + x329 += einsum(x328, (0, 1, 2, 3), (0, 1, 3, 2)) + del x328 + x330 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x330 += einsum(t2.abab, (0, 1, 2, 3), x329, (4, 5, 6, 2), (4, 1, 5, 3, 0, 6)) + del x329 + x331 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x331 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovvv, (0, 2, 4, 5), (1, 3, 4, 5)) + x332 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x332 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x332 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) + x333 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x333 += einsum(t2.bbbb, (0, 1, 2, 3), x332, (1, 3, 4, 5), (0, 4, 5, 2)) * 2.0 + del x332 + x334 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x334 += einsum(t1.bb, (0, 1), x1, (2, 0, 3, 4), (2, 3, 1, 4)) + x335 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x335 += einsum(t2.bbbb, (0, 1, 2, 3), x7, (1, 4, 3, 5), (4, 0, 5, 2)) * 2.0 + x336 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x336 += einsum(x334, (0, 1, 2, 3), (0, 1, 2, 3)) + del x334 + x336 += einsum(x111, (0, 1, 2, 3), (0, 1, 2, 3)) + x336 += einsum(x335, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + x337 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x337 += einsum(t1.bb, (0, 1), x336, (2, 0, 3, 4), (2, 3, 4, 1)) + del x336 + x338 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x338 += einsum(x157, (0, 1, 2, 3), (0, 2, 1, 3)) + x338 += einsum(x331, (0, 1, 2, 3), (0, 3, 2, 1)) + x338 += einsum(x333, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + del x333 + x338 += einsum(x337, (0, 1, 2, 3), (0, 2, 1, 3)) + del x337 + x339 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x339 += einsum(t2.abab, (0, 1, 2, 3), x338, (4, 3, 5, 6), (4, 1, 5, 6, 0, 2)) + del x338 + x340 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x340 += einsum(t2.abab, (0, 1, 2, 3), v.bbbb.ooov, (4, 5, 6, 3), (1, 4, 5, 6, 0, 2)) + x341 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x341 += einsum(t1.bb, (0, 1), x340, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) + del x340 + x342 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x342 += einsum(v.aabb.ovoo, (0, 1, 2, 3), t3.abaaba, (4, 5, 0, 6, 7, 1), (5, 2, 3, 7, 4, 6)) + x343 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x343 += einsum(x188, (0, 1, 2, 3), t3.babbab, (4, 5, 0, 6, 7, 3), (1, 2, 4, 6, 5, 7)) * 2.0 + del x188 + x344 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + x344 += einsum(t1.aa, (0, 1), v.aabb.ovoo, (0, 2, 3, 4), (3, 4, 1, 2)) + x345 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + x345 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 4, 5, 3), (1, 5, 2, 4)) + x346 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + x346 += einsum(v.aabb.vvoo, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 + x346 += einsum(x344, (0, 1, 2, 3), (1, 0, 3, 2)) + x346 += einsum(x345, (0, 1, 2, 3), (0, 1, 3, 2)) + del x345 + x347 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x347 += einsum(t2.abab, (0, 1, 2, 3), x346, (4, 5, 2, 6), (4, 5, 1, 3, 0, 6)) + del x346 + x348 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) + x348 += einsum(v.aabb.oooo, (0, 1, 2, 3), (2, 3, 0, 1)) + x348 += einsum(x136, (0, 1, 2, 3), (1, 0, 3, 2)) + x348 += einsum(x150, (0, 1, 2, 3), (0, 1, 3, 2)) + del x150 + x349 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x349 += einsum(t2.abab, (0, 1, 2, 3), x348, (4, 5, 0, 6), (4, 5, 1, 3, 6, 2)) + del x348 + x350 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + x350 += einsum(t1.aa, (0, 1), x3, (2, 3, 0, 4), (2, 3, 1, 4)) + x351 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + x351 += einsum(x129, (0, 1, 2, 3), (0, 1, 3, 2)) + x351 += einsum(x350, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x350 + x352 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x352 += einsum(t2.abab, (0, 1, 2, 3), x351, (4, 5, 2, 6), (4, 5, 1, 3, 0, 6)) + del x351 + x353 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x353 += einsum(v.aabb.ooov, (0, 1, 2, 3), (2, 3, 0, 1)) + x353 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) + x354 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) + x354 += einsum(t1.bb, (0, 1), x353, (2, 1, 3, 4), (2, 0, 3, 4)) + x355 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x355 += einsum(t2.abab, (0, 1, 2, 3), x354, (4, 5, 6, 0), (5, 4, 1, 3, 6, 2)) + del x354 + x356 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x356 += einsum(x341, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) + del x341 + x356 += einsum(x342, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -2.0 + del x342 + x356 += einsum(x343, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -1.0 + del x343 + x356 += einsum(x347, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) + del x347 + x356 += einsum(x349, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) + del x349 + x356 += einsum(x352, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x352 + x356 += einsum(x355, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 + del x355 + x357 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x357 += einsum(t1.bb, (0, 1), x356, (2, 0, 3, 4, 5, 6), (2, 3, 4, 1, 5, 6)) + del x356 + x358 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x358 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovoo, (4, 2, 5, 1), (5, 3, 0, 4)) + x359 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x359 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovvv, (4, 2, 5, 3), (1, 5, 0, 4)) + x360 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x360 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.babbab, (4, 5, 2, 6, 1, 3), (4, 6, 5, 0)) + x361 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x361 += einsum(v.aaaa.ovov, (0, 1, 2, 3), t3.abaaba, (4, 5, 2, 3, 6, 1), (5, 6, 4, 0)) * -1.0 + x362 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x362 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x362 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) + x362 += einsum(x25, (0, 1, 2, 3), (1, 0, 2, 3)) + x362 += einsum(x25, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 + x363 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x363 += einsum(t2.abab, (0, 1, 2, 3), x362, (4, 5, 0, 2), (1, 3, 4, 5)) + del x362 + x364 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x364 += einsum(v.aabb.ooov, (0, 1, 2, 3), (2, 3, 0, 1)) + x364 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) + x364 += einsum(x358, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x358 + x364 += einsum(x359, (0, 1, 2, 3), (0, 1, 2, 3)) + del x359 + x364 += einsum(x360, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x364 += einsum(x361, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x364 += einsum(x363, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x363 + x365 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x365 += einsum(t2.abab, (0, 1, 2, 3), x364, (4, 5, 6, 0), (4, 1, 5, 3, 6, 2)) + del x364 + x366 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) + x366 += einsum(t1.bb, (0, 1), v.aabb.vvvv, (2, 3, 4, 1), (0, 4, 2, 3)) + x367 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) + x367 += einsum(t1.aa, (0, 1), x127, (2, 3, 0, 4), (2, 3, 1, 4)) + x368 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) + x368 += einsum(t2.abab, (0, 1, 2, 3), x3, (4, 1, 0, 5), (4, 3, 2, 5)) + x369 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) + x369 += einsum(x366, (0, 1, 2, 3), (0, 1, 3, 2)) + del x366 + x369 += einsum(x367, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x367 + x369 += einsum(x368, (0, 1, 2, 3), (0, 1, 3, 2)) + del x368 + x370 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x370 += einsum(t2.abab, (0, 1, 2, 3), x369, (4, 5, 2, 6), (4, 1, 5, 3, 0, 6)) + del x369 + x371 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x371 += einsum(t2.abab, (0, 1, 2, 3), x3, (4, 1, 5, 2), (4, 3, 0, 5)) + x372 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x372 += einsum(v.aabb.oovv, (0, 1, 2, 3), (2, 3, 0, 1)) + x372 += einsum(x122, (0, 1, 2, 3), (1, 0, 2, 3)) + x373 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x373 += einsum(t1.bb, (0, 1), x372, (1, 2, 3, 4), (0, 2, 3, 4)) + del x372 + x374 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x374 += einsum(x371, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x371 + x374 += einsum(x373, (0, 1, 2, 3), (0, 1, 3, 2)) + del x373 + x375 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x375 += einsum(t2.abab, (0, 1, 2, 3), x374, (4, 5, 0, 6), (4, 1, 5, 3, 6, 2)) + del x374 + x376 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) + x376 += einsum(v.aabb.vvov, (0, 1, 2, 3), (2, 3, 0, 1)) + x376 += einsum(x105, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x105 + x377 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) + x377 += einsum(t2.bbbb, (0, 1, 2, 3), x376, (1, 3, 4, 5), (0, 2, 4, 5)) + del x376 + x378 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x378 += einsum(t2.abab, (0, 1, 2, 3), x377, (4, 5, 6, 2), (4, 1, 5, 3, 0, 6)) * 2.0 + del x377 + x379 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x379 += einsum(t2.bbbb, (0, 1, 2, 3), x353, (1, 3, 4, 5), (0, 2, 4, 5)) + del x353 + x380 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x380 += einsum(t2.abab, (0, 1, 2, 3), x379, (4, 5, 6, 0), (4, 1, 5, 3, 6, 2)) * 2.0 + del x379 + x381 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x381 += einsum(x307, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x307 + x381 += einsum(x308, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -2.0 + del x308 + x381 += einsum(x309, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 2.0 + del x309 + x381 += einsum(x313, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 + del x313 + x381 += einsum(x318, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) * -1.0 + del x318 + x381 += einsum(x320, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) + del x320 + x381 += einsum(x321, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) + del x321 + x381 += einsum(x330, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) + del x330 + x381 += einsum(x339, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 + del x339 + x381 += einsum(x357, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) + del x357 + x381 += einsum(x365, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) + del x365 + x381 += einsum(x370, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) + del x370 + x381 += einsum(x375, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 + del x375 + x381 += einsum(x378, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 + del x378 + x381 += einsum(x380, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x380 + t3new_babbab += einsum(x381, (0, 1, 2, 3, 4, 5), (0, 4, 1, 2, 5, 3)) * -1.0 + t3new_babbab += einsum(x381, (0, 1, 2, 3, 4, 5), (0, 4, 1, 3, 5, 2)) + t3new_babbab += einsum(x381, (0, 1, 2, 3, 4, 5), (1, 4, 0, 2, 5, 3)) + t3new_babbab += einsum(x381, (0, 1, 2, 3, 4, 5), (1, 4, 0, 3, 5, 2)) * -1.0 + del x381 + x382 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x382 += einsum(t2.bbbb, (0, 1, 2, 3), x1, (4, 0, 1, 5), (4, 2, 3, 5)) + x383 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x383 += einsum(t2.abab, (0, 1, 2, 3), x382, (4, 5, 6, 3), (4, 1, 5, 6, 0, 2)) * -1.0 + x384 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x384 += einsum(t2.abab, (0, 1, 2, 3), (1, 3, 0, 2)) + x384 += einsum(t1.aa, (0, 1), t1.bb, (2, 3), (2, 3, 0, 1)) * 0.99999999999999 + x385 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + x385 += einsum(v.aabb.ovov, (0, 1, 2, 3), x384, (4, 3, 0, 5), (2, 4, 1, 5)) * 1.00000000000001 + x386 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + x386 += einsum(x129, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + x386 += einsum(x385, (0, 1, 2, 3), (1, 0, 2, 3)) + del x385 + x387 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x387 += einsum(x386, (0, 1, 2, 3), t3.babbab, (4, 5, 1, 6, 2, 7), (0, 4, 6, 7, 5, 3)) * -2.0 + del x386 + x388 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) + x388 += einsum(x135, (0, 1, 2, 3), (0, 1, 3, 2)) + x388 += einsum(x137, (0, 1, 2, 3), (0, 1, 3, 2)) + x389 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x389 += einsum(x388, (0, 1, 2, 3), t3.babbab, (4, 2, 1, 5, 6, 7), (0, 4, 5, 7, 3, 6)) * -2.0 + del x388 + x390 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x390 += einsum(t1.aa, (0, 1), v.aabb.oooo, (2, 0, 3, 4), (3, 4, 2, 1)) + x391 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x391 += einsum(v.bbbb.ovov, (0, 1, 2, 3), t3.babbab, (4, 5, 2, 3, 6, 1), (4, 0, 5, 6)) * -1.0 + x392 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x392 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.abaaba, (4, 5, 0, 6, 3, 1), (5, 2, 4, 6)) + x393 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x393 += einsum(t2.abab, (0, 1, 2, 3), x18, (4, 5, 1, 3), (4, 5, 0, 2)) + x394 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x394 += einsum(t2.abab, (0, 1, 2, 3), x24, (4, 3, 0, 5), (4, 1, 5, 2)) + x395 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x395 += einsum(t2.abab, (0, 1, 2, 3), x106, (4, 3, 2, 5), (4, 1, 0, 5)) + x396 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x396 += einsum(x9, (0, 1), t2.abab, (2, 3, 4, 1), (0, 3, 2, 4)) + x397 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x397 += einsum(v.aabb.ovoo, (0, 1, 2, 3), x40, (0, 4, 1, 5), (2, 3, 4, 5)) * 2.0 + x398 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x398 += einsum(v.aabb.ovoo, (0, 1, 2, 3), (2, 3, 0, 1)) + x398 += einsum(x390, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x390 + x398 += einsum(x147, (0, 1, 2, 3), (1, 0, 2, 3)) + x398 += einsum(x391, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 + x398 += einsum(x392, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 + x398 += einsum(x393, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x393 + x398 += einsum(x394, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x394 + x398 += einsum(x395, (0, 1, 2, 3), (0, 1, 2, 3)) + del x395 + x398 += einsum(x396, (0, 1, 2, 3), (0, 1, 2, 3)) + del x396 + x398 += einsum(x397, (0, 1, 2, 3), (1, 0, 2, 3)) + del x397 + x399 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x399 += einsum(t2.bbbb, (0, 1, 2, 3), x398, (1, 4, 5, 6), (4, 0, 2, 3, 5, 6)) * -2.0 + del x398 + x400 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + x400 += einsum(v.aabb.vvoo, (0, 1, 2, 3), (2, 3, 0, 1)) + x400 += einsum(x344, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + x401 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x401 += einsum(x400, (0, 1, 2, 3), t3.babbab, (4, 5, 0, 6, 2, 7), (1, 4, 6, 7, 5, 3)) * -2.0 + del x400 + x402 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x402 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ooov, (4, 1, 0, 5), (4, 2, 3, 5)) * -1.0 + x403 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x403 += einsum(v.bbbb.ovov, (0, 1, 2, 3), t3.bbbbbb, (4, 0, 2, 5, 6, 3), (4, 5, 6, 1)) + x404 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x404 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.babbab, (4, 0, 2, 5, 1, 6), (4, 5, 6, 3)) + x405 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x405 += einsum(x402, (0, 1, 2, 3), (0, 2, 1, 3)) + x405 += einsum(x403, (0, 1, 2, 3), (0, 2, 1, 3)) * -3.0 + x405 += einsum(x404, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x406 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x406 += einsum(t2.abab, (0, 1, 2, 3), x405, (4, 5, 6, 3), (4, 1, 5, 6, 0, 2)) * 2.0 + del x405 + x407 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) + x407 += einsum(v.aabb.oooo, (0, 1, 2, 3), (2, 3, 0, 1)) + x407 += einsum(x136, (0, 1, 2, 3), (1, 0, 3, 2)) + x408 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x408 += einsum(x407, (0, 1, 2, 3), t3.babbab, (4, 2, 0, 5, 6, 7), (1, 4, 5, 7, 3, 6)) * -2.0 + del x407 + x409 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x409 += einsum(f.bb.oo, (0, 1), (0, 1)) + x409 += einsum(x16, (0, 1), (0, 1)) * 2.0 + x409 += einsum(x17, (0, 1), (0, 1)) + x409 += einsum(x20, (0, 1), (1, 0)) + x410 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x410 += einsum(x409, (0, 1), t3.babbab, (2, 3, 1, 4, 5, 6), (0, 2, 4, 6, 3, 5)) * -2.0 + del x409 + x411 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x411 += einsum(t1.aa, (0, 1), x135, (2, 3, 4, 0), (2, 3, 4, 1)) + x412 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x412 += einsum(x1, (0, 1, 2, 3), (0, 1, 2, 3)) + x412 += einsum(x1, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x413 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x413 += einsum(t2.abab, (0, 1, 2, 3), x412, (4, 5, 1, 3), (4, 5, 0, 2)) + x414 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x414 += einsum(x3, (0, 1, 2, 3), x40, (2, 4, 3, 5), (0, 1, 4, 5)) * 2.0 + del x40 + x415 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x415 += einsum(x411, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x411 + x415 += einsum(x413, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x413 + x415 += einsum(x149, (0, 1, 2, 3), (1, 0, 2, 3)) + del x149 + x415 += einsum(x414, (0, 1, 2, 3), (0, 1, 2, 3)) + del x414 + x416 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x416 += einsum(t2.bbbb, (0, 1, 2, 3), x415, (4, 1, 5, 6), (4, 0, 2, 3, 5, 6)) * -2.0 + del x415 + x417 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x417 += einsum(x15, (0, 1), (1, 0)) + del x15 + x417 += einsum(x19, (0, 1), (1, 0)) * -1.0 + del x19 + x418 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x418 += einsum(x417, (0, 1), t3.babbab, (2, 3, 0, 4, 5, 6), (1, 2, 4, 6, 3, 5)) * -2.0 + x419 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x419 += einsum(x383, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * 2.0 + del x383 + x419 += einsum(x387, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) + del x387 + x419 += einsum(x389, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) + del x389 + x419 += einsum(x399, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) + del x399 + x419 += einsum(x401, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) + del x401 + x419 += einsum(x406, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) + del x406 + x419 += einsum(x408, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) * -1.0 + del x408 + x419 += einsum(x410, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 + del x410 + x419 += einsum(x416, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 + del x416 + x419 += einsum(x418, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) + del x418 + t3new_babbab += einsum(x419, (0, 1, 2, 3, 4, 5), (0, 4, 1, 2, 5, 3)) * -1.0 + t3new_babbab += einsum(x419, (0, 1, 2, 3, 4, 5), (1, 4, 0, 2, 5, 3)) + del x419 + x420 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x420 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.babbab, (4, 5, 6, 7, 1, 3), (4, 6, 2, 7, 5, 0)) + x421 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x421 += einsum(t2.abab, (0, 1, 2, 3), x420, (4, 5, 1, 6, 7, 0), (4, 5, 3, 6, 7, 2)) + del x420 + x422 = np.zeros((nvir[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) + x422 += einsum(v.aabb.vvvv, (0, 1, 2, 3), (2, 3, 0, 1)) + x422 += einsum(x133, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x133 + x423 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x423 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), (0, 2, 3, 5, 1, 4)) + x423 += einsum(t1.aa, (0, 1), t2.bbbb, (2, 3, 4, 5), (2, 3, 4, 5, 0, 1)) + x424 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x424 += einsum(x422, (0, 1, 2, 3), x423, (4, 5, 0, 6, 7, 2), (4, 5, 6, 1, 7, 3)) * 2.0 + del x422 + x425 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x425 += einsum(v.aabb.oovv, (0, 1, 2, 3), (2, 3, 0, 1)) + x425 += einsum(x122, (0, 1, 2, 3), (1, 0, 3, 2)) + x426 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x426 += einsum(x425, (0, 1, 2, 3), t3.babbab, (4, 2, 5, 6, 7, 0), (4, 5, 1, 6, 3, 7)) * -2.0 + del x425 + x427 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x427 += einsum(t1.aa, (0, 1), v.aabb.oovv, (2, 0, 3, 4), (3, 4, 2, 1)) + x428 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x428 += einsum(t2.aaaa, (0, 1, 2, 3), v.aabb.ovvv, (1, 3, 4, 5), (4, 5, 0, 2)) + x429 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x429 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.abaaba, (4, 2, 0, 5, 6, 1), (6, 3, 4, 5)) + x430 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x430 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) + x430 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x431 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x431 += einsum(t2.abab, (0, 1, 2, 3), x430, (1, 4, 3, 5), (4, 5, 0, 2)) + x432 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x432 += einsum(t2.abab, (0, 1, 2, 3), x24, (1, 4, 0, 5), (4, 3, 5, 2)) + del x24 + x433 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x433 += einsum(t2.abab, (0, 1, 2, 3), x106, (1, 4, 2, 5), (4, 3, 0, 5)) + x434 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x434 += einsum(v.aabb.ovvv, (0, 1, 2, 3), (2, 3, 0, 1)) + x434 += einsum(x427, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x427 + x434 += einsum(x428, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 + del x428 + x434 += einsum(x429, (0, 1, 2, 3), (1, 0, 2, 3)) * -2.0 + x434 += einsum(x431, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x431 + x434 += einsum(x432, (0, 1, 2, 3), (0, 1, 2, 3)) + del x432 + x434 += einsum(x433, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x433 + x435 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x435 += einsum(t2.bbbb, (0, 1, 2, 3), x434, (3, 4, 5, 6), (0, 1, 4, 2, 5, 6)) * -2.0 + del x434 + x436 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x436 += einsum(v.aabb.ovov, (0, 1, 2, 3), x384, (2, 4, 5, 1), (3, 4, 0, 5)) + x437 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x437 += einsum(x121, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.99999999999999 + x437 += einsum(x436, (0, 1, 2, 3), (1, 0, 2, 3)) + x438 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x438 += einsum(x437, (0, 1, 2, 3), t3.babbab, (4, 2, 5, 6, 7, 1), (4, 5, 0, 6, 3, 7)) * -2.00000000000002 + del x437 + x439 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x439 += einsum(t1.bb, (0, 1), x430, (0, 2, 1, 3), (2, 3)) + x440 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x440 += einsum(x141, (0, 1), (1, 0)) + del x141 + x440 += einsum(x439, (0, 1), (0, 1)) * -1.0 + del x439 + x441 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x441 += einsum(x440, (0, 1), t3.babbab, (2, 3, 4, 5, 6, 0), (2, 4, 1, 5, 3, 6)) * -2.0 + x442 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x442 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), t3.babbab, (4, 5, 6, 3, 7, 1), (4, 6, 0, 2, 5, 7)) * -1.0 + x443 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x443 += einsum(x106, (0, 1, 2, 3), x423, (4, 5, 1, 6, 7, 2), (0, 4, 5, 6, 7, 3)) + del x106, x423 + x444 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x444 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) + x444 += einsum(x124, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x444 += einsum(x42, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + del x42 + x445 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x445 += einsum(t2.bbbb, (0, 1, 2, 3), x444, (4, 3, 5, 6), (4, 0, 1, 2, 5, 6)) * -1.0 + del x444 + x446 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x446 += einsum(f.bb.ov, (0, 1), (0, 1)) + x446 += einsum(x0, (0, 1), (0, 1)) + del x0 + x447 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x447 += einsum(x446, (0, 1), t3.babbab, (2, 3, 4, 5, 6, 1), (0, 2, 4, 5, 3, 6)) * -1.0 + del x446 + x448 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x448 += einsum(x442, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) + del x442 + x448 += einsum(x443, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) + del x443 + x448 += einsum(x445, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) + del x445 + x448 += einsum(x447, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) + del x447 + x449 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x449 += einsum(t1.bb, (0, 1), x448, (0, 2, 3, 4, 5, 6), (2, 3, 4, 1, 5, 6)) * 2.0 + del x448 + x450 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x450 += einsum(f.bb.vv, (0, 1), (0, 1)) + x450 += einsum(x143, (0, 1), (1, 0)) * -1.0 + x451 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x451 += einsum(x450, (0, 1), t3.babbab, (2, 3, 4, 5, 6, 0), (2, 4, 1, 5, 3, 6)) * -2.0 + del x450 + x452 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x452 += einsum(x167, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + x452 += einsum(x169, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x453 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x453 += einsum(t2.abab, (0, 1, 2, 3), x452, (4, 5, 1, 6), (4, 5, 6, 3, 0, 2)) * 2.0 + del x452 + x454 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x454 += einsum(x421, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 2.0 + del x421 + x454 += einsum(x424, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * -1.0 + del x424 + x454 += einsum(x426, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) + del x426 + x454 += einsum(x435, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) * -1.0 + del x435 + x454 += einsum(x438, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) + del x438 + x454 += einsum(x441, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) * -1.0 + del x441 + x454 += einsum(x449, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 + del x449 + x454 += einsum(x451, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) + del x451 + x454 += einsum(x453, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) * -1.0 + del x453 + t3new_babbab += einsum(x454, (0, 1, 2, 3, 4, 5), (0, 4, 1, 2, 5, 3)) * -1.0 + t3new_babbab += einsum(x454, (0, 1, 2, 3, 4, 5), (0, 4, 1, 3, 5, 2)) + del x454 + x455 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x455 += einsum(v.bbbb.ovov, (0, 1, 2, 3), t3.babbab, (0, 4, 2, 5, 6, 3), (5, 1, 4, 6)) + x456 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x456 += einsum(t2.bbbb, (0, 1, 2, 3), x455, (4, 3, 5, 6), (0, 1, 2, 4, 5, 6)) + x457 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x457 += einsum(t2.abab, (0, 1, 2, 3), x168, (4, 5, 1, 6), (5, 4, 3, 6, 0, 2)) * -1.0 + x458 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x458 += einsum(t1.bb, (0, 1), v.bbbb.ovov, (2, 3, 0, 1), (2, 3)) + x459 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x459 += einsum(t1.bb, (0, 1), x458, (0, 2), (1, 2)) + del x458 + x460 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x460 += einsum(v.bbbb.ovov, (0, 1, 2, 3), x6, (0, 2, 3, 4), (4, 1)) * 2.0 + del x6 + x461 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x461 += einsum(x459, (0, 1), (0, 1)) + del x459 + x461 += einsum(x460, (0, 1), (0, 1)) * -1.0 + del x460 + x462 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x462 += einsum(x461, (0, 1), t3.babbab, (2, 3, 4, 5, 6, 1), (2, 4, 0, 5, 3, 6)) * -2.0 + del x461 + x463 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x463 += einsum(t2.bbbb, (0, 1, 2, 3), x61, (4, 3, 5, 6), (4, 0, 1, 2, 5, 6)) + x464 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x464 += einsum(t1.bb, (0, 1), x463, (0, 2, 3, 4, 5, 6), (3, 2, 4, 1, 5, 6)) * 2.0 + del x463 + x465 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x465 += einsum(x456, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 4.0 + del x456 + x465 += einsum(x457, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -6.0 + del x457 + x465 += einsum(x462, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * -1.0 + del x462 + x465 += einsum(x464, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 + del x464 + t3new_babbab += einsum(x465, (0, 1, 2, 3, 4, 5), (1, 4, 0, 2, 5, 3)) + t3new_babbab += einsum(x465, (0, 1, 2, 3, 4, 5), (1, 4, 0, 3, 5, 2)) * -1.0 + del x465 + x466 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x466 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + x466 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x466 += einsum(x225, (0, 1, 2, 3), (1, 0, 3, 2)) * 1.00000000000001 + x466 += einsum(x11, (0, 1, 2, 3), x271, (0, 4, 2, 5), (1, 4, 3, 5)) * -2.00000000000002 + x466 += einsum(x46, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + x466 += einsum(t1.aa, (0, 1), x32, (2, 3, 0, 4), (3, 2, 4, 1)) * -1.0 + t3new_babbab += einsum(x466, (0, 1, 2, 3), t3.babbab, (4, 0, 5, 6, 2, 7), (4, 1, 5, 6, 3, 7)) * 2.0 + del x466 + x467 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x467 += einsum(t2.aaaa, (0, 1, 2, 3), (0, 1, 2, 3)) + x467 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 3, 1)) * -0.4999999999999949 + x468 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x468 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) + x468 += einsum(x124, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x124 + x468 += einsum(x38, (0, 1, 2, 3), (0, 1, 2, 3)) + x468 += einsum(t2.abab, (0, 1, 2, 3), x7, (1, 4, 3, 5), (4, 5, 0, 2)) * -1.00000000000001 + x468 += einsum(v.aabb.ovov, (0, 1, 2, 3), x467, (0, 4, 1, 5), (2, 3, 4, 5)) * 2.0000000000000204 + del x467 + t3new_babbab += einsum(x468, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 0, 6, 7, 1), (4, 2, 5, 6, 3, 7)) * 6.0 + del x468 + x469 = np.zeros((nvir[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x469 += einsum(v.bbbb.vvvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x469 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (0, 4, 1, 5), (5, 2, 4, 3)) + x469 += einsum(t1.bb, (0, 1), x107, (0, 2, 3, 4), (4, 1, 3, 2)) + t3new_babbab += einsum(x469, (0, 1, 2, 3), t3.babbab, (4, 5, 6, 0, 7, 2), (4, 5, 6, 1, 7, 3)) * -2.0 + del x469 + x470 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x470 += einsum(t2.bbbb, (0, 1, 2, 3), (0, 1, 2, 3)) + x470 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3)) + x471 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x471 += einsum(v.bbbb.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) + x471 += einsum(x184, (0, 1, 2, 3), (3, 0, 2, 1)) + x471 += einsum(x184, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 + x471 += einsum(v.bbbb.ovov, (0, 1, 2, 3), x470, (4, 5, 3, 1), (0, 5, 2, 4)) + t3new_babbab += einsum(x471, (0, 1, 2, 3), t3.babbab, (0, 4, 2, 5, 6, 7), (1, 4, 3, 5, 6, 7)) * 2.0 + del x471 + x472 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x472 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) + x472 += einsum(x185, (0, 1, 2, 3), (1, 0, 2, 3)) + x473 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x473 += einsum(t2.bbbb, (0, 1, 2, 3), x18, (4, 5, 1, 3), (4, 5, 0, 2)) * 2.0 + x474 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x474 += einsum(t2.bbbb, (0, 1, 2, 3), x190, (4, 5, 1, 3), (4, 5, 0, 2)) * 2.0 + x475 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x475 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) + x475 += einsum(x1, (0, 1, 2, 3), (0, 2, 1, 3)) + x476 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x476 += einsum(t1.bb, (0, 1), x475, (2, 3, 4, 1), (2, 3, 4, 0)) + del x475 + x477 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x477 += einsum(t1.bb, (0, 1), x476, (2, 0, 3, 4), (4, 2, 3, 1)) + x478 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x478 += einsum(x186, (0, 1, 2, 3), (0, 2, 1, 3)) + x478 += einsum(x187, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x478 += einsum(x473, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 + del x473 + x478 += einsum(x474, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x474 + x478 += einsum(x193, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 + del x193 + x478 += einsum(x477, (0, 1, 2, 3), (0, 2, 1, 3)) + del x477 + x479 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x479 += einsum(x210, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 + x479 += einsum(v.bbbb.oooo, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 + x479 += einsum(v.bbbb.oooo, (0, 1, 2, 3), (0, 2, 1, 3)) + x480 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x480 += einsum(t1.bb, (0, 1), x479, (2, 3, 0, 4), (2, 3, 4, 1)) + x481 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x481 += einsum(x472, (0, 1, 2, 3), (0, 1, 2, 3)) + x481 += einsum(x472, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + del x472 + x481 += einsum(x478, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + x481 += einsum(x478, (0, 1, 2, 3), (1, 2, 0, 3)) + del x478 + x481 += einsum(x170, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x481 += einsum(x480, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 + t3new_babbab += einsum(t2.abab, (0, 1, 2, 3), x481, (1, 4, 5, 6), (5, 0, 4, 6, 2, 3)) * -1.0 + del x481 + x482 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x482 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 + x482 += einsum(x185, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.5 + x483 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x483 += einsum(t2.bbbb, (0, 1, 2, 3), x18, (4, 5, 1, 3), (4, 5, 0, 2)) + del x18 + x484 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x484 += einsum(t2.bbbb, (0, 1, 2, 3), x190, (4, 5, 1, 3), (4, 5, 0, 2)) + del x190 + x485 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x485 += einsum(t1.bb, (0, 1), x192, (2, 3, 1, 4), (2, 3, 0, 4)) * 0.5 + del x192 + x486 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x486 += einsum(t1.bb, (0, 1), x476, (2, 0, 3, 4), (4, 2, 3, 1)) * 0.5 + del x476 + x487 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x487 += einsum(x186, (0, 1, 2, 3), (0, 2, 1, 3)) * 0.5 + x487 += einsum(x187, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 + x487 += einsum(x483, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 + del x483 + x487 += einsum(x484, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x484 + x487 += einsum(x485, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 + del x485 + x487 += einsum(x486, (0, 1, 2, 3), (0, 2, 1, 3)) + del x486 + x488 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x488 += einsum(x482, (0, 1, 2, 3), (0, 1, 2, 3)) + x488 += einsum(x482, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + del x482 + x488 += einsum(x487, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + x488 += einsum(x487, (0, 1, 2, 3), (1, 2, 0, 3)) + del x487 + x488 += einsum(x9, (0, 1), t2.bbbb, (2, 3, 4, 1), (0, 2, 3, 4)) * -1.0 + x488 += einsum(t1.bb, (0, 1), x479, (2, 3, 0, 4), (4, 3, 2, 1)) * -0.5 + del x479 + t3new_babbab += einsum(t2.abab, (0, 1, 2, 3), x488, (1, 4, 5, 6), (5, 0, 4, 3, 2, 6)) * 2.0 + del x488 + x489 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x489 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.abaaba, (4, 5, 6, 7, 3, 1), (5, 2, 4, 6, 0, 7)) + x490 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x490 += einsum(t2.abab, (0, 1, 2, 3), x489, (4, 1, 5, 6, 0, 7), (4, 3, 5, 6, 2, 7)) + del x489 + x491 = np.zeros((nvir[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) + x491 += einsum(v.aabb.vvvv, (0, 1, 2, 3), (2, 3, 0, 1)) + x491 += einsum(x132, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x132 + x492 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x492 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), (1, 4, 0, 2, 3, 5)) + x492 += einsum(t1.bb, (0, 1), t2.aaaa, (2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + x493 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x493 += einsum(x491, (0, 1, 2, 3), x492, (4, 0, 5, 6, 2, 7), (4, 1, 5, 6, 7, 3)) * 2.0 + del x491 + x494 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + x494 += einsum(v.aabb.vvoo, (0, 1, 2, 3), (2, 3, 0, 1)) + x494 += einsum(x129, (0, 1, 2, 3), (1, 0, 3, 2)) + del x129 + x495 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x495 += einsum(x494, (0, 1, 2, 3), t3.abaaba, (4, 0, 5, 6, 7, 2), (1, 7, 4, 5, 6, 3)) * -2.0 + del x494 + x496 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) + x496 += einsum(t1.bb, (0, 1), v.aabb.vvoo, (2, 3, 4, 0), (4, 1, 2, 3)) + x497 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) + x497 += einsum(t2.bbbb, (0, 1, 2, 3), v.aabb.vvov, (4, 5, 1, 3), (0, 2, 4, 5)) + x498 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) + x498 += einsum(t2.abab, (0, 1, 2, 3), x118, (0, 2, 4, 5), (1, 3, 4, 5)) + del x118 + x499 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) + x499 += einsum(t2.abab, (0, 1, 2, 3), x4, (1, 4, 0, 5), (4, 3, 5, 2)) + x500 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) + x500 += einsum(t2.abab, (0, 1, 2, 3), x104, (3, 4, 0, 5), (1, 4, 5, 2)) + x501 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) + x501 += einsum(v.aabb.vvov, (0, 1, 2, 3), (2, 3, 0, 1)) + x501 += einsum(x496, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x496 + x501 += einsum(x497, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 + del x497 + x501 += einsum(x324, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 + del x324 + x501 += einsum(x325, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 + del x325 + x501 += einsum(x498, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x498 + x501 += einsum(x499, (0, 1, 2, 3), (0, 1, 2, 3)) + del x499 + x501 += einsum(x500, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x500 + x502 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x502 += einsum(t2.aaaa, (0, 1, 2, 3), x501, (4, 5, 3, 6), (4, 5, 0, 1, 2, 6)) * -2.0 + del x501 + x503 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + x503 += einsum(v.aabb.ovov, (0, 1, 2, 3), x384, (4, 3, 0, 5), (2, 4, 1, 5)) + del x384 + x504 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + x504 += einsum(x344, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.99999999999999 + del x344 + x504 += einsum(x503, (0, 1, 2, 3), (0, 1, 3, 2)) + del x503 + x505 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x505 += einsum(x504, (0, 1, 2, 3), t3.abaaba, (4, 0, 5, 6, 7, 3), (1, 7, 4, 5, 6, 2)) * -2.00000000000002 + del x504 + x506 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x506 += einsum(f.aa.vv, (0, 1), (0, 1)) * -1.0 + x506 += einsum(x72, (0, 1), (0, 1)) + del x72 + x506 += einsum(x73, (0, 1), (0, 1)) * 2.0 + del x73 + x506 += einsum(x139, (0, 1), (1, 0)) + del x139 + x507 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x507 += einsum(x506, (0, 1), t3.abaaba, (2, 3, 4, 5, 6, 1), (3, 6, 2, 4, 5, 0)) * -2.0 + del x506 + x508 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x508 += einsum(x255, (0, 1), t3.abaaba, (2, 3, 4, 5, 6, 0), (3, 6, 2, 4, 5, 1)) * -2.0 + del x255 + x509 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x509 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), t3.abaaba, (4, 5, 6, 1, 7, 3), (5, 7, 4, 6, 0, 2)) + x510 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x510 += einsum(x104, (0, 1, 2, 3), x492, (4, 0, 5, 6, 3, 7), (4, 1, 2, 5, 6, 7)) + del x492 + x511 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x511 += einsum(t1.bb, (0, 1), v.aabb.ovoo, (2, 3, 4, 0), (4, 1, 2, 3)) + x512 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x512 += einsum(t2.bbbb, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (0, 2, 4, 5)) + x513 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x513 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) + x513 += einsum(x511, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x513 += einsum(x512, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + del x512 + x513 += einsum(x163, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x163 + x514 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x514 += einsum(t2.aaaa, (0, 1, 2, 3), x513, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) * -1.0 + del x513 + x515 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x515 += einsum(x509, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) + del x509 + x515 += einsum(x510, (0, 1, 2, 3, 4, 5), (0, 1, 4, 3, 2, 5)) + del x510 + x515 += einsum(x514, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) + del x514 + x516 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x516 += einsum(t1.aa, (0, 1), x515, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 6, 1)) * 2.0 + del x515 + x517 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x517 += einsum(x77, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x77 + x517 += einsum(x78, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x78 + x517 += einsum(x79, (0, 1, 2, 3), (0, 1, 2, 3)) * -3.0 + del x79 + x518 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x518 += einsum(t2.abab, (0, 1, 2, 3), x517, (4, 5, 0, 6), (1, 3, 4, 5, 6, 2)) * 2.0 + del x517 + x519 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x519 += einsum(x490, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -2.0 + del x490 + x519 += einsum(x493, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 + del x493 + x519 += einsum(x495, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) + del x495 + x519 += einsum(x502, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 + del x502 + x519 += einsum(x505, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) + del x505 + x519 += einsum(x507, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -1.0 + del x507 + x519 += einsum(x508, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 + del x508 + x519 += einsum(x516, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) + del x516 + x519 += einsum(x518, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -1.0 + del x518 + t3new_abaaba += einsum(x519, (0, 1, 2, 3, 4, 5), (3, 0, 2, 4, 1, 5)) + t3new_abaaba += einsum(x519, (0, 1, 2, 3, 4, 5), (3, 0, 2, 5, 1, 4)) * -1.0 + del x519 + x520 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x520 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.babbab, (4, 5, 2, 6, 7, 3), (4, 6, 5, 0, 7, 1)) + x521 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x521 += einsum(t2.abab, (0, 1, 2, 3), x64, (4, 5, 2, 6), (1, 3, 4, 0, 6, 5)) + del x64 + x522 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x522 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ooov, (4, 0, 5, 3), (1, 5, 4, 2)) + x523 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x523 += einsum(t2.abab, (0, 1, 2, 3), x522, (4, 1, 5, 6), (4, 3, 0, 5, 6, 2)) + del x522 + x524 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x524 += einsum(x38, (0, 1, 2, 3), t3.babbab, (4, 5, 0, 6, 7, 1), (4, 6, 2, 5, 7, 3)) + x525 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x525 += einsum(t2.abab, (0, 1, 2, 3), x23, (4, 3, 5, 0), (1, 4, 5, 2)) + x526 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x526 += einsum(t2.abab, (0, 1, 2, 3), x525, (4, 1, 5, 6), (4, 3, 5, 0, 6, 2)) + del x525 + x527 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x527 += einsum(t2.aaaa, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.00000000000002 + x527 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 3, 1)) * -1.0 + x528 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x528 += einsum(x527, (0, 1, 2, 3), x68, (0, 4, 5, 2), (4, 1, 5, 3)) + del x68, x527 + x529 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x529 += einsum(x225, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.00000000000001 + x529 += einsum(x528, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x528 + x530 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x530 += einsum(x529, (0, 1, 2, 3), t3.abaaba, (4, 5, 1, 6, 7, 3), (5, 7, 4, 0, 6, 2)) * 2.0 + del x529 + x531 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x531 += einsum(v.aabb.ovov, (0, 1, 2, 3), x271, (0, 4, 1, 5), (2, 3, 4, 5)) * 2.0 + del x271 + x532 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x532 += einsum(x61, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x61 + x532 += einsum(x531, (0, 1, 2, 3), (0, 1, 2, 3)) + del x531 + x533 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x533 += einsum(x532, (0, 1, 2, 3), t3.babbab, (4, 5, 0, 6, 7, 1), (4, 6, 2, 5, 3, 7)) * 2.00000000000002 + del x532 + x534 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x534 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), (1, 4, 0, 2, 3, 5)) + x534 += einsum(t1.aa, (0, 1), t2.abab, (2, 3, 4, 5), (3, 5, 0, 2, 4, 1)) * -0.5 + x535 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x535 += einsum(x28, (0, 1, 2, 3), x534, (4, 5, 0, 6, 2, 7), (4, 5, 1, 6, 3, 7)) * 2.0 + del x28, x534 + x536 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x536 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), (1, 4, 0, 2, 3, 5)) * 2.0 + x536 += einsum(t1.aa, (0, 1), t2.abab, (2, 3, 4, 5), (3, 5, 0, 2, 4, 1)) * -1.0 + x537 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x537 += einsum(x46, (0, 1, 2, 3), x536, (4, 5, 0, 6, 3, 7), (4, 5, 1, 6, 2, 7)) * -1.0 + del x46, x536 + x538 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x538 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ooov, (4, 0, 1, 5), (3, 5, 4, 2)) + x539 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x539 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.vvov, (4, 2, 1, 5), (3, 5, 0, 4)) + x540 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x540 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x540 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) + x540 += einsum(x107, (0, 1, 2, 3), (0, 2, 3, 1)) + x540 += einsum(x107, (0, 1, 2, 3), (0, 3, 2, 1)) * -1.0 + del x107 + x541 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x541 += einsum(t2.abab, (0, 1, 2, 3), x540, (1, 4, 3, 5), (4, 5, 0, 2)) + del x540 + x542 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x542 += einsum(v.aabb.ovvv, (0, 1, 2, 3), (2, 3, 0, 1)) + x542 += einsum(x103, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x543 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x543 += einsum(t2.aaaa, (0, 1, 2, 3), x542, (4, 5, 1, 3), (4, 5, 0, 2)) * 2.0 + del x542 + x544 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x544 += einsum(x9, (0, 1), t2.abab, (2, 0, 3, 4), (1, 4, 2, 3)) + del x9 + x545 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x545 += einsum(v.aabb.ovvv, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 + x545 += einsum(x103, (0, 1, 2, 3), (1, 0, 2, 3)) + del x103 + x545 += einsum(x538, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x538 + x545 += einsum(x539, (0, 1, 2, 3), (1, 0, 2, 3)) + del x539 + x545 += einsum(x455, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 + del x455 + x545 += einsum(x429, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 + del x429 + x545 += einsum(x541, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x541 + x545 += einsum(x543, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x543 + x545 += einsum(x544, (0, 1, 2, 3), (0, 1, 2, 3)) + del x544 + x546 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x546 += einsum(t2.abab, (0, 1, 2, 3), x545, (3, 4, 5, 6), (1, 4, 5, 0, 6, 2)) + del x545 + x547 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x547 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x547 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) + x548 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x548 += einsum(t2.aaaa, (0, 1, 2, 3), x547, (1, 3, 4, 5), (0, 2, 4, 5)) * 2.0 + del x547 + x549 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x549 += einsum(t1.aa, (0, 1), v.aaaa.ooov, (2, 3, 0, 4), (2, 3, 1, 4)) + x550 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x550 += einsum(x549, (0, 1, 2, 3), (1, 0, 2, 3)) + del x549 + x550 += einsum(x225, (0, 1, 2, 3), (0, 1, 2, 3)) + del x225 + x550 += einsum(x226, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x226 + x551 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x551 += einsum(t1.aa, (0, 1), x550, (2, 0, 3, 4), (2, 3, 4, 1)) + del x550 + x552 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x552 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) + x552 += einsum(x219, (0, 1, 2, 3), (0, 1, 3, 2)) + del x219 + x552 += einsum(x548, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x548 + x552 += einsum(x551, (0, 1, 2, 3), (0, 3, 1, 2)) + del x551 + x553 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x553 += einsum(t2.abab, (0, 1, 2, 3), x552, (4, 5, 6, 2), (1, 3, 4, 0, 5, 6)) + del x552 + x554 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x554 += einsum(v.aabb.ooov, (0, 1, 2, 3), t3.babbab, (4, 5, 2, 6, 7, 3), (4, 6, 5, 0, 1, 7)) + x555 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x555 += einsum(t2.abab, (0, 1, 2, 3), x25, (4, 5, 6, 2), (1, 3, 4, 0, 6, 5)) + x556 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x556 += einsum(t1.aa, (0, 1), x555, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 6, 1)) + del x555 + x557 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x557 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) + x557 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 + x558 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x558 += einsum(x557, (0, 1, 2, 3), t3.abaaba, (4, 5, 0, 6, 7, 3), (5, 7, 4, 1, 2, 6)) * 2.0 + del x557 + x559 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x559 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 1, 5), (3, 5, 0, 4)) + x560 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x560 += einsum(v.aabb.oovv, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 + x560 += einsum(x121, (0, 1, 2, 3), (1, 0, 3, 2)) + x560 += einsum(x559, (0, 1, 2, 3), (1, 0, 3, 2)) + del x559 + x561 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x561 += einsum(t2.abab, (0, 1, 2, 3), x560, (3, 4, 5, 6), (1, 4, 5, 6, 0, 2)) + del x560 + x562 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) + x562 += einsum(x136, (0, 1, 2, 3), (1, 0, 2, 3)) + x562 += einsum(x137, (0, 1, 2, 3), (1, 0, 2, 3)) + del x137 + x563 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x563 += einsum(t2.abab, (0, 1, 2, 3), x562, (1, 4, 5, 6), (4, 3, 5, 6, 0, 2)) + x564 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x564 += einsum(t1.bb, (0, 1), x23, (0, 2, 3, 4), (1, 2, 3, 4)) + x565 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x565 += einsum(x122, (0, 1, 2, 3), (1, 0, 2, 3)) + x565 += einsum(x564, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x564 + x566 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x566 += einsum(t2.abab, (0, 1, 2, 3), x565, (3, 4, 5, 6), (1, 4, 5, 6, 0, 2)) + del x565 + x567 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) + x567 += einsum(v.aabb.oooo, (0, 1, 2, 3), (2, 3, 0, 1)) + x567 += einsum(x135, (0, 1, 2, 3), (1, 0, 3, 2)) + del x135 + x568 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x568 += einsum(t2.abab, (0, 1, 2, 3), x567, (1, 4, 5, 6), (4, 3, 5, 6, 0, 2)) + x569 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x569 += einsum(x554, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 2.0 + del x554 + x569 += einsum(x556, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x556 + x569 += einsum(x558, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 + del x558 + x569 += einsum(x561, (0, 1, 2, 3, 4, 5), (0, 1, 4, 3, 2, 5)) * -1.0 + del x561 + x569 += einsum(x563, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) + del x563 + x569 += einsum(x566, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 + del x566 + x569 += einsum(x568, (0, 1, 2, 3, 4, 5), (0, 1, 4, 3, 2, 5)) * -1.0 + del x568 + x570 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x570 += einsum(t1.aa, (0, 1), x569, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 6, 1)) + del x569 + x571 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x571 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x571 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) + x571 += einsum(x1, (0, 1, 2, 3), (0, 1, 2, 3)) + x571 += einsum(x1, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x572 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x572 += einsum(t2.abab, (0, 1, 2, 3), x571, (4, 5, 1, 3), (4, 5, 0, 2)) + del x571 + x573 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x573 += einsum(t2.aaaa, (0, 1, 2, 3), x130, (4, 5, 1, 3), (4, 5, 0, 2)) * 2.0 + del x130 + x574 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x574 += einsum(v.aabb.ovoo, (0, 1, 2, 3), (2, 3, 0, 1)) + x574 += einsum(x3, (0, 1, 2, 3), (1, 0, 2, 3)) + del x3 + x574 += einsum(x391, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 + del x391 + x574 += einsum(x392, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 + del x392 + x574 += einsum(x572, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x572 + x574 += einsum(x573, (0, 1, 2, 3), (1, 0, 2, 3)) + del x573 + x575 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x575 += einsum(t2.abab, (0, 1, 2, 3), x574, (1, 4, 5, 6), (4, 3, 5, 0, 6, 2)) + del x574 + x576 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x576 += einsum(t1.bb, (0, 1), x38, (0, 2, 3, 4), (1, 2, 3, 4)) + del x38 + x577 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x577 += einsum(t2.abab, (0, 1, 2, 3), x23, (1, 4, 5, 0), (3, 4, 5, 2)) + x578 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x578 += einsum(x153, (0, 1, 2, 3), (1, 0, 2, 3)) + del x153 + x578 += einsum(x576, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x576 + x578 += einsum(x577, (0, 1, 2, 3), (1, 0, 2, 3)) + del x577 + x579 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x579 += einsum(t2.abab, (0, 1, 2, 3), x578, (3, 4, 5, 6), (1, 4, 5, 0, 6, 2)) + del x578 + x580 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x580 += einsum(v.aabb.vvov, (0, 1, 2, 3), x5, (4, 3, 5, 1), (4, 2, 5, 0)) + del x5 + x581 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x581 += einsum(x147, (0, 1, 2, 3), (1, 0, 2, 3)) + del x147 + x581 += einsum(x580, (0, 1, 2, 3), (1, 0, 2, 3)) + del x580 + x582 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x582 += einsum(t2.abab, (0, 1, 2, 3), x581, (1, 4, 5, 6), (4, 3, 5, 0, 6, 2)) + del x581 + x583 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x583 += einsum(x520, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -2.0 + del x520 + x583 += einsum(x521, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 + del x521 + x583 += einsum(x523, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x523 + x583 += einsum(x524, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 2.0 + del x524 + x583 += einsum(x526, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 + del x526 + x583 += einsum(x530, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -1.0 + del x530 + x583 += einsum(x533, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 + del x533 + x583 += einsum(x535, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) + del x535 + x583 += einsum(x537, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) + del x537 + x583 += einsum(x546, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) + del x546 + x583 += einsum(x553, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) + del x553 + x583 += einsum(x570, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 + del x570 + x583 += einsum(x575, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) + del x575 + x583 += einsum(x579, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) + del x579 + x583 += einsum(x582, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 + del x582 + t3new_abaaba += einsum(x583, (0, 1, 2, 3, 4, 5), (2, 0, 3, 4, 1, 5)) * -1.0 + t3new_abaaba += einsum(x583, (0, 1, 2, 3, 4, 5), (2, 0, 3, 5, 1, 4)) + t3new_abaaba += einsum(x583, (0, 1, 2, 3, 4, 5), (3, 0, 2, 4, 1, 5)) + t3new_abaaba += einsum(x583, (0, 1, 2, 3, 4, 5), (3, 0, 2, 5, 1, 4)) * -1.0 + del x583 + x584 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x584 += einsum(t2.abab, (0, 1, 2, 3), x261, (4, 5, 6, 2), (1, 3, 4, 0, 5, 6)) * -1.0 + del x261 + x585 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x585 += einsum(x122, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.99999999999999 + del x122 + x585 += einsum(x436, (0, 1, 2, 3), (0, 1, 3, 2)) + del x436 + x586 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x586 += einsum(x585, (0, 1, 2, 3), t3.abaaba, (4, 5, 3, 6, 0, 7), (5, 1, 4, 2, 6, 7)) * -2.00000000000002 + del x585 + x587 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x587 += einsum(x562, (0, 1, 2, 3), t3.abaaba, (4, 0, 3, 5, 6, 7), (1, 6, 4, 2, 5, 7)) * -2.0 + del x562 + x588 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x588 += einsum(t1.bb, (0, 1), v.aabb.oooo, (2, 3, 4, 0), (4, 1, 2, 3)) + x589 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x589 += einsum(t2.abab, (0, 1, 2, 3), x4, (1, 4, 5, 2), (4, 3, 5, 0)) + del x4 + x590 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x590 += einsum(t2.abab, (0, 1, 2, 3), x32, (4, 5, 0, 2), (1, 3, 4, 5)) + x591 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x591 += einsum(t2.abab, (0, 1, 2, 3), x104, (3, 4, 5, 2), (1, 4, 5, 0)) + del x104 + x592 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x592 += einsum(x13, (0, 1), t2.abab, (2, 3, 1, 4), (3, 4, 0, 2)) + del x13 + x593 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x593 += einsum(v.aabb.ooov, (0, 1, 2, 3), x113, (2, 4, 3, 5), (4, 5, 0, 1)) * 2.0 + x594 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x594 += einsum(v.aabb.ooov, (0, 1, 2, 3), (2, 3, 0, 1)) + x594 += einsum(x588, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x588 + x594 += einsum(x155, (0, 1, 2, 3), (0, 1, 3, 2)) + del x155 + x594 += einsum(x360, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 + del x360 + x594 += einsum(x361, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 + del x361 + x594 += einsum(x589, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x589 + x594 += einsum(x590, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x590 + x594 += einsum(x591, (0, 1, 2, 3), (0, 1, 2, 3)) + del x591 + x594 += einsum(x592, (0, 1, 2, 3), (0, 1, 2, 3)) + del x592 + x594 += einsum(x593, (0, 1, 2, 3), (0, 1, 3, 2)) + del x593 + x595 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x595 += einsum(t2.aaaa, (0, 1, 2, 3), x594, (4, 5, 1, 6), (4, 5, 0, 6, 2, 3)) * -2.0 + del x594 + x596 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x596 += einsum(v.aabb.oovv, (0, 1, 2, 3), (2, 3, 0, 1)) + x596 += einsum(x121, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x121 + x597 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x597 += einsum(x596, (0, 1, 2, 3), t3.abaaba, (4, 5, 2, 6, 0, 7), (5, 1, 4, 3, 6, 7)) * -2.0 + del x596 + x598 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x598 += einsum(x214, (0, 1, 2, 3), (0, 2, 1, 3)) + del x214 + x598 += einsum(x240, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + del x240 + x598 += einsum(x241, (0, 1, 2, 3), (0, 2, 1, 3)) * -3.0 + del x241 + x599 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x599 += einsum(t2.abab, (0, 1, 2, 3), x598, (4, 5, 6, 2), (1, 3, 4, 0, 5, 6)) * 2.0 + del x598 + x600 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x600 += einsum(x567, (0, 1, 2, 3), t3.abaaba, (4, 0, 2, 5, 6, 7), (1, 6, 4, 3, 5, 7)) * -2.0 + del x567 + x601 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x601 += einsum(f.aa.oo, (0, 1), (0, 1)) + x601 += einsum(x30, (0, 1), (0, 1)) + del x30 + x601 += einsum(x31, (0, 1), (0, 1)) * 2.0 + del x31 + x601 += einsum(x34, (0, 1), (1, 0)) + del x34 + x602 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x602 += einsum(x601, (0, 1), t3.abaaba, (2, 3, 1, 4, 5, 6), (3, 5, 2, 0, 4, 6)) * -2.0 + del x601 + x603 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x603 += einsum(t1.bb, (0, 1), x136, (2, 0, 3, 4), (2, 1, 3, 4)) + del x136 + x604 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x604 += einsum(t2.abab, (0, 1, 2, 3), x55, (4, 0, 5, 2), (1, 3, 4, 5)) + x605 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x605 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) + x605 += einsum(x127, (0, 1, 2, 3), (0, 1, 2, 3)) + x606 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x606 += einsum(t1.aa, (0, 1), x605, (2, 3, 4, 1), (2, 3, 4, 0)) + del x605 + x607 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x607 += einsum(x113, (0, 1, 2, 3), x23, (0, 2, 4, 5), (1, 3, 4, 5)) * 2.0 + del x23 + x608 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x608 += einsum(x603, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x603 + x608 += einsum(x604, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x604 + x608 += einsum(x606, (0, 1, 2, 3), (0, 1, 3, 2)) + del x606 + x608 += einsum(x607, (0, 1, 2, 3), (0, 1, 2, 3)) + del x607 + x609 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x609 += einsum(t2.aaaa, (0, 1, 2, 3), x608, (4, 5, 6, 1), (4, 5, 0, 6, 2, 3)) * -2.0 + del x608 + x610 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x610 += einsum(x251, (0, 1), t3.abaaba, (2, 3, 0, 4, 5, 6), (3, 5, 2, 1, 4, 6)) * -2.0 + del x251 + x611 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x611 += einsum(x584, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 2.0 + del x584 + x611 += einsum(x586, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) + del x586 + x611 += einsum(x587, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) + del x587 + x611 += einsum(x595, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) + del x595 + x611 += einsum(x597, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) + del x597 + x611 += einsum(x599, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) + del x599 + x611 += einsum(x600, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 + del x600 + x611 += einsum(x602, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -1.0 + del x602 + x611 += einsum(x609, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -1.0 + del x609 + x611 += einsum(x610, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) + del x610 + t3new_abaaba += einsum(x611, (0, 1, 2, 3, 4, 5), (2, 0, 3, 4, 1, 5)) * -1.0 + t3new_abaaba += einsum(x611, (0, 1, 2, 3, 4, 5), (3, 0, 2, 4, 1, 5)) + del x611 + x612 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x612 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + x612 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x612 += einsum(x111, (0, 1, 2, 3), (1, 0, 3, 2)) * 1.00000000000001 + x612 += einsum(x112, (0, 1, 2, 3), x315, (0, 4, 3, 5), (1, 4, 2, 5)) * -2.00000000000002 + del x112 + x612 += einsum(x115, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x115 + x612 += einsum(x116, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x116 + t3new_abaaba += einsum(x612, (0, 1, 2, 3), t3.abaaba, (4, 0, 5, 6, 2, 7), (4, 1, 5, 6, 3, 7)) * 2.0 + del x612 + x613 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x613 += einsum(t2.bbbb, (0, 1, 2, 3), (0, 1, 2, 3)) + x613 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1)) * -0.4999999999999949 + x614 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x614 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) + x614 += einsum(x511, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x511 + x614 += einsum(x127, (0, 1, 2, 3), (0, 1, 2, 3)) + x614 += einsum(x314, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x314 + x614 += einsum(v.aabb.ovov, (0, 1, 2, 3), x613, (2, 4, 3, 5), (4, 5, 0, 1)) * 2.0000000000000204 + del x613 + t3new_abaaba += einsum(x614, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 2, 6, 7, 3), (4, 0, 5, 6, 1, 7)) * 6.0 + del x614 + x615 = np.zeros((nvir[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x615 += einsum(v.aaaa.vvvv, (0, 1, 2, 3), (0, 1, 2, 3)) + x615 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (0, 4, 1, 5), (5, 2, 3, 4)) * -1.0 + x615 += einsum(t1.aa, (0, 1), x109, (0, 2, 3, 4), (4, 1, 2, 3)) * -1.0 + del x109 + t3new_abaaba += einsum(x615, (0, 1, 2, 3), t3.abaaba, (4, 5, 6, 0, 7, 3), (4, 5, 6, 2, 7, 1)) * -2.0 + del x615 + x616 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x616 += einsum(v.aaaa.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) + x616 += einsum(x49, (0, 1, 2, 3), (2, 0, 3, 1)) * -1.0 + x616 += einsum(x49, (0, 1, 2, 3), (2, 1, 3, 0)) + del x49 + x616 += einsum(x99, (0, 1, 2, 3), (1, 3, 0, 2)) + del x99 + t3new_abaaba += einsum(x616, (0, 1, 2, 3), t3.abaaba, (0, 4, 2, 5, 6, 7), (1, 4, 3, 5, 6, 7)) * 2.0 + del x616 + x617 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x617 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) + x617 += einsum(x50, (0, 1, 2, 3), (1, 0, 2, 3)) + del x50 + x618 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x618 += einsum(t2.aaaa, (0, 1, 2, 3), x32, (4, 5, 1, 3), (0, 4, 5, 2)) * 2.0 + del x32 + x619 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x619 += einsum(t2.aaaa, (0, 1, 2, 3), x55, (4, 5, 1, 3), (0, 4, 5, 2)) * 2.0 + del x55 + x620 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x620 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) + x620 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x620 += einsum(x37, (0, 1, 2, 3), (0, 1, 2, 3)) + del x37 + x621 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x621 += einsum(t1.aa, (0, 1), x620, (2, 3, 1, 4), (2, 3, 0, 4)) + del x620 + x622 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x622 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) + x622 += einsum(x25, (0, 1, 2, 3), (0, 2, 1, 3)) + del x25 + x623 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x623 += einsum(t1.aa, (0, 1), x622, (2, 3, 4, 1), (2, 3, 4, 0)) + del x622 + x624 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x624 += einsum(t1.aa, (0, 1), x623, (2, 0, 3, 4), (4, 2, 3, 1)) + del x623 + x625 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x625 += einsum(x48, (0, 1, 2, 3), (0, 2, 1, 3)) + del x48 + x625 += einsum(x52, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + del x52 + x625 += einsum(x618, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + del x618 + x625 += einsum(x619, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 + del x619 + x625 += einsum(x621, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 + del x621 + x625 += einsum(x624, (0, 1, 2, 3), (0, 2, 1, 3)) + del x624 + x626 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x626 += einsum(x617, (0, 1, 2, 3), (0, 1, 2, 3)) + x626 += einsum(x617, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + del x617 + x626 += einsum(x625, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + x626 += einsum(x625, (0, 1, 2, 3), (1, 2, 0, 3)) + del x625 + x626 += einsum(x80, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + del x80 + x626 += einsum(x295, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 + del x295 + x627 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x627 += einsum(t2.abab, (0, 1, 2, 3), x626, (0, 4, 5, 6), (1, 3, 4, 5, 6, 2)) + del x626 + t3new_abaaba += einsum(x627, (0, 1, 2, 3, 4, 5), (3, 0, 2, 4, 1, 5)) * -1.0 + t3new_abaaba += einsum(x627, (0, 1, 2, 3, 4, 5), (3, 0, 2, 5, 1, 4)) + del x627 + x628 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x628 += einsum(t2.bbbb, (0, 1, 2, 3), x430, (1, 4, 3, 5), (0, 4, 5, 2)) * 2.0 + del x430 + x629 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x629 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) + x629 += einsum(x331, (0, 1, 2, 3), (0, 1, 3, 2)) + del x331 + x629 += einsum(x628, (0, 1, 2, 3), (0, 3, 1, 2)) * -1.0 + del x628 + x630 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x630 += einsum(t2.bbbb, (0, 1, 2, 3), x629, (4, 5, 3, 6), (4, 0, 1, 5, 6, 2)) * -2.0 + del x629 + x631 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x631 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ooov, (4, 5, 6, 3), (0, 1, 4, 5, 6, 2)) + x632 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x632 += einsum(t1.bb, (0, 1), x631, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) + del x631 + x633 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x633 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + x633 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x633 += einsum(x111, (0, 1, 2, 3), (0, 1, 2, 3)) + x633 += einsum(x335, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x335 + x634 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x634 += einsum(t2.bbbb, (0, 1, 2, 3), x633, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) * -1.0 + del x633 + x635 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x635 += einsum(x632, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) + del x632 + x635 += einsum(x634, (0, 1, 2, 3, 4, 5), (3, 2, 1, 0, 5, 4)) * -1.0 + del x634 + x636 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x636 += einsum(t1.bb, (0, 1), x635, (2, 3, 0, 4, 5, 6), (2, 3, 4, 5, 6, 1)) * 2.0 + del x635 + x637 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x637 += einsum(x630, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) + del x630 + x637 += einsum(x636, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) + del x636 + t3new_bbbbbb = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + t3new_bbbbbb += einsum(x637, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 + t3new_bbbbbb += einsum(x637, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) + t3new_bbbbbb += einsum(x637, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) + t3new_bbbbbb += einsum(x637, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -1.0 + t3new_bbbbbb += einsum(x637, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -1.0 + t3new_bbbbbb += einsum(x637, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) + t3new_bbbbbb += einsum(x637, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) + t3new_bbbbbb += einsum(x637, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + t3new_bbbbbb += einsum(x637, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -1.0 + t3new_bbbbbb += einsum(x637, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) + t3new_bbbbbb += einsum(x637, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) + t3new_bbbbbb += einsum(x637, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -1.0 + t3new_bbbbbb += einsum(x637, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) + t3new_bbbbbb += einsum(x637, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -1.0 + t3new_bbbbbb += einsum(x637, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -1.0 + t3new_bbbbbb += einsum(x637, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) + t3new_bbbbbb += einsum(x637, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) + t3new_bbbbbb += einsum(x637, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -1.0 + del x637 + x638 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x638 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.babbab, (4, 0, 5, 6, 1, 7), (4, 5, 2, 6, 7, 3)) + x639 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x639 += einsum(t2.bbbb, (0, 1, 2, 3), x402, (4, 5, 6, 3), (0, 1, 4, 5, 6, 2)) + del x402 + x640 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x640 += einsum(t2.bbbb, (0, 1, 2, 3), x167, (4, 5, 1, 6), (4, 5, 0, 2, 3, 6)) + del x167 + x641 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x641 += einsum(x14, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 0, 6, 7, 2), (4, 5, 1, 6, 7, 3)) * 6.0 + del x14 + x642 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x642 += einsum(x638, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 2.0 + del x638 + x642 += einsum(x639, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -4.0 + del x639 + x642 += einsum(x640, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -4.0 + del x640 + x642 += einsum(x641, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x641 + t3new_bbbbbb += einsum(x642, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 + t3new_bbbbbb += einsum(x642, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) + t3new_bbbbbb += einsum(x642, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -1.0 + t3new_bbbbbb += einsum(x642, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) + t3new_bbbbbb += einsum(x642, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + t3new_bbbbbb += einsum(x642, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) + t3new_bbbbbb += einsum(x642, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) + t3new_bbbbbb += einsum(x642, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -1.0 + t3new_bbbbbb += einsum(x642, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) + del x642 + x643 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x643 += einsum(x127, (0, 1, 2, 3), t3.babbab, (4, 2, 5, 6, 3, 7), (0, 4, 5, 6, 7, 1)) + del x127 + x644 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x644 += einsum(t2.bbbb, (0, 1, 2, 3), x382, (4, 5, 6, 3), (4, 0, 1, 5, 6, 2)) * -1.0 + del x382 + x645 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x645 += einsum(x182, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 0, 6, 7, 3), (4, 5, 1, 6, 7, 2)) * -6.0 + x646 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x646 += einsum(x168, (0, 1, 2, 3), (0, 1, 2, 3)) + del x168 + x646 += einsum(x169, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.3333333333333333 + del x169 + x647 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x647 += einsum(t2.bbbb, (0, 1, 2, 3), x646, (4, 5, 1, 6), (4, 5, 0, 6, 2, 3)) * -12.0 + del x646 + x648 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x648 += einsum(x643, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 2.0 + del x643 + x648 += einsum(x644, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -4.0 + del x644 + x648 += einsum(x645, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) + del x645 + x648 += einsum(x647, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) + del x647 + t3new_bbbbbb += einsum(x648, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + t3new_bbbbbb += einsum(x648, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 + t3new_bbbbbb += einsum(x648, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) + t3new_bbbbbb += einsum(x648, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) + t3new_bbbbbb += einsum(x648, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) * -1.0 + t3new_bbbbbb += einsum(x648, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) + t3new_bbbbbb += einsum(x648, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -1.0 + t3new_bbbbbb += einsum(x648, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) + t3new_bbbbbb += einsum(x648, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * -1.0 + del x648 + x649 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x649 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 6, 7, 1, 3), (4, 5, 6, 0, 7, 2)) + x650 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x650 += einsum(t1.bb, (0, 1), x649, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) + del x649 + t3new_bbbbbb += einsum(x650, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 6.0 + t3new_bbbbbb += einsum(x650, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -6.0 + t3new_bbbbbb += einsum(x650, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -6.0 + t3new_bbbbbb += einsum(x650, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * 6.0 + t3new_bbbbbb += einsum(x650, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 6.0 + t3new_bbbbbb += einsum(x650, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -6.0 + del x650 + x651 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x651 += einsum(x440, (0, 1), t3.bbbbbb, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 6, 1)) * 6.0 + del x440 + x652 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x652 += einsum(v.bbbb.ovov, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 6, 7, 3, 1), (4, 5, 6, 0, 2, 7)) * -1.0 + x653 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x653 += einsum(x470, (0, 1, 2, 3), x652, (4, 5, 6, 0, 1, 7), (4, 5, 6, 2, 3, 7)) * 6.0 + del x470, x652 + x654 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x654 += einsum(x651, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) + del x651 + x654 += einsum(x653, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 + del x653 + t3new_bbbbbb += einsum(x654, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + t3new_bbbbbb += einsum(x654, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 + t3new_bbbbbb += einsum(x654, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) + del x654 + x655 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x655 += einsum(t2.bbbb, (0, 1, 2, 3), x157, (4, 5, 3, 6), (4, 0, 1, 2, 6, 5)) + del x157 + x656 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x656 += einsum(t2.bbbb, (0, 1, 2, 3), x1, (4, 5, 6, 3), (4, 0, 1, 6, 5, 2)) + del x1 + x657 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x657 += einsum(t1.bb, (0, 1), x656, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) + del x656 + x658 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x658 += einsum(t2.bbbb, (0, 1, 2, 3), x182, (4, 5, 6, 3), (5, 4, 0, 1, 6, 2)) + del x182 + x659 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x659 += einsum(x657, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 + del x657 + x659 += einsum(x658, (0, 1, 2, 3, 4, 5), (0, 3, 2, 1, 5, 4)) * -1.0 + del x658 + x660 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x660 += einsum(t1.bb, (0, 1), x659, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 6, 1)) * 2.0 + del x659 + x661 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x661 += einsum(x655, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -2.0 + del x655 + x661 += einsum(x660, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -1.0 + del x660 + t3new_bbbbbb += einsum(x661, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 + t3new_bbbbbb += einsum(x661, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) + t3new_bbbbbb += einsum(x661, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) + t3new_bbbbbb += einsum(x661, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -1.0 + t3new_bbbbbb += einsum(x661, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -1.0 + t3new_bbbbbb += einsum(x661, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) + t3new_bbbbbb += einsum(x661, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) * -1.0 + t3new_bbbbbb += einsum(x661, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) + t3new_bbbbbb += einsum(x661, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) + t3new_bbbbbb += einsum(x661, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 + t3new_bbbbbb += einsum(x661, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * -1.0 + t3new_bbbbbb += einsum(x661, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) + t3new_bbbbbb += einsum(x661, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) + t3new_bbbbbb += einsum(x661, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -1.0 + t3new_bbbbbb += einsum(x661, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -1.0 + t3new_bbbbbb += einsum(x661, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) + t3new_bbbbbb += einsum(x661, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) + t3new_bbbbbb += einsum(x661, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -1.0 + del x661 + x662 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x662 += einsum(v.bbbb.oooo, (0, 1, 2, 3), t3.bbbbbb, (4, 3, 1, 5, 6, 7), (4, 0, 2, 5, 6, 7)) * -1.0 + x663 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x663 += einsum(f.bb.oo, (0, 1), (0, 1)) + x663 += einsum(x16, (0, 1), (1, 0)) * 2.0 + del x16 + x663 += einsum(x17, (0, 1), (1, 0)) + del x17 + x663 += einsum(x20, (0, 1), (0, 1)) + del x20 + x664 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x664 += einsum(x663, (0, 1), t3.bbbbbb, (2, 3, 0, 4, 5, 6), (2, 3, 1, 4, 5, 6)) * 6.0 + del x663 + x665 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x665 += einsum(x662, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 6.0 + del x662 + x665 += einsum(x664, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) + del x664 + t3new_bbbbbb += einsum(x665, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -1.0 + t3new_bbbbbb += einsum(x665, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 + t3new_bbbbbb += einsum(x665, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) + del x665 + x666 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x666 += einsum(v.bbbb.vvvv, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 6, 7, 3, 1), (4, 5, 6, 7, 0, 2)) * -1.0 + x667 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x667 += einsum(f.bb.vv, (0, 1), (0, 1)) * -1.0 + x667 += einsum(x142, (0, 1), (1, 0)) * 2.0 + del x142 + x667 += einsum(x143, (0, 1), (1, 0)) + del x143 + x667 += einsum(x145, (0, 1), (0, 1)) + del x145 + x668 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x668 += einsum(x667, (0, 1), t3.bbbbbb, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 6, 1)) * 6.0 + del x667 + x669 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x669 += einsum(x666, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -6.0 + del x666 + x669 += einsum(x668, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -1.0 + del x668 + t3new_bbbbbb += einsum(x669, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + t3new_bbbbbb += einsum(x669, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 + t3new_bbbbbb += einsum(x669, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) + del x669 + x670 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x670 += einsum(x210, (0, 1, 2, 3), (1, 0, 3, 2)) + del x210 + x670 += einsum(x171, (0, 1, 2, 3), (0, 1, 2, 3)) + x671 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x671 += einsum(x670, (0, 1, 2, 3), t3.bbbbbb, (4, 2, 3, 5, 6, 7), (4, 0, 1, 5, 6, 7)) * -6.0 + del x670 + x672 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x672 += einsum(x417, (0, 1), t3.bbbbbb, (2, 3, 0, 4, 5, 6), (2, 3, 1, 4, 5, 6)) * 6.0 + del x417 + x673 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x673 += einsum(x671, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) + del x671 + x673 += einsum(x672, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -1.0 + del x672 + t3new_bbbbbb += einsum(x673, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) + t3new_bbbbbb += einsum(x673, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -1.0 + t3new_bbbbbb += einsum(x673, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * -1.0 + del x673 + x674 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x674 += einsum(x403, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + del x403 + x674 += einsum(x404, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.3333333333333333 + del x404 + x675 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x675 += einsum(t2.bbbb, (0, 1, 2, 3), x674, (4, 5, 6, 3), (4, 0, 1, 5, 6, 2)) * -12.0 + del x674 + x676 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x676 += einsum(v.aabb.ovoo, (0, 1, 2, 3), t3.babbab, (4, 0, 5, 6, 1, 7), (4, 5, 2, 3, 6, 7)) + x677 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x677 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) + x677 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 + x678 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x678 += einsum(x677, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 0, 6, 7, 3), (4, 5, 1, 2, 6, 7)) + del x677 + x679 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x679 += einsum(x676, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -0.3333333333333333 + del x676 + x679 += einsum(x678, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 + del x678 + x680 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x680 += einsum(t1.bb, (0, 1), x679, (2, 3, 0, 4, 5, 6), (2, 3, 4, 5, 6, 1)) * 6.0 + del x679 + x681 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x681 += einsum(x675, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -1.0 + del x675 + x681 += einsum(x680, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) + del x680 + t3new_bbbbbb += einsum(x681, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + t3new_bbbbbb += einsum(x681, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 + t3new_bbbbbb += einsum(x681, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) + t3new_bbbbbb += einsum(x681, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 + t3new_bbbbbb += einsum(x681, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) + t3new_bbbbbb += einsum(x681, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 + t3new_bbbbbb += einsum(x681, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -1.0 + t3new_bbbbbb += einsum(x681, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) + t3new_bbbbbb += einsum(x681, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -1.0 + del x681 + x682 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x682 += einsum(t2.bbbb, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0000000000000204 + x682 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1)) * -1.0 + x683 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x683 += einsum(x682, (0, 1, 2, 3), x7, (0, 4, 2, 5), (4, 1, 5, 3)) * 0.4999999999999949 + del x7, x682 + x684 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x684 += einsum(x111, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.49999999999999983 + del x111 + x684 += einsum(x683, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x683 + x685 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x685 += einsum(x684, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 1, 6, 7, 3), (4, 5, 0, 6, 7, 2)) * 12.000000000000123 + del x684 + x686 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x686 += einsum(t2.abab, (0, 1, 2, 3), x11, (0, 4, 2, 5), (1, 3, 4, 5)) * 0.5 + del x11 + x687 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x687 += einsum(v.aabb.ovov, (0, 1, 2, 3), x315, (2, 4, 3, 5), (4, 5, 0, 1)) + del x315 + x688 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x688 += einsum(x686, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x686 + x688 += einsum(x687, (0, 1, 2, 3), (0, 1, 2, 3)) + del x687 + x689 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x689 += einsum(x688, (0, 1, 2, 3), t3.babbab, (4, 2, 5, 6, 3, 7), (0, 4, 5, 1, 6, 7)) * 4.00000000000004 + del x688 + x690 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x690 += einsum(x685, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) + del x685 + x690 += einsum(x689, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + del x689 + t3new_bbbbbb += einsum(x690, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + t3new_bbbbbb += einsum(x690, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 + t3new_bbbbbb += einsum(x690, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) + t3new_bbbbbb += einsum(x690, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) + t3new_bbbbbb += einsum(x690, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -1.0 + t3new_bbbbbb += einsum(x690, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) + t3new_bbbbbb += einsum(x690, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -1.0 + t3new_bbbbbb += einsum(x690, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) + t3new_bbbbbb += einsum(x690, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -1.0 + del x690 + x691 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x691 += einsum(x184, (0, 1, 2, 3), t3.bbbbbb, (4, 2, 3, 5, 6, 7), (0, 4, 1, 5, 6, 7)) + del x184 + t3new_bbbbbb += einsum(x691, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 6.0 + t3new_bbbbbb += einsum(x691, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -6.0 + t3new_bbbbbb += einsum(x691, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -6.0 + t3new_bbbbbb += einsum(x691, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * 6.0 + t3new_bbbbbb += einsum(x691, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 6.0 + t3new_bbbbbb += einsum(x691, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -6.0 + del x691 + x692 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x692 += einsum(t1.bb, (0, 1), v.bbbb.oovv, (2, 3, 4, 1), (0, 2, 3, 4)) + x693 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x693 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ooov, (4, 5, 1, 3), (0, 4, 5, 2)) + x694 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x694 += einsum(x692, (0, 1, 2, 3), (0, 2, 1, 3)) + del x692 + x694 += einsum(x693, (0, 1, 2, 3), (0, 2, 1, 3)) * 2.0 + del x693 + x694 += einsum(x186, (0, 1, 2, 3), (0, 2, 1, 3)) + del x186 + x695 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x695 += einsum(t1.bb, (0, 1), x171, (2, 3, 0, 4), (3, 2, 4, 1)) + del x171 + x696 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x696 += einsum(t2.bbbb, (0, 1, 2, 3), x412, (4, 5, 1, 3), (4, 5, 0, 2)) * 2.0 + del x412 + x697 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x697 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + x697 += einsum(x177, (0, 1, 2, 3), (1, 0, 2, 3)) + del x177 + x698 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x698 += einsum(t1.bb, (0, 1), x697, (2, 3, 1, 4), (2, 3, 0, 4)) + del x697 + x699 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x699 += einsum(v.bbbb.ooov, (0, 1, 2, 3), x113, (1, 4, 3, 5), (4, 0, 2, 5)) * 2.0 + del x113 + x700 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x700 += einsum(x695, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x695 + x700 += einsum(x187, (0, 1, 2, 3), (0, 1, 2, 3)) + del x187 + x700 += einsum(x696, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + del x696 + x700 += einsum(x698, (0, 1, 2, 3), (2, 1, 0, 3)) + del x698 + x700 += einsum(x699, (0, 1, 2, 3), (0, 1, 2, 3)) + del x699 + x701 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x701 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x701 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) + x701 += einsum(x694, (0, 1, 2, 3), (0, 1, 2, 3)) + x701 += einsum(x694, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x694 + x701 += einsum(x700, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x701 += einsum(x700, (0, 1, 2, 3), (1, 0, 2, 3)) + del x700 + x701 += einsum(x185, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x701 += einsum(x185, (0, 1, 2, 3), (1, 0, 2, 3)) + del x185 + x701 += einsum(x170, (0, 1, 2, 3), (2, 1, 0, 3)) + del x170 + x701 += einsum(x480, (0, 1, 2, 3), (1, 0, 2, 3)) + del x480 + x702 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x702 += einsum(t2.bbbb, (0, 1, 2, 3), x701, (4, 5, 1, 6), (4, 5, 0, 6, 2, 3)) * -2.0 + del x701 + t3new_bbbbbb += einsum(x702, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) + t3new_bbbbbb += einsum(x702, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) + t3new_bbbbbb += einsum(x702, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) + t3new_bbbbbb += einsum(x702, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) + t3new_bbbbbb += einsum(x702, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) + t3new_bbbbbb += einsum(x702, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -1.0 + t3new_bbbbbb += einsum(x702, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -1.0 + t3new_bbbbbb += einsum(x702, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + t3new_bbbbbb += einsum(x702, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 + del x702 + + t1new.aa = t1new_aa + t1new.bb = t1new_bb + t2new.aaaa = t2new_aaaa + t2new.abab = t2new_abab + t2new.bbbb = t2new_bbbb + t3new.aaaaaa = t3new_aaaaaa + t3new.abaaba = t3new_abaaba + t3new.babbab = t3new_babbab + t3new.bbbbbb = t3new_bbbbbb + + return {"t1new": t1new, "t2new": t2new, "t3new": t3new} + +def update_lams(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, t3=None, l1=None, l2=None, l3=None, **kwargs): + l1new = Namespace() + l2new = Namespace() + l3new = Namespace() + + # L amplitudes + l1new_bb = np.zeros((nvir[1], nocc[1]), dtype=types[float]) + l1new_bb += einsum(f.bb.ov, (0, 1), (1, 0)) + l1new_bb += einsum(l2.bbbb, (0, 1, 2, 3), v.bbbb.ovvv, (3, 0, 4, 1), (4, 2)) * -2.0 + l1new_aa = np.zeros((nvir[0], nocc[0]), dtype=types[float]) + l1new_aa += einsum(f.aa.ov, (0, 1), (1, 0)) + l2new_aaaa = np.zeros((nvir[0], nvir[0], nocc[0], nocc[0]), dtype=types[float]) + l2new_aaaa += einsum(l2.aaaa, (0, 1, 2, 3), v.aaaa.vvvv, (4, 1, 5, 0), (4, 5, 2, 3)) * -2.0 + l2new_abab = np.zeros((nvir[0], nvir[1], nocc[0], nocc[1]), dtype=types[float]) + l2new_abab += einsum(l1.aa, (0, 1), v.aabb.vvov, (2, 0, 3, 4), (2, 4, 1, 3)) + l2new_abab += einsum(v.aabb.ovov, (0, 1, 2, 3), (1, 3, 0, 2)) + l2new_abab += einsum(l1.bb, (0, 1), v.aabb.ovvv, (2, 3, 4, 0), (3, 4, 2, 1)) + l2new_abab += einsum(l2.abab, (0, 1, 2, 3), v.aabb.vvvv, (4, 0, 5, 1), (4, 5, 2, 3)) + l2new_bbbb = np.zeros((nvir[1], nvir[1], nocc[1], nocc[1]), dtype=types[float]) + l2new_bbbb += einsum(l2.bbbb, (0, 1, 2, 3), v.bbbb.vvvv, (4, 0, 5, 1), (4, 5, 2, 3)) * 2.0 + l3new_aaaaaa = np.zeros((nvir[0], nvir[0], nvir[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + l3new_aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (0, 5, 3, 1, 2, 4)) * -1.0 + l3new_aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (0, 3, 5, 1, 2, 4)) + l3new_aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (5, 0, 3, 1, 2, 4)) + l3new_aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (3, 0, 5, 1, 2, 4)) * -1.0 + l3new_aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (5, 3, 0, 1, 2, 4)) * -1.0 + l3new_aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (3, 5, 0, 1, 2, 4)) + l3new_aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (0, 5, 3, 2, 1, 4)) + l3new_aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (0, 3, 5, 2, 1, 4)) * -1.0 + l3new_aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (5, 0, 3, 2, 1, 4)) * -1.0 + l3new_aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (3, 0, 5, 2, 1, 4)) + l3new_aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (5, 3, 0, 2, 1, 4)) + l3new_aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (3, 5, 0, 2, 1, 4)) * -1.0 + l3new_aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (0, 5, 3, 2, 4, 1)) * -1.0 + l3new_aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (0, 3, 5, 2, 4, 1)) + l3new_aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (5, 0, 3, 2, 4, 1)) + l3new_aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (3, 0, 5, 2, 4, 1)) * -1.0 + l3new_aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (5, 3, 0, 2, 4, 1)) * -1.0 + l3new_aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (3, 5, 0, 2, 4, 1)) + l3new_babbab = np.zeros((nvir[1], nvir[0], nvir[1], nocc[1], nocc[0], nocc[1]), dtype=types[float]) + l3new_babbab += einsum(v.bbbb.vvvv, (0, 1, 2, 3), l3.babbab, (3, 4, 1, 5, 6, 7), (0, 4, 2, 5, 6, 7)) * -2.0 + l3new_abaaba = np.zeros((nvir[0], nvir[1], nvir[0], nocc[0], nocc[1], nocc[0]), dtype=types[float]) + l3new_abaaba += einsum(v.aaaa.vvvv, (0, 1, 2, 3), l3.abaaba, (1, 4, 3, 5, 6, 7), (0, 4, 2, 5, 6, 7)) * 2.0 + l3new_bbbbbb = np.zeros((nvir[1], nvir[1], nvir[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + l3new_bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (0, 5, 3, 1, 2, 4)) * -1.0 + l3new_bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (0, 3, 5, 1, 2, 4)) + l3new_bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (5, 0, 3, 1, 2, 4)) + l3new_bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (3, 0, 5, 1, 2, 4)) * -1.0 + l3new_bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (5, 3, 0, 1, 2, 4)) * -1.0 + l3new_bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (3, 5, 0, 1, 2, 4)) + l3new_bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (0, 5, 3, 2, 1, 4)) + l3new_bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (0, 3, 5, 2, 1, 4)) * -1.0 + l3new_bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (5, 0, 3, 2, 1, 4)) * -1.0 + l3new_bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (3, 0, 5, 2, 1, 4)) + l3new_bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (5, 3, 0, 2, 1, 4)) + l3new_bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (3, 5, 0, 2, 1, 4)) * -1.0 + l3new_bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (0, 5, 3, 2, 4, 1)) * -1.0 + l3new_bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (0, 3, 5, 2, 4, 1)) + l3new_bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (5, 0, 3, 2, 4, 1)) + l3new_bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (3, 0, 5, 2, 4, 1)) * -1.0 + l3new_bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (5, 3, 0, 2, 4, 1)) * -1.0 + l3new_bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (3, 5, 0, 2, 4, 1)) + x0 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x0 += einsum(t2.bbbb, (0, 1, 2, 3), l3.bbbbbb, (4, 5, 3, 6, 0, 1), (6, 4, 5, 2)) + l1new_bb += einsum(v.bbbb.vvvv, (0, 1, 2, 3), x0, (4, 3, 1, 2), (0, 4)) * -6.0 + x1 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x1 += einsum(t1.bb, (0, 1), l2.bbbb, (2, 1, 3, 4), (3, 4, 0, 2)) + x2 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x2 += einsum(t1.bb, (0, 1), x1, (2, 3, 4, 1), (3, 2, 4, 0)) + l1new_bb += einsum(v.bbbb.ooov, (0, 1, 2, 3), x2, (4, 1, 0, 2), (3, 4)) * -2.0 + x3 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x3 += einsum(t1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) + x4 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x4 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x4 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) + x4 += einsum(x3, (0, 1, 2, 3), (0, 1, 2, 3)) + x4 += einsum(x3, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x5 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x5 += einsum(t1.bb, (0, 1), v.aabb.ovov, (2, 3, 4, 1), (0, 4, 2, 3)) + l2new_abab += einsum(x1, (0, 1, 2, 3), x5, (1, 2, 4, 5), (5, 3, 4, 0)) * -2.0 + x6 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x6 += einsum(v.aabb.ovoo, (0, 1, 2, 3), (2, 3, 0, 1)) + x6 += einsum(x5, (0, 1, 2, 3), (0, 1, 2, 3)) + l2new_abab += einsum(l1.bb, (0, 1), x6, (1, 2, 3, 4), (4, 0, 3, 2)) * -1.0 + x7 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x7 += einsum(t1.aa, (0, 1), v.aabb.ovov, (2, 1, 3, 4), (3, 4, 0, 2)) + x8 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x8 += einsum(v.aabb.ooov, (0, 1, 2, 3), (2, 3, 0, 1)) + x8 += einsum(x7, (0, 1, 2, 3), (0, 1, 3, 2)) + x9 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x9 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 5), (1, 4, 3, 5)) + x10 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x10 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) + x10 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x11 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x11 += einsum(t2.bbbb, (0, 1, 2, 3), x10, (1, 4, 3, 5), (0, 4, 2, 5)) * 2.0 + x12 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x12 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x12 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) + x13 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x13 += einsum(t1.bb, (0, 1), x12, (2, 3, 1, 4), (0, 2, 3, 4)) + x14 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x14 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + x14 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x14 += einsum(x9, (0, 1, 2, 3), (0, 1, 2, 3)) + x14 += einsum(x11, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x14 += einsum(x13, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + x15 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x15 += einsum(t1.aa, (0, 1), v.aabb.vvov, (2, 1, 3, 4), (3, 4, 0, 2)) + l2new_abab += einsum(l2.aaaa, (0, 1, 2, 3), x15, (4, 5, 3, 1), (0, 5, 2, 4)) * 2.0 + x16 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x16 += einsum(t2.aaaa, (0, 1, 2, 3), v.aabb.ovov, (1, 3, 4, 5), (4, 5, 0, 2)) + x17 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x17 += einsum(t2.abab, (0, 1, 2, 3), x10, (1, 4, 3, 5), (4, 5, 0, 2)) + x18 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x18 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) + x18 += einsum(x15, (0, 1, 2, 3), (0, 1, 2, 3)) + x18 += einsum(x16, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x18 += einsum(x17, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x19 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x19 += einsum(t1.aa, (0, 1), v.aabb.ovov, (0, 1, 2, 3), (2, 3)) + x20 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x20 += einsum(t1.bb, (0, 1), x10, (0, 2, 1, 3), (2, 3)) + x21 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x21 += einsum(f.bb.ov, (0, 1), (0, 1)) + x21 += einsum(x19, (0, 1), (0, 1)) + x21 += einsum(x20, (0, 1), (0, 1)) * -1.0 + l2new_abab += einsum(l1.aa, (0, 1), x21, (2, 3), (0, 3, 1, 2)) + l3new_babbab += einsum(x21, (0, 1), l2.abab, (2, 3, 4, 5), (1, 2, 3, 0, 4, 5)) + l3new_babbab += einsum(x21, (0, 1), l2.abab, (2, 3, 4, 5), (3, 2, 1, 5, 4, 0)) + l3new_babbab += einsum(x21, (0, 1), l2.abab, (2, 3, 4, 5), (3, 2, 1, 0, 4, 5)) * -1.0 + l3new_babbab += einsum(x21, (0, 1), l2.abab, (2, 3, 4, 5), (1, 2, 3, 5, 4, 0)) * -1.0 + l3new_abaaba += einsum(x21, (0, 1), l2.aaaa, (2, 3, 4, 5), (2, 1, 3, 4, 0, 5)) * 2.0 + l3new_bbbbbb += einsum(x21, (0, 1), l2.bbbb, (2, 3, 4, 5), (2, 3, 1, 4, 5, 0)) * 2.0 + l3new_bbbbbb += einsum(x21, (0, 1), l2.bbbb, (2, 3, 4, 5), (2, 3, 1, 0, 4, 5)) * 2.0 + l3new_bbbbbb += einsum(x21, (0, 1), l2.bbbb, (2, 3, 4, 5), (2, 1, 3, 4, 0, 5)) * 2.0 + l3new_bbbbbb += einsum(x21, (0, 1), l2.bbbb, (2, 3, 4, 5), (1, 2, 3, 4, 5, 0)) * 2.0 + l3new_bbbbbb += einsum(x21, (0, 1), l2.bbbb, (2, 3, 4, 5), (1, 2, 3, 0, 4, 5)) * 2.0 + l3new_bbbbbb += einsum(x21, (0, 1), l2.bbbb, (2, 3, 4, 5), (2, 3, 1, 4, 0, 5)) * -2.0 + l3new_bbbbbb += einsum(x21, (0, 1), l2.bbbb, (2, 3, 4, 5), (2, 1, 3, 4, 5, 0)) * -2.0 + l3new_bbbbbb += einsum(x21, (0, 1), l2.bbbb, (2, 3, 4, 5), (2, 1, 3, 0, 4, 5)) * -2.0 + l3new_bbbbbb += einsum(x21, (0, 1), l2.bbbb, (2, 3, 4, 5), (1, 2, 3, 4, 0, 5)) * -2.0 + x22 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + x22 += einsum(t1.bb, (0, 1), v.aabb.vvov, (2, 3, 4, 1), (0, 4, 2, 3)) + x23 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + x23 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 4, 5, 3), (1, 5, 2, 4)) + x24 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + x24 += einsum(v.aabb.vvoo, (0, 1, 2, 3), (2, 3, 0, 1)) + x24 += einsum(x22, (0, 1, 2, 3), (0, 1, 3, 2)) + x24 += einsum(x23, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + x25 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x25 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 2, 5, 3), (0, 1, 4, 5)) + x26 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x26 += einsum(t1.bb, (0, 1), x3, (2, 3, 4, 1), (0, 2, 3, 4)) + x27 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x27 += einsum(t1.bb, (0, 1), v.bbbb.ooov, (2, 3, 4, 1), (0, 2, 3, 4)) + x28 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x28 += einsum(v.bbbb.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) + x28 += einsum(x25, (0, 1, 2, 3), (3, 1, 2, 0)) + x28 += einsum(x26, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 + x28 += einsum(x27, (0, 1, 2, 3), (2, 0, 3, 1)) * -1.0 + x28 += einsum(x27, (0, 1, 2, 3), (3, 0, 2, 1)) + x29 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) + x29 += einsum(t1.aa, (0, 1), v.aabb.ovoo, (2, 1, 3, 4), (3, 4, 0, 2)) + x30 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) + x30 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 5, 3), (1, 5, 0, 4)) + x31 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x31 += einsum(v.aabb.ooov, (0, 1, 2, 3), (2, 3, 0, 1)) + x31 += einsum(x7, (0, 1, 2, 3), (0, 1, 2, 3)) + l2new_abab += einsum(l1.aa, (0, 1), x31, (2, 3, 1, 4), (0, 3, 4, 2)) * -1.0 + x32 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) + x32 += einsum(t1.bb, (0, 1), x31, (2, 1, 3, 4), (0, 2, 3, 4)) + x33 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) + x33 += einsum(v.aabb.oooo, (0, 1, 2, 3), (2, 3, 0, 1)) + x33 += einsum(x29, (0, 1, 2, 3), (1, 0, 3, 2)) + x33 += einsum(x30, (0, 1, 2, 3), (0, 1, 3, 2)) + x33 += einsum(x32, (0, 1, 2, 3), (0, 1, 3, 2)) + x34 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x34 += einsum(v.bbbb.ovov, (0, 1, 2, 3), t3.babbab, (4, 5, 6, 3, 7, 1), (4, 6, 0, 2, 5, 7)) * -1.0 + l2new_bbbb += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), x34, (3, 5, 6, 7, 4, 1), (0, 2, 6, 7)) * 1.9999999999999203 + x35 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x35 += einsum(t2.abab, (0, 1, 2, 3), v.bbbb.ooov, (4, 5, 6, 3), (1, 4, 5, 6, 0, 2)) + x36 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x36 += einsum(t2.abab, (0, 1, 2, 3), x3, (4, 5, 6, 3), (4, 1, 6, 5, 0, 2)) + x37 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x37 += einsum(x34, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -0.9999999999999601 + del x34 + x37 += einsum(x35, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) + x37 += einsum(x35, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) * -1.0 + del x35 + x37 += einsum(x36, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + x37 += einsum(x36, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 + del x36 + x38 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x38 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.babbab, (4, 5, 6, 7, 1, 3), (4, 6, 2, 7, 5, 0)) + l2new_abab += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), x38, (5, 3, 6, 2, 4, 7), (1, 0, 7, 6)) * 1.9999999999999194 + x39 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x39 += einsum(v.aabb.ovoo, (0, 1, 2, 3), (2, 3, 0, 1)) + x39 += einsum(x5, (0, 1, 2, 3), (1, 0, 2, 3)) + x40 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x40 += einsum(t2.abab, (0, 1, 2, 3), x39, (4, 5, 6, 2), (1, 4, 5, 3, 0, 6)) + x41 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x41 += einsum(x38, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 0.9999999999999597 + x41 += einsum(t2.bbbb, (0, 1, 2, 3), x31, (4, 3, 5, 6), (0, 1, 4, 2, 6, 5)) + x41 += einsum(x40, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) * -1.0 + x42 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x42 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), t3.babbab, (4, 5, 6, 3, 7, 1), (0, 4, 6, 2, 5, 7)) * -0.9999999999999601 + x42 += einsum(v.aabb.vvov, (0, 1, 2, 3), t3.babbab, (4, 5, 6, 7, 1, 3), (2, 4, 6, 7, 5, 0)) * -0.9999999999999597 + x42 += einsum(x4, (0, 1, 2, 3), t3.babbab, (4, 5, 1, 6, 7, 3), (2, 4, 0, 6, 5, 7)) * -2.0 + x42 += einsum(x6, (0, 1, 2, 3), t3.abaaba, (4, 5, 2, 6, 7, 3), (1, 5, 0, 7, 4, 6)) * -2.0 + x42 += einsum(x8, (0, 1, 2, 3), t3.babbab, (4, 2, 5, 6, 7, 1), (0, 4, 5, 6, 3, 7)) + x42 += einsum(t2.abab, (0, 1, 2, 3), x14, (4, 5, 6, 3), (5, 1, 4, 6, 0, 2)) + x42 += einsum(t2.bbbb, (0, 1, 2, 3), x18, (4, 3, 5, 6), (4, 0, 1, 2, 5, 6)) * -1.0 + x42 += einsum(x21, (0, 1), t3.babbab, (2, 3, 4, 5, 6, 1), (0, 2, 4, 5, 3, 6)) * -0.9999999999999597 + x42 += einsum(t2.abab, (0, 1, 2, 3), x24, (4, 5, 2, 6), (5, 1, 4, 3, 0, 6)) * -1.0 + x42 += einsum(t2.abab, (0, 1, 2, 3), x28, (1, 4, 5, 6), (5, 6, 4, 3, 0, 2)) * -1.0 + x42 += einsum(t2.abab, (0, 1, 2, 3), x33, (4, 5, 0, 6), (5, 1, 4, 3, 6, 2)) + x42 += einsum(t1.bb, (0, 1), x37, (2, 3, 4, 0, 5, 6), (4, 3, 2, 1, 5, 6)) + del x37 + x42 += einsum(t1.aa, (0, 1), x41, (2, 3, 4, 5, 0, 6), (4, 3, 2, 5, 6, 1)) * -1.0 + del x41 + l1new_bb += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), x42, (6, 3, 5, 2, 4, 1), (0, 6)) * -2.0 + del x42 + x43 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x43 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) + x43 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x43 += einsum(x3, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x43 += einsum(x3, (0, 1, 2, 3), (0, 2, 1, 3)) + x44 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x44 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.abaaba, (4, 5, 6, 7, 3, 1), (5, 2, 4, 6, 0, 7)) + l2new_abab += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), x44, (4, 6, 5, 3, 7, 2), (0, 1, 7, 6)) * 1.9999999999999194 + x45 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x45 += einsum(t2.aaaa, (0, 1, 2, 3), x39, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) * -1.0 + x46 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x46 += einsum(x44, (0, 1, 2, 3, 4, 5), (0, 1, 3, 4, 2, 5)) * 0.9999999999999597 + x46 += einsum(t2.abab, (0, 1, 2, 3), x31, (4, 3, 5, 6), (1, 4, 0, 6, 5, 2)) * -1.0 + x46 += einsum(x45, (0, 1, 2, 3, 4, 5), (1, 0, 3, 4, 2, 5)) * -1.0 + x47 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x47 += einsum(v.aabb.vvov, (0, 1, 2, 3), t3.abaaba, (4, 5, 6, 7, 3, 1), (2, 5, 4, 6, 7, 0)) * -1.9999999999999194 + x47 += einsum(x43, (0, 1, 2, 3), t3.abaaba, (4, 2, 5, 6, 3, 7), (1, 0, 4, 5, 6, 7)) * -1.0 + x47 += einsum(x6, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 2, 6, 7, 3), (1, 0, 4, 5, 6, 7)) * -3.0 + x47 += einsum(x8, (0, 1, 2, 3), t3.abaaba, (4, 5, 2, 6, 1, 7), (0, 5, 4, 3, 6, 7)) * 2.0 + x47 += einsum(t2.abab, (0, 1, 2, 3), x18, (4, 3, 5, 6), (4, 1, 0, 5, 2, 6)) * -2.0 + del x18 + x47 += einsum(x21, (0, 1), t3.abaaba, (2, 3, 4, 5, 1, 6), (0, 3, 2, 4, 5, 6)) * -0.9999999999999601 + x47 += einsum(t2.aaaa, (0, 1, 2, 3), x24, (4, 5, 3, 6), (5, 4, 0, 1, 2, 6)) * -2.0 + del x24 + x47 += einsum(t2.aaaa, (0, 1, 2, 3), x33, (4, 5, 1, 6), (5, 4, 0, 6, 2, 3)) * 2.0 + del x33 + x47 += einsum(t1.aa, (0, 1), x46, (2, 3, 4, 0, 5, 6), (3, 2, 4, 5, 6, 1)) * -2.0 + del x46 + l1new_bb += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), x47, (6, 4, 3, 5, 0, 2), (1, 6)) + del x47 + x48 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x48 += einsum(v.bbbb.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) + x48 += einsum(x25, (0, 1, 2, 3), (3, 1, 2, 0)) + x48 += einsum(x26, (0, 1, 2, 3), (3, 1, 2, 0)) + x48 += einsum(x27, (0, 1, 2, 3), (2, 1, 3, 0)) + x48 += einsum(x27, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 + x49 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x49 += einsum(v.bbbb.ovov, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 6, 7, 3, 1), (4, 5, 6, 0, 2, 7)) * -1.0 + l2new_bbbb += einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), x49, (5, 4, 3, 6, 7, 2), (0, 1, 6, 7)) * -5.9999999999997575 + x50 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x50 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ooov, (4, 5, 6, 3), (0, 1, 4, 5, 6, 2)) + x51 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x51 += einsum(t2.bbbb, (0, 1, 2, 3), x3, (4, 5, 6, 3), (4, 0, 1, 6, 5, 2)) + x52 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x52 += einsum(x49, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -0.9999999999999596 + del x49 + x52 += einsum(x50, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 + x52 += einsum(x50, (0, 1, 2, 3, 4, 5), (0, 1, 3, 4, 2, 5)) + del x50 + x52 += einsum(x51, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) * -1.0 + x52 += einsum(x51, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) + del x51 + x53 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x53 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 6, 7, 1, 3), (0, 4, 5, 6, 7, 2)) * -0.9999999999999596 + x53 += einsum(x43, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 2, 6, 7, 3), (1, 4, 0, 5, 6, 7)) * -1.5 + del x43 + x53 += einsum(x6, (0, 1, 2, 3), t3.babbab, (4, 2, 5, 6, 3, 7), (1, 4, 0, 5, 6, 7)) * -0.5 + x53 += einsum(t2.bbbb, (0, 1, 2, 3), x14, (4, 5, 6, 3), (5, 0, 4, 1, 2, 6)) + del x14 + x53 += einsum(x21, (0, 1), t3.bbbbbb, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) * 0.4999999999999798 + x53 += einsum(t2.bbbb, (0, 1, 2, 3), x48, (1, 4, 5, 6), (5, 0, 6, 4, 2, 3)) + x53 += einsum(t1.bb, (0, 1), x52, (2, 3, 4, 5, 0, 6), (5, 3, 4, 2, 6, 1)) + del x52 + l1new_bb += einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), x53, (6, 3, 5, 4, 2, 1), (0, 6)) * -6.0 + del x53 + x54 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x54 += einsum(l2.bbbb, (0, 1, 2, 3), t2.abab, (4, 3, 5, 1), (2, 0, 4, 5)) + x55 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x55 += einsum(l2.abab, (0, 1, 2, 3), t2.aaaa, (4, 2, 5, 0), (3, 1, 4, 5)) + x56 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x56 += einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), t3.babbab, (4, 6, 5, 1, 7, 2), (3, 0, 6, 7)) + x57 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x57 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.abaaba, (6, 5, 4, 7, 2, 1), (3, 0, 6, 7)) + x58 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x58 += einsum(t1.aa, (0, 1), l3.babbab, (2, 1, 3, 4, 5, 6), (4, 6, 2, 3, 5, 0)) + x59 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x59 += einsum(t2.abab, (0, 1, 2, 3), x58, (4, 1, 5, 3, 0, 6), (4, 5, 6, 2)) + x60 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x60 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.aaaaaa, (6, 3, 5, 7, 0, 2), (4, 1, 6, 7)) + x61 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x61 += einsum(t1.aa, (0, 1), l3.abaaba, (2, 3, 1, 4, 5, 6), (5, 3, 4, 6, 0, 2)) + x62 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x62 += einsum(t2.aaaa, (0, 1, 2, 3), x61, (4, 5, 0, 1, 6, 3), (4, 5, 6, 2)) * -1.0 + x63 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x63 += einsum(t1.aa, (0, 1), l2.abab, (1, 2, 3, 4), (4, 2, 3, 0)) + l2new_abab += einsum(x5, (0, 1, 2, 3), x63, (0, 4, 5, 2), (3, 4, 5, 1)) + x64 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x64 += einsum(t2.abab, (0, 1, 2, 3), l3.babbab, (4, 2, 3, 5, 6, 1), (5, 4, 6, 0)) + x65 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x65 += einsum(t2.aaaa, (0, 1, 2, 3), l3.abaaba, (2, 4, 3, 5, 6, 1), (6, 4, 5, 0)) + x66 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x66 += einsum(x63, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 + x66 += einsum(x64, (0, 1, 2, 3), (0, 1, 2, 3)) + x66 += einsum(x65, (0, 1, 2, 3), (0, 1, 2, 3)) + l2new_abab += einsum(v.aabb.ovvv, (0, 1, 2, 3), x66, (4, 3, 5, 0), (1, 2, 5, 4)) * -2.0 + l2new_abab += einsum(v.aabb.ovoo, (0, 1, 2, 3), x66, (3, 4, 5, 0), (1, 4, 5, 2)) * 2.0 + x67 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x67 += einsum(l2.abab, (0, 1, 2, 3), (3, 1, 2, 0)) + x67 += einsum(x54, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x67 += einsum(x55, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x67 += einsum(x56, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0 + x67 += einsum(x57, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.0 + x67 += einsum(x59, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 + x67 += einsum(x60, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0 + x67 += einsum(x62, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 + x67 += einsum(t1.aa, (0, 1), x66, (2, 3, 0, 4), (2, 3, 4, 1)) * -2.0 + l1new_bb += einsum(v.aabb.ovvv, (0, 1, 2, 3), x67, (4, 3, 0, 1), (2, 4)) + del x67 + x68 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) + x68 += einsum(t2.abab, (0, 1, 2, 3), l3.babbab, (4, 5, 3, 6, 0, 1), (6, 4, 5, 2)) + x69 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) + x69 += einsum(t2.aaaa, (0, 1, 2, 3), l3.abaaba, (4, 5, 3, 0, 6, 1), (6, 5, 4, 2)) + x70 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) + x70 += einsum(t1.aa, (0, 1), l2.abab, (2, 3, 0, 4), (4, 3, 2, 1)) * 0.5 + x70 += einsum(x68, (0, 1, 2, 3), (0, 1, 2, 3)) + x70 += einsum(x69, (0, 1, 2, 3), (0, 1, 2, 3)) + l1new_bb += einsum(v.aabb.vvvv, (0, 1, 2, 3), x70, (4, 3, 0, 1), (2, 4)) * 2.0 + del x70 + x71 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x71 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x71 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) + x72 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x72 += einsum(t1.bb, (0, 1), l3.bbbbbb, (2, 3, 1, 4, 5, 6), (4, 5, 6, 0, 2, 3)) + l3new_babbab += einsum(v.aabb.ovoo, (0, 1, 2, 3), x72, (4, 2, 5, 3, 6, 7), (6, 1, 7, 5, 0, 4)) * -6.0 + l3new_babbab += einsum(x5, (0, 1, 2, 3), x72, (0, 4, 5, 1, 6, 7), (7, 3, 6, 4, 2, 5)) * 6.0 + x73 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x73 += einsum(t2.bbbb, (0, 1, 2, 3), x72, (0, 4, 1, 5, 6, 3), (4, 5, 6, 2)) + x74 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x74 += einsum(t1.bb, (0, 1), l3.babbab, (2, 3, 1, 4, 5, 6), (4, 6, 0, 2, 5, 3)) + l2new_abab += einsum(x22, (0, 1, 2, 3), x74, (0, 4, 1, 5, 6, 3), (2, 5, 6, 4)) * 2.0 + x75 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x75 += einsum(t2.abab, (0, 1, 2, 3), x74, (4, 1, 5, 6, 0, 2), (4, 5, 6, 3)) + x76 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x76 += einsum(t2.bbbb, (0, 1, 2, 3), l3.bbbbbb, (4, 2, 3, 5, 6, 1), (5, 6, 0, 4)) + x77 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x77 += einsum(t2.abab, (0, 1, 2, 3), l3.babbab, (4, 2, 3, 5, 0, 6), (5, 6, 1, 4)) + x78 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x78 += einsum(x1, (0, 1, 2, 3), (1, 0, 2, 3)) + x78 += einsum(x76, (0, 1, 2, 3), (0, 1, 2, 3)) * -3.0 + x78 += einsum(x77, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + l1new_bb += einsum(v.bbbb.oovv, (0, 1, 2, 3), x78, (0, 4, 1, 3), (2, 4)) * -2.0 + x79 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x79 += einsum(x73, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0 + x79 += einsum(x75, (0, 1, 2, 3), (0, 1, 2, 3)) + x79 += einsum(t1.bb, (0, 1), x78, (0, 2, 3, 4), (2, 3, 4, 1)) + l1new_bb += einsum(x71, (0, 1, 2, 3), x79, (4, 0, 2, 1), (3, 4)) * 2.0 + del x79 + x80 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x80 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) + x80 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 + x81 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x81 += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 3, 5, 1), (2, 4, 0, 5)) + x82 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x82 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 5), (3, 4, 1, 5)) + x83 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x83 += einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), t3.bbbbbb, (6, 4, 5, 7, 1, 2), (3, 6, 0, 7)) + x84 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x84 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (6, 4, 5, 7, 1, 2), (3, 6, 0, 7)) + x85 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x85 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (3, 6, 5, 0, 7, 2), (4, 6, 1, 7)) + x86 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x86 += einsum(x81, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.0 + x86 += einsum(x82, (0, 1, 2, 3), (0, 1, 2, 3)) + x86 += einsum(x83, (0, 1, 2, 3), (0, 1, 2, 3)) * 9.0 + x86 += einsum(x84, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.0 + x86 += einsum(x85, (0, 1, 2, 3), (0, 1, 2, 3)) + l1new_bb += einsum(x80, (0, 1, 2, 3), x86, (4, 0, 2, 1), (3, 4)) + del x86 + x87 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + x87 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 5, 1), (3, 4, 0, 5)) + x88 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + x88 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (6, 4, 5, 0, 7, 2), (3, 6, 1, 7)) + x89 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + x89 += einsum(t2.abab, (0, 1, 2, 3), x74, (4, 1, 5, 3, 0, 6), (4, 5, 6, 2)) * -1.0 + x90 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + x90 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (3, 6, 5, 7, 1, 2), (4, 6, 0, 7)) + x91 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x91 += einsum(t1.bb, (0, 1), l3.abaaba, (2, 1, 3, 4, 5, 6), (5, 0, 4, 6, 2, 3)) + l3new_abaaba += einsum(x21, (0, 1), x91, (2, 0, 3, 4, 5, 6), (5, 1, 6, 4, 2, 3)) * 2.0 + x92 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + x92 += einsum(t2.aaaa, (0, 1, 2, 3), x91, (4, 5, 0, 1, 3, 6), (4, 5, 6, 2)) * -1.0 + x93 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x93 += einsum(t1.bb, (0, 1), l2.abab, (2, 1, 3, 4), (4, 0, 3, 2)) + l2new_abab += einsum(x7, (0, 1, 2, 3), x93, (4, 0, 2, 5), (5, 1, 3, 4)) + x94 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x94 += einsum(t2.bbbb, (0, 1, 2, 3), l3.babbab, (2, 4, 3, 5, 6, 1), (5, 0, 6, 4)) + x95 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x95 += einsum(t2.abab, (0, 1, 2, 3), l3.abaaba, (4, 3, 2, 5, 6, 0), (6, 1, 5, 4)) + x96 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x96 += einsum(x93, (0, 1, 2, 3), (0, 1, 2, 3)) + x96 += einsum(x94, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x96 += einsum(x95, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x97 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + x97 += einsum(x87, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 + x97 += einsum(x88, (0, 1, 2, 3), (0, 1, 2, 3)) + x97 += einsum(x89, (0, 1, 2, 3), (0, 1, 3, 2)) + x97 += einsum(x90, (0, 1, 2, 3), (0, 1, 2, 3)) + x97 += einsum(x92, (0, 1, 2, 3), (0, 1, 3, 2)) + x97 += einsum(t1.aa, (0, 1), x96, (2, 3, 0, 4), (2, 3, 1, 4)) * 0.5 + l1new_bb += einsum(v.aabb.vvov, (0, 1, 2, 3), x97, (4, 2, 1, 0), (3, 4)) * -2.0 + del x97 + x98 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x98 += einsum(t1.bb, (0, 1), x58, (2, 3, 4, 1, 5, 6), (2, 3, 0, 4, 5, 6)) + x99 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x99 += einsum(t1.bb, (0, 1), x61, (2, 1, 3, 4, 5, 6), (2, 0, 3, 4, 5, 6)) + x100 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) + x100 += einsum(x68, (0, 1, 2, 3), (0, 1, 2, 3)) + del x68 + x100 += einsum(x69, (0, 1, 2, 3), (0, 1, 2, 3)) + del x69 + l2new_abab += einsum(v.aabb.ovvv, (0, 1, 2, 3), x100, (4, 3, 5, 1), (5, 2, 0, 4)) * -2.0 + l2new_abab += einsum(x100, (0, 1, 2, 3), x6, (0, 4, 5, 3), (2, 1, 5, 4)) * 2.0 + x101 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x101 += einsum(x63, (0, 1, 2, 3), (0, 1, 2, 3)) + x101 += einsum(x64, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x101 += einsum(x65, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + l1new_bb += einsum(v.aabb.oovv, (0, 1, 2, 3), x101, (4, 3, 0, 1), (2, 4)) * -1.0 + x102 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) + x102 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 5, 0, 1), (3, 5, 2, 4)) + x103 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) + x103 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (6, 7, 5, 0, 1, 2), (3, 6, 4, 7)) + x104 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) + x104 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (6, 7, 5, 0, 1, 2), (4, 7, 3, 6)) + x105 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) + x105 += einsum(t1.bb, (0, 1), x101, (2, 1, 3, 4), (0, 2, 3, 4)) + x106 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x106 += einsum(x94, (0, 1, 2, 3), (0, 1, 2, 3)) + x106 += einsum(x95, (0, 1, 2, 3), (0, 1, 2, 3)) + x107 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) + x107 += einsum(t1.aa, (0, 1), x106, (2, 3, 4, 1), (2, 3, 0, 4)) * 2.0 + x108 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) + x108 += einsum(x102, (0, 1, 2, 3), (0, 1, 2, 3)) + x108 += einsum(x103, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.9999999999999194 + x108 += einsum(x104, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.9999999999999194 + x108 += einsum(x105, (0, 1, 2, 3), (1, 0, 2, 3)) + x108 += einsum(x107, (0, 1, 2, 3), (0, 1, 3, 2)) + l2new_abab += einsum(v.aabb.ovov, (0, 1, 2, 3), x108, (4, 2, 5, 0), (1, 3, 5, 4)) + x109 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x109 += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 3, 0, 1), (2, 4)) + x110 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x110 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 1), (3, 4)) + x111 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x111 += einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), t3.bbbbbb, (6, 4, 5, 0, 1, 2), (3, 6)) + x112 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x112 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (6, 4, 5, 0, 1, 2), (3, 6)) + x113 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x113 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (3, 6, 5, 0, 1, 2), (4, 6)) + x114 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x114 += einsum(x109, (0, 1), (0, 1)) + x114 += einsum(x110, (0, 1), (0, 1)) * 0.5 + x114 += einsum(x111, (0, 1), (0, 1)) * 1.4999999999999394 + x114 += einsum(x112, (0, 1), (0, 1)) * 0.9999999999999597 + x114 += einsum(x113, (0, 1), (0, 1)) * 0.49999999999998007 + x115 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x115 += einsum(l1.bb, (0, 1), t2.abab, (2, 3, 4, 0), (1, 3, 2, 4)) + x115 += einsum(x93, (0, 1, 2, 3), (0, 1, 2, 3)) + x115 += einsum(l2.bbbb, (0, 1, 2, 3), t3.babbab, (4, 5, 3, 0, 6, 1), (2, 4, 5, 6)) * 2.0 + x115 += einsum(x94, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x115 += einsum(l2.abab, (0, 1, 2, 3), t3.abaaba, (4, 5, 2, 6, 1, 0), (3, 5, 4, 6)) * 2.0 + x115 += einsum(x95, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x115 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x72, (6, 0, 2, 7, 5, 3), (6, 7, 1, 4)) * -3.0 + x115 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x74, (6, 1, 7, 4, 2, 5), (6, 7, 0, 3)) * -4.0 + x115 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x58, (6, 2, 5, 3, 1, 7), (6, 0, 7, 4)) * 2.0 + x115 += einsum(t2.abab, (0, 1, 2, 3), x98, (4, 1, 5, 3, 0, 6), (4, 5, 6, 2)) * 2.0 + x115 += einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), x91, (6, 7, 2, 1, 5, 4), (6, 7, 0, 3)) * 3.0 + x115 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x61, (6, 4, 2, 0, 7, 5), (6, 1, 7, 3)) * -2.0 + x115 += einsum(t2.aaaa, (0, 1, 2, 3), x99, (4, 5, 1, 0, 6, 3), (4, 5, 6, 2)) * -2.0 + x115 += einsum(t2.abab, (0, 1, 2, 3), x100, (4, 3, 2, 5), (4, 1, 0, 5)) * -2.0 + x115 += einsum(t2.abab, (0, 1, 2, 3), x78, (1, 4, 5, 3), (4, 5, 0, 2)) * -2.0 + x115 += einsum(t2.aaaa, (0, 1, 2, 3), x96, (4, 5, 1, 3), (4, 5, 0, 2)) * 2.0 + x115 += einsum(t2.abab, (0, 1, 2, 3), x101, (4, 3, 0, 5), (4, 1, 5, 2)) * -1.0 + x115 += einsum(t1.aa, (0, 1), x108, (2, 3, 0, 4), (2, 3, 4, 1)) * -1.0 + x115 += einsum(t1.aa, (0, 1), x114, (2, 3), (2, 3, 0, 1)) * 2.0 + l1new_bb += einsum(v.aabb.ovov, (0, 1, 2, 3), x115, (4, 2, 0, 1), (3, 4)) * -1.0 + del x115 + x116 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x116 += einsum(t2.abab, (0, 1, 2, 3), l3.babbab, (4, 2, 5, 6, 0, 1), (6, 4, 5, 3)) + x117 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x117 += einsum(t1.bb, (0, 1), l2.bbbb, (2, 3, 4, 0), (4, 2, 3, 1)) + x117 += einsum(x116, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + l1new_bb += einsum(v.bbbb.vvvv, (0, 1, 2, 3), x117, (4, 1, 2, 3), (0, 4)) * 2.0 + del x117 + x118 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x118 += einsum(t1.aa, (0, 1), v.aabb.vvoo, (2, 1, 3, 4), (3, 4, 0, 2)) + x119 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x119 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.vvov, (4, 2, 5, 3), (1, 5, 0, 4)) + x120 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x120 += einsum(v.bbbb.ovov, (0, 1, 2, 3), t3.babbab, (4, 5, 2, 1, 6, 3), (4, 0, 5, 6)) + x121 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x121 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.abaaba, (4, 5, 0, 6, 3, 1), (5, 2, 4, 6)) + x122 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x122 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x122 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) + x122 += einsum(x3, (0, 1, 2, 3), (1, 0, 2, 3)) + x122 += einsum(x3, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 + x123 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x123 += einsum(t2.abab, (0, 1, 2, 3), x122, (4, 5, 1, 3), (4, 5, 0, 2)) + x124 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x124 += einsum(t2.aaaa, (0, 1, 2, 3), x39, (4, 5, 1, 3), (4, 5, 0, 2)) * 2.0 + x125 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x125 += einsum(t2.abab, (0, 1, 2, 3), x8, (4, 3, 0, 5), (1, 4, 5, 2)) + x126 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x126 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) + x126 += einsum(x15, (0, 1, 2, 3), (0, 1, 2, 3)) + x127 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x127 += einsum(t1.bb, (0, 1), x126, (2, 1, 3, 4), (0, 2, 3, 4)) + x128 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) + x128 += einsum(v.aabb.oooo, (0, 1, 2, 3), (2, 3, 0, 1)) + x128 += einsum(x29, (0, 1, 2, 3), (1, 0, 3, 2)) + x128 += einsum(x30, (0, 1, 2, 3), (1, 0, 3, 2)) + x128 += einsum(x32, (0, 1, 2, 3), (1, 0, 3, 2)) + del x32 + x129 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x129 += einsum(t1.aa, (0, 1), x128, (2, 3, 0, 4), (2, 3, 4, 1)) + x130 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x130 += einsum(v.aabb.ovoo, (0, 1, 2, 3), (2, 3, 0, 1)) + x130 += einsum(x118, (0, 1, 2, 3), (1, 0, 2, 3)) + x130 += einsum(x119, (0, 1, 2, 3), (0, 1, 2, 3)) + x130 += einsum(x120, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x130 += einsum(x121, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x130 += einsum(x123, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + x130 += einsum(x124, (0, 1, 2, 3), (1, 0, 2, 3)) + x130 += einsum(x125, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x130 += einsum(x21, (0, 1), t2.abab, (2, 3, 4, 1), (3, 0, 2, 4)) + x130 += einsum(x127, (0, 1, 2, 3), (0, 1, 2, 3)) + x130 += einsum(x129, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + l1new_bb += einsum(l2.abab, (0, 1, 2, 3), x130, (3, 4, 2, 0), (1, 4)) * -1.0 + del x130 + x131 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x131 += einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), x72, (6, 2, 1, 7, 4, 5), (6, 7, 0, 3)) * -1.0 + x132 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x132 += einsum(t1.bb, (0, 1), x72, (2, 3, 4, 5, 6, 1), (2, 3, 4, 0, 5, 6)) + x133 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x133 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x74, (6, 2, 7, 5, 1, 4), (6, 7, 0, 3)) * -1.0 + x134 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x134 += einsum(t1.bb, (0, 1), x74, (2, 3, 4, 1, 5, 6), (2, 3, 0, 4, 5, 6)) + x135 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x135 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x91, (6, 7, 0, 2, 3, 5), (6, 7, 1, 4)) + x136 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x136 += einsum(x0, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x136 += einsum(x116, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.3333333333333333 + x137 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x137 += einsum(x1, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + x137 += einsum(x76, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0 + x137 += einsum(x77, (0, 1, 2, 3), (0, 1, 2, 3)) + l2new_abab += einsum(v.aabb.ovoo, (0, 1, 2, 3), x137, (2, 4, 3, 5), (1, 5, 0, 4)) * 2.0 + x138 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x138 += einsum(t2.bbbb, (0, 1, 2, 3), x137, (4, 1, 5, 3), (0, 4, 5, 2)) * 4.0 + x139 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x139 += einsum(x93, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 + x139 += einsum(x94, (0, 1, 2, 3), (0, 1, 2, 3)) + del x94 + x139 += einsum(x95, (0, 1, 2, 3), (0, 1, 2, 3)) + del x95 + l1new_aa += einsum(v.aabb.vvoo, (0, 1, 2, 3), x139, (2, 3, 4, 1), (0, 4)) * -2.0 + l2new_abab += einsum(v.aabb.vvov, (0, 1, 2, 3), x139, (4, 2, 5, 1), (0, 3, 5, 4)) * -2.0 + l2new_abab += einsum(v.aabb.ooov, (0, 1, 2, 3), x139, (4, 2, 1, 5), (5, 3, 0, 4)) * 2.0 + l2new_abab += einsum(x21, (0, 1), x139, (2, 0, 3, 4), (4, 1, 3, 2)) * -2.0 + x140 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x140 += einsum(t2.abab, (0, 1, 2, 3), x139, (4, 5, 0, 2), (1, 4, 5, 3)) * 2.0 + x141 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x141 += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 5, 0, 1), (2, 3, 4, 5)) + x142 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x142 += einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), t3.bbbbbb, (6, 7, 5, 0, 1, 2), (3, 4, 6, 7)) + x143 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x143 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (6, 4, 7, 0, 1, 2), (3, 5, 6, 7)) + l2new_bbbb += einsum(v.bbbb.ovov, (0, 1, 2, 3), x143, (4, 5, 0, 2), (1, 3, 4, 5)) * 1.9999999999999203 + x144 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x144 += einsum(x141, (0, 1, 2, 3), (1, 0, 3, 2)) + x144 += einsum(x142, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.9999999999998788 + x144 += einsum(x143, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.9999999999999601 + x144 += einsum(t1.bb, (0, 1), x137, (2, 3, 4, 1), (2, 3, 0, 4)) + x145 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x145 += einsum(x1, (0, 1, 2, 3), (1, 0, 2, 3)) * -2.0 + x145 += einsum(l2.bbbb, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 3, 6, 0, 1), (4, 2, 5, 6)) * 6.0 + x145 += einsum(x76, (0, 1, 2, 3), (0, 1, 2, 3)) * 6.0 + x145 += einsum(x77, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x145 += einsum(x131, (0, 1, 2, 3), (2, 0, 1, 3)) * 9.0 + x145 += einsum(t2.bbbb, (0, 1, 2, 3), x132, (4, 0, 1, 5, 6, 3), (5, 4, 6, 2)) * 6.0 + x145 += einsum(x133, (0, 1, 2, 3), (2, 0, 1, 3)) * 4.0 + x145 += einsum(t2.abab, (0, 1, 2, 3), x134, (4, 1, 5, 6, 0, 2), (5, 4, 6, 3)) * 2.0 + x145 += einsum(x135, (0, 1, 2, 3), (2, 0, 1, 3)) + x145 += einsum(t2.bbbb, (0, 1, 2, 3), x136, (4, 3, 2, 5), (0, 4, 1, 5)) * -6.0 + x145 += einsum(x138, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x145 += einsum(x140, (0, 1, 2, 3), (0, 1, 2, 3)) + x145 += einsum(t1.bb, (0, 1), x144, (0, 2, 3, 4), (4, 2, 3, 1)) * 2.0 + del x144 + x145 += einsum(t1.bb, (0, 1), x114, (2, 3), (0, 2, 3, 1)) * 2.0 + l1new_bb += einsum(v.bbbb.ovov, (0, 1, 2, 3), x145, (0, 4, 2, 1), (3, 4)) * -1.0 + del x145 + x146 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x146 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovvv, (4, 2, 5, 3), (0, 1, 4, 5)) + x147 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x147 += einsum(v.bbbb.ovov, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 2, 6, 1, 3), (4, 5, 0, 6)) + x148 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x148 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.babbab, (4, 0, 5, 6, 1, 3), (4, 5, 2, 6)) + x149 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x149 += einsum(t2.bbbb, (0, 1, 2, 3), x4, (4, 5, 1, 3), (0, 4, 5, 2)) * 2.0 + del x4 + x150 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x150 += einsum(t2.abab, (0, 1, 2, 3), x6, (4, 5, 0, 2), (1, 4, 5, 3)) + x151 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x151 += einsum(x21, (0, 1), t2.bbbb, (2, 3, 4, 1), (2, 3, 0, 4)) * -1.0 + x152 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x152 += einsum(t1.bb, (0, 1), v.bbbb.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) + x153 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x153 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) + x153 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x153 += einsum(x152, (0, 1, 2, 3), (0, 1, 2, 3)) + x154 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x154 += einsum(t1.bb, (0, 1), x153, (2, 3, 1, 4), (0, 2, 3, 4)) + del x153 + x155 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x155 += einsum(t1.bb, (0, 1), x28, (0, 2, 3, 4), (2, 3, 4, 1)) + del x28 + x156 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x156 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x156 += einsum(x146, (0, 1, 2, 3), (2, 1, 0, 3)) + x156 += einsum(x147, (0, 1, 2, 3), (2, 1, 0, 3)) * -3.0 + x156 += einsum(x148, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 + x156 += einsum(x149, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 + x156 += einsum(x150, (0, 1, 2, 3), (2, 0, 1, 3)) + x156 += einsum(x151, (0, 1, 2, 3), (2, 1, 0, 3)) + x156 += einsum(x154, (0, 1, 2, 3), (2, 1, 0, 3)) + x156 += einsum(x155, (0, 1, 2, 3), (1, 2, 0, 3)) + l1new_bb += einsum(l2.bbbb, (0, 1, 2, 3), x156, (4, 2, 3, 1), (0, 4)) * 2.0 + del x156 + x157 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x157 += einsum(x76, (0, 1, 2, 3), (0, 1, 2, 3)) + x157 += einsum(x77, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.3333333333333333 + x158 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x158 += einsum(t1.bb, (0, 1), x157, (2, 3, 4, 1), (0, 2, 3, 4)) + x159 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x159 += einsum(l1.bb, (0, 1), t2.bbbb, (2, 3, 4, 0), (1, 2, 3, 4)) * 2.0 + x159 += einsum(l2.abab, (0, 1, 2, 3), t3.babbab, (4, 2, 5, 6, 0, 1), (3, 4, 5, 6)) * 2.0 + x159 += einsum(x131, (0, 1, 2, 3), (0, 2, 1, 3)) * 9.0 + del x131 + x159 += einsum(x133, (0, 1, 2, 3), (0, 2, 1, 3)) * 4.0 + del x133 + x159 += einsum(x135, (0, 1, 2, 3), (0, 2, 1, 3)) + del x135 + x159 += einsum(x138, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x138 + x159 += einsum(x140, (0, 1, 2, 3), (1, 0, 2, 3)) + del x140 + x159 += einsum(t1.bb, (0, 1), x158, (2, 3, 0, 4), (3, 4, 2, 1)) * -6.0 + x159 += einsum(t1.bb, (0, 1), x114, (2, 3), (2, 0, 3, 1)) * 2.0 + del x114 + l1new_bb += einsum(v.bbbb.ovov, (0, 1, 2, 3), x159, (4, 0, 2, 3), (1, 4)) + del x159 + x160 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x160 += einsum(l1.bb, (0, 1), t1.bb, (1, 2), (0, 2)) + x161 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x161 += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (2, 3, 4, 1), (0, 4)) + x162 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x162 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 0, 4), (1, 4)) + x163 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x163 += einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), t3.bbbbbb, (3, 4, 5, 6, 1, 2), (0, 6)) + x164 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x164 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (3, 4, 5, 6, 1, 2), (0, 6)) + x165 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x165 += einsum(x160, (0, 1), (0, 1)) + x165 += einsum(x161, (0, 1), (0, 1)) * 2.0 + x165 += einsum(x162, (0, 1), (0, 1)) + x165 += einsum(x163, (0, 1), (0, 1)) * 2.9999999999998788 + x165 += einsum(x164, (0, 1), (0, 1)) * 1.9999999999999194 + l1new_bb += einsum(x165, (0, 1), x12, (2, 3, 1, 0), (3, 2)) * -1.0 + del x165 + x166 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x166 += einsum(l1.bb, (0, 1), t2.bbbb, (2, 1, 3, 0), (2, 3)) + x167 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x167 += einsum(l1.aa, (0, 1), t2.abab, (1, 2, 0, 3), (2, 3)) + x168 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x168 += einsum(l2.bbbb, (0, 1, 2, 3), t3.bbbbbb, (4, 2, 3, 5, 0, 1), (4, 5)) + x169 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x169 += einsum(l2.abab, (0, 1, 2, 3), t3.babbab, (4, 2, 3, 5, 0, 1), (4, 5)) + x170 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x170 += einsum(l2.aaaa, (0, 1, 2, 3), t3.abaaba, (2, 4, 3, 0, 5, 1), (4, 5)) + x171 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x171 += einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), x72, (0, 1, 2, 6, 4, 5), (6, 3)) + x172 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x172 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x74, (0, 2, 6, 5, 1, 4), (6, 3)) * -1.0 + x173 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x173 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x91, (1, 6, 0, 2, 3, 5), (6, 4)) + x174 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x174 += einsum(x1, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + x174 += einsum(x76, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.9999999999999996 + x174 += einsum(x77, (0, 1, 2, 3), (0, 1, 2, 3)) + x175 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x175 += einsum(l1.bb, (0, 1), t1.bb, (2, 0), (1, 2)) + x176 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x176 += einsum(x175, (0, 1), (0, 1)) + x176 += einsum(x109, (0, 1), (0, 1)) * 2.0 + x176 += einsum(x110, (0, 1), (0, 1)) + x176 += einsum(x111, (0, 1), (0, 1)) * 2.9999999999998783 + x176 += einsum(x112, (0, 1), (0, 1)) * 1.9999999999999192 + x176 += einsum(x113, (0, 1), (0, 1)) * 0.99999999999996 + x177 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x177 += einsum(t1.bb, (0, 1), (0, 1)) * -0.5000000000000202 + x177 += einsum(x166, (0, 1), (0, 1)) * -1.0000000000000404 + x177 += einsum(x167, (0, 1), (0, 1)) * -0.5000000000000202 + x177 += einsum(x168, (0, 1), (0, 1)) * -1.5000000000000604 + x177 += einsum(x169, (0, 1), (0, 1)) * -1.0000000000000404 + x177 += einsum(x170, (0, 1), (0, 1)) * -0.5000000000000202 + x177 += einsum(x171, (0, 1), (0, 1)) * 1.4999999999999998 + x177 += einsum(x172, (0, 1), (0, 1)) + x177 += einsum(x173, (0, 1), (0, 1)) * 0.5000000000000002 + x177 += einsum(t2.bbbb, (0, 1, 2, 3), x174, (0, 1, 4, 3), (4, 2)) * -1.0000000000000404 + del x174 + x177 += einsum(t2.abab, (0, 1, 2, 3), x139, (1, 4, 0, 2), (4, 3)) * 1.0000000000000404 + x177 += einsum(t1.bb, (0, 1), x176, (0, 2), (2, 1)) * 0.5000000000000202 + del x176 + x178 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x178 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 + x178 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + l1new_bb += einsum(x177, (0, 1), x178, (0, 2, 1, 3), (3, 2)) * -1.9999999999999194 + del x177, x178 + x179 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x179 += einsum(l1.aa, (0, 1), t1.aa, (1, 2), (0, 2)) + x180 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x180 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 4, 1), (0, 4)) + x181 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x181 += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (2, 3, 4, 1), (0, 4)) + x182 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x182 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (3, 4, 5, 0, 6, 2), (1, 6)) + x183 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x183 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (3, 4, 5, 6, 1, 2), (0, 6)) + x184 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x184 += einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), t3.aaaaaa, (3, 4, 5, 6, 1, 2), (0, 6)) + x185 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x185 += einsum(x179, (0, 1), (0, 1)) * 1.00000000000004 + x185 += einsum(x180, (0, 1), (0, 1)) * 1.00000000000004 + x185 += einsum(x181, (0, 1), (0, 1)) * 2.00000000000008 + x185 += einsum(x182, (0, 1), (0, 1)) + x185 += einsum(x183, (0, 1), (0, 1)) * 1.9999999999999991 + x185 += einsum(x184, (0, 1), (1, 0)) * 2.9999999999999982 + l1new_bb += einsum(x185, (0, 1), v.aabb.vvov, (1, 0, 2, 3), (3, 2)) * 0.9999999999999601 + del x185 + x186 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x186 += einsum(l1.bb, (0, 1), t2.abab, (2, 1, 3, 0), (2, 3)) + x187 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x187 += einsum(l1.aa, (0, 1), t2.aaaa, (2, 1, 3, 0), (2, 3)) + x188 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x188 += einsum(l2.bbbb, (0, 1, 2, 3), t3.babbab, (2, 4, 3, 0, 5, 1), (4, 5)) + x189 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x189 += einsum(l2.abab, (0, 1, 2, 3), t3.abaaba, (4, 3, 2, 5, 1, 0), (4, 5)) + x190 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x190 += einsum(l2.aaaa, (0, 1, 2, 3), t3.aaaaaa, (4, 2, 3, 5, 0, 1), (4, 5)) + x191 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x191 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x58, (0, 2, 3, 5, 1, 6), (6, 4)) + x192 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x192 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x61, (1, 4, 0, 2, 6, 5), (6, 3)) * -1.0 + x193 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x193 += einsum(t1.aa, (0, 1), l3.aaaaaa, (2, 3, 1, 4, 5, 6), (4, 5, 6, 0, 2, 3)) + l3new_abaaba += einsum(v.aabb.ooov, (0, 1, 2, 3), x193, (4, 0, 5, 1, 6, 7), (6, 3, 7, 5, 2, 4)) * -6.0 + l3new_abaaba += einsum(x7, (0, 1, 2, 3), x193, (2, 4, 5, 3, 6, 7), (6, 1, 7, 4, 0, 5)) * -6.0 + x194 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x194 += einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), x193, (0, 1, 2, 6, 4, 5), (6, 3)) + x195 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x195 += einsum(t1.aa, (0, 1), l2.aaaa, (2, 1, 3, 4), (3, 4, 0, 2)) + l2new_abab += einsum(x195, (0, 1, 2, 3), x7, (4, 5, 1, 2), (3, 5, 0, 4)) * -2.0 + x196 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x196 += einsum(t2.abab, (0, 1, 2, 3), l3.abaaba, (4, 3, 2, 5, 1, 6), (5, 6, 0, 4)) + x197 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x197 += einsum(t2.aaaa, (0, 1, 2, 3), l3.aaaaaa, (4, 2, 3, 5, 6, 1), (5, 6, 0, 4)) + x198 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x198 += einsum(x195, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.33333333333333337 + x198 += einsum(x196, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.33333333333333337 + x198 += einsum(x197, (0, 1, 2, 3), (0, 1, 2, 3)) + x199 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x199 += einsum(l1.aa, (0, 1), t1.aa, (2, 0), (1, 2)) + x200 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x200 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 0, 1), (2, 4)) + x201 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x201 += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 3, 0, 1), (2, 4)) + x202 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x202 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (3, 6, 5, 0, 1, 2), (4, 6)) + x203 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x203 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (6, 4, 5, 0, 1, 2), (3, 6)) + x204 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x204 += einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), t3.aaaaaa, (6, 4, 5, 0, 1, 2), (3, 6)) + x205 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x205 += einsum(x199, (0, 1), (0, 1)) + x205 += einsum(x200, (0, 1), (0, 1)) + x205 += einsum(x201, (0, 1), (0, 1)) * 2.0 + x205 += einsum(x202, (0, 1), (0, 1)) * 0.99999999999996 + x205 += einsum(x203, (0, 1), (0, 1)) * 1.9999999999999192 + x205 += einsum(x204, (0, 1), (0, 1)) * 2.9999999999998783 + x206 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x206 += einsum(l1.aa, (0, 1), (1, 0)) * -1.00000000000004 + x206 += einsum(t1.aa, (0, 1), (0, 1)) * -1.00000000000004 + x206 += einsum(x186, (0, 1), (0, 1)) * -1.00000000000004 + x206 += einsum(x187, (0, 1), (0, 1)) * -2.00000000000008 + x206 += einsum(x188, (0, 1), (0, 1)) * -1.00000000000004 + x206 += einsum(x189, (0, 1), (0, 1)) * -2.00000000000008 + x206 += einsum(x190, (0, 1), (0, 1)) * -3.0000000000001195 + x206 += einsum(x191, (0, 1), (0, 1)) + x206 += einsum(x192, (0, 1), (0, 1)) * 1.9999999999999991 + x206 += einsum(x194, (0, 1), (0, 1)) * 2.9999999999999982 + x206 += einsum(t2.abab, (0, 1, 2, 3), x66, (1, 3, 0, 4), (4, 2)) * 2.00000000000008 + x206 += einsum(t2.aaaa, (0, 1, 2, 3), x198, (0, 1, 4, 3), (4, 2)) * -6.000000000000239 + x206 += einsum(t1.aa, (0, 1), x205, (0, 2), (2, 1)) * 1.00000000000004 + l1new_bb += einsum(x206, (0, 1), v.aabb.ovov, (0, 1, 2, 3), (3, 2)) * -0.9999999999999601 + del x206 + x207 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) + x207 += einsum(x102, (0, 1, 2, 3), (0, 1, 2, 3)) + x207 += einsum(x103, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.9999999999999194 + x207 += einsum(x104, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.9999999999999194 + x207 += einsum(x105, (0, 1, 2, 3), (1, 0, 3, 2)) + del x105 + x207 += einsum(x107, (0, 1, 2, 3), (0, 1, 2, 3)) + del x107 + l1new_bb += einsum(v.aabb.ooov, (0, 1, 2, 3), x207, (4, 2, 1, 0), (3, 4)) + del x207 + x208 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x208 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) + x208 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + l2new_abab += einsum(x208, (0, 1, 2, 3), x96, (0, 1, 4, 5), (5, 3, 4, 2)) * -1.0 + l3new_abaaba += einsum(x208, (0, 1, 2, 3), x91, (0, 1, 4, 5, 6, 7), (6, 3, 7, 5, 2, 4)) * 2.0 + x209 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x209 += einsum(t1.bb, (0, 1), x157, (2, 3, 4, 1), (2, 3, 0, 4)) * 3.0 + l1new_bb += einsum(x208, (0, 1, 2, 3), x209, (4, 0, 2, 1), (3, 4)) * 2.0 + del x209 + x210 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x210 += einsum(x141, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.00000000000004 + x210 += einsum(x142, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.9999999999999982 + x210 += einsum(x143, (0, 1, 2, 3), (0, 1, 3, 2)) + del x143 + l1new_bb += einsum(v.bbbb.ooov, (0, 1, 2, 3), x210, (1, 4, 2, 0), (3, 4)) * 1.9999999999999203 + del x210 + x211 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x211 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (3, 4, 5, 0, 6, 2), (1, 6)) + l1new_bb += einsum(x211, (0, 1), x71, (2, 3, 0, 1), (3, 2)) * -0.9999999999999601 + x212 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x212 += einsum(x175, (0, 1), (0, 1)) * 0.5 + x212 += einsum(x109, (0, 1), (0, 1)) + x212 += einsum(x110, (0, 1), (0, 1)) * 0.5 + x212 += einsum(x111, (0, 1), (0, 1)) * 1.4999999999999394 + x212 += einsum(x112, (0, 1), (0, 1)) * 0.9999999999999597 + x213 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x213 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x213 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) + l1new_bb += einsum(x212, (0, 1), x213, (0, 2, 1, 3), (3, 2)) * -2.0 + del x212 + l1new_bb += einsum(x113, (0, 1), x213, (0, 1, 2, 3), (3, 2)) * 0.9999999999999601 + x214 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x214 += einsum(x199, (0, 1), (0, 1)) + x214 += einsum(x200, (0, 1), (0, 1)) + x214 += einsum(x201, (0, 1), (0, 1)) * 2.0 + x214 += einsum(x202, (0, 1), (0, 1)) * 0.9999999999999601 + x214 += einsum(x203, (0, 1), (0, 1)) * 1.9999999999999194 + x214 += einsum(x204, (0, 1), (1, 0)) * 2.9999999999998788 + l1new_bb += einsum(x214, (0, 1), v.aabb.ooov, (1, 0, 2, 3), (3, 2)) * -1.0 + del x214 + x215 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x215 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) + x215 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + l1new_bb += einsum(l1.bb, (0, 1), x215, (1, 2, 0, 3), (3, 2)) * -1.0 + del x215 + x216 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x216 += einsum(t1.aa, (0, 1), v.aabb.ovvv, (0, 1, 2, 3), (2, 3)) + x217 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x217 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) + x217 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x218 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x218 += einsum(f.bb.vv, (0, 1), (0, 1)) + x218 += einsum(x216, (0, 1), (1, 0)) + x218 += einsum(t1.bb, (0, 1), x217, (0, 2, 1, 3), (3, 2)) * -1.0 + l1new_bb += einsum(l1.bb, (0, 1), x218, (0, 2), (2, 1)) + del x218 + x219 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x219 += einsum(t1.aa, (0, 1), v.aabb.ovoo, (0, 1, 2, 3), (2, 3)) + x220 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x220 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 2, 1, 3), (0, 4)) + x221 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x221 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 3), (1, 4)) + x222 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x222 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x222 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) + x223 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x223 += einsum(t1.bb, (0, 1), x222, (2, 3, 0, 1), (2, 3)) + del x222 + x224 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x224 += einsum(t1.bb, (0, 1), x21, (2, 1), (0, 2)) + x225 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x225 += einsum(f.bb.oo, (0, 1), (0, 1)) + x225 += einsum(x219, (0, 1), (1, 0)) + x225 += einsum(x220, (0, 1), (0, 1)) * 2.0 + x225 += einsum(x221, (0, 1), (0, 1)) + x225 += einsum(x223, (0, 1), (1, 0)) * -1.0 + x225 += einsum(x224, (0, 1), (0, 1)) + del x224 + l1new_bb += einsum(l1.bb, (0, 1), x225, (1, 2), (0, 2)) * -1.0 + l2new_abab += einsum(x225, (0, 1), l2.abab, (2, 3, 4, 0), (2, 3, 4, 1)) * -1.0 + l3new_abaaba += einsum(x225, (0, 1), l3.abaaba, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) * -2.0 + del x225 + x226 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x226 += einsum(x175, (0, 1), (0, 1)) * 0.5000000000000202 + x226 += einsum(x109, (0, 1), (0, 1)) * 1.0000000000000404 + x226 += einsum(x110, (0, 1), (0, 1)) * 0.5000000000000202 + x226 += einsum(x111, (0, 1), (0, 1)) * 1.4999999999999998 + x226 += einsum(x112, (0, 1), (0, 1)) + x226 += einsum(x113, (0, 1), (0, 1)) * 0.5000000000000002 + l1new_bb += einsum(f.bb.ov, (0, 1), x226, (2, 0), (1, 2)) * -1.9999999999999194 + del x226 + x227 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x227 += einsum(x19, (0, 1), (0, 1)) + x227 += einsum(x20, (0, 1), (0, 1)) * -1.0 + l1new_bb += einsum(x175, (0, 1), x227, (1, 2), (2, 0)) * -1.0 + x228 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x228 += einsum(t2.aaaa, (0, 1, 2, 3), l3.aaaaaa, (4, 5, 3, 6, 0, 1), (6, 4, 5, 2)) + l1new_aa += einsum(v.aaaa.vvvv, (0, 1, 2, 3), x228, (4, 1, 2, 3), (0, 4)) * 6.0 + x229 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x229 += einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), t3.aaaaaa, (6, 7, 5, 0, 1, 2), (3, 4, 6, 7)) + l1new_aa += einsum(v.aaaa.ooov, (0, 1, 2, 3), x229, (1, 4, 2, 0), (3, 4)) * -5.9999999999997575 + x230 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x230 += einsum(t1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) + x231 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x231 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x231 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) + x231 += einsum(x230, (0, 1, 2, 3), (0, 1, 2, 3)) + x231 += einsum(x230, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x232 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x232 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (0, 4, 2, 5)) + x233 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x233 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 + x233 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + x234 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x234 += einsum(t2.aaaa, (0, 1, 2, 3), x233, (1, 4, 5, 3), (0, 4, 2, 5)) * 2.0 + x235 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x235 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x235 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) + x236 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x236 += einsum(t1.aa, (0, 1), x235, (2, 3, 1, 4), (0, 2, 3, 4)) + x237 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x237 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + x237 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x237 += einsum(x232, (0, 1, 2, 3), (0, 1, 2, 3)) + x237 += einsum(x234, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x237 += einsum(x236, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + x238 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x238 += einsum(t1.bb, (0, 1), v.aabb.ovvv, (2, 3, 4, 1), (0, 4, 2, 3)) + l2new_abab += einsum(l2.bbbb, (0, 1, 2, 3), x238, (3, 1, 4, 5), (5, 0, 4, 2)) * 2.0 + x239 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x239 += einsum(t2.bbbb, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (0, 2, 4, 5)) + x240 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x240 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) + x240 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x241 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x241 += einsum(t2.abab, (0, 1, 2, 3), x240, (0, 4, 2, 5), (1, 3, 4, 5)) + x242 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x242 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) + x242 += einsum(x238, (0, 1, 2, 3), (0, 1, 2, 3)) + x242 += einsum(x239, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x242 += einsum(x241, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x243 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x243 += einsum(t1.bb, (0, 1), v.aabb.ovov, (2, 3, 0, 1), (2, 3)) + x244 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x244 += einsum(t1.aa, (0, 1), x240, (0, 2, 1, 3), (2, 3)) + x245 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x245 += einsum(f.aa.ov, (0, 1), (0, 1)) + x245 += einsum(x243, (0, 1), (0, 1)) + x245 += einsum(x244, (0, 1), (0, 1)) * -1.0 + l2new_abab += einsum(x245, (0, 1), x66, (2, 3, 4, 0), (1, 3, 4, 2)) * -2.0 + l2new_abab += einsum(l1.bb, (0, 1), x245, (2, 3), (3, 0, 2, 1)) + l3new_aaaaaa += einsum(x245, (0, 1), l2.aaaa, (2, 3, 4, 5), (2, 3, 1, 4, 5, 0)) * 2.0 + l3new_aaaaaa += einsum(x245, (0, 1), l2.aaaa, (2, 3, 4, 5), (2, 3, 1, 0, 4, 5)) * 2.0 + l3new_aaaaaa += einsum(x245, (0, 1), l2.aaaa, (2, 3, 4, 5), (2, 1, 3, 4, 0, 5)) * 2.0 + l3new_aaaaaa += einsum(x245, (0, 1), l2.aaaa, (2, 3, 4, 5), (1, 2, 3, 4, 5, 0)) * 2.0 + l3new_aaaaaa += einsum(x245, (0, 1), l2.aaaa, (2, 3, 4, 5), (1, 2, 3, 0, 4, 5)) * 2.0 + l3new_aaaaaa += einsum(x245, (0, 1), l2.aaaa, (2, 3, 4, 5), (2, 3, 1, 4, 0, 5)) * -2.0 + l3new_aaaaaa += einsum(x245, (0, 1), l2.aaaa, (2, 3, 4, 5), (2, 1, 3, 4, 5, 0)) * -2.0 + l3new_aaaaaa += einsum(x245, (0, 1), l2.aaaa, (2, 3, 4, 5), (2, 1, 3, 0, 4, 5)) * -2.0 + l3new_aaaaaa += einsum(x245, (0, 1), l2.aaaa, (2, 3, 4, 5), (1, 2, 3, 4, 0, 5)) * -2.0 + l3new_babbab += einsum(x245, (0, 1), x58, (2, 3, 4, 5, 6, 0), (4, 1, 5, 3, 6, 2)) * 2.0 + l3new_babbab += einsum(x245, (0, 1), l2.bbbb, (2, 3, 4, 5), (2, 1, 3, 4, 0, 5)) * 2.0 + l3new_abaaba += einsum(x245, (0, 1), l2.abab, (2, 3, 4, 5), (1, 3, 2, 0, 5, 4)) + l3new_abaaba += einsum(x245, (0, 1), l2.abab, (2, 3, 4, 5), (2, 3, 1, 4, 5, 0)) + l3new_abaaba += einsum(x245, (0, 1), l2.abab, (2, 3, 4, 5), (2, 3, 1, 0, 5, 4)) * -1.0 + l3new_abaaba += einsum(x245, (0, 1), l2.abab, (2, 3, 4, 5), (1, 3, 2, 4, 5, 0)) * -1.0 + x246 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x246 += einsum(t1.aa, (0, 1), v.aabb.ovvv, (2, 1, 3, 4), (3, 4, 0, 2)) + l2new_abab += einsum(x246, (0, 1, 2, 3), x61, (4, 1, 2, 5, 3, 6), (6, 0, 5, 4)) * 2.0 + x247 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x247 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 1, 5), (3, 5, 0, 4)) + x248 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x248 += einsum(v.aabb.oovv, (0, 1, 2, 3), (2, 3, 0, 1)) + x248 += einsum(x246, (0, 1, 2, 3), (1, 0, 2, 3)) + x248 += einsum(x247, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + x249 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) + x249 += einsum(t1.bb, (0, 1), x8, (2, 1, 3, 4), (0, 2, 3, 4)) + x250 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) + x250 += einsum(v.aabb.oooo, (0, 1, 2, 3), (2, 3, 0, 1)) + x250 += einsum(x29, (0, 1, 2, 3), (1, 0, 2, 3)) + x250 += einsum(x30, (0, 1, 2, 3), (1, 0, 2, 3)) + x250 += einsum(x249, (0, 1, 2, 3), (1, 0, 3, 2)) + x251 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x251 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 2, 5, 3), (0, 1, 4, 5)) + x252 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x252 += einsum(t1.aa, (0, 1), x230, (2, 3, 4, 1), (0, 2, 3, 4)) + x253 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x253 += einsum(t1.aa, (0, 1), v.aaaa.ooov, (2, 3, 4, 1), (0, 2, 3, 4)) + x254 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x254 += einsum(v.aaaa.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) + x254 += einsum(x251, (0, 1, 2, 3), (3, 1, 2, 0)) + x254 += einsum(x252, (0, 1, 2, 3), (3, 1, 2, 0)) + x254 += einsum(x253, (0, 1, 2, 3), (2, 1, 3, 0)) + x254 += einsum(x253, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 + x255 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x255 += einsum(x44, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * 0.9999999999999597 + del x44 + x255 += einsum(t2.abab, (0, 1, 2, 3), x8, (4, 3, 5, 6), (1, 4, 0, 6, 5, 2)) * -1.0 + x255 += einsum(x45, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) * -1.0 + del x45 + x256 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x256 += einsum(v.aaaa.ovov, (0, 1, 2, 3), t3.abaaba, (4, 5, 6, 3, 7, 1), (5, 7, 4, 6, 0, 2)) * -1.0 + l2new_aaaa += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), x256, (4, 1, 5, 3, 6, 7), (0, 2, 6, 7)) * -1.9999999999999203 + x257 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x257 += einsum(t2.abab, (0, 1, 2, 3), v.aaaa.ooov, (4, 5, 6, 2), (1, 3, 0, 4, 5, 6)) + x258 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x258 += einsum(t2.abab, (0, 1, 2, 3), x230, (4, 5, 6, 2), (1, 3, 4, 0, 6, 5)) + x259 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x259 += einsum(x256, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * 0.9999999999999601 + del x256 + x259 += einsum(x257, (0, 1, 2, 3, 4, 5), (0, 1, 4, 2, 3, 5)) + x259 += einsum(x257, (0, 1, 2, 3, 4, 5), (0, 1, 4, 2, 5, 3)) * -1.0 + del x257 + x259 += einsum(x258, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + x259 += einsum(x258, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 + del x258 + x260 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x260 += einsum(v.aabb.ovvv, (0, 1, 2, 3), t3.abaaba, (4, 5, 6, 7, 3, 1), (5, 2, 0, 4, 6, 7)) * -0.9999999999999597 + x260 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), t3.abaaba, (4, 5, 6, 3, 7, 1), (5, 7, 0, 4, 6, 2)) * -0.9999999999999601 + x260 += einsum(x231, (0, 1, 2, 3), t3.abaaba, (4, 5, 1, 6, 7, 3), (5, 7, 2, 4, 0, 6)) * -2.0 + x260 += einsum(x31, (0, 1, 2, 3), t3.babbab, (4, 5, 0, 6, 7, 1), (4, 6, 3, 5, 2, 7)) * -2.0 + x260 += einsum(x39, (0, 1, 2, 3), t3.abaaba, (4, 0, 5, 6, 7, 3), (1, 7, 2, 4, 5, 6)) + x260 += einsum(t2.abab, (0, 1, 2, 3), x237, (4, 5, 6, 2), (1, 3, 5, 0, 4, 6)) + x260 += einsum(t2.aaaa, (0, 1, 2, 3), x242, (4, 5, 6, 3), (4, 5, 6, 0, 1, 2)) * -1.0 + x260 += einsum(x245, (0, 1), t3.abaaba, (2, 3, 4, 5, 6, 1), (3, 6, 0, 2, 4, 5)) * -0.9999999999999597 + x260 += einsum(t2.abab, (0, 1, 2, 3), x248, (3, 4, 5, 6), (1, 4, 6, 0, 5, 2)) * -1.0 + x260 += einsum(t2.abab, (0, 1, 2, 3), x250, (1, 4, 5, 6), (4, 3, 6, 0, 5, 2)) + x260 += einsum(t2.abab, (0, 1, 2, 3), x254, (0, 4, 5, 6), (1, 3, 5, 4, 6, 2)) + x260 += einsum(t1.bb, (0, 1), x255, (2, 0, 3, 4, 5, 6), (2, 1, 5, 3, 4, 6)) * -1.0 + del x255 + x260 += einsum(t1.aa, (0, 1), x259, (2, 3, 4, 5, 0, 6), (2, 3, 6, 5, 4, 1)) * -1.0 + del x259 + l1new_aa += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), x260, (4, 1, 6, 5, 3, 2), (0, 6)) * 2.0 + del x260 + x261 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x261 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x261 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) + x261 += einsum(x230, (0, 1, 2, 3), (1, 0, 2, 3)) + x261 += einsum(x230, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 + x262 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x262 += einsum(x38, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 0.9999999999999597 + del x38 + x262 += einsum(t2.bbbb, (0, 1, 2, 3), x8, (4, 3, 5, 6), (0, 1, 4, 2, 6, 5)) + x262 += einsum(x40, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) + del x40 + x263 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x263 += einsum(v.aabb.ovvv, (0, 1, 2, 3), t3.babbab, (4, 5, 6, 7, 1, 3), (4, 6, 7, 2, 0, 5)) * -0.9999999999999597 + x263 += einsum(x261, (0, 1, 2, 3), t3.babbab, (4, 0, 5, 6, 3, 7), (4, 5, 6, 7, 2, 1)) * -0.5 + x263 += einsum(x31, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 0, 6, 7, 1), (4, 5, 6, 7, 3, 2)) * -1.5 + x263 += einsum(x39, (0, 1, 2, 3), t3.babbab, (4, 5, 0, 6, 3, 7), (4, 1, 6, 7, 2, 5)) + x263 += einsum(t2.abab, (0, 1, 2, 3), x242, (4, 5, 6, 2), (1, 4, 3, 5, 6, 0)) * -1.0 + del x242 + x263 += einsum(x245, (0, 1), t3.babbab, (2, 3, 4, 5, 1, 6), (2, 4, 5, 6, 0, 3)) * -0.49999999999998007 + x263 += einsum(t2.bbbb, (0, 1, 2, 3), x248, (3, 4, 5, 6), (0, 1, 2, 4, 6, 5)) * -1.0 + del x248 + x263 += einsum(t2.bbbb, (0, 1, 2, 3), x250, (1, 4, 5, 6), (0, 4, 2, 3, 6, 5)) + del x250 + x263 += einsum(t1.bb, (0, 1), x262, (2, 3, 0, 4, 5, 6), (2, 3, 4, 1, 6, 5)) + del x262 + l1new_aa += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), x263, (3, 5, 0, 2, 6, 4), (1, 6)) * 2.0 + del x263 + x264 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x264 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) + x264 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 + x264 += einsum(x230, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + x264 += einsum(x230, (0, 1, 2, 3), (2, 0, 1, 3)) + x265 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x265 += einsum(v.aaaa.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x265 += einsum(x251, (0, 1, 2, 3), (3, 1, 2, 0)) * -1.0 + x265 += einsum(x252, (0, 1, 2, 3), (2, 1, 3, 0)) + x265 += einsum(x253, (0, 1, 2, 3), (2, 0, 3, 1)) + x265 += einsum(x253, (0, 1, 2, 3), (3, 0, 2, 1)) * -1.0 + x266 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x266 += einsum(v.aaaa.ovov, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 6, 7, 1, 3), (4, 5, 6, 0, 2, 7)) + l2new_aaaa += einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), x266, (3, 4, 5, 6, 7, 2), (0, 1, 6, 7)) * 5.9999999999997575 + x267 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x267 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ooov, (4, 5, 6, 3), (0, 1, 4, 5, 6, 2)) + x268 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x268 += einsum(t2.aaaa, (0, 1, 2, 3), x230, (4, 5, 6, 3), (4, 0, 1, 6, 5, 2)) + x269 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x269 += einsum(x266, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -0.9999999999999596 + del x266 + x269 += einsum(x267, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 + x269 += einsum(x267, (0, 1, 2, 3, 4, 5), (0, 1, 3, 4, 2, 5)) + del x267 + x269 += einsum(x268, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) * -1.0 + x269 += einsum(x268, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) + del x268 + x270 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x270 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 6, 7, 3, 1), (0, 4, 5, 6, 7, 2)) * -0.9999999999999596 + x270 += einsum(x264, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 0, 6, 7, 3), (2, 4, 1, 5, 6, 7)) * -1.5 + del x264 + x270 += einsum(x31, (0, 1, 2, 3), t3.abaaba, (4, 0, 5, 6, 1, 7), (3, 4, 2, 5, 6, 7)) * 0.5 + x270 += einsum(t2.aaaa, (0, 1, 2, 3), x237, (4, 5, 6, 3), (5, 0, 4, 1, 2, 6)) * -1.0 + del x237 + x270 += einsum(x245, (0, 1), t3.aaaaaa, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) * -0.4999999999999798 + x270 += einsum(t2.aaaa, (0, 1, 2, 3), x265, (1, 4, 5, 6), (5, 0, 4, 6, 2, 3)) * -1.0 + del x265 + x270 += einsum(t1.aa, (0, 1), x269, (2, 3, 4, 5, 0, 6), (5, 3, 4, 2, 6, 1)) * -1.0 + del x269 + l1new_aa += einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), x270, (6, 4, 3, 5, 2, 1), (0, 6)) * 6.0 + del x270 + x271 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x271 += einsum(l2.abab, (0, 1, 2, 3), t2.bbbb, (4, 3, 5, 1), (4, 5, 2, 0)) + x272 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x272 += einsum(l2.aaaa, (0, 1, 2, 3), t2.abab, (3, 4, 1, 5), (4, 5, 2, 0)) + x273 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x273 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.bbbbbb, (6, 3, 5, 7, 0, 2), (6, 7, 4, 1)) + x274 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x274 += einsum(t2.bbbb, (0, 1, 2, 3), x74, (0, 1, 4, 3, 5, 6), (4, 2, 5, 6)) * -1.0 + x275 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x275 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.babbab, (6, 5, 4, 7, 2, 1), (6, 7, 3, 0)) + x276 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x276 += einsum(t2.abab, (0, 1, 2, 3), x91, (1, 4, 5, 0, 2, 6), (4, 3, 5, 6)) * -1.0 + x277 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x277 += einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), t3.abaaba, (4, 6, 5, 1, 7, 2), (6, 7, 3, 0)) + x278 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x278 += einsum(l2.abab, (0, 1, 2, 3), (3, 1, 2, 0)) + x278 += einsum(x271, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x278 += einsum(x272, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x278 += einsum(x273, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0 + x278 += einsum(x274, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 + x278 += einsum(x275, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.0 + x278 += einsum(x276, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 + x278 += einsum(x277, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0 + x278 += einsum(t1.bb, (0, 1), x96, (0, 2, 3, 4), (2, 1, 3, 4)) * -1.0 + l1new_aa += einsum(v.aabb.vvov, (0, 1, 2, 3), x278, (2, 3, 4, 1), (0, 4)) + del x278 + x279 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x279 += einsum(t2.bbbb, (0, 1, 2, 3), l3.babbab, (4, 5, 3, 0, 6, 1), (4, 2, 6, 5)) + x280 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x280 += einsum(t2.abab, (0, 1, 2, 3), l3.abaaba, (4, 5, 2, 6, 1, 0), (5, 3, 6, 4)) + x281 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x281 += einsum(t1.bb, (0, 1), l2.abab, (2, 3, 4, 0), (3, 1, 4, 2)) * 0.5 + x281 += einsum(x279, (0, 1, 2, 3), (0, 1, 2, 3)) + x281 += einsum(x280, (0, 1, 2, 3), (0, 1, 2, 3)) + l1new_aa += einsum(v.aabb.vvvv, (0, 1, 2, 3), x281, (2, 3, 4, 1), (0, 4)) * 2.0 + del x281 + x282 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x282 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 5, 1), (2, 4, 0, 5)) + x283 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x283 += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 3, 5, 1), (2, 4, 0, 5)) + x284 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x284 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (3, 6, 5, 0, 7, 2), (4, 6, 1, 7)) + x285 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x285 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (6, 4, 5, 7, 1, 2), (3, 6, 0, 7)) + x286 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x286 += einsum(t2.abab, (0, 1, 2, 3), x61, (1, 3, 0, 4, 5, 6), (4, 5, 6, 2)) * -1.0 + x287 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x287 += einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), t3.aaaaaa, (6, 4, 5, 7, 1, 2), (3, 6, 0, 7)) + x288 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x288 += einsum(t2.aaaa, (0, 1, 2, 3), x193, (4, 0, 1, 5, 6, 3), (4, 5, 6, 2)) * -1.0 + x289 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x289 += einsum(x195, (0, 1, 2, 3), (1, 0, 2, 3)) + x289 += einsum(x196, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x289 += einsum(x197, (0, 1, 2, 3), (0, 1, 2, 3)) * -3.0 + x290 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x290 += einsum(x282, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.1111111111111111 + x290 += einsum(x283, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.4444444444444444 + x290 += einsum(x284, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.1111111111111111 + x290 += einsum(x285, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.4444444444444444 + x290 += einsum(x286, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.2222222222222222 + x290 += einsum(x287, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x290 += einsum(x288, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.6666666666666666 + x290 += einsum(t1.aa, (0, 1), x289, (0, 2, 3, 4), (2, 3, 1, 4)) * 0.2222222222222222 + l1new_aa += einsum(v.aaaa.ovvv, (0, 1, 2, 3), x290, (4, 0, 2, 3), (1, 4)) * 9.0 + del x290 + x291 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x291 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 0, 5), (1, 5, 2, 4)) + x292 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x292 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (3, 6, 5, 7, 1, 2), (0, 7, 4, 6)) + x293 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x293 += einsum(t2.bbbb, (0, 1, 2, 3), x58, (0, 1, 4, 3, 5, 6), (4, 2, 5, 6)) + x294 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x294 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (6, 4, 5, 0, 7, 2), (1, 7, 3, 6)) + x295 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x295 += einsum(t2.abab, (0, 1, 2, 3), x61, (1, 4, 0, 5, 6, 2), (4, 3, 5, 6)) + x296 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x296 += einsum(x291, (0, 1, 2, 3), (0, 1, 2, 3)) + x296 += einsum(x292, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x296 += einsum(x293, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 + x296 += einsum(x294, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x296 += einsum(x295, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 + x296 += einsum(t1.bb, (0, 1), x101, (0, 2, 3, 4), (1, 2, 3, 4)) + l1new_aa += einsum(v.aabb.ovvv, (0, 1, 2, 3), x296, (3, 2, 4, 0), (1, 4)) * -1.0 + del x296 + x297 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x297 += einsum(x279, (0, 1, 2, 3), (0, 1, 2, 3)) + del x279 + x297 += einsum(x280, (0, 1, 2, 3), (0, 1, 2, 3)) + del x280 + l2new_abab += einsum(x297, (0, 1, 2, 3), x71, (4, 5, 0, 1), (3, 5, 2, 4)) * -2.0 + del x71 + l2new_abab += einsum(v.aabb.vvov, (0, 1, 2, 3), x297, (4, 3, 5, 1), (0, 4, 5, 2)) * -2.0 + l2new_abab += einsum(x297, (0, 1, 2, 3), x31, (4, 1, 2, 5), (3, 0, 5, 4)) * 2.0 + x298 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x298 += einsum(x200, (0, 1), (0, 1)) + x298 += einsum(x201, (0, 1), (0, 1)) * 2.0 + x298 += einsum(x202, (0, 1), (0, 1)) * 0.9999999999999601 + x298 += einsum(x203, (0, 1), (0, 1)) * 1.9999999999999194 + x298 += einsum(x204, (0, 1), (0, 1)) * 2.9999999999998788 + x299 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x299 += einsum(l1.aa, (0, 1), t2.abab, (2, 3, 0, 4), (3, 4, 1, 2)) + x299 += einsum(x63, (0, 1, 2, 3), (0, 1, 2, 3)) + x299 += einsum(l2.abab, (0, 1, 2, 3), t3.babbab, (4, 5, 3, 6, 0, 1), (4, 6, 2, 5)) * 2.0 + x299 += einsum(x64, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x299 += einsum(l2.aaaa, (0, 1, 2, 3), t3.abaaba, (4, 5, 3, 0, 6, 1), (5, 6, 2, 4)) * 2.0 + x299 += einsum(x65, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x299 += einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), x58, (2, 1, 5, 4, 6, 7), (0, 3, 6, 7)) * 3.0 + x299 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x74, (2, 0, 6, 5, 7, 4), (6, 3, 7, 1)) * -2.0 + x299 += einsum(t2.bbbb, (0, 1, 2, 3), x98, (1, 0, 4, 3, 5, 6), (4, 2, 5, 6)) * -2.0 + x299 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x61, (2, 5, 6, 1, 7, 4), (0, 3, 6, 7)) * -4.0 + x299 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x91, (1, 6, 7, 2, 5, 3), (6, 4, 7, 0)) * 2.0 + x299 += einsum(t2.abab, (0, 1, 2, 3), x99, (1, 4, 5, 0, 6, 2), (4, 3, 5, 6)) * 2.0 + x299 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x193, (6, 0, 2, 7, 5, 3), (1, 4, 6, 7)) * -3.0 + x299 += einsum(t2.abab, (0, 1, 2, 3), x297, (3, 4, 5, 2), (1, 4, 5, 0)) * -2.0 + x299 += einsum(t2.bbbb, (0, 1, 2, 3), x101, (1, 3, 4, 5), (0, 2, 4, 5)) * 2.0 + x299 += einsum(t2.abab, (0, 1, 2, 3), x96, (1, 4, 5, 2), (4, 3, 5, 0)) * -1.0 + x299 += einsum(t2.abab, (0, 1, 2, 3), x289, (0, 4, 5, 2), (1, 3, 4, 5)) * -2.0 + x299 += einsum(t1.bb, (0, 1), x108, (0, 2, 3, 4), (2, 1, 3, 4)) * -1.0 + del x108 + x299 += einsum(t1.bb, (0, 1), x298, (2, 3), (0, 1, 2, 3)) + l1new_aa += einsum(v.aabb.ovov, (0, 1, 2, 3), x299, (2, 3, 4, 0), (1, 4)) * -1.0 + del x299 + x300 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x300 += einsum(x195, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.3333333333333333 + x300 += einsum(x196, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.3333333333333333 + x300 += einsum(x197, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + l1new_aa += einsum(v.aaaa.oovv, (0, 1, 2, 3), x300, (1, 4, 0, 3), (2, 4)) * -6.0 + x301 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x301 += einsum(l2.aaaa, (0, 1, 2, 3), (2, 3, 0, 1)) * -0.3333333333333333 + x301 += einsum(x286, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.3333333333333333 + x301 += einsum(x288, (0, 1, 2, 3), (0, 1, 2, 3)) + x301 += einsum(t1.aa, (0, 1), x300, (0, 2, 3, 4), (2, 3, 4, 1)) + l1new_aa += einsum(v.aaaa.ovvv, (0, 1, 2, 3), x301, (4, 0, 3, 1), (2, 4)) * -6.0 + del x301 + x302 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x302 += einsum(t2.abab, (0, 1, 2, 3), l3.abaaba, (4, 3, 5, 6, 1, 0), (6, 4, 5, 2)) + x303 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x303 += einsum(t1.aa, (0, 1), l2.aaaa, (2, 3, 4, 0), (4, 2, 3, 1)) + x303 += einsum(x302, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + l1new_aa += einsum(v.aaaa.vvvv, (0, 1, 2, 3), x303, (4, 3, 1, 2), (0, 4)) * -2.0 + del x303 + x304 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x304 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovvv, (4, 2, 5, 3), (1, 5, 0, 4)) + x305 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x305 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.babbab, (4, 5, 2, 6, 1, 3), (4, 6, 5, 0)) + x306 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x306 += einsum(v.aaaa.ovov, (0, 1, 2, 3), t3.abaaba, (4, 5, 2, 3, 6, 1), (5, 6, 4, 0)) * -1.0 + x307 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x307 += einsum(t2.abab, (0, 1, 2, 3), x261, (4, 5, 0, 2), (1, 3, 4, 5)) + del x261 + x308 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x308 += einsum(t2.bbbb, (0, 1, 2, 3), x8, (1, 3, 4, 5), (0, 2, 4, 5)) * 2.0 + x309 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x309 += einsum(t2.abab, (0, 1, 2, 3), x39, (1, 4, 5, 2), (4, 3, 0, 5)) + x310 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x310 += einsum(x245, (0, 1), t2.abab, (2, 3, 1, 4), (3, 4, 2, 0)) + x311 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x311 += einsum(v.aabb.oovv, (0, 1, 2, 3), (2, 3, 0, 1)) + x311 += einsum(x246, (0, 1, 2, 3), (1, 0, 3, 2)) + x312 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x312 += einsum(t1.bb, (0, 1), x311, (1, 2, 3, 4), (0, 2, 3, 4)) + del x311 + x313 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x313 += einsum(t1.bb, (0, 1), x128, (0, 2, 3, 4), (2, 1, 3, 4)) + x314 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x314 += einsum(v.aabb.ooov, (0, 1, 2, 3), (2, 3, 0, 1)) + x314 += einsum(x7, (0, 1, 2, 3), (0, 1, 2, 3)) + x314 += einsum(x304, (0, 1, 2, 3), (0, 1, 2, 3)) + x314 += einsum(x305, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x314 += einsum(x306, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x314 += einsum(x307, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + x314 += einsum(x308, (0, 1, 2, 3), (0, 1, 3, 2)) + x314 += einsum(x309, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x314 += einsum(x310, (0, 1, 2, 3), (0, 1, 2, 3)) + x314 += einsum(x312, (0, 1, 2, 3), (0, 1, 3, 2)) + x314 += einsum(x313, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + l1new_aa += einsum(l2.abab, (0, 1, 2, 3), x314, (3, 1, 2, 4), (0, 4)) * -1.0 + del x314 + x315 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x315 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovvv, (4, 2, 5, 3), (0, 1, 4, 5)) + x316 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x316 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.abaaba, (4, 2, 5, 6, 3, 1), (4, 5, 0, 6)) + x317 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x317 += einsum(v.aaaa.ovov, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 2, 6, 1, 3), (4, 5, 0, 6)) + x318 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x318 += einsum(t1.aa, (0, 1), v.aaaa.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) + x319 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x319 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) + x319 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x319 += einsum(x318, (0, 1, 2, 3), (0, 1, 2, 3)) + x320 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x320 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) + x320 += einsum(x315, (0, 1, 2, 3), (2, 1, 0, 3)) + x320 += einsum(x316, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 + x320 += einsum(x317, (0, 1, 2, 3), (2, 1, 0, 3)) * -3.0 + x320 += einsum(t2.aaaa, (0, 1, 2, 3), x231, (4, 5, 1, 3), (5, 0, 4, 2)) * -2.0 + x320 += einsum(t2.abab, (0, 1, 2, 3), x31, (1, 3, 4, 5), (5, 0, 4, 2)) + x320 += einsum(x245, (0, 1), t2.aaaa, (2, 3, 4, 1), (0, 2, 3, 4)) + x320 += einsum(t1.aa, (0, 1), x319, (2, 3, 1, 4), (3, 2, 0, 4)) + x320 += einsum(t1.aa, (0, 1), x254, (0, 2, 3, 4), (3, 2, 4, 1)) * -1.0 + l1new_aa += einsum(l2.aaaa, (0, 1, 2, 3), x320, (4, 3, 2, 1), (0, 4)) * -2.0 + del x320 + x321 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x321 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x58, (0, 2, 3, 5, 6, 7), (6, 7, 1, 4)) + x322 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x322 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x61, (1, 4, 6, 2, 7, 5), (6, 7, 0, 3)) * -1.0 + x323 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x323 += einsum(t1.aa, (0, 1), x61, (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 0, 6)) + x324 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x324 += einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), x193, (6, 2, 1, 7, 4, 5), (6, 7, 0, 3)) * -1.0 + x325 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x325 += einsum(t1.aa, (0, 1), x193, (2, 3, 4, 5, 6, 1), (2, 3, 4, 0, 5, 6)) + x326 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x326 += einsum(x195, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.3333333333333333 + x326 += einsum(x196, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.3333333333333333 + x326 += einsum(x197, (0, 1, 2, 3), (0, 1, 2, 3)) + x327 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x327 += einsum(x195, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + x327 += einsum(x196, (0, 1, 2, 3), (0, 1, 2, 3)) + x327 += einsum(x197, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0 + l2new_abab += einsum(v.aabb.ooov, (0, 1, 2, 3), x327, (0, 4, 1, 5), (5, 3, 4, 2)) * 2.0 + x328 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x328 += einsum(x229, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + x328 += einsum(t1.aa, (0, 1), x327, (2, 3, 4, 1), (2, 3, 0, 4)) * 0.3333333333333468 + x329 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x329 += einsum(l1.aa, (0, 1), t2.aaaa, (2, 3, 4, 0), (1, 2, 3, 4)) * 0.3333333333333333 + x329 += einsum(x195, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.3333333333333333 + x329 += einsum(l2.abab, (0, 1, 2, 3), t3.abaaba, (4, 3, 5, 6, 1, 0), (2, 4, 5, 6)) * 0.3333333333333333 + x329 += einsum(x196, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.3333333333333333 + x329 += einsum(x197, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x329 += einsum(x321, (0, 1, 2, 3), (0, 2, 1, 3)) * 0.16666666666666666 + x329 += einsum(x322, (0, 1, 2, 3), (0, 2, 1, 3)) * 0.6666666666666666 + x329 += einsum(t2.abab, (0, 1, 2, 3), x323, (1, 3, 4, 0, 5, 6), (4, 6, 5, 2)) * -0.3333333333333333 + x329 += einsum(x324, (0, 1, 2, 3), (0, 2, 1, 3)) * 1.5 + x329 += einsum(t2.aaaa, (0, 1, 2, 3), x228, (4, 3, 2, 5), (4, 0, 1, 5)) * -1.0 + x329 += einsum(t2.aaaa, (0, 1, 2, 3), x325, (4, 0, 1, 5, 6, 3), (4, 6, 5, 2)) * -1.0 + x329 += einsum(t2.abab, (0, 1, 2, 3), x66, (1, 3, 4, 5), (4, 0, 5, 2)) * 0.3333333333333333 + x329 += einsum(t2.aaaa, (0, 1, 2, 3), x326, (4, 1, 5, 3), (4, 0, 5, 2)) * -2.0 + x329 += einsum(t1.aa, (0, 1), x328, (2, 0, 3, 4), (2, 4, 3, 1)) * -0.9999999999999596 + del x328 + x329 += einsum(t1.aa, (0, 1), x298, (2, 3), (2, 0, 3, 1)) * 0.16666666666666666 + l1new_aa += einsum(v.aaaa.ovov, (0, 1, 2, 3), x329, (4, 2, 0, 3), (1, 4)) * -6.0 + del x329 + x330 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x330 += einsum(x282, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.1111111111111111 + x330 += einsum(x283, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.4444444444444444 + x330 += einsum(x284, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.1111111111111111 + x330 += einsum(x285, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.4444444444444444 + x330 += einsum(x287, (0, 1, 2, 3), (0, 1, 2, 3)) + l1new_aa += einsum(v.aaaa.ovvv, (0, 1, 2, 3), x330, (4, 0, 3, 1), (2, 4)) * 9.0 + del x330 + x331 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x331 += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 5, 0, 1), (2, 3, 4, 5)) + x332 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x332 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (6, 4, 7, 0, 1, 2), (3, 5, 6, 7)) + x333 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x333 += einsum(x196, (0, 1, 2, 3), (0, 1, 2, 3)) + x333 += einsum(x197, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0 + x334 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x334 += einsum(t1.aa, (0, 1), x333, (2, 3, 4, 1), (0, 2, 3, 4)) + x335 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x335 += einsum(x331, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + x335 += einsum(x332, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.9999999999999601 + x335 += einsum(x334, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 + x336 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x336 += einsum(l2.aaaa, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 3, 6, 0, 1), (2, 4, 5, 6)) * 0.5 + x336 += einsum(x321, (0, 1, 2, 3), (0, 2, 1, 3)) * 0.08333333333333333 + del x321 + x336 += einsum(x322, (0, 1, 2, 3), (0, 2, 1, 3)) * 0.3333333333333333 + del x322 + x336 += einsum(t2.aaaa, (0, 1, 2, 3), x302, (4, 2, 3, 5), (4, 0, 1, 5)) * 0.16666666666666666 + x336 += einsum(x324, (0, 1, 2, 3), (0, 2, 1, 3)) * 0.75 + del x324 + x336 += einsum(t2.abab, (0, 1, 2, 3), x66, (1, 3, 4, 5), (4, 0, 5, 2)) * 0.16666666666666666 + x336 += einsum(t2.aaaa, (0, 1, 2, 3), x326, (4, 1, 5, 3), (4, 0, 5, 2)) * -1.0 + x336 += einsum(t1.aa, (0, 1), x335, (0, 2, 3, 4), (2, 4, 3, 1)) * -0.16666666666666666 + del x335 + x336 += einsum(t1.aa, (0, 1), x298, (2, 3), (2, 0, 3, 1)) * 0.08333333333333333 + del x298 + l1new_aa += einsum(v.aaaa.ovov, (0, 1, 2, 3), x336, (4, 2, 0, 1), (3, 4)) * 12.0 + del x336 + x337 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x337 += einsum(t1.aa, (0, 1), (0, 1)) * -0.5000000000000202 + x337 += einsum(x186, (0, 1), (0, 1)) * -0.5000000000000202 + del x186 + x337 += einsum(x187, (0, 1), (0, 1)) * -1.0000000000000404 + del x187 + x337 += einsum(x188, (0, 1), (0, 1)) * -0.5000000000000202 + del x188 + x337 += einsum(x189, (0, 1), (0, 1)) * -1.0000000000000404 + del x189 + x337 += einsum(x190, (0, 1), (0, 1)) * -1.5000000000000604 + del x190 + x337 += einsum(x191, (0, 1), (0, 1)) * 0.5000000000000002 + del x191 + x337 += einsum(x192, (0, 1), (0, 1)) + del x192 + x337 += einsum(x194, (0, 1), (0, 1)) * 1.4999999999999998 + del x194 + x337 += einsum(t2.abab, (0, 1, 2, 3), x66, (1, 3, 0, 4), (4, 2)) * 1.0000000000000404 + x337 += einsum(t2.aaaa, (0, 1, 2, 3), x198, (0, 1, 4, 3), (4, 2)) * -3.000000000000121 + del x198 + x337 += einsum(t1.aa, (0, 1), x205, (0, 2), (2, 1)) * 0.5000000000000202 + del x205 + l1new_aa += einsum(x337, (0, 1), x240, (0, 2, 1, 3), (3, 2)) * 1.9999999999999194 + del x337 + x338 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x338 += einsum(x179, (0, 1), (0, 1)) * 0.5 + del x179 + x338 += einsum(x180, (0, 1), (0, 1)) * 0.5 + x338 += einsum(x181, (0, 1), (0, 1)) + x338 += einsum(x182, (0, 1), (0, 1)) * 0.49999999999998007 + x339 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x339 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) + x339 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 + l1new_aa += einsum(x338, (0, 1), x339, (2, 1, 0, 3), (3, 2)) * -2.0 + del x338 + l2new_abab += einsum(x100, (0, 1, 2, 3), x339, (4, 3, 2, 5), (5, 1, 4, 0)) * -2.0 + x340 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x340 += einsum(x160, (0, 1), (0, 1)) * 0.5 + del x160 + x340 += einsum(x161, (0, 1), (0, 1)) + x340 += einsum(x162, (0, 1), (0, 1)) * 0.5 + x340 += einsum(x163, (0, 1), (0, 1)) * 1.4999999999999394 + x340 += einsum(x164, (0, 1), (1, 0)) * 0.9999999999999597 + x340 += einsum(x211, (0, 1), (0, 1)) * 0.49999999999998007 + l1new_aa += einsum(x340, (0, 1), v.aabb.ovvv, (2, 3, 1, 0), (3, 2)) * 2.0 + del x340 + x341 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x341 += einsum(x175, (0, 1), (0, 1)) + x341 += einsum(x109, (0, 1), (0, 1)) * 2.0 + x341 += einsum(x110, (0, 1), (0, 1)) + x341 += einsum(x111, (0, 1), (0, 1)) * 2.9999999999998788 + x341 += einsum(x112, (0, 1), (0, 1)) * 1.9999999999999194 + x341 += einsum(x113, (0, 1), (0, 1)) * 0.9999999999999601 + l2new_abab += einsum(x341, (0, 1), v.aabb.ovov, (2, 3, 1, 4), (3, 4, 2, 0)) * -1.0 + x342 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x342 += einsum(l1.bb, (0, 1), (1, 0)) * -1.0 + x342 += einsum(t1.bb, (0, 1), (0, 1)) * -1.0 + x342 += einsum(x166, (0, 1), (0, 1)) * -2.0 + del x166 + x342 += einsum(x167, (0, 1), (0, 1)) * -1.0 + del x167 + x342 += einsum(x168, (0, 1), (0, 1)) * -3.0 + del x168 + x342 += einsum(x169, (0, 1), (0, 1)) * -2.0 + del x169 + x342 += einsum(x170, (0, 1), (0, 1)) * -1.0 + del x170 + x342 += einsum(x171, (0, 1), (0, 1)) * 2.9999999999998788 + del x171 + x342 += einsum(x172, (0, 1), (0, 1)) * 1.9999999999999194 + del x172 + x342 += einsum(x173, (0, 1), (0, 1)) * 0.9999999999999601 + del x173 + x342 += einsum(t2.bbbb, (0, 1, 2, 3), x137, (0, 1, 4, 3), (4, 2)) * -2.0 + x342 += einsum(t2.abab, (0, 1, 2, 3), x139, (1, 4, 0, 2), (4, 3)) * 2.0 + x342 += einsum(t1.bb, (0, 1), x341, (0, 2), (2, 1)) + l1new_aa += einsum(x342, (0, 1), v.aabb.ovov, (2, 3, 0, 1), (3, 2)) * -1.0 + del x342 + x343 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) + x343 += einsum(x102, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5000000000000202 + del x102 + x343 += einsum(x103, (0, 1, 2, 3), (0, 1, 2, 3)) + del x103 + x343 += einsum(x104, (0, 1, 2, 3), (0, 1, 2, 3)) + del x104 + x343 += einsum(t1.bb, (0, 1), x101, (2, 1, 3, 4), (0, 2, 3, 4)) * 0.5000000000000202 + x343 += einsum(t1.aa, (0, 1), x106, (2, 3, 4, 1), (3, 2, 4, 0)) * 1.0000000000000404 + l1new_aa += einsum(v.aabb.ovoo, (0, 1, 2, 3), x343, (3, 2, 4, 0), (1, 4)) * 1.9999999999999194 + del x343 + x344 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x344 += einsum(x183, (0, 1), (0, 1)) + x344 += einsum(x184, (0, 1), (0, 1)) * 1.4999999999999998 + l1new_aa += einsum(x344, (0, 1), x339, (2, 1, 0, 3), (3, 2)) * -1.9999999999999194 + del x344 + x345 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x345 += einsum(x331, (0, 1, 2, 3), (1, 0, 3, 2)) * -0.3333333333333333 + x345 += einsum(x332, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.33333333333332005 + x345 += einsum(t1.aa, (0, 1), x327, (2, 3, 4, 1), (0, 2, 3, 4)) * 0.3333333333333333 + l1new_aa += einsum(v.aaaa.ooov, (0, 1, 2, 3), x345, (0, 4, 1, 2), (3, 4)) * -6.0 + del x345 + x346 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x346 += einsum(t1.aa, (0, 1), x333, (2, 3, 4, 1), (2, 3, 0, 4)) * 0.3333333333333333 + l1new_aa += einsum(v.aaaa.ooov, (0, 1, 2, 3), x346, (4, 1, 2, 0), (3, 4)) * 6.0 + del x346 + x347 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x347 += einsum(x199, (0, 1), (0, 1)) * 0.3333333333333468 + x347 += einsum(x200, (0, 1), (0, 1)) * 0.3333333333333468 + x347 += einsum(x201, (0, 1), (0, 1)) * 0.6666666666666936 + x347 += einsum(x202, (0, 1), (0, 1)) * 0.33333333333333354 + x347 += einsum(x204, (0, 1), (0, 1)) + x348 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x348 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x348 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) + l1new_aa += einsum(x347, (0, 1), x348, (0, 2, 1, 3), (3, 2)) * -2.9999999999998788 + del x347 + l1new_aa += einsum(x203, (0, 1), x348, (0, 1, 2, 3), (3, 2)) * 1.9999999999999194 + l2new_abab += einsum(x348, (0, 1, 2, 3), x66, (4, 5, 0, 1), (3, 5, 2, 4)) * 2.0 + l3new_babbab += einsum(x348, (0, 1, 2, 3), x58, (4, 5, 6, 7, 0, 2), (6, 3, 7, 5, 1, 4)) * 2.0 + x349 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x349 += einsum(x175, (0, 1), (0, 1)) * 0.5 + del x175 + x349 += einsum(x109, (0, 1), (0, 1)) + del x109 + x349 += einsum(x110, (0, 1), (0, 1)) * 0.5 + del x110 + x349 += einsum(x111, (0, 1), (0, 1)) * 1.4999999999999394 + del x111 + x349 += einsum(x112, (0, 1), (1, 0)) * 0.9999999999999597 + del x112 + x349 += einsum(x113, (0, 1), (1, 0)) * 0.49999999999998007 + del x113 + l1new_aa += einsum(x349, (0, 1), v.aabb.ovoo, (2, 3, 1, 0), (3, 2)) * -2.0 + del x349 + x350 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x350 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) + x350 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + l1new_aa += einsum(l1.aa, (0, 1), x350, (1, 2, 0, 3), (3, 2)) * -1.0 + del x350 + x351 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x351 += einsum(t1.bb, (0, 1), v.aabb.vvov, (2, 3, 0, 1), (2, 3)) + x352 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x352 += einsum(f.aa.vv, (0, 1), (0, 1)) + x352 += einsum(x351, (0, 1), (1, 0)) + x352 += einsum(t1.aa, (0, 1), x235, (0, 1, 2, 3), (3, 2)) * -1.0 + l1new_aa += einsum(l1.aa, (0, 1), x352, (0, 2), (2, 1)) + del x352 + x353 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x353 += einsum(t1.bb, (0, 1), v.aabb.ooov, (2, 3, 0, 1), (2, 3)) + x354 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x354 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 1, 3), (0, 4)) + x355 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x355 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 2, 1, 3), (0, 4)) + x356 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x356 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x356 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) + x357 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x357 += einsum(t1.aa, (0, 1), x356, (2, 3, 0, 1), (2, 3)) + del x356 + x358 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x358 += einsum(t1.aa, (0, 1), x245, (2, 1), (0, 2)) + x359 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x359 += einsum(f.aa.oo, (0, 1), (0, 1)) + x359 += einsum(x353, (0, 1), (1, 0)) + x359 += einsum(x354, (0, 1), (0, 1)) + x359 += einsum(x355, (0, 1), (0, 1)) * 2.0 + x359 += einsum(x357, (0, 1), (1, 0)) * -1.0 + x359 += einsum(x358, (0, 1), (0, 1)) + del x358 + l1new_aa += einsum(l1.aa, (0, 1), x359, (1, 2), (0, 2)) * -1.0 + l2new_abab += einsum(x359, (0, 1), l2.abab, (2, 3, 0, 4), (2, 3, 1, 4)) * -1.0 + l3new_babbab += einsum(x359, (0, 1), l3.babbab, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) * -2.0 + del x359 + x360 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x360 += einsum(x199, (0, 1), (0, 1)) * 0.3333333333333468 + x360 += einsum(x200, (0, 1), (0, 1)) * 0.3333333333333468 + x360 += einsum(x201, (0, 1), (0, 1)) * 0.6666666666666936 + x360 += einsum(x202, (0, 1), (0, 1)) * 0.33333333333333354 + x360 += einsum(x203, (0, 1), (0, 1)) * 0.6666666666666667 + x360 += einsum(x204, (0, 1), (0, 1)) + l1new_aa += einsum(f.aa.ov, (0, 1), x360, (2, 0), (1, 2)) * -2.9999999999998788 + del x360 + x361 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x361 += einsum(x243, (0, 1), (0, 1)) + del x243 + x361 += einsum(x244, (0, 1), (0, 1)) * -1.0 + del x244 + l1new_aa += einsum(x199, (0, 1), x361, (1, 2), (2, 0)) * -1.0 + x362 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x362 += einsum(l1.aa, (0, 1), v.aaaa.ovvv, (2, 3, 4, 0), (1, 2, 3, 4)) + x363 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x363 += einsum(l2.abab, (0, 1, 2, 3), x238, (3, 1, 4, 5), (2, 4, 0, 5)) + x364 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x364 += einsum(x5, (0, 1, 2, 3), x93, (0, 1, 4, 5), (4, 2, 5, 3)) + x365 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x365 += einsum(x302, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.3333333333333333 + x365 += einsum(x228, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + l2new_abab += einsum(v.aabb.vvov, (0, 1, 2, 3), x365, (4, 5, 0, 1), (5, 3, 4, 2)) * 6.0 + x366 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x366 += einsum(x339, (0, 1, 2, 3), x365, (4, 2, 5, 1), (0, 4, 3, 5)) * 6.0 + del x365 + x367 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x367 += einsum(x196, (0, 1, 2, 3), (0, 1, 2, 3)) + del x196 + x367 += einsum(x197, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0000000000000004 + del x197 + x368 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x368 += einsum(t1.aa, (0, 1), x367, (2, 0, 3, 4), (2, 3, 1, 4)) * 0.22222222222223104 + del x367 + x369 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x369 += einsum(x282, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.11111111111111552 + x369 += einsum(x283, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.4444444444444621 + x369 += einsum(x284, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.11111111111111108 + x369 += einsum(x285, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.44444444444444453 + x369 += einsum(x286, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.22222222222223104 + x369 += einsum(x287, (0, 1, 2, 3), (0, 1, 2, 3)) + x369 += einsum(x288, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.6666666666666932 + x369 += einsum(x368, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x368 + x370 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x370 += einsum(x233, (0, 1, 2, 3), x369, (4, 0, 5, 3), (1, 4, 2, 5)) * 8.999999999999643 + del x369 + x371 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x371 += einsum(t1.bb, (0, 1), x106, (0, 2, 3, 4), (2, 1, 3, 4)) * 2.0 + x372 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x372 += einsum(l2.abab, (0, 1, 2, 3), (3, 1, 2, 0)) + x372 += einsum(x271, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x372 += einsum(x272, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x372 += einsum(x273, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.999999999999881 + x372 += einsum(x274, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 + x372 += einsum(x275, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.999999999999842 + x372 += einsum(x276, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 + x372 += einsum(x277, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.999999999999881 + x372 += einsum(x371, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x371 + x373 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x373 += einsum(v.aabb.ovov, (0, 1, 2, 3), x372, (2, 3, 4, 5), (0, 4, 1, 5)) + del x372 + x374 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x374 += einsum(v.aabb.ovvv, (0, 1, 2, 3), x297, (2, 3, 4, 5), (0, 4, 1, 5)) * 2.0 + x375 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x375 += einsum(t1.aa, (0, 1), x339, (2, 1, 3, 4), (0, 2, 3, 4)) + x376 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x376 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) + x376 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x376 += einsum(x375, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x375 + x377 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x377 += einsum(l2.aaaa, (0, 1, 2, 3), x376, (3, 4, 5, 1), (2, 4, 0, 5)) * 2.0 + del x376 + x378 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x378 += einsum(x327, (0, 1, 2, 3), x348, (1, 4, 2, 5), (0, 4, 3, 5)) * 2.0 + del x327 + x379 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x379 += einsum(x180, (0, 1), (0, 1)) + x379 += einsum(x181, (0, 1), (0, 1)) * 2.0 + x379 += einsum(x182, (0, 1), (0, 1)) * 0.9999999999999601 + x379 += einsum(x183, (0, 1), (0, 1)) * 1.9999999999999194 + x379 += einsum(x184, (0, 1), (0, 1)) * 2.9999999999998788 + x380 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x380 += einsum(x379, (0, 1), v.aaaa.ovov, (2, 1, 3, 4), (2, 3, 0, 4)) + del x379 + x381 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x381 += einsum(v.aabb.ovoo, (0, 1, 2, 3), x96, (2, 3, 4, 5), (0, 4, 1, 5)) + x382 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x382 += einsum(x230, (0, 1, 2, 3), (0, 1, 2, 3)) + x382 += einsum(x230, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x383 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x383 += einsum(x195, (0, 1, 2, 3), x382, (0, 4, 2, 5), (1, 4, 3, 5)) * 2.0 + x384 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x384 += einsum(x199, (0, 1), (0, 1)) + x384 += einsum(x200, (0, 1), (0, 1)) + x384 += einsum(x201, (0, 1), (0, 1)) * 2.0 + x384 += einsum(x202, (0, 1), (0, 1)) * 0.9999999999999601 + x384 += einsum(x203, (0, 1), (0, 1)) * 1.9999999999999194 + x384 += einsum(x204, (0, 1), (0, 1)) * 2.9999999999998788 + x385 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x385 += einsum(x384, (0, 1), v.aaaa.ovov, (2, 3, 1, 4), (0, 2, 4, 3)) + del x384 + x386 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x386 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x386 += einsum(x230, (0, 1, 2, 3), (0, 1, 2, 3)) + x387 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x387 += einsum(l1.aa, (0, 1), x386, (1, 2, 3, 4), (2, 3, 0, 4)) + x388 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x388 += einsum(f.aa.ov, (0, 1), l1.aa, (2, 3), (0, 3, 1, 2)) + x388 += einsum(x362, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x362 + x388 += einsum(x363, (0, 1, 2, 3), (0, 1, 2, 3)) + del x363 + x388 += einsum(x364, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x364 + x388 += einsum(x366, (0, 1, 2, 3), (1, 0, 3, 2)) + del x366 + x388 += einsum(x370, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x370 + x388 += einsum(x373, (0, 1, 2, 3), (1, 0, 3, 2)) + del x373 + x388 += einsum(x374, (0, 1, 2, 3), (1, 0, 3, 2)) + del x374 + x388 += einsum(x377, (0, 1, 2, 3), (0, 1, 2, 3)) + del x377 + x388 += einsum(x378, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x378 + x388 += einsum(x380, (0, 1, 2, 3), (1, 0, 2, 3)) + del x380 + x388 += einsum(x381, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x381 + x388 += einsum(x383, (0, 1, 2, 3), (0, 1, 2, 3)) + del x383 + x388 += einsum(x385, (0, 1, 2, 3), (0, 1, 3, 2)) + del x385 + x388 += einsum(x387, (0, 1, 2, 3), (0, 1, 2, 3)) + del x387 + x388 += einsum(l1.aa, (0, 1), x361, (2, 3), (1, 2, 0, 3)) + l2new_aaaa += einsum(x388, (0, 1, 2, 3), (2, 3, 0, 1)) + l2new_aaaa += einsum(x388, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 + l2new_aaaa += einsum(x388, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 + l2new_aaaa += einsum(x388, (0, 1, 2, 3), (3, 2, 1, 0)) + del x388 + x389 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x389 += einsum(f.aa.ov, (0, 1), t1.aa, (2, 1), (0, 2)) + x390 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x390 += einsum(x389, (0, 1), l2.aaaa, (2, 3, 4, 1), (0, 4, 2, 3)) + x391 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x391 += einsum(l2.aaaa, (0, 1, 2, 3), x253, (2, 4, 3, 5), (4, 5, 0, 1)) + x392 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x392 += einsum(f.aa.ov, (0, 1), t2.abab, (2, 3, 1, 4), (3, 4, 0, 2)) + x393 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x393 += einsum(x392, (0, 1, 2, 3), l3.abaaba, (4, 1, 5, 6, 0, 3), (2, 6, 4, 5)) + del x392 + x394 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x394 += einsum(f.aa.ov, (0, 1), t2.aaaa, (2, 3, 4, 1), (0, 2, 3, 4)) + x395 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x395 += einsum(x394, (0, 1, 2, 3), l3.aaaaaa, (4, 5, 3, 6, 1, 2), (0, 6, 4, 5)) * -1.0 + del x394 + x396 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x396 += einsum(x361, (0, 1), t2.abab, (2, 3, 1, 4), (3, 4, 2, 0)) + x397 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x397 += einsum(v.aabb.ooov, (0, 1, 2, 3), (2, 3, 0, 1)) + x397 += einsum(x7, (0, 1, 2, 3), (0, 1, 2, 3)) + x397 += einsum(x304, (0, 1, 2, 3), (0, 1, 2, 3)) + x397 += einsum(x305, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.999999999999921 + x397 += einsum(x306, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.99999999999992 + x397 += einsum(x307, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + x397 += einsum(x308, (0, 1, 2, 3), (0, 1, 3, 2)) + x397 += einsum(x309, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x397 += einsum(x396, (0, 1, 2, 3), (0, 1, 2, 3)) + del x396 + x397 += einsum(x312, (0, 1, 2, 3), (0, 1, 3, 2)) + x397 += einsum(x313, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + x398 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x398 += einsum(x397, (0, 1, 2, 3), l3.abaaba, (4, 1, 5, 6, 0, 2), (6, 3, 4, 5)) * -2.0 + del x397 + x399 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x399 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) + x399 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x399 += einsum(x230, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x399 += einsum(x230, (0, 1, 2, 3), (0, 2, 1, 3)) + x400 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x400 += einsum(t2.aaaa, (0, 1, 2, 3), x399, (4, 1, 5, 3), (0, 4, 5, 2)) * 2.0 + del x399 + x401 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x401 += einsum(t2.abab, (0, 1, 2, 3), x8, (1, 3, 4, 5), (0, 4, 5, 2)) + x402 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x402 += einsum(x361, (0, 1), t2.aaaa, (2, 3, 4, 1), (2, 3, 0, 4)) * -1.0 + x403 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x403 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + x403 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x403 += einsum(x318, (0, 1, 2, 3), (1, 0, 2, 3)) + del x318 + x404 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x404 += einsum(t1.aa, (0, 1), x403, (2, 3, 1, 4), (0, 2, 3, 4)) + del x403 + x405 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x405 += einsum(v.aaaa.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) + x405 += einsum(x251, (0, 1, 2, 3), (3, 1, 0, 2)) + x405 += einsum(x252, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 + x405 += einsum(x253, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 + x405 += einsum(x253, (0, 1, 2, 3), (3, 0, 2, 1)) + x406 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x406 += einsum(t1.aa, (0, 1), x405, (0, 2, 3, 4), (2, 3, 4, 1)) + del x405 + x407 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x407 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x407 += einsum(x315, (0, 1, 2, 3), (1, 0, 2, 3)) + x407 += einsum(x316, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.9999999999999606 + x407 += einsum(x317, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.999999999999881 + x407 += einsum(x400, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x400 + x407 += einsum(x401, (0, 1, 2, 3), (0, 2, 1, 3)) + del x401 + x407 += einsum(x402, (0, 1, 2, 3), (1, 0, 2, 3)) + del x402 + x407 += einsum(x404, (0, 1, 2, 3), (2, 0, 1, 3)) + del x404 + x407 += einsum(x406, (0, 1, 2, 3), (1, 0, 2, 3)) + del x406 + x408 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x408 += einsum(x407, (0, 1, 2, 3), l3.aaaaaa, (4, 5, 3, 6, 0, 1), (6, 2, 4, 5)) * -6.0 + del x407 + x409 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x409 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) + x409 += einsum(x230, (0, 1, 2, 3), (0, 2, 1, 3)) + x410 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x410 += einsum(x302, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + del x302 + x410 += einsum(x228, (0, 1, 2, 3), (0, 2, 1, 3)) * -3.0 + del x228 + x411 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x411 += einsum(x409, (0, 1, 2, 3), x410, (0, 4, 5, 3), (1, 2, 4, 5)) * 2.0 + del x409 + x412 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x412 += einsum(t1.aa, (0, 1), x361, (2, 1), (0, 2)) + x413 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x413 += einsum(x353, (0, 1), (1, 0)) + del x353 + x413 += einsum(x354, (0, 1), (0, 1)) + del x354 + x413 += einsum(x355, (0, 1), (0, 1)) * 2.0 + del x355 + x413 += einsum(x357, (0, 1), (1, 0)) * -1.0 + del x357 + x413 += einsum(x412, (0, 1), (0, 1)) + del x412 + x414 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x414 += einsum(x413, (0, 1), l2.aaaa, (2, 3, 4, 0), (4, 1, 2, 3)) * -2.0 + x415 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x415 += einsum(x390, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 + del x390 + x415 += einsum(x391, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 + del x391 + x415 += einsum(x393, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 + del x393 + x415 += einsum(x395, (0, 1, 2, 3), (0, 1, 3, 2)) * 6.0 + del x395 + x415 += einsum(x398, (0, 1, 2, 3), (0, 1, 3, 2)) + del x398 + x415 += einsum(x408, (0, 1, 2, 3), (0, 1, 2, 3)) + del x408 + x415 += einsum(x411, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x411 + x415 += einsum(x414, (0, 1, 2, 3), (0, 1, 3, 2)) + del x414 + l2new_aaaa += einsum(x415, (0, 1, 2, 3), (3, 2, 0, 1)) + l2new_aaaa += einsum(x415, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 + del x415 + x416 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x416 += einsum(f.aa.vv, (0, 1), l2.aaaa, (2, 1, 3, 4), (3, 4, 0, 2)) + x417 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x417 += einsum(x22, (0, 1, 2, 3), x91, (0, 1, 4, 5, 6, 3), (4, 5, 6, 2)) + x418 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) + x418 += einsum(t1.bb, (0, 1), v.aabb.vvvv, (2, 3, 4, 1), (0, 4, 2, 3)) + x419 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) + x419 += einsum(t2.bbbb, (0, 1, 2, 3), v.aabb.vvov, (4, 5, 1, 3), (0, 2, 4, 5)) + x420 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) + x420 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovvv, (0, 4, 5, 3), (1, 5, 2, 4)) + x421 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) + x421 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.babbab, (4, 0, 2, 5, 6, 3), (4, 5, 6, 1)) + x422 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) + x422 += einsum(v.aaaa.ovov, (0, 1, 2, 3), t3.abaaba, (0, 4, 2, 5, 6, 1), (4, 6, 5, 3)) * -1.0 + x423 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x423 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x423 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) + x424 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) + x424 += einsum(t2.abab, (0, 1, 2, 3), x423, (0, 2, 4, 5), (1, 3, 4, 5)) + del x423 + x425 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) + x425 += einsum(t2.abab, (0, 1, 2, 3), x39, (1, 4, 0, 5), (4, 3, 2, 5)) + x426 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) + x426 += einsum(v.aabb.vvov, (0, 1, 2, 3), (2, 3, 0, 1)) + x426 += einsum(x418, (0, 1, 2, 3), (0, 1, 3, 2)) + x426 += einsum(x419, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 + x426 += einsum(x420, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + x426 += einsum(x421, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.999999999999921 + x426 += einsum(x422, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.99999999999992 + x426 += einsum(x424, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x424 + x426 += einsum(x425, (0, 1, 2, 3), (0, 1, 3, 2)) + x427 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x427 += einsum(x426, (0, 1, 2, 3), l3.abaaba, (4, 1, 3, 5, 0, 6), (5, 6, 4, 2)) * -2.0 + del x426 + x428 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x428 += einsum(t1.aa, (0, 1), v.aaaa.vvvv, (2, 3, 4, 1), (0, 2, 3, 4)) + x429 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x429 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.vvov, (4, 5, 1, 3), (0, 2, 4, 5)) + x430 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x430 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.abaaba, (4, 2, 0, 5, 3, 6), (4, 5, 6, 1)) + x431 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x431 += einsum(v.aaaa.ovov, (0, 1, 2, 3), t3.aaaaaa, (4, 0, 2, 5, 6, 3), (4, 5, 6, 1)) + x432 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x432 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) + x432 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x433 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x433 += einsum(t2.aaaa, (0, 1, 2, 3), x432, (1, 3, 4, 5), (0, 2, 4, 5)) * 2.0 + x434 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x434 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) + x434 += einsum(x230, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + x435 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x435 += einsum(t2.aaaa, (0, 1, 2, 3), x434, (0, 4, 1, 5), (4, 2, 3, 5)) + x436 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x436 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x436 += einsum(x428, (0, 1, 2, 3), (0, 2, 3, 1)) + x436 += einsum(x429, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + x436 += einsum(x430, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.9999999999999606 + x436 += einsum(x431, (0, 1, 2, 3), (0, 2, 1, 3)) * -2.999999999999881 + x436 += einsum(x433, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x433 + x436 += einsum(x435, (0, 1, 2, 3), (0, 2, 1, 3)) + del x435 + x437 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x437 += einsum(x436, (0, 1, 2, 3), l3.aaaaaa, (4, 1, 2, 5, 6, 0), (5, 6, 4, 3)) * -6.0 + del x436 + x438 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x438 += einsum(t1.bb, (0, 1), x39, (0, 2, 3, 4), (2, 1, 3, 4)) + x439 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x439 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) + x439 += einsum(x238, (0, 1, 2, 3), (0, 1, 2, 3)) + x439 += einsum(x239, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x439 += einsum(x241, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x241 + x439 += einsum(x438, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x438 + l2new_abab += einsum(x439, (0, 1, 2, 3), x58, (0, 4, 5, 1, 6, 2), (3, 5, 6, 4)) * 2.0 + x440 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x440 += einsum(x439, (0, 1, 2, 3), x61, (0, 1, 4, 5, 2, 6), (4, 5, 6, 3)) * 2.0 + del x439 + x441 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x441 += einsum(t1.aa, (0, 1), v.aaaa.ooov, (2, 0, 3, 4), (2, 3, 1, 4)) + x442 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x442 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + x442 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x442 += einsum(x441, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x441 + x442 += einsum(x232, (0, 1, 2, 3), (0, 1, 2, 3)) + x442 += einsum(x234, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x443 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x443 += einsum(x442, (0, 1, 2, 3), x193, (4, 5, 0, 1, 2, 6), (4, 5, 6, 3)) * 6.0 + del x442 + x444 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x444 += einsum(t1.aa, (0, 1), x230, (2, 3, 0, 4), (2, 3, 1, 4)) + x445 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x445 += einsum(t1.aa, (0, 1), x235, (2, 1, 3, 4), (0, 2, 3, 4)) + x446 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x446 += einsum(x444, (0, 1, 2, 3), (0, 1, 2, 3)) + del x444 + x446 += einsum(x445, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + l2new_abab += einsum(x446, (0, 1, 2, 3), x61, (4, 5, 0, 6, 1, 2), (3, 5, 6, 4)) * 2.0 + x447 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x447 += einsum(x446, (0, 1, 2, 3), x193, (4, 5, 0, 1, 2, 6), (4, 5, 6, 3)) * 6.0 + del x446 + x448 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + x448 += einsum(v.aabb.vvoo, (0, 1, 2, 3), (2, 3, 0, 1)) + x448 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + l2new_abab += einsum(x448, (0, 1, 2, 3), x74, (0, 4, 1, 5, 6, 2), (3, 5, 6, 4)) * 2.0 + x449 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x449 += einsum(x448, (0, 1, 2, 3), x91, (0, 1, 4, 5, 2, 6), (4, 5, 6, 3)) * 2.0 + del x448 + x450 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x450 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), x326, (4, 5, 0, 3), (4, 5, 1, 2)) * 6.0 + x451 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x451 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 4, 1, 3), (2, 4)) + x452 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x452 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (0, 3, 1, 4), (2, 4)) * -1.0 + x453 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x453 += einsum(t1.aa, (0, 1), x339, (0, 1, 2, 3), (2, 3)) + del x339 + x454 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x454 += einsum(x351, (0, 1), (1, 0)) * -1.0 + x454 += einsum(x451, (0, 1), (1, 0)) + x454 += einsum(x452, (0, 1), (1, 0)) * 2.0 + x454 += einsum(x453, (0, 1), (1, 0)) * -1.0 + del x453 + x455 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x455 += einsum(x454, (0, 1), l2.aaaa, (2, 1, 3, 4), (3, 4, 2, 0)) * -2.0 + x456 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x456 += einsum(v.aaaa.ovov, (0, 1, 2, 3), x334, (0, 4, 5, 2), (4, 5, 3, 1)) * 2.0 + del x334 + x457 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x457 += einsum(x361, (0, 1), x289, (2, 3, 0, 4), (2, 3, 4, 1)) * 2.0 + x458 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x458 += einsum(f.aa.ov, (0, 1), x300, (2, 3, 0, 4), (2, 3, 4, 1)) * 6.0 + del x300 + x459 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x459 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x459 += einsum(x416, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 + del x416 + x459 += einsum(x417, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 + del x417 + x459 += einsum(x427, (0, 1, 2, 3), (1, 0, 3, 2)) + del x427 + x459 += einsum(x437, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x437 + x459 += einsum(x440, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x440 + x459 += einsum(x443, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x443 + x459 += einsum(x447, (0, 1, 2, 3), (0, 1, 3, 2)) + del x447 + x459 += einsum(x449, (0, 1, 2, 3), (0, 1, 3, 2)) + del x449 + x459 += einsum(x450, (0, 1, 2, 3), (0, 1, 3, 2)) + del x450 + x459 += einsum(x455, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x455 + x459 += einsum(x456, (0, 1, 2, 3), (0, 1, 2, 3)) + del x456 + x459 += einsum(x457, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x457 + x459 += einsum(x458, (0, 1, 2, 3), (1, 0, 2, 3)) + del x458 + l2new_aaaa += einsum(x459, (0, 1, 2, 3), (3, 2, 0, 1)) + l2new_aaaa += einsum(x459, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 + del x459 + x460 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x460 += einsum(f.aa.oo, (0, 1), l2.aaaa, (2, 3, 4, 1), (0, 4, 2, 3)) + l2new_aaaa += einsum(x460, (0, 1, 2, 3), (3, 2, 0, 1)) * -2.0 + l2new_aaaa += einsum(x460, (0, 1, 2, 3), (3, 2, 1, 0)) * 2.0 + del x460 + x461 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x461 += einsum(x331, (0, 1, 2, 3), (1, 0, 3, 2)) * -0.3333333333333468 + del x331 + x461 += einsum(t1.aa, (0, 1), x195, (2, 3, 4, 1), (2, 3, 4, 0)) * 0.3333333333333468 + del x195 + x461 += einsum(x332, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.33333333333333354 + del x332 + x461 += einsum(x229, (0, 1, 2, 3), (0, 1, 3, 2)) + del x229 + l2new_aaaa += einsum(v.aaaa.ovov, (0, 1, 2, 3), x461, (4, 5, 0, 2), (3, 1, 5, 4)) * -5.9999999999997575 + del x461 + x462 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x462 += einsum(v.aaaa.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x462 += einsum(x251, (0, 1, 2, 3), (1, 3, 0, 2)) * -1.0 + x462 += einsum(x252, (0, 1, 2, 3), (0, 3, 1, 2)) + l2new_aaaa += einsum(l2.aaaa, (0, 1, 2, 3), x462, (2, 4, 3, 5), (0, 1, 4, 5)) * -2.0 + x463 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x463 += einsum(t1.aa, (0, 1), v.aabb.vvvv, (2, 1, 3, 4), (3, 4, 0, 2)) + x464 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x464 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.vvov, (4, 2, 1, 5), (3, 5, 0, 4)) + x465 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x465 += einsum(t2.aaaa, (0, 1, 2, 3), v.aabb.ovvv, (1, 3, 4, 5), (4, 5, 0, 2)) + x466 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x466 += einsum(v.bbbb.ovov, (0, 1, 2, 3), t3.babbab, (0, 4, 2, 5, 6, 3), (5, 1, 4, 6)) + x467 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x467 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.abaaba, (4, 2, 0, 5, 6, 1), (6, 3, 4, 5)) + x468 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x468 += einsum(t2.abab, (0, 1, 2, 3), x217, (1, 4, 3, 5), (4, 5, 0, 2)) + x469 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x469 += einsum(t2.abab, (0, 1, 2, 3), x8, (1, 4, 0, 5), (3, 4, 5, 2)) + x470 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x470 += einsum(v.aabb.ovvv, (0, 1, 2, 3), (2, 3, 0, 1)) + x470 += einsum(x463, (0, 1, 2, 3), (1, 0, 2, 3)) + x470 += einsum(x464, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x470 += einsum(x465, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 + x470 += einsum(x466, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.99999999999992 + x470 += einsum(x467, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.999999999999921 + x470 += einsum(x468, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + x470 += einsum(x469, (0, 1, 2, 3), (0, 1, 2, 3)) + l2new_abab += einsum(x470, (0, 1, 2, 3), l3.abaaba, (4, 0, 3, 5, 6, 2), (4, 1, 5, 6)) * 2.0 + del x470 + x471 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) + x471 += einsum(v.aabb.vvov, (0, 1, 2, 3), (2, 3, 0, 1)) + x471 += einsum(x418, (0, 1, 2, 3), (0, 1, 3, 2)) + del x418 + x471 += einsum(x419, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 + del x419 + x471 += einsum(x420, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x420 + x471 += einsum(x421, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.999999999999921 + del x421 + x471 += einsum(x422, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.99999999999992 + del x422 + x471 += einsum(t2.abab, (0, 1, 2, 3), x235, (0, 2, 4, 5), (1, 3, 5, 4)) * -1.0 + x471 += einsum(x425, (0, 1, 2, 3), (0, 1, 2, 3)) + del x425 + l2new_abab += einsum(x471, (0, 1, 2, 3), l3.babbab, (4, 2, 1, 5, 6, 0), (3, 4, 6, 5)) * 2.0 + del x471 + x472 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x472 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) * 0.5 + x472 += einsum(x428, (0, 1, 2, 3), (0, 3, 2, 1)) * -0.5 + del x428 + x472 += einsum(x429, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.5 + del x429 + x472 += einsum(x430, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.49999999999998 + del x430 + x472 += einsum(x431, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.4999999999999405 + del x431 + x472 += einsum(t2.aaaa, (0, 1, 2, 3), x432, (1, 3, 4, 5), (0, 2, 5, 4)) * -1.0 + del x432 + x472 += einsum(t2.aaaa, (0, 1, 2, 3), x434, (0, 4, 1, 5), (4, 2, 3, 5)) * -0.5 + del x434 + l2new_abab += einsum(x472, (0, 1, 2, 3), l3.abaaba, (1, 4, 2, 5, 6, 0), (3, 4, 5, 6)) * 4.0 + del x472 + x473 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x473 += einsum(t1.bb, (0, 1), v.bbbb.vvvv, (2, 3, 4, 1), (0, 2, 3, 4)) + x474 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x474 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovvv, (0, 2, 4, 5), (1, 3, 4, 5)) + x475 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x475 += einsum(v.bbbb.ovov, (0, 1, 2, 3), t3.bbbbbb, (4, 0, 2, 5, 6, 3), (4, 5, 6, 1)) + x476 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x476 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.babbab, (4, 0, 2, 5, 1, 6), (4, 5, 6, 3)) + x477 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x477 += einsum(t2.bbbb, (0, 1, 2, 3), x217, (1, 3, 4, 5), (0, 2, 4, 5)) * 2.0 + x478 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x478 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) + x478 += einsum(x3, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + x479 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x479 += einsum(t2.bbbb, (0, 1, 2, 3), x478, (0, 4, 1, 5), (4, 2, 3, 5)) * -1.0 + del x478 + x480 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x480 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x480 += einsum(x473, (0, 1, 2, 3), (0, 2, 3, 1)) + x480 += einsum(x474, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + x480 += einsum(x475, (0, 1, 2, 3), (0, 2, 1, 3)) * -2.999999999999881 + x480 += einsum(x476, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.99999999999996 + x480 += einsum(x477, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + x480 += einsum(x479, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + l2new_abab += einsum(x480, (0, 1, 2, 3), l3.babbab, (1, 4, 2, 5, 6, 0), (4, 3, 6, 5)) * 2.0 + del x480 + x481 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x481 += einsum(v.aabb.ooov, (0, 1, 2, 3), (2, 3, 0, 1)) + x481 += einsum(x7, (0, 1, 2, 3), (0, 1, 2, 3)) + x481 += einsum(x304, (0, 1, 2, 3), (0, 1, 2, 3)) + del x304 + x481 += einsum(x305, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.999999999999921 + del x305 + x481 += einsum(x306, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.99999999999992 + del x306 + x481 += einsum(x307, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x307 + x481 += einsum(x308, (0, 1, 2, 3), (0, 1, 3, 2)) + del x308 + x481 += einsum(x309, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x309 + x481 += einsum(x310, (0, 1, 2, 3), (0, 1, 2, 3)) + del x310 + x481 += einsum(x312, (0, 1, 2, 3), (0, 1, 3, 2)) + del x312 + x481 += einsum(x313, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x313 + l2new_abab += einsum(x481, (0, 1, 2, 3), l3.babbab, (4, 5, 1, 6, 2, 0), (5, 4, 3, 6)) * -2.0 + del x481 + x482 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x482 += einsum(v.aabb.ovoo, (0, 1, 2, 3), (2, 3, 0, 1)) * 0.5 + x482 += einsum(x118, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.5 + x482 += einsum(x119, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 + x482 += einsum(x120, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.99999999999996 + x482 += einsum(x121, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.9999999999999605 + x482 += einsum(t2.abab, (0, 1, 2, 3), x122, (4, 5, 1, 3), (5, 4, 0, 2)) * -0.5 + del x122 + x482 += einsum(t2.aaaa, (0, 1, 2, 3), x39, (4, 5, 1, 3), (5, 4, 0, 2)) + x482 += einsum(t2.abab, (0, 1, 2, 3), x8, (4, 3, 0, 5), (1, 4, 5, 2)) * -0.5 + x482 += einsum(x21, (0, 1), t2.abab, (2, 3, 4, 1), (3, 0, 2, 4)) * 0.5 + del x21 + x482 += einsum(t1.bb, (0, 1), x126, (2, 1, 3, 4), (0, 2, 3, 4)) * 0.5 + del x126 + x482 += einsum(t1.aa, (0, 1), x128, (2, 3, 0, 4), (3, 2, 4, 1)) * -0.5 + del x128 + l2new_abab += einsum(x482, (0, 1, 2, 3), l3.abaaba, (4, 5, 3, 6, 0, 2), (4, 5, 6, 1)) * -4.0 + del x482 + x483 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x483 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * 0.3333333333333466 + x483 += einsum(x315, (0, 1, 2, 3), (2, 1, 0, 3)) * 0.3333333333333466 + del x315 + x483 += einsum(x316, (0, 1, 2, 3), (2, 1, 0, 3)) * -0.33333333333333326 + del x316 + x483 += einsum(x317, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 + del x317 + x483 += einsum(t2.aaaa, (0, 1, 2, 3), x231, (4, 5, 1, 3), (5, 0, 4, 2)) * -0.6666666666666932 + del x231 + x483 += einsum(t2.abab, (0, 1, 2, 3), x31, (1, 3, 4, 5), (5, 0, 4, 2)) * 0.3333333333333466 + x483 += einsum(x245, (0, 1), t2.aaaa, (2, 3, 4, 1), (0, 2, 3, 4)) * 0.3333333333333466 + del x245 + x483 += einsum(t1.aa, (0, 1), x319, (2, 3, 1, 4), (3, 2, 0, 4)) * 0.3333333333333466 + del x319 + x483 += einsum(t1.aa, (0, 1), x254, (0, 2, 3, 4), (3, 2, 4, 1)) * -0.3333333333333466 + del x254 + l2new_abab += einsum(x483, (0, 1, 2, 3), l3.abaaba, (4, 5, 3, 1, 6, 2), (4, 5, 0, 6)) * 5.999999999999762 + del x483 + x484 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x484 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x484 += einsum(x146, (0, 1, 2, 3), (2, 1, 0, 3)) + x484 += einsum(x147, (0, 1, 2, 3), (2, 1, 0, 3)) * -2.999999999999881 + x484 += einsum(x148, (0, 1, 2, 3), (2, 1, 0, 3)) * -0.99999999999996 + x484 += einsum(x149, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 + x484 += einsum(x150, (0, 1, 2, 3), (2, 0, 1, 3)) + del x150 + x484 += einsum(x151, (0, 1, 2, 3), (2, 1, 0, 3)) + del x151 + x484 += einsum(x154, (0, 1, 2, 3), (2, 1, 0, 3)) + del x154 + x484 += einsum(x155, (0, 1, 2, 3), (1, 2, 0, 3)) + del x155 + l2new_abab += einsum(x484, (0, 1, 2, 3), l3.babbab, (4, 5, 3, 1, 6, 2), (5, 4, 6, 0)) * 2.0 + del x484 + x485 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x485 += einsum(t1.aa, (0, 1), x8, (2, 3, 0, 4), (2, 3, 4, 1)) + del x8 + x486 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x486 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) + x486 += einsum(x15, (0, 1, 2, 3), (0, 1, 2, 3)) + x486 += einsum(x16, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x486 += einsum(x17, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x17 + x486 += einsum(x485, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x485 + l2new_abab += einsum(x486, (0, 1, 2, 3), x91, (4, 0, 2, 5, 6, 3), (6, 1, 5, 4)) * 2.0 + x487 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x487 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + x487 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x487 += einsum(t1.aa, (0, 1), v.aaaa.ooov, (2, 3, 0, 4), (2, 3, 1, 4)) + x487 += einsum(x232, (0, 1, 2, 3), (0, 1, 2, 3)) + x487 += einsum(x234, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x234 + l2new_abab += einsum(x487, (0, 1, 2, 3), x61, (4, 5, 0, 6, 1, 2), (3, 5, 6, 4)) * -2.0 + del x487 + x488 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x488 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + x488 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x488 += einsum(t1.bb, (0, 1), v.bbbb.ooov, (2, 3, 0, 4), (2, 3, 1, 4)) + x488 += einsum(x9, (0, 1, 2, 3), (0, 1, 2, 3)) + x488 += einsum(x11, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + l2new_abab += einsum(x488, (0, 1, 2, 3), x74, (0, 4, 1, 2, 5, 6), (6, 3, 5, 4)) * -2.0 + del x488 + x489 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x489 += einsum(t1.bb, (0, 1), x12, (2, 1, 3, 4), (0, 2, 3, 4)) + x490 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x490 += einsum(t1.bb, (0, 1), x3, (2, 3, 0, 4), (2, 3, 1, 4)) + x490 += einsum(x489, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + l2new_abab += einsum(x490, (0, 1, 2, 3), x74, (0, 4, 1, 2, 5, 6), (6, 3, 5, 4)) * 2.0 + del x490 + x491 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x491 += einsum(x271, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5000000000000198 + del x271 + x491 += einsum(x272, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5000000000000198 + del x272 + x491 += einsum(x273, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.7499999999999999 + del x273 + x491 += einsum(x274, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5000000000000198 + del x274 + x491 += einsum(x275, (0, 1, 2, 3), (0, 1, 2, 3)) + del x275 + x491 += einsum(x276, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5000000000000198 + del x276 + x491 += einsum(x277, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.7499999999999999 + del x277 + x491 += einsum(t1.bb, (0, 1), x106, (0, 2, 3, 4), (2, 1, 3, 4)) * -0.5000000000000198 + l2new_abab += einsum(x10, (0, 1, 2, 3), x491, (0, 2, 4, 5), (5, 3, 4, 1)) * -3.999999999999842 + del x491 + x492 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x492 += einsum(v.aabb.oovv, (0, 1, 2, 3), (2, 3, 0, 1)) + x492 += einsum(x247, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + l2new_abab += einsum(x492, (0, 1, 2, 3), x61, (4, 0, 2, 5, 3, 6), (6, 1, 5, 4)) * 2.0 + x493 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x493 += einsum(l2.aaaa, (0, 1, 2, 3), (2, 3, 0, 1)) + x493 += einsum(x282, (0, 1, 2, 3), (1, 0, 3, 2)) * 0.5 + del x282 + x493 += einsum(x283, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 + del x283 + x493 += einsum(x284, (0, 1, 2, 3), (1, 0, 3, 2)) * 0.49999999999998 + del x284 + x493 += einsum(x285, (0, 1, 2, 3), (1, 0, 3, 2)) * 1.999999999999921 + del x285 + x493 += einsum(x286, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x286 + x493 += einsum(x287, (0, 1, 2, 3), (1, 0, 3, 2)) * 4.4999999999998215 + del x287 + x493 += einsum(x288, (0, 1, 2, 3), (1, 0, 3, 2)) * -3.0 + del x288 + x493 += einsum(t1.aa, (0, 1), x333, (0, 2, 3, 4), (3, 2, 1, 4)) + del x333 + l2new_abab += einsum(v.aabb.ovov, (0, 1, 2, 3), x493, (0, 4, 1, 5), (5, 3, 4, 2)) * 2.0 + del x493 + x494 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x494 += einsum(x64, (0, 1, 2, 3), (0, 1, 2, 3)) + del x64 + x494 += einsum(x65, (0, 1, 2, 3), (0, 1, 2, 3)) + del x65 + x495 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x495 += einsum(t1.aa, (0, 1), x494, (2, 3, 0, 4), (2, 3, 4, 1)) * 2.0 + x496 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x496 += einsum(l2.abab, (0, 1, 2, 3), (3, 1, 2, 0)) + x496 += einsum(x54, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x496 += einsum(x55, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x496 += einsum(x56, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.999999999999881 + x496 += einsum(x57, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.999999999999842 + x496 += einsum(x59, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 + x496 += einsum(x60, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.999999999999881 + x496 += einsum(x62, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 + x496 += einsum(x495, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x495 + l2new_abab += einsum(v.aaaa.ovov, (0, 1, 2, 3), x496, (4, 5, 2, 3), (1, 5, 0, 4)) + x497 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x497 += einsum(l2.bbbb, (0, 1, 2, 3), (2, 3, 0, 1)) * 2.0 + x497 += einsum(x81, (0, 1, 2, 3), (1, 0, 3, 2)) * 4.0 + x497 += einsum(x82, (0, 1, 2, 3), (1, 0, 3, 2)) + x497 += einsum(x83, (0, 1, 2, 3), (1, 0, 3, 2)) * 8.999999999999643 + x497 += einsum(x73, (0, 1, 2, 3), (1, 0, 3, 2)) * -6.0 + x497 += einsum(x84, (0, 1, 2, 3), (1, 0, 3, 2)) * 3.999999999999842 + x497 += einsum(x75, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 + x497 += einsum(x85, (0, 1, 2, 3), (1, 0, 3, 2)) * 0.99999999999996 + x497 += einsum(t1.bb, (0, 1), x157, (0, 2, 3, 4), (3, 2, 1, 4)) * 6.0 + l2new_abab += einsum(v.aabb.ovov, (0, 1, 2, 3), x497, (2, 4, 3, 5), (1, 5, 0, 4)) + del x497 + x498 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x498 += einsum(x54, (0, 1, 2, 3), (0, 1, 2, 3)) + del x54 + x498 += einsum(x55, (0, 1, 2, 3), (0, 1, 2, 3)) + del x55 + x498 += einsum(x56, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.4999999999999405 + del x56 + x498 += einsum(x57, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.999999999999921 + del x57 + x498 += einsum(x59, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x59 + x498 += einsum(x60, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.4999999999999405 + del x60 + x498 += einsum(x62, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x62 + x498 += einsum(t1.aa, (0, 1), x494, (2, 3, 0, 4), (2, 3, 4, 1)) * -1.0 + l2new_abab += einsum(v.aaaa.ovov, (0, 1, 2, 3), x498, (4, 5, 2, 1), (3, 5, 0, 4)) * -2.0 + del x498 + x499 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x499 += einsum(x0, (0, 1, 2, 3), (0, 2, 1, 3)) * -3.0 + x499 += einsum(x116, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + l2new_abab += einsum(v.aabb.ovvv, (0, 1, 2, 3), x499, (4, 5, 2, 3), (1, 5, 0, 4)) * 2.0 + x500 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x500 += einsum(x291, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 + del x291 + x500 += einsum(x292, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.99999999999996 + del x292 + x500 += einsum(x293, (0, 1, 2, 3), (0, 1, 2, 3)) + del x293 + x500 += einsum(x294, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.99999999999996 + del x294 + x500 += einsum(x295, (0, 1, 2, 3), (0, 1, 2, 3)) + del x295 + x500 += einsum(t1.bb, (0, 1), x494, (0, 2, 3, 4), (2, 1, 3, 4)) + del x494 + l2new_abab += einsum(v.aabb.ovov, (0, 1, 2, 3), x500, (4, 3, 5, 0), (1, 4, 5, 2)) * 2.0 + del x500 + x501 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + x501 += einsum(x87, (0, 1, 2, 3), (0, 1, 2, 3)) + del x87 + x501 += einsum(x88, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.99999999999992 + del x88 + x501 += einsum(x89, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + del x89 + x501 += einsum(x90, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.99999999999992 + del x90 + x501 += einsum(x92, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + del x92 + x501 += einsum(t1.aa, (0, 1), x106, (2, 3, 0, 4), (2, 3, 4, 1)) * 2.0 + del x106 + l2new_abab += einsum(v.aabb.ovov, (0, 1, 2, 3), x501, (4, 2, 5, 1), (5, 3, 0, 4)) + del x501 + x502 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x502 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) + x502 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x502 += einsum(x489, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x489 + l2new_abab += einsum(l2.abab, (0, 1, 2, 3), x502, (3, 4, 1, 5), (0, 5, 2, 4)) * -1.0 + del x502 + x503 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x503 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) + x503 += einsum(x445, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x445 + l2new_abab += einsum(l2.abab, (0, 1, 2, 3), x503, (2, 4, 0, 5), (5, 1, 4, 3)) * -1.0 + del x503 + x504 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x504 += einsum(v.aabb.oovv, (0, 1, 2, 3), (2, 3, 0, 1)) + x504 += einsum(x246, (0, 1, 2, 3), (1, 0, 2, 3)) + l2new_abab += einsum(l2.abab, (0, 1, 2, 3), x504, (1, 4, 2, 5), (0, 4, 5, 3)) * -1.0 + del x504 + x505 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + x505 += einsum(v.aabb.vvoo, (0, 1, 2, 3), (2, 3, 0, 1)) + x505 += einsum(x22, (0, 1, 2, 3), (0, 1, 3, 2)) + l2new_abab += einsum(l2.abab, (0, 1, 2, 3), x505, (3, 4, 0, 5), (5, 1, 2, 4)) * -1.0 + del x505 + x506 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) + x506 += einsum(v.aabb.oooo, (0, 1, 2, 3), (2, 3, 0, 1)) + x506 += einsum(x29, (0, 1, 2, 3), (1, 0, 2, 3)) + del x29 + x506 += einsum(x30, (0, 1, 2, 3), (0, 1, 2, 3)) + del x30 + x506 += einsum(x249, (0, 1, 2, 3), (0, 1, 3, 2)) + del x249 + l2new_abab += einsum(l2.abab, (0, 1, 2, 3), x506, (3, 4, 2, 5), (0, 1, 5, 4)) + x507 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x507 += einsum(t1.aa, (0, 1), x235, (0, 2, 1, 3), (2, 3)) + del x235 + x508 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x508 += einsum(f.aa.vv, (0, 1), (0, 1)) * -1.0 + x508 += einsum(x351, (0, 1), (1, 0)) * -1.0 + del x351 + x508 += einsum(x451, (0, 1), (0, 1)) + del x451 + x508 += einsum(x452, (0, 1), (0, 1)) * 2.0 + del x452 + x508 += einsum(x507, (0, 1), (1, 0)) * -1.0 + del x507 + l2new_abab += einsum(x508, (0, 1), l2.abab, (0, 2, 3, 4), (1, 2, 3, 4)) * -1.0 + l3new_babbab += einsum(x508, (0, 1), l3.babbab, (2, 0, 3, 4, 5, 6), (2, 1, 3, 4, 5, 6)) * -2.0 + del x508 + x509 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x509 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (0, 4, 1, 3), (2, 4)) + x510 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x510 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 1, 4), (3, 4)) + x511 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x511 += einsum(t1.bb, (0, 1), x217, (0, 1, 2, 3), (2, 3)) + del x217 + x512 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x512 += einsum(f.bb.vv, (0, 1), (0, 1)) * -1.0 + x512 += einsum(x216, (0, 1), (1, 0)) * -1.0 + x512 += einsum(x509, (0, 1), (0, 1)) * 2.0 + x512 += einsum(x510, (0, 1), (0, 1)) + x512 += einsum(x511, (0, 1), (1, 0)) * -1.0 + del x511 + l2new_abab += einsum(x512, (0, 1), l2.abab, (2, 0, 3, 4), (2, 1, 3, 4)) * -1.0 + l3new_abaaba += einsum(x512, (0, 1), l3.abaaba, (2, 0, 3, 4, 5, 6), (2, 1, 3, 4, 5, 6)) * -2.0 + del x512 + x513 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x513 += einsum(x180, (0, 1), (0, 1)) * 1.00000000000004 + del x180 + x513 += einsum(x181, (0, 1), (0, 1)) * 2.00000000000008 + del x181 + x513 += einsum(x182, (0, 1), (0, 1)) + del x182 + x513 += einsum(x183, (0, 1), (0, 1)) * 1.9999999999999991 + del x183 + x513 += einsum(x184, (0, 1), (0, 1)) * 2.9999999999999982 + del x184 + l2new_abab += einsum(x513, (0, 1), v.aabb.ovov, (2, 1, 3, 4), (0, 4, 2, 3)) * -0.9999999999999601 + del x513 + x514 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x514 += einsum(x161, (0, 1), (0, 1)) * 2.0 + x514 += einsum(x162, (0, 1), (0, 1)) + x514 += einsum(x163, (0, 1), (0, 1)) * 2.9999999999998788 + x514 += einsum(x164, (0, 1), (0, 1)) * 1.9999999999999194 + x514 += einsum(x211, (0, 1), (0, 1)) * 0.9999999999999601 + l2new_abab += einsum(x514, (0, 1), v.aabb.ovov, (2, 3, 4, 1), (3, 0, 2, 4)) * -1.0 + del x514 + x515 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x515 += einsum(x230, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x515 += einsum(x230, (0, 1, 2, 3), (0, 2, 1, 3)) + l2new_abab += einsum(x515, (0, 1, 2, 3), x63, (4, 5, 0, 1), (3, 5, 2, 4)) * -1.0 + l3new_babbab += einsum(x515, (0, 1, 2, 3), x58, (4, 5, 6, 7, 0, 1), (6, 3, 7, 5, 2, 4)) * 2.0 + x516 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x516 += einsum(x3, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x516 += einsum(x3, (0, 1, 2, 3), (0, 2, 1, 3)) + l2new_abab += einsum(x516, (0, 1, 2, 3), x93, (0, 2, 4, 5), (5, 3, 4, 1)) + del x93 + l3new_abaaba += einsum(x516, (0, 1, 2, 3), x91, (0, 1, 4, 5, 6, 7), (6, 3, 7, 5, 2, 4)) * 2.0 + x517 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x517 += einsum(x199, (0, 1), (0, 1)) * 1.00000000000004 + del x199 + x517 += einsum(x200, (0, 1), (0, 1)) * 1.00000000000004 + del x200 + x517 += einsum(x201, (0, 1), (0, 1)) * 2.00000000000008 + del x201 + x517 += einsum(x202, (0, 1), (0, 1)) + del x202 + x517 += einsum(x203, (0, 1), (0, 1)) * 1.9999999999999991 + del x203 + x517 += einsum(x204, (0, 1), (0, 1)) * 2.9999999999999982 + del x204 + l2new_abab += einsum(x517, (0, 1), v.aabb.ovov, (1, 2, 3, 4), (2, 4, 0, 3)) * -0.9999999999999601 + del x517 + x518 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x518 += einsum(l1.bb, (0, 1), v.bbbb.ovvv, (2, 3, 4, 0), (1, 2, 3, 4)) + x519 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x519 += einsum(l2.abab, (0, 1, 2, 3), x15, (4, 5, 2, 0), (3, 4, 1, 5)) + x520 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x520 += einsum(x63, (0, 1, 2, 3), x7, (4, 5, 2, 3), (0, 4, 1, 5)) + del x63 + x521 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x521 += einsum(x499, (0, 1, 2, 3), x80, (4, 3, 1, 5), (4, 0, 5, 2)) * 2.0 + del x499 + x522 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x522 += einsum(t1.bb, (0, 1), x157, (2, 0, 3, 4), (2, 3, 1, 4)) * 3.0 + del x157 + x523 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x523 += einsum(x81, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + del x81 + x523 += einsum(x82, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 + del x82 + x523 += einsum(x83, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.4999999999998215 + del x83 + x523 += einsum(x73, (0, 1, 2, 3), (0, 1, 2, 3)) * -3.0 + del x73 + x523 += einsum(x84, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.999999999999921 + del x84 + x523 += einsum(x75, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x75 + x523 += einsum(x85, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.49999999999998 + del x85 + x523 += einsum(x522, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x522 + x524 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x524 += einsum(x10, (0, 1, 2, 3), x523, (4, 0, 5, 2), (1, 4, 3, 5)) * 2.0 + del x523 + x525 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x525 += einsum(v.aabb.ovov, (0, 1, 2, 3), x496, (4, 5, 0, 1), (2, 4, 3, 5)) + del x496 + x526 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x526 += einsum(v.aabb.vvov, (0, 1, 2, 3), x100, (4, 5, 0, 1), (2, 4, 3, 5)) * 2.0 + x527 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x527 += einsum(t1.bb, (0, 1), x80, (2, 1, 3, 4), (0, 2, 3, 4)) + del x80 + x528 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x528 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) + x528 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x528 += einsum(x527, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x527 + x529 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x529 += einsum(l2.bbbb, (0, 1, 2, 3), x528, (3, 4, 5, 1), (2, 4, 0, 5)) * 2.0 + del x528 + x530 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x530 += einsum(x1, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.3333333333333333 + x530 += einsum(x76, (0, 1, 2, 3), (0, 1, 2, 3)) + del x76 + x530 += einsum(x77, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.3333333333333333 + del x77 + x531 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x531 += einsum(x213, (0, 1, 2, 3), x530, (4, 0, 2, 5), (1, 4, 3, 5)) * 6.0 + del x530 + x532 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x532 += einsum(x161, (0, 1), (0, 1)) + del x161 + x532 += einsum(x162, (0, 1), (0, 1)) * 0.5 + del x162 + x532 += einsum(x163, (0, 1), (0, 1)) * 1.4999999999999394 + del x163 + x532 += einsum(x164, (0, 1), (0, 1)) * 0.9999999999999597 + del x164 + x532 += einsum(x211, (0, 1), (0, 1)) * 0.49999999999998007 + del x211 + x533 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x533 += einsum(x532, (0, 1), v.bbbb.ovov, (2, 1, 3, 4), (2, 3, 4, 0)) * 2.0 + del x532 + x534 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x534 += einsum(v.aabb.ooov, (0, 1, 2, 3), x101, (4, 5, 0, 1), (2, 4, 3, 5)) + del x101 + x535 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x535 += einsum(x1, (0, 1, 2, 3), x516, (0, 2, 4, 5), (1, 4, 3, 5)) * 2.0 + del x1 + x536 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x536 += einsum(x341, (0, 1), v.bbbb.ovov, (2, 3, 1, 4), (2, 0, 4, 3)) + del x341 + x537 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x537 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x537 += einsum(x3, (0, 1, 2, 3), (0, 1, 2, 3)) + x538 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x538 += einsum(l1.bb, (0, 1), x537, (1, 2, 3, 4), (2, 3, 0, 4)) + x539 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x539 += einsum(f.bb.ov, (0, 1), l1.bb, (2, 3), (0, 3, 1, 2)) + x539 += einsum(x518, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x518 + x539 += einsum(x519, (0, 1, 2, 3), (0, 1, 2, 3)) + del x519 + x539 += einsum(x520, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x520 + x539 += einsum(x521, (0, 1, 2, 3), (1, 0, 3, 2)) + del x521 + x539 += einsum(x524, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x524 + x539 += einsum(x525, (0, 1, 2, 3), (1, 0, 3, 2)) + del x525 + x539 += einsum(x526, (0, 1, 2, 3), (1, 0, 3, 2)) + del x526 + x539 += einsum(x529, (0, 1, 2, 3), (0, 1, 2, 3)) + del x529 + x539 += einsum(x531, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x531 + x539 += einsum(x533, (0, 1, 2, 3), (1, 0, 3, 2)) + del x533 + x539 += einsum(x534, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x534 + x539 += einsum(x535, (0, 1, 2, 3), (0, 1, 2, 3)) + del x535 + x539 += einsum(x536, (0, 1, 2, 3), (1, 0, 3, 2)) + del x536 + x539 += einsum(x538, (0, 1, 2, 3), (0, 1, 2, 3)) + del x538 + x539 += einsum(l1.bb, (0, 1), x227, (2, 3), (1, 2, 0, 3)) + l2new_bbbb += einsum(x539, (0, 1, 2, 3), (2, 3, 0, 1)) + l2new_bbbb += einsum(x539, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 + l2new_bbbb += einsum(x539, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 + l2new_bbbb += einsum(x539, (0, 1, 2, 3), (3, 2, 1, 0)) + del x539 + x540 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x540 += einsum(f.bb.ov, (0, 1), t1.bb, (2, 1), (0, 2)) + x541 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x541 += einsum(x540, (0, 1), l2.bbbb, (2, 3, 4, 1), (0, 4, 2, 3)) + x542 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x542 += einsum(l2.bbbb, (0, 1, 2, 3), x27, (3, 2, 4, 5), (4, 5, 0, 1)) * -1.0 + x543 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x543 += einsum(f.bb.ov, (0, 1), t2.bbbb, (2, 3, 4, 1), (0, 2, 3, 4)) + x544 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x544 += einsum(x543, (0, 1, 2, 3), l3.bbbbbb, (4, 5, 3, 6, 1, 2), (0, 6, 4, 5)) * -1.0 + del x543 + x545 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x545 += einsum(f.bb.ov, (0, 1), t2.abab, (2, 3, 4, 1), (0, 3, 2, 4)) + x546 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x546 += einsum(x545, (0, 1, 2, 3), l3.babbab, (4, 3, 5, 6, 2, 1), (0, 6, 4, 5)) + del x545 + x547 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x547 += einsum(x227, (0, 1), t2.abab, (2, 3, 4, 1), (3, 0, 2, 4)) + x548 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x548 += einsum(v.aabb.ovoo, (0, 1, 2, 3), (2, 3, 0, 1)) + x548 += einsum(x118, (0, 1, 2, 3), (1, 0, 2, 3)) + del x118 + x548 += einsum(x119, (0, 1, 2, 3), (0, 1, 2, 3)) + del x119 + x548 += einsum(x120, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.99999999999992 + del x120 + x548 += einsum(x121, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.999999999999921 + del x121 + x548 += einsum(x123, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x123 + x548 += einsum(x124, (0, 1, 2, 3), (1, 0, 2, 3)) + del x124 + x548 += einsum(x125, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x125 + x548 += einsum(x547, (0, 1, 2, 3), (0, 1, 2, 3)) + del x547 + x548 += einsum(x127, (0, 1, 2, 3), (0, 1, 2, 3)) + del x127 + x548 += einsum(x129, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x129 + x549 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x549 += einsum(x548, (0, 1, 2, 3), l3.babbab, (4, 3, 5, 6, 2, 0), (6, 1, 4, 5)) * -2.0 + del x548 + x550 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x550 += einsum(t2.abab, (0, 1, 2, 3), x39, (4, 5, 0, 2), (1, 4, 5, 3)) + del x39 + x551 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x551 += einsum(x227, (0, 1), t2.bbbb, (2, 3, 4, 1), (2, 3, 0, 4)) * -1.0 + x552 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x552 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + x552 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x552 += einsum(x152, (0, 1, 2, 3), (1, 0, 2, 3)) + del x152 + x553 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x553 += einsum(t1.bb, (0, 1), x552, (2, 3, 1, 4), (0, 2, 3, 4)) + del x552 + x554 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x554 += einsum(t1.bb, (0, 1), x48, (0, 2, 3, 4), (2, 3, 4, 1)) + del x48 + x555 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x555 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) + x555 += einsum(x146, (0, 1, 2, 3), (1, 0, 2, 3)) + del x146 + x555 += einsum(x147, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.999999999999881 + del x147 + x555 += einsum(x148, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.9999999999999606 + del x148 + x555 += einsum(x149, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x149 + x555 += einsum(x550, (0, 1, 2, 3), (0, 2, 1, 3)) + del x550 + x555 += einsum(x551, (0, 1, 2, 3), (1, 0, 2, 3)) + del x551 + x555 += einsum(x553, (0, 1, 2, 3), (2, 0, 1, 3)) + del x553 + x555 += einsum(x554, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + del x554 + x556 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x556 += einsum(x555, (0, 1, 2, 3), l3.bbbbbb, (4, 5, 3, 6, 0, 1), (6, 2, 4, 5)) * -6.0 + del x555 + x557 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x557 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) + x557 += einsum(x3, (0, 1, 2, 3), (0, 2, 1, 3)) + x558 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x558 += einsum(x136, (0, 1, 2, 3), x557, (0, 4, 5, 3), (4, 5, 1, 2)) * 6.0 + del x557 + x559 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x559 += einsum(t1.bb, (0, 1), x227, (2, 1), (0, 2)) + x560 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x560 += einsum(x219, (0, 1), (1, 0)) + x560 += einsum(x220, (0, 1), (0, 1)) * 2.0 + x560 += einsum(x221, (0, 1), (0, 1)) + x560 += einsum(x223, (0, 1), (1, 0)) * -1.0 + x560 += einsum(x559, (0, 1), (0, 1)) + del x559 + x561 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x561 += einsum(x560, (0, 1), l2.bbbb, (2, 3, 4, 0), (4, 1, 2, 3)) * -2.0 + x562 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x562 += einsum(x541, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 + del x541 + x562 += einsum(x542, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 + del x542 + x562 += einsum(x544, (0, 1, 2, 3), (0, 1, 3, 2)) * 6.0 + del x544 + x562 += einsum(x546, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 + del x546 + x562 += einsum(x549, (0, 1, 2, 3), (0, 1, 3, 2)) + del x549 + x562 += einsum(x556, (0, 1, 2, 3), (0, 1, 2, 3)) + del x556 + x562 += einsum(x558, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x558 + x562 += einsum(x561, (0, 1, 2, 3), (0, 1, 3, 2)) + del x561 + l2new_bbbb += einsum(x562, (0, 1, 2, 3), (3, 2, 0, 1)) + l2new_bbbb += einsum(x562, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 + del x562 + x563 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x563 += einsum(f.bb.vv, (0, 1), l2.bbbb, (2, 1, 3, 4), (3, 4, 0, 2)) + x564 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x564 += einsum(x246, (0, 1, 2, 3), x58, (4, 5, 6, 1, 2, 3), (4, 5, 6, 0)) + x565 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x565 += einsum(v.aabb.ovvv, (0, 1, 2, 3), (2, 3, 0, 1)) + x565 += einsum(x463, (0, 1, 2, 3), (1, 0, 2, 3)) + del x463 + x565 += einsum(x464, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x464 + x565 += einsum(x465, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 + del x465 + x565 += einsum(x466, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.99999999999992 + del x466 + x565 += einsum(x467, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.999999999999921 + del x467 + x565 += einsum(x468, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x468 + x565 += einsum(x469, (0, 1, 2, 3), (1, 0, 2, 3)) + del x469 + x566 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x566 += einsum(x565, (0, 1, 2, 3), l3.babbab, (4, 3, 1, 5, 2, 6), (5, 6, 4, 0)) * -2.0 + del x565 + x567 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x567 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) + x567 += einsum(x473, (0, 1, 2, 3), (0, 3, 2, 1)) * -1.0 + del x473 + x567 += einsum(x474, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x474 + x567 += einsum(x475, (0, 1, 2, 3), (0, 2, 1, 3)) * -2.999999999999881 + del x475 + x567 += einsum(x476, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.9999999999999606 + del x476 + x567 += einsum(x477, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x477 + x567 += einsum(x479, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + del x479 + x568 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x568 += einsum(x567, (0, 1, 2, 3), l3.bbbbbb, (4, 1, 2, 5, 6, 0), (5, 6, 4, 3)) * -6.0 + del x567 + x569 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x569 += einsum(x486, (0, 1, 2, 3), x74, (4, 5, 0, 6, 2, 3), (4, 5, 6, 1)) * 2.0 + del x486 + x570 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x570 += einsum(t1.bb, (0, 1), v.bbbb.ooov, (2, 0, 3, 4), (2, 3, 1, 4)) + x571 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x571 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + x571 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x571 += einsum(x570, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x570 + x571 += einsum(x9, (0, 1, 2, 3), (0, 1, 2, 3)) + x571 += einsum(x11, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x11 + x572 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x572 += einsum(x571, (0, 1, 2, 3), x72, (4, 5, 0, 1, 2, 6), (4, 5, 6, 3)) * 6.0 + del x571 + x573 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x573 += einsum(t1.bb, (0, 1), x3, (2, 0, 3, 4), (2, 3, 1, 4)) + x574 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x574 += einsum(x573, (0, 1, 2, 3), (0, 1, 2, 3)) + del x573 + x574 += einsum(x13, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + x575 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x575 += einsum(x574, (0, 1, 2, 3), x72, (4, 5, 0, 1, 2, 6), (4, 5, 6, 3)) * 6.0 + del x574 + x576 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x576 += einsum(x492, (0, 1, 2, 3), x58, (4, 5, 0, 6, 2, 3), (4, 5, 6, 1)) * 2.0 + del x492 + x577 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x577 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), x137, (4, 5, 0, 3), (4, 5, 1, 2)) * 2.0 + x578 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x578 += einsum(t1.bb, (0, 1), x12, (0, 2, 1, 3), (2, 3)) + del x12 + x579 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x579 += einsum(x216, (0, 1), (1, 0)) * -1.0 + del x216 + x579 += einsum(x509, (0, 1), (1, 0)) * 2.0 + del x509 + x579 += einsum(x510, (0, 1), (1, 0)) + del x510 + x579 += einsum(x578, (0, 1), (0, 1)) * -1.0 + del x578 + x580 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x580 += einsum(x579, (0, 1), l2.bbbb, (2, 1, 3, 4), (3, 4, 2, 0)) * -2.0 + x581 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x581 += einsum(v.bbbb.ovov, (0, 1, 2, 3), x158, (2, 4, 5, 0), (4, 5, 1, 3)) * 6.0 + del x158 + x582 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x582 += einsum(x227, (0, 1), x78, (2, 3, 0, 4), (2, 3, 4, 1)) * 2.0 + x583 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x583 += einsum(f.bb.ov, (0, 1), x78, (2, 3, 0, 4), (2, 3, 1, 4)) * 2.0 + x584 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x584 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x584 += einsum(x563, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 + del x563 + x584 += einsum(x564, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 + del x564 + x584 += einsum(x566, (0, 1, 2, 3), (1, 0, 3, 2)) + del x566 + x584 += einsum(x568, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x568 + x584 += einsum(x569, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x569 + x584 += einsum(x572, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x572 + x584 += einsum(x575, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x575 + x584 += einsum(x576, (0, 1, 2, 3), (0, 1, 3, 2)) + del x576 + x584 += einsum(x577, (0, 1, 2, 3), (0, 1, 3, 2)) + del x577 + x584 += einsum(x580, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x580 + x584 += einsum(x581, (0, 1, 2, 3), (0, 1, 2, 3)) + del x581 + x584 += einsum(x582, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x582 + x584 += einsum(x583, (0, 1, 2, 3), (1, 0, 3, 2)) + del x583 + l2new_bbbb += einsum(x584, (0, 1, 2, 3), (3, 2, 0, 1)) + l2new_bbbb += einsum(x584, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 + del x584 + x585 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x585 += einsum(f.bb.oo, (0, 1), l2.bbbb, (2, 3, 4, 1), (0, 4, 2, 3)) + l2new_bbbb += einsum(x585, (0, 1, 2, 3), (3, 2, 0, 1)) * -2.0 + l2new_bbbb += einsum(x585, (0, 1, 2, 3), (3, 2, 1, 0)) * 2.0 + del x585 + x586 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x586 += einsum(v.bbbb.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) + x586 += einsum(x25, (0, 1, 2, 3), (1, 3, 2, 0)) + x586 += einsum(x26, (0, 1, 2, 3), (0, 2, 3, 1)) + l2new_bbbb += einsum(l2.bbbb, (0, 1, 2, 3), x586, (3, 4, 5, 2), (0, 1, 5, 4)) * 2.0 + x587 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x587 += einsum(x141, (0, 1, 2, 3), (1, 0, 3, 2)) * -0.3333333333333468 + del x141 + x587 += einsum(x2, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.3333333333333468 + del x2 + x587 += einsum(x142, (0, 1, 2, 3), (0, 1, 3, 2)) + del x142 + l2new_bbbb += einsum(v.bbbb.ovov, (0, 1, 2, 3), x587, (4, 5, 2, 0), (1, 3, 5, 4)) * -5.9999999999997575 + del x587 + x588 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x588 += einsum(v.aabb.ovoo, (0, 1, 2, 3), x91, (2, 3, 4, 5, 6, 7), (4, 5, 0, 6, 7, 1)) + x589 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x589 += einsum(t2.aaaa, (0, 1, 2, 3), x233, (1, 4, 5, 3), (0, 4, 2, 5)) * 2.0000000000000204 + x590 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x590 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + x590 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x590 += einsum(x232, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.00000000000001 + x590 += einsum(x589, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x589 + x590 += einsum(x236, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + x591 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x591 += einsum(x590, (0, 1, 2, 3), l3.aaaaaa, (4, 5, 2, 6, 7, 0), (6, 7, 1, 4, 5, 3)) * 6.0 + del x590 + x592 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x592 += einsum(t2.abab, (0, 1, 2, 3), x240, (0, 4, 2, 5), (1, 3, 4, 5)) * 1.00000000000001 + x593 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x593 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) + x593 += einsum(x238, (0, 1, 2, 3), (0, 1, 2, 3)) + x593 += einsum(x592, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x594 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x594 += einsum(x593, (0, 1, 2, 3), l3.abaaba, (4, 1, 5, 6, 0, 7), (6, 7, 2, 4, 5, 3)) * 2.0 + del x593 + x595 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x595 += einsum(x515, (0, 1, 2, 3), x193, (4, 5, 0, 1, 6, 7), (4, 5, 2, 6, 7, 3)) * 6.0 + del x515 + x596 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x596 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) + x596 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x597 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x597 += einsum(x596, (0, 1, 2, 3), x193, (4, 5, 0, 1, 6, 7), (4, 5, 2, 6, 7, 3)) * 6.0 + del x596 + x598 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x598 += einsum(x588, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 2.0 + del x588 + x598 += einsum(x591, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x591 + x598 += einsum(x594, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) + del x594 + x598 += einsum(x595, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) + del x595 + x598 += einsum(x597, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) + del x597 + l3new_aaaaaa += einsum(x598, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 0, 2)) + l3new_aaaaaa += einsum(x598, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 0, 2)) * -1.0 + l3new_aaaaaa += einsum(x598, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) * -1.0 + l3new_aaaaaa += einsum(x598, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 2, 0)) * -1.0 + l3new_aaaaaa += einsum(x598, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) + l3new_aaaaaa += einsum(x598, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) + l3new_aaaaaa += einsum(x598, (0, 1, 2, 3, 4, 5), (4, 3, 5, 2, 1, 0)) + l3new_aaaaaa += einsum(x598, (0, 1, 2, 3, 4, 5), (4, 5, 3, 2, 1, 0)) * -1.0 + l3new_aaaaaa += einsum(x598, (0, 1, 2, 3, 4, 5), (5, 3, 4, 2, 1, 0)) * -1.0 + del x598 + x599 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x599 += einsum(l2.aaaa, (0, 1, 2, 3), x230, (3, 4, 5, 6), (2, 4, 5, 0, 1, 6)) + del x230 + l3new_aaaaaa += einsum(x599, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 1, 2)) * 2.0 + l3new_aaaaaa += einsum(x599, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 1, 2)) * 2.0 + l3new_aaaaaa += einsum(x599, (0, 1, 2, 3, 4, 5), (5, 4, 3, 0, 1, 2)) * -2.0 + l3new_aaaaaa += einsum(x599, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 2, 1)) * -2.0 + l3new_aaaaaa += einsum(x599, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) * -2.0 + l3new_aaaaaa += einsum(x599, (0, 1, 2, 3, 4, 5), (5, 4, 3, 0, 2, 1)) * 2.0 + l3new_aaaaaa += einsum(x599, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 0, 2)) * -2.0 + l3new_aaaaaa += einsum(x599, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 0, 2)) * -2.0 + l3new_aaaaaa += einsum(x599, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 0, 2)) * 2.0 + l3new_aaaaaa += einsum(x599, (0, 1, 2, 3, 4, 5), (3, 4, 5, 2, 0, 1)) * 2.0 + l3new_aaaaaa += einsum(x599, (0, 1, 2, 3, 4, 5), (4, 5, 3, 2, 0, 1)) * 2.0 + l3new_aaaaaa += einsum(x599, (0, 1, 2, 3, 4, 5), (5, 4, 3, 2, 0, 1)) * -2.0 + l3new_aaaaaa += einsum(x599, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 2, 0)) * 2.0 + l3new_aaaaaa += einsum(x599, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) * 2.0 + l3new_aaaaaa += einsum(x599, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 2, 0)) * -2.0 + l3new_aaaaaa += einsum(x599, (0, 1, 2, 3, 4, 5), (3, 4, 5, 2, 1, 0)) * -2.0 + l3new_aaaaaa += einsum(x599, (0, 1, 2, 3, 4, 5), (4, 5, 3, 2, 1, 0)) * -2.0 + l3new_aaaaaa += einsum(x599, (0, 1, 2, 3, 4, 5), (5, 4, 3, 2, 1, 0)) * 2.0 + del x599 + x600 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x600 += einsum(l2.aaaa, (0, 1, 2, 3), v.aaaa.ovvv, (4, 5, 6, 1), (2, 3, 4, 0, 5, 6)) + x601 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x601 += einsum(v.aaaa.ovov, (0, 1, 2, 3), x326, (4, 5, 2, 6), (4, 5, 0, 6, 3, 1)) * 6.0 + del x326 + x602 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x602 += einsum(x600, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 2.0 + del x600 + x602 += einsum(x601, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 + del x601 + l3new_aaaaaa += einsum(x602, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 0, 2)) + l3new_aaaaaa += einsum(x602, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 0, 2)) * -1.0 + l3new_aaaaaa += einsum(x602, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 0, 2)) * -1.0 + l3new_aaaaaa += einsum(x602, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) + l3new_aaaaaa += einsum(x602, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 0, 2)) + l3new_aaaaaa += einsum(x602, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 0, 2)) * -1.0 + l3new_aaaaaa += einsum(x602, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 2, 0)) * -1.0 + l3new_aaaaaa += einsum(x602, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 2, 0)) + l3new_aaaaaa += einsum(x602, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 2, 0)) + l3new_aaaaaa += einsum(x602, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) * -1.0 + l3new_aaaaaa += einsum(x602, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) * -1.0 + l3new_aaaaaa += einsum(x602, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 2, 0)) + l3new_aaaaaa += einsum(x602, (0, 1, 2, 3, 4, 5), (3, 4, 5, 2, 1, 0)) + l3new_aaaaaa += einsum(x602, (0, 1, 2, 3, 4, 5), (3, 5, 4, 2, 1, 0)) * -1.0 + l3new_aaaaaa += einsum(x602, (0, 1, 2, 3, 4, 5), (4, 3, 5, 2, 1, 0)) * -1.0 + l3new_aaaaaa += einsum(x602, (0, 1, 2, 3, 4, 5), (5, 3, 4, 2, 1, 0)) + l3new_aaaaaa += einsum(x602, (0, 1, 2, 3, 4, 5), (4, 5, 3, 2, 1, 0)) + l3new_aaaaaa += einsum(x602, (0, 1, 2, 3, 4, 5), (5, 4, 3, 2, 1, 0)) * -1.0 + del x602 + x603 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x603 += einsum(f.aa.vv, (0, 1), l3.aaaaaa, (2, 3, 1, 4, 5, 6), (4, 5, 6, 0, 2, 3)) + x604 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x604 += einsum(f.aa.ov, (0, 1), x193, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) + x605 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x605 += einsum(v.aaaa.vvvv, (0, 1, 2, 3), l3.aaaaaa, (4, 1, 3, 5, 6, 7), (5, 6, 7, 4, 0, 2)) + x606 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x606 += einsum(x603, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -6.0 + del x603 + x606 += einsum(x604, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 6.0 + del x604 + x606 += einsum(x605, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -6.0 + del x605 + l3new_aaaaaa += einsum(x606, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 2, 0)) + l3new_aaaaaa += einsum(x606, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) + l3new_aaaaaa += einsum(x606, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 2, 0)) * -1.0 + del x606 + x607 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x607 += einsum(x462, (0, 1, 2, 3), l3.aaaaaa, (4, 5, 6, 7, 0, 2), (7, 1, 3, 4, 5, 6)) * -6.0 + del x462 + x608 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x608 += einsum(f.aa.oo, (0, 1), (0, 1)) + x608 += einsum(x389, (0, 1), (1, 0)) + del x389 + x609 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x609 += einsum(x608, (0, 1), l3.aaaaaa, (2, 3, 4, 5, 6, 0), (5, 6, 1, 2, 3, 4)) * 6.0 + x610 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x610 += einsum(x607, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) + del x607 + x610 += einsum(x609, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * -1.0 + del x609 + l3new_aaaaaa += einsum(x610, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 1, 2)) + l3new_aaaaaa += einsum(x610, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 0, 2)) * -1.0 + l3new_aaaaaa += einsum(x610, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) + del x610 + x611 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x611 += einsum(t2.aaaa, (0, 1, 2, 3), l3.aaaaaa, (4, 2, 3, 5, 6, 7), (5, 6, 7, 0, 1, 4)) + x612 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x612 += einsum(x611, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 + del x611 + x612 += einsum(x325, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 + del x325 + x613 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x613 += einsum(v.aaaa.ovov, (0, 1, 2, 3), x612, (4, 5, 6, 0, 2, 7), (4, 5, 6, 7, 1, 3)) * 6.0 + del x612 + l3new_aaaaaa += einsum(x613, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 2, 0)) * -1.0 + l3new_aaaaaa += einsum(x613, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) + l3new_aaaaaa += einsum(x613, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 2, 0)) * -1.0 + del x613 + x614 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x614 += einsum(l2.aaaa, (0, 1, 2, 3), v.aaaa.ooov, (4, 3, 5, 6), (2, 4, 5, 0, 1, 6)) + x615 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x615 += einsum(v.aaaa.ovov, (0, 1, 2, 3), x410, (4, 5, 6, 1), (4, 0, 2, 5, 6, 3)) * 2.0 + x616 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x616 += einsum(x614, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -2.0 + del x614 + x616 += einsum(x615, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) + del x615 + l3new_aaaaaa += einsum(x616, (0, 1, 2, 3, 4, 5), (4, 3, 5, 0, 1, 2)) + l3new_aaaaaa += einsum(x616, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 1, 2)) * -1.0 + l3new_aaaaaa += einsum(x616, (0, 1, 2, 3, 4, 5), (5, 3, 4, 0, 1, 2)) * -1.0 + l3new_aaaaaa += einsum(x616, (0, 1, 2, 3, 4, 5), (4, 3, 5, 0, 2, 1)) * -1.0 + l3new_aaaaaa += einsum(x616, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) + l3new_aaaaaa += einsum(x616, (0, 1, 2, 3, 4, 5), (5, 3, 4, 0, 2, 1)) + l3new_aaaaaa += einsum(x616, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 0, 2)) * -1.0 + l3new_aaaaaa += einsum(x616, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 0, 2)) + l3new_aaaaaa += einsum(x616, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) + l3new_aaaaaa += einsum(x616, (0, 1, 2, 3, 4, 5), (4, 3, 5, 2, 0, 1)) + l3new_aaaaaa += einsum(x616, (0, 1, 2, 3, 4, 5), (4, 5, 3, 2, 0, 1)) * -1.0 + l3new_aaaaaa += einsum(x616, (0, 1, 2, 3, 4, 5), (5, 3, 4, 2, 0, 1)) * -1.0 + l3new_aaaaaa += einsum(x616, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 2, 0)) + l3new_aaaaaa += einsum(x616, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) * -1.0 + l3new_aaaaaa += einsum(x616, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) * -1.0 + l3new_aaaaaa += einsum(x616, (0, 1, 2, 3, 4, 5), (4, 3, 5, 2, 1, 0)) * -1.0 + l3new_aaaaaa += einsum(x616, (0, 1, 2, 3, 4, 5), (4, 5, 3, 2, 1, 0)) + l3new_aaaaaa += einsum(x616, (0, 1, 2, 3, 4, 5), (5, 3, 4, 2, 1, 0)) + del x616 + x617 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x617 += einsum(x454, (0, 1), l3.aaaaaa, (2, 3, 1, 4, 5, 6), (4, 5, 6, 2, 3, 0)) * 6.0 + x618 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x618 += einsum(x361, (0, 1), x193, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 6, 1)) * 6.0 + x619 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x619 += einsum(x617, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) + del x617 + x619 += einsum(x618, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 + del x618 + l3new_aaaaaa += einsum(x619, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 2, 0)) + l3new_aaaaaa += einsum(x619, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) * -1.0 + l3new_aaaaaa += einsum(x619, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) * -1.0 + del x619 + x620 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x620 += einsum(x413, (0, 1), l3.aaaaaa, (2, 3, 4, 5, 6, 0), (5, 6, 1, 2, 3, 4)) * 6.0 + l3new_aaaaaa += einsum(x620, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) + l3new_aaaaaa += einsum(x620, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) * -1.0 + l3new_aaaaaa += einsum(x620, (0, 1, 2, 3, 4, 5), (5, 3, 4, 2, 1, 0)) + del x620 + x621 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x621 += einsum(x253, (0, 1, 2, 3), l3.aaaaaa, (4, 5, 6, 7, 0, 1), (7, 2, 3, 4, 5, 6)) + l3new_aaaaaa += einsum(x621, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 1, 2)) * -6.0 + l3new_aaaaaa += einsum(x621, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 2, 1)) * 6.0 + l3new_aaaaaa += einsum(x621, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 0, 2)) * 6.0 + l3new_aaaaaa += einsum(x621, (0, 1, 2, 3, 4, 5), (3, 4, 5, 2, 0, 1)) * -6.0 + l3new_aaaaaa += einsum(x621, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 2, 0)) * -6.0 + l3new_aaaaaa += einsum(x621, (0, 1, 2, 3, 4, 5), (3, 4, 5, 2, 1, 0)) * 6.0 + del x621 + x622 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x622 += einsum(x239, (0, 1, 2, 3), l3.abaaba, (4, 1, 5, 6, 0, 7), (6, 7, 2, 4, 5, 3)) + x623 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x623 += einsum(x5, (0, 1, 2, 3), x91, (0, 1, 4, 5, 6, 7), (4, 5, 2, 6, 7, 3)) + x624 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x624 += einsum(x622, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 4.00000000000004 + del x622 + x624 += einsum(x623, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -2.0 + del x623 + l3new_aaaaaa += einsum(x624, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 0, 2)) * -1.0 + l3new_aaaaaa += einsum(x624, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 0, 2)) * -1.0 + l3new_aaaaaa += einsum(x624, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 0, 2)) + l3new_aaaaaa += einsum(x624, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 2, 0)) + l3new_aaaaaa += einsum(x624, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) + l3new_aaaaaa += einsum(x624, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 2, 0)) * -1.0 + l3new_aaaaaa += einsum(x624, (0, 1, 2, 3, 4, 5), (3, 4, 5, 2, 1, 0)) * -1.0 + l3new_aaaaaa += einsum(x624, (0, 1, 2, 3, 4, 5), (4, 5, 3, 2, 1, 0)) * -1.0 + l3new_aaaaaa += einsum(x624, (0, 1, 2, 3, 4, 5), (5, 4, 3, 2, 1, 0)) + del x624 + x625 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x625 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), x193, (4, 5, 6, 0, 7, 3), (4, 5, 6, 7, 1, 2)) * -1.0 + del x193 + l3new_aaaaaa += einsum(x625, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 2, 0)) * -6.0 + l3new_aaaaaa += einsum(x625, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 2, 0)) * 6.0 + l3new_aaaaaa += einsum(x625, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 2, 0)) * 6.0 + l3new_aaaaaa += einsum(x625, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) * -6.0 + l3new_aaaaaa += einsum(x625, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) * -6.0 + l3new_aaaaaa += einsum(x625, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 2, 0)) * 6.0 + del x625 + x626 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x626 += einsum(l2.bbbb, (0, 1, 2, 3), v.aabb.ovoo, (4, 5, 6, 3), (2, 6, 0, 1, 4, 5)) + x627 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x627 += einsum(v.aabb.ovov, (0, 1, 2, 3), x116, (4, 5, 6, 3), (4, 2, 5, 6, 0, 1)) + del x116 + x628 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + x628 += einsum(v.aabb.vvoo, (0, 1, 2, 3), (2, 3, 0, 1)) + x628 += einsum(x22, (0, 1, 2, 3), (0, 1, 3, 2)) + x628 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.00000000000001 + x629 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x629 += einsum(x628, (0, 1, 2, 3), l3.babbab, (4, 2, 5, 6, 7, 0), (6, 1, 4, 5, 7, 3)) * -2.0 + del x628 + x630 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x630 += einsum(x506, (0, 1, 2, 3), l3.babbab, (4, 5, 6, 7, 2, 0), (7, 1, 4, 6, 3, 5)) * -2.0 + x631 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x631 += einsum(x6, (0, 1, 2, 3), x58, (4, 0, 5, 6, 7, 2), (4, 1, 5, 6, 7, 3)) * 2.0 + x632 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x632 += einsum(t1.bb, (0, 1), x19, (2, 1), (0, 2)) + del x19 + x633 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x633 += einsum(x219, (0, 1), (1, 0)) + del x219 + x633 += einsum(x221, (0, 1), (0, 1)) + del x221 + x633 += einsum(x632, (0, 1), (0, 1)) + del x632 + x633 += einsum(x223, (0, 1), (1, 0)) * -1.0 + del x223 + x634 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x634 += einsum(x633, (0, 1), l3.babbab, (2, 3, 4, 5, 6, 0), (5, 1, 2, 4, 6, 3)) * -2.0 + del x633 + x635 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x635 += einsum(f.bb.oo, (0, 1), (0, 1)) + x635 += einsum(x540, (0, 1), (1, 0)) + del x540 + x636 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x636 += einsum(x635, (0, 1), l3.babbab, (2, 3, 4, 5, 6, 0), (5, 1, 2, 4, 6, 3)) * -2.0 + x637 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x637 += einsum(x626, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * 2.0 + del x626 + x637 += einsum(x627, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * 2.0 + del x627 + x637 += einsum(x629, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 + del x629 + x637 += einsum(x630, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) + del x630 + x637 += einsum(x631, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 + del x631 + x637 += einsum(x634, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 + del x634 + x637 += einsum(x636, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) + del x636 + l3new_babbab += einsum(x637, (0, 1, 2, 3, 4, 5), (3, 5, 2, 0, 4, 1)) * -1.0 + l3new_babbab += einsum(x637, (0, 1, 2, 3, 4, 5), (3, 5, 2, 1, 4, 0)) + del x637 + x638 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x638 += einsum(l2.abab, (0, 1, 2, 3), v.bbbb.ovvv, (4, 5, 6, 1), (3, 4, 5, 6, 2, 0)) + x639 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x639 += einsum(l2.abab, (0, 1, 2, 3), v.aabb.vvov, (4, 0, 5, 6), (3, 5, 1, 6, 2, 4)) + x640 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x640 += einsum(v.aabb.ooov, (0, 1, 2, 3), x61, (4, 5, 6, 0, 1, 7), (4, 2, 5, 3, 6, 7)) + x641 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x641 += einsum(x7, (0, 1, 2, 3), x61, (4, 5, 2, 6, 3, 7), (4, 0, 5, 1, 6, 7)) * -1.0 + x642 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x642 += einsum(t2.bbbb, (0, 1, 2, 3), x10, (1, 4, 3, 5), (0, 4, 2, 5)) * 2.00000000000002 + x643 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x643 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + x643 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x643 += einsum(x9, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.00000000000001 + x643 += einsum(x642, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x642 + x643 += einsum(x13, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + l3new_abaaba += einsum(x643, (0, 1, 2, 3), l3.abaaba, (4, 2, 5, 6, 0, 7), (4, 3, 5, 6, 1, 7)) * 2.0 + x644 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x644 += einsum(x643, (0, 1, 2, 3), l3.babbab, (4, 5, 2, 6, 7, 0), (6, 1, 4, 3, 7, 5)) * 2.0 + del x643 + x645 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x645 += einsum(t2.abab, (0, 1, 2, 3), x10, (1, 4, 3, 5), (4, 5, 0, 2)) * 1.00000000000001 + x646 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x646 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) + x646 += einsum(x15, (0, 1, 2, 3), (0, 1, 2, 3)) + x646 += einsum(x16, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.00000000000002 + x646 += einsum(x645, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x647 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x647 += einsum(x646, (0, 1, 2, 3), l3.abaaba, (4, 5, 3, 6, 7, 2), (7, 0, 5, 1, 6, 4)) * 2.0 + x648 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x648 += einsum(x516, (0, 1, 2, 3), x74, (4, 0, 1, 5, 6, 7), (4, 2, 5, 3, 6, 7)) * 2.0 + del x516 + x649 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x649 += einsum(x213, (0, 1, 2, 3), x74, (4, 0, 2, 5, 6, 7), (4, 1, 5, 3, 6, 7)) * 2.0 + del x213 + x650 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x650 += einsum(v.bbbb.ovov, (0, 1, 2, 3), x297, (4, 1, 5, 6), (0, 2, 3, 4, 5, 6)) * 2.0 + x651 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x651 += einsum(v.aabb.ovov, (0, 1, 2, 3), x100, (4, 5, 6, 1), (2, 4, 3, 5, 0, 6)) * 2.0 + x652 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x652 += einsum(v.bbbb.ovov, (0, 1, 2, 3), x96, (4, 2, 5, 6), (0, 4, 3, 1, 5, 6)) + del x96 + x653 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x653 += einsum(v.aabb.ovov, (0, 1, 2, 3), x66, (4, 5, 6, 0), (2, 4, 3, 5, 6, 1)) * 2.0 + x654 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x654 += einsum(l2.abab, (0, 1, 2, 3), x537, (3, 4, 5, 6), (4, 5, 1, 6, 2, 0)) + del x537 + x655 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x655 += einsum(l2.abab, (0, 1, 2, 3), x31, (4, 5, 2, 6), (3, 4, 1, 5, 6, 0)) + x656 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x656 += einsum(l1.bb, (0, 1), v.aabb.ovov, (2, 3, 4, 5), (1, 4, 0, 5, 2, 3)) + x656 += einsum(x638, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 + del x638 + x656 += einsum(x639, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x639 + x656 += einsum(x640, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -2.0 + del x640 + x656 += einsum(x641, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -2.0 + del x641 + x656 += einsum(x644, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x644 + x656 += einsum(x647, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x647 + x656 += einsum(x648, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 + del x648 + x656 += einsum(x649, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 + del x649 + x656 += einsum(x650, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) + del x650 + x656 += einsum(x651, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) * -1.0 + del x651 + x656 += einsum(x652, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) + del x652 + x656 += einsum(x653, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) * -1.0 + del x653 + x656 += einsum(x654, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x654 + x656 += einsum(x655, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 + del x655 + l3new_babbab += einsum(x656, (0, 1, 2, 3, 4, 5), (2, 5, 3, 0, 4, 1)) + l3new_babbab += einsum(x656, (0, 1, 2, 3, 4, 5), (3, 5, 2, 0, 4, 1)) * -1.0 + l3new_babbab += einsum(x656, (0, 1, 2, 3, 4, 5), (2, 5, 3, 1, 4, 0)) * -1.0 + l3new_babbab += einsum(x656, (0, 1, 2, 3, 4, 5), (3, 5, 2, 1, 4, 0)) + del x656 + x657 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x657 += einsum(l2.bbbb, (0, 1, 2, 3), v.aabb.ovvv, (4, 5, 6, 1), (2, 3, 0, 6, 4, 5)) + x658 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x658 += einsum(f.bb.vv, (0, 1), l3.babbab, (2, 3, 1, 4, 5, 6), (4, 6, 0, 2, 5, 3)) + x659 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x659 += einsum(f.bb.ov, (0, 1), x74, (2, 3, 0, 4, 5, 6), (2, 3, 1, 4, 5, 6)) + x660 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x660 += einsum(v.aabb.vvvv, (0, 1, 2, 3), l3.babbab, (4, 1, 3, 5, 6, 7), (5, 7, 4, 2, 6, 0)) + x661 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x661 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), x74, (4, 5, 0, 3, 6, 7), (4, 5, 1, 2, 6, 7)) * -1.0 + x662 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x662 += einsum(v.aabb.vvov, (0, 1, 2, 3), x74, (4, 5, 2, 6, 7, 1), (4, 5, 6, 3, 7, 0)) + x663 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x663 += einsum(v.aabb.ovvv, (0, 1, 2, 3), x58, (4, 5, 6, 3, 7, 0), (4, 5, 6, 2, 7, 1)) + x664 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x664 += einsum(v.aabb.oovv, (0, 1, 2, 3), (2, 3, 0, 1)) * 0.99999999999999 + x664 += einsum(x246, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.99999999999999 + del x246 + x664 += einsum(x247, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x247 + x665 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x665 += einsum(x664, (0, 1, 2, 3), l3.babbab, (4, 5, 0, 6, 2, 7), (6, 7, 4, 1, 3, 5)) * -2.00000000000002 + x666 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x666 += einsum(x579, (0, 1), l3.babbab, (2, 3, 1, 4, 5, 6), (4, 6, 2, 0, 5, 3)) * -2.0 + x667 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x667 += einsum(x31, (0, 1, 2, 3), x74, (4, 5, 0, 6, 2, 7), (4, 5, 6, 1, 3, 7)) * 2.0 + x668 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x668 += einsum(t2.abab, (0, 1, 2, 3), l3.babbab, (4, 2, 3, 5, 6, 7), (5, 7, 1, 4, 6, 0)) + x669 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x669 += einsum(x668, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x668 + x669 += einsum(x98, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x98 + x670 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x670 += einsum(v.aabb.ovov, (0, 1, 2, 3), x669, (4, 5, 2, 6, 7, 0), (4, 5, 3, 6, 7, 1)) * 2.0 + del x669 + x671 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x671 += einsum(x227, (0, 1), x74, (2, 3, 0, 4, 5, 6), (2, 3, 4, 1, 5, 6)) * 2.0 + x672 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x672 += einsum(v.aabb.ovov, (0, 1, 2, 3), x78, (4, 5, 2, 6), (4, 5, 3, 6, 0, 1)) * 2.0 + del x78 + x673 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x673 += einsum(l1.aa, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (2, 4, 3, 5, 1, 0)) * -1.0 + x673 += einsum(x657, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * 2.0 + del x657 + x673 += einsum(x658, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -2.0 + del x658 + x673 += einsum(x659, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * 2.0 + del x659 + x673 += einsum(x660, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * 2.0 + del x660 + x673 += einsum(x661, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -2.0 + del x661 + x673 += einsum(x662, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -2.0 + del x662 + x673 += einsum(x663, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -2.0 + del x663 + x673 += einsum(x665, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) * -1.0 + del x665 + x673 += einsum(x666, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) * -1.0 + del x666 + x673 += einsum(x667, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) + del x667 + x673 += einsum(x670, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x670 + x673 += einsum(x671, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 + del x671 + x673 += einsum(x672, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * -1.0 + del x672 + l3new_babbab += einsum(x673, (0, 1, 2, 3, 4, 5), (3, 5, 2, 0, 4, 1)) + l3new_babbab += einsum(x673, (0, 1, 2, 3, 4, 5), (2, 5, 3, 0, 4, 1)) * -1.0 + del x673 + x674 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x674 += einsum(l2.bbbb, (0, 1, 2, 3), x5, (3, 4, 5, 6), (2, 4, 0, 1, 5, 6)) + x675 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x675 += einsum(v.aabb.ovov, (0, 1, 2, 3), x0, (4, 5, 6, 3), (4, 2, 5, 6, 0, 1)) * -1.0 + del x0 + x676 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x676 += einsum(t1.bb, (0, 1), x20, (2, 1), (0, 2)) * -1.0 + del x20 + x677 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x677 += einsum(x220, (0, 1), (0, 1)) * 2.0 + del x220 + x677 += einsum(x676, (0, 1), (0, 1)) + del x676 + x678 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x678 += einsum(x677, (0, 1), l3.babbab, (2, 3, 4, 5, 6, 0), (5, 1, 2, 4, 6, 3)) * -2.0 + del x677 + x679 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x679 += einsum(x674, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 2.0 + del x674 + x679 += einsum(x675, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * 6.0 + del x675 + x679 += einsum(x678, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) + del x678 + l3new_babbab += einsum(x679, (0, 1, 2, 3, 4, 5), (3, 5, 2, 0, 4, 1)) + l3new_babbab += einsum(x679, (0, 1, 2, 3, 4, 5), (3, 5, 2, 1, 4, 0)) * -1.0 + del x679 + x680 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x680 += einsum(t2.aaaa, (0, 1, 2, 3), x233, (1, 4, 5, 3), (0, 4, 2, 5)) * 2.00000000000002 + del x233 + x681 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x681 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + x681 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x681 += einsum(x232, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.00000000000001 + del x232 + x681 += einsum(x680, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x680 + x681 += einsum(x236, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x236 + l3new_babbab += einsum(x681, (0, 1, 2, 3), l3.babbab, (4, 2, 5, 6, 0, 7), (4, 3, 5, 6, 1, 7)) * 2.0 + x682 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x682 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) * 0.4999999999999949 + x682 += einsum(x238, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.4999999999999949 + x682 += einsum(x239, (0, 1, 2, 3), (0, 1, 2, 3)) + x682 += einsum(t2.abab, (0, 1, 2, 3), x240, (0, 4, 2, 5), (1, 3, 4, 5)) * -0.49999999999999983 + del x240 + l3new_babbab += einsum(x682, (0, 1, 2, 3), l3.bbbbbb, (4, 5, 1, 6, 7, 0), (4, 3, 5, 6, 2, 7)) * 12.000000000000123 + del x682 + x683 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x683 += einsum(v.bbbb.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) + x683 += einsum(x25, (0, 1, 2, 3), (1, 3, 0, 2)) + del x25 + x683 += einsum(x26, (0, 1, 2, 3), (0, 2, 1, 3)) + del x26 + x683 += einsum(x27, (0, 1, 2, 3), (2, 1, 0, 3)) + x683 += einsum(x27, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 + l3new_babbab += einsum(x683, (0, 1, 2, 3), l3.babbab, (4, 5, 6, 2, 7, 0), (4, 5, 6, 1, 7, 3)) * -2.0 + del x683 + x684 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x684 += einsum(t2.bbbb, (0, 1, 2, 3), l3.babbab, (2, 4, 3, 5, 6, 7), (5, 7, 0, 1, 6, 4)) + x684 += einsum(x134, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 + del x134 + l3new_babbab += einsum(v.bbbb.ovov, (0, 1, 2, 3), x684, (4, 5, 2, 0, 6, 7), (1, 7, 3, 5, 6, 4)) * 2.0 + del x684 + x685 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x685 += einsum(l2.aaaa, (0, 1, 2, 3), v.aabb.vvov, (4, 1, 5, 6), (5, 6, 2, 3, 0, 4)) + x686 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x686 += einsum(f.aa.vv, (0, 1), l3.abaaba, (2, 3, 1, 4, 5, 6), (5, 3, 4, 6, 0, 2)) + x687 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x687 += einsum(f.aa.ov, (0, 1), x61, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) + x688 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x688 += einsum(v.aabb.vvvv, (0, 1, 2, 3), l3.abaaba, (4, 3, 1, 5, 6, 7), (6, 2, 5, 7, 4, 0)) + x689 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x689 += einsum(v.aabb.vvov, (0, 1, 2, 3), x91, (4, 2, 5, 6, 7, 1), (4, 3, 5, 6, 7, 0)) + x690 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x690 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), x61, (4, 5, 6, 7, 0, 3), (4, 5, 6, 7, 1, 2)) * -1.0 + x691 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x691 += einsum(v.aabb.ovvv, (0, 1, 2, 3), x61, (4, 3, 5, 6, 0, 7), (4, 2, 5, 6, 7, 1)) + x692 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + x692 += einsum(v.aabb.vvoo, (0, 1, 2, 3), (2, 3, 0, 1)) * 0.99999999999999 + x692 += einsum(x22, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.99999999999999 + del x22 + x692 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x23 + x693 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x693 += einsum(x692, (0, 1, 2, 3), l3.abaaba, (4, 5, 2, 6, 0, 7), (1, 5, 6, 7, 4, 3)) * -2.00000000000002 + del x692 + x694 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x694 += einsum(x454, (0, 1), l3.abaaba, (2, 3, 1, 4, 5, 6), (5, 3, 4, 6, 2, 0)) * -2.0 + del x454 + x695 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x695 += einsum(x6, (0, 1, 2, 3), x61, (0, 4, 5, 6, 2, 7), (1, 4, 5, 6, 7, 3)) * 2.0 + x696 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x696 += einsum(t2.abab, (0, 1, 2, 3), l3.abaaba, (4, 3, 2, 5, 6, 7), (6, 1, 5, 7, 0, 4)) + x697 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x697 += einsum(x696, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 + del x696 + x697 += einsum(x99, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 + del x99 + x698 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x698 += einsum(v.aabb.ovov, (0, 1, 2, 3), x697, (4, 2, 5, 6, 0, 7), (4, 3, 5, 6, 1, 7)) * 2.0 + del x697 + x699 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x699 += einsum(x361, (0, 1), x61, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 6, 1)) * 2.0 + del x361 + x700 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x700 += einsum(v.aabb.ovov, (0, 1, 2, 3), x289, (4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) * 2.0 + del x289 + x701 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x701 += einsum(l1.bb, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 + x701 += einsum(x685, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -2.0 + del x685 + x701 += einsum(x686, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * 2.0 + del x686 + x701 += einsum(x687, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -2.0 + del x687 + x701 += einsum(x688, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -2.0 + del x688 + x701 += einsum(x689, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * 2.0 + del x689 + x701 += einsum(x690, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * 2.0 + del x690 + x701 += einsum(x691, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * 2.0 + del x691 + x701 += einsum(x693, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -1.0 + del x693 + x701 += einsum(x694, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -1.0 + del x694 + x701 += einsum(x695, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -1.0 + del x695 + x701 += einsum(x698, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 + del x698 + x701 += einsum(x699, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) + del x699 + x701 += einsum(x700, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 + del x700 + l3new_abaaba += einsum(x701, (0, 1, 2, 3, 4, 5), (5, 1, 4, 2, 0, 3)) + l3new_abaaba += einsum(x701, (0, 1, 2, 3, 4, 5), (4, 1, 5, 2, 0, 3)) * -1.0 + del x701 + x702 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x702 += einsum(l2.aaaa, (0, 1, 2, 3), v.aabb.ooov, (4, 3, 5, 6), (5, 6, 2, 4, 0, 1)) + x703 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x703 += einsum(x664, (0, 1, 2, 3), l3.abaaba, (4, 0, 5, 6, 7, 2), (7, 1, 6, 3, 4, 5)) * -2.00000000000002 + del x664 + x704 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x704 += einsum(x506, (0, 1, 2, 3), l3.abaaba, (4, 5, 6, 7, 0, 2), (1, 5, 7, 3, 4, 6)) * -2.0 + del x506 + x705 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x705 += einsum(x31, (0, 1, 2, 3), x91, (4, 0, 2, 5, 6, 7), (4, 1, 5, 3, 6, 7)) * 2.0 + del x31, x91 + x706 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x706 += einsum(x413, (0, 1), l3.abaaba, (2, 3, 4, 5, 6, 0), (6, 3, 5, 1, 2, 4)) * -2.0 + del x413 + x707 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x707 += einsum(v.aabb.ovov, (0, 1, 2, 3), x410, (4, 5, 6, 1), (2, 3, 0, 4, 5, 6)) * 2.0 + del x410 + x708 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x708 += einsum(x608, (0, 1), l3.abaaba, (2, 3, 4, 5, 6, 0), (6, 3, 5, 1, 2, 4)) * -2.0 + del x608 + x709 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x709 += einsum(x702, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 2.0 + del x702 + x709 += einsum(x703, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 + del x703 + x709 += einsum(x704, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) + del x704 + x709 += einsum(x705, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) + del x705 + x709 += einsum(x706, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 + del x706 + x709 += einsum(x707, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) + del x707 + x709 += einsum(x708, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) + del x708 + l3new_abaaba += einsum(x709, (0, 1, 2, 3, 4, 5), (5, 1, 4, 2, 0, 3)) * -1.0 + l3new_abaaba += einsum(x709, (0, 1, 2, 3, 4, 5), (5, 1, 4, 3, 0, 2)) + del x709 + x710 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x710 += einsum(l2.abab, (0, 1, 2, 3), v.aabb.ovvv, (4, 5, 6, 1), (3, 6, 2, 4, 0, 5)) + x711 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x711 += einsum(l2.abab, (0, 1, 2, 3), v.aaaa.ovvv, (4, 5, 6, 0), (3, 1, 2, 4, 5, 6)) + x712 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x712 += einsum(v.aabb.ovoo, (0, 1, 2, 3), x74, (4, 2, 3, 5, 6, 7), (4, 5, 6, 0, 7, 1)) + x713 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x713 += einsum(x5, (0, 1, 2, 3), x74, (0, 4, 1, 5, 6, 7), (4, 5, 6, 2, 7, 3)) * -1.0 + del x5, x74 + x714 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x714 += einsum(x681, (0, 1, 2, 3), l3.abaaba, (4, 5, 2, 6, 7, 0), (7, 5, 6, 1, 4, 3)) * 2.0 + del x681 + x715 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x715 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) + x715 += einsum(x238, (0, 1, 2, 3), (0, 1, 2, 3)) + del x238 + x715 += einsum(x239, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.00000000000002 + del x239 + x715 += einsum(x592, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x592 + x716 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x716 += einsum(x715, (0, 1, 2, 3), l3.babbab, (4, 5, 1, 6, 7, 0), (6, 4, 7, 2, 5, 3)) * 2.0 + del x715 + x717 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x717 += einsum(x382, (0, 1, 2, 3), x61, (4, 5, 0, 6, 2, 7), (4, 5, 6, 1, 7, 3)) * 2.0 + del x382 + x718 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x718 += einsum(x348, (0, 1, 2, 3), x61, (4, 5, 0, 6, 2, 7), (4, 5, 6, 1, 7, 3)) * 2.0 + del x61, x348 + x719 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x719 += einsum(v.aabb.ovov, (0, 1, 2, 3), x297, (4, 3, 5, 6), (2, 4, 0, 5, 1, 6)) * 2.0 + del x297 + x720 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x720 += einsum(v.aaaa.ovov, (0, 1, 2, 3), x100, (4, 5, 6, 1), (4, 5, 0, 2, 6, 3)) * 2.0 + del x100 + x721 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x721 += einsum(v.aabb.ovov, (0, 1, 2, 3), x139, (4, 2, 5, 6), (4, 3, 0, 5, 1, 6)) * 2.0 + del x139 + x722 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x722 += einsum(v.aaaa.ovov, (0, 1, 2, 3), x66, (4, 5, 6, 2), (4, 5, 6, 0, 3, 1)) * 2.0 + del x66 + x723 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x723 += einsum(l2.abab, (0, 1, 2, 3), x6, (3, 4, 5, 6), (4, 1, 2, 5, 0, 6)) + del x6 + x724 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x724 += einsum(l2.abab, (0, 1, 2, 3), x386, (2, 4, 5, 6), (3, 1, 4, 5, 0, 6)) + del x386 + x725 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x725 += einsum(l1.aa, (0, 1), v.aabb.ovov, (2, 3, 4, 5), (4, 5, 1, 2, 0, 3)) + x725 += einsum(x710, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x710 + x725 += einsum(x711, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 + del x711 + x725 += einsum(x712, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -2.0 + del x712 + x725 += einsum(x713, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -2.0 + del x713 + x725 += einsum(x714, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x714 + x725 += einsum(x716, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x716 + x725 += einsum(x717, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x717 + x725 += einsum(x718, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x718 + x725 += einsum(x719, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -1.0 + del x719 + x725 += einsum(x720, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) + del x720 + x725 += einsum(x721, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -1.0 + del x721 + x725 += einsum(x722, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) + del x722 + x725 += einsum(x723, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 + del x723 + x725 += einsum(x724, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x724 + l3new_abaaba += einsum(x725, (0, 1, 2, 3, 4, 5), (4, 1, 5, 2, 0, 3)) + l3new_abaaba += einsum(x725, (0, 1, 2, 3, 4, 5), (5, 1, 4, 2, 0, 3)) * -1.0 + l3new_abaaba += einsum(x725, (0, 1, 2, 3, 4, 5), (4, 1, 5, 3, 0, 2)) * -1.0 + l3new_abaaba += einsum(x725, (0, 1, 2, 3, 4, 5), (5, 1, 4, 3, 0, 2)) + del x725 + x726 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x726 += einsum(l2.aaaa, (0, 1, 2, 3), x7, (4, 5, 3, 6), (4, 5, 2, 6, 0, 1)) + l3new_abaaba += einsum(x726, (0, 1, 2, 3, 4, 5), (5, 1, 4, 2, 0, 3)) * 2.0 + l3new_abaaba += einsum(x726, (0, 1, 2, 3, 4, 5), (5, 1, 4, 3, 0, 2)) * -2.0 + del x726 + x727 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x727 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) + x727 += einsum(x15, (0, 1, 2, 3), (0, 1, 2, 3)) + del x15 + x727 += einsum(x16, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0000000000000204 + del x16 + x727 += einsum(x645, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x645 + l3new_abaaba += einsum(x727, (0, 1, 2, 3), l3.aaaaaa, (4, 5, 3, 6, 7, 2), (4, 1, 5, 6, 0, 7)) * 6.0 + del x727 + x728 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x728 += einsum(v.aaaa.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) + x728 += einsum(x251, (0, 1, 2, 3), (1, 3, 2, 0)) + del x251 + x728 += einsum(x252, (0, 1, 2, 3), (0, 2, 3, 1)) + del x252 + x728 += einsum(x253, (0, 1, 2, 3), (2, 1, 3, 0)) + x728 += einsum(x253, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 + del x253 + l3new_abaaba += einsum(x728, (0, 1, 2, 3), l3.abaaba, (4, 5, 6, 3, 7, 0), (4, 5, 6, 2, 7, 1)) * 2.0 + del x728 + x729 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x729 += einsum(t2.aaaa, (0, 1, 2, 3), l3.abaaba, (2, 4, 3, 5, 6, 7), (6, 4, 5, 7, 0, 1)) + x729 += einsum(x323, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) + del x323 + l3new_abaaba += einsum(v.aaaa.ovov, (0, 1, 2, 3), x729, (4, 5, 6, 7, 2, 0), (1, 5, 3, 7, 4, 6)) * 2.0 + del x729 + x730 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x730 += einsum(v.aabb.ooov, (0, 1, 2, 3), x58, (4, 5, 6, 7, 0, 1), (4, 5, 2, 6, 7, 3)) + x731 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x731 += einsum(x7, (0, 1, 2, 3), x58, (4, 5, 6, 7, 2, 3), (4, 5, 0, 6, 7, 1)) + del x7, x58 + x732 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x732 += einsum(t2.bbbb, (0, 1, 2, 3), x10, (1, 4, 3, 5), (0, 4, 2, 5)) * 2.0000000000000204 + del x10 + x733 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x733 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + x733 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x733 += einsum(x9, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.00000000000001 + del x9 + x733 += einsum(x732, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x732 + x733 += einsum(x13, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x13 + x734 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x734 += einsum(x733, (0, 1, 2, 3), l3.bbbbbb, (4, 5, 2, 6, 7, 0), (6, 7, 1, 4, 5, 3)) * 6.0 + del x733 + x735 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x735 += einsum(x646, (0, 1, 2, 3), l3.babbab, (4, 3, 5, 6, 2, 7), (6, 7, 0, 4, 5, 1)) * 2.0 + del x646 + x736 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x736 += einsum(x3, (0, 1, 2, 3), (0, 1, 2, 3)) + x736 += einsum(x3, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x737 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x737 += einsum(x736, (0, 1, 2, 3), x72, (4, 5, 0, 2, 6, 7), (4, 5, 1, 6, 7, 3)) * 6.0 + del x736 + x738 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x738 += einsum(x208, (0, 1, 2, 3), x72, (4, 5, 0, 1, 6, 7), (4, 5, 2, 6, 7, 3)) * 6.0 + del x208 + x739 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x739 += einsum(x730, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 2.0 + del x730 + x739 += einsum(x731, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 2.0 + del x731 + x739 += einsum(x734, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x734 + x739 += einsum(x735, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) + del x735 + x739 += einsum(x737, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) + del x737 + x739 += einsum(x738, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) + del x738 + l3new_bbbbbb += einsum(x739, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 0, 2)) + l3new_bbbbbb += einsum(x739, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 0, 2)) * -1.0 + l3new_bbbbbb += einsum(x739, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) * -1.0 + l3new_bbbbbb += einsum(x739, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 2, 0)) * -1.0 + l3new_bbbbbb += einsum(x739, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) + l3new_bbbbbb += einsum(x739, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) + l3new_bbbbbb += einsum(x739, (0, 1, 2, 3, 4, 5), (4, 3, 5, 2, 1, 0)) + l3new_bbbbbb += einsum(x739, (0, 1, 2, 3, 4, 5), (4, 5, 3, 2, 1, 0)) * -1.0 + l3new_bbbbbb += einsum(x739, (0, 1, 2, 3, 4, 5), (5, 3, 4, 2, 1, 0)) * -1.0 + del x739 + x740 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x740 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), x72, (4, 5, 6, 0, 7, 3), (4, 5, 6, 7, 1, 2)) * -1.0 + l3new_bbbbbb += einsum(x740, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 2, 0)) * -6.0 + l3new_bbbbbb += einsum(x740, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 2, 0)) * 6.0 + l3new_bbbbbb += einsum(x740, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 2, 0)) * 6.0 + l3new_bbbbbb += einsum(x740, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) * -6.0 + l3new_bbbbbb += einsum(x740, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) * -6.0 + l3new_bbbbbb += einsum(x740, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 2, 0)) * 6.0 + del x740 + x741 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x741 += einsum(x579, (0, 1), l3.bbbbbb, (2, 3, 1, 4, 5, 6), (4, 5, 6, 2, 3, 0)) * 6.0 + del x579 + x742 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x742 += einsum(x227, (0, 1), x72, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 6, 1)) * 6.0 + del x227 + x743 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x743 += einsum(x741, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) + del x741 + x743 += einsum(x742, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 + del x742 + l3new_bbbbbb += einsum(x743, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 2, 0)) + l3new_bbbbbb += einsum(x743, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) * -1.0 + l3new_bbbbbb += einsum(x743, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) * -1.0 + del x743 + x744 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x744 += einsum(x586, (0, 1, 2, 3), l3.bbbbbb, (4, 5, 6, 7, 0, 3), (7, 1, 2, 4, 5, 6)) * -6.0 + del x586 + x745 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x745 += einsum(x635, (0, 1), l3.bbbbbb, (2, 3, 4, 5, 6, 0), (5, 6, 1, 2, 3, 4)) * 6.0 + del x635 + x746 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x746 += einsum(x744, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) + del x744 + x746 += einsum(x745, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * -1.0 + del x745 + l3new_bbbbbb += einsum(x746, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 1, 2)) + l3new_bbbbbb += einsum(x746, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 0, 2)) * -1.0 + l3new_bbbbbb += einsum(x746, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) + del x746 + x747 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x747 += einsum(l2.bbbb, (0, 1, 2, 3), x3, (3, 4, 5, 6), (2, 4, 5, 0, 1, 6)) + del x3 + l3new_bbbbbb += einsum(x747, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 1, 2)) * 2.0 + l3new_bbbbbb += einsum(x747, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 1, 2)) * 2.0 + l3new_bbbbbb += einsum(x747, (0, 1, 2, 3, 4, 5), (5, 4, 3, 0, 1, 2)) * -2.0 + l3new_bbbbbb += einsum(x747, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 2, 1)) * -2.0 + l3new_bbbbbb += einsum(x747, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) * -2.0 + l3new_bbbbbb += einsum(x747, (0, 1, 2, 3, 4, 5), (5, 4, 3, 0, 2, 1)) * 2.0 + l3new_bbbbbb += einsum(x747, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 0, 2)) * -2.0 + l3new_bbbbbb += einsum(x747, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 0, 2)) * -2.0 + l3new_bbbbbb += einsum(x747, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 0, 2)) * 2.0 + l3new_bbbbbb += einsum(x747, (0, 1, 2, 3, 4, 5), (3, 4, 5, 2, 0, 1)) * 2.0 + l3new_bbbbbb += einsum(x747, (0, 1, 2, 3, 4, 5), (4, 5, 3, 2, 0, 1)) * 2.0 + l3new_bbbbbb += einsum(x747, (0, 1, 2, 3, 4, 5), (5, 4, 3, 2, 0, 1)) * -2.0 + l3new_bbbbbb += einsum(x747, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 2, 0)) * 2.0 + l3new_bbbbbb += einsum(x747, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) * 2.0 + l3new_bbbbbb += einsum(x747, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 2, 0)) * -2.0 + l3new_bbbbbb += einsum(x747, (0, 1, 2, 3, 4, 5), (3, 4, 5, 2, 1, 0)) * -2.0 + l3new_bbbbbb += einsum(x747, (0, 1, 2, 3, 4, 5), (4, 5, 3, 2, 1, 0)) * -2.0 + l3new_bbbbbb += einsum(x747, (0, 1, 2, 3, 4, 5), (5, 4, 3, 2, 1, 0)) * 2.0 + del x747 + x748 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x748 += einsum(l2.bbbb, (0, 1, 2, 3), v.bbbb.ovvv, (4, 5, 6, 1), (2, 3, 4, 0, 5, 6)) + x749 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x749 += einsum(v.bbbb.ovov, (0, 1, 2, 3), x137, (4, 5, 2, 6), (0, 4, 5, 3, 1, 6)) * 2.0 + del x137 + x750 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x750 += einsum(x748, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 2.0 + del x748 + x750 += einsum(x749, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -1.0 + del x749 + l3new_bbbbbb += einsum(x750, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 0, 2)) + l3new_bbbbbb += einsum(x750, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 0, 2)) * -1.0 + l3new_bbbbbb += einsum(x750, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 0, 2)) * -1.0 + l3new_bbbbbb += einsum(x750, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) + l3new_bbbbbb += einsum(x750, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 0, 2)) + l3new_bbbbbb += einsum(x750, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 0, 2)) * -1.0 + l3new_bbbbbb += einsum(x750, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 2, 0)) * -1.0 + l3new_bbbbbb += einsum(x750, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 2, 0)) + l3new_bbbbbb += einsum(x750, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 2, 0)) + l3new_bbbbbb += einsum(x750, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) * -1.0 + l3new_bbbbbb += einsum(x750, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) * -1.0 + l3new_bbbbbb += einsum(x750, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 2, 0)) + l3new_bbbbbb += einsum(x750, (0, 1, 2, 3, 4, 5), (3, 4, 5, 2, 1, 0)) + l3new_bbbbbb += einsum(x750, (0, 1, 2, 3, 4, 5), (3, 5, 4, 2, 1, 0)) * -1.0 + l3new_bbbbbb += einsum(x750, (0, 1, 2, 3, 4, 5), (4, 3, 5, 2, 1, 0)) * -1.0 + l3new_bbbbbb += einsum(x750, (0, 1, 2, 3, 4, 5), (5, 3, 4, 2, 1, 0)) + l3new_bbbbbb += einsum(x750, (0, 1, 2, 3, 4, 5), (4, 5, 3, 2, 1, 0)) + l3new_bbbbbb += einsum(x750, (0, 1, 2, 3, 4, 5), (5, 4, 3, 2, 1, 0)) * -1.0 + del x750 + x751 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x751 += einsum(f.bb.vv, (0, 1), l3.bbbbbb, (2, 3, 1, 4, 5, 6), (4, 5, 6, 0, 2, 3)) + x752 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x752 += einsum(f.bb.ov, (0, 1), x72, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) + del x72 + x753 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x753 += einsum(v.bbbb.vvvv, (0, 1, 2, 3), l3.bbbbbb, (4, 3, 1, 5, 6, 7), (5, 6, 7, 4, 0, 2)) * -1.0 + x754 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x754 += einsum(x751, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -6.0 + del x751 + x754 += einsum(x752, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 6.0 + del x752 + x754 += einsum(x753, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -6.0 + del x753 + l3new_bbbbbb += einsum(x754, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 2, 0)) + l3new_bbbbbb += einsum(x754, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) + l3new_bbbbbb += einsum(x754, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 2, 0)) * -1.0 + del x754 + x755 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x755 += einsum(x27, (0, 1, 2, 3), l3.bbbbbb, (4, 5, 6, 7, 0, 1), (7, 2, 3, 4, 5, 6)) + del x27 + l3new_bbbbbb += einsum(x755, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 1, 2)) * -6.0 + l3new_bbbbbb += einsum(x755, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 2, 1)) * 6.0 + l3new_bbbbbb += einsum(x755, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 0, 2)) * 6.0 + l3new_bbbbbb += einsum(x755, (0, 1, 2, 3, 4, 5), (3, 4, 5, 2, 0, 1)) * -6.0 + l3new_bbbbbb += einsum(x755, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 2, 0)) * -6.0 + l3new_bbbbbb += einsum(x755, (0, 1, 2, 3, 4, 5), (3, 4, 5, 2, 1, 0)) * 6.0 + del x755 + x756 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x756 += einsum(x560, (0, 1), l3.bbbbbb, (2, 3, 4, 5, 6, 0), (5, 6, 1, 2, 3, 4)) * 6.0 + del x560 + l3new_bbbbbb += einsum(x756, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) + l3new_bbbbbb += einsum(x756, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) * -1.0 + l3new_bbbbbb += einsum(x756, (0, 1, 2, 3, 4, 5), (5, 3, 4, 2, 1, 0)) + del x756 + x757 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x757 += einsum(l2.bbbb, (0, 1, 2, 3), v.bbbb.ooov, (4, 3, 5, 6), (2, 4, 5, 0, 1, 6)) + x758 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x758 += einsum(v.bbbb.ovov, (0, 1, 2, 3), x136, (4, 5, 6, 1), (0, 2, 4, 3, 5, 6)) * 6.0 + del x136 + x759 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x759 += einsum(x757, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -2.0 + del x757 + x759 += einsum(x758, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) + del x758 + l3new_bbbbbb += einsum(x759, (0, 1, 2, 3, 4, 5), (4, 3, 5, 0, 1, 2)) + l3new_bbbbbb += einsum(x759, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 1, 2)) * -1.0 + l3new_bbbbbb += einsum(x759, (0, 1, 2, 3, 4, 5), (5, 3, 4, 0, 1, 2)) * -1.0 + l3new_bbbbbb += einsum(x759, (0, 1, 2, 3, 4, 5), (4, 3, 5, 0, 2, 1)) * -1.0 + l3new_bbbbbb += einsum(x759, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) + l3new_bbbbbb += einsum(x759, (0, 1, 2, 3, 4, 5), (5, 3, 4, 0, 2, 1)) + l3new_bbbbbb += einsum(x759, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 0, 2)) * -1.0 + l3new_bbbbbb += einsum(x759, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 0, 2)) + l3new_bbbbbb += einsum(x759, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) + l3new_bbbbbb += einsum(x759, (0, 1, 2, 3, 4, 5), (4, 3, 5, 2, 0, 1)) + l3new_bbbbbb += einsum(x759, (0, 1, 2, 3, 4, 5), (4, 5, 3, 2, 0, 1)) * -1.0 + l3new_bbbbbb += einsum(x759, (0, 1, 2, 3, 4, 5), (5, 3, 4, 2, 0, 1)) * -1.0 + l3new_bbbbbb += einsum(x759, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 2, 0)) + l3new_bbbbbb += einsum(x759, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) * -1.0 + l3new_bbbbbb += einsum(x759, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) * -1.0 + l3new_bbbbbb += einsum(x759, (0, 1, 2, 3, 4, 5), (4, 3, 5, 2, 1, 0)) * -1.0 + l3new_bbbbbb += einsum(x759, (0, 1, 2, 3, 4, 5), (4, 5, 3, 2, 1, 0)) + l3new_bbbbbb += einsum(x759, (0, 1, 2, 3, 4, 5), (5, 3, 4, 2, 1, 0)) + del x759 + x760 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x760 += einsum(t2.bbbb, (0, 1, 2, 3), l3.bbbbbb, (4, 2, 3, 5, 6, 7), (5, 6, 7, 0, 1, 4)) + x761 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x761 += einsum(x760, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 + del x760 + x761 += einsum(x132, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 + del x132 + x762 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x762 += einsum(v.bbbb.ovov, (0, 1, 2, 3), x761, (4, 5, 6, 0, 2, 7), (4, 5, 6, 1, 3, 7)) * 6.0 + del x761 + l3new_bbbbbb += einsum(x762, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 2, 0)) * -1.0 + l3new_bbbbbb += einsum(x762, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) + l3new_bbbbbb += einsum(x762, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 2, 0)) * -1.0 + del x762 + + l1new.aa = l1new_aa + l1new.bb = l1new_bb + l2new.aaaa = l2new_aaaa + l2new.abab = l2new_abab + l2new.bbbb = l2new_bbbb + l3new.aaaaaa = l3new_aaaaaa + l3new.abaaba = l3new_abaaba + l3new.babbab = l3new_babbab + l3new.bbbbbb = l3new_bbbbbb + + return {"l1new": l1new, "l2new": l2new, "l3new": l3new} + +def make_rdm1_f(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, t3=None, l1=None, l2=None, l3=None, **kwargs): + rdm1_f = Namespace() + + delta = Namespace(aa=Namespace(), bb=Namespace()) + delta.aa = Namespace(oo=np.eye(nocc[0]), vv=np.eye(nvir[0])) + delta.bb = Namespace(oo=np.eye(nocc[1]), vv=np.eye(nvir[1])) + + # RDM1 + rdm1_f_aa_oo = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + rdm1_f_aa_oo += einsum(delta.aa.oo, (0, 1), (0, 1)) + rdm1_f_bb_oo = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + rdm1_f_bb_oo += einsum(delta.bb.oo, (0, 1), (0, 1)) + rdm1_f_aa_ov = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + rdm1_f_aa_ov += einsum(l1.bb, (0, 1), t2.abab, (2, 1, 3, 0), (2, 3)) + rdm1_f_aa_ov += einsum(l2.abab, (0, 1, 2, 3), t3.abaaba, (4, 3, 2, 5, 1, 0), (4, 5)) * 2.0 + rdm1_f_aa_ov += einsum(l2.aaaa, (0, 1, 2, 3), t3.aaaaaa, (4, 2, 3, 5, 0, 1), (4, 5)) * 3.0 + rdm1_f_aa_ov += einsum(t1.aa, (0, 1), (0, 1)) + rdm1_f_aa_ov += einsum(l1.aa, (0, 1), t2.aaaa, (2, 1, 3, 0), (2, 3)) * 2.0 + rdm1_f_aa_ov += einsum(l2.bbbb, (0, 1, 2, 3), t3.babbab, (2, 4, 3, 0, 5, 1), (4, 5)) + rdm1_f_bb_ov = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + rdm1_f_bb_ov += einsum(t1.bb, (0, 1), (0, 1)) + rdm1_f_bb_ov += einsum(l1.bb, (0, 1), t2.bbbb, (2, 1, 3, 0), (2, 3)) * 2.0 + rdm1_f_bb_ov += einsum(l2.abab, (0, 1, 2, 3), t3.babbab, (4, 2, 3, 5, 0, 1), (4, 5)) * 2.0 + rdm1_f_bb_ov += einsum(l1.aa, (0, 1), t2.abab, (1, 2, 0, 3), (2, 3)) + rdm1_f_bb_ov += einsum(l2.bbbb, (0, 1, 2, 3), t3.bbbbbb, (4, 2, 3, 5, 0, 1), (4, 5)) * 3.0 + rdm1_f_bb_ov += einsum(l2.aaaa, (0, 1, 2, 3), t3.abaaba, (2, 4, 3, 0, 5, 1), (4, 5)) + rdm1_f_aa_vo = np.zeros((nvir[0], nocc[0]), dtype=types[float]) + rdm1_f_aa_vo += einsum(l1.aa, (0, 1), (0, 1)) + rdm1_f_bb_vo = np.zeros((nvir[1], nocc[1]), dtype=types[float]) + rdm1_f_bb_vo += einsum(l1.bb, (0, 1), (0, 1)) + rdm1_f_aa_vv = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + rdm1_f_aa_vv += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (3, 4, 5, 0, 6, 2), (1, 6)) * 0.9999999999999601 + rdm1_f_aa_vv += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 4, 1), (0, 4)) + rdm1_f_aa_vv += einsum(l1.aa, (0, 1), t1.aa, (1, 2), (0, 2)) + rdm1_f_aa_vv += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (3, 4, 5, 6, 1, 2), (0, 6)) * 1.9999999999999194 + rdm1_f_aa_vv += einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), t3.aaaaaa, (3, 4, 5, 6, 1, 2), (0, 6)) * 2.9999999999998788 + rdm1_f_aa_vv += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (2, 3, 4, 1), (0, 4)) * 2.0 + rdm1_f_bb_vv = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + rdm1_f_bb_vv += einsum(l1.bb, (0, 1), t1.bb, (1, 2), (0, 2)) + rdm1_f_bb_vv += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (3, 4, 5, 6, 1, 2), (0, 6)) * 1.9999999999999194 + rdm1_f_bb_vv += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 0, 4), (1, 4)) + rdm1_f_bb_vv += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (3, 4, 5, 0, 6, 2), (1, 6)) * 0.9999999999999601 + rdm1_f_bb_vv += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (2, 3, 4, 1), (0, 4)) * 2.0 + rdm1_f_bb_vv += einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), t3.bbbbbb, (3, 4, 5, 6, 1, 2), (0, 6)) * 2.9999999999998788 + x0 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x0 += einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), t3.aaaaaa, (6, 4, 5, 0, 1, 2), (3, 6)) + rdm1_f_aa_oo += einsum(x0, (0, 1), (1, 0)) * -2.9999999999998788 + x1 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x1 += einsum(l1.aa, (0, 1), t1.aa, (2, 0), (1, 2)) + rdm1_f_aa_oo += einsum(x1, (0, 1), (1, 0)) * -1.0 + x2 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x2 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 0, 1), (2, 4)) + rdm1_f_aa_oo += einsum(x2, (0, 1), (1, 0)) * -1.0 + x3 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x3 += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 3, 0, 1), (2, 4)) + rdm1_f_aa_oo += einsum(x3, (0, 1), (1, 0)) * -2.0 + x4 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x4 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (6, 4, 5, 0, 1, 2), (3, 6)) + rdm1_f_aa_oo += einsum(x4, (0, 1), (1, 0)) * -1.9999999999999194 + x5 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x5 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (3, 6, 5, 0, 1, 2), (4, 6)) + rdm1_f_aa_oo += einsum(x5, (0, 1), (1, 0)) * -0.9999999999999601 + x6 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x6 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (3, 6, 5, 0, 1, 2), (4, 6)) + rdm1_f_bb_oo += einsum(x6, (0, 1), (1, 0)) * -0.9999999999999601 + x7 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x7 += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 3, 0, 1), (2, 4)) + rdm1_f_bb_oo += einsum(x7, (0, 1), (1, 0)) * -2.0 + x8 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x8 += einsum(l1.bb, (0, 1), t1.bb, (2, 0), (1, 2)) + rdm1_f_bb_oo += einsum(x8, (0, 1), (1, 0)) * -1.0 + x9 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x9 += einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), t3.bbbbbb, (6, 4, 5, 0, 1, 2), (3, 6)) + rdm1_f_bb_oo += einsum(x9, (0, 1), (1, 0)) * -2.9999999999998788 + x10 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x10 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (6, 4, 5, 0, 1, 2), (3, 6)) + rdm1_f_bb_oo += einsum(x10, (0, 1), (1, 0)) * -1.9999999999999194 + x11 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x11 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 1), (3, 4)) + rdm1_f_bb_oo += einsum(x11, (0, 1), (1, 0)) * -1.0 + x12 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x12 += einsum(t1.aa, (0, 1), l3.aaaaaa, (2, 3, 1, 4, 5, 6), (4, 5, 6, 0, 2, 3)) + rdm1_f_aa_ov += einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), x12, (0, 1, 2, 6, 4, 5), (6, 3)) * -2.9999999999998788 + del x12 + x13 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x13 += einsum(t1.aa, (0, 1), l3.babbab, (2, 1, 3, 4, 5, 6), (4, 6, 2, 3, 5, 0)) + rdm1_f_aa_ov += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x13, (0, 2, 5, 3, 1, 6), (6, 4)) * 0.9999999999999601 + del x13 + x14 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x14 += einsum(t1.aa, (0, 1), l3.abaaba, (2, 3, 1, 4, 5, 6), (5, 3, 4, 6, 0, 2)) + rdm1_f_aa_ov += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x14, (1, 4, 2, 0, 6, 5), (6, 3)) * -1.9999999999999194 + del x14 + x15 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x15 += einsum(t1.aa, (0, 1), l2.aaaa, (2, 1, 3, 4), (3, 4, 0, 2)) + x15 += einsum(t2.abab, (0, 1, 2, 3), l3.abaaba, (4, 3, 2, 5, 1, 6), (5, 6, 0, 4)) + x15 += einsum(t2.aaaa, (0, 1, 2, 3), l3.aaaaaa, (4, 2, 3, 5, 6, 1), (5, 6, 0, 4)) * 3.0 + rdm1_f_aa_ov += einsum(t2.aaaa, (0, 1, 2, 3), x15, (0, 1, 4, 3), (4, 2)) * 2.0 + del x15 + x16 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x16 += einsum(t1.aa, (0, 1), l2.abab, (1, 2, 3, 4), (4, 2, 3, 0)) * 0.5 + x16 += einsum(t2.abab, (0, 1, 2, 3), l3.babbab, (4, 2, 3, 5, 6, 1), (5, 4, 6, 0)) + x16 += einsum(t2.aaaa, (0, 1, 2, 3), l3.abaaba, (2, 4, 3, 5, 6, 1), (6, 4, 5, 0)) + rdm1_f_aa_ov += einsum(t2.abab, (0, 1, 2, 3), x16, (1, 3, 0, 4), (4, 2)) * -2.0 + del x16 + x17 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x17 += einsum(x1, (0, 1), (0, 1)) * 0.3333333333333468 + del x1 + x17 += einsum(x2, (0, 1), (0, 1)) * 0.3333333333333468 + del x2 + x17 += einsum(x3, (0, 1), (0, 1)) * 0.6666666666666936 + del x3 + x17 += einsum(x5, (0, 1), (0, 1)) * 0.33333333333333354 + del x5 + x17 += einsum(x4, (0, 1), (0, 1)) * 0.6666666666666667 + del x4 + x17 += einsum(x0, (0, 1), (0, 1)) + del x0 + rdm1_f_aa_ov += einsum(t1.aa, (0, 1), x17, (0, 2), (2, 1)) * -2.9999999999998788 + del x17 + x18 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x18 += einsum(t1.bb, (0, 1), l3.abaaba, (2, 1, 3, 4, 5, 6), (5, 0, 4, 6, 2, 3)) + rdm1_f_bb_ov += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x18, (1, 6, 0, 2, 3, 5), (6, 4)) * -0.9999999999999601 + del x18 + x19 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x19 += einsum(t1.bb, (0, 1), l3.babbab, (2, 3, 1, 4, 5, 6), (4, 6, 0, 2, 5, 3)) + rdm1_f_bb_ov += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x19, (0, 2, 6, 5, 1, 4), (6, 3)) * 1.9999999999999194 + del x19 + x20 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x20 += einsum(t1.bb, (0, 1), l3.bbbbbb, (2, 3, 1, 4, 5, 6), (4, 5, 6, 0, 2, 3)) + rdm1_f_bb_ov += einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), x20, (0, 1, 2, 6, 5, 4), (6, 3)) * 2.9999999999998788 + del x20 + x21 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x21 += einsum(t1.bb, (0, 1), l2.abab, (2, 1, 3, 4), (4, 0, 3, 2)) + x21 += einsum(t2.bbbb, (0, 1, 2, 3), l3.babbab, (2, 4, 3, 5, 6, 1), (5, 0, 6, 4)) * 2.0 + x21 += einsum(t2.abab, (0, 1, 2, 3), l3.abaaba, (4, 3, 2, 5, 6, 0), (6, 1, 5, 4)) * 2.0 + rdm1_f_bb_ov += einsum(t2.abab, (0, 1, 2, 3), x21, (1, 4, 0, 2), (4, 3)) * -1.0 + del x21 + x22 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x22 += einsum(t1.bb, (0, 1), l2.bbbb, (2, 1, 3, 4), (3, 4, 0, 2)) * 0.3333333333333333 + x22 += einsum(t2.bbbb, (0, 1, 2, 3), l3.bbbbbb, (4, 2, 3, 5, 6, 1), (5, 6, 0, 4)) + x22 += einsum(t2.abab, (0, 1, 2, 3), l3.babbab, (4, 2, 3, 5, 0, 6), (5, 6, 1, 4)) * 0.3333333333333333 + rdm1_f_bb_ov += einsum(t2.bbbb, (0, 1, 2, 3), x22, (0, 1, 4, 3), (4, 2)) * 6.0 + del x22 + x23 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x23 += einsum(x8, (0, 1), (0, 1)) * 1.00000000000004 + del x8 + x23 += einsum(x7, (0, 1), (0, 1)) * 2.00000000000008 + del x7 + x23 += einsum(x11, (0, 1), (0, 1)) * 1.00000000000004 + del x11 + x23 += einsum(x9, (0, 1), (0, 1)) * 2.9999999999999982 + del x9 + x23 += einsum(x10, (0, 1), (0, 1)) * 1.9999999999999991 + del x10 + x23 += einsum(x6, (0, 1), (0, 1)) + del x6 + rdm1_f_bb_ov += einsum(t1.bb, (0, 1), x23, (0, 2), (2, 1)) * -0.9999999999999601 + del x23 + + rdm1_f_aa = np.block([[rdm1_f_aa_oo, rdm1_f_aa_ov], [rdm1_f_aa_vo, rdm1_f_aa_vv]]) + rdm1_f_bb = np.block([[rdm1_f_bb_oo, rdm1_f_bb_ov], [rdm1_f_bb_vo, rdm1_f_bb_vv]]) + + rdm1_f.aa = rdm1_f_aa + rdm1_f.bb = rdm1_f_bb + + return rdm1_f + +def make_rdm2_f(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, t3=None, l1=None, l2=None, l3=None, **kwargs): + rdm2_f = Namespace() + + delta = Namespace(aa=Namespace(), bb=Namespace()) + delta.aa = Namespace(oo=np.eye(nocc[0]), vv=np.eye(nvir[0])) + delta.bb = Namespace(oo=np.eye(nocc[1]), vv=np.eye(nvir[1])) + + # RDM2 + rdm2_f_aaaa_oooo = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + rdm2_f_aaaa_oooo += einsum(delta.aa.oo, (0, 1), delta.aa.oo, (2, 3), (0, 2, 1, 3)) + rdm2_f_aaaa_oooo += einsum(delta.aa.oo, (0, 1), delta.aa.oo, (2, 3), (0, 2, 3, 1)) * -1.0 + rdm2_f_bbbb_oooo = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + rdm2_f_bbbb_oooo += einsum(delta.bb.oo, (0, 1), delta.bb.oo, (2, 3), (0, 2, 1, 3)) + rdm2_f_bbbb_oooo += einsum(delta.bb.oo, (0, 1), delta.bb.oo, (2, 3), (0, 2, 3, 1)) * -1.0 + rdm2_f_aaaa_ovoo = np.zeros((nocc[0], nvir[0], nocc[0], nocc[0]), dtype=types[float]) + rdm2_f_aaaa_ovoo += einsum(delta.aa.oo, (0, 1), l1.aa, (2, 3), (0, 2, 1, 3)) + rdm2_f_aaaa_ovoo += einsum(delta.aa.oo, (0, 1), l1.aa, (2, 3), (0, 2, 3, 1)) * -1.0 + rdm2_f_abab_ovoo = np.zeros((nocc[0], nvir[1], nocc[0], nocc[1]), dtype=types[float]) + rdm2_f_abab_ovoo += einsum(delta.aa.oo, (0, 1), l1.bb, (2, 3), (0, 2, 1, 3)) + rdm2_f_bbbb_ovoo = np.zeros((nocc[1], nvir[1], nocc[1], nocc[1]), dtype=types[float]) + rdm2_f_bbbb_ovoo += einsum(delta.bb.oo, (0, 1), l1.bb, (2, 3), (0, 2, 1, 3)) + rdm2_f_bbbb_ovoo += einsum(delta.bb.oo, (0, 1), l1.bb, (2, 3), (0, 2, 3, 1)) * -1.0 + rdm2_f_aaaa_vooo = np.zeros((nvir[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + rdm2_f_aaaa_vooo += einsum(delta.aa.oo, (0, 1), l1.aa, (2, 3), (2, 0, 1, 3)) * -1.0 + rdm2_f_aaaa_vooo += einsum(delta.aa.oo, (0, 1), l1.aa, (2, 3), (2, 0, 3, 1)) + rdm2_f_abab_vooo = np.zeros((nvir[0], nocc[1], nocc[0], nocc[1]), dtype=types[float]) + rdm2_f_abab_vooo += einsum(delta.bb.oo, (0, 1), l1.aa, (2, 3), (2, 0, 3, 1)) + rdm2_f_bbbb_vooo = np.zeros((nvir[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + rdm2_f_bbbb_vooo += einsum(delta.bb.oo, (0, 1), l1.bb, (2, 3), (2, 0, 1, 3)) * -1.0 + rdm2_f_bbbb_vooo += einsum(delta.bb.oo, (0, 1), l1.bb, (2, 3), (2, 0, 3, 1)) + rdm2_f_aaaa_oovv = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + rdm2_f_aaaa_oovv += einsum(l1.bb, (0, 1), t3.abaaba, (2, 1, 3, 4, 0, 5), (2, 3, 4, 5)) * 2.0 + rdm2_f_aaaa_oovv += einsum(t2.aaaa, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + rdm2_f_aaaa_oovv += einsum(l1.aa, (0, 1), t3.aaaaaa, (2, 3, 1, 4, 5, 0), (2, 3, 4, 5)) * 6.0 + rdm2_f_abab_oovv = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + rdm2_f_abab_oovv += einsum(t2.abab, (0, 1, 2, 3), (0, 1, 2, 3)) + rdm2_f_abab_oovv += einsum(l1.bb, (0, 1), t3.babbab, (2, 3, 1, 4, 5, 0), (3, 2, 5, 4)) * 2.0 + rdm2_f_abab_oovv += einsum(l1.aa, (0, 1), t3.abaaba, (2, 3, 1, 4, 5, 0), (2, 3, 4, 5)) * 2.0 + rdm2_f_bbbb_oovv = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + rdm2_f_bbbb_oovv += einsum(l1.bb, (0, 1), t3.bbbbbb, (2, 3, 1, 4, 5, 0), (2, 3, 4, 5)) * 6.0 + rdm2_f_bbbb_oovv += einsum(t2.bbbb, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + rdm2_f_bbbb_oovv += einsum(l1.aa, (0, 1), t3.babbab, (2, 1, 3, 4, 0, 5), (2, 3, 4, 5)) * 2.0 + rdm2_f_bbbb_oovv += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1)) * -1.0 + rdm2_f_bbbb_oovv += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3)) + rdm2_f_aaaa_ovov = np.zeros((nocc[0], nvir[0], nocc[0], nvir[0]), dtype=types[float]) + rdm2_f_aaaa_ovov += einsum(l1.aa, (0, 1), t1.aa, (2, 3), (2, 0, 1, 3)) * -1.0 + rdm2_f_bbbb_ovov = np.zeros((nocc[1], nvir[1], nocc[1], nvir[1]), dtype=types[float]) + rdm2_f_bbbb_ovov += einsum(l1.bb, (0, 1), t1.bb, (2, 3), (2, 0, 1, 3)) * -1.0 + rdm2_f_aaaa_ovvo = np.zeros((nocc[0], nvir[0], nvir[0], nocc[0]), dtype=types[float]) + rdm2_f_aaaa_ovvo += einsum(l1.aa, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1)) + rdm2_f_abab_ovvo = np.zeros((nocc[0], nvir[1], nvir[0], nocc[1]), dtype=types[float]) + rdm2_f_abab_ovvo += einsum(l1.bb, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1)) + rdm2_f_bbbb_ovvo = np.zeros((nocc[1], nvir[1], nvir[1], nocc[1]), dtype=types[float]) + rdm2_f_bbbb_ovvo += einsum(l1.bb, (0, 1), t1.bb, (2, 3), (2, 0, 3, 1)) + rdm2_f_aaaa_voov = np.zeros((nvir[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + rdm2_f_aaaa_voov += einsum(l1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 1, 3)) + rdm2_f_abab_voov = np.zeros((nvir[0], nocc[1], nocc[0], nvir[1]), dtype=types[float]) + rdm2_f_abab_voov += einsum(l1.aa, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3)) + rdm2_f_bbbb_voov = np.zeros((nvir[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + rdm2_f_bbbb_voov += einsum(l1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3)) + rdm2_f_aaaa_vovo = np.zeros((nvir[0], nocc[0], nvir[0], nocc[0]), dtype=types[float]) + rdm2_f_aaaa_vovo += einsum(l1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 3, 1)) * -1.0 + rdm2_f_bbbb_vovo = np.zeros((nvir[1], nocc[1], nvir[1], nocc[1]), dtype=types[float]) + rdm2_f_bbbb_vovo += einsum(l1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1)) * -1.0 + rdm2_f_aaaa_vvoo = np.zeros((nvir[0], nvir[0], nocc[0], nocc[0]), dtype=types[float]) + rdm2_f_aaaa_vvoo += einsum(l2.aaaa, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + rdm2_f_abab_vvoo = np.zeros((nvir[0], nvir[1], nocc[0], nocc[1]), dtype=types[float]) + rdm2_f_abab_vvoo += einsum(l2.abab, (0, 1, 2, 3), (0, 1, 2, 3)) + rdm2_f_bbbb_vvoo = np.zeros((nvir[1], nvir[1], nocc[1], nocc[1]), dtype=types[float]) + rdm2_f_bbbb_vvoo += einsum(l2.bbbb, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + rdm2_f_abab_ovvv = np.zeros((nocc[0], nvir[1], nvir[0], nvir[1]), dtype=types[float]) + rdm2_f_abab_ovvv += einsum(l1.bb, (0, 1), t2.abab, (2, 1, 3, 4), (2, 0, 3, 4)) + rdm2_f_abab_ovvv += einsum(l2.bbbb, (0, 1, 2, 3), t3.babbab, (2, 4, 3, 5, 6, 1), (4, 0, 6, 5)) * 2.0 + rdm2_f_abab_ovvv += einsum(l2.abab, (0, 1, 2, 3), t3.abaaba, (4, 3, 2, 5, 6, 0), (4, 1, 5, 6)) * 2.0 + rdm2_f_abab_vovv = np.zeros((nvir[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + rdm2_f_abab_vovv += einsum(l2.abab, (0, 1, 2, 3), t3.babbab, (4, 2, 3, 5, 6, 1), (0, 4, 6, 5)) * 2.0 + rdm2_f_abab_vovv += einsum(l1.aa, (0, 1), t2.abab, (1, 2, 3, 4), (0, 2, 3, 4)) + rdm2_f_abab_vovv += einsum(l2.aaaa, (0, 1, 2, 3), t3.abaaba, (2, 4, 3, 5, 6, 1), (0, 4, 5, 6)) * 2.0 + rdm2_f_abab_vvov = np.zeros((nvir[0], nvir[1], nocc[0], nvir[1]), dtype=types[float]) + rdm2_f_abab_vvov += einsum(t1.bb, (0, 1), l2.abab, (2, 3, 4, 0), (2, 3, 4, 1)) + rdm2_f_aaaa_vvvv = np.zeros((nvir[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + rdm2_f_aaaa_vvvv += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (3, 4, 5, 6, 1, 7), (0, 2, 6, 7)) * 2.0000000000000404 + rdm2_f_aaaa_vvvv += einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), t3.aaaaaa, (3, 4, 5, 6, 7, 2), (0, 1, 6, 7)) * 6.000000000000116 + rdm2_f_aaaa_vvvv += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (2, 3, 4, 5), (0, 1, 4, 5)) * 2.0 + rdm2_f_abab_vvvv = np.zeros((nvir[0], nvir[1], nvir[0], nvir[1]), dtype=types[float]) + rdm2_f_abab_vvvv += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (3, 4, 5, 6, 7, 2), (1, 0, 7, 6)) * 2.0000000000000404 + rdm2_f_abab_vvvv += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (3, 4, 5, 6, 7, 2), (0, 1, 6, 7)) * 2.0000000000000404 + rdm2_f_abab_vvvv += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 4, 5), (0, 1, 4, 5)) + rdm2_f_bbbb_vvvv = np.zeros((nvir[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + rdm2_f_bbbb_vvvv += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (3, 4, 5, 6, 1, 7), (0, 2, 6, 7)) * 2.0000000000000404 + rdm2_f_bbbb_vvvv += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (2, 3, 4, 5), (0, 1, 4, 5)) * 2.0 + rdm2_f_bbbb_vvvv += einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), t3.bbbbbb, (3, 4, 5, 6, 7, 2), (0, 1, 6, 7)) * 6.000000000000116 + x0 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x0 += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 5, 0, 1), (2, 3, 4, 5)) + rdm2_f_aaaa_oooo += einsum(x0, (0, 1, 2, 3), (3, 2, 1, 0)) * 2.0 + x1 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x1 += einsum(t1.aa, (0, 1), l2.aaaa, (2, 1, 3, 4), (3, 4, 0, 2)) + rdm2_f_aaaa_ovoo += einsum(x1, (0, 1, 2, 3), (2, 3, 1, 0)) * -2.0 + rdm2_f_aaaa_vooo += einsum(x1, (0, 1, 2, 3), (3, 2, 1, 0)) * 2.0 + x2 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x2 += einsum(t1.aa, (0, 1), x1, (2, 3, 4, 1), (2, 3, 0, 4)) + rdm2_f_aaaa_oooo += einsum(x2, (0, 1, 2, 3), (2, 3, 1, 0)) * -2.0 + x3 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x3 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (6, 4, 7, 0, 1, 2), (3, 5, 6, 7)) + rdm2_f_aaaa_oooo += einsum(x3, (0, 1, 2, 3), (2, 3, 1, 0)) * -2.0000000000000404 + x4 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x4 += einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), t3.aaaaaa, (6, 7, 5, 0, 1, 2), (3, 4, 6, 7)) + rdm2_f_aaaa_oooo += einsum(x4, (0, 1, 2, 3), (2, 3, 1, 0)) * -6.000000000000116 + x5 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x5 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 0, 1), (2, 4)) + x6 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x6 += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 3, 0, 1), (2, 4)) + x7 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x7 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (3, 6, 5, 0, 1, 2), (4, 6)) + x8 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x8 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (6, 4, 5, 0, 1, 2), (3, 6)) + x9 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x9 += einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), t3.aaaaaa, (6, 4, 5, 0, 1, 2), (3, 6)) + x10 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x10 += einsum(x5, (0, 1), (0, 1)) + x10 += einsum(x6, (0, 1), (0, 1)) * 2.0 + x10 += einsum(x7, (0, 1), (0, 1)) * 0.9999999999999601 + x10 += einsum(x8, (0, 1), (0, 1)) * 1.9999999999999194 + x10 += einsum(x9, (0, 1), (0, 1)) * 2.9999999999998788 + rdm2_f_aaaa_oooo += einsum(delta.aa.oo, (0, 1), x10, (2, 3), (0, 3, 1, 2)) * -1.0 + rdm2_f_aaaa_oooo += einsum(delta.aa.oo, (0, 1), x10, (2, 3), (0, 3, 2, 1)) + rdm2_f_aaaa_oooo += einsum(delta.aa.oo, (0, 1), x10, (2, 3), (3, 0, 1, 2)) + rdm2_f_aaaa_oooo += einsum(delta.aa.oo, (0, 1), x10, (2, 3), (3, 0, 2, 1)) * -1.0 + del x10 + x11 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x11 += einsum(l1.aa, (0, 1), t1.aa, (2, 0), (1, 2)) + rdm2_f_aaaa_oooo += einsum(delta.aa.oo, (0, 1), x11, (2, 3), (0, 3, 1, 2)) * -1.0 + rdm2_f_aaaa_oooo += einsum(delta.aa.oo, (0, 1), x11, (2, 3), (3, 0, 1, 2)) + rdm2_f_aaaa_oooo += einsum(delta.aa.oo, (0, 1), x11, (2, 3), (0, 3, 2, 1)) + rdm2_f_aaaa_oooo += einsum(delta.aa.oo, (0, 1), x11, (2, 3), (3, 0, 2, 1)) * -1.0 + x12 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x12 += einsum(t2.abab, (0, 1, 2, 3), l3.abaaba, (4, 3, 2, 5, 1, 6), (5, 6, 0, 4)) + rdm2_f_aaaa_ovoo += einsum(x12, (0, 1, 2, 3), (2, 3, 1, 0)) * -2.0 + rdm2_f_aaaa_vooo += einsum(x12, (0, 1, 2, 3), (3, 2, 1, 0)) * 2.0 + x13 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x13 += einsum(t2.aaaa, (0, 1, 2, 3), l3.aaaaaa, (4, 2, 3, 5, 6, 1), (5, 6, 0, 4)) + rdm2_f_aaaa_ovoo += einsum(x13, (0, 1, 2, 3), (2, 3, 1, 0)) * -6.0 + rdm2_f_aaaa_vooo += einsum(x13, (0, 1, 2, 3), (3, 2, 1, 0)) * 6.0 + x14 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x14 += einsum(x12, (0, 1, 2, 3), (0, 1, 2, 3)) + x14 += einsum(x13, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0 + x15 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x15 += einsum(t1.aa, (0, 1), x14, (2, 3, 4, 1), (0, 2, 3, 4)) * 2.0 + rdm2_f_aaaa_oooo += einsum(x15, (0, 1, 2, 3), (0, 3, 2, 1)) * -1.0 + rdm2_f_aaaa_oooo += einsum(x15, (0, 1, 2, 3), (3, 0, 2, 1)) + del x15 + x16 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) + x16 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (6, 7, 5, 0, 1, 2), (4, 7, 3, 6)) + rdm2_f_abab_oooo = np.zeros((nocc[0], nocc[1], nocc[0], nocc[1]), dtype=types[float]) + rdm2_f_abab_oooo += einsum(x16, (0, 1, 2, 3), (3, 1, 2, 0)) * 2.0000000000000404 + x17 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) + x17 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (6, 7, 5, 0, 1, 2), (3, 6, 4, 7)) + rdm2_f_abab_oooo += einsum(x17, (0, 1, 2, 3), (3, 1, 2, 0)) * 2.0000000000000404 + x18 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) + x18 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 5, 0, 1), (3, 5, 2, 4)) + rdm2_f_abab_oooo += einsum(x18, (0, 1, 2, 3), (3, 1, 2, 0)) + x19 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x19 += einsum(t1.aa, (0, 1), l2.abab, (1, 2, 3, 4), (4, 2, 3, 0)) + rdm2_f_abab_ovoo += einsum(x19, (0, 1, 2, 3), (3, 1, 2, 0)) * -1.0 + x20 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x20 += einsum(t2.abab, (0, 1, 2, 3), l3.babbab, (4, 2, 3, 5, 6, 1), (5, 4, 6, 0)) + rdm2_f_abab_ovoo += einsum(x20, (0, 1, 2, 3), (3, 1, 2, 0)) * -2.0 + x21 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x21 += einsum(t2.aaaa, (0, 1, 2, 3), l3.abaaba, (2, 4, 3, 5, 6, 1), (6, 4, 5, 0)) + rdm2_f_abab_ovoo += einsum(x21, (0, 1, 2, 3), (3, 1, 2, 0)) * -2.0 + x22 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x22 += einsum(x19, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 + x22 += einsum(x20, (0, 1, 2, 3), (0, 1, 2, 3)) + x22 += einsum(x21, (0, 1, 2, 3), (0, 1, 2, 3)) + rdm2_f_abab_oooo += einsum(t1.bb, (0, 1), x22, (2, 1, 3, 4), (4, 0, 3, 2)) * 2.0 + rdm2_f_abab_ooov = np.zeros((nocc[0], nocc[1], nocc[0], nvir[1]), dtype=types[float]) + rdm2_f_abab_ooov += einsum(t2.bbbb, (0, 1, 2, 3), x22, (1, 3, 4, 5), (5, 0, 4, 2)) * -4.0 + rdm2_f_abab_oovo = np.zeros((nocc[0], nocc[1], nvir[0], nocc[1]), dtype=types[float]) + rdm2_f_abab_oovo += einsum(t2.abab, (0, 1, 2, 3), x22, (4, 3, 0, 5), (5, 1, 2, 4)) * 2.0 + rdm2_f_abab_ovvo += einsum(t1.aa, (0, 1), x22, (2, 3, 0, 4), (4, 3, 1, 2)) * -2.0 + rdm2_f_abab_ovvv += einsum(t2.abab, (0, 1, 2, 3), x22, (1, 4, 0, 5), (5, 4, 2, 3)) * -2.0 + x23 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x23 += einsum(t2.bbbb, (0, 1, 2, 3), l3.babbab, (2, 4, 3, 5, 6, 1), (5, 0, 6, 4)) + rdm2_f_abab_vooo += einsum(x23, (0, 1, 2, 3), (3, 1, 2, 0)) * -2.0 + x24 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x24 += einsum(t2.abab, (0, 1, 2, 3), l3.abaaba, (4, 3, 2, 5, 6, 0), (6, 1, 5, 4)) + rdm2_f_abab_vooo += einsum(x24, (0, 1, 2, 3), (3, 1, 2, 0)) * -2.0 + x25 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x25 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) + x25 += einsum(x24, (0, 1, 2, 3), (0, 1, 2, 3)) + x26 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) + x26 += einsum(t1.aa, (0, 1), x25, (2, 3, 4, 1), (2, 3, 0, 4)) * 2.0 + rdm2_f_abab_oooo += einsum(x26, (0, 1, 2, 3), (2, 1, 3, 0)) + x27 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x27 += einsum(delta.aa.oo, (0, 1), (0, 1)) * -1.0 + x27 += einsum(x11, (0, 1), (0, 1)) + x27 += einsum(x5, (0, 1), (0, 1)) + x27 += einsum(x6, (0, 1), (0, 1)) * 2.0 + x27 += einsum(x7, (0, 1), (0, 1)) * 0.9999999999999601 + x27 += einsum(x8, (0, 1), (0, 1)) * 1.9999999999999194 + x27 += einsum(x9, (0, 1), (0, 1)) * 2.9999999999998788 + rdm2_f_abab_oooo += einsum(delta.bb.oo, (0, 1), x27, (2, 3), (3, 0, 2, 1)) * -1.0 + del x27 + x28 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x28 += einsum(l1.bb, (0, 1), t1.bb, (2, 0), (1, 2)) + rdm2_f_bbbb_oooo += einsum(delta.bb.oo, (0, 1), x28, (2, 3), (0, 3, 1, 2)) * -1.0 + rdm2_f_bbbb_oooo += einsum(delta.bb.oo, (0, 1), x28, (2, 3), (3, 0, 1, 2)) + rdm2_f_bbbb_oooo += einsum(delta.bb.oo, (0, 1), x28, (2, 3), (0, 3, 2, 1)) + rdm2_f_bbbb_oooo += einsum(delta.bb.oo, (0, 1), x28, (2, 3), (3, 0, 2, 1)) * -1.0 + x29 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x29 += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 3, 0, 1), (2, 4)) + x30 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x30 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 1), (3, 4)) + x31 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x31 += einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), t3.bbbbbb, (6, 4, 5, 0, 1, 2), (3, 6)) + x32 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x32 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (6, 4, 5, 0, 1, 2), (3, 6)) + x33 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x33 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (3, 6, 5, 0, 1, 2), (4, 6)) + x34 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x34 += einsum(x28, (0, 1), (0, 1)) * 0.5 + x34 += einsum(x29, (0, 1), (0, 1)) + x34 += einsum(x30, (0, 1), (0, 1)) * 0.5 + x34 += einsum(x31, (0, 1), (0, 1)) * 1.4999999999999394 + x34 += einsum(x32, (0, 1), (0, 1)) * 0.9999999999999597 + x34 += einsum(x33, (0, 1), (0, 1)) * 0.49999999999998007 + rdm2_f_abab_oooo += einsum(delta.aa.oo, (0, 1), x34, (2, 3), (0, 3, 1, 2)) * -2.0 + rdm2_f_abab_oovo += einsum(t1.aa, (0, 1), x34, (2, 3), (0, 3, 1, 2)) * -2.0 + del x34 + x35 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x35 += einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), t3.bbbbbb, (6, 7, 5, 0, 1, 2), (3, 4, 6, 7)) + rdm2_f_bbbb_oooo += einsum(x35, (0, 1, 2, 3), (2, 3, 1, 0)) * -6.000000000000116 + x36 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x36 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (6, 4, 7, 0, 1, 2), (3, 5, 6, 7)) + rdm2_f_bbbb_oooo += einsum(x36, (0, 1, 2, 3), (2, 3, 1, 0)) * -2.0000000000000404 + x37 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x37 += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 5, 0, 1), (2, 3, 4, 5)) + rdm2_f_bbbb_oooo += einsum(x37, (0, 1, 2, 3), (3, 2, 1, 0)) * 2.0 + x38 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x38 += einsum(t1.bb, (0, 1), l2.bbbb, (2, 1, 3, 4), (3, 4, 0, 2)) + rdm2_f_bbbb_ovoo += einsum(x38, (0, 1, 2, 3), (2, 3, 1, 0)) * -2.0 + rdm2_f_bbbb_vooo += einsum(x38, (0, 1, 2, 3), (3, 2, 1, 0)) * 2.0 + x39 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x39 += einsum(t1.bb, (0, 1), x38, (2, 3, 4, 1), (2, 3, 0, 4)) + rdm2_f_bbbb_oooo += einsum(x39, (0, 1, 2, 3), (2, 3, 1, 0)) * -2.0 + x40 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x40 += einsum(t2.bbbb, (0, 1, 2, 3), l3.bbbbbb, (4, 2, 3, 5, 6, 1), (5, 6, 0, 4)) + rdm2_f_bbbb_ovoo += einsum(x40, (0, 1, 2, 3), (2, 3, 1, 0)) * -6.0 + rdm2_f_bbbb_vooo += einsum(x40, (0, 1, 2, 3), (3, 2, 1, 0)) * 6.0 + x41 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x41 += einsum(t2.abab, (0, 1, 2, 3), l3.babbab, (4, 2, 3, 5, 0, 6), (5, 6, 1, 4)) + rdm2_f_bbbb_ovoo += einsum(x41, (0, 1, 2, 3), (2, 3, 1, 0)) * -2.0 + rdm2_f_bbbb_vooo += einsum(x41, (0, 1, 2, 3), (3, 2, 1, 0)) * 2.0 + x42 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x42 += einsum(x40, (0, 1, 2, 3), (0, 1, 2, 3)) + x42 += einsum(x41, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.3333333333333333 + x43 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x43 += einsum(t1.bb, (0, 1), x42, (2, 3, 4, 1), (0, 2, 3, 4)) * 6.0 + rdm2_f_bbbb_oooo += einsum(x43, (0, 1, 2, 3), (0, 3, 2, 1)) * -1.0 + rdm2_f_bbbb_oooo += einsum(x43, (0, 1, 2, 3), (3, 0, 2, 1)) + del x43 + x44 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x44 += einsum(x29, (0, 1), (0, 1)) + x44 += einsum(x30, (0, 1), (0, 1)) * 0.5 + x44 += einsum(x31, (0, 1), (0, 1)) * 1.4999999999999394 + x44 += einsum(x32, (0, 1), (0, 1)) * 0.9999999999999597 + x44 += einsum(x33, (0, 1), (0, 1)) * 0.49999999999998007 + rdm2_f_bbbb_oooo += einsum(delta.bb.oo, (0, 1), x44, (2, 3), (0, 3, 1, 2)) * -2.0 + rdm2_f_bbbb_oooo += einsum(delta.bb.oo, (0, 1), x44, (2, 3), (0, 3, 2, 1)) * 2.0 + rdm2_f_bbbb_oooo += einsum(delta.bb.oo, (0, 1), x44, (2, 3), (3, 0, 1, 2)) * 2.0 + rdm2_f_bbbb_oooo += einsum(delta.bb.oo, (0, 1), x44, (2, 3), (3, 0, 2, 1)) * -2.0 + del x44 + x45 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x45 += einsum(t1.aa, (0, 1), l3.aaaaaa, (2, 3, 1, 4, 5, 6), (4, 5, 6, 0, 2, 3)) + x46 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x46 += einsum(t1.aa, (0, 1), x45, (2, 3, 4, 5, 1, 6), (3, 4, 2, 5, 0, 6)) + x47 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x47 += einsum(t2.aaaa, (0, 1, 2, 3), x46, (1, 0, 4, 5, 6, 3), (4, 6, 5, 2)) + rdm2_f_aaaa_ooov = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + rdm2_f_aaaa_ooov += einsum(x47, (0, 1, 2, 3), (1, 2, 0, 3)) * 6.0 + rdm2_f_aaaa_oovo = np.zeros((nocc[0], nocc[0], nvir[0], nocc[0]), dtype=types[float]) + rdm2_f_aaaa_oovo += einsum(x47, (0, 1, 2, 3), (1, 2, 3, 0)) * -6.0 + x48 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x48 += einsum(l2.aaaa, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 3, 6, 0, 1), (2, 4, 5, 6)) + rdm2_f_aaaa_ooov += einsum(x48, (0, 1, 2, 3), (1, 2, 0, 3)) * 6.0 + rdm2_f_aaaa_oovo += einsum(x48, (0, 1, 2, 3), (1, 2, 3, 0)) * -6.0 + x49 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x49 += einsum(l2.abab, (0, 1, 2, 3), t3.abaaba, (4, 3, 5, 6, 1, 0), (2, 4, 5, 6)) + rdm2_f_aaaa_ooov += einsum(x49, (0, 1, 2, 3), (1, 2, 0, 3)) * 2.0 + rdm2_f_aaaa_oovo += einsum(x49, (0, 1, 2, 3), (1, 2, 3, 0)) * -2.0 + x50 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x50 += einsum(l1.aa, (0, 1), t2.aaaa, (2, 3, 4, 0), (1, 2, 3, 4)) + rdm2_f_aaaa_ooov += einsum(x50, (0, 1, 2, 3), (2, 1, 0, 3)) * -2.0 + rdm2_f_aaaa_oovo += einsum(x50, (0, 1, 2, 3), (2, 1, 3, 0)) * 2.0 + x51 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x51 += einsum(t1.aa, (0, 1), l3.abaaba, (2, 3, 1, 4, 5, 6), (5, 3, 4, 6, 0, 2)) + rdm2_f_abab_ovvv += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x51, (1, 6, 0, 2, 7, 5), (7, 6, 3, 4)) * 2.0000000000000404 + x52 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x52 += einsum(t1.aa, (0, 1), x51, (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 6, 0)) * -1.0 + x53 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x53 += einsum(t2.abab, (0, 1, 2, 3), x52, (1, 3, 4, 0, 5, 6), (4, 6, 5, 2)) * -1.0 + rdm2_f_aaaa_ooov += einsum(x53, (0, 1, 2, 3), (1, 2, 0, 3)) * 2.0 + rdm2_f_aaaa_oovo += einsum(x53, (0, 1, 2, 3), (1, 2, 3, 0)) * -2.0 + x54 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x54 += einsum(l1.bb, (0, 1), t2.abab, (2, 1, 3, 0), (2, 3)) + x55 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x55 += einsum(l1.aa, (0, 1), t2.aaaa, (2, 1, 3, 0), (2, 3)) + x56 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x56 += einsum(l2.bbbb, (0, 1, 2, 3), t3.babbab, (2, 4, 3, 0, 5, 1), (4, 5)) + x57 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x57 += einsum(l2.abab, (0, 1, 2, 3), t3.abaaba, (4, 3, 2, 5, 1, 0), (4, 5)) + x58 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x58 += einsum(l2.aaaa, (0, 1, 2, 3), t3.aaaaaa, (4, 2, 3, 5, 0, 1), (4, 5)) + x59 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x59 += einsum(t1.aa, (0, 1), l3.babbab, (2, 1, 3, 4, 5, 6), (4, 6, 2, 3, 5, 0)) + rdm2_f_abab_ovvv += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x59, (2, 0, 6, 5, 1, 7), (7, 6, 4, 3)) * 2.0000000000000404 + x60 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x60 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x59, (0, 2, 3, 5, 1, 6), (6, 4)) + x61 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x61 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x51, (1, 4, 0, 2, 6, 5), (6, 3)) * -1.0 + x62 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x62 += einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), x45, (0, 1, 2, 6, 4, 5), (6, 3)) + x63 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x63 += einsum(t2.abab, (0, 1, 2, 3), x22, (1, 3, 0, 4), (4, 2)) * 2.0 + x64 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x64 += einsum(x1, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.3333333333333333 + x64 += einsum(x12, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.3333333333333333 + x64 += einsum(x13, (0, 1, 2, 3), (0, 1, 2, 3)) + x65 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x65 += einsum(t2.aaaa, (0, 1, 2, 3), x64, (0, 1, 4, 3), (4, 2)) * -6.0 + x66 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x66 += einsum(x11, (0, 1), (0, 1)) + x66 += einsum(x5, (0, 1), (0, 1)) + x66 += einsum(x6, (0, 1), (0, 1)) * 2.0 + x66 += einsum(x7, (0, 1), (0, 1)) * 0.9999999999999601 + x66 += einsum(x8, (0, 1), (0, 1)) * 1.9999999999999194 + x66 += einsum(x9, (0, 1), (0, 1)) * 2.9999999999998788 + rdm2_f_abab_ooov += einsum(t1.bb, (0, 1), x66, (2, 3), (3, 0, 2, 1)) * -1.0 + x67 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x67 += einsum(t1.aa, (0, 1), x66, (0, 2), (2, 1)) + x68 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x68 += einsum(x54, (0, 1), (0, 1)) * -1.0 + x68 += einsum(x55, (0, 1), (0, 1)) * -2.0 + x68 += einsum(x56, (0, 1), (0, 1)) * -1.0 + x68 += einsum(x57, (0, 1), (0, 1)) * -2.0 + x68 += einsum(x58, (0, 1), (0, 1)) * -3.0 + x68 += einsum(x60, (0, 1), (0, 1)) * 0.9999999999999601 + x68 += einsum(x61, (0, 1), (0, 1)) * 1.9999999999999194 + x68 += einsum(x62, (0, 1), (0, 1)) * 2.9999999999998788 + x68 += einsum(x63, (0, 1), (0, 1)) + x68 += einsum(x65, (0, 1), (0, 1)) + x68 += einsum(x67, (0, 1), (0, 1)) + rdm2_f_aaaa_ooov += einsum(delta.aa.oo, (0, 1), x68, (2, 3), (0, 2, 1, 3)) * -1.0 + rdm2_f_aaaa_ooov += einsum(delta.aa.oo, (0, 1), x68, (2, 3), (2, 0, 1, 3)) + rdm2_f_aaaa_oovo += einsum(delta.aa.oo, (0, 1), x68, (2, 3), (0, 2, 3, 1)) + rdm2_f_aaaa_oovo += einsum(delta.aa.oo, (0, 1), x68, (2, 3), (2, 0, 3, 1)) * -1.0 + x69 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x69 += einsum(t2.abab, (0, 1, 2, 3), x20, (1, 3, 4, 5), (4, 0, 5, 2)) + x70 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x70 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x59, (2, 0, 3, 5, 6, 7), (6, 7, 1, 4)) * -1.0 + x71 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x71 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x51, (1, 4, 6, 2, 7, 5), (6, 7, 0, 3)) * -1.0 + x72 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x72 += einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), x45, (1, 2, 6, 7, 5, 4), (6, 7, 0, 3)) * -1.0 + x73 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x73 += einsum(t2.aaaa, (0, 1, 2, 3), x64, (1, 4, 5, 3), (0, 4, 5, 2)) * 12.0 + x74 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x74 += einsum(x19, (0, 1, 2, 3), (0, 1, 2, 3)) + x74 += einsum(x21, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x75 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x75 += einsum(t2.abab, (0, 1, 2, 3), x74, (1, 3, 4, 5), (0, 4, 5, 2)) + x76 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x76 += einsum(t1.aa, (0, 1), x14, (2, 3, 4, 1), (0, 2, 3, 4)) + x77 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x77 += einsum(t1.aa, (0, 1), x76, (2, 0, 3, 4), (3, 2, 4, 1)) * 2.0 + del x76 + x78 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x78 += einsum(delta.aa.oo, (0, 1), t1.aa, (2, 3), (0, 1, 2, 3)) + x78 += einsum(x69, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 + x78 += einsum(x70, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + x78 += einsum(x71, (0, 1, 2, 3), (1, 0, 2, 3)) * -4.0 + x78 += einsum(x72, (0, 1, 2, 3), (1, 0, 2, 3)) * -9.0 + x78 += einsum(x73, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 + del x73 + x78 += einsum(x75, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 + del x75 + x78 += einsum(x77, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x77 + x78 += einsum(t1.aa, (0, 1), x66, (2, 3), (0, 2, 3, 1)) + del x66 + rdm2_f_aaaa_ooov += einsum(x78, (0, 1, 2, 3), (0, 2, 1, 3)) + rdm2_f_aaaa_ooov += einsum(x78, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 + rdm2_f_aaaa_oovo += einsum(x78, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 + rdm2_f_aaaa_oovo += einsum(x78, (0, 1, 2, 3), (2, 0, 3, 1)) + del x78 + x79 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x79 += einsum(t2.abab, (0, 1, 2, 3), l3.abaaba, (4, 3, 5, 6, 1, 0), (6, 4, 5, 2)) + rdm2_f_aaaa_vvov = np.zeros((nvir[0], nvir[0], nocc[0], nvir[0]), dtype=types[float]) + rdm2_f_aaaa_vvov += einsum(x79, (0, 1, 2, 3), (1, 2, 0, 3)) * 2.0 + rdm2_f_aaaa_vvvo = np.zeros((nvir[0], nvir[0], nvir[0], nocc[0]), dtype=types[float]) + rdm2_f_aaaa_vvvo += einsum(x79, (0, 1, 2, 3), (1, 2, 3, 0)) * -2.0 + x80 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x80 += einsum(t2.aaaa, (0, 1, 2, 3), l3.aaaaaa, (4, 5, 3, 6, 0, 1), (6, 4, 5, 2)) + rdm2_f_aaaa_vvov += einsum(x80, (0, 1, 2, 3), (1, 2, 0, 3)) * 6.0 + rdm2_f_aaaa_vvvo += einsum(x80, (0, 1, 2, 3), (1, 2, 3, 0)) * -6.0 + x81 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x81 += einsum(x79, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.3333333333333333 + x81 += einsum(x80, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + rdm2_f_abab_oovv += einsum(x81, (0, 1, 2, 3), t3.abaaba, (4, 5, 0, 1, 6, 2), (4, 5, 3, 6)) * 6.0 + x82 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x82 += einsum(t2.aaaa, (0, 1, 2, 3), x81, (4, 2, 3, 5), (0, 1, 4, 5)) * 6.0 + del x81 + rdm2_f_aaaa_ooov += einsum(x82, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + rdm2_f_aaaa_oovo += einsum(x82, (0, 1, 2, 3), (1, 0, 3, 2)) + del x82 + x83 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x83 += einsum(x0, (0, 1, 2, 3), (1, 0, 3, 2)) * -0.3333333333333269 + x83 += einsum(x2, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.3333333333333269 + x83 += einsum(x3, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.3333333333333336 + x83 += einsum(x4, (0, 1, 2, 3), (0, 1, 3, 2)) + x84 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x84 += einsum(t1.aa, (0, 1), x83, (0, 2, 3, 4), (2, 3, 4, 1)) * 6.000000000000116 + del x83 + rdm2_f_aaaa_ooov += einsum(x84, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 + rdm2_f_aaaa_oovo += einsum(x84, (0, 1, 2, 3), (2, 1, 3, 0)) + del x84 + x85 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x85 += einsum(t1.bb, (0, 1), l3.abaaba, (2, 1, 3, 4, 5, 6), (5, 0, 4, 6, 2, 3)) + rdm2_f_abab_vovv += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x85, (1, 6, 0, 2, 7, 5), (7, 6, 3, 4)) * -2.0000000000000404 + x86 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x86 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x85, (1, 6, 7, 2, 5, 3), (6, 4, 7, 0)) * -1.0 + rdm2_f_abab_ooov += einsum(x86, (0, 1, 2, 3), (3, 0, 2, 1)) * 2.0 + x87 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x87 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x51, (2, 5, 6, 1, 7, 4), (0, 3, 6, 7)) * -1.0 + rdm2_f_abab_ooov += einsum(x87, (0, 1, 2, 3), (3, 0, 2, 1)) * -4.0 + x88 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x88 += einsum(t1.bb, (0, 1), x51, (2, 1, 3, 4, 5, 6), (2, 0, 3, 4, 5, 6)) + x89 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x89 += einsum(t2.abab, (0, 1, 2, 3), x88, (1, 4, 5, 0, 6, 2), (4, 3, 5, 6)) * -1.0 + rdm2_f_abab_ooov += einsum(x89, (0, 1, 2, 3), (3, 0, 2, 1)) * 2.0 + x90 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x90 += einsum(t1.bb, (0, 1), l3.babbab, (2, 3, 1, 4, 5, 6), (4, 6, 0, 2, 5, 3)) + rdm2_f_abab_vovv += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x90, (2, 0, 6, 5, 1, 7), (7, 6, 4, 3)) * -2.0000000000000404 + x91 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x91 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x90, (2, 0, 6, 5, 7, 4), (6, 3, 7, 1)) + rdm2_f_abab_ooov += einsum(x91, (0, 1, 2, 3), (3, 0, 2, 1)) * 2.0 + x92 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x92 += einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), x59, (1, 2, 4, 5, 6, 7), (0, 3, 6, 7)) + rdm2_f_abab_ooov += einsum(x92, (0, 1, 2, 3), (3, 0, 2, 1)) * -3.0 + x93 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x93 += einsum(t1.bb, (0, 1), x59, (2, 3, 1, 4, 5, 6), (3, 2, 0, 4, 5, 6)) + x94 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x94 += einsum(t2.bbbb, (0, 1, 2, 3), x93, (1, 0, 4, 3, 5, 6), (4, 2, 5, 6)) + rdm2_f_abab_ooov += einsum(x94, (0, 1, 2, 3), (3, 0, 2, 1)) * 2.0 + x95 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x95 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x45, (6, 2, 0, 7, 5, 3), (1, 4, 6, 7)) + rdm2_f_abab_ooov += einsum(x95, (0, 1, 2, 3), (3, 0, 2, 1)) * -3.0 + x96 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x96 += einsum(l1.aa, (0, 1), t2.abab, (2, 3, 0, 4), (3, 4, 1, 2)) + rdm2_f_abab_ooov += einsum(x96, (0, 1, 2, 3), (3, 0, 2, 1)) * -1.0 + x97 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x97 += einsum(l2.aaaa, (0, 1, 2, 3), t3.abaaba, (4, 5, 3, 0, 6, 1), (5, 6, 2, 4)) + rdm2_f_abab_ooov += einsum(x97, (0, 1, 2, 3), (3, 0, 2, 1)) * -2.0 + x98 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x98 += einsum(l2.abab, (0, 1, 2, 3), t3.babbab, (4, 5, 3, 6, 0, 1), (4, 6, 2, 5)) + rdm2_f_abab_ooov += einsum(x98, (0, 1, 2, 3), (3, 0, 2, 1)) * -2.0 + x99 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x99 += einsum(t2.bbbb, (0, 1, 2, 3), l3.babbab, (4, 5, 3, 0, 6, 1), (4, 2, 6, 5)) + rdm2_f_abab_vvov += einsum(x99, (0, 1, 2, 3), (3, 0, 2, 1)) * 2.0 + x100 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x100 += einsum(t2.abab, (0, 1, 2, 3), l3.abaaba, (4, 5, 2, 6, 1, 0), (5, 3, 6, 4)) + rdm2_f_abab_vvov += einsum(x100, (0, 1, 2, 3), (3, 0, 2, 1)) * 2.0 + x101 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x101 += einsum(x99, (0, 1, 2, 3), (0, 1, 2, 3)) + x101 += einsum(x100, (0, 1, 2, 3), (0, 1, 2, 3)) + rdm2_f_abab_ooov += einsum(t2.abab, (0, 1, 2, 3), x101, (3, 4, 5, 2), (0, 1, 5, 4)) * 2.0 + rdm2_f_abab_ovvv += einsum(t2.aaaa, (0, 1, 2, 3), x101, (4, 5, 1, 3), (0, 4, 2, 5)) * 4.0 + rdm2_f_abab_vovv += einsum(t2.abab, (0, 1, 2, 3), x101, (3, 4, 0, 5), (5, 1, 2, 4)) * -2.0 + rdm2_f_abab_vvvv += einsum(t1.aa, (0, 1), x101, (2, 3, 0, 4), (4, 2, 1, 3)) * 2.0 + x102 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x102 += einsum(x1, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + x102 += einsum(x12, (0, 1, 2, 3), (0, 1, 2, 3)) + x102 += einsum(x13, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0 + rdm2_f_abab_ooov += einsum(t2.abab, (0, 1, 2, 3), x102, (0, 4, 5, 2), (5, 1, 4, 3)) * -2.0 + rdm2_f_abab_oovv += einsum(x102, (0, 1, 2, 3), t3.abaaba, (0, 4, 1, 5, 6, 3), (2, 4, 5, 6)) * 2.0 + x103 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x103 += einsum(t1.bb, (0, 1), l2.abab, (2, 1, 3, 4), (4, 0, 3, 2)) + rdm2_f_abab_vooo += einsum(x103, (0, 1, 2, 3), (3, 1, 2, 0)) * -1.0 + x104 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x104 += einsum(x103, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 + x104 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) + x104 += einsum(x24, (0, 1, 2, 3), (0, 1, 2, 3)) + rdm2_f_abab_ooov += einsum(t2.abab, (0, 1, 2, 3), x104, (1, 4, 5, 2), (0, 4, 5, 3)) * 2.0 + rdm2_f_abab_oovo += einsum(t2.aaaa, (0, 1, 2, 3), x104, (4, 5, 1, 3), (0, 5, 2, 4)) * -4.0 + rdm2_f_abab_voov += einsum(t1.bb, (0, 1), x104, (0, 2, 3, 4), (4, 2, 3, 1)) * -2.0 + rdm2_f_abab_vovo = np.zeros((nvir[0], nocc[1], nvir[0], nocc[1]), dtype=types[float]) + rdm2_f_abab_vovo += einsum(t1.aa, (0, 1), x104, (2, 3, 0, 4), (4, 3, 1, 2)) * -2.0 + x105 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x105 += einsum(x19, (0, 1, 2, 3), (0, 1, 2, 3)) + x105 += einsum(x20, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x105 += einsum(x21, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + rdm2_f_abab_oovv += einsum(x105, (0, 1, 2, 3), t3.babbab, (4, 2, 0, 5, 6, 1), (3, 4, 6, 5)) * -2.0 + rdm2_f_abab_ovov = np.zeros((nocc[0], nvir[1], nocc[0], nvir[1]), dtype=types[float]) + rdm2_f_abab_ovov += einsum(t1.bb, (0, 1), x105, (0, 2, 3, 4), (4, 2, 3, 1)) * -1.0 + x106 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) + x106 += einsum(t1.bb, (0, 1), x105, (2, 1, 3, 4), (2, 0, 3, 4)) * 0.4999999999999899 + x107 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) + x107 += einsum(t1.aa, (0, 1), x25, (2, 3, 4, 1), (2, 3, 0, 4)) * 0.9999999999999798 + x108 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) + x108 += einsum(x18, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.4999999999999899 + x108 += einsum(x17, (0, 1, 2, 3), (0, 1, 2, 3)) + x108 += einsum(x16, (0, 1, 2, 3), (0, 1, 2, 3)) + x108 += einsum(x106, (0, 1, 2, 3), (0, 1, 2, 3)) + del x106 + x108 += einsum(x107, (0, 1, 2, 3), (0, 1, 3, 2)) + del x107 + rdm2_f_abab_ooov += einsum(t1.bb, (0, 1), x108, (0, 2, 3, 4), (4, 2, 3, 1)) * 2.0000000000000404 + rdm2_f_abab_oovo += einsum(t1.aa, (0, 1), x108, (2, 3, 0, 4), (4, 3, 1, 2)) * 2.0000000000000404 + del x108 + x109 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x109 += einsum(l1.bb, (0, 1), t2.bbbb, (2, 1, 3, 0), (2, 3)) + x110 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x110 += einsum(l1.aa, (0, 1), t2.abab, (1, 2, 0, 3), (2, 3)) + x111 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x111 += einsum(l2.bbbb, (0, 1, 2, 3), t3.bbbbbb, (4, 2, 3, 5, 0, 1), (4, 5)) + x112 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x112 += einsum(l2.abab, (0, 1, 2, 3), t3.babbab, (4, 2, 3, 5, 0, 1), (4, 5)) + x113 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x113 += einsum(l2.aaaa, (0, 1, 2, 3), t3.abaaba, (2, 4, 3, 0, 5, 1), (4, 5)) + x114 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x114 += einsum(t1.bb, (0, 1), l3.bbbbbb, (2, 3, 1, 4, 5, 6), (4, 5, 6, 0, 2, 3)) + x115 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x115 += einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), x114, (0, 1, 2, 6, 4, 5), (6, 3)) + x116 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x116 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x90, (2, 0, 6, 5, 1, 4), (6, 3)) + x117 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x117 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x85, (1, 6, 0, 2, 3, 5), (6, 4)) + x118 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x118 += einsum(x38, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + x118 += einsum(x40, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0 + x118 += einsum(x41, (0, 1, 2, 3), (0, 1, 2, 3)) + rdm2_f_abab_oovo += einsum(t2.abab, (0, 1, 2, 3), x118, (1, 4, 5, 3), (0, 5, 2, 4)) * -2.0 + rdm2_f_abab_oovv += einsum(x118, (0, 1, 2, 3), t3.babbab, (0, 4, 1, 5, 6, 3), (4, 2, 6, 5)) * 2.0 + x119 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x119 += einsum(x28, (0, 1), (0, 1)) + x119 += einsum(x29, (0, 1), (0, 1)) * 2.0 + x119 += einsum(x30, (0, 1), (0, 1)) + x119 += einsum(x31, (0, 1), (0, 1)) * 2.9999999999998788 + x119 += einsum(x32, (0, 1), (0, 1)) * 1.9999999999999194 + x119 += einsum(x33, (0, 1), (0, 1)) * 0.9999999999999601 + rdm2_f_abab_oovv += einsum(x119, (0, 1), t2.abab, (2, 0, 3, 4), (2, 1, 3, 4)) * -1.0 + x120 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x120 += einsum(t1.bb, (0, 1), (0, 1)) * -1.0 + x120 += einsum(x109, (0, 1), (0, 1)) * -2.0 + x120 += einsum(x110, (0, 1), (0, 1)) * -1.0 + x120 += einsum(x111, (0, 1), (0, 1)) * -3.0 + x120 += einsum(x112, (0, 1), (0, 1)) * -2.0 + x120 += einsum(x113, (0, 1), (0, 1)) * -1.0 + x120 += einsum(x115, (0, 1), (0, 1)) * 2.9999999999998788 + x120 += einsum(x116, (0, 1), (0, 1)) * 1.9999999999999194 + x120 += einsum(x117, (0, 1), (0, 1)) * 0.9999999999999601 + x120 += einsum(t2.bbbb, (0, 1, 2, 3), x118, (0, 1, 4, 3), (4, 2)) * -2.0 + x120 += einsum(t2.abab, (0, 1, 2, 3), x104, (1, 4, 0, 2), (4, 3)) * 2.0 + x120 += einsum(t1.bb, (0, 1), x119, (0, 2), (2, 1)) + rdm2_f_abab_ooov += einsum(delta.aa.oo, (0, 1), x120, (2, 3), (0, 2, 1, 3)) * -1.0 + del x120 + x121 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x121 += einsum(l1.bb, (0, 1), t2.bbbb, (2, 3, 4, 0), (1, 2, 3, 4)) + rdm2_f_bbbb_ooov = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + rdm2_f_bbbb_ooov += einsum(x121, (0, 1, 2, 3), (2, 1, 0, 3)) * -2.0 + rdm2_f_bbbb_oovo = np.zeros((nocc[1], nocc[1], nvir[1], nocc[1]), dtype=types[float]) + rdm2_f_bbbb_oovo += einsum(x121, (0, 1, 2, 3), (2, 1, 3, 0)) * 2.0 + x122 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x122 += einsum(t1.bb, (0, 1), x90, (2, 3, 4, 1, 5, 6), (2, 3, 4, 0, 5, 6)) * -1.0 + x123 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x123 += einsum(t2.abab, (0, 1, 2, 3), x122, (4, 1, 5, 6, 0, 2), (4, 6, 5, 3)) * -1.0 + rdm2_f_bbbb_ooov += einsum(x123, (0, 1, 2, 3), (1, 2, 0, 3)) * 2.0 + rdm2_f_bbbb_oovo += einsum(x123, (0, 1, 2, 3), (1, 2, 3, 0)) * -2.0 + x124 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x124 += einsum(l2.bbbb, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 3, 6, 0, 1), (2, 4, 5, 6)) + rdm2_f_bbbb_ooov += einsum(x124, (0, 1, 2, 3), (1, 2, 0, 3)) * 6.0 + rdm2_f_bbbb_oovo += einsum(x124, (0, 1, 2, 3), (1, 2, 3, 0)) * -6.0 + x125 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x125 += einsum(l2.abab, (0, 1, 2, 3), t3.babbab, (4, 2, 5, 6, 0, 1), (3, 4, 5, 6)) + rdm2_f_bbbb_ooov += einsum(x125, (0, 1, 2, 3), (1, 2, 0, 3)) * 2.0 + rdm2_f_bbbb_oovo += einsum(x125, (0, 1, 2, 3), (1, 2, 3, 0)) * -2.0 + x126 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x126 += einsum(t1.bb, (0, 1), x114, (2, 3, 4, 5, 1, 6), (3, 4, 2, 5, 0, 6)) + x127 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x127 += einsum(t2.bbbb, (0, 1, 2, 3), x126, (0, 1, 4, 5, 6, 3), (4, 6, 5, 2)) * -1.0 + rdm2_f_bbbb_ooov += einsum(x127, (0, 1, 2, 3), (1, 2, 0, 3)) * 6.0 + rdm2_f_bbbb_oovo += einsum(x127, (0, 1, 2, 3), (1, 2, 3, 0)) * -6.0 + x128 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x128 += einsum(t2.bbbb, (0, 1, 2, 3), x118, (0, 1, 4, 3), (4, 2)) * -1.0 + x129 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x129 += einsum(t2.abab, (0, 1, 2, 3), x104, (1, 4, 0, 2), (4, 3)) + del x104 + x130 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x130 += einsum(t1.bb, (0, 1), x119, (0, 2), (2, 1)) * 0.5 + x131 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x131 += einsum(x109, (0, 1), (0, 1)) * -1.0 + del x109 + x131 += einsum(x110, (0, 1), (0, 1)) * -0.5 + del x110 + x131 += einsum(x111, (0, 1), (0, 1)) * -1.5 + del x111 + x131 += einsum(x112, (0, 1), (0, 1)) * -1.0 + del x112 + x131 += einsum(x113, (0, 1), (0, 1)) * -0.5 + del x113 + x131 += einsum(x115, (0, 1), (0, 1)) * 1.4999999999999394 + del x115 + x131 += einsum(x116, (0, 1), (0, 1)) * 0.9999999999999597 + del x116 + x131 += einsum(x117, (0, 1), (0, 1)) * 0.49999999999998007 + del x117 + x131 += einsum(x128, (0, 1), (0, 1)) + del x128 + x131 += einsum(x129, (0, 1), (0, 1)) + del x129 + x131 += einsum(x130, (0, 1), (0, 1)) + del x130 + rdm2_f_bbbb_ooov += einsum(delta.bb.oo, (0, 1), x131, (2, 3), (0, 2, 1, 3)) * -2.0 + rdm2_f_bbbb_ooov += einsum(delta.bb.oo, (0, 1), x131, (2, 3), (2, 0, 1, 3)) * 2.0 + rdm2_f_bbbb_oovo += einsum(delta.bb.oo, (0, 1), x131, (2, 3), (0, 2, 3, 1)) * 2.0 + rdm2_f_bbbb_oovo += einsum(delta.bb.oo, (0, 1), x131, (2, 3), (2, 0, 3, 1)) * -2.0 + rdm2_f_abab_oovv += einsum(t1.aa, (0, 1), x131, (2, 3), (0, 2, 1, 3)) * -2.0 + x132 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x132 += einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), x114, (6, 1, 2, 7, 4, 5), (6, 7, 0, 3)) + x133 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x133 += einsum(t1.bb, (0, 1), x40, (2, 3, 4, 1), (2, 3, 0, 4)) + x134 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x134 += einsum(t1.bb, (0, 1), x133, (0, 2, 3, 4), (2, 3, 4, 1)) * -1.0 + del x133 + x135 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x135 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x90, (6, 2, 7, 5, 1, 4), (6, 7, 0, 3)) * -1.0 + x136 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x136 += einsum(t2.abab, (0, 1, 2, 3), x24, (4, 5, 0, 2), (4, 1, 5, 3)) + x137 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x137 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x85, (6, 7, 0, 2, 5, 3), (6, 7, 1, 4)) * -1.0 + x138 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x138 += einsum(x38, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + x138 += einsum(x40, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0 + x139 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x139 += einsum(t2.bbbb, (0, 1, 2, 3), x138, (1, 4, 5, 3), (4, 5, 0, 2)) * 4.0 + del x138 + x140 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x140 += einsum(x103, (0, 1, 2, 3), (0, 1, 2, 3)) + x140 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x141 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x141 += einsum(t2.abab, (0, 1, 2, 3), x140, (4, 5, 0, 2), (4, 5, 1, 3)) + del x140 + x142 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x142 += einsum(t2.bbbb, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x142 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1)) * -1.0 + x143 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x143 += einsum(x142, (0, 1, 2, 3), x41, (4, 0, 5, 2), (1, 4, 5, 3)) * 2.0 + del x142 + x144 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x144 += einsum(delta.bb.oo, (0, 1), t1.bb, (2, 3), (0, 1, 2, 3)) + x144 += einsum(x132, (0, 1, 2, 3), (1, 0, 2, 3)) * -9.0 + x144 += einsum(x134, (0, 1, 2, 3), (1, 0, 2, 3)) * 6.0 + del x134 + x144 += einsum(x135, (0, 1, 2, 3), (1, 0, 2, 3)) * -4.0 + x144 += einsum(x136, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 + x144 += einsum(x137, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + x144 += einsum(x139, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x139 + x144 += einsum(x141, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x141 + x144 += einsum(x143, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x143 + x144 += einsum(t1.bb, (0, 1), x119, (2, 3), (0, 2, 3, 1)) + del x119 + rdm2_f_bbbb_ooov += einsum(x144, (0, 1, 2, 3), (0, 2, 1, 3)) + rdm2_f_bbbb_ooov += einsum(x144, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 + rdm2_f_bbbb_oovo += einsum(x144, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 + rdm2_f_bbbb_oovo += einsum(x144, (0, 1, 2, 3), (2, 0, 3, 1)) + del x144 + x145 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x145 += einsum(t2.bbbb, (0, 1, 2, 3), l3.bbbbbb, (4, 5, 3, 6, 0, 1), (6, 4, 5, 2)) + rdm2_f_bbbb_vvov = np.zeros((nvir[1], nvir[1], nocc[1], nvir[1]), dtype=types[float]) + rdm2_f_bbbb_vvov += einsum(x145, (0, 1, 2, 3), (1, 2, 0, 3)) * 6.0 + rdm2_f_bbbb_vvvo = np.zeros((nvir[1], nvir[1], nvir[1], nocc[1]), dtype=types[float]) + rdm2_f_bbbb_vvvo += einsum(x145, (0, 1, 2, 3), (1, 2, 3, 0)) * -6.0 + x146 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x146 += einsum(t2.abab, (0, 1, 2, 3), l3.babbab, (4, 2, 5, 6, 0, 1), (6, 4, 5, 3)) + rdm2_f_bbbb_vvov += einsum(x146, (0, 1, 2, 3), (1, 2, 0, 3)) * 2.0 + rdm2_f_bbbb_vvvo += einsum(x146, (0, 1, 2, 3), (1, 2, 3, 0)) * -2.0 + x147 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x147 += einsum(x145, (0, 1, 2, 3), (0, 2, 1, 3)) * -3.0 + x147 += einsum(x146, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + rdm2_f_abab_oovv += einsum(x147, (0, 1, 2, 3), t3.babbab, (4, 5, 0, 1, 6, 2), (5, 4, 6, 3)) * 2.0 + rdm2_f_abab_ovvv += einsum(t2.abab, (0, 1, 2, 3), x147, (1, 4, 3, 5), (0, 4, 2, 5)) * -2.0 + x148 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x148 += einsum(t2.bbbb, (0, 1, 2, 3), x147, (4, 2, 3, 5), (4, 0, 1, 5)) * 2.0 + del x147 + rdm2_f_bbbb_ooov += einsum(x148, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 + rdm2_f_bbbb_oovo += einsum(x148, (0, 1, 2, 3), (2, 1, 3, 0)) + del x148 + x149 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x149 += einsum(x37, (0, 1, 2, 3), (1, 0, 3, 2)) * -0.9999999999999798 + x149 += einsum(x39, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.9999999999999798 + x149 += einsum(x35, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.999999999999998 + x149 += einsum(x36, (0, 1, 2, 3), (0, 1, 3, 2)) + x150 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x150 += einsum(t1.bb, (0, 1), x149, (0, 2, 3, 4), (2, 3, 4, 1)) * 2.0000000000000404 + del x149 + rdm2_f_bbbb_ooov += einsum(x150, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 + rdm2_f_bbbb_oovo += einsum(x150, (0, 1, 2, 3), (2, 1, 3, 0)) + del x150 + x151 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x151 += einsum(l2.bbbb, (0, 1, 2, 3), t3.babbab, (4, 5, 3, 0, 6, 1), (2, 4, 5, 6)) + rdm2_f_abab_oovo += einsum(x151, (0, 1, 2, 3), (2, 1, 3, 0)) * -2.0 + x152 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x152 += einsum(l1.bb, (0, 1), t2.abab, (2, 3, 4, 0), (1, 3, 2, 4)) + rdm2_f_abab_oovo += einsum(x152, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 + x153 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x153 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x114, (0, 2, 6, 7, 3, 5), (6, 7, 1, 4)) + rdm2_f_abab_oovo += einsum(x153, (0, 1, 2, 3), (2, 1, 3, 0)) * -3.0 + x154 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x154 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x59, (2, 6, 3, 5, 1, 7), (6, 0, 7, 4)) * -1.0 + rdm2_f_abab_oovo += einsum(x154, (0, 1, 2, 3), (2, 1, 3, 0)) * 2.0 + x155 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x155 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x90, (1, 6, 7, 4, 2, 5), (6, 7, 0, 3)) + rdm2_f_abab_oovo += einsum(x155, (0, 1, 2, 3), (2, 1, 3, 0)) * -4.0 + x156 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x156 += einsum(t2.abab, (0, 1, 2, 3), x93, (1, 4, 5, 3, 0, 6), (4, 5, 6, 2)) + rdm2_f_abab_oovo += einsum(x156, (0, 1, 2, 3), (2, 1, 3, 0)) * 2.0 + x157 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x157 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x51, (6, 4, 0, 2, 7, 5), (6, 1, 7, 3)) * -1.0 + rdm2_f_abab_oovo += einsum(x157, (0, 1, 2, 3), (2, 1, 3, 0)) * 2.0 + x158 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x158 += einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), x85, (6, 7, 1, 2, 4, 5), (6, 7, 0, 3)) + rdm2_f_abab_oovo += einsum(x158, (0, 1, 2, 3), (2, 1, 3, 0)) * -3.0 + x159 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x159 += einsum(t2.aaaa, (0, 1, 2, 3), x88, (4, 5, 1, 0, 6, 3), (4, 5, 6, 2)) + rdm2_f_abab_oovo += einsum(x159, (0, 1, 2, 3), (2, 1, 3, 0)) * 2.0 + x160 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x160 += einsum(l2.abab, (0, 1, 2, 3), t3.abaaba, (4, 5, 2, 6, 1, 0), (3, 5, 4, 6)) + rdm2_f_abab_oovo += einsum(x160, (0, 1, 2, 3), (2, 1, 3, 0)) * -2.0 + x161 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) + x161 += einsum(t2.abab, (0, 1, 2, 3), l3.babbab, (4, 5, 3, 6, 0, 1), (6, 4, 5, 2)) + rdm2_f_abab_vvvo = np.zeros((nvir[0], nvir[1], nvir[0], nocc[1]), dtype=types[float]) + rdm2_f_abab_vvvo += einsum(x161, (0, 1, 2, 3), (2, 1, 3, 0)) * 2.0 + x162 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) + x162 += einsum(t2.aaaa, (0, 1, 2, 3), l3.abaaba, (4, 5, 3, 0, 6, 1), (6, 5, 4, 2)) + rdm2_f_abab_vvvo += einsum(x162, (0, 1, 2, 3), (2, 1, 3, 0)) * 2.0 + x163 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) + x163 += einsum(x161, (0, 1, 2, 3), (0, 1, 2, 3)) + x163 += einsum(x162, (0, 1, 2, 3), (0, 1, 2, 3)) + rdm2_f_abab_oovo += einsum(t2.abab, (0, 1, 2, 3), x163, (4, 3, 2, 5), (0, 1, 5, 4)) * 2.0 + rdm2_f_abab_ovvv += einsum(t2.abab, (0, 1, 2, 3), x163, (1, 4, 2, 5), (0, 4, 5, 3)) * -2.0 + rdm2_f_abab_vovv += einsum(t2.bbbb, (0, 1, 2, 3), x163, (1, 3, 4, 5), (4, 0, 5, 2)) * 4.0 + x164 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x164 += einsum(t1.aa, (0, 1), (0, 1)) * -1.0 + x164 += einsum(x54, (0, 1), (0, 1)) * -1.0 + del x54 + x164 += einsum(x55, (0, 1), (0, 1)) * -2.0 + del x55 + x164 += einsum(x56, (0, 1), (0, 1)) * -1.0 + del x56 + x164 += einsum(x57, (0, 1), (0, 1)) * -2.0 + del x57 + x164 += einsum(x58, (0, 1), (0, 1)) * -3.0 + del x58 + x164 += einsum(x60, (0, 1), (0, 1)) * 0.9999999999999601 + del x60 + x164 += einsum(x61, (0, 1), (0, 1)) * 1.9999999999999194 + del x61 + x164 += einsum(x62, (0, 1), (0, 1)) * 2.9999999999998788 + del x62 + x164 += einsum(x63, (0, 1), (0, 1)) + del x63 + x164 += einsum(x65, (0, 1), (0, 1)) + del x65 + x164 += einsum(x67, (0, 1), (0, 1)) + del x67 + rdm2_f_abab_oovo += einsum(delta.bb.oo, (0, 1), x164, (2, 3), (2, 0, 3, 1)) * -1.0 + rdm2_f_abab_oovv += einsum(t1.bb, (0, 1), x164, (2, 3), (2, 0, 3, 1)) * -1.0 + del x164 + x165 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x165 += einsum(t2.abab, (0, 1, 2, 3), x59, (4, 1, 5, 3, 0, 6), (4, 5, 6, 2)) + rdm2_f_abab_ovvo += einsum(x165, (0, 1, 2, 3), (2, 1, 3, 0)) * -2.0 + x166 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x166 += einsum(t2.abab, (0, 1, 2, 3), x165, (1, 3, 4, 5), (4, 0, 2, 5)) + x167 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x167 += einsum(l2.abab, (0, 1, 2, 3), t2.aaaa, (4, 2, 5, 0), (3, 1, 4, 5)) + rdm2_f_abab_ovvo += einsum(x167, (0, 1, 2, 3), (2, 1, 3, 0)) * 2.0 + x168 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x168 += einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), t3.babbab, (4, 6, 5, 1, 7, 2), (3, 0, 6, 7)) + rdm2_f_abab_ovvo += einsum(x168, (0, 1, 2, 3), (2, 1, 3, 0)) * 3.0 + x169 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x169 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.abaaba, (6, 5, 4, 7, 2, 1), (3, 0, 6, 7)) + rdm2_f_abab_ovvo += einsum(x169, (0, 1, 2, 3), (2, 1, 3, 0)) * 4.0 + x170 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x170 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.aaaaaa, (6, 3, 5, 7, 0, 2), (4, 1, 6, 7)) + rdm2_f_abab_ovvo += einsum(x170, (0, 1, 2, 3), (2, 1, 3, 0)) * 3.0 + x171 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x171 += einsum(x167, (0, 1, 2, 3), (0, 1, 2, 3)) + x171 += einsum(x168, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.5 + x171 += einsum(x169, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x171 += einsum(x170, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.5 + x172 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x172 += einsum(t2.abab, (0, 1, 2, 3), x171, (1, 3, 4, 5), (4, 0, 5, 2)) * 2.0 + del x171 + x173 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x173 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (3, 6, 5, 0, 7, 2), (4, 6, 1, 7)) + rdm2_f_aaaa_ovov += einsum(x173, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 + rdm2_f_aaaa_ovvo += einsum(x173, (0, 1, 2, 3), (1, 2, 3, 0)) + rdm2_f_aaaa_voov += einsum(x173, (0, 1, 2, 3), (2, 1, 0, 3)) + rdm2_f_aaaa_vovo += einsum(x173, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 + x174 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x174 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (6, 4, 5, 7, 1, 2), (3, 6, 0, 7)) + rdm2_f_aaaa_ovov += einsum(x174, (0, 1, 2, 3), (1, 2, 0, 3)) * -4.0 + rdm2_f_aaaa_ovvo += einsum(x174, (0, 1, 2, 3), (1, 2, 3, 0)) * 4.0 + rdm2_f_aaaa_voov += einsum(x174, (0, 1, 2, 3), (2, 1, 0, 3)) * 4.0 + rdm2_f_aaaa_vovo += einsum(x174, (0, 1, 2, 3), (2, 1, 3, 0)) * -4.0 + x175 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x175 += einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), t3.aaaaaa, (6, 4, 5, 7, 1, 2), (3, 6, 0, 7)) + rdm2_f_aaaa_ovov += einsum(x175, (0, 1, 2, 3), (1, 2, 0, 3)) * -9.0 + rdm2_f_aaaa_ovvo += einsum(x175, (0, 1, 2, 3), (1, 2, 3, 0)) * 9.0 + rdm2_f_aaaa_voov += einsum(x175, (0, 1, 2, 3), (2, 1, 0, 3)) * 9.0 + rdm2_f_aaaa_vovo += einsum(x175, (0, 1, 2, 3), (2, 1, 3, 0)) * -9.0 + x176 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x176 += einsum(x173, (0, 1, 2, 3), (0, 1, 2, 3)) + x176 += einsum(x174, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.0 + x176 += einsum(x175, (0, 1, 2, 3), (0, 1, 2, 3)) * 9.0 + x177 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x177 += einsum(t2.aaaa, (0, 1, 2, 3), x176, (1, 4, 3, 5), (4, 0, 5, 2)) * 2.0 + del x176 + x178 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x178 += einsum(t2.abab, (0, 1, 2, 3), x51, (1, 3, 4, 0, 5, 6), (4, 5, 6, 2)) + rdm2_f_aaaa_ovov += einsum(x178, (0, 1, 2, 3), (1, 2, 0, 3)) * 2.0 + rdm2_f_aaaa_ovvo += einsum(x178, (0, 1, 2, 3), (1, 2, 3, 0)) * -2.0 + rdm2_f_aaaa_voov += einsum(x178, (0, 1, 2, 3), (2, 1, 0, 3)) * -2.0 + rdm2_f_aaaa_vovo += einsum(x178, (0, 1, 2, 3), (2, 1, 3, 0)) * 2.0 + x179 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x179 += einsum(t2.aaaa, (0, 1, 2, 3), x45, (4, 1, 0, 5, 6, 3), (4, 5, 6, 2)) + rdm2_f_aaaa_ovov += einsum(x179, (0, 1, 2, 3), (1, 2, 0, 3)) * 6.0 + rdm2_f_aaaa_ovvo += einsum(x179, (0, 1, 2, 3), (1, 2, 3, 0)) * -6.0 + rdm2_f_aaaa_voov += einsum(x179, (0, 1, 2, 3), (2, 1, 0, 3)) * -6.0 + rdm2_f_aaaa_vovo += einsum(x179, (0, 1, 2, 3), (2, 1, 3, 0)) * 6.0 + x180 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x180 += einsum(t1.aa, (0, 1), x14, (2, 0, 3, 4), (2, 3, 1, 4)) + x181 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x181 += einsum(x178, (0, 1, 2, 3), (0, 1, 2, 3)) + x181 += einsum(x179, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0 + x181 += einsum(x180, (0, 1, 2, 3), (0, 1, 3, 2)) + x182 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x182 += einsum(t2.aaaa, (0, 1, 2, 3), x181, (1, 4, 3, 5), (4, 0, 5, 2)) * 4.0 + del x181 + x183 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x183 += einsum(t2.aaaa, (0, 1, 2, 3), x51, (4, 5, 0, 1, 6, 3), (4, 5, 6, 2)) * -1.0 + rdm2_f_abab_ovvo += einsum(x183, (0, 1, 2, 3), (2, 1, 3, 0)) * -2.0 + x184 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x184 += einsum(t1.aa, (0, 1), x21, (2, 3, 0, 4), (2, 3, 4, 1)) + x185 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x185 += einsum(x183, (0, 1, 2, 3), (0, 1, 2, 3)) + x185 += einsum(x184, (0, 1, 2, 3), (0, 1, 2, 3)) + del x184 + x186 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x186 += einsum(t2.abab, (0, 1, 2, 3), x185, (1, 3, 4, 5), (4, 0, 5, 2)) * 2.0 + del x185 + x187 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x187 += einsum(t2.abab, (0, 1, 2, 3), x19, (1, 3, 4, 5), (4, 5, 0, 2)) + x188 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x188 += einsum(t2.aaaa, (0, 1, 2, 3), x1, (4, 1, 5, 3), (4, 5, 0, 2)) * -1.0 + x189 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x189 += einsum(x187, (0, 1, 2, 3), (0, 1, 2, 3)) + del x187 + x189 += einsum(x188, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.0 + del x188 + x189 += einsum(x70, (0, 1, 2, 3), (0, 1, 2, 3)) + del x70 + x189 += einsum(x69, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 + del x69 + x189 += einsum(x71, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.0 + del x71 + x189 += einsum(x72, (0, 1, 2, 3), (0, 1, 2, 3)) * 9.0 + del x72 + x190 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x190 += einsum(t1.aa, (0, 1), x189, (0, 2, 3, 4), (2, 3, 4, 1)) + del x189 + x191 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x191 += einsum(x166, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 + del x166 + x191 += einsum(x172, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x172 + x191 += einsum(x177, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x177 + x191 += einsum(x182, (0, 1, 2, 3), (0, 1, 2, 3)) + del x182 + x191 += einsum(x186, (0, 1, 2, 3), (0, 1, 2, 3)) + del x186 + x191 += einsum(x190, (0, 1, 2, 3), (0, 1, 3, 2)) + del x190 + x191 += einsum(t1.aa, (0, 1), x68, (2, 3), (0, 2, 1, 3)) + del x68 + rdm2_f_aaaa_oovv += einsum(x191, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + rdm2_f_aaaa_oovv += einsum(x191, (0, 1, 2, 3), (0, 1, 3, 2)) + rdm2_f_aaaa_oovv += einsum(x191, (0, 1, 2, 3), (1, 0, 2, 3)) + rdm2_f_aaaa_oovv += einsum(x191, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x191 + x192 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x192 += einsum(x11, (0, 1), t2.aaaa, (2, 0, 3, 4), (1, 2, 3, 4)) + x193 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x193 += einsum(x74, (0, 1, 2, 3), t3.abaaba, (4, 0, 2, 5, 1, 6), (4, 3, 5, 6)) * -2.0 + del x74 + x194 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x194 += einsum(x1, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + x194 += einsum(x12, (0, 1, 2, 3), (0, 1, 2, 3)) + x195 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x195 += einsum(x194, (0, 1, 2, 3), t3.aaaaaa, (4, 0, 1, 5, 6, 3), (2, 4, 5, 6)) * -6.0 + del x194 + x196 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x196 += einsum(t1.aa, (0, 1), x14, (2, 3, 4, 1), (0, 2, 3, 4)) * 0.3333333333333333 + del x14 + x197 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x197 += einsum(t2.aaaa, (0, 1, 2, 3), (0, 1, 2, 3)) + x197 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 1, 3)) + x198 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x198 += einsum(x196, (0, 1, 2, 3), x197, (1, 2, 4, 5), (0, 3, 4, 5)) * 6.0 + del x196, x197 + x199 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x199 += einsum(x5, (0, 1), (0, 1)) * 0.5000000000000203 + x199 += einsum(x6, (0, 1), (0, 1)) * 1.0000000000000406 + x199 += einsum(x8, (0, 1), (0, 1)) + x200 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x200 += einsum(x199, (0, 1), t2.aaaa, (2, 0, 3, 4), (1, 2, 3, 4)) * -3.999999999999838 + del x199 + x201 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x201 += einsum(x192, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 + del x192 + x201 += einsum(x193, (0, 1, 2, 3), (1, 0, 3, 2)) + del x193 + x201 += einsum(x195, (0, 1, 2, 3), (0, 1, 2, 3)) + del x195 + x201 += einsum(x198, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x198 + x201 += einsum(x200, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x200 + rdm2_f_aaaa_oovv += einsum(x201, (0, 1, 2, 3), (0, 1, 2, 3)) + rdm2_f_aaaa_oovv += einsum(x201, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x201 + x202 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x202 += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 3, 5, 1), (2, 4, 0, 5)) + rdm2_f_aaaa_ovov += einsum(x202, (0, 1, 2, 3), (1, 2, 0, 3)) * -4.0 + rdm2_f_aaaa_ovvo += einsum(x202, (0, 1, 2, 3), (1, 2, 3, 0)) * 4.0 + rdm2_f_aaaa_voov += einsum(x202, (0, 1, 2, 3), (2, 1, 0, 3)) * 4.0 + rdm2_f_aaaa_vovo += einsum(x202, (0, 1, 2, 3), (2, 1, 3, 0)) * -4.0 + x203 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x203 += einsum(t2.aaaa, (0, 1, 2, 3), x202, (1, 4, 3, 5), (0, 4, 2, 5)) + x204 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x204 += einsum(x163, (0, 1, 2, 3), t3.abaaba, (4, 0, 5, 6, 1, 2), (4, 5, 3, 6)) * -4.0 + x205 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x205 += einsum(x79, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + del x79 + x205 += einsum(x80, (0, 1, 2, 3), (0, 2, 1, 3)) * -3.0 + del x80 + rdm2_f_abab_vovv += einsum(t2.abab, (0, 1, 2, 3), x205, (0, 4, 2, 5), (4, 1, 5, 3)) * -2.0 + x206 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x206 += einsum(x205, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 0, 6, 1, 2), (4, 5, 3, 6)) * -6.0 + x207 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x207 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 4, 1), (0, 4)) + x208 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x208 += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (2, 3, 4, 1), (0, 4)) + x209 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x209 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (3, 4, 5, 0, 6, 2), (1, 6)) + x210 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x210 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (3, 4, 5, 6, 1, 2), (0, 6)) + x211 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x211 += einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), t3.aaaaaa, (3, 4, 5, 6, 1, 2), (0, 6)) + x212 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x212 += einsum(x207, (0, 1), (0, 1)) + x212 += einsum(x208, (0, 1), (0, 1)) * 2.0 + x212 += einsum(x209, (0, 1), (0, 1)) * 0.9999999999999597 + x212 += einsum(x210, (0, 1), (0, 1)) * 1.999999999999919 + x212 += einsum(x211, (0, 1), (0, 1)) * 2.999999999999883 + x213 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x213 += einsum(x212, (0, 1), t2.aaaa, (2, 3, 4, 0), (2, 3, 1, 4)) * -2.0 + del x212 + x214 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x214 += einsum(t2.aaaa, (0, 1, 2, 3), x205, (4, 2, 3, 5), (4, 0, 1, 5)) + x215 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x215 += einsum(x50, (0, 1, 2, 3), (0, 2, 1, 3)) + del x50 + x215 += einsum(x49, (0, 1, 2, 3), (0, 2, 1, 3)) + del x49 + x215 += einsum(x48, (0, 1, 2, 3), (0, 2, 1, 3)) * 3.0 + del x48 + x215 += einsum(x53, (0, 1, 2, 3), (0, 2, 1, 3)) + del x53 + x215 += einsum(x47, (0, 1, 2, 3), (0, 2, 1, 3)) * 3.0 + del x47 + x215 += einsum(x214, (0, 1, 2, 3), (0, 2, 1, 3)) + del x214 + x216 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x216 += einsum(t1.aa, (0, 1), x215, (0, 2, 3, 4), (2, 3, 4, 1)) * 2.0 + del x215 + x217 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x217 += einsum(x203, (0, 1, 2, 3), (0, 1, 2, 3)) * 8.0 + del x203 + x217 += einsum(x204, (0, 1, 2, 3), (1, 0, 2, 3)) + del x204 + x217 += einsum(x206, (0, 1, 2, 3), (0, 1, 2, 3)) + del x206 + x217 += einsum(x213, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x213 + x217 += einsum(x216, (0, 1, 2, 3), (1, 0, 3, 2)) + del x216 + rdm2_f_aaaa_oovv += einsum(x217, (0, 1, 2, 3), (0, 1, 2, 3)) + rdm2_f_aaaa_oovv += einsum(x217, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x217 + x218 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x218 += einsum(l2.bbbb, (0, 1, 2, 3), t2.abab, (4, 3, 5, 1), (2, 0, 4, 5)) + rdm2_f_abab_ovvo += einsum(x218, (0, 1, 2, 3), (2, 1, 3, 0)) * 2.0 + x219 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x219 += einsum(t2.abab, (0, 1, 2, 3), x218, (1, 3, 4, 5), (4, 0, 5, 2)) + x220 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x220 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 1, 3)) + x220 += einsum(x219, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 + del x219 + rdm2_f_aaaa_oovv += einsum(x220, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + rdm2_f_aaaa_oovv += einsum(x220, (0, 1, 2, 3), (0, 1, 2, 3)) + del x220 + x221 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x221 += einsum(x20, (0, 1, 2, 3), t3.abaaba, (4, 0, 2, 5, 1, 6), (3, 4, 5, 6)) + x222 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x222 += einsum(x13, (0, 1, 2, 3), t3.aaaaaa, (4, 0, 1, 5, 6, 3), (2, 4, 5, 6)) + x223 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x223 += einsum(x7, (0, 1), (0, 1)) + x223 += einsum(x9, (0, 1), (0, 1)) * 3.000000000000004 + x224 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x224 += einsum(x223, (0, 1), t2.aaaa, (2, 0, 3, 4), (1, 2, 3, 4)) * -1.9999999999999194 + del x223 + x225 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x225 += einsum(x221, (0, 1, 2, 3), (0, 1, 3, 2)) * -4.0 + del x221 + x225 += einsum(x222, (0, 1, 2, 3), (0, 1, 2, 3)) * -18.0 + del x222 + x225 += einsum(x224, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x224 + rdm2_f_aaaa_oovv += einsum(x225, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + rdm2_f_aaaa_oovv += einsum(x225, (0, 1, 2, 3), (1, 0, 3, 2)) + del x225 + x226 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x226 += einsum(t2.aaaa, (0, 1, 2, 3), l3.abaaba, (2, 4, 3, 5, 6, 7), (6, 4, 5, 7, 0, 1)) + x226 += einsum(x52, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * 1.0000000000000606 + del x52 + rdm2_f_aaaa_oovv += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x226, (1, 4, 0, 2, 6, 7), (6, 7, 3, 5)) * 1.9999999999999194 + del x226 + x227 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x227 += einsum(t2.aaaa, (0, 1, 2, 3), l3.aaaaaa, (4, 2, 3, 5, 6, 7), (5, 6, 7, 0, 1, 4)) + x227 += einsum(x46, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0000000000000584 + del x46 + rdm2_f_aaaa_oovv += einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), x227, (0, 1, 2, 6, 7, 5), (6, 7, 3, 4)) * 5.999999999999766 + del x227 + x228 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x228 += einsum(x0, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0000000000000404 + x228 += einsum(x2, (0, 1, 2, 3), (0, 1, 3, 2)) * 1.0000000000000404 + x228 += einsum(x3, (0, 1, 2, 3), (0, 1, 3, 2)) + x228 += einsum(x4, (0, 1, 2, 3), (0, 1, 3, 2)) * 3.000000000000004 + rdm2_f_aaaa_oovv += einsum(t2.aaaa, (0, 1, 2, 3), x228, (0, 1, 4, 5), (5, 4, 2, 3)) * 1.9999999999999194 + del x228 + x229 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x229 += einsum(x0, (0, 1, 2, 3), (1, 0, 3, 2)) * -0.9999999999999799 + del x0 + x229 += einsum(x2, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.9999999999999799 + del x2 + x229 += einsum(x3, (0, 1, 2, 3), (0, 1, 3, 2)) + del x3 + x229 += einsum(x4, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.999999999999998 + del x4 + x230 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x230 += einsum(t1.aa, (0, 1), x229, (0, 2, 3, 4), (2, 4, 3, 1)) * -0.3333333333333336 + del x229 + rdm2_f_aaaa_oovv += einsum(t1.aa, (0, 1), x230, (0, 2, 3, 4), (2, 3, 4, 1)) * -6.000000000000116 + del x230 + x231 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x231 += einsum(t2.abab, (0, 1, 2, 3), l3.abaaba, (4, 3, 2, 5, 6, 7), (6, 1, 5, 7, 0, 4)) + x231 += einsum(x88, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0000000000000606 + del x88 + rdm2_f_abab_oovv += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x231, (1, 6, 0, 2, 7, 5), (7, 6, 3, 4)) * -1.9999999999999194 + del x231 + x232 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x232 += einsum(t2.abab, (0, 1, 2, 3), l3.babbab, (4, 2, 3, 5, 6, 7), (5, 7, 1, 4, 6, 0)) + x232 += einsum(x93, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 1.0000000000000606 + del x93 + rdm2_f_abab_oovv += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x232, (0, 2, 6, 5, 1, 7), (7, 6, 4, 3)) * -1.9999999999999194 + del x232 + x233 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x233 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), (1, 4, 0, 2, 3, 5)) + x233 += einsum(t1.aa, (0, 1), t2.abab, (2, 3, 4, 5), (3, 5, 0, 2, 4, 1)) * -0.5 + rdm2_f_abab_oovv += einsum(x101, (0, 1, 2, 3), x233, (4, 0, 2, 5, 3, 6), (5, 4, 6, 1)) * -4.0 + del x233 + x234 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x234 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), (0, 2, 3, 5, 1, 4)) + x234 += einsum(t1.bb, (0, 1), t2.abab, (2, 3, 4, 5), (0, 3, 5, 1, 2, 4)) * -0.5 + rdm2_f_abab_oovv += einsum(x163, (0, 1, 2, 3), x234, (0, 4, 1, 5, 6, 2), (6, 4, 3, 5)) * -4.0 + del x163, x234 + x235 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x235 += einsum(x103, (0, 1, 2, 3), (0, 1, 2, 3)) + x235 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x235 += einsum(x24, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + del x24 + rdm2_f_abab_oovv += einsum(x235, (0, 1, 2, 3), t3.abaaba, (4, 0, 2, 5, 6, 3), (4, 1, 5, 6)) * -2.0 + rdm2_f_abab_vovv += einsum(t2.abab, (0, 1, 2, 3), x235, (1, 4, 0, 5), (5, 4, 2, 3)) * -1.0 + x236 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x236 += einsum(l2.abab, (0, 1, 2, 3), t2.bbbb, (4, 3, 5, 1), (4, 5, 2, 0)) + rdm2_f_abab_voov += einsum(x236, (0, 1, 2, 3), (3, 0, 2, 1)) * 2.0 + x237 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x237 += einsum(l2.aaaa, (0, 1, 2, 3), t2.abab, (3, 4, 1, 5), (4, 5, 2, 0)) + rdm2_f_abab_voov += einsum(x237, (0, 1, 2, 3), (3, 0, 2, 1)) * 2.0 + x238 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x238 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.bbbbbb, (6, 3, 5, 7, 0, 2), (6, 7, 4, 1)) + rdm2_f_abab_voov += einsum(x238, (0, 1, 2, 3), (3, 0, 2, 1)) * 3.0 + x239 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x239 += einsum(t2.bbbb, (0, 1, 2, 3), x90, (0, 1, 4, 3, 5, 6), (4, 2, 5, 6)) * -1.0 + rdm2_f_abab_voov += einsum(x239, (0, 1, 2, 3), (3, 0, 2, 1)) * -2.0 + x240 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x240 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.babbab, (6, 5, 4, 7, 2, 1), (6, 7, 3, 0)) + rdm2_f_abab_voov += einsum(x240, (0, 1, 2, 3), (3, 0, 2, 1)) * 4.0 + x241 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x241 += einsum(t2.abab, (0, 1, 2, 3), x85, (1, 4, 5, 0, 6, 2), (4, 3, 5, 6)) + rdm2_f_abab_voov += einsum(x241, (0, 1, 2, 3), (3, 0, 2, 1)) * -2.0 + x242 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x242 += einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), t3.abaaba, (4, 6, 5, 1, 7, 2), (6, 7, 3, 0)) + rdm2_f_abab_voov += einsum(x242, (0, 1, 2, 3), (3, 0, 2, 1)) * 3.0 + x243 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x243 += einsum(x236, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.6666666666666666 + x243 += einsum(x237, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.6666666666666666 + x243 += einsum(x238, (0, 1, 2, 3), (0, 1, 2, 3)) + x243 += einsum(x239, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.6666666666666666 + x243 += einsum(x240, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.3333333333333333 + x243 += einsum(x241, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.6666666666666666 + x243 += einsum(x242, (0, 1, 2, 3), (0, 1, 2, 3)) + x243 += einsum(t1.bb, (0, 1), x25, (0, 2, 3, 4), (2, 1, 3, 4)) * -0.6666666666666666 + rdm2_f_abab_oovv += einsum(t2.aaaa, (0, 1, 2, 3), x243, (4, 5, 1, 3), (0, 4, 2, 5)) * 6.0 + del x243 + x244 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x244 += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 3, 5, 1), (2, 4, 0, 5)) + rdm2_f_bbbb_ovov += einsum(x244, (0, 1, 2, 3), (1, 2, 0, 3)) * -4.0 + rdm2_f_bbbb_ovvo += einsum(x244, (0, 1, 2, 3), (1, 2, 3, 0)) * 4.0 + rdm2_f_bbbb_voov += einsum(x244, (0, 1, 2, 3), (2, 1, 0, 3)) * 4.0 + rdm2_f_bbbb_vovo += einsum(x244, (0, 1, 2, 3), (2, 1, 3, 0)) * -4.0 + x245 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x245 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 5), (3, 4, 1, 5)) + rdm2_f_bbbb_ovov += einsum(x245, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 + rdm2_f_bbbb_ovvo += einsum(x245, (0, 1, 2, 3), (1, 2, 3, 0)) + rdm2_f_bbbb_voov += einsum(x245, (0, 1, 2, 3), (2, 1, 0, 3)) + rdm2_f_bbbb_vovo += einsum(x245, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 + x246 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x246 += einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), t3.bbbbbb, (6, 4, 5, 7, 1, 2), (3, 6, 0, 7)) + rdm2_f_bbbb_ovov += einsum(x246, (0, 1, 2, 3), (1, 2, 0, 3)) * -9.0 + rdm2_f_bbbb_ovvo += einsum(x246, (0, 1, 2, 3), (1, 2, 3, 0)) * 9.0 + rdm2_f_bbbb_voov += einsum(x246, (0, 1, 2, 3), (2, 1, 0, 3)) * 9.0 + rdm2_f_bbbb_vovo += einsum(x246, (0, 1, 2, 3), (2, 1, 3, 0)) * -9.0 + x247 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x247 += einsum(t2.bbbb, (0, 1, 2, 3), x114, (4, 1, 0, 5, 6, 3), (4, 5, 6, 2)) + rdm2_f_bbbb_ovov += einsum(x247, (0, 1, 2, 3), (1, 2, 0, 3)) * 6.0 + rdm2_f_bbbb_ovvo += einsum(x247, (0, 1, 2, 3), (1, 2, 3, 0)) * -6.0 + rdm2_f_bbbb_voov += einsum(x247, (0, 1, 2, 3), (2, 1, 0, 3)) * -6.0 + rdm2_f_bbbb_vovo += einsum(x247, (0, 1, 2, 3), (2, 1, 3, 0)) * 6.0 + x248 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x248 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (6, 4, 5, 7, 1, 2), (3, 6, 0, 7)) + rdm2_f_bbbb_ovov += einsum(x248, (0, 1, 2, 3), (1, 2, 0, 3)) * -4.0 + rdm2_f_bbbb_ovvo += einsum(x248, (0, 1, 2, 3), (1, 2, 3, 0)) * 4.0 + rdm2_f_bbbb_voov += einsum(x248, (0, 1, 2, 3), (2, 1, 0, 3)) * 4.0 + rdm2_f_bbbb_vovo += einsum(x248, (0, 1, 2, 3), (2, 1, 3, 0)) * -4.0 + x249 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x249 += einsum(t2.abab, (0, 1, 2, 3), x90, (4, 1, 5, 6, 0, 2), (4, 5, 6, 3)) + rdm2_f_bbbb_ovov += einsum(x249, (0, 1, 2, 3), (1, 2, 0, 3)) * 2.0 + rdm2_f_bbbb_ovvo += einsum(x249, (0, 1, 2, 3), (1, 2, 3, 0)) * -2.0 + rdm2_f_bbbb_voov += einsum(x249, (0, 1, 2, 3), (2, 1, 0, 3)) * -2.0 + rdm2_f_bbbb_vovo += einsum(x249, (0, 1, 2, 3), (2, 1, 3, 0)) * 2.0 + x250 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x250 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (3, 6, 5, 0, 7, 2), (4, 6, 1, 7)) + rdm2_f_bbbb_ovov += einsum(x250, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 + rdm2_f_bbbb_ovvo += einsum(x250, (0, 1, 2, 3), (1, 2, 3, 0)) + rdm2_f_bbbb_voov += einsum(x250, (0, 1, 2, 3), (2, 1, 0, 3)) + rdm2_f_bbbb_vovo += einsum(x250, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 + x251 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x251 += einsum(x244, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.0 + x251 += einsum(x245, (0, 1, 2, 3), (0, 1, 2, 3)) + x251 += einsum(x246, (0, 1, 2, 3), (0, 1, 2, 3)) * 9.0 + x251 += einsum(x247, (0, 1, 2, 3), (0, 1, 2, 3)) * -6.0 + x251 += einsum(x248, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.0 + x251 += einsum(x249, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 + x251 += einsum(x250, (0, 1, 2, 3), (0, 1, 2, 3)) + x251 += einsum(t1.bb, (0, 1), x42, (2, 0, 3, 4), (2, 3, 4, 1)) * -6.0 + rdm2_f_abab_oovv += einsum(t2.abab, (0, 1, 2, 3), x251, (1, 4, 3, 5), (0, 4, 2, 5)) + del x251 + x252 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x252 += einsum(x173, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 + x252 += einsum(x174, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 + x252 += einsum(x178, (0, 1, 2, 3), (0, 1, 2, 3)) + x252 += einsum(x175, (0, 1, 2, 3), (0, 1, 2, 3)) * -4.5 + x252 += einsum(x179, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0 + x252 += einsum(x180, (0, 1, 2, 3), (0, 1, 3, 2)) + del x180 + rdm2_f_abab_oovv += einsum(t2.abab, (0, 1, 2, 3), x252, (0, 4, 2, 5), (4, 1, 5, 3)) * -2.0 + del x252 + x253 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x253 += einsum(x20, (0, 1, 2, 3), (0, 1, 2, 3)) + del x20 + x253 += einsum(x21, (0, 1, 2, 3), (0, 1, 2, 3)) + del x21 + x254 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x254 += einsum(x168, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.5 + x254 += einsum(x169, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 + x254 += einsum(x165, (0, 1, 2, 3), (0, 1, 2, 3)) + x254 += einsum(x170, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.5 + x254 += einsum(x183, (0, 1, 2, 3), (0, 1, 2, 3)) + x254 += einsum(t1.aa, (0, 1), x253, (2, 3, 0, 4), (2, 3, 4, 1)) + rdm2_f_abab_oovv += einsum(t2.bbbb, (0, 1, 2, 3), x254, (1, 3, 4, 5), (4, 0, 5, 2)) * -4.0 + del x254 + x255 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + x255 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 5, 1), (3, 4, 0, 5)) + rdm2_f_abab_vovo += einsum(x255, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 + x256 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + x256 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (6, 4, 5, 0, 7, 2), (3, 6, 1, 7)) + rdm2_f_abab_vovo += einsum(x256, (0, 1, 2, 3), (2, 1, 3, 0)) * -2.0 + x257 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + x257 += einsum(t2.abab, (0, 1, 2, 3), x90, (4, 1, 5, 3, 0, 6), (4, 5, 6, 2)) * -1.0 + rdm2_f_abab_vovo += einsum(x257, (0, 1, 2, 3), (2, 1, 3, 0)) * -2.0 + x258 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + x258 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (3, 6, 5, 7, 1, 2), (4, 6, 0, 7)) + rdm2_f_abab_vovo += einsum(x258, (0, 1, 2, 3), (2, 1, 3, 0)) * -2.0 + x259 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + x259 += einsum(t2.aaaa, (0, 1, 2, 3), x85, (4, 5, 0, 1, 6, 3), (4, 5, 6, 2)) + del x85 + rdm2_f_abab_vovo += einsum(x259, (0, 1, 2, 3), (2, 1, 3, 0)) * -2.0 + x260 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + x260 += einsum(x255, (0, 1, 2, 3), (0, 1, 2, 3)) + x260 += einsum(x256, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x260 += einsum(x257, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x260 += einsum(x258, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x260 += einsum(x259, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x260 += einsum(t1.aa, (0, 1), x25, (2, 3, 0, 4), (2, 3, 4, 1)) * 2.0 + rdm2_f_abab_oovv += einsum(t2.abab, (0, 1, 2, 3), x260, (1, 4, 2, 5), (0, 4, 5, 3)) + del x260 + x261 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x261 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (3, 6, 5, 7, 1, 2), (0, 7, 4, 6)) + rdm2_f_abab_ovov += einsum(x261, (0, 1, 2, 3), (3, 0, 2, 1)) * -2.0 + x262 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x262 += einsum(t2.bbbb, (0, 1, 2, 3), x59, (0, 1, 4, 3, 5, 6), (4, 2, 5, 6)) + del x59 + rdm2_f_abab_ovov += einsum(x262, (0, 1, 2, 3), (3, 0, 2, 1)) * -2.0 + x263 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x263 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (6, 4, 5, 0, 7, 2), (1, 7, 3, 6)) + rdm2_f_abab_ovov += einsum(x263, (0, 1, 2, 3), (3, 0, 2, 1)) * -2.0 + x264 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x264 += einsum(t2.abab, (0, 1, 2, 3), x51, (1, 4, 5, 0, 6, 2), (4, 3, 5, 6)) * -1.0 + rdm2_f_abab_ovov += einsum(x264, (0, 1, 2, 3), (3, 0, 2, 1)) * -2.0 + x265 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x265 += einsum(x261, (0, 1, 2, 3), (0, 1, 2, 3)) + x265 += einsum(x262, (0, 1, 2, 3), (0, 1, 2, 3)) + x265 += einsum(x263, (0, 1, 2, 3), (0, 1, 2, 3)) + x265 += einsum(x264, (0, 1, 2, 3), (0, 1, 2, 3)) + x265 += einsum(t1.bb, (0, 1), x253, (0, 2, 3, 4), (2, 1, 3, 4)) + del x253 + rdm2_f_abab_oovv += einsum(t2.abab, (0, 1, 2, 3), x265, (3, 4, 0, 5), (5, 1, 2, 4)) * 2.0 + del x265 + x266 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) + x266 += einsum(t1.bb, (0, 1), x105, (2, 1, 3, 4), (2, 0, 3, 4)) + del x105 + x267 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) + x267 += einsum(x18, (0, 1, 2, 3), (0, 1, 2, 3)) + x267 += einsum(x17, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.9999999999999194 + x267 += einsum(x16, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.9999999999999194 + x267 += einsum(x266, (0, 1, 2, 3), (0, 1, 2, 3)) + x267 += einsum(x26, (0, 1, 2, 3), (0, 1, 3, 2)) + rdm2_f_abab_oovv += einsum(t2.abab, (0, 1, 2, 3), x267, (1, 4, 0, 5), (5, 4, 2, 3)) + del x267 + x268 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) + x268 += einsum(x18, (0, 1, 2, 3), (0, 1, 2, 3)) + del x18 + x268 += einsum(x17, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.000000000000041 + del x17 + x268 += einsum(x16, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.000000000000041 + del x16 + x268 += einsum(x266, (0, 1, 2, 3), (0, 1, 2, 3)) + del x266 + x268 += einsum(x26, (0, 1, 2, 3), (0, 1, 3, 2)) + del x26 + x269 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x269 += einsum(x96, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.3333333333333333 + del x96 + x269 += einsum(x98, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.6666666666666666 + del x98 + x269 += einsum(t2.abab, (0, 1, 2, 3), x103, (1, 4, 5, 2), (4, 3, 5, 0)) * 0.3333333333333333 + x269 += einsum(t2.bbbb, (0, 1, 2, 3), x19, (1, 3, 4, 5), (0, 2, 4, 5)) * -0.6666666666666666 + x269 += einsum(x97, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.6666666666666666 + del x97 + x269 += einsum(t2.abab, (0, 1, 2, 3), x1, (4, 0, 5, 2), (1, 3, 4, 5)) * 0.6666666666666666 + x269 += einsum(x91, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.6666666666666666 + del x91 + x269 += einsum(x92, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x92 + x269 += einsum(x94, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.6666666666666666 + del x94 + x269 += einsum(x86, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.6666666666666666 + del x86 + x269 += einsum(x87, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.3333333333333333 + del x87 + x269 += einsum(x89, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.6666666666666666 + del x89 + x269 += einsum(x95, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x95 + x269 += einsum(t1.bb, (0, 1), x268, (0, 2, 3, 4), (2, 1, 3, 4)) * 0.3333333333333333 + del x268 + rdm2_f_abab_oovv += einsum(t1.aa, (0, 1), x269, (2, 3, 0, 4), (4, 2, 1, 3)) * 3.0 + del x269 + x270 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x270 += einsum(x207, (0, 1), (0, 1)) * 0.3333333333333468 + x270 += einsum(x208, (0, 1), (0, 1)) * 0.6666666666666936 + x270 += einsum(x209, (0, 1), (0, 1)) * 0.33333333333333354 + x270 += einsum(x210, (0, 1), (0, 1)) * 0.6666666666666667 + x270 += einsum(x211, (0, 1), (0, 1)) + rdm2_f_abab_oovv += einsum(x270, (0, 1), t2.abab, (2, 3, 0, 4), (2, 3, 1, 4)) * -2.9999999999998788 + del x270 + x271 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x271 += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (2, 3, 4, 1), (0, 4)) + x272 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x272 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 0, 4), (1, 4)) + x273 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x273 += einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), t3.bbbbbb, (3, 4, 5, 6, 1, 2), (0, 6)) + x274 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x274 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (3, 4, 5, 6, 1, 2), (0, 6)) + x275 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x275 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (3, 4, 5, 0, 6, 2), (1, 6)) + x276 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x276 += einsum(x271, (0, 1), (0, 1)) * 2.0 + x276 += einsum(x272, (0, 1), (0, 1)) + x276 += einsum(x273, (0, 1), (0, 1)) * 2.9999999999998788 + x276 += einsum(x274, (0, 1), (0, 1)) * 1.9999999999999194 + x276 += einsum(x275, (0, 1), (0, 1)) * 0.9999999999999601 + rdm2_f_abab_oovv += einsum(x276, (0, 1), t2.abab, (2, 3, 4, 0), (2, 3, 4, 1)) * -1.0 + del x276 + x277 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x277 += einsum(x152, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 + del x152 + x277 += einsum(x151, (0, 1, 2, 3), (0, 1, 2, 3)) + del x151 + x277 += einsum(t2.abab, (0, 1, 2, 3), x38, (4, 1, 5, 3), (4, 5, 0, 2)) * -1.0 + x277 += einsum(x160, (0, 1, 2, 3), (0, 1, 2, 3)) + del x160 + x277 += einsum(t2.aaaa, (0, 1, 2, 3), x103, (4, 5, 1, 3), (4, 5, 0, 2)) + x277 += einsum(t2.abab, (0, 1, 2, 3), x19, (4, 3, 0, 5), (4, 1, 5, 2)) * -0.5 + del x19 + x277 += einsum(x153, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.5 + del x153 + x277 += einsum(x155, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + del x155 + x277 += einsum(x154, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x154 + x277 += einsum(x156, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x156 + x277 += einsum(x158, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.5 + del x158 + x277 += einsum(x157, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x157 + x277 += einsum(x159, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x159 + rdm2_f_abab_oovv += einsum(t1.bb, (0, 1), x277, (0, 2, 3, 4), (3, 2, 4, 1)) * -2.0 + del x277 + x278 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x278 += einsum(x11, (0, 1), (0, 1)) * 0.3333333333333468 + del x11 + x278 += einsum(x5, (0, 1), (0, 1)) * 0.3333333333333468 + del x5 + x278 += einsum(x6, (0, 1), (0, 1)) * 0.6666666666666936 + del x6 + x278 += einsum(x7, (0, 1), (0, 1)) * 0.33333333333333354 + del x7 + x278 += einsum(x8, (0, 1), (0, 1)) * 0.6666666666666667 + del x8 + x278 += einsum(x9, (0, 1), (0, 1)) + del x9 + rdm2_f_abab_oovv += einsum(x278, (0, 1), t2.abab, (0, 2, 3, 4), (1, 2, 3, 4)) * -2.9999999999998788 + del x278 + x279 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x279 += einsum(t2.bbbb, (0, 1, 2, 3), x249, (1, 4, 3, 5), (4, 0, 2, 5)) * -1.0 + x280 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x280 += einsum(t2.abab, (0, 1, 2, 3), x241, (4, 5, 0, 2), (4, 1, 3, 5)) + x281 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x281 += einsum(x245, (0, 1, 2, 3), (0, 1, 2, 3)) + x281 += einsum(x246, (0, 1, 2, 3), (0, 1, 2, 3)) * 9.0 + x281 += einsum(x248, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.0 + x281 += einsum(x250, (0, 1, 2, 3), (0, 1, 2, 3)) + x282 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x282 += einsum(t2.bbbb, (0, 1, 2, 3), x281, (1, 4, 3, 5), (4, 0, 5, 2)) * 2.0 + del x281 + x283 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x283 += einsum(x238, (0, 1, 2, 3), (0, 1, 2, 3)) + x283 += einsum(x240, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.3333333333333333 + x283 += einsum(x242, (0, 1, 2, 3), (0, 1, 2, 3)) + x284 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x284 += einsum(t2.abab, (0, 1, 2, 3), x283, (4, 5, 0, 2), (4, 1, 5, 3)) * 3.0 + del x283 + x285 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x285 += einsum(t1.bb, (0, 1), x40, (0, 2, 3, 4), (2, 3, 4, 1)) * -1.0 + x286 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x286 += einsum(x247, (0, 1, 2, 3), (0, 1, 2, 3)) + x286 += einsum(x285, (0, 1, 2, 3), (0, 1, 2, 3)) + del x285 + x287 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x287 += einsum(t2.bbbb, (0, 1, 2, 3), x286, (1, 4, 3, 5), (4, 0, 5, 2)) * 12.0 + del x286 + x288 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x288 += einsum(t1.bb, (0, 1), x23, (0, 2, 3, 4), (2, 1, 3, 4)) + del x23 + x289 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x289 += einsum(x239, (0, 1, 2, 3), (0, 1, 2, 3)) + x289 += einsum(x288, (0, 1, 2, 3), (0, 1, 2, 3)) + del x288 + x290 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x290 += einsum(t2.abab, (0, 1, 2, 3), x289, (4, 5, 0, 2), (4, 1, 5, 3)) * 2.0 + del x289 + x291 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x291 += einsum(t2.bbbb, (0, 1, 2, 3), x38, (4, 1, 5, 3), (4, 5, 0, 2)) * -1.0 + x292 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x292 += einsum(t2.abab, (0, 1, 2, 3), x103, (4, 5, 0, 2), (4, 5, 1, 3)) + x293 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x293 += einsum(t2.bbbb, (0, 1, 2, 3), x41, (1, 4, 5, 3), (4, 0, 5, 2)) * -1.0 + x294 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x294 += einsum(x291, (0, 1, 2, 3), (0, 1, 2, 3)) + del x291 + x294 += einsum(x292, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.25 + del x292 + x294 += einsum(x132, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.25 + del x132 + x294 += einsum(x135, (0, 1, 2, 3), (0, 1, 2, 3)) + del x135 + x294 += einsum(x293, (0, 1, 2, 3), (0, 1, 2, 3)) + del x293 + x294 += einsum(x137, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.25 + del x137 + x294 += einsum(x136, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 + del x136 + x295 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x295 += einsum(t1.bb, (0, 1), x294, (0, 2, 3, 4), (2, 3, 4, 1)) * 4.0 + del x294 + x296 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x296 += einsum(x279, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.0 + del x279 + x296 += einsum(x280, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 + del x280 + x296 += einsum(x282, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x282 + x296 += einsum(x284, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x284 + x296 += einsum(x287, (0, 1, 2, 3), (0, 1, 2, 3)) + del x287 + x296 += einsum(x290, (0, 1, 2, 3), (0, 1, 2, 3)) + del x290 + x296 += einsum(x295, (0, 1, 2, 3), (0, 1, 3, 2)) + del x295 + x296 += einsum(t1.bb, (0, 1), x131, (2, 3), (0, 2, 1, 3)) * 2.0 + del x131 + rdm2_f_bbbb_oovv += einsum(x296, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + rdm2_f_bbbb_oovv += einsum(x296, (0, 1, 2, 3), (0, 1, 3, 2)) + rdm2_f_bbbb_oovv += einsum(x296, (0, 1, 2, 3), (1, 0, 2, 3)) + rdm2_f_bbbb_oovv += einsum(x296, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x296 + x297 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x297 += einsum(x42, (0, 1, 2, 3), t3.bbbbbb, (4, 0, 1, 5, 6, 3), (4, 2, 5, 6)) * -18.0 + x298 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x298 += einsum(x25, (0, 1, 2, 3), t3.babbab, (4, 2, 0, 5, 3, 6), (4, 1, 5, 6)) * -4.0 + del x25 + x299 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x299 += einsum(x31, (0, 1), (0, 1)) * 3.000000000000004 + del x31 + x299 += einsum(x32, (0, 1), (0, 1)) * 1.9999999999999996 + del x32 + x299 += einsum(x33, (0, 1), (0, 1)) + del x33 + x300 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x300 += einsum(x299, (0, 1), t2.bbbb, (2, 0, 3, 4), (1, 2, 3, 4)) * -1.9999999999999194 + del x299 + x301 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x301 += einsum(x297, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x297 + x301 += einsum(x298, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x298 + x301 += einsum(x300, (0, 1, 2, 3), (1, 0, 3, 2)) + del x300 + rdm2_f_bbbb_oovv += einsum(x301, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + rdm2_f_bbbb_oovv += einsum(x301, (0, 1, 2, 3), (1, 0, 2, 3)) + del x301 + x302 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x302 += einsum(t2.bbbb, (0, 1, 2, 3), x244, (1, 4, 3, 5), (4, 0, 5, 2)) + x303 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x303 += einsum(t2.abab, (0, 1, 2, 3), x237, (4, 5, 0, 2), (4, 1, 5, 3)) + x304 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x304 += einsum(x145, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x304 += einsum(x146, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.3333333333333333 + x305 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x305 += einsum(x304, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 0, 6, 1, 2), (4, 5, 3, 6)) * -18.0 + x306 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x306 += einsum(x101, (0, 1, 2, 3), t3.babbab, (4, 2, 5, 6, 3, 0), (4, 5, 1, 6)) * -4.0 + del x101 + x307 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x307 += einsum(x271, (0, 1), (0, 1)) + x307 += einsum(x272, (0, 1), (0, 1)) * 0.5 + x307 += einsum(x273, (0, 1), (0, 1)) * 1.4999999999999416 + x307 += einsum(x274, (0, 1), (0, 1)) * 0.9999999999999595 + x307 += einsum(x275, (0, 1), (0, 1)) * 0.49999999999997985 + x308 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x308 += einsum(x307, (0, 1), t2.bbbb, (2, 3, 4, 0), (2, 3, 1, 4)) * -4.0 + del x307 + x309 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x309 += einsum(t2.bbbb, (0, 1, 2, 3), x304, (4, 2, 3, 5), (4, 0, 1, 5)) * 3.0 + x310 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x310 += einsum(x121, (0, 1, 2, 3), (0, 2, 1, 3)) + del x121 + x310 += einsum(x124, (0, 1, 2, 3), (0, 2, 1, 3)) * 3.0 + del x124 + x310 += einsum(x125, (0, 1, 2, 3), (0, 2, 1, 3)) + del x125 + x310 += einsum(x127, (0, 1, 2, 3), (0, 2, 1, 3)) * 3.0 + del x127 + x310 += einsum(x123, (0, 1, 2, 3), (0, 2, 1, 3)) + del x123 + x310 += einsum(x309, (0, 1, 2, 3), (0, 2, 1, 3)) + del x309 + x311 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x311 += einsum(t1.bb, (0, 1), x310, (0, 2, 3, 4), (2, 3, 4, 1)) * 2.0 + del x310 + x312 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x312 += einsum(x302, (0, 1, 2, 3), (0, 1, 2, 3)) * 8.0 + del x302 + x312 += einsum(x303, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + del x303 + x312 += einsum(x305, (0, 1, 2, 3), (0, 1, 2, 3)) + del x305 + x312 += einsum(x306, (0, 1, 2, 3), (1, 0, 2, 3)) + del x306 + x312 += einsum(x308, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x308 + x312 += einsum(x311, (0, 1, 2, 3), (1, 0, 3, 2)) + del x311 + rdm2_f_bbbb_oovv += einsum(x312, (0, 1, 2, 3), (0, 1, 2, 3)) + rdm2_f_bbbb_oovv += einsum(x312, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x312 + x313 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x313 += einsum(x28, (0, 1), t2.bbbb, (2, 0, 3, 4), (1, 2, 3, 4)) + del x28 + x314 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x314 += einsum(x38, (0, 1, 2, 3), t3.bbbbbb, (4, 1, 0, 5, 6, 3), (2, 4, 5, 6)) + x315 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x315 += einsum(x103, (0, 1, 2, 3), t3.babbab, (4, 2, 0, 5, 3, 6), (1, 4, 5, 6)) + del x103 + x316 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x316 += einsum(t1.bb, (0, 1), x42, (2, 3, 4, 1), (0, 2, 3, 4)) * 3.0 + x317 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x317 += einsum(t2.bbbb, (0, 1, 2, 3), x316, (4, 0, 1, 5), (4, 5, 2, 3)) * 2.0 + del x316 + x318 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x318 += einsum(x29, (0, 1), (0, 1)) + del x29 + x318 += einsum(x30, (0, 1), (0, 1)) * 0.5 + del x30 + x319 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x319 += einsum(x318, (0, 1), t2.bbbb, (2, 0, 3, 4), (1, 2, 3, 4)) * -4.0 + del x318 + x320 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x320 += einsum(t1.bb, (0, 1), x42, (2, 3, 4, 1), (0, 2, 3, 4)) + del x42 + x321 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x321 += einsum(t1.bb, (0, 1), x320, (2, 3, 0, 4), (3, 2, 4, 1)) + del x320 + x322 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x322 += einsum(t1.bb, (0, 1), x321, (0, 2, 3, 4), (2, 3, 4, 1)) * 6.0 + del x321 + x323 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x323 += einsum(x313, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 + del x313 + x323 += einsum(x314, (0, 1, 2, 3), (0, 1, 3, 2)) * -6.0 + del x314 + x323 += einsum(x315, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 + del x315 + x323 += einsum(x317, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x317 + x323 += einsum(x319, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x319 + x323 += einsum(x322, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x322 + rdm2_f_bbbb_oovv += einsum(x323, (0, 1, 2, 3), (0, 1, 2, 3)) + rdm2_f_bbbb_oovv += einsum(x323, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x323 + x324 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x324 += einsum(t2.bbbb, (0, 1, 2, 3), l3.babbab, (2, 4, 3, 5, 6, 7), (5, 7, 0, 1, 6, 4)) + x324 += einsum(x122, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0000000000000606 + del x122 + rdm2_f_bbbb_oovv += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x324, (0, 2, 6, 7, 1, 4), (6, 7, 3, 5)) * 1.9999999999999194 + del x324 + x325 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x325 += einsum(t2.bbbb, (0, 1, 2, 3), l3.bbbbbb, (4, 2, 3, 5, 6, 7), (5, 6, 7, 0, 1, 4)) + x325 += einsum(x126, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0000000000000584 + del x126 + rdm2_f_bbbb_oovv += einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), x325, (0, 1, 2, 6, 7, 5), (6, 7, 3, 4)) * 5.999999999999766 + del x325 + x326 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x326 += einsum(x37, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + x326 += einsum(x39, (0, 1, 2, 3), (0, 1, 3, 2)) + x326 += einsum(x35, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.999999999999883 + x326 += einsum(x36, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.9999999999999597 + rdm2_f_bbbb_oovv += einsum(t2.bbbb, (0, 1, 2, 3), x326, (0, 1, 4, 5), (5, 4, 2, 3)) * 2.0 + del x326 + x327 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x327 += einsum(x37, (0, 1, 2, 3), (1, 0, 3, 2)) * -0.3333333333333269 + del x37 + x327 += einsum(x39, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.3333333333333269 + del x39 + x327 += einsum(x35, (0, 1, 2, 3), (0, 1, 3, 2)) + del x35 + x327 += einsum(x36, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.3333333333333336 + del x36 + x328 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x328 += einsum(t1.bb, (0, 1), x327, (0, 2, 3, 4), (2, 4, 3, 1)) * -1.0 + del x327 + rdm2_f_bbbb_oovv += einsum(t1.bb, (0, 1), x328, (0, 2, 3, 4), (2, 3, 4, 1)) * -6.000000000000116 + del x328 + x329 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x329 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 5, 1), (2, 4, 0, 5)) + rdm2_f_aaaa_ovov += einsum(x329, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 + rdm2_f_aaaa_ovvo += einsum(x329, (0, 1, 2, 3), (1, 2, 3, 0)) + rdm2_f_aaaa_voov += einsum(x329, (0, 1, 2, 3), (2, 1, 0, 3)) + rdm2_f_aaaa_vovo += einsum(x329, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 + x330 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x330 += einsum(t1.aa, (0, 1), x64, (0, 2, 3, 4), (2, 3, 1, 4)) * 6.0 + del x64 + rdm2_f_aaaa_ovov += einsum(x330, (0, 1, 2, 3), (1, 3, 0, 2)) * -1.0 + rdm2_f_aaaa_voov += einsum(x330, (0, 1, 2, 3), (3, 1, 0, 2)) + del x330 + x331 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x331 += einsum(l1.aa, (0, 1), t1.aa, (1, 2), (0, 2)) + x332 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x332 += einsum(x331, (0, 1), (0, 1)) + x332 += einsum(x207, (0, 1), (0, 1)) + x332 += einsum(x208, (0, 1), (0, 1)) * 2.0 + x332 += einsum(x209, (0, 1), (0, 1)) * 0.9999999999999601 + x332 += einsum(x210, (0, 1), (0, 1)) * 1.9999999999999194 + x332 += einsum(x211, (0, 1), (0, 1)) * 2.9999999999998788 + rdm2_f_aaaa_ovov += einsum(delta.aa.oo, (0, 1), x332, (2, 3), (0, 2, 1, 3)) + rdm2_f_aaaa_ovvo += einsum(delta.aa.oo, (0, 1), x332, (2, 3), (0, 2, 3, 1)) * -1.0 + rdm2_f_aaaa_voov += einsum(delta.aa.oo, (0, 1), x332, (2, 3), (2, 0, 1, 3)) * -1.0 + rdm2_f_aaaa_vovo += einsum(delta.aa.oo, (0, 1), x332, (2, 3), (2, 0, 3, 1)) + x333 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x333 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 0, 5), (1, 5, 2, 4)) + rdm2_f_abab_ovov += einsum(x333, (0, 1, 2, 3), (3, 0, 2, 1)) * -1.0 + x334 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x334 += einsum(l1.bb, (0, 1), t1.bb, (1, 2), (0, 2)) + x335 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x335 += einsum(x334, (0, 1), (0, 1)) + x335 += einsum(x271, (0, 1), (0, 1)) * 2.0 + x335 += einsum(x272, (0, 1), (0, 1)) + x335 += einsum(x273, (0, 1), (0, 1)) * 2.9999999999998788 + x335 += einsum(x274, (0, 1), (0, 1)) * 1.9999999999999194 + x335 += einsum(x275, (0, 1), (0, 1)) * 0.9999999999999601 + rdm2_f_abab_ovov += einsum(delta.aa.oo, (0, 1), x335, (2, 3), (0, 2, 1, 3)) + rdm2_f_abab_ovvv += einsum(t1.aa, (0, 1), x335, (2, 3), (0, 2, 1, 3)) + x336 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x336 += einsum(t1.bb, (0, 1), x118, (0, 2, 3, 4), (2, 3, 4, 1)) * 2.0 + del x118 + rdm2_f_bbbb_ovov += einsum(x336, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 + rdm2_f_bbbb_ovvo += einsum(x336, (0, 1, 2, 3), (1, 2, 3, 0)) + rdm2_f_bbbb_voov += einsum(x336, (0, 1, 2, 3), (2, 1, 0, 3)) + rdm2_f_bbbb_vovo += einsum(x336, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 + del x336 + x337 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x337 += einsum(x334, (0, 1), (0, 1)) * 0.5000000000000202 + del x334 + x337 += einsum(x271, (0, 1), (0, 1)) * 1.0000000000000404 + del x271 + x337 += einsum(x272, (0, 1), (0, 1)) * 0.5000000000000202 + del x272 + x337 += einsum(x273, (0, 1), (0, 1)) * 1.4999999999999998 + del x273 + x337 += einsum(x274, (0, 1), (0, 1)) + del x274 + x337 += einsum(x275, (0, 1), (0, 1)) * 0.5000000000000002 + del x275 + rdm2_f_bbbb_ovov += einsum(delta.bb.oo, (0, 1), x337, (2, 3), (0, 2, 1, 3)) * 1.9999999999999194 + rdm2_f_bbbb_ovvo += einsum(delta.bb.oo, (0, 1), x337, (2, 3), (0, 2, 3, 1)) * -1.9999999999999194 + rdm2_f_bbbb_voov += einsum(delta.bb.oo, (0, 1), x337, (2, 3), (2, 0, 1, 3)) * -1.9999999999999194 + rdm2_f_bbbb_vovo += einsum(delta.bb.oo, (0, 1), x337, (2, 3), (2, 0, 3, 1)) * 1.9999999999999194 + del x337 + x338 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x338 += einsum(t1.aa, (0, 1), x102, (0, 2, 3, 4), (2, 3, 4, 1)) * 2.0 + rdm2_f_aaaa_ovvo += einsum(x338, (0, 1, 2, 3), (1, 2, 3, 0)) + rdm2_f_aaaa_vovo += einsum(x338, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 + del x338 + x339 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x339 += einsum(x331, (0, 1), (0, 1)) * 1.00000000000004 + x339 += einsum(x207, (0, 1), (0, 1)) * 1.00000000000004 + x339 += einsum(x208, (0, 1), (0, 1)) * 2.00000000000008 + x339 += einsum(x209, (0, 1), (0, 1)) + x339 += einsum(x210, (0, 1), (0, 1)) * 1.9999999999999991 + x339 += einsum(x211, (0, 1), (0, 1)) * 2.9999999999999982 + rdm2_f_abab_vovo += einsum(delta.bb.oo, (0, 1), x339, (2, 3), (2, 0, 3, 1)) * 0.9999999999999601 + del x339 + x340 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x340 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x51, (1, 4, 0, 2, 6, 7), (6, 7, 3, 5)) + del x51 + rdm2_f_aaaa_ovvv = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + rdm2_f_aaaa_ovvv += einsum(x340, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0000000000000404 + rdm2_f_aaaa_vovv = np.zeros((nvir[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + rdm2_f_aaaa_vovv += einsum(x340, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0000000000000404 + del x340 + x341 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x341 += einsum(l2.aaaa, (0, 1, 2, 3), t3.aaaaaa, (4, 2, 3, 5, 6, 1), (4, 0, 5, 6)) + rdm2_f_aaaa_ovvv += einsum(x341, (0, 1, 2, 3), (0, 1, 3, 2)) * -6.0 + rdm2_f_aaaa_vovv += einsum(x341, (0, 1, 2, 3), (1, 0, 3, 2)) * 6.0 + del x341 + x342 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x342 += einsum(l1.aa, (0, 1), t2.aaaa, (2, 1, 3, 4), (2, 0, 3, 4)) + rdm2_f_aaaa_ovvv += einsum(x342, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 + rdm2_f_aaaa_vovv += einsum(x342, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 + del x342 + x343 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x343 += einsum(l2.abab, (0, 1, 2, 3), t3.abaaba, (4, 3, 2, 5, 1, 6), (4, 0, 5, 6)) + rdm2_f_aaaa_ovvv += einsum(x343, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 + rdm2_f_aaaa_vovv += einsum(x343, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 + del x343 + x344 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x344 += einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), x45, (0, 1, 2, 6, 7, 5), (6, 7, 3, 4)) * -1.0 + del x45 + rdm2_f_aaaa_ovvv += einsum(x344, (0, 1, 2, 3), (0, 1, 3, 2)) * -6.000000000000116 + rdm2_f_aaaa_vovv += einsum(x344, (0, 1, 2, 3), (1, 0, 3, 2)) * 6.000000000000116 + del x344 + x345 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x345 += einsum(t2.abab, (0, 1, 2, 3), x161, (1, 3, 4, 5), (0, 4, 2, 5)) + x346 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x346 += einsum(t2.abab, (0, 1, 2, 3), x162, (1, 3, 4, 5), (0, 4, 5, 2)) + x347 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x347 += einsum(t2.aaaa, (0, 1, 2, 3), x205, (1, 4, 3, 5), (0, 4, 5, 2)) * 4.0 + x348 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x348 += einsum(x329, (0, 1, 2, 3), (0, 1, 2, 3)) + del x329 + x348 += einsum(x202, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.0 + del x202 + x348 += einsum(x173, (0, 1, 2, 3), (0, 1, 2, 3)) + del x173 + x348 += einsum(x174, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.0 + del x174 + x348 += einsum(x178, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 + del x178 + x348 += einsum(x175, (0, 1, 2, 3), (0, 1, 2, 3)) * 9.0 + del x175 + x348 += einsum(x179, (0, 1, 2, 3), (0, 1, 2, 3)) * -6.0 + del x179 + x349 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x349 += einsum(t1.aa, (0, 1), x348, (0, 2, 3, 4), (2, 3, 4, 1)) + del x348 + x350 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x350 += einsum(x345, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + del x345 + x350 += einsum(x346, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 + del x346 + x350 += einsum(x347, (0, 1, 2, 3), (0, 1, 2, 3)) + del x347 + x350 += einsum(x349, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x349 + x350 += einsum(t1.aa, (0, 1), x332, (2, 3), (0, 2, 1, 3)) + del x332 + rdm2_f_aaaa_ovvv += einsum(x350, (0, 1, 2, 3), (0, 1, 2, 3)) + rdm2_f_aaaa_ovvv += einsum(x350, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + rdm2_f_aaaa_vovv += einsum(x350, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + rdm2_f_aaaa_vovv += einsum(x350, (0, 1, 2, 3), (1, 0, 3, 2)) + del x350 + x351 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x351 += einsum(t2.aaaa, (0, 1, 2, 3), x102, (0, 1, 4, 5), (4, 5, 2, 3)) * 2.0 + del x102 + rdm2_f_aaaa_ovvv += einsum(x351, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + rdm2_f_aaaa_vovv += einsum(x351, (0, 1, 2, 3), (1, 0, 3, 2)) + del x351 + x352 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x352 += einsum(x1, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.3333333333333333 + del x1 + x352 += einsum(x12, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.3333333333333333 + del x12 + x352 += einsum(x13, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x13 + x353 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x353 += einsum(t1.aa, (0, 1), x352, (0, 2, 3, 4), (2, 3, 4, 1)) * 3.0 + del x352 + x354 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x354 += einsum(t1.aa, (0, 1), x353, (0, 2, 3, 4), (2, 3, 4, 1)) * 2.0 + del x353 + rdm2_f_aaaa_ovvv += einsum(x354, (0, 1, 2, 3), (0, 1, 3, 2)) + rdm2_f_aaaa_vovv += einsum(x354, (0, 1, 2, 3), (1, 0, 2, 3)) + del x354 + x355 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x355 += einsum(x218, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.6666666666666666 + del x218 + x355 += einsum(x167, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.6666666666666666 + del x167 + x355 += einsum(x168, (0, 1, 2, 3), (0, 1, 2, 3)) + del x168 + x355 += einsum(x169, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.3333333333333333 + del x169 + x355 += einsum(x165, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.6666666666666666 + del x165 + x355 += einsum(x170, (0, 1, 2, 3), (0, 1, 2, 3)) + del x170 + x355 += einsum(x183, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.6666666666666666 + del x183 + x355 += einsum(t1.aa, (0, 1), x22, (2, 3, 0, 4), (2, 3, 4, 1)) * -0.6666666666666666 + del x22 + rdm2_f_abab_ovvv += einsum(t1.bb, (0, 1), x355, (0, 2, 3, 4), (3, 2, 4, 1)) * 3.0 + del x355 + x356 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x356 += einsum(x333, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 + del x333 + x356 += einsum(x261, (0, 1, 2, 3), (0, 1, 2, 3)) + del x261 + x356 += einsum(x262, (0, 1, 2, 3), (0, 1, 2, 3)) + del x262 + x356 += einsum(x263, (0, 1, 2, 3), (0, 1, 2, 3)) + del x263 + x356 += einsum(x264, (0, 1, 2, 3), (0, 1, 2, 3)) + del x264 + rdm2_f_abab_ovvv += einsum(t1.aa, (0, 1), x356, (2, 3, 0, 4), (4, 2, 1, 3)) * -2.0 + del x356 + x357 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x357 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x90, (0, 2, 6, 7, 1, 4), (6, 7, 3, 5)) + del x90 + rdm2_f_bbbb_ovvv = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + rdm2_f_bbbb_ovvv += einsum(x357, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0000000000000404 + rdm2_f_bbbb_vovv = np.zeros((nvir[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + rdm2_f_bbbb_vovv += einsum(x357, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0000000000000404 + del x357 + x358 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x358 += einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), x114, (0, 1, 2, 6, 7, 5), (6, 7, 3, 4)) * -1.0 + del x114 + rdm2_f_bbbb_ovvv += einsum(x358, (0, 1, 2, 3), (0, 1, 3, 2)) * -6.000000000000116 + rdm2_f_bbbb_vovv += einsum(x358, (0, 1, 2, 3), (1, 0, 3, 2)) * 6.000000000000116 + del x358 + x359 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x359 += einsum(l1.bb, (0, 1), t2.bbbb, (2, 1, 3, 4), (2, 0, 3, 4)) + rdm2_f_bbbb_ovvv += einsum(x359, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 + rdm2_f_bbbb_vovv += einsum(x359, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 + del x359 + x360 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x360 += einsum(l2.bbbb, (0, 1, 2, 3), t3.bbbbbb, (4, 2, 3, 5, 6, 1), (4, 0, 5, 6)) + rdm2_f_bbbb_ovvv += einsum(x360, (0, 1, 2, 3), (0, 1, 3, 2)) * -6.0 + rdm2_f_bbbb_vovv += einsum(x360, (0, 1, 2, 3), (1, 0, 3, 2)) * 6.0 + del x360 + x361 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x361 += einsum(l2.abab, (0, 1, 2, 3), t3.babbab, (4, 2, 3, 5, 0, 6), (4, 1, 5, 6)) + rdm2_f_bbbb_ovvv += einsum(x361, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 + rdm2_f_bbbb_vovv += einsum(x361, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 + del x361 + x362 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x362 += einsum(t2.bbbb, (0, 1, 2, 3), x145, (1, 4, 3, 5), (0, 4, 5, 2)) * -1.0 + del x145 + x363 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x363 += einsum(t2.bbbb, (0, 1, 2, 3), x146, (1, 4, 3, 5), (0, 4, 2, 5)) + del x146 + x364 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x364 += einsum(t2.abab, (0, 1, 2, 3), x99, (4, 5, 0, 2), (1, 4, 5, 3)) + del x99 + x365 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x365 += einsum(t2.abab, (0, 1, 2, 3), x100, (4, 5, 0, 2), (1, 4, 3, 5)) + del x100 + x366 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x366 += einsum(x244, (0, 1, 2, 3), (0, 1, 2, 3)) + del x244 + x366 += einsum(x245, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.25 + del x245 + x366 += einsum(x246, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.25 + del x246 + x366 += einsum(x247, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.5 + del x247 + x366 += einsum(x248, (0, 1, 2, 3), (0, 1, 2, 3)) + del x248 + x366 += einsum(x249, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 + del x249 + x366 += einsum(x250, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.25 + del x250 + x367 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x367 += einsum(t1.bb, (0, 1), x366, (0, 2, 3, 4), (2, 3, 4, 1)) * 4.0 + del x366 + x368 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x368 += einsum(x362, (0, 1, 2, 3), (0, 1, 2, 3)) * -12.0 + del x362 + x368 += einsum(x363, (0, 1, 2, 3), (0, 1, 2, 3)) * -4.0 + del x363 + x368 += einsum(x364, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 + del x364 + x368 += einsum(x365, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + del x365 + x368 += einsum(x367, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x367 + x368 += einsum(t1.bb, (0, 1), x335, (2, 3), (0, 2, 1, 3)) + del x335 + rdm2_f_bbbb_ovvv += einsum(x368, (0, 1, 2, 3), (0, 1, 2, 3)) + rdm2_f_bbbb_ovvv += einsum(x368, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + rdm2_f_bbbb_vovv += einsum(x368, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + rdm2_f_bbbb_vovv += einsum(x368, (0, 1, 2, 3), (1, 0, 3, 2)) + del x368 + x369 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x369 += einsum(x38, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.3333333333333333 + x369 += einsum(x40, (0, 1, 2, 3), (0, 1, 2, 3)) + x369 += einsum(x41, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.3333333333333333 + x370 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x370 += einsum(t2.bbbb, (0, 1, 2, 3), x369, (0, 1, 4, 5), (4, 5, 2, 3)) * 6.0 + del x369 + rdm2_f_bbbb_ovvv += einsum(x370, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + rdm2_f_bbbb_vovv += einsum(x370, (0, 1, 2, 3), (1, 0, 3, 2)) + del x370 + x371 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x371 += einsum(x38, (0, 1, 2, 3), (1, 0, 2, 3)) + del x38 + x371 += einsum(x40, (0, 1, 2, 3), (0, 1, 2, 3)) * -3.0 + del x40 + x371 += einsum(x41, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x41 + x372 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x372 += einsum(t1.bb, (0, 1), x371, (0, 2, 3, 4), (2, 3, 4, 1)) * 0.3333333333333333 + rdm2_f_bbbb_ovvv += einsum(t1.bb, (0, 1), x372, (0, 2, 3, 4), (2, 3, 4, 1)) * -6.0 + del x372 + x373 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x373 += einsum(x236, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 + del x236 + x373 += einsum(x237, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 + del x237 + x373 += einsum(x238, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.75 + del x238 + x373 += einsum(x239, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 + del x239 + x373 += einsum(x240, (0, 1, 2, 3), (0, 1, 2, 3)) + del x240 + x373 += einsum(x241, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 + del x241 + x373 += einsum(x242, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.75 + del x242 + x373 += einsum(t1.bb, (0, 1), x235, (0, 2, 3, 4), (2, 1, 3, 4)) * -0.25 + del x235 + rdm2_f_abab_vovv += einsum(t1.aa, (0, 1), x373, (2, 3, 0, 4), (4, 2, 1, 3)) * 4.0 + del x373 + x374 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + x374 += einsum(x255, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 + del x255 + x374 += einsum(x256, (0, 1, 2, 3), (0, 1, 2, 3)) + del x256 + x374 += einsum(x257, (0, 1, 2, 3), (0, 1, 2, 3)) + del x257 + x374 += einsum(x258, (0, 1, 2, 3), (0, 1, 2, 3)) + del x258 + x374 += einsum(x259, (0, 1, 2, 3), (0, 1, 2, 3)) + del x259 + rdm2_f_abab_vovv += einsum(t1.bb, (0, 1), x374, (0, 2, 3, 4), (3, 2, 4, 1)) * -2.0 + del x374 + x375 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x375 += einsum(x331, (0, 1), (0, 1)) * 0.5000000000000202 + del x331 + x375 += einsum(x207, (0, 1), (0, 1)) * 0.5000000000000202 + del x207 + x375 += einsum(x208, (0, 1), (0, 1)) * 1.0000000000000404 + del x208 + x375 += einsum(x209, (0, 1), (0, 1)) * 0.5000000000000002 + del x209 + x375 += einsum(x210, (0, 1), (0, 1)) + del x210 + x375 += einsum(x211, (0, 1), (0, 1)) * 1.4999999999999998 + del x211 + rdm2_f_abab_vovv += einsum(t1.bb, (0, 1), x375, (2, 3), (2, 0, 3, 1)) * 1.9999999999999194 + del x375 + x376 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x376 += einsum(t1.bb, (0, 1), x371, (0, 2, 3, 4), (2, 3, 4, 1)) + del x371 + rdm2_f_bbbb_vovv += einsum(t1.bb, (0, 1), x376, (0, 2, 3, 4), (3, 2, 1, 4)) * -2.0 + del x376 + x377 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x377 += einsum(t1.aa, (0, 1), l2.aaaa, (2, 3, 4, 0), (4, 2, 3, 1)) + rdm2_f_aaaa_vvov += einsum(x377, (0, 1, 2, 3), (2, 1, 0, 3)) * -2.0 + rdm2_f_aaaa_vvvo += einsum(x377, (0, 1, 2, 3), (2, 1, 3, 0)) * 2.0 + rdm2_f_aaaa_vvvv += einsum(t1.aa, (0, 1), x377, (0, 2, 3, 4), (2, 3, 1, 4)) * 2.0 + del x377 + x378 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x378 += einsum(t1.bb, (0, 1), l2.bbbb, (2, 3, 4, 0), (4, 2, 3, 1)) + rdm2_f_bbbb_vvov += einsum(x378, (0, 1, 2, 3), (2, 1, 0, 3)) * -2.0 + rdm2_f_bbbb_vvvo += einsum(x378, (0, 1, 2, 3), (2, 1, 3, 0)) * 2.0 + rdm2_f_bbbb_vvvv += einsum(t1.bb, (0, 1), x378, (0, 2, 3, 4), (2, 3, 1, 4)) * 2.0 + del x378 + x379 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) + x379 += einsum(t1.aa, (0, 1), l2.abab, (2, 3, 0, 4), (4, 3, 2, 1)) + rdm2_f_abab_vvvo += einsum(x379, (0, 1, 2, 3), (2, 1, 3, 0)) + x380 = np.zeros((nvir[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x380 += einsum(t1.aa, (0, 1), x205, (0, 2, 3, 4), (2, 3, 4, 1)) * 2.0 + del x205 + rdm2_f_aaaa_vvvv += einsum(x380, (0, 1, 2, 3), (0, 1, 3, 2)) + rdm2_f_aaaa_vvvv += einsum(x380, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x380 + x381 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) + x381 += einsum(x379, (0, 1, 2, 3), (0, 1, 2, 3)) + del x379 + x381 += einsum(x161, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + del x161 + x381 += einsum(x162, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + del x162 + rdm2_f_abab_vvvv += einsum(t1.bb, (0, 1), x381, (0, 2, 3, 4), (3, 2, 4, 1)) + del x381 + x382 = np.zeros((nvir[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x382 += einsum(t1.bb, (0, 1), x304, (0, 2, 3, 4), (2, 3, 4, 1)) * 6.0 + del x304 + rdm2_f_bbbb_vvvv += einsum(x382, (0, 1, 2, 3), (0, 1, 3, 2)) + rdm2_f_bbbb_vvvv += einsum(x382, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x382 + + rdm2_f_aaaa = pack_2e(rdm2_f_aaaa_oooo, rdm2_f_aaaa_ooov, rdm2_f_aaaa_oovo, rdm2_f_aaaa_ovoo, rdm2_f_aaaa_vooo, rdm2_f_aaaa_oovv, rdm2_f_aaaa_ovov, rdm2_f_aaaa_ovvo, rdm2_f_aaaa_voov, rdm2_f_aaaa_vovo, rdm2_f_aaaa_vvoo, rdm2_f_aaaa_ovvv, rdm2_f_aaaa_vovv, rdm2_f_aaaa_vvov, rdm2_f_aaaa_vvvo, rdm2_f_aaaa_vvvv) + rdm2_f_abab = pack_2e(rdm2_f_abab_oooo, rdm2_f_abab_ooov, rdm2_f_abab_oovo, rdm2_f_abab_ovoo, rdm2_f_abab_vooo, rdm2_f_abab_oovv, rdm2_f_abab_ovov, rdm2_f_abab_ovvo, rdm2_f_abab_voov, rdm2_f_abab_vovo, rdm2_f_abab_vvoo, rdm2_f_abab_ovvv, rdm2_f_abab_vovv, rdm2_f_abab_vvov, rdm2_f_abab_vvvo, rdm2_f_abab_vvvv) + rdm2_f_bbbb = pack_2e(rdm2_f_bbbb_oooo, rdm2_f_bbbb_ooov, rdm2_f_bbbb_oovo, rdm2_f_bbbb_ovoo, rdm2_f_bbbb_vooo, rdm2_f_bbbb_oovv, rdm2_f_bbbb_ovov, rdm2_f_bbbb_ovvo, rdm2_f_bbbb_voov, rdm2_f_bbbb_vovo, rdm2_f_bbbb_vvoo, rdm2_f_bbbb_ovvv, rdm2_f_bbbb_vovv, rdm2_f_bbbb_vvov, rdm2_f_bbbb_vvvo, rdm2_f_bbbb_vvvv) + + rdm2_f_aaaa = rdm2_f_aaaa.swapaxes(1, 2) + rdm2_f_aabb = rdm2_f_abab.swapaxes(1, 2) + rdm2_f_bbbb = rdm2_f_bbbb.swapaxes(1, 2) + + rdm2_f.aaaa = rdm2_f_aaaa + rdm2_f.aabb = rdm2_f_aabb + rdm2_f.bbbb = rdm2_f_bbbb + + return rdm2_f + From 3b3cc9ef30621eed13f6c6a486fc4f500bb6e1d2 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Fri, 9 Aug 2024 22:24:46 +0100 Subject: [PATCH 071/168] Remove CCSDT from workflow --- .github/workflows/bootstrap_all.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/bootstrap_all.sh b/.github/workflows/bootstrap_all.sh index 077fa71f..24a2a196 100644 --- a/.github/workflows/bootstrap_all.sh +++ b/.github/workflows/bootstrap_all.sh @@ -20,7 +20,7 @@ for method in CCD CCSD QCISD CC2 DCD DCSD; do done done -for method in CC3 CCSDT; do +for method in CC3; do for i in rhf uhf ghf; do echo "Bootstrapping $method ($i)" python -W ignore bootstrap_${method}.py $i From 83feb07ead60a393c9605cb9441084ad41339b13 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Fri, 9 Aug 2024 23:48:52 +0100 Subject: [PATCH 072/168] Working on MP2 DMs, broken --- ebcc/codegen/bootstrap_MPn.py | 132 ++++++++++++++++++++++++++++++++++ 1 file changed, 132 insertions(+) diff --git a/ebcc/codegen/bootstrap_MPn.py b/ebcc/codegen/bootstrap_MPn.py index 9c163732..f0a409f2 100644 --- a/ebcc/codegen/bootstrap_MPn.py +++ b/ebcc/codegen/bootstrap_MPn.py @@ -87,6 +87,138 @@ expr, ) +if order == 2: + pq = pdaggerq.pq_helper("fermi") + pq.set_print_level(0) + + with Stopwatch("1RDM"): + # Get the 1RDM contractions in pdaggerq format + terms = { + ("oo", "ij"): [["+1.0", "d(i,j)"], ["-0.5", "t2(b,a,k,i)", "l2(k,j,b,a)"]], + ("vv", "ab"): [["+0.5", "t2(b,c,i,j)", "l2(i,j,a,c)"]] + } + + # Get the 1RDM in albert format + expr = [] + output = [] + returns = [] + for sectors, indices in [("oo", "ij"), ("ov", "ia"), ("vo", "ai"), ("vv", "ab")]: + if (sectors, indices) not in terms: + continue + for index_spins in get_density_spins(1, spin, indices): + expr_n = import_from_pdaggerq(terms[sectors, indices], index_spins=index_spins) + if not (isinstance(expr_n, int) and expr_n == 0): + expr_n = spin_integrate(expr_n, spin) + if spin == "rhf": + expr_n = tuple(e * 2 for e in expr_n) + output_n = get_density_outputs(expr_n, f"d", indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i], space=s) for i, s in zip(indices, sectors)), name=f"d"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + output, expr = optimise(output, expr, spin, strategy="exhaust") + + # Generate the 1RDM code + for name, codegen in code_generators.items(): + if name == "einsum": + def get_postamble(n, spin, name="rdm{n}"): + nm = name.format(n=n) + postamble = "" + if spin != "uhf": + for occ in ("ov", "vo"): + shape = ", ".join(f"t2.shape[{'0' if o == 'o' else '-1'}]" for o in occ) + postamble += f"{nm}.{occ} = np.zeros(({shape}))\n" + else: + for s in "ab": + for occ in ("ov", "vo"): + shape = ", ".join(f"t2.{s}{s}{s}{s}.shape[{'0' if o == 'o' else '-1'}]" for o in occ) + postamble += f"{nm}.{s}{s}.{occ} = np.zeros(({shape}))\n" + return postamble + get_density_einsum_postamble(n, spin) + kwargs = { + "preamble": get_density_einsum_preamble(1, spin), + "postamble": get_postamble(1, spin), + } + else: + kwargs = {} + codegen( + "make_rdm1_f", + returns, + output, + expr, + **kwargs, + ) + + with Stopwatch("2RDM"): + # Get the 2RDM contractions in pdaggerq format + terms = { + ('oooo', 'ijkl'): [['+1.0', 'P(i,j)', 'd(i,k)', 'd(j,l)']], + ('oovv', 'ijab'): [['+0.25', 't2(a,b,i,j)']], + ('vvoo', 'abij'): [['+0.25', 'l2(a,b,i,j)']], + } + + # Get the 2RDM in albert format + expr = [] + output = [] + returns = [] + for sectors, indices in [ + ("oooo", "ijkl"), + ("ooov", "ijka"), + ("oovo", "ijak"), + ("ovoo", "iajk"), + ("vooo", "aijk"), + ("oovv", "ijab"), + ("ovov", "iajb"), + ("ovvo", "iabj"), + ("voov", "aijb"), + ("vovo", "aibj"), + ("vvoo", "abij"), + ("ovvv", "iabc"), + ("vovv", "aibc"), + ("vvov", "abic"), + ("vvvo", "abci"), + ("vvvv", "abcd"), + ]: + if (sectors, indices) not in terms: + continue + for index_spins in get_density_spins(2, spin, indices): + expr_n = import_from_pdaggerq(terms[sectors, indices], index_spins=index_spins) + if not (isinstance(expr_n, int) and expr_n == 0): + expr_n = spin_integrate(expr_n, spin) + output_n = get_density_outputs(expr_n, f"Γ", indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i], space=s) for i, s in zip(indices, sectors)), name=f"Γ"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + output, expr = optimise(output, expr, spin, strategy="exhaust") + + # Generate the 2RDM code + for name, codegen in code_generators.items(): + if name == "einsum": + def get_postamble(n, spin, name="rdm{n}"): + nm = name.format(n=n) + postamble = "" + if spin != "uhf": + for occ in [k[0] for k, v in terms.items() if v]: + shape = ", ".join(f"t2.shape[{'0' if o == 'o' else '-1'}]" for o in occ) + postamble += f"{nm}.{occ} = np.zeros(({shape}))\n" + else: + for s1, s2 in [("a", "a"), ("a", "b"), ("b", "b")]: + for occ in [k[0] for k, v in terms.items() if v]: + shape = ", ".join(f"t2.{s}{s}{s}{s}.shape[{'0' if o == 'o' else '-1'}]" for o, s in zip(occ, s1+s2+s1+s2)) + postamble += f"{nm}.{s1}{s2}{s1}{s2}.{occ} = np.zeros(({shape}))\n" + return postamble + get_density_einsum_postamble(n, spin) + kwargs = { + "preamble": get_density_einsum_preamble(2, spin), + "postamble": get_postamble(2, spin), + } + codegen( + "make_rdm2_f", + returns, + output, + expr, + **kwargs, + ) + for codegen in code_generators.values(): codegen.postamble() codegen.stdout.close() From b1a8d6e6891e1f47ccd2d805457d2e25c9593fab Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Mon, 12 Aug 2024 21:45:30 +0100 Subject: [PATCH 073/168] Improved EOM --- ebcc/codegen/bootstrap_CCSD.py | 615 +++++++++++++++++-------------- ebcc/codegen/bootstrap_common.py | 200 +++++++++- 2 files changed, 538 insertions(+), 277 deletions(-) diff --git a/ebcc/codegen/bootstrap_CCSD.py b/ebcc/codegen/bootstrap_CCSD.py index bef1eeac..3d67317f 100644 --- a/ebcc/codegen/bootstrap_CCSD.py +++ b/ebcc/codegen/bootstrap_CCSD.py @@ -8,7 +8,6 @@ from albert.qc._pdaggerq import import_from_pdaggerq from albert.tensor import Tensor from albert.qc.index import Index -from albert.algebra import Mul from ebcc.codegen.bootstrap_common import * @@ -16,8 +15,12 @@ spin = sys.argv[1] # Set up the code generators +class _EinsumCodeGen(EinsumCodeGen): + def tensor_cleanup(self, *args): + args = [a for a in args if not a.startswith("ints.")] + return super().tensor_cleanup(*args) code_generators = { - "einsum": EinsumCodeGen( + "einsum": _EinsumCodeGen( stdout=open(f"{spin[0].upper()}CCSD.py", "w"), name_generator=name_generators[spin], spin=spin, @@ -32,265 +35,265 @@ pq = pdaggerq.pq_helper("fermi") pq.set_print_level(0) -with Stopwatch("Energy"): - # Get the energy contractions in pdaggerq format - pq.clear() - pq.set_left_operators([["1"]]) - pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) - pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) - pq.simplify() - terms = pq.fully_contracted_strings() - terms = remove_hf_energy(terms) - - # Get the energy in albert format - expr = import_from_pdaggerq(terms) - expr = spin_integrate(expr, spin) - output = tuple(Tensor(name="e_cc") for _ in range(len(expr))) - output, expr = optimise(output, expr, spin, strategy="exhaust") - returns = (Tensor(name="e_cc"),) - - # Generate the energy code - for codegen in code_generators.values(): - codegen( - "energy", - returns, - output, - expr, - ) - -with Stopwatch("T amplitudes"): - # Get the T1 contractions in pdaggerq format - pq.clear() - pq.set_left_operators([["e1(i,a)"]]) - pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) - pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) - pq.simplify() - terms_t1 = pq.fully_contracted_strings() - - # Get the T2 contractions in pdaggerq format - pq.clear() - pq.set_left_operators([["e2(i,j,b,a)"]]) - pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) - pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) - pq.simplify() - terms_t2 = pq.fully_contracted_strings() - - # Get the T amplitudes in albert format - terms = [terms_t1, terms_t2] - expr = [] - output = [] - returns = [] - for n in range(2): - for index_spins in get_amplitude_spins(n + 1, spin): - indices = default_indices["o"][: n + 1] + default_indices["v"][: n + 1] - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) - expr_n = spin_integrate(expr_n, spin) - output_n = get_t_amplitude_outputs(expr_n, f"t{n+1}new") - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"t{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - output, expr = optimise(output, expr, spin, strategy="exhaust") - - # Generate the T amplitude code - for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "preamble": "t1new = Namespace()\nt2new = Namespace()" if spin == "uhf" else None, - "as_dict": True, - } - else: - kwargs = {} - codegen( - "update_amps", - returns, - output, - expr, - **kwargs, - ) - -with Stopwatch("L amplitudes"): - # Get the L1 contractions in pdaggerq format - pq.clear() - pq.set_left_operators([["1"]]) - pq.set_right_operators([["1"]]) - pq.add_st_operator(1.0, ["f", "e1(a,i)"], ["t1", "t2"]) - pq.add_st_operator(1.0, ["v", "e1(a,i)"], ["t1", "t2"]) - pq.set_left_operators([["l1"], ["l2"]]) - pq.add_st_operator(1.0, ["f", "e1(a,i)"], ["t1", "t2"]) - pq.add_st_operator(1.0, ["v", "e1(a,i)"], ["t1", "t2"]) - pq.add_st_operator(-1.0, ["e1(a,i)", "f"], ["t1", "t2"]) - pq.add_st_operator(-1.0, ["e1(a,i)", "v"], ["t1", "t2"]) - pq.simplify() - terms_l1 = pq.fully_contracted_strings() - - # Get the L2 contractions in pdaggerq format - pq.clear() - pq.set_left_operators([["1"]]) - pq.set_right_operators([["1"]]) - pq.add_st_operator(1.0, ["f", "e2(a,b,j,i)"], ["t1", "t2"]) - pq.add_st_operator(1.0, ["v", "e2(a,b,j,i)"], ["t1", "t2"]) - pq.set_left_operators([["l1"], ["l2"]]) - pq.add_st_operator(1.0, ["f", "e2(a,b,j,i)"], ["t1", "t2"]) - pq.add_st_operator(1.0, ["v", "e2(a,b,j,i)"], ["t1", "t2"]) - pq.add_st_operator(-1.0, ["e2(a,b,j,i)", "f"], ["t1", "t2"]) - pq.add_st_operator(-1.0, ["e2(a,b,j,i)", "v"], ["t1", "t2"]) - pq.simplify() - terms_l2 = pq.fully_contracted_strings() - - # Get the L amplitudes in albert format - terms = [terms_l1, terms_l2] - expr = [] - output = [] - returns = [] - for n in range(2): - for index_spins in get_amplitude_spins(n + 1, spin): - indices = default_indices["v"][: n + 1] + default_indices["o"][: n + 1] - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) - expr_n = spin_integrate(expr_n, spin) - output_n = get_l_amplitude_outputs(expr_n, f"l{n+1}new") - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"l{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - output, expr = optimise(output, expr, spin, strategy="opt") - - # Generate the L amplitude code - for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "preamble": "l1new = Namespace()\nl2new = Namespace()" if spin == "uhf" else None, - "as_dict": True, - } - else: - kwargs = {} - codegen( - "update_lams", - returns, - output, - expr, - **kwargs, - ) - -with Stopwatch("1RDM"): - # Get the 1RDM contractions in pdaggerq format - terms = {} - for sectors, indices in [("oo", "ij"), ("ov", "ia"), ("vo", "ai"), ("vv", "ab")]: - pq.clear() - pq.set_left_operators([["1"], ["l1"], ["l2"]]) - pq.add_st_operator(1.0, [f"e1({','.join(indices)})"], ["t1", "t2"]) - pq.simplify() - terms[sectors, indices] = pq.fully_contracted_strings() - - # Get the 1RDM in albert format - expr = [] - output = [] - returns = [] - for sectors, indices in [("oo", "ij"), ("ov", "ia"), ("vo", "ai"), ("vv", "ab")]: - for index_spins in get_density_spins(1, spin, indices): - expr_n = import_from_pdaggerq(terms[sectors, indices], index_spins=index_spins) - expr_n = spin_integrate(expr_n, spin) - if spin == "rhf": - expr_n = tuple(e * 2 for e in expr_n) - output_n = get_density_outputs(expr_n, f"d", indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i], space=s) for i, s in zip(indices, sectors)), name=f"d"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - output, expr = optimise(output, expr, spin, strategy="exhaust") - - # Generate the 1RDM code - for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "preamble": get_density_einsum_preamble(1, spin), - "postamble": get_density_einsum_postamble(1, spin), - } - else: - kwargs = {} - codegen( - "make_rdm1_f", - returns, - output, - expr, - **kwargs, - ) - -with Stopwatch("2RDM"): - # Get the 2RDM contractions in pdaggerq format - terms = {} - for sectors, indices in [ - ("oooo", "ijkl"), - ("ooov", "ijka"), - ("oovo", "ijak"), - ("ovoo", "iajk"), - ("vooo", "aijk"), - ("oovv", "ijab"), - ("ovov", "iajb"), - ("ovvo", "iabj"), - ("voov", "aijb"), - ("vovo", "aibj"), - ("vvoo", "abij"), - ("ovvv", "iabc"), - ("vovv", "aibc"), - ("vvov", "abic"), - ("vvvo", "abci"), - ("vvvv", "abcd"), - ]: - pq.clear() - pq.set_left_operators([["1"], ["l1"], ["l2"]]) - pq.add_st_operator( - 1.0, [f"e2({indices[0]},{indices[1]},{indices[3]},{indices[2]})"], ["t1", "t2"] - ) - pq.simplify() - terms[sectors, indices] = pq.fully_contracted_strings() - - # Get the 2RDM in albert format - expr = [] - output = [] - returns = [] - for sectors, indices in [ - ("oooo", "ijkl"), - ("ooov", "ijka"), - ("oovo", "ijak"), - ("ovoo", "iajk"), - ("vooo", "aijk"), - ("oovv", "ijab"), - ("ovov", "iajb"), - ("ovvo", "iabj"), - ("voov", "aijb"), - ("vovo", "aibj"), - ("vvoo", "abij"), - ("ovvv", "iabc"), - ("vovv", "aibc"), - ("vvov", "abic"), - ("vvvo", "abci"), - ("vvvv", "abcd"), - ]: - for index_spins in get_density_spins(2, spin, indices): - expr_n = import_from_pdaggerq(terms[sectors, indices], index_spins=index_spins) - expr_n = spin_integrate(expr_n, spin) - output_n = get_density_outputs(expr_n, f"Γ", indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i], space=s) for i, s in zip(indices, sectors)), name=f"Γ"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - output, expr = optimise(output, expr, spin, strategy="trav") - - # Generate the 2RDM code - for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "preamble": get_density_einsum_preamble(2, spin), - "postamble": get_density_einsum_postamble(2, spin), - } - codegen( - "make_rdm2_f", - returns, - output, - expr, - **kwargs, - ) +#with Stopwatch("Energy"): +# # Get the energy contractions in pdaggerq format +# pq.clear() +# pq.set_left_operators([["1"]]) +# pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) +# pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) +# pq.simplify() +# terms = pq.fully_contracted_strings() +# terms = remove_hf_energy(terms) +# +# # Get the energy in albert format +# expr = import_from_pdaggerq(terms) +# expr = spin_integrate(expr, spin) +# output = tuple(Tensor(name="e_cc") for _ in range(len(expr))) +# output, expr = optimise(output, expr, spin, strategy="exhaust") +# returns = (Tensor(name="e_cc"),) +# +# # Generate the energy code +# for codegen in code_generators.values(): +# codegen( +# "energy", +# returns, +# output, +# expr, +# ) +# +#with Stopwatch("T amplitudes"): +# # Get the T1 contractions in pdaggerq format +# pq.clear() +# pq.set_left_operators([["e1(i,a)"]]) +# pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) +# pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) +# pq.simplify() +# terms_t1 = pq.fully_contracted_strings() +# +# # Get the T2 contractions in pdaggerq format +# pq.clear() +# pq.set_left_operators([["e2(i,j,b,a)"]]) +# pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) +# pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) +# pq.simplify() +# terms_t2 = pq.fully_contracted_strings() +# +# # Get the T amplitudes in albert format +# terms = [terms_t1, terms_t2] +# expr = [] +# output = [] +# returns = [] +# for n in range(2): +# for index_spins in get_amplitude_spins(n + 1, spin): +# indices = default_indices["o"][: n + 1] + default_indices["v"][: n + 1] +# expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) +# expr_n = spin_integrate(expr_n, spin) +# output_n = get_t_amplitude_outputs(expr_n, f"t{n+1}new") +# returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"t{n+1}new"),) +# expr.extend(expr_n) +# output.extend(output_n) +# returns.extend(returns_n) +# output, expr = optimise(output, expr, spin, strategy="exhaust") +# +# # Generate the T amplitude code +# for name, codegen in code_generators.items(): +# if name == "einsum": +# kwargs = { +# "preamble": "t1new = Namespace()\nt2new = Namespace()" if spin == "uhf" else None, +# "as_dict": True, +# } +# else: +# kwargs = {} +# codegen( +# "update_amps", +# returns, +# output, +# expr, +# **kwargs, +# ) +# +#with Stopwatch("L amplitudes"): +# # Get the L1 contractions in pdaggerq format +# pq.clear() +# pq.set_left_operators([["1"]]) +# pq.set_right_operators([["1"]]) +# pq.add_st_operator(1.0, ["f", "e1(a,i)"], ["t1", "t2"]) +# pq.add_st_operator(1.0, ["v", "e1(a,i)"], ["t1", "t2"]) +# pq.set_left_operators([["l1"], ["l2"]]) +# pq.add_st_operator(1.0, ["f", "e1(a,i)"], ["t1", "t2"]) +# pq.add_st_operator(1.0, ["v", "e1(a,i)"], ["t1", "t2"]) +# pq.add_st_operator(-1.0, ["e1(a,i)", "f"], ["t1", "t2"]) +# pq.add_st_operator(-1.0, ["e1(a,i)", "v"], ["t1", "t2"]) +# pq.simplify() +# terms_l1 = pq.fully_contracted_strings() +# +# # Get the L2 contractions in pdaggerq format +# pq.clear() +# pq.set_left_operators([["1"]]) +# pq.set_right_operators([["1"]]) +# pq.add_st_operator(1.0, ["f", "e2(a,b,j,i)"], ["t1", "t2"]) +# pq.add_st_operator(1.0, ["v", "e2(a,b,j,i)"], ["t1", "t2"]) +# pq.set_left_operators([["l1"], ["l2"]]) +# pq.add_st_operator(1.0, ["f", "e2(a,b,j,i)"], ["t1", "t2"]) +# pq.add_st_operator(1.0, ["v", "e2(a,b,j,i)"], ["t1", "t2"]) +# pq.add_st_operator(-1.0, ["e2(a,b,j,i)", "f"], ["t1", "t2"]) +# pq.add_st_operator(-1.0, ["e2(a,b,j,i)", "v"], ["t1", "t2"]) +# pq.simplify() +# terms_l2 = pq.fully_contracted_strings() +# +# # Get the L amplitudes in albert format +# terms = [terms_l1, terms_l2] +# expr = [] +# output = [] +# returns = [] +# for n in range(2): +# for index_spins in get_amplitude_spins(n + 1, spin): +# indices = default_indices["v"][: n + 1] + default_indices["o"][: n + 1] +# expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) +# expr_n = spin_integrate(expr_n, spin) +# output_n = get_l_amplitude_outputs(expr_n, f"l{n+1}new") +# returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"l{n+1}new"),) +# expr.extend(expr_n) +# output.extend(output_n) +# returns.extend(returns_n) +# output, expr = optimise(output, expr, spin, strategy="opt") +# +# # Generate the L amplitude code +# for name, codegen in code_generators.items(): +# if name == "einsum": +# kwargs = { +# "preamble": "l1new = Namespace()\nl2new = Namespace()" if spin == "uhf" else None, +# "as_dict": True, +# } +# else: +# kwargs = {} +# codegen( +# "update_lams", +# returns, +# output, +# expr, +# **kwargs, +# ) +# +#with Stopwatch("1RDM"): +# # Get the 1RDM contractions in pdaggerq format +# terms = {} +# for sectors, indices in [("oo", "ij"), ("ov", "ia"), ("vo", "ai"), ("vv", "ab")]: +# pq.clear() +# pq.set_left_operators([["1"], ["l1"], ["l2"]]) +# pq.add_st_operator(1.0, [f"e1({','.join(indices)})"], ["t1", "t2"]) +# pq.simplify() +# terms[sectors, indices] = pq.fully_contracted_strings() +# +# # Get the 1RDM in albert format +# expr = [] +# output = [] +# returns = [] +# for sectors, indices in [("oo", "ij"), ("ov", "ia"), ("vo", "ai"), ("vv", "ab")]: +# for index_spins in get_density_spins(1, spin, indices): +# expr_n = import_from_pdaggerq(terms[sectors, indices], index_spins=index_spins) +# expr_n = spin_integrate(expr_n, spin) +# if spin == "rhf": +# expr_n = tuple(e * 2 for e in expr_n) +# output_n = get_density_outputs(expr_n, f"d", indices) +# returns_n = (Tensor(*tuple(Index(i, index_spins[i], space=s) for i, s in zip(indices, sectors)), name=f"d"),) +# expr.extend(expr_n) +# output.extend(output_n) +# returns.extend(returns_n) +# output, expr = optimise(output, expr, spin, strategy="exhaust") +# +# # Generate the 1RDM code +# for name, codegen in code_generators.items(): +# if name == "einsum": +# kwargs = { +# "preamble": get_density_einsum_preamble(1, spin), +# "postamble": get_density_einsum_postamble(1, spin), +# } +# else: +# kwargs = {} +# codegen( +# "make_rdm1_f", +# returns, +# output, +# expr, +# **kwargs, +# ) +# +#with Stopwatch("2RDM"): +# # Get the 2RDM contractions in pdaggerq format +# terms = {} +# for sectors, indices in [ +# ("oooo", "ijkl"), +# ("ooov", "ijka"), +# ("oovo", "ijak"), +# ("ovoo", "iajk"), +# ("vooo", "aijk"), +# ("oovv", "ijab"), +# ("ovov", "iajb"), +# ("ovvo", "iabj"), +# ("voov", "aijb"), +# ("vovo", "aibj"), +# ("vvoo", "abij"), +# ("ovvv", "iabc"), +# ("vovv", "aibc"), +# ("vvov", "abic"), +# ("vvvo", "abci"), +# ("vvvv", "abcd"), +# ]: +# pq.clear() +# pq.set_left_operators([["1"], ["l1"], ["l2"]]) +# pq.add_st_operator( +# 1.0, [f"e2({indices[0]},{indices[1]},{indices[3]},{indices[2]})"], ["t1", "t2"] +# ) +# pq.simplify() +# terms[sectors, indices] = pq.fully_contracted_strings() +# +# # Get the 2RDM in albert format +# expr = [] +# output = [] +# returns = [] +# for sectors, indices in [ +# ("oooo", "ijkl"), +# ("ooov", "ijka"), +# ("oovo", "ijak"), +# ("ovoo", "iajk"), +# ("vooo", "aijk"), +# ("oovv", "ijab"), +# ("ovov", "iajb"), +# ("ovvo", "iabj"), +# ("voov", "aijb"), +# ("vovo", "aibj"), +# ("vvoo", "abij"), +# ("ovvv", "iabc"), +# ("vovv", "aibc"), +# ("vvov", "abic"), +# ("vvvo", "abci"), +# ("vvvv", "abcd"), +# ]: +# for index_spins in get_density_spins(2, spin, indices): +# expr_n = import_from_pdaggerq(terms[sectors, indices], index_spins=index_spins) +# expr_n = spin_integrate(expr_n, spin) +# output_n = get_density_outputs(expr_n, f"Γ", indices) +# returns_n = (Tensor(*tuple(Index(i, index_spins[i], space=s) for i, s in zip(indices, sectors)), name=f"Γ"),) +# expr.extend(expr_n) +# output.extend(output_n) +# returns.extend(returns_n) +# output, expr = optimise(output, expr, spin, strategy="trav") +# +# # Generate the 2RDM code +# for name, codegen in code_generators.items(): +# if name == "einsum": +# kwargs = { +# "preamble": get_density_einsum_preamble(2, spin), +# "postamble": get_density_einsum_postamble(2, spin), +# } +# codegen( +# "make_rdm2_f", +# returns, +# output, +# expr, +# **kwargs, +# ) with Stopwatch("IP-EOM"): # Get the R1 contractions in pdaggerq format @@ -330,22 +333,42 @@ expr.extend(expr_n) output.extend(output_n) returns.extend(returns_n) - output, expr = optimise(output, expr, spin, strategy="exhaust") + + (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="exhaust") + + # Generate the R amplitude intermediates code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_matvec_ip_intermediates", + returns_nr, + output_nr, + expr_nr, + **kwargs, + ) # Generate the R amplitude code for name, codegen in code_generators.items(): if name == "einsum": + preamble = "ints = kwargs[\"ints\"]" + if spin == "uhf": + preamble += "\nr1new = Namespace()\nr2new = Namespace()" kwargs = { - "preamble": "r1new = Namespace()\nr2new = Namespace()" if spin == "uhf" else None, + "preamble": preamble, "as_dict": True, } else: kwargs = {} codegen( "hbar_matvec_ip", - returns, - output, - expr, + returns_r, + output_r, + expr_r, **kwargs, ) @@ -387,22 +410,42 @@ expr.extend(expr_n) output.extend(output_n) returns.extend(returns_n) - output, expr = optimise(output, expr, spin, strategy="exhaust") + + (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="exhaust") + + # Generate the R amplitude intermediates code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_matvec_ea_intermediates", + returns_nr, + output_nr, + expr_nr, + **kwargs, + ) # Generate the R amplitude code for name, codegen in code_generators.items(): if name == "einsum": + preamble = "ints = kwargs[\"ints\"]" + if spin == "uhf": + preamble += "\nr1new = Namespace()\nr2new = Namespace()" kwargs = { - "preamble": "r1new = Namespace()\nr2new = Namespace()" if spin == "uhf" else None, + "preamble": preamble, "as_dict": True, } else: kwargs = {} codegen( "hbar_matvec_ea", - returns, - output, - expr, + returns_r, + output_r, + expr_r, **kwargs, ) @@ -445,13 +488,33 @@ expr.extend(expr_n) output.extend(output_n) returns.extend(returns_n) - output, expr = optimise(output, expr, spin, strategy="exhaust") + + (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="trav") + + # Generate the R amplitude intermediates code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_matvec_ee_intermediates", + returns_nr, + output_nr, + expr_nr, + **kwargs, + ) # Generate the R amplitude code for name, codegen in code_generators.items(): if name == "einsum": + preamble = "ints = kwargs[\"ints\"]" + if spin == "uhf": + preamble += "\nr1new = Namespace()\nr2new = Namespace()" kwargs = { - "preamble": "r1new = Namespace()\nr2new = Namespace()" if spin == "uhf" else None, + "preamble": preamble, "postamble": "r2new.baba = r2new.abab.transpose(1, 0, 3, 2)" if spin == "uhf" else None, # FIXME "as_dict": True, } @@ -459,9 +522,9 @@ kwargs = {} codegen( "hbar_matvec_ee", - returns, - output, - expr, + returns_r, + output_r, + expr_r, **kwargs, ) diff --git a/ebcc/codegen/bootstrap_common.py b/ebcc/codegen/bootstrap_common.py index 520ae621..e7854d02 100644 --- a/ebcc/codegen/bootstrap_common.py +++ b/ebcc/codegen/bootstrap_common.py @@ -14,6 +14,8 @@ from albert.qc.uhf import ERI as UERI, CDERI as UCDERI from albert.qc._pdaggerq import import_from_pdaggerq from albert.tensor import Tensor +from albert.symmetry import Symmetry, Permutation +from albert.algebra import Mul, Add from pdaggerq.config import OCC_INDICES, VIRT_INDICES ov_2e = [ @@ -44,6 +46,7 @@ "V": [i.upper() for i in VIRT_INDICES], "b": ["x", "y", "z", "b0", "b1", "b2", "b3"], "x": ["P", "Q", "R", "S", "x0", "x1", "x2", "x3", "x4", "x5", "x7"], + "d": ["DUMMY1", "DUMMY2", "DUMMY3", "DUMMY4"], } @@ -57,6 +60,7 @@ "V": 16, "b": 10, "x": 3000, + "d": 100000, } @@ -293,7 +297,7 @@ def optimise(outputs, exprs, spin, strategy="greedy", sizes=None): index_sizes = {} index_groups = [] for sector, indices in default_indices.items(): - spins = ("α", "β") if spin == "uhf" and sector not in ("b", "x") else (None,) + spins = ("α", "β") if spin == "uhf" and sector not in ("b", "x", "d") else (None,) for s in spins: index_sizes.update({Index(index, space=sector, spin=s): sizes[sector] for index in indices}) index_groups.append([Index(index, space=sector, spin=s) for index in indices]) @@ -523,3 +527,197 @@ def density_fit(obj): return left * right return density_fit + + +def optimise_eom(returns, output, expr, spin, strategy="exhaust"): + """Optimise EOM expressions into intermediates and final output.""" + # Hack the expressions to make the optimiser more likely to optimise out + # intermediates that are constant between EOM iterations + new_output = [] + new_expr = [] + tensor_types = {} + for o, e in zip(output, expr): + for a in e.nested_view(): + for i in a: + if isinstance(i, Tensor): + tensor_types[i.name] = i._symbol + a = [Tensor(*x.indices, symmetry=x.symmetry, name=x.name) if isinstance(x, Tensor) else x for x in a] + for i in range(len(a)): + if isinstance(a[i], Tensor) and a[i].name.startswith("r"): + a[i] = a[i].copy( + Index("DUMMY1", space="d"), + *a[i].indices, + symmetry=Symmetry(*[Permutation((0,), 1) + p for p in a[i].symmetry.permutations]), + ) + oa = o.copy( + Index("DUMMY1", space="d"), + *o.indices, + ) + new_output.append(oa) + new_expr.append(Mul(*a)) + output = new_output + expr = new_expr + + output, expr = optimise(output, expr, spin, strategy=strategy) + + # Unhack + new_output = [] + new_expr = [] + for o, e in zip(output, expr): + for a in e.nested_view(): + for i in range(len(a)): + if isinstance(a[i], Tensor): + remove = [ind.space == "d" for ind in a[i].indices] + a[i] = a[i].copy( + *tuple(ind for ind, r in zip(a[i].indices, remove) if not r), + symmetry=Symmetry( + *[ + Permutation( + tuple(x-sum(remove) for j, x in enumerate(p.permutation) if not remove[j]), + p.sign, + ) + for p in a[i].symmetry.permutations + ] + ) if a[i].symmetry else None + ) + remove = [ind.space == "d" for ind in o.indices] + oa = o.copy( + *tuple(ind for ind, r in zip(o.indices, remove) if not r), + symmetry=Symmetry( + *[ + Permutation( + tuple(x-sum(remove) for j, x in enumerate(p.permutation) if not remove[j]), + p.sign, + ) + for p in o.symmetry.permutations + ] + ) if o.symmetry else None + ) + new_output.append(oa) + new_expr.append(Mul(*a)) + output = new_output + expr = new_expr + + # Extract the intermediates that don't depend on R + output_r = [] + expr_r = [] + output_nr = [] + expr_nr = [] + cache = set() + for o, e in zip(output, expr): + depends_on_r = o.name.startswith("r") + if not depends_on_r: + for a in e.nested_view(): + for i in a: + if isinstance(i, Tensor): + if i.name.startswith("r") or i.name in cache: + depends_on_r = True + if depends_on_r: + output_r.append(o) + expr_r.append(e) + cache.add(o.name) + else: + output_nr.append(o) + expr_nr.append(e) + + # Get the tmps needed to return from the intermediates function + returns_r = returns + returns_nr = [] + initialised_here = set() + for o, e in zip(output_r, expr_r): + if o.name.startswith("tmp"): + initialised_here.add(o.name) + for a in e.nested_view(): + for i in a: + if isinstance(i, Tensor) and i.name.startswith("tmp"): + if i.name not in initialised_here: + returns_nr.append(i) + + # Transform the names of the intermediates + new_expr_r = [] + for o, e in zip(output_r, expr_r): + add_args = [] + for args in e.nested_view(): + args = list(args) + for i, a in enumerate(args): + if isinstance(a, Tensor) and a.name.startswith("tmp") and a.name not in initialised_here: + args[i] = Tensor(*a.indices, name=f"ints.{a.name}") + add_args.append(Mul(*args)) + new_expr_r.append(Add(*add_args)) + expr_r = new_expr_r + + # Re-optimise the output part -- first resub the tmps in + while True: + oi, ei = output_r[0], expr_r[0] + ei = ei.expand() + if oi.name.startswith("r"): + break + for j, (oj, ej) in enumerate(zip(output_r[1:], expr_r[1:])): + new_muls = [] + for mul_args in ej.nested_view(): + new_args = [] + for arg in mul_args: + if isinstance(arg, Tensor) and arg.name == oi.name: + index_map = dict(zip(oi.external_indices, arg.external_indices)) + for index in ei.dummy_indices: + # avoid collision + i = 0 + new_index = None + while new_index is None or new_index in ei.external_indices or new_index in ei.dummy_indices or new_index in index_map.values(): + new_index = Index(name=default_indices[index.space][-(i + 1)], space=index.space, spin=index.spin) + i += 1 + index_map[index] = new_index + new_arg = ei.map_indices(index_map) + new_args.append(new_arg) + else: + new_args.append(arg) + new_muls.append(Mul(*new_args)) + expr_r[j + 1] = Add(*new_muls) + output_r = output_r[1:] + expr_r = expr_r[1:] + # Sum the R terms, else factorisation is not complete after the optimisation + new_output_expr_r = {} + new_output_r = [] + key = lambda o: (o.name, tuple(i.spin for i in o.indices), tuple(i.space for i in o.indices)) + for o, e in zip(output_r, expr_r): + okey = key(o) + if okey not in new_output_expr_r: + new_output_expr_r[okey] = Add(e) + new_output_r.append(o) + elif isinstance(new_output_expr_r[okey], Add): + new_output_expr_r[okey] = Add(*new_output_expr_r[okey].args, e) + else: + new_output_expr_r[okey] = Add(new_output_expr_r[okey], e) + output_r, expr_r = optimise(new_output_r, [new_output_expr_r[key(o)] for o in new_output_r], spin, strategy=strategy) + + # Replace the tensor types so the canonicalisation works + new_output_nr = [] + new_expr_nr = [] + for o, e in zip(output_nr, expr_nr): + new_args = [] + for args in e.nested_view(): + args = list(args) + for i, a in enumerate(args): + if isinstance(a, Tensor) and a.name in tensor_types: + args[i] = tensor_types[a.name][a.indices].canonicalise() + new_args.append(Mul(*args)) + new_output_nr.append(o) + new_expr_nr.append(Add(*new_args)) + output_nr = new_output_nr + expr_nr = new_expr_nr + new_output_r = [] + new_expr_r = [] + for o, e in zip(output_r, expr_r): + new_args = [] + for args in e.nested_view(): + args = list(args) + for i, a in enumerate(args): + if isinstance(a, Tensor) and a.name in tensor_types: + args[i] = tensor_types[a.name][a.indices].canonicalise() + new_args.append(Mul(*args)) + new_output_r.append(o) + new_expr_r.append(Add(*new_args)) + output_r = new_output_r + expr_r = new_expr_r + + return (returns_nr, output_nr, expr_nr), (returns, output_r, expr_r) From d28d961e498735542262d40f15ed90786ed867e2 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Mon, 12 Aug 2024 22:01:49 +0100 Subject: [PATCH 074/168] Uncomment other bits --- ebcc/codegen/bootstrap_CCSD.py | 518 ++++++++++++++++----------------- 1 file changed, 259 insertions(+), 259 deletions(-) diff --git a/ebcc/codegen/bootstrap_CCSD.py b/ebcc/codegen/bootstrap_CCSD.py index 3d67317f..d6aabf22 100644 --- a/ebcc/codegen/bootstrap_CCSD.py +++ b/ebcc/codegen/bootstrap_CCSD.py @@ -35,265 +35,265 @@ def tensor_cleanup(self, *args): pq = pdaggerq.pq_helper("fermi") pq.set_print_level(0) -#with Stopwatch("Energy"): -# # Get the energy contractions in pdaggerq format -# pq.clear() -# pq.set_left_operators([["1"]]) -# pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) -# pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) -# pq.simplify() -# terms = pq.fully_contracted_strings() -# terms = remove_hf_energy(terms) -# -# # Get the energy in albert format -# expr = import_from_pdaggerq(terms) -# expr = spin_integrate(expr, spin) -# output = tuple(Tensor(name="e_cc") for _ in range(len(expr))) -# output, expr = optimise(output, expr, spin, strategy="exhaust") -# returns = (Tensor(name="e_cc"),) -# -# # Generate the energy code -# for codegen in code_generators.values(): -# codegen( -# "energy", -# returns, -# output, -# expr, -# ) -# -#with Stopwatch("T amplitudes"): -# # Get the T1 contractions in pdaggerq format -# pq.clear() -# pq.set_left_operators([["e1(i,a)"]]) -# pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) -# pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) -# pq.simplify() -# terms_t1 = pq.fully_contracted_strings() -# -# # Get the T2 contractions in pdaggerq format -# pq.clear() -# pq.set_left_operators([["e2(i,j,b,a)"]]) -# pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) -# pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) -# pq.simplify() -# terms_t2 = pq.fully_contracted_strings() -# -# # Get the T amplitudes in albert format -# terms = [terms_t1, terms_t2] -# expr = [] -# output = [] -# returns = [] -# for n in range(2): -# for index_spins in get_amplitude_spins(n + 1, spin): -# indices = default_indices["o"][: n + 1] + default_indices["v"][: n + 1] -# expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) -# expr_n = spin_integrate(expr_n, spin) -# output_n = get_t_amplitude_outputs(expr_n, f"t{n+1}new") -# returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"t{n+1}new"),) -# expr.extend(expr_n) -# output.extend(output_n) -# returns.extend(returns_n) -# output, expr = optimise(output, expr, spin, strategy="exhaust") -# -# # Generate the T amplitude code -# for name, codegen in code_generators.items(): -# if name == "einsum": -# kwargs = { -# "preamble": "t1new = Namespace()\nt2new = Namespace()" if spin == "uhf" else None, -# "as_dict": True, -# } -# else: -# kwargs = {} -# codegen( -# "update_amps", -# returns, -# output, -# expr, -# **kwargs, -# ) -# -#with Stopwatch("L amplitudes"): -# # Get the L1 contractions in pdaggerq format -# pq.clear() -# pq.set_left_operators([["1"]]) -# pq.set_right_operators([["1"]]) -# pq.add_st_operator(1.0, ["f", "e1(a,i)"], ["t1", "t2"]) -# pq.add_st_operator(1.0, ["v", "e1(a,i)"], ["t1", "t2"]) -# pq.set_left_operators([["l1"], ["l2"]]) -# pq.add_st_operator(1.0, ["f", "e1(a,i)"], ["t1", "t2"]) -# pq.add_st_operator(1.0, ["v", "e1(a,i)"], ["t1", "t2"]) -# pq.add_st_operator(-1.0, ["e1(a,i)", "f"], ["t1", "t2"]) -# pq.add_st_operator(-1.0, ["e1(a,i)", "v"], ["t1", "t2"]) -# pq.simplify() -# terms_l1 = pq.fully_contracted_strings() -# -# # Get the L2 contractions in pdaggerq format -# pq.clear() -# pq.set_left_operators([["1"]]) -# pq.set_right_operators([["1"]]) -# pq.add_st_operator(1.0, ["f", "e2(a,b,j,i)"], ["t1", "t2"]) -# pq.add_st_operator(1.0, ["v", "e2(a,b,j,i)"], ["t1", "t2"]) -# pq.set_left_operators([["l1"], ["l2"]]) -# pq.add_st_operator(1.0, ["f", "e2(a,b,j,i)"], ["t1", "t2"]) -# pq.add_st_operator(1.0, ["v", "e2(a,b,j,i)"], ["t1", "t2"]) -# pq.add_st_operator(-1.0, ["e2(a,b,j,i)", "f"], ["t1", "t2"]) -# pq.add_st_operator(-1.0, ["e2(a,b,j,i)", "v"], ["t1", "t2"]) -# pq.simplify() -# terms_l2 = pq.fully_contracted_strings() -# -# # Get the L amplitudes in albert format -# terms = [terms_l1, terms_l2] -# expr = [] -# output = [] -# returns = [] -# for n in range(2): -# for index_spins in get_amplitude_spins(n + 1, spin): -# indices = default_indices["v"][: n + 1] + default_indices["o"][: n + 1] -# expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) -# expr_n = spin_integrate(expr_n, spin) -# output_n = get_l_amplitude_outputs(expr_n, f"l{n+1}new") -# returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"l{n+1}new"),) -# expr.extend(expr_n) -# output.extend(output_n) -# returns.extend(returns_n) -# output, expr = optimise(output, expr, spin, strategy="opt") -# -# # Generate the L amplitude code -# for name, codegen in code_generators.items(): -# if name == "einsum": -# kwargs = { -# "preamble": "l1new = Namespace()\nl2new = Namespace()" if spin == "uhf" else None, -# "as_dict": True, -# } -# else: -# kwargs = {} -# codegen( -# "update_lams", -# returns, -# output, -# expr, -# **kwargs, -# ) -# -#with Stopwatch("1RDM"): -# # Get the 1RDM contractions in pdaggerq format -# terms = {} -# for sectors, indices in [("oo", "ij"), ("ov", "ia"), ("vo", "ai"), ("vv", "ab")]: -# pq.clear() -# pq.set_left_operators([["1"], ["l1"], ["l2"]]) -# pq.add_st_operator(1.0, [f"e1({','.join(indices)})"], ["t1", "t2"]) -# pq.simplify() -# terms[sectors, indices] = pq.fully_contracted_strings() -# -# # Get the 1RDM in albert format -# expr = [] -# output = [] -# returns = [] -# for sectors, indices in [("oo", "ij"), ("ov", "ia"), ("vo", "ai"), ("vv", "ab")]: -# for index_spins in get_density_spins(1, spin, indices): -# expr_n = import_from_pdaggerq(terms[sectors, indices], index_spins=index_spins) -# expr_n = spin_integrate(expr_n, spin) -# if spin == "rhf": -# expr_n = tuple(e * 2 for e in expr_n) -# output_n = get_density_outputs(expr_n, f"d", indices) -# returns_n = (Tensor(*tuple(Index(i, index_spins[i], space=s) for i, s in zip(indices, sectors)), name=f"d"),) -# expr.extend(expr_n) -# output.extend(output_n) -# returns.extend(returns_n) -# output, expr = optimise(output, expr, spin, strategy="exhaust") -# -# # Generate the 1RDM code -# for name, codegen in code_generators.items(): -# if name == "einsum": -# kwargs = { -# "preamble": get_density_einsum_preamble(1, spin), -# "postamble": get_density_einsum_postamble(1, spin), -# } -# else: -# kwargs = {} -# codegen( -# "make_rdm1_f", -# returns, -# output, -# expr, -# **kwargs, -# ) -# -#with Stopwatch("2RDM"): -# # Get the 2RDM contractions in pdaggerq format -# terms = {} -# for sectors, indices in [ -# ("oooo", "ijkl"), -# ("ooov", "ijka"), -# ("oovo", "ijak"), -# ("ovoo", "iajk"), -# ("vooo", "aijk"), -# ("oovv", "ijab"), -# ("ovov", "iajb"), -# ("ovvo", "iabj"), -# ("voov", "aijb"), -# ("vovo", "aibj"), -# ("vvoo", "abij"), -# ("ovvv", "iabc"), -# ("vovv", "aibc"), -# ("vvov", "abic"), -# ("vvvo", "abci"), -# ("vvvv", "abcd"), -# ]: -# pq.clear() -# pq.set_left_operators([["1"], ["l1"], ["l2"]]) -# pq.add_st_operator( -# 1.0, [f"e2({indices[0]},{indices[1]},{indices[3]},{indices[2]})"], ["t1", "t2"] -# ) -# pq.simplify() -# terms[sectors, indices] = pq.fully_contracted_strings() -# -# # Get the 2RDM in albert format -# expr = [] -# output = [] -# returns = [] -# for sectors, indices in [ -# ("oooo", "ijkl"), -# ("ooov", "ijka"), -# ("oovo", "ijak"), -# ("ovoo", "iajk"), -# ("vooo", "aijk"), -# ("oovv", "ijab"), -# ("ovov", "iajb"), -# ("ovvo", "iabj"), -# ("voov", "aijb"), -# ("vovo", "aibj"), -# ("vvoo", "abij"), -# ("ovvv", "iabc"), -# ("vovv", "aibc"), -# ("vvov", "abic"), -# ("vvvo", "abci"), -# ("vvvv", "abcd"), -# ]: -# for index_spins in get_density_spins(2, spin, indices): -# expr_n = import_from_pdaggerq(terms[sectors, indices], index_spins=index_spins) -# expr_n = spin_integrate(expr_n, spin) -# output_n = get_density_outputs(expr_n, f"Γ", indices) -# returns_n = (Tensor(*tuple(Index(i, index_spins[i], space=s) for i, s in zip(indices, sectors)), name=f"Γ"),) -# expr.extend(expr_n) -# output.extend(output_n) -# returns.extend(returns_n) -# output, expr = optimise(output, expr, spin, strategy="trav") -# -# # Generate the 2RDM code -# for name, codegen in code_generators.items(): -# if name == "einsum": -# kwargs = { -# "preamble": get_density_einsum_preamble(2, spin), -# "postamble": get_density_einsum_postamble(2, spin), -# } -# codegen( -# "make_rdm2_f", -# returns, -# output, -# expr, -# **kwargs, -# ) +with Stopwatch("Energy"): + # Get the energy contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["1"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) + pq.simplify() + terms = pq.fully_contracted_strings() + terms = remove_hf_energy(terms) + + # Get the energy in albert format + expr = import_from_pdaggerq(terms) + expr = spin_integrate(expr, spin) + output = tuple(Tensor(name="e_cc") for _ in range(len(expr))) + output, expr = optimise(output, expr, spin, strategy="exhaust") + returns = (Tensor(name="e_cc"),) + + # Generate the energy code + for codegen in code_generators.values(): + codegen( + "energy", + returns, + output, + expr, + ) + +with Stopwatch("T amplitudes"): + # Get the T1 contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["e1(i,a)"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) + pq.simplify() + terms_t1 = pq.fully_contracted_strings() + + # Get the T2 contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["e2(i,j,b,a)"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) + pq.simplify() + terms_t2 = pq.fully_contracted_strings() + + # Get the T amplitudes in albert format + terms = [terms_t1, terms_t2] + expr = [] + output = [] + returns = [] + for n in range(2): + for index_spins in get_amplitude_spins(n + 1, spin): + indices = default_indices["o"][: n + 1] + default_indices["v"][: n + 1] + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + output_n = get_t_amplitude_outputs(expr_n, f"t{n+1}new") + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"t{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + output, expr = optimise(output, expr, spin, strategy="exhaust") + + # Generate the T amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "preamble": "t1new = Namespace()\nt2new = Namespace()" if spin == "uhf" else None, + "as_dict": True, + } + else: + kwargs = {} + codegen( + "update_amps", + returns, + output, + expr, + **kwargs, + ) + +with Stopwatch("L amplitudes"): + # Get the L1 contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["1"]]) + pq.set_right_operators([["1"]]) + pq.add_st_operator(1.0, ["f", "e1(a,i)"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v", "e1(a,i)"], ["t1", "t2"]) + pq.set_left_operators([["l1"], ["l2"]]) + pq.add_st_operator(1.0, ["f", "e1(a,i)"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v", "e1(a,i)"], ["t1", "t2"]) + pq.add_st_operator(-1.0, ["e1(a,i)", "f"], ["t1", "t2"]) + pq.add_st_operator(-1.0, ["e1(a,i)", "v"], ["t1", "t2"]) + pq.simplify() + terms_l1 = pq.fully_contracted_strings() + + # Get the L2 contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["1"]]) + pq.set_right_operators([["1"]]) + pq.add_st_operator(1.0, ["f", "e2(a,b,j,i)"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v", "e2(a,b,j,i)"], ["t1", "t2"]) + pq.set_left_operators([["l1"], ["l2"]]) + pq.add_st_operator(1.0, ["f", "e2(a,b,j,i)"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v", "e2(a,b,j,i)"], ["t1", "t2"]) + pq.add_st_operator(-1.0, ["e2(a,b,j,i)", "f"], ["t1", "t2"]) + pq.add_st_operator(-1.0, ["e2(a,b,j,i)", "v"], ["t1", "t2"]) + pq.simplify() + terms_l2 = pq.fully_contracted_strings() + + # Get the L amplitudes in albert format + terms = [terms_l1, terms_l2] + expr = [] + output = [] + returns = [] + for n in range(2): + for index_spins in get_amplitude_spins(n + 1, spin): + indices = default_indices["v"][: n + 1] + default_indices["o"][: n + 1] + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + output_n = get_l_amplitude_outputs(expr_n, f"l{n+1}new") + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"l{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + output, expr = optimise(output, expr, spin, strategy="opt") + + # Generate the L amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "preamble": "l1new = Namespace()\nl2new = Namespace()" if spin == "uhf" else None, + "as_dict": True, + } + else: + kwargs = {} + codegen( + "update_lams", + returns, + output, + expr, + **kwargs, + ) + +with Stopwatch("1RDM"): + # Get the 1RDM contractions in pdaggerq format + terms = {} + for sectors, indices in [("oo", "ij"), ("ov", "ia"), ("vo", "ai"), ("vv", "ab")]: + pq.clear() + pq.set_left_operators([["1"], ["l1"], ["l2"]]) + pq.add_st_operator(1.0, [f"e1({','.join(indices)})"], ["t1", "t2"]) + pq.simplify() + terms[sectors, indices] = pq.fully_contracted_strings() + + # Get the 1RDM in albert format + expr = [] + output = [] + returns = [] + for sectors, indices in [("oo", "ij"), ("ov", "ia"), ("vo", "ai"), ("vv", "ab")]: + for index_spins in get_density_spins(1, spin, indices): + expr_n = import_from_pdaggerq(terms[sectors, indices], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + if spin == "rhf": + expr_n = tuple(e * 2 for e in expr_n) + output_n = get_density_outputs(expr_n, f"d", indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i], space=s) for i, s in zip(indices, sectors)), name=f"d"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + output, expr = optimise(output, expr, spin, strategy="exhaust") + + # Generate the 1RDM code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "preamble": get_density_einsum_preamble(1, spin), + "postamble": get_density_einsum_postamble(1, spin), + } + else: + kwargs = {} + codegen( + "make_rdm1_f", + returns, + output, + expr, + **kwargs, + ) + +with Stopwatch("2RDM"): + # Get the 2RDM contractions in pdaggerq format + terms = {} + for sectors, indices in [ + ("oooo", "ijkl"), + ("ooov", "ijka"), + ("oovo", "ijak"), + ("ovoo", "iajk"), + ("vooo", "aijk"), + ("oovv", "ijab"), + ("ovov", "iajb"), + ("ovvo", "iabj"), + ("voov", "aijb"), + ("vovo", "aibj"), + ("vvoo", "abij"), + ("ovvv", "iabc"), + ("vovv", "aibc"), + ("vvov", "abic"), + ("vvvo", "abci"), + ("vvvv", "abcd"), + ]: + pq.clear() + pq.set_left_operators([["1"], ["l1"], ["l2"]]) + pq.add_st_operator( + 1.0, [f"e2({indices[0]},{indices[1]},{indices[3]},{indices[2]})"], ["t1", "t2"] + ) + pq.simplify() + terms[sectors, indices] = pq.fully_contracted_strings() + + # Get the 2RDM in albert format + expr = [] + output = [] + returns = [] + for sectors, indices in [ + ("oooo", "ijkl"), + ("ooov", "ijka"), + ("oovo", "ijak"), + ("ovoo", "iajk"), + ("vooo", "aijk"), + ("oovv", "ijab"), + ("ovov", "iajb"), + ("ovvo", "iabj"), + ("voov", "aijb"), + ("vovo", "aibj"), + ("vvoo", "abij"), + ("ovvv", "iabc"), + ("vovv", "aibc"), + ("vvov", "abic"), + ("vvvo", "abci"), + ("vvvv", "abcd"), + ]: + for index_spins in get_density_spins(2, spin, indices): + expr_n = import_from_pdaggerq(terms[sectors, indices], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + output_n = get_density_outputs(expr_n, f"Γ", indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i], space=s) for i, s in zip(indices, sectors)), name=f"Γ"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + output, expr = optimise(output, expr, spin, strategy="trav") + + # Generate the 2RDM code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "preamble": get_density_einsum_preamble(2, spin), + "postamble": get_density_einsum_postamble(2, spin), + } + codegen( + "make_rdm2_f", + returns, + output, + expr, + **kwargs, + ) with Stopwatch("IP-EOM"): # Get the R1 contractions in pdaggerq format From cfb3b581b3b3adaa1cdc263bf3390fcb61ab3d2a Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Mon, 12 Aug 2024 23:09:52 +0100 Subject: [PATCH 075/168] Working on left EOM --- ebcc/codegen/bootstrap_CCSD.py | 77 ++++++++++++++++++++++++++++++++ ebcc/codegen/bootstrap_common.py | 16 +++---- 2 files changed, 85 insertions(+), 8 deletions(-) diff --git a/ebcc/codegen/bootstrap_CCSD.py b/ebcc/codegen/bootstrap_CCSD.py index d6aabf22..9cada2ce 100644 --- a/ebcc/codegen/bootstrap_CCSD.py +++ b/ebcc/codegen/bootstrap_CCSD.py @@ -528,6 +528,83 @@ def tensor_cleanup(self, *args): **kwargs, ) +#with Stopwatch("L-IP-EOM"): +# # Get the L1 contractions in pdaggerq format +# pq.clear() +# pq.set_left_operators_type("IP") +# pq.set_left_operators([["l1"], ["l2"]]) +# pq.set_right_operators([["a(i)"]]) +# pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) +# pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) +# pq.simplify() +# terms_r1 = pq.fully_contracted_strings() +# terms_r1 = remove_e0_eom(terms_r1) +# +# # Get the L2 contractions in pdaggerq format +# pq.clear() +# pq.set_left_operators_type("IP") +# pq.set_right_operators([["a*(a)", "a(i)", "a(j)"]]) +# pq.set_left_operators([["l1"], ["l2"]]) +# pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) +# pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) +# pq.simplify() +# terms_r2 = pq.fully_contracted_strings() +# terms_r2 = remove_e0_eom(terms_r2) +# +# # Get the L amplitudes in albert format +# terms = [terms_r1, terms_r2] +# expr = [] +# output = [] +# returns = [] +# for n in range(2): +# for index_spins in get_amplitude_spins(n + 1, spin, which="ip"): +# indices = default_indices["v"][: n] + default_indices["o"][: n + 1] +# expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) +# expr_n = spin_integrate(expr_n, spin) +# output_n = get_t_amplitude_outputs(expr_n, f"l{n+1}new", indices=indices) +# returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"l{n+1}new"),) +# expr.extend(expr_n) +# output.extend(output_n) +# returns.extend(returns_n) +# +# (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="exhaust") +# +# # Generate the L amplitude intermediates code +# for name, codegen in code_generators.items(): +# if name == "einsum": +# kwargs = { +# "as_dict": True, +# } +# else: +# kwargs = {} +# codegen( +# "hbar_lmatvec_ip_intermediates", +# returns_nr, +# output_nr, +# expr_nr, +# **kwargs, +# ) +# +# # Generate the L amplitude code +# for name, codegen in code_generators.items(): +# if name == "einsum": +# preamble = "ints = kwargs[\"ints\"]" +# if spin == "uhf": +# preamble += "\nl1new = Namespace()\nl2new = Namespace()" +# kwargs = { +# "preamble": preamble, +# "as_dict": True, +# } +# else: +# kwargs = {} +# codegen( +# "hbar_lmatvec_ip", +# returns_r, +# output_r, +# expr_r, +# **kwargs, +# ) + for codegen in code_generators.values(): codegen.postamble() codegen.stdout.close() diff --git a/ebcc/codegen/bootstrap_common.py b/ebcc/codegen/bootstrap_common.py index e7854d02..4c7c54e7 100644 --- a/ebcc/codegen/bootstrap_common.py +++ b/ebcc/codegen/bootstrap_common.py @@ -249,7 +249,7 @@ def remove_e0_eom(terms): r = None rest = [] for t in term[1:]: - if "r" in t: + if "r" in t or "l" in t: r = t elif not t.startswith("P("): rest.append(t) @@ -271,13 +271,13 @@ def remove_e0_eom(terms): # t2(a,b,i,j) r # t1(a,i) t1(b,j) r if len(term) == 3: - tensor = [t for t in term[1:] if not t.startswith("r")][0] + tensor = [t for t in term[1:] if not (t.startswith("r") or t.startswith("l"))][0] if tensor.startswith("f") and tensor[2] == tensor[4]: continue if tensor.startswith("<") and tensor[1] == tensor[6] and tensor[3] == tensor[8]: continue else: - tensors = sorted([t for t in term[1:] if not t.startswith("r")]) + tensors = sorted([t for t in term[1:] if not (t.startswith("r") or t.startswith("l"))]) if tensors[0].startswith("f") and tensors[1].startswith("t"): continue if tensors[0].startswith("<") and all(t.startswith("t") for t in tensors[1:]): @@ -543,7 +543,7 @@ def optimise_eom(returns, output, expr, spin, strategy="exhaust"): tensor_types[i.name] = i._symbol a = [Tensor(*x.indices, symmetry=x.symmetry, name=x.name) if isinstance(x, Tensor) else x for x in a] for i in range(len(a)): - if isinstance(a[i], Tensor) and a[i].name.startswith("r"): + if isinstance(a[i], Tensor) and (a[i].name.startswith("r") or a[i].name.startswith("l")): a[i] = a[i].copy( Index("DUMMY1", space="d"), *a[i].indices, @@ -598,19 +598,19 @@ def optimise_eom(returns, output, expr, spin, strategy="exhaust"): output = new_output expr = new_expr - # Extract the intermediates that don't depend on R + # Extract the intermediates that don't depend on R/L output_r = [] expr_r = [] output_nr = [] expr_nr = [] cache = set() for o, e in zip(output, expr): - depends_on_r = o.name.startswith("r") + depends_on_r = o.name.startswith("r") or o.name.startswith("l") if not depends_on_r: for a in e.nested_view(): for i in a: if isinstance(i, Tensor): - if i.name.startswith("r") or i.name in cache: + if i.name.startswith("r") or i.name.startswith("l") or i.name in cache: depends_on_r = True if depends_on_r: output_r.append(o) @@ -650,7 +650,7 @@ def optimise_eom(returns, output, expr, spin, strategy="exhaust"): while True: oi, ei = output_r[0], expr_r[0] ei = ei.expand() - if oi.name.startswith("r"): + if oi.name.startswith("r") or oi.name.startswith("l"): break for j, (oj, ej) in enumerate(zip(output_r[1:], expr_r[1:])): new_muls = [] From 448685a4114acb55a69527d97963a8862e9818bc Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Tue, 13 Aug 2024 09:24:21 +0100 Subject: [PATCH 076/168] Merge changes from branch master --- ebcc/cc/uebcc.py | 1 + tests/test_RCCSD.py | 59 --------------------------------------------- 2 files changed, 1 insertion(+), 59 deletions(-) diff --git a/ebcc/cc/uebcc.py b/ebcc/cc/uebcc.py index 08043674..532d40a1 100644 --- a/ebcc/cc/uebcc.py +++ b/ebcc/cc/uebcc.py @@ -84,6 +84,7 @@ def ee_eom(self, **kwargs: Any) -> EE_UEOM: @staticmethod def _convert_mf(mf: SCF) -> UHF: """Convert the mean-field object to the appropriate type.""" + return mf.to_uhf() hf = mf.to_uhf() if hasattr(mf, "xc"): hf.e_tot = hf.energy_tot() diff --git a/tests/test_RCCSD.py b/tests/test_RCCSD.py index 800c3f5d..cdc90dc2 100644 --- a/tests/test_RCCSD.py +++ b/tests/test_RCCSD.py @@ -493,65 +493,6 @@ def test_t1_amplitudes(self): np.testing.assert_almost_equal(a, b, 6) -@pytest.mark.reference -class RCCSD_PySCF_DFT_Tests(unittest.TestCase): - """Test RCCSD against the PySCF values with a DFT reference. - """ - - @classmethod - def setUpClass(cls): - mol = gto.Mole() - mol.atom = "O 0.0 0.0 0.11779; H 0.0 0.755453 -0.471161; H 0.0 -0.755453 -0.471161" - #mol.atom = "Li 0 0 0; H 0 0 1.4" - mol.basis = "cc-pvdz" - mol.verbose = 0 - mol.build() - - mf = dft.RKS(mol, xc="pbe,pbe") - mf = mf.density_fit() - mf.conv_tol = 1e-12 - mf.kernel() - - ccsd_ref = cc.CCSD(mf.to_rhf()) - ccsd_ref.conv_tol = 1e-10 - ccsd_ref.conv_tol_normt = 1e-14 - ccsd_ref.max_cycle = 200 - ccsd_ref.kernel() - ccsd_ref.solve_lambda() - - ccsd = REBCC( - mf, - ansatz="CCSD", - log=NullLogger(), - ) - ccsd.options.e_tol = 1e-10 - eris = ccsd.get_eris() - ccsd.kernel(eris=eris) - ccsd.solve_lambda(eris=eris) - - cls.mf, cls.ccsd_ref, cls.ccsd, cls.eris = mf, ccsd_ref, ccsd, eris - - @classmethod - def teardownclass(cls): - del cls.mf, cls.ccsd_ref, cls.ccsd, cls.eris - - def test_converged(self): - self.assertTrue(self.ccsd.converged) - self.assertTrue(self.ccsd.converged_lambda) - self.assertTrue(self.ccsd_ref.converged) - self.assertTrue(self.ccsd_ref.converged_lambda) - - def test_energy(self): - a = self.ccsd_ref.e_tot - b = self.ccsd.e_tot - self.assertAlmostEqual(a, b, 7) - - def test_t1_amplitudes(self): - a = self.ccsd_ref.t1 - b = self.ccsd.t1 - np.testing.assert_almost_equal(a, b, 6) - - if __name__ == "__main__": print("Tests for RCCSD") unittest.main() From 4e998d5c03179377a7d7d33ee97a243faf79112c Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Tue, 13 Aug 2024 20:11:38 +0100 Subject: [PATCH 077/168] Fix for l amplitude opt --- ebcc/codegen/GCCSD.py | 1572 ++++++++++++++++++++++++++++++ ebcc/codegen/bootstrap_common.py | 8 +- 2 files changed, 1576 insertions(+), 4 deletions(-) create mode 100644 ebcc/codegen/GCCSD.py diff --git a/ebcc/codegen/GCCSD.py b/ebcc/codegen/GCCSD.py new file mode 100644 index 00000000..e9425021 --- /dev/null +++ b/ebcc/codegen/GCCSD.py @@ -0,0 +1,1572 @@ +""" +Code generated by `albert`: +https://github.com/obackhouse/albert + + * date: 2024-08-12T21:47:30.035000 + * python version: 3.10.12 (main, Jul 29 2024, 16:56:48) [GCC 11.4.0] + * albert version: 0.0.0 + * caller: /home/ollie/git/albert/albert/codegen/einsum.py + * node: ollie-desktop + * system: Linux + * processor: x86_64 + * release: 6.5.0-44-generic +""" + +from ebcc import numpy as np +from ebcc.util import pack_2e, einsum, direct_sum, Namespace + + +def energy(f=None, t1=None, t2=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-08-12T21:47:30.201242. + + Parameters + ---------- + f : array + Fock matrix. + t1 : array + T1 amplitudes. + t2 : array + T2 amplitudes. + v : array + Electron repulsion integrals. + + Returns + ------- + e_cc : float + Coupled cluster energy. + """ + + tmp0 = t2.copy() + tmp0 += einsum(t1, (0, 1), t1, (2, 3), (2, 0, 3, 1)) * 2 + e_cc = einsum(tmp0, (0, 1, 2, 3), v.oovv, (0, 1, 2, 3), ()) * 0.25 + del tmp0 + e_cc += einsum(f.ov, (0, 1), t1, (0, 1), ()) + + return e_cc + +def update_amps(f=None, t1=None, t2=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-08-12T21:47:34.832884. + + Parameters + ---------- + f : array + Fock matrix. + t1 : array + T1 amplitudes. + t2 : array + T2 amplitudes. + v : array + Electron repulsion integrals. + + Returns + ------- + t1new : array + Updated T1 residuals. + t2new : array + Updated T2 residuals. + """ + + tmp17 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 5, 2, 3), (4, 5, 0, 1)) + tmp16 = einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), (0, 2, 3, 4)) + tmp3 = einsum(v.oovv, (0, 1, 2, 3), t1, (1, 3), (0, 2)) + tmp5 = einsum(f.ov, (0, 1), t1, (2, 1), (0, 2)) + tmp22 = einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 2, 3), (0, 4)) + tmp24 = einsum(v.ooov, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) + tmp7 = t2.copy() + tmp7 += einsum(t1, (0, 1), t1, (2, 3), (2, 0, 3, 1)) * 2 + tmp32 = einsum(v.ovvv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) + tmp14 = einsum(t2, (0, 1, 2, 3), v.oovv, (0, 1, 4, 3), (2, 4)) + tmp18 = tmp16.transpose((0, 2, 1, 3)).copy() * -1 + del tmp16 + tmp18 += tmp17.transpose((2, 1, 0, 3)) * 0.5 + del tmp17 + tmp34 = einsum(v.ovvv, (0, 1, 2, 3), t1, (0, 3), (1, 2)) + tmp38 = einsum(tmp3, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4)) * -1 + tmp36 = einsum(v.oovv, (0, 1, 2, 3), t2, (4, 1, 5, 3), (4, 0, 5, 2)) + tmp0 = einsum(v.oovv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) + tmp9 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 1, 5, 3), (0, 4, 5, 2)) + tmp11 = t2.copy() + tmp11 += einsum(t1, (0, 1), t1, (2, 3), (2, 0, 1, 3)) * -1 + tmp6 = einsum(t1, (0, 1), v.ooov, (2, 0, 3, 1), (2, 3)) + tmp29 = einsum(tmp3, (0, 1), t1, (2, 1), (2, 0)) + tmp21 = einsum(t2, (0, 1, 2, 3), tmp5, (1, 4), (4, 0, 2, 3)) + tmp23 = einsum(t2, (0, 1, 2, 3), tmp22, (4, 1), (0, 4, 2, 3)) + del tmp22 + tmp25 = einsum(tmp7, (0, 1, 2, 3), tmp24, (4, 0, 1, 5), (4, 5, 2, 3)) * 0.5 + del tmp24 + tmp41 = einsum(tmp32, (0, 1, 2, 3), t1, (4, 3), (0, 4, 1, 2)) * -1 + tmp15 = einsum(tmp14, (0, 1), t2, (2, 3, 4, 1), (2, 3, 4, 0)) + del tmp14 + tmp19 = einsum(tmp18, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4)) + del tmp18 + tmp35 = einsum(t2, (0, 1, 2, 3), tmp34, (4, 3), (0, 1, 2, 4)) * -1 + del tmp34 + tmp39 = einsum(tmp38, (0, 1, 2, 3), t1, (2, 4), (0, 1, 4, 3)) + del tmp38 + tmp37 = einsum(t2, (0, 1, 2, 3), tmp36, (4, 1, 5, 3), (4, 0, 5, 2)) + del tmp36 + tmp43 = einsum(t1, (0, 1), v.ooov, (2, 3, 0, 4), (2, 3, 1, 4)) + tmp44 = einsum(t2, (0, 1, 2, 3), f.vv, (4, 3), (0, 1, 4, 2)) + tmp47 = einsum(tmp0, (0, 1, 2, 3), t2, (4, 1, 5, 3), (0, 4, 2, 5)) + tmp10 = einsum(t1, (0, 1), tmp9, (2, 0, 3, 4), (2, 3, 1, 4)) + del tmp9 + tmp12 = einsum(v.ovov, (0, 1, 2, 3), tmp11, (2, 4, 1, 5), (4, 0, 5, 3)) + del tmp11 + tmp28 = einsum(t2, (0, 1, 2, 3), tmp6, (1, 4), (0, 4, 2, 3)) * -1 + tmp27 = einsum(v.ovvv, (0, 1, 2, 3), t1, (4, 1), (4, 0, 2, 3)) + tmp30 = einsum(tmp29, (0, 1), t2, (2, 1, 3, 4), (0, 2, 3, 4)) * -1 + del tmp29 + tmp26 = tmp21.transpose((0, 1, 3, 2)).copy() + del tmp21 + tmp26 += tmp23.transpose((0, 1, 3, 2)) * -0.5 + del tmp23 + tmp26 += tmp25.transpose((0, 1, 3, 2)) * -1 + del tmp25 + t2new = tmp26.transpose((1, 0, 2, 3)).copy() + t2new += tmp26 * -1 + del tmp26 + tmp42 = einsum(t1, (0, 1), tmp41, (2, 3, 0, 4), (3, 2, 1, 4)) * -1 + del tmp41 + t2new += tmp42.transpose((0, 1, 3, 2)) + t2new += tmp42 * -1 + del tmp42 + tmp20 = tmp15.copy() * 0.5 + del tmp15 + tmp20 += tmp19.transpose((1, 0, 3, 2)) + del tmp19 + t2new += tmp20.transpose((0, 1, 3, 2)) + t2new += tmp20 * -1 + del tmp20 + tmp40 = tmp35.copy() + del tmp35 + tmp40 += tmp37 + del tmp37 + tmp40 += tmp39 * -1 + del tmp39 + t2new += tmp40.transpose((0, 1, 3, 2)) * -1 + t2new += tmp40 + del tmp40 + tmp45 = tmp43.transpose((1, 0, 2, 3)).copy() * -1 + del tmp43 + tmp45 += tmp44.transpose((1, 0, 2, 3)) * -1 + del tmp44 + t2new += tmp45.transpose((0, 1, 3, 2)) + t2new += tmp45 * -1 + del tmp45 + tmp48 = einsum(t1, (0, 1), tmp47, (2, 3, 0, 4), (2, 3, 1, 4)) + del tmp47 + t2new += tmp48.transpose((1, 0, 3, 2)) * -1 + t2new += tmp48.transpose((1, 0, 2, 3)) + t2new += tmp48.transpose((0, 1, 3, 2)) + t2new += tmp48 * -1 + del tmp48 + tmp13 = tmp10.copy() + del tmp10 + tmp13 += tmp12 * -1 + del tmp12 + t2new += tmp13.transpose((1, 0, 3, 2)) + t2new += tmp13.transpose((1, 0, 2, 3)) * -1 + t2new += tmp13.transpose((0, 1, 3, 2)) * -1 + t2new += tmp13 + del tmp13 + tmp46 = einsum(f.oo, (0, 1), t2, (2, 1, 3, 4), (0, 2, 3, 4)) + t2new += tmp46.transpose((1, 0, 3, 2)) + t2new += tmp46.transpose((0, 1, 3, 2)) * -1 + del tmp46 + tmp33 = einsum(tmp32, (0, 1, 2, 3), t2, (4, 1, 5, 3), (0, 4, 5, 2)) * -1 + del tmp32 + t2new += tmp33.transpose((1, 0, 3, 2)) + t2new += tmp33.transpose((1, 0, 2, 3)) * -1 + t2new += tmp33.transpose((0, 1, 3, 2)) * -1 + t2new += tmp33 + del tmp33 + tmp2 = t2.copy() * 0.5 + tmp2 += einsum(t1, (0, 1), t1, (2, 3), (2, 0, 3, 1)) + t2new += einsum(v.vvvv, (0, 1, 2, 3), tmp2, (4, 5, 2, 3), (5, 4, 0, 1)) * -1 + t1new = einsum(v.ovvv, (0, 1, 2, 3), tmp2, (0, 4, 2, 3), (4, 1)) + del tmp2 + tmp49 = v.oooo.copy() + tmp49 += einsum(v.oovv, (0, 1, 2, 3), tmp7, (4, 5, 2, 3), (0, 1, 5, 4)) * -0.5 + t2new += einsum(tmp49, (0, 1, 2, 3), tmp7, (0, 1, 4, 5), (2, 3, 5, 4)) * -0.5 + del tmp49 + tmp31 = tmp27.transpose((0, 1, 3, 2)).copy() * -1 + del tmp27 + tmp31 += tmp28.transpose((0, 1, 3, 2)) + del tmp28 + tmp31 += tmp30.transpose((0, 1, 3, 2)) * -1 + del tmp30 + t2new += tmp31.transpose((1, 0, 2, 3)) + t2new += tmp31 * -1 + del tmp31 + tmp4 = f.ov.copy() + tmp4 += tmp3 + del tmp3 + t1new += einsum(tmp4, (0, 1), t2, (2, 0, 3, 1), (2, 3)) + del tmp4 + tmp1 = v.ovoo.transpose((0, 2, 3, 1)).copy() * -1 + tmp1 += tmp0.transpose((0, 2, 1, 3)) * -1 + del tmp0 + t1new += einsum(t2, (0, 1, 2, 3), tmp1, (4, 0, 1, 3), (4, 2)) * 0.5 + del tmp1 + tmp8 = f.oo.copy() + tmp8 += tmp5 + del tmp5 + tmp8 += tmp6 + del tmp6 + tmp8 += einsum(tmp7, (0, 1, 2, 3), v.oovv, (4, 0, 2, 3), (4, 1)) * -0.5 + del tmp7 + t1new += einsum(t1, (0, 1), tmp8, (0, 2), (2, 1)) * -1 + del tmp8 + t1new += f.ov + t1new += einsum(t1, (0, 1), f.vv, (2, 1), (0, 2)) + t1new += einsum(v.ovov, (0, 1, 2, 3), t1, (2, 1), (0, 3)) * -1 + t2new += v.oovv + + return {f"t1new": t1new, f"t2new": t2new} + +def update_lams(f=None, l1=None, l2=None, t1=None, t2=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-08-12T21:47:41.458357. + + Parameters + ---------- + f : array + Fock matrix. + l1 : array + L1 amplitudes. + l2 : array + L2 amplitudes. + t1 : array + T1 amplitudes. + t2 : array + T2 amplitudes. + v : array + Electron repulsion integrals. + + Returns + ------- + l1new : array + Updated L1 residuals. + l2new : array + Updated L2 residuals. + """ + + tmp26 = einsum(t1, (0, 1), v.ooov, (2, 0, 3, 1), (2, 3)) + tmp27 = einsum(v.oovv, (0, 1, 2, 3), t2, (4, 1, 2, 3), (4, 0)) + tmp20 = einsum(l2, (0, 1, 2, 3), t2, (4, 3, 0, 1), (2, 4)) + tmp19 = einsum(l1, (0, 1), t1, (2, 0), (1, 2)) + tmp4 = einsum(v.ovvv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) + tmp5 = einsum(v.oovv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) + tmp35 = einsum(t2, (0, 1, 2, 3), v.oovv, (0, 1, 4, 3), (2, 4)) + tmp24 = einsum(v.ovvv, (0, 1, 2, 3), t1, (0, 3), (1, 2)) + tmp0 = einsum(l2, (0, 1, 2, 3), t1, (4, 1), (2, 3, 4, 0)) + l2new = einsum(v.ovvv, (0, 1, 2, 3), tmp0, (4, 5, 0, 1), (2, 3, 4, 5)) + l1new = einsum(tmp4, (0, 1, 2, 3), tmp0, (4, 0, 1, 2), (3, 4)) + l1new += einsum(tmp0, (0, 1, 2, 3), v.ovov, (2, 3, 1, 4), (4, 0)) * -1 + tmp43 = tmp26.copy() * 2 + tmp43 += tmp27.transpose((1, 0)) + tmp23 = tmp19.copy() + tmp23 += tmp20 * 0.5 + l1new += einsum(tmp23, (0, 1), v.ooov, (2, 1, 0, 3), (3, 2)) + tmp40 = einsum(f.ov, (0, 1), t1, (2, 1), (0, 2)) + tmp7 = einsum(v.oovv, (0, 1, 2, 3), t1, (1, 3), (0, 2)) + tmp30 = v.ovov.transpose((0, 2, 3, 1)).copy() * -1 + tmp30 += tmp4 + tmp52 = einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 3), (0, 4, 2, 5)) + tmp17 = einsum(t2, (0, 1, 2, 3), l2, (4, 3, 0, 1), (4, 2)) + tmp6 = v.ovoo.transpose((0, 2, 3, 1)).copy() * -1 + tmp6 += tmp5.transpose((0, 2, 1, 3)) * -1 + tmp36 = tmp24.copy() + tmp36 += tmp35 * 0.5 + del tmp35 + tmp11 = v.ooov.copy() + tmp11 += tmp5.transpose((2, 1, 0, 3)) * 0.5 + tmp10 = einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 2, 3), (0, 1, 4, 5)) + tmp2 = einsum(tmp0, (0, 1, 2, 3), t1, (4, 3), (1, 0, 2, 4)) + l1new += einsum(tmp2, (0, 1, 2, 3), v.ooov, (2, 3, 1, 4), (4, 0)) * -0.5 + tmp1 = einsum(t2, (0, 1, 2, 3), l2, (2, 3, 4, 5), (4, 5, 0, 1)) + l1new += einsum(v.ovoo, (0, 1, 2, 3), tmp1, (4, 0, 3, 2), (1, 4)) * 0.25 + tmp44 = einsum(l2, (0, 1, 2, 3), tmp43, (4, 3), (4, 2, 0, 1)) * -0.5 + del tmp43 + tmp42 = einsum(tmp23, (0, 1), v.oovv, (2, 1, 3, 4), (0, 2, 3, 4)) * -1 + del tmp23 + tmp41 = einsum(tmp40, (0, 1), l2, (2, 3, 4, 1), (0, 4, 2, 3)) + del tmp40 + tmp56 = einsum(tmp7, (0, 1), t1, (2, 1), (2, 0)) + tmp47 = einsum(l1, (0, 1), v.ovvv, (2, 0, 3, 4), (1, 2, 3, 4)) + tmp46 = einsum(f.oo, (0, 1), l2, (2, 3, 4, 1), (0, 4, 2, 3)) + tmp31 = einsum(tmp30, (0, 1, 2, 3), l2, (4, 2, 5, 0), (1, 5, 3, 4)) + del tmp30 + tmp29 = einsum(tmp0, (0, 1, 2, 3), v.ooov, (4, 2, 1, 5), (0, 4, 3, 5)) + tmp53 = einsum(l2, (0, 1, 2, 3), tmp52, (3, 4, 1, 5), (2, 4, 0, 5)) + del tmp52 + tmp54 = einsum(tmp0, (0, 1, 2, 3), tmp5, (0, 4, 2, 5), (1, 4, 3, 5)) * -1 + del tmp5 + tmp49 = einsum(l2, (0, 1, 2, 3), f.vv, (4, 1), (2, 3, 4, 0)) + tmp50 = einsum(tmp7, (0, 1), tmp0, (2, 3, 0, 4), (2, 3, 4, 1)) + tmp33 = einsum(f.ov, (0, 1), tmp0, (2, 3, 0, 4), (2, 3, 1, 4)) + tmp34 = einsum(tmp17, (0, 1), v.oovv, (2, 3, 4, 1), (2, 3, 0, 4)) * -1 + tmp38 = einsum(tmp6, (0, 1, 2, 3), l1, (4, 0), (1, 2, 3, 4)) + tmp37 = einsum(l2, (0, 1, 2, 3), tmp36, (1, 4), (2, 3, 4, 0)) * -1 + del tmp36 + tmp21 = tmp19.copy() * 2 + del tmp19 + tmp21 += tmp20 + del tmp20 + tmp9 = v.ovov.transpose((0, 2, 1, 3)).copy() + tmp9 += tmp4.transpose((0, 1, 3, 2)) * -0.5 + del tmp4 + tmp12 = v.oooo.copy() * -0.5 + tmp12 += tmp10.transpose((3, 2, 1, 0)) * -0.25 + tmp12 += einsum(t1, (0, 1), tmp11, (2, 3, 4, 1), (3, 2, 0, 4)) * -1 + tmp8 = f.ov.copy() + tmp8 += tmp7 + l1new += einsum(tmp21, (0, 1), tmp8, (1, 2), (2, 0)) * -0.5 + tmp15 = tmp1.transpose((1, 0, 3, 2)).copy() * -0.5 + tmp15 += tmp2.transpose((0, 1, 3, 2)) + tmp59 = tmp1.transpose((1, 0, 3, 2)).copy() * -1 + del tmp1 + tmp59 += tmp2.transpose((0, 1, 3, 2)) * 2 + del tmp2 + l2new += einsum(tmp59, (0, 1, 2, 3), v.oovv, (2, 3, 4, 5), (4, 5, 1, 0)) * 0.25 + del tmp59 + tmp45 = tmp41.transpose((0, 1, 3, 2)).copy() + del tmp41 + tmp45 += tmp42.transpose((0, 1, 3, 2)) * -1 + del tmp42 + tmp45 += tmp44.transpose((1, 0, 3, 2)) + del tmp44 + l2new += tmp45.transpose((3, 2, 1, 0)) * -1 + l2new += tmp45.transpose((3, 2, 0, 1)) + del tmp45 + tmp57 = einsum(l2, (0, 1, 2, 3), tmp56, (3, 4), (2, 4, 0, 1)) + del tmp56 + l2new += tmp57.transpose((2, 3, 1, 0)) + l2new += tmp57.transpose((2, 3, 0, 1)) * -1 + del tmp57 + tmp48 = tmp46.transpose((0, 1, 3, 2)).copy() * -1 + del tmp46 + tmp48 += tmp47.transpose((0, 1, 3, 2)) + del tmp47 + l2new += tmp48.transpose((2, 3, 1, 0)) * -1 + l2new += tmp48.transpose((2, 3, 0, 1)) + del tmp48 + tmp58 = v.oooo.copy() + tmp58 += tmp10.transpose((1, 0, 3, 2)) * 0.5 + del tmp10 + tmp58 += einsum(t1, (0, 1), tmp11, (2, 3, 4, 1), (4, 0, 3, 2)) * -2 + del tmp11 + l2new += einsum(tmp58, (0, 1, 2, 3), l2, (4, 5, 0, 1), (4, 5, 2, 3)) * 0.5 + del tmp58 + tmp32 = einsum(l1, (0, 1), tmp7, (2, 3), (1, 2, 0, 3)) + del tmp7 + tmp32 += tmp29 + del tmp29 + tmp32 += tmp31.transpose((1, 0, 3, 2)) + del tmp31 + l2new += tmp32.transpose((3, 2, 1, 0)) + l2new += tmp32.transpose((2, 3, 1, 0)) * -1 + l2new += tmp32.transpose((3, 2, 0, 1)) * -1 + l2new += tmp32.transpose((2, 3, 0, 1)) + del tmp32 + tmp55 = tmp53.copy() + del tmp53 + tmp55 += tmp54 * -1 + del tmp54 + l2new += tmp55.transpose((3, 2, 1, 0)) + l2new += tmp55.transpose((2, 3, 1, 0)) * -1 + l2new += tmp55.transpose((3, 2, 0, 1)) * -1 + l2new += tmp55.transpose((2, 3, 0, 1)) + del tmp55 + tmp51 = tmp49.transpose((1, 0, 2, 3)).copy() * -1 + del tmp49 + tmp51 += tmp50 + del tmp50 + l2new += tmp51.transpose((3, 2, 0, 1)) + l2new += tmp51.transpose((2, 3, 0, 1)) * -1 + del tmp51 + tmp39 = tmp33.copy() * -1 + del tmp33 + tmp39 += tmp34 * 0.5 + del tmp34 + tmp39 += tmp37.transpose((1, 0, 3, 2)) + del tmp37 + tmp39 += tmp38.transpose((1, 0, 3, 2)) + del tmp38 + l2new += tmp39.transpose((3, 2, 0, 1)) + l2new += tmp39.transpose((2, 3, 0, 1)) * -1 + del tmp39 + tmp25 = f.vv.copy() + tmp25 += tmp24 * -1 + del tmp24 + l1new += einsum(tmp25, (0, 1), l1, (0, 2), (1, 2)) + del tmp25 + tmp22 = t1.copy() * -1 + tmp22 += einsum(l1, (0, 1), t2, (2, 1, 3, 0), (2, 3)) * -1 + tmp22 += einsum(tmp0, (0, 1, 2, 3), t2, (1, 0, 4, 3), (2, 4)) * 0.5 + tmp22 += einsum(t1, (0, 1), tmp21, (0, 2), (2, 1)) * 0.5 + del tmp21 + l1new += einsum(v.oovv, (0, 1, 2, 3), tmp22, (1, 3), (2, 0)) * -1 + del tmp22 + tmp13 = v.ovoo.transpose((0, 2, 3, 1)).copy() * -0.5 + tmp13 += einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 5, 2, 3), (0, 4, 5, 1)) * -0.25 + tmp13 += einsum(tmp6, (0, 1, 2, 3), t2, (4, 1, 5, 3), (2, 4, 0, 5)) + del tmp6 + tmp13 += einsum(tmp8, (0, 1), t2, (2, 3, 4, 1), (0, 2, 3, 4)) * 0.5 + tmp13 += einsum(tmp9, (0, 1, 2, 3), t1, (4, 2), (1, 0, 4, 3)) * -1 + del tmp9 + tmp13 += einsum(tmp12, (0, 1, 2, 3), t1, (0, 4), (1, 3, 2, 4)) * -1 + del tmp12 + l1new += einsum(l2, (0, 1, 2, 3), tmp13, (4, 2, 3, 1), (0, 4)) + del tmp13 + tmp14 = v.ovvv.copy() + tmp14 += einsum(v.vvvv, (0, 1, 2, 3), t1, (4, 1), (4, 0, 2, 3)) * -1 + l1new += einsum(l2, (0, 1, 2, 3), tmp14, (3, 4, 0, 1), (4, 2)) * -0.5 + del tmp14 + tmp3 = einsum(l2, (0, 1, 2, 3), t2, (4, 3, 5, 1), (2, 4, 0, 5)) + l1new += einsum(tmp3, (0, 1, 2, 3), v.ovvv, (1, 2, 4, 3), (4, 0)) * -1 + del tmp3 + tmp28 = f.oo.copy() * 2 + tmp28 += tmp26.transpose((1, 0)) * 2 + del tmp26 + tmp28 += tmp27 + del tmp27 + tmp28 += einsum(t1, (0, 1), tmp8, (2, 1), (0, 2)) * 2 + del tmp8 + l1new += einsum(tmp28, (0, 1), l1, (2, 0), (2, 1)) * -0.5 + del tmp28 + tmp18 = einsum(l1, (0, 1), t1, (1, 2), (0, 2)) * 2 + tmp18 += tmp17 + del tmp17 + l1new += einsum(tmp18, (0, 1), v.ovvv, (2, 0, 3, 1), (3, 2)) * 0.5 + del tmp18 + tmp16 = einsum(t2, (0, 1, 2, 3), l1, (3, 4), (4, 0, 1, 2)) + tmp16 += einsum(tmp0, (0, 1, 2, 3), t2, (4, 1, 5, 3), (0, 4, 2, 5)) * -2 + del tmp0 + tmp16 += einsum(tmp15, (0, 1, 2, 3), t1, (0, 4), (1, 3, 2, 4)) * -1 + del tmp15 + l1new += einsum(tmp16, (0, 1, 2, 3), v.oovv, (1, 2, 4, 3), (4, 0)) * 0.5 + del tmp16 + l1new += f.ov.transpose((1, 0)) + l1new += einsum(v.ovov, (0, 1, 2, 3), l1, (1, 2), (3, 0)) * -1 + l2new += einsum(l2, (0, 1, 2, 3), v.vvvv, (4, 5, 0, 1), (4, 5, 2, 3)) * 0.5 + l2new += v.oovv.transpose((2, 3, 0, 1)) + l2new += einsum(f.ov, (0, 1), l1, (2, 3), (1, 2, 0, 3)) + l2new += einsum(f.ov, (0, 1), l1, (2, 3), (2, 1, 0, 3)) * -1 + l2new += einsum(f.ov, (0, 1), l1, (2, 3), (1, 2, 3, 0)) * -1 + l2new += einsum(l1, (0, 1), f.ov, (2, 3), (0, 3, 1, 2)) + + return {f"l1new": l1new, f"l2new": l2new} + +def make_rdm1_f(l1=None, l2=None, t1=None, t2=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-08-12T21:47:41.893894. + + Parameters + ---------- + l1 : array + L1 amplitudes. + l2 : array + L2 amplitudes. + t1 : array + T1 amplitudes. + t2 : array + T2 amplitudes. + + Returns + ------- + rdm1 : array + One-particle reduced density matrix. + """ + + rdm1 = Namespace() + delta = Namespace( + oo=np.eye(t2.shape[0]), + vv=np.eye(t2.shape[-1]), + ) + tmp1 = einsum(t2, (0, 1, 2, 3), l2, (2, 3, 4, 1), (4, 0)) + rdm1.oo = tmp1.transpose((1, 0)).copy() * -0.5 + tmp0 = einsum(l1, (0, 1), t1, (2, 0), (1, 2)) + rdm1.oo += tmp0.transpose((1, 0)) * -1 + tmp3 = tmp0.copy() * 2 + del tmp0 + tmp3 += tmp1 + del tmp1 + rdm1.ov = einsum(t1, (0, 1), tmp3, (0, 2), (2, 1)) * -0.5 + del tmp3 + tmp2 = einsum(l2, (0, 1, 2, 3), t1, (4, 1), (2, 3, 4, 0)) + rdm1.ov += einsum(t2, (0, 1, 2, 3), tmp2, (1, 0, 4, 3), (4, 2)) * -0.5 + del tmp2 + rdm1.oo += delta.oo + del delta + rdm1.ov += einsum(l1, (0, 1), t2, (2, 1, 3, 0), (2, 3)) + rdm1.ov += t1 + rdm1.vo = l1.copy() + rdm1.vv = einsum(l1, (0, 1), t1, (1, 2), (0, 2)) + rdm1.vv += einsum(l2, (0, 1, 2, 3), t2, (2, 3, 4, 1), (0, 4)) * 0.5 + rdm1 = np.block([[rdm1.oo, rdm1.ov], [rdm1.vo, rdm1.vv]]) + + return rdm1 + +def make_rdm2_f(l1=None, l2=None, t1=None, t2=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-08-12T21:47:48.706124. + + Parameters + ---------- + l1 : array + L1 amplitudes. + l2 : array + L2 amplitudes. + t1 : array + T1 amplitudes. + t2 : array + T2 amplitudes. + + Returns + ------- + rdm2 : array + Two-particle reduced density matrix. + """ + + rdm2 = Namespace() + delta = Namespace( + oo=np.eye(t2.shape[0]), + vv=np.eye(t2.shape[-1]), + ) + tmp1 = einsum(l2, (0, 1, 2, 3), t1, (4, 1), (2, 3, 4, 0)) + rdm2.vooo = tmp1.transpose((3, 2, 1, 0)).copy() + rdm2.ovoo = tmp1.transpose((2, 3, 1, 0)).copy() * -1 + tmp3 = einsum(l1, (0, 1), t1, (2, 0), (1, 2)) + rdm2.oovo = einsum(tmp3, (0, 1), t1, (2, 3), (1, 2, 3, 0)) + rdm2.oovo += einsum(tmp3, (0, 1), t1, (2, 3), (2, 1, 3, 0)) * -1 + rdm2.ooov = einsum(tmp3, (0, 1), t1, (2, 3), (1, 2, 0, 3)) * -1 + rdm2.ooov += einsum(tmp3, (0, 1), t1, (2, 3), (2, 1, 0, 3)) + rdm2.oooo = einsum(tmp3, (0, 1), delta.oo, (2, 3), (2, 1, 3, 0)) * -1 + rdm2.oooo += einsum(tmp3, (0, 1), delta.oo, (2, 3), (1, 2, 3, 0)) + rdm2.oooo += einsum(tmp3, (0, 1), delta.oo, (2, 3), (2, 1, 0, 3)) + rdm2.oooo += einsum(tmp3, (0, 1), delta.oo, (2, 3), (1, 2, 0, 3)) * -1 + tmp4 = einsum(t2, (0, 1, 2, 3), l2, (2, 3, 4, 1), (4, 0)) + rdm2.oovo += einsum(tmp4, (0, 1), t1, (2, 3), (1, 2, 3, 0)) * 0.5 + rdm2.oovo += einsum(tmp4, (0, 1), t1, (2, 3), (2, 1, 3, 0)) * -0.5 + rdm2.ooov += einsum(tmp4, (0, 1), t1, (2, 3), (1, 2, 0, 3)) * -0.5 + rdm2.ooov += einsum(tmp4, (0, 1), t1, (2, 3), (2, 1, 0, 3)) * 0.5 + rdm2.oooo += einsum(delta.oo, (0, 1), tmp4, (2, 3), (0, 3, 1, 2)) * -0.5 + rdm2.oooo += einsum(delta.oo, (0, 1), tmp4, (2, 3), (3, 0, 1, 2)) * 0.5 + rdm2.oooo += einsum(tmp4, (0, 1), delta.oo, (2, 3), (2, 1, 0, 3)) * 0.5 + rdm2.oooo += einsum(tmp4, (0, 1), delta.oo, (2, 3), (1, 2, 0, 3)) * -0.5 + tmp21 = einsum(l2, (0, 1, 2, 3), t2, (4, 3, 5, 1), (2, 4, 0, 5)) + rdm2.vovo = tmp21.transpose((2, 1, 3, 0)).copy() * -1 + rdm2.voov = tmp21.transpose((2, 1, 0, 3)).copy() + rdm2.ovvo = tmp21.transpose((1, 2, 3, 0)).copy() + rdm2.ovov = tmp21.transpose((1, 2, 0, 3)).copy() * -1 + tmp12 = einsum(t2, (0, 1, 2, 3), tmp1, (4, 1, 5, 3), (4, 5, 0, 2)) * -1 + rdm2.oovo += tmp12.transpose((2, 1, 3, 0)) * -1 + rdm2.oovo += tmp12.transpose((1, 2, 3, 0)) + rdm2.ooov += tmp12.transpose((2, 1, 0, 3)) + rdm2.ooov += tmp12.transpose((1, 2, 0, 3)) * -1 + tmp7 = einsum(t1, (0, 1), tmp3, (0, 2), (2, 1)) + tmp6 = einsum(l1, (0, 1), t2, (2, 1, 3, 0), (2, 3)) + tmp2 = einsum(t1, (0, 1), tmp1, (2, 3, 4, 1), (2, 3, 0, 4)) + rdm2.oooo += tmp2.transpose((2, 3, 1, 0)) * -1 + tmp0 = einsum(t2, (0, 1, 2, 3), l2, (2, 3, 4, 5), (4, 5, 0, 1)) + rdm2.oooo += tmp0.transpose((3, 2, 1, 0)) * 0.5 + tmp5 = einsum(t2, (0, 1, 2, 3), l1, (3, 4), (4, 0, 1, 2)) + rdm2.oovo += tmp5.transpose((2, 1, 3, 0)) + rdm2.ooov += tmp5.transpose((2, 1, 0, 3)) * -1 + tmp14 = tmp3.copy() * 2 + tmp14 += tmp4 + tmp29 = einsum(t1, (0, 1), tmp1, (2, 0, 3, 4), (2, 3, 4, 1)) + rdm2.vovo += tmp29.transpose((2, 1, 3, 0)) + rdm2.voov += tmp29.transpose((2, 1, 0, 3)) * -1 + rdm2.ovvo += tmp29.transpose((1, 2, 3, 0)) * -1 + rdm2.ovov += tmp29.transpose((1, 2, 0, 3)) + tmp30 = einsum(l1, (0, 1), t1, (1, 2), (0, 2)) + rdm2.ovvv = einsum(t1, (0, 1), tmp30, (2, 3), (0, 2, 3, 1)) * -1 + rdm2.ovvv += einsum(tmp30, (0, 1), t1, (2, 3), (2, 0, 3, 1)) + tmp25 = einsum(l2, (0, 1, 2, 3), t2, (2, 3, 4, 1), (0, 4)) + tmp36 = einsum(tmp21, (0, 1, 2, 3), t1, (0, 4), (1, 2, 4, 3)) + rdm2.vovv = tmp36.transpose((1, 0, 3, 2)).copy() * -1 + rdm2.vovv += tmp36.transpose((1, 0, 2, 3)) + tmp18 = einsum(t1, (0, 1), tmp12, (0, 2, 3, 4), (2, 3, 1, 4)) + del tmp12 + tmp8 = tmp6.copy() + tmp8 += tmp7 * -1 + del tmp7 + rdm2.ooov += einsum(delta.oo, (0, 1), tmp8, (2, 3), (0, 2, 1, 3)) + rdm2.ooov += einsum(tmp8, (0, 1), delta.oo, (2, 3), (0, 2, 3, 1)) * -1 + tmp13 = tmp0.transpose((1, 0, 3, 2)).copy() * -0.5 + tmp13 += tmp2.transpose((0, 1, 3, 2)) + rdm2.oovv = einsum(t2, (0, 1, 2, 3), tmp13, (0, 1, 4, 5), (5, 4, 2, 3)) * 0.5 + rdm2.ooov += einsum(tmp13, (0, 1, 2, 3), t1, (0, 4), (3, 2, 1, 4)) * -1 + tmp10 = einsum(tmp4, (0, 1), t1, (0, 2), (1, 2)) + tmp9 = einsum(t2, (0, 1, 2, 3), tmp1, (1, 0, 4, 3), (4, 2)) + tmp20 = einsum(t1, (0, 1), tmp5, (0, 2, 3, 4), (2, 3, 1, 4)) + del tmp5 + tmp22 = einsum(t2, (0, 1, 2, 3), tmp21, (1, 4, 3, 5), (4, 0, 5, 2)) + del tmp21 + tmp15 = einsum(t1, (0, 1), tmp14, (0, 2), (2, 1)) * 0.5 + del tmp14 + tmp38 = einsum(l2, (0, 1, 2, 3), t1, (3, 4), (2, 0, 1, 4)) + rdm2.vvvv = einsum(tmp38, (0, 1, 2, 3), t1, (0, 4), (1, 2, 4, 3)) + rdm2.vvvo = tmp38.transpose((2, 1, 3, 0)).copy() + rdm2.vvov = tmp38.transpose((2, 1, 0, 3)).copy() * -1 + del tmp38 + tmp34 = einsum(tmp29, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4)) * -1 + del tmp29 + rdm2.vovv += tmp34.transpose((1, 0, 3, 2)) + rdm2.ovvv += tmp34.transpose((0, 1, 3, 2)) * -1 + del tmp34 + tmp33 = einsum(tmp1, (0, 1, 2, 3), t2, (1, 0, 4, 5), (2, 3, 4, 5)) * -1 + del tmp1 + rdm2.vovv += tmp33.transpose((1, 0, 3, 2)) * 0.5 + rdm2.ovvv += tmp33.transpose((0, 1, 3, 2)) * -0.5 + del tmp33 + tmp35 = einsum(t2, (0, 1, 2, 3), l1, (4, 1), (0, 4, 2, 3)) + rdm2.vovv += tmp35.transpose((1, 0, 3, 2)) + rdm2.ovvv += tmp35.transpose((0, 1, 3, 2)) * -1 + del tmp35 + tmp31 = tmp30.copy() + tmp31 += tmp25 * 0.5 + rdm2.vovv += einsum(tmp31, (0, 1), t1, (2, 3), (0, 2, 1, 3)) + rdm2.vovv += einsum(tmp31, (0, 1), t1, (2, 3), (0, 2, 3, 1)) * -1 + rdm2.voov += einsum(tmp31, (0, 1), delta.oo, (2, 3), (0, 2, 3, 1)) * -1 + rdm2.ovov += einsum(tmp31, (0, 1), delta.oo, (2, 3), (2, 0, 3, 1)) + del tmp31 + tmp37 = tmp36.copy() + del tmp36 + tmp37 += einsum(tmp25, (0, 1), t1, (2, 3), (2, 0, 3, 1)) * -0.5 + rdm2.ovvv += tmp37.transpose((0, 1, 3, 2)) + rdm2.ovvv += tmp37 * -1 + del tmp37 + tmp32 = tmp30.copy() * 2 + del tmp30 + tmp32 += tmp25 + rdm2.vovo += einsum(tmp32, (0, 1), delta.oo, (2, 3), (0, 2, 1, 3)) * 0.5 + rdm2.ovvo += einsum(tmp32, (0, 1), delta.oo, (2, 3), (2, 0, 1, 3)) * -0.5 + del tmp32 + tmp27 = einsum(tmp4, (0, 1), t2, (2, 0, 3, 4), (2, 1, 3, 4)) + del tmp4 + rdm2.oovv += tmp27.transpose((1, 0, 3, 2)) * -0.5 + rdm2.oovv += tmp27.transpose((0, 1, 3, 2)) * 0.5 + del tmp27 + tmp26 = einsum(tmp25, (0, 1), t2, (2, 3, 4, 0), (2, 3, 4, 1)) + del tmp25 + rdm2.oovv += tmp26.transpose((0, 1, 3, 2)) * 0.5 + rdm2.oovv += tmp26 * -0.5 + del tmp26 + tmp24 = einsum(t2, (0, 1, 2, 3), tmp3, (1, 4), (4, 0, 2, 3)) + del tmp3 + rdm2.oovv += tmp24.transpose((1, 0, 3, 2)) + rdm2.oovv += tmp24.transpose((0, 1, 3, 2)) * -1 + del tmp24 + tmp19 = tmp18.copy() + del tmp18 + tmp19 += einsum(tmp8, (0, 1), t1, (2, 3), (2, 0, 3, 1)) * -1 + del tmp8 + rdm2.oovv += tmp19.transpose((1, 0, 3, 2)) * -1 + rdm2.oovv += tmp19.transpose((1, 0, 2, 3)) + rdm2.oovv += tmp19.transpose((0, 1, 3, 2)) + rdm2.oovv += tmp19 * -1 + del tmp19 + tmp28 = einsum(tmp13, (0, 1, 2, 3), t1, (0, 4), (1, 3, 2, 4)) * -2 + del tmp13 + rdm2.oovv += einsum(t1, (0, 1), tmp28, (0, 2, 3, 4), (2, 3, 1, 4)) * 0.5 + del tmp28 + tmp11 = tmp9.copy() + tmp11 += tmp10 + del tmp10 + rdm2.oovv += einsum(tmp11, (0, 1), t1, (2, 3), (0, 2, 1, 3)) * -0.5 + rdm2.oovv += einsum(tmp11, (0, 1), t1, (2, 3), (0, 2, 3, 1)) * 0.5 + rdm2.oovv += einsum(t1, (0, 1), tmp11, (2, 3), (0, 2, 3, 1)) * 0.5 + rdm2.oovv += einsum(tmp11, (0, 1), t1, (2, 3), (2, 0, 3, 1)) * -0.5 + rdm2.ooov += einsum(delta.oo, (0, 1), tmp11, (2, 3), (0, 2, 1, 3)) * -0.5 + rdm2.ooov += einsum(tmp11, (0, 1), delta.oo, (2, 3), (0, 2, 3, 1)) * 0.5 + del tmp11 + tmp23 = tmp20.copy() + del tmp20 + tmp23 += tmp22 + del tmp22 + rdm2.oovv += tmp23.transpose((0, 1, 3, 2)) * -1 + rdm2.oovv += tmp23 + del tmp23 + tmp17 = tmp0.transpose((1, 0, 3, 2)).copy() * -1 + del tmp0 + tmp17 += tmp2.transpose((0, 1, 3, 2)) * 2 + del tmp2 + rdm2.oovo += einsum(tmp17, (0, 1, 2, 3), t1, (0, 4), (3, 2, 4, 1)) * 0.5 + del tmp17 + tmp16 = tmp6.copy() * -1 + del tmp6 + tmp16 += tmp9 * 0.5 + del tmp9 + tmp16 += tmp15 + del tmp15 + rdm2.oovo += einsum(delta.oo, (0, 1), tmp16, (2, 3), (0, 2, 3, 1)) + rdm2.oovo += einsum(tmp16, (0, 1), delta.oo, (2, 3), (0, 2, 1, 3)) * -1 + del tmp16 + rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (0, 2, 1, 3)) + rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (2, 0, 1, 3)) * -1 + rdm2.ooov += einsum(delta.oo, (0, 1), t1, (2, 3), (2, 0, 1, 3)) * -1 + rdm2.ooov += einsum(t1, (0, 1), delta.oo, (2, 3), (2, 0, 3, 1)) + rdm2.oovo += einsum(delta.oo, (0, 1), t1, (2, 3), (2, 0, 3, 1)) + rdm2.oovo += einsum(t1, (0, 1), delta.oo, (2, 3), (2, 0, 1, 3)) * -1 + rdm2.ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (0, 2, 3, 1)) * -1 + rdm2.ovoo += einsum(l1, (0, 1), delta.oo, (2, 3), (2, 0, 3, 1)) + rdm2.vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 0, 3, 1)) + rdm2.vooo += einsum(l1, (0, 1), delta.oo, (2, 3), (0, 2, 3, 1)) * -1 + del delta + rdm2.oovv += t2 + rdm2.oovv += einsum(t1, (0, 1), t1, (2, 3), (2, 0, 1, 3)) * -1 + rdm2.oovv += einsum(t1, (0, 1), t1, (2, 3), (2, 0, 3, 1)) + rdm2.ovov += einsum(t1, (0, 1), l1, (2, 3), (0, 2, 3, 1)) * -1 + rdm2.ovvo += einsum(t1, (0, 1), l1, (2, 3), (0, 2, 1, 3)) + rdm2.voov += einsum(t1, (0, 1), l1, (2, 3), (2, 0, 3, 1)) + rdm2.vovo += einsum(t1, (0, 1), l1, (2, 3), (2, 0, 1, 3)) * -1 + rdm2.vvoo = l2.copy() + rdm2.vvvv += einsum(t2, (0, 1, 2, 3), l2, (4, 5, 0, 1), (4, 5, 2, 3)) * 0.5 + rdm2 = pack_2e(rdm2.oooo, rdm2.ooov, rdm2.oovo, rdm2.ovoo, rdm2.vooo, rdm2.oovv, rdm2.ovov, rdm2.ovvo, rdm2.voov, rdm2.vovo, rdm2.vvoo, rdm2.ovvv, rdm2.vovv, rdm2.vvov, rdm2.vvvo, rdm2.vvvv) + rdm2 = rdm2.swapaxes(1, 2) + + return rdm2 + +def hbar_matvec_ip_intermediates(f=None, t1=None, t2=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-08-12T21:47:57.675693. + + Parameters + ---------- + f : array + Fock matrix. + t1 : array + T1 amplitudes. + t2 : array + T2 amplitudes. + v : array + Electron repulsion integrals. + + Returns + ------- + tmp0 : array + tmp1 : array + tmp11 : array + tmp12 : array + tmp13 : array + tmp15 : array + tmp16 : array + tmp17 : array + tmp2 : array + tmp20 : array + tmp24 : array + tmp25 : array + tmp27 : array + tmp28 : array + tmp3 : array + tmp30 : array + tmp31 : array + tmp33 : array + tmp34 : array + tmp35 : array + tmp38 : array + tmp39 : array + tmp4 : array + tmp40 : array + tmp41 : array + tmp43 : array + tmp44 : array + tmp45 : array + tmp46 : array + tmp48 : array + tmp49 : array + tmp5 : array + tmp52 : array + tmp55 : array + tmp56 : array + tmp7 : array + tmp8 : array + """ + + tmp0 = einsum(f.ov, (0, 1), t1, (2, 1), (0, 2)) + tmp13 = einsum(tmp0, (0, 1), t1, (0, 2), (1, 2)) + tmp1 = einsum(t1, (0, 1), v.ooov, (2, 0, 3, 1), (2, 3)) + tmp45 = einsum(t1, (0, 1), tmp1, (0, 2), (2, 1)) + tmp2 = einsum(v.oovv, (0, 1, 2, 3), t1, (1, 3), (0, 2)) + tmp39 = einsum(tmp2, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4)) * -1 + tmp38 = einsum(t2, (0, 1, 2, 3), tmp2, (1, 3), (0, 2)) + tmp5 = einsum(tmp2, (0, 1), t1, (2, 1), (2, 0)) + tmp55 = einsum(t1, (0, 1), tmp5, (2, 0), (2, 1)) + tmp3 = einsum(v.oovv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) + tmp52 = einsum(t1, (0, 1), tmp3, (2, 3, 4, 1), (2, 0, 4, 3)) + tmp56 = einsum(tmp52, (0, 1, 2, 3), t1, (3, 4), (0, 1, 2, 4)) + tmp41 = einsum(tmp3, (0, 1, 2, 3), t2, (4, 1, 5, 3), (0, 4, 2, 5)) + tmp40 = einsum(t2, (0, 1, 2, 3), tmp3, (4, 1, 0, 3), (4, 2)) + tmp4 = einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 2, 3), (0, 4)) + tmp43 = einsum(t1, (0, 1), tmp4, (2, 0), (2, 1)) + tmp7 = einsum(t1, (0, 1), f.oo, (2, 0), (2, 1)) + tmp8 = einsum(t1, (0, 1), f.vv, (2, 1), (0, 2)) + tmp11 = einsum(f.ov, (0, 1), t2, (2, 0, 3, 1), (2, 3)) + tmp12 = einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), (0, 2, 3, 4)) + tmp15 = einsum(v.oooo, (0, 1, 2, 3), t1, (3, 4), (0, 1, 2, 4)) + tmp16 = einsum(v.ovov, (0, 1, 2, 3), t1, (2, 1), (0, 3)) + tmp17 = einsum(t1, (0, 1), v.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) + tmp20 = einsum(v.ooov, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) + tmp46 = einsum(tmp20, (0, 1, 2, 3), t1, (1, 4), (0, 2, 3, 4)) * -1 + tmp24 = einsum(v.ovvv, (0, 1, 2, 3), t1, (0, 3), (1, 2)) + tmp48 = einsum(t1, (0, 1), tmp24, (2, 1), (0, 2)) + tmp25 = einsum(v.ovvv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) + tmp49 = einsum(tmp25, (0, 1, 2, 3), t1, (4, 3), (0, 4, 1, 2)) * -1 + tmp27 = einsum(t2, (0, 1, 2, 3), v.ovoo, (4, 3, 0, 1), (4, 2)) + tmp28 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 1, 5, 3), (0, 4, 5, 2)) + tmp30 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 2, 3), (0, 4)) + tmp31 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 5, 2, 3), (4, 5, 0, 1)) + tmp33 = einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 2, 3), (0, 1, 4, 5)) + tmp44 = einsum(tmp33, (0, 1, 2, 3), t1, (2, 4), (0, 1, 3, 4)) * -1 + tmp34 = einsum(t2, (0, 1, 2, 3), v.oovv, (0, 1, 4, 3), (2, 4)) + tmp35 = einsum(v.oovv, (0, 1, 2, 3), t2, (4, 1, 5, 3), (4, 0, 5, 2)) + + return {f"tmp0": tmp0, f"tmp1": tmp1, f"tmp11": tmp11, f"tmp12": tmp12, f"tmp13": tmp13, f"tmp15": tmp15, f"tmp16": tmp16, f"tmp17": tmp17, f"tmp2": tmp2, f"tmp20": tmp20, f"tmp24": tmp24, f"tmp25": tmp25, f"tmp27": tmp27, f"tmp28": tmp28, f"tmp3": tmp3, f"tmp30": tmp30, f"tmp31": tmp31, f"tmp33": tmp33, f"tmp34": tmp34, f"tmp35": tmp35, f"tmp38": tmp38, f"tmp39": tmp39, f"tmp4": tmp4, f"tmp40": tmp40, f"tmp41": tmp41, f"tmp43": tmp43, f"tmp44": tmp44, f"tmp45": tmp45, f"tmp46": tmp46, f"tmp48": tmp48, f"tmp49": tmp49, f"tmp5": tmp5, f"tmp52": tmp52, f"tmp55": tmp55, f"tmp56": tmp56, f"tmp7": tmp7, f"tmp8": tmp8} + +def hbar_matvec_ip(f=None, r1=None, r2=None, t1=None, t2=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-08-12T21:47:57.694359. + + Parameters + ---------- + f : array + Fock matrix. + r1 : array + R1 amplitudes. + r2 : array + R2 amplitudes. + t1 : array + T1 amplitudes. + t2 : array + T2 amplitudes. + v : array + Electron repulsion integrals. + + Returns + ------- + r1new : array + Updated R1 residuals. + r2new : array + Updated R2 residuals. + """ + + ints = kwargs["ints"] + tmp10 = einsum(r2, (0, 1, 2), v.ooov, (3, 1, 4, 2), (0, 3, 4)) + tmp9 = einsum(ints.tmp3, (0, 1, 2, 3), r2, (4, 1, 3), (0, 2, 4)) + tmp11 = tmp9.copy() + del tmp9 + tmp11 += tmp10 * -1 + del tmp10 + tmp7 = ints.tmp25.copy() + tmp7 += ints.tmp35 + tmp13 = ints.tmp41.copy() + tmp13 += ints.tmp46.transpose((0, 2, 1, 3)) + tmp16 = f.oo.copy() + tmp16 += ints.tmp0 + tmp16 += ints.tmp1 + tmp16 += ints.tmp5.transpose((1, 0)) + tmp18 = ints.tmp17.copy() + tmp18 += ints.tmp28 + tmp4 = einsum(r2, (0, 1, 2), ints.tmp4, (3, 1), (3, 0, 2)) + tmp12 = einsum(t1, (0, 1), tmp11, (2, 0, 3), (2, 3, 1)) + del tmp11 + tmp8 = einsum(tmp7, (0, 1, 2, 3), r2, (4, 1, 3), (0, 4, 2)) * -1 + del tmp7 + tmp14 = einsum(tmp13, (0, 1, 2, 3), r1, (2,), (0, 1, 3)) + del tmp13 + tmp5 = einsum(r2, (0, 1, 2), ints.tmp20, (3, 1, 0, 4), (3, 4, 2)) * -1 + tmp6 = einsum(v.ovov, (0, 1, 2, 3), r2, (4, 2, 1), (4, 0, 3)) + tmp22 = f.ov.copy() + tmp22 += ints.tmp2 + tmp17 = einsum(r2, (0, 1, 2), tmp16, (1, 3), (3, 0, 2)) * -1 + del tmp16 + tmp19 = einsum(tmp18, (0, 1, 2, 3), r1, (1,), (0, 2, 3)) + del tmp18 + tmp3 = einsum(v.oovv, (0, 1, 2, 3), r2, (0, 1, 3), (2,)) + r2new = einsum(tmp3, (0,), t2, (1, 2, 3, 0), (1, 2, 3)) * 0.5 + del tmp3 + tmp24 = ints.tmp12.copy() + tmp24 += ints.tmp15.transpose((2, 0, 1, 3)) + tmp24 += ints.tmp44.transpose((2, 0, 1, 3)) * 0.5 + tmp24 += ints.tmp49.transpose((2, 1, 0, 3)) + tmp24 += ints.tmp31.transpose((2, 0, 1, 3)) * -0.5 + tmp24 += ints.tmp39.transpose((2, 0, 1, 3)) * -1 + tmp24 += ints.tmp56.transpose((2, 1, 0, 3)) * -1 + tmp24 += v.ovoo.transpose((0, 2, 3, 1)) * -1 + r2new += einsum(tmp24, (0, 1, 2, 3), r1, (0,), (2, 1, 3)) * -1 + del tmp24 + tmp15 = tmp4.copy() * -0.5 + del tmp4 + tmp15 += tmp5 * 0.5 + del tmp5 + tmp15 += tmp6 + del tmp6 + tmp15 += tmp8 * -1 + del tmp8 + tmp15 += tmp12 * -1 + del tmp12 + tmp15 += tmp14 + del tmp14 + r2new += tmp15.transpose((1, 0, 2)) + r2new += tmp15 * -1 + del tmp15 + tmp21 = ints.tmp33.copy() * 0.5 + tmp21 += ints.tmp52 + tmp21 += v.oooo + r2new += einsum(r2, (0, 1, 2), tmp21, (3, 4, 0, 1), (3, 4, 2)) * 0.5 + del tmp21 + tmp23 = ints.tmp24.transpose((1, 0)).copy() + tmp23 += ints.tmp34.transpose((1, 0)) * 0.5 + tmp23 += f.vv * -1 + tmp23 += einsum(tmp22, (0, 1), t1, (0, 2), (1, 2)) + del tmp22 + r2new += einsum(r2, (0, 1, 2), tmp23, (2, 3), (0, 1, 3)) * -1 + del tmp23 + tmp20 = tmp17.copy() * -1 + del tmp17 + tmp20 += tmp19 + del tmp19 + r2new += tmp20.transpose((1, 0, 2)) * -1 + r2new += tmp20 + del tmp20 + tmp25 = ints.tmp13.copy() + tmp25 += ints.tmp16 + tmp25 += ints.tmp27 * 0.5 + tmp25 += ints.tmp30 * 0.5 + tmp25 += ints.tmp40 * 0.5 + tmp25 += ints.tmp43 * 0.5 + tmp25 += ints.tmp45 + tmp25 += ints.tmp48 + tmp25 += ints.tmp55 + tmp25 += ints.tmp7 + tmp25 += f.ov * -1 + tmp25 += ints.tmp11 * -1 + tmp25 += ints.tmp38 * -1 + tmp25 += ints.tmp8 * -1 + r2new += einsum(tmp25, (0, 1), r1, (2,), (0, 2, 1)) + r2new += einsum(tmp25, (0, 1), r1, (2,), (2, 0, 1)) * -1 + del tmp25 + tmp1 = f.ov.copy() + tmp1 += ints.tmp2 + r1new = einsum(r2, (0, 1, 2), tmp1, (1, 2), (0,)) + del tmp1 + tmp0 = ints.tmp3.copy() + tmp0 += v.ovoo.transpose((0, 2, 3, 1)) * -1 + r1new += einsum(tmp0, (0, 1, 2, 3), r2, (2, 1, 3), (0,)) * -0.5 + del tmp0 + tmp2 = f.oo.copy() * 2 + tmp2 += ints.tmp0 * 2 + tmp2 += ints.tmp1 * 2 + tmp2 += ints.tmp4.transpose((1, 0)) + tmp2 += ints.tmp5.transpose((1, 0)) * 2 + r1new += einsum(tmp2, (0, 1), r1, (0,), (1,)) * -0.5 + del tmp2 + + return {f"r1new": r1new, f"r2new": r2new} + +def hbar_matvec_ea_intermediates(f=None, t1=None, t2=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-08-12T21:48:07.395341. + + Parameters + ---------- + f : array + Fock matrix. + t1 : array + T1 amplitudes. + t2 : array + T2 amplitudes. + v : array + Electron repulsion integrals. + + Returns + ------- + tmp1 : array + tmp12 : array + tmp13 : array + tmp15 : array + tmp18 : array + tmp19 : array + tmp2 : array + tmp23 : array + tmp27 : array + tmp28 : array + tmp29 : array + tmp30 : array + tmp32 : array + tmp34 : array + tmp37 : array + tmp38 : array + tmp39 : array + tmp4 : array + tmp40 : array + tmp41 : array + tmp44 : array + tmp47 : array + tmp50 : array + tmp56 : array + tmp7 : array + tmp8 : array + tmp9 : array + """ + + tmp1 = einsum(v.ovvv, (0, 1, 2, 3), t1, (0, 3), (1, 2)) + tmp47 = einsum(tmp1, (0, 1), t1, (2, 1), (2, 0)) + tmp2 = einsum(v.oovv, (0, 1, 2, 3), t1, (1, 3), (0, 2)) + tmp50 = einsum(tmp2, (0, 1), t1, (2, 1), (2, 0)) + tmp56 = einsum(t1, (0, 1), tmp50, (2, 0), (2, 1)) + tmp37 = einsum(t2, (0, 1, 2, 3), tmp2, (1, 3), (0, 2)) + tmp4 = einsum(t2, (0, 1, 2, 3), v.oovv, (0, 1, 4, 3), (2, 4)) + tmp7 = einsum(t1, (0, 1), f.oo, (2, 0), (2, 1)) + tmp8 = einsum(t1, (0, 1), f.vv, (2, 1), (0, 2)) + tmp9 = einsum(f.ov, (0, 1), t1, (2, 1), (0, 2)) + tmp13 = einsum(t1, (0, 1), tmp9, (0, 2), (2, 1)) + tmp12 = einsum(f.ov, (0, 1), t2, (2, 0, 3, 1), (2, 3)) + tmp15 = einsum(v.ovov, (0, 1, 2, 3), t1, (2, 1), (0, 3)) + tmp18 = einsum(v.vvvv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) + tmp19 = einsum(t1, (0, 1), v.ooov, (2, 0, 3, 1), (2, 3)) + tmp44 = einsum(tmp19, (0, 1), t1, (0, 2), (1, 2)) + tmp23 = einsum(v.ovvv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) + tmp27 = einsum(t2, (0, 1, 2, 3), v.ovoo, (4, 3, 0, 1), (4, 2)) + tmp28 = einsum(t2, (0, 1, 2, 3), v.ovoo, (4, 5, 0, 1), (4, 2, 3, 5)) + tmp29 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 2, 3), (0, 4)) + tmp30 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 0, 5, 3), (4, 5, 1, 2)) + tmp32 = einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 2, 3), (0, 4)) + tmp41 = einsum(tmp32, (0, 1), t1, (1, 2), (0, 2)) + tmp34 = einsum(v.oovv, (0, 1, 2, 3), t2, (4, 1, 5, 3), (4, 0, 5, 2)) + tmp38 = einsum(v.oovv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) + tmp40 = einsum(t2, (0, 1, 2, 3), tmp38, (4, 1, 0, 5), (4, 2, 3, 5)) * -1 + tmp39 = einsum(t2, (0, 1, 2, 3), tmp38, (4, 1, 0, 3), (4, 2)) + + return {f"tmp1": tmp1, f"tmp12": tmp12, f"tmp13": tmp13, f"tmp15": tmp15, f"tmp18": tmp18, f"tmp19": tmp19, f"tmp2": tmp2, f"tmp23": tmp23, f"tmp27": tmp27, f"tmp28": tmp28, f"tmp29": tmp29, f"tmp30": tmp30, f"tmp32": tmp32, f"tmp34": tmp34, f"tmp37": tmp37, f"tmp38": tmp38, f"tmp39": tmp39, f"tmp4": tmp4, f"tmp40": tmp40, f"tmp41": tmp41, f"tmp44": tmp44, f"tmp47": tmp47, f"tmp50": tmp50, f"tmp56": tmp56, f"tmp7": tmp7, f"tmp8": tmp8, f"tmp9": tmp9} + +def hbar_matvec_ea(f=None, r1=None, r2=None, t1=None, t2=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-08-12T21:48:07.409722. + + Parameters + ---------- + f : array + Fock matrix. + r1 : array + R1 amplitudes. + r2 : array + R2 amplitudes. + t1 : array + T1 amplitudes. + t2 : array + T2 amplitudes. + v : array + Electron repulsion integrals. + + Returns + ------- + r1new : array + Updated R1 residuals. + r2new : array + Updated R2 residuals. + """ + + ints = kwargs["ints"] + tmp13 = ints.tmp38.copy() + tmp13 += v.ovoo.transpose((0, 2, 3, 1)) * -1 + tmp0 = f.ov.copy() + tmp0 += ints.tmp2 + r1new = einsum(r2, (0, 1, 2), tmp0, (2, 1), (0,)) + tmp14 = einsum(tmp13, (0, 1, 2, 3), r2, (4, 3, 1), (0, 2, 4)) * -1 + tmp15 = einsum(r2, (0, 1, 2), tmp0, (3, 1), (2, 3, 0)) * -1 + tmp5 = einsum(r2, (0, 1, 2), v.oovv, (3, 4, 0, 1), (2, 3, 4)) + r2new = einsum(t2, (0, 1, 2, 3), tmp5, (4, 1, 0), (2, 3, 4)) * -0.25 + tmp8 = r2.transpose((2, 0, 1)).copy() + tmp8 += einsum(r1, (0,), t1, (1, 2), (1, 0, 2)) + tmp9 = ints.tmp23.copy() + tmp9 += ints.tmp34 + tmp11 = f.vv.copy() * 2 + tmp11 += ints.tmp4.transpose((1, 0)) * -1 + tmp16 = tmp14.transpose((1, 0, 2)).copy() * -1 + del tmp14 + tmp16 += tmp15.transpose((1, 0, 2)) * -1 + del tmp15 + tmp6 = einsum(v.ovvv, (0, 1, 2, 3), r2, (2, 3, 4), (4, 0, 1)) + tmp3 = einsum(r1, (0,), tmp0, (1, 0), (1,)) + del tmp0 + tmp2 = einsum(v.oovv, (0, 1, 2, 3), r2, (2, 3, 1), (0,)) + tmp25 = tmp5.transpose((0, 2, 1)).copy() * -0.5 + del tmp5 + tmp25 += einsum(r1, (0,), tmp13, (1, 2, 3, 0), (1, 2, 3)) + del tmp13 + tmp21 = einsum(ints.tmp30, (0, 1, 2, 3), r1, (3,), (0, 1, 2)) + tmp20 = einsum(ints.tmp1, (0, 1), r2, (2, 1, 3), (3, 0, 2)) + tmp10 = einsum(tmp9, (0, 1, 2, 3), tmp8, (1, 3, 4), (0, 2, 4)) + del tmp9 + tmp12 = einsum(r2, (0, 1, 2), tmp11, (1, 3), (2, 3, 0)) * -0.5 + del tmp11 + tmp17 = einsum(tmp16, (0, 1, 2), t1, (0, 3), (1, 2, 3)) + del tmp16 + tmp7 = einsum(t1, (0, 1), tmp6, (2, 0, 3), (2, 1, 3)) + del tmp6 + tmp18 = einsum(v.ovov, (0, 1, 2, 3), tmp8, (2, 1, 4), (0, 4, 3)) + del tmp8 + tmp4 = tmp2.copy() * 0.5 + del tmp2 + tmp4 += tmp3 + del tmp3 + r2new += einsum(tmp4, (0,), t2, (1, 0, 2, 3), (2, 3, 1)) + r1new += einsum(tmp4, (0,), t1, (0, 1), (1,)) * -1 + del tmp4 + tmp27 = ints.tmp13.copy() + tmp27 += ints.tmp15 + tmp27 += ints.tmp27 * 0.5 + tmp27 += ints.tmp29 * 0.5 + tmp27 += ints.tmp39 * 0.5 + tmp27 += ints.tmp41 * 0.5 + tmp27 += ints.tmp44 + tmp27 += ints.tmp47 + tmp27 += ints.tmp56 + tmp27 += ints.tmp7 + tmp27 += f.ov * -1 + tmp27 += ints.tmp12 * -1 + tmp27 += ints.tmp37 * -1 + tmp27 += ints.tmp8 * -1 + r2new += einsum(tmp27, (0, 1), r1, (2,), (1, 2, 0)) + r2new += einsum(r1, (0,), tmp27, (1, 2), (0, 2, 1)) * -1 + del tmp27 + tmp26 = einsum(tmp25, (0, 1, 2), t1, (1, 3), (0, 2, 3)) * 2 + del tmp25 + r2new += einsum(tmp26, (0, 1, 2), t1, (1, 3), (3, 2, 0)) * -0.5 + del tmp26 + tmp22 = tmp20.copy() + del tmp20 + tmp22 += tmp21 + del tmp21 + r2new += tmp22.transpose((2, 1, 0)) * -1 + r2new += tmp22.transpose((1, 2, 0)) + del tmp22 + tmp24 = f.oo.copy() + tmp24 += ints.tmp19 + tmp24 += ints.tmp32.transpose((1, 0)) * 0.5 + tmp24 += ints.tmp50.transpose((1, 0)) + tmp24 += ints.tmp9 + r2new += einsum(tmp24, (0, 1), r2, (2, 3, 0), (2, 3, 1)) * -1 + del tmp24 + tmp19 = tmp7.copy() * 0.5 + del tmp7 + tmp19 += tmp10 * -1 + del tmp10 + tmp19 += tmp12 * -1 + del tmp12 + tmp19 += tmp17 + del tmp17 + tmp19 += tmp18 * -1 + del tmp18 + r2new += tmp19.transpose((2, 1, 0)) + r2new += tmp19.transpose((1, 2, 0)) * -1 + del tmp19 + tmp23 = ints.tmp18.copy() + tmp23 += ints.tmp40 * 0.5 + tmp23 += ints.tmp28 * -0.5 + tmp23 += v.ovvv.transpose((0, 2, 3, 1)) * -1 + r2new += einsum(tmp23, (0, 1, 2, 3), r1, (3,), (2, 1, 0)) * -1 + del tmp23 + tmp1 = ints.tmp1.transpose((1, 0)).copy() + tmp1 += ints.tmp4.transpose((1, 0)) * 0.5 + tmp1 += f.vv * -1 + r1new += einsum(tmp1, (0, 1), r1, (0,), (1,)) * -1 + del tmp1 + r1new += einsum(v.ovvv, (0, 1, 2, 3), r2, (2, 3, 0), (1,)) * -0.5 + r2new += einsum(v.vvvv, (0, 1, 2, 3), r2, (2, 3, 4), (0, 1, 4)) * 0.5 + + return {f"r1new": r1new, f"r2new": r2new} + +def hbar_matvec_ee_intermediates(f=None, t1=None, t2=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-08-12T21:48:29.173269. + + Parameters + ---------- + f : array + Fock matrix. + t1 : array + T1 amplitudes. + t2 : array + T2 amplitudes. + v : array + Electron repulsion integrals. + + Returns + ------- + tmp0 : array + tmp10 : array + tmp101 : array + tmp105 : array + tmp106 : array + tmp12 : array + tmp17 : array + tmp18 : array + tmp2 : array + tmp22 : array + tmp23 : array + tmp26 : array + tmp30 : array + tmp32 : array + tmp33 : array + tmp37 : array + tmp4 : array + tmp40 : array + tmp48 : array + tmp49 : array + tmp5 : array + tmp51 : array + tmp54 : array + tmp55 : array + tmp57 : array + tmp6 : array + tmp62 : array + tmp64 : array + tmp7 : array + tmp70 : array + tmp71 : array + tmp74 : array + tmp75 : array + tmp77 : array + tmp80 : array + tmp81 : array + tmp87 : array + tmp88 : array + tmp9 : array + tmp93 : array + tmp94 : array + """ + + tmp0 = einsum(f.ov, (0, 1), t1, (2, 1), (0, 2)) + tmp26 = einsum(tmp0, (0, 1), t1, (0, 2), (1, 2)) + tmp2 = einsum(t1, (0, 1), v.ooov, (2, 0, 3, 1), (2, 3)) + tmp87 = einsum(tmp2, (0, 1), t1, (0, 2), (1, 2)) + tmp4 = einsum(v.ovvv, (0, 1, 2, 3), t1, (0, 3), (1, 2)) + tmp93 = einsum(tmp4, (0, 1), t1, (2, 1), (2, 0)) + tmp5 = einsum(v.ovvv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) + tmp94 = einsum(tmp5, (0, 1, 2, 3), t1, (4, 3), (0, 4, 1, 2)) * -1 + tmp6 = einsum(v.oovv, (0, 1, 2, 3), t1, (1, 3), (0, 2)) + tmp71 = einsum(tmp6, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4)) * -1 + tmp70 = einsum(tmp6, (0, 1), t2, (2, 0, 3, 1), (2, 3)) + tmp12 = einsum(tmp6, (0, 1), t1, (2, 1), (2, 0)) + tmp105 = einsum(t1, (0, 1), tmp12, (2, 0), (2, 1)) + tmp7 = einsum(v.oovv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) + tmp101 = einsum(t1, (0, 1), tmp7, (2, 3, 4, 1), (2, 0, 4, 3)) + tmp106 = einsum(tmp101, (0, 1, 2, 3), t1, (2, 4), (0, 1, 3, 4)) * -1 + tmp77 = einsum(t2, (0, 1, 2, 3), tmp7, (4, 1, 0, 5), (4, 2, 3, 5)) * -1 + tmp75 = einsum(tmp7, (0, 1, 2, 3), t2, (4, 1, 5, 3), (0, 4, 2, 5)) + tmp74 = einsum(t2, (0, 1, 2, 3), tmp7, (4, 1, 0, 3), (4, 2)) + tmp9 = einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 2, 3), (0, 4)) + tmp80 = einsum(tmp9, (0, 1), t1, (1, 2), (0, 2)) + tmp10 = einsum(t2, (0, 1, 2, 3), v.oovv, (0, 1, 4, 3), (2, 4)) + tmp17 = einsum(t1, (0, 1), f.oo, (2, 0), (2, 1)) + tmp18 = einsum(t1, (0, 1), f.vv, (2, 1), (0, 2)) + tmp22 = einsum(f.ov, (0, 1), t2, (2, 0, 3, 1), (2, 3)) + tmp23 = einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), (0, 2, 3, 4)) + tmp30 = einsum(v.oooo, (0, 1, 2, 3), t1, (3, 4), (0, 1, 2, 4)) + tmp32 = einsum(v.ovov, (0, 1, 2, 3), t1, (2, 1), (0, 3)) + tmp33 = einsum(t1, (0, 1), v.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) + tmp37 = einsum(v.vvvv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) + tmp40 = einsum(v.ooov, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) + tmp88 = einsum(t1, (0, 1), tmp40, (2, 3, 0, 4), (2, 3, 4, 1)) + tmp48 = einsum(t2, (0, 1, 2, 3), v.ovoo, (4, 3, 0, 1), (4, 2)) + tmp49 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 1, 5, 3), (0, 4, 5, 2)) + tmp51 = einsum(t2, (0, 1, 2, 3), v.ovoo, (4, 5, 0, 1), (4, 2, 3, 5)) + tmp54 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 2, 3), (0, 4)) + tmp55 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 5, 2, 3), (4, 5, 0, 1)) + tmp57 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 0, 5, 3), (4, 5, 1, 2)) + tmp62 = einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 2, 3), (0, 1, 4, 5)) + tmp81 = einsum(tmp62, (0, 1, 2, 3), t1, (3, 4), (0, 1, 2, 4)) + tmp64 = einsum(v.oovv, (0, 1, 2, 3), t2, (4, 1, 5, 3), (4, 0, 5, 2)) + + return {f"tmp0": tmp0, f"tmp10": tmp10, f"tmp101": tmp101, f"tmp105": tmp105, f"tmp106": tmp106, f"tmp12": tmp12, f"tmp17": tmp17, f"tmp18": tmp18, f"tmp2": tmp2, f"tmp22": tmp22, f"tmp23": tmp23, f"tmp26": tmp26, f"tmp30": tmp30, f"tmp32": tmp32, f"tmp33": tmp33, f"tmp37": tmp37, f"tmp4": tmp4, f"tmp40": tmp40, f"tmp48": tmp48, f"tmp49": tmp49, f"tmp5": tmp5, f"tmp51": tmp51, f"tmp54": tmp54, f"tmp55": tmp55, f"tmp57": tmp57, f"tmp6": tmp6, f"tmp62": tmp62, f"tmp64": tmp64, f"tmp7": tmp7, f"tmp70": tmp70, f"tmp71": tmp71, f"tmp74": tmp74, f"tmp75": tmp75, f"tmp77": tmp77, f"tmp80": tmp80, f"tmp81": tmp81, f"tmp87": tmp87, f"tmp88": tmp88, f"tmp9": tmp9, f"tmp93": tmp93, f"tmp94": tmp94} + +def hbar_matvec_ee(f=None, r1=None, r2=None, t1=None, t2=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-08-12T21:48:29.204697. + + Parameters + ---------- + f : array + Fock matrix. + r1 : array + R1 amplitudes. + r2 : array + R2 amplitudes. + t1 : array + T1 amplitudes. + t2 : array + T2 amplitudes. + v : array + Electron repulsion integrals. + + Returns + ------- + r1new : array + Updated R1 residuals. + r2new : array + Updated R2 residuals. + """ + + ints = kwargs["ints"] + tmp2 = f.ov.copy() + tmp2 += ints.tmp6 + r1new = einsum(r2, (0, 1, 2, 3), tmp2, (1, 3), (0, 2)) + tmp13 = ints.tmp5.copy() + tmp13 += ints.tmp64 + tmp0 = einsum(v.oovv, (0, 1, 2, 3), r1, (1, 3), (0, 2)) + r1new += einsum(tmp0, (0, 1), t2, (2, 0, 3, 1), (2, 3)) + tmp41 = einsum(ints.tmp7, (0, 1, 2, 3), r1, (1, 3), (0, 2)) + tmp7 = einsum(tmp2, (0, 1), r1, (2, 1), (0, 2)) + tmp6 = einsum(v.oovv, (0, 1, 2, 3), r2, (4, 1, 2, 3), (4, 0)) + tmp35 = einsum(r1, (0, 1), v.ooov, (2, 3, 4, 1), (0, 2, 3, 4)) + tmp17 = einsum(tmp13, (0, 1, 2, 3), r1, (4, 3), (0, 1, 4, 2)) + tmp15 = einsum(r2, (0, 1, 2, 3), v.ooov, (4, 1, 5, 3), (0, 4, 5, 2)) + tmp16 = einsum(r2, (0, 1, 2, 3), ints.tmp7, (4, 1, 5, 3), (4, 5, 0, 2)) + tmp28 = einsum(v.ovvv, (0, 1, 2, 3), r2, (4, 5, 2, 3), (4, 5, 0, 1)) + tmp29 = einsum(t2, (0, 1, 2, 3), tmp0, (4, 3), (0, 1, 4, 2)) * -1 + del tmp0 + tmp5 = f.oo.copy() + tmp5 += ints.tmp0 + tmp5 += ints.tmp12.transpose((1, 0)) + tmp5 += ints.tmp2 + tmp5 += ints.tmp9.transpose((1, 0)) * 0.5 + r1new += einsum(tmp5, (0, 1), r1, (0, 2), (1, 2)) * -1 + tmp42 = tmp41.copy() + del tmp41 + tmp42 += tmp6 * 0.5 + tmp42 += tmp7.transpose((1, 0)) + tmp33 = einsum(v.ooov, (0, 1, 2, 3), r1, (1, 3), (0, 2)) + tmp38 = ints.tmp51.copy() + tmp38 += ints.tmp77 * -1 + tmp36 = einsum(tmp35, (0, 1, 2, 3), t1, (2, 4), (0, 1, 3, 4)) + del tmp35 + tmp45 = einsum(ints.tmp7, (0, 1, 2, 3), r1, (4, 3), (0, 1, 2, 4)) + tmp11 = einsum(r1, (0, 1), v.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) + tmp18 = tmp15.copy() + del tmp15 + tmp18 += tmp16 * -1 + del tmp16 + tmp18 += tmp17 + del tmp17 + tmp20 = ints.tmp33.copy() + tmp20 += ints.tmp49 + tmp61 = ints.tmp23.copy() + tmp61 += ints.tmp30.transpose((2, 0, 1, 3)) + tmp26 = einsum(tmp2, (0, 1), r2, (2, 3, 4, 1), (0, 2, 3, 4)) * -1 + del tmp2 + tmp24 = einsum(r2, (0, 1, 2, 3), v.oovv, (0, 1, 4, 3), (2, 4)) + tmp30 = tmp28.transpose((1, 0, 2, 3)).copy() + del tmp28 + tmp30 += tmp29 * -2 + del tmp29 + tmp52 = ints.tmp10.copy() * 0.5 + tmp52 += ints.tmp4 + tmp54 = ints.tmp55.copy() + tmp54 += ints.tmp71 * 2 + tmp54 += ints.tmp81 * -1 + tmp49 = einsum(r1, (0, 1), v.ovvv, (0, 2, 3, 1), (2, 3)) + tmp40 = einsum(r2, (0, 1, 2, 3), tmp5, (1, 4), (4, 0, 2, 3)) * -1 + del tmp5 + tmp43 = einsum(t2, (0, 1, 2, 3), tmp42, (4, 1), (4, 0, 2, 3)) * -1 + del tmp42 + tmp34 = einsum(t2, (0, 1, 2, 3), tmp33, (1, 4), (0, 4, 2, 3)) * -1 + del tmp33 + tmp39 = einsum(tmp38, (0, 1, 2, 3), r1, (4, 3), (0, 4, 1, 2)) * 0.5 + del tmp38 + tmp37 = einsum(t1, (0, 1), tmp36, (2, 0, 3, 4), (2, 3, 4, 1)) * -1 + del tmp36 + tmp64 = einsum(ints.tmp37, (0, 1, 2, 3), r1, (4, 3), (0, 4, 1, 2)) + tmp65 = einsum(r1, (0, 1), v.ovvv, (2, 1, 3, 4), (0, 2, 3, 4)) + tmp46 = einsum(tmp45, (0, 1, 2, 3), t1, (2, 4), (0, 1, 3, 4)) + del tmp45 + tmp10 = einsum(v.ovov, (0, 1, 2, 3), r2, (4, 2, 5, 1), (4, 0, 5, 3)) + tmp9 = einsum(ints.tmp57, (0, 1, 2, 3), r1, (4, 3), (0, 4, 1, 2)) + tmp12 = einsum(t1, (0, 1), tmp11, (2, 0, 3, 4), (2, 3, 1, 4)) + del tmp11 + tmp19 = einsum(tmp18, (0, 1, 2, 3), t1, (1, 4), (0, 2, 3, 4)) + del tmp18 + tmp21 = einsum(tmp20, (0, 1, 2, 3), r1, (1, 4), (0, 2, 3, 4)) + del tmp20 + tmp14 = einsum(tmp13, (0, 1, 2, 3), r2, (4, 1, 5, 3), (0, 4, 2, 5)) + del tmp13 + tmp62 = einsum(tmp61, (0, 1, 2, 3), r1, (0, 4), (1, 2, 3, 4)) + del tmp61 + tmp59 = einsum(v.ooov, (0, 1, 2, 3), r1, (2, 4), (0, 1, 4, 3)) + tmp60 = einsum(r2, (0, 1, 2, 3), f.vv, (4, 3), (0, 1, 4, 2)) + tmp23 = einsum(ints.tmp106, (0, 1, 2, 3), r1, (2, 4), (0, 1, 3, 4)) + tmp27 = einsum(t1, (0, 1), tmp26, (0, 2, 3, 4), (3, 2, 4, 1)) + del tmp26 + tmp25 = einsum(t2, (0, 1, 2, 3), tmp24, (4, 3), (0, 1, 4, 2)) * -1 + del tmp24 + tmp31 = einsum(t1, (0, 1), tmp30, (2, 3, 0, 4), (2, 3, 4, 1)) * 0.5 + del tmp30 + tmp53 = einsum(tmp52, (0, 1), r2, (2, 3, 4, 1), (2, 3, 0, 4)) * -1 + del tmp52 + tmp55 = einsum(tmp54, (0, 1, 2, 3), r1, (2, 4), (0, 1, 3, 4)) * 0.5 + del tmp54 + tmp57 = ints.tmp75.copy() + tmp57 += ints.tmp88.transpose((0, 2, 1, 3)) + tmp48 = einsum(ints.tmp94, (0, 1, 2, 3), r1, (2, 4), (0, 1, 3, 4)) + tmp50 = einsum(tmp49, (0, 1), t2, (2, 3, 4, 1), (2, 3, 4, 0)) * -1 + del tmp49 + tmp1 = ints.tmp7.copy() + tmp1 += v.ovoo.transpose((0, 2, 3, 1)) * -1 + r1new += einsum(tmp1, (0, 1, 2, 3), r2, (1, 2, 4, 3), (0, 4)) * 0.5 + tmp68 = einsum(r2, (0, 1, 2, 3), v.oovv, (4, 5, 2, 3), (0, 1, 4, 5)) + tmp44 = tmp34.transpose((0, 1, 3, 2)).copy() * -1 + del tmp34 + tmp44 += tmp37.transpose((0, 1, 3, 2)) + del tmp37 + tmp44 += tmp39.transpose((0, 1, 3, 2)) * -1 + del tmp39 + tmp44 += tmp40.transpose((0, 1, 3, 2)) + del tmp40 + tmp44 += tmp43.transpose((0, 1, 3, 2)) + del tmp43 + r2new = tmp44.transpose((1, 0, 2, 3)).copy() * -1 + r2new += tmp44 + del tmp44 + tmp66 = tmp64.copy() + del tmp64 + tmp66 += tmp65.transpose((0, 1, 3, 2)) * -1 + del tmp65 + r2new += tmp66.transpose((1, 0, 3, 2)) * -1 + r2new += tmp66.transpose((0, 1, 3, 2)) + del tmp66 + tmp47 = einsum(t1, (0, 1), tmp46, (2, 0, 3, 4), (2, 3, 1, 4)) + del tmp46 + r2new += tmp47.transpose((1, 0, 2, 3)) + r2new += tmp47 * -1 + del tmp47 + tmp22 = tmp9.copy() + del tmp9 + tmp22 += tmp10 + del tmp10 + tmp22 += tmp12 * -1 + del tmp12 + tmp22 += tmp14 * -1 + del tmp14 + tmp22 += tmp19 + del tmp19 + tmp22 += tmp21 + del tmp21 + r2new += tmp22.transpose((1, 0, 3, 2)) * -1 + r2new += tmp22.transpose((1, 0, 2, 3)) + r2new += tmp22.transpose((0, 1, 3, 2)) + r2new += tmp22 * -1 + del tmp22 + tmp71 = ints.tmp105.copy() * 2 + tmp71 += ints.tmp17 * 2 + tmp71 += ints.tmp26 * 2 + tmp71 += ints.tmp32 * 2 + tmp71 += ints.tmp48 + tmp71 += ints.tmp54 + tmp71 += ints.tmp74 + tmp71 += ints.tmp80 + tmp71 += ints.tmp87 * 2 + tmp71 += ints.tmp93 * 2 + tmp71 += f.ov * -2 + tmp71 += ints.tmp18 * -2 + tmp71 += ints.tmp22 * -2 + tmp71 += ints.tmp70 * -2 + r2new += einsum(r1, (0, 1), tmp71, (2, 3), (0, 2, 3, 1)) * 0.5 + del tmp71 + tmp63 = tmp59.transpose((1, 0, 2, 3)).copy() * -1 + del tmp59 + tmp63 += tmp60.transpose((1, 0, 2, 3)) * -1 + del tmp60 + tmp63 += tmp62 + del tmp62 + r2new += tmp63.transpose((1, 0, 3, 2)) * -1 + r2new += tmp63.transpose((1, 0, 2, 3)) + del tmp63 + tmp32 = tmp23.copy() + del tmp23 + tmp32 += tmp25 * 0.5 + del tmp25 + tmp32 += tmp27.transpose((1, 0, 2, 3)) * -1 + del tmp27 + tmp32 += tmp31.transpose((1, 0, 3, 2)) + del tmp31 + r2new += tmp32.transpose((0, 1, 3, 2)) + r2new += tmp32 * -1 + del tmp32 + tmp56 = tmp53.transpose((1, 0, 2, 3)).copy() * -1 + del tmp53 + tmp56 += tmp55 * -1 + del tmp55 + r2new += tmp56.transpose((1, 0, 3, 2)) * -1 + r2new += tmp56.transpose((1, 0, 2, 3)) + del tmp56 + tmp58 = einsum(tmp57, (0, 1, 2, 3), r1, (2, 4), (0, 1, 3, 4)) + del tmp57 + r2new += tmp58.transpose((1, 0, 3, 2)) + r2new += tmp58.transpose((1, 0, 2, 3)) * -1 + r2new += tmp58.transpose((0, 1, 3, 2)) * -1 + r2new += tmp58 + del tmp58 + tmp51 = tmp48.copy() + del tmp48 + tmp51 += tmp50 + del tmp50 + r2new += tmp51.transpose((0, 1, 3, 2)) * -1 + r2new += tmp51 + del tmp51 + tmp67 = ints.tmp101.copy() + tmp67 += v.oooo + tmp67 += ints.tmp62.transpose((0, 1, 3, 2)) * -0.5 + tmp67 += ints.tmp40.transpose((0, 3, 1, 2)) * -1 + tmp67 += ints.tmp40.transpose((3, 0, 1, 2)) + r2new += einsum(r2, (0, 1, 2, 3), tmp67, (4, 5, 0, 1), (4, 5, 2, 3)) * 0.5 + del tmp67 + tmp70 = ints.tmp105.copy() + tmp70 += ints.tmp17 + tmp70 += ints.tmp26 + tmp70 += ints.tmp32 + tmp70 += ints.tmp48 * 0.5 + tmp70 += ints.tmp54 * 0.5 + tmp70 += ints.tmp74 * 0.5 + tmp70 += ints.tmp80 * 0.5 + tmp70 += ints.tmp87 + tmp70 += ints.tmp93 + tmp70 += f.ov * -1 + tmp70 += ints.tmp18 * -1 + tmp70 += ints.tmp22 * -1 + tmp70 += ints.tmp70 * -1 + r2new += einsum(tmp70, (0, 1), r1, (2, 3), (0, 2, 3, 1)) + r2new += einsum(r1, (0, 1), tmp70, (2, 3), (0, 2, 1, 3)) * -1 + r2new += einsum(tmp70, (0, 1), r1, (2, 3), (0, 2, 1, 3)) * -1 + del tmp70 + tmp69 = t2.copy() + tmp69 += einsum(t1, (0, 1), t1, (2, 3), (2, 0, 3, 1)) * 2 + r2new += einsum(tmp69, (0, 1, 2, 3), tmp68, (4, 5, 0, 1), (5, 4, 3, 2)) * 0.25 + del tmp69, tmp68 + tmp4 = ints.tmp10.transpose((1, 0)).copy() * 0.5 + tmp4 += ints.tmp4.transpose((1, 0)) + tmp4 += f.vv * -1 + r1new += einsum(r1, (0, 1), tmp4, (1, 2), (0, 2)) * -1 + del tmp4 + tmp3 = ints.tmp5.copy() + tmp3 += v.ovov.transpose((0, 2, 3, 1)) * -1 + r1new += einsum(tmp3, (0, 1, 2, 3), r1, (1, 3), (0, 2)) + del tmp3 + tmp8 = tmp6.transpose((1, 0)).copy() * 0.5 + del tmp6 + tmp8 += einsum(tmp1, (0, 1, 2, 3), r1, (1, 3), (2, 0)) + del tmp1 + tmp8 += tmp7 + del tmp7 + r1new += einsum(t1, (0, 1), tmp8, (0, 2), (2, 1)) * -1 + del tmp8 + r1new += einsum(v.ovvv, (0, 1, 2, 3), r2, (4, 0, 2, 3), (4, 1)) * -0.5 + r2new += einsum(v.vvvv, (0, 1, 2, 3), r2, (4, 5, 2, 3), (4, 5, 0, 1)) * 0.5 + + return {f"r1new": r1new, f"r2new": r2new} + diff --git a/ebcc/codegen/bootstrap_common.py b/ebcc/codegen/bootstrap_common.py index 4c7c54e7..03865105 100644 --- a/ebcc/codegen/bootstrap_common.py +++ b/ebcc/codegen/bootstrap_common.py @@ -249,7 +249,7 @@ def remove_e0_eom(terms): r = None rest = [] for t in term[1:]: - if "r" in t or "l" in t: + if "r" in t: r = t elif not t.startswith("P("): rest.append(t) @@ -271,13 +271,13 @@ def remove_e0_eom(terms): # t2(a,b,i,j) r # t1(a,i) t1(b,j) r if len(term) == 3: - tensor = [t for t in term[1:] if not (t.startswith("r") or t.startswith("l"))][0] + tensor = [t for t in term[1:] if not t.startswith("r")][0] if tensor.startswith("f") and tensor[2] == tensor[4]: continue if tensor.startswith("<") and tensor[1] == tensor[6] and tensor[3] == tensor[8]: continue else: - tensors = sorted([t for t in term[1:] if not (t.startswith("r") or t.startswith("l"))]) + tensors = sorted([t for t in term[1:] if not t.startswith("r")]) if tensors[0].startswith("f") and tensors[1].startswith("t"): continue if tensors[0].startswith("<") and all(t.startswith("t") for t in tensors[1:]): @@ -598,7 +598,7 @@ def optimise_eom(returns, output, expr, spin, strategy="exhaust"): output = new_output expr = new_expr - # Extract the intermediates that don't depend on R/L + # Extract the intermediates that don't depend on R output_r = [] expr_r = [] output_nr = [] From 7181c99f5ce898b2d0f523cef380bae329bcd9bd Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Tue, 13 Aug 2024 20:51:29 +0100 Subject: [PATCH 078/168] Left EOM --- ebcc/codegen/bootstrap_CCSD.py | 308 +++++++++++++++++++++++-------- ebcc/codegen/bootstrap_common.py | 2 +- 2 files changed, 233 insertions(+), 77 deletions(-) diff --git a/ebcc/codegen/bootstrap_CCSD.py b/ebcc/codegen/bootstrap_CCSD.py index 9cada2ce..881b396f 100644 --- a/ebcc/codegen/bootstrap_CCSD.py +++ b/ebcc/codegen/bootstrap_CCSD.py @@ -528,82 +528,238 @@ def tensor_cleanup(self, *args): **kwargs, ) -#with Stopwatch("L-IP-EOM"): -# # Get the L1 contractions in pdaggerq format -# pq.clear() -# pq.set_left_operators_type("IP") -# pq.set_left_operators([["l1"], ["l2"]]) -# pq.set_right_operators([["a(i)"]]) -# pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) -# pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) -# pq.simplify() -# terms_r1 = pq.fully_contracted_strings() -# terms_r1 = remove_e0_eom(terms_r1) -# -# # Get the L2 contractions in pdaggerq format -# pq.clear() -# pq.set_left_operators_type("IP") -# pq.set_right_operators([["a*(a)", "a(i)", "a(j)"]]) -# pq.set_left_operators([["l1"], ["l2"]]) -# pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) -# pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) -# pq.simplify() -# terms_r2 = pq.fully_contracted_strings() -# terms_r2 = remove_e0_eom(terms_r2) -# -# # Get the L amplitudes in albert format -# terms = [terms_r1, terms_r2] -# expr = [] -# output = [] -# returns = [] -# for n in range(2): -# for index_spins in get_amplitude_spins(n + 1, spin, which="ip"): -# indices = default_indices["v"][: n] + default_indices["o"][: n + 1] -# expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) -# expr_n = spin_integrate(expr_n, spin) -# output_n = get_t_amplitude_outputs(expr_n, f"l{n+1}new", indices=indices) -# returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"l{n+1}new"),) -# expr.extend(expr_n) -# output.extend(output_n) -# returns.extend(returns_n) -# -# (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="exhaust") -# -# # Generate the L amplitude intermediates code -# for name, codegen in code_generators.items(): -# if name == "einsum": -# kwargs = { -# "as_dict": True, -# } -# else: -# kwargs = {} -# codegen( -# "hbar_lmatvec_ip_intermediates", -# returns_nr, -# output_nr, -# expr_nr, -# **kwargs, -# ) -# -# # Generate the L amplitude code -# for name, codegen in code_generators.items(): -# if name == "einsum": -# preamble = "ints = kwargs[\"ints\"]" -# if spin == "uhf": -# preamble += "\nl1new = Namespace()\nl2new = Namespace()" -# kwargs = { -# "preamble": preamble, -# "as_dict": True, -# } -# else: -# kwargs = {} -# codegen( -# "hbar_lmatvec_ip", -# returns_r, -# output_r, -# expr_r, -# **kwargs, -# ) +with Stopwatch("L-IP-EOM"): + # Get the L1 contractions in pdaggerq format + pq.clear() + pq.set_left_operators_type("IP") + pq.set_left_operators([["l1"], ["l2"]]) + pq.set_right_operators([["a(i)"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) + pq.simplify() + terms_r1 = pq.fully_contracted_strings() + terms_r1 = remove_e0_eom(terms_r1) + + # Get the L2 contractions in pdaggerq format + pq.clear() + pq.set_left_operators_type("IP") + pq.set_right_operators([["a*(a)", "a(i)", "a(j)"]]) + pq.set_left_operators([["l1"], ["l2"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) + pq.simplify() + terms_r2 = pq.fully_contracted_strings() + terms_r2 = remove_e0_eom(terms_r2) + + # Get the L amplitudes in albert format + terms = [terms_r1, terms_r2] + expr = [] + output = [] + returns = [] + for n in range(2): + for index_spins in get_amplitude_spins(n + 1, spin, which="ip"): + indices = default_indices["v"][: n] + default_indices["o"][: n + 1] + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + output_n = get_t_amplitude_outputs(expr_n, f"l{n+1}new", indices=indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"l{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + + (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="exhaust") + + # Generate the L amplitude intermediates code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_lmatvec_ip_intermediates", + returns_nr, + output_nr, + expr_nr, + **kwargs, + ) + + # Generate the L amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + preamble = "ints = kwargs[\"ints\"]" + if spin == "uhf": + preamble += "\nl1new = Namespace()\nl2new = Namespace()" + kwargs = { + "preamble": preamble, + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_lmatvec_ip", + returns_r, + output_r, + expr_r, + **kwargs, + ) + +with Stopwatch("L-EA-EOM"): + # Get the L1 contractions in pdaggerq format + pq.clear() + pq.set_left_operators_type("EA") + pq.set_left_operators([["l1"], ["l2"]]) + pq.set_right_operators([["a*(a)"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) + pq.simplify() + terms_r1 = pq.fully_contracted_strings() + terms_r1 = remove_e0_eom(terms_r1) + + # Get the L2 contractions in pdaggerq format + pq.clear() + pq.set_left_operators_type("EA") + pq.set_right_operators([["a*(a)", "a*(b)", "a(i)"]]) + pq.set_left_operators([["l1"], ["l2"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) + pq.simplify() + terms_r2 = pq.fully_contracted_strings() + terms_r2 = remove_e0_eom(terms_r2) + + # Get the L amplitudes in albert format + terms = [terms_r1, terms_r2] + expr = [] + output = [] + returns = [] + for n in range(2): + for index_spins in get_amplitude_spins(n + 1, spin, which="ea"): + indices = default_indices["o"][: n] + default_indices["v"][: n + 1] + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + output_n = get_t_amplitude_outputs(expr_n, f"l{n+1}new", indices=indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"l{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + + (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="exhaust") + + # Generate the L amplitude intermediates code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_lmatvec_ea_intermediates", + returns_nr, + output_nr, + expr_nr, + **kwargs, + ) + + # Generate the L amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + preamble = "ints = kwargs[\"ints\"]" + if spin == "uhf": + preamble += "\nl1new = Namespace()\nl2new = Namespace()" + kwargs = { + "preamble": preamble, + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_lmatvec_ea", + returns_r, + output_r, + expr_r, + **kwargs, + ) + +if spin != "rhf": # FIXME + with Stopwatch("L-EE-EOM"): + # Get the L1 contractions in pdaggerq format + pq.clear() + pq.set_left_operators_type("EE") + pq.set_left_operators([["l1"], ["l2"]]) + pq.set_right_operators([["e1(a,i)"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) + pq.simplify() + terms_r1 = pq.fully_contracted_strings() + terms_r1 = remove_e0_eom(terms_r1) + + # Get the L2 contractions in pdaggerq format + pq.clear() + pq.set_left_operators_type("EE") + pq.set_left_operators([["l1"], ["l2"]]) + pq.set_right_operators([["e2(a,b,j,i)"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) + pq.simplify() + terms_r2 = pq.fully_contracted_strings() + terms_r2 = remove_e0_eom(terms_r2) + + # Get the L amplitudes in albert format + terms = [terms_r1, terms_r2] + expr = [] + output = [] + returns = [] + for n in range(2): + for index_spins in get_amplitude_spins(n + 1, spin, which="ee"): + indices = default_indices["v"][: n + 1] + default_indices["o"][: n + 1] + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + output_n = get_t_amplitude_outputs(expr_n, f"l{n+1}new", indices=indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"l{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + + (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="trav") + + # Generate the L amplitude intermediates code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_lmatvec_ee_intermediates", + returns_nr, + output_nr, + expr_nr, + **kwargs, + ) + + # Generate the L amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + preamble = "ints = kwargs[\"ints\"]" + if spin == "uhf": + preamble += "\nl1new = Namespace()\nl2new = Namespace()" + kwargs = { + "preamble": preamble, + "postamble": "l2new.baba = l2new.abab.transpose(1, 0, 3, 2)" if spin == "uhf" else None, # FIXME + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_lmatvec_ee", + returns_r, + output_r, + expr_r, + **kwargs, + ) for codegen in code_generators.values(): codegen.postamble() diff --git a/ebcc/codegen/bootstrap_common.py b/ebcc/codegen/bootstrap_common.py index 03865105..1846e09a 100644 --- a/ebcc/codegen/bootstrap_common.py +++ b/ebcc/codegen/bootstrap_common.py @@ -249,7 +249,7 @@ def remove_e0_eom(terms): r = None rest = [] for t in term[1:]: - if "r" in t: + if t.startswith("r") or t.startswith("l"): r = t elif not t.startswith("P("): rest.append(t) From e217ea3e77760c7990ca27f7251a975d973f944b Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Tue, 13 Aug 2024 21:34:25 +0100 Subject: [PATCH 079/168] Fixes for left EOM --- ebcc/codegen/bootstrap_CCSD.py | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/ebcc/codegen/bootstrap_CCSD.py b/ebcc/codegen/bootstrap_CCSD.py index 881b396f..fc8c435f 100644 --- a/ebcc/codegen/bootstrap_CCSD.py +++ b/ebcc/codegen/bootstrap_CCSD.py @@ -559,10 +559,10 @@ def tensor_cleanup(self, *args): for n in range(2): for index_spins in get_amplitude_spins(n + 1, spin, which="ip"): indices = default_indices["v"][: n] + default_indices["o"][: n + 1] - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins, l_is_lambda=False) expr_n = spin_integrate(expr_n, spin) - output_n = get_t_amplitude_outputs(expr_n, f"l{n+1}new", indices=indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"l{n+1}new"),) + output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) expr.extend(expr_n) output.extend(output_n) returns.extend(returns_n) @@ -590,7 +590,7 @@ def tensor_cleanup(self, *args): if name == "einsum": preamble = "ints = kwargs[\"ints\"]" if spin == "uhf": - preamble += "\nl1new = Namespace()\nl2new = Namespace()" + preamble += "\nr1new = Namespace()\nr2new = Namespace()" kwargs = { "preamble": preamble, "as_dict": True, @@ -636,10 +636,10 @@ def tensor_cleanup(self, *args): for n in range(2): for index_spins in get_amplitude_spins(n + 1, spin, which="ea"): indices = default_indices["o"][: n] + default_indices["v"][: n + 1] - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins, l_is_lambda=False) expr_n = spin_integrate(expr_n, spin) - output_n = get_t_amplitude_outputs(expr_n, f"l{n+1}new", indices=indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"l{n+1}new"),) + output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) expr.extend(expr_n) output.extend(output_n) returns.extend(returns_n) @@ -667,7 +667,7 @@ def tensor_cleanup(self, *args): if name == "einsum": preamble = "ints = kwargs[\"ints\"]" if spin == "uhf": - preamble += "\nl1new = Namespace()\nl2new = Namespace()" + preamble += "\nr1new = Namespace()\nr2new = Namespace()" kwargs = { "preamble": preamble, "as_dict": True, @@ -714,10 +714,10 @@ def tensor_cleanup(self, *args): for n in range(2): for index_spins in get_amplitude_spins(n + 1, spin, which="ee"): indices = default_indices["v"][: n + 1] + default_indices["o"][: n + 1] - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins, l_is_lambda=False) expr_n = spin_integrate(expr_n, spin) - output_n = get_t_amplitude_outputs(expr_n, f"l{n+1}new", indices=indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"l{n+1}new"),) + output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) expr.extend(expr_n) output.extend(output_n) returns.extend(returns_n) @@ -745,10 +745,10 @@ def tensor_cleanup(self, *args): if name == "einsum": preamble = "ints = kwargs[\"ints\"]" if spin == "uhf": - preamble += "\nl1new = Namespace()\nl2new = Namespace()" + preamble += "\nr1new = Namespace()\nr2new = Namespace()" kwargs = { "preamble": preamble, - "postamble": "l2new.baba = l2new.abab.transpose(1, 0, 3, 2)" if spin == "uhf" else None, # FIXME + "postamble": "r2new.baba = r2new.abab.transpose(1, 0, 3, 2)" if spin == "uhf" else None, # FIXME "as_dict": True, } else: From 1d8b884b3deb8cac253612691333cc6c8f7ddfb6 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Tue, 13 Aug 2024 21:40:29 +0100 Subject: [PATCH 080/168] More left EOM fixes --- ebcc/codegen/bootstrap_CCSD.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ebcc/codegen/bootstrap_CCSD.py b/ebcc/codegen/bootstrap_CCSD.py index fc8c435f..83dd1924 100644 --- a/ebcc/codegen/bootstrap_CCSD.py +++ b/ebcc/codegen/bootstrap_CCSD.py @@ -558,7 +558,7 @@ def tensor_cleanup(self, *args): returns = [] for n in range(2): for index_spins in get_amplitude_spins(n + 1, spin, which="ip"): - indices = default_indices["v"][: n] + default_indices["o"][: n + 1] + indices = default_indices["o"][: n + 1] + default_indices["v"][: n] expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins, l_is_lambda=False) expr_n = spin_integrate(expr_n, spin) output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) @@ -635,7 +635,7 @@ def tensor_cleanup(self, *args): returns = [] for n in range(2): for index_spins in get_amplitude_spins(n + 1, spin, which="ea"): - indices = default_indices["o"][: n] + default_indices["v"][: n + 1] + indices = default_indices["v"][: n + 1] + default_indices["o"][: n] expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins, l_is_lambda=False) expr_n = spin_integrate(expr_n, spin) output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) @@ -713,7 +713,7 @@ def tensor_cleanup(self, *args): returns = [] for n in range(2): for index_spins in get_amplitude_spins(n + 1, spin, which="ee"): - indices = default_indices["v"][: n + 1] + default_indices["o"][: n + 1] + indices = default_indices["o"][: n + 1] + default_indices["v"][: n + 1] expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins, l_is_lambda=False) expr_n = spin_integrate(expr_n, spin) output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) From a6bab71dcc93b1ba8c461045437f4347109cabec Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Tue, 13 Aug 2024 22:01:45 +0100 Subject: [PATCH 081/168] Fix E0 removal for left EOM --- ebcc/codegen/bootstrap_common.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ebcc/codegen/bootstrap_common.py b/ebcc/codegen/bootstrap_common.py index 1846e09a..509da34a 100644 --- a/ebcc/codegen/bootstrap_common.py +++ b/ebcc/codegen/bootstrap_common.py @@ -271,13 +271,13 @@ def remove_e0_eom(terms): # t2(a,b,i,j) r # t1(a,i) t1(b,j) r if len(term) == 3: - tensor = [t for t in term[1:] if not t.startswith("r")][0] + tensor = [t for t in term[1:] if not (t.startswith("r") or t.startswith("l"))][0] if tensor.startswith("f") and tensor[2] == tensor[4]: continue if tensor.startswith("<") and tensor[1] == tensor[6] and tensor[3] == tensor[8]: continue else: - tensors = sorted([t for t in term[1:] if not t.startswith("r")]) + tensors = sorted([t for t in term[1:] if not (t.startswith("r") or t.startswith("l"))]) if tensors[0].startswith("f") and tensors[1].startswith("t"): continue if tensors[0].startswith("<") and all(t.startswith("t") for t in tensors[1:]): From a70fad5e9a73af3cc75f41b8080e7a338a1958d0 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Tue, 13 Aug 2024 22:06:54 +0100 Subject: [PATCH 082/168] Fix operator order for left IP-EOM --- ebcc/codegen/bootstrap_CCSD.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ebcc/codegen/bootstrap_CCSD.py b/ebcc/codegen/bootstrap_CCSD.py index 83dd1924..a3c6b633 100644 --- a/ebcc/codegen/bootstrap_CCSD.py +++ b/ebcc/codegen/bootstrap_CCSD.py @@ -543,7 +543,7 @@ def tensor_cleanup(self, *args): # Get the L2 contractions in pdaggerq format pq.clear() pq.set_left_operators_type("IP") - pq.set_right_operators([["a*(a)", "a(i)", "a(j)"]]) + pq.set_right_operators([["a*(a)", "a(j)", "a(i)"]]) pq.set_left_operators([["l1"], ["l2"]]) pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) From 8fd096ece063d0350cf4600b0fae399400de3d4f Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Wed, 14 Aug 2024 21:28:27 +0100 Subject: [PATCH 083/168] Working on TDMs --- ebcc/codegen/bootstrap_CCSD.py | 66 +++++++++++++++++++++++++ ebcc/codegen/bootstrap_common.py | 85 +++++++++++++++++++++++++++++++- 2 files changed, 149 insertions(+), 2 deletions(-) diff --git a/ebcc/codegen/bootstrap_CCSD.py b/ebcc/codegen/bootstrap_CCSD.py index a3c6b633..15774d9f 100644 --- a/ebcc/codegen/bootstrap_CCSD.py +++ b/ebcc/codegen/bootstrap_CCSD.py @@ -761,6 +761,72 @@ def tensor_cleanup(self, *args): **kwargs, ) +with Stopwatch("1TDM (GS -> EE)"): + # Get the R0 contractions in pdaggerq format + pq.clear() + pq.set_left_operators_type("EE") + pq.set_left_operators([["1"]]) + pq.set_right_operators_type("EE") + pq.set_right_operators([["r1"], ["r2"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) + pq.simplify() + terms_r0 = pq.fully_contracted_strings() + terms_r0 = remove_e0_eom(terms_r0) + + # Get the R1 contractions in pdaggerq format + expr = spin_integrate(import_from_pdaggerq(terms_r0), spin) + output = returns = (Tensor(name="r0"),) + output_r0, expr_r0 = optimise(output, expr, spin, strategy="exhaust") + + # Get the 1TDM contractions in pdaggerq format + terms = {} + for sectors, indices in [("oo", "ij"), ("ov", "ia"), ("vo", "ai"), ("vv", "ab")]: + pq.clear() + pq.set_left_operators_type("EE") + pq.set_left_operators([["1"], ["l1"], ["l2"]]) + pq.set_right_operators_type("EE") + pq.set_right_operators([["r0"], ["r1"], ["r2"]]) + pq.add_st_operator(1.0, [f"e1({','.join(indices)})"], ["t1", "t2"]) + pq.simplify() + terms[sectors, indices] = pq.fully_contracted_strings() + + # Get the 1TDM in albert format + expr = [] + output = [] + returns = [] + for sectors, indices in [("oo", "ij"), ("ov", "ia"), ("vo", "ai"), ("vv", "ab")]: + for index_spins in get_density_spins(1, spin, indices): + expr_n = import_from_pdaggerq(terms[sectors, indices], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + if spin == "rhf": + expr_n = tuple(e * 2 for e in expr_n) + output_n = get_density_outputs(expr_n, f"d", indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i], space=s) for i, s in zip(indices, sectors)), name=f"d"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + output, expr = optimise_trans_dm(output, expr, spin, strategy="exhaust") + output = output_r0 + output + expr = expr_r0 + expr + + # Generate the 1TDM code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "preamble": get_density_einsum_preamble(1, spin), + "postamble": get_density_einsum_postamble(1, spin), + } + else: + kwargs = {} + codegen( + "make_trans_gs_to_ee_rdm1_f", + returns, + output, + expr, + **kwargs, + ) + for codegen in code_generators.values(): codegen.postamble() codegen.stdout.close() diff --git a/ebcc/codegen/bootstrap_common.py b/ebcc/codegen/bootstrap_common.py index 509da34a..7cd57632 100644 --- a/ebcc/codegen/bootstrap_common.py +++ b/ebcc/codegen/bootstrap_common.py @@ -10,8 +10,9 @@ from albert.optim._gristmill import optimise as _optimise from albert.qc.spin import generalised_to_restricted, generalised_to_unrestricted from albert.qc.index import Index -from albert.qc.rhf import ERI as RERI, CDERI as RCDERI -from albert.qc.uhf import ERI as UERI, CDERI as UCDERI +from albert.qc.rhf import ERI as RERI, CDERI as RCDERI, R0 as RR0, L0 as RL0 +from albert.qc.uhf import ERI as UERI, CDERI as UCDERI, R0 as UR0, L0 as UL0 +from albert.qc.ghf import R0 as GR0, L0 as GL0 from albert.qc._pdaggerq import import_from_pdaggerq from albert.tensor import Tensor from albert.symmetry import Symmetry, Permutation @@ -40,6 +41,7 @@ default_indices = { + "1": ["1"], "o": OCC_INDICES, "v": VIRT_INDICES, "O": [i.upper() for i in OCC_INDICES], @@ -54,6 +56,7 @@ default_sizes = { + "1": 1, "o": 200, "v": 1000, "O": 8, @@ -721,3 +724,81 @@ def optimise_eom(returns, output, expr, spin, strategy="exhaust"): expr_r = new_expr_r return (returns_nr, output_nr, expr_nr), (returns, output_r, expr_r) + + +def optimise_trans_dm(output, expr, spin, strategy="exhaust"): + """Optimise TDM expressions into intermediates and final output.""" + # Split the expressions into those that depend on R0 or L0 and those that don't + output_r0 = [] + expr_r0 = [] + output_l0 = [] + expr_l0 = [] + output_r0_l0 = [] + expr_r0_l0 = [] + output_rest = [] + expr_rest = [] + for o, e in zip(output, expr): + for args in e.nested_view(): + depends_on_r0 = False + depends_on_l0 = False + mul_args = [] + for i, a in enumerate(args): + if isinstance(a, Tensor) and a.name.startswith("r0"): + depends_on_r0 = True + if isinstance(a, Tensor) and a.name.startswith("l0"): + depends_on_l0 = True + mul_args.append(a) + if depends_on_r0 and depends_on_l0: + output_r0_l0.append(o) + expr_r0_l0.append(Mul(*mul_args)) + elif depends_on_r0: + output_r0.append(o) + expr_r0.append(Mul(*mul_args)) + elif depends_on_l0: + output_l0.append(o) + expr_l0.append(Mul(*mul_args)) + else: + output_rest.append(o) + expr_rest.append(Mul(*mul_args)) + + # Store the original outputs + original_output_r0 = set(o.name for o in output_r0) + original_output_l0 = set(o.name for o in output_l0) + original_output_r0_l0 = set(o.name for o in output_r0_l0) + + # Optimise the expressions + if output_r0: + output_r0, expr_r0 = optimise(output_r0, expr_r0, spin, strategy=strategy) + if output_l0: + output_l0, expr_l0 = optimise(output_l0, expr_l0, spin, strategy=strategy) + if output_r0_l0: + output_r0_l0, expr_r0_l0 = optimise(output_r0_l0, expr_r0_l0, spin, strategy=strategy) + if output_rest: + output_rest, expr_rest = optimise(output_rest, expr_rest, spin, strategy=strategy) + + # Add the factors back in + new_expr_r0 = [] + for i, (o, e) in enumerate(zip(output_r0, expr_r0)): + if o.name in original_output_r0: + e = e * {"rhf": RR0, "uhf": UR0, "ghf": GR0}[spin][tuple()] + new_expr_r0.append(e) + expr_r0 = new_expr_r0 + new_expr_l0 = [] + for i, (o, e) in enumerate(zip(output_l0, expr_l0)): + if o.name in original_output_l0: + e = e * {"rhf": RL0, "uhf": UL0, "ghf": GL0}[spin][tuple()] + new_expr_l0.append(e) + expr_l0 = new_expr_l0 + new_expr_r0_l0 = [] + for i, (o, e) in enumerate(zip(output_r0_l0, expr_r0_l0)): + if o.name in original_output_r0_l0: + e = e * {"rhf": RR0, "uhf": UR0, "ghf": GR0}[spin][tuple()] + e = e * {"rhf": RL0, "uhf": UL0, "ghf": GL0}[spin][tuple()] + new_expr_r0_l0.append(e) + expr_r0_l0 = new_expr_r0_l0 + + # Combine the results + output = tuple(output_rest) + tuple(output_r0) + tuple(output_l0) + tuple(output_r0_l0) + expr = tuple(expr_rest) + tuple(expr_r0) + tuple(expr_l0) + tuple(expr_r0_l0) + + return output, expr From d82a89b0d5052141583c1354f5a8992ab84c5103 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Wed, 14 Aug 2024 22:44:32 +0100 Subject: [PATCH 084/168] Trying to fix TRDMs --- ebcc/codegen/bootstrap_CCSD.py | 1455 +++++++++++++++--------------- ebcc/codegen/bootstrap_common.py | 11 +- 2 files changed, 734 insertions(+), 732 deletions(-) diff --git a/ebcc/codegen/bootstrap_CCSD.py b/ebcc/codegen/bootstrap_CCSD.py index 15774d9f..2ad08672 100644 --- a/ebcc/codegen/bootstrap_CCSD.py +++ b/ebcc/codegen/bootstrap_CCSD.py @@ -35,731 +35,731 @@ def tensor_cleanup(self, *args): pq = pdaggerq.pq_helper("fermi") pq.set_print_level(0) -with Stopwatch("Energy"): - # Get the energy contractions in pdaggerq format - pq.clear() - pq.set_left_operators([["1"]]) - pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) - pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) - pq.simplify() - terms = pq.fully_contracted_strings() - terms = remove_hf_energy(terms) - - # Get the energy in albert format - expr = import_from_pdaggerq(terms) - expr = spin_integrate(expr, spin) - output = tuple(Tensor(name="e_cc") for _ in range(len(expr))) - output, expr = optimise(output, expr, spin, strategy="exhaust") - returns = (Tensor(name="e_cc"),) - - # Generate the energy code - for codegen in code_generators.values(): - codegen( - "energy", - returns, - output, - expr, - ) - -with Stopwatch("T amplitudes"): - # Get the T1 contractions in pdaggerq format - pq.clear() - pq.set_left_operators([["e1(i,a)"]]) - pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) - pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) - pq.simplify() - terms_t1 = pq.fully_contracted_strings() - - # Get the T2 contractions in pdaggerq format - pq.clear() - pq.set_left_operators([["e2(i,j,b,a)"]]) - pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) - pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) - pq.simplify() - terms_t2 = pq.fully_contracted_strings() - - # Get the T amplitudes in albert format - terms = [terms_t1, terms_t2] - expr = [] - output = [] - returns = [] - for n in range(2): - for index_spins in get_amplitude_spins(n + 1, spin): - indices = default_indices["o"][: n + 1] + default_indices["v"][: n + 1] - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) - expr_n = spin_integrate(expr_n, spin) - output_n = get_t_amplitude_outputs(expr_n, f"t{n+1}new") - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"t{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - output, expr = optimise(output, expr, spin, strategy="exhaust") - - # Generate the T amplitude code - for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "preamble": "t1new = Namespace()\nt2new = Namespace()" if spin == "uhf" else None, - "as_dict": True, - } - else: - kwargs = {} - codegen( - "update_amps", - returns, - output, - expr, - **kwargs, - ) - -with Stopwatch("L amplitudes"): - # Get the L1 contractions in pdaggerq format - pq.clear() - pq.set_left_operators([["1"]]) - pq.set_right_operators([["1"]]) - pq.add_st_operator(1.0, ["f", "e1(a,i)"], ["t1", "t2"]) - pq.add_st_operator(1.0, ["v", "e1(a,i)"], ["t1", "t2"]) - pq.set_left_operators([["l1"], ["l2"]]) - pq.add_st_operator(1.0, ["f", "e1(a,i)"], ["t1", "t2"]) - pq.add_st_operator(1.0, ["v", "e1(a,i)"], ["t1", "t2"]) - pq.add_st_operator(-1.0, ["e1(a,i)", "f"], ["t1", "t2"]) - pq.add_st_operator(-1.0, ["e1(a,i)", "v"], ["t1", "t2"]) - pq.simplify() - terms_l1 = pq.fully_contracted_strings() - - # Get the L2 contractions in pdaggerq format - pq.clear() - pq.set_left_operators([["1"]]) - pq.set_right_operators([["1"]]) - pq.add_st_operator(1.0, ["f", "e2(a,b,j,i)"], ["t1", "t2"]) - pq.add_st_operator(1.0, ["v", "e2(a,b,j,i)"], ["t1", "t2"]) - pq.set_left_operators([["l1"], ["l2"]]) - pq.add_st_operator(1.0, ["f", "e2(a,b,j,i)"], ["t1", "t2"]) - pq.add_st_operator(1.0, ["v", "e2(a,b,j,i)"], ["t1", "t2"]) - pq.add_st_operator(-1.0, ["e2(a,b,j,i)", "f"], ["t1", "t2"]) - pq.add_st_operator(-1.0, ["e2(a,b,j,i)", "v"], ["t1", "t2"]) - pq.simplify() - terms_l2 = pq.fully_contracted_strings() - - # Get the L amplitudes in albert format - terms = [terms_l1, terms_l2] - expr = [] - output = [] - returns = [] - for n in range(2): - for index_spins in get_amplitude_spins(n + 1, spin): - indices = default_indices["v"][: n + 1] + default_indices["o"][: n + 1] - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) - expr_n = spin_integrate(expr_n, spin) - output_n = get_l_amplitude_outputs(expr_n, f"l{n+1}new") - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"l{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - output, expr = optimise(output, expr, spin, strategy="opt") - - # Generate the L amplitude code - for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "preamble": "l1new = Namespace()\nl2new = Namespace()" if spin == "uhf" else None, - "as_dict": True, - } - else: - kwargs = {} - codegen( - "update_lams", - returns, - output, - expr, - **kwargs, - ) - -with Stopwatch("1RDM"): - # Get the 1RDM contractions in pdaggerq format - terms = {} - for sectors, indices in [("oo", "ij"), ("ov", "ia"), ("vo", "ai"), ("vv", "ab")]: - pq.clear() - pq.set_left_operators([["1"], ["l1"], ["l2"]]) - pq.add_st_operator(1.0, [f"e1({','.join(indices)})"], ["t1", "t2"]) - pq.simplify() - terms[sectors, indices] = pq.fully_contracted_strings() - - # Get the 1RDM in albert format - expr = [] - output = [] - returns = [] - for sectors, indices in [("oo", "ij"), ("ov", "ia"), ("vo", "ai"), ("vv", "ab")]: - for index_spins in get_density_spins(1, spin, indices): - expr_n = import_from_pdaggerq(terms[sectors, indices], index_spins=index_spins) - expr_n = spin_integrate(expr_n, spin) - if spin == "rhf": - expr_n = tuple(e * 2 for e in expr_n) - output_n = get_density_outputs(expr_n, f"d", indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i], space=s) for i, s in zip(indices, sectors)), name=f"d"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - output, expr = optimise(output, expr, spin, strategy="exhaust") - - # Generate the 1RDM code - for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "preamble": get_density_einsum_preamble(1, spin), - "postamble": get_density_einsum_postamble(1, spin), - } - else: - kwargs = {} - codegen( - "make_rdm1_f", - returns, - output, - expr, - **kwargs, - ) - -with Stopwatch("2RDM"): - # Get the 2RDM contractions in pdaggerq format - terms = {} - for sectors, indices in [ - ("oooo", "ijkl"), - ("ooov", "ijka"), - ("oovo", "ijak"), - ("ovoo", "iajk"), - ("vooo", "aijk"), - ("oovv", "ijab"), - ("ovov", "iajb"), - ("ovvo", "iabj"), - ("voov", "aijb"), - ("vovo", "aibj"), - ("vvoo", "abij"), - ("ovvv", "iabc"), - ("vovv", "aibc"), - ("vvov", "abic"), - ("vvvo", "abci"), - ("vvvv", "abcd"), - ]: - pq.clear() - pq.set_left_operators([["1"], ["l1"], ["l2"]]) - pq.add_st_operator( - 1.0, [f"e2({indices[0]},{indices[1]},{indices[3]},{indices[2]})"], ["t1", "t2"] - ) - pq.simplify() - terms[sectors, indices] = pq.fully_contracted_strings() - - # Get the 2RDM in albert format - expr = [] - output = [] - returns = [] - for sectors, indices in [ - ("oooo", "ijkl"), - ("ooov", "ijka"), - ("oovo", "ijak"), - ("ovoo", "iajk"), - ("vooo", "aijk"), - ("oovv", "ijab"), - ("ovov", "iajb"), - ("ovvo", "iabj"), - ("voov", "aijb"), - ("vovo", "aibj"), - ("vvoo", "abij"), - ("ovvv", "iabc"), - ("vovv", "aibc"), - ("vvov", "abic"), - ("vvvo", "abci"), - ("vvvv", "abcd"), - ]: - for index_spins in get_density_spins(2, spin, indices): - expr_n = import_from_pdaggerq(terms[sectors, indices], index_spins=index_spins) - expr_n = spin_integrate(expr_n, spin) - output_n = get_density_outputs(expr_n, f"Γ", indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i], space=s) for i, s in zip(indices, sectors)), name=f"Γ"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - output, expr = optimise(output, expr, spin, strategy="trav") - - # Generate the 2RDM code - for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "preamble": get_density_einsum_preamble(2, spin), - "postamble": get_density_einsum_postamble(2, spin), - } - codegen( - "make_rdm2_f", - returns, - output, - expr, - **kwargs, - ) - -with Stopwatch("IP-EOM"): - # Get the R1 contractions in pdaggerq format - pq.clear() - pq.set_right_operators_type("IP") - pq.set_left_operators([["a*(i)"]]) - pq.set_right_operators([["r1"], ["r2"]]) - pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) - pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) - pq.simplify() - terms_r1 = pq.fully_contracted_strings() - terms_r1 = remove_e0_eom(terms_r1) - - # Get the R2 contractions in pdaggerq format - pq.clear() - pq.set_right_operators_type("IP") - pq.set_left_operators([["a*(i)", "a*(j)", "a(a)"]]) - pq.set_right_operators([["r1"], ["r2"]]) - pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) - pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) - pq.simplify() - terms_r2 = pq.fully_contracted_strings() - terms_r2 = remove_e0_eom(terms_r2) - - # Get the R amplitudes in albert format - terms = [terms_r1, terms_r2] - expr = [] - output = [] - returns = [] - for n in range(2): - for index_spins in get_amplitude_spins(n + 1, spin, which="ip"): - indices = default_indices["o"][: n + 1] + default_indices["v"][: n] - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) - expr_n = spin_integrate(expr_n, spin) - output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - - (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="exhaust") - - # Generate the R amplitude intermediates code - for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "as_dict": True, - } - else: - kwargs = {} - codegen( - "hbar_matvec_ip_intermediates", - returns_nr, - output_nr, - expr_nr, - **kwargs, - ) - - # Generate the R amplitude code - for name, codegen in code_generators.items(): - if name == "einsum": - preamble = "ints = kwargs[\"ints\"]" - if spin == "uhf": - preamble += "\nr1new = Namespace()\nr2new = Namespace()" - kwargs = { - "preamble": preamble, - "as_dict": True, - } - else: - kwargs = {} - codegen( - "hbar_matvec_ip", - returns_r, - output_r, - expr_r, - **kwargs, - ) - -with Stopwatch("EA-EOM"): - # Get the R1 contractions in pdaggerq format - pq.clear() - pq.set_right_operators_type("EA") - pq.set_left_operators([["a(a)"]]) - pq.set_right_operators([["r1"], ["r2"]]) - pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) - pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) - pq.simplify() - terms_r1 = pq.fully_contracted_strings() - terms_r1 = remove_e0_eom(terms_r1) - - # Get the R2 contractions in pdaggerq format - pq.clear() - pq.set_right_operators_type("EA") - pq.set_left_operators([["a*(i)", "a(b)", "a(a)"]]) - pq.set_right_operators([["r1"], ["r2"]]) - pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) - pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) - pq.simplify() - terms_r2 = pq.fully_contracted_strings() - terms_r2 = remove_e0_eom(terms_r2) - - # Get the R amplitudes in albert format - terms = [terms_r1, terms_r2] - expr = [] - output = [] - returns = [] - for n in range(2): - for index_spins in get_amplitude_spins(n + 1, spin, which="ea"): - indices = default_indices["v"][: n + 1] + default_indices["o"][: n] - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) - expr_n = spin_integrate(expr_n, spin) - output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - - (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="exhaust") - - # Generate the R amplitude intermediates code - for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "as_dict": True, - } - else: - kwargs = {} - codegen( - "hbar_matvec_ea_intermediates", - returns_nr, - output_nr, - expr_nr, - **kwargs, - ) - - # Generate the R amplitude code - for name, codegen in code_generators.items(): - if name == "einsum": - preamble = "ints = kwargs[\"ints\"]" - if spin == "uhf": - preamble += "\nr1new = Namespace()\nr2new = Namespace()" - kwargs = { - "preamble": preamble, - "as_dict": True, - } - else: - kwargs = {} - codegen( - "hbar_matvec_ea", - returns_r, - output_r, - expr_r, - **kwargs, - ) - -if spin != "rhf": # FIXME - with Stopwatch("EE-EOM"): - # Get the R1 contractions in pdaggerq format - pq.clear() - pq.set_right_operators_type("EE") - pq.set_left_operators([["e1(i,a)"]]) - pq.set_right_operators([["r1"], ["r2"]]) - pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) - pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) - pq.simplify() - terms_r1 = pq.fully_contracted_strings() - terms_r1 = remove_e0_eom(terms_r1) - - # Get the R2 contractions in pdaggerq format - pq.clear() - pq.set_right_operators_type("EE") - pq.set_left_operators([["e2(i,j,b,a)"]]) - pq.set_right_operators([["r1"], ["r2"]]) - pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) - pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) - pq.simplify() - terms_r2 = pq.fully_contracted_strings() - terms_r2 = remove_e0_eom(terms_r2) - - # Get the R amplitudes in albert format - terms = [terms_r1, terms_r2] - expr = [] - output = [] - returns = [] - for n in range(2): - for index_spins in get_amplitude_spins(n + 1, spin, which="ee"): - indices = default_indices["o"][: n + 1] + default_indices["v"][: n + 1] - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) - expr_n = spin_integrate(expr_n, spin) - output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - - (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="trav") - - # Generate the R amplitude intermediates code - for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "as_dict": True, - } - else: - kwargs = {} - codegen( - "hbar_matvec_ee_intermediates", - returns_nr, - output_nr, - expr_nr, - **kwargs, - ) - - # Generate the R amplitude code - for name, codegen in code_generators.items(): - if name == "einsum": - preamble = "ints = kwargs[\"ints\"]" - if spin == "uhf": - preamble += "\nr1new = Namespace()\nr2new = Namespace()" - kwargs = { - "preamble": preamble, - "postamble": "r2new.baba = r2new.abab.transpose(1, 0, 3, 2)" if spin == "uhf" else None, # FIXME - "as_dict": True, - } - else: - kwargs = {} - codegen( - "hbar_matvec_ee", - returns_r, - output_r, - expr_r, - **kwargs, - ) - -with Stopwatch("L-IP-EOM"): - # Get the L1 contractions in pdaggerq format - pq.clear() - pq.set_left_operators_type("IP") - pq.set_left_operators([["l1"], ["l2"]]) - pq.set_right_operators([["a(i)"]]) - pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) - pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) - pq.simplify() - terms_r1 = pq.fully_contracted_strings() - terms_r1 = remove_e0_eom(terms_r1) - - # Get the L2 contractions in pdaggerq format - pq.clear() - pq.set_left_operators_type("IP") - pq.set_right_operators([["a*(a)", "a(j)", "a(i)"]]) - pq.set_left_operators([["l1"], ["l2"]]) - pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) - pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) - pq.simplify() - terms_r2 = pq.fully_contracted_strings() - terms_r2 = remove_e0_eom(terms_r2) - - # Get the L amplitudes in albert format - terms = [terms_r1, terms_r2] - expr = [] - output = [] - returns = [] - for n in range(2): - for index_spins in get_amplitude_spins(n + 1, spin, which="ip"): - indices = default_indices["o"][: n + 1] + default_indices["v"][: n] - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins, l_is_lambda=False) - expr_n = spin_integrate(expr_n, spin) - output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - - (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="exhaust") - - # Generate the L amplitude intermediates code - for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "as_dict": True, - } - else: - kwargs = {} - codegen( - "hbar_lmatvec_ip_intermediates", - returns_nr, - output_nr, - expr_nr, - **kwargs, - ) - - # Generate the L amplitude code - for name, codegen in code_generators.items(): - if name == "einsum": - preamble = "ints = kwargs[\"ints\"]" - if spin == "uhf": - preamble += "\nr1new = Namespace()\nr2new = Namespace()" - kwargs = { - "preamble": preamble, - "as_dict": True, - } - else: - kwargs = {} - codegen( - "hbar_lmatvec_ip", - returns_r, - output_r, - expr_r, - **kwargs, - ) - -with Stopwatch("L-EA-EOM"): - # Get the L1 contractions in pdaggerq format - pq.clear() - pq.set_left_operators_type("EA") - pq.set_left_operators([["l1"], ["l2"]]) - pq.set_right_operators([["a*(a)"]]) - pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) - pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) - pq.simplify() - terms_r1 = pq.fully_contracted_strings() - terms_r1 = remove_e0_eom(terms_r1) - - # Get the L2 contractions in pdaggerq format - pq.clear() - pq.set_left_operators_type("EA") - pq.set_right_operators([["a*(a)", "a*(b)", "a(i)"]]) - pq.set_left_operators([["l1"], ["l2"]]) - pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) - pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) - pq.simplify() - terms_r2 = pq.fully_contracted_strings() - terms_r2 = remove_e0_eom(terms_r2) - - # Get the L amplitudes in albert format - terms = [terms_r1, terms_r2] - expr = [] - output = [] - returns = [] - for n in range(2): - for index_spins in get_amplitude_spins(n + 1, spin, which="ea"): - indices = default_indices["v"][: n + 1] + default_indices["o"][: n] - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins, l_is_lambda=False) - expr_n = spin_integrate(expr_n, spin) - output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - - (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="exhaust") - - # Generate the L amplitude intermediates code - for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "as_dict": True, - } - else: - kwargs = {} - codegen( - "hbar_lmatvec_ea_intermediates", - returns_nr, - output_nr, - expr_nr, - **kwargs, - ) - - # Generate the L amplitude code - for name, codegen in code_generators.items(): - if name == "einsum": - preamble = "ints = kwargs[\"ints\"]" - if spin == "uhf": - preamble += "\nr1new = Namespace()\nr2new = Namespace()" - kwargs = { - "preamble": preamble, - "as_dict": True, - } - else: - kwargs = {} - codegen( - "hbar_lmatvec_ea", - returns_r, - output_r, - expr_r, - **kwargs, - ) - -if spin != "rhf": # FIXME - with Stopwatch("L-EE-EOM"): - # Get the L1 contractions in pdaggerq format - pq.clear() - pq.set_left_operators_type("EE") - pq.set_left_operators([["l1"], ["l2"]]) - pq.set_right_operators([["e1(a,i)"]]) - pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) - pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) - pq.simplify() - terms_r1 = pq.fully_contracted_strings() - terms_r1 = remove_e0_eom(terms_r1) - - # Get the L2 contractions in pdaggerq format - pq.clear() - pq.set_left_operators_type("EE") - pq.set_left_operators([["l1"], ["l2"]]) - pq.set_right_operators([["e2(a,b,j,i)"]]) - pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) - pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) - pq.simplify() - terms_r2 = pq.fully_contracted_strings() - terms_r2 = remove_e0_eom(terms_r2) - - # Get the L amplitudes in albert format - terms = [terms_r1, terms_r2] - expr = [] - output = [] - returns = [] - for n in range(2): - for index_spins in get_amplitude_spins(n + 1, spin, which="ee"): - indices = default_indices["o"][: n + 1] + default_indices["v"][: n + 1] - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins, l_is_lambda=False) - expr_n = spin_integrate(expr_n, spin) - output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - - (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="trav") - - # Generate the L amplitude intermediates code - for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "as_dict": True, - } - else: - kwargs = {} - codegen( - "hbar_lmatvec_ee_intermediates", - returns_nr, - output_nr, - expr_nr, - **kwargs, - ) - - # Generate the L amplitude code - for name, codegen in code_generators.items(): - if name == "einsum": - preamble = "ints = kwargs[\"ints\"]" - if spin == "uhf": - preamble += "\nr1new = Namespace()\nr2new = Namespace()" - kwargs = { - "preamble": preamble, - "postamble": "r2new.baba = r2new.abab.transpose(1, 0, 3, 2)" if spin == "uhf" else None, # FIXME - "as_dict": True, - } - else: - kwargs = {} - codegen( - "hbar_lmatvec_ee", - returns_r, - output_r, - expr_r, - **kwargs, - ) +#with Stopwatch("Energy"): +# # Get the energy contractions in pdaggerq format +# pq.clear() +# pq.set_left_operators([["1"]]) +# pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) +# pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) +# pq.simplify() +# terms = pq.fully_contracted_strings() +# terms = remove_hf_energy(terms) +# +# # Get the energy in albert format +# expr = import_from_pdaggerq(terms) +# expr = spin_integrate(expr, spin) +# output = tuple(Tensor(name="e_cc") for _ in range(len(expr))) +# output, expr = optimise(output, expr, spin, strategy="exhaust") +# returns = (Tensor(name="e_cc"),) +# +# # Generate the energy code +# for codegen in code_generators.values(): +# codegen( +# "energy", +# returns, +# output, +# expr, +# ) +# +#with Stopwatch("T amplitudes"): +# # Get the T1 contractions in pdaggerq format +# pq.clear() +# pq.set_left_operators([["e1(i,a)"]]) +# pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) +# pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) +# pq.simplify() +# terms_t1 = pq.fully_contracted_strings() +# +# # Get the T2 contractions in pdaggerq format +# pq.clear() +# pq.set_left_operators([["e2(i,j,b,a)"]]) +# pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) +# pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) +# pq.simplify() +# terms_t2 = pq.fully_contracted_strings() +# +# # Get the T amplitudes in albert format +# terms = [terms_t1, terms_t2] +# expr = [] +# output = [] +# returns = [] +# for n in range(2): +# for index_spins in get_amplitude_spins(n + 1, spin): +# indices = default_indices["o"][: n + 1] + default_indices["v"][: n + 1] +# expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) +# expr_n = spin_integrate(expr_n, spin) +# output_n = get_t_amplitude_outputs(expr_n, f"t{n+1}new") +# returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"t{n+1}new"),) +# expr.extend(expr_n) +# output.extend(output_n) +# returns.extend(returns_n) +# output, expr = optimise(output, expr, spin, strategy="exhaust") +# +# # Generate the T amplitude code +# for name, codegen in code_generators.items(): +# if name == "einsum": +# kwargs = { +# "preamble": "t1new = Namespace()\nt2new = Namespace()" if spin == "uhf" else None, +# "as_dict": True, +# } +# else: +# kwargs = {} +# codegen( +# "update_amps", +# returns, +# output, +# expr, +# **kwargs, +# ) +# +#with Stopwatch("L amplitudes"): +# # Get the L1 contractions in pdaggerq format +# pq.clear() +# pq.set_left_operators([["1"]]) +# pq.set_right_operators([["1"]]) +# pq.add_st_operator(1.0, ["f", "e1(a,i)"], ["t1", "t2"]) +# pq.add_st_operator(1.0, ["v", "e1(a,i)"], ["t1", "t2"]) +# pq.set_left_operators([["l1"], ["l2"]]) +# pq.add_st_operator(1.0, ["f", "e1(a,i)"], ["t1", "t2"]) +# pq.add_st_operator(1.0, ["v", "e1(a,i)"], ["t1", "t2"]) +# pq.add_st_operator(-1.0, ["e1(a,i)", "f"], ["t1", "t2"]) +# pq.add_st_operator(-1.0, ["e1(a,i)", "v"], ["t1", "t2"]) +# pq.simplify() +# terms_l1 = pq.fully_contracted_strings() +# +# # Get the L2 contractions in pdaggerq format +# pq.clear() +# pq.set_left_operators([["1"]]) +# pq.set_right_operators([["1"]]) +# pq.add_st_operator(1.0, ["f", "e2(a,b,j,i)"], ["t1", "t2"]) +# pq.add_st_operator(1.0, ["v", "e2(a,b,j,i)"], ["t1", "t2"]) +# pq.set_left_operators([["l1"], ["l2"]]) +# pq.add_st_operator(1.0, ["f", "e2(a,b,j,i)"], ["t1", "t2"]) +# pq.add_st_operator(1.0, ["v", "e2(a,b,j,i)"], ["t1", "t2"]) +# pq.add_st_operator(-1.0, ["e2(a,b,j,i)", "f"], ["t1", "t2"]) +# pq.add_st_operator(-1.0, ["e2(a,b,j,i)", "v"], ["t1", "t2"]) +# pq.simplify() +# terms_l2 = pq.fully_contracted_strings() +# +# # Get the L amplitudes in albert format +# terms = [terms_l1, terms_l2] +# expr = [] +# output = [] +# returns = [] +# for n in range(2): +# for index_spins in get_amplitude_spins(n + 1, spin): +# indices = default_indices["v"][: n + 1] + default_indices["o"][: n + 1] +# expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) +# expr_n = spin_integrate(expr_n, spin) +# output_n = get_l_amplitude_outputs(expr_n, f"l{n+1}new") +# returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"l{n+1}new"),) +# expr.extend(expr_n) +# output.extend(output_n) +# returns.extend(returns_n) +# output, expr = optimise(output, expr, spin, strategy="opt") +# +# # Generate the L amplitude code +# for name, codegen in code_generators.items(): +# if name == "einsum": +# kwargs = { +# "preamble": "l1new = Namespace()\nl2new = Namespace()" if spin == "uhf" else None, +# "as_dict": True, +# } +# else: +# kwargs = {} +# codegen( +# "update_lams", +# returns, +# output, +# expr, +# **kwargs, +# ) +# +#with Stopwatch("1RDM"): +# # Get the 1RDM contractions in pdaggerq format +# terms = {} +# for sectors, indices in [("oo", "ij"), ("ov", "ia"), ("vo", "ai"), ("vv", "ab")]: +# pq.clear() +# pq.set_left_operators([["1"], ["l1"], ["l2"]]) +# pq.add_st_operator(1.0, [f"e1({','.join(indices)})"], ["t1", "t2"]) +# pq.simplify() +# terms[sectors, indices] = pq.fully_contracted_strings() +# +# # Get the 1RDM in albert format +# expr = [] +# output = [] +# returns = [] +# for sectors, indices in [("oo", "ij"), ("ov", "ia"), ("vo", "ai"), ("vv", "ab")]: +# for index_spins in get_density_spins(1, spin, indices): +# expr_n = import_from_pdaggerq(terms[sectors, indices], index_spins=index_spins) +# expr_n = spin_integrate(expr_n, spin) +# if spin == "rhf": +# expr_n = tuple(e * 2 for e in expr_n) +# output_n = get_density_outputs(expr_n, f"d", indices) +# returns_n = (Tensor(*tuple(Index(i, index_spins[i], space=s) for i, s in zip(indices, sectors)), name=f"d"),) +# expr.extend(expr_n) +# output.extend(output_n) +# returns.extend(returns_n) +# output, expr = optimise(output, expr, spin, strategy="exhaust") +# +# # Generate the 1RDM code +# for name, codegen in code_generators.items(): +# if name == "einsum": +# kwargs = { +# "preamble": get_density_einsum_preamble(1, spin), +# "postamble": get_density_einsum_postamble(1, spin), +# } +# else: +# kwargs = {} +# codegen( +# "make_rdm1_f", +# returns, +# output, +# expr, +# **kwargs, +# ) +# +#with Stopwatch("2RDM"): +# # Get the 2RDM contractions in pdaggerq format +# terms = {} +# for sectors, indices in [ +# ("oooo", "ijkl"), +# ("ooov", "ijka"), +# ("oovo", "ijak"), +# ("ovoo", "iajk"), +# ("vooo", "aijk"), +# ("oovv", "ijab"), +# ("ovov", "iajb"), +# ("ovvo", "iabj"), +# ("voov", "aijb"), +# ("vovo", "aibj"), +# ("vvoo", "abij"), +# ("ovvv", "iabc"), +# ("vovv", "aibc"), +# ("vvov", "abic"), +# ("vvvo", "abci"), +# ("vvvv", "abcd"), +# ]: +# pq.clear() +# pq.set_left_operators([["1"], ["l1"], ["l2"]]) +# pq.add_st_operator( +# 1.0, [f"e2({indices[0]},{indices[1]},{indices[3]},{indices[2]})"], ["t1", "t2"] +# ) +# pq.simplify() +# terms[sectors, indices] = pq.fully_contracted_strings() +# +# # Get the 2RDM in albert format +# expr = [] +# output = [] +# returns = [] +# for sectors, indices in [ +# ("oooo", "ijkl"), +# ("ooov", "ijka"), +# ("oovo", "ijak"), +# ("ovoo", "iajk"), +# ("vooo", "aijk"), +# ("oovv", "ijab"), +# ("ovov", "iajb"), +# ("ovvo", "iabj"), +# ("voov", "aijb"), +# ("vovo", "aibj"), +# ("vvoo", "abij"), +# ("ovvv", "iabc"), +# ("vovv", "aibc"), +# ("vvov", "abic"), +# ("vvvo", "abci"), +# ("vvvv", "abcd"), +# ]: +# for index_spins in get_density_spins(2, spin, indices): +# expr_n = import_from_pdaggerq(terms[sectors, indices], index_spins=index_spins) +# expr_n = spin_integrate(expr_n, spin) +# output_n = get_density_outputs(expr_n, f"Γ", indices) +# returns_n = (Tensor(*tuple(Index(i, index_spins[i], space=s) for i, s in zip(indices, sectors)), name=f"Γ"),) +# expr.extend(expr_n) +# output.extend(output_n) +# returns.extend(returns_n) +# output, expr = optimise(output, expr, spin, strategy="trav") +# +# # Generate the 2RDM code +# for name, codegen in code_generators.items(): +# if name == "einsum": +# kwargs = { +# "preamble": get_density_einsum_preamble(2, spin), +# "postamble": get_density_einsum_postamble(2, spin), +# } +# codegen( +# "make_rdm2_f", +# returns, +# output, +# expr, +# **kwargs, +# ) +# +#with Stopwatch("IP-EOM"): +# # Get the R1 contractions in pdaggerq format +# pq.clear() +# pq.set_right_operators_type("IP") +# pq.set_left_operators([["a*(i)"]]) +# pq.set_right_operators([["r1"], ["r2"]]) +# pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) +# pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) +# pq.simplify() +# terms_r1 = pq.fully_contracted_strings() +# terms_r1 = remove_e0_eom(terms_r1) +# +# # Get the R2 contractions in pdaggerq format +# pq.clear() +# pq.set_right_operators_type("IP") +# pq.set_left_operators([["a*(i)", "a*(j)", "a(a)"]]) +# pq.set_right_operators([["r1"], ["r2"]]) +# pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) +# pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) +# pq.simplify() +# terms_r2 = pq.fully_contracted_strings() +# terms_r2 = remove_e0_eom(terms_r2) +# +# # Get the R amplitudes in albert format +# terms = [terms_r1, terms_r2] +# expr = [] +# output = [] +# returns = [] +# for n in range(2): +# for index_spins in get_amplitude_spins(n + 1, spin, which="ip"): +# indices = default_indices["o"][: n + 1] + default_indices["v"][: n] +# expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) +# expr_n = spin_integrate(expr_n, spin) +# output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) +# returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) +# expr.extend(expr_n) +# output.extend(output_n) +# returns.extend(returns_n) +# +# (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="exhaust") +# +# # Generate the R amplitude intermediates code +# for name, codegen in code_generators.items(): +# if name == "einsum": +# kwargs = { +# "as_dict": True, +# } +# else: +# kwargs = {} +# codegen( +# "hbar_matvec_ip_intermediates", +# returns_nr, +# output_nr, +# expr_nr, +# **kwargs, +# ) +# +# # Generate the R amplitude code +# for name, codegen in code_generators.items(): +# if name == "einsum": +# preamble = "ints = kwargs[\"ints\"]" +# if spin == "uhf": +# preamble += "\nr1new = Namespace()\nr2new = Namespace()" +# kwargs = { +# "preamble": preamble, +# "as_dict": True, +# } +# else: +# kwargs = {} +# codegen( +# "hbar_matvec_ip", +# returns_r, +# output_r, +# expr_r, +# **kwargs, +# ) +# +#with Stopwatch("EA-EOM"): +# # Get the R1 contractions in pdaggerq format +# pq.clear() +# pq.set_right_operators_type("EA") +# pq.set_left_operators([["a(a)"]]) +# pq.set_right_operators([["r1"], ["r2"]]) +# pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) +# pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) +# pq.simplify() +# terms_r1 = pq.fully_contracted_strings() +# terms_r1 = remove_e0_eom(terms_r1) +# +# # Get the R2 contractions in pdaggerq format +# pq.clear() +# pq.set_right_operators_type("EA") +# pq.set_left_operators([["a*(i)", "a(b)", "a(a)"]]) +# pq.set_right_operators([["r1"], ["r2"]]) +# pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) +# pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) +# pq.simplify() +# terms_r2 = pq.fully_contracted_strings() +# terms_r2 = remove_e0_eom(terms_r2) +# +# # Get the R amplitudes in albert format +# terms = [terms_r1, terms_r2] +# expr = [] +# output = [] +# returns = [] +# for n in range(2): +# for index_spins in get_amplitude_spins(n + 1, spin, which="ea"): +# indices = default_indices["v"][: n + 1] + default_indices["o"][: n] +# expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) +# expr_n = spin_integrate(expr_n, spin) +# output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) +# returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) +# expr.extend(expr_n) +# output.extend(output_n) +# returns.extend(returns_n) +# +# (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="exhaust") +# +# # Generate the R amplitude intermediates code +# for name, codegen in code_generators.items(): +# if name == "einsum": +# kwargs = { +# "as_dict": True, +# } +# else: +# kwargs = {} +# codegen( +# "hbar_matvec_ea_intermediates", +# returns_nr, +# output_nr, +# expr_nr, +# **kwargs, +# ) +# +# # Generate the R amplitude code +# for name, codegen in code_generators.items(): +# if name == "einsum": +# preamble = "ints = kwargs[\"ints\"]" +# if spin == "uhf": +# preamble += "\nr1new = Namespace()\nr2new = Namespace()" +# kwargs = { +# "preamble": preamble, +# "as_dict": True, +# } +# else: +# kwargs = {} +# codegen( +# "hbar_matvec_ea", +# returns_r, +# output_r, +# expr_r, +# **kwargs, +# ) +# +#if spin != "rhf": # FIXME +# with Stopwatch("EE-EOM"): +# # Get the R1 contractions in pdaggerq format +# pq.clear() +# pq.set_right_operators_type("EE") +# pq.set_left_operators([["e1(i,a)"]]) +# pq.set_right_operators([["r1"], ["r2"]]) +# pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) +# pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) +# pq.simplify() +# terms_r1 = pq.fully_contracted_strings() +# terms_r1 = remove_e0_eom(terms_r1) +# +# # Get the R2 contractions in pdaggerq format +# pq.clear() +# pq.set_right_operators_type("EE") +# pq.set_left_operators([["e2(i,j,b,a)"]]) +# pq.set_right_operators([["r1"], ["r2"]]) +# pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) +# pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) +# pq.simplify() +# terms_r2 = pq.fully_contracted_strings() +# terms_r2 = remove_e0_eom(terms_r2) +# +# # Get the R amplitudes in albert format +# terms = [terms_r1, terms_r2] +# expr = [] +# output = [] +# returns = [] +# for n in range(2): +# for index_spins in get_amplitude_spins(n + 1, spin, which="ee"): +# indices = default_indices["o"][: n + 1] + default_indices["v"][: n + 1] +# expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) +# expr_n = spin_integrate(expr_n, spin) +# output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) +# returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) +# expr.extend(expr_n) +# output.extend(output_n) +# returns.extend(returns_n) +# +# (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="trav") +# +# # Generate the R amplitude intermediates code +# for name, codegen in code_generators.items(): +# if name == "einsum": +# kwargs = { +# "as_dict": True, +# } +# else: +# kwargs = {} +# codegen( +# "hbar_matvec_ee_intermediates", +# returns_nr, +# output_nr, +# expr_nr, +# **kwargs, +# ) +# +# # Generate the R amplitude code +# for name, codegen in code_generators.items(): +# if name == "einsum": +# preamble = "ints = kwargs[\"ints\"]" +# if spin == "uhf": +# preamble += "\nr1new = Namespace()\nr2new = Namespace()" +# kwargs = { +# "preamble": preamble, +# "postamble": "r2new.baba = r2new.abab.transpose(1, 0, 3, 2)" if spin == "uhf" else None, # FIXME +# "as_dict": True, +# } +# else: +# kwargs = {} +# codegen( +# "hbar_matvec_ee", +# returns_r, +# output_r, +# expr_r, +# **kwargs, +# ) +# +#with Stopwatch("L-IP-EOM"): +# # Get the L1 contractions in pdaggerq format +# pq.clear() +# pq.set_left_operators_type("IP") +# pq.set_left_operators([["l1"], ["l2"]]) +# pq.set_right_operators([["a(i)"]]) +# pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) +# pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) +# pq.simplify() +# terms_r1 = pq.fully_contracted_strings() +# terms_r1 = remove_e0_eom(terms_r1) +# +# # Get the L2 contractions in pdaggerq format +# pq.clear() +# pq.set_left_operators_type("IP") +# pq.set_right_operators([["a*(a)", "a(j)", "a(i)"]]) +# pq.set_left_operators([["l1"], ["l2"]]) +# pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) +# pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) +# pq.simplify() +# terms_r2 = pq.fully_contracted_strings() +# terms_r2 = remove_e0_eom(terms_r2) +# +# # Get the L amplitudes in albert format +# terms = [terms_r1, terms_r2] +# expr = [] +# output = [] +# returns = [] +# for n in range(2): +# for index_spins in get_amplitude_spins(n + 1, spin, which="ip"): +# indices = default_indices["o"][: n + 1] + default_indices["v"][: n] +# expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins, l_is_lambda=False) +# expr_n = spin_integrate(expr_n, spin) +# output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) +# returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) +# expr.extend(expr_n) +# output.extend(output_n) +# returns.extend(returns_n) +# +# (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="exhaust") +# +# # Generate the L amplitude intermediates code +# for name, codegen in code_generators.items(): +# if name == "einsum": +# kwargs = { +# "as_dict": True, +# } +# else: +# kwargs = {} +# codegen( +# "hbar_lmatvec_ip_intermediates", +# returns_nr, +# output_nr, +# expr_nr, +# **kwargs, +# ) +# +# # Generate the L amplitude code +# for name, codegen in code_generators.items(): +# if name == "einsum": +# preamble = "ints = kwargs[\"ints\"]" +# if spin == "uhf": +# preamble += "\nr1new = Namespace()\nr2new = Namespace()" +# kwargs = { +# "preamble": preamble, +# "as_dict": True, +# } +# else: +# kwargs = {} +# codegen( +# "hbar_lmatvec_ip", +# returns_r, +# output_r, +# expr_r, +# **kwargs, +# ) +# +#with Stopwatch("L-EA-EOM"): +# # Get the L1 contractions in pdaggerq format +# pq.clear() +# pq.set_left_operators_type("EA") +# pq.set_left_operators([["l1"], ["l2"]]) +# pq.set_right_operators([["a*(a)"]]) +# pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) +# pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) +# pq.simplify() +# terms_r1 = pq.fully_contracted_strings() +# terms_r1 = remove_e0_eom(terms_r1) +# +# # Get the L2 contractions in pdaggerq format +# pq.clear() +# pq.set_left_operators_type("EA") +# pq.set_right_operators([["a*(a)", "a*(b)", "a(i)"]]) +# pq.set_left_operators([["l1"], ["l2"]]) +# pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) +# pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) +# pq.simplify() +# terms_r2 = pq.fully_contracted_strings() +# terms_r2 = remove_e0_eom(terms_r2) +# +# # Get the L amplitudes in albert format +# terms = [terms_r1, terms_r2] +# expr = [] +# output = [] +# returns = [] +# for n in range(2): +# for index_spins in get_amplitude_spins(n + 1, spin, which="ea"): +# indices = default_indices["v"][: n + 1] + default_indices["o"][: n] +# expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins, l_is_lambda=False) +# expr_n = spin_integrate(expr_n, spin) +# output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) +# returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) +# expr.extend(expr_n) +# output.extend(output_n) +# returns.extend(returns_n) +# +# (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="exhaust") +# +# # Generate the L amplitude intermediates code +# for name, codegen in code_generators.items(): +# if name == "einsum": +# kwargs = { +# "as_dict": True, +# } +# else: +# kwargs = {} +# codegen( +# "hbar_lmatvec_ea_intermediates", +# returns_nr, +# output_nr, +# expr_nr, +# **kwargs, +# ) +# +# # Generate the L amplitude code +# for name, codegen in code_generators.items(): +# if name == "einsum": +# preamble = "ints = kwargs[\"ints\"]" +# if spin == "uhf": +# preamble += "\nr1new = Namespace()\nr2new = Namespace()" +# kwargs = { +# "preamble": preamble, +# "as_dict": True, +# } +# else: +# kwargs = {} +# codegen( +# "hbar_lmatvec_ea", +# returns_r, +# output_r, +# expr_r, +# **kwargs, +# ) +# +#if spin != "rhf": # FIXME +# with Stopwatch("L-EE-EOM"): +# # Get the L1 contractions in pdaggerq format +# pq.clear() +# pq.set_left_operators_type("EE") +# pq.set_left_operators([["l1"], ["l2"]]) +# pq.set_right_operators([["e1(a,i)"]]) +# pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) +# pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) +# pq.simplify() +# terms_r1 = pq.fully_contracted_strings() +# terms_r1 = remove_e0_eom(terms_r1) +# +# # Get the L2 contractions in pdaggerq format +# pq.clear() +# pq.set_left_operators_type("EE") +# pq.set_left_operators([["l1"], ["l2"]]) +# pq.set_right_operators([["e2(a,b,j,i)"]]) +# pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) +# pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) +# pq.simplify() +# terms_r2 = pq.fully_contracted_strings() +# terms_r2 = remove_e0_eom(terms_r2) +# +# # Get the L amplitudes in albert format +# terms = [terms_r1, terms_r2] +# expr = [] +# output = [] +# returns = [] +# for n in range(2): +# for index_spins in get_amplitude_spins(n + 1, spin, which="ee"): +# indices = default_indices["o"][: n + 1] + default_indices["v"][: n + 1] +# expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins, l_is_lambda=False) +# expr_n = spin_integrate(expr_n, spin) +# output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) +# returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) +# expr.extend(expr_n) +# output.extend(output_n) +# returns.extend(returns_n) +# +# (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="trav") +# +# # Generate the L amplitude intermediates code +# for name, codegen in code_generators.items(): +# if name == "einsum": +# kwargs = { +# "as_dict": True, +# } +# else: +# kwargs = {} +# codegen( +# "hbar_lmatvec_ee_intermediates", +# returns_nr, +# output_nr, +# expr_nr, +# **kwargs, +# ) +# +# # Generate the L amplitude code +# for name, codegen in code_generators.items(): +# if name == "einsum": +# preamble = "ints = kwargs[\"ints\"]" +# if spin == "uhf": +# preamble += "\nr1new = Namespace()\nr2new = Namespace()" +# kwargs = { +# "preamble": preamble, +# "postamble": "r2new.baba = r2new.abab.transpose(1, 0, 3, 2)" if spin == "uhf" else None, # FIXME +# "as_dict": True, +# } +# else: +# kwargs = {} +# codegen( +# "hbar_lmatvec_ee", +# returns_r, +# output_r, +# expr_r, +# **kwargs, +# ) with Stopwatch("1TDM (GS -> EE)"): # Get the R0 contractions in pdaggerq format @@ -775,9 +775,8 @@ def tensor_cleanup(self, *args): terms_r0 = remove_e0_eom(terms_r0) # Get the R1 contractions in pdaggerq format - expr = spin_integrate(import_from_pdaggerq(terms_r0), spin) - output = returns = (Tensor(name="r0"),) - output_r0, expr_r0 = optimise(output, expr, spin, strategy="exhaust") + expr_r0 = spin_integrate(import_from_pdaggerq(terms_r0), spin) + output_r0 = returns = (Tensor(name="r0"),) # Get the 1TDM contractions in pdaggerq format terms = {} diff --git a/ebcc/codegen/bootstrap_common.py b/ebcc/codegen/bootstrap_common.py index 7cd57632..c4cdaf63 100644 --- a/ebcc/codegen/bootstrap_common.py +++ b/ebcc/codegen/bootstrap_common.py @@ -291,7 +291,7 @@ def remove_e0_eom(terms): return new_terms -def optimise(outputs, exprs, spin, strategy="greedy", sizes=None): +def optimise(outputs, exprs, spin, strategy="greedy", sizes=None, **kwargs): """Optimise the expressions.""" if sizes is None: @@ -310,6 +310,7 @@ def optimise(outputs, exprs, spin, strategy="greedy", sizes=None): index_groups=index_groups, sizes=index_sizes, strategy=strategy, + **kwargs, ) return zip(*opt) @@ -728,6 +729,8 @@ def optimise_eom(returns, output, expr, spin, strategy="exhaust"): def optimise_trans_dm(output, expr, spin, strategy="exhaust"): """Optimise TDM expressions into intermediates and final output.""" + #raise NotImplementedError("broken") + # Split the expressions into those that depend on R0 or L0 and those that don't output_r0 = [] expr_r0 = [] @@ -768,11 +771,11 @@ def optimise_trans_dm(output, expr, spin, strategy="exhaust"): # Optimise the expressions if output_r0: - output_r0, expr_r0 = optimise(output_r0, expr_r0, spin, strategy=strategy) + output_r0, expr_r0 = optimise(output_r0, expr_r0, spin, strategy=strategy, interm_fmt="tmp_r0_{}") if output_l0: - output_l0, expr_l0 = optimise(output_l0, expr_l0, spin, strategy=strategy) + output_l0, expr_l0 = optimise(output_l0, expr_l0, spin, strategy=strategy, interm_fmt="tmp_l0_{}") if output_r0_l0: - output_r0_l0, expr_r0_l0 = optimise(output_r0_l0, expr_r0_l0, spin, strategy=strategy) + output_r0_l0, expr_r0_l0 = optimise(output_r0_l0, expr_r0_l0, spin, strategy=strategy, interm_fmt="tmp_r0_l0_{}") if output_rest: output_rest, expr_rest = optimise(output_rest, expr_rest, spin, strategy=strategy) From b6c1dd400f37d0f85f9ac643f6b0dc1d1d308922 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Thu, 15 Aug 2024 07:37:31 +0100 Subject: [PATCH 085/168] No optimisation for now --- ebcc/codegen/bootstrap_CCSD.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ebcc/codegen/bootstrap_CCSD.py b/ebcc/codegen/bootstrap_CCSD.py index 2ad08672..f5ffd706 100644 --- a/ebcc/codegen/bootstrap_CCSD.py +++ b/ebcc/codegen/bootstrap_CCSD.py @@ -805,9 +805,9 @@ def tensor_cleanup(self, *args): expr.extend(expr_n) output.extend(output_n) returns.extend(returns_n) - output, expr = optimise_trans_dm(output, expr, spin, strategy="exhaust") - output = output_r0 + output - expr = expr_r0 + expr + #output, expr = optimise_trans_dm(output, expr, spin, strategy="exhaust") + output = tuple(output_r0) + tuple(output) + expr = tuple(expr_r0) + tuple(expr) # Generate the 1TDM code for name, codegen in code_generators.items(): From 813c64bb29b971e0900de40dc3b47b49d0e8548d Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Thu, 15 Aug 2024 21:35:21 +0100 Subject: [PATCH 086/168] Fix commenting --- ebcc/codegen/bootstrap_CCSD.py | 1522 ++++++++++++++++---------------- 1 file changed, 761 insertions(+), 761 deletions(-) diff --git a/ebcc/codegen/bootstrap_CCSD.py b/ebcc/codegen/bootstrap_CCSD.py index f5ffd706..2d41db50 100644 --- a/ebcc/codegen/bootstrap_CCSD.py +++ b/ebcc/codegen/bootstrap_CCSD.py @@ -35,797 +35,797 @@ def tensor_cleanup(self, *args): pq = pdaggerq.pq_helper("fermi") pq.set_print_level(0) -#with Stopwatch("Energy"): -# # Get the energy contractions in pdaggerq format -# pq.clear() -# pq.set_left_operators([["1"]]) -# pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) -# pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) -# pq.simplify() -# terms = pq.fully_contracted_strings() -# terms = remove_hf_energy(terms) -# -# # Get the energy in albert format -# expr = import_from_pdaggerq(terms) -# expr = spin_integrate(expr, spin) -# output = tuple(Tensor(name="e_cc") for _ in range(len(expr))) -# output, expr = optimise(output, expr, spin, strategy="exhaust") -# returns = (Tensor(name="e_cc"),) -# -# # Generate the energy code -# for codegen in code_generators.values(): -# codegen( -# "energy", -# returns, -# output, -# expr, -# ) -# -#with Stopwatch("T amplitudes"): -# # Get the T1 contractions in pdaggerq format -# pq.clear() -# pq.set_left_operators([["e1(i,a)"]]) -# pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) -# pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) -# pq.simplify() -# terms_t1 = pq.fully_contracted_strings() -# -# # Get the T2 contractions in pdaggerq format -# pq.clear() -# pq.set_left_operators([["e2(i,j,b,a)"]]) -# pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) -# pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) -# pq.simplify() -# terms_t2 = pq.fully_contracted_strings() -# -# # Get the T amplitudes in albert format -# terms = [terms_t1, terms_t2] -# expr = [] -# output = [] -# returns = [] -# for n in range(2): -# for index_spins in get_amplitude_spins(n + 1, spin): -# indices = default_indices["o"][: n + 1] + default_indices["v"][: n + 1] -# expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) -# expr_n = spin_integrate(expr_n, spin) -# output_n = get_t_amplitude_outputs(expr_n, f"t{n+1}new") -# returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"t{n+1}new"),) -# expr.extend(expr_n) -# output.extend(output_n) -# returns.extend(returns_n) -# output, expr = optimise(output, expr, spin, strategy="exhaust") -# -# # Generate the T amplitude code -# for name, codegen in code_generators.items(): -# if name == "einsum": -# kwargs = { -# "preamble": "t1new = Namespace()\nt2new = Namespace()" if spin == "uhf" else None, -# "as_dict": True, -# } -# else: -# kwargs = {} -# codegen( -# "update_amps", -# returns, -# output, -# expr, -# **kwargs, -# ) -# -#with Stopwatch("L amplitudes"): -# # Get the L1 contractions in pdaggerq format -# pq.clear() -# pq.set_left_operators([["1"]]) -# pq.set_right_operators([["1"]]) -# pq.add_st_operator(1.0, ["f", "e1(a,i)"], ["t1", "t2"]) -# pq.add_st_operator(1.0, ["v", "e1(a,i)"], ["t1", "t2"]) -# pq.set_left_operators([["l1"], ["l2"]]) -# pq.add_st_operator(1.0, ["f", "e1(a,i)"], ["t1", "t2"]) -# pq.add_st_operator(1.0, ["v", "e1(a,i)"], ["t1", "t2"]) -# pq.add_st_operator(-1.0, ["e1(a,i)", "f"], ["t1", "t2"]) -# pq.add_st_operator(-1.0, ["e1(a,i)", "v"], ["t1", "t2"]) -# pq.simplify() -# terms_l1 = pq.fully_contracted_strings() -# -# # Get the L2 contractions in pdaggerq format -# pq.clear() -# pq.set_left_operators([["1"]]) -# pq.set_right_operators([["1"]]) -# pq.add_st_operator(1.0, ["f", "e2(a,b,j,i)"], ["t1", "t2"]) -# pq.add_st_operator(1.0, ["v", "e2(a,b,j,i)"], ["t1", "t2"]) -# pq.set_left_operators([["l1"], ["l2"]]) -# pq.add_st_operator(1.0, ["f", "e2(a,b,j,i)"], ["t1", "t2"]) -# pq.add_st_operator(1.0, ["v", "e2(a,b,j,i)"], ["t1", "t2"]) -# pq.add_st_operator(-1.0, ["e2(a,b,j,i)", "f"], ["t1", "t2"]) -# pq.add_st_operator(-1.0, ["e2(a,b,j,i)", "v"], ["t1", "t2"]) -# pq.simplify() -# terms_l2 = pq.fully_contracted_strings() -# -# # Get the L amplitudes in albert format -# terms = [terms_l1, terms_l2] -# expr = [] -# output = [] -# returns = [] -# for n in range(2): -# for index_spins in get_amplitude_spins(n + 1, spin): -# indices = default_indices["v"][: n + 1] + default_indices["o"][: n + 1] -# expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) -# expr_n = spin_integrate(expr_n, spin) -# output_n = get_l_amplitude_outputs(expr_n, f"l{n+1}new") -# returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"l{n+1}new"),) -# expr.extend(expr_n) -# output.extend(output_n) -# returns.extend(returns_n) -# output, expr = optimise(output, expr, spin, strategy="opt") -# -# # Generate the L amplitude code -# for name, codegen in code_generators.items(): -# if name == "einsum": -# kwargs = { -# "preamble": "l1new = Namespace()\nl2new = Namespace()" if spin == "uhf" else None, -# "as_dict": True, -# } -# else: -# kwargs = {} -# codegen( -# "update_lams", -# returns, -# output, -# expr, -# **kwargs, -# ) -# -#with Stopwatch("1RDM"): -# # Get the 1RDM contractions in pdaggerq format -# terms = {} -# for sectors, indices in [("oo", "ij"), ("ov", "ia"), ("vo", "ai"), ("vv", "ab")]: -# pq.clear() -# pq.set_left_operators([["1"], ["l1"], ["l2"]]) -# pq.add_st_operator(1.0, [f"e1({','.join(indices)})"], ["t1", "t2"]) -# pq.simplify() -# terms[sectors, indices] = pq.fully_contracted_strings() -# -# # Get the 1RDM in albert format -# expr = [] -# output = [] -# returns = [] -# for sectors, indices in [("oo", "ij"), ("ov", "ia"), ("vo", "ai"), ("vv", "ab")]: -# for index_spins in get_density_spins(1, spin, indices): -# expr_n = import_from_pdaggerq(terms[sectors, indices], index_spins=index_spins) -# expr_n = spin_integrate(expr_n, spin) -# if spin == "rhf": -# expr_n = tuple(e * 2 for e in expr_n) -# output_n = get_density_outputs(expr_n, f"d", indices) -# returns_n = (Tensor(*tuple(Index(i, index_spins[i], space=s) for i, s in zip(indices, sectors)), name=f"d"),) -# expr.extend(expr_n) -# output.extend(output_n) -# returns.extend(returns_n) -# output, expr = optimise(output, expr, spin, strategy="exhaust") -# -# # Generate the 1RDM code -# for name, codegen in code_generators.items(): -# if name == "einsum": -# kwargs = { -# "preamble": get_density_einsum_preamble(1, spin), -# "postamble": get_density_einsum_postamble(1, spin), -# } -# else: -# kwargs = {} -# codegen( -# "make_rdm1_f", -# returns, -# output, -# expr, -# **kwargs, -# ) -# -#with Stopwatch("2RDM"): -# # Get the 2RDM contractions in pdaggerq format -# terms = {} -# for sectors, indices in [ -# ("oooo", "ijkl"), -# ("ooov", "ijka"), -# ("oovo", "ijak"), -# ("ovoo", "iajk"), -# ("vooo", "aijk"), -# ("oovv", "ijab"), -# ("ovov", "iajb"), -# ("ovvo", "iabj"), -# ("voov", "aijb"), -# ("vovo", "aibj"), -# ("vvoo", "abij"), -# ("ovvv", "iabc"), -# ("vovv", "aibc"), -# ("vvov", "abic"), -# ("vvvo", "abci"), -# ("vvvv", "abcd"), -# ]: -# pq.clear() -# pq.set_left_operators([["1"], ["l1"], ["l2"]]) -# pq.add_st_operator( -# 1.0, [f"e2({indices[0]},{indices[1]},{indices[3]},{indices[2]})"], ["t1", "t2"] -# ) -# pq.simplify() -# terms[sectors, indices] = pq.fully_contracted_strings() -# -# # Get the 2RDM in albert format -# expr = [] -# output = [] -# returns = [] -# for sectors, indices in [ -# ("oooo", "ijkl"), -# ("ooov", "ijka"), -# ("oovo", "ijak"), -# ("ovoo", "iajk"), -# ("vooo", "aijk"), -# ("oovv", "ijab"), -# ("ovov", "iajb"), -# ("ovvo", "iabj"), -# ("voov", "aijb"), -# ("vovo", "aibj"), -# ("vvoo", "abij"), -# ("ovvv", "iabc"), -# ("vovv", "aibc"), -# ("vvov", "abic"), -# ("vvvo", "abci"), -# ("vvvv", "abcd"), -# ]: -# for index_spins in get_density_spins(2, spin, indices): -# expr_n = import_from_pdaggerq(terms[sectors, indices], index_spins=index_spins) -# expr_n = spin_integrate(expr_n, spin) -# output_n = get_density_outputs(expr_n, f"Γ", indices) -# returns_n = (Tensor(*tuple(Index(i, index_spins[i], space=s) for i, s in zip(indices, sectors)), name=f"Γ"),) -# expr.extend(expr_n) -# output.extend(output_n) -# returns.extend(returns_n) -# output, expr = optimise(output, expr, spin, strategy="trav") -# -# # Generate the 2RDM code -# for name, codegen in code_generators.items(): -# if name == "einsum": -# kwargs = { -# "preamble": get_density_einsum_preamble(2, spin), -# "postamble": get_density_einsum_postamble(2, spin), -# } -# codegen( -# "make_rdm2_f", -# returns, -# output, -# expr, -# **kwargs, -# ) -# -#with Stopwatch("IP-EOM"): -# # Get the R1 contractions in pdaggerq format -# pq.clear() -# pq.set_right_operators_type("IP") -# pq.set_left_operators([["a*(i)"]]) -# pq.set_right_operators([["r1"], ["r2"]]) -# pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) -# pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) -# pq.simplify() -# terms_r1 = pq.fully_contracted_strings() -# terms_r1 = remove_e0_eom(terms_r1) -# -# # Get the R2 contractions in pdaggerq format -# pq.clear() -# pq.set_right_operators_type("IP") -# pq.set_left_operators([["a*(i)", "a*(j)", "a(a)"]]) -# pq.set_right_operators([["r1"], ["r2"]]) -# pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) -# pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) -# pq.simplify() -# terms_r2 = pq.fully_contracted_strings() -# terms_r2 = remove_e0_eom(terms_r2) -# -# # Get the R amplitudes in albert format -# terms = [terms_r1, terms_r2] -# expr = [] -# output = [] -# returns = [] -# for n in range(2): -# for index_spins in get_amplitude_spins(n + 1, spin, which="ip"): -# indices = default_indices["o"][: n + 1] + default_indices["v"][: n] -# expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) -# expr_n = spin_integrate(expr_n, spin) -# output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) -# returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) -# expr.extend(expr_n) -# output.extend(output_n) -# returns.extend(returns_n) -# -# (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="exhaust") -# -# # Generate the R amplitude intermediates code -# for name, codegen in code_generators.items(): -# if name == "einsum": -# kwargs = { -# "as_dict": True, -# } -# else: -# kwargs = {} -# codegen( -# "hbar_matvec_ip_intermediates", -# returns_nr, -# output_nr, -# expr_nr, -# **kwargs, -# ) -# -# # Generate the R amplitude code -# for name, codegen in code_generators.items(): -# if name == "einsum": -# preamble = "ints = kwargs[\"ints\"]" -# if spin == "uhf": -# preamble += "\nr1new = Namespace()\nr2new = Namespace()" -# kwargs = { -# "preamble": preamble, -# "as_dict": True, -# } -# else: -# kwargs = {} -# codegen( -# "hbar_matvec_ip", -# returns_r, -# output_r, -# expr_r, -# **kwargs, -# ) -# -#with Stopwatch("EA-EOM"): -# # Get the R1 contractions in pdaggerq format -# pq.clear() -# pq.set_right_operators_type("EA") -# pq.set_left_operators([["a(a)"]]) -# pq.set_right_operators([["r1"], ["r2"]]) -# pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) -# pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) -# pq.simplify() -# terms_r1 = pq.fully_contracted_strings() -# terms_r1 = remove_e0_eom(terms_r1) -# -# # Get the R2 contractions in pdaggerq format -# pq.clear() -# pq.set_right_operators_type("EA") -# pq.set_left_operators([["a*(i)", "a(b)", "a(a)"]]) -# pq.set_right_operators([["r1"], ["r2"]]) -# pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) -# pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) -# pq.simplify() -# terms_r2 = pq.fully_contracted_strings() -# terms_r2 = remove_e0_eom(terms_r2) -# -# # Get the R amplitudes in albert format -# terms = [terms_r1, terms_r2] -# expr = [] -# output = [] -# returns = [] -# for n in range(2): -# for index_spins in get_amplitude_spins(n + 1, spin, which="ea"): -# indices = default_indices["v"][: n + 1] + default_indices["o"][: n] -# expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) -# expr_n = spin_integrate(expr_n, spin) -# output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) -# returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) -# expr.extend(expr_n) -# output.extend(output_n) -# returns.extend(returns_n) -# -# (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="exhaust") -# -# # Generate the R amplitude intermediates code -# for name, codegen in code_generators.items(): -# if name == "einsum": -# kwargs = { -# "as_dict": True, -# } -# else: -# kwargs = {} -# codegen( -# "hbar_matvec_ea_intermediates", -# returns_nr, -# output_nr, -# expr_nr, -# **kwargs, -# ) -# -# # Generate the R amplitude code -# for name, codegen in code_generators.items(): -# if name == "einsum": -# preamble = "ints = kwargs[\"ints\"]" -# if spin == "uhf": -# preamble += "\nr1new = Namespace()\nr2new = Namespace()" -# kwargs = { -# "preamble": preamble, -# "as_dict": True, -# } -# else: -# kwargs = {} -# codegen( -# "hbar_matvec_ea", -# returns_r, -# output_r, -# expr_r, -# **kwargs, -# ) -# -#if spin != "rhf": # FIXME -# with Stopwatch("EE-EOM"): -# # Get the R1 contractions in pdaggerq format -# pq.clear() -# pq.set_right_operators_type("EE") -# pq.set_left_operators([["e1(i,a)"]]) -# pq.set_right_operators([["r1"], ["r2"]]) -# pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) -# pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) -# pq.simplify() -# terms_r1 = pq.fully_contracted_strings() -# terms_r1 = remove_e0_eom(terms_r1) -# -# # Get the R2 contractions in pdaggerq format -# pq.clear() -# pq.set_right_operators_type("EE") -# pq.set_left_operators([["e2(i,j,b,a)"]]) -# pq.set_right_operators([["r1"], ["r2"]]) -# pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) -# pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) -# pq.simplify() -# terms_r2 = pq.fully_contracted_strings() -# terms_r2 = remove_e0_eom(terms_r2) -# -# # Get the R amplitudes in albert format -# terms = [terms_r1, terms_r2] -# expr = [] -# output = [] -# returns = [] -# for n in range(2): -# for index_spins in get_amplitude_spins(n + 1, spin, which="ee"): -# indices = default_indices["o"][: n + 1] + default_indices["v"][: n + 1] -# expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) -# expr_n = spin_integrate(expr_n, spin) -# output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) -# returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) -# expr.extend(expr_n) -# output.extend(output_n) -# returns.extend(returns_n) -# -# (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="trav") -# -# # Generate the R amplitude intermediates code -# for name, codegen in code_generators.items(): -# if name == "einsum": -# kwargs = { -# "as_dict": True, -# } -# else: -# kwargs = {} -# codegen( -# "hbar_matvec_ee_intermediates", -# returns_nr, -# output_nr, -# expr_nr, -# **kwargs, -# ) -# -# # Generate the R amplitude code -# for name, codegen in code_generators.items(): -# if name == "einsum": -# preamble = "ints = kwargs[\"ints\"]" -# if spin == "uhf": -# preamble += "\nr1new = Namespace()\nr2new = Namespace()" -# kwargs = { -# "preamble": preamble, -# "postamble": "r2new.baba = r2new.abab.transpose(1, 0, 3, 2)" if spin == "uhf" else None, # FIXME -# "as_dict": True, -# } -# else: -# kwargs = {} -# codegen( -# "hbar_matvec_ee", -# returns_r, -# output_r, -# expr_r, -# **kwargs, -# ) -# -#with Stopwatch("L-IP-EOM"): -# # Get the L1 contractions in pdaggerq format -# pq.clear() -# pq.set_left_operators_type("IP") -# pq.set_left_operators([["l1"], ["l2"]]) -# pq.set_right_operators([["a(i)"]]) -# pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) -# pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) -# pq.simplify() -# terms_r1 = pq.fully_contracted_strings() -# terms_r1 = remove_e0_eom(terms_r1) -# -# # Get the L2 contractions in pdaggerq format -# pq.clear() -# pq.set_left_operators_type("IP") -# pq.set_right_operators([["a*(a)", "a(j)", "a(i)"]]) -# pq.set_left_operators([["l1"], ["l2"]]) -# pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) -# pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) -# pq.simplify() -# terms_r2 = pq.fully_contracted_strings() -# terms_r2 = remove_e0_eom(terms_r2) -# -# # Get the L amplitudes in albert format -# terms = [terms_r1, terms_r2] -# expr = [] -# output = [] -# returns = [] -# for n in range(2): -# for index_spins in get_amplitude_spins(n + 1, spin, which="ip"): -# indices = default_indices["o"][: n + 1] + default_indices["v"][: n] -# expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins, l_is_lambda=False) -# expr_n = spin_integrate(expr_n, spin) -# output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) -# returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) -# expr.extend(expr_n) -# output.extend(output_n) -# returns.extend(returns_n) -# -# (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="exhaust") -# -# # Generate the L amplitude intermediates code -# for name, codegen in code_generators.items(): -# if name == "einsum": -# kwargs = { -# "as_dict": True, -# } -# else: -# kwargs = {} -# codegen( -# "hbar_lmatvec_ip_intermediates", -# returns_nr, -# output_nr, -# expr_nr, -# **kwargs, -# ) -# -# # Generate the L amplitude code -# for name, codegen in code_generators.items(): -# if name == "einsum": -# preamble = "ints = kwargs[\"ints\"]" -# if spin == "uhf": -# preamble += "\nr1new = Namespace()\nr2new = Namespace()" -# kwargs = { -# "preamble": preamble, -# "as_dict": True, -# } -# else: -# kwargs = {} -# codegen( -# "hbar_lmatvec_ip", -# returns_r, -# output_r, -# expr_r, -# **kwargs, -# ) -# -#with Stopwatch("L-EA-EOM"): -# # Get the L1 contractions in pdaggerq format -# pq.clear() -# pq.set_left_operators_type("EA") -# pq.set_left_operators([["l1"], ["l2"]]) -# pq.set_right_operators([["a*(a)"]]) -# pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) -# pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) -# pq.simplify() -# terms_r1 = pq.fully_contracted_strings() -# terms_r1 = remove_e0_eom(terms_r1) -# -# # Get the L2 contractions in pdaggerq format -# pq.clear() -# pq.set_left_operators_type("EA") -# pq.set_right_operators([["a*(a)", "a*(b)", "a(i)"]]) -# pq.set_left_operators([["l1"], ["l2"]]) -# pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) -# pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) -# pq.simplify() -# terms_r2 = pq.fully_contracted_strings() -# terms_r2 = remove_e0_eom(terms_r2) -# -# # Get the L amplitudes in albert format -# terms = [terms_r1, terms_r2] -# expr = [] -# output = [] -# returns = [] -# for n in range(2): -# for index_spins in get_amplitude_spins(n + 1, spin, which="ea"): -# indices = default_indices["v"][: n + 1] + default_indices["o"][: n] -# expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins, l_is_lambda=False) -# expr_n = spin_integrate(expr_n, spin) -# output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) -# returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) -# expr.extend(expr_n) -# output.extend(output_n) -# returns.extend(returns_n) -# -# (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="exhaust") -# -# # Generate the L amplitude intermediates code -# for name, codegen in code_generators.items(): -# if name == "einsum": -# kwargs = { -# "as_dict": True, -# } -# else: -# kwargs = {} -# codegen( -# "hbar_lmatvec_ea_intermediates", -# returns_nr, -# output_nr, -# expr_nr, -# **kwargs, -# ) -# -# # Generate the L amplitude code -# for name, codegen in code_generators.items(): -# if name == "einsum": -# preamble = "ints = kwargs[\"ints\"]" -# if spin == "uhf": -# preamble += "\nr1new = Namespace()\nr2new = Namespace()" -# kwargs = { -# "preamble": preamble, -# "as_dict": True, -# } -# else: -# kwargs = {} -# codegen( -# "hbar_lmatvec_ea", -# returns_r, -# output_r, -# expr_r, -# **kwargs, -# ) -# -#if spin != "rhf": # FIXME -# with Stopwatch("L-EE-EOM"): -# # Get the L1 contractions in pdaggerq format -# pq.clear() -# pq.set_left_operators_type("EE") -# pq.set_left_operators([["l1"], ["l2"]]) -# pq.set_right_operators([["e1(a,i)"]]) -# pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) -# pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) -# pq.simplify() -# terms_r1 = pq.fully_contracted_strings() -# terms_r1 = remove_e0_eom(terms_r1) -# -# # Get the L2 contractions in pdaggerq format -# pq.clear() -# pq.set_left_operators_type("EE") -# pq.set_left_operators([["l1"], ["l2"]]) -# pq.set_right_operators([["e2(a,b,j,i)"]]) -# pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) -# pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) -# pq.simplify() -# terms_r2 = pq.fully_contracted_strings() -# terms_r2 = remove_e0_eom(terms_r2) -# -# # Get the L amplitudes in albert format -# terms = [terms_r1, terms_r2] -# expr = [] -# output = [] -# returns = [] -# for n in range(2): -# for index_spins in get_amplitude_spins(n + 1, spin, which="ee"): -# indices = default_indices["o"][: n + 1] + default_indices["v"][: n + 1] -# expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins, l_is_lambda=False) -# expr_n = spin_integrate(expr_n, spin) -# output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) -# returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) -# expr.extend(expr_n) -# output.extend(output_n) -# returns.extend(returns_n) -# -# (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="trav") -# -# # Generate the L amplitude intermediates code -# for name, codegen in code_generators.items(): -# if name == "einsum": -# kwargs = { -# "as_dict": True, -# } -# else: -# kwargs = {} -# codegen( -# "hbar_lmatvec_ee_intermediates", -# returns_nr, -# output_nr, -# expr_nr, -# **kwargs, -# ) -# -# # Generate the L amplitude code -# for name, codegen in code_generators.items(): -# if name == "einsum": -# preamble = "ints = kwargs[\"ints\"]" -# if spin == "uhf": -# preamble += "\nr1new = Namespace()\nr2new = Namespace()" -# kwargs = { -# "preamble": preamble, -# "postamble": "r2new.baba = r2new.abab.transpose(1, 0, 3, 2)" if spin == "uhf" else None, # FIXME -# "as_dict": True, -# } -# else: -# kwargs = {} -# codegen( -# "hbar_lmatvec_ee", -# returns_r, -# output_r, -# expr_r, -# **kwargs, -# ) - -with Stopwatch("1TDM (GS -> EE)"): - # Get the R0 contractions in pdaggerq format +with Stopwatch("Energy"): + # Get the energy contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["1"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) + pq.simplify() + terms = pq.fully_contracted_strings() + terms = remove_hf_energy(terms) + + # Get the energy in albert format + expr = import_from_pdaggerq(terms) + expr = spin_integrate(expr, spin) + output = tuple(Tensor(name="e_cc") for _ in range(len(expr))) + output, expr = optimise(output, expr, spin, strategy="exhaust") + returns = (Tensor(name="e_cc"),) + + # Generate the energy code + for codegen in code_generators.values(): + codegen( + "energy", + returns, + output, + expr, + ) + +with Stopwatch("T amplitudes"): + # Get the T1 contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["e1(i,a)"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) + pq.simplify() + terms_t1 = pq.fully_contracted_strings() + + # Get the T2 contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["e2(i,j,b,a)"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) + pq.simplify() + terms_t2 = pq.fully_contracted_strings() + + # Get the T amplitudes in albert format + terms = [terms_t1, terms_t2] + expr = [] + output = [] + returns = [] + for n in range(2): + for index_spins in get_amplitude_spins(n + 1, spin): + indices = default_indices["o"][: n + 1] + default_indices["v"][: n + 1] + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + output_n = get_t_amplitude_outputs(expr_n, f"t{n+1}new") + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"t{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + output, expr = optimise(output, expr, spin, strategy="exhaust") + + # Generate the T amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "preamble": "t1new = Namespace()\nt2new = Namespace()" if spin == "uhf" else None, + "as_dict": True, + } + else: + kwargs = {} + codegen( + "update_amps", + returns, + output, + expr, + **kwargs, + ) + +with Stopwatch("L amplitudes"): + # Get the L1 contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["1"]]) + pq.set_right_operators([["1"]]) + pq.add_st_operator(1.0, ["f", "e1(a,i)"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v", "e1(a,i)"], ["t1", "t2"]) + pq.set_left_operators([["l1"], ["l2"]]) + pq.add_st_operator(1.0, ["f", "e1(a,i)"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v", "e1(a,i)"], ["t1", "t2"]) + pq.add_st_operator(-1.0, ["e1(a,i)", "f"], ["t1", "t2"]) + pq.add_st_operator(-1.0, ["e1(a,i)", "v"], ["t1", "t2"]) + pq.simplify() + terms_l1 = pq.fully_contracted_strings() + + # Get the L2 contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["1"]]) + pq.set_right_operators([["1"]]) + pq.add_st_operator(1.0, ["f", "e2(a,b,j,i)"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v", "e2(a,b,j,i)"], ["t1", "t2"]) + pq.set_left_operators([["l1"], ["l2"]]) + pq.add_st_operator(1.0, ["f", "e2(a,b,j,i)"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v", "e2(a,b,j,i)"], ["t1", "t2"]) + pq.add_st_operator(-1.0, ["e2(a,b,j,i)", "f"], ["t1", "t2"]) + pq.add_st_operator(-1.0, ["e2(a,b,j,i)", "v"], ["t1", "t2"]) + pq.simplify() + terms_l2 = pq.fully_contracted_strings() + + # Get the L amplitudes in albert format + terms = [terms_l1, terms_l2] + expr = [] + output = [] + returns = [] + for n in range(2): + for index_spins in get_amplitude_spins(n + 1, spin): + indices = default_indices["v"][: n + 1] + default_indices["o"][: n + 1] + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + output_n = get_l_amplitude_outputs(expr_n, f"l{n+1}new") + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"l{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + output, expr = optimise(output, expr, spin, strategy="opt") + + # Generate the L amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "preamble": "l1new = Namespace()\nl2new = Namespace()" if spin == "uhf" else None, + "as_dict": True, + } + else: + kwargs = {} + codegen( + "update_lams", + returns, + output, + expr, + **kwargs, + ) + +with Stopwatch("1RDM"): + # Get the 1RDM contractions in pdaggerq format + terms = {} + for sectors, indices in [("oo", "ij"), ("ov", "ia"), ("vo", "ai"), ("vv", "ab")]: + pq.clear() + pq.set_left_operators([["1"], ["l1"], ["l2"]]) + pq.add_st_operator(1.0, [f"e1({','.join(indices)})"], ["t1", "t2"]) + pq.simplify() + terms[sectors, indices] = pq.fully_contracted_strings() + + # Get the 1RDM in albert format + expr = [] + output = [] + returns = [] + for sectors, indices in [("oo", "ij"), ("ov", "ia"), ("vo", "ai"), ("vv", "ab")]: + for index_spins in get_density_spins(1, spin, indices): + expr_n = import_from_pdaggerq(terms[sectors, indices], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + if spin == "rhf": + expr_n = tuple(e * 2 for e in expr_n) + output_n = get_density_outputs(expr_n, f"d", indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i], space=s) for i, s in zip(indices, sectors)), name=f"d"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + output, expr = optimise(output, expr, spin, strategy="exhaust") + + # Generate the 1RDM code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "preamble": get_density_einsum_preamble(1, spin), + "postamble": get_density_einsum_postamble(1, spin), + } + else: + kwargs = {} + codegen( + "make_rdm1_f", + returns, + output, + expr, + **kwargs, + ) + +with Stopwatch("2RDM"): + # Get the 2RDM contractions in pdaggerq format + terms = {} + for sectors, indices in [ + ("oooo", "ijkl"), + ("ooov", "ijka"), + ("oovo", "ijak"), + ("ovoo", "iajk"), + ("vooo", "aijk"), + ("oovv", "ijab"), + ("ovov", "iajb"), + ("ovvo", "iabj"), + ("voov", "aijb"), + ("vovo", "aibj"), + ("vvoo", "abij"), + ("ovvv", "iabc"), + ("vovv", "aibc"), + ("vvov", "abic"), + ("vvvo", "abci"), + ("vvvv", "abcd"), + ]: + pq.clear() + pq.set_left_operators([["1"], ["l1"], ["l2"]]) + pq.add_st_operator( + 1.0, [f"e2({indices[0]},{indices[1]},{indices[3]},{indices[2]})"], ["t1", "t2"] + ) + pq.simplify() + terms[sectors, indices] = pq.fully_contracted_strings() + + # Get the 2RDM in albert format + expr = [] + output = [] + returns = [] + for sectors, indices in [ + ("oooo", "ijkl"), + ("ooov", "ijka"), + ("oovo", "ijak"), + ("ovoo", "iajk"), + ("vooo", "aijk"), + ("oovv", "ijab"), + ("ovov", "iajb"), + ("ovvo", "iabj"), + ("voov", "aijb"), + ("vovo", "aibj"), + ("vvoo", "abij"), + ("ovvv", "iabc"), + ("vovv", "aibc"), + ("vvov", "abic"), + ("vvvo", "abci"), + ("vvvv", "abcd"), + ]: + for index_spins in get_density_spins(2, spin, indices): + expr_n = import_from_pdaggerq(terms[sectors, indices], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + output_n = get_density_outputs(expr_n, f"Γ", indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i], space=s) for i, s in zip(indices, sectors)), name=f"Γ"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + output, expr = optimise(output, expr, spin, strategy="trav") + + # Generate the 2RDM code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "preamble": get_density_einsum_preamble(2, spin), + "postamble": get_density_einsum_postamble(2, spin), + } + codegen( + "make_rdm2_f", + returns, + output, + expr, + **kwargs, + ) + +with Stopwatch("IP-EOM"): + # Get the R1 contractions in pdaggerq format pq.clear() - pq.set_left_operators_type("EE") - pq.set_left_operators([["1"]]) - pq.set_right_operators_type("EE") + pq.set_right_operators_type("IP") + pq.set_left_operators([["a*(i)"]]) + pq.set_right_operators([["r1"], ["r2"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) + pq.simplify() + terms_r1 = pq.fully_contracted_strings() + terms_r1 = remove_e0_eom(terms_r1) + + # Get the R2 contractions in pdaggerq format + pq.clear() + pq.set_right_operators_type("IP") + pq.set_left_operators([["a*(i)", "a*(j)", "a(a)"]]) pq.set_right_operators([["r1"], ["r2"]]) pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() - terms_r0 = pq.fully_contracted_strings() - terms_r0 = remove_e0_eom(terms_r0) + terms_r2 = pq.fully_contracted_strings() + terms_r2 = remove_e0_eom(terms_r2) + + # Get the R amplitudes in albert format + terms = [terms_r1, terms_r2] + expr = [] + output = [] + returns = [] + for n in range(2): + for index_spins in get_amplitude_spins(n + 1, spin, which="ip"): + indices = default_indices["o"][: n + 1] + default_indices["v"][: n] + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + + (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="exhaust") + + # Generate the R amplitude intermediates code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_matvec_ip_intermediates", + returns_nr, + output_nr, + expr_nr, + **kwargs, + ) + + # Generate the R amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + preamble = "ints = kwargs[\"ints\"]" + if spin == "uhf": + preamble += "\nr1new = Namespace()\nr2new = Namespace()" + kwargs = { + "preamble": preamble, + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_matvec_ip", + returns_r, + output_r, + expr_r, + **kwargs, + ) +with Stopwatch("EA-EOM"): # Get the R1 contractions in pdaggerq format - expr_r0 = spin_integrate(import_from_pdaggerq(terms_r0), spin) - output_r0 = returns = (Tensor(name="r0"),) + pq.clear() + pq.set_right_operators_type("EA") + pq.set_left_operators([["a(a)"]]) + pq.set_right_operators([["r1"], ["r2"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) + pq.simplify() + terms_r1 = pq.fully_contracted_strings() + terms_r1 = remove_e0_eom(terms_r1) - # Get the 1TDM contractions in pdaggerq format - terms = {} - for sectors, indices in [("oo", "ij"), ("ov", "ia"), ("vo", "ai"), ("vv", "ab")]: + # Get the R2 contractions in pdaggerq format + pq.clear() + pq.set_right_operators_type("EA") + pq.set_left_operators([["a*(i)", "a(b)", "a(a)"]]) + pq.set_right_operators([["r1"], ["r2"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) + pq.simplify() + terms_r2 = pq.fully_contracted_strings() + terms_r2 = remove_e0_eom(terms_r2) + + # Get the R amplitudes in albert format + terms = [terms_r1, terms_r2] + expr = [] + output = [] + returns = [] + for n in range(2): + for index_spins in get_amplitude_spins(n + 1, spin, which="ea"): + indices = default_indices["v"][: n + 1] + default_indices["o"][: n] + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + + (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="exhaust") + + # Generate the R amplitude intermediates code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_matvec_ea_intermediates", + returns_nr, + output_nr, + expr_nr, + **kwargs, + ) + + # Generate the R amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + preamble = "ints = kwargs[\"ints\"]" + if spin == "uhf": + preamble += "\nr1new = Namespace()\nr2new = Namespace()" + kwargs = { + "preamble": preamble, + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_matvec_ea", + returns_r, + output_r, + expr_r, + **kwargs, + ) + +if spin != "rhf": # FIXME + with Stopwatch("EE-EOM"): + # Get the R1 contractions in pdaggerq format pq.clear() - pq.set_left_operators_type("EE") - pq.set_left_operators([["1"], ["l1"], ["l2"]]) pq.set_right_operators_type("EE") - pq.set_right_operators([["r0"], ["r1"], ["r2"]]) - pq.add_st_operator(1.0, [f"e1({','.join(indices)})"], ["t1", "t2"]) + pq.set_left_operators([["e1(i,a)"]]) + pq.set_right_operators([["r1"], ["r2"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() - terms[sectors, indices] = pq.fully_contracted_strings() + terms_r1 = pq.fully_contracted_strings() + terms_r1 = remove_e0_eom(terms_r1) + + # Get the R2 contractions in pdaggerq format + pq.clear() + pq.set_right_operators_type("EE") + pq.set_left_operators([["e2(i,j,b,a)"]]) + pq.set_right_operators([["r1"], ["r2"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) + pq.simplify() + terms_r2 = pq.fully_contracted_strings() + terms_r2 = remove_e0_eom(terms_r2) + + # Get the R amplitudes in albert format + terms = [terms_r1, terms_r2] + expr = [] + output = [] + returns = [] + for n in range(2): + for index_spins in get_amplitude_spins(n + 1, spin, which="ee"): + indices = default_indices["o"][: n + 1] + default_indices["v"][: n + 1] + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + + (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="trav") + + # Generate the R amplitude intermediates code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_matvec_ee_intermediates", + returns_nr, + output_nr, + expr_nr, + **kwargs, + ) + + # Generate the R amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + preamble = "ints = kwargs[\"ints\"]" + if spin == "uhf": + preamble += "\nr1new = Namespace()\nr2new = Namespace()" + kwargs = { + "preamble": preamble, + "postamble": "r2new.baba = r2new.abab.transpose(1, 0, 3, 2)" if spin == "uhf" else None, # FIXME + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_matvec_ee", + returns_r, + output_r, + expr_r, + **kwargs, + ) + +with Stopwatch("L-IP-EOM"): + # Get the L1 contractions in pdaggerq format + pq.clear() + pq.set_left_operators_type("IP") + pq.set_left_operators([["l1"], ["l2"]]) + pq.set_right_operators([["a(i)"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) + pq.simplify() + terms_r1 = pq.fully_contracted_strings() + terms_r1 = remove_e0_eom(terms_r1) - # Get the 1TDM in albert format + # Get the L2 contractions in pdaggerq format + pq.clear() + pq.set_left_operators_type("IP") + pq.set_right_operators([["a*(a)", "a(j)", "a(i)"]]) + pq.set_left_operators([["l1"], ["l2"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) + pq.simplify() + terms_r2 = pq.fully_contracted_strings() + terms_r2 = remove_e0_eom(terms_r2) + + # Get the L amplitudes in albert format + terms = [terms_r1, terms_r2] expr = [] output = [] returns = [] - for sectors, indices in [("oo", "ij"), ("ov", "ia"), ("vo", "ai"), ("vv", "ab")]: - for index_spins in get_density_spins(1, spin, indices): - expr_n = import_from_pdaggerq(terms[sectors, indices], index_spins=index_spins) + for n in range(2): + for index_spins in get_amplitude_spins(n + 1, spin, which="ip"): + indices = default_indices["o"][: n + 1] + default_indices["v"][: n] + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins, l_is_lambda=False) expr_n = spin_integrate(expr_n, spin) - if spin == "rhf": - expr_n = tuple(e * 2 for e in expr_n) - output_n = get_density_outputs(expr_n, f"d", indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i], space=s) for i, s in zip(indices, sectors)), name=f"d"),) + output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) expr.extend(expr_n) output.extend(output_n) returns.extend(returns_n) - #output, expr = optimise_trans_dm(output, expr, spin, strategy="exhaust") - output = tuple(output_r0) + tuple(output) - expr = tuple(expr_r0) + tuple(expr) - # Generate the 1TDM code + (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="exhaust") + + # Generate the L amplitude intermediates code for name, codegen in code_generators.items(): if name == "einsum": kwargs = { - "preamble": get_density_einsum_preamble(1, spin), - "postamble": get_density_einsum_postamble(1, spin), + "as_dict": True, } else: kwargs = {} codegen( - "make_trans_gs_to_ee_rdm1_f", - returns, - output, - expr, + "hbar_lmatvec_ip_intermediates", + returns_nr, + output_nr, + expr_nr, + **kwargs, + ) + + # Generate the L amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + preamble = "ints = kwargs[\"ints\"]" + if spin == "uhf": + preamble += "\nr1new = Namespace()\nr2new = Namespace()" + kwargs = { + "preamble": preamble, + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_lmatvec_ip", + returns_r, + output_r, + expr_r, + **kwargs, + ) + +with Stopwatch("L-EA-EOM"): + # Get the L1 contractions in pdaggerq format + pq.clear() + pq.set_left_operators_type("EA") + pq.set_left_operators([["l1"], ["l2"]]) + pq.set_right_operators([["a*(a)"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) + pq.simplify() + terms_r1 = pq.fully_contracted_strings() + terms_r1 = remove_e0_eom(terms_r1) + + # Get the L2 contractions in pdaggerq format + pq.clear() + pq.set_left_operators_type("EA") + pq.set_right_operators([["a*(a)", "a*(b)", "a(i)"]]) + pq.set_left_operators([["l1"], ["l2"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) + pq.simplify() + terms_r2 = pq.fully_contracted_strings() + terms_r2 = remove_e0_eom(terms_r2) + + # Get the L amplitudes in albert format + terms = [terms_r1, terms_r2] + expr = [] + output = [] + returns = [] + for n in range(2): + for index_spins in get_amplitude_spins(n + 1, spin, which="ea"): + indices = default_indices["v"][: n + 1] + default_indices["o"][: n] + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins, l_is_lambda=False) + expr_n = spin_integrate(expr_n, spin) + output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + + (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="exhaust") + + # Generate the L amplitude intermediates code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_lmatvec_ea_intermediates", + returns_nr, + output_nr, + expr_nr, + **kwargs, + ) + + # Generate the L amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + preamble = "ints = kwargs[\"ints\"]" + if spin == "uhf": + preamble += "\nr1new = Namespace()\nr2new = Namespace()" + kwargs = { + "preamble": preamble, + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_lmatvec_ea", + returns_r, + output_r, + expr_r, **kwargs, ) +if spin != "rhf": # FIXME + with Stopwatch("L-EE-EOM"): + # Get the L1 contractions in pdaggerq format + pq.clear() + pq.set_left_operators_type("EE") + pq.set_left_operators([["l1"], ["l2"]]) + pq.set_right_operators([["e1(a,i)"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) + pq.simplify() + terms_r1 = pq.fully_contracted_strings() + terms_r1 = remove_e0_eom(terms_r1) + + # Get the L2 contractions in pdaggerq format + pq.clear() + pq.set_left_operators_type("EE") + pq.set_left_operators([["l1"], ["l2"]]) + pq.set_right_operators([["e2(a,b,j,i)"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) + pq.simplify() + terms_r2 = pq.fully_contracted_strings() + terms_r2 = remove_e0_eom(terms_r2) + + # Get the L amplitudes in albert format + terms = [terms_r1, terms_r2] + expr = [] + output = [] + returns = [] + for n in range(2): + for index_spins in get_amplitude_spins(n + 1, spin, which="ee"): + indices = default_indices["o"][: n + 1] + default_indices["v"][: n + 1] + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins, l_is_lambda=False) + expr_n = spin_integrate(expr_n, spin) + output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + + (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="trav") + + # Generate the L amplitude intermediates code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_lmatvec_ee_intermediates", + returns_nr, + output_nr, + expr_nr, + **kwargs, + ) + + # Generate the L amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + preamble = "ints = kwargs[\"ints\"]" + if spin == "uhf": + preamble += "\nr1new = Namespace()\nr2new = Namespace()" + kwargs = { + "preamble": preamble, + "postamble": "r2new.baba = r2new.abab.transpose(1, 0, 3, 2)" if spin == "uhf" else None, # FIXME + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_lmatvec_ee", + returns_r, + output_r, + expr_r, + **kwargs, + ) + +#with Stopwatch("1TDM (GS -> EE)"): +# # Get the R0 contractions in pdaggerq format +# pq.clear() +# pq.set_left_operators_type("EE") +# pq.set_left_operators([["1"]]) +# pq.set_right_operators_type("EE") +# pq.set_right_operators([["r1"], ["r2"]]) +# pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) +# pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) +# pq.simplify() +# terms_r0 = pq.fully_contracted_strings() +# terms_r0 = remove_e0_eom(terms_r0) +# +# # Get the R1 contractions in pdaggerq format +# expr_r0 = spin_integrate(import_from_pdaggerq(terms_r0), spin) +# output_r0 = returns = (Tensor(name="r0"),) +# +# # Get the 1TDM contractions in pdaggerq format +# terms = {} +# for sectors, indices in [("oo", "ij"), ("ov", "ia"), ("vo", "ai"), ("vv", "ab")]: +# pq.clear() +# pq.set_left_operators_type("EE") +# pq.set_left_operators([["1"], ["l1"], ["l2"]]) +# pq.set_right_operators_type("EE") +# pq.set_right_operators([["r0"], ["r1"], ["r2"]]) +# pq.add_st_operator(1.0, [f"e1({','.join(indices)})"], ["t1", "t2"]) +# pq.simplify() +# terms[sectors, indices] = pq.fully_contracted_strings() +# +# # Get the 1TDM in albert format +# expr = [] +# output = [] +# returns = [] +# for sectors, indices in [("oo", "ij"), ("ov", "ia"), ("vo", "ai"), ("vv", "ab")]: +# for index_spins in get_density_spins(1, spin, indices): +# expr_n = import_from_pdaggerq(terms[sectors, indices], index_spins=index_spins) +# expr_n = spin_integrate(expr_n, spin) +# if spin == "rhf": +# expr_n = tuple(e * 2 for e in expr_n) +# output_n = get_density_outputs(expr_n, f"d", indices) +# returns_n = (Tensor(*tuple(Index(i, index_spins[i], space=s) for i, s in zip(indices, sectors)), name=f"d"),) +# expr.extend(expr_n) +# output.extend(output_n) +# returns.extend(returns_n) +# #output, expr = optimise_trans_dm(output, expr, spin, strategy="exhaust") +# output = tuple(output_r0) + tuple(output) +# expr = tuple(expr_r0) + tuple(expr) +# +# # Generate the 1TDM code +# for name, codegen in code_generators.items(): +# if name == "einsum": +# kwargs = { +# "preamble": get_density_einsum_preamble(1, spin), +# "postamble": get_density_einsum_postamble(1, spin), +# } +# else: +# kwargs = {} +# codegen( +# "make_trans_gs_to_ee_rdm1_f", +# returns, +# output, +# expr, +# **kwargs, +# ) + for codegen in code_generators.values(): codegen.postamble() codegen.stdout.close() From 38d997e913158a3e51a5ca0e5b142335eedb05bc Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Thu, 15 Aug 2024 22:38:53 +0100 Subject: [PATCH 087/168] EOM-MP2 --- ebcc/codegen/bootstrap_MPn.py | 215 ++++++++++++++++++++++++++++++++++ 1 file changed, 215 insertions(+) diff --git a/ebcc/codegen/bootstrap_MPn.py b/ebcc/codegen/bootstrap_MPn.py index f0a409f2..b2f924c9 100644 --- a/ebcc/codegen/bootstrap_MPn.py +++ b/ebcc/codegen/bootstrap_MPn.py @@ -219,6 +219,221 @@ def get_postamble(n, spin, name="rdm{n}"): **kwargs, ) + with Stopwatch("IP-EOM"): + # Get the R1 contractions in pdaggerq format + terms_r1 = [ + ["-1.0", "f(j,i)", "r1(j)"], + ["+0.5", "", "r2(a,k,j)"], + ["-0.5", "", "r1(k)", "t2(a,b,i,j)"], + ] + + # Get the R2 contractions in pdaggerq format + terms_r2 = [ + ["-1.0", "", "r1(k)"], + ["+1.00000000000000", "f(a,b)", "r2(b,i,j)"], + ["-1.00000000000000", "P(i,j)", "f(k,j)", "r2(a,i,k)"], + ] + + # Get the R amplitudes in albert format + terms = [terms_r1, terms_r2] + expr = [] + output = [] + returns = [] + for n in range(2): + for index_spins in get_amplitude_spins(n + 1, spin, which="ip"): + indices = default_indices["o"][: n + 1] + default_indices["v"][: n] + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + + (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="exhaust") + + # Generate the R amplitude intermediates code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_matvec_ip_intermediates", + returns_nr, + output_nr, + expr_nr, + **kwargs, + ) + + # Generate the R amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + preamble = "ints = kwargs[\"ints\"]" + if spin == "uhf": + preamble += "\nr1new = Namespace()\nr2new = Namespace()" + kwargs = { + "preamble": preamble, + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_matvec_ip", + returns_r, + output_r, + expr_r, + **kwargs, + ) + + with Stopwatch("EA-EOM"): + # Get the R1 contractions in pdaggerq format + terms_r1 = [ + ["+1.0", "f(a,b)", "r1(b)"], + ["-0.5", "", "r2(b,c,i)"], + ["-0.5", "", "r1(c)", "t2(b,a,j,i)"], + ] + + # Get the R2 contractions in pdaggerq format + terms_r2 = [ + ["-1.0", "f(j,i)", "r2(a,b,j)"], + ["+1.0", "P(a,b)", "f(a,c)", "r2(c,b,i)"], + ["+1.00000000000000", "", "r1(c)"], + ] + + # Get the R amplitudes in albert format + terms = [terms_r1, terms_r2] + expr = [] + output = [] + returns = [] + for n in range(2): + for index_spins in get_amplitude_spins(n + 1, spin, which="ea"): + indices = default_indices["v"][: n + 1] + default_indices["o"][: n] + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + + (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="exhaust") + + # Generate the R amplitude intermediates code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_matvec_ea_intermediates", + returns_nr, + output_nr, + expr_nr, + **kwargs, + ) + + # Generate the R amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + preamble = "ints = kwargs[\"ints\"]" + if spin == "uhf": + preamble += "\nr1new = Namespace()\nr2new = Namespace()" + kwargs = { + "preamble": preamble, + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_matvec_ea", + returns_r, + output_r, + expr_r, + **kwargs, + ) + + with Stopwatch("EE-EOM"): + # Get the R1 contractions in pdaggerq format + terms_r1 = [ + ["-1.0", "f(j,i)", "r1(a,j)"], + ["+1.0", "f(a,b)", "r1(b,i)"], + ["+1.0", "", "r1(b,j)"], + ["-0.5", "", "r2(b,a,k,j)"], + ["-0.5", "", "r2(b,c,i,j)"], + ["-0.5", "", "r1(a,k)", "t2(b,c,i,j)"], + ["-0.5", "", "r1(c,i)", "t2(b,a,k,j)"], + ["+1.0", "", "r1(c,k)", "t2(b,a,i,j)"], + ] + + # Get the R2 contractions in pdaggerq format + terms_r2 = [ + ["-1.0", "P(i,j)", "f(k,j)", "r2(a,b,i,k)"], + ["+1.0", "P(a,b)", "f(a,c)", "r2(c,b,i,j)"], + ["+0.5", "", "r2(a,b,l,k)"], + ["+1.0", "P(i,j)", "P(a,b)", "", "r2(c,b,i,k)"], + ["+0.5", "", "r2(c,d,i,j)"], + ] + + # Get the R amplitudes in albert format + terms = [terms_r1, terms_r2] + expr = [] + output = [] + returns = [] + for n in range(2): + for index_spins in get_amplitude_spins(n + 1, spin, which="ee"): + indices = default_indices["o"][: n + 1] + default_indices["v"][: n + 1] + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + + (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="trav") + + # Generate the R amplitude intermediates code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_matvec_ee_intermediates", + returns_nr, + output_nr, + expr_nr, + **kwargs, + ) + + # Generate the R amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + preamble = "ints = kwargs[\"ints\"]" + if spin == "uhf": + preamble += "\nr1new = Namespace()\nr2new = Namespace()" + kwargs = { + "preamble": preamble, + "postamble": "r2new.baba = r2new.abab.transpose(1, 0, 3, 2)" if spin == "uhf" else None, # FIXME + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_matvec_ee", + returns_r, + output_r, + expr_r, + **kwargs, + ) + for codegen in code_generators.values(): codegen.postamble() codegen.stdout.close() From 1ccb9873ca3d1102778e0d132a9cb087561fb812 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Fri, 16 Aug 2024 10:28:48 +0100 Subject: [PATCH 088/168] Fixes for EOM-MP2 --- ebcc/codegen/bootstrap_MPn.py | 38 ++++++++++++++++++++--------------- 1 file changed, 22 insertions(+), 16 deletions(-) diff --git a/ebcc/codegen/bootstrap_MPn.py b/ebcc/codegen/bootstrap_MPn.py index b2f924c9..3fff3e9a 100644 --- a/ebcc/codegen/bootstrap_MPn.py +++ b/ebcc/codegen/bootstrap_MPn.py @@ -230,8 +230,8 @@ def get_postamble(n, spin, name="rdm{n}"): # Get the R2 contractions in pdaggerq format terms_r2 = [ ["-1.0", "", "r1(k)"], - ["+1.00000000000000", "f(a,b)", "r2(b,i,j)"], - ["-1.00000000000000", "P(i,j)", "f(k,j)", "r2(a,i,k)"], + ["+1.0", "f(a,b)", "r2(b,i,j)"], + ["-1.0", "P(i,j)", "f(k,j)", "r2(a,i,k)"], ] # Get the R amplitudes in albert format @@ -300,7 +300,7 @@ def get_postamble(n, spin, name="rdm{n}"): terms_r2 = [ ["-1.0", "f(j,i)", "r2(a,b,j)"], ["+1.0", "P(a,b)", "f(a,c)", "r2(c,b,i)"], - ["+1.00000000000000", "", "r1(c)"], + ["+1.0", "", "r1(c)"], ] # Get the R amplitudes in albert format @@ -360,23 +360,29 @@ def get_postamble(n, spin, name="rdm{n}"): with Stopwatch("EE-EOM"): # Get the R1 contractions in pdaggerq format terms_r1 = [ - ["-1.0", "f(j,i)", "r1(a,j)"], - ["+1.0", "f(a,b)", "r1(b,i)"], - ["+1.0", "", "r1(b,j)"], - ["-0.5", "", "r2(b,a,k,j)"], - ["-0.5", "", "r2(b,c,i,j)"], - ["-0.5", "", "r1(a,k)", "t2(b,c,i,j)"], - ["-0.5", "", "r1(c,i)", "t2(b,a,k,j)"], - ["+1.0", "", "r1(c,k)", "t2(b,a,i,j)"], + ["-1.0", "f(j,i)", "r1(a,j)"], # ph-ph 0th + ["+1.0", "f(a,b)", "r1(b,i)"], # ph-ph 0th + ["+1.00", "", "r1(b,j)"], # ph-ph 1st + ["+0.25", "t2(a,c,k,l)", "", "r1(b,i)"], # ph-ph 2nd + ["+0.25", "t2(b,c,k,l)", "", "r1(b,i)"], # ph-ph 2nd + ["+0.25", "t2(c,d,i,k)", "", "r1(a,j)"], # ph-ph 2nd + ["+0.25", "t2(c,d,j,k)", "", "r1(a,j)"], # ph-ph 2nd + ["-0.50", "t2(a,c,i,k)", "", "r1(b,j)"], # ph-ph 2nd + ["-0.50", "t2(b,c,j,k)", "", "r1(b,j)"], # ph-ph 2nd + ["+1.0", "d(a,c)", "", "r2(c,d,k,l)"], # ph-pphh 1st + ["-1.0", "d(a,d)", "", "r2(c,d,k,l)"], # ph-pphh 1st + ["-1.0", "d(i,k)", "", "r2(c,d,k,l)"], # ph-pphh 1st + ["+1.0", "d(i,l)", "", "r2(c,d,k,l)"], # ph-pphh 1st ] # Get the R2 contractions in pdaggerq format terms_r2 = [ - ["-1.0", "P(i,j)", "f(k,j)", "r2(a,b,i,k)"], - ["+1.0", "P(a,b)", "f(a,c)", "r2(c,b,i,j)"], - ["+0.5", "", "r2(a,b,l,k)"], - ["+1.0", "P(i,j)", "P(a,b)", "", "r2(c,b,i,k)"], - ["+0.5", "", "r2(c,d,i,j)"], + ["-1.0", "P(i,j)", "f(k,j)", "r2(a,b,i,k)"], # pphh-pphh 0th + ["+1.0", "P(a,b)", "f(a,c)", "r2(c,b,i,j)"], # pphh-pphh 0th + ["+1.00", "d(a,c)", "", "r1(c,k)"], # pphh-ph 1st + ["-1.00", "d(b,c)", "", "r1(c,k)"], # pphh-ph 1st + ["-1.00", "d(i,k)", "", "r1(c,k)"], # pphh-ph 1st + ["+1.00", "d(j,k)", "", "r1(c,k)"], # pphh-ph 1st ] # Get the R amplitudes in albert format From ccd8f4742988112b73076901ce59bbafc8085987 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Fri, 16 Aug 2024 10:32:22 +0100 Subject: [PATCH 089/168] Resolve deltas --- ebcc/codegen/bootstrap_MPn.py | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/ebcc/codegen/bootstrap_MPn.py b/ebcc/codegen/bootstrap_MPn.py index 3fff3e9a..25df305a 100644 --- a/ebcc/codegen/bootstrap_MPn.py +++ b/ebcc/codegen/bootstrap_MPn.py @@ -369,20 +369,20 @@ def get_postamble(n, spin, name="rdm{n}"): ["+0.25", "t2(c,d,j,k)", "", "r1(a,j)"], # ph-ph 2nd ["-0.50", "t2(a,c,i,k)", "", "r1(b,j)"], # ph-ph 2nd ["-0.50", "t2(b,c,j,k)", "", "r1(b,j)"], # ph-ph 2nd - ["+1.0", "d(a,c)", "", "r2(c,d,k,l)"], # ph-pphh 1st - ["-1.0", "d(a,d)", "", "r2(c,d,k,l)"], # ph-pphh 1st - ["-1.0", "d(i,k)", "", "r2(c,d,k,l)"], # ph-pphh 1st - ["+1.0", "d(i,l)", "", "r2(c,d,k,l)"], # ph-pphh 1st + ["+1.0", "", "r2(a,d,k,l)"], # ph-pphh 1st + ["-1.0", "", "r2(c,a,k,l)"], # ph-pphh 1st + ["-1.0", "", "r2(c,d,i,l)"], # ph-pphh 1st + ["+1.0", "", "r2(c,d,k,i)"], # ph-pphh 1st ] # Get the R2 contractions in pdaggerq format terms_r2 = [ ["-1.0", "P(i,j)", "f(k,j)", "r2(a,b,i,k)"], # pphh-pphh 0th ["+1.0", "P(a,b)", "f(a,c)", "r2(c,b,i,j)"], # pphh-pphh 0th - ["+1.00", "d(a,c)", "", "r1(c,k)"], # pphh-ph 1st - ["-1.00", "d(b,c)", "", "r1(c,k)"], # pphh-ph 1st - ["-1.00", "d(i,k)", "", "r1(c,k)"], # pphh-ph 1st - ["+1.00", "d(j,k)", "", "r1(c,k)"], # pphh-ph 1st + ["+1.00", "", "r1(a,k)"], # pphh-ph 1st + ["-1.00", "", "r1(b,k)"], # pphh-ph 1st + ["-1.00", "", "r1(c,i)"], # pphh-ph 1st + ["+1.00", "", "r1(c,j)"], # pphh-ph 1st ] # Get the R amplitudes in albert format From ddb48144b0fea738c0548c859a4c7fbafbd3ebb5 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Fri, 16 Aug 2024 18:11:37 +0100 Subject: [PATCH 090/168] Trying to fix EE-EOM-MP2 --- ebcc/codegen/bootstrap_MPn.py | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/ebcc/codegen/bootstrap_MPn.py b/ebcc/codegen/bootstrap_MPn.py index 25df305a..173de1c8 100644 --- a/ebcc/codegen/bootstrap_MPn.py +++ b/ebcc/codegen/bootstrap_MPn.py @@ -360,29 +360,29 @@ def get_postamble(n, spin, name="rdm{n}"): with Stopwatch("EE-EOM"): # Get the R1 contractions in pdaggerq format terms_r1 = [ - ["-1.0", "f(j,i)", "r1(a,j)"], # ph-ph 0th - ["+1.0", "f(a,b)", "r1(b,i)"], # ph-ph 0th - ["+1.00", "", "r1(b,j)"], # ph-ph 1st + ["-1.00", "f(j,i)", "r1(a,j)"], # ph-ph 0th + ["+1.00", "f(a,b)", "r1(b,i)"], # ph-ph 0th + ["-1.00", "", "r1(b,j)"], # ph-ph 1st ["+0.25", "t2(a,c,k,l)", "", "r1(b,i)"], # ph-ph 2nd ["+0.25", "t2(b,c,k,l)", "", "r1(b,i)"], # ph-ph 2nd ["+0.25", "t2(c,d,i,k)", "", "r1(a,j)"], # ph-ph 2nd ["+0.25", "t2(c,d,j,k)", "", "r1(a,j)"], # ph-ph 2nd ["-0.50", "t2(a,c,i,k)", "", "r1(b,j)"], # ph-ph 2nd ["-0.50", "t2(b,c,j,k)", "", "r1(b,j)"], # ph-ph 2nd - ["+1.0", "", "r2(a,d,k,l)"], # ph-pphh 1st - ["-1.0", "", "r2(c,a,k,l)"], # ph-pphh 1st - ["-1.0", "", "r2(c,d,i,l)"], # ph-pphh 1st - ["+1.0", "", "r2(c,d,k,i)"], # ph-pphh 1st + ["+1.00", "", "r2(a,d,k,l)"], # ph-pphh 1st + ["-1.00", "", "r2(c,a,k,l)"], # ph-pphh 1st + ["-1.00", "", "r2(c,d,i,l)"], # ph-pphh 1st + ["+1.00", "", "r2(c,d,k,i)"], # ph-pphh 1st ] # Get the R2 contractions in pdaggerq format terms_r2 = [ ["-1.0", "P(i,j)", "f(k,j)", "r2(a,b,i,k)"], # pphh-pphh 0th ["+1.0", "P(a,b)", "f(a,c)", "r2(c,b,i,j)"], # pphh-pphh 0th - ["+1.00", "", "r1(a,k)"], # pphh-ph 1st - ["-1.00", "", "r1(b,k)"], # pphh-ph 1st - ["-1.00", "", "r1(c,i)"], # pphh-ph 1st - ["+1.00", "", "r1(c,j)"], # pphh-ph 1st + ["+1.0", "", "r1(a,k)"], # pphh-ph 1st + ["-1.0", "", "r1(b,k)"], # pphh-ph 1st + ["-1.0", "", "r1(c,i)"], # pphh-ph 1st + ["+1.0", "", "r1(c,j)"], # pphh-ph 1st ] # Get the R amplitudes in albert format From ff9a195656e9f5d5e4842194fa84ab9038548b3a Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Fri, 16 Aug 2024 18:49:00 +0100 Subject: [PATCH 091/168] More attempts --- ebcc/codegen/bootstrap_MPn.py | 46 +++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/ebcc/codegen/bootstrap_MPn.py b/ebcc/codegen/bootstrap_MPn.py index 173de1c8..7dfa553c 100644 --- a/ebcc/codegen/bootstrap_MPn.py +++ b/ebcc/codegen/bootstrap_MPn.py @@ -358,6 +358,33 @@ def get_postamble(n, spin, name="rdm{n}"): ) with Stopwatch("EE-EOM"): + # Get the R1 contractions in pdaggerq format + pq.clear() + pq.set_right_operators_type("EE") + pq.set_left_operators([["e1(i,a)"]]) + pq.set_right_operators([["r1"], ["r2"]]) + pq.add_st_operator(1.0, ["f"], ["t2"]) + pq.add_st_operator(1.0, ["v"], ["t2"]) + pq.simplify() + terms_r1 = pq.fully_contracted_strings() + terms_r1 = remove_e0_eom(terms_r1) + + # Get the R2 contractions in pdaggerq format + pq.clear() + pq.set_right_operators_type("EE") + pq.set_left_operators([["e2(i,j,b,a)"]]) + pq.set_right_operators([["r1"], ["r2"]]) + pq.add_st_operator(1.0, ["f"], ["t2"]) + pq.add_st_operator(1.0, ["v"], ["t2"]) + pq.simplify() + terms_r2 = pq.fully_contracted_strings() + terms_r2 = remove_e0_eom(terms_r2) + + for terms in [terms_r1, terms_r2]: + for term in terms: + print(term) + print() + # Get the R1 contractions in pdaggerq format terms_r1 = [ ["-1.00", "f(j,i)", "r1(a,j)"], # ph-ph 0th @@ -385,6 +412,25 @@ def get_postamble(n, spin, name="rdm{n}"): ["+1.0", "", "r1(c,j)"], # pphh-ph 1st ] + terms_r1 = [ + ['-1.00000000000000', 'f(j,i)', 'r1(a,j)'], + ['+1.00000000000000', 'f(a,b)', 'r1(b,i)'], + ['+1.00000000000000', '', 'r1(b,j)'], + ['-0.50000000000000', '', 'r2(b,a,k,j)'], + ['-0.50000000000000', '', 'r2(b,c,i,j)'], + ['-0.50000000000000', '', 'r1(a,k)', 't2(b,c,i,j)'], + ['-0.50000000000000', '', 'r1(c,i)', 't2(b,a,k,j)'], + ['+1.00000000000000', '', 'r1(c,k)', 't2(b,a,i,j)'], + ] + + terms_r2 = [ + ['-1.00000000000000', 'P(i,j)', 'f(k,j)', 'r2(a,b,i,k)'], + ['+1.00000000000000', 'P(a,b)', 'f(a,c)', 'r2(c,b,i,j)'], + ['+1.00000000000000', 'P(a,b)', '', 'r1(b,k)'], + ['+1.00000000000000', 'P(i,j)', '', 'r1(c,i)'], + ] + + # Get the R amplitudes in albert format terms = [terms_r1, terms_r2] expr = [] From 3e058baef83f64f5498a62db186c9c9259f5f973 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Fri, 16 Aug 2024 18:50:31 +0100 Subject: [PATCH 092/168] Working now --- ebcc/codegen/bootstrap_MPn.py | 55 +---------------------------------- 1 file changed, 1 insertion(+), 54 deletions(-) diff --git a/ebcc/codegen/bootstrap_MPn.py b/ebcc/codegen/bootstrap_MPn.py index 7dfa553c..e05ac539 100644 --- a/ebcc/codegen/bootstrap_MPn.py +++ b/ebcc/codegen/bootstrap_MPn.py @@ -358,60 +358,7 @@ def get_postamble(n, spin, name="rdm{n}"): ) with Stopwatch("EE-EOM"): - # Get the R1 contractions in pdaggerq format - pq.clear() - pq.set_right_operators_type("EE") - pq.set_left_operators([["e1(i,a)"]]) - pq.set_right_operators([["r1"], ["r2"]]) - pq.add_st_operator(1.0, ["f"], ["t2"]) - pq.add_st_operator(1.0, ["v"], ["t2"]) - pq.simplify() - terms_r1 = pq.fully_contracted_strings() - terms_r1 = remove_e0_eom(terms_r1) - - # Get the R2 contractions in pdaggerq format - pq.clear() - pq.set_right_operators_type("EE") - pq.set_left_operators([["e2(i,j,b,a)"]]) - pq.set_right_operators([["r1"], ["r2"]]) - pq.add_st_operator(1.0, ["f"], ["t2"]) - pq.add_st_operator(1.0, ["v"], ["t2"]) - pq.simplify() - terms_r2 = pq.fully_contracted_strings() - terms_r2 = remove_e0_eom(terms_r2) - - for terms in [terms_r1, terms_r2]: - for term in terms: - print(term) - print() - # Get the R1 contractions in pdaggerq format - terms_r1 = [ - ["-1.00", "f(j,i)", "r1(a,j)"], # ph-ph 0th - ["+1.00", "f(a,b)", "r1(b,i)"], # ph-ph 0th - ["-1.00", "", "r1(b,j)"], # ph-ph 1st - ["+0.25", "t2(a,c,k,l)", "", "r1(b,i)"], # ph-ph 2nd - ["+0.25", "t2(b,c,k,l)", "", "r1(b,i)"], # ph-ph 2nd - ["+0.25", "t2(c,d,i,k)", "", "r1(a,j)"], # ph-ph 2nd - ["+0.25", "t2(c,d,j,k)", "", "r1(a,j)"], # ph-ph 2nd - ["-0.50", "t2(a,c,i,k)", "", "r1(b,j)"], # ph-ph 2nd - ["-0.50", "t2(b,c,j,k)", "", "r1(b,j)"], # ph-ph 2nd - ["+1.00", "", "r2(a,d,k,l)"], # ph-pphh 1st - ["-1.00", "", "r2(c,a,k,l)"], # ph-pphh 1st - ["-1.00", "", "r2(c,d,i,l)"], # ph-pphh 1st - ["+1.00", "", "r2(c,d,k,i)"], # ph-pphh 1st - ] - - # Get the R2 contractions in pdaggerq format - terms_r2 = [ - ["-1.0", "P(i,j)", "f(k,j)", "r2(a,b,i,k)"], # pphh-pphh 0th - ["+1.0", "P(a,b)", "f(a,c)", "r2(c,b,i,j)"], # pphh-pphh 0th - ["+1.0", "", "r1(a,k)"], # pphh-ph 1st - ["-1.0", "", "r1(b,k)"], # pphh-ph 1st - ["-1.0", "", "r1(c,i)"], # pphh-ph 1st - ["+1.0", "", "r1(c,j)"], # pphh-ph 1st - ] - terms_r1 = [ ['-1.00000000000000', 'f(j,i)', 'r1(a,j)'], ['+1.00000000000000', 'f(a,b)', 'r1(b,i)'], @@ -423,6 +370,7 @@ def get_postamble(n, spin, name="rdm{n}"): ['+1.00000000000000', '', 'r1(c,k)', 't2(b,a,i,j)'], ] + # Get the R2 contractions in pdaggerq format terms_r2 = [ ['-1.00000000000000', 'P(i,j)', 'f(k,j)', 'r2(a,b,i,k)'], ['+1.00000000000000', 'P(a,b)', 'f(a,c)', 'r2(c,b,i,j)'], @@ -430,7 +378,6 @@ def get_postamble(n, spin, name="rdm{n}"): ['+1.00000000000000', 'P(i,j)', '', 'r1(c,i)'], ] - # Get the R amplitudes in albert format terms = [terms_r1, terms_r2] expr = [] From 44e5686b19ab8076e23c42b388f93e0acc2db882 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Fri, 16 Aug 2024 23:13:00 +0100 Subject: [PATCH 093/168] More attempts --- ebcc/codegen/bootstrap_MPn.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/ebcc/codegen/bootstrap_MPn.py b/ebcc/codegen/bootstrap_MPn.py index e05ac539..e306eac1 100644 --- a/ebcc/codegen/bootstrap_MPn.py +++ b/ebcc/codegen/bootstrap_MPn.py @@ -224,7 +224,8 @@ def get_postamble(n, spin, name="rdm{n}"): terms_r1 = [ ["-1.0", "f(j,i)", "r1(j)"], ["+0.5", "", "r2(a,k,j)"], - ["-0.5", "", "r1(k)", "t2(a,b,i,j)"], + ["-0.25", "", "t2(a,b,i,j)", "r1(k)"], + ["-0.25", "", "t2(a,b,k,j)", "r1(k)"], ] # Get the R2 contractions in pdaggerq format @@ -293,7 +294,8 @@ def get_postamble(n, spin, name="rdm{n}"): terms_r1 = [ ["+1.0", "f(a,b)", "r1(b)"], ["-0.5", "", "r2(b,c,i)"], - ["-0.5", "", "r1(c)", "t2(b,a,j,i)"], + ["-0.25", "", "t2(b,a,j,i)", "r1(c)"], + ["-0.25", "", "t2(b,c,j,i)", "r1(c)"], ] # Get the R2 contractions in pdaggerq format From 9caff75435cd525c8ce0f5fccfe7edb3411cae80 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Fri, 16 Aug 2024 23:31:32 +0100 Subject: [PATCH 094/168] Formatting --- ebcc/codegen/bootstrap_MPn.py | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/ebcc/codegen/bootstrap_MPn.py b/ebcc/codegen/bootstrap_MPn.py index e306eac1..5955429f 100644 --- a/ebcc/codegen/bootstrap_MPn.py +++ b/ebcc/codegen/bootstrap_MPn.py @@ -362,22 +362,22 @@ def get_postamble(n, spin, name="rdm{n}"): with Stopwatch("EE-EOM"): # Get the R1 contractions in pdaggerq format terms_r1 = [ - ['-1.00000000000000', 'f(j,i)', 'r1(a,j)'], - ['+1.00000000000000', 'f(a,b)', 'r1(b,i)'], - ['+1.00000000000000', '', 'r1(b,j)'], - ['-0.50000000000000', '', 'r2(b,a,k,j)'], - ['-0.50000000000000', '', 'r2(b,c,i,j)'], - ['-0.50000000000000', '', 'r1(a,k)', 't2(b,c,i,j)'], - ['-0.50000000000000', '', 'r1(c,i)', 't2(b,a,k,j)'], - ['+1.00000000000000', '', 'r1(c,k)', 't2(b,a,i,j)'], + ["-1.0", "f(j,i)", "r1(a,j)"], + ["+1.0", "f(a,b)", "r1(b,i)"], + ["+1.0", "", "r1(b,j)"], + ["-0.5", "", "r2(b,a,k,j)"], + ["-0.5", "", "r2(b,c,i,j)"], + ["-0.5", "", "r1(a,k)", "t2(b,c,i,j)"], + ["-0.5", "", "r1(c,i)", "t2(b,a,k,j)"], + ["+1.0", "", "r1(c,k)", "t2(b,a,i,j)"], ] # Get the R2 contractions in pdaggerq format terms_r2 = [ - ['-1.00000000000000', 'P(i,j)', 'f(k,j)', 'r2(a,b,i,k)'], - ['+1.00000000000000', 'P(a,b)', 'f(a,c)', 'r2(c,b,i,j)'], - ['+1.00000000000000', 'P(a,b)', '', 'r1(b,k)'], - ['+1.00000000000000', 'P(i,j)', '', 'r1(c,i)'], + ["-1.0", "P(i,j)", "f(k,j)", "r2(a,b,i,k)"], + ["+1.0", "P(a,b)", "f(a,c)", "r2(c,b,i,j)"], + ["+1.0", "P(a,b)", "", "r1(b,k)"], + ["+1.0", "P(i,j)", "", "r1(c,i)"], ] # Get the R amplitudes in albert format From 6519993a727b81969e299b0f0a52ba965bf8aae1 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Sat, 17 Aug 2024 00:07:58 +0100 Subject: [PATCH 095/168] Remove restricted EE for now --- ebcc/codegen/bootstrap_MPn.py | 145 +++++++++++++++++----------------- 1 file changed, 73 insertions(+), 72 deletions(-) diff --git a/ebcc/codegen/bootstrap_MPn.py b/ebcc/codegen/bootstrap_MPn.py index 5955429f..53d38505 100644 --- a/ebcc/codegen/bootstrap_MPn.py +++ b/ebcc/codegen/bootstrap_MPn.py @@ -359,81 +359,82 @@ def get_postamble(n, spin, name="rdm{n}"): **kwargs, ) - with Stopwatch("EE-EOM"): - # Get the R1 contractions in pdaggerq format - terms_r1 = [ - ["-1.0", "f(j,i)", "r1(a,j)"], - ["+1.0", "f(a,b)", "r1(b,i)"], - ["+1.0", "", "r1(b,j)"], - ["-0.5", "", "r2(b,a,k,j)"], - ["-0.5", "", "r2(b,c,i,j)"], - ["-0.5", "", "r1(a,k)", "t2(b,c,i,j)"], - ["-0.5", "", "r1(c,i)", "t2(b,a,k,j)"], - ["+1.0", "", "r1(c,k)", "t2(b,a,i,j)"], - ] - - # Get the R2 contractions in pdaggerq format - terms_r2 = [ - ["-1.0", "P(i,j)", "f(k,j)", "r2(a,b,i,k)"], - ["+1.0", "P(a,b)", "f(a,c)", "r2(c,b,i,j)"], - ["+1.0", "P(a,b)", "", "r1(b,k)"], - ["+1.0", "P(i,j)", "", "r1(c,i)"], - ] - - # Get the R amplitudes in albert format - terms = [terms_r1, terms_r2] - expr = [] - output = [] - returns = [] - for n in range(2): - for index_spins in get_amplitude_spins(n + 1, spin, which="ee"): - indices = default_indices["o"][: n + 1] + default_indices["v"][: n + 1] - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) - expr_n = spin_integrate(expr_n, spin) - output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) + if spin != "rhf": # FIXME + with Stopwatch("EE-EOM"): + # Get the R1 contractions in pdaggerq format + terms_r1 = [ + ["-1.0", "f(j,i)", "r1(a,j)"], + ["+1.0", "f(a,b)", "r1(b,i)"], + ["+1.0", "", "r1(b,j)"], + ["-0.5", "", "r2(b,a,k,j)"], + ["-0.5", "", "r2(b,c,i,j)"], + ["-0.5", "", "r1(a,k)", "t2(b,c,i,j)"], + ["-0.5", "", "r1(c,i)", "t2(b,a,k,j)"], + ["+1.0", "", "r1(c,k)", "t2(b,a,i,j)"], + ] - (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="trav") + # Get the R2 contractions in pdaggerq format + terms_r2 = [ + ["-1.0", "P(i,j)", "f(k,j)", "r2(a,b,i,k)"], + ["+1.0", "P(a,b)", "f(a,c)", "r2(c,b,i,j)"], + ["+1.0", "P(a,b)", "", "r1(b,k)"], + ["+1.0", "P(i,j)", "", "r1(c,i)"], + ] - # Generate the R amplitude intermediates code - for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "as_dict": True, - } - else: - kwargs = {} - codegen( - "hbar_matvec_ee_intermediates", - returns_nr, - output_nr, - expr_nr, - **kwargs, - ) + # Get the R amplitudes in albert format + terms = [terms_r1, terms_r2] + expr = [] + output = [] + returns = [] + for n in range(2): + for index_spins in get_amplitude_spins(n + 1, spin, which="ee"): + indices = default_indices["o"][: n + 1] + default_indices["v"][: n + 1] + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) - # Generate the R amplitude code - for name, codegen in code_generators.items(): - if name == "einsum": - preamble = "ints = kwargs[\"ints\"]" - if spin == "uhf": - preamble += "\nr1new = Namespace()\nr2new = Namespace()" - kwargs = { - "preamble": preamble, - "postamble": "r2new.baba = r2new.abab.transpose(1, 0, 3, 2)" if spin == "uhf" else None, # FIXME - "as_dict": True, - } - else: - kwargs = {} - codegen( - "hbar_matvec_ee", - returns_r, - output_r, - expr_r, - **kwargs, - ) + (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="trav") + + # Generate the R amplitude intermediates code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_matvec_ee_intermediates", + returns_nr, + output_nr, + expr_nr, + **kwargs, + ) + + # Generate the R amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + preamble = "ints = kwargs[\"ints\"]" + if spin == "uhf": + preamble += "\nr1new = Namespace()\nr2new = Namespace()" + kwargs = { + "preamble": preamble, + "postamble": "r2new.baba = r2new.abab.transpose(1, 0, 3, 2)" if spin == "uhf" else None, # FIXME + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_matvec_ee", + returns_r, + output_r, + expr_r, + **kwargs, + ) for codegen in code_generators.values(): codegen.postamble() From 8757a1be7abd22a084e78f3cec641c4f534d0425 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Sat, 17 Aug 2024 00:34:42 +0100 Subject: [PATCH 096/168] Fix MP2 RDM2 --- ebcc/codegen/bootstrap_MPn.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ebcc/codegen/bootstrap_MPn.py b/ebcc/codegen/bootstrap_MPn.py index 53d38505..e3be39d4 100644 --- a/ebcc/codegen/bootstrap_MPn.py +++ b/ebcc/codegen/bootstrap_MPn.py @@ -179,7 +179,7 @@ def get_postamble(n, spin, name="rdm{n}"): ("vvvv", "abcd"), ]: if (sectors, indices) not in terms: - continue + terms[sectors, indices] = [] for index_spins in get_density_spins(2, spin, indices): expr_n = import_from_pdaggerq(terms[sectors, indices], index_spins=index_spins) if not (isinstance(expr_n, int) and expr_n == 0): @@ -198,12 +198,12 @@ def get_postamble(n, spin, name="rdm{n}"): nm = name.format(n=n) postamble = "" if spin != "uhf": - for occ in [k[0] for k, v in terms.items() if v]: + for occ in [k[0] for k, v in terms.items() if not v]: shape = ", ".join(f"t2.shape[{'0' if o == 'o' else '-1'}]" for o in occ) postamble += f"{nm}.{occ} = np.zeros(({shape}))\n" else: for s1, s2 in [("a", "a"), ("a", "b"), ("b", "b")]: - for occ in [k[0] for k, v in terms.items() if v]: + for occ in [k[0] for k, v in terms.items() if not v]: shape = ", ".join(f"t2.{s}{s}{s}{s}.shape[{'0' if o == 'o' else '-1'}]" for o, s in zip(occ, s1+s2+s1+s2)) postamble += f"{nm}.{s1}{s2}{s1}{s2}.{occ} = np.zeros(({shape}))\n" return postamble + get_density_einsum_postamble(n, spin) From 9ff47a59f21fd0457b09c166b853c2591e03a428 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Sat, 17 Aug 2024 00:54:47 +0100 Subject: [PATCH 097/168] Fix L2 index order --- ebcc/codegen/bootstrap_MPn.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ebcc/codegen/bootstrap_MPn.py b/ebcc/codegen/bootstrap_MPn.py index e3be39d4..064aee2e 100644 --- a/ebcc/codegen/bootstrap_MPn.py +++ b/ebcc/codegen/bootstrap_MPn.py @@ -153,7 +153,7 @@ def get_postamble(n, spin, name="rdm{n}"): terms = { ('oooo', 'ijkl'): [['+1.0', 'P(i,j)', 'd(i,k)', 'd(j,l)']], ('oovv', 'ijab'): [['+0.25', 't2(a,b,i,j)']], - ('vvoo', 'abij'): [['+0.25', 'l2(a,b,i,j)']], + ('vvoo', 'abij'): [['+0.25', 'l2(i,j,a,b)']], } # Get the 2RDM in albert format From a4a0340d9bb2da90e30e72af6453e85b1f66337e Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Sat, 17 Aug 2024 10:56:33 +0100 Subject: [PATCH 098/168] Trying to fix RMP2 2RDM --- ebcc/codegen/bootstrap_MPn.py | 20 ++++---------------- ebcc/codegen/bootstrap_common.py | 14 +++++++++++++- 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/ebcc/codegen/bootstrap_MPn.py b/ebcc/codegen/bootstrap_MPn.py index 064aee2e..01774a1c 100644 --- a/ebcc/codegen/bootstrap_MPn.py +++ b/ebcc/codegen/bootstrap_MPn.py @@ -151,9 +151,9 @@ def get_postamble(n, spin, name="rdm{n}"): with Stopwatch("2RDM"): # Get the 2RDM contractions in pdaggerq format terms = { - ('oooo', 'ijkl'): [['+1.0', 'P(i,j)', 'd(i,k)', 'd(j,l)']], - ('oovv', 'ijab'): [['+0.25', 't2(a,b,i,j)']], - ('vvoo', 'abij'): [['+0.25', 'l2(i,j,a,b)']], + ("oooo", "ijkl"): [["+1.00", "P(i,j)", "d(i,k)", "d(j,l)"]], + ("oovv", "ijab"): [["+0.25", "t2(a,b,i,j)"]], + ("vvoo", "abij"): [["+0.25", "l2(i,j,a,b)"]], } # Get the 2RDM in albert format @@ -194,19 +194,7 @@ def get_postamble(n, spin, name="rdm{n}"): # Generate the 2RDM code for name, codegen in code_generators.items(): if name == "einsum": - def get_postamble(n, spin, name="rdm{n}"): - nm = name.format(n=n) - postamble = "" - if spin != "uhf": - for occ in [k[0] for k, v in terms.items() if not v]: - shape = ", ".join(f"t2.shape[{'0' if o == 'o' else '-1'}]" for o in occ) - postamble += f"{nm}.{occ} = np.zeros(({shape}))\n" - else: - for s1, s2 in [("a", "a"), ("a", "b"), ("b", "b")]: - for occ in [k[0] for k, v in terms.items() if not v]: - shape = ", ".join(f"t2.{s}{s}{s}{s}.shape[{'0' if o == 'o' else '-1'}]" for o, s in zip(occ, s1+s2+s1+s2)) - postamble += f"{nm}.{s1}{s2}{s1}{s2}.{occ} = np.zeros(({shape}))\n" - return postamble + get_density_einsum_postamble(n, spin) + def get_postamble(n, spin, n) kwargs = { "preamble": get_density_einsum_preamble(2, spin), "postamble": get_postamble(2, spin), diff --git a/ebcc/codegen/bootstrap_common.py b/ebcc/codegen/bootstrap_common.py index c4cdaf63..7690bc9b 100644 --- a/ebcc/codegen/bootstrap_common.py +++ b/ebcc/codegen/bootstrap_common.py @@ -313,7 +313,19 @@ def optimise(outputs, exprs, spin, strategy="greedy", sizes=None, **kwargs): **kwargs, ) - return zip(*opt) + # Add expressions with the same output -- gristmill avoids this sometimes + # if you set shallow intermediates to False + output_exprs = {} + for o, e in opt: + if o not in output_exprs: + output_exprs[o] = e + elif isinstance(output_exprs[o], Add): + output_exprs[o] = Add(*output_exprs[o].args, e) + else: + output_exprs[o] += e + outputs, exprs = zip(*output_exprs.items()) + + return outputs, exprs def get_t_amplitude_outputs(exprs, name, indices=None): From 2ac56063a94e689c8863a894ce1028ea72cf9d2c Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Sat, 17 Aug 2024 12:03:00 +0100 Subject: [PATCH 099/168] Manually add 1-body terms for MP2 2RDM --- ebcc/codegen/bootstrap_MPn.py | 86 +++++++++++++++++++++++++++++++++-- 1 file changed, 83 insertions(+), 3 deletions(-) diff --git a/ebcc/codegen/bootstrap_MPn.py b/ebcc/codegen/bootstrap_MPn.py index 01774a1c..20604f69 100644 --- a/ebcc/codegen/bootstrap_MPn.py +++ b/ebcc/codegen/bootstrap_MPn.py @@ -151,7 +151,6 @@ def get_postamble(n, spin, name="rdm{n}"): with Stopwatch("2RDM"): # Get the 2RDM contractions in pdaggerq format terms = { - ("oooo", "ijkl"): [["+1.00", "P(i,j)", "d(i,k)", "d(j,l)"]], ("oovv", "ijab"): [["+0.25", "t2(a,b,i,j)"]], ("vvoo", "abij"): [["+0.25", "l2(i,j,a,b)"]], } @@ -194,9 +193,90 @@ def get_postamble(n, spin, name="rdm{n}"): # Generate the 2RDM code for name, codegen in code_generators.items(): if name == "einsum": - def get_postamble(n, spin, n) + def get_postamble(n, spin, name="rdm{n}"): + nm = name.format(n=n) + postamble = "" + if spin != "uhf": + for occ in [k[0] for k, v in terms.items() if not v]: + shape = ", ".join(f"t2.shape[{'0' if o == 'o' else '-1'}]" for o in occ) + postamble += f"{nm}.{occ} = np.zeros(({shape}))\n" + else: + for s1, s2 in [("a", "a"), ("a", "b"), ("b", "b")]: + for occ in [k[0] for k, v in terms.items() if not v]: + shape = ", ".join(f"t2.{s}{s}{s}{s}.shape[{'0' if o == 'o' else '-1'}]" for o, s in zip(occ, s1+s2+s1+s2)) + postamble += f"{nm}.{s1}{s2}{s1}{s2}.{occ} = np.zeros(({shape}))\n" + + # Pack + postamble += get_density_einsum_postamble(n, spin) + + # Add the one-body terms -- adapted from pyscf + # Can be done succinctly with tensor expressions but requires + # a second Norb^4 tensor + postamble += "\nrdm1 = make_rdm1_f(t2=t2, l2=l2)\n" + if spin == "uhf": + postamble += "nocc = Namespace(a=t2.aaaa.shape[0], b=t2.bbbb.shape[0])\n" + postamble += "rdm1.aa[np.diag_indices(nocc.a)] -= 1\n" + postamble += "rdm1.bb[np.diag_indices(nocc.b)] -= 1\n" + postamble += "for i in range(nocc.a):\n" + postamble += " rdm2.aaaa[i, i, :, :] += rdm1.aa.T\n" + postamble += " rdm2.aaaa[:, :, i, i] += rdm1.aa.T\n" + postamble += " rdm2.aaaa[:, i, i, :] -= rdm1.aa.T\n" + postamble += " rdm2.aaaa[i, :, :, i] -= rdm1.aa\n" + postamble += " rdm2.aabb[i, i, :, :] += rdm1.bb.T\n" + postamble += "for i in range(nocc.b):\n" + postamble += " rdm2.bbbb[i, i, :, :] += rdm1.bb.T\n" + postamble += " rdm2.bbbb[:, :, i, i] += rdm1.bb.T\n" + postamble += " rdm2.bbbb[:, i, i, :] -= rdm1.bb.T\n" + postamble += " rdm2.bbbb[i, :, :, i] -= rdm1.bb\n" + postamble += " rdm2.aabb[:, :, i, i] += rdm1.aa.T\n" + postamble += "for i in range(nocc.a):\n" + postamble += " for j in range(nocc.a):\n" + postamble += " rdm2.aaaa[i, i, j, j] += 1\n" + postamble += " rdm2.aaaa[i, j, j, i] -= 1\n" + postamble += "for i in range(nocc.b):\n" + postamble += " for j in range(nocc.b):\n" + postamble += " rdm2.bbbb[i, i, j, j] += 1\n" + postamble += " rdm2.bbbb[i, j, j, i] -= 1\n" + postamble += "for i in range(nocc.a):\n" + postamble += " for j in range(nocc.b):\n" + postamble += " rdm2.aabb[i, i, j, j] += 1" + elif spin == "ghf": + postamble += "nocc = t2.shape[0]\n" + postamble += "rdm1[np.diag_indices(nocc)] -= 1\n" + postamble += "for i in range(nocc):\n" + postamble += " rdm2[i, i, :, :] += rdm1.T\n" + postamble += " rdm2[:, :, i, i] += rdm1.T\n" + postamble += " rdm2[:, i, i, :] -= rdm1.T\n" + postamble += " rdm2[i, :, :, i] -= rdm1\n" + postamble += "for i in range(nocc):\n" + postamble += " for j in range(nocc):\n" + postamble += " rdm2[i, i, j, j] += 1\n" + postamble += " rdm2[i, j, j, i] -= 1" + elif spin == "rhf": + postamble += "nocc = t2.shape[0]\n" + postamble += "rdm1[np.diag_indices(nocc)] -= 2\n" + postamble += "for i in range(nocc):\n" + postamble += " rdm2[i, i, :, :] += rdm1.T * 2\n" + postamble += " rdm2[:, :, i, i] += rdm1.T * 2\n" + postamble += " rdm2[:, i, i, :] -= rdm1.T\n" + postamble += " rdm2[i, :, :, i] -= rdm1\n" + postamble += "for i in range(nocc):\n" + postamble += " for j in range(nocc):\n" + postamble += " rdm2[i, i, j, j] += 4\n" + postamble += " rdm2[i, j, j, i] -= 2" + + return postamble + + def get_preamble(n, spin, name="rdm{n}"): + name = name.format(n=n) + preamble = f"{name} = Namespace()" + if spin == "uhf": + for spins in itertools.combinations_with_replacement(["a", "b"], n): + preamble += f"\n{name}.{''.join(spins+spins)} = Namespace()" + return preamble + kwargs = { - "preamble": get_density_einsum_preamble(2, spin), + "preamble": get_preamble(2, spin), "postamble": get_postamble(2, spin), } codegen( From b2a5d53888999a005ceee9b0cc3e5ad7ed7cb7a8 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Sat, 17 Aug 2024 12:53:50 +0100 Subject: [PATCH 100/168] Factor isn't correct --- ebcc/codegen/bootstrap_MPn.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ebcc/codegen/bootstrap_MPn.py b/ebcc/codegen/bootstrap_MPn.py index 20604f69..01bf0ebe 100644 --- a/ebcc/codegen/bootstrap_MPn.py +++ b/ebcc/codegen/bootstrap_MPn.py @@ -151,8 +151,8 @@ def get_postamble(n, spin, name="rdm{n}"): with Stopwatch("2RDM"): # Get the 2RDM contractions in pdaggerq format terms = { - ("oovv", "ijab"): [["+0.25", "t2(a,b,i,j)"]], - ("vvoo", "abij"): [["+0.25", "l2(i,j,a,b)"]], + ("oovv", "ijab"): [["t2(a,b,i,j)"]], + ("vvoo", "abij"): [["l2(i,j,a,b)"]], } # Get the 2RDM in albert format From 5d7e362b0e799c31f24273630dac0a6b08f5639a Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Sat, 17 Aug 2024 15:48:44 +0100 Subject: [PATCH 101/168] Disable EE-UEOM --- ebcc/codegen/bootstrap_CCSD.py | 4 ++-- ebcc/codegen/bootstrap_MPn.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ebcc/codegen/bootstrap_CCSD.py b/ebcc/codegen/bootstrap_CCSD.py index 2d41db50..33eb43e1 100644 --- a/ebcc/codegen/bootstrap_CCSD.py +++ b/ebcc/codegen/bootstrap_CCSD.py @@ -449,7 +449,7 @@ def tensor_cleanup(self, *args): **kwargs, ) -if spin != "rhf": # FIXME +if spin == "ghf": # FIXME with Stopwatch("EE-EOM"): # Get the R1 contractions in pdaggerq format pq.clear() @@ -682,7 +682,7 @@ def tensor_cleanup(self, *args): **kwargs, ) -if spin != "rhf": # FIXME +if spin == "ghf": # FIXME with Stopwatch("L-EE-EOM"): # Get the L1 contractions in pdaggerq format pq.clear() diff --git a/ebcc/codegen/bootstrap_MPn.py b/ebcc/codegen/bootstrap_MPn.py index 01bf0ebe..3f684b9b 100644 --- a/ebcc/codegen/bootstrap_MPn.py +++ b/ebcc/codegen/bootstrap_MPn.py @@ -427,7 +427,7 @@ def get_preamble(n, spin, name="rdm{n}"): **kwargs, ) - if spin != "rhf": # FIXME + if spin == "ghf": # FIXME with Stopwatch("EE-EOM"): # Get the R1 contractions in pdaggerq format terms_r1 = [ From ebbb830605bb26ba8f228eae7f8bec66618468f3 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Sat, 17 Aug 2024 18:59:53 +0100 Subject: [PATCH 102/168] EOM for CC2 and CCD --- ebcc/codegen/bootstrap_CC2.py | 464 ++++++++++++++++++++++++++++++++++ ebcc/codegen/bootstrap_CCD.py | 464 ++++++++++++++++++++++++++++++++++ 2 files changed, 928 insertions(+) diff --git a/ebcc/codegen/bootstrap_CC2.py b/ebcc/codegen/bootstrap_CC2.py index 865902ee..72df1ba4 100644 --- a/ebcc/codegen/bootstrap_CC2.py +++ b/ebcc/codegen/bootstrap_CC2.py @@ -291,6 +291,470 @@ **kwargs, ) +with Stopwatch("IP-EOM"): + # Get the R1 contractions in pdaggerq format + pq.clear() + pq.set_right_operators_type("IP") + pq.set_left_operators([["a*(i)"]]) + pq.set_right_operators([["r1"], ["r2"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) + pq.simplify() + terms_r1 = pq.fully_contracted_strings() + terms_r1 = remove_e0_eom(terms_r1) + + # Get the R2 contractions in pdaggerq format + pq.clear() + pq.set_right_operators_type("IP") + pq.set_left_operators([["a*(i)", "a*(j)", "a(a)"]]) + pq.set_right_operators([["r1"], ["r2"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t2"]) + pq.simplify() + terms_r2 = pq.fully_contracted_strings() + terms_r2 = remove_e0_eom(terms_r2) + + # Get the R amplitudes in albert format + terms = [terms_r1, terms_r2] + expr = [] + output = [] + returns = [] + for n in range(2): + for index_spins in get_amplitude_spins(n + 1, spin, which="ip"): + indices = default_indices["o"][: n + 1] + default_indices["v"][: n] + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + + (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="exhaust") + + # Generate the R amplitude intermediates code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_matvec_ip_intermediates", + returns_nr, + output_nr, + expr_nr, + **kwargs, + ) + + # Generate the R amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + preamble = "ints = kwargs[\"ints\"]" + if spin == "uhf": + preamble += "\nr1new = Namespace()\nr2new = Namespace()" + kwargs = { + "preamble": preamble, + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_matvec_ip", + returns_r, + output_r, + expr_r, + **kwargs, + ) + +with Stopwatch("EA-EOM"): + # Get the R1 contractions in pdaggerq format + pq.clear() + pq.set_right_operators_type("EA") + pq.set_left_operators([["a(a)"]]) + pq.set_right_operators([["r1"], ["r2"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) + pq.simplify() + terms_r1 = pq.fully_contracted_strings() + terms_r1 = remove_e0_eom(terms_r1) + + # Get the R2 contractions in pdaggerq format + pq.clear() + pq.set_right_operators_type("EA") + pq.set_left_operators([["a*(i)", "a(b)", "a(a)"]]) + pq.set_right_operators([["r1"], ["r2"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t2"]) + pq.simplify() + terms_r2 = pq.fully_contracted_strings() + terms_r2 = remove_e0_eom(terms_r2) + + # Get the R amplitudes in albert format + terms = [terms_r1, terms_r2] + expr = [] + output = [] + returns = [] + for n in range(2): + for index_spins in get_amplitude_spins(n + 1, spin, which="ea"): + indices = default_indices["v"][: n + 1] + default_indices["o"][: n] + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + + (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="exhaust") + + # Generate the R amplitude intermediates code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_matvec_ea_intermediates", + returns_nr, + output_nr, + expr_nr, + **kwargs, + ) + + # Generate the R amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + preamble = "ints = kwargs[\"ints\"]" + if spin == "uhf": + preamble += "\nr1new = Namespace()\nr2new = Namespace()" + kwargs = { + "preamble": preamble, + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_matvec_ea", + returns_r, + output_r, + expr_r, + **kwargs, + ) + +if spin == "ghf": # FIXME + with Stopwatch("EE-EOM"): + # Get the R1 contractions in pdaggerq format + pq.clear() + pq.set_right_operators_type("EE") + pq.set_left_operators([["e1(i,a)"]]) + pq.set_right_operators([["r1"], ["r2"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) + pq.simplify() + terms_r1 = pq.fully_contracted_strings() + terms_r1 = remove_e0_eom(terms_r1) + + # Get the R2 contractions in pdaggerq format + pq.clear() + pq.set_right_operators_type("EE") + pq.set_left_operators([["e2(i,j,b,a)"]]) + pq.set_right_operators([["r1"], ["r2"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t2"]) + pq.simplify() + terms_r2 = pq.fully_contracted_strings() + terms_r2 = remove_e0_eom(terms_r2) + + # Get the R amplitudes in albert format + terms = [terms_r1, terms_r2] + expr = [] + output = [] + returns = [] + for n in range(2): + for index_spins in get_amplitude_spins(n + 1, spin, which="ee"): + indices = default_indices["o"][: n + 1] + default_indices["v"][: n + 1] + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + + (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="trav") + + # Generate the R amplitude intermediates code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_matvec_ee_intermediates", + returns_nr, + output_nr, + expr_nr, + **kwargs, + ) + + # Generate the R amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + preamble = "ints = kwargs[\"ints\"]" + if spin == "uhf": + preamble += "\nr1new = Namespace()\nr2new = Namespace()" + kwargs = { + "preamble": preamble, + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_matvec_ee", + returns_r, + output_r, + expr_r, + **kwargs, + ) + +with Stopwatch("L-IP-EOM"): + # Get the L1 contractions in pdaggerq format + pq.clear() + pq.set_left_operators_type("IP") + pq.set_left_operators([["l1"], ["l2"]]) + pq.set_right_operators([["a(i)"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) + pq.simplify() + terms_r1 = pq.fully_contracted_strings() + terms_r1 = remove_e0_eom(terms_r1) + + # Get the L2 contractions in pdaggerq format + pq.clear() + pq.set_left_operators_type("IP") + pq.set_right_operators([["a*(a)", "a(j)", "a(i)"]]) + pq.set_left_operators([["l1"], ["l2"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t2"]) + pq.simplify() + terms_r2 = pq.fully_contracted_strings() + terms_r2 = remove_e0_eom(terms_r2) + + # Get the L amplitudes in albert format + terms = [terms_r1, terms_r2] + expr = [] + output = [] + returns = [] + for n in range(2): + for index_spins in get_amplitude_spins(n + 1, spin, which="ip"): + indices = default_indices["o"][: n + 1] + default_indices["v"][: n] + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins, l_is_lambda=False) + expr_n = spin_integrate(expr_n, spin) + output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + + (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="exhaust") + + # Generate the L amplitude intermediates code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_lmatvec_ip_intermediates", + returns_nr, + output_nr, + expr_nr, + **kwargs, + ) + + # Generate the L amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + preamble = "ints = kwargs[\"ints\"]" + if spin == "uhf": + preamble += "\nr1new = Namespace()\nr2new = Namespace()" + kwargs = { + "preamble": preamble, + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_lmatvec_ip", + returns_r, + output_r, + expr_r, + **kwargs, + ) + +with Stopwatch("L-EA-EOM"): + # Get the L1 contractions in pdaggerq format + pq.clear() + pq.set_left_operators_type("EA") + pq.set_left_operators([["l1"], ["l2"]]) + pq.set_right_operators([["a*(a)"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) + pq.simplify() + terms_r1 = pq.fully_contracted_strings() + terms_r1 = remove_e0_eom(terms_r1) + + # Get the L2 contractions in pdaggerq format + pq.clear() + pq.set_left_operators_type("EA") + pq.set_right_operators([["a*(a)", "a*(b)", "a(i)"]]) + pq.set_left_operators([["l1"], ["l2"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t2"]) + pq.simplify() + terms_r2 = pq.fully_contracted_strings() + terms_r2 = remove_e0_eom(terms_r2) + + # Get the L amplitudes in albert format + terms = [terms_r1, terms_r2] + expr = [] + output = [] + returns = [] + for n in range(2): + for index_spins in get_amplitude_spins(n + 1, spin, which="ea"): + indices = default_indices["v"][: n + 1] + default_indices["o"][: n] + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins, l_is_lambda=False) + expr_n = spin_integrate(expr_n, spin) + output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + + (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="exhaust") + + # Generate the L amplitude intermediates code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_lmatvec_ea_intermediates", + returns_nr, + output_nr, + expr_nr, + **kwargs, + ) + + # Generate the L amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + preamble = "ints = kwargs[\"ints\"]" + if spin == "uhf": + preamble += "\nr1new = Namespace()\nr2new = Namespace()" + kwargs = { + "preamble": preamble, + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_lmatvec_ea", + returns_r, + output_r, + expr_r, + **kwargs, + ) + +if spin == "ghf": # FIXME + with Stopwatch("L-EE-EOM"): + # Get the L1 contractions in pdaggerq format + pq.clear() + pq.set_left_operators_type("EE") + pq.set_left_operators([["l1"], ["l2"]]) + pq.set_right_operators([["e1(a,i)"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) + pq.simplify() + terms_r1 = pq.fully_contracted_strings() + terms_r1 = remove_e0_eom(terms_r1) + + # Get the L2 contractions in pdaggerq format + pq.clear() + pq.set_left_operators_type("EE") + pq.set_left_operators([["l1"], ["l2"]]) + pq.set_right_operators([["e2(a,b,j,i)"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t2"]) + pq.simplify() + terms_r2 = pq.fully_contracted_strings() + terms_r2 = remove_e0_eom(terms_r2) + + # Get the L amplitudes in albert format + terms = [terms_r1, terms_r2] + expr = [] + output = [] + returns = [] + for n in range(2): + for index_spins in get_amplitude_spins(n + 1, spin, which="ee"): + indices = default_indices["o"][: n + 1] + default_indices["v"][: n + 1] + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins, l_is_lambda=False) + expr_n = spin_integrate(expr_n, spin) + output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + + (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="trav") + + # Generate the L amplitude intermediates code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_lmatvec_ee_intermediates", + returns_nr, + output_nr, + expr_nr, + **kwargs, + ) + + # Generate the L amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + preamble = "ints = kwargs[\"ints\"]" + if spin == "uhf": + preamble += "\nr1new = Namespace()\nr2new = Namespace()" + kwargs = { + "preamble": preamble, + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_lmatvec_ee", + returns_r, + output_r, + expr_r, + **kwargs, + ) + for codegen in code_generators.values(): codegen.postamble() codegen.stdout.close() diff --git a/ebcc/codegen/bootstrap_CCD.py b/ebcc/codegen/bootstrap_CCD.py index 0977fe76..7de0d540 100644 --- a/ebcc/codegen/bootstrap_CCD.py +++ b/ebcc/codegen/bootstrap_CCD.py @@ -293,6 +293,470 @@ def get_postamble(n, spin, name="rdm{n}"): **kwargs, ) +with Stopwatch("IP-EOM"): + # Get the R1 contractions in pdaggerq format + pq.clear() + pq.set_right_operators_type("IP") + pq.set_left_operators([["a*(i)"]]) + pq.set_right_operators([["r1"], ["r2"]]) + pq.add_st_operator(1.0, ["f"], ["t2"]) + pq.add_st_operator(1.0, ["v"], ["t2"]) + pq.simplify() + terms_r1 = pq.fully_contracted_strings() + terms_r1 = remove_e0_eom(terms_r1) + + # Get the R2 contractions in pdaggerq format + pq.clear() + pq.set_right_operators_type("IP") + pq.set_left_operators([["a*(i)", "a*(j)", "a(a)"]]) + pq.set_right_operators([["r1"], ["r2"]]) + pq.add_st_operator(1.0, ["f"], ["t2"]) + pq.add_st_operator(1.0, ["v"], ["t2"]) + pq.simplify() + terms_r2 = pq.fully_contracted_strings() + terms_r2 = remove_e0_eom(terms_r2) + + # Get the R amplitudes in albert format + terms = [terms_r1, terms_r2] + expr = [] + output = [] + returns = [] + for n in range(2): + for index_spins in get_amplitude_spins(n + 1, spin, which="ip"): + indices = default_indices["o"][: n + 1] + default_indices["v"][: n] + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + + (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="exhaust") + + # Generate the R amplitude intermediates code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_matvec_ip_intermediates", + returns_nr, + output_nr, + expr_nr, + **kwargs, + ) + + # Generate the R amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + preamble = "ints = kwargs[\"ints\"]" + if spin == "uhf": + preamble += "\nr1new = Namespace()\nr2new = Namespace()" + kwargs = { + "preamble": preamble, + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_matvec_ip", + returns_r, + output_r, + expr_r, + **kwargs, + ) + +with Stopwatch("EA-EOM"): + # Get the R1 contractions in pdaggerq format + pq.clear() + pq.set_right_operators_type("EA") + pq.set_left_operators([["a(a)"]]) + pq.set_right_operators([["r1"], ["r2"]]) + pq.add_st_operator(1.0, ["f"], ["t2"]) + pq.add_st_operator(1.0, ["v"], ["t2"]) + pq.simplify() + terms_r1 = pq.fully_contracted_strings() + terms_r1 = remove_e0_eom(terms_r1) + + # Get the R2 contractions in pdaggerq format + pq.clear() + pq.set_right_operators_type("EA") + pq.set_left_operators([["a*(i)", "a(b)", "a(a)"]]) + pq.set_right_operators([["r1"], ["r2"]]) + pq.add_st_operator(1.0, ["f"], ["t2"]) + pq.add_st_operator(1.0, ["v"], ["t2"]) + pq.simplify() + terms_r2 = pq.fully_contracted_strings() + terms_r2 = remove_e0_eom(terms_r2) + + # Get the R amplitudes in albert format + terms = [terms_r1, terms_r2] + expr = [] + output = [] + returns = [] + for n in range(2): + for index_spins in get_amplitude_spins(n + 1, spin, which="ea"): + indices = default_indices["v"][: n + 1] + default_indices["o"][: n] + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + + (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="exhaust") + + # Generate the R amplitude intermediates code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_matvec_ea_intermediates", + returns_nr, + output_nr, + expr_nr, + **kwargs, + ) + + # Generate the R amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + preamble = "ints = kwargs[\"ints\"]" + if spin == "uhf": + preamble += "\nr1new = Namespace()\nr2new = Namespace()" + kwargs = { + "preamble": preamble, + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_matvec_ea", + returns_r, + output_r, + expr_r, + **kwargs, + ) + +if spin == "ghf": # FIXME + with Stopwatch("EE-EOM"): + # Get the R1 contractions in pdaggerq format + pq.clear() + pq.set_right_operators_type("EE") + pq.set_left_operators([["e1(i,a)"]]) + pq.set_right_operators([["r1"], ["r2"]]) + pq.add_st_operator(1.0, ["f"], ["t2"]) + pq.add_st_operator(1.0, ["v"], ["t2"]) + pq.simplify() + terms_r1 = pq.fully_contracted_strings() + terms_r1 = remove_e0_eom(terms_r1) + + # Get the R2 contractions in pdaggerq format + pq.clear() + pq.set_right_operators_type("EE") + pq.set_left_operators([["e2(i,j,b,a)"]]) + pq.set_right_operators([["r1"], ["r2"]]) + pq.add_st_operator(1.0, ["f"], ["t2"]) + pq.add_st_operator(1.0, ["v"], ["t2"]) + pq.simplify() + terms_r2 = pq.fully_contracted_strings() + terms_r2 = remove_e0_eom(terms_r2) + + # Get the R amplitudes in albert format + terms = [terms_r1, terms_r2] + expr = [] + output = [] + returns = [] + for n in range(2): + for index_spins in get_amplitude_spins(n + 1, spin, which="ee"): + indices = default_indices["o"][: n + 1] + default_indices["v"][: n + 1] + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + + (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="trav") + + # Generate the R amplitude intermediates code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_matvec_ee_intermediates", + returns_nr, + output_nr, + expr_nr, + **kwargs, + ) + + # Generate the R amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + preamble = "ints = kwargs[\"ints\"]" + if spin == "uhf": + preamble += "\nr1new = Namespace()\nr2new = Namespace()" + kwargs = { + "preamble": preamble, + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_matvec_ee", + returns_r, + output_r, + expr_r, + **kwargs, + ) + +with Stopwatch("L-IP-EOM"): + # Get the L1 contractions in pdaggerq format + pq.clear() + pq.set_left_operators_type("IP") + pq.set_left_operators([["l1"], ["l2"]]) + pq.set_right_operators([["a(i)"]]) + pq.add_st_operator(1.0, ["f"], ["t2"]) + pq.add_st_operator(1.0, ["v"], ["t2"]) + pq.simplify() + terms_r1 = pq.fully_contracted_strings() + terms_r1 = remove_e0_eom(terms_r1) + + # Get the L2 contractions in pdaggerq format + pq.clear() + pq.set_left_operators_type("IP") + pq.set_right_operators([["a*(a)", "a(j)", "a(i)"]]) + pq.set_left_operators([["l1"], ["l2"]]) + pq.add_st_operator(1.0, ["f"], ["t2"]) + pq.add_st_operator(1.0, ["v"], ["t2"]) + pq.simplify() + terms_r2 = pq.fully_contracted_strings() + terms_r2 = remove_e0_eom(terms_r2) + + # Get the L amplitudes in albert format + terms = [terms_r1, terms_r2] + expr = [] + output = [] + returns = [] + for n in range(2): + for index_spins in get_amplitude_spins(n + 1, spin, which="ip"): + indices = default_indices["o"][: n + 1] + default_indices["v"][: n] + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins, l_is_lambda=False) + expr_n = spin_integrate(expr_n, spin) + output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + + (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="exhaust") + + # Generate the L amplitude intermediates code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_lmatvec_ip_intermediates", + returns_nr, + output_nr, + expr_nr, + **kwargs, + ) + + # Generate the L amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + preamble = "ints = kwargs[\"ints\"]" + if spin == "uhf": + preamble += "\nr1new = Namespace()\nr2new = Namespace()" + kwargs = { + "preamble": preamble, + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_lmatvec_ip", + returns_r, + output_r, + expr_r, + **kwargs, + ) + +with Stopwatch("L-EA-EOM"): + # Get the L1 contractions in pdaggerq format + pq.clear() + pq.set_left_operators_type("EA") + pq.set_left_operators([["l1"], ["l2"]]) + pq.set_right_operators([["a*(a)"]]) + pq.add_st_operator(1.0, ["f"], ["t2"]) + pq.add_st_operator(1.0, ["v"], ["t2"]) + pq.simplify() + terms_r1 = pq.fully_contracted_strings() + terms_r1 = remove_e0_eom(terms_r1) + + # Get the L2 contractions in pdaggerq format + pq.clear() + pq.set_left_operators_type("EA") + pq.set_right_operators([["a*(a)", "a*(b)", "a(i)"]]) + pq.set_left_operators([["l1"], ["l2"]]) + pq.add_st_operator(1.0, ["f"], ["t2"]) + pq.add_st_operator(1.0, ["v"], ["t2"]) + pq.simplify() + terms_r2 = pq.fully_contracted_strings() + terms_r2 = remove_e0_eom(terms_r2) + + # Get the L amplitudes in albert format + terms = [terms_r1, terms_r2] + expr = [] + output = [] + returns = [] + for n in range(2): + for index_spins in get_amplitude_spins(n + 1, spin, which="ea"): + indices = default_indices["v"][: n + 1] + default_indices["o"][: n] + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins, l_is_lambda=False) + expr_n = spin_integrate(expr_n, spin) + output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + + (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="exhaust") + + # Generate the L amplitude intermediates code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_lmatvec_ea_intermediates", + returns_nr, + output_nr, + expr_nr, + **kwargs, + ) + + # Generate the L amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + preamble = "ints = kwargs[\"ints\"]" + if spin == "uhf": + preamble += "\nr1new = Namespace()\nr2new = Namespace()" + kwargs = { + "preamble": preamble, + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_lmatvec_ea", + returns_r, + output_r, + expr_r, + **kwargs, + ) + +if spin == "ghf": # FIXME + with Stopwatch("L-EE-EOM"): + # Get the L1 contractions in pdaggerq format + pq.clear() + pq.set_left_operators_type("EE") + pq.set_left_operators([["l1"], ["l2"]]) + pq.set_right_operators([["e1(a,i)"]]) + pq.add_st_operator(1.0, ["f"], ["t2"]) + pq.add_st_operator(1.0, ["v"], ["t2"]) + pq.simplify() + terms_r1 = pq.fully_contracted_strings() + terms_r1 = remove_e0_eom(terms_r1) + + # Get the L2 contractions in pdaggerq format + pq.clear() + pq.set_left_operators_type("EE") + pq.set_left_operators([["l1"], ["l2"]]) + pq.set_right_operators([["e2(a,b,j,i)"]]) + pq.add_st_operator(1.0, ["f"], ["t2"]) + pq.add_st_operator(1.0, ["v"], ["t2"]) + pq.simplify() + terms_r2 = pq.fully_contracted_strings() + terms_r2 = remove_e0_eom(terms_r2) + + # Get the L amplitudes in albert format + terms = [terms_r1, terms_r2] + expr = [] + output = [] + returns = [] + for n in range(2): + for index_spins in get_amplitude_spins(n + 1, spin, which="ee"): + indices = default_indices["o"][: n + 1] + default_indices["v"][: n + 1] + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins, l_is_lambda=False) + expr_n = spin_integrate(expr_n, spin) + output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + + (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="trav") + + # Generate the L amplitude intermediates code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_lmatvec_ee_intermediates", + returns_nr, + output_nr, + expr_nr, + **kwargs, + ) + + # Generate the L amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + preamble = "ints = kwargs[\"ints\"]" + if spin == "uhf": + preamble += "\nr1new = Namespace()\nr2new = Namespace()" + kwargs = { + "preamble": preamble, + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_lmatvec_ee", + returns_r, + output_r, + expr_r, + **kwargs, + ) + for codegen in code_generators.values(): codegen.postamble() codegen.stdout.close() From 05703b1706046a1ebeb75498b5f0590ae82e3bc8 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Sat, 17 Aug 2024 21:00:33 +0100 Subject: [PATCH 103/168] More DF EOM bootstrapping --- ebcc/codegen/bootstrap_DFCC2.py | 470 ++++++++++++++++++++++++++++++ ebcc/codegen/bootstrap_DFCCD.py | 470 ++++++++++++++++++++++++++++++ ebcc/codegen/bootstrap_DFCCSD.py | 472 +++++++++++++++++++++++++++++++ 3 files changed, 1412 insertions(+) diff --git a/ebcc/codegen/bootstrap_DFCC2.py b/ebcc/codegen/bootstrap_DFCC2.py index ce797c22..1726e81a 100644 --- a/ebcc/codegen/bootstrap_DFCC2.py +++ b/ebcc/codegen/bootstrap_DFCC2.py @@ -298,6 +298,476 @@ **kwargs, ) +with Stopwatch("IP-EOM"): + # Get the R1 contractions in pdaggerq format + pq.clear() + pq.set_right_operators_type("IP") + pq.set_left_operators([["a*(i)"]]) + pq.set_right_operators([["r1"], ["r2"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) + pq.simplify() + terms_r1 = pq.fully_contracted_strings() + terms_r1 = remove_e0_eom(terms_r1) + + # Get the R2 contractions in pdaggerq format + pq.clear() + pq.set_right_operators_type("IP") + pq.set_left_operators([["a*(i)", "a*(j)", "a(a)"]]) + pq.set_right_operators([["r1"], ["r2"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t2"]) + pq.simplify() + terms_r2 = pq.fully_contracted_strings() + terms_r2 = remove_e0_eom(terms_r2) + + # Get the R amplitudes in albert format + terms = [terms_r1, terms_r2] + expr = [] + output = [] + returns = [] + for n in range(2): + for index_spins in get_amplitude_spins(n + 1, spin, which="ip"): + indices = default_indices["o"][: n + 1] + default_indices["v"][: n] + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + expr_n = tuple(e.apply(get_density_fit()) for e in expr_n) + output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + + (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="exhaust") + + # Generate the R amplitude intermediates code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_matvec_ip_intermediates", + returns_nr, + output_nr, + expr_nr, + **kwargs, + ) + + # Generate the R amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + preamble = "ints = kwargs[\"ints\"]" + if spin == "uhf": + preamble += "\nr1new = Namespace()\nr2new = Namespace()" + kwargs = { + "preamble": preamble, + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_matvec_ip", + returns_r, + output_r, + expr_r, + **kwargs, + ) + +with Stopwatch("EA-EOM"): + # Get the R1 contractions in pdaggerq format + pq.clear() + pq.set_right_operators_type("EA") + pq.set_left_operators([["a(a)"]]) + pq.set_right_operators([["r1"], ["r2"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) + pq.simplify() + terms_r1 = pq.fully_contracted_strings() + terms_r1 = remove_e0_eom(terms_r1) + + # Get the R2 contractions in pdaggerq format + pq.clear() + pq.set_right_operators_type("EA") + pq.set_left_operators([["a*(i)", "a(b)", "a(a)"]]) + pq.set_right_operators([["r1"], ["r2"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t2"]) + pq.simplify() + terms_r2 = pq.fully_contracted_strings() + terms_r2 = remove_e0_eom(terms_r2) + + # Get the R amplitudes in albert format + terms = [terms_r1, terms_r2] + expr = [] + output = [] + returns = [] + for n in range(2): + for index_spins in get_amplitude_spins(n + 1, spin, which="ea"): + indices = default_indices["v"][: n + 1] + default_indices["o"][: n] + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + expr_n = tuple(e.apply(get_density_fit()) for e in expr_n) + output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + + (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="exhaust") + + # Generate the R amplitude intermediates code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_matvec_ea_intermediates", + returns_nr, + output_nr, + expr_nr, + **kwargs, + ) + + # Generate the R amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + preamble = "ints = kwargs[\"ints\"]" + if spin == "uhf": + preamble += "\nr1new = Namespace()\nr2new = Namespace()" + kwargs = { + "preamble": preamble, + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_matvec_ea", + returns_r, + output_r, + expr_r, + **kwargs, + ) + +if spin == "ghf": # FIXME + with Stopwatch("EE-EOM"): + # Get the R1 contractions in pdaggerq format + pq.clear() + pq.set_right_operators_type("EE") + pq.set_left_operators([["e1(i,a)"]]) + pq.set_right_operators([["r1"], ["r2"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) + pq.simplify() + terms_r1 = pq.fully_contracted_strings() + terms_r1 = remove_e0_eom(terms_r1) + + # Get the R2 contractions in pdaggerq format + pq.clear() + pq.set_right_operators_type("EE") + pq.set_left_operators([["e2(i,j,b,a)"]]) + pq.set_right_operators([["r1"], ["r2"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t2"]) + pq.simplify() + terms_r2 = pq.fully_contracted_strings() + terms_r2 = remove_e0_eom(terms_r2) + + # Get the R amplitudes in albert format + terms = [terms_r1, terms_r2] + expr = [] + output = [] + returns = [] + for n in range(2): + for index_spins in get_amplitude_spins(n + 1, spin, which="ee"): + indices = default_indices["o"][: n + 1] + default_indices["v"][: n + 1] + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + expr_n = tuple(e.apply(get_density_fit()) for e in expr_n) + output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + + (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="trav") + + # Generate the R amplitude intermediates code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_matvec_ee_intermediates", + returns_nr, + output_nr, + expr_nr, + **kwargs, + ) + + # Generate the R amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + preamble = "ints = kwargs[\"ints\"]" + if spin == "uhf": + preamble += "\nr1new = Namespace()\nr2new = Namespace()" + kwargs = { + "preamble": preamble, + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_matvec_ee", + returns_r, + output_r, + expr_r, + **kwargs, + ) + +with Stopwatch("L-IP-EOM"): + # Get the L1 contractions in pdaggerq format + pq.clear() + pq.set_left_operators_type("IP") + pq.set_left_operators([["l1"], ["l2"]]) + pq.set_right_operators([["a(i)"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) + pq.simplify() + terms_r1 = pq.fully_contracted_strings() + terms_r1 = remove_e0_eom(terms_r1) + + # Get the L2 contractions in pdaggerq format + pq.clear() + pq.set_left_operators_type("IP") + pq.set_right_operators([["a*(a)", "a(j)", "a(i)"]]) + pq.set_left_operators([["l1"], ["l2"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t2"]) + pq.simplify() + terms_r2 = pq.fully_contracted_strings() + terms_r2 = remove_e0_eom(terms_r2) + + # Get the L amplitudes in albert format + terms = [terms_r1, terms_r2] + expr = [] + output = [] + returns = [] + for n in range(2): + for index_spins in get_amplitude_spins(n + 1, spin, which="ip"): + indices = default_indices["o"][: n + 1] + default_indices["v"][: n] + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins, l_is_lambda=False) + expr_n = spin_integrate(expr_n, spin) + expr_n = tuple(e.apply(get_density_fit()) for e in expr_n) + output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + + (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="exhaust") + + # Generate the L amplitude intermediates code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_lmatvec_ip_intermediates", + returns_nr, + output_nr, + expr_nr, + **kwargs, + ) + + # Generate the L amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + preamble = "ints = kwargs[\"ints\"]" + if spin == "uhf": + preamble += "\nr1new = Namespace()\nr2new = Namespace()" + kwargs = { + "preamble": preamble, + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_lmatvec_ip", + returns_r, + output_r, + expr_r, + **kwargs, + ) + +with Stopwatch("L-EA-EOM"): + # Get the L1 contractions in pdaggerq format + pq.clear() + pq.set_left_operators_type("EA") + pq.set_left_operators([["l1"], ["l2"]]) + pq.set_right_operators([["a*(a)"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) + pq.simplify() + terms_r1 = pq.fully_contracted_strings() + terms_r1 = remove_e0_eom(terms_r1) + + # Get the L2 contractions in pdaggerq format + pq.clear() + pq.set_left_operators_type("EA") + pq.set_right_operators([["a*(a)", "a*(b)", "a(i)"]]) + pq.set_left_operators([["l1"], ["l2"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t2"]) + pq.simplify() + terms_r2 = pq.fully_contracted_strings() + terms_r2 = remove_e0_eom(terms_r2) + + # Get the L amplitudes in albert format + terms = [terms_r1, terms_r2] + expr = [] + output = [] + returns = [] + for n in range(2): + for index_spins in get_amplitude_spins(n + 1, spin, which="ea"): + indices = default_indices["v"][: n + 1] + default_indices["o"][: n] + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins, l_is_lambda=False) + expr_n = spin_integrate(expr_n, spin) + expr_n = tuple(e.apply(get_density_fit()) for e in expr_n) + output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + + (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="exhaust") + + # Generate the L amplitude intermediates code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_lmatvec_ea_intermediates", + returns_nr, + output_nr, + expr_nr, + **kwargs, + ) + + # Generate the L amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + preamble = "ints = kwargs[\"ints\"]" + if spin == "uhf": + preamble += "\nr1new = Namespace()\nr2new = Namespace()" + kwargs = { + "preamble": preamble, + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_lmatvec_ea", + returns_r, + output_r, + expr_r, + **kwargs, + ) + +if spin == "ghf": # FIXME + with Stopwatch("L-EE-EOM"): + # Get the L1 contractions in pdaggerq format + pq.clear() + pq.set_left_operators_type("EE") + pq.set_left_operators([["l1"], ["l2"]]) + pq.set_right_operators([["e1(a,i)"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) + pq.simplify() + terms_r1 = pq.fully_contracted_strings() + terms_r1 = remove_e0_eom(terms_r1) + + # Get the L2 contractions in pdaggerq format + pq.clear() + pq.set_left_operators_type("EE") + pq.set_left_operators([["l1"], ["l2"]]) + pq.set_right_operators([["e2(a,b,j,i)"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t2"]) + pq.simplify() + terms_r2 = pq.fully_contracted_strings() + terms_r2 = remove_e0_eom(terms_r2) + + # Get the L amplitudes in albert format + terms = [terms_r1, terms_r2] + expr = [] + output = [] + returns = [] + for n in range(2): + for index_spins in get_amplitude_spins(n + 1, spin, which="ee"): + indices = default_indices["o"][: n + 1] + default_indices["v"][: n + 1] + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins, l_is_lambda=False) + expr_n = spin_integrate(expr_n, spin) + expr_n = tuple(e.apply(get_density_fit()) for e in expr_n) + output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + + (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="trav") + + # Generate the L amplitude intermediates code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_lmatvec_ee_intermediates", + returns_nr, + output_nr, + expr_nr, + **kwargs, + ) + + # Generate the L amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + preamble = "ints = kwargs[\"ints\"]" + if spin == "uhf": + preamble += "\nr1new = Namespace()\nr2new = Namespace()" + kwargs = { + "preamble": preamble, + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_lmatvec_ee", + returns_r, + output_r, + expr_r, + **kwargs, + ) + for codegen in code_generators.values(): codegen.postamble() codegen.stdout.close() diff --git a/ebcc/codegen/bootstrap_DFCCD.py b/ebcc/codegen/bootstrap_DFCCD.py index c578f425..7423eb34 100644 --- a/ebcc/codegen/bootstrap_DFCCD.py +++ b/ebcc/codegen/bootstrap_DFCCD.py @@ -300,6 +300,476 @@ def get_postamble(n, spin, name="rdm{n}"): **kwargs, ) +with Stopwatch("IP-EOM"): + # Get the R1 contractions in pdaggerq format + pq.clear() + pq.set_right_operators_type("IP") + pq.set_left_operators([["a*(i)"]]) + pq.set_right_operators([["r1"], ["r2"]]) + pq.add_st_operator(1.0, ["f"], ["t2"]) + pq.add_st_operator(1.0, ["v"], ["t2"]) + pq.simplify() + terms_r1 = pq.fully_contracted_strings() + terms_r1 = remove_e0_eom(terms_r1) + + # Get the R2 contractions in pdaggerq format + pq.clear() + pq.set_right_operators_type("IP") + pq.set_left_operators([["a*(i)", "a*(j)", "a(a)"]]) + pq.set_right_operators([["r1"], ["r2"]]) + pq.add_st_operator(1.0, ["f"], ["t2"]) + pq.add_st_operator(1.0, ["v"], ["t2"]) + pq.simplify() + terms_r2 = pq.fully_contracted_strings() + terms_r2 = remove_e0_eom(terms_r2) + + # Get the R amplitudes in albert format + terms = [terms_r1, terms_r2] + expr = [] + output = [] + returns = [] + for n in range(2): + for index_spins in get_amplitude_spins(n + 1, spin, which="ip"): + indices = default_indices["o"][: n + 1] + default_indices["v"][: n] + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + expr_n = tuple(e.apply(get_density_fit()) for e in expr_n) + output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + + (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="exhaust") + + # Generate the R amplitude intermediates code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_matvec_ip_intermediates", + returns_nr, + output_nr, + expr_nr, + **kwargs, + ) + + # Generate the R amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + preamble = "ints = kwargs[\"ints\"]" + if spin == "uhf": + preamble += "\nr1new = Namespace()\nr2new = Namespace()" + kwargs = { + "preamble": preamble, + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_matvec_ip", + returns_r, + output_r, + expr_r, + **kwargs, + ) + +with Stopwatch("EA-EOM"): + # Get the R1 contractions in pdaggerq format + pq.clear() + pq.set_right_operators_type("EA") + pq.set_left_operators([["a(a)"]]) + pq.set_right_operators([["r1"], ["r2"]]) + pq.add_st_operator(1.0, ["f"], ["t2"]) + pq.add_st_operator(1.0, ["v"], ["t2"]) + pq.simplify() + terms_r1 = pq.fully_contracted_strings() + terms_r1 = remove_e0_eom(terms_r1) + + # Get the R2 contractions in pdaggerq format + pq.clear() + pq.set_right_operators_type("EA") + pq.set_left_operators([["a*(i)", "a(b)", "a(a)"]]) + pq.set_right_operators([["r1"], ["r2"]]) + pq.add_st_operator(1.0, ["f"], ["t2"]) + pq.add_st_operator(1.0, ["v"], ["t2"]) + pq.simplify() + terms_r2 = pq.fully_contracted_strings() + terms_r2 = remove_e0_eom(terms_r2) + + # Get the R amplitudes in albert format + terms = [terms_r1, terms_r2] + expr = [] + output = [] + returns = [] + for n in range(2): + for index_spins in get_amplitude_spins(n + 1, spin, which="ea"): + indices = default_indices["v"][: n + 1] + default_indices["o"][: n] + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + expr_n = tuple(e.apply(get_density_fit()) for e in expr_n) + output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + + (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="exhaust") + + # Generate the R amplitude intermediates code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_matvec_ea_intermediates", + returns_nr, + output_nr, + expr_nr, + **kwargs, + ) + + # Generate the R amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + preamble = "ints = kwargs[\"ints\"]" + if spin == "uhf": + preamble += "\nr1new = Namespace()\nr2new = Namespace()" + kwargs = { + "preamble": preamble, + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_matvec_ea", + returns_r, + output_r, + expr_r, + **kwargs, + ) + +if spin == "ghf": # FIXME + with Stopwatch("EE-EOM"): + # Get the R1 contractions in pdaggerq format + pq.clear() + pq.set_right_operators_type("EE") + pq.set_left_operators([["e1(i,a)"]]) + pq.set_right_operators([["r1"], ["r2"]]) + pq.add_st_operator(1.0, ["f"], ["t2"]) + pq.add_st_operator(1.0, ["v"], ["t2"]) + pq.simplify() + terms_r1 = pq.fully_contracted_strings() + terms_r1 = remove_e0_eom(terms_r1) + + # Get the R2 contractions in pdaggerq format + pq.clear() + pq.set_right_operators_type("EE") + pq.set_left_operators([["e2(i,j,b,a)"]]) + pq.set_right_operators([["r1"], ["r2"]]) + pq.add_st_operator(1.0, ["f"], ["t2"]) + pq.add_st_operator(1.0, ["v"], ["t2"]) + pq.simplify() + terms_r2 = pq.fully_contracted_strings() + terms_r2 = remove_e0_eom(terms_r2) + + # Get the R amplitudes in albert format + terms = [terms_r1, terms_r2] + expr = [] + output = [] + returns = [] + for n in range(2): + for index_spins in get_amplitude_spins(n + 1, spin, which="ee"): + indices = default_indices["o"][: n + 1] + default_indices["v"][: n + 1] + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + expr_n = tuple(e.apply(get_density_fit()) for e in expr_n) + output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + + (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="trav") + + # Generate the R amplitude intermediates code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_matvec_ee_intermediates", + returns_nr, + output_nr, + expr_nr, + **kwargs, + ) + + # Generate the R amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + preamble = "ints = kwargs[\"ints\"]" + if spin == "uhf": + preamble += "\nr1new = Namespace()\nr2new = Namespace()" + kwargs = { + "preamble": preamble, + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_matvec_ee", + returns_r, + output_r, + expr_r, + **kwargs, + ) + +with Stopwatch("L-IP-EOM"): + # Get the L1 contractions in pdaggerq format + pq.clear() + pq.set_left_operators_type("IP") + pq.set_left_operators([["l1"], ["l2"]]) + pq.set_right_operators([["a(i)"]]) + pq.add_st_operator(1.0, ["f"], ["t2"]) + pq.add_st_operator(1.0, ["v"], ["t2"]) + pq.simplify() + terms_r1 = pq.fully_contracted_strings() + terms_r1 = remove_e0_eom(terms_r1) + + # Get the L2 contractions in pdaggerq format + pq.clear() + pq.set_left_operators_type("IP") + pq.set_right_operators([["a*(a)", "a(j)", "a(i)"]]) + pq.set_left_operators([["l1"], ["l2"]]) + pq.add_st_operator(1.0, ["f"], ["t2"]) + pq.add_st_operator(1.0, ["v"], ["t2"]) + pq.simplify() + terms_r2 = pq.fully_contracted_strings() + terms_r2 = remove_e0_eom(terms_r2) + + # Get the L amplitudes in albert format + terms = [terms_r1, terms_r2] + expr = [] + output = [] + returns = [] + for n in range(2): + for index_spins in get_amplitude_spins(n + 1, spin, which="ip"): + indices = default_indices["o"][: n + 1] + default_indices["v"][: n] + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins, l_is_lambda=False) + expr_n = spin_integrate(expr_n, spin) + expr_n = tuple(e.apply(get_density_fit()) for e in expr_n) + output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + + (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="exhaust") + + # Generate the L amplitude intermediates code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_lmatvec_ip_intermediates", + returns_nr, + output_nr, + expr_nr, + **kwargs, + ) + + # Generate the L amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + preamble = "ints = kwargs[\"ints\"]" + if spin == "uhf": + preamble += "\nr1new = Namespace()\nr2new = Namespace()" + kwargs = { + "preamble": preamble, + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_lmatvec_ip", + returns_r, + output_r, + expr_r, + **kwargs, + ) + +with Stopwatch("L-EA-EOM"): + # Get the L1 contractions in pdaggerq format + pq.clear() + pq.set_left_operators_type("EA") + pq.set_left_operators([["l1"], ["l2"]]) + pq.set_right_operators([["a*(a)"]]) + pq.add_st_operator(1.0, ["f"], ["t2"]) + pq.add_st_operator(1.0, ["v"], ["t2"]) + pq.simplify() + terms_r1 = pq.fully_contracted_strings() + terms_r1 = remove_e0_eom(terms_r1) + + # Get the L2 contractions in pdaggerq format + pq.clear() + pq.set_left_operators_type("EA") + pq.set_right_operators([["a*(a)", "a*(b)", "a(i)"]]) + pq.set_left_operators([["l1"], ["l2"]]) + pq.add_st_operator(1.0, ["f"], ["t2"]) + pq.add_st_operator(1.0, ["v"], ["t2"]) + pq.simplify() + terms_r2 = pq.fully_contracted_strings() + terms_r2 = remove_e0_eom(terms_r2) + + # Get the L amplitudes in albert format + terms = [terms_r1, terms_r2] + expr = [] + output = [] + returns = [] + for n in range(2): + for index_spins in get_amplitude_spins(n + 1, spin, which="ea"): + indices = default_indices["v"][: n + 1] + default_indices["o"][: n] + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins, l_is_lambda=False) + expr_n = spin_integrate(expr_n, spin) + expr_n = tuple(e.apply(get_density_fit()) for e in expr_n) + output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + + (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="exhaust") + + # Generate the L amplitude intermediates code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_lmatvec_ea_intermediates", + returns_nr, + output_nr, + expr_nr, + **kwargs, + ) + + # Generate the L amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + preamble = "ints = kwargs[\"ints\"]" + if spin == "uhf": + preamble += "\nr1new = Namespace()\nr2new = Namespace()" + kwargs = { + "preamble": preamble, + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_lmatvec_ea", + returns_r, + output_r, + expr_r, + **kwargs, + ) + +if spin == "ghf": # FIXME + with Stopwatch("L-EE-EOM"): + # Get the L1 contractions in pdaggerq format + pq.clear() + pq.set_left_operators_type("EE") + pq.set_left_operators([["l1"], ["l2"]]) + pq.set_right_operators([["e1(a,i)"]]) + pq.add_st_operator(1.0, ["f"], ["t2"]) + pq.add_st_operator(1.0, ["v"], ["t2"]) + pq.simplify() + terms_r1 = pq.fully_contracted_strings() + terms_r1 = remove_e0_eom(terms_r1) + + # Get the L2 contractions in pdaggerq format + pq.clear() + pq.set_left_operators_type("EE") + pq.set_left_operators([["l1"], ["l2"]]) + pq.set_right_operators([["e2(a,b,j,i)"]]) + pq.add_st_operator(1.0, ["f"], ["t2"]) + pq.add_st_operator(1.0, ["v"], ["t2"]) + pq.simplify() + terms_r2 = pq.fully_contracted_strings() + terms_r2 = remove_e0_eom(terms_r2) + + # Get the L amplitudes in albert format + terms = [terms_r1, terms_r2] + expr = [] + output = [] + returns = [] + for n in range(2): + for index_spins in get_amplitude_spins(n + 1, spin, which="ee"): + indices = default_indices["o"][: n + 1] + default_indices["v"][: n + 1] + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins, l_is_lambda=False) + expr_n = spin_integrate(expr_n, spin) + expr_n = tuple(e.apply(get_density_fit()) for e in expr_n) + output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + + (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="trav") + + # Generate the L amplitude intermediates code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_lmatvec_ee_intermediates", + returns_nr, + output_nr, + expr_nr, + **kwargs, + ) + + # Generate the L amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + preamble = "ints = kwargs[\"ints\"]" + if spin == "uhf": + preamble += "\nr1new = Namespace()\nr2new = Namespace()" + kwargs = { + "preamble": preamble, + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_lmatvec_ee", + returns_r, + output_r, + expr_r, + **kwargs, + ) + for codegen in code_generators.values(): codegen.postamble() codegen.stdout.close() diff --git a/ebcc/codegen/bootstrap_DFCCSD.py b/ebcc/codegen/bootstrap_DFCCSD.py index 646d0b03..3240c8f9 100644 --- a/ebcc/codegen/bootstrap_DFCCSD.py +++ b/ebcc/codegen/bootstrap_DFCCSD.py @@ -297,6 +297,478 @@ **kwargs, ) +with Stopwatch("IP-EOM"): + # Get the R1 contractions in pdaggerq format + pq.clear() + pq.set_right_operators_type("IP") + pq.set_left_operators([["a*(i)"]]) + pq.set_right_operators([["r1"], ["r2"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) + pq.simplify() + terms_r1 = pq.fully_contracted_strings() + terms_r1 = remove_e0_eom(terms_r1) + + # Get the R2 contractions in pdaggerq format + pq.clear() + pq.set_right_operators_type("IP") + pq.set_left_operators([["a*(i)", "a*(j)", "a(a)"]]) + pq.set_right_operators([["r1"], ["r2"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) + pq.simplify() + terms_r2 = pq.fully_contracted_strings() + terms_r2 = remove_e0_eom(terms_r2) + + # Get the R amplitudes in albert format + terms = [terms_r1, terms_r2] + expr = [] + output = [] + returns = [] + for n in range(2): + for index_spins in get_amplitude_spins(n + 1, spin, which="ip"): + indices = default_indices["o"][: n + 1] + default_indices["v"][: n] + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + expr_n = tuple(e.apply(get_density_fit()) for e in expr_n) + output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + + (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="exhaust") + + # Generate the R amplitude intermediates code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_matvec_ip_intermediates", + returns_nr, + output_nr, + expr_nr, + **kwargs, + ) + + # Generate the R amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + preamble = "ints = kwargs[\"ints\"]" + if spin == "uhf": + preamble += "\nr1new = Namespace()\nr2new = Namespace()" + kwargs = { + "preamble": preamble, + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_matvec_ip", + returns_r, + output_r, + expr_r, + **kwargs, + ) + +with Stopwatch("EA-EOM"): + # Get the R1 contractions in pdaggerq format + pq.clear() + pq.set_right_operators_type("EA") + pq.set_left_operators([["a(a)"]]) + pq.set_right_operators([["r1"], ["r2"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) + pq.simplify() + terms_r1 = pq.fully_contracted_strings() + terms_r1 = remove_e0_eom(terms_r1) + + # Get the R2 contractions in pdaggerq format + pq.clear() + pq.set_right_operators_type("EA") + pq.set_left_operators([["a*(i)", "a(b)", "a(a)"]]) + pq.set_right_operators([["r1"], ["r2"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) + pq.simplify() + terms_r2 = pq.fully_contracted_strings() + terms_r2 = remove_e0_eom(terms_r2) + + # Get the R amplitudes in albert format + terms = [terms_r1, terms_r2] + expr = [] + output = [] + returns = [] + for n in range(2): + for index_spins in get_amplitude_spins(n + 1, spin, which="ea"): + indices = default_indices["v"][: n + 1] + default_indices["o"][: n] + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + expr_n = tuple(e.apply(get_density_fit()) for e in expr_n) + output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + + (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="exhaust") + + # Generate the R amplitude intermediates code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_matvec_ea_intermediates", + returns_nr, + output_nr, + expr_nr, + **kwargs, + ) + + # Generate the R amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + preamble = "ints = kwargs[\"ints\"]" + if spin == "uhf": + preamble += "\nr1new = Namespace()\nr2new = Namespace()" + kwargs = { + "preamble": preamble, + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_matvec_ea", + returns_r, + output_r, + expr_r, + **kwargs, + ) + +if spin == "ghf": # FIXME + with Stopwatch("EE-EOM"): + # Get the R1 contractions in pdaggerq format + pq.clear() + pq.set_right_operators_type("EE") + pq.set_left_operators([["e1(i,a)"]]) + pq.set_right_operators([["r1"], ["r2"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) + pq.simplify() + terms_r1 = pq.fully_contracted_strings() + terms_r1 = remove_e0_eom(terms_r1) + + # Get the R2 contractions in pdaggerq format + pq.clear() + pq.set_right_operators_type("EE") + pq.set_left_operators([["e2(i,j,b,a)"]]) + pq.set_right_operators([["r1"], ["r2"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) + pq.simplify() + terms_r2 = pq.fully_contracted_strings() + terms_r2 = remove_e0_eom(terms_r2) + + # Get the R amplitudes in albert format + terms = [terms_r1, terms_r2] + expr = [] + output = [] + returns = [] + for n in range(2): + for index_spins in get_amplitude_spins(n + 1, spin, which="ee"): + indices = default_indices["o"][: n + 1] + default_indices["v"][: n + 1] + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + expr_n = tuple(e.apply(get_density_fit()) for e in expr_n) + output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + + (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="trav") + + # Generate the R amplitude intermediates code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_matvec_ee_intermediates", + returns_nr, + output_nr, + expr_nr, + **kwargs, + ) + + # Generate the R amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + preamble = "ints = kwargs[\"ints\"]" + if spin == "uhf": + preamble += "\nr1new = Namespace()\nr2new = Namespace()" + kwargs = { + "preamble": preamble, + "postamble": "r2new.baba = r2new.abab.transpose(1, 0, 3, 2)" if spin == "uhf" else None, # FIXME + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_matvec_ee", + returns_r, + output_r, + expr_r, + **kwargs, + ) + +with Stopwatch("L-IP-EOM"): + # Get the L1 contractions in pdaggerq format + pq.clear() + pq.set_left_operators_type("IP") + pq.set_left_operators([["l1"], ["l2"]]) + pq.set_right_operators([["a(i)"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) + pq.simplify() + terms_r1 = pq.fully_contracted_strings() + terms_r1 = remove_e0_eom(terms_r1) + + # Get the L2 contractions in pdaggerq format + pq.clear() + pq.set_left_operators_type("IP") + pq.set_right_operators([["a*(a)", "a(j)", "a(i)"]]) + pq.set_left_operators([["l1"], ["l2"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) + pq.simplify() + terms_r2 = pq.fully_contracted_strings() + terms_r2 = remove_e0_eom(terms_r2) + + # Get the L amplitudes in albert format + terms = [terms_r1, terms_r2] + expr = [] + output = [] + returns = [] + for n in range(2): + for index_spins in get_amplitude_spins(n + 1, spin, which="ip"): + indices = default_indices["o"][: n + 1] + default_indices["v"][: n] + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins, l_is_lambda=False) + expr_n = spin_integrate(expr_n, spin) + expr_n = tuple(e.apply(get_density_fit()) for e in expr_n) + output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + + (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="exhaust") + + # Generate the L amplitude intermediates code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_lmatvec_ip_intermediates", + returns_nr, + output_nr, + expr_nr, + **kwargs, + ) + + # Generate the L amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + preamble = "ints = kwargs[\"ints\"]" + if spin == "uhf": + preamble += "\nr1new = Namespace()\nr2new = Namespace()" + kwargs = { + "preamble": preamble, + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_lmatvec_ip", + returns_r, + output_r, + expr_r, + **kwargs, + ) + +with Stopwatch("L-EA-EOM"): + # Get the L1 contractions in pdaggerq format + pq.clear() + pq.set_left_operators_type("EA") + pq.set_left_operators([["l1"], ["l2"]]) + pq.set_right_operators([["a*(a)"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) + pq.simplify() + terms_r1 = pq.fully_contracted_strings() + terms_r1 = remove_e0_eom(terms_r1) + + # Get the L2 contractions in pdaggerq format + pq.clear() + pq.set_left_operators_type("EA") + pq.set_right_operators([["a*(a)", "a*(b)", "a(i)"]]) + pq.set_left_operators([["l1"], ["l2"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) + pq.simplify() + terms_r2 = pq.fully_contracted_strings() + terms_r2 = remove_e0_eom(terms_r2) + + # Get the L amplitudes in albert format + terms = [terms_r1, terms_r2] + expr = [] + output = [] + returns = [] + for n in range(2): + for index_spins in get_amplitude_spins(n + 1, spin, which="ea"): + indices = default_indices["v"][: n + 1] + default_indices["o"][: n] + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins, l_is_lambda=False) + expr_n = spin_integrate(expr_n, spin) + expr_n = tuple(e.apply(get_density_fit()) for e in expr_n) + output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + + (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="exhaust") + + # Generate the L amplitude intermediates code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_lmatvec_ea_intermediates", + returns_nr, + output_nr, + expr_nr, + **kwargs, + ) + + # Generate the L amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + preamble = "ints = kwargs[\"ints\"]" + if spin == "uhf": + preamble += "\nr1new = Namespace()\nr2new = Namespace()" + kwargs = { + "preamble": preamble, + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_lmatvec_ea", + returns_r, + output_r, + expr_r, + **kwargs, + ) + +if spin == "ghf": # FIXME + with Stopwatch("L-EE-EOM"): + # Get the L1 contractions in pdaggerq format + pq.clear() + pq.set_left_operators_type("EE") + pq.set_left_operators([["l1"], ["l2"]]) + pq.set_right_operators([["e1(a,i)"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) + pq.simplify() + terms_r1 = pq.fully_contracted_strings() + terms_r1 = remove_e0_eom(terms_r1) + + # Get the L2 contractions in pdaggerq format + pq.clear() + pq.set_left_operators_type("EE") + pq.set_left_operators([["l1"], ["l2"]]) + pq.set_right_operators([["e2(a,b,j,i)"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) + pq.simplify() + terms_r2 = pq.fully_contracted_strings() + terms_r2 = remove_e0_eom(terms_r2) + + # Get the L amplitudes in albert format + terms = [terms_r1, terms_r2] + expr = [] + output = [] + returns = [] + for n in range(2): + for index_spins in get_amplitude_spins(n + 1, spin, which="ee"): + indices = default_indices["o"][: n + 1] + default_indices["v"][: n + 1] + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins, l_is_lambda=False) + expr_n = spin_integrate(expr_n, spin) + expr_n = tuple(e.apply(get_density_fit()) for e in expr_n) + output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + + (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="trav") + + # Generate the L amplitude intermediates code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_lmatvec_ee_intermediates", + returns_nr, + output_nr, + expr_nr, + **kwargs, + ) + + # Generate the L amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + preamble = "ints = kwargs[\"ints\"]" + if spin == "uhf": + preamble += "\nr1new = Namespace()\nr2new = Namespace()" + kwargs = { + "preamble": preamble, + "postamble": "r2new.baba = r2new.abab.transpose(1, 0, 3, 2)" if spin == "uhf" else None, # FIXME + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_lmatvec_ee", + returns_r, + output_r, + expr_r, + **kwargs, + ) + for codegen in code_generators.values(): codegen.postamble() codegen.stdout.close() From 7802aec2dbac210c9234be3de94ed7525593edc2 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Sat, 21 Sep 2024 14:36:22 +0100 Subject: [PATCH 104/168] Update scripts for array API changes --- ebcc/codegen/bootstrap_CCSD.py | 4 ++-- ebcc/codegen/bootstrap_DFCCSD.py | 4 ++-- ebcc/codegen/bootstrap_MPn.py | 2 +- ebcc/codegen/bootstrap_common.py | 34 ++++++++++++++++---------------- 4 files changed, 22 insertions(+), 22 deletions(-) diff --git a/ebcc/codegen/bootstrap_CCSD.py b/ebcc/codegen/bootstrap_CCSD.py index 33eb43e1..0e894907 100644 --- a/ebcc/codegen/bootstrap_CCSD.py +++ b/ebcc/codegen/bootstrap_CCSD.py @@ -515,7 +515,7 @@ def tensor_cleanup(self, *args): preamble += "\nr1new = Namespace()\nr2new = Namespace()" kwargs = { "preamble": preamble, - "postamble": "r2new.baba = r2new.abab.transpose(1, 0, 3, 2)" if spin == "uhf" else None, # FIXME + "postamble": "r2new.baba = np.transpose(r2new.abab, (1, 0, 3, 2))" if spin == "uhf" else None, # FIXME "as_dict": True, } else: @@ -748,7 +748,7 @@ def tensor_cleanup(self, *args): preamble += "\nr1new = Namespace()\nr2new = Namespace()" kwargs = { "preamble": preamble, - "postamble": "r2new.baba = r2new.abab.transpose(1, 0, 3, 2)" if spin == "uhf" else None, # FIXME + "postamble": "r2new.baba = np.transpose(r2new.abab, (1, 0, 3, 2))" if spin == "uhf" else None, # FIXME "as_dict": True, } else: diff --git a/ebcc/codegen/bootstrap_DFCCSD.py b/ebcc/codegen/bootstrap_DFCCSD.py index 3240c8f9..17fbf09d 100644 --- a/ebcc/codegen/bootstrap_DFCCSD.py +++ b/ebcc/codegen/bootstrap_DFCCSD.py @@ -520,7 +520,7 @@ preamble += "\nr1new = Namespace()\nr2new = Namespace()" kwargs = { "preamble": preamble, - "postamble": "r2new.baba = r2new.abab.transpose(1, 0, 3, 2)" if spin == "uhf" else None, # FIXME + "postamble": "r2new.baba = np.transpose(r2new.abab, (1, 0, 3, 2))" if spin == "uhf" else None, # FIXME "as_dict": True, } else: @@ -756,7 +756,7 @@ preamble += "\nr1new = Namespace()\nr2new = Namespace()" kwargs = { "preamble": preamble, - "postamble": "r2new.baba = r2new.abab.transpose(1, 0, 3, 2)" if spin == "uhf" else None, # FIXME + "postamble": "r2new.baba = np.transpose(r2new.abab, (1, 0, 3, 2))" if spin == "uhf" else None, # FIXME "as_dict": True, } else: diff --git a/ebcc/codegen/bootstrap_MPn.py b/ebcc/codegen/bootstrap_MPn.py index 3f684b9b..49396b2f 100644 --- a/ebcc/codegen/bootstrap_MPn.py +++ b/ebcc/codegen/bootstrap_MPn.py @@ -491,7 +491,7 @@ def get_preamble(n, spin, name="rdm{n}"): preamble += "\nr1new = Namespace()\nr2new = Namespace()" kwargs = { "preamble": preamble, - "postamble": "r2new.baba = r2new.abab.transpose(1, 0, 3, 2)" if spin == "uhf" else None, # FIXME + "postamble": "r2new.baba = np.transpose(r2new.abab, (1, 0, 3, 2))" if spin == "uhf" else None, # FIXME "as_dict": True, } else: diff --git a/ebcc/codegen/bootstrap_common.py b/ebcc/codegen/bootstrap_common.py index 7690bc9b..a583aeb4 100644 --- a/ebcc/codegen/bootstrap_common.py +++ b/ebcc/codegen/bootstrap_common.py @@ -74,7 +74,7 @@ def __init__( self, einsum_func="einsum", einsum_kwargs=None, - transpose_func="{arg}.transpose({transpose})", + transpose_func="np.transpose({arg}, {transpose})", name_generator=None, spin="ghf", **kwargs, @@ -487,13 +487,13 @@ def get_density_einsum_postamble(n, spin, name="rdm{n}", spaces=None): f"{name}.bbbb.{perm}" for perm in spaces ) postamble += f"\n{name} = Namespace(" - postamble += f"\n aaaa={name}.aaaa.swapaxes(1, 2)," - postamble += f"\n aabb={name}.abab.swapaxes(1, 2)," - postamble += f"\n bbbb={name}.bbbb.swapaxes(1, 2)," + postamble += f"\n aaaa=np.transpose({name}.aaaa, (0, 2, 1, 3))," + postamble += f"\n aabb=np.transpose({name}.abab, (0, 2, 1, 3))," + postamble += f"\n bbbb=np.transpose({name}.bbbb, (0, 2, 1, 3))," postamble += f"\n)" else: postamble = f"{name} = pack_2e(%s)" % ", ".join(f"{name}.{perm}" for perm in spaces) - postamble += f"\n{name} = {name}.swapaxes(1, 2)" + postamble += f"\n{name} = np.transpose({name}, (0, 2, 1, 3))" return postamble @@ -502,24 +502,24 @@ def get_boson_einsum_preamble(spin): if spin == "uhf": preamble = "gc = Namespace(" preamble += "\n aa=Namespace(" - preamble += "\n boo=g.aa.boo.transpose(0, 2, 1)," - preamble += "\n bov=g.aa.bvo.transpose(0, 2, 1)," - preamble += "\n bvo=g.aa.bov.transpose(0, 2, 1)," - preamble += "\n bvv=g.aa.bvv.transpose(0, 2, 1)," + preamble += "\n boo=np.transpose(g.aa.boo, (0, 2, 1))," + preamble += "\n bov=np.transpose(g.aa.bvo, (0, 2, 1))," + preamble += "\n bvo=np.transpose(g.aa.bov, (0, 2, 1))," + preamble += "\n bvv=np.transpose(g.aa.bvv, (0, 2, 1))," preamble += "\n )," preamble += "\n bb=Namespace(" - preamble += "\n boo=g.bb.boo.transpose(0, 2, 1)," - preamble += "\n bov=g.bb.bvo.transpose(0, 2, 1)," - preamble += "\n bvo=g.bb.bov.transpose(0, 2, 1)," - preamble += "\n bvv=g.bb.bvv.transpose(0, 2, 1)," + preamble += "\n boo=np.transpose(g.bb.boo, (0, 2, 1))," + preamble += "\n bov=np.transpose(g.bb.bvo, (0, 2, 1))," + preamble += "\n bvo=np.transpose(g.bb.bov, (0, 2, 1))," + preamble += "\n bvv=np.transpose(g.bb.bvv, (0, 2, 1))," preamble += "\n )," preamble += "\n)" else: preamble = "gc = Namespace(" - preamble += "\n boo=g.boo.transpose(0, 2, 1)," - preamble += "\n bov=g.bvo.transpose(0, 2, 1)," - preamble += "\n bvo=g.bov.transpose(0, 2, 1)," - preamble += "\n bvv=g.bvv.transpose(0, 2, 1)," + preamble += "\n boo=np.transpose(g.boo, (0, 2, 1))," + preamble += "\n bov=np.transpose(g.bvo, (0, 2, 1))," + preamble += "\n bvo=np.transpose(g.bov, (0, 2, 1))," + preamble += "\n bvv=np.transpose(g.bvv, (0, 2, 1))," preamble += "\n)" return preamble From b446ed3d001768aad467cee161c3f5cd19d42260 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Fri, 27 Sep 2024 20:05:37 +0100 Subject: [PATCH 105/168] CCSDt' fixes --- ebcc/codegen/bootstrap_CCSDtp.py | 56 ++++++++++++++++++++------------ 1 file changed, 36 insertions(+), 20 deletions(-) diff --git a/ebcc/codegen/bootstrap_CCSDtp.py b/ebcc/codegen/bootstrap_CCSDtp.py index 88e94e9d..79df9273 100644 --- a/ebcc/codegen/bootstrap_CCSDtp.py +++ b/ebcc/codegen/bootstrap_CCSDtp.py @@ -119,7 +119,6 @@ def tensor_cleanup(self, *args): expr.extend(expr_n) output.extend(output_n) returns.extend(returns_n) - output, expr = optimise(output, expr, spin, strategy="exhaust") # Make the T3 indices active new_expr = [] @@ -136,7 +135,7 @@ def tensor_cleanup(self, *args): indices_a = indices_a.union(set(t.indices)) # Substitute the indices - subs = {i: i.to_space(i.space.upper()) for i in indices_a} + subs = {i: Index(i.name.upper(), spin=i.spin, space=i.space.upper()) for i in indices_a} new_args = [] for t in a: if isinstance(t, Tensor): @@ -148,6 +147,9 @@ def tensor_cleanup(self, *args): output = new_output expr = new_expr + # Optimise + output, expr = optimise(output, expr, spin, strategy="exhaust" if spin != "uhf" else "greedy") + # Generate the T amplitude code for name, codegen in code_generators.items(): ignore_arguments = [] @@ -167,40 +169,54 @@ def tensor_cleanup(self, *args): preamble += "\nsVb = space[1].active[space[1].correlated][space[1].virtual[space[1].correlated]]" preamble += "\n" postamble = "" - inp_keys_t1 = ("oV", "Ov") - inp_keys_t2_aaaa = ( "ooVv", "Oovv", "ooVV", "OoVv", "OOvv", "OoVV", "OOVv") - inp_keys_t2_abab = ("oovV", "ooVv", "oOvv", "Oovv", "ooVV", "oOvV", "oOVv", "OovV", "OOvv", "OoVv", "oOVV", "OoVV", "OOvV", "OOVv") - inp_keys_t2_bbbb = ( "ooVv", "Oovv", "ooVV", "OOvv", "OoVv", "OoVV", "OOVv") - out_keys_t1 = ("OV",) - out_keys_t2 = ("oOVV", "OoVV", "OOvV", "OOVv", "OOVV") - for inp_keys, spins in ( - (inp_keys_t1, "aa"), (inp_keys_t1, "bb"), (inp_keys_t2_aaaa, "aaaa"), (inp_keys_t2_abab, "abab"), (inp_keys_t2_bbbb, "bbbb") - ): + inp_keys = {"aa": set(), "bb": set(), "aaaa": set(), "abab": set(), "bbbb": set()} + out_keys = {"aa": set(), "bb": set(), "aaaa": set(), "abab": set(), "bbbb": set()} + for o, e in zip(output, expr): + if o.name.startswith("t") and not (o.name.startswith("tmp") or o.name.startswith("t3")): + spaces = "".join(tuple(i.space for i in o.indices)) + spins = "".join(tuple(i.spin for i in o.indices)) + if set(spaces) != {"o", "v"}: + inp_keys[spins].add(spaces) + for a in e.nested_view(): + for t in a: + if isinstance(t, Tensor) and t.name.startswith("t") and not (t.name.startswith("tmp") or t.name.startswith("t3")): + spaces = "".join(tuple(i.space for i in t.indices)) + spins = "".join(tuple(i.spin for i in t.indices)) + inp_keys[spins].add(spaces) + for spins, inp_keys in inp_keys.items(): for key in inp_keys: slices = ", ".join(f"s{c}{s}" for c, s in zip(key, spins)) - preamble += f"\nt{len(key)//2}_{spins}_{key} = t{len(key)//2}.{spins}[np.ix_({slices})].copy(order=\"A\")" + preamble += f"\nt{len(key)//2}_{spins}_{key} = np.copy(t{len(key)//2}.{spins}[np.ix_({slices})])" ignore_arguments.append(f"t{len(key)//2}_{spins}_{key}") - for out_keys, spins in ((out_keys_t1, "aa"), (out_keys_t1, "bb"), (out_keys_t2, "aaaa"), (out_keys_t2, "abab"), (out_keys_t2, "bbbb")): + for spins, out_keys in out_keys.items(): for key in out_keys: slices = ", ".join(f"s{c}{s}" for c, s in zip(key, spins)) - postamble += f"\nt{len(key)//2}new.{spins}[np.ix_({slices})] += t{len(key)//2}new_{spins}_{key}" + postamble += f"\nt{len(key)//2}new.{spins} = _put(t{len(key)//2}new.{spins}, np.ix_({slices}), t{len(key)//2}new_{spins}_{key})" else: preamble += "\nso = np.ones((t1.shape[0],), dtype=bool)" preamble += "\nsv = np.ones((t1.shape[1],), dtype=bool)" preamble += "\nsO = space.active[space.correlated][space.occupied[space.correlated]]" preamble += "\nsV = space.active[space.correlated][space.virtual[space.correlated]]" postamble = "" - inp_keys = ("OV", "Ov", "oV", "oovV", "ooVv", "oOvv", "Oovv", "OOvv", "ooVV", "OovV", "OOvV", "OoVV", "OOVV") - out_keys = ("OV", "oOVV", "OoVV", "OOvV", "OOVv", "OOVV") - if spin == "rhf": - inp_keys += ("oOVV", "OOVv", "OoVv", "oOVv", "oOvV") + inp_keys = set() + out_keys = set() + for o, e in zip(output, expr): + if o.name.startswith("t") and not (o.name.startswith("tmp") or o.name.startswith("t3")): + spaces = "".join(tuple(i.space for i in o.indices)) + if set(spaces) != {"o", "v"}: + out_keys.add(spaces) + for a in e.nested_view(): + for t in a: + if isinstance(t, Tensor) and t.name.startswith("t") and not (t.name.startswith("tmp") or t.name.startswith("t3")): + spaces = "".join(tuple(i.space for i in t.indices)) + inp_keys.add(spaces) for key in inp_keys: slices = ", ".join(f"s{c}" for c in key) - preamble += f"\nt{len(key)//2}_{key} = t{len(key)//2}[np.ix_({slices})].copy(order=\"A\")" + preamble += f"\nt{len(key)//2}_{key} = np.copy(t{len(key)//2}[np.ix_({slices})])" ignore_arguments.append(f"t{len(key)//2}_{key}") for key in out_keys: slices = ", ".join(f"s{c}" for c in key) - postamble += f"\nt{len(key)//2}new[np.ix_({slices})] += t{len(key)//2}new_{key}" + postamble += f"\nt{len(key)//2}new = _put(t{len(key)//2}new, np.ix_({slices}), t{len(key)//2}new_{key})" preamble += "\n" kwargs = { "preamble": preamble, From c1e9bba8d9b540cb57b3e341bbe3ceae65b7c97c Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Sat, 28 Sep 2024 11:42:48 +0100 Subject: [PATCH 106/168] CCSDt' fixes --- ebcc/codegen/bootstrap_CCSDtp.py | 15 +++++++++++---- ebcc/codegen/bootstrap_common.py | 9 +++++---- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/ebcc/codegen/bootstrap_CCSDtp.py b/ebcc/codegen/bootstrap_CCSDtp.py index 79df9273..40aada43 100644 --- a/ebcc/codegen/bootstrap_CCSDtp.py +++ b/ebcc/codegen/bootstrap_CCSDtp.py @@ -37,6 +37,13 @@ def tensor_cleanup(self, *args): args = tuple(arg for arg in args if "_" not in arg) return super().tensor_cleanup(*args) + def preamble(self, imports=None): + if imports is None: + imports = "from ebcc import numpy as np\n" + imports += "from ebcc.util import pack_2e, einsum, dirsum, Namespace\n" + imports += "from ebcc.backend import _inflate" + super().preamble(imports=imports) + code_generators = { "einsum": _EinsumCodeGen( stdout=open(f"{spin[0].upper()}CCSDtp.py", "w"), @@ -174,14 +181,14 @@ def tensor_cleanup(self, *args): for o, e in zip(output, expr): if o.name.startswith("t") and not (o.name.startswith("tmp") or o.name.startswith("t3")): spaces = "".join(tuple(i.space for i in o.indices)) - spins = "".join(tuple(i.spin for i in o.indices)) + spins = "".join(tuple({"α": "a", "β": "b"}[i.spin] for i in o.indices)) if set(spaces) != {"o", "v"}: inp_keys[spins].add(spaces) for a in e.nested_view(): for t in a: if isinstance(t, Tensor) and t.name.startswith("t") and not (t.name.startswith("tmp") or t.name.startswith("t3")): spaces = "".join(tuple(i.space for i in t.indices)) - spins = "".join(tuple(i.spin for i in t.indices)) + spins = "".join(tuple({"α": "a", "β": "b"}[i.spin] for i in t.indices)) inp_keys[spins].add(spaces) for spins, inp_keys in inp_keys.items(): for key in inp_keys: @@ -191,7 +198,7 @@ def tensor_cleanup(self, *args): for spins, out_keys in out_keys.items(): for key in out_keys: slices = ", ".join(f"s{c}{s}" for c, s in zip(key, spins)) - postamble += f"\nt{len(key)//2}new.{spins} = _put(t{len(key)//2}new.{spins}, np.ix_({slices}), t{len(key)//2}new_{spins}_{key})" + postamble += f"\nt{len(key)//2}new.{spins} += _inflate(t{len(key)//2}new.{spins}.shape, np.ix_({slices}), t{len(key)//2}new_{spins}_{key})" else: preamble += "\nso = np.ones((t1.shape[0],), dtype=bool)" preamble += "\nsv = np.ones((t1.shape[1],), dtype=bool)" @@ -216,7 +223,7 @@ def tensor_cleanup(self, *args): ignore_arguments.append(f"t{len(key)//2}_{key}") for key in out_keys: slices = ", ".join(f"s{c}" for c in key) - postamble += f"\nt{len(key)//2}new = _put(t{len(key)//2}new, np.ix_({slices}), t{len(key)//2}new_{key})" + postamble += f"\nt{len(key)//2}new += _inflate(t{len(key)//2}new.shape, np.ix_({slices}), t{len(key)//2}new_{key})" preamble += "\n" kwargs = { "preamble": preamble, diff --git a/ebcc/codegen/bootstrap_common.py b/ebcc/codegen/bootstrap_common.py index a583aeb4..0461ac02 100644 --- a/ebcc/codegen/bootstrap_common.py +++ b/ebcc/codegen/bootstrap_common.py @@ -90,10 +90,11 @@ def __init__( **kwargs, ) - def preamble(self): - preamble = "from ebcc import numpy as np\n" - preamble += "from ebcc.util import pack_2e, einsum, direct_sum, Namespace" - super().preamble(preamble) + def preamble(self, imports=None): + if imports is None: + imports = "from ebcc import numpy as np\n" + imports += "from ebcc.util import pack_2e, einsum, dirsum, Namespace" + super().preamble(imports=imports) def ignore_argument(self, arg): """ From 8c8f042690531a8817239b624bbbeab7df4d22a1 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Sat, 28 Sep 2024 12:35:23 +0100 Subject: [PATCH 107/168] Fix filename bug --- ebcc/codegen/{bootstrap_CCSDtp.py => bootstrap_CCSDwtwp.py} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename ebcc/codegen/{bootstrap_CCSDtp.py => bootstrap_CCSDwtwp.py} (99%) diff --git a/ebcc/codegen/bootstrap_CCSDtp.py b/ebcc/codegen/bootstrap_CCSDwtwp.py similarity index 99% rename from ebcc/codegen/bootstrap_CCSDtp.py rename to ebcc/codegen/bootstrap_CCSDwtwp.py index 40aada43..cbc729f1 100644 --- a/ebcc/codegen/bootstrap_CCSDtp.py +++ b/ebcc/codegen/bootstrap_CCSDwtwp.py @@ -46,7 +46,7 @@ def preamble(self, imports=None): code_generators = { "einsum": _EinsumCodeGen( - stdout=open(f"{spin[0].upper()}CCSDtp.py", "w"), + stdout=open(f"{spin[0].upper()}CCSDwtwp.py", "w"), name_generator=name_generator, spin=spin, ), From 16fa1dedf5ad7fb8332d34bc5a9a4aab2f8a64a9 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Sat, 28 Sep 2024 12:36:42 +0100 Subject: [PATCH 108/168] Generate CCSDt' except uhf --- .github/workflows/bootstrap_all.sh | 7 + ebcc/codegen/GCCSDtp.py | 966 --------------------- ebcc/codegen/RCCSDtp.py | 987 ---------------------- ebcc/codegen/{UCCSDtp.py => UCCSDwtwp.py} | 0 4 files changed, 7 insertions(+), 1953 deletions(-) delete mode 100644 ebcc/codegen/GCCSDtp.py delete mode 100644 ebcc/codegen/RCCSDtp.py rename ebcc/codegen/{UCCSDtp.py => UCCSDwtwp.py} (100%) diff --git a/.github/workflows/bootstrap_all.sh b/.github/workflows/bootstrap_all.sh index 24a2a196..342072aa 100644 --- a/.github/workflows/bootstrap_all.sh +++ b/.github/workflows/bootstrap_all.sh @@ -26,3 +26,10 @@ for method in CC3; do python -W ignore bootstrap_${method}.py $i done done + +for method in CCSDwtwp; do + for i in rhf ghf; do + echo "Bootstrapping $method ($i)" + python -W ignore bootstrap_${method}.py $i + done +done diff --git a/ebcc/codegen/GCCSDtp.py b/ebcc/codegen/GCCSDtp.py deleted file mode 100644 index 3ee98066..00000000 --- a/ebcc/codegen/GCCSDtp.py +++ /dev/null @@ -1,966 +0,0 @@ -# Code generated for ebcc. - -from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, Namespace -from ebcc.precision import types - -def energy(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, t3=None, **kwargs): - # energy - e_cc = 0 - e_cc += einsum(f.ov, (0, 1), t1, (0, 1), ()) - x0 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x0 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - x0 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) * 2.0 - e_cc += einsum(v.oovv, (0, 1, 2, 3), x0, (0, 1, 2, 3), ()) * 0.25 - del x0 - - return e_cc - -def update_amps(f=None, v=None, space=None, t1=None, t2=None, t3=None, **kwargs): - nocc = space.ncocc - nvir = space.ncvir - naocc = space.naocc - navir = space.navir - so = np.ones((nocc,), dtype=bool) - sv = np.ones((nvir,), dtype=bool) - sO = space.active[space.correlated][space.occupied[space.correlated]] - sV = space.active[space.correlated][space.virtual[space.correlated]] - - # T amplitudes - t1new = np.zeros(((nocc, nvir)), dtype=types[float]) - t1new[np.ix_(so,sv)] += einsum(f.ov, (0, 1), (0, 1)) - t1new[np.ix_(so,sv)] += einsum(f.oo, (0, 1), t1[np.ix_(so,sv)], (1, 2), (0, 2)) * -1.0 - t1new[np.ix_(so,sv)] += einsum(f.vv, (0, 1), t1[np.ix_(so,sv)], (2, 1), (2, 0)) - t1new[np.ix_(so,sv)] += einsum(f.ov, (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 0, 3, 1), (2, 3)) - t1new[np.ix_(so,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), v.ovov, (2, 1, 0, 3), (2, 3)) * -1.0 - t1new[np.ix_(so,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.ooov, (0, 1, 4, 3), (4, 2)) * -0.5 - t1new[np.ix_(so,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.ovvv, (1, 4, 2, 3), (0, 4)) * -0.5 - t1new[np.ix_(sO,sV)] += einsum(v.OOVV, (0, 1, 2, 3), t3, (4, 0, 1, 5, 2, 3), (4, 5)) * 0.25 - t2new = np.zeros(((nocc, nocc, nvir, nvir)), dtype=types[float]) - t2new[np.ix_(so,so,sv,sv)] += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new[np.ix_(sO,sO,sV,sV)] += einsum(f.OV, (0, 1), t3, (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) - t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.oooo, (4, 5, 0, 1), (4, 5, 2, 3)) * 0.5 - t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.vvvv, (4, 5, 2, 3), (0, 1, 4, 5)) * 0.5 - x0 = np.zeros((nocc, nocc), dtype=types[float]) - x0 += einsum(f.ov, (0, 1), t1[np.ix_(so,sv)], (2, 1), (0, 2)) - t1new[np.ix_(so,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), x0, (0, 2), (2, 1)) * -1.0 - x1 = np.zeros((nocc, nocc), dtype=types[float]) - x1 += einsum(t1[np.ix_(so,sv)], (0, 1), v.ooov, (2, 0, 3, 1), (2, 3)) - t1new[np.ix_(so,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), x1, (0, 2), (2, 1)) * -1.0 - x2 = np.zeros((nvir, nvir), dtype=types[float]) - x2 += einsum(t1[np.ix_(so,sv)], (0, 1), v.ovvv, (0, 2, 3, 1), (2, 3)) - t1new[np.ix_(so,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), x2, (2, 1), (0, 2)) * -1.0 - x3 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x3 += einsum(t1[np.ix_(so,sv)], (0, 1), v.oovv, (2, 3, 4, 1), (0, 2, 3, 4)) - t1new[np.ix_(so,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x3, (4, 0, 1, 3), (4, 2)) * 0.5 - x4 = np.zeros((nocc, nocc), dtype=types[float]) - x4 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.oovv, (4, 1, 2, 3), (0, 4)) - t1new[np.ix_(so,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), x4, (2, 0), (2, 1)) * -0.5 - x5 = np.zeros((nocc, nvir), dtype=types[float]) - x5 += einsum(t1[np.ix_(so,sv)], (0, 1), v.oovv, (2, 0, 3, 1), (2, 3)) - t1new[np.ix_(so,sv)] += einsum(x5, (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 0, 3, 1), (2, 3)) - x6 = np.zeros((nocc, nocc), dtype=types[float]) - x6 += einsum(t1[np.ix_(so,sv)], (0, 1), x5, (2, 1), (0, 2)) - t1new[np.ix_(so,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), x6, (2, 0), (2, 1)) * -1.0 - x7 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x7 += einsum(f.oo, (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 1, 3, 4), (0, 2, 3, 4)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x7, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(x7, (0, 1, 2, 3), (1, 0, 3, 2)) - del x7 - x8 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x8 += einsum(f.vv, (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 1), (2, 3, 0, 4)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x8, (0, 1, 2, 3), (1, 0, 2, 3)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x8, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x8 - x9 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x9 += einsum(t1[np.ix_(so,sv)], (0, 1), v.ooov, (2, 3, 0, 4), (2, 3, 1, 4)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x9, (0, 1, 2, 3), (1, 0, 2, 3)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x9, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x9 - x10 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x10 += einsum(t1[np.ix_(so,sv)], (0, 1), v.ovvv, (2, 1, 3, 4), (0, 2, 3, 4)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x10, (0, 1, 2, 3), (0, 1, 3, 2)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x10, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x10 - x11 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x11 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.ovov, (4, 3, 1, 5), (0, 4, 2, 5)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x11, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(x11, (0, 1, 2, 3), (0, 1, 3, 2)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x11, (0, 1, 2, 3), (1, 0, 2, 3)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x11, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x11 - x12 = np.zeros((naocc, navir, navir, nocc), dtype=types[float]) - x12 += einsum(v.oVOO, (0, 1, 2, 3), t3, (4, 2, 3, 5, 6, 1), (4, 5, 6, 0)) * -1.0 - t2new[np.ix_(so,sO,sV,sV)] += einsum(x12, (0, 1, 2, 3), (3, 0, 2, 1)) * 0.5 - t2new[np.ix_(sO,so,sV,sV)] += einsum(x12, (0, 1, 2, 3), (0, 3, 2, 1)) * -0.5 - del x12 - x13 = np.zeros((naocc, naocc, navir, nvir), dtype=types[float]) - x13 += einsum(v.vOVV, (0, 1, 2, 3), t3, (4, 5, 1, 6, 2, 3), (4, 5, 6, 0)) * -1.0 - t2new[np.ix_(sO,sO,sv,sV)] += einsum(x13, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.5 - t2new[np.ix_(sO,sO,sV,sv)] += einsum(x13, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - del x13 - x14 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x14 += einsum(x0, (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 0, 3, 4), (1, 2, 3, 4)) - del x0 - t2new[np.ix_(so,so,sv,sv)] += einsum(x14, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(x14, (0, 1, 2, 3), (1, 0, 3, 2)) - del x14 - x15 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x15 += einsum(f.ov, (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 1), (0, 2, 3, 4)) - x16 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x16 += einsum(t1[np.ix_(so,sv)], (0, 1), x15, (0, 2, 3, 4), (2, 3, 1, 4)) - del x15 - t2new[np.ix_(so,so,sv,sv)] += einsum(x16, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x16, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x16 - x17 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x17 += einsum(t1[np.ix_(so,sv)], (0, 1), v.oooo, (2, 3, 4, 0), (2, 3, 4, 1)) - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), x17, (2, 3, 0, 4), (2, 3, 1, 4)) - del x17 - x18 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x18 += einsum(t1[np.ix_(so,sv)], (0, 1), v.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) - x19 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x19 += einsum(t1[np.ix_(so,sv)], (0, 1), x18, (2, 0, 3, 4), (2, 3, 1, 4)) - del x18 - t2new[np.ix_(so,so,sv,sv)] += einsum(x19, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x19, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(x19, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(x19, (0, 1, 2, 3), (1, 0, 3, 2)) - del x19 - x20 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x20 += einsum(t1[np.ix_(so,sv)], (0, 1), v.vvvv, (2, 3, 4, 1), (0, 2, 3, 4)) - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), x20, (2, 3, 4, 1), (0, 2, 4, 3)) * -1.0 - del x20 - x21 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x21 += einsum(t1[np.ix_(so,sv)], (0, 1), v.ooov, (2, 3, 4, 1), (0, 2, 3, 4)) - x22 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x22 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x21, (4, 0, 1, 5), (4, 5, 2, 3)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x22, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.5 - t2new[np.ix_(so,so,sv,sv)] += einsum(x22, (0, 1, 2, 3), (1, 0, 3, 2)) * -0.5 - del x22 - x23 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x23 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.ooov, (4, 1, 5, 3), (0, 4, 5, 2)) - x24 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x24 += einsum(t1[np.ix_(so,sv)], (0, 1), x23, (2, 0, 3, 4), (2, 3, 1, 4)) - del x23 - t2new[np.ix_(so,so,sv,sv)] += einsum(x24, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x24, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(x24, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(x24, (0, 1, 2, 3), (1, 0, 3, 2)) - del x24 - x25 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x25 += einsum(x1, (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 0, 3, 4), (2, 1, 3, 4)) * -1.0 - del x1 - t2new[np.ix_(so,so,sv,sv)] += einsum(x25, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(x25, (0, 1, 2, 3), (1, 0, 3, 2)) - del x25 - x26 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x26 += einsum(t1[np.ix_(so,sv)], (0, 1), v.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) - x27 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x27 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x26, (4, 1, 5, 3), (4, 0, 2, 5)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(x27, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(x27, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x27, (0, 1, 2, 3), (1, 0, 3, 2)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x27, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x27 - x28 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x28 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.ovvv, (4, 5, 2, 3), (0, 1, 4, 5)) - x29 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x29 += einsum(t1[np.ix_(so,sv)], (0, 1), x28, (2, 3, 0, 4), (2, 3, 1, 4)) - del x28 - t2new[np.ix_(so,so,sv,sv)] += einsum(x29, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - t2new[np.ix_(so,so,sv,sv)] += einsum(x29, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.5 - del x29 - x30 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x30 += einsum(x2, (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 1), (2, 3, 4, 0)) * -1.0 - del x2 - t2new[np.ix_(so,so,sv,sv)] += einsum(x30, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(x30, (0, 1, 2, 3), (0, 1, 2, 3)) - del x30 - x31 = np.zeros((naocc, naocc, navir, nocc), dtype=types[float]) - x31 += einsum(t1[np.ix_(so,sv)], (0, 1), v.vVOO, (1, 2, 3, 4), (3, 4, 2, 0)) * -1.0 - x32 = np.zeros((naocc, navir, navir, nocc), dtype=types[float]) - x32 += einsum(x31, (0, 1, 2, 3), t3, (4, 0, 1, 5, 6, 2), (4, 5, 6, 3)) - del x31 - t2new[np.ix_(so,sO,sV,sV)] += einsum(x32, (0, 1, 2, 3), (3, 0, 2, 1)) * 0.5 - t2new[np.ix_(sO,so,sV,sV)] += einsum(x32, (0, 1, 2, 3), (0, 3, 2, 1)) * -0.5 - del x32 - x33 = np.zeros((naocc, naocc, navir, nocc), dtype=types[float]) - x33 += einsum(v.oOVV, (0, 1, 2, 3), t3, (4, 5, 1, 6, 2, 3), (4, 5, 6, 0)) * -1.0 - x34 = np.zeros((naocc, naocc, navir, nvir), dtype=types[float]) - x34 += einsum(t1[np.ix_(so,sv)], (0, 1), x33, (2, 3, 4, 0), (3, 2, 4, 1)) * -1.0 - del x33 - t2new[np.ix_(sO,sO,sv,sV)] += einsum(x34, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.5 - t2new[np.ix_(sO,sO,sV,sv)] += einsum(x34, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - del x34 - x35 = np.zeros((naocc, navir), dtype=types[float]) - x35 += einsum(t1[np.ix_(so,sv)], (0, 1), v.oOvV, (0, 2, 1, 3), (2, 3)) - t2new[np.ix_(sO,sO,sV,sV)] += einsum(x35, (0, 1), t3, (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) - del x35 - x36 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x36 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.oovv, (4, 1, 5, 3), (0, 4, 2, 5)) - x37 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x37 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x36, (4, 1, 5, 3), (4, 0, 5, 2)) - del x36 - t2new[np.ix_(so,so,sv,sv)] += einsum(x37, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x37, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x37 - x38 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x38 += einsum(x4, (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 1, 3, 4), (2, 0, 3, 4)) - del x4 - t2new[np.ix_(so,so,sv,sv)] += einsum(x38, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.5 - t2new[np.ix_(so,so,sv,sv)] += einsum(x38, (0, 1, 2, 3), (1, 0, 3, 2)) * -0.5 - del x38 - x39 = np.zeros((nvir, nvir), dtype=types[float]) - x39 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.oovv, (0, 1, 4, 3), (2, 4)) - x40 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x40 += einsum(x39, (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 1), (2, 3, 4, 0)) - del x39 - t2new[np.ix_(so,so,sv,sv)] += einsum(x40, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - t2new[np.ix_(so,so,sv,sv)] += einsum(x40, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.5 - del x40 - x41 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x41 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.oovv, (4, 5, 2, 3), (0, 1, 4, 5)) - t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x41, (4, 5, 0, 1), (5, 4, 2, 3)) * -0.25 - x42 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x42 += einsum(t1[np.ix_(so,sv)], (0, 1), x21, (2, 0, 3, 4), (2, 3, 4, 1)) * -1.0 - del x21 - x43 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x43 += einsum(t1[np.ix_(so,sv)], (0, 1), x42, (2, 0, 3, 4), (2, 3, 4, 1)) * -1.0 - del x42 - t2new[np.ix_(so,so,sv,sv)] += einsum(x43, (0, 1, 2, 3), (0, 1, 3, 2)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x43, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x43 - x44 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x44 += einsum(t1[np.ix_(so,sv)], (0, 1), x26, (2, 3, 4, 1), (2, 0, 3, 4)) * -1.0 - del x26 - x45 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x45 += einsum(t1[np.ix_(so,sv)], (0, 1), x44, (2, 3, 0, 4), (3, 2, 1, 4)) * -1.0 - del x44 - t2new[np.ix_(so,so,sv,sv)] += einsum(x45, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(x45, (0, 1, 2, 3), (0, 1, 3, 2)) - del x45 - x46 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x46 += einsum(t1[np.ix_(so,sv)], (0, 1), x3, (2, 3, 4, 1), (2, 0, 4, 3)) - t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x46, (4, 5, 0, 1), (5, 4, 2, 3)) * -0.5 - x47 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x47 += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), x3, (4, 1, 5, 3), (4, 0, 5, 2)) - del x3 - x48 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x48 += einsum(t1[np.ix_(so,sv)], (0, 1), x47, (2, 3, 0, 4), (2, 3, 1, 4)) - del x47 - t2new[np.ix_(so,so,sv,sv)] += einsum(x48, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(x48, (0, 1, 2, 3), (0, 1, 3, 2)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x48, (0, 1, 2, 3), (1, 0, 2, 3)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x48, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x48 - x49 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x49 += einsum(x6, (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 1, 3, 4), (0, 2, 3, 4)) * -1.0 - del x6 - t2new[np.ix_(so,so,sv,sv)] += einsum(x49, (0, 1, 2, 3), (0, 1, 3, 2)) - t2new[np.ix_(so,so,sv,sv)] += einsum(x49, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x49 - x50 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x50 += einsum(t1[np.ix_(so,sv)], (0, 1), x41, (2, 3, 0, 4), (2, 3, 4, 1)) * -1.0 - del x41 - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), x50, (2, 3, 0, 4), (2, 3, 1, 4)) * 0.5 - del x50 - x51 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x51 += einsum(x5, (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 1), (2, 3, 0, 4)) * -1.0 - x52 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x52 += einsum(t1[np.ix_(so,sv)], (0, 1), x51, (2, 3, 0, 4), (2, 3, 1, 4)) - del x51 - t2new[np.ix_(so,so,sv,sv)] += einsum(x52, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(x52, (0, 1, 2, 3), (0, 1, 3, 2)) - del x52 - x53 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x53 += einsum(t1[np.ix_(so,sv)], (0, 1), x46, (2, 3, 4, 0), (2, 3, 4, 1)) - del x46 - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), x53, (2, 3, 0, 4), (3, 2, 1, 4)) * -1.0 - del x53 - x54 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) - x54 += einsum(f.OO, (0, 1), t3, (2, 3, 1, 4, 5, 6), (0, 2, 3, 4, 5, 6)) - t3new = np.zeros(((naocc, naocc, naocc, navir, navir, navir)), dtype=types[float]) - t3new += einsum(x54, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - t3new += einsum(x54, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) - t3new += einsum(x54, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 - del x54 - x55 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) - x55 += einsum(f.VV, (0, 1), t3, (2, 3, 4, 5, 6, 1), (2, 3, 4, 0, 5, 6)) - t3new += einsum(x55, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 - t3new += einsum(x55, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) - t3new += einsum(x55, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -1.0 - del x55 - x56 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) - x56 += einsum(t2[np.ix_(so,sO,sV,sV)], (0, 1, 2, 3), v.oVOO, (0, 4, 5, 6), (1, 5, 6, 2, 3, 4)) - t3new += einsum(x56, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) - t3new += einsum(x56, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 - t3new += einsum(x56, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) - t3new += einsum(x56, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) - t3new += einsum(x56, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -1.0 - t3new += einsum(x56, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) - t3new += einsum(x56, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * -1.0 - t3new += einsum(x56, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) - t3new += einsum(x56, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -1.0 - del x56 - x57 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) - x57 += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), v.vOVV, (2, 4, 5, 6), (0, 1, 4, 3, 5, 6)) - t3new += einsum(x57, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - t3new += einsum(x57, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) - t3new += einsum(x57, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -1.0 - t3new += einsum(x57, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - t3new += einsum(x57, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -1.0 - t3new += einsum(x57, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) - t3new += einsum(x57, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -1.0 - t3new += einsum(x57, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) - t3new += einsum(x57, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -1.0 - del x57 - x58 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) - x58 += einsum(v.OOOO, (0, 1, 2, 3), t3, (4, 2, 3, 5, 6, 7), (4, 0, 1, 5, 6, 7)) - t3new += einsum(x58, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 0.5 - t3new += einsum(x58, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -0.5 - t3new += einsum(x58, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -0.5 - del x58 - x59 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) - x59 += einsum(v.OVOV, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 1), (4, 5, 0, 6, 7, 3)) - t3new += einsum(x59, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -1.0 - t3new += einsum(x59, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) - t3new += einsum(x59, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -1.0 - t3new += einsum(x59, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -1.0 - t3new += einsum(x59, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - t3new += einsum(x59, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -1.0 - t3new += einsum(x59, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) - t3new += einsum(x59, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -1.0 - t3new += einsum(x59, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) - del x59 - x60 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) - x60 += einsum(v.VVVV, (0, 1, 2, 3), t3, (4, 5, 6, 7, 2, 3), (4, 5, 6, 7, 0, 1)) - t3new += einsum(x60, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -0.5 - t3new += einsum(x60, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * 0.5 - t3new += einsum(x60, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -0.5 - del x60 - x61 = np.zeros((naocc, naocc), dtype=types[float]) - x61 += einsum(f.vO, (0, 1), t1[np.ix_(sO,sv)], (2, 0), (1, 2)) - x62 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) - x62 += einsum(x61, (0, 1), t3, (2, 3, 0, 4, 5, 6), (1, 2, 3, 4, 5, 6)) - del x61 - t3new += einsum(x62, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - t3new += einsum(x62, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) - t3new += einsum(x62, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 - del x62 - x63 = np.zeros((navir, navir), dtype=types[float]) - x63 += einsum(f.oV, (0, 1), t1[np.ix_(so,sV)], (0, 2), (1, 2)) - x64 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) - x64 += einsum(x63, (0, 1), t3, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) - del x63 - t3new += einsum(x64, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - t3new += einsum(x64, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -1.0 - t3new += einsum(x64, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) - del x64 - x65 = np.zeros((naocc, naocc, navir, nocc), dtype=types[float]) - x65 += einsum(f.ov, (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 1, 4), (2, 3, 4, 0)) * -1.0 - x66 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) - x66 += einsum(t2[np.ix_(so,sO,sV,sV)], (0, 1, 2, 3), x65, (4, 5, 6, 0), (5, 4, 1, 6, 2, 3)) - del x65 - t3new += einsum(x66, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - t3new += einsum(x66, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -1.0 - t3new += einsum(x66, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) - t3new += einsum(x66, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * -1.0 - t3new += einsum(x66, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) - t3new += einsum(x66, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) - t3new += einsum(x66, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 - t3new += einsum(x66, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) - t3new += einsum(x66, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -1.0 - del x66 - x67 = np.zeros((naocc, naocc, naocc, navir, navir, nocc), dtype=types[float]) - x67 += einsum(t2[np.ix_(so,sO,sV,sV)], (0, 1, 2, 3), v.ooOO, (4, 0, 5, 6), (1, 5, 6, 2, 3, 4)) * -1.0 - x68 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) - x68 += einsum(t1[np.ix_(so,sV)], (0, 1), x67, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) - del x67 - t3new += einsum(x68, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - t3new += einsum(x68, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * -1.0 - t3new += einsum(x68, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) - t3new += einsum(x68, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) - t3new += einsum(x68, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) - t3new += einsum(x68, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -1.0 - t3new += einsum(x68, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -1.0 - t3new += einsum(x68, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -1.0 - t3new += einsum(x68, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) - del x68 - x69 = np.zeros((naocc, naocc, navir, nocc), dtype=types[float]) - x69 += einsum(t1[np.ix_(sO,sv)], (0, 1), v.oVvO, (2, 3, 1, 4), (0, 4, 3, 2)) - x70 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) - x70 += einsum(t2[np.ix_(so,sO,sV,sV)], (0, 1, 2, 3), x69, (4, 5, 6, 0), (4, 1, 5, 2, 3, 6)) * -1.0 - del x69 - t3new += einsum(x70, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - t3new += einsum(x70, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) - t3new += einsum(x70, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -1.0 - t3new += einsum(x70, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) - t3new += einsum(x70, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 - t3new += einsum(x70, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) - t3new += einsum(x70, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) - t3new += einsum(x70, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -1.0 - t3new += einsum(x70, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) - t3new += einsum(x70, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -1.0 - t3new += einsum(x70, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) - t3new += einsum(x70, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) * -1.0 - t3new += einsum(x70, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * -1.0 - t3new += einsum(x70, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) - t3new += einsum(x70, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -1.0 - t3new += einsum(x70, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) - t3new += einsum(x70, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -1.0 - t3new += einsum(x70, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) - del x70 - x71 = np.zeros((naocc, naocc, naocc, navir, navir, nocc), dtype=types[float]) - x71 += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), v.oVvO, (4, 5, 2, 6), (0, 1, 6, 3, 5, 4)) * -1.0 - x72 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) - x72 += einsum(t1[np.ix_(so,sV)], (0, 1), x71, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) - del x71 - t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 - t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 - t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -1.0 - t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) - t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) - t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -1.0 - t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) - t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) - t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * -1.0 - t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 - t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) - t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) - t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -1.0 - t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -1.0 - t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) - del x72 - x73 = np.zeros((naocc, naocc, navir, navir, navir, nvir), dtype=types[float]) - x73 += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), v.vvVV, (4, 2, 5, 6), (0, 1, 3, 5, 6, 4)) * -1.0 - x74 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) - x74 += einsum(t1[np.ix_(sO,sv)], (0, 1), x73, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) - del x73 - t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -1.0 - t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) - t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -1.0 - t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) - t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * -1.0 - t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) - t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -1.0 - t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) - del x74 - x75 = np.zeros((naocc, naocc, naocc, naocc), dtype=types[float]) - x75 += einsum(t1[np.ix_(sO,sv)], (0, 1), v.vOOO, (1, 2, 3, 4), (0, 3, 4, 2)) * -1.0 - x76 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) - x76 += einsum(x75, (0, 1, 2, 3), t3, (4, 2, 1, 5, 6, 7), (0, 4, 3, 5, 6, 7)) * -1.0 - del x75 - t3new += einsum(x76, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -0.5 - t3new += einsum(x76, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 0.5 - t3new += einsum(x76, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * 0.5 - t3new += einsum(x76, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -0.5 - t3new += einsum(x76, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -0.5 - t3new += einsum(x76, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 0.5 - del x76 - x77 = np.zeros((naocc, naocc, navir, navir), dtype=types[float]) - x77 += einsum(t1[np.ix_(so,sV)], (0, 1), v.oOOV, (0, 2, 3, 4), (3, 2, 1, 4)) * -1.0 - x78 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) - x78 += einsum(x77, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (4, 5, 0, 2, 6, 7)) - del x77 - t3new += einsum(x78, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) - t3new += einsum(x78, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - t3new += einsum(x78, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 - t3new += einsum(x78, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * -1.0 - t3new += einsum(x78, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -1.0 - t3new += einsum(x78, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) - t3new += einsum(x78, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) - t3new += einsum(x78, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) - t3new += einsum(x78, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -1.0 - del x78 - x79 = np.zeros((naocc, naocc), dtype=types[float]) - x79 += einsum(t1[np.ix_(so,sv)], (0, 1), v.oOvO, (0, 2, 1, 3), (2, 3)) - x80 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) - x80 += einsum(x79, (0, 1), t3, (2, 3, 0, 4, 5, 6), (2, 3, 1, 4, 5, 6)) - del x79 - t3new += einsum(x80, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) - t3new += einsum(x80, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - t3new += einsum(x80, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -1.0 - del x80 - x81 = np.zeros((naocc, naocc, navir, navir), dtype=types[float]) - x81 += einsum(t1[np.ix_(sO,sv)], (0, 1), v.vVOV, (1, 2, 3, 4), (0, 3, 4, 2)) * -1.0 - x82 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) - x82 += einsum(x81, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (0, 4, 5, 6, 7, 2)) - del x81 - t3new += einsum(x82, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) - t3new += einsum(x82, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 - t3new += einsum(x82, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) - t3new += einsum(x82, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) - t3new += einsum(x82, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -1.0 - t3new += einsum(x82, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) - t3new += einsum(x82, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -1.0 - t3new += einsum(x82, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) - t3new += einsum(x82, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * -1.0 - del x82 - x83 = np.zeros((navir, navir, navir, navir), dtype=types[float]) - x83 += einsum(t1[np.ix_(so,sV)], (0, 1), v.oVVV, (0, 2, 3, 4), (1, 3, 4, 2)) * -1.0 - x84 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) - x84 += einsum(x83, (0, 1, 2, 3), t3, (4, 5, 6, 7, 1, 2), (4, 5, 6, 0, 7, 3)) - del x83 - t3new += einsum(x84, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 0.5 - t3new += einsum(x84, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -0.5 - t3new += einsum(x84, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -0.5 - t3new += einsum(x84, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 0.5 - t3new += einsum(x84, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 0.5 - t3new += einsum(x84, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -0.5 - del x84 - x85 = np.zeros((navir, navir), dtype=types[float]) - x85 += einsum(t1[np.ix_(so,sv)], (0, 1), v.oVvV, (0, 2, 1, 3), (2, 3)) - x86 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) - x86 += einsum(x85, (0, 1), t3, (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 6, 0)) - del x85 - t3new += einsum(x86, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -1.0 - t3new += einsum(x86, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) - t3new += einsum(x86, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - del x86 - x87 = np.zeros((naocc, naocc, navir, nocc), dtype=types[float]) - x87 += einsum(t2[np.ix_(so,sO,sv,sV)], (0, 1, 2, 3), v.oovO, (4, 0, 2, 5), (1, 5, 3, 4)) * -1.0 - x88 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) - x88 += einsum(t2[np.ix_(so,sO,sV,sV)], (0, 1, 2, 3), x87, (4, 5, 6, 0), (1, 4, 5, 2, 3, 6)) * -1.0 - del x87 - t3new += einsum(x88, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) - t3new += einsum(x88, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) - t3new += einsum(x88, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - t3new += einsum(x88, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -1.0 - t3new += einsum(x88, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -1.0 - t3new += einsum(x88, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) - t3new += einsum(x88, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 - t3new += einsum(x88, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -1.0 - t3new += einsum(x88, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) - t3new += einsum(x88, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) - t3new += einsum(x88, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) - t3new += einsum(x88, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * -1.0 - t3new += einsum(x88, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) - t3new += einsum(x88, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) - t3new += einsum(x88, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -1.0 - t3new += einsum(x88, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) * -1.0 - t3new += einsum(x88, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -1.0 - t3new += einsum(x88, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) - del x88 - x89 = np.zeros((naocc, navir, navir, nvir), dtype=types[float]) - x89 += einsum(t2[np.ix_(so,so,sV,sV)], (0, 1, 2, 3), v.oovO, (0, 1, 4, 5), (5, 2, 3, 4)) * -1.0 - x90 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) - x90 += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), x89, (4, 5, 6, 2), (0, 1, 4, 3, 5, 6)) * -1.0 - del x89 - t3new += einsum(x90, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 0.5 - t3new += einsum(x90, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -0.5 - t3new += einsum(x90, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 0.5 - t3new += einsum(x90, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -0.5 - t3new += einsum(x90, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 0.5 - t3new += einsum(x90, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -0.5 - t3new += einsum(x90, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -0.5 - t3new += einsum(x90, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * 0.5 - t3new += einsum(x90, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -0.5 - del x90 - x91 = np.zeros((naocc, navir, navir, nvir), dtype=types[float]) - x91 += einsum(t2[np.ix_(so,sO,sv,sV)], (0, 1, 2, 3), v.oVvv, (0, 4, 5, 2), (1, 3, 4, 5)) * -1.0 - x92 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) - x92 += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), x91, (4, 5, 6, 2), (0, 1, 4, 3, 5, 6)) * -1.0 - del x91 - t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) - t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -1.0 - t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) - t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -1.0 - t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -1.0 - t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) - t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) - t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -1.0 - t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -1.0 - t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) - t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -1.0 - t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) - t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -1.0 - t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) - del x92 - x93 = np.zeros((naocc, naocc, navir, nocc), dtype=types[float]) - x93 += einsum(t2[np.ix_(sO,sO,sv,sv)], (0, 1, 2, 3), v.oVvv, (4, 5, 2, 3), (0, 1, 5, 4)) * -1.0 - x94 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) - x94 += einsum(t2[np.ix_(so,sO,sV,sV)], (0, 1, 2, 3), x93, (4, 5, 6, 0), (5, 4, 1, 2, 3, 6)) - del x93 - t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 0.5 - t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -0.5 - t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 0.5 - t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * 0.5 - t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -0.5 - t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * 0.5 - t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -0.5 - t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 0.5 - t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -0.5 - del x94 - x95 = np.zeros((naocc, naocc, naocc, naocc, navir, navir), dtype=types[float]) - x95 += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), v.vVOO, (2, 4, 5, 6), (0, 1, 5, 6, 3, 4)) - x96 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) - x96 += einsum(t3, (0, 1, 2, 3, 4, 5), x95, (6, 7, 1, 2, 8, 5), (7, 6, 0, 8, 3, 4)) * -1.0 - del x95 - t3new += einsum(x96, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 0.5 - t3new += einsum(x96, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -0.5 - t3new += einsum(x96, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 0.5 - t3new += einsum(x96, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -0.5 - t3new += einsum(x96, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 0.5 - t3new += einsum(x96, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -0.5 - t3new += einsum(x96, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -0.5 - t3new += einsum(x96, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * 0.5 - t3new += einsum(x96, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -0.5 - del x96 - x97 = np.zeros((naocc, naocc, naocc, naocc), dtype=types[float]) - x97 += einsum(t2[np.ix_(sO,sO,sv,sv)], (0, 1, 2, 3), v.vvOO, (2, 3, 4, 5), (0, 1, 4, 5)) - x98 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) - x98 += einsum(x97, (0, 1, 2, 3), t3, (4, 2, 3, 5, 6, 7), (1, 0, 4, 5, 6, 7)) * -1.0 - del x97 - t3new += einsum(x98, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 0.25 - t3new += einsum(x98, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -0.25 - t3new += einsum(x98, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -0.25 - del x98 - x99 = np.zeros((naocc, naocc, navir, navir, navir, navir), dtype=types[float]) - x99 += einsum(t2[np.ix_(so,sO,sV,sV)], (0, 1, 2, 3), v.oOVV, (0, 4, 5, 6), (1, 4, 2, 3, 5, 6)) - x100 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) - x100 += einsum(t3, (0, 1, 2, 3, 4, 5), x99, (6, 2, 7, 8, 4, 5), (6, 0, 1, 7, 8, 3)) - del x99 - t3new += einsum(x100, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -0.5 - t3new += einsum(x100, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 0.5 - t3new += einsum(x100, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -0.5 - t3new += einsum(x100, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -0.5 - t3new += einsum(x100, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * 0.5 - t3new += einsum(x100, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -0.5 - t3new += einsum(x100, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * 0.5 - t3new += einsum(x100, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -0.5 - t3new += einsum(x100, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * 0.5 - del x100 - x101 = np.zeros((naocc, naocc, navir, navir), dtype=types[float]) - x101 += einsum(t2[np.ix_(so,sO,sv,sV)], (0, 1, 2, 3), v.oOvV, (0, 4, 2, 5), (1, 4, 3, 5)) - x102 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) - x102 += einsum(x101, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (0, 4, 5, 2, 6, 7)) - del x101 - t3new += einsum(x102, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 1.00000000000001 - t3new += einsum(x102, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -1.00000000000001 - t3new += einsum(x102, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 1.00000000000001 - t3new += einsum(x102, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * 1.00000000000001 - t3new += einsum(x102, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.00000000000001 - t3new += einsum(x102, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * 1.00000000000001 - t3new += einsum(x102, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -1.00000000000001 - t3new += einsum(x102, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * 1.00000000000001 - t3new += einsum(x102, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -1.00000000000001 - del x102 - x103 = np.zeros((naocc, naocc), dtype=types[float]) - x103 += einsum(t2[np.ix_(so,sO,sv,sv)], (0, 1, 2, 3), v.oOvv, (0, 4, 2, 3), (1, 4)) - x104 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) - x104 += einsum(x103, (0, 1), t3, (2, 3, 1, 4, 5, 6), (0, 2, 3, 4, 5, 6)) - del x103 - t3new += einsum(x104, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 0.5 - t3new += einsum(x104, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * 0.5 - t3new += einsum(x104, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -0.5 - del x104 - x105 = np.zeros((navir, navir, navir, navir), dtype=types[float]) - x105 += einsum(t2[np.ix_(so,so,sV,sV)], (0, 1, 2, 3), v.ooVV, (0, 1, 4, 5), (2, 3, 4, 5)) - x106 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) - x106 += einsum(x105, (0, 1, 2, 3), t3, (4, 5, 6, 7, 3, 2), (4, 5, 6, 1, 0, 7)) - del x105 - t3new += einsum(x106, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -0.25 - t3new += einsum(x106, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 0.25 - t3new += einsum(x106, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -0.25 - del x106 - x107 = np.zeros((navir, navir), dtype=types[float]) - x107 += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), v.oovV, (0, 1, 2, 4), (3, 4)) - x108 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) - x108 += einsum(x107, (0, 1), t3, (2, 3, 4, 5, 6, 1), (2, 3, 4, 0, 5, 6)) - del x107 - t3new += einsum(x108, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 0.5 - t3new += einsum(x108, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -0.5 - t3new += einsum(x108, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 0.5 - del x108 - x109 = np.zeros((naocc, naocc, navir, navir, navir, nvir), dtype=types[float]) - x109 += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(so,sO,sV,sV)], (2, 3, 4, 5), v.oovO, (2, 0, 6, 7), (3, 7, 1, 4, 5, 6)) * -1.0 - x110 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) - x110 += einsum(t1[np.ix_(sO,sv)], (0, 1), x109, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) - del x109 - t3new += einsum(x110, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - t3new += einsum(x110, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - t3new += einsum(x110, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -1.0 - t3new += einsum(x110, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) - t3new += einsum(x110, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) - t3new += einsum(x110, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -1.0 - t3new += einsum(x110, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * -1.0 - t3new += einsum(x110, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) - t3new += einsum(x110, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) - t3new += einsum(x110, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 - t3new += einsum(x110, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -1.0 - t3new += einsum(x110, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) - t3new += einsum(x110, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) - t3new += einsum(x110, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -1.0 - t3new += einsum(x110, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -1.0 - t3new += einsum(x110, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) - t3new += einsum(x110, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) - t3new += einsum(x110, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -1.0 - del x110 - x111 = np.zeros((naocc, navir, navir, nvir), dtype=types[float]) - x111 += einsum(t1[np.ix_(so,sV)], (0, 1), t1[np.ix_(so,sV)], (2, 3), v.oovO, (0, 2, 4, 5), (5, 1, 3, 4)) * -1.0 - x112 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) - x112 += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), x111, (4, 5, 6, 2), (0, 1, 4, 6, 5, 3)) - del x111 - t3new += einsum(x112, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) - t3new += einsum(x112, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -1.0 - t3new += einsum(x112, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -1.0 - t3new += einsum(x112, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -1.0 - t3new += einsum(x112, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - t3new += einsum(x112, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) - t3new += einsum(x112, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) - t3new += einsum(x112, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -1.0 - t3new += einsum(x112, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -1.0 - del x112 - x113 = np.zeros((naocc, naocc, navir, navir, navir, nvir), dtype=types[float]) - x113 += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(so,sO,sV,sV)], (2, 3, 4, 5), v.oVvv, (2, 6, 7, 1), (0, 3, 4, 5, 6, 7)) - x114 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) - x114 += einsum(t1[np.ix_(sO,sv)], (0, 1), x113, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) - del x113 - t3new += einsum(x114, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -1.0 - t3new += einsum(x114, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) - t3new += einsum(x114, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - t3new += einsum(x114, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) - t3new += einsum(x114, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 - t3new += einsum(x114, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) - t3new += einsum(x114, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) - t3new += einsum(x114, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -1.0 - t3new += einsum(x114, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) - del x114 - x115 = np.zeros((naocc, naocc, navir, navir, navir, nvir), dtype=types[float]) - x115 += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), v.oVvv, (0, 6, 7, 4), (2, 3, 1, 5, 6, 7)) - x116 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) - x116 += einsum(t1[np.ix_(sO,sv)], (0, 1), x115, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) - del x115 - t3new += einsum(x116, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - t3new += einsum(x116, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 - t3new += einsum(x116, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -1.0 - t3new += einsum(x116, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) - t3new += einsum(x116, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) - t3new += einsum(x116, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 - t3new += einsum(x116, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) - t3new += einsum(x116, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * -1.0 - t3new += einsum(x116, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 - t3new += einsum(x116, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) - t3new += einsum(x116, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) - t3new += einsum(x116, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -1.0 - t3new += einsum(x116, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -1.0 - t3new += einsum(x116, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) - t3new += einsum(x116, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) - t3new += einsum(x116, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * -1.0 - t3new += einsum(x116, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -1.0 - t3new += einsum(x116, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) - del x116 - x117 = np.zeros((naocc, naocc, naocc, nvir), dtype=types[float]) - x117 += einsum(t1[np.ix_(sO,sv)], (0, 1), v.vvOO, (2, 1, 3, 4), (0, 3, 4, 2)) - x118 = np.zeros((naocc, naocc, naocc, naocc), dtype=types[float]) - x118 += einsum(t1[np.ix_(sO,sv)], (0, 1), x117, (2, 3, 4, 1), (2, 0, 4, 3)) - del x117 - x119 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) - x119 += einsum(x118, (0, 1, 2, 3), t3, (4, 2, 3, 5, 6, 7), (1, 0, 4, 5, 6, 7)) * -1.0 - del x118 - t3new += einsum(x119, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 0.5 - t3new += einsum(x119, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -0.5 - t3new += einsum(x119, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -0.5 - del x119 - x120 = np.zeros((naocc, naocc, navir, nocc), dtype=types[float]) - x120 += einsum(t1[np.ix_(sO,sv)], (0, 1), v.oOvV, (2, 3, 1, 4), (0, 3, 4, 2)) - x121 = np.zeros((naocc, naocc, navir, navir), dtype=types[float]) - x121 += einsum(t1[np.ix_(so,sV)], (0, 1), x120, (2, 3, 4, 0), (2, 3, 1, 4)) - del x120 - x122 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) - x122 += einsum(x121, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (0, 4, 5, 2, 6, 7)) - del x121 - t3new += einsum(x122, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - t3new += einsum(x122, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) - t3new += einsum(x122, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -1.0 - t3new += einsum(x122, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * -1.0 - t3new += einsum(x122, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) - t3new += einsum(x122, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -1.0 - t3new += einsum(x122, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) - t3new += einsum(x122, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -1.0 - t3new += einsum(x122, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) - del x122 - x123 = np.zeros((naocc, nvir), dtype=types[float]) - x123 += einsum(t1[np.ix_(so,sv)], (0, 1), v.oOvv, (0, 2, 3, 1), (2, 3)) * -1.0 - x124 = np.zeros((naocc, naocc), dtype=types[float]) - x124 += einsum(t1[np.ix_(sO,sv)], (0, 1), x123, (2, 1), (0, 2)) - del x123 - x125 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) - x125 += einsum(x124, (0, 1), t3, (2, 3, 1, 4, 5, 6), (0, 2, 3, 4, 5, 6)) - del x124 - t3new += einsum(x125, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - t3new += einsum(x125, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) - t3new += einsum(x125, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 - del x125 - x126 = np.zeros((navir, navir, navir, nocc), dtype=types[float]) - x126 += einsum(t1[np.ix_(so,sV)], (0, 1), v.ooVV, (2, 0, 3, 4), (1, 3, 4, 2)) - x127 = np.zeros((navir, navir, navir, navir), dtype=types[float]) - x127 += einsum(t1[np.ix_(so,sV)], (0, 1), x126, (2, 3, 4, 0), (2, 1, 4, 3)) - del x126 - x128 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) - x128 += einsum(x127, (0, 1, 2, 3), t3, (4, 5, 6, 7, 2, 3), (4, 5, 6, 1, 0, 7)) * -1.0 - del x127 - t3new += einsum(x128, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -0.5 - t3new += einsum(x128, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 0.5 - t3new += einsum(x128, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -0.5 - del x128 - x129 = np.zeros((navir, nocc), dtype=types[float]) - x129 += einsum(t1[np.ix_(so,sv)], (0, 1), v.oovV, (2, 0, 1, 3), (3, 2)) * -1.0 - x130 = np.zeros((navir, navir), dtype=types[float]) - x130 += einsum(t1[np.ix_(so,sV)], (0, 1), x129, (2, 0), (1, 2)) - del x129 - x131 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) - x131 += einsum(x130, (0, 1), t3, (2, 3, 4, 5, 6, 1), (2, 3, 4, 0, 5, 6)) - del x130 - t3new += einsum(x131, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - t3new += einsum(x131, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -1.0 - t3new += einsum(x131, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) - del x131 - x132 = np.zeros((naocc, navir, nocc, nvir), dtype=types[float]) - x132 += einsum(t2[np.ix_(so,sO,sv,sV)], (0, 1, 2, 3), v.oovv, (4, 0, 5, 2), (1, 3, 4, 5)) - x133 = np.zeros((naocc, naocc, navir, nocc), dtype=types[float]) - x133 += einsum(t1[np.ix_(sO,sv)], (0, 1), x132, (2, 3, 4, 1), (0, 2, 3, 4)) - x134 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) - x134 += einsum(t2[np.ix_(so,sO,sV,sV)], (0, 1, 2, 3), x133, (4, 5, 6, 0), (4, 1, 5, 2, 3, 6)) * -1.0 - del x133 - t3new += einsum(x134, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) - t3new += einsum(x134, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) - t3new += einsum(x134, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - t3new += einsum(x134, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -1.0 - t3new += einsum(x134, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 - t3new += einsum(x134, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) - t3new += einsum(x134, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -1.0 - t3new += einsum(x134, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) * -1.0 - t3new += einsum(x134, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) - t3new += einsum(x134, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) - t3new += einsum(x134, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) - t3new += einsum(x134, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -1.0 - t3new += einsum(x134, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) - t3new += einsum(x134, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) - t3new += einsum(x134, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * -1.0 - t3new += einsum(x134, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -1.0 - t3new += einsum(x134, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -1.0 - t3new += einsum(x134, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) - del x134 - x135 = np.zeros((naocc, naocc, naocc, navir, nocc, nocc), dtype=types[float]) - x135 += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), v.oovv, (6, 7, 4, 1), (0, 2, 3, 5, 6, 7)) - x136 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) - x136 += einsum(t2[np.ix_(so,so,sV,sV)], (0, 1, 2, 3), x135, (4, 5, 6, 7, 1, 0), (4, 5, 6, 7, 2, 3)) * -1.0 - del x135 - t3new += einsum(x136, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -0.5 - t3new += einsum(x136, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 0.5 - t3new += einsum(x136, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -0.5 - t3new += einsum(x136, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * -0.5 - t3new += einsum(x136, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 0.5 - t3new += einsum(x136, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -0.5 - t3new += einsum(x136, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * 0.5 - t3new += einsum(x136, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -0.5 - t3new += einsum(x136, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * 0.5 - del x136 - x137 = np.zeros((naocc, naocc, naocc, navir, navir, nocc), dtype=types[float]) - x137 += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), x132, (4, 5, 6, 2), (0, 1, 4, 3, 5, 6)) * -1.0 - del x132 - x138 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) - x138 += einsum(t1[np.ix_(so,sV)], (0, 1), x137, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) - del x137 - t3new += einsum(x138, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 - t3new += einsum(x138, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - t3new += einsum(x138, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) - t3new += einsum(x138, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -1.0 - t3new += einsum(x138, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - t3new += einsum(x138, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 - t3new += einsum(x138, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) - t3new += einsum(x138, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -1.0 - t3new += einsum(x138, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * -1.0 - t3new += einsum(x138, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) - t3new += einsum(x138, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - t3new += einsum(x138, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) - t3new += einsum(x138, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 - t3new += einsum(x138, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) - t3new += einsum(x138, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) - t3new += einsum(x138, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -1.0 - t3new += einsum(x138, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) - t3new += einsum(x138, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -1.0 - del x138 - x139 = np.zeros((naocc, naocc, nocc, nocc), dtype=types[float]) - x139 += einsum(t2[np.ix_(sO,sO,sv,sv)], (0, 1, 2, 3), v.oovv, (4, 5, 2, 3), (0, 1, 4, 5)) - x140 = np.zeros((naocc, naocc, naocc, navir, navir, nocc), dtype=types[float]) - x140 += einsum(t2[np.ix_(so,sO,sV,sV)], (0, 1, 2, 3), x139, (4, 5, 0, 6), (4, 5, 1, 2, 3, 6)) - del x139 - x141 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) - x141 += einsum(t1[np.ix_(so,sV)], (0, 1), x140, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) - del x140 - t3new += einsum(x141, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -0.5 - t3new += einsum(x141, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -0.5 - t3new += einsum(x141, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 0.5 - t3new += einsum(x141, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * 0.5 - t3new += einsum(x141, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * 0.5 - t3new += einsum(x141, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -0.5 - t3new += einsum(x141, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -0.5 - t3new += einsum(x141, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -0.5 - t3new += einsum(x141, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * 0.5 - del x141 - x142 = np.zeros((naocc, naocc, navir, nocc), dtype=types[float]) - x142 += einsum(x5, (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 1, 4), (2, 3, 4, 0)) - del x5 - x143 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) - x143 += einsum(t2[np.ix_(so,sO,sV,sV)], (0, 1, 2, 3), x142, (4, 5, 6, 0), (5, 4, 1, 6, 2, 3)) * -1.0 - del x142 - t3new += einsum(x143, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - t3new += einsum(x143, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -1.0 - t3new += einsum(x143, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) - t3new += einsum(x143, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * -1.0 - t3new += einsum(x143, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) - t3new += einsum(x143, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) - t3new += einsum(x143, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 - t3new += einsum(x143, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) - t3new += einsum(x143, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -1.0 - del x143 - x144 = np.zeros((naocc, naocc, navir, navir, nocc, nvir), dtype=types[float]) - x144 += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(so,sO,sV,sV)], (2, 3, 4, 5), v.oovv, (6, 2, 7, 1), (0, 3, 4, 5, 6, 7)) * -1.0 - x145 = np.zeros((naocc, naocc, naocc, navir, navir, nocc), dtype=types[float]) - x145 += einsum(t1[np.ix_(sO,sv)], (0, 1), x144, (2, 3, 4, 5, 6, 1), (2, 0, 3, 4, 5, 6)) * -1.0 - del x144 - x146 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) - x146 += einsum(t1[np.ix_(so,sV)], (0, 1), x145, (2, 3, 4, 5, 6, 0), (3, 2, 4, 1, 5, 6)) * -1.0 - del x145 - t3new += einsum(x146, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - t3new += einsum(x146, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -1.0 - t3new += einsum(x146, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) - t3new += einsum(x146, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - t3new += einsum(x146, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) - t3new += einsum(x146, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -1.0 - t3new += einsum(x146, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -1.0 - t3new += einsum(x146, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) - t3new += einsum(x146, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -1.0 - del x146 - x147 = np.zeros((naocc, naocc, navir, navir, nocc, nvir), dtype=types[float]) - x147 += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), v.oovv, (6, 0, 7, 4), (2, 3, 1, 5, 6, 7)) * -1.0 - x148 = np.zeros((naocc, naocc, naocc, navir, navir, nocc), dtype=types[float]) - x148 += einsum(t1[np.ix_(sO,sv)], (0, 1), x147, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) - del x147 - x149 = np.zeros((naocc, naocc, naocc, navir, navir, navir), dtype=types[float]) - x149 += einsum(t1[np.ix_(so,sV)], (0, 1), x148, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 1, 6)) * -1.0 - del x148 - t3new += einsum(x149, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -1.0 - t3new += einsum(x149, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - t3new += einsum(x149, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -1.0 - t3new += einsum(x149, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 - t3new += einsum(x149, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) - t3new += einsum(x149, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -1.0 - t3new += einsum(x149, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) - t3new += einsum(x149, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 - t3new += einsum(x149, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) - del x149 - - return {"t1new": t1new, "t2new": t2new, "t3new": t3new} - diff --git a/ebcc/codegen/RCCSDtp.py b/ebcc/codegen/RCCSDtp.py deleted file mode 100644 index 037133b6..00000000 --- a/ebcc/codegen/RCCSDtp.py +++ /dev/null @@ -1,987 +0,0 @@ -# Code generated for ebcc. - -from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, Namespace -from ebcc.precision import types - -def energy(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, t3=None, **kwargs): - # energy - x0 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x0 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x0 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 - e_cc = 0 - e_cc += einsum(t2, (0, 1, 2, 3), x0, (0, 1, 3, 2), ()) * 2.0 - x1 = np.zeros((nocc, nvir), dtype=types[float]) - x1 += einsum(f.ov, (0, 1), (0, 1)) - x1 += einsum(t1, (0, 1), x0, (0, 2, 3, 1), (2, 3)) - del x0 - e_cc += einsum(t1, (0, 1), x1, (0, 1), ()) * 2.0 - del x1 - - return e_cc - -def update_amps(f=None, v=None, space=None, t1=None, t2=None, t3=None, **kwargs): - nocc = space.ncocc - nvir = space.ncvir - naocc = space.naocc - navir = space.navir - so = np.ones((nocc,), dtype=bool) - sv = np.ones((nvir,), dtype=bool) - sO = space.active[space.correlated][space.occupied[space.correlated]] - sV = space.active[space.correlated][space.virtual[space.correlated]] - - # T amplitudes - t1new = np.zeros(((nocc, nvir)), dtype=types[float]) - t1new[np.ix_(so,sv)] += einsum(f.ov, (0, 1), (0, 1)) - t1new[np.ix_(so,sv)] += einsum(f.oo, (0, 1), t1[np.ix_(so,sv)], (1, 2), (0, 2)) * -1.0 - t1new[np.ix_(so,sv)] += einsum(f.vv, (0, 1), t1[np.ix_(so,sv)], (2, 1), (2, 0)) - t1new[np.ix_(so,sv)] += einsum(f.ov, (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 0, 3, 1), (2, 3)) * 2.0 - t1new[np.ix_(so,sv)] += einsum(f.ov, (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 0, 1, 3), (2, 3)) * -1.0 - t1new[np.ix_(so,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), v.oovv, (2, 0, 3, 1), (2, 3)) * -1.0 - t1new[np.ix_(so,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), v.ovov, (2, 3, 0, 1), (2, 3)) * 2.0 - t1new[np.ix_(so,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.ooov, (4, 0, 1, 3), (4, 2)) * -1.5 - t1new[np.ix_(so,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.ooov, (4, 0, 1, 2), (4, 3)) * 0.5 - t1new[np.ix_(so,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.ooov, (4, 1, 0, 3), (4, 2)) * 0.5 - t1new[np.ix_(so,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.ooov, (4, 1, 0, 2), (4, 3)) * -0.5 - t1new[np.ix_(so,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.ovvv, (1, 3, 4, 2), (0, 4)) - t1new[np.ix_(so,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.ovvv, (1, 3, 4, 2), (0, 4)) - t1new[np.ix_(so,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.ovvv, (1, 2, 4, 3), (0, 4)) * -1.0 - t1new[np.ix_(sO,sV)] += einsum(v.OVOV, (0, 1, 2, 3), t3, (4, 0, 2, 5, 1, 3), (4, 5)) * 0.5 - t1new[np.ix_(sO,sV)] += einsum(v.OVOV, (0, 1, 2, 3), t3, (4, 0, 2, 5, 3, 1), (4, 5)) * -0.5 - t1new[np.ix_(sO,sV)] += einsum(v.OVOV, (0, 1, 2, 3), t3, (4, 0, 2, 1, 5, 3), (4, 5)) * -0.25 - t1new[np.ix_(sO,sV)] += einsum(v.OVOV, (0, 1, 2, 3), t3, (4, 0, 2, 3, 5, 1), (4, 5)) * 0.25 - t1new[np.ix_(sO,sV)] += einsum(v.OVOV, (0, 1, 2, 3), t3, (4, 2, 0, 5, 3, 1), (4, 5)) - t1new[np.ix_(sO,sV)] += einsum(v.OVOV, (0, 1, 2, 3), t3, (0, 4, 2, 1, 5, 3), (4, 5)) * 0.25 - t1new[np.ix_(sO,sV)] += einsum(v.OVOV, (0, 1, 2, 3), t3, (0, 4, 2, 3, 5, 1), (4, 5)) * -0.25 - t1new[np.ix_(so,sv)] += einsum(f.ov, (0, 1), t1[np.ix_(so,sv)], (2, 1), t1[np.ix_(so,sv)], (0, 3), (2, 3)) * -1.0 - t1new[np.ix_(so,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), v.ooov, (4, 0, 2, 1), (4, 3)) - t1new[np.ix_(so,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), v.ooov, (4, 2, 0, 1), (4, 3)) * -2.0 - t1new[np.ix_(so,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), v.ovvv, (2, 1, 4, 3), (0, 4)) * -1.0 - t1new[np.ix_(so,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), v.ovvv, (2, 3, 4, 1), (0, 4)) * 2.0 - t1new[np.ix_(so,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ovov, (2, 1, 3, 5), (0, 4)) * -1.5 - t1new[np.ix_(so,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ovov, (2, 1, 3, 4), (0, 5)) * 0.5 - t1new[np.ix_(so,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ovov, (2, 5, 3, 1), (0, 4)) * 0.5 - t1new[np.ix_(so,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ovov, (2, 4, 3, 1), (0, 5)) * -0.5 - t1new[np.ix_(so,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ovov, (0, 4, 3, 5), (2, 1)) * -1.0 - t1new[np.ix_(so,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ovov, (0, 5, 3, 4), (2, 1)) - t1new[np.ix_(so,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ovov, (0, 4, 3, 5), (2, 1)) * -1.0 - t1new[np.ix_(so,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ovov, (0, 1, 3, 5), (2, 4)) * 4.0 - t1new[np.ix_(so,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ovov, (0, 1, 3, 4), (2, 5)) * -2.0 - t1new[np.ix_(so,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ovov, (0, 5, 3, 1), (2, 4)) * -2.0 - t1new[np.ix_(so,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ovov, (0, 4, 3, 1), (2, 5)) - t1new[np.ix_(so,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), t1[np.ix_(so,sv)], (4, 5), v.ovov, (2, 1, 4, 3), (0, 5)) - t1new[np.ix_(so,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), t1[np.ix_(so,sv)], (4, 5), v.ovov, (2, 3, 4, 1), (0, 5)) * -2.0 - t2new = np.zeros(((nocc, nocc, nvir, nvir)), dtype=types[float]) - t2new[np.ix_(so,so,sv,sv)] += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - t2new[np.ix_(so,so,sv,sv)] += einsum(f.oo, (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 1, 3, 4), (0, 2, 4, 3)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(f.oo, (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 1, 3, 4), (2, 0, 3, 4)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(f.vv, (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 1, 4), (2, 3, 0, 4)) - t2new[np.ix_(so,so,sv,sv)] += einsum(f.vv, (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 1), (2, 3, 4, 0)) - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), v.ooov, (2, 0, 3, 4), (2, 3, 1, 4)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), v.ooov, (2, 0, 3, 4), (3, 2, 4, 1)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), v.ovvv, (2, 3, 4, 1), (0, 2, 4, 3)) - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), v.ovvv, (2, 3, 4, 1), (2, 0, 3, 4)) - t2new[np.ix_(sO,sO,sV,sV)] += einsum(f.OV, (0, 1), t3, (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) - t2new[np.ix_(sO,sO,sV,sV)] += einsum(f.OV, (0, 1), t3, (2, 3, 0, 4, 5, 1), (3, 2, 5, 4)) - t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.oooo, (4, 0, 5, 1), (4, 5, 2, 3)) - t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.oovv, (4, 1, 5, 3), (0, 4, 2, 5)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.oovv, (4, 1, 5, 2), (0, 4, 5, 3)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.oovv, (4, 1, 5, 3), (4, 0, 5, 2)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.oovv, (4, 1, 5, 2), (4, 0, 3, 5)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.ovov, (4, 5, 1, 3), (0, 4, 2, 5)) * 2.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.ovov, (4, 5, 1, 2), (0, 4, 3, 5)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.ovov, (4, 5, 1, 3), (4, 0, 5, 2)) * 2.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.ovov, (4, 5, 1, 2), (4, 0, 5, 3)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), v.vvvv, (4, 2, 5, 3), (0, 1, 4, 5)) - t2new[np.ix_(so,sO,sV,sV)] += einsum(v.oOOV, (0, 1, 2, 3), t3, (4, 1, 2, 5, 6, 3), (0, 4, 6, 5)) * -1.0 - t2new[np.ix_(so,sO,sV,sV)] += einsum(v.oOOV, (0, 1, 2, 3), t3, (1, 4, 2, 5, 6, 3), (0, 4, 5, 6)) * -0.5 - t2new[np.ix_(so,sO,sV,sV)] += einsum(v.oOOV, (0, 1, 2, 3), t3, (1, 4, 2, 3, 5, 6), (0, 4, 6, 5)) * 0.5 - t2new[np.ix_(sO,so,sV,sV)] += einsum(v.oOOV, (0, 1, 2, 3), t3, (1, 4, 2, 5, 6, 3), (4, 0, 6, 5)) * -0.5 - t2new[np.ix_(sO,so,sV,sV)] += einsum(v.oOOV, (0, 1, 2, 3), t3, (1, 4, 2, 3, 5, 6), (4, 0, 5, 6)) * 0.5 - t2new[np.ix_(sO,so,sV,sV)] += einsum(v.oOOV, (0, 1, 2, 3), t3, (4, 1, 2, 5, 6, 3), (4, 0, 5, 6)) * -1.0 - t2new[np.ix_(sO,sO,sv,sV)] += einsum(v.OVvV, (0, 1, 2, 3), t3, (4, 5, 0, 1, 6, 3), (4, 5, 2, 6)) * -0.5 - t2new[np.ix_(sO,sO,sv,sV)] += einsum(v.OVvV, (0, 1, 2, 3), t3, (4, 5, 0, 3, 6, 1), (4, 5, 2, 6)) * 0.5 - t2new[np.ix_(sO,sO,sV,sv)] += einsum(v.OVvV, (0, 1, 2, 3), t3, (4, 5, 0, 6, 3, 1), (4, 5, 6, 2)) - t2new[np.ix_(sO,sO,sV,sv)] += einsum(v.OVvV, (0, 1, 2, 3), t3, (4, 5, 0, 1, 6, 3), (5, 4, 6, 2)) * -0.5 - t2new[np.ix_(sO,sO,sV,sv)] += einsum(v.OVvV, (0, 1, 2, 3), t3, (4, 5, 0, 3, 6, 1), (5, 4, 6, 2)) * 0.5 - t2new[np.ix_(sO,sO,sv,sV)] += einsum(v.OVvV, (0, 1, 2, 3), t3, (4, 5, 0, 6, 3, 1), (5, 4, 2, 6)) - t2new[np.ix_(so,so,sv,sv)] += einsum(f.ov, (0, 1), t1[np.ix_(so,sv)], (2, 1), t2[np.ix_(so,so,sv,sv)], (3, 0, 4, 5), (2, 3, 5, 4)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(f.ov, (0, 1), t1[np.ix_(so,sv)], (2, 1), t2[np.ix_(so,so,sv,sv)], (3, 0, 4, 5), (3, 2, 4, 5)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(f.ov, (0, 1), t1[np.ix_(so,sv)], (0, 2), t2[np.ix_(so,so,sv,sv)], (3, 4, 1, 5), (3, 4, 2, 5)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(f.ov, (0, 1), t1[np.ix_(so,sv)], (0, 2), t2[np.ix_(so,so,sv,sv)], (3, 4, 5, 1), (3, 4, 5, 2)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), v.oovv, (4, 2, 5, 1), (0, 4, 5, 3)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), v.oovv, (4, 2, 5, 1), (4, 0, 3, 5)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), v.oooo, (4, 0, 5, 2), (4, 5, 1, 3)) - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), v.ovov, (4, 5, 2, 1), (0, 4, 3, 5)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), v.ovov, (4, 5, 2, 1), (4, 0, 5, 3)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), v.vvvv, (4, 1, 5, 3), (0, 2, 4, 5)) - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ooov, (6, 3, 2, 1), (0, 6, 4, 5)) - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ooov, (6, 2, 3, 1), (6, 0, 4, 5)) - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ooov, (6, 3, 0, 4), (2, 6, 1, 5)) - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ooov, (6, 0, 3, 5), (6, 2, 1, 4)) * -2.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ooov, (6, 0, 3, 4), (6, 2, 1, 5)) - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ooov, (6, 3, 0, 5), (6, 2, 1, 4)) - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ooov, (6, 0, 3, 5), (2, 6, 4, 1)) * -2.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ooov, (6, 0, 3, 4), (2, 6, 5, 1)) - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ooov, (6, 3, 0, 5), (2, 6, 4, 1)) - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ooov, (6, 3, 0, 4), (6, 2, 5, 1)) - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ooov, (6, 0, 3, 1), (2, 6, 4, 5)) - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ooov, (6, 3, 0, 1), (2, 6, 4, 5)) * -2.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ooov, (6, 0, 3, 1), (6, 2, 5, 4)) - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ooov, (6, 3, 0, 1), (6, 2, 5, 4)) * -2.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ovvv, (3, 1, 6, 5), (0, 2, 6, 4)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ovvv, (3, 1, 6, 4), (0, 2, 5, 6)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ovvv, (3, 5, 6, 1), (0, 2, 6, 4)) * 2.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ovvv, (3, 4, 6, 1), (0, 2, 6, 5)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ovvv, (3, 1, 6, 5), (2, 0, 4, 6)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ovvv, (3, 1, 6, 4), (2, 0, 6, 5)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ovvv, (3, 5, 6, 1), (2, 0, 4, 6)) * 2.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ovvv, (3, 4, 6, 1), (2, 0, 5, 6)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ovvv, (0, 4, 6, 5), (2, 3, 1, 6)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ovvv, (0, 5, 6, 4), (2, 3, 6, 1)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ovvv, (0, 1, 6, 5), (2, 3, 4, 6)) * 2.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ovvv, (0, 1, 6, 4), (2, 3, 6, 5)) * 2.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ovvv, (0, 5, 6, 1), (2, 3, 4, 6)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(so,so,sv,sv)], (2, 3, 4, 5), v.ovvv, (0, 4, 6, 1), (2, 3, 6, 5)) * -1.0 - t2new[np.ix_(so,sO,sV,sV)] += einsum(t1[np.ix_(so,sv)], (0, 1), v.OvOV, (2, 1, 3, 4), t3, (5, 2, 3, 6, 7, 4), (0, 5, 7, 6)) * -1.0 - t2new[np.ix_(so,sO,sV,sV)] += einsum(t1[np.ix_(so,sv)], (0, 1), v.OvOV, (2, 1, 3, 4), t3, (2, 5, 3, 6, 7, 4), (0, 5, 6, 7)) * -0.5 - t2new[np.ix_(so,sO,sV,sV)] += einsum(t1[np.ix_(so,sv)], (0, 1), v.OVOv, (2, 3, 4, 1), t3, (2, 5, 4, 6, 7, 3), (0, 5, 6, 7)) * 0.5 - t2new[np.ix_(sO,so,sV,sV)] += einsum(t1[np.ix_(so,sv)], (0, 1), v.OvOV, (2, 1, 3, 4), t3, (2, 5, 3, 6, 7, 4), (5, 0, 7, 6)) * -0.5 - t2new[np.ix_(sO,so,sV,sV)] += einsum(t1[np.ix_(so,sv)], (0, 1), v.OVOv, (2, 3, 4, 1), t3, (5, 4, 2, 6, 7, 3), (5, 0, 6, 7)) * -1.0 - t2new[np.ix_(sO,so,sV,sV)] += einsum(t1[np.ix_(so,sv)], (0, 1), v.OVOv, (2, 3, 4, 1), t3, (2, 5, 4, 6, 7, 3), (5, 0, 7, 6)) * 0.5 - t2new[np.ix_(sO,sO,sv,sV)] += einsum(t1[np.ix_(so,sv)], (0, 1), v.oVOV, (0, 2, 3, 4), t3, (5, 6, 3, 2, 7, 4), (5, 6, 1, 7)) * -0.5 - t2new[np.ix_(sO,sO,sv,sV)] += einsum(t1[np.ix_(so,sv)], (0, 1), v.oVOV, (0, 2, 3, 4), t3, (5, 6, 3, 4, 7, 2), (5, 6, 1, 7)) * 0.5 - t2new[np.ix_(sO,sO,sv,sV)] += einsum(t1[np.ix_(so,sv)], (0, 1), v.oVOV, (0, 2, 3, 4), t3, (5, 6, 3, 7, 2, 4), (6, 5, 1, 7)) * -1.0 - t2new[np.ix_(sO,sO,sV,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), v.oVOV, (0, 2, 3, 4), t3, (5, 6, 3, 2, 7, 4), (6, 5, 7, 1)) * -0.5 - t2new[np.ix_(sO,sO,sV,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), v.oVOV, (0, 2, 3, 4), t3, (5, 6, 3, 4, 7, 2), (6, 5, 7, 1)) * 0.5 - t2new[np.ix_(sO,sO,sV,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), v.oVOV, (0, 2, 3, 4), t3, (5, 6, 3, 7, 2, 4), (5, 6, 7, 1)) * -1.0 - t2new[np.ix_(sO,sO,sV,sV)] += einsum(t1[np.ix_(so,sv)], (0, 1), v.ovOV, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 3), (4, 5, 6, 7)) * 2.0 - t2new[np.ix_(sO,sO,sV,sV)] += einsum(t1[np.ix_(so,sv)], (0, 1), v.ovOV, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 3), (5, 4, 7, 6)) * 2.0 - t2new[np.ix_(sO,sO,sV,sV)] += einsum(t1[np.ix_(so,sv)], (0, 1), v.oVOv, (0, 2, 3, 1), t3, (4, 5, 3, 6, 7, 2), (4, 5, 6, 7)) * -1.0 - t2new[np.ix_(sO,sO,sV,sV)] += einsum(t1[np.ix_(so,sv)], (0, 1), v.oVOv, (0, 2, 3, 1), t3, (4, 5, 3, 6, 7, 2), (5, 4, 7, 6)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (1, 3, 5, 7), (0, 4, 2, 6)) * 4.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (1, 7, 5, 6), (0, 4, 2, 3)) - t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (1, 3, 5, 6), (0, 4, 2, 7)) * -2.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (1, 2, 5, 7), (0, 4, 3, 6)) * -2.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (1, 2, 5, 6), (0, 4, 3, 7)) - t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (1, 3, 5, 2), (0, 4, 7, 6)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (1, 7, 5, 3), (0, 4, 2, 6)) * -2.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (1, 6, 5, 7), (0, 4, 2, 3)) * -2.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (1, 6, 5, 3), (0, 4, 2, 7)) - t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (1, 7, 5, 2), (0, 4, 3, 6)) - t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (1, 3, 5, 2), (0, 4, 7, 6)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (1, 6, 5, 2), (0, 4, 7, 3)) - t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (1, 2, 5, 3), (0, 4, 7, 6)) - t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (4, 3, 5, 7), (0, 1, 2, 6)) * -0.5 - t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (4, 3, 5, 6), (0, 1, 2, 7)) * 0.5 - t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (4, 2, 5, 7), (0, 1, 6, 3)) * -1.5 - t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (4, 2, 5, 3), (0, 1, 6, 7)) - t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (4, 2, 5, 6), (0, 1, 7, 3)) * 0.5 - t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (4, 7, 5, 3), (0, 1, 2, 6)) * 0.5 - t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (4, 6, 5, 3), (0, 1, 2, 7)) * -1.5 - t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (4, 7, 5, 2), (0, 1, 6, 3)) * 0.5 - t2new[np.ix_(so,so,sv,sv)] += einsum(t2[np.ix_(so,so,sv,sv)], (0, 1, 2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (4, 6, 5, 2), (0, 1, 7, 3)) * -0.5 - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), t1[np.ix_(so,sv)], (4, 5), v.ooov, (6, 4, 2, 1), (0, 6, 3, 5)) - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), t1[np.ix_(so,sv)], (4, 5), v.ooov, (6, 2, 4, 1), (6, 0, 3, 5)) - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), t1[np.ix_(so,sv)], (4, 5), v.ovvv, (4, 1, 6, 3), (0, 2, 5, 6)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), t1[np.ix_(so,sv)], (4, 5), v.ovvv, (4, 3, 6, 1), (0, 2, 6, 5)) * -1.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (4, 1, 5, 3), (0, 2, 6, 7)) - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (2, 1, 5, 7), (0, 4, 3, 6)) * -2.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (2, 1, 5, 6), (0, 4, 3, 7)) - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (2, 7, 5, 1), (0, 4, 3, 6)) - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (2, 6, 5, 1), (0, 4, 7, 3)) - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (2, 1, 5, 3), (0, 4, 7, 6)) - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (2, 3, 5, 1), (0, 4, 7, 6)) * -2.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (2, 6, 5, 1), (4, 0, 3, 7)) - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (2, 1, 5, 7), (4, 0, 6, 3)) * -2.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (2, 1, 5, 6), (4, 0, 7, 3)) - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (2, 7, 5, 1), (4, 0, 6, 3)) - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (2, 1, 5, 3), (4, 0, 6, 7)) - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (2, 3, 5, 1), (4, 0, 6, 7)) * -2.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (0, 6, 2, 7), (4, 5, 1, 3)) - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (0, 1, 2, 6), (4, 5, 3, 7)) * -2.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (0, 6, 2, 1), (4, 5, 3, 7)) - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (0, 1, 2, 7), (4, 5, 6, 3)) * -2.0 - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), t2[np.ix_(so,so,sv,sv)], (4, 5, 6, 7), v.ovov, (0, 7, 2, 1), (4, 5, 6, 3)) - t2new[np.ix_(so,so,sv,sv)] += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), t1[np.ix_(so,sv)], (4, 5), t1[np.ix_(so,sv)], (6, 7), v.ovov, (4, 1, 6, 3), (0, 2, 5, 7)) - t3new = np.zeros(((naocc, naocc, naocc, navir, navir, navir)), dtype=types[float]) - t3new += einsum(f.OO, (0, 1), t3, (2, 3, 1, 4, 5, 6), (0, 3, 2, 4, 5, 6)) - t3new += einsum(f.OO, (0, 1), t3, (2, 1, 3, 4, 5, 6), (2, 0, 3, 4, 5, 6)) * -1.0 - t3new += einsum(f.OO, (0, 1), t3, (2, 3, 1, 4, 5, 6), (2, 3, 0, 4, 5, 6)) * -1.0 - t3new += einsum(f.VV, (0, 1), t3, (2, 3, 4, 5, 6, 1), (2, 3, 4, 0, 6, 5)) * -1.0 - t3new += einsum(f.VV, (0, 1), t3, (2, 3, 4, 5, 1, 6), (2, 3, 4, 5, 0, 6)) - t3new += einsum(f.VV, (0, 1), t3, (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 6, 0)) - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.OoOV, (4, 1, 5, 6), (0, 4, 5, 2, 3, 6)) * -1.0 - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.OoOV, (4, 1, 5, 6), (0, 4, 5, 6, 3, 2)) - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.OoOV, (4, 1, 5, 6), (0, 5, 4, 2, 6, 3)) * -1.0 - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.OoOV, (4, 1, 5, 6), (0, 5, 4, 3, 6, 2)) - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.OoOV, (4, 1, 5, 6), (4, 0, 5, 3, 2, 6)) * -1.0 - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.OoOV, (4, 1, 5, 6), (4, 0, 5, 6, 2, 3)) - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.OoOV, (4, 1, 5, 6), (5, 0, 4, 3, 2, 6)) - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.OoOV, (4, 1, 5, 6), (5, 0, 4, 6, 2, 3)) * -1.0 - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.OoOV, (4, 1, 5, 6), (4, 5, 0, 2, 6, 3)) - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.OoOV, (4, 1, 5, 6), (4, 5, 0, 3, 6, 2)) * -1.0 - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.OoOV, (4, 1, 5, 6), (5, 4, 0, 2, 3, 6)) - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.OoOV, (4, 1, 5, 6), (5, 4, 0, 6, 3, 2)) * -1.0 - t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), v.OVVv, (4, 5, 6, 3), (0, 4, 1, 2, 5, 6)) - t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), v.OVVv, (4, 5, 6, 3), (0, 4, 1, 6, 5, 2)) * -1.0 - t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), v.OVVv, (4, 5, 6, 2), (0, 4, 1, 6, 5, 3)) - t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), v.OVVv, (4, 5, 6, 2), (0, 4, 1, 3, 5, 6)) * -1.0 - t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), v.OVVv, (4, 5, 6, 3), (0, 1, 4, 5, 6, 2)) * -1.0 - t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), v.OVVv, (4, 5, 6, 2), (0, 1, 4, 5, 3, 6)) * -1.0 - t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), v.OVVv, (4, 5, 6, 3), (0, 1, 4, 2, 6, 5)) - t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), v.OVVv, (4, 5, 6, 2), (0, 1, 4, 6, 3, 5)) - t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), v.OVVv, (4, 5, 6, 3), (4, 0, 1, 5, 2, 6)) - t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), v.OVVv, (4, 5, 6, 2), (4, 0, 1, 5, 6, 3)) - t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), v.OVVv, (4, 5, 6, 3), (4, 0, 1, 6, 2, 5)) * -1.0 - t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), v.OVVv, (4, 5, 6, 2), (4, 0, 1, 3, 6, 5)) * -1.0 - t3new += einsum(v.OOOO, (0, 1, 2, 3), t3, (4, 3, 1, 5, 6, 7), (0, 2, 4, 5, 6, 7)) * -1.0 - t3new += einsum(v.OOOO, (0, 1, 2, 3), t3, (1, 4, 3, 5, 6, 7), (0, 4, 2, 5, 6, 7)) * 0.5 - t3new += einsum(v.OOOO, (0, 1, 2, 3), t3, (1, 4, 3, 5, 6, 7), (0, 4, 2, 7, 6, 5)) * -0.5 - t3new += einsum(v.OOOO, (0, 1, 2, 3), t3, (4, 1, 3, 5, 6, 7), (4, 0, 2, 5, 6, 7)) - t3new += einsum(v.OOVV, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (0, 5, 4, 2, 7, 6)) * -1.0 - t3new += einsum(v.OOVV, (0, 1, 2, 3), t3, (4, 5, 1, 6, 3, 7), (0, 5, 4, 6, 2, 7)) - t3new += einsum(v.OOVV, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (0, 5, 4, 6, 7, 2)) - t3new += einsum(v.OOVV, (0, 1, 2, 3), t3, (4, 1, 5, 6, 7, 3), (4, 0, 5, 2, 7, 6)) - t3new += einsum(v.OOVV, (0, 1, 2, 3), t3, (4, 1, 5, 6, 3, 7), (4, 0, 5, 6, 2, 7)) * -1.0 - t3new += einsum(v.OOVV, (0, 1, 2, 3), t3, (4, 1, 5, 6, 7, 3), (4, 0, 5, 6, 7, 2)) * -1.0 - t3new += einsum(v.OOVV, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (4, 5, 0, 2, 7, 6)) - t3new += einsum(v.OOVV, (0, 1, 2, 3), t3, (4, 5, 1, 6, 3, 7), (4, 5, 0, 6, 2, 7)) * -1.0 - t3new += einsum(v.OOVV, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (4, 5, 0, 6, 7, 2)) * -1.0 - t3new += einsum(v.OVOV, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 3), (0, 4, 5, 1, 6, 7)) - t3new += einsum(v.OVOV, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 3), (0, 5, 4, 1, 7, 6)) - t3new += einsum(v.OVOV, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 3), (0, 4, 5, 7, 6, 1)) * -1.0 - t3new += einsum(v.OVOV, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 3), (0, 5, 4, 6, 7, 1)) * -1.0 - t3new += einsum(v.OVOV, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 3), (4, 0, 5, 6, 1, 7)) - t3new += einsum(v.OVOV, (0, 1, 2, 3), t3, (4, 5, 2, 6, 3, 7), (4, 0, 5, 6, 1, 7)) * -1.0 - t3new += einsum(v.OVOV, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 3), (4, 0, 5, 7, 1, 6)) * -1.0 - t3new += einsum(v.OVOV, (0, 1, 2, 3), t3, (4, 2, 5, 6, 3, 7), (4, 0, 5, 6, 1, 7)) - t3new += einsum(v.OVOV, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 3), (4, 5, 0, 1, 7, 6)) * -1.0 - t3new += einsum(v.OVOV, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 3), (5, 4, 0, 1, 6, 7)) * -1.0 - t3new += einsum(v.OVOV, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 3), (4, 5, 0, 6, 7, 1)) - t3new += einsum(v.OVOV, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 3), (5, 4, 0, 7, 6, 1)) - t3new += einsum(v.VVVV, (0, 1, 2, 3), t3, (4, 5, 6, 7, 3, 1), (4, 5, 6, 0, 2, 7)) * -1.0 - t3new += einsum(v.VVVV, (0, 1, 2, 3), t3, (4, 5, 6, 1, 7, 3), (4, 5, 6, 0, 7, 2)) * 0.5 - t3new += einsum(v.VVVV, (0, 1, 2, 3), t3, (4, 5, 6, 3, 7, 1), (4, 5, 6, 0, 7, 2)) * -0.5 - t3new += einsum(v.VVVV, (0, 1, 2, 3), t3, (4, 5, 6, 7, 1, 3), (4, 5, 6, 7, 0, 2)) - t3new += einsum(f.Ov, (0, 1), t1[np.ix_(sO,sv)], (2, 1), t3, (3, 4, 0, 5, 6, 7), (2, 4, 3, 5, 6, 7)) - t3new += einsum(f.Ov, (0, 1), t1[np.ix_(sO,sv)], (2, 1), t3, (3, 0, 4, 5, 6, 7), (3, 2, 4, 5, 6, 7)) * -1.0 - t3new += einsum(f.Ov, (0, 1), t1[np.ix_(sO,sv)], (2, 1), t3, (3, 4, 0, 5, 6, 7), (3, 4, 2, 5, 6, 7)) * -1.0 - t3new += einsum(f.oV, (0, 1), t1[np.ix_(so,sV)], (0, 2), t3, (3, 4, 5, 6, 7, 1), (3, 4, 5, 2, 7, 6)) - t3new += einsum(f.oV, (0, 1), t1[np.ix_(so,sV)], (0, 2), t3, (3, 4, 5, 6, 1, 7), (3, 4, 5, 6, 2, 7)) * -1.0 - t3new += einsum(f.oV, (0, 1), t1[np.ix_(so,sV)], (0, 2), t3, (3, 4, 5, 6, 7, 1), (3, 4, 5, 6, 7, 2)) * -1.0 - t3new += einsum(f.ov, (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 1), t2[np.ix_(sO,so,sV,sV)], (5, 0, 6, 7), (2, 5, 3, 4, 6, 7)) * -1.0 - t3new += einsum(f.ov, (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 1), t2[np.ix_(sO,so,sV,sV)], (5, 0, 6, 7), (2, 5, 3, 7, 6, 4)) - t3new += einsum(f.ov, (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 1, 4), t2[np.ix_(sO,so,sV,sV)], (5, 0, 6, 7), (2, 5, 3, 4, 6, 7)) - t3new += einsum(f.ov, (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 1, 4), t2[np.ix_(sO,so,sV,sV)], (5, 0, 6, 7), (2, 5, 3, 7, 6, 4)) * -1.0 - t3new += einsum(f.ov, (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 0, 3, 4), t2[np.ix_(sO,sO,sV,sv)], (5, 6, 7, 1), (2, 5, 6, 3, 7, 4)) * -1.0 - t3new += einsum(f.ov, (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 0, 3, 4), t2[np.ix_(sO,sO,sv,sV)], (5, 6, 1, 7), (2, 5, 6, 3, 4, 7)) * -1.0 - t3new += einsum(f.ov, (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 0, 3, 4), t2[np.ix_(sO,sO,sV,sv)], (5, 6, 7, 1), (2, 5, 6, 4, 7, 3)) - t3new += einsum(f.ov, (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 0, 3, 4), t2[np.ix_(sO,sO,sv,sV)], (5, 6, 1, 7), (2, 5, 6, 7, 4, 3)) - t3new += einsum(f.ov, (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 1), t2[np.ix_(sO,so,sV,sV)], (5, 0, 6, 7), (2, 3, 5, 4, 7, 6)) * -1.0 - t3new += einsum(f.ov, (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 1), t2[np.ix_(sO,so,sV,sV)], (5, 0, 6, 7), (2, 3, 5, 6, 7, 4)) - t3new += einsum(f.ov, (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 1, 4), t2[np.ix_(sO,so,sV,sV)], (5, 0, 6, 7), (2, 3, 5, 6, 4, 7)) - t3new += einsum(f.ov, (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 1, 4), t2[np.ix_(sO,so,sV,sV)], (5, 0, 6, 7), (2, 3, 5, 7, 4, 6)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OoVv, (6, 3, 7, 1), (0, 2, 6, 7, 4, 5)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OoVv, (6, 3, 7, 1), (0, 2, 6, 5, 4, 7)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OoVv, (6, 3, 7, 1), (0, 6, 2, 4, 5, 7)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OoVv, (6, 3, 7, 1), (0, 6, 2, 7, 5, 4)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OoVv, (6, 3, 7, 1), (2, 0, 6, 4, 7, 5)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OoVv, (6, 3, 7, 1), (2, 0, 6, 5, 7, 4)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OoVv, (6, 3, 7, 1), (6, 0, 2, 4, 7, 5)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OoVv, (6, 3, 7, 1), (6, 0, 2, 5, 7, 4)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OoVv, (6, 3, 7, 1), (2, 6, 0, 4, 5, 7)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OoVv, (6, 3, 7, 1), (2, 6, 0, 7, 5, 4)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OoVv, (6, 3, 7, 1), (6, 2, 0, 7, 4, 5)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OoVv, (6, 3, 7, 1), (6, 2, 0, 5, 4, 7)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OoOo, (6, 3, 7, 0), (2, 6, 7, 1, 5, 4)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OoOo, (6, 0, 7, 3), (6, 2, 7, 1, 4, 5)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OoOo, (6, 3, 7, 0), (6, 2, 7, 1, 4, 5)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OoOo, (6, 0, 7, 3), (6, 7, 2, 1, 5, 4)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OoOo, (6, 0, 7, 3), (2, 6, 7, 4, 1, 5)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OoOo, (6, 0, 7, 3), (2, 6, 7, 5, 1, 4)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OoOo, (6, 3, 7, 0), (6, 7, 2, 4, 1, 5)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OoOo, (6, 3, 7, 0), (6, 7, 2, 5, 1, 4)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OoOo, (6, 3, 7, 0), (2, 6, 7, 4, 5, 1)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OoOo, (6, 0, 7, 3), (6, 2, 7, 5, 4, 1)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OoOo, (6, 3, 7, 0), (6, 2, 7, 5, 4, 1)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OoOo, (6, 0, 7, 3), (6, 7, 2, 4, 5, 1)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), v.OoVv, (6, 0, 7, 5), (2, 3, 6, 1, 7, 4)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), v.OoVv, (6, 0, 7, 4), (2, 3, 6, 1, 5, 7)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), v.OoVv, (6, 0, 7, 5), (6, 2, 3, 1, 4, 7)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), v.OoVv, (6, 0, 7, 4), (6, 2, 3, 1, 7, 5)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), v.OoVv, (6, 0, 7, 5), (2, 6, 3, 4, 1, 7)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), v.OoVv, (6, 0, 7, 5), (2, 6, 3, 7, 1, 4)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), v.OoVv, (6, 0, 7, 4), (2, 6, 3, 7, 1, 5)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), v.OoVv, (6, 0, 7, 4), (2, 6, 3, 5, 1, 7)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), v.OoVv, (6, 0, 7, 5), (2, 3, 6, 4, 7, 1)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), v.OoVv, (6, 0, 7, 4), (2, 3, 6, 7, 5, 1)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), v.OoVv, (6, 0, 7, 5), (6, 2, 3, 7, 4, 1)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), v.OoVv, (6, 0, 7, 4), (6, 2, 3, 5, 7, 1)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OVov, (6, 7, 3, 1), (0, 2, 6, 7, 4, 5)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OVov, (6, 7, 3, 1), (0, 2, 6, 5, 4, 7)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OVov, (6, 7, 3, 1), (0, 6, 2, 4, 7, 5)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OVov, (6, 7, 3, 1), (0, 6, 2, 5, 7, 4)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OVov, (6, 7, 3, 1), (2, 0, 6, 7, 5, 4)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OVov, (6, 7, 3, 1), (2, 0, 6, 4, 5, 7)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OVov, (6, 7, 3, 1), (6, 0, 2, 7, 5, 4)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OVov, (6, 7, 3, 1), (6, 0, 2, 4, 5, 7)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OVov, (6, 7, 3, 1), (2, 6, 0, 4, 7, 5)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OVov, (6, 7, 3, 1), (2, 6, 0, 5, 7, 4)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OVov, (6, 7, 3, 1), (6, 2, 0, 7, 4, 5)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), v.OVov, (6, 7, 3, 1), (6, 2, 0, 5, 4, 7)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), v.OVov, (6, 7, 0, 5), (2, 6, 3, 1, 7, 4)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), v.OVov, (6, 7, 0, 4), (2, 6, 3, 1, 7, 5)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), v.OVov, (6, 7, 0, 4), (2, 3, 6, 1, 5, 7)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), v.OVov, (6, 7, 0, 5), (6, 2, 3, 1, 4, 7)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), v.OVov, (6, 7, 0, 5), (2, 3, 6, 7, 1, 4)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), v.OVov, (6, 7, 0, 5), (2, 3, 6, 4, 1, 7)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), v.OVov, (6, 7, 0, 4), (6, 2, 3, 7, 1, 5)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), v.OVov, (6, 7, 0, 4), (6, 2, 3, 5, 1, 7)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), v.OVov, (6, 7, 0, 5), (2, 6, 3, 4, 7, 1)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), v.OVov, (6, 7, 0, 4), (2, 6, 3, 5, 7, 1)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), v.OVov, (6, 7, 0, 4), (2, 3, 6, 7, 5, 1)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), v.OVov, (6, 7, 0, 5), (6, 2, 3, 7, 4, 1)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), v.VvVv, (6, 1, 7, 5), (0, 2, 3, 6, 4, 7)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), v.VvVv, (6, 1, 7, 4), (0, 2, 3, 6, 7, 5)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), v.VvVv, (6, 5, 7, 1), (0, 2, 3, 6, 4, 7)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), v.VvVv, (6, 4, 7, 1), (0, 2, 3, 5, 6, 7)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), v.VvVv, (6, 5, 7, 1), (2, 0, 3, 6, 7, 4)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), v.VvVv, (6, 4, 7, 1), (2, 0, 3, 6, 7, 5)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), v.VvVv, (6, 1, 7, 5), (2, 0, 3, 4, 6, 7)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), v.VvVv, (6, 1, 7, 4), (2, 0, 3, 5, 6, 7)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), v.VvVv, (6, 1, 7, 5), (2, 3, 0, 6, 7, 4)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), v.VvVv, (6, 1, 7, 4), (2, 3, 0, 6, 5, 7)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), v.VvVv, (6, 4, 7, 1), (2, 3, 0, 6, 5, 7)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), v.VvVv, (6, 5, 7, 1), (2, 3, 0, 4, 6, 7)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), v.OOOv, (2, 3, 4, 1), t3, (5, 3, 4, 6, 7, 8), (0, 2, 5, 6, 7, 8)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), v.OOOv, (2, 3, 4, 1), t3, (3, 5, 4, 6, 7, 8), (0, 5, 2, 6, 7, 8)) * -0.5 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), v.OOOv, (2, 3, 4, 1), t3, (3, 5, 4, 6, 7, 8), (0, 5, 2, 8, 7, 6)) * 0.5 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), v.OOOv, (2, 3, 4, 1), t3, (5, 4, 3, 6, 7, 8), (2, 0, 5, 6, 7, 8)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), v.OOOv, (2, 3, 4, 1), t3, (5, 4, 3, 6, 7, 8), (5, 0, 2, 6, 7, 8)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), v.OOOv, (2, 3, 4, 1), t3, (3, 5, 4, 6, 7, 8), (2, 5, 0, 8, 7, 6)) * -0.5 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), v.OOOv, (2, 3, 4, 1), t3, (3, 5, 4, 6, 7, 8), (2, 5, 0, 6, 7, 8)) * 0.5 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), v.OOOv, (2, 3, 4, 1), t3, (5, 3, 4, 6, 7, 8), (5, 2, 0, 6, 7, 8)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), v.OoOV, (2, 0, 3, 4), t3, (5, 6, 3, 7, 8, 4), (2, 5, 6, 1, 7, 8)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), v.OoOV, (2, 0, 3, 4), t3, (5, 6, 3, 7, 8, 4), (2, 6, 5, 1, 8, 7)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), v.OOoV, (2, 3, 0, 4), t3, (5, 6, 3, 7, 8, 4), (2, 6, 5, 1, 8, 7)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), v.OOoV, (2, 3, 0, 4), t3, (5, 3, 6, 7, 8, 4), (5, 2, 6, 1, 8, 7)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), v.OoOV, (2, 0, 3, 4), t3, (5, 6, 3, 7, 8, 4), (5, 6, 2, 1, 8, 7)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), v.OoOV, (2, 0, 3, 4), t3, (5, 6, 3, 7, 8, 4), (6, 5, 2, 1, 7, 8)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), v.OOoV, (2, 3, 0, 4), t3, (5, 6, 3, 7, 8, 4), (5, 6, 2, 1, 8, 7)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), v.OOoV, (2, 3, 0, 4), t3, (5, 6, 3, 7, 4, 8), (2, 6, 5, 7, 1, 8)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), v.OoOV, (2, 0, 3, 4), t3, (5, 6, 3, 7, 8, 4), (5, 2, 6, 7, 1, 8)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), v.OoOV, (2, 0, 3, 4), t3, (5, 6, 3, 7, 8, 4), (5, 2, 6, 8, 1, 7)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), v.OoOV, (2, 0, 3, 4), t3, (5, 6, 3, 7, 4, 8), (5, 2, 6, 7, 1, 8)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), v.OoOV, (2, 0, 3, 4), t3, (5, 3, 6, 7, 4, 8), (5, 2, 6, 7, 1, 8)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), v.OOoV, (2, 3, 0, 4), t3, (5, 3, 6, 7, 4, 8), (5, 2, 6, 7, 1, 8)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), v.OOoV, (2, 3, 0, 4), t3, (5, 6, 3, 7, 4, 8), (5, 6, 2, 7, 1, 8)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), v.OoOV, (2, 0, 3, 4), t3, (5, 6, 3, 7, 8, 4), (2, 5, 6, 8, 7, 1)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), v.OoOV, (2, 0, 3, 4), t3, (5, 6, 3, 7, 8, 4), (2, 6, 5, 7, 8, 1)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), v.OOoV, (2, 3, 0, 4), t3, (5, 6, 3, 7, 8, 4), (2, 6, 5, 7, 8, 1)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), v.OOoV, (2, 3, 0, 4), t3, (5, 3, 6, 7, 8, 4), (5, 2, 6, 7, 8, 1)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), v.OoOV, (2, 0, 3, 4), t3, (5, 6, 3, 7, 8, 4), (5, 6, 2, 7, 8, 1)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), v.OoOV, (2, 0, 3, 4), t3, (5, 6, 3, 7, 8, 4), (6, 5, 2, 8, 7, 1)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), v.OOoV, (2, 3, 0, 4), t3, (5, 6, 3, 7, 8, 4), (5, 6, 2, 7, 8, 1)) - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), v.OoOv, (2, 0, 3, 1), t3, (4, 5, 3, 6, 7, 8), (2, 5, 4, 6, 7, 8)) * -1.0 - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), v.OOov, (2, 3, 0, 1), t3, (4, 5, 3, 6, 7, 8), (2, 5, 4, 6, 7, 8)) * 2.0 - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), v.OoOv, (2, 0, 3, 1), t3, (4, 3, 5, 6, 7, 8), (4, 2, 5, 6, 7, 8)) - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), v.OOov, (2, 3, 0, 1), t3, (4, 3, 5, 6, 7, 8), (4, 2, 5, 6, 7, 8)) * -2.0 - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), v.OoOv, (2, 0, 3, 1), t3, (4, 5, 3, 6, 7, 8), (4, 5, 2, 6, 7, 8)) - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), v.OOov, (2, 3, 0, 1), t3, (4, 5, 3, 6, 7, 8), (4, 5, 2, 6, 7, 8)) * -2.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), v.OvVV, (2, 1, 3, 4), t3, (5, 6, 2, 7, 8, 4), (0, 6, 5, 3, 8, 7)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), v.OvVV, (2, 1, 3, 4), t3, (5, 6, 2, 7, 4, 8), (0, 6, 5, 7, 3, 8)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), v.OvVV, (2, 1, 3, 4), t3, (5, 6, 2, 7, 8, 4), (0, 6, 5, 7, 8, 3)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), v.OVVv, (2, 3, 4, 1), t3, (5, 6, 2, 7, 8, 3), (0, 5, 6, 4, 7, 8)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), v.OVVv, (2, 3, 4, 1), t3, (5, 6, 2, 7, 8, 3), (0, 6, 5, 4, 8, 7)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), v.OVVv, (2, 3, 4, 1), t3, (5, 6, 2, 7, 8, 3), (0, 5, 6, 8, 7, 4)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), v.OVVv, (2, 3, 4, 1), t3, (5, 6, 2, 7, 8, 3), (0, 6, 5, 7, 8, 4)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), v.OvVV, (2, 1, 3, 4), t3, (5, 2, 6, 7, 8, 4), (5, 0, 6, 3, 8, 7)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), v.OvVV, (2, 1, 3, 4), t3, (5, 2, 6, 7, 4, 8), (5, 0, 6, 7, 3, 8)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), v.OvVV, (2, 1, 3, 4), t3, (5, 2, 6, 7, 8, 4), (5, 0, 6, 7, 8, 3)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), v.OVVv, (2, 3, 4, 1), t3, (5, 6, 2, 7, 8, 3), (5, 0, 6, 8, 4, 7)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), v.OVVv, (2, 3, 4, 1), t3, (5, 6, 2, 7, 3, 8), (5, 0, 6, 7, 4, 8)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), v.OVVv, (2, 3, 4, 1), t3, (5, 6, 2, 7, 8, 3), (5, 0, 6, 7, 4, 8)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), v.OVVv, (2, 3, 4, 1), t3, (5, 2, 6, 7, 3, 8), (5, 0, 6, 7, 4, 8)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), v.OvVV, (2, 1, 3, 4), t3, (5, 6, 2, 7, 8, 4), (5, 6, 0, 3, 8, 7)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), v.OvVV, (2, 1, 3, 4), t3, (5, 6, 2, 7, 4, 8), (5, 6, 0, 7, 3, 8)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), v.OvVV, (2, 1, 3, 4), t3, (5, 6, 2, 7, 8, 4), (5, 6, 0, 7, 8, 3)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), v.OVVv, (2, 3, 4, 1), t3, (5, 6, 2, 7, 8, 3), (5, 6, 0, 4, 8, 7)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), v.OVVv, (2, 3, 4, 1), t3, (5, 6, 2, 7, 8, 3), (6, 5, 0, 4, 7, 8)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), v.OVVv, (2, 3, 4, 1), t3, (5, 6, 2, 7, 8, 3), (5, 6, 0, 7, 8, 4)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), v.OVVv, (2, 3, 4, 1), t3, (5, 6, 2, 7, 8, 3), (6, 5, 0, 8, 7, 4)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), v.oVVV, (0, 2, 3, 4), t3, (5, 6, 7, 8, 4, 2), (5, 6, 7, 1, 3, 8)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), v.oVVV, (0, 2, 3, 4), t3, (5, 6, 7, 2, 8, 4), (5, 6, 7, 1, 8, 3)) * -0.5 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), v.oVVV, (0, 2, 3, 4), t3, (5, 6, 7, 4, 8, 2), (5, 6, 7, 1, 8, 3)) * 0.5 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), v.oVVV, (0, 2, 3, 4), t3, (5, 6, 7, 8, 2, 4), (5, 6, 7, 3, 1, 8)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), v.oVVV, (0, 2, 3, 4), t3, (5, 6, 7, 8, 2, 4), (5, 6, 7, 8, 1, 3)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), v.oVVV, (0, 2, 3, 4), t3, (5, 6, 7, 4, 8, 2), (5, 6, 7, 3, 8, 1)) * -0.5 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), v.oVVV, (0, 2, 3, 4), t3, (5, 6, 7, 2, 8, 4), (5, 6, 7, 3, 8, 1)) * 0.5 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), v.oVVV, (0, 2, 3, 4), t3, (5, 6, 7, 8, 4, 2), (5, 6, 7, 8, 3, 1)) * -1.0 - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), v.ovVV, (0, 1, 2, 3), t3, (4, 5, 6, 7, 8, 3), (4, 5, 6, 2, 8, 7)) * -2.0 - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), v.ovVV, (0, 1, 2, 3), t3, (4, 5, 6, 7, 3, 8), (4, 5, 6, 7, 2, 8)) * 2.0 - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), v.ovVV, (0, 1, 2, 3), t3, (4, 5, 6, 7, 8, 3), (4, 5, 6, 7, 8, 2)) * 2.0 - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), v.oVVv, (0, 2, 3, 1), t3, (4, 5, 6, 7, 8, 2), (4, 5, 6, 3, 8, 7)) - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), v.oVVv, (0, 2, 3, 1), t3, (4, 5, 6, 7, 2, 8), (4, 5, 6, 7, 3, 8)) * -1.0 - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), v.oVVv, (0, 2, 3, 1), t3, (4, 5, 6, 7, 8, 2), (4, 5, 6, 7, 8, 3)) * -1.0 - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sv)], (4, 5, 6, 7), v.Ooov, (8, 1, 5, 7), (0, 4, 8, 2, 6, 3)) * -2.0 - t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 1, 5, 3), (0, 4, 8, 2, 6, 7)) - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sv,sV)], (4, 5, 6, 7), v.Ooov, (8, 1, 5, 6), (0, 4, 8, 2, 7, 3)) - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sv)], (4, 5, 6, 7), v.Ooov, (8, 1, 5, 7), (0, 4, 8, 3, 6, 2)) * 2.0 - t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 1, 5, 3), (0, 4, 8, 7, 6, 2)) * -1.0 - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sv,sV)], (4, 5, 6, 7), v.Ooov, (8, 1, 5, 6), (0, 4, 8, 3, 7, 2)) * -1.0 - t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 1, 5, 2), (0, 4, 8, 3, 6, 7)) * -1.0 - t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 1, 5, 2), (0, 4, 8, 7, 6, 3)) - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sv)], (4, 5, 6, 7), v.Ooov, (8, 5, 1, 7), (0, 4, 8, 2, 6, 3)) - t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 1, 3), (0, 4, 8, 2, 6, 7)) * -2.0 - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sv,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 1, 6), (0, 4, 8, 2, 3, 7)) - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sv)], (4, 5, 6, 7), v.Ooov, (8, 5, 1, 7), (0, 4, 8, 3, 6, 2)) * -1.0 - t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 1, 3), (0, 4, 8, 7, 6, 2)) * 2.0 - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sv,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 1, 6), (0, 4, 8, 7, 3, 2)) * -1.0 - t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 1, 2), (0, 4, 8, 3, 6, 7)) - t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 1, 2), (0, 4, 8, 7, 6, 3)) * -1.0 - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sv)], (4, 5, 6, 7), v.Ooov, (8, 1, 5, 7), (0, 8, 4, 2, 3, 6)) * -2.0 - t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 1, 5, 3), (0, 8, 4, 2, 7, 6)) - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sv,sV)], (4, 5, 6, 7), v.Ooov, (8, 1, 5, 6), (0, 8, 4, 2, 3, 7)) - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sv)], (4, 5, 6, 7), v.Ooov, (8, 1, 5, 7), (0, 8, 4, 6, 3, 2)) * 2.0 - t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 1, 5, 3), (0, 8, 4, 6, 7, 2)) * -1.0 - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sv,sV)], (4, 5, 6, 7), v.Ooov, (8, 1, 5, 6), (0, 8, 4, 7, 3, 2)) * -1.0 - t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 1, 5, 2), (0, 8, 4, 6, 3, 7)) * -1.0 - t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 1, 5, 2), (0, 8, 4, 7, 3, 6)) - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sv)], (4, 5, 6, 7), v.Ooov, (8, 5, 1, 7), (0, 8, 4, 2, 3, 6)) - t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 1, 3), (0, 8, 4, 2, 7, 6)) * -2.0 - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sv,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 1, 6), (0, 8, 4, 2, 7, 3)) - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sv)], (4, 5, 6, 7), v.Ooov, (8, 5, 1, 7), (0, 8, 4, 6, 3, 2)) * -1.0 - t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 1, 3), (0, 8, 4, 6, 7, 2)) * 2.0 - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sv,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 1, 6), (0, 8, 4, 3, 7, 2)) * -1.0 - t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 1, 2), (0, 8, 4, 6, 7, 3)) * -1.0 - t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 1, 2), (0, 8, 4, 3, 7, 6)) - t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), t2[np.ix_(so,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 4, 3), (0, 8, 1, 2, 7, 6)) - t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), t2[np.ix_(so,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 4, 3), (0, 8, 1, 6, 7, 2)) * -1.0 - t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), t2[np.ix_(so,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 4, 2), (0, 8, 1, 6, 7, 3)) - t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), t2[np.ix_(so,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 4, 2), (0, 8, 1, 3, 7, 6)) * -1.0 - t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), t2[np.ix_(so,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 4, 5, 3), (0, 1, 8, 2, 7, 6)) - t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), t2[np.ix_(so,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 4, 5, 3), (0, 1, 8, 6, 7, 2)) * -1.0 - t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), t2[np.ix_(so,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 4, 5, 2), (0, 1, 8, 6, 3, 7)) * -0.5 - t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), t2[np.ix_(so,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 4, 5, 2), (0, 1, 8, 7, 3, 6)) * 0.5 - t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), t2[np.ix_(so,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 4, 2), (0, 1, 8, 6, 3, 7)) * 0.5 - t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), t2[np.ix_(so,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 4, 2), (0, 1, 8, 7, 3, 6)) * -0.5 - t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 1, 3), (8, 0, 4, 6, 2, 7)) - t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 1, 3), (8, 0, 4, 7, 2, 6)) * -1.0 - t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 1, 2), (8, 0, 4, 6, 3, 7)) * -1.0 - t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 1, 2), (8, 0, 4, 7, 3, 6)) - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sv)], (4, 5, 6, 7), v.Ooov, (8, 5, 1, 7), (8, 0, 4, 6, 2, 3)) * -1.0 - t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 1, 3), (8, 0, 4, 6, 2, 7)) - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sv)], (4, 5, 6, 7), v.Ooov, (8, 5, 1, 7), (8, 0, 4, 3, 2, 6)) - t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 1, 3), (8, 0, 4, 7, 2, 6)) * -1.0 - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sv,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 1, 6), (8, 0, 4, 3, 2, 7)) * -1.0 - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sv,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 1, 6), (8, 0, 4, 7, 2, 3)) - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sv)], (4, 5, 6, 7), v.Ooov, (8, 1, 5, 7), (8, 0, 4, 6, 2, 3)) * 2.0 - t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 1, 5, 3), (8, 0, 4, 6, 2, 7)) * -1.0 - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sv)], (4, 5, 6, 7), v.Ooov, (8, 1, 5, 7), (8, 0, 4, 3, 2, 6)) * -2.0 - t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 1, 5, 3), (8, 0, 4, 7, 2, 6)) - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sv,sV)], (4, 5, 6, 7), v.Ooov, (8, 1, 5, 6), (8, 0, 4, 3, 2, 7)) - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sv,sV)], (4, 5, 6, 7), v.Ooov, (8, 1, 5, 6), (8, 0, 4, 7, 2, 3)) * -1.0 - t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 1, 5, 2), (8, 0, 4, 6, 7, 3)) * -1.0 - t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 1, 5, 2), (8, 0, 4, 3, 7, 6)) - t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), t2[np.ix_(so,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 4, 5, 3), (8, 0, 1, 6, 2, 7)) * 0.5 - t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), t2[np.ix_(so,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 4, 5, 3), (8, 0, 1, 7, 2, 6)) * -0.5 - t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), t2[np.ix_(so,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 4, 5, 2), (8, 0, 1, 6, 7, 3)) - t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), t2[np.ix_(so,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 4, 5, 2), (8, 0, 1, 3, 7, 6)) * -1.0 - t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), t2[np.ix_(so,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 4, 3), (8, 0, 1, 6, 2, 7)) * -0.5 - t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), t2[np.ix_(so,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 4, 3), (8, 0, 1, 7, 2, 6)) * 0.5 - t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sv)], (4, 5, 6, 7), v.ovVv, (5, 3, 8, 7), (0, 4, 1, 2, 6, 8)) * -1.0 - t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sv,sV)], (4, 5, 6, 7), v.ovVv, (5, 3, 8, 6), (0, 4, 1, 2, 8, 7)) * -1.0 - t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sv)], (4, 5, 6, 7), v.ovVv, (5, 3, 8, 7), (0, 4, 1, 8, 6, 2)) - t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sv,sV)], (4, 5, 6, 7), v.ovVv, (5, 3, 8, 6), (0, 4, 1, 7, 8, 2)) - t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sv)], (4, 5, 6, 7), v.ovVv, (5, 2, 8, 7), (0, 4, 1, 8, 6, 3)) * -1.0 - t3new += einsum(t2[np.ix_(sO,sO,sv,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.ovVv, (5, 2, 8, 3), (0, 4, 1, 8, 6, 7)) - t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sv)], (4, 5, 6, 7), v.ovVv, (5, 2, 8, 7), (0, 4, 1, 3, 6, 8)) - t3new += einsum(t2[np.ix_(sO,sO,sv,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.ovVv, (5, 2, 8, 3), (0, 4, 1, 7, 6, 8)) * -1.0 - t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sv,sV)], (4, 5, 6, 7), v.ovVv, (5, 2, 8, 6), (0, 4, 1, 3, 8, 7)) - t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sv,sV)], (4, 5, 6, 7), v.ovVv, (5, 2, 8, 6), (0, 4, 1, 7, 8, 3)) * -1.0 - t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sv)], (4, 5, 6, 7), v.ovVv, (5, 7, 8, 3), (0, 4, 1, 2, 6, 8)) * 2.0 - t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sv,sV)], (4, 5, 6, 7), v.ovVv, (5, 6, 8, 3), (0, 4, 1, 2, 7, 8)) * -1.0 - t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sv)], (4, 5, 6, 7), v.ovVv, (5, 7, 8, 3), (0, 4, 1, 8, 6, 2)) * -2.0 - t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sv,sV)], (4, 5, 6, 7), v.ovVv, (5, 6, 8, 3), (0, 4, 1, 8, 7, 2)) - t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sv)], (4, 5, 6, 7), v.ovVv, (5, 7, 8, 2), (0, 4, 1, 8, 6, 3)) * 2.0 - t3new += einsum(t2[np.ix_(sO,sO,sv,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.ovVv, (5, 3, 8, 2), (0, 4, 1, 8, 6, 7)) * -1.0 - t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sv)], (4, 5, 6, 7), v.ovVv, (5, 7, 8, 2), (0, 4, 1, 3, 6, 8)) * -2.0 - t3new += einsum(t2[np.ix_(sO,sO,sv,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.ovVv, (5, 3, 8, 2), (0, 4, 1, 7, 6, 8)) - t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sv,sV)], (4, 5, 6, 7), v.ovVv, (5, 6, 8, 2), (0, 4, 1, 8, 7, 3)) * -1.0 - t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sv,sV)], (4, 5, 6, 7), v.ovVv, (5, 6, 8, 2), (0, 4, 1, 3, 7, 8)) - t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,sO,sV,sv)], (4, 5, 6, 7), v.ovVv, (1, 3, 8, 7), (0, 4, 5, 2, 6, 8)) * 2.0 - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), t2[np.ix_(sO,sO,sv,sv)], (4, 5, 6, 7), v.ovVv, (1, 7, 8, 6), (0, 4, 5, 2, 8, 3)) * -1.0 - t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,sO,sv,sV)], (4, 5, 6, 7), v.ovVv, (1, 3, 8, 6), (0, 4, 5, 2, 8, 7)) * 2.0 - t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,sO,sV,sv)], (4, 5, 6, 7), v.ovVv, (1, 3, 8, 7), (0, 4, 5, 8, 6, 2)) * -2.0 - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), t2[np.ix_(sO,sO,sv,sv)], (4, 5, 6, 7), v.ovVv, (1, 7, 8, 6), (0, 4, 5, 3, 8, 2)) - t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,sO,sv,sV)], (4, 5, 6, 7), v.ovVv, (1, 3, 8, 6), (0, 4, 5, 7, 8, 2)) * -2.0 - t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,sO,sV,sv)], (4, 5, 6, 7), v.ovVv, (1, 2, 8, 7), (0, 4, 5, 8, 6, 3)) - t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,sO,sV,sv)], (4, 5, 6, 7), v.ovVv, (1, 2, 8, 7), (0, 4, 5, 3, 6, 8)) * -1.0 - t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,sO,sv,sV)], (4, 5, 6, 7), v.ovVv, (1, 2, 8, 6), (0, 4, 5, 3, 8, 7)) * -1.0 - t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,sO,sv,sV)], (4, 5, 6, 7), v.ovVv, (1, 2, 8, 6), (0, 4, 5, 7, 8, 3)) - t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,sO,sV,sv)], (4, 5, 6, 7), v.ovVv, (1, 7, 8, 3), (0, 4, 5, 2, 6, 8)) * -1.0 - t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,sO,sv,sV)], (4, 5, 6, 7), v.ovVv, (1, 6, 8, 3), (0, 4, 5, 2, 8, 7)) * -1.0 - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), t2[np.ix_(sO,sO,sv,sv)], (4, 5, 6, 7), v.ovVv, (1, 6, 8, 7), (0, 4, 5, 2, 3, 8)) * -1.0 - t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,sO,sV,sv)], (4, 5, 6, 7), v.ovVv, (1, 7, 8, 3), (0, 4, 5, 8, 6, 2)) - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), t2[np.ix_(sO,sO,sv,sv)], (4, 5, 6, 7), v.ovVv, (1, 6, 8, 7), (0, 4, 5, 8, 3, 2)) - t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,sO,sv,sV)], (4, 5, 6, 7), v.ovVv, (1, 6, 8, 3), (0, 4, 5, 7, 8, 2)) - t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,sO,sV,sv)], (4, 5, 6, 7), v.ovVv, (1, 7, 8, 2), (0, 4, 5, 8, 6, 3)) * -1.0 - t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,sO,sV,sv)], (4, 5, 6, 7), v.ovVv, (1, 7, 8, 2), (0, 4, 5, 3, 6, 8)) - t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,sO,sv,sV)], (4, 5, 6, 7), v.ovVv, (1, 6, 8, 2), (0, 4, 5, 8, 3, 7)) * -1.0 - t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,sO,sv,sV)], (4, 5, 6, 7), v.ovVv, (1, 6, 8, 2), (0, 4, 5, 7, 3, 8)) - t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sv)], (4, 5, 6, 7), v.ovVv, (5, 3, 8, 7), (0, 1, 4, 2, 8, 6)) * -1.0 - t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sv,sV)], (4, 5, 6, 7), v.ovVv, (5, 3, 8, 6), (0, 1, 4, 2, 7, 8)) * -1.0 - t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sv)], (4, 5, 6, 7), v.ovVv, (5, 3, 8, 7), (0, 1, 4, 6, 8, 2)) - t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sv,sV)], (4, 5, 6, 7), v.ovVv, (5, 3, 8, 6), (0, 1, 4, 8, 7, 2)) - t3new += einsum(t2[np.ix_(sO,sO,sv,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.ovVv, (5, 2, 8, 3), (0, 1, 4, 6, 8, 7)) - t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sv)], (4, 5, 6, 7), v.ovVv, (5, 2, 8, 7), (0, 1, 4, 6, 3, 8)) - t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sv)], (4, 5, 6, 7), v.ovVv, (5, 2, 8, 7), (0, 1, 4, 8, 3, 6)) * -1.0 - t3new += einsum(t2[np.ix_(sO,sO,sv,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.ovVv, (5, 2, 8, 3), (0, 1, 4, 7, 8, 6)) * -1.0 - t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sv,sV)], (4, 5, 6, 7), v.ovVv, (5, 2, 8, 6), (0, 1, 4, 8, 3, 7)) - t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sv,sV)], (4, 5, 6, 7), v.ovVv, (5, 2, 8, 6), (0, 1, 4, 7, 3, 8)) * -1.0 - t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sv)], (4, 5, 6, 7), v.ovVv, (5, 7, 8, 3), (0, 1, 4, 2, 8, 6)) * 2.0 - t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sv,sV)], (4, 5, 6, 7), v.ovVv, (5, 6, 8, 3), (0, 1, 4, 2, 8, 7)) * -1.0 - t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sv)], (4, 5, 6, 7), v.ovVv, (5, 7, 8, 3), (0, 1, 4, 6, 8, 2)) * -2.0 - t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sv,sV)], (4, 5, 6, 7), v.ovVv, (5, 6, 8, 3), (0, 1, 4, 7, 8, 2)) - t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sv)], (4, 5, 6, 7), v.ovVv, (5, 7, 8, 2), (0, 1, 4, 6, 3, 8)) * -2.0 - t3new += einsum(t2[np.ix_(sO,sO,sv,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.ovVv, (5, 3, 8, 2), (0, 1, 4, 6, 7, 8)) - t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sv)], (4, 5, 6, 7), v.ovVv, (5, 7, 8, 2), (0, 1, 4, 8, 3, 6)) * 2.0 - t3new += einsum(t2[np.ix_(sO,sO,sv,sv)], (0, 1, 2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.ovVv, (5, 3, 8, 2), (0, 1, 4, 8, 7, 6)) * -1.0 - t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sv,sV)], (4, 5, 6, 7), v.ovVv, (5, 6, 8, 2), (0, 1, 4, 8, 3, 7)) * -1.0 - t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), t2[np.ix_(sO,so,sv,sV)], (4, 5, 6, 7), v.ovVv, (5, 6, 8, 2), (0, 1, 4, 7, 3, 8)) - t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), v.OvOV, (4, 3, 5, 6), t3, (4, 7, 5, 8, 9, 6), (0, 1, 7, 2, 8, 9)) * -0.5 - t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), v.OvOV, (4, 3, 5, 6), t3, (4, 7, 5, 8, 9, 6), (0, 1, 7, 9, 8, 2)) * 0.5 - t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), v.OvOV, (4, 2, 5, 6), t3, (7, 4, 5, 8, 9, 6), (0, 1, 7, 8, 3, 9)) * 0.5 - t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), v.OvOV, (4, 2, 5, 6), t3, (7, 4, 5, 8, 6, 9), (0, 1, 7, 8, 3, 9)) * -0.5 - t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), v.OvOV, (4, 2, 5, 6), t3, (7, 4, 5, 8, 9, 6), (0, 1, 7, 9, 3, 8)) * -0.5 - t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), v.OvOV, (4, 2, 5, 6), t3, (7, 5, 4, 8, 6, 9), (0, 1, 7, 8, 3, 9)) - t3new += einsum(t2[np.ix_(sO,sO,sv,sv)], (0, 1, 2, 3), v.OvOv, (4, 2, 5, 3), t3, (6, 5, 4, 7, 8, 9), (0, 1, 6, 7, 8, 9)) * -1.0 - t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), v.OVOv, (4, 5, 6, 3), t3, (7, 6, 4, 8, 9, 5), (0, 1, 7, 2, 9, 8)) * -1.0 - t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), v.OVOv, (4, 5, 6, 3), t3, (4, 7, 6, 8, 9, 5), (0, 1, 7, 2, 8, 9)) * 0.5 - t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), v.OVOv, (4, 5, 6, 3), t3, (7, 6, 4, 8, 9, 5), (0, 1, 7, 8, 9, 2)) - t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), v.OVOv, (4, 5, 6, 3), t3, (4, 7, 6, 8, 9, 5), (0, 1, 7, 9, 8, 2)) * -0.5 - t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), v.OVOv, (4, 5, 6, 2), t3, (7, 4, 6, 8, 9, 5), (0, 1, 7, 8, 3, 9)) * -0.5 - t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), v.OVOv, (4, 5, 6, 2), t3, (7, 4, 6, 8, 5, 9), (0, 1, 7, 8, 3, 9)) * 0.5 - t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), v.OVOv, (4, 5, 6, 2), t3, (7, 4, 6, 8, 9, 5), (0, 1, 7, 9, 3, 8)) * 0.5 - t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), v.OvOV, (4, 3, 5, 6), t3, (7, 4, 5, 8, 9, 6), (0, 7, 1, 2, 8, 9)) * -1.0 - t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), v.OvOV, (4, 3, 5, 6), t3, (4, 7, 5, 8, 9, 6), (0, 7, 1, 2, 9, 8)) * -0.5 - t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), v.OvOV, (4, 3, 5, 6), t3, (7, 4, 5, 8, 9, 6), (0, 7, 1, 9, 8, 2)) - t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), v.OvOV, (4, 3, 5, 6), t3, (4, 7, 5, 8, 9, 6), (0, 7, 1, 8, 9, 2)) * 0.5 - t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), v.OvOV, (4, 2, 5, 6), t3, (7, 4, 5, 8, 9, 6), (0, 7, 1, 3, 8, 9)) - t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), v.OvOV, (4, 2, 5, 6), t3, (7, 4, 5, 8, 9, 6), (0, 7, 1, 9, 8, 3)) * -1.0 - t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), v.OvOV, (4, 2, 5, 6), t3, (4, 7, 5, 8, 9, 6), (0, 7, 1, 3, 9, 8)) * 0.5 - t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), v.OvOV, (4, 2, 5, 6), t3, (4, 7, 5, 8, 9, 6), (0, 7, 1, 8, 9, 3)) * -0.5 - t3new += einsum(t2[np.ix_(sO,sO,sv,sv)], (0, 1, 2, 3), v.OvOv, (4, 2, 5, 3), t3, (4, 6, 5, 7, 8, 9), (0, 6, 1, 7, 8, 9)) * 0.5 - t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), v.OVOv, (4, 5, 6, 3), t3, (4, 7, 6, 8, 9, 5), (0, 7, 1, 2, 9, 8)) * 0.5 - t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), v.OVOv, (4, 5, 6, 3), t3, (4, 7, 6, 8, 9, 5), (0, 7, 1, 8, 9, 2)) * -0.5 - t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), v.OVOv, (4, 5, 6, 2), t3, (4, 7, 6, 8, 9, 5), (0, 7, 1, 3, 9, 8)) * -0.5 - t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), v.OVOv, (4, 5, 6, 2), t3, (4, 7, 6, 8, 9, 5), (0, 7, 1, 8, 9, 3)) * 0.5 - t3new += einsum(t2[np.ix_(sO,sO,sv,sv)], (0, 1, 2, 3), v.OvOv, (4, 3, 5, 2), t3, (4, 6, 5, 7, 8, 9), (0, 6, 1, 7, 8, 9)) * -0.5 - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.oVOV, (1, 4, 5, 6), t3, (7, 8, 5, 4, 9, 6), (0, 7, 8, 2, 3, 9)) * -0.5 - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.oVOV, (1, 4, 5, 6), t3, (7, 8, 5, 6, 9, 4), (0, 7, 8, 2, 3, 9)) * 0.5 - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.oVOV, (1, 4, 5, 6), t3, (7, 8, 5, 9, 4, 6), (0, 7, 8, 2, 9, 3)) * -1.0 - t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), v.ovOV, (1, 3, 4, 5), t3, (6, 7, 4, 8, 9, 5), (0, 6, 7, 2, 8, 9)) * 2.00000000000002 - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.oVOV, (1, 4, 5, 6), t3, (7, 8, 5, 4, 9, 6), (0, 8, 7, 2, 9, 3)) * -0.5 - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.oVOV, (1, 4, 5, 6), t3, (7, 8, 5, 6, 9, 4), (0, 8, 7, 2, 9, 3)) * 0.5 - t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), v.ovOV, (1, 3, 4, 5), t3, (6, 7, 4, 8, 9, 5), (0, 7, 6, 2, 9, 8)) * 2.00000000000002 - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.oVOV, (1, 4, 5, 6), t3, (7, 8, 5, 9, 4, 6), (0, 7, 8, 3, 9, 2)) - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.oVOV, (1, 4, 5, 6), t3, (7, 8, 5, 4, 9, 6), (0, 7, 8, 9, 3, 2)) * 0.5 - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.oVOV, (1, 4, 5, 6), t3, (7, 8, 5, 6, 9, 4), (0, 7, 8, 9, 3, 2)) * -0.5 - t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), v.ovOV, (1, 3, 4, 5), t3, (6, 7, 4, 8, 9, 5), (0, 6, 7, 9, 8, 2)) * -2.00000000000002 - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.oVOV, (1, 4, 5, 6), t3, (7, 8, 5, 4, 9, 6), (0, 8, 7, 3, 9, 2)) * 0.5 - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.oVOV, (1, 4, 5, 6), t3, (7, 8, 5, 6, 9, 4), (0, 8, 7, 3, 9, 2)) * -0.5 - t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), v.ovOV, (1, 3, 4, 5), t3, (6, 7, 4, 8, 9, 5), (0, 7, 6, 8, 9, 2)) * -2.00000000000002 - t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), v.ovOV, (1, 2, 4, 5), t3, (6, 7, 4, 8, 9, 5), (0, 6, 7, 3, 8, 9)) * -1.00000000000001 - t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), v.ovOV, (1, 2, 4, 5), t3, (6, 7, 4, 8, 9, 5), (0, 6, 7, 9, 8, 3)) * 1.00000000000001 - t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), v.ovOV, (1, 2, 4, 5), t3, (6, 7, 4, 8, 9, 5), (0, 7, 6, 3, 9, 8)) * -1.00000000000001 - t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), v.ovOV, (1, 2, 4, 5), t3, (6, 7, 4, 8, 9, 5), (0, 7, 6, 8, 9, 3)) * 1.00000000000001 - t3new += einsum(t2[np.ix_(sO,so,sv,sv)], (0, 1, 2, 3), v.ovOv, (1, 3, 4, 2), t3, (5, 6, 4, 7, 8, 9), (0, 6, 5, 7, 8, 9)) - t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), v.oVOv, (1, 4, 5, 3), t3, (6, 7, 5, 8, 9, 4), (0, 6, 7, 2, 8, 9)) * -1.00000000000001 - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.oVOV, (1, 4, 5, 6), t3, (7, 8, 5, 9, 4, 6), (0, 8, 7, 2, 3, 9)) * -1.0 - t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), v.oVOv, (1, 4, 5, 3), t3, (6, 7, 5, 8, 9, 4), (0, 7, 6, 2, 9, 8)) * -1.00000000000001 - t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), v.oVOv, (1, 4, 5, 3), t3, (6, 7, 5, 8, 9, 4), (0, 6, 7, 9, 8, 2)) * 1.00000000000001 - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.oVOV, (1, 4, 5, 6), t3, (7, 8, 5, 9, 4, 6), (0, 8, 7, 9, 3, 2)) - t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), v.oVOv, (1, 4, 5, 3), t3, (6, 7, 5, 8, 9, 4), (0, 7, 6, 8, 9, 2)) * 1.00000000000001 - t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), v.oVOv, (1, 4, 5, 2), t3, (6, 7, 5, 8, 9, 4), (0, 7, 6, 3, 9, 8)) * 1.00000000000001 - t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), v.oVOv, (1, 4, 5, 2), t3, (6, 7, 5, 8, 4, 9), (0, 7, 6, 8, 3, 9)) * -1.00000000000001 - t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), v.oVOv, (1, 4, 5, 2), t3, (6, 7, 5, 8, 9, 4), (0, 7, 6, 8, 9, 3)) * -1.00000000000001 - t3new += einsum(t2[np.ix_(sO,so,sv,sv)], (0, 1, 2, 3), v.ovOv, (1, 3, 4, 2), t3, (5, 6, 4, 7, 8, 9), (0, 6, 5, 7, 8, 9)) - t3new += einsum(t2[np.ix_(sO,so,sv,sv)], (0, 1, 2, 3), v.ovOv, (1, 2, 4, 3), t3, (5, 6, 4, 7, 8, 9), (0, 6, 5, 7, 8, 9)) * -1.0 - t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), v.OvOV, (4, 3, 5, 6), t3, (7, 4, 5, 8, 9, 6), (7, 0, 1, 8, 2, 9)) * -0.5 - t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), v.OvOV, (4, 3, 5, 6), t3, (7, 4, 5, 8, 6, 9), (7, 0, 1, 8, 2, 9)) * 0.5 - t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), v.OvOV, (4, 3, 5, 6), t3, (7, 4, 5, 8, 9, 6), (7, 0, 1, 9, 2, 8)) * 0.5 - t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), v.OvOV, (4, 3, 5, 6), t3, (7, 5, 4, 8, 6, 9), (7, 0, 1, 8, 2, 9)) * -1.0 - t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), v.OvOV, (4, 2, 5, 6), t3, (4, 7, 5, 8, 9, 6), (7, 0, 1, 3, 8, 9)) * 0.5 - t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), v.OvOV, (4, 2, 5, 6), t3, (4, 7, 5, 8, 9, 6), (7, 0, 1, 9, 8, 3)) * -0.5 - t3new += einsum(t2[np.ix_(sO,sO,sv,sv)], (0, 1, 2, 3), v.OvOv, (4, 3, 5, 2), t3, (6, 5, 4, 7, 8, 9), (6, 0, 1, 7, 8, 9)) - t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), v.OVOv, (4, 5, 6, 3), t3, (7, 4, 6, 8, 9, 5), (7, 0, 1, 8, 2, 9)) * 0.5 - t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), v.OVOv, (4, 5, 6, 3), t3, (7, 4, 6, 8, 5, 9), (7, 0, 1, 8, 2, 9)) * -0.5 - t3new += einsum(t2[np.ix_(sO,sO,sV,sv)], (0, 1, 2, 3), v.OVOv, (4, 5, 6, 3), t3, (7, 4, 6, 8, 9, 5), (7, 0, 1, 9, 2, 8)) * -0.5 - t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), v.OVOv, (4, 5, 6, 2), t3, (7, 6, 4, 8, 9, 5), (7, 0, 1, 3, 9, 8)) - t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), v.OVOv, (4, 5, 6, 2), t3, (7, 6, 4, 8, 9, 5), (7, 0, 1, 8, 9, 3)) * -1.0 - t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), v.OVOv, (4, 5, 6, 2), t3, (4, 7, 6, 8, 9, 5), (7, 0, 1, 3, 8, 9)) * -0.5 - t3new += einsum(t2[np.ix_(sO,sO,sv,sV)], (0, 1, 2, 3), v.OVOv, (4, 5, 6, 2), t3, (4, 7, 6, 8, 9, 5), (7, 0, 1, 9, 8, 3)) * 0.5 - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.oVOV, (1, 4, 5, 6), t3, (7, 5, 8, 9, 4, 6), (7, 0, 8, 3, 2, 9)) * -1.0 - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.oVOV, (1, 4, 5, 6), t3, (7, 5, 8, 9, 6, 4), (7, 0, 8, 3, 2, 9)) * 2.0 - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.oVOV, (1, 4, 5, 6), t3, (7, 5, 8, 4, 9, 6), (7, 0, 8, 3, 2, 9)) * 0.5 - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.oVOV, (1, 4, 5, 6), t3, (7, 5, 8, 6, 9, 4), (7, 0, 8, 3, 2, 9)) * -0.5 - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.oVOV, (1, 4, 5, 6), t3, (7, 5, 8, 9, 4, 6), (7, 0, 8, 9, 2, 3)) - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.oVOV, (1, 4, 5, 6), t3, (7, 5, 8, 9, 6, 4), (7, 0, 8, 9, 2, 3)) * -2.0 - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.oVOV, (1, 4, 5, 6), t3, (7, 5, 8, 4, 9, 6), (7, 0, 8, 9, 2, 3)) * -0.5 - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.oVOV, (1, 4, 5, 6), t3, (7, 5, 8, 6, 9, 4), (7, 0, 8, 9, 2, 3)) * 0.5 - t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), v.ovOV, (1, 3, 4, 5), t3, (6, 7, 4, 8, 9, 5), (6, 0, 7, 8, 2, 9)) * 2.00000000000002 - t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), v.ovOV, (1, 3, 4, 5), t3, (6, 7, 4, 8, 5, 9), (6, 0, 7, 8, 2, 9)) * -2.00000000000002 - t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), v.ovOV, (1, 3, 4, 5), t3, (6, 7, 4, 8, 9, 5), (6, 0, 7, 9, 2, 8)) * -2.00000000000002 - t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), v.ovOV, (1, 3, 4, 5), t3, (6, 4, 7, 8, 5, 9), (6, 0, 7, 8, 2, 9)) * 2.00000000000002 - t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), v.ovOV, (1, 2, 4, 5), t3, (6, 7, 4, 8, 9, 5), (6, 0, 7, 8, 3, 9)) * -1.00000000000001 - t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), v.ovOV, (1, 2, 4, 5), t3, (6, 7, 4, 8, 5, 9), (6, 0, 7, 8, 3, 9)) * 1.00000000000001 - t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), v.ovOV, (1, 2, 4, 5), t3, (6, 7, 4, 8, 9, 5), (6, 0, 7, 9, 3, 8)) * 1.00000000000001 - t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), v.ovOV, (1, 2, 4, 5), t3, (6, 4, 7, 8, 5, 9), (6, 0, 7, 8, 3, 9)) * -1.00000000000001 - t3new += einsum(t2[np.ix_(sO,so,sv,sv)], (0, 1, 2, 3), v.ovOv, (1, 3, 4, 2), t3, (5, 4, 6, 7, 8, 9), (5, 0, 6, 7, 8, 9)) * -2.0 - t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), v.oVOv, (1, 4, 5, 3), t3, (6, 7, 5, 8, 9, 4), (6, 0, 7, 8, 2, 9)) * -1.00000000000001 - t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), v.oVOv, (1, 4, 5, 3), t3, (6, 7, 5, 8, 4, 9), (6, 0, 7, 8, 2, 9)) * 1.00000000000001 - t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), v.oVOv, (1, 4, 5, 3), t3, (6, 7, 5, 8, 9, 4), (6, 0, 7, 9, 2, 8)) * 1.00000000000001 - t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), v.oVOv, (1, 4, 5, 3), t3, (6, 5, 7, 8, 4, 9), (6, 0, 7, 8, 2, 9)) * -1.00000000000001 - t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), v.oVOv, (1, 4, 5, 2), t3, (6, 5, 7, 8, 9, 4), (6, 0, 7, 3, 9, 8)) * -1.00000000000001 - t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), v.oVOv, (1, 4, 5, 2), t3, (6, 5, 7, 8, 4, 9), (6, 0, 7, 8, 3, 9)) * 1.00000000000001 - t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), v.oVOv, (1, 4, 5, 2), t3, (6, 5, 7, 8, 9, 4), (6, 0, 7, 8, 9, 3)) * 1.00000000000001 - t3new += einsum(t2[np.ix_(sO,so,sv,sv)], (0, 1, 2, 3), v.ovOv, (1, 2, 4, 3), t3, (5, 4, 6, 7, 8, 9), (5, 0, 6, 7, 8, 9)) - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.oVOV, (1, 4, 5, 6), t3, (7, 8, 5, 4, 9, 6), (7, 8, 0, 2, 9, 3)) * 0.5 - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.oVOV, (1, 4, 5, 6), t3, (7, 8, 5, 6, 9, 4), (7, 8, 0, 2, 9, 3)) * -0.5 - t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), v.ovOV, (1, 3, 4, 5), t3, (6, 7, 4, 8, 9, 5), (6, 7, 0, 2, 9, 8)) * -2.00000000000002 - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.oVOV, (1, 4, 5, 6), t3, (7, 8, 5, 4, 9, 6), (8, 7, 0, 2, 3, 9)) * 0.5 - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.oVOV, (1, 4, 5, 6), t3, (7, 8, 5, 6, 9, 4), (8, 7, 0, 2, 3, 9)) * -0.5 - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.oVOV, (1, 4, 5, 6), t3, (7, 8, 5, 9, 4, 6), (8, 7, 0, 2, 9, 3)) - t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), v.ovOV, (1, 3, 4, 5), t3, (6, 7, 4, 8, 9, 5), (7, 6, 0, 2, 8, 9)) * -2.00000000000002 - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.oVOV, (1, 4, 5, 6), t3, (7, 8, 5, 4, 9, 6), (7, 8, 0, 3, 9, 2)) * -0.5 - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.oVOV, (1, 4, 5, 6), t3, (7, 8, 5, 6, 9, 4), (7, 8, 0, 3, 9, 2)) * 0.5 - t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), v.ovOV, (1, 3, 4, 5), t3, (6, 7, 4, 8, 9, 5), (6, 7, 0, 8, 9, 2)) * 2.00000000000002 - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.oVOV, (1, 4, 5, 6), t3, (7, 8, 5, 9, 4, 6), (8, 7, 0, 3, 9, 2)) * -1.0 - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.oVOV, (1, 4, 5, 6), t3, (7, 8, 5, 4, 9, 6), (8, 7, 0, 9, 3, 2)) * -0.5 - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.oVOV, (1, 4, 5, 6), t3, (7, 8, 5, 6, 9, 4), (8, 7, 0, 9, 3, 2)) * 0.5 - t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), v.ovOV, (1, 3, 4, 5), t3, (6, 7, 4, 8, 9, 5), (7, 6, 0, 9, 8, 2)) * 2.00000000000002 - t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), v.ovOV, (1, 2, 4, 5), t3, (6, 7, 4, 8, 9, 5), (6, 7, 0, 3, 9, 8)) * 1.00000000000001 - t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), v.ovOV, (1, 2, 4, 5), t3, (6, 7, 4, 8, 9, 5), (6, 7, 0, 8, 9, 3)) * -1.00000000000001 - t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), v.ovOV, (1, 2, 4, 5), t3, (6, 7, 4, 8, 9, 5), (7, 6, 0, 3, 8, 9)) * 1.00000000000001 - t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), v.ovOV, (1, 2, 4, 5), t3, (6, 7, 4, 8, 9, 5), (7, 6, 0, 9, 8, 3)) * -1.00000000000001 - t3new += einsum(t2[np.ix_(sO,so,sv,sv)], (0, 1, 2, 3), v.ovOv, (1, 3, 4, 2), t3, (5, 6, 4, 7, 8, 9), (5, 6, 0, 7, 8, 9)) * -1.0 - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.oVOV, (1, 4, 5, 6), t3, (7, 8, 5, 9, 4, 6), (7, 8, 0, 2, 3, 9)) - t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), v.oVOv, (1, 4, 5, 3), t3, (6, 7, 5, 8, 9, 4), (6, 7, 0, 2, 9, 8)) * 1.00000000000001 - t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), v.oVOv, (1, 4, 5, 3), t3, (6, 7, 5, 8, 9, 4), (7, 6, 0, 2, 8, 9)) * 1.00000000000001 - t3new += einsum(t2[np.ix_(sO,so,sV,sV)], (0, 1, 2, 3), v.oVOV, (1, 4, 5, 6), t3, (7, 8, 5, 9, 4, 6), (7, 8, 0, 9, 3, 2)) * -1.0 - t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), v.oVOv, (1, 4, 5, 3), t3, (6, 7, 5, 8, 9, 4), (6, 7, 0, 8, 9, 2)) * -1.00000000000001 - t3new += einsum(t2[np.ix_(sO,so,sV,sv)], (0, 1, 2, 3), v.oVOv, (1, 4, 5, 3), t3, (6, 7, 5, 8, 9, 4), (7, 6, 0, 9, 8, 2)) * -1.00000000000001 - t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), v.oVOv, (1, 4, 5, 2), t3, (6, 7, 5, 8, 9, 4), (6, 7, 0, 3, 9, 8)) * -1.00000000000001 - t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), v.oVOv, (1, 4, 5, 2), t3, (6, 7, 5, 8, 4, 9), (6, 7, 0, 8, 3, 9)) * 1.00000000000001 - t3new += einsum(t2[np.ix_(sO,so,sv,sV)], (0, 1, 2, 3), v.oVOv, (1, 4, 5, 2), t3, (6, 7, 5, 8, 9, 4), (6, 7, 0, 8, 9, 3)) * 1.00000000000001 - t3new += einsum(t2[np.ix_(sO,so,sv,sv)], (0, 1, 2, 3), v.ovOv, (1, 3, 4, 2), t3, (5, 6, 4, 7, 8, 9), (5, 6, 0, 7, 8, 9)) * -1.0 - t3new += einsum(t2[np.ix_(sO,so,sv,sv)], (0, 1, 2, 3), v.ovOv, (1, 2, 4, 3), t3, (5, 6, 4, 7, 8, 9), (5, 6, 0, 7, 8, 9)) - t3new += einsum(t2[np.ix_(so,so,sV,sV)], (0, 1, 2, 3), v.oVoV, (0, 4, 1, 5), t3, (6, 7, 8, 9, 5, 4), (6, 7, 8, 2, 3, 9)) * -1.0 - t3new += einsum(t2[np.ix_(so,so,sV,sV)], (0, 1, 2, 3), v.oVoV, (0, 4, 1, 5), t3, (6, 7, 8, 4, 9, 5), (6, 7, 8, 2, 9, 3)) * 0.25 - t3new += einsum(t2[np.ix_(so,so,sV,sV)], (0, 1, 2, 3), v.oVoV, (0, 4, 1, 5), t3, (6, 7, 8, 5, 9, 4), (6, 7, 8, 2, 9, 3)) * -0.25 - t3new += einsum(t2[np.ix_(so,so,sV,sv)], (0, 1, 2, 3), v.ovoV, (0, 3, 1, 4), t3, (5, 6, 7, 8, 9, 4), (5, 6, 7, 2, 9, 8)) * -0.5 - t3new += einsum(t2[np.ix_(so,so,sV,sv)], (0, 1, 2, 3), v.ovoV, (0, 3, 1, 4), t3, (5, 6, 7, 8, 4, 9), (5, 6, 7, 8, 2, 9)) * 0.5 - t3new += einsum(t2[np.ix_(so,so,sV,sV)], (0, 1, 2, 3), v.oVoV, (0, 4, 1, 5), t3, (6, 7, 8, 4, 9, 5), (6, 7, 8, 3, 9, 2)) * -0.25 - t3new += einsum(t2[np.ix_(so,so,sV,sV)], (0, 1, 2, 3), v.oVoV, (0, 4, 1, 5), t3, (6, 7, 8, 5, 9, 4), (6, 7, 8, 3, 9, 2)) * 0.25 - t3new += einsum(t2[np.ix_(so,so,sV,sV)], (0, 1, 2, 3), v.oVoV, (0, 4, 1, 5), t3, (6, 7, 8, 9, 5, 4), (6, 7, 8, 9, 3, 2)) - t3new += einsum(t2[np.ix_(so,so,sV,sv)], (0, 1, 2, 3), v.ovoV, (0, 3, 1, 4), t3, (5, 6, 7, 8, 9, 4), (5, 6, 7, 8, 9, 2)) * 0.5 - t3new += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), v.ovoV, (0, 2, 1, 4), t3, (5, 6, 7, 8, 9, 4), (5, 6, 7, 3, 9, 8)) * 0.5 - t3new += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), v.ovoV, (0, 2, 1, 4), t3, (5, 6, 7, 8, 4, 9), (5, 6, 7, 8, 3, 9)) * -1.5 - t3new += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), v.ovoV, (0, 2, 1, 4), t3, (5, 6, 7, 8, 9, 4), (5, 6, 7, 8, 9, 3)) * -0.5 - t3new += einsum(t2[np.ix_(so,so,sV,sv)], (0, 1, 2, 3), v.oVov, (0, 4, 1, 3), t3, (5, 6, 7, 8, 9, 4), (5, 6, 7, 2, 9, 8)) * 1.5 - t3new += einsum(t2[np.ix_(so,so,sV,sv)], (0, 1, 2, 3), v.oVov, (0, 4, 1, 3), t3, (5, 6, 7, 8, 4, 9), (5, 6, 7, 8, 2, 9)) * -0.5 - t3new += einsum(t2[np.ix_(so,so,sV,sv)], (0, 1, 2, 3), v.oVov, (0, 4, 1, 3), t3, (5, 6, 7, 8, 9, 4), (5, 6, 7, 8, 9, 2)) * -1.5 - t3new += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), v.oVov, (0, 4, 1, 2), t3, (5, 6, 7, 8, 9, 4), (5, 6, 7, 3, 9, 8)) * -0.5 - t3new += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), v.oVov, (0, 4, 1, 2), t3, (5, 6, 7, 8, 4, 9), (5, 6, 7, 8, 3, 9)) * 0.5 - t3new += einsum(t2[np.ix_(so,so,sv,sV)], (0, 1, 2, 3), v.oVov, (0, 4, 1, 2), t3, (5, 6, 7, 8, 9, 4), (5, 6, 7, 8, 9, 3)) * 0.5 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 2, 5, 1), (0, 4, 8, 3, 6, 7)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 2, 1), (0, 4, 8, 3, 6, 7)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 2, 1), (0, 8, 4, 3, 7, 6)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 2, 5, 1), (0, 8, 4, 6, 3, 7)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 2, 5, 1), (0, 8, 4, 7, 3, 6)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 2, 5, 1), (0, 4, 8, 7, 6, 3)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 2, 1), (0, 4, 8, 7, 6, 3)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 2, 1), (0, 8, 4, 6, 7, 3)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 2, 5, 1), (4, 0, 8, 3, 7, 6)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 2, 5, 1), (8, 0, 4, 3, 7, 6)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 2, 1), (4, 0, 8, 6, 3, 7)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 2, 1), (4, 0, 8, 7, 3, 6)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 2, 1), (8, 0, 4, 6, 3, 7)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 2, 1), (8, 0, 4, 7, 3, 6)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 2, 5, 1), (4, 0, 8, 6, 7, 3)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 2, 5, 1), (8, 0, 4, 6, 7, 3)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 2, 1), (4, 8, 0, 3, 7, 6)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 2, 5, 1), (8, 4, 0, 3, 6, 7)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 2, 1), (8, 4, 0, 3, 6, 7)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 2, 5, 1), (4, 8, 0, 6, 3, 7)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 2, 5, 1), (4, 8, 0, 7, 3, 6)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 2, 1), (4, 8, 0, 6, 7, 3)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 2, 5, 1), (8, 4, 0, 7, 6, 3)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.Ooov, (8, 5, 2, 1), (8, 4, 0, 7, 6, 3)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sV,sv)], (4, 5, 6, 7), v.Ooov, (8, 2, 0, 7), (4, 8, 5, 1, 3, 6)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sv,sV)], (4, 5, 6, 7), v.Ooov, (8, 2, 0, 6), (4, 8, 5, 1, 3, 7)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sV,sv)], (4, 5, 6, 7), v.Ooov, (8, 0, 2, 7), (4, 5, 8, 1, 3, 6)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sv,sV)], (4, 5, 6, 7), v.Ooov, (8, 0, 2, 6), (8, 4, 5, 1, 3, 7)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sv,sV)], (4, 5, 6, 7), v.Ooov, (8, 0, 2, 6), (4, 5, 8, 1, 7, 3)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sv,sV)], (4, 5, 6, 7), v.Ooov, (8, 2, 0, 6), (4, 5, 8, 1, 7, 3)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sV,sv)], (4, 5, 6, 7), v.Ooov, (8, 0, 2, 7), (8, 4, 5, 1, 6, 3)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sV,sv)], (4, 5, 6, 7), v.Ooov, (8, 2, 0, 7), (8, 4, 5, 1, 6, 3)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sV,sv)], (4, 5, 6, 7), v.Ooov, (8, 0, 2, 7), (4, 8, 5, 6, 1, 3)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sv,sV)], (4, 5, 6, 7), v.Ooov, (8, 0, 2, 6), (4, 8, 5, 7, 1, 3)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sV,sv)], (4, 5, 6, 7), v.Ooov, (8, 2, 0, 7), (4, 5, 8, 6, 1, 3)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sv,sV)], (4, 5, 6, 7), v.Ooov, (8, 2, 0, 6), (8, 4, 5, 7, 1, 3)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(sO,sv)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.ovVv, (5, 1, 8, 3), (0, 2, 4, 6, 8, 7)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(sO,sv)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.ovVv, (5, 1, 8, 3), (0, 2, 4, 7, 8, 6)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(sO,sv)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.ovVv, (5, 3, 8, 1), (0, 2, 4, 6, 7, 8)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(sO,sv)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.ovVv, (5, 3, 8, 1), (0, 2, 4, 8, 7, 6)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(sO,sv)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.ovVv, (5, 1, 8, 3), (0, 4, 2, 8, 6, 7)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(sO,sv)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.ovVv, (5, 1, 8, 3), (0, 4, 2, 7, 6, 8)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(sO,sv)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.ovVv, (5, 3, 8, 1), (0, 4, 2, 8, 6, 7)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(sO,sv)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.ovVv, (5, 3, 8, 1), (0, 4, 2, 7, 6, 8)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sV,sv)], (4, 5, 6, 7), v.ovVv, (2, 1, 8, 7), (0, 4, 5, 3, 6, 8)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sv,sV)], (4, 5, 6, 7), v.ovVv, (2, 1, 8, 6), (0, 4, 5, 3, 8, 7)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sV,sv)], (4, 5, 6, 7), v.ovVv, (2, 7, 8, 1), (0, 4, 5, 3, 6, 8)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sv,sV)], (4, 5, 6, 7), v.ovVv, (2, 6, 8, 1), (0, 4, 5, 8, 3, 7)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sv,sV)], (4, 5, 6, 7), v.ovVv, (2, 6, 8, 1), (0, 4, 5, 7, 3, 8)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sV,sv)], (4, 5, 6, 7), v.ovVv, (2, 1, 8, 7), (0, 4, 5, 8, 6, 3)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sv,sV)], (4, 5, 6, 7), v.ovVv, (2, 1, 8, 6), (0, 4, 5, 7, 8, 3)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sV,sv)], (4, 5, 6, 7), v.ovVv, (2, 7, 8, 1), (0, 4, 5, 8, 6, 3)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(sO,sv)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.ovVv, (5, 1, 8, 3), (4, 0, 2, 6, 7, 8)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(sO,sv)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.ovVv, (5, 1, 8, 3), (4, 0, 2, 8, 7, 6)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(sO,sv)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.ovVv, (5, 3, 8, 1), (4, 0, 2, 6, 8, 7)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(sO,sv)], (2, 3), t2[np.ix_(sO,so,sV,sV)], (4, 5, 6, 7), v.ovVv, (5, 3, 8, 1), (4, 0, 2, 7, 8, 6)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sV,sv)], (4, 5, 6, 7), v.ovVv, (2, 7, 8, 1), (4, 0, 5, 3, 8, 6)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sv,sV)], (4, 5, 6, 7), v.ovVv, (2, 6, 8, 1), (4, 0, 5, 3, 8, 7)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sV,sv)], (4, 5, 6, 7), v.ovVv, (2, 1, 8, 7), (4, 0, 5, 6, 3, 8)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sV,sv)], (4, 5, 6, 7), v.ovVv, (2, 1, 8, 7), (4, 0, 5, 8, 3, 6)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sv,sV)], (4, 5, 6, 7), v.ovVv, (2, 1, 8, 6), (4, 0, 5, 8, 3, 7)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sv,sV)], (4, 5, 6, 7), v.ovVv, (2, 1, 8, 6), (4, 0, 5, 7, 3, 8)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sV,sv)], (4, 5, 6, 7), v.ovVv, (2, 7, 8, 1), (4, 0, 5, 6, 8, 3)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sv,sV)], (4, 5, 6, 7), v.ovVv, (2, 6, 8, 1), (4, 0, 5, 7, 8, 3)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sV,sv)], (4, 5, 6, 7), v.ovVv, (2, 1, 8, 7), (4, 5, 0, 3, 8, 6)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sv,sV)], (4, 5, 6, 7), v.ovVv, (2, 1, 8, 6), (4, 5, 0, 3, 7, 8)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sv,sV)], (4, 5, 6, 7), v.ovVv, (2, 6, 8, 1), (4, 5, 0, 3, 7, 8)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sV,sv)], (4, 5, 6, 7), v.ovVv, (2, 7, 8, 1), (4, 5, 0, 6, 3, 8)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sV,sv)], (4, 5, 6, 7), v.ovVv, (2, 7, 8, 1), (4, 5, 0, 8, 3, 6)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sV,sv)], (4, 5, 6, 7), v.ovVv, (2, 1, 8, 7), (4, 5, 0, 6, 8, 3)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sv,sV)], (4, 5, 6, 7), v.ovVv, (2, 1, 8, 6), (4, 5, 0, 8, 7, 3)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t2[np.ix_(sO,sO,sv,sV)], (4, 5, 6, 7), v.ovVv, (2, 6, 8, 1), (4, 5, 0, 8, 7, 3)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(sO,sv)], (2, 3), v.OvOv, (4, 1, 5, 3), t3, (6, 5, 4, 7, 8, 9), (0, 2, 6, 7, 8, 9)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(sO,sv)], (2, 3), v.OvOv, (4, 1, 5, 3), t3, (4, 6, 5, 7, 8, 9), (0, 6, 2, 7, 8, 9)) * 0.5 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(sO,sv)], (2, 3), v.OvOv, (4, 3, 5, 1), t3, (4, 6, 5, 7, 8, 9), (0, 6, 2, 7, 8, 9)) * -0.5 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), v.ovOV, (2, 1, 4, 5), t3, (6, 7, 4, 8, 9, 5), (0, 6, 7, 3, 8, 9)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), v.ovOV, (2, 1, 4, 5), t3, (6, 7, 4, 8, 9, 5), (0, 7, 6, 3, 9, 8)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), v.oVOv, (2, 4, 5, 1), t3, (6, 7, 5, 8, 9, 4), (0, 7, 6, 3, 9, 8)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), v.oVOv, (2, 4, 5, 1), t3, (6, 7, 5, 8, 4, 9), (0, 7, 6, 8, 3, 9)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), v.ovOV, (2, 1, 4, 5), t3, (6, 7, 4, 8, 9, 5), (0, 6, 7, 9, 8, 3)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), v.ovOV, (2, 1, 4, 5), t3, (6, 7, 4, 8, 9, 5), (0, 7, 6, 8, 9, 3)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), v.oVOv, (2, 4, 5, 1), t3, (6, 7, 5, 8, 9, 4), (0, 7, 6, 8, 9, 3)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), v.ovOv, (2, 1, 4, 3), t3, (5, 6, 4, 7, 8, 9), (0, 6, 5, 7, 8, 9)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), v.ovOv, (2, 3, 4, 1), t3, (5, 6, 4, 7, 8, 9), (0, 6, 5, 7, 8, 9)) * 2.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(sO,sv)], (2, 3), v.OvOv, (4, 3, 5, 1), t3, (6, 5, 4, 7, 8, 9), (6, 0, 2, 7, 8, 9)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), v.oVOv, (2, 4, 5, 1), t3, (6, 5, 7, 8, 9, 4), (6, 0, 7, 3, 9, 8)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), v.ovOV, (2, 1, 4, 5), t3, (6, 7, 4, 8, 9, 5), (6, 0, 7, 8, 3, 9)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), v.ovOV, (2, 1, 4, 5), t3, (6, 7, 4, 8, 9, 5), (6, 0, 7, 9, 3, 8)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), v.ovOV, (2, 1, 4, 5), t3, (6, 7, 4, 8, 5, 9), (6, 0, 7, 8, 3, 9)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), v.ovOV, (2, 1, 4, 5), t3, (6, 4, 7, 8, 5, 9), (6, 0, 7, 8, 3, 9)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), v.oVOv, (2, 4, 5, 1), t3, (6, 5, 7, 8, 4, 9), (6, 0, 7, 8, 3, 9)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), v.oVOv, (2, 4, 5, 1), t3, (6, 5, 7, 8, 9, 4), (6, 0, 7, 8, 9, 3)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), v.ovOv, (2, 1, 4, 3), t3, (5, 4, 6, 7, 8, 9), (5, 0, 6, 7, 8, 9)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), v.ovOv, (2, 3, 4, 1), t3, (5, 4, 6, 7, 8, 9), (5, 0, 6, 7, 8, 9)) * -2.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), v.ovOV, (2, 1, 4, 5), t3, (6, 7, 4, 8, 9, 5), (6, 7, 0, 3, 9, 8)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), v.ovOV, (2, 1, 4, 5), t3, (6, 7, 4, 8, 9, 5), (7, 6, 0, 3, 8, 9)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), v.oVOv, (2, 4, 5, 1), t3, (6, 7, 5, 8, 9, 4), (6, 7, 0, 3, 9, 8)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), v.oVOv, (2, 4, 5, 1), t3, (6, 7, 5, 8, 4, 9), (6, 7, 0, 8, 3, 9)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), v.ovOV, (2, 1, 4, 5), t3, (6, 7, 4, 8, 9, 5), (6, 7, 0, 8, 9, 3)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), v.ovOV, (2, 1, 4, 5), t3, (6, 7, 4, 8, 9, 5), (7, 6, 0, 9, 8, 3)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), v.oVOv, (2, 4, 5, 1), t3, (6, 7, 5, 8, 9, 4), (6, 7, 0, 8, 9, 3)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), v.ovOv, (2, 1, 4, 3), t3, (5, 6, 4, 7, 8, 9), (5, 6, 0, 7, 8, 9)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sv)], (2, 3), v.ovOv, (2, 3, 4, 1), t3, (5, 6, 4, 7, 8, 9), (5, 6, 0, 7, 8, 9)) * -2.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t1[np.ix_(so,sV)], (2, 3), v.oVoV, (0, 4, 2, 5), t3, (6, 7, 8, 9, 5, 4), (6, 7, 8, 1, 3, 9)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t1[np.ix_(so,sV)], (2, 3), v.oVoV, (0, 4, 2, 5), t3, (6, 7, 8, 5, 9, 4), (6, 7, 8, 1, 9, 3)) * -0.5 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t1[np.ix_(so,sV)], (2, 3), v.oVoV, (0, 4, 2, 5), t3, (6, 7, 8, 4, 9, 5), (6, 7, 8, 1, 9, 3)) * 0.5 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t1[np.ix_(so,sV)], (2, 3), v.oVoV, (0, 4, 2, 5), t3, (6, 7, 8, 9, 4, 5), (6, 7, 8, 9, 1, 3)) - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), v.ovoV, (0, 1, 2, 4), t3, (5, 6, 7, 8, 9, 4), (5, 6, 7, 3, 9, 8)) * 2.0 - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), v.oVov, (0, 4, 2, 1), t3, (5, 6, 7, 8, 9, 4), (5, 6, 7, 3, 9, 8)) * -1.0 - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), v.ovoV, (0, 1, 2, 4), t3, (5, 6, 7, 8, 4, 9), (5, 6, 7, 8, 3, 9)) * -2.0 - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), v.oVov, (0, 4, 2, 1), t3, (5, 6, 7, 8, 4, 9), (5, 6, 7, 8, 3, 9)) - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), v.ovoV, (0, 1, 2, 4), t3, (5, 6, 7, 8, 9, 4), (5, 6, 7, 8, 9, 3)) * -2.0 - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), v.oVov, (0, 4, 2, 1), t3, (5, 6, 7, 8, 9, 4), (5, 6, 7, 8, 9, 3)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (3, 5, 7, 1), (0, 2, 6, 8, 4, 9)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (3, 5, 7, 1), (0, 2, 6, 9, 4, 8)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (3, 4, 7, 1), (0, 2, 6, 8, 5, 9)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (3, 4, 7, 1), (0, 2, 6, 9, 5, 8)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sv)], (6, 7, 8, 9), v.ovov, (7, 1, 3, 9), (0, 2, 6, 8, 4, 5)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (7, 1, 3, 5), (0, 2, 6, 8, 4, 9)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sv)], (6, 7, 8, 9), v.ovov, (7, 1, 3, 9), (0, 2, 6, 5, 4, 8)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (7, 1, 3, 5), (0, 2, 6, 9, 4, 8)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sv,sV)], (6, 7, 8, 9), v.ovov, (7, 1, 3, 8), (0, 2, 6, 5, 4, 9)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sv,sV)], (6, 7, 8, 9), v.ovov, (7, 1, 3, 8), (0, 2, 6, 9, 4, 5)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sv)], (6, 7, 8, 9), v.ovov, (7, 9, 3, 1), (0, 2, 6, 8, 4, 5)) * 2.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (7, 5, 3, 1), (0, 2, 6, 8, 4, 9)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sv)], (6, 7, 8, 9), v.ovov, (7, 9, 3, 1), (0, 2, 6, 5, 4, 8)) * -2.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (7, 5, 3, 1), (0, 2, 6, 9, 4, 8)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sv,sV)], (6, 7, 8, 9), v.ovov, (7, 8, 3, 1), (0, 2, 6, 5, 4, 9)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sv,sV)], (6, 7, 8, 9), v.ovov, (7, 8, 3, 1), (0, 2, 6, 9, 4, 5)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (7, 4, 3, 1), (0, 2, 6, 8, 9, 5)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (7, 4, 3, 1), (0, 2, 6, 5, 9, 8)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), t2[np.ix_(so,so,sV,sV)], (6, 7, 8, 9), v.ovov, (6, 1, 7, 5), (0, 2, 3, 8, 4, 9)) * 0.5 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), t2[np.ix_(so,so,sV,sV)], (6, 7, 8, 9), v.ovov, (6, 1, 7, 5), (0, 2, 3, 9, 4, 8)) * -0.5 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), t2[np.ix_(so,so,sV,sV)], (6, 7, 8, 9), v.ovov, (6, 1, 7, 4), (0, 2, 3, 8, 9, 5)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), t2[np.ix_(so,so,sV,sV)], (6, 7, 8, 9), v.ovov, (6, 1, 7, 4), (0, 2, 3, 5, 9, 8)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), t2[np.ix_(so,so,sV,sV)], (6, 7, 8, 9), v.ovov, (6, 5, 7, 1), (0, 2, 3, 8, 4, 9)) * -0.5 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), t2[np.ix_(so,so,sV,sV)], (6, 7, 8, 9), v.ovov, (6, 5, 7, 1), (0, 2, 3, 9, 4, 8)) * 0.5 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sv)], (6, 7, 8, 9), v.ovov, (3, 1, 7, 9), (2, 0, 6, 4, 5, 8)) * -2.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (3, 1, 7, 5), (2, 0, 6, 4, 9, 8)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sv,sV)], (6, 7, 8, 9), v.ovov, (3, 1, 7, 8), (2, 0, 6, 4, 5, 9)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sv)], (6, 7, 8, 9), v.ovov, (3, 1, 7, 9), (2, 0, 6, 8, 5, 4)) * 2.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (3, 1, 7, 5), (2, 0, 6, 8, 9, 4)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sv,sV)], (6, 7, 8, 9), v.ovov, (3, 1, 7, 8), (2, 0, 6, 9, 5, 4)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (3, 1, 7, 4), (2, 0, 6, 8, 5, 9)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (3, 1, 7, 4), (2, 0, 6, 9, 5, 8)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sv)], (6, 7, 8, 9), v.ovov, (3, 9, 7, 1), (2, 0, 6, 4, 5, 8)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (3, 5, 7, 1), (2, 0, 6, 4, 9, 8)) * -2.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sv,sV)], (6, 7, 8, 9), v.ovov, (3, 8, 7, 1), (2, 0, 6, 4, 9, 5)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sv)], (6, 7, 8, 9), v.ovov, (3, 9, 7, 1), (2, 0, 6, 8, 5, 4)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (3, 5, 7, 1), (2, 0, 6, 8, 9, 4)) * 2.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sv,sV)], (6, 7, 8, 9), v.ovov, (3, 8, 7, 1), (2, 0, 6, 5, 9, 4)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (3, 4, 7, 1), (2, 0, 6, 8, 9, 5)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (3, 4, 7, 1), (2, 0, 6, 5, 9, 8)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), t2[np.ix_(so,so,sV,sV)], (6, 7, 8, 9), v.ovov, (6, 5, 7, 1), (2, 0, 3, 4, 9, 8)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), t2[np.ix_(so,so,sV,sV)], (6, 7, 8, 9), v.ovov, (6, 5, 7, 1), (2, 0, 3, 8, 9, 4)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), t2[np.ix_(so,so,sV,sV)], (6, 7, 8, 9), v.ovov, (6, 4, 7, 1), (2, 0, 3, 8, 9, 5)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), t2[np.ix_(so,so,sV,sV)], (6, 7, 8, 9), v.ovov, (6, 4, 7, 1), (2, 0, 3, 5, 9, 8)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sv)], (6, 7, 8, 9), v.ovov, (3, 1, 7, 9), (2, 6, 0, 4, 8, 5)) * -2.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (3, 1, 7, 5), (2, 6, 0, 4, 8, 9)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sv,sV)], (6, 7, 8, 9), v.ovov, (3, 1, 7, 8), (2, 6, 0, 4, 9, 5)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sv)], (6, 7, 8, 9), v.ovov, (3, 1, 7, 9), (2, 6, 0, 5, 8, 4)) * 2.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (3, 1, 7, 5), (2, 6, 0, 9, 8, 4)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sv,sV)], (6, 7, 8, 9), v.ovov, (3, 1, 7, 8), (2, 6, 0, 5, 9, 4)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (3, 1, 7, 4), (2, 6, 0, 5, 8, 9)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (3, 1, 7, 4), (2, 6, 0, 9, 8, 5)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sv)], (6, 7, 8, 9), v.ovov, (3, 9, 7, 1), (2, 6, 0, 4, 8, 5)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (3, 5, 7, 1), (2, 6, 0, 4, 8, 9)) * -2.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sv,sV)], (6, 7, 8, 9), v.ovov, (3, 8, 7, 1), (2, 6, 0, 4, 5, 9)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sv)], (6, 7, 8, 9), v.ovov, (3, 9, 7, 1), (2, 6, 0, 5, 8, 4)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (3, 5, 7, 1), (2, 6, 0, 9, 8, 4)) * 2.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sv,sV)], (6, 7, 8, 9), v.ovov, (3, 8, 7, 1), (2, 6, 0, 9, 5, 4)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (3, 4, 7, 1), (2, 6, 0, 5, 8, 9)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,so,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (3, 4, 7, 1), (2, 6, 0, 9, 8, 5)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), t2[np.ix_(so,so,sV,sV)], (6, 7, 8, 9), v.ovov, (6, 1, 7, 5), (2, 3, 0, 4, 9, 8)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), t2[np.ix_(so,so,sV,sV)], (6, 7, 8, 9), v.ovov, (6, 1, 7, 5), (2, 3, 0, 8, 9, 4)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), t2[np.ix_(so,so,sV,sV)], (6, 7, 8, 9), v.ovov, (6, 1, 7, 4), (2, 3, 0, 8, 5, 9)) * -0.5 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), t2[np.ix_(so,so,sV,sV)], (6, 7, 8, 9), v.ovov, (6, 1, 7, 4), (2, 3, 0, 9, 5, 8)) * 0.5 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), t2[np.ix_(so,so,sV,sV)], (6, 7, 8, 9), v.ovov, (6, 4, 7, 1), (2, 3, 0, 8, 5, 9)) * 0.5 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), t2[np.ix_(so,so,sV,sV)], (6, 7, 8, 9), v.ovov, (6, 4, 7, 1), (2, 3, 0, 9, 5, 8)) * -0.5 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sv)], (6, 7, 8, 9), v.ovov, (0, 5, 7, 9), (2, 6, 3, 1, 8, 4)) * 2.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sv,sV)], (6, 7, 8, 9), v.ovov, (0, 5, 7, 8), (2, 6, 3, 1, 9, 4)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sv)], (6, 7, 8, 9), v.ovov, (0, 4, 7, 9), (2, 6, 3, 1, 8, 5)) * -2.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (0, 4, 7, 5), (2, 6, 3, 1, 8, 9)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sv,sV)], (6, 7, 8, 9), v.ovov, (0, 4, 7, 8), (2, 6, 3, 1, 9, 5)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sv)], (6, 7, 8, 9), v.ovov, (0, 9, 7, 5), (2, 6, 3, 1, 8, 4)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sv)], (6, 7, 8, 9), v.ovov, (0, 9, 7, 4), (2, 6, 3, 1, 8, 5)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (0, 5, 7, 4), (2, 6, 3, 1, 8, 9)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,so,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,sO,sV,sv)], (6, 7, 8, 9), v.ovov, (0, 5, 3, 9), (2, 6, 7, 1, 8, 4)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,sO,sv,sv)], (6, 7, 8, 9), v.ovov, (0, 9, 3, 8), (2, 6, 7, 1, 5, 4)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,so,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,sO,sV,sv)], (6, 7, 8, 9), v.ovov, (0, 4, 3, 9), (2, 6, 7, 1, 8, 5)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,so,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,sO,sv,sV)], (6, 7, 8, 9), v.ovov, (0, 4, 3, 8), (2, 6, 7, 1, 5, 9)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,so,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,sO,sV,sv)], (6, 7, 8, 9), v.ovov, (0, 9, 3, 5), (2, 6, 7, 1, 8, 4)) * 2.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,so,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,sO,sV,sv)], (6, 7, 8, 9), v.ovov, (0, 9, 3, 4), (2, 6, 7, 1, 8, 5)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sv)], (6, 7, 8, 9), v.ovov, (0, 4, 7, 9), (2, 3, 6, 1, 5, 8)) * -2.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (0, 4, 7, 5), (2, 3, 6, 1, 9, 8)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sv,sV)], (6, 7, 8, 9), v.ovov, (0, 4, 7, 8), (2, 3, 6, 1, 5, 9)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sv,sV)], (6, 7, 8, 9), v.ovov, (0, 8, 7, 5), (2, 3, 6, 1, 9, 4)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sv)], (6, 7, 8, 9), v.ovov, (0, 9, 7, 4), (2, 3, 6, 1, 5, 8)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sv,sV)], (6, 7, 8, 9), v.ovov, (0, 8, 7, 4), (2, 3, 6, 1, 5, 9)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sv,sV)], (6, 7, 8, 9), v.ovov, (0, 8, 7, 5), (2, 6, 3, 4, 1, 9)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sv,sV)], (6, 7, 8, 9), v.ovov, (0, 8, 7, 5), (2, 6, 3, 9, 1, 4)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sv,sV)], (6, 7, 8, 9), v.ovov, (0, 8, 7, 4), (2, 6, 3, 5, 1, 9)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sv,sV)], (6, 7, 8, 9), v.ovov, (0, 8, 7, 4), (2, 6, 3, 9, 1, 5)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,so,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,sO,sv,sV)], (6, 7, 8, 9), v.ovov, (0, 5, 3, 8), (2, 6, 7, 4, 1, 9)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,so,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,sO,sv,sV)], (6, 7, 8, 9), v.ovov, (0, 5, 3, 8), (2, 6, 7, 9, 1, 4)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,sO,sv,sv)], (6, 7, 8, 9), v.ovov, (0, 8, 3, 9), (2, 6, 7, 4, 1, 5)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,so,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,sO,sv,sV)], (6, 7, 8, 9), v.ovov, (0, 8, 3, 5), (2, 6, 7, 4, 1, 9)) * -2.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,sO,sv,sv)], (6, 7, 8, 9), v.ovov, (0, 8, 3, 9), (2, 6, 7, 5, 1, 4)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,so,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,sO,sv,sV)], (6, 7, 8, 9), v.ovov, (0, 8, 3, 5), (2, 6, 7, 9, 1, 4)) * 2.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,so,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,sO,sv,sV)], (6, 7, 8, 9), v.ovov, (0, 8, 3, 4), (2, 6, 7, 5, 1, 9)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,so,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,sO,sv,sV)], (6, 7, 8, 9), v.ovov, (0, 8, 3, 4), (2, 6, 7, 9, 1, 5)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sv)], (6, 7, 8, 9), v.ovov, (0, 5, 7, 9), (2, 3, 6, 4, 1, 8)) * -2.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sv,sV)], (6, 7, 8, 9), v.ovov, (0, 5, 7, 8), (2, 3, 6, 4, 1, 9)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sv)], (6, 7, 8, 9), v.ovov, (0, 5, 7, 9), (2, 3, 6, 8, 1, 4)) * 2.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sv,sV)], (6, 7, 8, 9), v.ovov, (0, 5, 7, 8), (2, 3, 6, 9, 1, 4)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sv)], (6, 7, 8, 9), v.ovov, (0, 9, 7, 5), (2, 3, 6, 4, 1, 8)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sv)], (6, 7, 8, 9), v.ovov, (0, 9, 7, 5), (2, 3, 6, 8, 1, 4)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (0, 5, 7, 4), (2, 3, 6, 8, 1, 9)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (0, 5, 7, 4), (2, 3, 6, 9, 1, 8)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sv)], (6, 7, 8, 9), v.ovov, (0, 5, 7, 9), (2, 6, 3, 4, 8, 1)) * -2.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sv,sV)], (6, 7, 8, 9), v.ovov, (0, 5, 7, 8), (2, 6, 3, 4, 9, 1)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sv)], (6, 7, 8, 9), v.ovov, (0, 4, 7, 9), (2, 6, 3, 5, 8, 1)) * 2.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (0, 4, 7, 5), (2, 6, 3, 9, 8, 1)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sv,sV)], (6, 7, 8, 9), v.ovov, (0, 4, 7, 8), (2, 6, 3, 5, 9, 1)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sv)], (6, 7, 8, 9), v.ovov, (0, 9, 7, 5), (2, 6, 3, 4, 8, 1)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sv)], (6, 7, 8, 9), v.ovov, (0, 9, 7, 4), (2, 6, 3, 5, 8, 1)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (0, 5, 7, 4), (2, 6, 3, 9, 8, 1)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,so,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,sO,sV,sv)], (6, 7, 8, 9), v.ovov, (0, 5, 3, 9), (2, 6, 7, 4, 8, 1)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,sO,sv,sv)], (6, 7, 8, 9), v.ovov, (0, 9, 3, 8), (2, 6, 7, 4, 5, 1)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,so,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,sO,sV,sv)], (6, 7, 8, 9), v.ovov, (0, 4, 3, 9), (2, 6, 7, 5, 8, 1)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,so,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,sO,sv,sV)], (6, 7, 8, 9), v.ovov, (0, 4, 3, 8), (2, 6, 7, 9, 5, 1)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,so,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,sO,sV,sv)], (6, 7, 8, 9), v.ovov, (0, 9, 3, 5), (2, 6, 7, 4, 8, 1)) * -2.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,so,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,sO,sV,sv)], (6, 7, 8, 9), v.ovov, (0, 9, 3, 4), (2, 6, 7, 5, 8, 1)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sv)], (6, 7, 8, 9), v.ovov, (0, 4, 7, 9), (2, 3, 6, 8, 5, 1)) * 2.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (0, 4, 7, 5), (2, 3, 6, 8, 9, 1)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sv,sV)], (6, 7, 8, 9), v.ovov, (0, 4, 7, 8), (2, 3, 6, 9, 5, 1)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sv,sV)], (6, 7, 8, 9), v.ovov, (0, 8, 7, 5), (2, 3, 6, 4, 9, 1)) - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sv)], (6, 7, 8, 9), v.ovov, (0, 9, 7, 4), (2, 3, 6, 8, 5, 1)) * -1.0 - t3new += einsum(t1[np.ix_(so,sV)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sv,sV)], (6, 7, 8, 9), v.ovov, (0, 8, 7, 4), (2, 3, 6, 9, 5, 1)) - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (0, 1, 7, 5), (2, 6, 3, 4, 8, 9)) * -2.0 - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (0, 1, 7, 5), (2, 6, 3, 9, 8, 4)) * 2.0 - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (0, 1, 7, 4), (2, 6, 3, 5, 8, 9)) * 2.0 - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (0, 1, 7, 4), (2, 6, 3, 9, 8, 5)) * -2.0 - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (0, 5, 7, 1), (2, 6, 3, 4, 8, 9)) - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (0, 5, 7, 1), (2, 6, 3, 9, 8, 4)) * -1.0 - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (0, 4, 7, 1), (2, 6, 3, 5, 8, 9)) * -1.0 - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (0, 4, 7, 1), (2, 6, 3, 9, 8, 5)) - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,sO,sV,sv)], (6, 7, 8, 9), v.ovov, (0, 1, 3, 9), (2, 6, 7, 4, 8, 5)) * -2.0 - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,sO,sv,sV)], (6, 7, 8, 9), v.ovov, (0, 1, 3, 8), (2, 6, 7, 4, 5, 9)) * -2.0 - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,sO,sV,sv)], (6, 7, 8, 9), v.ovov, (0, 1, 3, 9), (2, 6, 7, 5, 8, 4)) * 2.0 - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,sO,sv,sV)], (6, 7, 8, 9), v.ovov, (0, 1, 3, 8), (2, 6, 7, 9, 5, 4)) * 2.0 - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,sO,sV,sv)], (6, 7, 8, 9), v.ovov, (0, 9, 3, 1), (2, 6, 7, 4, 8, 5)) - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,sO,sv,sV)], (6, 7, 8, 9), v.ovov, (0, 8, 3, 1), (2, 6, 7, 4, 5, 9)) - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,sO,sV,sv)], (6, 7, 8, 9), v.ovov, (0, 9, 3, 1), (2, 6, 7, 5, 8, 4)) * -1.0 - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(sO,so,sV,sV)], (2, 3, 4, 5), t2[np.ix_(sO,sO,sv,sV)], (6, 7, 8, 9), v.ovov, (0, 8, 3, 1), (2, 6, 7, 9, 5, 4)) * -1.0 - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (0, 1, 7, 5), (2, 3, 6, 4, 9, 8)) * -2.0 - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (0, 1, 7, 5), (2, 3, 6, 8, 9, 4)) * 2.0 - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (0, 1, 7, 4), (2, 3, 6, 8, 5, 9)) * 2.0 - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (0, 1, 7, 4), (2, 3, 6, 9, 5, 8)) * -2.0 - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (0, 5, 7, 1), (2, 3, 6, 4, 9, 8)) - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(sO,sO,sV,sv)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (0, 5, 7, 1), (2, 3, 6, 8, 9, 4)) * -1.0 - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (0, 4, 7, 1), (2, 3, 6, 8, 5, 9)) * -1.0 - t3new += einsum(t1[np.ix_(so,sv)], (0, 1), t2[np.ix_(sO,sO,sv,sV)], (2, 3, 4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (0, 4, 7, 1), (2, 3, 6, 9, 5, 8)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(sO,sv)], (2, 3), t1[np.ix_(so,sV)], (4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (4, 1, 7, 3), (0, 2, 6, 5, 9, 8)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(sO,sv)], (2, 3), t1[np.ix_(so,sV)], (4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (4, 3, 7, 1), (0, 2, 6, 8, 5, 9)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(sO,sv)], (2, 3), t1[np.ix_(so,sV)], (4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (4, 3, 7, 1), (0, 2, 6, 9, 5, 8)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(sO,sv)], (2, 3), t1[np.ix_(so,sV)], (4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (4, 1, 7, 3), (0, 2, 6, 8, 9, 5)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(sO,sv)], (2, 3), t1[np.ix_(so,sV)], (4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (4, 1, 7, 3), (0, 6, 2, 5, 8, 9)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(sO,sv)], (2, 3), t1[np.ix_(so,sV)], (4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (4, 3, 7, 1), (0, 6, 2, 5, 8, 9)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(sO,sv)], (2, 3), t1[np.ix_(so,sV)], (4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (4, 1, 7, 3), (0, 6, 2, 9, 8, 5)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(sO,sv)], (2, 3), t1[np.ix_(so,sV)], (4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (4, 3, 7, 1), (0, 6, 2, 9, 8, 5)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t1[np.ix_(so,sV)], (4, 5), t2[np.ix_(sO,sO,sv,sV)], (6, 7, 8, 9), v.ovov, (2, 1, 4, 8), (0, 6, 7, 3, 5, 9)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t1[np.ix_(so,sV)], (4, 5), t2[np.ix_(sO,sO,sV,sv)], (6, 7, 8, 9), v.ovov, (2, 1, 4, 9), (0, 6, 7, 3, 8, 5)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t1[np.ix_(so,sV)], (4, 5), t2[np.ix_(sO,sO,sV,sv)], (6, 7, 8, 9), v.ovov, (2, 9, 4, 1), (0, 6, 7, 3, 8, 5)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t1[np.ix_(so,sV)], (4, 5), t2[np.ix_(sO,sO,sv,sV)], (6, 7, 8, 9), v.ovov, (2, 8, 4, 1), (0, 6, 7, 9, 3, 5)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(sO,sv)], (2, 3), t1[np.ix_(so,sV)], (4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (4, 3, 7, 1), (6, 0, 2, 5, 9, 8)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(sO,sv)], (2, 3), t1[np.ix_(so,sV)], (4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (4, 1, 7, 3), (6, 0, 2, 8, 5, 9)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(sO,sv)], (2, 3), t1[np.ix_(so,sV)], (4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (4, 1, 7, 3), (6, 0, 2, 9, 5, 8)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(sO,sv)], (2, 3), t1[np.ix_(so,sV)], (4, 5), t2[np.ix_(sO,so,sV,sV)], (6, 7, 8, 9), v.ovov, (4, 3, 7, 1), (6, 0, 2, 8, 9, 5)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t1[np.ix_(so,sV)], (4, 5), t2[np.ix_(sO,sO,sV,sv)], (6, 7, 8, 9), v.ovov, (2, 9, 4, 1), (6, 0, 7, 3, 5, 8)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t1[np.ix_(so,sV)], (4, 5), t2[np.ix_(sO,sO,sv,sV)], (6, 7, 8, 9), v.ovov, (2, 8, 4, 1), (6, 0, 7, 3, 5, 9)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t1[np.ix_(so,sV)], (4, 5), t2[np.ix_(sO,sO,sV,sv)], (6, 7, 8, 9), v.ovov, (2, 1, 4, 9), (6, 0, 7, 8, 3, 5)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t1[np.ix_(so,sV)], (4, 5), t2[np.ix_(sO,sO,sv,sV)], (6, 7, 8, 9), v.ovov, (2, 1, 4, 8), (6, 0, 7, 9, 3, 5)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t1[np.ix_(so,sV)], (4, 5), t2[np.ix_(sO,sO,sV,sv)], (6, 7, 8, 9), v.ovov, (2, 1, 4, 9), (6, 7, 0, 3, 5, 8)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t1[np.ix_(so,sV)], (4, 5), t2[np.ix_(sO,sO,sv,sV)], (6, 7, 8, 9), v.ovov, (2, 1, 4, 8), (6, 7, 0, 3, 9, 5)) * -1.0 - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t1[np.ix_(so,sV)], (4, 5), t2[np.ix_(sO,sO,sv,sV)], (6, 7, 8, 9), v.ovov, (2, 8, 4, 1), (6, 7, 0, 3, 9, 5)) - t3new += einsum(t1[np.ix_(sO,sv)], (0, 1), t1[np.ix_(so,sV)], (2, 3), t1[np.ix_(so,sV)], (4, 5), t2[np.ix_(sO,sO,sV,sv)], (6, 7, 8, 9), v.ovov, (2, 9, 4, 1), (6, 7, 0, 8, 3, 5)) - - return {"t1new": t1new, "t2new": t2new, "t3new": t3new} - diff --git a/ebcc/codegen/UCCSDtp.py b/ebcc/codegen/UCCSDwtwp.py similarity index 100% rename from ebcc/codegen/UCCSDtp.py rename to ebcc/codegen/UCCSDwtwp.py From 8973ad8173a9478d5fc7a9da6ac68b8618ad470b Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Sun, 29 Sep 2024 16:14:22 +0100 Subject: [PATCH 109/168] Fix MP2 RDM bootstrapping for immutable backend --- ebcc/codegen/bootstrap_MPn.py | 85 +++++++++++++++-------------------- 1 file changed, 37 insertions(+), 48 deletions(-) diff --git a/ebcc/codegen/bootstrap_MPn.py b/ebcc/codegen/bootstrap_MPn.py index 49396b2f..c8116734 100644 --- a/ebcc/codegen/bootstrap_MPn.py +++ b/ebcc/codegen/bootstrap_MPn.py @@ -214,56 +214,45 @@ def get_postamble(n, spin, name="rdm{n}"): # a second Norb^4 tensor postamble += "\nrdm1 = make_rdm1_f(t2=t2, l2=l2)\n" if spin == "uhf": - postamble += "nocc = Namespace(a=t2.aaaa.shape[0], b=t2.bbbb.shape[0])\n" - postamble += "rdm1.aa[np.diag_indices(nocc.a)] -= 1\n" - postamble += "rdm1.bb[np.diag_indices(nocc.b)] -= 1\n" - postamble += "for i in range(nocc.a):\n" - postamble += " rdm2.aaaa[i, i, :, :] += rdm1.aa.T\n" - postamble += " rdm2.aaaa[:, :, i, i] += rdm1.aa.T\n" - postamble += " rdm2.aaaa[:, i, i, :] -= rdm1.aa.T\n" - postamble += " rdm2.aaaa[i, :, :, i] -= rdm1.aa\n" - postamble += " rdm2.aabb[i, i, :, :] += rdm1.bb.T\n" - postamble += "for i in range(nocc.b):\n" - postamble += " rdm2.bbbb[i, i, :, :] += rdm1.bb.T\n" - postamble += " rdm2.bbbb[:, :, i, i] += rdm1.bb.T\n" - postamble += " rdm2.bbbb[:, i, i, :] -= rdm1.bb.T\n" - postamble += " rdm2.bbbb[i, :, :, i] -= rdm1.bb\n" - postamble += " rdm2.aabb[:, :, i, i] += rdm1.aa.T\n" - postamble += "for i in range(nocc.a):\n" - postamble += " for j in range(nocc.a):\n" - postamble += " rdm2.aaaa[i, i, j, j] += 1\n" - postamble += " rdm2.aaaa[i, j, j, i] -= 1\n" - postamble += "for i in range(nocc.b):\n" - postamble += " for j in range(nocc.b):\n" - postamble += " rdm2.bbbb[i, i, j, j] += 1\n" - postamble += " rdm2.bbbb[i, j, j, i] -= 1\n" - postamble += "for i in range(nocc.a):\n" - postamble += " for j in range(nocc.b):\n" - postamble += " rdm2.aabb[i, i, j, j] += 1" + postamble += "delta = Namespace(\n" + postamble += " aa=np.diag(np.concatenate([np.ones(t2.aaaa.shape[0]), np.zeros(t2.aaaa.shape[-1])])),\n" + postamble += " bb=np.diag(np.concatenate([np.ones(t2.bbbb.shape[0]), np.zeros(t2.bbbb.shape[-1])])),\n" + postamble += ")\n" + postamble += "rdm1.aa -= delta.aa\n" + postamble += "rdm1.bb -= delta.bb\n" + postamble += "rdm2.aaaa += einsum(delta.aa, (0, 1), rdm1.aa, (3, 2), (0, 1, 2, 3))\n" + postamble += "rdm2.aaaa += einsum(rdm1.aa, (1, 0), delta.aa, (2, 3), (0, 1, 2, 3))\n" + postamble += "rdm2.aaaa -= einsum(delta.aa, (0, 3), rdm1.aa, (2, 1), (0, 1, 2, 3))\n" + postamble += "rdm2.aaaa -= einsum(rdm1.aa, (0, 3), delta.aa, (1, 2), (0, 1, 2, 3))\n" + postamble += "rdm2.aaaa += einsum(delta.aa, (0, 1), delta.aa, (2, 3), (0, 1, 2, 3))\n" + postamble += "rdm2.aaaa -= einsum(delta.aa, (0, 3), delta.aa, (1, 2), (0, 1, 2, 3))\n" + postamble += "rdm2.bbbb += einsum(delta.bb, (0, 1), rdm1.bb, (3, 2), (0, 1, 2, 3))\n" + postamble += "rdm2.bbbb += einsum(rdm1.bb, (1, 0), delta.bb, (2, 3), (0, 1, 2, 3))\n" + postamble += "rdm2.bbbb -= einsum(delta.bb, (0, 3), rdm1.bb, (2, 1), (0, 1, 2, 3))\n" + postamble += "rdm2.bbbb -= einsum(rdm1.bb, (0, 3), delta.bb, (1, 2), (0, 1, 2, 3))\n" + postamble += "rdm2.bbbb += einsum(delta.bb, (0, 1), delta.bb, (2, 3), (0, 1, 2, 3))\n" + postamble += "rdm2.bbbb -= einsum(delta.bb, (0, 3), delta.bb, (1, 2), (0, 1, 2, 3))\n" + postamble += "rdm2.aabb += einsum(delta.aa, (0, 1), rdm1.bb, (3, 2), (0, 1, 2, 3))\n" + postamble += "rdm2.aabb += einsum(rdm1.aa, (1, 0), delta.bb, (2, 3), (0, 1, 2, 3))\n" + postamble += "rdm2.aabb += einsum(delta.aa, (0, 1), delta.bb, (2, 3), (0, 1, 2, 3))" elif spin == "ghf": - postamble += "nocc = t2.shape[0]\n" - postamble += "rdm1[np.diag_indices(nocc)] -= 1\n" - postamble += "for i in range(nocc):\n" - postamble += " rdm2[i, i, :, :] += rdm1.T\n" - postamble += " rdm2[:, :, i, i] += rdm1.T\n" - postamble += " rdm2[:, i, i, :] -= rdm1.T\n" - postamble += " rdm2[i, :, :, i] -= rdm1\n" - postamble += "for i in range(nocc):\n" - postamble += " for j in range(nocc):\n" - postamble += " rdm2[i, i, j, j] += 1\n" - postamble += " rdm2[i, j, j, i] -= 1" + postamble += "delta = np.diag(np.concatenate([np.ones(t2.shape[0]), np.zeros(t2.shape[-1])]))\n" + postamble += "rdm1 -= delta\n" + postamble += "rdm2 += einsum(delta, (0, 1), rdm1, (3, 2), (0, 1, 2, 3))\n" + postamble += "rdm2 += einsum(rdm1, (1, 0), delta, (2, 3), (0, 1, 2, 3))\n" + postamble += "rdm2 -= einsum(delta, (0, 3), rdm1, (2, 1), (0, 1, 2, 3))\n" + postamble += "rdm2 -= einsum(rdm1, (0, 3), delta, (1, 2), (0, 1, 2, 3))\n" + postamble += "rdm2 += einsum(delta, (0, 1), delta, (2, 3), (0, 1, 2, 3))\n" + postamble += "rdm2 -= einsum(delta, (0, 3), delta, (1, 2), (0, 1, 2, 3))" elif spin == "rhf": - postamble += "nocc = t2.shape[0]\n" - postamble += "rdm1[np.diag_indices(nocc)] -= 2\n" - postamble += "for i in range(nocc):\n" - postamble += " rdm2[i, i, :, :] += rdm1.T * 2\n" - postamble += " rdm2[:, :, i, i] += rdm1.T * 2\n" - postamble += " rdm2[:, i, i, :] -= rdm1.T\n" - postamble += " rdm2[i, :, :, i] -= rdm1\n" - postamble += "for i in range(nocc):\n" - postamble += " for j in range(nocc):\n" - postamble += " rdm2[i, i, j, j] += 4\n" - postamble += " rdm2[i, j, j, i] -= 2" + postamble += "delta = np.diag(np.concatenate([np.ones(t2.shape[0]), np.zeros(t2.shape[-1])]))\n" + postamble += "rdm1 -= delta * 2\n" + postamble += "rdm2 += einsum(delta, (0, 1), rdm1, (3, 2), (0, 1, 2, 3)) * 2\n" + postamble += "rdm2 += einsum(rdm1, (1, 0), delta, (2, 3), (0, 1, 2, 3)) * 2\n" + postamble += "rdm2 -= einsum(delta, (0, 3), rdm1, (2, 1), (0, 1, 2, 3))\n" + postamble += "rdm2 -= einsum(rdm1, (0, 3), delta, (1, 2), (0, 1, 2, 3))\n" + postamble += "rdm2 += einsum(delta, (0, 1), delta, (2, 3), (0, 1, 2, 3)) * 4\n" + postamble += "rdm2 -= einsum(delta, (0, 3), delta, (1, 2), (0, 1, 2, 3)) * 2" return postamble From da0d67c7619717bd48d3dcf8d68ebaf551d31b88 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Sun, 29 Sep 2024 17:50:24 +0100 Subject: [PATCH 110/168] Working on CCSDt --- ebcc/codegen/bootstrap_CCSDwtw.py | 255 +++++++++++++++++++++++++++++ ebcc/codegen/bootstrap_CCSDwtwp.py | 7 +- 2 files changed, 259 insertions(+), 3 deletions(-) create mode 100644 ebcc/codegen/bootstrap_CCSDwtw.py diff --git a/ebcc/codegen/bootstrap_CCSDwtw.py b/ebcc/codegen/bootstrap_CCSDwtw.py new file mode 100644 index 00000000..5009e53a --- /dev/null +++ b/ebcc/codegen/bootstrap_CCSDwtw.py @@ -0,0 +1,255 @@ +""" +Generate the CCSDt code. +""" + +import sys +sys.setrecursionlimit(100000) + +import pdaggerq +from albert.qc._pdaggerq import import_from_pdaggerq +from albert.tensor import Tensor +from albert.algebra import Mul, Add + +from ebcc.codegen.bootstrap_common import * + +# Get the spin case +spin = sys.argv[1] + +# Set up the code generators +def name_generator(tensor, add_spaces=True): + name = name_generators[spin](tensor, add_spaces=add_spaces) + if isinstance(tensor, Tensor) and tensor.name.startswith("t") and not tensor.name.startswith("tmp"): + spaces = tuple(i.space for i in tensor.indices) + if not any(s is None for s in spaces): # Otherwise, it's a "return" tensor + if spaces not in (("o", "v"), ("o", "o", "v", "v"), ("o", "o", "O", "v", "v", "V")): + name = name.replace(".", "_") + name = f"{name}_{''.join(spaces)}" + return name + +class _EinsumCodeGen(EinsumCodeGen): + def ignore_argument(self, arg): + if "_" in name_generator(arg): + return True + return super().ignore_argument(arg) + + def tensor_cleanup(self, *args): + args = tuple(self.get_name(arg) if isinstance(arg, Tensor) else arg for arg in args) + args = tuple(arg for arg in args if "_" not in arg) + return super().tensor_cleanup(*args) + + def preamble(self, imports=None): + if imports is None: + imports = "from ebcc import numpy as np\n" + imports += "from ebcc.util import pack_2e, einsum, dirsum, Namespace\n" + imports += "from ebcc.backend import _inflate" + super().preamble(imports=imports) + +code_generators = { + "einsum": _EinsumCodeGen( + stdout=open(f"{spin[0].upper()}CCSDwtw.py", "w"), + name_generator=name_generator, + spin=spin, + ), +} + +# Write the preamble +for codegen in code_generators.values(): + codegen.preamble() + +# Set up pdaggerq +pq = pdaggerq.pq_helper("fermi") +pq.set_print_level(0) + +with Stopwatch("Energy"): + # Get the energy contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["1"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) + pq.simplify() + terms = pq.fully_contracted_strings() + terms = remove_hf_energy(terms) + + # Get the energy in albert format + expr = import_from_pdaggerq(terms) + expr = spin_integrate(expr, spin) + output = tuple(Tensor(name="e_cc") for _ in range(len(expr))) + output, expr = optimise(output, expr, spin, strategy="exhaust") + returns = (Tensor(name="e_cc"),) + + # Generate the energy code + for codegen in code_generators.values(): + codegen( + "energy", + returns, + output, + expr, + ) + +with Stopwatch("T amplitudes"): + # Get the T1 contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["e1(i,a)"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2", "t3"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3"]) + pq.simplify() + terms_t1 = pq.fully_contracted_strings() + + # Get the T2 contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["e2(i,j,b,a)"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2", "t3"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3"]) + pq.simplify() + terms_t2 = pq.fully_contracted_strings() + + # Get the T3 contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["e3(i,j,k,c,b,a)"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2", "t3"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3"]) + pq.simplify() + terms_t3 = pq.fully_contracted_strings() + + # Get the T amplitudes in albert format + terms = [terms_t1, terms_t2, terms_t3] + expr = [] + output = [] + returns = [] + for n in range(3): + for index_spins in get_amplitude_spins(n + 1, spin): + indices = default_indices["o"][: n + 1] + default_indices["v"][: n + 1] + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + output_n = get_t_amplitude_outputs(expr_n, f"t{n+1}new", indices=indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"t{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + + # Make the T3 indices active + new_expr = [] + new_output = [] + for i, (o, e) in enumerate(zip(output, expr)): + # Get the indices + indices = set() + if o.name.startswith("t3"): + indices = indices.union({o.indices[2], o.indices[5]}) + for a in e.nested_view(): + indices_a = indices.copy() + for t in a: + if isinstance(t, Tensor) and t.name.startswith("t3"): + indices_a = indices_a.union({t.indices[2], t.indices[5]}) + + # Substitute the indices + subs = {i: Index(i.name.upper(), spin=i.spin, space=i.space.upper()) for i in indices_a} + new_args = [] + for t in a: + if isinstance(t, Tensor): + new_args.append(t.map_indices(subs)) + else: + new_args.append(t) + new_output.append(o.map_indices(subs)) + new_expr.append(Mul(*new_args)) + output = new_output + expr = new_expr + + # Optimise + output, expr = optimise(output, expr, spin, strategy="exhaust" if spin != "uhf" else "greedy") + + # Generate the T amplitude code + for name, codegen in code_generators.items(): + ignore_arguments = [] + if name == "einsum": + preamble = "space = kwargs[\"space\"]" + preamble += "\nt1new = Namespace()" + preamble += "\nt2new = Namespace()" + preamble += "\nt3new = Namespace()" + if spin == "uhf": + preamble += "\nsoa = np.ones((t1.aa.shape[0],), dtype=bool)" + preamble += "\nsva = np.ones((t1.aa.shape[1],), dtype=bool)" + preamble += "\nsob = np.ones((t1.bb.shape[0],), dtype=bool)" + preamble += "\nsvb = np.ones((t1.bb.shape[1],), dtype=bool)" + preamble += "\nsOa = space[0].active[space[0].correlated][space[0].occupied[space[0].correlated]]" + preamble += "\nsVa = space[0].active[space[0].correlated][space[0].virtual[space[0].correlated]]" + preamble += "\nsOb = space[1].active[space[1].correlated][space[1].occupied[space[1].correlated]]" + preamble += "\nsVb = space[1].active[space[1].correlated][space[1].virtual[space[1].correlated]]" + preamble += "\n" + postamble = "" + inp_keys = {"aa": set(), "bb": set(), "aaaa": set(), "abab": set(), "bbbb": set()} + out_keys = {"aa": set(), "bb": set(), "aaaa": set(), "abab": set(), "bbbb": set()} + for o, e in zip(output, expr): + if o.name.startswith("t") and not (o.name.startswith("tmp") or o.name.startswith("t3")): + spaces = "".join(tuple(i.space for i in o.indices)) + spins = "".join(tuple({"α": "a", "β": "b"}[i.spin] for i in o.indices)) + if set(spaces) != {"o", "v"}: + inp_keys[spins].add(spaces) + for a in e.nested_view(): + for t in a: + if isinstance(t, Tensor) and t.name.startswith("t") and not (t.name.startswith("tmp") or t.name.startswith("t3")): + spaces = "".join(tuple(i.space for i in t.indices)) + spins = "".join(tuple({"α": "a", "β": "b"}[i.spin] for i in t.indices)) + inp_keys[spins].add(spaces) + for spins, inp_keys in inp_keys.items(): + for key in inp_keys: + slices = ", ".join(f"s{c}{s}" for c, s in zip(key, spins)) + preamble += f"\nt{len(key)//2}_{spins}_{key} = np.copy(t{len(key)//2}.{spins}[np.ix_({slices})])" + ignore_arguments.append(f"t{len(key)//2}_{spins}_{key}") + for spins, out_keys in out_keys.items(): + for key in out_keys: + slices = ", ".join(f"s{c}{s}" for c, s in zip(key, spins)) + postamble += f"\nt{len(key)//2}new.{spins} += _inflate(t{len(key)//2}new.{spins}.shape, np.ix_({slices}), t{len(key)//2}new_{spins}_{key})" + else: + preamble += "\nso = np.ones((t1.shape[0],), dtype=bool)" + preamble += "\nsv = np.ones((t1.shape[1],), dtype=bool)" + preamble += "\nsi = np.ones((t3.shape[2],), dtype=bool)" + preamble += "\nsa = np.ones((t3.shape[5],), dtype=bool)" + preamble += "\nsO = space.active[space.correlated][space.occupied[space.correlated]]" + preamble += "\nsV = space.active[space.correlated][space.virtual[space.correlated]]" + postamble = "" + inp_keys = set() + out_keys = set() + for o, e in zip(output, expr): + if o.name.startswith("t") and not o.name.startswith("tmp"): + spaces = "".join(tuple(i.space for i in o.indices)) + if set(spaces) != {"o", "v"} and spaces != "ooOvvV": + out_keys.add(spaces) + for a in e.nested_view(): + for t in a: + if isinstance(t, Tensor) and t.name.startswith("t") and not t.name.startswith("tmp"): + spaces = "".join(tuple(i.space for i in t.indices)) + if set(spaces) != {"o", "v"} and spaces != "ooOvvV": + inp_keys.add(spaces) + for key in sorted(inp_keys): + if len(key) == 6: + slices = ", ".join(f"s{c}" for c in key[:2]) + ", si, " + ", ".join(f"s{c}" for c in key[3:5]) + ", sa" + else: + slices = ", ".join(f"s{c}" for c in key) + preamble += f"\nt{len(key)//2}_{key} = np.copy(t{len(key)//2}[np.ix_({slices})])" + ignore_arguments.append(f"t{len(key)//2}_{key}") + for key in sorted(out_keys): + if len(key) == 6: + slices = ", ".join(f"s{c}" for c in key[:2]) + ", si, " + ", ".join(f"s{c}" for c in key[3:5]) + ", sa" + else: + slices = ", ".join(f"s{c}" for c in key) + postamble += f"\nt{len(key)//2}new += _inflate(t{len(key)//2}new.shape, np.ix_({slices}), t{len(key)//2}new_{key})" + preamble += "\n" + kwargs = { + "preamble": preamble, + "postamble": postamble, + "as_dict": True, + "ignore_arguments": ignore_arguments, + } + else: + kwargs = {} + codegen( + "update_amps", + returns, + output, + expr, + **kwargs, + ) + +for codegen in code_generators.values(): + codegen.postamble() + codegen.stdout.close() diff --git a/ebcc/codegen/bootstrap_CCSDwtwp.py b/ebcc/codegen/bootstrap_CCSDwtwp.py index cbc729f1..4c3f00c0 100644 --- a/ebcc/codegen/bootstrap_CCSDwtwp.py +++ b/ebcc/codegen/bootstrap_CCSDwtwp.py @@ -216,12 +216,13 @@ def preamble(self, imports=None): for t in a: if isinstance(t, Tensor) and t.name.startswith("t") and not (t.name.startswith("tmp") or t.name.startswith("t3")): spaces = "".join(tuple(i.space for i in t.indices)) - inp_keys.add(spaces) - for key in inp_keys: + if set(spaces) != {"o", "v"}: + inp_keys.add(spaces) + for key in sorted(inp_keys): slices = ", ".join(f"s{c}" for c in key) preamble += f"\nt{len(key)//2}_{key} = np.copy(t{len(key)//2}[np.ix_({slices})])" ignore_arguments.append(f"t{len(key)//2}_{key}") - for key in out_keys: + for key in sorted(out_keys): slices = ", ".join(f"s{c}" for c in key) postamble += f"\nt{len(key)//2}new += _inflate(t{len(key)//2}new.shape, np.ix_({slices}), t{len(key)//2}new_{key})" preamble += "\n" From 4132d5fa4ec5f872bdd678bc80a3341249d24b91 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Tue, 8 Oct 2024 15:11:47 +0100 Subject: [PATCH 111/168] Work --- ebcc/codegen/bootstrap_CCSDwtw.py | 27 +++++++++++++++++++++------ 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/ebcc/codegen/bootstrap_CCSDwtw.py b/ebcc/codegen/bootstrap_CCSDwtw.py index 5009e53a..4d818689 100644 --- a/ebcc/codegen/bootstrap_CCSDwtw.py +++ b/ebcc/codegen/bootstrap_CCSDwtw.py @@ -7,6 +7,7 @@ import pdaggerq from albert.qc._pdaggerq import import_from_pdaggerq +from albert.base import Base from albert.tensor import Tensor from albert.algebra import Mul, Add @@ -119,10 +120,9 @@ def preamble(self, imports=None): for n in range(3): for index_spins in get_amplitude_spins(n + 1, spin): indices = default_indices["o"][: n + 1] + default_indices["v"][: n + 1] - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) - expr_n = spin_integrate(expr_n, spin) + expr_n = (import_from_pdaggerq(terms[n], index_spins=index_spins),) output_n = get_t_amplitude_outputs(expr_n, f"t{n+1}new", indices=indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"t{n+1}new"),) + returns_n = (Tensor(*tuple(Index(i) for i in indices), name=f"t{n+1}new"),) expr.extend(expr_n) output.extend(output_n) returns.extend(returns_n) @@ -154,8 +154,23 @@ def preamble(self, imports=None): output = new_output expr = new_expr + # Spin integrate + new_output = [] + new_expr = [] + for o, e in zip(output, expr): + new_expr_spin = spin_integrate(e, spin) + for ee in new_expr_spin: + if isinstance(ee, Base) and len(ee.without_coefficient().args): + new_expr.append(ee) + new_output.append(get_t_amplitude_outputs((ee,), o.name, indices=[i.name for i in sorted(ee.external_indices)])[0]) + expr = new_expr + output = new_output + for o, e in zip(output, expr): + for a in e.nested_view(): + print(o, "=", Mul(*a)) + # Optimise - output, expr = optimise(output, expr, spin, strategy="exhaust" if spin != "uhf" else "greedy") + #output, expr = optimise(output, expr, spin, strategy="exhaust" if spin != "uhf" else "greedy") # Generate the T amplitude code for name, codegen in code_generators.items(): @@ -220,14 +235,14 @@ def preamble(self, imports=None): spaces = "".join(tuple(i.space for i in t.indices)) if set(spaces) != {"o", "v"} and spaces != "ooOvvV": inp_keys.add(spaces) - for key in sorted(inp_keys): + for key in sorted(inp_keys, key=lambda x: (len(x), x)): if len(key) == 6: slices = ", ".join(f"s{c}" for c in key[:2]) + ", si, " + ", ".join(f"s{c}" for c in key[3:5]) + ", sa" else: slices = ", ".join(f"s{c}" for c in key) preamble += f"\nt{len(key)//2}_{key} = np.copy(t{len(key)//2}[np.ix_({slices})])" ignore_arguments.append(f"t{len(key)//2}_{key}") - for key in sorted(out_keys): + for key in sorted(out_keys, key=lambda x: (len(x), x)): if len(key) == 6: slices = ", ".join(f"s{c}" for c in key[:2]) + ", si, " + ", ".join(f"s{c}" for c in key[3:5]) + ", sa" else: From af415aa5e185eb90fe2072c829eb2903d63782e3 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Wed, 16 Oct 2024 14:44:44 +0100 Subject: [PATCH 112/168] Add CCSDt back --- ebcc/core/ansatz.py | 1 + 1 file changed, 1 insertion(+) diff --git a/ebcc/core/ansatz.py b/ebcc/core/ansatz.py index 5f7c9b98..e47f6128 100644 --- a/ebcc/core/ansatz.py +++ b/ebcc/core/ansatz.py @@ -24,6 +24,7 @@ "QCISD": ("QCISD", "", 0, 0), "DCD": ("DCD", "", 0, 0), "DCSD": ("DCSD", "", 0, 0), + "CCSDt": ("CCSDt", "", 0, 0), "CCSDt'": ("CCSDt'", "", 0, 0), "CCSD-S-1-1": ("CCSD", "S", 1, 1), "CCSD-SD-1-1": ("CCSD", "SD", 1, 1), From dd722da10758a604696e005563560895cedc6c9b Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Wed, 16 Oct 2024 18:05:12 +0100 Subject: [PATCH 113/168] Spin integrate first --- ebcc/codegen/bootstrap_CCSDwtw.py | 28 +++++++++++++--------------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/ebcc/codegen/bootstrap_CCSDwtw.py b/ebcc/codegen/bootstrap_CCSDwtw.py index 4d818689..6568cd8d 100644 --- a/ebcc/codegen/bootstrap_CCSDwtw.py +++ b/ebcc/codegen/bootstrap_CCSDwtw.py @@ -120,7 +120,8 @@ def preamble(self, imports=None): for n in range(3): for index_spins in get_amplitude_spins(n + 1, spin): indices = default_indices["o"][: n + 1] + default_indices["v"][: n + 1] - expr_n = (import_from_pdaggerq(terms[n], index_spins=index_spins),) + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) output_n = get_t_amplitude_outputs(expr_n, f"t{n+1}new", indices=indices) returns_n = (Tensor(*tuple(Index(i) for i in indices), name=f"t{n+1}new"),) expr.extend(expr_n) @@ -154,20 +155,17 @@ def preamble(self, imports=None): output = new_output expr = new_expr - # Spin integrate - new_output = [] - new_expr = [] - for o, e in zip(output, expr): - new_expr_spin = spin_integrate(e, spin) - for ee in new_expr_spin: - if isinstance(ee, Base) and len(ee.without_coefficient().args): - new_expr.append(ee) - new_output.append(get_t_amplitude_outputs((ee,), o.name, indices=[i.name for i in sorted(ee.external_indices)])[0]) - expr = new_expr - output = new_output - for o, e in zip(output, expr): - for a in e.nested_view(): - print(o, "=", Mul(*a)) + ## Spin integrate + #new_output = [] + #new_expr = [] + #for o, e in zip(output, expr): + # new_expr_spin = spin_integrate(e, spin) + # for ee in new_expr_spin: + # if isinstance(ee, Base) and len(ee.without_coefficient().args): + # new_expr.append(ee) + # new_output.append(get_t_amplitude_outputs((ee,), o.name, indices=[i.name for i in sorted(ee.external_indices)])[0]) + #expr = new_expr + #output = new_output # Optimise #output, expr = optimise(output, expr, spin, strategy="exhaust" if spin != "uhf" else "greedy") From 72bc026c2c5cdda597d1327ff254efe93fe90e49 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Thu, 17 Oct 2024 21:51:37 +0100 Subject: [PATCH 114/168] Still trying CCSDt --- ebcc/codegen/bootstrap_CCSDwtw.py | 18 ++++++++++-------- ebcc/codegen/bootstrap_common.py | 24 +++++++++++++++++++++--- ebcc/core/ansatz.py | 1 - 3 files changed, 31 insertions(+), 12 deletions(-) diff --git a/ebcc/codegen/bootstrap_CCSDwtw.py b/ebcc/codegen/bootstrap_CCSDwtw.py index 6568cd8d..7bb98747 100644 --- a/ebcc/codegen/bootstrap_CCSDwtw.py +++ b/ebcc/codegen/bootstrap_CCSDwtw.py @@ -22,7 +22,7 @@ def name_generator(tensor, add_spaces=True): if isinstance(tensor, Tensor) and tensor.name.startswith("t") and not tensor.name.startswith("tmp"): spaces = tuple(i.space for i in tensor.indices) if not any(s is None for s in spaces): # Otherwise, it's a "return" tensor - if spaces not in (("o", "v"), ("o", "o", "v", "v"), ("o", "o", "O", "v", "v", "V")): + if spaces not in (("o", "v"), ("o", "o", "v", "v"), ("O", "o", "o", "v", "v", "V")): name = name.replace(".", "_") name = f"{name}_{''.join(spaces)}" return name @@ -135,12 +135,12 @@ def preamble(self, imports=None): # Get the indices indices = set() if o.name.startswith("t3"): - indices = indices.union({o.indices[2], o.indices[5]}) + indices = indices.union({o.indices[0], o.indices[5]}) for a in e.nested_view(): indices_a = indices.copy() for t in a: if isinstance(t, Tensor) and t.name.startswith("t3"): - indices_a = indices_a.union({t.indices[2], t.indices[5]}) + indices_a = indices_a.union({t.indices[0], t.indices[5]}) # Substitute the indices subs = {i: Index(i.name.upper(), spin=i.spin, space=i.space.upper()) for i in indices_a} @@ -215,7 +215,7 @@ def preamble(self, imports=None): else: preamble += "\nso = np.ones((t1.shape[0],), dtype=bool)" preamble += "\nsv = np.ones((t1.shape[1],), dtype=bool)" - preamble += "\nsi = np.ones((t3.shape[2],), dtype=bool)" + preamble += "\nsi = np.ones((t3.shape[0],), dtype=bool)" preamble += "\nsa = np.ones((t3.shape[5],), dtype=bool)" preamble += "\nsO = space.active[space.correlated][space.occupied[space.correlated]]" preamble += "\nsV = space.active[space.correlated][space.virtual[space.correlated]]" @@ -225,24 +225,26 @@ def preamble(self, imports=None): for o, e in zip(output, expr): if o.name.startswith("t") and not o.name.startswith("tmp"): spaces = "".join(tuple(i.space for i in o.indices)) - if set(spaces) != {"o", "v"} and spaces != "ooOvvV": + if set(spaces) != {"o", "v"} and spaces != "OoovvV": out_keys.add(spaces) for a in e.nested_view(): for t in a: if isinstance(t, Tensor) and t.name.startswith("t") and not t.name.startswith("tmp"): spaces = "".join(tuple(i.space for i in t.indices)) - if set(spaces) != {"o", "v"} and spaces != "ooOvvV": + if set(spaces) != {"o", "v"} and spaces != "OoovvV": inp_keys.add(spaces) for key in sorted(inp_keys, key=lambda x: (len(x), x)): if len(key) == 6: - slices = ", ".join(f"s{c}" for c in key[:2]) + ", si, " + ", ".join(f"s{c}" for c in key[3:5]) + ", sa" + #slices = ", ".join(f"s{c}" for c in key[:2]) + ", si, " + ", ".join(f"s{c}" for c in key[3:5]) + ", sa" + slices = "si, " + ", ".join(f"s{c}" for c in key[1:5]) + ", sa" else: slices = ", ".join(f"s{c}" for c in key) preamble += f"\nt{len(key)//2}_{key} = np.copy(t{len(key)//2}[np.ix_({slices})])" ignore_arguments.append(f"t{len(key)//2}_{key}") for key in sorted(out_keys, key=lambda x: (len(x), x)): if len(key) == 6: - slices = ", ".join(f"s{c}" for c in key[:2]) + ", si, " + ", ".join(f"s{c}" for c in key[3:5]) + ", sa" + #slices = ", ".join(f"s{c}" for c in key[:2]) + ", si, " + ", ".join(f"s{c}" for c in key[3:5]) + ", sa" + slices = "si, " + ", ".join(f"s{c}" for c in key[1:5]) + ", sa" else: slices = ", ".join(f"s{c}" for c in key) postamble += f"\nt{len(key)//2}new += _inflate(t{len(key)//2}new.shape, np.ix_({slices}), t{len(key)//2}new_{key})" diff --git a/ebcc/codegen/bootstrap_common.py b/ebcc/codegen/bootstrap_common.py index 0461ac02..6c57558f 100644 --- a/ebcc/codegen/bootstrap_common.py +++ b/ebcc/codegen/bootstrap_common.py @@ -3,6 +3,7 @@ import itertools import time +import re from collections import defaultdict from albert.codegen.einsum import EinsumCodeGen as _EinsumCodeGen @@ -46,6 +47,8 @@ "v": VIRT_INDICES, "O": [i.upper() for i in OCC_INDICES], "V": [i.upper() for i in VIRT_INDICES], + "i": [f"{i}_" for i in OCC_INDICES], + "a": [f"{i}_" for i in VIRT_INDICES], "b": ["x", "y", "z", "b0", "b1", "b2", "b3"], "x": ["P", "Q", "R", "S", "x0", "x1", "x2", "x3", "x4", "x5", "x7"], "d": ["DUMMY1", "DUMMY2", "DUMMY3", "DUMMY4"], @@ -61,6 +64,8 @@ "v": 1000, "O": 8, "V": 16, + "i": 192, + "a": 984, "b": 10, "x": 3000, "d": 100000, @@ -240,9 +245,22 @@ def spin_integrate(expr, spin): def remove_hf_energy(terms): """Remove the HF energy from the terms.""" - terms = [term for term in terms if set(term) != {"+1.00000000000000", "f(i,i)"}] - terms = [term for term in terms if set(term) != {"-0.50000000000000", ""}] - return terms + new_terms = [] + for term in terms: + if len(term) == 2: + factor, tensor = term + if tensor.startswith("f_"): + tensor = "f" + tensor[4:] + if tensor.startswith("<") and "_" in tensor: + tensor = tensor[:-5] + if (factor, tensor) == ("+1.00000000000000", "f(i,i)"): + continue + if (factor, tensor) == ("-0.50000000000000", ""): + continue + if (factor, tensor) == ("-0.50000000000000", ""): + continue + new_terms.append(term) + return new_terms def remove_e0_eom(terms): diff --git a/ebcc/core/ansatz.py b/ebcc/core/ansatz.py index e47f6128..5f7c9b98 100644 --- a/ebcc/core/ansatz.py +++ b/ebcc/core/ansatz.py @@ -24,7 +24,6 @@ "QCISD": ("QCISD", "", 0, 0), "DCD": ("DCD", "", 0, 0), "DCSD": ("DCSD", "", 0, 0), - "CCSDt": ("CCSDt", "", 0, 0), "CCSDt'": ("CCSDt'", "", 0, 0), "CCSD-S-1-1": ("CCSD", "S", 1, 1), "CCSD-SD-1-1": ("CCSD", "SD", 1, 1), From f1948f635a1130869d6d8e6d9b31373b9122e6dc Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Thu, 17 Oct 2024 22:37:58 +0100 Subject: [PATCH 115/168] EOM-CCSDT --- ebcc/codegen/bootstrap_CCSDT.py | 532 ++++++++++++++++++++++++++++++++ 1 file changed, 532 insertions(+) diff --git a/ebcc/codegen/bootstrap_CCSDT.py b/ebcc/codegen/bootstrap_CCSDT.py index f6356038..45e0c3f4 100644 --- a/ebcc/codegen/bootstrap_CCSDT.py +++ b/ebcc/codegen/bootstrap_CCSDT.py @@ -313,6 +313,538 @@ **kwargs, ) +with Stopwatch("IP-EOM"): + # Get the R1 contractions in pdaggerq format + pq.clear() + pq.set_right_operators_type("IP") + pq.set_left_operators([["a*(i)"]]) + pq.set_right_operators([["r1"], ["r2"], ["r3"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2", "t3"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3"]) + pq.simplify() + terms_r1 = pq.fully_contracted_strings() + terms_r1 = remove_e0_eom(terms_r1) + + # Get the R2 contractions in pdaggerq format + pq.clear() + pq.set_right_operators_type("IP") + pq.set_left_operators([["a*(i)", "a*(j)", "a(a)"]]) + pq.set_right_operators([["r1"], ["r2"], ["r3"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2", "t3"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3"]) + pq.simplify() + terms_r2 = pq.fully_contracted_strings() + terms_r2 = remove_e0_eom(terms_r2) + + # Get the R3 contractions in pdaggerq format + pq.clear() + pq.set_right_operators_type("IP") + pq.set_left_operators([["a*(i)", "a*(j)", "a*(k)", "a(b)", "a(a)"]]) + pq.set_right_operators([["r1"], ["r2"], ["r3"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2", "t3"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3"]) + pq.simplify() + terms_r3 = pq.fully_contracted_strings() + terms_r3 = remove_e0_eom(terms_r3) + + # Get the R amplitudes in albert format + terms = [terms_r1, terms_r2, terms_r3] + expr = [] + output = [] + returns = [] + for n in range(3): + for index_spins in get_amplitude_spins(n + 1, spin, which="ip"): + indices = default_indices["o"][: n + 1] + default_indices["v"][: n] + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + + (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="exhaust") + + # Generate the R amplitude intermediates code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_matvec_ip_intermediates", + returns_nr, + output_nr, + expr_nr, + **kwargs, + ) + + # Generate the R amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + preamble = "ints = kwargs[\"ints\"]" + if spin == "uhf": + preamble += "\nr1new = Namespace()\nr2new = Namespace()" + kwargs = { + "preamble": preamble, + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_matvec_ip", + returns_r, + output_r, + expr_r, + **kwargs, + ) + +with Stopwatch("EA-EOM"): + # Get the R1 contractions in pdaggerq format + pq.clear() + pq.set_right_operators_type("EA") + pq.set_left_operators([["a(a)"]]) + pq.set_right_operators([["r1"], ["r2"], ["r3"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2", "t3"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3"]) + pq.simplify() + terms_r1 = pq.fully_contracted_strings() + terms_r1 = remove_e0_eom(terms_r1) + + # Get the R2 contractions in pdaggerq format + pq.clear() + pq.set_right_operators_type("EA") + pq.set_left_operators([["a*(i)", "a(b)", "a(a)"]]) + pq.set_right_operators([["r1"], ["r2"], ["r3"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2", "t3"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3"]) + pq.simplify() + terms_r2 = pq.fully_contracted_strings() + terms_r2 = remove_e0_eom(terms_r2) + + # Get the R3 contractions in pdaggerq format + pq.clear() + pq.set_right_operators_type("EA") + pq.set_left_operators([["a*(i)", "a*(j)", "a(c)", "a(b)", "a(a)"]]) + pq.set_right_operators([["r1"], ["r2"], ["r3"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2", "t3"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3"]) + pq.simplify() + terms_r3 = pq.fully_contracted_strings() + terms_r3 = remove_e0_eom(terms_r3) + + # Get the R amplitudes in albert format + terms = [terms_r1, terms_r2, terms_r3] + expr = [] + output = [] + returns = [] + for n in range(3): + for index_spins in get_amplitude_spins(n + 1, spin, which="ea"): + indices = default_indices["v"][: n + 1] + default_indices["o"][: n] + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + + (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="exhaust") + + # Generate the R amplitude intermediates code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_matvec_ea_intermediates", + returns_nr, + output_nr, + expr_nr, + **kwargs, + ) + + # Generate the R amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + preamble = "ints = kwargs[\"ints\"]" + if spin == "uhf": + preamble += "\nr1new = Namespace()\nr2new = Namespace()" + kwargs = { + "preamble": preamble, + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_matvec_ea", + returns_r, + output_r, + expr_r, + **kwargs, + ) + +if spin == "ghf": # FIXME + with Stopwatch("EE-EOM"): + # Get the R1 contractions in pdaggerq format + pq.clear() + pq.set_right_operators_type("EE") + pq.set_left_operators([["e1(i,a)"]]) + pq.set_right_operators([["r1"], ["r2"], ["r3"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2", "t3"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3"]) + pq.simplify() + terms_r1 = pq.fully_contracted_strings() + terms_r1 = remove_e0_eom(terms_r1) + + # Get the R2 contractions in pdaggerq format + pq.clear() + pq.set_right_operators_type("EE") + pq.set_left_operators([["e2(i,j,b,a)"]]) + pq.set_right_operators([["r1"], ["r2"], ["r3"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2", "t3"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3"]) + pq.simplify() + terms_r2 = pq.fully_contracted_strings() + terms_r2 = remove_e0_eom(terms_r2) + + # Get the R3 contractions in pdaggerq format + pq.clear() + pq.set_right_operators_type("EE") + pq.set_left_operators([["e3(i,j,k,c,b,a)"]]) + pq.set_right_operators([["r1"], ["r2"], ["r3"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2", "t3"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3"]) + pq.simplify() + terms_r3 = pq.fully_contracted_strings() + terms_r3 = remove_e0_eom(terms_r3) + + # Get the R amplitudes in albert format + terms = [terms_r1, terms_r2, terms_r3] + expr = [] + output = [] + returns = [] + for n in range(3): + for index_spins in get_amplitude_spins(n + 1, spin, which="ee"): + indices = default_indices["o"][: n + 1] + default_indices["v"][: n + 1] + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + + (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="trav") + + # Generate the R amplitude intermediates code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_matvec_ee_intermediates", + returns_nr, + output_nr, + expr_nr, + **kwargs, + ) + + # Generate the R amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + preamble = "ints = kwargs[\"ints\"]" + if spin == "uhf": + preamble += "\nr1new = Namespace()\nr2new = Namespace()" + kwargs = { + "preamble": preamble, + "postamble": "r2new.baba = np.transpose(r2new.abab, (1, 0, 3, 2))" if spin == "uhf" else None, # FIXME + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_matvec_ee", + returns_r, + output_r, + expr_r, + **kwargs, + ) + +with Stopwatch("L-IP-EOM"): + # Get the L1 contractions in pdaggerq format + pq.clear() + pq.set_left_operators_type("IP") + pq.set_left_operators([["l1"], ["l2"], ["l3"]]) + pq.set_right_operators([["a(i)"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2", "t3"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3"]) + pq.simplify() + terms_r1 = pq.fully_contracted_strings() + terms_r1 = remove_e0_eom(terms_r1) + + # Get the L2 contractions in pdaggerq format + pq.clear() + pq.set_left_operators_type("IP") + pq.set_right_operators([["a*(a)", "a(j)", "a(i)"]]) + pq.set_left_operators([["l1"], ["l2"], ["l3"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2", "t3"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3"]) + pq.simplify() + terms_r2 = pq.fully_contracted_strings() + terms_r2 = remove_e0_eom(terms_r2) + + # Get the L3 contractions in pdaggerq format + pq.clear() + pq.set_left_operators_type("IP") + pq.set_right_operators([["a*(a)", "a*(b)", "a(k)", "a(j)", "a(i)"]]) + pq.set_left_operators([["l1"], ["l2"], ["l3"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2", "t3"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3"]) + pq.simplify() + terms_r3 = pq.fully_contracted_strings() + terms_r3 = remove_e0_eom(terms_r3) + + # Get the L amplitudes in albert format + terms = [terms_r1, terms_r2, terms_r3] + expr = [] + output = [] + returns = [] + for n in range(3): + for index_spins in get_amplitude_spins(n + 1, spin, which="ip"): + indices = default_indices["o"][: n + 1] + default_indices["v"][: n] + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins, l_is_lambda=False) + expr_n = spin_integrate(expr_n, spin) + output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + + (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="exhaust") + + # Generate the L amplitude intermediates code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_lmatvec_ip_intermediates", + returns_nr, + output_nr, + expr_nr, + **kwargs, + ) + + # Generate the L amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + preamble = "ints = kwargs[\"ints\"]" + if spin == "uhf": + preamble += "\nr1new = Namespace()\nr2new = Namespace()" + kwargs = { + "preamble": preamble, + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_lmatvec_ip", + returns_r, + output_r, + expr_r, + **kwargs, + ) + +with Stopwatch("L-EA-EOM"): + # Get the L1 contractions in pdaggerq format + pq.clear() + pq.set_left_operators_type("EA") + pq.set_left_operators([["l1"], ["l2"], ["l3"]]) + pq.set_right_operators([["a*(a)"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2", "t3"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3"]) + pq.simplify() + terms_r1 = pq.fully_contracted_strings() + terms_r1 = remove_e0_eom(terms_r1) + + # Get the L2 contractions in pdaggerq format + pq.clear() + pq.set_left_operators_type("EA") + pq.set_right_operators([["a*(a)", "a*(b)", "a(i)"]]) + pq.set_left_operators([["l1"], ["l2"], ["l3"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2", "t3"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3"]) + pq.simplify() + terms_r2 = pq.fully_contracted_strings() + terms_r2 = remove_e0_eom(terms_r2) + + # Get the L3 contractions in pdaggerq format + pq.clear() + pq.set_left_operators_type("EA") + pq.set_right_operators([["a*(a)", "a*(b)", "a*(c)", "a(j)", "a(i)"]]) + pq.set_left_operators([["l1"], ["l2"], ["l3"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2", "t3"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3"]) + pq.simplify() + terms_r3 = pq.fully_contracted_strings() + terms_r3 = remove_e0_eom(terms_r3) + + # Get the L amplitudes in albert format + terms = [terms_r1, terms_r2, terms_r3] + expr = [] + output = [] + returns = [] + for n in range(3): + for index_spins in get_amplitude_spins(n + 1, spin, which="ea"): + indices = default_indices["v"][: n + 1] + default_indices["o"][: n] + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins, l_is_lambda=False) + expr_n = spin_integrate(expr_n, spin) + output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + + (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="exhaust") + + # Generate the L amplitude intermediates code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_lmatvec_ea_intermediates", + returns_nr, + output_nr, + expr_nr, + **kwargs, + ) + + # Generate the L amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + preamble = "ints = kwargs[\"ints\"]" + if spin == "uhf": + preamble += "\nr1new = Namespace()\nr2new = Namespace()" + kwargs = { + "preamble": preamble, + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_lmatvec_ea", + returns_r, + output_r, + expr_r, + **kwargs, + ) + +if spin == "ghf": # FIXME + with Stopwatch("L-EE-EOM"): + # Get the L1 contractions in pdaggerq format + pq.clear() + pq.set_left_operators_type("EE") + pq.set_left_operators([["l1"], ["l2"], ["l3"]]) + pq.set_right_operators([["e1(a,i)"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2", "t3"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3"]) + pq.simplify() + terms_r1 = pq.fully_contracted_strings() + terms_r1 = remove_e0_eom(terms_r1) + + # Get the L2 contractions in pdaggerq format + pq.clear() + pq.set_left_operators_type("EE") + pq.set_left_operators([["l1"], ["l2"], ["l3"]]) + pq.set_right_operators([["e2(a,b,j,i)"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2", "t3"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3"]) + pq.simplify() + terms_r2 = pq.fully_contracted_strings() + terms_r2 = remove_e0_eom(terms_r2) + + # Get the L3 contractions in pdaggerq format + pq.clear() + pq.set_left_operators_type("EE") + pq.set_left_operators([["l1"], ["l2"], ["l3"]]) + pq.set_right_operators([["e3(a,b,c,k,j,i)"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2", "t3"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3"]) + pq.simplify() + terms_r3 = pq.fully_contracted_strings() + terms_r3 = remove_e0_eom(terms_r3) + + # Get the L amplitudes in albert format + terms = [terms_r1, terms_r2, terms_r3] + expr = [] + output = [] + returns = [] + for n in range(3): + for index_spins in get_amplitude_spins(n + 1, spin, which="ee"): + indices = default_indices["o"][: n + 1] + default_indices["v"][: n + 1] + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins, l_is_lambda=False) + expr_n = spin_integrate(expr_n, spin) + output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + + (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="trav") + + # Generate the L amplitude intermediates code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_lmatvec_ee_intermediates", + returns_nr, + output_nr, + expr_nr, + **kwargs, + ) + + # Generate the L amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + preamble = "ints = kwargs[\"ints\"]" + if spin == "uhf": + preamble += "\nr1new = Namespace()\nr2new = Namespace()" + kwargs = { + "preamble": preamble, + "postamble": "r2new.baba = np.transpose(r2new.abab, (1, 0, 3, 2))" if spin == "uhf" else None, # FIXME + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_lmatvec_ee", + returns_r, + output_r, + expr_r, + **kwargs, + ) + for codegen in code_generators.values(): codegen.postamble() codegen.stdout.close() From 6918222b202a0b492c8d27c87bdf09de904f4778 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Thu, 17 Oct 2024 23:32:15 +0100 Subject: [PATCH 116/168] EOM-CCSDT --- ebcc/codegen/bootstrap_CCSDT.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ebcc/codegen/bootstrap_CCSDT.py b/ebcc/codegen/bootstrap_CCSDT.py index 45e0c3f4..b6a429a1 100644 --- a/ebcc/codegen/bootstrap_CCSDT.py +++ b/ebcc/codegen/bootstrap_CCSDT.py @@ -3,7 +3,7 @@ """ import sys -sys.setrecursionlimit(100000000) +sys.setrecursionlimit(1000000000000) import pdaggerq from albert.qc._pdaggerq import import_from_pdaggerq From 7fe9cb119df3f759bd391af812ecd891a4be56f6 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Thu, 17 Oct 2024 23:32:27 +0100 Subject: [PATCH 117/168] Lambda, RDMs, EOM-QCISD --- ebcc/codegen/bootstrap_QCISD.py | 725 +++++++++++++++++++++++++++++++- 1 file changed, 711 insertions(+), 14 deletions(-) diff --git a/ebcc/codegen/bootstrap_QCISD.py b/ebcc/codegen/bootstrap_QCISD.py index 264f7026..5945f8e3 100644 --- a/ebcc/codegen/bootstrap_QCISD.py +++ b/ebcc/codegen/bootstrap_QCISD.py @@ -63,26 +63,22 @@ # Get the T1 contractions in pdaggerq format pq.clear() pq.set_left_operators([["e1(i,a)"]]) - pq.add_commutator(1.0, ["f"], ["t1"]) - pq.add_commutator(1.0, ["v"], ["t1"]) - pq.add_commutator(1.0, ["f"], ["t2"]) - pq.add_commutator(1.0, ["v"], ["t2"]) - pq.add_double_commutator(1.0, ["f"], ["t1"], ["t2"]) - pq.add_double_commutator(1.0, ["v"], ["t1"], ["t2"]) + for ham in ("f", "v"): + pq.add_operator_product(1.0, [ham]) + pq.add_commutator(1.0, [ham], ["t1"]) + pq.add_commutator(1.0, [ham], ["t2"]) + pq.add_double_commutator(1.0, [ham], ["t1"], ["t2"]) pq.simplify() terms_t1 = pq.fully_contracted_strings() # Get the T2 contractions in pdaggerq format pq.clear() pq.set_left_operators([["e2(i,j,b,a)"]]) - pq.add_operator_product(1.0, ["f"]) - pq.add_operator_product(1.0, ["v"]) - pq.add_commutator(1.0, ["f"], ["t1"]) - pq.add_commutator(1.0, ["v"], ["t1"]) - pq.add_commutator(1.0, ["f"], ["t2"]) - pq.add_commutator(1.0, ["v"], ["t2"]) - pq.add_double_commutator(0.5, ["f"], ["t2"], ["t2"]) - pq.add_double_commutator(0.5, ["v"], ["t2"], ["t2"]) + for ham in ("f", "v"): + pq.add_operator_product(1.0, [ham]) + pq.add_commutator(1.0, [ham], ["t1"]) + pq.add_commutator(1.0, [ham], ["t2"]) + pq.add_double_commutator(1.0, [ham], ["t1"], ["t2"]) pq.simplify() terms_t2 = pq.fully_contracted_strings() @@ -121,6 +117,707 @@ **kwargs, ) +with Stopwatch("L amplitudes"): + # Get the L1 contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["1"]]) + pq.set_right_operators([["1"]]) + for ham in ("f", "v"): + pq.add_operator_product(1.0, [ham, "e1(a,i)"]) + pq.add_commutator(1.0, [ham, "e1(a,i)"], ["t1"]) + pq.add_commutator(1.0, [ham, "e1(a,i)"], ["t2"]) + pq.add_double_commutator(1.0, [ham, "e1(a,i)"], ["t1"], ["t2"]) + pq.set_left_operators([["l1"], ["l2"]]) + for ham in ("f", "v"): + pq.add_operator_product(1.0, [ham, "e1(a,i)"]) + pq.add_commutator(1.0, [ham, "e1(a,i)"], ["t1"]) + pq.add_commutator(1.0, [ham, "e1(a,i)"], ["t2"]) + pq.add_double_commutator(1.0, [ham, "e1(a,i)"], ["t1"], ["t2"]) + pq.add_operator_product(-1.0, ["e1(a,i)", ham]) + pq.add_commutator(-1.0, ["e1(a,i)", ham], ["t1"]) + pq.add_commutator(-1.0, ["e1(a,i)", ham], ["t2"]) + pq.add_double_commutator(-1.0, ["e1(a,i)", ham], ["t1"], ["t2"]) + pq.simplify() + terms_l1 = pq.fully_contracted_strings() + + # Get the L2 contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["1"]]) + pq.set_right_operators([["1"]]) + for ham in ("f", "v"): + pq.add_operator_product(1.0, [ham, "e2(a,b,j,i)"]) + pq.add_commutator(1.0, [ham, "e2(a,b,j,i)"], ["t1"]) + pq.add_commutator(1.0, [ham, "e2(a,b,j,i)"], ["t2"]) + pq.add_double_commutator(1.0, [ham, "e2(a,b,j,i)"], ["t1"], ["t2"]) + pq.set_left_operators([["l1"], ["l2"]]) + for ham in ("f", "v"): + pq.add_operator_product(1.0, [ham, "e2(a,b,j,i)"]) + pq.add_commutator(1.0, [ham, "e2(a,b,j,i)"], ["t1"]) + pq.add_commutator(1.0, [ham, "e2(a,b,j,i)"], ["t2"]) + pq.add_double_commutator(1.0, [ham, "e2(a,b,j,i)"], ["t1"], ["t2"]) + pq.add_operator_product(-1.0, ["e2(a,b,j,i)", ham]) + pq.add_commutator(-1.0, ["e2(a,b,j,i)", ham], ["t1"]) + pq.add_commutator(-1.0, ["e2(a,b,j,i)", ham], ["t2"]) + pq.add_double_commutator(-1.0, ["e2(a,b,j,i)", ham], ["t1"], ["t2"]) + pq.simplify() + terms_l2 = pq.fully_contracted_strings() + + # Get the L amplitudes in albert format + terms = [terms_l1, terms_l2] + expr = [] + output = [] + returns = [] + for n in range(2): + for index_spins in get_amplitude_spins(n + 1, spin): + indices = default_indices["v"][: n + 1] + default_indices["o"][: n + 1] + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + output_n = get_l_amplitude_outputs(expr_n, f"l{n+1}new") + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"l{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + output, expr = optimise(output, expr, spin, strategy="opt") + + # Generate the L amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "preamble": "l1new = Namespace()\nl2new = Namespace()" if spin == "uhf" else None, + "as_dict": True, + } + else: + kwargs = {} + codegen( + "update_lams", + returns, + output, + expr, + **kwargs, + ) + +with Stopwatch("1RDM"): + # Get the 1RDM contractions in pdaggerq format + terms = {} + for sectors, indices in [("oo", "ij"), ("ov", "ia"), ("vo", "ai"), ("vv", "ab")]: + pq.clear() + pq.set_left_operators([["1"], ["l1"], ["l2"]]) + pq.add_st_operator(1.0, [f"e1({','.join(indices)})"], ["t1", "t2"]) + pq.simplify() + terms[sectors, indices] = pq.fully_contracted_strings() + + # Get the 1RDM in albert format + expr = [] + output = [] + returns = [] + for sectors, indices in [("oo", "ij"), ("ov", "ia"), ("vo", "ai"), ("vv", "ab")]: + for index_spins in get_density_spins(1, spin, indices): + expr_n = import_from_pdaggerq(terms[sectors, indices], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + if spin == "rhf": + expr_n = tuple(e * 2 for e in expr_n) + output_n = get_density_outputs(expr_n, f"d", indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i], space=s) for i, s in zip(indices, sectors)), name=f"d"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + output, expr = optimise(output, expr, spin, strategy="exhaust") + + # Generate the 1RDM code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "preamble": get_density_einsum_preamble(1, spin), + "postamble": get_density_einsum_postamble(1, spin), + } + else: + kwargs = {} + codegen( + "make_rdm1_f", + returns, + output, + expr, + **kwargs, + ) + +with Stopwatch("2RDM"): + # Get the 2RDM contractions in pdaggerq format + terms = {} + for sectors, indices in [ + ("oooo", "ijkl"), + ("ooov", "ijka"), + ("oovo", "ijak"), + ("ovoo", "iajk"), + ("vooo", "aijk"), + ("oovv", "ijab"), + ("ovov", "iajb"), + ("ovvo", "iabj"), + ("voov", "aijb"), + ("vovo", "aibj"), + ("vvoo", "abij"), + ("ovvv", "iabc"), + ("vovv", "aibc"), + ("vvov", "abic"), + ("vvvo", "abci"), + ("vvvv", "abcd"), + ]: + pq.clear() + pq.set_left_operators([["1"], ["l1"], ["l2"]]) + pq.add_st_operator( + 1.0, [f"e2({indices[0]},{indices[1]},{indices[3]},{indices[2]})"], ["t1", "t2"] + ) + pq.simplify() + terms[sectors, indices] = pq.fully_contracted_strings() + + # Get the 2RDM in albert format + expr = [] + output = [] + returns = [] + for sectors, indices in [ + ("oooo", "ijkl"), + ("ooov", "ijka"), + ("oovo", "ijak"), + ("ovoo", "iajk"), + ("vooo", "aijk"), + ("oovv", "ijab"), + ("ovov", "iajb"), + ("ovvo", "iabj"), + ("voov", "aijb"), + ("vovo", "aibj"), + ("vvoo", "abij"), + ("ovvv", "iabc"), + ("vovv", "aibc"), + ("vvov", "abic"), + ("vvvo", "abci"), + ("vvvv", "abcd"), + ]: + for index_spins in get_density_spins(2, spin, indices): + expr_n = import_from_pdaggerq(terms[sectors, indices], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + output_n = get_density_outputs(expr_n, f"Γ", indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i], space=s) for i, s in zip(indices, sectors)), name=f"Γ"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + output, expr = optimise(output, expr, spin, strategy="trav") + + # Generate the 2RDM code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "preamble": get_density_einsum_preamble(2, spin), + "postamble": get_density_einsum_postamble(2, spin), + } + codegen( + "make_rdm2_f", + returns, + output, + expr, + **kwargs, + ) + +with Stopwatch("IP-EOM"): + # Get the R1 contractions in pdaggerq format + pq.clear() + pq.set_right_operators_type("IP") + pq.set_left_operators([["a*(i)"]]) + pq.set_right_operators([["r1"], ["r2"]]) + for ham in ("f", "v"): + pq.add_operator_product(1.0, [ham]) + pq.add_commutator(1.0, [ham], ["t1"]) + pq.add_commutator(1.0, [ham], ["t2"]) + pq.add_double_commutator(1.0, [ham], ["t1"], ["t2"]) + pq.simplify() + terms_r1 = pq.fully_contracted_strings() + terms_r1 = remove_e0_eom(terms_r1) + + # Get the R2 contractions in pdaggerq format + pq.clear() + pq.set_right_operators_type("IP") + pq.set_left_operators([["a*(i)", "a*(j)", "a(a)"]]) + pq.set_right_operators([["r1"], ["r2"]]) + for ham in ("f", "v"): + pq.add_operator_product(1.0, [ham]) + pq.add_commutator(1.0, [ham], ["t1"]) + pq.add_commutator(1.0, [ham], ["t2"]) + pq.add_double_commutator(1.0, [ham], ["t1"], ["t2"]) + pq.simplify() + terms_r2 = pq.fully_contracted_strings() + terms_r2 = remove_e0_eom(terms_r2) + + # Get the R amplitudes in albert format + terms = [terms_r1, terms_r2] + expr = [] + output = [] + returns = [] + for n in range(2): + for index_spins in get_amplitude_spins(n + 1, spin, which="ip"): + indices = default_indices["o"][: n + 1] + default_indices["v"][: n] + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + + (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="exhaust") + + # Generate the R amplitude intermediates code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_matvec_ip_intermediates", + returns_nr, + output_nr, + expr_nr, + **kwargs, + ) + + # Generate the R amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + preamble = "ints = kwargs[\"ints\"]" + if spin == "uhf": + preamble += "\nr1new = Namespace()\nr2new = Namespace()" + kwargs = { + "preamble": preamble, + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_matvec_ip", + returns_r, + output_r, + expr_r, + **kwargs, + ) + +with Stopwatch("EA-EOM"): + # Get the R1 contractions in pdaggerq format + pq.clear() + pq.set_right_operators_type("EA") + pq.set_left_operators([["a(a)"]]) + pq.set_right_operators([["r1"], ["r2"]]) + for ham in ("f", "v"): + pq.add_operator_product(1.0, [ham]) + pq.add_commutator(1.0, [ham], ["t1"]) + pq.add_commutator(1.0, [ham], ["t2"]) + pq.add_double_commutator(1.0, [ham], ["t1"], ["t2"]) + pq.simplify() + terms_r1 = pq.fully_contracted_strings() + terms_r1 = remove_e0_eom(terms_r1) + + # Get the R2 contractions in pdaggerq format + pq.clear() + pq.set_right_operators_type("EA") + pq.set_left_operators([["a*(i)", "a(b)", "a(a)"]]) + pq.set_right_operators([["r1"], ["r2"]]) + for ham in ("f", "v"): + pq.add_operator_product(1.0, [ham]) + pq.add_commutator(1.0, [ham], ["t1"]) + pq.add_commutator(1.0, [ham], ["t2"]) + pq.add_double_commutator(1.0, [ham], ["t1"], ["t2"]) + pq.simplify() + terms_r2 = pq.fully_contracted_strings() + terms_r2 = remove_e0_eom(terms_r2) + + # Get the R amplitudes in albert format + terms = [terms_r1, terms_r2] + expr = [] + output = [] + returns = [] + for n in range(2): + for index_spins in get_amplitude_spins(n + 1, spin, which="ea"): + indices = default_indices["v"][: n + 1] + default_indices["o"][: n] + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + + (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="exhaust") + + # Generate the R amplitude intermediates code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_matvec_ea_intermediates", + returns_nr, + output_nr, + expr_nr, + **kwargs, + ) + + # Generate the R amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + preamble = "ints = kwargs[\"ints\"]" + if spin == "uhf": + preamble += "\nr1new = Namespace()\nr2new = Namespace()" + kwargs = { + "preamble": preamble, + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_matvec_ea", + returns_r, + output_r, + expr_r, + **kwargs, + ) + +if spin == "ghf": # FIXME + with Stopwatch("EE-EOM"): + # Get the R1 contractions in pdaggerq format + pq.clear() + pq.set_right_operators_type("EE") + pq.set_left_operators([["e1(i,a)"]]) + pq.set_right_operators([["r1"], ["r2"]]) + for ham in ("f", "v"): + pq.add_operator_product(1.0, [ham]) + pq.add_commutator(1.0, [ham], ["t1"]) + pq.add_commutator(1.0, [ham], ["t2"]) + pq.add_double_commutator(1.0, [ham], ["t1"], ["t2"]) + pq.simplify() + terms_r1 = pq.fully_contracted_strings() + terms_r1 = remove_e0_eom(terms_r1) + + # Get the R2 contractions in pdaggerq format + pq.clear() + pq.set_right_operators_type("EE") + pq.set_left_operators([["e2(i,j,b,a)"]]) + pq.set_right_operators([["r1"], ["r2"]]) + for ham in ("f", "v"): + pq.add_operator_product(1.0, [ham]) + pq.add_commutator(1.0, [ham], ["t1"]) + pq.add_commutator(1.0, [ham], ["t2"]) + pq.add_double_commutator(1.0, [ham], ["t1"], ["t2"]) + pq.simplify() + terms_r2 = pq.fully_contracted_strings() + terms_r2 = remove_e0_eom(terms_r2) + + # Get the R amplitudes in albert format + terms = [terms_r1, terms_r2] + expr = [] + output = [] + returns = [] + for n in range(2): + for index_spins in get_amplitude_spins(n + 1, spin, which="ee"): + indices = default_indices["o"][: n + 1] + default_indices["v"][: n + 1] + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + + (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="trav") + + # Generate the R amplitude intermediates code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_matvec_ee_intermediates", + returns_nr, + output_nr, + expr_nr, + **kwargs, + ) + + # Generate the R amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + preamble = "ints = kwargs[\"ints\"]" + if spin == "uhf": + preamble += "\nr1new = Namespace()\nr2new = Namespace()" + kwargs = { + "preamble": preamble, + "postamble": "r2new.baba = np.transpose(r2new.abab, (1, 0, 3, 2))" if spin == "uhf" else None, # FIXME + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_matvec_ee", + returns_r, + output_r, + expr_r, + **kwargs, + ) + +with Stopwatch("L-IP-EOM"): + # Get the L1 contractions in pdaggerq format + pq.clear() + pq.set_left_operators_type("IP") + pq.set_left_operators([["l1"], ["l2"]]) + pq.set_right_operators([["a(i)"]]) + for ham in ("f", "v"): + pq.add_operator_product(1.0, [ham]) + pq.add_commutator(1.0, [ham], ["t1"]) + pq.add_commutator(1.0, [ham], ["t2"]) + pq.add_double_commutator(1.0, [ham], ["t1"], ["t2"]) + pq.simplify() + terms_r1 = pq.fully_contracted_strings() + terms_r1 = remove_e0_eom(terms_r1) + + # Get the L2 contractions in pdaggerq format + pq.clear() + pq.set_left_operators_type("IP") + pq.set_right_operators([["a*(a)", "a(j)", "a(i)"]]) + pq.set_left_operators([["l1"], ["l2"]]) + for ham in ("f", "v"): + pq.add_operator_product(1.0, [ham]) + pq.add_commutator(1.0, [ham], ["t1"]) + pq.add_commutator(1.0, [ham], ["t2"]) + pq.add_double_commutator(1.0, [ham], ["t1"], ["t2"]) + pq.simplify() + terms_r2 = pq.fully_contracted_strings() + terms_r2 = remove_e0_eom(terms_r2) + + # Get the L amplitudes in albert format + terms = [terms_r1, terms_r2] + expr = [] + output = [] + returns = [] + for n in range(2): + for index_spins in get_amplitude_spins(n + 1, spin, which="ip"): + indices = default_indices["o"][: n + 1] + default_indices["v"][: n] + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins, l_is_lambda=False) + expr_n = spin_integrate(expr_n, spin) + output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + + (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="exhaust") + + # Generate the L amplitude intermediates code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_lmatvec_ip_intermediates", + returns_nr, + output_nr, + expr_nr, + **kwargs, + ) + + # Generate the L amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + preamble = "ints = kwargs[\"ints\"]" + if spin == "uhf": + preamble += "\nr1new = Namespace()\nr2new = Namespace()" + kwargs = { + "preamble": preamble, + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_lmatvec_ip", + returns_r, + output_r, + expr_r, + **kwargs, + ) + +with Stopwatch("L-EA-EOM"): + # Get the L1 contractions in pdaggerq format + pq.clear() + pq.set_left_operators_type("EA") + pq.set_left_operators([["l1"], ["l2"]]) + pq.set_right_operators([["a*(a)"]]) + for ham in ("f", "v"): + pq.add_operator_product(1.0, [ham]) + pq.add_commutator(1.0, [ham], ["t1"]) + pq.add_commutator(1.0, [ham], ["t2"]) + pq.add_double_commutator(1.0, [ham], ["t1"], ["t2"]) + pq.simplify() + terms_r1 = pq.fully_contracted_strings() + terms_r1 = remove_e0_eom(terms_r1) + + # Get the L2 contractions in pdaggerq format + pq.clear() + pq.set_left_operators_type("EA") + pq.set_right_operators([["a*(a)", "a*(b)", "a(i)"]]) + pq.set_left_operators([["l1"], ["l2"]]) + for ham in ("f", "v"): + pq.add_operator_product(1.0, [ham]) + pq.add_commutator(1.0, [ham], ["t1"]) + pq.add_commutator(1.0, [ham], ["t2"]) + pq.add_double_commutator(1.0, [ham], ["t1"], ["t2"]) + pq.simplify() + terms_r2 = pq.fully_contracted_strings() + terms_r2 = remove_e0_eom(terms_r2) + + # Get the L amplitudes in albert format + terms = [terms_r1, terms_r2] + expr = [] + output = [] + returns = [] + for n in range(2): + for index_spins in get_amplitude_spins(n + 1, spin, which="ea"): + indices = default_indices["v"][: n + 1] + default_indices["o"][: n] + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins, l_is_lambda=False) + expr_n = spin_integrate(expr_n, spin) + output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + + (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="exhaust") + + # Generate the L amplitude intermediates code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_lmatvec_ea_intermediates", + returns_nr, + output_nr, + expr_nr, + **kwargs, + ) + + # Generate the L amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + preamble = "ints = kwargs[\"ints\"]" + if spin == "uhf": + preamble += "\nr1new = Namespace()\nr2new = Namespace()" + kwargs = { + "preamble": preamble, + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_lmatvec_ea", + returns_r, + output_r, + expr_r, + **kwargs, + ) + +if spin == "ghf": # FIXME + with Stopwatch("L-EE-EOM"): + # Get the L1 contractions in pdaggerq format + pq.clear() + pq.set_left_operators_type("EE") + pq.set_left_operators([["l1"], ["l2"]]) + pq.set_right_operators([["e1(a,i)"]]) + for ham in ("f", "v"): + pq.add_operator_product(1.0, [ham]) + pq.add_commutator(1.0, [ham], ["t1"]) + pq.add_commutator(1.0, [ham], ["t2"]) + pq.add_double_commutator(1.0, [ham], ["t1"], ["t2"]) + pq.simplify() + terms_r1 = pq.fully_contracted_strings() + terms_r1 = remove_e0_eom(terms_r1) + + # Get the L2 contractions in pdaggerq format + pq.clear() + pq.set_left_operators_type("EE") + pq.set_left_operators([["l1"], ["l2"]]) + pq.set_right_operators([["e2(a,b,j,i)"]]) + for ham in ("f", "v"): + pq.add_operator_product(1.0, [ham]) + pq.add_commutator(1.0, [ham], ["t1"]) + pq.add_commutator(1.0, [ham], ["t2"]) + pq.add_double_commutator(1.0, [ham], ["t1"], ["t2"]) + pq.simplify() + terms_r2 = pq.fully_contracted_strings() + terms_r2 = remove_e0_eom(terms_r2) + + # Get the L amplitudes in albert format + terms = [terms_r1, terms_r2] + expr = [] + output = [] + returns = [] + for n in range(2): + for index_spins in get_amplitude_spins(n + 1, spin, which="ee"): + indices = default_indices["o"][: n + 1] + default_indices["v"][: n + 1] + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins, l_is_lambda=False) + expr_n = spin_integrate(expr_n, spin) + output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + + (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="trav") + + # Generate the L amplitude intermediates code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_lmatvec_ee_intermediates", + returns_nr, + output_nr, + expr_nr, + **kwargs, + ) + + # Generate the L amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + preamble = "ints = kwargs[\"ints\"]" + if spin == "uhf": + preamble += "\nr1new = Namespace()\nr2new = Namespace()" + kwargs = { + "preamble": preamble, + "postamble": "r2new.baba = np.transpose(r2new.abab, (1, 0, 3, 2))" if spin == "uhf" else None, # FIXME + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_lmatvec_ee", + returns_r, + output_r, + expr_r, + **kwargs, + ) + for codegen in code_generators.values(): codegen.postamble() codegen.stdout.close() From 89570766ce4eb7c0fc0dd58915973705988cce88 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Thu, 17 Oct 2024 23:32:42 +0100 Subject: [PATCH 118/168] Try bootstrapping CCSDT again --- .github/workflows/bootstrap_all.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/bootstrap_all.sh b/.github/workflows/bootstrap_all.sh index 342072aa..79949ad3 100644 --- a/.github/workflows/bootstrap_all.sh +++ b/.github/workflows/bootstrap_all.sh @@ -20,15 +20,15 @@ for method in CCD CCSD QCISD CC2 DCD DCSD; do done done -for method in CC3; do - for i in rhf uhf ghf; do +for method in CCSDwtwp; do + for i in rhf ghf; do echo "Bootstrapping $method ($i)" python -W ignore bootstrap_${method}.py $i done done -for method in CCSDwtwp; do - for i in rhf ghf; do +for method in CC3, CCSDT; do + for i in rhf uhf ghf; do echo "Bootstrapping $method ($i)" python -W ignore bootstrap_${method}.py $i done From 6dd9bb4774e5282f2e79cc623efe61bca1f0dfbd Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Fri, 18 Oct 2024 10:09:34 +0100 Subject: [PATCH 119/168] CCSDT bootstrap should work now --- .github/workflows/bootstrap_all.sh | 2 +- ebcc/codegen/bootstrap_CCSDT.py | 2 +- ebcc/codegen/bootstrap_common.py | 19 ++++++++++++++----- 3 files changed, 16 insertions(+), 7 deletions(-) diff --git a/.github/workflows/bootstrap_all.sh b/.github/workflows/bootstrap_all.sh index 79949ad3..8ea44cf6 100644 --- a/.github/workflows/bootstrap_all.sh +++ b/.github/workflows/bootstrap_all.sh @@ -27,7 +27,7 @@ for method in CCSDwtwp; do done done -for method in CC3, CCSDT; do +for method in CC3 CCSDT; do for i in rhf uhf ghf; do echo "Bootstrapping $method ($i)" python -W ignore bootstrap_${method}.py $i diff --git a/ebcc/codegen/bootstrap_CCSDT.py b/ebcc/codegen/bootstrap_CCSDT.py index b6a429a1..ec96a346 100644 --- a/ebcc/codegen/bootstrap_CCSDT.py +++ b/ebcc/codegen/bootstrap_CCSDT.py @@ -3,7 +3,7 @@ """ import sys -sys.setrecursionlimit(1000000000000) +sys.setrecursionlimit(2147483647) import pdaggerq from albert.qc._pdaggerq import import_from_pdaggerq diff --git a/ebcc/codegen/bootstrap_common.py b/ebcc/codegen/bootstrap_common.py index 6c57558f..0a8a22bf 100644 --- a/ebcc/codegen/bootstrap_common.py +++ b/ebcc/codegen/bootstrap_common.py @@ -235,12 +235,21 @@ def name_generator_uhf(tensor, add_spaces=True): def spin_integrate(expr, spin): """Perform the spin integration.""" - if spin == "rhf": - return (generalised_to_restricted(expr),) - elif spin == "uhf": - return generalised_to_unrestricted(expr) + if isinstance(expr, Add): + args = expr.args else: - return (expr,) + args = [expr] + out = tuple() + for p0 in range(0, len(args), 1000): + # Batch expressions to avoid deep recursion + p1 = min(p0 + 1000, len(args)) + if spin == "rhf": + out += (generalised_to_restricted(Add(*args[p0:p1])),) + elif spin == "uhf": + out += generalised_to_unrestricted(Add(*args[p0:p1])) + else: + out += (Add(*args[p0:p1]),) + return out def remove_hf_energy(terms): From 6fe9c5ba417c1b869015597a2bca4a614a390235 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Fri, 18 Oct 2024 16:23:35 +0100 Subject: [PATCH 120/168] Run bootstrap jobs in background --- .github/workflows/bootstrap_all.sh | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/bootstrap_all.sh b/.github/workflows/bootstrap_all.sh index 8ea44cf6..0e359f7f 100644 --- a/.github/workflows/bootstrap_all.sh +++ b/.github/workflows/bootstrap_all.sh @@ -4,7 +4,7 @@ for method in MPn; do for n in 2 3; do for i in rhf uhf ghf; do echo "Bootstrapping $method ($i) (order=$n)" - python -W ignore bootstrap_${method}.py $i $n + python -W ignore bootstrap_${method}.py $i $n & done done done @@ -12,24 +12,24 @@ done for method in CCD CCSD QCISD CC2 DCD DCSD; do for i in rhf uhf ghf; do echo "Bootstrapping $method ($i)" - python -W ignore bootstrap_${method}.py $i + python -W ignore bootstrap_${method}.py $i & done for i in rhf uhf; do echo "Bootstrapping DF-$method ($i)" - python -W ignore bootstrap_DF${method}.py $i + python -W ignore bootstrap_DF${method}.py $i & done done for method in CCSDwtwp; do for i in rhf ghf; do echo "Bootstrapping $method ($i)" - python -W ignore bootstrap_${method}.py $i + python -W ignore bootstrap_${method}.py $i & done done for method in CC3 CCSDT; do for i in rhf uhf ghf; do echo "Bootstrapping $method ($i)" - python -W ignore bootstrap_${method}.py $i + python -W ignore bootstrap_${method}.py $i & done done From 0dd307aaf3cc75280c1bd5e1f0e3a30bf2feb00a Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Fri, 18 Oct 2024 16:27:35 +0100 Subject: [PATCH 121/168] Add wait --- .github/workflows/bootstrap.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/bootstrap.yaml b/.github/workflows/bootstrap.yaml index ad5ee320..5adf2744 100644 --- a/.github/workflows/bootstrap.yaml +++ b/.github/workflows/bootstrap.yaml @@ -46,6 +46,7 @@ jobs: git checkout bootstrap chmod +x .github/workflows/bootstrap_all.sh cd ebcc/codegen && ./../../.github/workflows/bootstrap_all.sh + wait git config --global user.name "github-actions[bot]" git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com" git checkout -b bootstrap_ci From 129402c656b2a9bbd824d5f88454340e463bf969 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Fri, 18 Oct 2024 16:31:17 +0100 Subject: [PATCH 122/168] Try it here instead --- .github/workflows/bootstrap.yaml | 1 - .github/workflows/bootstrap_all.sh | 2 ++ 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/bootstrap.yaml b/.github/workflows/bootstrap.yaml index 5adf2744..ad5ee320 100644 --- a/.github/workflows/bootstrap.yaml +++ b/.github/workflows/bootstrap.yaml @@ -46,7 +46,6 @@ jobs: git checkout bootstrap chmod +x .github/workflows/bootstrap_all.sh cd ebcc/codegen && ./../../.github/workflows/bootstrap_all.sh - wait git config --global user.name "github-actions[bot]" git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com" git checkout -b bootstrap_ci diff --git a/.github/workflows/bootstrap_all.sh b/.github/workflows/bootstrap_all.sh index 0e359f7f..f21e0aa7 100644 --- a/.github/workflows/bootstrap_all.sh +++ b/.github/workflows/bootstrap_all.sh @@ -33,3 +33,5 @@ for method in CC3 CCSDT; do python -W ignore bootstrap_${method}.py $i & done done + +wait From 4cee4900f13124dcdda4a4e96bb6c054943a40d7 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Fri, 18 Oct 2024 16:50:17 +0100 Subject: [PATCH 123/168] Coarser optimisations for some expensive stuff --- ebcc/codegen/bootstrap_CCSDT.py | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/ebcc/codegen/bootstrap_CCSDT.py b/ebcc/codegen/bootstrap_CCSDT.py index ec96a346..7d8ba4ab 100644 --- a/ebcc/codegen/bootstrap_CCSDT.py +++ b/ebcc/codegen/bootstrap_CCSDT.py @@ -97,7 +97,7 @@ expr.extend(expr_n) output.extend(output_n) returns.extend(returns_n) - output, expr = optimise(output, expr, spin, strategy="exhaust") + output, expr = optimise(output, expr, spin, strategy="exhaust" if spin != "uhf" else "opt") # Generate the T amplitude code for name, codegen in code_generators.items(): @@ -174,7 +174,7 @@ expr.extend(expr_n) output.extend(output_n) returns.extend(returns_n) - output, expr = optimise(output, expr, spin, strategy="opt") + output, expr = optimise(output, expr, spin, strategy="opt" if spin != "uhf" else "greedy") # Generate the L amplitude code for name, codegen in code_generators.items(): @@ -363,7 +363,7 @@ output.extend(output_n) returns.extend(returns_n) - (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="exhaust") + (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="trav" if spin != "uhf" else "greedy") # Generate the R amplitude intermediates code for name, codegen in code_generators.items(): @@ -451,7 +451,7 @@ output.extend(output_n) returns.extend(returns_n) - (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="exhaust") + (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="trav" if spin != "uhf" else "greedy") # Generate the R amplitude intermediates code for name, codegen in code_generators.items(): @@ -540,7 +540,7 @@ output.extend(output_n) returns.extend(returns_n) - (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="trav") + (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="trav" if spin != "uhf" else "greedy") # Generate the R amplitude intermediates code for name, codegen in code_generators.items(): @@ -629,7 +629,7 @@ output.extend(output_n) returns.extend(returns_n) - (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="exhaust") + (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="trav" if spin != "uhf" else "greedy") # Generate the L amplitude intermediates code for name, codegen in code_generators.items(): @@ -717,7 +717,7 @@ output.extend(output_n) returns.extend(returns_n) - (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="exhaust") + (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="trav" if spin != "uhf" else "greedy") # Generate the L amplitude intermediates code for name, codegen in code_generators.items(): @@ -806,7 +806,7 @@ output.extend(output_n) returns.extend(returns_n) - (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="trav") + (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="trav" if spin != "uhf" else "greedy") # Generate the L amplitude intermediates code for name, codegen in code_generators.items(): From e8e9c9765f6179d11132595dc7fa48ac06869e51 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Fri, 18 Oct 2024 16:50:32 +0100 Subject: [PATCH 124/168] Report times clearly --- .github/workflows/bootstrap_all.sh | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/.github/workflows/bootstrap_all.sh b/.github/workflows/bootstrap_all.sh index f21e0aa7..420b8a14 100644 --- a/.github/workflows/bootstrap_all.sh +++ b/.github/workflows/bootstrap_all.sh @@ -4,7 +4,7 @@ for method in MPn; do for n in 2 3; do for i in rhf uhf ghf; do echo "Bootstrapping $method ($i) (order=$n)" - python -W ignore bootstrap_${method}.py $i $n & + python -W ignore bootstrap_${method}.py $i $n &> output_${method}_${i}_${n}.dat & done done done @@ -12,26 +12,31 @@ done for method in CCD CCSD QCISD CC2 DCD DCSD; do for i in rhf uhf ghf; do echo "Bootstrapping $method ($i)" - python -W ignore bootstrap_${method}.py $i & + python -W ignore bootstrap_${method}.py $i &> output_${method}_${i}.dat & done for i in rhf uhf; do echo "Bootstrapping DF-$method ($i)" - python -W ignore bootstrap_DF${method}.py $i & + python -W ignore bootstrap_DF${method}.py $i &> output_DF${method}_${i}.dat & done done for method in CCSDwtwp; do for i in rhf ghf; do echo "Bootstrapping $method ($i)" - python -W ignore bootstrap_${method}.py $i & + python -W ignore bootstrap_${method}.py $i &> output_${method}_${i}.dat & done done for method in CC3 CCSDT; do for i in rhf uhf ghf; do echo "Bootstrapping $method ($i)" - python -W ignore bootstrap_${method}.py $i & + python -W ignore bootstrap_${method}.py $i &> output_${method}_${i}.dat & done done wait + +for file in output_*.dat; do + echo "Output file: $file" + cat $file +done From d1a2d066fbb64901a4be5a07a0c222590769f425 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Fri, 18 Oct 2024 22:43:23 +0100 Subject: [PATCH 125/168] Skip CCSDT for now... --- .github/workflows/bootstrap_all.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/bootstrap_all.sh b/.github/workflows/bootstrap_all.sh index 420b8a14..e62fda59 100644 --- a/.github/workflows/bootstrap_all.sh +++ b/.github/workflows/bootstrap_all.sh @@ -27,7 +27,7 @@ for method in CCSDwtwp; do done done -for method in CC3 CCSDT; do +for method in CC3; do for i in rhf uhf ghf; do echo "Bootstrapping $method ($i)" python -W ignore bootstrap_${method}.py $i &> output_${method}_${i}.dat & From 018496c61dacc7488a93ae3ee476b9964d4c1602 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Sat, 19 Oct 2024 10:16:40 +0100 Subject: [PATCH 126/168] Try this? --- .github/workflows/bootstrap_all.sh | 35 +++++++++++++++++++++++++++--- 1 file changed, 32 insertions(+), 3 deletions(-) diff --git a/.github/workflows/bootstrap_all.sh b/.github/workflows/bootstrap_all.sh index e62fda59..46b19acc 100644 --- a/.github/workflows/bootstrap_all.sh +++ b/.github/workflows/bootstrap_all.sh @@ -36,7 +36,36 @@ done wait -for file in output_*.dat; do - echo "Output file: $file" - cat $file +for method in MPn; do + for n in 2 3; do + for i in rhf uhf ghf; do + echo "Output for $method ($i) (order=$n)" + cat output_${method}_${i}_${n}.dat + done + done +done + +for method in CCD CCSD QCISD CC2 DCD DCSD; do + for i in rhf uhf ghf; do + echo "Output for $method ($i)" + cat output_${method}_${i}.dat + done + for i in rhf uhf; do + echo "Output for DF-$method ($i)" + cat output_DF${method}_${i}.dat + done +done + +for method in CCSDwtwp; do + for i in rhf ghf; do + echo "Output for $method ($i)" + cat output_${method}_${i}.dat + done +done + +for method in CC3; do + for i in rhf uhf ghf; do + echo "Output for $method ($i)" + cat output_${method}_${i}.dat + done done From a5d6087b603114d16777f595d34dd1f3449ea5fe Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Sat, 19 Oct 2024 10:19:47 +0100 Subject: [PATCH 127/168] Fix QCISD --- ebcc/codegen/bootstrap_QCISD.py | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/ebcc/codegen/bootstrap_QCISD.py b/ebcc/codegen/bootstrap_QCISD.py index 5945f8e3..91b573c9 100644 --- a/ebcc/codegen/bootstrap_QCISD.py +++ b/ebcc/codegen/bootstrap_QCISD.py @@ -64,7 +64,6 @@ pq.clear() pq.set_left_operators([["e1(i,a)"]]) for ham in ("f", "v"): - pq.add_operator_product(1.0, [ham]) pq.add_commutator(1.0, [ham], ["t1"]) pq.add_commutator(1.0, [ham], ["t2"]) pq.add_double_commutator(1.0, [ham], ["t1"], ["t2"]) @@ -123,17 +122,14 @@ pq.set_left_operators([["1"]]) pq.set_right_operators([["1"]]) for ham in ("f", "v"): - pq.add_operator_product(1.0, [ham, "e1(a,i)"]) pq.add_commutator(1.0, [ham, "e1(a,i)"], ["t1"]) pq.add_commutator(1.0, [ham, "e1(a,i)"], ["t2"]) pq.add_double_commutator(1.0, [ham, "e1(a,i)"], ["t1"], ["t2"]) pq.set_left_operators([["l1"], ["l2"]]) for ham in ("f", "v"): - pq.add_operator_product(1.0, [ham, "e1(a,i)"]) pq.add_commutator(1.0, [ham, "e1(a,i)"], ["t1"]) pq.add_commutator(1.0, [ham, "e1(a,i)"], ["t2"]) pq.add_double_commutator(1.0, [ham, "e1(a,i)"], ["t1"], ["t2"]) - pq.add_operator_product(-1.0, ["e1(a,i)", ham]) pq.add_commutator(-1.0, ["e1(a,i)", ham], ["t1"]) pq.add_commutator(-1.0, ["e1(a,i)", ham], ["t2"]) pq.add_double_commutator(-1.0, ["e1(a,i)", ham], ["t1"], ["t2"]) @@ -323,7 +319,6 @@ pq.set_left_operators([["a*(i)"]]) pq.set_right_operators([["r1"], ["r2"]]) for ham in ("f", "v"): - pq.add_operator_product(1.0, [ham]) pq.add_commutator(1.0, [ham], ["t1"]) pq.add_commutator(1.0, [ham], ["t2"]) pq.add_double_commutator(1.0, [ham], ["t1"], ["t2"]) @@ -406,7 +401,6 @@ pq.set_left_operators([["a(a)"]]) pq.set_right_operators([["r1"], ["r2"]]) for ham in ("f", "v"): - pq.add_operator_product(1.0, [ham]) pq.add_commutator(1.0, [ham], ["t1"]) pq.add_commutator(1.0, [ham], ["t2"]) pq.add_double_commutator(1.0, [ham], ["t1"], ["t2"]) @@ -490,7 +484,6 @@ pq.set_left_operators([["e1(i,a)"]]) pq.set_right_operators([["r1"], ["r2"]]) for ham in ("f", "v"): - pq.add_operator_product(1.0, [ham]) pq.add_commutator(1.0, [ham], ["t1"]) pq.add_commutator(1.0, [ham], ["t2"]) pq.add_double_commutator(1.0, [ham], ["t1"], ["t2"]) @@ -574,7 +567,6 @@ pq.set_left_operators([["l1"], ["l2"]]) pq.set_right_operators([["a(i)"]]) for ham in ("f", "v"): - pq.add_operator_product(1.0, [ham]) pq.add_commutator(1.0, [ham], ["t1"]) pq.add_commutator(1.0, [ham], ["t2"]) pq.add_double_commutator(1.0, [ham], ["t1"], ["t2"]) @@ -657,7 +649,6 @@ pq.set_left_operators([["l1"], ["l2"]]) pq.set_right_operators([["a*(a)"]]) for ham in ("f", "v"): - pq.add_operator_product(1.0, [ham]) pq.add_commutator(1.0, [ham], ["t1"]) pq.add_commutator(1.0, [ham], ["t2"]) pq.add_double_commutator(1.0, [ham], ["t1"], ["t2"]) @@ -741,7 +732,6 @@ pq.set_left_operators([["l1"], ["l2"]]) pq.set_right_operators([["e1(a,i)"]]) for ham in ("f", "v"): - pq.add_operator_product(1.0, [ham]) pq.add_commutator(1.0, [ham], ["t1"]) pq.add_commutator(1.0, [ham], ["t2"]) pq.add_double_commutator(1.0, [ham], ["t1"], ["t2"]) From 3571a35de1175009832586c8a4448820bc66ce04 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Sat, 19 Oct 2024 10:21:26 +0100 Subject: [PATCH 128/168] Coarser --- ebcc/codegen/bootstrap_QCISD.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ebcc/codegen/bootstrap_QCISD.py b/ebcc/codegen/bootstrap_QCISD.py index 91b573c9..aeb98783 100644 --- a/ebcc/codegen/bootstrap_QCISD.py +++ b/ebcc/codegen/bootstrap_QCISD.py @@ -356,7 +356,7 @@ output.extend(output_n) returns.extend(returns_n) - (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="exhaust") + (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="opt") # Generate the R amplitude intermediates code for name, codegen in code_generators.items(): @@ -438,7 +438,7 @@ output.extend(output_n) returns.extend(returns_n) - (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="exhaust") + (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="opt") # Generate the R amplitude intermediates code for name, codegen in code_generators.items(): @@ -604,7 +604,7 @@ output.extend(output_n) returns.extend(returns_n) - (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="exhaust") + (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="opt") # Generate the L amplitude intermediates code for name, codegen in code_generators.items(): @@ -686,7 +686,7 @@ output.extend(output_n) returns.extend(returns_n) - (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="exhaust") + (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="opt") # Generate the L amplitude intermediates code for name, codegen in code_generators.items(): From 7f5cfc5a461052fcf0d6b17c6d35cbf197dd1a20 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Sun, 20 Oct 2024 10:33:18 +0100 Subject: [PATCH 129/168] Now? --- ebcc/codegen/bootstrap_QCISD.py | 222 +++++++++++++++++++------------- 1 file changed, 134 insertions(+), 88 deletions(-) diff --git a/ebcc/codegen/bootstrap_QCISD.py b/ebcc/codegen/bootstrap_QCISD.py index aeb98783..1565854d 100644 --- a/ebcc/codegen/bootstrap_QCISD.py +++ b/ebcc/codegen/bootstrap_QCISD.py @@ -63,21 +63,26 @@ # Get the T1 contractions in pdaggerq format pq.clear() pq.set_left_operators([["e1(i,a)"]]) - for ham in ("f", "v"): - pq.add_commutator(1.0, [ham], ["t1"]) - pq.add_commutator(1.0, [ham], ["t2"]) - pq.add_double_commutator(1.0, [ham], ["t1"], ["t2"]) + pq.add_commutator(1.0, ["f"], ["t1"]) + pq.add_commutator(1.0, ["v"], ["t1"]) + pq.add_commutator(1.0, ["f"], ["t2"]) + pq.add_commutator(1.0, ["v"], ["t2"]) + pq.add_double_commutator(1.0, ["f"], ["t1"], ["t2"]) + pq.add_double_commutator(1.0, ["v"], ["t1"], ["t2"]) pq.simplify() terms_t1 = pq.fully_contracted_strings() # Get the T2 contractions in pdaggerq format pq.clear() pq.set_left_operators([["e2(i,j,b,a)"]]) - for ham in ("f", "v"): - pq.add_operator_product(1.0, [ham]) - pq.add_commutator(1.0, [ham], ["t1"]) - pq.add_commutator(1.0, [ham], ["t2"]) - pq.add_double_commutator(1.0, [ham], ["t1"], ["t2"]) + pq.add_operator_product(1.0, ["f"]) + pq.add_operator_product(1.0, ["v"]) + pq.add_commutator(1.0, ["f"], ["t1"]) + pq.add_commutator(1.0, ["v"], ["t1"]) + pq.add_commutator(1.0, ["f"], ["t2"]) + pq.add_commutator(1.0, ["v"], ["t2"]) + pq.add_double_commutator(0.5, ["f"], ["t2"], ["t2"]) + pq.add_double_commutator(0.5, ["v"], ["t2"], ["t2"]) pq.simplify() terms_t2 = pq.fully_contracted_strings() @@ -121,18 +126,25 @@ pq.clear() pq.set_left_operators([["1"]]) pq.set_right_operators([["1"]]) - for ham in ("f", "v"): - pq.add_commutator(1.0, [ham, "e1(a,i)"], ["t1"]) - pq.add_commutator(1.0, [ham, "e1(a,i)"], ["t2"]) - pq.add_double_commutator(1.0, [ham, "e1(a,i)"], ["t1"], ["t2"]) + pq.add_commutator(1.0, ["f", "e1(a,i)"], ["t1"]) + pq.add_commutator(1.0, ["v", "e1(a,i)"], ["t1"]) + pq.add_commutator(1.0, ["f", "e1(a,i)"], ["t2"]) + pq.add_commutator(1.0, ["v", "e1(a,i)"], ["t2"]) + pq.add_double_commutator(1.0, ["f", "e1(a,i)"], ["t1"], ["t2"]) + pq.add_double_commutator(1.0, ["v", "e1(a,i)"], ["t1"], ["t2"]) pq.set_left_operators([["l1"], ["l2"]]) - for ham in ("f", "v"): - pq.add_commutator(1.0, [ham, "e1(a,i)"], ["t1"]) - pq.add_commutator(1.0, [ham, "e1(a,i)"], ["t2"]) - pq.add_double_commutator(1.0, [ham, "e1(a,i)"], ["t1"], ["t2"]) - pq.add_commutator(-1.0, ["e1(a,i)", ham], ["t1"]) - pq.add_commutator(-1.0, ["e1(a,i)", ham], ["t2"]) - pq.add_double_commutator(-1.0, ["e1(a,i)", ham], ["t1"], ["t2"]) + pq.add_commutator(1.0, ["f", "e1(a,i)"], ["t1"]) + pq.add_commutator(1.0, ["v", "e1(a,i)"], ["t1"]) + pq.add_commutator(1.0, ["f", "e1(a,i)"], ["t2"]) + pq.add_commutator(1.0, ["v", "e1(a,i)"], ["t2"]) + pq.add_double_commutator(1.0, ["f", "e1(a,i)"], ["t1"], ["t2"]) + pq.add_double_commutator(1.0, ["v", "e1(a,i)"], ["t1"], ["t2"]) + pq.add_commutator(1.0, ["e1(a,i)", "f"], ["t1"]) + pq.add_commutator(1.0, ["e1(a,i)", "v"], ["t1"]) + pq.add_commutator(1.0, ["e1(a,i)", "f"], ["t2"]) + pq.add_commutator(1.0, ["e1(a,i)", "v"], ["t2"]) + pq.add_double_commutator(1.0, ["e1(a,i)", "f"], ["t1"], ["t2"]) + pq.add_double_commutator(1.0, ["e1(a,i)", "v"], ["t1"], ["t2"]) pq.simplify() terms_l1 = pq.fully_contracted_strings() @@ -140,21 +152,25 @@ pq.clear() pq.set_left_operators([["1"]]) pq.set_right_operators([["1"]]) - for ham in ("f", "v"): - pq.add_operator_product(1.0, [ham, "e2(a,b,j,i)"]) - pq.add_commutator(1.0, [ham, "e2(a,b,j,i)"], ["t1"]) - pq.add_commutator(1.0, [ham, "e2(a,b,j,i)"], ["t2"]) - pq.add_double_commutator(1.0, [ham, "e2(a,b,j,i)"], ["t1"], ["t2"]) + pq.add_commutator(1.0, ["f", "e2(a,b,j,i)"], ["t1"]) + pq.add_commutator(1.0, ["v", "e2(a,b,j,i)"], ["t1"]) + pq.add_commutator(1.0, ["f", "e2(a,b,j,i)"], ["t2"]) + pq.add_commutator(1.0, ["v", "e2(a,b,j,i)"], ["t2"]) + pq.add_double_commutator(1.0, ["f", "e2(a,b,j,i)"], ["t1"], ["t2"]) + pq.add_double_commutator(1.0, ["v", "e2(a,b,j,i)"], ["t1"], ["t2"]) pq.set_left_operators([["l1"], ["l2"]]) - for ham in ("f", "v"): - pq.add_operator_product(1.0, [ham, "e2(a,b,j,i)"]) - pq.add_commutator(1.0, [ham, "e2(a,b,j,i)"], ["t1"]) - pq.add_commutator(1.0, [ham, "e2(a,b,j,i)"], ["t2"]) - pq.add_double_commutator(1.0, [ham, "e2(a,b,j,i)"], ["t1"], ["t2"]) - pq.add_operator_product(-1.0, ["e2(a,b,j,i)", ham]) - pq.add_commutator(-1.0, ["e2(a,b,j,i)", ham], ["t1"]) - pq.add_commutator(-1.0, ["e2(a,b,j,i)", ham], ["t2"]) - pq.add_double_commutator(-1.0, ["e2(a,b,j,i)", ham], ["t1"], ["t2"]) + pq.add_commutator(1.0, ["f", "e2(a,b,j,i)"], ["t1"]) + pq.add_commutator(1.0, ["v", "e2(a,b,j,i)"], ["t1"]) + pq.add_commutator(1.0, ["f", "e2(a,b,j,i)"], ["t2"]) + pq.add_commutator(1.0, ["v", "e2(a,b,j,i)"], ["t2"]) + pq.add_double_commutator(1.0, ["f", "e2(a,b,j,i)"], ["t1"], ["t2"]) + pq.add_double_commutator(1.0, ["v", "e2(a,b,j,i)"], ["t1"], ["t2"]) + pq.add_commutator(1.0, ["e2(a,b,j,i)", "f"], ["t1"]) + pq.add_commutator(1.0, ["e2(a,b,j,i)", "v"], ["t1"]) + pq.add_commutator(1.0, ["e2(a,b,j,i)", "f"], ["t2"]) + pq.add_commutator(1.0, ["e2(a,b,j,i)", "v"], ["t2"]) + pq.add_double_commutator(1.0, ["e2(a,b,j,i)", "f"], ["t1"], ["t2"]) + pq.add_double_commutator(1.0, ["e2(a,b,j,i)", "v"], ["t1"], ["t2"]) pq.simplify() terms_l2 = pq.fully_contracted_strings() @@ -318,10 +334,12 @@ pq.set_right_operators_type("IP") pq.set_left_operators([["a*(i)"]]) pq.set_right_operators([["r1"], ["r2"]]) - for ham in ("f", "v"): - pq.add_commutator(1.0, [ham], ["t1"]) - pq.add_commutator(1.0, [ham], ["t2"]) - pq.add_double_commutator(1.0, [ham], ["t1"], ["t2"]) + pq.add_commutator(1.0, ["f"], ["t1"]) + pq.add_commutator(1.0, ["v"], ["t1"]) + pq.add_commutator(1.0, ["f"], ["t2"]) + pq.add_commutator(1.0, ["v"], ["t2"]) + pq.add_double_commutator(1.0, ["f"], ["t1"], ["t2"]) + pq.add_double_commutator(1.0, ["v"], ["t1"], ["t2"]) pq.simplify() terms_r1 = pq.fully_contracted_strings() terms_r1 = remove_e0_eom(terms_r1) @@ -331,11 +349,14 @@ pq.set_right_operators_type("IP") pq.set_left_operators([["a*(i)", "a*(j)", "a(a)"]]) pq.set_right_operators([["r1"], ["r2"]]) - for ham in ("f", "v"): - pq.add_operator_product(1.0, [ham]) - pq.add_commutator(1.0, [ham], ["t1"]) - pq.add_commutator(1.0, [ham], ["t2"]) - pq.add_double_commutator(1.0, [ham], ["t1"], ["t2"]) + pq.add_operator_product(1.0, ["f"]) + pq.add_operator_product(1.0, ["v"]) + pq.add_commutator(1.0, ["f"], ["t1"]) + pq.add_commutator(1.0, ["v"], ["t1"]) + pq.add_commutator(1.0, ["f"], ["t2"]) + pq.add_commutator(1.0, ["v"], ["t2"]) + pq.add_double_commutator(0.5, ["f"], ["t2"], ["t2"]) + pq.add_double_commutator(0.5, ["v"], ["t2"], ["t2"]) pq.simplify() terms_r2 = pq.fully_contracted_strings() terms_r2 = remove_e0_eom(terms_r2) @@ -400,10 +421,12 @@ pq.set_right_operators_type("EA") pq.set_left_operators([["a(a)"]]) pq.set_right_operators([["r1"], ["r2"]]) - for ham in ("f", "v"): - pq.add_commutator(1.0, [ham], ["t1"]) - pq.add_commutator(1.0, [ham], ["t2"]) - pq.add_double_commutator(1.0, [ham], ["t1"], ["t2"]) + pq.add_commutator(1.0, ["f"], ["t1"]) + pq.add_commutator(1.0, ["v"], ["t1"]) + pq.add_commutator(1.0, ["f"], ["t2"]) + pq.add_commutator(1.0, ["v"], ["t2"]) + pq.add_double_commutator(1.0, ["f"], ["t1"], ["t2"]) + pq.add_double_commutator(1.0, ["v"], ["t1"], ["t2"]) pq.simplify() terms_r1 = pq.fully_contracted_strings() terms_r1 = remove_e0_eom(terms_r1) @@ -413,11 +436,14 @@ pq.set_right_operators_type("EA") pq.set_left_operators([["a*(i)", "a(b)", "a(a)"]]) pq.set_right_operators([["r1"], ["r2"]]) - for ham in ("f", "v"): - pq.add_operator_product(1.0, [ham]) - pq.add_commutator(1.0, [ham], ["t1"]) - pq.add_commutator(1.0, [ham], ["t2"]) - pq.add_double_commutator(1.0, [ham], ["t1"], ["t2"]) + pq.add_operator_product(1.0, ["f"]) + pq.add_operator_product(1.0, ["v"]) + pq.add_commutator(1.0, ["f"], ["t1"]) + pq.add_commutator(1.0, ["v"], ["t1"]) + pq.add_commutator(1.0, ["f"], ["t2"]) + pq.add_commutator(1.0, ["v"], ["t2"]) + pq.add_double_commutator(0.5, ["f"], ["t2"], ["t2"]) + pq.add_double_commutator(0.5, ["v"], ["t2"], ["t2"]) pq.simplify() terms_r2 = pq.fully_contracted_strings() terms_r2 = remove_e0_eom(terms_r2) @@ -483,10 +509,12 @@ pq.set_right_operators_type("EE") pq.set_left_operators([["e1(i,a)"]]) pq.set_right_operators([["r1"], ["r2"]]) - for ham in ("f", "v"): - pq.add_commutator(1.0, [ham], ["t1"]) - pq.add_commutator(1.0, [ham], ["t2"]) - pq.add_double_commutator(1.0, [ham], ["t1"], ["t2"]) + pq.add_commutator(1.0, ["f"], ["t1"]) + pq.add_commutator(1.0, ["v"], ["t1"]) + pq.add_commutator(1.0, ["f"], ["t2"]) + pq.add_commutator(1.0, ["v"], ["t2"]) + pq.add_double_commutator(1.0, ["f"], ["t1"], ["t2"]) + pq.add_double_commutator(1.0, ["v"], ["t1"], ["t2"]) pq.simplify() terms_r1 = pq.fully_contracted_strings() terms_r1 = remove_e0_eom(terms_r1) @@ -496,11 +524,14 @@ pq.set_right_operators_type("EE") pq.set_left_operators([["e2(i,j,b,a)"]]) pq.set_right_operators([["r1"], ["r2"]]) - for ham in ("f", "v"): - pq.add_operator_product(1.0, [ham]) - pq.add_commutator(1.0, [ham], ["t1"]) - pq.add_commutator(1.0, [ham], ["t2"]) - pq.add_double_commutator(1.0, [ham], ["t1"], ["t2"]) + pq.add_operator_product(1.0, ["f"]) + pq.add_operator_product(1.0, ["v"]) + pq.add_commutator(1.0, ["f"], ["t1"]) + pq.add_commutator(1.0, ["v"], ["t1"]) + pq.add_commutator(1.0, ["f"], ["t2"]) + pq.add_commutator(1.0, ["v"], ["t2"]) + pq.add_double_commutator(0.5, ["f"], ["t2"], ["t2"]) + pq.add_double_commutator(0.5, ["v"], ["t2"], ["t2"]) pq.simplify() terms_r2 = pq.fully_contracted_strings() terms_r2 = remove_e0_eom(terms_r2) @@ -566,10 +597,12 @@ pq.set_left_operators_type("IP") pq.set_left_operators([["l1"], ["l2"]]) pq.set_right_operators([["a(i)"]]) - for ham in ("f", "v"): - pq.add_commutator(1.0, [ham], ["t1"]) - pq.add_commutator(1.0, [ham], ["t2"]) - pq.add_double_commutator(1.0, [ham], ["t1"], ["t2"]) + pq.add_commutator(1.0, ["f"], ["t1"]) + pq.add_commutator(1.0, ["v"], ["t1"]) + pq.add_commutator(1.0, ["f"], ["t2"]) + pq.add_commutator(1.0, ["v"], ["t2"]) + pq.add_double_commutator(1.0, ["f"], ["t1"], ["t2"]) + pq.add_double_commutator(1.0, ["v"], ["t1"], ["t2"]) pq.simplify() terms_r1 = pq.fully_contracted_strings() terms_r1 = remove_e0_eom(terms_r1) @@ -579,11 +612,14 @@ pq.set_left_operators_type("IP") pq.set_right_operators([["a*(a)", "a(j)", "a(i)"]]) pq.set_left_operators([["l1"], ["l2"]]) - for ham in ("f", "v"): - pq.add_operator_product(1.0, [ham]) - pq.add_commutator(1.0, [ham], ["t1"]) - pq.add_commutator(1.0, [ham], ["t2"]) - pq.add_double_commutator(1.0, [ham], ["t1"], ["t2"]) + pq.add_operator_product(1.0, ["f"]) + pq.add_operator_product(1.0, ["v"]) + pq.add_commutator(1.0, ["f"], ["t1"]) + pq.add_commutator(1.0, ["v"], ["t1"]) + pq.add_commutator(1.0, ["f"], ["t2"]) + pq.add_commutator(1.0, ["v"], ["t2"]) + pq.add_double_commutator(0.5, ["f"], ["t2"], ["t2"]) + pq.add_double_commutator(0.5, ["v"], ["t2"], ["t2"]) pq.simplify() terms_r2 = pq.fully_contracted_strings() terms_r2 = remove_e0_eom(terms_r2) @@ -648,10 +684,12 @@ pq.set_left_operators_type("EA") pq.set_left_operators([["l1"], ["l2"]]) pq.set_right_operators([["a*(a)"]]) - for ham in ("f", "v"): - pq.add_commutator(1.0, [ham], ["t1"]) - pq.add_commutator(1.0, [ham], ["t2"]) - pq.add_double_commutator(1.0, [ham], ["t1"], ["t2"]) + pq.add_commutator(1.0, ["f"], ["t1"]) + pq.add_commutator(1.0, ["v"], ["t1"]) + pq.add_commutator(1.0, ["f"], ["t2"]) + pq.add_commutator(1.0, ["v"], ["t2"]) + pq.add_double_commutator(1.0, ["f"], ["t1"], ["t2"]) + pq.add_double_commutator(1.0, ["v"], ["t1"], ["t2"]) pq.simplify() terms_r1 = pq.fully_contracted_strings() terms_r1 = remove_e0_eom(terms_r1) @@ -661,11 +699,14 @@ pq.set_left_operators_type("EA") pq.set_right_operators([["a*(a)", "a*(b)", "a(i)"]]) pq.set_left_operators([["l1"], ["l2"]]) - for ham in ("f", "v"): - pq.add_operator_product(1.0, [ham]) - pq.add_commutator(1.0, [ham], ["t1"]) - pq.add_commutator(1.0, [ham], ["t2"]) - pq.add_double_commutator(1.0, [ham], ["t1"], ["t2"]) + pq.add_operator_product(1.0, ["f"]) + pq.add_operator_product(1.0, ["v"]) + pq.add_commutator(1.0, ["f"], ["t1"]) + pq.add_commutator(1.0, ["v"], ["t1"]) + pq.add_commutator(1.0, ["f"], ["t2"]) + pq.add_commutator(1.0, ["v"], ["t2"]) + pq.add_double_commutator(0.5, ["f"], ["t2"], ["t2"]) + pq.add_double_commutator(0.5, ["v"], ["t2"], ["t2"]) pq.simplify() terms_r2 = pq.fully_contracted_strings() terms_r2 = remove_e0_eom(terms_r2) @@ -731,10 +772,12 @@ pq.set_left_operators_type("EE") pq.set_left_operators([["l1"], ["l2"]]) pq.set_right_operators([["e1(a,i)"]]) - for ham in ("f", "v"): - pq.add_commutator(1.0, [ham], ["t1"]) - pq.add_commutator(1.0, [ham], ["t2"]) - pq.add_double_commutator(1.0, [ham], ["t1"], ["t2"]) + pq.add_commutator(1.0, ["f"], ["t1"]) + pq.add_commutator(1.0, ["v"], ["t1"]) + pq.add_commutator(1.0, ["f"], ["t2"]) + pq.add_commutator(1.0, ["v"], ["t2"]) + pq.add_double_commutator(1.0, ["f"], ["t1"], ["t2"]) + pq.add_double_commutator(1.0, ["v"], ["t1"], ["t2"]) pq.simplify() terms_r1 = pq.fully_contracted_strings() terms_r1 = remove_e0_eom(terms_r1) @@ -744,11 +787,14 @@ pq.set_left_operators_type("EE") pq.set_left_operators([["l1"], ["l2"]]) pq.set_right_operators([["e2(a,b,j,i)"]]) - for ham in ("f", "v"): - pq.add_operator_product(1.0, [ham]) - pq.add_commutator(1.0, [ham], ["t1"]) - pq.add_commutator(1.0, [ham], ["t2"]) - pq.add_double_commutator(1.0, [ham], ["t1"], ["t2"]) + pq.add_operator_product(1.0, ["f"]) + pq.add_operator_product(1.0, ["v"]) + pq.add_commutator(1.0, ["f"], ["t1"]) + pq.add_commutator(1.0, ["v"], ["t1"]) + pq.add_commutator(1.0, ["f"], ["t2"]) + pq.add_commutator(1.0, ["v"], ["t2"]) + pq.add_double_commutator(0.5, ["f"], ["t2"], ["t2"]) + pq.add_double_commutator(0.5, ["v"], ["t2"], ["t2"]) pq.simplify() terms_r2 = pq.fully_contracted_strings() terms_r2 = remove_e0_eom(terms_r2) From 55a3f12b0b9516ef849f09afcddb587ce0a85fb1 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Sun, 20 Oct 2024 15:02:48 +0100 Subject: [PATCH 130/168] Add note for broken QCISD stuff --- ebcc/codegen/bootstrap_QCISD.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ebcc/codegen/bootstrap_QCISD.py b/ebcc/codegen/bootstrap_QCISD.py index 1565854d..097030f4 100644 --- a/ebcc/codegen/bootstrap_QCISD.py +++ b/ebcc/codegen/bootstrap_QCISD.py @@ -121,6 +121,8 @@ **kwargs, ) +# NOTE: The rest is broken + with Stopwatch("L amplitudes"): # Get the L1 contractions in pdaggerq format pq.clear() From dc571ae3ec3db45f080a67ea761779af30ce58ae Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Sun, 20 Oct 2024 15:09:57 +0100 Subject: [PATCH 131/168] Add one-body part --- ebcc/codegen/bootstrap_QCISD.py | 1111 ++++++++++++++++--------------- 1 file changed, 557 insertions(+), 554 deletions(-) diff --git a/ebcc/codegen/bootstrap_QCISD.py b/ebcc/codegen/bootstrap_QCISD.py index 097030f4..db87875d 100644 --- a/ebcc/codegen/bootstrap_QCISD.py +++ b/ebcc/codegen/bootstrap_QCISD.py @@ -37,6 +37,8 @@ pq.set_left_operators([["1"]]) pq.add_operator_product(1.0, ["f"]) pq.add_operator_product(1.0, ["v"]) + pq.add_commutator(1.0, ["f"], ["t1"]) + pq.add_commutator(1.0, ["v"], ["t1"]) pq.add_commutator(1.0, ["f"], ["t2"]) pq.add_commutator(1.0, ["v"], ["t2"]) pq.simplify() @@ -123,393 +125,219 @@ # NOTE: The rest is broken -with Stopwatch("L amplitudes"): - # Get the L1 contractions in pdaggerq format - pq.clear() - pq.set_left_operators([["1"]]) - pq.set_right_operators([["1"]]) - pq.add_commutator(1.0, ["f", "e1(a,i)"], ["t1"]) - pq.add_commutator(1.0, ["v", "e1(a,i)"], ["t1"]) - pq.add_commutator(1.0, ["f", "e1(a,i)"], ["t2"]) - pq.add_commutator(1.0, ["v", "e1(a,i)"], ["t2"]) - pq.add_double_commutator(1.0, ["f", "e1(a,i)"], ["t1"], ["t2"]) - pq.add_double_commutator(1.0, ["v", "e1(a,i)"], ["t1"], ["t2"]) - pq.set_left_operators([["l1"], ["l2"]]) - pq.add_commutator(1.0, ["f", "e1(a,i)"], ["t1"]) - pq.add_commutator(1.0, ["v", "e1(a,i)"], ["t1"]) - pq.add_commutator(1.0, ["f", "e1(a,i)"], ["t2"]) - pq.add_commutator(1.0, ["v", "e1(a,i)"], ["t2"]) - pq.add_double_commutator(1.0, ["f", "e1(a,i)"], ["t1"], ["t2"]) - pq.add_double_commutator(1.0, ["v", "e1(a,i)"], ["t1"], ["t2"]) - pq.add_commutator(1.0, ["e1(a,i)", "f"], ["t1"]) - pq.add_commutator(1.0, ["e1(a,i)", "v"], ["t1"]) - pq.add_commutator(1.0, ["e1(a,i)", "f"], ["t2"]) - pq.add_commutator(1.0, ["e1(a,i)", "v"], ["t2"]) - pq.add_double_commutator(1.0, ["e1(a,i)", "f"], ["t1"], ["t2"]) - pq.add_double_commutator(1.0, ["e1(a,i)", "v"], ["t1"], ["t2"]) - pq.simplify() - terms_l1 = pq.fully_contracted_strings() - - # Get the L2 contractions in pdaggerq format - pq.clear() - pq.set_left_operators([["1"]]) - pq.set_right_operators([["1"]]) - pq.add_commutator(1.0, ["f", "e2(a,b,j,i)"], ["t1"]) - pq.add_commutator(1.0, ["v", "e2(a,b,j,i)"], ["t1"]) - pq.add_commutator(1.0, ["f", "e2(a,b,j,i)"], ["t2"]) - pq.add_commutator(1.0, ["v", "e2(a,b,j,i)"], ["t2"]) - pq.add_double_commutator(1.0, ["f", "e2(a,b,j,i)"], ["t1"], ["t2"]) - pq.add_double_commutator(1.0, ["v", "e2(a,b,j,i)"], ["t1"], ["t2"]) - pq.set_left_operators([["l1"], ["l2"]]) - pq.add_commutator(1.0, ["f", "e2(a,b,j,i)"], ["t1"]) - pq.add_commutator(1.0, ["v", "e2(a,b,j,i)"], ["t1"]) - pq.add_commutator(1.0, ["f", "e2(a,b,j,i)"], ["t2"]) - pq.add_commutator(1.0, ["v", "e2(a,b,j,i)"], ["t2"]) - pq.add_double_commutator(1.0, ["f", "e2(a,b,j,i)"], ["t1"], ["t2"]) - pq.add_double_commutator(1.0, ["v", "e2(a,b,j,i)"], ["t1"], ["t2"]) - pq.add_commutator(1.0, ["e2(a,b,j,i)", "f"], ["t1"]) - pq.add_commutator(1.0, ["e2(a,b,j,i)", "v"], ["t1"]) - pq.add_commutator(1.0, ["e2(a,b,j,i)", "f"], ["t2"]) - pq.add_commutator(1.0, ["e2(a,b,j,i)", "v"], ["t2"]) - pq.add_double_commutator(1.0, ["e2(a,b,j,i)", "f"], ["t1"], ["t2"]) - pq.add_double_commutator(1.0, ["e2(a,b,j,i)", "v"], ["t1"], ["t2"]) - pq.simplify() - terms_l2 = pq.fully_contracted_strings() - - # Get the L amplitudes in albert format - terms = [terms_l1, terms_l2] - expr = [] - output = [] - returns = [] - for n in range(2): - for index_spins in get_amplitude_spins(n + 1, spin): - indices = default_indices["v"][: n + 1] + default_indices["o"][: n + 1] - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) - expr_n = spin_integrate(expr_n, spin) - output_n = get_l_amplitude_outputs(expr_n, f"l{n+1}new") - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"l{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - output, expr = optimise(output, expr, spin, strategy="opt") - - # Generate the L amplitude code - for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "preamble": "l1new = Namespace()\nl2new = Namespace()" if spin == "uhf" else None, - "as_dict": True, - } - else: - kwargs = {} - codegen( - "update_lams", - returns, - output, - expr, - **kwargs, - ) - -with Stopwatch("1RDM"): - # Get the 1RDM contractions in pdaggerq format - terms = {} - for sectors, indices in [("oo", "ij"), ("ov", "ia"), ("vo", "ai"), ("vv", "ab")]: +if 0: + with Stopwatch("L amplitudes"): + # Get the L1 contractions in pdaggerq format pq.clear() - pq.set_left_operators([["1"], ["l1"], ["l2"]]) - pq.add_st_operator(1.0, [f"e1({','.join(indices)})"], ["t1", "t2"]) + pq.set_left_operators([["1"]]) + pq.set_right_operators([["1"]]) + pq.add_commutator(1.0, ["f", "e1(a,i)"], ["t1"]) + pq.add_commutator(1.0, ["v", "e1(a,i)"], ["t1"]) + pq.add_commutator(1.0, ["f", "e1(a,i)"], ["t2"]) + pq.add_commutator(1.0, ["v", "e1(a,i)"], ["t2"]) + pq.add_double_commutator(1.0, ["f", "e1(a,i)"], ["t1"], ["t2"]) + pq.add_double_commutator(1.0, ["v", "e1(a,i)"], ["t1"], ["t2"]) + pq.set_left_operators([["l1"], ["l2"]]) + pq.add_commutator(1.0, ["f", "e1(a,i)"], ["t1"]) + pq.add_commutator(1.0, ["v", "e1(a,i)"], ["t1"]) + pq.add_commutator(1.0, ["f", "e1(a,i)"], ["t2"]) + pq.add_commutator(1.0, ["v", "e1(a,i)"], ["t2"]) + pq.add_double_commutator(1.0, ["f", "e1(a,i)"], ["t1"], ["t2"]) + pq.add_double_commutator(1.0, ["v", "e1(a,i)"], ["t1"], ["t2"]) + pq.add_commutator(1.0, ["e1(a,i)", "f"], ["t1"]) + pq.add_commutator(1.0, ["e1(a,i)", "v"], ["t1"]) + pq.add_commutator(1.0, ["e1(a,i)", "f"], ["t2"]) + pq.add_commutator(1.0, ["e1(a,i)", "v"], ["t2"]) + pq.add_double_commutator(1.0, ["e1(a,i)", "f"], ["t1"], ["t2"]) + pq.add_double_commutator(1.0, ["e1(a,i)", "v"], ["t1"], ["t2"]) pq.simplify() - terms[sectors, indices] = pq.fully_contracted_strings() - - # Get the 1RDM in albert format - expr = [] - output = [] - returns = [] - for sectors, indices in [("oo", "ij"), ("ov", "ia"), ("vo", "ai"), ("vv", "ab")]: - for index_spins in get_density_spins(1, spin, indices): - expr_n = import_from_pdaggerq(terms[sectors, indices], index_spins=index_spins) - expr_n = spin_integrate(expr_n, spin) - if spin == "rhf": - expr_n = tuple(e * 2 for e in expr_n) - output_n = get_density_outputs(expr_n, f"d", indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i], space=s) for i, s in zip(indices, sectors)), name=f"d"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - output, expr = optimise(output, expr, spin, strategy="exhaust") - - # Generate the 1RDM code - for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "preamble": get_density_einsum_preamble(1, spin), - "postamble": get_density_einsum_postamble(1, spin), - } - else: - kwargs = {} - codegen( - "make_rdm1_f", - returns, - output, - expr, - **kwargs, - ) + terms_l1 = pq.fully_contracted_strings() -with Stopwatch("2RDM"): - # Get the 2RDM contractions in pdaggerq format - terms = {} - for sectors, indices in [ - ("oooo", "ijkl"), - ("ooov", "ijka"), - ("oovo", "ijak"), - ("ovoo", "iajk"), - ("vooo", "aijk"), - ("oovv", "ijab"), - ("ovov", "iajb"), - ("ovvo", "iabj"), - ("voov", "aijb"), - ("vovo", "aibj"), - ("vvoo", "abij"), - ("ovvv", "iabc"), - ("vovv", "aibc"), - ("vvov", "abic"), - ("vvvo", "abci"), - ("vvvv", "abcd"), - ]: + # Get the L2 contractions in pdaggerq format pq.clear() - pq.set_left_operators([["1"], ["l1"], ["l2"]]) - pq.add_st_operator( - 1.0, [f"e2({indices[0]},{indices[1]},{indices[3]},{indices[2]})"], ["t1", "t2"] - ) + pq.set_left_operators([["1"]]) + pq.set_right_operators([["1"]]) + pq.add_commutator(1.0, ["f", "e2(a,b,j,i)"], ["t1"]) + pq.add_commutator(1.0, ["v", "e2(a,b,j,i)"], ["t1"]) + pq.add_commutator(1.0, ["f", "e2(a,b,j,i)"], ["t2"]) + pq.add_commutator(1.0, ["v", "e2(a,b,j,i)"], ["t2"]) + pq.add_double_commutator(1.0, ["f", "e2(a,b,j,i)"], ["t1"], ["t2"]) + pq.add_double_commutator(1.0, ["v", "e2(a,b,j,i)"], ["t1"], ["t2"]) + pq.set_left_operators([["l1"], ["l2"]]) + pq.add_commutator(1.0, ["f", "e2(a,b,j,i)"], ["t1"]) + pq.add_commutator(1.0, ["v", "e2(a,b,j,i)"], ["t1"]) + pq.add_commutator(1.0, ["f", "e2(a,b,j,i)"], ["t2"]) + pq.add_commutator(1.0, ["v", "e2(a,b,j,i)"], ["t2"]) + pq.add_double_commutator(1.0, ["f", "e2(a,b,j,i)"], ["t1"], ["t2"]) + pq.add_double_commutator(1.0, ["v", "e2(a,b,j,i)"], ["t1"], ["t2"]) + pq.add_commutator(1.0, ["e2(a,b,j,i)", "f"], ["t1"]) + pq.add_commutator(1.0, ["e2(a,b,j,i)", "v"], ["t1"]) + pq.add_commutator(1.0, ["e2(a,b,j,i)", "f"], ["t2"]) + pq.add_commutator(1.0, ["e2(a,b,j,i)", "v"], ["t2"]) + pq.add_double_commutator(1.0, ["e2(a,b,j,i)", "f"], ["t1"], ["t2"]) + pq.add_double_commutator(1.0, ["e2(a,b,j,i)", "v"], ["t1"], ["t2"]) pq.simplify() - terms[sectors, indices] = pq.fully_contracted_strings() - - # Get the 2RDM in albert format - expr = [] - output = [] - returns = [] - for sectors, indices in [ - ("oooo", "ijkl"), - ("ooov", "ijka"), - ("oovo", "ijak"), - ("ovoo", "iajk"), - ("vooo", "aijk"), - ("oovv", "ijab"), - ("ovov", "iajb"), - ("ovvo", "iabj"), - ("voov", "aijb"), - ("vovo", "aibj"), - ("vvoo", "abij"), - ("ovvv", "iabc"), - ("vovv", "aibc"), - ("vvov", "abic"), - ("vvvo", "abci"), - ("vvvv", "abcd"), - ]: - for index_spins in get_density_spins(2, spin, indices): - expr_n = import_from_pdaggerq(terms[sectors, indices], index_spins=index_spins) - expr_n = spin_integrate(expr_n, spin) - output_n = get_density_outputs(expr_n, f"Γ", indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i], space=s) for i, s in zip(indices, sectors)), name=f"Γ"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - output, expr = optimise(output, expr, spin, strategy="trav") - - # Generate the 2RDM code - for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "preamble": get_density_einsum_preamble(2, spin), - "postamble": get_density_einsum_postamble(2, spin), - } - codegen( - "make_rdm2_f", - returns, - output, - expr, - **kwargs, - ) - -with Stopwatch("IP-EOM"): - # Get the R1 contractions in pdaggerq format - pq.clear() - pq.set_right_operators_type("IP") - pq.set_left_operators([["a*(i)"]]) - pq.set_right_operators([["r1"], ["r2"]]) - pq.add_commutator(1.0, ["f"], ["t1"]) - pq.add_commutator(1.0, ["v"], ["t1"]) - pq.add_commutator(1.0, ["f"], ["t2"]) - pq.add_commutator(1.0, ["v"], ["t2"]) - pq.add_double_commutator(1.0, ["f"], ["t1"], ["t2"]) - pq.add_double_commutator(1.0, ["v"], ["t1"], ["t2"]) - pq.simplify() - terms_r1 = pq.fully_contracted_strings() - terms_r1 = remove_e0_eom(terms_r1) - - # Get the R2 contractions in pdaggerq format - pq.clear() - pq.set_right_operators_type("IP") - pq.set_left_operators([["a*(i)", "a*(j)", "a(a)"]]) - pq.set_right_operators([["r1"], ["r2"]]) - pq.add_operator_product(1.0, ["f"]) - pq.add_operator_product(1.0, ["v"]) - pq.add_commutator(1.0, ["f"], ["t1"]) - pq.add_commutator(1.0, ["v"], ["t1"]) - pq.add_commutator(1.0, ["f"], ["t2"]) - pq.add_commutator(1.0, ["v"], ["t2"]) - pq.add_double_commutator(0.5, ["f"], ["t2"], ["t2"]) - pq.add_double_commutator(0.5, ["v"], ["t2"], ["t2"]) - pq.simplify() - terms_r2 = pq.fully_contracted_strings() - terms_r2 = remove_e0_eom(terms_r2) - - # Get the R amplitudes in albert format - terms = [terms_r1, terms_r2] - expr = [] - output = [] - returns = [] - for n in range(2): - for index_spins in get_amplitude_spins(n + 1, spin, which="ip"): - indices = default_indices["o"][: n + 1] + default_indices["v"][: n] - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) - expr_n = spin_integrate(expr_n, spin) - output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - - (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="opt") - - # Generate the R amplitude intermediates code - for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "as_dict": True, - } - else: - kwargs = {} - codegen( - "hbar_matvec_ip_intermediates", - returns_nr, - output_nr, - expr_nr, - **kwargs, - ) + terms_l2 = pq.fully_contracted_strings() - # Generate the R amplitude code - for name, codegen in code_generators.items(): - if name == "einsum": - preamble = "ints = kwargs[\"ints\"]" - if spin == "uhf": - preamble += "\nr1new = Namespace()\nr2new = Namespace()" - kwargs = { - "preamble": preamble, - "as_dict": True, - } - else: - kwargs = {} - codegen( - "hbar_matvec_ip", - returns_r, - output_r, - expr_r, - **kwargs, - ) + # Get the L amplitudes in albert format + terms = [terms_l1, terms_l2] + expr = [] + output = [] + returns = [] + for n in range(2): + for index_spins in get_amplitude_spins(n + 1, spin): + indices = default_indices["v"][: n + 1] + default_indices["o"][: n + 1] + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + output_n = get_l_amplitude_outputs(expr_n, f"l{n+1}new") + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"l{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + output, expr = optimise(output, expr, spin, strategy="opt") -with Stopwatch("EA-EOM"): - # Get the R1 contractions in pdaggerq format - pq.clear() - pq.set_right_operators_type("EA") - pq.set_left_operators([["a(a)"]]) - pq.set_right_operators([["r1"], ["r2"]]) - pq.add_commutator(1.0, ["f"], ["t1"]) - pq.add_commutator(1.0, ["v"], ["t1"]) - pq.add_commutator(1.0, ["f"], ["t2"]) - pq.add_commutator(1.0, ["v"], ["t2"]) - pq.add_double_commutator(1.0, ["f"], ["t1"], ["t2"]) - pq.add_double_commutator(1.0, ["v"], ["t1"], ["t2"]) - pq.simplify() - terms_r1 = pq.fully_contracted_strings() - terms_r1 = remove_e0_eom(terms_r1) + # Generate the L amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "preamble": "l1new = Namespace()\nl2new = Namespace()" if spin == "uhf" else None, + "as_dict": True, + } + else: + kwargs = {} + codegen( + "update_lams", + returns, + output, + expr, + **kwargs, + ) - # Get the R2 contractions in pdaggerq format - pq.clear() - pq.set_right_operators_type("EA") - pq.set_left_operators([["a*(i)", "a(b)", "a(a)"]]) - pq.set_right_operators([["r1"], ["r2"]]) - pq.add_operator_product(1.0, ["f"]) - pq.add_operator_product(1.0, ["v"]) - pq.add_commutator(1.0, ["f"], ["t1"]) - pq.add_commutator(1.0, ["v"], ["t1"]) - pq.add_commutator(1.0, ["f"], ["t2"]) - pq.add_commutator(1.0, ["v"], ["t2"]) - pq.add_double_commutator(0.5, ["f"], ["t2"], ["t2"]) - pq.add_double_commutator(0.5, ["v"], ["t2"], ["t2"]) - pq.simplify() - terms_r2 = pq.fully_contracted_strings() - terms_r2 = remove_e0_eom(terms_r2) + with Stopwatch("1RDM"): + # Get the 1RDM contractions in pdaggerq format + terms = {} + for sectors, indices in [("oo", "ij"), ("ov", "ia"), ("vo", "ai"), ("vv", "ab")]: + pq.clear() + pq.set_left_operators([["1"], ["l1"], ["l2"]]) + pq.add_st_operator(1.0, [f"e1({','.join(indices)})"], ["t1", "t2"]) + pq.simplify() + terms[sectors, indices] = pq.fully_contracted_strings() + + # Get the 1RDM in albert format + expr = [] + output = [] + returns = [] + for sectors, indices in [("oo", "ij"), ("ov", "ia"), ("vo", "ai"), ("vv", "ab")]: + for index_spins in get_density_spins(1, spin, indices): + expr_n = import_from_pdaggerq(terms[sectors, indices], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + if spin == "rhf": + expr_n = tuple(e * 2 for e in expr_n) + output_n = get_density_outputs(expr_n, f"d", indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i], space=s) for i, s in zip(indices, sectors)), name=f"d"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + output, expr = optimise(output, expr, spin, strategy="exhaust") - # Get the R amplitudes in albert format - terms = [terms_r1, terms_r2] - expr = [] - output = [] - returns = [] - for n in range(2): - for index_spins in get_amplitude_spins(n + 1, spin, which="ea"): - indices = default_indices["v"][: n + 1] + default_indices["o"][: n] - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) - expr_n = spin_integrate(expr_n, spin) - output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) + # Generate the 1RDM code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "preamble": get_density_einsum_preamble(1, spin), + "postamble": get_density_einsum_postamble(1, spin), + } + else: + kwargs = {} + codegen( + "make_rdm1_f", + returns, + output, + expr, + **kwargs, + ) - (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="opt") + with Stopwatch("2RDM"): + # Get the 2RDM contractions in pdaggerq format + terms = {} + for sectors, indices in [ + ("oooo", "ijkl"), + ("ooov", "ijka"), + ("oovo", "ijak"), + ("ovoo", "iajk"), + ("vooo", "aijk"), + ("oovv", "ijab"), + ("ovov", "iajb"), + ("ovvo", "iabj"), + ("voov", "aijb"), + ("vovo", "aibj"), + ("vvoo", "abij"), + ("ovvv", "iabc"), + ("vovv", "aibc"), + ("vvov", "abic"), + ("vvvo", "abci"), + ("vvvv", "abcd"), + ]: + pq.clear() + pq.set_left_operators([["1"], ["l1"], ["l2"]]) + pq.add_st_operator( + 1.0, [f"e2({indices[0]},{indices[1]},{indices[3]},{indices[2]})"], ["t1", "t2"] + ) + pq.simplify() + terms[sectors, indices] = pq.fully_contracted_strings() - # Generate the R amplitude intermediates code - for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "as_dict": True, - } - else: - kwargs = {} - codegen( - "hbar_matvec_ea_intermediates", - returns_nr, - output_nr, - expr_nr, - **kwargs, - ) + # Get the 2RDM in albert format + expr = [] + output = [] + returns = [] + for sectors, indices in [ + ("oooo", "ijkl"), + ("ooov", "ijka"), + ("oovo", "ijak"), + ("ovoo", "iajk"), + ("vooo", "aijk"), + ("oovv", "ijab"), + ("ovov", "iajb"), + ("ovvo", "iabj"), + ("voov", "aijb"), + ("vovo", "aibj"), + ("vvoo", "abij"), + ("ovvv", "iabc"), + ("vovv", "aibc"), + ("vvov", "abic"), + ("vvvo", "abci"), + ("vvvv", "abcd"), + ]: + for index_spins in get_density_spins(2, spin, indices): + expr_n = import_from_pdaggerq(terms[sectors, indices], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + output_n = get_density_outputs(expr_n, f"Γ", indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i], space=s) for i, s in zip(indices, sectors)), name=f"Γ"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + output, expr = optimise(output, expr, spin, strategy="trav") - # Generate the R amplitude code - for name, codegen in code_generators.items(): - if name == "einsum": - preamble = "ints = kwargs[\"ints\"]" - if spin == "uhf": - preamble += "\nr1new = Namespace()\nr2new = Namespace()" - kwargs = { - "preamble": preamble, - "as_dict": True, - } - else: - kwargs = {} - codegen( - "hbar_matvec_ea", - returns_r, - output_r, - expr_r, - **kwargs, - ) + # Generate the 2RDM code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "preamble": get_density_einsum_preamble(2, spin), + "postamble": get_density_einsum_postamble(2, spin), + } + codegen( + "make_rdm2_f", + returns, + output, + expr, + **kwargs, + ) -if spin == "ghf": # FIXME - with Stopwatch("EE-EOM"): + with Stopwatch("IP-EOM"): # Get the R1 contractions in pdaggerq format pq.clear() - pq.set_right_operators_type("EE") - pq.set_left_operators([["e1(i,a)"]]) + pq.set_right_operators_type("IP") + pq.set_left_operators([["a*(i)"]]) pq.set_right_operators([["r1"], ["r2"]]) pq.add_commutator(1.0, ["f"], ["t1"]) pq.add_commutator(1.0, ["v"], ["t1"]) @@ -523,8 +351,8 @@ # Get the R2 contractions in pdaggerq format pq.clear() - pq.set_right_operators_type("EE") - pq.set_left_operators([["e2(i,j,b,a)"]]) + pq.set_right_operators_type("IP") + pq.set_left_operators([["a*(i)", "a*(j)", "a(a)"]]) pq.set_right_operators([["r1"], ["r2"]]) pq.add_operator_product(1.0, ["f"]) pq.add_operator_product(1.0, ["v"]) @@ -544,8 +372,8 @@ output = [] returns = [] for n in range(2): - for index_spins in get_amplitude_spins(n + 1, spin, which="ee"): - indices = default_indices["o"][: n + 1] + default_indices["v"][: n + 1] + for index_spins in get_amplitude_spins(n + 1, spin, which="ip"): + indices = default_indices["o"][: n + 1] + default_indices["v"][: n] expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) expr_n = spin_integrate(expr_n, spin) output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) @@ -554,7 +382,7 @@ output.extend(output_n) returns.extend(returns_n) - (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="trav") + (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="opt") # Generate the R amplitude intermediates code for name, codegen in code_generators.items(): @@ -565,7 +393,7 @@ else: kwargs = {} codegen( - "hbar_matvec_ee_intermediates", + "hbar_matvec_ip_intermediates", returns_nr, output_nr, expr_nr, @@ -580,200 +408,287 @@ preamble += "\nr1new = Namespace()\nr2new = Namespace()" kwargs = { "preamble": preamble, - "postamble": "r2new.baba = np.transpose(r2new.abab, (1, 0, 3, 2))" if spin == "uhf" else None, # FIXME "as_dict": True, } else: kwargs = {} codegen( - "hbar_matvec_ee", + "hbar_matvec_ip", returns_r, output_r, expr_r, **kwargs, ) -with Stopwatch("L-IP-EOM"): - # Get the L1 contractions in pdaggerq format - pq.clear() - pq.set_left_operators_type("IP") - pq.set_left_operators([["l1"], ["l2"]]) - pq.set_right_operators([["a(i)"]]) - pq.add_commutator(1.0, ["f"], ["t1"]) - pq.add_commutator(1.0, ["v"], ["t1"]) - pq.add_commutator(1.0, ["f"], ["t2"]) - pq.add_commutator(1.0, ["v"], ["t2"]) - pq.add_double_commutator(1.0, ["f"], ["t1"], ["t2"]) - pq.add_double_commutator(1.0, ["v"], ["t1"], ["t2"]) - pq.simplify() - terms_r1 = pq.fully_contracted_strings() - terms_r1 = remove_e0_eom(terms_r1) + with Stopwatch("EA-EOM"): + # Get the R1 contractions in pdaggerq format + pq.clear() + pq.set_right_operators_type("EA") + pq.set_left_operators([["a(a)"]]) + pq.set_right_operators([["r1"], ["r2"]]) + pq.add_commutator(1.0, ["f"], ["t1"]) + pq.add_commutator(1.0, ["v"], ["t1"]) + pq.add_commutator(1.0, ["f"], ["t2"]) + pq.add_commutator(1.0, ["v"], ["t2"]) + pq.add_double_commutator(1.0, ["f"], ["t1"], ["t2"]) + pq.add_double_commutator(1.0, ["v"], ["t1"], ["t2"]) + pq.simplify() + terms_r1 = pq.fully_contracted_strings() + terms_r1 = remove_e0_eom(terms_r1) - # Get the L2 contractions in pdaggerq format - pq.clear() - pq.set_left_operators_type("IP") - pq.set_right_operators([["a*(a)", "a(j)", "a(i)"]]) - pq.set_left_operators([["l1"], ["l2"]]) - pq.add_operator_product(1.0, ["f"]) - pq.add_operator_product(1.0, ["v"]) - pq.add_commutator(1.0, ["f"], ["t1"]) - pq.add_commutator(1.0, ["v"], ["t1"]) - pq.add_commutator(1.0, ["f"], ["t2"]) - pq.add_commutator(1.0, ["v"], ["t2"]) - pq.add_double_commutator(0.5, ["f"], ["t2"], ["t2"]) - pq.add_double_commutator(0.5, ["v"], ["t2"], ["t2"]) - pq.simplify() - terms_r2 = pq.fully_contracted_strings() - terms_r2 = remove_e0_eom(terms_r2) + # Get the R2 contractions in pdaggerq format + pq.clear() + pq.set_right_operators_type("EA") + pq.set_left_operators([["a*(i)", "a(b)", "a(a)"]]) + pq.set_right_operators([["r1"], ["r2"]]) + pq.add_operator_product(1.0, ["f"]) + pq.add_operator_product(1.0, ["v"]) + pq.add_commutator(1.0, ["f"], ["t1"]) + pq.add_commutator(1.0, ["v"], ["t1"]) + pq.add_commutator(1.0, ["f"], ["t2"]) + pq.add_commutator(1.0, ["v"], ["t2"]) + pq.add_double_commutator(0.5, ["f"], ["t2"], ["t2"]) + pq.add_double_commutator(0.5, ["v"], ["t2"], ["t2"]) + pq.simplify() + terms_r2 = pq.fully_contracted_strings() + terms_r2 = remove_e0_eom(terms_r2) - # Get the L amplitudes in albert format - terms = [terms_r1, terms_r2] - expr = [] - output = [] - returns = [] - for n in range(2): - for index_spins in get_amplitude_spins(n + 1, spin, which="ip"): - indices = default_indices["o"][: n + 1] + default_indices["v"][: n] - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins, l_is_lambda=False) - expr_n = spin_integrate(expr_n, spin) - output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) + # Get the R amplitudes in albert format + terms = [terms_r1, terms_r2] + expr = [] + output = [] + returns = [] + for n in range(2): + for index_spins in get_amplitude_spins(n + 1, spin, which="ea"): + indices = default_indices["v"][: n + 1] + default_indices["o"][: n] + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) - (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="opt") + (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="opt") - # Generate the L amplitude intermediates code - for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "as_dict": True, - } - else: - kwargs = {} - codegen( - "hbar_lmatvec_ip_intermediates", - returns_nr, - output_nr, - expr_nr, - **kwargs, - ) + # Generate the R amplitude intermediates code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_matvec_ea_intermediates", + returns_nr, + output_nr, + expr_nr, + **kwargs, + ) - # Generate the L amplitude code - for name, codegen in code_generators.items(): - if name == "einsum": - preamble = "ints = kwargs[\"ints\"]" - if spin == "uhf": - preamble += "\nr1new = Namespace()\nr2new = Namespace()" - kwargs = { - "preamble": preamble, - "as_dict": True, - } - else: - kwargs = {} - codegen( - "hbar_lmatvec_ip", - returns_r, - output_r, - expr_r, - **kwargs, - ) + # Generate the R amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + preamble = "ints = kwargs[\"ints\"]" + if spin == "uhf": + preamble += "\nr1new = Namespace()\nr2new = Namespace()" + kwargs = { + "preamble": preamble, + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_matvec_ea", + returns_r, + output_r, + expr_r, + **kwargs, + ) -with Stopwatch("L-EA-EOM"): - # Get the L1 contractions in pdaggerq format - pq.clear() - pq.set_left_operators_type("EA") - pq.set_left_operators([["l1"], ["l2"]]) - pq.set_right_operators([["a*(a)"]]) - pq.add_commutator(1.0, ["f"], ["t1"]) - pq.add_commutator(1.0, ["v"], ["t1"]) - pq.add_commutator(1.0, ["f"], ["t2"]) - pq.add_commutator(1.0, ["v"], ["t2"]) - pq.add_double_commutator(1.0, ["f"], ["t1"], ["t2"]) - pq.add_double_commutator(1.0, ["v"], ["t1"], ["t2"]) - pq.simplify() - terms_r1 = pq.fully_contracted_strings() - terms_r1 = remove_e0_eom(terms_r1) + if spin == "ghf": # FIXME + with Stopwatch("EE-EOM"): + # Get the R1 contractions in pdaggerq format + pq.clear() + pq.set_right_operators_type("EE") + pq.set_left_operators([["e1(i,a)"]]) + pq.set_right_operators([["r1"], ["r2"]]) + pq.add_commutator(1.0, ["f"], ["t1"]) + pq.add_commutator(1.0, ["v"], ["t1"]) + pq.add_commutator(1.0, ["f"], ["t2"]) + pq.add_commutator(1.0, ["v"], ["t2"]) + pq.add_double_commutator(1.0, ["f"], ["t1"], ["t2"]) + pq.add_double_commutator(1.0, ["v"], ["t1"], ["t2"]) + pq.simplify() + terms_r1 = pq.fully_contracted_strings() + terms_r1 = remove_e0_eom(terms_r1) + + # Get the R2 contractions in pdaggerq format + pq.clear() + pq.set_right_operators_type("EE") + pq.set_left_operators([["e2(i,j,b,a)"]]) + pq.set_right_operators([["r1"], ["r2"]]) + pq.add_operator_product(1.0, ["f"]) + pq.add_operator_product(1.0, ["v"]) + pq.add_commutator(1.0, ["f"], ["t1"]) + pq.add_commutator(1.0, ["v"], ["t1"]) + pq.add_commutator(1.0, ["f"], ["t2"]) + pq.add_commutator(1.0, ["v"], ["t2"]) + pq.add_double_commutator(0.5, ["f"], ["t2"], ["t2"]) + pq.add_double_commutator(0.5, ["v"], ["t2"], ["t2"]) + pq.simplify() + terms_r2 = pq.fully_contracted_strings() + terms_r2 = remove_e0_eom(terms_r2) + + # Get the R amplitudes in albert format + terms = [terms_r1, terms_r2] + expr = [] + output = [] + returns = [] + for n in range(2): + for index_spins in get_amplitude_spins(n + 1, spin, which="ee"): + indices = default_indices["o"][: n + 1] + default_indices["v"][: n + 1] + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + + (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="trav") + + # Generate the R amplitude intermediates code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_matvec_ee_intermediates", + returns_nr, + output_nr, + expr_nr, + **kwargs, + ) + + # Generate the R amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + preamble = "ints = kwargs[\"ints\"]" + if spin == "uhf": + preamble += "\nr1new = Namespace()\nr2new = Namespace()" + kwargs = { + "preamble": preamble, + "postamble": "r2new.baba = np.transpose(r2new.abab, (1, 0, 3, 2))" if spin == "uhf" else None, # FIXME + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_matvec_ee", + returns_r, + output_r, + expr_r, + **kwargs, + ) + + with Stopwatch("L-IP-EOM"): + # Get the L1 contractions in pdaggerq format + pq.clear() + pq.set_left_operators_type("IP") + pq.set_left_operators([["l1"], ["l2"]]) + pq.set_right_operators([["a(i)"]]) + pq.add_commutator(1.0, ["f"], ["t1"]) + pq.add_commutator(1.0, ["v"], ["t1"]) + pq.add_commutator(1.0, ["f"], ["t2"]) + pq.add_commutator(1.0, ["v"], ["t2"]) + pq.add_double_commutator(1.0, ["f"], ["t1"], ["t2"]) + pq.add_double_commutator(1.0, ["v"], ["t1"], ["t2"]) + pq.simplify() + terms_r1 = pq.fully_contracted_strings() + terms_r1 = remove_e0_eom(terms_r1) - # Get the L2 contractions in pdaggerq format - pq.clear() - pq.set_left_operators_type("EA") - pq.set_right_operators([["a*(a)", "a*(b)", "a(i)"]]) - pq.set_left_operators([["l1"], ["l2"]]) - pq.add_operator_product(1.0, ["f"]) - pq.add_operator_product(1.0, ["v"]) - pq.add_commutator(1.0, ["f"], ["t1"]) - pq.add_commutator(1.0, ["v"], ["t1"]) - pq.add_commutator(1.0, ["f"], ["t2"]) - pq.add_commutator(1.0, ["v"], ["t2"]) - pq.add_double_commutator(0.5, ["f"], ["t2"], ["t2"]) - pq.add_double_commutator(0.5, ["v"], ["t2"], ["t2"]) - pq.simplify() - terms_r2 = pq.fully_contracted_strings() - terms_r2 = remove_e0_eom(terms_r2) + # Get the L2 contractions in pdaggerq format + pq.clear() + pq.set_left_operators_type("IP") + pq.set_right_operators([["a*(a)", "a(j)", "a(i)"]]) + pq.set_left_operators([["l1"], ["l2"]]) + pq.add_operator_product(1.0, ["f"]) + pq.add_operator_product(1.0, ["v"]) + pq.add_commutator(1.0, ["f"], ["t1"]) + pq.add_commutator(1.0, ["v"], ["t1"]) + pq.add_commutator(1.0, ["f"], ["t2"]) + pq.add_commutator(1.0, ["v"], ["t2"]) + pq.add_double_commutator(0.5, ["f"], ["t2"], ["t2"]) + pq.add_double_commutator(0.5, ["v"], ["t2"], ["t2"]) + pq.simplify() + terms_r2 = pq.fully_contracted_strings() + terms_r2 = remove_e0_eom(terms_r2) - # Get the L amplitudes in albert format - terms = [terms_r1, terms_r2] - expr = [] - output = [] - returns = [] - for n in range(2): - for index_spins in get_amplitude_spins(n + 1, spin, which="ea"): - indices = default_indices["v"][: n + 1] + default_indices["o"][: n] - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins, l_is_lambda=False) - expr_n = spin_integrate(expr_n, spin) - output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) + # Get the L amplitudes in albert format + terms = [terms_r1, terms_r2] + expr = [] + output = [] + returns = [] + for n in range(2): + for index_spins in get_amplitude_spins(n + 1, spin, which="ip"): + indices = default_indices["o"][: n + 1] + default_indices["v"][: n] + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins, l_is_lambda=False) + expr_n = spin_integrate(expr_n, spin) + output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) - (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="opt") + (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="opt") - # Generate the L amplitude intermediates code - for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "as_dict": True, - } - else: - kwargs = {} - codegen( - "hbar_lmatvec_ea_intermediates", - returns_nr, - output_nr, - expr_nr, - **kwargs, - ) + # Generate the L amplitude intermediates code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_lmatvec_ip_intermediates", + returns_nr, + output_nr, + expr_nr, + **kwargs, + ) - # Generate the L amplitude code - for name, codegen in code_generators.items(): - if name == "einsum": - preamble = "ints = kwargs[\"ints\"]" - if spin == "uhf": - preamble += "\nr1new = Namespace()\nr2new = Namespace()" - kwargs = { - "preamble": preamble, - "as_dict": True, - } - else: - kwargs = {} - codegen( - "hbar_lmatvec_ea", - returns_r, - output_r, - expr_r, - **kwargs, - ) + # Generate the L amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + preamble = "ints = kwargs[\"ints\"]" + if spin == "uhf": + preamble += "\nr1new = Namespace()\nr2new = Namespace()" + kwargs = { + "preamble": preamble, + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_lmatvec_ip", + returns_r, + output_r, + expr_r, + **kwargs, + ) -if spin == "ghf": # FIXME - with Stopwatch("L-EE-EOM"): + with Stopwatch("L-EA-EOM"): # Get the L1 contractions in pdaggerq format pq.clear() - pq.set_left_operators_type("EE") + pq.set_left_operators_type("EA") pq.set_left_operators([["l1"], ["l2"]]) - pq.set_right_operators([["e1(a,i)"]]) + pq.set_right_operators([["a*(a)"]]) pq.add_commutator(1.0, ["f"], ["t1"]) pq.add_commutator(1.0, ["v"], ["t1"]) pq.add_commutator(1.0, ["f"], ["t2"]) @@ -786,9 +701,9 @@ # Get the L2 contractions in pdaggerq format pq.clear() - pq.set_left_operators_type("EE") + pq.set_left_operators_type("EA") + pq.set_right_operators([["a*(a)", "a*(b)", "a(i)"]]) pq.set_left_operators([["l1"], ["l2"]]) - pq.set_right_operators([["e2(a,b,j,i)"]]) pq.add_operator_product(1.0, ["f"]) pq.add_operator_product(1.0, ["v"]) pq.add_commutator(1.0, ["f"], ["t1"]) @@ -807,8 +722,8 @@ output = [] returns = [] for n in range(2): - for index_spins in get_amplitude_spins(n + 1, spin, which="ee"): - indices = default_indices["o"][: n + 1] + default_indices["v"][: n + 1] + for index_spins in get_amplitude_spins(n + 1, spin, which="ea"): + indices = default_indices["v"][: n + 1] + default_indices["o"][: n] expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins, l_is_lambda=False) expr_n = spin_integrate(expr_n, spin) output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) @@ -817,7 +732,7 @@ output.extend(output_n) returns.extend(returns_n) - (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="trav") + (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="opt") # Generate the L amplitude intermediates code for name, codegen in code_generators.items(): @@ -828,7 +743,7 @@ else: kwargs = {} codegen( - "hbar_lmatvec_ee_intermediates", + "hbar_lmatvec_ea_intermediates", returns_nr, output_nr, expr_nr, @@ -843,19 +758,107 @@ preamble += "\nr1new = Namespace()\nr2new = Namespace()" kwargs = { "preamble": preamble, - "postamble": "r2new.baba = np.transpose(r2new.abab, (1, 0, 3, 2))" if spin == "uhf" else None, # FIXME "as_dict": True, } else: kwargs = {} codegen( - "hbar_lmatvec_ee", + "hbar_lmatvec_ea", returns_r, output_r, expr_r, **kwargs, ) + if spin == "ghf": # FIXME + with Stopwatch("L-EE-EOM"): + # Get the L1 contractions in pdaggerq format + pq.clear() + pq.set_left_operators_type("EE") + pq.set_left_operators([["l1"], ["l2"]]) + pq.set_right_operators([["e1(a,i)"]]) + pq.add_commutator(1.0, ["f"], ["t1"]) + pq.add_commutator(1.0, ["v"], ["t1"]) + pq.add_commutator(1.0, ["f"], ["t2"]) + pq.add_commutator(1.0, ["v"], ["t2"]) + pq.add_double_commutator(1.0, ["f"], ["t1"], ["t2"]) + pq.add_double_commutator(1.0, ["v"], ["t1"], ["t2"]) + pq.simplify() + terms_r1 = pq.fully_contracted_strings() + terms_r1 = remove_e0_eom(terms_r1) + + # Get the L2 contractions in pdaggerq format + pq.clear() + pq.set_left_operators_type("EE") + pq.set_left_operators([["l1"], ["l2"]]) + pq.set_right_operators([["e2(a,b,j,i)"]]) + pq.add_operator_product(1.0, ["f"]) + pq.add_operator_product(1.0, ["v"]) + pq.add_commutator(1.0, ["f"], ["t1"]) + pq.add_commutator(1.0, ["v"], ["t1"]) + pq.add_commutator(1.0, ["f"], ["t2"]) + pq.add_commutator(1.0, ["v"], ["t2"]) + pq.add_double_commutator(0.5, ["f"], ["t2"], ["t2"]) + pq.add_double_commutator(0.5, ["v"], ["t2"], ["t2"]) + pq.simplify() + terms_r2 = pq.fully_contracted_strings() + terms_r2 = remove_e0_eom(terms_r2) + + # Get the L amplitudes in albert format + terms = [terms_r1, terms_r2] + expr = [] + output = [] + returns = [] + for n in range(2): + for index_spins in get_amplitude_spins(n + 1, spin, which="ee"): + indices = default_indices["o"][: n + 1] + default_indices["v"][: n + 1] + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins, l_is_lambda=False) + expr_n = spin_integrate(expr_n, spin) + output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + + (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="trav") + + # Generate the L amplitude intermediates code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_lmatvec_ee_intermediates", + returns_nr, + output_nr, + expr_nr, + **kwargs, + ) + + # Generate the L amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + preamble = "ints = kwargs[\"ints\"]" + if spin == "uhf": + preamble += "\nr1new = Namespace()\nr2new = Namespace()" + kwargs = { + "preamble": preamble, + "postamble": "r2new.baba = np.transpose(r2new.abab, (1, 0, 3, 2))" if spin == "uhf" else None, # FIXME + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_lmatvec_ee", + returns_r, + output_r, + expr_r, + **kwargs, + ) + for codegen in code_generators.values(): codegen.postamble() codegen.stdout.close() From e733cefa9f71c4b5222a0560795c0444618f7304 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Sun, 20 Oct 2024 15:26:03 +0100 Subject: [PATCH 132/168] Still won't work --- ebcc/codegen/bootstrap_QCISD.py | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/ebcc/codegen/bootstrap_QCISD.py b/ebcc/codegen/bootstrap_QCISD.py index db87875d..370eb698 100644 --- a/ebcc/codegen/bootstrap_QCISD.py +++ b/ebcc/codegen/bootstrap_QCISD.py @@ -144,12 +144,12 @@ pq.add_commutator(1.0, ["v", "e1(a,i)"], ["t2"]) pq.add_double_commutator(1.0, ["f", "e1(a,i)"], ["t1"], ["t2"]) pq.add_double_commutator(1.0, ["v", "e1(a,i)"], ["t1"], ["t2"]) - pq.add_commutator(1.0, ["e1(a,i)", "f"], ["t1"]) - pq.add_commutator(1.0, ["e1(a,i)", "v"], ["t1"]) - pq.add_commutator(1.0, ["e1(a,i)", "f"], ["t2"]) - pq.add_commutator(1.0, ["e1(a,i)", "v"], ["t2"]) - pq.add_double_commutator(1.0, ["e1(a,i)", "f"], ["t1"], ["t2"]) - pq.add_double_commutator(1.0, ["e1(a,i)", "v"], ["t1"], ["t2"]) + pq.add_commutator(-1.0, ["e1(a,i)", "f"], ["t1"]) + pq.add_commutator(-1.0, ["e1(a,i)", "v"], ["t1"]) + pq.add_commutator(-1.0, ["e1(a,i)", "f"], ["t2"]) + pq.add_commutator(-1.0, ["e1(a,i)", "v"], ["t2"]) + pq.add_double_commutator(-1.0, ["e1(a,i)", "f"], ["t1"], ["t2"]) + pq.add_double_commutator(-1.0, ["e1(a,i)", "v"], ["t1"], ["t2"]) pq.simplify() terms_l1 = pq.fully_contracted_strings() @@ -170,12 +170,12 @@ pq.add_commutator(1.0, ["v", "e2(a,b,j,i)"], ["t2"]) pq.add_double_commutator(1.0, ["f", "e2(a,b,j,i)"], ["t1"], ["t2"]) pq.add_double_commutator(1.0, ["v", "e2(a,b,j,i)"], ["t1"], ["t2"]) - pq.add_commutator(1.0, ["e2(a,b,j,i)", "f"], ["t1"]) - pq.add_commutator(1.0, ["e2(a,b,j,i)", "v"], ["t1"]) - pq.add_commutator(1.0, ["e2(a,b,j,i)", "f"], ["t2"]) - pq.add_commutator(1.0, ["e2(a,b,j,i)", "v"], ["t2"]) - pq.add_double_commutator(1.0, ["e2(a,b,j,i)", "f"], ["t1"], ["t2"]) - pq.add_double_commutator(1.0, ["e2(a,b,j,i)", "v"], ["t1"], ["t2"]) + pq.add_commutator(-1.0, ["e2(a,b,j,i)", "f"], ["t1"]) + pq.add_commutator(-1.0, ["e2(a,b,j,i)", "v"], ["t1"]) + pq.add_commutator(-1.0, ["e2(a,b,j,i)", "f"], ["t2"]) + pq.add_commutator(-1.0, ["e2(a,b,j,i)", "v"], ["t2"]) + pq.add_double_commutator(-1.0, ["e2(a,b,j,i)", "f"], ["t1"], ["t2"]) + pq.add_double_commutator(-1.0, ["e2(a,b,j,i)", "v"], ["t1"], ["t2"]) pq.simplify() terms_l2 = pq.fully_contracted_strings() @@ -194,7 +194,7 @@ expr.extend(expr_n) output.extend(output_n) returns.extend(returns_n) - output, expr = optimise(output, expr, spin, strategy="opt") + #output, expr = optimise(output, expr, spin, strategy="opt") # Generate the L amplitude code for name, codegen in code_generators.items(): @@ -333,6 +333,7 @@ **kwargs, ) +if 0: with Stopwatch("IP-EOM"): # Get the R1 contractions in pdaggerq format pq.clear() From 6603b870959d41e5eddf6d3305b67561de202aa1 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Sun, 20 Oct 2024 15:28:26 +0100 Subject: [PATCH 133/168] Try CCSDT again --- .github/workflows/bootstrap_all.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/bootstrap_all.sh b/.github/workflows/bootstrap_all.sh index 46b19acc..61f7a69f 100644 --- a/.github/workflows/bootstrap_all.sh +++ b/.github/workflows/bootstrap_all.sh @@ -27,7 +27,7 @@ for method in CCSDwtwp; do done done -for method in CC3; do +for method in CC3 CCSDT; do for i in rhf uhf ghf; do echo "Bootstrapping $method ($i)" python -W ignore bootstrap_${method}.py $i &> output_${method}_${i}.dat & @@ -63,7 +63,7 @@ for method in CCSDwtwp; do done done -for method in CC3; do +for method in CC3 CCSDT; do for i in rhf uhf ghf; do echo "Output for $method ($i)" cat output_${method}_${i}.dat From 7dfc1ca5b53b6f9d91cc9146d34e7cd2a2b6aa22 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Mon, 21 Oct 2024 22:58:31 +0100 Subject: [PATCH 134/168] Greeedy for most CCSDT opt --- ebcc/codegen/bootstrap_CCSDT.py | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/ebcc/codegen/bootstrap_CCSDT.py b/ebcc/codegen/bootstrap_CCSDT.py index 7d8ba4ab..fb48193b 100644 --- a/ebcc/codegen/bootstrap_CCSDT.py +++ b/ebcc/codegen/bootstrap_CCSDT.py @@ -174,7 +174,7 @@ expr.extend(expr_n) output.extend(output_n) returns.extend(returns_n) - output, expr = optimise(output, expr, spin, strategy="opt" if spin != "uhf" else "greedy") + output, expr = optimise(output, expr, spin, strategy="greedy") # Generate the L amplitude code for name, codegen in code_generators.items(): @@ -296,7 +296,7 @@ expr.extend(expr_n) output.extend(output_n) returns.extend(returns_n) - output, expr = optimise(output, expr, spin, strategy="trav") + output, expr = optimise(output, expr, spin, strategy="greedy") # Generate the 2RDM code for name, codegen in code_generators.items(): @@ -363,7 +363,7 @@ output.extend(output_n) returns.extend(returns_n) - (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="trav" if spin != "uhf" else "greedy") + (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="greedy") # Generate the R amplitude intermediates code for name, codegen in code_generators.items(): @@ -451,7 +451,7 @@ output.extend(output_n) returns.extend(returns_n) - (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="trav" if spin != "uhf" else "greedy") + (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="greedy") # Generate the R amplitude intermediates code for name, codegen in code_generators.items(): @@ -540,7 +540,7 @@ output.extend(output_n) returns.extend(returns_n) - (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="trav" if spin != "uhf" else "greedy") + (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="greedy") # Generate the R amplitude intermediates code for name, codegen in code_generators.items(): @@ -629,7 +629,7 @@ output.extend(output_n) returns.extend(returns_n) - (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="trav" if spin != "uhf" else "greedy") + (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="greedy") # Generate the L amplitude intermediates code for name, codegen in code_generators.items(): @@ -717,7 +717,7 @@ output.extend(output_n) returns.extend(returns_n) - (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="trav" if spin != "uhf" else "greedy") + (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="greedy") # Generate the L amplitude intermediates code for name, codegen in code_generators.items(): @@ -806,7 +806,7 @@ output.extend(output_n) returns.extend(returns_n) - (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="trav" if spin != "uhf" else "greedy") + (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="greedy") # Generate the L amplitude intermediates code for name, codegen in code_generators.items(): From 22350331e3959de17dd1f335ce42a6c02ecdc3ed Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Mon, 21 Oct 2024 22:59:28 +0100 Subject: [PATCH 135/168] Try CCSDT only --- .github/workflows/bootstrap_all.sh | 110 +++++++++++++++-------------- 1 file changed, 56 insertions(+), 54 deletions(-) diff --git a/.github/workflows/bootstrap_all.sh b/.github/workflows/bootstrap_all.sh index 61f7a69f..d10d06d1 100644 --- a/.github/workflows/bootstrap_all.sh +++ b/.github/workflows/bootstrap_all.sh @@ -1,33 +1,34 @@ #!/bin/bash -for method in MPn; do - for n in 2 3; do - for i in rhf uhf ghf; do - echo "Bootstrapping $method ($i) (order=$n)" - python -W ignore bootstrap_${method}.py $i $n &> output_${method}_${i}_${n}.dat & - done - done -done - -for method in CCD CCSD QCISD CC2 DCD DCSD; do - for i in rhf uhf ghf; do - echo "Bootstrapping $method ($i)" - python -W ignore bootstrap_${method}.py $i &> output_${method}_${i}.dat & - done - for i in rhf uhf; do - echo "Bootstrapping DF-$method ($i)" - python -W ignore bootstrap_DF${method}.py $i &> output_DF${method}_${i}.dat & - done -done - -for method in CCSDwtwp; do - for i in rhf ghf; do - echo "Bootstrapping $method ($i)" - python -W ignore bootstrap_${method}.py $i &> output_${method}_${i}.dat & - done -done +#for method in MPn; do +# for n in 2 3; do +# for i in rhf uhf ghf; do +# echo "Bootstrapping $method ($i) (order=$n)" +# python -W ignore bootstrap_${method}.py $i $n &> output_${method}_${i}_${n}.dat & +# done +# done +#done +# +#for method in CCD CCSD QCISD CC2 DCD DCSD; do +# for i in rhf uhf ghf; do +# echo "Bootstrapping $method ($i)" +# python -W ignore bootstrap_${method}.py $i &> output_${method}_${i}.dat & +# done +# for i in rhf uhf; do +# echo "Bootstrapping DF-$method ($i)" +# python -W ignore bootstrap_DF${method}.py $i &> output_DF${method}_${i}.dat & +# done +#done +# +#for method in CCSDwtwp; do +# for i in rhf ghf; do +# echo "Bootstrapping $method ($i)" +# python -W ignore bootstrap_${method}.py $i &> output_${method}_${i}.dat & +# done +#done -for method in CC3 CCSDT; do +#for method in CC3 CCSDT; do +for method in CCSDT; do for i in rhf uhf ghf; do echo "Bootstrapping $method ($i)" python -W ignore bootstrap_${method}.py $i &> output_${method}_${i}.dat & @@ -36,34 +37,35 @@ done wait -for method in MPn; do - for n in 2 3; do - for i in rhf uhf ghf; do - echo "Output for $method ($i) (order=$n)" - cat output_${method}_${i}_${n}.dat - done - done -done - -for method in CCD CCSD QCISD CC2 DCD DCSD; do - for i in rhf uhf ghf; do - echo "Output for $method ($i)" - cat output_${method}_${i}.dat - done - for i in rhf uhf; do - echo "Output for DF-$method ($i)" - cat output_DF${method}_${i}.dat - done -done - -for method in CCSDwtwp; do - for i in rhf ghf; do - echo "Output for $method ($i)" - cat output_${method}_${i}.dat - done -done +#for method in MPn; do +# for n in 2 3; do +# for i in rhf uhf ghf; do +# echo "Output for $method ($i) (order=$n)" +# cat output_${method}_${i}_${n}.dat +# done +# done +#done +# +#for method in CCD CCSD QCISD CC2 DCD DCSD; do +# for i in rhf uhf ghf; do +# echo "Output for $method ($i)" +# cat output_${method}_${i}.dat +# done +# for i in rhf uhf; do +# echo "Output for DF-$method ($i)" +# cat output_DF${method}_${i}.dat +# done +#done +# +#for method in CCSDwtwp; do +# for i in rhf ghf; do +# echo "Output for $method ($i)" +# cat output_${method}_${i}.dat +# done +#done -for method in CC3 CCSDT; do +#for method in CC3 CCSDT; do +for method in CCSDT; do for i in rhf uhf ghf; do echo "Output for $method ($i)" cat output_${method}_${i}.dat From 2c5f5bd59c95985ca3e1fc489b3bb6c2b6a8d318 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Tue, 22 Oct 2024 08:40:25 +0100 Subject: [PATCH 136/168] We'll have to do CCSDT locally --- .github/workflows/bootstrap_all.sh | 110 ++++++++++++++--------------- 1 file changed, 54 insertions(+), 56 deletions(-) diff --git a/.github/workflows/bootstrap_all.sh b/.github/workflows/bootstrap_all.sh index d10d06d1..46b19acc 100644 --- a/.github/workflows/bootstrap_all.sh +++ b/.github/workflows/bootstrap_all.sh @@ -1,34 +1,33 @@ #!/bin/bash -#for method in MPn; do -# for n in 2 3; do -# for i in rhf uhf ghf; do -# echo "Bootstrapping $method ($i) (order=$n)" -# python -W ignore bootstrap_${method}.py $i $n &> output_${method}_${i}_${n}.dat & -# done -# done -#done -# -#for method in CCD CCSD QCISD CC2 DCD DCSD; do -# for i in rhf uhf ghf; do -# echo "Bootstrapping $method ($i)" -# python -W ignore bootstrap_${method}.py $i &> output_${method}_${i}.dat & -# done -# for i in rhf uhf; do -# echo "Bootstrapping DF-$method ($i)" -# python -W ignore bootstrap_DF${method}.py $i &> output_DF${method}_${i}.dat & -# done -#done -# -#for method in CCSDwtwp; do -# for i in rhf ghf; do -# echo "Bootstrapping $method ($i)" -# python -W ignore bootstrap_${method}.py $i &> output_${method}_${i}.dat & -# done -#done +for method in MPn; do + for n in 2 3; do + for i in rhf uhf ghf; do + echo "Bootstrapping $method ($i) (order=$n)" + python -W ignore bootstrap_${method}.py $i $n &> output_${method}_${i}_${n}.dat & + done + done +done + +for method in CCD CCSD QCISD CC2 DCD DCSD; do + for i in rhf uhf ghf; do + echo "Bootstrapping $method ($i)" + python -W ignore bootstrap_${method}.py $i &> output_${method}_${i}.dat & + done + for i in rhf uhf; do + echo "Bootstrapping DF-$method ($i)" + python -W ignore bootstrap_DF${method}.py $i &> output_DF${method}_${i}.dat & + done +done + +for method in CCSDwtwp; do + for i in rhf ghf; do + echo "Bootstrapping $method ($i)" + python -W ignore bootstrap_${method}.py $i &> output_${method}_${i}.dat & + done +done -#for method in CC3 CCSDT; do -for method in CCSDT; do +for method in CC3; do for i in rhf uhf ghf; do echo "Bootstrapping $method ($i)" python -W ignore bootstrap_${method}.py $i &> output_${method}_${i}.dat & @@ -37,35 +36,34 @@ done wait -#for method in MPn; do -# for n in 2 3; do -# for i in rhf uhf ghf; do -# echo "Output for $method ($i) (order=$n)" -# cat output_${method}_${i}_${n}.dat -# done -# done -#done -# -#for method in CCD CCSD QCISD CC2 DCD DCSD; do -# for i in rhf uhf ghf; do -# echo "Output for $method ($i)" -# cat output_${method}_${i}.dat -# done -# for i in rhf uhf; do -# echo "Output for DF-$method ($i)" -# cat output_DF${method}_${i}.dat -# done -#done -# -#for method in CCSDwtwp; do -# for i in rhf ghf; do -# echo "Output for $method ($i)" -# cat output_${method}_${i}.dat -# done -#done +for method in MPn; do + for n in 2 3; do + for i in rhf uhf ghf; do + echo "Output for $method ($i) (order=$n)" + cat output_${method}_${i}_${n}.dat + done + done +done + +for method in CCD CCSD QCISD CC2 DCD DCSD; do + for i in rhf uhf ghf; do + echo "Output for $method ($i)" + cat output_${method}_${i}.dat + done + for i in rhf uhf; do + echo "Output for DF-$method ($i)" + cat output_DF${method}_${i}.dat + done +done + +for method in CCSDwtwp; do + for i in rhf ghf; do + echo "Output for $method ($i)" + cat output_${method}_${i}.dat + done +done -#for method in CC3 CCSDT; do -for method in CCSDT; do +for method in CC3; do for i in rhf uhf ghf; do echo "Output for $method ($i)" cat output_${method}_${i}.dat From 12a1b68c0c43278cce2659f3d604fcb54ede0734 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Wed, 23 Oct 2024 08:51:11 +0100 Subject: [PATCH 137/168] Locally generated CCSDT --- ebcc/codegen/GCCSDT.py | 8281 ++++++++++++---- ebcc/codegen/RCCSDT.py | 18376 +++++++++++++++++++++++------------- ebcc/codegen/UCCSDT.py | 19940 +++++++++++++++++++++------------------ 3 files changed, 29048 insertions(+), 17549 deletions(-) diff --git a/ebcc/codegen/GCCSDT.py b/ebcc/codegen/GCCSDT.py index c0bf1564..702c3448 100644 --- a/ebcc/codegen/GCCSDT.py +++ b/ebcc/codegen/GCCSDT.py @@ -1,1692 +1,6601 @@ -# Code generated for ebcc. +""" +Code generated by `albert`: +https://github.com/obackhouse/albert + + * date: 2024-10-22T10:27:00.201876 + * python version: 3.9.6 (default, Feb 3 2024, 15:58:27) +[Clang 15.0.0 (clang-1500.3.9.4)] + * albert version: 0.0.0 + * caller: /Users/oliver.backhouse/env/default/lib/python3.9/site-packages/albert/codegen/einsum.py + * node: F9HJ673GV7.local + * system: Darwin + * processor: arm + * release: 23.3.0 +""" from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, Namespace -from ebcc.precision import types - -def energy(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, t3=None, **kwargs): - # energy - e_cc = 0 - e_cc += einsum(f.ov, (0, 1), t1, (0, 1), ()) - x0 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x0 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - x0 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) * 2.0 - e_cc += einsum(v.oovv, (0, 1, 2, 3), x0, (0, 1, 2, 3), ()) * 0.25 - del x0 +from ebcc.util import pack_2e, einsum, dirsum, Namespace + + +def energy(f=None, t1=None, t2=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-10-22T10:27:00.316202. + + Parameters + ---------- + f : array + Fock matrix. + t1 : array + T1 amplitudes. + t2 : array + T2 amplitudes. + v : array + Electron repulsion integrals. + + Returns + ------- + e_cc : float + Coupled cluster energy. + """ + + e_cc = einsum(f.ov, (0, 1), t1, (0, 1), ()) + tmp0 = np.copy(t2) + tmp0 += einsum(t1, (0, 1), t1, (2, 3), (2, 0, 3, 1)) * 2 + e_cc += einsum(v.oovv, (0, 1, 2, 3), tmp0, (0, 1, 2, 3), ()) * 0.25 + del tmp0 return e_cc -def update_amps(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, t3=None, **kwargs): - # T amplitudes - t1new = np.zeros((nocc, nvir), dtype=types[float]) - t1new += einsum(f.vv, (0, 1), t1, (2, 1), (2, 0)) - t1new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 0, 1, 5, 2, 3), (4, 5)) * 0.25 - t1new += einsum(f.ov, (0, 1), (0, 1)) - t1new += einsum(t1, (0, 1), v.ovov, (2, 1, 0, 3), (2, 3)) * -1.0 - t2new = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - t2new += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) - x0 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x0 += einsum(t1, (0, 1), v.oovv, (2, 3, 4, 1), (0, 2, 3, 4)) - x1 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x1 += einsum(v.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - x1 += einsum(x0, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - t1new += einsum(t2, (0, 1, 2, 3), x1, (4, 1, 0, 3), (4, 2)) * -0.5 - del x1 - x2 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x2 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - x2 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) * 2.0 - t1new += einsum(v.ovvv, (0, 1, 2, 3), x2, (0, 4, 2, 3), (4, 1)) * 0.5 - x3 = np.zeros((nocc, nvir), dtype=types[float]) - x3 += einsum(t1, (0, 1), v.oovv, (2, 0, 3, 1), (2, 3)) - x4 = np.zeros((nocc, nvir), dtype=types[float]) - x4 += einsum(f.ov, (0, 1), (0, 1)) - x4 += einsum(x3, (0, 1), (0, 1)) - del x3 - t1new += einsum(x4, (0, 1), t2, (2, 0, 3, 1), (2, 3)) - t2new += einsum(x4, (0, 1), t3, (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) - x5 = np.zeros((nocc, nocc), dtype=types[float]) - x5 += einsum(f.ov, (0, 1), t1, (2, 1), (0, 2)) - x6 = np.zeros((nocc, nocc), dtype=types[float]) - x6 += einsum(t1, (0, 1), v.ooov, (2, 0, 3, 1), (2, 3)) - x7 = np.zeros((nocc, nocc), dtype=types[float]) - x7 += einsum(v.oovv, (0, 1, 2, 3), x2, (1, 4, 2, 3), (4, 0)) * -1.0 - x8 = np.zeros((nocc, nocc), dtype=types[float]) - x8 += einsum(f.oo, (0, 1), (0, 1)) * 2.0 - x8 += einsum(x5, (0, 1), (0, 1)) * 2.0 - x8 += einsum(x6, (0, 1), (0, 1)) * 2.0 - x8 += einsum(x7, (0, 1), (1, 0)) - t1new += einsum(t1, (0, 1), x8, (0, 2), (2, 1)) * -0.5 - del x8 - x9 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x9 += einsum(t1, (0, 1), v.ovvv, (2, 1, 3, 4), (0, 2, 3, 4)) - x10 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x10 += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 0, 1, 5, 6, 3), (4, 2, 5, 6)) - x11 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x11 += einsum(x0, (0, 1, 2, 3), t3, (4, 2, 1, 5, 6, 3), (0, 4, 5, 6)) - x12 = np.zeros((nocc, nocc), dtype=types[float]) - x12 += einsum(t1, (0, 1), x4, (2, 1), (2, 0)) - x13 = np.zeros((nocc, nocc), dtype=types[float]) - x13 += einsum(f.oo, (0, 1), (0, 1)) - x13 += einsum(x12, (0, 1), (1, 0)) - del x12 - x14 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x14 += einsum(x13, (0, 1), t2, (2, 1, 3, 4), (2, 0, 3, 4)) * -1.0 - del x13 - x15 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x15 += einsum(t1, (0, 1), v.ooov, (2, 3, 4, 1), (0, 2, 3, 4)) - x16 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x16 += einsum(x15, (0, 1, 2, 3), x2, (1, 2, 4, 5), (0, 3, 4, 5)) * 0.5 - x17 = np.zeros((nocc, nocc), dtype=types[float]) - x17 += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 2, 3), (0, 4)) - x18 = np.zeros((nocc, nocc), dtype=types[float]) - x18 += einsum(x6, (0, 1), (0, 1)) - x18 += einsum(x17, (0, 1), (1, 0)) * 0.5 - del x17 - x19 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x19 += einsum(x18, (0, 1), t2, (2, 0, 3, 4), (2, 1, 3, 4)) * -1.0 - del x18 - x20 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x20 += einsum(x9, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x9 - x20 += einsum(x10, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.5 - del x10 - x20 += einsum(x11, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.5 - del x11 - x20 += einsum(x14, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x14 - x20 += einsum(x16, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x16 - x20 += einsum(x19, (0, 1, 2, 3), (0, 1, 3, 2)) - del x19 - t2new += einsum(x20, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new += einsum(x20, (0, 1, 2, 3), (1, 0, 2, 3)) - del x20 - x21 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x21 += einsum(t1, (0, 1), v.ooov, (2, 3, 0, 4), (2, 3, 1, 4)) - x22 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x22 += einsum(f.vv, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4)) - x23 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x23 += einsum(x21, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x21 - x23 += einsum(x22, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x22 - t2new += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new += einsum(x23, (0, 1, 2, 3), (0, 1, 3, 2)) - del x23 - x24 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x24 += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 0, 6, 2, 3), (4, 5, 6, 1)) - x25 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x25 += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 3), (0, 4, 2, 5)) - x26 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x26 += einsum(t2, (0, 1, 2, 3), x25, (4, 1, 5, 3), (0, 4, 2, 5)) - x27 = np.zeros((nvir, nvir), dtype=types[float]) - x27 += einsum(t1, (0, 1), v.ovvv, (0, 2, 3, 1), (2, 3)) - x28 = np.zeros((nvir, nvir), dtype=types[float]) - x28 += einsum(t2, (0, 1, 2, 3), v.oovv, (0, 1, 4, 3), (2, 4)) - x29 = np.zeros((nvir, nvir), dtype=types[float]) - x29 += einsum(x27, (0, 1), (0, 1)) - x29 += einsum(x28, (0, 1), (0, 1)) * 0.5 - del x28 - x30 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x30 += einsum(x29, (0, 1), t2, (2, 3, 4, 1), (2, 3, 4, 0)) * -1.0 - del x29 - x31 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x31 += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 1, 6, 2, 3), (4, 5, 0, 6)) - x32 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x32 += einsum(v.ovvv, (0, 1, 2, 3), x2, (4, 5, 2, 3), (0, 4, 5, 1)) * 0.5 - x33 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x33 += einsum(x4, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4)) * -1.0 - x34 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x34 += einsum(x31, (0, 1, 2, 3), (2, 1, 0, 3)) * -0.5 - x34 += einsum(x32, (0, 1, 2, 3), (0, 2, 1, 3)) - del x32 - x34 += einsum(x33, (0, 1, 2, 3), (2, 1, 0, 3)) - del x33 - x35 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x35 += einsum(t1, (0, 1), x34, (0, 2, 3, 4), (2, 3, 4, 1)) - del x34 - x36 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x36 += einsum(x24, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - del x24 - x36 += einsum(x26, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x26 - x36 += einsum(x30, (0, 1, 2, 3), (1, 0, 2, 3)) - del x30 - x36 += einsum(x35, (0, 1, 2, 3), (1, 0, 3, 2)) - del x35 - t2new += einsum(x36, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new += einsum(x36, (0, 1, 2, 3), (0, 1, 3, 2)) - del x36 - x37 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x37 += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 3, 1, 5), (0, 4, 2, 5)) - x38 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x38 += einsum(t1, (0, 1), v.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) - x39 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x39 += einsum(t2, (0, 1, 2, 3), x38, (4, 1, 5, 3), (4, 0, 2, 5)) * -1.0 - x40 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x40 += einsum(t1, (0, 1), v.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) - x41 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x41 += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 1, 5, 3), (0, 4, 5, 2)) - x42 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x42 += einsum(t2, (0, 1, 2, 3), x0, (4, 1, 5, 3), (4, 0, 5, 2)) - x43 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x43 += einsum(x40, (0, 1, 2, 3), (0, 1, 2, 3)) - x43 += einsum(x41, (0, 1, 2, 3), (0, 1, 2, 3)) - x43 += einsum(x42, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x44 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x44 += einsum(t1, (0, 1), x43, (2, 0, 3, 4), (2, 3, 4, 1)) - del x43 - x45 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x45 += einsum(x37, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x37 - x45 += einsum(x39, (0, 1, 2, 3), (0, 1, 2, 3)) - del x39 - x45 += einsum(x44, (0, 1, 2, 3), (0, 1, 3, 2)) - del x44 - t2new += einsum(x45, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new += einsum(x45, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new += einsum(x45, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - t2new += einsum(x45, (0, 1, 2, 3), (1, 0, 3, 2)) - del x45 - x46 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x46 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - x46 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) - t2new += einsum(v.vvvv, (0, 1, 2, 3), x46, (4, 5, 2, 3), (5, 4, 0, 1)) * -1.0 - del x46 - x47 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x47 += einsum(v.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x47 += einsum(v.oovv, (0, 1, 2, 3), x2, (4, 5, 2, 3), (0, 1, 5, 4)) * -1.0 - t2new += einsum(x2, (0, 1, 2, 3), x47, (0, 1, 4, 5), (4, 5, 3, 2)) * -0.25 - del x47 - x48 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x48 += einsum(x15, (0, 1, 2, 3), t3, (4, 1, 2, 5, 6, 7), (0, 4, 3, 5, 6, 7)) - t3new = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - t3new += einsum(x48, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 0.5 - t3new += einsum(x48, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -0.5 - t3new += einsum(x48, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -0.5 - t3new += einsum(x48, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * 0.5 - t3new += einsum(x48, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 0.5 - t3new += einsum(x48, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -0.5 - del x48 - x49 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x49 += einsum(v.ovov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 1), (4, 5, 0, 6, 7, 3)) - x50 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x50 += einsum(v.ooov, (0, 1, 2, 3), x2, (0, 1, 4, 5), (2, 3, 4, 5)) - x51 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x51 += einsum(t2, (0, 1, 2, 3), x50, (4, 3, 5, 6), (0, 1, 4, 2, 6, 5)) * 0.5 - del x50 - x52 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x52 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 3, 1)) * 2.0 - x52 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x53 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x53 += einsum(v.ovvv, (0, 1, 2, 3), x52, (4, 5, 2, 3), (0, 4, 5, 1)) - x54 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x54 += einsum(t2, (0, 1, 2, 3), x53, (1, 4, 5, 6), (0, 5, 4, 2, 3, 6)) * 0.5 - del x53 - x55 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x55 += einsum(x49, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - del x49 - x55 += einsum(x51, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -1.0 - del x51 - x55 += einsum(x54, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) - del x54 - t3new += einsum(x55, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - t3new += einsum(x55, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - t3new += einsum(x55, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -1.0 - t3new += einsum(x55, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) - t3new += einsum(x55, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - t3new += einsum(x55, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) - t3new += einsum(x55, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) - t3new += einsum(x55, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -1.0 - t3new += einsum(x55, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) - del x55 - x56 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x56 += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 0, 1, 5, 6, 3), (4, 5, 6, 2)) - x57 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x57 += einsum(x4, (0, 1), t2, (2, 0, 3, 4), (2, 3, 4, 1)) * -1.0 - del x4 - x58 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x58 += einsum(v.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) - x58 += einsum(x56, (0, 1, 2, 3), (0, 2, 1, 3)) * 0.5 - del x56 - x58 += einsum(x57, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x57 - x59 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x59 += einsum(t2, (0, 1, 2, 3), x58, (4, 5, 6, 3), (0, 1, 4, 2, 5, 6)) * -1.0 - del x58 - x60 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x60 += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (4, 5, 0, 2, 6, 7)) - x61 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x61 += einsum(v.oovv, (0, 1, 2, 3), x52, (4, 5, 2, 3), (0, 1, 4, 5)) - del x52 - x62 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x62 += einsum(t2, (0, 1, 2, 3), x61, (4, 1, 5, 6), (0, 6, 5, 4, 2, 3)) * -0.5 - x63 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x63 += einsum(x60, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 - del x60 - x63 += einsum(x62, (0, 1, 2, 3, 4, 5), (2, 1, 3, 0, 5, 4)) * -1.0 - del x62 - x64 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x64 += einsum(t1, (0, 1), x63, (2, 3, 0, 4, 5, 6), (2, 3, 4, 5, 6, 1)) - del x63 - x65 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x65 += einsum(x59, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * -1.0 - del x59 - x65 += einsum(x64, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -1.0 - del x64 - t3new += einsum(x65, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - t3new += einsum(x65, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) - t3new += einsum(x65, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -1.0 - t3new += einsum(x65, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) - t3new += einsum(x65, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -1.0 - t3new += einsum(x65, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - t3new += einsum(x65, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) - t3new += einsum(x65, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -1.0 - t3new += einsum(x65, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) - del x65 - x66 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x66 += einsum(x6, (0, 1), t3, (2, 3, 0, 4, 5, 6), (2, 3, 1, 4, 5, 6)) * -1.0 - del x6 - x67 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x67 += einsum(x61, (0, 1, 2, 3), t3, (4, 1, 0, 5, 6, 7), (4, 3, 2, 5, 6, 7)) * -0.25 - del x61 - x68 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x68 += einsum(x66, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) - del x66 - x68 += einsum(x67, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -1.0 - del x67 - t3new += einsum(x68, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) - t3new += einsum(x68, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -1.0 - t3new += einsum(x68, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * -1.0 - del x68 - x69 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x69 += einsum(t2, (0, 1, 2, 3), x41, (4, 1, 5, 6), (0, 4, 5, 2, 3, 6)) - del x41 - x70 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x70 += einsum(x40, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x40 - x70 += einsum(x42, (0, 1, 2, 3), (0, 1, 2, 3)) - del x42 - x71 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x71 += einsum(t2, (0, 1, 2, 3), x70, (4, 5, 1, 6), (0, 4, 5, 2, 3, 6)) * -1.0 - del x70 - x72 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x72 += einsum(x69, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - del x69 - x72 += einsum(x71, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) - del x71 - t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 - t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) - t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 - t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -1.0 - t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * -1.0 - t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) - t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 - t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) - t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) * -1.0 - t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) - t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) - t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -1.0 - t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) - t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -1.0 - t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) - t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * -1.0 - del x72 - x73 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x73 += einsum(t1, (0, 1), x15, (2, 0, 3, 4), (2, 3, 4, 1)) * -1.0 - del x15 - x74 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x74 += einsum(t2, (0, 1, 2, 3), x73, (4, 1, 5, 6), (4, 0, 5, 6, 2, 3)) * -1.0 - del x73 - t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -1.0 - t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) - t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) - t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -1.0 - t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * -1.0 - t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) - t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -1.0 - t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) - t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 - t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) - t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) - t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -1.0 - t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) - t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -1.0 - t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) - t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -1.0 - del x74 - x75 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x75 += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 2, 3), (4, 5, 6, 0, 7, 1)) - x76 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x76 += einsum(t1, (0, 1), x75, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) - del x75 - t3new += einsum(x76, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 0.5 - t3new += einsum(x76, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -0.5 - t3new += einsum(x76, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -0.5 - t3new += einsum(x76, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * 0.5 - t3new += einsum(x76, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 0.5 - t3new += einsum(x76, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -0.5 - del x76 - x77 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x77 += einsum(x38, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (0, 4, 5, 6, 7, 2)) * -1.0 - x78 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x78 += einsum(x0, (0, 1, 2, 3), x2, (1, 2, 4, 5), (0, 3, 4, 5)) - del x0 - x79 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x79 += einsum(t2, (0, 1, 2, 3), x78, (4, 3, 5, 6), (0, 1, 4, 2, 6, 5)) * 0.5 - del x78 - x80 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x80 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x80 += einsum(x31, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - del x31 - x81 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x81 += einsum(t2, (0, 1, 2, 3), x80, (4, 5, 1, 6), (0, 4, 5, 2, 3, 6)) * -1.0 - del x80 - x82 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x82 += einsum(x77, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) - del x77 - x82 += einsum(x79, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) - del x79 - x82 += einsum(x81, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - del x81 - t3new += einsum(x82, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - t3new += einsum(x82, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - t3new += einsum(x82, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -1.0 - t3new += einsum(x82, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) * -1.0 - t3new += einsum(x82, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) - t3new += einsum(x82, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 - t3new += einsum(x82, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) - t3new += einsum(x82, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -1.0 - t3new += einsum(x82, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) - del x82 - x83 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x83 += einsum(x27, (0, 1), t3, (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 6, 0)) * -1.0 - del x27 - x84 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x84 += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 2, 3), (4, 5, 6, 0, 1, 7)) - x85 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x85 += einsum(x2, (0, 1, 2, 3), x84, (4, 5, 6, 0, 1, 7), (4, 5, 6, 2, 3, 7)) * 0.25 - del x84 - x86 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x86 += einsum(x83, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - del x83 - x86 += einsum(x85, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - del x85 - t3new += einsum(x86, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - t3new += einsum(x86, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 - t3new += einsum(x86, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) - del x86 - x87 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x87 += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 3), (0, 2, 4, 5)) - x88 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x88 += einsum(t2, (0, 1, 2, 3), x87, (4, 5, 6, 3), (0, 1, 4, 2, 5, 6)) - del x87 - x89 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x89 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x89 += einsum(x25, (0, 1, 2, 3), (0, 1, 2, 3)) - del x25 - x90 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x90 += einsum(t2, (0, 1, 2, 3), x89, (4, 5, 6, 3), (0, 1, 4, 5, 2, 6)) * -1.0 - del x89 - x91 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x91 += einsum(t1, (0, 1), x90, (2, 3, 4, 0, 5, 6), (3, 2, 4, 5, 6, 1)) * -1.0 - del x90 - x92 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x92 += einsum(x88, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x88 - x92 += einsum(x91, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -1.0 - del x91 - t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 - t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) - t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) - t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -1.0 - t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 - t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) - t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -1.0 - t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 - t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) - t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -1.0 - t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) - t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) - t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * -1.0 - t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -1.0 - t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) - del x92 - x93 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x93 += einsum(t2, (0, 1, 2, 3), x38, (4, 5, 6, 3), (4, 0, 1, 5, 2, 6)) * -1.0 - del x38 - x94 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x94 += einsum(t1, (0, 1), x93, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) - del x93 - t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) - t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -1.0 - t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) - t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -1.0 - t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) - t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * -1.0 - t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 - t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) - t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) - t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -1.0 - t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) * -1.0 - t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) - t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) - t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -1.0 - t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 - t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) - del x94 - x95 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x95 += einsum(v.vvvv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 2, 3), (4, 5, 6, 7, 0, 1)) - x96 = np.zeros((nvir, nvir), dtype=types[float]) - x96 += einsum(f.ov, (0, 1), t1, (0, 2), (1, 2)) - x97 = np.zeros((nvir, nvir), dtype=types[float]) - x97 += einsum(v.oovv, (0, 1, 2, 3), x2, (0, 1, 3, 4), (4, 2)) * -1.0 - del x2 - x98 = np.zeros((nvir, nvir), dtype=types[float]) - x98 += einsum(f.vv, (0, 1), (0, 1)) * -2.0 - x98 += einsum(x96, (0, 1), (0, 1)) * 2.0 - del x96 - x98 += einsum(x97, (0, 1), (1, 0)) - del x97 - x99 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x99 += einsum(x98, (0, 1), t3, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 6, 1)) * 0.5 - del x98 - x100 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x100 += einsum(x95, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -0.5 - del x95 - x100 += einsum(x99, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -1.0 - del x99 - t3new += einsum(x100, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - t3new += einsum(x100, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - t3new += einsum(x100, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) - del x100 - x101 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x101 += einsum(t1, (0, 1), v.oooo, (2, 3, 4, 0), (2, 3, 4, 1)) - x102 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x102 += einsum(t2, (0, 1, 2, 3), x101, (4, 5, 1, 6), (0, 4, 5, 6, 2, 3)) * -1.0 - del x101 - x103 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x103 += einsum(t1, (0, 1), v.vvvv, (2, 3, 4, 1), (0, 2, 3, 4)) - x104 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x104 += einsum(t2, (0, 1, 2, 3), x103, (4, 5, 6, 3), (4, 0, 1, 2, 5, 6)) * -1.0 - del x103 - x105 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x105 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - x105 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 3, 1)) * -0.99999999999999 - x106 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x106 += einsum(v.oovv, (0, 1, 2, 3), x105, (1, 4, 3, 5), (0, 4, 2, 5)) - del x105 - x107 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x107 += einsum(x106, (0, 1, 2, 3), t3, (4, 5, 0, 6, 7, 2), (4, 5, 1, 6, 7, 3)) * 1.00000000000001 - del x106 - x108 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x108 += einsum(x102, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - del x102 - x108 += einsum(x104, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - del x104 - x108 += einsum(x107, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 - del x107 - t3new += einsum(x108, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - t3new += einsum(x108, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) - t3new += einsum(x108, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -1.0 - t3new += einsum(x108, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) * -1.0 - t3new += einsum(x108, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) - t3new += einsum(x108, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * -1.0 - t3new += einsum(x108, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) - t3new += einsum(x108, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -1.0 - t3new += einsum(x108, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) - del x108 - x109 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x109 += einsum(v.oooo, (0, 1, 2, 3), t3, (4, 2, 3, 5, 6, 7), (4, 0, 1, 5, 6, 7)) - x110 = np.zeros((nocc, nocc), dtype=types[float]) - x110 += einsum(f.oo, (0, 1), (0, 1)) * 2.0 - x110 += einsum(x5, (0, 1), (0, 1)) * 2.0 - del x5 - x110 += einsum(x7, (0, 1), (1, 0)) - del x7 - x111 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x111 += einsum(x110, (0, 1), t3, (2, 3, 0, 4, 5, 6), (2, 3, 1, 4, 5, 6)) * 0.5 - del x110 - x112 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x112 += einsum(x109, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -0.5 - del x109 - x112 += einsum(x111, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * -1.0 - del x111 - t3new += einsum(x112, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) - t3new += einsum(x112, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) - t3new += einsum(x112, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * -1.0 - del x112 - - return {"t1new": t1new, "t2new": t2new, "t3new": t3new} - -def update_lams(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, t3=None, l1=None, l2=None, l3=None, **kwargs): - # L amplitudes - l1new = np.zeros((nvir, nocc), dtype=types[float]) - l1new += einsum(l2, (0, 1, 2, 3), v.ovvv, (3, 4, 0, 1), (4, 2)) * -0.5 - l1new += einsum(f.ov, (0, 1), (1, 0)) - l1new += einsum(l1, (0, 1), v.ovov, (2, 0, 1, 3), (3, 2)) * -1.0 - l2new = np.zeros((nvir, nvir, nocc, nocc), dtype=types[float]) - l2new += einsum(v.oovv, (0, 1, 2, 3), (2, 3, 0, 1)) - l2new += einsum(l2, (0, 1, 2, 3), v.vvvv, (4, 5, 0, 1), (4, 5, 2, 3)) * 0.5 - x0 = np.zeros((nocc, nocc), dtype=types[float]) - x0 += einsum(l1, (0, 1), t1, (2, 0), (1, 2)) - x1 = np.zeros((nocc, nvir), dtype=types[float]) - x1 += einsum(t1, (0, 1), v.oovv, (2, 0, 3, 1), (2, 3)) - l1new += einsum(x0, (0, 1), x1, (1, 2), (2, 0)) * -1.0 - l3new = np.zeros((nvir, nvir, nvir, nocc, nocc, nocc), dtype=types[float]) - l3new += einsum(x1, (0, 1), l2, (2, 3, 4, 5), (2, 3, 1, 4, 5, 0)) - l3new += einsum(x1, (0, 1), l2, (2, 3, 4, 5), (2, 1, 3, 4, 5, 0)) * -1.0 - l3new += einsum(x1, (0, 1), l2, (2, 3, 4, 5), (1, 2, 3, 4, 5, 0)) - l3new += einsum(x1, (0, 1), l2, (2, 3, 4, 5), (2, 3, 1, 4, 0, 5)) * -1.0 - l3new += einsum(x1, (0, 1), l2, (2, 3, 4, 5), (2, 1, 3, 4, 0, 5)) - l3new += einsum(x1, (0, 1), l2, (2, 3, 4, 5), (1, 2, 3, 4, 0, 5)) * -1.0 - l3new += einsum(x1, (0, 1), l2, (2, 3, 4, 5), (2, 3, 1, 0, 4, 5)) - l3new += einsum(x1, (0, 1), l2, (2, 3, 4, 5), (2, 1, 3, 0, 4, 5)) * -1.0 - l3new += einsum(x1, (0, 1), l2, (2, 3, 4, 5), (1, 2, 3, 0, 4, 5)) - x2 = np.zeros((nvir, nvir), dtype=types[float]) - x2 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (3, 4, 5, 6, 1, 2), (0, 6)) - l1new += einsum(x2, (0, 1), v.ovvv, (2, 0, 3, 1), (3, 2)) * 0.08333333333333 - x3 = np.zeros((nocc, nocc), dtype=types[float]) - x3 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 4, 5, 0, 1, 2), (3, 6)) - l1new += einsum(x3, (0, 1), v.ooov, (2, 1, 0, 3), (3, 2)) * 0.08333333333333 - x4 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x4 += einsum(t1, (0, 1), v.oovv, (2, 3, 4, 1), (0, 2, 3, 4)) - x5 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x5 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x5 += einsum(x4, (0, 1, 2, 3), (2, 1, 0, 3)) - x6 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x6 += einsum(t1, (0, 1), v.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) - x7 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x7 += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 3), (0, 4, 2, 5)) - x8 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x8 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x8 += einsum(x6, (0, 1, 2, 3), (0, 1, 2, 3)) - x8 += einsum(x7, (0, 1, 2, 3), (0, 1, 2, 3)) - x9 = np.zeros((nocc, nvir), dtype=types[float]) - x9 += einsum(f.ov, (0, 1), (0, 1)) - x9 += einsum(x1, (0, 1), (0, 1)) - x10 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x10 += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 2, 3), (0, 1, 4, 5)) - x11 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x11 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x11 += einsum(x4, (0, 1, 2, 3), (2, 1, 0, 3)) * 0.5 - x12 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x12 += einsum(t1, (0, 1), x11, (2, 3, 4, 1), (0, 2, 3, 4)) * 4.0 - del x11 - x13 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x13 += einsum(v.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x13 += einsum(x10, (0, 1, 2, 3), (3, 2, 1, 0)) - x13 += einsum(x12, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - x14 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x14 += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 2, 3), (4, 5, 6, 0, 1, 7)) - l2new += einsum(l3, (0, 1, 2, 3, 4, 5), x14, (3, 4, 5, 6, 7, 2), (0, 1, 6, 7)) * 0.08333333333333 - x15 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x15 += einsum(v.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - x15 += einsum(x4, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x16 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x16 += einsum(x14, (0, 1, 2, 3, 4, 5), (0, 1, 4, 3, 2, 5)) * 0.16666666666666 - del x14 - x16 += einsum(t2, (0, 1, 2, 3), x15, (4, 5, 6, 3), (0, 1, 6, 5, 4, 2)) - x17 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x17 += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 2, 3), (0, 4, 5, 6, 7, 1)) * 0.66666666666664 - x17 += einsum(x5, (0, 1, 2, 3), t3, (4, 5, 0, 6, 7, 3), (1, 4, 2, 5, 6, 7)) * -2.0 - x17 += einsum(t2, (0, 1, 2, 3), x8, (4, 5, 6, 3), (5, 0, 4, 1, 2, 6)) * -4.0 - del x8 - x17 += einsum(x9, (0, 1), t3, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) * -0.66666666666664 - x17 += einsum(t2, (0, 1, 2, 3), x13, (1, 4, 5, 6), (4, 0, 6, 5, 2, 3)) * -1.0 - x17 += einsum(t1, (0, 1), x16, (2, 3, 4, 0, 5, 6), (4, 3, 5, 2, 6, 1)) * 4.0 - del x16 - l1new += einsum(l3, (0, 1, 2, 3, 4, 5), x17, (6, 3, 4, 5, 2, 1), (0, 6)) * -0.125 - del x17 - x18 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x18 += einsum(t2, (0, 1, 2, 3), l3, (4, 5, 3, 6, 0, 1), (6, 4, 5, 2)) - l2new += einsum(x18, (0, 1, 2, 3), x5, (4, 5, 0, 3), (1, 2, 5, 4)) * -0.5 - x19 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x19 += einsum(t1, (0, 1), l2, (2, 3, 4, 0), (4, 2, 3, 1)) * 2.0 - x19 += einsum(x18, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - l1new += einsum(v.vvvv, (0, 1, 2, 3), x19, (4, 3, 2, 1), (0, 4)) * -0.25 - del x19 - x20 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x20 += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 2, 3), (0, 1, 4, 5)) - x21 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x21 += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 1, 6, 2, 3), (4, 5, 0, 6)) - x22 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x22 += einsum(t2, (0, 1, 2, 3), x15, (4, 1, 5, 3), (0, 4, 5, 2)) * 2.0 - x23 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x23 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x23 += einsum(x6, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.5 - x24 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x24 += einsum(v.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - x24 += einsum(x10, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 - x24 += einsum(x12, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - x25 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x25 += einsum(v.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - x25 += einsum(x20, (0, 1, 2, 3), (2, 1, 0, 3)) * 0.5 - x25 += einsum(x21, (0, 1, 2, 3), (2, 1, 0, 3)) * -0.5 - x25 += einsum(x22, (0, 1, 2, 3), (2, 0, 1, 3)) - x25 += einsum(x9, (0, 1), t2, (2, 3, 4, 1), (0, 2, 3, 4)) - x25 += einsum(t1, (0, 1), x23, (2, 3, 1, 4), (3, 2, 0, 4)) * -2.0 - del x23 - x25 += einsum(t1, (0, 1), x24, (0, 2, 3, 4), (2, 4, 3, 1)) * -0.5 - del x24 - l1new += einsum(l2, (0, 1, 2, 3), x25, (4, 2, 3, 1), (0, 4)) * 0.5 - del x25 - x26 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x26 += einsum(t1, (0, 1), l3, (2, 3, 1, 4, 5, 6), (4, 5, 6, 0, 2, 3)) - x27 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x27 += einsum(t1, (0, 1), x26, (2, 3, 4, 5, 6, 1), (2, 3, 4, 0, 5, 6)) - x28 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x28 += einsum(t1, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2)) - x29 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x29 += einsum(t2, (0, 1, 2, 3), l3, (4, 2, 3, 5, 6, 1), (5, 6, 0, 4)) - x30 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x30 += einsum(x28, (0, 1, 2, 3), (1, 0, 2, 3)) - x30 += einsum(x29, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - l2new += einsum(v.ovvv, (0, 1, 2, 3), x30, (4, 5, 0, 1), (2, 3, 4, 5)) * -1.0 - x31 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x31 += einsum(l2, (0, 1, 2, 3), t2, (4, 5, 0, 1), (2, 3, 4, 5)) - x32 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x32 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 7, 5, 0, 1, 2), (3, 4, 6, 7)) - x33 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x33 += einsum(x28, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x33 += einsum(x29, (0, 1, 2, 3), (0, 1, 2, 3)) - x34 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x34 += einsum(x31, (0, 1, 2, 3), (1, 0, 3, 2)) * -3.00000000000012 - x34 += einsum(x32, (0, 1, 2, 3), (0, 1, 3, 2)) - x34 += einsum(t1, (0, 1), x33, (2, 3, 4, 1), (2, 3, 0, 4)) * -6.00000000000024 - x35 = np.zeros((nocc, nocc), dtype=types[float]) - x35 += einsum(l2, (0, 1, 2, 3), t2, (4, 3, 0, 1), (2, 4)) - x36 = np.zeros((nocc, nocc), dtype=types[float]) - x36 += einsum(x35, (0, 1), (0, 1)) - x36 += einsum(x3, (0, 1), (0, 1)) * 0.16666666666666 - x37 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x37 += einsum(l1, (0, 1), t2, (2, 3, 4, 0), (1, 2, 3, 4)) - x37 += einsum(l2, (0, 1, 2, 3), t3, (4, 5, 3, 6, 0, 1), (2, 4, 5, 6)) * 0.5 - x37 += einsum(t3, (0, 1, 2, 3, 4, 5), x26, (6, 1, 2, 7, 5, 4), (6, 0, 7, 3)) * -0.5 - x37 += einsum(t2, (0, 1, 2, 3), x18, (4, 3, 2, 5), (4, 0, 1, 5)) * -0.25 - x37 += einsum(t2, (0, 1, 2, 3), x27, (4, 0, 1, 5, 6, 3), (4, 6, 5, 2)) * -0.5 - x37 += einsum(t2, (0, 1, 2, 3), x30, (4, 1, 5, 3), (4, 0, 5, 2)) * 2.0 - x37 += einsum(t1, (0, 1), x34, (0, 2, 3, 4), (2, 4, 3, 1)) * -0.16666666666666 - del x34 - x37 += einsum(t1, (0, 1), x36, (2, 3), (2, 0, 3, 1)) - del x36 - l1new += einsum(v.oovv, (0, 1, 2, 3), x37, (4, 0, 1, 3), (2, 4)) * 0.5 - del x37 - x38 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x38 += einsum(t2, (0, 1, 2, 3), x26, (4, 0, 1, 5, 3, 6), (4, 5, 6, 2)) - x39 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x39 += einsum(x28, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x39 += einsum(x29, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - l1new += einsum(v.ovov, (0, 1, 2, 3), x39, (0, 4, 2, 3), (1, 4)) - x40 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x40 += einsum(x38, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - x40 += einsum(t1, (0, 1), x39, (0, 2, 3, 4), (2, 3, 4, 1)) * -1.0 - l1new += einsum(v.ovvv, (0, 1, 2, 3), x40, (4, 0, 1, 3), (2, 4)) - del x40 - x41 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x41 += einsum(l2, (0, 1, 2, 3), t2, (4, 3, 5, 1), (2, 4, 0, 5)) - x42 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x42 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 4, 5, 7, 1, 2), (3, 6, 0, 7)) - x43 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x43 += einsum(x41, (0, 1, 2, 3), (0, 1, 2, 3)) - x43 += einsum(x42, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.25 - l1new += einsum(v.ovvv, (0, 1, 2, 3), x43, (4, 0, 1, 3), (2, 4)) * -1.0 - del x43 - x44 = np.zeros((nocc, nocc), dtype=types[float]) - x44 += einsum(x0, (0, 1), (0, 1)) * 12.00000000000048 - x44 += einsum(x35, (0, 1), (0, 1)) * 6.00000000000024 - x44 += einsum(x3, (0, 1), (0, 1)) - x45 = np.zeros((nocc, nvir), dtype=types[float]) - x45 += einsum(t1, (0, 1), (0, 1)) * -1.0 - x45 += einsum(l1, (0, 1), t2, (2, 1, 3, 0), (2, 3)) * -1.0 - x45 += einsum(l2, (0, 1, 2, 3), t3, (4, 2, 3, 5, 0, 1), (4, 5)) * -0.25 - x45 += einsum(t3, (0, 1, 2, 3, 4, 5), x26, (2, 0, 1, 6, 5, 4), (6, 3)) * -0.08333333333333 - x45 += einsum(t2, (0, 1, 2, 3), x39, (0, 1, 4, 3), (4, 2)) * -0.5 - x45 += einsum(t1, (0, 1), x44, (0, 2), (2, 1)) * 0.08333333333333 - l1new += einsum(x45, (0, 1), v.oovv, (2, 0, 3, 1), (3, 2)) * -1.0 - del x45 - x46 = np.zeros((nvir, nvir), dtype=types[float]) - x46 += einsum(l2, (0, 1, 2, 3), t2, (2, 3, 4, 1), (0, 4)) - x47 = np.zeros((nvir, nvir), dtype=types[float]) - x47 += einsum(l1, (0, 1), t1, (1, 2), (0, 2)) - x47 += einsum(x46, (0, 1), (0, 1)) * 0.5 - l1new += einsum(x47, (0, 1), v.ovvv, (2, 0, 3, 1), (3, 2)) - del x47 - x48 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x48 += einsum(x31, (0, 1, 2, 3), (1, 0, 3, 2)) * 3.00000000000012 - x48 += einsum(x32, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - l1new += einsum(v.ooov, (0, 1, 2, 3), x48, (2, 4, 0, 1), (3, 4)) * 0.08333333333333 - del x48 - x49 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x49 += einsum(t1, (0, 1), x33, (2, 3, 4, 1), (3, 2, 4, 0)) - l1new += einsum(v.ooov, (0, 1, 2, 3), x49, (4, 2, 0, 1), (3, 4)) * -0.5 - del x49 - x50 = np.zeros((nocc, nocc), dtype=types[float]) - x50 += einsum(x0, (0, 1), (0, 1)) * 2.0 - x50 += einsum(x35, (0, 1), (0, 1)) - l1new += einsum(x50, (0, 1), v.ooov, (2, 1, 0, 3), (3, 2)) * 0.5 - del x50 - x51 = np.zeros((nvir, nvir), dtype=types[float]) - x51 += einsum(t1, (0, 1), v.ovvv, (0, 2, 3, 1), (2, 3)) - x52 = np.zeros((nvir, nvir), dtype=types[float]) - x52 += einsum(f.vv, (0, 1), (0, 1)) - x52 += einsum(x51, (0, 1), (0, 1)) * -1.0 - l1new += einsum(l1, (0, 1), x52, (0, 2), (2, 1)) - del x52 - x53 = np.zeros((nocc, nocc), dtype=types[float]) - x53 += einsum(t1, (0, 1), v.ooov, (2, 0, 3, 1), (2, 3)) - x54 = np.zeros((nocc, nocc), dtype=types[float]) - x54 += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 2, 3), (0, 4)) - x55 = np.zeros((nocc, nocc), dtype=types[float]) - x55 += einsum(f.oo, (0, 1), (0, 1)) * 2.0 - x55 += einsum(x53, (0, 1), (1, 0)) * 2.0 - x55 += einsum(x54, (0, 1), (0, 1)) - x55 += einsum(t1, (0, 1), x9, (2, 1), (0, 2)) * 2.0 - del x9 - l1new += einsum(l1, (0, 1), x55, (1, 2), (0, 2)) * -0.5 - del x55 - x56 = np.zeros((nocc, nocc), dtype=types[float]) - x56 += einsum(x0, (0, 1), (0, 1)) * 2.0 - del x0 - x56 += einsum(x35, (0, 1), (0, 1)) - del x35 - x56 += einsum(x3, (0, 1), (0, 1)) * 0.16666666666666 - del x3 - l1new += einsum(f.ov, (0, 1), x56, (2, 0), (1, 2)) * -0.5 - del x56 - x57 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x57 += einsum(f.vv, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2)) - x58 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x58 += einsum(t1, (0, 1), v.vvvv, (2, 3, 4, 1), (0, 2, 3, 4)) - x59 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x59 += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 3), (0, 2, 4, 5)) - x60 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x60 += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 0, 1, 5, 6, 3), (4, 5, 6, 2)) - x61 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x61 += einsum(t2, (0, 1, 2, 3), x5, (0, 1, 4, 5), (4, 2, 3, 5)) * 0.5 - del x5 - x62 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x62 += einsum(v.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x62 += einsum(x58, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x58 - x62 += einsum(x59, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x59 - x62 += einsum(x60, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.49999999999998 - del x60 - x62 += einsum(x61, (0, 1, 2, 3), (0, 2, 1, 3)) - del x61 - x63 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x63 += einsum(x62, (0, 1, 2, 3), l3, (4, 1, 2, 5, 6, 0), (5, 6, 4, 3)) * -0.5 - del x62 - x64 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x64 += einsum(t1, (0, 1), v.ooov, (2, 0, 3, 4), (2, 3, 1, 4)) - x65 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x65 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x65 += einsum(x64, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.5 - del x64 - x65 += einsum(x7, (0, 1, 2, 3), (0, 1, 2, 3)) - x66 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x66 += einsum(x65, (0, 1, 2, 3), x26, (4, 5, 0, 1, 2, 6), (4, 5, 6, 3)) - del x65 - x67 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x67 += einsum(t1, (0, 1), x4, (2, 3, 0, 4), (2, 3, 1, 4)) - x68 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x68 += einsum(x6, (0, 1, 2, 3), (0, 1, 2, 3)) - x68 += einsum(x67, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - del x67 - x69 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x69 += einsum(x68, (0, 1, 2, 3), x26, (4, 5, 0, 1, 2, 6), (4, 5, 6, 3)) - del x68 - x70 = np.zeros((nvir, nvir), dtype=types[float]) - x70 += einsum(x46, (0, 1), (0, 1)) - del x46 - x70 += einsum(x2, (0, 1), (0, 1)) * 0.16666666666666 - del x2 - x71 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x71 += einsum(x70, (0, 1), v.oovv, (2, 3, 4, 1), (2, 3, 0, 4)) * -0.5 - del x70 - x72 = np.zeros((nvir, nvir), dtype=types[float]) - x72 += einsum(t2, (0, 1, 2, 3), v.oovv, (0, 1, 4, 3), (2, 4)) - x73 = np.zeros((nvir, nvir), dtype=types[float]) - x73 += einsum(x51, (0, 1), (0, 1)) - del x51 - x73 += einsum(x72, (0, 1), (0, 1)) * 0.5 - del x72 - x74 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x74 += einsum(x73, (0, 1), l2, (2, 0, 3, 4), (3, 4, 2, 1)) * -1.0 - x75 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x75 += einsum(l1, (0, 1), x15, (1, 2, 3, 4), (2, 3, 0, 4)) - del x15 - x76 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x76 += einsum(f.ov, (0, 1), x39, (2, 3, 0, 4), (2, 3, 4, 1)) - x77 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x77 += einsum(x1, (0, 1), x39, (2, 3, 0, 4), (2, 3, 4, 1)) - del x39 - x78 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x78 += einsum(x57, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x57 - x78 += einsum(x63, (0, 1, 2, 3), (0, 1, 2, 3)) - del x63 - x78 += einsum(x66, (0, 1, 2, 3), (0, 1, 2, 3)) - del x66 - x78 += einsum(x69, (0, 1, 2, 3), (0, 1, 2, 3)) - del x69 - x78 += einsum(x71, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x71 - x78 += einsum(x74, (0, 1, 2, 3), (1, 0, 2, 3)) - del x74 - x78 += einsum(x75, (0, 1, 2, 3), (1, 0, 2, 3)) - del x75 - x78 += einsum(x76, (0, 1, 2, 3), (1, 0, 3, 2)) - del x76 - x78 += einsum(x77, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x77 - l2new += einsum(x78, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 - l2new += einsum(x78, (0, 1, 2, 3), (3, 2, 0, 1)) - del x78 - x79 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x79 += einsum(x28, (0, 1, 2, 3), x4, (0, 4, 2, 5), (1, 4, 3, 5)) * -1.0 - x80 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x80 += einsum(v.ovvv, (0, 1, 2, 3), x18, (4, 5, 1, 3), (4, 0, 5, 2)) - x81 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x81 += einsum(t1, (0, 1), x29, (0, 2, 3, 4), (2, 3, 4, 1)) * -1.0 - x82 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x82 += einsum(x41, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - del x41 - x82 += einsum(x42, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.49999999999998 - del x42 - x82 += einsum(x38, (0, 1, 2, 3), (0, 1, 2, 3)) - del x38 - x82 += einsum(x81, (0, 1, 2, 3), (0, 1, 2, 3)) - del x81 - x83 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x83 += einsum(v.oovv, (0, 1, 2, 3), x82, (4, 1, 5, 3), (4, 0, 5, 2)) * 0.5 - del x82 - x84 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x84 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x84 += einsum(x6, (0, 1, 2, 3), (0, 1, 2, 3)) - x85 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x85 += einsum(l2, (0, 1, 2, 3), x84, (3, 4, 1, 5), (2, 4, 0, 5)) - del x84 - x86 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x86 += einsum(v.ooov, (0, 1, 2, 3), x30, (4, 2, 1, 5), (0, 4, 3, 5)) * -1.0 - del x30 - x87 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x87 += einsum(f.ov, (0, 1), l1, (2, 3), (0, 3, 1, 2)) - x87 += einsum(l1, (0, 1), x1, (2, 3), (1, 2, 0, 3)) - x87 += einsum(x79, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x79 - x87 += einsum(x80, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - del x80 - x87 += einsum(x83, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x83 - x87 += einsum(x85, (0, 1, 2, 3), (0, 1, 2, 3)) - del x85 - x87 += einsum(x86, (0, 1, 2, 3), (1, 0, 3, 2)) - del x86 - l2new += einsum(x87, (0, 1, 2, 3), (2, 3, 0, 1)) - l2new += einsum(x87, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - l2new += einsum(x87, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 - l2new += einsum(x87, (0, 1, 2, 3), (3, 2, 1, 0)) - del x87 - x88 = np.zeros((nocc, nocc), dtype=types[float]) - x88 += einsum(f.ov, (0, 1), t1, (2, 1), (0, 2)) - x89 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x89 += einsum(x88, (0, 1), l2, (2, 3, 4, 1), (0, 4, 2, 3)) - x90 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x90 += einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), (0, 2, 3, 4)) - x91 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x91 += einsum(x90, (0, 1, 2, 3), l3, (4, 5, 3, 6, 2, 1), (0, 6, 4, 5)) - del x90 - x92 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x92 += einsum(x1, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4)) * -1.0 - x93 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x93 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x93 += einsum(x6, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.5 - x94 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x94 += einsum(t1, (0, 1), x93, (2, 3, 4, 1), (0, 2, 3, 4)) * 2.0 - del x93 - x95 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x95 += einsum(t1, (0, 1), x13, (0, 2, 3, 4), (2, 3, 4, 1)) * 0.5 - del x13 - x96 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x96 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x96 += einsum(x20, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.5 - del x20 - x96 += einsum(x21, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.49999999999998 - del x21 - x96 += einsum(x92, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x92 - x96 += einsum(x22, (0, 1, 2, 3), (0, 1, 2, 3)) - del x22 - x96 += einsum(x94, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - del x94 - x96 += einsum(x95, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - del x95 - x97 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x97 += einsum(x96, (0, 1, 2, 3), l3, (4, 5, 3, 6, 0, 1), (6, 2, 4, 5)) * -0.5 - del x96 - x98 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x98 += einsum(x44, (0, 1), v.oovv, (2, 1, 3, 4), (0, 2, 3, 4)) * -0.08333333333333 - del x44 - x99 = np.zeros((nocc, nocc), dtype=types[float]) - x99 += einsum(t1, (0, 1), x1, (2, 1), (0, 2)) - x100 = np.zeros((nocc, nocc), dtype=types[float]) - x100 += einsum(x53, (0, 1), (0, 1)) - del x53 - x100 += einsum(x54, (0, 1), (1, 0)) * 0.5 - del x54 - x100 += einsum(x99, (0, 1), (1, 0)) - del x99 - x101 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x101 += einsum(x100, (0, 1), l2, (2, 3, 4, 1), (4, 0, 2, 3)) * -1.0 - x102 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x102 += einsum(x89, (0, 1, 2, 3), (0, 1, 3, 2)) - del x89 - x102 += einsum(x91, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.5 - del x91 - x102 += einsum(x97, (0, 1, 2, 3), (0, 1, 2, 3)) - del x97 - x102 += einsum(x98, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x98 - x102 += einsum(x101, (0, 1, 2, 3), (0, 1, 3, 2)) - del x101 - l2new += einsum(x102, (0, 1, 2, 3), (3, 2, 0, 1)) - l2new += einsum(x102, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 - del x102 - x103 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x103 += einsum(f.oo, (0, 1), l2, (2, 3, 4, 1), (0, 4, 2, 3)) - x104 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x104 += einsum(l1, (0, 1), v.ovvv, (2, 0, 3, 4), (1, 2, 3, 4)) - x105 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x105 += einsum(x103, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x103 - x105 += einsum(x104, (0, 1, 2, 3), (0, 1, 3, 2)) - del x104 - l2new += einsum(x105, (0, 1, 2, 3), (2, 3, 0, 1)) - l2new += einsum(x105, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 - del x105 - x106 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x106 += einsum(v.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x106 += einsum(x10, (0, 1, 2, 3), (1, 0, 3, 2)) - del x10 - x106 += einsum(x12, (0, 1, 2, 3), (3, 0, 2, 1)) * -1.0 - del x12 - l2new += einsum(l2, (0, 1, 2, 3), x106, (2, 3, 4, 5), (0, 1, 4, 5)) * 0.25 - x107 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x107 += einsum(x31, (0, 1, 2, 3), (1, 0, 3, 2)) - del x31 - x107 += einsum(x32, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.33333333333332 - del x32 - x107 += einsum(t1, (0, 1), x33, (2, 3, 4, 1), (3, 2, 4, 0)) * 2.0 - del x33 - l2new += einsum(v.oovv, (0, 1, 2, 3), x107, (4, 5, 0, 1), (2, 3, 5, 4)) * -0.25 - del x107 - x108 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x108 += einsum(x106, (0, 1, 2, 3), l3, (4, 5, 6, 7, 0, 1), (7, 2, 3, 4, 5, 6)) * -0.25 - del x106 - x109 = np.zeros((nocc, nocc), dtype=types[float]) - x109 += einsum(f.oo, (0, 1), (0, 1)) - x109 += einsum(x88, (0, 1), (1, 0)) - del x88 - x110 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x110 += einsum(x109, (0, 1), l3, (2, 3, 4, 5, 6, 0), (5, 6, 1, 2, 3, 4)) - del x109 - x111 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x111 += einsum(x108, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) - del x108 - x111 += einsum(x110, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) - del x110 - l3new += einsum(x111, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 1, 2)) * -1.0 - l3new += einsum(x111, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 0, 2)) - l3new += einsum(x111, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) * -1.0 - del x111 - x112 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x112 += einsum(x100, (0, 1), l3, (2, 3, 4, 5, 6, 1), (5, 6, 0, 2, 3, 4)) - del x100 - l3new += einsum(x112, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) - l3new += einsum(x112, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) * -1.0 - l3new += einsum(x112, (0, 1, 2, 3, 4, 5), (5, 3, 4, 2, 1, 0)) - del x112 - x113 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x113 += einsum(v.ooov, (0, 1, 2, 3), x26, (4, 2, 5, 1, 6, 7), (4, 5, 0, 6, 7, 3)) * -1.0 - x114 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x114 += einsum(x4, (0, 1, 2, 3), x26, (0, 4, 5, 2, 6, 7), (5, 4, 1, 6, 7, 3)) * -1.0 - x115 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x115 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x115 += einsum(x6, (0, 1, 2, 3), (0, 1, 2, 3)) - del x6 - x115 += einsum(x7, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.00000000000001 - del x7 - x116 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x116 += einsum(x115, (0, 1, 2, 3), l3, (4, 5, 2, 6, 7, 0), (6, 7, 1, 4, 5, 3)) - del x115 - x117 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x117 += einsum(x113, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - del x113 - x117 += einsum(x114, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) - del x114 - x117 += einsum(x116, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x116 - l3new += einsum(x117, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 0, 2)) - l3new += einsum(x117, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 0, 2)) * -1.0 - l3new += einsum(x117, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) * -1.0 - l3new += einsum(x117, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 2, 0)) * -1.0 - l3new += einsum(x117, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) - l3new += einsum(x117, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) - l3new += einsum(x117, (0, 1, 2, 3, 4, 5), (4, 3, 5, 2, 1, 0)) - l3new += einsum(x117, (0, 1, 2, 3, 4, 5), (4, 5, 3, 2, 1, 0)) * -1.0 - l3new += einsum(x117, (0, 1, 2, 3, 4, 5), (5, 3, 4, 2, 1, 0)) * -1.0 - del x117 - x118 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x118 += einsum(f.vv, (0, 1), l3, (2, 3, 1, 4, 5, 6), (4, 5, 6, 0, 2, 3)) - x119 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x119 += einsum(f.ov, (0, 1), x26, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) - x120 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x120 += einsum(v.vvvv, (0, 1, 2, 3), l3, (4, 2, 3, 5, 6, 7), (5, 6, 7, 4, 0, 1)) - x121 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x121 += einsum(v.ovvv, (0, 1, 2, 3), x26, (4, 5, 6, 0, 7, 1), (4, 5, 6, 7, 2, 3)) * -1.0 - x122 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x122 += einsum(t2, (0, 1, 2, 3), l3, (4, 2, 3, 5, 6, 7), (5, 6, 7, 0, 1, 4)) - x123 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x123 += einsum(x122, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - del x122 - x123 += einsum(x27, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -2.0 - del x27 - x124 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x124 += einsum(v.oovv, (0, 1, 2, 3), x123, (4, 5, 6, 0, 1, 7), (4, 5, 6, 7, 2, 3)) * 0.25 - del x123 - x125 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x125 += einsum(x118, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 - del x118 - x125 += einsum(x119, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - del x119 - x125 += einsum(x120, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -0.5 - del x120 - x125 += einsum(x121, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - del x121 - x125 += einsum(x124, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 - del x124 - l3new += einsum(x125, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 2, 0)) - l3new += einsum(x125, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) - l3new += einsum(x125, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 2, 0)) * -1.0 - del x125 - x126 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x126 += einsum(x1, (0, 1), x26, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 6, 1)) - del x1, x26 - x127 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x127 += einsum(x73, (0, 1), l3, (2, 3, 0, 4, 5, 6), (4, 5, 6, 2, 3, 1)) - del x73 - x128 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x128 += einsum(x126, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - del x126 - x128 += einsum(x127, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) - del x127 - l3new += einsum(x128, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 2, 0)) - l3new += einsum(x128, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) * -1.0 - l3new += einsum(x128, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) * -1.0 - del x128 - x129 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x129 += einsum(l2, (0, 1, 2, 3), v.ovvv, (4, 1, 5, 6), (2, 3, 4, 0, 5, 6)) - x130 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x130 += einsum(v.oovv, (0, 1, 2, 3), x29, (4, 5, 1, 6), (5, 4, 0, 6, 2, 3)) - del x29 - x131 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x131 += einsum(x129, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 - del x129 - x131 += einsum(x130, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -0.5 - del x130 - l3new += einsum(x131, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 0, 2)) - l3new += einsum(x131, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) - l3new += einsum(x131, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 0, 2)) * -1.0 - l3new += einsum(x131, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 2, 0)) * -1.0 - l3new += einsum(x131, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) * -1.0 - l3new += einsum(x131, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 2, 0)) - l3new += einsum(x131, (0, 1, 2, 3, 4, 5), (3, 4, 5, 2, 1, 0)) - l3new += einsum(x131, (0, 1, 2, 3, 4, 5), (5, 3, 4, 2, 1, 0)) - l3new += einsum(x131, (0, 1, 2, 3, 4, 5), (5, 4, 3, 2, 1, 0)) * -1.0 - del x131 - x132 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x132 += einsum(l2, (0, 1, 2, 3), v.ooov, (4, 5, 3, 6), (2, 4, 5, 0, 1, 6)) - x133 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x133 += einsum(v.oovv, (0, 1, 2, 3), x18, (4, 5, 6, 3), (4, 0, 1, 6, 5, 2)) - del x18 - x134 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x134 += einsum(x132, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) - del x132 - x134 += einsum(x133, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 0.5 - del x133 - l3new += einsum(x134, (0, 1, 2, 3, 4, 5), (4, 3, 5, 0, 1, 2)) - l3new += einsum(x134, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 1, 2)) * -1.0 - l3new += einsum(x134, (0, 1, 2, 3, 4, 5), (5, 3, 4, 0, 1, 2)) * -1.0 - l3new += einsum(x134, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 0, 2)) * -1.0 - l3new += einsum(x134, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 0, 2)) - l3new += einsum(x134, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) - l3new += einsum(x134, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 2, 0)) - l3new += einsum(x134, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) * -1.0 - l3new += einsum(x134, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) * -1.0 - del x134 - x135 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x135 += einsum(f.ov, (0, 1), l2, (2, 3, 4, 5), (0, 4, 5, 1, 2, 3)) - x135 += einsum(l1, (0, 1), v.oovv, (2, 3, 4, 5), (1, 2, 3, 0, 4, 5)) - l3new += einsum(x135, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 1, 2)) - l3new += einsum(x135, (0, 1, 2, 3, 4, 5), (4, 3, 5, 0, 1, 2)) * -1.0 - l3new += einsum(x135, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 1, 2)) - l3new += einsum(x135, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 0, 2)) * -1.0 - l3new += einsum(x135, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 0, 2)) - l3new += einsum(x135, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 0, 2)) * -1.0 - l3new += einsum(x135, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 2, 0)) - l3new += einsum(x135, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 2, 0)) * -1.0 - l3new += einsum(x135, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) - del x135 - x136 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x136 += einsum(l2, (0, 1, 2, 3), x4, (3, 4, 5, 6), (2, 5, 4, 0, 1, 6)) * -1.0 - del x4 - l3new += einsum(x136, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 2, 1)) * -1.0 - l3new += einsum(x136, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) * -1.0 - l3new += einsum(x136, (0, 1, 2, 3, 4, 5), (5, 4, 3, 0, 2, 1)) - l3new += einsum(x136, (0, 1, 2, 3, 4, 5), (3, 4, 5, 2, 0, 1)) - l3new += einsum(x136, (0, 1, 2, 3, 4, 5), (4, 5, 3, 2, 0, 1)) - l3new += einsum(x136, (0, 1, 2, 3, 4, 5), (5, 4, 3, 2, 0, 1)) * -1.0 - l3new += einsum(x136, (0, 1, 2, 3, 4, 5), (3, 4, 5, 2, 1, 0)) * -1.0 - l3new += einsum(x136, (0, 1, 2, 3, 4, 5), (4, 5, 3, 2, 1, 0)) * -1.0 - l3new += einsum(x136, (0, 1, 2, 3, 4, 5), (5, 4, 3, 2, 1, 0)) - del x136 - x137 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x137 += einsum(v.oovv, (0, 1, 2, 3), x28, (4, 5, 1, 6), (4, 5, 0, 6, 2, 3)) - del x28 - l3new += einsum(x137, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 0, 2)) - l3new += einsum(x137, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) * -1.0 - l3new += einsum(x137, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 0, 2)) * -1.0 - l3new += einsum(x137, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 2, 0)) * -1.0 - l3new += einsum(x137, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) - l3new += einsum(x137, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) - l3new += einsum(x137, (0, 1, 2, 3, 4, 5), (3, 5, 4, 2, 1, 0)) - l3new += einsum(x137, (0, 1, 2, 3, 4, 5), (5, 3, 4, 2, 1, 0)) * -1.0 - l3new += einsum(x137, (0, 1, 2, 3, 4, 5), (4, 5, 3, 2, 1, 0)) * -1.0 - del x137 - - return {"l1new": l1new, "l2new": l2new, "l3new": l3new} - -def make_rdm1_f(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, t3=None, l1=None, l2=None, l3=None, **kwargs): - delta = Namespace(oo=np.eye(nocc), vv=np.eye(nvir)) - - # RDM1 - rdm1_f_oo = np.zeros((nocc, nocc), dtype=types[float]) - rdm1_f_oo += einsum(delta.oo, (0, 1), (0, 1)) - rdm1_f_ov = np.zeros((nocc, nvir), dtype=types[float]) - rdm1_f_ov += einsum(t1, (0, 1), (0, 1)) - rdm1_f_ov += einsum(l2, (0, 1, 2, 3), t3, (4, 2, 3, 5, 0, 1), (4, 5)) * 0.25 - rdm1_f_ov += einsum(l1, (0, 1), t2, (2, 1, 3, 0), (2, 3)) - rdm1_f_vo = np.zeros((nvir, nocc), dtype=types[float]) - rdm1_f_vo += einsum(l1, (0, 1), (0, 1)) - rdm1_f_vv = np.zeros((nvir, nvir), dtype=types[float]) - rdm1_f_vv += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (3, 4, 5, 6, 1, 2), (0, 6)) * 0.08333333333333 - rdm1_f_vv += einsum(l2, (0, 1, 2, 3), t2, (2, 3, 4, 1), (0, 4)) * 0.5 - rdm1_f_vv += einsum(l1, (0, 1), t1, (1, 2), (0, 2)) - x0 = np.zeros((nocc, nocc), dtype=types[float]) - x0 += einsum(l2, (0, 1, 2, 3), t2, (4, 3, 0, 1), (2, 4)) - rdm1_f_oo += einsum(x0, (0, 1), (1, 0)) * -0.5 - x1 = np.zeros((nocc, nocc), dtype=types[float]) - x1 += einsum(l1, (0, 1), t1, (2, 0), (1, 2)) - rdm1_f_oo += einsum(x1, (0, 1), (1, 0)) * -1.0 - x2 = np.zeros((nocc, nocc), dtype=types[float]) - x2 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 4, 5, 0, 1, 2), (3, 6)) - rdm1_f_oo += einsum(x2, (0, 1), (1, 0)) * -0.08333333333333 - x3 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x3 += einsum(t1, (0, 1), l3, (2, 3, 1, 4, 5, 6), (4, 5, 6, 0, 2, 3)) - rdm1_f_ov += einsum(t3, (0, 1, 2, 3, 4, 5), x3, (0, 1, 2, 6, 5, 4), (6, 3)) * 0.08333333333333 - del x3 - x4 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x4 += einsum(t1, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2)) - x4 += einsum(t2, (0, 1, 2, 3), l3, (4, 2, 3, 5, 6, 1), (5, 6, 0, 4)) * 0.5 - rdm1_f_ov += einsum(t2, (0, 1, 2, 3), x4, (0, 1, 4, 3), (4, 2)) * 0.5 - del x4 - x5 = np.zeros((nocc, nocc), dtype=types[float]) - x5 += einsum(x1, (0, 1), (0, 1)) - del x1 - x5 += einsum(x0, (0, 1), (0, 1)) * 0.5 - del x0 - x5 += einsum(x2, (0, 1), (0, 1)) * 0.08333333333333 - del x2 - rdm1_f_ov += einsum(t1, (0, 1), x5, (0, 2), (2, 1)) * -1.0 - del x5 - - rdm1_f = np.block([[rdm1_f_oo, rdm1_f_ov], [rdm1_f_vo, rdm1_f_vv]]) - - return rdm1_f - -def make_rdm2_f(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, t3=None, l1=None, l2=None, l3=None, **kwargs): - delta = Namespace(oo=np.eye(nocc), vv=np.eye(nvir)) - - # RDM2 - rdm2_f_oooo = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - rdm2_f_oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (0, 2, 1, 3)) - rdm2_f_oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_ovoo = np.zeros((nocc, nvir, nocc, nocc), dtype=types[float]) - rdm2_f_ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (0, 2, 1, 3)) - rdm2_f_ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_vooo = np.zeros((nvir, nocc, nocc, nocc), dtype=types[float]) - rdm2_f_vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 0, 3, 1)) - rdm2_f_oovv = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - rdm2_f_oovv += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(l1, (0, 1), t3, (2, 3, 1, 4, 5, 0), (2, 3, 4, 5)) - rdm2_f_oovv += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_oovv += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) - rdm2_f_ovov = np.zeros((nocc, nvir, nocc, nvir), dtype=types[float]) - rdm2_f_ovov += einsum(l1, (0, 1), t1, (2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_ovvo = np.zeros((nocc, nvir, nvir, nocc), dtype=types[float]) - rdm2_f_ovvo += einsum(l1, (0, 1), t1, (2, 3), (2, 0, 3, 1)) - rdm2_f_voov = np.zeros((nvir, nocc, nocc, nvir), dtype=types[float]) - rdm2_f_voov += einsum(l1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) - rdm2_f_vovo = np.zeros((nvir, nocc, nvir, nocc), dtype=types[float]) - rdm2_f_vovo += einsum(l1, (0, 1), t1, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_vvoo = np.zeros((nvir, nvir, nocc, nocc), dtype=types[float]) - rdm2_f_vvoo += einsum(l2, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_vvvv = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) - rdm2_f_vvvv += einsum(l2, (0, 1, 2, 3), t2, (2, 3, 4, 5), (0, 1, 4, 5)) * 0.5 - rdm2_f_vvvv += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (3, 4, 5, 6, 7, 2), (0, 1, 6, 7)) * 0.16666666666667 - x0 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x0 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 7, 5, 0, 1, 2), (3, 4, 6, 7)) - rdm2_f_oooo += einsum(x0, (0, 1, 2, 3), (2, 3, 1, 0)) * -0.16666666666667 - x1 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x1 += einsum(l2, (0, 1, 2, 3), t2, (4, 5, 0, 1), (2, 3, 4, 5)) - rdm2_f_oooo += einsum(x1, (0, 1, 2, 3), (3, 2, 1, 0)) * 0.5 - x2 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x2 += einsum(t1, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2)) - rdm2_f_ovoo += einsum(x2, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 - rdm2_f_vooo += einsum(x2, (0, 1, 2, 3), (3, 2, 1, 0)) - x3 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x3 += einsum(t1, (0, 1), x2, (2, 3, 4, 1), (2, 3, 0, 4)) - rdm2_f_oooo += einsum(x3, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 - x4 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x4 += einsum(t2, (0, 1, 2, 3), l3, (4, 2, 3, 5, 6, 1), (5, 6, 0, 4)) - rdm2_f_ovoo += einsum(x4, (0, 1, 2, 3), (2, 3, 1, 0)) * -0.5 - rdm2_f_vooo += einsum(x4, (0, 1, 2, 3), (3, 2, 1, 0)) * 0.5 - x5 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x5 += einsum(t1, (0, 1), x4, (2, 3, 4, 1), (2, 3, 0, 4)) - rdm2_f_oooo += einsum(x5, (0, 1, 2, 3), (2, 3, 1, 0)) * -0.5 - rdm2_f_oooo += einsum(x5, (0, 1, 2, 3), (3, 2, 1, 0)) * 0.5 - x6 = np.zeros((nocc, nocc), dtype=types[float]) - x6 += einsum(l2, (0, 1, 2, 3), t2, (4, 3, 0, 1), (2, 4)) - x7 = np.zeros((nocc, nocc), dtype=types[float]) - x7 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 4, 5, 0, 1, 2), (3, 6)) - x8 = np.zeros((nocc, nocc), dtype=types[float]) - x8 += einsum(x6, (0, 1), (0, 1)) - x8 += einsum(x7, (0, 1), (0, 1)) * 0.16666666666666 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x8, (2, 3), (0, 3, 1, 2)) * -0.5 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x8, (2, 3), (0, 3, 2, 1)) * 0.5 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x8, (2, 3), (3, 0, 1, 2)) * 0.5 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x8, (2, 3), (3, 0, 2, 1)) * -0.5 - del x8 - x9 = np.zeros((nocc, nocc), dtype=types[float]) - x9 += einsum(l1, (0, 1), t1, (2, 0), (1, 2)) - rdm2_f_oooo += einsum(delta.oo, (0, 1), x9, (2, 3), (0, 3, 1, 2)) * -1.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x9, (2, 3), (3, 0, 1, 2)) - rdm2_f_oooo += einsum(delta.oo, (0, 1), x9, (2, 3), (0, 3, 2, 1)) - rdm2_f_oooo += einsum(delta.oo, (0, 1), x9, (2, 3), (3, 0, 2, 1)) * -1.0 - x10 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x10 += einsum(l1, (0, 1), t2, (2, 3, 4, 0), (1, 2, 3, 4)) - rdm2_f_ooov = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - rdm2_f_ooov += einsum(x10, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_oovo = np.zeros((nocc, nocc, nvir, nocc), dtype=types[float]) - rdm2_f_oovo += einsum(x10, (0, 1, 2, 3), (2, 1, 3, 0)) - x11 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x11 += einsum(l2, (0, 1, 2, 3), t3, (4, 5, 3, 6, 0, 1), (2, 4, 5, 6)) - rdm2_f_ooov += einsum(x11, (0, 1, 2, 3), (1, 2, 0, 3)) * 0.5 - rdm2_f_oovo += einsum(x11, (0, 1, 2, 3), (1, 2, 3, 0)) * -0.5 - x12 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x12 += einsum(t2, (0, 1, 2, 3), l3, (4, 5, 3, 6, 0, 1), (6, 4, 5, 2)) - rdm2_f_vvov = np.zeros((nvir, nvir, nocc, nvir), dtype=types[float]) - rdm2_f_vvov += einsum(x12, (0, 1, 2, 3), (1, 2, 0, 3)) * 0.5 - rdm2_f_vvvo = np.zeros((nvir, nvir, nvir, nocc), dtype=types[float]) - rdm2_f_vvvo += einsum(x12, (0, 1, 2, 3), (1, 2, 3, 0)) * -0.5 - x13 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x13 += einsum(t2, (0, 1, 2, 3), x12, (4, 3, 2, 5), (4, 0, 1, 5)) * -1.0 - rdm2_f_ooov += einsum(x13, (0, 1, 2, 3), (1, 2, 0, 3)) * 0.25 - rdm2_f_oovo += einsum(x13, (0, 1, 2, 3), (1, 2, 3, 0)) * -0.25 - x14 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x14 += einsum(t1, (0, 1), l3, (2, 3, 1, 4, 5, 6), (4, 5, 6, 0, 2, 3)) - x15 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x15 += einsum(t1, (0, 1), x14, (2, 3, 4, 5, 1, 6), (2, 3, 4, 5, 0, 6)) - x16 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x16 += einsum(t2, (0, 1, 2, 3), x15, (4, 1, 0, 5, 6, 3), (4, 6, 5, 2)) - rdm2_f_ooov += einsum(x16, (0, 1, 2, 3), (1, 2, 0, 3)) * 0.5 - rdm2_f_oovo += einsum(x16, (0, 1, 2, 3), (1, 2, 3, 0)) * -0.5 - x17 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x17 += einsum(t3, (0, 1, 2, 3, 4, 5), x14, (6, 1, 2, 7, 4, 5), (6, 7, 0, 3)) - x18 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x18 += einsum(t1, (0, 1), x5, (0, 2, 3, 4), (2, 3, 4, 1)) * -1.0 - x19 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x19 += einsum(x2, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x19 += einsum(x4, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - x20 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x20 += einsum(t2, (0, 1, 2, 3), x19, (1, 4, 5, 3), (4, 5, 0, 2)) - x21 = np.zeros((nocc, nocc), dtype=types[float]) - x21 += einsum(x9, (0, 1), (0, 1)) * 12.00000000000048 - x21 += einsum(x6, (0, 1), (0, 1)) * 6.00000000000024 - x21 += einsum(x7, (0, 1), (0, 1)) - x22 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x22 += einsum(delta.oo, (0, 1), t1, (2, 3), (0, 1, 2, 3)) - x22 += einsum(x17, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.25 - x22 += einsum(x18, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.5 - del x18 - x22 += einsum(x20, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x20 - x22 += einsum(t1, (0, 1), x21, (2, 3), (0, 2, 3, 1)) * 0.08333333333333 - rdm2_f_ooov += einsum(x22, (0, 1, 2, 3), (0, 2, 1, 3)) - rdm2_f_ooov += einsum(x22, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_oovo += einsum(x22, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_oovo += einsum(x22, (0, 1, 2, 3), (2, 0, 3, 1)) - del x22 - x23 = np.zeros((nocc, nvir), dtype=types[float]) - x23 += einsum(l1, (0, 1), t2, (2, 1, 3, 0), (2, 3)) - x24 = np.zeros((nocc, nvir), dtype=types[float]) - x24 += einsum(l2, (0, 1, 2, 3), t3, (4, 2, 3, 5, 0, 1), (4, 5)) - x25 = np.zeros((nocc, nvir), dtype=types[float]) - x25 += einsum(t3, (0, 1, 2, 3, 4, 5), x14, (0, 1, 2, 6, 4, 5), (6, 3)) - x26 = np.zeros((nocc, nvir), dtype=types[float]) - x26 += einsum(t2, (0, 1, 2, 3), x19, (0, 1, 4, 3), (4, 2)) * -0.5 - x27 = np.zeros((nocc, nvir), dtype=types[float]) - x27 += einsum(t1, (0, 1), x21, (0, 2), (2, 1)) * 0.08333333333333 - del x21 - x28 = np.zeros((nocc, nvir), dtype=types[float]) - x28 += einsum(x23, (0, 1), (0, 1)) * -1.0 - del x23 - x28 += einsum(x24, (0, 1), (0, 1)) * -0.25 - del x24 - x28 += einsum(x25, (0, 1), (0, 1)) * 0.08333333333333 - del x25 - x28 += einsum(x26, (0, 1), (0, 1)) - del x26 - x28 += einsum(x27, (0, 1), (0, 1)) - del x27 - rdm2_f_ooov += einsum(delta.oo, (0, 1), x28, (2, 3), (0, 2, 1, 3)) * -1.0 - rdm2_f_ooov += einsum(delta.oo, (0, 1), x28, (2, 3), (2, 0, 1, 3)) - rdm2_f_oovo += einsum(delta.oo, (0, 1), x28, (2, 3), (0, 2, 3, 1)) - rdm2_f_oovo += einsum(delta.oo, (0, 1), x28, (2, 3), (2, 0, 3, 1)) * -1.0 - x29 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x29 += einsum(x1, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - x29 += einsum(x3, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - x29 += einsum(x0, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.33333333333334 - x30 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x30 += einsum(t1, (0, 1), x29, (0, 2, 3, 4), (2, 3, 4, 1)) * 0.5 - del x29 - rdm2_f_ooov += einsum(x30, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_oovo += einsum(x30, (0, 1, 2, 3), (2, 1, 3, 0)) - del x30 - x31 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x31 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 4, 5, 7, 1, 2), (3, 6, 0, 7)) - rdm2_f_ovov += einsum(x31, (0, 1, 2, 3), (1, 2, 0, 3)) * -0.25 - rdm2_f_ovvo += einsum(x31, (0, 1, 2, 3), (1, 2, 3, 0)) * 0.25 - rdm2_f_voov += einsum(x31, (0, 1, 2, 3), (2, 1, 0, 3)) * 0.25 - rdm2_f_vovo += einsum(x31, (0, 1, 2, 3), (2, 1, 3, 0)) * -0.25 - x32 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x32 += einsum(t2, (0, 1, 2, 3), x31, (1, 4, 3, 5), (0, 4, 2, 5)) - x33 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x33 += einsum(t2, (0, 1, 2, 3), x14, (4, 1, 0, 5, 6, 3), (4, 5, 6, 2)) - rdm2_f_ovov += einsum(x33, (0, 1, 2, 3), (1, 2, 0, 3)) * 0.5 - rdm2_f_ovvo += einsum(x33, (0, 1, 2, 3), (1, 2, 3, 0)) * -0.5 - rdm2_f_voov += einsum(x33, (0, 1, 2, 3), (2, 1, 0, 3)) * -0.5 - rdm2_f_vovo += einsum(x33, (0, 1, 2, 3), (2, 1, 3, 0)) * 0.5 - x34 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x34 += einsum(t1, (0, 1), x4, (0, 2, 3, 4), (2, 3, 4, 1)) * -1.0 - x35 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x35 += einsum(x33, (0, 1, 2, 3), (0, 1, 2, 3)) - x35 += einsum(x34, (0, 1, 2, 3), (0, 1, 2, 3)) - del x34 - x36 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x36 += einsum(t2, (0, 1, 2, 3), x35, (1, 4, 3, 5), (4, 0, 5, 2)) * 0.5 - del x35 - x37 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x37 += einsum(t2, (0, 1, 2, 3), x2, (4, 1, 5, 3), (4, 5, 0, 2)) * -1.0 - x38 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x38 += einsum(x37, (0, 1, 2, 3), (0, 1, 2, 3)) - del x37 - x38 += einsum(x17, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.25 - del x17 - x39 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x39 += einsum(t1, (0, 1), x38, (0, 2, 3, 4), (2, 3, 1, 4)) - del x38 - x40 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x40 += einsum(x32, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.25 - del x32 - x40 += einsum(x36, (0, 1, 2, 3), (0, 1, 2, 3)) - del x36 - x40 += einsum(x39, (0, 1, 2, 3), (0, 1, 2, 3)) - del x39 - x40 += einsum(t1, (0, 1), x28, (2, 3), (0, 2, 1, 3)) - del x28 - rdm2_f_oovv += einsum(x40, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - rdm2_f_oovv += einsum(x40, (0, 1, 2, 3), (0, 1, 3, 2)) - rdm2_f_oovv += einsum(x40, (0, 1, 2, 3), (1, 0, 2, 3)) - rdm2_f_oovv += einsum(x40, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x40 - x41 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x41 += einsum(x7, (0, 1), t2, (2, 0, 3, 4), (2, 1, 3, 4)) - del x7 - x42 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x42 += einsum(x4, (0, 1, 2, 3), t3, (4, 0, 1, 5, 6, 3), (2, 4, 5, 6)) - x43 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x43 += einsum(x41, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.08333333333333 - del x41 - x43 += einsum(x42, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.25 - del x42 - rdm2_f_oovv += einsum(x43, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - rdm2_f_oovv += einsum(x43, (0, 1, 2, 3), (1, 0, 2, 3)) - del x43 - x44 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x44 += einsum(l2, (0, 1, 2, 3), t2, (4, 3, 5, 1), (2, 4, 0, 5)) - rdm2_f_ovov += einsum(x44, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_ovvo += einsum(x44, (0, 1, 2, 3), (1, 2, 3, 0)) - rdm2_f_voov += einsum(x44, (0, 1, 2, 3), (2, 1, 0, 3)) - rdm2_f_vovo += einsum(x44, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - x45 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x45 += einsum(t2, (0, 1, 2, 3), x44, (1, 4, 3, 5), (4, 0, 5, 2)) - x46 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x46 += einsum(x12, (0, 1, 2, 3), t3, (4, 5, 0, 6, 1, 2), (4, 5, 3, 6)) - x47 = np.zeros((nvir, nvir), dtype=types[float]) - x47 += einsum(l2, (0, 1, 2, 3), t2, (2, 3, 4, 1), (0, 4)) - x48 = np.zeros((nvir, nvir), dtype=types[float]) - x48 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (3, 4, 5, 6, 1, 2), (0, 6)) - x49 = np.zeros((nvir, nvir), dtype=types[float]) - x49 += einsum(x47, (0, 1), (0, 1)) - x49 += einsum(x48, (0, 1), (0, 1)) * 0.16666666666666 - x50 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x50 += einsum(x49, (0, 1), t2, (2, 3, 4, 0), (2, 3, 1, 4)) * -0.5 - del x49 - x51 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x51 += einsum(x10, (0, 1, 2, 3), (0, 2, 1, 3)) - del x10 - x51 += einsum(x11, (0, 1, 2, 3), (0, 2, 1, 3)) * 0.5 - del x11 - x51 += einsum(x13, (0, 1, 2, 3), (0, 2, 1, 3)) * 0.25 - del x13 - x51 += einsum(x16, (0, 1, 2, 3), (0, 2, 1, 3)) * 0.5 - del x16 - x52 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x52 += einsum(t1, (0, 1), x51, (0, 2, 3, 4), (2, 3, 1, 4)) - del x51 - x53 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x53 += einsum(x45, (0, 1, 2, 3), (0, 1, 2, 3)) - del x45 - x53 += einsum(x46, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.25 - del x46 - x53 += einsum(x50, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x50 - x53 += einsum(x52, (0, 1, 2, 3), (1, 0, 2, 3)) - del x52 - rdm2_f_oovv += einsum(x53, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(x53, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x53 - x54 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x54 += einsum(x9, (0, 1), t2, (2, 0, 3, 4), (1, 2, 3, 4)) - del x9 - x55 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x55 += einsum(x2, (0, 1, 2, 3), t3, (4, 1, 0, 5, 6, 3), (2, 4, 5, 6)) - x56 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x56 += einsum(x6, (0, 1), t2, (2, 0, 3, 4), (2, 1, 3, 4)) - del x6 - x57 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x57 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 3, 1)) * 2.0 - x57 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x58 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x58 += einsum(x5, (0, 1, 2, 3), x57, (0, 1, 4, 5), (2, 3, 4, 5)) * 0.25 - del x5, x57 - x59 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x59 += einsum(x54, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x54 - x59 += einsum(x55, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.5 - del x55 - x59 += einsum(x56, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.5 - del x56 - x59 += einsum(x58, (0, 1, 2, 3), (0, 1, 3, 2)) - del x58 - rdm2_f_oovv += einsum(x59, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(x59, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x59 - x60 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x60 += einsum(t2, (0, 1, 2, 3), l3, (4, 2, 3, 5, 6, 7), (5, 6, 7, 0, 1, 4)) - x60 += einsum(x15, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -2.00000000000012 - del x15 - rdm2_f_oovv += einsum(t3, (0, 1, 2, 3, 4, 5), x60, (0, 1, 2, 6, 7, 5), (6, 7, 3, 4)) * 0.08333333333333 - del x60 - x61 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x61 += einsum(x1, (0, 1, 2, 3), (1, 0, 3, 2)) * -3.00000000000012 - x61 += einsum(x3, (0, 1, 2, 3), (0, 1, 3, 2)) * 6.00000000000024 - x61 += einsum(x0, (0, 1, 2, 3), (0, 1, 3, 2)) - rdm2_f_oovv += einsum(t2, (0, 1, 2, 3), x61, (0, 1, 4, 5), (5, 4, 2, 3)) * 0.08333333333333 - del x61 - x62 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x62 += einsum(x1, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.99999999999994 - del x1 - x62 += einsum(x3, (0, 1, 2, 3), (0, 1, 3, 2)) * 5.99999999999988 - del x3 - x62 += einsum(x0, (0, 1, 2, 3), (0, 1, 3, 2)) - del x0 - x63 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x63 += einsum(t1, (0, 1), x62, (0, 2, 3, 4), (2, 4, 3, 1)) * -0.16666666666667 - del x62 - rdm2_f_oovv += einsum(t1, (0, 1), x63, (0, 2, 3, 4), (2, 3, 4, 1)) * -1.0 - del x63 - x64 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x64 += einsum(x2, (0, 1, 2, 3), (1, 0, 2, 3)) * -2.0 - del x2 - x64 += einsum(x4, (0, 1, 2, 3), (0, 1, 2, 3)) - del x4 - x65 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x65 += einsum(t1, (0, 1), x64, (0, 2, 3, 4), (2, 3, 1, 4)) * 0.5 - del x64 - rdm2_f_ovov += einsum(x65, (0, 1, 2, 3), (1, 3, 0, 2)) * -1.0 - rdm2_f_ovvo += einsum(x65, (0, 1, 2, 3), (1, 3, 2, 0)) - rdm2_f_voov += einsum(x65, (0, 1, 2, 3), (3, 1, 0, 2)) - rdm2_f_vovo += einsum(x65, (0, 1, 2, 3), (3, 1, 2, 0)) * -1.0 - del x65 - x66 = np.zeros((nvir, nvir), dtype=types[float]) - x66 += einsum(l1, (0, 1), t1, (1, 2), (0, 2)) - x67 = np.zeros((nvir, nvir), dtype=types[float]) - x67 += einsum(x66, (0, 1), (0, 1)) * 12.00000000000048 - x67 += einsum(x47, (0, 1), (0, 1)) * 6.00000000000024 - x67 += einsum(x48, (0, 1), (0, 1)) - rdm2_f_ovov += einsum(delta.oo, (0, 1), x67, (2, 3), (0, 2, 1, 3)) * 0.08333333333333 - rdm2_f_voov += einsum(delta.oo, (0, 1), x67, (2, 3), (2, 0, 1, 3)) * -0.08333333333333 - del x67 - x68 = np.zeros((nvir, nvir), dtype=types[float]) - x68 += einsum(x66, (0, 1), (0, 1)) * 2.0 - x68 += einsum(x47, (0, 1), (0, 1)) - x68 += einsum(x48, (0, 1), (0, 1)) * 0.16666666666666 - rdm2_f_ovvo += einsum(delta.oo, (0, 1), x68, (2, 3), (0, 2, 3, 1)) * -0.5 - rdm2_f_vovo += einsum(delta.oo, (0, 1), x68, (2, 3), (2, 0, 3, 1)) * 0.5 - del x68 - x69 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x69 += einsum(l2, (0, 1, 2, 3), t3, (4, 2, 3, 5, 6, 1), (4, 0, 5, 6)) - rdm2_f_ovvv = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - rdm2_f_ovvv += einsum(x69, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.5 - rdm2_f_vovv = np.zeros((nvir, nocc, nvir, nvir), dtype=types[float]) - rdm2_f_vovv += einsum(x69, (0, 1, 2, 3), (1, 0, 3, 2)) * 0.5 - del x69 - x70 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x70 += einsum(t3, (0, 1, 2, 3, 4, 5), x14, (0, 1, 2, 6, 7, 5), (6, 7, 3, 4)) * -1.0 - del x14 - rdm2_f_ovvv += einsum(x70, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.16666666666667 - rdm2_f_vovv += einsum(x70, (0, 1, 2, 3), (1, 0, 3, 2)) * 0.16666666666667 - del x70 - x71 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x71 += einsum(l1, (0, 1), t2, (2, 1, 3, 4), (2, 0, 3, 4)) - rdm2_f_ovvv += einsum(x71, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_vovv += einsum(x71, (0, 1, 2, 3), (1, 0, 3, 2)) - del x71 - x72 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x72 += einsum(t2, (0, 1, 2, 3), x12, (1, 4, 3, 5), (0, 4, 5, 2)) * -1.0 - x73 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x73 += einsum(x44, (0, 1, 2, 3), (0, 1, 2, 3)) - del x44 - x73 += einsum(x31, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.25 - del x31 - x73 += einsum(x33, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - del x33 - x74 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x74 += einsum(t1, (0, 1), x73, (0, 2, 3, 4), (2, 1, 3, 4)) - del x73 - x75 = np.zeros((nvir, nvir), dtype=types[float]) - x75 += einsum(x66, (0, 1), (0, 1)) - del x66 - x75 += einsum(x47, (0, 1), (0, 1)) * 0.5 - del x47 - x75 += einsum(x48, (0, 1), (0, 1)) * 0.08333333333333 - del x48 - x76 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x76 += einsum(x72, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - del x72 - x76 += einsum(x74, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x74 - x76 += einsum(t1, (0, 1), x75, (2, 3), (0, 2, 1, 3)) - del x75 - rdm2_f_ovvv += einsum(x76, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_ovvv += einsum(x76, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_vovv += einsum(x76, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - rdm2_f_vovv += einsum(x76, (0, 1, 2, 3), (1, 0, 3, 2)) - del x76 - x77 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x77 += einsum(t2, (0, 1, 2, 3), x19, (0, 1, 4, 5), (4, 5, 2, 3)) * 0.5 - rdm2_f_ovvv += einsum(x77, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_vovv += einsum(x77, (0, 1, 2, 3), (1, 0, 3, 2)) - del x77 - x78 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x78 += einsum(t1, (0, 1), x19, (0, 2, 3, 4), (2, 3, 4, 1)) * -1.0 - rdm2_f_ovvv += einsum(t1, (0, 1), x78, (0, 2, 3, 4), (2, 3, 1, 4)) - del x78 - x79 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x79 += einsum(t1, (0, 1), x19, (0, 2, 3, 4), (2, 3, 4, 1)) * -2.0 - del x19 - rdm2_f_vovv += einsum(t1, (0, 1), x79, (0, 2, 3, 4), (3, 2, 4, 1)) * 0.5 - del x79 - x80 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x80 += einsum(t1, (0, 1), l2, (2, 3, 4, 0), (4, 2, 3, 1)) - rdm2_f_vvov += einsum(x80, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_vvvo += einsum(x80, (0, 1, 2, 3), (2, 1, 3, 0)) - rdm2_f_vvvv += einsum(t1, (0, 1), x80, (0, 2, 3, 4), (2, 3, 1, 4)) - del x80 - x81 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) - x81 += einsum(t1, (0, 1), x12, (0, 2, 3, 4), (3, 2, 1, 4)) * -1.0 - del x12 - rdm2_f_vvvv += einsum(x81, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - rdm2_f_vvvv += einsum(x81, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.5 - del x81 - - rdm2_f = pack_2e(rdm2_f_oooo, rdm2_f_ooov, rdm2_f_oovo, rdm2_f_ovoo, rdm2_f_vooo, rdm2_f_oovv, rdm2_f_ovov, rdm2_f_ovvo, rdm2_f_voov, rdm2_f_vovo, rdm2_f_vvoo, rdm2_f_ovvv, rdm2_f_vovv, rdm2_f_vvov, rdm2_f_vvvo, rdm2_f_vvvv) - - rdm2_f = np.transpose(rdm2_f, (0, 2, 1, 3)) - - return rdm2_f +def update_amps(f=None, t1=None, t2=None, t3=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-10-22T10:27:33.480466. + + Parameters + ---------- + f : array + Fock matrix. + t1 : array + T1 amplitudes. + t2 : array + T2 amplitudes. + t3 : array + T3 amplitudes. + v : array + Electron repulsion integrals. + + Returns + ------- + t1new : array + Updated T1 residuals. + t2new : array + Updated T2 residuals. + t3new : array + Updated T3 residuals. + """ + + t1new = einsum(t3, (0, 1, 2, 3, 4, 5), v.oovv, (1, 2, 4, 5), (0, 3)) * 0.25 + t1new += f.ov + t1new += einsum(v.ovov, (0, 1, 2, 3), t1, (2, 1), (0, 3)) * -1 + t1new += einsum(t1, (0, 1), f.vv, (2, 1), (0, 2)) + tmp1 = np.copy(np.transpose(v.ovoo, (0, 2, 3, 1))) * -1 + tmp0 = einsum(t1, (0, 1), v.oovv, (2, 3, 4, 1), (0, 2, 3, 4)) + tmp1 += np.transpose(tmp0, (0, 2, 1, 3)) * -1 + t1new += einsum(tmp1, (0, 1, 2, 3), t2, (1, 2, 4, 3), (0, 4)) * 0.5 + del tmp1 + tmp2 = np.copy(t2) * 0.5 + tmp2 += einsum(t1, (0, 1), t1, (2, 3), (2, 0, 3, 1)) + t1new += einsum(v.ovvv, (0, 1, 2, 3), tmp2, (0, 4, 2, 3), (4, 1)) + tmp4 = np.copy(f.ov) + tmp3 = einsum(t1, (0, 1), v.oovv, (2, 0, 3, 1), (2, 3)) + tmp4 += tmp3 + t1new += einsum(tmp4, (0, 1), t2, (2, 0, 3, 1), (2, 3)) + tmp8 = np.copy(f.oo) + tmp5 = einsum(t1, (0, 1), f.ov, (2, 1), (2, 0)) + tmp8 += tmp5 + tmp6 = einsum(t1, (0, 1), v.ooov, (2, 0, 3, 1), (2, 3)) + tmp8 += tmp6 + tmp7 = np.copy(t2) + tmp7 += einsum(t1, (0, 1), t1, (2, 3), (2, 0, 3, 1)) * 2 + tmp8 += einsum(tmp7, (0, 1, 2, 3), v.oovv, (4, 0, 2, 3), (4, 1)) * -0.5 + t1new += einsum(tmp8, (0, 1), t1, (0, 2), (1, 2)) * -1 + del tmp8 + t2new = np.copy(v.oovv) + tmp9 = einsum(t1, (0, 1), v.ooov, (2, 3, 0, 4), (2, 3, 1, 4)) + tmp17 = np.copy(np.transpose(tmp9, (1, 0, 2, 3))) * -1 + del tmp9 + tmp10 = einsum(v.ovvv, (0, 1, 2, 3), t1, (0, 3), (1, 2)) + tmp11 = einsum(t2, (0, 1, 2, 3), tmp10, (4, 3), (0, 1, 2, 4)) * -1 + tmp17 += np.transpose(tmp11, (1, 0, 2, 3)) + del tmp11 + tmp12 = einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 3), (0, 4, 2, 5)) + tmp13 = einsum(t2, (0, 1, 2, 3), tmp12, (4, 1, 5, 3), (4, 0, 5, 2)) + tmp17 += np.transpose(tmp13, (1, 0, 2, 3)) + del tmp13 + tmp15 = np.copy(f.vv) * -1 + tmp14 = einsum(tmp3, (0, 1), t1, (0, 2), (2, 1)) + tmp15 += tmp14 + del tmp14 + tmp16 = einsum(t2, (0, 1, 2, 3), tmp15, (4, 3), (0, 1, 2, 4)) * -1 + del tmp15 + tmp17 += np.transpose(tmp16, (1, 0, 3, 2)) * -1 + del tmp16 + t2new += tmp17 * -1 + t2new += np.transpose(tmp17, (0, 1, 3, 2)) + del tmp17 + tmp18 = einsum(t2, (0, 1, 2, 3), tmp5, (1, 4), (4, 0, 2, 3)) + tmp25 = np.copy(np.transpose(tmp18, (0, 1, 3, 2))) + del tmp18 + tmp19 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovoo, (6, 5, 1, 2), (0, 6, 3, 4)) + tmp25 += np.transpose(tmp19, (0, 1, 3, 2)) * -0.5 + del tmp19 + tmp20 = einsum(tmp0, (0, 1, 2, 3), t3, (4, 2, 1, 5, 6, 3), (0, 4, 5, 6)) + tmp25 += np.transpose(tmp20, (0, 1, 3, 2)) * 0.5 + del tmp20 + tmp21 = einsum(v.oovv, (0, 1, 2, 3), t2, (4, 1, 2, 3), (4, 0)) + tmp22 = einsum(t2, (0, 1, 2, 3), tmp21, (4, 1), (0, 4, 2, 3)) + tmp25 += np.transpose(tmp22, (0, 1, 3, 2)) * -0.5 + del tmp22 + tmp23 = einsum(v.ooov, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) + tmp24 = einsum(tmp7, (0, 1, 2, 3), tmp23, (4, 0, 1, 5), (4, 5, 2, 3)) * 0.5 + tmp25 += np.transpose(tmp24, (0, 1, 3, 2)) * -1 + del tmp24 + t2new += tmp25 * -1 + t2new += np.transpose(tmp25, (1, 0, 2, 3)) + del tmp25 + tmp26 = einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 0, 6, 2, 3), (4, 5, 6, 1)) + tmp34 = np.copy(np.transpose(tmp26, (1, 0, 2, 3))) * -0.5 + del tmp26 + tmp27 = einsum(t2, (0, 1, 2, 3), v.oovv, (0, 1, 4, 3), (2, 4)) + tmp28 = einsum(t2, (0, 1, 2, 3), tmp27, (4, 3), (0, 1, 2, 4)) + tmp34 += np.transpose(tmp28, (1, 0, 2, 3)) * -0.5 + del tmp28 + tmp29 = einsum(t2, (0, 1, 2, 3), f.ov, (4, 3), (4, 0, 1, 2)) + tmp32 = np.copy(np.transpose(tmp29, (0, 2, 1, 3))) * -1 + del tmp29 + tmp30 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 5, 2, 3), (4, 5, 0, 1)) + tmp32 += np.transpose(tmp30, (2, 1, 0, 3)) * 0.5 + tmp31 = einsum(t3, (0, 1, 2, 3, 4, 5), v.oovv, (6, 2, 4, 5), (0, 1, 6, 3)) + tmp32 += np.transpose(tmp31, (2, 1, 0, 3)) * -0.5 + tmp33 = einsum(t1, (0, 1), tmp32, (0, 2, 3, 4), (2, 3, 1, 4)) + del tmp32 + tmp34 += np.transpose(tmp33, (1, 0, 2, 3)) + del tmp33 + t2new += tmp34 * -1 + t2new += np.transpose(tmp34, (0, 1, 3, 2)) + del tmp34 + tmp35 = einsum(tmp0, (0, 1, 2, 3), t2, (4, 1, 5, 3), (0, 4, 2, 5)) + tmp36 = einsum(t1, (0, 1), tmp35, (2, 3, 0, 4), (2, 3, 1, 4)) + t2new += tmp36 * -1 + t2new += np.transpose(tmp36, (0, 1, 3, 2)) + t2new += np.transpose(tmp36, (1, 0, 2, 3)) + t2new += np.transpose(tmp36, (1, 0, 3, 2)) * -1 + del tmp36 + tmp37 = einsum(t1, (0, 1), v.ovvv, (2, 1, 3, 4), (0, 2, 3, 4)) + tmp41 = np.copy(np.transpose(tmp37, (0, 1, 3, 2))) * -1 + del tmp37 + tmp38 = einsum(t2, (0, 1, 2, 3), tmp6, (1, 4), (0, 4, 2, 3)) * -1 + tmp41 += np.transpose(tmp38, (0, 1, 3, 2)) + del tmp38 + tmp39 = einsum(tmp3, (0, 1), t1, (2, 1), (2, 0)) + tmp40 = einsum(t2, (0, 1, 2, 3), tmp39, (4, 1), (4, 0, 2, 3)) * -1 + tmp41 += np.transpose(tmp40, (0, 1, 3, 2)) * -1 + del tmp40 + t2new += tmp41 * -1 + t2new += np.transpose(tmp41, (1, 0, 2, 3)) + del tmp41 + tmp42 = einsum(t2, (0, 1, 2, 3), f.oo, (4, 1), (4, 0, 2, 3)) + t2new += np.transpose(tmp42, (0, 1, 3, 2)) * -1 + t2new += np.transpose(tmp42, (1, 0, 3, 2)) + del tmp42 + tmp43 = einsum(v.ooov, (0, 1, 2, 3), t2, (4, 1, 5, 3), (4, 0, 2, 5)) + tmp44 = einsum(t1, (0, 1), tmp43, (2, 0, 3, 4), (2, 3, 1, 4)) + tmp47 = np.copy(tmp44) + del tmp44 + tmp45 = np.copy(t2) + tmp45 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 3, 1)) * -1 + tmp46 = einsum(v.ovov, (0, 1, 2, 3), tmp45, (2, 4, 1, 5), (0, 4, 3, 5)) + del tmp45 + tmp47 += np.transpose(tmp46, (1, 0, 3, 2)) * -1 + del tmp46 + t2new += tmp47 + t2new += np.transpose(tmp47, (0, 1, 3, 2)) * -1 + t2new += np.transpose(tmp47, (1, 0, 2, 3)) * -1 + t2new += np.transpose(tmp47, (1, 0, 3, 2)) + del tmp47 + tmp48 = einsum(t1, (0, 1), v.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) + tmp49 = einsum(t2, (0, 1, 2, 3), tmp48, (4, 1, 5, 3), (4, 0, 2, 5)) * -1 + t2new += tmp49 + t2new += np.transpose(tmp49, (0, 1, 3, 2)) * -1 + t2new += np.transpose(tmp49, (1, 0, 2, 3)) * -1 + t2new += np.transpose(tmp49, (1, 0, 3, 2)) + del tmp49 + tmp50 = einsum(t1, (0, 1), tmp48, (2, 3, 4, 1), (2, 0, 3, 4)) * -1 + tmp51 = einsum(t1, (0, 1), tmp50, (2, 3, 0, 4), (2, 3, 1, 4)) + t2new += np.transpose(tmp51, (1, 0, 2, 3)) + t2new += np.transpose(tmp51, (1, 0, 3, 2)) * -1 + del tmp51 + t2new += einsum(tmp4, (0, 1), t3, (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) + del tmp4 + tmp52 = np.copy(v.oooo) * -1 + tmp52 += einsum(v.oovv, (0, 1, 2, 3), tmp7, (4, 5, 2, 3), (0, 1, 5, 4)) * 0.5 + t2new += einsum(tmp7, (0, 1, 2, 3), tmp52, (0, 1, 4, 5), (4, 5, 3, 2)) * 0.5 + del tmp7, tmp52 + t2new += einsum(v.vvvv, (0, 1, 2, 3), tmp2, (4, 5, 2, 3), (5, 4, 0, 1)) * -1 + tmp53 = einsum(v.vvvv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 2, 3), (4, 5, 6, 7, 0, 1)) + tmp57 = np.copy(np.transpose(tmp53, (1, 2, 0, 3, 5, 4))) * -0.5 + del tmp53 + tmp55 = np.copy(f.vv) * -1 + tmp54 = einsum(t1, (0, 1), f.ov, (0, 2), (2, 1)) + tmp55 += tmp54 + del tmp54 + tmp55 += np.transpose(tmp27, (1, 0)) * 0.5 + del tmp27 + tmp56 = einsum(tmp55, (0, 1), t3, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) + del tmp55 + tmp57 += np.transpose(tmp56, (1, 2, 0, 3, 4, 5)) * -1 + del tmp56 + t3new = np.copy(np.transpose(tmp57, (2, 0, 1, 3, 4, 5))) + t3new += np.transpose(tmp57, (2, 0, 1, 4, 3, 5)) * -1 + t3new += np.transpose(tmp57, (2, 0, 1, 4, 5, 3)) + del tmp57 + tmp58 = einsum(v.vvvv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) + tmp59 = einsum(t2, (0, 1, 2, 3), tmp58, (4, 5, 6, 3), (4, 0, 1, 2, 5, 6)) * -1 + del tmp58 + tmp64 = np.copy(np.transpose(tmp59, (0, 2, 1, 3, 5, 4))) + del tmp59 + tmp60 = einsum(t2, (0, 1, 2, 3), v.oooo, (4, 5, 6, 1), (0, 4, 5, 6, 2, 3)) + tmp62 = np.copy(np.transpose(tmp60, (0, 2, 1, 3, 5, 4))) + del tmp60 + tmp61 = einsum(tmp0, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (0, 4, 5, 2, 6, 7)) + tmp62 += np.transpose(tmp61, (0, 2, 1, 3, 5, 4)) + del tmp61 + tmp63 = einsum(tmp62, (0, 1, 2, 3, 4, 5), t1, (3, 6), (0, 1, 2, 6, 4, 5)) + del tmp62 + tmp64 += np.transpose(tmp63, (0, 2, 1, 3, 5, 4)) + del tmp63 + t3new += tmp64 * -1 + t3new += np.transpose(tmp64, (0, 1, 2, 4, 3, 5)) + t3new += np.transpose(tmp64, (0, 1, 2, 4, 5, 3)) * -1 + t3new += np.transpose(tmp64, (1, 0, 2, 3, 4, 5)) + t3new += np.transpose(tmp64, (1, 0, 2, 4, 3, 5)) * -1 + t3new += np.transpose(tmp64, (1, 0, 2, 4, 5, 3)) + t3new += np.transpose(tmp64, (1, 2, 0, 3, 4, 5)) * -1 + t3new += np.transpose(tmp64, (1, 2, 0, 4, 3, 5)) + t3new += np.transpose(tmp64, (1, 2, 0, 4, 5, 3)) * -1 + del tmp64 + tmp65 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp48, (6, 2, 7, 5), (6, 0, 1, 3, 4, 7)) * -1 + tmp70 = np.copy(np.transpose(tmp65, (0, 2, 1, 4, 3, 5))) + del tmp65 + tmp66 = einsum(tmp0, (0, 1, 2, 3), tmp2, (1, 2, 4, 5), (0, 3, 4, 5)) + del tmp0 + tmp67 = einsum(t2, (0, 1, 2, 3), tmp66, (4, 3, 5, 6), (0, 1, 4, 2, 6, 5)) + del tmp66 + tmp70 += np.transpose(tmp67, (2, 1, 0, 5, 4, 3)) + del tmp67 + tmp68 = np.copy(v.ooov) + tmp68 += np.transpose(tmp31, (1, 0, 2, 3)) * 0.5 + del tmp31 + tmp69 = einsum(tmp68, (0, 1, 2, 3), t2, (4, 2, 5, 6), (4, 0, 1, 5, 6, 3)) * -1 + del tmp68 + tmp70 += np.transpose(tmp69, (0, 2, 1, 4, 3, 5)) * -1 + del tmp69 + t3new += tmp70 * -1 + t3new += np.transpose(tmp70, (0, 1, 2, 3, 5, 4)) + t3new += np.transpose(tmp70, (0, 1, 2, 5, 3, 4)) * -1 + t3new += np.transpose(tmp70, (1, 0, 2, 3, 4, 5)) + t3new += np.transpose(tmp70, (1, 0, 2, 3, 5, 4)) * -1 + t3new += np.transpose(tmp70, (1, 0, 2, 5, 3, 4)) + t3new += np.transpose(tmp70, (1, 2, 0, 3, 4, 5)) * -1 + t3new += np.transpose(tmp70, (1, 2, 0, 3, 5, 4)) + t3new += np.transpose(tmp70, (1, 2, 0, 5, 3, 4)) * -1 + del tmp70 + tmp71 = einsum(tmp10, (0, 1), t3, (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 6, 0)) * -1 + del tmp10 + t3new += np.transpose(tmp71, (1, 2, 0, 4, 3, 5)) * -1 + t3new += np.transpose(tmp71, (1, 2, 0, 4, 5, 3)) + t3new += np.transpose(tmp71, (1, 2, 0, 5, 4, 3)) * -1 + del tmp71 + tmp72 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 3), (0, 2, 4, 5)) + tmp73 = einsum(t2, (0, 1, 2, 3), tmp72, (4, 5, 6, 3), (0, 1, 4, 2, 5, 6)) + del tmp72 + t3new += np.transpose(tmp73, (1, 0, 2, 3, 4, 5)) * -1 + t3new += np.transpose(tmp73, (1, 0, 2, 3, 5, 4)) + t3new += np.transpose(tmp73, (1, 0, 2, 4, 3, 5)) + t3new += np.transpose(tmp73, (1, 0, 2, 5, 3, 4)) * -1 + t3new += np.transpose(tmp73, (1, 0, 2, 4, 5, 3)) * -1 + t3new += np.transpose(tmp73, (1, 0, 2, 5, 4, 3)) + t3new += np.transpose(tmp73, (1, 2, 0, 3, 4, 5)) + t3new += np.transpose(tmp73, (1, 2, 0, 3, 5, 4)) * -1 + t3new += np.transpose(tmp73, (1, 2, 0, 4, 3, 5)) * -1 + t3new += np.transpose(tmp73, (1, 2, 0, 5, 3, 4)) + t3new += np.transpose(tmp73, (1, 2, 0, 4, 5, 3)) + t3new += np.transpose(tmp73, (1, 2, 0, 5, 4, 3)) * -1 + t3new += np.transpose(tmp73, (2, 1, 0, 3, 4, 5)) * -1 + t3new += np.transpose(tmp73, (2, 1, 0, 3, 5, 4)) + t3new += np.transpose(tmp73, (2, 1, 0, 4, 3, 5)) + t3new += np.transpose(tmp73, (2, 1, 0, 5, 3, 4)) * -1 + t3new += np.transpose(tmp73, (2, 1, 0, 4, 5, 3)) * -1 + t3new += np.transpose(tmp73, (2, 1, 0, 5, 4, 3)) + del tmp73 + tmp74 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovvv, (6, 7, 4, 5), (0, 1, 2, 6, 3, 7)) + tmp75 = einsum(t1, (0, 1), tmp74, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) + del tmp74 + t3new += np.transpose(tmp75, (1, 2, 0, 3, 4, 5)) * 0.5 + t3new += np.transpose(tmp75, (1, 2, 0, 3, 5, 4)) * -0.5 + t3new += np.transpose(tmp75, (1, 2, 0, 4, 3, 5)) * -0.5 + t3new += np.transpose(tmp75, (1, 2, 0, 5, 3, 4)) * 0.5 + t3new += np.transpose(tmp75, (1, 2, 0, 4, 5, 3)) * 0.5 + t3new += np.transpose(tmp75, (1, 2, 0, 5, 4, 3)) * -0.5 + del tmp75 + tmp76 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovov, (6, 5, 2, 7), (0, 1, 6, 3, 4, 7)) + tmp80 = np.copy(np.transpose(tmp76, (1, 0, 2, 4, 3, 5))) + del tmp76 + tmp77 = einsum(v.ovoo, (0, 1, 2, 3), t2, (2, 3, 4, 5), (0, 4, 5, 1)) + tmp78 = einsum(t2, (0, 1, 2, 3), tmp77, (4, 5, 6, 3), (0, 1, 4, 5, 6, 2)) + del tmp77 + tmp80 += np.transpose(tmp78, (1, 0, 2, 4, 3, 5)) * 0.5 + del tmp78 + tmp79 = einsum(tmp30, (0, 1, 2, 3), t2, (4, 2, 5, 6), (0, 1, 4, 5, 6, 3)) + del tmp30 + tmp80 += np.transpose(tmp79, (1, 0, 2, 4, 3, 5)) * 0.5 + del tmp79 + t3new += tmp80 * -1 + t3new += np.transpose(tmp80, (0, 1, 2, 3, 5, 4)) + t3new += np.transpose(tmp80, (0, 1, 2, 5, 3, 4)) * -1 + t3new += np.transpose(tmp80, (0, 2, 1, 3, 4, 5)) + t3new += np.transpose(tmp80, (0, 2, 1, 3, 5, 4)) * -1 + t3new += np.transpose(tmp80, (0, 2, 1, 5, 3, 4)) + t3new += np.transpose(tmp80, (2, 0, 1, 3, 4, 5)) * -1 + t3new += np.transpose(tmp80, (2, 0, 1, 3, 5, 4)) + t3new += np.transpose(tmp80, (2, 0, 1, 5, 3, 4)) * -1 + del tmp80 + tmp81 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), (0, 1, 4, 5, 6, 2)) + tmp82 = einsum(t1, (0, 1), tmp81, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 1, 6)) + del tmp81 + tmp83 = einsum(t1, (0, 1), tmp82, (2, 3, 0, 4, 5, 6), (2, 3, 4, 5, 1, 6)) * -1 + del tmp82 + tmp85 = np.copy(np.transpose(tmp83, (1, 0, 2, 4, 3, 5))) + del tmp83 + tmp84 = einsum(tmp50, (0, 1, 2, 3), t2, (4, 2, 5, 6), (0, 1, 4, 5, 6, 3)) + del tmp50 + tmp85 += np.transpose(tmp84, (1, 0, 2, 4, 3, 5)) + del tmp84 + t3new += tmp85 * -1 + t3new += np.transpose(tmp85, (0, 1, 2, 3, 5, 4)) + t3new += np.transpose(tmp85, (0, 1, 2, 5, 3, 4)) * -1 + t3new += np.transpose(tmp85, (0, 2, 1, 3, 4, 5)) + t3new += np.transpose(tmp85, (0, 2, 1, 3, 5, 4)) * -1 + t3new += np.transpose(tmp85, (0, 2, 1, 5, 3, 4)) + t3new += np.transpose(tmp85, (2, 0, 1, 3, 4, 5)) * -1 + t3new += np.transpose(tmp85, (2, 0, 1, 3, 5, 4)) + t3new += np.transpose(tmp85, (2, 0, 1, 5, 3, 4)) * -1 + del tmp85 + tmp86 = einsum(t2, (0, 1, 2, 3), tmp48, (4, 5, 6, 3), (4, 0, 1, 5, 2, 6)) * -1 + del tmp48 + tmp87 = einsum(tmp86, (0, 1, 2, 3, 4, 5), t1, (3, 6), (0, 1, 2, 6, 4, 5)) + del tmp86 + t3new += np.transpose(tmp87, (0, 2, 1, 3, 4, 5)) + t3new += np.transpose(tmp87, (0, 2, 1, 3, 5, 4)) * -1 + t3new += np.transpose(tmp87, (0, 2, 1, 4, 3, 5)) * -1 + t3new += np.transpose(tmp87, (0, 2, 1, 5, 3, 4)) + t3new += np.transpose(tmp87, (0, 2, 1, 4, 5, 3)) + t3new += np.transpose(tmp87, (0, 2, 1, 5, 4, 3)) * -1 + t3new += np.transpose(tmp87, (2, 0, 1, 3, 4, 5)) * -1 + t3new += np.transpose(tmp87, (2, 0, 1, 3, 5, 4)) + t3new += np.transpose(tmp87, (2, 0, 1, 4, 3, 5)) + t3new += np.transpose(tmp87, (2, 0, 1, 5, 3, 4)) * -1 + t3new += np.transpose(tmp87, (2, 0, 1, 4, 5, 3)) * -1 + t3new += np.transpose(tmp87, (2, 0, 1, 5, 4, 3)) + t3new += np.transpose(tmp87, (2, 1, 0, 3, 4, 5)) + t3new += np.transpose(tmp87, (2, 1, 0, 3, 5, 4)) * -1 + t3new += np.transpose(tmp87, (2, 1, 0, 4, 3, 5)) * -1 + t3new += np.transpose(tmp87, (2, 1, 0, 5, 3, 4)) + t3new += np.transpose(tmp87, (2, 1, 0, 4, 5, 3)) + t3new += np.transpose(tmp87, (2, 1, 0, 5, 4, 3)) * -1 + del tmp87 + tmp88 = einsum(v.oovv, (0, 1, 2, 3), tmp2, (4, 5, 2, 3), (4, 5, 0, 1)) + tmp89 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp88, (6, 7, 2, 1), (7, 6, 0, 3, 4, 5)) * -0.5 + t3new += np.transpose(tmp89, (1, 0, 2, 3, 4, 5)) + t3new += np.transpose(tmp89, (1, 2, 0, 3, 4, 5)) * -1 + t3new += np.transpose(tmp89, (2, 1, 0, 3, 4, 5)) + del tmp89 + tmp90 = einsum(t3, (0, 1, 2, 3, 4, 5), v.oovv, (6, 7, 4, 5), (0, 1, 2, 6, 7, 3)) + tmp91 = einsum(tmp2, (0, 1, 2, 3), tmp90, (4, 5, 6, 0, 1, 7), (4, 5, 6, 2, 3, 7)) * 0.5 + del tmp2, tmp90 + t3new += np.transpose(tmp91, (0, 1, 2, 4, 3, 5)) * -1 + t3new += np.transpose(tmp91, (0, 1, 2, 4, 5, 3)) + t3new += np.transpose(tmp91, (0, 1, 2, 5, 4, 3)) * -1 + del tmp91 + tmp94 = np.copy(np.transpose(v.ovvv, (0, 2, 3, 1))) * -1 + tmp92 = einsum(t2, (0, 1, 2, 3), f.ov, (1, 4), (0, 4, 2, 3)) + tmp94 += np.transpose(tmp92, (0, 3, 2, 1)) * -1 + del tmp92 + tmp93 = einsum(v.oovv, (0, 1, 2, 3), t3, (4, 0, 1, 5, 6, 3), (4, 5, 6, 2)) + tmp94 += np.transpose(tmp93, (0, 2, 1, 3)) * -0.5 + del tmp93 + tmp95 = einsum(t2, (0, 1, 2, 3), tmp94, (4, 5, 6, 3), (0, 1, 4, 2, 5, 6)) * -1 + del tmp94 + tmp100 = np.copy(np.transpose(tmp95, (1, 0, 2, 3, 5, 4))) + del tmp95 + tmp96 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ooov, (6, 2, 7, 5), (0, 1, 6, 7, 3, 4)) + tmp98 = np.copy(np.transpose(tmp96, (1, 0, 2, 3, 5, 4))) + del tmp96 + tmp97 = einsum(tmp88, (0, 1, 2, 3), t2, (4, 3, 5, 6), (4, 1, 0, 2, 5, 6)) * -1 + del tmp88 + tmp98 += np.transpose(tmp97, (2, 1, 3, 0, 5, 4)) + del tmp97 + tmp99 = einsum(tmp98, (0, 1, 2, 3, 4, 5), t1, (2, 6), (0, 1, 3, 6, 4, 5)) + del tmp98 + tmp100 += np.transpose(tmp99, (1, 0, 2, 3, 5, 4)) + del tmp99 + t3new += tmp100 * -1 + t3new += np.transpose(tmp100, (0, 1, 2, 4, 3, 5)) + t3new += np.transpose(tmp100, (0, 1, 2, 4, 5, 3)) * -1 + t3new += np.transpose(tmp100, (0, 2, 1, 3, 4, 5)) + t3new += np.transpose(tmp100, (0, 2, 1, 4, 3, 5)) * -1 + t3new += np.transpose(tmp100, (0, 2, 1, 4, 5, 3)) + t3new += np.transpose(tmp100, (2, 0, 1, 3, 4, 5)) * -1 + t3new += np.transpose(tmp100, (2, 0, 1, 4, 3, 5)) + t3new += np.transpose(tmp100, (2, 0, 1, 4, 5, 3)) * -1 + del tmp100 + tmp101 = einsum(t3, (0, 1, 2, 3, 4, 5), v.oooo, (6, 7, 1, 2), (0, 6, 7, 3, 4, 5)) + tmp104 = np.copy(np.transpose(tmp101, (0, 2, 1, 4, 5, 3))) * 0.5 + del tmp101 + tmp102 = np.copy(f.oo) + tmp102 += tmp5 + del tmp5 + tmp102 += np.transpose(tmp21, (1, 0)) * 0.5 + del tmp21 + tmp103 = einsum(tmp102, (0, 1), t3, (2, 3, 0, 4, 5, 6), (1, 2, 3, 4, 5, 6)) * -1 + del tmp102 + tmp104 += np.transpose(tmp103, (0, 2, 1, 4, 5, 3)) + del tmp103 + t3new += np.transpose(tmp104, (0, 1, 2, 5, 3, 4)) * -1 + t3new += np.transpose(tmp104, (1, 0, 2, 5, 3, 4)) + t3new += np.transpose(tmp104, (1, 2, 0, 5, 3, 4)) * -1 + del tmp104 + tmp105 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp12, (6, 2, 7, 5), (6, 0, 1, 7, 3, 4)) + t3new += np.transpose(tmp105, (0, 2, 1, 3, 5, 4)) + t3new += np.transpose(tmp105, (0, 2, 1, 5, 3, 4)) * -1 + t3new += np.transpose(tmp105, (0, 2, 1, 5, 4, 3)) + t3new += np.transpose(tmp105, (2, 0, 1, 3, 5, 4)) * -1 + t3new += np.transpose(tmp105, (2, 0, 1, 5, 3, 4)) + t3new += np.transpose(tmp105, (2, 0, 1, 5, 4, 3)) * -1 + t3new += np.transpose(tmp105, (2, 1, 0, 3, 5, 4)) + t3new += np.transpose(tmp105, (2, 1, 0, 5, 3, 4)) * -1 + t3new += np.transpose(tmp105, (2, 1, 0, 5, 4, 3)) + del tmp105 + tmp106 = einsum(tmp39, (0, 1), t3, (2, 3, 1, 4, 5, 6), (0, 2, 3, 4, 5, 6)) * -1 + del tmp39 + t3new += np.transpose(tmp106, (0, 2, 1, 4, 5, 3)) * -1 + t3new += np.transpose(tmp106, (2, 0, 1, 4, 5, 3)) + t3new += np.transpose(tmp106, (2, 1, 0, 4, 5, 3)) * -1 + del tmp106 + tmp107 = einsum(v.ovov, (0, 1, 2, 3), t1, (4, 3), (4, 0, 2, 1)) + tmp108 = np.copy(np.transpose(tmp107, (0, 2, 1, 3))) * -1 + del tmp107 + tmp108 += tmp35 + del tmp35 + tmp109 = einsum(tmp108, (0, 1, 2, 3), t2, (4, 2, 5, 6), (4, 0, 1, 5, 6, 3)) * -1 + del tmp108 + t3new += np.transpose(tmp109, (1, 0, 2, 4, 3, 5)) + t3new += np.transpose(tmp109, (1, 0, 2, 4, 5, 3)) * -1 + t3new += np.transpose(tmp109, (1, 0, 2, 5, 4, 3)) + t3new += np.transpose(tmp109, (1, 2, 0, 4, 3, 5)) * -1 + t3new += np.transpose(tmp109, (1, 2, 0, 4, 5, 3)) + t3new += np.transpose(tmp109, (1, 2, 0, 5, 4, 3)) * -1 + t3new += np.transpose(tmp109, (0, 1, 2, 4, 3, 5)) * -1 + t3new += np.transpose(tmp109, (0, 1, 2, 4, 5, 3)) + t3new += np.transpose(tmp109, (0, 1, 2, 5, 4, 3)) * -1 + t3new += np.transpose(tmp109, (2, 1, 0, 4, 3, 5)) + t3new += np.transpose(tmp109, (2, 1, 0, 4, 5, 3)) * -1 + t3new += np.transpose(tmp109, (2, 1, 0, 5, 4, 3)) + t3new += np.transpose(tmp109, (0, 2, 1, 4, 3, 5)) + t3new += np.transpose(tmp109, (0, 2, 1, 4, 5, 3)) * -1 + t3new += np.transpose(tmp109, (0, 2, 1, 5, 4, 3)) + t3new += np.transpose(tmp109, (2, 0, 1, 4, 3, 5)) * -1 + t3new += np.transpose(tmp109, (2, 0, 1, 4, 5, 3)) + t3new += np.transpose(tmp109, (2, 0, 1, 5, 4, 3)) * -1 + del tmp109 + tmp110 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp3, (6, 5), (0, 1, 2, 6, 3, 4)) * -1 + tmp111 = einsum(tmp110, (0, 1, 2, 3, 4, 5), t1, (3, 6), (0, 1, 2, 6, 4, 5)) + del tmp110 + t3new += np.transpose(tmp111, (1, 2, 0, 3, 5, 4)) * -1 + t3new += np.transpose(tmp111, (1, 2, 0, 5, 3, 4)) + t3new += np.transpose(tmp111, (1, 2, 0, 5, 4, 3)) * -1 + del tmp111 + tmp112 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1))) * -1 + tmp112 += tmp12 + del tmp12 + tmp113 = einsum(t2, (0, 1, 2, 3), tmp112, (4, 5, 6, 3), (0, 1, 4, 5, 2, 6)) * -1 + del tmp112 + tmp114 = einsum(tmp113, (0, 1, 2, 3, 4, 5), t1, (3, 6), (1, 0, 2, 6, 4, 5)) * -1 + del tmp113 + t3new += np.transpose(tmp114, (1, 0, 2, 3, 4, 5)) + t3new += np.transpose(tmp114, (1, 0, 2, 3, 5, 4)) * -1 + t3new += np.transpose(tmp114, (1, 0, 2, 4, 3, 5)) * -1 + t3new += np.transpose(tmp114, (1, 0, 2, 5, 3, 4)) + t3new += np.transpose(tmp114, (1, 0, 2, 4, 5, 3)) + t3new += np.transpose(tmp114, (1, 0, 2, 5, 4, 3)) * -1 + t3new += np.transpose(tmp114, (1, 2, 0, 3, 4, 5)) * -1 + t3new += np.transpose(tmp114, (1, 2, 0, 3, 5, 4)) + t3new += np.transpose(tmp114, (1, 2, 0, 4, 3, 5)) + t3new += np.transpose(tmp114, (1, 2, 0, 5, 3, 4)) * -1 + t3new += np.transpose(tmp114, (1, 2, 0, 4, 5, 3)) * -1 + t3new += np.transpose(tmp114, (1, 2, 0, 5, 4, 3)) + t3new += np.transpose(tmp114, (2, 1, 0, 3, 4, 5)) + t3new += np.transpose(tmp114, (2, 1, 0, 3, 5, 4)) * -1 + t3new += np.transpose(tmp114, (2, 1, 0, 4, 3, 5)) * -1 + t3new += np.transpose(tmp114, (2, 1, 0, 5, 3, 4)) + t3new += np.transpose(tmp114, (2, 1, 0, 4, 5, 3)) + t3new += np.transpose(tmp114, (2, 1, 0, 5, 4, 3)) * -1 + del tmp114 + tmp115 = einsum(t2, (0, 1, 2, 3), tmp3, (4, 3), (0, 1, 4, 2)) * -1 + del tmp3 + tmp116 = einsum(tmp115, (0, 1, 2, 3), t2, (4, 2, 5, 6), (0, 1, 4, 3, 5, 6)) * -1 + del tmp115 + t3new += np.transpose(tmp116, (1, 0, 2, 3, 5, 4)) + t3new += np.transpose(tmp116, (1, 0, 2, 5, 3, 4)) * -1 + t3new += np.transpose(tmp116, (1, 0, 2, 5, 4, 3)) + t3new += np.transpose(tmp116, (1, 2, 0, 3, 5, 4)) * -1 + t3new += np.transpose(tmp116, (1, 2, 0, 5, 3, 4)) + t3new += np.transpose(tmp116, (1, 2, 0, 5, 4, 3)) * -1 + t3new += np.transpose(tmp116, (2, 1, 0, 3, 5, 4)) + t3new += np.transpose(tmp116, (2, 1, 0, 5, 3, 4)) * -1 + t3new += np.transpose(tmp116, (2, 1, 0, 5, 4, 3)) + del tmp116 + tmp117 = einsum(tmp6, (0, 1), t3, (2, 3, 0, 4, 5, 6), (2, 3, 1, 4, 5, 6)) * -1 + del tmp6 + t3new += np.transpose(tmp117, (1, 0, 2, 4, 5, 3)) * -1 + t3new += np.transpose(tmp117, (1, 2, 0, 4, 5, 3)) + t3new += np.transpose(tmp117, (2, 1, 0, 4, 5, 3)) * -1 + del tmp117 + tmp118 = einsum(tmp43, (0, 1, 2, 3), t2, (4, 1, 5, 6), (4, 0, 2, 5, 6, 3)) + del tmp43 + t3new += np.transpose(tmp118, (0, 1, 2, 4, 3, 5)) * -1 + t3new += np.transpose(tmp118, (0, 1, 2, 4, 5, 3)) + t3new += np.transpose(tmp118, (0, 1, 2, 5, 4, 3)) * -1 + t3new += np.transpose(tmp118, (0, 2, 1, 4, 3, 5)) + t3new += np.transpose(tmp118, (0, 2, 1, 4, 5, 3)) * -1 + t3new += np.transpose(tmp118, (0, 2, 1, 5, 4, 3)) + t3new += np.transpose(tmp118, (1, 0, 2, 4, 3, 5)) + t3new += np.transpose(tmp118, (1, 0, 2, 4, 5, 3)) * -1 + t3new += np.transpose(tmp118, (1, 0, 2, 5, 4, 3)) + t3new += np.transpose(tmp118, (2, 0, 1, 4, 3, 5)) * -1 + t3new += np.transpose(tmp118, (2, 0, 1, 4, 5, 3)) + t3new += np.transpose(tmp118, (2, 0, 1, 5, 4, 3)) * -1 + t3new += np.transpose(tmp118, (1, 2, 0, 4, 3, 5)) * -1 + t3new += np.transpose(tmp118, (1, 2, 0, 4, 5, 3)) + t3new += np.transpose(tmp118, (1, 2, 0, 5, 4, 3)) * -1 + t3new += np.transpose(tmp118, (2, 1, 0, 4, 3, 5)) + t3new += np.transpose(tmp118, (2, 1, 0, 4, 5, 3)) * -1 + t3new += np.transpose(tmp118, (2, 1, 0, 5, 4, 3)) + del tmp118 + tmp119 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp23, (6, 2, 1, 7), (6, 0, 7, 3, 4, 5)) * -1 + t3new += np.transpose(tmp119, (0, 1, 2, 4, 5, 3)) * 0.5 + t3new += np.transpose(tmp119, (0, 2, 1, 4, 5, 3)) * -0.5 + t3new += np.transpose(tmp119, (1, 0, 2, 4, 5, 3)) * -0.5 + t3new += np.transpose(tmp119, (2, 0, 1, 4, 5, 3)) * 0.5 + t3new += np.transpose(tmp119, (1, 2, 0, 4, 5, 3)) * 0.5 + t3new += np.transpose(tmp119, (2, 1, 0, 4, 5, 3)) * -0.5 + del tmp119 + tmp120 = einsum(t1, (0, 1), tmp23, (2, 3, 0, 4), (2, 3, 4, 1)) + del tmp23 + tmp121 = einsum(tmp120, (0, 1, 2, 3), t2, (4, 1, 5, 6), (0, 4, 2, 3, 5, 6)) * -1 + del tmp120 + t3new += np.transpose(tmp121, (0, 1, 2, 3, 5, 4)) + t3new += np.transpose(tmp121, (0, 1, 2, 5, 3, 4)) * -1 + t3new += np.transpose(tmp121, (0, 1, 2, 5, 4, 3)) + t3new += np.transpose(tmp121, (0, 2, 1, 3, 5, 4)) * -1 + t3new += np.transpose(tmp121, (0, 2, 1, 5, 3, 4)) + t3new += np.transpose(tmp121, (0, 2, 1, 5, 4, 3)) * -1 + t3new += np.transpose(tmp121, (1, 0, 2, 3, 5, 4)) * -1 + t3new += np.transpose(tmp121, (1, 0, 2, 5, 3, 4)) + t3new += np.transpose(tmp121, (1, 0, 2, 5, 4, 3)) * -1 + t3new += np.transpose(tmp121, (2, 0, 1, 3, 5, 4)) + t3new += np.transpose(tmp121, (2, 0, 1, 5, 3, 4)) * -1 + t3new += np.transpose(tmp121, (2, 0, 1, 5, 4, 3)) + t3new += np.transpose(tmp121, (1, 2, 0, 3, 5, 4)) + t3new += np.transpose(tmp121, (1, 2, 0, 5, 3, 4)) * -1 + t3new += np.transpose(tmp121, (1, 2, 0, 5, 4, 3)) + t3new += np.transpose(tmp121, (2, 1, 0, 3, 5, 4)) * -1 + t3new += np.transpose(tmp121, (2, 1, 0, 5, 3, 4)) + t3new += np.transpose(tmp121, (2, 1, 0, 5, 4, 3)) * -1 + del tmp121 + + return {f"t1new": t1new, f"t2new": t2new, f"t3new": t3new} + +def update_lams(f=None, l1=None, l2=None, l3=None, t1=None, t2=None, t3=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-10-22T10:28:03.000684. + + Parameters + ---------- + f : array + Fock matrix. + l1 : array + L1 amplitudes. + l2 : array + L2 amplitudes. + l3 : array + L3 amplitudes. + t1 : array + T1 amplitudes. + t2 : array + T2 amplitudes. + t3 : array + T3 amplitudes. + v : array + Electron repulsion integrals. + + Returns + ------- + l1new : array + Updated L1 residuals. + l2new : array + Updated L2 residuals. + l3new : array + Updated L3 residuals. + """ + + tmp88 = einsum(t1, (0, 1), l3, (2, 3, 1, 4, 5, 6), (4, 5, 6, 0, 2, 3)) + tmp132 = einsum(f.ov, (0, 1), tmp88, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) + tmp134 = np.copy(np.transpose(tmp132, (1, 2, 0, 3, 5, 4))) + del tmp132 + tmp87 = einsum(l3, (0, 1, 2, 3, 4, 5), v.vvvv, (6, 7, 1, 2), (3, 4, 5, 0, 6, 7)) + tmp134 += np.transpose(tmp87, (1, 2, 0, 3, 5, 4)) * -0.5 + tmp65 = einsum(v.ovvv, (0, 1, 2, 3), l3, (4, 5, 1, 6, 7, 8), (6, 7, 8, 0, 4, 5, 2, 3)) + tmp66 = einsum(t1, (0, 1), tmp65, (2, 3, 4, 0, 5, 1, 6, 7), (4, 2, 3, 5, 6, 7)) + tmp134 += np.transpose(tmp66, (1, 2, 0, 3, 5, 4)) + tmp82 = einsum(l3, (0, 1, 2, 3, 4, 5), t2, (6, 7, 1, 2), (3, 4, 5, 6, 7, 0)) + tmp91 = np.copy(np.transpose(tmp82, (1, 2, 0, 4, 3, 5))) * -0.5 + tmp90 = einsum(tmp88, (0, 1, 2, 3, 4, 5), t1, (6, 5), (0, 1, 2, 3, 6, 4)) * -1 + tmp91 += np.transpose(tmp90, (1, 2, 0, 4, 3, 5)) * -1 + del tmp90 + tmp133 = einsum(tmp91, (0, 1, 2, 3, 4, 5), v.oovv, (3, 4, 6, 7), (0, 1, 2, 6, 7, 5)) * 0.5 + tmp134 += np.transpose(tmp133, (1, 2, 0, 5, 4, 3)) * -1 + del tmp133 + l3new = np.copy(np.transpose(tmp134, (3, 4, 5, 2, 0, 1))) + l3new += np.transpose(tmp134, (4, 3, 5, 2, 0, 1)) * -1 + l3new += np.transpose(tmp134, (4, 5, 3, 2, 0, 1)) + del tmp134 + tmp64 = einsum(l3, (0, 1, 2, 3, 4, 5), v.ovov, (6, 2, 5, 7), (3, 4, 6, 0, 1, 7)) + tmp135 = np.copy(np.transpose(tmp64, (1, 0, 2, 4, 3, 5))) * -1 + tmp51 = einsum(t1, (0, 1), v.oovv, (2, 0, 3, 1), (2, 3)) + tmp135 += einsum(tmp51, (0, 1), l2, (2, 3, 4, 5), (4, 5, 0, 2, 3, 1)) + tmp89 = einsum(tmp88, (0, 1, 2, 3, 4, 5), v.ooov, (6, 3, 1, 7), (0, 2, 6, 4, 5, 7)) * -1 + tmp135 += np.transpose(tmp89, (1, 0, 2, 4, 3, 5)) + tmp104 = einsum(tmp65, (0, 1, 2, 3, 4, 5, 6, 7), t1, (2, 6), (0, 1, 3, 4, 5, 7)) * -1 + del tmp65 + tmp135 += np.transpose(tmp104, (1, 0, 2, 4, 3, 5)) + tmp62 = einsum(t2, (0, 1, 2, 3), l3, (4, 5, 3, 6, 7, 1), (6, 7, 0, 4, 5, 2)) + tmp67 = einsum(v.oovv, (0, 1, 2, 3), tmp62, (4, 5, 1, 6, 7, 3), (4, 5, 0, 6, 7, 2)) + tmp135 += np.transpose(tmp67, (1, 0, 2, 4, 3, 5)) + l3new += np.transpose(tmp135, (3, 4, 5, 0, 1, 2)) + l3new += np.transpose(tmp135, (3, 5, 4, 0, 1, 2)) * -1 + l3new += np.transpose(tmp135, (5, 3, 4, 0, 1, 2)) + l3new += np.transpose(tmp135, (3, 4, 5, 0, 2, 1)) * -1 + l3new += np.transpose(tmp135, (3, 5, 4, 0, 2, 1)) + l3new += np.transpose(tmp135, (5, 3, 4, 0, 2, 1)) * -1 + l3new += np.transpose(tmp135, (3, 4, 5, 2, 0, 1)) + l3new += np.transpose(tmp135, (3, 5, 4, 2, 0, 1)) * -1 + l3new += np.transpose(tmp135, (5, 3, 4, 2, 0, 1)) + del tmp135 + tmp136 = einsum(tmp88, (0, 1, 2, 3, 4, 5), tmp51, (3, 6), (0, 1, 2, 4, 5, 6)) + tmp139 = np.copy(np.transpose(tmp136, (1, 2, 0, 4, 3, 5))) * -1 + del tmp136 + tmp53 = einsum(v.ovvv, (0, 1, 2, 3), t1, (0, 3), (1, 2)) + tmp137 = np.copy(tmp53) + tmp54 = einsum(v.oovv, (0, 1, 2, 3), t2, (0, 1, 4, 3), (4, 2)) + tmp137 += tmp54 * 0.5 + tmp138 = einsum(tmp137, (0, 1), l3, (2, 3, 0, 4, 5, 6), (4, 5, 6, 2, 3, 1)) + del tmp137 + tmp139 += np.transpose(tmp138, (1, 2, 0, 3, 4, 5)) + del tmp138 + l3new += np.transpose(tmp139, (3, 4, 5, 2, 0, 1)) * -1 + l3new += np.transpose(tmp139, (3, 5, 4, 2, 0, 1)) + l3new += np.transpose(tmp139, (5, 3, 4, 2, 0, 1)) * -1 + del tmp139 + tmp140 = np.copy(v.oooo) * -0.5 + tmp40 = einsum(v.ooov, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) + tmp140 += np.transpose(tmp40, (3, 0, 2, 1)) + tmp15 = einsum(v.oovv, (0, 1, 2, 3), t2, (4, 5, 2, 3), (4, 5, 0, 1)) + tmp140 += np.transpose(tmp15, (1, 0, 3, 2)) * -0.25 + tmp8 = einsum(t1, (0, 1), v.oovv, (2, 3, 4, 1), (0, 2, 3, 4)) + tmp129 = einsum(tmp8, (0, 1, 2, 3), t1, (4, 3), (0, 4, 1, 2)) * -1 + tmp140 += np.transpose(tmp129, (1, 0, 3, 2)) * -0.5 + tmp141 = einsum(tmp140, (0, 1, 2, 3), l3, (4, 5, 6, 7, 1, 0), (7, 2, 3, 4, 5, 6)) + del tmp140 + tmp143 = np.copy(np.transpose(tmp141, (0, 1, 2, 4, 5, 3))) * -1 + del tmp141 + tmp111 = np.copy(f.oo) + tmp110 = einsum(t1, (0, 1), f.ov, (2, 1), (2, 0)) + tmp111 += np.transpose(tmp110, (1, 0)) + del tmp110 + tmp142 = einsum(l3, (0, 1, 2, 3, 4, 5), tmp111, (5, 6), (3, 4, 6, 0, 1, 2)) * -1 + tmp143 += np.transpose(tmp142, (2, 1, 0, 4, 5, 3)) + del tmp142 + l3new += np.transpose(tmp143, (5, 3, 4, 0, 1, 2)) * -1 + l3new += np.transpose(tmp143, (5, 3, 4, 1, 0, 2)) + l3new += np.transpose(tmp143, (5, 3, 4, 1, 2, 0)) * -1 + del tmp143 + tmp21 = einsum(t1, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2)) + tmp144 = np.copy(np.transpose(tmp21, (1, 0, 2, 3))) * -2 + tmp6 = einsum(l3, (0, 1, 2, 3, 4, 5), t2, (6, 5, 1, 2), (3, 4, 6, 0)) + tmp144 += np.transpose(tmp6, (1, 0, 2, 3)) * -1 + tmp145 = einsum(tmp144, (0, 1, 2, 3), v.oovv, (4, 2, 5, 6), (4, 0, 1, 5, 6, 3)) * -0.5 + del tmp144 + l3new += np.transpose(tmp145, (5, 4, 3, 2, 1, 0)) * -1 + l3new += np.transpose(tmp145, (4, 5, 3, 2, 1, 0)) + l3new += np.transpose(tmp145, (4, 3, 5, 2, 1, 0)) * -1 + l3new += np.transpose(tmp145, (5, 4, 3, 2, 0, 1)) + l3new += np.transpose(tmp145, (4, 5, 3, 2, 0, 1)) * -1 + l3new += np.transpose(tmp145, (4, 3, 5, 2, 0, 1)) + l3new += np.transpose(tmp145, (5, 4, 3, 0, 2, 1)) * -1 + l3new += np.transpose(tmp145, (4, 5, 3, 0, 2, 1)) + l3new += np.transpose(tmp145, (4, 3, 5, 0, 2, 1)) * -1 + del tmp145 + tmp0 = einsum(l3, (0, 1, 2, 3, 4, 5), t2, (4, 5, 6, 2), (3, 0, 1, 6)) + tmp33 = einsum(v.oovv, (0, 1, 2, 3), tmp0, (4, 5, 6, 3), (4, 0, 1, 5, 6, 2)) * -1 + tmp148 = np.copy(np.transpose(tmp33, (0, 2, 1, 4, 3, 5))) * 0.5 + tmp146 = np.copy(v.ooov) + tmp146 += np.transpose(tmp8, (2, 1, 0, 3)) + tmp147 = einsum(l2, (0, 1, 2, 3), tmp146, (4, 5, 3, 6), (2, 4, 5, 0, 1, 6)) * -1 + del tmp146 + tmp148 += np.transpose(tmp147, (0, 2, 1, 4, 3, 5)) * -1 + del tmp147 + l3new += np.transpose(tmp148, (3, 4, 5, 0, 1, 2)) * -1 + l3new += np.transpose(tmp148, (3, 5, 4, 0, 1, 2)) + l3new += np.transpose(tmp148, (5, 3, 4, 0, 1, 2)) * -1 + l3new += np.transpose(tmp148, (3, 4, 5, 1, 0, 2)) + l3new += np.transpose(tmp148, (3, 5, 4, 1, 0, 2)) * -1 + l3new += np.transpose(tmp148, (5, 3, 4, 1, 0, 2)) + l3new += np.transpose(tmp148, (3, 4, 5, 1, 2, 0)) * -1 + l3new += np.transpose(tmp148, (3, 5, 4, 1, 2, 0)) + l3new += np.transpose(tmp148, (5, 3, 4, 1, 2, 0)) * -1 + del tmp148 + tmp57 = einsum(t1, (0, 1), v.ooov, (2, 0, 3, 1), (2, 3)) + tmp149 = np.copy(tmp57) * 2 + tmp58 = einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 2, 3), (0, 4)) + tmp149 += np.transpose(tmp58, (1, 0)) + tmp74 = einsum(tmp51, (0, 1), t1, (2, 1), (2, 0)) + tmp149 += np.transpose(tmp74, (1, 0)) * 2 + tmp150 = einsum(l3, (0, 1, 2, 3, 4, 5), tmp149, (6, 5), (3, 4, 6, 0, 1, 2)) * -0.5 + del tmp149 + l3new += np.transpose(tmp150, (3, 4, 5, 1, 0, 2)) * -1 + l3new += np.transpose(tmp150, (3, 4, 5, 1, 2, 0)) + l3new += np.transpose(tmp150, (3, 4, 5, 2, 1, 0)) * -1 + del tmp150 + tmp105 = einsum(tmp8, (0, 1, 2, 3), tmp88, (0, 4, 5, 2, 6, 7), (4, 5, 1, 6, 7, 3)) + del tmp88 + l3new += np.transpose(tmp105, (4, 3, 5, 1, 0, 2)) * -1 + l3new += np.transpose(tmp105, (4, 5, 3, 1, 0, 2)) + l3new += np.transpose(tmp105, (5, 4, 3, 1, 0, 2)) * -1 + l3new += np.transpose(tmp105, (4, 3, 5, 1, 2, 0)) + l3new += np.transpose(tmp105, (4, 5, 3, 1, 2, 0)) * -1 + l3new += np.transpose(tmp105, (5, 4, 3, 1, 2, 0)) + l3new += np.transpose(tmp105, (4, 3, 5, 2, 1, 0)) * -1 + l3new += np.transpose(tmp105, (4, 5, 3, 2, 1, 0)) + l3new += np.transpose(tmp105, (5, 4, 3, 2, 1, 0)) * -1 + tmp151 = einsum(l2, (0, 1, 2, 3), f.ov, (4, 5), (4, 2, 3, 5, 0, 1)) + tmp151 += einsum(l1, (0, 1), v.oovv, (2, 3, 4, 5), (1, 2, 3, 0, 4, 5)) + l3new += np.transpose(tmp151, (3, 4, 5, 0, 1, 2)) + l3new += np.transpose(tmp151, (4, 3, 5, 0, 1, 2)) * -1 + l3new += np.transpose(tmp151, (4, 5, 3, 0, 1, 2)) + l3new += np.transpose(tmp151, (3, 4, 5, 1, 0, 2)) * -1 + l3new += np.transpose(tmp151, (4, 3, 5, 1, 0, 2)) + l3new += np.transpose(tmp151, (4, 5, 3, 1, 0, 2)) * -1 + l3new += np.transpose(tmp151, (3, 4, 5, 1, 2, 0)) + l3new += np.transpose(tmp151, (4, 3, 5, 1, 2, 0)) * -1 + l3new += np.transpose(tmp151, (4, 5, 3, 1, 2, 0)) + del tmp151 + tmp152 = einsum(f.vv, (0, 1), l3, (2, 3, 1, 4, 5, 6), (4, 5, 6, 0, 2, 3)) + l3new += np.transpose(tmp152, (3, 5, 4, 1, 2, 0)) * -1 + l3new += np.transpose(tmp152, (5, 3, 4, 1, 2, 0)) + l3new += np.transpose(tmp152, (5, 4, 3, 1, 2, 0)) * -1 + del tmp152 + tmp38 = einsum(v.ovvv, (0, 1, 2, 3), l2, (4, 1, 5, 6), (5, 6, 0, 4, 2, 3)) + l3new += np.transpose(tmp38, (3, 5, 4, 1, 0, 2)) * -1 + l3new += np.transpose(tmp38, (5, 3, 4, 1, 0, 2)) + l3new += np.transpose(tmp38, (5, 4, 3, 1, 0, 2)) * -1 + l3new += np.transpose(tmp38, (3, 5, 4, 1, 2, 0)) + l3new += np.transpose(tmp38, (5, 3, 4, 1, 2, 0)) * -1 + l3new += np.transpose(tmp38, (5, 4, 3, 1, 2, 0)) + l3new += np.transpose(tmp38, (3, 5, 4, 2, 1, 0)) * -1 + l3new += np.transpose(tmp38, (5, 3, 4, 2, 1, 0)) + l3new += np.transpose(tmp38, (5, 4, 3, 2, 1, 0)) * -1 + l1new = einsum(v.vvvv, (0, 1, 2, 3), tmp0, (4, 3, 2, 1), (0, 4)) * -0.25 + tmp1 = einsum(t2, (0, 1, 2, 3), l2, (4, 3, 0, 1), (4, 2)) + l1new += einsum(tmp1, (0, 1), v.ovvv, (2, 0, 3, 1), (3, 2)) * 0.5 + tmp2 = einsum(t3, (0, 1, 2, 3, 4, 5), l3, (6, 4, 5, 7, 1, 2), (7, 0, 6, 3)) + l1new += einsum(v.ooov, (0, 1, 2, 3), tmp2, (2, 1, 4, 3), (4, 0)) * -0.25 + tmp3 = einsum(t3, (0, 1, 2, 3, 4, 5), l3, (3, 4, 5, 6, 1, 2), (6, 0)) + l1new += einsum(tmp3, (0, 1), v.ooov, (2, 1, 0, 3), (3, 2)) * 0.08333333333333 + tmp4 = einsum(t3, (0, 1, 2, 3, 4, 5), l3, (6, 4, 5, 0, 1, 2), (6, 3)) + l1new += einsum(tmp4, (0, 1), v.ovvv, (2, 0, 3, 1), (3, 2)) * 0.08333333333333 + tmp5 = einsum(l3, (0, 1, 2, 3, 4, 5), t3, (3, 4, 5, 6, 7, 2), (0, 1, 6, 7)) + l1new += einsum(v.ovvv, (0, 1, 2, 3), tmp5, (4, 1, 3, 2), (4, 0)) * 0.08333333333333 + l1new += einsum(tmp2, (0, 1, 2, 3), v.ovvv, (1, 2, 4, 3), (4, 0)) * -0.25 + l1new += einsum(v.ovov, (0, 1, 2, 3), tmp6, (4, 2, 0, 1), (3, 4)) * -0.5 + l1new += einsum(v.ovov, (0, 1, 2, 3), tmp0, (2, 4, 1, 3), (4, 0)) * -0.5 + l1new += np.transpose(f.ov, (1, 0)) + tmp7 = einsum(t2, (0, 1, 2, 3), tmp0, (1, 4, 3, 5), (0, 4, 5, 2)) * -1 + l1new += einsum(tmp7, (0, 1, 2, 3), v.oovv, (4, 0, 2, 3), (1, 4)) * -0.5 + del tmp7 + l1new += einsum(tmp8, (0, 1, 2, 3), tmp3, (0, 2), (3, 1)) * -0.08333333333333 + tmp9 = np.copy(np.transpose(v.ovvv, (0, 2, 3, 1))) * -0.5 + tmp9 += einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 0, 5, 3), (4, 5, 1, 2)) + l1new += einsum(l2, (0, 1, 2, 3), tmp9, (3, 0, 1, 4), (4, 2)) + del tmp9 + tmp13 = np.copy(np.transpose(v.ooov, (0, 2, 1, 3))) * -0.5 + tmp10 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 1, 5, 3), (0, 4, 5, 2)) + tmp13 += tmp10 + tmp11 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 5, 2, 3), (4, 5, 0, 1)) + tmp13 += np.transpose(tmp11, (1, 2, 0, 3)) * 0.25 + tmp12 = einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 1, 6, 2, 3), (4, 5, 0, 6)) + tmp13 += np.transpose(tmp12, (1, 2, 0, 3)) * -0.25 + l1new += einsum(tmp13, (0, 1, 2, 3), l2, (4, 3, 0, 2), (4, 1)) + del tmp13 + tmp14 = einsum(t3, (0, 1, 2, 3, 4, 5), l2, (4, 5, 6, 2), (6, 0, 1, 3)) + tmp14 += einsum(tmp0, (0, 1, 2, 3), t2, (4, 5, 2, 1), (0, 4, 5, 3)) * -0.5 + tmp14 += einsum(tmp6, (0, 1, 2, 3), t2, (4, 1, 5, 3), (0, 4, 2, 5)) * -2 + l1new += einsum(tmp14, (0, 1, 2, 3), v.oovv, (1, 2, 4, 3), (4, 0)) * 0.25 + del tmp14 + tmp16 = np.copy(v.oooo) + tmp16 += np.transpose(tmp15, (1, 0, 3, 2)) * 0.5 + l1new += einsum(tmp16, (0, 1, 2, 3), tmp6, (0, 1, 3, 4), (4, 2)) * 0.25 + del tmp16 + tmp17 = einsum(t2, (0, 1, 2, 3), l2, (2, 3, 4, 5), (4, 5, 0, 1)) + tmp19 = np.copy(np.transpose(tmp17, (1, 0, 3, 2))) + tmp18 = einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 7, 5, 0, 1, 2), (3, 4, 6, 7)) + tmp19 += np.transpose(tmp18, (1, 0, 3, 2)) * 0.33333333333332 + l1new += einsum(tmp19, (0, 1, 2, 3), v.ooov, (2, 3, 0, 4), (4, 1)) * 0.25 + del tmp19 + tmp44 = np.copy(v.oovv) * -2 + tmp20 = einsum(l2, (0, 1, 2, 3), v.vvvv, (4, 5, 0, 1), (2, 3, 4, 5)) + tmp44 += np.transpose(tmp20, (1, 0, 3, 2)) * -1 + tmp22 = einsum(tmp21, (0, 1, 2, 3), v.ooov, (4, 2, 1, 5), (0, 4, 3, 5)) + tmp44 += np.transpose(tmp22, (1, 0, 2, 3)) + tmp23 = einsum(tmp0, (0, 1, 2, 3), v.ooov, (4, 5, 0, 3), (4, 5, 1, 2)) * -1 + tmp44 += np.transpose(tmp23, (0, 1, 3, 2)) * -1 + tmp24 = einsum(v.ovvv, (0, 1, 2, 3), tmp6, (4, 5, 0, 1), (5, 4, 2, 3)) + tmp44 += np.transpose(tmp24, (0, 1, 3, 2)) * -1 + tmp25 = einsum(v.oovv, (0, 1, 2, 3), tmp5, (4, 5, 3, 2), (0, 1, 4, 5)) * -1 + del tmp5 + tmp44 += np.transpose(tmp25, (0, 1, 3, 2)) * 0.16666666666666 + tmp26 = einsum(v.ooov, (0, 1, 2, 3), tmp6, (4, 2, 1, 5), (4, 0, 5, 3)) + tmp32 = np.copy(tmp26) + tmp27 = einsum(v.ovvv, (0, 1, 2, 3), tmp0, (4, 5, 1, 3), (4, 0, 5, 2)) + tmp32 += tmp27 + tmp28 = einsum(v.oovv, (0, 1, 2, 3), tmp2, (4, 1, 5, 3), (4, 0, 5, 2)) + del tmp2 + tmp32 += tmp28 * 0.5 + tmp30 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1))) * -1 + tmp29 = einsum(v.oovv, (0, 1, 2, 3), t2, (4, 1, 5, 3), (4, 0, 5, 2)) + tmp30 += tmp29 + tmp31 = einsum(tmp30, (0, 1, 2, 3), l2, (4, 2, 5, 0), (5, 1, 4, 3)) * 2 + del tmp30 + tmp32 += tmp31 + del tmp31 + tmp44 += np.transpose(tmp32, (0, 1, 3, 2)) + tmp44 += np.transpose(tmp32, (1, 0, 2, 3)) + del tmp32 + tmp34 = einsum(t1, (0, 1), tmp33, (2, 0, 3, 1, 4, 5), (2, 3, 4, 5)) + tmp44 += np.transpose(tmp34, (0, 1, 3, 2)) + tmp44 += np.transpose(tmp34, (1, 0, 2, 3)) * 0.5 + tmp37 = np.copy(np.transpose(tmp17, (1, 0, 3, 2))) * 3 + tmp35 = einsum(tmp21, (0, 1, 2, 3), t1, (4, 3), (0, 1, 2, 4)) * -1 + tmp37 += np.transpose(tmp35, (1, 0, 3, 2)) * 6 + tmp37 += np.transpose(tmp18, (1, 0, 3, 2)) + tmp36 = einsum(t1, (0, 1), tmp6, (2, 3, 4, 1), (2, 3, 0, 4)) + tmp37 += np.transpose(tmp36, (1, 0, 3, 2)) * 6 + tmp44 += einsum(tmp37, (0, 1, 2, 3), v.oovv, (2, 3, 4, 5), (1, 0, 4, 5)) * 0.16666666666666 + del tmp37 + tmp39 = np.copy(np.transpose(tmp38, (1, 0, 2, 3, 5, 4))) + tmp39 += np.transpose(tmp38, (2, 1, 0, 5, 3, 4)) * -2 + tmp44 += einsum(t1, (0, 1), tmp39, (0, 2, 3, 4, 1, 5), (2, 3, 5, 4)) + del tmp39 + tmp41 = np.copy(v.oooo) * -0.5 + tmp41 += np.transpose(tmp40, (3, 0, 2, 1)) + tmp41 += np.transpose(tmp15, (1, 0, 3, 2)) * -0.25 + tmp44 += einsum(l2, (0, 1, 2, 3), tmp41, (2, 3, 4, 5), (4, 5, 0, 1)) * 2 + del tmp41 + tmp42 = np.copy(np.transpose(tmp21, (1, 0, 2, 3))) * -1 + tmp42 += np.transpose(tmp6, (1, 0, 2, 3)) * -0.5 + tmp44 += einsum(tmp8, (0, 1, 2, 3), tmp42, (0, 4, 1, 5), (4, 2, 3, 5)) * -1 + tmp43 = np.copy(tmp1) * 6 + del tmp1 + tmp43 += tmp4 + del tmp4 + tmp44 += einsum(tmp43, (0, 1), v.oovv, (2, 3, 4, 1), (2, 3, 0, 4)) * -0.16666666666666 + l1new += einsum(t1, (0, 1), tmp44, (0, 2, 1, 3), (3, 2)) * -0.5 + del tmp44 + tmp45 = np.copy(np.transpose(v.ovov, (0, 2, 1, 3))) * -1 + tmp45 += einsum(t1, (0, 1), v.ovvv, (2, 3, 4, 1), (0, 2, 4, 3)) + tmp45 += np.transpose(tmp29, (0, 1, 3, 2)) + l1new += einsum(l1, (0, 1), tmp45, (1, 2, 3, 0), (3, 2)) + del tmp45 + tmp46 = einsum(l2, (0, 1, 2, 3), t3, (4, 2, 3, 5, 0, 1), (4, 5)) + tmp46 += einsum(t2, (0, 1, 2, 3), tmp6, (1, 0, 4, 3), (4, 2)) * -1 + l1new += einsum(tmp46, (0, 1), v.oovv, (2, 0, 3, 1), (3, 2)) * 0.25 + del tmp46 + tmp50 = np.copy(v.ooov) + tmp50 += np.transpose(tmp8, (2, 1, 0, 3)) + tmp47 = einsum(t1, (0, 1), l1, (1, 2), (2, 0)) + tmp49 = np.copy(tmp47) + tmp48 = einsum(l2, (0, 1, 2, 3), t2, (4, 3, 0, 1), (2, 4)) + tmp49 += tmp48 * 0.5 + l1new += einsum(tmp50, (0, 1, 2, 3), tmp49, (2, 0), (3, 1)) * -1 + del tmp50 + tmp52 = np.copy(f.ov) + tmp52 += tmp51 + l1new += einsum(tmp52, (0, 1), tmp43, (2, 1), (2, 0)) * -0.08333333333333 + tmp55 = np.copy(f.vv) * -1 + tmp55 += tmp53 + tmp55 += tmp54 * 0.5 + l1new += einsum(tmp55, (0, 1), l1, (0, 2), (1, 2)) * -1 + del tmp55 + tmp56 = np.copy(tmp47) * 2 + del tmp47 + tmp56 += tmp48 + del tmp48 + tmp56 += tmp3 * 0.16666666666666 + l1new += einsum(tmp56, (0, 1), tmp52, (1, 2), (2, 0)) * -0.5 + del tmp56 + tmp59 = np.copy(f.oo) * 2 + tmp59 += np.transpose(tmp57, (1, 0)) * 2 + tmp59 += tmp58 + tmp59 += einsum(tmp52, (0, 1), t1, (2, 1), (2, 0)) * 2 + del tmp52 + l1new += einsum(tmp59, (0, 1), l1, (2, 0), (2, 1)) * -0.5 + del tmp59 + l2new = np.copy(np.transpose(tmp20, (3, 2, 1, 0))) * 0.5 + del tmp20 + l2new += np.transpose(tmp23, (2, 3, 1, 0)) * 0.5 + del tmp23 + l2new += np.transpose(v.oovv, (2, 3, 0, 1)) + l2new += np.transpose(tmp25, (2, 3, 1, 0)) * -0.08333333333333 + del tmp25 + l2new += np.transpose(tmp24, (2, 3, 1, 0)) * 0.5 + del tmp24 + tmp60 = einsum(l2, (0, 1, 2, 3), f.vv, (4, 1), (2, 3, 4, 0)) + tmp70 = np.copy(np.transpose(tmp60, (1, 0, 2, 3))) * -1 + del tmp60 + tmp61 = einsum(tmp21, (0, 1, 2, 3), tmp51, (2, 4), (0, 1, 3, 4)) + tmp70 += np.transpose(tmp61, (1, 0, 2, 3)) * -1 + del tmp61 + tmp63 = einsum(tmp62, (0, 1, 2, 3, 4, 5), v.ovvv, (2, 4, 6, 5), (0, 1, 3, 6)) * -1 + del tmp62 + tmp70 += tmp63 * -1 + del tmp63 + tmp68 = np.copy(np.transpose(tmp64, (1, 0, 2, 4, 3, 5))) + tmp68 += np.transpose(tmp66, (1, 2, 0, 5, 3, 4)) + del tmp66 + tmp68 += np.transpose(tmp67, (1, 0, 2, 4, 3, 5)) * -1 + tmp69 = einsum(t1, (0, 1), tmp68, (2, 3, 0, 1, 4, 5), (2, 3, 4, 5)) + del tmp68 + tmp70 += np.transpose(tmp69, (1, 0, 2, 3)) * -1 + del tmp69 + l2new += np.transpose(tmp70, (2, 3, 0, 1)) * -1 + l2new += np.transpose(tmp70, (3, 2, 0, 1)) + del tmp70 + tmp71 = einsum(tmp29, (0, 1, 2, 3), l2, (4, 2, 5, 0), (5, 1, 4, 3)) + del tmp29 + tmp73 = np.copy(tmp71) + del tmp71 + tmp72 = einsum(tmp21, (0, 1, 2, 3), tmp8, (0, 4, 2, 5), (1, 4, 3, 5)) * -1 + del tmp21 + tmp73 += tmp72 * -1 + del tmp72 + l2new += np.transpose(tmp73, (2, 3, 0, 1)) + l2new += np.transpose(tmp73, (3, 2, 0, 1)) * -1 + l2new += np.transpose(tmp73, (2, 3, 1, 0)) * -1 + l2new += np.transpose(tmp73, (3, 2, 1, 0)) + del tmp73 + tmp75 = einsum(tmp74, (0, 1), l2, (2, 3, 4, 0), (4, 1, 2, 3)) + del tmp74 + tmp79 = np.copy(np.transpose(tmp75, (0, 1, 3, 2))) * -1 + del tmp75 + tmp77 = np.copy(np.transpose(tmp64, (1, 0, 2, 4, 3, 5))) + del tmp64 + tmp76 = einsum(l3, (0, 1, 2, 3, 4, 5), tmp40, (4, 6, 7, 5), (3, 6, 7, 0, 1, 2)) + tmp77 += np.transpose(tmp76, (2, 0, 1, 4, 5, 3)) + del tmp76 + tmp77 += np.transpose(tmp67, (1, 0, 2, 4, 3, 5)) * -1 + del tmp67 + tmp78 = einsum(t1, (0, 1), tmp77, (0, 2, 3, 4, 5, 1), (2, 3, 4, 5)) + del tmp77 + tmp79 += np.transpose(tmp78, (0, 1, 3, 2)) * -1 + del tmp78 + l2new += np.transpose(tmp79, (2, 3, 0, 1)) * -1 + l2new += np.transpose(tmp79, (2, 3, 1, 0)) + del tmp79 + tmp80 = einsum(v.ovvv, (0, 1, 2, 3), l3, (4, 2, 3, 5, 6, 0), (5, 6, 4, 1)) + tmp99 = np.copy(np.transpose(tmp80, (1, 0, 2, 3))) * -0.5 + del tmp80 + tmp81 = einsum(l2, (0, 1, 2, 3), tmp54, (1, 4), (2, 3, 0, 4)) + del tmp54 + tmp99 += np.transpose(tmp81, (1, 0, 2, 3)) * -0.5 + del tmp81 + tmp83 = einsum(tmp82, (0, 1, 2, 3, 4, 5), v.ovoo, (2, 6, 4, 3), (1, 0, 5, 6)) + del tmp82 + tmp99 += tmp83 * 0.25 + del tmp83 + tmp84 = einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 7, 5, 8, 1, 2), (3, 4, 6, 7, 0, 8)) + tmp85 = einsum(tmp84, (0, 1, 2, 3, 4, 5), v.oovv, (3, 2, 6, 5), (0, 1, 4, 6)) * -1 + del tmp84 + tmp99 += tmp85 * -0.24999999999999 + del tmp85 + tmp86 = einsum(tmp6, (0, 1, 2, 3), tmp51, (2, 4), (0, 1, 3, 4)) + tmp99 += np.transpose(tmp86, (1, 0, 2, 3)) * -0.5 + del tmp86 + tmp93 = np.copy(np.transpose(tmp87, (1, 2, 0, 3, 5, 4))) * -1 + del tmp87 + tmp93 += np.transpose(tmp89, (2, 1, 0, 4, 3, 5)) + del tmp89 + tmp92 = einsum(tmp91, (0, 1, 2, 3, 4, 5), v.oovv, (3, 4, 6, 7), (0, 1, 2, 6, 7, 5)) + del tmp91 + tmp93 += np.transpose(tmp92, (1, 2, 0, 5, 4, 3)) * -1 + del tmp92 + tmp94 = einsum(tmp93, (0, 1, 2, 3, 4, 5), t1, (0, 4), (1, 2, 3, 5)) * 0.5 + del tmp93 + tmp99 += tmp94 + del tmp94 + tmp95 = einsum(tmp43, (0, 1), v.oovv, (2, 3, 4, 1), (2, 3, 4, 0)) * -0.08333333333333 + del tmp43 + tmp99 += np.transpose(tmp95, (1, 0, 3, 2)) * -1 + del tmp95 + tmp96 = einsum(tmp42, (0, 1, 2, 3), f.ov, (2, 4), (0, 1, 3, 4)) + del tmp42 + tmp99 += np.transpose(tmp96, (1, 0, 3, 2)) + del tmp96 + tmp97 = np.copy(np.transpose(v.ovoo, (0, 2, 3, 1))) * -1 + tmp97 += np.transpose(tmp8, (0, 2, 1, 3)) * -1 + tmp98 = einsum(tmp97, (0, 1, 2, 3), l1, (4, 0), (1, 2, 4, 3)) + del tmp97 + tmp99 += np.transpose(tmp98, (1, 0, 2, 3)) + del tmp98 + l2new += np.transpose(tmp99, (2, 3, 0, 1)) * -1 + l2new += np.transpose(tmp99, (3, 2, 0, 1)) + del tmp99 + tmp100 = einsum(v.ovvv, (0, 1, 2, 3), l1, (1, 4), (4, 0, 2, 3)) + tmp116 = np.copy(np.transpose(tmp100, (0, 1, 3, 2))) * -1 + del tmp100 + tmp101 = einsum(l3, (0, 1, 2, 3, 4, 5), v.ovoo, (6, 2, 4, 5), (3, 6, 0, 1)) + tmp116 += np.transpose(tmp101, (0, 1, 3, 2)) * -0.5 + del tmp101 + tmp102 = einsum(tmp0, (0, 1, 2, 3), f.ov, (4, 3), (4, 0, 1, 2)) + tmp116 += np.transpose(tmp102, (0, 1, 3, 2)) * 0.5 + del tmp102 + tmp103 = einsum(tmp51, (0, 1), tmp0, (2, 3, 4, 1), (2, 0, 3, 4)) + del tmp0 + tmp116 += np.transpose(tmp103, (0, 1, 3, 2)) * -0.5 + del tmp103 + tmp108 = np.copy(np.transpose(tmp104, (1, 0, 2, 5, 4, 3))) + del tmp104 + tmp108 += np.transpose(tmp105, (1, 0, 2, 5, 4, 3)) * -1 + del tmp105 + tmp106 = np.copy(v.oooo) * 2 + tmp106 += np.transpose(tmp15, (1, 0, 3, 2)) + tmp107 = einsum(tmp106, (0, 1, 2, 3), l3, (4, 5, 6, 7, 1, 0), (7, 2, 3, 4, 5, 6)) * 0.5 + del tmp106 + tmp108 += np.transpose(tmp107, (0, 1, 2, 4, 5, 3)) * -1 + del tmp107 + tmp109 = einsum(tmp108, (0, 1, 2, 3, 4, 5), t1, (1, 3), (0, 2, 4, 5)) * 0.5 + del tmp108 + tmp116 += tmp109 + del tmp109 + tmp112 = einsum(tmp111, (0, 1), l2, (2, 3, 4, 0), (4, 1, 2, 3)) * -1 + del tmp111 + tmp116 += np.transpose(tmp112, (1, 0, 3, 2)) * -1 + del tmp112 + tmp113 = einsum(v.oovv, (0, 1, 2, 3), tmp49, (4, 1), (0, 4, 2, 3)) * -1 + del tmp49 + tmp116 += np.transpose(tmp113, (1, 0, 3, 2)) * -1 + del tmp113 + tmp114 = np.copy(tmp57) * 2 + del tmp57 + tmp114 += np.transpose(tmp58, (1, 0)) + del tmp58 + tmp115 = einsum(l2, (0, 1, 2, 3), tmp114, (4, 3), (2, 4, 0, 1)) * -0.5 + del tmp114 + tmp116 += np.transpose(tmp115, (0, 1, 3, 2)) + del tmp115 + l2new += np.transpose(tmp116, (2, 3, 0, 1)) * -1 + l2new += np.transpose(tmp116, (2, 3, 1, 0)) + del tmp116 + tmp118 = np.copy(tmp22) + del tmp22 + tmp117 = einsum(t1, (0, 1), tmp38, (0, 2, 3, 4, 1, 5), (2, 3, 4, 5)) + tmp118 += tmp117 + del tmp117 + l2new += np.transpose(tmp118, (2, 3, 0, 1)) + l2new += np.transpose(tmp118, (3, 2, 0, 1)) * -1 + l2new += np.transpose(tmp118, (2, 3, 1, 0)) * -1 + l2new += np.transpose(tmp118, (3, 2, 1, 0)) + del tmp118 + tmp119 = einsum(tmp10, (0, 1, 2, 3), l3, (4, 5, 3, 6, 2, 0), (6, 1, 4, 5)) * -1 + del tmp10 + l2new += np.transpose(tmp119, (2, 3, 0, 1)) + l2new += np.transpose(tmp119, (2, 3, 1, 0)) * -1 + del tmp119 + tmp120 = einsum(v.ovov, (0, 1, 2, 3), l2, (4, 1, 5, 2), (5, 0, 4, 3)) + tmp122 = np.copy(tmp120) * -1 + del tmp120 + tmp122 += einsum(tmp51, (0, 1), l1, (2, 3), (3, 0, 2, 1)) + del tmp51 + tmp122 += tmp26 * 0.5 + del tmp26 + tmp122 += tmp27 * 0.5 + del tmp27 + tmp122 += tmp28 * 0.24999999999999 + del tmp28 + tmp121 = einsum(tmp6, (0, 1, 2, 3), tmp8, (0, 4, 2, 5), (1, 4, 3, 5)) + del tmp8, tmp6 + tmp122 += tmp121 * 0.5 + del tmp121 + tmp122 += tmp34 * 0.5 + del tmp34 + l2new += np.transpose(tmp122, (2, 3, 0, 1)) + l2new += np.transpose(tmp122, (3, 2, 0, 1)) * -1 + l2new += np.transpose(tmp122, (2, 3, 1, 0)) * -1 + l2new += np.transpose(tmp122, (3, 2, 1, 0)) + del tmp122 + l2new += einsum(l1, (0, 1), f.ov, (2, 3), (3, 0, 2, 1)) + l2new += einsum(f.ov, (0, 1), l1, (2, 3), (2, 1, 0, 3)) * -1 + l2new += einsum(f.ov, (0, 1), l1, (2, 3), (1, 2, 3, 0)) * -1 + l2new += einsum(l1, (0, 1), f.ov, (2, 3), (0, 3, 1, 2)) + tmp123 = einsum(l2, (0, 1, 2, 3), tmp53, (1, 4), (2, 3, 0, 4)) + del tmp53 + l2new += np.transpose(tmp123, (2, 3, 1, 0)) + l2new += np.transpose(tmp123, (3, 2, 1, 0)) * -1 + del tmp123 + tmp124 = einsum(v.oovv, (0, 1, 2, 3), tmp3, (4, 1), (4, 0, 2, 3)) + del tmp3 + tmp127 = np.copy(np.transpose(tmp124, (0, 1, 3, 2))) * -0.08333333333333 + del tmp124 + tmp125 = np.copy(np.transpose(tmp11, (1, 0, 2, 3))) * -1 + del tmp11 + tmp125 += np.transpose(tmp12, (1, 0, 2, 3)) + del tmp12 + tmp126 = einsum(tmp125, (0, 1, 2, 3), l3, (4, 5, 3, 6, 0, 1), (6, 2, 4, 5)) * -0.24999999999999 + del tmp125 + tmp127 += tmp126 + del tmp126 + l2new += np.transpose(tmp127, (3, 2, 0, 1)) * -1 + l2new += np.transpose(tmp127, (3, 2, 1, 0)) + del tmp127 + tmp128 = np.copy(np.transpose(tmp17, (1, 0, 3, 2))) + del tmp17 + tmp128 += np.transpose(tmp35, (1, 0, 3, 2)) * 2 + del tmp35 + tmp128 += np.transpose(tmp18, (1, 0, 3, 2)) * 0.33333333333332 + del tmp18 + tmp128 += np.transpose(tmp36, (1, 0, 3, 2)) * 2 + del tmp36 + l2new += einsum(v.oovv, (0, 1, 2, 3), tmp128, (4, 5, 0, 1), (2, 3, 5, 4)) * -0.25 + del tmp128 + tmp130 = np.copy(v.oooo) * -2 + tmp130 += np.transpose(tmp40, (3, 0, 2, 1)) * 4 + del tmp40 + tmp130 += np.transpose(tmp15, (1, 0, 3, 2)) * -1 + del tmp15 + tmp130 += np.transpose(tmp129, (1, 0, 3, 2)) * -2 + del tmp129 + l2new += einsum(l2, (0, 1, 2, 3), tmp130, (2, 3, 4, 5), (0, 1, 4, 5)) * -0.25 + del tmp130 + tmp131 = np.copy(np.transpose(tmp38, (1, 0, 2, 3, 5, 4))) + del tmp38 + tmp131 += np.transpose(tmp33, (2, 1, 0, 5, 4, 3)) * 0.5 + del tmp33 + l2new += einsum(t1, (0, 1), tmp131, (2, 3, 0, 1, 4, 5), (5, 4, 3, 2)) * -1 + del tmp131 + + return {f"l1new": l1new, f"l2new": l2new, f"l3new": l3new} + +def make_rdm1_f(l1=None, l2=None, l3=None, t1=None, t2=None, t3=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-10-22T10:28:04.844613. + + Parameters + ---------- + l1 : array + L1 amplitudes. + l2 : array + L2 amplitudes. + l3 : array + L3 amplitudes. + t1 : array + T1 amplitudes. + t2 : array + T2 amplitudes. + t3 : array + T3 amplitudes. + + Returns + ------- + rdm1 : array + One-particle reduced density matrix. + """ + + rdm1 = Namespace() + delta = Namespace( + oo=np.eye(t2.shape[0]), + vv=np.eye(t2.shape[-1]), + ) + rdm1.vo = np.copy(l1) + tmp0 = einsum(t1, (0, 1), l1, (1, 2), (2, 0)) + rdm1.oo = np.copy(np.transpose(tmp0, (1, 0))) * -1 + tmp1 = einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 4, 5, 0, 1, 2), (3, 6)) + rdm1.oo += np.transpose(tmp1, (1, 0)) * -0.08333333333333 + rdm1.oo += delta.oo + del delta + tmp2 = einsum(l2, (0, 1, 2, 3), t2, (4, 3, 0, 1), (2, 4)) + rdm1.oo += np.transpose(tmp2, (1, 0)) * -0.5 + rdm1.vv = einsum(t1, (0, 1), l1, (2, 0), (2, 1)) + rdm1.vv += einsum(t3, (0, 1, 2, 3, 4, 5), l3, (6, 4, 5, 0, 1, 2), (6, 3)) * 0.08333333333333 + rdm1.vv += einsum(t2, (0, 1, 2, 3), l2, (4, 3, 0, 1), (4, 2)) * 0.5 + rdm1.ov = einsum(l2, (0, 1, 2, 3), t3, (4, 2, 3, 5, 0, 1), (4, 5)) * 0.25 + rdm1.ov += einsum(l1, (0, 1), t2, (2, 1, 3, 0), (2, 3)) + rdm1.ov += t1 + tmp3 = einsum(t1, (0, 1), l3, (2, 3, 1, 4, 5, 6), (4, 5, 6, 0, 2, 3)) + rdm1.ov += einsum(tmp3, (0, 1, 2, 3, 4, 5), t3, (1, 2, 0, 6, 5, 4), (3, 6)) * 0.08333333333333 + del tmp3 + tmp4 = einsum(t1, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2)) * 2 + tmp4 += einsum(l3, (0, 1, 2, 3, 4, 5), t2, (6, 5, 1, 2), (3, 4, 6, 0)) + rdm1.ov += einsum(t2, (0, 1, 2, 3), tmp4, (0, 1, 4, 3), (4, 2)) * 0.25 + del tmp4 + tmp5 = np.copy(tmp0) + del tmp0 + tmp5 += tmp2 * 0.5 + del tmp2 + tmp5 += tmp1 * 0.08333333333333 + del tmp1 + rdm1.ov += einsum(tmp5, (0, 1), t1, (0, 2), (1, 2)) * -1 + del tmp5 + rdm1 = np.block([[rdm1.oo, rdm1.ov], [rdm1.vo, rdm1.vv]]) + + return rdm1 + +def make_rdm2_f(l1=None, l2=None, l3=None, t1=None, t2=None, t3=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-10-22T10:28:21.635355. + + Parameters + ---------- + l1 : array + L1 amplitudes. + l2 : array + L2 amplitudes. + l3 : array + L3 amplitudes. + t1 : array + T1 amplitudes. + t2 : array + T2 amplitudes. + t3 : array + T3 amplitudes. + + Returns + ------- + rdm2 : array + Two-particle reduced density matrix. + """ + + rdm2 = Namespace() + delta = Namespace( + oo=np.eye(t2.shape[0]), + vv=np.eye(t2.shape[-1]), + ) + rdm2.vvoo = np.copy(l2) + tmp2 = einsum(t1, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2)) + rdm2.ovoo = np.copy(np.transpose(tmp2, (2, 3, 1, 0))) * -1 + tmp4 = einsum(t2, (0, 1, 2, 3), l3, (4, 2, 3, 5, 6, 1), (5, 6, 0, 4)) + rdm2.ovoo += np.transpose(tmp4, (2, 3, 1, 0)) * -0.5 + rdm2.ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (0, 2, 3, 1)) * -1 + rdm2.ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (0, 2, 1, 3)) + rdm2.vooo = np.copy(np.transpose(tmp2, (3, 2, 1, 0))) + rdm2.vooo += np.transpose(tmp4, (3, 2, 1, 0)) * 0.5 + rdm2.vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 0, 3, 1)) + rdm2.vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 0, 1, 3)) * -1 + tmp10 = einsum(l3, (0, 1, 2, 3, 4, 5), t2, (4, 5, 6, 2), (3, 0, 1, 6)) + rdm2.vvov = np.copy(np.transpose(tmp10, (2, 1, 0, 3))) * -0.5 + tmp98 = einsum(t1, (0, 1), l2, (2, 3, 4, 0), (4, 2, 3, 1)) + rdm2.vvov += np.transpose(tmp98, (2, 1, 0, 3)) * -1 + rdm2.vvvo = np.copy(np.transpose(tmp10, (2, 1, 3, 0))) * 0.5 + rdm2.vvvo += np.transpose(tmp98, (2, 1, 3, 0)) + tmp76 = einsum(t2, (0, 1, 2, 3), l2, (4, 5, 0, 1), (4, 5, 2, 3)) + rdm2.vvvv = np.copy(np.transpose(tmp76, (1, 0, 3, 2))) * 0.5 + rdm2.vvvv += einsum(tmp98, (0, 1, 2, 3), t1, (0, 4), (2, 1, 4, 3)) * -1 + del tmp98 + tmp42 = einsum(l3, (0, 1, 2, 3, 4, 5), t3, (3, 4, 5, 6, 7, 2), (0, 1, 6, 7)) + rdm2.vvvv += np.transpose(tmp42, (1, 0, 3, 2)) * 0.16666666666667 + tmp99 = einsum(t1, (0, 1), tmp10, (0, 2, 3, 4), (2, 3, 1, 4)) + rdm2.vvvv += np.transpose(tmp99, (1, 0, 2, 3)) * -0.5 + rdm2.vvvv += np.transpose(tmp99, (1, 0, 3, 2)) * 0.5 + del tmp99 + tmp0 = einsum(t3, (0, 1, 2, 3, 4, 5), l3, (3, 4, 5, 6, 7, 2), (6, 7, 0, 1)) + rdm2.oooo = np.copy(np.transpose(tmp0, (3, 2, 1, 0))) * 0.16666666666667 + tmp1 = einsum(t2, (0, 1, 2, 3), l2, (2, 3, 4, 5), (4, 5, 0, 1)) + rdm2.oooo += np.transpose(tmp1, (3, 2, 1, 0)) * 0.5 + tmp3 = einsum(tmp2, (0, 1, 2, 3), t1, (4, 3), (0, 1, 2, 4)) * -1 + rdm2.oooo += np.transpose(tmp3, (3, 2, 1, 0)) + tmp5 = einsum(t1, (0, 1), tmp4, (2, 3, 4, 1), (2, 3, 0, 4)) + rdm2.oooo += np.transpose(tmp5, (2, 3, 1, 0)) * -0.5 + rdm2.oooo += np.transpose(tmp5, (3, 2, 1, 0)) * 0.5 + rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (0, 2, 1, 3)) + rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (0, 2, 3, 1)) * -1 + tmp6 = einsum(t1, (0, 1), l1, (1, 2), (2, 0)) + tmp9 = np.copy(tmp6) * 2 + tmp7 = einsum(l2, (0, 1, 2, 3), t2, (4, 3, 0, 1), (2, 4)) + tmp9 += tmp7 + tmp8 = einsum(t3, (0, 1, 2, 3, 4, 5), l3, (3, 4, 5, 6, 1, 2), (6, 0)) + tmp9 += tmp8 * 0.16666666666666 + rdm2.oooo += einsum(tmp9, (0, 1), delta.oo, (2, 3), (1, 2, 0, 3)) * -0.5 + rdm2.oooo += einsum(delta.oo, (0, 1), tmp9, (2, 3), (0, 3, 2, 1)) * 0.5 + rdm2.oooo += einsum(tmp9, (0, 1), delta.oo, (2, 3), (1, 2, 3, 0)) * 0.5 + rdm2.oooo += einsum(delta.oo, (0, 1), tmp9, (2, 3), (0, 3, 1, 2)) * -0.5 + del tmp9 + tmp16 = einsum(t3, (0, 1, 2, 3, 4, 5), l3, (6, 4, 5, 7, 1, 2), (7, 0, 6, 3)) + rdm2.ovov = np.copy(np.transpose(tmp16, (1, 2, 0, 3))) * -0.25 + tmp12 = einsum(t1, (0, 1), tmp10, (2, 1, 3, 4), (2, 0, 3, 4)) * -1 + rdm2.ovov += np.transpose(tmp12, (1, 2, 0, 3)) * 0.5 + rdm2.ovov += einsum(t1, (0, 1), l1, (2, 3), (0, 2, 3, 1)) * -1 + tmp32 = einsum(t2, (0, 1, 2, 3), l2, (4, 3, 5, 1), (5, 0, 4, 2)) + rdm2.ovov += np.transpose(tmp32, (1, 2, 0, 3)) * -1 + tmp81 = np.copy(np.transpose(tmp2, (1, 0, 2, 3))) * -1 + tmp81 += np.transpose(tmp4, (1, 0, 2, 3)) * -0.5 + tmp82 = einsum(t1, (0, 1), tmp81, (0, 2, 3, 4), (2, 3, 1, 4)) + del tmp81 + rdm2.ovov += np.transpose(tmp82, (1, 3, 0, 2)) * -1 + tmp83 = einsum(t1, (0, 1), l1, (2, 0), (2, 1)) + tmp84 = np.copy(tmp83) + tmp27 = einsum(t2, (0, 1, 2, 3), l2, (4, 3, 0, 1), (4, 2)) + tmp84 += tmp27 * 0.5 + tmp22 = einsum(t3, (0, 1, 2, 3, 4, 5), l3, (6, 4, 5, 0, 1, 2), (6, 3)) + tmp84 += tmp22 * 0.08333333333333 + rdm2.ovov += einsum(tmp84, (0, 1), delta.oo, (2, 3), (2, 0, 3, 1)) + rdm2.ovvo = np.copy(np.transpose(tmp16, (1, 2, 3, 0))) * 0.25 + rdm2.ovvo += np.transpose(tmp12, (1, 2, 3, 0)) * -0.5 + rdm2.ovvo += einsum(t1, (0, 1), l1, (2, 3), (0, 2, 1, 3)) + rdm2.ovvo += np.transpose(tmp32, (1, 2, 3, 0)) + tmp85 = np.copy(np.transpose(tmp2, (1, 0, 2, 3))) * -2 + del tmp2 + tmp85 += np.transpose(tmp4, (1, 0, 2, 3)) * -1 + tmp86 = einsum(t1, (0, 1), tmp85, (0, 2, 3, 4), (2, 3, 1, 4)) * 0.5 + del tmp85 + rdm2.ovvo += np.transpose(tmp86, (1, 3, 2, 0)) + tmp87 = np.copy(tmp83) * 12 + tmp87 += tmp27 * 6 + tmp87 += tmp22 + rdm2.ovvo += einsum(delta.oo, (0, 1), tmp87, (2, 3), (0, 2, 3, 1)) * -0.08333333333333 + rdm2.voov = np.copy(np.transpose(tmp16, (2, 1, 0, 3))) * 0.25 + rdm2.voov += np.transpose(tmp12, (2, 1, 0, 3)) * -0.5 + rdm2.voov += einsum(t1, (0, 1), l1, (2, 3), (2, 0, 3, 1)) + rdm2.voov += np.transpose(tmp32, (2, 1, 0, 3)) + rdm2.voov += np.transpose(tmp82, (3, 1, 0, 2)) + del tmp82 + rdm2.voov += einsum(tmp84, (0, 1), delta.oo, (2, 3), (0, 2, 3, 1)) * -1 + rdm2.vovo = np.copy(np.transpose(tmp16, (2, 1, 3, 0))) * -0.25 + rdm2.vovo += np.transpose(tmp12, (2, 1, 3, 0)) * 0.5 + rdm2.vovo += einsum(t1, (0, 1), l1, (2, 3), (2, 0, 1, 3)) * -1 + rdm2.vovo += np.transpose(tmp32, (2, 1, 3, 0)) * -1 + rdm2.vovo += np.transpose(tmp86, (3, 1, 2, 0)) * -1 + rdm2.vovo += einsum(delta.oo, (0, 1), tmp87, (2, 3), (2, 0, 3, 1)) * 0.08333333333333 + del tmp87 + tmp58 = einsum(t3, (0, 1, 2, 3, 4, 5), l2, (6, 5, 1, 2), (0, 6, 3, 4)) + rdm2.ovvv = np.copy(np.transpose(tmp58, (0, 1, 3, 2))) * -0.5 + tmp59 = einsum(tmp4, (0, 1, 2, 3), t2, (1, 0, 4, 5), (2, 3, 4, 5)) * -1 + rdm2.ovvv += np.transpose(tmp59, (0, 1, 3, 2)) * -0.25 + tmp88 = einsum(t2, (0, 1, 2, 3), l1, (4, 1), (0, 4, 2, 3)) + rdm2.ovvv += np.transpose(tmp88, (0, 1, 3, 2)) * -1 + tmp47 = einsum(t2, (0, 1, 2, 3), tmp10, (1, 3, 4, 5), (0, 4, 5, 2)) + tmp91 = np.copy(tmp47) * 0.5 + tmp89 = np.copy(tmp32) + tmp89 += tmp16 * 0.25 + tmp89 += tmp12 * -0.5 + tmp90 = einsum(tmp89, (0, 1, 2, 3), t1, (0, 4), (1, 4, 2, 3)) + del tmp89 + tmp91 += np.transpose(tmp90, (0, 2, 1, 3)) + del tmp90 + tmp51 = np.copy(tmp27) + tmp51 += tmp22 * 0.16666666666666 + tmp91 += einsum(t1, (0, 1), tmp51, (2, 3), (0, 2, 1, 3)) * -0.5 + rdm2.ovvv += tmp91 * -1 + rdm2.ovvv += np.transpose(tmp91, (0, 1, 3, 2)) + del tmp91 + rdm2.ovvv += einsum(tmp83, (0, 1), t1, (2, 3), (2, 0, 3, 1)) + rdm2.ovvv += einsum(tmp83, (0, 1), t1, (2, 3), (2, 0, 1, 3)) * -1 + del tmp83 + tmp77 = np.copy(np.transpose(tmp76, (1, 0, 3, 2))) + del tmp76 + tmp77 += np.transpose(tmp42, (1, 0, 3, 2)) * 0.33333333333334 + tmp92 = einsum(tmp77, (0, 1, 2, 3), t1, (4, 0), (4, 1, 2, 3)) * 0.5 + rdm2.ovvv += np.transpose(tmp92, (0, 1, 3, 2)) + tmp93 = einsum(t1, (0, 1), tmp86, (0, 2, 3, 4), (2, 1, 4, 3)) * -1 + del tmp86 + rdm2.ovvv += np.transpose(tmp93, (0, 2, 1, 3)) + rdm2.vovv = np.copy(np.transpose(tmp58, (1, 0, 3, 2))) * 0.5 + rdm2.vovv += np.transpose(tmp59, (1, 0, 3, 2)) * 0.25 + rdm2.vovv += np.transpose(tmp88, (1, 0, 3, 2)) + del tmp88 + tmp94 = einsum(t1, (0, 1), tmp32, (0, 2, 3, 4), (2, 3, 1, 4)) + rdm2.vovv += np.transpose(tmp94, (1, 0, 2, 3)) + rdm2.vovv += np.transpose(tmp94, (1, 0, 3, 2)) * -1 + del tmp94 + tmp97 = np.copy(tmp47) * -0.5 + tmp95 = np.copy(tmp16) * -1 + tmp95 += tmp12 * 2 + tmp96 = einsum(t1, (0, 1), tmp95, (0, 2, 3, 4), (2, 1, 3, 4)) * 0.25 + del tmp95 + tmp97 += np.transpose(tmp96, (0, 2, 1, 3)) + del tmp96 + tmp97 += einsum(t1, (0, 1), tmp84, (2, 3), (0, 2, 1, 3)) + del tmp84 + rdm2.vovv += np.transpose(tmp97, (1, 0, 2, 3)) * -1 + rdm2.vovv += np.transpose(tmp97, (1, 0, 3, 2)) + del tmp97 + rdm2.vovv += np.transpose(tmp92, (1, 0, 3, 2)) * -1 + del tmp92 + rdm2.vovv += np.transpose(tmp93, (2, 0, 1, 3)) * -1 + del tmp93 + tmp11 = einsum(t2, (0, 1, 2, 3), tmp10, (4, 3, 2, 5), (4, 0, 1, 5)) * -1 + del tmp10 + rdm2.oovo = np.copy(np.transpose(tmp11, (1, 2, 3, 0))) * -0.25 + tmp13 = einsum(tmp12, (0, 1, 2, 3), t1, (4, 2), (0, 1, 4, 3)) * -1 + del tmp12 + rdm2.oovo += np.transpose(tmp13, (2, 1, 3, 0)) * 0.5 + tmp14 = einsum(l2, (0, 1, 2, 3), t3, (4, 5, 3, 6, 0, 1), (2, 4, 5, 6)) + rdm2.oovo += np.transpose(tmp14, (2, 1, 3, 0)) * 0.5 + tmp15 = einsum(t2, (0, 1, 2, 3), l1, (3, 4), (4, 0, 1, 2)) + rdm2.oovo += np.transpose(tmp15, (2, 1, 3, 0)) + tmp17 = einsum(t1, (0, 1), tmp16, (2, 3, 1, 4), (2, 0, 3, 4)) + tmp21 = np.copy(tmp17) * -0.25 + tmp18 = einsum(tmp4, (0, 1, 2, 3), t2, (4, 1, 5, 3), (0, 2, 4, 5)) * -1 + tmp21 += tmp18 * -0.5 + tmp19 = einsum(tmp5, (0, 1, 2, 3), t1, (1, 4), (0, 2, 3, 4)) + del tmp5 + tmp21 += tmp19 * 0.5 + tmp20 = np.copy(tmp7) * 6 + tmp20 += tmp8 + tmp21 += einsum(tmp20, (0, 1), t1, (2, 3), (0, 2, 1, 3)) * 0.08333333333333 + rdm2.oovo += np.transpose(tmp21, (1, 2, 3, 0)) * -1 + rdm2.oovo += np.transpose(tmp21, (2, 1, 3, 0)) + tmp34 = einsum(l1, (0, 1), t2, (2, 1, 3, 0), (2, 3)) + tmp40 = np.copy(tmp34) * -1 + tmp26 = einsum(l2, (0, 1, 2, 3), t3, (4, 2, 3, 5, 0, 1), (4, 5)) + tmp40 += tmp26 * -0.25 + tmp28 = einsum(t1, (0, 1), tmp27, (1, 2), (0, 2)) + tmp40 += tmp28 * 0.5 + tmp30 = einsum(tmp4, (0, 1, 2, 3), t2, (1, 0, 4, 3), (2, 4)) * -1 + tmp40 += tmp30 * -0.25 + tmp38 = np.copy(tmp6) * 2 + tmp38 += tmp7 + tmp39 = einsum(tmp38, (0, 1), t1, (0, 2), (1, 2)) * 0.5 + del tmp38 + tmp40 += tmp39 + del tmp39 + rdm2.oovo += einsum(tmp40, (0, 1), delta.oo, (2, 3), (0, 2, 1, 3)) * -1 + rdm2.oovo += einsum(delta.oo, (0, 1), tmp40, (2, 3), (0, 2, 3, 1)) + del tmp40 + tmp23 = einsum(t1, (0, 1), tmp22, (1, 2), (0, 2)) + tmp25 = np.copy(tmp23) + del tmp23 + tmp24 = einsum(tmp8, (0, 1), t1, (0, 2), (1, 2)) + del tmp8 + tmp25 += tmp24 + del tmp24 + rdm2.oovo += einsum(tmp25, (0, 1), delta.oo, (2, 3), (0, 2, 1, 3)) * -0.08333333333333 + rdm2.oovo += einsum(delta.oo, (0, 1), tmp25, (2, 3), (0, 2, 3, 1)) * 0.08333333333333 + rdm2.oovo += einsum(delta.oo, (0, 1), t1, (2, 3), (2, 0, 3, 1)) + rdm2.oovo += einsum(delta.oo, (0, 1), t1, (2, 3), (0, 2, 3, 1)) * -1 + tmp33 = einsum(t1, (0, 1), tmp32, (2, 3, 1, 4), (2, 0, 3, 4)) + rdm2.oovo += np.transpose(tmp33, (1, 2, 3, 0)) + rdm2.oovo += np.transpose(tmp33, (2, 1, 3, 0)) * -1 + rdm2.oovo += einsum(tmp6, (0, 1), t1, (2, 3), (2, 1, 3, 0)) * -1 + rdm2.oovo += einsum(tmp6, (0, 1), t1, (2, 3), (1, 2, 3, 0)) + tmp41 = np.copy(np.transpose(tmp1, (1, 0, 3, 2))) * 3 + tmp41 += np.transpose(tmp3, (1, 0, 3, 2)) * 6 + tmp41 += np.transpose(tmp0, (1, 0, 3, 2)) + rdm2.oovo += einsum(tmp41, (0, 1, 2, 3), t1, (0, 4), (3, 2, 4, 1)) * -0.16666666666667 + del tmp41 + rdm2.ooov = np.copy(np.transpose(tmp11, (1, 2, 0, 3))) * 0.25 + rdm2.ooov += np.transpose(tmp13, (2, 1, 0, 3)) * -0.5 + rdm2.ooov += np.transpose(tmp14, (2, 1, 0, 3)) * -0.5 + rdm2.ooov += np.transpose(tmp15, (2, 1, 0, 3)) * -1 + rdm2.ooov += np.transpose(tmp21, (1, 2, 0, 3)) + rdm2.ooov += np.transpose(tmp21, (2, 1, 0, 3)) * -1 + del tmp21 + rdm2.ooov += einsum(tmp25, (0, 1), delta.oo, (2, 3), (0, 2, 3, 1)) * 0.08333333333333 + rdm2.ooov += einsum(delta.oo, (0, 1), tmp25, (2, 3), (0, 2, 1, 3)) * -0.08333333333333 + del tmp25 + tmp31 = np.copy(t1) + tmp31 += tmp26 * 0.25 + tmp31 += tmp28 * -0.5 + del tmp28 + tmp29 = einsum(tmp7, (0, 1), t1, (0, 2), (1, 2)) + del tmp7 + tmp31 += tmp29 * -0.5 + del tmp29 + tmp31 += tmp30 * 0.25 + rdm2.ooov += einsum(tmp31, (0, 1), delta.oo, (2, 3), (0, 2, 3, 1)) * -1 + rdm2.ooov += einsum(delta.oo, (0, 1), tmp31, (2, 3), (0, 2, 1, 3)) + del tmp31 + rdm2.ooov += np.transpose(tmp33, (1, 2, 0, 3)) * -1 + rdm2.ooov += np.transpose(tmp33, (2, 1, 0, 3)) + rdm2.ooov += einsum(tmp6, (0, 1), t1, (2, 3), (2, 1, 0, 3)) + rdm2.ooov += einsum(tmp6, (0, 1), t1, (2, 3), (1, 2, 0, 3)) * -1 + tmp36 = np.copy(tmp34) + del tmp34 + tmp35 = einsum(tmp6, (0, 1), t1, (0, 2), (1, 2)) + tmp36 += tmp35 * -1 + del tmp35 + rdm2.ooov += einsum(tmp36, (0, 1), delta.oo, (2, 3), (0, 2, 3, 1)) * -1 + rdm2.ooov += einsum(delta.oo, (0, 1), tmp36, (2, 3), (0, 2, 1, 3)) + del delta + tmp37 = np.copy(np.transpose(tmp1, (1, 0, 3, 2))) + tmp37 += np.transpose(tmp3, (1, 0, 3, 2)) * 2 + tmp37 += np.transpose(tmp0, (1, 0, 3, 2)) * 0.33333333333334 + rdm2.ooov += einsum(t1, (0, 1), tmp37, (0, 2, 3, 4), (4, 3, 2, 1)) * 0.5 + del tmp37 + rdm2.oovv = einsum(t2, (0, 1, 2, 3), tmp42, (3, 2, 4, 5), (0, 1, 5, 4)) * 0.08333333333333 + del tmp42 + rdm2.oovv += t2 + rdm2.oovv += einsum(t3, (0, 1, 2, 3, 4, 5), l1, (5, 2), (0, 1, 3, 4)) + tmp43 = einsum(t1, (0, 1), tmp15, (0, 2, 3, 4), (2, 3, 1, 4)) + del tmp15 + tmp45 = np.copy(np.transpose(tmp43, (1, 0, 2, 3))) * -1 + del tmp43 + tmp44 = einsum(tmp32, (0, 1, 2, 3), t2, (4, 0, 5, 2), (1, 4, 3, 5)) + del tmp32 + tmp45 += np.transpose(tmp44, (1, 0, 2, 3)) * -1 + del tmp44 + rdm2.oovv += tmp45 + rdm2.oovv += np.transpose(tmp45, (0, 1, 3, 2)) * -1 + del tmp45 + tmp46 = einsum(t2, (0, 1, 2, 3), tmp16, (1, 4, 3, 5), (0, 4, 2, 5)) + del tmp16 + tmp55 = np.copy(tmp46) * -0.25 + del tmp46 + tmp48 = einsum(t1, (0, 1), tmp47, (2, 1, 3, 4), (0, 2, 3, 4)) + del tmp47 + tmp55 += tmp48 * 0.5 + del tmp48 + tmp49 = np.copy(tmp17) + del tmp17 + tmp49 += tmp18 * 2 + del tmp18 + tmp50 = einsum(t1, (0, 1), tmp49, (0, 2, 3, 4), (2, 3, 1, 4)) * 0.25 + del tmp49 + tmp55 += tmp50 + del tmp50 + tmp54 = np.copy(tmp26) * -1 + del tmp26 + tmp54 += tmp30 * -1 + del tmp30 + tmp52 = einsum(t1, (0, 1), tmp51, (1, 2), (0, 2)) * 2 + del tmp51 + tmp54 += tmp52 + del tmp52 + tmp53 = einsum(tmp20, (0, 1), t1, (0, 2), (1, 2)) * 0.33333333333332 + tmp54 += tmp53 + del tmp53 + tmp55 += einsum(tmp54, (0, 1), t1, (2, 3), (2, 0, 3, 1)) * 0.25 + del tmp54 + rdm2.oovv += tmp55 * -1 + rdm2.oovv += np.transpose(tmp55, (0, 1, 3, 2)) + rdm2.oovv += np.transpose(tmp55, (1, 0, 2, 3)) + rdm2.oovv += np.transpose(tmp55, (1, 0, 3, 2)) * -1 + del tmp55 + tmp56 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp4, (2, 1, 6, 5), (6, 0, 3, 4)) * -1 + del tmp4 + tmp63 = np.copy(np.transpose(tmp56, (0, 1, 3, 2))) * 0.25 + del tmp56 + tmp57 = einsum(tmp19, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4)) * -1 + del tmp19 + tmp63 += np.transpose(tmp57, (0, 1, 3, 2)) * -0.5 + del tmp57 + tmp60 = np.copy(np.transpose(tmp58, (0, 1, 3, 2))) * -1 + del tmp58 + tmp60 += np.transpose(tmp59, (0, 1, 3, 2)) * -0.5 + del tmp59 + tmp61 = einsum(tmp60, (0, 1, 2, 3), t1, (4, 1), (4, 0, 2, 3)) * 0.5 + del tmp60 + tmp63 += np.transpose(tmp61, (0, 1, 3, 2)) * -1 + del tmp61 + tmp62 = einsum(tmp20, (0, 1), t2, (2, 0, 3, 4), (1, 2, 3, 4)) * -0.08333333333333 + del tmp20 + tmp63 += np.transpose(tmp62, (1, 0, 3, 2)) * -1 + del tmp62 + rdm2.oovv += tmp63 + rdm2.oovv += np.transpose(tmp63, (1, 0, 2, 3)) * -1 + del tmp63 + tmp67 = einsum(t1, (0, 1), t1, (2, 3), (2, 0, 3, 1)) * -1 + tmp64 = einsum(tmp27, (0, 1), t2, (2, 3, 4, 0), (2, 3, 4, 1)) + del tmp27 + tmp67 += np.transpose(tmp64, (1, 0, 3, 2)) * 0.5 + del tmp64 + tmp65 = np.copy(np.transpose(tmp14, (0, 2, 1, 3))) * -2 + del tmp14 + tmp65 += np.transpose(tmp11, (0, 2, 1, 3)) * -1 + del tmp11 + tmp65 += np.transpose(tmp13, (0, 2, 1, 3)) * -2 + del tmp13 + tmp66 = einsum(t1, (0, 1), tmp65, (0, 2, 3, 4), (2, 3, 1, 4)) * 0.25 + del tmp65 + tmp67 += np.transpose(tmp66, (1, 0, 3, 2)) * -1 + del tmp66 + rdm2.oovv += np.transpose(tmp67, (0, 1, 3, 2)) + rdm2.oovv += tmp67 * -1 + del tmp67 + tmp68 = einsum(t1, (0, 1), tmp33, (0, 2, 3, 4), (2, 3, 1, 4)) + del tmp33 + tmp69 = np.copy(tmp68) + del tmp68 + tmp69 += einsum(tmp36, (0, 1), t1, (2, 3), (2, 0, 3, 1)) * -1 + del tmp36 + rdm2.oovv += tmp69 * -1 + rdm2.oovv += np.transpose(tmp69, (0, 1, 3, 2)) + rdm2.oovv += np.transpose(tmp69, (1, 0, 2, 3)) + rdm2.oovv += np.transpose(tmp69, (1, 0, 3, 2)) * -1 + del tmp69 + tmp70 = einsum(tmp22, (0, 1), t2, (2, 3, 4, 0), (2, 3, 4, 1)) + del tmp22 + tmp73 = np.copy(tmp70) * 0.08333333333333 + del tmp70 + tmp71 = einsum(t3, (0, 1, 2, 3, 4, 5), l3, (6, 4, 5, 7, 8, 2), (7, 8, 0, 1, 6, 3)) + tmp72 = einsum(tmp71, (0, 1, 2, 3, 4, 5), t2, (1, 0, 6, 4), (2, 3, 6, 5)) * -1 + del tmp71 + tmp73 += tmp72 * 0.25 + del tmp72 + rdm2.oovv += tmp73 * -1 + rdm2.oovv += np.transpose(tmp73, (0, 1, 3, 2)) + del tmp73 + tmp74 = einsum(t2, (0, 1, 2, 3), tmp6, (1, 4), (4, 0, 2, 3)) + del tmp6 + rdm2.oovv += np.transpose(tmp74, (0, 1, 3, 2)) * -1 + rdm2.oovv += np.transpose(tmp74, (1, 0, 3, 2)) + del tmp74 + tmp75 = np.copy(np.transpose(tmp1, (1, 0, 3, 2))) * 3 + tmp75 += np.transpose(tmp0, (1, 0, 3, 2)) + rdm2.oovv += einsum(t2, (0, 1, 2, 3), tmp75, (0, 1, 4, 5), (5, 4, 2, 3)) * -0.08333333333333 + del tmp75 + tmp78 = einsum(tmp77, (0, 1, 2, 3), t1, (4, 0), (4, 1, 3, 2)) + del tmp77 + rdm2.oovv += einsum(t1, (0, 1), tmp78, (2, 1, 3, 4), (0, 2, 4, 3)) * -0.5 + del tmp78 + tmp79 = np.copy(np.transpose(tmp1, (1, 0, 3, 2))) * 0.5 + del tmp1 + tmp79 += np.transpose(tmp3, (1, 0, 3, 2)) + del tmp3 + tmp79 += np.transpose(tmp0, (1, 0, 3, 2)) * 0.16666666666667 + del tmp0 + tmp80 = einsum(t1, (0, 1), tmp79, (0, 2, 3, 4), (2, 4, 3, 1)) * 2 + del tmp79 + rdm2.oovv += einsum(t1, (0, 1), tmp80, (0, 2, 3, 4), (3, 2, 1, 4)) * -0.5 + del tmp80 + rdm2 = pack_2e(rdm2.oooo, rdm2.ooov, rdm2.oovo, rdm2.ovoo, rdm2.vooo, rdm2.oovv, rdm2.ovov, rdm2.ovvo, rdm2.voov, rdm2.vovo, rdm2.vvoo, rdm2.ovvv, rdm2.vovv, rdm2.vvov, rdm2.vvvo, rdm2.vvvv) + rdm2 = np.transpose(rdm2, (0, 2, 1, 3)) + + return rdm2 + +def hbar_matvec_ip_intermediates(f=None, t1=None, t2=None, t3=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-10-22T10:30:03.588999. + + Parameters + ---------- + f : array + Fock matrix. + t1 : array + T1 amplitudes. + t2 : array + T2 amplitudes. + t3 : array + T3 amplitudes. + v : array + Electron repulsion integrals. + + Returns + ------- + tmp0 : array + tmp1 : array + tmp105 : array + tmp106 : array + tmp108 : array + tmp109 : array + tmp111 : array + tmp114 : array + tmp118 : array + tmp12 : array + tmp128 : array + tmp129 : array + tmp13 : array + tmp131 : array + tmp132 : array + tmp135 : array + tmp137 : array + tmp139 : array + tmp14 : array + tmp141 : array + tmp142 : array + tmp143 : array + tmp145 : array + tmp147 : array + tmp149 : array + tmp150 : array + tmp152 : array + tmp154 : array + tmp160 : array + tmp17 : array + tmp170 : array + tmp171 : array + tmp172 : array + tmp173 : array + tmp175 : array + tmp176 : array + tmp178 : array + tmp179 : array + tmp18 : array + tmp181 : array + tmp19 : array + tmp200 : array + tmp201 : array + tmp202 : array + tmp204 : array + tmp205 : array + tmp206 : array + tmp208 : array + tmp209 : array + tmp211 : array + tmp212 : array + tmp214 : array + tmp217 : array + tmp219 : array + tmp220 : array + tmp221 : array + tmp228 : array + tmp26 : array + tmp33 : array + tmp34 : array + tmp36 : array + tmp37 : array + tmp39 : array + tmp4 : array + tmp40 : array + tmp41 : array + tmp43 : array + tmp44 : array + tmp45 : array + tmp46 : array + tmp47 : array + tmp48 : array + tmp5 : array + tmp50 : array + tmp51 : array + tmp52 : array + tmp53 : array + tmp54 : array + tmp56 : array + tmp58 : array + tmp6 : array + tmp65 : array + tmp67 : array + tmp68 : array + tmp74 : array + tmp75 : array + tmp78 : array + tmp79 : array + tmp8 : array + tmp80 : array + tmp81 : array + tmp86 : array + tmp87 : array + tmp9 : array + """ + + tmp8 = einsum(f.oo, (0, 1), t1, (1, 2), (0, 2)) + tmp12 = einsum(t2, (0, 1, 2, 3), f.ov, (1, 3), (0, 2)) + tmp43 = einsum(t3, (0, 1, 2, 3, 4, 5), v.oovv, (1, 2, 4, 5), (0, 3)) + tmp9 = einsum(t1, (0, 1), f.vv, (2, 1), (0, 2)) + tmp18 = einsum(v.ovov, (0, 1, 2, 3), t1, (2, 1), (0, 3)) + tmp33 = einsum(v.ovoo, (0, 1, 2, 3), t2, (2, 3, 4, 1), (0, 4)) + tmp36 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 0, 2, 3), (4, 1)) + tmp105 = einsum(t2, (0, 1, 2, 3), v.oooo, (4, 5, 0, 1), (4, 5, 2, 3)) + tmp111 = einsum(v.vvvv, (0, 1, 2, 3), t2, (4, 5, 2, 3), (4, 5, 0, 1)) + tmp1 = einsum(t1, (0, 1), v.ooov, (2, 0, 3, 1), (2, 3)) + tmp52 = einsum(t1, (0, 1), tmp1, (0, 2), (2, 1)) + tmp74 = einsum(t2, (0, 1, 2, 3), f.oo, (4, 1), (4, 0, 2, 3)) + tmp75 = einsum(t2, (0, 1, 2, 3), f.vv, (4, 3), (0, 1, 4, 2)) + tmp78 = einsum(f.ov, (0, 1), t3, (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) + tmp79 = einsum(f.ov, (0, 1), t3, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) + tmp86 = einsum(t1, (0, 1), v.ooov, (2, 3, 0, 4), (2, 3, 1, 4)) + tmp87 = einsum(t1, (0, 1), v.ovvv, (2, 1, 3, 4), (0, 2, 3, 4)) + tmp106 = einsum(t2, (0, 1, 2, 3), v.oooo, (4, 5, 6, 1), (0, 4, 5, 6, 2, 3)) + tmp108 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 2, 5, 1), (4, 0, 5, 3)) + tmp109 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 5, 6, 3), (0, 1, 4, 6, 2, 5)) + tmp128 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovoo, (6, 5, 1, 2), (0, 6, 3, 4)) + tmp129 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ooov, (6, 2, 7, 5), (0, 1, 6, 7, 3, 4)) + tmp131 = einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 0, 6, 2, 3), (4, 5, 6, 1)) + tmp132 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovvv, (6, 7, 4, 5), (0, 1, 2, 6, 3, 7)) + tmp0 = einsum(t1, (0, 1), f.ov, (2, 1), (2, 0)) + tmp14 = einsum(tmp0, (0, 1), t1, (0, 2), (1, 2)) + tmp26 = einsum(v.ovvv, (0, 1, 2, 3), t1, (0, 3), (1, 2)) + tmp56 = einsum(tmp26, (0, 1), t1, (2, 1), (2, 0)) + tmp141 = einsum(t2, (0, 1, 2, 3), tmp1, (1, 4), (0, 4, 2, 3)) * -1 + tmp17 = einsum(t1, (0, 1), v.oooo, (2, 3, 4, 0), (2, 3, 4, 1)) + tmp178 = einsum(tmp17, (0, 1, 2, 3), t1, (2, 4), (0, 1, 3, 4)) * -1 + tmp19 = einsum(v.ovov, (0, 1, 2, 3), t1, (4, 3), (4, 0, 2, 1)) + tmp179 = einsum(t1, (0, 1), tmp19, (2, 0, 3, 4), (2, 3, 1, 4)) + tmp180 = einsum(v.vvvv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) + tmp181 = einsum(t1, (0, 1), tmp180, (2, 3, 4, 1), (2, 0, 3, 4)) * -1 + del tmp180 + tmp4 = einsum(v.oovv, (0, 1, 2, 3), t2, (4, 1, 2, 3), (4, 0)) + tmp200 = einsum(t2, (0, 1, 2, 3), tmp4, (4, 1), (0, 4, 2, 3)) + tmp39 = einsum(v.oovv, (0, 1, 2, 3), t2, (4, 5, 2, 3), (4, 5, 0, 1)) + tmp201 = einsum(tmp39, (0, 1, 2, 3), t2, (3, 2, 4, 5), (0, 1, 4, 5)) * -1 + tmp202 = einsum(t2, (0, 1, 2, 3), tmp39, (4, 5, 1, 6), (4, 5, 0, 6, 2, 3)) * -1 + tmp40 = einsum(t2, (0, 1, 2, 3), v.oovv, (0, 1, 4, 3), (2, 4)) + tmp204 = einsum(t2, (0, 1, 2, 3), tmp40, (4, 3), (0, 1, 2, 4)) + tmp41 = einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 3), (0, 4, 2, 5)) + tmp205 = einsum(tmp41, (0, 1, 2, 3), t2, (4, 1, 5, 3), (0, 4, 2, 5)) + tmp206 = einsum(t2, (0, 1, 2, 3), tmp41, (4, 5, 6, 3), (0, 1, 4, 5, 2, 6)) + tmp45 = einsum(t1, (0, 1), tmp41, (2, 0, 3, 1), (2, 3)) + tmp47 = einsum(t1, (0, 1), tmp40, (2, 1), (0, 2)) + tmp50 = einsum(tmp4, (0, 1), t1, (1, 2), (0, 2)) + tmp5 = einsum(t1, (0, 1), v.oovv, (2, 0, 3, 1), (2, 3)) + tmp6 = einsum(tmp5, (0, 1), t1, (2, 1), (2, 0)) + tmp65 = einsum(t1, (0, 1), tmp6, (2, 0), (2, 1)) + tmp80 = einsum(t2, (0, 1, 2, 3), tmp0, (1, 4), (4, 0, 2, 3)) + tmp13 = einsum(t2, (0, 1, 2, 3), f.ov, (4, 3), (4, 0, 1, 2)) + tmp81 = einsum(t1, (0, 1), tmp13, (0, 2, 3, 4), (2, 3, 1, 4)) + tmp114 = einsum(v.ovoo, (0, 1, 2, 3), t2, (2, 3, 4, 5), (0, 4, 5, 1)) + tmp142 = einsum(tmp114, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) + tmp53 = einsum(v.ooov, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) + tmp143 = einsum(tmp53, (0, 1, 2, 3), t2, (4, 1, 5, 6), (0, 4, 2, 3, 5, 6)) * -1 + tmp34 = einsum(v.ooov, (0, 1, 2, 3), t2, (4, 1, 5, 3), (4, 0, 2, 5)) + tmp145 = einsum(t1, (0, 1), tmp34, (2, 0, 3, 4), (2, 3, 1, 4)) + tmp146 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), (0, 1, 4, 5, 6, 2)) + tmp147 = einsum(tmp146, (0, 1, 2, 3, 4, 5), t1, (2, 6), (0, 1, 3, 4, 6, 5)) * -1 + del tmp146 + tmp149 = einsum(tmp26, (0, 1), t2, (2, 3, 4, 1), (2, 3, 4, 0)) * -1 + tmp118 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 3), (0, 2, 4, 5)) + tmp150 = einsum(tmp118, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) + tmp151 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 5, 6, 3), (4, 5, 0, 6, 1, 2)) + tmp152 = einsum(t1, (0, 1), tmp151, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) + del tmp151 + tmp37 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 5, 2, 3), (4, 5, 0, 1)) + tmp154 = einsum(t1, (0, 1), tmp37, (2, 3, 0, 4), (2, 3, 1, 4)) + tmp139 = einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (4, 5, 0, 6, 7, 2)) + tmp170 = einsum(tmp139, (0, 1, 2, 3, 4, 5), t1, (2, 5), (0, 1, 3, 4)) + tmp171 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp5, (6, 5), (0, 1, 2, 6, 3, 4)) * -1 + tmp137 = einsum(v.oovv, (0, 1, 2, 3), t3, (4, 0, 1, 5, 6, 3), (4, 5, 6, 2)) + tmp172 = einsum(tmp137, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) + tmp173 = einsum(t1, (0, 1), tmp139, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) + tmp44 = einsum(t3, (0, 1, 2, 3, 4, 5), v.oovv, (6, 2, 4, 5), (0, 1, 6, 3)) + tmp175 = einsum(t1, (0, 1), tmp44, (2, 3, 0, 4), (2, 3, 1, 4)) + tmp135 = einsum(t3, (0, 1, 2, 3, 4, 5), v.oovv, (6, 7, 4, 5), (0, 1, 2, 6, 7, 3)) + tmp176 = einsum(tmp135, (0, 1, 2, 3, 4, 5), t1, (3, 6), (0, 1, 2, 4, 6, 5)) * -1 + tmp54 = einsum(tmp53, (0, 1, 2, 3), t1, (1, 4), (0, 2, 3, 4)) * -1 + tmp220 = einsum(tmp54, (0, 1, 2, 3), t1, (1, 4), (0, 2, 3, 4)) * -1 + tmp57 = einsum(t1, (0, 1), v.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) + tmp58 = einsum(t1, (0, 1), tmp57, (2, 3, 4, 1), (2, 0, 3, 4)) * -1 + del tmp57 + tmp221 = einsum(t1, (0, 1), tmp58, (2, 3, 0, 4), (2, 3, 1, 4)) + tmp208 = einsum(t2, (0, 1, 2, 3), tmp6, (4, 1), (4, 0, 2, 3)) * -1 + tmp46 = einsum(t2, (0, 1, 2, 3), tmp5, (4, 3), (0, 1, 4, 2)) * -1 + tmp209 = einsum(t1, (0, 1), tmp46, (2, 3, 0, 4), (2, 3, 1, 4)) + tmp160 = einsum(v.oovv, (0, 1, 2, 3), t2, (0, 1, 4, 5), (4, 5, 2, 3)) + tmp210 = einsum(tmp160, (0, 1, 2, 3), t1, (4, 2), (4, 0, 1, 3)) * -1 + tmp211 = einsum(tmp210, (0, 1, 2, 3), t1, (4, 3), (0, 4, 1, 2)) * -1 + del tmp210 + tmp66 = einsum(t1, (0, 1), v.oovv, (2, 3, 4, 1), (0, 2, 3, 4)) + tmp67 = einsum(tmp66, (0, 1, 2, 3), t1, (4, 3), (0, 4, 1, 2)) * -1 + del tmp66 + tmp212 = einsum(t2, (0, 1, 2, 3), tmp67, (4, 5, 1, 6), (4, 5, 0, 6, 2, 3)) * -1 + tmp48 = einsum(t1, (0, 1), tmp41, (2, 3, 4, 1), (0, 2, 3, 4)) + tmp214 = einsum(t1, (0, 1), tmp48, (2, 3, 0, 4), (2, 3, 1, 4)) + tmp215 = einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 6, 3), (0, 1, 4, 5, 2, 6)) + tmp216 = einsum(t1, (0, 1), tmp215, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) + del tmp215 + tmp217 = einsum(tmp216, (0, 1, 2, 3, 4, 5), t1, (3, 6), (0, 1, 2, 4, 6, 5)) * -1 + del tmp216 + tmp51 = einsum(tmp39, (0, 1, 2, 3), t1, (2, 4), (0, 1, 3, 4)) * -1 + tmp219 = einsum(tmp51, (0, 1, 2, 3), t1, (2, 4), (0, 1, 3, 4)) * -1 + tmp68 = einsum(tmp67, (0, 1, 2, 3), t1, (2, 4), (0, 1, 3, 4)) * -1 + tmp228 = einsum(tmp68, (0, 1, 2, 3), t1, (2, 4), (0, 1, 3, 4)) * -1 + + return {f"tmp0": tmp0, f"tmp1": tmp1, f"tmp105": tmp105, f"tmp106": tmp106, f"tmp108": tmp108, f"tmp109": tmp109, f"tmp111": tmp111, f"tmp114": tmp114, f"tmp118": tmp118, f"tmp12": tmp12, f"tmp128": tmp128, f"tmp129": tmp129, f"tmp13": tmp13, f"tmp131": tmp131, f"tmp132": tmp132, f"tmp135": tmp135, f"tmp137": tmp137, f"tmp139": tmp139, f"tmp14": tmp14, f"tmp141": tmp141, f"tmp142": tmp142, f"tmp143": tmp143, f"tmp145": tmp145, f"tmp147": tmp147, f"tmp149": tmp149, f"tmp150": tmp150, f"tmp152": tmp152, f"tmp154": tmp154, f"tmp160": tmp160, f"tmp17": tmp17, f"tmp170": tmp170, f"tmp171": tmp171, f"tmp172": tmp172, f"tmp173": tmp173, f"tmp175": tmp175, f"tmp176": tmp176, f"tmp178": tmp178, f"tmp179": tmp179, f"tmp18": tmp18, f"tmp181": tmp181, f"tmp19": tmp19, f"tmp200": tmp200, f"tmp201": tmp201, f"tmp202": tmp202, f"tmp204": tmp204, f"tmp205": tmp205, f"tmp206": tmp206, f"tmp208": tmp208, f"tmp209": tmp209, f"tmp211": tmp211, f"tmp212": tmp212, f"tmp214": tmp214, f"tmp217": tmp217, f"tmp219": tmp219, f"tmp220": tmp220, f"tmp221": tmp221, f"tmp228": tmp228, f"tmp26": tmp26, f"tmp33": tmp33, f"tmp34": tmp34, f"tmp36": tmp36, f"tmp37": tmp37, f"tmp39": tmp39, f"tmp4": tmp4, f"tmp40": tmp40, f"tmp41": tmp41, f"tmp43": tmp43, f"tmp44": tmp44, f"tmp45": tmp45, f"tmp46": tmp46, f"tmp47": tmp47, f"tmp48": tmp48, f"tmp5": tmp5, f"tmp50": tmp50, f"tmp51": tmp51, f"tmp52": tmp52, f"tmp53": tmp53, f"tmp54": tmp54, f"tmp56": tmp56, f"tmp58": tmp58, f"tmp6": tmp6, f"tmp65": tmp65, f"tmp67": tmp67, f"tmp68": tmp68, f"tmp74": tmp74, f"tmp75": tmp75, f"tmp78": tmp78, f"tmp79": tmp79, f"tmp8": tmp8, f"tmp80": tmp80, f"tmp81": tmp81, f"tmp86": tmp86, f"tmp87": tmp87, f"tmp9": tmp9} + +def hbar_matvec_ip(f=None, r1=None, r2=None, r3=None, t1=None, t2=None, t3=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-10-22T10:30:03.993267. + + Parameters + ---------- + f : array + Fock matrix. + r1 : array + R1 amplitudes. + r2 : array + R2 amplitudes. + r3 : array + R3 amplitudes. + t1 : array + T1 amplitudes. + t2 : array + T2 amplitudes. + t3 : array + T3 amplitudes. + v : array + Electron repulsion integrals. + + Returns + ------- + r1new : array + Updated R1 residuals. + r2new : array + Updated R2 residuals. + r3new : array + Updated R3 residuals. + """ + + ints = kwargs["ints"] + r1new = einsum(r2, (0, 1, 2), f.ov, (1, 2), (0,)) + r1new += einsum(v.ovoo, (0, 1, 2, 3), r2, (2, 3, 1), (0,)) * -0.5 + r1new += einsum(r3, (0, 1, 2, 3, 4), v.oovv, (1, 2, 3, 4), (0,)) * 0.25 + tmp0 = einsum(r2, (0, 1, 2), v.oovv, (3, 1, 4, 2), (0, 3, 4)) + r1new += einsum(t1, (0, 1), tmp0, (2, 0, 1), (2,)) + tmp1 = einsum(v.oovv, (0, 1, 2, 3), r2, (0, 1, 3), (2,)) + r1new += einsum(tmp1, (0,), t1, (1, 0), (1,)) * -0.5 + tmp2 = np.copy(f.oo) * 2 + tmp2 += ints.tmp0 * 2 + tmp2 += ints.tmp1 * 2 + tmp2 += np.transpose(ints.tmp4, (1, 0)) + tmp2 += np.transpose(ints.tmp6, (1, 0)) * 2 + r1new += einsum(r1, (0,), tmp2, (0, 1), (1,)) * -0.5 + r2new = einsum(f.ov, (0, 1), r3, (2, 3, 0, 4, 1), (2, 3, 4)) + r2new += einsum(tmp1, (0,), t2, (1, 2, 3, 0), (1, 2, 3)) * 0.5 + tmp3 = einsum(r3, (0, 1, 2, 3, 4), v.oovv, (5, 2, 6, 4), (0, 1, 5, 3, 6)) + r2new += einsum(tmp3, (0, 1, 2, 3, 4), t1, (2, 4), (1, 0, 3)) * -1 + tmp4 = einsum(v.oovv, (0, 1, 2, 3), r2, (0, 1, 4), (4, 2, 3)) + tmp5 = einsum(tmp4, (0, 1, 2), t1, (3, 1), (3, 0, 2)) * -1 + r2new += einsum(t1, (0, 1), tmp5, (2, 3, 1), (0, 2, 3)) * 0.5 + del tmp5 + r2new += einsum(v.ovvv, (0, 1, 2, 3), r3, (4, 5, 0, 2, 3), (4, 5, 1)) * -0.5 + tmp6 = einsum(ints.tmp4, (0, 1), r2, (2, 1, 3), (0, 2, 3)) + del ints.tmp4 + tmp22 = np.copy(tmp6) * -0.5 + del tmp6 + tmp7 = einsum(ints.tmp41, (0, 1, 2, 3), r2, (4, 1, 3), (0, 4, 2)) + tmp22 += tmp7 + del tmp7 + tmp8 = einsum(r2, (0, 1, 2), v.ovov, (3, 2, 1, 4), (0, 3, 4)) + tmp22 += tmp8 + del tmp8 + tmp9 = einsum(v.ovoo, (0, 1, 2, 3), r3, (4, 2, 3, 5, 1), (4, 0, 5)) + tmp22 += tmp9 * 0.5 + del tmp9 + tmp10 = einsum(r2, (0, 1, 2), v.ovoo, (3, 4, 0, 1), (3, 2, 4)) + tmp11 = einsum(t1, (0, 1), tmp10, (2, 3, 1), (0, 2, 3)) + tmp22 += tmp11 * 0.5 + del tmp11 + tmp12 = einsum(r2, (0, 1, 2), v.ovvv, (1, 3, 4, 2), (0, 3, 4)) + tmp14 = np.copy(tmp12) + tmp13 = einsum(r3, (0, 1, 2, 3, 4), v.oovv, (1, 2, 5, 4), (0, 3, 5)) + tmp14 += tmp13 * 0.5 + tmp15 = einsum(t1, (0, 1), tmp14, (2, 3, 1), (0, 2, 3)) + del tmp14 + tmp22 += np.transpose(tmp15, (1, 0, 2)) + del tmp15 + tmp16 = einsum(r2, (0, 1, 2), v.ooov, (3, 1, 4, 2), (0, 3, 4)) + tmp18 = np.copy(tmp16) + tmp17 = einsum(t1, (0, 1), tmp0, (2, 3, 1), (2, 0, 3)) * -1 + tmp18 += np.transpose(tmp17, (0, 2, 1)) * -1 + tmp19 = einsum(t1, (0, 1), tmp18, (2, 0, 3), (2, 3, 1)) + del tmp18 + tmp22 += tmp19 + del tmp19 + tmp20 = np.copy(ints.tmp48) + tmp20 += np.transpose(ints.tmp54, (0, 2, 1, 3)) + del ints.tmp54 + tmp21 = einsum(tmp20, (0, 1, 2, 3), r1, (2,), (0, 1, 3)) + del tmp20 + tmp22 += tmp21 + del tmp21 + r2new += tmp22 * -1 + r2new += np.transpose(tmp22, (1, 0, 2)) + del tmp22 + tmp23 = np.copy(f.oo) + tmp23 += ints.tmp0 + del ints.tmp0 + tmp23 += ints.tmp1 + del ints.tmp1 + tmp23 += np.transpose(ints.tmp6, (1, 0)) + del ints.tmp6 + tmp24 = einsum(r2, (0, 1, 2), tmp23, (1, 3), (0, 3, 2)) * -1 + del tmp23 + tmp27 = np.copy(np.transpose(tmp24, (1, 0, 2))) * -1 + del tmp24 + tmp25 = np.copy(ints.tmp19) + tmp25 += ints.tmp34 + tmp26 = einsum(r1, (0,), tmp25, (1, 0, 2, 3), (1, 2, 3)) + del tmp25 + tmp27 += tmp26 + del tmp26 + r2new += tmp27 + r2new += np.transpose(tmp27, (1, 0, 2)) * -1 + del tmp27 + tmp28 = np.copy(ints.tmp39) + tmp28 += v.oooo * 2 + r2new += einsum(r2, (0, 1, 2), tmp28, (3, 4, 1, 0), (4, 3, 2)) * 0.25 + del tmp28 + tmp29 = np.copy(np.transpose(ints.tmp26, (1, 0))) + tmp29 += np.transpose(ints.tmp40, (1, 0)) * 0.5 + tmp29 += f.vv * -1 + r2new += einsum(tmp29, (0, 1), r2, (2, 3, 0), (2, 3, 1)) * -1 + del tmp29 + tmp30 = np.copy(ints.tmp13) + tmp30 += np.transpose(ints.tmp17, (2, 0, 1, 3)) + del ints.tmp17 + tmp30 += np.transpose(ints.tmp44, (2, 0, 1, 3)) * 0.5 + tmp30 += np.transpose(ints.tmp51, (2, 0, 1, 3)) * 0.5 + del ints.tmp51 + tmp30 += np.transpose(ints.tmp68, (2, 0, 1, 3)) + del ints.tmp68 + tmp30 += np.transpose(ints.tmp37, (2, 0, 1, 3)) * -0.5 + tmp30 += np.transpose(ints.tmp46, (2, 0, 1, 3)) * -1 + tmp30 += np.transpose(ints.tmp58, (2, 0, 1, 3)) * -1 + tmp30 += np.transpose(v.ovoo, (0, 2, 3, 1)) * -1 + r2new += einsum(r1, (0,), tmp30, (0, 1, 2, 3), (2, 1, 3)) * -1 + del tmp30 + tmp31 = einsum(r3, (0, 1, 2, 3, 4), v.oovv, (5, 2, 3, 4), (0, 1, 5)) + tmp34 = np.copy(np.transpose(tmp31, (2, 1, 0))) * -0.5 + tmp32 = np.copy(f.ov) + tmp32 += ints.tmp5 + del ints.tmp5 + tmp33 = einsum(r2, (0, 1, 2), tmp32, (3, 2), (0, 1, 3)) + tmp34 += np.transpose(tmp33, (2, 1, 0)) * -1 + r2new += einsum(t1, (0, 1), tmp34, (0, 2, 3), (3, 2, 1)) + del tmp34 + tmp35 = np.copy(ints.tmp14) + del ints.tmp14 + tmp35 += ints.tmp18 + del ints.tmp18 + tmp35 += ints.tmp33 * 0.5 + del ints.tmp33 + tmp35 += ints.tmp36 * 0.5 + del ints.tmp36 + tmp35 += ints.tmp47 * 0.5 + del ints.tmp47 + tmp35 += ints.tmp50 * 0.5 + del ints.tmp50 + tmp35 += ints.tmp52 + del ints.tmp52 + tmp35 += ints.tmp56 + del ints.tmp56 + tmp35 += ints.tmp65 + del ints.tmp65 + tmp35 += ints.tmp8 + del ints.tmp8 + tmp35 += f.ov * -1 + tmp35 += ints.tmp12 * -1 + del ints.tmp12 + tmp35 += ints.tmp43 * -0.25 + del ints.tmp43 + tmp35 += ints.tmp45 * -1 + del ints.tmp45 + tmp35 += ints.tmp9 * -1 + del ints.tmp9 + r2new += einsum(r1, (0,), tmp35, (1, 2), (0, 1, 2)) * -1 + r2new += einsum(r1, (0,), tmp35, (1, 2), (1, 0, 2)) + tmp36 = einsum(v.oovv, (0, 1, 2, 3), r3, (4, 5, 6, 2, 3), (4, 5, 6, 0, 1)) + r3new = einsum(tmp36, (0, 1, 2, 3, 4), t2, (4, 3, 5, 6), (1, 2, 0, 5, 6)) * -0.25 + r3new += einsum(tmp1, (0,), t3, (1, 2, 3, 4, 5, 0), (1, 2, 3, 4, 5)) * -0.5 + del tmp1 + tmp37 = einsum(tmp36, (0, 1, 2, 3, 4), t1, (3, 5), (0, 1, 2, 4, 5)) * -1 + del tmp36 + r3new += einsum(t1, (0, 1), tmp37, (2, 3, 4, 0, 5), (3, 4, 2, 1, 5)) * 0.5 + del tmp37 + r3new += einsum(v.vvvv, (0, 1, 2, 3), r3, (4, 5, 6, 2, 3), (4, 5, 6, 0, 1)) * 0.5 + tmp38 = einsum(r1, (0,), ints.tmp206, (1, 2, 3, 0, 4, 5), (1, 2, 3, 4, 5)) + del ints.tmp206 + tmp52 = np.copy(tmp38) + del tmp38 + tmp39 = einsum(r3, (0, 1, 2, 3, 4), v.ovov, (5, 4, 2, 6), (0, 1, 5, 3, 6)) + tmp52 += np.transpose(tmp39, (1, 0, 2, 3, 4)) + del tmp39 + tmp40 = einsum(tmp10, (0, 1, 2), t2, (3, 4, 5, 2), (3, 4, 0, 1, 5)) + del tmp10 + tmp52 += np.transpose(tmp40, (1, 0, 2, 3, 4)) * 0.5 + del tmp40 + tmp41 = einsum(tmp3, (0, 1, 2, 3, 4), t2, (5, 2, 6, 4), (0, 1, 5, 3, 6)) + tmp52 += np.transpose(tmp41, (1, 0, 2, 3, 4)) * -1 + del tmp41 + tmp42 = np.copy(ints.tmp37) * 0.5 + del ints.tmp37 + tmp42 += ints.tmp46 + del ints.tmp46 + tmp42 += ints.tmp58 + del ints.tmp58 + tmp42 += ints.tmp44 * -0.5 + del ints.tmp44 + tmp43 = einsum(tmp42, (0, 1, 2, 3), r2, (4, 2, 5), (4, 0, 1, 5, 3)) * -1 + del tmp42 + tmp52 += np.transpose(tmp43, (1, 2, 0, 4, 3)) * -1 + del tmp43 + tmp44 = np.copy(ints.tmp39) * 0.5 + tmp44 += ints.tmp67 + del ints.tmp67 + tmp45 = einsum(r2, (0, 1, 2), tmp44, (3, 4, 1, 5), (0, 3, 4, 5, 2)) * -1 + del tmp44 + tmp46 = einsum(t1, (0, 1), tmp45, (2, 3, 4, 0, 5), (3, 4, 2, 1, 5)) * -1 + del tmp45 + tmp52 += np.transpose(tmp46, (0, 1, 2, 4, 3)) + del tmp46 + tmp47 = einsum(v.ovov, (0, 1, 2, 3), r2, (4, 5, 3), (4, 5, 0, 2, 1)) + tmp50 = np.copy(np.transpose(tmp47, (1, 0, 2, 3, 4))) * -1 + del tmp47 + tmp48 = einsum(v.ovvv, (0, 1, 2, 3), r2, (4, 5, 3), (4, 5, 0, 1, 2)) + tmp49 = einsum(tmp48, (0, 1, 2, 3, 4), t1, (5, 4), (0, 1, 5, 2, 3)) * -1 + del tmp48 + tmp50 += np.transpose(tmp49, (1, 0, 3, 2, 4)) + del tmp49 + tmp51 = einsum(t1, (0, 1), tmp50, (2, 3, 0, 4, 5), (2, 3, 4, 1, 5)) + del tmp50 + tmp52 += np.transpose(tmp51, (1, 0, 2, 3, 4)) * -1 + del tmp51 + r3new += np.transpose(tmp52, (1, 0, 2, 3, 4)) * -1 + r3new += np.transpose(tmp52, (1, 0, 2, 4, 3)) + r3new += np.transpose(tmp52, (1, 2, 0, 3, 4)) + r3new += np.transpose(tmp52, (1, 2, 0, 4, 3)) * -1 + r3new += np.transpose(tmp52, (2, 1, 0, 3, 4)) * -1 + r3new += np.transpose(tmp52, (2, 1, 0, 4, 3)) + del tmp52 + tmp53 = einsum(r2, (0, 1, 2), ints.tmp118, (3, 4, 5, 2), (3, 0, 1, 4, 5)) + del ints.tmp118 + tmp61 = np.copy(np.transpose(tmp53, (0, 2, 1, 3, 4))) * -1 + del tmp53 + tmp54 = einsum(ints.tmp41, (0, 1, 2, 3), r2, (4, 5, 3), (0, 1, 4, 5, 2)) + del ints.tmp41 + tmp55 = einsum(t1, (0, 1), tmp54, (2, 0, 3, 4, 5), (2, 3, 4, 5, 1)) + del tmp54 + tmp61 += np.transpose(tmp55, (0, 2, 1, 3, 4)) * -1 + del tmp55 + tmp56 = einsum(t2, (0, 1, 2, 3), tmp13, (4, 5, 3), (4, 0, 1, 5, 2)) * -1 + del tmp13 + tmp61 += np.transpose(tmp56, (0, 2, 1, 3, 4)) * 0.5 + del tmp56 + tmp57 = einsum(t2, (0, 1, 2, 3), tmp0, (4, 5, 3), (4, 0, 1, 5, 2)) * -1 + del tmp0 + tmp58 = einsum(tmp57, (0, 1, 2, 3, 4), t1, (3, 5), (0, 1, 2, 5, 4)) * -1 + del tmp57 + tmp61 += np.transpose(tmp58, (0, 2, 1, 3, 4)) * -1 + del tmp58 + tmp59 = einsum(t2, (0, 1, 2, 3), tmp4, (4, 3, 5), (0, 1, 4, 2, 5)) * -1 + del tmp4 + tmp60 = einsum(tmp59, (0, 1, 2, 3, 4), t1, (5, 4), (5, 0, 1, 2, 3)) + del tmp59 + tmp61 += np.transpose(tmp60, (0, 2, 1, 3, 4)) * 0.5 + del tmp60 + r3new += tmp61 + r3new += np.transpose(tmp61, (0, 1, 2, 4, 3)) * -1 + r3new += np.transpose(tmp61, (1, 0, 2, 3, 4)) * -1 + r3new += np.transpose(tmp61, (1, 0, 2, 4, 3)) + r3new += np.transpose(tmp61, (1, 2, 0, 3, 4)) + r3new += np.transpose(tmp61, (1, 2, 0, 4, 3)) * -1 + del tmp61 + tmp62 = einsum(v.ovvv, (0, 1, 2, 3), r2, (4, 5, 1), (4, 5, 0, 2, 3)) + tmp78 = np.copy(np.transpose(tmp62, (1, 0, 2, 4, 3))) + del tmp62 + tmp63 = einsum(ints.tmp39, (0, 1, 2, 3), r3, (4, 3, 2, 5, 6), (0, 1, 4, 5, 6)) * -1 + del ints.tmp39 + tmp78 += np.transpose(tmp63, (0, 1, 2, 4, 3)) * 0.25 + del tmp63 + tmp64 = einsum(ints.tmp139, (0, 1, 2, 3, 4, 5), r2, (6, 2, 5), (0, 1, 6, 3, 4)) + del ints.tmp139 + tmp78 += tmp64 * -1 + del tmp64 + tmp65 = np.copy(ints.tmp160) + del ints.tmp160 + tmp65 += v.vvvv * 2 + tmp66 = einsum(r2, (0, 1, 2), tmp65, (3, 4, 2, 5), (0, 1, 3, 4, 5)) + del tmp65 + tmp67 = einsum(tmp66, (0, 1, 2, 3, 4), t1, (5, 4), (5, 1, 0, 2, 3)) * -0.5 + del tmp66 + tmp78 += np.transpose(tmp67, (2, 1, 0, 3, 4)) + del tmp67 + tmp68 = np.copy(np.transpose(tmp31, (1, 0, 2))) * -0.5 + del tmp31 + tmp68 += np.transpose(tmp33, (1, 0, 2)) * -1 + del tmp33 + tmp69 = einsum(tmp68, (0, 1, 2), t2, (3, 2, 4, 5), (3, 0, 1, 4, 5)) * -1 + del tmp68 + tmp78 += np.transpose(tmp69, (2, 1, 0, 4, 3)) + del tmp69 + tmp70 = np.copy(ints.tmp129) + del ints.tmp129 + tmp70 += np.transpose(ints.tmp202, (0, 1, 3, 2, 4, 5)) * 0.5 + del ints.tmp202 + tmp70 += np.transpose(ints.tmp212, (0, 1, 3, 2, 4, 5)) + del ints.tmp212 + tmp71 = einsum(r1, (0,), tmp70, (1, 2, 0, 3, 4, 5), (1, 2, 3, 4, 5)) + del tmp70 + tmp78 += tmp71 + del tmp71 + tmp72 = einsum(v.ooov, (0, 1, 2, 3), r2, (4, 5, 3), (4, 5, 0, 1, 2)) + tmp75 = np.copy(np.transpose(tmp72, (1, 0, 3, 2, 4))) + del tmp72 + tmp73 = einsum(v.oovv, (0, 1, 2, 3), r2, (4, 5, 3), (4, 5, 0, 1, 2)) + tmp74 = einsum(t1, (0, 1), tmp73, (2, 3, 4, 5, 1), (2, 3, 0, 4, 5)) * -1 + del tmp73 + tmp75 += np.transpose(tmp74, (1, 0, 4, 3, 2)) * -1 + del tmp74 + tmp76 = einsum(t1, (0, 1), tmp75, (2, 3, 0, 4, 5), (2, 3, 4, 5, 1)) + del tmp75 + tmp77 = einsum(tmp76, (0, 1, 2, 3, 4), t1, (2, 5), (1, 0, 3, 5, 4)) + del tmp76 + tmp78 += np.transpose(tmp77, (1, 0, 2, 3, 4)) * -1 + del tmp77 + r3new += np.transpose(tmp78, (1, 0, 2, 4, 3)) * -1 + r3new += np.transpose(tmp78, (1, 2, 0, 4, 3)) + r3new += np.transpose(tmp78, (2, 1, 0, 4, 3)) * -1 + del tmp78 + tmp79 = einsum(r2, (0, 1, 2), ints.tmp13, (1, 3, 4, 5), (3, 4, 0, 5, 2)) + del ints.tmp13 + tmp88 = np.copy(tmp79) + del tmp79 + tmp80 = einsum(v.ovvv, (0, 1, 2, 3), r3, (4, 5, 0, 6, 3), (4, 5, 6, 1, 2)) + tmp81 = einsum(tmp80, (0, 1, 2, 3, 4), t1, (5, 4), (0, 1, 5, 2, 3)) * -1 + del tmp80 + tmp88 += np.transpose(tmp81, (1, 0, 2, 3, 4)) + del tmp81 + tmp82 = einsum(r3, (0, 1, 2, 3, 4), v.ooov, (5, 2, 6, 4), (0, 1, 5, 6, 3)) + tmp84 = np.copy(np.transpose(tmp82, (1, 0, 2, 3, 4))) * -1 + del tmp82 + tmp83 = einsum(t1, (0, 1), tmp3, (2, 3, 4, 5, 1), (2, 3, 0, 4, 5)) * -1 + del tmp3 + tmp84 += np.transpose(tmp83, (1, 0, 3, 2, 4)) + del tmp83 + tmp85 = einsum(t1, (0, 1), tmp84, (2, 3, 0, 4, 5), (2, 3, 4, 1, 5)) + del tmp84 + tmp88 += np.transpose(tmp85, (1, 0, 2, 4, 3)) * -1 + del tmp85 + tmp86 = np.copy(ints.tmp109) + del ints.tmp109 + tmp86 += ints.tmp147 + del ints.tmp147 + tmp87 = einsum(r1, (0,), tmp86, (1, 2, 0, 3, 4, 5), (1, 2, 3, 4, 5)) + del tmp86 + tmp88 += tmp87 + del tmp87 + r3new += np.transpose(tmp88, (1, 0, 2, 3, 4)) + r3new += np.transpose(tmp88, (1, 0, 2, 4, 3)) * -1 + r3new += np.transpose(tmp88, (1, 2, 0, 3, 4)) * -1 + r3new += np.transpose(tmp88, (1, 2, 0, 4, 3)) + r3new += np.transpose(tmp88, (2, 1, 0, 3, 4)) + r3new += np.transpose(tmp88, (2, 1, 0, 4, 3)) * -1 + del tmp88 + tmp89 = einsum(r3, (0, 1, 2, 3, 4), v.ovoo, (5, 6, 1, 2), (0, 5, 3, 4, 6)) + tmp90 = einsum(t1, (0, 1), tmp89, (2, 3, 4, 5, 1), (2, 0, 3, 4, 5)) + del tmp89 + tmp92 = np.copy(np.transpose(tmp90, (0, 1, 2, 4, 3))) * 0.5 + del tmp90 + tmp91 = einsum(tmp17, (0, 1, 2), t2, (3, 2, 4, 5), (0, 1, 3, 4, 5)) * -1 + del tmp17 + tmp92 += np.transpose(tmp91, (0, 1, 2, 4, 3)) * -1 + del tmp91 + r3new += tmp92 + r3new += np.transpose(tmp92, (0, 2, 1, 3, 4)) * -1 + r3new += np.transpose(tmp92, (1, 0, 2, 3, 4)) * -1 + r3new += np.transpose(tmp92, (2, 0, 1, 3, 4)) + r3new += np.transpose(tmp92, (1, 2, 0, 3, 4)) + r3new += np.transpose(tmp92, (2, 1, 0, 3, 4)) * -1 + del tmp92 + tmp93 = einsum(r3, (0, 1, 2, 3, 4), v.oooo, (5, 6, 1, 2), (0, 5, 6, 3, 4)) + tmp102 = np.copy(np.transpose(tmp93, (0, 2, 1, 4, 3))) * -0.5 + del tmp93 + tmp94 = einsum(v.oovv, (0, 1, 2, 3), r3, (4, 0, 1, 5, 6), (4, 5, 6, 2, 3)) + tmp95 = einsum(tmp94, (0, 1, 2, 3, 4), t1, (5, 3), (0, 5, 1, 2, 4)) * -1 + del tmp94 + tmp96 = einsum(tmp95, (0, 1, 2, 3, 4), t1, (5, 4), (0, 1, 5, 2, 3)) * -1 + del tmp95 + tmp102 += np.transpose(tmp96, (0, 2, 1, 4, 3)) * -0.5 + del tmp96 + tmp97 = np.copy(ints.tmp114) + del ints.tmp114 + tmp97 += ints.tmp137 * -1 + del ints.tmp137 + tmp98 = einsum(tmp97, (0, 1, 2, 3), r2, (4, 5, 3), (4, 5, 0, 1, 2)) * 0.5 + del tmp97 + tmp102 += np.transpose(tmp98, (2, 1, 0, 4, 3)) + del tmp98 + tmp99 = einsum(tmp2, (0, 1), r3, (2, 3, 0, 4, 5), (2, 3, 1, 4, 5)) * 0.5 + del tmp2 + tmp102 += np.transpose(tmp99, (2, 0, 1, 4, 3)) * -1 + del tmp99 + tmp100 = np.copy(ints.tmp106) + del ints.tmp106 + tmp100 += ints.tmp173 + del ints.tmp173 + tmp101 = einsum(r1, (0,), tmp100, (1, 2, 3, 0, 4, 5), (1, 2, 3, 4, 5)) + del tmp100 + tmp102 += np.transpose(tmp101, (0, 2, 1, 4, 3)) + del tmp101 + r3new += tmp102 * -1 + r3new += np.transpose(tmp102, (1, 0, 2, 3, 4)) + r3new += np.transpose(tmp102, (1, 2, 0, 3, 4)) * -1 + del tmp102 + tmp103 = einsum(ints.tmp135, (0, 1, 2, 3, 4, 5), r2, (4, 3, 6), (0, 1, 2, 5, 6)) * -1 + del ints.tmp135 + tmp112 = np.copy(tmp103) * 0.25 + del tmp103 + tmp104 = einsum(r3, (0, 1, 2, 3, 4), v.ovvv, (5, 6, 3, 4), (0, 1, 2, 5, 6)) + tmp105 = einsum(t1, (0, 1), tmp104, (2, 3, 4, 0, 5), (2, 3, 4, 1, 5)) + del tmp104 + tmp112 += np.transpose(tmp105, (1, 2, 0, 3, 4)) * 0.5 + del tmp105 + tmp106 = np.copy(f.vv) * 2 + tmp106 += np.transpose(ints.tmp40, (1, 0)) * -1 + del ints.tmp40 + tmp107 = einsum(tmp106, (0, 1), r3, (2, 3, 4, 5, 0), (2, 3, 4, 5, 1)) * -0.5 + del tmp106 + tmp112 += np.transpose(tmp107, (1, 2, 0, 4, 3)) * -1 + del tmp107 + tmp108 = einsum(tmp32, (0, 1), r3, (2, 3, 4, 5, 1), (2, 3, 4, 0, 5)) * -1 + del tmp32 + tmp109 = einsum(t1, (0, 1), tmp108, (2, 3, 4, 0, 5), (3, 4, 2, 1, 5)) * -1 + del tmp108 + tmp112 += np.transpose(tmp109, (1, 2, 0, 4, 3)) + del tmp109 + tmp110 = np.copy(ints.tmp132) + del ints.tmp132 + tmp110 += ints.tmp176 + del ints.tmp176 + tmp111 = einsum(r1, (0,), tmp110, (1, 2, 3, 0, 4, 5), (1, 2, 3, 4, 5)) * 0.5 + del tmp110 + tmp112 += tmp111 * -1 + del tmp111 + r3new += np.transpose(tmp112, (1, 2, 0, 3, 4)) * -1 + r3new += np.transpose(tmp112, (1, 2, 0, 4, 3)) + del tmp112 + tmp113 = einsum(r3, (0, 1, 2, 3, 4), ints.tmp26, (5, 4), (0, 1, 2, 5, 3)) + del ints.tmp26 + r3new += np.transpose(tmp113, (1, 2, 0, 3, 4)) + r3new += np.transpose(tmp113, (1, 2, 0, 4, 3)) * -1 + del tmp113 + tmp114 = einsum(r1, (0,), ints.tmp143, (1, 2, 0, 3, 4, 5), (1, 2, 3, 4, 5)) + del ints.tmp143 + tmp116 = np.copy(tmp114) + del tmp114 + tmp115 = einsum(t2, (0, 1, 2, 3), tmp16, (4, 1, 5), (4, 0, 5, 2, 3)) * -1 + del tmp16 + tmp116 += np.transpose(tmp115, (0, 1, 2, 4, 3)) + del tmp115 + r3new += np.transpose(tmp116, (0, 1, 2, 4, 3)) + r3new += np.transpose(tmp116, (0, 2, 1, 4, 3)) * -1 + r3new += np.transpose(tmp116, (1, 0, 2, 4, 3)) * -1 + r3new += np.transpose(tmp116, (2, 0, 1, 4, 3)) + r3new += np.transpose(tmp116, (1, 2, 0, 4, 3)) + r3new += np.transpose(tmp116, (2, 1, 0, 4, 3)) * -1 + del tmp116 + tmp117 = einsum(r2, (0, 1, 2), v.ooov, (3, 4, 1, 5), (0, 3, 4, 2, 5)) + tmp123 = np.copy(np.transpose(tmp117, (0, 2, 1, 3, 4))) * -1 + del tmp117 + tmp118 = einsum(r2, (0, 1, 2), v.oooo, (3, 4, 5, 1), (0, 3, 4, 5, 2)) + tmp119 = einsum(t1, (0, 1), tmp118, (2, 3, 4, 0, 5), (2, 3, 4, 5, 1)) * -1 + del tmp118 + tmp123 += np.transpose(tmp119, (0, 2, 1, 3, 4)) + del tmp119 + tmp120 = einsum(tmp12, (0, 1, 2), t2, (3, 4, 5, 2), (0, 3, 4, 5, 1)) * -1 + del tmp12 + tmp123 += np.transpose(tmp120, (0, 2, 1, 3, 4)) + del tmp120 + tmp121 = np.copy(ints.tmp152) + del ints.tmp152 + tmp121 += ints.tmp217 + del ints.tmp217 + tmp122 = einsum(r1, (0,), tmp121, (1, 2, 3, 0, 4, 5), (1, 2, 3, 4, 5)) + del tmp121 + tmp123 += tmp122 + del tmp122 + r3new += np.transpose(tmp123, (0, 2, 1, 3, 4)) + r3new += np.transpose(tmp123, (0, 2, 1, 4, 3)) * -1 + r3new += np.transpose(tmp123, (2, 0, 1, 3, 4)) * -1 + r3new += np.transpose(tmp123, (2, 0, 1, 4, 3)) + r3new += np.transpose(tmp123, (2, 1, 0, 3, 4)) + r3new += np.transpose(tmp123, (2, 1, 0, 4, 3)) * -1 + del tmp123 + tmp124 = einsum(ints.tmp53, (0, 1, 2, 3), r2, (4, 1, 5), (0, 2, 3, 4, 5)) + del ints.tmp53 + tmp125 = einsum(t1, (0, 1), tmp124, (2, 0, 3, 4, 5), (2, 3, 4, 5, 1)) + del tmp124 + tmp128 = np.copy(tmp125) + del tmp125 + tmp126 = np.copy(ints.tmp19) + del ints.tmp19 + tmp126 += ints.tmp34 + del ints.tmp34 + tmp127 = einsum(r2, (0, 1, 2), tmp126, (3, 1, 4, 5), (0, 3, 4, 2, 5)) * -1 + del tmp126 + tmp128 += np.transpose(tmp127, (1, 2, 0, 4, 3)) * -1 + del tmp127 + r3new += tmp128 * -1 + r3new += np.transpose(tmp128, (0, 1, 2, 4, 3)) + r3new += np.transpose(tmp128, (0, 2, 1, 3, 4)) + r3new += np.transpose(tmp128, (0, 2, 1, 4, 3)) * -1 + r3new += np.transpose(tmp128, (1, 0, 2, 3, 4)) + r3new += np.transpose(tmp128, (1, 0, 2, 4, 3)) * -1 + r3new += np.transpose(tmp128, (2, 0, 1, 3, 4)) * -1 + r3new += np.transpose(tmp128, (2, 0, 1, 4, 3)) + r3new += np.transpose(tmp128, (1, 2, 0, 3, 4)) * -1 + r3new += np.transpose(tmp128, (1, 2, 0, 4, 3)) + r3new += np.transpose(tmp128, (2, 1, 0, 3, 4)) + r3new += np.transpose(tmp128, (2, 1, 0, 4, 3)) * -1 + del tmp128 + tmp129 = einsum(ints.tmp48, (0, 1, 2, 3), r2, (4, 2, 5), (0, 1, 4, 3, 5)) + del ints.tmp48 + r3new += tmp129 + r3new += np.transpose(tmp129, (0, 1, 2, 4, 3)) * -1 + r3new += np.transpose(tmp129, (0, 2, 1, 3, 4)) * -1 + r3new += np.transpose(tmp129, (0, 2, 1, 4, 3)) + r3new += np.transpose(tmp129, (1, 0, 2, 3, 4)) * -1 + r3new += np.transpose(tmp129, (1, 0, 2, 4, 3)) + r3new += np.transpose(tmp129, (2, 0, 1, 3, 4)) + r3new += np.transpose(tmp129, (2, 0, 1, 4, 3)) * -1 + r3new += np.transpose(tmp129, (1, 2, 0, 3, 4)) + r3new += np.transpose(tmp129, (1, 2, 0, 4, 3)) * -1 + r3new += np.transpose(tmp129, (2, 1, 0, 3, 4)) * -1 + r3new += np.transpose(tmp129, (2, 1, 0, 4, 3)) + del tmp129 + tmp130 = np.copy(ints.tmp171) + del ints.tmp171 + tmp130 += np.transpose(ints.tmp79, (1, 2, 3, 0, 4, 5)) * -1 + del ints.tmp79 + r3new += einsum(r1, (0,), tmp130, (1, 2, 3, 0, 4, 5), (2, 3, 1, 5, 4)) * -1 + del tmp130 + tmp134 = np.copy(ints.tmp105) * 0.5 + del ints.tmp105 + tmp134 += ints.tmp111 * 0.5 + del ints.tmp111 + tmp134 += ints.tmp170 + del ints.tmp170 + tmp134 += ints.tmp178 + del ints.tmp178 + tmp134 += ints.tmp181 + del ints.tmp181 + tmp134 += ints.tmp201 * 0.25 + del ints.tmp201 + tmp134 += ints.tmp211 * 0.5 + del ints.tmp211 + tmp134 += ints.tmp219 * 0.5 + del ints.tmp219 + tmp134 += ints.tmp228 + del ints.tmp228 + tmp134 += ints.tmp78 + del ints.tmp78 + tmp134 += v.oovv + tmp131 = np.copy(ints.tmp145) + del ints.tmp145 + tmp131 += ints.tmp150 + del ints.tmp150 + tmp131 += ints.tmp179 + del ints.tmp179 + tmp131 += ints.tmp108 * -1 + del ints.tmp108 + tmp131 += ints.tmp214 * -1 + del ints.tmp214 + tmp134 += tmp131 + tmp134 += np.transpose(tmp131, (0, 1, 3, 2)) * -1 + tmp134 += np.transpose(tmp131, (1, 0, 2, 3)) * -1 + tmp134 += np.transpose(tmp131, (1, 0, 3, 2)) + tmp132 = np.copy(ints.tmp128) * 0.5 + del ints.tmp128 + tmp132 += ints.tmp142 * 0.5 + del ints.tmp142 + tmp132 += ints.tmp200 * 0.5 + del ints.tmp200 + tmp132 += ints.tmp208 + del ints.tmp208 + tmp132 += ints.tmp220 + del ints.tmp220 + tmp132 += ints.tmp87 + del ints.tmp87 + tmp132 += ints.tmp141 * -1 + del ints.tmp141 + tmp132 += ints.tmp172 * -0.5 + del ints.tmp172 + tmp132 += ints.tmp74 * -1 + del ints.tmp74 + tmp132 += ints.tmp80 * -1 + del ints.tmp80 + tmp134 += tmp132 * -1 + tmp134 += np.transpose(tmp132, (1, 0, 2, 3)) + tmp133 = np.copy(ints.tmp131) * 0.5 + tmp133 += ints.tmp154 * 0.5 + tmp133 += ints.tmp204 * 0.5 + del ints.tmp204 + tmp133 += ints.tmp209 + tmp133 += ints.tmp221 + tmp133 += ints.tmp75 + tmp133 += ints.tmp86 + tmp133 += ints.tmp149 * -1 + tmp133 += ints.tmp175 * -0.5 + tmp133 += ints.tmp205 * -1 + tmp133 += ints.tmp81 * -1 + tmp134 += tmp133 * -1 + tmp134 += np.transpose(tmp133, (0, 1, 3, 2)) + del tmp133 + r3new += einsum(r1, (0,), tmp134, (1, 2, 3, 4), (0, 2, 1, 4, 3)) + r3new += einsum(r1, (0,), tmp134, (1, 2, 3, 4), (2, 0, 1, 4, 3)) * -1 + del tmp134 + tmp136 = np.copy(v.oovv) + tmp136 += tmp131 + tmp136 += np.transpose(tmp131, (0, 1, 3, 2)) * -1 + tmp136 += np.transpose(tmp131, (1, 0, 2, 3)) * -1 + tmp136 += np.transpose(tmp131, (1, 0, 3, 2)) + del tmp131 + tmp136 += tmp132 * -1 + tmp136 += np.transpose(tmp132, (1, 0, 2, 3)) + del tmp132 + tmp135 = np.copy(ints.tmp131) * 0.5 + del ints.tmp131 + tmp135 += ints.tmp154 * 0.5 + del ints.tmp154 + tmp135 += ints.tmp209 + del ints.tmp209 + tmp135 += ints.tmp221 + del ints.tmp221 + tmp135 += ints.tmp75 + del ints.tmp75 + tmp135 += ints.tmp86 + del ints.tmp86 + tmp135 += ints.tmp149 * -1 + del ints.tmp149 + tmp135 += ints.tmp175 * -0.5 + del ints.tmp175 + tmp135 += ints.tmp205 * -1 + del ints.tmp205 + tmp135 += ints.tmp81 * -1 + del ints.tmp81 + tmp136 += tmp135 * -1 + tmp136 += np.transpose(tmp135, (0, 1, 3, 2)) + del tmp135 + r3new += einsum(r1, (0,), tmp136, (1, 2, 3, 4), (2, 1, 0, 4, 3)) + del tmp136 + r3new += einsum(tmp35, (0, 1), r2, (2, 3, 4), (2, 0, 3, 1, 4)) * -1 + r3new += einsum(tmp35, (0, 1), r2, (2, 3, 4), (0, 2, 3, 4, 1)) * -1 + r3new += einsum(tmp35, (0, 1), r2, (2, 3, 4), (2, 3, 0, 4, 1)) * -1 + r3new += einsum(tmp35, (0, 1), r2, (2, 3, 4), (0, 2, 3, 1, 4)) + r3new += einsum(tmp35, (0, 1), r2, (2, 3, 4), (2, 3, 0, 1, 4)) + r3new += einsum(r2, (0, 1, 2), tmp35, (3, 4), (0, 3, 1, 2, 4)) + del tmp35 + + return {f"r1new": r1new, f"r2new": r2new, f"r3new": r3new} + +def hbar_matvec_ea_intermediates(f=None, t1=None, t2=None, t3=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-10-22T10:31:50.466835. + + Parameters + ---------- + f : array + Fock matrix. + t1 : array + T1 amplitudes. + t2 : array + T2 amplitudes. + t3 : array + T3 amplitudes. + v : array + Electron repulsion integrals. + + Returns + ------- + tmp1 : array + tmp10 : array + tmp106 : array + tmp107 : array + tmp109 : array + tmp110 : array + tmp112 : array + tmp116 : array + tmp122 : array + tmp129 : array + tmp13 : array + tmp130 : array + tmp132 : array + tmp133 : array + tmp135 : array + tmp138 : array + tmp14 : array + tmp141 : array + tmp142 : array + tmp143 : array + tmp146 : array + tmp147 : array + tmp149 : array + tmp150 : array + tmp153 : array + tmp156 : array + tmp169 : array + tmp17 : array + tmp170 : array + tmp172 : array + tmp174 : array + tmp178 : array + tmp179 : array + tmp180 : array + tmp181 : array + tmp187 : array + tmp20 : array + tmp201 : array + tmp202 : array + tmp203 : array + tmp204 : array + tmp206 : array + tmp208 : array + tmp209 : array + tmp21 : array + tmp210 : array + tmp211 : array + tmp215 : array + tmp216 : array + tmp221 : array + tmp222 : array + tmp223 : array + tmp231 : array + tmp33 : array + tmp34 : array + tmp35 : array + tmp36 : array + tmp38 : array + tmp4 : array + tmp40 : array + tmp43 : array + tmp44 : array + tmp45 : array + tmp46 : array + tmp47 : array + tmp48 : array + tmp49 : array + tmp5 : array + tmp52 : array + tmp55 : array + tmp56 : array + tmp59 : array + tmp65 : array + tmp66 : array + tmp74 : array + tmp75 : array + tmp76 : array + tmp79 : array + tmp8 : array + tmp80 : array + tmp81 : array + tmp86 : array + tmp87 : array + tmp9 : array + tmp90 : array + """ + + tmp8 = einsum(f.oo, (0, 1), t1, (1, 2), (0, 2)) + tmp13 = einsum(t2, (0, 1, 2, 3), f.ov, (1, 3), (0, 2)) + tmp43 = einsum(t3, (0, 1, 2, 3, 4, 5), v.oovv, (1, 2, 4, 5), (0, 3)) + tmp9 = einsum(t1, (0, 1), f.vv, (2, 1), (0, 2)) + tmp17 = einsum(v.ovov, (0, 1, 2, 3), t1, (2, 1), (0, 3)) + tmp33 = einsum(v.ovoo, (0, 1, 2, 3), t2, (2, 3, 4, 1), (0, 4)) + tmp35 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 0, 2, 3), (4, 1)) + tmp106 = einsum(t2, (0, 1, 2, 3), v.oooo, (4, 5, 0, 1), (4, 5, 2, 3)) + tmp109 = einsum(v.vvvv, (0, 1, 2, 3), t2, (4, 5, 2, 3), (4, 5, 0, 1)) + tmp21 = einsum(t1, (0, 1), v.ooov, (2, 0, 3, 1), (2, 3)) + tmp52 = einsum(t1, (0, 1), tmp21, (0, 2), (2, 1)) + tmp74 = einsum(t2, (0, 1, 2, 3), f.oo, (4, 1), (4, 0, 2, 3)) + tmp75 = einsum(t2, (0, 1, 2, 3), f.vv, (4, 3), (0, 1, 4, 2)) + tmp79 = einsum(t3, (0, 1, 2, 3, 4, 5), f.ov, (2, 5), (0, 1, 3, 4)) + tmp86 = einsum(t1, (0, 1), v.ooov, (2, 3, 0, 4), (2, 3, 1, 4)) + tmp87 = einsum(t1, (0, 1), v.ovvv, (2, 1, 3, 4), (0, 2, 3, 4)) + tmp107 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 2, 5, 1), (4, 0, 5, 3)) + tmp110 = einsum(v.vvvv, (0, 1, 2, 3), t2, (4, 5, 6, 3), (4, 5, 6, 0, 1, 2)) + tmp129 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovoo, (6, 5, 1, 2), (0, 6, 3, 4)) + tmp130 = einsum(v.ovoo, (0, 1, 2, 3), t3, (4, 2, 3, 5, 6, 7), (4, 0, 5, 6, 7, 1)) + tmp132 = einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 0, 6, 2, 3), (4, 5, 6, 1)) + tmp133 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovvv, (2, 6, 7, 5), (0, 1, 3, 4, 6, 7)) + tmp150 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 5, 6, 3), (4, 5, 0, 6, 1, 2)) + tmp216 = einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 6, 3), (0, 1, 4, 5, 2, 6)) + tmp10 = einsum(t1, (0, 1), f.ov, (2, 1), (2, 0)) + tmp14 = einsum(tmp10, (0, 1), t1, (0, 2), (1, 2)) + tmp1 = einsum(v.ovvv, (0, 1, 2, 3), t1, (0, 3), (1, 2)) + tmp55 = einsum(t1, (0, 1), tmp1, (2, 1), (0, 2)) + tmp141 = einsum(t2, (0, 1, 2, 3), tmp21, (1, 4), (0, 4, 2, 3)) * -1 + tmp177 = einsum(t1, (0, 1), v.oooo, (2, 3, 4, 0), (2, 3, 4, 1)) + tmp178 = einsum(t1, (0, 1), tmp177, (2, 3, 0, 4), (2, 3, 4, 1)) * -1 + del tmp177 + tmp90 = einsum(v.ovov, (0, 1, 2, 3), t1, (4, 3), (4, 0, 2, 1)) + tmp179 = einsum(t1, (0, 1), tmp90, (2, 0, 3, 4), (2, 3, 1, 4)) + tmp20 = einsum(v.vvvv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) + tmp180 = einsum(t1, (0, 1), tmp20, (2, 3, 4, 1), (2, 0, 3, 4)) * -1 + tmp38 = einsum(v.oovv, (0, 1, 2, 3), t2, (4, 1, 2, 3), (4, 0)) + tmp201 = einsum(t2, (0, 1, 2, 3), tmp38, (4, 1), (0, 4, 2, 3)) + tmp122 = einsum(v.oovv, (0, 1, 2, 3), t2, (4, 5, 2, 3), (4, 5, 0, 1)) + tmp202 = einsum(t2, (0, 1, 2, 3), tmp122, (4, 5, 1, 0), (4, 5, 2, 3)) * -1 + tmp4 = einsum(t2, (0, 1, 2, 3), v.oovv, (0, 1, 4, 3), (2, 4)) + tmp203 = einsum(t2, (0, 1, 2, 3), tmp4, (4, 3), (0, 1, 2, 4)) + tmp40 = einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 3), (0, 4, 2, 5)) + tmp204 = einsum(t2, (0, 1, 2, 3), tmp40, (4, 1, 5, 3), (4, 0, 5, 2)) + tmp47 = einsum(v.oovv, (0, 1, 2, 3), t2, (0, 1, 4, 5), (4, 5, 2, 3)) + tmp206 = einsum(tmp47, (0, 1, 2, 3), t2, (4, 5, 6, 2), (4, 5, 0, 1, 6, 3)) * -1 + tmp45 = einsum(t1, (0, 1), tmp40, (2, 0, 3, 1), (2, 3)) + tmp46 = einsum(t1, (0, 1), tmp4, (2, 1), (0, 2)) + tmp49 = einsum(t1, (0, 1), tmp38, (2, 0), (2, 1)) + tmp5 = einsum(t1, (0, 1), v.oovv, (2, 0, 3, 1), (2, 3)) + tmp59 = einsum(tmp5, (0, 1), t1, (2, 1), (2, 0)) + tmp65 = einsum(tmp59, (0, 1), t1, (1, 2), (0, 2)) + tmp80 = einsum(t2, (0, 1, 2, 3), tmp10, (1, 4), (4, 0, 2, 3)) + tmp76 = einsum(t2, (0, 1, 2, 3), f.ov, (4, 3), (4, 0, 1, 2)) + tmp81 = einsum(t1, (0, 1), tmp76, (0, 2, 3, 4), (2, 3, 1, 4)) + tmp34 = einsum(v.ovoo, (0, 1, 2, 3), t2, (2, 3, 4, 5), (0, 4, 5, 1)) + tmp142 = einsum(t1, (0, 1), tmp34, (2, 3, 4, 1), (0, 2, 3, 4)) + tmp112 = einsum(v.ooov, (0, 1, 2, 3), t2, (4, 1, 5, 3), (4, 0, 2, 5)) + tmp143 = einsum(t1, (0, 1), tmp112, (2, 0, 3, 4), (2, 3, 1, 4)) + tmp146 = einsum(t2, (0, 1, 2, 3), tmp1, (4, 3), (0, 1, 2, 4)) * -1 + tmp36 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 3), (0, 2, 4, 5)) + tmp147 = einsum(tmp36, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) + tmp116 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 5, 2, 3), (4, 5, 0, 1)) + tmp149 = einsum(t1, (0, 1), tmp116, (2, 3, 0, 4), (2, 3, 1, 4)) + tmp138 = einsum(t3, (0, 1, 2, 3, 4, 5), v.oovv, (6, 2, 7, 5), (0, 1, 6, 3, 4, 7)) + tmp169 = einsum(tmp138, (0, 1, 2, 3, 4, 5), t1, (2, 5), (0, 1, 3, 4)) + tmp44 = einsum(v.oovv, (0, 1, 2, 3), t3, (4, 0, 1, 5, 6, 3), (4, 5, 6, 2)) + tmp170 = einsum(tmp44, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) + tmp171 = einsum(t3, (0, 1, 2, 3, 4, 5), v.oovv, (1, 2, 6, 7), (0, 3, 4, 5, 6, 7)) + tmp172 = einsum(tmp171, (0, 1, 2, 3, 4, 5), t1, (6, 4), (6, 0, 1, 2, 3, 5)) * -1 + del tmp171 + tmp135 = einsum(t3, (0, 1, 2, 3, 4, 5), v.oovv, (6, 2, 4, 5), (0, 1, 6, 3)) + tmp174 = einsum(t1, (0, 1), tmp135, (2, 3, 0, 4), (2, 3, 1, 4)) + tmp181 = einsum(v.ooov, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) + tmp220 = einsum(t1, (0, 1), tmp181, (2, 0, 3, 4), (2, 3, 4, 1)) * -1 + tmp221 = einsum(tmp220, (0, 1, 2, 3), t1, (1, 4), (0, 2, 3, 4)) * -1 + del tmp220 + tmp56 = einsum(t1, (0, 1), v.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) + tmp187 = einsum(tmp56, (0, 1, 2, 3), t1, (4, 3), (0, 4, 1, 2)) * -1 + tmp222 = einsum(t1, (0, 1), tmp187, (2, 3, 0, 4), (2, 3, 1, 4)) + tmp208 = einsum(tmp59, (0, 1), t2, (2, 1, 3, 4), (0, 2, 3, 4)) * -1 + tmp153 = einsum(t2, (0, 1, 2, 3), tmp5, (4, 3), (0, 1, 4, 2)) * -1 + tmp209 = einsum(t1, (0, 1), tmp153, (2, 3, 0, 4), (2, 3, 1, 4)) + tmp48 = einsum(tmp47, (0, 1, 2, 3), t1, (4, 2), (4, 0, 1, 3)) * -1 + tmp210 = einsum(tmp48, (0, 1, 2, 3), t1, (4, 3), (0, 4, 1, 2)) * -1 + tmp156 = einsum(t1, (0, 1), tmp40, (2, 3, 4, 1), (0, 2, 3, 4)) + tmp211 = einsum(t1, (0, 1), tmp156, (2, 3, 0, 4), (2, 3, 1, 4)) + tmp214 = einsum(t1, (0, 1), tmp122, (2, 3, 0, 4), (2, 3, 4, 1)) * -1 + tmp215 = einsum(tmp214, (0, 1, 2, 3), t1, (2, 4), (0, 1, 3, 4)) * -1 + del tmp214 + tmp66 = einsum(t1, (0, 1), v.oovv, (2, 3, 4, 1), (0, 2, 3, 4)) + tmp223 = einsum(tmp66, (0, 1, 2, 3), t1, (4, 3), (0, 4, 1, 2)) * -1 + tmp230 = einsum(t1, (0, 1), tmp223, (2, 3, 0, 4), (2, 3, 4, 1)) * -1 + tmp231 = einsum(t1, (0, 1), tmp230, (2, 3, 0, 4), (2, 3, 4, 1)) * -1 + del tmp230 + + return {f"tmp1": tmp1, f"tmp10": tmp10, f"tmp106": tmp106, f"tmp107": tmp107, f"tmp109": tmp109, f"tmp110": tmp110, f"tmp112": tmp112, f"tmp116": tmp116, f"tmp122": tmp122, f"tmp129": tmp129, f"tmp13": tmp13, f"tmp130": tmp130, f"tmp132": tmp132, f"tmp133": tmp133, f"tmp135": tmp135, f"tmp138": tmp138, f"tmp14": tmp14, f"tmp141": tmp141, f"tmp142": tmp142, f"tmp143": tmp143, f"tmp146": tmp146, f"tmp147": tmp147, f"tmp149": tmp149, f"tmp150": tmp150, f"tmp153": tmp153, f"tmp156": tmp156, f"tmp169": tmp169, f"tmp17": tmp17, f"tmp170": tmp170, f"tmp172": tmp172, f"tmp174": tmp174, f"tmp178": tmp178, f"tmp179": tmp179, f"tmp180": tmp180, f"tmp181": tmp181, f"tmp187": tmp187, f"tmp20": tmp20, f"tmp201": tmp201, f"tmp202": tmp202, f"tmp203": tmp203, f"tmp204": tmp204, f"tmp206": tmp206, f"tmp208": tmp208, f"tmp209": tmp209, f"tmp21": tmp21, f"tmp210": tmp210, f"tmp211": tmp211, f"tmp215": tmp215, f"tmp216": tmp216, f"tmp221": tmp221, f"tmp222": tmp222, f"tmp223": tmp223, f"tmp231": tmp231, f"tmp33": tmp33, f"tmp34": tmp34, f"tmp35": tmp35, f"tmp36": tmp36, f"tmp38": tmp38, f"tmp4": tmp4, f"tmp40": tmp40, f"tmp43": tmp43, f"tmp44": tmp44, f"tmp45": tmp45, f"tmp46": tmp46, f"tmp47": tmp47, f"tmp48": tmp48, f"tmp49": tmp49, f"tmp5": tmp5, f"tmp52": tmp52, f"tmp55": tmp55, f"tmp56": tmp56, f"tmp59": tmp59, f"tmp65": tmp65, f"tmp66": tmp66, f"tmp74": tmp74, f"tmp75": tmp75, f"tmp76": tmp76, f"tmp79": tmp79, f"tmp8": tmp8, f"tmp80": tmp80, f"tmp81": tmp81, f"tmp86": tmp86, f"tmp87": tmp87, f"tmp9": tmp9, f"tmp90": tmp90} + +def hbar_matvec_ea(f=None, r1=None, r2=None, r3=None, t1=None, t2=None, t3=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-10-22T10:31:50.792123. + + Parameters + ---------- + f : array + Fock matrix. + r1 : array + R1 amplitudes. + r2 : array + R2 amplitudes. + r3 : array + R3 amplitudes. + t1 : array + T1 amplitudes. + t2 : array + T2 amplitudes. + t3 : array + T3 amplitudes. + v : array + Electron repulsion integrals. + + Returns + ------- + r1new : array + Updated R1 residuals. + r2new : array + Updated R2 residuals. + r3new : array + Updated R3 residuals. + """ + + ints = kwargs["ints"] + r1new = einsum(f.ov, (0, 1), r2, (2, 1, 0), (2,)) + r1new += einsum(v.ovvv, (0, 1, 2, 3), r2, (2, 3, 0), (1,)) * -0.5 + r1new += einsum(r3, (0, 1, 2, 3, 4), v.oovv, (3, 4, 1, 2), (0,)) * 0.25 + tmp0 = einsum(v.oovv, (0, 1, 2, 3), r2, (4, 3, 1), (0, 4, 2)) + r1new += einsum(t1, (0, 1), tmp0, (0, 2, 1), (2,)) + tmp1 = np.copy(np.transpose(ints.tmp1, (1, 0))) + tmp1 += np.transpose(ints.tmp4, (1, 0)) * 0.5 + tmp1 += f.vv * -1 + r1new += einsum(r1, (0,), tmp1, (0, 1), (1,)) * -1 + del tmp1 + tmp2 = einsum(r2, (0, 1, 2), v.oovv, (3, 2, 0, 1), (3,)) + tmp5 = np.copy(tmp2) * 0.5 + del tmp2 + tmp3 = np.copy(f.ov) + tmp3 += ints.tmp5 + del ints.tmp5 + tmp4 = einsum(r1, (0,), tmp3, (1, 0), (1,)) + tmp5 += tmp4 + del tmp4 + r1new += einsum(tmp5, (0,), t1, (0, 1), (1,)) * -1 + tmp6 = einsum(r2, (0, 1, 2), v.oovv, (3, 4, 0, 1), (2, 3, 4)) + r2new = einsum(t2, (0, 1, 2, 3), tmp6, (4, 1, 0), (2, 3, 4)) * -0.25 + tmp7 = einsum(v.oovv, (0, 1, 2, 3), r3, (4, 5, 3, 0, 1), (4, 5, 2)) + r2new += einsum(tmp7, (0, 1, 2), t1, (3, 2), (1, 0, 3)) * 0.5 + tmp8 = einsum(v.oovv, (0, 1, 2, 3), r3, (4, 5, 3, 6, 1), (6, 0, 4, 5, 2)) + r2new += einsum(t1, (0, 1), tmp8, (2, 0, 3, 4, 1), (4, 3, 2)) * -1 + r2new += einsum(v.ovoo, (0, 1, 2, 3), r3, (4, 5, 1, 2, 3), (4, 5, 0)) * -0.5 + tmp9 = einsum(r1, (0,), ints.tmp66, (1, 2, 3, 0), (1, 2, 3)) + del ints.tmp66 + tmp10 = einsum(t1, (0, 1), tmp9, (2, 3, 0), (2, 3, 1)) + r2new += einsum(t1, (0, 1), tmp10, (2, 0, 3), (3, 1, 2)) * -1 + del tmp10 + r2new += einsum(f.ov, (0, 1), r3, (2, 3, 1, 4, 0), (2, 3, 4)) + r2new += einsum(v.vvvv, (0, 1, 2, 3), r2, (2, 3, 4), (0, 1, 4)) * 0.5 + tmp11 = einsum(r2, (0, 1, 2), ints.tmp40, (3, 2, 4, 1), (3, 4, 0)) + tmp30 = np.copy(tmp11) + del tmp11 + tmp12 = einsum(v.ovov, (0, 1, 2, 3), r2, (4, 1, 2), (0, 4, 3)) + tmp30 += tmp12 + del tmp12 + tmp13 = einsum(r3, (0, 1, 2, 3, 4), v.ovvv, (4, 5, 1, 2), (3, 0, 5)) + tmp30 += tmp13 * 0.5 + del tmp13 + tmp14 = einsum(r2, (0, 1, 2), v.ovvv, (2, 3, 4, 1), (0, 3, 4)) + tmp15 = einsum(tmp14, (0, 1, 2), t1, (3, 2), (3, 0, 1)) * -1 + tmp30 += tmp15 * -1 + del tmp15 + tmp16 = einsum(r2, (0, 1, 2), v.ooov, (3, 2, 4, 1), (3, 4, 0)) + tmp22 = np.copy(tmp16) + tmp17 = einsum(r3, (0, 1, 2, 3, 4), v.oovv, (5, 4, 1, 2), (3, 5, 0)) + tmp22 += np.transpose(tmp17, (1, 0, 2)) * 0.5 + tmp18 = einsum(t1, (0, 1), tmp0, (2, 3, 1), (0, 2, 3)) * -1 + tmp22 += np.transpose(tmp18, (1, 0, 2)) * -1 + tmp19 = einsum(r2, (0, 1, 2), tmp3, (3, 1), (2, 3, 0)) * -1 + tmp22 += np.transpose(tmp19, (1, 0, 2)) * -1 + tmp20 = np.copy(ints.tmp40) + tmp20 += ints.tmp56 + del ints.tmp56 + tmp21 = einsum(tmp20, (0, 1, 2, 3), r1, (3,), (0, 1, 2)) + del tmp20 + tmp22 += np.transpose(tmp21, (1, 0, 2)) * -1 + tmp23 = einsum(tmp22, (0, 1, 2), t1, (0, 3), (1, 3, 2)) + del tmp22 + tmp30 += np.transpose(tmp23, (0, 2, 1)) + del tmp23 + tmp24 = np.copy(f.vv) * 2 + tmp24 += np.transpose(ints.tmp4, (1, 0)) * -1 + tmp25 = einsum(r2, (0, 1, 2), tmp24, (1, 3), (2, 0, 3)) * -0.5 + del tmp24 + tmp30 += np.transpose(tmp25, (0, 2, 1)) * -1 + del tmp25 + tmp26 = einsum(v.ovov, (0, 1, 2, 3), r1, (3,), (0, 2, 1)) + tmp28 = np.copy(tmp26) + tmp27 = einsum(v.ovvv, (0, 1, 2, 3), r2, (2, 3, 4), (4, 0, 1)) + tmp28 += np.transpose(tmp27, (1, 0, 2)) * -0.5 + tmp29 = einsum(t1, (0, 1), tmp28, (0, 2, 3), (2, 1, 3)) + del tmp28 + tmp30 += tmp29 * -1 + del tmp29 + r2new += np.transpose(tmp30, (1, 2, 0)) * -1 + r2new += np.transpose(tmp30, (2, 1, 0)) + del tmp30 + tmp31 = einsum(ints.tmp1, (0, 1), r2, (2, 1, 3), (3, 0, 2)) + tmp33 = np.copy(tmp31) + del tmp31 + tmp32 = einsum(ints.tmp36, (0, 1, 2, 3), r1, (3,), (0, 1, 2)) + tmp33 += tmp32 + del tmp32 + r2new += np.transpose(tmp33, (1, 2, 0)) + r2new += np.transpose(tmp33, (2, 1, 0)) * -1 + del tmp33 + tmp34 = np.copy(ints.tmp20) + del ints.tmp20 + tmp34 += ints.tmp44 * 0.5 + tmp34 += ints.tmp48 * 0.5 + del ints.tmp48 + tmp34 += ints.tmp34 * -0.5 + tmp34 += np.transpose(v.ovvv, (0, 2, 3, 1)) * -1 + r2new += einsum(tmp34, (0, 1, 2, 3), r1, (3,), (2, 1, 0)) * -1 + del tmp34 + tmp35 = np.copy(f.oo) + tmp35 += ints.tmp10 + tmp35 += ints.tmp21 + tmp35 += np.transpose(ints.tmp38, (1, 0)) * 0.5 + tmp35 += np.transpose(ints.tmp59, (1, 0)) + r2new += einsum(tmp35, (0, 1), r2, (2, 3, 0), (2, 3, 1)) * -1 + del tmp35 + r2new += einsum(t2, (0, 1, 2, 3), tmp5, (1,), (2, 3, 0)) + tmp36 = einsum(r1, (0,), v.ooov, (1, 2, 3, 0), (1, 2, 3)) + tmp37 = np.copy(np.transpose(tmp36, (1, 0, 2))) * -2 + tmp37 += np.transpose(tmp6, (2, 1, 0)) + tmp38 = einsum(t1, (0, 1), tmp37, (0, 2, 3), (2, 3, 1)) * -1 + del tmp37 + r2new += einsum(t1, (0, 1), tmp38, (0, 2, 3), (1, 3, 2)) * -0.5 + del tmp38 + tmp39 = np.copy(ints.tmp14) + del ints.tmp14 + tmp39 += ints.tmp17 + del ints.tmp17 + tmp39 += ints.tmp33 * 0.5 + del ints.tmp33 + tmp39 += ints.tmp35 * 0.5 + del ints.tmp35 + tmp39 += ints.tmp46 * 0.5 + del ints.tmp46 + tmp39 += ints.tmp49 * 0.5 + del ints.tmp49 + tmp39 += ints.tmp52 + del ints.tmp52 + tmp39 += ints.tmp55 + del ints.tmp55 + tmp39 += ints.tmp65 + del ints.tmp65 + tmp39 += ints.tmp8 + del ints.tmp8 + tmp39 += f.ov * -1 + tmp39 += ints.tmp13 * -1 + del ints.tmp13 + tmp39 += ints.tmp43 * -0.25 + del ints.tmp43 + tmp39 += ints.tmp45 * -1 + del ints.tmp45 + tmp39 += ints.tmp9 * -1 + del ints.tmp9 + r2new += einsum(r1, (0,), tmp39, (1, 2), (0, 2, 1)) * -1 + r2new += einsum(tmp39, (0, 1), r1, (2,), (1, 2, 0)) + tmp40 = einsum(r3, (0, 1, 2, 3, 4), v.oovv, (3, 4, 5, 6), (0, 1, 2, 5, 6)) + tmp41 = einsum(tmp40, (0, 1, 2, 3, 4), t1, (5, 3), (5, 0, 1, 2, 4)) * -1 + del tmp40 + r3new = einsum(tmp41, (0, 1, 2, 3, 4), t1, (5, 4), (2, 3, 1, 5, 0)) * 0.5 + del tmp41 + tmp42 = einsum(r3, (0, 1, 2, 3, 4), v.ovov, (5, 2, 4, 6), (3, 5, 0, 1, 6)) + tmp50 = np.copy(np.transpose(tmp42, (0, 1, 3, 2, 4))) + del tmp42 + tmp43 = einsum(t2, (0, 1, 2, 3), tmp26, (1, 4, 5), (0, 4, 2, 3, 5)) + del tmp26 + tmp50 += np.transpose(tmp43, (0, 1, 3, 2, 4)) + del tmp43 + tmp44 = einsum(ints.tmp47, (0, 1, 2, 3), r2, (4, 2, 5), (5, 0, 1, 3, 4)) + del ints.tmp47 + tmp45 = einsum(t1, (0, 1), tmp44, (2, 3, 4, 1, 5), (2, 0, 3, 4, 5)) + del tmp44 + tmp50 += tmp45 * 0.5 + del tmp45 + tmp46 = einsum(t2, (0, 1, 2, 3), tmp27, (4, 1, 5), (4, 0, 2, 3, 5)) + del tmp27 + tmp50 += np.transpose(tmp46, (0, 1, 3, 2, 4)) * 0.5 + del tmp46 + tmp47 = einsum(t2, (0, 1, 2, 3), tmp8, (4, 1, 5, 6, 3), (4, 0, 5, 6, 2)) + tmp50 += np.transpose(tmp47, (0, 1, 3, 2, 4)) * -1 + del tmp47 + tmp48 = np.copy(ints.tmp34) + del ints.tmp34 + tmp48 += ints.tmp44 * -1 + del ints.tmp44 + tmp49 = einsum(tmp48, (0, 1, 2, 3), r2, (4, 3, 5), (5, 0, 4, 1, 2)) * -0.5 + del tmp48 + tmp50 += np.transpose(tmp49, (1, 0, 3, 4, 2)) * -1 + del tmp49 + r3new += np.transpose(tmp50, (3, 2, 4, 0, 1)) * -1 + r3new += np.transpose(tmp50, (3, 4, 2, 0, 1)) + r3new += np.transpose(tmp50, (4, 3, 2, 0, 1)) * -1 + r3new += np.transpose(tmp50, (3, 2, 4, 1, 0)) + r3new += np.transpose(tmp50, (3, 4, 2, 1, 0)) * -1 + r3new += np.transpose(tmp50, (4, 3, 2, 1, 0)) + del tmp50 + tmp51 = einsum(tmp6, (0, 1, 2), t3, (3, 2, 1, 4, 5, 6), (0, 3, 4, 5, 6)) * -1 + r3new += np.transpose(tmp51, (2, 3, 4, 0, 1)) * 0.25 + r3new += np.transpose(tmp51, (2, 3, 4, 1, 0)) * -0.25 + del tmp51 + tmp52 = einsum(r1, (0,), ints.tmp110, (1, 2, 3, 4, 5, 0), (1, 2, 3, 4, 5)) + del ints.tmp110 + tmp65 = np.copy(np.transpose(tmp52, (0, 1, 2, 4, 3))) * -1 + del tmp52 + tmp53 = einsum(v.vvvv, (0, 1, 2, 3), r3, (4, 2, 3, 5, 6), (5, 6, 4, 0, 1)) + tmp65 += np.transpose(tmp53, (1, 0, 2, 4, 3)) * -0.5 + del tmp53 + tmp54 = einsum(ints.tmp216, (0, 1, 2, 3, 4, 5), r1, (5,), (0, 1, 2, 3, 4)) + del ints.tmp216 + tmp55 = einsum(t1, (0, 1), tmp54, (2, 3, 4, 0, 5), (2, 3, 4, 5, 1)) + del tmp54 + tmp56 = einsum(t1, (0, 1), tmp55, (2, 3, 0, 4, 5), (2, 3, 4, 1, 5)) + del tmp55 + tmp65 += np.transpose(tmp56, (0, 1, 2, 4, 3)) * -1 + del tmp56 + tmp57 = einsum(r3, (0, 1, 2, 3, 4), v.oovv, (5, 6, 1, 2), (3, 4, 5, 6, 0)) + tmp58 = einsum(tmp57, (0, 1, 2, 3, 4), t2, (3, 2, 5, 6), (0, 1, 4, 5, 6)) * -1 + tmp65 += np.transpose(tmp58, (1, 0, 2, 4, 3)) * -0.25 + del tmp58 + tmp59 = einsum(t1, (0, 1), tmp57, (2, 3, 0, 4, 5), (2, 3, 4, 5, 1)) * -1 + del tmp57 + tmp60 = einsum(tmp59, (0, 1, 2, 3, 4), t1, (2, 5), (0, 1, 3, 4, 5)) * -1 + del tmp59 + tmp65 += np.transpose(tmp60, (1, 0, 2, 4, 3)) * -0.5 + del tmp60 + tmp61 = np.copy(ints.tmp1) * 2 + del ints.tmp1 + tmp61 += ints.tmp4 + del ints.tmp4 + tmp62 = einsum(r3, (0, 1, 2, 3, 4), tmp61, (5, 2), (3, 4, 0, 1, 5)) * 0.5 + del tmp61 + tmp65 += np.transpose(tmp62, (1, 0, 4, 2, 3)) * -1 + del tmp62 + tmp63 = np.copy(ints.tmp116) * 0.5 + del ints.tmp116 + tmp63 += ints.tmp153 + del ints.tmp153 + tmp63 += ints.tmp187 + del ints.tmp187 + tmp63 += ints.tmp135 * -0.5 + del ints.tmp135 + tmp64 = einsum(tmp63, (0, 1, 2, 3), r2, (4, 5, 2), (0, 1, 4, 5, 3)) + del tmp63 + tmp65 += np.transpose(tmp64, (0, 1, 4, 3, 2)) * -1 + del tmp64 + r3new += np.transpose(tmp65, (2, 3, 4, 1, 0)) + r3new += np.transpose(tmp65, (3, 2, 4, 1, 0)) * -1 + r3new += np.transpose(tmp65, (3, 4, 2, 1, 0)) + del tmp65 + tmp66 = einsum(v.ooov, (0, 1, 2, 3), r2, (4, 5, 2), (0, 1, 4, 5, 3)) + tmp77 = np.copy(np.transpose(tmp66, (1, 0, 3, 2, 4))) + del tmp66 + tmp67 = einsum(r2, (0, 1, 2), ints.tmp138, (3, 4, 2, 5, 6, 1), (3, 4, 5, 6, 0)) + tmp77 += np.transpose(tmp67, (1, 0, 3, 2, 4)) * -1 + del tmp67 + tmp68 = einsum(tmp7, (0, 1, 2), t2, (3, 4, 5, 2), (3, 4, 0, 1, 5)) * -1 + del tmp7 + tmp77 += np.transpose(tmp68, (1, 0, 3, 2, 4)) * 0.5 + del tmp68 + tmp69 = einsum(ints.tmp138, (0, 1, 2, 3, 4, 5), r1, (5,), (0, 1, 2, 3, 4)) + del ints.tmp138 + tmp73 = np.copy(tmp69) + del tmp69 + tmp70 = einsum(r3, (0, 1, 2, 3, 4), tmp3, (5, 2), (3, 4, 5, 0, 1)) + del tmp3 + tmp73 += np.transpose(tmp70, (1, 0, 2, 3, 4)) * -1 + del tmp70 + tmp71 = np.copy(ints.tmp122) + tmp71 += v.oooo * 2 + tmp72 = einsum(tmp71, (0, 1, 2, 3), r2, (4, 5, 2), (0, 1, 3, 4, 5)) * 0.5 + del tmp71 + tmp73 += np.transpose(tmp72, (0, 1, 2, 4, 3)) + del tmp72 + tmp74 = einsum(t1, (0, 1), tmp73, (2, 3, 0, 4, 5), (2, 3, 1, 4, 5)) + del tmp73 + tmp77 += np.transpose(tmp74, (1, 0, 4, 3, 2)) + del tmp74 + tmp75 = np.copy(ints.tmp133) + del ints.tmp133 + tmp75 += ints.tmp206 * 0.5 + del ints.tmp206 + tmp76 = einsum(r1, (0,), tmp75, (1, 2, 3, 4, 5, 0), (1, 2, 3, 4, 5)) + del tmp75 + tmp77 += np.transpose(tmp76, (1, 0, 3, 2, 4)) + del tmp76 + r3new += np.transpose(tmp77, (2, 3, 4, 0, 1)) * -1 + r3new += np.transpose(tmp77, (2, 4, 3, 0, 1)) + r3new += np.transpose(tmp77, (4, 2, 3, 0, 1)) * -1 + del tmp77 + tmp78 = np.copy(tmp17) * -0.5 + del tmp17 + tmp78 += tmp18 + del tmp18 + tmp78 += tmp19 + del tmp19 + tmp78 += tmp21 + del tmp21 + tmp79 = einsum(tmp78, (0, 1, 2), t2, (3, 1, 4, 5), (3, 0, 4, 5, 2)) * -1 + del tmp78 + tmp87 = np.copy(np.transpose(tmp79, (1, 0, 4, 3, 2))) * -1 + del tmp79 + tmp80 = einsum(t2, (0, 1, 2, 3), tmp36, (1, 4, 5), (0, 4, 5, 2, 3)) * -1 + del tmp36 + tmp83 = np.copy(np.transpose(tmp80, (0, 1, 2, 4, 3))) * -1 + del tmp80 + tmp81 = np.copy(tmp9) * 2 + del tmp9 + tmp81 += np.transpose(tmp6, (0, 2, 1)) * -1 + del tmp6 + tmp82 = einsum(t2, (0, 1, 2, 3), tmp81, (4, 1, 5), (0, 4, 5, 2, 3)) * -0.5 + del tmp81 + tmp83 += np.transpose(tmp82, (1, 2, 0, 4, 3)) * -1 + del tmp82 + tmp84 = einsum(t1, (0, 1), tmp83, (2, 0, 3, 4, 5), (2, 3, 1, 4, 5)) + del tmp83 + tmp87 += np.transpose(tmp84, (0, 1, 2, 4, 3)) + del tmp84 + tmp85 = np.copy(ints.tmp112) + del ints.tmp112 + tmp85 += ints.tmp90 + del ints.tmp90 + tmp86 = einsum(tmp85, (0, 1, 2, 3), r2, (4, 5, 1), (0, 2, 4, 5, 3)) + del tmp85 + tmp87 += np.transpose(tmp86, (0, 1, 4, 3, 2)) * -1 + del tmp86 + r3new += np.transpose(tmp87, (2, 3, 4, 0, 1)) + r3new += np.transpose(tmp87, (3, 2, 4, 0, 1)) * -1 + r3new += np.transpose(tmp87, (3, 4, 2, 0, 1)) + r3new += np.transpose(tmp87, (2, 3, 4, 1, 0)) * -1 + r3new += np.transpose(tmp87, (3, 2, 4, 1, 0)) + r3new += np.transpose(tmp87, (3, 4, 2, 1, 0)) * -1 + del tmp87 + tmp88 = einsum(v.ovvv, (0, 1, 2, 3), r3, (4, 5, 3, 6, 0), (6, 4, 5, 1, 2)) + tmp89 = einsum(tmp88, (0, 1, 2, 3, 4), t1, (5, 4), (0, 5, 1, 2, 3)) * -1 + del tmp88 + tmp95 = np.copy(np.transpose(tmp89, (0, 1, 3, 2, 4))) + del tmp89 + tmp90 = einsum(ints.tmp181, (0, 1, 2, 3), r2, (4, 5, 1), (0, 2, 3, 4, 5)) + del ints.tmp181 + tmp93 = np.copy(np.transpose(tmp90, (0, 1, 2, 4, 3))) * -1 + del tmp90 + tmp91 = einsum(v.ooov, (0, 1, 2, 3), r3, (4, 5, 3, 6, 1), (6, 0, 2, 4, 5)) + tmp93 += np.transpose(tmp91, (0, 1, 2, 4, 3)) * -1 + del tmp91 + tmp92 = einsum(t1, (0, 1), tmp8, (2, 3, 4, 5, 1), (2, 0, 3, 4, 5)) * -1 + del tmp8 + tmp93 += np.transpose(tmp92, (0, 2, 1, 4, 3)) + del tmp92 + tmp94 = einsum(t1, (0, 1), tmp93, (2, 0, 3, 4, 5), (2, 3, 1, 4, 5)) + del tmp93 + tmp95 += np.transpose(tmp94, (0, 1, 4, 3, 2)) * -1 + del tmp94 + r3new += np.transpose(tmp95, (2, 3, 4, 0, 1)) * -1 + r3new += np.transpose(tmp95, (2, 4, 3, 0, 1)) + r3new += np.transpose(tmp95, (4, 2, 3, 0, 1)) * -1 + r3new += np.transpose(tmp95, (2, 3, 4, 1, 0)) + r3new += np.transpose(tmp95, (2, 4, 3, 1, 0)) * -1 + r3new += np.transpose(tmp95, (4, 2, 3, 1, 0)) + del tmp95 + tmp96 = einsum(ints.tmp150, (0, 1, 2, 3, 4, 5), r1, (5,), (0, 1, 2, 3, 4)) + del ints.tmp150 + tmp97 = einsum(t1, (0, 1), tmp96, (2, 3, 0, 4, 5), (2, 3, 4, 5, 1)) + del tmp96 + tmp102 = np.copy(tmp97) + del tmp97 + tmp98 = einsum(r3, (0, 1, 2, 3, 4), v.ovvv, (5, 6, 1, 2), (3, 4, 5, 0, 6)) + tmp100 = np.copy(np.transpose(tmp98, (1, 0, 2, 3, 4))) * -1 + del tmp98 + tmp99 = einsum(t2, (0, 1, 2, 3), tmp0, (4, 5, 3), (0, 1, 4, 5, 2)) * -1 + del tmp0 + tmp100 += np.transpose(tmp99, (1, 0, 2, 3, 4)) * -2 + del tmp99 + tmp101 = einsum(t1, (0, 1), tmp100, (2, 3, 0, 4, 5), (2, 3, 1, 4, 5)) * 0.5 + del tmp100 + tmp102 += np.transpose(tmp101, (1, 0, 3, 2, 4)) * -1 + del tmp101 + r3new += np.transpose(tmp102, (2, 3, 4, 1, 0)) + r3new += np.transpose(tmp102, (2, 4, 3, 1, 0)) * -1 + r3new += np.transpose(tmp102, (3, 2, 4, 1, 0)) * -1 + r3new += np.transpose(tmp102, (4, 2, 3, 1, 0)) + r3new += np.transpose(tmp102, (3, 4, 2, 1, 0)) + r3new += np.transpose(tmp102, (4, 3, 2, 1, 0)) * -1 + del tmp102 + tmp103 = einsum(r2, (0, 1, 2), ints.tmp156, (3, 4, 2, 5), (3, 4, 5, 0, 1)) + del ints.tmp156 + tmp114 = np.copy(np.transpose(tmp103, (0, 1, 2, 4, 3))) * -1 + del tmp103 + tmp104 = einsum(r2, (0, 1, 2), v.ovvv, (3, 1, 4, 5), (2, 3, 0, 4, 5)) + tmp114 += np.transpose(tmp104, (0, 1, 2, 4, 3)) * -1 + del tmp104 + tmp105 = einsum(r2, (0, 1, 2), v.vvvv, (3, 4, 5, 1), (2, 0, 3, 4, 5)) + tmp106 = einsum(tmp105, (0, 1, 2, 3, 4), t1, (5, 4), (0, 5, 1, 2, 3)) * -1 + del tmp105 + tmp114 += np.transpose(tmp106, (0, 1, 2, 4, 3)) + del tmp106 + tmp107 = einsum(t2, (0, 1, 2, 3), tmp16, (1, 4, 5), (0, 4, 5, 2, 3)) * -1 + del tmp16 + tmp114 += np.transpose(tmp107, (0, 1, 2, 4, 3)) + del tmp107 + tmp108 = einsum(r2, (0, 1, 2), v.ooov, (3, 4, 5, 1), (2, 3, 4, 5, 0)) + tmp111 = np.copy(np.transpose(tmp108, (0, 2, 1, 3, 4))) * -1 + del tmp108 + tmp109 = einsum(v.oovv, (0, 1, 2, 3), r2, (4, 3, 5), (5, 0, 1, 4, 2)) + tmp110 = einsum(t1, (0, 1), tmp109, (2, 3, 4, 5, 1), (2, 0, 3, 4, 5)) * -1 + del tmp109 + tmp111 += np.transpose(tmp110, (0, 3, 2, 1, 4)) + del tmp110 + tmp112 = einsum(t1, (0, 1), tmp111, (2, 0, 3, 4, 5), (2, 3, 4, 1, 5)) + del tmp111 + tmp113 = einsum(t1, (0, 1), tmp112, (2, 0, 3, 4, 5), (2, 3, 1, 5, 4)) * -1 + del tmp112 + tmp114 += np.transpose(tmp113, (0, 1, 3, 2, 4)) + del tmp113 + r3new += np.transpose(tmp114, (2, 3, 4, 0, 1)) * -1 + r3new += np.transpose(tmp114, (3, 2, 4, 0, 1)) + r3new += np.transpose(tmp114, (3, 4, 2, 0, 1)) * -1 + r3new += np.transpose(tmp114, (2, 3, 4, 1, 0)) + r3new += np.transpose(tmp114, (3, 2, 4, 1, 0)) * -1 + r3new += np.transpose(tmp114, (3, 4, 2, 1, 0)) + del tmp114 + tmp115 = einsum(t2, (0, 1, 2, 3), tmp14, (4, 5, 3), (0, 1, 4, 2, 5)) * -1 + del tmp14 + r3new += np.transpose(tmp115, (2, 3, 4, 1, 0)) * -1 + r3new += np.transpose(tmp115, (2, 4, 3, 1, 0)) + r3new += np.transpose(tmp115, (3, 2, 4, 1, 0)) + r3new += np.transpose(tmp115, (4, 2, 3, 1, 0)) * -1 + r3new += np.transpose(tmp115, (3, 4, 2, 1, 0)) * -1 + r3new += np.transpose(tmp115, (4, 3, 2, 1, 0)) + del tmp115 + tmp116 = einsum(r2, (0, 1, 2), v.ovvv, (3, 4, 5, 1), (2, 3, 0, 4, 5)) + tmp117 = einsum(t1, (0, 1), tmp116, (2, 3, 4, 5, 1), (2, 0, 3, 4, 5)) * -1 + del tmp116 + tmp118 = einsum(t1, (0, 1), tmp117, (2, 3, 0, 4, 5), (2, 3, 4, 1, 5)) + del tmp117 + r3new += np.transpose(tmp118, (2, 3, 4, 0, 1)) * -1 + r3new += np.transpose(tmp118, (2, 4, 3, 0, 1)) + r3new += np.transpose(tmp118, (3, 2, 4, 0, 1)) + r3new += np.transpose(tmp118, (4, 2, 3, 0, 1)) * -1 + r3new += np.transpose(tmp118, (3, 4, 2, 0, 1)) * -1 + r3new += np.transpose(tmp118, (4, 3, 2, 0, 1)) + r3new += np.transpose(tmp118, (2, 3, 4, 1, 0)) + r3new += np.transpose(tmp118, (2, 4, 3, 1, 0)) * -1 + r3new += np.transpose(tmp118, (3, 2, 4, 1, 0)) * -1 + r3new += np.transpose(tmp118, (4, 2, 3, 1, 0)) + r3new += np.transpose(tmp118, (3, 4, 2, 1, 0)) + r3new += np.transpose(tmp118, (4, 3, 2, 1, 0)) * -1 + del tmp118 + tmp119 = einsum(r2, (0, 1, 2), ints.tmp223, (3, 4, 2, 5), (3, 4, 5, 0, 1)) + del ints.tmp223 + tmp120 = einsum(tmp119, (0, 1, 2, 3, 4), t1, (2, 5), (0, 1, 3, 4, 5)) + del tmp119 + r3new += np.transpose(tmp120, (3, 2, 4, 1, 0)) + r3new += np.transpose(tmp120, (3, 4, 2, 1, 0)) * -1 + r3new += np.transpose(tmp120, (4, 3, 2, 1, 0)) + del tmp120 + tmp121 = np.copy(f.oo) + tmp121 += ints.tmp10 + del ints.tmp10 + tmp121 += ints.tmp21 + del ints.tmp21 + tmp121 += np.transpose(ints.tmp59, (1, 0)) + del ints.tmp59 + tmp122 = einsum(r3, (0, 1, 2, 3, 4), tmp121, (4, 5), (3, 5, 0, 1, 2)) * -1 + del tmp121 + r3new += np.transpose(tmp122, (2, 3, 4, 1, 0)) * -1 + r3new += np.transpose(tmp122, (2, 3, 4, 0, 1)) + del tmp122 + tmp123 = einsum(r2, (0, 1, 2), ints.tmp76, (2, 3, 4, 5), (3, 4, 5, 0, 1)) + del ints.tmp76 + tmp125 = np.copy(np.transpose(tmp123, (0, 1, 2, 4, 3))) * -1 + del tmp123 + tmp124 = einsum(f.vv, (0, 1), r3, (2, 3, 1, 4, 5), (4, 5, 0, 2, 3)) + tmp125 += np.transpose(tmp124, (1, 0, 2, 4, 3)) + del tmp124 + r3new += np.transpose(tmp125, (2, 3, 4, 1, 0)) * -1 + r3new += np.transpose(tmp125, (3, 2, 4, 1, 0)) + r3new += np.transpose(tmp125, (3, 4, 2, 1, 0)) * -1 + del tmp125 + tmp126 = einsum(ints.tmp38, (0, 1), r3, (2, 3, 4, 5, 1), (0, 5, 2, 3, 4)) + del ints.tmp38 + tmp131 = np.copy(np.transpose(tmp126, (0, 1, 3, 4, 2))) * 0.5 + del tmp126 + tmp127 = einsum(v.ovoo, (0, 1, 2, 3), r3, (4, 5, 6, 2, 3), (0, 4, 5, 6, 1)) + tmp128 = einsum(tmp127, (0, 1, 2, 3, 4), t1, (5, 4), (5, 0, 1, 2, 3)) + del tmp127 + tmp131 += np.transpose(tmp128, (0, 1, 3, 4, 2)) * -0.5 + del tmp128 + tmp129 = np.copy(ints.tmp130) + del ints.tmp130 + tmp129 += ints.tmp172 + del ints.tmp172 + tmp130 = einsum(r1, (0,), tmp129, (1, 2, 3, 4, 5, 0), (1, 2, 3, 4, 5)) * 0.5 + del tmp129 + tmp131 += np.transpose(tmp130, (0, 1, 4, 2, 3)) + del tmp130 + r3new += np.transpose(tmp131, (4, 2, 3, 0, 1)) + r3new += np.transpose(tmp131, (4, 2, 3, 1, 0)) * -1 + del tmp131 + tmp132 = einsum(r2, (0, 1, 2), ints.tmp36, (3, 4, 5, 1), (3, 2, 4, 5, 0)) + del ints.tmp36 + tmp137 = np.copy(tmp132) * -1 + del tmp132 + tmp133 = einsum(r2, (0, 1, 2), ints.tmp40, (3, 4, 5, 1), (3, 4, 2, 5, 0)) + del ints.tmp40 + tmp134 = einsum(tmp133, (0, 1, 2, 3, 4), t1, (1, 5), (0, 2, 3, 4, 5)) + del tmp133 + tmp137 += tmp134 + del tmp134 + tmp135 = einsum(r2, (0, 1, 2), v.ovov, (3, 4, 5, 1), (2, 3, 5, 0, 4)) + tmp136 = einsum(t1, (0, 1), tmp135, (2, 0, 3, 4, 5), (2, 3, 4, 1, 5)) + del tmp135 + tmp137 += tmp136 + del tmp136 + r3new += np.transpose(tmp137, (2, 3, 4, 0, 1)) + r3new += np.transpose(tmp137, (2, 4, 3, 0, 1)) * -1 + r3new += np.transpose(tmp137, (3, 2, 4, 0, 1)) * -1 + r3new += np.transpose(tmp137, (4, 2, 3, 0, 1)) + r3new += np.transpose(tmp137, (3, 4, 2, 0, 1)) + r3new += np.transpose(tmp137, (4, 3, 2, 0, 1)) * -1 + r3new += np.transpose(tmp137, (2, 3, 4, 1, 0)) * -1 + r3new += np.transpose(tmp137, (2, 4, 3, 1, 0)) + r3new += np.transpose(tmp137, (3, 2, 4, 1, 0)) + r3new += np.transpose(tmp137, (4, 2, 3, 1, 0)) * -1 + r3new += np.transpose(tmp137, (3, 4, 2, 1, 0)) * -1 + r3new += np.transpose(tmp137, (4, 3, 2, 1, 0)) + del tmp137 + tmp138 = np.copy(ints.tmp122) * 0.5 + del ints.tmp122 + tmp138 += v.oooo + r3new += einsum(tmp138, (0, 1, 2, 3), r3, (4, 5, 6, 3, 2), (4, 5, 6, 1, 0)) * 0.5 + del tmp138 + r3new += einsum(t3, (0, 1, 2, 3, 4, 5), tmp5, (2,), (3, 4, 5, 0, 1)) * -1 + del tmp5 + tmp142 = np.copy(ints.tmp106) * 0.5 + del ints.tmp106 + tmp142 += ints.tmp109 * 0.5 + del ints.tmp109 + tmp142 += ints.tmp169 + del ints.tmp169 + tmp142 += ints.tmp178 + del ints.tmp178 + tmp142 += ints.tmp180 + del ints.tmp180 + tmp142 += ints.tmp202 * 0.25 + del ints.tmp202 + tmp142 += ints.tmp210 * 0.5 + del ints.tmp210 + tmp142 += ints.tmp215 * 0.5 + del ints.tmp215 + tmp142 += ints.tmp231 + del ints.tmp231 + tmp142 += ints.tmp79 + del ints.tmp79 + tmp142 += v.oovv + tmp139 = np.copy(ints.tmp143) + del ints.tmp143 + tmp139 += ints.tmp147 + del ints.tmp147 + tmp139 += ints.tmp179 + del ints.tmp179 + tmp139 += ints.tmp107 * -1 + del ints.tmp107 + tmp139 += ints.tmp211 * -1 + del ints.tmp211 + tmp142 += tmp139 + tmp142 += np.transpose(tmp139, (0, 1, 3, 2)) * -1 + tmp142 += np.transpose(tmp139, (1, 0, 2, 3)) * -1 + tmp142 += np.transpose(tmp139, (1, 0, 3, 2)) + tmp140 = np.copy(ints.tmp129) * 0.5 + del ints.tmp129 + tmp140 += ints.tmp142 * 0.5 + del ints.tmp142 + tmp140 += ints.tmp201 * 0.5 + del ints.tmp201 + tmp140 += ints.tmp208 + del ints.tmp208 + tmp140 += ints.tmp221 + del ints.tmp221 + tmp140 += ints.tmp87 + del ints.tmp87 + tmp140 += ints.tmp141 * -1 + del ints.tmp141 + tmp140 += ints.tmp170 * -0.5 + del ints.tmp170 + tmp140 += ints.tmp74 * -1 + del ints.tmp74 + tmp140 += ints.tmp80 * -1 + del ints.tmp80 + tmp142 += tmp140 * -1 + tmp142 += np.transpose(tmp140, (1, 0, 2, 3)) + tmp141 = np.copy(ints.tmp132) * 0.5 + tmp141 += ints.tmp149 * 0.5 + tmp141 += ints.tmp203 * 0.5 + del ints.tmp203 + tmp141 += ints.tmp209 + tmp141 += ints.tmp222 + tmp141 += ints.tmp75 + tmp141 += ints.tmp86 + tmp141 += ints.tmp146 * -1 + tmp141 += ints.tmp174 * -0.5 + tmp141 += ints.tmp204 * -1 + tmp141 += ints.tmp81 * -1 + tmp142 += tmp141 * -1 + tmp142 += np.transpose(tmp141, (0, 1, 3, 2)) + del tmp141 + r3new += einsum(tmp142, (0, 1, 2, 3), r1, (4,), (3, 4, 2, 1, 0)) * -1 + r3new += einsum(tmp142, (0, 1, 2, 3), r1, (4,), (3, 2, 4, 1, 0)) + del tmp142 + tmp144 = np.copy(v.oovv) + tmp144 += tmp139 + tmp144 += np.transpose(tmp139, (0, 1, 3, 2)) * -1 + tmp144 += np.transpose(tmp139, (1, 0, 2, 3)) * -1 + tmp144 += np.transpose(tmp139, (1, 0, 3, 2)) + del tmp139 + tmp144 += tmp140 * -1 + tmp144 += np.transpose(tmp140, (1, 0, 2, 3)) + del tmp140 + tmp143 = np.copy(ints.tmp132) * 0.5 + del ints.tmp132 + tmp143 += ints.tmp149 * 0.5 + del ints.tmp149 + tmp143 += ints.tmp209 + del ints.tmp209 + tmp143 += ints.tmp222 + del ints.tmp222 + tmp143 += ints.tmp75 + del ints.tmp75 + tmp143 += ints.tmp86 + del ints.tmp86 + tmp143 += ints.tmp146 * -1 + del ints.tmp146 + tmp143 += ints.tmp174 * -0.5 + del ints.tmp174 + tmp143 += ints.tmp204 * -1 + del ints.tmp204 + tmp143 += ints.tmp81 * -1 + del ints.tmp81 + tmp144 += tmp143 * -1 + tmp144 += np.transpose(tmp143, (0, 1, 3, 2)) + del tmp143 + r3new += einsum(r1, (0,), tmp144, (1, 2, 3, 4), (0, 4, 3, 2, 1)) + del tmp144 + r3new += einsum(r2, (0, 1, 2), tmp39, (3, 4), (4, 0, 1, 2, 3)) * -1 + r3new += einsum(tmp39, (0, 1), r2, (2, 3, 4), (2, 1, 3, 0, 4)) * -1 + r3new += einsum(r2, (0, 1, 2), tmp39, (3, 4), (0, 1, 4, 2, 3)) * -1 + r3new += einsum(tmp39, (0, 1), r2, (2, 3, 4), (1, 2, 3, 0, 4)) + r3new += einsum(tmp39, (0, 1), r2, (2, 3, 4), (2, 1, 3, 4, 0)) + r3new += einsum(tmp39, (0, 1), r2, (2, 3, 4), (2, 3, 1, 0, 4)) + del tmp39 + + return {f"r1new": r1new, f"r2new": r2new, f"r3new": r3new} + +def hbar_matvec_ee_intermediates(f=None, t1=None, t2=None, t3=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-10-22T10:39:34.356736. + + Parameters + ---------- + f : array + Fock matrix. + t1 : array + T1 amplitudes. + t2 : array + T2 amplitudes. + t3 : array + T3 amplitudes. + v : array + Electron repulsion integrals. + + Returns + ------- + tmp0 : array + tmp10 : array + tmp101 : array + tmp102 : array + tmp108 : array + tmp11 : array + tmp110 : array + tmp12 : array + tmp123 : array + tmp125 : array + tmp13 : array + tmp137 : array + tmp138 : array + tmp141 : array + tmp142 : array + tmp145 : array + tmp146 : array + tmp152 : array + tmp153 : array + tmp171 : array + tmp172 : array + tmp174 : array + tmp175 : array + tmp178 : array + tmp179 : array + tmp19 : array + tmp197 : array + tmp198 : array + tmp2 : array + tmp20 : array + tmp200 : array + tmp203 : array + tmp204 : array + tmp206 : array + tmp210 : array + tmp217 : array + tmp218 : array + tmp219 : array + tmp221 : array + tmp222 : array + tmp227 : array + tmp228 : array + tmp229 : array + tmp230 : array + tmp233 : array + tmp24 : array + tmp25 : array + tmp252 : array + tmp253 : array + tmp256 : array + tmp257 : array + tmp259 : array + tmp263 : array + tmp271 : array + tmp272 : array + tmp274 : array + tmp28 : array + tmp294 : array + tmp295 : array + tmp296 : array + tmp298 : array + tmp299 : array + tmp300 : array + tmp303 : array + tmp306 : array + tmp307 : array + tmp309 : array + tmp310 : array + tmp312 : array + tmp313 : array + tmp314 : array + tmp320 : array + tmp325 : array + tmp326 : array + tmp334 : array + tmp36 : array + tmp37 : array + tmp4 : array + tmp58 : array + tmp59 : array + tmp61 : array + tmp64 : array + tmp65 : array + tmp67 : array + tmp71 : array + tmp77 : array + tmp78 : array + tmp80 : array + tmp82 : array + tmp83 : array + tmp84 : array + tmp87 : array + tmp88 : array + tmp9 : array + tmp90 : array + tmp94 : array + """ + + tmp19 = einsum(f.oo, (0, 1), t1, (1, 2), (0, 2)) + tmp24 = einsum(t2, (0, 1, 2, 3), f.ov, (1, 3), (0, 2)) + tmp77 = einsum(t3, (0, 1, 2, 3, 4, 5), v.oovv, (1, 2, 4, 5), (0, 3)) + tmp20 = einsum(t1, (0, 1), f.vv, (2, 1), (0, 2)) + tmp36 = einsum(v.ovov, (0, 1, 2, 3), t1, (2, 1), (0, 3)) + tmp58 = einsum(v.ovoo, (0, 1, 2, 3), t2, (2, 3, 4, 1), (0, 4)) + tmp64 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 0, 2, 3), (4, 1)) + tmp171 = einsum(t2, (0, 1, 2, 3), v.oooo, (4, 5, 0, 1), (4, 5, 2, 3)) + tmp178 = einsum(v.vvvv, (0, 1, 2, 3), t2, (4, 5, 2, 3), (4, 5, 0, 1)) + tmp2 = einsum(t1, (0, 1), v.ooov, (2, 0, 3, 1), (2, 3)) + tmp101 = einsum(tmp2, (0, 1), t1, (0, 2), (1, 2)) + tmp137 = einsum(t2, (0, 1, 2, 3), f.oo, (4, 1), (4, 0, 2, 3)) + tmp138 = einsum(t2, (0, 1, 2, 3), f.vv, (4, 3), (0, 1, 4, 2)) + tmp141 = einsum(f.ov, (0, 1), t3, (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) + tmp142 = einsum(f.ov, (0, 1), t3, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) + tmp152 = einsum(t1, (0, 1), v.ooov, (2, 3, 0, 4), (2, 3, 1, 4)) + tmp153 = einsum(t1, (0, 1), v.ovvv, (2, 1, 3, 4), (0, 2, 3, 4)) + tmp172 = einsum(t2, (0, 1, 2, 3), v.oooo, (4, 5, 6, 1), (0, 4, 5, 6, 2, 3)) + tmp174 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 2, 5, 1), (4, 0, 5, 3)) + tmp175 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 5, 6, 3), (0, 1, 4, 6, 2, 5)) + tmp179 = einsum(v.vvvv, (0, 1, 2, 3), t2, (4, 5, 6, 3), (4, 5, 6, 0, 1, 2)) + tmp197 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovoo, (6, 5, 1, 2), (0, 6, 3, 4)) + tmp198 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ooov, (6, 2, 7, 5), (0, 1, 6, 7, 3, 4)) + tmp200 = einsum(v.ovoo, (0, 1, 2, 3), t3, (4, 2, 3, 5, 6, 7), (4, 0, 5, 6, 7, 1)) + tmp203 = einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 0, 6, 2, 3), (4, 5, 6, 1)) + tmp204 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovvv, (6, 7, 4, 5), (0, 1, 2, 6, 3, 7)) + tmp206 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovvv, (2, 6, 7, 5), (0, 1, 3, 4, 6, 7)) + tmp210 = einsum(t3, (0, 1, 2, 3, 4, 5), v.oovv, (6, 7, 4, 5), (0, 1, 2, 6, 7, 3)) + tmp222 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), (0, 1, 4, 5, 6, 2)) + tmp259 = einsum(t3, (0, 1, 2, 3, 4, 5), v.oovv, (1, 2, 6, 7), (0, 3, 4, 5, 6, 7)) + tmp0 = einsum(t1, (0, 1), f.ov, (2, 1), (2, 0)) + tmp28 = einsum(tmp0, (0, 1), t1, (0, 2), (1, 2)) + tmp4 = einsum(v.ovvv, (0, 1, 2, 3), t1, (0, 3), (1, 2)) + tmp108 = einsum(t1, (0, 1), tmp4, (2, 1), (0, 2)) + tmp217 = einsum(t2, (0, 1, 2, 3), tmp2, (1, 4), (0, 4, 2, 3)) * -1 + tmp270 = einsum(t1, (0, 1), v.oooo, (2, 3, 4, 0), (2, 3, 4, 1)) + tmp271 = einsum(t1, (0, 1), tmp270, (2, 3, 0, 4), (2, 3, 4, 1)) * -1 + del tmp270 + tmp37 = einsum(v.ovov, (0, 1, 2, 3), t1, (4, 3), (4, 0, 2, 1)) + tmp272 = einsum(t1, (0, 1), tmp37, (2, 0, 3, 4), (2, 3, 1, 4)) + tmp273 = einsum(v.vvvv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) + tmp274 = einsum(t1, (0, 1), tmp273, (2, 3, 4, 1), (2, 0, 3, 4)) * -1 + del tmp273 + tmp9 = einsum(v.oovv, (0, 1, 2, 3), t2, (4, 1, 2, 3), (4, 0)) + tmp294 = einsum(t2, (0, 1, 2, 3), tmp9, (4, 1), (0, 4, 2, 3)) + tmp71 = einsum(v.oovv, (0, 1, 2, 3), t2, (4, 5, 2, 3), (4, 5, 0, 1)) + tmp295 = einsum(tmp71, (0, 1, 2, 3), t2, (3, 2, 4, 5), (0, 1, 4, 5)) * -1 + tmp296 = einsum(tmp71, (0, 1, 2, 3), t2, (4, 2, 5, 6), (0, 1, 4, 3, 5, 6)) * -1 + tmp10 = einsum(t2, (0, 1, 2, 3), v.oovv, (0, 1, 4, 3), (2, 4)) + tmp298 = einsum(t2, (0, 1, 2, 3), tmp10, (4, 3), (0, 1, 2, 4)) + tmp11 = einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 3), (0, 4, 2, 5)) + tmp299 = einsum(t2, (0, 1, 2, 3), tmp11, (4, 1, 5, 3), (4, 0, 5, 2)) + tmp300 = einsum(tmp11, (0, 1, 2, 3), t2, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) + tmp90 = einsum(v.oovv, (0, 1, 2, 3), t2, (0, 1, 4, 5), (4, 5, 2, 3)) + tmp303 = einsum(tmp90, (0, 1, 2, 3), t2, (4, 5, 6, 2), (4, 5, 0, 1, 6, 3)) * -1 + tmp83 = einsum(t1, (0, 1), tmp11, (2, 0, 3, 1), (2, 3)) + tmp87 = einsum(t1, (0, 1), tmp10, (2, 1), (0, 2)) + tmp94 = einsum(tmp9, (0, 1), t1, (1, 2), (0, 2)) + tmp12 = einsum(t1, (0, 1), v.oovv, (2, 0, 3, 1), (2, 3)) + tmp13 = einsum(tmp12, (0, 1), t1, (2, 1), (2, 0)) + tmp123 = einsum(tmp13, (0, 1), t1, (1, 2), (0, 2)) + tmp145 = einsum(t2, (0, 1, 2, 3), tmp0, (1, 4), (4, 0, 2, 3)) + tmp25 = einsum(t2, (0, 1, 2, 3), f.ov, (4, 3), (4, 0, 1, 2)) + tmp146 = einsum(t1, (0, 1), tmp25, (0, 2, 3, 4), (2, 3, 1, 4)) + tmp61 = einsum(v.ovoo, (0, 1, 2, 3), t2, (2, 3, 4, 5), (0, 4, 5, 1)) + tmp218 = einsum(tmp61, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) + tmp102 = einsum(v.ooov, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) + tmp219 = einsum(tmp102, (0, 1, 2, 3), t2, (4, 1, 5, 6), (0, 4, 2, 3, 5, 6)) * -1 + tmp59 = einsum(v.ooov, (0, 1, 2, 3), t2, (4, 1, 5, 3), (4, 0, 2, 5)) + tmp221 = einsum(t1, (0, 1), tmp59, (2, 0, 3, 4), (2, 3, 1, 4)) + tmp227 = einsum(t2, (0, 1, 2, 3), tmp4, (4, 3), (0, 1, 2, 4)) * -1 + tmp67 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 3), (0, 2, 4, 5)) + tmp228 = einsum(t1, (0, 1), tmp67, (2, 3, 4, 1), (0, 2, 3, 4)) + tmp229 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 5, 6, 3), (4, 5, 0, 6, 1, 2)) + tmp230 = einsum(t1, (0, 1), tmp229, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) + tmp65 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 5, 2, 3), (4, 5, 0, 1)) + tmp233 = einsum(t1, (0, 1), tmp65, (2, 3, 0, 4), (2, 3, 1, 4)) + tmp82 = einsum(t3, (0, 1, 2, 3, 4, 5), v.oovv, (6, 2, 7, 5), (0, 1, 6, 3, 4, 7)) + tmp252 = einsum(tmp82, (0, 1, 2, 3, 4, 5), t1, (2, 5), (0, 1, 3, 4)) + tmp253 = einsum(tmp12, (0, 1), t3, (2, 3, 4, 5, 6, 1), (2, 3, 4, 0, 5, 6)) * -1 + tmp80 = einsum(v.oovv, (0, 1, 2, 3), t3, (4, 0, 1, 5, 6, 3), (4, 5, 6, 2)) + tmp256 = einsum(tmp80, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) + tmp257 = einsum(tmp82, (0, 1, 2, 3, 4, 5), t1, (6, 5), (6, 0, 1, 2, 3, 4)) + tmp78 = einsum(t3, (0, 1, 2, 3, 4, 5), v.oovv, (6, 2, 4, 5), (0, 1, 6, 3)) + tmp263 = einsum(t1, (0, 1), tmp78, (2, 3, 0, 4), (2, 3, 1, 4)) + tmp313 = einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 6, 3), (0, 1, 4, 5, 2, 6)) + tmp314 = einsum(t1, (0, 1), tmp313, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) + tmp324 = einsum(tmp102, (0, 1, 2, 3), t1, (1, 4), (0, 2, 3, 4)) * -1 + tmp325 = einsum(t1, (0, 1), tmp324, (2, 0, 3, 4), (2, 3, 4, 1)) * -1 + del tmp324 + tmp109 = einsum(t1, (0, 1), v.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) + tmp110 = einsum(t1, (0, 1), tmp109, (2, 3, 4, 1), (2, 0, 3, 4)) * -1 + del tmp109 + tmp326 = einsum(t1, (0, 1), tmp110, (2, 3, 0, 4), (2, 3, 1, 4)) + tmp306 = einsum(t2, (0, 1, 2, 3), tmp13, (4, 1), (4, 0, 2, 3)) * -1 + tmp84 = einsum(tmp12, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4)) * -1 + tmp307 = einsum(t1, (0, 1), tmp84, (2, 3, 0, 4), (2, 3, 1, 4)) + tmp308 = einsum(tmp90, (0, 1, 2, 3), t1, (4, 2), (4, 0, 1, 3)) * -1 + tmp309 = einsum(t1, (0, 1), tmp308, (2, 3, 4, 1), (2, 0, 3, 4)) * -1 + del tmp308 + tmp124 = einsum(t1, (0, 1), v.oovv, (2, 3, 4, 1), (0, 2, 3, 4)) + tmp125 = einsum(tmp124, (0, 1, 2, 3), t1, (4, 3), (0, 4, 1, 2)) * -1 + del tmp124 + tmp310 = einsum(t2, (0, 1, 2, 3), tmp125, (4, 5, 1, 6), (4, 5, 0, 6, 2, 3)) * -1 + tmp88 = einsum(tmp11, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) + tmp312 = einsum(t1, (0, 1), tmp88, (2, 3, 0, 4), (2, 3, 1, 4)) + tmp319 = einsum(tmp71, (0, 1, 2, 3), t1, (2, 4), (0, 1, 3, 4)) * -1 + tmp320 = einsum(t1, (0, 1), tmp319, (2, 3, 0, 4), (2, 3, 4, 1)) * -1 + del tmp319 + tmp333 = einsum(t1, (0, 1), tmp125, (2, 3, 0, 4), (2, 3, 4, 1)) * -1 + tmp334 = einsum(t1, (0, 1), tmp333, (2, 3, 0, 4), (2, 3, 4, 1)) * -1 + del tmp333 + + return {f"tmp0": tmp0, f"tmp10": tmp10, f"tmp101": tmp101, f"tmp102": tmp102, f"tmp108": tmp108, f"tmp11": tmp11, f"tmp110": tmp110, f"tmp12": tmp12, f"tmp123": tmp123, f"tmp125": tmp125, f"tmp13": tmp13, f"tmp137": tmp137, f"tmp138": tmp138, f"tmp141": tmp141, f"tmp142": tmp142, f"tmp145": tmp145, f"tmp146": tmp146, f"tmp152": tmp152, f"tmp153": tmp153, f"tmp171": tmp171, f"tmp172": tmp172, f"tmp174": tmp174, f"tmp175": tmp175, f"tmp178": tmp178, f"tmp179": tmp179, f"tmp19": tmp19, f"tmp197": tmp197, f"tmp198": tmp198, f"tmp2": tmp2, f"tmp20": tmp20, f"tmp200": tmp200, f"tmp203": tmp203, f"tmp204": tmp204, f"tmp206": tmp206, f"tmp210": tmp210, f"tmp217": tmp217, f"tmp218": tmp218, f"tmp219": tmp219, f"tmp221": tmp221, f"tmp222": tmp222, f"tmp227": tmp227, f"tmp228": tmp228, f"tmp229": tmp229, f"tmp230": tmp230, f"tmp233": tmp233, f"tmp24": tmp24, f"tmp25": tmp25, f"tmp252": tmp252, f"tmp253": tmp253, f"tmp256": tmp256, f"tmp257": tmp257, f"tmp259": tmp259, f"tmp263": tmp263, f"tmp271": tmp271, f"tmp272": tmp272, f"tmp274": tmp274, f"tmp28": tmp28, f"tmp294": tmp294, f"tmp295": tmp295, f"tmp296": tmp296, f"tmp298": tmp298, f"tmp299": tmp299, f"tmp300": tmp300, f"tmp303": tmp303, f"tmp306": tmp306, f"tmp307": tmp307, f"tmp309": tmp309, f"tmp310": tmp310, f"tmp312": tmp312, f"tmp313": tmp313, f"tmp314": tmp314, f"tmp320": tmp320, f"tmp325": tmp325, f"tmp326": tmp326, f"tmp334": tmp334, f"tmp36": tmp36, f"tmp37": tmp37, f"tmp4": tmp4, f"tmp58": tmp58, f"tmp59": tmp59, f"tmp61": tmp61, f"tmp64": tmp64, f"tmp65": tmp65, f"tmp67": tmp67, f"tmp71": tmp71, f"tmp77": tmp77, f"tmp78": tmp78, f"tmp80": tmp80, f"tmp82": tmp82, f"tmp83": tmp83, f"tmp84": tmp84, f"tmp87": tmp87, f"tmp88": tmp88, f"tmp9": tmp9, f"tmp90": tmp90, f"tmp94": tmp94} + +def hbar_matvec_ee(f=None, r1=None, r2=None, r3=None, t1=None, t2=None, t3=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-10-22T10:39:34.816321. + + Parameters + ---------- + f : array + Fock matrix. + r1 : array + R1 amplitudes. + r2 : array + R2 amplitudes. + r3 : array + R3 amplitudes. + t1 : array + T1 amplitudes. + t2 : array + T2 amplitudes. + t3 : array + T3 amplitudes. + v : array + Electron repulsion integrals. + + Returns + ------- + r1new : array + Updated R1 residuals. + r2new : array + Updated R2 residuals. + r3new : array + Updated R3 residuals. + """ + + ints = kwargs["ints"] + r1new = einsum(r3, (0, 1, 2, 3, 4, 5), v.oovv, (1, 2, 4, 5), (0, 3)) * 0.25 + tmp0 = einsum(r2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 3), (0, 4, 2, 5)) + r1new += einsum(t1, (0, 1), tmp0, (2, 0, 3, 1), (2, 3)) + r1new += einsum(r2, (0, 1, 2, 3), v.ovoo, (4, 3, 0, 1), (4, 2)) * -0.5 + r1new += einsum(r2, (0, 1, 2, 3), f.ov, (1, 3), (0, 2)) + r1new += einsum(r2, (0, 1, 2, 3), v.ovvv, (1, 4, 2, 3), (0, 4)) * -0.5 + tmp1 = np.copy(ints.tmp11) + tmp1 += np.transpose(v.ovov, (0, 2, 3, 1)) * -1 + r1new += einsum(r1, (0, 1), tmp1, (2, 0, 3, 1), (2, 3)) + del tmp1 + tmp2 = np.copy(np.transpose(ints.tmp10, (1, 0))) * 0.5 + tmp2 += np.transpose(ints.tmp4, (1, 0)) + tmp2 += f.vv * -1 + r1new += einsum(tmp2, (0, 1), r1, (2, 0), (2, 1)) * -1 + del tmp2 + tmp3 = einsum(v.ovvv, (0, 1, 2, 3), r1, (0, 3), (1, 2)) + tmp5 = np.copy(tmp3) * 2 + tmp4 = einsum(r2, (0, 1, 2, 3), v.oovv, (0, 1, 4, 3), (2, 4)) + tmp5 += tmp4 + r1new += einsum(t1, (0, 1), tmp5, (2, 1), (0, 2)) * -0.5 + del tmp5 + tmp6 = einsum(r1, (0, 1), v.ooov, (2, 0, 3, 1), (2, 3)) + tmp12 = np.copy(tmp6) + tmp7 = einsum(r2, (0, 1, 2, 3), v.oovv, (4, 1, 2, 3), (0, 4)) + tmp12 += np.transpose(tmp7, (1, 0)) * 0.5 + tmp8 = einsum(v.oovv, (0, 1, 2, 3), r1, (1, 3), (0, 2)) + tmp9 = einsum(tmp8, (0, 1), t1, (2, 1), (2, 0)) * -1 + tmp12 += np.transpose(tmp9, (1, 0)) * -1 + tmp10 = np.copy(f.ov) + tmp10 += ints.tmp12 + del ints.tmp12 + tmp11 = einsum(r1, (0, 1), tmp10, (2, 1), (0, 2)) + tmp12 += np.transpose(tmp11, (1, 0)) + r1new += einsum(tmp12, (0, 1), t1, (0, 2), (1, 2)) * -1 + del tmp12 + tmp13 = np.copy(f.oo) + tmp13 += ints.tmp0 + tmp13 += np.transpose(ints.tmp13, (1, 0)) + tmp13 += ints.tmp2 + tmp13 += np.transpose(ints.tmp9, (1, 0)) * 0.5 + r1new += einsum(r1, (0, 1), tmp13, (0, 2), (2, 1)) * -1 + tmp14 = einsum(r3, (0, 1, 2, 3, 4, 5), v.oovv, (6, 2, 7, 5), (0, 1, 6, 3, 4, 7)) + r2new = einsum(t1, (0, 1), tmp14, (2, 3, 0, 4, 5, 1), (3, 2, 5, 4)) + tmp15 = einsum(r2, (0, 1, 2, 3), v.oovv, (4, 5, 2, 3), (0, 1, 4, 5)) + r2new += einsum(t2, (0, 1, 2, 3), tmp15, (4, 5, 1, 0), (5, 4, 2, 3)) * 0.25 + tmp16 = einsum(v.oovv, (0, 1, 2, 3), r2, (0, 1, 4, 5), (4, 5, 2, 3)) + tmp17 = einsum(tmp16, (0, 1, 2, 3), t1, (4, 2), (4, 0, 1, 3)) * -1 + r2new += einsum(t1, (0, 1), tmp17, (2, 3, 4, 1), (0, 2, 4, 3)) * -0.5 + del tmp17 + tmp18 = einsum(tmp15, (0, 1, 2, 3), t1, (2, 4), (0, 1, 3, 4)) * -1 + r2new += einsum(t1, (0, 1), tmp18, (2, 3, 0, 4), (3, 2, 1, 4)) * -0.5 + del tmp18 + r2new += einsum(v.vvvv, (0, 1, 2, 3), r2, (4, 5, 2, 3), (4, 5, 0, 1)) * 0.5 + r2new += einsum(r1, (0, 1), ints.tmp82, (2, 3, 0, 4, 5, 1), (3, 2, 5, 4)) + r2new += einsum(f.ov, (0, 1), r3, (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) + tmp19 = einsum(ints.tmp88, (0, 1, 2, 3), r1, (2, 4), (0, 1, 3, 4)) + tmp25 = np.copy(tmp19) + del tmp19 + tmp20 = einsum(t1, (0, 1), v.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) + tmp21 = einsum(tmp20, (0, 1, 2, 3), r1, (4, 3), (4, 0, 1, 2)) + del tmp20 + tmp22 = einsum(t1, (0, 1), tmp21, (2, 3, 0, 4), (2, 3, 1, 4)) + tmp25 += tmp22 * -1 + del tmp22 + tmp23 = einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 3), (0, 4, 2, 5)) + tmp24 = einsum(tmp23, (0, 1, 2, 3), r2, (4, 1, 5, 3), (4, 0, 5, 2)) + del tmp23 + tmp25 += tmp24 + del tmp24 + r2new += tmp25 + r2new += np.transpose(tmp25, (0, 1, 3, 2)) * -1 + r2new += np.transpose(tmp25, (1, 0, 2, 3)) * -1 + r2new += np.transpose(tmp25, (1, 0, 3, 2)) + del tmp25 + tmp26 = einsum(ints.tmp90, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) + tmp27 = einsum(tmp26, (0, 1, 2, 3), r1, (4, 3), (4, 0, 1, 2)) + del tmp26 + tmp38 = np.copy(np.transpose(tmp27, (0, 1, 3, 2))) * -0.5 + del tmp27 + tmp28 = einsum(r3, (0, 1, 2, 3, 4, 5), v.ovoo, (6, 5, 1, 2), (0, 6, 3, 4)) + tmp38 += np.transpose(tmp28, (0, 1, 3, 2)) * 0.5 + del tmp28 + tmp29 = einsum(r2, (0, 1, 2, 3), v.ovoo, (4, 5, 0, 1), (4, 2, 3, 5)) + tmp30 = einsum(t1, (0, 1), tmp29, (2, 3, 4, 1), (0, 2, 3, 4)) + tmp38 += np.transpose(tmp30, (0, 1, 3, 2)) * 0.5 + del tmp30 + tmp31 = einsum(v.oovv, (0, 1, 2, 3), r3, (4, 0, 1, 5, 6, 3), (4, 5, 6, 2)) + tmp32 = einsum(t1, (0, 1), tmp31, (2, 3, 4, 1), (2, 0, 3, 4)) * -1 + tmp38 += np.transpose(tmp32, (0, 1, 3, 2)) * -0.5 + del tmp32 + tmp33 = np.copy(ints.tmp61) + del ints.tmp61 + tmp33 += ints.tmp80 * -1 + del ints.tmp80 + tmp34 = einsum(r1, (0, 1), tmp33, (2, 3, 4, 1), (0, 2, 3, 4)) * 0.5 + tmp38 += np.transpose(tmp34, (1, 0, 3, 2)) * -1 + del tmp34 + tmp35 = einsum(tmp13, (0, 1), r2, (2, 0, 3, 4), (2, 1, 3, 4)) * -1 + del tmp13 + tmp38 += np.transpose(tmp35, (1, 0, 3, 2)) + del tmp35 + tmp36 = np.copy(tmp7) * 0.5 + tmp36 += tmp9 * -1 + tmp36 += tmp11 + tmp37 = einsum(tmp36, (0, 1), t2, (2, 1, 3, 4), (2, 0, 3, 4)) * -1 + del tmp36 + tmp38 += np.transpose(tmp37, (1, 0, 3, 2)) + del tmp37 + r2new += tmp38 + r2new += np.transpose(tmp38, (1, 0, 2, 3)) * -1 + del tmp38 + tmp39 = einsum(v.ovvv, (0, 1, 2, 3), r3, (4, 5, 0, 6, 2, 3), (4, 5, 6, 1)) + tmp56 = np.copy(np.transpose(tmp39, (1, 0, 2, 3))) * 0.5 + del tmp39 + tmp40 = einsum(t2, (0, 1, 2, 3), tmp4, (4, 3), (0, 1, 4, 2)) * -1 + tmp56 += np.transpose(tmp40, (1, 0, 2, 3)) * 0.5 + del tmp40 + tmp41 = np.copy(ints.tmp10) * 0.5 + tmp41 += ints.tmp4 + tmp42 = einsum(tmp41, (0, 1), r2, (2, 3, 4, 1), (2, 3, 4, 0)) * -1 + del tmp41 + tmp56 += np.transpose(tmp42, (1, 0, 3, 2)) + del tmp42 + tmp43 = np.copy(ints.tmp110) * 2 + del ints.tmp110 + tmp43 += ints.tmp65 + del ints.tmp65 + tmp43 += ints.tmp84 * 2 + del ints.tmp84 + tmp43 += ints.tmp78 * -1 + del ints.tmp78 + tmp44 = einsum(r1, (0, 1), tmp43, (2, 3, 0, 4), (2, 3, 1, 4)) * 0.5 + tmp56 += np.transpose(tmp44, (0, 1, 3, 2)) + del tmp44 + tmp45 = einsum(v.oovv, (0, 1, 2, 3), r3, (4, 5, 1, 6, 2, 3), (4, 5, 0, 6)) + tmp47 = np.copy(np.transpose(tmp45, (2, 1, 0, 3))) * -0.5 + tmp46 = einsum(r2, (0, 1, 2, 3), tmp10, (4, 3), (0, 1, 4, 2)) * -1 + tmp47 += np.transpose(tmp46, (2, 1, 0, 3)) + tmp48 = einsum(t1, (0, 1), tmp47, (0, 2, 3, 4), (2, 3, 1, 4)) + del tmp47 + tmp56 += np.transpose(tmp48, (1, 0, 3, 2)) + del tmp48 + tmp49 = einsum(v.ovvv, (0, 1, 2, 3), r2, (4, 5, 2, 3), (4, 5, 0, 1)) + tmp51 = np.copy(np.transpose(tmp49, (1, 0, 2, 3))) * -1 + tmp50 = einsum(tmp8, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4)) * -1 + tmp51 += np.transpose(tmp50, (1, 0, 2, 3)) * -2 + tmp52 = einsum(t1, (0, 1), tmp51, (2, 3, 0, 4), (2, 3, 1, 4)) * 0.5 + del tmp51 + tmp56 += np.transpose(tmp52, (1, 0, 2, 3)) + del tmp52 + tmp53 = np.copy(ints.tmp125) * 2 + tmp53 += ints.tmp71 + tmp54 = einsum(t1, (0, 1), tmp53, (2, 3, 4, 0), (2, 3, 4, 1)) * 0.5 + del tmp53 + tmp55 = einsum(r1, (0, 1), tmp54, (2, 3, 0, 4), (2, 3, 1, 4)) + del tmp54 + tmp56 += tmp55 + del tmp55 + r2new += np.transpose(tmp56, (1, 0, 2, 3)) * -1 + r2new += np.transpose(tmp56, (1, 0, 3, 2)) + del tmp56 + tmp57 = einsum(ints.tmp67, (0, 1, 2, 3), r1, (4, 3), (0, 4, 1, 2)) + tmp72 = np.copy(tmp57) + del tmp57 + tmp58 = einsum(t1, (0, 1), ints.tmp102, (2, 3, 0, 4), (2, 3, 4, 1)) + tmp59 = einsum(r1, (0, 1), tmp58, (2, 0, 3, 4), (2, 3, 1, 4)) + del tmp58 + tmp72 += tmp59 + del tmp59 + tmp60 = einsum(v.ovov, (0, 1, 2, 3), r2, (4, 2, 5, 1), (4, 0, 5, 3)) + tmp72 += tmp60 + del tmp60 + tmp61 = einsum(v.ovov, (0, 1, 2, 3), r1, (4, 3), (4, 0, 2, 1)) + tmp62 = einsum(t1, (0, 1), tmp61, (2, 0, 3, 4), (2, 3, 1, 4)) + tmp72 += tmp62 * -1 + del tmp62 + tmp63 = einsum(v.ovvv, (0, 1, 2, 3), r2, (4, 0, 5, 3), (4, 5, 1, 2)) + tmp64 = einsum(t1, (0, 1), tmp63, (2, 3, 4, 1), (2, 0, 3, 4)) * -1 + tmp72 += tmp64 * -1 + del tmp64 + tmp65 = einsum(r1, (0, 1), ints.tmp11, (2, 3, 4, 1), (2, 3, 0, 4)) + tmp68 = np.copy(tmp65) + tmp66 = einsum(v.ooov, (0, 1, 2, 3), r2, (4, 1, 5, 3), (4, 0, 2, 5)) + tmp68 += tmp66 + tmp67 = einsum(t1, (0, 1), tmp0, (2, 3, 4, 1), (2, 0, 3, 4)) * -1 + tmp68 += np.transpose(tmp67, (0, 2, 1, 3)) * -1 + tmp69 = einsum(t1, (0, 1), tmp68, (2, 0, 3, 4), (2, 3, 1, 4)) + del tmp68 + tmp72 += np.transpose(tmp69, (0, 1, 3, 2)) + del tmp69 + tmp70 = np.copy(ints.tmp37) + del ints.tmp37 + tmp70 += ints.tmp59 + del ints.tmp59 + tmp71 = einsum(r1, (0, 1), tmp70, (2, 0, 3, 4), (2, 3, 1, 4)) + tmp72 += np.transpose(tmp71, (0, 1, 3, 2)) + del tmp71 + r2new += tmp72 * -1 + r2new += np.transpose(tmp72, (0, 1, 3, 2)) + r2new += np.transpose(tmp72, (1, 0, 2, 3)) + r2new += np.transpose(tmp72, (1, 0, 3, 2)) * -1 + del tmp72 + tmp73 = einsum(t2, (0, 1, 2, 3), tmp6, (1, 4), (0, 4, 2, 3)) * -1 + tmp82 = np.copy(np.transpose(tmp73, (0, 1, 3, 2))) * -1 + del tmp73 + tmp75 = np.copy(v.ovvv) + tmp74 = einsum(v.vvvv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) + tmp75 += np.transpose(tmp74, (0, 3, 2, 1)) + del tmp74 + tmp76 = einsum(r1, (0, 1), tmp75, (2, 1, 3, 4), (0, 2, 3, 4)) + del tmp75 + tmp82 += np.transpose(tmp76, (0, 1, 3, 2)) + del tmp76 + tmp78 = np.copy(v.ooov) + tmp77 = einsum(t1, (0, 1), v.oovv, (2, 3, 4, 1), (0, 2, 3, 4)) + tmp78 += np.transpose(tmp77, (2, 1, 0, 3)) + tmp79 = einsum(r1, (0, 1), tmp78, (2, 3, 4, 1), (0, 2, 3, 4)) + del tmp78 + tmp80 = einsum(t1, (0, 1), tmp79, (2, 3, 0, 4), (2, 3, 4, 1)) * -1 + del tmp79 + tmp81 = einsum(t1, (0, 1), tmp80, (2, 0, 3, 4), (2, 3, 1, 4)) * -1 + del tmp80 + tmp82 += tmp81 * -1 + del tmp81 + r2new += tmp82 + r2new += np.transpose(tmp82, (1, 0, 2, 3)) * -1 + del tmp82 + tmp83 = einsum(r1, (0, 1), ints.tmp25, (0, 2, 3, 4), (2, 3, 4, 1)) + tmp89 = np.copy(tmp83) + del tmp83 + tmp84 = einsum(r2, (0, 1, 2, 3), f.vv, (4, 3), (0, 1, 4, 2)) + tmp89 += np.transpose(tmp84, (1, 0, 2, 3)) * -1 + del tmp84 + tmp85 = einsum(t2, (0, 1, 2, 3), tmp3, (4, 3), (0, 1, 2, 4)) * -1 + tmp89 += np.transpose(tmp85, (1, 0, 2, 3)) + del tmp85 + tmp87 = np.copy(v.ooov) + tmp86 = einsum(t1, (0, 1), v.oooo, (2, 3, 4, 0), (2, 3, 4, 1)) + tmp87 += np.transpose(tmp86, (1, 0, 2, 3)) + del tmp86 + tmp88 = einsum(r1, (0, 1), tmp87, (2, 3, 0, 4), (2, 3, 1, 4)) + del tmp87 + tmp89 += np.transpose(tmp88, (1, 0, 2, 3)) * -1 + del tmp88 + r2new += np.transpose(tmp89, (1, 0, 2, 3)) + r2new += np.transpose(tmp89, (1, 0, 3, 2)) * -1 + del tmp89 + tmp90 = np.copy(ints.tmp71) * 0.5 + tmp90 += v.oooo + r2new += einsum(tmp90, (0, 1, 2, 3), r2, (3, 2, 4, 5), (1, 0, 4, 5)) * 0.5 + del tmp90 + tmp91 = np.copy(ints.tmp101) * 2 + tmp91 += ints.tmp108 * 2 + tmp91 += ints.tmp123 * 2 + tmp91 += ints.tmp19 * 2 + tmp91 += ints.tmp28 * 2 + tmp91 += ints.tmp36 * 2 + tmp91 += ints.tmp58 + tmp91 += ints.tmp64 + tmp91 += ints.tmp87 + tmp91 += ints.tmp94 + tmp91 += f.ov * -2 + tmp91 += ints.tmp20 * -2 + tmp91 += ints.tmp24 * -2 + tmp91 += ints.tmp77 * -0.5 + tmp91 += ints.tmp83 * -2 + r2new += einsum(tmp91, (0, 1), r1, (2, 3), (0, 2, 1, 3)) * -0.5 + tmp92 = np.copy(ints.tmp101) + tmp92 += ints.tmp108 + tmp92 += ints.tmp123 + tmp92 += ints.tmp19 + tmp92 += ints.tmp28 + tmp92 += ints.tmp36 + tmp92 += ints.tmp58 * 0.5 + tmp92 += ints.tmp64 * 0.5 + tmp92 += ints.tmp87 * 0.5 + tmp92 += ints.tmp94 * 0.5 + tmp92 += f.ov * -1 + tmp92 += ints.tmp20 * -1 + tmp92 += ints.tmp24 * -1 + tmp92 += ints.tmp77 * -0.25 + tmp92 += ints.tmp83 * -1 + r2new += einsum(r1, (0, 1), tmp92, (2, 3), (0, 2, 1, 3)) * -1 + tmp93 = np.copy(ints.tmp101) * 4 + del ints.tmp101 + tmp93 += ints.tmp108 * 4 + del ints.tmp108 + tmp93 += ints.tmp123 * 4 + del ints.tmp123 + tmp93 += ints.tmp19 * 4 + del ints.tmp19 + tmp93 += ints.tmp28 * 4 + del ints.tmp28 + tmp93 += ints.tmp36 * 4 + del ints.tmp36 + tmp93 += ints.tmp58 * 2 + del ints.tmp58 + tmp93 += ints.tmp64 * 2 + del ints.tmp64 + tmp93 += ints.tmp87 * 2 + del ints.tmp87 + tmp93 += ints.tmp94 * 2 + del ints.tmp94 + tmp93 += f.ov * -4 + tmp93 += ints.tmp20 * -4 + del ints.tmp20 + tmp93 += ints.tmp24 * -4 + del ints.tmp24 + tmp93 += ints.tmp77 * -1 + del ints.tmp77 + tmp93 += ints.tmp83 * -4 + del ints.tmp83 + r2new += einsum(tmp93, (0, 1), r1, (2, 3), (2, 0, 1, 3)) * 0.25 + del tmp93 + r2new += einsum(r1, (0, 1), tmp92, (2, 3), (2, 0, 1, 3)) + r3new = einsum(f.ov, (0, 1), r2, (2, 3, 4, 5), (0, 2, 3, 4, 5, 1)) + tmp94 = einsum(ints.tmp210, (0, 1, 2, 3, 4, 5), r2, (4, 3, 6, 7), (0, 1, 2, 5, 6, 7)) * -1 + tmp103 = np.copy(np.transpose(tmp94, (2, 0, 1, 3, 5, 4))) * -0.25 + del tmp94 + tmp95 = einsum(r3, (0, 1, 2, 3, 4, 5), v.vvvv, (6, 7, 4, 5), (0, 1, 2, 3, 6, 7)) + tmp103 += np.transpose(tmp95, (1, 2, 0, 3, 5, 4)) * -0.5 + del tmp95 + tmp96 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp4, (6, 5), (0, 1, 2, 6, 3, 4)) * -1 + del tmp4 + tmp103 += np.transpose(tmp96, (1, 2, 0, 3, 5, 4)) * -0.5 + del tmp96 + tmp97 = einsum(r3, (0, 1, 2, 3, 4, 5), v.oovv, (6, 7, 4, 5), (0, 1, 2, 6, 7, 3)) + tmp98 = einsum(t2, (0, 1, 2, 3), tmp97, (4, 5, 6, 1, 0, 7), (4, 5, 6, 7, 2, 3)) * -1 + tmp103 += np.transpose(tmp98, (1, 2, 0, 3, 5, 4)) * -0.25 + del tmp98 + tmp99 = einsum(t1, (0, 1), tmp97, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 6, 1)) * -1 + del tmp97 + tmp100 = einsum(t1, (0, 1), tmp99, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 6, 1)) * -1 + del tmp99 + tmp103 += np.transpose(tmp100, (1, 2, 0, 3, 5, 4)) * -0.5 + del tmp100 + tmp101 = np.copy(f.vv) * 2 + tmp101 += np.transpose(ints.tmp10, (1, 0)) * -1 + del ints.tmp10 + tmp102 = einsum(r3, (0, 1, 2, 3, 4, 5), tmp101, (5, 6), (0, 1, 2, 3, 4, 6)) * 0.5 + del tmp101 + tmp103 += np.transpose(tmp102, (1, 2, 0, 5, 3, 4)) + del tmp102 + r3new += np.transpose(tmp103, (2, 0, 1, 3, 4, 5)) + r3new += np.transpose(tmp103, (2, 0, 1, 4, 3, 5)) * -1 + r3new += np.transpose(tmp103, (2, 0, 1, 4, 5, 3)) + del tmp103 + tmp104 = einsum(v.ovvv, (0, 1, 2, 3), r2, (4, 5, 6, 1), (4, 5, 0, 6, 2, 3)) + tmp122 = np.copy(np.transpose(tmp104, (1, 0, 2, 3, 5, 4))) + del tmp104 + tmp105 = einsum(ints.tmp179, (0, 1, 2, 3, 4, 5), r1, (6, 5), (0, 1, 6, 2, 3, 4)) + del ints.tmp179 + tmp122 += np.transpose(tmp105, (0, 1, 2, 3, 5, 4)) * -1 + del tmp105 + tmp106 = einsum(v.vvvv, (0, 1, 2, 3), r2, (4, 5, 6, 3), (4, 5, 6, 0, 1, 2)) + tmp107 = einsum(tmp106, (0, 1, 2, 3, 4, 5), t1, (6, 5), (0, 1, 6, 2, 3, 4)) * -1 + del tmp106 + tmp122 += np.transpose(tmp107, (1, 0, 2, 3, 5, 4)) * -1 + del tmp107 + tmp108 = einsum(ints.tmp313, (0, 1, 2, 3, 4, 5), r1, (6, 5), (0, 1, 2, 3, 6, 4)) + del ints.tmp313 + tmp109 = einsum(t1, (0, 1), tmp108, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 6, 1)) + del tmp108 + tmp110 = einsum(t1, (0, 1), tmp109, (2, 3, 0, 4, 5, 6), (2, 3, 4, 5, 1, 6)) + del tmp109 + tmp122 += np.transpose(tmp110, (0, 1, 2, 3, 5, 4)) * -1 + del tmp110 + tmp111 = einsum(t2, (0, 1, 2, 3), tmp15, (4, 5, 1, 6), (4, 5, 0, 6, 2, 3)) * -1 + tmp112 = einsum(t1, (0, 1), tmp111, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) + del tmp111 + tmp122 += np.transpose(tmp112, (1, 0, 2, 3, 5, 4)) * 0.5 + del tmp112 + tmp113 = einsum(tmp43, (0, 1, 2, 3), r2, (4, 2, 5, 6), (4, 0, 1, 5, 6, 3)) * -0.5 + del tmp43 + tmp122 += np.transpose(tmp113, (1, 2, 0, 5, 4, 3)) + del tmp113 + tmp114 = np.copy(np.transpose(tmp45, (1, 0, 2, 3))) * -0.5 + del tmp45 + tmp114 += np.transpose(tmp46, (1, 0, 2, 3)) + del tmp46 + tmp115 = einsum(tmp114, (0, 1, 2, 3), t2, (4, 2, 5, 6), (4, 0, 1, 5, 6, 3)) * -1 + del tmp114 + tmp122 += np.transpose(tmp115, (2, 1, 0, 5, 4, 3)) + del tmp115 + tmp116 = einsum(r2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), (0, 1, 4, 5, 6, 2)) + tmp119 = np.copy(np.transpose(tmp116, (1, 0, 3, 2, 4, 5))) + del tmp116 + tmp117 = einsum(r2, (0, 1, 2, 3), v.oovv, (4, 5, 6, 3), (0, 1, 4, 5, 2, 6)) + tmp118 = einsum(t1, (0, 1), tmp117, (2, 3, 4, 5, 6, 1), (2, 3, 0, 4, 5, 6)) * -1 + del tmp117 + tmp119 += np.transpose(tmp118, (1, 0, 4, 3, 2, 5)) * -1 + del tmp118 + tmp120 = einsum(t1, (0, 1), tmp119, (2, 3, 0, 4, 5, 6), (2, 3, 4, 5, 1, 6)) + del tmp119 + tmp121 = einsum(t1, (0, 1), tmp120, (2, 3, 0, 4, 5, 6), (3, 2, 4, 1, 6, 5)) + del tmp120 + tmp122 += np.transpose(tmp121, (1, 0, 2, 4, 3, 5)) * -1 + del tmp121 + r3new += np.transpose(tmp122, (1, 0, 2, 3, 4, 5)) + r3new += np.transpose(tmp122, (1, 0, 2, 4, 3, 5)) * -1 + r3new += np.transpose(tmp122, (1, 0, 2, 4, 5, 3)) + r3new += np.transpose(tmp122, (1, 2, 0, 3, 4, 5)) * -1 + r3new += np.transpose(tmp122, (1, 2, 0, 4, 3, 5)) + r3new += np.transpose(tmp122, (1, 2, 0, 4, 5, 3)) * -1 + r3new += np.transpose(tmp122, (2, 1, 0, 3, 4, 5)) + r3new += np.transpose(tmp122, (2, 1, 0, 4, 3, 5)) * -1 + r3new += np.transpose(tmp122, (2, 1, 0, 4, 5, 3)) + del tmp122 + tmp123 = einsum(ints.tmp200, (0, 1, 2, 3, 4, 5), r1, (6, 5), (0, 1, 6, 2, 3, 4)) + del ints.tmp200 + tmp128 = np.copy(tmp123) * 0.5 + del tmp123 + tmp124 = einsum(t1, (0, 1), ints.tmp259, (2, 3, 4, 5, 6, 1), (2, 0, 3, 4, 5, 6)) + del ints.tmp259 + tmp125 = einsum(r1, (0, 1), tmp124, (2, 3, 4, 5, 6, 1), (2, 0, 3, 4, 5, 6)) + del tmp124 + tmp128 += tmp125 * 0.5 + del tmp125 + tmp126 = einsum(v.ovoo, (0, 1, 2, 3), r3, (4, 2, 3, 5, 6, 7), (4, 0, 5, 6, 7, 1)) + tmp127 = einsum(tmp126, (0, 1, 2, 3, 4, 5), t1, (6, 5), (0, 6, 1, 2, 3, 4)) + del tmp126 + tmp128 += np.transpose(tmp127, (0, 1, 2, 4, 5, 3)) * -0.5 + del tmp127 + r3new += np.transpose(tmp128, (0, 1, 2, 4, 5, 3)) + r3new += np.transpose(tmp128, (0, 2, 1, 4, 5, 3)) * -1 + r3new += np.transpose(tmp128, (1, 0, 2, 4, 5, 3)) * -1 + r3new += np.transpose(tmp128, (2, 0, 1, 4, 5, 3)) + r3new += np.transpose(tmp128, (1, 2, 0, 4, 5, 3)) + r3new += np.transpose(tmp128, (2, 1, 0, 4, 5, 3)) * -1 + del tmp128 + tmp129 = einsum(v.ovov, (0, 1, 2, 3), r3, (4, 5, 2, 6, 7, 1), (4, 5, 0, 6, 7, 3)) + tmp147 = np.copy(np.transpose(tmp129, (1, 0, 2, 4, 3, 5))) + del tmp129 + tmp130 = einsum(t2, (0, 1, 2, 3), tmp29, (4, 5, 6, 3), (0, 1, 4, 5, 6, 2)) + del tmp29 + tmp147 += np.transpose(tmp130, (1, 0, 2, 4, 3, 5)) * 0.5 + del tmp130 + tmp131 = einsum(t2, (0, 1, 2, 3), tmp49, (4, 5, 1, 6), (4, 5, 0, 2, 3, 6)) + del tmp49 + tmp147 += np.transpose(tmp131, (1, 0, 2, 4, 3, 5)) * 0.5 + del tmp131 + tmp132 = einsum(tmp14, (0, 1, 2, 3, 4, 5), t2, (6, 2, 7, 5), (0, 1, 6, 3, 4, 7)) + tmp147 += np.transpose(tmp132, (1, 0, 2, 4, 3, 5)) * -1 + del tmp132 + tmp133 = einsum(r2, (0, 1, 2, 3), ints.tmp90, (4, 5, 3, 6), (0, 1, 4, 5, 6, 2)) + del ints.tmp90 + tmp135 = np.copy(np.transpose(tmp133, (1, 0, 2, 3, 4, 5))) * -1 + del tmp133 + tmp134 = einsum(r3, (0, 1, 2, 3, 4, 5), v.ovvv, (2, 6, 7, 5), (0, 1, 3, 4, 6, 7)) + tmp135 += np.transpose(tmp134, (1, 0, 3, 2, 5, 4)) * -2 + del tmp134 + tmp136 = einsum(tmp135, (0, 1, 2, 3, 4, 5), t1, (6, 4), (6, 0, 1, 2, 3, 5)) * 0.5 + del tmp135 + tmp147 += np.transpose(tmp136, (2, 1, 0, 3, 4, 5)) + del tmp136 + tmp137 = np.copy(ints.tmp206) + del ints.tmp206 + tmp137 += ints.tmp303 * 0.5 + del ints.tmp303 + tmp138 = einsum(r1, (0, 1), tmp137, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) + del tmp137 + tmp147 += np.transpose(tmp138, (1, 2, 0, 3, 4, 5)) + del tmp138 + tmp139 = einsum(ints.tmp71, (0, 1, 2, 3), r2, (4, 2, 5, 6), (0, 1, 3, 4, 5, 6)) + tmp143 = np.copy(np.transpose(tmp139, (0, 1, 2, 3, 5, 4))) * -0.5 + del tmp139 + tmp140 = einsum(r1, (0, 1), ints.tmp82, (2, 3, 4, 5, 6, 1), (2, 3, 4, 0, 5, 6)) + del ints.tmp82 + tmp143 += np.transpose(tmp140, (0, 1, 2, 3, 5, 4)) + del tmp140 + tmp141 = einsum(v.ooov, (0, 1, 2, 3), r3, (4, 5, 1, 6, 7, 3), (4, 5, 0, 2, 6, 7)) + tmp143 += np.transpose(tmp141, (1, 0, 2, 3, 5, 4)) * -1 + del tmp141 + tmp142 = einsum(tmp14, (0, 1, 2, 3, 4, 5), t1, (6, 5), (0, 1, 6, 2, 3, 4)) * -1 + del tmp14 + tmp143 += np.transpose(tmp142, (1, 0, 3, 2, 5, 4)) + del tmp142 + tmp144 = einsum(tmp143, (0, 1, 2, 3, 4, 5), t1, (2, 6), (0, 1, 3, 6, 4, 5)) + del tmp143 + tmp147 += np.transpose(tmp144, (0, 1, 2, 5, 4, 3)) + del tmp144 + tmp145 = np.copy(ints.tmp198) * 2 + del ints.tmp198 + tmp145 += np.transpose(ints.tmp296, (0, 1, 3, 2, 4, 5)) + del ints.tmp296 + tmp145 += np.transpose(ints.tmp310, (0, 1, 3, 2, 4, 5)) * 2 + del ints.tmp310 + tmp146 = einsum(r1, (0, 1), tmp145, (2, 3, 0, 4, 5, 6), (2, 3, 4, 1, 5, 6)) * 0.5 + del tmp145 + tmp147 += np.transpose(tmp146, (0, 1, 2, 4, 5, 3)) + del tmp146 + r3new += np.transpose(tmp147, (1, 0, 2, 4, 3, 5)) * -1 + r3new += np.transpose(tmp147, (1, 0, 2, 4, 5, 3)) + r3new += np.transpose(tmp147, (1, 0, 2, 5, 4, 3)) * -1 + r3new += np.transpose(tmp147, (1, 2, 0, 4, 3, 5)) + r3new += np.transpose(tmp147, (1, 2, 0, 4, 5, 3)) * -1 + r3new += np.transpose(tmp147, (1, 2, 0, 5, 4, 3)) + r3new += np.transpose(tmp147, (2, 1, 0, 4, 3, 5)) * -1 + r3new += np.transpose(tmp147, (2, 1, 0, 4, 5, 3)) + r3new += np.transpose(tmp147, (2, 1, 0, 5, 4, 3)) * -1 + del tmp147 + tmp148 = einsum(tmp3, (0, 1), t3, (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 6, 0)) * -1 + del tmp3 + r3new += np.transpose(tmp148, (1, 2, 0, 4, 3, 5)) * -1 + r3new += np.transpose(tmp148, (1, 2, 0, 4, 5, 3)) + r3new += np.transpose(tmp148, (1, 2, 0, 5, 4, 3)) * -1 + del tmp148 + tmp149 = einsum(ints.tmp230, (0, 1, 2, 3, 4, 5), r1, (3, 6), (0, 1, 2, 4, 5, 6)) + del ints.tmp230 + tmp153 = np.copy(tmp149) + del tmp149 + tmp150 = einsum(t1, (0, 1), ints.tmp314, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 6, 1)) + del ints.tmp314 + tmp151 = einsum(tmp150, (0, 1, 2, 3, 4, 5), r1, (3, 6), (0, 1, 2, 4, 6, 5)) + del tmp150 + tmp153 += tmp151 + del tmp151 + tmp152 = einsum(t2, (0, 1, 2, 3), tmp63, (4, 5, 6, 3), (4, 0, 1, 5, 2, 6)) * -1 + del tmp63 + tmp153 += np.transpose(tmp152, (0, 2, 1, 3, 4, 5)) + del tmp152 + r3new += np.transpose(tmp153, (0, 2, 1, 3, 4, 5)) + r3new += np.transpose(tmp153, (0, 2, 1, 3, 5, 4)) * -1 + r3new += np.transpose(tmp153, (0, 2, 1, 4, 3, 5)) * -1 + r3new += np.transpose(tmp153, (0, 2, 1, 5, 3, 4)) + r3new += np.transpose(tmp153, (0, 2, 1, 4, 5, 3)) + r3new += np.transpose(tmp153, (0, 2, 1, 5, 4, 3)) * -1 + r3new += np.transpose(tmp153, (2, 0, 1, 3, 4, 5)) * -1 + r3new += np.transpose(tmp153, (2, 0, 1, 3, 5, 4)) + r3new += np.transpose(tmp153, (2, 0, 1, 4, 3, 5)) + r3new += np.transpose(tmp153, (2, 0, 1, 5, 3, 4)) * -1 + r3new += np.transpose(tmp153, (2, 0, 1, 4, 5, 3)) * -1 + r3new += np.transpose(tmp153, (2, 0, 1, 5, 4, 3)) + r3new += np.transpose(tmp153, (2, 1, 0, 3, 4, 5)) + r3new += np.transpose(tmp153, (2, 1, 0, 3, 5, 4)) * -1 + r3new += np.transpose(tmp153, (2, 1, 0, 4, 3, 5)) * -1 + r3new += np.transpose(tmp153, (2, 1, 0, 5, 3, 4)) + r3new += np.transpose(tmp153, (2, 1, 0, 4, 5, 3)) + r3new += np.transpose(tmp153, (2, 1, 0, 5, 4, 3)) * -1 + del tmp153 + tmp154 = einsum(ints.tmp204, (0, 1, 2, 3, 4, 5), r1, (3, 6), (0, 1, 2, 4, 5, 6)) + del ints.tmp204 + tmp159 = np.copy(tmp154) * 0.5 + del tmp154 + tmp155 = einsum(t1, (0, 1), ints.tmp210, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 6, 1)) + del ints.tmp210 + tmp156 = einsum(tmp155, (0, 1, 2, 3, 4, 5), r1, (3, 6), (0, 1, 2, 4, 6, 5)) + del tmp155 + tmp159 += tmp156 * 0.5 + del tmp156 + tmp157 = einsum(r3, (0, 1, 2, 3, 4, 5), v.ovvv, (6, 7, 4, 5), (0, 1, 2, 6, 3, 7)) + tmp158 = einsum(t1, (0, 1), tmp157, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 1, 6)) + del tmp157 + tmp159 += np.transpose(tmp158, (1, 2, 0, 3, 4, 5)) * -0.5 + del tmp158 + r3new += np.transpose(tmp159, (1, 2, 0, 3, 4, 5)) + r3new += np.transpose(tmp159, (1, 2, 0, 3, 5, 4)) * -1 + r3new += np.transpose(tmp159, (1, 2, 0, 4, 3, 5)) * -1 + r3new += np.transpose(tmp159, (1, 2, 0, 5, 3, 4)) + r3new += np.transpose(tmp159, (1, 2, 0, 4, 5, 3)) + r3new += np.transpose(tmp159, (1, 2, 0, 5, 4, 3)) * -1 + del tmp159 + tmp160 = einsum(t2, (0, 1, 2, 3), tmp61, (4, 1, 5, 6), (4, 0, 5, 2, 3, 6)) + del tmp61 + tmp162 = np.copy(np.transpose(tmp160, (0, 1, 2, 4, 3, 5))) * -1 + del tmp160 + tmp161 = einsum(tmp21, (0, 1, 2, 3), t2, (4, 2, 5, 6), (0, 1, 4, 5, 6, 3)) + del tmp21 + tmp162 += np.transpose(tmp161, (0, 1, 2, 4, 3, 5)) * -1 + del tmp161 + r3new += tmp162 * -1 + r3new += np.transpose(tmp162, (0, 1, 2, 3, 5, 4)) + r3new += np.transpose(tmp162, (0, 1, 2, 5, 3, 4)) * -1 + r3new += np.transpose(tmp162, (0, 2, 1, 3, 4, 5)) + r3new += np.transpose(tmp162, (0, 2, 1, 3, 5, 4)) * -1 + r3new += np.transpose(tmp162, (0, 2, 1, 5, 3, 4)) + r3new += np.transpose(tmp162, (1, 0, 2, 3, 4, 5)) + r3new += np.transpose(tmp162, (1, 0, 2, 3, 5, 4)) * -1 + r3new += np.transpose(tmp162, (1, 0, 2, 5, 3, 4)) + r3new += np.transpose(tmp162, (2, 0, 1, 3, 4, 5)) * -1 + r3new += np.transpose(tmp162, (2, 0, 1, 3, 5, 4)) + r3new += np.transpose(tmp162, (2, 0, 1, 5, 3, 4)) * -1 + r3new += np.transpose(tmp162, (1, 2, 0, 3, 4, 5)) * -1 + r3new += np.transpose(tmp162, (1, 2, 0, 3, 5, 4)) + r3new += np.transpose(tmp162, (1, 2, 0, 5, 3, 4)) * -1 + r3new += np.transpose(tmp162, (2, 1, 0, 3, 4, 5)) + r3new += np.transpose(tmp162, (2, 1, 0, 3, 5, 4)) * -1 + r3new += np.transpose(tmp162, (2, 1, 0, 5, 3, 4)) + del tmp162 + tmp163 = einsum(r1, (0, 1), ints.tmp300, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 6, 1)) + del ints.tmp300 + tmp171 = np.copy(tmp163) + del tmp163 + tmp164 = einsum(ints.tmp229, (0, 1, 2, 3, 4, 5), r1, (6, 5), (0, 1, 2, 6, 3, 4)) + del ints.tmp229 + tmp165 = einsum(t1, (0, 1), tmp164, (2, 3, 0, 4, 5, 6), (2, 3, 4, 5, 6, 1)) + del tmp164 + tmp171 += tmp165 * -1 + del tmp165 + tmp166 = einsum(r2, (0, 1, 2, 3), v.ovov, (4, 5, 6, 3), (0, 1, 4, 6, 2, 5)) + tmp169 = np.copy(np.transpose(tmp166, (1, 0, 2, 3, 4, 5))) * -1 + del tmp166 + tmp167 = einsum(v.ovvv, (0, 1, 2, 3), r2, (4, 5, 6, 3), (4, 5, 0, 6, 1, 2)) + tmp168 = einsum(tmp167, (0, 1, 2, 3, 4, 5), t1, (6, 5), (0, 1, 6, 2, 3, 4)) * -1 + del tmp167 + tmp169 += np.transpose(tmp168, (1, 0, 3, 2, 4, 5)) + del tmp168 + tmp170 = einsum(tmp169, (0, 1, 2, 3, 4, 5), t1, (2, 6), (0, 1, 3, 6, 4, 5)) + del tmp169 + tmp171 += np.transpose(tmp170, (1, 0, 2, 4, 3, 5)) * -1 + del tmp170 + r3new += np.transpose(tmp171, (1, 0, 2, 3, 4, 5)) * -1 + r3new += np.transpose(tmp171, (1, 0, 2, 3, 5, 4)) + r3new += np.transpose(tmp171, (1, 0, 2, 4, 3, 5)) + r3new += np.transpose(tmp171, (1, 0, 2, 5, 3, 4)) * -1 + r3new += np.transpose(tmp171, (1, 0, 2, 4, 5, 3)) * -1 + r3new += np.transpose(tmp171, (1, 0, 2, 5, 4, 3)) + r3new += np.transpose(tmp171, (1, 2, 0, 3, 4, 5)) + r3new += np.transpose(tmp171, (1, 2, 0, 3, 5, 4)) * -1 + r3new += np.transpose(tmp171, (1, 2, 0, 4, 3, 5)) * -1 + r3new += np.transpose(tmp171, (1, 2, 0, 5, 3, 4)) + r3new += np.transpose(tmp171, (1, 2, 0, 4, 5, 3)) + r3new += np.transpose(tmp171, (1, 2, 0, 5, 4, 3)) * -1 + r3new += np.transpose(tmp171, (2, 1, 0, 3, 4, 5)) * -1 + r3new += np.transpose(tmp171, (2, 1, 0, 3, 5, 4)) + r3new += np.transpose(tmp171, (2, 1, 0, 4, 3, 5)) + r3new += np.transpose(tmp171, (2, 1, 0, 5, 3, 4)) * -1 + r3new += np.transpose(tmp171, (2, 1, 0, 4, 5, 3)) * -1 + r3new += np.transpose(tmp171, (2, 1, 0, 5, 4, 3)) + del tmp171 + tmp172 = einsum(ints.tmp71, (0, 1, 2, 3), r3, (4, 3, 2, 5, 6, 7), (0, 1, 4, 5, 6, 7)) * -1 + del ints.tmp71 + tmp174 = np.copy(np.transpose(tmp172, (0, 1, 2, 4, 5, 3))) * 0.25 + del tmp172 + tmp173 = einsum(tmp15, (0, 1, 2, 3), t3, (4, 3, 2, 5, 6, 7), (0, 1, 4, 5, 6, 7)) * -1 + del tmp15 + tmp174 += np.transpose(tmp173, (1, 0, 2, 4, 5, 3)) * -0.25 + del tmp173 + r3new += np.transpose(tmp174, (1, 0, 2, 5, 3, 4)) * -1 + r3new += np.transpose(tmp174, (1, 2, 0, 5, 3, 4)) + r3new += np.transpose(tmp174, (2, 1, 0, 5, 3, 4)) * -1 + del tmp174 + tmp175 = einsum(r3, (0, 1, 2, 3, 4, 5), ints.tmp9, (6, 2), (6, 0, 1, 3, 4, 5)) + del ints.tmp9 + tmp182 = np.copy(np.transpose(tmp175, (0, 2, 1, 4, 5, 3))) * -0.5 + del tmp175 + tmp176 = einsum(r3, (0, 1, 2, 3, 4, 5), v.oooo, (6, 7, 1, 2), (0, 6, 7, 3, 4, 5)) + tmp182 += np.transpose(tmp176, (0, 2, 1, 4, 5, 3)) * 0.5 + del tmp176 + tmp177 = einsum(r3, (0, 1, 2, 3, 4, 5), v.oovv, (1, 2, 6, 7), (0, 3, 4, 5, 6, 7)) + tmp178 = einsum(tmp177, (0, 1, 2, 3, 4, 5), t1, (6, 4), (0, 6, 1, 2, 3, 5)) * -1 + del tmp177 + tmp179 = einsum(tmp178, (0, 1, 2, 3, 4, 5), t1, (6, 5), (0, 1, 6, 2, 3, 4)) * -1 + del tmp178 + tmp182 += np.transpose(tmp179, (0, 2, 1, 4, 5, 3)) * 0.5 + del tmp179 + tmp180 = np.copy(np.transpose(tmp7, (1, 0))) * 0.5 + del tmp7 + tmp180 += np.transpose(tmp11, (1, 0)) + del tmp11 + tmp181 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp180, (2, 6), (0, 1, 6, 3, 4, 5)) * -1 + del tmp180 + tmp182 += np.transpose(tmp181, (2, 1, 0, 4, 5, 3)) + del tmp181 + r3new += np.transpose(tmp182, (0, 1, 2, 5, 3, 4)) * -1 + r3new += np.transpose(tmp182, (1, 0, 2, 5, 3, 4)) + r3new += np.transpose(tmp182, (1, 2, 0, 5, 3, 4)) * -1 + del tmp182 + tmp183 = einsum(r2, (0, 1, 2, 3), v.ooov, (4, 5, 1, 6), (0, 4, 5, 2, 3, 6)) + tmp192 = np.copy(np.transpose(tmp183, (0, 2, 1, 4, 3, 5))) + del tmp183 + tmp184 = einsum(r2, (0, 1, 2, 3), v.oooo, (4, 5, 6, 1), (0, 4, 5, 6, 2, 3)) + tmp185 = einsum(t1, (0, 1), tmp184, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 6, 1)) * -1 + del tmp184 + tmp192 += np.transpose(tmp185, (0, 2, 1, 4, 3, 5)) * -1 + del tmp185 + tmp186 = einsum(tmp31, (0, 1, 2, 3), t2, (4, 5, 6, 3), (0, 4, 5, 1, 2, 6)) * -1 + del tmp31 + tmp192 += np.transpose(tmp186, (0, 2, 1, 4, 3, 5)) * 0.5 + del tmp186 + tmp187 = einsum(tmp16, (0, 1, 2, 3), t2, (4, 5, 6, 2), (4, 5, 0, 1, 6, 3)) * -1 + del tmp16 + tmp188 = einsum(tmp187, (0, 1, 2, 3, 4, 5), t1, (6, 5), (6, 0, 1, 2, 3, 4)) + del tmp187 + tmp192 += np.transpose(tmp188, (0, 2, 1, 4, 3, 5)) * 0.5 + del tmp188 + tmp189 = einsum(tmp33, (0, 1, 2, 3), r2, (4, 5, 6, 3), (4, 5, 0, 6, 1, 2)) * -0.5 + del tmp33 + tmp192 += np.transpose(tmp189, (2, 1, 0, 4, 5, 3)) + del tmp189 + tmp190 = np.copy(ints.tmp172) + del ints.tmp172 + tmp190 += ints.tmp257 + del ints.tmp257 + tmp191 = einsum(r1, (0, 1), tmp190, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) + del tmp190 + tmp192 += np.transpose(tmp191, (0, 1, 2, 4, 5, 3)) + del tmp191 + r3new += np.transpose(tmp192, (0, 2, 1, 4, 3, 5)) * -1 + r3new += np.transpose(tmp192, (0, 2, 1, 4, 5, 3)) + r3new += np.transpose(tmp192, (0, 2, 1, 5, 4, 3)) * -1 + r3new += np.transpose(tmp192, (2, 0, 1, 4, 3, 5)) + r3new += np.transpose(tmp192, (2, 0, 1, 4, 5, 3)) * -1 + r3new += np.transpose(tmp192, (2, 0, 1, 5, 4, 3)) + r3new += np.transpose(tmp192, (2, 1, 0, 4, 3, 5)) * -1 + r3new += np.transpose(tmp192, (2, 1, 0, 4, 5, 3)) + r3new += np.transpose(tmp192, (2, 1, 0, 5, 4, 3)) * -1 + del tmp192 + tmp193 = einsum(t3, (0, 1, 2, 3, 4, 5), v.oovv, (6, 2, 7, 5), (0, 1, 6, 3, 4, 7)) + tmp194 = einsum(tmp193, (0, 1, 2, 3, 4, 5), r2, (6, 2, 7, 5), (6, 0, 1, 7, 3, 4)) + del tmp193 + r3new += np.transpose(tmp194, (0, 2, 1, 3, 5, 4)) + r3new += np.transpose(tmp194, (0, 2, 1, 5, 3, 4)) * -1 + r3new += np.transpose(tmp194, (0, 2, 1, 5, 4, 3)) + r3new += np.transpose(tmp194, (2, 0, 1, 3, 5, 4)) * -1 + r3new += np.transpose(tmp194, (2, 0, 1, 5, 3, 4)) + r3new += np.transpose(tmp194, (2, 0, 1, 5, 4, 3)) * -1 + r3new += np.transpose(tmp194, (2, 1, 0, 3, 5, 4)) + r3new += np.transpose(tmp194, (2, 1, 0, 5, 3, 4)) * -1 + r3new += np.transpose(tmp194, (2, 1, 0, 5, 4, 3)) + del tmp194 + tmp195 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp9, (6, 2), (6, 0, 1, 3, 4, 5)) * -1 + del tmp9 + tmp198 = np.copy(np.transpose(tmp195, (0, 2, 1, 4, 5, 3))) * -1 + del tmp195 + tmp196 = np.copy(f.oo) + tmp196 += ints.tmp0 + del ints.tmp0 + tmp196 += np.transpose(ints.tmp13, (1, 0)) + del ints.tmp13 + tmp196 += ints.tmp2 + del ints.tmp2 + tmp197 = einsum(tmp196, (0, 1), r3, (2, 3, 0, 4, 5, 6), (2, 3, 1, 4, 5, 6)) * -1 + del tmp196 + tmp198 += np.transpose(tmp197, (2, 1, 0, 4, 5, 3)) + del tmp197 + r3new += np.transpose(tmp198, (0, 1, 2, 5, 3, 4)) * -1 + r3new += np.transpose(tmp198, (1, 0, 2, 5, 3, 4)) + r3new += np.transpose(tmp198, (1, 2, 0, 5, 3, 4)) * -1 + del tmp198 + tmp199 = einsum(ints.tmp25, (0, 1, 2, 3), r2, (4, 0, 5, 6), (1, 2, 4, 3, 5, 6)) + del ints.tmp25 + tmp201 = np.copy(np.transpose(tmp199, (0, 1, 2, 3, 5, 4))) * -1 + del tmp199 + tmp200 = einsum(tmp50, (0, 1, 2, 3), t2, (4, 2, 5, 6), (0, 1, 4, 3, 5, 6)) * -1 + del tmp50 + tmp201 += np.transpose(tmp200, (1, 0, 2, 3, 5, 4)) + del tmp200 + r3new += np.transpose(tmp201, (1, 0, 2, 3, 4, 5)) * -1 + r3new += np.transpose(tmp201, (1, 0, 2, 4, 3, 5)) + r3new += np.transpose(tmp201, (1, 0, 2, 4, 5, 3)) * -1 + r3new += np.transpose(tmp201, (1, 2, 0, 3, 4, 5)) + r3new += np.transpose(tmp201, (1, 2, 0, 4, 3, 5)) * -1 + r3new += np.transpose(tmp201, (1, 2, 0, 4, 5, 3)) + r3new += np.transpose(tmp201, (2, 1, 0, 3, 4, 5)) * -1 + r3new += np.transpose(tmp201, (2, 1, 0, 4, 3, 5)) + r3new += np.transpose(tmp201, (2, 1, 0, 4, 5, 3)) * -1 + del tmp201 + tmp202 = einsum(r1, (0, 1), v.ooov, (2, 3, 4, 1), (0, 2, 3, 4)) + tmp203 = einsum(tmp202, (0, 1, 2, 3), t2, (4, 1, 5, 6), (0, 4, 2, 3, 5, 6)) * -1 + del tmp202 + tmp204 = einsum(tmp203, (0, 1, 2, 3, 4, 5), t1, (2, 6), (0, 1, 3, 6, 4, 5)) + del tmp203 + tmp208 = np.copy(np.transpose(tmp204, (0, 1, 2, 3, 5, 4))) + del tmp204 + tmp205 = einsum(r2, (0, 1, 2, 3), tmp70, (4, 1, 5, 6), (0, 4, 5, 2, 3, 6)) * -1 + del tmp70 + tmp208 += np.transpose(tmp205, (1, 2, 0, 5, 4, 3)) + del tmp205 + tmp206 = np.copy(np.transpose(tmp65, (0, 2, 1, 3))) * -1 + del tmp65 + tmp206 += tmp67 + del tmp67 + tmp207 = einsum(tmp206, (0, 1, 2, 3), t2, (4, 2, 5, 6), (4, 0, 1, 5, 6, 3)) * -1 + del tmp206 + tmp208 += np.transpose(tmp207, (1, 2, 0, 5, 4, 3)) * -1 + del tmp207 + r3new += tmp208 + r3new += np.transpose(tmp208, (0, 1, 2, 4, 3, 5)) * -1 + r3new += np.transpose(tmp208, (0, 1, 2, 4, 5, 3)) + r3new += np.transpose(tmp208, (0, 2, 1, 3, 4, 5)) * -1 + r3new += np.transpose(tmp208, (0, 2, 1, 4, 3, 5)) + r3new += np.transpose(tmp208, (0, 2, 1, 4, 5, 3)) * -1 + r3new += np.transpose(tmp208, (1, 0, 2, 3, 4, 5)) * -1 + r3new += np.transpose(tmp208, (1, 0, 2, 4, 3, 5)) + r3new += np.transpose(tmp208, (1, 0, 2, 4, 5, 3)) * -1 + r3new += np.transpose(tmp208, (2, 0, 1, 3, 4, 5)) + r3new += np.transpose(tmp208, (2, 0, 1, 4, 3, 5)) * -1 + r3new += np.transpose(tmp208, (2, 0, 1, 4, 5, 3)) + r3new += np.transpose(tmp208, (1, 2, 0, 3, 4, 5)) + r3new += np.transpose(tmp208, (1, 2, 0, 4, 3, 5)) * -1 + r3new += np.transpose(tmp208, (1, 2, 0, 4, 5, 3)) + r3new += np.transpose(tmp208, (2, 1, 0, 3, 4, 5)) * -1 + r3new += np.transpose(tmp208, (2, 1, 0, 4, 3, 5)) + r3new += np.transpose(tmp208, (2, 1, 0, 4, 5, 3)) * -1 + del tmp208 + tmp209 = einsum(ints.tmp67, (0, 1, 2, 3), r2, (4, 5, 6, 3), (0, 4, 5, 1, 2, 6)) + del ints.tmp67 + tmp214 = np.copy(np.transpose(tmp209, (0, 2, 1, 3, 4, 5))) * -1 + del tmp209 + tmp210 = einsum(r2, (0, 1, 2, 3), ints.tmp11, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) + del ints.tmp11 + tmp211 = einsum(tmp210, (0, 1, 2, 3, 4, 5), t1, (1, 6), (0, 2, 3, 4, 5, 6)) + del tmp210 + tmp214 += np.transpose(tmp211, (0, 2, 1, 3, 4, 5)) + del tmp211 + tmp212 = einsum(tmp0, (0, 1, 2, 3), t2, (4, 5, 6, 3), (0, 4, 5, 1, 2, 6)) * -1 + del tmp0 + tmp213 = einsum(t1, (0, 1), tmp212, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 1, 6)) * -1 + del tmp212 + tmp214 += np.transpose(tmp213, (0, 2, 1, 3, 4, 5)) * -1 + del tmp213 + r3new += tmp214 + r3new += np.transpose(tmp214, (0, 1, 2, 3, 5, 4)) * -1 + r3new += np.transpose(tmp214, (0, 1, 2, 4, 3, 5)) * -1 + r3new += np.transpose(tmp214, (0, 1, 2, 5, 3, 4)) + r3new += np.transpose(tmp214, (0, 1, 2, 4, 5, 3)) + r3new += np.transpose(tmp214, (0, 1, 2, 5, 4, 3)) * -1 + r3new += np.transpose(tmp214, (1, 0, 2, 3, 4, 5)) * -1 + r3new += np.transpose(tmp214, (1, 0, 2, 3, 5, 4)) + r3new += np.transpose(tmp214, (1, 0, 2, 4, 3, 5)) + r3new += np.transpose(tmp214, (1, 0, 2, 5, 3, 4)) * -1 + r3new += np.transpose(tmp214, (1, 0, 2, 4, 5, 3)) * -1 + r3new += np.transpose(tmp214, (1, 0, 2, 5, 4, 3)) + r3new += np.transpose(tmp214, (1, 2, 0, 3, 4, 5)) + r3new += np.transpose(tmp214, (1, 2, 0, 3, 5, 4)) * -1 + r3new += np.transpose(tmp214, (1, 2, 0, 4, 3, 5)) * -1 + r3new += np.transpose(tmp214, (1, 2, 0, 5, 3, 4)) + r3new += np.transpose(tmp214, (1, 2, 0, 4, 5, 3)) + r3new += np.transpose(tmp214, (1, 2, 0, 5, 4, 3)) * -1 + del tmp214 + tmp215 = einsum(ints.tmp4, (0, 1), r3, (2, 3, 4, 5, 6, 1), (2, 3, 4, 0, 5, 6)) + del ints.tmp4 + tmp218 = np.copy(np.transpose(tmp215, (1, 2, 0, 3, 5, 4))) * -1 + del tmp215 + tmp216 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp8, (6, 5), (0, 1, 2, 6, 3, 4)) * -1 + del tmp8 + tmp217 = einsum(tmp216, (0, 1, 2, 3, 4, 5), t1, (3, 6), (0, 1, 2, 6, 4, 5)) * -1 + del tmp216 + tmp218 += np.transpose(tmp217, (1, 2, 0, 3, 5, 4)) * -1 + del tmp217 + r3new += np.transpose(tmp218, (2, 0, 1, 3, 4, 5)) * -1 + r3new += np.transpose(tmp218, (2, 0, 1, 4, 3, 5)) + r3new += np.transpose(tmp218, (2, 0, 1, 4, 5, 3)) * -1 + del tmp218 + tmp219 = einsum(r2, (0, 1, 2, 3), ints.tmp88, (4, 5, 1, 6), (4, 5, 0, 6, 2, 3)) + del ints.tmp88 + tmp224 = np.copy(np.transpose(tmp219, (0, 1, 2, 3, 5, 4))) * -1 + del tmp219 + tmp220 = einsum(tmp66, (0, 1, 2, 3), t2, (4, 1, 5, 6), (0, 4, 2, 3, 5, 6)) * -1 + del tmp66 + tmp224 += np.transpose(tmp220, (0, 1, 2, 3, 5, 4)) + del tmp220 + tmp221 = einsum(r1, (0, 1), tmp77, (2, 3, 4, 1), (0, 2, 3, 4)) + del tmp77 + tmp222 = einsum(tmp221, (0, 1, 2, 3), t2, (4, 2, 5, 6), (0, 1, 4, 3, 5, 6)) * -1 + del tmp221 + tmp223 = einsum(tmp222, (0, 1, 2, 3, 4, 5), t1, (3, 6), (0, 1, 2, 6, 4, 5)) + del tmp222 + tmp224 += np.transpose(tmp223, (0, 1, 2, 3, 5, 4)) * -1 + del tmp223 + r3new += tmp224 * -1 + r3new += np.transpose(tmp224, (0, 1, 2, 4, 3, 5)) + r3new += np.transpose(tmp224, (0, 1, 2, 4, 5, 3)) * -1 + r3new += np.transpose(tmp224, (0, 2, 1, 3, 4, 5)) + r3new += np.transpose(tmp224, (0, 2, 1, 4, 3, 5)) * -1 + r3new += np.transpose(tmp224, (0, 2, 1, 4, 5, 3)) + r3new += np.transpose(tmp224, (1, 0, 2, 3, 4, 5)) + r3new += np.transpose(tmp224, (1, 0, 2, 4, 3, 5)) * -1 + r3new += np.transpose(tmp224, (1, 0, 2, 4, 5, 3)) + r3new += np.transpose(tmp224, (2, 0, 1, 3, 4, 5)) * -1 + r3new += np.transpose(tmp224, (2, 0, 1, 4, 3, 5)) + r3new += np.transpose(tmp224, (2, 0, 1, 4, 5, 3)) * -1 + r3new += np.transpose(tmp224, (1, 2, 0, 3, 4, 5)) * -1 + r3new += np.transpose(tmp224, (1, 2, 0, 4, 3, 5)) + r3new += np.transpose(tmp224, (1, 2, 0, 4, 5, 3)) * -1 + r3new += np.transpose(tmp224, (2, 1, 0, 3, 4, 5)) + r3new += np.transpose(tmp224, (2, 1, 0, 4, 3, 5)) * -1 + r3new += np.transpose(tmp224, (2, 1, 0, 4, 5, 3)) + del tmp224 + tmp225 = einsum(ints.tmp142, (0, 1, 2, 3, 4, 5), r1, (0, 6), (1, 2, 3, 4, 5, 6)) + del ints.tmp142 + r3new += np.transpose(tmp225, (1, 2, 0, 4, 3, 5)) + r3new += np.transpose(tmp225, (1, 2, 0, 4, 5, 3)) * -1 + r3new += np.transpose(tmp225, (1, 2, 0, 5, 4, 3)) + del tmp225 + tmp226 = einsum(ints.tmp175, (0, 1, 2, 3, 4, 5), r1, (2, 6), (0, 1, 3, 4, 5, 6)) + del ints.tmp175 + tmp229 = np.copy(tmp226) + del tmp226 + tmp227 = einsum(t1, (0, 1), ints.tmp222, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 6, 1)) + del ints.tmp222 + tmp228 = einsum(r1, (0, 1), tmp227, (2, 3, 0, 4, 5, 6), (2, 3, 4, 5, 1, 6)) + del tmp227 + tmp229 += tmp228 + del tmp228 + r3new += np.transpose(tmp229, (1, 0, 2, 3, 4, 5)) + r3new += np.transpose(tmp229, (1, 0, 2, 3, 5, 4)) * -1 + r3new += np.transpose(tmp229, (1, 0, 2, 4, 3, 5)) * -1 + r3new += np.transpose(tmp229, (1, 0, 2, 5, 3, 4)) + r3new += np.transpose(tmp229, (1, 0, 2, 4, 5, 3)) + r3new += np.transpose(tmp229, (1, 0, 2, 5, 4, 3)) * -1 + r3new += np.transpose(tmp229, (1, 2, 0, 3, 4, 5)) * -1 + r3new += np.transpose(tmp229, (1, 2, 0, 3, 5, 4)) + r3new += np.transpose(tmp229, (1, 2, 0, 4, 3, 5)) + r3new += np.transpose(tmp229, (1, 2, 0, 5, 3, 4)) * -1 + r3new += np.transpose(tmp229, (1, 2, 0, 4, 5, 3)) * -1 + r3new += np.transpose(tmp229, (1, 2, 0, 5, 4, 3)) + r3new += np.transpose(tmp229, (2, 1, 0, 3, 4, 5)) + r3new += np.transpose(tmp229, (2, 1, 0, 3, 5, 4)) * -1 + r3new += np.transpose(tmp229, (2, 1, 0, 4, 3, 5)) * -1 + r3new += np.transpose(tmp229, (2, 1, 0, 5, 3, 4)) + r3new += np.transpose(tmp229, (2, 1, 0, 4, 5, 3)) + r3new += np.transpose(tmp229, (2, 1, 0, 5, 4, 3)) * -1 + del tmp229 + tmp230 = einsum(r1, (0, 1), ints.tmp219, (2, 3, 0, 4, 5, 6), (2, 3, 4, 5, 6, 1)) + del ints.tmp219 + tmp233 = np.copy(tmp230) + del tmp230 + tmp231 = einsum(ints.tmp102, (0, 1, 2, 3), r2, (4, 1, 5, 6), (0, 2, 3, 4, 5, 6)) + del ints.tmp102 + tmp232 = einsum(t1, (0, 1), tmp231, (2, 0, 3, 4, 5, 6), (2, 3, 4, 5, 6, 1)) + del tmp231 + tmp233 += np.transpose(tmp232, (0, 1, 2, 4, 3, 5)) * -1 + del tmp232 + r3new += np.transpose(tmp233, (0, 1, 2, 4, 3, 5)) + r3new += np.transpose(tmp233, (0, 1, 2, 4, 5, 3)) * -1 + r3new += np.transpose(tmp233, (0, 1, 2, 5, 4, 3)) + r3new += np.transpose(tmp233, (0, 2, 1, 4, 3, 5)) * -1 + r3new += np.transpose(tmp233, (0, 2, 1, 4, 5, 3)) + r3new += np.transpose(tmp233, (0, 2, 1, 5, 4, 3)) * -1 + r3new += np.transpose(tmp233, (1, 0, 2, 4, 3, 5)) * -1 + r3new += np.transpose(tmp233, (1, 0, 2, 4, 5, 3)) + r3new += np.transpose(tmp233, (1, 0, 2, 5, 4, 3)) * -1 + r3new += np.transpose(tmp233, (2, 0, 1, 4, 3, 5)) + r3new += np.transpose(tmp233, (2, 0, 1, 4, 5, 3)) * -1 + r3new += np.transpose(tmp233, (2, 0, 1, 5, 4, 3)) + r3new += np.transpose(tmp233, (1, 2, 0, 4, 3, 5)) + r3new += np.transpose(tmp233, (1, 2, 0, 4, 5, 3)) * -1 + r3new += np.transpose(tmp233, (1, 2, 0, 5, 4, 3)) + r3new += np.transpose(tmp233, (2, 1, 0, 4, 3, 5)) * -1 + r3new += np.transpose(tmp233, (2, 1, 0, 4, 5, 3)) + r3new += np.transpose(tmp233, (2, 1, 0, 5, 4, 3)) * -1 + del tmp233 + tmp234 = einsum(ints.tmp253, (0, 1, 2, 3, 4, 5), r1, (3, 6), (0, 1, 2, 4, 5, 6)) + del ints.tmp253 + tmp237 = np.copy(tmp234) + del tmp234 + tmp235 = einsum(tmp10, (0, 1), r3, (2, 3, 4, 5, 6, 1), (2, 3, 4, 0, 5, 6)) + del tmp10 + tmp236 = einsum(tmp235, (0, 1, 2, 3, 4, 5), t1, (3, 6), (1, 2, 0, 6, 4, 5)) + del tmp235 + tmp237 += np.transpose(tmp236, (1, 2, 0, 5, 4, 3)) + del tmp236 + r3new += np.transpose(tmp237, (1, 2, 0, 4, 3, 5)) * -1 + r3new += np.transpose(tmp237, (1, 2, 0, 4, 5, 3)) + r3new += np.transpose(tmp237, (1, 2, 0, 5, 4, 3)) * -1 + del tmp237 + tmp238 = einsum(tmp6, (0, 1), t3, (2, 3, 0, 4, 5, 6), (2, 3, 1, 4, 5, 6)) * -1 + del tmp6 + r3new += np.transpose(tmp238, (1, 0, 2, 4, 5, 3)) * -1 + r3new += np.transpose(tmp238, (1, 2, 0, 4, 5, 3)) + r3new += np.transpose(tmp238, (2, 1, 0, 4, 5, 3)) * -1 + del tmp238 + tmp239 = einsum(ints.tmp125, (0, 1, 2, 3), r2, (4, 2, 5, 6), (0, 1, 3, 4, 5, 6)) + del ints.tmp125 + tmp240 = einsum(tmp239, (0, 1, 2, 3, 4, 5), t1, (2, 6), (0, 1, 3, 4, 5, 6)) + del tmp239 + r3new += np.transpose(tmp240, (1, 0, 2, 4, 3, 5)) + r3new += np.transpose(tmp240, (1, 0, 2, 4, 5, 3)) * -1 + r3new += np.transpose(tmp240, (1, 0, 2, 5, 4, 3)) + r3new += np.transpose(tmp240, (1, 2, 0, 4, 3, 5)) * -1 + r3new += np.transpose(tmp240, (1, 2, 0, 4, 5, 3)) + r3new += np.transpose(tmp240, (1, 2, 0, 5, 4, 3)) * -1 + r3new += np.transpose(tmp240, (2, 1, 0, 4, 3, 5)) + r3new += np.transpose(tmp240, (2, 1, 0, 4, 5, 3)) * -1 + r3new += np.transpose(tmp240, (2, 1, 0, 5, 4, 3)) + del tmp240 + tmp244 = np.copy(ints.tmp141) + del ints.tmp141 + tmp244 += ints.tmp171 * 0.5 + del ints.tmp171 + tmp244 += ints.tmp178 * 0.5 + del ints.tmp178 + tmp244 += ints.tmp252 + del ints.tmp252 + tmp244 += ints.tmp271 + del ints.tmp271 + tmp244 += ints.tmp274 + del ints.tmp274 + tmp244 += ints.tmp295 * 0.25 + del ints.tmp295 + tmp244 += ints.tmp309 * 0.5 + del ints.tmp309 + tmp244 += ints.tmp320 * 0.5 + del ints.tmp320 + tmp244 += ints.tmp334 + del ints.tmp334 + tmp244 += v.oovv + tmp241 = np.copy(ints.tmp153) + del ints.tmp153 + tmp241 += ints.tmp197 * 0.5 + del ints.tmp197 + tmp241 += ints.tmp218 * 0.5 + del ints.tmp218 + tmp241 += ints.tmp294 * 0.5 + del ints.tmp294 + tmp241 += ints.tmp306 + del ints.tmp306 + tmp241 += ints.tmp325 + del ints.tmp325 + tmp241 += ints.tmp137 * -1 + del ints.tmp137 + tmp241 += ints.tmp145 * -1 + del ints.tmp145 + tmp241 += ints.tmp217 * -1 + del ints.tmp217 + tmp241 += ints.tmp256 * -0.5 + del ints.tmp256 + tmp244 += tmp241 * -1 + tmp244 += np.transpose(tmp241, (1, 0, 2, 3)) + tmp242 = np.copy(ints.tmp138) + tmp242 += ints.tmp152 + tmp242 += ints.tmp203 * 0.5 + tmp242 += ints.tmp233 * 0.5 + tmp242 += ints.tmp298 * 0.5 + del ints.tmp298 + tmp242 += ints.tmp307 + tmp242 += ints.tmp326 + tmp242 += ints.tmp146 * -1 + tmp242 += ints.tmp227 * -1 + tmp242 += ints.tmp263 * -0.5 + tmp242 += ints.tmp299 * -1 + tmp244 += tmp242 * -1 + tmp244 += np.transpose(tmp242, (0, 1, 3, 2)) + del tmp242 + tmp243 = np.copy(ints.tmp221) + del ints.tmp221 + tmp243 += ints.tmp228 + del ints.tmp228 + tmp243 += ints.tmp272 + del ints.tmp272 + tmp243 += ints.tmp174 * -1 + del ints.tmp174 + tmp243 += ints.tmp312 * -1 + del ints.tmp312 + tmp244 += tmp243 + tmp244 += np.transpose(tmp243, (0, 1, 3, 2)) * -1 + tmp244 += np.transpose(tmp243, (1, 0, 2, 3)) * -1 + tmp244 += np.transpose(tmp243, (1, 0, 3, 2)) + r3new += einsum(r1, (0, 1), tmp244, (2, 3, 4, 5), (0, 3, 2, 1, 5, 4)) + r3new += einsum(tmp244, (0, 1, 2, 3), r1, (4, 5), (1, 4, 0, 3, 5, 2)) + r3new += einsum(tmp244, (0, 1, 2, 3), r1, (4, 5), (4, 1, 0, 3, 2, 5)) + r3new += einsum(tmp244, (0, 1, 2, 3), r1, (4, 5), (1, 0, 4, 3, 2, 5)) + r3new += einsum(r1, (0, 1), tmp244, (2, 3, 4, 5), (3, 0, 2, 1, 5, 4)) * -1 + r3new += einsum(tmp244, (0, 1, 2, 3), r1, (4, 5), (4, 1, 0, 3, 5, 2)) * -1 + r3new += einsum(tmp244, (0, 1, 2, 3), r1, (4, 5), (1, 0, 4, 3, 5, 2)) * -1 + r3new += einsum(tmp244, (0, 1, 2, 3), r1, (4, 5), (1, 4, 0, 3, 2, 5)) * -1 + del tmp244 + tmp246 = np.copy(v.oovv) + tmp246 += tmp241 * -1 + tmp246 += np.transpose(tmp241, (1, 0, 2, 3)) + del tmp241 + tmp245 = np.copy(ints.tmp138) + del ints.tmp138 + tmp245 += ints.tmp152 + del ints.tmp152 + tmp245 += ints.tmp203 * 0.5 + del ints.tmp203 + tmp245 += ints.tmp233 * 0.5 + del ints.tmp233 + tmp245 += ints.tmp307 + del ints.tmp307 + tmp245 += ints.tmp326 + del ints.tmp326 + tmp245 += ints.tmp146 * -1 + del ints.tmp146 + tmp245 += ints.tmp227 * -1 + del ints.tmp227 + tmp245 += ints.tmp263 * -0.5 + del ints.tmp263 + tmp245 += ints.tmp299 * -1 + del ints.tmp299 + tmp246 += tmp245 * -1 + tmp246 += np.transpose(tmp245, (0, 1, 3, 2)) + del tmp245 + tmp246 += tmp243 + tmp246 += np.transpose(tmp243, (0, 1, 3, 2)) * -1 + tmp246 += np.transpose(tmp243, (1, 0, 2, 3)) * -1 + tmp246 += np.transpose(tmp243, (1, 0, 3, 2)) + del tmp243 + r3new += einsum(r1, (0, 1), tmp246, (2, 3, 4, 5), (3, 2, 0, 1, 5, 4)) + del tmp246 + r3new += einsum(r2, (0, 1, 2, 3), tmp91, (4, 5), (4, 0, 1, 5, 2, 3)) * -0.5 + r3new += einsum(r2, (0, 1, 2, 3), tmp92, (4, 5), (0, 1, 4, 5, 2, 3)) * -1 + r3new += einsum(r2, (0, 1, 2, 3), tmp91, (4, 5), (0, 4, 1, 2, 5, 3)) * -0.5 + r3new += einsum(tmp92, (0, 1), r2, (2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -1 + r3new += einsum(r2, (0, 1, 2, 3), tmp91, (4, 5), (0, 4, 1, 5, 2, 3)) * 0.5 + r3new += einsum(r2, (0, 1, 2, 3), tmp91, (4, 5), (4, 0, 1, 2, 5, 3)) * 0.5 + r3new += einsum(tmp91, (0, 1), r2, (2, 3, 4, 5), (2, 3, 0, 4, 1, 5)) * 0.5 + del tmp91 + r3new += einsum(tmp92, (0, 1), r2, (2, 3, 4, 5), (2, 0, 3, 4, 5, 1)) + del tmp92 + + return {f"r1new": r1new, f"r2new": r2new, f"r3new": r3new} + +def hbar_lmatvec_ip_intermediates(f=None, t1=None, t2=None, t3=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-10-22T10:40:11.204470. + + Parameters + ---------- + f : array + Fock matrix. + t1 : array + T1 amplitudes. + t2 : array + T2 amplitudes. + t3 : array + T3 amplitudes. + v : array + Electron repulsion integrals. + + Returns + ------- + tmp0 : array + tmp10 : array + tmp15 : array + tmp17 : array + tmp18 : array + tmp19 : array + tmp2 : array + tmp20 : array + tmp21 : array + tmp25 : array + tmp26 : array + tmp28 : array + tmp31 : array + tmp33 : array + tmp35 : array + tmp36 : array + tmp38 : array + tmp45 : array + tmp52 : array + tmp53 : array + tmp55 : array + tmp68 : array + tmp97 : array + """ + + tmp0 = einsum(t1, (0, 1), f.ov, (2, 1), (2, 0)) + tmp15 = np.copy(np.transpose(v.oooo, (0, 2))) + tmp17 = einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 2, 3), (0, 4)) + tmp2 = einsum(t1, (0, 1), f.vv, (2, 1), (0, 2)) + tmp10 = einsum(t1, (0, 1), v.ooov, (2, 0, 3, 1), (2, 3)) + tmp18 = einsum(t2, (0, 1, 2, 3), v.ovoo, (4, 3, 0, 1), (4, 2)) + tmp20 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 2, 3), (0, 4)) + tmp25 = einsum(t3, (0, 1, 2, 3, 4, 5), v.oovv, (1, 2, 4, 5), (0, 3)) + tmp19 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 1, 5, 3), (0, 4, 5, 2)) + tmp21 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 5, 2, 3), (4, 5, 0, 1)) + tmp26 = einsum(t3, (0, 1, 2, 3, 4, 5), v.oovv, (6, 2, 4, 5), (0, 1, 6, 3)) + tmp28 = einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 0, 6, 2, 3), (4, 5, 6, 1)) + tmp33 = einsum(v.oovv, (0, 1, 2, 3), t2, (4, 1, 5, 3), (4, 0, 5, 2)) + tmp36 = einsum(t2, (0, 1, 2, 3), v.oovv, (0, 1, 4, 3), (2, 4)) + tmp38 = einsum(v.oovv, (0, 1, 2, 3), t2, (4, 5, 2, 3), (4, 5, 0, 1)) + tmp45 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 0, 5, 3), (4, 5, 1, 2)) + tmp53 = einsum(v.ooov, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) + tmp55 = einsum(v.ovvv, (0, 1, 2, 3), t1, (0, 3), (1, 2)) + tmp30 = np.copy(np.transpose(v.ooov, (0, 3))) + tmp31 = einsum(tmp30, (0, 1), t1, (2, 1), (2, 0)) + del tmp30 + tmp35 = einsum(t1, (0, 1), v.oovv, (2, 0, 3, 1), (2, 3)) + tmp52 = einsum(tmp35, (0, 1), t1, (2, 1), (2, 0)) + tmp68 = einsum(t1, (0, 1), v.oovv, (2, 3, 4, 1), (0, 2, 3, 4)) + tmp97 = einsum(tmp68, (0, 1, 2, 3), t1, (4, 3), (0, 4, 1, 2)) * -1 + + return {f"tmp0": tmp0, f"tmp10": tmp10, f"tmp15": tmp15, f"tmp17": tmp17, f"tmp18": tmp18, f"tmp19": tmp19, f"tmp2": tmp2, f"tmp20": tmp20, f"tmp21": tmp21, f"tmp25": tmp25, f"tmp26": tmp26, f"tmp28": tmp28, f"tmp31": tmp31, f"tmp33": tmp33, f"tmp35": tmp35, f"tmp36": tmp36, f"tmp38": tmp38, f"tmp45": tmp45, f"tmp52": tmp52, f"tmp53": tmp53, f"tmp55": tmp55, f"tmp68": tmp68, f"tmp97": tmp97} + +def hbar_lmatvec_ip(f=None, r1=None, r2=None, r3=None, t1=None, t2=None, t3=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-10-22T10:40:11.257102. + + Parameters + ---------- + f : array + Fock matrix. + r1 : array + R1 amplitudes. + r2 : array + R2 amplitudes. + r3 : array + R3 amplitudes. + t1 : array + T1 amplitudes. + t2 : array + T2 amplitudes. + t3 : array + T3 amplitudes. + v : array + Electron repulsion integrals. + + Returns + ------- + r1new : array + Updated R1 residuals. + r2new : array + Updated R2 residuals. + r3new : array + Updated R3 residuals. + """ + + ints = kwargs["ints"] + tmp4 = einsum(r3, (0, 1, 2, 3, 4), v.vvvv, (5, 6, 3, 4), (0, 1, 2, 5, 6)) + r3new = np.copy(np.transpose(tmp4, (1, 2, 0, 4, 3))) * -0.5 + tmp30 = einsum(v.ovvv, (0, 1, 2, 3), r3, (4, 5, 6, 7, 1), (4, 5, 6, 0, 7, 2, 3)) + tmp31 = einsum(t1, (0, 1), tmp30, (2, 3, 4, 0, 1, 5, 6), (2, 3, 4, 5, 6)) + r3new += np.transpose(tmp31, (1, 2, 0, 4, 3)) + tmp25 = einsum(v.ovvv, (0, 1, 2, 3), r2, (4, 5, 1), (4, 5, 0, 2, 3)) + tmp83 = np.copy(np.transpose(tmp25, (1, 0, 2, 4, 3))) + tmp80 = np.copy(ints.tmp38) * 0.5 + tmp80 += np.transpose(ints.tmp53, (3, 0, 1, 2)) * 2 + tmp80 += ints.tmp97 + tmp81 = einsum(r3, (0, 1, 2, 3, 4), tmp80, (1, 2, 5, 6), (0, 5, 6, 3, 4)) * -0.5 + del tmp80 + tmp83 += np.transpose(tmp81, (2, 1, 0, 4, 3)) + del tmp81 + tmp39 = einsum(t1, (0, 1), r2, (2, 3, 1), (2, 3, 0)) + tmp40 = np.copy(np.transpose(tmp39, (1, 0, 2))) * -2 + tmp11 = einsum(t2, (0, 1, 2, 3), r3, (4, 5, 1, 2, 3), (4, 5, 0)) + tmp40 += np.transpose(tmp11, (1, 0, 2)) * -1 + tmp82 = einsum(v.oovv, (0, 1, 2, 3), tmp40, (4, 5, 1), (0, 4, 5, 2, 3)) * -0.5 + tmp83 += np.transpose(tmp82, (2, 1, 0, 4, 3)) + del tmp82 + r3new += tmp83 * -1 + r3new += np.transpose(tmp83, (0, 2, 1, 3, 4)) + r3new += np.transpose(tmp83, (2, 0, 1, 3, 4)) * -1 + del tmp83 + tmp27 = einsum(ints.tmp33, (0, 1, 2, 3), r3, (4, 5, 0, 6, 2), (1, 4, 5, 3, 6)) + tmp84 = np.copy(np.transpose(tmp27, (0, 2, 1, 3, 4))) * -1 + tmp28 = einsum(t1, (0, 1), r3, (2, 3, 4, 5, 1), (2, 3, 4, 0, 5)) + tmp60 = einsum(tmp28, (0, 1, 2, 3, 4), ints.tmp68, (2, 5, 3, 6), (5, 0, 1, 6, 4)) + tmp84 += np.transpose(tmp60, (0, 2, 1, 3, 4)) + tmp6 = einsum(r3, (0, 1, 2, 3, 4), t2, (1, 2, 5, 4), (0, 3, 5)) + tmp32 = einsum(v.oovv, (0, 1, 2, 3), tmp6, (4, 5, 3), (4, 0, 1, 5, 2)) * -1 + tmp84 += np.transpose(tmp32, (0, 2, 1, 3, 4)) * -0.5 + r3new += tmp84 * -1 + r3new += np.transpose(tmp84, (0, 1, 2, 4, 3)) + r3new += np.transpose(tmp84, (1, 0, 2, 3, 4)) + r3new += np.transpose(tmp84, (1, 0, 2, 4, 3)) * -1 + r3new += np.transpose(tmp84, (1, 2, 0, 3, 4)) * -1 + r3new += np.transpose(tmp84, (1, 2, 0, 4, 3)) + del tmp84 + tmp85 = np.copy(f.vv) + tmp85 += ints.tmp36 * -0.5 + tmp86 = einsum(r3, (0, 1, 2, 3, 4), tmp85, (4, 5), (0, 1, 2, 3, 5)) * -1 + del tmp85 + tmp88 = np.copy(np.transpose(tmp86, (1, 2, 0, 4, 3))) + del tmp86 + tmp51 = np.copy(f.ov) + tmp51 += ints.tmp35 + tmp87 = einsum(tmp51, (0, 1), tmp28, (2, 3, 4, 0, 5), (2, 3, 4, 5, 1)) + tmp88 += np.transpose(tmp87, (1, 2, 0, 4, 3)) + del tmp87 + r3new += np.transpose(tmp88, (2, 0, 1, 3, 4)) + r3new += np.transpose(tmp88, (2, 0, 1, 4, 3)) * -1 + del tmp88 + tmp89 = einsum(ints.tmp55, (0, 1), r3, (2, 3, 4, 5, 0), (2, 3, 4, 1, 5)) + r3new += np.transpose(tmp89, (1, 2, 0, 3, 4)) + r3new += np.transpose(tmp89, (1, 2, 0, 4, 3)) * -1 + del tmp89 + tmp90 = einsum(r2, (0, 1, 2), v.ooov, (3, 4, 1, 5), (0, 3, 4, 2, 5)) + r3new += np.transpose(tmp90, (0, 2, 1, 3, 4)) + r3new += np.transpose(tmp90, (0, 2, 1, 4, 3)) * -1 + r3new += np.transpose(tmp90, (2, 0, 1, 3, 4)) * -1 + r3new += np.transpose(tmp90, (2, 0, 1, 4, 3)) + r3new += np.transpose(tmp90, (2, 1, 0, 3, 4)) + r3new += np.transpose(tmp90, (2, 1, 0, 4, 3)) * -1 + del tmp90 + tmp91 = einsum(r2, (0, 1, 2), ints.tmp68, (1, 3, 4, 5), (3, 4, 0, 5, 2)) + r3new += np.transpose(tmp91, (1, 0, 2, 3, 4)) + r3new += np.transpose(tmp91, (1, 0, 2, 4, 3)) * -1 + r3new += np.transpose(tmp91, (1, 2, 0, 3, 4)) * -1 + r3new += np.transpose(tmp91, (1, 2, 0, 4, 3)) + r3new += np.transpose(tmp91, (2, 1, 0, 3, 4)) + r3new += np.transpose(tmp91, (2, 1, 0, 4, 3)) * -1 + del tmp91 + tmp58 = einsum(v.oooo, (0, 1, 2, 3), r3, (4, 2, 3, 5, 6), (4, 0, 1, 5, 6)) + tmp93 = np.copy(np.transpose(tmp58, (0, 2, 1, 4, 3))) * -0.5 + tmp52 = np.copy(f.oo) * 2 + tmp52 += np.transpose(ints.tmp0, (1, 0)) * 2 + tmp52 += np.transpose(ints.tmp10, (1, 0)) * 2 + tmp52 += ints.tmp17 + tmp52 += ints.tmp52 * 2 + tmp92 = einsum(tmp52, (0, 1), r3, (2, 3, 0, 4, 5), (2, 3, 1, 4, 5)) * 0.5 + tmp93 += np.transpose(tmp92, (2, 0, 1, 4, 3)) * -1 + del tmp92 + r3new += tmp93 * -1 + r3new += np.transpose(tmp93, (1, 0, 2, 3, 4)) + r3new += np.transpose(tmp93, (1, 2, 0, 3, 4)) * -1 + del tmp93 + r3new += einsum(r1, (0,), v.oovv, (1, 2, 3, 4), (0, 1, 2, 3, 4)) + r3new += einsum(v.oovv, (0, 1, 2, 3), r1, (4,), (0, 4, 1, 2, 3)) * -1 + r3new += einsum(r1, (0,), v.oovv, (1, 2, 3, 4), (1, 2, 0, 3, 4)) + tmp94 = np.copy(f.ov) + tmp94 += ints.tmp35 + r3new += einsum(tmp94, (0, 1), r2, (2, 3, 4), (0, 2, 3, 1, 4)) * -1 + r3new += einsum(r2, (0, 1, 2), tmp94, (3, 4), (3, 0, 1, 2, 4)) + r3new += einsum(r2, (0, 1, 2), tmp94, (3, 4), (0, 3, 1, 4, 2)) + r3new += einsum(r2, (0, 1, 2), tmp94, (3, 4), (0, 3, 1, 2, 4)) * -1 + r3new += einsum(tmp94, (0, 1), r2, (2, 3, 4), (2, 3, 0, 1, 4)) * -1 + r3new += einsum(tmp94, (0, 1), r2, (2, 3, 4), (2, 3, 0, 4, 1)) + del tmp94 + tmp26 = einsum(r3, (0, 1, 2, 3, 4), v.ovov, (5, 4, 2, 6), (0, 1, 5, 3, 6)) + tmp95 = np.copy(np.transpose(tmp26, (1, 0, 2, 3, 4))) + tmp29 = einsum(tmp28, (0, 1, 2, 3, 4), v.ooov, (5, 3, 2, 6), (0, 1, 5, 4, 6)) + tmp95 += np.transpose(tmp29, (1, 0, 2, 3, 4)) * -1 + tmp61 = einsum(t1, (0, 1), tmp30, (0, 2, 3, 4, 5, 1, 6), (2, 3, 4, 5, 6)) * -1 + del tmp30 + tmp95 += np.transpose(tmp61, (1, 0, 2, 3, 4)) * -1 + r3new += tmp95 + r3new += np.transpose(tmp95, (0, 1, 2, 4, 3)) * -1 + r3new += np.transpose(tmp95, (0, 2, 1, 3, 4)) * -1 + r3new += np.transpose(tmp95, (0, 2, 1, 4, 3)) + r3new += np.transpose(tmp95, (2, 0, 1, 3, 4)) + r3new += np.transpose(tmp95, (2, 0, 1, 4, 3)) * -1 + del tmp95 + tmp1 = einsum(r3, (0, 1, 2, 3, 4), t2, (5, 6, 3, 4), (0, 1, 2, 5, 6)) + tmp35 = np.copy(np.transpose(tmp1, (1, 2, 0, 4, 3))) * -0.5 + tmp34 = einsum(tmp28, (0, 1, 2, 3, 4), t1, (5, 4), (0, 1, 2, 3, 5)) * -1 + tmp35 += np.transpose(tmp34, (1, 2, 0, 4, 3)) * -1 + del tmp34 + tmp36 = einsum(tmp35, (0, 1, 2, 3, 4), v.oovv, (3, 4, 5, 6), (0, 1, 2, 5, 6)) * 0.5 + del tmp35 + r3new += np.transpose(tmp36, (1, 2, 0, 4, 3)) * -1 + tmp0 = einsum(r3, (0, 1, 2, 3, 4), t3, (0, 1, 2, 5, 6, 4), (3, 5, 6)) + r1new = einsum(v.ovvv, (0, 1, 2, 3), tmp0, (1, 3, 2), (0,)) * 0.08333333333333 + r1new += einsum(tmp1, (0, 1, 2, 3, 4), ints.tmp38, (2, 1, 3, 4), (0,)) * -0.0625 + r1new += einsum(v.oooo, (0, 1, 2, 3), tmp1, (4, 2, 3, 1, 0), (4,)) * -0.125 + tmp2 = einsum(t3, (0, 1, 2, 3, 4, 5), r3, (6, 1, 2, 4, 5), (6, 0, 3)) + r1new += einsum(v.ooov, (0, 1, 2, 3), tmp2, (2, 1, 3), (0,)) * -0.25 + tmp3 = einsum(r3, (0, 1, 2, 3, 4), t3, (5, 6, 2, 7, 3, 4), (0, 1, 5, 6, 7)) + r1new += einsum(v.ovoo, (0, 1, 2, 3), tmp3, (4, 0, 3, 2, 1), (4,)) * -0.25 + r1new += einsum(tmp4, (0, 1, 2, 3, 4), t2, (1, 2, 4, 3), (0,)) * -0.125 + tmp5 = einsum(r3, (0, 1, 2, 3, 4), t2, (5, 2, 6, 4), (0, 1, 5, 3, 6)) + r1new += einsum(tmp5, (0, 1, 2, 3, 4), v.ovov, (2, 3, 1, 4), (0,)) * -1 + tmp7 = einsum(t1, (0, 1), tmp6, (2, 1, 3), (2, 0, 3)) + r1new += einsum(tmp7, (0, 1, 2), ints.tmp35, (1, 2), (0,)) * -0.5 + del ints.tmp35 + tmp8 = np.copy(v.oovv) + tmp8 += np.transpose(ints.tmp28, (1, 0, 3, 2)) * -1 + del ints.tmp28 + tmp8 += einsum(ints.tmp33, (0, 1, 2, 3), t2, (4, 1, 5, 3), (0, 4, 2, 5)) * 2 + r1new += einsum(tmp8, (0, 1, 2, 3), r3, (4, 1, 0, 3, 2), (4,)) * 0.25 + del tmp8 + tmp9 = np.copy(ints.tmp33) + tmp9 += np.transpose(v.ovov, (0, 2, 3, 1)) * -1 + r1new += einsum(tmp6, (0, 1, 2), tmp9, (0, 3, 1, 2), (3,)) * 0.5 + del tmp9 + tmp10 = np.copy(ints.tmp19) + tmp10 += np.transpose(ints.tmp26, (0, 2, 1, 3)) * 0.25 + tmp10 += np.transpose(ints.tmp21, (0, 2, 1, 3)) * -0.25 + tmp10 += np.transpose(v.ooov, (0, 2, 1, 3)) * -0.5 + r1new += einsum(tmp10, (0, 1, 2, 3), r2, (2, 0, 3), (1,)) * -1 + del tmp10 + tmp12 = np.copy(ints.tmp38) + tmp12 += v.oooo * 2 + r1new += einsum(tmp12, (0, 1, 2, 3), tmp11, (0, 1, 3), (2,)) * 0.125 + del tmp12 + tmp13 = einsum(v.ovoo, (0, 1, 2, 3), tmp1, (4, 5, 0, 3, 2), (5, 4, 1)) + del tmp1 + tmp41 = np.copy(tmp13) + tmp14 = einsum(tmp11, (0, 1, 2), v.ooov, (3, 2, 0, 4), (1, 3, 4)) * -1 + del tmp11 + tmp41 += np.transpose(tmp14, (1, 0, 2)) * 2 + tmp15 = einsum(tmp6, (0, 1, 2), v.ooov, (3, 4, 0, 2), (3, 4, 1)) * -1 + tmp41 += tmp15 * 2 + tmp16 = einsum(tmp3, (0, 1, 2, 3, 4), v.oovv, (3, 2, 5, 4), (1, 0, 5)) + del tmp3 + tmp41 += tmp16 * -1 + tmp17 = einsum(v.oovv, (0, 1, 2, 3), tmp0, (4, 3, 2), (0, 1, 4)) * -1 + del tmp0 + tmp41 += tmp17 * -0.33333333333332 + tmp18 = einsum(r2, (0, 1, 2), ints.tmp33, (1, 3, 2, 4), (3, 0, 4)) + del ints.tmp33 + tmp22 = np.copy(tmp18) * 4 + tmp19 = einsum(v.ovov, (0, 1, 2, 3), r2, (4, 2, 1), (4, 0, 3)) + tmp22 += tmp19 * 4 + tmp20 = einsum(tmp6, (0, 1, 2), v.ovvv, (3, 1, 4, 2), (0, 3, 4)) + tmp22 += tmp20 * -2 + tmp21 = einsum(tmp2, (0, 1, 2), v.oovv, (3, 1, 4, 2), (0, 3, 4)) + tmp22 += tmp21 * -1 + tmp41 += tmp22 + tmp41 += np.transpose(tmp22, (1, 0, 2)) * -1 + del tmp22 + tmp23 = np.copy(ints.tmp45) * 2 + tmp23 += np.transpose(v.ovvv, (0, 2, 3, 1)) * -1 + tmp41 += einsum(r3, (0, 1, 2, 3, 4), tmp23, (2, 3, 4, 5), (0, 1, 5)) * -2 + del tmp23 + tmp24 = np.copy(ints.tmp19) * 2 + tmp24 += np.transpose(ints.tmp21, (1, 2, 0, 3)) * 0.5 + tmp24 += np.transpose(ints.tmp26, (1, 2, 0, 3)) * -0.5 + tmp24 += np.transpose(v.ooov, (0, 2, 1, 3)) * -1 + tmp41 += einsum(r3, (0, 1, 2, 3, 4), tmp24, (2, 5, 1, 4), (0, 5, 3)) * 2 + del tmp24 + tmp37 = np.copy(np.transpose(tmp25, (1, 0, 2, 4, 3))) + tmp37 += np.transpose(tmp26, (2, 1, 0, 3, 4)) * -2 + tmp37 += np.transpose(tmp27, (2, 0, 1, 3, 4)) * 2 + tmp37 += np.transpose(tmp4, (1, 2, 0, 4, 3)) * 0.5 + tmp37 += np.transpose(tmp29, (2, 1, 0, 3, 4)) + tmp37 += np.transpose(tmp31, (1, 2, 0, 4, 3)) * -1 + tmp37 += np.transpose(tmp32, (2, 0, 1, 3, 4)) + tmp33 = np.copy(ints.tmp38) * -0.5 + tmp33 += v.oooo * -1 + tmp37 += einsum(tmp33, (0, 1, 2, 3), r3, (4, 0, 1, 5, 6), (3, 2, 4, 5, 6)) * -0.5 + del tmp33 + tmp37 += np.transpose(tmp36, (1, 2, 0, 4, 3)) + tmp41 += einsum(t1, (0, 1), tmp37, (0, 2, 3, 1, 4), (3, 2, 4)) * 2 + del tmp37 + tmp38 = np.copy(np.transpose(ints.tmp53, (0, 3, 1, 2))) * 4 + tmp38 += ints.tmp38 * -1 + tmp38 += v.oooo * -2 + tmp41 += einsum(r2, (0, 1, 2), tmp38, (1, 0, 3, 4), (3, 4, 2)) * -1 + del tmp38 + tmp41 += einsum(ints.tmp68, (0, 1, 2, 3), tmp40, (0, 4, 2), (1, 4, 3)) + r1new += einsum(t1, (0, 1), tmp41, (2, 0, 1), (2,)) * -0.25 + del tmp41 + tmp43 = np.copy(ints.tmp18) + tmp43 += ints.tmp20 + tmp43 += f.ov * -2 + tmp43 += ints.tmp25 * -0.5 + tmp43 += ints.tmp2 * -2 + del ints.tmp2 + tmp42 = np.copy(ints.tmp36) + tmp42 += ints.tmp55 * 2 + tmp43 += einsum(t1, (0, 1), tmp42, (2, 1), (0, 2)) + del tmp42 + r1new += einsum(tmp43, (0, 1), r2, (2, 0, 1), (2,)) * -0.5 + del tmp43 + tmp44 = np.copy(f.vv) * 2 + tmp44 += np.transpose(ints.tmp36, (1, 0)) * -1 + r1new += einsum(tmp6, (0, 1, 2), tmp44, (2, 1), (0,)) * 0.25 + del tmp44 + tmp45 = einsum(r2, (0, 1, 2), t2, (3, 1, 4, 2), (0, 3, 4)) + tmp45 += tmp2 * 0.25 + del tmp2 + tmp45 += tmp7 * -0.5 + del tmp7 + r1new += einsum(tmp45, (0, 1, 2), f.ov, (1, 2), (0,)) + del tmp45 + tmp46 = np.copy(f.oo) * 2 + tmp46 += np.transpose(ints.tmp17, (1, 0)) + tmp46 += np.transpose(ints.tmp52, (1, 0)) * 2 + r1new += einsum(tmp46, (0, 1), tmp40, (1, 2, 0), (2,)) * 0.25 + tmp47 = np.copy(ints.tmp0) + tmp47 += ints.tmp10 + r1new += einsum(tmp40, (0, 1, 2), tmp47, (2, 0), (1,)) * 0.5 + tmp48 = einsum(t2, (0, 1, 2, 3), r2, (0, 1, 3), (2,)) + tmp50 = np.copy(tmp48) * 6 + del tmp48 + tmp49 = einsum(t3, (0, 1, 2, 3, 4, 5), r3, (0, 1, 2, 4, 5), (3,)) + tmp50 += tmp49 + del tmp49 + r1new += einsum(tmp51, (0, 1), tmp50, (1,), (0,)) * -0.08333333333333 + r1new += einsum(r1, (0,), tmp52, (0, 1), (1,)) * -0.5 + del tmp52 + r2new = einsum(tmp5, (0, 1, 2, 3, 4), f.ov, (2, 4), (1, 0, 3)) * -1 + del tmp5 + r2new += tmp17 * 0.08333333333333 + del tmp17 + r2new += tmp16 * 0.25 + del tmp16 + r2new += tmp13 * -0.25 + del tmp13 + r2new += tmp15 * -0.5 + del tmp15 + tmp53 = einsum(ints.tmp19, (0, 1, 2, 3), r3, (4, 0, 2, 5, 3), (1, 4, 5)) + del ints.tmp19 + r2new += tmp53 * -1 + r2new += np.transpose(tmp53, (1, 0, 2)) + del tmp53 + tmp54 = einsum(ints.tmp17, (0, 1), r2, (2, 0, 3), (1, 2, 3)) + del ints.tmp17 + tmp66 = np.copy(tmp54) * 0.5 + del tmp54 + tmp66 += tmp18 * -1 + del tmp18 + tmp66 += tmp19 * -1 + del tmp19 + tmp55 = einsum(v.ovoo, (0, 1, 2, 3), r3, (4, 2, 3, 5, 1), (4, 0, 5)) + tmp66 += tmp55 * -0.5 + del tmp55 + tmp66 += tmp14 * 0.5 + del tmp14 + tmp66 += tmp20 * 0.5 + del tmp20 + tmp66 += tmp21 * 0.25 + del tmp21 + tmp56 = np.copy(ints.tmp21) + del ints.tmp21 + tmp56 += ints.tmp26 * -1 + del ints.tmp26 + tmp57 = einsum(tmp56, (0, 1, 2, 3), r3, (4, 0, 1, 5, 3), (4, 2, 5)) * 0.25 + del tmp56 + tmp66 += np.transpose(tmp57, (1, 0, 2)) + del tmp57 + tmp62 = np.copy(np.transpose(tmp58, (2, 0, 1, 4, 3))) * 2 + del tmp58 + tmp59 = einsum(r3, (0, 1, 2, 3, 4), ints.tmp38, (2, 1, 5, 6), (5, 6, 0, 3, 4)) * -1 + tmp62 += np.transpose(tmp59, (0, 1, 2, 4, 3)) + del tmp59 + tmp62 += np.transpose(tmp60, (2, 0, 1, 3, 4)) * -2 + del tmp60 + tmp62 += np.transpose(tmp61, (1, 0, 2, 4, 3)) * -2 + del tmp61 + tmp62 += np.transpose(tmp32, (2, 0, 1, 3, 4)) * 2 + tmp63 = einsum(t1, (0, 1), tmp62, (0, 2, 3, 1, 4), (2, 3, 4)) * 0.25 + del tmp62 + tmp66 += tmp63 + del tmp63 + tmp64 = einsum(ints.tmp68, (0, 1, 2, 3), tmp40, (0, 4, 2), (1, 4, 3)) * 0.5 + tmp66 += tmp64 * -1 + del tmp64 + tmp65 = einsum(tmp51, (0, 1), tmp6, (2, 3, 1), (2, 0, 3)) * 0.5 + del tmp6 + tmp66 += np.transpose(tmp65, (1, 0, 2)) + del tmp65 + tmp66 += einsum(r1, (0,), tmp51, (1, 2), (1, 0, 2)) * -1 + r2new += tmp66 + r2new += np.transpose(tmp66, (1, 0, 2)) * -1 + del tmp66 + tmp67 = einsum(tmp39, (0, 1, 2), v.ooov, (3, 2, 1, 4), (0, 3, 4)) + del tmp39 + tmp73 = np.copy(tmp67) + del tmp67 + tmp69 = np.copy(np.transpose(tmp25, (1, 0, 2, 4, 3))) * -1 + del tmp25 + tmp68 = einsum(ints.tmp53, (0, 1, 2, 3), r3, (4, 0, 3, 5, 6), (1, 2, 4, 5, 6)) + tmp69 += np.transpose(tmp68, (1, 0, 2, 4, 3)) * -1 + del tmp68 + tmp69 += np.transpose(tmp27, (2, 0, 1, 3, 4)) * -1 + tmp69 += np.transpose(tmp26, (1, 0, 2, 4, 3)) * -1 + tmp70 = einsum(tmp69, (0, 1, 2, 3, 4), t1, (0, 3), (1, 2, 4)) + del tmp69 + tmp73 += tmp70 * -1 + del tmp70 + tmp71 = np.copy(f.oo) + tmp71 += np.transpose(ints.tmp0, (1, 0)) + del ints.tmp0 + tmp71 += np.transpose(ints.tmp10, (1, 0)) + del ints.tmp10 + tmp71 += ints.tmp52 + del ints.tmp52 + tmp72 = einsum(r2, (0, 1, 2), tmp71, (1, 3), (0, 3, 2)) * -1 + del tmp71 + tmp73 += np.transpose(tmp72, (1, 0, 2)) * -1 + del tmp72 + r2new += tmp73 + r2new += np.transpose(tmp73, (1, 0, 2)) * -1 + del tmp73 + tmp74 = np.copy(ints.tmp45) + del ints.tmp45 + tmp74 += np.transpose(v.ovvv, (0, 2, 3, 1)) * -0.5 + r2new += einsum(tmp74, (0, 1, 2, 3), r3, (4, 5, 0, 1, 2), (4, 5, 3)) + del tmp74 + tmp76 = np.copy(np.transpose(tmp4, (1, 2, 0, 4, 3))) * -0.5 + del tmp4 + tmp76 += np.transpose(tmp29, (2, 1, 0, 3, 4)) * -0.5 + del tmp29 + tmp76 += np.transpose(tmp31, (1, 2, 0, 4, 3)) + del tmp31 + tmp76 += np.transpose(tmp32, (0, 2, 1, 4, 3)) * -0.5 + del tmp32 + tmp76 += np.transpose(tmp27, (0, 2, 1, 3, 4)) + tmp76 += np.transpose(tmp27, (0, 2, 1, 4, 3)) * -1 + del tmp27 + tmp76 += np.transpose(tmp26, (2, 1, 0, 3, 4)) + tmp76 += np.transpose(tmp26, (2, 1, 0, 4, 3)) * -1 + del tmp26 + tmp76 += np.transpose(tmp36, (1, 2, 0, 4, 3)) * -1 + del tmp36 + tmp75 = np.copy(ints.tmp36) * 0.5 + del ints.tmp36 + tmp75 += ints.tmp55 + del ints.tmp55 + tmp75 += f.vv * -1 + tmp76 += einsum(r3, (0, 1, 2, 3, 4), tmp75, (4, 5), (0, 1, 2, 5, 3)) + r2new += einsum(tmp76, (0, 1, 2, 3, 4), t1, (0, 3), (1, 2, 4)) * -1 + del tmp76 + tmp77 = np.copy(ints.tmp18) * 2 + del ints.tmp18 + tmp77 += ints.tmp20 * 2 + del ints.tmp20 + tmp77 += f.ov * -4 + tmp77 += ints.tmp25 * -1 + del ints.tmp25 + r2new += einsum(r3, (0, 1, 2, 3, 4), tmp77, (2, 4), (0, 1, 3)) * -0.25 + del tmp77 + tmp78 = np.copy(ints.tmp38) * 0.5 + del ints.tmp38 + tmp78 += ints.tmp97 + del ints.tmp97 + tmp78 += v.oooo + tmp78 += np.transpose(ints.tmp53, (0, 3, 1, 2)) * -2 + del ints.tmp53 + r2new += einsum(tmp78, (0, 1, 2, 3), r2, (1, 0, 4), (3, 2, 4)) * 0.5 + del tmp78 + r2new += einsum(tmp46, (0, 1), tmp28, (1, 2, 3, 0, 4), (2, 3, 4)) * -0.5 + del tmp46 + r2new += einsum(tmp28, (0, 1, 2, 3, 4), tmp47, (3, 0), (1, 2, 4)) * -1 + del tmp28, tmp47 + r2new += einsum(tmp75, (0, 1), r2, (2, 3, 0), (2, 3, 1)) * -1 + del tmp75 + r2new += einsum(tmp50, (0,), v.oovv, (1, 2, 3, 0), (1, 2, 3)) * 0.08333333333333 + del tmp50 + r2new += einsum(tmp40, (0, 1, 2), tmp51, (2, 3), (1, 0, 3)) * 0.5 + del tmp40, tmp51 + tmp79 = np.copy(ints.tmp68) + del ints.tmp68 + tmp79 += np.transpose(v.ovoo, (0, 2, 3, 1)) * -1 + r2new += einsum(r1, (0,), tmp79, (0, 1, 2, 3), (2, 1, 3)) * -1 + del tmp79 + + return {f"r1new": r1new, f"r2new": r2new, f"r3new": r3new} + +def hbar_lmatvec_ea_intermediates(f=None, t1=None, t2=None, t3=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-10-22T10:40:45.163603. + + Parameters + ---------- + f : array + Fock matrix. + t1 : array + T1 amplitudes. + t2 : array + T2 amplitudes. + t3 : array + T3 amplitudes. + v : array + Electron repulsion integrals. + + Returns + ------- + tmp102 : array + tmp11 : array + tmp119 : array + tmp16 : array + tmp18 : array + tmp19 : array + tmp21 : array + tmp22 : array + tmp24 : array + tmp26 : array + tmp30 : array + tmp32 : array + tmp34 : array + tmp36 : array + tmp39 : array + tmp40 : array + tmp42 : array + tmp49 : array + tmp54 : array + tmp65 : array + tmp69 : array + tmp9 : array + tmp93 : array + tmp98 : array + """ + + tmp9 = einsum(t1, (0, 1), f.ov, (2, 1), (2, 0)) + tmp16 = np.copy(np.transpose(v.oooo, (0, 2))) + tmp18 = einsum(v.oovv, (0, 1, 2, 3), t2, (0, 1, 4, 3), (4, 2)) + tmp11 = einsum(v.ovvv, (0, 1, 2, 3), t1, (0, 3), (1, 2)) + tmp19 = einsum(t2, (0, 1, 2, 3), v.ovoo, (4, 3, 0, 1), (4, 2)) + tmp24 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 2, 5, 1), (4, 0, 5, 3)) + tmp26 = einsum(t3, (0, 1, 2, 3, 4, 5), v.oovv, (1, 2, 4, 5), (0, 3)) + tmp93 = einsum(t1, (0, 1), f.vv, (2, 1), (0, 2)) + tmp21 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 2, 3), (0, 4)) + tmp22 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 0, 5, 3), (4, 5, 1, 2)) + tmp30 = einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 0, 6, 2, 3), (4, 5, 6, 1)) + tmp31 = np.copy(np.transpose(v.ooov, (0, 3))) + tmp32 = einsum(tmp31, (0, 1), t1, (2, 1), (2, 0)) + del tmp31 + tmp34 = einsum(v.oovv, (0, 1, 2, 3), t2, (4, 1, 5, 3), (4, 0, 5, 2)) + tmp39 = einsum(v.oovv, (0, 1, 2, 3), t2, (4, 1, 2, 3), (4, 0)) + tmp40 = einsum(t1, (0, 1), v.ooov, (2, 0, 3, 1), (2, 3)) + tmp42 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 1, 5, 3), (0, 4, 5, 2)) + tmp49 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 5, 2, 3), (4, 5, 0, 1)) + tmp54 = einsum(t3, (0, 1, 2, 3, 4, 5), v.oovv, (6, 2, 4, 5), (0, 1, 6, 3)) + tmp65 = einsum(v.oovv, (0, 1, 2, 3), t2, (4, 5, 2, 3), (4, 5, 0, 1)) + tmp102 = einsum(v.ooov, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) + tmp36 = einsum(t1, (0, 1), v.oovv, (2, 0, 3, 1), (2, 3)) + tmp69 = einsum(tmp36, (0, 1), t1, (2, 1), (2, 0)) + tmp98 = einsum(t1, (0, 1), v.oovv, (2, 3, 4, 1), (0, 2, 3, 4)) + tmp119 = einsum(tmp98, (0, 1, 2, 3), t1, (4, 3), (0, 4, 1, 2)) * -1 + + return {f"tmp102": tmp102, f"tmp11": tmp11, f"tmp119": tmp119, f"tmp16": tmp16, f"tmp18": tmp18, f"tmp19": tmp19, f"tmp21": tmp21, f"tmp22": tmp22, f"tmp24": tmp24, f"tmp26": tmp26, f"tmp30": tmp30, f"tmp32": tmp32, f"tmp34": tmp34, f"tmp36": tmp36, f"tmp39": tmp39, f"tmp40": tmp40, f"tmp42": tmp42, f"tmp49": tmp49, f"tmp54": tmp54, f"tmp65": tmp65, f"tmp69": tmp69, f"tmp9": tmp9, f"tmp93": tmp93, f"tmp98": tmp98} + +def hbar_lmatvec_ea(f=None, r1=None, r2=None, r3=None, t1=None, t2=None, t3=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-10-22T10:40:45.218831. + + Parameters + ---------- + f : array + Fock matrix. + r1 : array + R1 amplitudes. + r2 : array + R2 amplitudes. + r3 : array + R3 amplitudes. + t1 : array + T1 amplitudes. + t2 : array + T2 amplitudes. + t3 : array + T3 amplitudes. + v : array + Electron repulsion integrals. + + Returns + ------- + r1new : array + Updated R1 residuals. + r2new : array + Updated R2 residuals. + r3new : array + Updated R3 residuals. + """ + + ints = kwargs["ints"] + tmp29 = einsum(r3, (0, 1, 2, 3, 4), v.ovov, (5, 2, 4, 6), (3, 5, 0, 1, 6)) + tmp89 = np.copy(np.transpose(tmp29, (0, 1, 3, 2, 4))) + tmp30 = einsum(r3, (0, 1, 2, 3, 4), t1, (5, 2), (3, 4, 5, 0, 1)) + tmp31 = einsum(tmp30, (0, 1, 2, 3, 4), v.ooov, (5, 2, 0, 6), (1, 5, 3, 4, 6)) * -1 + tmp89 += np.transpose(tmp31, (0, 1, 3, 2, 4)) * -1 + tmp32 = einsum(r3, (0, 1, 2, 3, 4), v.ovvv, (5, 2, 6, 7), (3, 4, 5, 0, 1, 6, 7)) + tmp77 = einsum(tmp32, (0, 1, 2, 3, 4, 5, 6), t1, (0, 5), (1, 2, 3, 4, 6)) + tmp89 += np.transpose(tmp77, (0, 1, 3, 2, 4)) * -1 + tmp18 = einsum(t2, (0, 1, 2, 3), r3, (4, 5, 3, 6, 1), (6, 0, 4, 5, 2)) + tmp34 = einsum(v.oovv, (0, 1, 2, 3), tmp18, (4, 1, 5, 6, 3), (4, 0, 5, 6, 2)) + tmp89 += np.transpose(tmp34, (0, 1, 3, 2, 4)) * -1 + r3new = np.copy(np.transpose(tmp89, (2, 3, 4, 0, 1))) + r3new += np.transpose(tmp89, (2, 4, 3, 0, 1)) * -1 + r3new += np.transpose(tmp89, (4, 2, 3, 0, 1)) + r3new += np.transpose(tmp89, (2, 3, 4, 1, 0)) * -1 + r3new += np.transpose(tmp89, (2, 4, 3, 1, 0)) + r3new += np.transpose(tmp89, (4, 2, 3, 1, 0)) * -1 + del tmp89 + tmp6 = einsum(v.vvvv, (0, 1, 2, 3), r3, (4, 2, 3, 5, 6), (5, 6, 4, 0, 1)) + tmp94 = np.copy(np.transpose(tmp6, (1, 0, 2, 4, 3))) * -0.5 + tmp33 = einsum(tmp32, (0, 1, 2, 3, 4, 5, 6), t1, (2, 4), (0, 1, 3, 5, 6)) + del tmp32 + tmp94 += np.transpose(tmp33, (1, 0, 2, 4, 3)) + tmp9 = einsum(r3, (0, 1, 2, 3, 4), t2, (5, 6, 1, 2), (3, 4, 5, 6, 0)) + tmp37 = np.copy(np.transpose(tmp9, (1, 0, 3, 2, 4))) * 0.5 + tmp36 = einsum(t1, (0, 1), tmp30, (2, 3, 4, 5, 1), (2, 3, 4, 0, 5)) * -1 + tmp37 += np.transpose(tmp36, (1, 0, 3, 2, 4)) + del tmp36 + tmp90 = einsum(v.oovv, (0, 1, 2, 3), tmp37, (4, 5, 0, 1, 6), (4, 5, 2, 3, 6)) * 0.5 + tmp94 += np.transpose(tmp90, (1, 0, 4, 3, 2)) * -1 + del tmp90 + tmp91 = np.copy(ints.tmp11) * 2 + tmp91 += ints.tmp18 + tmp92 = einsum(tmp91, (0, 1), r3, (2, 3, 0, 4, 5), (4, 5, 2, 3, 1)) * 0.5 + del tmp91 + tmp94 += np.transpose(tmp92, (1, 0, 4, 2, 3)) * -1 + del tmp92 + tmp57 = np.copy(f.ov) + tmp57 += ints.tmp36 + tmp93 = einsum(tmp57, (0, 1), tmp30, (2, 3, 0, 4, 5), (2, 3, 4, 5, 1)) + tmp94 += np.transpose(tmp93, (1, 0, 4, 3, 2)) + del tmp93 + r3new += np.transpose(tmp94, (2, 3, 4, 0, 1)) * -1 + r3new += np.transpose(tmp94, (3, 2, 4, 0, 1)) + r3new += np.transpose(tmp94, (3, 4, 2, 0, 1)) * -1 + del tmp94 + tmp76 = einsum(ints.tmp98, (0, 1, 2, 3), tmp30, (0, 4, 2, 5, 6), (1, 4, 3, 5, 6)) * -1 + tmp97 = np.copy(np.transpose(tmp76, (0, 1, 2, 4, 3))) * -1 + tmp39 = einsum(t1, (0, 1), r2, (2, 1, 3), (3, 0, 2)) + tmp95 = np.copy(tmp39) * 2 + tmp2 = einsum(t2, (0, 1, 2, 3), r3, (4, 2, 3, 5, 1), (5, 0, 4)) + tmp95 += tmp2 + tmp96 = einsum(tmp95, (0, 1, 2), v.oovv, (3, 1, 4, 5), (3, 0, 4, 5, 2)) * -0.5 + del tmp95 + tmp97 += np.transpose(tmp96, (1, 0, 4, 3, 2)) + del tmp96 + r3new += np.transpose(tmp97, (2, 3, 4, 0, 1)) + r3new += np.transpose(tmp97, (3, 2, 4, 0, 1)) * -1 + r3new += np.transpose(tmp97, (3, 4, 2, 0, 1)) + r3new += np.transpose(tmp97, (2, 3, 4, 1, 0)) * -1 + r3new += np.transpose(tmp97, (3, 2, 4, 1, 0)) + r3new += np.transpose(tmp97, (3, 4, 2, 1, 0)) * -1 + del tmp97 + tmp98 = einsum(v.ooov, (0, 1, 2, 3), r2, (4, 5, 2), (0, 1, 4, 5, 3)) + tmp99 = np.copy(np.transpose(tmp98, (1, 0, 3, 2, 4))) + del tmp98 + tmp0 = einsum(t2, (0, 1, 2, 3), r3, (4, 5, 3, 0, 1), (4, 5, 2)) + tmp35 = einsum(tmp0, (0, 1, 2), v.oovv, (3, 4, 5, 2), (3, 4, 0, 1, 5)) * -1 + tmp99 += np.transpose(tmp35, (1, 0, 3, 2, 4)) * 0.5 + r3new += np.transpose(tmp99, (2, 3, 4, 0, 1)) * -1 + r3new += np.transpose(tmp99, (2, 4, 3, 0, 1)) + r3new += np.transpose(tmp99, (4, 2, 3, 0, 1)) * -1 + del tmp99 + tmp100 = np.copy(f.oo) + tmp100 += np.transpose(ints.tmp40, (1, 0)) + tmp100 += ints.tmp69 + tmp100 += np.transpose(ints.tmp9, (1, 0)) + tmp101 = einsum(r3, (0, 1, 2, 3, 4), tmp100, (4, 5), (3, 5, 0, 1, 2)) * -1 + del tmp100 + r3new += np.transpose(tmp101, (2, 3, 4, 1, 0)) * -1 + r3new += np.transpose(tmp101, (2, 3, 4, 0, 1)) + del tmp101 + tmp104 = einsum(r1, (0,), v.oovv, (1, 2, 3, 4), (1, 2, 0, 3, 4)) + tmp102 = einsum(ints.tmp98, (0, 1, 2, 3), r2, (4, 5, 0), (1, 2, 3, 4, 5)) + tmp104 += np.transpose(tmp102, (1, 0, 2, 4, 3)) + del tmp102 + tmp103 = einsum(f.vv, (0, 1), r3, (2, 3, 1, 4, 5), (4, 5, 0, 2, 3)) + tmp104 += np.transpose(tmp103, (1, 0, 2, 4, 3)) + del tmp103 + r3new += np.transpose(tmp104, (2, 3, 4, 0, 1)) + r3new += np.transpose(tmp104, (3, 2, 4, 0, 1)) * -1 + r3new += np.transpose(tmp104, (3, 4, 2, 0, 1)) + del tmp104 + tmp105 = einsum(ints.tmp39, (0, 1), r3, (2, 3, 4, 5, 0), (1, 5, 2, 3, 4)) + r3new += np.transpose(tmp105, (3, 4, 2, 0, 1)) * 0.5 + r3new += np.transpose(tmp105, (3, 4, 2, 1, 0)) * -0.5 + del tmp105 + tmp63 = np.copy(f.ov) + tmp63 += ints.tmp36 + r3new += einsum(tmp63, (0, 1), r2, (2, 3, 4), (1, 2, 3, 0, 4)) * -1 + r3new += einsum(tmp63, (0, 1), r2, (2, 3, 4), (2, 1, 3, 0, 4)) + r3new += einsum(tmp63, (0, 1), r2, (2, 3, 4), (2, 3, 1, 0, 4)) * -1 + r3new += einsum(tmp63, (0, 1), r2, (2, 3, 4), (1, 2, 3, 4, 0)) + r3new += einsum(r2, (0, 1, 2), tmp63, (3, 4), (0, 4, 1, 2, 3)) * -1 + r3new += einsum(r2, (0, 1, 2), tmp63, (3, 4), (0, 1, 4, 2, 3)) + tmp28 = einsum(r2, (0, 1, 2), v.ovvv, (3, 1, 4, 5), (2, 3, 0, 4, 5)) + r3new += np.transpose(tmp28, (2, 4, 3, 0, 1)) + r3new += np.transpose(tmp28, (4, 2, 3, 0, 1)) * -1 + r3new += np.transpose(tmp28, (4, 3, 2, 0, 1)) + r3new += np.transpose(tmp28, (2, 4, 3, 1, 0)) * -1 + r3new += np.transpose(tmp28, (4, 2, 3, 1, 0)) + r3new += np.transpose(tmp28, (4, 3, 2, 1, 0)) * -1 + tmp106 = np.copy(np.transpose(ints.tmp119, (0, 2, 3, 1))) * 0.5 + del ints.tmp119 + tmp106 += np.transpose(ints.tmp65, (0, 2, 3, 1)) * 0.25 + tmp106 += np.transpose(v.oooo, (0, 2, 3, 1)) * 0.5 + tmp106 += ints.tmp102 * -1 + r3new += einsum(tmp106, (0, 1, 2, 3), r3, (4, 5, 6, 3, 0), (4, 5, 6, 2, 1)) + del tmp106 + r1new = einsum(v.vvvv, (0, 1, 2, 3), tmp0, (3, 2, 1), (0,)) * -0.25 + tmp1 = einsum(r3, (0, 1, 2, 3, 4), t3, (5, 3, 4, 6, 1, 2), (5, 0, 6)) + r1new += einsum(tmp1, (0, 1, 2), v.ovvv, (0, 1, 3, 2), (3,)) * -0.25 + r1new += einsum(v.ovov, (0, 1, 2, 3), tmp2, (2, 0, 1), (3,)) * -0.5 + tmp3 = einsum(t1, (0, 1), tmp0, (2, 1, 3), (0, 2, 3)) + r1new += einsum(tmp3, (0, 1, 2), ints.tmp36, (0, 2), (1,)) * -0.5 + del ints.tmp36 + tmp4 = einsum(t3, (0, 1, 2, 3, 4, 5), r3, (6, 4, 5, 7, 2), (7, 0, 1, 6, 3)) + r1new += einsum(tmp4, (0, 1, 2, 3, 4), v.ovoo, (0, 4, 2, 1), (3,)) * -0.25 + tmp5 = np.copy(ints.tmp24) + del ints.tmp24 + tmp5 += ints.tmp30 * 0.25 + del ints.tmp30 + tmp5 += v.oovv * -0.25 + r1new += einsum(tmp5, (0, 1, 2, 3), r3, (4, 3, 2, 1, 0), (4,)) * -1 + del tmp5 + tmp7 = einsum(ints.tmp34, (0, 1, 2, 3), r3, (4, 5, 2, 6, 0), (1, 6, 3, 4, 5)) * 4 + tmp7 += np.transpose(tmp6, (1, 0, 4, 3, 2)) * -1 + r1new += einsum(t2, (0, 1, 2, 3), tmp7, (1, 0, 3, 2, 4), (4,)) * -0.125 + del tmp7 + tmp8 = np.copy(ints.tmp65) * -0.5 + tmp8 += v.oooo * -1 + r1new += einsum(tmp8, (0, 1, 2, 3), tmp9, (1, 0, 3, 2, 4), (4,)) * -0.125 + tmp10 = np.copy(ints.tmp22) + del ints.tmp22 + tmp10 += np.transpose(v.ovvv, (0, 2, 3, 1)) * -0.5 + r1new += einsum(r2, (0, 1, 2), tmp10, (2, 0, 1, 3), (3,)) + del tmp10 + tmp11 = einsum(t3, (0, 1, 2, 3, 4, 5), r2, (4, 5, 2), (0, 1, 3)) * 2 + tmp11 += einsum(t2, (0, 1, 2, 3), tmp0, (3, 2, 4), (0, 1, 4)) * -1 + tmp11 += einsum(tmp2, (0, 1, 2), t2, (3, 0, 4, 2), (3, 1, 4)) * -4 + r1new += einsum(v.oovv, (0, 1, 2, 3), tmp11, (0, 1, 3), (2,)) * 0.125 + del tmp11 + tmp12 = einsum(r2, (0, 1, 2), t2, (3, 4, 0, 1), (2, 3, 4)) + tmp14 = np.copy(np.transpose(tmp12, (0, 2, 1))) * -3 + tmp13 = einsum(t3, (0, 1, 2, 3, 4, 5), r3, (3, 4, 5, 6, 2), (6, 0, 1)) + tmp14 += np.transpose(tmp13, (0, 2, 1)) * -1 + r1new += einsum(tmp14, (0, 1, 2), v.ooov, (1, 2, 0, 3), (3,)) * -0.08333333333333 + del tmp14 + tmp15 = einsum(r2, (0, 1, 2), v.vvvv, (3, 4, 0, 1), (2, 3, 4)) + tmp45 = np.copy(np.transpose(tmp15, (0, 2, 1))) * -2 + tmp16 = einsum(r3, (0, 1, 2, 3, 4), v.ovvv, (4, 5, 1, 2), (3, 0, 5)) + tmp45 += np.transpose(tmp16, (0, 2, 1)) * 2 + tmp17 = einsum(v.ovoo, (0, 1, 2, 3), tmp9, (0, 4, 3, 2, 5), (4, 5, 1)) + del tmp9 + tmp45 += np.transpose(tmp17, (0, 2, 1)) + tmp19 = einsum(v.ovvv, (0, 1, 2, 3), tmp18, (4, 0, 5, 1, 3), (4, 5, 2)) * -1 + tmp45 += np.transpose(tmp19, (0, 2, 1)) * -4 + tmp20 = einsum(v.ovvv, (0, 1, 2, 3), tmp2, (4, 0, 1), (4, 2, 3)) * -1 + tmp45 += np.transpose(tmp20, (0, 2, 1)) * 2 + tmp21 = einsum(tmp4, (0, 1, 2, 3, 4), v.oovv, (2, 1, 5, 4), (0, 3, 5)) * -1 + del tmp4 + tmp45 += np.transpose(tmp21, (0, 2, 1)) * -1 + tmp22 = einsum(ints.tmp34, (0, 1, 2, 3), r2, (4, 2, 0), (1, 3, 4)) + del ints.tmp34 + tmp26 = np.copy(tmp22) * 4 + tmp23 = einsum(v.ovov, (0, 1, 2, 3), r2, (4, 1, 2), (0, 4, 3)) + tmp26 += tmp23 * 4 + tmp24 = einsum(tmp0, (0, 1, 2), v.ovvv, (3, 1, 4, 2), (3, 0, 4)) + tmp26 += tmp24 * -2 + tmp25 = einsum(v.oovv, (0, 1, 2, 3), tmp1, (1, 4, 3), (0, 4, 2)) + tmp26 += tmp25 * -1 + tmp45 += tmp26 * -1 + tmp45 += np.transpose(tmp26, (0, 2, 1)) + del tmp26 + tmp27 = np.copy(ints.tmp42) * 4 + tmp27 += np.transpose(ints.tmp49, (1, 2, 0, 3)) + tmp27 += np.transpose(ints.tmp54, (1, 2, 0, 3)) * -1 + tmp27 += np.transpose(v.ooov, (0, 2, 1, 3)) * -2 + tmp45 += einsum(r3, (0, 1, 2, 3, 4), tmp27, (3, 5, 4, 2), (5, 0, 1)) + del tmp27 + tmp38 = np.copy(np.transpose(tmp28, (0, 1, 2, 4, 3))) + tmp38 += np.transpose(tmp29, (0, 1, 3, 2, 4)) + tmp38 += np.transpose(tmp6, (1, 0, 4, 2, 3)) * -0.25 + tmp38 += np.transpose(tmp31, (0, 1, 3, 2, 4)) * -0.5 + tmp38 += np.transpose(tmp33, (1, 0, 4, 2, 3)) * 0.5 + tmp38 += np.transpose(tmp34, (0, 1, 3, 2, 4)) * -1 + tmp38 += np.transpose(tmp35, (1, 0, 3, 4, 2)) * 0.25 + tmp38 += einsum(tmp8, (0, 1, 2, 3), r3, (4, 5, 6, 1, 0), (2, 3, 4, 5, 6)) * 0.25 + del tmp8 + tmp38 += einsum(v.oovv, (0, 1, 2, 3), tmp37, (4, 5, 0, 1, 6), (5, 4, 2, 6, 3)) * 0.25 + tmp45 += einsum(t1, (0, 1), tmp38, (2, 0, 1, 3, 4), (2, 4, 3)) * -4 + del tmp38 + tmp42 = np.copy(np.transpose(tmp12, (0, 2, 1))) * -0.5 + tmp40 = einsum(t1, (0, 1), tmp39, (2, 3, 1), (2, 3, 0)) * -1 + tmp42 += np.transpose(tmp40, (0, 2, 1)) * -1 + tmp42 += np.transpose(tmp13, (0, 2, 1)) * -0.16666666666666 + tmp41 = einsum(tmp2, (0, 1, 2), t1, (3, 2), (0, 3, 1)) + tmp42 += np.transpose(tmp41, (0, 2, 1)) * -1 + tmp45 += einsum(tmp42, (0, 1, 2), v.oovv, (1, 2, 3, 4), (0, 3, 4)) * 2 + del tmp42 + tmp43 = np.copy(tmp39) + tmp43 += tmp2 + tmp45 += einsum(tmp43, (0, 1, 2), v.ooov, (3, 1, 0, 4), (3, 2, 4)) * 2 + del tmp43 + tmp44 = np.copy(ints.tmp11) * 2 + tmp44 += ints.tmp18 + tmp44 += f.vv * -2 + tmp45 += einsum(r2, (0, 1, 2), tmp44, (1, 3), (2, 3, 0)) * 2 + del tmp44 + r1new += einsum(t1, (0, 1), tmp45, (0, 1, 2), (2,)) * -0.25 + del tmp45 + tmp46 = np.copy(f.vv) * 2 + tmp46 += ints.tmp18 * -1 + r1new += einsum(tmp46, (0, 1), tmp0, (0, 2, 1), (2,)) * -0.25 + del tmp46 + tmp47 = np.copy(ints.tmp19) * 2 + tmp47 += ints.tmp21 * 2 + tmp47 += f.ov * -4 + tmp47 += ints.tmp26 * -1 + r1new += einsum(tmp47, (0, 1), r2, (2, 1, 0), (2,)) * -0.25 + del tmp47 + tmp48 = einsum(t2, (0, 1, 2, 3), r2, (4, 3, 1), (0, 4, 2)) + tmp48 += tmp1 * 0.25 + del tmp1 + tmp48 += tmp3 * -0.5 + del tmp3 + r1new += einsum(tmp48, (0, 1, 2), f.ov, (0, 2), (1,)) + del tmp48 + tmp49 = np.copy(f.oo) * 2 + tmp49 += ints.tmp39 + tmp49 += ints.tmp69 * 2 + tmp50 = np.copy(tmp39) + tmp50 += tmp2 * 0.5 + r1new += einsum(tmp50, (0, 1, 2), tmp49, (0, 1), (2,)) * -0.5 + del tmp49 + tmp51 = np.copy(ints.tmp40) + tmp51 += ints.tmp9 + r1new += einsum(tmp50, (0, 1, 2), tmp51, (1, 0), (2,)) * -1 + del tmp50, tmp51 + tmp52 = np.copy(ints.tmp11) + tmp52 += ints.tmp18 * 0.5 + tmp52 += f.vv * -1 + r1new += einsum(tmp52, (0, 1), r1, (0,), (1,)) * -1 + del tmp52 + tmp53 = einsum(r1, (0,), t1, (1, 0), (1,)) + tmp56 = np.copy(tmp53) * 2 + tmp54 = einsum(t2, (0, 1, 2, 3), r2, (2, 3, 1), (0,)) + tmp56 += tmp54 + tmp55 = einsum(t3, (0, 1, 2, 3, 4, 5), r3, (3, 4, 5, 1, 2), (0,)) + tmp56 += tmp55 * 0.16666666666666 + r1new += einsum(tmp56, (0,), tmp57, (0, 1), (1,)) * -0.5 + del tmp56 + r2new = np.copy(np.transpose(tmp15, (2, 1, 0))) * -0.5 + del tmp15 + r2new += einsum(v.ovvv, (0, 1, 2, 3), r1, (1,), (2, 3, 0)) * -1 + r2new += np.transpose(tmp20, (1, 2, 0)) * -0.5 + del tmp20 + tmp58 = einsum(r2, (0, 1, 2), ints.tmp11, (1, 3), (2, 3, 0)) + tmp65 = np.copy(tmp58) + del tmp58 + tmp59 = einsum(tmp39, (0, 1, 2), ints.tmp98, (0, 3, 1, 4), (3, 4, 2)) + tmp65 += tmp59 + del tmp59 + tmp60 = einsum(v.ooov, (0, 1, 2, 3), tmp39, (2, 1, 4), (0, 4, 3)) + tmp65 += tmp60 + del tmp60 + tmp61 = np.copy(np.transpose(tmp28, (0, 1, 2, 4, 3))) * -1 + tmp61 += np.transpose(tmp29, (1, 0, 3, 2, 4)) + tmp62 = einsum(tmp61, (0, 1, 2, 3, 4), t1, (0, 3), (1, 2, 4)) + del tmp61 + tmp65 += tmp62 * -1 + del tmp62 + tmp64 = einsum(tmp39, (0, 1, 2), tmp63, (1, 3), (0, 2, 3)) + del tmp39, tmp63 + tmp65 += np.transpose(tmp64, (0, 2, 1)) + del tmp64 + r2new += np.transpose(tmp65, (1, 2, 0)) + r2new += np.transpose(tmp65, (2, 1, 0)) * -1 + del tmp65 + tmp74 = np.copy(tmp22) * -1 + del tmp22 + tmp74 += tmp23 * -1 + del tmp23 + tmp74 += tmp16 * -0.5 + del tmp16 + tmp66 = einsum(ints.tmp98, (0, 1, 2, 3), tmp2, (0, 2, 4), (1, 3, 4)) + del ints.tmp98 + tmp74 += tmp66 * 0.5 + del tmp66 + tmp67 = einsum(tmp2, (0, 1, 2), v.ooov, (3, 1, 0, 4), (3, 2, 4)) + tmp74 += tmp67 * 0.5 + del tmp67 + tmp74 += tmp17 * -0.25 + del tmp17 + tmp74 += tmp24 * 0.5 + del tmp24 + tmp74 += tmp21 * 0.25 + del tmp21 + tmp74 += tmp25 * 0.25 + del tmp25 + tmp69 = np.copy(np.transpose(tmp6, (1, 0, 2, 4, 3))) + del tmp6 + tmp69 += np.transpose(tmp31, (1, 0, 3, 2, 4)) + del tmp31 + tmp69 += np.transpose(tmp33, (1, 0, 2, 4, 3)) * -2 + del tmp33 + tmp69 += np.transpose(tmp34, (1, 0, 3, 2, 4)) * 2 + tmp69 += np.transpose(tmp35, (1, 0, 3, 2, 4)) * -1 + del tmp35 + tmp68 = einsum(v.oovv, (0, 1, 2, 3), tmp37, (4, 5, 0, 1, 6), (4, 5, 2, 3, 6)) + del tmp37 + tmp69 += np.transpose(tmp68, (1, 0, 4, 3, 2)) + del tmp68 + tmp70 = einsum(t1, (0, 1), tmp69, (0, 2, 3, 1, 4), (2, 3, 4)) * 0.5 + del tmp69 + tmp74 += tmp70 + del tmp70 + tmp71 = np.copy(f.vv) + tmp71 += ints.tmp18 * -0.5 + tmp72 = einsum(tmp71, (0, 1), r2, (2, 0, 3), (3, 2, 1)) * -1 + del tmp71 + tmp74 += np.transpose(tmp72, (0, 2, 1)) + del tmp72 + tmp73 = einsum(tmp2, (0, 1, 2), tmp57, (1, 3), (0, 2, 3)) * 0.5 + del tmp2 + tmp74 += np.transpose(tmp73, (0, 2, 1)) + del tmp73 + tmp74 += einsum(tmp57, (0, 1), r1, (2,), (0, 1, 2)) * -1 + r2new += np.transpose(tmp74, (1, 2, 0)) + r2new += np.transpose(tmp74, (2, 1, 0)) * -1 + del tmp74 + r2new += np.transpose(tmp19, (1, 2, 0)) + r2new += np.transpose(tmp19, (2, 1, 0)) * -1 + del tmp19 + tmp75 = np.copy(ints.tmp42) + del ints.tmp42 + tmp75 += np.transpose(ints.tmp49, (1, 2, 0, 3)) * 0.25 + del ints.tmp49 + tmp75 += np.transpose(ints.tmp54, (1, 2, 0, 3)) * -0.25 + del ints.tmp54 + tmp75 += np.transpose(v.ooov, (0, 2, 1, 3)) * -0.5 + r2new += einsum(tmp75, (0, 1, 2, 3), r3, (4, 5, 3, 0, 2), (4, 5, 1)) + del tmp75 + tmp80 = np.copy(np.transpose(tmp28, (0, 1, 2, 4, 3))) + del tmp28 + tmp80 += np.transpose(tmp76, (0, 1, 2, 4, 3)) * -0.5 + del tmp76 + tmp80 += np.transpose(tmp77, (1, 0, 4, 3, 2)) * 0.5 + del tmp77 + tmp78 = np.copy(np.transpose(tmp29, (0, 1, 3, 2, 4))) * -1 + del tmp29 + tmp78 += np.transpose(tmp34, (0, 1, 3, 2, 4)) + del tmp34 + tmp80 += np.transpose(tmp78, (0, 1, 4, 2, 3)) * -1 + tmp80 += np.transpose(tmp78, (1, 0, 4, 2, 3)) + del tmp78 + tmp79 = np.copy(ints.tmp102) + del ints.tmp102 + tmp79 += np.transpose(ints.tmp65, (0, 3, 2, 1)) * 0.25 + del ints.tmp65 + tmp79 += np.transpose(v.oooo, (0, 2, 3, 1)) * -0.5 + tmp80 += einsum(tmp79, (0, 1, 2, 3), r3, (4, 5, 6, 3, 0), (1, 2, 4, 5, 6)) + del tmp79 + r2new += einsum(t1, (0, 1), tmp80, (2, 0, 1, 3, 4), (4, 3, 2)) * -1 + del tmp80 + tmp81 = np.copy(np.transpose(tmp12, (0, 2, 1))) * -1 + del tmp12 + tmp81 += np.transpose(tmp40, (0, 2, 1)) * -2 + del tmp40 + tmp81 += np.transpose(tmp13, (0, 2, 1)) * -0.33333333333332 + del tmp13 + tmp81 += np.transpose(tmp41, (0, 2, 1)) * -2 + del tmp41 + r2new += einsum(tmp81, (0, 1, 2), v.oovv, (1, 2, 3, 4), (3, 4, 0)) * 0.25 + del tmp81 + tmp82 = np.copy(np.transpose(r3, (3, 4, 0, 1, 2))) + tmp82 += np.transpose(tmp18, (1, 0, 4, 3, 2)) + del tmp18 + r2new += einsum(f.ov, (0, 1), tmp82, (0, 2, 1, 3, 4), (3, 4, 2)) * -1 + del tmp82 + tmp84 = np.copy(ints.tmp19) + del ints.tmp19 + tmp84 += ints.tmp21 + del ints.tmp21 + tmp84 += ints.tmp26 * -0.5 + del ints.tmp26 + tmp84 += ints.tmp93 * -2 + del ints.tmp93 + tmp83 = np.copy(ints.tmp11) + del ints.tmp11 + tmp83 += ints.tmp18 * 0.5 + del ints.tmp18 + tmp84 += einsum(tmp83, (0, 1), t1, (2, 1), (2, 0)) * 2 + del tmp83 + r2new += einsum(tmp84, (0, 1), r3, (2, 3, 1, 4, 0), (2, 3, 4)) * -0.5 + del tmp84 + tmp85 = np.copy(f.oo) + tmp85 += np.transpose(ints.tmp39, (1, 0)) * 0.5 + tmp85 += np.transpose(ints.tmp69, (1, 0)) + r2new += einsum(tmp85, (0, 1), tmp30, (1, 2, 0, 3, 4), (4, 3, 2)) * -1 + del tmp85 + tmp86 = np.copy(ints.tmp40) + tmp86 += ints.tmp9 + r2new += einsum(tmp30, (0, 1, 2, 3, 4), tmp86, (2, 0), (4, 3, 1)) * -1 + del tmp30, tmp86 + r2new += einsum(tmp0, (0, 1, 2), tmp57, (3, 2), (1, 0, 3)) * 0.5 + del tmp57, tmp0 + tmp87 = np.copy(f.oo) + tmp87 += ints.tmp39 * 0.5 + del ints.tmp39 + tmp87 += np.transpose(ints.tmp40, (1, 0)) + del ints.tmp40 + tmp87 += ints.tmp69 + del ints.tmp69 + tmp87 += np.transpose(ints.tmp9, (1, 0)) + del ints.tmp9 + r2new += einsum(tmp87, (0, 1), r2, (2, 3, 0), (2, 3, 1)) * -1 + del tmp87 + tmp88 = np.copy(tmp53) + del tmp53 + tmp88 += tmp54 * 0.5 + del tmp54 + tmp88 += tmp55 * 0.08333333333333 + del tmp55 + r2new += einsum(tmp88, (0,), v.oovv, (1, 0, 2, 3), (2, 3, 1)) + del tmp88 + + return {f"r1new": r1new, f"r2new": r2new, f"r3new": r3new} + +def hbar_lmatvec_ee_intermediates(f=None, t1=None, t2=None, t3=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-10-22T10:41:51.255301. + + Parameters + ---------- + f : array + Fock matrix. + t1 : array + T1 amplitudes. + t2 : array + T2 amplitudes. + t3 : array + T3 amplitudes. + v : array + Electron repulsion integrals. + + Returns + ------- + tmp0 : array + tmp114 : array + tmp13 : array + tmp130 : array + tmp14 : array + tmp21 : array + tmp23 : array + tmp24 : array + tmp25 : array + tmp26 : array + tmp27 : array + tmp29 : array + tmp30 : array + tmp34 : array + tmp35 : array + tmp40 : array + tmp43 : array + tmp46 : array + tmp49 : array + tmp50 : array + tmp67 : array + tmp68 : array + """ + + tmp0 = einsum(t1, (0, 1), f.ov, (2, 1), (2, 0)) + tmp21 = np.copy(np.transpose(v.oooo, (0, 2))) + tmp23 = einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 2, 3), (0, 4)) + tmp13 = einsum(t1, (0, 1), v.ooov, (2, 0, 3, 1), (2, 3)) + tmp14 = einsum(v.ovvv, (0, 1, 2, 3), t1, (0, 3), (1, 2)) + tmp26 = einsum(t2, (0, 1, 2, 3), v.ovoo, (4, 3, 0, 1), (4, 2)) + tmp34 = einsum(t3, (0, 1, 2, 3, 4, 5), v.oovv, (1, 2, 4, 5), (0, 3)) + tmp114 = einsum(t1, (0, 1), f.vv, (2, 1), (0, 2)) + tmp24 = einsum(v.oovv, (0, 1, 2, 3), t2, (0, 1, 4, 3), (4, 2)) + tmp25 = einsum(v.oovv, (0, 1, 2, 3), t2, (4, 1, 5, 3), (4, 0, 5, 2)) + tmp27 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 1, 5, 3), (0, 4, 5, 2)) + tmp29 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 2, 3), (0, 4)) + tmp30 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 5, 2, 3), (4, 5, 0, 1)) + tmp35 = einsum(t3, (0, 1, 2, 3, 4, 5), v.oovv, (6, 2, 4, 5), (0, 1, 6, 3)) + tmp40 = einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 0, 6, 2, 3), (4, 5, 6, 1)) + tmp50 = einsum(v.oovv, (0, 1, 2, 3), t2, (4, 5, 2, 3), (4, 5, 0, 1)) + tmp68 = einsum(v.ooov, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) + tmp42 = np.copy(np.transpose(v.ooov, (0, 3))) + tmp43 = einsum(tmp42, (0, 1), t1, (2, 1), (2, 0)) + del tmp42 + tmp46 = einsum(t1, (0, 1), v.oovv, (2, 0, 3, 1), (2, 3)) + tmp67 = einsum(tmp46, (0, 1), t1, (2, 1), (2, 0)) + tmp49 = einsum(t1, (0, 1), v.oovv, (2, 3, 4, 1), (0, 2, 3, 4)) + tmp130 = einsum(t1, (0, 1), tmp49, (2, 3, 4, 1), (2, 0, 3, 4)) * -1 + + return {f"tmp0": tmp0, f"tmp114": tmp114, f"tmp13": tmp13, f"tmp130": tmp130, f"tmp14": tmp14, f"tmp21": tmp21, f"tmp23": tmp23, f"tmp24": tmp24, f"tmp25": tmp25, f"tmp26": tmp26, f"tmp27": tmp27, f"tmp29": tmp29, f"tmp30": tmp30, f"tmp34": tmp34, f"tmp35": tmp35, f"tmp40": tmp40, f"tmp43": tmp43, f"tmp46": tmp46, f"tmp49": tmp49, f"tmp50": tmp50, f"tmp67": tmp67, f"tmp68": tmp68} + +def hbar_lmatvec_ee(f=None, r1=None, r2=None, r3=None, t1=None, t2=None, t3=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-10-22T10:41:51.318006. + + Parameters + ---------- + f : array + Fock matrix. + r1 : array + R1 amplitudes. + r2 : array + R2 amplitudes. + r3 : array + R3 amplitudes. + t1 : array + T1 amplitudes. + t2 : array + T2 amplitudes. + t3 : array + T3 amplitudes. + v : array + Electron repulsion integrals. + + Returns + ------- + r1new : array + Updated R1 residuals. + r2new : array + Updated R2 residuals. + r3new : array + Updated R3 residuals. + """ + + ints = kwargs["ints"] + tmp6 = einsum(v.vvvv, (0, 1, 2, 3), r3, (4, 5, 6, 7, 2, 3), (4, 5, 6, 7, 0, 1)) + tmp127 = np.copy(np.transpose(tmp6, (1, 2, 0, 3, 5, 4))) * 0.5 + tmp46 = einsum(v.ovvv, (0, 1, 2, 3), r3, (4, 5, 6, 7, 8, 1), (4, 5, 6, 0, 7, 8, 2, 3)) + tmp47 = einsum(tmp46, (0, 1, 2, 3, 4, 5, 6, 7), t1, (3, 5), (0, 1, 2, 4, 6, 7)) + tmp127 += np.transpose(tmp47, (1, 2, 0, 3, 5, 4)) * -1 + tmp12 = einsum(t2, (0, 1, 2, 3), r3, (4, 5, 6, 7, 2, 3), (4, 5, 6, 0, 1, 7)) + tmp92 = np.copy(np.transpose(tmp12, (1, 2, 0, 4, 3, 5))) * -0.5 + tmp44 = einsum(t1, (0, 1), r3, (2, 3, 4, 5, 6, 1), (2, 3, 4, 0, 5, 6)) + tmp51 = einsum(t1, (0, 1), tmp44, (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 0, 6)) * -1 + tmp92 += np.transpose(tmp51, (1, 2, 0, 4, 3, 5)) * -1 + tmp93 = einsum(tmp92, (0, 1, 2, 3, 4, 5), v.oovv, (3, 4, 6, 7), (0, 1, 2, 6, 7, 5)) * 0.5 + del tmp92 + tmp127 += np.transpose(tmp93, (1, 2, 0, 5, 4, 3)) + tmp124 = np.copy(f.vv) + tmp124 += ints.tmp24 * -0.5 + tmp125 = einsum(r3, (0, 1, 2, 3, 4, 5), tmp124, (5, 6), (0, 1, 2, 3, 4, 6)) + del tmp124 + tmp127 += np.transpose(tmp125, (1, 2, 0, 5, 3, 4)) * -1 + del tmp125 + tmp73 = np.copy(f.ov) + tmp73 += ints.tmp46 + tmp126 = einsum(tmp73, (0, 1), tmp44, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 6, 1)) + tmp127 += np.transpose(tmp126, (1, 2, 0, 5, 4, 3)) * -1 + del tmp126 + r3new = np.copy(np.transpose(tmp127, (2, 0, 1, 3, 4, 5))) * -1 + r3new += np.transpose(tmp127, (2, 0, 1, 4, 3, 5)) + r3new += np.transpose(tmp127, (2, 0, 1, 4, 5, 3)) * -1 + del tmp127 + tmp43 = einsum(r3, (0, 1, 2, 3, 4, 5), v.ovov, (6, 5, 2, 7), (0, 1, 6, 3, 4, 7)) + tmp128 = np.copy(np.transpose(tmp43, (1, 0, 2, 4, 3, 5))) * -1 + tmp45 = einsum(tmp44, (0, 1, 2, 3, 4, 5), v.ooov, (6, 3, 2, 7), (0, 1, 6, 4, 5, 7)) + tmp128 += np.transpose(tmp45, (1, 0, 2, 4, 3, 5)) + tmp82 = einsum(t1, (0, 1), tmp46, (2, 3, 0, 4, 5, 6, 1, 7), (2, 3, 4, 5, 6, 7)) * -1 + del tmp46 + tmp128 += np.transpose(tmp82, (1, 0, 2, 4, 3, 5)) + tmp10 = einsum(t2, (0, 1, 2, 3), r3, (4, 5, 1, 6, 7, 3), (4, 5, 0, 6, 7, 2)) + tmp48 = einsum(v.oovv, (0, 1, 2, 3), tmp10, (4, 5, 1, 6, 7, 3), (4, 5, 0, 6, 7, 2)) + tmp128 += np.transpose(tmp48, (1, 0, 2, 4, 3, 5)) + r3new += tmp128 + r3new += np.transpose(tmp128, (0, 1, 2, 3, 5, 4)) * -1 + r3new += np.transpose(tmp128, (0, 1, 2, 5, 3, 4)) + r3new += np.transpose(tmp128, (0, 2, 1, 3, 4, 5)) * -1 + r3new += np.transpose(tmp128, (0, 2, 1, 3, 5, 4)) + r3new += np.transpose(tmp128, (0, 2, 1, 5, 3, 4)) * -1 + r3new += np.transpose(tmp128, (2, 0, 1, 3, 4, 5)) + r3new += np.transpose(tmp128, (2, 0, 1, 3, 5, 4)) * -1 + r3new += np.transpose(tmp128, (2, 0, 1, 5, 3, 4)) + del tmp128 + tmp49 = einsum(v.ovvv, (0, 1, 2, 3), r2, (4, 5, 6, 1), (4, 5, 0, 6, 2, 3)) + tmp130 = np.copy(np.transpose(tmp49, (1, 0, 2, 3, 5, 4))) + tmp24 = einsum(t1, (0, 1), r2, (2, 3, 4, 1), (2, 3, 0, 4)) + tmp68 = np.copy(np.transpose(tmp24, (1, 0, 2, 3))) * -2 + tmp9 = einsum(t2, (0, 1, 2, 3), r3, (4, 5, 1, 6, 2, 3), (4, 5, 0, 6)) + tmp68 += np.transpose(tmp9, (1, 0, 2, 3)) * -1 + tmp129 = einsum(tmp68, (0, 1, 2, 3), v.oovv, (4, 2, 5, 6), (4, 0, 1, 5, 6, 3)) * -0.5 + tmp130 += np.transpose(tmp129, (2, 1, 0, 5, 4, 3)) + del tmp129 + r3new += tmp130 * -1 + r3new += np.transpose(tmp130, (0, 1, 2, 4, 3, 5)) + r3new += np.transpose(tmp130, (0, 1, 2, 4, 5, 3)) * -1 + r3new += np.transpose(tmp130, (0, 2, 1, 3, 4, 5)) + r3new += np.transpose(tmp130, (0, 2, 1, 4, 3, 5)) * -1 + r3new += np.transpose(tmp130, (0, 2, 1, 4, 5, 3)) + r3new += np.transpose(tmp130, (2, 0, 1, 3, 4, 5)) * -1 + r3new += np.transpose(tmp130, (2, 0, 1, 4, 3, 5)) + r3new += np.transpose(tmp130, (2, 0, 1, 4, 5, 3)) * -1 + del tmp130 + tmp131 = einsum(r2, (0, 1, 2, 3), v.ooov, (4, 5, 1, 6), (0, 4, 5, 2, 3, 6)) + tmp132 = np.copy(np.transpose(tmp131, (0, 2, 1, 4, 3, 5))) + del tmp131 + tmp7 = einsum(r3, (0, 1, 2, 3, 4, 5), t2, (1, 2, 6, 5), (0, 3, 4, 6)) + tmp40 = einsum(v.oovv, (0, 1, 2, 3), tmp7, (4, 5, 6, 3), (4, 0, 1, 5, 6, 2)) * -1 + tmp132 += np.transpose(tmp40, (0, 2, 1, 4, 3, 5)) * 0.5 + r3new += tmp132 * -1 + r3new += np.transpose(tmp132, (0, 1, 2, 3, 5, 4)) + r3new += np.transpose(tmp132, (0, 1, 2, 5, 3, 4)) * -1 + r3new += np.transpose(tmp132, (1, 0, 2, 3, 4, 5)) + r3new += np.transpose(tmp132, (1, 0, 2, 3, 5, 4)) * -1 + r3new += np.transpose(tmp132, (1, 0, 2, 5, 3, 4)) + r3new += np.transpose(tmp132, (1, 2, 0, 3, 4, 5)) * -1 + r3new += np.transpose(tmp132, (1, 2, 0, 3, 5, 4)) + r3new += np.transpose(tmp132, (1, 2, 0, 5, 3, 4)) * -1 + del tmp132 + tmp133 = np.copy(f.oo) + tmp133 += np.transpose(ints.tmp0, (1, 0)) + tmp133 += np.transpose(ints.tmp13, (1, 0)) + tmp133 += ints.tmp67 + tmp134 = einsum(tmp133, (0, 1), r3, (2, 3, 0, 4, 5, 6), (2, 3, 1, 4, 5, 6)) * -1 + del tmp133 + r3new += np.transpose(tmp134, (2, 1, 0, 3, 4, 5)) * -1 + r3new += np.transpose(tmp134, (1, 2, 0, 3, 4, 5)) + r3new += np.transpose(tmp134, (1, 0, 2, 3, 4, 5)) * -1 + del tmp134 + tmp135 = einsum(r2, (0, 1, 2, 3), ints.tmp49, (1, 4, 5, 6), (4, 5, 0, 6, 2, 3)) + r3new += np.transpose(tmp135, (1, 0, 2, 3, 5, 4)) + r3new += np.transpose(tmp135, (1, 0, 2, 5, 3, 4)) * -1 + r3new += np.transpose(tmp135, (1, 0, 2, 5, 4, 3)) + r3new += np.transpose(tmp135, (1, 2, 0, 3, 5, 4)) * -1 + r3new += np.transpose(tmp135, (1, 2, 0, 5, 3, 4)) + r3new += np.transpose(tmp135, (1, 2, 0, 5, 4, 3)) * -1 + r3new += np.transpose(tmp135, (2, 1, 0, 3, 5, 4)) + r3new += np.transpose(tmp135, (2, 1, 0, 5, 3, 4)) * -1 + r3new += np.transpose(tmp135, (2, 1, 0, 5, 4, 3)) + del tmp135 + tmp136 = einsum(r3, (0, 1, 2, 3, 4, 5), ints.tmp23, (2, 6), (6, 0, 1, 3, 4, 5)) + tmp137 = np.copy(np.transpose(tmp136, (0, 2, 1, 4, 5, 3))) * -0.5 + del tmp136 + tmp79 = einsum(v.oooo, (0, 1, 2, 3), r3, (4, 2, 3, 5, 6, 7), (4, 0, 1, 5, 6, 7)) + tmp137 += np.transpose(tmp79, (0, 2, 1, 4, 5, 3)) * 0.5 + r3new += np.transpose(tmp137, (0, 1, 2, 5, 3, 4)) * -1 + r3new += np.transpose(tmp137, (1, 0, 2, 5, 3, 4)) + r3new += np.transpose(tmp137, (1, 2, 0, 5, 3, 4)) * -1 + del tmp137 + tmp138 = einsum(f.ov, (0, 1), r2, (2, 3, 4, 5), (0, 2, 3, 1, 4, 5)) + tmp138 += einsum(r1, (0, 1), v.oovv, (2, 3, 4, 5), (0, 2, 3, 1, 4, 5)) + tmp81 = einsum(tmp44, (0, 1, 2, 3, 4, 5), ints.tmp49, (2, 6, 3, 7), (6, 0, 1, 7, 4, 5)) + tmp138 += np.transpose(tmp81, (0, 2, 1, 3, 5, 4)) * -1 + r3new += tmp138 + r3new += np.transpose(tmp138, (0, 1, 2, 4, 3, 5)) * -1 + r3new += np.transpose(tmp138, (0, 1, 2, 4, 5, 3)) + r3new += np.transpose(tmp138, (1, 0, 2, 3, 4, 5)) * -1 + r3new += np.transpose(tmp138, (1, 0, 2, 4, 3, 5)) + r3new += np.transpose(tmp138, (1, 0, 2, 4, 5, 3)) * -1 + r3new += np.transpose(tmp138, (1, 2, 0, 3, 4, 5)) + r3new += np.transpose(tmp138, (1, 2, 0, 4, 3, 5)) * -1 + r3new += np.transpose(tmp138, (1, 2, 0, 4, 5, 3)) + del tmp138 + r3new += einsum(r2, (0, 1, 2, 3), ints.tmp46, (4, 5), (4, 0, 1, 5, 2, 3)) + r3new += einsum(r2, (0, 1, 2, 3), ints.tmp46, (4, 5), (4, 0, 1, 2, 5, 3)) * -1 + r3new += einsum(r2, (0, 1, 2, 3), ints.tmp46, (4, 5), (0, 4, 1, 5, 2, 3)) * -1 + r3new += einsum(r2, (0, 1, 2, 3), ints.tmp46, (4, 5), (0, 4, 1, 2, 5, 3)) + r3new += einsum(r2, (0, 1, 2, 3), ints.tmp46, (4, 5), (0, 4, 1, 2, 3, 5)) * -1 + r3new += einsum(ints.tmp46, (0, 1), r2, (2, 3, 4, 5), (2, 3, 0, 1, 4, 5)) + r3new += einsum(r2, (0, 1, 2, 3), ints.tmp46, (4, 5), (0, 1, 4, 2, 5, 3)) * -1 + r3new += einsum(ints.tmp46, (0, 1), r2, (2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) + tmp139 = einsum(r3, (0, 1, 2, 3, 4, 5), ints.tmp14, (5, 6), (0, 1, 2, 6, 3, 4)) + r3new += np.transpose(tmp139, (1, 2, 0, 3, 5, 4)) + r3new += np.transpose(tmp139, (1, 2, 0, 5, 3, 4)) * -1 + r3new += np.transpose(tmp139, (1, 2, 0, 5, 4, 3)) + del tmp139 + tmp109 = einsum(r3, (0, 1, 2, 3, 4, 5), ints.tmp68, (1, 6, 7, 2), (6, 7, 0, 3, 4, 5)) + r3new += np.transpose(tmp109, (1, 0, 2, 4, 5, 3)) + r3new += np.transpose(tmp109, (1, 2, 0, 4, 5, 3)) * -1 + r3new += np.transpose(tmp109, (2, 1, 0, 4, 5, 3)) + tmp140 = np.copy(ints.tmp130) * 2 + tmp140 += ints.tmp50 + tmp141 = einsum(tmp140, (0, 1, 2, 3), r3, (4, 1, 0, 5, 6, 7), (4, 2, 3, 5, 6, 7)) * 0.25 + del tmp140 + r3new += np.transpose(tmp141, (2, 1, 0, 3, 4, 5)) + r3new += np.transpose(tmp141, (2, 0, 1, 3, 4, 5)) * -1 + r3new += np.transpose(tmp141, (0, 2, 1, 3, 4, 5)) + del tmp141 + tmp0 = einsum(r2, (0, 1, 2, 3), t2, (0, 1, 4, 3), (2, 4)) + r1new = einsum(tmp0, (0, 1), v.ovvv, (2, 0, 3, 1), (2, 3)) * 0.5 + tmp1 = einsum(t3, (0, 1, 2, 3, 4, 5), r3, (6, 1, 2, 7, 4, 5), (6, 0, 7, 3)) + r1new += einsum(v.ooov, (0, 1, 2, 3), tmp1, (2, 1, 4, 3), (0, 4)) * -0.25 + tmp2 = einsum(r3, (0, 1, 2, 3, 4, 5), t3, (6, 7, 2, 8, 4, 5), (0, 1, 6, 7, 3, 8)) + r1new += einsum(v.ovoo, (0, 1, 2, 3), tmp2, (4, 0, 3, 2, 5, 1), (4, 5)) * -0.25 + tmp3 = einsum(r3, (0, 1, 2, 3, 4, 5), t3, (6, 1, 2, 3, 4, 5), (0, 6)) + r1new += einsum(tmp3, (0, 1), v.ooov, (2, 1, 0, 3), (2, 3)) * 0.08333333333333 + tmp4 = einsum(r3, (0, 1, 2, 3, 4, 5), t3, (0, 1, 2, 6, 4, 5), (3, 6)) + r1new += einsum(tmp4, (0, 1), v.ovvv, (2, 0, 3, 1), (2, 3)) * 0.08333333333333 + tmp5 = einsum(r3, (0, 1, 2, 3, 4, 5), t3, (0, 1, 2, 6, 7, 5), (3, 4, 6, 7)) + r1new += einsum(v.ovvv, (0, 1, 2, 3), tmp5, (4, 1, 3, 2), (0, 4)) * 0.08333333333333 + r1new += einsum(v.ovvv, (0, 1, 2, 3), tmp1, (4, 0, 1, 3), (4, 2)) * -0.25 + r1new += einsum(tmp6, (0, 1, 2, 3, 4, 5), t2, (1, 2, 5, 4), (0, 3)) * -0.125 + r1new += einsum(v.vvvv, (0, 1, 2, 3), tmp7, (4, 3, 2, 1), (4, 0)) * -0.25 + tmp8 = einsum(r1, (0, 1), t1, (2, 1), (0, 2)) + r1new += einsum(tmp8, (0, 1), ints.tmp49, (0, 2, 1, 3), (2, 3)) * -1 + r1new += einsum(tmp9, (0, 1, 2, 3), v.ovov, (2, 3, 1, 4), (0, 4)) * -0.5 + r1new += einsum(v.ovov, (0, 1, 2, 3), tmp7, (2, 4, 1, 3), (0, 4)) * -0.5 + r1new += einsum(tmp10, (0, 1, 2, 3, 4, 5), v.ovov, (2, 4, 1, 5), (0, 3)) * -1 + tmp11 = einsum(t1, (0, 1), tmp7, (2, 3, 1, 4), (2, 0, 3, 4)) + r1new += einsum(tmp11, (0, 1, 2, 3), ints.tmp46, (1, 3), (0, 2)) * -0.5 + del ints.tmp46 + r1new += einsum(ints.tmp50, (0, 1, 2, 3), tmp12, (4, 1, 0, 2, 3, 5), (4, 5)) * -0.0625 + r1new += einsum(v.oooo, (0, 1, 2, 3), tmp12, (4, 2, 3, 1, 0, 5), (4, 5)) * -0.125 + tmp13 = einsum(t2, (0, 1, 2, 3), tmp7, (1, 4, 3, 5), (0, 4, 5, 2)) * -1 + r1new += einsum(v.oovv, (0, 1, 2, 3), tmp13, (1, 4, 2, 3), (0, 4)) * -0.5 + del tmp13 + tmp14 = einsum(tmp10, (0, 1, 2, 3, 4, 5), t2, (6, 1, 7, 4), (0, 2, 6, 3, 5, 7)) + r1new += einsum(tmp14, (0, 1, 2, 3, 4, 5), v.oovv, (2, 1, 5, 4), (0, 3)) * 0.50000000000001 + del tmp14 + tmp15 = np.copy(ints.tmp40) + del ints.tmp40 + tmp15 += v.oovv * -1 + r1new += einsum(r3, (0, 1, 2, 3, 4, 5), tmp15, (1, 2, 5, 4), (0, 3)) * 0.25 + del tmp15 + tmp16 = np.copy(np.transpose(v.ovvv, (0, 2, 3, 1))) * -0.5 + tmp16 += einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 0, 5, 3), (4, 5, 1, 2)) + r1new += einsum(tmp16, (0, 1, 2, 3), r2, (4, 0, 1, 2), (4, 3)) + del tmp16 + tmp17 = np.copy(ints.tmp27) * 4 + del ints.tmp27 + tmp17 += np.transpose(ints.tmp35, (0, 2, 1, 3)) + tmp17 += np.transpose(ints.tmp30, (0, 2, 1, 3)) * -1 + tmp17 += np.transpose(v.ooov, (0, 2, 1, 3)) * -2 + r1new += einsum(tmp17, (0, 1, 2, 3), r2, (0, 2, 4, 3), (1, 4)) * 0.25 + del tmp17 + tmp18 = einsum(t3, (0, 1, 2, 3, 4, 5), r2, (6, 2, 4, 5), (6, 0, 1, 3)) + tmp18 += einsum(tmp7, (0, 1, 2, 3), t2, (4, 5, 2, 1), (0, 4, 5, 3)) * -0.5 + tmp18 += einsum(tmp9, (0, 1, 2, 3), t2, (4, 1, 5, 3), (0, 4, 2, 5)) * -2 + r1new += einsum(v.oovv, (0, 1, 2, 3), tmp18, (4, 0, 1, 3), (4, 2)) * 0.25 + del tmp18 + tmp19 = einsum(r2, (0, 1, 2, 3), t2, (4, 5, 2, 3), (0, 1, 4, 5)) + tmp21 = np.copy(np.transpose(tmp19, (1, 0, 3, 2))) * 3 + tmp20 = einsum(t3, (0, 1, 2, 3, 4, 5), r3, (6, 7, 2, 3, 4, 5), (6, 7, 0, 1)) + tmp21 += np.transpose(tmp20, (1, 0, 3, 2)) + r1new += einsum(v.ooov, (0, 1, 2, 3), tmp21, (2, 4, 0, 1), (4, 3)) * 0.08333333333333 + del tmp21 + tmp22 = np.copy(ints.tmp50) + tmp22 += v.oooo * 2 + r1new += einsum(tmp22, (0, 1, 2, 3), tmp9, (0, 1, 3, 4), (2, 4)) * 0.125 + del tmp22 + tmp23 = einsum(v.vvvv, (0, 1, 2, 3), r2, (4, 5, 2, 3), (4, 5, 0, 1)) + tmp61 = np.copy(np.transpose(tmp23, (1, 0, 3, 2))) * -2 + tmp25 = einsum(tmp24, (0, 1, 2, 3), v.ooov, (4, 2, 1, 5), (0, 4, 3, 5)) + tmp61 += np.transpose(tmp25, (1, 0, 2, 3)) * 2 + tmp26 = einsum(v.ovvv, (0, 1, 2, 3), r3, (4, 5, 0, 6, 2, 3), (4, 5, 6, 1)) + tmp61 += np.transpose(tmp26, (1, 0, 3, 2)) * 2 + tmp27 = einsum(tmp10, (0, 1, 2, 3, 4, 5), v.ooov, (6, 2, 1, 5), (0, 6, 3, 4)) * -1 + tmp61 += np.transpose(tmp27, (1, 0, 3, 2)) * -4 + tmp28 = einsum(tmp7, (0, 1, 2, 3), v.ooov, (4, 5, 0, 3), (4, 5, 1, 2)) * -1 + tmp61 += np.transpose(tmp28, (0, 1, 3, 2)) * -2 + tmp29 = einsum(tmp12, (0, 1, 2, 3, 4, 5), v.ovoo, (2, 6, 4, 3), (1, 0, 5, 6)) + tmp61 += np.transpose(tmp29, (0, 1, 3, 2)) * -1 + tmp30 = einsum(tmp10, (0, 1, 2, 3, 4, 5), v.ovvv, (2, 4, 6, 5), (1, 0, 3, 6)) + tmp61 += np.transpose(tmp30, (0, 1, 3, 2)) * 4 + tmp31 = einsum(v.ovvv, (0, 1, 2, 3), tmp9, (4, 5, 0, 1), (5, 4, 2, 3)) + tmp61 += np.transpose(tmp31, (0, 1, 3, 2)) * -2 + tmp32 = einsum(v.oovv, (0, 1, 2, 3), tmp2, (4, 5, 1, 0, 6, 3), (5, 4, 6, 2)) + del tmp2 + tmp61 += np.transpose(tmp32, (0, 1, 3, 2)) + tmp33 = einsum(v.oovv, (0, 1, 2, 3), tmp5, (4, 5, 3, 2), (0, 1, 4, 5)) * -1 + del tmp5 + tmp61 += np.transpose(tmp33, (0, 1, 3, 2)) * 0.33333333333332 + tmp34 = einsum(r2, (0, 1, 2, 3), ints.tmp25, (1, 4, 3, 5), (4, 0, 5, 2)) + tmp61 += tmp34 * -4 + tmp61 += np.transpose(tmp34, (0, 1, 3, 2)) * 4 + tmp61 += np.transpose(tmp34, (1, 0, 2, 3)) * 4 + tmp35 = einsum(v.ovov, (0, 1, 2, 3), r2, (4, 2, 5, 1), (4, 0, 5, 3)) + tmp37 = np.copy(tmp35) * 4 + tmp36 = einsum(tmp7, (0, 1, 2, 3), v.ovvv, (4, 2, 5, 3), (0, 4, 1, 5)) + tmp37 += tmp36 * -2 + tmp61 += np.transpose(tmp37, (0, 1, 3, 2)) * -1 + tmp61 += np.transpose(tmp37, (1, 0, 2, 3)) * -1 + tmp61 += np.transpose(tmp37, (1, 0, 3, 2)) + del tmp37 + tmp38 = einsum(tmp9, (0, 1, 2, 3), v.ooov, (4, 2, 1, 5), (0, 4, 3, 5)) + tmp61 += np.transpose(tmp38, (0, 1, 3, 2)) * 2 + tmp61 += np.transpose(tmp38, (1, 0, 2, 3)) * 2 + tmp39 = einsum(tmp1, (0, 1, 2, 3), v.oovv, (4, 1, 5, 3), (0, 4, 2, 5)) + tmp61 += np.transpose(tmp39, (0, 1, 3, 2)) + tmp61 += np.transpose(tmp39, (1, 0, 2, 3)) + tmp61 += np.transpose(tmp39, (1, 0, 3, 2)) * -1 + tmp41 = einsum(t1, (0, 1), tmp40, (2, 0, 3, 1, 4, 5), (2, 3, 4, 5)) + tmp61 += np.transpose(tmp41, (0, 1, 3, 2)) * 2 + tmp61 += np.transpose(tmp41, (1, 0, 2, 3)) + tmp42 = np.copy(ints.tmp30) + tmp42 += v.ooov * 2 + tmp42 += ints.tmp35 * -1 + tmp61 += einsum(r3, (0, 1, 2, 3, 4, 5), tmp42, (1, 2, 6, 5), (6, 0, 3, 4)) * -1 + del tmp42 + tmp53 = np.copy(np.transpose(tmp43, (1, 2, 0, 4, 5, 3))) + tmp53 += np.transpose(tmp6, (1, 2, 0, 5, 4, 3)) * 0.25 + tmp53 += np.transpose(tmp45, (1, 2, 0, 4, 5, 3)) * -0.5 + tmp53 += np.transpose(tmp47, (1, 2, 0, 5, 4, 3)) * -0.5 + tmp53 += np.transpose(tmp48, (1, 2, 0, 4, 5, 3)) * -1 + tmp53 += np.transpose(tmp49, (1, 0, 2, 5, 4, 3)) * 0.5 + tmp53 += np.transpose(tmp49, (1, 2, 0, 3, 5, 4)) * -1 + tmp50 = np.copy(ints.tmp50) * 0.5 + tmp50 += v.oooo + tmp53 += einsum(tmp50, (0, 1, 2, 3), r3, (4, 1, 0, 5, 6, 7), (2, 3, 4, 5, 6, 7)) * 0.25 + del tmp50 + tmp52 = np.copy(np.transpose(tmp12, (1, 2, 0, 4, 3, 5))) * -1 + del tmp12 + tmp52 += np.transpose(tmp51, (1, 2, 0, 4, 3, 5)) * -2 + del tmp51 + tmp53 += einsum(v.oovv, (0, 1, 2, 3), tmp52, (4, 5, 6, 0, 1, 7), (5, 6, 4, 2, 3, 7)) * -0.125 + del tmp52 + tmp61 += einsum(tmp53, (0, 1, 2, 3, 4, 5), t1, (1, 3), (0, 2, 4, 5)) * -4 + del tmp53 + tmp56 = np.copy(np.transpose(tmp19, (1, 0, 3, 2))) * 3 + tmp54 = einsum(t1, (0, 1), tmp24, (2, 3, 4, 1), (2, 3, 4, 0)) * -1 + tmp56 += np.transpose(tmp54, (1, 0, 3, 2)) * 6 + tmp56 += np.transpose(tmp20, (1, 0, 3, 2)) + tmp55 = einsum(t1, (0, 1), tmp9, (2, 3, 4, 1), (2, 3, 0, 4)) + tmp56 += np.transpose(tmp55, (1, 0, 3, 2)) * 6 + tmp61 += einsum(v.oovv, (0, 1, 2, 3), tmp56, (4, 5, 0, 1), (5, 4, 2, 3)) * 0.33333333333332 + del tmp56 + tmp57 = np.copy(ints.tmp50) * 0.25 + tmp57 += np.transpose(ints.tmp68, (3, 0, 1, 2)) + tmp57 += v.oooo * 0.5 + tmp61 += einsum(tmp57, (0, 1, 2, 3), r2, (0, 1, 4, 5), (3, 2, 4, 5)) * 4 + del tmp57 + tmp58 = np.copy(np.transpose(tmp24, (1, 0, 2, 3))) * -1 + tmp58 += np.transpose(tmp9, (1, 0, 2, 3)) * -0.5 + tmp61 += einsum(tmp58, (0, 1, 2, 3), ints.tmp49, (0, 4, 2, 5), (1, 4, 5, 3)) * 2 + tmp59 = np.copy(ints.tmp14) + tmp59 += ints.tmp24 * 0.5 + tmp59 += f.vv * -1 + tmp61 += einsum(tmp59, (0, 1), r2, (2, 3, 4, 0), (2, 3, 1, 4)) * -4 + tmp60 = np.copy(tmp0) + tmp60 += tmp4 * 0.16666666666666 + tmp61 += einsum(v.oovv, (0, 1, 2, 3), tmp60, (4, 3), (0, 1, 4, 2)) * -2 + r1new += einsum(t1, (0, 1), tmp61, (0, 2, 1, 3), (2, 3)) * -0.25 + del tmp61 + tmp62 = np.copy(f.vv) * 2 + tmp62 += ints.tmp24 * -1 + r1new += einsum(tmp62, (0, 1), tmp7, (2, 0, 3, 1), (2, 3)) * -0.25 + del tmp62 + tmp63 = np.copy(r2) + tmp63 += einsum(r2, (0, 1, 2, 3), t2, (4, 1, 5, 3), (4, 0, 5, 2)) + tmp63 += np.transpose(tmp1, (1, 0, 3, 2)) * 0.25 + del tmp1 + tmp63 += np.transpose(tmp11, (1, 0, 3, 2)) * -0.5 + del tmp11 + r1new += einsum(tmp63, (0, 1, 2, 3), f.ov, (0, 2), (1, 3)) + del tmp63 + tmp64 = np.copy(ints.tmp26) * 2 + tmp64 += ints.tmp29 * 2 + tmp64 += ints.tmp34 * -1 + r1new += einsum(tmp64, (0, 1), r2, (2, 0, 3, 1), (2, 3)) * -0.25 + del tmp64 + tmp65 = np.copy(ints.tmp25) + del ints.tmp25 + tmp65 += np.transpose(v.ovov, (0, 2, 3, 1)) * -1 + tmp65 += einsum(t1, (0, 1), v.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) + r1new += einsum(tmp65, (0, 1, 2, 3), r1, (0, 2), (1, 3)) + del tmp65 + tmp66 = einsum(t3, (0, 1, 2, 3, 4, 5), r2, (1, 2, 4, 5), (0, 3)) + tmp66 += einsum(t2, (0, 1, 2, 3), tmp9, (1, 0, 4, 3), (4, 2)) * -1 + r1new += einsum(tmp66, (0, 1), v.oovv, (2, 0, 3, 1), (2, 3)) * 0.25 + del tmp66 + tmp67 = np.copy(f.oo) * 2 + tmp67 += np.transpose(ints.tmp23, (1, 0)) + tmp67 += np.transpose(ints.tmp67, (1, 0)) * 2 + r1new += einsum(tmp67, (0, 1), tmp68, (1, 2, 0, 3), (2, 3)) * 0.25 + del tmp67 + tmp69 = np.copy(ints.tmp0) + tmp69 += ints.tmp13 + r1new += einsum(tmp68, (0, 1, 2, 3), tmp69, (2, 0), (1, 3)) * 0.5 + del tmp68, tmp69 + tmp71 = np.copy(tmp8) + tmp70 = einsum(t2, (0, 1, 2, 3), r2, (4, 1, 2, 3), (4, 0)) + tmp71 += tmp70 * 0.5 + r1new += einsum(v.ooov, (0, 1, 2, 3), tmp71, (2, 1), (0, 3)) + del tmp71 + tmp72 = np.copy(tmp70) + tmp72 += tmp3 * 0.16666666666666 + r1new += einsum(tmp72, (0, 1), ints.tmp49, (0, 2, 1, 3), (2, 3)) * -0.5 + del tmp72 + r1new += einsum(tmp73, (0, 1), tmp60, (2, 1), (0, 2)) * -0.5 + del tmp60 + r1new += einsum(tmp59, (0, 1), r1, (2, 0), (2, 1)) * -1 + del tmp59 + tmp74 = np.copy(tmp8) + tmp74 += tmp70 * 0.5 + tmp74 += tmp3 * 0.08333333333333 + r1new += einsum(tmp73, (0, 1), tmp74, (2, 0), (2, 1)) * -1 + del tmp74 + tmp75 = np.copy(f.oo) + tmp75 += np.transpose(ints.tmp0, (1, 0)) + tmp75 += np.transpose(ints.tmp13, (1, 0)) + tmp75 += ints.tmp23 * 0.5 + tmp75 += ints.tmp67 + r1new += einsum(r1, (0, 1), tmp75, (0, 2), (2, 1)) * -1 + del tmp75 + r2new = einsum(f.ov, (0, 1), tmp10, (2, 3, 0, 4, 5, 1), (3, 2, 5, 4)) + del tmp10 + r2new += np.transpose(tmp23, (1, 0, 3, 2)) * 0.5 + del tmp23 + r2new += np.transpose(tmp28, (0, 1, 3, 2)) * 0.5 + del tmp28 + r2new += np.transpose(tmp33, (0, 1, 3, 2)) * -0.08333333333333 + del tmp33 + r2new += np.transpose(tmp31, (0, 1, 3, 2)) * 0.5 + del tmp31 + tmp76 = einsum(r3, (0, 1, 2, 3, 4, 5), v.ovoo, (6, 5, 1, 2), (0, 6, 3, 4)) + tmp90 = np.copy(np.transpose(tmp76, (0, 1, 3, 2))) * 0.5 + del tmp76 + tmp77 = np.copy(ints.tmp30) + del ints.tmp30 + tmp77 += ints.tmp35 * -1 + del ints.tmp35 + tmp78 = einsum(tmp77, (0, 1, 2, 3), r3, (4, 0, 1, 5, 6, 3), (4, 2, 5, 6)) * -0.24999999999999 + del tmp77 + tmp90 += np.transpose(tmp78, (1, 0, 2, 3)) * -1 + del tmp78 + tmp83 = np.copy(np.transpose(tmp79, (2, 0, 1, 4, 5, 3))) * -2 + del tmp79 + tmp80 = einsum(r3, (0, 1, 2, 3, 4, 5), ints.tmp50, (2, 1, 6, 7), (6, 7, 0, 3, 4, 5)) * -1 + tmp83 += np.transpose(tmp80, (0, 1, 2, 4, 5, 3)) * -1 + del tmp80 + tmp83 += np.transpose(tmp43, (1, 0, 2, 5, 4, 3)) * 4 + tmp83 += np.transpose(tmp81, (2, 0, 1, 3, 5, 4)) * -2 + del tmp81 + tmp83 += np.transpose(tmp82, (1, 0, 2, 5, 4, 3)) * -2 + del tmp82 + tmp84 = einsum(tmp83, (0, 1, 2, 3, 4, 5), t1, (0, 3), (1, 2, 4, 5)) * 0.25 + del tmp83 + tmp90 += tmp84 * -1 + del tmp84 + tmp85 = einsum(tmp73, (0, 1), tmp7, (2, 3, 4, 1), (2, 0, 3, 4)) * 0.5 + del tmp7 + tmp90 += np.transpose(tmp85, (1, 0, 3, 2)) * -1 + del tmp85 + tmp86 = np.copy(f.oo) * 2 + tmp86 += np.transpose(ints.tmp0, (1, 0)) * 2 + tmp86 += np.transpose(ints.tmp13, (1, 0)) * 2 + tmp86 += ints.tmp23 + tmp86 += ints.tmp67 * 2 + tmp87 = einsum(r2, (0, 1, 2, 3), tmp86, (1, 4), (0, 4, 2, 3)) * -0.5 + del tmp86 + tmp90 += np.transpose(tmp87, (1, 0, 3, 2)) + del tmp87 + tmp88 = np.copy(tmp8) * 2 + del tmp8 + tmp88 += tmp70 + del tmp70 + tmp88 += tmp3 * 0.16666666666666 + del tmp3 + tmp89 = einsum(tmp88, (0, 1), v.oovv, (2, 1, 3, 4), (2, 0, 3, 4)) * -0.5 + del tmp88 + tmp90 += np.transpose(tmp89, (1, 0, 3, 2)) + del tmp89 + r2new += tmp90 + r2new += np.transpose(tmp90, (1, 0, 2, 3)) * -1 + del tmp90 + tmp99 = np.copy(np.transpose(tmp26, (1, 0, 2, 3))) * 0.5 + del tmp26 + tmp91 = einsum(v.oovv, (0, 1, 2, 3), tmp0, (4, 3), (0, 1, 4, 2)) * -1 + del tmp0 + tmp99 += np.transpose(tmp91, (1, 0, 2, 3)) * 0.5 + del tmp91 + tmp94 = np.copy(np.transpose(tmp43, (1, 0, 2, 4, 3, 5))) * -1 + tmp94 += np.transpose(tmp6, (1, 2, 0, 5, 3, 4)) * 0.5 + del tmp6 + tmp94 += np.transpose(tmp45, (1, 0, 2, 4, 3, 5)) * 0.5 + del tmp45 + tmp94 += np.transpose(tmp47, (1, 2, 0, 5, 3, 4)) * -1 + del tmp47 + tmp94 += np.transpose(tmp93, (1, 2, 0, 4, 5, 3)) + del tmp93 + tmp95 = einsum(t1, (0, 1), tmp94, (2, 3, 0, 1, 4, 5), (2, 3, 4, 5)) + del tmp94 + tmp99 += np.transpose(tmp95, (1, 0, 2, 3)) * -1 + del tmp95 + tmp96 = np.copy(ints.tmp14) * 2 + tmp96 += ints.tmp24 + tmp97 = einsum(tmp96, (0, 1), r2, (2, 3, 4, 0), (2, 3, 4, 1)) * -0.5 + del tmp96 + tmp99 += np.transpose(tmp97, (1, 0, 3, 2)) + del tmp97 + tmp98 = einsum(tmp58, (0, 1, 2, 3), tmp73, (2, 4), (0, 1, 3, 4)) + del tmp58 + tmp99 += np.transpose(tmp98, (1, 0, 3, 2)) * -1 + del tmp98 + r2new += tmp99 + r2new += np.transpose(tmp99, (0, 1, 3, 2)) * -1 + del tmp99 + tmp100 = einsum(ints.tmp49, (0, 1, 2, 3), r1, (0, 4), (1, 2, 3, 4)) + tmp104 = np.copy(tmp100) * -1 + del tmp100 + tmp101 = einsum(r1, (0, 1), v.ooov, (2, 3, 0, 4), (2, 3, 1, 4)) + tmp104 += np.transpose(tmp101, (1, 0, 2, 3)) + del tmp101 + tmp102 = einsum(f.vv, (0, 1), r2, (2, 3, 4, 1), (2, 3, 0, 4)) + tmp104 += np.transpose(tmp102, (1, 0, 2, 3)) + del tmp102 + tmp103 = einsum(t1, (0, 1), tmp48, (2, 3, 0, 4, 1, 5), (2, 3, 4, 5)) + tmp104 += np.transpose(tmp103, (1, 0, 2, 3)) + del tmp103 + r2new += np.transpose(tmp104, (1, 0, 2, 3)) * -1 + r2new += np.transpose(tmp104, (1, 0, 3, 2)) + del tmp104 + tmp107 = np.copy(tmp34) + del tmp34 + tmp107 += tmp25 + del tmp25 + tmp105 = einsum(ints.tmp49, (0, 1, 2, 3), tmp24, (0, 4, 2, 5), (1, 4, 3, 5)) * -1 + del tmp24 + tmp107 += tmp105 * -1 + del tmp105 + tmp106 = einsum(tmp49, (0, 1, 2, 3, 4, 5), t1, (0, 4), (1, 2, 3, 5)) + tmp107 += tmp106 + del tmp106 + r2new += tmp107 + r2new += np.transpose(tmp107, (0, 1, 3, 2)) * -1 + r2new += np.transpose(tmp107, (1, 0, 2, 3)) * -1 + r2new += np.transpose(tmp107, (1, 0, 3, 2)) + del tmp107 + tmp108 = einsum(r1, (0, 1), v.ovvv, (2, 1, 3, 4), (0, 2, 3, 4)) + tmp112 = np.copy(np.transpose(tmp108, (0, 1, 3, 2))) * -1 + del tmp108 + tmp110 = np.copy(np.transpose(tmp109, (0, 1, 2, 4, 5, 3))) + del tmp109 + tmp110 += np.transpose(tmp48, (1, 0, 2, 5, 4, 3)) * -1 + tmp111 = einsum(tmp110, (0, 1, 2, 3, 4, 5), t1, (1, 3), (0, 2, 4, 5)) + del tmp110 + tmp112 += tmp111 * -1 + del tmp111 + r2new += tmp112 * -1 + r2new += np.transpose(tmp112, (1, 0, 2, 3)) + del tmp112 + r2new += np.transpose(tmp27, (0, 1, 3, 2)) * -1 + r2new += np.transpose(tmp27, (1, 0, 3, 2)) + del tmp27 + tmp114 = np.copy(tmp29) * -0.25 + del tmp29 + tmp114 += tmp32 * 0.24999999999999 + del tmp32 + tmp113 = einsum(v.oovv, (0, 1, 2, 3), tmp4, (4, 3), (0, 1, 4, 2)) + del tmp4 + tmp114 += tmp113 * 0.08333333333333 + del tmp113 + r2new += tmp114 + r2new += np.transpose(tmp114, (0, 1, 3, 2)) * -1 + del tmp114 + tmp116 = np.copy(tmp35) * -1 + del tmp35 + tmp116 += tmp38 * 0.5 + del tmp38 + tmp115 = einsum(ints.tmp49, (0, 1, 2, 3), tmp9, (0, 4, 2, 5), (1, 4, 3, 5)) * -1 + del tmp9, ints.tmp49 + tmp116 += tmp115 * -0.5 + del tmp115 + tmp116 += tmp36 * 0.5 + del tmp36 + tmp116 += tmp39 * 0.24999999999999 + del tmp39 + tmp116 += tmp41 * 0.5 + del tmp41 + tmp116 += einsum(tmp73, (0, 1), r1, (2, 3), (0, 2, 1, 3)) + del tmp73 + r2new += tmp116 + r2new += np.transpose(tmp116, (0, 1, 3, 2)) * -1 + r2new += np.transpose(tmp116, (1, 0, 2, 3)) * -1 + r2new += np.transpose(tmp116, (1, 0, 3, 2)) + del tmp116 + r2new += tmp30 + r2new += np.transpose(tmp30, (0, 1, 3, 2)) * -1 + del tmp30 + tmp118 = np.copy(ints.tmp26) * 2 + del ints.tmp26 + tmp118 += ints.tmp29 * 2 + del ints.tmp29 + tmp118 += f.ov * -4 + tmp118 += ints.tmp114 * -4 + del ints.tmp114 + tmp118 += ints.tmp34 * -1 + del ints.tmp34 + tmp117 = np.copy(ints.tmp14) + del ints.tmp14 + tmp117 += ints.tmp24 * 0.5 + del ints.tmp24 + tmp118 += einsum(t1, (0, 1), tmp117, (2, 1), (0, 2)) * 4 + del tmp117 + r2new += einsum(r3, (0, 1, 2, 3, 4, 5), tmp118, (2, 5), (0, 1, 3, 4)) * -0.24999999999999 + del tmp118 + tmp119 = np.copy(np.transpose(tmp49, (1, 0, 2, 3, 5, 4))) + del tmp49 + tmp119 += np.transpose(tmp43, (1, 0, 2, 5, 4, 3)) + del tmp43 + tmp119 += np.transpose(tmp40, (2, 1, 0, 5, 4, 3)) * 0.5 + del tmp40 + tmp119 += np.transpose(tmp48, (1, 0, 2, 5, 4, 3)) * -1 + del tmp48 + r2new += einsum(tmp119, (0, 1, 2, 3, 4, 5), t1, (2, 3), (1, 0, 5, 4)) * -1 + del tmp119 + tmp120 = np.copy(ints.tmp130) + del ints.tmp130 + tmp120 += v.oooo + tmp120 += np.transpose(ints.tmp50, (1, 0, 2, 3)) * -0.5 + del ints.tmp50 + tmp120 += np.transpose(ints.tmp68, (0, 3, 1, 2)) * -2 + del ints.tmp68 + r2new += einsum(tmp120, (0, 1, 2, 3), r2, (1, 0, 4, 5), (3, 2, 4, 5)) * 0.5 + del tmp120 + tmp121 = np.copy(np.transpose(tmp19, (1, 0, 3, 2))) * 0.5 + del tmp19 + tmp121 += np.transpose(tmp54, (1, 0, 3, 2)) + del tmp54 + tmp121 += np.transpose(tmp20, (1, 0, 3, 2)) * 0.16666666666666 + del tmp20 + tmp121 += np.transpose(tmp55, (1, 0, 3, 2)) + del tmp55 + r2new += einsum(tmp121, (0, 1, 2, 3), v.oovv, (2, 3, 4, 5), (1, 0, 4, 5)) * -0.5 + del tmp121 + tmp122 = np.copy(f.oo) + tmp122 += np.transpose(ints.tmp23, (1, 0)) * 0.5 + del ints.tmp23 + tmp122 += np.transpose(ints.tmp67, (1, 0)) + del ints.tmp67 + r2new += einsum(tmp122, (0, 1), tmp44, (1, 2, 3, 0, 4, 5), (2, 3, 5, 4)) + del tmp122 + tmp123 = np.copy(ints.tmp0) + del ints.tmp0 + tmp123 += ints.tmp13 + del ints.tmp13 + r2new += einsum(tmp123, (0, 1), tmp44, (2, 1, 3, 0, 4, 5), (3, 2, 5, 4)) + del tmp44, tmp123 + + return {f"r1new": r1new, f"r2new": r2new, f"r3new": r3new} diff --git a/ebcc/codegen/RCCSDT.py b/ebcc/codegen/RCCSDT.py index 28de518e..f4e89ac7 100644 --- a/ebcc/codegen/RCCSDT.py +++ b/ebcc/codegen/RCCSDT.py @@ -1,6763 +1,11655 @@ -# Code generated for ebcc. +""" +Code generated by `albert`: +https://github.com/obackhouse/albert + + * date: 2024-10-22T08:36:46.827960 + * python version: 3.9.6 (default, Feb 3 2024, 15:58:27) +[Clang 15.0.0 (clang-1500.3.9.4)] + * albert version: 0.0.0 + * caller: /Users/oliver.backhouse/env/default/lib/python3.9/site-packages/albert/codegen/einsum.py + * node: F9HJ673GV7.local + * system: Darwin + * processor: arm + * release: 23.3.0 +""" from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, Namespace -from ebcc.precision import types +from ebcc.util import pack_2e, einsum, dirsum, Namespace + + +def energy(f=None, t1=None, t2=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-10-22T08:36:47.136984. + + Parameters + ---------- + f : array + Fock matrix. + t1 : array + T1 amplitudes. + t2 : array + T2 amplitudes. + v : array + Electron repulsion integrals. -def energy(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, t3=None, **kwargs): - # energy - e_cc = 0 - e_cc += einsum(f.ov, (0, 1), t1, (0, 1), ()) * 2.0 - x0 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x0 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -0.5 - x0 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x1 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x1 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - x1 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) - e_cc += einsum(x0, (0, 1, 2, 3), x1, (0, 1, 2, 3), ()) * 2.0 - del x0, x1 + Returns + ------- + e_cc : float + Coupled cluster energy. + """ + + e_cc = einsum(t2, (0, 1, 2, 3), v.ovov, (0, 2, 1, 3), ()) * 2 + e_cc += einsum(t2, (0, 1, 2, 3), v.ovov, (0, 3, 1, 2), ()) * -1 + tmp1 = np.copy(f.ov) + tmp0 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1))) * -0.5 + tmp0 += np.transpose(v.ovov, (0, 2, 1, 3)) + tmp1 += einsum(t1, (0, 1), tmp0, (0, 2, 1, 3), (2, 3)) + del tmp0 + e_cc += einsum(t1, (0, 1), tmp1, (0, 1), ()) * 2 + del tmp1 return e_cc -def update_amps(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, t3=None, **kwargs): - # T amplitudes - t1new = np.zeros((nocc, nvir), dtype=types[float]) - t1new += einsum(f.ov, (0, 1), (0, 1)) - t1new += einsum(f.vv, (0, 1), t1, (2, 1), (2, 0)) - t2new = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - t2new += einsum(t2, (0, 1, 2, 3), v.vvvv, (4, 2, 5, 3), (0, 1, 4, 5)) - t2new += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - t2new += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 5, 1, 3), (4, 0, 5, 2)) * 2.0 - t2new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 2), (4, 0, 3, 5)) * -1.0 - t2new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 3), (4, 0, 5, 2)) * -1.0 - x0 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x0 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x0 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x1 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x1 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - x1 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) - t1new += einsum(x0, (0, 1, 2, 3), x1, (1, 4, 0, 2, 3, 5), (4, 5)) * -0.25 - del x1 - x2 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x2 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -0.3333333333333333 - x2 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - t1new += einsum(x2, (0, 1, 2, 3), t3, (4, 0, 1, 5, 2, 3), (4, 5)) * 1.5 - x3 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x3 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - x3 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) - x4 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x4 += einsum(v.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) - x4 += einsum(v.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 - t1new += einsum(x3, (0, 1, 2, 3), x4, (0, 2, 3, 4), (1, 4)) * 2.0 - x5 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x5 += einsum(t1, (0, 1), v.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) - x6 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x6 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x6 += einsum(v.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x6 += einsum(x5, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x6 += einsum(x5, (0, 1, 2, 3), (0, 2, 1, 3)) * 2.0 - t1new += einsum(t2, (0, 1, 2, 3), x6, (4, 0, 1, 3), (4, 2)) * -1.0 - del x6 - x7 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x7 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -0.5 - x7 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x8 = np.zeros((nocc, nvir), dtype=types[float]) - x8 += einsum(t1, (0, 1), x7, (0, 2, 1, 3), (2, 3)) - x9 = np.zeros((nocc, nvir), dtype=types[float]) - x9 += einsum(f.ov, (0, 1), (0, 1)) * 0.5 - x9 += einsum(x8, (0, 1), (0, 1)) - x10 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x10 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - x10 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t1new += einsum(x9, (0, 1), x10, (0, 2, 3, 1), (2, 3)) * 2.0 - del x10 - x11 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x11 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x11 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - t1new += einsum(t1, (0, 1), x11, (0, 2, 1, 3), (2, 3)) * 2.0 - del x11 - x12 = np.zeros((nocc, nocc), dtype=types[float]) - x12 += einsum(f.ov, (0, 1), t1, (2, 1), (0, 2)) - x13 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x13 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x13 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 - x14 = np.zeros((nocc, nocc), dtype=types[float]) - x14 += einsum(x13, (0, 1, 2, 3), x3, (0, 4, 3, 2), (4, 1)) * 2.0 - x15 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x15 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x15 += einsum(v.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 - x16 = np.zeros((nocc, nocc), dtype=types[float]) - x16 += einsum(t1, (0, 1), x15, (2, 3, 0, 1), (2, 3)) * 2.0 - x17 = np.zeros((nocc, nocc), dtype=types[float]) - x17 += einsum(f.oo, (0, 1), (0, 1)) - x17 += einsum(x12, (0, 1), (0, 1)) - x17 += einsum(x14, (0, 1), (1, 0)) - x17 += einsum(x16, (0, 1), (1, 0)) - del x16 - t1new += einsum(t1, (0, 1), x17, (0, 2), (2, 1)) * -1.0 - t3new = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - t3new += einsum(x17, (0, 1), t3, (2, 0, 3, 4, 5, 6), (2, 1, 3, 4, 5, 6)) * -1.0 - del x17 - x18 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x18 += einsum(t1, (0, 1), v.ooov, (2, 0, 3, 4), (2, 3, 1, 4)) - t2new += einsum(x18, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - x19 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x19 += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 2, 5, 3), (0, 1, 4, 5)) - t2new += einsum(t2, (0, 1, 2, 3), x19, (4, 5, 0, 1), (5, 4, 3, 2)) - x20 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x20 += einsum(t1, (0, 1), v.vvvv, (2, 3, 4, 1), (0, 2, 3, 4)) - t2new += einsum(t1, (0, 1), x20, (2, 3, 1, 4), (0, 2, 3, 4)) - x21 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x21 += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 5, 1, 2), (0, 4, 3, 5)) - t2new += einsum(x21, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x22 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x22 += einsum(f.vv, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4)) - x23 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x23 += einsum(t1, (0, 1), v.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) - x24 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x24 += einsum(t1, (0, 1), v.ooov, (2, 3, 4, 1), (0, 2, 3, 4)) - x25 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x25 += einsum(t2, (0, 1, 2, 3), x24, (4, 5, 0, 1), (4, 5, 2, 3)) - x26 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x26 += einsum(t2, (0, 1, 2, 3), x23, (4, 1, 2, 5), (4, 0, 3, 5)) - x27 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x27 += einsum(x5, (0, 1, 2, 3), t3, (4, 2, 1, 5, 6, 3), (0, 4, 5, 6)) - x28 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x28 += einsum(v.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x28 += einsum(v.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) - x29 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x29 += einsum(x28, (0, 1, 2, 3), t3, (4, 5, 0, 1, 6, 2), (4, 5, 6, 3)) * 0.5 - del x28 - x30 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x30 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x30 += einsum(v.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) - x31 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x31 += einsum(x30, (0, 1, 2, 3), t3, (0, 4, 2, 5, 6, 3), (4, 1, 5, 6)) * 0.5 - del x30 - x32 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x32 += einsum(t1, (0, 1), x4, (2, 3, 1, 4), (0, 2, 3, 4)) * 2.0 - del x4 - x33 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x33 += einsum(t2, (0, 1, 2, 3), x32, (4, 1, 3, 5), (0, 4, 2, 5)) - del x32 - x34 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x34 += einsum(t1, (0, 1), v.oovv, (2, 3, 4, 1), (0, 2, 3, 4)) - x35 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x35 += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 1, 5, 3), (0, 4, 5, 2)) - x36 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x36 += einsum(v.ovov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 1, 3), (4, 5, 0, 6)) - x37 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x37 += einsum(t2, (0, 1, 2, 3), x5, (4, 5, 1, 2), (4, 0, 5, 3)) - x38 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x38 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) * 0.5 - x38 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x38 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - x39 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x39 += einsum(v.ooov, (0, 1, 2, 3), x38, (2, 4, 5, 3), (0, 1, 4, 5)) * 2.0 - x40 = np.zeros((nocc, nvir), dtype=types[float]) - x40 += einsum(t1, (0, 1), x7, (0, 2, 1, 3), (2, 3)) * 2.0 - x41 = np.zeros((nocc, nvir), dtype=types[float]) - x41 += einsum(f.ov, (0, 1), (0, 1)) - x41 += einsum(x40, (0, 1), (0, 1)) - del x40 - x42 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x42 += einsum(x41, (0, 1), t2, (2, 3, 1, 4), (2, 3, 0, 4)) - x43 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x43 += einsum(x34, (0, 1, 2, 3), (2, 0, 1, 3)) - x43 += einsum(x35, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - del x35 - x43 += einsum(x36, (0, 1, 2, 3), (2, 0, 1, 3)) - x43 += einsum(x37, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - x43 += einsum(x39, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - del x39 - x43 += einsum(x42, (0, 1, 2, 3), (2, 1, 0, 3)) - del x42 - x44 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x44 += einsum(t1, (0, 1), x43, (0, 2, 3, 4), (2, 3, 1, 4)) - del x43 - x45 = np.zeros((nocc, nocc), dtype=types[float]) - x45 += einsum(t1, (0, 1), x41, (2, 1), (0, 2)) * 0.5 - del x41 - x46 = np.zeros((nocc, nocc), dtype=types[float]) - x46 += einsum(f.oo, (0, 1), (0, 1)) * 0.5 - x46 += einsum(x45, (0, 1), (0, 1)) - del x45 - x47 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x47 += einsum(x46, (0, 1), t2, (2, 1, 3, 4), (2, 0, 4, 3)) * 2.0 - del x46 - x48 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x48 += einsum(x22, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x22 - x48 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x48 += einsum(x25, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x25 - x48 += einsum(x26, (0, 1, 2, 3), (0, 1, 2, 3)) - del x26 - x48 += einsum(x27, (0, 1, 2, 3), (0, 1, 2, 3)) - del x27 - x48 += einsum(x29, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x29 - x48 += einsum(x31, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x31 - x48 += einsum(x33, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x33 - x48 += einsum(x44, (0, 1, 2, 3), (0, 1, 2, 3)) - del x44 - x48 += einsum(x47, (0, 1, 2, 3), (1, 0, 3, 2)) - del x47 - t2new += einsum(x48, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new += einsum(x48, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x48 - x49 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x49 += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 1, 2, 5, 6, 3), (4, 0, 5, 6)) - x50 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x50 += einsum(x5, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x50 += einsum(x5, (0, 1, 2, 3), (0, 2, 1, 3)) - x51 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x51 += einsum(x50, (0, 1, 2, 3), t3, (2, 4, 1, 5, 6, 3), (4, 0, 5, 6)) * 0.5 - del x50 - x52 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x52 += einsum(x9, (0, 1), t3, (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) * 2.0 - x53 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x53 += einsum(t1, (0, 1), x5, (2, 3, 0, 4), (2, 3, 1, 4)) - x54 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x54 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x54 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * 2.0 - x55 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x55 += einsum(t2, (0, 1, 2, 3), x54, (1, 4, 3, 5), (0, 4, 2, 5)) * 0.5 - x56 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x56 += einsum(x53, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - x56 += einsum(x55, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x55 - x57 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x57 += einsum(t2, (0, 1, 2, 3), x56, (4, 1, 5, 2), (0, 4, 3, 5)) * 2.0 - del x56 - x58 = np.zeros((nvir, nvir), dtype=types[float]) - x58 += einsum(t2, (0, 1, 2, 3), x7, (0, 1, 2, 4), (3, 4)) * 2.0 - x59 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x59 += einsum(v.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x59 += einsum(v.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x60 = np.zeros((nvir, nvir), dtype=types[float]) - x60 += einsum(t1, (0, 1), x59, (0, 1, 2, 3), (2, 3)) - del x59 - x61 = np.zeros((nvir, nvir), dtype=types[float]) - x61 += einsum(x58, (0, 1), (1, 0)) - del x58 - x61 += einsum(x60, (0, 1), (1, 0)) * -1.0 - x62 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x62 += einsum(x61, (0, 1), t2, (2, 3, 0, 4), (2, 3, 4, 1)) - del x61 - x63 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x63 += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 1, 5, 2), (0, 4, 5, 3)) - x64 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x64 += einsum(x0, (0, 1, 2, 3), t3, (4, 5, 0, 3, 6, 2), (4, 5, 1, 6)) * 0.5 - x65 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x65 += einsum(x5, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x65 += einsum(x5, (0, 1, 2, 3), (0, 2, 1, 3)) - x66 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x66 += einsum(t2, (0, 1, 2, 3), x65, (4, 5, 1, 3), (0, 4, 5, 2)) * 2.0 - del x65 - x67 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x67 += einsum(v.ovvv, (0, 1, 2, 3), x3, (4, 5, 3, 1), (0, 4, 5, 2)) - x68 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x68 += einsum(x5, (0, 1, 2, 3), (0, 1, 2, 3)) - x68 += einsum(x63, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x68 += einsum(x64, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x64 - x68 += einsum(x66, (0, 1, 2, 3), (1, 0, 2, 3)) - x68 += einsum(x67, (0, 1, 2, 3), (2, 1, 0, 3)) - del x67 - x69 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x69 += einsum(t1, (0, 1), x68, (2, 3, 0, 4), (2, 3, 1, 4)) - del x68 - x70 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x70 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - x70 += einsum(t1, (0, 1), t2, (2, 3, 4, 5), (2, 0, 3, 1, 4, 5)) * -1.0 - x71 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x71 += einsum(v.ovvv, (0, 1, 2, 3), x70, (0, 4, 5, 1, 6, 3), (4, 5, 2, 6)) - del x70 - x72 = np.zeros((nocc, nocc), dtype=types[float]) - x72 += einsum(t2, (0, 1, 2, 3), x13, (1, 4, 2, 3), (0, 4)) - x73 = np.zeros((nocc, nocc), dtype=types[float]) - x73 += einsum(t1, (0, 1), x15, (2, 3, 0, 1), (2, 3)) - del x15 - x74 = np.zeros((nocc, nocc), dtype=types[float]) - x74 += einsum(x72, (0, 1), (1, 0)) - del x72 - x74 += einsum(x73, (0, 1), (1, 0)) - x75 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x75 += einsum(x74, (0, 1), t2, (2, 0, 3, 4), (2, 1, 4, 3)) * 2.0 - del x74 - x76 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x76 += einsum(x49, (0, 1, 2, 3), (0, 1, 2, 3)) - del x49 - x76 += einsum(x51, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x51 - x76 += einsum(x52, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x52 - x76 += einsum(x57, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x57 - x76 += einsum(x62, (0, 1, 2, 3), (1, 0, 2, 3)) - del x62 - x76 += einsum(x69, (0, 1, 2, 3), (0, 1, 2, 3)) - del x69 - x76 += einsum(x71, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x71 - x76 += einsum(x75, (0, 1, 2, 3), (0, 1, 3, 2)) - del x75 - t2new += einsum(x76, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new += einsum(x76, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x76 - x77 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x77 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x77 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x77 += einsum(t2, (0, 1, 2, 3), x7, (1, 4, 3, 5), (0, 4, 2, 5)) * 2.0 - t2new += einsum(t2, (0, 1, 2, 3), x77, (4, 1, 5, 3), (0, 4, 2, 5)) * 2.0 - del x77 - x78 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x78 += einsum(t1, (0, 1), x5, (2, 3, 4, 1), (2, 0, 4, 3)) - x79 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x79 += einsum(v.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x79 += einsum(x78, (0, 1, 2, 3), (3, 1, 2, 0)) - t2new += einsum(t2, (0, 1, 2, 3), x79, (1, 4, 0, 5), (4, 5, 3, 2)) - del x79 - x80 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x80 += einsum(v.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x80 += einsum(x19, (0, 1, 2, 3), (3, 1, 0, 2)) - x80 += einsum(x78, (0, 1, 2, 3), (3, 1, 0, 2)) - x81 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x81 += einsum(v.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x81 += einsum(t1, (0, 1), x80, (0, 2, 3, 4), (3, 2, 4, 1)) - del x80 - t2new += einsum(t1, (0, 1), x81, (2, 3, 0, 4), (2, 3, 1, 4)) - del x81 - x82 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x82 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x82 += einsum(x21, (0, 1, 2, 3), (0, 1, 2, 3)) - del x21 - t2new += einsum(t2, (0, 1, 2, 3), x82, (4, 1, 5, 2), (4, 0, 5, 3)) - del x82 - x83 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x83 += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 2, 1, 5), (0, 4, 3, 5)) - x84 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x84 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x84 += einsum(x83, (0, 1, 2, 3), (0, 1, 2, 3)) - del x83 - t2new += einsum(t2, (0, 1, 2, 3), x84, (4, 1, 5, 2), (0, 4, 5, 3)) - x85 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x85 += einsum(v.oooo, (0, 1, 2, 3), t3, (3, 4, 1, 5, 6, 7), (4, 0, 2, 7, 5, 6)) - x86 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x86 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - x86 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) * 0.99999999999999 - x87 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x87 += einsum(v.ovov, (0, 1, 2, 3), x86, (2, 4, 5, 1), (4, 0, 5, 3)) - x88 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x88 += einsum(x87, (0, 1, 2, 3), t3, (4, 1, 5, 6, 7, 3), (4, 5, 0, 6, 7, 2)) * 1.00000000000001 - x89 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x89 += einsum(x85, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -0.5 - del x85 - x89 += einsum(x88, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) - del x88 - t3new += einsum(x89, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * -1.0 - t3new += einsum(x89, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) - del x89 - x90 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x90 += einsum(v.oooo, (0, 1, 2, 3), t3, (4, 3, 1, 5, 6, 7), (4, 0, 2, 5, 7, 6)) - x91 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x91 += einsum(x24, (0, 1, 2, 3), t3, (4, 2, 3, 5, 6, 7), (0, 4, 1, 5, 7, 6)) - x92 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x92 += einsum(t1, (0, 1), v.ovvv, (2, 1, 3, 4), (0, 2, 3, 4)) - x93 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x93 += einsum(x92, (0, 1, 2, 3), t3, (4, 5, 1, 6, 3, 7), (0, 4, 5, 6, 7, 2)) - x94 = np.zeros((nocc, nocc), dtype=types[float]) - x94 += einsum(f.oo, (0, 1), (0, 1)) - x94 += einsum(x12, (0, 1), (0, 1)) - del x12 - x94 += einsum(x14, (0, 1), (1, 0)) - del x14 - x95 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x95 += einsum(x94, (0, 1), t3, (2, 3, 0, 4, 5, 6), (2, 3, 1, 6, 4, 5)) - del x94 - x96 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x96 += einsum(x90, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x90 - x96 += einsum(x91, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - del x91 - x96 += einsum(x93, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x93 - x96 += einsum(x95, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) - del x95 - t3new += einsum(x96, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - t3new += einsum(x96, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -1.0 - del x96 - x97 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x97 += einsum(v.ovov, (0, 1, 2, 3), x86, (2, 4, 5, 1), (4, 0, 5, 3)) * 1.00000000000001 - x98 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x98 += einsum(x97, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (4, 5, 0, 6, 7, 2)) - x99 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x99 += einsum(t2, (0, 1, 2, 3), v.oooo, (4, 5, 6, 1), (0, 4, 5, 6, 2, 3)) - x100 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x100 += einsum(t2, (0, 1, 2, 3), x24, (4, 5, 1, 6), (4, 0, 5, 6, 2, 3)) - x101 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x101 += einsum(x99, (0, 1, 2, 3, 4, 5), (0, 2, 3, 1, 4, 5)) * -1.0 - del x99 - x101 += einsum(x100, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x100 - x102 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x102 += einsum(t1, (0, 1), x101, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) - del x101 - x103 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x103 += einsum(x98, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) - del x98 - x103 += einsum(x102, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x102 - t3new += einsum(x103, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - t3new += einsum(x103, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 - t3new += einsum(x103, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -1.0 - t3new += einsum(x103, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) - del x103 - x104 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x104 += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (4, 5, 0, 6, 7, 2)) - x105 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x105 += einsum(v.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x105 += einsum(x63, (0, 1, 2, 3), (0, 1, 2, 3)) - del x63 - x106 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x106 += einsum(t2, (0, 1, 2, 3), x105, (4, 5, 1, 6), (0, 4, 5, 3, 2, 6)) - del x105 - x107 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x107 += einsum(x104, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x104 - x107 += einsum(x106, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - del x106 - t3new += einsum(x107, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - t3new += einsum(x107, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) - t3new += einsum(x107, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) - t3new += einsum(x107, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -1.0 - del x107 - x108 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x108 += einsum(v.vvvv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 3, 1), (4, 6, 5, 7, 0, 2)) - x109 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x109 += einsum(x19, (0, 1, 2, 3), t3, (3, 4, 2, 5, 6, 7), (1, 0, 4, 5, 7, 6)) - x110 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x110 += einsum(v.ovov, (0, 1, 2, 3), t3, (4, 5, 6, 1, 7, 3), (4, 6, 5, 0, 2, 7)) - x111 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x111 += einsum(t2, (0, 1, 2, 3), x110, (4, 5, 6, 0, 1, 7), (4, 5, 6, 2, 3, 7)) - x112 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x112 += einsum(x78, (0, 1, 2, 3), t3, (2, 4, 3, 5, 6, 7), (1, 0, 4, 7, 5, 6)) - del x78 - x113 = np.zeros((nvir, nvir), dtype=types[float]) - x113 += einsum(f.ov, (0, 1), t1, (0, 2), (1, 2)) - x114 = np.zeros((nvir, nvir), dtype=types[float]) - x114 += einsum(x3, (0, 1, 2, 3), x7, (0, 1, 2, 4), (3, 4)) * 2.0 - del x7 - x115 = np.zeros((nvir, nvir), dtype=types[float]) - x115 += einsum(f.vv, (0, 1), (0, 1)) * -1.0 - x115 += einsum(x113, (0, 1), (0, 1)) - x115 += einsum(x114, (0, 1), (1, 0)) - x116 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x116 += einsum(x115, (0, 1), t3, (2, 3, 4, 0, 5, 6), (2, 4, 3, 6, 5, 1)) - del x115 - x117 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x117 += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 1, 5, 6, 7, 3), (4, 5, 0, 2, 6, 7)) - x118 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x118 += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 3, 1), (4, 6, 5, 0, 7, 2)) - x119 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x119 += einsum(t1, (0, 1), x110, (2, 3, 4, 0, 5, 6), (3, 2, 4, 5, 1, 6)) - del x110 - x120 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x120 += einsum(x117, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - del x117 - x120 += einsum(x118, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x118 - x120 += einsum(x119, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 0.5 - del x119 - x121 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x121 += einsum(t1, (0, 1), x120, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) - del x120 - x122 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x122 += einsum(x108, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x108 - x122 += einsum(x109, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 0.5 - del x109 - x122 += einsum(x111, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 0.5 - del x111 - x122 += einsum(x112, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 0.5 - del x112 - x122 += einsum(x116, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) - del x116 - x122 += einsum(x121, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x121 - t3new += einsum(x122, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - t3new += einsum(x122, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 - del x122 - x123 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x123 += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 3), (0, 2, 4, 5)) - x124 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x124 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x124 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x125 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x125 += einsum(v.ovvv, (0, 1, 2, 3), x124, (0, 4, 1, 5), (4, 2, 3, 5)) - x126 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x126 += einsum(v.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) - x126 += einsum(x123, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x123 - x126 += einsum(x125, (0, 1, 2, 3), (0, 3, 2, 1)) - del x125 - x127 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x127 += einsum(t2, (0, 1, 2, 3), x126, (4, 5, 2, 6), (0, 1, 4, 3, 5, 6)) - del x126 - x128 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x128 += einsum(t2, (0, 1, 2, 3), x5, (4, 0, 1, 5), (4, 2, 3, 5)) - x129 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x129 += einsum(t1, (0, 1), x53, (2, 0, 3, 4), (2, 1, 3, 4)) - del x53 - x130 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x130 += einsum(x128, (0, 1, 2, 3), (0, 1, 2, 3)) - del x128 - x130 += einsum(x129, (0, 1, 2, 3), (0, 1, 2, 3)) - del x129 - x131 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x131 += einsum(t2, (0, 1, 2, 3), x130, (4, 5, 6, 2), (0, 1, 4, 3, 5, 6)) - del x130 - x132 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x132 += einsum(x127, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) - del x127 - x132 += einsum(x131, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) - del x131 - t3new += einsum(x132, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - t3new += einsum(x132, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -1.0 - t3new += einsum(x132, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) - t3new += einsum(x132, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -1.0 - t3new += einsum(x132, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 - t3new += einsum(x132, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) - t3new += einsum(x132, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) - t3new += einsum(x132, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 - t3new += einsum(x132, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) * -1.0 - t3new += einsum(x132, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) - t3new += einsum(x132, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -1.0 - t3new += einsum(x132, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) - del x132 - x133 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x133 += einsum(t2, (0, 1, 2, 3), x54, (1, 4, 3, 5), (0, 4, 2, 5)) - del x54 - x134 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x134 += einsum(v.ovov, (0, 1, 2, 3), x86, (2, 4, 5, 3), (4, 0, 5, 1)) - del x86 - x135 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x135 += einsum(x133, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x133 - x135 += einsum(x134, (0, 1, 2, 3), (0, 1, 2, 3)) - del x134 - x136 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x136 += einsum(x135, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (4, 5, 0, 6, 7, 2)) * 1.00000000000001 - del x135 - x137 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x137 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x137 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x138 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x138 += einsum(x137, (0, 1, 2, 3), t3, (0, 4, 1, 5, 6, 2), (4, 5, 6, 3)) - del x137 - x139 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x139 += einsum(t2, (0, 1, 2, 3), x138, (4, 5, 6, 2), (0, 1, 4, 3, 5, 6)) * -0.5 - del x138 - x140 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x140 += einsum(x0, (0, 1, 2, 3), t3, (4, 5, 0, 3, 6, 2), (4, 5, 1, 6)) - del x0 - x141 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x141 += einsum(t2, (0, 1, 2, 3), x140, (4, 5, 1, 6), (0, 4, 5, 3, 2, 6)) * -0.5 - del x140 - x142 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x142 += einsum(x136, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) - del x136 - x142 += einsum(x139, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) - del x139 - x142 += einsum(x141, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) - del x141 - t3new += einsum(x142, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - t3new += einsum(x142, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) - t3new += einsum(x142, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - t3new += einsum(x142, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - t3new += einsum(x142, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) - t3new += einsum(x142, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 - t3new += einsum(x142, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) - t3new += einsum(x142, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -1.0 - del x142 - x143 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x143 += einsum(v.ovov, (0, 1, 2, 3), t3, (4, 0, 2, 5, 6, 1), (4, 5, 6, 3)) - x144 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x144 += einsum(t2, (0, 1, 2, 3), x143, (4, 5, 6, 3), (0, 1, 4, 2, 5, 6)) - del x143 - x145 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x145 += einsum(v.ovov, (0, 1, 2, 3), t3, (4, 2, 5, 1, 6, 3), (4, 5, 0, 6)) - x146 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x146 += einsum(t2, (0, 1, 2, 3), x145, (4, 5, 1, 6), (0, 4, 5, 2, 3, 6)) - del x145 - x147 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x147 += einsum(x144, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 0.5 - del x144 - x147 += einsum(x146, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -0.5 - del x146 - t3new += einsum(x147, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 - t3new += einsum(x147, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) - t3new += einsum(x147, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) - t3new += einsum(x147, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 - del x147 - x148 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x148 += einsum(v.ovov, (0, 1, 2, 3), t3, (4, 0, 2, 5, 6, 3), (4, 5, 6, 1)) - x149 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x149 += einsum(t2, (0, 1, 2, 3), x148, (4, 5, 6, 3), (0, 1, 4, 2, 5, 6)) - del x148 - t3new += einsum(x149, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 - t3new += einsum(x149, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) - t3new += einsum(x149, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 - t3new += einsum(x149, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) - t3new += einsum(x149, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 0.5 - t3new += einsum(x149, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -0.5 - t3new += einsum(x149, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -0.5 - t3new += einsum(x149, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * 0.5 - t3new += einsum(x149, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) - t3new += einsum(x149, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -1.0 - t3new += einsum(x149, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) - t3new += einsum(x149, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -1.0 - del x149 - x150 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x150 += einsum(x2, (0, 1, 2, 3), t3, (4, 0, 1, 5, 2, 6), (4, 6, 5, 3)) - del x2 - x151 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x151 += einsum(t2, (0, 1, 2, 3), x150, (4, 5, 6, 2), (0, 1, 4, 3, 6, 5)) * 1.5 - del x150 - t3new += einsum(x151, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) - t3new += einsum(x151, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -1.0 - del x151 - x152 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x152 += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 1, 6, 3, 7), (4, 5, 0, 6, 7, 2)) - x153 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x153 += einsum(v.ovov, (0, 1, 2, 3), x3, (4, 5, 1, 3), (4, 5, 0, 2)) - x154 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x154 += einsum(x153, (0, 1, 2, 3), t3, (4, 3, 2, 5, 6, 7), (4, 1, 0, 7, 5, 6)) - x155 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x155 += einsum(x73, (0, 1), t3, (2, 3, 1, 4, 5, 6), (2, 3, 0, 6, 4, 5)) * 2.0 - del x73 - x156 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x156 += einsum(x152, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x152 - x156 += einsum(x154, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) - del x154 - x156 += einsum(x155, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) - del x155 - t3new += einsum(x156, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 - t3new += einsum(x156, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) - del x156 - x157 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x157 += einsum(t2, (0, 1, 2, 3), x36, (4, 5, 1, 6), (0, 4, 5, 2, 3, 6)) - del x36 - t3new += einsum(x157, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 - t3new += einsum(x157, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) - t3new += einsum(x157, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 - t3new += einsum(x157, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) - t3new += einsum(x157, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) - t3new += einsum(x157, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -1.0 - t3new += einsum(x157, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) - t3new += einsum(x157, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -1.0 - del x157 - x158 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x158 += einsum(x13, (0, 1, 2, 3), t3, (4, 0, 5, 2, 3, 6), (4, 5, 1, 6)) - del x13 - x159 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x159 += einsum(t2, (0, 1, 2, 3), x158, (4, 5, 1, 6), (0, 5, 4, 3, 2, 6)) * 2.0 - del x158 - t3new += einsum(x159, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) - t3new += einsum(x159, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -1.0 - del x159 - x160 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x160 += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 1, 5, 6, 7, 3), (4, 5, 0, 6, 7, 2)) - x161 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x161 += einsum(v.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) - x161 += einsum(v.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) * -0.5 - x162 = np.zeros((nvir, nvir), dtype=types[float]) - x162 += einsum(t1, (0, 1), x161, (0, 1, 2, 3), (2, 3)) * 2.0 - del x161 - x163 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x163 += einsum(x162, (0, 1), t3, (2, 3, 4, 1, 5, 6), (2, 4, 3, 6, 5, 0)) - del x162 - x164 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x164 += einsum(v.ovov, (0, 1, 2, 3), t3, (4, 5, 6, 7, 3, 1), (4, 6, 5, 0, 2, 7)) - x165 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x165 += einsum(x3, (0, 1, 2, 3), x164, (4, 5, 6, 1, 0, 7), (4, 5, 6, 2, 3, 7)) - del x3, x164 - x166 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x166 += einsum(x160, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x160 - x166 += einsum(x163, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * -1.0 - del x163 - x166 += einsum(x165, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) - del x165 - t3new += einsum(x166, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 - t3new += einsum(x166, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) - del x166 - x167 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x167 += einsum(x87, (0, 1, 2, 3), t3, (4, 5, 1, 6, 3, 7), (4, 5, 0, 7, 6, 2)) * 1.00000000000001 - del x87 - t3new += einsum(x167, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -1.0 - t3new += einsum(x167, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) - del x167 - x168 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x168 += einsum(x92, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (0, 4, 5, 6, 7, 2)) - x169 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x169 += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 6, 1, 7, 3), (4, 6, 5, 0, 7, 2)) - x170 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x170 += einsum(t1, (0, 1), x169, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) - del x169 - x171 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x171 += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 1, 2), (0, 4, 5, 3)) - x172 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x172 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x172 += einsum(v.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x173 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x173 += einsum(t2, (0, 1, 2, 3), x172, (4, 5, 1, 3), (0, 4, 5, 2)) - del x172 - x174 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x174 += einsum(x171, (0, 1, 2, 3), (0, 2, 1, 3)) - del x171 - x174 += einsum(x173, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x173 - x175 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x175 += einsum(t2, (0, 1, 2, 3), x174, (4, 1, 5, 6), (0, 4, 5, 3, 2, 6)) - del x174 - x176 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x176 += einsum(x34, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x176 += einsum(x37, (0, 1, 2, 3), (0, 1, 2, 3)) - del x37 - x177 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x177 += einsum(t2, (0, 1, 2, 3), x176, (4, 5, 1, 6), (0, 4, 5, 3, 2, 6)) - del x176 - x178 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x178 += einsum(x168, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x168 - x178 += einsum(x170, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -0.5 - del x170 - x178 += einsum(x175, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) - del x175 - x178 += einsum(x177, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 - del x177 - t3new += einsum(x178, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) - t3new += einsum(x178, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -1.0 - t3new += einsum(x178, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) * -1.0 - t3new += einsum(x178, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) - del x178 - x179 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x179 += einsum(t1, (0, 1), x23, (2, 3, 1, 4), (0, 2, 3, 4)) - x180 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x180 += einsum(t2, (0, 1, 2, 3), x179, (4, 5, 1, 6), (4, 5, 0, 2, 3, 6)) - del x179 - x181 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x181 += einsum(t2, (0, 1, 2, 3), x5, (4, 1, 5, 2), (4, 0, 5, 3)) - x182 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x182 += einsum(x5, (0, 1, 2, 3), (0, 1, 2, 3)) - x182 += einsum(x181, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x181 - x182 += einsum(x66, (0, 1, 2, 3), (1, 0, 2, 3)) - del x66 - x183 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x183 += einsum(t2, (0, 1, 2, 3), x182, (4, 5, 1, 6), (0, 4, 5, 3, 2, 6)) - del x182 - x184 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x184 += einsum(x180, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x180 - x184 += einsum(x183, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 - del x183 - t3new += einsum(x184, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) - t3new += einsum(x184, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -1.0 - t3new += einsum(x184, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) * -1.0 - t3new += einsum(x184, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) - del x184 - x185 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x185 += einsum(x24, (0, 1, 2, 3), t3, (3, 4, 2, 5, 6, 7), (0, 4, 1, 7, 5, 6)) - x186 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x186 += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (4, 5, 0, 2, 6, 7)) - x187 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x187 += einsum(t1, (0, 1), x186, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) - del x186 - x188 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x188 += einsum(x9, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4)) * 2.0 - x189 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x189 += einsum(t1, (0, 1), x153, (2, 3, 4, 0), (3, 2, 4, 1)) - del x153 - x190 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x190 += einsum(x188, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x188 - x190 += einsum(x189, (0, 1, 2, 3), (1, 0, 2, 3)) - del x189 - x191 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x191 += einsum(t2, (0, 1, 2, 3), x190, (4, 5, 1, 6), (0, 4, 5, 3, 2, 6)) - del x190 - x192 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x192 += einsum(x185, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 0.5 - del x185 - x192 += einsum(x187, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x187 - x192 += einsum(x191, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -1.0 - del x191 - t3new += einsum(x192, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 - t3new += einsum(x192, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) - t3new += einsum(x192, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) - t3new += einsum(x192, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -1.0 - del x192 - x193 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x193 += einsum(t2, (0, 1, 2, 3), x20, (4, 5, 3, 6), (4, 0, 1, 2, 6, 5)) - del x20 - x194 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x194 += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 3, 1, 5), (0, 4, 2, 5)) - x195 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x195 += einsum(v.ovov, (0, 1, 2, 3), x124, (2, 4, 3, 5), (4, 0, 5, 1)) - del x124 - x196 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x196 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x196 += einsum(x194, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x196 += einsum(x195, (0, 1, 2, 3), (0, 1, 2, 3)) - del x195 - x197 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x197 += einsum(t2, (0, 1, 2, 3), x196, (4, 5, 6, 2), (0, 1, 4, 5, 3, 6)) - del x196 - x198 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x198 += einsum(t1, (0, 1), x197, (2, 3, 4, 0, 5, 6), (3, 2, 4, 1, 5, 6)) - del x197 - x199 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x199 += einsum(x193, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x193 - x199 += einsum(x198, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - del x198 - t3new += einsum(x199, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) - t3new += einsum(x199, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -1.0 - t3new += einsum(x199, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - t3new += einsum(x199, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - t3new += einsum(x199, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) - t3new += einsum(x199, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -1.0 - t3new += einsum(x199, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) * -1.0 - t3new += einsum(x199, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) - t3new += einsum(x199, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) - t3new += einsum(x199, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 - t3new += einsum(x199, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -1.0 - t3new += einsum(x199, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) - del x199 - x200 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x200 += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 2, 5, 3), (0, 1, 4, 5)) - x201 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x201 += einsum(t2, (0, 1, 2, 3), x200, (4, 5, 1, 6), (4, 5, 0, 2, 3, 6)) - del x200 - x202 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x202 += einsum(t2, (0, 1, 2, 3), x84, (4, 5, 6, 2), (0, 1, 4, 5, 3, 6)) - del x84 - x203 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x203 += einsum(t1, (0, 1), x202, (2, 3, 4, 0, 5, 6), (3, 2, 4, 1, 5, 6)) * -1.0 - del x202 - x204 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x204 += einsum(x201, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x201 - x204 += einsum(x203, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x203 - t3new += einsum(x204, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - t3new += einsum(x204, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -1.0 - t3new += einsum(x204, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -1.0 - t3new += einsum(x204, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) - t3new += einsum(x204, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) - t3new += einsum(x204, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -1.0 - t3new += einsum(x204, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) * -1.0 - t3new += einsum(x204, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) - t3new += einsum(x204, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) - t3new += einsum(x204, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -1.0 - t3new += einsum(x204, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -1.0 - t3new += einsum(x204, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) - del x204 - x205 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x205 += einsum(x23, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 2), (0, 4, 5, 6, 7, 3)) - t3new += einsum(x205, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - t3new += einsum(x205, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) - t3new += einsum(x205, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 - t3new += einsum(x205, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) - t3new += einsum(x205, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) - t3new += einsum(x205, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -1.0 - t3new += einsum(x205, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) - t3new += einsum(x205, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * -1.0 - del x205 - x206 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x206 += einsum(x92, (0, 1, 2, 3), t3, (4, 1, 5, 6, 7, 3), (0, 4, 5, 6, 7, 2)) - t3new += einsum(x206, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * -1.0 - t3new += einsum(x206, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) - del x206 - x207 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x207 += einsum(v.vvvv, (0, 1, 2, 3), t3, (4, 5, 6, 1, 7, 3), (4, 6, 5, 7, 0, 2)) - x208 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x208 += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 1, 3), (4, 6, 5, 0, 7, 2)) - x209 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x209 += einsum(t1, (0, 1), x208, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) - del x208 - x210 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x210 += einsum(x207, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -0.5 - del x207 - x210 += einsum(x209, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x209 - t3new += einsum(x210, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -1.0 - t3new += einsum(x210, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) - del x210 - x211 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x211 += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 2), (0, 3, 4, 5)) - x212 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x212 += einsum(t2, (0, 1, 2, 3), x211, (4, 5, 3, 6), (0, 1, 4, 2, 5, 6)) - del x211 - x213 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x213 += einsum(t2, (0, 1, 2, 3), x92, (4, 5, 6, 3), (4, 0, 1, 5, 2, 6)) - x214 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x214 += einsum(t1, (0, 1), x213, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) - del x213 - x215 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x215 += einsum(x212, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x212 - x215 += einsum(x214, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x214 - t3new += einsum(x215, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - t3new += einsum(x215, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) - t3new += einsum(x215, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - t3new += einsum(x215, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - t3new += einsum(x215, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 - t3new += einsum(x215, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) - t3new += einsum(x215, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) - t3new += einsum(x215, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 - t3new += einsum(x215, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) - t3new += einsum(x215, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 - t3new += einsum(x215, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) - t3new += einsum(x215, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -1.0 - del x215 - x216 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x216 += einsum(t2, (0, 1, 2, 3), x23, (4, 5, 3, 6), (4, 0, 1, 5, 2, 6)) - x217 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x217 += einsum(t1, (0, 1), x216, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) - del x216 - x218 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x218 += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 0, 1, 5), (4, 2, 3, 5)) - x219 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x219 += einsum(t1, (0, 1), v.ooov, (2, 3, 0, 4), (2, 3, 1, 4)) - x220 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x220 += einsum(t1, (0, 1), x219, (2, 0, 3, 4), (2, 1, 3, 4)) - x221 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x221 += einsum(x218, (0, 1, 2, 3), (0, 1, 2, 3)) - del x218 - x221 += einsum(x220, (0, 1, 2, 3), (0, 1, 2, 3)) - del x220 - x222 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x222 += einsum(t2, (0, 1, 2, 3), x221, (4, 5, 6, 2), (0, 1, 4, 3, 5, 6)) - del x221 - x223 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x223 += einsum(x217, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - del x217 - x223 += einsum(x222, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) - del x222 - t3new += einsum(x223, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - t3new += einsum(x223, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) - t3new += einsum(x223, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -1.0 - t3new += einsum(x223, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) - t3new += einsum(x223, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * -1.0 - t3new += einsum(x223, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) - t3new += einsum(x223, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) - t3new += einsum(x223, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * -1.0 - t3new += einsum(x223, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) - t3new += einsum(x223, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -1.0 - t3new += einsum(x223, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) - t3new += einsum(x223, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -1.0 - del x223 - x224 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x224 += einsum(x24, (0, 1, 2, 3), t3, (4, 3, 2, 5, 6, 7), (0, 4, 1, 5, 7, 6)) - t3new += einsum(x224, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) - t3new += einsum(x224, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) * -1.0 - del x224 - x225 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x225 += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 3), (4, 5, 0, 1, 6, 7)) - x226 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x226 += einsum(t1, (0, 1), x225, (2, 3, 0, 4, 5, 6), (2, 3, 4, 1, 5, 6)) - del x225 - t3new += einsum(x226, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - t3new += einsum(x226, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -1.0 - t3new += einsum(x226, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) - t3new += einsum(x226, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -1.0 - t3new += einsum(x226, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) * -1.0 - t3new += einsum(x226, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) - t3new += einsum(x226, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -1.0 - t3new += einsum(x226, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) - del x226 - x227 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x227 += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 5, 1, 6, 3, 7), (4, 5, 0, 2, 6, 7)) - x228 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x228 += einsum(t1, (0, 1), x227, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) - del x227 - t3new += einsum(x228, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) - t3new += einsum(x228, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -1.0 - del x228 - x229 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x229 += einsum(t1, (0, 1), x24, (2, 3, 0, 4), (2, 3, 4, 1)) - x230 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x230 += einsum(t2, (0, 1, 2, 3), x229, (4, 5, 1, 6), (4, 0, 5, 6, 2, 3)) - del x229 - t3new += einsum(x230, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * -1.0 - t3new += einsum(x230, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) - t3new += einsum(x230, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) - t3new += einsum(x230, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * -1.0 - del x230 - x231 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x231 += einsum(v.ovov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 3), (4, 5, 0, 6, 7, 1)) - t3new += einsum(x231, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - t3new += einsum(x231, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -1.0 - t3new += einsum(x231, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) - t3new += einsum(x231, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 - t3new += einsum(x231, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -1.0 - t3new += einsum(x231, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) - t3new += einsum(x231, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -1.0 - t3new += einsum(x231, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) - del x231 - x232 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x232 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) * 0.499999999999995 - x232 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x232 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - x233 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x233 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x233 += einsum(x18, (0, 1, 2, 3), (1, 0, 3, 2)) - del x18 - x233 += einsum(x23, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x233 += einsum(x194, (0, 1, 2, 3), (1, 0, 3, 2)) * 1.00000000000001 - del x194 - x233 += einsum(v.ovov, (0, 1, 2, 3), x232, (2, 4, 5, 3), (0, 4, 1, 5)) * 2.00000000000002 - del x232 - x234 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x234 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - x234 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 - x234 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) - x234 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -1.0 - t3new += einsum(x233, (0, 1, 2, 3), x234, (0, 4, 5, 2, 6, 7), (4, 1, 5, 7, 3, 6)) - del x233, x234 - x235 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x235 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x235 += einsum(x219, (0, 1, 2, 3), (1, 0, 3, 2)) - del x219 - x235 += einsum(x92, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - x235 += einsum(x97, (0, 1, 2, 3), (1, 0, 3, 2)) - del x97 - t3new += einsum(x235, (0, 1, 2, 3), t3, (4, 0, 5, 6, 2, 7), (4, 1, 5, 6, 3, 7)) - del x235 - x236 = np.zeros((nvir, nvir), dtype=types[float]) - x236 += einsum(f.vv, (0, 1), (0, 1)) * -1.0 - x236 += einsum(x113, (0, 1), (0, 1)) - del x113 - x236 += einsum(x114, (0, 1), (1, 0)) - del x114 - x236 += einsum(x60, (0, 1), (1, 0)) * -1.0 - del x60 - t3new += einsum(x236, (0, 1), t3, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) * -1.0 - del x236 - x237 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x237 += einsum(v.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) - x237 += einsum(x5, (0, 1, 2, 3), (0, 1, 2, 3)) - x238 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x238 += einsum(x237, (0, 1, 2, 3), x38, (1, 4, 5, 3), (4, 0, 2, 5)) - x239 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x239 += einsum(t2, (0, 1, 2, 3), x237, (4, 5, 1, 3), (0, 4, 5, 2)) * 0.5 - x240 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x240 += einsum(t2, (0, 1, 2, 3), x237, (4, 5, 1, 2), (0, 4, 5, 3)) * 0.5 - del x237 - x241 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x241 += einsum(x9, (0, 1), t2, (2, 3, 1, 4), (2, 3, 0, 4)) - del x9 - x242 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x242 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) - x242 += einsum(x92, (0, 1, 2, 3), (0, 1, 3, 2)) - del x92 - x243 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x243 += einsum(t1, (0, 1), x242, (2, 3, 1, 4), (0, 2, 3, 4)) * 0.5 - del x242 - x244 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x244 += einsum(v.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x244 += einsum(x24, (0, 1, 2, 3), (2, 1, 0, 3)) - x244 += einsum(x19, (0, 1, 2, 3), (3, 1, 0, 2)) - x245 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x245 += einsum(t1, (0, 1), x244, (0, 2, 3, 4), (2, 3, 4, 1)) * 0.5 - del x244 - x246 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x246 += einsum(v.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) * -0.5 - x246 += einsum(x5, (0, 1, 2, 3), (1, 2, 0, 3)) * -0.5 - x246 += einsum(x238, (0, 1, 2, 3), (0, 2, 1, 3)) - del x238 - x246 += einsum(x239, (0, 1, 2, 3), (0, 2, 1, 3)) - del x239 - x246 += einsum(x240, (0, 1, 2, 3), (1, 2, 0, 3)) - del x240 - x246 += einsum(x241, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - del x241 - x246 += einsum(x243, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x243 - x246 += einsum(x245, (0, 1, 2, 3), (0, 2, 1, 3)) - del x245 - x247 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x247 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x247 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - t3new += einsum(x246, (0, 1, 2, 3), x247, (1, 4, 5, 6), (4, 0, 2, 5, 3, 6)) * -2.0 - x248 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x248 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) - x248 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t3new += einsum(x246, (0, 1, 2, 3), x248, (1, 4, 5, 6), (2, 0, 4, 5, 3, 6)) * -2.0 - del x246 - x249 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x249 += einsum(v.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x249 += einsum(x24, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 - x250 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x250 += einsum(t1, (0, 1), x249, (0, 2, 3, 4), (2, 3, 4, 1)) - del x249 - x251 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x251 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x251 += einsum(x250, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - del x250 - x252 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x252 += einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), (0, 2, 3, 4)) - x253 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x253 += einsum(t1, (0, 1), x19, (2, 3, 4, 0), (2, 3, 4, 1)) - del x19 - x254 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x254 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) - x254 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x254 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - x255 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x255 += einsum(v.ooov, (0, 1, 2, 3), x254, (1, 4, 5, 3), (0, 2, 4, 5)) - del x254 - x256 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x256 += einsum(x38, (0, 1, 2, 3), x5, (4, 0, 5, 3), (4, 5, 1, 2)) * 2.0 - del x38 - x257 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x257 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) - x257 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x258 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x258 += einsum(v.ooov, (0, 1, 2, 3), x257, (2, 4, 5, 3), (0, 1, 4, 5)) * 2.0 - del x257 - x259 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x259 += einsum(x247, (0, 1, 2, 3), x5, (4, 5, 0, 3), (4, 5, 1, 2)) - del x247 - x260 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x260 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x260 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x260 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) - x261 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x261 += einsum(t1, (0, 1), x260, (2, 3, 1, 4), (0, 2, 3, 4)) - del x260 - x262 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x262 += einsum(x8, (0, 1), t2, (2, 3, 1, 4), (2, 3, 0, 4)) * 2.0 - del x8 - x263 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x263 += einsum(x253, (0, 1, 2, 3), (0, 2, 1, 3)) - x263 += einsum(x255, (0, 1, 2, 3), (2, 1, 0, 3)) - x263 += einsum(x256, (0, 1, 2, 3), (0, 1, 2, 3)) - x263 += einsum(x258, (0, 1, 2, 3), (2, 1, 0, 3)) - x263 += einsum(x259, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x259 - x263 += einsum(x261, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x261 - x263 += einsum(x262, (0, 1, 2, 3), (1, 2, 0, 3)) - x264 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x264 += einsum(x251, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x264 += einsum(x251, (0, 1, 2, 3), (0, 2, 1, 3)) - del x251 - x264 += einsum(x252, (0, 1, 2, 3), (0, 1, 2, 3)) - x264 += einsum(x252, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x264 += einsum(x263, (0, 1, 2, 3), (1, 0, 2, 3)) - x264 += einsum(x263, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - del x263 - t3new += einsum(t2, (0, 1, 2, 3), x264, (1, 4, 5, 6), (4, 0, 5, 6, 2, 3)) * -1.0 - del x264 - x265 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x265 += einsum(t1, (0, 1), v.oooo, (2, 3, 4, 0), (2, 3, 4, 1)) - x266 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x266 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x266 += einsum(x265, (0, 1, 2, 3), (1, 0, 2, 3)) - del x265 - x266 += einsum(x252, (0, 1, 2, 3), (1, 0, 2, 3)) - del x252 - x267 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x267 += einsum(x34, (0, 1, 2, 3), (0, 2, 1, 3)) - del x34 - x267 += einsum(x258, (0, 1, 2, 3), (2, 1, 0, 3)) - del x258 - x268 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x268 += einsum(x248, (0, 1, 2, 3), x5, (4, 5, 0, 2), (4, 5, 1, 3)) - del x5, x248 - x269 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x269 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x269 += einsum(x23, (0, 1, 2, 3), (1, 0, 2, 3)) - del x23 - x270 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x270 += einsum(t1, (0, 1), x269, (2, 3, 1, 4), (0, 2, 3, 4)) - del x269 - x271 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x271 += einsum(x253, (0, 1, 2, 3), (0, 1, 2, 3)) - del x253 - x271 += einsum(x255, (0, 1, 2, 3), (2, 0, 1, 3)) - del x255 - x271 += einsum(x256, (0, 1, 2, 3), (0, 2, 1, 3)) - del x256 - x271 += einsum(x268, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x268 - x271 += einsum(x262, (0, 1, 2, 3), (1, 0, 2, 3)) - del x262 - x271 += einsum(x270, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x270 - x272 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x272 += einsum(t1, (0, 1), x24, (2, 3, 4, 0), (2, 4, 3, 1)) - del x24 - x273 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x273 += einsum(x266, (0, 1, 2, 3), (0, 2, 1, 3)) - x273 += einsum(x266, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - del x266 - x273 += einsum(x267, (0, 1, 2, 3), (0, 1, 2, 3)) - x273 += einsum(x267, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x267 - x273 += einsum(x271, (0, 1, 2, 3), (0, 1, 2, 3)) - x273 += einsum(x271, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x271 - x273 += einsum(x272, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x273 += einsum(x272, (0, 1, 2, 3), (1, 0, 2, 3)) - del x272 - t3new += einsum(t2, (0, 1, 2, 3), x273, (4, 5, 1, 6), (5, 0, 4, 3, 2, 6)) * -1.0 - del x273 +def update_amps(f=None, t1=None, t2=None, t3=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-10-22T08:39:30.752017. + + Parameters + ---------- + f : array + Fock matrix. + t1 : array + T1 amplitudes. + t2 : array + T2 amplitudes. + t3 : array + T3 amplitudes. + v : array + Electron repulsion integrals. + + Returns + ------- + t1new : array + Updated T1 residuals. + t2new : array + Updated T2 residuals. + t3new : array + Updated T3 residuals. + """ - return {"t1new": t1new, "t2new": t2new, "t3new": t3new} + t1new = einsum(v.ovov, (0, 1, 2, 3), t3, (4, 2, 0, 5, 1, 3), (4, 5)) * -0.5 + t1new += einsum(t1, (0, 1), f.vv, (2, 1), (0, 2)) + t1new += f.ov + tmp0 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) + tmp0 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) * 3 + tmp0 += np.transpose(t3, (0, 1, 2, 3, 5, 4)) * -1 + t1new += einsum(v.ovov, (0, 1, 2, 3), tmp0, (0, 4, 2, 3, 1, 5), (4, 5)) * 0.5 + del tmp0 + tmp2 = np.copy(v.ovvv) + tmp2 += np.transpose(v.ovvv, (0, 2, 1, 3)) * -0.5 + tmp1 = np.copy(t2) + tmp1 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) + t1new += einsum(tmp2, (0, 1, 2, 3), tmp1, (0, 4, 1, 2), (4, 3)) * 2 + del tmp2 + tmp4 = np.copy(v.ooov) + tmp4 += np.transpose(v.ooov, (0, 2, 1, 3)) * -0.5 + tmp3 = einsum(t1, (0, 1), v.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) + tmp4 += tmp3 * -0.5 + tmp4 += np.transpose(tmp3, (0, 2, 1, 3)) + t1new += einsum(t2, (0, 1, 2, 3), tmp4, (4, 1, 0, 2), (4, 3)) * -2 + del tmp4 + tmp7 = np.copy(f.ov) + tmp5 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1))) * -1 + tmp5 += np.transpose(v.ovov, (0, 2, 1, 3)) * 2 + tmp6 = einsum(t1, (0, 1), tmp5, (0, 2, 1, 3), (2, 3)) + tmp7 += tmp6 + tmp8 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * -1 + tmp8 += t2 * 2 + t1new += einsum(tmp8, (0, 1, 2, 3), tmp7, (0, 2), (1, 3)) + del tmp7 + tmp9 = np.copy(np.transpose(v.ovov, (0, 2, 1, 3))) * 2 + tmp9 += v.oovv * -1 + t1new += einsum(t1, (0, 1), tmp9, (0, 2, 1, 3), (2, 3)) + del tmp9 + tmp13 = np.copy(f.oo) * 0.5 + tmp10 = einsum(f.ov, (0, 1), t1, (2, 1), (0, 2)) + tmp13 += tmp10 * 0.5 + tmp11 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1))) * -1 + tmp11 += np.transpose(v.ovov, (0, 2, 1, 3)) * 2 + tmp13 += einsum(tmp11, (0, 1, 2, 3), tmp1, (0, 4, 2, 3), (1, 4)) * 0.5 + tmp12 = np.copy(v.ooov) + tmp12 += np.transpose(v.ooov, (0, 2, 1, 3)) * -0.5 + tmp13 += einsum(t1, (0, 1), tmp12, (2, 3, 0, 1), (3, 2)) + t1new += einsum(tmp13, (0, 1), t1, (0, 2), (1, 2)) * -2 + del tmp13 + t2new = einsum(t2, (0, 1, 2, 3), v.vvvv, (4, 2, 5, 3), (0, 1, 4, 5)) + tmp14 = einsum(v.vvvv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) + t2new += einsum(tmp14, (0, 1, 2, 3), t1, (4, 2), (4, 0, 1, 3)) + t2new += np.transpose(v.ovov, (0, 2, 1, 3)) + t2new += einsum(v.oovv, (0, 1, 2, 3), t2, (4, 1, 5, 3), (4, 0, 5, 2)) * -1 + tmp15 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 5, 1, 2), (0, 4, 3, 5)) + t2new += tmp15 * -1 + t2new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 2), (0, 4, 5, 3)) * -1 + t2new += einsum(v.ovov, (0, 1, 2, 3), t2, (4, 2, 5, 3), (4, 0, 5, 1)) * 2 + tmp16 = einsum(v.ooov, (0, 1, 2, 3), t3, (1, 4, 2, 5, 6, 3), (4, 0, 5, 6)) + tmp23 = np.copy(tmp16) + del tmp16 + tmp17 = einsum(t1, (0, 1), v.ooov, (2, 3, 4, 1), (0, 2, 3, 4)) + tmp18 = einsum(tmp17, (0, 1, 2, 3), t2, (2, 3, 4, 5), (0, 1, 4, 5)) + tmp23 += tmp18 * -1 + del tmp18 + tmp19 = einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 0, 1, 6, 3), (4, 5, 6, 2)) + tmp23 += tmp19 + del tmp19 + tmp20 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp3, (6, 2, 1, 5), (6, 0, 3, 4)) + tmp23 += tmp20 + del tmp20 + tmp21 = einsum(v.ovov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 1, 3), (4, 5, 0, 6)) + tmp22 = einsum(t1, (0, 1), tmp21, (2, 3, 0, 4), (2, 3, 1, 4)) + tmp23 += tmp22 + del tmp22 + t2new += np.transpose(tmp23, (0, 1, 3, 2)) * -1 + t2new += np.transpose(tmp23, (1, 0, 2, 3)) * -1 + del tmp23 + tmp24 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ooov, (6, 1, 2, 5), (0, 6, 3, 4)) + tmp38 = np.copy(tmp24) + del tmp24 + tmp25 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp3, (6, 2, 0, 5), (6, 1, 3, 4)) + tmp38 += tmp25 + del tmp25 + tmp26 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovov, (6, 3, 2, 5), (0, 1, 6, 4)) + tmp27 = einsum(t1, (0, 1), tmp26, (2, 3, 0, 4), (2, 3, 1, 4)) + tmp38 += tmp27 + del tmp27 + tmp28 = einsum(t1, (0, 1), v.ovov, (2, 1, 0, 3), (2, 3)) + tmp29 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp28, (2, 5), (0, 1, 3, 4)) + del tmp28 + tmp38 += tmp29 + del tmp29 + tmp30 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1))) + tmp30 += np.transpose(v.ovov, (0, 2, 1, 3)) * -0.5 + tmp31 = einsum(tmp30, (0, 1, 2, 3), t2, (0, 1, 3, 4), (4, 2)) + del tmp30 + tmp32 = einsum(t2, (0, 1, 2, 3), tmp31, (4, 2), (0, 1, 3, 4)) * 2 + del tmp31 + tmp38 += np.transpose(tmp32, (1, 0, 2, 3)) + del tmp32 + tmp33 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) + tmp33 += einsum(t2, (0, 1, 2, 3), t1, (4, 5), (4, 0, 1, 2, 5, 3)) * -1 + tmp34 = einsum(v.ovvv, (0, 1, 2, 3), tmp33, (0, 4, 5, 1, 6, 3), (4, 5, 2, 6)) + del tmp33 + tmp38 += np.transpose(tmp34, (0, 1, 3, 2)) * -1 + del tmp34 + tmp35 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1))) * -0.5 + tmp35 += np.transpose(v.ovov, (0, 2, 1, 3)) + tmp36 = einsum(tmp35, (0, 1, 2, 3), t2, (4, 0, 3, 2), (4, 1)) * 2 + del tmp35 + tmp37 = einsum(t2, (0, 1, 2, 3), tmp36, (4, 1), (0, 4, 3, 2)) + del tmp36 + tmp38 += np.transpose(tmp37, (0, 1, 3, 2)) + del tmp37 + t2new += tmp38 * -1 + t2new += np.transpose(tmp38, (1, 0, 3, 2)) * -1 + del tmp38 + tmp40 = np.copy(t2) + tmp40 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) + tmp39 = einsum(v.ovvv, (0, 1, 2, 3), t1, (4, 1), (4, 0, 2, 3)) + tmp41 = einsum(tmp40, (0, 1, 2, 3), tmp39, (4, 0, 3, 5), (4, 1, 5, 2)) + del tmp40 + t2new += np.transpose(tmp41, (0, 1, 3, 2)) * -1 + t2new += np.transpose(tmp41, (1, 0, 2, 3)) * -1 + del tmp41 + tmp42 = einsum(t2, (0, 1, 2, 3), f.vv, (4, 3), (0, 1, 4, 2)) + tmp57 = np.copy(tmp42) + del tmp42 + tmp43 = einsum(v.ovvv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) + tmp57 += tmp43 + tmp44 = einsum(t2, (0, 1, 2, 3), tmp39, (4, 1, 5, 3), (4, 0, 2, 5)) + tmp57 += tmp44 * -1 + del tmp44 + tmp45 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * 2 + tmp45 += t2 * -1 + tmp46 = einsum(tmp43, (0, 1, 2, 3), tmp45, (1, 4, 5, 2), (4, 0, 5, 3)) + tmp57 += np.transpose(tmp46, (1, 0, 2, 3)) + del tmp46 + tmp47 = einsum(t1, (0, 1), v.oovv, (2, 3, 4, 1), (0, 2, 3, 4)) + tmp53 = np.copy(np.transpose(tmp47, (0, 2, 1, 3))) * -1 + tmp48 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 1, 5, 3), (0, 4, 5, 2)) + tmp53 += np.transpose(tmp48, (0, 2, 1, 3)) + del tmp48 + tmp49 = einsum(tmp3, (0, 1, 2, 3), t2, (4, 2, 3, 5), (0, 4, 1, 5)) + tmp53 += np.transpose(tmp49, (0, 2, 1, 3)) + tmp50 = einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) + tmp50 += np.transpose(t2, (0, 1, 3, 2)) * -2 + tmp50 += t2 + tmp51 = einsum(v.ooov, (0, 1, 2, 3), tmp50, (2, 4, 5, 3), (0, 1, 4, 5)) + del tmp50 + tmp53 += np.transpose(tmp51, (2, 1, 0, 3)) + del tmp51 + tmp52 = einsum(t2, (0, 1, 2, 3), tmp6, (4, 2), (0, 1, 4, 3)) + tmp53 += np.transpose(tmp52, (1, 2, 0, 3)) * -1 + del tmp52 + tmp54 = einsum(t1, (0, 1), tmp53, (2, 0, 3, 4), (2, 3, 1, 4)) + del tmp53 + tmp57 += tmp54 + del tmp54 + tmp55 = einsum(t1, (0, 1), tmp6, (2, 1), (0, 2)) + tmp56 = einsum(tmp55, (0, 1), t2, (2, 1, 3, 4), (2, 0, 4, 3)) + tmp57 += np.transpose(tmp56, (1, 0, 3, 2)) * -1 + del tmp56 + t2new += np.transpose(tmp57, (0, 1, 3, 2)) + t2new += np.transpose(tmp57, (1, 0, 2, 3)) + del tmp57 + tmp58 = einsum(t1, (0, 1), tmp3, (2, 3, 0, 4), (2, 3, 1, 4)) + tmp60 = np.copy(tmp58) + del tmp58 + tmp59 = einsum(tmp5, (0, 1, 2, 3), t2, (4, 0, 5, 2), (4, 1, 5, 3)) + del tmp5 + tmp60 += tmp59 * -1 + tmp61 = einsum(t2, (0, 1, 2, 3), tmp60, (4, 1, 5, 2), (0, 4, 3, 5)) + del tmp60 + tmp76 = np.copy(np.transpose(tmp61, (1, 0, 3, 2))) + del tmp61 + tmp63 = np.copy(f.ov) + tmp62 = einsum(t1, (0, 1), v.ovov, (2, 3, 0, 1), (2, 3)) + tmp63 += tmp62 * 2 + del tmp62 + tmp64 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp63, (2, 5), (0, 1, 3, 4)) + del tmp63 + tmp76 += tmp64 + del tmp64 + tmp65 = np.copy(v.ovvv) * -1 + tmp65 += np.transpose(v.ovvv, (0, 2, 1, 3)) * 2 + tmp66 = einsum(tmp65, (0, 1, 2, 3), t1, (0, 2), (1, 3)) + del tmp65 + tmp67 = einsum(t2, (0, 1, 2, 3), tmp66, (2, 4), (0, 1, 3, 4)) + tmp76 += np.transpose(tmp67, (1, 0, 2, 3)) + del tmp67 + tmp71 = np.copy(np.transpose(v.ooov, (0, 2, 1, 3))) + tmp71 += tmp3 + tmp68 = einsum(v.ooov, (0, 1, 2, 3), t2, (4, 1, 3, 5), (4, 0, 2, 5)) + tmp71 += tmp68 * -1 + tmp69 = np.copy(tmp3) * 2 + tmp69 += np.transpose(tmp3, (0, 2, 1, 3)) * -1 + tmp70 = einsum(tmp69, (0, 1, 2, 3), t2, (4, 1, 5, 3), (4, 0, 2, 5)) + del tmp69 + tmp71 += np.transpose(tmp70, (1, 0, 2, 3)) + tmp72 = einsum(t1, (0, 1), tmp71, (2, 3, 0, 4), (2, 3, 1, 4)) + del tmp71 + tmp76 += tmp72 * -1 + del tmp72 + tmp73 = np.copy(v.ooov) * 2 + tmp73 += np.transpose(v.ooov, (0, 2, 1, 3)) * -1 + tmp74 = einsum(t1, (0, 1), tmp73, (2, 3, 0, 1), (2, 3)) + tmp75 = einsum(t2, (0, 1, 2, 3), tmp74, (4, 1), (0, 4, 3, 2)) + tmp76 += np.transpose(tmp75, (0, 1, 3, 2)) * -1 + del tmp75 + t2new += tmp76 + t2new += np.transpose(tmp76, (1, 0, 3, 2)) + del tmp76 + tmp77 = einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), (0, 2, 3, 4)) + tmp78 = einsum(t1, (0, 1), tmp77, (0, 2, 3, 4), (2, 3, 1, 4)) + tmp81 = np.copy(tmp78) + del tmp78 + tmp79 = np.copy(f.oo) + tmp79 += tmp10 + tmp80 = einsum(tmp79, (0, 1), t2, (2, 0, 3, 4), (2, 1, 4, 3)) + del tmp79 + tmp81 += np.transpose(tmp80, (1, 0, 3, 2)) + del tmp80 + t2new += np.transpose(tmp81, (0, 1, 3, 2)) * -1 + t2new += np.transpose(tmp81, (1, 0, 2, 3)) * -1 + del tmp81 + tmp82 = np.copy(np.transpose(v.ovov, (0, 2, 1, 3))) * 2 + tmp82 += v.oovv * -1 + tmp82 += tmp59 * 2 + del tmp59 + t2new += einsum(t2, (0, 1, 2, 3), tmp82, (4, 1, 5, 3), (4, 0, 5, 2)) + del tmp82 + tmp84 = np.copy(v.oooo) + tmp83 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 2, 5, 3), (0, 1, 4, 5)) + tmp84 += np.transpose(tmp83, (3, 1, 2, 0)) + t2new += einsum(tmp84, (0, 1, 2, 3), tmp1, (0, 2, 4, 5), (1, 3, 4, 5)) + del tmp84 + tmp85 = einsum(tmp3, (0, 1, 2, 3), t1, (4, 3), (0, 4, 2, 1)) + t2new += einsum(tmp85, (0, 1, 2, 3), tmp1, (2, 3, 4, 5), (1, 0, 5, 4)) + tmp87 = np.copy(v.oovv) * -1 + tmp86 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 2, 1, 5), (0, 4, 3, 5)) + tmp87 += tmp86 + t2new += einsum(t2, (0, 1, 2, 3), tmp87, (4, 1, 5, 2), (4, 0, 3, 5)) + del tmp87 + tmp88 = np.copy(np.transpose(v.ovov, (0, 2, 1, 3))) * -1 + tmp88 += tmp15 + del tmp15 + t2new += einsum(t2, (0, 1, 2, 3), tmp88, (4, 1, 5, 2), (4, 0, 5, 3)) + del tmp88 + tmp89 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 1, 5, 6), (0, 4, 5, 2, 3, 6)) + t3new = np.copy(tmp89) * -1 + t3new += np.transpose(tmp89, (0, 1, 2, 5, 4, 3)) + t3new += np.transpose(tmp89, (0, 2, 1, 3, 5, 4)) * -1 + t3new += np.transpose(tmp89, (0, 2, 1, 4, 5, 3)) + t3new += np.transpose(tmp89, (1, 0, 2, 4, 3, 5)) * -1 + t3new += np.transpose(tmp89, (1, 0, 2, 5, 3, 4)) + t3new += np.transpose(tmp89, (2, 0, 1, 4, 3, 5)) + t3new += np.transpose(tmp89, (2, 0, 1, 5, 3, 4)) * -1 + t3new += np.transpose(tmp89, (1, 2, 0, 3, 5, 4)) + t3new += np.transpose(tmp89, (1, 2, 0, 4, 5, 3)) * -1 + t3new += np.transpose(tmp89, (2, 1, 0, 3, 4, 5)) + t3new += np.transpose(tmp89, (2, 1, 0, 5, 4, 3)) * -1 + del tmp89 + tmp90 = einsum(v.oooo, (0, 1, 2, 3), t3, (4, 3, 1, 5, 6, 7), (4, 0, 2, 5, 7, 6)) + tmp95 = np.copy(np.transpose(tmp90, (0, 1, 2, 4, 3, 5))) * -1 + del tmp90 + tmp91 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp17, (6, 7, 1, 2), (6, 0, 7, 3, 5, 4)) + tmp95 += np.transpose(tmp91, (0, 1, 2, 4, 3, 5)) + del tmp91 + tmp93 = np.copy(f.oo) + tmp93 += tmp10 + tmp92 = einsum(t2, (0, 1, 2, 3), tmp11, (1, 4, 3, 2), (0, 4)) + tmp93 += np.transpose(tmp92, (1, 0)) + del tmp92 + tmp94 = einsum(tmp93, (0, 1), t3, (2, 3, 0, 4, 5, 6), (2, 3, 1, 4, 6, 5)) * -1 + del tmp93 + tmp95 += np.transpose(tmp94, (2, 0, 1, 4, 3, 5)) + del tmp94 + t3new += np.transpose(tmp95, (0, 2, 1, 3, 5, 4)) + t3new += np.transpose(tmp95, (1, 2, 0, 3, 5, 4)) * -1 + del tmp95 + tmp96 = einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (4, 5, 0, 6, 7, 2)) + t3new += tmp96 * -1 + t3new += np.transpose(tmp96, (0, 1, 2, 5, 4, 3)) + t3new += np.transpose(tmp96, (2, 1, 0, 3, 4, 5)) + t3new += np.transpose(tmp96, (2, 1, 0, 5, 4, 3)) * -1 + del tmp96 + tmp97 = einsum(t3, (0, 1, 2, 3, 4, 5), v.oovv, (6, 1, 7, 5), (0, 2, 6, 3, 4, 7)) + tmp102 = np.copy(np.transpose(tmp97, (1, 0, 2, 3, 4, 5))) * -1 + del tmp97 + tmp98 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovov, (6, 5, 7, 4), (0, 2, 1, 6, 7, 3)) + tmp99 = einsum(tmp98, (0, 1, 2, 3, 4, 5), t2, (4, 3, 6, 7), (0, 1, 2, 7, 6, 5)) + tmp102 += np.transpose(tmp99, (1, 0, 2, 3, 4, 5)) * -1 + del tmp99 + tmp100 = einsum(tmp98, (0, 1, 2, 3, 4, 5), t1, (4, 6), (0, 1, 2, 3, 6, 5)) + del tmp98 + tmp101 = einsum(t1, (0, 1), tmp100, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) + del tmp100 + tmp102 += np.transpose(tmp101, (1, 0, 2, 3, 4, 5)) * -1 + del tmp101 + t3new += np.transpose(tmp102, (0, 2, 1, 3, 4, 5)) * -1 + t3new += np.transpose(tmp102, (0, 2, 1, 5, 4, 3)) + del tmp102 + tmp103 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovov, (6, 7, 2, 5), (0, 1, 6, 3, 4, 7)) + t3new += tmp103 + t3new += np.transpose(tmp103, (0, 1, 2, 5, 4, 3)) * -1 + t3new += np.transpose(tmp103, (0, 2, 1, 3, 5, 4)) + t3new += np.transpose(tmp103, (0, 2, 1, 4, 5, 3)) * -1 + t3new += np.transpose(tmp103, (1, 0, 2, 4, 3, 5)) + t3new += np.transpose(tmp103, (1, 0, 2, 5, 3, 4)) * -1 + t3new += np.transpose(tmp103, (2, 0, 1, 4, 3, 5)) * -1 + t3new += np.transpose(tmp103, (2, 0, 1, 5, 3, 4)) + t3new += np.transpose(tmp103, (2, 1, 0, 3, 4, 5)) * -1 + t3new += np.transpose(tmp103, (2, 1, 0, 5, 4, 3)) + del tmp103 + tmp104 = einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 1, 6, 3, 7), (4, 5, 0, 6, 7, 2)) + tmp107 = np.copy(np.transpose(tmp104, (0, 1, 2, 4, 3, 5))) * -1 + del tmp104 + tmp105 = np.copy(np.transpose(tmp83, (1, 0, 3, 2))) + tmp105 += np.transpose(tmp85, (1, 0, 3, 2)) + tmp106 = einsum(tmp105, (0, 1, 2, 3), t3, (4, 2, 3, 5, 6, 7), (4, 0, 1, 5, 7, 6)) * -1 + del tmp105 + tmp107 += np.transpose(tmp106, (2, 1, 0, 4, 3, 5)) + del tmp106 + t3new += np.transpose(tmp107, (0, 1, 2, 3, 5, 4)) * -1 + t3new += np.transpose(tmp107, (2, 1, 0, 3, 5, 4)) + del tmp107 + tmp108 = einsum(t3, (0, 1, 2, 3, 4, 5), v.vvvv, (6, 5, 7, 4), (0, 2, 1, 3, 6, 7)) + tmp115 = np.copy(np.transpose(tmp108, (1, 0, 2, 3, 4, 5))) * -1 + del tmp108 + tmp109 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovvv, (6, 5, 7, 4), (0, 2, 1, 6, 3, 7)) + tmp110 = einsum(t1, (0, 1), tmp109, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) + del tmp109 + tmp115 += np.transpose(tmp110, (1, 0, 2, 3, 4, 5)) * -1 + del tmp110 + tmp111 = einsum(t1, (0, 1), f.ov, (0, 2), (2, 1)) + tmp113 = np.copy(tmp111) * 0.5 + tmp112 = einsum(t2, (0, 1, 2, 3), tmp11, (0, 1, 2, 4), (3, 4)) * 0.5 + tmp113 += np.transpose(tmp112, (1, 0)) + del tmp112 + tmp114 = einsum(tmp113, (0, 1), t3, (2, 3, 4, 5, 6, 0), (2, 4, 3, 5, 6, 1)) * -2 + del tmp113 + tmp115 += np.transpose(tmp114, (1, 0, 2, 5, 3, 4)) + del tmp114 + t3new += np.transpose(tmp115, (0, 2, 1, 3, 5, 4)) + t3new += np.transpose(tmp115, (0, 2, 1, 4, 5, 3)) * -1 + del tmp115 + tmp116 = einsum(tmp3, (0, 1, 2, 3), t2, (2, 1, 4, 5), (0, 5, 4, 3)) + tmp117 = einsum(tmp116, (0, 1, 2, 3), t2, (4, 5, 6, 3), (0, 4, 5, 2, 1, 6)) + del tmp116 + tmp121 = np.copy(tmp117) + del tmp117 + tmp119 = np.copy(np.transpose(tmp77, (2, 1, 0, 3))) * -1 + del tmp77 + tmp118 = einsum(t1, (0, 1), tmp83, (2, 3, 0, 4), (3, 2, 4, 1)) + del tmp83 + tmp119 += tmp118 + del tmp118 + tmp120 = einsum(tmp119, (0, 1, 2, 3), t2, (4, 2, 5, 6), (4, 0, 1, 6, 5, 3)) + del tmp119 + tmp121 += np.transpose(tmp120, (2, 1, 0, 5, 4, 3)) + del tmp120 + t3new += np.transpose(tmp121, (0, 1, 2, 3, 5, 4)) + t3new += np.transpose(tmp121, (0, 1, 2, 4, 5, 3)) * -1 + t3new += np.transpose(tmp121, (0, 2, 1, 3, 4, 5)) + t3new += np.transpose(tmp121, (0, 2, 1, 5, 4, 3)) * -1 + t3new += np.transpose(tmp121, (1, 0, 2, 4, 3, 5)) * -1 + t3new += np.transpose(tmp121, (1, 0, 2, 5, 3, 4)) + t3new += np.transpose(tmp121, (2, 0, 1, 4, 3, 5)) + t3new += np.transpose(tmp121, (2, 0, 1, 5, 3, 4)) * -1 + t3new += np.transpose(tmp121, (1, 2, 0, 3, 4, 5)) * -1 + t3new += np.transpose(tmp121, (1, 2, 0, 5, 4, 3)) + t3new += np.transpose(tmp121, (2, 1, 0, 3, 5, 4)) * -1 + t3new += np.transpose(tmp121, (2, 1, 0, 4, 5, 3)) + del tmp121 + tmp122 = einsum(tmp47, (0, 1, 2, 3), t2, (4, 2, 5, 6), (0, 4, 1, 5, 6, 3)) + del tmp47 + t3new += np.transpose(tmp122, (0, 1, 2, 4, 3, 5)) + t3new += np.transpose(tmp122, (0, 1, 2, 5, 3, 4)) * -1 + t3new += np.transpose(tmp122, (0, 2, 1, 3, 4, 5)) + t3new += np.transpose(tmp122, (0, 2, 1, 5, 4, 3)) * -1 + t3new += np.transpose(tmp122, (1, 0, 2, 3, 5, 4)) * -1 + t3new += np.transpose(tmp122, (1, 0, 2, 4, 5, 3)) + t3new += np.transpose(tmp122, (2, 0, 1, 3, 5, 4)) + t3new += np.transpose(tmp122, (2, 0, 1, 4, 5, 3)) * -1 + t3new += np.transpose(tmp122, (1, 2, 0, 3, 4, 5)) * -1 + t3new += np.transpose(tmp122, (1, 2, 0, 5, 4, 3)) + t3new += np.transpose(tmp122, (2, 1, 0, 4, 3, 5)) * -1 + t3new += np.transpose(tmp122, (2, 1, 0, 5, 3, 4)) + del tmp122 + tmp123 = einsum(t2, (0, 1, 2, 3), tmp3, (4, 5, 1, 6), (4, 0, 5, 2, 3, 6)) + tmp129 = np.copy(tmp123) * -1 + del tmp123 + tmp124 = einsum(t2, (0, 1, 2, 3), tmp14, (4, 5, 3, 6), (4, 0, 1, 2, 6, 5)) + del tmp14 + tmp129 += tmp124 + del tmp124 + tmp125 = einsum(v.oooo, (0, 1, 2, 3), t2, (4, 3, 5, 6), (4, 0, 1, 2, 5, 6)) + tmp127 = np.copy(np.transpose(tmp125, (0, 2, 3, 1, 4, 5))) * -1 + del tmp125 + tmp126 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 5, 6, 3), (0, 1, 4, 6, 2, 5)) + tmp127 += tmp126 + del tmp126 + tmp128 = einsum(t1, (0, 1), tmp127, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) + del tmp127 + tmp129 += tmp128 * -1 + del tmp128 + t3new += np.transpose(tmp129, (0, 1, 2, 4, 3, 5)) + t3new += np.transpose(tmp129, (0, 1, 2, 5, 3, 4)) * -1 + t3new += np.transpose(tmp129, (0, 2, 1, 3, 5, 4)) * -1 + t3new += np.transpose(tmp129, (0, 2, 1, 4, 5, 3)) + t3new += np.transpose(tmp129, (1, 0, 2, 3, 4, 5)) + t3new += np.transpose(tmp129, (1, 0, 2, 5, 4, 3)) * -1 + t3new += np.transpose(tmp129, (2, 0, 1, 3, 4, 5)) * -1 + t3new += np.transpose(tmp129, (2, 0, 1, 5, 4, 3)) + t3new += np.transpose(tmp129, (1, 2, 0, 3, 5, 4)) + t3new += np.transpose(tmp129, (1, 2, 0, 4, 5, 3)) * -1 + t3new += np.transpose(tmp129, (2, 1, 0, 4, 3, 5)) * -1 + t3new += np.transpose(tmp129, (2, 1, 0, 5, 3, 4)) + del tmp129 + tmp130 = einsum(v.oovv, (0, 1, 2, 3), t2, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) + tmp131 = einsum(t1, (0, 1), tmp130, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) + del tmp130 + tmp134 = np.copy(tmp131) + del tmp131 + tmp132 = einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 2, 5, 3), (0, 1, 4, 5)) + tmp133 = einsum(tmp132, (0, 1, 2, 3), t2, (4, 2, 5, 6), (0, 1, 4, 5, 6, 3)) + del tmp132 + tmp134 += tmp133 + del tmp133 + t3new += np.transpose(tmp134, (0, 1, 2, 3, 5, 4)) + t3new += np.transpose(tmp134, (0, 1, 2, 4, 5, 3)) * -1 + t3new += np.transpose(tmp134, (0, 2, 1, 4, 3, 5)) * -1 + t3new += np.transpose(tmp134, (0, 2, 1, 5, 3, 4)) + t3new += np.transpose(tmp134, (1, 0, 2, 3, 4, 5)) + t3new += np.transpose(tmp134, (1, 0, 2, 5, 4, 3)) * -1 + t3new += np.transpose(tmp134, (2, 0, 1, 3, 4, 5)) * -1 + t3new += np.transpose(tmp134, (2, 0, 1, 5, 4, 3)) + t3new += np.transpose(tmp134, (1, 2, 0, 4, 3, 5)) + t3new += np.transpose(tmp134, (1, 2, 0, 5, 3, 4)) * -1 + t3new += np.transpose(tmp134, (2, 1, 0, 3, 5, 4)) * -1 + t3new += np.transpose(tmp134, (2, 1, 0, 4, 5, 3)) + del tmp134 + tmp135 = einsum(v.ovov, (0, 1, 2, 3), t3, (4, 0, 2, 5, 6, 1), (4, 5, 6, 3)) + tmp136 = einsum(tmp135, (0, 1, 2, 3), t2, (4, 5, 6, 3), (4, 5, 0, 6, 1, 2)) + del tmp135 + t3new += np.transpose(tmp136, (1, 0, 2, 4, 3, 5)) * -0.5 + t3new += np.transpose(tmp136, (1, 0, 2, 5, 3, 4)) * 0.5 + t3new += np.transpose(tmp136, (2, 0, 1, 4, 3, 5)) * 0.5 + t3new += np.transpose(tmp136, (2, 0, 1, 5, 3, 4)) * -0.5 + del tmp136 + tmp137 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1))) * -0.3333333333333333 + tmp137 += np.transpose(v.ovov, (0, 2, 1, 3)) + tmp138 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp137, (2, 1, 6, 4), (0, 3, 5, 6)) * -1 + del tmp137 + tmp139 = einsum(t2, (0, 1, 2, 3), tmp138, (4, 5, 6, 2), (0, 1, 4, 3, 6, 5)) * 1.5 + del tmp138 + t3new += np.transpose(tmp139, (0, 1, 2, 5, 3, 4)) * -1 + t3new += np.transpose(tmp139, (2, 1, 0, 5, 3, 4)) + del tmp139 + tmp140 = einsum(v.ovov, (0, 1, 2, 3), t3, (4, 2, 0, 5, 6, 1), (4, 5, 6, 3)) + tmp141 = einsum(t2, (0, 1, 2, 3), tmp140, (4, 5, 6, 3), (0, 1, 4, 2, 5, 6)) + del tmp140 + t3new += np.transpose(tmp141, (0, 1, 2, 3, 5, 4)) * -1 + t3new += np.transpose(tmp141, (0, 1, 2, 4, 5, 3)) + t3new += np.transpose(tmp141, (0, 2, 1, 3, 4, 5)) * -1 + t3new += np.transpose(tmp141, (0, 2, 1, 5, 4, 3)) + t3new += np.transpose(tmp141, (1, 0, 2, 4, 3, 5)) * 0.5 + t3new += np.transpose(tmp141, (1, 0, 2, 5, 3, 4)) * -0.5 + t3new += np.transpose(tmp141, (2, 0, 1, 4, 3, 5)) * -0.5 + t3new += np.transpose(tmp141, (2, 0, 1, 5, 3, 4)) * 0.5 + t3new += np.transpose(tmp141, (1, 2, 0, 3, 4, 5)) + t3new += np.transpose(tmp141, (1, 2, 0, 5, 4, 3)) * -1 + t3new += np.transpose(tmp141, (2, 1, 0, 3, 5, 4)) + t3new += np.transpose(tmp141, (2, 1, 0, 4, 5, 3)) * -1 + del tmp141 + tmp142 = einsum(v.ovov, (0, 1, 2, 3), t3, (0, 4, 2, 5, 6, 3), (4, 5, 6, 1)) + tmp143 = einsum(tmp142, (0, 1, 2, 3), t2, (4, 5, 6, 3), (4, 5, 0, 6, 1, 2)) + del tmp142 + t3new += tmp143 * -1 + t3new += np.transpose(tmp143, (0, 1, 2, 5, 4, 3)) + t3new += np.transpose(tmp143, (0, 2, 1, 3, 5, 4)) * -1 + t3new += np.transpose(tmp143, (0, 2, 1, 4, 5, 3)) + t3new += np.transpose(tmp143, (1, 2, 0, 3, 5, 4)) + t3new += np.transpose(tmp143, (1, 2, 0, 4, 5, 3)) * -1 + t3new += np.transpose(tmp143, (2, 1, 0, 3, 4, 5)) + t3new += np.transpose(tmp143, (2, 1, 0, 5, 4, 3)) * -1 + del tmp143 + tmp144 = einsum(t2, (0, 1, 2, 3), tmp21, (4, 5, 1, 6), (0, 4, 5, 2, 3, 6)) + del tmp21 + t3new += np.transpose(tmp144, (0, 1, 2, 3, 5, 4)) * -1 + t3new += np.transpose(tmp144, (0, 1, 2, 4, 5, 3)) + t3new += np.transpose(tmp144, (0, 2, 1, 3, 4, 5)) * -1 + t3new += np.transpose(tmp144, (0, 2, 1, 5, 4, 3)) + t3new += np.transpose(tmp144, (1, 0, 2, 4, 3, 5)) + t3new += np.transpose(tmp144, (1, 0, 2, 5, 3, 4)) * -1 + t3new += np.transpose(tmp144, (1, 2, 0, 3, 4, 5)) + t3new += np.transpose(tmp144, (1, 2, 0, 5, 4, 3)) * -1 + t3new += np.transpose(tmp144, (2, 1, 0, 3, 5, 4)) + t3new += np.transpose(tmp144, (2, 1, 0, 4, 5, 3)) * -1 + del tmp144 + tmp145 = einsum(t2, (0, 1, 2, 3), tmp26, (4, 5, 1, 6), (0, 4, 5, 2, 3, 6)) + del tmp26 + tmp151 = np.copy(tmp145) + del tmp145 + tmp146 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 2, 5, 1), (4, 0, 5, 3)) + tmp149 = np.copy(tmp146) * 0.5 + tmp147 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * 2 + tmp147 += t2 * -1 + tmp148 = einsum(tmp147, (0, 1, 2, 3), v.ovov, (4, 5, 0, 3), (4, 1, 5, 2)) * 0.5 + del tmp147 + tmp149 += np.transpose(tmp148, (1, 0, 3, 2)) * -1 + del tmp148 + tmp150 = einsum(tmp149, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (4, 5, 0, 6, 7, 2)) * 2 + del tmp149 + tmp151 += np.transpose(tmp150, (2, 0, 1, 5, 3, 4)) + del tmp150 + t3new += tmp151 * -1 + t3new += np.transpose(tmp151, (0, 1, 2, 5, 4, 3)) + t3new += np.transpose(tmp151, (0, 2, 1, 3, 5, 4)) * -1 + t3new += np.transpose(tmp151, (0, 2, 1, 4, 5, 3)) + t3new += np.transpose(tmp151, (1, 0, 2, 4, 3, 5)) * -1 + t3new += np.transpose(tmp151, (1, 0, 2, 5, 3, 4)) + t3new += np.transpose(tmp151, (1, 2, 0, 3, 5, 4)) + t3new += np.transpose(tmp151, (1, 2, 0, 4, 5, 3)) * -1 + t3new += np.transpose(tmp151, (2, 1, 0, 3, 4, 5)) + t3new += np.transpose(tmp151, (2, 1, 0, 5, 4, 3)) * -1 + del tmp151 + tmp152 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovov, (6, 5, 1, 4), (0, 2, 6, 3)) + tmp153 = einsum(t2, (0, 1, 2, 3), tmp152, (4, 5, 1, 6), (0, 4, 5, 2, 3, 6)) + del tmp152 + t3new += np.transpose(tmp153, (2, 0, 1, 4, 3, 5)) * -1 + t3new += np.transpose(tmp153, (2, 0, 1, 5, 3, 4)) + del tmp153 + tmp154 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovov, (6, 5, 2, 4), (0, 1, 6, 3)) + tmp155 = einsum(t2, (0, 1, 2, 3), tmp154, (4, 5, 1, 6), (0, 4, 5, 2, 3, 6)) + del tmp154 + t3new += np.transpose(tmp155, (1, 0, 2, 4, 3, 5)) * -1 + t3new += np.transpose(tmp155, (1, 0, 2, 5, 3, 4)) + del tmp155 + tmp156 = einsum(tmp86, (0, 1, 2, 3), t3, (4, 5, 1, 6, 3, 7), (0, 4, 5, 2, 6, 7)) + t3new += np.transpose(tmp156, (0, 2, 1, 5, 3, 4)) + t3new += np.transpose(tmp156, (1, 2, 0, 5, 3, 4)) * -1 + del tmp156 + tmp157 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp86, (6, 2, 7, 5), (6, 0, 1, 7, 3, 4)) + t3new += np.transpose(tmp157, (0, 2, 1, 3, 5, 4)) + t3new += np.transpose(tmp157, (0, 2, 1, 4, 5, 3)) * -1 + t3new += np.transpose(tmp157, (1, 2, 0, 3, 5, 4)) * -1 + t3new += np.transpose(tmp157, (1, 2, 0, 4, 5, 3)) + del tmp157 + tmp158 = einsum(tmp86, (0, 1, 2, 3), t3, (4, 1, 5, 6, 7, 3), (0, 4, 5, 2, 6, 7)) + t3new += np.transpose(tmp158, (2, 0, 1, 3, 5, 4)) + t3new += np.transpose(tmp158, (2, 0, 1, 4, 5, 3)) * -1 + del tmp158 + tmp159 = einsum(tmp3, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (0, 4, 5, 2, 6, 7)) + tmp160 = einsum(t1, (0, 1), tmp159, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) + del tmp159 + t3new += tmp160 * -1 + t3new += np.transpose(tmp160, (0, 1, 2, 5, 4, 3)) + t3new += np.transpose(tmp160, (0, 2, 1, 3, 5, 4)) * -1 + t3new += np.transpose(tmp160, (0, 2, 1, 4, 5, 3)) + t3new += np.transpose(tmp160, (1, 0, 2, 4, 3, 5)) * -1 + t3new += np.transpose(tmp160, (1, 0, 2, 5, 3, 4)) + t3new += np.transpose(tmp160, (1, 2, 0, 3, 5, 4)) + t3new += np.transpose(tmp160, (1, 2, 0, 4, 5, 3)) * -1 + t3new += np.transpose(tmp160, (2, 1, 0, 3, 4, 5)) + t3new += np.transpose(tmp160, (2, 1, 0, 5, 4, 3)) * -1 + del tmp160 + tmp161 = einsum(tmp3, (0, 1, 2, 3), t3, (4, 5, 2, 6, 3, 7), (0, 4, 5, 1, 6, 7)) + tmp162 = einsum(t1, (0, 1), tmp161, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) + del tmp161 + t3new += np.transpose(tmp162, (0, 2, 1, 5, 3, 4)) + t3new += np.transpose(tmp162, (1, 2, 0, 5, 3, 4)) * -1 + del tmp162 + tmp163 = einsum(tmp3, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 3), (0, 4, 5, 1, 6, 7)) + tmp164 = einsum(t1, (0, 1), tmp163, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) + del tmp163 + t3new += np.transpose(tmp164, (0, 2, 1, 3, 5, 4)) + t3new += np.transpose(tmp164, (0, 2, 1, 4, 5, 3)) * -1 + t3new += np.transpose(tmp164, (1, 2, 0, 3, 5, 4)) * -1 + t3new += np.transpose(tmp164, (1, 2, 0, 4, 5, 3)) + del tmp164 + tmp165 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp39, (6, 2, 7, 4), (6, 0, 1, 3, 5, 7)) + tmp167 = np.copy(np.transpose(tmp165, (0, 1, 2, 4, 3, 5))) * -1 + del tmp165 + tmp166 = einsum(tmp55, (0, 1), t3, (2, 3, 1, 4, 5, 6), (2, 3, 0, 4, 6, 5)) * -1 + del tmp55 + tmp167 += np.transpose(tmp166, (2, 0, 1, 4, 3, 5)) + del tmp166 + t3new += np.transpose(tmp167, (0, 2, 1, 3, 5, 4)) + t3new += np.transpose(tmp167, (1, 2, 0, 3, 5, 4)) * -1 + del tmp167 + tmp168 = einsum(t2, (0, 1, 2, 3), tmp3, (4, 1, 5, 2), (4, 0, 5, 3)) + tmp169 = np.copy(tmp168) + del tmp168 + tmp169 += np.transpose(tmp70, (1, 0, 2, 3)) * -1 + del tmp70 + tmp170 = einsum(t2, (0, 1, 2, 3), tmp169, (4, 5, 1, 6), (0, 4, 5, 3, 2, 6)) + del tmp169 + tmp175 = np.copy(np.transpose(tmp170, (1, 0, 2, 4, 3, 5))) + del tmp170 + tmp172 = np.copy(tmp146) + tmp171 = einsum(tmp45, (0, 1, 2, 3), v.ovov, (4, 5, 0, 3), (1, 4, 2, 5)) + del tmp45 + tmp172 += tmp171 * -1 + del tmp171 + tmp173 = einsum(t2, (0, 1, 2, 3), tmp172, (4, 5, 6, 2), (0, 1, 4, 5, 3, 6)) + del tmp172 + tmp174 = einsum(t1, (0, 1), tmp173, (2, 3, 4, 0, 5, 6), (3, 2, 4, 1, 5, 6)) + del tmp173 + tmp175 += tmp174 + del tmp174 + t3new += np.transpose(tmp175, (0, 1, 2, 4, 3, 5)) + t3new += np.transpose(tmp175, (0, 1, 2, 5, 3, 4)) * -1 + t3new += np.transpose(tmp175, (0, 2, 1, 3, 5, 4)) * -1 + t3new += np.transpose(tmp175, (0, 2, 1, 4, 5, 3)) + t3new += np.transpose(tmp175, (1, 0, 2, 3, 4, 5)) + t3new += np.transpose(tmp175, (1, 0, 2, 5, 4, 3)) * -1 + t3new += np.transpose(tmp175, (2, 0, 1, 3, 4, 5)) * -1 + t3new += np.transpose(tmp175, (2, 0, 1, 5, 4, 3)) + t3new += np.transpose(tmp175, (1, 2, 0, 3, 5, 4)) + t3new += np.transpose(tmp175, (1, 2, 0, 4, 5, 3)) * -1 + t3new += np.transpose(tmp175, (2, 1, 0, 4, 3, 5)) * -1 + t3new += np.transpose(tmp175, (2, 1, 0, 5, 3, 4)) + del tmp175 + tmp176 = einsum(t2, (0, 1, 2, 3), tmp49, (4, 5, 1, 6), (4, 0, 5, 2, 3, 6)) + del tmp49 + t3new += np.transpose(tmp176, (0, 1, 2, 4, 3, 5)) * -1 + t3new += np.transpose(tmp176, (0, 1, 2, 5, 3, 4)) + t3new += np.transpose(tmp176, (0, 2, 1, 3, 4, 5)) * -1 + t3new += np.transpose(tmp176, (0, 2, 1, 5, 4, 3)) + t3new += np.transpose(tmp176, (1, 0, 2, 3, 5, 4)) + t3new += np.transpose(tmp176, (1, 0, 2, 4, 5, 3)) * -1 + t3new += np.transpose(tmp176, (2, 0, 1, 3, 5, 4)) * -1 + t3new += np.transpose(tmp176, (2, 0, 1, 4, 5, 3)) + t3new += np.transpose(tmp176, (1, 2, 0, 3, 4, 5)) + t3new += np.transpose(tmp176, (1, 2, 0, 5, 4, 3)) * -1 + t3new += np.transpose(tmp176, (2, 1, 0, 4, 3, 5)) + t3new += np.transpose(tmp176, (2, 1, 0, 5, 3, 4)) * -1 + del tmp176 + tmp177 = einsum(tmp3, (0, 1, 2, 3), t3, (4, 2, 5, 6, 7, 3), (0, 4, 5, 1, 6, 7)) + tmp178 = einsum(t1, (0, 1), tmp177, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) + del tmp177 + t3new += np.transpose(tmp178, (2, 0, 1, 3, 5, 4)) + t3new += np.transpose(tmp178, (2, 0, 1, 4, 5, 3)) * -1 + del tmp178 + tmp179 = einsum(tmp86, (0, 1, 2, 3), t2, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) + del tmp86 + tmp180 = einsum(t1, (0, 1), tmp179, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) + del tmp179 + t3new += np.transpose(tmp180, (0, 1, 2, 3, 5, 4)) * -1 + t3new += np.transpose(tmp180, (0, 1, 2, 4, 5, 3)) + t3new += np.transpose(tmp180, (0, 2, 1, 4, 3, 5)) + t3new += np.transpose(tmp180, (0, 2, 1, 5, 3, 4)) * -1 + t3new += np.transpose(tmp180, (1, 0, 2, 3, 4, 5)) * -1 + t3new += np.transpose(tmp180, (1, 0, 2, 5, 4, 3)) + t3new += np.transpose(tmp180, (2, 0, 1, 3, 4, 5)) + t3new += np.transpose(tmp180, (2, 0, 1, 5, 4, 3)) * -1 + t3new += np.transpose(tmp180, (1, 2, 0, 4, 3, 5)) * -1 + t3new += np.transpose(tmp180, (1, 2, 0, 5, 3, 4)) + t3new += np.transpose(tmp180, (2, 1, 0, 3, 5, 4)) + t3new += np.transpose(tmp180, (2, 1, 0, 4, 5, 3)) * -1 + del tmp180 + tmp181 = einsum(v.ooov, (0, 1, 2, 3), t3, (4, 1, 5, 6, 7, 3), (4, 5, 0, 2, 6, 7)) + tmp182 = einsum(tmp181, (0, 1, 2, 3, 4, 5), t1, (3, 6), (0, 1, 2, 6, 4, 5)) + del tmp181 + tmp186 = np.copy(np.transpose(tmp182, (1, 0, 2, 3, 4, 5))) * -1 + del tmp182 + tmp184 = np.copy(f.vv) + tmp183 = einsum(t1, (0, 1), tmp6, (0, 2), (1, 2)) + tmp184 += np.transpose(tmp183, (1, 0)) * -1 + del tmp183 + tmp185 = einsum(tmp184, (0, 1), t3, (2, 3, 4, 5, 6, 0), (2, 4, 3, 5, 6, 1)) * -1 + del tmp184 + tmp186 += np.transpose(tmp185, (1, 0, 2, 5, 3, 4)) + del tmp185 + t3new += np.transpose(tmp186, (0, 2, 1, 3, 5, 4)) * -1 + t3new += np.transpose(tmp186, (0, 2, 1, 4, 5, 3)) + del tmp186 + tmp187 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 3), (0, 2, 4, 5)) + tmp190 = np.copy(np.transpose(tmp187, (0, 1, 3, 2))) + del tmp187 + tmp188 = einsum(tmp8, (0, 1, 2, 3), v.ovvv, (0, 2, 4, 5), (1, 4, 5, 3)) + del tmp8 + tmp190 += np.transpose(tmp188, (0, 3, 2, 1)) * -1 + del tmp188 + tmp189 = einsum(t2, (0, 1, 2, 3), tmp6, (1, 4), (0, 3, 2, 4)) + del tmp6 + tmp190 += np.transpose(tmp189, (0, 2, 1, 3)) + del tmp189 + tmp191 = einsum(t2, (0, 1, 2, 3), tmp190, (4, 5, 6, 2), (0, 1, 4, 3, 5, 6)) + del tmp190 + tmp196 = np.copy(np.transpose(tmp191, (1, 0, 2, 3, 4, 5))) + del tmp191 + tmp192 = einsum(v.ooov, (0, 1, 2, 3), t2, (4, 2, 3, 5), (4, 0, 1, 5)) + tmp194 = np.copy(np.transpose(tmp192, (0, 2, 1, 3))) + del tmp192 + tmp193 = einsum(t2, (0, 1, 2, 3), tmp73, (4, 5, 1, 3), (0, 4, 5, 2)) + del tmp73 + tmp194 += np.transpose(tmp193, (0, 2, 1, 3)) * -1 + del tmp193 + tmp195 = einsum(tmp194, (0, 1, 2, 3), t2, (4, 1, 5, 6), (4, 0, 2, 6, 5, 3)) + del tmp194 + tmp196 += np.transpose(tmp195, (0, 1, 2, 4, 3, 5)) * -1 + del tmp195 + t3new += np.transpose(tmp196, (0, 1, 2, 3, 5, 4)) * -1 + t3new += np.transpose(tmp196, (0, 1, 2, 4, 5, 3)) + t3new += np.transpose(tmp196, (0, 2, 1, 3, 4, 5)) * -1 + t3new += np.transpose(tmp196, (0, 2, 1, 5, 4, 3)) + t3new += np.transpose(tmp196, (1, 0, 2, 4, 3, 5)) + t3new += np.transpose(tmp196, (1, 0, 2, 5, 3, 4)) * -1 + t3new += np.transpose(tmp196, (2, 0, 1, 4, 3, 5)) * -1 + t3new += np.transpose(tmp196, (2, 0, 1, 5, 3, 4)) + t3new += np.transpose(tmp196, (1, 2, 0, 3, 4, 5)) + t3new += np.transpose(tmp196, (1, 2, 0, 5, 4, 3)) * -1 + t3new += np.transpose(tmp196, (2, 1, 0, 3, 5, 4)) + t3new += np.transpose(tmp196, (2, 1, 0, 4, 5, 3)) * -1 + del tmp196 + tmp197 = einsum(t1, (0, 1), tmp85, (2, 3, 4, 0), (2, 3, 4, 1)) + del tmp85 + tmp198 = einsum(t2, (0, 1, 2, 3), tmp197, (4, 5, 1, 6), (5, 4, 0, 6, 2, 3)) + del tmp197 + t3new += np.transpose(tmp198, (0, 1, 2, 3, 5, 4)) + t3new += np.transpose(tmp198, (0, 1, 2, 4, 5, 3)) * -1 + t3new += np.transpose(tmp198, (0, 2, 1, 3, 4, 5)) + t3new += np.transpose(tmp198, (0, 2, 1, 5, 4, 3)) * -1 + t3new += np.transpose(tmp198, (1, 0, 2, 4, 3, 5)) * -1 + t3new += np.transpose(tmp198, (1, 0, 2, 5, 3, 4)) + t3new += np.transpose(tmp198, (2, 0, 1, 4, 3, 5)) + t3new += np.transpose(tmp198, (2, 0, 1, 5, 3, 4)) * -1 + t3new += np.transpose(tmp198, (1, 2, 0, 3, 4, 5)) * -1 + t3new += np.transpose(tmp198, (1, 2, 0, 5, 4, 3)) + t3new += np.transpose(tmp198, (2, 1, 0, 3, 5, 4)) * -1 + t3new += np.transpose(tmp198, (2, 1, 0, 4, 5, 3)) + del tmp198 + tmp199 = einsum(t2, (0, 1, 2, 3), tmp3, (4, 5, 6, 3), (4, 0, 1, 6, 5, 2)) + del tmp3 + tmp200 = einsum(tmp199, (0, 1, 2, 3, 4, 5), t1, (4, 6), (0, 1, 2, 3, 6, 5)) + del tmp199 + tmp201 = einsum(t1, (0, 1), tmp200, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) + del tmp200 + t3new += np.transpose(tmp201, (0, 1, 2, 3, 5, 4)) + t3new += np.transpose(tmp201, (0, 1, 2, 4, 5, 3)) * -1 + t3new += np.transpose(tmp201, (0, 2, 1, 3, 4, 5)) + t3new += np.transpose(tmp201, (0, 2, 1, 5, 4, 3)) * -1 + t3new += np.transpose(tmp201, (1, 0, 2, 4, 3, 5)) * -1 + t3new += np.transpose(tmp201, (1, 0, 2, 5, 3, 4)) + t3new += np.transpose(tmp201, (2, 0, 1, 4, 3, 5)) + t3new += np.transpose(tmp201, (2, 0, 1, 5, 3, 4)) * -1 + t3new += np.transpose(tmp201, (1, 2, 0, 3, 4, 5)) * -1 + t3new += np.transpose(tmp201, (1, 2, 0, 5, 4, 3)) + t3new += np.transpose(tmp201, (2, 1, 0, 3, 5, 4)) * -1 + t3new += np.transpose(tmp201, (2, 1, 0, 4, 5, 3)) + del tmp201 + tmp202 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 5, 6, 3), (4, 5, 0, 6, 1, 2)) + t3new += np.transpose(tmp202, (0, 1, 2, 3, 5, 4)) + t3new += np.transpose(tmp202, (0, 1, 2, 4, 5, 3)) * -1 + t3new += np.transpose(tmp202, (0, 2, 1, 3, 4, 5)) + t3new += np.transpose(tmp202, (0, 2, 1, 5, 4, 3)) * -1 + t3new += np.transpose(tmp202, (1, 0, 2, 4, 3, 5)) * -1 + t3new += np.transpose(tmp202, (1, 0, 2, 5, 3, 4)) + t3new += np.transpose(tmp202, (2, 0, 1, 4, 3, 5)) + t3new += np.transpose(tmp202, (2, 0, 1, 5, 3, 4)) * -1 + t3new += np.transpose(tmp202, (1, 2, 0, 3, 4, 5)) * -1 + t3new += np.transpose(tmp202, (1, 2, 0, 5, 4, 3)) + t3new += np.transpose(tmp202, (2, 1, 0, 3, 5, 4)) * -1 + t3new += np.transpose(tmp202, (2, 1, 0, 4, 5, 3)) + del tmp202 + tmp203 = einsum(tmp43, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 2), (0, 4, 5, 6, 7, 3)) + t3new += np.transpose(tmp203, (0, 1, 2, 4, 3, 5)) * -1 + t3new += np.transpose(tmp203, (0, 1, 2, 5, 3, 4)) + t3new += np.transpose(tmp203, (0, 2, 1, 3, 4, 5)) * -1 + t3new += np.transpose(tmp203, (0, 2, 1, 5, 4, 3)) + t3new += np.transpose(tmp203, (1, 0, 2, 3, 5, 4)) + t3new += np.transpose(tmp203, (1, 0, 2, 4, 5, 3)) * -1 + t3new += np.transpose(tmp203, (1, 2, 0, 3, 4, 5)) + t3new += np.transpose(tmp203, (1, 2, 0, 5, 4, 3)) * -1 + t3new += np.transpose(tmp203, (2, 1, 0, 4, 3, 5)) + t3new += np.transpose(tmp203, (2, 1, 0, 5, 3, 4)) * -1 + del tmp203 + tmp204 = einsum(tmp39, (0, 1, 2, 3), t3, (4, 1, 5, 6, 7, 3), (0, 4, 5, 6, 7, 2)) + t3new += np.transpose(tmp204, (2, 0, 1, 3, 4, 5)) + t3new += np.transpose(tmp204, (2, 0, 1, 5, 4, 3)) * -1 + del tmp204 + tmp205 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp39, (6, 2, 7, 5), (6, 0, 1, 3, 4, 7)) + t3new += np.transpose(tmp205, (0, 2, 1, 3, 4, 5)) + t3new += np.transpose(tmp205, (0, 2, 1, 5, 4, 3)) * -1 + t3new += np.transpose(tmp205, (1, 2, 0, 3, 4, 5)) * -1 + t3new += np.transpose(tmp205, (1, 2, 0, 5, 4, 3)) + del tmp205 + tmp206 = einsum(tmp66, (0, 1), t3, (2, 3, 4, 5, 6, 0), (2, 4, 3, 5, 6, 1)) * -1 + del tmp66 + t3new += np.transpose(tmp206, (1, 2, 0, 3, 4, 5)) + t3new += np.transpose(tmp206, (1, 2, 0, 5, 4, 3)) * -1 + del tmp206 + tmp207 = einsum(tmp68, (0, 1, 2, 3), t2, (4, 2, 5, 6), (4, 0, 1, 5, 6, 3)) + del tmp68 + tmp212 = np.copy(tmp207) + del tmp207 + tmp208 = einsum(t1, (0, 1), tmp17, (2, 3, 4, 0), (2, 3, 4, 1)) + tmp209 = einsum(tmp208, (0, 1, 2, 3), t2, (4, 2, 5, 6), (0, 4, 1, 3, 5, 6)) + del tmp208 + tmp212 += tmp209 + del tmp209 + tmp210 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 2), (0, 3, 4, 5)) + tmp211 = einsum(tmp210, (0, 1, 2, 3), t2, (4, 5, 6, 2), (4, 5, 0, 6, 1, 3)) + del tmp210 + tmp212 += tmp211 * -1 + del tmp211 + t3new += tmp212 + t3new += np.transpose(tmp212, (0, 1, 2, 5, 4, 3)) * -1 + t3new += np.transpose(tmp212, (0, 2, 1, 3, 5, 4)) + t3new += np.transpose(tmp212, (0, 2, 1, 4, 5, 3)) * -1 + t3new += np.transpose(tmp212, (1, 0, 2, 4, 3, 5)) + t3new += np.transpose(tmp212, (1, 0, 2, 5, 3, 4)) * -1 + t3new += np.transpose(tmp212, (2, 0, 1, 4, 3, 5)) * -1 + t3new += np.transpose(tmp212, (2, 0, 1, 5, 3, 4)) + t3new += np.transpose(tmp212, (1, 2, 0, 3, 5, 4)) * -1 + t3new += np.transpose(tmp212, (1, 2, 0, 4, 5, 3)) + t3new += np.transpose(tmp212, (2, 1, 0, 3, 4, 5)) * -1 + t3new += np.transpose(tmp212, (2, 1, 0, 5, 4, 3)) + del tmp212 + tmp213 = einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 1, 3), (4, 6, 5, 0, 7, 2)) + tmp214 = einsum(t1, (0, 1), tmp213, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) + del tmp213 + t3new += np.transpose(tmp214, (1, 2, 0, 4, 3, 5)) + t3new += np.transpose(tmp214, (1, 2, 0, 5, 3, 4)) * -1 + del tmp214 + tmp215 = einsum(tmp43, (0, 1, 2, 3), t1, (4, 2), (4, 0, 1, 3)) + tmp216 = einsum(t2, (0, 1, 2, 3), tmp215, (4, 5, 1, 6), (4, 5, 0, 2, 3, 6)) + del tmp215 + t3new += np.transpose(tmp216, (0, 1, 2, 3, 5, 4)) + t3new += np.transpose(tmp216, (0, 1, 2, 4, 5, 3)) * -1 + t3new += np.transpose(tmp216, (0, 2, 1, 4, 3, 5)) * -1 + t3new += np.transpose(tmp216, (0, 2, 1, 5, 3, 4)) + t3new += np.transpose(tmp216, (1, 0, 2, 3, 4, 5)) + t3new += np.transpose(tmp216, (1, 0, 2, 5, 4, 3)) * -1 + t3new += np.transpose(tmp216, (2, 0, 1, 3, 4, 5)) * -1 + t3new += np.transpose(tmp216, (2, 0, 1, 5, 4, 3)) + t3new += np.transpose(tmp216, (1, 2, 0, 4, 3, 5)) + t3new += np.transpose(tmp216, (1, 2, 0, 5, 3, 4)) * -1 + t3new += np.transpose(tmp216, (2, 1, 0, 3, 5, 4)) * -1 + t3new += np.transpose(tmp216, (2, 1, 0, 4, 5, 3)) + del tmp216 + tmp217 = einsum(tmp17, (0, 1, 2, 3), t2, (4, 3, 5, 6), (0, 4, 1, 2, 5, 6)) + tmp221 = np.copy(np.transpose(tmp217, (0, 1, 3, 2, 4, 5))) + del tmp217 + tmp218 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), (0, 1, 4, 5, 6, 2)) + tmp219 = einsum(tmp218, (0, 1, 2, 3, 4, 5), t1, (4, 6), (0, 1, 2, 3, 6, 5)) + del tmp218 + tmp221 += np.transpose(tmp219, (0, 1, 3, 2, 4, 5)) + del tmp219 + tmp220 = einsum(t2, (0, 1, 2, 3), tmp43, (4, 5, 3, 6), (4, 0, 1, 5, 2, 6)) + tmp221 += np.transpose(tmp220, (0, 1, 3, 2, 4, 5)) * -1 + del tmp220 + tmp222 = einsum(t1, (0, 1), tmp221, (2, 3, 0, 4, 5, 6), (2, 3, 4, 1, 5, 6)) + del tmp221 + t3new += tmp222 * -1 + t3new += np.transpose(tmp222, (0, 1, 2, 5, 4, 3)) + t3new += np.transpose(tmp222, (0, 2, 1, 4, 3, 5)) * -1 + t3new += np.transpose(tmp222, (0, 2, 1, 5, 3, 4)) + t3new += np.transpose(tmp222, (1, 0, 2, 3, 5, 4)) * -1 + t3new += np.transpose(tmp222, (1, 0, 2, 4, 5, 3)) + t3new += np.transpose(tmp222, (2, 0, 1, 3, 5, 4)) + t3new += np.transpose(tmp222, (2, 0, 1, 4, 5, 3)) * -1 + t3new += np.transpose(tmp222, (1, 2, 0, 4, 3, 5)) + t3new += np.transpose(tmp222, (1, 2, 0, 5, 3, 4)) * -1 + t3new += np.transpose(tmp222, (2, 1, 0, 3, 4, 5)) + t3new += np.transpose(tmp222, (2, 1, 0, 5, 4, 3)) * -1 + del tmp222 + tmp223 = einsum(t2, (0, 1, 2, 3), tmp39, (4, 5, 6, 3), (4, 0, 1, 5, 2, 6)) + tmp224 = einsum(t1, (0, 1), tmp223, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) + del tmp223 + t3new += tmp224 * -1 + t3new += np.transpose(tmp224, (0, 1, 2, 5, 4, 3)) + t3new += np.transpose(tmp224, (0, 2, 1, 3, 5, 4)) * -1 + t3new += np.transpose(tmp224, (0, 2, 1, 4, 5, 3)) + t3new += np.transpose(tmp224, (1, 0, 2, 4, 3, 5)) * -1 + t3new += np.transpose(tmp224, (1, 0, 2, 5, 3, 4)) + t3new += np.transpose(tmp224, (2, 0, 1, 4, 3, 5)) + t3new += np.transpose(tmp224, (2, 0, 1, 5, 3, 4)) * -1 + t3new += np.transpose(tmp224, (1, 2, 0, 3, 5, 4)) + t3new += np.transpose(tmp224, (1, 2, 0, 4, 5, 3)) * -1 + t3new += np.transpose(tmp224, (2, 1, 0, 3, 4, 5)) + t3new += np.transpose(tmp224, (2, 1, 0, 5, 4, 3)) * -1 + del tmp224 + tmp225 = einsum(v.ooov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 3), (4, 5, 0, 1, 6, 7)) + tmp226 = einsum(t1, (0, 1), tmp225, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) + del tmp225 + t3new += np.transpose(tmp226, (0, 1, 2, 3, 5, 4)) + t3new += np.transpose(tmp226, (0, 1, 2, 4, 5, 3)) * -1 + t3new += np.transpose(tmp226, (0, 2, 1, 4, 3, 5)) * -1 + t3new += np.transpose(tmp226, (0, 2, 1, 5, 3, 4)) + t3new += np.transpose(tmp226, (1, 0, 2, 3, 4, 5)) + t3new += np.transpose(tmp226, (1, 0, 2, 5, 4, 3)) * -1 + t3new += np.transpose(tmp226, (2, 0, 1, 3, 4, 5)) * -1 + t3new += np.transpose(tmp226, (2, 0, 1, 5, 4, 3)) + t3new += np.transpose(tmp226, (2, 1, 0, 3, 5, 4)) * -1 + t3new += np.transpose(tmp226, (2, 1, 0, 4, 5, 3)) + del tmp226 + tmp227 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ooov, (6, 2, 7, 4), (0, 1, 6, 7, 3, 5)) + tmp228 = einsum(t1, (0, 1), tmp227, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) + del tmp227 + t3new += np.transpose(tmp228, (0, 1, 2, 5, 3, 4)) * -1 + t3new += np.transpose(tmp228, (2, 1, 0, 5, 3, 4)) + del tmp228 + tmp229 = einsum(v.ooov, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (4, 5, 0, 2, 6, 7)) + tmp230 = einsum(t1, (0, 1), tmp229, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) + del tmp229 + t3new += np.transpose(tmp230, (0, 1, 2, 3, 5, 4)) * -1 + t3new += np.transpose(tmp230, (0, 1, 2, 4, 5, 3)) + t3new += np.transpose(tmp230, (2, 1, 0, 3, 5, 4)) + t3new += np.transpose(tmp230, (2, 1, 0, 4, 5, 3)) * -1 + del tmp230 + tmp231 = einsum(tmp74, (0, 1), t3, (2, 3, 1, 4, 5, 6), (2, 3, 0, 4, 6, 5)) * -1 + del tmp74 + t3new += np.transpose(tmp231, (0, 1, 2, 4, 5, 3)) * -1 + t3new += np.transpose(tmp231, (2, 1, 0, 4, 5, 3)) + del tmp231 + tmp232 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp17, (6, 7, 2, 1), (6, 0, 7, 3, 5, 4)) + t3new += np.transpose(tmp232, (1, 0, 2, 4, 5, 3)) * -1 + t3new += np.transpose(tmp232, (2, 0, 1, 4, 5, 3)) + del tmp232 + tmp233 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 0, 1, 5), (4, 2, 3, 5)) + tmp234 = einsum(t2, (0, 1, 2, 3), tmp233, (4, 5, 6, 3), (0, 1, 4, 5, 6, 2)) + del tmp233 + t3new += tmp234 * -1 + t3new += np.transpose(tmp234, (0, 1, 2, 5, 4, 3)) + t3new += np.transpose(tmp234, (0, 2, 1, 4, 3, 5)) * -1 + t3new += np.transpose(tmp234, (0, 2, 1, 5, 3, 4)) + t3new += np.transpose(tmp234, (1, 0, 2, 3, 5, 4)) * -1 + t3new += np.transpose(tmp234, (1, 0, 2, 4, 5, 3)) + t3new += np.transpose(tmp234, (2, 0, 1, 3, 5, 4)) + t3new += np.transpose(tmp234, (2, 0, 1, 4, 5, 3)) * -1 + t3new += np.transpose(tmp234, (1, 2, 0, 4, 3, 5)) + t3new += np.transpose(tmp234, (1, 2, 0, 5, 3, 4)) * -1 + t3new += np.transpose(tmp234, (2, 1, 0, 3, 4, 5)) + t3new += np.transpose(tmp234, (2, 1, 0, 5, 4, 3)) * -1 + del tmp234 + tmp237 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) + tmp237 += np.transpose(t3, (1, 0, 2, 3, 5, 4)) + tmp236 = np.copy(np.transpose(v.ovov, (0, 2, 1, 3))) * -0.499999999999995 + tmp236 += einsum(t1, (0, 1), v.ovoo, (2, 3, 4, 0), (2, 4, 3, 1)) * 0.499999999999995 + tmp236 += np.transpose(tmp43, (1, 0, 2, 3)) * -0.499999999999995 + del tmp43 + tmp236 += np.transpose(tmp146, (1, 0, 3, 2)) * 0.5 + del tmp146 + tmp235 = einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) * 0.499999999999995 + tmp235 += np.transpose(t2, (0, 1, 3, 2)) * -1 + tmp235 += t2 * 0.5 + tmp236 += einsum(v.ovov, (0, 1, 2, 3), tmp235, (2, 4, 5, 3), (0, 4, 1, 5)) + del tmp235 + t3new += einsum(tmp236, (0, 1, 2, 3), tmp237, (0, 4, 5, 6, 7, 2), (4, 1, 5, 7, 3, 6)) * 2 + del tmp236, tmp237 + tmp239 = np.copy(v.oovv) * -1 + tmp239 += einsum(t1, (0, 1), v.ooov, (2, 3, 0, 4), (2, 3, 4, 1)) + tmp239 += np.transpose(tmp39, (1, 0, 3, 2)) * -1 + del tmp39 + tmp238 = np.copy(t2) + tmp238 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) + tmp239 += einsum(tmp238, (0, 1, 2, 3), v.ovov, (4, 3, 0, 5), (4, 1, 5, 2)) + del tmp238 + t3new += einsum(tmp239, (0, 1, 2, 3), t3, (4, 0, 5, 6, 2, 7), (4, 1, 5, 6, 3, 7)) + del tmp239 + tmp241 = np.copy(v.vvvv) + tmp241 += einsum(v.ovvv, (0, 1, 2, 3), t1, (0, 4), (2, 3, 4, 1)) * -1 + tmp241 += einsum(v.ovov, (0, 1, 2, 3), t2, (0, 2, 4, 5), (3, 4, 5, 1)) * -1 + tmp240 = np.copy(v.ovvv) + tmp240 += einsum(t1, (0, 1), v.ovov, (2, 3, 0, 4), (2, 4, 1, 3)) + tmp241 += einsum(t1, (0, 1), tmp240, (0, 2, 3, 4), (4, 1, 3, 2)) + del tmp240 + t3new += einsum(tmp241, (0, 1, 2, 3), t3, (4, 5, 6, 0, 7, 3), (4, 5, 6, 2, 7, 1)) * -1 + del tmp241 + tmp243 = np.copy(v.oooo) + tmp243 += np.transpose(tmp17, (2, 0, 3, 1)) * -1 + tmp243 += np.transpose(tmp17, (2, 1, 3, 0)) + del tmp17 + tmp242 = np.copy(t2) + tmp242 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 3, 1)) * -1 + tmp243 += einsum(tmp242, (0, 1, 2, 3), v.ovov, (4, 2, 5, 3), (4, 1, 5, 0)) * -1 + del tmp242 + t3new += einsum(tmp243, (0, 1, 2, 3), t3, (0, 4, 2, 5, 6, 7), (1, 4, 3, 5, 6, 7)) + del tmp243 + tmp245 = np.copy(f.vv) * -1 + tmp245 += tmp111 + del tmp111 + tmp245 += einsum(tmp11, (0, 1, 2, 3), tmp1, (0, 1, 2, 4), (3, 4)) + tmp244 = np.copy(v.ovvv) * -1 + tmp244 += np.transpose(v.ovvv, (0, 2, 1, 3)) * 2 + tmp245 += einsum(tmp244, (0, 1, 2, 3), t1, (0, 2), (1, 3)) * -1 + del tmp244 + t3new += einsum(t3, (0, 1, 2, 3, 4, 5), tmp245, (4, 6), (0, 1, 2, 3, 6, 5)) * -1 + del tmp245 + tmp246 = np.copy(f.oo) + tmp246 += tmp10 + del tmp10 + tmp246 += einsum(tmp11, (0, 1, 2, 3), tmp1, (0, 4, 2, 3), (1, 4)) + del tmp1, tmp11 + tmp246 += einsum(t1, (0, 1), tmp12, (2, 3, 0, 1), (3, 2)) * 2 + del tmp12 + t3new += einsum(t3, (0, 1, 2, 3, 4, 5), tmp246, (1, 6), (0, 6, 2, 3, 4, 5)) * -1 + del tmp246 -def update_lams(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, t3=None, l1=None, l2=None, l3=None, **kwargs): - # L amplitudes - l1new = np.zeros((nvir, nocc), dtype=types[float]) - l1new += einsum(f.ov, (0, 1), (1, 0)) - l2new = np.zeros((nvir, nvir, nocc, nocc), dtype=types[float]) - l2new += einsum(l2, (0, 1, 2, 3), v.vvvv, (4, 1, 5, 0), (4, 5, 3, 2)) - l2new += einsum(v.ovov, (0, 1, 2, 3), (1, 3, 0, 2)) - l2new += einsum(l2, (0, 1, 2, 3), v.oooo, (4, 2, 5, 3), (0, 1, 4, 5)) - l3new = np.zeros((nvir, nvir, nvir, nocc, nocc, nocc), dtype=types[float]) - l3new += einsum(l1, (0, 1), v.ovov, (2, 3, 4, 5), (0, 3, 5, 1, 2, 4)) - l3new += einsum(l1, (0, 1), v.ovov, (2, 3, 4, 5), (5, 3, 0, 1, 2, 4)) * -1.0 - l3new += einsum(l1, (0, 1), v.ovov, (2, 3, 4, 5), (5, 0, 3, 2, 1, 4)) * -1.0 + return {f"t1new": t1new, f"t2new": t2new, f"t3new": t3new} + +def update_lams(f=None, l1=None, l2=None, l3=None, t1=None, t2=None, t3=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-10-22T08:48:08.477810. + + Parameters + ---------- + f : array + Fock matrix. + l1 : array + L1 amplitudes. + l2 : array + L2 amplitudes. + l3 : array + L3 amplitudes. + t1 : array + T1 amplitudes. + t2 : array + T2 amplitudes. + t3 : array + T3 amplitudes. + v : array + Electron repulsion integrals. + + Returns + ------- + l1new : array + Updated L1 residuals. + l2new : array + Updated L2 residuals. + l3new : array + Updated L3 residuals. + """ + + l3new = einsum(l3, (0, 1, 2, 3, 4, 5), v.oovv, (6, 4, 7, 1), (0, 7, 2, 3, 6, 5)) * -1 + tmp187 = einsum(t1, (0, 1), v.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) + tmp238 = einsum(l3, (0, 1, 2, 3, 4, 5), t1, (6, 2), (3, 5, 4, 6, 0, 1)) + l3new += einsum(tmp238, (0, 1, 2, 3, 4, 5), tmp187, (2, 6, 3, 7), (4, 7, 5, 1, 6, 0)) * -1 + tmp393 = einsum(l3, (0, 1, 2, 3, 4, 5), t1, (6, 1), (3, 5, 4, 6, 0, 2)) + l3new += einsum(v.ooov, (0, 1, 2, 3), tmp393, (4, 5, 1, 2, 6, 7), (7, 3, 6, 5, 0, 4)) + tmp237 = einsum(l3, (0, 1, 2, 3, 4, 5), v.vvvv, (6, 0, 7, 2), (3, 5, 4, 1, 6, 7)) + l3new += np.transpose(tmp237, (5, 3, 4, 1, 2, 0)) + tmp394 = einsum(l2, (0, 1, 2, 3), v.ooov, (4, 3, 5, 6), (2, 4, 5, 0, 1, 6)) + l3new += np.transpose(tmp394, (3, 4, 5, 0, 1, 2)) * -1 + l3new += np.transpose(tmp394, (5, 4, 3, 0, 1, 2)) + l3new += np.transpose(tmp394, (3, 5, 4, 0, 2, 1)) * -1 + l3new += np.transpose(tmp394, (4, 5, 3, 0, 2, 1)) + l3new += np.transpose(tmp394, (4, 3, 5, 1, 0, 2)) * -1 + l3new += np.transpose(tmp394, (5, 3, 4, 1, 0, 2)) + l3new += np.transpose(tmp394, (4, 3, 5, 2, 0, 1)) + l3new += np.transpose(tmp394, (5, 3, 4, 2, 0, 1)) * -1 + l3new += np.transpose(tmp394, (3, 5, 4, 1, 2, 0)) + l3new += np.transpose(tmp394, (4, 5, 3, 1, 2, 0)) * -1 + l3new += np.transpose(tmp394, (3, 4, 5, 2, 1, 0)) + l3new += np.transpose(tmp394, (5, 4, 3, 2, 1, 0)) * -1 + del tmp394 + tmp395 = np.copy(f.oo) + tmp319 = einsum(f.ov, (0, 1), t1, (2, 1), (0, 2)) + tmp395 += np.transpose(tmp319, (1, 0)) + tmp396 = einsum(l3, (0, 1, 2, 3, 4, 5), tmp395, (5, 6), (6, 3, 4, 0, 2, 1)) * -1 + del tmp395 + l3new += np.transpose(tmp396, (4, 5, 3, 0, 2, 1)) + l3new += np.transpose(tmp396, (4, 5, 3, 1, 2, 0)) * -1 + del tmp396 + tmp334 = einsum(l3, (0, 1, 2, 3, 4, 5), v.oovv, (6, 5, 7, 2), (3, 4, 6, 0, 1, 7)) + tmp400 = np.copy(tmp334) + tmp397 = einsum(v.ooov, (0, 1, 2, 3), tmp238, (4, 1, 5, 2, 6, 7), (4, 5, 0, 6, 7, 3)) + tmp400 += tmp397 * -1 + del tmp397 + tmp240 = einsum(v.ovvv, (0, 1, 2, 3), l3, (4, 5, 3, 6, 7, 8), (6, 8, 7, 0, 4, 5, 1, 2)) + tmp398 = einsum(t1, (0, 1), tmp240, (2, 0, 3, 4, 5, 6, 1, 7), (2, 3, 4, 5, 6, 7)) + tmp400 += tmp398 + del tmp398 + tmp399 = einsum(tmp187, (0, 1, 2, 3), tmp238, (4, 0, 5, 1, 6, 7), (4, 5, 2, 6, 7, 3)) + tmp400 += tmp399 * -1 + del tmp399 + l3new += np.transpose(tmp400, (3, 4, 5, 0, 1, 2)) * -1 + l3new += np.transpose(tmp400, (5, 4, 3, 0, 1, 2)) + l3new += np.transpose(tmp400, (3, 4, 5, 2, 1, 0)) + l3new += np.transpose(tmp400, (5, 4, 3, 2, 1, 0)) * -1 + del tmp400 + tmp361 = einsum(l3, (0, 1, 2, 3, 4, 5), v.oovv, (6, 4, 7, 2), (3, 5, 6, 0, 1, 7)) + tmp405 = np.copy(np.transpose(tmp361, (1, 0, 2, 3, 4, 5))) + tmp401 = einsum(v.ooov, (0, 1, 2, 3), tmp238, (4, 5, 1, 2, 6, 7), (4, 5, 0, 6, 7, 3)) + tmp405 += np.transpose(tmp401, (1, 0, 2, 3, 4, 5)) * -1 + del tmp401 + tmp351 = einsum(v.ovvv, (0, 1, 2, 3), t1, (0, 1), (2, 3)) + tmp402 = einsum(tmp351, (0, 1), l3, (2, 3, 1, 4, 5, 6), (4, 6, 5, 2, 3, 0)) + tmp405 += np.transpose(tmp402, (1, 0, 2, 3, 4, 5)) * -2 + del tmp402 + tmp290 = einsum(t1, (0, 1), tmp240, (2, 3, 0, 4, 5, 6, 1, 7), (2, 3, 4, 5, 6, 7)) + tmp405 += np.transpose(tmp290, (1, 0, 2, 3, 4, 5)) + tmp403 = einsum(t1, (0, 1), v.ovov, (2, 1, 0, 3), (2, 3)) + tmp404 = einsum(tmp403, (0, 1), tmp238, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 6, 1)) + tmp405 += np.transpose(tmp404, (1, 0, 2, 3, 4, 5)) * -1 + del tmp404 + tmp292 = einsum(tmp187, (0, 1, 2, 3), tmp238, (4, 5, 0, 1, 6, 7), (4, 5, 2, 6, 7, 3)) + tmp405 += np.transpose(tmp292, (1, 0, 2, 3, 4, 5)) * -1 + l3new += np.transpose(tmp405, (3, 4, 5, 0, 2, 1)) + l3new += np.transpose(tmp405, (5, 4, 3, 0, 2, 1)) * -1 + del tmp405 + tmp406 = einsum(l3, (0, 1, 2, 3, 4, 5), v.ovov, (6, 7, 5, 2), (3, 4, 6, 0, 1, 7)) + l3new += np.transpose(tmp406, (3, 4, 5, 0, 1, 2)) + l3new += np.transpose(tmp406, (5, 4, 3, 0, 1, 2)) * -1 + l3new += np.transpose(tmp406, (4, 3, 5, 1, 0, 2)) + l3new += np.transpose(tmp406, (5, 3, 4, 1, 0, 2)) * -1 + l3new += np.transpose(tmp406, (4, 3, 5, 2, 0, 1)) * -1 + l3new += np.transpose(tmp406, (5, 3, 4, 2, 0, 1)) + l3new += np.transpose(tmp406, (3, 4, 5, 2, 1, 0)) * -1 + l3new += np.transpose(tmp406, (5, 4, 3, 2, 1, 0)) + del tmp406 + tmp360 = einsum(l3, (0, 1, 2, 3, 4, 5), v.oovv, (6, 5, 7, 1), (3, 4, 6, 0, 2, 7)) + tmp413 = np.copy(np.transpose(tmp360, (0, 1, 2, 4, 3, 5))) + tmp407 = einsum(v.ooov, (0, 1, 2, 3), tmp393, (4, 1, 5, 2, 6, 7), (4, 5, 0, 6, 7, 3)) + tmp413 += np.transpose(tmp407, (0, 1, 2, 4, 3, 5)) * -1 + del tmp407 + tmp369 = einsum(v.ovvv, (0, 1, 2, 3), l3, (4, 3, 5, 6, 7, 8), (6, 8, 7, 0, 4, 5, 1, 2)) + tmp408 = einsum(t1, (0, 1), tmp369, (2, 0, 3, 4, 5, 6, 1, 7), (2, 3, 4, 5, 6, 7)) + tmp413 += np.transpose(tmp408, (0, 1, 2, 4, 3, 5)) + del tmp408 + tmp409 = einsum(tmp393, (0, 1, 2, 3, 4, 5), tmp187, (1, 3, 6, 7), (0, 2, 6, 4, 5, 7)) + tmp413 += np.transpose(tmp409, (0, 1, 2, 4, 3, 5)) * -1 + del tmp409 + tmp382 = einsum(t1, (0, 1), v.ooov, (2, 0, 3, 1), (2, 3)) + tmp411 = np.copy(tmp382) + tmp410 = einsum(t1, (0, 1), tmp403, (2, 1), (0, 2)) + del tmp403 + tmp411 += tmp410 + del tmp410 + tmp412 = einsum(l3, (0, 1, 2, 3, 4, 5), tmp411, (5, 6), (6, 3, 4, 0, 2, 1)) * -1 + del tmp411 + tmp413 += np.transpose(tmp412, (1, 2, 0, 4, 3, 5)) + del tmp412 + l3new += np.transpose(tmp413, (3, 5, 4, 0, 1, 2)) + l3new += np.transpose(tmp413, (3, 5, 4, 2, 1, 0)) * -1 + del tmp413 + tmp414 = einsum(f.ov, (0, 1), tmp238, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) + l3new += np.transpose(tmp414, (3, 5, 4, 1, 2, 0)) * -1 + l3new += np.transpose(tmp414, (4, 5, 3, 1, 2, 0)) + del tmp414 + tmp415 = einsum(l2, (0, 1, 2, 3), tmp187, (3, 4, 5, 6), (2, 4, 5, 0, 1, 6)) + l3new += np.transpose(tmp415, (3, 5, 4, 0, 1, 2)) * -1 + l3new += np.transpose(tmp415, (4, 5, 3, 0, 1, 2)) + l3new += np.transpose(tmp415, (3, 4, 5, 0, 2, 1)) * -1 + l3new += np.transpose(tmp415, (5, 4, 3, 0, 2, 1)) + l3new += np.transpose(tmp415, (4, 3, 5, 1, 0, 2)) + l3new += np.transpose(tmp415, (5, 3, 4, 1, 0, 2)) * -1 + l3new += np.transpose(tmp415, (4, 3, 5, 2, 0, 1)) * -1 + l3new += np.transpose(tmp415, (5, 3, 4, 2, 0, 1)) + l3new += np.transpose(tmp415, (3, 4, 5, 1, 2, 0)) + l3new += np.transpose(tmp415, (5, 4, 3, 1, 2, 0)) * -1 + l3new += np.transpose(tmp415, (3, 5, 4, 2, 1, 0)) + l3new += np.transpose(tmp415, (4, 5, 3, 2, 1, 0)) * -1 + del tmp415 + tmp106 = einsum(l2, (0, 1, 2, 3), t1, (4, 1), (2, 3, 4, 0)) + tmp416 = einsum(tmp106, (0, 1, 2, 3), v.ovov, (4, 5, 2, 6), (0, 1, 4, 3, 5, 6)) + l3new += np.transpose(tmp416, (3, 5, 4, 0, 1, 2)) * -1 + l3new += np.transpose(tmp416, (4, 5, 3, 0, 1, 2)) + l3new += np.transpose(tmp416, (3, 4, 5, 0, 2, 1)) * -1 + l3new += np.transpose(tmp416, (5, 4, 3, 0, 2, 1)) + l3new += np.transpose(tmp416, (4, 3, 5, 1, 0, 2)) + l3new += np.transpose(tmp416, (5, 3, 4, 1, 0, 2)) * -1 + l3new += np.transpose(tmp416, (4, 3, 5, 2, 0, 1)) * -1 + l3new += np.transpose(tmp416, (5, 3, 4, 2, 0, 1)) + l3new += np.transpose(tmp416, (3, 4, 5, 1, 2, 0)) + l3new += np.transpose(tmp416, (5, 4, 3, 1, 2, 0)) * -1 + l3new += np.transpose(tmp416, (3, 5, 4, 2, 1, 0)) + l3new += np.transpose(tmp416, (4, 5, 3, 2, 1, 0)) * -1 + del tmp416 + l3new += einsum(v.ovov, (0, 1, 2, 3), l1, (4, 5), (4, 1, 3, 5, 0, 2)) + l3new += einsum(v.ovov, (0, 1, 2, 3), l1, (4, 5), (3, 1, 4, 5, 0, 2)) * -1 + l3new += einsum(l1, (0, 1), v.ovov, (2, 3, 4, 5), (5, 0, 3, 2, 1, 4)) * -1 l3new += einsum(l1, (0, 1), v.ovov, (2, 3, 4, 5), (3, 0, 5, 2, 1, 4)) - l3new += einsum(l1, (0, 1), v.ovov, (2, 3, 4, 5), (0, 5, 3, 2, 4, 1)) * -1.0 + l3new += einsum(v.ovov, (0, 1, 2, 3), l1, (4, 5), (4, 3, 1, 0, 2, 5)) * -1 l3new += einsum(l1, (0, 1), v.ovov, (2, 3, 4, 5), (3, 5, 0, 2, 4, 1)) - x0 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x0 += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 3), (4, 5, 0, 1, 6, 7)) - x1 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x1 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x1 += einsum(v.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - x2 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x2 += einsum(x1, (0, 1, 2, 3), t3, (4, 5, 0, 6, 3, 7), (4, 5, 1, 2, 7, 6)) * 0.25 - x3 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x3 += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (4, 5, 0, 2, 6, 7)) - x4 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x4 += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 2, 5, 6, 3, 7), (4, 5, 0, 1, 6, 7)) - x5 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x5 += einsum(t1, (0, 1), v.ooov, (2, 3, 4, 1), (0, 2, 3, 4)) - x6 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x6 += einsum(t2, (0, 1, 2, 3), x5, (4, 5, 1, 6), (4, 0, 5, 6, 2, 3)) - x7 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x7 += einsum(t2, (0, 1, 2, 3), x5, (4, 5, 6, 1), (4, 0, 5, 6, 2, 3)) - x8 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x8 += einsum(t1, (0, 1), v.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) - x9 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x9 += einsum(x8, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (0, 4, 5, 2, 6, 7)) - x10 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x10 += einsum(x8, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x10 += einsum(x8, (0, 1, 2, 3), (0, 2, 1, 3)) - x11 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x11 += einsum(x10, (0, 1, 2, 3), t3, (4, 5, 1, 6, 3, 7), (4, 5, 0, 2, 7, 6)) * 0.25 - x12 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x12 += einsum(x8, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 3), (0, 4, 5, 1, 6, 7)) - x13 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x13 += einsum(x8, (0, 1, 2, 3), t3, (4, 1, 5, 6, 3, 7), (0, 4, 5, 2, 6, 7)) - x14 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x14 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -0.5 - x14 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x15 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x15 += einsum(t2, (0, 1, 2, 3), x14, (1, 4, 3, 5), (0, 4, 2, 5)) - x16 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x16 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x16 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x17 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x17 += einsum(t2, (0, 1, 2, 3), x16, (1, 4, 2, 5), (0, 4, 3, 5)) * 0.5 - x18 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x18 += einsum(x15, (0, 1, 2, 3), (0, 1, 2, 3)) - x18 += einsum(x17, (0, 1, 2, 3), (0, 1, 2, 3)) - x19 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x19 += einsum(t2, (0, 1, 2, 3), x18, (4, 5, 6, 2), (0, 1, 4, 5, 3, 6)) * 2.0 - x20 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x20 += einsum(t1, (0, 1), x8, (2, 3, 4, 1), (0, 2, 3, 4)) - x21 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x21 += einsum(t2, (0, 1, 2, 3), x20, (4, 5, 1, 6), (5, 4, 0, 6, 2, 3)) - x22 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x22 += einsum(v.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x22 += einsum(v.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) - x23 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x23 += einsum(t1, (0, 1), x22, (2, 3, 1, 4), (0, 2, 3, 4)) * -1.0 - x24 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x24 += einsum(t2, (0, 1, 2, 3), x8, (4, 5, 6, 3), (4, 0, 1, 6, 5, 2)) - x25 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x25 += einsum(x24, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - x25 += einsum(x24, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) - x26 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x26 += einsum(x0, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) * 1.25 - x26 += einsum(x0, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) * -0.25 - x26 += einsum(x0, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -0.25 - x26 += einsum(x0, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * 1.25 - del x0 - x26 += einsum(x2, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) - x26 += einsum(x2, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -1.0 - del x2 - x26 += einsum(x3, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) * -0.25 - x26 += einsum(x3, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) * 0.25 - x26 += einsum(x3, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * 0.25 - x26 += einsum(x3, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -1.25 - del x3 - x26 += einsum(x4, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -0.25 - x26 += einsum(x4, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * 0.25 - del x4 - x26 += einsum(x6, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * 0.5 - x26 += einsum(x6, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.5 - x26 += einsum(x7, (0, 1, 2, 3, 4, 5), (0, 3, 1, 2, 4, 5)) * -0.5 - x26 += einsum(x7, (0, 1, 2, 3, 4, 5), (0, 3, 1, 2, 5, 4)) * 0.5 - x26 += einsum(x9, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 1.25 - x26 += einsum(x9, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -0.25 - x26 += einsum(x9, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -0.25 - x26 += einsum(x9, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 1.25 - del x9 - x26 += einsum(x11, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) - x26 += einsum(x11, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -1.0 - del x11 - x26 += einsum(x12, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -0.25 - x26 += einsum(x12, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 0.25 - x26 += einsum(x12, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * 0.25 - x26 += einsum(x12, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.25 - del x12 - x26 += einsum(x13, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -0.25 - x26 += einsum(x13, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 0.25 - del x13 - x26 += einsum(x19, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -1.0 - x26 += einsum(x19, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) * 0.5 - del x19 - x26 += einsum(x21, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 0.5 - x26 += einsum(x21, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.5 - x26 += einsum(x21, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * -0.5 - x26 += einsum(x21, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * 0.5 - x26 += einsum(t2, (0, 1, 2, 3), x23, (4, 5, 3, 6), (4, 0, 1, 5, 2, 6)) * -1.0 - del x23 - x26 += einsum(t1, (0, 1), x25, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 6, 1)) * -1.0 - del x25 - l1new += einsum(l3, (0, 1, 2, 3, 4, 5), x26, (3, 4, 5, 6, 1, 2), (0, 6)) * -1.0 - del x26 - x27 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x27 += einsum(f.ov, (0, 1), t3, (2, 3, 4, 5, 6, 1), (0, 2, 4, 3, 5, 6)) - x28 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x28 += einsum(f.ov, (0, 1), t3, (2, 3, 4, 5, 1, 6), (0, 2, 4, 3, 5, 6)) - x29 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x29 += einsum(x1, (0, 1, 2, 3), t3, (4, 5, 0, 6, 7, 3), (4, 5, 1, 2, 6, 7)) * 1.00000000000004 - x30 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x30 += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 6, 1, 7, 3), (4, 6, 5, 0, 7, 2)) - x31 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x31 += einsum(t2, (0, 1, 2, 3), x18, (4, 5, 6, 2), (0, 1, 4, 5, 3, 6)) * 2.00000000000008 - del x18 - x32 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x32 += einsum(x30, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - x32 += einsum(x31, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) - del x31 - x33 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x33 += einsum(x10, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (4, 5, 0, 2, 6, 7)) * 1.00000000000004 - x34 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x34 += einsum(v.ovov, (0, 1, 2, 3), t3, (4, 5, 6, 1, 7, 3), (4, 6, 5, 0, 2, 7)) - x35 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x35 += einsum(t1, (0, 1), x34, (2, 3, 4, 0, 5, 6), (3, 2, 4, 5, 1, 6)) - del x34 - x36 = np.zeros((nocc, nvir), dtype=types[float]) - x36 += einsum(t1, (0, 1), x14, (0, 2, 1, 3), (2, 3)) - x37 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x37 += einsum(x36, (0, 1), t3, (2, 3, 4, 5, 1, 6), (2, 4, 3, 0, 5, 6)) * 0.6666666666666666 - x38 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x38 += einsum(x36, (0, 1), t3, (2, 3, 4, 1, 5, 6), (2, 4, 3, 0, 6, 5)) * 0.6666666666666666 - x39 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x39 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x39 += einsum(v.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - x39 += einsum(x8, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x39 += einsum(x8, (0, 1, 2, 3), (2, 0, 1, 3)) - x40 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x40 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x40 += einsum(x8, (0, 1, 2, 3), (0, 2, 1, 3)) - x41 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x41 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x41 += einsum(x8, (0, 1, 2, 3), (2, 0, 1, 3)) - x42 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x42 += einsum(x27, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -0.3333333333333333 - x42 += einsum(x27, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * 2.333333333333333 - x42 += einsum(x27, (0, 1, 2, 3, 4, 5), (2, 3, 0, 1, 4, 5)) * 0.3333333333333333 - x42 += einsum(x27, (0, 1, 2, 3, 4, 5), (2, 3, 0, 1, 5, 4)) * -0.3333333333333333 - x42 += einsum(x28, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * 0.3333333333333333 - x42 += einsum(x28, (0, 1, 2, 3, 4, 5), (1, 3, 0, 2, 5, 4)) * -0.3333333333333333 - del x28 - x42 += einsum(x29, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) - x42 += einsum(x29, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -1.0 - del x29 - x42 += einsum(x32, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) - x42 += einsum(x32, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) * -1.0 - del x32 - x42 += einsum(x33, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) - x42 += einsum(x33, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -1.0 - del x33 - x42 += einsum(x35, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -1.0 - x42 += einsum(x35, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 5, 4)) - x42 += einsum(x37, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) - x42 += einsum(x37, (0, 1, 2, 3, 4, 5), (1, 2, 3, 0, 4, 5)) * -1.0 - del x37 - x42 += einsum(x38, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 - x42 += einsum(x38, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * 6.999999999999999 - x42 += einsum(x38, (0, 1, 2, 3, 4, 5), (0, 2, 3, 1, 4, 5)) - x42 += einsum(x38, (0, 1, 2, 3, 4, 5), (0, 2, 3, 1, 5, 4)) * -1.0 - del x38 - x42 += einsum(x39, (0, 1, 2, 3), t3, (4, 5, 0, 6, 3, 7), (4, 5, 2, 1, 6, 7)) * -1.00000000000004 - del x39 - x42 += einsum(x40, (0, 1, 2, 3), t3, (4, 2, 5, 6, 3, 7), (4, 5, 1, 0, 7, 6)) * 1.00000000000004 - x42 += einsum(x41, (0, 1, 2, 3), t3, (4, 0, 5, 3, 6, 7), (4, 5, 2, 1, 6, 7)) * -2.00000000000008 - l1new += einsum(l3, (0, 1, 2, 3, 4, 5), x42, (3, 5, 6, 4, 1, 2), (0, 6)) * -0.24999999999999 - del x42 - x43 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x43 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x43 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * 2.0 - x44 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x44 += einsum(t2, (0, 1, 2, 3), x43, (1, 4, 3, 5), (0, 4, 2, 5)) * 1.5000000000000002 - x45 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x45 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x45 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * 3.0000000000000004 - x46 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x46 += einsum(t2, (0, 1, 2, 3), x45, (1, 4, 2, 5), (0, 4, 3, 5)) * 0.5 - del x45 - x47 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x47 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) - x47 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -2.0 - x47 += einsum(x44, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x44 - x47 += einsum(x46, (0, 1, 2, 3), (0, 1, 2, 3)) - del x46 - x48 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x48 += einsum(t2, (0, 1, 2, 3), x47, (4, 5, 6, 2), (0, 1, 4, 5, 3, 6)) * 6.00000000000024 - del x47 - x49 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x49 += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), (0, 1, 4, 5, 6, 2)) - x50 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x50 += einsum(x49, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -0.5 - x50 += einsum(x49, (0, 1, 2, 3, 4, 5), (0, 1, 3, 4, 2, 5)) - x51 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x51 += einsum(t1, (0, 1), x50, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) * 12.00000000000048 - del x50 - x52 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x52 += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 1, 3), (4, 6, 5, 0, 7, 2)) - x53 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x53 += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 3, 1), (4, 6, 5, 0, 7, 2)) - x54 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x54 += einsum(v.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) - x54 += einsum(v.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 - x55 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x55 += einsum(t1, (0, 1), x54, (2, 3, 1, 4), (0, 2, 3, 4)) - x56 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x56 += einsum(t2, (0, 1, 2, 3), x55, (4, 5, 2, 6), (0, 1, 4, 5, 3, 6)) * 12.00000000000048 - del x55 - x57 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x57 += einsum(v.ovov, (0, 1, 2, 3), t3, (4, 5, 6, 7, 3, 1), (4, 6, 5, 0, 2, 7)) - x58 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x58 += einsum(t1, (0, 1), x57, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - x59 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x59 += einsum(t1, (0, 1), x57, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 1, 6)) - x60 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x60 += einsum(x24, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - x60 += einsum(x24, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -0.5 - x61 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x61 += einsum(t1, (0, 1), x60, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 1, 6)) * 12.00000000000048 - del x60 - x62 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x62 += einsum(x48, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) - x62 += einsum(x48, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 - del x48 - x62 += einsum(x51, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) - x62 += einsum(x51, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 5, 4)) * -1.0 - del x51 - x62 += einsum(x52, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * 2.0 - x62 += einsum(x52, (0, 1, 2, 3, 4, 5), (2, 1, 3, 0, 4, 5)) * -2.0 - x62 += einsum(x30, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 - x62 += einsum(x30, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) - x62 += einsum(x30, (0, 1, 2, 3, 4, 5), (2, 0, 3, 1, 4, 5)) * -1.0 - x62 += einsum(x30, (0, 1, 2, 3, 4, 5), (2, 1, 3, 0, 4, 5)) - x62 += einsum(x53, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -8.0 - x62 += einsum(x53, (0, 1, 2, 3, 4, 5), (2, 1, 3, 0, 4, 5)) * 2.0 - del x53 - x62 += einsum(x56, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) * -1.0 - x62 += einsum(x56, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) - del x56 - x62 += einsum(x58, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * 8.0 - x62 += einsum(x58, (0, 1, 2, 3, 4, 5), (2, 1, 3, 0, 5, 4)) * -2.0 - del x58 - x62 += einsum(x35, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) - x62 += einsum(x35, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 5, 4)) * -1.0 - x62 += einsum(x35, (0, 1, 2, 3, 4, 5), (2, 0, 3, 1, 5, 4)) - x62 += einsum(x35, (0, 1, 2, 3, 4, 5), (2, 1, 3, 0, 5, 4)) * -1.0 - x62 += einsum(x59, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -2.0 - x62 += einsum(x59, (0, 1, 2, 3, 4, 5), (2, 1, 3, 0, 5, 4)) * 2.0 - x62 += einsum(x61, (0, 1, 2, 3, 4, 5), (1, 2, 3, 0, 5, 4)) - x62 += einsum(x61, (0, 1, 2, 3, 4, 5), (2, 1, 3, 0, 5, 4)) * -1.0 - del x61 - l1new += einsum(l3, (0, 1, 2, 3, 4, 5), x62, (5, 3, 6, 4, 2, 1), (0, 6)) * 0.08333333333333 - del x62 - x63 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x63 += einsum(t2, (0, 1, 2, 3), v.oooo, (4, 5, 6, 1), (0, 4, 5, 6, 2, 3)) - x64 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x64 += einsum(x36, (0, 1), t3, (2, 3, 4, 1, 5, 6), (2, 4, 3, 0, 6, 5)) * 0.11111111111110666 - x65 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x65 += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 2, 5, 3), (0, 1, 4, 5)) - x66 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x66 += einsum(t2, (0, 1, 2, 3), x65, (4, 5, 6, 1), (4, 5, 0, 6, 2, 3)) - x67 = np.zeros((nocc, nvir), dtype=types[float]) - x67 += einsum(t1, (0, 1), x14, (0, 2, 1, 3), (2, 3)) * 2.0 - x68 = np.zeros((nocc, nvir), dtype=types[float]) - x68 += einsum(f.ov, (0, 1), (0, 1)) - x68 += einsum(x67, (0, 1), (0, 1)) - l3new += einsum(x68, (0, 1), l2, (2, 3, 4, 5), (1, 2, 3, 0, 4, 5)) - l3new += einsum(x68, (0, 1), l2, (2, 3, 4, 5), (2, 3, 1, 4, 5, 0)) - l3new += einsum(x68, (0, 1), l2, (2, 3, 4, 5), (2, 3, 1, 0, 5, 4)) * -1.0 - l3new += einsum(x68, (0, 1), l2, (2, 3, 4, 5), (1, 2, 3, 5, 4, 0)) * -1.0 - x69 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x69 += einsum(x63, (0, 1, 2, 3, 4, 5), (1, 2, 3, 0, 4, 5)) * 0.3333333333333333 - x69 += einsum(x63, (0, 1, 2, 3, 4, 5), (1, 2, 3, 0, 5, 4)) * -1.0 - x69 += einsum(x63, (0, 1, 2, 3, 4, 5), (1, 3, 2, 0, 4, 5)) * -0.3333333333333333 - x69 += einsum(x63, (0, 1, 2, 3, 4, 5), (1, 3, 2, 0, 5, 4)) * 0.3333333333333333 - x69 += einsum(x27, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -0.05555555555555333 - x69 += einsum(x27, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 0.05555555555555333 - del x27 - x69 += einsum(x7, (0, 1, 2, 3, 4, 5), (2, 3, 0, 1, 4, 5)) * 0.3333333333333333 - x69 += einsum(x7, (0, 1, 2, 3, 4, 5), (2, 3, 0, 1, 5, 4)) * -1.0 - x69 += einsum(x6, (0, 1, 2, 3, 4, 5), (3, 2, 0, 1, 4, 5)) * -0.3333333333333333 - x69 += einsum(x6, (0, 1, 2, 3, 4, 5), (3, 2, 0, 1, 5, 4)) * 0.3333333333333333 - x69 += einsum(x64, (0, 1, 2, 3, 4, 5), (3, 1, 0, 2, 4, 5)) * -1.0 - x69 += einsum(x64, (0, 1, 2, 3, 4, 5), (3, 1, 0, 2, 5, 4)) - del x64 - x69 += einsum(x66, (0, 1, 2, 3, 4, 5), (3, 0, 1, 2, 4, 5)) * 0.3333333333333333 - x69 += einsum(x66, (0, 1, 2, 3, 4, 5), (3, 0, 1, 2, 5, 4)) * -1.0 - x69 += einsum(x66, (0, 1, 2, 3, 4, 5), (3, 1, 0, 2, 4, 5)) * -0.3333333333333333 - x69 += einsum(x66, (0, 1, 2, 3, 4, 5), (3, 1, 0, 2, 5, 4)) * 0.3333333333333333 - x69 += einsum(x68, (0, 1), t3, (2, 3, 4, 5, 1, 6), (0, 2, 4, 3, 5, 6)) * 0.05555555555555333 - l1new += einsum(l3, (0, 1, 2, 3, 4, 5), x69, (6, 5, 4, 3, 1, 2), (0, 6)) * 1.5 - del x69 - x70 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x70 += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 2, 1, 5), (0, 4, 3, 5)) - x71 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x71 += einsum(t2, (0, 1, 2, 3), x70, (4, 5, 6, 3), (0, 1, 4, 5, 2, 6)) - x72 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x72 += einsum(t1, (0, 1), x49, (2, 3, 4, 5, 0, 6), (2, 3, 5, 4, 1, 6)) - x73 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x73 += einsum(t1, (0, 1), x24, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - x74 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x74 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - x74 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) - x74 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) - x75 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x75 += einsum(x71, (0, 1, 2, 3, 4, 5), (3, 1, 0, 2, 4, 5)) * 2.0 - x75 += einsum(x66, (0, 1, 2, 3, 4, 5), (3, 2, 1, 0, 5, 4)) * 2.0 - del x66 - x75 += einsum(x59, (0, 1, 2, 3, 4, 5), (3, 0, 1, 2, 5, 4)) * -1.9999999999999198 - del x59 - x75 += einsum(x72, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) * -2.0 - x75 += einsum(x72, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * 2.0 - x75 += einsum(x73, (0, 1, 2, 3, 4, 5), (3, 1, 2, 0, 5, 4)) * -2.0 - x75 += einsum(x73, (0, 1, 2, 3, 4, 5), (3, 2, 1, 0, 5, 4)) * 2.0 - x75 += einsum(x40, (0, 1, 2, 3), x74, (2, 4, 5, 3, 6, 7), (1, 5, 4, 0, 7, 6)) - del x74 - x75 += einsum(x41, (0, 1, 2, 3), t3, (4, 0, 5, 6, 3, 7), (2, 4, 5, 1, 6, 7)) * -1.0 - del x41 - x75 += einsum(x68, (0, 1), t3, (2, 3, 4, 5, 1, 6), (0, 2, 4, 3, 5, 6)) * 0.99999999999996 - l1new += einsum(l3, (0, 1, 2, 3, 4, 5), x75, (6, 3, 5, 4, 0, 2), (1, 6)) * -0.25 - del x75 - x76 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x76 += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 3, 1, 5), (0, 4, 2, 5)) - x77 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x77 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x77 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x78 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x78 += einsum(v.ovov, (0, 1, 2, 3), x77, (2, 4, 3, 5), (0, 4, 1, 5)) * 0.5 - x79 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x79 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x79 += einsum(x76, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x79 += einsum(x78, (0, 1, 2, 3), (1, 0, 3, 2)) - del x78 - x80 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x80 += einsum(t2, (0, 1, 2, 3), x79, (4, 5, 6, 2), (0, 1, 4, 5, 3, 6)) - del x79 - x81 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x81 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) - x81 += einsum(x70, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x82 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x82 += einsum(t2, (0, 1, 2, 3), x81, (4, 5, 6, 2), (0, 1, 4, 5, 3, 6)) * 2.0 - del x81 - x83 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x83 += einsum(t1, (0, 1), x49, (2, 3, 0, 4, 5, 6), (2, 3, 4, 5, 1, 6)) - x84 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x84 += einsum(x80, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) - x84 += einsum(x80, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 - del x80 - x84 += einsum(x82, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) * -1.0 - x84 += einsum(x82, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * 0.5 - del x82 - x84 += einsum(x72, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * 2.0 - x84 += einsum(x72, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 5, 4)) * -1.0 - del x72 - x84 += einsum(x83, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -1.0 - x84 += einsum(x83, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 5, 4)) - l1new += einsum(l3, (0, 1, 2, 3, 4, 5), x84, (3, 4, 6, 5, 2, 1), (0, 6)) * -1.0 - del x84 - x85 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x85 += einsum(x5, (0, 1, 2, 3), (0, 2, 1, 3)) - x85 += einsum(x5, (0, 1, 2, 3), (0, 3, 2, 1)) * -1.0 - x86 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x86 += einsum(t2, (0, 1, 2, 3), x85, (4, 1, 5, 6), (0, 4, 5, 6, 3, 2)) * 6.0 - del x85 - x87 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x87 += einsum(x65, (0, 1, 2, 3), (1, 0, 3, 2)) - x87 += einsum(x20, (0, 1, 2, 3), (0, 1, 2, 3)) - l2new += einsum(l2, (0, 1, 2, 3), x87, (3, 2, 4, 5), (0, 1, 5, 4)) - x88 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x88 += einsum(t2, (0, 1, 2, 3), x87, (4, 5, 1, 6), (0, 4, 5, 6, 3, 2)) * 3.0 - x89 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x89 += einsum(x63, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * -3.0 - x89 += einsum(x63, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) - x89 += einsum(x63, (0, 1, 2, 3, 4, 5), (3, 0, 2, 1, 4, 5)) * 3.0 - x89 += einsum(x63, (0, 1, 2, 3, 4, 5), (3, 0, 2, 1, 5, 4)) * -1.0 - x89 += einsum(x86, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 5, 4)) * -1.0 - x89 += einsum(x86, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) * 0.3333333333333333 - del x86 - x89 += einsum(x88, (0, 1, 2, 3, 4, 5), (2, 0, 3, 1, 5, 4)) * -1.0 - x89 += einsum(x88, (0, 1, 2, 3, 4, 5), (2, 0, 3, 1, 4, 5)) * 0.3333333333333333 - x89 += einsum(x88, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 5, 4)) - x89 += einsum(x88, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) * -0.3333333333333333 - del x88 - l1new += einsum(l3, (0, 1, 2, 3, 4, 5), x89, (3, 4, 6, 5, 1, 2), (0, 6)) * -0.25 - del x89 - x90 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x90 += einsum(t1, (0, 1), v.ovvv, (2, 1, 3, 4), (0, 2, 3, 4)) - x91 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x91 += einsum(t2, (0, 1, 2, 3), x90, (4, 5, 6, 3), (4, 0, 1, 5, 2, 6)) - x92 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x92 += einsum(v.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x92 += einsum(x5, (0, 1, 2, 3), (2, 1, 0, 3)) - x92 += einsum(x65, (0, 1, 2, 3), (3, 1, 0, 2)) - x93 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x93 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) - x93 += einsum(x90, (0, 1, 2, 3), (0, 1, 3, 2)) - x93 += einsum(x70, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x94 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x94 += einsum(x63, (0, 1, 2, 3, 4, 5), (3, 0, 2, 1, 5, 4)) * -1.0000000000000402 - del x63 - x94 += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 6, 2), (0, 1, 4, 5, 6, 3)) * 1.0000000000000402 - x94 += einsum(x6, (0, 1, 2, 3, 4, 5), (2, 1, 3, 0, 5, 4)) * -1.0000000000000402 - del x6 - x94 += einsum(x52, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -1.0 - del x52 - x94 += einsum(x91, (0, 1, 2, 3, 4, 5), (2, 1, 3, 0, 5, 4)) * 1.0000000000000402 - x94 += einsum(x40, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 3), (4, 5, 1, 0, 6, 7)) * 0.5000000000000201 - x94 += einsum(t2, (0, 1, 2, 3), x92, (1, 4, 5, 6), (4, 0, 6, 5, 2, 3)) * 1.0000000000000402 - del x92 - x94 += einsum(t2, (0, 1, 2, 3), x93, (4, 5, 6, 3), (0, 1, 5, 4, 6, 2)) * -1.0000000000000402 - del x93 - l1new += einsum(l3, (0, 1, 2, 3, 4, 5), x94, (5, 3, 6, 4, 0, 2), (1, 6)) * 0.49999999999997996 - del x94 - x95 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x95 += einsum(t1, (0, 1), x24, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 1, 6)) - del x24 - x96 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x96 += einsum(v.ovov, (0, 1, 2, 3), x77, (2, 4, 3, 5), (0, 4, 1, 5)) - x97 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x97 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x97 += einsum(x76, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x97 += einsum(x96, (0, 1, 2, 3), (1, 0, 3, 2)) - x98 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x98 += einsum(x8, (0, 1, 2, 3), t3, (4, 5, 2, 6, 3, 7), (4, 5, 0, 1, 6, 7)) - x98 += einsum(x95, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * 2.0 - x98 += einsum(x7, (0, 1, 2, 3, 4, 5), (1, 3, 0, 2, 4, 5)) - x98 += einsum(x7, (0, 1, 2, 3, 4, 5), (1, 3, 0, 2, 5, 4)) * -1.0 - del x7 - x98 += einsum(x21, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) - x98 += einsum(x21, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) * -1.0 - del x21 - x98 += einsum(t2, (0, 1, 2, 3), x97, (4, 5, 6, 3), (0, 1, 4, 5, 2, 6)) * -2.0 - del x97 - l1new += einsum(l3, (0, 1, 2, 3, 4, 5), x98, (3, 4, 5, 6, 0, 2), (1, 6)) * 0.5 - del x98 - x99 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x99 += einsum(t1, (0, 1), v.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) - x100 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x100 += einsum(t2, (0, 1, 2, 3), x99, (4, 5, 3, 6), (4, 0, 1, 5, 2, 6)) - x101 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x101 += einsum(x71, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 0.25 - del x71 - x101 += einsum(x100, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) * 0.5 - x101 += einsum(x100, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -0.5 - x101 += einsum(x91, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) * -1.0 - x101 += einsum(x91, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * 0.5 - del x91 - x101 += einsum(x73, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) - x101 += einsum(x73, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -0.5 - del x73 - x101 += einsum(x95, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -0.5 - x101 += einsum(x95, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * 0.5 - del x95 - l1new += einsum(l3, (0, 1, 2, 3, 4, 5), x101, (5, 4, 3, 6, 2, 1), (0, 6)) * 2.0 - del x101 - x102 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x102 += einsum(v.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) - x102 += einsum(v.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x103 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x103 += einsum(x57, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - x103 += einsum(x57, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) - x104 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x104 += einsum(x30, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - x104 += einsum(x30, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * -1.0 - del x30 - x104 += einsum(x35, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 - x104 += einsum(x35, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) - del x35 - x104 += einsum(x102, (0, 1, 2, 3), t3, (4, 5, 6, 7, 1, 2), (4, 6, 5, 0, 7, 3)) * -2.0 - del x102 - x104 += einsum(t1, (0, 1), x103, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 6, 1)) * -2.0 - del x103 - l1new += einsum(l3, (0, 1, 2, 3, 4, 5), x104, (5, 4, 3, 6, 2, 1), (0, 6)) * 0.08333333333333 - del x104 - x105 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x105 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x105 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x105 += einsum(x15, (0, 1, 2, 3), (0, 1, 2, 3)) - del x15 - x105 += einsum(x17, (0, 1, 2, 3), (0, 1, 2, 3)) - del x17 - x106 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x106 += einsum(x49, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 - x106 += einsum(x49, (0, 1, 2, 3, 4, 5), (0, 1, 3, 4, 2, 5)) - del x49 - x107 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x107 += einsum(t2, (0, 1, 2, 3), x105, (4, 5, 6, 3), (0, 1, 5, 4, 2, 6)) * 2.0 - del x105 - x107 += einsum(t1, (0, 1), x106, (2, 3, 4, 5, 0, 6), (2, 3, 5, 4, 6, 1)) * -2.0 - del x106 - l1new += einsum(l3, (0, 1, 2, 3, 4, 5), x107, (4, 3, 6, 5, 1, 2), (0, 6)) * -0.5 - del x107 - x108 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x108 += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 5, 1, 6, 3, 7), (4, 5, 0, 2, 6, 7)) * 0.5 - x108 += einsum(x83, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - del x83 - x108 += einsum(x100, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) - del x100 - l1new += einsum(l3, (0, 1, 2, 3, 4, 5), x108, (3, 4, 5, 6, 0, 2), (1, 6)) - del x108 - x109 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x109 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (3, 6, 5, 7, 1, 2), (4, 6, 0, 7)) - x110 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x110 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 4, 3, 2, 7, 0), (5, 6, 1, 7)) - x111 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x111 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (3, 6, 5, 0, 7, 2), (4, 6, 1, 7)) - x112 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x112 += einsum(t1, (0, 1), l3, (2, 3, 1, 4, 5, 6), (4, 6, 5, 0, 2, 3)) - l3new += einsum(v.ooov, (0, 1, 2, 3), x112, (4, 5, 1, 0, 6, 7), (6, 3, 7, 4, 2, 5)) - x113 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x113 += einsum(t2, (0, 1, 2, 3), x112, (0, 4, 1, 5, 6, 3), (4, 5, 6, 2)) - x114 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x114 += einsum(t2, (0, 1, 2, 3), x112, (0, 4, 1, 5, 2, 6), (4, 5, 6, 3)) - x115 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x115 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) - x115 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 5.0 - x115 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 - x115 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 - x115 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * -1.0 - x115 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) - x116 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x116 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - x116 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - x116 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) - x117 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x117 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) - x117 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x118 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x118 += einsum(t1, (0, 1), l3, (2, 1, 3, 4, 5, 6), (4, 6, 5, 0, 2, 3)) - l3new += einsum(x8, (0, 1, 2, 3), x118, (4, 5, 0, 1, 6, 7), (7, 3, 6, 5, 2, 4)) - l3new += einsum(x68, (0, 1), x118, (2, 3, 4, 0, 5, 6), (6, 1, 5, 3, 4, 2)) * -1.0 - x119 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x119 += einsum(x118, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - x119 += einsum(x118, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) - x120 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x120 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.5 - x120 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - x121 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x121 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - x121 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x122 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x122 += einsum(t1, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2)) - x123 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x123 += einsum(t2, (0, 1, 2, 3), l3, (4, 2, 3, 1, 5, 6), (6, 5, 0, 4)) - x124 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x124 += einsum(t2, (0, 1, 2, 3), l3, (4, 3, 2, 1, 5, 6), (6, 5, 0, 4)) - x125 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x125 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.3333333333333333 - x125 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - x126 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x126 += einsum(x125, (0, 1, 2, 3), l3, (4, 2, 3, 5, 0, 6), (6, 5, 1, 4)) * 0.75 - x127 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x127 += einsum(x122, (0, 1, 2, 3), (0, 1, 2, 3)) - x127 += einsum(x122, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.5 - x127 += einsum(x123, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.75 - x127 += einsum(x123, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.25 - x127 += einsum(x124, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.25 - x127 += einsum(x124, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.25 - x127 += einsum(x126, (0, 1, 2, 3), (1, 0, 2, 3)) - x127 += einsum(x117, (0, 1, 2, 3), l3, (2, 4, 3, 0, 5, 6), (5, 6, 1, 4)) * -0.25 - x128 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x128 += einsum(x109, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x128 += einsum(x110, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x128 += einsum(x111, (0, 1, 2, 3), (0, 1, 2, 3)) - x128 += einsum(x113, (0, 1, 2, 3), (0, 1, 3, 2)) * 4.0 - x128 += einsum(x114, (0, 1, 2, 3), (0, 1, 3, 2)) * 4.0 - x128 += einsum(l3, (0, 1, 2, 3, 4, 5), x115, (5, 6, 4, 2, 7, 1), (3, 6, 0, 7)) - x128 += einsum(l3, (0, 1, 2, 3, 4, 5), x116, (3, 6, 5, 1, 7, 2), (4, 6, 0, 7)) - x128 += einsum(x117, (0, 1, 2, 3), x119, (0, 1, 4, 5, 6, 3), (4, 5, 2, 6)) * -4.0 - del x119 - x128 += einsum(l2, (0, 1, 2, 3), x120, (3, 4, 1, 5), (2, 4, 0, 5)) * 8.0 - x128 += einsum(l2, (0, 1, 2, 3), x121, (2, 4, 1, 5), (3, 4, 0, 5)) * 4.0 - x128 += einsum(t1, (0, 1), x127, (0, 2, 3, 4), (2, 3, 1, 4)) * 8.0 - del x127 - l1new += einsum(v.ovvv, (0, 1, 2, 3), x128, (4, 0, 3, 2), (1, 4)) * -0.25 - del x128 - x129 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x129 += einsum(t1, (0, 1), l2, (2, 3, 4, 0), (4, 2, 3, 1)) - x130 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x130 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x130 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - x131 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x131 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * -1.0 - x131 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) * 0.3333333333333333 - x131 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 3, 5, 0, 1, 2)) * 0.3333333333333333 - x132 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x132 += einsum(x129, (0, 1, 2, 3), (0, 1, 2, 3)) - x132 += einsum(x130, (0, 1, 2, 3), l3, (4, 5, 2, 1, 6, 0), (6, 4, 5, 3)) * -0.125 - x132 += einsum(t2, (0, 1, 2, 3), x131, (0, 4, 1, 5, 2, 6), (4, 5, 6, 3)) * 0.75 - del x131 - l1new += einsum(v.vvvv, (0, 1, 2, 3), x132, (4, 1, 2, 3), (0, 4)) * 2.0 - del x132 - x133 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x133 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * -1.0 - x133 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) - x133 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 3, 5, 0, 1, 2)) - x134 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x134 += einsum(x129, (0, 1, 2, 3), (0, 1, 2, 3)) - del x129 - x134 += einsum(x130, (0, 1, 2, 3), l3, (4, 5, 2, 1, 6, 0), (6, 4, 5, 3)) * -0.75 - x134 += einsum(t2, (0, 1, 2, 3), x133, (0, 4, 1, 5, 2, 6), (4, 5, 6, 3)) * 0.5 - del x133 - l1new += einsum(v.vvvv, (0, 1, 2, 3), x134, (4, 2, 1, 3), (0, 4)) * -1.0 - del x134 - x135 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x135 += einsum(l2, (0, 1, 2, 3), t3, (4, 5, 3, 6, 0, 1), (2, 4, 5, 6)) - x136 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x136 += einsum(l1, (0, 1), t2, (2, 3, 4, 0), (1, 2, 3, 4)) - x137 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x137 += einsum(t1, (0, 1), x122, (2, 3, 4, 1), (3, 2, 4, 0)) - l2new += einsum(v.ovov, (0, 1, 2, 3), x137, (4, 5, 0, 2), (3, 1, 5, 4)) - x138 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x138 += einsum(t1, (0, 1), x137, (0, 2, 3, 4), (2, 4, 3, 1)) - x139 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x139 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 4, 7, 0, 1, 2), (3, 5, 6, 7)) - x140 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x140 += einsum(t1, (0, 1), x139, (0, 2, 3, 4), (2, 4, 3, 1)) - x141 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x141 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * -1.0 - x141 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) - x142 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x142 += einsum(t1, (0, 1), x141, (2, 3, 4, 1, 5, 6), (0, 2, 3, 4, 5, 6)) - l3new += einsum(x8, (0, 1, 2, 3), x142, (2, 4, 5, 0, 6, 7), (6, 3, 7, 5, 1, 4)) * -1.0 - x143 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x143 += einsum(t1, (0, 1), x142, (2, 3, 4, 5, 1, 6), (0, 4, 3, 5, 2, 6)) * -1.0 - del x142 - x144 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x144 += einsum(t2, (0, 1, 2, 3), x143, (4, 5, 0, 1, 6, 3), (5, 4, 6, 2)) * -0.25 - del x143 - x145 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x145 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 3, 4, 0, 1, 2)) - x145 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) - x146 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x146 += einsum(t2, (0, 1, 2, 3), x145, (1, 4, 0, 5, 2, 6), (4, 3, 5, 6)) - del x145 - x147 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x147 += einsum(t2, (0, 1, 2, 3), x146, (4, 5, 3, 2), (0, 1, 4, 5)) * 0.25 - del x146 - x148 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x148 += einsum(x140, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.124999999999995 - del x140 - x148 += einsum(x144, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x144 - x148 += einsum(x147, (0, 1, 2, 3), (2, 1, 0, 3)) - del x147 - x149 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x149 += einsum(t2, (0, 1, 2, 3), l3, (4, 5, 2, 0, 1, 6), (6, 4, 5, 3)) - x150 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x150 += einsum(t2, (0, 1, 2, 3), x149, (4, 2, 3, 5), (4, 0, 1, 5)) - x151 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x151 += einsum(t1, (0, 1), x118, (2, 3, 4, 5, 6, 1), (2, 3, 4, 0, 5, 6)) - x152 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x152 += einsum(t2, (0, 1, 2, 3), x151, (1, 4, 0, 5, 6, 3), (4, 5, 6, 2)) - x153 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x153 += einsum(x150, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.25 - del x150 - x153 += einsum(x152, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.25 - del x152 - x154 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x154 += einsum(x130, (0, 1, 2, 3), x151, (0, 1, 4, 5, 6, 2), (4, 5, 6, 3)) * 0.375 - x155 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x155 += einsum(x117, (0, 1, 2, 3), l3, (4, 5, 2, 1, 6, 0), (6, 4, 5, 3)) - x156 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x156 += einsum(t2, (0, 1, 2, 3), x155, (4, 3, 2, 5), (0, 1, 4, 5)) * -0.375 - x157 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x157 += einsum(x154, (0, 1, 2, 3), (0, 1, 2, 3)) - del x154 - x157 += einsum(x156, (0, 1, 2, 3), (2, 1, 0, 3)) - del x156 - x158 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x158 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 0.2 - x158 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - x158 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -0.2 - x158 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -0.2 - x158 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 0.2 - x158 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -0.2 - x158 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * -0.2 - x158 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) - x159 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x159 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) - x159 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 0, 2)) - x160 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x160 += einsum(t1, (0, 1), x159, (2, 3, 4, 1, 5, 6), (0, 2, 3, 4, 5, 6)) - x161 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x161 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - x161 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) - x161 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) - x162 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x162 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * -0.3333333333333333 - x162 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) * 0.3333333333333333 - x162 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 0, 2)) - x162 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 0, 2)) * -0.3333333333333333 - x163 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x163 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) - x163 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) * -1.0 - x163 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 0, 2)) * -1.0 - x163 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 0, 2)) * 3.0 - x164 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x164 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) - x164 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.0 - x164 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 - x165 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x165 += einsum(t2, (0, 1, 2, 3), l3, (4, 2, 3, 5, 6, 1), (5, 6, 0, 4)) - x166 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x166 += einsum(x125, (0, 1, 2, 3), l3, (4, 2, 3, 5, 0, 6), (6, 5, 1, 4)) * 0.1875 - x167 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x167 += einsum(t2, (0, 1, 2, 3), l3, (4, 3, 2, 5, 6, 1), (5, 6, 0, 4)) - x168 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x168 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * 1.3333333333333333 - x168 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) * -1.0 - x169 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x169 += einsum(x122, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - x169 += einsum(x122, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x169 += einsum(x165, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.0625 - x169 += einsum(x165, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.75 - x169 += einsum(x166, (0, 1, 2, 3), (1, 0, 2, 3)) - x169 += einsum(x166, (0, 1, 2, 3), (0, 1, 2, 3)) * -3.0 - del x166 - x169 += einsum(x167, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.0625 - x169 += einsum(x167, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.25 - x169 += einsum(x117, (0, 1, 2, 3), x168, (0, 4, 5, 2, 3, 6), (4, 5, 1, 6)) * 0.1875 - x170 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x170 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 7, 4, 1, 0, 2), (5, 3, 6, 7)) - x171 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x171 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 7, 3, 2, 1, 0), (5, 4, 6, 7)) - x172 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x172 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 7, 3, 2, 0, 1), (5, 4, 6, 7)) - x173 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x173 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 7, 3, 1, 2, 0), (5, 4, 6, 7)) - x174 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x174 += einsum(t1, (0, 1), x167, (2, 3, 4, 1), (2, 3, 0, 4)) - x175 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x175 += einsum(x172, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.16666666666666 - x175 += einsum(x173, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.16666666666666 - x175 += einsum(x174, (0, 1, 2, 3), (0, 1, 2, 3)) - del x174 - x176 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x176 += einsum(t1, (0, 1), x165, (2, 3, 4, 1), (2, 3, 0, 4)) - x177 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x177 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - x177 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - x178 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x178 += einsum(l3, (0, 1, 2, 3, 4, 5), x177, (4, 6, 7, 0, 2, 1), (3, 5, 6, 7)) * 0.16666666666666 - x179 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x179 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x179 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0 - x180 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x180 += einsum(x179, (0, 1, 2, 3), l3, (4, 2, 3, 5, 0, 6), (5, 6, 1, 4)) * 0.3333333333333333 - x180 += einsum(x130, (0, 1, 2, 3), l3, (3, 4, 2, 5, 6, 0), (6, 5, 1, 4)) * 0.3333333333333333 - x181 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x181 += einsum(x170, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.16666666666666 - x181 += einsum(x171, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.16666666666662 - x181 += einsum(x171, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.16666666666666 - x181 += einsum(x175, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x181 += einsum(x175, (0, 1, 2, 3), (1, 0, 2, 3)) - x181 += einsum(x176, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0 - x181 += einsum(x176, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x181 += einsum(x178, (0, 1, 2, 3), (1, 0, 2, 3)) - x181 += einsum(t1, (0, 1), x180, (2, 3, 4, 1), (2, 3, 0, 4)) * 3.0 - del x180 - x182 = np.zeros((nocc, nocc), dtype=types[float]) - x182 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (3, 6, 5, 0, 1, 2), (4, 6)) - x183 = np.zeros((nocc, nocc), dtype=types[float]) - x183 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 4, 3, 1, 2, 0), (5, 6)) - x184 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x184 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * -1.0 - x184 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 2, 1)) - x185 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x185 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - x185 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 - x186 = np.zeros((nocc, nocc), dtype=types[float]) - x186 += einsum(x184, (0, 1, 2, 3, 4, 5), x185, (1, 6, 0, 3, 4, 5), (2, 6)) * 0.041666666666665 - x187 = np.zeros((nocc, nocc), dtype=types[float]) - x187 += einsum(t3, (0, 1, 2, 3, 4, 5), x184, (1, 2, 6, 5, 4, 3), (0, 6)) * 0.041666666666665 - x188 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x188 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - x188 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -0.14285714285714288 - x189 = np.zeros((nocc, nocc), dtype=types[float]) - x189 += einsum(l3, (0, 1, 2, 3, 4, 5), x188, (3, 6, 4, 0, 2, 1), (5, 6)) * 0.291666666666655 - x190 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x190 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) - x190 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x191 = np.zeros((nocc, nocc), dtype=types[float]) - x191 += einsum(l2, (0, 1, 2, 3), x190, (3, 4, 0, 1), (2, 4)) - x192 = np.zeros((nocc, nocc), dtype=types[float]) - x192 += einsum(x182, (0, 1), (0, 1)) * 0.124999999999995 - x192 += einsum(x183, (0, 1), (0, 1)) * -0.041666666666665 - x192 += einsum(x186, (0, 1), (0, 1)) * -1.0 - del x186 - x192 += einsum(x187, (0, 1), (1, 0)) - del x187 - x192 += einsum(x189, (0, 1), (0, 1)) - del x189 - x192 += einsum(x191, (0, 1), (0, 1)) - x193 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x193 += einsum(x135, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.75 - x193 += einsum(t3, (0, 1, 2, 3, 4, 5), x112, (1, 2, 6, 7, 4, 5), (6, 0, 7, 3)) * -0.125 - x193 += einsum(t3, (0, 1, 2, 3, 4, 5), x118, (1, 2, 6, 7, 5, 4), (6, 0, 7, 3)) * -0.125 - x193 += einsum(x136, (0, 1, 2, 3), (0, 1, 2, 3)) - x193 += einsum(x136, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 - del x136 - x193 += einsum(x122, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x193 += einsum(x122, (0, 1, 2, 3), (1, 0, 2, 3)) - x193 += einsum(x138, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - x193 += einsum(x138, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x138 - x193 += einsum(x148, (0, 1, 2, 3), (0, 1, 2, 3)) - x193 += einsum(x148, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x148 - x193 += einsum(x153, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x193 += einsum(x153, (0, 1, 2, 3), (0, 2, 1, 3)) * 3.0 - del x153 - x193 += einsum(x157, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x193 += einsum(x157, (0, 1, 2, 3), (0, 2, 1, 3)) * 0.3333333333333333 - del x157 - x193 += einsum(x112, (0, 1, 2, 3, 4, 5), x158, (0, 6, 2, 4, 7, 5), (1, 6, 3, 7)) * 0.625 - x193 += einsum(x160, (0, 1, 2, 3, 4, 5), x161, (1, 6, 2, 5, 4, 7), (3, 6, 0, 7)) * 0.125 - x193 += einsum(t2, (0, 1, 2, 3), x162, (1, 4, 5, 2, 3, 6), (4, 5, 0, 6)) * 0.75 - del x162 - x193 += einsum(t2, (0, 1, 2, 3), x163, (1, 4, 5, 3, 2, 6), (4, 5, 0, 6)) * 0.25 - del x163 - x193 += einsum(l2, (0, 1, 2, 3), x164, (2, 4, 5, 1, 6, 0), (3, 4, 5, 6)) * -0.125 - del x164 - x193 += einsum(x120, (0, 1, 2, 3), x169, (4, 0, 5, 2), (4, 1, 5, 3)) * -2.0 - del x169 - x193 += einsum(t1, (0, 1), x181, (2, 0, 3, 4), (2, 4, 3, 1)) * -0.25 - del x181 - x193 += einsum(t1, (0, 1), x192, (2, 3), (2, 0, 3, 1)) * 2.0 - l1new += einsum(v.ovov, (0, 1, 2, 3), x193, (4, 0, 2, 1), (3, 4)) * -2.0 - del x193 - x194 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x194 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 5, 3, 7, 2, 1), (4, 6, 0, 7)) - x195 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x195 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 3, 5, 7, 2, 0), (4, 6, 1, 7)) - x196 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x196 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - x196 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) - x197 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x197 += einsum(l2, (0, 1, 2, 3), (3, 2, 0, 1)) * -0.5 - x197 += einsum(l2, (0, 1, 2, 3), (2, 3, 0, 1)) - x198 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x198 += einsum(l2, (0, 1, 2, 3), (2, 3, 0, 1)) * 8.0 - x198 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (3, 6, 5, 2, 7, 1), (4, 6, 0, 7)) - x198 += einsum(x111, (0, 1, 2, 3), (0, 1, 2, 3)) - del x111 - x198 += einsum(x194, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x198 += einsum(x195, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x198 += einsum(l3, (0, 1, 2, 3, 4, 5), x158, (5, 6, 4, 2, 7, 1), (3, 6, 0, 7)) * 5.0 - del x158 - x198 += einsum(x159, (0, 1, 2, 3, 4, 5), x196, (1, 6, 0, 3, 4, 7), (2, 6, 5, 7)) - x198 += einsum(x120, (0, 1, 2, 3), x197, (0, 4, 2, 5), (4, 1, 5, 3)) * 16.0 - l1new += einsum(v.ovvv, (0, 1, 2, 3), x198, (4, 0, 3, 1), (2, 4)) * 0.25 - del x198 - x199 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x199 += einsum(x117, (0, 1, 2, 3), l3, (2, 4, 3, 0, 5, 6), (6, 5, 1, 4)) * 0.5 - x200 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x200 += einsum(x122, (0, 1, 2, 3), (0, 1, 2, 3)) - x200 += einsum(x122, (0, 1, 2, 3), (1, 0, 2, 3)) * -2.0 - x200 += einsum(x123, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x200 += einsum(x123, (0, 1, 2, 3), (1, 0, 2, 3)) * 1.5 - x200 += einsum(x124, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - x200 += einsum(x124, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.5 - x200 += einsum(x125, (0, 1, 2, 3), l3, (4, 2, 3, 5, 0, 6), (5, 6, 1, 4)) * 1.5 - x200 += einsum(x199, (0, 1, 2, 3), (0, 1, 2, 3)) - x201 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x201 += einsum(l2, (0, 1, 2, 3), (3, 2, 0, 1)) * -2.0 - x201 += einsum(x113, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x113 - x201 += einsum(x130, (0, 1, 2, 3), x160, (4, 1, 0, 5, 2, 6), (5, 4, 6, 3)) * -1.0 - del x160 - x201 += einsum(x190, (0, 1, 2, 3), x118, (4, 1, 0, 5, 2, 6), (4, 5, 6, 3)) * 4.0 - x201 += einsum(t1, (0, 1), x200, (0, 2, 3, 4), (2, 3, 4, 1)) * 2.0 - del x200 - l1new += einsum(v.ovvv, (0, 1, 2, 3), x201, (4, 0, 3, 1), (2, 4)) * 0.5 - del x201 - x202 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x202 += einsum(l2, (0, 1, 2, 3), t3, (4, 3, 5, 6, 1, 0), (2, 4, 5, 6)) - x203 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x203 += einsum(l2, (0, 1, 2, 3), t2, (4, 5, 0, 1), (2, 3, 4, 5)) - l2new += einsum(v.ovov, (0, 1, 2, 3), x203, (4, 5, 0, 2), (1, 3, 4, 5)) - x204 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x204 += einsum(t1, (0, 1), x203, (2, 0, 3, 4), (2, 3, 4, 1)) - x205 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x205 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - x205 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - x205 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) - x205 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 2.0 - x206 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x206 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) - x206 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 0.6666666666666666 - x206 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 - x207 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x207 += einsum(x124, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.75 - del x124 - x207 += einsum(x126, (0, 1, 2, 3), (1, 0, 2, 3)) - x207 += einsum(x126, (0, 1, 2, 3), (0, 1, 2, 3)) * -3.0 - x207 += einsum(x167, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.25 - x207 += einsum(x167, (0, 1, 2, 3), (1, 0, 2, 3)) - x208 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x208 += einsum(t2, (0, 1, 2, 3), l3, (3, 4, 2, 1, 5, 6), (6, 5, 0, 4)) - x209 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x209 += einsum(x208, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.25 - x209 += einsum(x122, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x209 += einsum(x122, (0, 1, 2, 3), (1, 0, 2, 3)) - x209 += einsum(x165, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.0625 - x209 += einsum(x165, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.75 - x209 += einsum(t2, (0, 1, 2, 3), x168, (1, 4, 5, 2, 3, 6), (4, 5, 0, 6)) * -0.1875 - del x168 - x210 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x210 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * 0.4444444444444444 - x210 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 0, 2)) - x211 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x211 += einsum(x208, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.5 - x211 += einsum(x122, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - x211 += einsum(x122, (0, 1, 2, 3), (1, 0, 2, 3)) - x211 += einsum(x165, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.375 - x211 += einsum(x165, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.5 - x211 += einsum(t2, (0, 1, 2, 3), x210, (1, 4, 5, 2, 3, 6), (5, 4, 0, 6)) * 1.125 - del x210 - x212 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x212 += einsum(x117, (0, 1, 2, 3), l3, (2, 4, 3, 0, 5, 6), (6, 5, 1, 4)) - x213 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x213 += einsum(x125, (0, 1, 2, 3), l3, (4, 2, 3, 5, 0, 6), (5, 6, 1, 4)) * 3.0 - x213 += einsum(x212, (0, 1, 2, 3), (0, 1, 2, 3)) - x214 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x214 += einsum(x170, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.16666666666666 - x214 += einsum(x171, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.16666666666666 - x214 += einsum(x171, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.16666666666662 - x214 += einsum(x175, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x214 += einsum(x175, (0, 1, 2, 3), (1, 0, 2, 3)) - del x175 - x214 += einsum(x176, (0, 1, 2, 3), (0, 1, 2, 3)) - x214 += einsum(x176, (0, 1, 2, 3), (1, 0, 2, 3)) * -3.0 - x214 += einsum(x178, (0, 1, 2, 3), (1, 0, 2, 3)) - del x178 - x214 += einsum(t1, (0, 1), x213, (2, 3, 4, 1), (2, 3, 0, 4)) - del x213 - x215 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x215 += einsum(x135, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.0 - del x135 - x215 += einsum(t3, (0, 1, 2, 3, 4, 5), x118, (6, 2, 1, 7, 3, 5), (6, 0, 7, 4)) * 4.0 - x215 += einsum(t3, (0, 1, 2, 3, 4, 5), x118, (2, 0, 6, 7, 5, 3), (6, 1, 7, 4)) * 2.0 - x215 += einsum(x202, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.0 - x215 += einsum(x202, (0, 1, 2, 3), (0, 2, 1, 3)) * -4.0 - del x202 - x215 += einsum(x204, (0, 1, 2, 3), (0, 1, 2, 3)) * 16.0 - x215 += einsum(x204, (0, 1, 2, 3), (0, 2, 1, 3)) * -8.0 - del x204 - x215 += einsum(x112, (0, 1, 2, 3, 4, 5), x115, (0, 6, 2, 4, 7, 5), (1, 6, 3, 7)) * 2.0 - del x115 - x215 += einsum(x112, (0, 1, 2, 3, 4, 5), x205, (1, 6, 0, 5, 7, 4), (2, 6, 3, 7)) * 2.0 - del x205 - x215 += einsum(l2, (0, 1, 2, 3), x206, (2, 4, 5, 1, 6, 0), (3, 4, 5, 6)) * -6.0 - del x206 - x215 += einsum(x117, (0, 1, 2, 3), x207, (4, 0, 5, 2), (4, 1, 5, 3)) * 4.0 - del x207 - x215 += einsum(t2, (0, 1, 2, 3), x209, (4, 1, 5, 3), (4, 0, 5, 2)) * 16.0 - del x209 - x215 += einsum(t2, (0, 1, 2, 3), x211, (4, 1, 5, 2), (4, 0, 5, 3)) * -8.0 - del x211 - x215 += einsum(t1, (0, 1), x214, (2, 0, 3, 4), (2, 4, 3, 1)) * -4.0 - del x214 - x215 += einsum(t1, (0, 1), x192, (2, 3), (2, 0, 3, 1)) * 16.0 - del x192 - l1new += einsum(v.ovov, (0, 1, 2, 3), x215, (4, 0, 2, 3), (1, 4)) * 0.125 - del x215 - x216 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x216 += einsum(v.ovov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 1, 3), (4, 5, 0, 6)) - x217 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x217 += einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), (0, 2, 3, 4)) - x218 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x218 += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 2, 5, 3), (0, 1, 4, 5)) - x219 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x219 += einsum(t1, (0, 1), x90, (2, 3, 4, 1), (2, 0, 3, 4)) - x220 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x220 += einsum(t1, (0, 1), x87, (2, 3, 0, 4), (2, 3, 4, 1)) - del x87 - x221 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x221 += einsum(x218, (0, 1, 2, 3), (0, 1, 2, 3)) - x221 += einsum(x219, (0, 1, 2, 3), (0, 1, 2, 3)) - x221 += einsum(x220, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x220 - x222 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x222 += einsum(v.ovov, (0, 1, 2, 3), t3, (4, 2, 5, 6, 3, 1), (4, 5, 0, 6)) - x223 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x223 += einsum(x36, (0, 1), t2, (2, 3, 1, 4), (2, 3, 0, 4)) - x224 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x224 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -1.5 - x224 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 1.5 - x224 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) - x225 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x225 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x225 += einsum(v.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x225 += einsum(x8, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x225 += einsum(x8, (0, 1, 2, 3), (0, 2, 1, 3)) * 2.0 - x226 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x226 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * 2.0 - x226 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x227 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x227 += einsum(v.oooo, (0, 1, 2, 3), (0, 2, 3, 1)) - x227 += einsum(v.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x227 += einsum(x5, (0, 1, 2, 3), (2, 0, 3, 1)) - x227 += einsum(x5, (0, 1, 2, 3), (3, 0, 2, 1)) * -0.5 - x228 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x228 += einsum(x216, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.25 - x228 += einsum(v.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x228 += einsum(v.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) * 0.5 - x228 += einsum(x217, (0, 1, 2, 3), (1, 2, 0, 3)) * 0.5 - x228 += einsum(x217, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - x228 += einsum(x221, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x228 += einsum(x221, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.5 - del x221 - x228 += einsum(x222, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.25 - x228 += einsum(x222, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.25 - del x222 - x228 += einsum(x223, (0, 1, 2, 3), (1, 0, 2, 3)) - x228 += einsum(x223, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - x228 += einsum(v.ovov, (0, 1, 2, 3), x224, (2, 4, 5, 3, 1, 6), (4, 5, 0, 6)) * -0.25 - del x224 - x228 += einsum(x120, (0, 1, 2, 3), x225, (4, 5, 0, 2), (4, 1, 5, 3)) * -1.0 - x228 += einsum(t1, (0, 1), x226, (2, 3, 1, 4), (0, 3, 2, 4)) * -0.5 - del x226 - x228 += einsum(t1, (0, 1), x227, (0, 2, 3, 4), (2, 4, 3, 1)) - del x227 - l1new += einsum(l2, (0, 1, 2, 3), x228, (2, 3, 4, 1), (0, 4)) * 2.0 - del x228 - x229 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x229 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -0.5 - x229 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 0.5 - x229 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) - x230 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x230 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x230 += einsum(v.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) - x230 += einsum(x8, (0, 1, 2, 3), (0, 1, 2, 3)) - x230 += einsum(x8, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 - x231 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x231 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) - x231 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 - x232 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x232 += einsum(x5, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x232 += einsum(x5, (0, 1, 2, 3), (0, 3, 2, 1)) * 2.0 - x233 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x233 += einsum(x216, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.5 - x233 += einsum(v.ovov, (0, 1, 2, 3), x229, (2, 4, 5, 3, 1, 6), (4, 5, 0, 6)) * -0.5 - del x229 - x233 += einsum(t2, (0, 1, 2, 3), x225, (4, 5, 1, 3), (4, 0, 5, 2)) * -1.0 - del x225 - x233 += einsum(t2, (0, 1, 2, 3), x230, (4, 5, 1, 2), (4, 0, 5, 3)) * -2.0 - del x230 - x233 += einsum(t1, (0, 1), x231, (2, 3, 1, 4), (0, 3, 2, 4)) * 2.0 - del x231 - x233 += einsum(t1, (0, 1), x232, (2, 0, 3, 4), (2, 3, 4, 1)) * -1.0 - del x232 - l1new += einsum(l2, (0, 1, 2, 3), x233, (3, 2, 4, 1), (0, 4)) * -1.0 - del x233 - x234 = np.zeros((nvir, nvir), dtype=types[float]) - x234 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (3, 4, 5, 0, 6, 2), (1, 6)) - x235 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x235 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -0.14285714285714288 - x235 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 0.14285714285714288 - x235 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) - x235 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 0.14285714285714288 - x235 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -0.14285714285714288 - x235 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -0.14285714285714288 - x236 = np.zeros((nvir, nvir), dtype=types[float]) - x236 += einsum(x234, (0, 1), (0, 1)) * 3.0 - x236 += einsum(l3, (0, 1, 2, 3, 4, 5), x235, (3, 5, 4, 6, 1, 2), (0, 6)) * 6.999999999999999 - x236 += einsum(l3, (0, 1, 2, 3, 4, 5), x116, (3, 4, 5, 6, 1, 2), (0, 6)) * -1.0 - x237 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x237 += einsum(v.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) - x237 += einsum(v.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) * -0.5 - l1new += einsum(x236, (0, 1), x237, (2, 3, 0, 1), (3, 2)) * 0.16666666666666 - del x236, x237 - x238 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x238 += einsum(x130, (0, 1, 2, 3), x159, (0, 4, 5, 2, 3, 6), (1, 4, 5, 6)) * 0.5 - x239 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x239 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) - x239 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.3333333333333333 - x240 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x240 += einsum(x122, (0, 1, 2, 3), (0, 1, 2, 3)) - x240 += einsum(x122, (0, 1, 2, 3), (1, 0, 2, 3)) * -2.0 - x240 += einsum(x238, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - x240 += einsum(x179, (0, 1, 2, 3), l3, (4, 2, 3, 5, 0, 6), (5, 6, 1, 4)) * 0.5 - x240 += einsum(x239, (0, 1, 2, 3), l3, (4, 2, 3, 0, 5, 6), (5, 6, 1, 4)) * 1.5 - l1new += einsum(v.oovv, (0, 1, 2, 3), x240, (0, 4, 1, 3), (2, 4)) - del x240 - x241 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x241 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - x241 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 6.999999999999999 - x241 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) - x241 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) - x241 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -1.0 - x241 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 - x242 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x242 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) - x242 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - x242 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 - x243 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x243 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) - x243 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 6.0 - x243 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 - x243 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -1.0 - x243 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - x244 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x244 += einsum(x122, (0, 1, 2, 3), (0, 1, 2, 3)) - x244 += einsum(x239, (0, 1, 2, 3), l3, (4, 2, 3, 5, 6, 0), (5, 6, 1, 4)) * 0.75 - x245 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x245 += einsum(x122, (0, 1, 2, 3), (0, 1, 2, 3)) - x245 += einsum(x126, (0, 1, 2, 3), (1, 0, 2, 3)) - x245 += einsum(x126, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x126 - x245 += einsum(x238, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - del x238 - x246 = np.zeros((nocc, nocc), dtype=types[float]) - x246 += einsum(l1, (0, 1), t1, (2, 0), (1, 2)) - l1new += einsum(x246, (0, 1), x36, (1, 2), (2, 0)) * -2.0 - x247 = np.zeros((nocc, nocc), dtype=types[float]) - x247 += einsum(x246, (0, 1), (0, 1)) - x247 += einsum(x182, (0, 1), (0, 1)) * 0.24999999999999 - x247 += einsum(x183, (0, 1), (0, 1)) * -0.08333333333333 - x247 += einsum(x184, (0, 1, 2, 3, 4, 5), x185, (1, 6, 0, 3, 4, 5), (2, 6)) * -0.08333333333333 - x247 += einsum(t3, (0, 1, 2, 3, 4, 5), x184, (1, 2, 6, 5, 4, 3), (6, 0)) * 0.08333333333333 - x247 += einsum(l3, (0, 1, 2, 3, 4, 5), x188, (3, 6, 4, 0, 2, 1), (5, 6)) * 0.58333333333331 - x247 += einsum(l2, (0, 1, 2, 3), x190, (2, 4, 1, 0), (3, 4)) * 2.0 - x248 = np.zeros((nocc, nvir), dtype=types[float]) - x248 += einsum(t1, (0, 1), (0, 1)) * -4.0 - x248 += einsum(l2, (0, 1, 2, 3), t3, (4, 2, 3, 5, 1, 0), (4, 5)) * 2.0 - x248 += einsum(t3, (0, 1, 2, 3, 4, 5), x118, (2, 0, 1, 6, 5, 3), (6, 4)) * 0.99999999999996 - x248 += einsum(x112, (0, 1, 2, 3, 4, 5), x241, (0, 1, 2, 5, 6, 4), (3, 6)) * 0.33333333333332 - del x241 - x248 += einsum(x112, (0, 1, 2, 3, 4, 5), x242, (0, 2, 1, 4, 6, 5), (3, 6)) * -0.33333333333332 - del x242 - x248 += einsum(l2, (0, 1, 2, 3), x243, (3, 4, 2, 1, 5, 0), (4, 5)) * -1.0 - del x243 - x248 += einsum(t2, (0, 1, 2, 3), x244, (0, 1, 4, 2), (4, 3)) * 8.0 - del x244 - x248 += einsum(t2, (0, 1, 2, 3), x245, (0, 1, 4, 3), (4, 2)) * -4.0 - del x245 - x248 += einsum(l1, (0, 1), x121, (1, 2, 3, 0), (2, 3)) * -4.0 - del x121 - x248 += einsum(t1, (0, 1), x247, (0, 2), (2, 1)) * 4.0 - del x247 - x249 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x249 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * 2.0 - x249 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - l1new += einsum(x248, (0, 1), x249, (0, 2, 3, 1), (3, 2)) * -0.25 - del x248, x249 - x250 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x250 += einsum(x172, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.041666666666665 - x250 += einsum(x173, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.041666666666665 - x251 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x251 += einsum(x130, (0, 1, 2, 3), x159, (0, 4, 5, 2, 3, 6), (4, 5, 1, 6)) * -1.0 - del x159 - x251 += einsum(x179, (0, 1, 2, 3), l3, (4, 2, 3, 5, 0, 6), (5, 6, 1, 4)) - del x179 - x251 += einsum(x239, (0, 1, 2, 3), l3, (4, 2, 3, 0, 5, 6), (5, 6, 1, 4)) * 3.0 - del x239 - x252 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x252 += einsum(x170, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.041666666666665 - x252 += einsum(x203, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.5 - x252 += einsum(x203, (0, 1, 2, 3), (1, 0, 3, 2)) - del x203 - x252 += einsum(x137, (0, 1, 2, 3), (0, 2, 3, 1)) * -0.5 - x252 += einsum(x137, (0, 1, 2, 3), (0, 3, 2, 1)) - del x137 - x252 += einsum(x171, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.291666666666655 - x252 += einsum(x171, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.041666666666665 - x252 += einsum(x250, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x252 += einsum(x250, (0, 1, 2, 3), (1, 0, 2, 3)) - del x250 - x252 += einsum(l3, (0, 1, 2, 3, 4, 5), x177, (4, 6, 7, 0, 2, 1), (5, 3, 6, 7)) * 0.041666666666665 - x252 += einsum(t1, (0, 1), x251, (2, 3, 4, 1), (2, 0, 4, 3)) * -0.25 - del x251 - l1new += einsum(v.ooov, (0, 1, 2, 3), x252, (4, 1, 2, 0), (3, 4)) * 2.0 - del x252 - x253 = np.zeros((nvir, nvir), dtype=types[float]) - x253 += einsum(l1, (0, 1), t1, (1, 2), (0, 2)) * 0.5 - x253 += einsum(l2, (0, 1, 2, 3), x120, (2, 3, 4, 1), (0, 4)) - x254 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x254 += einsum(v.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x254 += einsum(v.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) - l1new += einsum(x253, (0, 1), x254, (2, 1, 0, 3), (3, 2)) * 4.0 - del x253, x254 - x255 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x255 += einsum(x172, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.14285714285714288 - del x172 - x255 += einsum(x173, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.14285714285714288 - del x173 - x256 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x256 += einsum(x170, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.14285714285714288 - del x170 - x256 += einsum(x171, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.14285714285714288 - x256 += einsum(x171, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x256 += einsum(x139, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.4285714285714286 - x256 += einsum(x139, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.4285714285714286 - del x139 - x256 += einsum(x255, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x256 += einsum(x255, (0, 1, 2, 3), (1, 0, 2, 3)) - del x255 - x256 += einsum(l3, (0, 1, 2, 3, 4, 5), x177, (4, 6, 7, 0, 2, 1), (5, 3, 6, 7)) * 0.14285714285714288 - del x177 - l1new += einsum(v.ooov, (0, 1, 2, 3), x256, (4, 1, 0, 2), (3, 4)) * -0.58333333333331 - del x256 - x257 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x257 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * 0.3333333333333333 - x257 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) * -0.3333333333333333 - x257 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 4, 3, 0, 2, 1)) - x257 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) * -0.3333333333333333 - x258 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x258 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * -1.0 - x258 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) - x258 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 4, 3, 0, 2, 1)) * -1.0 - x258 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) * 3.0 - x259 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x259 += einsum(t2, (0, 1, 2, 3), x257, (1, 4, 5, 6, 3, 2), (5, 4, 0, 6)) - del x257 - x259 += einsum(t2, (0, 1, 2, 3), x258, (1, 4, 5, 6, 2, 3), (5, 4, 0, 6)) * 0.3333333333333333 - del x258 - x260 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x260 += einsum(t1, (0, 1), x259, (2, 3, 4, 1), (2, 3, 0, 4)) * 3.0 - del x259 - l1new += einsum(v.ooov, (0, 1, 2, 3), x260, (4, 0, 2, 1), (3, 4)) * 0.5 - del x260 - x261 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x261 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 3.0 - x261 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) - x261 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -1.0 - x262 = np.zeros((nocc, nocc), dtype=types[float]) - x262 += einsum(x246, (0, 1), (0, 1)) * 0.5 - x262 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 3, 5, 1, 2, 0), (4, 6)) * -0.041666666666665 - x262 += einsum(l3, (0, 1, 2, 3, 4, 5), x261, (3, 5, 6, 0, 2, 1), (4, 6)) * 0.041666666666665 - del x261 - x262 += einsum(x191, (0, 1), (0, 1)) - del x191 - x263 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x263 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x263 += einsum(v.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * 2.0 - l1new += einsum(x262, (0, 1), x263, (0, 2, 1, 3), (3, 2)) * -2.0 - del x262 - x264 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x264 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - x264 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - x264 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 6.999999999999999 - x264 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 - x265 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x265 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - x265 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) - x266 = np.zeros((nocc, nocc), dtype=types[float]) - x266 += einsum(l3, (0, 1, 2, 3, 4, 5), x264, (4, 6, 3, 0, 2, 1), (5, 6)) - del x264 - x266 += einsum(l3, (0, 1, 2, 3, 4, 5), x265, (4, 6, 3, 0, 1, 2), (5, 6)) * -1.0 - x267 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x267 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x267 += einsum(v.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) - l1new += einsum(x266, (0, 1), x267, (0, 2, 1, 3), (3, 2)) * -0.16666666666666 - del x266, x267 - x268 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x268 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x268 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - l1new += einsum(l1, (0, 1), x268, (1, 2, 0, 3), (3, 2)) * 2.0 - del x268 - x269 = np.zeros((nocc, nocc), dtype=types[float]) - x269 += einsum(x246, (0, 1), (0, 1)) * 1.714285714285783 - x269 += einsum(x182, (0, 1), (0, 1)) * 0.4285714285714286 - x269 += einsum(x183, (0, 1), (0, 1)) * -0.14285714285714288 - x269 += einsum(x184, (0, 1, 2, 3, 4, 5), x185, (1, 6, 0, 3, 4, 5), (2, 6)) * -0.14285714285714288 - x269 += einsum(t3, (0, 1, 2, 3, 4, 5), x184, (1, 2, 6, 5, 4, 3), (6, 0)) * 0.14285714285714288 - x269 += einsum(l3, (0, 1, 2, 3, 4, 5), x188, (3, 6, 4, 0, 2, 1), (5, 6)) - x269 += einsum(l2, (0, 1, 2, 3), x190, (2, 4, 1, 0), (3, 4)) * 3.428571428571566 - l1new += einsum(f.ov, (0, 1), x269, (2, 0), (1, 2)) * -0.58333333333331 - del x269 - x270 = np.zeros((nvir, nvir), dtype=types[float]) - x270 += einsum(f.vv, (0, 1), (0, 1)) * 0.5 - x270 += einsum(t1, (0, 1), x54, (0, 1, 2, 3), (3, 2)) - l1new += einsum(l1, (0, 1), x270, (0, 2), (2, 1)) * 2.0 - del x270 - x271 = np.zeros((nocc, nocc), dtype=types[float]) - x271 += einsum(v.ovov, (0, 1, 2, 3), x190, (2, 4, 1, 3), (0, 4)) * 2.0 - x272 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x272 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x272 += einsum(v.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) * -0.5 - x273 = np.zeros((nocc, nocc), dtype=types[float]) - x273 += einsum(t1, (0, 1), x272, (2, 3, 0, 1), (2, 3)) * 2.0 - del x272 - x274 = np.zeros((nocc, nocc), dtype=types[float]) - x274 += einsum(t1, (0, 1), x68, (2, 1), (0, 2)) - x275 = np.zeros((nocc, nocc), dtype=types[float]) - x275 += einsum(f.oo, (0, 1), (0, 1)) - x275 += einsum(x271, (0, 1), (1, 0)) - x275 += einsum(x273, (0, 1), (1, 0)) - x275 += einsum(x274, (0, 1), (0, 1)) - del x274 - l1new += einsum(l1, (0, 1), x275, (1, 2), (0, 2)) * -1.0 - l3new += einsum(x275, (0, 1), l3, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) * -1.0 - del x275 - x276 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x276 += einsum(f.vv, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2)) - x277 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x277 += einsum(l1, (0, 1), v.ovvv, (2, 3, 4, 0), (1, 2, 3, 4)) - x278 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x278 += einsum(l1, (0, 1), x8, (1, 2, 3, 4), (2, 3, 0, 4)) - x279 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x279 += einsum(l2, (0, 1, 2, 3), x5, (2, 4, 3, 5), (4, 5, 0, 1)) - x280 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x280 += einsum(x217, (0, 1, 2, 3), l3, (4, 5, 3, 6, 2, 1), (0, 6, 4, 5)) - x281 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x281 += einsum(x122, (0, 1, 2, 3), x8, (0, 2, 4, 5), (1, 4, 3, 5)) - x282 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x282 += einsum(v.ovvv, (0, 1, 2, 3), x123, (4, 5, 0, 3), (4, 5, 1, 2)) - x283 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x283 += einsum(t1, (0, 1), v.vvvv, (2, 3, 4, 1), (0, 2, 3, 4)) - x284 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x284 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x284 += einsum(x8, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x285 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x285 += einsum(t2, (0, 1, 2, 3), x284, (0, 4, 1, 5), (4, 2, 3, 5)) - del x284 - x286 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x286 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x286 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x287 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x287 += einsum(x286, (0, 1, 2, 3), t3, (4, 1, 0, 5, 6, 2), (4, 5, 6, 3)) * 0.49999999999998 - del x286 - x288 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x288 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x288 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.3333333333333333 - x289 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x289 += einsum(x288, (0, 1, 2, 3), t3, (4, 1, 0, 5, 2, 6), (4, 6, 5, 3)) * 1.49999999999994 - del x288 - x290 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x290 += einsum(v.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) - x290 += einsum(v.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x290 += einsum(x283, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x290 += einsum(x283, (0, 1, 2, 3), (0, 3, 2, 1)) - x290 += einsum(x285, (0, 1, 2, 3), (0, 1, 2, 3)) - x290 += einsum(x285, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x285 - x290 += einsum(x287, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x287 - x290 += einsum(x289, (0, 1, 2, 3), (0, 1, 2, 3)) - del x289 - x291 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x291 += einsum(x290, (0, 1, 2, 3), l3, (2, 4, 1, 0, 5, 6), (6, 5, 4, 3)) * 0.5 - del x290 - x292 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x292 += einsum(x16, (0, 1, 2, 3), t3, (4, 1, 0, 5, 6, 2), (4, 5, 6, 3)) * 0.24999999999999 - x293 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x293 += einsum(v.ovvv, (0, 1, 2, 3), x120, (0, 4, 1, 5), (4, 2, 3, 5)) * 2.0 - x294 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x294 += einsum(v.ovvv, (0, 1, 2, 3), x117, (0, 4, 3, 5), (4, 1, 2, 5)) - x295 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x295 += einsum(x292, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x292 - x295 += einsum(x293, (0, 1, 2, 3), (0, 2, 3, 1)) - del x293 - x295 += einsum(x294, (0, 1, 2, 3), (0, 2, 3, 1)) - del x294 - x296 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x296 += einsum(x295, (0, 1, 2, 3), l3, (1, 4, 2, 0, 5, 6), (6, 5, 4, 3)) - del x295 - x297 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x297 += einsum(t1, (0, 1), v.oooo, (2, 3, 4, 0), (2, 3, 4, 1)) - x298 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x298 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - x298 += einsum(x297, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.5 - del x297 - x299 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x299 += einsum(t1, (0, 1), x65, (2, 3, 0, 4), (3, 2, 4, 1)) - x300 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x300 += einsum(x218, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x300 += einsum(x299, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - del x299 - x300 += einsum(x223, (0, 1, 2, 3), (1, 0, 2, 3)) - del x223 - x301 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x301 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -0.5 - x301 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 0.5 - x301 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) - x301 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) - x302 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x302 += einsum(v.ovov, (0, 1, 2, 3), x301, (2, 4, 5, 3, 1, 6), (0, 4, 5, 6)) * 0.49999999999998 - del x301 - x303 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x303 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x303 += einsum(v.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - x304 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x304 += einsum(t2, (0, 1, 2, 3), x303, (4, 5, 1, 3), (0, 4, 5, 2)) - del x303 - x305 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x305 += einsum(t2, (0, 1, 2, 3), x1, (4, 5, 1, 2), (0, 4, 5, 3)) - x306 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x306 += einsum(x216, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.49999999999998 - x306 += einsum(x298, (0, 1, 2, 3), (0, 2, 1, 3)) - x306 += einsum(x298, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - del x298 - x306 += einsum(x300, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x306 += einsum(x300, (0, 1, 2, 3), (1, 0, 2, 3)) - del x300 - x306 += einsum(x302, (0, 1, 2, 3), (1, 2, 0, 3)) - del x302 - x306 += einsum(x304, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x304 - x306 += einsum(x305, (0, 1, 2, 3), (0, 2, 1, 3)) - del x305 - x307 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x307 += einsum(x306, (0, 1, 2, 3), l3, (4, 5, 3, 0, 6, 1), (6, 2, 4, 5)) - del x306 - x308 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x308 += einsum(t1, (0, 1), x20, (2, 3, 4, 0), (2, 3, 4, 1)) - x309 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x309 += einsum(x219, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - del x219 - x309 += einsum(x308, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - del x308 - x310 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x310 += einsum(x8, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x310 += einsum(x8, (0, 1, 2, 3), (0, 2, 1, 3)) - x311 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x311 += einsum(t2, (0, 1, 2, 3), x310, (4, 5, 1, 3), (0, 4, 5, 2)) * 2.0 - del x310 - x312 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x312 += einsum(x8, (0, 1, 2, 3), (0, 1, 2, 3)) - x312 += einsum(x8, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x313 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x313 += einsum(t2, (0, 1, 2, 3), x312, (4, 5, 1, 2), (0, 4, 5, 3)) - del x312 - x314 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x314 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) - x314 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x315 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x315 += einsum(t1, (0, 1), x314, (2, 3, 1, 4), (0, 2, 3, 4)) - del x314 - x316 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x316 += einsum(x5, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x316 += einsum(x5, (0, 1, 2, 3), (0, 3, 2, 1)) - x317 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x317 += einsum(t1, (0, 1), x316, (2, 3, 4, 0), (2, 3, 4, 1)) - del x316 - x318 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x318 += einsum(x309, (0, 1, 2, 3), (0, 1, 2, 3)) - x318 += einsum(x309, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x309 - x318 += einsum(x311, (0, 1, 2, 3), (1, 0, 2, 3)) - del x311 - x318 += einsum(x313, (0, 1, 2, 3), (1, 0, 2, 3)) - del x313 - x318 += einsum(x315, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x315 - x318 += einsum(x317, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x317 - x319 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x319 += einsum(x318, (0, 1, 2, 3), l3, (4, 5, 3, 0, 6, 1), (6, 2, 4, 5)) - del x318 - x320 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x320 += einsum(t2, (0, 1, 2, 3), x14, (1, 4, 3, 5), (0, 4, 2, 5)) * 2.0 - del x14 - x321 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x321 += einsum(t2, (0, 1, 2, 3), x16, (1, 4, 2, 5), (0, 4, 3, 5)) - del x16 - x322 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x322 += einsum(t1, (0, 1), x1, (0, 2, 3, 4), (2, 3, 1, 4)) * 0.5 - del x1 - x323 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x323 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x323 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x323 += einsum(x320, (0, 1, 2, 3), (0, 1, 2, 3)) - del x320 - x323 += einsum(x321, (0, 1, 2, 3), (0, 1, 2, 3)) - del x321 - x323 += einsum(x322, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x322 - x324 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x324 += einsum(x323, (0, 1, 2, 3), x112, (0, 4, 5, 1, 2, 6), (4, 5, 6, 3)) - del x323 - x325 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x325 += einsum(t1, (0, 1), x22, (2, 1, 3, 4), (0, 2, 3, 4)) - del x22 - x326 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x326 += einsum(t1, (0, 1), x10, (2, 3, 0, 4), (2, 3, 1, 4)) * 0.5 - del x10 - x327 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x327 += einsum(x325, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x325 - x327 += einsum(x326, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x326 - x328 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x328 += einsum(x327, (0, 1, 2, 3), x112, (0, 4, 5, 1, 2, 6), (4, 5, 6, 3)) - del x327 - x329 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x329 += einsum(x130, (0, 1, 2, 3), l3, (4, 5, 2, 1, 6, 0), (6, 4, 5, 3)) - x330 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x330 += einsum(x149, (0, 1, 2, 3), (0, 2, 1, 3)) * 2.0 - x330 += einsum(x329, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x329 - x331 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x331 += einsum(v.ovvv, (0, 1, 2, 3), x330, (4, 5, 3, 1), (0, 4, 2, 5)) * 0.5 - del x330 - x332 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x332 += einsum(l2, (0, 1, 2, 3), t2, (4, 2, 1, 5), (3, 4, 0, 5)) - x333 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x333 += einsum(x130, (0, 1, 2, 3), x118, (0, 1, 4, 5, 6, 2), (4, 5, 6, 3)) - del x130 - x334 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x334 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * -0.5 - x334 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 0, 2)) - x335 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x335 += einsum(t2, (0, 1, 2, 3), x334, (1, 4, 5, 2, 3, 6), (0, 4, 5, 6)) * 2.0 - del x334 - x336 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x336 += einsum(x208, (0, 1, 2, 3), (1, 0, 2, 3)) - del x208 - x336 += einsum(x335, (0, 1, 2, 3), (2, 1, 0, 3)) - del x335 - x337 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x337 += einsum(t1, (0, 1), x336, (0, 2, 3, 4), (2, 3, 1, 4)) - x338 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x338 += einsum(x332, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x332 - x338 += einsum(x109, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.99999999999996 - del x109 - x338 += einsum(x110, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.99999999999996 - del x110 - x338 += einsum(x114, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x114 - x338 += einsum(x333, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x333 - x338 += einsum(x337, (0, 1, 2, 3), (0, 1, 3, 2)) - del x337 - x339 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x339 += einsum(v.ovov, (0, 1, 2, 3), x338, (4, 2, 5, 1), (0, 4, 3, 5)) * 0.5 - del x338 - x340 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x340 += einsum(x155, (0, 1, 2, 3), x40, (0, 4, 5, 3), (4, 5, 1, 2)) * -0.5 - x341 = np.zeros((nvir, nvir), dtype=types[float]) - x341 += einsum(l3, (0, 1, 2, 3, 4, 5), x235, (3, 5, 4, 6, 1, 2), (0, 6)) * 2.333333333333333 - del x235 - x342 = np.zeros((nvir, nvir), dtype=types[float]) - x342 += einsum(l3, (0, 1, 2, 3, 4, 5), x116, (3, 4, 5, 6, 1, 2), (0, 6)) * 0.3333333333333333 - del x116 - x343 = np.zeros((nvir, nvir), dtype=types[float]) - x343 += einsum(l2, (0, 1, 2, 3), x120, (2, 3, 4, 1), (0, 4)) * 8.00000000000032 - del x120 - x344 = np.zeros((nvir, nvir), dtype=types[float]) - x344 += einsum(x234, (0, 1), (0, 1)) - del x234 - x344 += einsum(x341, (0, 1), (0, 1)) - del x341 - x344 += einsum(x342, (0, 1), (0, 1)) * -1.0 - del x342 - x344 += einsum(x343, (0, 1), (0, 1)) - del x343 - x345 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x345 += einsum(x344, (0, 1), v.ovov, (2, 1, 3, 4), (2, 3, 4, 0)) * 0.24999999999999 - del x344 - x346 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x346 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) - x346 += einsum(x90, (0, 1, 2, 3), (0, 1, 3, 2)) - x347 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x347 += einsum(l2, (0, 1, 2, 3), x346, (2, 4, 1, 5), (3, 4, 0, 5)) - del x346 - x348 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x348 += einsum(x122, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x348 += einsum(x123, (0, 1, 2, 3), (0, 1, 2, 3)) - del x123 - x348 += einsum(x199, (0, 1, 2, 3), (1, 0, 2, 3)) - x349 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x349 += einsum(v.ooov, (0, 1, 2, 3), x348, (1, 4, 2, 5), (0, 4, 3, 5)) - del x348 - x350 = np.zeros((nocc, nocc), dtype=types[float]) - x350 += einsum(x184, (0, 1, 2, 3, 4, 5), x185, (1, 6, 0, 3, 4, 5), (2, 6)) * 0.3333333333333333 - del x185 - x351 = np.zeros((nocc, nocc), dtype=types[float]) - x351 += einsum(t3, (0, 1, 2, 3, 4, 5), x184, (1, 2, 6, 5, 4, 3), (0, 6)) * 0.3333333333333333 - del x184 - x352 = np.zeros((nocc, nocc), dtype=types[float]) - x352 += einsum(l3, (0, 1, 2, 3, 4, 5), x188, (3, 6, 4, 0, 2, 1), (5, 6)) * 2.333333333333333 - del x188 - x353 = np.zeros((nocc, nocc), dtype=types[float]) - x353 += einsum(l2, (0, 1, 2, 3), x190, (3, 4, 0, 1), (2, 4)) * 8.00000000000032 - x354 = np.zeros((nocc, nocc), dtype=types[float]) - x354 += einsum(x246, (0, 1), (0, 1)) * 4.00000000000016 - del x246 - x354 += einsum(x182, (0, 1), (0, 1)) - del x182 - x354 += einsum(x183, (0, 1), (0, 1)) * -0.3333333333333333 - del x183 - x354 += einsum(x350, (0, 1), (0, 1)) * -1.0 - del x350 - x354 += einsum(x351, (0, 1), (1, 0)) - del x351 - x354 += einsum(x352, (0, 1), (0, 1)) - del x352 - x354 += einsum(x353, (0, 1), (0, 1)) - del x353 - x355 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x355 += einsum(x354, (0, 1), v.ovov, (2, 3, 1, 4), (2, 0, 4, 3)) * 0.24999999999999 - del x354 - x356 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x356 += einsum(t1, (0, 1), x212, (2, 3, 4, 1), (0, 2, 3, 4)) * -1.0 - x357 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x357 += einsum(v.ovov, (0, 1, 2, 3), x356, (0, 4, 5, 2), (4, 5, 3, 1)) * 0.5 - del x356 - x358 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x358 += einsum(x36, (0, 1), x212, (2, 3, 0, 4), (2, 3, 1, 4)) * -1.0 - x359 = np.zeros((nocc, nocc), dtype=types[float]) - x359 += einsum(f.ov, (0, 1), t1, (2, 1), (0, 2)) - x360 = np.zeros((nocc, nocc), dtype=types[float]) - x360 += einsum(f.oo, (0, 1), (0, 1)) - x360 += einsum(x359, (0, 1), (1, 0)) - del x359 - x361 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x361 += einsum(x360, (0, 1), l2, (2, 3, 0, 4), (4, 1, 2, 3)) - x362 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x362 += einsum(x122, (0, 1, 2, 3), (0, 1, 2, 3)) - x362 += einsum(x165, (0, 1, 2, 3), (0, 1, 2, 3)) - x363 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x363 += einsum(f.ov, (0, 1), x362, (2, 3, 0, 4), (2, 3, 4, 1)) - x364 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x364 += einsum(x276, (0, 1, 2, 3), (0, 1, 2, 3)) - del x276 - x364 += einsum(x277, (0, 1, 2, 3), (0, 1, 2, 3)) - del x277 - x364 += einsum(x278, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x278 - x364 += einsum(x279, (0, 1, 2, 3), (0, 1, 2, 3)) - del x279 - x364 += einsum(x280, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x280 - x364 += einsum(x281, (0, 1, 2, 3), (0, 1, 2, 3)) - del x281 - x364 += einsum(x282, (0, 1, 2, 3), (0, 1, 2, 3)) - del x282 - x364 += einsum(x291, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x291 - x364 += einsum(x296, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x296 - x364 += einsum(x307, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x307 - x364 += einsum(x319, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x319 - x364 += einsum(x324, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x324 - x364 += einsum(x328, (0, 1, 2, 3), (0, 1, 2, 3)) - del x328 - x364 += einsum(x331, (0, 1, 2, 3), (1, 0, 3, 2)) - del x331 - x364 += einsum(x339, (0, 1, 2, 3), (1, 0, 3, 2)) - del x339 - x364 += einsum(x340, (0, 1, 2, 3), (0, 1, 2, 3)) - del x340 - x364 += einsum(x345, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x345 - x364 += einsum(x347, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x347 - x364 += einsum(x349, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x349 - x364 += einsum(x355, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x355 - x364 += einsum(x357, (0, 1, 2, 3), (0, 1, 3, 2)) - del x357 - x364 += einsum(x358, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x358 - x364 += einsum(x361, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x361 - x364 += einsum(x363, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x363 - l2new += einsum(x364, (0, 1, 2, 3), (3, 2, 0, 1)) - l2new += einsum(x364, (0, 1, 2, 3), (2, 3, 1, 0)) - del x364 - x365 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x365 += einsum(l1, (0, 1), v.ooov, (2, 1, 3, 4), (2, 3, 0, 4)) - x366 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x366 += einsum(l2, (0, 1, 2, 3), x99, (2, 4, 5, 1), (3, 4, 0, 5)) - x367 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x367 += einsum(x122, (0, 1, 2, 3), x8, (1, 2, 4, 5), (0, 4, 3, 5)) - x368 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x368 += einsum(v.ooov, (0, 1, 2, 3), x165, (4, 1, 2, 5), (4, 0, 5, 3)) - x369 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x369 += einsum(v.ooov, (0, 1, 2, 3), x149, (1, 4, 5, 3), (0, 2, 4, 5)) - del x149 - x370 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x370 += einsum(x99, (0, 1, 2, 3), x118, (0, 4, 5, 1, 3, 6), (4, 5, 6, 2)) - x371 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x371 += einsum(l3, (0, 1, 2, 3, 4, 5), x57, (5, 3, 4, 6, 7, 2), (6, 7, 0, 1)) - del x57 - x372 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x372 += einsum(t2, (0, 1, 2, 3), l3, (4, 5, 2, 6, 1, 0), (6, 4, 5, 3)) - x373 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x373 += einsum(x372, (0, 1, 2, 3), x8, (0, 4, 5, 3), (5, 4, 1, 2)) - x374 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x374 += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 0, 1, 5), (4, 2, 3, 5)) - x375 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x375 += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 2), (0, 3, 4, 5)) - x376 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x376 += einsum(v.ovov, (0, 1, 2, 3), t3, (4, 0, 2, 5, 6, 3), (4, 5, 6, 1)) - x377 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x377 += einsum(t2, (0, 1, 2, 3), x8, (4, 0, 1, 5), (4, 2, 3, 5)) - x378 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x378 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -1.0 - x378 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - x379 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x379 += einsum(v.ovov, (0, 1, 2, 3), x378, (0, 2, 4, 5, 3, 6), (4, 1, 5, 6)) * 0.49999999999998 - x380 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x380 += einsum(v.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) - x380 += einsum(x283, (0, 1, 2, 3), (0, 3, 2, 1)) - del x283 - x380 += einsum(x374, (0, 1, 2, 3), (0, 1, 2, 3)) - del x374 - x380 += einsum(x375, (0, 1, 2, 3), (0, 3, 1, 2)) * -1.0 - del x375 - x380 += einsum(x376, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.99999999999996 - del x376 - x380 += einsum(x377, (0, 1, 2, 3), (0, 2, 1, 3)) - del x377 - x380 += einsum(x379, (0, 1, 2, 3), (0, 3, 2, 1)) * -1.0 - del x379 - x381 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x381 += einsum(x380, (0, 1, 2, 3), l3, (4, 2, 1, 5, 6, 0), (5, 6, 4, 3)) - del x380 - x382 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x382 += einsum(v.ovov, (0, 1, 2, 3), x378, (2, 4, 5, 3, 1, 6), (0, 4, 5, 6)) * 0.49999999999998 - del x378 - x383 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x383 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x383 += einsum(v.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * 2.0 - x383 += einsum(x8, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x383 += einsum(x8, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x384 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x384 += einsum(t2, (0, 1, 2, 3), x383, (4, 1, 5, 3), (0, 4, 5, 2)) - del x383 - x385 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x385 += einsum(v.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) - x385 += einsum(x8, (0, 1, 2, 3), (0, 1, 2, 3)) - x386 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x386 += einsum(t2, (0, 1, 2, 3), x385, (4, 1, 5, 2), (0, 4, 5, 3)) - x387 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x387 += einsum(x67, (0, 1), t2, (2, 3, 1, 4), (2, 3, 0, 4)) - x388 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x388 += einsum(v.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x388 += einsum(x5, (0, 1, 2, 3), (2, 1, 3, 0)) - x388 += einsum(x65, (0, 1, 2, 3), (3, 1, 2, 0)) - x389 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x389 += einsum(t1, (0, 1), x388, (0, 2, 3, 4), (2, 3, 4, 1)) - del x388 - x390 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x390 += einsum(v.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - x390 += einsum(x8, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x390 += einsum(x218, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x218 - x390 += einsum(x216, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.99999999999996 - del x216 - x390 += einsum(x382, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - del x382 - x390 += einsum(x384, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x384 - x390 += einsum(x386, (0, 1, 2, 3), (0, 1, 2, 3)) - del x386 - x390 += einsum(x387, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x387 - x390 += einsum(x389, (0, 1, 2, 3), (0, 2, 1, 3)) - del x389 - x391 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x391 += einsum(x390, (0, 1, 2, 3), l3, (4, 5, 3, 6, 1, 0), (6, 2, 4, 5)) - del x390 - x392 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x392 += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 2, 4, 5), (0, 3, 4, 5)) - x393 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x393 += einsum(v.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x393 += einsum(v.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x394 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x394 += einsum(t2, (0, 1, 2, 3), x393, (1, 3, 4, 5), (0, 2, 4, 5)) * 0.5 - x395 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x395 += einsum(x392, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.5 - del x392 - x395 += einsum(x394, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x394 - x396 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x396 += einsum(x395, (0, 1, 2, 3), l3, (4, 3, 1, 5, 6, 0), (5, 6, 4, 2)) * 2.0 - del x395 - x397 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x397 += einsum(t2, (0, 1, 2, 3), x385, (4, 5, 1, 2), (0, 4, 5, 3)) - del x385 - x398 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x398 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) - x398 += einsum(x90, (0, 1, 2, 3), (1, 0, 3, 2)) - x399 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x399 += einsum(t1, (0, 1), x398, (2, 3, 1, 4), (0, 2, 3, 4)) - del x398 - x400 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x400 += einsum(t1, (0, 1), x40, (2, 3, 4, 1), (0, 2, 3, 4)) - del x40 - x401 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x401 += einsum(t1, (0, 1), x400, (2, 3, 4, 0), (2, 4, 3, 1)) - del x400 - x402 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x402 += einsum(x397, (0, 1, 2, 3), (1, 0, 2, 3)) - del x397 - x402 += einsum(x399, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x399 - x402 += einsum(x401, (0, 1, 2, 3), (0, 2, 1, 3)) - del x401 - x403 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x403 += einsum(x402, (0, 1, 2, 3), l3, (4, 5, 3, 6, 1, 0), (6, 2, 4, 5)) - del x402 - x404 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x404 += einsum(t1, (0, 1), v.ooov, (2, 0, 3, 4), (2, 3, 1, 4)) - x405 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x405 += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 5, 1, 2), (0, 4, 3, 5)) - x406 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x406 += einsum(t2, (0, 1, 2, 3), x43, (1, 4, 3, 5), (0, 4, 2, 5)) - del x43 - x407 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x407 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x407 += einsum(x404, (0, 1, 2, 3), (0, 1, 2, 3)) - del x404 - x407 += einsum(x405, (0, 1, 2, 3), (0, 1, 2, 3)) - del x405 - x407 += einsum(x406, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x406 - x408 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x408 += einsum(x407, (0, 1, 2, 3), x118, (4, 0, 5, 1, 6, 2), (4, 5, 6, 3)) - del x407 - x409 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x409 += einsum(t2, (0, 1, 2, 3), l3, (4, 5, 3, 1, 6, 0), (6, 4, 5, 2)) - x410 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x410 += einsum(t2, (0, 1, 2, 3), l3, (4, 2, 5, 1, 6, 0), (6, 4, 5, 3)) - x411 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x411 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) - x411 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) * -1.0 - x411 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 1, 2)) * 0.5 - x411 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 0, 2)) * 2.0 - x412 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x412 += einsum(t2, (0, 1, 2, 3), x411, (0, 4, 1, 2, 5, 6), (4, 3, 5, 6)) - del x411 - x413 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x413 += einsum(x409, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 - del x409 - x413 += einsum(x410, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - x413 += einsum(x410, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 - x413 += einsum(x412, (0, 1, 2, 3), (0, 2, 3, 1)) - del x412 - x414 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x414 += einsum(v.ovvv, (0, 1, 2, 3), x413, (4, 5, 2, 3), (0, 4, 1, 5)) - del x413 - x415 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x415 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 5.0 - x415 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 - x415 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -1.0 - x415 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - x415 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 - x415 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 5.0 - x416 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x416 += einsum(l3, (0, 1, 2, 3, 4, 5), x415, (5, 6, 4, 2, 7, 1), (3, 6, 0, 7)) - del x415 - x417 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x417 += einsum(l3, (0, 1, 2, 3, 4, 5), x161, (5, 6, 3, 0, 2, 7), (4, 6, 1, 7)) - del x161 - x418 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x418 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) - x418 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 1, 2)) * -1.0 - x419 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x419 += einsum(t3, (0, 1, 2, 3, 4, 5), x418, (1, 2, 6, 5, 7, 4), (0, 6, 3, 7)) - del x418 - x420 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x420 += einsum(l3, (0, 1, 2, 3, 4, 5), x265, (5, 6, 4, 2, 1, 7), (3, 6, 0, 7)) - del x265 - x421 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x421 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - x421 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) - x422 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x422 += einsum(l3, (0, 1, 2, 3, 4, 5), x421, (3, 6, 5, 2, 1, 7), (4, 6, 0, 7)) - del x421 - x423 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x423 += einsum(x118, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 0.5 - x423 += einsum(x112, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -0.5 - x423 += einsum(x112, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) - x423 += einsum(x112, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) * -0.25 - x423 += einsum(x112, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) * 0.25 - x424 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x424 += einsum(t2, (0, 1, 2, 3), x423, (4, 0, 1, 5, 6, 2), (4, 5, 3, 6)) * 8.00000000000032 - del x423 - x425 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x425 += einsum(x112, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - x425 += einsum(x112, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - x426 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x426 += einsum(t2, (0, 1, 2, 3), x425, (0, 1, 4, 5, 6, 3), (4, 5, 2, 6)) * 2.00000000000008 - del x425 - x427 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x427 += einsum(x197, (0, 1, 2, 3), x77, (0, 4, 2, 5), (4, 1, 5, 3)) * 8.00000000000032 - del x197 - x428 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x428 += einsum(x125, (0, 1, 2, 3), l3, (4, 2, 3, 5, 0, 6), (6, 5, 1, 4)) - del x125 - x429 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x429 += einsum(x117, (0, 1, 2, 3), l3, (2, 4, 3, 0, 5, 6), (6, 5, 1, 4)) * 0.3333333333333333 - x430 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x430 += einsum(x165, (0, 1, 2, 3), (0, 1, 2, 3)) - x430 += einsum(x165, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.3333333333333333 - x430 += einsum(x167, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.3333333333333333 - x430 += einsum(x167, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.3333333333333333 - x430 += einsum(x428, (0, 1, 2, 3), (1, 0, 2, 3)) - x430 += einsum(x429, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x429 - x431 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x431 += einsum(t1, (0, 1), x430, (2, 0, 3, 4), (2, 3, 1, 4)) * 6.00000000000024 - del x430 - x432 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x432 += einsum(x194, (0, 1, 2, 3), (0, 1, 2, 3)) - del x194 - x432 += einsum(l2, (0, 1, 2, 3), (3, 2, 0, 1)) * 4.00000000000016 - x432 += einsum(l2, (0, 1, 2, 3), (2, 3, 0, 1)) * -8.00000000000032 - x432 += einsum(x416, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x416 - x432 += einsum(x417, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x417 - x432 += einsum(x419, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x419 - x432 += einsum(x420, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x420 - x432 += einsum(x422, (0, 1, 2, 3), (0, 1, 2, 3)) - del x422 - x432 += einsum(x424, (0, 1, 2, 3), (0, 1, 3, 2)) - del x424 - x432 += einsum(x426, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x426 - x432 += einsum(x427, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x427 - x432 += einsum(x431, (0, 1, 2, 3), (0, 1, 3, 2)) - del x431 - x433 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x433 += einsum(v.ovov, (0, 1, 2, 3), x432, (4, 2, 5, 3), (0, 4, 1, 5)) * 0.24999999999999 - del x432 - x434 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x434 += einsum(l2, (0, 1, 2, 3), t2, (4, 2, 5, 1), (3, 4, 0, 5)) - x435 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x435 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (3, 6, 5, 1, 7, 2), (4, 6, 0, 7)) - x436 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x436 += einsum(t2, (0, 1, 2, 3), x118, (4, 0, 1, 5, 6, 2), (4, 5, 6, 3)) - x437 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x437 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 4.0 - x437 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -1.0 - x437 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - x438 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x438 += einsum(l3, (0, 1, 2, 3, 4, 5), x437, (4, 6, 5, 1, 7, 2), (3, 6, 0, 7)) - del x437 - x439 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x439 += einsum(l3, (0, 1, 2, 3, 4, 5), x196, (5, 6, 3, 0, 2, 7), (4, 6, 1, 7)) - del x196 - x440 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x440 += einsum(x117, (0, 1, 2, 3), x112, (0, 1, 4, 5, 2, 6), (4, 5, 6, 3)) * 2.00000000000008 - x441 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x441 += einsum(l2, (0, 1, 2, 3), x77, (3, 4, 1, 5), (2, 4, 0, 5)) * 4.00000000000016 - x442 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x442 += einsum(t1, (0, 1), x336, (2, 0, 3, 4), (2, 3, 1, 4)) * 2.00000000000008 - del x336 - x443 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x443 += einsum(x434, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.00000000000016 - del x434 - x443 += einsum(x435, (0, 1, 2, 3), (0, 1, 2, 3)) - del x435 - x443 += einsum(x195, (0, 1, 2, 3), (0, 1, 2, 3)) - del x195 - x443 += einsum(x436, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.00000000000016 - del x436 - x443 += einsum(x438, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x438 - x443 += einsum(x439, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x439 - x443 += einsum(x440, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x440 - x443 += einsum(x441, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x441 - x443 += einsum(x442, (0, 1, 2, 3), (0, 1, 3, 2)) - del x442 - x444 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x444 += einsum(v.ovov, (0, 1, 2, 3), x443, (4, 2, 5, 1), (0, 4, 3, 5)) * 0.24999999999999 - del x443 - x445 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x445 += einsum(x217, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x445 += einsum(x217, (0, 1, 2, 3), (0, 2, 1, 3)) - del x217 - x446 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x446 += einsum(x445, (0, 1, 2, 3), l3, (4, 5, 3, 1, 6, 2), (6, 0, 4, 5)) * 0.5 - del x445 - x447 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x447 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x447 += einsum(x70, (0, 1, 2, 3), (0, 1, 2, 3)) - x448 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x448 += einsum(x447, (0, 1, 2, 3), x112, (4, 0, 5, 1, 6, 2), (4, 5, 6, 3)) - del x447 - x449 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x449 += einsum(x117, (0, 1, 2, 3), l3, (4, 5, 2, 1, 6, 0), (6, 4, 5, 3)) * 0.5 - del x117 - x450 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x450 += einsum(x372, (0, 1, 2, 3), (0, 1, 2, 3)) - x450 += einsum(x449, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x449 - x451 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x451 += einsum(v.ovvv, (0, 1, 2, 3), x450, (4, 5, 3, 1), (0, 4, 2, 5)) - del x450 - x452 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x452 += einsum(t1, (0, 1), x8, (2, 0, 3, 4), (2, 3, 1, 4)) - x453 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x453 += einsum(x90, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x453 += einsum(x452, (0, 1, 2, 3), (0, 1, 2, 3)) - del x452 - x454 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x454 += einsum(x453, (0, 1, 2, 3), x112, (4, 0, 5, 1, 6, 2), (4, 5, 6, 3)) - del x453 - x455 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x455 += einsum(x122, (0, 1, 2, 3), (1, 0, 2, 3)) - x455 += einsum(x199, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x199 - x456 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x456 += einsum(v.ovvv, (0, 1, 2, 3), x455, (4, 5, 0, 3), (4, 5, 1, 2)) - del x455 - x457 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x457 += einsum(v.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x457 += einsum(v.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) * 2.0 - x458 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x458 += einsum(t1, (0, 1), x457, (2, 1, 3, 4), (0, 2, 3, 4)) - del x457 - x459 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x459 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) - x459 += einsum(x458, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x458 - x460 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x460 += einsum(l2, (0, 1, 2, 3), x459, (3, 4, 5, 1), (2, 4, 0, 5)) - del x459 - x461 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x461 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x461 += einsum(v.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) - x462 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x462 += einsum(x212, (0, 1, 2, 3), x461, (0, 4, 2, 5), (1, 4, 3, 5)) * -0.5 - del x461 - x463 = np.zeros((nvir, nvir), dtype=types[float]) - x463 += einsum(v.ovov, (0, 1, 2, 3), x190, (0, 2, 4, 1), (3, 4)) - x464 = np.zeros((nvir, nvir), dtype=types[float]) - x464 += einsum(t1, (0, 1), x393, (0, 1, 2, 3), (2, 3)) * 0.5 - x465 = np.zeros((nvir, nvir), dtype=types[float]) - x465 += einsum(x463, (0, 1), (0, 1)) - del x463 - x465 += einsum(x464, (0, 1), (1, 0)) * -1.0 - del x464 - x466 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x466 += einsum(x465, (0, 1), l2, (2, 1, 3, 4), (4, 3, 2, 0)) * 2.0 - del x465 - x467 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x467 += einsum(x171, (0, 1, 2, 3), (0, 1, 2, 3)) - del x171 - x467 += einsum(x176, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0000000000000804 - del x176 - x468 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x468 += einsum(v.ovov, (0, 1, 2, 3), x467, (4, 5, 0, 2), (4, 5, 3, 1)) * 0.49999999999997996 - del x467 - x469 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x469 += einsum(x122, (0, 1, 2, 3), x263, (1, 4, 2, 5), (0, 4, 3, 5)) - del x263 - x470 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x470 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) - x470 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 4, 3, 0, 2, 1)) - x470 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) * -3.0 - x471 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x471 += einsum(t2, (0, 1, 2, 3), x470, (1, 4, 5, 6, 2, 3), (0, 4, 5, 6)) - del x470 - x472 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x472 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * 0.3333333333333333 - x472 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 4, 3, 0, 2, 1)) - x472 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) * -0.3333333333333333 - x473 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x473 += einsum(t2, (0, 1, 2, 3), x472, (1, 4, 5, 6, 3, 2), (0, 4, 5, 6)) * 3.0 - del x472 - x474 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x474 += einsum(x122, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 - x474 += einsum(x471, (0, 1, 2, 3), (2, 1, 0, 3)) - del x471 - x474 += einsum(x473, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - del x473 - x475 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x475 += einsum(v.ooov, (0, 1, 2, 3), x474, (4, 0, 1, 5), (2, 4, 3, 5)) * 0.5 - del x474 - x476 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x476 += einsum(x122, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x476 += einsum(x122, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 - x477 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x477 += einsum(x476, (0, 1, 2, 3), x8, (0, 4, 2, 5), (4, 1, 5, 3)) - del x476 - x478 = np.zeros((nocc, nocc), dtype=types[float]) - x478 += einsum(t1, (0, 1), x36, (2, 1), (0, 2)) * 2.0 - x479 = np.zeros((nocc, nocc), dtype=types[float]) - x479 += einsum(x271, (0, 1), (1, 0)) - del x271 - x479 += einsum(x273, (0, 1), (1, 0)) - del x273 - x479 += einsum(x478, (0, 1), (0, 1)) - del x478 - x480 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x480 += einsum(x479, (0, 1), l2, (2, 3, 0, 4), (4, 1, 2, 3)) - x481 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x481 += einsum(x67, (0, 1), x362, (2, 3, 0, 4), (2, 3, 4, 1)) - del x67, x362 - x482 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x482 += einsum(f.ov, (0, 1), x212, (2, 3, 0, 4), (2, 3, 4, 1)) * -0.5 - x483 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x483 += einsum(f.ov, (0, 1), l1, (2, 3), (0, 3, 1, 2)) - x483 += einsum(x365, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x365 - x483 += einsum(x366, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x366 - x483 += einsum(x367, (0, 1, 2, 3), (0, 1, 2, 3)) - del x367 - x483 += einsum(x368, (0, 1, 2, 3), (0, 1, 2, 3)) - del x368 - x483 += einsum(x369, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x369 - x483 += einsum(x370, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x370 - x483 += einsum(x371, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.49999999999997996 - del x371 - x483 += einsum(x373, (0, 1, 2, 3), (0, 1, 2, 3)) - del x373 - x483 += einsum(x381, (0, 1, 2, 3), (0, 1, 2, 3)) - del x381 - x483 += einsum(x391, (0, 1, 2, 3), (0, 1, 2, 3)) - del x391 - x483 += einsum(x396, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x396 - x483 += einsum(x403, (0, 1, 2, 3), (0, 1, 2, 3)) - del x403 - x483 += einsum(x408, (0, 1, 2, 3), (0, 1, 2, 3)) - del x408 - x483 += einsum(x414, (0, 1, 2, 3), (1, 0, 3, 2)) - del x414 - x483 += einsum(x433, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x433 - x483 += einsum(x444, (0, 1, 2, 3), (1, 0, 3, 2)) - del x444 - x483 += einsum(x446, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x446 - x483 += einsum(x448, (0, 1, 2, 3), (0, 1, 2, 3)) - del x448 - x483 += einsum(x451, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x451 - x483 += einsum(x454, (0, 1, 2, 3), (0, 1, 2, 3)) - del x454 - x483 += einsum(x456, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x456 - x483 += einsum(x460, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x460 - x483 += einsum(x462, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x462 - x483 += einsum(x466, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x466 - x483 += einsum(x468, (0, 1, 2, 3), (0, 1, 3, 2)) - del x468 - x483 += einsum(x469, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x469 - x483 += einsum(x475, (0, 1, 2, 3), (1, 0, 3, 2)) - del x475 - x483 += einsum(x477, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x477 - x483 += einsum(x480, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x480 - x483 += einsum(x481, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x481 - x483 += einsum(x482, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x482 - x483 += einsum(l1, (0, 1), x36, (2, 3), (1, 2, 0, 3)) * 2.0 - l2new += einsum(x483, (0, 1, 2, 3), (2, 3, 0, 1)) - l2new += einsum(x483, (0, 1, 2, 3), (3, 2, 1, 0)) - del x483 - x484 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x484 += einsum(v.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x484 += einsum(x65, (0, 1, 2, 3), (1, 3, 0, 2)) - x484 += einsum(x20, (0, 1, 2, 3), (0, 2, 1, 3)) - x485 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x485 += einsum(x484, (0, 1, 2, 3), l3, (4, 5, 6, 0, 7, 2), (7, 1, 3, 4, 6, 5)) * 0.5 - del x484 - l3new += einsum(x485, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 0, 2)) * -1.0 - l3new += einsum(x485, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 0, 2)) - del x485 - x486 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x486 += einsum(x20, (0, 1, 2, 3), l3, (4, 5, 6, 7, 1, 0), (7, 2, 3, 4, 6, 5)) - del x20 - x487 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x487 += einsum(v.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x487 += einsum(x5, (0, 1, 2, 3), (2, 1, 0, 3)) - x487 += einsum(x65, (0, 1, 2, 3), (1, 3, 0, 2)) - del x65 - x488 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x488 += einsum(x487, (0, 1, 2, 3), l3, (4, 5, 6, 0, 2, 7), (7, 1, 3, 4, 6, 5)) - del x487 - x489 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x489 += einsum(x360, (0, 1), l3, (2, 3, 4, 0, 5, 6), (6, 5, 1, 2, 4, 3)) - del x360 - x490 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x490 += einsum(x486, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x486 - x490 += einsum(x488, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) - del x488 - x490 += einsum(x489, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) - del x489 - l3new += einsum(x490, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) - l3new += einsum(x490, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 2, 0)) * -1.0 - del x490 - x491 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x491 += einsum(l2, (0, 1, 2, 3), v.ooov, (4, 3, 5, 6), (2, 4, 5, 0, 1, 6)) - l3new += einsum(x491, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 1, 2)) * -1.0 - l3new += einsum(x491, (0, 1, 2, 3, 4, 5), (5, 4, 3, 0, 1, 2)) - l3new += einsum(x491, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * -1.0 - l3new += einsum(x491, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) - l3new += einsum(x491, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 0, 2)) * -1.0 - l3new += einsum(x491, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) - l3new += einsum(x491, (0, 1, 2, 3, 4, 5), (4, 3, 5, 2, 0, 1)) - l3new += einsum(x491, (0, 1, 2, 3, 4, 5), (5, 3, 4, 2, 0, 1)) * -1.0 - l3new += einsum(x491, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 2, 0)) - l3new += einsum(x491, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) * -1.0 - l3new += einsum(x491, (0, 1, 2, 3, 4, 5), (3, 4, 5, 2, 1, 0)) - l3new += einsum(x491, (0, 1, 2, 3, 4, 5), (5, 4, 3, 2, 1, 0)) * -1.0 - del x491 - x492 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x492 += einsum(f.vv, (0, 1), l3, (2, 3, 1, 4, 5, 6), (4, 6, 5, 0, 2, 3)) - x493 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x493 += einsum(f.ov, (0, 1), x112, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) - x494 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x494 += einsum(v.vvvv, (0, 1, 2, 3), l3, (4, 3, 1, 5, 6, 7), (5, 7, 6, 4, 0, 2)) - x495 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x495 += einsum(v.ovvv, (0, 1, 2, 3), x112, (4, 5, 6, 0, 7, 3), (4, 5, 6, 7, 1, 2)) - x496 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x496 += einsum(t2, (0, 1, 2, 3), l3, (4, 3, 2, 5, 6, 7), (5, 7, 6, 0, 1, 4)) - x497 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x497 += einsum(x496, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x496 - x497 += einsum(x151, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x151 - x498 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x498 += einsum(v.ovov, (0, 1, 2, 3), x497, (4, 5, 6, 2, 0, 7), (4, 5, 6, 1, 3, 7)) - del x497 - x499 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x499 += einsum(x492, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - del x492 - x499 += einsum(x493, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x493 - x499 += einsum(x494, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x494 - x499 += einsum(x495, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - del x495 - x499 += einsum(x498, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) - del x498 - l3new += einsum(x499, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) - l3new += einsum(x499, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) * -1.0 - del x499 - x500 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x500 += einsum(l2, (0, 1, 2, 3), v.ovvv, (4, 5, 6, 1), (2, 3, 4, 0, 5, 6)) - x501 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x501 += einsum(l2, (0, 1, 2, 3), x8, (3, 4, 5, 6), (2, 4, 5, 0, 1, 6)) - x502 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x502 += einsum(v.ovov, (0, 1, 2, 3), x122, (4, 5, 2, 6), (4, 5, 0, 6, 1, 3)) - del x122 - x503 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x503 += einsum(x500, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - del x500 - x503 += einsum(x501, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x501 - x503 += einsum(x502, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x502 - l3new += einsum(x503, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 1, 2)) * -1.0 - l3new += einsum(x503, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 1, 2)) - l3new += einsum(x503, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 2, 1)) * -1.0 - l3new += einsum(x503, (0, 1, 2, 3, 4, 5), (5, 4, 3, 0, 2, 1)) - l3new += einsum(x503, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 0, 2)) - l3new += einsum(x503, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) * -1.0 - l3new += einsum(x503, (0, 1, 2, 3, 4, 5), (4, 3, 5, 2, 0, 1)) * -1.0 - l3new += einsum(x503, (0, 1, 2, 3, 4, 5), (5, 3, 4, 2, 0, 1)) - l3new += einsum(x503, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 2, 0)) - l3new += einsum(x503, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 2, 0)) * -1.0 - l3new += einsum(x503, (0, 1, 2, 3, 4, 5), (3, 5, 4, 2, 1, 0)) - l3new += einsum(x503, (0, 1, 2, 3, 4, 5), (4, 5, 3, 2, 1, 0)) * -1.0 - del x503 - x504 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x504 += einsum(v.vvvv, (0, 1, 2, 3), l3, (1, 4, 3, 5, 6, 7), (5, 7, 6, 4, 0, 2)) - x505 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x505 += einsum(t2, (0, 1, 2, 3), l3, (2, 4, 3, 5, 6, 7), (5, 7, 6, 0, 1, 4)) - x506 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x506 += einsum(t1, (0, 1), x112, (2, 3, 4, 5, 1, 6), (2, 3, 4, 0, 5, 6)) - x507 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x507 += einsum(x505, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x505 - x507 += einsum(x506, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x506 - x508 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x508 += einsum(v.ovov, (0, 1, 2, 3), x507, (4, 5, 6, 2, 0, 7), (4, 5, 6, 1, 3, 7)) * 0.5 - del x507 - x509 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x509 += einsum(x504, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 0.5 - del x504 - x509 += einsum(x508, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) - del x508 - l3new += einsum(x509, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 2, 0)) * -1.0 - l3new += einsum(x509, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) - del x509 - x510 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x510 += einsum(v.ovov, (0, 1, 2, 3), x212, (4, 5, 2, 6), (0, 4, 5, 3, 1, 6)) * -0.5 - del x212 - l3new += einsum(x510, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) - l3new += einsum(x510, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 2, 0)) * -1.0 - l3new += einsum(x510, (0, 1, 2, 3, 4, 5), (5, 3, 4, 2, 1, 0)) * -1.0 - l3new += einsum(x510, (0, 1, 2, 3, 4, 5), (4, 3, 5, 2, 1, 0)) - l3new += einsum(x510, (0, 1, 2, 3, 4, 5), (5, 3, 4, 0, 1, 2)) - l3new += einsum(x510, (0, 1, 2, 3, 4, 5), (4, 3, 5, 0, 1, 2)) * -1.0 - l3new += einsum(x510, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) * -1.0 - l3new += einsum(x510, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) - del x510 - x511 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x511 += einsum(v.ovov, (0, 1, 2, 3), x165, (4, 5, 2, 6), (4, 5, 0, 6, 1, 3)) - del x165 - l3new += einsum(x511, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 1, 2)) * -1.0 - l3new += einsum(x511, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 1, 2)) - l3new += einsum(x511, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 2, 1)) * -0.5 - l3new += einsum(x511, (0, 1, 2, 3, 4, 5), (5, 4, 3, 0, 2, 1)) * 0.5 - l3new += einsum(x511, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 0, 2)) - l3new += einsum(x511, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) * -1.0 - l3new += einsum(x511, (0, 1, 2, 3, 4, 5), (4, 3, 5, 2, 0, 1)) * -1.0 - l3new += einsum(x511, (0, 1, 2, 3, 4, 5), (5, 3, 4, 2, 0, 1)) - l3new += einsum(x511, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 2, 0)) * 0.5 - l3new += einsum(x511, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 2, 0)) * -0.5 - l3new += einsum(x511, (0, 1, 2, 3, 4, 5), (3, 5, 4, 2, 1, 0)) - l3new += einsum(x511, (0, 1, 2, 3, 4, 5), (4, 5, 3, 2, 1, 0)) * -1.0 - del x511 - x512 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x512 += einsum(v.ooov, (0, 1, 2, 3), x112, (4, 5, 1, 2, 6, 7), (4, 5, 0, 6, 7, 3)) - x513 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x513 += einsum(v.ovvv, (0, 1, 2, 3), x118, (4, 5, 6, 0, 3, 7), (5, 4, 6, 7, 1, 2)) - x514 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x514 += einsum(x8, (0, 1, 2, 3), x112, (4, 5, 0, 1, 6, 7), (4, 5, 2, 6, 7, 3)) - x515 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x515 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) - x515 += einsum(x90, (0, 1, 2, 3), (0, 1, 3, 2)) - del x90 - x515 += einsum(x70, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.00000000000001 - del x70 - l3new += einsum(x515, (0, 1, 2, 3), l3, (4, 2, 5, 6, 0, 7), (4, 3, 5, 6, 1, 7)) * -1.0 - x516 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x516 += einsum(x515, (0, 1, 2, 3), l3, (4, 5, 2, 6, 0, 7), (7, 6, 1, 4, 5, 3)) - x517 = np.zeros((nvir, nvir), dtype=types[float]) - x517 += einsum(v.ovov, (0, 1, 2, 3), x190, (0, 2, 4, 1), (3, 4)) * 2.0 - del x190 - x518 = np.zeros((nvir, nvir), dtype=types[float]) - x518 += einsum(t1, (0, 1), x393, (0, 1, 2, 3), (2, 3)) - del x393 - x519 = np.zeros((nvir, nvir), dtype=types[float]) - x519 += einsum(x517, (0, 1), (0, 1)) - del x517 - x519 += einsum(x518, (0, 1), (1, 0)) * -1.0 - del x518 - x520 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x520 += einsum(x519, (0, 1), l3, (2, 3, 1, 4, 5, 6), (6, 4, 5, 2, 3, 0)) - del x519 - x521 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x521 += einsum(x36, (0, 1), x112, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 6, 1)) * 2.0 - del x36 - x522 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x522 += einsum(v.ovov, (0, 1, 2, 3), x428, (4, 5, 2, 6), (0, 5, 4, 3, 1, 6)) * 1.5 - del x428 - x523 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x523 += einsum(x512, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - del x512 - x523 += einsum(x513, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x513 - x523 += einsum(x514, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - del x514 - x523 += einsum(x516, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) - del x516 - x523 += einsum(x520, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) - del x520 - x523 += einsum(x521, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x521 - x523 += einsum(x522, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) - del x522 - l3new += einsum(x523, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 2, 1)) * -1.0 - l3new += einsum(x523, (0, 1, 2, 3, 4, 5), (5, 4, 3, 0, 2, 1)) - del x523 - x524 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x524 += einsum(v.ovov, (0, 1, 2, 3), x155, (4, 5, 6, 1), (0, 2, 4, 3, 5, 6)) * -0.5 - del x155 - l3new += einsum(x524, (0, 1, 2, 3, 4, 5), (5, 4, 3, 2, 0, 1)) * -1.0 - l3new += einsum(x524, (0, 1, 2, 3, 4, 5), (3, 4, 5, 2, 0, 1)) - l3new += einsum(x524, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) - l3new += einsum(x524, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 2, 0)) * -1.0 - l3new += einsum(x524, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) * -1.0 - l3new += einsum(x524, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) - l3new += einsum(x524, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 0, 2)) - l3new += einsum(x524, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 0, 2)) * -1.0 - del x524 - x525 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x525 += einsum(v.ovov, (0, 1, 2, 3), x410, (4, 5, 6, 3), (4, 0, 2, 6, 5, 1)) - del x410 - l3new += einsum(x525, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 1, 2)) * 0.5 - l3new += einsum(x525, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 1, 2)) * -0.5 - l3new += einsum(x525, (0, 1, 2, 3, 4, 5), (3, 5, 4, 2, 1, 0)) * -0.5 - l3new += einsum(x525, (0, 1, 2, 3, 4, 5), (4, 5, 3, 2, 1, 0)) * 0.5 - del x525 - x526 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x526 += einsum(v.ovov, (0, 1, 2, 3), x167, (4, 5, 2, 6), (4, 5, 0, 6, 1, 3)) - del x167 - l3new += einsum(x526, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 2, 1)) * 0.5 - l3new += einsum(x526, (0, 1, 2, 3, 4, 5), (5, 4, 3, 0, 2, 1)) * -0.5 - l3new += einsum(x526, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 2, 0)) * -0.5 - l3new += einsum(x526, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 2, 0)) * 0.5 - del x526 - x527 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x527 += einsum(x5, (0, 1, 2, 3), l3, (4, 5, 6, 7, 2, 0), (7, 1, 3, 4, 6, 5)) - x528 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x528 += einsum(v.ooov, (0, 1, 2, 3), x118, (4, 1, 5, 2, 6, 7), (4, 5, 0, 6, 7, 3)) - x529 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x529 += einsum(x8, (0, 1, 2, 3), x118, (0, 4, 5, 1, 6, 7), (4, 5, 2, 7, 6, 3)) - x530 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x530 += einsum(x515, (0, 1, 2, 3), l3, (4, 2, 5, 0, 6, 7), (7, 6, 1, 4, 5, 3)) - x531 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x531 += einsum(x479, (0, 1), l3, (2, 3, 4, 0, 5, 6), (6, 5, 1, 2, 4, 3)) - del x479 - x532 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x532 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * -0.5 - x532 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) - x533 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x533 += einsum(t2, (0, 1, 2, 3), x532, (0, 4, 1, 5, 6, 2), (4, 3, 5, 6)) * 2.0 - del x532 - x534 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x534 += einsum(v.ovov, (0, 1, 2, 3), x533, (4, 1, 5, 6), (0, 2, 4, 3, 6, 5)) - del x533 - x535 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x535 += einsum(x527, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x527 - x535 += einsum(x528, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x528 - x535 += einsum(x529, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x529 - x535 += einsum(x530, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - del x530 - x535 += einsum(x531, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - del x531 - x535 += einsum(x534, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -1.0 - del x534 - l3new += einsum(x535, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 1, 2)) - l3new += einsum(x535, (0, 1, 2, 3, 4, 5), (3, 5, 4, 2, 1, 0)) * -1.0 - del x535 - x536 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x536 += einsum(v.ovov, (0, 1, 2, 3), x372, (4, 5, 6, 3), (4, 0, 2, 5, 6, 1)) - del x372 - l3new += einsum(x536, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 2, 1)) * -1.0 - l3new += einsum(x536, (0, 1, 2, 3, 4, 5), (5, 4, 3, 0, 2, 1)) - l3new += einsum(x536, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 0, 2)) - l3new += einsum(x536, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) * -1.0 - l3new += einsum(x536, (0, 1, 2, 3, 4, 5), (4, 3, 5, 2, 0, 1)) * -1.0 - l3new += einsum(x536, (0, 1, 2, 3, 4, 5), (5, 3, 4, 2, 0, 1)) - l3new += einsum(x536, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 2, 0)) - l3new += einsum(x536, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 2, 0)) * -1.0 - del x536 - x537 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x537 += einsum(v.ooov, (0, 1, 2, 3), x112, (4, 0, 5, 1, 6, 7), (4, 5, 2, 6, 7, 3)) - x538 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x538 += einsum(x8, (0, 1, 2, 3), x112, (4, 0, 5, 2, 6, 7), (4, 5, 1, 6, 7, 3)) - x539 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x539 += einsum(v.ovov, (0, 1, 2, 3), x77, (2, 4, 3, 5), (0, 4, 1, 5)) * 1.00000000000001 - x540 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x540 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x540 += einsum(x99, (0, 1, 2, 3), (0, 1, 3, 2)) - x540 += einsum(x76, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.00000000000001 - x540 += einsum(x539, (0, 1, 2, 3), (1, 0, 3, 2)) - del x539 - x541 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x541 += einsum(x540, (0, 1, 2, 3), l3, (4, 5, 2, 6, 7, 0), (6, 7, 1, 4, 5, 3)) - del x540 - x542 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x542 += einsum(x537, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x537 - x542 += einsum(x538, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x538 - x542 += einsum(x541, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - del x541 - l3new += einsum(x542, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 1, 2)) * -1.0 - l3new += einsum(x542, (0, 1, 2, 3, 4, 5), (5, 4, 3, 0, 1, 2)) - l3new += einsum(x542, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * -1.0 - l3new += einsum(x542, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 0, 2)) * -1.0 - l3new += einsum(x542, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) - l3new += einsum(x542, (0, 1, 2, 3, 4, 5), (4, 3, 5, 2, 0, 1)) - l3new += einsum(x542, (0, 1, 2, 3, 4, 5), (5, 3, 4, 2, 0, 1)) * -1.0 - l3new += einsum(x542, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 2, 0)) - l3new += einsum(x542, (0, 1, 2, 3, 4, 5), (3, 4, 5, 2, 1, 0)) - l3new += einsum(x542, (0, 1, 2, 3, 4, 5), (5, 4, 3, 2, 1, 0)) * -1.0 - del x542 - x543 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x543 += einsum(v.ooov, (0, 1, 2, 3), x112, (4, 1, 5, 2, 6, 7), (4, 5, 0, 6, 7, 3)) - x544 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x544 += einsum(x8, (0, 1, 2, 3), x112, (4, 0, 5, 1, 6, 7), (4, 5, 2, 6, 7, 3)) - del x8 - x545 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x545 += einsum(x515, (0, 1, 2, 3), l3, (4, 5, 2, 6, 7, 0), (6, 7, 1, 4, 5, 3)) - del x515 - x546 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x546 += einsum(x543, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x543 - x546 += einsum(x544, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x544 - x546 += einsum(x545, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - del x545 - l3new += einsum(x546, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 1, 2)) - l3new += einsum(x546, (0, 1, 2, 3, 4, 5), (5, 4, 3, 0, 1, 2)) * -1.0 - l3new += einsum(x546, (0, 1, 2, 3, 4, 5), (3, 4, 5, 2, 1, 0)) * -1.0 - l3new += einsum(x546, (0, 1, 2, 3, 4, 5), (5, 4, 3, 2, 1, 0)) - del x546 - x547 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x547 += einsum(v.ovvv, (0, 1, 2, 3), x112, (4, 5, 6, 0, 3, 7), (5, 4, 6, 7, 1, 2)) - del x112 - l3new += einsum(x547, (0, 1, 2, 3, 4, 5), (4, 3, 5, 0, 2, 1)) * -1.0 - l3new += einsum(x547, (0, 1, 2, 3, 4, 5), (5, 3, 4, 0, 2, 1)) - del x547 - x548 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x548 += einsum(x5, (0, 1, 2, 3), l3, (4, 5, 6, 0, 7, 2), (7, 1, 3, 4, 6, 5)) - del x5 - l3new += einsum(x548, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 0, 2)) * -1.0 - l3new += einsum(x548, (0, 1, 2, 3, 4, 5), (3, 5, 4, 2, 0, 1)) - del x548 - x549 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x549 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * 0.99999999999999 - x549 += einsum(x99, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.99999999999999 - del x99 - x549 += einsum(x76, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x76 - x549 += einsum(x96, (0, 1, 2, 3), (1, 0, 3, 2)) - del x96 - l3new += einsum(x549, (0, 1, 2, 3), x141, (4, 5, 0, 2, 6, 7), (6, 3, 7, 5, 1, 4)) * 1.00000000000001 - del x141, x549 - x550 = np.zeros((nvir, nvir), dtype=types[float]) - x550 += einsum(f.vv, (0, 1), (0, 1)) - x550 += einsum(v.ovov, (0, 1, 2, 3), x77, (0, 2, 1, 4), (4, 3)) * -1.0 - del x77 - x550 += einsum(t1, (0, 1), x54, (0, 1, 2, 3), (3, 2)) * 2.0 - del x54 - l3new += einsum(x550, (0, 1), l3, (2, 0, 3, 4, 5, 6), (2, 1, 3, 4, 5, 6)) - del x550 - x551 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x551 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x551 += einsum(v.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - l3new += einsum(x551, (0, 1, 2, 3), x118, (4, 5, 0, 1, 6, 7), (7, 3, 6, 5, 2, 4)) * -1.0 - del x118, x551 - x552 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x552 += einsum(l2, (0, 1, 2, 3), (3, 2, 0, 1)) - x552 += einsum(l2, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 - l3new += einsum(x68, (0, 1), x552, (2, 3, 4, 5), (5, 1, 4, 3, 0, 2)) * -1.0 - del x68, x552 + tmp13 = einsum(l3, (0, 1, 2, 3, 4, 5), t2, (5, 4, 6, 1), (3, 0, 2, 6)) + tmp156 = einsum(v.ovov, (0, 1, 2, 3), tmp13, (4, 5, 6, 3), (4, 0, 2, 5, 6, 1)) + tmp421 = np.copy(np.transpose(tmp156, (0, 1, 2, 4, 3, 5))) * -1 + tmp365 = einsum(t2, (0, 1, 2, 3), l3, (4, 2, 5, 6, 7, 1), (6, 7, 0, 4, 5, 3)) + tmp366 = einsum(tmp365, (0, 1, 2, 3, 4, 5), v.ovov, (6, 5, 2, 7), (0, 1, 6, 3, 4, 7)) + del tmp365 + tmp421 += np.transpose(tmp366, (0, 1, 2, 4, 3, 5)) + tmp311 = einsum(t1, (0, 1), v.ooov, (2, 3, 0, 1), (2, 3)) + tmp419 = np.copy(np.transpose(tmp311, (1, 0))) + tmp417 = einsum(t1, (0, 1), v.ovov, (2, 3, 0, 1), (2, 3)) + tmp418 = einsum(t1, (0, 1), tmp417, (2, 1), (0, 2)) + tmp419 += tmp418 + del tmp418 + tmp17 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * -1 + tmp17 += t2 * 2 + tmp312 = einsum(v.ovov, (0, 1, 2, 3), tmp17, (2, 4, 3, 1), (4, 0)) * 0.5 + tmp419 += tmp312 + tmp420 = einsum(tmp419, (0, 1), l3, (2, 3, 4, 5, 6, 0), (1, 5, 6, 2, 4, 3)) * -2 + del tmp419 + tmp421 += np.transpose(tmp420, (1, 2, 0, 4, 3, 5)) + del tmp420 + l3new += np.transpose(tmp421, (3, 5, 4, 0, 1, 2)) * -1 + l3new += np.transpose(tmp421, (3, 5, 4, 2, 1, 0)) + del tmp421 + tmp0 = einsum(l3, (0, 1, 2, 3, 4, 5), t2, (6, 5, 2, 1), (3, 4, 6, 0)) + tmp422 = einsum(v.ovov, (0, 1, 2, 3), tmp0, (4, 5, 2, 6), (4, 5, 0, 6, 1, 3)) + l3new += np.transpose(tmp422, (3, 4, 5, 0, 2, 1)) * 0.5 + l3new += np.transpose(tmp422, (5, 4, 3, 0, 2, 1)) * -0.5 + l3new += np.transpose(tmp422, (3, 4, 5, 1, 2, 0)) * -0.5 + l3new += np.transpose(tmp422, (5, 4, 3, 1, 2, 0)) * 0.5 + del tmp422 + tmp45 = einsum(t2, (0, 1, 2, 3), l3, (4, 2, 3, 5, 6, 1), (5, 6, 0, 4)) + tmp423 = einsum(v.ovov, (0, 1, 2, 3), tmp45, (4, 5, 2, 6), (4, 5, 0, 6, 1, 3)) + l3new += np.transpose(tmp423, (3, 5, 4, 0, 1, 2)) * -1 + l3new += np.transpose(tmp423, (4, 5, 3, 0, 1, 2)) + l3new += np.transpose(tmp423, (3, 4, 5, 0, 2, 1)) * -0.5 + l3new += np.transpose(tmp423, (5, 4, 3, 0, 2, 1)) * 0.5 + l3new += np.transpose(tmp423, (4, 3, 5, 1, 0, 2)) + l3new += np.transpose(tmp423, (5, 3, 4, 1, 0, 2)) * -1 + l3new += np.transpose(tmp423, (4, 3, 5, 2, 0, 1)) * -1 + l3new += np.transpose(tmp423, (5, 3, 4, 2, 0, 1)) + l3new += np.transpose(tmp423, (3, 4, 5, 1, 2, 0)) * 0.5 + l3new += np.transpose(tmp423, (5, 4, 3, 1, 2, 0)) * -0.5 + l3new += np.transpose(tmp423, (3, 5, 4, 2, 1, 0)) + l3new += np.transpose(tmp423, (4, 5, 3, 2, 1, 0)) * -1 + del tmp423 + tmp424 = einsum(t1, (0, 1), tmp240, (2, 3, 4, 0, 5, 1, 6, 7), (2, 3, 4, 5, 6, 7)) + tmp430 = np.copy(np.transpose(tmp424, (1, 0, 2, 3, 4, 5))) * -1 + del tmp424 + tmp355 = einsum(t2, (0, 1, 2, 3), l3, (4, 5, 2, 6, 1, 7), (6, 7, 0, 4, 5, 3)) + tmp364 = einsum(tmp355, (0, 1, 2, 3, 4, 5), v.ovov, (6, 5, 2, 7), (0, 1, 6, 3, 4, 7)) + tmp430 += np.transpose(tmp364, (1, 0, 2, 3, 4, 5)) + tmp425 = einsum(tmp417, (0, 1), tmp238, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 6, 1)) + del tmp417 + tmp430 += np.transpose(tmp425, (1, 0, 2, 3, 4, 5)) * -2 + del tmp425 + tmp389 = einsum(v.ovvv, (0, 1, 2, 3), t1, (0, 3), (1, 2)) + tmp427 = np.copy(tmp389) + tmp49 = np.copy(np.transpose(t2, (0, 1, 3, 2))) + tmp49 += t2 * -0.5 + tmp426 = einsum(v.ovov, (0, 1, 2, 3), tmp49, (0, 2, 4, 1), (4, 3)) * 2 + tmp427 += np.transpose(tmp426, (1, 0)) + del tmp426 + tmp428 = einsum(tmp427, (0, 1), l3, (2, 3, 1, 4, 5, 6), (4, 6, 5, 0, 2, 3)) * -1 + del tmp427 + tmp430 += np.transpose(tmp428, (1, 0, 2, 4, 5, 3)) + del tmp428 + tmp14 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * 3 + tmp14 += t2 * -1 + tmp54 = einsum(tmp14, (0, 1, 2, 3), l3, (4, 3, 2, 5, 0, 6), (1, 5, 6, 4)) * -1 + tmp429 = einsum(v.ovov, (0, 1, 2, 3), tmp54, (2, 4, 5, 6), (5, 4, 0, 6, 3, 1)) * 0.5 + tmp430 += np.transpose(tmp429, (1, 0, 2, 3, 5, 4)) * -1 + del tmp429 + l3new += np.transpose(tmp430, (3, 4, 5, 0, 2, 1)) * -1 + l3new += np.transpose(tmp430, (5, 4, 3, 0, 2, 1)) + del tmp430 + tmp12 = einsum(l3, (0, 1, 2, 3, 4, 5), t2, (3, 5, 2, 6), (4, 0, 1, 6)) * -1 + tmp183 = einsum(v.ovov, (0, 1, 2, 3), tmp12, (4, 5, 6, 3), (4, 0, 2, 5, 6, 1)) * -1 + l3new += np.transpose(tmp183, (3, 5, 4, 0, 1, 2)) * -1 + l3new += np.transpose(tmp183, (4, 3, 5, 0, 2, 1)) + l3new += np.transpose(tmp183, (5, 3, 4, 0, 2, 1)) * -1 + l3new += np.transpose(tmp183, (3, 4, 5, 1, 0, 2)) * -1 + l3new += np.transpose(tmp183, (5, 4, 3, 1, 0, 2)) + l3new += np.transpose(tmp183, (3, 4, 5, 2, 0, 1)) + l3new += np.transpose(tmp183, (5, 4, 3, 2, 0, 1)) * -1 + l3new += np.transpose(tmp183, (4, 3, 5, 1, 2, 0)) * -1 + l3new += np.transpose(tmp183, (5, 3, 4, 1, 2, 0)) + l3new += np.transpose(tmp183, (3, 5, 4, 2, 1, 0)) + tmp18 = einsum(l3, (0, 1, 2, 3, 4, 5), t2, (5, 4, 2, 6), (3, 0, 1, 6)) + tmp180 = einsum(v.ovov, (0, 1, 2, 3), tmp18, (4, 5, 6, 3), (4, 0, 2, 5, 6, 1)) + l3new += np.transpose(tmp180, (3, 5, 4, 0, 1, 2)) * -1 + l3new += np.transpose(tmp180, (3, 4, 5, 0, 2, 1)) * -1 + l3new += np.transpose(tmp180, (5, 4, 3, 0, 2, 1)) + l3new += np.transpose(tmp180, (4, 3, 5, 1, 0, 2)) + l3new += np.transpose(tmp180, (5, 3, 4, 1, 0, 2)) * -1 + l3new += np.transpose(tmp180, (4, 3, 5, 2, 0, 1)) * -1 + l3new += np.transpose(tmp180, (5, 3, 4, 2, 0, 1)) + l3new += np.transpose(tmp180, (3, 4, 5, 1, 2, 0)) + l3new += np.transpose(tmp180, (5, 4, 3, 1, 2, 0)) * -1 + l3new += np.transpose(tmp180, (3, 5, 4, 2, 1, 0)) + tmp44 = einsum(l3, (0, 1, 2, 3, 4, 5), t2, (6, 5, 2, 0), (3, 4, 6, 1)) * -1 + tmp431 = einsum(v.ovov, (0, 1, 2, 3), tmp44, (4, 5, 2, 6), (4, 5, 0, 6, 1, 3)) * -1 + l3new += np.transpose(tmp431, (4, 3, 5, 0, 1, 2)) * -1 + l3new += np.transpose(tmp431, (5, 3, 4, 0, 1, 2)) + l3new += np.transpose(tmp431, (3, 5, 4, 1, 0, 2)) + l3new += np.transpose(tmp431, (4, 5, 3, 1, 0, 2)) * -1 + l3new += np.transpose(tmp431, (3, 5, 4, 2, 0, 1)) * -1 + l3new += np.transpose(tmp431, (4, 5, 3, 2, 0, 1)) + l3new += np.transpose(tmp431, (4, 3, 5, 2, 1, 0)) + l3new += np.transpose(tmp431, (5, 3, 4, 2, 1, 0)) * -1 + del tmp431 + tmp65 = einsum(l3, (0, 1, 2, 3, 4, 5), t2, (5, 4, 6, 2), (3, 0, 1, 6)) + tmp181 = einsum(v.ovov, (0, 1, 2, 3), tmp65, (4, 5, 6, 3), (4, 0, 2, 5, 6, 1)) + l3new += np.transpose(tmp181, (3, 5, 4, 0, 1, 2)) + l3new += np.transpose(tmp181, (3, 5, 4, 2, 1, 0)) * -1 + tmp289 = einsum(v.vvvv, (0, 1, 2, 3), l3, (4, 3, 1, 5, 6, 7), (5, 7, 6, 4, 0, 2)) + tmp432 = np.copy(np.transpose(tmp289, (1, 0, 2, 3, 4, 5))) * -1 + tmp270 = einsum(t2, (0, 1, 2, 3), l3, (4, 3, 2, 5, 6, 7), (5, 7, 6, 0, 1, 4)) + tmp291 = einsum(tmp270, (0, 1, 2, 3, 4, 5), v.ovov, (3, 6, 4, 7), (0, 1, 2, 5, 6, 7)) + tmp432 += np.transpose(tmp291, (1, 0, 2, 3, 4, 5)) * -1 + tmp293 = einsum(tmp238, (0, 1, 2, 3, 4, 5), t1, (6, 5), (0, 1, 2, 3, 6, 4)) + tmp294 = einsum(tmp293, (0, 1, 2, 3, 4, 5), v.ovov, (4, 6, 3, 7), (0, 1, 2, 5, 7, 6)) + del tmp293 + tmp432 += np.transpose(tmp294, (1, 0, 2, 3, 4, 5)) * -1 + l3new += np.transpose(tmp432, (3, 5, 4, 0, 2, 1)) + l3new += np.transpose(tmp432, (4, 5, 3, 0, 2, 1)) * -1 + del tmp432 + tmp433 = np.copy(v.oooo) + tmp96 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 2, 5, 3), (0, 1, 4, 5)) + tmp433 += np.transpose(tmp96, (1, 3, 2, 0)) + tmp391 = einsum(t1, (0, 1), tmp187, (2, 3, 4, 1), (2, 0, 4, 3)) + tmp433 += np.transpose(tmp391, (1, 3, 2, 0)) + tmp434 = einsum(tmp433, (0, 1, 2, 3), l3, (4, 5, 6, 7, 0, 3), (1, 2, 7, 4, 6, 5)) * -1 + del tmp433 + l3new += np.transpose(tmp434, (4, 5, 3, 2, 0, 1)) + l3new += np.transpose(tmp434, (4, 5, 3, 1, 0, 2)) * -1 + del tmp434 + tmp329 = einsum(t2, (0, 1, 2, 3), l3, (4, 5, 2, 6, 7, 1), (6, 7, 0, 4, 5, 3)) + tmp435 = einsum(v.ovov, (0, 1, 2, 3), tmp329, (4, 5, 2, 6, 7, 3), (4, 5, 0, 6, 7, 1)) + tmp438 = np.copy(tmp435) + del tmp435 + tmp436 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1))) * 2 + tmp436 += np.transpose(v.ovov, (0, 2, 1, 3)) * -1 + tmp332 = einsum(l3, (0, 1, 2, 3, 4, 5), t2, (6, 5, 7, 2), (3, 4, 6, 0, 1, 7)) + tmp437 = einsum(tmp332, (0, 1, 2, 3, 4, 5), tmp436, (2, 6, 7, 5), (0, 1, 6, 3, 4, 7)) + del tmp436 + tmp438 += tmp437 * -1 + del tmp437 + l3new += np.transpose(tmp438, (3, 4, 5, 0, 1, 2)) * -1 + l3new += np.transpose(tmp438, (5, 4, 3, 0, 1, 2)) + l3new += np.transpose(tmp438, (3, 5, 4, 0, 2, 1)) * -1 + l3new += np.transpose(tmp438, (4, 3, 5, 1, 0, 2)) * -1 + l3new += np.transpose(tmp438, (5, 3, 4, 1, 0, 2)) + l3new += np.transpose(tmp438, (4, 3, 5, 2, 0, 1)) + l3new += np.transpose(tmp438, (5, 3, 4, 2, 0, 1)) * -1 + l3new += np.transpose(tmp438, (3, 5, 4, 1, 2, 0)) + l3new += np.transpose(tmp438, (3, 4, 5, 2, 1, 0)) + l3new += np.transpose(tmp438, (5, 4, 3, 2, 1, 0)) * -1 + del tmp438 + tmp439 = einsum(v.ovov, (0, 1, 2, 3), tmp329, (4, 5, 2, 6, 7, 1), (4, 5, 0, 6, 7, 3)) + l3new += np.transpose(tmp439, (3, 4, 5, 0, 1, 2)) + l3new += np.transpose(tmp439, (5, 4, 3, 0, 1, 2)) * -1 + l3new += np.transpose(tmp439, (3, 4, 5, 2, 1, 0)) * -1 + l3new += np.transpose(tmp439, (5, 4, 3, 2, 1, 0)) + del tmp439 + tmp239 = einsum(v.ovoo, (0, 1, 2, 3), tmp238, (4, 3, 5, 2, 6, 7), (4, 5, 0, 6, 7, 1)) + tmp440 = np.copy(tmp239) + tmp241 = einsum(t1, (0, 1), tmp240, (0, 2, 3, 4, 5, 6, 7, 1), (2, 3, 4, 5, 6, 7)) * -1 + tmp440 += tmp241 * -1 + tmp242 = einsum(tmp238, (0, 1, 2, 3, 4, 5), tmp187, (0, 6, 3, 7), (1, 2, 6, 4, 5, 7)) * -1 + tmp440 += tmp242 + l3new += np.transpose(tmp440, (3, 4, 5, 0, 1, 2)) * -1 + l3new += np.transpose(tmp440, (5, 4, 3, 0, 1, 2)) + l3new += np.transpose(tmp440, (3, 5, 4, 0, 2, 1)) * -1 + l3new += np.transpose(tmp440, (4, 3, 5, 1, 0, 2)) * -1 + l3new += np.transpose(tmp440, (5, 3, 4, 1, 0, 2)) + l3new += np.transpose(tmp440, (4, 3, 5, 2, 0, 1)) + l3new += np.transpose(tmp440, (5, 3, 4, 2, 0, 1)) * -1 + l3new += np.transpose(tmp440, (3, 5, 4, 1, 2, 0)) + l3new += np.transpose(tmp440, (3, 4, 5, 2, 1, 0)) + l3new += np.transpose(tmp440, (5, 4, 3, 2, 1, 0)) * -1 + del tmp440 + tmp441 = einsum(l3, (0, 1, 2, 3, 4, 5), f.vv, (6, 2), (3, 5, 4, 6, 0, 1)) + tmp443 = np.copy(np.transpose(tmp441, (1, 0, 2, 3, 4, 5))) * -1 + del tmp441 + tmp442 = einsum(t1, (0, 1), tmp369, (2, 3, 4, 0, 5, 1, 6, 7), (2, 3, 4, 5, 6, 7)) + tmp443 += np.transpose(tmp442, (1, 0, 2, 3, 4, 5)) * -1 + del tmp442 + l3new += np.transpose(tmp443, (3, 5, 4, 0, 2, 1)) * -1 + l3new += np.transpose(tmp443, (4, 5, 3, 0, 2, 1)) + del tmp443 + tmp136 = einsum(v.ovvv, (0, 1, 2, 3), l2, (4, 3, 5, 6), (5, 6, 0, 4, 1, 2)) + l3new += np.transpose(tmp136, (3, 5, 4, 0, 1, 2)) + l3new += np.transpose(tmp136, (4, 5, 3, 0, 1, 2)) * -1 + l3new += np.transpose(tmp136, (3, 4, 5, 0, 2, 1)) + l3new += np.transpose(tmp136, (5, 4, 3, 0, 2, 1)) * -1 + l3new += np.transpose(tmp136, (4, 3, 5, 1, 0, 2)) * -1 + l3new += np.transpose(tmp136, (5, 3, 4, 1, 0, 2)) + l3new += np.transpose(tmp136, (4, 3, 5, 2, 0, 1)) + l3new += np.transpose(tmp136, (5, 3, 4, 2, 0, 1)) * -1 + l3new += np.transpose(tmp136, (3, 4, 5, 1, 2, 0)) * -1 + l3new += np.transpose(tmp136, (5, 4, 3, 1, 2, 0)) + l3new += np.transpose(tmp136, (3, 5, 4, 2, 1, 0)) * -1 + l3new += np.transpose(tmp136, (4, 5, 3, 2, 1, 0)) + tmp344 = einsum(t1, (0, 1), tmp240, (2, 3, 4, 0, 1, 5, 6, 7), (2, 3, 4, 5, 6, 7)) + l3new += np.transpose(tmp344, (4, 3, 5, 1, 2, 0)) + l3new += np.transpose(tmp344, (5, 3, 4, 1, 2, 0)) * -1 + tmp134 = einsum(t1, (0, 1), v.ooov, (2, 3, 4, 1), (0, 2, 3, 4)) + tmp363 = einsum(tmp134, (0, 1, 2, 3), l3, (4, 5, 6, 7, 0, 1), (7, 2, 3, 4, 6, 5)) + l3new += np.transpose(tmp363, (4, 5, 3, 0, 2, 1)) * -1 + l3new += np.transpose(tmp363, (4, 5, 3, 1, 2, 0)) + tmp362 = einsum(l3, (0, 1, 2, 3, 4, 5), tmp134, (5, 6, 4, 7), (3, 6, 7, 0, 2, 1)) + l3new += np.transpose(tmp362, (4, 5, 3, 0, 1, 2)) * -1 + l3new += np.transpose(tmp362, (4, 5, 3, 2, 1, 0)) + tmp445 = np.copy(np.transpose(l3, (3, 5, 4, 0, 2, 1))) * -1 + tmp445 += np.transpose(l3, (3, 5, 4, 0, 1, 2)) + tmp445 += np.transpose(l3, (3, 4, 5, 0, 1, 2)) * -1 + tmp445 += np.transpose(l3, (4, 3, 5, 0, 1, 2)) + tmp444 = np.copy(np.transpose(l3, (3, 5, 4, 0, 2, 1))) * -1 + tmp444 += np.transpose(l3, (3, 5, 4, 1, 0, 2)) * -1 + tmp445 += einsum(tmp444, (0, 1, 2, 3, 4, 5), tmp49, (2, 6, 7, 5), (1, 0, 6, 4, 3, 7)) * 2 + del tmp444 + l3new += einsum(tmp445, (0, 1, 2, 3, 4, 5), v.ovov, (6, 7, 2, 5), (3, 7, 4, 1, 6, 0)) + del tmp445 + tmp447 = einsum(l3, (0, 1, 2, 3, 4, 5), t2, (6, 4, 7, 2), (3, 5, 6, 0, 1, 7)) + tmp446 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * -1 + tmp446 += t2 + tmp447 += einsum(l3, (0, 1, 2, 3, 4, 5), tmp446, (4, 6, 7, 1), (3, 5, 6, 0, 2, 7)) + del tmp446 + l3new += einsum(v.ovov, (0, 1, 2, 3), tmp447, (4, 5, 2, 6, 7, 1), (6, 3, 7, 5, 0, 4)) * -1 + del tmp447 + tmp449 = np.copy(np.transpose(tmp369, (1, 0, 2, 3, 5, 4, 7, 6))) + tmp448 = np.copy(np.transpose(l3, (3, 5, 4, 0, 2, 1))) + tmp448 += np.transpose(l3, (3, 5, 4, 1, 0, 2)) + tmp449 += einsum(tmp448, (0, 1, 2, 3, 4, 5), v.ovvv, (6, 7, 8, 3), (1, 0, 2, 6, 4, 5, 7, 8)) + del tmp448 + l3new += einsum(t1, (0, 1), tmp449, (2, 3, 0, 4, 5, 6, 7, 1), (5, 7, 6, 3, 4, 2)) + del tmp449 + tmp450 = np.copy(v.oooo) + tmp450 += np.transpose(tmp96, (1, 3, 0, 2)) + tmp450 += np.transpose(tmp391, (1, 2, 0, 3)) * -1 + tmp450 += np.transpose(tmp134, (2, 1, 0, 3)) + tmp450 += np.transpose(tmp134, (2, 3, 0, 1)) * -1 + l3new += einsum(tmp450, (0, 1, 2, 3), l3, (4, 5, 6, 0, 7, 2), (4, 5, 6, 1, 7, 3)) + del tmp450 + tmp451 = np.copy(tmp187) * -1 + tmp451 += np.transpose(tmp187, (0, 2, 1, 3)) + l3new += einsum(tmp451, (0, 1, 2, 3), tmp393, (4, 5, 0, 1, 6, 7), (7, 3, 6, 5, 2, 4)) * -1 + del tmp451 + tmp227 = einsum(t2, (0, 1, 2, 3), l3, (2, 4, 3, 5, 6, 7), (5, 7, 6, 0, 1, 4)) + tmp245 = np.copy(np.transpose(tmp227, (1, 0, 2, 4, 3, 5))) + tmp244 = einsum(tmp238, (0, 1, 2, 3, 4, 5), t1, (6, 4), (0, 1, 2, 3, 6, 5)) * -1 + del tmp238 + tmp245 += np.transpose(tmp244, (1, 0, 2, 4, 3, 5)) + del tmp244 + tmp246 = einsum(tmp245, (0, 1, 2, 3, 4, 5), v.ovov, (3, 6, 4, 7), (0, 1, 2, 5, 6, 7)) + del tmp245 + l3new += np.transpose(tmp246, (5, 3, 4, 1, 2, 0)) + tmp452 = np.copy(np.transpose(l3, (3, 5, 4, 0, 2, 1))) * -1 + tmp452 += np.transpose(l3, (3, 5, 4, 1, 0, 2)) * -1 + tmp453 = einsum(tmp452, (0, 1, 2, 3, 4, 5), t1, (6, 3), (1, 0, 2, 6, 4, 5)) * -1 + del tmp452 + l3new += einsum(v.ovoo, (0, 1, 2, 3), tmp453, (4, 5, 2, 3, 6, 7), (6, 1, 7, 5, 0, 4)) * -1 + del tmp453 + tmp454 = np.copy(f.vv) + tmp60 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * -0.5 + tmp60 += t2 + tmp454 += einsum(v.ovov, (0, 1, 2, 3), tmp60, (0, 2, 1, 4), (4, 3)) * -2 + tmp216 = np.copy(v.ovvv) * -0.5 + tmp216 += np.transpose(v.ovvv, (0, 2, 1, 3)) + tmp454 += einsum(tmp216, (0, 1, 2, 3), t1, (0, 2), (3, 1)) * 2 + l3new += einsum(l3, (0, 1, 2, 3, 4, 5), tmp454, (1, 6), (0, 6, 2, 3, 4, 5)) + del tmp454 + tmp221 = np.copy(f.oo) + tmp218 = einsum(v.ovov, (0, 1, 2, 3), tmp17, (2, 4, 3, 1), (4, 0)) + tmp221 += tmp218 + del tmp218 + tmp76 = np.copy(v.ooov) + tmp76 += np.transpose(v.ovoo, (0, 2, 3, 1)) * -0.5 + tmp219 = einsum(t1, (0, 1), tmp76, (2, 3, 0, 1), (2, 3)) * 2 + tmp221 += np.transpose(tmp219, (1, 0)) + del tmp219 + tmp214 = np.copy(f.ov) + tmp196 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1))) * -0.5 + tmp196 += np.transpose(v.ovov, (0, 2, 1, 3)) + tmp213 = einsum(tmp196, (0, 1, 2, 3), t1, (0, 2), (1, 3)) * 2 + tmp214 += tmp213 + tmp220 = einsum(t1, (0, 1), tmp214, (2, 1), (0, 2)) + tmp221 += tmp220 + del tmp220 + l3new += einsum(tmp221, (0, 1), l3, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) * -1 + tmp455 = np.copy(f.ov) + tmp204 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1))) * -1 + tmp204 += np.transpose(v.ovov, (0, 2, 1, 3)) * 2 + tmp383 = einsum(tmp204, (0, 1, 2, 3), t1, (0, 2), (1, 3)) + tmp455 += tmp383 + l3new += einsum(tmp455, (0, 1), tmp393, (2, 3, 4, 0, 5, 6), (6, 1, 5, 3, 4, 2)) * -1 + del tmp393 + tmp456 = np.copy(np.transpose(l2, (3, 2, 0, 1))) + tmp456 += np.transpose(l2, (2, 3, 0, 1)) * -1 + l3new += einsum(tmp456, (0, 1, 2, 3), tmp455, (4, 5), (2, 5, 3, 1, 4, 0)) + del tmp456 + l3new += einsum(tmp455, (0, 1), l2, (2, 3, 4, 5), (2, 3, 1, 0, 5, 4)) * -1 + l3new += einsum(l2, (0, 1, 2, 3), tmp455, (4, 5), (5, 0, 1, 3, 2, 4)) * -1 + del tmp455 + l3new += einsum(tmp214, (0, 1), l2, (2, 3, 4, 5), (2, 3, 1, 4, 5, 0)) + tmp457 = np.copy(f.ov) * 0.5 + tmp262 = einsum(tmp196, (0, 1, 2, 3), t1, (0, 2), (1, 3)) + tmp457 += tmp262 + l3new += einsum(l2, (0, 1, 2, 3), tmp457, (4, 5), (5, 0, 1, 4, 2, 3)) * 2 + del tmp457 + l1new = np.copy(np.transpose(f.ov, (1, 0))) + l1new += einsum(l2, (0, 1, 2, 3), v.ovvv, (3, 0, 4, 1), (4, 2)) * -1 + tmp1 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 2, 5, 3), (4, 0, 5, 1)) + l1new += einsum(tmp0, (0, 1, 2, 3), tmp1, (0, 2, 3, 4), (4, 1)) + del tmp1 + tmp2 = einsum(l3, (0, 1, 2, 3, 4, 5), t3, (3, 4, 5, 6, 7, 2), (0, 1, 6, 7)) + tmp4 = np.copy(tmp2) * 1.5 + tmp3 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * -1 + tmp3 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) * -4 + tmp3 += np.transpose(t3, (1, 0, 2, 3, 5, 4)) * -2 + tmp3 += np.transpose(t3, (1, 0, 2, 4, 3, 5)) * -2 + tmp4 += einsum(tmp3, (0, 1, 2, 3, 4, 5), l3, (6, 3, 7, 0, 2, 1), (6, 7, 4, 5)) * -0.5 + del tmp3 + l1new += einsum(tmp4, (0, 1, 2, 3), v.ovvv, (4, 2, 1, 3), (0, 4)) * -0.33333333333332 + del tmp4 + tmp5 = np.copy(v.ovvv) + tmp5 += np.transpose(v.ovvv, (0, 2, 3, 1)) * -1 + tmp6 = einsum(l3, (0, 1, 2, 3, 4, 5), t3, (3, 6, 5, 0, 7, 2), (4, 6, 1, 7)) + tmp11 = np.copy(tmp6) + del tmp6 + tmp7 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * -1 + tmp7 += np.transpose(t3, (0, 2, 1, 3, 4, 5)) * 0.2 + tmp7 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) * -0.2 + tmp7 += np.transpose(t3, (1, 0, 2, 3, 5, 4)) * -0.2 + tmp7 += np.transpose(t3, (1, 0, 2, 3, 4, 5)) * 0.2 + tmp8 = einsum(tmp7, (0, 1, 2, 3, 4, 5), l3, (6, 5, 3, 7, 2, 0), (1, 7, 4, 6)) * 5 + del tmp7 + tmp11 += np.transpose(tmp8, (1, 0, 3, 2)) * -1 + del tmp8 + tmp9 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) + tmp9 += np.transpose(t3, (0, 2, 1, 3, 4, 5)) * -1 + tmp9 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) + tmp10 = einsum(tmp9, (0, 1, 2, 3, 4, 5), l3, (6, 3, 4, 0, 7, 2), (1, 7, 5, 6)) + del tmp9 + tmp11 += np.transpose(tmp10, (1, 0, 3, 2)) + del tmp10 + l1new += einsum(tmp11, (0, 1, 2, 3), tmp5, (1, 3, 2, 4), (4, 0)) * 0.25 + tmp15 = np.copy(tmp12) + tmp15 += np.transpose(tmp13, (0, 2, 1, 3)) * 2 + tmp15 += einsum(tmp14, (0, 1, 2, 3), l3, (4, 5, 2, 6, 0, 1), (6, 4, 5, 3)) * -1 + l1new += einsum(v.vvvv, (0, 1, 2, 3), tmp15, (4, 1, 2, 3), (0, 4)) * -0.5 + del tmp15 + tmp22 = np.copy(np.transpose(tmp13, (0, 2, 1, 3))) * -1.3333333333333333 + tmp16 = np.copy(np.transpose(l3, (3, 5, 4, 0, 2, 1))) + tmp16 += np.transpose(l3, (3, 5, 4, 1, 0, 2)) + tmp16 += np.transpose(l3, (3, 4, 5, 0, 2, 1)) * -1 + tmp16 += np.transpose(l3, (3, 4, 5, 0, 1, 2)) + tmp22 += einsum(tmp16, (0, 1, 2, 3, 4, 5), t2, (0, 2, 5, 6), (1, 4, 3, 6)) * -0.6666666666666666 + tmp21 = np.copy(tmp12) * 3 + tmp21 += np.transpose(tmp18, (0, 2, 1, 3)) * 2 + tmp19 = np.copy(np.transpose(t2, (0, 1, 3, 2))) + tmp19 += t2 * -1 + tmp20 = einsum(l3, (0, 1, 2, 3, 4, 5), tmp19, (4, 5, 2, 6), (3, 6, 0, 1)) + tmp21 += np.transpose(tmp20, (0, 2, 3, 1)) * -1 + tmp22 += einsum(tmp21, (0, 1, 2, 3), tmp17, (0, 4, 2, 5), (4, 5, 1, 3)) * 0.3333333333333333 + l1new += einsum(tmp22, (0, 1, 2, 3), v.ovov, (4, 3, 0, 1), (2, 4)) * -1.5 + del tmp22 + tmp23 = np.copy(tmp12) * 3 + tmp23 += np.transpose(tmp20, (0, 2, 3, 1)) * -1 + del tmp20 + l1new += einsum(v.vvvv, (0, 1, 2, 3), tmp23, (4, 2, 1, 3), (0, 4)) * 0.5 + del tmp23 + tmp25 = np.copy(tmp2) + tmp24 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * -1 + tmp24 += np.transpose(t3, (1, 0, 2, 3, 5, 4)) * -2 + tmp25 += einsum(tmp24, (0, 1, 2, 3, 4, 5), l3, (6, 3, 7, 0, 2, 1), (6, 7, 4, 5)) * -0.33333333333333337 + del tmp24 + l1new += einsum(tmp25, (0, 1, 2, 3), v.ovvv, (4, 3, 0, 2), (1, 4)) * -0.49999999999997996 + del tmp25 + tmp30 = np.copy(v.oovv) + tmp28 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1))) * -1 + tmp28 += np.transpose(v.ovov, (0, 2, 1, 3)) + tmp30 += einsum(t2, (0, 1, 2, 3), tmp28, (1, 4, 2, 5), (0, 4, 3, 5)) * 0.5 + tmp29 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1))) * -1 + tmp29 += np.transpose(v.ovov, (0, 2, 1, 3)) * 2 + tmp30 += einsum(tmp29, (0, 1, 2, 3), t2, (4, 0, 5, 2), (4, 1, 5, 3)) * -0.5 + tmp26 = np.copy(np.transpose(l3, (3, 5, 4, 0, 2, 1))) + tmp26 += np.transpose(l3, (4, 3, 5, 0, 2, 1)) + tmp27 = einsum(t2, (0, 1, 2, 3), tmp26, (0, 1, 4, 5, 6, 3), (4, 5, 6, 2)) + del tmp26 + l1new += einsum(tmp27, (0, 1, 2, 3), tmp30, (0, 4, 2, 3), (1, 4)) * -1 + del tmp30 + tmp32 = np.copy(tmp12) * -1 + tmp32 += np.transpose(tmp12, (0, 2, 1, 3)) * 2 + tmp31 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * -0.3333333333333333 + tmp31 += t2 + tmp32 += einsum(tmp31, (0, 1, 2, 3), l3, (4, 5, 3, 6, 0, 1), (6, 4, 5, 2)) * 3 + tmp33 = einsum(t2, (0, 1, 2, 3), tmp32, (1, 4, 2, 5), (0, 4, 3, 5)) + del tmp32 + tmp33 += einsum(t2, (0, 1, 2, 3), tmp21, (1, 4, 3, 5), (0, 4, 2, 5)) + del tmp21 + l1new += einsum(v.ovov, (0, 1, 2, 3), tmp33, (2, 4, 1, 3), (4, 0)) * 0.5 + del tmp33 + tmp37 = np.copy(np.transpose(l2, (2, 3, 0, 1))) * 1.6 + tmp34 = einsum(t3, (0, 1, 2, 3, 4, 5), l3, (6, 5, 4, 7, 2, 1), (7, 0, 6, 3)) + tmp37 += tmp34 + tmp35 = np.copy(np.transpose(l3, (3, 5, 4, 0, 2, 1))) + tmp35 += np.transpose(l3, (4, 3, 5, 0, 2, 1)) * 2 + tmp37 += einsum(t3, (0, 1, 2, 3, 4, 5), tmp35, (0, 2, 6, 3, 7, 5), (6, 1, 7, 4)) * -0.2 + tmp36 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * 0.5 + tmp36 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) + tmp37 += einsum(l3, (0, 1, 2, 3, 4, 5), tmp36, (3, 6, 5, 0, 2, 7), (4, 6, 1, 7)) * -0.4 + l1new += einsum(v.ovvv, (0, 1, 2, 3), tmp37, (4, 0, 3, 1), (2, 4)) * 1.25 + del tmp37 + tmp42 = np.copy(np.transpose(l2, (3, 2, 0, 1))) * 2 + tmp42 += np.transpose(l2, (2, 3, 0, 1)) * -1 + tmp38 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 0, 5, 3), (4, 5, 1, 2)) + tmp41 = np.copy(tmp38) + del tmp38 + tmp39 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * -1 + tmp39 += t2 * 2 + tmp40 = einsum(v.ovvv, (0, 1, 2, 3), tmp39, (0, 4, 1, 5), (4, 5, 2, 3)) + tmp41 += np.transpose(tmp40, (0, 1, 3, 2)) * -1 + l1new += einsum(tmp41, (0, 1, 2, 3), tmp42, (0, 4, 3, 1), (2, 4)) * -1 + tmp43 = np.copy(v.oovv) + tmp43 += einsum(t2, (0, 1, 2, 3), tmp28, (1, 4, 2, 5), (0, 4, 3, 5)) * 0.75 + del tmp28 + tmp43 += einsum(tmp29, (0, 1, 2, 3), t2, (4, 0, 5, 2), (4, 1, 5, 3)) * -0.75 + del tmp29 + l1new += einsum(tmp43, (0, 1, 2, 3), tmp13, (0, 2, 4, 3), (4, 1)) * 2 + del tmp43 + tmp50 = np.copy(np.transpose(tmp44, (0, 2, 1, 3))) * 2 + tmp50 += einsum(t3, (0, 1, 2, 3, 4, 5), l2, (5, 4, 2, 6), (6, 0, 1, 3)) * -1 + tmp50 += einsum(t2, (0, 1, 2, 3), tmp0, (1, 4, 5, 2), (4, 5, 0, 3)) + tmp50 += np.transpose(tmp0, (0, 2, 1, 3)) + tmp50 += np.transpose(tmp0, (1, 2, 0, 3)) * -1 + tmp50 += np.transpose(tmp45, (0, 2, 1, 3)) * -1 + tmp50 += np.transpose(tmp45, (1, 2, 0, 3)) * 3 + tmp46 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * 3 + tmp46 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) + tmp46 += np.transpose(t3, (1, 0, 2, 4, 3, 5)) * 2 + tmp50 += einsum(l2, (0, 1, 2, 3), tmp46, (2, 4, 5, 0, 1, 6), (3, 4, 5, 6)) + del tmp46 + tmp47 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * -1 + tmp47 += t2 * 3 + tmp50 += einsum(l3, (0, 1, 2, 3, 4, 5), tmp47, (4, 6, 1, 2), (3, 6, 5, 0)) * -1 + tmp48 = np.copy(tmp0) + tmp48 += tmp44 * 2 + tmp48 += tmp45 * -1 + tmp48 += np.transpose(tmp45, (1, 0, 2, 3)) * 3 + tmp50 += einsum(tmp49, (0, 1, 2, 3), tmp48, (4, 0, 5, 3), (4, 5, 1, 2)) * 2 + del tmp48 + l1new += einsum(tmp50, (0, 1, 2, 3), v.ovov, (1, 4, 2, 3), (4, 0)) * -0.5 + del tmp50 + tmp51 = np.copy(v.ooov) * -1 + tmp51 += np.transpose(v.ovoo, (0, 2, 3, 1)) + l1new += einsum(tmp51, (0, 1, 2, 3), tmp11, (1, 0, 4, 3), (4, 2)) * -0.25 + del tmp51 + tmp55 = np.copy(tmp44) * 2 + tmp55 += tmp0 + tmp55 += np.transpose(tmp0, (1, 0, 2, 3)) * -1 + tmp55 += tmp45 * -1 + tmp55 += np.transpose(tmp45, (1, 0, 2, 3)) * 3 + tmp55 += np.transpose(tmp54, (2, 1, 0, 3)) * -1 + tmp53 = np.copy(v.oovv) * -1 + tmp52 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 2, 1, 5), (0, 4, 3, 5)) + tmp53 += tmp52 + l1new += einsum(tmp53, (0, 1, 2, 3), tmp55, (0, 4, 1, 2), (3, 4)) * 0.5 + tmp56 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovov, (6, 4, 2, 5), (0, 1, 6, 3)) + tmp61 = np.copy(np.transpose(tmp56, (1, 0, 2, 3))) * -0.25 + tmp61 += np.transpose(v.ooov, (0, 2, 1, 3)) * -0.5 + tmp61 += np.transpose(v.ovoo, (0, 2, 3, 1)) + tmp57 = einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 2, 5, 3), (0, 1, 4, 5)) + tmp61 += tmp57 * -0.5 + tmp61 += np.transpose(tmp57, (1, 0, 2, 3)) + tmp58 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * 0.5 + tmp58 += np.transpose(t3, (0, 2, 1, 3, 4, 5)) * -1.5 + tmp58 += np.transpose(t3, (1, 0, 2, 3, 5, 4)) + tmp61 += einsum(tmp58, (0, 1, 2, 3, 4, 5), v.ovov, (6, 3, 0, 5), (2, 1, 6, 4)) * 0.5 + del tmp58 + tmp59 = np.copy(v.ooov) * -1 + tmp59 += np.transpose(v.ovoo, (0, 2, 3, 1)) * 2 + tmp61 += einsum(tmp59, (0, 1, 2, 3), tmp60, (0, 4, 3, 5), (4, 1, 2, 5)) + l1new += einsum(l2, (0, 1, 2, 3), tmp61, (3, 2, 4, 1), (0, 4)) * -2 + del tmp61 + tmp64 = np.copy(tmp34) + tmp62 = einsum(l3, (0, 1, 2, 3, 4, 5), t3, (3, 6, 5, 7, 1, 2), (4, 6, 0, 7)) + tmp64 += tmp62 * 2 + tmp63 = einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 4, 5, 0, 7, 2), (3, 6, 1, 7)) + tmp64 += tmp63 * 2 + l1new += einsum(tmp64, (0, 1, 2, 3), v.ovvv, (1, 4, 2, 3), (4, 0)) * -0.25 + del tmp64 + tmp70 = einsum(l2, (0, 1, 2, 3), t3, (4, 5, 3, 0, 6, 1), (2, 4, 5, 6)) * 0.3333333333333333 + tmp70 += einsum(tmp13, (0, 1, 2, 3), t2, (4, 5, 1, 2), (0, 4, 5, 3)) * -0.6666666666666666 + tmp66 = einsum(t2, (0, 1, 2, 3), tmp65, (4, 2, 3, 5), (4, 0, 1, 5)) + tmp70 += tmp66 * 0.3333333333333333 + tmp70 += np.transpose(tmp66, (0, 2, 1, 3)) * -0.3333333333333333 + del tmp66 + tmp67 = einsum(t2, (0, 1, 2, 3), tmp18, (4, 2, 3, 5), (4, 0, 1, 5)) + tmp70 += tmp67 * -0.3333333333333333 + tmp70 += np.transpose(tmp67, (0, 2, 1, 3)) + del tmp67 + tmp68 = einsum(t2, (0, 1, 2, 3), tmp12, (4, 2, 3, 5), (4, 0, 1, 5)) + tmp70 += tmp68 + tmp70 += np.transpose(tmp68, (0, 2, 1, 3)) * -0.3333333333333333 + del tmp68 + tmp69 = np.copy(np.transpose(l2, (3, 2, 0, 1))) * -0.3333333333333333 + tmp69 += np.transpose(l2, (2, 3, 0, 1)) + tmp70 += einsum(tmp69, (0, 1, 2, 3), t3, (4, 5, 0, 6, 3, 2), (1, 4, 5, 6)) * -1 + del tmp69 + l1new += einsum(v.ovov, (0, 1, 2, 3), tmp70, (4, 0, 2, 1), (3, 4)) * 1.5 + del tmp70 + tmp73 = np.copy(np.transpose(tmp44, (1, 0, 2, 3))) * 0.6666666666666666 + tmp73 += tmp45 + tmp73 += np.transpose(tmp45, (1, 0, 2, 3)) * -0.3333333333333333 + tmp73 += tmp0 * -0.3333333333333333 + tmp73 += np.transpose(tmp0, (1, 0, 2, 3)) * 0.3333333333333333 + tmp72 = np.copy(np.transpose(t2, (0, 1, 3, 2))) + tmp72 += t2 * -0.3333333333333333 + tmp73 += einsum(l3, (0, 1, 2, 3, 4, 5), tmp72, (4, 6, 2, 1), (3, 5, 6, 0)) + tmp71 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 3, 1, 5), (0, 4, 2, 5)) + l1new += einsum(tmp71, (0, 1, 2, 3), tmp73, (0, 4, 1, 2), (3, 4)) * 1.5 + del tmp73 + tmp74 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovov, (6, 3, 2, 5), (0, 1, 6, 4)) + tmp77 = np.copy(np.transpose(tmp74, (1, 0, 2, 3))) * 0.5 + tmp75 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1))) * -0.3333333333333333 + tmp75 += np.transpose(v.ovov, (0, 2, 1, 3)) + tmp77 += einsum(t3, (0, 1, 2, 3, 4, 5), tmp75, (2, 6, 5, 4), (1, 0, 6, 3)) * -1.5 + tmp77 += einsum(tmp59, (0, 1, 2, 3), t2, (4, 0, 5, 3), (4, 1, 2, 5)) + del tmp59 + tmp77 += einsum(t2, (0, 1, 2, 3), tmp76, (1, 4, 5, 2), (0, 4, 5, 3)) * 2 + del tmp76 + l1new += einsum(l2, (0, 1, 2, 3), tmp77, (2, 3, 4, 1), (0, 4)) + del tmp77 + tmp79 = np.copy(np.transpose(l2, (3, 2, 0, 1))) * -1 + tmp79 += np.transpose(l2, (2, 3, 0, 1)) * 2 + tmp78 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 2), (0, 3, 4, 5)) + l1new += einsum(tmp79, (0, 1, 2, 3), tmp78, (0, 3, 4, 2), (4, 1)) * -1 + del tmp79 + tmp80 = np.copy(np.transpose(l3, (3, 5, 4, 0, 2, 1))) + tmp80 += np.transpose(l3, (3, 4, 5, 0, 1, 2)) + tmp81 = einsum(tmp80, (0, 1, 2, 3, 4, 5), t2, (0, 2, 3, 6), (1, 4, 5, 6)) + del tmp80 + l1new += einsum(v.oovv, (0, 1, 2, 3), tmp81, (1, 4, 2, 3), (4, 0)) * -1 + tmp84 = np.copy(tmp34) * 5 + tmp82 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp35, (0, 2, 6, 3, 7, 5), (6, 1, 7, 4)) * -1 + tmp84 += tmp82 + del tmp82 + tmp83 = einsum(tmp36, (0, 1, 2, 3, 4, 5), l3, (3, 6, 4, 0, 7, 2), (1, 7, 5, 6)) * -2 + tmp84 += np.transpose(tmp83, (1, 0, 3, 2)) + del tmp83 + l1new += einsum(v.ooov, (0, 1, 2, 3), tmp84, (1, 2, 4, 3), (4, 0)) * -0.25 + tmp85 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * 2 + tmp85 += t2 * -1 + tmp86 = einsum(v.ovov, (0, 1, 2, 3), tmp85, (2, 4, 5, 3), (4, 0, 5, 1)) * 0.5 + l1new += einsum(tmp54, (0, 1, 2, 3), tmp86, (2, 0, 3, 4), (4, 1)) * -1 + del tmp86 + tmp87 = np.copy(tmp34) * 0.5 + tmp87 += tmp62 + tmp87 += tmp63 + l1new += einsum(v.ovoo, (0, 1, 2, 3), tmp87, (3, 2, 4, 1), (4, 0)) * 0.5 + tmp88 = einsum(l2, (0, 1, 2, 3), t2, (4, 5, 0, 1), (2, 3, 4, 5)) + tmp93 = np.copy(np.transpose(tmp88, (1, 0, 2, 3))) * 24 + tmp93 += np.transpose(tmp88, (1, 0, 3, 2)) * -12 + tmp89 = einsum(t3, (0, 1, 2, 3, 4, 5), l3, (3, 5, 4, 6, 7, 2), (6, 7, 0, 1)) + tmp93 += tmp89 * 2 + tmp93 += np.transpose(tmp89, (1, 0, 2, 3)) * -2 + tmp90 = einsum(t3, (0, 1, 2, 3, 4, 5), l3, (3, 4, 5, 6, 7, 2), (6, 7, 0, 1)) + tmp93 += tmp90 * -1 + tmp93 += np.transpose(tmp90, (1, 0, 2, 3)) * 7 + tmp91 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) + tmp91 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) * 0.5 + tmp92 = einsum(l3, (0, 1, 2, 3, 4, 5), tmp91, (4, 6, 7, 1, 0, 2), (6, 7, 3, 5)) * -2 + del tmp91 + tmp93 += np.transpose(tmp92, (3, 2, 0, 1)) * -1 + l1new += einsum(tmp93, (0, 1, 2, 3), v.ooov, (3, 0, 2, 4), (4, 1)) * 0.08333333333333 + del tmp93 + tmp95 = einsum(l3, (0, 1, 2, 3, 4, 5), tmp31, (5, 6, 2, 1), (3, 4, 6, 0)) * -1 + tmp94 = einsum(tmp14, (0, 1, 2, 3), l3, (4, 3, 2, 5, 0, 6), (1, 5, 6, 4)) * -0.3333333333333333 + del tmp14 + tmp95 += np.transpose(tmp94, (2, 1, 0, 3)) * -1 + tmp97 = np.copy(v.oooo) + tmp97 += np.transpose(tmp96, (1, 3, 2, 0)) + l1new += einsum(tmp95, (0, 1, 2, 3), tmp97, (1, 2, 4, 0), (3, 4)) * -1.5 + del tmp95 + tmp99 = np.copy(tmp90) + tmp99 += np.transpose(tmp90, (1, 0, 2, 3)) * -0.14285714285714288 + tmp99 += tmp89 * -0.28571428571428575 + tmp99 += np.transpose(tmp89, (1, 0, 2, 3)) * 0.28571428571428575 + tmp98 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * 6 + tmp98 += np.transpose(t3, (1, 0, 2, 3, 5, 4)) + tmp98 += np.transpose(t3, (1, 0, 2, 4, 3, 5)) * 2 + tmp99 += einsum(tmp98, (0, 1, 2, 3, 4, 5), l3, (3, 5, 4, 6, 2, 7), (6, 7, 1, 0)) * -0.14285714285714288 + del tmp98 + l1new += einsum(tmp99, (0, 1, 2, 3), v.ooov, (2, 0, 3, 4), (4, 1)) * 0.58333333333331 + del tmp99 + tmp101 = np.copy(tmp44) * 2 + tmp100 = einsum(l3, (0, 1, 2, 3, 4, 5), tmp19, (5, 6, 2, 1), (6, 3, 4, 0)) + tmp101 += np.transpose(tmp100, (1, 2, 0, 3)) + del tmp100 + tmp102 = np.copy(v.oooo) + tmp102 += np.transpose(tmp96, (1, 3, 0, 2)) + l1new += einsum(tmp101, (0, 1, 2, 3), tmp102, (1, 4, 0, 2), (3, 4)) * 0.5 + tmp191 = einsum(tmp18, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 1), (0, 4, 2, 5)) * -2 + tmp191 += einsum(tmp12, (0, 1, 2, 3), v.ovvv, (4, 3, 5, 1), (0, 4, 2, 5)) * -2 + tmp103 = einsum(t3, (0, 1, 2, 3, 4, 5), l3, (3, 4, 5, 6, 1, 7), (6, 7, 0, 2)) + tmp191 += einsum(v.ovov, (0, 1, 2, 3), tmp103, (4, 5, 2, 0), (5, 4, 1, 3)) + del tmp103 + tmp110 = np.copy(np.transpose(v.ovov, (0, 2, 1, 3))) * 4 + tmp104 = einsum(l2, (0, 1, 2, 3), v.vvvv, (4, 0, 5, 1), (2, 3, 4, 5)) + tmp110 += np.transpose(tmp104, (1, 0, 3, 2)) * 4 + tmp105 = einsum(tmp102, (0, 1, 2, 3), l2, (4, 5, 0, 2), (1, 3, 4, 5)) * 4 + tmp110 += tmp105 + del tmp105 + tmp108 = np.copy(np.transpose(tmp88, (1, 0, 3, 2))) + del tmp88 + tmp107 = einsum(t1, (0, 1), tmp106, (2, 3, 4, 1), (2, 3, 0, 4)) + tmp108 += np.transpose(tmp107, (1, 0, 3, 2)) + del tmp107 + tmp109 = einsum(tmp108, (0, 1, 2, 3), v.ovov, (2, 4, 3, 5), (0, 1, 5, 4)) * 4 + tmp110 += np.transpose(tmp109, (1, 0, 2, 3)) + del tmp109 + tmp191 += np.transpose(tmp110, (0, 1, 3, 2)) * -1 + tmp191 += tmp110 * 0.5 + del tmp110 + tmp111 = einsum(v.ooov, (0, 1, 2, 3), tmp12, (1, 4, 5, 3), (0, 2, 4, 5)) * -1 + tmp133 = np.copy(tmp111) * 2 + tmp112 = einsum(v.ovvv, (0, 1, 2, 3), tmp18, (4, 5, 3, 2), (4, 0, 5, 1)) + tmp133 += tmp112 * 2 + del tmp112 + tmp113 = einsum(v.ovvv, (0, 1, 2, 3), tmp12, (4, 5, 3, 1), (4, 0, 5, 2)) * -1 + tmp133 += tmp113 * -2 + del tmp113 + tmp114 = einsum(t1, (0, 1), tmp44, (2, 3, 4, 1), (2, 3, 0, 4)) + tmp115 = einsum(v.ovov, (0, 1, 2, 3), tmp114, (4, 5, 0, 2), (4, 5, 1, 3)) * -1 + del tmp114 + tmp133 += tmp115 * 2 + tmp116 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1))) + tmp116 += np.transpose(v.ovov, (0, 2, 1, 3)) * -1 + tmp117 = einsum(tmp11, (0, 1, 2, 3), tmp116, (1, 4, 3, 5), (0, 4, 2, 5)) * 0.5 + del tmp11 + tmp133 += tmp117 * -1 + del tmp117 + tmp118 = np.copy(np.transpose(l2, (3, 2, 0, 1))) * -0.5 + tmp118 += np.transpose(l2, (2, 3, 0, 1)) + tmp120 = np.copy(np.transpose(v.ovov, (0, 2, 1, 3))) + tmp120 += tmp71 * -1 + tmp119 = einsum(v.ovov, (0, 1, 2, 3), tmp85, (2, 4, 5, 3), (4, 0, 5, 1)) + del tmp85 + tmp120 += tmp119 + del tmp119 + tmp121 = einsum(tmp118, (0, 1, 2, 3), tmp120, (0, 4, 2, 5), (1, 4, 3, 5)) * 4 + del tmp118, tmp120 + tmp133 += tmp121 + del tmp121 + tmp122 = einsum(v.ovov, (0, 1, 2, 3), tmp84, (4, 2, 5, 3), (4, 0, 5, 1)) * 0.5 + del tmp84 + tmp133 += tmp122 + del tmp122 + tmp123 = np.copy(np.transpose(l2, (3, 2, 0, 1))) * 2 + tmp123 += np.transpose(l2, (2, 3, 0, 1)) * -1 + tmp124 = einsum(tmp123, (0, 1, 2, 3), tmp53, (0, 4, 2, 5), (4, 1, 5, 3)) * 2 + del tmp53, tmp123 + tmp133 += np.transpose(tmp124, (1, 0, 3, 2)) * -1 + del tmp124 + tmp125 = einsum(v.ovov, (0, 1, 2, 3), tmp87, (4, 2, 5, 1), (4, 0, 5, 3)) + del tmp87 + tmp133 += tmp125 * -1 + del tmp125 + tmp127 = np.copy(v.ooov) * -1 + tmp127 += np.transpose(v.ooov, (0, 2, 1, 3)) + tmp126 = np.copy(tmp0) * -1 + tmp126 += np.transpose(tmp0, (1, 0, 2, 3)) + tmp126 += np.transpose(tmp54, (2, 1, 0, 3)) + tmp128 = einsum(tmp126, (0, 1, 2, 3), tmp127, (0, 4, 2, 5), (1, 4, 3, 5)) + del tmp126, tmp127 + tmp133 += tmp128 + del tmp128 + tmp129 = np.copy(tmp44) + tmp129 += tmp45 * -0.5 + tmp129 += np.transpose(tmp45, (1, 0, 2, 3)) * 1.5 + tmp130 = einsum(v.ooov, (0, 1, 2, 3), tmp129, (4, 1, 2, 5), (0, 4, 3, 5)) * 2 + del tmp129 + tmp133 += np.transpose(tmp130, (1, 0, 3, 2)) * -1 + del tmp130 + tmp131 = np.copy(tmp44) * 0.6666666666666666 + tmp131 += tmp45 * -0.3333333333333333 + tmp131 += np.transpose(tmp45, (1, 0, 2, 3)) + tmp132 = einsum(v.ovoo, (0, 1, 2, 3), tmp131, (2, 4, 3, 5), (0, 4, 1, 5)) * 3 + del tmp131 + tmp133 += np.transpose(tmp132, (1, 0, 3, 2)) * -1 + del tmp132 + tmp191 += tmp133 + tmp191 += np.transpose(tmp133, (1, 0, 3, 2)) + del tmp133 + tmp135 = einsum(l2, (0, 1, 2, 3), tmp134, (2, 3, 4, 5), (4, 5, 0, 1)) + tmp191 += tmp135 * -4 + tmp191 += np.transpose(tmp135, (0, 1, 3, 2)) * 2 + tmp191 += np.transpose(tmp135, (1, 0, 2, 3)) * 2 + tmp191 += np.transpose(tmp135, (1, 0, 3, 2)) * -4 + tmp137 = einsum(t1, (0, 1), tmp136, (2, 3, 0, 1, 4, 5), (2, 3, 4, 5)) + tmp191 += tmp137 * -2 + tmp191 += np.transpose(tmp137, (0, 1, 3, 2)) * 4 + tmp191 += np.transpose(tmp137, (1, 0, 2, 3)) * 4 + tmp191 += np.transpose(tmp137, (1, 0, 3, 2)) * -2 + del tmp137 + tmp138 = einsum(t3, (0, 1, 2, 3, 4, 5), l3, (3, 6, 5, 0, 1, 2), (6, 4)) + tmp142 = np.copy(tmp138) * 1.5 + tmp139 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) + tmp139 += np.transpose(t3, (0, 2, 1, 3, 4, 5)) * -1 + tmp139 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) + tmp139 += np.transpose(t3, (1, 0, 2, 3, 5, 4)) * 0.5 + tmp139 += np.transpose(t3, (1, 0, 2, 3, 4, 5)) * -0.5 + tmp139 += np.transpose(t3, (1, 0, 2, 4, 3, 5)) * 3.4999999999999996 + tmp140 = einsum(tmp139, (0, 1, 2, 3, 4, 5), l3, (6, 3, 5, 1, 0, 2), (4, 6)) + tmp142 += np.transpose(tmp140, (1, 0)) + del tmp140 + tmp141 = einsum(l2, (0, 1, 2, 3), tmp49, (3, 2, 4, 1), (0, 4)) * 12 + tmp142 += tmp141 + del tmp141 + tmp143 = einsum(v.ovov, (0, 1, 2, 3), tmp142, (4, 1), (0, 2, 4, 3)) * 0.66666666666664 + tmp191 += np.transpose(tmp143, (1, 0, 2, 3)) + tmp191 += tmp143 * -0.5 + del tmp143 + tmp144 = einsum(v.ooov, (0, 1, 2, 3), tmp18, (1, 4, 5, 3), (0, 2, 4, 5)) * -1 + tmp147 = np.copy(tmp144) * 2 + tmp145 = einsum(tmp44, (0, 1, 2, 3), v.ovvv, (2, 4, 5, 3), (0, 1, 4, 5)) * -1 + tmp147 += tmp145 * -2 + tmp146 = einsum(v.ovov, (0, 1, 2, 3), tmp2, (4, 5, 1, 3), (0, 2, 4, 5)) * -1 + del tmp2 + tmp147 += tmp146 + tmp191 += np.transpose(tmp147, (0, 1, 3, 2)) + tmp191 += np.transpose(tmp147, (1, 0, 2, 3)) + del tmp147 + tmp148 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * -0.5 + tmp148 += np.transpose(t3, (1, 0, 2, 3, 5, 4)) * -1 + tmp149 = einsum(tmp148, (0, 1, 2, 3, 4, 5), l3, (6, 3, 7, 0, 2, 1), (4, 5, 6, 7)) + del tmp148 + tmp150 = einsum(tmp149, (0, 1, 2, 3), v.ovov, (4, 1, 5, 0), (4, 5, 3, 2)) * 0.66666666666664 + del tmp149 + tmp155 = np.copy(np.transpose(tmp150, (1, 0, 3, 2))) + del tmp150 + tmp151 = einsum(l3, (0, 1, 2, 3, 4, 5), t2, (3, 5, 1, 6), (4, 0, 2, 6)) * -1 + tmp153 = np.copy(np.transpose(tmp151, (0, 2, 1, 3))) * -1 + del tmp151 + tmp152 = einsum(tmp60, (0, 1, 2, 3), l3, (4, 2, 5, 6, 0, 1), (6, 3, 4, 5)) * -2 + tmp153 += np.transpose(tmp152, (0, 3, 2, 1)) + del tmp152 + tmp154 = einsum(v.ooov, (0, 1, 2, 3), tmp153, (1, 4, 5, 3), (0, 2, 4, 5)) * 2 + tmp155 += np.transpose(tmp154, (0, 1, 3, 2)) + del tmp154 + tmp191 += tmp155 * -1 + tmp191 += np.transpose(tmp155, (1, 0, 2, 3)) + del tmp155 + tmp157 = einsum(tmp156, (0, 1, 2, 3, 4, 5), t1, (2, 3), (0, 1, 4, 5)) * -1 + tmp159 = np.copy(tmp157) * 2 + del tmp157 + tmp158 = einsum(tmp5, (0, 1, 2, 3), tmp13, (4, 2, 5, 3), (0, 4, 1, 5)) * 2 + del tmp5 + tmp159 += np.transpose(tmp158, (1, 0, 3, 2)) + del tmp158 + tmp191 += tmp159 * -1 + tmp191 += np.transpose(tmp159, (1, 0, 3, 2)) * -2 + del tmp159 + tmp160 = einsum(tmp18, (0, 1, 2, 3), v.ovvv, (4, 3, 5, 1), (0, 4, 2, 5)) * -1 + tmp162 = np.copy(tmp160) * 4 + del tmp160 + tmp161 = einsum(tmp12, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 1), (0, 4, 2, 5)) + tmp162 += tmp161 * -4 + del tmp161 + tmp191 += tmp162 * -1 + tmp191 += np.transpose(tmp162, (1, 0, 3, 2)) * -0.5 + del tmp162 + tmp163 = einsum(v.ovvv, (0, 1, 2, 3), tmp45, (4, 5, 0, 3), (4, 5, 1, 2)) * -1 + tmp191 += tmp163 * -3 + tmp191 += np.transpose(tmp163, (0, 1, 3, 2)) + tmp191 += np.transpose(tmp163, (1, 0, 2, 3)) + tmp191 += np.transpose(tmp163, (1, 0, 3, 2)) * -3 + tmp164 = einsum(v.ovvv, (0, 1, 2, 3), tmp0, (4, 5, 0, 3), (4, 5, 1, 2)) * -1 + tmp168 = np.copy(tmp164) + del tmp164 + tmp165 = einsum(tmp89, (0, 1, 2, 3), v.ovov, (3, 4, 2, 5), (0, 1, 5, 4)) * -1 + del tmp89 + tmp168 += tmp165 * 0.33333333333332 + del tmp165 + tmp166 = einsum(t1, (0, 1), tmp0, (2, 3, 4, 1), (2, 3, 0, 4)) + del tmp0 + tmp167 = einsum(tmp166, (0, 1, 2, 3), v.ovov, (2, 4, 3, 5), (0, 1, 4, 5)) + del tmp166 + tmp168 += tmp167 * -1 + del tmp167 + tmp191 += tmp168 + tmp191 += np.transpose(tmp168, (0, 1, 3, 2)) * -1 + tmp191 += np.transpose(tmp168, (1, 0, 2, 3)) * -1 + tmp191 += np.transpose(tmp168, (1, 0, 3, 2)) + del tmp168 + tmp169 = einsum(tmp54, (0, 1, 2, 3), v.ovvv, (0, 4, 5, 3), (2, 1, 4, 5)) + tmp171 = np.copy(np.transpose(tmp169, (1, 0, 2, 3))) + del tmp169 + tmp170 = einsum(v.ovov, (0, 1, 2, 3), tmp92, (0, 2, 4, 5), (5, 4, 1, 3)) * 0.16666666666666 + del tmp92 + tmp171 += np.transpose(tmp170, (1, 0, 2, 3)) + del tmp170 + tmp191 += tmp171 * -1 + tmp191 += np.transpose(tmp171, (0, 1, 3, 2)) + del tmp171 + tmp172 = einsum(tmp90, (0, 1, 2, 3), v.ovov, (3, 4, 2, 5), (0, 1, 5, 4)) * -1 + del tmp90 + tmp191 += tmp172 * -0.16666666666666 + tmp191 += np.transpose(tmp172, (0, 1, 3, 2)) * 1.16666666666662 + tmp191 += np.transpose(tmp172, (1, 0, 2, 3)) * 1.16666666666662 + tmp191 += np.transpose(tmp172, (1, 0, 3, 2)) * -0.16666666666666 + tmp173 = einsum(v.ovov, (0, 1, 2, 3), tmp81, (4, 5, 6, 1), (4, 0, 2, 5, 6, 3)) + tmp174 = einsum(tmp173, (0, 1, 2, 3, 4, 5), t1, (1, 4), (0, 2, 3, 5)) * 3 + del tmp173 + tmp191 += tmp174 * -1 + tmp191 += np.transpose(tmp174, (1, 0, 3, 2)) * -0.6666666666666666 + del tmp174 + tmp175 = einsum(t1, (0, 1), tmp45, (2, 3, 4, 1), (2, 3, 0, 4)) + tmp176 = einsum(v.ovov, (0, 1, 2, 3), tmp175, (4, 5, 0, 2), (4, 5, 1, 3)) + del tmp175 + tmp191 += tmp176 + tmp191 += np.transpose(tmp176, (0, 1, 3, 2)) * -3 + tmp191 += np.transpose(tmp176, (1, 0, 2, 3)) * -3 + tmp191 += np.transpose(tmp176, (1, 0, 3, 2)) + tmp177 = einsum(t1, (0, 1), tmp94, (2, 3, 4, 1), (0, 4, 3, 2)) * 3 + del tmp94 + tmp178 = einsum(tmp177, (0, 1, 2, 3), v.ovov, (0, 4, 3, 5), (2, 1, 5, 4)) * -1 + del tmp177 + tmp191 += np.transpose(tmp178, (1, 0, 3, 2)) * -1 + tmp191 += np.transpose(tmp178, (1, 0, 2, 3)) + del tmp178 + tmp179 = np.copy(v.ovvv) * -1 + tmp179 += np.transpose(v.ovvv, (0, 2, 3, 1)) + tmp191 += einsum(tmp179, (0, 1, 2, 3), tmp27, (4, 5, 2, 1), (0, 4, 3, 5)) * 2 + tmp184 = np.copy(np.transpose(tmp156, (0, 1, 2, 4, 3, 5))) * -1 + del tmp156 + tmp184 += np.transpose(tmp136, (0, 1, 2, 4, 3, 5)) * 0.5 + tmp184 += np.transpose(tmp136, (0, 1, 2, 5, 3, 4)) * -1 + tmp184 += tmp180 * 0.5 + tmp184 += np.transpose(tmp180, (1, 2, 0, 3, 5, 4)) * -0.25 + tmp184 += np.transpose(tmp181, (1, 2, 0, 3, 5, 4)) * 0.25 + tmp184 += np.transpose(tmp181, (1, 2, 0, 4, 5, 3)) * -0.25 + del tmp181 + tmp182 = einsum(tmp27, (0, 1, 2, 3), v.ovov, (4, 3, 5, 6), (0, 4, 5, 2, 1, 6)) * 0.5 + del tmp27 + tmp184 += np.transpose(tmp182, (0, 2, 1, 4, 3, 5)) + tmp184 += np.transpose(tmp182, (0, 1, 2, 4, 3, 5)) * -1 + del tmp182 + tmp184 += np.transpose(tmp183, (0, 1, 2, 4, 3, 5)) * -0.5 + tmp184 += np.transpose(tmp183, (1, 2, 0, 4, 5, 3)) * 0.25 + tmp191 += einsum(tmp184, (0, 1, 2, 3, 4, 5), t1, (1, 3), (2, 0, 5, 4)) * -4 + del tmp184 + tmp191 += einsum(tmp65, (0, 1, 2, 3), tmp179, (4, 5, 1, 3), (0, 4, 2, 5)) * -2 + del tmp65, tmp179 + tmp185 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) + tmp185 += np.transpose(t3, (1, 0, 2, 3, 5, 4)) * 0.5 + tmp186 = einsum(tmp185, (0, 1, 2, 3, 4, 5), l3, (6, 5, 7, 0, 2, 1), (6, 7, 4, 3)) * -1 + del tmp185 + tmp191 += einsum(tmp186, (0, 1, 2, 3), v.ovov, (4, 2, 5, 3), (4, 5, 1, 0)) * -1.33333333333328 + del tmp186 + tmp188 = np.copy(tmp106) + tmp188 += einsum(l3, (0, 1, 2, 3, 4, 5), tmp47, (5, 6, 2, 1), (3, 4, 6, 0)) * 0.25 + del tmp47 + tmp188 += einsum(l3, (0, 1, 2, 3, 4, 5), tmp72, (4, 6, 2, 1), (3, 5, 6, 0)) * 0.75 + del tmp72 + tmp191 += einsum(tmp188, (0, 1, 2, 3), tmp187, (1, 4, 2, 5), (4, 0, 5, 3)) * -4 + del tmp188 + tmp189 = np.copy(tmp106) * -1 + tmp189 += tmp44 + tmp189 += einsum(l3, (0, 1, 2, 3, 4, 5), tmp19, (5, 6, 2, 1), (3, 4, 6, 0)) * 0.5 + del tmp19 + tmp191 += einsum(tmp187, (0, 1, 2, 3), tmp189, (4, 0, 1, 5), (2, 4, 3, 5)) * -2 + del tmp189 + tmp190 = np.copy(tmp106) * -1 + tmp190 += np.transpose(tmp106, (1, 0, 2, 3)) * 2 + tmp191 += einsum(tmp190, (0, 1, 2, 3), v.ovoo, (4, 5, 0, 2), (1, 4, 3, 5)) * -2 + del tmp190 + l1new += einsum(tmp191, (0, 1, 2, 3), t1, (1, 2), (3, 0)) * -0.5 + del tmp191 + tmp192 = np.copy(v.ovvv) + tmp192 += np.transpose(v.ovvv, (0, 2, 1, 3)) * -0.5 + l1new += einsum(tmp142, (0, 1), tmp192, (2, 3, 1, 0), (3, 2)) * 0.33333333333332 + del tmp192 + tmp195 = einsum(l2, (0, 1, 2, 3), t3, (4, 2, 3, 5, 1, 0), (4, 5)) * -1 + tmp193 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * 0.3333333333333333 + tmp193 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) + tmp193 += np.transpose(t3, (0, 1, 2, 3, 5, 4)) * -0.3333333333333333 + tmp195 += einsum(l2, (0, 1, 2, 3), tmp193, (3, 4, 2, 0, 1, 5), (4, 5)) * 3 + del tmp193 + tmp195 += einsum(t2, (0, 1, 2, 3), tmp101, (0, 1, 4, 3), (4, 2)) * -1 + del tmp101 + tmp194 = einsum(l3, (0, 1, 2, 3, 4, 5), tmp31, (5, 6, 2, 1), (3, 4, 6, 0)) * -3 + del tmp31 + tmp194 += np.transpose(tmp54, (2, 1, 0, 3)) * -1 + del tmp54 + tmp195 += einsum(tmp194, (0, 1, 2, 3), t2, (0, 1, 3, 4), (2, 4)) + del tmp194 + l1new += einsum(tmp196, (0, 1, 2, 3), tmp195, (0, 2), (3, 1)) + del tmp196, tmp195 + tmp203 = np.copy(tmp187) * 2 + tmp203 += np.transpose(tmp187, (0, 2, 1, 3)) * -1 + tmp197 = einsum(l1, (0, 1), t1, (2, 0), (1, 2)) + tmp202 = np.copy(tmp197) * 6 + tmp198 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * -1 + tmp198 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) * -3.4999999999999996 + tmp198 += np.transpose(t3, (1, 0, 2, 3, 5, 4)) * -1 + tmp198 += np.transpose(t3, (1, 0, 2, 4, 3, 5)) * -0.5 + tmp199 = einsum(l3, (0, 1, 2, 3, 4, 5), tmp198, (5, 6, 4, 1, 0, 2), (6, 3)) + tmp202 += np.transpose(tmp199, (1, 0)) + tmp200 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * -2 + tmp200 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) * -1 + tmp200 += np.transpose(t3, (0, 1, 2, 4, 3, 5)) * 3 + tmp201 = einsum(tmp200, (0, 1, 2, 3, 4, 5), l3, (4, 3, 5, 0, 6, 2), (1, 6)) * 0.5 + tmp202 += np.transpose(tmp201, (1, 0)) + tmp202 += einsum(tmp60, (0, 1, 2, 3), l2, (2, 3, 0, 4), (4, 1)) * 12 + l1new += einsum(tmp202, (0, 1), tmp203, (0, 2, 1, 3), (3, 2)) * -0.16666666666666 + del tmp202, tmp203 + tmp206 = np.copy(np.transpose(v.ovov, (0, 2, 1, 3))) * 2 + tmp206 += v.oovv * -1 + tmp206 += einsum(tmp39, (0, 1, 2, 3), tmp204, (0, 4, 2, 5), (1, 4, 3, 5)) + del tmp204, tmp39 + tmp205 = np.copy(v.ovvv) * -1 + tmp205 += np.transpose(v.ovvv, (0, 2, 1, 3)) * 2 + tmp206 += einsum(tmp205, (0, 1, 2, 3), t1, (4, 1), (4, 0, 3, 2)) + del tmp205 + l1new += einsum(l1, (0, 1), tmp206, (1, 2, 0, 3), (3, 2)) + del tmp206 + tmp208 = np.copy(v.ooov) * -1 + tmp208 += np.transpose(v.ooov, (0, 2, 1, 3)) * 2 + tmp207 = np.copy(np.transpose(tmp199, (1, 0))) + del tmp199 + tmp207 += np.transpose(tmp201, (1, 0)) + del tmp201 + l1new += einsum(tmp207, (0, 1), tmp208, (0, 2, 1, 3), (3, 2)) * -0.16666666666666 + del tmp207, tmp208 + tmp211 = np.copy(v.ooov) * -0.5 + tmp211 += np.transpose(v.ooov, (0, 2, 1, 3)) + tmp210 = np.copy(tmp197) + tmp209 = einsum(tmp60, (0, 1, 2, 3), l2, (2, 3, 0, 4), (4, 1)) * 2 + tmp210 += tmp209 + l1new += einsum(tmp211, (0, 1, 2, 3), tmp210, (0, 2), (3, 1)) * -2 + del tmp211, tmp210 + tmp212 = np.copy(tmp138) * 0.124999999999995 + del tmp138 + tmp212 += einsum(tmp139, (0, 1, 2, 3, 4, 5), l3, (6, 3, 5, 1, 0, 2), (6, 4)) * 0.08333333333333 + del tmp139 + tmp212 += einsum(l2, (0, 1, 2, 3), tmp49, (3, 2, 4, 1), (0, 4)) + del tmp49 + l1new += einsum(tmp214, (0, 1), tmp212, (2, 1), (2, 0)) * -2 + del tmp212 + tmp215 = np.copy(tmp197) + tmp215 += einsum(tmp198, (0, 1, 2, 3, 4, 5), l3, (4, 3, 5, 6, 2, 0), (6, 1)) * 0.16666666666666 + tmp215 += einsum(l3, (0, 1, 2, 3, 4, 5), tmp200, (3, 6, 5, 1, 0, 2), (4, 6)) * 0.08333333333333 + tmp215 += tmp209 + del tmp209 + l1new += einsum(tmp215, (0, 1), tmp214, (1, 2), (2, 0)) * -1 + del tmp214, tmp215 + tmp217 = np.copy(f.vv) * 0.5 + tmp217 += einsum(v.ovov, (0, 1, 2, 3), tmp60, (0, 2, 1, 4), (4, 3)) * -1 + tmp217 += einsum(tmp216, (0, 1, 2, 3), t1, (0, 2), (3, 1)) + del tmp216 + l1new += einsum(l1, (0, 1), tmp217, (0, 2), (2, 1)) * 2 + del tmp217 + l1new += einsum(tmp221, (0, 1), l1, (2, 0), (2, 1)) * -1 + del tmp221 + l2new = np.copy(np.transpose(tmp104, (3, 2, 1, 0))) + del tmp104 + l2new += np.transpose(v.ovov, (1, 3, 0, 2)) + tmp222 = einsum(l2, (0, 1, 2, 3), f.oo, (4, 3), (4, 2, 0, 1)) + tmp265 = np.copy(tmp222) + del tmp222 + tmp223 = einsum(tmp187, (0, 1, 2, 3), l1, (4, 0), (1, 2, 4, 3)) + tmp265 += tmp223 + del tmp223 + tmp224 = einsum(v.ovvv, (0, 1, 2, 3), l3, (1, 4, 3, 5, 6, 0), (5, 6, 4, 2)) + tmp265 += tmp224 + del tmp224 + tmp225 = einsum(f.ov, (0, 1), tmp18, (2, 3, 4, 1), (0, 2, 3, 4)) + tmp265 += tmp225 + del tmp225 + tmp226 = einsum(f.ov, (0, 1), tmp45, (2, 3, 0, 4), (2, 3, 1, 4)) + tmp265 += tmp226 + del tmp226 + tmp265 += tmp111 + del tmp111 + tmp228 = einsum(v.ooov, (0, 1, 2, 3), tmp227, (4, 0, 5, 1, 2, 6), (4, 5, 6, 3)) + del tmp227 + tmp265 += tmp228 + del tmp228 + tmp265 += tmp163 * -1 + del tmp163 + tmp265 += tmp115 + del tmp115 + tmp231 = np.copy(np.transpose(v.ooov, (0, 2, 1, 3))) * 2 + tmp231 += tmp57 * 2 + tmp231 += tmp56 * -1 + tmp229 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) + tmp229 += np.transpose(t3, (0, 2, 1, 3, 4, 5)) * -1 + tmp229 += np.transpose(t3, (1, 0, 2, 3, 5, 4)) + tmp230 = einsum(tmp229, (0, 1, 2, 3, 4, 5), v.ovov, (6, 3, 0, 5), (1, 2, 6, 4)) + del tmp229 + tmp231 += tmp230 + del tmp230 + tmp232 = einsum(tmp231, (0, 1, 2, 3), l3, (4, 5, 3, 0, 6, 1), (2, 6, 4, 5)) * 0.49999999999998 + del tmp231 + tmp265 += np.transpose(tmp232, (1, 0, 2, 3)) + del tmp232 + tmp233 = einsum(t3, (0, 1, 2, 3, 4, 5), l3, (3, 6, 5, 7, 8, 2), (7, 8, 0, 1, 6, 4)) + tmp234 = einsum(tmp233, (0, 1, 2, 3, 4, 5), tmp75, (2, 3, 6, 5), (0, 1, 6, 4)) * 0.74999999999997 + del tmp75, tmp233 + tmp265 += np.transpose(tmp234, (0, 1, 3, 2)) + del tmp234 + tmp235 = einsum(t3, (0, 1, 2, 3, 4, 5), l3, (5, 6, 4, 7, 8, 2), (7, 8, 0, 1, 6, 3)) + tmp236 = einsum(tmp116, (0, 1, 2, 3), tmp235, (4, 5, 0, 1, 6, 3), (4, 5, 2, 6)) * 0.49999999999998 + del tmp116, tmp235 + tmp265 += np.transpose(tmp236, (0, 1, 3, 2)) * -1 + del tmp236 + tmp247 = np.copy(np.transpose(tmp237, (1, 0, 2, 5, 3, 4))) * -1 + del tmp237 + tmp247 += np.transpose(tmp239, (0, 2, 1, 3, 4, 5)) + tmp247 += np.transpose(tmp241, (1, 0, 2, 5, 3, 4)) * -1 + del tmp241 + tmp247 += tmp180 + tmp247 += np.transpose(tmp242, (1, 0, 2, 5, 3, 4)) + del tmp242 + tmp247 += np.transpose(tmp183, (0, 1, 2, 4, 3, 5)) * -1 + tmp247 += np.transpose(tmp183, (1, 0, 2, 5, 3, 4)) * -1 + tmp243 = einsum(tmp102, (0, 1, 2, 3), l3, (4, 5, 6, 0, 7, 2), (1, 3, 7, 4, 6, 5)) + del tmp102 + tmp247 += np.transpose(tmp243, (2, 0, 1, 4, 3, 5)) * -1 + del tmp243 + tmp247 += np.transpose(tmp246, (1, 0, 2, 5, 3, 4)) * -1 + del tmp246 + tmp248 = einsum(tmp247, (0, 1, 2, 3, 4, 5), t1, (1, 3), (0, 2, 4, 5)) + del tmp247 + tmp265 += tmp248 * -1 + del tmp248 + tmp249 = einsum(v.ovvv, (0, 1, 2, 3), tmp81, (4, 3, 5, 1), (4, 0, 5, 2)) + tmp265 += tmp249 + del tmp249 + tmp250 = np.copy(tmp62) + del tmp62 + tmp250 += tmp63 + del tmp63 + tmp251 = einsum(tmp250, (0, 1, 2, 3), v.ovov, (4, 3, 1, 5), (0, 4, 2, 5)) * 0.49999999999998 + del tmp250 + tmp265 += tmp251 * -1 + del tmp251 + tmp252 = np.copy(np.transpose(l3, (3, 5, 4, 0, 2, 1))) * -1 + tmp252 += np.transpose(l3, (3, 4, 5, 0, 1, 2)) * -1 + tmp253 = einsum(t2, (0, 1, 2, 3), tmp252, (1, 4, 5, 3, 6, 2), (4, 5, 0, 6)) + del tmp252 + tmp254 = einsum(v.ooov, (0, 1, 2, 3), tmp253, (1, 4, 2, 5), (0, 4, 3, 5)) * -1 + tmp265 += np.transpose(tmp254, (1, 0, 3, 2)) * -1 + del tmp254 + tmp255 = einsum(tmp253, (0, 1, 2, 3), tmp187, (0, 2, 4, 5), (4, 1, 5, 3)) * -1 + tmp265 += np.transpose(tmp255, (1, 0, 3, 2)) * -1 + del tmp255 + tmp256 = einsum(v.ovov, (0, 1, 2, 3), tmp142, (4, 1), (0, 2, 4, 3)) * 0.16666666666666 + del tmp142 + tmp265 += np.transpose(tmp256, (1, 0, 2, 3)) + del tmp256 + tmp260 = np.copy(tmp197) * 12 + del tmp197 + tmp257 = einsum(l3, (0, 1, 2, 3, 4, 5), tmp198, (5, 6, 4, 1, 0, 2), (6, 3)) * 2 + del tmp198 + tmp260 += np.transpose(tmp257, (1, 0)) + del tmp257 + tmp258 = einsum(tmp200, (0, 1, 2, 3, 4, 5), l3, (4, 3, 5, 0, 6, 2), (1, 6)) + del tmp200 + tmp260 += np.transpose(tmp258, (1, 0)) + del tmp258 + tmp259 = einsum(tmp60, (0, 1, 2, 3), l2, (2, 3, 0, 4), (4, 1)) * 24 + del tmp60 + tmp260 += tmp259 + del tmp259 + tmp261 = einsum(tmp260, (0, 1), v.ovov, (2, 3, 1, 4), (0, 2, 4, 3)) * 0.08333333333333 + del tmp260 + tmp265 += np.transpose(tmp261, (0, 1, 3, 2)) + del tmp261 + tmp263 = einsum(tmp262, (0, 1), tmp12, (2, 3, 4, 1), (0, 2, 3, 4)) * 2 + tmp265 += np.transpose(tmp263, (1, 0, 2, 3)) + del tmp263 + tmp264 = einsum(tmp213, (0, 1), tmp44, (2, 3, 0, 4), (2, 3, 4, 1)) + tmp265 += tmp264 + del tmp264 + l2new += np.transpose(tmp265, (3, 2, 0, 1)) * -1 + l2new += np.transpose(tmp265, (2, 3, 1, 0)) * -1 + del tmp265 + tmp266 = einsum(v.ooov, (0, 1, 2, 3), l1, (4, 1), (0, 2, 4, 3)) + tmp316 = np.copy(tmp266) + del tmp266 + tmp267 = einsum(l3, (0, 1, 2, 3, 4, 5), v.ovvv, (5, 2, 6, 1), (3, 4, 0, 6)) + tmp316 += tmp267 * -1 + del tmp267 + tmp268 = einsum(f.ov, (0, 1), tmp12, (2, 3, 4, 1), (0, 2, 3, 4)) + del tmp12 + tmp316 += tmp268 + del tmp268 + tmp269 = einsum(f.ov, (0, 1), tmp44, (2, 3, 0, 4), (2, 3, 1, 4)) + del tmp44 + tmp316 += tmp269 + del tmp269 + tmp316 += tmp144 + del tmp144 + tmp271 = einsum(v.ooov, (0, 1, 2, 3), tmp270, (4, 0, 5, 1, 2, 6), (4, 5, 6, 3)) + del tmp270 + tmp316 += tmp271 * -1 + del tmp271 + tmp316 += tmp145 * -1 + del tmp145 + tmp316 += tmp146 * 0.49999999999997996 + del tmp146 + tmp272 = einsum(t3, (0, 1, 2, 3, 4, 5), l3, (6, 4, 5, 7, 8, 2), (7, 8, 0, 1, 6, 3)) + tmp273 = einsum(v.ovov, (0, 1, 2, 3), tmp272, (4, 5, 2, 0, 6, 3), (4, 5, 6, 1)) + del tmp272 + tmp316 += tmp273 + del tmp273 + tmp274 = einsum(t3, (0, 1, 2, 3, 4, 5), l3, (6, 5, 4, 7, 8, 1), (7, 8, 0, 2, 6, 3)) + tmp275 = einsum(v.ovov, (0, 1, 2, 3), tmp274, (4, 5, 2, 0, 6, 1), (4, 5, 6, 3)) * -1 + del tmp274 + tmp316 += tmp275 + del tmp275 + tmp316 += tmp172 * 0.49999999999997996 + del tmp172 + tmp316 += tmp176 * -1 + del tmp176 + tmp276 = np.copy(np.transpose(v.ovoo, (0, 2, 3, 1))) + tmp276 += np.transpose(tmp57, (1, 0, 2, 3)) + del tmp57 + tmp276 += tmp56 + del tmp56 + tmp276 += np.transpose(tmp74, (1, 0, 2, 3)) + del tmp74 + tmp277 = einsum(l3, (0, 1, 2, 3, 4, 5), tmp276, (5, 4, 6, 2), (6, 3, 0, 1)) + del tmp276 + tmp316 += np.transpose(tmp277, (1, 0, 2, 3)) + del tmp277 + tmp279 = np.copy(np.transpose(tmp13, (0, 2, 1, 3))) * -2 + del tmp13 + tmp278 = einsum(tmp16, (0, 1, 2, 3, 4, 5), t2, (0, 2, 5, 6), (1, 3, 4, 6)) + del tmp16 + tmp279 += np.transpose(tmp278, (0, 2, 1, 3)) * -1 + del tmp278 + tmp280 = einsum(tmp279, (0, 1, 2, 3), v.ovvv, (4, 5, 2, 3), (0, 4, 1, 5)) + del tmp279 + tmp316 += tmp280 * -1 + del tmp280 + tmp281 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * 0.4 + tmp281 += np.transpose(t3, (0, 1, 2, 3, 5, 4)) * -0.2 + tmp281 += t3 + tmp281 += np.transpose(t3, (0, 1, 2, 4, 3, 5)) * -0.2 + tmp281 += np.transpose(t3, (1, 0, 2, 3, 5, 4)) * 0.2 + tmp281 += np.transpose(t3, (1, 0, 2, 3, 4, 5)) * -0.2 + tmp281 += np.transpose(t3, (1, 0, 2, 4, 3, 5)) + tmp282 = einsum(l3, (0, 1, 2, 3, 4, 5), tmp281, (4, 5, 6, 1, 2, 7), (6, 3, 7, 0)) * 5 + del tmp281 + tmp287 = np.copy(np.transpose(tmp282, (1, 0, 3, 2))) + del tmp282 + tmp283 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) + tmp283 += np.transpose(t3, (0, 2, 1, 3, 4, 5)) * -1 + tmp283 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) + tmp283 += np.transpose(t3, (0, 1, 2, 3, 5, 4)) * -1 + tmp284 = einsum(tmp283, (0, 1, 2, 3, 4, 5), l3, (6, 3, 4, 0, 7, 2), (1, 7, 5, 6)) + del tmp283 + tmp287 += np.transpose(tmp284, (1, 0, 3, 2)) + del tmp284 + tmp285 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * 0.5 + tmp285 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) + tmp285 += np.transpose(t3, (0, 1, 2, 3, 5, 4)) * -0.5 + tmp286 = einsum(tmp285, (0, 1, 2, 3, 4, 5), l3, (3, 6, 4, 0, 7, 2), (1, 7, 5, 6)) * -2 + del tmp285 + tmp287 += np.transpose(tmp286, (1, 0, 3, 2)) + del tmp286 + tmp288 = einsum(v.ovov, (0, 1, 2, 3), tmp287, (4, 2, 5, 3), (4, 0, 5, 1)) * 0.24999999999999 + del tmp287 + tmp316 += tmp288 * -1 + del tmp288 + tmp297 = np.copy(np.transpose(tmp289, (1, 0, 2, 4, 3, 5))) + del tmp289 + tmp297 += np.transpose(tmp239, (0, 2, 1, 4, 3, 5)) * -1 + del tmp239 + tmp297 += np.transpose(tmp290, (1, 0, 2, 5, 3, 4)) * -1 + del tmp290 + tmp297 += np.transpose(tmp291, (1, 0, 2, 4, 3, 5)) + del tmp291 + tmp297 += np.transpose(tmp292, (1, 0, 2, 5, 3, 4)) + del tmp292 + tmp297 += np.transpose(tmp294, (1, 0, 2, 4, 3, 5)) + del tmp294 + tmp297 += tmp183 + tmp297 += np.transpose(tmp183, (0, 2, 1, 3, 4, 5)) * -1 + del tmp183 + tmp297 += np.transpose(tmp180, (0, 1, 2, 4, 3, 5)) * -1 + tmp297 += np.transpose(tmp180, (0, 2, 1, 4, 3, 5)) + tmp297 += np.transpose(tmp180, (1, 0, 2, 5, 3, 4)) * -1 + del tmp180 + tmp295 = einsum(tmp97, (0, 1, 2, 3), l3, (4, 5, 6, 7, 0, 3), (1, 2, 7, 4, 6, 5)) * -1 + del tmp97 + tmp297 += np.transpose(tmp295, (2, 1, 0, 4, 3, 5)) + del tmp295 + tmp296 = einsum(tmp153, (0, 1, 2, 3), v.ovov, (4, 5, 6, 3), (0, 4, 6, 1, 2, 5)) + del tmp153 + tmp297 += np.transpose(tmp296, (0, 2, 1, 4, 3, 5)) + del tmp296 + tmp298 = einsum(tmp297, (0, 1, 2, 3, 4, 5), t1, (1, 3), (0, 2, 4, 5)) + del tmp297 + tmp316 += tmp298 + del tmp298 + tmp299 = einsum(v.ovvv, (0, 1, 2, 3), tmp81, (4, 5, 3, 1), (4, 0, 5, 2)) + del tmp81 + tmp316 += tmp299 + del tmp299 + tmp302 = np.copy(tmp34) * 2 + del tmp34 + tmp300 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp35, (0, 2, 6, 3, 7, 5), (6, 1, 7, 4)) * -0.5 + del tmp35 + tmp302 += tmp300 + del tmp300 + tmp301 = einsum(tmp36, (0, 1, 2, 3, 4, 5), l3, (3, 6, 4, 0, 7, 2), (1, 7, 5, 6)) * -1 + del tmp36 + tmp302 += np.transpose(tmp301, (1, 0, 3, 2)) + del tmp301 + tmp303 = einsum(tmp302, (0, 1, 2, 3), v.ovov, (4, 3, 1, 5), (0, 4, 2, 5)) * 0.49999999999998 + del tmp302 + tmp316 += tmp303 + del tmp303 + tmp304 = einsum(tmp55, (0, 1, 2, 3), v.ovoo, (4, 5, 0, 2), (4, 1, 5, 3)) * 0.5 + tmp316 += np.transpose(tmp304, (1, 0, 3, 2)) + del tmp304 + tmp305 = einsum(tmp55, (0, 1, 2, 3), tmp187, (0, 4, 2, 5), (4, 1, 5, 3)) * 0.5 + del tmp55 + tmp316 += np.transpose(tmp305, (1, 0, 3, 2)) + del tmp305 + tmp306 = einsum(tmp253, (0, 1, 2, 3), tmp187, (1, 2, 4, 5), (4, 0, 5, 3)) * -1 + tmp316 += np.transpose(tmp306, (1, 0, 3, 2)) * -1 + del tmp306 + tmp307 = einsum(tmp253, (0, 1, 2, 3), v.ooov, (4, 1, 2, 5), (4, 0, 5, 3)) * -1 + del tmp253 + tmp316 += np.transpose(tmp307, (1, 0, 3, 2)) * -1 + del tmp307 + tmp308 = einsum(tmp213, (0, 1), tmp18, (2, 3, 4, 1), (0, 2, 3, 4)) + del tmp18, tmp213 + tmp316 += np.transpose(tmp308, (1, 0, 2, 3)) + del tmp308 + tmp309 = einsum(tmp17, (0, 1, 2, 3), v.ovov, (0, 2, 1, 4), (3, 4)) * 0.5 + del tmp17 + tmp310 = einsum(l2, (0, 1, 2, 3), tmp309, (1, 4), (3, 2, 0, 4)) * 2 + del tmp309 + tmp316 += np.transpose(tmp310, (1, 0, 2, 3)) + del tmp310 + tmp313 = np.copy(np.transpose(tmp311, (1, 0))) + del tmp311 + tmp313 += tmp312 + del tmp312 + tmp314 = einsum(tmp313, (0, 1), l2, (2, 3, 0, 4), (4, 1, 2, 3)) * 2 + del tmp313 + tmp316 += np.transpose(tmp314, (0, 1, 3, 2)) + del tmp314 + tmp315 = einsum(tmp45, (0, 1, 2, 3), tmp262, (2, 4), (0, 1, 3, 4)) * 2 + del tmp45, tmp262 + tmp316 += tmp315 + del tmp315 + l2new += np.transpose(tmp316, (2, 3, 0, 1)) * -1 + l2new += np.transpose(tmp316, (3, 2, 1, 0)) * -1 + del tmp316 + tmp317 = einsum(l2, (0, 1, 2, 3), f.vv, (4, 1), (2, 3, 4, 0)) + tmp349 = np.copy(tmp317) + del tmp317 + tmp318 = einsum(v.ovvv, (0, 1, 2, 3), l1, (3, 4), (4, 0, 1, 2)) + tmp349 += tmp318 + del tmp318 + tmp320 = einsum(tmp319, (0, 1), l2, (2, 3, 4, 1), (0, 4, 2, 3)) + del tmp319 + tmp349 += tmp320 * -1 + del tmp320 + tmp321 = einsum(tmp106, (0, 1, 2, 3), f.ov, (2, 4), (0, 1, 4, 3)) + tmp349 += tmp321 * -1 + del tmp321 + tmp349 += tmp135 + del tmp135 + tmp322 = einsum(tmp106, (0, 1, 2, 3), v.ooov, (4, 0, 2, 5), (1, 4, 3, 5)) + tmp349 += tmp322 + del tmp322 + tmp323 = einsum(tmp187, (0, 1, 2, 3), tmp106, (0, 4, 1, 5), (4, 2, 5, 3)) + tmp349 += tmp323 + del tmp323 + tmp324 = np.copy(np.transpose(t2, (0, 1, 3, 2))) + tmp324 += t2 * -1 + tmp325 = einsum(v.ovvv, (0, 1, 2, 3), tmp324, (0, 4, 3, 5), (4, 5, 1, 2)) + del tmp324 + tmp326 = np.copy(tmp325) + del tmp325 + tmp326 += np.transpose(tmp40, (0, 1, 3, 2)) + del tmp40 + tmp327 = einsum(tmp326, (0, 1, 2, 3), l3, (1, 4, 3, 5, 6, 0), (5, 6, 2, 4)) * -1 + del tmp326 + tmp349 += np.transpose(tmp327, (0, 1, 3, 2)) + del tmp327 + tmp328 = np.copy(v.ooov) + tmp328 += np.transpose(v.ovoo, (0, 2, 3, 1)) * -1 + tmp330 = einsum(tmp328, (0, 1, 2, 3), tmp329, (1, 4, 0, 5, 6, 3), (4, 2, 5, 6)) + del tmp328 + tmp349 += tmp330 * -1 + del tmp330 + tmp331 = np.copy(v.ooov) * -1 + tmp331 += np.transpose(v.ovoo, (0, 2, 3, 1)) * 2 + tmp333 = einsum(tmp331, (0, 1, 2, 3), tmp332, (1, 4, 0, 5, 6, 3), (4, 2, 5, 6)) + tmp349 += tmp333 * -1 + del tmp333 + tmp345 = np.copy(tmp136) + tmp342 = np.copy(tmp334) * -1 + del tmp334 + tmp337 = np.copy(np.transpose(l3, (3, 4, 5, 0, 1, 2))) + tmp335 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * 2 + tmp335 += t2 * -1 + tmp336 = einsum(tmp335, (0, 1, 2, 3), l3, (4, 5, 3, 6, 7, 0), (1, 6, 7, 2, 4, 5)) + tmp337 += np.transpose(tmp336, (1, 2, 0, 4, 5, 3)) + del tmp336 + tmp338 = einsum(tmp337, (0, 1, 2, 3, 4, 5), v.ovov, (6, 7, 2, 5), (0, 1, 6, 3, 4, 7)) + del tmp337 + tmp342 += tmp338 + tmp339 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * -1 + tmp339 += t2 + tmp340 = einsum(l3, (0, 1, 2, 3, 4, 5), tmp339, (5, 6, 7, 2), (6, 3, 4, 7, 0, 1)) + del tmp339 + tmp341 = einsum(tmp340, (0, 1, 2, 3, 4, 5), v.ovov, (6, 3, 0, 7), (1, 2, 6, 4, 5, 7)) * -1 + del tmp340 + tmp342 += tmp341 * -1 + del tmp341 + tmp345 += np.transpose(tmp342, (0, 1, 2, 3, 5, 4)) + tmp345 += np.transpose(tmp342, (2, 0, 1, 4, 3, 5)) + del tmp342 + tmp343 = einsum(tmp134, (0, 1, 2, 3), l3, (4, 5, 6, 0, 7, 1), (7, 2, 3, 4, 6, 5)) + del tmp134 + tmp345 += np.transpose(tmp343, (1, 0, 2, 4, 3, 5)) + tmp345 += np.transpose(tmp343, (2, 0, 1, 4, 3, 5)) * -1 + del tmp343 + tmp345 += np.transpose(tmp344, (1, 0, 2, 3, 4, 5)) * -1 + tmp345 += np.transpose(tmp344, (1, 0, 2, 3, 5, 4)) + del tmp344 + tmp346 = einsum(tmp345, (0, 1, 2, 3, 4, 5), t1, (0, 4), (1, 2, 3, 5)) + del tmp345 + tmp349 += tmp346 * -1 + del tmp346 + tmp347 = np.copy(v.oovv) * -1 + tmp347 += tmp52 + del tmp52 + tmp348 = einsum(l2, (0, 1, 2, 3), tmp347, (2, 4, 1, 5), (3, 4, 0, 5)) + tmp349 += tmp348 + del tmp348 + l2new += np.transpose(tmp349, (3, 2, 0, 1)) + l2new += np.transpose(tmp349, (2, 3, 1, 0)) + del tmp349 + tmp388 = einsum(l1, (0, 1), f.ov, (2, 3), (2, 1, 3, 0)) + tmp350 = einsum(tmp106, (0, 1, 2, 3), v.ooov, (4, 1, 2, 5), (0, 4, 3, 5)) + tmp388 += tmp350 + del tmp350 + tmp352 = einsum(tmp351, (0, 1), l2, (2, 1, 3, 4), (3, 4, 2, 0)) + del tmp351 + tmp388 += tmp352 * 2 + del tmp352 + tmp353 = einsum(tmp187, (0, 1, 2, 3), tmp106, (0, 4, 2, 5), (4, 1, 5, 3)) + tmp388 += tmp353 + del tmp353 + tmp354 = einsum(tmp329, (0, 1, 2, 3, 4, 5), v.ooov, (6, 1, 2, 5), (0, 6, 3, 4)) + del tmp329 + tmp388 += tmp354 + del tmp354 + tmp356 = einsum(v.ovoo, (0, 1, 2, 3), tmp355, (4, 2, 3, 5, 6, 1), (4, 0, 5, 6)) + del tmp355 + tmp388 += tmp356 + del tmp356 + tmp357 = einsum(l3, (0, 1, 2, 3, 4, 5), tmp78, (5, 1, 6, 2), (3, 4, 0, 6)) + del tmp78 + tmp388 += tmp357 * -1 + del tmp357 + tmp358 = einsum(tmp41, (0, 1, 2, 3), l3, (4, 3, 1, 5, 6, 0), (5, 6, 2, 4)) + del tmp41 + tmp388 += np.transpose(tmp358, (0, 1, 3, 2)) * -1 + del tmp358 + tmp359 = einsum(tmp331, (0, 1, 2, 3), tmp332, (4, 1, 0, 5, 6, 3), (4, 2, 5, 6)) + del tmp331 + tmp388 += tmp359 * -1 + del tmp359 + tmp372 = np.copy(np.transpose(tmp360, (2, 0, 1, 4, 5, 3))) * -1 + del tmp360 + tmp372 += np.transpose(tmp361, (1, 0, 2, 3, 4, 5)) + del tmp361 + tmp372 += np.transpose(tmp362, (2, 0, 1, 4, 5, 3)) + del tmp362 + tmp372 += np.transpose(tmp363, (1, 0, 2, 4, 5, 3)) + del tmp363 + tmp372 += np.transpose(tmp364, (1, 0, 2, 3, 4, 5)) * -1 + del tmp364 + tmp372 += np.transpose(tmp366, (2, 0, 1, 4, 5, 3)) + del tmp366 + tmp372 += tmp136 + tmp372 += np.transpose(tmp136, (1, 0, 2, 3, 4, 5)) * -2 + tmp372 += np.transpose(tmp136, (1, 0, 2, 3, 5, 4)) + tmp372 += np.transpose(tmp136, (2, 0, 1, 4, 5, 3)) + del tmp136 + tmp367 = einsum(tmp332, (0, 1, 2, 3, 4, 5), v.ovov, (6, 5, 2, 7), (0, 1, 6, 3, 4, 7)) + del tmp332 + tmp368 = np.copy(tmp367) * -1 + del tmp367 + tmp368 += tmp338 + del tmp338 + tmp372 += np.transpose(tmp368, (1, 0, 2, 3, 4, 5)) + tmp372 += np.transpose(tmp368, (2, 0, 1, 3, 5, 4)) + del tmp368 + tmp370 = np.copy(np.transpose(tmp240, (1, 0, 2, 3, 4, 5, 6, 7))) * -1 + del tmp240 + tmp370 += np.transpose(tmp369, (1, 0, 2, 3, 5, 4, 7, 6)) + del tmp369 + tmp371 = einsum(t1, (0, 1), tmp370, (2, 3, 4, 0, 5, 1, 6, 7), (2, 3, 4, 5, 6, 7)) + del tmp370 + tmp372 += np.transpose(tmp371, (1, 0, 2, 3, 4, 5)) + del tmp371 + tmp373 = einsum(tmp372, (0, 1, 2, 3, 4, 5), t1, (0, 5), (1, 2, 3, 4)) + del tmp372 + tmp388 += tmp373 * -1 + del tmp373 + tmp375 = np.copy(np.transpose(v.ovov, (0, 2, 1, 3))) + tmp375 += tmp71 * -1 + del tmp71 + tmp374 = einsum(v.ovov, (0, 1, 2, 3), tmp335, (2, 4, 5, 3), (4, 0, 5, 1)) + del tmp335 + tmp375 += tmp374 + del tmp374 + tmp376 = einsum(tmp42, (0, 1, 2, 3), tmp375, (0, 4, 3, 5), (1, 4, 2, 5)) + del tmp42, tmp375 + tmp388 += tmp376 + del tmp376 + tmp377 = einsum(l2, (0, 1, 2, 3), tmp347, (3, 4, 1, 5), (2, 4, 0, 5)) + del tmp347 + tmp388 += tmp377 + del tmp377 + tmp378 = np.copy(tmp106) * -1 + tmp378 += np.transpose(tmp106, (1, 0, 2, 3)) * 2 + tmp379 = einsum(tmp378, (0, 1, 2, 3), v.ovoo, (4, 5, 0, 2), (4, 1, 5, 3)) + del tmp378 + tmp388 += np.transpose(tmp379, (1, 0, 3, 2)) * -1 + del tmp379 + tmp380 = np.copy(tmp187) * -1 + tmp380 += np.transpose(tmp187, (0, 2, 1, 3)) * 2 + del tmp187 + tmp381 = einsum(tmp380, (0, 1, 2, 3), tmp106, (4, 0, 1, 5), (4, 2, 5, 3)) + del tmp380 + tmp388 += tmp381 * -1 + del tmp381 + tmp385 = np.copy(tmp382) + del tmp382 + tmp384 = einsum(t1, (0, 1), tmp383, (2, 1), (0, 2)) + tmp385 += tmp384 * -1 + del tmp384 + tmp386 = einsum(l2, (0, 1, 2, 3), tmp385, (2, 4), (3, 4, 0, 1)) + del tmp385 + tmp388 += np.transpose(tmp386, (0, 1, 3, 2)) + del tmp386 + tmp387 = einsum(tmp106, (0, 1, 2, 3), tmp383, (2, 4), (0, 1, 3, 4)) + del tmp106 + tmp388 += tmp387 * -1 + del tmp387 + tmp388 += einsum(tmp383, (0, 1), l1, (2, 3), (3, 0, 2, 1)) + del tmp383 + l2new += np.transpose(tmp388, (2, 3, 0, 1)) + l2new += np.transpose(tmp388, (3, 2, 1, 0)) + del tmp388 + tmp390 = einsum(tmp389, (0, 1), l2, (2, 1, 3, 4), (3, 4, 2, 0)) + del tmp389 + l2new += np.transpose(tmp390, (2, 3, 0, 1)) * -1 + l2new += np.transpose(tmp390, (3, 2, 1, 0)) * -1 + del tmp390 + tmp392 = np.copy(v.oooo) + tmp392 += np.transpose(tmp96, (1, 3, 0, 2)) + del tmp96 + tmp392 += np.transpose(tmp391, (1, 3, 0, 2)) + del tmp391 + l2new += einsum(tmp392, (0, 1, 2, 3), l2, (4, 5, 0, 2), (4, 5, 1, 3)) + del tmp392 + l2new += einsum(tmp108, (0, 1, 2, 3), v.ovov, (2, 4, 3, 5), (5, 4, 1, 0)) + del tmp108 + + return {f"l1new": l1new, f"l2new": l2new, f"l3new": l3new} + +def make_rdm1_f(l1=None, l2=None, l3=None, t1=None, t2=None, t3=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-10-22T08:48:22.488574. + + Parameters + ---------- + l1 : array + L1 amplitudes. + l2 : array + L2 amplitudes. + l3 : array + L3 amplitudes. + t1 : array + T1 amplitudes. + t2 : array + T2 amplitudes. + t3 : array + T3 amplitudes. + + Returns + ------- + rdm1 : array + One-particle reduced density matrix. + """ + + rdm1 = Namespace() + delta = Namespace( + oo=np.eye(t2.shape[0]), + vv=np.eye(t2.shape[-1]), + ) + rdm1.vo = np.copy(l1) * 2 + rdm1.oo = np.copy(delta.oo) * 2 + del delta + tmp0 = einsum(l1, (0, 1), t1, (2, 0), (1, 2)) + rdm1.oo += np.transpose(tmp0, (1, 0)) * -2 + tmp1 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) + tmp1 += np.transpose(t3, (0, 2, 1, 3, 4, 5)) * -0.28571428571428575 + tmp1 += np.transpose(t3, (1, 0, 2, 3, 5, 4)) * 0.14285714285714288 + tmp1 += np.transpose(t3, (1, 0, 2, 3, 4, 5)) * -0.28571428571428575 + rdm1.oo += einsum(tmp1, (0, 1, 2, 3, 4, 5), l3, (3, 5, 4, 6, 2, 0), (1, 6)) * 1.16666666666662 + del tmp1 + tmp2 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * 3 + tmp2 += np.transpose(t3, (1, 0, 2, 3, 5, 4)) + tmp2 += np.transpose(t3, (1, 0, 2, 3, 4, 5)) * -2 + rdm1.oo += einsum(tmp2, (0, 1, 2, 3, 4, 5), l3, (3, 5, 4, 0, 6, 1), (2, 6)) * -0.16666666666666 + del tmp2 + tmp3 = np.copy(np.transpose(t2, (0, 1, 3, 2))) + tmp3 += t2 * -0.5 + rdm1.oo += einsum(tmp3, (0, 1, 2, 3), l2, (3, 2, 0, 4), (1, 4)) * -4 + rdm1.vv = einsum(t1, (0, 1), l1, (2, 0), (2, 1)) * 2 + rdm1.vv += einsum(t3, (0, 1, 2, 3, 4, 5), l3, (3, 6, 5, 0, 1, 2), (6, 4)) * 0.49999999999998 + tmp18 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * 0.28571428571428575 + tmp18 += np.transpose(t3, (0, 2, 1, 3, 4, 5)) * -0.28571428571428575 + tmp18 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) * 0.28571428571428575 + tmp18 += np.transpose(t3, (1, 0, 2, 3, 5, 4)) * 0.14285714285714288 + tmp18 += np.transpose(t3, (1, 0, 2, 3, 4, 5)) * -0.14285714285714288 + tmp18 += np.transpose(t3, (1, 0, 2, 4, 3, 5)) + rdm1.vv += einsum(l3, (0, 1, 2, 3, 4, 5), tmp18, (4, 3, 5, 1, 6, 2), (0, 6)) * 1.16666666666662 + del tmp18 + tmp19 = np.copy(np.transpose(l2, (3, 2, 0, 1))) * -1 + tmp19 += np.transpose(l2, (2, 3, 0, 1)) * 2 + rdm1.vv += einsum(t2, (0, 1, 2, 3), tmp19, (0, 1, 2, 4), (4, 3)) * 2 + del tmp19 + rdm1.ov = einsum(l2, (0, 1, 2, 3), t3, (4, 2, 3, 5, 1, 0), (4, 5)) * -1 + rdm1.ov += t1 * 2 + tmp4 = einsum(l3, (0, 1, 2, 3, 4, 5), t1, (6, 1), (3, 5, 4, 6, 0, 2)) + rdm1.ov += einsum(t3, (0, 1, 2, 3, 4, 5), tmp4, (2, 0, 1, 6, 5, 3), (6, 4)) * -0.49999999999998 + del tmp4 + tmp6 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * -2 + tmp6 += np.transpose(t3, (0, 2, 1, 3, 4, 5)) * 2 + tmp6 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) * -2 + tmp6 += np.transpose(t3, (1, 0, 2, 3, 5, 4)) * -1 + tmp6 += np.transpose(t3, (1, 0, 2, 3, 4, 5)) + tmp6 += np.transpose(t3, (1, 0, 2, 4, 3, 5)) * -7 + tmp5 = einsum(l3, (0, 1, 2, 3, 4, 5), t1, (6, 2), (3, 5, 4, 6, 0, 1)) + rdm1.ov += einsum(tmp5, (0, 1, 2, 3, 4, 5), tmp6, (2, 1, 0, 5, 4, 6), (3, 6)) * -0.16666666666666 + del tmp5, tmp6 + tmp7 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) + tmp7 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) * 3 + tmp7 += np.transpose(t3, (0, 1, 2, 3, 5, 4)) * -1 + rdm1.ov += einsum(tmp7, (0, 1, 2, 3, 4, 5), l2, (3, 4, 2, 0), (1, 5)) + del tmp7 + tmp8 = einsum(t1, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2)) + tmp11 = np.copy(tmp8) * -2 + tmp11 += np.transpose(tmp8, (1, 0, 2, 3)) * 4 + del tmp8 + tmp9 = np.copy(np.transpose(l3, (3, 5, 4, 0, 2, 1))) + tmp9 += np.transpose(l3, (3, 5, 4, 0, 1, 2)) * -2 + tmp9 += np.transpose(l3, (4, 3, 5, 0, 2, 1)) * 3 + tmp11 += einsum(tmp9, (0, 1, 2, 3, 4, 5), t2, (6, 0, 3, 5), (1, 2, 6, 4)) + del tmp9 + tmp10 = np.copy(np.transpose(l3, (3, 5, 4, 0, 2, 1))) * -1 + tmp10 += np.transpose(l3, (4, 3, 5, 0, 2, 1)) * -1 + tmp11 += einsum(t2, (0, 1, 2, 3), tmp10, (1, 4, 5, 3, 6, 2), (4, 5, 0, 6)) + del tmp10 + rdm1.ov += einsum(tmp11, (0, 1, 2, 3), t2, (1, 0, 3, 4), (2, 4)) * -1 + del tmp11 + tmp12 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * -1 + tmp12 += t2 * 3 + tmp13 = einsum(l3, (0, 1, 2, 3, 4, 5), tmp12, (5, 6, 2, 1), (3, 4, 6, 0)) + del tmp12 + rdm1.ov += einsum(tmp13, (0, 1, 2, 3), t2, (1, 0, 4, 3), (2, 4)) * -1 + del tmp13 + tmp14 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * -1 + tmp14 += t2 * 2 + rdm1.ov += einsum(l1, (0, 1), tmp14, (1, 2, 0, 3), (2, 3)) * 2 + del tmp14 + tmp17 = np.copy(tmp0) * 1.714285714285783 + del tmp0 + tmp15 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * -1 + tmp15 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) * -0.5 + tmp15 += np.transpose(t3, (1, 0, 2, 3, 5, 4)) * -1 + tmp15 += np.transpose(t3, (1, 0, 2, 4, 3, 5)) * -3.4999999999999996 + tmp17 += einsum(l3, (0, 1, 2, 3, 4, 5), tmp15, (4, 6, 5, 1, 0, 2), (3, 6)) * -0.28571428571428575 + del tmp15 + tmp16 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * 2 + tmp16 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) + tmp16 += np.transpose(t3, (0, 1, 2, 4, 3, 5)) * -3 + tmp17 += einsum(tmp16, (0, 1, 2, 3, 4, 5), l3, (4, 3, 5, 2, 6, 0), (6, 1)) * 0.14285714285714288 + del tmp16 + tmp17 += einsum(tmp3, (0, 1, 2, 3), l2, (3, 2, 0, 4), (4, 1)) * 3.428571428571566 + del tmp3 + rdm1.ov += einsum(tmp17, (0, 1), t1, (0, 2), (1, 2)) * -1.16666666666662 + del tmp17 + rdm1 = np.block([[rdm1.oo, rdm1.ov], [rdm1.vo, rdm1.vv]]) + + return rdm1 + +def make_rdm2_f(l1=None, l2=None, l3=None, t1=None, t2=None, t3=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-10-22T08:54:09.495661. + + Parameters + ---------- + l1 : array + L1 amplitudes. + l2 : array + L2 amplitudes. + l3 : array + L3 amplitudes. + t1 : array + T1 amplitudes. + t2 : array + T2 amplitudes. + t3 : array + T3 amplitudes. + + Returns + ------- + rdm2 : array + Two-particle reduced density matrix. + """ + + rdm2 = Namespace() + delta = Namespace( + oo=np.eye(t2.shape[0]), + vv=np.eye(t2.shape[-1]), + ) + rdm2.vvoo = np.copy(np.transpose(l2, (0, 1, 3, 2))) * -2 + rdm2.vvoo += l2 * 4 + tmp114 = einsum(l3, (0, 1, 2, 3, 4, 5), t2, (4, 5, 6, 2), (3, 0, 1, 6)) + rdm2.vvov = np.copy(np.transpose(tmp114, (1, 2, 0, 3))) * 4 + tmp500 = einsum(l2, (0, 1, 2, 3), t1, (3, 4), (2, 0, 1, 4)) + rdm2.vvov += np.transpose(tmp500, (1, 2, 0, 3)) * 4 + rdm2.vvov += np.transpose(tmp500, (2, 1, 0, 3)) * -2 + tmp291 = np.copy(np.transpose(l3, (3, 5, 4, 0, 2, 1))) * -1 + tmp291 += np.transpose(l3, (3, 5, 4, 1, 0, 2)) * -1 + tmp291 += np.transpose(l3, (3, 4, 5, 0, 2, 1)) + tmp292 = einsum(t2, (0, 1, 2, 3), tmp291, (0, 4, 1, 3, 5, 6), (4, 2, 5, 6)) + del tmp291 + rdm2.vvov += np.transpose(tmp292, (2, 3, 0, 1)) * 2 + tmp80 = einsum(l3, (0, 1, 2, 3, 4, 5), t2, (3, 5, 2, 6), (4, 0, 1, 6)) * -1 + rdm2.vvov += np.transpose(tmp80, (2, 1, 0, 3)) * 2 + rdm2.vvvo = np.copy(np.transpose(tmp114, (1, 2, 3, 0))) * -2 + rdm2.vvvo += np.transpose(tmp500, (1, 2, 3, 0)) * -2 + rdm2.vvvo += np.transpose(tmp500, (2, 1, 3, 0)) * 4 + rdm2.vvvo += np.transpose(tmp292, (2, 3, 1, 0)) * -2 + rdm2.vvvo += np.transpose(tmp80, (1, 2, 3, 0)) * 2 + rdm2.vvvo += np.transpose(tmp114, (2, 1, 3, 0)) * 2 + tmp181 = einsum(l1, (0, 1), delta.oo, (2, 3), (1, 2, 3, 0)) + tmp179 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * -1 + tmp179 += t2 + tmp180 = einsum(l3, (0, 1, 2, 3, 4, 5), tmp179, (5, 6, 1, 2), (3, 4, 6, 0)) * 0.5 + tmp181 += np.transpose(tmp180, (0, 2, 1, 3)) + del tmp180 + rdm2.ovoo = np.copy(np.transpose(tmp181, (1, 3, 0, 2))) * -2 + rdm2.ovoo += np.transpose(tmp181, (1, 3, 2, 0)) * 2 + del tmp181 + tmp1 = einsum(l2, (0, 1, 2, 3), t1, (4, 1), (2, 3, 4, 0)) + rdm2.ovoo += np.transpose(tmp1, (2, 3, 0, 1)) * 2 + rdm2.ovoo += np.transpose(tmp1, (2, 3, 1, 0)) * -4 + tmp85 = np.copy(np.transpose(t2, (0, 1, 3, 2))) + tmp85 += t2 * -0.3333333333333333 + tmp182 = einsum(l3, (0, 1, 2, 3, 4, 5), tmp85, (4, 6, 2, 1), (3, 5, 6, 0)) * -1.5 + rdm2.ovoo += np.transpose(tmp182, (2, 3, 1, 0)) * 2 + rdm2.ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (0, 2, 1, 3)) * 2 + tmp183 = np.copy(np.transpose(l3, (3, 5, 4, 0, 2, 1))) + tmp183 += np.transpose(l3, (3, 4, 5, 1, 0, 2)) * -1 + tmp184 = einsum(t2, (0, 1, 2, 3), tmp183, (1, 4, 5, 2, 3, 6), (0, 4, 5, 6)) + del tmp183 + rdm2.ovoo += np.transpose(tmp184, (0, 3, 1, 2)) * 2 + tmp186 = np.copy(tmp1) + tmp185 = einsum(l3, (0, 1, 2, 3, 4, 5), tmp179, (5, 6, 2, 1), (3, 4, 6, 0)) * 0.5 + tmp186 += tmp185 + del tmp185 + rdm2.vooo = np.copy(np.transpose(tmp186, (3, 2, 0, 1))) * -2 + rdm2.vooo += np.transpose(tmp186, (3, 2, 1, 0)) * 2 + rdm2.vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 0, 3, 1)) * 4 + rdm2.vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 0, 1, 3)) * -2 + rdm2.vooo += np.transpose(tmp182, (3, 2, 1, 0)) * -2 + rdm2.vooo += np.transpose(tmp1, (3, 2, 0, 1)) * -2 + rdm2.vooo += np.transpose(tmp184, (3, 0, 2, 1)) * 2 + del tmp184 + tmp187 = einsum(l3, (0, 1, 2, 3, 4, 5), t3, (3, 4, 5, 6, 1, 7), (0, 2, 6, 7)) + rdm2.vvvv = np.copy(np.transpose(tmp187, (1, 0, 3, 2))) + tmp218 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) + tmp218 += np.transpose(t3, (0, 1, 2, 3, 5, 4)) * -0.5 + tmp501 = einsum(l3, (0, 1, 2, 3, 4, 5), tmp218, (5, 4, 3, 2, 6, 7), (0, 1, 6, 7)) * -0.33333333333334 + tmp503 = np.copy(tmp501) * -1 + del tmp501 + tmp82 = np.copy(tmp80) + tmp9 = np.copy(np.transpose(t2, (0, 1, 3, 2))) + tmp9 += t2 * -1 + tmp81 = einsum(tmp9, (0, 1, 2, 3), l3, (4, 5, 3, 6, 1, 0), (6, 4, 5, 2)) + tmp82 += tmp81 * -1 + tmp502 = einsum(t1, (0, 1), tmp82, (0, 2, 3, 4), (1, 2, 3, 4)) + tmp503 += np.transpose(tmp502, (1, 2, 0, 3)) + del tmp502 + rdm2.vvvv += tmp503 * -2 + rdm2.vvvv += np.transpose(tmp503, (0, 1, 3, 2)) * 2 + del tmp503 + tmp286 = einsum(l2, (0, 1, 2, 3), t2, (3, 2, 4, 5), (0, 1, 5, 4)) + tmp506 = np.copy(np.transpose(tmp286, (1, 0, 3, 2))) + tmp504 = einsum(tmp500, (0, 1, 2, 3), t1, (0, 4), (2, 1, 3, 4)) + del tmp500 + tmp506 += np.transpose(tmp504, (1, 0, 3, 2)) + tmp35 = einsum(l3, (0, 1, 2, 3, 4, 5), t2, (4, 5, 1, 6), (3, 0, 2, 6)) + tmp505 = einsum(tmp35, (0, 1, 2, 3), t1, (0, 4), (1, 2, 4, 3)) + tmp506 += np.transpose(tmp505, (1, 0, 3, 2)) + del tmp505 + rdm2.vvvv += np.transpose(tmp506, (0, 1, 3, 2)) * -2 + rdm2.vvvv += tmp506 * 2 + del tmp506 + tmp507 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) + tmp507 += np.transpose(t3, (1, 0, 2, 3, 5, 4)) * 2 + tmp508 = einsum(l3, (0, 1, 2, 3, 4, 5), tmp507, (3, 5, 4, 6, 7, 2), (6, 7, 0, 1)) * -0.16666666666667 + del tmp507 + rdm2.vvvv += np.transpose(tmp508, (2, 3, 1, 0)) * -2 + del tmp508 + rdm2.vvvv += np.transpose(tmp286, (1, 0, 3, 2)) * 2 + rdm2.vvvv += np.transpose(tmp504, (1, 0, 3, 2)) * 2 + del tmp504 + tmp328 = einsum(t3, (0, 1, 2, 3, 4, 5), l3, (6, 7, 5, 0, 1, 2), (6, 7, 3, 4)) + tmp510 = np.copy(tmp328) * 0.50000000000001 + tmp509 = einsum(tmp114, (0, 1, 2, 3), t1, (0, 4), (1, 2, 4, 3)) + tmp510 += tmp509 + del tmp509 + rdm2.vvvv += tmp510 * 2 + rdm2.vvvv += np.transpose(tmp510, (1, 0, 3, 2)) * 2 + del tmp510 + tmp511 = einsum(tmp80, (0, 1, 2, 3), t1, (0, 4), (1, 2, 4, 3)) + rdm2.vvvv += np.transpose(tmp511, (0, 1, 3, 2)) * 2 + rdm2.vvvv += np.transpose(tmp511, (1, 0, 2, 3)) * 2 + del tmp511 + tmp0 = einsum(t2, (0, 1, 2, 3), l2, (3, 2, 4, 5), (5, 4, 0, 1)) + tmp6 = np.copy(np.transpose(tmp0, (1, 0, 3, 2))) + tmp4 = np.copy(tmp1) * 2 + tmp2 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * 3 + tmp2 += t2 * -1 + tmp3 = einsum(l3, (0, 1, 2, 3, 4, 5), tmp2, (4, 6, 2, 1), (3, 5, 6, 0)) * -1 + tmp4 += np.transpose(tmp3, (1, 0, 2, 3)) + tmp5 = einsum(t1, (0, 1), tmp4, (2, 3, 4, 1), (0, 2, 3, 4)) * 0.5 + del tmp4 + tmp6 += np.transpose(tmp5, (2, 1, 3, 0)) + del tmp5 + rdm2.oooo = np.copy(np.transpose(tmp6, (3, 2, 0, 1))) * -2 + rdm2.oooo += np.transpose(tmp6, (2, 3, 0, 1)) * 2 + del tmp6 + tmp7 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) + tmp7 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) * 0.5 + tmp8 = einsum(tmp7, (0, 1, 2, 3, 4, 5), l3, (4, 3, 5, 6, 7, 0), (6, 7, 1, 2)) * -0.33333333333334 + rdm2.oooo += np.transpose(tmp8, (2, 3, 0, 1)) * 2 + rdm2.oooo += np.transpose(tmp8, (2, 3, 1, 0)) * -2 + del tmp8 + tmp10 = einsum(l3, (0, 1, 2, 3, 4, 5), tmp9, (5, 6, 2, 1), (3, 4, 6, 0)) + tmp11 = einsum(tmp10, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) * 0.5 + rdm2.oooo += np.transpose(tmp11, (0, 3, 1, 2)) * -2 + rdm2.oooo += np.transpose(tmp11, (3, 0, 1, 2)) * 2 + rdm2.oooo += np.transpose(tmp11, (0, 3, 2, 1)) * 2 + rdm2.oooo += np.transpose(tmp11, (3, 0, 2, 1)) * -2 + del tmp11 + tmp12 = einsum(l1, (0, 1), t1, (2, 0), (1, 2)) + tmp19 = np.copy(tmp12) * 4 + tmp13 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) + tmp13 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) * 3.4999999999999996 + tmp13 += np.transpose(t3, (1, 0, 2, 3, 5, 4)) + tmp13 += np.transpose(t3, (1, 0, 2, 4, 3, 5)) * 0.5 + tmp14 = einsum(tmp13, (0, 1, 2, 3, 4, 5), l3, (4, 3, 5, 6, 2, 0), (6, 1)) * -0.6666666666666666 + tmp19 += tmp14 + del tmp14 + tmp15 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * 2 + tmp15 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) + tmp15 += np.transpose(t3, (0, 1, 2, 4, 3, 5)) * -3 + tmp16 = einsum(l3, (0, 1, 2, 3, 4, 5), tmp15, (3, 6, 5, 1, 0, 2), (4, 6)) * 0.3333333333333333 + tmp19 += tmp16 * -1 + del tmp16 + tmp17 = np.copy(np.transpose(t2, (0, 1, 3, 2))) + tmp17 += t2 * -0.5 + tmp18 = einsum(tmp17, (0, 1, 2, 3), l2, (3, 2, 0, 4), (4, 1)) * 8 + tmp19 += tmp18 + del tmp18 + rdm2.oooo += einsum(tmp19, (0, 1), delta.oo, (2, 3), (1, 2, 0, 3)) * -0.49999999999998 + rdm2.oooo += einsum(delta.oo, (0, 1), tmp19, (2, 3), (0, 3, 2, 1)) * 0.49999999999998 + rdm2.oooo += einsum(tmp19, (0, 1), delta.oo, (2, 3), (1, 2, 3, 0)) * 0.49999999999998 + rdm2.oooo += einsum(tmp19, (0, 1), delta.oo, (2, 3), (2, 1, 3, 0)) * -0.49999999999998 + del tmp19 + rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (0, 2, 1, 3)) * 2 + rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (0, 2, 3, 1)) * -2 + tmp20 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * 2 + tmp20 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) + tmp20 += np.transpose(t3, (1, 0, 2, 4, 3, 5)) * 3 + tmp21 = einsum(l3, (0, 1, 2, 3, 4, 5), tmp20, (4, 6, 7, 1, 0, 2), (3, 5, 6, 7)) * 0.16666666666667 + rdm2.oooo += np.transpose(tmp21, (2, 3, 1, 0)) * -2 + del tmp21 + rdm2.oooo += np.transpose(tmp0, (3, 2, 1, 0)) * 2 + tmp22 = einsum(t1, (0, 1), tmp1, (2, 3, 4, 1), (2, 3, 0, 4)) + rdm2.oooo += np.transpose(tmp22, (3, 2, 1, 0)) * 2 + rdm2.oooo += einsum(delta.oo, (0, 1), tmp12, (2, 3), (0, 3, 1, 2)) * -2 + tmp23 = einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 7, 5, 0, 1, 2), (3, 4, 6, 7)) + tmp26 = np.copy(tmp23) * 0.50000000000001 + tmp24 = einsum(t2, (0, 1, 2, 3), l3, (4, 2, 3, 5, 6, 1), (5, 6, 0, 4)) + tmp25 = einsum(t1, (0, 1), tmp24, (2, 3, 4, 1), (2, 3, 0, 4)) + tmp26 += tmp25 + del tmp25 + rdm2.oooo += np.transpose(tmp26, (2, 3, 0, 1)) * 2 + rdm2.oooo += np.transpose(tmp26, (3, 2, 1, 0)) * 2 + tmp27 = einsum(l3, (0, 1, 2, 3, 4, 5), t2, (6, 5, 2, 0), (3, 4, 6, 1)) * -1 + tmp28 = einsum(t1, (0, 1), tmp27, (2, 3, 4, 1), (2, 3, 0, 4)) + rdm2.oooo += np.transpose(tmp28, (3, 2, 0, 1)) * 2 + rdm2.oooo += np.transpose(tmp28, (2, 3, 1, 0)) * 2 + tmp29 = einsum(tmp13, (0, 1, 2, 3, 4, 5), l3, (4, 3, 5, 6, 2, 0), (6, 1)) * -2 + tmp32 = np.copy(tmp29) + tmp30 = einsum(l3, (0, 1, 2, 3, 4, 5), tmp15, (3, 6, 5, 1, 0, 2), (4, 6)) + tmp32 += tmp30 * -1 + tmp31 = einsum(tmp17, (0, 1, 2, 3), l2, (3, 2, 0, 4), (4, 1)) * 24 + tmp32 += tmp31 + rdm2.oooo += einsum(delta.oo, (0, 1), tmp32, (2, 3), (3, 0, 2, 1)) * -0.16666666666666 + rdm2.oooo += einsum(delta.oo, (0, 1), tmp32, (2, 3), (0, 3, 1, 2)) * -0.16666666666666 + tmp33 = np.copy(delta.oo) + tmp33 += tmp12 * -1 + rdm2.oooo += einsum(tmp33, (0, 1), delta.oo, (2, 3), (1, 2, 0, 3)) * 2 + del tmp33 + rdm2.ovov = einsum(t1, (0, 1), l1, (2, 3), (0, 2, 3, 1)) * -2 + tmp92 = einsum(l3, (0, 1, 2, 3, 4, 5), t3, (3, 6, 5, 0, 7, 2), (4, 6, 1, 7)) + rdm2.ovov += np.transpose(tmp92, (1, 2, 0, 3)) * -0.5 + tmp386 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * -0.2 + tmp386 += np.transpose(t3, (0, 2, 1, 3, 4, 5)) * 0.2 + tmp386 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) * -0.2 + tmp386 += np.transpose(t3, (1, 0, 2, 3, 5, 4)) * -1 + tmp386 += np.transpose(t3, (1, 0, 2, 3, 4, 5)) * 0.2 + tmp386 += np.transpose(t3, (1, 0, 2, 4, 3, 5)) * -0.2 + tmp387 = einsum(tmp386, (0, 1, 2, 3, 4, 5), l3, (6, 5, 3, 7, 0, 2), (7, 1, 6, 4)) * 1.25 + del tmp386 + rdm2.ovov += np.transpose(tmp387, (1, 2, 0, 3)) * -2 + del tmp387 + tmp95 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) + tmp95 += np.transpose(t3, (0, 2, 1, 3, 4, 5)) * -1 + tmp95 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) + tmp388 = einsum(tmp95, (0, 1, 2, 3, 4, 5), l3, (6, 3, 4, 0, 7, 2), (7, 1, 6, 5)) * -0.25 + rdm2.ovov += np.transpose(tmp388, (1, 2, 0, 3)) * 2 + tmp389 = np.copy(np.transpose(t2, (0, 1, 3, 2))) + tmp389 += t2 * -1 + tmp390 = einsum(l2, (0, 1, 2, 3), tmp389, (2, 4, 5, 1), (3, 4, 0, 5)) + del tmp389 + rdm2.ovov += np.transpose(tmp390, (1, 2, 0, 3)) * 2 + tmp391 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * 2 + tmp391 += t2 * -1 + tmp392 = einsum(l2, (0, 1, 2, 3), tmp391, (3, 4, 5, 1), (2, 4, 0, 5)) + del tmp391 + rdm2.ovov += np.transpose(tmp392, (1, 2, 0, 3)) * -2 + tmp393 = einsum(l3, (0, 1, 2, 3, 4, 5), t2, (3, 5, 6, 1), (4, 0, 2, 6)) + tmp395 = np.copy(np.transpose(tmp393, (0, 2, 1, 3))) * -1 + tmp141 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * -0.5 + tmp141 += t2 + tmp394 = einsum(l3, (0, 1, 2, 3, 4, 5), tmp141, (5, 4, 6, 1), (3, 0, 2, 6)) * -2 + tmp395 += np.transpose(tmp394, (0, 2, 1, 3)) + del tmp394 + tmp396 = einsum(tmp395, (0, 1, 2, 3), t1, (4, 1), (4, 0, 2, 3)) + rdm2.ovov += np.transpose(tmp396, (0, 2, 1, 3)) * -2 + tmp397 = np.copy(tmp186) + tmp397 += np.transpose(tmp186, (1, 0, 2, 3)) * -1 + del tmp186 + tmp397 += np.transpose(tmp182, (1, 0, 2, 3)) + del tmp182 + tmp398 = einsum(t1, (0, 1), tmp397, (0, 2, 3, 4), (2, 3, 1, 4)) + del tmp397 + rdm2.ovov += np.transpose(tmp398, (1, 3, 0, 2)) * -2 + tmp399 = einsum(t1, (0, 1), l1, (2, 0), (2, 1)) + tmp402 = np.copy(tmp399) * 1.714285714285783 + tmp61 = einsum(l3, (0, 1, 2, 3, 4, 5), t3, (3, 4, 5, 0, 6, 2), (1, 6)) + tmp402 += tmp61 * 0.4285714285714286 + tmp62 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) + tmp62 += np.transpose(t3, (0, 2, 1, 3, 4, 5)) * -1 + tmp62 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) + tmp62 += np.transpose(t3, (0, 1, 2, 3, 5, 4)) * -0.5 + tmp62 += t3 * 0.5 + tmp62 += np.transpose(t3, (0, 1, 2, 4, 3, 5)) * -3.4999999999999996 + tmp400 = einsum(tmp62, (0, 1, 2, 3, 4, 5), l3, (6, 3, 5, 0, 1, 2), (6, 4)) * -0.28571428571428575 + tmp402 += tmp400 + del tmp400 + tmp55 = np.copy(np.transpose(l2, (3, 2, 0, 1))) * 2 + tmp55 += np.transpose(l2, (2, 3, 0, 1)) * -1 + tmp401 = einsum(tmp55, (0, 1, 2, 3), t2, (0, 1, 4, 2), (4, 3)) * 1.714285714285783 + tmp402 += np.transpose(tmp401, (1, 0)) + del tmp401 + rdm2.ovov += einsum(tmp402, (0, 1), delta.oo, (2, 3), (2, 0, 3, 1)) * 1.16666666666662 + tmp135 = einsum(t3, (0, 1, 2, 3, 4, 5), l3, (3, 6, 5, 7, 1, 2), (7, 0, 6, 4)) + rdm2.ovov += np.transpose(tmp135, (1, 2, 0, 3)) * -1 + tmp134 = einsum(l3, (0, 1, 2, 3, 4, 5), t3, (3, 6, 5, 7, 1, 2), (4, 6, 0, 7)) + rdm2.ovov += np.transpose(tmp134, (1, 2, 0, 3)) * -1 + tmp133 = einsum(l2, (0, 1, 2, 3), t2, (4, 2, 1, 5), (3, 4, 0, 5)) + rdm2.ovov += np.transpose(tmp133, (1, 2, 0, 3)) * -2 + tmp345 = np.copy(tmp114) + tmp345 += np.transpose(tmp80, (0, 2, 1, 3)) + tmp403 = einsum(tmp345, (0, 1, 2, 3), t1, (4, 1), (4, 0, 2, 3)) + rdm2.ovov += np.transpose(tmp403, (0, 2, 1, 3)) * -2 + tmp404 = np.copy(tmp1) + tmp119 = np.copy(np.transpose(l3, (3, 5, 4, 0, 2, 1))) * -1 + tmp119 += np.transpose(l3, (3, 4, 5, 0, 1, 2)) * -1 + tmp120 = einsum(t2, (0, 1, 2, 3), tmp119, (1, 4, 5, 3, 6, 2), (0, 4, 5, 6)) + del tmp119 + tmp404 += np.transpose(tmp120, (1, 2, 0, 3)) * -1 + tmp405 = einsum(t1, (0, 1), tmp404, (0, 2, 3, 4), (2, 3, 1, 4)) + rdm2.ovov += np.transpose(tmp405, (1, 3, 0, 2)) * -2 + tmp406 = np.copy(tmp399) + tmp406 += tmp61 * 0.24999999999999 + tmp143 = einsum(tmp62, (0, 1, 2, 3, 4, 5), l3, (6, 3, 5, 0, 1, 2), (6, 4)) * -0.16666666666666 + tmp406 += tmp143 + tmp56 = einsum(tmp55, (0, 1, 2, 3), t2, (0, 1, 4, 2), (4, 3)) + tmp406 += np.transpose(tmp56, (1, 0)) + rdm2.ovov += einsum(tmp406, (0, 1), delta.oo, (2, 3), (2, 0, 3, 1)) * 2 + rdm2.vovo = einsum(t1, (0, 1), l1, (2, 3), (2, 0, 1, 3)) * -2 + rdm2.vovo += np.transpose(tmp92, (2, 1, 3, 0)) * -0.5 + tmp93 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * -1 + tmp93 += np.transpose(t3, (0, 2, 1, 3, 4, 5)) + tmp93 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) * -1 + tmp93 += np.transpose(t3, (1, 0, 2, 3, 5, 4)) * -5 + tmp93 += np.transpose(t3, (1, 0, 2, 3, 4, 5)) + tmp93 += np.transpose(t3, (1, 0, 2, 4, 3, 5)) * -1 + tmp424 = einsum(tmp93, (0, 1, 2, 3, 4, 5), l3, (6, 5, 3, 7, 0, 2), (7, 1, 6, 4)) * 0.25 + rdm2.vovo += np.transpose(tmp424, (2, 1, 3, 0)) * -2 + rdm2.vovo += np.transpose(tmp388, (2, 1, 3, 0)) * 2 + tmp192 = np.copy(np.transpose(l2, (3, 2, 0, 1))) * 2 + tmp192 += np.transpose(l2, (2, 3, 0, 1)) * -1 + tmp193 = einsum(t2, (0, 1, 2, 3), tmp192, (1, 4, 5, 3), (0, 4, 2, 5)) + rdm2.vovo += np.transpose(tmp193, (3, 0, 2, 1)) * -2 + tmp425 = np.copy(np.transpose(l2, (3, 2, 0, 1))) * -1 + tmp425 += np.transpose(l2, (2, 3, 0, 1)) + tmp426 = einsum(t2, (0, 1, 2, 3), tmp425, (1, 4, 5, 2), (0, 4, 3, 5)) + del tmp425 + rdm2.vovo += np.transpose(tmp426, (3, 0, 2, 1)) * -2 + del tmp426 + rdm2.vovo += np.transpose(tmp396, (2, 0, 3, 1)) * -2 + del tmp396 + tmp415 = np.copy(tmp1) * 2 + tmp205 = einsum(l3, (0, 1, 2, 3, 4, 5), tmp179, (5, 6, 2, 1), (3, 4, 6, 0)) + tmp415 += tmp205 + tmp416 = np.copy(tmp415) + tmp416 += np.transpose(tmp415, (1, 0, 2, 3)) * -1 + del tmp415 + tmp86 = einsum(l3, (0, 1, 2, 3, 4, 5), tmp85, (4, 6, 2, 1), (3, 5, 6, 0)) * -3 + del tmp85 + tmp416 += np.transpose(tmp86, (1, 0, 2, 3)) + tmp417 = einsum(t1, (0, 1), tmp416, (0, 2, 3, 4), (2, 3, 1, 4)) * 0.5 + del tmp416 + rdm2.vovo += np.transpose(tmp417, (3, 1, 2, 0)) * -2 + tmp419 = np.copy(tmp399) * 6 + tmp419 += tmp61 * 1.5 + tmp63 = einsum(tmp62, (0, 1, 2, 3, 4, 5), l3, (6, 3, 5, 0, 1, 2), (6, 4)) * -1 + tmp419 += tmp63 + tmp418 = einsum(tmp55, (0, 1, 2, 3), t2, (0, 1, 4, 2), (4, 3)) * 6 + tmp419 += np.transpose(tmp418, (1, 0)) + del tmp418 + rdm2.vovo += einsum(delta.oo, (0, 1), tmp419, (2, 3), (2, 0, 3, 1)) * 0.33333333333332 + rdm2.vovo += np.transpose(tmp135, (2, 1, 3, 0)) * -1 + rdm2.vovo += np.transpose(tmp134, (2, 1, 3, 0)) * -1 + rdm2.vovo += np.transpose(tmp133, (2, 1, 3, 0)) * -2 + rdm2.vovo += np.transpose(tmp403, (2, 0, 3, 1)) * -2 + rdm2.vovo += np.transpose(tmp405, (3, 1, 2, 0)) * -2 + del tmp405 + tmp429 = np.copy(tmp399) * 12 + tmp429 += tmp61 * 3 + tmp427 = einsum(tmp62, (0, 1, 2, 3, 4, 5), l3, (6, 3, 5, 0, 1, 2), (6, 4)) * -2 + tmp429 += tmp427 + del tmp427 + tmp428 = einsum(tmp55, (0, 1, 2, 3), t2, (0, 1, 4, 2), (4, 3)) * 12 + tmp429 += np.transpose(tmp428, (1, 0)) + del tmp428 + rdm2.vovo += einsum(delta.oo, (0, 1), tmp429, (2, 3), (2, 0, 3, 1)) * 0.16666666666666 + del tmp429 + rdm2.voov = einsum(t1, (0, 1), l1, (2, 3), (2, 0, 3, 1)) * 4 + rdm2.voov += np.transpose(tmp92, (2, 1, 0, 3)) * 0.5 + rdm2.voov += np.transpose(tmp424, (2, 1, 0, 3)) * 2 + del tmp424 + rdm2.voov += np.transpose(tmp388, (2, 1, 0, 3)) * -2 + del tmp388 + rdm2.voov += np.transpose(tmp392, (2, 1, 0, 3)) * 2 + del tmp392 + rdm2.voov += np.transpose(tmp390, (2, 1, 0, 3)) * -2 + del tmp390 + tmp413 = np.copy(np.transpose(tmp393, (0, 2, 1, 3))) * -0.5 + del tmp393 + tmp412 = einsum(l3, (0, 1, 2, 3, 4, 5), tmp141, (5, 4, 6, 1), (3, 0, 2, 6)) * -1 + tmp413 += np.transpose(tmp412, (0, 2, 1, 3)) + del tmp412 + tmp414 = einsum(tmp413, (0, 1, 2, 3), t1, (4, 1), (4, 0, 2, 3)) * 2 + del tmp413 + rdm2.voov += np.transpose(tmp414, (2, 0, 1, 3)) * 2 + rdm2.voov += np.transpose(tmp398, (3, 1, 0, 2)) * 2 + del tmp398 + rdm2.voov += einsum(tmp406, (0, 1), delta.oo, (2, 3), (0, 2, 3, 1)) * -2 + tmp124 = einsum(t3, (0, 1, 2, 3, 4, 5), l3, (6, 5, 4, 7, 2, 1), (7, 0, 6, 3)) + rdm2.voov += np.transpose(tmp124, (2, 1, 0, 3)) * 2 + tmp123 = einsum(t2, (0, 1, 2, 3), l2, (4, 2, 5, 1), (5, 0, 4, 3)) + rdm2.voov += np.transpose(tmp123, (2, 1, 0, 3)) * -2 + tmp128 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * 0.5 + tmp128 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) + tmp129 = einsum(tmp128, (0, 1, 2, 3, 4, 5), l3, (3, 6, 4, 0, 7, 2), (7, 1, 6, 5)) * 0.5 + rdm2.voov += np.transpose(tmp129, (2, 1, 0, 3)) * -2 + tmp126 = np.copy(np.transpose(l3, (3, 5, 4, 0, 2, 1))) * -1 + tmp126 += np.transpose(l3, (3, 4, 5, 0, 2, 1)) * 2 + tmp127 = einsum(tmp126, (0, 1, 2, 3, 4, 5), t3, (0, 6, 1, 5, 7, 3), (6, 2, 7, 4)) * 0.25 + rdm2.voov += np.transpose(tmp127, (3, 0, 1, 2)) * -2 + rdm2.voov += np.transpose(tmp193, (3, 0, 1, 2)) * 2 + tmp422 = einsum(tmp345, (0, 1, 2, 3), t1, (4, 2), (4, 0, 1, 3)) + rdm2.voov += np.transpose(tmp422, (2, 0, 1, 3)) * -2 + tmp423 = einsum(t1, (0, 1), tmp404, (2, 0, 3, 4), (2, 3, 1, 4)) + del tmp404 + rdm2.voov += np.transpose(tmp423, (3, 1, 0, 2)) * -2 + rdm2.ovvo = einsum(t1, (0, 1), l1, (2, 3), (0, 2, 1, 3)) * 4 + rdm2.ovvo += np.transpose(tmp92, (1, 2, 3, 0)) * 0.5 + tmp407 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) + tmp407 += np.transpose(t3, (0, 2, 1, 3, 4, 5)) * -1 + tmp258 = np.copy(np.transpose(l3, (3, 5, 4, 0, 2, 1))) * -1 + tmp258 += np.transpose(l3, (3, 4, 5, 0, 2, 1)) + tmp408 = einsum(tmp407, (0, 1, 2, 3, 4, 5), tmp258, (0, 2, 6, 4, 7, 3), (6, 1, 7, 5)) * 0.25 + del tmp407 + rdm2.ovvo += np.transpose(tmp408, (1, 2, 3, 0)) * 2 + del tmp408 + tmp409 = np.copy(np.transpose(l3, (3, 5, 4, 0, 2, 1))) * -1 + tmp409 += np.transpose(l3, (3, 4, 5, 0, 2, 1)) * 5 + tmp410 = einsum(tmp409, (0, 1, 2, 3, 4, 5), t3, (6, 1, 0, 7, 5, 3), (6, 2, 7, 4)) * 0.25 + del tmp409 + rdm2.ovvo += np.transpose(tmp410, (0, 3, 2, 1)) * 2 + del tmp410 + tmp411 = einsum(tmp95, (0, 1, 2, 3, 4, 5), l3, (6, 5, 3, 7, 0, 2), (7, 1, 6, 4)) * 0.25 + rdm2.ovvo += np.transpose(tmp411, (1, 2, 3, 0)) * -2 + del tmp411 + rdm2.ovvo += np.transpose(tmp193, (0, 3, 2, 1)) * 4 + tmp195 = np.copy(np.transpose(l2, (3, 2, 0, 1))) + tmp195 += np.transpose(l2, (2, 3, 0, 1)) * -1 + tmp196 = einsum(t2, (0, 1, 2, 3), tmp195, (1, 4, 5, 2), (0, 4, 3, 5)) + del tmp195 + rdm2.ovvo += np.transpose(tmp196, (0, 3, 2, 1)) * -2 + rdm2.ovvo += np.transpose(tmp414, (0, 2, 3, 1)) * 2 + del tmp414 + rdm2.ovvo += np.transpose(tmp417, (1, 3, 2, 0)) * 2 + del tmp417 + rdm2.ovvo += einsum(delta.oo, (0, 1), tmp419, (2, 3), (0, 2, 3, 1)) * -0.33333333333332 + rdm2.ovvo += np.transpose(tmp124, (1, 2, 3, 0)) * 2 + rdm2.ovvo += np.transpose(tmp123, (1, 2, 3, 0)) * -2 + rdm2.ovvo += np.transpose(tmp129, (1, 2, 3, 0)) * -2 + tmp420 = np.copy(np.transpose(l3, (3, 5, 4, 0, 2, 1))) * -0.5 + tmp420 += np.transpose(l3, (3, 4, 5, 0, 2, 1)) + tmp421 = einsum(tmp420, (0, 1, 2, 3, 4, 5), t3, (0, 6, 1, 5, 7, 3), (6, 2, 7, 4)) * 0.5 + del tmp420 + rdm2.ovvo += np.transpose(tmp421, (0, 3, 2, 1)) * -2 + del tmp421 + rdm2.ovvo += np.transpose(tmp422, (0, 2, 3, 1)) * -2 + rdm2.ovvo += np.transpose(tmp423, (1, 3, 2, 0)) * -2 + del tmp423 + tmp304 = einsum(t2, (0, 1, 2, 3), tmp80, (1, 4, 2, 5), (0, 4, 3, 5)) + rdm2.vovv = np.copy(np.transpose(tmp304, (1, 0, 3, 2))) * -2 + tmp229 = einsum(t2, (0, 1, 2, 3), tmp114, (1, 3, 4, 5), (0, 4, 2, 5)) + tmp477 = np.copy(tmp229) + tmp230 = np.copy(np.transpose(l2, (3, 2, 0, 1))) * -1 + tmp230 += np.transpose(l2, (2, 3, 0, 1)) + tmp430 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp230, (1, 2, 6, 5), (0, 3, 4, 6)) * 0.5 + tmp477 += np.transpose(tmp430, (0, 3, 1, 2)) + tmp431 = einsum(tmp10, (0, 1, 2, 3), t2, (0, 1, 4, 5), (2, 4, 5, 3)) * 0.5 + tmp477 += np.transpose(tmp431, (0, 3, 1, 2)) * -1 + tmp434 = np.copy(tmp92) + tmp94 = einsum(tmp93, (0, 1, 2, 3, 4, 5), l3, (6, 5, 3, 7, 0, 2), (7, 1, 6, 4)) + del tmp93 + tmp434 += tmp94 + tmp96 = einsum(tmp95, (0, 1, 2, 3, 4, 5), l3, (6, 3, 4, 0, 7, 2), (7, 1, 6, 5)) * -1 + tmp434 += tmp96 * -1 + tmp432 = einsum(tmp395, (0, 1, 2, 3), t1, (4, 1), (4, 0, 2, 3)) * 4 + del tmp395 + tmp434 += np.transpose(tmp432, (1, 0, 2, 3)) + del tmp432 + tmp433 = einsum(t1, (0, 1), tmp10, (2, 0, 3, 4), (2, 3, 1, 4)) * 2 + tmp434 += np.transpose(tmp433, (0, 1, 3, 2)) + del tmp433 + tmp435 = einsum(tmp434, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4)) * 0.25 + del tmp434 + tmp477 += np.transpose(tmp435, (0, 1, 3, 2)) * -1 + tmp438 = np.copy(np.transpose(tmp286, (1, 0, 3, 2))) + tmp436 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * -1 + tmp436 += np.transpose(t3, (1, 0, 2, 3, 5, 4)) * -2 + tmp437 = einsum(tmp436, (0, 1, 2, 3, 4, 5), l3, (6, 3, 7, 0, 2, 1), (4, 5, 6, 7)) * 0.16666666666667 + del tmp436 + tmp438 += np.transpose(tmp437, (3, 2, 1, 0)) * -1 + del tmp437 + tmp439 = einsum(tmp438, (0, 1, 2, 3), t1, (4, 0), (4, 1, 2, 3)) + del tmp438 + tmp477 += np.transpose(tmp439, (0, 1, 3, 2)) + tmp477 += einsum(tmp406, (0, 1), t1, (2, 3), (2, 0, 3, 1)) + del tmp406 + rdm2.vovv += np.transpose(tmp477, (1, 0, 2, 3)) * -2 + rdm2.vovv += np.transpose(tmp477, (1, 0, 3, 2)) * 2 + del tmp477 + tmp444 = einsum(tmp35, (0, 1, 2, 3), tmp9, (0, 4, 5, 1), (4, 2, 3, 5)) * 2 + rdm2.vovv += np.transpose(tmp444, (1, 0, 3, 2)) * -2 + rdm2.vovv += np.transpose(tmp444, (1, 0, 2, 3)) + tmp308 = einsum(t2, (0, 1, 2, 3), tmp80, (1, 4, 3, 5), (0, 4, 2, 5)) + rdm2.vovv += np.transpose(tmp308, (1, 0, 2, 3)) * -2 + rdm2.vovv += np.transpose(tmp308, (1, 0, 3, 2)) * 4 + tmp445 = einsum(t2, (0, 1, 2, 3), l1, (4, 1), (0, 4, 2, 3)) + tmp480 = np.copy(tmp445) + tmp448 = einsum(t1, (0, 1), tmp1, (2, 0, 3, 4), (2, 3, 4, 1)) + tmp478 = np.copy(tmp448) + tmp74 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * -1 + tmp74 += t2 + tmp75 = einsum(l2, (0, 1, 2, 3), tmp74, (2, 4, 1, 5), (3, 4, 0, 5)) + del tmp74 + tmp478 += tmp75 + tmp40 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * -1 + tmp40 += t2 * 2 + tmp73 = einsum(l2, (0, 1, 2, 3), tmp40, (3, 4, 1, 5), (2, 4, 0, 5)) + tmp478 += tmp73 * -1 + tmp479 = einsum(tmp478, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4)) + del tmp478 + tmp480 += np.transpose(tmp479, (0, 1, 3, 2)) + del tmp479 + rdm2.vovv += np.transpose(tmp480, (1, 0, 2, 3)) * -2 + rdm2.vovv += np.transpose(tmp480, (1, 0, 3, 2)) * 2 + del tmp480 + tmp450 = np.copy(np.transpose(l2, (3, 2, 0, 1))) + tmp450 += np.transpose(l2, (2, 3, 0, 1)) * -0.3333333333333333 + tmp451 = einsum(tmp450, (0, 1, 2, 3), t3, (4, 0, 1, 5, 3, 6), (4, 5, 6, 2)) * -1.5 + del tmp450 + rdm2.vovv += np.transpose(tmp451, (3, 0, 2, 1)) * -2 + tmp259 = einsum(t2, (0, 1, 2, 3), tmp258, (0, 1, 4, 5, 6, 2), (4, 3, 5, 6)) + del tmp258 + tmp481 = einsum(tmp259, (0, 1, 2, 3), tmp179, (0, 4, 5, 3), (4, 5, 2, 1)) + rdm2.vovv += np.transpose(tmp481, (2, 0, 1, 3)) * -2 + del tmp481 + tmp453 = einsum(tmp81, (0, 1, 2, 3), tmp179, (0, 4, 5, 2), (4, 5, 1, 3)) * -1 + rdm2.vovv += np.transpose(tmp453, (2, 0, 3, 1)) * -2 + tmp482 = einsum(tmp3, (0, 1, 2, 3), t2, (1, 0, 4, 5), (2, 4, 5, 3)) * 0.5 + rdm2.vovv += np.transpose(tmp482, (3, 0, 2, 1)) * 2 + del tmp482 + tmp483 = np.copy(np.transpose(tmp187, (1, 0, 3, 2))) * 2 + tmp455 = einsum(t3, (0, 1, 2, 3, 4, 5), l3, (6, 4, 7, 0, 2, 1), (6, 7, 3, 5)) + tmp483 += np.transpose(tmp455, (1, 0, 3, 2)) * -1 + tmp484 = einsum(tmp483, (0, 1, 2, 3), t1, (4, 0), (4, 1, 2, 3)) * 0.33333333333334 + del tmp483 + rdm2.vovv += np.transpose(tmp484, (1, 0, 3, 2)) * -2 + del tmp484 + tmp485 = einsum(t1, (0, 1), tmp3, (2, 0, 3, 4), (2, 3, 1, 4)) + tmp486 = einsum(t1, (0, 1), tmp485, (0, 2, 3, 4), (2, 4, 3, 1)) * -0.5 + del tmp485 + rdm2.vovv += np.transpose(tmp486, (1, 0, 3, 2)) * -2 + del tmp486 + tmp344 = einsum(tmp24, (0, 1, 2, 3), t2, (1, 0, 4, 5), (2, 3, 5, 4)) + rdm2.vovv += np.transpose(tmp344, (1, 0, 2, 3)) * -2 + tmp364 = einsum(t2, (0, 1, 2, 3), tmp27, (1, 0, 4, 5), (4, 5, 3, 2)) + rdm2.vovv += np.transpose(tmp364, (1, 0, 3, 2)) * -2 + tmp363 = einsum(l2, (0, 1, 2, 3), t3, (4, 2, 3, 5, 6, 1), (4, 0, 5, 6)) + rdm2.vovv += np.transpose(tmp363, (1, 0, 3, 2)) * 2 + tmp342 = einsum(l2, (0, 1, 2, 3), t3, (2, 4, 3, 5, 6, 1), (4, 0, 5, 6)) + rdm2.vovv += np.transpose(tmp342, (1, 0, 2, 3)) * 2 + rdm2.vovv += np.transpose(tmp445, (1, 0, 3, 2)) * 2 + tmp489 = np.copy(tmp114) * -0.5 + tmp489 += np.transpose(tmp114, (0, 2, 1, 3)) * 0.5 + tmp487 = np.copy(np.transpose(l3, (3, 5, 4, 0, 2, 1))) * -0.5 + tmp487 += np.transpose(l3, (3, 5, 4, 1, 0, 2)) * -0.5 + tmp487 += np.transpose(l3, (3, 4, 5, 0, 2, 1)) + tmp488 = einsum(t2, (0, 1, 2, 3), tmp487, (0, 4, 1, 3, 5, 6), (4, 5, 6, 2)) + del tmp487 + tmp489 += tmp488 * -1 + del tmp488 + tmp490 = einsum(tmp489, (0, 1, 2, 3), t2, (4, 0, 5, 2), (4, 1, 3, 5)) * 2 + del tmp489 + rdm2.vovv += np.transpose(tmp490, (1, 0, 2, 3)) * 2 + del tmp490 + tmp466 = einsum(t2, (0, 1, 2, 3), tmp345, (1, 2, 4, 5), (0, 3, 4, 5)) + rdm2.vovv += np.transpose(tmp466, (2, 0, 3, 1)) * -2 + tmp346 = einsum(t2, (0, 1, 2, 3), tmp345, (1, 4, 2, 5), (0, 3, 4, 5)) + rdm2.vovv += np.transpose(tmp346, (2, 0, 1, 3)) * -2 + tmp496 = np.copy(tmp123) * 2 + tmp496 += tmp124 * -2 + tmp491 = einsum(tmp126, (0, 1, 2, 3, 4, 5), t3, (0, 6, 1, 5, 7, 3), (6, 2, 7, 4)) * 0.5 + del tmp126 + tmp496 += np.transpose(tmp491, (1, 0, 3, 2)) + del tmp491 + tmp492 = einsum(tmp128, (0, 1, 2, 3, 4, 5), l3, (3, 6, 4, 0, 7, 2), (7, 1, 6, 5)) + tmp496 += tmp492 + del tmp492 + tmp493 = einsum(t2, (0, 1, 2, 3), tmp55, (1, 4, 5, 3), (0, 4, 2, 5)) * 2 + tmp496 += np.transpose(tmp493, (1, 0, 3, 2)) * -1 + del tmp493 + tmp494 = einsum(tmp345, (0, 1, 2, 3), t1, (4, 2), (4, 0, 1, 3)) * 2 + tmp496 += np.transpose(tmp494, (1, 0, 2, 3)) + del tmp494 + tmp467 = np.copy(tmp1) + tmp467 += tmp24 + tmp495 = einsum(t1, (0, 1), tmp467, (2, 0, 3, 4), (2, 3, 4, 1)) * 2 + tmp496 += tmp495 + del tmp495 + tmp497 = einsum(tmp496, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4)) * 0.5 + del tmp496 + rdm2.vovv += np.transpose(tmp497, (1, 0, 3, 2)) * -2 + del tmp497 + tmp471 = np.copy(np.transpose(tmp286, (1, 0, 3, 2))) * 2 + tmp471 += tmp328 + tmp471 += np.transpose(tmp328, (1, 0, 3, 2)) + tmp472 = einsum(tmp471, (0, 1, 2, 3), t1, (4, 0), (4, 1, 2, 3)) * 0.50000000000001 + del tmp471 + rdm2.vovv += np.transpose(tmp472, (1, 0, 3, 2)) * -2 + tmp498 = np.copy(tmp133) + tmp498 += tmp134 * 0.5 + tmp498 += tmp135 * 0.5 + tmp473 = einsum(tmp27, (0, 1, 2, 3), t1, (1, 4), (0, 2, 3, 4)) + tmp498 += tmp473 + tmp498 += np.transpose(tmp403, (1, 0, 2, 3)) + del tmp403 + tmp499 = einsum(tmp498, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4)) + del tmp498 + rdm2.vovv += np.transpose(tmp499, (1, 0, 2, 3)) * -2 + del tmp499 + rdm2.vovv += einsum(tmp419, (0, 1), t1, (2, 3), (0, 2, 1, 3)) * 0.33333333333332 + del tmp419 + rdm2.ovvv = np.copy(np.transpose(tmp304, (0, 1, 3, 2))) * 2 + tmp443 = np.copy(tmp229) + tmp443 += np.transpose(tmp430, (0, 3, 1, 2)) + del tmp430 + tmp443 += np.transpose(tmp431, (0, 3, 1, 2)) * -1 + del tmp431 + tmp443 += np.transpose(tmp435, (0, 1, 3, 2)) * -1 + del tmp435 + tmp443 += np.transpose(tmp439, (0, 1, 3, 2)) + del tmp439 + tmp442 = np.copy(tmp61) * 0.124999999999995 + tmp440 = einsum(tmp62, (0, 1, 2, 3, 4, 5), l3, (6, 3, 5, 0, 1, 2), (6, 4)) * -0.08333333333333 + del tmp62 + tmp442 += tmp440 + del tmp440 + tmp441 = einsum(tmp55, (0, 1, 2, 3), t2, (0, 1, 4, 2), (4, 3)) * 0.5 + tmp442 += np.transpose(tmp441, (1, 0)) + del tmp441 + tmp443 += einsum(t1, (0, 1), tmp442, (2, 3), (0, 2, 1, 3)) * 2 + del tmp442 + rdm2.ovvv += tmp443 * 2 + rdm2.ovvv += np.transpose(tmp443, (0, 1, 3, 2)) * -2 + del tmp443 + rdm2.ovvv += np.transpose(tmp444, (0, 1, 3, 2)) * 2 + rdm2.ovvv += tmp444 * -1 + del tmp444 + rdm2.ovvv += tmp308 * 2 + rdm2.ovvv += np.transpose(tmp308, (0, 1, 3, 2)) * -4 + tmp447 = np.copy(tmp445) + tmp447 += einsum(t1, (0, 1), tmp399, (2, 3), (0, 2, 1, 3)) + del tmp399 + tmp76 = np.copy(tmp73) + del tmp73 + tmp76 += tmp75 * -1 + del tmp75 + tmp446 = einsum(t1, (0, 1), tmp76, (0, 2, 3, 4), (2, 1, 3, 4)) + tmp447 += np.transpose(tmp446, (0, 2, 1, 3)) * -1 + del tmp446 + rdm2.ovvv += tmp447 * 2 + rdm2.ovvv += np.transpose(tmp447, (0, 1, 3, 2)) * -2 + del tmp447 + tmp449 = einsum(t1, (0, 1), tmp448, (0, 2, 3, 4), (2, 3, 1, 4)) + del tmp448 + rdm2.ovvv += tmp449 * 2 + rdm2.ovvv += np.transpose(tmp449, (0, 1, 3, 2)) * -2 + del tmp449 + rdm2.ovvv += np.transpose(tmp451, (0, 3, 2, 1)) * 2 + del tmp451 + tmp452 = einsum(tmp259, (0, 1, 2, 3), tmp9, (0, 4, 5, 3), (4, 5, 2, 1)) + rdm2.ovvv += np.transpose(tmp452, (0, 2, 1, 3)) * -2 + del tmp452 + rdm2.ovvv += np.transpose(tmp453, (0, 2, 3, 1)) * 2 + del tmp453 + tmp156 = einsum(l3, (0, 1, 2, 3, 4, 5), tmp2, (4, 6, 2, 1), (3, 5, 6, 0)) * -0.3333333333333333 + del tmp2 + tmp454 = einsum(tmp156, (0, 1, 2, 3), t2, (1, 0, 4, 5), (2, 4, 5, 3)) * 1.5 + rdm2.ovvv += np.transpose(tmp454, (0, 3, 2, 1)) * -2 + del tmp454 + tmp456 = np.copy(np.transpose(tmp187, (1, 0, 3, 2))) + tmp456 += np.transpose(tmp455, (1, 0, 3, 2)) * -0.5 + del tmp455 + tmp457 = einsum(tmp456, (0, 1, 2, 3), t1, (4, 0), (4, 1, 2, 3)) * 0.66666666666668 + del tmp456 + rdm2.ovvv += np.transpose(tmp457, (0, 1, 3, 2)) * 2 + del tmp457 + tmp458 = einsum(t1, (0, 1), tmp3, (2, 0, 3, 4), (2, 3, 1, 4)) * 0.3333333333333333 + tmp459 = einsum(t1, (0, 1), tmp458, (0, 2, 3, 4), (2, 4, 3, 1)) * -1.5 + del tmp458 + rdm2.ovvv += np.transpose(tmp459, (0, 1, 3, 2)) * 2 + del tmp459 + rdm2.ovvv += tmp364 * -2 + rdm2.ovvv += np.transpose(tmp344, (0, 1, 3, 2)) * -2 + rdm2.ovvv += tmp363 * 2 + rdm2.ovvv += np.transpose(tmp342, (0, 1, 3, 2)) * 2 + rdm2.ovvv += tmp445 * 2 + del tmp445 + tmp460 = np.copy(np.transpose(l3, (3, 5, 4, 0, 2, 1))) + tmp460 += np.transpose(l3, (3, 5, 4, 1, 0, 2)) + tmp460 += np.transpose(l3, (3, 4, 5, 1, 0, 2)) * -1 + tmp461 = einsum(t2, (0, 1, 2, 3), tmp460, (0, 4, 1, 2, 5, 6), (4, 5, 6, 3)) + del tmp460 + tmp464 = np.copy(tmp461) + del tmp461 + tmp462 = np.copy(np.transpose(l3, (3, 5, 4, 0, 2, 1))) + tmp462 += np.transpose(l3, (3, 4, 5, 0, 1, 2)) * 0.5 + tmp463 = einsum(tmp462, (0, 1, 2, 3, 4, 5), t2, (0, 2, 6, 5), (1, 3, 4, 6)) * 2 + del tmp462 + tmp464 += np.transpose(tmp463, (0, 2, 1, 3)) + del tmp463 + tmp465 = einsum(t2, (0, 1, 2, 3), tmp464, (1, 3, 4, 5), (0, 4, 5, 2)) + del tmp464 + rdm2.ovvv += np.transpose(tmp465, (0, 1, 3, 2)) * 2 + del tmp465 + rdm2.ovvv += np.transpose(tmp466, (0, 2, 1, 3)) * -2 + del tmp466 + rdm2.ovvv += np.transpose(tmp346, (0, 2, 3, 1)) * -2 + tmp469 = np.copy(tmp123) + tmp469 += tmp124 * -1 + tmp469 += np.transpose(tmp127, (1, 0, 3, 2)) + tmp469 += tmp129 + tmp130 = einsum(t2, (0, 1, 2, 3), tmp55, (1, 4, 5, 3), (0, 4, 2, 5)) + del tmp55 + tmp469 += np.transpose(tmp130, (1, 0, 3, 2)) * -1 + tmp469 += np.transpose(tmp422, (1, 0, 2, 3)) + del tmp422 + tmp468 = einsum(t1, (0, 1), tmp467, (2, 0, 3, 4), (2, 3, 4, 1)) + del tmp467 + tmp469 += tmp468 + del tmp468 + tmp470 = einsum(t1, (0, 1), tmp469, (0, 2, 3, 4), (2, 3, 4, 1)) + del tmp469 + rdm2.ovvv += tmp470 * -2 + del tmp470 + rdm2.ovvv += tmp472 * -2 + del tmp472 + tmp475 = np.copy(tmp133) * 2 + tmp475 += tmp134 + tmp475 += tmp135 + tmp475 += tmp473 * 2 + del tmp473 + tmp474 = einsum(tmp345, (0, 1, 2, 3), t1, (4, 1), (4, 0, 2, 3)) * 2 + del tmp345 + tmp475 += np.transpose(tmp474, (1, 0, 2, 3)) + del tmp474 + tmp476 = einsum(tmp475, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4)) * 0.5 + del tmp475 + rdm2.ovvv += np.transpose(tmp476, (0, 1, 3, 2)) * -2 + del tmp476 + rdm2.ovvv += einsum(t1, (0, 1), tmp402, (2, 3), (0, 2, 1, 3)) * 1.16666666666662 + del tmp402 + tmp34 = einsum(t3, (0, 1, 2, 3, 4, 5), l2, (5, 4, 2, 6), (6, 0, 1, 3)) + rdm2.ooov = np.copy(np.transpose(tmp34, (1, 2, 0, 3))) * 2 + tmp36 = einsum(t2, (0, 1, 2, 3), tmp35, (4, 2, 3, 5), (4, 0, 1, 5)) + rdm2.ooov += np.transpose(tmp36, (1, 2, 0, 3)) * 2 + tmp37 = einsum(tmp35, (0, 1, 2, 3), t1, (4, 1), (0, 4, 2, 3)) * -1 + tmp38 = einsum(t1, (0, 1), tmp37, (2, 3, 1, 4), (2, 3, 0, 4)) * -1 + del tmp37 + rdm2.ooov += np.transpose(tmp38, (2, 1, 0, 3)) * -2 + tmp39 = einsum(tmp12, (0, 1), t1, (0, 2), (1, 2)) + tmp42 = np.copy(tmp39) + tmp41 = einsum(l1, (0, 1), tmp40, (1, 2, 0, 3), (2, 3)) + del tmp40 + tmp42 += tmp41 * -1 + rdm2.ooov += einsum(tmp42, (0, 1), delta.oo, (2, 3), (0, 2, 3, 1)) * 2 + rdm2.ooov += einsum(delta.oo, (0, 1), tmp42, (2, 3), (0, 2, 1, 3)) * -2 + tmp60 = np.copy(t1) + tmp43 = einsum(l2, (0, 1, 2, 3), t3, (4, 2, 3, 5, 1, 0), (4, 5)) + tmp60 += tmp43 * -0.5 + tmp44 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * -0.3333333333333333 + tmp44 += np.transpose(t3, (0, 1, 2, 3, 5, 4)) * 0.3333333333333333 + tmp44 += np.transpose(t3, (0, 1, 2, 4, 3, 5)) + tmp45 = einsum(tmp44, (0, 1, 2, 3, 4, 5), l2, (4, 3, 0, 1), (2, 5)) * 1.5 + tmp60 += tmp45 + tmp46 = np.copy(np.transpose(l3, (3, 5, 4, 0, 2, 1))) + tmp46 += np.transpose(l3, (3, 5, 4, 0, 1, 2)) * -2 + tmp46 += np.transpose(l3, (4, 3, 5, 0, 2, 1)) + tmp47 = einsum(t2, (0, 1, 2, 3), tmp46, (1, 4, 5, 3, 6, 2), (0, 4, 5, 6)) + del tmp46 + tmp50 = np.copy(np.transpose(tmp47, (1, 2, 0, 3))) * -1 + del tmp47 + tmp48 = np.copy(np.transpose(l3, (3, 5, 4, 0, 2, 1))) * -1 + tmp48 += np.transpose(l3, (4, 3, 5, 0, 2, 1)) * -3 + tmp49 = einsum(t2, (0, 1, 2, 3), tmp48, (1, 4, 5, 2, 6, 3), (0, 4, 5, 6)) + del tmp48 + tmp50 += np.transpose(tmp49, (1, 2, 0, 3)) * -1 + del tmp49 + tmp51 = einsum(tmp50, (0, 1, 2, 3), t2, (0, 1, 4, 3), (2, 4)) * 0.5 + tmp60 += tmp51 * -1 + tmp52 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * -1 + tmp52 += t2 * 3 + tmp53 = einsum(l3, (0, 1, 2, 3, 4, 5), tmp52, (5, 6, 2, 1), (3, 4, 6, 0)) + del tmp52 + tmp54 = einsum(t2, (0, 1, 2, 3), tmp53, (0, 1, 4, 2), (4, 3)) * 0.5 + tmp60 += tmp54 * -1 + tmp57 = einsum(t1, (0, 1), tmp56, (2, 1), (0, 2)) + tmp60 += tmp57 * -1 + tmp58 = einsum(tmp17, (0, 1, 2, 3), l2, (3, 2, 0, 4), (4, 1)) + tmp59 = einsum(tmp58, (0, 1), t1, (0, 2), (1, 2)) * 2 + del tmp58 + tmp60 += tmp59 * -1 + del tmp59 + rdm2.ooov += einsum(tmp60, (0, 1), delta.oo, (2, 3), (0, 2, 3, 1)) * -2 + rdm2.ooov += einsum(tmp60, (0, 1), delta.oo, (2, 3), (2, 0, 3, 1)) * 2 + del tmp60 + tmp64 = np.copy(tmp61) * 1.5 + tmp64 += tmp63 + del tmp63 + tmp65 = einsum(t1, (0, 1), tmp64, (1, 2), (0, 2)) + del tmp64 + tmp70 = np.copy(tmp65) + del tmp65 + tmp66 = einsum(tmp13, (0, 1, 2, 3, 4, 5), l3, (4, 3, 5, 6, 2, 0), (6, 1)) * -1 + tmp68 = np.copy(tmp66) + tmp67 = einsum(l3, (0, 1, 2, 3, 4, 5), tmp15, (3, 6, 5, 1, 0, 2), (4, 6)) * 0.5 + tmp68 += tmp67 * -1 + tmp69 = einsum(tmp68, (0, 1), t1, (0, 2), (1, 2)) + del tmp68 + tmp70 += tmp69 + del tmp69 + rdm2.ooov += einsum(tmp70, (0, 1), delta.oo, (2, 3), (0, 2, 3, 1)) * 0.33333333333332 + rdm2.ooov += einsum(tmp70, (0, 1), delta.oo, (2, 3), (2, 0, 3, 1)) * -0.33333333333332 + tmp71 = einsum(l1, (0, 1), t2, (2, 3, 4, 0), (1, 2, 3, 4)) + tmp78 = np.copy(tmp71) + tmp72 = einsum(t1, (0, 1), tmp22, (2, 0, 3, 4), (2, 3, 4, 1)) + tmp78 += tmp72 + tmp77 = einsum(t1, (0, 1), tmp76, (2, 3, 1, 4), (0, 2, 3, 4)) + del tmp76 + tmp78 += np.transpose(tmp77, (1, 0, 2, 3)) * -1 + rdm2.ooov += np.transpose(tmp78, (1, 2, 0, 3)) * 2 + rdm2.ooov += np.transpose(tmp78, (2, 1, 0, 3)) * -2 + del tmp78 + rdm2.ooov += einsum(tmp12, (0, 1), t1, (2, 3), (2, 1, 0, 3)) * 2 + rdm2.ooov += einsum(tmp12, (0, 1), t1, (2, 3), (1, 2, 0, 3)) * -2 + tmp79 = einsum(tmp24, (0, 1, 2, 3), t2, (4, 0, 3, 5), (1, 4, 2, 5)) + tmp103 = np.copy(tmp79) * -0.5 + tmp83 = einsum(t2, (0, 1, 2, 3), tmp82, (4, 3, 2, 5), (0, 1, 4, 5)) * 0.5 + tmp103 += np.transpose(tmp83, (2, 1, 0, 3)) * -1 + tmp87 = np.copy(tmp24) + tmp84 = einsum(t2, (0, 1, 2, 3), l3, (4, 3, 2, 5, 6, 1), (5, 6, 0, 4)) + tmp87 += tmp84 * -1 + tmp87 += np.transpose(tmp84, (1, 0, 2, 3)) + tmp87 += np.transpose(tmp86, (1, 0, 2, 3)) + tmp88 = einsum(tmp9, (0, 1, 2, 3), tmp87, (4, 0, 5, 2), (1, 4, 5, 3)) * 0.5 + tmp103 += np.transpose(tmp88, (1, 0, 2, 3)) + tmp89 = np.copy(np.transpose(l3, (3, 5, 4, 0, 2, 1))) + tmp89 += np.transpose(l3, (3, 4, 5, 0, 1, 2)) * 0.6666666666666666 + tmp90 = einsum(t2, (0, 1, 2, 3), tmp89, (1, 4, 5, 3, 6, 2), (0, 4, 5, 6)) + del tmp89 + tmp91 = einsum(t2, (0, 1, 2, 3), tmp90, (4, 1, 5, 3), (0, 5, 4, 2)) * 1.5 + tmp103 += np.transpose(tmp91, (1, 0, 2, 3)) + tmp97 = np.copy(tmp92) + del tmp92 + tmp97 += tmp94 + del tmp94 + tmp97 += tmp96 * -1 + del tmp96 + tmp98 = einsum(t1, (0, 1), tmp97, (2, 3, 1, 4), (0, 2, 3, 4)) * 0.25 + tmp103 += np.transpose(tmp98, (1, 0, 2, 3)) * -1 + tmp101 = np.copy(np.transpose(tmp0, (1, 0, 3, 2))) * 2 + tmp99 = einsum(tmp10, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) + tmp101 += np.transpose(tmp99, (1, 2, 3, 0)) + tmp101 += np.transpose(tmp99, (2, 1, 3, 0)) * -1 + tmp100 = einsum(t1, (0, 1), tmp3, (2, 3, 4, 1), (0, 3, 2, 4)) + tmp101 += np.transpose(tmp100, (2, 1, 3, 0)) + del tmp100 + tmp102 = einsum(t1, (0, 1), tmp101, (0, 2, 3, 4), (2, 3, 4, 1)) * 0.5 + del tmp101 + tmp103 += np.transpose(tmp102, (0, 2, 1, 3)) + del tmp102 + tmp103 += einsum(tmp32, (0, 1), t1, (2, 3), (0, 2, 1, 3)) * 0.08333333333333 + rdm2.ooov += np.transpose(tmp103, (1, 2, 0, 3)) * 2 + rdm2.ooov += np.transpose(tmp103, (2, 1, 0, 3)) * -2 + del tmp103 + tmp104 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) + tmp104 += np.transpose(t3, (0, 2, 1, 3, 4, 5)) * -1 + tmp104 += np.transpose(t3, (1, 0, 2, 3, 5, 4)) + tmp105 = einsum(l2, (0, 1, 2, 3), tmp104, (2, 4, 5, 1, 6, 0), (3, 4, 5, 6)) + del tmp104 + rdm2.ooov += np.transpose(tmp105, (1, 2, 0, 3)) * -2 + del tmp105 + tmp106 = einsum(tmp82, (0, 1, 2, 3), t1, (4, 2), (4, 0, 1, 3)) + tmp107 = einsum(t1, (0, 1), tmp106, (2, 3, 1, 4), (0, 3, 2, 4)) + del tmp106 + rdm2.ooov += np.transpose(tmp107, (2, 0, 1, 3)) * 2 + tmp108 = einsum(tmp7, (0, 1, 2, 3, 4, 5), l3, (4, 3, 5, 6, 7, 0), (6, 7, 1, 2)) * -2 + tmp111 = np.copy(tmp108) * -1 + tmp111 += np.transpose(tmp108, (1, 0, 2, 3)) + tmp109 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) + tmp109 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) * 0.5 + tmp109 += np.transpose(t3, (1, 0, 2, 4, 3, 5)) * 1.5 + tmp110 = einsum(l3, (0, 1, 2, 3, 4, 5), tmp109, (4, 6, 7, 1, 0, 2), (3, 5, 6, 7)) * 2 + tmp111 += np.transpose(tmp110, (1, 0, 2, 3)) + del tmp110 + tmp112 = einsum(t1, (0, 1), tmp111, (0, 2, 3, 4), (2, 3, 4, 1)) * 0.16666666666667 + del tmp111 + rdm2.ooov += np.transpose(tmp112, (1, 2, 0, 3)) * 2 + del tmp112 + rdm2.ooov += np.transpose(tmp71, (2, 1, 0, 3)) * -2 + tmp113 = einsum(t3, (0, 1, 2, 3, 4, 5), l2, (3, 5, 6, 2), (6, 0, 1, 4)) + rdm2.ooov += np.transpose(tmp113, (1, 2, 0, 3)) * -2 + rdm2.ooov += np.transpose(tmp34, (2, 1, 0, 3)) * -2 + tmp115 = einsum(t2, (0, 1, 2, 3), tmp114, (4, 2, 3, 5), (4, 0, 1, 5)) + rdm2.ooov += np.transpose(tmp115, (1, 2, 0, 3)) * 2 + tmp116 = einsum(t2, (0, 1, 2, 3), tmp80, (4, 2, 3, 5), (4, 0, 1, 5)) + rdm2.ooov += np.transpose(tmp116, (2, 1, 0, 3)) * 2 + tmp117 = np.copy(np.transpose(tmp27, (1, 0, 2, 3))) * 2 + tmp117 += tmp24 * 3 + tmp117 += np.transpose(tmp24, (1, 0, 2, 3)) * -1 + tmp117 += tmp84 * -1 + tmp117 += np.transpose(tmp84, (1, 0, 2, 3)) + del tmp84 + tmp117 += np.transpose(tmp86, (1, 0, 2, 3)) + tmp118 = einsum(t2, (0, 1, 2, 3), tmp117, (1, 4, 5, 3), (0, 4, 5, 2)) * 0.5 + del tmp117 + rdm2.ooov += np.transpose(tmp118, (2, 0, 1, 3)) * -2 + tmp121 = einsum(tmp120, (0, 1, 2, 3), t2, (4, 1, 3, 5), (4, 2, 0, 5)) * -1 + rdm2.ooov += np.transpose(tmp121, (2, 0, 1, 3)) * 2 + tmp122 = einsum(tmp120, (0, 1, 2, 3), t2, (4, 2, 3, 5), (4, 1, 0, 5)) * -1 + del tmp120 + rdm2.ooov += np.transpose(tmp122, (0, 2, 1, 3)) * 2 + tmp131 = np.copy(tmp123) * -1 + tmp131 += tmp124 + tmp125 = einsum(tmp114, (0, 1, 2, 3), t1, (4, 2), (0, 4, 1, 3)) + tmp131 += tmp125 * -1 + tmp131 += np.transpose(tmp127, (1, 0, 3, 2)) * -1 + tmp131 += tmp129 * -1 + tmp131 += np.transpose(tmp130, (1, 0, 3, 2)) + del tmp130 + tmp132 = einsum(t1, (0, 1), tmp131, (2, 3, 1, 4), (0, 2, 3, 4)) + del tmp131 + rdm2.ooov += np.transpose(tmp132, (0, 2, 1, 3)) * -2 + tmp137 = np.copy(tmp133) + tmp137 += tmp134 * 0.5 + tmp137 += tmp135 * 0.5 + tmp136 = einsum(t1, (0, 1), tmp80, (2, 3, 1, 4), (2, 0, 3, 4)) + del tmp80 + tmp137 += tmp136 + tmp138 = einsum(t1, (0, 1), tmp137, (2, 3, 1, 4), (0, 2, 3, 4)) + del tmp137 + rdm2.ooov += np.transpose(tmp138, (2, 0, 1, 3)) * 2 + tmp139 = np.copy(np.transpose(tmp0, (1, 0, 3, 2))) + tmp139 += np.transpose(tmp22, (1, 0, 3, 2)) + del tmp22 + tmp139 += tmp26 + tmp139 += np.transpose(tmp26, (1, 0, 3, 2)) + tmp139 += np.transpose(tmp28, (0, 1, 3, 2)) + tmp139 += np.transpose(tmp28, (1, 0, 2, 3)) + tmp140 = einsum(tmp139, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4)) + del tmp139 + rdm2.ooov += np.transpose(tmp140, (2, 1, 0, 3)) * 2 + tmp149 = np.copy(t1) + tmp149 += tmp43 * -0.5 + tmp149 += tmp45 + tmp149 += tmp51 * -1 + tmp149 += tmp54 * -1 + tmp142 = einsum(l1, (0, 1), tmp141, (1, 2, 0, 3), (2, 3)) * 2 + tmp149 += tmp142 + del tmp142 + tmp144 = np.copy(tmp61) * 0.24999999999999 + del tmp61 + tmp144 += tmp143 + del tmp143 + tmp144 += np.transpose(tmp56, (1, 0)) + del tmp56 + tmp145 = einsum(tmp144, (0, 1), t1, (2, 0), (2, 1)) + tmp149 += tmp145 * -1 + del tmp145 + tmp147 = np.copy(tmp12) * 6 + tmp147 += tmp66 + del tmp66 + tmp147 += tmp67 * -1 + del tmp67 + tmp146 = einsum(tmp17, (0, 1, 2, 3), l2, (3, 2, 0, 4), (4, 1)) * 12 + tmp147 += tmp146 + del tmp146 + tmp148 = einsum(tmp147, (0, 1), t1, (0, 2), (1, 2)) * 0.16666666666666 + tmp149 += tmp148 * -1 + del tmp148 + rdm2.ooov += einsum(tmp149, (0, 1), delta.oo, (2, 3), (2, 0, 3, 1)) * 2 + del tmp149 + tmp150 = np.copy(tmp12) * 12 + tmp150 += tmp29 + del tmp29 + tmp150 += tmp30 * -1 + del tmp30 + tmp150 += tmp31 + del tmp31 + rdm2.ooov += einsum(tmp150, (0, 1), t1, (2, 3), (1, 2, 0, 3)) * -0.16666666666666 + del tmp150 + rdm2.oovo = np.copy(np.transpose(tmp34, (1, 2, 3, 0))) * -4 + rdm2.oovo += np.transpose(tmp36, (1, 2, 3, 0)) * -2 + rdm2.oovo += np.transpose(tmp38, (2, 1, 3, 0)) * 2 + del tmp38 + tmp151 = np.copy(t1) + tmp151 += tmp41 + rdm2.oovo += einsum(delta.oo, (0, 1), tmp151, (2, 3), (2, 0, 3, 1)) * 2 + rdm2.oovo += einsum(delta.oo, (0, 1), tmp151, (2, 3), (0, 2, 3, 1)) * -2 + del tmp151 + tmp155 = np.copy(tmp43) * -0.5 + tmp155 += tmp45 + del tmp45 + tmp155 += tmp51 * -1 + del tmp51 + tmp155 += tmp54 * -1 + del tmp54 + tmp155 += tmp57 * -1 + del tmp57 + tmp153 = np.copy(tmp12) + tmp152 = einsum(tmp17, (0, 1, 2, 3), l2, (3, 2, 0, 4), (4, 1)) * 2 + tmp153 += tmp152 + tmp154 = einsum(tmp153, (0, 1), t1, (0, 2), (1, 2)) + del tmp153 + tmp155 += tmp154 * -1 + del tmp154 + rdm2.oovo += einsum(tmp155, (0, 1), delta.oo, (2, 3), (0, 2, 1, 3)) * 2 + rdm2.oovo += einsum(tmp155, (0, 1), delta.oo, (2, 3), (2, 0, 1, 3)) * -2 + del tmp155 + rdm2.oovo += einsum(tmp70, (0, 1), delta.oo, (2, 3), (0, 2, 1, 3)) * -0.33333333333332 + rdm2.oovo += einsum(tmp70, (0, 1), delta.oo, (2, 3), (2, 0, 1, 3)) * 0.33333333333332 + del tmp70 + tmp161 = np.copy(tmp71) + tmp161 += tmp79 * -0.5 + tmp161 += np.transpose(tmp83, (2, 1, 0, 3)) * -1 + del tmp83 + tmp161 += np.transpose(tmp88, (1, 0, 2, 3)) + del tmp88 + tmp161 += np.transpose(tmp91, (1, 0, 2, 3)) + del tmp91 + tmp161 += np.transpose(tmp98, (1, 0, 2, 3)) * -1 + del tmp98 + tmp159 = np.copy(np.transpose(tmp0, (1, 0, 3, 2))) * 2 + tmp159 += np.transpose(tmp99, (1, 2, 3, 0)) + tmp159 += np.transpose(tmp99, (2, 1, 3, 0)) * -1 + tmp157 = np.copy(tmp1) * 0.6666666666666666 + del tmp1 + tmp157 += np.transpose(tmp156, (1, 0, 2, 3)) + tmp158 = einsum(t1, (0, 1), tmp157, (2, 3, 4, 1), (0, 2, 3, 4)) * 3 + del tmp157 + tmp159 += np.transpose(tmp158, (2, 1, 3, 0)) + del tmp158 + tmp160 = einsum(t1, (0, 1), tmp159, (0, 2, 3, 4), (2, 3, 4, 1)) * 0.5 + del tmp159 + tmp161 += np.transpose(tmp160, (0, 2, 1, 3)) + del tmp160 + tmp161 += einsum(tmp32, (0, 1), t1, (2, 3), (0, 2, 1, 3)) * 0.08333333333333 + del tmp32 + rdm2.oovo += np.transpose(tmp161, (1, 2, 3, 0)) * -2 + rdm2.oovo += np.transpose(tmp161, (2, 1, 3, 0)) * 2 + del tmp161 + tmp162 = einsum(t1, (0, 1), tmp12, (2, 3), (2, 0, 3, 1)) + tmp162 += np.transpose(tmp77, (1, 0, 2, 3)) * -1 + rdm2.oovo += np.transpose(tmp162, (1, 2, 3, 0)) * -2 + rdm2.oovo += np.transpose(tmp162, (2, 1, 3, 0)) * 2 + del tmp162 + tmp163 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) + tmp163 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) + tmp163 += np.transpose(t3, (1, 0, 2, 4, 3, 5)) + tmp164 = einsum(l2, (0, 1, 2, 3), tmp163, (2, 4, 5, 0, 1, 6), (3, 4, 5, 6)) + del tmp163 + rdm2.oovo += np.transpose(tmp164, (1, 2, 3, 0)) * 2 + del tmp164 + rdm2.oovo += np.transpose(tmp107, (2, 0, 3, 1)) * -2 + del tmp107 + tmp165 = einsum(tmp7, (0, 1, 2, 3, 4, 5), l3, (4, 3, 5, 6, 7, 0), (6, 7, 1, 2)) * -0.6666666666666666 + del tmp7 + tmp167 = np.copy(tmp165) * -1 + tmp167 += np.transpose(tmp165, (1, 0, 2, 3)) + del tmp165 + tmp166 = einsum(l3, (0, 1, 2, 3, 4, 5), tmp109, (4, 6, 7, 1, 0, 2), (3, 5, 6, 7)) * 0.6666666666666666 + del tmp109 + tmp167 += np.transpose(tmp166, (1, 0, 2, 3)) + del tmp166 + tmp168 = einsum(t1, (0, 1), tmp167, (0, 2, 3, 4), (2, 3, 4, 1)) * 0.50000000000001 + del tmp167 + rdm2.oovo += np.transpose(tmp168, (1, 2, 3, 0)) * -2 + del tmp168 + rdm2.oovo += np.transpose(tmp71, (1, 2, 3, 0)) * -2 + rdm2.oovo += np.transpose(tmp113, (2, 1, 3, 0)) * -2 + rdm2.oovo += np.transpose(tmp115, (2, 1, 3, 0)) * 2 + rdm2.oovo += np.transpose(tmp116, (1, 2, 3, 0)) * 2 + rdm2.oovo += np.transpose(tmp118, (0, 2, 3, 1)) * -2 + rdm2.oovo += np.transpose(tmp121, (0, 2, 3, 1)) * 2 + rdm2.oovo += np.transpose(tmp122, (2, 0, 3, 1)) * 2 + rdm2.oovo += np.transpose(tmp132, (2, 0, 3, 1)) * -2 + del tmp132 + rdm2.oovo += np.transpose(tmp138, (0, 2, 3, 1)) * 2 + del tmp138 + rdm2.oovo += np.transpose(tmp140, (1, 2, 3, 0)) * 2 + del tmp140 + tmp175 = np.copy(t1) * 2 + tmp175 += tmp43 * -1 + tmp169 = einsum(tmp44, (0, 1, 2, 3, 4, 5), l2, (4, 3, 0, 1), (2, 5)) * 3 + tmp175 += tmp169 + del tmp169 + tmp170 = einsum(tmp50, (0, 1, 2, 3), t2, (0, 1, 4, 3), (2, 4)) + tmp175 += tmp170 * -1 + del tmp170 + tmp171 = einsum(t2, (0, 1, 2, 3), tmp53, (0, 1, 4, 2), (4, 3)) + tmp175 += tmp171 * -1 + del tmp171 + tmp172 = einsum(l1, (0, 1), tmp141, (1, 2, 0, 3), (2, 3)) * 4 + del tmp141 + tmp175 += tmp172 + del tmp172 + tmp173 = einsum(tmp144, (0, 1), t1, (2, 0), (2, 1)) * 2 + tmp175 += tmp173 * -1 + del tmp173 + tmp174 = einsum(tmp147, (0, 1), t1, (0, 2), (1, 2)) * 0.33333333333332 + del tmp147 + tmp175 += tmp174 * -1 + del tmp174 + rdm2.oovo += einsum(delta.oo, (0, 1), tmp175, (2, 3), (2, 0, 3, 1)) + del delta, tmp175 + tmp178 = np.copy(tmp12) + tmp176 = einsum(tmp13, (0, 1, 2, 3, 4, 5), l3, (4, 3, 5, 6, 2, 0), (6, 1)) * -0.16666666666666 + tmp178 += tmp176 + del tmp176 + tmp177 = einsum(l3, (0, 1, 2, 3, 4, 5), tmp15, (3, 6, 5, 1, 0, 2), (4, 6)) * 0.08333333333333 + tmp178 += tmp177 * -1 + del tmp177 + tmp178 += tmp152 + del tmp152 + rdm2.oovo += einsum(t1, (0, 1), tmp178, (2, 3), (0, 3, 1, 2)) * -2 + del tmp178 + tmp188 = einsum(tmp187, (0, 1, 2, 3), t2, (4, 5, 0, 1), (4, 5, 2, 3)) + rdm2.oovv = np.copy(np.transpose(tmp188, (0, 1, 3, 2))) * -1 + del tmp188 + tmp189 = einsum(tmp187, (0, 1, 2, 3), t1, (4, 0), (4, 1, 2, 3)) * -1 + del tmp187 + tmp190 = einsum(tmp189, (0, 1, 2, 3), t1, (4, 1), (0, 4, 2, 3)) * -1 + del tmp189 + rdm2.oovv += np.transpose(tmp190, (1, 0, 3, 2)) + del tmp190 + tmp198 = np.copy(t2) + tmp191 = einsum(t1, (0, 1), tmp72, (0, 2, 3, 4), (3, 2, 4, 1)) + del tmp72 + tmp198 += np.transpose(tmp191, (1, 0, 3, 2)) + tmp194 = einsum(tmp193, (0, 1, 2, 3), t2, (4, 1, 5, 3), (4, 0, 5, 2)) + tmp198 += tmp194 * 2 + tmp197 = einsum(t2, (0, 1, 2, 3), tmp196, (4, 1, 5, 2), (0, 4, 3, 5)) + del tmp196 + tmp198 += tmp197 + del tmp197 + rdm2.oovv += np.transpose(tmp198, (0, 1, 3, 2)) * -2 + rdm2.oovv += tmp198 * 2 + del tmp198 + tmp199 = einsum(tmp12, (0, 1), t2, (2, 0, 3, 4), (1, 2, 3, 4)) + del tmp12 + tmp204 = np.copy(tmp199) + tmp200 = einsum(t2, (0, 1, 2, 3), tmp192, (1, 4, 5, 2), (0, 4, 3, 5)) + del tmp192 + tmp201 = einsum(t2, (0, 1, 2, 3), tmp200, (4, 1, 5, 3), (0, 4, 2, 5)) + del tmp200 + tmp204 += tmp201 * -1 + tmp202 = np.copy(tmp71) + tmp202 += np.transpose(tmp77, (1, 0, 2, 3)) * -1 + del tmp77 + tmp203 = einsum(t1, (0, 1), tmp202, (0, 2, 3, 4), (2, 3, 1, 4)) + del tmp202 + tmp204 += tmp203 + del tmp203 + tmp204 += einsum(t1, (0, 1), tmp42, (2, 3), (0, 2, 1, 3)) * -1 + del tmp42 + rdm2.oovv += tmp204 * 2 + rdm2.oovv += np.transpose(tmp204, (0, 1, 3, 2)) * -2 + rdm2.oovv += np.transpose(tmp204, (1, 0, 2, 3)) * -2 + rdm2.oovv += np.transpose(tmp204, (1, 0, 3, 2)) * 2 + del tmp204 + tmp206 = np.copy(tmp205) + del tmp205 + tmp206 += np.transpose(tmp86, (1, 0, 2, 3)) + tmp207 = einsum(tmp206, (0, 1, 2, 3), t3, (4, 0, 1, 5, 6, 3), (4, 2, 5, 6)) * 0.25 + del tmp206 + tmp246 = np.copy(np.transpose(tmp207, (1, 0, 2, 3))) * -1 + del tmp207 + tmp208 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp10, (2, 1, 6, 5), (0, 6, 3, 4)) * 0.25 + tmp246 += np.transpose(tmp208, (1, 0, 2, 3)) * -1 + del tmp208 + tmp209 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * 0.4 + tmp209 += np.transpose(t3, (0, 1, 2, 3, 5, 4)) * -0.2 + tmp209 += t3 * 0.2 + tmp209 += np.transpose(t3, (0, 1, 2, 4, 3, 5)) * -1 + tmp209 += np.transpose(t3, (1, 0, 2, 3, 5, 4)) * 0.2 + tmp209 += np.transpose(t3, (1, 0, 2, 3, 4, 5)) * -1 + tmp209 += np.transpose(t3, (1, 0, 2, 4, 3, 5)) * 0.2 + tmp210 = einsum(l3, (0, 1, 2, 3, 4, 5), tmp209, (5, 4, 6, 1, 2, 7), (3, 6, 0, 7)) + del tmp209 + tmp215 = np.copy(tmp210) * -1 + del tmp210 + tmp211 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * -1 + tmp211 += np.transpose(t3, (0, 1, 2, 3, 5, 4)) + tmp211 += t3 * -1 + tmp211 += np.transpose(t3, (0, 1, 2, 4, 3, 5)) + tmp212 = einsum(tmp211, (0, 1, 2, 3, 4, 5), l3, (6, 3, 4, 0, 7, 1), (7, 2, 6, 5)) * -0.2 + del tmp211 + tmp215 += tmp212 * -1 + del tmp212 + tmp213 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * -0.5 + tmp213 += np.transpose(t3, (0, 1, 2, 3, 5, 4)) * 0.5 + tmp213 += np.transpose(t3, (0, 1, 2, 4, 3, 5)) + tmp214 = einsum(tmp213, (0, 1, 2, 3, 4, 5), l3, (3, 6, 4, 0, 7, 1), (7, 2, 6, 5)) * 0.4 + del tmp213 + tmp215 += tmp214 * -1 + del tmp214 + tmp216 = einsum(tmp215, (0, 1, 2, 3), t2, (4, 0, 5, 2), (4, 1, 5, 3)) * 1.25 + del tmp215 + tmp246 += tmp216 + tmp217 = einsum(t2, (0, 1, 2, 3), tmp97, (1, 4, 2, 5), (0, 4, 3, 5)) * 0.25 + tmp246 += tmp217 * -1 + del tmp217 + tmp219 = einsum(l3, (0, 1, 2, 3, 4, 5), tmp218, (5, 4, 3, 2, 6, 7), (0, 1, 6, 7)) * -2 + tmp220 = einsum(t2, (0, 1, 2, 3), tmp219, (3, 2, 4, 5), (0, 1, 4, 5)) * -0.08333333333333 + del tmp219 + tmp246 += np.transpose(tmp220, (1, 0, 2, 3)) * -1 + del tmp220 + tmp221 = einsum(t2, (0, 1, 2, 3), tmp144, (2, 4), (0, 1, 3, 4)) + tmp246 += np.transpose(tmp221, (1, 0, 2, 3)) * -1 + tmp227 = np.copy(tmp79) * 2 + del tmp79 + tmp222 = einsum(t2, (0, 1, 2, 3), tmp82, (4, 3, 2, 5), (0, 1, 4, 5)) * 2 + del tmp82 + tmp227 += np.transpose(tmp222, (2, 1, 0, 3)) + del tmp222 + tmp223 = einsum(tmp9, (0, 1, 2, 3), tmp87, (4, 0, 5, 2), (1, 4, 5, 3)) * 2 + del tmp87 + tmp227 += np.transpose(tmp223, (1, 0, 2, 3)) * -1 + del tmp223 + tmp224 = einsum(t2, (0, 1, 2, 3), tmp90, (4, 1, 5, 3), (0, 5, 4, 2)) * 6 + del tmp90 + tmp227 += np.transpose(tmp224, (1, 0, 2, 3)) * -1 + del tmp224 + tmp225 = einsum(t1, (0, 1), tmp97, (2, 3, 1, 4), (0, 2, 3, 4)) + del tmp97 + tmp227 += np.transpose(tmp225, (1, 0, 2, 3)) + del tmp225 + tmp226 = einsum(t1, (0, 1), tmp99, (2, 3, 0, 4), (3, 2, 4, 1)) * 2 + del tmp99 + tmp227 += tmp226 + del tmp226 + tmp228 = einsum(t1, (0, 1), tmp227, (0, 2, 3, 4), (2, 3, 1, 4)) * 0.25 + del tmp227 + tmp246 += tmp228 * -1 + del tmp228 + tmp233 = np.copy(tmp229) * 2 + del tmp229 + tmp231 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp230, (1, 2, 6, 5), (0, 3, 4, 6)) + del tmp230 + tmp233 += np.transpose(tmp231, (0, 3, 1, 2)) + del tmp231 + tmp232 = einsum(tmp10, (0, 1, 2, 3), t2, (0, 1, 4, 5), (2, 4, 5, 3)) + tmp233 += np.transpose(tmp232, (0, 3, 1, 2)) * -1 + del tmp232 + tmp234 = einsum(tmp233, (0, 1, 2, 3), t1, (4, 1), (4, 0, 2, 3)) * 0.5 + del tmp233 + tmp246 += tmp234 + del tmp234 + tmp235 = einsum(tmp13, (0, 1, 2, 3, 4, 5), l3, (4, 3, 5, 6, 2, 0), (6, 1)) * -0.28571428571428575 + del tmp13 + tmp238 = np.copy(tmp235) + del tmp235 + tmp236 = einsum(l3, (0, 1, 2, 3, 4, 5), tmp15, (3, 6, 5, 1, 0, 2), (4, 6)) * 0.14285714285714288 + del tmp15 + tmp238 += tmp236 * -1 + del tmp236 + tmp237 = einsum(tmp17, (0, 1, 2, 3), l2, (3, 2, 0, 4), (4, 1)) * 3.428571428571566 + del tmp17 + tmp238 += tmp237 + del tmp237 + tmp239 = einsum(t2, (0, 1, 2, 3), tmp238, (1, 4), (0, 4, 3, 2)) * 0.58333333333331 + tmp246 += np.transpose(tmp239, (0, 1, 3, 2)) * -1 + tmp245 = np.copy(tmp43) * -0.3333333333333333 + del tmp43 + tmp240 = einsum(tmp44, (0, 1, 2, 3, 4, 5), l2, (4, 3, 0, 1), (2, 5)) + del tmp44 + tmp245 += tmp240 + del tmp240 + tmp241 = einsum(tmp50, (0, 1, 2, 3), t2, (0, 1, 4, 3), (2, 4)) * 0.3333333333333333 + del tmp50 + tmp245 += tmp241 * -1 + del tmp241 + tmp242 = einsum(t2, (0, 1, 2, 3), tmp53, (0, 1, 4, 2), (4, 3)) * 0.3333333333333333 + del tmp53 + tmp245 += tmp242 * -1 + del tmp242 + tmp243 = einsum(tmp144, (0, 1), t1, (2, 0), (2, 1)) * 0.6666666666666666 + del tmp144 + tmp245 += tmp243 * -1 + del tmp243 + tmp244 = einsum(tmp238, (0, 1), t1, (0, 2), (1, 2)) * 0.3888888888888733 + del tmp238 + tmp245 += tmp244 * -1 + del tmp244 + tmp246 += einsum(t1, (0, 1), tmp245, (2, 3), (0, 2, 1, 3)) * 1.5 + rdm2.oovv += tmp246 * 2 + rdm2.oovv += np.transpose(tmp246, (0, 1, 3, 2)) * -2 + rdm2.oovv += np.transpose(tmp246, (1, 0, 2, 3)) * -2 + rdm2.oovv += np.transpose(tmp246, (1, 0, 3, 2)) * 2 + del tmp246 + tmp247 = np.copy(tmp27) * 4 + tmp247 += tmp10 + del tmp10 + tmp248 = einsum(tmp247, (0, 1, 2, 3), t3, (4, 1, 0, 5, 3, 6), (4, 2, 5, 6)) * -0.25 + del tmp247 + tmp267 = np.copy(np.transpose(tmp248, (1, 0, 3, 2))) * -1 + del tmp248 + tmp249 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * -1 + tmp249 += t2 * 5 + tmp250 = einsum(l3, (0, 1, 2, 3, 4, 5), tmp249, (5, 6, 2, 1), (3, 4, 6, 0)) + del tmp249 + tmp251 = np.copy(tmp250) + del tmp250 + tmp251 += np.transpose(tmp86, (1, 0, 2, 3)) + tmp252 = einsum(tmp251, (0, 1, 2, 3), t3, (4, 0, 1, 5, 3, 6), (4, 2, 5, 6)) * -0.25 + del tmp251 + tmp267 += np.transpose(tmp252, (1, 0, 3, 2)) * -1 + del tmp252 + tmp253 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * 0.5 + tmp253 += np.transpose(t3, (1, 0, 2, 3, 5, 4)) + tmp254 = einsum(tmp253, (0, 1, 2, 3, 4, 5), l3, (6, 7, 5, 0, 2, 1), (6, 7, 3, 4)) * -2 + tmp255 = einsum(tmp254, (0, 1, 2, 3), t2, (4, 5, 1, 0), (4, 5, 3, 2)) * -0.08333333333333 + del tmp254 + tmp267 += np.transpose(tmp255, (1, 0, 3, 2)) + del tmp255 + tmp256 = np.copy(np.transpose(l2, (3, 2, 0, 1))) * 3 + tmp256 += np.transpose(l2, (2, 3, 0, 1)) * -1 + tmp257 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp256, (1, 2, 6, 4), (0, 3, 5, 6)) * -1 + del tmp256 + tmp262 = np.copy(np.transpose(tmp257, (0, 3, 2, 1))) + del tmp257 + tmp260 = einsum(tmp259, (0, 1, 2, 3), tmp9, (0, 4, 5, 3), (4, 5, 2, 1)) * 2 + tmp262 += np.transpose(tmp260, (0, 2, 1, 3)) * -1 + del tmp260 + tmp261 = einsum(tmp3, (0, 1, 2, 3), t2, (1, 0, 4, 5), (2, 4, 5, 3)) + del tmp3 + tmp262 += np.transpose(tmp261, (0, 3, 2, 1)) * -1 + del tmp261 + tmp263 = einsum(tmp262, (0, 1, 2, 3), t1, (4, 1), (4, 0, 2, 3)) * 0.5 + del tmp262 + tmp267 += np.transpose(tmp263, (0, 1, 3, 2)) + del tmp263 + tmp264 = einsum(t1, (0, 1), tmp156, (2, 3, 4, 1), (0, 3, 2, 4)) * 3 + del tmp156 + tmp265 = einsum(t1, (0, 1), tmp264, (2, 3, 0, 4), (3, 2, 4, 1)) * -1 + del tmp264 + tmp266 = einsum(t1, (0, 1), tmp265, (0, 2, 3, 4), (2, 3, 1, 4)) * -0.5 + del tmp265 + tmp267 += tmp266 * -1 + del tmp266 + rdm2.oovv += tmp267 * -2 + rdm2.oovv += np.transpose(tmp267, (1, 0, 2, 3)) * 2 + del tmp267 + tmp268 = einsum(t3, (0, 1, 2, 3, 4, 5), l3, (6, 5, 4, 7, 8, 1), (7, 8, 0, 2, 6, 3)) + tmp272 = np.copy(np.transpose(tmp268, (0, 1, 3, 2, 4, 5))) * 2 + del tmp268 + tmp269 = einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 4, 7, 8, 1, 2), (3, 5, 6, 7, 0, 8)) + tmp272 += np.transpose(tmp269, (1, 0, 3, 2, 4, 5)) * -2 + del tmp269 + tmp270 = np.copy(np.transpose(l3, (3, 5, 4, 0, 2, 1))) + tmp270 += np.transpose(l3, (4, 3, 5, 0, 2, 1)) + tmp271 = einsum(tmp95, (0, 1, 2, 3, 4, 5), tmp270, (0, 6, 7, 4, 8, 3), (1, 2, 6, 7, 5, 8)) + del tmp270 + tmp272 += np.transpose(tmp271, (2, 3, 0, 1, 5, 4)) * -1 + del tmp271 + tmp273 = einsum(tmp272, (0, 1, 2, 3, 4, 5), t2, (0, 1, 4, 6), (2, 3, 6, 5)) * 0.5 + del tmp272 + tmp284 = np.copy(tmp273) + del tmp273 + tmp274 = einsum(tmp95, (0, 1, 2, 3, 4, 5), l3, (6, 3, 4, 7, 8, 0), (7, 8, 1, 2, 6, 5)) + del tmp95 + tmp276 = np.copy(tmp274) + del tmp274 + tmp275 = einsum(l3, (0, 1, 2, 3, 4, 5), tmp128, (5, 6, 7, 0, 2, 8), (3, 4, 6, 7, 1, 8)) * -2 + del tmp128 + tmp276 += tmp275 + del tmp275 + tmp277 = einsum(t2, (0, 1, 2, 3), tmp276, (0, 1, 4, 5, 3, 6), (4, 5, 2, 6)) * 0.5 + del tmp276 + tmp284 += tmp277 + del tmp277 + tmp278 = einsum(t2, (0, 1, 2, 3), tmp108, (0, 1, 4, 5), (4, 5, 2, 3)) * -0.16666666666666 + tmp284 += tmp278 + del tmp278 + tmp282 = np.copy(tmp113) + tmp279 = np.copy(np.transpose(l2, (3, 2, 0, 1))) + tmp279 += np.transpose(l2, (2, 3, 0, 1)) * -1 + tmp280 = einsum(tmp279, (0, 1, 2, 3), t3, (4, 5, 0, 6, 3, 2), (4, 5, 1, 6)) + del tmp279 + tmp282 += np.transpose(tmp280, (2, 0, 1, 3)) + del tmp280 + tmp281 = einsum(t1, (0, 1), tmp108, (2, 0, 3, 4), (2, 3, 4, 1)) * -0.16666666666667 + del tmp108 + tmp282 += tmp281 + del tmp281 + tmp283 = einsum(t1, (0, 1), tmp282, (0, 2, 3, 4), (2, 3, 1, 4)) + del tmp282 + tmp284 += tmp283 + del tmp283 + rdm2.oovv += tmp284 * -2 + rdm2.oovv += np.transpose(tmp284, (0, 1, 3, 2)) * 2 + del tmp284 + tmp301 = einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) * -1 + tmp285 = einsum(tmp0, (0, 1, 2, 3), t2, (1, 0, 4, 5), (3, 2, 4, 5)) + tmp301 += np.transpose(tmp285, (1, 0, 3, 2)) * -1 + tmp287 = einsum(tmp286, (0, 1, 2, 3), t1, (4, 0), (4, 1, 3, 2)) + del tmp286 + tmp288 = einsum(t1, (0, 1), tmp287, (2, 1, 3, 4), (2, 0, 4, 3)) + tmp301 += np.transpose(tmp288, (1, 0, 3, 2)) * -1 + del tmp288 + tmp289 = einsum(l2, (0, 1, 2, 3), t3, (4, 3, 5, 6, 1, 0), (2, 4, 5, 6)) + tmp296 = np.copy(np.transpose(tmp289, (0, 2, 1, 3))) * -1 + del tmp289 + tmp290 = einsum(tmp0, (0, 1, 2, 3), t1, (1, 4), (0, 2, 3, 4)) + del tmp0 + tmp296 += tmp290 + tmp296 += np.transpose(tmp36, (0, 2, 1, 3)) * -1 + del tmp36 + tmp293 = np.copy(tmp114) * -1 + tmp293 += np.transpose(tmp292, (0, 2, 3, 1)) * -1 + del tmp292 + tmp294 = einsum(tmp293, (0, 1, 2, 3), t1, (4, 2), (4, 0, 1, 3)) + del tmp293 + tmp295 = einsum(t1, (0, 1), tmp294, (2, 3, 1, 4), (0, 3, 2, 4)) * -1 + del tmp294 + tmp296 += np.transpose(tmp295, (1, 0, 2, 3)) + del tmp295 + tmp297 = einsum(t1, (0, 1), tmp296, (0, 2, 3, 4), (2, 3, 1, 4)) + del tmp296 + tmp301 += np.transpose(tmp297, (1, 0, 3, 2)) * -1 + del tmp297 + tmp298 = einsum(l3, (0, 1, 2, 3, 4, 5), tmp218, (5, 4, 3, 2, 6, 7), (0, 1, 6, 7)) * -1 + del tmp218 + tmp299 = einsum(tmp298, (0, 1, 2, 3), t1, (4, 1), (4, 0, 2, 3)) * -1 + del tmp298 + tmp300 = einsum(tmp299, (0, 1, 2, 3), t1, (4, 1), (4, 0, 2, 3)) * 0.33333333333334 + del tmp299 + tmp301 += np.transpose(tmp300, (1, 0, 3, 2)) + del tmp300 + rdm2.oovv += np.transpose(tmp301, (0, 1, 3, 2)) * 2 + rdm2.oovv += tmp301 * -2 + del tmp301 + tmp302 = einsum(tmp35, (0, 1, 2, 3), tmp9, (0, 4, 5, 1), (4, 2, 3, 5)) + tmp303 = einsum(tmp302, (0, 1, 2, 3), t1, (4, 1), (4, 0, 3, 2)) * -1 + del tmp302 + rdm2.oovv += tmp303 * -2 + rdm2.oovv += np.transpose(tmp303, (0, 1, 3, 2)) * 4 + rdm2.oovv += np.transpose(tmp303, (1, 0, 2, 3)) * 2 + rdm2.oovv += np.transpose(tmp303, (1, 0, 3, 2)) * -4 + del tmp303 + tmp306 = np.copy(tmp304) + tmp305 = einsum(tmp81, (0, 1, 2, 3), tmp9, (0, 4, 5, 2), (4, 5, 1, 3)) * -1 + tmp306 += np.transpose(tmp305, (0, 2, 1, 3)) * -1 + del tmp305 + tmp307 = einsum(tmp306, (0, 1, 2, 3), t1, (4, 1), (4, 0, 2, 3)) + del tmp306 + rdm2.oovv += tmp307 * -2 + rdm2.oovv += np.transpose(tmp307, (1, 0, 2, 3)) * 2 + del tmp307 + tmp309 = einsum(tmp308, (0, 1, 2, 3), t1, (4, 1), (4, 0, 2, 3)) + del tmp308 + rdm2.oovv += tmp309 * 4 + rdm2.oovv += np.transpose(tmp309, (0, 1, 3, 2)) * -4 + rdm2.oovv += np.transpose(tmp309, (1, 0, 2, 3)) * -8 + rdm2.oovv += np.transpose(tmp309, (1, 0, 3, 2)) * 2 + del tmp309 + tmp310 = einsum(l1, (0, 1), t3, (2, 3, 1, 4, 5, 0), (2, 3, 4, 5)) + rdm2.oovv += tmp310 * 2 + rdm2.oovv += np.transpose(tmp310, (0, 1, 3, 2)) * -2 + tmp311 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * -1 + tmp311 += np.transpose(t3, (1, 0, 2, 3, 5, 4)) * -1 + tmp312 = einsum(tmp311, (0, 1, 2, 3, 4, 5), l1, (5, 2), (0, 1, 3, 4)) + del tmp311 + rdm2.oovv += np.transpose(tmp312, (1, 0, 3, 2)) * -2 + del tmp312 + tmp313 = einsum(l3, (0, 1, 2, 3, 4, 5), tmp20, (4, 6, 7, 1, 0, 2), (3, 5, 6, 7)) + tmp314 = einsum(tmp313, (0, 1, 2, 3), t2, (1, 0, 4, 5), (2, 3, 4, 5)) * 0.16666666666666 + del tmp313 + rdm2.oovv += np.transpose(tmp314, (0, 1, 3, 2)) * 2 + del tmp314 + tmp315 = einsum(tmp253, (0, 1, 2, 3, 4, 5), l3, (6, 7, 5, 0, 2, 1), (6, 7, 3, 4)) * -1 + del tmp253 + tmp316 = einsum(tmp315, (0, 1, 2, 3), t1, (4, 1), (4, 0, 3, 2)) * -2 + del tmp315 + tmp317 = einsum(tmp316, (0, 1, 2, 3), t1, (4, 1), (4, 0, 3, 2)) * -0.16666666666667 + del tmp316 + rdm2.oovv += np.transpose(tmp317, (1, 0, 3, 2)) * 2 + del tmp317 + tmp318 = einsum(l3, (0, 1, 2, 3, 4, 5), tmp20, (4, 6, 7, 1, 0, 2), (3, 5, 6, 7)) * 0.5 + del tmp20 + tmp319 = einsum(tmp318, (0, 1, 2, 3), t1, (1, 4), (0, 2, 3, 4)) * 0.6666666666666666 + del tmp318 + tmp320 = einsum(t1, (0, 1), tmp319, (0, 2, 3, 4), (2, 3, 1, 4)) * -0.50000000000001 + del tmp319 + rdm2.oovv += tmp320 * -2 + del tmp320 + tmp321 = einsum(t2, (0, 1, 2, 3), tmp123, (1, 4, 2, 5), (4, 0, 5, 3)) + rdm2.oovv += np.transpose(tmp321, (1, 0, 3, 2)) * 2 + del tmp321 + tmp322 = einsum(tmp133, (0, 1, 2, 3), t2, (4, 0, 2, 5), (1, 4, 3, 5)) + rdm2.oovv += np.transpose(tmp322, (1, 0, 2, 3)) * 2 + del tmp322 + rdm2.oovv += np.transpose(tmp285, (1, 0, 3, 2)) * 2 + del tmp285 + tmp323 = einsum(t1, (0, 1), tmp290, (0, 2, 3, 4), (2, 3, 1, 4)) + del tmp290 + rdm2.oovv += np.transpose(tmp323, (1, 0, 3, 2)) * 2 + del tmp323 + rdm2.oovv += np.transpose(tmp191, (1, 0, 3, 2)) * 2 + del tmp191 + rdm2.oovv += einsum(t1, (0, 1), tmp39, (2, 3), (0, 2, 1, 3)) * -2 + rdm2.oovv += t2 * 2 + tmp327 = np.copy(tmp310) + del tmp310 + tmp327 += tmp201 * -1 + del tmp201 + tmp324 = np.copy(tmp123) + del tmp123 + tmp324 += np.transpose(tmp193, (1, 0, 3, 2)) * -1 + del tmp193 + tmp325 = einsum(t1, (0, 1), tmp324, (2, 3, 1, 4), (0, 2, 3, 4)) + del tmp324 + tmp326 = einsum(t1, (0, 1), tmp325, (2, 0, 3, 4), (2, 3, 1, 4)) + del tmp325 + tmp327 += tmp326 + del tmp326 + tmp327 += einsum(t1, (0, 1), tmp41, (2, 3), (0, 2, 1, 3)) + del tmp41 + rdm2.oovv += tmp327 * 2 + rdm2.oovv += np.transpose(tmp327, (1, 0, 3, 2)) * 2 + del tmp327 + tmp329 = einsum(t2, (0, 1, 2, 3), tmp328, (2, 3, 4, 5), (0, 1, 4, 5)) + tmp354 = np.copy(tmp329) * 0.49999999999997996 + del tmp329 + tmp330 = einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 7, 4, 2, 8, 1), (3, 5, 6, 7, 0, 8)) + tmp331 = einsum(tmp330, (0, 1, 2, 3, 4, 5), t2, (1, 0, 6, 4), (2, 3, 6, 5)) * -1 + del tmp330 + tmp354 += tmp331 * 0.5 + del tmp331 + tmp332 = einsum(t2, (0, 1, 2, 3), tmp23, (1, 0, 4, 5), (4, 5, 3, 2)) + del tmp23 + tmp354 += tmp332 * 0.49999999999997996 + del tmp332 + tmp333 = einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 7, 5, 0, 8, 2), (3, 4, 6, 7, 1, 8)) + tmp334 = einsum(tmp333, (0, 1, 2, 3, 4, 5), t2, (1, 0, 4, 6), (2, 3, 6, 5)) + del tmp333 + tmp354 += tmp334 * -0.5 + del tmp334 + tmp335 = einsum(l3, (0, 1, 2, 3, 4, 5), tmp179, (5, 6, 2, 1), (3, 4, 6, 0)) * 2 + tmp336 = np.copy(tmp335) + del tmp335 + tmp336 += np.transpose(tmp86, (1, 0, 2, 3)) + del tmp86 + tmp337 = einsum(tmp336, (0, 1, 2, 3), t3, (0, 4, 1, 5, 6, 3), (4, 2, 5, 6)) * -0.25 + del tmp336 + tmp354 += np.transpose(tmp337, (1, 0, 2, 3)) * -1 + del tmp337 + tmp338 = einsum(t3, (0, 1, 2, 3, 4, 5), l3, (6, 5, 3, 7, 8, 2), (7, 8, 0, 1, 6, 4)) + tmp339 = einsum(tmp338, (0, 1, 2, 3, 4, 5), tmp9, (0, 1, 6, 4), (2, 3, 6, 5)) * 0.5 + del tmp9, tmp338 + tmp354 += tmp339 + del tmp339 + tmp354 += tmp216 + del tmp216 + tmp340 = np.copy(tmp124) + tmp340 += np.transpose(tmp127, (1, 0, 3, 2)) * -1 + tmp340 += tmp129 * -1 + tmp341 = einsum(t2, (0, 1, 2, 3), tmp340, (1, 4, 2, 5), (0, 4, 3, 5)) + del tmp340 + tmp354 += tmp341 * -1 + del tmp341 + tmp354 += np.transpose(tmp221, (1, 0, 2, 3)) * -1 + del tmp221 + tmp347 = np.copy(tmp342) * -1 + del tmp342 + tmp343 = einsum(tmp328, (0, 1, 2, 3), t1, (4, 1), (4, 0, 2, 3)) + del tmp328 + tmp347 += tmp343 * 0.50000000000001 + del tmp343 + tmp347 += tmp344 + del tmp344 + tmp347 += np.transpose(tmp346, (0, 2, 1, 3)) + del tmp346 + tmp348 = einsum(tmp347, (0, 1, 2, 3), t1, (4, 1), (4, 0, 2, 3)) + del tmp347 + tmp354 += tmp348 + del tmp348 + tmp352 = np.copy(tmp113) * -1 + del tmp113 + tmp352 += tmp115 + del tmp115 + tmp352 += np.transpose(tmp122, (1, 0, 2, 3)) + del tmp122 + tmp349 = np.copy(tmp124) + del tmp124 + tmp349 += tmp125 * -1 + del tmp125 + tmp349 += np.transpose(tmp127, (1, 0, 3, 2)) * -1 + del tmp127 + tmp349 += tmp129 * -1 + del tmp129 + tmp350 = einsum(t1, (0, 1), tmp349, (2, 3, 1, 4), (0, 2, 3, 4)) + del tmp349 + tmp352 += np.transpose(tmp350, (1, 0, 2, 3)) * -1 + del tmp350 + tmp351 = einsum(t1, (0, 1), tmp26, (2, 0, 3, 4), (2, 3, 4, 1)) + del tmp26 + tmp352 += tmp351 + del tmp351 + tmp353 = einsum(t1, (0, 1), tmp352, (0, 2, 3, 4), (2, 3, 1, 4)) + del tmp352 + tmp354 += tmp353 + del tmp353 + tmp354 += np.transpose(tmp239, (0, 1, 3, 2)) * -1 + del tmp239 + tmp354 += einsum(t1, (0, 1), tmp245, (2, 3), (0, 2, 1, 3)) * 1.5 + del tmp245 + rdm2.oovv += tmp354 * 2 + rdm2.oovv += np.transpose(tmp354, (1, 0, 3, 2)) * 2 + del tmp354 + tmp355 = einsum(tmp27, (0, 1, 2, 3), t3, (4, 0, 1, 5, 6, 3), (2, 4, 5, 6)) * -1 + del tmp27 + tmp373 = np.copy(tmp355) + del tmp355 + tmp356 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp24, (2, 1, 6, 5), (6, 0, 3, 4)) + del tmp24 + tmp373 += tmp356 * -1 + del tmp356 + tmp357 = einsum(t3, (0, 1, 2, 3, 4, 5), l3, (6, 4, 5, 7, 8, 2), (7, 8, 0, 1, 6, 3)) + tmp359 = np.copy(tmp357) + del tmp357 + tmp358 = einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 7, 4, 8, 2, 1), (3, 5, 6, 7, 0, 8)) + tmp359 += np.transpose(tmp358, (1, 0, 2, 3, 4, 5)) * -1 + del tmp358 + tmp360 = einsum(t2, (0, 1, 2, 3), tmp359, (0, 1, 4, 5, 2, 6), (4, 5, 3, 6)) + del tmp359 + tmp373 += tmp360 * -1 + del tmp360 + tmp361 = np.copy(tmp134) + tmp361 += tmp135 + tmp362 = einsum(t2, (0, 1, 2, 3), tmp361, (1, 4, 2, 5), (0, 4, 3, 5)) * 0.5 + del tmp361 + tmp373 += tmp362 + del tmp362 + tmp366 = np.copy(tmp363) * -1 + del tmp363 + tmp366 += tmp304 + del tmp304 + tmp366 += tmp364 + del tmp364 + tmp365 = einsum(tmp179, (0, 1, 2, 3), tmp114, (0, 3, 4, 5), (1, 4, 5, 2)) + del tmp114, tmp179 + tmp366 += np.transpose(tmp365, (0, 1, 3, 2)) + del tmp365 + tmp367 = einsum(tmp366, (0, 1, 2, 3), t1, (4, 1), (4, 0, 2, 3)) + del tmp366 + tmp373 += tmp367 + del tmp367 + tmp371 = np.copy(tmp34) * -1 + del tmp34 + tmp371 += tmp116 + del tmp116 + tmp368 = einsum(t1, (0, 1), tmp28, (2, 0, 3, 4), (2, 3, 4, 1)) + del tmp28 + tmp371 += tmp368 + del tmp368 + tmp371 += np.transpose(tmp118, (1, 0, 2, 3)) * -1 + del tmp118 + tmp371 += np.transpose(tmp121, (1, 0, 2, 3)) + del tmp121 + tmp369 = np.copy(tmp134) + del tmp134 + tmp369 += tmp135 + del tmp135 + tmp369 += tmp136 * 2 + del tmp136 + tmp370 = einsum(t1, (0, 1), tmp369, (2, 3, 1, 4), (0, 2, 3, 4)) * 0.5 + del tmp369 + tmp371 += np.transpose(tmp370, (1, 0, 2, 3)) + del tmp370 + tmp372 = einsum(t1, (0, 1), tmp371, (0, 2, 3, 4), (2, 3, 1, 4)) + del tmp371 + tmp373 += tmp372 + del tmp372 + rdm2.oovv += np.transpose(tmp373, (0, 1, 3, 2)) * 2 + rdm2.oovv += np.transpose(tmp373, (1, 0, 2, 3)) * 2 + del tmp373 + tmp377 = np.copy(tmp199) + del tmp199 + tmp375 = np.copy(tmp71) + del tmp71 + tmp374 = einsum(t1, (0, 1), tmp133, (2, 3, 1, 4), (2, 0, 3, 4)) + del tmp133 + tmp375 += tmp374 * -1 + del tmp374 + tmp376 = einsum(t1, (0, 1), tmp375, (0, 2, 3, 4), (2, 3, 1, 4)) + del tmp375 + tmp377 += tmp376 + del tmp376 + rdm2.oovv += np.transpose(tmp377, (0, 1, 3, 2)) * -2 + rdm2.oovv += np.transpose(tmp377, (1, 0, 2, 3)) * -2 + del tmp377 + tmp378 = einsum(t2, (0, 1, 2, 3), tmp35, (1, 3, 4, 5), (0, 4, 2, 5)) * -1 + del tmp35 + tmp379 = einsum(tmp378, (0, 1, 2, 3), t1, (4, 1), (4, 0, 2, 3)) + del tmp378 + rdm2.oovv += np.transpose(tmp379, (0, 1, 3, 2)) * 4 + rdm2.oovv += np.transpose(tmp379, (1, 0, 2, 3)) * 2 + del tmp379 + rdm2.oovv += tmp194 * 4 + del tmp194 + tmp381 = np.copy(tmp287) + del tmp287 + tmp380 = einsum(tmp259, (0, 1, 2, 3), t2, (4, 0, 5, 3), (4, 5, 2, 1)) + del tmp259 + tmp381 += np.transpose(tmp380, (0, 2, 3, 1)) + del tmp380 + tmp382 = einsum(tmp381, (0, 1, 2, 3), t1, (4, 1), (4, 0, 2, 3)) + del tmp381 + rdm2.oovv += tmp382 * 2 + del tmp382 + tmp383 = einsum(tmp81, (0, 1, 2, 3), t2, (4, 0, 5, 2), (4, 5, 1, 3)) * -1 + del tmp81 + tmp384 = einsum(tmp383, (0, 1, 2, 3), t1, (4, 2), (4, 0, 1, 3)) + del tmp383 + rdm2.oovv += np.transpose(tmp384, (1, 0, 2, 3)) * -2 + del tmp384 + tmp385 = np.copy(t1) + tmp385 += tmp39 * -1 + del tmp39 + rdm2.oovv += einsum(tmp385, (0, 1), t1, (2, 3), (0, 2, 1, 3)) * 2 + del tmp385 + rdm2 = pack_2e(rdm2.oooo, rdm2.ooov, rdm2.oovo, rdm2.ovoo, rdm2.vooo, rdm2.oovv, rdm2.ovov, rdm2.ovvo, rdm2.voov, rdm2.vovo, rdm2.vvoo, rdm2.ovvv, rdm2.vovv, rdm2.vvov, rdm2.vvvo, rdm2.vvvv) + rdm2 = np.transpose(rdm2, (0, 2, 1, 3)) + + return rdm2 + +def hbar_matvec_ip_intermediates(f=None, t1=None, t2=None, t3=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-10-22T08:59:11.896724. + + Parameters + ---------- + f : array + Fock matrix. + t1 : array + T1 amplitudes. + t2 : array + T2 amplitudes. + t3 : array + T3 amplitudes. + v : array + Electron repulsion integrals. + + Returns + ------- + tmp0 : array + tmp102 : array + tmp104 : array + tmp106 : array + tmp107 : array + tmp108 : array + tmp109 : array + tmp113 : array + tmp118 : array + tmp119 : array + tmp120 : array + tmp121 : array + tmp122 : array + tmp123 : array + tmp127 : array + tmp128 : array + tmp129 : array + tmp130 : array + tmp139 : array + tmp140 : array + tmp141 : array + tmp142 : array + tmp143 : array + tmp144 : array + tmp149 : array + tmp150 : array + tmp151 : array + tmp154 : array + tmp160 : array + tmp161 : array + tmp162 : array + tmp163 : array + tmp165 : array + tmp166 : array + tmp169 : array + tmp17 : array + tmp176 : array + tmp178 : array + tmp181 : array + tmp19 : array + tmp190 : array + tmp192 : array + tmp194 : array + tmp196 : array + tmp201 : array + tmp207 : array + tmp209 : array + tmp21 : array + tmp215 : array + tmp216 : array + tmp217 : array + tmp219 : array + tmp22 : array + tmp221 : array + tmp224 : array + tmp227 : array + tmp228 : array + tmp23 : array + tmp24 : array + tmp240 : array + tmp241 : array + tmp244 : array + tmp245 : array + tmp257 : array + tmp259 : array + tmp265 : array + tmp266 : array + tmp267 : array + tmp268 : array + tmp27 : array + tmp274 : array + tmp275 : array + tmp28 : array + tmp280 : array + tmp282 : array + tmp284 : array + tmp286 : array + tmp288 : array + tmp290 : array + tmp30 : array + tmp308 : array + tmp309 : array + tmp310 : array + tmp312 : array + tmp315 : array + tmp32 : array + tmp325 : array + tmp327 : array + tmp330 : array + tmp334 : array + tmp34 : array + tmp341 : array + tmp343 : array + tmp345 : array + tmp352 : array + tmp353 : array + tmp354 : array + tmp356 : array + tmp36 : array + tmp363 : array + tmp364 : array + tmp365 : array + tmp366 : array + tmp374 : array + tmp375 : array + tmp38 : array + tmp386 : array + tmp393 : array + tmp394 : array + tmp415 : array + tmp416 : array + tmp417 : array + tmp419 : array + tmp420 : array + tmp421 : array + tmp422 : array + tmp423 : array + tmp424 : array + tmp426 : array + tmp428 : array + tmp432 : array + tmp434 : array + tmp442 : array + tmp452 : array + tmp453 : array + tmp454 : array + tmp455 : array + tmp461 : array + tmp466 : array + tmp47 : array + tmp474 : array + tmp475 : array + tmp476 : array + tmp479 : array + tmp48 : array + tmp483 : array + tmp49 : array + tmp493 : array + tmp5 : array + tmp50 : array + tmp500 : array + tmp501 : array + tmp503 : array + tmp505 : array + tmp506 : array + tmp508 : array + tmp509 : array + tmp51 : array + tmp512 : array + tmp519 : array + tmp52 : array + tmp521 : array + tmp527 : array + tmp53 : array + tmp54 : array + tmp56 : array + tmp57 : array + tmp6 : array + tmp60 : array + tmp63 : array + tmp64 : array + tmp66 : array + tmp67 : array + tmp69 : array + tmp70 : array + tmp71 : array + tmp72 : array + tmp73 : array + tmp74 : array + tmp75 : array + tmp76 : array + tmp77 : array + tmp79 : array + tmp93 : array + tmp94 : array + tmp95 : array + tmp96 : array + tmp98 : array + """ + + tmp38 = einsum(v.oovv, (0, 1, 2, 3), t1, (1, 3), (0, 2)) + tmp56 = einsum(f.ov, (0, 1), t2, (2, 0, 1, 3), (2, 3)) + tmp69 = einsum(v.ovov, (0, 1, 2, 3), t3, (4, 2, 0, 1, 5, 3), (4, 5)) + tmp77 = einsum(t1, (0, 1), f.oo, (2, 0), (2, 1)) + tmp113 = einsum(t1, (0, 1), f.vv, (2, 1), (0, 2)) + tmp118 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 3, 4, 2), (0, 4)) + tmp207 = einsum(v.oooo, (0, 1, 2, 3), t2, (4, 3, 5, 6), (4, 0, 1, 2, 5, 6)) + tmp493 = einsum(v.vvvv, (0, 1, 2, 3), t2, (4, 5, 1, 3), (4, 5, 0, 2)) + tmp53 = einsum(t1, (0, 1), v.ooov, (2, 3, 4, 1), (0, 2, 3, 4)) + tmp54 = einsum(t1, (0, 1), tmp53, (2, 3, 0, 4), (2, 3, 4, 1)) + tmp57 = einsum(t2, (0, 1, 2, 3), f.ov, (1, 3), (0, 2)) + tmp70 = einsum(v.ovov, (0, 1, 2, 3), t3, (4, 2, 0, 5, 1, 3), (4, 5)) + tmp71 = einsum(v.ovov, (0, 1, 2, 3), t3, (4, 2, 0, 5, 3, 1), (4, 5)) + tmp72 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovov, (0, 3, 2, 5), (1, 4)) + tmp93 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 1, 0, 3), (4, 2)) + tmp94 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 0, 1, 3), (4, 2)) + tmp119 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 2, 4, 3), (0, 4)) + tmp151 = einsum(f.vv, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4)) + tmp160 = einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 0, 1, 6, 3), (4, 5, 6, 2)) + tmp161 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovvv, (2, 5, 6, 4), (0, 1, 3, 6)) + tmp165 = einsum(t1, (0, 1), v.ooov, (2, 0, 3, 4), (2, 3, 1, 4)) + tmp166 = einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 2), (0, 4, 3, 5)) + tmp169 = einsum(v.oovv, (0, 1, 2, 3), t2, (4, 1, 5, 3), (4, 0, 5, 2)) + tmp176 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovov, (6, 5, 2, 4), (0, 1, 6, 3)) + tmp178 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovov, (6, 5, 1, 4), (0, 2, 6, 3)) + tmp192 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovvv, (6, 3, 7, 5), (0, 2, 1, 6, 4, 7)) + tmp201 = einsum(t2, (0, 1, 2, 3), f.oo, (4, 1), (4, 0, 2, 3)) + tmp215 = einsum(v.ooov, (0, 1, 2, 3), t3, (2, 4, 1, 5, 6, 3), (4, 0, 5, 6)) * -1 + tmp216 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ooov, (6, 1, 2, 5), (0, 6, 3, 4)) + tmp217 = einsum(v.ooov, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (4, 5, 0, 2, 6, 7)) + tmp219 = einsum(v.ooov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 3), (4, 5, 0, 1, 6, 7)) + tmp240 = einsum(v.ooov, (0, 1, 2, 3), t3, (4, 1, 5, 6, 7, 3), (4, 5, 0, 2, 6, 7)) + tmp244 = einsum(f.ov, (0, 1), t3, (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) + tmp245 = einsum(f.ov, (0, 1), t3, (2, 3, 4, 5, 6, 1), (0, 2, 4, 3, 5, 6)) + tmp286 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovvv, (6, 5, 7, 4), (0, 2, 1, 6, 3, 7)) + tmp393 = einsum(v.oooo, (0, 1, 2, 3), t2, (1, 3, 4, 5), (0, 2, 4, 5)) + tmp434 = einsum(v.oovv, (0, 1, 2, 3), t2, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) + tmp5 = einsum(t1, (0, 1), v.ooov, (2, 0, 3, 1), (2, 3)) + tmp108 = einsum(t1, (0, 1), tmp5, (2, 0), (2, 1)) + tmp6 = einsum(t1, (0, 1), v.ooov, (2, 3, 0, 1), (2, 3)) + tmp109 = einsum(tmp6, (0, 1), t1, (1, 2), (0, 2)) + tmp28 = einsum(v.ovvv, (0, 1, 2, 3), t1, (0, 1), (2, 3)) + tmp120 = einsum(t1, (0, 1), tmp28, (2, 1), (0, 2)) + tmp30 = einsum(v.ovvv, (0, 1, 2, 3), t1, (0, 3), (1, 2)) + tmp121 = einsum(t1, (0, 1), tmp30, (1, 2), (0, 2)) + tmp0 = einsum(f.ov, (0, 1), t1, (2, 1), (0, 2)) + tmp129 = einsum(tmp0, (0, 1), t1, (0, 2), (1, 2)) + tmp98 = einsum(v.ovov, (0, 1, 2, 3), t2, (0, 2, 4, 3), (4, 1)) + tmp274 = einsum(tmp98, (0, 1), t2, (2, 3, 4, 1), (2, 3, 4, 0)) + tmp96 = einsum(v.ovov, (0, 1, 2, 3), t2, (0, 2, 4, 1), (4, 3)) + tmp275 = einsum(tmp96, (0, 1), t2, (2, 3, 4, 1), (2, 3, 4, 0)) + tmp130 = einsum(t1, (0, 1), v.oovv, (2, 3, 4, 1), (0, 2, 3, 4)) + tmp330 = einsum(t1, (0, 1), tmp130, (2, 3, 0, 4), (2, 3, 1, 4)) + tmp341 = einsum(t2, (0, 1, 2, 3), tmp53, (4, 5, 1, 6), (4, 0, 5, 6, 2, 3)) + tmp343 = einsum(t2, (0, 1, 2, 3), tmp53, (4, 5, 6, 1), (4, 0, 5, 6, 2, 3)) + tmp17 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 2, 3, 1), (4, 0)) + tmp363 = einsum(tmp17, (0, 1), t2, (2, 1, 3, 4), (2, 0, 3, 4)) + tmp19 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 2, 1, 3), (4, 0)) + tmp364 = einsum(tmp19, (0, 1), t2, (2, 1, 3, 4), (2, 0, 3, 4)) + tmp144 = einsum(t1, (0, 1), tmp53, (2, 3, 4, 0), (2, 3, 4, 1)) + tmp386 = einsum(t1, (0, 1), tmp144, (2, 3, 0, 4), (2, 3, 1, 4)) + tmp60 = einsum(t1, (0, 1), v.oooo, (2, 3, 4, 0), (2, 3, 4, 1)) + tmp394 = einsum(t1, (0, 1), tmp60, (2, 0, 3, 4), (3, 2, 4, 1)) + tmp67 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 2, 1, 5), (0, 4, 3, 5)) + tmp419 = einsum(tmp67, (0, 1, 2, 3), t2, (4, 1, 5, 3), (4, 0, 5, 2)) + tmp49 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 2, 5, 1), (4, 0, 5, 3)) + tmp420 = einsum(t2, (0, 1, 2, 3), tmp49, (4, 1, 5, 3), (4, 0, 5, 2)) + tmp51 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 5, 1, 2), (0, 4, 3, 5)) + tmp421 = einsum(tmp51, (0, 1, 2, 3), t2, (4, 1, 5, 3), (4, 0, 5, 2)) + tmp47 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 2, 5, 3), (4, 0, 5, 1)) + tmp422 = einsum(tmp47, (0, 1, 2, 3), t2, (4, 1, 5, 3), (0, 4, 2, 5)) + tmp423 = einsum(t2, (0, 1, 2, 3), tmp51, (4, 1, 5, 2), (4, 0, 5, 3)) + tmp424 = einsum(tmp47, (0, 1, 2, 3), t2, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) + tmp426 = einsum(tmp49, (0, 1, 2, 3), t2, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) + tmp428 = einsum(tmp51, (0, 1, 2, 3), t2, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) + tmp461 = einsum(t2, (0, 1, 2, 3), tmp67, (4, 5, 6, 3), (0, 1, 4, 5, 2, 6)) + tmp34 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 2, 5, 3), (0, 1, 4, 5)) + tmp500 = einsum(tmp34, (0, 1, 2, 3), t2, (2, 3, 4, 5), (0, 1, 4, 5)) + tmp501 = einsum(t2, (0, 1, 2, 3), tmp34, (4, 5, 6, 1), (4, 5, 0, 6, 2, 3)) + tmp27 = einsum(t1, (0, 1), v.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) + tmp509 = einsum(t1, (0, 1), tmp27, (2, 3, 0, 4), (2, 3, 1, 4)) + tmp518 = einsum(v.vvvv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) + tmp519 = einsum(tmp518, (0, 1, 2, 3), t1, (4, 2), (0, 4, 3, 1)) + del tmp518 + tmp527 = einsum(tmp67, (0, 1, 2, 3), t2, (4, 1, 3, 5), (0, 4, 2, 5)) + tmp73 = einsum(tmp67, (0, 1, 2, 3), t1, (1, 3), (0, 2)) + tmp74 = einsum(t1, (0, 1), tmp49, (2, 0, 3, 1), (2, 3)) + tmp75 = einsum(tmp51, (0, 1, 2, 3), t1, (1, 3), (0, 2)) + tmp76 = einsum(t1, (0, 1), tmp47, (2, 0, 3, 1), (2, 3)) + tmp139 = einsum(tmp98, (0, 1), t1, (2, 1), (2, 0)) + tmp140 = einsum(t1, (0, 1), tmp96, (2, 1), (0, 2)) + tmp142 = einsum(tmp19, (0, 1), t1, (1, 2), (0, 2)) + tmp143 = einsum(tmp17, (0, 1), t1, (1, 2), (0, 2)) + tmp21 = einsum(v.ovov, (0, 1, 2, 3), t1, (2, 1), (0, 3)) + tmp22 = einsum(t1, (0, 1), tmp21, (2, 1), (0, 2)) + tmp149 = einsum(tmp22, (0, 1), t1, (1, 2), (0, 2)) + tmp23 = einsum(t1, (0, 1), v.ovov, (2, 3, 0, 1), (2, 3)) + tmp24 = einsum(tmp23, (0, 1), t1, (2, 1), (2, 0)) + tmp150 = einsum(t1, (0, 1), tmp24, (2, 0), (2, 1)) + tmp162 = einsum(tmp28, (0, 1), t2, (2, 3, 4, 1), (2, 3, 4, 0)) + tmp163 = einsum(tmp30, (0, 1), t2, (2, 3, 4, 0), (2, 3, 4, 1)) + tmp180 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), (0, 1, 4, 5, 6, 2)) + tmp181 = einsum(tmp180, (0, 1, 2, 3, 4, 5), t1, (3, 6), (0, 1, 2, 4, 6, 5)) + tmp194 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovov, (6, 3, 7, 5), (0, 2, 1, 6, 7, 4)) + tmp196 = einsum(t1, (0, 1), tmp194, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 1, 6)) * -1 + tmp227 = einsum(t2, (0, 1, 2, 3), tmp5, (4, 1), (0, 4, 2, 3)) + tmp228 = einsum(tmp6, (0, 1), t2, (2, 1, 3, 4), (2, 0, 3, 4)) + tmp221 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovov, (6, 5, 2, 7), (0, 1, 6, 3, 4, 7)) + tmp265 = einsum(tmp221, (0, 1, 2, 3, 4, 5), t1, (2, 5), (0, 1, 3, 4)) + tmp224 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovov, (6, 7, 2, 5), (0, 1, 6, 3, 4, 7)) + tmp266 = einsum(tmp224, (0, 1, 2, 3, 4, 5), t1, (2, 5), (0, 1, 3, 4)) + tmp267 = einsum(tmp21, (0, 1), t3, (2, 3, 4, 5, 6, 1), (2, 4, 3, 0, 5, 6)) + tmp268 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp23, (6, 5), (0, 2, 1, 6, 3, 4)) + tmp288 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovov, (6, 5, 7, 4), (0, 2, 1, 6, 7, 3)) + tmp290 = einsum(tmp288, (0, 1, 2, 3, 4, 5), t1, (4, 6), (0, 1, 2, 3, 6, 5)) + tmp282 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 3), (0, 2, 4, 5)) + tmp308 = einsum(tmp282, (0, 1, 2, 3), t1, (4, 2), (4, 0, 1, 3)) + tmp280 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 0, 5, 1), (4, 5, 2, 3)) + tmp309 = einsum(tmp280, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) + tmp284 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 2, 4, 5), (0, 3, 4, 5)) + tmp310 = einsum(tmp284, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) + tmp311 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 5, 6, 3), (4, 5, 0, 6, 1, 2)) + tmp312 = einsum(tmp311, (0, 1, 2, 3, 4, 5), t1, (6, 4), (6, 0, 1, 2, 3, 5)) + del tmp311 + tmp314 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 5, 6, 1), (4, 5, 0, 6, 2, 3)) + tmp315 = einsum(tmp314, (0, 1, 2, 3, 4, 5), t1, (6, 5), (6, 0, 1, 2, 3, 4)) + del tmp314 + tmp334 = einsum(tmp0, (0, 1), t2, (2, 0, 3, 4), (1, 2, 3, 4)) + tmp257 = einsum(v.ovov, (0, 1, 2, 3), t3, (0, 4, 2, 5, 6, 1), (4, 5, 6, 3)) * -1 + tmp352 = einsum(tmp257, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) + tmp259 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovov, (1, 6, 2, 5), (0, 3, 4, 6)) + tmp353 = einsum(tmp259, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) + tmp354 = einsum(tmp224, (0, 1, 2, 3, 4, 5), t1, (6, 5), (6, 0, 1, 2, 3, 4)) + tmp356 = einsum(tmp221, (0, 1, 2, 3, 4, 5), t1, (6, 5), (6, 0, 1, 2, 3, 4)) + tmp209 = einsum(v.ooov, (0, 1, 2, 3), t2, (2, 1, 4, 5), (0, 5, 4, 3)) + tmp374 = einsum(tmp209, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) + tmp241 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovov, (6, 5, 1, 7), (0, 2, 6, 3, 4, 7)) + tmp375 = einsum(tmp241, (0, 1, 2, 3, 4, 5), t1, (6, 5), (6, 0, 1, 2, 3, 4)) + tmp64 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 1, 3), (0, 4, 5, 2)) + tmp415 = einsum(t1, (0, 1), tmp64, (2, 3, 0, 4), (2, 3, 1, 4)) + tmp63 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 1, 5, 3), (0, 4, 5, 2)) + tmp416 = einsum(t1, (0, 1), tmp63, (2, 3, 0, 4), (2, 3, 1, 4)) + tmp66 = einsum(v.ooov, (0, 1, 2, 3), t2, (4, 2, 3, 5), (4, 0, 1, 5)) + tmp417 = einsum(t1, (0, 1), tmp66, (2, 3, 0, 4), (2, 3, 1, 4)) + tmp79 = einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), (0, 2, 3, 4)) + tmp432 = einsum(t1, (0, 1), tmp79, (0, 2, 3, 4), (2, 3, 1, 4)) + tmp442 = einsum(tmp180, (0, 1, 2, 3, 4, 5), t1, (4, 6), (0, 1, 2, 3, 6, 5)) + del tmp180 + tmp102 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovov, (6, 3, 2, 5), (0, 1, 6, 4)) + tmp452 = einsum(t1, (0, 1), tmp102, (2, 3, 0, 4), (2, 3, 1, 4)) + tmp104 = einsum(v.ovov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 1, 3), (4, 5, 0, 6)) + tmp453 = einsum(t1, (0, 1), tmp104, (2, 3, 0, 4), (2, 3, 1, 4)) + tmp122 = einsum(v.ovvv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) + tmp123 = einsum(t1, (0, 1), tmp122, (2, 3, 1, 4), (0, 2, 3, 4)) + tmp466 = einsum(t1, (0, 1), tmp123, (2, 3, 0, 4), (2, 3, 1, 4)) + tmp32 = einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 2, 5, 3), (0, 1, 4, 5)) + tmp479 = einsum(t1, (0, 1), tmp32, (2, 3, 0, 4), (2, 3, 1, 4)) + tmp190 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 2), (0, 3, 4, 5)) + tmp508 = einsum(tmp190, (0, 1, 2, 3), t1, (4, 2), (4, 0, 1, 3)) + tmp95 = einsum(v.ooov, (0, 1, 2, 3), t2, (4, 1, 3, 5), (4, 0, 2, 5)) + tmp521 = einsum(t1, (0, 1), tmp95, (2, 3, 0, 4), (2, 3, 1, 4)) + tmp154 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 5, 6, 3), (4, 5, 0, 2, 6, 1)) + tmp324 = einsum(t1, (0, 1), tmp154, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) + tmp325 = einsum(tmp324, (0, 1, 2, 3, 4, 5), t1, (4, 6), (0, 1, 2, 3, 6, 5)) + tmp327 = einsum(tmp324, (0, 1, 2, 3, 4, 5), t1, (3, 6), (0, 1, 2, 4, 6, 5)) + del tmp324 + tmp365 = einsum(tmp22, (0, 1), t2, (2, 1, 3, 4), (0, 2, 3, 4)) + tmp366 = einsum(t2, (0, 1, 2, 3), tmp24, (4, 1), (4, 0, 2, 3)) + tmp106 = einsum(t2, (0, 1, 2, 3), tmp21, (4, 3), (0, 1, 4, 2)) + tmp454 = einsum(t1, (0, 1), tmp106, (2, 3, 0, 4), (2, 3, 1, 4)) + tmp107 = einsum(t2, (0, 1, 2, 3), tmp23, (4, 3), (0, 1, 4, 2)) + tmp455 = einsum(t1, (0, 1), tmp107, (2, 3, 0, 4), (2, 3, 1, 4)) + tmp50 = einsum(t1, (0, 1), tmp49, (2, 3, 4, 1), (0, 2, 3, 4)) + tmp474 = einsum(t1, (0, 1), tmp50, (2, 3, 0, 4), (2, 3, 1, 4)) + tmp48 = einsum(t1, (0, 1), tmp47, (2, 3, 4, 1), (0, 2, 3, 4)) + tmp475 = einsum(t1, (0, 1), tmp48, (2, 3, 0, 4), (2, 3, 1, 4)) + tmp52 = einsum(t1, (0, 1), tmp51, (2, 3, 4, 1), (0, 2, 3, 4)) + tmp476 = einsum(t1, (0, 1), tmp52, (2, 3, 0, 4), (2, 3, 1, 4)) + tmp127 = einsum(tmp27, (0, 1, 2, 3), t1, (4, 3), (0, 4, 2, 1)) + tmp483 = einsum(tmp127, (0, 1, 2, 3), t2, (4, 2, 5, 6), (1, 0, 4, 3, 5, 6)) + tmp36 = einsum(t1, (0, 1), tmp34, (2, 3, 4, 0), (2, 3, 4, 1)) + tmp503 = einsum(t1, (0, 1), tmp36, (2, 3, 0, 4), (3, 2, 4, 1)) + tmp345 = einsum(t2, (0, 1, 2, 3), v.ovov, (0, 4, 1, 5), (3, 2, 5, 4)) + tmp504 = einsum(tmp345, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) + tmp505 = einsum(t1, (0, 1), tmp504, (2, 3, 4, 1), (2, 0, 4, 3)) + del tmp504 + tmp128 = einsum(t1, (0, 1), tmp127, (2, 3, 0, 4), (3, 2, 4, 1)) + tmp506 = einsum(tmp128, (0, 1, 2, 3), t1, (2, 4), (1, 0, 3, 4)) + tmp141 = einsum(t1, (0, 1), tmp67, (2, 3, 4, 1), (0, 2, 3, 4)) + tmp512 = einsum(t1, (0, 1), tmp141, (2, 3, 0, 4), (2, 3, 1, 4)) + + return {f"tmp0": tmp0, f"tmp102": tmp102, f"tmp104": tmp104, f"tmp106": tmp106, f"tmp107": tmp107, f"tmp108": tmp108, f"tmp109": tmp109, f"tmp113": tmp113, f"tmp118": tmp118, f"tmp119": tmp119, f"tmp120": tmp120, f"tmp121": tmp121, f"tmp122": tmp122, f"tmp123": tmp123, f"tmp127": tmp127, f"tmp128": tmp128, f"tmp129": tmp129, f"tmp130": tmp130, f"tmp139": tmp139, f"tmp140": tmp140, f"tmp141": tmp141, f"tmp142": tmp142, f"tmp143": tmp143, f"tmp144": tmp144, f"tmp149": tmp149, f"tmp150": tmp150, f"tmp151": tmp151, f"tmp154": tmp154, f"tmp160": tmp160, f"tmp161": tmp161, f"tmp162": tmp162, f"tmp163": tmp163, f"tmp165": tmp165, f"tmp166": tmp166, f"tmp169": tmp169, f"tmp17": tmp17, f"tmp176": tmp176, f"tmp178": tmp178, f"tmp181": tmp181, f"tmp19": tmp19, f"tmp190": tmp190, f"tmp192": tmp192, f"tmp194": tmp194, f"tmp196": tmp196, f"tmp201": tmp201, f"tmp207": tmp207, f"tmp209": tmp209, f"tmp21": tmp21, f"tmp215": tmp215, f"tmp216": tmp216, f"tmp217": tmp217, f"tmp219": tmp219, f"tmp22": tmp22, f"tmp221": tmp221, f"tmp224": tmp224, f"tmp227": tmp227, f"tmp228": tmp228, f"tmp23": tmp23, f"tmp24": tmp24, f"tmp240": tmp240, f"tmp241": tmp241, f"tmp244": tmp244, f"tmp245": tmp245, f"tmp257": tmp257, f"tmp259": tmp259, f"tmp265": tmp265, f"tmp266": tmp266, f"tmp267": tmp267, f"tmp268": tmp268, f"tmp27": tmp27, f"tmp274": tmp274, f"tmp275": tmp275, f"tmp28": tmp28, f"tmp280": tmp280, f"tmp282": tmp282, f"tmp284": tmp284, f"tmp286": tmp286, f"tmp288": tmp288, f"tmp290": tmp290, f"tmp30": tmp30, f"tmp308": tmp308, f"tmp309": tmp309, f"tmp310": tmp310, f"tmp312": tmp312, f"tmp315": tmp315, f"tmp32": tmp32, f"tmp325": tmp325, f"tmp327": tmp327, f"tmp330": tmp330, f"tmp334": tmp334, f"tmp34": tmp34, f"tmp341": tmp341, f"tmp343": tmp343, f"tmp345": tmp345, f"tmp352": tmp352, f"tmp353": tmp353, f"tmp354": tmp354, f"tmp356": tmp356, f"tmp36": tmp36, f"tmp363": tmp363, f"tmp364": tmp364, f"tmp365": tmp365, f"tmp366": tmp366, f"tmp374": tmp374, f"tmp375": tmp375, f"tmp38": tmp38, f"tmp386": tmp386, f"tmp393": tmp393, f"tmp394": tmp394, f"tmp415": tmp415, f"tmp416": tmp416, f"tmp417": tmp417, f"tmp419": tmp419, f"tmp420": tmp420, f"tmp421": tmp421, f"tmp422": tmp422, f"tmp423": tmp423, f"tmp424": tmp424, f"tmp426": tmp426, f"tmp428": tmp428, f"tmp432": tmp432, f"tmp434": tmp434, f"tmp442": tmp442, f"tmp452": tmp452, f"tmp453": tmp453, f"tmp454": tmp454, f"tmp455": tmp455, f"tmp461": tmp461, f"tmp466": tmp466, f"tmp47": tmp47, f"tmp474": tmp474, f"tmp475": tmp475, f"tmp476": tmp476, f"tmp479": tmp479, f"tmp48": tmp48, f"tmp483": tmp483, f"tmp49": tmp49, f"tmp493": tmp493, f"tmp5": tmp5, f"tmp50": tmp50, f"tmp500": tmp500, f"tmp501": tmp501, f"tmp503": tmp503, f"tmp505": tmp505, f"tmp506": tmp506, f"tmp508": tmp508, f"tmp509": tmp509, f"tmp51": tmp51, f"tmp512": tmp512, f"tmp519": tmp519, f"tmp52": tmp52, f"tmp521": tmp521, f"tmp527": tmp527, f"tmp53": tmp53, f"tmp54": tmp54, f"tmp56": tmp56, f"tmp57": tmp57, f"tmp6": tmp6, f"tmp60": tmp60, f"tmp63": tmp63, f"tmp64": tmp64, f"tmp66": tmp66, f"tmp67": tmp67, f"tmp69": tmp69, f"tmp70": tmp70, f"tmp71": tmp71, f"tmp72": tmp72, f"tmp73": tmp73, f"tmp74": tmp74, f"tmp75": tmp75, f"tmp76": tmp76, f"tmp77": tmp77, f"tmp79": tmp79, f"tmp93": tmp93, f"tmp94": tmp94, f"tmp95": tmp95, f"tmp96": tmp96, f"tmp98": tmp98} + +def hbar_matvec_ip(f=None, r1=None, r2=None, r3=None, t1=None, t2=None, t3=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-10-22T08:59:13.119259. + + Parameters + ---------- + f : array + Fock matrix. + r1 : array + R1 amplitudes. + r2 : array + R2 amplitudes. + r3 : array + R3 amplitudes. + t1 : array + T1 amplitudes. + t2 : array + T2 amplitudes. + t3 : array + T3 amplitudes. + v : array + Electron repulsion integrals. + + Returns + ------- + r1new : array + Updated R1 residuals. + r2new : array + Updated R2 residuals. + r3new : array + Updated R3 residuals. + """ + + ints = kwargs["ints"] + tmp0 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1))) + tmp0 += np.transpose(v.ovov, (0, 2, 1, 3)) * -1 + r1new = einsum(tmp0, (0, 1, 2, 3), r3, (1, 0, 4, 2, 3), (4,)) * 0.25 + tmp1 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1))) * -0.42857142857142855 + tmp1 += np.transpose(v.ovov, (0, 2, 1, 3)) + r1new += einsum(tmp1, (0, 1, 2, 3), r3, (4, 1, 0, 2, 3), (4,)) * -1.75 + del tmp1 + tmp2 = np.copy(v.ooov) * -0.5 + tmp2 += np.transpose(v.ovoo, (0, 2, 3, 1)) + r1new += einsum(r2, (0, 1, 2), tmp2, (0, 3, 1, 2), (3,)) * 2 + del tmp2 + tmp4 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1))) * -0.5 + tmp4 += np.transpose(v.ovov, (0, 2, 1, 3)) + tmp3 = np.copy(r2) + tmp3 += np.transpose(r2, (1, 0, 2)) * -0.5 + tmp5 = einsum(tmp4, (0, 1, 2, 3), tmp3, (0, 4, 2), (4, 1, 3)) * -2 + del tmp4 + r1new += einsum(t1, (0, 1), tmp5, (2, 0, 1), (2,)) * 2 + del tmp5 + tmp6 = np.copy(r2) * 2 + tmp6 += np.transpose(r2, (1, 0, 2)) * -1 + r1new += einsum(f.ov, (0, 1), tmp6, (0, 2, 1), (2,)) * -1 + del tmp6 + tmp7 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1))) + tmp7 += np.transpose(v.ovov, (0, 2, 1, 3)) * -0.5 + tmp8 = einsum(r2, (0, 1, 2), tmp7, (1, 0, 2, 3), (3,)) * 2 + r1new += einsum(t1, (0, 1), tmp8, (1,), (0,)) + del tmp8 + tmp9 = np.copy(f.oo) + tmp9 += ints.tmp0 + tmp9 += np.transpose(ints.tmp19, (1, 0)) * 2 + tmp9 += np.transpose(ints.tmp24, (1, 0)) * 2 + tmp9 += np.transpose(ints.tmp6, (1, 0)) * 2 + tmp9 += np.transpose(ints.tmp17, (1, 0)) * -1 + tmp9 += np.transpose(ints.tmp22, (1, 0)) * -1 + tmp9 += np.transpose(ints.tmp5, (1, 0)) * -1 + r1new += einsum(tmp9, (0, 1), r1, (0,), (1,)) * -1 + del tmp9 + r2new = einsum(r3, (0, 1, 2, 3, 4), v.ovvv, (2, 3, 5, 4), (1, 0, 5)) + r2new += einsum(r3, (0, 1, 2, 3, 4), v.ooov, (5, 2, 1, 4), (0, 5, 3)) + r2new += einsum(r3, (0, 1, 2, 3, 4), v.ooov, (5, 1, 2, 3), (5, 0, 4)) * -1 + tmp10 = np.copy(v.ovvv) * -1 + tmp10 += np.transpose(v.ovvv, (0, 2, 1, 3)) + r2new += einsum(tmp10, (0, 1, 2, 3), r3, (4, 0, 5, 1, 2), (4, 5, 3)) * -0.5 + del tmp10 + tmp11 = np.copy(v.ooov) + tmp11 += np.transpose(v.ovoo, (0, 2, 3, 1)) * -1 + r2new += einsum(tmp11, (0, 1, 2, 3), r3, (2, 4, 0, 3, 5), (4, 1, 5)) * 0.5 + r2new += einsum(tmp11, (0, 1, 2, 3), r3, (0, 2, 4, 5, 3), (1, 4, 5)) * 0.5 + tmp12 = np.copy(ints.tmp47) * 2 + tmp12 += np.transpose(v.ovov, (0, 2, 1, 3)) + tmp12 += ints.tmp49 * -1 + tmp12 += ints.tmp51 * -1 + r2new += einsum(tmp3, (0, 1, 2), tmp12, (3, 0, 4, 2), (3, 1, 4)) * 2 + del tmp12 + tmp13 = np.copy(r3) + tmp13 += np.transpose(r3, (2, 0, 1, 4, 3)) * -1 + tmp14 = einsum(tmp7, (0, 1, 2, 3), tmp13, (4, 5, 0, 3, 6), (4, 5, 1, 6, 2)) * 2 + del tmp13 + r2new += einsum(t1, (0, 1), tmp14, (2, 3, 0, 4, 1), (3, 2, 4)) + del tmp14 + tmp15 = np.copy(ints.tmp67) + tmp15 += v.oovv * -1 + r2new += einsum(r2, (0, 1, 2), tmp15, (3, 1, 4, 2), (0, 3, 4)) + r2new += einsum(tmp15, (0, 1, 2, 3), r2, (1, 4, 3), (0, 4, 2)) + del tmp15 + tmp16 = np.copy(r3) + tmp16 += np.transpose(r3, (1, 2, 0, 4, 3)) * -1 + r2new += einsum(tmp16, (0, 1, 2, 3, 4), f.ov, (1, 4), (0, 2, 3)) * -1 + del tmp16 + tmp17 = np.copy(ints.tmp34) + tmp17 += np.transpose(v.oooo, (0, 2, 1, 3)) + r2new += einsum(r2, (0, 1, 2), tmp17, (3, 4, 0, 1), (3, 4, 2)) + del tmp17 + tmp18 = einsum(r2, (0, 1, 2), v.ooov, (3, 1, 0, 4), (3, 2, 4)) + tmp23 = np.copy(tmp18) * 0.5 + tmp19 = einsum(v.ovvv, (0, 1, 2, 3), r2, (0, 4, 3), (4, 1, 2)) + tmp23 += np.transpose(tmp19, (0, 2, 1)) * -0.5 + tmp20 = einsum(v.ovov, (0, 1, 2, 3), r3, (4, 0, 2, 3, 5), (4, 5, 1)) + tmp23 += tmp20 * -0.5 + tmp21 = einsum(r2, (0, 1, 2), v.ovov, (1, 3, 0, 4), (2, 4, 3)) + tmp23 += einsum(tmp21, (0, 1, 2), t1, (3, 2), (3, 0, 1)) * 0.5 + tmp23 += einsum(r3, (0, 1, 2, 3, 4), tmp0, (1, 0, 4, 5), (2, 3, 5)) * -0.25 + tmp22 = np.copy(r2) * -1 + tmp22 += np.transpose(r2, (1, 0, 2)) * 2 + tmp23 += einsum(v.ovvv, (0, 1, 2, 3), tmp22, (4, 0, 1), (4, 2, 3)) * 0.5 + r2new += einsum(tmp23, (0, 1, 2), t1, (3, 2), (3, 0, 1)) * 2 + del tmp23 + tmp24 = np.copy(f.vv) + tmp24 += np.transpose(ints.tmp28, (1, 0)) * 2 + del ints.tmp28 + tmp24 += np.transpose(ints.tmp96, (1, 0)) + del ints.tmp96 + tmp24 += ints.tmp30 * -1 + del ints.tmp30 + tmp24 += np.transpose(ints.tmp98, (1, 0)) * -2 + del ints.tmp98 + r2new += einsum(r2, (0, 1, 2), tmp24, (2, 3), (0, 1, 3)) + tmp25 = einsum(r2, (0, 1, 2), v.ooov, (3, 0, 1, 4), (3, 2, 4)) + tmp29 = np.copy(tmp25) + tmp26 = einsum(v.ovvv, (0, 1, 2, 3), r2, (4, 0, 3), (4, 1, 2)) + tmp29 += np.transpose(tmp26, (0, 2, 1)) * -1 + tmp27 = einsum(v.ovov, (0, 1, 2, 3), r3, (4, 0, 2, 5, 1), (4, 5, 3)) + tmp29 += tmp27 + tmp28 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1))) * -1 + tmp28 += np.transpose(v.ovov, (0, 2, 1, 3)) + tmp29 += einsum(tmp28, (0, 1, 2, 3), r3, (1, 4, 0, 2, 5), (4, 5, 3)) * -0.5 + r2new += einsum(tmp29, (0, 1, 2), t1, (3, 2), (0, 3, 1)) + del tmp29 + tmp30 = einsum(r2, (0, 1, 2), v.ooov, (3, 1, 4, 2), (0, 3, 4)) + tmp38 = np.copy(np.transpose(tmp30, (2, 0, 1))) * 0.5 + tmp31 = einsum(r2, (0, 1, 2), v.ooov, (3, 0, 4, 2), (1, 3, 4)) + tmp38 += np.transpose(tmp31, (2, 1, 0)) * 0.5 + tmp32 = einsum(r3, (0, 1, 2, 3, 4), v.ovov, (5, 4, 2, 3), (0, 1, 5)) + tmp38 += np.transpose(tmp32, (2, 1, 0)) * -0.5 + tmp33 = einsum(r2, (0, 1, 2), v.ovov, (3, 2, 1, 4), (0, 3, 4)) + tmp34 = einsum(tmp33, (0, 1, 2), t1, (3, 2), (0, 3, 1)) + tmp38 += np.transpose(tmp34, (2, 0, 1)) * 0.5 + tmp38 += einsum(r3, (0, 1, 2, 3, 4), tmp28, (1, 5, 4, 3), (5, 0, 2)) * 0.25 + del tmp28 + tmp38 += einsum(tmp22, (0, 1, 2), v.ooov, (3, 4, 1, 2), (3, 4, 0)) * -0.5 + tmp35 = np.copy(f.ov) + tmp35 += ints.tmp23 * 2 + tmp35 += ints.tmp21 * -1 + tmp38 += einsum(r2, (0, 1, 2), tmp35, (3, 2), (3, 0, 1)) * -0.5 + tmp36 = einsum(v.ovov, (0, 1, 2, 3), r2, (2, 4, 1), (4, 0, 3)) + tmp37 = np.copy(tmp36) + tmp37 += einsum(v.ovov, (0, 1, 2, 3), tmp3, (2, 4, 3), (4, 0, 1)) * -2 + del tmp3 + tmp38 += einsum(tmp37, (0, 1, 2), t1, (3, 2), (1, 3, 0)) * 0.5 + del tmp37 + r2new += einsum(t1, (0, 1), tmp38, (0, 2, 3), (2, 3, 1)) * 2 + del tmp38 + tmp39 = np.copy(np.transpose(ints.tmp106, (1, 0, 2, 3))) + tmp39 += ints.tmp128 + del ints.tmp128 + tmp39 += np.transpose(ints.tmp141, (1, 0, 2, 3)) + tmp39 += np.transpose(ints.tmp144, (1, 0, 2, 3)) + del ints.tmp144 + tmp39 += ints.tmp36 + del ints.tmp36 + tmp39 += ints.tmp50 + tmp39 += ints.tmp52 + tmp39 += ints.tmp54 + del ints.tmp54 + tmp39 += np.transpose(ints.tmp60, (0, 2, 1, 3)) + del ints.tmp60 + tmp39 += np.transpose(ints.tmp63, (1, 0, 2, 3)) + tmp39 += np.transpose(ints.tmp66, (1, 0, 2, 3)) + tmp39 += ints.tmp95 + tmp39 += ints.tmp102 * -1 + tmp39 += np.transpose(ints.tmp104, (1, 0, 2, 3)) * -1 + tmp39 += np.transpose(ints.tmp107, (1, 0, 2, 3)) * -2 + tmp39 += ints.tmp123 * -1 + tmp39 += np.transpose(ints.tmp130, (1, 0, 2, 3)) * -1 + tmp39 += ints.tmp27 * -1 + tmp39 += ints.tmp32 * -1 + tmp39 += ints.tmp48 * -2 + tmp39 += np.transpose(ints.tmp64, (1, 0, 2, 3)) * -2 + tmp39 += np.transpose(ints.tmp79, (2, 1, 0, 3)) * -1 + tmp39 += np.transpose(v.ooov, (0, 2, 1, 3)) * -1 + r2new += einsum(tmp39, (0, 1, 2, 3), r1, (2,), (1, 0, 3)) * -1 + del tmp39 + tmp40 = np.copy(f.oo) * 0.5 + tmp40 += ints.tmp0 * 0.5 + tmp40 += np.transpose(ints.tmp19, (1, 0)) + tmp40 += np.transpose(ints.tmp24, (1, 0)) + tmp40 += np.transpose(ints.tmp6, (1, 0)) + tmp40 += np.transpose(ints.tmp17, (1, 0)) * -0.5 + tmp40 += np.transpose(ints.tmp22, (1, 0)) * -0.5 + tmp40 += np.transpose(ints.tmp5, (1, 0)) * -0.5 + r2new += einsum(r2, (0, 1, 2), tmp40, (0, 3), (3, 1, 2)) * -2 + r2new += einsum(r2, (0, 1, 2), tmp40, (1, 3), (0, 3, 2)) * -2 + tmp41 = einsum(r2, (0, 1, 2), tmp7, (1, 0, 2, 3), (3,)) + del tmp7 + r2new += einsum(t2, (0, 1, 2, 3), tmp41, (3,), (0, 1, 2)) * -2 + tmp42 = np.copy(f.ov) + tmp42 += ints.tmp108 + tmp42 += ints.tmp113 + tmp42 += ints.tmp118 * 2 + tmp42 += ints.tmp120 * 2 + tmp42 += ints.tmp140 + tmp42 += ints.tmp143 + tmp42 += ints.tmp149 + tmp42 += ints.tmp23 * 2 + tmp42 += ints.tmp57 * 2 + tmp42 += ints.tmp69 * 0.5 + tmp42 += ints.tmp71 * 1.5 + tmp42 += ints.tmp72 * 0.5 + tmp42 += ints.tmp73 + tmp42 += ints.tmp76 * 4 + tmp42 += ints.tmp93 + tmp42 += ints.tmp109 * -2 + tmp42 += ints.tmp119 * -1 + tmp42 += ints.tmp121 * -1 + tmp42 += ints.tmp129 * -1 + tmp42 += ints.tmp139 * -2 + tmp42 += ints.tmp142 * -2 + tmp42 += ints.tmp150 * -2 + tmp42 += ints.tmp38 * -1 + tmp42 += ints.tmp56 * -1 + tmp42 += ints.tmp70 * -0.5 + tmp42 += ints.tmp74 * -2 + tmp42 += ints.tmp75 * -2 + tmp42 += ints.tmp77 * -1 + tmp42 += ints.tmp94 * -2 + r2new += einsum(r1, (0,), tmp42, (1, 2), (1, 0, 2)) * -1 + r3new = einsum(v.vvvv, (0, 1, 2, 3), r3, (4, 5, 6, 1, 3), (4, 5, 6, 0, 2)) + tmp43 = einsum(v.ovov, (0, 1, 2, 3), r3, (4, 5, 6, 1, 3), (4, 5, 6, 0, 2)) + r3new += einsum(tmp43, (0, 1, 2, 3, 4), t2, (4, 3, 5, 6), (0, 1, 2, 6, 5)) + tmp44 = einsum(v.ovov, (0, 1, 2, 3), r3, (4, 2, 5, 1, 6), (4, 5, 0, 6, 3)) + r3new += einsum(tmp44, (0, 1, 2, 3, 4), t2, (5, 2, 4, 6), (0, 5, 1, 6, 3)) + tmp45 = einsum(v.ovov, (0, 1, 2, 3), r3, (4, 5, 2, 6, 1), (4, 5, 0, 6, 3)) + r3new += einsum(tmp45, (0, 1, 2, 3, 4), t2, (5, 2, 6, 4), (0, 5, 1, 3, 6)) + r3new += einsum(ints.tmp194, (0, 1, 2, 3, 4, 5), r2, (3, 4, 6), (1, 2, 0, 6, 5)) + del ints.tmp194 + r3new += einsum(ints.tmp288, (0, 1, 2, 3, 4, 5), r2, (4, 3, 6), (1, 2, 0, 5, 6)) + del ints.tmp288 + r3new += einsum(ints.tmp241, (0, 1, 2, 3, 4, 5), r2, (6, 2, 5), (1, 6, 0, 3, 4)) + del ints.tmp241 + r3new += einsum(v.oovv, (0, 1, 2, 3), r3, (4, 1, 5, 3, 6), (4, 0, 5, 2, 6)) * -1 + tmp46 = einsum(r3, (0, 1, 2, 3, 4), v.oovv, (5, 2, 6, 3), (0, 1, 5, 4, 6)) + tmp51 = np.copy(tmp46) + del tmp46 + tmp47 = einsum(r3, (0, 1, 2, 3, 4), v.ovvv, (2, 5, 6, 3), (0, 1, 4, 5, 6)) + tmp48 = einsum(tmp47, (0, 1, 2, 3, 4), t1, (5, 3), (0, 1, 5, 2, 4)) + del tmp47 + tmp51 += tmp48 + del tmp48 + tmp49 = np.copy(ints.tmp102) + tmp49 += ints.tmp123 + tmp49 += ints.tmp27 + tmp49 += ints.tmp32 + tmp49 += ints.tmp48 * 2 + tmp50 = einsum(r2, (0, 1, 2), tmp49, (3, 4, 1, 5), (0, 3, 4, 2, 5)) + del tmp49 + tmp51 += np.transpose(tmp50, (1, 2, 0, 4, 3)) + del tmp50 + r3new += np.transpose(tmp51, (0, 1, 2, 4, 3)) * -1 + r3new += np.transpose(tmp51, (2, 1, 0, 4, 3)) + del tmp51 + tmp52 = einsum(r3, (0, 1, 2, 3, 4), v.ovvv, (1, 4, 5, 6), (0, 2, 3, 5, 6)) + tmp53 = einsum(tmp52, (0, 1, 2, 3, 4), t1, (5, 4), (0, 1, 5, 2, 3)) + del tmp52 + tmp61 = np.copy(tmp53) * -2 + del tmp53 + tmp54 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * 2 + tmp54 += t2 * -1 + tmp55 = einsum(v.ovov, (0, 1, 2, 3), r3, (4, 2, 5, 6, 3), (4, 5, 0, 6, 1)) + tmp56 = einsum(tmp54, (0, 1, 2, 3), tmp55, (4, 5, 0, 6, 3), (4, 5, 1, 6, 2)) * 2 + del tmp54 + tmp61 += tmp56 * -1 + del tmp56 + tmp57 = einsum(v.ooov, (0, 1, 2, 3), r3, (4, 2, 5, 6, 3), (4, 5, 0, 1, 6)) + tmp59 = np.copy(np.transpose(tmp57, (0, 1, 3, 2, 4))) + del tmp57 + tmp58 = einsum(tmp55, (0, 1, 2, 3, 4), t1, (5, 4), (0, 1, 5, 2, 3)) + tmp59 += np.transpose(tmp58, (0, 1, 3, 2, 4)) + del tmp58 + tmp60 = einsum(t1, (0, 1), tmp59, (2, 3, 0, 4, 5), (2, 3, 4, 1, 5)) * 2 + del tmp59 + tmp61 += np.transpose(tmp60, (0, 1, 2, 4, 3)) + del tmp60 + r3new += np.transpose(tmp61, (0, 2, 1, 3, 4)) * -1 + r3new += np.transpose(tmp61, (1, 0, 2, 4, 3)) * 0.5 + r3new += np.transpose(tmp61, (2, 0, 1, 4, 3)) * -0.5 + del tmp61 + tmp62 = einsum(r3, (0, 1, 2, 3, 4), ints.tmp34, (5, 6, 2, 1), (5, 6, 0, 3, 4)) + tmp69 = np.copy(tmp62) + del tmp62 + tmp63 = einsum(r2, (0, 1, 2), ints.tmp221, (3, 4, 1, 5, 6, 2), (3, 4, 0, 5, 6)) + tmp69 += tmp63 + del tmp63 + tmp64 = einsum(r3, (0, 1, 2, 3, 4), v.oovv, (5, 2, 6, 4), (0, 1, 5, 3, 6)) + tmp69 += tmp64 + del tmp64 + tmp65 = einsum(v.ovvv, (0, 1, 2, 3), r3, (4, 5, 0, 6, 3), (4, 5, 6, 1, 2)) + tmp66 = einsum(tmp65, (0, 1, 2, 3, 4), t1, (5, 3), (0, 1, 5, 2, 4)) + del tmp65 + tmp69 += tmp66 + del tmp66 + tmp67 = einsum(v.ovov, (0, 1, 2, 3), r3, (4, 2, 0, 3, 5), (4, 5, 1)) + tmp68 = einsum(t2, (0, 1, 2, 3), tmp67, (4, 5, 3), (4, 0, 1, 5, 2)) + del tmp67 + tmp69 += tmp68 * -0.5 + del tmp68 + r3new += tmp69 * -1 + r3new += np.transpose(tmp69, (2, 1, 0, 3, 4)) + del tmp69 + tmp70 = einsum(r3, (0, 1, 2, 3, 4), v.ovvv, (2, 3, 5, 6), (0, 1, 4, 5, 6)) + tmp71 = einsum(t1, (0, 1), tmp70, (2, 3, 4, 5, 1), (2, 3, 0, 4, 5)) + del tmp70 + tmp74 = np.copy(tmp71) + del tmp71 + tmp72 = einsum(r3, (0, 1, 2, 3, 4), v.ovov, (5, 6, 2, 3), (0, 1, 5, 4, 6)) + tmp73 = einsum(t2, (0, 1, 2, 3), tmp72, (4, 5, 1, 6, 3), (4, 5, 0, 6, 2)) + tmp74 += tmp73 * 2 + del tmp73 + r3new += np.transpose(tmp74, (0, 1, 2, 4, 3)) + r3new += np.transpose(tmp74, (0, 2, 1, 3, 4)) + r3new += np.transpose(tmp74, (2, 1, 0, 4, 3)) * -1 + del tmp74 + tmp75 = einsum(t2, (0, 1, 2, 3), tmp26, (4, 3, 5), (4, 0, 1, 2, 5)) + del tmp26 + tmp82 = np.copy(tmp75) + del tmp75 + tmp76 = np.copy(ints.tmp190) + del ints.tmp190 + tmp76 += np.transpose(ints.tmp257, (0, 1, 3, 2)) + del ints.tmp257 + tmp77 = einsum(tmp76, (0, 1, 2, 3), r2, (4, 5, 2), (4, 5, 0, 1, 3)) + del tmp76 + tmp82 += np.transpose(tmp77, (2, 0, 1, 3, 4)) + del tmp77 + tmp78 = np.copy(ints.tmp102) + tmp78 += ints.tmp123 + tmp78 += ints.tmp27 + tmp78 += ints.tmp32 + tmp79 = einsum(r2, (0, 1, 2), tmp78, (3, 4, 0, 5), (1, 3, 4, 2, 5)) + del tmp78 + tmp82 += np.transpose(tmp79, (1, 2, 0, 4, 3)) + del tmp79 + tmp80 = np.copy(ints.tmp343) + del ints.tmp343 + tmp80 += ints.tmp442 + del ints.tmp442 + tmp81 = einsum(tmp80, (0, 1, 2, 3, 4, 5), r1, (3,), (0, 1, 2, 4, 5)) + del tmp80 + tmp82 += tmp81 + del tmp81 + r3new += np.transpose(tmp82, (0, 1, 2, 4, 3)) + r3new += np.transpose(tmp82, (1, 0, 2, 3, 4)) + r3new += np.transpose(tmp82, (2, 0, 1, 3, 4)) * -1 + r3new += np.transpose(tmp82, (2, 1, 0, 4, 3)) * -1 + del tmp82 + tmp83 = einsum(ints.tmp341, (0, 1, 2, 3, 4, 5), r1, (3,), (0, 1, 2, 4, 5)) + del ints.tmp341 + tmp88 = np.copy(tmp83) + del tmp83 + tmp84 = einsum(r2, (0, 1, 2), v.ooov, (3, 0, 4, 5), (1, 3, 4, 2, 5)) + tmp88 += tmp84 + del tmp84 + tmp85 = einsum(r2, (0, 1, 2), v.ovvv, (1, 2, 3, 4), (0, 3, 4)) + tmp86 = np.copy(np.transpose(tmp85, (0, 2, 1))) + del tmp85 + tmp86 += tmp19 + del tmp19 + tmp87 = einsum(tmp86, (0, 1, 2), t2, (3, 4, 1, 5), (3, 4, 0, 5, 2)) + del tmp86 + tmp88 += np.transpose(tmp87, (2, 1, 0, 3, 4)) + del tmp87 + r3new += np.transpose(tmp88, (0, 1, 2, 4, 3)) * -1 + r3new += np.transpose(tmp88, (0, 2, 1, 3, 4)) * -1 + r3new += np.transpose(tmp88, (1, 2, 0, 3, 4)) + r3new += np.transpose(tmp88, (2, 1, 0, 4, 3)) + del tmp88 + tmp89 = einsum(v.ovvv, (0, 1, 2, 3), r2, (0, 4, 1), (4, 2, 3)) + tmp90 = einsum(t2, (0, 1, 2, 3), tmp89, (4, 5, 3), (4, 0, 1, 2, 5)) + del tmp89 + r3new += np.transpose(tmp90, (0, 1, 2, 4, 3)) * 2 + r3new += np.transpose(tmp90, (0, 2, 1, 3, 4)) * 2 + r3new += np.transpose(tmp90, (1, 2, 0, 3, 4)) * -2 + r3new += np.transpose(tmp90, (2, 1, 0, 4, 3)) * -2 + del tmp90 + tmp91 = einsum(ints.tmp181, (0, 1, 2, 3, 4, 5), r1, (3,), (0, 1, 2, 4, 5)) + del ints.tmp181 + tmp97 = np.copy(tmp91) + del tmp91 + tmp92 = einsum(r2, (0, 1, 2), v.oovv, (3, 4, 5, 2), (0, 1, 3, 4, 5)) + tmp95 = np.copy(np.transpose(tmp92, (0, 1, 3, 2, 4))) + del tmp92 + tmp93 = einsum(v.ovvv, (0, 1, 2, 3), r2, (4, 5, 3), (4, 5, 0, 1, 2)) + tmp94 = einsum(t1, (0, 1), tmp93, (2, 3, 4, 1, 5), (2, 3, 0, 4, 5)) + tmp95 += np.transpose(tmp94, (0, 1, 3, 2, 4)) + del tmp94 + tmp96 = einsum(t1, (0, 1), tmp95, (2, 3, 0, 4, 5), (2, 3, 4, 1, 5)) + del tmp95 + tmp97 += tmp96 + del tmp96 + r3new += np.transpose(tmp97, (0, 2, 1, 4, 3)) + r3new += np.transpose(tmp97, (1, 0, 2, 3, 4)) * -1 + r3new += np.transpose(tmp97, (2, 0, 1, 3, 4)) + r3new += np.transpose(tmp97, (1, 2, 0, 4, 3)) * -1 + del tmp97 + tmp98 = np.copy(ints.tmp207) + del ints.tmp207 + tmp98 += np.transpose(ints.tmp426, (0, 1, 3, 2, 4, 5)) + del ints.tmp426 + tmp98 += np.transpose(ints.tmp428, (0, 1, 3, 2, 4, 5)) + del ints.tmp428 + tmp99 = einsum(tmp98, (0, 1, 2, 3, 4, 5), r1, (2,), (0, 1, 3, 4, 5)) + del tmp98 + tmp105 = np.copy(tmp99) + del tmp99 + tmp100 = einsum(r2, (0, 1, 2), v.ovov, (3, 4, 5, 2), (0, 1, 3, 5, 4)) + tmp103 = np.copy(tmp100) + tmp101 = einsum(v.ovvv, (0, 1, 2, 3), r2, (4, 5, 1), (4, 5, 0, 2, 3)) + tmp102 = einsum(t1, (0, 1), tmp101, (2, 3, 4, 5, 1), (2, 3, 0, 4, 5)) + del tmp101 + tmp103 += tmp102 + del tmp102 + tmp104 = einsum(t1, (0, 1), tmp103, (2, 3, 4, 0, 5), (2, 3, 4, 1, 5)) + del tmp103 + tmp105 += tmp104 + del tmp104 + r3new += np.transpose(tmp105, (0, 2, 1, 3, 4)) + r3new += np.transpose(tmp105, (1, 0, 2, 4, 3)) * -1 + r3new += np.transpose(tmp105, (2, 0, 1, 4, 3)) + r3new += np.transpose(tmp105, (1, 2, 0, 3, 4)) * -1 + del tmp105 + tmp106 = einsum(v.oooo, (0, 1, 2, 3), r2, (4, 3, 5), (4, 0, 1, 2, 5)) + tmp107 = einsum(t1, (0, 1), tmp106, (2, 3, 0, 4, 5), (2, 4, 3, 5, 1)) + del tmp106 + tmp116 = np.copy(tmp107) + del tmp107 + tmp108 = einsum(t1, (0, 1), tmp100, (2, 3, 4, 5, 1), (2, 3, 0, 5, 4)) + del tmp100 + tmp109 = einsum(tmp108, (0, 1, 2, 3, 4), t1, (4, 5), (0, 1, 2, 3, 5)) + del tmp108 + tmp110 = einsum(t1, (0, 1), tmp109, (2, 3, 4, 0, 5), (2, 3, 4, 1, 5)) + del tmp109 + tmp116 += tmp110 + del tmp110 + tmp111 = np.copy(ints.tmp345) + del ints.tmp345 + tmp111 += np.transpose(v.vvvv, (0, 2, 1, 3)) + tmp112 = einsum(tmp111, (0, 1, 2, 3), r2, (4, 5, 2), (4, 5, 0, 1, 3)) + del tmp111 + tmp113 = einsum(tmp112, (0, 1, 2, 3, 4), t1, (5, 4), (5, 0, 1, 2, 3)) + del tmp112 + tmp116 += np.transpose(tmp113, (1, 2, 0, 3, 4)) + del tmp113 + tmp114 = np.copy(ints.tmp154) + del ints.tmp154 + tmp114 += ints.tmp424 * 2 + del ints.tmp424 + tmp115 = einsum(tmp114, (0, 1, 2, 3, 4, 5), r1, (3,), (0, 1, 2, 4, 5)) + del tmp114 + tmp116 += tmp115 + del tmp115 + r3new += np.transpose(tmp116, (0, 2, 1, 3, 4)) * -1 + r3new += np.transpose(tmp116, (1, 0, 2, 4, 3)) + r3new += np.transpose(tmp116, (2, 0, 1, 4, 3)) * -1 + r3new += np.transpose(tmp116, (1, 2, 0, 3, 4)) + del tmp116 + tmp117 = einsum(ints.tmp217, (0, 1, 2, 3, 4, 5), r1, (3,), (0, 1, 2, 4, 5)) + del ints.tmp217 + tmp131 = np.copy(tmp117) + del tmp117 + tmp118 = einsum(v.oooo, (0, 1, 2, 3), r3, (4, 1, 3, 5, 6), (4, 0, 2, 5, 6)) + tmp131 += tmp118 + del tmp118 + tmp119 = einsum(tmp45, (0, 1, 2, 3, 4), t2, (5, 2, 4, 6), (0, 1, 5, 3, 6)) + tmp131 += tmp119 + del tmp119 + tmp120 = einsum(r3, (0, 1, 2, 3, 4), v.ovov, (2, 4, 1, 5), (0, 3, 5)) + tmp121 = einsum(t2, (0, 1, 2, 3), tmp120, (4, 5, 3), (4, 0, 1, 5, 2)) + del tmp120 + tmp131 += tmp121 + del tmp121 + tmp122 = einsum(v.ooov, (0, 1, 2, 3), r3, (4, 2, 1, 5, 6), (4, 0, 5, 6, 3)) + tmp125 = np.copy(tmp122) + del tmp122 + tmp123 = einsum(v.ovov, (0, 1, 2, 3), r3, (4, 2, 0, 5, 6), (4, 5, 6, 3, 1)) + tmp124 = einsum(t1, (0, 1), tmp123, (2, 3, 4, 5, 1), (2, 0, 3, 4, 5)) + del tmp123 + tmp125 += tmp124 + del tmp124 + tmp126 = einsum(tmp125, (0, 1, 2, 3, 4), t1, (5, 4), (5, 0, 1, 2, 3)) + del tmp125 + tmp131 += np.transpose(tmp126, (1, 0, 2, 3, 4)) + del tmp126 + tmp127 = einsum(r3, (0, 1, 2, 3, 4), v.ooov, (5, 2, 6, 4), (0, 1, 5, 6, 3)) + tmp129 = np.copy(tmp127) + del tmp127 + tmp128 = einsum(tmp45, (0, 1, 2, 3, 4), t1, (5, 4), (0, 1, 5, 2, 3)) + del tmp45 + tmp129 += tmp128 + del tmp128 + tmp130 = einsum(t1, (0, 1), tmp129, (2, 3, 4, 0, 5), (2, 3, 4, 1, 5)) + del tmp129 + tmp131 += np.transpose(tmp130, (0, 1, 2, 4, 3)) + del tmp130 + r3new += tmp131 + r3new += np.transpose(tmp131, (2, 1, 0, 3, 4)) * -1 + del tmp131 + tmp132 = einsum(ints.tmp224, (0, 1, 2, 3, 4, 5), r2, (2, 6, 5), (0, 1, 6, 3, 4)) + tmp148 = np.copy(tmp132) * 2 + del tmp132 + tmp133 = einsum(t2, (0, 1, 2, 3), tmp33, (4, 5, 3), (4, 0, 1, 5, 2)) + del tmp33 + tmp134 = einsum(t1, (0, 1), tmp133, (2, 3, 4, 0, 5), (2, 3, 4, 1, 5)) + del tmp133 + tmp148 += tmp134 + del tmp134 + tmp135 = einsum(t2, (0, 1, 2, 3), tmp21, (4, 5, 3), (0, 1, 4, 2, 5)) + tmp136 = einsum(tmp135, (0, 1, 2, 3, 4), t1, (5, 4), (5, 0, 1, 2, 3)) + del tmp135 + tmp148 += tmp136 + del tmp136 + tmp137 = np.copy(ints.tmp209) + del ints.tmp209 + tmp137 += ints.tmp280 * 2 + del ints.tmp280 + tmp138 = einsum(r2, (0, 1, 2), tmp137, (3, 4, 5, 2), (0, 1, 3, 4, 5)) + del tmp137 + tmp148 += np.transpose(tmp138, (2, 0, 1, 3, 4)) + del tmp138 + tmp139 = np.copy(ints.tmp106) + tmp139 += ints.tmp141 + tmp139 += ints.tmp63 + tmp139 += ints.tmp66 + tmp139 += ints.tmp107 * -2 + tmp140 = einsum(r2, (0, 1, 2), tmp139, (3, 4, 0, 5), (1, 3, 4, 2, 5)) + del tmp139 + tmp148 += np.transpose(tmp140, (1, 2, 0, 4, 3)) + del tmp140 + tmp141 = einsum(ints.tmp53, (0, 1, 2, 3), r2, (3, 4, 5), (0, 1, 2, 4, 5)) + tmp144 = np.copy(tmp141) + del tmp141 + tmp142 = np.copy(ints.tmp49) + del ints.tmp49 + tmp142 += ints.tmp51 + tmp143 = einsum(r2, (0, 1, 2), tmp142, (3, 4, 5, 2), (0, 1, 3, 4, 5)) + del tmp142 + tmp144 += np.transpose(tmp143, (2, 0, 3, 1, 4)) + del tmp143 + tmp145 = einsum(t1, (0, 1), tmp144, (2, 3, 0, 4, 5), (2, 3, 4, 1, 5)) + del tmp144 + tmp148 += np.transpose(tmp145, (0, 1, 2, 4, 3)) + del tmp145 + tmp146 = np.copy(ints.tmp219) + del ints.tmp219 + tmp146 += ints.tmp434 + del ints.tmp434 + tmp147 = einsum(tmp146, (0, 1, 2, 3, 4, 5), r1, (3,), (0, 1, 2, 4, 5)) + del tmp146 + tmp148 += tmp147 + del tmp147 + r3new += tmp148 * -1 + r3new += np.transpose(tmp148, (1, 0, 2, 4, 3)) * -1 + r3new += np.transpose(tmp148, (2, 0, 1, 4, 3)) + r3new += np.transpose(tmp148, (2, 1, 0, 3, 4)) + del tmp148 + tmp149 = einsum(v.oooo, (0, 1, 2, 3), r2, (3, 4, 5), (4, 0, 1, 2, 5)) + tmp150 = einsum(t1, (0, 1), tmp149, (2, 3, 0, 4, 5), (2, 4, 3, 5, 1)) + del tmp149 + tmp153 = np.copy(tmp150) + del tmp150 + tmp151 = np.copy(ints.tmp312) + del ints.tmp312 + tmp151 += ints.tmp354 + del ints.tmp354 + tmp152 = einsum(tmp151, (0, 1, 2, 3, 4, 5), r1, (3,), (0, 1, 2, 4, 5)) + del tmp151 + tmp153 += tmp152 + del tmp152 + r3new += np.transpose(tmp153, (0, 1, 2, 4, 3)) + r3new += np.transpose(tmp153, (0, 2, 1, 3, 4)) + r3new += np.transpose(tmp153, (1, 2, 0, 3, 4)) * -1 + r3new += np.transpose(tmp153, (2, 1, 0, 4, 3)) * -1 + del tmp153 + tmp154 = einsum(ints.tmp315, (0, 1, 2, 3, 4, 5), r1, (3,), (0, 1, 2, 4, 5)) + del ints.tmp315 + tmp163 = np.copy(tmp154) + del tmp154 + tmp155 = einsum(t2, (0, 1, 2, 3), tmp18, (4, 5, 3), (0, 1, 4, 5, 2)) + del tmp18 + tmp163 += tmp155 + del tmp155 + tmp156 = einsum(ints.tmp67, (0, 1, 2, 3), r2, (4, 5, 3), (0, 1, 4, 5, 2)) + del ints.tmp67 + tmp159 = np.copy(np.transpose(tmp156, (0, 2, 1, 3, 4))) + del tmp156 + tmp157 = np.copy(ints.tmp127) + del ints.tmp127 + tmp157 += ints.tmp34 + tmp157 += np.transpose(ints.tmp53, (0, 1, 3, 2)) + tmp158 = einsum(tmp157, (0, 1, 2, 3), r2, (3, 4, 5), (4, 0, 1, 2, 5)) + tmp159 += np.transpose(tmp158, (1, 2, 3, 0, 4)) + del tmp158 + tmp160 = einsum(t1, (0, 1), tmp159, (2, 3, 0, 4, 5), (2, 3, 4, 1, 5)) + del tmp159 + tmp163 += np.transpose(tmp160, (0, 1, 2, 4, 3)) + del tmp160 + tmp161 = np.copy(ints.tmp50) + tmp161 += ints.tmp52 + tmp161 += ints.tmp95 + tmp162 = einsum(tmp161, (0, 1, 2, 3), r2, (2, 4, 5), (4, 0, 1, 5, 3)) + del tmp161 + tmp163 += np.transpose(tmp162, (1, 2, 0, 4, 3)) + del tmp162 + r3new += np.transpose(tmp163, (0, 1, 2, 4, 3)) * -1 + r3new += np.transpose(tmp163, (1, 0, 2, 3, 4)) * -1 + r3new += np.transpose(tmp163, (2, 0, 1, 3, 4)) + r3new += np.transpose(tmp163, (2, 1, 0, 4, 3)) + del tmp163 + tmp164 = einsum(v.ovov, (0, 1, 2, 3), r2, (2, 4, 3), (4, 0, 1)) + tmp165 = einsum(tmp164, (0, 1, 2), t1, (3, 2), (0, 3, 1)) + tmp166 = einsum(tmp165, (0, 1, 2), t2, (3, 2, 4, 5), (0, 1, 3, 4, 5)) + del tmp165 + tmp171 = np.copy(tmp166) * 2 + del tmp166 + tmp167 = einsum(tmp164, (0, 1, 2), t2, (3, 4, 5, 2), (0, 3, 4, 1, 5)) + del tmp164 + tmp168 = einsum(t1, (0, 1), tmp167, (2, 3, 4, 0, 5), (2, 3, 4, 1, 5)) + del tmp167 + tmp171 += tmp168 * 2 + del tmp168 + tmp169 = np.copy(ints.tmp325) + del ints.tmp325 + tmp169 += ints.tmp483 + del ints.tmp483 + tmp169 += ints.tmp501 + del ints.tmp501 + tmp170 = einsum(tmp169, (0, 1, 2, 3, 4, 5), r1, (3,), (0, 1, 2, 4, 5)) + del tmp169 + tmp171 += tmp170 + del tmp170 + r3new += tmp171 * -1 + r3new += np.transpose(tmp171, (0, 2, 1, 4, 3)) * -1 + r3new += np.transpose(tmp171, (1, 2, 0, 4, 3)) + r3new += np.transpose(tmp171, (2, 1, 0, 3, 4)) + del tmp171 + tmp172 = einsum(ints.tmp221, (0, 1, 2, 3, 4, 5), r2, (2, 6, 5), (0, 1, 6, 3, 4)) + del ints.tmp221 + tmp182 = np.copy(tmp172) + del tmp172 + tmp173 = einsum(ints.tmp224, (0, 1, 2, 3, 4, 5), r2, (6, 2, 5), (0, 1, 6, 3, 4)) + del ints.tmp224 + tmp182 += tmp173 + del tmp173 + tmp174 = einsum(ints.tmp47, (0, 1, 2, 3), r2, (4, 5, 3), (0, 1, 4, 5, 2)) + tmp175 = einsum(t1, (0, 1), tmp174, (2, 0, 3, 4, 5), (2, 3, 4, 5, 1)) + del tmp174 + tmp182 += tmp175 * 2 + del tmp175 + tmp176 = np.copy(ints.tmp259) + del ints.tmp259 + tmp176 += np.transpose(ints.tmp282, (0, 1, 3, 2)) + del ints.tmp282 + tmp176 += ints.tmp284 + del ints.tmp284 + tmp177 = einsum(r2, (0, 1, 2), tmp176, (3, 4, 5, 2), (0, 1, 3, 4, 5)) + del tmp176 + tmp182 += np.transpose(tmp177, (2, 0, 1, 3, 4)) + del tmp177 + tmp178 = np.copy(ints.tmp104) + tmp178 += ints.tmp130 + tmp178 += np.transpose(ints.tmp79, (1, 2, 0, 3)) + tmp178 += ints.tmp64 * 2 + tmp179 = einsum(r2, (0, 1, 2), tmp178, (3, 4, 0, 5), (1, 3, 4, 2, 5)) + del tmp178 + tmp182 += np.transpose(tmp179, (1, 2, 0, 4, 3)) + del tmp179 + tmp180 = np.copy(ints.tmp327) + del ints.tmp327 + tmp180 += ints.tmp461 + del ints.tmp461 + tmp181 = einsum(tmp180, (0, 1, 2, 3, 4, 5), r1, (3,), (0, 1, 2, 4, 5)) + del tmp180 + tmp182 += tmp181 + del tmp181 + r3new += tmp182 + r3new += np.transpose(tmp182, (1, 0, 2, 4, 3)) + r3new += np.transpose(tmp182, (2, 0, 1, 4, 3)) * -1 + r3new += np.transpose(tmp182, (2, 1, 0, 3, 4)) * -1 + del tmp182 + tmp183 = einsum(ints.tmp356, (0, 1, 2, 3, 4, 5), r1, (3,), (0, 1, 2, 4, 5)) + del ints.tmp356 + tmp189 = np.copy(tmp183) + del tmp183 + tmp184 = einsum(r3, (0, 1, 2, 3, 4), ints.tmp34, (5, 6, 2, 0), (5, 6, 1, 3, 4)) + del ints.tmp34 + tmp189 += tmp184 * 0.5 + del tmp184 + tmp185 = einsum(r2, (0, 1, 2), v.ooov, (3, 4, 0, 2), (1, 3, 4)) + tmp186 = einsum(t2, (0, 1, 2, 3), tmp185, (4, 5, 1), (4, 0, 5, 2, 3)) + del tmp185 + tmp189 += tmp186 * 2 + del tmp186 + tmp187 = np.copy(ints.tmp17) * 0.5 + del ints.tmp17 + tmp187 += ints.tmp22 * 0.5 + del ints.tmp22 + tmp187 += ints.tmp5 * 0.5 + del ints.tmp5 + tmp187 += ints.tmp19 * -1 + del ints.tmp19 + tmp187 += ints.tmp6 * -1 + del ints.tmp6 + tmp188 = einsum(r3, (0, 1, 2, 3, 4), tmp187, (5, 2), (0, 1, 5, 3, 4)) * 2 + del tmp187 + tmp189 += np.transpose(tmp188, (2, 0, 1, 3, 4)) + del tmp188 + r3new += np.transpose(tmp189, (0, 2, 1, 3, 4)) * -1 + r3new += np.transpose(tmp189, (1, 2, 0, 3, 4)) + del tmp189 + tmp190 = einsum(r2, (0, 1, 2), v.ooov, (3, 1, 4, 5), (0, 3, 4, 2, 5)) + tmp198 = np.copy(tmp190) + del tmp190 + tmp191 = einsum(v.ooov, (0, 1, 2, 3), r3, (4, 1, 2, 5, 6), (4, 0, 5, 6, 3)) + tmp192 = einsum(t1, (0, 1), tmp191, (2, 3, 4, 5, 1), (2, 0, 3, 4, 5)) + del tmp191 + tmp198 += tmp192 + del tmp192 + tmp193 = np.copy(f.oo) + tmp193 += ints.tmp0 + del ints.tmp0 + tmp193 += np.transpose(ints.tmp24, (1, 0)) * 2 + del ints.tmp24 + tmp194 = einsum(tmp193, (0, 1), r3, (2, 3, 0, 4, 5), (2, 3, 1, 4, 5)) + del tmp193 + tmp198 += np.transpose(tmp194, (2, 0, 1, 3, 4)) + del tmp194 + tmp195 = einsum(r2, (0, 1, 2), v.ooov, (3, 4, 1, 2), (0, 3, 4)) + tmp196 = np.copy(np.transpose(tmp195, (0, 2, 1))) + del tmp195 + tmp196 += np.transpose(tmp31, (0, 2, 1)) + del tmp31 + tmp197 = einsum(t2, (0, 1, 2, 3), tmp196, (4, 1, 5), (0, 4, 5, 3, 2)) + del tmp196 + tmp198 += np.transpose(tmp197, (1, 0, 2, 4, 3)) + del tmp197 + r3new += np.transpose(tmp198, (0, 2, 1, 3, 4)) + r3new += np.transpose(tmp198, (1, 2, 0, 3, 4)) * -1 + del tmp198 + tmp203 = np.copy(tmp55) + del tmp55 + tmp199 = einsum(r3, (0, 1, 2, 3, 4), tmp0, (2, 0, 3, 5), (1, 4, 5)) + tmp200 = einsum(tmp199, (0, 1, 2), t2, (3, 4, 2, 5), (3, 4, 0, 5, 1)) * -0.5 + del tmp199 + tmp203 += np.transpose(tmp200, (2, 1, 0, 4, 3)) * -1 + del tmp200 + tmp201 = np.copy(ints.tmp104) * 0.5 + tmp201 += ints.tmp107 + tmp201 += ints.tmp130 * 0.5 + tmp201 += ints.tmp64 + tmp201 += np.transpose(ints.tmp79, (1, 2, 0, 3)) * 0.5 + tmp202 = einsum(tmp201, (0, 1, 2, 3), r2, (4, 2, 5), (4, 0, 1, 5, 3)) * 2 + del tmp201 + tmp203 += np.transpose(tmp202, (1, 2, 0, 4, 3)) + del tmp202 + r3new += np.transpose(tmp203, (1, 0, 2, 4, 3)) * -1 + r3new += np.transpose(tmp203, (2, 0, 1, 4, 3)) + del tmp203 + tmp204 = einsum(v.ovov, (0, 1, 2, 3), r3, (4, 2, 5, 6, 1), (4, 5, 0, 6, 3)) + tmp205 = einsum(t2, (0, 1, 2, 3), tmp204, (4, 5, 1, 6, 3), (4, 5, 0, 6, 2)) + tmp208 = np.copy(tmp205) + del tmp205 + tmp206 = np.copy(ints.tmp106) + tmp206 += ints.tmp141 + tmp206 += ints.tmp63 + tmp206 += ints.tmp66 + tmp207 = einsum(tmp206, (0, 1, 2, 3), r2, (4, 2, 5), (4, 0, 1, 5, 3)) + del tmp206 + tmp208 += np.transpose(tmp207, (1, 2, 0, 4, 3)) + del tmp207 + r3new += np.transpose(tmp208, (1, 0, 2, 4, 3)) + r3new += np.transpose(tmp208, (2, 0, 1, 4, 3)) * -1 + del tmp208 + tmp217 = np.copy(tmp72) + tmp209 = einsum(v.ovov, (0, 1, 2, 3), r3, (4, 5, 2, 1, 6), (4, 5, 0, 6, 3)) + tmp210 = einsum(tmp209, (0, 1, 2, 3, 4), t2, (5, 2, 4, 6), (0, 1, 5, 3, 6)) + tmp217 += tmp210 + del tmp210 + tmp211 = np.copy(ints.tmp50) + tmp211 += ints.tmp52 + tmp211 += ints.tmp95 + tmp212 = einsum(r2, (0, 1, 2), tmp211, (3, 4, 1, 5), (0, 3, 4, 2, 5)) + del tmp211 + tmp217 += np.transpose(tmp212, (1, 2, 0, 4, 3)) + del tmp212 + tmp213 = einsum(r3, (0, 1, 2, 3, 4), v.ooov, (5, 2, 6, 3), (0, 1, 5, 6, 4)) + tmp215 = np.copy(tmp213) + del tmp213 + tmp214 = einsum(t1, (0, 1), tmp209, (2, 3, 4, 5, 1), (2, 3, 0, 4, 5)) + tmp215 += tmp214 + del tmp214 + tmp216 = einsum(t1, (0, 1), tmp215, (2, 3, 4, 0, 5), (2, 3, 4, 1, 5)) + del tmp215 + tmp217 += np.transpose(tmp216, (0, 1, 2, 4, 3)) + del tmp216 + r3new += np.transpose(tmp217, (0, 1, 2, 4, 3)) + r3new += np.transpose(tmp217, (2, 1, 0, 4, 3)) * -1 + del tmp217 + tmp218 = einsum(ints.tmp48, (0, 1, 2, 3), r2, (2, 4, 5), (0, 1, 4, 3, 5)) + r3new += np.transpose(tmp218, (0, 1, 2, 4, 3)) * 2 + r3new += np.transpose(tmp218, (1, 0, 2, 3, 4)) * 2 + r3new += np.transpose(tmp218, (2, 0, 1, 3, 4)) * -2 + r3new += np.transpose(tmp218, (2, 1, 0, 4, 3)) * -2 + del tmp218 + tmp219 = einsum(tmp209, (0, 1, 2, 3, 4), t2, (5, 2, 6, 4), (0, 1, 5, 3, 6)) + del tmp209 + tmp225 = np.copy(tmp219) + del tmp219 + tmp220 = einsum(tmp72, (0, 1, 2, 3, 4), t2, (5, 2, 4, 6), (0, 1, 5, 3, 6)) + tmp225 += tmp220 + del tmp220 + tmp221 = einsum(v.ooov, (0, 1, 2, 3), r3, (4, 5, 2, 3, 6), (4, 5, 0, 1, 6)) + tmp223 = np.copy(np.transpose(tmp221, (0, 1, 3, 2, 4))) + del tmp221 + tmp222 = einsum(t1, (0, 1), tmp72, (2, 3, 4, 5, 1), (2, 3, 0, 4, 5)) + del tmp72 + tmp223 += np.transpose(tmp222, (0, 1, 3, 2, 4)) + del tmp222 + tmp224 = einsum(t1, (0, 1), tmp223, (2, 3, 0, 4, 5), (2, 3, 4, 1, 5)) + del tmp223 + tmp225 += np.transpose(tmp224, (0, 1, 2, 4, 3)) + del tmp224 + r3new += np.transpose(tmp225, (0, 1, 2, 4, 3)) * -1 + r3new += np.transpose(tmp225, (0, 2, 1, 3, 4)) * -1 + r3new += np.transpose(tmp225, (2, 1, 0, 4, 3)) + del tmp225 + tmp226 = einsum(v.oooo, (0, 1, 2, 3), r3, (1, 4, 3, 5, 6), (4, 0, 2, 5, 6)) + tmp236 = np.copy(tmp226) * -0.5 + del tmp226 + tmp227 = einsum(t2, (0, 1, 2, 3), tmp30, (4, 5, 1), (4, 0, 5, 2, 3)) + del tmp30 + tmp236 += tmp227 + del tmp227 + tmp228 = einsum(v.ovov, (0, 1, 2, 3), r3, (2, 4, 0, 5, 6), (4, 5, 6, 3, 1)) + tmp229 = einsum(tmp228, (0, 1, 2, 3, 4), t1, (5, 4), (0, 5, 1, 2, 3)) + del tmp228 + tmp231 = np.copy(tmp229) + del tmp229 + tmp230 = einsum(r3, (0, 1, 2, 3, 4), tmp11, (0, 5, 2, 6), (1, 5, 3, 4, 6)) + del tmp11 + tmp231 += tmp230 * -1 + del tmp230 + tmp232 = einsum(tmp231, (0, 1, 2, 3, 4), t1, (5, 4), (5, 0, 1, 2, 3)) * 0.5 + del tmp231 + tmp236 += np.transpose(tmp232, (1, 0, 2, 3, 4)) * -1 + del tmp232 + tmp233 = np.copy(f.ov) * 0.5 + tmp233 += ints.tmp23 + tmp234 = einsum(tmp233, (0, 1), r2, (2, 3, 1), (2, 3, 0)) + del tmp233 + tmp235 = einsum(t2, (0, 1, 2, 3), tmp234, (4, 5, 1), (0, 4, 5, 3, 2)) * 2 + del tmp234 + tmp236 += np.transpose(tmp235, (1, 2, 0, 4, 3)) + del tmp235 + r3new += np.transpose(tmp236, (1, 0, 2, 3, 4)) * -1 + r3new += np.transpose(tmp236, (2, 0, 1, 3, 4)) + del tmp236 + tmp244 = np.copy(tmp93) + del tmp93 + tmp237 = einsum(t2, (0, 1, 2, 3), tmp25, (4, 5, 3), (0, 1, 4, 5, 2)) + del tmp25 + tmp244 += tmp237 + del tmp237 + tmp238 = einsum(r2, (0, 1, 2), v.ooov, (3, 4, 5, 2), (0, 1, 3, 4, 5)) + tmp239 = einsum(tmp238, (0, 1, 2, 3, 4), t1, (4, 5), (0, 1, 2, 3, 5)) + del tmp238 + tmp240 = einsum(t1, (0, 1), tmp239, (2, 3, 4, 0, 5), (2, 3, 4, 1, 5)) + del tmp239 + tmp244 += tmp240 + del tmp240 + tmp241 = einsum(tmp34, (0, 1, 2), t2, (3, 2, 4, 5), (0, 1, 3, 4, 5)) + del tmp34 + tmp244 += tmp241 + del tmp241 + tmp242 = einsum(tmp157, (0, 1, 2, 3), r2, (4, 3, 5), (4, 0, 1, 2, 5)) + del tmp157 + tmp243 = einsum(tmp242, (0, 1, 2, 3, 4), t1, (3, 5), (1, 2, 0, 4, 5)) + del tmp242 + tmp244 += tmp243 + del tmp243 + r3new += np.transpose(tmp244, (0, 2, 1, 4, 3)) * -1 + r3new += np.transpose(tmp244, (1, 0, 2, 3, 4)) + r3new += np.transpose(tmp244, (2, 0, 1, 3, 4)) * -1 + r3new += np.transpose(tmp244, (1, 2, 0, 4, 3)) + del tmp244 + tmp245 = einsum(tmp20, (0, 1, 2), t2, (3, 4, 5, 2), (0, 3, 4, 1, 5)) + del tmp20 + r3new += tmp245 * -0.5 + r3new += np.transpose(tmp245, (0, 2, 1, 4, 3)) * -1 + r3new += np.transpose(tmp245, (1, 2, 0, 4, 3)) + r3new += np.transpose(tmp245, (2, 1, 0, 3, 4)) * 0.5 + del tmp245 + tmp246 = einsum(t2, (0, 1, 2, 3), tmp27, (4, 5, 3), (4, 0, 1, 5, 2)) + del tmp27 + r3new += tmp246 * -2 + r3new += np.transpose(tmp246, (1, 0, 2, 4, 3)) * -1 + r3new += np.transpose(tmp246, (2, 0, 1, 4, 3)) + r3new += np.transpose(tmp246, (2, 1, 0, 3, 4)) * 2 + del tmp246 + tmp247 = einsum(t2, (0, 1, 2, 3), tmp32, (4, 5, 1), (4, 5, 0, 2, 3)) + del tmp32 + r3new += tmp247 * -1 + r3new += np.transpose(tmp247, (0, 2, 1, 4, 3)) * -1 + r3new += np.transpose(tmp247, (2, 1, 0, 3, 4)) + del tmp247 + tmp248 = einsum(r3, (0, 1, 2, 3, 4), tmp0, (1, 0, 4, 5), (2, 3, 5)) + del tmp0 + tmp249 = einsum(tmp248, (0, 1, 2), t2, (3, 4, 2, 5), (0, 3, 4, 1, 5)) * -0.5 + del tmp248 + r3new += np.transpose(tmp249, (0, 1, 2, 4, 3)) + r3new += np.transpose(tmp249, (2, 1, 0, 4, 3)) * -1 + del tmp249 + tmp250 = einsum(r3, (0, 1, 2, 3, 4), v.ovov, (5, 4, 1, 3), (0, 2, 5)) + tmp251 = einsum(tmp250, (0, 1, 2), t2, (3, 2, 4, 5), (0, 1, 3, 4, 5)) + del tmp250 + r3new += np.transpose(tmp251, (0, 2, 1, 4, 3)) * 0.5 + r3new += np.transpose(tmp251, (1, 0, 2, 3, 4)) * -0.5 + r3new += np.transpose(tmp251, (2, 0, 1, 3, 4)) * 0.5 + del tmp251 + tmp252 = einsum(r3, (0, 1, 2, 3, 4), v.ovov, (5, 3, 1, 4), (0, 2, 5)) + tmp253 = einsum(t2, (0, 1, 2, 3), tmp252, (4, 5, 1), (4, 5, 0, 2, 3)) + del tmp252 + r3new += np.transpose(tmp253, (0, 2, 1, 4, 3)) * -1.5 + r3new += np.transpose(tmp253, (1, 0, 2, 3, 4)) * 0.5 + r3new += np.transpose(tmp253, (2, 0, 1, 3, 4)) * -0.5 + del tmp253 + tmp254 = einsum(ints.tmp53, (0, 1, 2, 3), r2, (4, 3, 5), (0, 1, 2, 4, 5)) + del ints.tmp53 + tmp255 = einsum(tmp254, (0, 1, 2, 3, 4), t1, (2, 5), (0, 1, 3, 4, 5)) + del tmp254 + tmp264 = np.copy(tmp255) + del tmp255 + tmp256 = einsum(t2, (0, 1, 2, 3), tmp21, (4, 3, 5), (0, 1, 4, 2, 5)) + del tmp21 + tmp257 = einsum(tmp256, (0, 1, 2, 3, 4), t1, (5, 4), (5, 0, 1, 2, 3)) + del tmp256 + tmp264 += tmp257 + del tmp257 + tmp258 = einsum(r2, (0, 1, 2), v.ovov, (3, 4, 1, 2), (0, 3, 4)) + tmp259 = np.copy(tmp258) + del tmp258 + tmp259 += tmp36 + del tmp36 + tmp260 = einsum(t1, (0, 1), tmp259, (2, 3, 1), (2, 3, 0)) + tmp261 = einsum(tmp260, (0, 1, 2), t2, (3, 1, 4, 5), (0, 2, 3, 5, 4)) + del tmp260 + tmp264 += np.transpose(tmp261, (0, 1, 2, 4, 3)) + del tmp261 + tmp262 = einsum(tmp259, (0, 1, 2), t2, (3, 4, 2, 5), (0, 1, 3, 4, 5)) + del tmp259 + tmp263 = einsum(t1, (0, 1), tmp262, (2, 0, 3, 4, 5), (2, 4, 3, 5, 1)) + del tmp262 + tmp264 += np.transpose(tmp263, (0, 1, 2, 4, 3)) + del tmp263 + r3new += tmp264 + r3new += np.transpose(tmp264, (0, 2, 1, 4, 3)) + r3new += np.transpose(tmp264, (1, 2, 0, 4, 3)) * -1 + r3new += np.transpose(tmp264, (2, 1, 0, 3, 4)) * -1 + del tmp264 + tmp265 = einsum(r2, (0, 1, 2), ints.tmp21, (3, 2), (3, 0, 1)) + tmp266 = einsum(t2, (0, 1, 2, 3), tmp265, (1, 4, 5), (4, 5, 0, 2, 3)) + del tmp265 + r3new += np.transpose(tmp266, (1, 0, 2, 3, 4)) + r3new += np.transpose(tmp266, (2, 0, 1, 3, 4)) * -1 + del tmp266 + tmp267 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * -0.5 + tmp267 += t2 + tmp268 = einsum(r3, (0, 1, 2, 3, 4), v.ovov, (5, 6, 2, 4), (0, 1, 5, 3, 6)) + tmp269 = np.copy(tmp268) + del tmp268 + tmp269 += tmp204 + del tmp204 + r3new += einsum(tmp267, (0, 1, 2, 3), tmp269, (4, 5, 0, 6, 2), (4, 1, 5, 6, 3)) * -2 + del tmp267 + r3new += einsum(r3, (0, 1, 2, 3, 4), tmp24, (3, 5), (0, 1, 2, 5, 4)) + r3new += einsum(r3, (0, 1, 2, 3, 4), tmp24, (4, 5), (0, 1, 2, 3, 5)) + del tmp24 + tmp270 = einsum(r3, (0, 1, 2, 3, 4), v.ovvv, (2, 4, 5, 6), (0, 1, 3, 5, 6)) + tmp270 += einsum(r3, (0, 1, 2, 3, 4), v.ovvv, (1, 5, 6, 4), (0, 2, 3, 5, 6)) + tmp270 += einsum(v.ovvv, (0, 1, 2, 3), r3, (4, 0, 5, 3, 6), (4, 5, 2, 1, 6)) + r3new += einsum(t1, (0, 1), tmp270, (2, 3, 4, 1, 5), (2, 0, 3, 4, 5)) * -1 + del tmp270 + r3new += einsum(r3, (0, 1, 2, 3, 4), tmp40, (1, 5), (0, 5, 2, 3, 4)) * -2 + del tmp40 + tmp271 = einsum(r3, (0, 1, 2, 3, 4), v.ooov, (5, 6, 2, 4), (5, 0, 6, 1, 3)) + tmp271 += einsum(r3, (0, 1, 2, 3, 4), v.ovoo, (5, 4, 6, 1), (5, 0, 6, 2, 3)) + tmp271 += einsum(r3, (0, 1, 2, 3, 4), v.ovvv, (5, 4, 6, 3), (5, 0, 1, 2, 6)) * -1 + tmp271 += einsum(tmp35, (0, 1), r3, (2, 3, 4, 5, 1), (0, 2, 3, 4, 5)) * -1 + tmp271 += einsum(t1, (0, 1), tmp269, (2, 3, 4, 5, 1), (4, 2, 0, 3, 5)) + del tmp269 + r3new += einsum(tmp271, (0, 1, 2, 3, 4), t1, (0, 5), (1, 2, 3, 4, 5)) + del tmp271 + tmp272 = einsum(r3, (0, 1, 2, 3, 4), v.ovoo, (5, 3, 6, 1), (5, 0, 6, 2, 4)) + tmp272 += einsum(v.ovvv, (0, 1, 2, 3), r3, (4, 5, 6, 1, 3), (0, 4, 5, 6, 2)) * -1 + tmp272 += einsum(tmp43, (0, 1, 2, 3, 4), t1, (4, 5), (3, 0, 1, 2, 5)) + del tmp43 + tmp272 += einsum(t1, (0, 1), tmp44, (2, 3, 4, 5, 1), (4, 2, 0, 3, 5)) + del tmp44 + tmp272 += einsum(r3, (0, 1, 2, 3, 4), tmp35, (5, 3), (5, 0, 1, 2, 4)) * -1 + del tmp35 + r3new += einsum(t1, (0, 1), tmp272, (0, 2, 3, 4, 5), (2, 3, 4, 1, 5)) + del tmp272 + r3new += einsum(t3, (0, 1, 2, 3, 4, 5), tmp41, (5,), (0, 1, 2, 3, 4)) * 2 + del tmp41 + tmp273 = np.copy(ints.tmp192) + del ints.tmp192 + tmp273 += np.transpose(ints.tmp240, (0, 1, 2, 3, 5, 4)) + del ints.tmp240 + tmp273 += np.transpose(ints.tmp267, (0, 1, 2, 3, 5, 4)) + del ints.tmp267 + tmp273 += ints.tmp290 + del ints.tmp290 + tmp273 += np.transpose(ints.tmp375, (1, 2, 0, 3, 5, 4)) + del ints.tmp375 + tmp273 += np.transpose(ints.tmp196, (0, 1, 2, 3, 5, 4)) * -1 + del ints.tmp196 + tmp273 += np.transpose(ints.tmp245, (1, 2, 3, 0, 5, 4)) * -1 + del ints.tmp245 + tmp273 += np.transpose(ints.tmp268, (0, 1, 2, 3, 5, 4)) * -2 + del ints.tmp268 + tmp273 += np.transpose(ints.tmp286, (0, 1, 2, 3, 5, 4)) * -1 + del ints.tmp286 + r3new += einsum(tmp273, (0, 1, 2, 3, 4, 5), r1, (3,), (1, 2, 0, 5, 4)) * -1 + del tmp273 + tmp276 = np.copy(ints.tmp102) * 0.5 + del ints.tmp102 + tmp276 += ints.tmp176 * 0.5 + del ints.tmp176 + tmp276 += np.transpose(ints.tmp178, (1, 0, 2, 3)) * 0.5 + del ints.tmp178 + tmp276 += ints.tmp104 * -0.5 + del ints.tmp104 + tmp274 = np.copy(ints.tmp106) * 0.5 + del ints.tmp106 + tmp274 += ints.tmp123 * 0.5 + del ints.tmp123 + tmp274 += ints.tmp141 * 0.5 + del ints.tmp141 + tmp274 += ints.tmp27 * 0.5 + del ints.tmp27 + tmp274 += ints.tmp32 * 0.5 + del ints.tmp32 + tmp274 += ints.tmp48 + del ints.tmp48 + tmp274 += ints.tmp63 * 0.5 + del ints.tmp63 + tmp274 += ints.tmp66 * 0.5 + del ints.tmp66 + tmp274 += ints.tmp107 * -1 + del ints.tmp107 + tmp274 += ints.tmp130 * -0.5 + del ints.tmp130 + tmp274 += ints.tmp50 * -0.5 + del ints.tmp50 + tmp274 += ints.tmp52 * -0.5 + del ints.tmp52 + tmp274 += ints.tmp64 * -1 + del ints.tmp64 + tmp274 += ints.tmp95 * -0.5 + del ints.tmp95 + tmp276 += tmp274 + tmp276 += np.transpose(tmp274, (1, 0, 2, 3)) * -1 + del tmp274 + tmp275 = np.copy(ints.tmp79) * 0.5 + del ints.tmp79 + tmp275 += v.ooov * -0.5 + tmp276 += np.transpose(tmp275, (1, 2, 0, 3)) * -1 + tmp276 += np.transpose(tmp275, (2, 1, 0, 3)) + del tmp275 + r3new += einsum(tmp276, (0, 1, 2, 3), r2, (4, 2, 5), (0, 4, 1, 3, 5)) * -2 + del tmp276 + tmp279 = np.copy(ints.tmp420) * 2 + tmp279 += ints.tmp393 * -1 + del ints.tmp393 + tmp279 += ints.tmp394 * -1 + del ints.tmp394 + tmp279 += ints.tmp422 * -4 + tmp279 += ints.tmp423 * -1 + tmp279 += ints.tmp493 * -1 + del ints.tmp493 + tmp279 += ints.tmp500 * -1 + del ints.tmp500 + tmp279 += ints.tmp503 * -1 + del ints.tmp503 + tmp279 += ints.tmp505 * -1 + del ints.tmp505 + tmp279 += ints.tmp506 * -1 + del ints.tmp506 + tmp279 += ints.tmp519 * -1 + del ints.tmp519 + tmp279 += np.transpose(ints.tmp527, (0, 1, 3, 2)) * -1 + tmp279 += np.transpose(v.ovov, (0, 2, 1, 3)) * -1 + tmp277 = np.copy(ints.tmp160) + del ints.tmp160 + tmp277 += ints.tmp166 + del ints.tmp166 + tmp277 += ints.tmp201 + del ints.tmp201 + tmp277 += ints.tmp215 + del ints.tmp215 + tmp277 += ints.tmp308 + del ints.tmp308 + tmp277 += ints.tmp310 + del ints.tmp310 + tmp277 += ints.tmp330 + del ints.tmp330 + tmp277 += ints.tmp334 + del ints.tmp334 + tmp277 += ints.tmp353 + del ints.tmp353 + tmp277 += ints.tmp366 * 2 + del ints.tmp366 + tmp277 += ints.tmp415 * 2 + del ints.tmp415 + tmp277 += ints.tmp432 + del ints.tmp432 + tmp277 += ints.tmp453 + del ints.tmp453 + tmp277 += ints.tmp455 * 2 + del ints.tmp455 + tmp277 += ints.tmp122 * -1 + del ints.tmp122 + tmp277 += ints.tmp151 * -1 + del ints.tmp151 + tmp277 += ints.tmp309 * -2 + del ints.tmp309 + tmp277 += ints.tmp365 * -1 + del ints.tmp365 + tmp277 += ints.tmp374 * -1 + del ints.tmp374 + tmp277 += ints.tmp386 * -1 + del ints.tmp386 + tmp277 += ints.tmp416 * -1 + del ints.tmp416 + tmp277 += ints.tmp417 * -1 + del ints.tmp417 + tmp277 += ints.tmp454 * -1 + del ints.tmp454 + tmp277 += ints.tmp512 * -1 + del ints.tmp512 + tmp279 += np.transpose(tmp277, (0, 1, 3, 2)) + tmp279 += np.transpose(tmp277, (1, 0, 2, 3)) + tmp278 = np.copy(ints.tmp163) + tmp278 += ints.tmp165 + tmp278 += ints.tmp169 + tmp278 += ints.tmp216 + tmp278 += ints.tmp228 * 2 + tmp278 += ints.tmp265 + del ints.tmp265 + tmp278 += ints.tmp274 * 2 + del ints.tmp274 + tmp278 += ints.tmp352 + tmp278 += ints.tmp364 * 2 + tmp278 += ints.tmp421 * 2 + tmp278 += ints.tmp452 + tmp278 += ints.tmp466 + tmp278 += ints.tmp475 * 2 + tmp278 += ints.tmp479 + tmp278 += ints.tmp508 + tmp278 += ints.tmp509 + tmp278 += ints.tmp51 + tmp278 += ints.tmp161 * -1 + tmp278 += ints.tmp162 * -2 + tmp278 += ints.tmp227 * -1 + tmp278 += ints.tmp244 * -1 + del ints.tmp244 + tmp278 += ints.tmp266 * -2 + del ints.tmp266 + tmp278 += ints.tmp275 * -1 + del ints.tmp275 + tmp278 += ints.tmp363 * -1 + tmp278 += ints.tmp419 * -1 + tmp278 += ints.tmp474 * -1 + tmp278 += ints.tmp476 * -1 + tmp278 += ints.tmp47 * -2 + tmp278 += ints.tmp521 * -1 + tmp279 += tmp278 + tmp279 += np.transpose(tmp278, (1, 0, 3, 2)) + del tmp278 + r3new += einsum(tmp279, (0, 1, 2, 3), r1, (4,), (4, 1, 0, 2, 3)) + del tmp279 + tmp281 = np.copy(ints.tmp420) * 2 + del ints.tmp420 + tmp281 += ints.tmp422 * -4 + del ints.tmp422 + tmp281 += ints.tmp423 * -1 + del ints.tmp423 + tmp281 += np.transpose(ints.tmp527, (0, 1, 3, 2)) * -1 + del ints.tmp527 + tmp281 += np.transpose(v.ovov, (0, 2, 1, 3)) * -1 + tmp281 += np.transpose(tmp277, (0, 1, 3, 2)) + tmp281 += np.transpose(tmp277, (1, 0, 2, 3)) + del tmp277 + tmp280 = np.copy(ints.tmp163) + del ints.tmp163 + tmp280 += ints.tmp165 + del ints.tmp165 + tmp280 += ints.tmp169 + del ints.tmp169 + tmp280 += ints.tmp216 + del ints.tmp216 + tmp280 += ints.tmp228 * 2 + del ints.tmp228 + tmp280 += ints.tmp352 + del ints.tmp352 + tmp280 += ints.tmp364 * 2 + del ints.tmp364 + tmp280 += ints.tmp421 * 2 + del ints.tmp421 + tmp280 += ints.tmp452 + del ints.tmp452 + tmp280 += ints.tmp466 + del ints.tmp466 + tmp280 += ints.tmp475 * 2 + del ints.tmp475 + tmp280 += ints.tmp479 + del ints.tmp479 + tmp280 += ints.tmp508 + del ints.tmp508 + tmp280 += ints.tmp509 + del ints.tmp509 + tmp280 += ints.tmp51 + del ints.tmp51 + tmp280 += ints.tmp161 * -1 + del ints.tmp161 + tmp280 += ints.tmp162 * -2 + del ints.tmp162 + tmp280 += ints.tmp227 * -1 + del ints.tmp227 + tmp280 += ints.tmp363 * -1 + del ints.tmp363 + tmp280 += ints.tmp419 * -1 + del ints.tmp419 + tmp280 += ints.tmp474 * -1 + del ints.tmp474 + tmp280 += ints.tmp476 * -1 + del ints.tmp476 + tmp280 += ints.tmp47 * -2 + del ints.tmp47 + tmp280 += ints.tmp521 * -1 + del ints.tmp521 + tmp281 += tmp280 + tmp281 += np.transpose(tmp280, (1, 0, 3, 2)) + del tmp280 + r3new += einsum(tmp281, (0, 1, 2, 3), r1, (4,), (1, 0, 4, 3, 2)) * -1 + del tmp281 + tmp282 = np.copy(r2) * -1 + tmp282 += np.transpose(r2, (1, 0, 2)) + r3new += einsum(tmp282, (0, 1, 2), tmp42, (3, 4), (0, 3, 1, 2, 4)) + del tmp42, tmp282 + tmp283 = np.copy(f.ov) * 0.6666666666666666 + tmp283 += ints.tmp108 * 0.6666666666666666 + del ints.tmp108 + tmp283 += ints.tmp113 * 0.6666666666666666 + del ints.tmp113 + tmp283 += ints.tmp118 * 1.3333333333333333 + del ints.tmp118 + tmp283 += ints.tmp120 * 1.3333333333333333 + del ints.tmp120 + tmp283 += ints.tmp140 * 0.6666666666666666 + del ints.tmp140 + tmp283 += ints.tmp143 * 0.6666666666666666 + del ints.tmp143 + tmp283 += ints.tmp149 * 0.6666666666666666 + del ints.tmp149 + tmp283 += ints.tmp23 * 1.3333333333333333 + tmp283 += ints.tmp57 * 1.3333333333333333 + del ints.tmp57 + tmp283 += ints.tmp69 * 0.3333333333333333 + del ints.tmp69 + tmp283 += ints.tmp71 + del ints.tmp71 + tmp283 += ints.tmp72 * 0.3333333333333333 + del ints.tmp72 + tmp283 += ints.tmp73 * 0.6666666666666666 + del ints.tmp73 + tmp283 += ints.tmp76 * 2.6666666666666665 + del ints.tmp76 + tmp283 += ints.tmp93 * 0.6666666666666666 + del ints.tmp93 + tmp283 += ints.tmp109 * -1.3333333333333333 + del ints.tmp109 + tmp283 += ints.tmp119 * -0.6666666666666666 + del ints.tmp119 + tmp283 += ints.tmp121 * -0.6666666666666666 + del ints.tmp121 + tmp283 += ints.tmp129 * -0.6666666666666666 + del ints.tmp129 + tmp283 += ints.tmp139 * -1.3333333333333333 + del ints.tmp139 + tmp283 += ints.tmp142 * -1.3333333333333333 + del ints.tmp142 + tmp283 += ints.tmp150 * -1.3333333333333333 + del ints.tmp150 + tmp283 += ints.tmp38 * -0.6666666666666666 + del ints.tmp38 + tmp283 += ints.tmp56 * -0.6666666666666666 + del ints.tmp56 + tmp283 += ints.tmp70 * -0.3333333333333333 + del ints.tmp70 + tmp283 += ints.tmp74 * -1.3333333333333333 + del ints.tmp74 + tmp283 += ints.tmp75 * -1.3333333333333333 + del ints.tmp75 + tmp283 += ints.tmp77 * -0.6666666666666666 + del ints.tmp77 + tmp283 += ints.tmp94 * -1.3333333333333333 + del ints.tmp94 + r3new += einsum(tmp283, (0, 1), r2, (2, 3, 4), (3, 2, 0, 1, 4)) * 1.5 + r3new += einsum(r2, (0, 1, 2), tmp283, (3, 4), (3, 0, 1, 4, 2)) * -1.5 + del tmp283 + tmp289 = einsum(v.ovov, (0, 1, 2, 3), r3, (4, 5, 2, 1, 3), (4, 5, 0)) + tmp284 = np.copy(f.ov) * 0.5 + tmp284 += ints.tmp23 + del ints.tmp23 + tmp284 += ints.tmp21 * -0.5 + del ints.tmp21 + tmp285 = einsum(tmp284, (0, 1), r2, (2, 3, 1), (2, 3, 0)) * 2 + del tmp284 + tmp289 += tmp285 + tmp289 += np.transpose(tmp285, (1, 0, 2)) * -1 + del tmp285 + tmp286 = einsum(tmp22, (0, 1, 2), v.ooov, (3, 4, 1, 2), (3, 4, 0)) + del tmp22 + tmp289 += np.transpose(tmp286, (2, 1, 0)) * -1 + tmp289 += np.transpose(tmp286, (1, 2, 0)) + del tmp286 + tmp287 = np.copy(r2) + tmp287 += np.transpose(r2, (1, 0, 2)) * -1 + tmp288 = einsum(tmp287, (0, 1, 2), v.ooov, (3, 1, 4, 2), (3, 4, 0)) + del tmp287 + tmp289 += np.transpose(tmp288, (2, 0, 1)) * -1 + tmp289 += np.transpose(tmp288, (0, 2, 1)) + del tmp288 + r3new += einsum(tmp289, (0, 1, 2), t2, (3, 2, 4, 5), (0, 3, 1, 5, 4)) + del tmp289 + tmp290 = np.copy(np.transpose(v.ovov, (0, 2, 1, 3))) + tmp290 += v.oovv * -0.5 + r3new += einsum(r3, (0, 1, 2, 3, 4), tmp290, (1, 5, 4, 6), (0, 5, 2, 3, 6)) * 2 + del tmp290 + tmp291 = np.copy(r3) + tmp291 += np.transpose(r3, (0, 1, 2, 4, 3)) * -1 + r3new += einsum(v.ovov, (0, 1, 2, 3), tmp291, (4, 5, 2, 6, 3), (4, 0, 5, 6, 1)) * -1 + del tmp291 + + return {f"r1new": r1new, f"r2new": r2new, f"r3new": r3new} + +def hbar_matvec_ea_intermediates(f=None, t1=None, t2=None, t3=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-10-22T09:04:23.092127. + + Parameters + ---------- + f : array + Fock matrix. + t1 : array + T1 amplitudes. + t2 : array + T2 amplitudes. + t3 : array + T3 amplitudes. + v : array + Electron repulsion integrals. + + Returns + ------- + tmp100 : array + tmp103 : array + tmp104 : array + tmp105 : array + tmp106 : array + tmp107 : array + tmp112 : array + tmp113 : array + tmp114 : array + tmp119 : array + tmp120 : array + tmp121 : array + tmp122 : array + tmp124 : array + tmp125 : array + tmp132 : array + tmp133 : array + tmp134 : array + tmp137 : array + tmp138 : array + tmp139 : array + tmp141 : array + tmp142 : array + tmp143 : array + tmp144 : array + tmp145 : array + tmp146 : array + tmp147 : array + tmp148 : array + tmp156 : array + tmp167 : array + tmp168 : array + tmp169 : array + tmp170 : array + tmp171 : array + tmp172 : array + tmp175 : array + tmp176 : array + tmp18 : array + tmp188 : array + tmp190 : array + tmp192 : array + tmp196 : array + tmp198 : array + tmp199 : array + tmp20 : array + tmp200 : array + tmp201 : array + tmp202 : array + tmp203 : array + tmp204 : array + tmp205 : array + tmp206 : array + tmp207 : array + tmp22 : array + tmp221 : array + tmp227 : array + tmp24 : array + tmp243 : array + tmp244 : array + tmp248 : array + tmp253 : array + tmp260 : array + tmp262 : array + tmp271 : array + tmp272 : array + tmp283 : array + tmp284 : array + tmp290 : array + tmp293 : array + tmp294 : array + tmp296 : array + tmp299 : array + tmp300 : array + tmp304 : array + tmp317 : array + tmp318 : array + tmp319 : array + tmp321 : array + tmp323 : array + tmp324 : array + tmp325 : array + tmp328 : array + tmp330 : array + tmp341 : array + tmp35 : array + tmp366 : array + tmp370 : array + tmp372 : array + tmp374 : array + tmp38 : array + tmp381 : array + tmp382 : array + tmp383 : array + tmp384 : array + tmp385 : array + tmp386 : array + tmp387 : array + tmp388 : array + tmp389 : array + tmp390 : array + tmp398 : array + tmp412 : array + tmp419 : array + tmp420 : array + tmp421 : array + tmp422 : array + tmp423 : array + tmp424 : array + tmp428 : array + tmp43 : array + tmp44 : array + tmp440 : array + tmp442 : array + tmp448 : array + tmp45 : array + tmp451 : array + tmp462 : array + tmp463 : array + tmp47 : array + tmp476 : array + tmp477 : array + tmp479 : array + tmp492 : array + tmp5 : array + tmp500 : array + tmp505 : array + tmp506 : array + tmp522 : array + tmp525 : array + tmp529 : array + tmp53 : array + tmp530 : array + tmp531 : array + tmp532 : array + tmp533 : array + tmp537 : array + tmp539 : array + tmp543 : array + tmp544 : array + tmp55 : array + tmp61 : array + tmp62 : array + tmp65 : array + tmp7 : array + tmp80 : array + tmp81 : array + tmp82 : array + tmp84 : array + tmp86 : array + tmp87 : array + tmp89 : array + tmp90 : array + tmp91 : array + tmp93 : array + tmp94 : array + tmp97 : array + """ + + tmp43 = einsum(v.oovv, (0, 1, 2, 3), t1, (1, 3), (0, 2)) + tmp80 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 3, 4, 2), (0, 4)) + tmp61 = einsum(t1, (0, 1), f.vv, (2, 1), (0, 2)) + tmp114 = einsum(t1, (0, 1), f.oo, (2, 0), (2, 1)) + tmp119 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 1, 0, 3), (4, 2)) + tmp141 = einsum(v.ovov, (0, 1, 2, 3), t3, (4, 2, 0, 1, 5, 3), (4, 5)) + tmp243 = einsum(v.vvvv, (0, 1, 2, 3), t2, (4, 5, 1, 3), (4, 5, 0, 2)) + tmp537 = einsum(v.oooo, (0, 1, 2, 3), t2, (1, 3, 4, 5), (0, 2, 4, 5)) + tmp81 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 2, 4, 3), (0, 4)) + tmp62 = einsum(f.ov, (0, 1), t1, (2, 1), (0, 2)) + tmp100 = einsum(t1, (0, 1), tmp62, (0, 2), (2, 1)) + tmp107 = einsum(v.ovvv, (0, 1, 2, 3), t1, (4, 1), (4, 0, 2, 3)) + tmp120 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 0, 1, 3), (4, 2)) + tmp124 = einsum(f.ov, (0, 1), t2, (2, 0, 1, 3), (2, 3)) + tmp125 = einsum(t2, (0, 1, 2, 3), f.ov, (1, 3), (0, 2)) + tmp142 = einsum(v.ovov, (0, 1, 2, 3), t3, (4, 2, 0, 5, 1, 3), (4, 5)) + tmp143 = einsum(v.ovov, (0, 1, 2, 3), t3, (4, 2, 0, 5, 3, 1), (4, 5)) + tmp144 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovov, (0, 3, 2, 5), (1, 4)) + tmp271 = einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 2), (0, 4, 3, 5)) + tmp299 = einsum(t2, (0, 1, 2, 3), f.vv, (4, 3), (0, 1, 4, 2)) + tmp304 = einsum(v.vvvv, (0, 1, 2, 3), t2, (4, 5, 6, 3), (4, 5, 6, 0, 1, 2)) + tmp317 = einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 0, 1, 6, 3), (4, 5, 6, 2)) + tmp318 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovvv, (2, 5, 6, 4), (0, 1, 3, 6)) + tmp325 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 5, 6, 3), (4, 5, 0, 6, 1, 2)) + tmp341 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 5, 6, 1), (4, 5, 0, 6, 2, 3)) + tmp366 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 5, 6, 3), (0, 1, 4, 6, 2, 5)) + tmp372 = einsum(t2, (0, 1, 2, 3), f.oo, (4, 1), (4, 0, 2, 3)) + tmp374 = einsum(t1, (0, 1), v.ooov, (2, 0, 3, 4), (2, 3, 1, 4)) + tmp381 = einsum(v.ooov, (0, 1, 2, 3), t3, (1, 4, 2, 5, 6, 3), (4, 0, 5, 6)) + tmp382 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ooov, (6, 1, 2, 5), (0, 6, 3, 4)) + tmp20 = einsum(v.ovov, (0, 1, 2, 3), t2, (0, 2, 1, 4), (4, 3)) + tmp422 = einsum(tmp20, (0, 1), t2, (2, 3, 4, 1), (2, 3, 4, 0)) + tmp428 = einsum(f.ov, (0, 1), t3, (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) + tmp440 = einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 0, 6, 7, 1), (4, 5, 6, 7, 2, 3)) + tmp442 = einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 0, 6, 7, 3), (4, 5, 6, 7, 1, 2)) + tmp476 = einsum(v.ovov, (0, 1, 2, 3), t3, (4, 2, 0, 5, 1, 6), (4, 5, 6, 3)) + tmp477 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovov, (2, 6, 1, 5), (0, 3, 4, 6)) + tmp479 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovov, (2, 6, 1, 4), (0, 3, 5, 6)) + tmp492 = einsum(v.ooov, (0, 1, 2, 3), t3, (1, 4, 2, 5, 6, 7), (4, 0, 5, 7, 6, 3)) + tmp500 = einsum(v.ooov, (0, 1, 2, 3), t3, (4, 1, 2, 5, 6, 7), (4, 0, 5, 7, 6, 3)) + tmp525 = einsum(v.oovv, (0, 1, 2, 3), t2, (4, 1, 5, 3), (4, 0, 5, 2)) + tmp543 = einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 0, 6, 3, 7), (4, 5, 6, 7, 1, 2)) + tmp544 = einsum(v.ovov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 1, 7), (4, 5, 0, 6, 7, 3)) + tmp5 = einsum(v.ovvv, (0, 1, 2, 3), t1, (0, 1), (2, 3)) + tmp89 = einsum(t1, (0, 1), tmp5, (2, 1), (0, 2)) + tmp7 = einsum(v.ovvv, (0, 1, 2, 3), t1, (0, 3), (1, 2)) + tmp90 = einsum(tmp7, (0, 1), t1, (2, 0), (2, 1)) + tmp103 = einsum(t1, (0, 1), tmp20, (2, 1), (0, 2)) + tmp44 = einsum(t1, (0, 1), v.ooov, (2, 0, 3, 1), (2, 3)) + tmp121 = einsum(tmp44, (0, 1), t1, (1, 2), (0, 2)) + tmp45 = einsum(t1, (0, 1), v.ooov, (2, 3, 0, 1), (2, 3)) + tmp122 = einsum(tmp45, (0, 1), t1, (1, 2), (0, 2)) + tmp156 = einsum(tmp62, (0, 1), t2, (2, 0, 3, 4), (1, 2, 3, 4)) + tmp82 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 2, 3, 1), (4, 0)) + tmp169 = einsum(t2, (0, 1, 2, 3), tmp82, (4, 1), (0, 4, 2, 3)) + tmp84 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 2, 1, 3), (4, 0)) + tmp170 = einsum(tmp84, (0, 1), t2, (2, 1, 3, 4), (2, 0, 3, 4)) + tmp97 = einsum(t1, (0, 1), v.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) + tmp198 = einsum(t1, (0, 1), tmp97, (2, 3, 0, 4), (2, 3, 1, 4)) + tmp248 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 2, 5, 3), (0, 1, 4, 5)) + tmp260 = einsum(tmp248, (0, 1, 2, 3), t2, (2, 3, 4, 5), (0, 1, 4, 5)) + tmp65 = einsum(v.vvvv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) + tmp283 = einsum(t1, (0, 1), tmp65, (2, 3, 1, 4), (2, 0, 4, 3)) + tmp86 = einsum(t2, (0, 1, 2, 3), v.ovov, (0, 4, 1, 5), (3, 2, 5, 4)) + tmp370 = einsum(tmp86, (0, 1, 2, 3), t2, (4, 5, 6, 2), (4, 5, 1, 0, 6, 3)) + tmp18 = einsum(v.ovov, (0, 1, 2, 3), t2, (0, 2, 3, 4), (4, 1)) + tmp421 = einsum(tmp18, (0, 1), t2, (2, 3, 4, 1), (2, 3, 4, 0)) + tmp221 = einsum(t1, (0, 1), v.oovv, (2, 3, 4, 1), (0, 2, 3, 4)) + tmp505 = einsum(t1, (0, 1), tmp221, (2, 3, 0, 4), (2, 3, 1, 4)) + tmp38 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 2, 1, 5), (0, 4, 3, 5)) + tmp522 = einsum(t2, (0, 1, 2, 3), tmp38, (4, 1, 5, 2), (4, 0, 5, 3)) + tmp529 = einsum(t2, (0, 1, 2, 3), tmp38, (4, 1, 5, 3), (0, 4, 2, 5)) + tmp137 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 2, 5, 1), (4, 0, 5, 3)) + tmp530 = einsum(t2, (0, 1, 2, 3), tmp137, (4, 1, 5, 3), (4, 0, 5, 2)) + tmp138 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 5, 1, 2), (0, 4, 3, 5)) + tmp531 = einsum(t2, (0, 1, 2, 3), tmp138, (4, 1, 5, 3), (0, 4, 2, 5)) + tmp139 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 2, 5, 3), (4, 0, 5, 1)) + tmp532 = einsum(t2, (0, 1, 2, 3), tmp139, (4, 1, 5, 3), (4, 0, 5, 2)) + tmp533 = einsum(t2, (0, 1, 2, 3), tmp138, (4, 1, 5, 2), (4, 0, 5, 3)) + tmp538 = einsum(t1, (0, 1), v.oooo, (2, 3, 4, 0), (2, 3, 4, 1)) + tmp539 = einsum(t1, (0, 1), tmp538, (2, 0, 3, 4), (2, 3, 1, 4)) + del tmp538 + tmp104 = einsum(t1, (0, 1), tmp18, (2, 1), (0, 2)) + tmp105 = einsum(tmp84, (0, 1), t1, (1, 2), (0, 2)) + tmp106 = einsum(tmp82, (0, 1), t1, (1, 2), (0, 2)) + tmp22 = einsum(v.ovov, (0, 1, 2, 3), t1, (2, 1), (0, 3)) + tmp93 = einsum(t1, (0, 1), tmp22, (2, 1), (0, 2)) + tmp112 = einsum(tmp93, (0, 1), t1, (1, 2), (0, 2)) + tmp24 = einsum(t1, (0, 1), v.ovov, (2, 3, 0, 1), (2, 3)) + tmp94 = einsum(t1, (0, 1), tmp24, (2, 1), (0, 2)) + tmp113 = einsum(t1, (0, 1), tmp94, (2, 0), (2, 1)) + tmp145 = einsum(tmp38, (0, 1, 2, 3), t1, (1, 3), (0, 2)) + tmp146 = einsum(t1, (0, 1), tmp137, (2, 0, 3, 1), (2, 3)) + tmp147 = einsum(t1, (0, 1), tmp138, (2, 0, 3, 1), (2, 3)) + tmp148 = einsum(tmp139, (0, 1, 2, 3), t1, (1, 3), (0, 2)) + tmp53 = einsum(v.ovov, (0, 1, 2, 3), t3, (0, 4, 2, 5, 6, 3), (4, 5, 6, 1)) + tmp167 = einsum(tmp53, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) + tmp55 = einsum(v.ovov, (0, 1, 2, 3), t3, (4, 2, 0, 5, 6, 1), (4, 5, 6, 3)) + tmp168 = einsum(tmp55, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) + tmp47 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 0, 1, 5), (4, 2, 3, 5)) + tmp188 = einsum(tmp47, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) + tmp189 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovov, (2, 6, 1, 7), (0, 3, 5, 4, 6, 7)) + tmp190 = einsum(tmp189, (0, 1, 2, 3, 4, 5), t1, (6, 5), (6, 0, 1, 2, 3, 4)) + del tmp189 + tmp192 = einsum(t1, (0, 1), v.ooov, (2, 3, 4, 1), (0, 2, 3, 4)) + tmp195 = einsum(t1, (0, 1), tmp192, (2, 3, 4, 0), (2, 3, 4, 1)) + tmp196 = einsum(t1, (0, 1), tmp195, (2, 3, 0, 4), (2, 3, 1, 4)) + del tmp195 + tmp133 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 3), (0, 2, 4, 5)) + tmp205 = einsum(tmp133, (0, 1, 2, 3), t1, (4, 2), (4, 0, 1, 3)) + tmp132 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 0, 5, 1), (4, 5, 2, 3)) + tmp206 = einsum(tmp132, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) + tmp134 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 2, 4, 5), (0, 3, 4, 5)) + tmp207 = einsum(tmp134, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) + tmp226 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovov, (0, 6, 2, 7), (1, 3, 5, 4, 7, 6)) * -1 + tmp227 = einsum(tmp226, (0, 1, 2, 3, 4, 5), t1, (6, 4), (6, 0, 1, 2, 3, 5)) * -1 + del tmp226 + tmp244 = einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 2, 5, 3), (0, 1, 4, 5)) + tmp253 = einsum(t1, (0, 1), tmp244, (2, 3, 0, 4), (2, 3, 1, 4)) + tmp91 = einsum(v.ovvv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) + tmp284 = einsum(t1, (0, 1), tmp91, (2, 3, 1, 4), (0, 2, 3, 4)) + tmp294 = einsum(t1, (0, 1), tmp284, (2, 3, 0, 4), (2, 3, 1, 4)) + tmp323 = einsum(t2, (0, 1, 2, 3), tmp5, (4, 3), (0, 1, 2, 4)) + tmp324 = einsum(tmp7, (0, 1), t2, (2, 3, 4, 0), (2, 3, 4, 1)) + tmp383 = einsum(tmp44, (0, 1), t2, (2, 1, 3, 4), (2, 0, 3, 4)) + tmp384 = einsum(tmp45, (0, 1), t2, (2, 1, 3, 4), (2, 0, 3, 4)) + tmp385 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 1, 3), (0, 4, 5, 2)) + tmp386 = einsum(t1, (0, 1), tmp385, (2, 3, 0, 4), (2, 3, 1, 4)) + tmp387 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 1, 5, 3), (0, 4, 5, 2)) + tmp388 = einsum(t1, (0, 1), tmp387, (2, 3, 0, 4), (2, 3, 1, 4)) + tmp389 = einsum(v.ooov, (0, 1, 2, 3), t2, (4, 2, 3, 5), (4, 0, 1, 5)) + tmp390 = einsum(t1, (0, 1), tmp389, (2, 3, 0, 4), (2, 3, 1, 4)) + tmp272 = einsum(v.ooov, (0, 1, 2, 3), t2, (4, 1, 3, 5), (4, 0, 2, 5)) + tmp398 = einsum(t1, (0, 1), tmp272, (2, 3, 0, 4), (2, 3, 1, 4)) + tmp300 = einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), (0, 2, 3, 4)) + tmp412 = einsum(t1, (0, 1), tmp300, (0, 2, 3, 4), (2, 3, 1, 4)) + tmp319 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovov, (6, 3, 2, 5), (0, 1, 6, 4)) + tmp419 = einsum(t1, (0, 1), tmp319, (2, 3, 0, 4), (2, 3, 1, 4)) + tmp321 = einsum(v.ovov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 1, 3), (4, 5, 0, 6)) + tmp420 = einsum(t1, (0, 1), tmp321, (2, 3, 0, 4), (2, 3, 1, 4)) + tmp448 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovov, (6, 5, 2, 7), (0, 1, 6, 3, 4, 7)) + tmp462 = einsum(tmp448, (0, 1, 2, 3, 4, 5), t1, (2, 5), (0, 1, 3, 4)) + tmp451 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovov, (6, 7, 2, 5), (0, 1, 6, 3, 4, 7)) + tmp463 = einsum(tmp451, (0, 1, 2, 3, 4, 5), t1, (2, 5), (0, 1, 3, 4)) + tmp35 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 2), (0, 3, 4, 5)) + tmp506 = einsum(tmp35, (0, 1, 2, 3), t1, (4, 2), (4, 0, 1, 3)) + tmp171 = einsum(tmp93, (0, 1), t2, (2, 1, 3, 4), (0, 2, 3, 4)) + tmp172 = einsum(tmp94, (0, 1), t2, (2, 1, 3, 4), (0, 2, 3, 4)) + tmp175 = einsum(t1, (0, 1), tmp38, (2, 3, 4, 1), (0, 2, 3, 4)) + tmp176 = einsum(t1, (0, 1), tmp175, (2, 3, 0, 4), (2, 3, 1, 4)) + tmp199 = einsum(t1, (0, 1), tmp137, (2, 3, 4, 1), (0, 2, 3, 4)) + tmp200 = einsum(t1, (0, 1), tmp199, (2, 3, 0, 4), (2, 3, 1, 4)) + tmp201 = einsum(tmp139, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) + tmp202 = einsum(t1, (0, 1), tmp201, (2, 3, 0, 4), (2, 3, 1, 4)) + tmp203 = einsum(t1, (0, 1), tmp138, (2, 3, 4, 1), (0, 2, 3, 4)) + tmp204 = einsum(t1, (0, 1), tmp203, (2, 3, 0, 4), (2, 3, 1, 4)) + tmp261 = einsum(t1, (0, 1), tmp248, (2, 3, 4, 0), (2, 3, 4, 1)) + tmp262 = einsum(t1, (0, 1), tmp261, (2, 3, 0, 4), (2, 3, 1, 4)) + del tmp261 + tmp87 = einsum(tmp86, (0, 1, 2, 3), t1, (4, 2), (4, 1, 0, 3)) + tmp293 = einsum(t1, (0, 1), tmp87, (2, 3, 4, 1), (2, 0, 4, 3)) + tmp290 = einsum(t1, (0, 1), tmp97, (2, 3, 4, 1), (2, 0, 4, 3)) + tmp295 = einsum(t1, (0, 1), tmp290, (2, 3, 0, 4), (3, 2, 4, 1)) + tmp296 = einsum(t1, (0, 1), tmp295, (2, 3, 0, 4), (3, 2, 4, 1)) + del tmp295 + tmp328 = einsum(t2, (0, 1, 2, 3), tmp22, (4, 3), (0, 1, 4, 2)) + tmp423 = einsum(t1, (0, 1), tmp328, (2, 3, 0, 4), (2, 3, 1, 4)) + tmp330 = einsum(t2, (0, 1, 2, 3), tmp24, (4, 3), (0, 1, 4, 2)) + tmp424 = einsum(t1, (0, 1), tmp330, (2, 3, 0, 4), (2, 3, 1, 4)) + + return {f"tmp100": tmp100, f"tmp103": tmp103, f"tmp104": tmp104, f"tmp105": tmp105, f"tmp106": tmp106, f"tmp107": tmp107, f"tmp112": tmp112, f"tmp113": tmp113, f"tmp114": tmp114, f"tmp119": tmp119, f"tmp120": tmp120, f"tmp121": tmp121, f"tmp122": tmp122, f"tmp124": tmp124, f"tmp125": tmp125, f"tmp132": tmp132, f"tmp133": tmp133, f"tmp134": tmp134, f"tmp137": tmp137, f"tmp138": tmp138, f"tmp139": tmp139, f"tmp141": tmp141, f"tmp142": tmp142, f"tmp143": tmp143, f"tmp144": tmp144, f"tmp145": tmp145, f"tmp146": tmp146, f"tmp147": tmp147, f"tmp148": tmp148, f"tmp156": tmp156, f"tmp167": tmp167, f"tmp168": tmp168, f"tmp169": tmp169, f"tmp170": tmp170, f"tmp171": tmp171, f"tmp172": tmp172, f"tmp175": tmp175, f"tmp176": tmp176, f"tmp18": tmp18, f"tmp188": tmp188, f"tmp190": tmp190, f"tmp192": tmp192, f"tmp196": tmp196, f"tmp198": tmp198, f"tmp199": tmp199, f"tmp20": tmp20, f"tmp200": tmp200, f"tmp201": tmp201, f"tmp202": tmp202, f"tmp203": tmp203, f"tmp204": tmp204, f"tmp205": tmp205, f"tmp206": tmp206, f"tmp207": tmp207, f"tmp22": tmp22, f"tmp221": tmp221, f"tmp227": tmp227, f"tmp24": tmp24, f"tmp243": tmp243, f"tmp244": tmp244, f"tmp248": tmp248, f"tmp253": tmp253, f"tmp260": tmp260, f"tmp262": tmp262, f"tmp271": tmp271, f"tmp272": tmp272, f"tmp283": tmp283, f"tmp284": tmp284, f"tmp290": tmp290, f"tmp293": tmp293, f"tmp294": tmp294, f"tmp296": tmp296, f"tmp299": tmp299, f"tmp300": tmp300, f"tmp304": tmp304, f"tmp317": tmp317, f"tmp318": tmp318, f"tmp319": tmp319, f"tmp321": tmp321, f"tmp323": tmp323, f"tmp324": tmp324, f"tmp325": tmp325, f"tmp328": tmp328, f"tmp330": tmp330, f"tmp341": tmp341, f"tmp35": tmp35, f"tmp366": tmp366, f"tmp370": tmp370, f"tmp372": tmp372, f"tmp374": tmp374, f"tmp38": tmp38, f"tmp381": tmp381, f"tmp382": tmp382, f"tmp383": tmp383, f"tmp384": tmp384, f"tmp385": tmp385, f"tmp386": tmp386, f"tmp387": tmp387, f"tmp388": tmp388, f"tmp389": tmp389, f"tmp390": tmp390, f"tmp398": tmp398, f"tmp412": tmp412, f"tmp419": tmp419, f"tmp420": tmp420, f"tmp421": tmp421, f"tmp422": tmp422, f"tmp423": tmp423, f"tmp424": tmp424, f"tmp428": tmp428, f"tmp43": tmp43, f"tmp44": tmp44, f"tmp440": tmp440, f"tmp442": tmp442, f"tmp448": tmp448, f"tmp45": tmp45, f"tmp451": tmp451, f"tmp462": tmp462, f"tmp463": tmp463, f"tmp47": tmp47, f"tmp476": tmp476, f"tmp477": tmp477, f"tmp479": tmp479, f"tmp492": tmp492, f"tmp5": tmp5, f"tmp500": tmp500, f"tmp505": tmp505, f"tmp506": tmp506, f"tmp522": tmp522, f"tmp525": tmp525, f"tmp529": tmp529, f"tmp53": tmp53, f"tmp530": tmp530, f"tmp531": tmp531, f"tmp532": tmp532, f"tmp533": tmp533, f"tmp537": tmp537, f"tmp539": tmp539, f"tmp543": tmp543, f"tmp544": tmp544, f"tmp55": tmp55, f"tmp61": tmp61, f"tmp62": tmp62, f"tmp65": tmp65, f"tmp7": tmp7, f"tmp80": tmp80, f"tmp81": tmp81, f"tmp82": tmp82, f"tmp84": tmp84, f"tmp86": tmp86, f"tmp87": tmp87, f"tmp89": tmp89, f"tmp90": tmp90, f"tmp91": tmp91, f"tmp93": tmp93, f"tmp94": tmp94, f"tmp97": tmp97} + +def hbar_matvec_ea(f=None, r1=None, r2=None, r3=None, t1=None, t2=None, t3=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-10-22T09:04:24.062505. + + Parameters + ---------- + f : array + Fock matrix. + r1 : array + R1 amplitudes. + r2 : array + R2 amplitudes. + r3 : array + R3 amplitudes. + t1 : array + T1 amplitudes. + t2 : array + T2 amplitudes. + t3 : array + T3 amplitudes. + v : array + Electron repulsion integrals. + + Returns + ------- + r1new : array + Updated R1 residuals. + r2new : array + Updated R2 residuals. + r3new : array + Updated R3 residuals. + """ + + ints = kwargs["ints"] + tmp0 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1))) * -1 + tmp0 += np.transpose(v.ovov, (0, 2, 1, 3)) + r1new = einsum(r3, (0, 1, 2, 3, 4), tmp0, (3, 4, 0, 1), (2,)) * 0.25 + tmp1 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1))) + tmp1 += np.transpose(v.ovov, (0, 2, 1, 3)) * -0.42857142857142855 + r1new += einsum(tmp1, (0, 1, 2, 3), r3, (4, 2, 3, 0, 1), (4,)) * -1.75 + del tmp1 + tmp2 = np.copy(v.ovvv) * 2 + tmp2 += np.transpose(v.ovvv, (0, 2, 1, 3)) * -1 + r1new += einsum(r2, (0, 1, 2), tmp2, (2, 0, 1, 3), (3,)) * -1 + del tmp2 + tmp4 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1))) + tmp4 += np.transpose(v.ovov, (0, 2, 1, 3)) * -0.5 + tmp3 = np.copy(np.transpose(r2, (2, 0, 1))) * -0.5 + tmp3 += np.transpose(r2, (2, 1, 0)) + tmp5 = einsum(tmp3, (0, 1, 2), tmp4, (0, 3, 4, 2), (3, 1, 4)) * -2 + del tmp4 + r1new += einsum(t1, (0, 1), tmp5, (0, 2, 1), (2,)) * 2 + del tmp5 + tmp6 = np.copy(np.transpose(r2, (2, 0, 1))) * -1 + tmp6 += np.transpose(r2, (2, 1, 0)) * 2 + r1new += einsum(f.ov, (0, 1), tmp6, (0, 2, 1), (2,)) * -1 + tmp7 = np.copy(f.vv) + tmp7 += np.transpose(ints.tmp18, (1, 0)) + tmp7 += np.transpose(ints.tmp5, (1, 0)) * 2 + tmp7 += np.transpose(ints.tmp20, (1, 0)) * -2 + tmp7 += ints.tmp7 * -1 + r1new += einsum(tmp7, (0, 1), r1, (0,), (1,)) + tmp8 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1))) * 2 + tmp8 += np.transpose(v.ovov, (0, 2, 1, 3)) * -1 + tmp9 = einsum(r2, (0, 1, 2), tmp8, (2, 3, 1, 0), (3,)) + tmp12 = np.copy(tmp9) * -1 + del tmp9 + tmp10 = np.copy(f.ov) + tmp10 += ints.tmp24 * 2 + tmp10 += ints.tmp22 * -1 + tmp11 = einsum(r1, (0,), tmp10, (1, 0), (1,)) + tmp12 += tmp11 + del tmp11 + r1new += einsum(t1, (0, 1), tmp12, (0,), (1,)) * -1 + r2new = einsum(r3, (0, 1, 2, 3, 4), v.ovvv, (3, 2, 5, 1), (5, 0, 4)) + r2new += einsum(r3, (0, 1, 2, 3, 4), v.ovvv, (4, 1, 5, 2), (0, 5, 3)) * -1 + r2new += einsum(v.vvvv, (0, 1, 2, 3), r2, (1, 3, 4), (0, 2, 4)) + r2new += einsum(v.ooov, (0, 1, 2, 3), r3, (4, 5, 3, 2, 1), (5, 4, 0)) * -1 + tmp13 = einsum(r2, (0, 1, 2), v.ovov, (3, 0, 4, 1), (2, 3, 4)) + r2new += einsum(tmp13, (0, 1, 2), t2, (1, 2, 3, 4), (3, 4, 0)) + tmp14 = np.copy(v.ovvv) * -1 + tmp14 += np.transpose(v.ovvv, (0, 2, 1, 3)) + r2new += einsum(r3, (0, 1, 2, 3, 4), tmp14, (4, 0, 1, 5), (5, 2, 3)) * -0.5 + del tmp14 + tmp15 = np.copy(v.ovvv) + tmp15 += np.transpose(v.ovvv, (0, 2, 1, 3)) * -1 + r2new += einsum(tmp15, (0, 1, 2, 3), r3, (2, 4, 1, 0, 5), (4, 3, 5)) * 0.5 + tmp16 = np.copy(v.ooov) * -1 + tmp16 += np.transpose(v.ovoo, (0, 2, 3, 1)) + r2new += einsum(tmp16, (0, 1, 2, 3), r3, (4, 3, 5, 0, 2), (4, 5, 1)) * -0.5 + del tmp16 + tmp17 = np.copy(ints.tmp139) * 2 + tmp17 += np.transpose(v.ovov, (0, 2, 1, 3)) + tmp17 += ints.tmp137 * -1 + tmp17 += ints.tmp138 * -1 + r2new += einsum(tmp3, (0, 1, 2), tmp17, (3, 0, 4, 2), (4, 1, 3)) * 2 + del tmp17 + tmp19 = np.copy(np.transpose(r3, (3, 4, 0, 1, 2))) * -1 + tmp19 += np.transpose(r3, (4, 3, 1, 2, 0)) + tmp18 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1))) * -0.5 + tmp18 += np.transpose(v.ovov, (0, 2, 1, 3)) + tmp20 = einsum(tmp18, (0, 1, 2, 3), tmp19, (4, 0, 5, 2, 6), (4, 1, 6, 5, 3)) * 2 + del tmp18, tmp19 + r2new += einsum(tmp20, (0, 1, 2, 3, 4), t1, (1, 4), (3, 2, 0)) + del tmp20 + tmp21 = np.copy(ints.tmp38) + tmp21 += v.oovv * -1 + r2new += einsum(r2, (0, 1, 2), tmp21, (3, 2, 4, 1), (0, 4, 3)) + r2new += einsum(r2, (0, 1, 2), tmp21, (3, 2, 4, 0), (4, 1, 3)) + del tmp21 + tmp22 = np.copy(np.transpose(r3, (3, 4, 0, 1, 2))) * -1 + tmp22 += np.transpose(r3, (4, 3, 2, 0, 1)) + r2new += einsum(tmp22, (0, 1, 2, 3, 4), f.ov, (0, 4), (3, 2, 1)) * -1 + del tmp22 + tmp23 = einsum(r2, (0, 1, 2), v.ovvv, (2, 3, 4, 1), (0, 3, 4)) + tmp26 = np.copy(tmp23) + tmp24 = einsum(v.ovvv, (0, 1, 2, 3), r2, (3, 4, 0), (4, 1, 2)) + tmp26 += np.transpose(tmp24, (2, 1, 0)) + tmp25 = einsum(r3, (0, 1, 2, 3, 4), v.ovov, (3, 2, 4, 5), (0, 1, 5)) + tmp26 += np.transpose(tmp25, (1, 2, 0)) + tmp26 += einsum(r3, (0, 1, 2, 3, 4), tmp0, (4, 3, 5, 1), (0, 5, 2)) * 0.5 + tmp26 += einsum(v.ovvv, (0, 1, 2, 3), tmp6, (0, 4, 1), (2, 3, 4)) * -1 + del tmp6 + r2new += einsum(tmp26, (0, 1, 2), t1, (3, 1), (0, 2, 3)) * -1 + del tmp26 + tmp27 = np.copy(ints.tmp132) * 2 + tmp27 += ints.tmp47 + tmp27 += np.transpose(ints.tmp65, (0, 3, 1, 2)) + del ints.tmp65 + tmp27 += np.transpose(ints.tmp87, (0, 2, 1, 3)) + del ints.tmp87 + tmp27 += v.ovvv + tmp27 += np.transpose(ints.tmp133, (0, 1, 3, 2)) * -1 + tmp27 += ints.tmp134 * -1 + tmp27 += np.transpose(ints.tmp35, (0, 3, 1, 2)) * -1 + tmp27 += np.transpose(ints.tmp53, (0, 2, 1, 3)) * -1 + tmp27 += ints.tmp55 * -1 + r2new += einsum(r1, (0,), tmp27, (1, 2, 3, 0), (2, 3, 1)) * -1 + del tmp27 + r2new += einsum(r2, (0, 1, 2), tmp7, (0, 3), (3, 1, 2)) + r2new += einsum(tmp7, (0, 1), r2, (2, 0, 3), (2, 1, 3)) + tmp28 = einsum(r2, (0, 1, 2), v.ooov, (3, 2, 4, 0), (3, 4, 1)) + tmp39 = np.copy(np.transpose(tmp28, (1, 0, 2))) * -1 + tmp29 = einsum(r2, (0, 1, 2), v.ovvv, (3, 0, 4, 1), (2, 3, 4)) + tmp39 += np.transpose(tmp29, (1, 0, 2)) + tmp30 = einsum(v.ovov, (0, 1, 2, 3), r3, (4, 1, 3, 2, 5), (5, 0, 4)) + tmp39 += np.transpose(tmp30, (1, 0, 2)) + tmp31 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1))) + tmp31 += np.transpose(v.ovov, (0, 2, 1, 3)) * -1 + tmp39 += einsum(tmp31, (0, 1, 2, 3), r3, (2, 3, 4, 5, 0), (1, 5, 4)) * -0.5 + del tmp31 + tmp32 = np.copy(np.transpose(r2, (2, 0, 1))) + tmp32 += np.transpose(r2, (2, 1, 0)) * -0.5 + tmp39 += einsum(tmp32, (0, 1, 2), v.ooov, (3, 4, 0, 1), (3, 4, 2)) * 2 + del tmp32 + tmp33 = np.copy(f.ov) * 0.5 + tmp33 += ints.tmp24 + tmp33 += ints.tmp22 * -0.5 + tmp39 += einsum(r2, (0, 1, 2), tmp33, (3, 0), (3, 2, 1)) * 2 + del tmp33 + tmp34 = einsum(r2, (0, 1, 2), v.ovov, (3, 0, 2, 4), (3, 1, 4)) + tmp35 = np.copy(tmp34) * 0.5 + tmp35 += einsum(v.ovov, (0, 1, 2, 3), tmp3, (2, 4, 3), (0, 4, 1)) * -1 + tmp39 += einsum(t1, (0, 1), tmp35, (2, 3, 1), (2, 0, 3)) * -2 + del tmp35 + tmp36 = np.copy(ints.tmp107) + tmp36 += v.oovv + tmp36 += ints.tmp38 * -1 + tmp39 += einsum(tmp36, (0, 1, 2, 3), r1, (3,), (1, 0, 2)) * -1 + del tmp36 + tmp37 = einsum(v.ooov, (0, 1, 2, 3), r1, (3,), (0, 1, 2)) + tmp38 = np.copy(np.transpose(tmp37, (1, 0, 2))) + tmp38 += tmp13 * -1 + tmp39 += einsum(t1, (0, 1), tmp38, (2, 3, 0), (3, 2, 1)) + del tmp38 + r2new += einsum(tmp39, (0, 1, 2), t1, (0, 3), (3, 2, 1)) * -1 + del tmp39 + tmp40 = einsum(v.ooov, (0, 1, 2, 3), r2, (4, 3, 1), (0, 2, 4)) + tmp47 = np.copy(np.transpose(tmp40, (1, 0, 2))) + tmp41 = einsum(ints.tmp97, (0, 1, 2, 3), r1, (3,), (0, 1, 2)) + tmp47 += einsum(t1, (0, 1), tmp41, (2, 3, 0), (3, 2, 1)) * -1 + tmp42 = einsum(r2, (0, 1, 2), v.ovvv, (3, 1, 4, 0), (2, 3, 4)) + tmp47 += np.transpose(tmp42, (1, 0, 2)) * -1 + tmp43 = einsum(v.ovov, (0, 1, 2, 3), r3, (4, 3, 1, 5, 2), (5, 0, 4)) + tmp47 += np.transpose(tmp43, (1, 0, 2)) + tmp44 = einsum(r2, (0, 1, 2), v.ovov, (3, 1, 2, 4), (3, 0, 4)) + tmp45 = einsum(t1, (0, 1), tmp44, (2, 3, 1), (0, 2, 3)) + tmp47 += np.transpose(tmp45, (1, 0, 2)) + tmp47 += einsum(tmp0, (0, 1, 2, 3), r3, (2, 4, 3, 0, 5), (1, 5, 4)) * 0.5 + tmp46 = np.copy(ints.tmp139) + tmp46 += np.transpose(ints.tmp91, (0, 1, 3, 2)) * 0.5 + tmp46 += np.transpose(v.ovov, (0, 2, 1, 3)) * 0.5 + tmp46 += ints.tmp137 * -0.5 + tmp46 += ints.tmp138 * -0.5 + tmp47 += einsum(r1, (0,), tmp46, (1, 2, 3, 0), (2, 1, 3)) * 2 + del tmp46 + tmp47 += einsum(tmp10, (0, 1), r2, (2, 1, 3), (0, 3, 2)) * -1 + r2new += einsum(tmp47, (0, 1, 2), t1, (0, 3), (2, 3, 1)) + del tmp47 + tmp48 = np.copy(f.oo) + tmp48 += np.transpose(ints.tmp45, (1, 0)) * 2 + tmp48 += ints.tmp62 + tmp48 += np.transpose(ints.tmp84, (1, 0)) * 2 + tmp48 += np.transpose(ints.tmp94, (1, 0)) * 2 + tmp48 += np.transpose(ints.tmp44, (1, 0)) * -1 + tmp48 += np.transpose(ints.tmp82, (1, 0)) * -1 + tmp48 += np.transpose(ints.tmp93, (1, 0)) * -1 + r2new += einsum(tmp48, (0, 1), r2, (2, 3, 0), (2, 3, 1)) * -1 + tmp49 = einsum(r2, (0, 1, 2), tmp8, (2, 3, 1, 0), (3,)) * -0.5 + del tmp8 + tmp49 += einsum(r1, (0,), tmp10, (1, 0), (1,)) * 0.5 + r2new += einsum(t2, (0, 1, 2, 3), tmp49, (1,), (2, 3, 0)) * 2 + del tmp49 + tmp50 = np.copy(f.ov) + tmp50 += ints.tmp104 + tmp50 += ints.tmp106 + tmp50 += ints.tmp112 + tmp50 += ints.tmp119 + tmp50 += ints.tmp121 + tmp50 += ints.tmp125 * 2 + tmp50 += ints.tmp141 * 0.5 + tmp50 += ints.tmp143 * 1.5 + tmp50 += ints.tmp144 * 0.5 + tmp50 += ints.tmp145 + tmp50 += ints.tmp148 * 4 + tmp50 += ints.tmp24 * 2 + tmp50 += ints.tmp61 + tmp50 += ints.tmp80 * 2 + tmp50 += ints.tmp89 * 2 + tmp50 += ints.tmp100 * -1 + tmp50 += ints.tmp103 * -2 + tmp50 += ints.tmp105 * -2 + tmp50 += ints.tmp113 * -2 + tmp50 += ints.tmp114 * -1 + tmp50 += ints.tmp120 * -2 + tmp50 += ints.tmp122 * -2 + tmp50 += ints.tmp124 * -1 + tmp50 += ints.tmp142 * -0.5 + tmp50 += ints.tmp146 * -2 + tmp50 += ints.tmp147 * -2 + tmp50 += ints.tmp43 * -1 + tmp50 += ints.tmp81 * -1 + tmp50 += ints.tmp90 * -1 + r2new += einsum(tmp50, (0, 1), r1, (2,), (1, 2, 0)) * -1 + r3new = einsum(ints.tmp544, (0, 1, 2, 3, 4, 5), r2, (6, 5, 2), (4, 6, 3, 0, 1)) + r3new += einsum(v.oovv, (0, 1, 2, 3), r3, (4, 3, 5, 1, 6), (4, 2, 5, 0, 6)) * -1 + tmp51 = einsum(r3, (0, 1, 2, 3, 4), v.ovov, (3, 5, 4, 2), (0, 1, 5)) + r3new += einsum(t2, (0, 1, 2, 3), tmp51, (4, 5, 2), (4, 3, 5, 0, 1)) + del tmp51 + tmp52 = einsum(v.ovov, (0, 1, 2, 3), r3, (4, 1, 5, 2, 6), (6, 0, 4, 5, 3)) + r3new += einsum(t2, (0, 1, 2, 3), tmp52, (4, 1, 5, 6, 2), (5, 3, 6, 0, 4)) + tmp53 = einsum(v.ovov, (0, 1, 2, 3), r3, (4, 5, 1, 6, 2), (6, 0, 4, 5, 3)) + r3new += einsum(t2, (0, 1, 2, 3), tmp53, (4, 1, 5, 6, 3), (5, 2, 6, 4, 0)) + r3new += einsum(tmp13, (0, 1, 2), t3, (1, 3, 2, 4, 5, 6), (4, 5, 6, 0, 3)) * -1 + r3new += einsum(t3, (0, 1, 2, 3, 4, 5), tmp13, (6, 1, 2), (3, 4, 5, 0, 6)) * -1 + tmp54 = einsum(r1, (0,), ints.tmp442, (1, 2, 3, 4, 0, 5), (1, 2, 3, 4, 5)) + del ints.tmp442 + tmp67 = np.copy(tmp54) + del tmp54 + tmp55 = einsum(r2, (0, 1, 2), v.ovvv, (3, 4, 5, 1), (2, 3, 0, 4, 5)) + tmp67 += tmp55 + tmp56 = einsum(ints.tmp448, (0, 1, 2, 3, 4, 5), r2, (6, 5, 2), (0, 1, 3, 4, 6)) + tmp67 += tmp56 + del tmp56 + tmp57 = einsum(r3, (0, 1, 2, 3, 4), v.oovv, (5, 4, 6, 2), (3, 5, 0, 1, 6)) + tmp67 += tmp57 + del tmp57 + tmp58 = einsum(v.ovvv, (0, 1, 2, 3), r3, (4, 5, 3, 6, 0), (6, 4, 5, 1, 2)) + tmp59 = einsum(tmp58, (0, 1, 2, 3, 4), t1, (5, 3), (0, 5, 1, 2, 4)) + del tmp58 + tmp67 += tmp59 + del tmp59 + tmp60 = einsum(v.ovvv, (0, 1, 2, 3), r3, (4, 1, 3, 5, 6), (5, 6, 0, 4, 2)) + tmp61 = einsum(t1, (0, 1), tmp60, (2, 3, 0, 4, 5), (2, 3, 4, 1, 5)) + del tmp60 + tmp67 += tmp61 + del tmp61 + tmp62 = einsum(v.ovov, (0, 1, 2, 3), r3, (4, 3, 1, 2, 5), (5, 0, 4)) + tmp63 = einsum(tmp62, (0, 1, 2), t2, (3, 1, 4, 5), (0, 3, 2, 4, 5)) + del tmp62 + tmp67 += tmp63 * -0.5 + del tmp63 + tmp64 = np.copy(f.ov) * 0.5 + tmp64 += ints.tmp24 + tmp65 = einsum(r3, (0, 1, 2, 3, 4), tmp64, (5, 2), (3, 4, 5, 0, 1)) + tmp66 = einsum(t1, (0, 1), tmp65, (2, 3, 0, 4, 5), (2, 3, 1, 4, 5)) * 2 + del tmp65 + tmp67 += np.transpose(tmp66, (0, 1, 3, 4, 2)) + del tmp66 + r3new += np.transpose(tmp67, (2, 3, 4, 0, 1)) * -1 + r3new += np.transpose(tmp67, (4, 3, 2, 0, 1)) + del tmp67 + tmp68 = einsum(r1, (0,), ints.tmp440, (1, 2, 3, 4, 5, 0), (1, 2, 3, 4, 5)) + del ints.tmp440 + tmp87 = np.copy(tmp68) + del tmp68 + tmp69 = einsum(r2, (0, 1, 2), ints.tmp448, (3, 4, 2, 5, 6, 0), (3, 4, 5, 6, 1)) + tmp87 += tmp69 + del tmp69 + tmp70 = einsum(ints.tmp451, (0, 1, 2, 3, 4, 5), r2, (6, 5, 2), (0, 1, 3, 4, 6)) + tmp87 += tmp70 + del tmp70 + tmp71 = einsum(tmp41, (0, 1, 2), t2, (3, 1, 4, 5), (0, 2, 3, 4, 5)) + tmp72 = einsum(t1, (0, 1), tmp71, (2, 0, 3, 4, 5), (2, 3, 1, 4, 5)) + del tmp71 + tmp87 += tmp72 + del tmp72 + tmp73 = np.copy(ints.tmp133) + tmp73 += np.transpose(ints.tmp134, (0, 1, 3, 2)) + tmp73 += np.transpose(ints.tmp55, (0, 1, 3, 2)) + tmp74 = einsum(r2, (0, 1, 2), tmp73, (3, 4, 0, 5), (2, 3, 1, 4, 5)) + del tmp73 + tmp87 += np.transpose(tmp74, (1, 0, 3, 4, 2)) + del tmp74 + tmp75 = np.copy(f.ov) + tmp75 += ints.tmp24 * 2 + tmp76 = einsum(r2, (0, 1, 2), tmp75, (3, 1), (2, 3, 0)) + del tmp75 + tmp79 = np.copy(np.transpose(tmp76, (1, 0, 2))) + del tmp76 + tmp77 = np.copy(ints.tmp137) + tmp77 += ints.tmp138 + tmp78 = einsum(tmp77, (0, 1, 2, 3), r1, (3,), (0, 1, 2)) + del tmp77 + tmp79 += np.transpose(tmp78, (1, 0, 2)) + del tmp78 + tmp80 = einsum(t2, (0, 1, 2, 3), tmp79, (1, 4, 5), (0, 4, 3, 2, 5)) + del tmp79 + tmp87 += np.transpose(tmp80, (1, 0, 4, 3, 2)) + del tmp80 + tmp81 = np.copy(ints.tmp221) + del ints.tmp221 + tmp81 += np.transpose(ints.tmp300, (1, 2, 0, 3)) + del ints.tmp300 + tmp81 += ints.tmp321 + del ints.tmp321 + tmp81 += ints.tmp385 * 2 + del ints.tmp385 + tmp82 = einsum(tmp81, (0, 1, 2, 3), r2, (4, 5, 2), (0, 1, 4, 5, 3)) + del tmp81 + tmp87 += np.transpose(tmp82, (0, 1, 4, 2, 3)) + del tmp82 + tmp83 = einsum(v.oovv, (0, 1, 2, 3), r2, (4, 3, 5), (5, 0, 1, 4, 2)) + tmp85 = np.copy(np.transpose(tmp83, (0, 2, 1, 3, 4))) + del tmp83 + tmp84 = einsum(t1, (0, 1), tmp55, (2, 3, 4, 1, 5), (2, 0, 3, 4, 5)) + del tmp55 + tmp85 += np.transpose(tmp84, (0, 2, 1, 3, 4)) + del tmp84 + tmp86 = einsum(t1, (0, 1), tmp85, (2, 0, 3, 4, 5), (2, 3, 1, 4, 5)) + del tmp85 + tmp87 += np.transpose(tmp86, (0, 1, 3, 2, 4)) + del tmp86 + r3new += np.transpose(tmp87, (2, 3, 4, 0, 1)) + r3new += np.transpose(tmp87, (4, 3, 2, 0, 1)) * -1 + r3new += np.transpose(tmp87, (3, 2, 4, 1, 0)) + r3new += np.transpose(tmp87, (4, 2, 3, 1, 0)) * -1 + del tmp87 + tmp88 = einsum(r3, (0, 1, 2, 3, 4), v.oovv, (5, 3, 6, 2), (4, 5, 0, 1, 6)) + tmp93 = np.copy(tmp88) + del tmp88 + tmp89 = einsum(r3, (0, 1, 2, 3, 4), v.ovvv, (3, 5, 6, 2), (4, 0, 1, 5, 6)) + tmp90 = einsum(tmp89, (0, 1, 2, 3, 4), t1, (5, 3), (0, 5, 1, 2, 4)) + del tmp89 + tmp93 += tmp90 + del tmp90 + tmp91 = np.copy(ints.tmp35) + tmp91 += np.transpose(ints.tmp53, (0, 1, 3, 2)) + tmp92 = einsum(r2, (0, 1, 2), tmp91, (3, 4, 1, 5), (2, 3, 0, 4, 5)) + del tmp91 + tmp93 += np.transpose(tmp92, (1, 0, 3, 4, 2)) + del tmp92 + r3new += np.transpose(tmp93, (2, 3, 4, 1, 0)) * -1 + r3new += np.transpose(tmp93, (4, 3, 2, 1, 0)) + del tmp93 + tmp94 = einsum(r3, (0, 1, 2, 3, 4), v.ovov, (5, 6, 4, 1), (3, 5, 0, 2, 6)) + tmp99 = np.copy(tmp94) + tmp95 = np.copy(ints.tmp133) + tmp95 += np.transpose(ints.tmp134, (0, 1, 3, 2)) + tmp95 += np.transpose(ints.tmp55, (0, 1, 3, 2)) + tmp96 = einsum(r2, (0, 1, 2), tmp95, (3, 4, 1, 5), (2, 3, 0, 4, 5)) + del tmp95 + tmp99 += np.transpose(tmp96, (1, 0, 3, 4, 2)) + del tmp96 + tmp97 = einsum(r3, (0, 1, 2, 3, 4), tmp0, (3, 5, 2, 0), (4, 5, 1)) + tmp98 = einsum(tmp97, (0, 1, 2), t2, (3, 1, 4, 5), (3, 0, 5, 4, 2)) * 0.5 + del tmp97 + tmp99 += np.transpose(tmp98, (1, 0, 4, 3, 2)) * -1 + del tmp98 + r3new += np.transpose(tmp99, (3, 2, 4, 1, 0)) * -1 + r3new += np.transpose(tmp99, (4, 2, 3, 1, 0)) + del tmp99 + tmp100 = einsum(r3, (0, 1, 2, 3, 4), v.ovov, (5, 6, 3, 2), (4, 5, 0, 1, 6)) + tmp107 = np.copy(tmp100) + tmp101 = einsum(v.ovov, (0, 1, 2, 3), r3, (4, 5, 1, 2, 6), (6, 0, 4, 5, 3)) + tmp102 = einsum(t2, (0, 1, 2, 3), tmp101, (4, 1, 5, 6, 2), (4, 0, 5, 6, 3)) + tmp107 += tmp102 + del tmp102 + tmp103 = einsum(r3, (0, 1, 2, 3, 4), v.ooov, (5, 3, 6, 2), (4, 5, 6, 0, 1)) + tmp105 = np.copy(tmp103) + del tmp103 + tmp104 = einsum(t1, (0, 1), tmp101, (2, 3, 4, 5, 1), (2, 0, 3, 4, 5)) + tmp105 += tmp104 + del tmp104 + tmp106 = einsum(t1, (0, 1), tmp105, (2, 3, 0, 4, 5), (2, 3, 1, 4, 5)) + del tmp105 + tmp107 += np.transpose(tmp106, (0, 1, 3, 4, 2)) + del tmp106 + r3new += np.transpose(tmp107, (2, 3, 4, 1, 0)) + r3new += np.transpose(tmp107, (4, 3, 2, 1, 0)) * -1 + del tmp107 + tmp108 = einsum(r2, (0, 1, 2), ints.tmp451, (3, 4, 2, 5, 6, 0), (3, 4, 5, 6, 1)) + tmp131 = np.copy(tmp108) * 2 + del tmp108 + tmp109 = einsum(v.oovv, (0, 1, 2, 3), r1, (3,), (0, 1, 2)) + tmp110 = einsum(tmp109, (0, 1, 2), t2, (3, 1, 4, 5), (3, 0, 4, 5, 2)) + del tmp109 + tmp131 += tmp110 + del tmp110 + tmp111 = einsum(r2, (0, 1, 2), v.ooov, (3, 4, 5, 1), (2, 3, 4, 5, 0)) + tmp112 = einsum(tmp111, (0, 1, 2, 3, 4), t1, (3, 5), (0, 1, 2, 4, 5)) + del tmp111 + tmp113 = einsum(t1, (0, 1), tmp112, (2, 3, 0, 4, 5), (2, 3, 4, 1, 5)) + del tmp112 + tmp131 += tmp113 + del tmp113 + tmp114 = einsum(t2, (0, 1, 2, 3), tmp13, (4, 5, 1), (4, 0, 5, 2, 3)) + tmp115 = einsum(t1, (0, 1), tmp114, (2, 3, 0, 4, 5), (2, 3, 1, 4, 5)) + del tmp114 + tmp131 += tmp115 + del tmp115 + tmp116 = np.copy(ints.tmp132) * 2 + tmp116 += ints.tmp47 + tmp117 = einsum(r2, (0, 1, 2), tmp116, (3, 4, 5, 0), (2, 3, 1, 4, 5)) + del tmp116 + tmp131 += np.transpose(tmp117, (1, 0, 3, 4, 2)) + del tmp117 + tmp118 = np.copy(ints.tmp175) + del ints.tmp175 + tmp118 += ints.tmp328 + del ints.tmp328 + tmp118 += ints.tmp387 + del ints.tmp387 + tmp118 += ints.tmp389 + del ints.tmp389 + tmp118 += ints.tmp330 * -2 + del ints.tmp330 + tmp119 = einsum(tmp118, (0, 1, 2, 3), r2, (4, 5, 2), (0, 1, 4, 5, 3)) + del tmp118 + tmp131 += np.transpose(tmp119, (0, 1, 4, 2, 3)) + del tmp119 + tmp120 = np.copy(ints.tmp137) + tmp120 += ints.tmp138 + tmp120 += ints.tmp139 * -2 + tmp121 = einsum(tmp120, (0, 1, 2, 3), r2, (4, 3, 5), (5, 0, 1, 4, 2)) + del tmp120 + tmp124 = np.copy(np.transpose(tmp121, (1, 2, 0, 4, 3))) + del tmp121 + tmp122 = np.copy(ints.tmp325) + del ints.tmp325 + tmp122 += np.transpose(ints.tmp451, (0, 1, 2, 3, 5, 4)) + del ints.tmp451 + tmp123 = einsum(r1, (0,), tmp122, (1, 2, 3, 4, 0, 5), (1, 2, 3, 4, 5)) + del tmp122 + tmp124 += np.transpose(tmp123, (0, 2, 1, 3, 4)) + del tmp123 + tmp125 = einsum(t1, (0, 1), tmp124, (2, 0, 3, 4, 5), (2, 3, 1, 4, 5)) + del tmp124 + tmp131 += np.transpose(tmp125, (0, 1, 3, 4, 2)) + del tmp125 + tmp126 = einsum(r2, (0, 1, 2), ints.tmp22, (3, 1), (3, 2, 0)) + tmp129 = np.copy(np.transpose(tmp126, (1, 0, 2))) + del tmp126 + tmp129 += tmp45 + del tmp45 + tmp127 = np.copy(ints.tmp139) + tmp127 += np.transpose(ints.tmp91, (0, 1, 3, 2)) * 0.5 + tmp128 = einsum(tmp127, (0, 1, 2, 3), r1, (3,), (0, 1, 2)) * 2 + del tmp127 + tmp129 += tmp128 + del tmp128 + tmp130 = einsum(tmp129, (0, 1, 2), t2, (3, 1, 4, 5), (3, 0, 5, 4, 2)) + del tmp129 + tmp131 += np.transpose(tmp130, (1, 0, 4, 3, 2)) + del tmp130 + r3new += np.transpose(tmp131, (2, 3, 4, 0, 1)) * -1 + r3new += np.transpose(tmp131, (4, 3, 2, 0, 1)) + r3new += np.transpose(tmp131, (3, 2, 4, 1, 0)) * -1 + r3new += np.transpose(tmp131, (4, 2, 3, 1, 0)) + del tmp131 + tmp132 = einsum(r1, (0,), v.ovov, (1, 2, 3, 0), (1, 3, 2)) + tmp133 = einsum(t2, (0, 1, 2, 3), tmp132, (4, 1, 5), (0, 4, 2, 3, 5)) + del tmp132 + tmp147 = np.copy(tmp133) + del tmp133 + tmp134 = einsum(r2, (0, 1, 2), v.vvvv, (3, 4, 5, 1), (2, 0, 3, 4, 5)) + tmp135 = einsum(t1, (0, 1), tmp134, (2, 3, 4, 1, 5), (2, 0, 3, 5, 4)) + del tmp134 + tmp147 += tmp135 + del tmp135 + tmp136 = einsum(v.ovov, (0, 1, 2, 3), r2, (4, 3, 5), (5, 0, 2, 4, 1)) + tmp137 = einsum(tmp136, (0, 1, 2, 3, 4), t1, (5, 4), (0, 5, 2, 1, 3)) + tmp138 = einsum(tmp137, (0, 1, 2, 3, 4), t1, (3, 5), (0, 1, 2, 4, 5)) + del tmp137 + tmp139 = einsum(t1, (0, 1), tmp138, (2, 3, 0, 4, 5), (2, 3, 4, 1, 5)) + del tmp138 + tmp147 += tmp139 + del tmp139 + tmp140 = einsum(r1, (0,), ints.tmp341, (1, 2, 3, 4, 5, 0), (1, 2, 3, 4, 5)) + del ints.tmp341 + tmp145 = np.copy(tmp140) + del tmp140 + tmp141 = np.copy(ints.tmp137) + del ints.tmp137 + tmp141 += ints.tmp138 + tmp142 = einsum(tmp141, (0, 1, 2, 3), r2, (3, 4, 5), (5, 0, 1, 4, 2)) + del tmp141 + tmp145 += np.transpose(tmp142, (1, 0, 2, 4, 3)) + del tmp142 + tmp143 = np.copy(ints.tmp192) + tmp143 += np.transpose(ints.tmp248, (0, 1, 3, 2)) + tmp143 += np.transpose(v.oooo, (0, 2, 3, 1)) + tmp144 = einsum(r2, (0, 1, 2), tmp143, (3, 4, 5, 2), (3, 4, 5, 0, 1)) + del tmp143 + tmp145 += tmp144 + del tmp144 + tmp146 = einsum(t1, (0, 1), tmp145, (2, 3, 0, 4, 5), (2, 3, 1, 4, 5)) + del tmp145 + tmp147 += np.transpose(tmp146, (0, 1, 3, 4, 2)) + del tmp146 + r3new += np.transpose(tmp147, (2, 4, 3, 0, 1)) * -1 + r3new += np.transpose(tmp147, (3, 4, 2, 0, 1)) + r3new += np.transpose(tmp147, (3, 2, 4, 1, 0)) + r3new += np.transpose(tmp147, (4, 2, 3, 1, 0)) * -1 + del tmp147 + tmp148 = einsum(r3, (0, 1, 2, 3, 4), v.vvvv, (5, 1, 6, 2), (3, 4, 0, 5, 6)) + tmp162 = np.copy(tmp148) + del tmp148 + tmp149 = einsum(t2, (0, 1, 2, 3), tmp53, (4, 1, 5, 6, 2), (4, 0, 5, 6, 3)) + tmp162 += tmp149 + del tmp149 + tmp150 = einsum(r3, (0, 1, 2, 3, 4), v.ovov, (5, 1, 6, 2), (3, 4, 5, 6, 0)) + tmp151 = einsum(tmp150, (0, 1, 2, 3, 4), t2, (2, 3, 5, 6), (0, 1, 4, 5, 6)) + tmp162 += tmp151 + del tmp151 + tmp152 = einsum(v.ovov, (0, 1, 2, 3), r3, (4, 1, 3, 5, 2), (5, 0, 4)) + tmp153 = einsum(t2, (0, 1, 2, 3), tmp152, (4, 1, 5), (4, 0, 5, 2, 3)) + del tmp152 + tmp162 += tmp153 + del tmp153 + tmp154 = einsum(t1, (0, 1), tmp150, (2, 3, 4, 0, 5), (2, 3, 4, 5, 1)) + del tmp150 + tmp155 = einsum(t1, (0, 1), tmp154, (2, 3, 0, 4, 5), (2, 3, 4, 1, 5)) + del tmp154 + tmp162 += tmp155 + del tmp155 + tmp156 = einsum(ints.tmp22, (0, 1), r3, (2, 3, 1, 4, 5), (0, 4, 5, 2, 3)) + tmp160 = np.copy(tmp156) + del tmp156 + tmp157 = einsum(r1, (0,), ints.tmp448, (1, 2, 3, 4, 5, 0), (1, 2, 3, 4, 5)) + del ints.tmp448 + tmp160 += np.transpose(tmp157, (2, 0, 1, 3, 4)) + del tmp157 + tmp158 = einsum(v.ooov, (0, 1, 2, 3), r3, (4, 5, 3, 6, 1), (6, 0, 2, 4, 5)) + tmp160 += np.transpose(tmp158, (2, 0, 1, 3, 4)) + del tmp158 + tmp159 = einsum(t1, (0, 1), tmp53, (2, 3, 4, 5, 1), (2, 0, 3, 4, 5)) + del tmp53 + tmp160 += np.transpose(tmp159, (2, 0, 1, 3, 4)) + del tmp159 + tmp161 = einsum(t1, (0, 1), tmp160, (0, 2, 3, 4, 5), (2, 3, 1, 4, 5)) + del tmp160 + tmp162 += np.transpose(tmp161, (0, 1, 3, 4, 2)) + del tmp161 + r3new += np.transpose(tmp162, (2, 3, 4, 0, 1)) + r3new += np.transpose(tmp162, (4, 3, 2, 0, 1)) * -1 + del tmp162 + tmp163 = einsum(r2, (0, 1, 2), v.ovvv, (3, 4, 5, 0), (2, 3, 1, 4, 5)) + tmp180 = np.copy(tmp163) + tmp164 = einsum(r2, (0, 1, 2), ints.tmp38, (3, 4, 5, 1), (3, 4, 2, 5, 0)) + tmp165 = einsum(t1, (0, 1), tmp164, (2, 0, 3, 4, 5), (2, 3, 4, 5, 1)) + del tmp164 + tmp180 += tmp165 + del tmp165 + tmp166 = einsum(tmp13, (0, 1, 2), t2, (3, 1, 4, 5), (0, 3, 2, 4, 5)) + del tmp13 + tmp167 = einsum(t1, (0, 1), tmp166, (2, 3, 0, 4, 5), (2, 3, 1, 4, 5)) + del tmp166 + tmp180 += tmp167 + del tmp167 + tmp168 = einsum(r1, (0,), ints.tmp107, (1, 2, 3, 0), (1, 2, 3)) + del ints.tmp107 + tmp173 = np.copy(tmp168) + del tmp168 + tmp169 = einsum(ints.tmp22, (0, 1), r2, (1, 2, 3), (0, 3, 2)) + del ints.tmp22 + tmp173 += np.transpose(tmp169, (1, 0, 2)) + del tmp169 + tmp170 = einsum(r2, (0, 1, 2), v.ovov, (3, 4, 2, 1), (3, 0, 4)) + tmp171 = np.copy(tmp170) + del tmp170 + tmp171 += tmp34 + del tmp34 + tmp172 = einsum(tmp171, (0, 1, 2), t1, (3, 2), (3, 0, 1)) + tmp173 += tmp172 + del tmp172 + tmp174 = einsum(t2, (0, 1, 2, 3), tmp173, (4, 1, 5), (0, 4, 3, 2, 5)) + del tmp173 + tmp180 += np.transpose(tmp174, (1, 0, 4, 3, 2)) + del tmp174 + tmp175 = einsum(r2, (0, 1, 2), v.ooov, (3, 4, 5, 0), (2, 3, 4, 5, 1)) + tmp176 = einsum(tmp175, (0, 1, 2, 3, 4), t1, (3, 5), (0, 1, 2, 4, 5)) + del tmp175 + tmp178 = np.copy(np.transpose(tmp176, (0, 2, 1, 3, 4))) + del tmp176 + tmp177 = einsum(t2, (0, 1, 2, 3), tmp171, (4, 5, 2), (0, 1, 4, 3, 5)) + del tmp171 + tmp178 += np.transpose(tmp177, (1, 2, 0, 4, 3)) + del tmp177 + tmp179 = einsum(t1, (0, 1), tmp178, (2, 0, 3, 4, 5), (2, 3, 1, 4, 5)) + del tmp178 + tmp180 += np.transpose(tmp179, (0, 1, 3, 2, 4)) + del tmp179 + r3new += np.transpose(tmp180, (2, 3, 4, 0, 1)) + r3new += np.transpose(tmp180, (4, 3, 2, 0, 1)) * -1 + r3new += np.transpose(tmp180, (2, 4, 3, 1, 0)) + r3new += np.transpose(tmp180, (3, 4, 2, 1, 0)) * -1 + del tmp180 + tmp181 = einsum(r1, (0,), ints.tmp370, (1, 2, 3, 4, 5, 0), (1, 2, 3, 4, 5)) + del ints.tmp370 + tmp195 = np.copy(tmp181) + del tmp181 + tmp182 = einsum(t2, (0, 1, 2, 3), tmp41, (4, 5, 1), (4, 5, 0, 2, 3)) + del tmp41 + tmp183 = einsum(t1, (0, 1), tmp182, (2, 0, 3, 4, 5), (2, 3, 1, 4, 5)) + del tmp182 + tmp195 += tmp183 + del tmp183 + tmp184 = einsum(ints.tmp38, (0, 1, 2, 3), r1, (3,), (0, 1, 2)) + tmp188 = np.copy(tmp184) * 0.5 + del tmp184 + tmp185 = einsum(r2, (0, 1, 2), v.ovov, (3, 4, 2, 0), (3, 1, 4)) + tmp186 = einsum(t1, (0, 1), tmp185, (2, 3, 1), (0, 2, 3)) + tmp188 += tmp186 + del tmp186 + tmp187 = einsum(r2, (0, 1, 2), tmp64, (3, 0), (2, 3, 1)) + del tmp64 + tmp188 += tmp187 + del tmp187 + tmp189 = einsum(t2, (0, 1, 2, 3), tmp188, (4, 1, 5), (0, 4, 3, 2, 5)) * 2 + del tmp188 + tmp195 += np.transpose(tmp189, (1, 0, 4, 3, 2)) + del tmp189 + tmp190 = einsum(v.oovv, (0, 1, 2, 3), r2, (3, 4, 5), (5, 0, 1, 4, 2)) + tmp193 = np.copy(np.transpose(tmp190, (0, 2, 1, 3, 4))) + del tmp190 + tmp191 = einsum(t1, (0, 1), tmp163, (2, 3, 4, 1, 5), (2, 0, 3, 4, 5)) + del tmp163 + tmp193 += np.transpose(tmp191, (0, 2, 1, 3, 4)) + del tmp191 + tmp192 = einsum(t2, (0, 1, 2, 3), tmp185, (4, 5, 3), (0, 1, 4, 5, 2)) + del tmp185 + tmp193 += np.transpose(tmp192, (0, 2, 1, 3, 4)) * 2 + del tmp192 + tmp194 = einsum(t1, (0, 1), tmp193, (2, 0, 3, 4, 5), (2, 3, 1, 4, 5)) + del tmp193 + tmp195 += np.transpose(tmp194, (0, 1, 3, 2, 4)) + del tmp194 + r3new += np.transpose(tmp195, (2, 3, 4, 0, 1)) * -1 + r3new += np.transpose(tmp195, (4, 3, 2, 0, 1)) + r3new += np.transpose(tmp195, (2, 4, 3, 1, 0)) * -1 + r3new += np.transpose(tmp195, (3, 4, 2, 1, 0)) + del tmp195 + tmp196 = einsum(v.ooov, (0, 1, 2, 3), r2, (3, 4, 2), (0, 1, 4)) + tmp197 = einsum(t2, (0, 1, 2, 3), tmp196, (4, 1, 5), (0, 4, 5, 2, 3)) + del tmp196 + tmp208 = np.copy(tmp197) * 2 + del tmp197 + tmp198 = einsum(t2, (0, 1, 2, 3), tmp37, (4, 1, 5), (0, 4, 5, 2, 3)) + tmp199 = einsum(t1, (0, 1), tmp198, (2, 3, 0, 4, 5), (2, 3, 1, 4, 5)) + del tmp198 + tmp208 += tmp199 + del tmp199 + tmp201 = np.copy(tmp24) + del tmp24 + tmp200 = einsum(tmp3, (0, 1, 2), v.ovvv, (0, 2, 3, 4), (3, 4, 1)) * 2 + del tmp3 + tmp201 += np.transpose(tmp200, (2, 1, 0)) * -1 + del tmp200 + tmp202 = einsum(tmp201, (0, 1, 2), t2, (3, 4, 1, 5), (3, 4, 5, 0, 2)) + del tmp201 + tmp208 += np.transpose(tmp202, (1, 0, 3, 2, 4)) + del tmp202 + tmp203 = einsum(v.ovov, (0, 1, 2, 3), r2, (3, 4, 5), (5, 0, 2, 4, 1)) + tmp206 = np.copy(tmp203) + tmp204 = einsum(v.ovvv, (0, 1, 2, 3), r2, (1, 4, 5), (5, 0, 4, 2, 3)) + tmp205 = einsum(tmp204, (0, 1, 2, 3, 4), t1, (5, 4), (0, 5, 1, 2, 3)) + del tmp204 + tmp206 += tmp205 + del tmp205 + tmp207 = einsum(t1, (0, 1), tmp206, (2, 3, 0, 4, 5), (2, 3, 1, 4, 5)) + del tmp206 + tmp208 += np.transpose(tmp207, (0, 1, 3, 2, 4)) + del tmp207 + r3new += np.transpose(tmp208, (2, 4, 3, 0, 1)) * -1 + r3new += np.transpose(tmp208, (3, 4, 2, 0, 1)) + r3new += np.transpose(tmp208, (2, 3, 4, 1, 0)) * -1 + r3new += np.transpose(tmp208, (4, 3, 2, 1, 0)) + del tmp208 + tmp209 = einsum(r2, (0, 1, 2), ints.tmp38, (3, 4, 5, 0), (3, 4, 2, 5, 1)) + del ints.tmp38 + tmp210 = einsum(tmp209, (0, 1, 2, 3, 4), t1, (1, 5), (0, 2, 3, 4, 5)) + del tmp209 + tmp215 = np.copy(tmp210) + del tmp210 + tmp211 = einsum(ints.tmp86, (0, 1, 2, 3), r2, (4, 3, 5), (5, 0, 1, 2, 4)) + tmp212 = einsum(t1, (0, 1), tmp211, (2, 3, 4, 1, 5), (2, 0, 3, 4, 5)) + del tmp211 + tmp215 += tmp212 + del tmp212 + tmp213 = einsum(t2, (0, 1, 2, 3), tmp44, (4, 5, 3), (0, 1, 4, 5, 2)) + del tmp44 + tmp214 = einsum(t1, (0, 1), tmp213, (2, 3, 0, 4, 5), (2, 3, 4, 1, 5)) + del tmp213 + tmp215 += tmp214 + del tmp214 + r3new += np.transpose(tmp215, (3, 2, 4, 0, 1)) + r3new += np.transpose(tmp215, (4, 2, 3, 0, 1)) * -1 + r3new += np.transpose(tmp215, (2, 4, 3, 1, 0)) * -1 + r3new += np.transpose(tmp215, (3, 4, 2, 1, 0)) + del tmp215 + tmp216 = einsum(v.ooov, (0, 1, 2, 3), r2, (4, 5, 1), (0, 2, 4, 5, 3)) + tmp226 = np.copy(tmp216) + del tmp216 + tmp217 = einsum(r1, (0,), ints.tmp304, (1, 2, 3, 4, 0, 5), (1, 2, 3, 4, 5)) + del ints.tmp304 + tmp226 += tmp217 + del tmp217 + tmp218 = einsum(r2, (0, 1, 2), ints.tmp139, (3, 4, 5, 0), (3, 4, 2, 5, 1)) + tmp219 = einsum(tmp218, (0, 1, 2, 3, 4), t1, (1, 5), (0, 2, 3, 4, 5)) + del tmp218 + tmp226 += tmp219 * 2 + del tmp219 + tmp224 = np.copy(tmp136) + del tmp136 + tmp220 = einsum(r1, (0,), ints.tmp366, (1, 2, 3, 4, 5, 0), (1, 2, 3, 4, 5)) + del ints.tmp366 + tmp221 = einsum(t1, (0, 1), tmp220, (2, 3, 4, 0, 5), (2, 3, 4, 5, 1)) + del tmp220 + tmp224 += tmp221 + del tmp221 + tmp222 = einsum(r2, (0, 1, 2), v.ovvv, (3, 1, 4, 5), (2, 3, 0, 4, 5)) + tmp223 = einsum(tmp222, (0, 1, 2, 3, 4), t1, (5, 4), (0, 5, 1, 2, 3)) + del tmp222 + tmp224 += tmp223 + del tmp223 + tmp225 = einsum(t1, (0, 1), tmp224, (2, 3, 0, 4, 5), (2, 3, 1, 4, 5)) + del tmp224 + tmp226 += np.transpose(tmp225, (0, 1, 3, 2, 4)) + del tmp225 + r3new += np.transpose(tmp226, (2, 4, 3, 0, 1)) + r3new += np.transpose(tmp226, (3, 4, 2, 0, 1)) * -1 + r3new += np.transpose(tmp226, (3, 2, 4, 1, 0)) * -1 + r3new += np.transpose(tmp226, (4, 2, 3, 1, 0)) + del tmp226 + tmp227 = einsum(tmp42, (0, 1, 2), t2, (3, 1, 4, 5), (0, 3, 4, 5, 2)) + del tmp42 + tmp231 = np.copy(tmp227) * -1 + del tmp227 + tmp228 = np.copy(ints.tmp192) + del ints.tmp192 + tmp228 += np.transpose(ints.tmp290, (0, 1, 3, 2)) + del ints.tmp290 + tmp229 = einsum(r2, (0, 1, 2), tmp228, (3, 4, 2, 5), (3, 4, 5, 0, 1)) + del tmp228 + tmp230 = einsum(t1, (0, 1), tmp229, (2, 3, 0, 4, 5), (2, 3, 1, 4, 5)) + del tmp229 + tmp231 += np.transpose(tmp230, (0, 1, 3, 4, 2)) + del tmp230 + r3new += np.transpose(tmp231, (3, 2, 4, 0, 1)) + r3new += np.transpose(tmp231, (4, 2, 3, 0, 1)) * -1 + r3new += np.transpose(tmp231, (2, 4, 3, 1, 0)) * -1 + r3new += np.transpose(tmp231, (3, 4, 2, 1, 0)) + del tmp231 + tmp232 = einsum(r3, (0, 1, 2, 3, 4), v.ovvv, (4, 1, 5, 6), (3, 0, 2, 5, 6)) + tmp233 = einsum(t1, (0, 1), tmp232, (2, 3, 4, 5, 1), (2, 0, 3, 4, 5)) + del tmp232 + tmp240 = np.copy(tmp233) * -2 + del tmp233 + tmp234 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * 2 + tmp234 += t2 * -1 + tmp235 = einsum(tmp94, (0, 1, 2, 3, 4), tmp234, (1, 5, 6, 4), (5, 0, 6, 2, 3)) * 2 + del tmp234 + tmp240 += np.transpose(tmp235, (1, 0, 3, 4, 2)) * -1 + del tmp235 + tmp236 = einsum(v.ooov, (0, 1, 2, 3), r3, (4, 3, 5, 6, 2), (6, 0, 1, 4, 5)) + tmp238 = np.copy(np.transpose(tmp236, (0, 2, 1, 3, 4))) + del tmp236 + tmp237 = einsum(tmp94, (0, 1, 2, 3, 4), t1, (5, 4), (0, 5, 1, 2, 3)) + del tmp94 + tmp238 += np.transpose(tmp237, (0, 2, 1, 3, 4)) + del tmp237 + tmp239 = einsum(t1, (0, 1), tmp238, (2, 0, 3, 4, 5), (2, 3, 4, 5, 1)) * 2 + del tmp238 + tmp240 += tmp239 + del tmp239 + r3new += np.transpose(tmp240, (2, 4, 3, 0, 1)) * -1 + r3new += np.transpose(tmp240, (3, 2, 4, 1, 0)) * 0.5 + r3new += np.transpose(tmp240, (4, 2, 3, 1, 0)) * -0.5 + del tmp240 + tmp241 = einsum(r3, (0, 1, 2, 3, 4), v.ovvv, (3, 2, 5, 6), (4, 0, 1, 5, 6)) + tmp242 = einsum(t1, (0, 1), tmp241, (2, 3, 4, 5, 1), (2, 0, 3, 4, 5)) + del tmp241 + tmp244 = np.copy(tmp242) + del tmp242 + tmp243 = einsum(t2, (0, 1, 2, 3), tmp100, (4, 1, 5, 6, 3), (4, 0, 5, 6, 2)) + tmp244 += tmp243 * 2 + del tmp243 + r3new += np.transpose(tmp244, (2, 4, 3, 0, 1)) + r3new += np.transpose(tmp244, (2, 3, 4, 1, 0)) + r3new += np.transpose(tmp244, (4, 3, 2, 1, 0)) * -1 + del tmp244 + tmp245 = einsum(r3, (0, 1, 2, 3, 4), v.ovvv, (5, 2, 6, 1), (3, 4, 5, 0, 6)) + tmp246 = einsum(t1, (0, 1), tmp245, (2, 3, 0, 4, 5), (2, 3, 4, 1, 5)) + del tmp245 + tmp249 = np.copy(tmp246) + del tmp246 + tmp247 = np.copy(f.vv) + tmp247 += np.transpose(ints.tmp18, (1, 0)) + del ints.tmp18 + tmp247 += np.transpose(ints.tmp5, (1, 0)) * 2 + del ints.tmp5 + tmp247 += np.transpose(ints.tmp20, (1, 0)) * -2 + del ints.tmp20 + tmp248 = einsum(tmp247, (0, 1), r3, (2, 3, 0, 4, 5), (4, 5, 1, 2, 3)) + del tmp247 + tmp249 += tmp248 + del tmp248 + r3new += np.transpose(tmp249, (2, 4, 3, 0, 1)) * -1 + r3new += np.transpose(tmp249, (3, 4, 2, 0, 1)) + del tmp249 + tmp250 = einsum(t2, (0, 1, 2, 3), tmp37, (4, 5, 1), (0, 4, 5, 2, 3)) + del tmp37 + tmp251 = einsum(t1, (0, 1), tmp250, (2, 3, 0, 4, 5), (2, 3, 1, 4, 5)) + del tmp250 + tmp258 = np.copy(tmp251) + del tmp251 + tmp252 = einsum(t2, (0, 1, 2, 3), tmp23, (4, 3, 5), (0, 1, 4, 2, 5)) + del tmp23 + tmp258 += tmp252 + del tmp252 + tmp253 = einsum(t2, (0, 1, 2, 3), tmp29, (4, 1, 5), (4, 0, 2, 3, 5)) + del tmp29 + tmp258 += tmp253 + del tmp253 + tmp254 = np.copy(ints.tmp35) + tmp254 += np.transpose(ints.tmp53, (0, 1, 3, 2)) + del ints.tmp53 + tmp255 = einsum(tmp254, (0, 1, 2, 3), r2, (2, 4, 5), (0, 5, 1, 3, 4)) + del tmp254 + tmp258 += tmp255 + del tmp255 + tmp256 = np.copy(ints.tmp244) + del ints.tmp244 + tmp256 += ints.tmp284 + del ints.tmp284 + tmp256 += ints.tmp319 + del ints.tmp319 + tmp256 += ints.tmp97 + del ints.tmp97 + tmp257 = einsum(r2, (0, 1, 2), tmp256, (3, 4, 2, 5), (3, 4, 5, 0, 1)) + del tmp256 + tmp258 += tmp257 + del tmp257 + r3new += np.transpose(tmp258, (3, 2, 4, 0, 1)) + r3new += np.transpose(tmp258, (4, 2, 3, 0, 1)) * -1 + r3new += np.transpose(tmp258, (2, 3, 4, 1, 0)) + r3new += np.transpose(tmp258, (4, 3, 2, 1, 0)) * -1 + del tmp258 + tmp259 = einsum(r3, (0, 1, 2, 3, 4), v.vvvv, (5, 0, 6, 2), (3, 4, 1, 5, 6)) + tmp266 = np.copy(tmp259) * 0.5 + del tmp259 + tmp260 = einsum(v.ovov, (0, 1, 2, 3), r3, (1, 4, 3, 5, 6), (5, 6, 0, 2, 4)) + tmp261 = einsum(tmp260, (0, 1, 2, 3, 4), t2, (2, 3, 5, 6), (0, 1, 4, 5, 6)) + tmp266 += tmp261 * 0.5 + del tmp261 + tmp262 = einsum(tmp260, (0, 1, 2, 3, 4), t1, (3, 5), (0, 1, 2, 4, 5)) + del tmp260 + tmp264 = np.copy(tmp262) + del tmp262 + tmp263 = einsum(tmp15, (0, 1, 2, 3), r3, (1, 4, 2, 5, 6), (5, 6, 0, 4, 3)) + del tmp15 + tmp264 += tmp263 * -1 + del tmp263 + tmp265 = einsum(t1, (0, 1), tmp264, (2, 3, 0, 4, 5), (2, 3, 4, 5, 1)) * 0.5 + del tmp264 + tmp266 += np.transpose(tmp265, (0, 1, 2, 4, 3)) + del tmp265 + r3new += np.transpose(tmp266, (3, 2, 4, 0, 1)) + r3new += np.transpose(tmp266, (4, 2, 3, 0, 1)) * -1 + del tmp266 + tmp267 = einsum(ints.tmp86, (0, 1, 2, 3), r2, (3, 4, 5), (5, 0, 1, 2, 4)) + del ints.tmp86 + tmp268 = einsum(tmp267, (0, 1, 2, 3, 4), t1, (5, 3), (0, 5, 1, 2, 4)) + del tmp267 + tmp272 = np.copy(tmp268) + del tmp268 + tmp269 = einsum(t2, (0, 1, 2, 3), tmp40, (4, 1, 5), (0, 4, 5, 2, 3)) + del tmp40 + tmp272 += tmp269 + del tmp269 + tmp270 = np.copy(ints.tmp199) + del ints.tmp199 + tmp270 += ints.tmp203 + del ints.tmp203 + tmp270 += ints.tmp272 + del ints.tmp272 + tmp271 = einsum(r2, (0, 1, 2), tmp270, (3, 4, 2, 5), (3, 4, 5, 0, 1)) + del tmp270 + tmp272 += tmp271 + del tmp271 + r3new += np.transpose(tmp272, (3, 2, 4, 0, 1)) * -1 + r3new += np.transpose(tmp272, (4, 2, 3, 0, 1)) + r3new += np.transpose(tmp272, (2, 3, 4, 1, 0)) * -1 + r3new += np.transpose(tmp272, (4, 3, 2, 1, 0)) + del tmp272 + tmp273 = einsum(ints.tmp201, (0, 1, 2, 3), r2, (4, 5, 2), (0, 1, 3, 4, 5)) + del ints.tmp201 + r3new += np.transpose(tmp273, (3, 2, 4, 0, 1)) * 2 + r3new += np.transpose(tmp273, (4, 2, 3, 0, 1)) * -2 + r3new += np.transpose(tmp273, (2, 3, 4, 1, 0)) * 2 + r3new += np.transpose(tmp273, (4, 3, 2, 1, 0)) * -2 + del tmp273 + tmp274 = einsum(ints.tmp7, (0, 1), r3, (2, 3, 0, 4, 5), (4, 5, 1, 2, 3)) + del ints.tmp7 + r3new += np.transpose(tmp274, (2, 4, 3, 0, 1)) + r3new += np.transpose(tmp274, (3, 4, 2, 0, 1)) * -1 + del tmp274 + tmp275 = einsum(v.ovov, (0, 1, 2, 3), r3, (4, 1, 5, 6, 2), (6, 0, 4, 5, 3)) + tmp276 = einsum(tmp275, (0, 1, 2, 3, 4), t2, (5, 1, 6, 4), (0, 5, 2, 3, 6)) + tmp279 = np.copy(tmp276) + del tmp276 + tmp277 = np.copy(ints.tmp47) + tmp277 += ints.tmp132 * 2 + tmp278 = einsum(tmp277, (0, 1, 2, 3), r2, (4, 3, 5), (0, 5, 1, 2, 4)) + del tmp277 + tmp279 += tmp278 + del tmp278 + r3new += np.transpose(tmp279, (3, 2, 4, 1, 0)) + r3new += np.transpose(tmp279, (4, 2, 3, 1, 0)) * -1 + del tmp279 + tmp280 = einsum(t2, (0, 1, 2, 3), tmp25, (4, 5, 3), (0, 1, 4, 5, 2)) + del tmp25 + r3new += np.transpose(tmp280, (2, 3, 4, 0, 1)) * -1 + r3new += np.transpose(tmp280, (4, 3, 2, 0, 1)) + r3new += np.transpose(tmp280, (2, 4, 3, 1, 0)) * -1 + del tmp280 + tmp281 = einsum(tmp30, (0, 1, 2), t2, (3, 1, 4, 5), (0, 3, 2, 4, 5)) + del tmp30 + r3new += np.transpose(tmp281, (2, 3, 4, 0, 1)) * -0.5 + r3new += np.transpose(tmp281, (4, 3, 2, 0, 1)) * 0.5 + r3new += np.transpose(tmp281, (2, 4, 3, 1, 0)) * -1 + r3new += np.transpose(tmp281, (3, 4, 2, 1, 0)) + del tmp281 + tmp282 = einsum(t2, (0, 1, 2, 3), tmp101, (4, 1, 5, 6, 3), (4, 0, 5, 6, 2)) + del tmp101 + tmp288 = np.copy(tmp282) + del tmp282 + tmp283 = einsum(t2, (0, 1, 2, 3), tmp100, (4, 1, 5, 6, 2), (4, 0, 5, 6, 3)) + tmp288 += tmp283 + del tmp283 + tmp284 = einsum(r3, (0, 1, 2, 3, 4), v.ooov, (5, 6, 3, 2), (4, 5, 6, 0, 1)) + tmp286 = np.copy(np.transpose(tmp284, (0, 2, 1, 3, 4))) + del tmp284 + tmp285 = einsum(tmp100, (0, 1, 2, 3, 4), t1, (5, 4), (0, 5, 1, 2, 3)) + del tmp100 + tmp286 += np.transpose(tmp285, (0, 2, 1, 3, 4)) + del tmp285 + tmp287 = einsum(tmp286, (0, 1, 2, 3, 4), t1, (1, 5), (0, 2, 3, 4, 5)) + del tmp286 + tmp288 += tmp287 + del tmp287 + r3new += np.transpose(tmp288, (2, 4, 3, 0, 1)) * -1 + r3new += np.transpose(tmp288, (2, 3, 4, 1, 0)) * -1 + r3new += np.transpose(tmp288, (4, 3, 2, 1, 0)) + del tmp288 + tmp289 = einsum(t2, (0, 1, 2, 3), tmp43, (4, 1, 5), (4, 0, 5, 2, 3)) + del tmp43 + r3new += np.transpose(tmp289, (2, 3, 4, 0, 1)) * -2 + r3new += np.transpose(tmp289, (4, 3, 2, 0, 1)) * 2 + r3new += np.transpose(tmp289, (3, 2, 4, 1, 0)) * -1 + r3new += np.transpose(tmp289, (4, 2, 3, 1, 0)) + del tmp289 + tmp290 = einsum(r3, (0, 1, 2, 3, 4), v.ovov, (3, 1, 4, 5), (0, 2, 5)) + tmp291 = einsum(t2, (0, 1, 2, 3), tmp290, (4, 5, 3), (0, 1, 4, 5, 2)) + del tmp290 + r3new += np.transpose(tmp291, (3, 2, 4, 0, 1)) * -0.5 + r3new += np.transpose(tmp291, (4, 2, 3, 0, 1)) * 0.5 + r3new += np.transpose(tmp291, (2, 4, 3, 1, 0)) * 0.5 + del tmp291 + tmp292 = einsum(r3, (0, 1, 2, 3, 4), v.ovov, (3, 5, 4, 1), (0, 2, 5)) + tmp293 = einsum(tmp292, (0, 1, 2), t2, (3, 4, 5, 2), (3, 4, 0, 1, 5)) + del tmp292 + r3new += np.transpose(tmp293, (3, 2, 4, 0, 1)) * 0.5 + r3new += np.transpose(tmp293, (4, 2, 3, 0, 1)) * -0.5 + r3new += np.transpose(tmp293, (2, 4, 3, 1, 0)) * -1.5 + del tmp293 + tmp294 = einsum(tmp0, (0, 1, 2, 3), r3, (3, 2, 4, 5, 0), (5, 1, 4)) + del tmp0 + tmp295 = einsum(t2, (0, 1, 2, 3), tmp294, (4, 1, 5), (4, 0, 5, 3, 2)) * 0.5 + del tmp294 + r3new += np.transpose(tmp295, (2, 3, 4, 1, 0)) + r3new += np.transpose(tmp295, (4, 3, 2, 1, 0)) * -1 + del tmp295 + tmp296 = einsum(r2, (0, 1, 2), v.vvvv, (3, 4, 5, 0), (2, 1, 3, 4, 5)) + tmp297 = einsum(t1, (0, 1), tmp296, (2, 3, 4, 1, 5), (2, 0, 3, 5, 4)) + del tmp296 + tmp304 = np.copy(tmp297) + del tmp297 + tmp298 = einsum(t1, (0, 1), tmp203, (2, 3, 4, 5, 1), (2, 0, 4, 3, 5)) + del tmp203 + tmp299 = einsum(t1, (0, 1), tmp298, (2, 3, 4, 0, 5), (2, 3, 4, 5, 1)) + del tmp298 + tmp300 = einsum(t1, (0, 1), tmp299, (2, 3, 0, 4, 5), (2, 3, 4, 1, 5)) + del tmp299 + tmp304 += tmp300 + del tmp300 + tmp301 = einsum(v.ooov, (0, 1, 2, 3), r2, (4, 3, 2), (0, 1, 4)) + tmp302 = np.copy(np.transpose(tmp301, (1, 0, 2))) + del tmp301 + tmp302 += np.transpose(tmp28, (1, 0, 2)) + del tmp28 + tmp303 = einsum(tmp302, (0, 1, 2), t2, (3, 0, 4, 5), (1, 3, 2, 5, 4)) + del tmp302 + tmp304 += np.transpose(tmp303, (1, 0, 2, 4, 3)) + del tmp303 + r3new += np.transpose(tmp304, (2, 4, 3, 0, 1)) + r3new += np.transpose(tmp304, (3, 4, 2, 0, 1)) * -1 + r3new += np.transpose(tmp304, (2, 3, 4, 1, 0)) + r3new += np.transpose(tmp304, (4, 3, 2, 1, 0)) * -1 + del tmp304 + tmp305 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * -1 + tmp305 += t2 * 2 + tmp306 = einsum(r3, (0, 1, 2, 3, 4), v.ovov, (5, 6, 4, 2), (3, 5, 0, 1, 6)) + tmp307 = np.copy(tmp306) + tmp307 += tmp275 + r3new += einsum(tmp305, (0, 1, 2, 3), tmp307, (4, 0, 5, 6, 2), (5, 3, 6, 4, 1)) * -1 + del tmp305, tmp307 + tmp308 = np.copy(ints.tmp248) + del ints.tmp248 + tmp308 += np.transpose(v.oooo, (0, 2, 1, 3)) + r3new += einsum(r3, (0, 1, 2, 3, 4), tmp308, (5, 6, 3, 4), (0, 1, 2, 5, 6)) + del tmp308 + r3new += einsum(r3, (0, 1, 2, 3, 4), tmp7, (1, 5), (0, 5, 2, 3, 4)) + del tmp7 + tmp309 = np.copy(ints.tmp190) + del ints.tmp190 + tmp309 += ints.tmp492 + del ints.tmp492 + tmp309 += np.transpose(ints.tmp500, (1, 0, 2, 3, 4, 5)) + del ints.tmp500 + tmp309 += np.transpose(ints.tmp227, (1, 0, 2, 3, 4, 5)) * -1 + del ints.tmp227 + tmp309 += np.transpose(ints.tmp543, (1, 0, 2, 3, 5, 4)) * -1 + del ints.tmp543 + r3new += einsum(tmp309, (0, 1, 2, 3, 4, 5), r1, (5,), (3, 4, 2, 1, 0)) * -1 + del tmp309 + tmp311 = einsum(v.ooov, (0, 1, 2, 3), r3, (4, 5, 6, 2, 1), (0, 4, 5, 6, 3)) + tmp311 += einsum(v.ovvv, (0, 1, 2, 3), r3, (4, 3, 5, 0, 6), (6, 4, 2, 5, 1)) * -1 + tmp310 = einsum(v.ovov, (0, 1, 2, 3), r3, (4, 5, 6, 0, 2), (4, 5, 6, 1, 3)) + tmp311 += einsum(tmp310, (0, 1, 2, 3, 4), t1, (5, 4), (5, 0, 1, 2, 3)) + del tmp310 + r3new += einsum(tmp311, (0, 1, 2, 3, 4), t1, (5, 4), (1, 2, 3, 5, 0)) + del tmp311 + tmp312 = einsum(v.ooov, (0, 1, 2, 3), r3, (4, 5, 6, 1, 2), (0, 4, 5, 6, 3)) * -1 + tmp312 += einsum(v.ovvv, (0, 1, 2, 3), r3, (4, 5, 1, 6, 0), (6, 4, 2, 5, 3)) + tmp312 += einsum(v.ovvv, (0, 1, 2, 3), r3, (4, 3, 5, 6, 0), (6, 4, 2, 5, 1)) + r3new += einsum(tmp312, (0, 1, 2, 3, 4), t1, (5, 4), (1, 2, 3, 0, 5)) * -1 + del tmp312 + tmp314 = einsum(r1, (0,), ints.tmp544, (1, 2, 3, 4, 5, 0), (3, 1, 2, 5, 4)) * -1 + del ints.tmp544 + tmp314 += einsum(v.ooov, (0, 1, 2, 3), r3, (4, 5, 3, 6, 2), (0, 6, 1, 4, 5)) + tmp314 += einsum(v.ovoo, (0, 1, 2, 3), r3, (4, 1, 5, 6, 3), (0, 6, 2, 4, 5)) + tmp314 += einsum(v.ovoo, (0, 1, 2, 3), r3, (4, 1, 5, 3, 6), (0, 2, 6, 4, 5)) + tmp314 += einsum(t1, (0, 1), tmp52, (2, 3, 4, 5, 1), (3, 0, 2, 4, 5)) + del tmp52 + tmp314 += einsum(r3, (0, 1, 2, 3, 4), tmp10, (5, 1), (5, 3, 4, 0, 2)) * -1 + del tmp10 + tmp313 = np.copy(tmp306) + del tmp306 + tmp313 += tmp275 + del tmp275 + tmp314 += einsum(tmp313, (0, 1, 2, 3, 4), t1, (5, 4), (1, 0, 5, 2, 3)) + del tmp313 + r3new += einsum(t1, (0, 1), tmp314, (0, 2, 3, 4, 5), (4, 1, 5, 2, 3)) + del tmp314 + tmp315 = np.copy(f.oo) * 0.5 + tmp315 += np.transpose(ints.tmp45, (1, 0)) + del ints.tmp45 + tmp315 += ints.tmp62 * 0.5 + del ints.tmp62 + tmp315 += np.transpose(ints.tmp84, (1, 0)) + del ints.tmp84 + tmp315 += np.transpose(ints.tmp94, (1, 0)) + del ints.tmp94 + tmp315 += np.transpose(ints.tmp44, (1, 0)) * -0.5 + del ints.tmp44 + tmp315 += np.transpose(ints.tmp82, (1, 0)) * -0.5 + del ints.tmp82 + tmp315 += np.transpose(ints.tmp93, (1, 0)) * -0.5 + del ints.tmp93 + r3new += einsum(tmp315, (0, 1), r3, (2, 3, 4, 0, 5), (2, 3, 4, 1, 5)) * -2 + del tmp315 + r3new += einsum(r3, (0, 1, 2, 3, 4), tmp48, (4, 5), (0, 1, 2, 3, 5)) * -1 + del tmp48 + tmp318 = np.copy(ints.tmp479) * 3 + del ints.tmp479 + tmp318 += ints.tmp476 * -1 + del ints.tmp476 + tmp316 = np.copy(ints.tmp132) * 4 + del ints.tmp132 + tmp316 += ints.tmp477 + del ints.tmp477 + tmp316 += ints.tmp47 * 2 + del ints.tmp47 + tmp316 += ints.tmp134 * -2 + del ints.tmp134 + tmp316 += ints.tmp55 * -1 + del ints.tmp55 + tmp318 += tmp316 * -1 + tmp318 += np.transpose(tmp316, (0, 2, 1, 3)) + del tmp316 + tmp317 = np.copy(ints.tmp35) * 2 + del ints.tmp35 + tmp317 += v.ovvv * 2 + tmp317 += ints.tmp133 * -2 + del ints.tmp133 + tmp318 += np.transpose(tmp317, (0, 1, 3, 2)) * -1 + tmp318 += np.transpose(tmp317, (0, 3, 1, 2)) + del tmp317 + r3new += einsum(r2, (0, 1, 2), tmp318, (3, 4, 5, 1), (5, 0, 4, 3, 2)) * -0.5 + del tmp318 + r3new += einsum(tmp12, (0,), t3, (1, 2, 0, 3, 4, 5), (3, 4, 5, 1, 2)) * -1 + del tmp12 + tmp321 = np.copy(ints.tmp530) * 2 + tmp321 += ints.tmp243 * -1 + del ints.tmp243 + tmp321 += ints.tmp260 * -1 + del ints.tmp260 + tmp321 += ints.tmp262 * -1 + del ints.tmp262 + tmp321 += ints.tmp283 * -1 + del ints.tmp283 + tmp321 += ints.tmp293 * -1 + del ints.tmp293 + tmp321 += ints.tmp296 * -1 + del ints.tmp296 + tmp321 += np.transpose(ints.tmp522, (0, 1, 3, 2)) * -1 + tmp321 += ints.tmp532 * -4 + tmp321 += ints.tmp533 * -1 + tmp321 += ints.tmp537 * -1 + del ints.tmp537 + tmp321 += ints.tmp539 * -1 + del ints.tmp539 + tmp321 += np.transpose(v.ovov, (0, 2, 1, 3)) * -1 + tmp319 = np.copy(ints.tmp138) + tmp319 += ints.tmp167 + tmp319 += ints.tmp170 * 2 + tmp319 += ints.tmp198 + tmp319 += ints.tmp202 * 2 + tmp319 += ints.tmp253 + tmp319 += ints.tmp294 + tmp319 += ints.tmp324 + tmp319 += ints.tmp374 + tmp319 += ints.tmp382 + tmp319 += ints.tmp384 * 2 + tmp319 += ints.tmp419 + tmp319 += ints.tmp422 * 2 + del ints.tmp422 + tmp319 += ints.tmp462 + del ints.tmp462 + tmp319 += ints.tmp506 + tmp319 += ints.tmp525 + tmp319 += ints.tmp531 * 2 + tmp319 += ints.tmp139 * -2 + tmp319 += ints.tmp169 * -1 + tmp319 += ints.tmp200 * -1 + tmp319 += ints.tmp204 * -1 + tmp319 += ints.tmp318 * -1 + tmp319 += ints.tmp323 * -2 + tmp319 += ints.tmp383 * -1 + tmp319 += ints.tmp398 * -1 + tmp319 += ints.tmp421 * -1 + del ints.tmp421 + tmp319 += ints.tmp428 * -1 + del ints.tmp428 + tmp319 += ints.tmp463 * -2 + del ints.tmp463 + tmp319 += ints.tmp529 * -1 + tmp321 += tmp319 + tmp321 += np.transpose(tmp319, (1, 0, 3, 2)) + del tmp319 + tmp320 = np.copy(ints.tmp156) + del ints.tmp156 + tmp320 += ints.tmp168 + del ints.tmp168 + tmp320 += ints.tmp172 * 2 + del ints.tmp172 + tmp320 += ints.tmp205 + del ints.tmp205 + tmp320 += ints.tmp207 + del ints.tmp207 + tmp320 += ints.tmp271 + del ints.tmp271 + tmp320 += ints.tmp317 + del ints.tmp317 + tmp320 += ints.tmp372 + del ints.tmp372 + tmp320 += ints.tmp381 + del ints.tmp381 + tmp320 += ints.tmp386 * 2 + del ints.tmp386 + tmp320 += ints.tmp412 + del ints.tmp412 + tmp320 += ints.tmp420 + del ints.tmp420 + tmp320 += ints.tmp424 * 2 + del ints.tmp424 + tmp320 += ints.tmp505 + del ints.tmp505 + tmp320 += ints.tmp171 * -1 + del ints.tmp171 + tmp320 += ints.tmp176 * -1 + del ints.tmp176 + tmp320 += ints.tmp188 * -1 + del ints.tmp188 + tmp320 += ints.tmp196 * -1 + del ints.tmp196 + tmp320 += ints.tmp206 * -2 + del ints.tmp206 + tmp320 += ints.tmp299 * -1 + del ints.tmp299 + tmp320 += ints.tmp388 * -1 + del ints.tmp388 + tmp320 += ints.tmp390 * -1 + del ints.tmp390 + tmp320 += ints.tmp423 * -1 + del ints.tmp423 + tmp320 += ints.tmp91 * -1 + del ints.tmp91 + tmp321 += np.transpose(tmp320, (0, 1, 3, 2)) + tmp321 += np.transpose(tmp320, (1, 0, 2, 3)) + r3new += einsum(r1, (0,), tmp321, (1, 2, 3, 4), (4, 3, 0, 2, 1)) * -1 + del tmp321 + tmp323 = np.copy(np.transpose(ints.tmp530, (0, 1, 3, 2))) * 2 + del ints.tmp530 + tmp323 += ints.tmp522 * -1 + del ints.tmp522 + tmp323 += np.transpose(ints.tmp532, (0, 1, 3, 2)) * -4 + del ints.tmp532 + tmp323 += np.transpose(ints.tmp533, (0, 1, 3, 2)) * -1 + del ints.tmp533 + tmp323 += np.transpose(v.ovov, (0, 2, 3, 1)) * -1 + tmp322 = np.copy(ints.tmp138) + del ints.tmp138 + tmp322 += ints.tmp167 + del ints.tmp167 + tmp322 += ints.tmp170 * 2 + del ints.tmp170 + tmp322 += ints.tmp198 + del ints.tmp198 + tmp322 += ints.tmp202 * 2 + del ints.tmp202 + tmp322 += ints.tmp253 + del ints.tmp253 + tmp322 += ints.tmp294 + del ints.tmp294 + tmp322 += ints.tmp324 + del ints.tmp324 + tmp322 += ints.tmp374 + del ints.tmp374 + tmp322 += ints.tmp382 + del ints.tmp382 + tmp322 += ints.tmp384 * 2 + del ints.tmp384 + tmp322 += ints.tmp419 + del ints.tmp419 + tmp322 += ints.tmp506 + del ints.tmp506 + tmp322 += ints.tmp525 + del ints.tmp525 + tmp322 += ints.tmp531 * 2 + del ints.tmp531 + tmp322 += ints.tmp139 * -2 + del ints.tmp139 + tmp322 += ints.tmp169 * -1 + del ints.tmp169 + tmp322 += ints.tmp200 * -1 + del ints.tmp200 + tmp322 += ints.tmp204 * -1 + del ints.tmp204 + tmp322 += ints.tmp318 * -1 + del ints.tmp318 + tmp322 += ints.tmp323 * -2 + del ints.tmp323 + tmp322 += ints.tmp383 * -1 + del ints.tmp383 + tmp322 += ints.tmp398 * -1 + del ints.tmp398 + tmp322 += ints.tmp529 * -1 + del ints.tmp529 + tmp323 += np.transpose(tmp322, (0, 1, 3, 2)) + tmp323 += np.transpose(tmp322, (1, 0, 2, 3)) + del tmp322 + tmp323 += tmp320 + tmp323 += np.transpose(tmp320, (1, 0, 3, 2)) + del tmp320 + r3new += einsum(r1, (0,), tmp323, (1, 2, 3, 4), (0, 4, 3, 2, 1)) + del tmp323 + tmp324 = np.copy(np.transpose(r2, (2, 0, 1))) * -1 + tmp324 += np.transpose(r2, (2, 1, 0)) + r3new += einsum(tmp50, (0, 1), tmp324, (2, 3, 4), (3, 1, 4, 2, 0)) + del tmp50, tmp324 + tmp325 = np.copy(f.ov) * 0.6666666666666666 + tmp325 += ints.tmp104 * 0.6666666666666666 + del ints.tmp104 + tmp325 += ints.tmp106 * 0.6666666666666666 + del ints.tmp106 + tmp325 += ints.tmp112 * 0.6666666666666666 + del ints.tmp112 + tmp325 += ints.tmp119 * 0.6666666666666666 + del ints.tmp119 + tmp325 += ints.tmp121 * 0.6666666666666666 + del ints.tmp121 + tmp325 += ints.tmp125 * 1.3333333333333333 + del ints.tmp125 + tmp325 += ints.tmp141 * 0.3333333333333333 + del ints.tmp141 + tmp325 += ints.tmp143 + del ints.tmp143 + tmp325 += ints.tmp144 * 0.3333333333333333 + del ints.tmp144 + tmp325 += ints.tmp145 * 0.6666666666666666 + del ints.tmp145 + tmp325 += ints.tmp148 * 2.6666666666666665 + del ints.tmp148 + tmp325 += ints.tmp24 * 1.3333333333333333 + del ints.tmp24 + tmp325 += ints.tmp61 * 0.6666666666666666 + del ints.tmp61 + tmp325 += ints.tmp80 * 1.3333333333333333 + del ints.tmp80 + tmp325 += ints.tmp89 * 1.3333333333333333 + del ints.tmp89 + tmp325 += ints.tmp100 * -0.6666666666666666 + del ints.tmp100 + tmp325 += ints.tmp103 * -1.3333333333333333 + del ints.tmp103 + tmp325 += ints.tmp105 * -1.3333333333333333 + del ints.tmp105 + tmp325 += ints.tmp113 * -1.3333333333333333 + del ints.tmp113 + tmp325 += ints.tmp114 * -0.6666666666666666 + del ints.tmp114 + tmp325 += ints.tmp120 * -1.3333333333333333 + del ints.tmp120 + tmp325 += ints.tmp122 * -1.3333333333333333 + del ints.tmp122 + tmp325 += ints.tmp124 * -0.6666666666666666 + del ints.tmp124 + tmp325 += ints.tmp142 * -0.3333333333333333 + del ints.tmp142 + tmp325 += ints.tmp146 * -1.3333333333333333 + del ints.tmp146 + tmp325 += ints.tmp147 * -1.3333333333333333 + del ints.tmp147 + tmp325 += ints.tmp43 * -0.6666666666666666 + del ints.tmp43 + tmp325 += ints.tmp81 * -0.6666666666666666 + del ints.tmp81 + tmp325 += ints.tmp90 * -0.6666666666666666 + del ints.tmp90 + r3new += einsum(tmp325, (0, 1), r2, (2, 3, 4), (3, 2, 1, 0, 4)) * 1.5 + r3new += einsum(r2, (0, 1, 2), tmp325, (3, 4), (4, 0, 1, 3, 2)) * -1.5 + del tmp325 + tmp326 = np.copy(np.transpose(v.ovov, (0, 2, 1, 3))) + tmp326 += v.oovv * -0.5 + r3new += einsum(tmp326, (0, 1, 2, 3), r3, (4, 2, 5, 6, 0), (4, 3, 5, 6, 1)) * 2 + del tmp326 + tmp327 = np.copy(np.transpose(r3, (3, 4, 0, 1, 2))) + tmp327 += np.transpose(r3, (4, 3, 0, 1, 2)) * -1 + r3new += einsum(tmp327, (0, 1, 2, 3, 4), v.ovov, (5, 6, 0, 4), (2, 6, 3, 1, 5)) + del tmp327 + + return {f"r1new": r1new, f"r2new": r2new, f"r3new": r3new} + +def hbar_lmatvec_ip_intermediates(f=None, t1=None, t2=None, t3=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-10-22T09:22:24.837052. + + Parameters + ---------- + f : array + Fock matrix. + t1 : array + T1 amplitudes. + t2 : array + T2 amplitudes. + t3 : array + T3 amplitudes. + v : array + Electron repulsion integrals. + + Returns + ------- + tmp0 : array + tmp103 : array + tmp112 : array + tmp114 : array + tmp116 : array + tmp119 : array + tmp122 : array + tmp123 : array + tmp125 : array + tmp126 : array + tmp128 : array + tmp131 : array + tmp134 : array + tmp176 : array + tmp179 : array + tmp182 : array + tmp185 : array + tmp188 : array + tmp191 : array + tmp194 : array + tmp197 : array + tmp2 : array + tmp237 : array + tmp241 : array + tmp245 : array + tmp253 : array + tmp273 : array + tmp279 : array + tmp288 : array + tmp291 : array + tmp295 : array + tmp300 : array + tmp305 : array + tmp308 : array + tmp311 : array + tmp315 : array + tmp325 : array + tmp416 : array + tmp421 : array + tmp426 : array + tmp431 : array + tmp608 : array + tmp609 : array + tmp611 : array + tmp614 : array + tmp618 : array + tmp72 : array + tmp73 : array + tmp759 : array + tmp98 : array + tmp992 : array + """ + + tmp0 = einsum(f.ov, (0, 1), t1, (2, 1), (0, 2)) + tmp98 = np.copy(v.oooo) + tmp112 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 3, 1, 2), (0, 4)) + tmp2 = einsum(t1, (0, 1), f.vv, (2, 1), (0, 2)) + tmp72 = einsum(t1, (0, 1), v.ooov, (2, 0, 3, 1), (2, 3)) + tmp103 = np.copy(np.transpose(v.oooo, (0, 2))) + tmp128 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 3, 4, 2), (0, 4)) + tmp176 = einsum(v.ovov, (0, 1, 2, 3), t3, (4, 2, 0, 1, 5, 3), (4, 5)) + tmp73 = einsum(t1, (0, 1), v.ooov, (2, 3, 0, 1), (2, 3)) + tmp114 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 2, 1, 3), (4, 0)) + tmp116 = einsum(v.ooov, (0, 1, 2, 3), t2, (1, 2, 3, 4), (0, 4)) + tmp119 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 0, 1, 3), (4, 2)) + tmp122 = einsum(v.ooov, (0, 1, 2, 3), t2, (4, 1, 3, 5), (4, 0, 2, 5)) + tmp123 = einsum(v.ooov, (0, 1, 2, 3), t2, (4, 1, 5, 3), (4, 0, 2, 5)) + tmp125 = einsum(v.ooov, (0, 1, 2, 3), t2, (4, 2, 3, 5), (4, 0, 1, 5)) + tmp126 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 1, 3), (0, 4, 5, 2)) + tmp131 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 2, 4, 3), (0, 4)) + tmp134 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 5, 1, 3), (4, 5, 0, 2)) + tmp179 = einsum(v.ovov, (0, 1, 2, 3), t3, (4, 2, 0, 5, 1, 3), (4, 5)) + tmp182 = einsum(v.ovov, (0, 1, 2, 3), t3, (4, 2, 0, 5, 3, 1), (4, 5)) + tmp185 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovov, (0, 3, 2, 5), (1, 4)) + tmp188 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovov, (6, 3, 2, 5), (0, 1, 6, 4)) + tmp191 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovov, (6, 4, 2, 5), (0, 1, 6, 3)) + tmp194 = einsum(v.ovov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 3, 1), (4, 5, 0, 6)) + tmp197 = einsum(v.ovov, (0, 1, 2, 3), t3, (4, 2, 5, 6, 3, 1), (4, 5, 0, 6)) + tmp237 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovvv, (2, 3, 6, 5), (0, 1, 4, 6)) + tmp241 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovvv, (2, 4, 6, 5), (0, 1, 3, 6)) + tmp245 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovvv, (2, 5, 6, 4), (0, 1, 3, 6)) + tmp253 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovvv, (1, 4, 6, 5), (0, 2, 3, 6)) + tmp272 = np.copy(v.ovoo) + tmp273 = einsum(t1, (0, 1), tmp272, (2, 1), (0, 2)) + del tmp272 + tmp288 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 2, 1, 5), (0, 4, 3, 5)) + tmp291 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 2, 5, 1), (4, 0, 5, 3)) + tmp295 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 5, 1, 2), (0, 4, 3, 5)) + tmp300 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 2, 5, 3), (4, 0, 5, 1)) + tmp311 = einsum(v.ovov, (0, 1, 2, 3), t2, (0, 2, 4, 3), (4, 1)) + tmp315 = einsum(v.ovov, (0, 1, 2, 3), t2, (0, 2, 4, 1), (4, 3)) + tmp325 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 2, 5, 3), (0, 1, 4, 5)) + tmp416 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 2), (0, 3, 4, 5)) + tmp421 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 0, 5, 3), (4, 5, 1, 2)) + tmp426 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 2, 4, 5), (0, 3, 4, 5)) + tmp431 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 0, 5, 1), (4, 5, 2, 3)) + tmp611 = einsum(t1, (0, 1), v.ooov, (2, 3, 4, 1), (0, 2, 3, 4)) + tmp614 = einsum(v.ovvv, (0, 1, 2, 3), t1, (0, 1), (2, 3)) + tmp618 = einsum(v.ovvv, (0, 1, 2, 3), t1, (0, 3), (1, 2)) + tmp278 = np.copy(np.transpose(v.ooov, (0, 3))) + tmp279 = einsum(t1, (0, 1), tmp278, (2, 1), (0, 2)) + del tmp278 + tmp305 = einsum(t1, (0, 1), v.ovov, (2, 1, 0, 3), (2, 3)) + tmp608 = einsum(t1, (0, 1), tmp305, (2, 1), (0, 2)) + tmp308 = einsum(t1, (0, 1), v.ovov, (2, 3, 0, 1), (2, 3)) + tmp609 = einsum(t1, (0, 1), tmp308, (2, 1), (0, 2)) + tmp759 = einsum(t1, (0, 1), v.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) + tmp992 = einsum(t1, (0, 1), tmp759, (2, 3, 4, 1), (2, 0, 4, 3)) + + return {f"tmp0": tmp0, f"tmp103": tmp103, f"tmp112": tmp112, f"tmp114": tmp114, f"tmp116": tmp116, f"tmp119": tmp119, f"tmp122": tmp122, f"tmp123": tmp123, f"tmp125": tmp125, f"tmp126": tmp126, f"tmp128": tmp128, f"tmp131": tmp131, f"tmp134": tmp134, f"tmp176": tmp176, f"tmp179": tmp179, f"tmp182": tmp182, f"tmp185": tmp185, f"tmp188": tmp188, f"tmp191": tmp191, f"tmp194": tmp194, f"tmp197": tmp197, f"tmp2": tmp2, f"tmp237": tmp237, f"tmp241": tmp241, f"tmp245": tmp245, f"tmp253": tmp253, f"tmp273": tmp273, f"tmp279": tmp279, f"tmp288": tmp288, f"tmp291": tmp291, f"tmp295": tmp295, f"tmp300": tmp300, f"tmp305": tmp305, f"tmp308": tmp308, f"tmp311": tmp311, f"tmp315": tmp315, f"tmp325": tmp325, f"tmp416": tmp416, f"tmp421": tmp421, f"tmp426": tmp426, f"tmp431": tmp431, f"tmp608": tmp608, f"tmp609": tmp609, f"tmp611": tmp611, f"tmp614": tmp614, f"tmp618": tmp618, f"tmp72": tmp72, f"tmp73": tmp73, f"tmp759": tmp759, f"tmp98": tmp98, f"tmp992": tmp992} + +def hbar_lmatvec_ip(f=None, r1=None, r2=None, r3=None, t1=None, t2=None, t3=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-10-22T09:22:25.066322. + + Parameters + ---------- + f : array + Fock matrix. + r1 : array + R1 amplitudes. + r2 : array + R2 amplitudes. + r3 : array + R3 amplitudes. + t1 : array + T1 amplitudes. + t2 : array + T2 amplitudes. + t3 : array + T3 amplitudes. + v : array + Electron repulsion integrals. + + Returns + ------- + r1new : array + Updated R1 residuals. + r2new : array + Updated R2 residuals. + r3new : array + Updated R3 residuals. + """ + + ints = kwargs["ints"] + tmp0 = einsum(r3, (0, 1, 2, 3, 4), v.vvvv, (5, 3, 6, 4), (0, 1, 2, 5, 6)) + r3new = np.copy(tmp0) + tmp34 = einsum(r3, (0, 1, 2, 3, 4), t2, (5, 6, 3, 4), (0, 1, 2, 5, 6)) + tmp159 = einsum(v.ovov, (0, 1, 2, 3), tmp34, (4, 5, 6, 2, 0), (4, 5, 6, 3, 1)) + r3new += tmp159 + tmp326 = einsum(r3, (0, 1, 2, 3, 4), t2, (5, 2, 6, 4), (0, 1, 5, 3, 6)) + r3new += einsum(v.ovov, (0, 1, 2, 3), tmp326, (4, 5, 2, 6, 1), (4, 0, 5, 6, 3)) + del tmp326 + tmp90 = einsum(t1, (0, 1), r3, (2, 3, 4, 5, 1), (2, 3, 4, 0, 5)) + tmp160 = einsum(t1, (0, 1), tmp90, (2, 3, 4, 5, 1), (2, 3, 4, 0, 5)) + tmp161 = einsum(v.ovov, (0, 1, 2, 3), tmp160, (4, 5, 6, 0, 2), (4, 5, 6, 1, 3)) + del tmp160 + r3new += tmp161 + tmp251 = einsum(v.oovv, (0, 1, 2, 3), r3, (4, 5, 1, 3, 6), (4, 5, 0, 6, 2)) + tmp328 = np.copy(tmp251) + tmp165 = einsum(r3, (0, 1, 2, 3, 4), v.ovvv, (5, 6, 7, 3), (0, 1, 2, 5, 4, 6, 7)) + tmp327 = einsum(tmp165, (0, 1, 2, 3, 4, 5, 6), t1, (2, 5), (0, 1, 3, 4, 6)) + tmp328 += tmp327 + del tmp327 + r3new += np.transpose(tmp328, (0, 1, 2, 4, 3)) * -1 + r3new += np.transpose(tmp328, (2, 1, 0, 4, 3)) + del tmp328 + tmp163 = einsum(r3, (0, 1, 2, 3, 4), v.ovvv, (5, 6, 7, 4), (0, 1, 2, 5, 3, 6, 7)) + tmp329 = einsum(tmp163, (0, 1, 2, 3, 4, 5, 6), t1, (1, 6), (0, 2, 3, 4, 5)) + r3new += np.transpose(tmp329, (0, 2, 1, 3, 4)) * 2 + r3new += np.transpose(tmp329, (1, 0, 2, 4, 3)) * -1 + r3new += np.transpose(tmp329, (2, 0, 1, 4, 3)) + del tmp329 + tmp267 = einsum(tmp165, (0, 1, 2, 3, 4, 5, 6), t1, (2, 6), (0, 1, 3, 4, 5)) + r3new += np.transpose(tmp267, (0, 1, 2, 4, 3)) + r3new += np.transpose(tmp267, (0, 2, 1, 3, 4)) + r3new += np.transpose(tmp267, (2, 1, 0, 4, 3)) * -1 + tmp330 = einsum(r3, (0, 1, 2, 3, 4), ints.tmp992, (2, 1, 5, 6), (5, 6, 0, 3, 4)) + tmp334 = np.copy(tmp330) + del tmp330 + tmp261 = einsum(v.oovv, (0, 1, 2, 3), r3, (4, 5, 1, 6, 3), (4, 5, 0, 6, 2)) + tmp334 += tmp261 + tmp331 = einsum(tmp163, (0, 1, 2, 3, 4, 5, 6), t1, (2, 5), (0, 1, 3, 4, 6)) + tmp334 += tmp331 + del tmp331 + tmp268 = einsum(t2, (0, 1, 2, 3), r3, (4, 0, 1, 2, 5), (4, 5, 3)) + tmp269 = einsum(v.ovov, (0, 1, 2, 3), tmp268, (4, 5, 3), (4, 0, 2, 5, 1)) + tmp334 += tmp269 * -0.5 + tmp332 = np.copy(ints.tmp291) + tmp332 += ints.tmp295 + tmp333 = einsum(tmp332, (0, 1, 2, 3), r3, (4, 0, 5, 6, 2), (4, 5, 1, 6, 3)) + del tmp332 + tmp334 += np.transpose(tmp333, (2, 0, 1, 4, 3)) + del tmp333 + tmp255 = np.copy(ints.tmp325) + tmp255 += np.transpose(ints.tmp611, (2, 0, 1, 3)) + tmp256 = einsum(r3, (0, 1, 2, 3, 4), tmp255, (2, 1, 5, 6), (0, 5, 6, 3, 4)) + del tmp255 + tmp334 += np.transpose(tmp256, (1, 2, 0, 3, 4)) + r3new += tmp334 * -1 + r3new += np.transpose(tmp334, (2, 1, 0, 3, 4)) + del tmp334 + tmp335 = np.copy(f.oo) + tmp335 += np.transpose(ints.tmp0, (1, 0)) + tmp335 += ints.tmp114 * 2 + tmp336 = einsum(tmp335, (0, 1), r3, (2, 3, 0, 4, 5), (2, 3, 1, 4, 5)) + del tmp335 + r3new += np.transpose(tmp336, (2, 1, 0, 3, 4)) + r3new += tmp336 * -1 + del tmp336 + tmp257 = einsum(ints.tmp325, (0, 1, 2, 3), r3, (1, 4, 0, 5, 6), (2, 3, 4, 5, 6)) + tmp343 = np.copy(tmp257) * 0.5 + tmp337 = einsum(r3, (0, 1, 2, 3, 4), ints.tmp288, (2, 5, 3, 6), (5, 0, 1, 6, 4)) + tmp343 += tmp337 + del tmp337 + tmp108 = einsum(r3, (0, 1, 2, 3, 4), t1, (5, 3), (0, 1, 2, 5, 4)) + tmp338 = einsum(ints.tmp759, (0, 1, 2, 3), tmp108, (4, 5, 0, 1, 6), (2, 4, 5, 3, 6)) + tmp343 += tmp338 + del tmp338 + tmp339 = np.copy(ints.tmp611) + tmp339 += np.transpose(ints.tmp992, (1, 0, 2, 3)) * 0.5 + tmp340 = einsum(tmp339, (0, 1, 2, 3), r3, (0, 4, 1, 5, 6), (4, 2, 3, 5, 6)) + del tmp339 + tmp343 += np.transpose(tmp340, (1, 2, 0, 3, 4)) + del tmp340 + tmp341 = np.copy(ints.tmp112) * 0.5 + tmp341 += ints.tmp608 * 0.5 + tmp341 += ints.tmp72 * 0.5 + tmp341 += ints.tmp609 * -1 + tmp341 += np.transpose(ints.tmp73, (1, 0)) * -1 + tmp342 = einsum(r3, (0, 1, 2, 3, 4), tmp341, (2, 5), (0, 1, 5, 3, 4)) * 2 + del tmp341 + tmp343 += np.transpose(tmp342, (2, 0, 1, 3, 4)) + del tmp342 + r3new += np.transpose(tmp343, (0, 2, 1, 3, 4)) * -1 + r3new += np.transpose(tmp343, (1, 2, 0, 3, 4)) + del tmp343 + tmp344 = einsum(ints.tmp759, (0, 1, 2, 3), r2, (4, 0, 5), (1, 2, 4, 3, 5)) + tmp346 = np.copy(tmp344) + del tmp344 + tmp345 = einsum(r2, (0, 1, 2), v.ooov, (3, 1, 4, 5), (0, 3, 4, 2, 5)) + tmp346 += tmp345 + del tmp345 + r3new += np.transpose(tmp346, (0, 2, 1, 3, 4)) + r3new += np.transpose(tmp346, (1, 0, 2, 4, 3)) * -1 + r3new += np.transpose(tmp346, (2, 0, 1, 4, 3)) + r3new += np.transpose(tmp346, (1, 2, 0, 3, 4)) * -1 + del tmp346 + tmp347 = einsum(ints.tmp759, (0, 1, 2, 3), r2, (0, 4, 5), (1, 2, 4, 3, 5)) + r3new += tmp347 + r3new += np.transpose(tmp347, (1, 0, 2, 4, 3)) + r3new += np.transpose(tmp347, (2, 0, 1, 4, 3)) * -1 + r3new += np.transpose(tmp347, (2, 1, 0, 3, 4)) * -1 + del tmp347 + tmp348 = einsum(r2, (0, 1, 2), v.ooov, (3, 0, 4, 5), (1, 3, 4, 2, 5)) + r3new += np.transpose(tmp348, (0, 1, 2, 4, 3)) * -1 + r3new += np.transpose(tmp348, (0, 2, 1, 3, 4)) * -1 + r3new += np.transpose(tmp348, (1, 2, 0, 3, 4)) + r3new += np.transpose(tmp348, (2, 1, 0, 4, 3)) + del tmp348 + tmp266 = einsum(ints.tmp759, (0, 1, 2, 3), tmp108, (4, 5, 0, 2, 6), (1, 4, 5, 3, 6)) + tmp351 = np.copy(tmp266) + tmp349 = np.copy(ints.tmp291) + tmp349 += ints.tmp295 + tmp350 = einsum(r3, (0, 1, 2, 3, 4), tmp349, (2, 5, 3, 6), (0, 1, 5, 4, 6)) + del tmp349 + tmp351 += np.transpose(tmp350, (2, 0, 1, 4, 3)) + del tmp350 + r3new += np.transpose(tmp351, (0, 2, 1, 3, 4)) + r3new += np.transpose(tmp351, (1, 0, 2, 4, 3)) * -1 + r3new += np.transpose(tmp351, (1, 2, 0, 3, 4)) * -1 + del tmp351 + tmp352 = einsum(ints.tmp759, (0, 1, 2, 3), tmp90, (4, 0, 5, 2, 6), (1, 4, 5, 3, 6)) + r3new += tmp352 * -1 + r3new += np.transpose(tmp352, (1, 0, 2, 4, 3)) * -2 + r3new += np.transpose(tmp352, (2, 1, 0, 3, 4)) + del tmp352 + tmp250 = einsum(ints.tmp288, (0, 1, 2, 3), r3, (4, 5, 0, 6, 2), (1, 4, 5, 3, 6)) + tmp355 = np.copy(tmp250) + tmp353 = einsum(ints.tmp759, (0, 1, 2, 3), tmp90, (4, 5, 0, 1, 6), (2, 4, 5, 3, 6)) + tmp355 += tmp353 + del tmp353 + tmp101 = np.copy(np.transpose(t2, (0, 1, 3, 2))) + tmp101 += t2 * -1 + tmp286 = einsum(r3, (0, 1, 2, 3, 4), tmp101, (1, 0, 4, 5), (2, 3, 5)) + tmp354 = einsum(tmp286, (0, 1, 2), v.ovov, (3, 2, 4, 5), (3, 4, 0, 5, 1)) * -0.5 + tmp355 += np.transpose(tmp354, (2, 1, 0, 4, 3)) * -1 + del tmp354 + r3new += np.transpose(tmp355, (0, 2, 1, 4, 3)) * -1 + r3new += np.transpose(tmp355, (1, 2, 0, 4, 3)) + del tmp355 + tmp356 = einsum(tmp108, (0, 1, 2, 3, 4), v.ovoo, (5, 6, 3, 2), (0, 1, 5, 4, 6)) + r3new += np.transpose(tmp356, (0, 1, 2, 4, 3)) * -1 + r3new += np.transpose(tmp356, (0, 2, 1, 3, 4)) * -1 + r3new += np.transpose(tmp356, (2, 1, 0, 4, 3)) + del tmp356 + tmp91 = einsum(v.ovoo, (0, 1, 2, 3), tmp90, (4, 3, 5, 2, 6), (4, 5, 0, 6, 1)) + r3new += np.transpose(tmp91, (0, 2, 1, 3, 4)) * -2 + r3new += np.transpose(tmp91, (1, 0, 2, 4, 3)) + r3new += np.transpose(tmp91, (2, 0, 1, 4, 3)) * -1 + tmp264 = einsum(r3, (0, 1, 2, 3, 4), v.ovov, (5, 6, 2, 3), (0, 1, 5, 4, 6)) + tmp358 = np.copy(tmp264) + tmp357 = einsum(tmp108, (0, 1, 2, 3, 4), v.ooov, (5, 2, 3, 6), (0, 1, 5, 4, 6)) + tmp358 += tmp357 + del tmp357 + r3new += np.transpose(tmp358, (0, 1, 2, 4, 3)) + r3new += np.transpose(tmp358, (2, 1, 0, 4, 3)) * -1 + del tmp358 + tmp157 = einsum(r3, (0, 1, 2, 3, 4), v.oooo, (5, 1, 6, 2), (0, 5, 6, 3, 4)) + tmp363 = np.copy(tmp157) + tmp359 = einsum(ints.tmp300, (0, 1, 2, 3), r3, (4, 0, 5, 6, 2), (1, 4, 5, 3, 6)) + tmp363 += tmp359 * 2 + del tmp359 + tmp360 = einsum(v.ooov, (0, 1, 2, 3), tmp90, (4, 5, 1, 2, 6), (4, 5, 0, 6, 3)) + tmp363 += tmp360 + del tmp360 + tmp361 = einsum(t2, (0, 1, 2, 3), r3, (4, 0, 1, 5, 3), (4, 5, 2)) + tmp362 = einsum(v.ovov, (0, 1, 2, 3), tmp361, (4, 5, 3), (4, 0, 2, 5, 1)) + del tmp361 + tmp363 += tmp362 + del tmp362 + r3new += tmp363 + r3new += np.transpose(tmp363, (2, 1, 0, 3, 4)) * -1 + del tmp363 + r3new += einsum(v.ovov, (0, 1, 2, 3), r1, (4,), (4, 0, 2, 3, 1)) * -1 + r3new += einsum(r1, (0,), v.ovov, (1, 2, 3, 4), (1, 3, 0, 2, 4)) + tmp154 = einsum(r2, (0, 1, 2), v.ovvv, (3, 4, 5, 2), (0, 1, 3, 4, 5)) + r3new += np.transpose(tmp154, (0, 2, 1, 4, 3)) * -1 + r3new += np.transpose(tmp154, (1, 0, 2, 3, 4)) + r3new += np.transpose(tmp154, (2, 0, 1, 3, 4)) * -1 + r3new += np.transpose(tmp154, (1, 2, 0, 4, 3)) + tmp307 = einsum(r3, (0, 1, 2, 3, 4), t2, (5, 2, 4, 3), (0, 1, 5)) + tmp364 = einsum(v.ovov, (0, 1, 2, 3), tmp307, (4, 5, 2), (4, 5, 0, 1, 3)) + r3new += tmp364 * -1 + r3new += np.transpose(tmp364, (0, 2, 1, 4, 3)) * -1 + r3new += np.transpose(tmp364, (2, 1, 0, 3, 4)) + del tmp364 + tmp317 = einsum(r3, (0, 1, 2, 3, 4), t2, (1, 2, 4, 5), (0, 3, 5)) + tmp365 = einsum(v.ovov, (0, 1, 2, 3), tmp317, (4, 5, 3), (4, 0, 2, 5, 1)) + r3new += tmp365 * -2 + r3new += np.transpose(tmp365, (1, 0, 2, 4, 3)) * -1 + r3new += np.transpose(tmp365, (2, 0, 1, 4, 3)) + r3new += np.transpose(tmp365, (2, 1, 0, 3, 4)) * 2 + del tmp365 + tmp270 = einsum(t2, (0, 1, 2, 3), r3, (4, 0, 1, 3, 5), (4, 5, 2)) + tmp271 = einsum(v.ovov, (0, 1, 2, 3), tmp270, (4, 5, 3), (4, 0, 2, 5, 1)) + r3new += tmp271 * -0.5 + r3new += np.transpose(tmp271, (0, 2, 1, 4, 3)) * -1 + r3new += np.transpose(tmp271, (1, 2, 0, 4, 3)) + r3new += np.transpose(tmp271, (2, 1, 0, 3, 4)) * 0.5 + tmp366 = einsum(r3, (0, 1, 2, 3, 4), t2, (5, 1, 4, 3), (0, 2, 5)) + tmp367 = einsum(tmp366, (0, 1, 2), v.ovov, (3, 4, 2, 5), (0, 1, 3, 4, 5)) + del tmp366 + r3new += np.transpose(tmp367, (0, 2, 1, 4, 3)) * 0.5 + r3new += np.transpose(tmp367, (1, 0, 2, 3, 4)) * -0.5 + r3new += np.transpose(tmp367, (2, 0, 1, 3, 4)) * 0.5 + del tmp367 + tmp83 = einsum(v.ovov, (0, 1, 2, 3), r3, (4, 2, 5, 6, 3), (4, 5, 0, 6, 1)) + tmp368 = np.copy(tmp83) + tmp272 = einsum(r3, (0, 1, 2, 3, 4), tmp101, (2, 0, 3, 5), (1, 4, 5)) + tmp273 = einsum(tmp272, (0, 1, 2), v.ovov, (3, 2, 4, 5), (3, 4, 0, 5, 1)) * -0.5 + del tmp272 + tmp368 += np.transpose(tmp273, (2, 1, 0, 4, 3)) * -1 + r3new += np.transpose(tmp368, (1, 0, 2, 4, 3)) * -1 + r3new += np.transpose(tmp368, (2, 0, 1, 4, 3)) + del tmp368 + tmp190 = einsum(t2, (0, 1, 2, 3), r3, (4, 1, 5, 2, 3), (4, 5, 0)) + tmp369 = einsum(v.ovov, (0, 1, 2, 3), tmp190, (4, 5, 2), (4, 5, 0, 1, 3)) + r3new += np.transpose(tmp369, (0, 2, 1, 4, 3)) * -1.5 + r3new += np.transpose(tmp369, (1, 0, 2, 3, 4)) * 0.5 + r3new += np.transpose(tmp369, (2, 0, 1, 3, 4)) * -0.5 + del tmp369 + tmp260 = einsum(ints.tmp611, (0, 1, 2, 3), r3, (4, 1, 0, 5, 6), (2, 3, 4, 5, 6)) + tmp371 = np.copy(tmp260) + tmp263 = einsum(v.oooo, (0, 1, 2, 3), r3, (1, 4, 3, 5, 6), (4, 0, 2, 5, 6)) + tmp371 += tmp263 * -0.5 + tmp199 = einsum(t1, (0, 1), r2, (2, 3, 1), (2, 3, 0)) + tmp370 = einsum(v.ovov, (0, 1, 2, 3), tmp199, (4, 5, 2), (4, 5, 0, 1, 3)) + tmp371 += tmp370 + del tmp370 + r3new += np.transpose(tmp371, (1, 0, 2, 3, 4)) * -1 + r3new += np.transpose(tmp371, (2, 0, 1, 3, 4)) + del tmp371 + tmp372 = einsum(r3, (0, 1, 2, 3, 4), ints.tmp300, (2, 5, 3, 6), (5, 0, 1, 6, 4)) + r3new += np.transpose(tmp372, (0, 2, 1, 3, 4)) * -2 + r3new += np.transpose(tmp372, (1, 0, 2, 4, 3)) * 2 + r3new += np.transpose(tmp372, (1, 2, 0, 3, 4)) * 2 + del tmp372 + tmp373 = np.copy(np.transpose(tmp163, (0, 1, 2, 3, 4, 6, 5))) + tmp373 += np.transpose(tmp163, (0, 3, 1, 2, 6, 5, 4)) + tmp373 += np.transpose(tmp163, (0, 3, 2, 1, 5, 6, 4)) + tmp373 += tmp165 + tmp373 += np.transpose(tmp165, (0, 3, 2, 1, 5, 4, 6)) + r3new += einsum(tmp373, (0, 1, 2, 3, 4, 5, 6), t1, (3, 4), (0, 1, 2, 6, 5)) * -1 + del tmp373 + tmp374 = np.copy(r3) * -0.5 + tmp374 += np.transpose(r3, (0, 1, 2, 4, 3)) * 0.5 + tmp374 += np.transpose(r3, (0, 2, 1, 3, 4)) + tmp181 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * 2 + tmp181 += t2 * -1 + tmp374 += einsum(r3, (0, 1, 2, 3, 4), tmp181, (2, 5, 6, 4), (0, 1, 5, 3, 6)) * -0.5 + r3new += einsum(v.ovov, (0, 1, 2, 3), tmp374, (4, 5, 2, 6, 3), (4, 0, 5, 6, 1)) * 2 + del tmp374 + tmp375 = np.copy(ints.tmp291) * 2 + tmp375 += ints.tmp295 * 2 + tmp375 += v.oovv + tmp375 += ints.tmp288 * -1 + tmp375 += ints.tmp300 * -4 + r3new += einsum(tmp375, (0, 1, 2, 3), r3, (4, 0, 5, 6, 2), (4, 1, 5, 6, 3)) * -1 + del tmp375 + tmp287 = np.copy(ints.tmp288) + tmp287 += v.oovv * -1 + tmp288 = einsum(tmp287, (0, 1, 2, 3), r3, (4, 0, 5, 2, 6), (4, 5, 1, 6, 3)) + r3new += np.transpose(tmp288, (0, 2, 1, 4, 3)) + tmp325 = np.copy(ints.tmp759) + tmp325 += np.transpose(v.ooov, (0, 2, 1, 3)) + r3new += einsum(tmp325, (0, 1, 2, 3), tmp90, (4, 5, 0, 2, 6), (4, 1, 5, 6, 3)) + r3new += einsum(tmp325, (0, 1, 2, 3), tmp90, (4, 0, 5, 1, 6), (4, 2, 5, 6, 3)) + r3new += einsum(tmp108, (0, 1, 2, 3, 4), tmp325, (1, 3, 5, 6), (0, 5, 2, 6, 4)) + tmp322 = np.copy(f.vv) + tmp322 += ints.tmp315 + tmp322 += ints.tmp614 * 2 + tmp322 += ints.tmp311 * -2 + tmp322 += np.transpose(ints.tmp618, (1, 0)) * -1 + r3new += einsum(r3, (0, 1, 2, 3, 4), tmp322, (3, 5), (0, 1, 2, 5, 4)) + r3new += einsum(r3, (0, 1, 2, 3, 4), tmp322, (4, 5), (0, 1, 2, 3, 5)) + tmp324 = np.copy(f.oo) * 0.5 + tmp324 += np.transpose(ints.tmp0, (1, 0)) * 0.5 + tmp324 += ints.tmp114 + tmp324 += ints.tmp609 + tmp324 += np.transpose(ints.tmp73, (1, 0)) + tmp324 += ints.tmp112 * -0.5 + tmp324 += ints.tmp608 * -0.5 + tmp324 += ints.tmp72 * -0.5 + r3new += einsum(tmp324, (0, 1), r3, (2, 0, 3, 4, 5), (2, 1, 3, 4, 5)) * -2 + tmp214 = np.copy(f.ov) + tmp214 += ints.tmp308 * 2 + tmp214 += ints.tmp305 * -1 + r3new += einsum(tmp214, (0, 1), tmp108, (2, 3, 4, 0, 5), (2, 3, 4, 1, 5)) * -1 + r3new += einsum(tmp214, (0, 1), tmp90, (2, 3, 4, 0, 5), (2, 3, 4, 5, 1)) * -1 + tmp376 = np.copy(r2) * -1 + tmp376 += np.transpose(r2, (1, 0, 2)) + r3new += einsum(tmp376, (0, 1, 2), tmp214, (3, 4), (0, 3, 1, 2, 4)) + del tmp376 + tmp377 = einsum(t2, (0, 1, 2, 3), r3, (4, 5, 1, 2, 3), (4, 5, 0)) + tmp377 += tmp199 + tmp377 += np.transpose(tmp199, (1, 0, 2)) * -1 + r3new += einsum(v.ovov, (0, 1, 2, 3), tmp377, (4, 5, 2), (4, 0, 5, 3, 1)) + del tmp377 + r3new += einsum(r2, (0, 1, 2), tmp214, (3, 4), (1, 0, 3, 4, 2)) + r3new += einsum(tmp214, (0, 1), r2, (2, 3, 4), (0, 2, 3, 1, 4)) * -1 + r2new = einsum(r3, (0, 1, 2, 3, 4), ints.tmp421, (2, 3, 5, 4), (1, 0, 5)) * -1 + r2new += einsum(tmp199, (0, 1, 2), ints.tmp759, (1, 2, 3, 4), (0, 3, 4)) + r2new += einsum(tmp199, (0, 1, 2), ints.tmp759, (0, 2, 3, 4), (3, 1, 4)) + tmp137 = einsum(t3, (0, 1, 2, 3, 4, 5), r3, (6, 7, 1, 4, 5), (6, 7, 0, 2, 3)) + r2new += einsum(tmp137, (0, 1, 2, 3, 4), v.ovov, (3, 4, 2, 5), (1, 0, 5)) + tmp233 = einsum(t3, (0, 1, 2, 3, 4, 5), r3, (0, 2, 1, 6, 5), (6, 3, 4)) + r2new += einsum(v.ovov, (0, 1, 2, 3), tmp233, (4, 1, 3), (0, 2, 4)) * -0.49999999999997996 + del tmp233 + tmp32 = einsum(t3, (0, 1, 2, 3, 4, 5), r3, (6, 7, 2, 5, 4), (6, 7, 0, 1, 3)) + r2new += einsum(tmp32, (0, 1, 2, 3, 4), v.ovov, (3, 5, 2, 4), (1, 0, 5)) * -1 + tmp114 = einsum(r3, (0, 1, 2, 3, 4), t3, (0, 1, 2, 5, 6, 3), (4, 5, 6)) + tmp115 = einsum(v.ovov, (0, 1, 2, 3), tmp114, (4, 1, 3), (0, 2, 4)) * -1 + del tmp114 + r2new += np.transpose(tmp115, (1, 0, 2)) * -0.49999999999997996 + tmp234 = np.copy(np.transpose(ints.tmp431, (0, 2, 3, 1))) * 2 + tmp234 += np.transpose(v.ovvv, (0, 2, 3, 1)) + tmp234 += ints.tmp416 * -1 + tmp234 += np.transpose(ints.tmp426, (0, 2, 3, 1)) * -1 + r2new += einsum(r3, (0, 1, 2, 3, 4), tmp234, (2, 4, 5, 3), (1, 0, 5)) + del tmp234 + tmp235 = np.copy(ints.tmp431) * 4 + tmp235 += ints.tmp426 * -2 + tmp235 += v.ovvv + tmp235 += np.transpose(v.ovvv, (0, 2, 1, 3)) * -1 + r2new += einsum(r3, (0, 1, 2, 3, 4), tmp235, (1, 3, 4, 5), (0, 2, 5)) * 0.5 + del tmp235 + tmp236 = np.copy(ints.tmp123) * 2 + tmp236 += np.transpose(ints.tmp125, (0, 2, 1, 3)) * 2 + tmp236 += ints.tmp134 + tmp236 += ints.tmp188 + tmp236 += ints.tmp194 + tmp236 += ints.tmp122 * -2 + tmp236 += np.transpose(ints.tmp126, (0, 2, 1, 3)) * -4 + tmp236 += ints.tmp191 * -1 + tmp236 += np.transpose(v.ooov, (0, 2, 1, 3)) + tmp236 += np.transpose(v.ovoo, (0, 2, 3, 1)) * -1 + r2new += einsum(tmp236, (0, 1, 2, 3), r3, (0, 4, 1, 3, 5), (4, 2, 5)) * -0.5 + del tmp236 + tmp142 = np.copy(ints.tmp416) + tmp142 += ints.tmp421 * -1 + r2new += einsum(tmp142, (0, 1, 2, 3), r3, (4, 0, 5, 1, 3), (4, 5, 2)) + tmp238 = np.copy(r3) + tmp238 += np.transpose(r3, (2, 0, 1, 4, 3)) * -0.5 + tmp237 = np.copy(ints.tmp134) + tmp237 += ints.tmp188 + tmp237 += np.transpose(v.ooov, (0, 2, 1, 3)) + r2new += einsum(tmp237, (0, 1, 2, 3), tmp238, (4, 0, 1, 3, 5), (2, 4, 5)) * -1 + del tmp237, tmp238 + tmp239 = np.copy(ints.tmp126) * 2 + tmp239 += ints.tmp191 + tmp239 += np.transpose(v.ovoo, (0, 2, 3, 1)) + tmp239 += ints.tmp123 * -1 + tmp239 += ints.tmp125 * -1 + r2new += einsum(r3, (0, 1, 2, 3, 4), tmp239, (1, 2, 5, 4), (0, 5, 3)) + del tmp239 + tmp240 = np.copy(ints.tmp126) + tmp240 += ints.tmp191 * 0.5 + tmp240 += ints.tmp123 * -0.5 + tmp240 += ints.tmp125 * -0.5 + r2new += einsum(r3, (0, 1, 2, 3, 4), tmp240, (2, 1, 5, 3), (5, 0, 4)) * -2 + del tmp240 + tmp241 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1))) + tmp241 += np.transpose(v.ovov, (0, 2, 1, 3)) * -1 + tmp133 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) + tmp133 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) + tmp242 = einsum(tmp133, (0, 1, 2, 3, 4, 5), r3, (6, 0, 7, 3, 5), (6, 7, 1, 2, 4)) * -1 + r2new += einsum(tmp242, (0, 1, 2, 3, 4), tmp241, (2, 3, 5, 4), (0, 1, 5)) * 0.25 + del tmp242, tmp241 + tmp243 = np.copy(ints.tmp134) + tmp243 += ints.tmp188 + tmp243 += ints.tmp122 * -1 + r2new += einsum(tmp243, (0, 1, 2, 3), r3, (4, 1, 0, 5, 3), (4, 2, 5)) + del tmp243 + tmp244 = np.copy(ints.tmp134) + tmp244 += ints.tmp197 * -1 + r2new += einsum(r3, (0, 1, 2, 3, 4), tmp244, (1, 0, 5, 4), (5, 2, 3)) * -0.5 + r2new += einsum(tmp244, (0, 1, 2, 3), r3, (1, 4, 0, 3, 5), (4, 2, 5)) * 0.5 + del tmp244 + tmp245 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1))) * -0.3333333333333333 + tmp245 += np.transpose(v.ovov, (0, 2, 1, 3)) + tmp246 = einsum(t3, (0, 1, 2, 3, 4, 5), r3, (6, 2, 7, 5, 3), (6, 7, 0, 1, 4)) * -1 + r2new += einsum(tmp246, (0, 1, 2, 3, 4), tmp245, (2, 3, 5, 4), (0, 1, 5)) * 0.75 + del tmp246, tmp245 + tmp247 = np.copy(r3) * -1 + tmp247 += np.transpose(r3, (2, 0, 1, 4, 3)) + r2new += einsum(tmp247, (0, 1, 2, 3, 4), ints.tmp122, (1, 2, 5, 3), (5, 0, 4)) * -1 + del tmp247 + tmp248 = np.copy(ints.tmp123) * 2 + tmp248 += np.transpose(ints.tmp125, (0, 2, 1, 3)) * 2 + tmp248 += ints.tmp194 + tmp248 += np.transpose(ints.tmp126, (0, 2, 1, 3)) * -4 + tmp248 += ints.tmp191 * -1 + tmp248 += np.transpose(v.ovoo, (0, 2, 3, 1)) * -1 + r2new += einsum(r3, (0, 1, 2, 3, 4), tmp248, (0, 1, 5, 4), (5, 2, 3)) * 0.5 + del tmp248 + tmp249 = np.copy(tmp34) * -1 + tmp249 += np.transpose(tmp34, (0, 1, 2, 4, 3)) + tmp249 += np.transpose(tmp34, (1, 2, 0, 4, 3)) * 2 + r2new += einsum(tmp249, (0, 1, 2, 3, 4), v.ooov, (4, 1, 3, 5), (0, 2, 5)) * 0.5 + del tmp249 + tmp290 = einsum(ints.tmp288, (0, 1, 2, 3), r3, (4, 0, 5, 2, 6), (4, 1, 5, 6, 3)) * -1 + tmp290 += np.transpose(tmp250, (2, 0, 1, 4, 3)) + del tmp250 + tmp290 += np.transpose(tmp251, (1, 0, 2, 4, 3)) + del tmp251 + tmp290 += einsum(ints.tmp288, (0, 1, 2, 3), r3, (0, 4, 5, 6, 2), (1, 4, 5, 3, 6)) * -1 + tmp252 = einsum(t2, (0, 1, 2, 3), r3, (1, 4, 0, 5, 3), (4, 5, 2)) + tmp290 += einsum(v.ovov, (0, 1, 2, 3), tmp252, (4, 5, 3), (0, 4, 2, 1, 5)) + tmp290 += tmp154 * -1 + tmp290 += np.transpose(tmp154, (2, 0, 1, 3, 4)) * -1 + tmp290 += np.transpose(tmp154, (2, 0, 1, 4, 3)) * 2 + tmp290 += np.transpose(tmp154, (2, 1, 0, 4, 3)) * -1 + tmp156 = einsum(ints.tmp325, (0, 1, 2, 3), r3, (1, 0, 4, 5, 6), (2, 3, 4, 5, 6)) + tmp254 = np.copy(tmp156) * 0.5 + tmp253 = einsum(ints.tmp611, (0, 1, 2, 3), r3, (0, 1, 4, 5, 6), (2, 3, 4, 5, 6)) + tmp254 += tmp253 + del tmp253 + tmp290 += np.transpose(tmp254, (0, 1, 2, 4, 3)) + tmp290 += np.transpose(tmp254, (1, 0, 2, 4, 3)) * -1 + del tmp254 + tmp290 += np.transpose(tmp256, (2, 1, 0, 3, 4)) + tmp290 += np.transpose(tmp256, (0, 2, 1, 4, 3)) * -1 + del tmp256 + tmp259 = np.copy(tmp257) * 0.5 + del tmp257 + tmp258 = einsum(ints.tmp611, (0, 1, 2, 3), r3, (0, 4, 1, 5, 6), (2, 3, 4, 5, 6)) + tmp259 += tmp258 + del tmp258 + tmp290 += np.transpose(tmp259, (2, 0, 1, 3, 4)) + tmp290 += np.transpose(tmp259, (2, 1, 0, 3, 4)) * -1 + del tmp259 + tmp290 += tmp260 + tmp290 += np.transpose(tmp260, (2, 0, 1, 4, 3)) * -1 + del tmp260 + tmp262 = np.copy(tmp157) + tmp262 += tmp261 * -1 + del tmp261 + tmp290 += np.transpose(tmp262, (0, 1, 2, 4, 3)) * -1 + tmp290 += np.transpose(tmp262, (1, 2, 0, 3, 4)) + del tmp262 + tmp290 += tmp263 * -0.5 + tmp290 += np.transpose(tmp263, (0, 2, 1, 3, 4)) * 0.5 + del tmp263 + tmp158 = einsum(v.oooo, (0, 1, 2, 3), r3, (1, 3, 4, 5, 6), (4, 0, 2, 5, 6)) + tmp290 += np.transpose(tmp158, (1, 2, 0, 4, 3)) * -0.5 + tmp290 += np.transpose(tmp158, (2, 1, 0, 4, 3)) * 0.5 + tmp290 += np.transpose(tmp83, (0, 1, 2, 4, 3)) + tmp290 += np.transpose(tmp83, (0, 2, 1, 3, 4)) + tmp290 += np.transpose(tmp83, (2, 0, 1, 4, 3)) + tmp107 = einsum(v.oovv, (0, 1, 2, 3), r3, (4, 1, 5, 6, 3), (4, 5, 0, 6, 2)) + tmp290 += np.transpose(tmp107, (0, 2, 1, 3, 4)) * -1 + tmp290 += np.transpose(tmp107, (2, 0, 1, 4, 3)) * -1 + tmp290 += np.transpose(tmp264, (1, 0, 2, 4, 3)) * -1 + tmp290 += np.transpose(tmp264, (1, 2, 0, 3, 4)) * -1 + tmp290 += np.transpose(tmp264, (2, 1, 0, 4, 3)) * -1 + del tmp264 + tmp265 = np.copy(tmp0) * 0.5 + tmp265 += tmp159 * 0.5 + tmp265 += tmp161 * 0.5 + tmp290 += tmp265 + tmp290 += np.transpose(tmp265, (0, 1, 2, 4, 3)) * -1 + tmp290 += np.transpose(tmp265, (1, 2, 0, 3, 4)) * 2 + del tmp265 + tmp290 += np.transpose(tmp266, (0, 2, 1, 3, 4)) + tmp290 += np.transpose(tmp266, (2, 1, 0, 3, 4)) * 0.5 + del tmp266 + tmp164 = einsum(tmp163, (0, 1, 2, 3, 4, 5, 6), t1, (3, 4), (0, 1, 2, 5, 6)) + tmp290 += tmp164 * -1 + tmp290 += np.transpose(tmp164, (0, 1, 2, 4, 3)) + tmp290 += np.transpose(tmp164, (1, 2, 0, 3, 4)) * -1 + tmp290 += np.transpose(tmp267, (1, 0, 2, 4, 3)) * -0.5 + tmp290 += np.transpose(tmp267, (2, 1, 0, 4, 3)) * -1 + del tmp267 + tmp290 += tmp269 + tmp290 += np.transpose(tmp269, (1, 2, 0, 3, 4)) + del tmp269 + tmp290 += np.transpose(tmp271, (1, 2, 0, 3, 4)) * -2 + tmp290 += np.transpose(tmp271, (2, 1, 0, 3, 4)) + del tmp271 + tmp290 += np.transpose(tmp273, (2, 1, 0, 4, 3)) + tmp290 += np.transpose(tmp273, (1, 2, 0, 3, 4)) + del tmp273 + tmp71 = einsum(t2, (0, 1, 2, 3), r3, (0, 1, 4, 2, 5), (4, 5, 3)) + tmp170 = einsum(v.ovov, (0, 1, 2, 3), tmp71, (4, 5, 3), (4, 0, 2, 5, 1)) + tmp290 += np.transpose(tmp170, (2, 0, 1, 4, 3)) * -1 + tmp290 += np.transpose(tmp170, (1, 2, 0, 3, 4)) * 0.5 + tmp290 += np.transpose(tmp170, (2, 1, 0, 3, 4)) * -0.5 + tmp85 = einsum(t2, (0, 1, 2, 3), r3, (0, 1, 4, 3, 5), (4, 5, 2)) + tmp171 = einsum(v.ovov, (0, 1, 2, 3), tmp85, (4, 5, 3), (4, 0, 2, 5, 1)) + tmp290 += np.transpose(tmp171, (1, 2, 0, 3, 4)) * -0.5 + tmp290 += np.transpose(tmp171, (2, 1, 0, 3, 4)) * 0.5 + tmp274 = np.copy(tmp165) * 0.5 + tmp274 += np.transpose(tmp165, (2, 1, 3, 0, 5, 4, 6)) * -1 + tmp274 += np.transpose(tmp163, (0, 3, 1, 2, 4, 5, 6)) * -0.5 + tmp274 += np.transpose(tmp163, (0, 3, 1, 2, 4, 6, 5)) * 0.5 + tmp274 += np.transpose(tmp163, (1, 0, 2, 3, 4, 5, 6)) + del tmp163 + tmp290 += einsum(tmp274, (0, 1, 2, 3, 4, 5, 6), t1, (2, 5), (1, 0, 3, 6, 4)) + del tmp274 + tmp275 = np.copy(r3) + tmp275 += np.transpose(r3, (2, 1, 0, 4, 3)) + tmp45 = np.copy(ints.tmp291) * 0.5 + tmp45 += ints.tmp295 * 0.5 + tmp45 += ints.tmp300 * -1 + tmp290 += einsum(tmp275, (0, 1, 2, 3, 4), tmp45, (2, 5, 3, 6), (5, 1, 0, 6, 4)) * 2 + del tmp275 + tmp276 = np.copy(r3) + tmp276 += np.transpose(r3, (1, 2, 0, 3, 4)) + tmp4 = np.copy(ints.tmp291) + tmp4 += ints.tmp295 + tmp4 += ints.tmp300 * -2 + tmp290 += einsum(tmp276, (0, 1, 2, 3, 4), tmp4, (1, 5, 3, 6), (0, 5, 2, 4, 6)) + del tmp276 + tmp277 = np.copy(r3) + tmp277 += np.transpose(r3, (1, 0, 2, 4, 3)) + tmp290 += einsum(tmp4, (0, 1, 2, 3), tmp277, (4, 0, 5, 6, 2), (4, 5, 1, 3, 6)) * -1 + del tmp277 + tmp279 = np.copy(r3) + tmp279 += np.transpose(r3, (1, 2, 0, 4, 3)) * -1 + tmp278 = np.copy(ints.tmp288) + tmp278 += ints.tmp300 * 4 + tmp278 += np.transpose(v.ovov, (0, 2, 1, 3)) * 2 + tmp278 += ints.tmp291 * -2 + tmp278 += ints.tmp295 * -2 + tmp278 += v.oovv * -1 + tmp290 += einsum(tmp279, (0, 1, 2, 3, 4), tmp278, (1, 5, 4, 6), (0, 5, 2, 6, 3)) * -1 + del tmp278 + tmp280 = np.copy(tmp90) * -0.5 + tmp280 += tmp108 * 0.5 + tmp280 += np.transpose(tmp108, (1, 2, 0, 3, 4)) + tmp290 += einsum(v.ovoo, (0, 1, 2, 3), tmp280, (4, 2, 5, 3, 6), (4, 0, 5, 6, 1)) + del tmp280 + tmp281 = np.copy(ints.tmp759) + tmp281 += np.transpose(ints.tmp759, (0, 2, 1, 3)) * -1 + tmp290 += einsum(tmp281, (0, 1, 2, 3), tmp90, (4, 0, 5, 2, 6), (1, 4, 5, 3, 6)) * -0.5 + del tmp90, tmp281 + tmp282 = np.copy(r3) + tmp282 += np.transpose(r3, (1, 0, 2, 4, 3)) * 0.5 + tmp283 = einsum(t1, (0, 1), tmp282, (2, 3, 4, 5, 1), (2, 3, 4, 0, 5)) * 2 + del tmp282 + tmp290 += einsum(tmp283, (0, 1, 2, 3, 4), ints.tmp759, (2, 3, 5, 6), (0, 1, 5, 6, 4)) * -0.5 + del tmp283 + tmp284 = np.copy(f.vv) + tmp284 += np.transpose(ints.tmp618, (1, 0)) * -1 + tmp290 += einsum(tmp284, (0, 1), tmp279, (2, 3, 4, 5, 0), (2, 3, 4, 1, 5)) * -1 + del tmp284 + tmp151 = np.copy(np.transpose(t2, (0, 1, 3, 2))) + tmp151 += t2 * -0.3333333333333333 + tmp285 = einsum(tmp151, (0, 1, 2, 3), r3, (4, 1, 0, 5, 2), (4, 5, 3)) + tmp290 += einsum(v.ovov, (0, 1, 2, 3), tmp285, (4, 5, 3), (0, 2, 4, 5, 1)) * -1.5 + del tmp285 + tmp290 += einsum(tmp286, (0, 1, 2), v.ovov, (3, 2, 4, 5), (3, 0, 4, 5, 1)) * 0.5 + tmp290 += np.transpose(tmp288, (2, 1, 0, 4, 3)) + del tmp288 + tmp289 = np.copy(r3) + tmp289 += np.transpose(r3, (2, 0, 1, 4, 3)) * -1 + tmp290 += einsum(ints.tmp288, (0, 1, 2, 3), tmp289, (0, 4, 5, 2, 6), (4, 5, 1, 3, 6)) + r2new += einsum(tmp290, (0, 1, 2, 3, 4), t1, (1, 3), (0, 2, 4)) + del tmp290 + tmp207 = np.copy(r3) * -1.5 + tmp207 += np.transpose(r3, (0, 1, 2, 4, 3)) + tmp207 += np.transpose(r3, (2, 0, 1, 4, 3)) * 0.5 + tmp208 = einsum(tmp207, (0, 1, 2, 3, 4), t2, (2, 1, 5, 4), (0, 5, 3)) + tmp211 = np.copy(np.transpose(tmp208, (0, 2, 1))) * -1 + del tmp208 + tmp209 = np.copy(r3) * -0.25 + tmp209 += np.transpose(r3, (0, 1, 2, 4, 3)) + tmp209 += np.transpose(r3, (2, 0, 1, 4, 3)) * 0.25 + tmp210 = einsum(tmp209, (0, 1, 2, 3, 4), t2, (2, 1, 4, 5), (0, 5, 3)) * 2 + tmp211 += np.transpose(tmp210, (0, 2, 1)) + del tmp210 + r2new += einsum(v.ovvv, (0, 1, 2, 3), tmp211, (4, 2, 3), (0, 4, 1)) + tmp291 = np.copy(f.ov) + tmp291 += ints.tmp116 + tmp291 += ints.tmp128 * 2 + tmp291 += ints.tmp176 * 0.5 + tmp291 += ints.tmp182 * 1.5 + tmp291 += ints.tmp185 * 0.5 + tmp291 += ints.tmp119 * -2 + tmp291 += ints.tmp131 * -1 + tmp291 += ints.tmp179 * -0.5 + tmp212 = np.copy(ints.tmp315) + tmp212 += ints.tmp614 * 2 + del ints.tmp614 + tmp212 += ints.tmp311 * -2 + tmp291 += einsum(t1, (0, 1), tmp212, (2, 1), (0, 2)) + r2new += einsum(tmp279, (0, 1, 2, 3, 4), tmp291, (1, 4), (0, 2, 3)) * -1 + del tmp279, tmp291 + tmp292 = np.copy(r2) * 4 + tmp292 += np.transpose(r2, (1, 0, 2)) * -8 + tmp223 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * -1 + tmp223 += np.transpose(t3, (0, 2, 1, 3, 4, 5)) + tmp223 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) * -5 + tmp223 += np.transpose(t3, (0, 1, 2, 3, 5, 4)) * 3 + tmp223 += np.transpose(t3, (1, 0, 2, 3, 5, 4)) * -2 + tmp223 += np.transpose(t3, (1, 0, 2, 3, 4, 5)) * 6 + tmp223 += np.transpose(t3, (1, 0, 2, 4, 3, 5)) * -2 + tmp292 += einsum(r3, (0, 1, 2, 3, 4), tmp223, (2, 5, 1, 4, 3, 6), (0, 5, 6)) + tmp60 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * -1 + tmp60 += np.transpose(t3, (0, 2, 1, 3, 4, 5)) + tmp60 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) * -1 + tmp60 += t3 * -1 + tmp292 += einsum(r3, (0, 1, 2, 3, 4), tmp60, (0, 5, 1, 4, 6, 3), (2, 5, 6)) + r2new += einsum(tmp292, (0, 1, 2), v.ovov, (3, 4, 1, 2), (3, 0, 4)) * -0.25 + del tmp292 + tmp294 = np.copy(tmp268) * 2 + del tmp268 + tmp293 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * -1 + tmp293 += t2 + tmp294 += einsum(r3, (0, 1, 2, 3, 4), tmp293, (2, 0, 3, 5), (1, 4, 5)) + r2new += einsum(tmp294, (0, 1, 2), v.ovvv, (3, 2, 4, 1), (0, 3, 4)) * -0.5 + del tmp294 + tmp295 = np.copy(tmp270) * 2 + tmp102 = einsum(tmp101, (0, 1, 2, 3), r3, (1, 0, 4, 2, 5), (4, 5, 3)) + tmp295 += tmp102 * -1 + r2new += einsum(v.ovvv, (0, 1, 2, 3), tmp295, (4, 3, 1), (0, 4, 2)) * -0.5 + del tmp295 + tmp73 = np.copy(r2) * 2 + tmp73 += np.transpose(r2, (1, 0, 2)) * -1 + r2new += einsum(tmp4, (0, 1, 2, 3), tmp73, (0, 4, 2), (1, 4, 3)) * -1 + tmp296 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * -1 + tmp296 += np.transpose(t3, (0, 2, 1, 3, 4, 5)) + tmp296 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) * -1 + tmp298 = einsum(r3, (0, 1, 2, 3, 4), tmp296, (0, 5, 1, 4, 6, 3), (2, 5, 6)) + del tmp296 + tmp297 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * -1 + tmp297 += np.transpose(t3, (1, 0, 2, 3, 4, 5)) * 1.3333333333333333 + tmp298 += einsum(r3, (0, 1, 2, 3, 4), tmp297, (2, 1, 5, 4, 3, 6), (0, 5, 6)) * -3 + del tmp297 + r2new += einsum(v.ovov, (0, 1, 2, 3), tmp298, (4, 2, 1), (0, 4, 3)) * 0.25 + del tmp298 + tmp300 = np.copy(r3) * -1 + tmp300 += np.transpose(r3, (1, 2, 0, 4, 3)) + tmp301 = einsum(t1, (0, 1), tmp300, (2, 3, 4, 5, 1), (0, 2, 3, 4, 5)) + del tmp300 + tmp299 = np.copy(f.oo) + tmp299 += ints.tmp114 * 2 + tmp299 += ints.tmp609 * 2 + tmp299 += ints.tmp73 * 2 + tmp299 += ints.tmp112 * -1 + tmp299 += ints.tmp608 * -1 + r2new += einsum(tmp299, (0, 1), tmp301, (1, 2, 0, 3, 4), (2, 3, 4)) * -1 + del tmp299 + tmp302 = np.copy(tmp71) * 2 + tmp302 += tmp286 * -1 + del tmp286 + r2new += einsum(v.ovoo, (0, 1, 2, 3), tmp302, (3, 4, 1), (0, 2, 4)) * -0.5 + del tmp302 + tmp303 = np.copy(tmp252) + del tmp252 + tmp303 += einsum(r3, (0, 1, 2, 3, 4), tmp101, (2, 0, 3, 5), (1, 4, 5)) * -0.5 + r2new += einsum(v.ooov, (0, 1, 2, 3), tmp303, (1, 4, 3), (0, 2, 4)) + del tmp303 + tmp8 = np.copy(np.transpose(t2, (0, 1, 3, 2))) + tmp8 += t2 * -0.5 + tmp304 = einsum(tmp289, (0, 1, 2, 3, 4), tmp8, (2, 5, 6, 3), (0, 1, 5, 4, 6)) * 2 + del tmp289 + r2new += einsum(tmp304, (0, 1, 2, 3, 4), f.ov, (2, 4), (1, 0, 3)) + del tmp304 + tmp222 = np.copy(tmp199) * -1 + tmp222 += np.transpose(tmp199, (1, 0, 2)) * 2 + tmp218 = np.copy(r3) + tmp218 += np.transpose(r3, (0, 2, 1, 3, 4)) * -1.5 + tmp218 += np.transpose(r3, (2, 0, 1, 3, 4)) * 0.5 + tmp219 = einsum(tmp218, (0, 1, 2, 3, 4), t2, (5, 1, 4, 3), (5, 0, 2)) + tmp222 += np.transpose(tmp219, (1, 2, 0)) * -1 + del tmp219 + tmp220 = np.copy(r3) + tmp220 += np.transpose(r3, (0, 2, 1, 3, 4)) * -0.25 + tmp220 += np.transpose(r3, (2, 0, 1, 3, 4)) * 0.25 + tmp221 = einsum(t2, (0, 1, 2, 3), tmp220, (4, 1, 5, 2, 3), (0, 4, 5)) * 2 + tmp222 += np.transpose(tmp221, (1, 2, 0)) + del tmp221 + r2new += einsum(v.ovoo, (0, 1, 2, 3), tmp222, (4, 2, 3), (0, 4, 1)) * -1 + tmp305 = einsum(t2, (0, 1, 2, 3), tmp218, (4, 1, 5, 3, 2), (4, 5, 0)) * -2 + del tmp218 + tmp305 += einsum(t2, (0, 1, 2, 3), tmp220, (4, 1, 5, 2, 3), (4, 5, 0)) * 4 + del tmp220 + r2new += einsum(tmp305, (0, 1, 2), ints.tmp759, (1, 3, 2, 4), (3, 0, 4)) * -0.5 + del tmp305 + tmp306 = einsum(r3, (0, 1, 2, 3, 4), t3, (5, 2, 1, 3, 6, 4), (0, 5, 6)) + tmp306 += einsum(r3, (0, 1, 2, 3, 4), t3, (0, 5, 2, 6, 4, 3), (1, 5, 6)) * -1 + r2new += einsum(v.ovov, (0, 1, 2, 3), tmp306, (4, 2, 1), (4, 0, 3)) * -0.5 + del tmp306 + r2new += einsum(r2, (0, 1, 2), tmp287, (1, 3, 2, 4), (0, 3, 4)) + r2new += einsum(tmp287, (0, 1, 2, 3), r2, (0, 4, 2), (1, 4, 3)) + del tmp287 + tmp308 = np.copy(np.transpose(tmp199, (1, 0, 2))) + tmp308 += tmp307 + tmp308 += einsum(r3, (0, 1, 2, 3, 4), tmp293, (0, 5, 4, 3), (2, 1, 5)) * 0.5 + r2new += einsum(v.ooov, (0, 1, 2, 3), tmp308, (4, 1, 2), (0, 4, 3)) + del tmp308 + tmp309 = np.copy(tmp199) * -1 + tmp191 = einsum(r3, (0, 1, 2, 3, 4), t2, (5, 0, 4, 3), (1, 2, 5)) + tmp309 += tmp191 + tmp309 += einsum(r3, (0, 1, 2, 3, 4), tmp101, (1, 5, 4, 3), (0, 2, 5)) * -0.5 + r2new += einsum(tmp309, (0, 1, 2), v.ooov, (3, 1, 2, 4), (0, 3, 4)) * -1 + del tmp309 + tmp310 = np.copy(ints.tmp0) + tmp310 += np.transpose(ints.tmp72, (1, 0)) * -1 + r2new += einsum(tmp310, (0, 1), tmp301, (0, 2, 1, 3, 4), (2, 3, 4)) * -1 + del tmp301, tmp310 + tmp311 = np.copy(tmp307) * 2 + tmp311 += einsum(r3, (0, 1, 2, 3, 4), tmp293, (0, 5, 4, 3), (2, 1, 5)) + r2new += einsum(tmp311, (0, 1, 2), ints.tmp759, (1, 2, 3, 4), (3, 0, 4)) * 0.5 + del tmp311 + tmp312 = np.copy(tmp191) * 2 + tmp312 += einsum(r3, (0, 1, 2, 3, 4), tmp101, (1, 5, 4, 3), (0, 2, 5)) * -1 + r2new += einsum(tmp312, (0, 1, 2), ints.tmp759, (1, 2, 3, 4), (0, 3, 4)) * -0.5 + del tmp312 + tmp313 = np.copy(ints.tmp611) + tmp313 += np.transpose(ints.tmp992, (1, 0, 2, 3)) + del ints.tmp992 + tmp313 += np.transpose(v.oooo, (0, 2, 3, 1)) + r2new += einsum(tmp313, (0, 1, 2, 3), r2, (0, 1, 4), (3, 2, 4)) + del tmp313 + tmp314 = np.copy(tmp199) + tmp314 += np.transpose(tmp199, (1, 0, 2)) * -0.5 + r2new += einsum(tmp314, (0, 1, 2), ints.tmp759, (0, 3, 2, 4), (3, 1, 4)) * -2 + del tmp314 + tmp315 = np.copy(ints.tmp325) + tmp315 += np.transpose(ints.tmp611, (0, 1, 3, 2)) + r2new += einsum(tmp315, (0, 1, 2, 3), r2, (1, 0, 4), (3, 2, 4)) + del tmp315 + tmp316 = np.copy(f.ov) * 0.5 + tmp316 += ints.tmp308 + tmp316 += ints.tmp305 * -0.5 + tmp318 = np.copy(tmp317) + del tmp317 + tmp318 += einsum(r3, (0, 1, 2, 3, 4), tmp293, (2, 0, 3, 5), (1, 4, 5)) * -0.5 + r2new += einsum(tmp318, (0, 1, 2), tmp316, (3, 2), (0, 3, 1)) * 2 + del tmp318 + tmp319 = np.copy(tmp270) + del tmp270 + tmp319 += einsum(r3, (0, 1, 2, 3, 4), tmp101, (1, 0, 4, 5), (2, 3, 5)) * 0.5 + r2new += einsum(tmp316, (0, 1), tmp319, (2, 3, 1), (0, 2, 3)) * -2 + del tmp316, tmp319 + tmp320 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * 0.12499999999999997 + tmp320 += np.transpose(t3, (0, 2, 1, 3, 4, 5)) * -0.4999999999999999 + tmp320 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) * 0.12499999999999997 + tmp320 += np.transpose(t3, (1, 0, 2, 3, 5, 4)) * 0.24999999999999994 + tmp320 += np.transpose(t3, (1, 0, 2, 3, 4, 5)) * -0.24999999999999994 + tmp320 += np.transpose(t3, (1, 0, 2, 4, 3, 5)) + tmp321 = einsum(r3, (0, 1, 2, 3, 4), tmp320, (1, 0, 2, 4, 5, 3), (5,)) * 0.6666666666666401 + del tmp320 + tmp321 += einsum(r2, (0, 1, 2), tmp8, (1, 0, 2, 3), (3,)) * 2 + r2new += einsum(v.ovov, (0, 1, 2, 3), tmp321, (3,), (0, 2, 1)) * -1 + del tmp321 + r2new += einsum(r2, (0, 1, 2), tmp322, (2, 3), (0, 1, 3)) + del tmp322 + tmp323 = np.copy(tmp199) + tmp323 += np.transpose(tmp307, (1, 0, 2)) + del tmp307 + tmp323 += einsum(tmp293, (0, 1, 2, 3), r3, (4, 0, 5, 3, 2), (4, 5, 1)) * -0.5 + del tmp293 + r2new += einsum(tmp214, (0, 1), tmp323, (2, 3, 0), (2, 3, 1)) * -1 + del tmp323 + r2new += einsum(tmp324, (0, 1), r2, (0, 2, 3), (1, 2, 3)) * -2 + r2new += einsum(r2, (0, 1, 2), tmp324, (1, 3), (0, 3, 2)) * -2 + del tmp324 + r2new += einsum(r1, (0,), tmp325, (0, 1, 2, 3), (1, 2, 3)) + del tmp325 + r2new += einsum(tmp214, (0, 1), r1, (2,), (0, 2, 1)) * -1 + r1new = einsum(ints.tmp237, (0, 1, 2, 3), r3, (4, 1, 0, 3, 2), (4,)) + tmp3 = np.copy(np.transpose(tmp0, (0, 2, 1, 3, 4))) * -1 + tmp3 += np.transpose(tmp0, (0, 2, 1, 4, 3)) + tmp3 += np.transpose(tmp0, (1, 0, 2, 3, 4)) * -3 + tmp3 += np.transpose(tmp0, (1, 0, 2, 4, 3)) * 7 + tmp2 = np.copy(r3) * 0.25 + tmp2 += np.transpose(r3, (0, 1, 2, 4, 3)) * -1 + tmp2 += np.transpose(r3, (2, 0, 1, 3, 4)) * 0.25 + tmp1 = np.copy(ints.tmp291) + del ints.tmp291 + tmp1 += ints.tmp295 + del ints.tmp295 + tmp1 += ints.tmp288 * -0.5 + tmp1 += ints.tmp300 * -2 + del ints.tmp300 + tmp3 += einsum(tmp1, (0, 1, 2, 3), tmp2, (4, 5, 0, 6, 2), (1, 4, 5, 3, 6)) * 16 + del tmp1, tmp2 + r1new += einsum(tmp3, (0, 1, 2, 3, 4), t2, (2, 0, 4, 3), (1,)) * -0.25 + del tmp3 + tmp5 = np.copy(r3) + tmp5 += np.transpose(r3, (0, 1, 2, 4, 3)) * -4 + tmp5 += np.transpose(r3, (2, 0, 1, 3, 4)) + tmp7 = einsum(tmp5, (0, 1, 2, 3, 4), tmp4, (2, 5, 4, 6), (5, 0, 1, 6, 3)) * -0.5 + del tmp5 + tmp6 = np.copy(r3) + tmp6 += np.transpose(r3, (0, 1, 2, 4, 3)) * -0.6666666666666666 + tmp6 += np.transpose(r3, (2, 0, 1, 3, 4)) * 0.3333333333333333 + tmp7 += einsum(tmp6, (0, 1, 2, 3, 4), ints.tmp288, (2, 5, 4, 6), (5, 0, 1, 6, 3)) * 1.5 + del tmp6 + r1new += einsum(tmp7, (0, 1, 2, 3, 4), t2, (2, 0, 3, 4), (1,)) * -1 + del tmp7 + tmp10 = np.copy(np.transpose(r3, (0, 2, 1, 3, 4))) * 7 + tmp10 += np.transpose(r3, (2, 1, 0, 3, 4)) + tmp9 = np.copy(r3) + tmp9 += np.transpose(r3, (0, 2, 1, 3, 4)) * -0.5 + tmp9 += np.transpose(r3, (0, 2, 1, 4, 3)) + tmp9 += np.transpose(r3, (2, 1, 0, 3, 4)) * -0.5 + tmp10 += einsum(tmp9, (0, 1, 2, 3, 4), tmp8, (2, 5, 6, 3), (0, 1, 5, 4, 6)) * 16 + r1new += einsum(v.ovov, (0, 1, 2, 3), tmp10, (4, 0, 2, 1, 3), (4,)) * -0.25 + del tmp10 + tmp11 = np.copy(r3) + tmp11 += np.transpose(r3, (0, 1, 2, 4, 3)) * -1 + tmp11 += np.transpose(r3, (0, 2, 1, 3, 4)) * -1 + tmp11 += np.transpose(r3, (0, 2, 1, 4, 3)) * 2 + tmp11 += np.transpose(r3, (2, 1, 0, 4, 3)) + tmp12 = einsum(t2, (0, 1, 2, 3), tmp11, (4, 5, 1, 6, 2), (4, 5, 0, 6, 3)) + del tmp11 + tmp12 += einsum(t2, (0, 1, 2, 3), tmp9, (4, 5, 1, 3, 6), (4, 5, 0, 6, 2)) * 2 + del tmp9 + r1new += einsum(v.oovv, (0, 1, 2, 3), tmp12, (4, 0, 1, 2, 3), (4,)) + del tmp12 + tmp14 = np.copy(r3) + tmp14 += np.transpose(r3, (0, 2, 1, 4, 3)) + tmp14 += np.transpose(r3, (2, 0, 1, 4, 3)) * -1 + tmp13 = np.copy(ints.tmp237) + tmp13 += ints.tmp241 * -1 + r1new += einsum(tmp14, (0, 1, 2, 3, 4), tmp13, (1, 2, 4, 3), (0,)) * -0.5 + del tmp14, tmp13 + tmp15 = np.copy(r3) * 3 + tmp15 += np.transpose(r3, (0, 1, 2, 4, 3)) * -1 + tmp15 += np.transpose(r3, (0, 2, 1, 4, 3)) * 3 + tmp15 += np.transpose(r3, (2, 0, 1, 4, 3)) * -1 + r1new += einsum(ints.tmp245, (0, 1, 2, 3), tmp15, (4, 0, 1, 3, 2), (4,)) * -0.5 + del ints.tmp245, tmp15 + tmp17 = np.copy(r3) * 0.5 + tmp17 += np.transpose(r3, (1, 2, 0, 3, 4)) + tmp19 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp17, (2, 6, 7, 5, 4), (7, 6, 0, 1, 3)) * 2 + del tmp17 + tmp18 = np.copy(r3) * -1 + tmp18 += np.transpose(r3, (2, 1, 0, 3, 4)) + tmp19 += einsum(t3, (0, 1, 2, 3, 4, 5), tmp18, (2, 6, 7, 4, 5), (7, 6, 0, 1, 3)) + tmp16 = np.copy(v.ooov) + tmp16 += np.transpose(v.ovoo, (0, 2, 3, 1)) * -1 + r1new += einsum(tmp16, (0, 1, 2, 3), tmp19, (4, 1, 0, 2, 3), (4,)) * 0.25 + del tmp19 + tmp20 = np.copy(r3) + tmp20 += np.transpose(r3, (1, 2, 0, 3, 4)) * 2 + tmp20 += np.transpose(r3, (1, 2, 0, 4, 3)) * -1 + r1new += einsum(tmp20, (0, 1, 2, 3, 4), ints.tmp253, (1, 0, 3, 4), (2,)) * -0.5 + del tmp20, ints.tmp253 + tmp21 = np.copy(v.ooov) * 3 + tmp21 += np.transpose(v.ovoo, (0, 2, 3, 1)) * -1 + tmp22 = np.copy(r3) + tmp22 += np.transpose(r3, (1, 2, 0, 3, 4)) * 2 + tmp22 += np.transpose(r3, (2, 1, 0, 3, 4)) * -1 + tmp23 = einsum(tmp22, (0, 1, 2, 3, 4), t3, (5, 6, 0, 3, 7, 4), (2, 1, 5, 6, 7)) + r1new += einsum(tmp23, (0, 1, 2, 3, 4), tmp21, (2, 1, 3, 4), (0,)) * 0.25 + del tmp23, tmp21 + tmp24 = np.copy(r3) + tmp24 += np.transpose(r3, (1, 2, 0, 3, 4)) * 3 + r1new += einsum(v.ovov, (0, 1, 2, 3), tmp24, (2, 0, 4, 3, 1), (4,)) * 0.25 + del tmp24 + tmp25 = np.copy(ints.tmp237) * 3 + del ints.tmp237 + tmp25 += ints.tmp241 * -1 + del ints.tmp241 + r1new += einsum(tmp25, (0, 1, 2, 3), r3, (4, 0, 1, 2, 3), (4,)) * 0.5 + del tmp25 + tmp26 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * 2 + tmp26 += np.transpose(t3, (1, 0, 2, 4, 3, 5)) + tmp28 = einsum(tmp26, (0, 1, 2, 3, 4, 5), r3, (6, 2, 7, 3, 5), (6, 7, 1, 0, 4)) * 0.5 + del tmp26 + tmp27 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) + tmp27 += np.transpose(t3, (1, 0, 2, 4, 3, 5)) * 4 + tmp28 += einsum(r3, (0, 1, 2, 3, 4), tmp27, (2, 5, 6, 3, 7, 4), (0, 1, 5, 6, 7)) * 0.25 + del tmp27 + r1new += einsum(tmp28, (0, 1, 2, 3, 4), v.ooov, (2, 1, 3, 4), (0,)) * -1 + del tmp28 + tmp29 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * -0.25 + tmp29 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) * -1 + tmp29 += np.transpose(t3, (1, 0, 2, 3, 5, 4)) * -0.25 + tmp29 += np.transpose(t3, (1, 0, 2, 4, 3, 5)) * -0.25 + tmp31 = einsum(r3, (0, 1, 2, 3, 4), tmp29, (2, 0, 1, 5, 6, 3), (4, 6, 5)) * -4 + del tmp29 + tmp30 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * 4 + tmp30 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) + tmp31 += einsum(r3, (0, 1, 2, 3, 4), tmp30, (2, 0, 1, 5, 6, 4), (3, 6, 5)) * -1 + del tmp30 + r1new += einsum(v.ovvv, (0, 1, 2, 3), tmp31, (3, 1, 2), (0,)) * -0.16666666666666 + del tmp31 + tmp33 = np.copy(tmp32) * 0.8333333333333334 + del tmp32 + tmp33 += einsum(t3, (0, 1, 2, 3, 4, 5), r3, (6, 2, 7, 4, 5), (6, 7, 0, 1, 3)) + r1new += einsum(v.ooov, (0, 1, 2, 3), tmp33, (4, 1, 2, 0, 3), (4,)) * 1.5 + del tmp33 + tmp35 = np.copy(tmp34) * -1 + tmp35 += np.transpose(tmp34, (0, 1, 2, 4, 3)) + tmp35 += np.transpose(tmp34, (1, 2, 0, 3, 4)) * -3 + tmp35 += np.transpose(tmp34, (1, 2, 0, 4, 3)) * 7 + r1new += einsum(ints.tmp325, (0, 1, 2, 3), tmp35, (1, 0, 4, 3, 2), (4,)) * -0.25 + del tmp35 + tmp36 = einsum(t3, (0, 1, 2, 3, 4, 5), r3, (0, 2, 1, 5, 6), (6, 3, 4)) + tmp38 = np.copy(tmp36) * 4 + tmp37 = np.copy(r3) * -1 + tmp37 += np.transpose(r3, (0, 1, 2, 4, 3)) + tmp38 += einsum(t3, (0, 1, 2, 3, 4, 5), tmp37, (2, 1, 0, 5, 6), (6, 3, 4)) * -1 + del tmp37 + r1new += einsum(v.ovvv, (0, 1, 2, 3), tmp38, (3, 2, 1), (0,)) * 0.16666666666666 + del tmp38 + tmp39 = np.copy(r3) * 4 + tmp39 += np.transpose(r3, (0, 1, 2, 4, 3)) * -1 + tmp39 += np.transpose(r3, (1, 0, 2, 4, 3)) + tmp39 += np.transpose(r3, (2, 0, 1, 3, 4)) * 2 + tmp39 += np.transpose(r3, (2, 0, 1, 4, 3)) * -4 + tmp41 = einsum(tmp39, (0, 1, 2, 3, 4), t2, (2, 1, 5, 4), (0, 3, 5)) + del tmp39 + tmp40 = np.copy(r3) * 2 + tmp40 += np.transpose(r3, (0, 1, 2, 4, 3)) * -3 + tmp40 += np.transpose(r3, (1, 0, 2, 4, 3)) + tmp40 += np.transpose(r3, (2, 0, 1, 3, 4)) * 4 + tmp40 += np.transpose(r3, (2, 0, 1, 4, 3)) * -2 + tmp41 += einsum(tmp40, (0, 1, 2, 3, 4), t2, (2, 1, 4, 5), (0, 3, 5)) * -1 + del tmp40 + r1new += einsum(tmp41, (0, 1, 2), ints.tmp288, (0, 3, 1, 2), (3,)) * -0.25 + del tmp41 + tmp42 = np.copy(r3) * 0.6666666666666666 + tmp42 += np.transpose(r3, (0, 1, 2, 4, 3)) * -0.3333333333333333 + tmp42 += np.transpose(r3, (1, 0, 2, 4, 3)) + tmp42 += np.transpose(r3, (2, 0, 1, 3, 4)) + tmp42 += np.transpose(r3, (2, 0, 1, 4, 3)) * -0.3333333333333333 + tmp44 = einsum(tmp42, (0, 1, 2, 3, 4), t2, (2, 1, 4, 5), (0, 3, 5)) + del tmp42 + tmp43 = np.copy(r3) * 1.2 + tmp43 += np.transpose(r3, (0, 1, 2, 4, 3)) * -0.19999999999999998 + tmp43 += np.transpose(r3, (1, 0, 2, 4, 3)) + tmp43 += np.transpose(r3, (2, 0, 1, 3, 4)) * 0.19999999999999998 + tmp43 += np.transpose(r3, (2, 0, 1, 4, 3)) * -0.19999999999999998 + tmp44 += einsum(t2, (0, 1, 2, 3), tmp43, (4, 1, 0, 5, 3), (4, 5, 2)) * -1.6666666666666667 + del tmp43 + r1new += einsum(tmp45, (0, 1, 2, 3), tmp44, (0, 2, 3), (1,)) * -1.5 + del tmp44 + tmp46 = np.copy(np.transpose(v.oooo, (0, 2, 3, 1))) * -1 + tmp46 += v.oooo + r1new += einsum(tmp46, (0, 1, 2, 3), tmp34, (2, 0, 4, 3, 1), (4,)) * 0.25 + del tmp46 + tmp47 = np.copy(np.transpose(v.oooo, (0, 2, 3, 1))) + tmp47 += v.oooo * -0.42857142857142855 + r1new += einsum(tmp34, (0, 1, 2, 3, 4), tmp47, (2, 4, 1, 3), (0,)) * -1.75 + del tmp47 + tmp48 = np.copy(r3) + tmp48 += np.transpose(r3, (0, 1, 2, 4, 3)) * -0.6666666666666666 + tmp48 += np.transpose(r3, (0, 2, 1, 4, 3)) * 0.3333333333333333 + tmp50 = einsum(tmp48, (0, 1, 2, 3, 4), t2, (1, 0, 4, 5), (2, 3, 5)) * 3 + del tmp48 + tmp49 = np.copy(r3) + tmp49 += np.transpose(r3, (0, 1, 2, 4, 3)) * -4 + tmp49 += np.transpose(r3, (0, 2, 1, 4, 3)) + tmp50 += einsum(t2, (0, 1, 2, 3), tmp49, (1, 0, 4, 5, 3), (4, 5, 2)) * -1 + del tmp49 + r1new += einsum(tmp50, (0, 1, 2), v.oovv, (3, 0, 1, 2), (3,)) * -0.5 + del tmp50 + tmp51 = np.copy(r3) + tmp51 += np.transpose(r3, (0, 1, 2, 4, 3)) * -0.3333333333333333 + tmp51 += np.transpose(r3, (0, 2, 1, 4, 3)) * 0.6666666666666666 + tmp53 = einsum(tmp51, (0, 1, 2, 3, 4), t2, (1, 0, 4, 5), (2, 3, 5)) * 1.5 + del tmp51 + tmp52 = np.copy(r3) + tmp52 += np.transpose(r3, (0, 1, 2, 4, 3)) * -1 + tmp52 += np.transpose(r3, (0, 2, 1, 4, 3)) * 4 + tmp53 += einsum(t2, (0, 1, 2, 3), tmp52, (1, 0, 4, 5, 3), (4, 5, 2)) * -0.5 + del tmp52 + r1new += einsum(v.ovov, (0, 1, 2, 3), tmp53, (2, 3, 1), (0,)) + del tmp53 + tmp54 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * 0.5 + tmp54 += np.transpose(t3, (1, 0, 2, 3, 5, 4)) + tmp54 += np.transpose(t3, (1, 0, 2, 3, 4, 5)) * -1 + tmp54 += np.transpose(t3, (1, 0, 2, 4, 3, 5)) * 3 + tmp57 = einsum(tmp54, (0, 1, 2, 3, 4, 5), r3, (1, 0, 6, 4, 3), (6, 2, 5)) * -0.6666666666666666 + del tmp54 + tmp55 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * -2 + tmp55 += np.transpose(t3, (1, 0, 2, 3, 5, 4)) * -1 + tmp55 += np.transpose(t3, (1, 0, 2, 3, 4, 5)) * 3 + tmp55 += np.transpose(t3, (1, 0, 2, 4, 3, 5)) * -1 + tmp56 = einsum(tmp55, (0, 1, 2, 3, 4, 5), r3, (1, 6, 0, 3, 5), (6, 2, 4)) * 0.3333333333333333 + del tmp55 + tmp57 += tmp56 * -1 + r1new += einsum(tmp57, (0, 1, 2), v.ovoo, (3, 2, 1, 0), (3,)) * -0.75 + del tmp57 + tmp61 = np.copy(r2) * 4 + tmp58 = einsum(t3, (0, 1, 2, 3, 4, 5), r3, (1, 2, 6, 4, 5), (6, 0, 3)) + tmp61 += tmp58 * 4 + tmp59 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * -0.42857142857142855 + tmp59 += np.transpose(t3, (0, 2, 1, 3, 4, 5)) * 0.42857142857142855 + tmp59 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) * -1 + tmp59 += t3 * -0.42857142857142855 + tmp61 += einsum(r3, (0, 1, 2, 3, 4), tmp59, (0, 5, 1, 4, 6, 3), (2, 5, 6)) * 7 + del tmp59 + tmp61 += einsum(tmp60, (0, 1, 2, 3, 4, 5), r3, (0, 6, 2, 3, 5), (6, 1, 4)) + r1new += einsum(v.ooov, (0, 1, 2, 3), tmp61, (1, 2, 3), (0,)) * -0.25 + del tmp61 + tmp62 = np.copy(ints.tmp123) * 2 + tmp62 += np.transpose(ints.tmp125, (0, 2, 1, 3)) * 2 + tmp62 += ints.tmp134 + tmp62 += ints.tmp188 * 0.5 + tmp62 += ints.tmp194 * 0.5 + tmp62 += ints.tmp122 * -1 + tmp62 += np.transpose(ints.tmp126, (0, 2, 1, 3)) * -4 + tmp62 += ints.tmp191 * -1.5 + tmp62 += np.transpose(v.ovoo, (0, 2, 3, 1)) * -2 + r1new += einsum(r2, (0, 1, 2), tmp62, (0, 1, 3, 2), (3,)) * -1 + del tmp62 + tmp63 = np.copy(ints.tmp123) * 0.5 + tmp63 += np.transpose(ints.tmp125, (0, 2, 1, 3)) * 0.5 + tmp63 += ints.tmp134 + tmp63 += ints.tmp188 * 0.75 + tmp63 += ints.tmp194 * 0.25 + tmp63 += ints.tmp122 * -1 + tmp63 += np.transpose(ints.tmp126, (0, 2, 1, 3)) * -1 + tmp63 += ints.tmp191 * -0.25 + tmp63 += ints.tmp197 * -0.5 + r1new += einsum(r2, (0, 1, 2), tmp63, (1, 0, 3, 2), (3,)) * 2 + del tmp63 + tmp201 = einsum(r2, (0, 1, 2), v.ovov, (3, 4, 1, 2), (3, 0, 4)) * 2 + tmp201 += einsum(r2, (0, 1, 2), v.ovov, (3, 4, 0, 2), (3, 1, 4)) * -4 + tmp64 = einsum(r2, (0, 1, 2), ints.tmp618, (3, 2), (0, 1, 3)) + del ints.tmp618 + tmp78 = np.copy(tmp64) * -2 + del tmp64 + tmp65 = einsum(ints.tmp611, (0, 1, 2, 3), r2, (1, 0, 4), (2, 3, 4)) + tmp78 += tmp65 * 2 + del tmp65 + tmp66 = einsum(v.oooo, (0, 1, 2, 3), r2, (1, 3, 4), (0, 2, 4)) + tmp78 += tmp66 * 2 + del tmp66 + tmp67 = einsum(r2, (0, 1, 2), ints.tmp288, (0, 3, 2, 4), (3, 1, 4)) + tmp78 += tmp67 * 2 + del tmp67 + tmp68 = einsum(r2, (0, 1, 2), v.oovv, (3, 1, 4, 2), (0, 3, 4)) + tmp78 += tmp68 * -2 + del tmp68 + tmp69 = einsum(t2, (0, 1, 2, 3), r3, (0, 4, 1, 3, 5), (4, 5, 2)) + tmp70 = einsum(tmp69, (0, 1, 2), v.ooov, (3, 0, 4, 2), (3, 4, 1)) + tmp78 += tmp70 + del tmp70 + tmp72 = einsum(tmp71, (0, 1, 2), v.ovvv, (3, 4, 2, 1), (0, 3, 4)) + tmp78 += tmp72 * 2 + del tmp72 + tmp74 = einsum(tmp4, (0, 1, 2, 3), tmp73, (0, 4, 2), (1, 4, 3)) * 2 + del tmp4 + tmp78 += tmp74 * -1 + del tmp74 + tmp75 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) + tmp75 += np.transpose(t3, (0, 2, 1, 3, 4, 5)) * -1 + tmp76 = einsum(r3, (0, 1, 2, 3, 4), tmp75, (0, 5, 1, 4, 3, 6), (2, 5, 6)) + del tmp75 + tmp77 = einsum(tmp76, (0, 1, 2), v.ovov, (3, 2, 1, 4), (3, 0, 4)) * -0.5 + del tmp76 + tmp78 += np.transpose(tmp77, (1, 0, 2)) + del tmp77 + tmp201 += tmp78 * -1 + tmp201 += np.transpose(tmp78, (1, 0, 2)) * 0.5 + del tmp78 + tmp79 = einsum(ints.tmp325, (0, 1, 2, 3), r2, (1, 0, 4), (2, 3, 4)) + tmp87 = np.copy(tmp79) + del tmp79 + tmp80 = einsum(ints.tmp611, (0, 1, 2, 3), r2, (0, 1, 4), (2, 3, 4)) + del ints.tmp611 + tmp87 += tmp80 + del tmp80 + tmp81 = einsum(r2, (0, 1, 2), ints.tmp288, (1, 3, 2, 4), (3, 0, 4)) + tmp87 += tmp81 + del tmp81 + tmp82 = einsum(r2, (0, 1, 2), v.oovv, (3, 0, 4, 2), (1, 3, 4)) + tmp87 += tmp82 * -1 + del tmp82 + tmp84 = einsum(t1, (0, 1), tmp83, (2, 3, 0, 1, 4), (2, 3, 4)) + del tmp83 + tmp87 += tmp84 * -1 + del tmp84 + tmp86 = einsum(tmp85, (0, 1, 2), v.ooov, (3, 0, 4, 2), (3, 4, 1)) + tmp87 += tmp86 * 0.5 + del tmp86 + tmp201 += tmp87 + tmp201 += np.transpose(tmp87, (1, 0, 2)) * -2 + del tmp87 + tmp88 = einsum(v.ovvv, (0, 1, 2, 3), r3, (4, 0, 5, 3, 1), (4, 5, 2)) + tmp93 = np.copy(tmp88) * 0.5 + del tmp88 + tmp89 = einsum(v.ooov, (0, 1, 2, 3), tmp34, (4, 0, 5, 2, 1), (4, 5, 3)) + tmp93 += tmp89 * 0.5 + del tmp89 + tmp92 = einsum(t1, (0, 1), tmp91, (2, 3, 0, 1, 4), (2, 3, 4)) + del tmp91 + tmp93 += tmp92 * 0.5 + del tmp92 + tmp201 += tmp93 + tmp201 += np.transpose(tmp93, (1, 0, 2)) * -3 + del tmp93 + tmp94 = einsum(v.ovvv, (0, 1, 2, 3), r3, (4, 0, 5, 1, 3), (4, 5, 2)) + tmp112 = np.copy(tmp94) * -0.5 + del tmp94 + tmp95 = einsum(v.ooov, (0, 1, 2, 3), tmp34, (4, 0, 5, 1, 2), (4, 5, 3)) + tmp112 += tmp95 * -0.5 + del tmp95 + tmp96 = einsum(tmp85, (0, 1, 2), v.ovvv, (3, 4, 2, 1), (0, 3, 4)) + del tmp85 + tmp112 += tmp96 + del tmp96 + tmp97 = einsum(r3, (0, 1, 2, 3, 4), t3, (0, 5, 1, 3, 6, 4), (2, 5, 6)) + tmp98 = einsum(v.ovov, (0, 1, 2, 3), tmp97, (4, 2, 1), (4, 0, 3)) + del tmp97 + tmp112 += tmp98 * 0.25 + del tmp98 + tmp99 = einsum(r3, (0, 1, 2, 3, 4), t3, (0, 1, 2, 5, 6, 4), (3, 5, 6)) + tmp100 = einsum(v.ovov, (0, 1, 2, 3), tmp99, (4, 1, 3), (0, 2, 4)) * -1 + del tmp99 + tmp112 += tmp100 * 0.16666666666666 + del tmp100 + tmp103 = einsum(v.ovvv, (0, 1, 2, 3), tmp102, (4, 3, 1), (0, 4, 2)) * -0.5 + del tmp102 + tmp112 += np.transpose(tmp103, (1, 0, 2)) * -1 + del tmp103 + tmp104 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * -0.3333333333333333 + tmp104 += t2 + tmp105 = einsum(tmp104, (0, 1, 2, 3), r3, (1, 0, 4, 5, 2), (4, 5, 3)) * 3 + tmp106 = einsum(tmp105, (0, 1, 2), v.ooov, (3, 0, 4, 2), (3, 4, 1)) * 0.5 + tmp112 += tmp106 * -1 + del tmp106 + tmp110 = np.copy(tmp107) + del tmp107 + tmp109 = einsum(v.ovoo, (0, 1, 2, 3), tmp108, (4, 3, 5, 2, 6), (4, 5, 0, 6, 1)) + del tmp108 + tmp110 += tmp109 * -0.5 + del tmp109 + tmp111 = einsum(t1, (0, 1), tmp110, (2, 3, 0, 1, 4), (2, 3, 4)) + del tmp110 + tmp112 += tmp111 + del tmp111 + tmp201 += tmp112 + tmp201 += np.transpose(tmp112, (1, 0, 2)) * -1 + del tmp112 + tmp113 = einsum(tmp71, (0, 1, 2), v.ooov, (3, 0, 4, 2), (3, 4, 1)) + del tmp71 + tmp116 = np.copy(tmp113) * 0.5 + del tmp113 + tmp116 += tmp115 * 0.16666666666666 + del tmp115 + tmp201 += tmp116 * -1 + tmp201 += np.transpose(tmp116, (1, 0, 2)) * 4 + del tmp116 + tmp117 = einsum(r3, (0, 1, 2, 3, 4), t2, (0, 2, 3, 5), (1, 4, 5)) + tmp118 = einsum(v.ooov, (0, 1, 2, 3), tmp117, (1, 4, 3), (0, 2, 4)) + tmp120 = np.copy(tmp118) * 2 + del tmp118 + tmp119 = einsum(v.ovov, (0, 1, 2, 3), tmp36, (4, 1, 3), (0, 2, 4)) * -1 + del tmp36 + tmp120 += tmp119 * 0.66666666666664 + del tmp119 + tmp201 += tmp120 + tmp201 += np.transpose(tmp120, (1, 0, 2)) * -0.25 + del tmp120 + tmp121 = einsum(r3, (0, 1, 2, 3, 4), t3, (5, 1, 0, 6, 4, 3), (2, 5, 6)) + tmp122 = einsum(v.ovov, (0, 1, 2, 3), tmp121, (4, 2, 1), (4, 0, 3)) + tmp201 += tmp122 * 1.5 + tmp201 += np.transpose(tmp122, (1, 0, 2)) * -0.25 + del tmp122 + tmp123 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) + tmp123 += np.transpose(t3, (1, 0, 2, 3, 5, 4)) + tmp123 += np.transpose(t3, (1, 0, 2, 3, 4, 5)) * -1 + tmp124 = einsum(tmp123, (0, 1, 2, 3, 4, 5), r3, (1, 0, 6, 4, 3), (6, 2, 5)) + del tmp123 + tmp125 = einsum(tmp124, (0, 1, 2), v.ovov, (3, 4, 1, 2), (3, 0, 4)) * 0.75 + del tmp124 + tmp201 += np.transpose(tmp125, (1, 0, 2)) * -1 + tmp201 += tmp125 * 0.6666666666666666 + del tmp125 + tmp126 = einsum(v.ovov, (0, 1, 2, 3), tmp121, (4, 2, 3), (4, 0, 1)) + del tmp121 + tmp201 += tmp126 * -1.75 + tmp201 += np.transpose(tmp126, (1, 0, 2)) * 0.5 + del tmp126 + tmp128 = np.copy(r3) * 2 + tmp128 += np.transpose(r3, (0, 1, 2, 4, 3)) * -1 + tmp127 = np.copy(ints.tmp416) + tmp127 += np.transpose(ints.tmp426, (0, 2, 3, 1)) + tmp127 += np.transpose(ints.tmp431, (0, 2, 3, 1)) * -2 + tmp201 += einsum(tmp128, (0, 1, 2, 3, 4), tmp127, (1, 3, 5, 4), (2, 0, 5)) + del tmp128, tmp127 + tmp129 = np.copy(ints.tmp416) + tmp129 += np.transpose(ints.tmp426, (0, 2, 3, 1)) * 2 + tmp129 += np.transpose(ints.tmp431, (0, 2, 3, 1)) * -4 + tmp129 += v.ovvv + tmp129 += np.transpose(v.ovvv, (0, 2, 3, 1)) * -2 + tmp201 += einsum(r3, (0, 1, 2, 3, 4), tmp129, (2, 4, 5, 3), (1, 0, 5)) + del tmp129 + tmp131 = np.copy(r3) + tmp131 += np.transpose(r3, (0, 2, 1, 4, 3)) + tmp130 = np.copy(ints.tmp123) * 0.5 + tmp130 += ints.tmp125 * 0.5 + tmp130 += ints.tmp188 * 0.125 + tmp130 += ints.tmp194 * 0.125 + tmp130 += ints.tmp122 * -0.25 + tmp130 += ints.tmp126 * -1 + tmp130 += ints.tmp191 * -0.375 + tmp201 += einsum(tmp131, (0, 1, 2, 3, 4), tmp130, (1, 2, 5, 4), (5, 0, 3)) * -4 + del tmp131, tmp130 + tmp132 = np.copy(ints.tmp123) * 0.5 + tmp132 += ints.tmp125 * 0.5 + tmp132 += ints.tmp134 * 0.75 + tmp132 += ints.tmp188 * 0.75 + tmp132 += ints.tmp194 * 0.25 + tmp132 += ints.tmp122 * -1 + tmp132 += ints.tmp126 * -1 + tmp132 += ints.tmp191 * -0.25 + tmp132 += np.transpose(v.ooov, (0, 2, 1, 3)) * 0.75 + tmp132 += np.transpose(v.ovoo, (0, 2, 3, 1)) * -0.25 + tmp201 += einsum(r3, (0, 1, 2, 3, 4), tmp132, (1, 2, 5, 3), (5, 0, 4)) * 2 + del tmp132 + tmp136 = einsum(tmp133, (0, 1, 2, 3, 4, 5), tmp18, (0, 6, 7, 3, 4), (7, 6, 1, 2, 5)) * 0.5 + del tmp133, tmp18 + tmp134 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * 0.3333333333333333 + tmp134 += np.transpose(t3, (0, 2, 1, 3, 4, 5)) * -0.3333333333333333 + tmp134 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) + tmp136 += einsum(tmp134, (0, 1, 2, 3, 4, 5), r3, (6, 0, 7, 3, 4), (6, 7, 1, 2, 5)) * -3 + del tmp134 + tmp135 = np.copy(r3) * -1 + tmp135 += np.transpose(r3, (2, 1, 0, 3, 4)) * 5 + tmp136 += einsum(t3, (0, 1, 2, 3, 4, 5), tmp135, (2, 6, 7, 5, 4), (7, 6, 0, 1, 3)) * -0.5 + del tmp135 + tmp201 += einsum(tmp136, (0, 1, 2, 3, 4), v.ovov, (2, 4, 3, 5), (1, 0, 5)) * -0.5 + del tmp136 + tmp139 = np.copy(np.transpose(tmp137, (0, 1, 3, 2, 4))) * -0.6666666666666666 + del tmp137 + tmp139 += einsum(t3, (0, 1, 2, 3, 4, 5), r3, (6, 1, 7, 5, 4), (6, 7, 0, 2, 3)) * 0.6666666666666666 + tmp138 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * 3 + tmp138 += np.transpose(t3, (0, 2, 1, 3, 4, 5)) * -1 + tmp138 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) + tmp139 += einsum(tmp22, (0, 1, 2, 3, 4), tmp138, (0, 5, 6, 3, 4, 7), (2, 1, 5, 6, 7)) * 0.16666666666666666 + del tmp22, tmp138 + tmp201 += einsum(v.ovov, (0, 1, 2, 3), tmp139, (4, 5, 0, 2, 3), (5, 4, 1)) * -1.5 + del tmp139 + tmp140 = np.copy(ints.tmp123) * 0.5 + del ints.tmp123 + tmp140 += ints.tmp125 * 0.5 + del ints.tmp125 + tmp140 += ints.tmp188 * 0.25 + tmp140 += ints.tmp194 * 0.25 + del ints.tmp194 + tmp140 += ints.tmp122 * -0.5 + tmp140 += ints.tmp126 * -1 + del ints.tmp126 + tmp140 += ints.tmp191 * -0.25 + del ints.tmp191 + tmp201 += einsum(tmp140, (0, 1, 2, 3), r3, (0, 1, 4, 3, 5), (2, 4, 5)) * 2 + del tmp140 + tmp141 = np.copy(ints.tmp421) * 2 + tmp141 += ints.tmp416 * -1 + del ints.tmp416 + tmp201 += einsum(r3, (0, 1, 2, 3, 4), tmp141, (2, 3, 5, 4), (1, 0, 5)) + del tmp141 + tmp201 += einsum(tmp142, (0, 1, 2, 3), r3, (0, 4, 5, 1, 3), (4, 5, 2)) + del tmp142 + tmp143 = np.copy(ints.tmp431) * 2 + del ints.tmp431 + tmp143 += ints.tmp426 * -1 + del ints.tmp426 + tmp201 += einsum(r3, (0, 1, 2, 3, 4), tmp143, (0, 3, 4, 5), (1, 2, 5)) + del tmp143 + tmp144 = np.copy(r3) * -1 + tmp144 += np.transpose(r3, (0, 1, 2, 4, 3)) * 2 + tmp201 += einsum(ints.tmp421, (0, 1, 2, 3), tmp144, (4, 0, 5, 1, 3), (5, 4, 2)) + del ints.tmp421, tmp144 + tmp145 = np.copy(r3) + tmp145 += np.transpose(r3, (0, 2, 1, 3, 4)) * -2 + tmp145 += np.transpose(r3, (0, 2, 1, 4, 3)) * 0.5 + tmp145 += np.transpose(r3, (2, 0, 1, 3, 4)) * 0.5 + tmp145 += np.transpose(r3, (2, 1, 0, 3, 4)) * -0.5 + tmp201 += einsum(tmp145, (0, 1, 2, 3, 4), ints.tmp134, (1, 2, 5, 4), (5, 0, 3)) * -1 + del ints.tmp134, tmp145 + tmp146 = np.copy(ints.tmp122) + del ints.tmp122 + tmp146 += ints.tmp197 * 0.5 + tmp146 += ints.tmp188 * -1 + del ints.tmp188 + tmp201 += einsum(tmp146, (0, 1, 2, 3), r3, (4, 1, 0, 5, 3), (2, 4, 5)) * -1 + del tmp146 + tmp147 = np.copy(v.ooov) * -0.5 + tmp147 += np.transpose(v.ovoo, (0, 2, 3, 1)) + tmp201 += einsum(tmp147, (0, 1, 2, 3), r3, (4, 0, 2, 5, 3), (1, 4, 5)) * 2 + del tmp147 + tmp201 += einsum(tmp16, (0, 1, 2, 3), r3, (0, 2, 4, 5, 3), (1, 4, 5)) * -0.5 + del tmp16 + tmp148 = np.copy(r3) + tmp148 += np.transpose(r3, (2, 0, 1, 3, 4)) * 0.5 + tmp201 += einsum(ints.tmp197, (0, 1, 2, 3), tmp148, (4, 1, 0, 3, 5), (2, 4, 5)) + del ints.tmp197, tmp148 + tmp149 = np.copy(tmp34) * -1 + tmp149 += np.transpose(tmp34, (0, 1, 2, 4, 3)) * 2 + del tmp34 + tmp201 += einsum(tmp149, (0, 1, 2, 3, 4), v.ooov, (4, 2, 3, 5), (1, 0, 5)) * -1 + del tmp149 + tmp153 = np.copy(v.ovvv) + tmp153 += np.transpose(v.ovvv, (0, 2, 3, 1)) * -0.5 + tmp150 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * -1 + tmp150 += t2 * 2 + tmp152 = einsum(tmp150, (0, 1, 2, 3), r3, (4, 1, 0, 2, 5), (4, 5, 3)) * 0.5 + del tmp150 + tmp152 += einsum(tmp151, (0, 1, 2, 3), r3, (4, 1, 0, 5, 2), (4, 5, 3)) * 0.75 + del tmp151 + tmp201 += einsum(tmp152, (0, 1, 2), tmp153, (3, 4, 1, 2), (3, 0, 4)) * -4 + del tmp152, tmp153 + tmp178 = np.copy(np.transpose(tmp154, (0, 2, 1, 3, 4))) + tmp178 += np.transpose(tmp154, (0, 2, 1, 4, 3)) * -0.5 + del tmp154 + tmp155 = einsum(ints.tmp325, (0, 1, 2, 3), r3, (4, 1, 0, 5, 6), (2, 3, 4, 5, 6)) + tmp178 += np.transpose(tmp155, (0, 2, 1, 3, 4)) * 0.375 + tmp178 += np.transpose(tmp155, (0, 2, 1, 4, 3)) * -0.875 + del tmp155 + tmp178 += np.transpose(tmp156, (0, 2, 1, 3, 4)) * 0.125 + tmp178 += np.transpose(tmp156, (0, 2, 1, 4, 3)) * -0.125 + del tmp156 + tmp178 += np.transpose(tmp157, (1, 0, 2, 4, 3)) * 0.375 + tmp178 += np.transpose(tmp157, (2, 0, 1, 4, 3)) * -0.875 + del tmp157 + tmp178 += np.transpose(tmp158, (1, 0, 2, 4, 3)) * 0.125 + tmp178 += np.transpose(tmp158, (2, 0, 1, 4, 3)) * -0.125 + del tmp158 + tmp162 = np.copy(tmp0) * 0.125 + del tmp0 + tmp162 += tmp159 * 0.125 + del tmp159 + tmp162 += tmp161 * 0.125 + del tmp161 + tmp178 += np.transpose(tmp162, (0, 2, 1, 3, 4)) * -1 + tmp178 += np.transpose(tmp162, (0, 2, 1, 4, 3)) + tmp178 += np.transpose(tmp162, (1, 0, 2, 3, 4)) * -7 + tmp178 += np.transpose(tmp162, (1, 0, 2, 4, 3)) * 3 + del tmp162 + tmp178 += np.transpose(tmp164, (0, 2, 1, 3, 4)) * 0.25 + tmp178 += np.transpose(tmp164, (0, 2, 1, 4, 3)) * -0.25 + tmp178 += np.transpose(tmp164, (1, 0, 2, 3, 4)) + tmp178 += np.transpose(tmp164, (1, 0, 2, 4, 3)) * -0.5 + del tmp164 + tmp166 = einsum(tmp165, (0, 1, 2, 3, 4, 5, 6), t1, (3, 4), (0, 1, 2, 5, 6)) + del tmp165 + tmp178 += np.transpose(tmp166, (1, 0, 2, 3, 4)) * -0.25 + tmp178 += np.transpose(tmp166, (1, 0, 2, 4, 3)) * 0.75 + del tmp166 + tmp167 = einsum(v.ovov, (0, 1, 2, 3), tmp117, (4, 5, 3), (4, 0, 2, 5, 1)) + del tmp117 + tmp178 += tmp167 * -0.25 + tmp178 += np.transpose(tmp167, (0, 2, 1, 3, 4)) + del tmp167 + tmp168 = einsum(v.ovov, (0, 1, 2, 3), tmp69, (4, 5, 3), (4, 0, 2, 5, 1)) + del tmp69 + tmp178 += tmp168 * 0.25 + tmp178 += np.transpose(tmp168, (0, 2, 1, 3, 4)) * -0.5 + del tmp168 + tmp169 = einsum(tmp105, (0, 1, 2), v.ovov, (3, 2, 4, 5), (3, 4, 0, 5, 1)) * 0.25 + del tmp105 + tmp178 += np.transpose(tmp169, (2, 1, 0, 4, 3)) + tmp178 += np.transpose(tmp169, (2, 0, 1, 4, 3)) * -1 + del tmp169 + tmp178 += tmp170 + tmp178 += np.transpose(tmp170, (0, 2, 1, 3, 4)) * -0.25 + del tmp170 + tmp178 += tmp171 * -0.5 + tmp178 += np.transpose(tmp171, (0, 2, 1, 3, 4)) * 0.25 + del tmp171 + tmp172 = np.copy(r3) * -0.5 + tmp172 += np.transpose(r3, (1, 2, 0, 3, 4)) * -0.5 + tmp172 += np.transpose(r3, (1, 2, 0, 4, 3)) + tmp172 += np.transpose(r3, (2, 1, 0, 3, 4)) + tmp178 += einsum(tmp45, (0, 1, 2, 3), tmp172, (0, 4, 5, 2, 6), (1, 5, 4, 3, 6)) * -2 + del tmp45, tmp172 + tmp173 = np.copy(r3) * 2 + tmp173 += np.transpose(r3, (0, 1, 2, 4, 3)) * -1 + tmp173 += np.transpose(r3, (0, 2, 1, 3, 4)) * -1 + tmp173 += np.transpose(r3, (0, 2, 1, 4, 3)) + tmp173 += np.transpose(r3, (2, 0, 1, 3, 4)) + tmp178 += einsum(ints.tmp288, (0, 1, 2, 3), tmp173, (4, 0, 5, 2, 6), (1, 4, 5, 3, 6)) * -0.5 + del ints.tmp288, tmp173 + tmp174 = np.copy(r3) * -1 + tmp174 += np.transpose(r3, (0, 1, 2, 4, 3)) * 2 + tmp174 += np.transpose(r3, (0, 2, 1, 3, 4)) + tmp178 += einsum(v.oovv, (0, 1, 2, 3), tmp174, (4, 5, 1, 3, 6), (5, 4, 0, 6, 2)) * 0.5 + del tmp174 + tmp175 = np.copy(r3) + tmp175 += np.transpose(r3, (0, 1, 2, 4, 3)) * -0.5 + tmp178 += einsum(tmp175, (0, 1, 2, 3, 4), v.ovov, (5, 6, 2, 3), (1, 0, 5, 4, 6)) + del tmp175 + tmp176 = np.copy(r3) * -0.5 + tmp176 += np.transpose(r3, (0, 1, 2, 4, 3)) + tmp177 = einsum(tmp176, (0, 1, 2, 3, 4), t1, (5, 4), (0, 1, 2, 5, 3)) + del tmp176 + tmp178 += einsum(tmp177, (0, 1, 2, 3, 4), v.ovoo, (5, 6, 2, 3), (1, 0, 5, 4, 6)) * -1 + del tmp177 + tmp201 += einsum(t1, (0, 1), tmp178, (2, 3, 0, 1, 4), (2, 3, 4)) * 2 + del tmp178 + tmp179 = einsum(tmp104, (0, 1, 2, 3), r3, (1, 0, 4, 5, 2), (4, 5, 3)) + del tmp104 + tmp180 = np.copy(tmp179) + tmp180 += einsum(r3, (0, 1, 2, 3, 4), tmp101, (2, 0, 3, 5), (1, 4, 5)) * -0.3333333333333333 + tmp201 += einsum(v.ovvv, (0, 1, 2, 3), tmp180, (4, 2, 3), (4, 0, 1)) * -1.5 + del tmp180 + tmp182 = np.copy(tmp179) + del tmp179 + tmp182 += einsum(tmp181, (0, 1, 2, 3), r3, (1, 4, 0, 2, 5), (4, 5, 3)) * -0.6666666666666666 + del tmp181 + tmp201 += einsum(tmp182, (0, 1, 2), v.ovvv, (3, 2, 4, 1), (0, 3, 4)) * 1.5 + del tmp182 + tmp185 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1))) * -0.5 + tmp185 += np.transpose(v.ovov, (0, 2, 1, 3)) + tmp183 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * -1 + tmp183 += np.transpose(t3, (0, 2, 1, 3, 4, 5)) + tmp183 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) * -5 + tmp183 += np.transpose(t3, (0, 1, 2, 3, 5, 4)) * 3 + tmp183 += np.transpose(t3, (1, 0, 2, 3, 5, 4)) * -2 + tmp183 += np.transpose(t3, (1, 0, 2, 3, 4, 5)) * 6 + tmp183 += np.transpose(t3, (1, 0, 2, 4, 3, 5)) * -2 + tmp184 = einsum(r3, (0, 1, 2, 3, 4), tmp183, (2, 5, 1, 4, 3, 6), (0, 5, 6)) * 0.2 + del tmp183 + tmp201 += einsum(tmp185, (0, 1, 2, 3), tmp184, (4, 0, 2), (1, 4, 3)) * 2.5 + del tmp185, tmp184 + tmp187 = einsum(r3, (0, 1, 2, 3, 4), t3, (0, 2, 1, 5, 3, 6), (4, 5, 6)) * 0.24999999999999994 + tmp186 = np.copy(r3) * -1 + tmp186 += np.transpose(r3, (0, 1, 2, 4, 3)) * 4 + tmp187 += einsum(t3, (0, 1, 2, 3, 4, 5), tmp186, (2, 1, 0, 4, 6), (6, 3, 5)) * -0.24999999999999994 + del tmp186 + tmp201 += einsum(tmp187, (0, 1, 2), v.ovov, (3, 1, 4, 2), (3, 4, 0)) * 0.6666666666666401 + del tmp187 + tmp189 = np.copy(tmp58) * -1 + del tmp58 + tmp189 += r2 * -1 + tmp189 += np.transpose(r2, (1, 0, 2)) * 2 + tmp188 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) + tmp188 += np.transpose(t3, (1, 0, 2, 3, 5, 4)) + tmp188 += np.transpose(t3, (1, 0, 2, 3, 4, 5)) * -1 + tmp188 += np.transpose(t3, (1, 0, 2, 4, 3, 5)) + tmp189 += einsum(r3, (0, 1, 2, 3, 4), tmp188, (2, 0, 5, 3, 4, 6), (1, 5, 6)) * -0.25 + del tmp188 + tmp201 += einsum(tmp189, (0, 1, 2), v.ovov, (3, 4, 1, 2), (0, 3, 4)) + del tmp189 + tmp201 += einsum(v.ovov, (0, 1, 2, 3), tmp56, (4, 2, 1), (4, 0, 3)) * 0.75 + del tmp56 + tmp193 = np.copy(tmp190) * 0.4 + tmp193 += tmp191 + tmp193 += np.transpose(tmp191, (1, 0, 2)) * -0.2 + tmp192 = einsum(t2, (0, 1, 2, 3), r3, (1, 4, 5, 2, 3), (4, 5, 0)) + tmp193 += tmp192 * -0.6 + tmp193 += np.transpose(tmp192, (1, 0, 2)) * 0.2 + tmp201 += einsum(v.ooov, (0, 1, 2, 3), tmp193, (4, 1, 2), (4, 0, 3)) * 2.5 + del tmp193 + tmp194 = np.copy(tmp190) + tmp194 += tmp191 + tmp194 += np.transpose(tmp191, (1, 0, 2)) * -2 + del tmp191 + tmp194 += tmp192 * -1 + tmp194 += np.transpose(tmp192, (1, 0, 2)) + del tmp192 + tmp201 += einsum(v.ovoo, (0, 1, 2, 3), tmp194, (4, 2, 3), (4, 0, 1)) * -1 + del tmp194 + tmp196 = np.copy(tmp190) * 0.6666666666666666 + tmp195 = einsum(r3, (0, 1, 2, 3, 4), tmp101, (0, 5, 4, 3), (1, 2, 5)) + tmp196 += tmp195 + del tmp195 + tmp201 += einsum(ints.tmp759, (0, 1, 2, 3), tmp196, (4, 0, 2), (4, 1, 3)) * -0.75 + tmp198 = np.copy(tmp190) * 0.2222222222222222 + tmp197 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * 1.7999999999999998 + tmp197 += t2 * -1 + tmp198 += einsum(tmp197, (0, 1, 2, 3), r3, (0, 4, 5, 3, 2), (4, 5, 1)) * 0.5555555555555556 + del tmp197 + tmp201 += einsum(tmp198, (0, 1, 2), ints.tmp759, (1, 2, 3, 4), (0, 3, 4)) * 2.25 + del tmp198 + tmp200 = np.copy(ints.tmp759) * -1 + tmp200 += np.transpose(ints.tmp759, (0, 2, 1, 3)) * 2 + del ints.tmp759 + tmp201 += einsum(tmp199, (0, 1, 2), tmp200, (1, 3, 2, 4), (0, 3, 4)) * -1 + del tmp199, tmp200 + r1new += einsum(tmp201, (0, 1, 2), t1, (0, 2), (1,)) + del tmp201 + tmp203 = np.copy(tmp190) * 0.4 + tmp202 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * 1.8 + tmp202 += t2 * -1 + tmp203 += einsum(tmp202, (0, 1, 2, 3), r3, (0, 4, 5, 3, 2), (4, 5, 1)) + r1new += einsum(ints.tmp325, (0, 1, 2, 3), tmp203, (1, 0, 3), (2,)) * 1.25 + del tmp203 + r1new += einsum(ints.tmp325, (0, 1, 2, 3), tmp196, (1, 0, 2), (3,)) * -0.75 + del ints.tmp325, tmp196 + tmp204 = np.copy(tmp190) + tmp204 += einsum(tmp202, (0, 1, 2, 3), r3, (0, 4, 5, 3, 2), (4, 5, 1)) * 2.5 + del tmp202 + r1new += einsum(tmp204, (0, 1, 2), v.oooo, (3, 1, 0, 2), (3,)) * 0.5 + del tmp204 + tmp205 = np.copy(tmp190) + del tmp190 + tmp205 += einsum(r3, (0, 1, 2, 3, 4), tmp101, (0, 5, 4, 3), (1, 2, 5)) * 1.5 + del tmp101 + r1new += einsum(tmp205, (0, 1, 2), v.oooo, (3, 0, 1, 2), (3,)) * -0.5 + del tmp205 + tmp206 = np.copy(f.vv) * 0.5 + tmp206 += np.transpose(ints.tmp315, (1, 0)) * 0.5 + del ints.tmp315 + tmp206 += np.transpose(ints.tmp311, (1, 0)) * -1 + del ints.tmp311 + r1new += einsum(tmp211, (0, 1, 2), tmp206, (2, 1), (0,)) * -2 + del tmp211, tmp206 + tmp213 = np.copy(f.ov) * 2 + tmp213 += ints.tmp116 * 2 + del ints.tmp116 + tmp213 += ints.tmp128 * 4 + del ints.tmp128 + tmp213 += ints.tmp176 + del ints.tmp176 + tmp213 += ints.tmp182 * 3 + del ints.tmp182 + tmp213 += ints.tmp185 + del ints.tmp185 + tmp213 += ints.tmp2 * 2 + del ints.tmp2 + tmp213 += ints.tmp119 * -4 + del ints.tmp119 + tmp213 += ints.tmp131 * -2 + del ints.tmp131 + tmp213 += ints.tmp179 * -1 + del ints.tmp179 + tmp213 += einsum(t1, (0, 1), tmp212, (2, 1), (0, 2)) * 2 + del tmp212 + r1new += einsum(tmp213, (0, 1), tmp73, (0, 2, 1), (2,)) * -0.5 + del tmp73, tmp213 + tmp215 = einsum(tmp207, (0, 1, 2, 3, 4), t2, (2, 1, 5, 4), (0, 3, 5)) * -0.6666666666666666 + del tmp207 + tmp215 += einsum(t2, (0, 1, 2, 3), tmp209, (4, 1, 0, 5, 2), (4, 5, 3)) * 1.3333333333333333 + del tmp209 + tmp216 = einsum(tmp215, (0, 1, 2), t1, (3, 1), (0, 3, 2)) * 1.5 + del tmp215 + r1new += einsum(tmp216, (0, 1, 2), tmp214, (1, 2), (0,)) + del tmp214, tmp216 + tmp217 = np.copy(f.oo) + tmp217 += np.transpose(ints.tmp114, (1, 0)) * 2 + tmp217 += np.transpose(ints.tmp609, (1, 0)) * 2 + tmp217 += np.transpose(ints.tmp73, (1, 0)) * 2 + tmp217 += np.transpose(ints.tmp112, (1, 0)) * -1 + r1new += einsum(tmp217, (0, 1), tmp222, (2, 1, 0), (2,)) + del tmp217 + tmp226 = einsum(r3, (0, 1, 2, 3, 4), tmp223, (2, 5, 1, 4, 3, 6), (0, 5, 6)) * 0.125 + del tmp223 + tmp226 += einsum(r3, (0, 1, 2, 3, 4), tmp60, (0, 5, 1, 4, 6, 3), (2, 5, 6)) * 0.125 + del tmp60 + tmp225 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * -0.5 + tmp225 += t2 + tmp224 = np.copy(r2) + tmp224 += np.transpose(r2, (1, 0, 2)) * -0.5 + tmp226 += einsum(tmp225, (0, 1, 2, 3), tmp224, (0, 4, 2), (4, 1, 3)) * -2 + del tmp225, tmp224 + r1new += einsum(f.ov, (0, 1), tmp226, (2, 0, 1), (2,)) * 2 + del tmp226 + tmp227 = np.copy(np.transpose(ints.tmp608, (1, 0))) + tmp227 += np.transpose(ints.tmp72, (1, 0)) + tmp227 += ints.tmp0 * -1 + r1new += einsum(tmp227, (0, 1), tmp222, (2, 1, 0), (2,)) * -1 + del tmp222, tmp227 + tmp228 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * 0.125 + tmp228 += np.transpose(t3, (0, 2, 1, 3, 4, 5)) * -0.5 + tmp228 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) * 0.125 + tmp228 += np.transpose(t3, (1, 0, 2, 3, 5, 4)) * 0.25 + tmp228 += np.transpose(t3, (1, 0, 2, 3, 4, 5)) * -0.25 + tmp228 += np.transpose(t3, (1, 0, 2, 4, 3, 5)) + tmp229 = einsum(r3, (0, 1, 2, 3, 4), tmp228, (1, 0, 2, 4, 5, 3), (5,)) * 4 + del tmp228 + tmp231 = np.copy(tmp229) + del tmp229 + tmp230 = einsum(r2, (0, 1, 2), tmp8, (1, 0, 2, 3), (3,)) * 12 + del tmp8 + tmp231 += tmp230 + del tmp230 + r1new += einsum(tmp231, (0,), ints.tmp305, (1, 0), (1,)) * -0.16666666666666 + del ints.tmp305 + r1new += einsum(f.ov, (0, 1), tmp231, (1,), (0,)) * 0.16666666666666 + r1new += einsum(ints.tmp308, (0, 1), tmp231, (1,), (0,)) * 0.33333333333332 + del ints.tmp308, tmp231 + tmp232 = np.copy(f.oo) + tmp232 += np.transpose(ints.tmp0, (1, 0)) + del ints.tmp0 + tmp232 += ints.tmp114 * 2 + del ints.tmp114 + tmp232 += ints.tmp609 * 2 + del ints.tmp609 + tmp232 += np.transpose(ints.tmp73, (1, 0)) * 2 + del ints.tmp73 + tmp232 += ints.tmp112 * -1 + del ints.tmp112 + tmp232 += ints.tmp608 * -1 + del ints.tmp608 + tmp232 += ints.tmp72 * -1 + del ints.tmp72 + r1new += einsum(tmp232, (0, 1), r1, (0,), (1,)) * -1 + del tmp232 + + return {f"r1new": r1new, f"r2new": r2new, f"r3new": r3new} - return {"l1new": l1new, "l2new": l2new, "l3new": l3new} +def hbar_lmatvec_ea_intermediates(f=None, t1=None, t2=None, t3=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-10-22T09:41:34.776932. -def make_rdm1_f(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, t3=None, l1=None, l2=None, l3=None, **kwargs): - delta = Namespace(oo=np.eye(nocc), vv=np.eye(nvir)) + Parameters + ---------- + f : array + Fock matrix. + t1 : array + T1 amplitudes. + t2 : array + T2 amplitudes. + t3 : array + T3 amplitudes. + v : array + Electron repulsion integrals. - # RDM1 - rdm1_f_oo = np.zeros((nocc, nocc), dtype=types[float]) - rdm1_f_oo += einsum(delta.oo, (0, 1), (0, 1)) * 2.0 - rdm1_f_oo += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 5, 3, 1, 0, 2), (6, 4)) * 0.16666666666666 - rdm1_f_ov = np.zeros((nocc, nvir), dtype=types[float]) - rdm1_f_ov += einsum(t1, (0, 1), (0, 1)) * 2.0 - rdm1_f_vo = np.zeros((nvir, nocc), dtype=types[float]) - rdm1_f_vo += einsum(l1, (0, 1), (0, 1)) * 2.0 - rdm1_f_vv = np.zeros((nvir, nvir), dtype=types[float]) - rdm1_f_vv += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (3, 4, 5, 0, 6, 2), (1, 6)) * 0.49999999999998 - rdm1_f_vv += einsum(l1, (0, 1), t1, (1, 2), (0, 2)) * 2.0 - x0 = np.zeros((nocc, nocc), dtype=types[float]) - x0 += einsum(l1, (0, 1), t1, (2, 0), (1, 2)) - rdm1_f_oo += einsum(x0, (0, 1), (1, 0)) * -2.0 - x1 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x1 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -0.14285714285714288 - x1 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 0.14285714285714288 - x1 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) - x1 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -0.14285714285714288 - rdm1_f_oo += einsum(l3, (0, 1, 2, 3, 4, 5), x1, (4, 6, 3, 0, 2, 1), (6, 5)) * -1.16666666666662 - del x1 - x2 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x2 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 3.0 - x2 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) - x2 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -1.0 - rdm1_f_oo += einsum(l3, (0, 1, 2, 3, 4, 5), x2, (3, 5, 6, 0, 2, 1), (6, 4)) * -0.16666666666666 - del x2 - x3 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x3 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - x3 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 - rdm1_f_oo += einsum(l3, (0, 1, 2, 3, 4, 5), x3, (3, 6, 4, 0, 1, 2), (6, 5)) * 0.16666666666666 - del x3 - x4 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x4 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x4 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - rdm1_f_oo += einsum(l2, (0, 1, 2, 3), x4, (2, 4, 0, 1), (4, 3)) * -2.0 - del x4 - x5 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x5 += einsum(t1, (0, 1), l3, (2, 1, 3, 4, 5, 6), (4, 6, 5, 0, 2, 3)) - rdm1_f_ov += einsum(t3, (0, 1, 2, 3, 4, 5), x5, (0, 2, 1, 6, 3, 5), (6, 4)) * -0.49999999999998 - del x5 - x6 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x6 += einsum(t1, (0, 1), l3, (2, 3, 1, 4, 5, 6), (4, 6, 5, 0, 2, 3)) - x7 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x7 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - x7 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 6.999999999999999 - x7 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) - x7 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) - x7 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -1.0 - x7 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 - rdm1_f_ov += einsum(x6, (0, 1, 2, 3, 4, 5), x7, (0, 1, 2, 5, 6, 4), (3, 6)) * -0.16666666666666 - del x7 - x8 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x8 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - x8 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 - x8 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) - rdm1_f_ov += einsum(x6, (0, 1, 2, 3, 4, 5), x8, (0, 2, 1, 5, 4, 6), (3, 6)) * 0.16666666666666 - del x6, x8 - x9 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x9 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - x9 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 6.0 - x9 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) - x9 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 - rdm1_f_ov += einsum(l2, (0, 1, 2, 3), x9, (2, 4, 3, 1, 0, 5), (4, 5)) * 0.5 - del x9 - x10 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x10 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - x10 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 2.0 - rdm1_f_ov += einsum(l2, (0, 1, 2, 3), x10, (3, 4, 2, 1, 0, 5), (4, 5)) * -0.5 - del x10 - x11 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x11 += einsum(t1, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2)) - x12 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x12 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.3333333333333333 - x12 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - x13 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x13 += einsum(x12, (0, 1, 2, 3), l3, (4, 2, 3, 5, 0, 6), (1, 6, 5, 4)) * 0.75 - del x12 - x14 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x14 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) - x14 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.3333333333333333 - x15 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x15 += einsum(x11, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x15 += einsum(x11, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x11 - x15 += einsum(x13, (0, 1, 2, 3), (2, 1, 0, 3)) - x15 += einsum(x13, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - del x13 - x15 += einsum(x14, (0, 1, 2, 3), l3, (4, 2, 3, 5, 6, 0), (5, 6, 1, 4)) * 1.5 - del x14 - rdm1_f_ov += einsum(t2, (0, 1, 2, 3), x15, (0, 1, 4, 2), (4, 3)) * -2.0 - del x15 - x16 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x16 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 3, 4, 0, 2, 1)) * -1.0 - x16 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) - x16 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 0, 2)) - x17 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x17 += einsum(t2, (0, 1, 2, 3), l3, (4, 2, 3, 5, 6, 1), (5, 6, 0, 4)) * -1.0 - x17 += einsum(t2, (0, 1, 2, 3), x16, (1, 4, 5, 3, 2, 6), (4, 5, 0, 6)) - del x16 - rdm1_f_ov += einsum(t2, (0, 1, 2, 3), x17, (0, 1, 4, 3), (4, 2)) * -1.0 - del x17 - x18 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x18 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.5 - x18 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm1_f_ov += einsum(l1, (0, 1), x18, (1, 2, 0, 3), (2, 3)) * 4.0 - del x18 - x19 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x19 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - x19 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - x19 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 6.999999999999999 - x19 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 - x20 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x20 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - x20 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - x20 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 3.0 - x21 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x21 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) - x21 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 4, 3, 0, 2, 1)) - x22 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x22 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) - x22 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x23 = np.zeros((nocc, nocc), dtype=types[float]) - x23 += einsum(x0, (0, 1), (0, 1)) - del x0 - x23 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 5, 4, 1, 0, 2), (3, 6)) * 0.08333333333333 - x23 += einsum(l3, (0, 1, 2, 3, 4, 5), x19, (4, 6, 5, 2, 0, 1), (3, 6)) * 0.08333333333333 - del x19 - x23 += einsum(l3, (0, 1, 2, 3, 4, 5), x20, (3, 6, 5, 1, 0, 2), (4, 6)) * 0.08333333333333 - del x20 - x23 += einsum(t3, (0, 1, 2, 3, 4, 5), x21, (2, 6, 1, 5, 4, 3), (6, 0)) * -0.08333333333333 - del x21 - x23 += einsum(l2, (0, 1, 2, 3), x22, (2, 4, 1, 0), (3, 4)) * 2.0 - del x22 - rdm1_f_ov += einsum(t1, (0, 1), x23, (0, 2), (2, 1)) * -2.0 - del x23 - x24 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x24 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 0.14285714285714288 - x24 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -0.14285714285714288 - x24 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) - x24 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -0.14285714285714288 - x24 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * 0.14285714285714288 - x24 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -0.14285714285714288 - rdm1_f_vv += einsum(l3, (0, 1, 2, 3, 4, 5), x24, (5, 3, 4, 1, 2, 6), (0, 6)) * 1.16666666666662 - del x24 - x25 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x25 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - x25 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - x25 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) - rdm1_f_vv += einsum(l3, (0, 1, 2, 3, 4, 5), x25, (5, 4, 3, 1, 6, 2), (0, 6)) * -0.16666666666666 - del x25 - x26 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x26 += einsum(l2, (0, 1, 2, 3), (3, 2, 0, 1)) * -0.5 - x26 += einsum(l2, (0, 1, 2, 3), (2, 3, 0, 1)) - rdm1_f_vv += einsum(t2, (0, 1, 2, 3), x26, (0, 1, 2, 4), (4, 3)) * 4.0 - del x26 + Returns + ------- + tmp105 : array + tmp1082 : array + tmp110 : array + tmp119 : array + tmp121 : array + tmp123 : array + tmp126 : array + tmp132 : array + tmp135 : array + tmp138 : array + tmp140 : array + tmp143 : array + tmp145 : array + tmp190 : array + tmp193 : array + tmp196 : array + tmp199 : array + tmp249 : array + tmp253 : array + tmp257 : array + tmp265 : array + tmp286 : array + tmp292 : array + tmp301 : array + tmp304 : array + tmp308 : array + tmp313 : array + tmp318 : array + tmp321 : array + tmp335 : array + tmp338 : array + tmp344 : array + tmp348 : array + tmp366 : array + tmp371 : array + tmp377 : array + tmp382 : array + tmp465 : array + tmp578 : array + tmp585 : array + tmp59 : array + tmp592 : array + tmp607 : array + tmp694 : array + tmp76 : array + tmp763 : array + tmp767 : array + tmp78 : array + tmp942 : array + tmp953 : array + tmp964 : array + """ - rdm1_f = np.block([[rdm1_f_oo, rdm1_f_ov], [rdm1_f_vo, rdm1_f_vv]]) + tmp59 = einsum(f.ov, (0, 1), t1, (2, 1), (0, 2)) + tmp105 = np.copy(v.oooo) + tmp119 = einsum(v.ovov, (0, 1, 2, 3), t2, (0, 2, 4, 1), (4, 3)) + tmp76 = einsum(v.ovvv, (0, 1, 2, 3), t1, (0, 1), (2, 3)) + tmp110 = np.copy(np.transpose(v.oooo, (0, 2))) + tmp123 = einsum(v.ooov, (0, 1, 2, 3), t2, (1, 2, 3, 4), (0, 4)) + tmp190 = einsum(v.ovov, (0, 1, 2, 3), t3, (4, 2, 0, 1, 5, 3), (4, 5)) + tmp964 = einsum(t1, (0, 1), f.vv, (2, 1), (0, 2)) + tmp78 = einsum(v.ovvv, (0, 1, 2, 3), t1, (0, 3), (1, 2)) + tmp121 = einsum(v.ovov, (0, 1, 2, 3), t2, (0, 2, 1, 4), (4, 3)) + tmp126 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 0, 1, 3), (4, 2)) + tmp132 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 3, 4, 2), (0, 4)) + tmp135 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 2, 4, 3), (0, 4)) + tmp138 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 2, 4, 5), (0, 3, 4, 5)) + tmp140 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 0, 5, 1), (4, 5, 2, 3)) + tmp143 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 2), (0, 3, 4, 5)) + tmp145 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 0, 5, 3), (4, 5, 1, 2)) + tmp193 = einsum(v.ovov, (0, 1, 2, 3), t3, (4, 2, 0, 5, 1, 3), (4, 5)) + tmp196 = einsum(v.ovov, (0, 1, 2, 3), t3, (4, 2, 0, 5, 3, 1), (4, 5)) + tmp199 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovov, (0, 3, 2, 5), (1, 4)) + tmp249 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovvv, (2, 3, 6, 5), (0, 1, 4, 6)) + tmp253 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovvv, (2, 4, 6, 5), (0, 1, 3, 6)) + tmp257 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovvv, (2, 5, 6, 4), (0, 1, 3, 6)) + tmp265 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovvv, (1, 4, 6, 5), (0, 2, 3, 6)) + tmp285 = np.copy(v.ovoo) + tmp286 = einsum(tmp285, (0, 1), t1, (2, 1), (2, 0)) + del tmp285 + tmp301 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 2, 1, 5), (0, 4, 3, 5)) + tmp304 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 2, 5, 1), (4, 0, 5, 3)) + tmp308 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 5, 1, 2), (0, 4, 3, 5)) + tmp313 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 2, 5, 3), (4, 0, 5, 1)) + tmp335 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 2, 1, 3), (0, 4)) + tmp338 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 3, 1, 2), (0, 4)) + tmp344 = einsum(t1, (0, 1), v.ooov, (2, 0, 3, 1), (2, 3)) + tmp348 = einsum(t1, (0, 1), v.ooov, (2, 3, 0, 1), (2, 3)) + tmp366 = einsum(v.ooov, (0, 1, 2, 3), t2, (4, 2, 3, 5), (4, 0, 1, 5)) + tmp371 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 1, 3), (0, 4, 5, 2)) + tmp377 = einsum(v.ooov, (0, 1, 2, 3), t2, (4, 1, 3, 5), (4, 0, 2, 5)) + tmp382 = einsum(v.ooov, (0, 1, 2, 3), t2, (4, 1, 5, 3), (4, 0, 2, 5)) + tmp465 = einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 2, 5, 3), (0, 1, 4, 5)) + tmp578 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovov, (6, 3, 2, 5), (0, 1, 6, 4)) + tmp585 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovov, (6, 5, 2, 4), (0, 1, 6, 3)) + tmp592 = einsum(v.ovov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 1, 3), (4, 5, 0, 6)) + tmp607 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovov, (6, 5, 1, 4), (0, 2, 6, 3)) + tmp694 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 2, 5, 3), (0, 1, 4, 5)) + tmp953 = einsum(t1, (0, 1), v.ooov, (2, 3, 4, 1), (0, 2, 3, 4)) + tmp291 = np.copy(np.transpose(v.ooov, (0, 3))) + tmp292 = einsum(tmp291, (0, 1), t1, (2, 1), (2, 0)) + del tmp291 + tmp318 = einsum(v.ovov, (0, 1, 2, 3), t1, (2, 1), (0, 3)) + tmp763 = einsum(t1, (0, 1), tmp318, (2, 1), (0, 2)) + tmp321 = einsum(t1, (0, 1), v.ovov, (2, 3, 0, 1), (2, 3)) + tmp767 = einsum(t1, (0, 1), tmp321, (2, 1), (0, 2)) + tmp942 = einsum(t1, (0, 1), v.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) + tmp1082 = einsum(tmp942, (0, 1, 2, 3), t1, (4, 3), (0, 4, 2, 1)) - return rdm1_f + return {f"tmp105": tmp105, f"tmp1082": tmp1082, f"tmp110": tmp110, f"tmp119": tmp119, f"tmp121": tmp121, f"tmp123": tmp123, f"tmp126": tmp126, f"tmp132": tmp132, f"tmp135": tmp135, f"tmp138": tmp138, f"tmp140": tmp140, f"tmp143": tmp143, f"tmp145": tmp145, f"tmp190": tmp190, f"tmp193": tmp193, f"tmp196": tmp196, f"tmp199": tmp199, f"tmp249": tmp249, f"tmp253": tmp253, f"tmp257": tmp257, f"tmp265": tmp265, f"tmp286": tmp286, f"tmp292": tmp292, f"tmp301": tmp301, f"tmp304": tmp304, f"tmp308": tmp308, f"tmp313": tmp313, f"tmp318": tmp318, f"tmp321": tmp321, f"tmp335": tmp335, f"tmp338": tmp338, f"tmp344": tmp344, f"tmp348": tmp348, f"tmp366": tmp366, f"tmp371": tmp371, f"tmp377": tmp377, f"tmp382": tmp382, f"tmp465": tmp465, f"tmp578": tmp578, f"tmp585": tmp585, f"tmp59": tmp59, f"tmp592": tmp592, f"tmp607": tmp607, f"tmp694": tmp694, f"tmp76": tmp76, f"tmp763": tmp763, f"tmp767": tmp767, f"tmp78": tmp78, f"tmp942": tmp942, f"tmp953": tmp953, f"tmp964": tmp964} -def make_rdm2_f(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, t3=None, l1=None, l2=None, l3=None, **kwargs): - delta = Namespace(oo=np.eye(nocc), vv=np.eye(nvir)) +def hbar_lmatvec_ea(f=None, r1=None, r2=None, r3=None, t1=None, t2=None, t3=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-10-22T09:41:35.006820. - # RDM2 - rdm2_f_oooo = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - rdm2_f_oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (0, 2, 1, 3)) - rdm2_f_oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (0, 2, 1, 3)) - rdm2_f_oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (0, 2, 1, 3)) - rdm2_f_oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (0, 2, 1, 3)) - rdm2_f_oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_ovoo = np.zeros((nocc, nvir, nocc, nocc), dtype=types[float]) - rdm2_f_ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (0, 2, 1, 3)) - rdm2_f_ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (0, 2, 1, 3)) - rdm2_f_ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (0, 2, 1, 3)) - rdm2_f_ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (0, 2, 1, 3)) - rdm2_f_ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_vooo = np.zeros((nvir, nocc, nocc, nocc), dtype=types[float]) - rdm2_f_vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 0, 3, 1)) - rdm2_f_vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 0, 3, 1)) - rdm2_f_vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 0, 3, 1)) - rdm2_f_vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 0, 3, 1)) - rdm2_f_oovv = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - rdm2_f_oovv += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_ovov = np.zeros((nocc, nvir, nocc, nvir), dtype=types[float]) - rdm2_f_ovov += einsum(l1, (0, 1), t1, (2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_ovov += einsum(l1, (0, 1), t1, (2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_ovvo = np.zeros((nocc, nvir, nvir, nocc), dtype=types[float]) - rdm2_f_ovvo += einsum(l1, (0, 1), t1, (2, 3), (2, 0, 3, 1)) - rdm2_f_ovvo += einsum(l1, (0, 1), t1, (2, 3), (2, 0, 3, 1)) - rdm2_f_ovvo += einsum(l1, (0, 1), t1, (2, 3), (2, 0, 3, 1)) - rdm2_f_ovvo += einsum(l1, (0, 1), t1, (2, 3), (2, 0, 3, 1)) - rdm2_f_voov = np.zeros((nvir, nocc, nocc, nvir), dtype=types[float]) - rdm2_f_voov += einsum(l1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) - rdm2_f_voov += einsum(l1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) - rdm2_f_voov += einsum(l1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) - rdm2_f_voov += einsum(l1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) - rdm2_f_vovo = np.zeros((nvir, nocc, nvir, nocc), dtype=types[float]) - rdm2_f_vovo += einsum(l1, (0, 1), t1, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_vovo += einsum(l1, (0, 1), t1, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_vvoo = np.zeros((nvir, nvir, nocc, nocc), dtype=types[float]) - rdm2_f_vvoo += einsum(l2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_vvoo += einsum(l2, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_vvoo += einsum(l2, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_vvoo += einsum(l2, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_vvoo += einsum(l2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_vvoo += einsum(l2, (0, 1, 2, 3), (0, 1, 2, 3)) - x0 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x0 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 7, 4, 1, 2, 0), (3, 5, 6, 7)) - rdm2_f_oooo += einsum(x0, (0, 1, 2, 3), (3, 2, 1, 0)) * -0.16666666666667 - rdm2_f_oooo += einsum(x0, (0, 1, 2, 3), (3, 2, 1, 0)) * -0.16666666666667 - del x0 - x1 = np.zeros((nocc, nocc), dtype=types[float]) - x1 += einsum(l1, (0, 1), t1, (2, 0), (1, 2)) - rdm2_f_oooo += einsum(delta.oo, (0, 1), x1, (2, 3), (0, 3, 1, 2)) * -1.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x1, (2, 3), (3, 0, 1, 2)) - rdm2_f_oooo += einsum(delta.oo, (0, 1), x1, (2, 3), (0, 3, 2, 1)) - rdm2_f_oooo += einsum(delta.oo, (0, 1), x1, (2, 3), (3, 0, 2, 1)) * -1.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x1, (2, 3), (0, 3, 1, 2)) * -1.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x1, (2, 3), (3, 0, 2, 1)) * -1.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x1, (2, 3), (0, 3, 1, 2)) * -1.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x1, (2, 3), (3, 0, 2, 1)) * -1.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x1, (2, 3), (0, 3, 1, 2)) * -1.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x1, (2, 3), (3, 0, 1, 2)) - rdm2_f_oooo += einsum(delta.oo, (0, 1), x1, (2, 3), (0, 3, 2, 1)) - rdm2_f_oooo += einsum(delta.oo, (0, 1), x1, (2, 3), (3, 0, 2, 1)) * -1.0 - x2 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x2 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 7, 5, 1, 0, 2), (3, 4, 6, 7)) - x3 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x3 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - x3 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - x4 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x4 += einsum(l3, (0, 1, 2, 3, 4, 5), x3, (5, 6, 7, 1, 0, 2), (3, 4, 6, 7)) * 0.16666666666667 - x5 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x5 += einsum(x2, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.16666666666667 - x5 += einsum(x4, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x4 - rdm2_f_oooo += einsum(x5, (0, 1, 2, 3), (3, 2, 0, 1)) - rdm2_f_oooo += einsum(x5, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 - rdm2_f_oooo += einsum(x5, (0, 1, 2, 3), (3, 2, 0, 1)) - rdm2_f_oooo += einsum(x5, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 - del x5 - x6 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x6 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) - x6 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x7 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x7 += einsum(x6, (0, 1, 2, 3), l3, (4, 2, 3, 5, 6, 0), (5, 6, 1, 4)) - x8 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x8 += einsum(t1, (0, 1), x7, (2, 3, 4, 1), (0, 2, 3, 4)) * -0.5 - rdm2_f_oooo += einsum(x8, (0, 1, 2, 3), (0, 3, 1, 2)) * -1.0 - rdm2_f_oooo += einsum(x8, (0, 1, 2, 3), (3, 0, 1, 2)) - rdm2_f_oooo += einsum(x8, (0, 1, 2, 3), (0, 3, 2, 1)) - rdm2_f_oooo += einsum(x8, (0, 1, 2, 3), (3, 0, 2, 1)) * -1.0 - rdm2_f_oooo += einsum(x8, (0, 1, 2, 3), (0, 3, 1, 2)) * -1.0 - rdm2_f_oooo += einsum(x8, (0, 1, 2, 3), (3, 0, 1, 2)) - rdm2_f_oooo += einsum(x8, (0, 1, 2, 3), (0, 3, 2, 1)) - rdm2_f_oooo += einsum(x8, (0, 1, 2, 3), (3, 0, 2, 1)) * -1.0 - del x8 - x9 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x9 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.3333333333333333 - x9 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - x10 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x10 += einsum(x9, (0, 1, 2, 3), l3, (4, 2, 3, 5, 0, 6), (6, 5, 1, 4)) - x11 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x11 += einsum(t1, (0, 1), x10, (2, 3, 4, 1), (0, 3, 2, 4)) * 1.5 - rdm2_f_oooo += einsum(x11, (0, 1, 2, 3), (0, 3, 1, 2)) - rdm2_f_oooo += einsum(x11, (0, 1, 2, 3), (3, 0, 1, 2)) * -1.0 - rdm2_f_oooo += einsum(x11, (0, 1, 2, 3), (0, 3, 1, 2)) - rdm2_f_oooo += einsum(x11, (0, 1, 2, 3), (3, 0, 1, 2)) * -1.0 - del x11 - x12 = np.zeros((nocc, nocc), dtype=types[float]) - x12 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 5, 4, 1, 0, 2), (3, 6)) - x13 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x13 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - x13 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 6.999999999999999 - x13 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) - x13 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 - x14 = np.zeros((nocc, nocc), dtype=types[float]) - x14 += einsum(l3, (0, 1, 2, 3, 4, 5), x13, (3, 6, 4, 1, 2, 0), (5, 6)) * 0.041666666666665 - x15 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x15 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - x15 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 - x15 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * 3.0 - x16 = np.zeros((nocc, nocc), dtype=types[float]) - x16 += einsum(l3, (0, 1, 2, 3, 4, 5), x15, (5, 6, 3, 0, 2, 1), (4, 6)) * 0.041666666666665 - x17 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x17 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) - x17 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 3, 5, 0, 2, 1)) - x18 = np.zeros((nocc, nocc), dtype=types[float]) - x18 += einsum(t3, (0, 1, 2, 3, 4, 5), x17, (1, 2, 6, 5, 4, 3), (0, 6)) * 0.041666666666665 - x19 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x19 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) - x19 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x20 = np.zeros((nocc, nocc), dtype=types[float]) - x20 += einsum(l2, (0, 1, 2, 3), x19, (3, 4, 0, 1), (2, 4)) - x21 = np.zeros((nocc, nocc), dtype=types[float]) - x21 += einsum(x12, (0, 1), (0, 1)) * 0.041666666666665 - x21 += einsum(x14, (0, 1), (0, 1)) - del x14 - x21 += einsum(x16, (0, 1), (0, 1)) - del x16 - x21 += einsum(x18, (0, 1), (1, 0)) * -1.0 - del x18 - x21 += einsum(x20, (0, 1), (0, 1)) - del x20 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x21, (2, 3), (0, 3, 1, 2)) * -2.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x21, (2, 3), (0, 3, 2, 1)) * 2.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x21, (2, 3), (3, 0, 1, 2)) * 2.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x21, (2, 3), (3, 0, 2, 1)) * -2.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x21, (2, 3), (0, 3, 1, 2)) * -2.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x21, (2, 3), (3, 0, 2, 1)) * -2.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x21, (2, 3), (0, 3, 1, 2)) * -2.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x21, (2, 3), (3, 0, 2, 1)) * -2.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x21, (2, 3), (0, 3, 1, 2)) * -2.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x21, (2, 3), (0, 3, 2, 1)) * 2.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x21, (2, 3), (3, 0, 1, 2)) * 2.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x21, (2, 3), (3, 0, 2, 1)) * -2.0 - x22 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x22 += einsum(l2, (0, 1, 2, 3), t2, (4, 5, 0, 1), (2, 3, 4, 5)) - rdm2_f_oooo += einsum(x22, (0, 1, 2, 3), (3, 2, 1, 0)) - rdm2_f_oooo += einsum(x22, (0, 1, 2, 3), (3, 2, 1, 0)) - x23 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x23 += einsum(t1, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2)) - rdm2_f_ovoo += einsum(x23, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 - rdm2_f_ovoo += einsum(x23, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 - rdm2_f_vooo += einsum(x23, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - rdm2_f_vooo += einsum(x23, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - x24 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x24 += einsum(t1, (0, 1), x23, (2, 3, 4, 1), (2, 3, 0, 4)) - rdm2_f_oooo += einsum(x24, (0, 1, 2, 3), (3, 2, 1, 0)) - rdm2_f_oooo += einsum(x24, (0, 1, 2, 3), (3, 2, 1, 0)) - x25 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x25 += einsum(x22, (0, 1, 2, 3), (1, 0, 3, 2)) - x25 += einsum(x24, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oooo += einsum(x25, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - rdm2_f_oooo += einsum(x25, (0, 1, 2, 3), (2, 3, 0, 1)) - rdm2_f_oooo += einsum(x25, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - rdm2_f_oooo += einsum(x25, (0, 1, 2, 3), (2, 3, 0, 1)) - x26 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x26 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -0.3333333333333333 - x26 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 0.3333333333333333 - x26 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) - x27 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x27 += einsum(l3, (0, 1, 2, 3, 4, 5), x26, (4, 6, 7, 1, 0, 2), (5, 3, 6, 7)) * 0.50000000000001 - del x26 - rdm2_f_oooo += einsum(x27, (0, 1, 2, 3), (3, 2, 1, 0)) - rdm2_f_oooo += einsum(x27, (0, 1, 2, 3), (3, 2, 1, 0)) - del x27 - x28 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x28 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 7, 5, 0, 1, 2), (3, 4, 6, 7)) - x29 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x29 += einsum(t2, (0, 1, 2, 3), l3, (4, 2, 3, 5, 6, 1), (5, 6, 0, 4)) - rdm2_f_ovoo += einsum(x29, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 - rdm2_f_ovoo += einsum(x29, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 - rdm2_f_vooo += einsum(x29, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - rdm2_f_vooo += einsum(x29, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - x30 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x30 += einsum(t1, (0, 1), x29, (2, 3, 4, 1), (2, 3, 0, 4)) - x31 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x31 += einsum(x28, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.50000000000001 - x31 += einsum(x30, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oooo += einsum(x31, (0, 1, 2, 3), (2, 3, 0, 1)) - rdm2_f_oooo += einsum(x31, (0, 1, 2, 3), (3, 2, 1, 0)) - rdm2_f_oooo += einsum(x31, (0, 1, 2, 3), (2, 3, 0, 1)) - rdm2_f_oooo += einsum(x31, (0, 1, 2, 3), (3, 2, 1, 0)) - x32 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x32 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x32 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - x33 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x33 += einsum(x32, (0, 1, 2, 3), l3, (2, 4, 3, 5, 6, 0), (5, 6, 1, 4)) - x34 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x34 += einsum(t1, (0, 1), x33, (2, 3, 4, 1), (0, 2, 3, 4)) * -0.5 - rdm2_f_oooo += einsum(x34, (0, 1, 2, 3), (3, 0, 1, 2)) - rdm2_f_oooo += einsum(x34, (0, 1, 2, 3), (0, 3, 2, 1)) - rdm2_f_oooo += einsum(x34, (0, 1, 2, 3), (3, 0, 1, 2)) - rdm2_f_oooo += einsum(x34, (0, 1, 2, 3), (0, 3, 2, 1)) - x35 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x35 += einsum(t1, (0, 1), l3, (2, 1, 3, 4, 5, 6), (4, 6, 5, 0, 2, 3)) - x36 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x36 += einsum(t1, (0, 1), x35, (2, 3, 4, 5, 6, 1), (2, 3, 4, 0, 5, 6)) - x37 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x37 += einsum(t2, (0, 1, 2, 3), x36, (0, 4, 1, 5, 6, 2), (4, 5, 6, 3)) - rdm2_f_ooov = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - rdm2_f_ooov += einsum(x37, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_ooov += einsum(x37, (0, 1, 2, 3), (1, 2, 0, 3)) - rdm2_f_ooov += einsum(x37, (0, 1, 2, 3), (1, 2, 0, 3)) - rdm2_f_ooov += einsum(x37, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_oovo = np.zeros((nocc, nocc, nvir, nocc), dtype=types[float]) - rdm2_f_oovo += einsum(x37, (0, 1, 2, 3), (2, 1, 3, 0)) - rdm2_f_oovo += einsum(x37, (0, 1, 2, 3), (2, 1, 3, 0)) - rdm2_f_oovo += einsum(x37, (0, 1, 2, 3), (2, 1, 3, 0)) - rdm2_f_oovo += einsum(x37, (0, 1, 2, 3), (2, 1, 3, 0)) - x38 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x38 += einsum(l1, (0, 1), t2, (2, 3, 4, 0), (1, 2, 3, 4)) - rdm2_f_ooov += einsum(x38, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_ooov += einsum(x38, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_oovo += einsum(x38, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - rdm2_f_oovo += einsum(x38, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - x39 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x39 += einsum(l2, (0, 1, 2, 3), t3, (4, 3, 5, 0, 6, 1), (2, 4, 5, 6)) - x40 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x40 += einsum(t3, (0, 1, 2, 3, 4, 5), x35, (0, 2, 6, 7, 3, 5), (6, 7, 1, 4)) - x41 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x41 += einsum(t2, (0, 1, 2, 3), x29, (1, 4, 5, 2), (4, 0, 5, 3)) - x42 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x42 += einsum(t1, (0, 1), l3, (2, 3, 1, 4, 5, 6), (4, 6, 5, 0, 2, 3)) - x43 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x43 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -1.0 - x43 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - x43 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - x43 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 5.0 - x43 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) - x43 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 - x44 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x44 += einsum(x42, (0, 1, 2, 3, 4, 5), x43, (2, 6, 0, 4, 7, 5), (1, 3, 6, 7)) * 0.25 - del x43 - x45 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x45 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - x45 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - x45 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) - x46 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x46 += einsum(x42, (0, 1, 2, 3, 4, 5), x45, (0, 6, 1, 5, 7, 4), (2, 3, 6, 7)) * 0.25 - x47 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x47 += einsum(t2, (0, 1, 2, 3), l3, (4, 5, 3, 1, 0, 6), (6, 4, 5, 2)) - x48 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x48 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) - x48 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 0, 2)) - x48 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 0, 2)) * 0.5 - x48 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 0, 2)) * -0.5 - x49 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x49 += einsum(t2, (0, 1, 2, 3), x48, (1, 4, 0, 5, 6, 2), (4, 3, 5, 6)) - del x48 - x50 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x50 += einsum(x47, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x50 += einsum(x49, (0, 1, 2, 3), (0, 3, 2, 1)) - del x49 - x51 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x51 += einsum(t2, (0, 1, 2, 3), x50, (4, 3, 2, 5), (0, 1, 4, 5)) * 0.5 - del x50 - x52 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x52 += einsum(t2, (0, 1, 2, 3), l3, (4, 3, 2, 5, 1, 6), (5, 6, 0, 4)) - x53 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x53 += einsum(t2, (0, 1, 2, 3), l3, (4, 3, 2, 5, 6, 1), (5, 6, 0, 4)) - x54 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x54 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * -1.0 - x54 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) - x55 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x55 += einsum(t2, (0, 1, 2, 3), x54, (1, 4, 5, 3, 6, 2), (0, 4, 5, 6)) - del x54 - x56 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x56 += einsum(x52, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0 - del x52 - x56 += einsum(x53, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x56 += einsum(x53, (0, 1, 2, 3), (1, 0, 2, 3)) - x56 += einsum(x55, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - del x55 - x57 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x57 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) - x57 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x57 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - x58 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x58 += einsum(x56, (0, 1, 2, 3), x57, (1, 4, 5, 3), (0, 2, 4, 5)) * 0.5 - del x57 - x59 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x59 += einsum(x6, (0, 1, 2, 3), l3, (2, 4, 3, 5, 6, 0), (5, 6, 1, 4)) - x60 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x60 += einsum(x29, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0 - x60 += einsum(x59, (0, 1, 2, 3), (1, 0, 2, 3)) - x61 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x61 += einsum(t2, (0, 1, 2, 3), x60, (1, 4, 5, 3), (0, 4, 5, 2)) * 0.5 - del x60 - x62 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x62 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x62 += einsum(x23, (0, 1, 2, 3), (1, 0, 2, 3)) - x63 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x63 += einsum(t2, (0, 1, 2, 3), x62, (1, 4, 5, 2), (0, 4, 5, 3)) - del x62 - x64 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x64 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) - x64 += einsum(x23, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.5 - x65 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x65 += einsum(t2, (0, 1, 2, 3), x64, (1, 4, 5, 3), (0, 4, 5, 2)) * 2.0 - del x64 - x66 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x66 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) - x66 += einsum(x29, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.5 - x67 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x67 += einsum(t1, (0, 1), x66, (2, 3, 4, 1), (0, 2, 3, 4)) - del x66 - x68 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x68 += einsum(x22, (0, 1, 2, 3), (1, 0, 3, 2)) - x68 += einsum(x67, (0, 1, 2, 3), (2, 1, 3, 0)) - del x67 - x69 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x69 += einsum(t1, (0, 1), x68, (0, 2, 3, 4), (2, 3, 4, 1)) - del x68 - x70 = np.zeros((nocc, nocc), dtype=types[float]) - x70 += einsum(l3, (0, 1, 2, 3, 4, 5), x13, (3, 6, 4, 1, 2, 0), (5, 6)) * 0.08333333333333 - del x13 - x71 = np.zeros((nocc, nocc), dtype=types[float]) - x71 += einsum(l3, (0, 1, 2, 3, 4, 5), x15, (5, 6, 3, 0, 2, 1), (4, 6)) * 0.08333333333333 - del x15 - x72 = np.zeros((nocc, nocc), dtype=types[float]) - x72 += einsum(t3, (0, 1, 2, 3, 4, 5), x17, (1, 2, 6, 5, 4, 3), (0, 6)) * 0.08333333333333 - del x17 - x73 = np.zeros((nocc, nocc), dtype=types[float]) - x73 += einsum(l2, (0, 1, 2, 3), x19, (3, 4, 0, 1), (2, 4)) * 2.0 - x74 = np.zeros((nocc, nocc), dtype=types[float]) - x74 += einsum(x1, (0, 1), (0, 1)) - x74 += einsum(x12, (0, 1), (0, 1)) * 0.08333333333333 - x74 += einsum(x70, (0, 1), (0, 1)) - x74 += einsum(x71, (0, 1), (0, 1)) - x74 += einsum(x72, (0, 1), (1, 0)) * -1.0 - x74 += einsum(x73, (0, 1), (0, 1)) - rdm2_f_ooov += einsum(t1, (0, 1), x74, (2, 3), (3, 0, 2, 1)) * -1.0 - rdm2_f_ooov += einsum(t1, (0, 1), x74, (2, 3), (3, 0, 2, 1)) * -1.0 - rdm2_f_oovo += einsum(t1, (0, 1), x74, (2, 3), (0, 3, 1, 2)) * -1.0 - rdm2_f_oovo += einsum(t1, (0, 1), x74, (2, 3), (0, 3, 1, 2)) * -1.0 - x75 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x75 += einsum(delta.oo, (0, 1), t1, (2, 3), (0, 1, 2, 3)) - x75 += einsum(x38, (0, 1, 2, 3), (1, 0, 2, 3)) - x75 += einsum(x39, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.5 - x75 += einsum(x40, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.25 - x75 += einsum(x41, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.5 - x75 += einsum(x44, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x75 += einsum(x46, (0, 1, 2, 3), (1, 0, 2, 3)) - x75 += einsum(x51, (0, 1, 2, 3), (1, 2, 0, 3)) - x75 += einsum(x58, (0, 1, 2, 3), (2, 0, 1, 3)) - del x58 - x75 += einsum(x61, (0, 1, 2, 3), (0, 1, 2, 3)) - x75 += einsum(x63, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - del x63 - x75 += einsum(x65, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - del x65 - x75 += einsum(x69, (0, 1, 2, 3), (2, 0, 1, 3)) - del x69 - x75 += einsum(t1, (0, 1), x74, (2, 3), (0, 2, 3, 1)) - rdm2_f_ooov += einsum(x75, (0, 1, 2, 3), (0, 2, 1, 3)) - rdm2_f_ooov += einsum(x75, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_ooov += einsum(x75, (0, 1, 2, 3), (0, 2, 1, 3)) - rdm2_f_ooov += einsum(x75, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_oovo += einsum(x75, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_oovo += einsum(x75, (0, 1, 2, 3), (2, 0, 3, 1)) - rdm2_f_oovo += einsum(x75, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_oovo += einsum(x75, (0, 1, 2, 3), (2, 0, 3, 1)) - del x75 - x76 = np.zeros((nocc, nvir), dtype=types[float]) - x76 += einsum(t3, (0, 1, 2, 3, 4, 5), x35, (2, 0, 1, 6, 5, 3), (6, 4)) - x77 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x77 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - x77 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 - x77 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 6.999999999999999 - x77 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 - x77 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) - x77 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -1.0 - x78 = np.zeros((nocc, nvir), dtype=types[float]) - x78 += einsum(x42, (0, 1, 2, 3, 4, 5), x77, (0, 1, 2, 5, 4, 6), (3, 6)) * 0.08333333333333 - x79 = np.zeros((nocc, nvir), dtype=types[float]) - x79 += einsum(x42, (0, 1, 2, 3, 4, 5), x45, (2, 0, 1, 6, 5, 4), (3, 6)) * 0.08333333333333 - x80 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x80 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) - x80 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - x80 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) - x80 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * 6.0 - x81 = np.zeros((nocc, nvir), dtype=types[float]) - x81 += einsum(l2, (0, 1, 2, 3), x80, (2, 3, 4, 1, 0, 5), (4, 5)) * 0.25 - x82 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x82 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 0.5 - x82 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - x83 = np.zeros((nocc, nvir), dtype=types[float]) - x83 += einsum(l2, (0, 1, 2, 3), x82, (3, 4, 2, 0, 5, 1), (4, 5)) * 0.5 - x84 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x84 += einsum(x9, (0, 1, 2, 3), l3, (4, 2, 3, 5, 0, 6), (6, 5, 1, 4)) * 0.375 - x85 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x85 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) - x85 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 1, 2)) * -1.0 - x86 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x86 += einsum(x6, (0, 1, 2, 3), x85, (0, 4, 5, 3, 2, 6), (1, 4, 5, 6)) * 0.25 - del x85 - x87 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x87 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x87 += einsum(x23, (0, 1, 2, 3), (1, 0, 2, 3)) - x87 += einsum(x84, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x87 += einsum(x84, (0, 1, 2, 3), (0, 1, 2, 3)) - del x84 - x87 += einsum(x86, (0, 1, 2, 3), (1, 2, 0, 3)) - x88 = np.zeros((nocc, nvir), dtype=types[float]) - x88 += einsum(t2, (0, 1, 2, 3), x87, (0, 1, 4, 3), (4, 2)) * 2.0 - x89 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x89 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) - x89 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.3333333333333333 - x90 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x90 += einsum(x89, (0, 1, 2, 3), l3, (4, 2, 3, 5, 6, 0), (5, 6, 1, 4)) * 3.0 - x91 = np.zeros((nocc, nvir), dtype=types[float]) - x91 += einsum(t2, (0, 1, 2, 3), x90, (0, 1, 4, 2), (4, 3)) * 0.5 - x92 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x92 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - x92 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x93 = np.zeros((nocc, nvir), dtype=types[float]) - x93 += einsum(l1, (0, 1), x92, (1, 2, 3, 0), (2, 3)) - x94 = np.zeros((nocc, nvir), dtype=types[float]) - x94 += einsum(t1, (0, 1), x74, (0, 2), (2, 1)) - x95 = np.zeros((nocc, nvir), dtype=types[float]) - x95 += einsum(x76, (0, 1), (0, 1)) * 0.24999999999999 - x95 += einsum(x78, (0, 1), (0, 1)) - x95 += einsum(x79, (0, 1), (0, 1)) * -1.0 - x95 += einsum(x81, (0, 1), (0, 1)) * -1.0 - x95 += einsum(x83, (0, 1), (0, 1)) - x95 += einsum(x88, (0, 1), (0, 1)) - x95 += einsum(x91, (0, 1), (0, 1)) - x95 += einsum(x93, (0, 1), (0, 1)) * -1.0 - x95 += einsum(x94, (0, 1), (0, 1)) - rdm2_f_ooov += einsum(delta.oo, (0, 1), x95, (2, 3), (0, 2, 1, 3)) * -1.0 - rdm2_f_ooov += einsum(delta.oo, (0, 1), x95, (2, 3), (2, 0, 1, 3)) - rdm2_f_ooov += einsum(delta.oo, (0, 1), x95, (2, 3), (0, 2, 1, 3)) * -1.0 - rdm2_f_ooov += einsum(delta.oo, (0, 1), x95, (2, 3), (2, 0, 1, 3)) - rdm2_f_oovo += einsum(delta.oo, (0, 1), x95, (2, 3), (0, 2, 3, 1)) - rdm2_f_oovo += einsum(delta.oo, (0, 1), x95, (2, 3), (2, 0, 3, 1)) * -1.0 - rdm2_f_oovo += einsum(delta.oo, (0, 1), x95, (2, 3), (0, 2, 3, 1)) - rdm2_f_oovo += einsum(delta.oo, (0, 1), x95, (2, 3), (2, 0, 3, 1)) * -1.0 - del x95 - x96 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x96 += einsum(l2, (0, 1, 2, 3), (3, 2, 0, 1)) * -0.5 - x96 += einsum(l2, (0, 1, 2, 3), (2, 3, 0, 1)) - x97 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x97 += einsum(x96, (0, 1, 2, 3), t3, (4, 0, 5, 3, 2, 6), (4, 5, 1, 6)) * 2.0 - rdm2_f_ooov += einsum(x97, (0, 1, 2, 3), (1, 0, 2, 3)) - rdm2_f_ooov += einsum(x97, (0, 1, 2, 3), (1, 0, 2, 3)) - rdm2_f_oovo += einsum(x97, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - rdm2_f_oovo += einsum(x97, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x97 - x98 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x98 += einsum(t1, (0, 1), x42, (2, 3, 4, 5, 1, 6), (3, 2, 4, 5, 0, 6)) - x99 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x99 += einsum(x98, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 2.0 - x99 += einsum(x36, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 2.0 - x99 += einsum(x36, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 - x99 += einsum(x36, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) - x100 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x100 += einsum(t2, (0, 1, 2, 3), x99, (1, 4, 0, 5, 6, 2), (4, 5, 6, 3)) * 0.5 - del x99 - rdm2_f_ooov += einsum(x100, (0, 1, 2, 3), (2, 1, 0, 3)) - rdm2_f_ooov += einsum(x100, (0, 1, 2, 3), (2, 1, 0, 3)) - rdm2_f_oovo += einsum(x100, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - rdm2_f_oovo += einsum(x100, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - del x100 - x101 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x101 += einsum(l3, (0, 1, 2, 3, 4, 5), x3, (5, 6, 7, 1, 0, 2), (3, 4, 6, 7)) - x102 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x102 += einsum(x2, (0, 1, 2, 3), (0, 1, 2, 3)) - del x2 - x102 += einsum(x101, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x101 - x103 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x103 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -0.3333333333333333 - x103 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) - x104 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x104 += einsum(l3, (0, 1, 2, 3, 4, 5), x103, (4, 6, 7, 0, 1, 2), (3, 5, 6, 7)) * 3.0 - del x103 - x105 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x105 += einsum(l3, (0, 1, 2, 3, 4, 5), x3, (4, 6, 7, 1, 0, 2), (5, 3, 6, 7)) - x106 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x106 += einsum(x102, (0, 1, 2, 3), (0, 1, 2, 3)) - x106 += einsum(x102, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x106 += einsum(x104, (0, 1, 2, 3), (1, 0, 2, 3)) - x106 += einsum(x105, (0, 1, 2, 3), (1, 0, 2, 3)) - del x105 - x107 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x107 += einsum(t1, (0, 1), x106, (2, 0, 3, 4), (2, 3, 4, 1)) * 0.16666666666667 - del x106 - rdm2_f_ooov += einsum(x107, (0, 1, 2, 3), (2, 1, 0, 3)) - rdm2_f_ooov += einsum(x107, (0, 1, 2, 3), (2, 1, 0, 3)) - rdm2_f_oovo += einsum(x107, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - rdm2_f_oovo += einsum(x107, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - del x107 - x108 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x108 += einsum(l2, (0, 1, 2, 3), t3, (4, 5, 3, 6, 0, 1), (2, 4, 5, 6)) - rdm2_f_ooov += einsum(x108, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_ooov += einsum(x108, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_oovo += einsum(x108, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - rdm2_f_oovo += einsum(x108, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - x109 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x109 += einsum(t3, (0, 1, 2, 3, 4, 5), x42, (0, 2, 6, 7, 3, 4), (6, 7, 1, 5)) - rdm2_f_ooov += einsum(x109, (0, 1, 2, 3), (2, 1, 0, 3)) * 0.5 - rdm2_f_ooov += einsum(x109, (0, 1, 2, 3), (2, 1, 0, 3)) * 0.5 - rdm2_f_oovo += einsum(x109, (0, 1, 2, 3), (1, 2, 3, 0)) * 0.5 - rdm2_f_oovo += einsum(x109, (0, 1, 2, 3), (1, 2, 3, 0)) * 0.5 - x110 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x110 += einsum(t3, (0, 1, 2, 3, 4, 5), x35, (2, 6, 1, 7, 5, 3), (6, 7, 0, 4)) - rdm2_f_ooov += einsum(x110, (0, 1, 2, 3), (2, 1, 0, 3)) * 0.5 - rdm2_f_ooov += einsum(x110, (0, 1, 2, 3), (2, 1, 0, 3)) * 0.5 - rdm2_f_oovo += einsum(x110, (0, 1, 2, 3), (1, 2, 3, 0)) * 0.5 - rdm2_f_oovo += einsum(x110, (0, 1, 2, 3), (1, 2, 3, 0)) * 0.5 - x111 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x111 += einsum(t3, (0, 1, 2, 3, 4, 5), x42, (0, 2, 6, 7, 5, 3), (6, 7, 1, 4)) - rdm2_f_ooov += einsum(x111, (0, 1, 2, 3), (1, 2, 0, 3)) * -0.25 - rdm2_f_ooov += einsum(x111, (0, 1, 2, 3), (1, 2, 0, 3)) * -0.25 - rdm2_f_oovo += einsum(x111, (0, 1, 2, 3), (2, 1, 3, 0)) * -0.25 - rdm2_f_oovo += einsum(x111, (0, 1, 2, 3), (2, 1, 3, 0)) * -0.25 - x112 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x112 += einsum(t3, (0, 1, 2, 3, 4, 5), x35, (2, 1, 6, 7, 5, 4), (6, 7, 0, 3)) - rdm2_f_ooov += einsum(x112, (0, 1, 2, 3), (1, 2, 0, 3)) * -0.25 - rdm2_f_ooov += einsum(x112, (0, 1, 2, 3), (1, 2, 0, 3)) * -0.25 - del x112 - x113 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x113 += einsum(t2, (0, 1, 2, 3), x47, (4, 2, 3, 5), (4, 0, 1, 5)) - rdm2_f_ooov += einsum(x113, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_ooov += einsum(x113, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_oovo += einsum(x113, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - rdm2_f_oovo += einsum(x113, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - x114 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x114 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) - x114 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - x114 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 4.0 - x115 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x115 += einsum(x114, (0, 1, 2, 3, 4, 5), x42, (1, 6, 0, 7, 3, 4), (6, 7, 2, 5)) * 0.25 - del x114 - rdm2_f_ooov += einsum(x115, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_ooov += einsum(x115, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - del x115 - x116 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x116 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) - x116 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - x117 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x117 += einsum(x116, (0, 1, 2, 3, 4, 5), x35, (2, 0, 6, 7, 3, 5), (6, 7, 1, 4)) * 0.25 - del x116 - rdm2_f_ooov += einsum(x117, (0, 1, 2, 3), (1, 2, 0, 3)) - rdm2_f_ooov += einsum(x117, (0, 1, 2, 3), (1, 2, 0, 3)) - del x117 - x118 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x118 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) - x118 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - x119 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x119 += einsum(l2, (0, 1, 2, 3), x118, (3, 4, 5, 0, 1, 6), (2, 4, 5, 6)) * 0.5 - del x118 - rdm2_f_ooov += einsum(x119, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_ooov += einsum(x119, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - del x119 - x120 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x120 += einsum(x36, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - x120 += einsum(x36, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) - x121 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x121 += einsum(t2, (0, 1, 2, 3), x120, (1, 0, 4, 5, 6, 2), (4, 5, 6, 3)) * 0.5 - rdm2_f_ooov += einsum(x121, (0, 1, 2, 3), (2, 1, 0, 3)) - rdm2_f_ooov += einsum(x121, (0, 1, 2, 3), (2, 1, 0, 3)) - del x121 - x122 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x122 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x122 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0 - x123 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x123 += einsum(x122, (0, 1, 2, 3), l3, (4, 2, 3, 5, 0, 6), (6, 5, 1, 4)) * 0.5 - rdm2_f_vooo += einsum(x123, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 - rdm2_f_vooo += einsum(x123, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 - x124 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x124 += einsum(x32, (0, 1, 2, 3), l3, (2, 4, 3, 5, 6, 0), (5, 6, 1, 4)) * 0.5 - x125 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x125 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x125 += einsum(x23, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 - x125 += einsum(x53, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - x125 += einsum(x53, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.5 - x125 += einsum(x29, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x125 += einsum(x29, (0, 1, 2, 3), (1, 0, 2, 3)) * 1.5 - x125 += einsum(x123, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x125 += einsum(x124, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x126 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x126 += einsum(t2, (0, 1, 2, 3), x125, (4, 1, 5, 3), (0, 4, 5, 2)) - del x125 - rdm2_f_ooov += einsum(x126, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_ooov += einsum(x126, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_oovo += einsum(x126, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_oovo += einsum(x126, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - del x126 - x127 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x127 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 3, 4, 0, 2, 1)) * -1.0 - x127 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) - x128 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x128 += einsum(t2, (0, 1, 2, 3), x127, (0, 1, 4, 5, 2, 6), (4, 3, 5, 6)) - x129 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x129 += einsum(t2, (0, 1, 2, 3), x128, (4, 5, 2, 3), (0, 1, 4, 5)) * -0.5 - rdm2_f_ooov += einsum(x129, (0, 1, 2, 3), (1, 0, 2, 3)) - rdm2_f_ooov += einsum(x129, (0, 1, 2, 3), (1, 0, 2, 3)) - del x129 - x130 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x130 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x130 += einsum(x29, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x130 += einsum(x59, (0, 1, 2, 3), (1, 0, 2, 3)) - x131 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x131 += einsum(t2, (0, 1, 2, 3), x130, (1, 4, 5, 2), (0, 4, 5, 3)) * 0.5 - rdm2_f_ooov += einsum(x131, (0, 1, 2, 3), (2, 0, 1, 3)) - rdm2_f_ooov += einsum(x131, (0, 1, 2, 3), (2, 0, 1, 3)) - del x131 - x132 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x132 += einsum(t2, (0, 1, 2, 3), l3, (2, 4, 3, 1, 5, 6), (6, 5, 0, 4)) - x133 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x133 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) - x133 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 0, 2)) * -0.5 - x134 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x134 += einsum(t2, (0, 1, 2, 3), x133, (1, 4, 5, 6, 3, 2), (0, 4, 5, 6)) - x135 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x135 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x135 += einsum(x132, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.5 - x135 += einsum(x134, (0, 1, 2, 3), (1, 2, 0, 3)) - del x134 - x136 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x136 += einsum(t2, (0, 1, 2, 3), x135, (4, 1, 5, 2), (0, 4, 5, 3)) - del x135 - rdm2_f_ooov += einsum(x136, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - rdm2_f_ooov += einsum(x136, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - rdm2_f_oovo += einsum(x136, (0, 1, 2, 3), (2, 0, 3, 1)) * -1.0 - rdm2_f_oovo += einsum(x136, (0, 1, 2, 3), (2, 0, 3, 1)) * -1.0 - del x136 - x137 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x137 += einsum(x22, (0, 1, 2, 3), (1, 0, 3, 2)) - x137 += einsum(x24, (0, 1, 2, 3), (0, 1, 2, 3)) - x137 += einsum(x31, (0, 1, 2, 3), (0, 1, 2, 3)) - x137 += einsum(x31, (0, 1, 2, 3), (1, 0, 3, 2)) - del x31 - x137 += einsum(x34, (0, 1, 2, 3), (1, 2, 3, 0)) - x137 += einsum(x34, (0, 1, 2, 3), (2, 1, 0, 3)) - del x34 - x138 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x138 += einsum(t1, (0, 1), x137, (0, 2, 3, 4), (2, 3, 4, 1)) - del x137 - rdm2_f_ooov += einsum(x138, (0, 1, 2, 3), (2, 1, 0, 3)) - rdm2_f_ooov += einsum(x138, (0, 1, 2, 3), (2, 1, 0, 3)) - rdm2_f_oovo += einsum(x138, (0, 1, 2, 3), (1, 2, 3, 0)) - rdm2_f_oovo += einsum(x138, (0, 1, 2, 3), (1, 2, 3, 0)) - del x138 - x139 = np.zeros((nocc, nvir), dtype=types[float]) - x139 += einsum(t1, (0, 1), (0, 1)) * -1.0 - x139 += einsum(x76, (0, 1), (0, 1)) * 0.24999999999999 - x139 += einsum(x78, (0, 1), (0, 1)) - del x78 - x139 += einsum(x79, (0, 1), (0, 1)) * -1.0 - del x79 - x139 += einsum(x81, (0, 1), (0, 1)) * -1.0 - del x81 - x139 += einsum(x83, (0, 1), (0, 1)) - del x83 - x139 += einsum(x88, (0, 1), (0, 1)) - del x88 - x139 += einsum(x91, (0, 1), (0, 1)) - del x91 - x139 += einsum(x93, (0, 1), (0, 1)) * -1.0 - del x93 - x139 += einsum(x94, (0, 1), (0, 1)) - del x94 - rdm2_f_ooov += einsum(delta.oo, (0, 1), x139, (2, 3), (0, 2, 1, 3)) * -1.0 - rdm2_f_ooov += einsum(delta.oo, (0, 1), x139, (2, 3), (0, 2, 1, 3)) * -1.0 - del x139 - x140 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x140 += einsum(t3, (0, 1, 2, 3, 4, 5), x35, (2, 1, 6, 7, 5, 3), (6, 7, 0, 4)) - rdm2_f_oovo += einsum(x140, (0, 1, 2, 3), (2, 1, 3, 0)) * 0.25 - rdm2_f_oovo += einsum(x140, (0, 1, 2, 3), (2, 1, 3, 0)) * 0.25 - x141 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x141 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -1.0 - x141 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - x141 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 4.0 - x142 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x142 += einsum(x141, (0, 1, 2, 3, 4, 5), x42, (1, 6, 0, 7, 4, 3), (6, 7, 2, 5)) * 0.25 - del x141 - rdm2_f_oovo += einsum(x142, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - rdm2_f_oovo += einsum(x142, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - del x142 - x143 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x143 += einsum(x35, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - x143 += einsum(x35, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 - x144 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x144 += einsum(t3, (0, 1, 2, 3, 4, 5), x143, (1, 2, 6, 7, 4, 5), (0, 6, 7, 3)) * 0.25 - rdm2_f_oovo += einsum(x144, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_oovo += einsum(x144, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - del x144 - x145 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x145 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -1.0 - x145 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - x146 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x146 += einsum(l2, (0, 1, 2, 3), x145, (2, 4, 5, 0, 1, 6), (3, 4, 5, 6)) * 0.5 - rdm2_f_oovo += einsum(x146, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - rdm2_f_oovo += einsum(x146, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - del x146 - x147 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x147 += einsum(x36, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - x147 += einsum(x36, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * -1.0 - x148 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x148 += einsum(t2, (0, 1, 2, 3), x147, (1, 0, 4, 5, 6, 2), (4, 5, 6, 3)) * 0.5 - del x147 - rdm2_f_oovo += einsum(x148, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - rdm2_f_oovo += einsum(x148, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - del x148 - x149 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x149 += einsum(t2, (0, 1, 2, 3), x128, (4, 5, 3, 2), (0, 1, 4, 5)) * -0.5 - rdm2_f_oovo += einsum(x149, (0, 1, 2, 3), (1, 0, 3, 2)) - rdm2_f_oovo += einsum(x149, (0, 1, 2, 3), (1, 0, 3, 2)) - x150 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x150 += einsum(x6, (0, 1, 2, 3), l3, (2, 4, 3, 5, 6, 0), (5, 6, 1, 4)) * 0.5 - rdm2_f_ovoo += einsum(x150, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 - rdm2_f_ovoo += einsum(x150, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 - rdm2_f_vooo += einsum(x150, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 - rdm2_f_vooo += einsum(x150, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 - x151 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x151 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) - x151 += einsum(x29, (0, 1, 2, 3), (0, 1, 2, 3)) - x151 += einsum(x150, (0, 1, 2, 3), (1, 0, 2, 3)) - del x150 - x152 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x152 += einsum(t2, (0, 1, 2, 3), x151, (1, 4, 5, 2), (0, 4, 5, 3)) - rdm2_f_oovo += einsum(x152, (0, 1, 2, 3), (0, 2, 3, 1)) - rdm2_f_oovo += einsum(x152, (0, 1, 2, 3), (0, 2, 3, 1)) - del x152 - x153 = np.zeros((nocc, nvir), dtype=types[float]) - x153 += einsum(x42, (0, 1, 2, 3, 4, 5), x77, (0, 1, 2, 5, 4, 6), (3, 6)) - x154 = np.zeros((nocc, nvir), dtype=types[float]) - x154 += einsum(x42, (0, 1, 2, 3, 4, 5), x45, (2, 0, 1, 6, 5, 4), (3, 6)) - x155 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x155 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) - x155 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - x155 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) - x155 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * 6.000000000000001 - x156 = np.zeros((nocc, nvir), dtype=types[float]) - x156 += einsum(l2, (0, 1, 2, 3), x155, (2, 3, 4, 1, 0, 5), (4, 5)) * 3.00000000000012 - del x155 - x157 = np.zeros((nocc, nvir), dtype=types[float]) - x157 += einsum(l2, (0, 1, 2, 3), x82, (3, 4, 2, 0, 5, 1), (4, 5)) * 6.00000000000024 - x158 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x158 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.33333333333333326 - x158 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - x159 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x159 += einsum(x158, (0, 1, 2, 3), l3, (4, 2, 3, 5, 0, 6), (6, 5, 1, 4)) * 0.37500000000000006 - del x158 - x160 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x160 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x160 += einsum(x23, (0, 1, 2, 3), (1, 0, 2, 3)) - x160 += einsum(x159, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x160 += einsum(x159, (0, 1, 2, 3), (0, 1, 2, 3)) - del x159 - x160 += einsum(x86, (0, 1, 2, 3), (1, 2, 0, 3)) - del x86 - x161 = np.zeros((nocc, nvir), dtype=types[float]) - x161 += einsum(t2, (0, 1, 2, 3), x160, (1, 0, 4, 2), (4, 3)) * 24.00000000000096 - del x160 - x162 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x162 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) - x162 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.33333333333333326 - x163 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x163 += einsum(x162, (0, 1, 2, 3), l3, (4, 2, 3, 5, 6, 0), (5, 6, 1, 4)) * 3.0000000000000004 - del x162 - x164 = np.zeros((nocc, nvir), dtype=types[float]) - x164 += einsum(t2, (0, 1, 2, 3), x163, (0, 1, 4, 2), (4, 3)) * 6.00000000000024 - del x163 - x165 = np.zeros((nocc, nvir), dtype=types[float]) - x165 += einsum(l1, (0, 1), x92, (1, 2, 3, 0), (2, 3)) * 12.00000000000048 - x166 = np.zeros((nocc, nvir), dtype=types[float]) - x166 += einsum(t1, (0, 1), x74, (0, 2), (2, 1)) * 12.00000000000048 - x167 = np.zeros((nocc, nvir), dtype=types[float]) - x167 += einsum(t1, (0, 1), (0, 1)) * -12.00000000000048 - x167 += einsum(x76, (0, 1), (0, 1)) * 3.0 - x167 += einsum(x153, (0, 1), (0, 1)) - del x153 - x167 += einsum(x154, (0, 1), (0, 1)) * -1.0 - del x154 - x167 += einsum(x156, (0, 1), (0, 1)) * -1.0 - del x156 - x167 += einsum(x157, (0, 1), (0, 1)) - del x157 - x167 += einsum(x161, (0, 1), (0, 1)) - del x161 - x167 += einsum(x164, (0, 1), (0, 1)) - del x164 - x167 += einsum(x165, (0, 1), (0, 1)) * -1.0 - del x165 - x167 += einsum(x166, (0, 1), (0, 1)) - del x166 - rdm2_f_oovo += einsum(delta.oo, (0, 1), x167, (2, 3), (2, 0, 3, 1)) * -0.08333333333333 - rdm2_f_oovo += einsum(delta.oo, (0, 1), x167, (2, 3), (2, 0, 3, 1)) * -0.08333333333333 - del x167 - x168 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x168 += einsum(x32, (0, 1, 2, 3), l3, (4, 2, 3, 5, 6, 0), (5, 6, 1, 4)) * 0.5 - x169 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x169 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) - x169 += einsum(x168, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - rdm2_f_ovoo += einsum(x169, (0, 1, 2, 3), (2, 3, 0, 1)) - rdm2_f_ovoo += einsum(x169, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 - rdm2_f_ovoo += einsum(x169, (0, 1, 2, 3), (2, 3, 0, 1)) - rdm2_f_ovoo += einsum(x169, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 - rdm2_f_vooo += einsum(x169, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - rdm2_f_vooo += einsum(x169, (0, 1, 2, 3), (3, 2, 1, 0)) - rdm2_f_vooo += einsum(x169, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - rdm2_f_vooo += einsum(x169, (0, 1, 2, 3), (3, 2, 1, 0)) - del x169 - x170 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x170 += einsum(x9, (0, 1, 2, 3), l3, (4, 2, 3, 5, 0, 6), (6, 5, 1, 4)) * 1.5 - rdm2_f_ovoo += einsum(x170, (0, 1, 2, 3), (2, 3, 1, 0)) - rdm2_f_ovoo += einsum(x170, (0, 1, 2, 3), (2, 3, 1, 0)) - del x170 - x171 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x171 += einsum(t3, (0, 1, 2, 3, 4, 5), x36, (1, 0, 2, 6, 7, 4), (6, 7, 3, 5)) - rdm2_f_oovv += einsum(x171, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.16666666666667 - rdm2_f_oovv += einsum(x171, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.16666666666667 - del x171 - x172 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x172 += einsum(t3, (0, 1, 2, 3, 4, 5), x36, (0, 1, 2, 6, 7, 4), (6, 7, 3, 5)) - rdm2_f_oovv += einsum(x172, (0, 1, 2, 3), (1, 0, 3, 2)) * -0.16666666666667 - rdm2_f_oovv += einsum(x172, (0, 1, 2, 3), (1, 0, 3, 2)) * -0.16666666666667 - del x172 - x173 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x173 += einsum(x1, (0, 1), t2, (2, 0, 3, 4), (1, 2, 3, 4)) - x174 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x174 += einsum(t2, (0, 1, 2, 3), l3, (4, 3, 2, 5, 6, 7), (5, 7, 6, 0, 1, 4)) - x175 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x175 += einsum(t3, (0, 1, 2, 3, 4, 5), x174, (0, 1, 2, 6, 7, 3), (6, 7, 5, 4)) - x176 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x176 += einsum(t2, (0, 1, 2, 3), x35, (4, 1, 0, 5, 6, 3), (4, 5, 6, 2)) - rdm2_f_ovvo += einsum(x176, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - rdm2_f_ovvo += einsum(x176, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - rdm2_f_voov += einsum(x176, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_voov += einsum(x176, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - x177 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x177 += einsum(t2, (0, 1, 2, 3), x176, (1, 4, 3, 5), (4, 0, 2, 5)) - x178 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x178 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - x178 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 - x179 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x179 += einsum(x174, (0, 1, 2, 3, 4, 5), x178, (1, 2, 0, 6, 5, 7), (3, 4, 6, 7)) * 0.08333333333333 - x180 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x180 += einsum(x122, (0, 1, 2, 3), l3, (4, 2, 3, 5, 0, 6), (5, 6, 1, 4)) * 0.5 - del x122 - x181 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x181 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x181 += einsum(x23, (0, 1, 2, 3), (1, 0, 2, 3)) - x181 += einsum(x168, (0, 1, 2, 3), (0, 1, 2, 3)) - x181 += einsum(x180, (0, 1, 2, 3), (1, 0, 2, 3)) - del x180 - x182 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x182 += einsum(x181, (0, 1, 2, 3), t3, (4, 0, 1, 5, 6, 3), (4, 2, 5, 6)) * 0.5 - del x181 - x183 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x183 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (5, 6, 3, 1, 7, 2), (4, 6, 0, 7)) - x184 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x184 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 3, 5, 7, 2, 1), (4, 6, 0, 7)) - rdm2_f_vovo += einsum(x184, (0, 1, 2, 3), (2, 1, 3, 0)) * -0.25 - rdm2_f_vovo += einsum(x184, (0, 1, 2, 3), (2, 1, 3, 0)) * -0.25 - x185 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x185 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 0.2 - x185 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - x185 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -0.2 - x185 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -0.2 - x185 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 0.2 - x185 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -0.2 - x185 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * -0.2 - x185 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) - x186 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x186 += einsum(l3, (0, 1, 2, 3, 4, 5), x185, (5, 6, 4, 2, 7, 1), (3, 6, 0, 7)) * 1.25 - del x185 - x187 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x187 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) - x187 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 0, 2)) - x188 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x188 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - x188 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) - x189 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x189 += einsum(x187, (0, 1, 2, 3, 4, 5), x188, (1, 6, 0, 5, 4, 7), (2, 6, 3, 7)) * 0.25 - del x187 - x190 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x190 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - x190 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) - x191 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x191 += einsum(l3, (0, 1, 2, 3, 4, 5), x190, (3, 5, 6, 0, 2, 7), (4, 6, 1, 7)) * 0.25 - del x190 - x192 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x192 += einsum(l2, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - x192 += einsum(l2, (0, 1, 2, 3), (2, 3, 0, 1)) * 2.0 - x193 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x193 += einsum(t2, (0, 1, 2, 3), x192, (1, 4, 2, 5), (0, 4, 3, 5)) - x194 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x194 += einsum(x183, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.25 - x194 += einsum(x184, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.25 - del x184 - x194 += einsum(x186, (0, 1, 2, 3), (0, 1, 2, 3)) - del x186 - x194 += einsum(x189, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x189 - x194 += einsum(x191, (0, 1, 2, 3), (0, 1, 2, 3)) - del x191 - x194 += einsum(x193, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x193 - x195 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x195 += einsum(t2, (0, 1, 2, 3), x194, (1, 4, 3, 5), (0, 4, 2, 5)) - del x194 - x196 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x196 += einsum(x7, (0, 1, 2, 3), t3, (4, 1, 0, 5, 6, 3), (4, 2, 5, 6)) * -0.25 - x197 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x197 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (3, 6, 5, 0, 7, 2), (4, 6, 1, 7)) - rdm2_f_ovov += einsum(x197, (0, 1, 2, 3), (1, 2, 0, 3)) * -0.25 - rdm2_f_ovov += einsum(x197, (0, 1, 2, 3), (1, 2, 0, 3)) * -0.25 - rdm2_f_ovvo += einsum(x197, (0, 1, 2, 3), (1, 2, 3, 0)) * 0.25 - rdm2_f_ovvo += einsum(x197, (0, 1, 2, 3), (1, 2, 3, 0)) * 0.25 - rdm2_f_voov += einsum(x197, (0, 1, 2, 3), (2, 1, 0, 3)) * 0.25 - rdm2_f_voov += einsum(x197, (0, 1, 2, 3), (2, 1, 0, 3)) * 0.25 - rdm2_f_vovo += einsum(x197, (0, 1, 2, 3), (2, 1, 3, 0)) * -0.25 - rdm2_f_vovo += einsum(x197, (0, 1, 2, 3), (2, 1, 3, 0)) * -0.25 - x198 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x198 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) - x198 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 5.0 - x198 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 - x198 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 - x198 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * -1.0 - x198 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) - x199 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x199 += einsum(l3, (0, 1, 2, 3, 4, 5), x198, (5, 6, 4, 2, 7, 1), (3, 6, 0, 7)) - x200 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x200 += einsum(l3, (0, 1, 2, 3, 4, 5), x45, (5, 6, 3, 1, 7, 2), (4, 6, 0, 7)) - x201 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x201 += einsum(x197, (0, 1, 2, 3), (0, 1, 2, 3)) - x201 += einsum(x199, (0, 1, 2, 3), (0, 1, 2, 3)) - del x199 - x201 += einsum(x200, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x200 - x202 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x202 += einsum(t2, (0, 1, 2, 3), x201, (1, 4, 2, 5), (0, 4, 3, 5)) * 0.25 - del x201 - x203 = np.zeros((nvir, nvir), dtype=types[float]) - x203 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (3, 4, 5, 0, 6, 2), (1, 6)) - x204 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x204 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - x204 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 - x204 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 - x204 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 - x204 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) - x204 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 6.999999999999999 - x205 = np.zeros((nvir, nvir), dtype=types[float]) - x205 += einsum(l3, (0, 1, 2, 3, 4, 5), x204, (4, 3, 5, 1, 6, 2), (0, 6)) * 0.08333333333333 - x206 = np.zeros((nvir, nvir), dtype=types[float]) - x206 += einsum(l3, (0, 1, 2, 3, 4, 5), x45, (4, 5, 3, 6, 1, 2), (0, 6)) * 0.08333333333333 - x207 = np.zeros((nvir, nvir), dtype=types[float]) - x207 += einsum(t2, (0, 1, 2, 3), x96, (0, 1, 2, 4), (3, 4)) * 2.0 - x208 = np.zeros((nvir, nvir), dtype=types[float]) - x208 += einsum(x203, (0, 1), (0, 1)) * 0.24999999999999 - x208 += einsum(x205, (0, 1), (0, 1)) - x208 += einsum(x206, (0, 1), (0, 1)) * -1.0 - x208 += einsum(x207, (0, 1), (1, 0)) - x209 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x209 += einsum(x208, (0, 1), t2, (2, 3, 0, 4), (2, 3, 4, 1)) - del x208 - x210 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x210 += einsum(t1, (0, 1), x56, (0, 2, 3, 4), (2, 3, 1, 4)) - del x56 - x211 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x211 += einsum(x210, (0, 1, 2, 3), x32, (0, 4, 5, 3), (4, 1, 5, 2)) * 0.5 - del x210 - x212 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x212 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) - x212 += einsum(x23, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x213 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x213 += einsum(t2, (0, 1, 2, 3), x212, (4, 1, 5, 2), (0, 4, 5, 3)) - del x212 - x214 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x214 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x214 += einsum(x23, (0, 1, 2, 3), (1, 0, 2, 3)) - x215 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x215 += einsum(t2, (0, 1, 2, 3), x214, (4, 1, 5, 3), (0, 4, 5, 2)) * 2.0 - del x214 - x216 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x216 += einsum(t1, (0, 1), x7, (2, 3, 4, 1), (0, 2, 3, 4)) * -1.0 - x217 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x217 += einsum(t1, (0, 1), x216, (2, 3, 0, 4), (3, 2, 4, 1)) * 0.5 - del x216 - x218 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x218 += einsum(x38, (0, 1, 2, 3), (0, 1, 2, 3)) - x218 += einsum(x39, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - del x39 - x218 += einsum(x40, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.25 - del x40 - x218 += einsum(x41, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - del x41 - x218 += einsum(x44, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x44 - x218 += einsum(x46, (0, 1, 2, 3), (0, 1, 2, 3)) - del x46 - x218 += einsum(x51, (0, 1, 2, 3), (2, 1, 0, 3)) - del x51 - x218 += einsum(x61, (0, 1, 2, 3), (1, 0, 2, 3)) - del x61 - x218 += einsum(x213, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - del x213 - x218 += einsum(x215, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - del x215 - x218 += einsum(x217, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x217 - x219 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x219 += einsum(t1, (0, 1), x218, (0, 2, 3, 4), (2, 3, 1, 4)) - del x218 - x220 = np.zeros((nocc, nocc), dtype=types[float]) - x220 += einsum(x12, (0, 1), (0, 1)) * 0.08333333333333 - del x12 - x220 += einsum(x70, (0, 1), (0, 1)) - del x70 - x220 += einsum(x71, (0, 1), (0, 1)) - del x71 - x220 += einsum(x72, (0, 1), (1, 0)) * -1.0 - del x72 - x220 += einsum(x73, (0, 1), (0, 1)) - del x73 - x221 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x221 += einsum(x220, (0, 1), t2, (2, 0, 3, 4), (2, 1, 4, 3)) - del x220 - x222 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x222 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * -1.0 - x222 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 1, 2)) - x223 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x223 += einsum(t2, (0, 1, 2, 3), x222, (1, 4, 5, 6, 2, 3), (4, 5, 0, 6)) - x224 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x224 += einsum(t1, (0, 1), x223, (2, 3, 4, 1), (2, 3, 4, 0)) * -1.0 - del x223 - x225 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x225 += einsum(t2, (0, 1, 2, 3), x224, (0, 1, 4, 5), (5, 4, 3, 2)) * 0.5 - del x224 - x226 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x226 += einsum(t1, (0, 1), x10, (2, 3, 4, 1), (0, 3, 2, 4)) * 3.0 - x227 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x227 += einsum(t2, (0, 1, 2, 3), x226, (4, 0, 1, 5), (4, 5, 2, 3)) * 0.25 - del x226 - x228 = np.zeros((nocc, nvir), dtype=types[float]) - x228 += einsum(x42, (0, 1, 2, 3, 4, 5), x77, (0, 1, 2, 5, 4, 6), (3, 6)) * 0.041666666666665 - del x77 - x229 = np.zeros((nocc, nvir), dtype=types[float]) - x229 += einsum(x42, (0, 1, 2, 3, 4, 5), x45, (2, 0, 1, 6, 5, 4), (3, 6)) * 0.041666666666665 - x230 = np.zeros((nocc, nvir), dtype=types[float]) - x230 += einsum(l2, (0, 1, 2, 3), x80, (2, 3, 4, 1, 0, 5), (4, 5)) * 0.125 - del x80 - x231 = np.zeros((nocc, nvir), dtype=types[float]) - x231 += einsum(l2, (0, 1, 2, 3), x82, (3, 4, 2, 0, 5, 1), (4, 5)) * 0.25 - del x82 - x232 = np.zeros((nocc, nvir), dtype=types[float]) - x232 += einsum(t2, (0, 1, 2, 3), x87, (0, 1, 4, 3), (4, 2)) - del x87 - x233 = np.zeros((nocc, nvir), dtype=types[float]) - x233 += einsum(t2, (0, 1, 2, 3), x90, (0, 1, 4, 2), (4, 3)) * 0.25 - del x90 - x234 = np.zeros((nocc, nvir), dtype=types[float]) - x234 += einsum(l1, (0, 1), x92, (1, 2, 3, 0), (2, 3)) * 0.5 - x235 = np.zeros((nocc, nvir), dtype=types[float]) - x235 += einsum(t1, (0, 1), x74, (0, 2), (2, 1)) * 0.5 - del x74 - x236 = np.zeros((nocc, nvir), dtype=types[float]) - x236 += einsum(x76, (0, 1), (0, 1)) * 0.124999999999995 - x236 += einsum(x228, (0, 1), (0, 1)) - x236 += einsum(x229, (0, 1), (0, 1)) * -1.0 - x236 += einsum(x230, (0, 1), (0, 1)) * -1.0 - x236 += einsum(x231, (0, 1), (0, 1)) - x236 += einsum(x232, (0, 1), (0, 1)) - x236 += einsum(x233, (0, 1), (0, 1)) - x236 += einsum(x234, (0, 1), (0, 1)) * -1.0 - x236 += einsum(x235, (0, 1), (0, 1)) - del x235 - x237 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x237 += einsum(x173, (0, 1, 2, 3), (0, 1, 2, 3)) - x237 += einsum(x175, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.08333333333333 - del x175 - x237 += einsum(x177, (0, 1, 2, 3), (0, 1, 2, 3)) - x237 += einsum(x179, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x179 - x237 += einsum(x182, (0, 1, 2, 3), (1, 0, 2, 3)) - del x182 - x237 += einsum(x195, (0, 1, 2, 3), (0, 1, 2, 3)) - x237 += einsum(x196, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x196 - x237 += einsum(x202, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x202 - x237 += einsum(x209, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x237 += einsum(x211, (0, 1, 2, 3), (0, 1, 3, 2)) - del x211 - x237 += einsum(x219, (0, 1, 2, 3), (0, 1, 2, 3)) - del x219 - x237 += einsum(x221, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x237 += einsum(x225, (0, 1, 2, 3), (0, 1, 3, 2)) - del x225 - x237 += einsum(x227, (0, 1, 2, 3), (0, 1, 2, 3)) - del x227 - x237 += einsum(t1, (0, 1), x236, (2, 3), (0, 2, 1, 3)) * -2.0 - del x236 - rdm2_f_oovv += einsum(x237, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(x237, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_oovv += einsum(x237, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - rdm2_f_oovv += einsum(x237, (0, 1, 2, 3), (1, 0, 3, 2)) - rdm2_f_oovv += einsum(x237, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(x237, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_oovv += einsum(x237, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - rdm2_f_oovv += einsum(x237, (0, 1, 2, 3), (1, 0, 3, 2)) - del x237 - x238 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x238 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - x238 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - x239 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x239 += einsum(x174, (0, 1, 2, 3, 4, 5), x238, (1, 2, 0, 6, 7, 5), (3, 4, 6, 7)) * 0.08333333333333 - x240 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x240 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * 5.000000000000001 - x240 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x241 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x241 += einsum(x240, (0, 1, 2, 3), l3, (4, 2, 3, 5, 6, 0), (1, 5, 6, 4)) * 0.16666666666666666 - del x240 - x242 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x242 += einsum(x9, (0, 1, 2, 3), l3, (4, 2, 3, 5, 0, 6), (5, 6, 1, 4)) * 0.5 - x243 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x243 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) - x243 += einsum(x23, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.3333333333333333 - x243 += einsum(x241, (0, 1, 2, 3), (1, 2, 0, 3)) - del x241 - x243 += einsum(x242, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x242 - x244 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x244 += einsum(x243, (0, 1, 2, 3), t3, (4, 0, 1, 5, 3, 6), (2, 4, 6, 5)) * 1.5 - del x243 - x245 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x245 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * 2.0 - x245 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 1, 2)) * -1.0 - x246 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x246 += einsum(x6, (0, 1, 2, 3), x245, (0, 4, 5, 3, 2, 6), (4, 5, 1, 6)) - del x245 - x247 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x247 += einsum(x246, (0, 1, 2, 3), t3, (4, 1, 0, 5, 3, 6), (2, 4, 6, 5)) * 0.25 - del x246 - x248 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x248 += einsum(x6, (0, 1, 2, 3), x42, (1, 4, 0, 5, 2, 6), (4, 5, 6, 3)) - x249 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x249 += einsum(x248, (0, 1, 2, 3), x32, (0, 4, 5, 2), (1, 4, 3, 5)) * -1.0 - x250 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x250 += einsum(x42, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - x250 += einsum(x42, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * -1.0 - x251 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x251 += einsum(t2, (0, 1, 2, 3), x250, (0, 1, 4, 5, 3, 6), (4, 5, 6, 2)) - x252 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x252 += einsum(t2, (0, 1, 2, 3), x251, (1, 4, 2, 5), (4, 0, 5, 3)) * -0.5 - x253 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x253 += einsum(x239, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x239 - x253 += einsum(x244, (0, 1, 2, 3), (0, 1, 3, 2)) - del x244 - x253 += einsum(x247, (0, 1, 2, 3), (0, 1, 3, 2)) - del x247 - x253 += einsum(x249, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x249 - x253 += einsum(x252, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x252 - rdm2_f_oovv += einsum(x253, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(x253, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - rdm2_f_oovv += einsum(x253, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(x253, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x253 - x254 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x254 += einsum(l1, (0, 1), t3, (2, 3, 1, 4, 5, 0), (2, 3, 4, 5)) - x255 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x255 += einsum(t2, (0, 1, 2, 3), x24, (1, 0, 4, 5), (5, 4, 2, 3)) - rdm2_f_oovv += einsum(x255, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(x255, (0, 1, 2, 3), (0, 1, 2, 3)) - x256 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x256 += einsum(t2, (0, 1, 2, 3), l3, (2, 4, 3, 5, 6, 7), (5, 7, 6, 0, 1, 4)) - x257 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x257 += einsum(t3, (0, 1, 2, 3, 4, 5), x256, (2, 0, 1, 6, 7, 4), (6, 7, 5, 3)) - del x256 - x258 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x258 += einsum(t2, (0, 1, 2, 3), l3, (4, 2, 5, 6, 0, 1), (6, 4, 5, 3)) - x259 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x259 += einsum(x258, (0, 1, 2, 3), t3, (4, 0, 5, 2, 6, 1), (4, 5, 3, 6)) - x260 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x260 += einsum(x89, (0, 1, 2, 3), l3, (4, 5, 2, 6, 0, 1), (6, 4, 5, 3)) * 6.0 - del x89 - x261 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x261 += einsum(x258, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x261 += einsum(x258, (0, 1, 2, 3), (0, 2, 1, 3)) * -2.0 - x261 += einsum(x260, (0, 1, 2, 3), (0, 1, 2, 3)) - del x260 - x261 += einsum(x128, (0, 1, 2, 3), (0, 2, 3, 1)) - x262 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x262 += einsum(x261, (0, 1, 2, 3), t3, (4, 0, 5, 2, 1, 6), (4, 5, 3, 6)) * 0.25 - del x261 - x263 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x263 += einsum(t2, (0, 1, 2, 3), l3, (4, 5, 3, 6, 0, 1), (6, 4, 5, 2)) - rdm2_f_vvov = np.zeros((nvir, nvir, nocc, nvir), dtype=types[float]) - rdm2_f_vvov += einsum(x263, (0, 1, 2, 3), (1, 2, 0, 3)) - rdm2_f_vvov += einsum(x263, (0, 1, 2, 3), (1, 2, 0, 3)) - rdm2_f_vvvo = np.zeros((nvir, nvir, nvir, nocc), dtype=types[float]) - rdm2_f_vvvo += einsum(x263, (0, 1, 2, 3), (2, 1, 3, 0)) - rdm2_f_vvvo += einsum(x263, (0, 1, 2, 3), (2, 1, 3, 0)) - x264 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x264 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 3, 4, 0, 2, 1)) * 1.5 - x264 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * -1.5 - x264 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) - x265 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x265 += einsum(t2, (0, 1, 2, 3), x264, (0, 1, 4, 5, 2, 6), (4, 5, 6, 3)) * 0.6666666666666666 - del x264 - x266 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x266 += einsum(x263, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.6666666666666666 - x266 += einsum(x265, (0, 1, 2, 3), (0, 1, 2, 3)) - del x265 - x267 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x267 += einsum(x266, (0, 1, 2, 3), t3, (4, 0, 5, 1, 2, 6), (4, 5, 3, 6)) * 0.75 - del x266 - x268 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x268 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 3, 4, 0, 2, 1)) * 0.5 - x268 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * -0.5 - x268 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) - x269 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x269 += einsum(t2, (0, 1, 2, 3), x268, (0, 1, 4, 5, 2, 6), (4, 5, 6, 3)) * 2.0 - del x268 - x270 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x270 += einsum(x263, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - x270 += einsum(x269, (0, 1, 2, 3), (0, 1, 2, 3)) - del x269 - x271 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x271 += einsum(x270, (0, 1, 2, 3), t3, (4, 0, 5, 2, 6, 1), (4, 5, 3, 6)) * 0.25 - x272 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x272 += einsum(t2, (0, 1, 2, 3), x96, (1, 4, 3, 5), (0, 4, 2, 5)) - x273 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x273 += einsum(t2, (0, 1, 2, 3), x272, (4, 1, 5, 3), (4, 0, 5, 2)) * 4.0 - del x272 - x274 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x274 += einsum(l2, (0, 1, 2, 3), (3, 2, 0, 1)) - x274 += einsum(l2, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 - x275 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x275 += einsum(t2, (0, 1, 2, 3), x274, (1, 4, 2, 5), (4, 0, 5, 3)) - x276 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x276 += einsum(t2, (0, 1, 2, 3), x275, (1, 4, 2, 5), (4, 0, 5, 3)) * -1.0 - del x275 - x277 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x277 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 4, 7, 2, 1, 0), (5, 3, 6, 7)) - x278 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x278 += einsum(x22, (0, 1, 2, 3), (1, 0, 3, 2)) - x278 += einsum(x277, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.24999999999999 - del x277 - x279 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x279 += einsum(t2, (0, 1, 2, 3), x278, (0, 1, 4, 5), (4, 5, 2, 3)) - del x278 - x280 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x280 += einsum(t2, (0, 1, 2, 3), x98, (1, 4, 0, 5, 6, 2), (4, 6, 5, 3)) - del x98 - x281 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x281 += einsum(x96, (0, 1, 2, 3), t3, (4, 0, 5, 3, 2, 6), (4, 5, 1, 6)) - x282 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x282 += einsum(t1, (0, 1), x25, (0, 2, 3, 4), (2, 3, 4, 1)) * 0.5 - del x25 - x283 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x283 += einsum(x280, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - del x280 - x283 += einsum(x281, (0, 1, 2, 3), (2, 1, 0, 3)) - del x281 - x283 += einsum(x282, (0, 1, 2, 3), (0, 2, 1, 3)) - del x282 - x284 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x284 += einsum(t1, (0, 1), x283, (0, 2, 3, 4), (2, 3, 4, 1)) * 2.0 - del x283 - x285 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x285 += einsum(x254, (0, 1, 2, 3), (0, 1, 2, 3)) - x285 += einsum(x255, (0, 1, 2, 3), (0, 1, 2, 3)) - del x255 - x285 += einsum(x257, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.24999999999999 - del x257 - x285 += einsum(x259, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - del x259 - x285 += einsum(x262, (0, 1, 2, 3), (1, 0, 2, 3)) - del x262 - x285 += einsum(x267, (0, 1, 2, 3), (1, 0, 2, 3)) - del x267 - x285 += einsum(x271, (0, 1, 2, 3), (1, 0, 2, 3)) - del x271 - x285 += einsum(x273, (0, 1, 2, 3), (0, 1, 2, 3)) - del x273 - x285 += einsum(x276, (0, 1, 2, 3), (1, 0, 3, 2)) - del x276 - x285 += einsum(x279, (0, 1, 2, 3), (1, 0, 3, 2)) - del x279 - x285 += einsum(x284, (0, 1, 2, 3), (0, 1, 3, 2)) - del x284 - rdm2_f_oovv += einsum(x285, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(x285, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_oovv += einsum(x285, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(x285, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x285 - x286 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x286 += einsum(t3, (0, 1, 2, 3, 4, 5), x174, (0, 1, 2, 6, 7, 4), (6, 7, 3, 5)) - x287 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x287 += einsum(x42, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - x287 += einsum(x42, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * -1.0 - x287 += einsum(x42, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) * 2.0 - x288 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x288 += einsum(t2, (0, 1, 2, 3), x287, (0, 1, 4, 5, 6, 3), (4, 5, 6, 2)) * 0.5 - x289 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x289 += einsum(x288, (0, 1, 2, 3), x6, (0, 4, 5, 2), (1, 4, 3, 5)) - del x288 - x290 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x290 += einsum(t1, (0, 1), x10, (2, 3, 4, 1), (0, 3, 2, 4)) - x291 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x291 += einsum(t1, (0, 1), x290, (2, 3, 0, 4), (3, 2, 4, 1)) * 3.0 - del x290 - x292 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x292 += einsum(t1, (0, 1), x291, (0, 2, 3, 4), (2, 3, 4, 1)) * 0.5 - del x291 - x293 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x293 += einsum(x286, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.08333333333333 - del x286 - x293 += einsum(x289, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x289 - x293 += einsum(x292, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x292 - rdm2_f_oovv += einsum(x293, (0, 1, 2, 3), (0, 1, 3, 2)) - rdm2_f_oovv += einsum(x293, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - rdm2_f_oovv += einsum(x293, (0, 1, 2, 3), (0, 1, 3, 2)) - rdm2_f_oovv += einsum(x293, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x293 - x294 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x294 += einsum(t3, (0, 1, 2, 3, 4, 5), x36, (0, 1, 2, 6, 7, 3), (6, 7, 5, 4)) - x295 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x295 += einsum(x178, (0, 1, 2, 3, 4, 5), x36, (1, 0, 2, 6, 7, 4), (6, 7, 3, 5)) * 0.16666666666667 - x296 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x296 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) - x296 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) * -0.5 - x297 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x297 += einsum(x296, (0, 1, 2, 3, 4, 5), x3, (0, 6, 7, 5, 4, 3), (1, 2, 6, 7)) - del x3, x296 - x298 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x298 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * 0.5 - x298 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 3, 5, 0, 2, 1)) - x299 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x299 += einsum(t3, (0, 1, 2, 3, 4, 5), x298, (6, 7, 2, 4, 5, 3), (6, 7, 0, 1)) - del x298 - x300 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x300 += einsum(x297, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x297 - x300 += einsum(x299, (0, 1, 2, 3), (1, 0, 2, 3)) - del x299 - x301 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x301 += einsum(t2, (0, 1, 2, 3), x300, (0, 1, 4, 5), (4, 5, 2, 3)) * 0.16666666666666 - del x300 - x302 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x302 += einsum(x36, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - x302 += einsum(x36, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -0.5 - x302 += einsum(x36, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) * 0.5 - x303 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x303 += einsum(t2, (0, 1, 2, 3), x302, (0, 4, 1, 5, 6, 3), (4, 5, 6, 2)) * 5.99999999999988 - del x302 - x304 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x304 += einsum(t1, (0, 1), x102, (2, 0, 3, 4), (2, 3, 4, 1)) - del x102 - x305 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x305 += einsum(x37, (0, 1, 2, 3), (0, 1, 2, 3)) * -5.99999999999988 - x305 += einsum(x303, (0, 1, 2, 3), (0, 1, 2, 3)) - del x303 - x305 += einsum(x304, (0, 1, 2, 3), (0, 1, 2, 3)) - del x304 - x306 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x306 += einsum(t1, (0, 1), x305, (0, 2, 3, 4), (2, 3, 4, 1)) * 0.16666666666667 - del x305 - x307 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x307 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x307 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) * -1.0 - x307 += einsum(x294, (0, 1, 2, 3), (1, 0, 3, 2)) * 0.16666666666667 - del x294 - x307 += einsum(x295, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x295 - x307 += einsum(x301, (0, 1, 2, 3), (1, 0, 3, 2)) - del x301 - x307 += einsum(x306, (0, 1, 2, 3), (1, 0, 2, 3)) - del x306 - rdm2_f_oovv += einsum(x307, (0, 1, 2, 3), (0, 1, 3, 2)) - rdm2_f_oovv += einsum(x307, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - rdm2_f_oovv += einsum(x307, (0, 1, 2, 3), (0, 1, 3, 2)) - rdm2_f_oovv += einsum(x307, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x307 - x308 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x308 += einsum(t2, (0, 1, 2, 3), x251, (1, 4, 3, 5), (4, 0, 5, 2)) * -1.0 - rdm2_f_oovv += einsum(x308, (0, 1, 2, 3), (0, 1, 3, 2)) - rdm2_f_oovv += einsum(x308, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - rdm2_f_oovv += einsum(x308, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - rdm2_f_oovv += einsum(x308, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.5 - rdm2_f_oovv += einsum(x308, (0, 1, 2, 3), (0, 1, 3, 2)) - rdm2_f_oovv += einsum(x308, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - rdm2_f_oovv += einsum(x308, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - rdm2_f_oovv += einsum(x308, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.5 - del x308 - x309 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x309 += einsum(t2, (0, 1, 2, 3), x42, (1, 4, 0, 5, 6, 2), (4, 5, 6, 3)) - x310 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x310 += einsum(x309, (0, 1, 2, 3), x32, (0, 4, 5, 2), (4, 1, 5, 3)) - rdm2_f_oovv += einsum(x310, (0, 1, 2, 3), (1, 0, 2, 3)) - rdm2_f_oovv += einsum(x310, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 - rdm2_f_oovv += einsum(x310, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - rdm2_f_oovv += einsum(x310, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - rdm2_f_oovv += einsum(x310, (0, 1, 2, 3), (1, 0, 2, 3)) - rdm2_f_oovv += einsum(x310, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 - rdm2_f_oovv += einsum(x310, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - rdm2_f_oovv += einsum(x310, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - del x310 - x311 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x311 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) - x311 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 0, 2)) * 0.3333333333333333 - x312 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x312 += einsum(t1, (0, 1), x311, (2, 3, 4, 1, 5, 6), (0, 2, 3, 4, 5, 6)) * 3.0 - del x311 - x313 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x313 += einsum(t1, (0, 1), x312, (2, 3, 4, 5, 1, 6), (0, 4, 3, 5, 2, 6)) * 0.3333333333333333 - del x312 - x314 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x314 += einsum(t3, (0, 1, 2, 3, 4, 5), x313, (6, 0, 2, 1, 7, 4), (6, 7, 5, 3)) * 0.50000000000001 - del x313 - rdm2_f_oovv += einsum(x314, (0, 1, 2, 3), (1, 0, 2, 3)) - rdm2_f_oovv += einsum(x314, (0, 1, 2, 3), (1, 0, 2, 3)) - del x314 - x315 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x315 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - x315 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) - x316 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x316 += einsum(l1, (0, 1), x315, (2, 3, 1, 4, 5, 0), (2, 3, 4, 5)) - rdm2_f_oovv += einsum(x316, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - rdm2_f_oovv += einsum(x316, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x316 - x317 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x317 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - x317 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 - x318 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x318 += einsum(l3, (0, 1, 2, 3, 4, 5), x317, (4, 6, 7, 1, 2, 0), (3, 5, 6, 7)) - x319 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x319 += einsum(x318, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x318 - x319 += einsum(x104, (0, 1, 2, 3), (1, 0, 2, 3)) - del x104 - x320 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x320 += einsum(t1, (0, 1), x319, (0, 2, 3, 4), (2, 3, 4, 1)) - del x319 - x321 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x321 += einsum(t1, (0, 1), x320, (0, 2, 3, 4), (2, 3, 1, 4)) * 0.16666666666667 - del x320 - rdm2_f_oovv += einsum(x321, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - rdm2_f_oovv += einsum(x321, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x321 - x322 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x322 += einsum(t2, (0, 1, 2, 3), x42, (4, 0, 1, 5, 2, 6), (4, 5, 6, 3)) - x323 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x323 += einsum(t2, (0, 1, 2, 3), x322, (1, 4, 2, 5), (4, 0, 3, 5)) - del x322 - rdm2_f_oovv += einsum(x323, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - rdm2_f_oovv += einsum(x323, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x323 - x324 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x324 += einsum(l2, (0, 1, 2, 3), t2, (4, 3, 1, 5), (2, 4, 0, 5)) - x325 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x325 += einsum(t2, (0, 1, 2, 3), x324, (1, 4, 2, 5), (4, 0, 5, 3)) - del x324 - rdm2_f_oovv += einsum(x325, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(x325, (0, 1, 2, 3), (0, 1, 2, 3)) - del x325 - x326 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x326 += einsum(t1, (0, 1), x24, (0, 2, 3, 4), (2, 4, 3, 1)) - del x24 - x327 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x327 += einsum(t1, (0, 1), x326, (0, 2, 3, 4), (2, 3, 1, 4)) - del x326 - rdm2_f_oovv += einsum(x327, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(x327, (0, 1, 2, 3), (0, 1, 2, 3)) - del x327 - x328 = np.zeros((nocc, nvir), dtype=types[float]) - x328 += einsum(t1, (0, 1), x1, (0, 2), (2, 1)) - del x1 - rdm2_f_oovv += einsum(t1, (0, 1), x328, (2, 3), (0, 2, 1, 3)) * -1.0 - rdm2_f_oovv += einsum(t1, (0, 1), x328, (2, 3), (0, 2, 1, 3)) * -1.0 - x329 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x329 += einsum(t2, (0, 1, 2, 3), x28, (0, 1, 4, 5), (4, 5, 2, 3)) - x330 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x330 += einsum(x258, (0, 1, 2, 3), t3, (4, 5, 0, 2, 6, 1), (4, 5, 3, 6)) - x331 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x331 += einsum(t2, (0, 1, 2, 3), l3, (4, 2, 3, 1, 5, 6), (6, 5, 0, 4)) - x332 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x332 += einsum(t1, (0, 1), x331, (2, 3, 4, 1), (2, 3, 0, 4)) - x333 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x333 += einsum(t2, (0, 1, 2, 3), x332, (1, 0, 4, 5), (4, 5, 3, 2)) - del x332 - x334 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x334 += einsum(x270, (0, 1, 2, 3), t3, (4, 5, 0, 1, 6, 2), (4, 5, 3, 6)) * 0.25 - x335 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x335 += einsum(x174, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x174 - x335 += einsum(x36, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 1.0000000000000602 - del x36 - x336 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x336 += einsum(t3, (0, 1, 2, 3, 4, 5), x335, (0, 2, 1, 6, 7, 3), (6, 7, 5, 4)) * 0.49999999999997996 - del x335 - x337 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x337 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) - x337 += einsum(x23, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x337 += einsum(x168, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x168 - x337 += einsum(x123, (0, 1, 2, 3), (1, 0, 2, 3)) - del x123 - x338 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x338 += einsum(x337, (0, 1, 2, 3), t3, (0, 4, 1, 3, 5, 6), (2, 4, 6, 5)) * 0.5 - del x337 - x339 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x339 += einsum(x7, (0, 1, 2, 3), t3, (0, 4, 1, 5, 6, 3), (4, 2, 5, 6)) * -0.25 - del x7 - x340 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x340 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 3, 5, 7, 0, 2), (4, 6, 1, 7)) - x341 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x341 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - x341 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -0.25 - x341 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 0.25 - x342 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x342 += einsum(l3, (0, 1, 2, 3, 4, 5), x341, (4, 6, 5, 1, 7, 2), (6, 3, 7, 0)) - del x341 - rdm2_f_ovvo += einsum(x342, (0, 1, 2, 3), (0, 3, 2, 1)) - rdm2_f_ovvo += einsum(x342, (0, 1, 2, 3), (0, 3, 2, 1)) - x343 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x343 += einsum(l3, (0, 1, 2, 3, 4, 5), x188, (3, 6, 5, 0, 2, 7), (4, 6, 1, 7)) * 0.25 - del x188 - x344 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x344 += einsum(x183, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.25 - x344 += einsum(x340, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.25 - del x340 - x344 += einsum(x342, (0, 1, 2, 3), (1, 0, 3, 2)) - del x342 - x344 += einsum(x343, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x343 - x345 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x345 += einsum(t2, (0, 1, 2, 3), x344, (1, 4, 2, 5), (4, 0, 5, 3)) - del x344 - x346 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x346 += einsum(t2, (0, 1, 2, 3), x143, (0, 1, 4, 5, 6, 2), (4, 5, 3, 6)) - x347 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x347 += einsum(t2, (0, 1, 2, 3), x346, (1, 4, 5, 2), (4, 0, 5, 3)) * -0.5 - del x346 - x348 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x348 += einsum(t2, (0, 1, 2, 3), x23, (4, 1, 5, 3), (4, 5, 0, 2)) - x349 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x349 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 4.0 - x349 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -1.0 - x349 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - x350 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x350 += einsum(x349, (0, 1, 2, 3, 4, 5), x42, (2, 6, 0, 7, 5, 3), (1, 6, 7, 4)) * 0.5 - x351 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x351 += einsum(x35, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - x351 += einsum(x35, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - x352 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x352 += einsum(t3, (0, 1, 2, 3, 4, 5), x351, (1, 2, 6, 7, 4, 5), (6, 7, 0, 3)) * 0.5 - del x351 - x353 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x353 += einsum(l2, (0, 1, 2, 3), x145, (2, 4, 5, 0, 1, 6), (3, 4, 5, 6)) - del x145 - x354 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x354 += einsum(t2, (0, 1, 2, 3), x133, (1, 4, 5, 6, 3, 2), (0, 4, 5, 6)) * 2.0 - del x133 - x355 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x355 += einsum(x132, (0, 1, 2, 3), (1, 0, 2, 3)) - del x132 - x355 += einsum(x354, (0, 1, 2, 3), (1, 2, 0, 3)) - del x354 - x356 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x356 += einsum(t2, (0, 1, 2, 3), x355, (4, 1, 5, 2), (4, 5, 0, 3)) - del x355 - x357 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x357 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x357 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x358 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x358 += einsum(x23, (0, 1, 2, 3), x357, (0, 4, 3, 5), (4, 1, 2, 5)) * 2.0 - x359 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x359 += einsum(x28, (0, 1, 2, 3), (0, 1, 2, 3)) - del x28 - x359 += einsum(x30, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.99999999999996 - del x30 - x360 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x360 += einsum(t1, (0, 1), x359, (2, 0, 3, 4), (2, 3, 4, 1)) * 1.00000000000002 - del x359 - x361 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x361 += einsum(x348, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x348 - x361 += einsum(x140, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - del x140 - x361 += einsum(x113, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - del x113 - x361 += einsum(x111, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - del x111 - x361 += einsum(x37, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x37 - x361 += einsum(x350, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - del x350 - x361 += einsum(x352, (0, 1, 2, 3), (0, 1, 2, 3)) - del x352 - x361 += einsum(x353, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x353 - x361 += einsum(x356, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x356 - x361 += einsum(x358, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - del x358 - x361 += einsum(x360, (0, 1, 2, 3), (0, 1, 2, 3)) - del x360 - x362 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x362 += einsum(t1, (0, 1), x361, (0, 2, 3, 4), (2, 3, 4, 1)) * 0.5 - del x361 - x363 = np.zeros((nocc, nvir), dtype=types[float]) - x363 += einsum(t1, (0, 1), x21, (0, 2), (2, 1)) - del x21 - x364 = np.zeros((nocc, nvir), dtype=types[float]) - x364 += einsum(x76, (0, 1), (0, 1)) * 0.124999999999995 - del x76 - x364 += einsum(x228, (0, 1), (0, 1)) - del x228 - x364 += einsum(x229, (0, 1), (0, 1)) * -1.0 - del x229 - x364 += einsum(x230, (0, 1), (0, 1)) * -1.0 - del x230 - x364 += einsum(x231, (0, 1), (0, 1)) - del x231 - x364 += einsum(x232, (0, 1), (0, 1)) - del x232 - x364 += einsum(x233, (0, 1), (0, 1)) - del x233 - x364 += einsum(x234, (0, 1), (0, 1)) * -1.0 - del x234 - x364 += einsum(x363, (0, 1), (0, 1)) - del x363 - x365 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x365 += einsum(x254, (0, 1, 2, 3), (0, 1, 2, 3)) - del x254 - x365 += einsum(x329, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.49999999999997996 - del x329 - x365 += einsum(x330, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - del x330 - x365 += einsum(x333, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x333 - x365 += einsum(x334, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x334 - x365 += einsum(x336, (0, 1, 2, 3), (0, 1, 2, 3)) - del x336 - x365 += einsum(x338, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x338 - x365 += einsum(x195, (0, 1, 2, 3), (0, 1, 2, 3)) - del x195 - x365 += einsum(x339, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x339 - x365 += einsum(x345, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x345 - x365 += einsum(x209, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x209 - x365 += einsum(x347, (0, 1, 2, 3), (0, 1, 3, 2)) - del x347 - x365 += einsum(x362, (0, 1, 2, 3), (0, 1, 3, 2)) - del x362 - x365 += einsum(x221, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x221 - x365 += einsum(t1, (0, 1), x364, (2, 3), (0, 2, 1, 3)) * -2.0 - del x364 - rdm2_f_oovv += einsum(x365, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(x365, (0, 1, 2, 3), (1, 0, 3, 2)) - rdm2_f_oovv += einsum(x365, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(x365, (0, 1, 2, 3), (1, 0, 3, 2)) - del x365 - x366 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x366 += einsum(x29, (0, 1, 2, 3), t3, (4, 1, 0, 5, 6, 3), (2, 4, 5, 6)) - x367 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x367 += einsum(x263, (0, 1, 2, 3), t3, (4, 5, 0, 6, 2, 1), (4, 5, 3, 6)) - x368 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x368 += einsum(x128, (0, 1, 2, 3), t3, (4, 5, 0, 6, 2, 3), (4, 5, 6, 1)) * -0.5 - x369 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x369 += einsum(x23, (0, 1, 2, 3), (1, 0, 2, 3)) - x369 += einsum(x124, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x124 - x370 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x370 += einsum(x369, (0, 1, 2, 3), t3, (4, 0, 1, 5, 6, 3), (2, 4, 5, 6)) - del x369 - x371 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x371 += einsum(t2, (0, 1, 2, 3), x250, (0, 1, 4, 5, 3, 6), (4, 5, 6, 2)) * 0.5 - x372 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x372 += einsum(x176, (0, 1, 2, 3), (0, 1, 2, 3)) - x372 += einsum(x371, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x371 - x373 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x373 += einsum(t2, (0, 1, 2, 3), x372, (1, 4, 2, 5), (4, 0, 5, 3)) - del x372 - x374 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x374 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (5, 6, 3, 2, 1, 7), (4, 6, 0, 7)) - rdm2_f_ovov += einsum(x374, (0, 1, 2, 3), (1, 2, 0, 3)) * -0.5 - rdm2_f_ovov += einsum(x374, (0, 1, 2, 3), (1, 2, 0, 3)) * -0.5 - rdm2_f_vovo += einsum(x374, (0, 1, 2, 3), (2, 1, 3, 0)) * -0.5 - rdm2_f_vovo += einsum(x374, (0, 1, 2, 3), (2, 1, 3, 0)) * -0.5 - x375 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x375 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 4, 5, 0, 7, 2), (3, 6, 1, 7)) - rdm2_f_ovov += einsum(x375, (0, 1, 2, 3), (1, 2, 0, 3)) * -0.5 - rdm2_f_ovov += einsum(x375, (0, 1, 2, 3), (1, 2, 0, 3)) * -0.5 - rdm2_f_vovo += einsum(x375, (0, 1, 2, 3), (2, 1, 3, 0)) * -0.5 - rdm2_f_vovo += einsum(x375, (0, 1, 2, 3), (2, 1, 3, 0)) * -0.5 - x376 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x376 += einsum(x374, (0, 1, 2, 3), (0, 1, 2, 3)) - x376 += einsum(x375, (0, 1, 2, 3), (0, 1, 2, 3)) - x377 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x377 += einsum(t2, (0, 1, 2, 3), x376, (1, 4, 2, 5), (4, 0, 5, 3)) * 0.5 - del x376 - x378 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x378 += einsum(x9, (0, 1, 2, 3), l3, (4, 2, 3, 5, 0, 6), (6, 5, 1, 4)) * 3.0 - del x9 - x379 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x379 += einsum(x29, (0, 1, 2, 3), (0, 1, 2, 3)) - x379 += einsum(x29, (0, 1, 2, 3), (1, 0, 2, 3)) * -3.0 - x379 += einsum(x53, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x379 += einsum(x53, (0, 1, 2, 3), (1, 0, 2, 3)) - del x53 - x379 += einsum(x378, (0, 1, 2, 3), (1, 0, 2, 3)) - x379 += einsum(x59, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x380 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x380 += einsum(t1, (0, 1), x379, (0, 2, 3, 4), (2, 3, 4, 1)) - del x379 - x381 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x381 += einsum(t2, (0, 1, 2, 3), x380, (1, 4, 3, 5), (4, 0, 5, 2)) * 0.5 - del x380 - x382 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x382 += einsum(t2, (0, 1, 2, 3), x23, (4, 1, 5, 2), (4, 5, 0, 3)) - x383 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x383 += einsum(t2, (0, 1, 2, 3), x120, (0, 1, 4, 5, 6, 2), (4, 5, 6, 3)) * 0.5 - del x120 - x384 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x384 += einsum(x29, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x29 - x384 += einsum(x59, (0, 1, 2, 3), (1, 0, 2, 3)) - del x59 - x385 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x385 += einsum(t2, (0, 1, 2, 3), x384, (1, 4, 5, 2), (4, 5, 0, 3)) * 0.5 - del x384 - x386 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x386 += einsum(t1, (0, 1), x33, (2, 3, 4, 1), (0, 2, 3, 4)) * -1.0 - x387 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x387 += einsum(t1, (0, 1), x386, (2, 3, 0, 4), (3, 2, 4, 1)) * 0.5 - x388 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x388 += einsum(x38, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x38 - x388 += einsum(x108, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x108 - x388 += einsum(x382, (0, 1, 2, 3), (0, 1, 2, 3)) - del x382 - x388 += einsum(x110, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - del x110 - x388 += einsum(x109, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - del x109 - x388 += einsum(x383, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x383 - x388 += einsum(x149, (0, 1, 2, 3), (2, 1, 0, 3)) - del x149 - x388 += einsum(x385, (0, 1, 2, 3), (0, 2, 1, 3)) - del x385 - x388 += einsum(x387, (0, 1, 2, 3), (0, 1, 2, 3)) - del x387 - x389 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x389 += einsum(t1, (0, 1), x388, (0, 2, 3, 4), (2, 3, 4, 1)) - del x388 - x390 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x390 += einsum(t2, (0, 1, 2, 3), x386, (4, 0, 1, 5), (4, 5, 3, 2)) * 0.5 - del x386 - x391 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x391 += einsum(x173, (0, 1, 2, 3), (0, 1, 2, 3)) - del x173 - x391 += einsum(x366, (0, 1, 2, 3), (0, 1, 2, 3)) - del x366 - x391 += einsum(x367, (0, 1, 2, 3), (0, 1, 2, 3)) - del x367 - x391 += einsum(x177, (0, 1, 2, 3), (0, 1, 2, 3)) - del x177 - x391 += einsum(x368, (0, 1, 2, 3), (0, 1, 3, 2)) - del x368 - x391 += einsum(x370, (0, 1, 2, 3), (0, 1, 2, 3)) - del x370 - x391 += einsum(x373, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x373 - x391 += einsum(x377, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x377 - x391 += einsum(x381, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x381 - x391 += einsum(x389, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x389 - x391 += einsum(x390, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x390 - rdm2_f_oovv += einsum(x391, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_oovv += einsum(x391, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - rdm2_f_oovv += einsum(x391, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_oovv += einsum(x391, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x391 - x392 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x392 += einsum(t2, (0, 1, 2, 3), x251, (1, 4, 3, 5), (4, 0, 5, 2)) * -0.5 - del x251 - rdm2_f_oovv += einsum(x392, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - rdm2_f_oovv += einsum(x392, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 - rdm2_f_oovv += einsum(x392, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - rdm2_f_oovv += einsum(x392, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 - del x392 - x393 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x393 += einsum(t2, (0, 1, 2, 3), x309, (1, 4, 3, 5), (4, 0, 2, 5)) - del x309 - rdm2_f_oovv += einsum(x393, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - rdm2_f_oovv += einsum(x393, (0, 1, 2, 3), (1, 0, 2, 3)) - rdm2_f_oovv += einsum(x393, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - rdm2_f_oovv += einsum(x393, (0, 1, 2, 3), (1, 0, 2, 3)) - del x393 - x394 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x394 += einsum(t2, (0, 1, 2, 3), x287, (0, 1, 4, 5, 6, 3), (4, 5, 6, 2)) * 0.25 - del x287 - x395 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x395 += einsum(t2, (0, 1, 2, 3), x192, (1, 4, 3, 5), (0, 4, 2, 5)) - del x192 - x396 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x396 += einsum(x394, (0, 1, 2, 3), (0, 1, 2, 3)) - del x394 - x396 += einsum(x395, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x395 - x397 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x397 += einsum(t2, (0, 1, 2, 3), x396, (1, 4, 3, 5), (4, 0, 5, 2)) * 2.0 - del x396 - rdm2_f_oovv += einsum(x397, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - rdm2_f_oovv += einsum(x397, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x397 - x398 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x398 += einsum(t2, (0, 1, 2, 3), x248, (1, 4, 3, 5), (4, 0, 5, 2)) * -1.0 - del x248 - rdm2_f_oovv += einsum(x398, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - rdm2_f_oovv += einsum(x398, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x398 - x399 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x399 += einsum(l2, (0, 1, 2, 3), t2, (4, 2, 1, 5), (3, 4, 0, 5)) - rdm2_f_ovov += einsum(x399, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_ovov += einsum(x399, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_vovo += einsum(x399, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - rdm2_f_vovo += einsum(x399, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - x400 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x400 += einsum(t2, (0, 1, 2, 3), x42, (0, 4, 1, 5, 2, 6), (4, 5, 6, 3)) - rdm2_f_ovov += einsum(x400, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_ovov += einsum(x400, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_vovo += einsum(x400, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - rdm2_f_vovo += einsum(x400, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - x401 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x401 += einsum(x399, (0, 1, 2, 3), (0, 1, 2, 3)) - x401 += einsum(x400, (0, 1, 2, 3), (0, 1, 2, 3)) - x402 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x402 += einsum(t2, (0, 1, 2, 3), x401, (1, 4, 2, 5), (4, 0, 5, 3)) - del x401 - rdm2_f_oovv += einsum(x402, (0, 1, 2, 3), (1, 0, 2, 3)) - rdm2_f_oovv += einsum(x402, (0, 1, 2, 3), (1, 0, 2, 3)) - del x402 - x403 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x403 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - x403 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) - x404 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x404 += einsum(x22, (0, 1, 2, 3), x403, (0, 1, 4, 5), (2, 3, 4, 5)) - del x22, x403 - rdm2_f_oovv += einsum(x404, (0, 1, 2, 3), (1, 0, 3, 2)) - rdm2_f_oovv += einsum(x404, (0, 1, 2, 3), (1, 0, 3, 2)) - del x404 - x405 = np.zeros((nocc, nvir), dtype=types[float]) - x405 += einsum(t1, (0, 1), (0, 1)) - x405 += einsum(x328, (0, 1), (0, 1)) * -1.0 - del x328 - rdm2_f_oovv += einsum(t1, (0, 1), x405, (2, 3), (2, 0, 3, 1)) - rdm2_f_oovv += einsum(t1, (0, 1), x405, (2, 3), (2, 0, 3, 1)) - del x405 - x406 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x406 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 5, 4, 1, 7, 2), (3, 6, 0, 7)) - rdm2_f_ovov += einsum(x406, (0, 1, 2, 3), (1, 2, 0, 3)) * -0.25 - rdm2_f_ovov += einsum(x406, (0, 1, 2, 3), (1, 2, 0, 3)) * -0.25 - rdm2_f_voov += einsum(x406, (0, 1, 2, 3), (2, 1, 0, 3)) * 0.25 - rdm2_f_voov += einsum(x406, (0, 1, 2, 3), (2, 1, 0, 3)) * 0.25 - del x406 - x407 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x407 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 0.2 - x407 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -0.2 - x407 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -0.2 - x407 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) - x408 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x408 += einsum(l3, (0, 1, 2, 3, 4, 5), x407, (4, 6, 5, 1, 7, 2), (6, 3, 7, 0)) * 1.25 - del x407 - rdm2_f_ovov += einsum(x408, (0, 1, 2, 3), (0, 3, 1, 2)) * -1.0 - rdm2_f_ovov += einsum(x408, (0, 1, 2, 3), (0, 3, 1, 2)) * -1.0 - del x408 - x409 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x409 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * -1.0 - x409 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 2, 1)) - x410 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x410 += einsum(t3, (0, 1, 2, 3, 4, 5), x409, (2, 1, 6, 5, 7, 3), (6, 0, 7, 4)) * 0.25 - del x409 - rdm2_f_ovov += einsum(x410, (0, 1, 2, 3), (1, 2, 0, 3)) - rdm2_f_ovov += einsum(x410, (0, 1, 2, 3), (1, 2, 0, 3)) - del x410 - x411 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x411 += einsum(l3, (0, 1, 2, 3, 4, 5), x317, (5, 6, 3, 1, 7, 2), (4, 6, 0, 7)) * 0.25 - rdm2_f_ovov += einsum(x411, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_ovov += einsum(x411, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_ovvo += einsum(x411, (0, 1, 2, 3), (1, 2, 3, 0)) - rdm2_f_ovvo += einsum(x411, (0, 1, 2, 3), (1, 2, 3, 0)) - del x411 - x412 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x412 += einsum(t2, (0, 1, 2, 3), x250, (0, 1, 4, 5, 6, 2), (4, 5, 6, 3)) * 0.5 - rdm2_f_ovov += einsum(x412, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_ovov += einsum(x412, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_vovo += einsum(x412, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - rdm2_f_vovo += einsum(x412, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - del x412 - x413 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x413 += einsum(x42, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 2.0 - x413 += einsum(x42, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 - x414 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x414 += einsum(t2, (0, 1, 2, 3), x413, (4, 0, 1, 5, 6, 3), (4, 5, 6, 2)) - del x413 - rdm2_f_ovov += einsum(x414, (0, 1, 2, 3), (1, 2, 0, 3)) - rdm2_f_ovov += einsum(x414, (0, 1, 2, 3), (1, 2, 0, 3)) - rdm2_f_ovvo += einsum(x414, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - rdm2_f_ovvo += einsum(x414, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - del x414 - x415 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x415 += einsum(l2, (0, 1, 2, 3), x32, (2, 4, 5, 1), (3, 4, 0, 5)) - rdm2_f_ovov += einsum(x415, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_ovov += einsum(x415, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - del x415 - x416 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x416 += einsum(l2, (0, 1, 2, 3), x19, (3, 4, 5, 1), (2, 4, 0, 5)) * 2.0 - del x19 - rdm2_f_ovov += einsum(x416, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_ovov += einsum(x416, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_voov += einsum(x416, (0, 1, 2, 3), (2, 1, 0, 3)) - rdm2_f_voov += einsum(x416, (0, 1, 2, 3), (2, 1, 0, 3)) - del x416 - x417 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x417 += einsum(x32, (0, 1, 2, 3), l3, (4, 2, 3, 5, 6, 0), (5, 6, 1, 4)) - x418 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x418 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x418 += einsum(x417, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x417 - x419 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x419 += einsum(x418, (0, 1, 2, 3), (0, 1, 2, 3)) - x419 += einsum(x418, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x419 += einsum(x378, (0, 1, 2, 3), (1, 0, 2, 3)) - x420 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x420 += einsum(t1, (0, 1), x419, (2, 0, 3, 4), (2, 3, 4, 1)) * 0.5 - del x419 - rdm2_f_ovov += einsum(x420, (0, 1, 2, 3), (1, 2, 0, 3)) - rdm2_f_ovov += einsum(x420, (0, 1, 2, 3), (1, 2, 0, 3)) - rdm2_f_ovvo += einsum(x420, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - rdm2_f_ovvo += einsum(x420, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - rdm2_f_voov += einsum(x420, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_voov += einsum(x420, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_vovo += einsum(x420, (0, 1, 2, 3), (2, 1, 3, 0)) - rdm2_f_vovo += einsum(x420, (0, 1, 2, 3), (2, 1, 3, 0)) - del x420 - x421 = np.zeros((nvir, nvir), dtype=types[float]) - x421 += einsum(l1, (0, 1), t1, (1, 2), (0, 2)) - x422 = np.zeros((nvir, nvir), dtype=types[float]) - x422 += einsum(x421, (0, 1), (0, 1)) - x422 += einsum(x203, (0, 1), (0, 1)) * 0.24999999999999 - x422 += einsum(x205, (0, 1), (0, 1)) - del x205 - x422 += einsum(x206, (0, 1), (0, 1)) * -1.0 - del x206 - x422 += einsum(x207, (0, 1), (1, 0)) - del x207 - rdm2_f_ovov += einsum(delta.oo, (0, 1), x422, (2, 3), (0, 2, 1, 3)) - rdm2_f_ovov += einsum(delta.oo, (0, 1), x422, (2, 3), (0, 2, 1, 3)) - rdm2_f_ovov += einsum(delta.oo, (0, 1), x422, (2, 3), (0, 2, 1, 3)) - rdm2_f_ovov += einsum(delta.oo, (0, 1), x422, (2, 3), (0, 2, 1, 3)) - rdm2_f_ovvo += einsum(delta.oo, (0, 1), x422, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_ovvo += einsum(delta.oo, (0, 1), x422, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_voov += einsum(delta.oo, (0, 1), x422, (2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_voov += einsum(delta.oo, (0, 1), x422, (2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_vovo += einsum(delta.oo, (0, 1), x422, (2, 3), (2, 0, 3, 1)) - rdm2_f_vovo += einsum(delta.oo, (0, 1), x422, (2, 3), (2, 0, 3, 1)) - rdm2_f_vovo += einsum(delta.oo, (0, 1), x422, (2, 3), (2, 0, 3, 1)) - rdm2_f_vovo += einsum(delta.oo, (0, 1), x422, (2, 3), (2, 0, 3, 1)) - x423 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x423 += einsum(t2, (0, 1, 2, 3), x143, (0, 1, 4, 5, 2, 6), (4, 5, 3, 6)) * 0.5 - rdm2_f_ovov += einsum(x423, (0, 1, 2, 3), (1, 3, 0, 2)) * -1.0 - rdm2_f_ovov += einsum(x423, (0, 1, 2, 3), (1, 3, 0, 2)) * -1.0 - rdm2_f_vovo += einsum(x423, (0, 1, 2, 3), (3, 1, 2, 0)) * -1.0 - rdm2_f_vovo += einsum(x423, (0, 1, 2, 3), (3, 1, 2, 0)) * -1.0 - del x423 - x424 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x424 += einsum(t1, (0, 1), x151, (0, 2, 3, 4), (2, 3, 1, 4)) - rdm2_f_ovov += einsum(x424, (0, 1, 2, 3), (1, 3, 0, 2)) * -1.0 - rdm2_f_ovov += einsum(x424, (0, 1, 2, 3), (1, 3, 0, 2)) * -1.0 - del x424 - x425 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x425 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 3, 5, 1, 7, 2), (4, 6, 0, 7)) - rdm2_f_ovvo += einsum(x425, (0, 1, 2, 3), (1, 2, 3, 0)) * 0.25 - rdm2_f_ovvo += einsum(x425, (0, 1, 2, 3), (1, 2, 3, 0)) * 0.25 - rdm2_f_vovo += einsum(x425, (0, 1, 2, 3), (2, 1, 3, 0)) * -0.25 - rdm2_f_vovo += einsum(x425, (0, 1, 2, 3), (2, 1, 3, 0)) * -0.25 - del x425 - x426 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x426 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - x426 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 - x426 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 - x426 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 5.0 - x427 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x427 += einsum(l3, (0, 1, 2, 3, 4, 5), x426, (4, 6, 5, 1, 7, 2), (6, 3, 7, 0)) * 0.25 - del x426 - rdm2_f_ovvo += einsum(x427, (0, 1, 2, 3), (0, 3, 2, 1)) - rdm2_f_ovvo += einsum(x427, (0, 1, 2, 3), (0, 3, 2, 1)) - rdm2_f_voov += einsum(x427, (0, 1, 2, 3), (3, 0, 1, 2)) - rdm2_f_voov += einsum(x427, (0, 1, 2, 3), (3, 0, 1, 2)) - del x427 - x428 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x428 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - x428 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 - x429 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x429 += einsum(l3, (0, 1, 2, 3, 4, 5), x428, (5, 6, 4, 2, 1, 7), (6, 3, 7, 0)) * 0.25 - del x428 - rdm2_f_ovvo += einsum(x429, (0, 1, 2, 3), (0, 3, 2, 1)) * -1.0 - rdm2_f_ovvo += einsum(x429, (0, 1, 2, 3), (0, 3, 2, 1)) * -1.0 - del x429 - x430 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x430 += einsum(x42, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - x430 += einsum(x42, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) - x431 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x431 += einsum(t2, (0, 1, 2, 3), x430, (0, 1, 4, 5, 6, 2), (4, 5, 6, 3)) * 0.5 - del x430 - rdm2_f_ovvo += einsum(x431, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - rdm2_f_ovvo += einsum(x431, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - rdm2_f_voov += einsum(x431, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_voov += einsum(x431, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - del x431 - x432 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x432 += einsum(t2, (0, 1, 2, 3), x274, (1, 4, 5, 2), (4, 0, 5, 3)) - rdm2_f_ovvo += einsum(x432, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - rdm2_f_ovvo += einsum(x432, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - rdm2_f_vovo += einsum(x432, (0, 1, 2, 3), (2, 1, 3, 0)) - rdm2_f_vovo += einsum(x432, (0, 1, 2, 3), (2, 1, 3, 0)) - del x432 - x433 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x433 += einsum(l2, (0, 1, 2, 3), (3, 2, 0, 1)) * 2.0 - x433 += einsum(l2, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 - x434 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x434 += einsum(t2, (0, 1, 2, 3), x433, (1, 4, 5, 3), (4, 0, 5, 2)) - del x433 - rdm2_f_ovvo += einsum(x434, (0, 1, 2, 3), (1, 2, 3, 0)) - rdm2_f_ovvo += einsum(x434, (0, 1, 2, 3), (1, 2, 3, 0)) - rdm2_f_vovo += einsum(x434, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - rdm2_f_vovo += einsum(x434, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - del x434 - x435 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x435 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 3, 5, 0, 7, 2), (4, 6, 1, 7)) - rdm2_f_ovvo += einsum(x435, (0, 1, 2, 3), (1, 2, 3, 0)) * -0.25 - rdm2_f_ovvo += einsum(x435, (0, 1, 2, 3), (1, 2, 3, 0)) * -0.25 - rdm2_f_voov += einsum(x435, (0, 1, 2, 3), (2, 1, 0, 3)) * -0.25 - rdm2_f_voov += einsum(x435, (0, 1, 2, 3), (2, 1, 0, 3)) * -0.25 - x436 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x436 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (3, 6, 5, 1, 7, 2), (4, 6, 0, 7)) - rdm2_f_ovvo += einsum(x436, (0, 1, 2, 3), (1, 2, 3, 0)) * -0.25 - rdm2_f_ovvo += einsum(x436, (0, 1, 2, 3), (1, 2, 3, 0)) * -0.25 - rdm2_f_voov += einsum(x436, (0, 1, 2, 3), (2, 1, 0, 3)) * -0.25 - rdm2_f_voov += einsum(x436, (0, 1, 2, 3), (2, 1, 0, 3)) * -0.25 - del x436 - x437 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x437 += einsum(l2, (0, 1, 2, 3), t2, (4, 2, 5, 1), (3, 4, 0, 5)) - rdm2_f_ovvo += einsum(x437, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - rdm2_f_ovvo += einsum(x437, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - rdm2_f_voov += einsum(x437, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_voov += einsum(x437, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - x438 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x438 += einsum(t3, (0, 1, 2, 3, 4, 5), x127, (1, 2, 6, 5, 4, 7), (0, 6, 3, 7)) * 0.25 - rdm2_f_ovvo += einsum(x438, (0, 1, 2, 3), (0, 3, 2, 1)) * -1.0 - rdm2_f_ovvo += einsum(x438, (0, 1, 2, 3), (0, 3, 2, 1)) * -1.0 - rdm2_f_voov += einsum(x438, (0, 1, 2, 3), (3, 0, 1, 2)) * -1.0 - rdm2_f_voov += einsum(x438, (0, 1, 2, 3), (3, 0, 1, 2)) * -1.0 - del x438 - x439 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x439 += einsum(t2, (0, 1, 2, 3), x250, (0, 1, 4, 5, 2, 6), (4, 5, 6, 3)) * 0.5 - rdm2_f_ovvo += einsum(x439, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - rdm2_f_ovvo += einsum(x439, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - rdm2_f_voov += einsum(x439, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_voov += einsum(x439, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - del x439 - x440 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x440 += einsum(l2, (0, 1, 2, 3), x92, (3, 4, 5, 1), (2, 4, 0, 5)) - del x92 - rdm2_f_ovvo += einsum(x440, (0, 1, 2, 3), (1, 2, 3, 0)) - rdm2_f_ovvo += einsum(x440, (0, 1, 2, 3), (1, 2, 3, 0)) - rdm2_f_voov += einsum(x440, (0, 1, 2, 3), (2, 1, 0, 3)) - rdm2_f_voov += einsum(x440, (0, 1, 2, 3), (2, 1, 0, 3)) - del x440 - x441 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x441 += einsum(t1, (0, 1), x130, (2, 0, 3, 4), (2, 3, 1, 4)) * 0.5 - rdm2_f_ovvo += einsum(x441, (0, 1, 2, 3), (1, 3, 2, 0)) * -1.0 - rdm2_f_ovvo += einsum(x441, (0, 1, 2, 3), (1, 3, 2, 0)) * -1.0 - del x441 - x442 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x442 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) - x442 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 2, 1)) * -1.0 - x443 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x443 += einsum(t3, (0, 1, 2, 3, 4, 5), x442, (2, 1, 6, 5, 7, 3), (6, 0, 7, 4)) * 0.25 - del x442 - rdm2_f_voov += einsum(x443, (0, 1, 2, 3), (2, 1, 0, 3)) - rdm2_f_voov += einsum(x443, (0, 1, 2, 3), (2, 1, 0, 3)) - del x443 - x444 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x444 += einsum(l3, (0, 1, 2, 3, 4, 5), x317, (5, 6, 3, 2, 7, 1), (4, 6, 0, 7)) * 0.25 - del x317 - rdm2_f_voov += einsum(x444, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_voov += einsum(x444, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - del x444 - x445 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x445 += einsum(x42, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -0.5 - x445 += einsum(x42, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) - x446 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x446 += einsum(t2, (0, 1, 2, 3), x445, (4, 0, 1, 5, 6, 2), (4, 5, 6, 3)) * 2.0 - del x445 - rdm2_f_voov += einsum(x446, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_voov += einsum(x446, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_vovo += einsum(x446, (0, 1, 2, 3), (2, 1, 3, 0)) - rdm2_f_vovo += einsum(x446, (0, 1, 2, 3), (2, 1, 3, 0)) - del x446 - x447 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x447 += einsum(l2, (0, 1, 2, 3), x6, (2, 4, 5, 1), (3, 4, 0, 5)) - rdm2_f_voov += einsum(x447, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_voov += einsum(x447, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - del x447 - x448 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x448 += einsum(l3, (0, 1, 2, 3, 4, 5), x349, (4, 6, 5, 1, 7, 2), (6, 3, 7, 0)) * 0.25 - rdm2_f_voov += einsum(x448, (0, 1, 2, 3), (3, 0, 1, 2)) - rdm2_f_voov += einsum(x448, (0, 1, 2, 3), (3, 0, 1, 2)) - del x448 - x449 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x449 += einsum(t1, (0, 1), x151, (2, 0, 3, 4), (2, 3, 1, 4)) - del x151 - rdm2_f_voov += einsum(x449, (0, 1, 2, 3), (3, 1, 0, 2)) * -1.0 - rdm2_f_voov += einsum(x449, (0, 1, 2, 3), (3, 1, 0, 2)) * -1.0 - del x449 - x450 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x450 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * 5.0 - x450 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 2, 1)) * -1.0 - x451 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x451 += einsum(t3, (0, 1, 2, 3, 4, 5), x450, (2, 6, 1, 5, 7, 4), (6, 0, 7, 3)) * 0.25 - del x450 - rdm2_f_vovo += einsum(x451, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - rdm2_f_vovo += einsum(x451, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - del x451 - x452 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x452 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - x452 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - x452 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) - x453 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x453 += einsum(l3, (0, 1, 2, 3, 4, 5), x452, (4, 6, 5, 1, 7, 2), (6, 3, 7, 0)) * 0.25 - del x452 - rdm2_f_vovo += einsum(x453, (0, 1, 2, 3), (3, 0, 2, 1)) - rdm2_f_vovo += einsum(x453, (0, 1, 2, 3), (3, 0, 2, 1)) - del x453 - x454 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x454 += einsum(l3, (0, 1, 2, 3, 4, 5), x315, (5, 6, 4, 2, 1, 7), (3, 6, 0, 7)) * 0.25 - del x315 - rdm2_f_vovo += einsum(x454, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - rdm2_f_vovo += einsum(x454, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - del x454 - x455 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x455 += einsum(t1, (0, 1), x130, (0, 2, 3, 4), (2, 3, 1, 4)) * 0.5 - rdm2_f_vovo += einsum(x455, (0, 1, 2, 3), (3, 1, 2, 0)) * -1.0 - rdm2_f_vovo += einsum(x455, (0, 1, 2, 3), (3, 1, 2, 0)) * -1.0 - del x455 - x456 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x456 += einsum(t3, (0, 1, 2, 3, 4, 5), x42, (2, 0, 1, 6, 7, 4), (6, 7, 5, 3)) - rdm2_f_ovvv = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - rdm2_f_ovvv += einsum(x456, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.50000000000001 - rdm2_f_ovvv += einsum(x456, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.50000000000001 - rdm2_f_vovv = np.zeros((nvir, nocc, nvir, nvir), dtype=types[float]) - rdm2_f_vovv += einsum(x456, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.50000000000001 - rdm2_f_vovv += einsum(x456, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.50000000000001 - del x456 - x457 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x457 += einsum(t3, (0, 1, 2, 3, 4, 5), x35, (0, 1, 2, 6, 4, 7), (6, 7, 3, 5)) - rdm2_f_ovvv += einsum(x457, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.16666666666667 - rdm2_f_ovvv += einsum(x457, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.16666666666667 - rdm2_f_vovv += einsum(x457, (0, 1, 2, 3), (1, 0, 3, 2)) * -0.16666666666667 - rdm2_f_vovv += einsum(x457, (0, 1, 2, 3), (1, 0, 3, 2)) * -0.16666666666667 - del x457 - x458 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x458 += einsum(l1, (0, 1), t2, (2, 1, 3, 4), (2, 0, 3, 4)) - rdm2_f_ovvv += einsum(x458, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_ovvv += einsum(x458, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_vovv += einsum(x458, (0, 1, 2, 3), (1, 0, 3, 2)) - rdm2_f_vovv += einsum(x458, (0, 1, 2, 3), (1, 0, 3, 2)) - x459 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x459 += einsum(t2, (0, 1, 2, 3), x263, (1, 3, 4, 5), (0, 4, 2, 5)) - x460 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x460 += einsum(t3, (0, 1, 2, 3, 4, 5), x35, (0, 1, 2, 6, 3, 7), (6, 7, 5, 4)) - x461 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x461 += einsum(x238, (0, 1, 2, 3, 4, 5), x35, (0, 1, 2, 6, 7, 4), (6, 3, 5, 7)) * 0.16666666666667 - x462 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x462 += einsum(l2, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - x462 += einsum(l2, (0, 1, 2, 3), (2, 3, 0, 1)) - x463 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x463 += einsum(x462, (0, 1, 2, 3), t3, (4, 1, 0, 5, 6, 3), (4, 2, 5, 6)) * 0.5 - del x462 - x464 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x464 += einsum(l3, (0, 1, 2, 3, 4, 5), x198, (5, 6, 4, 2, 7, 1), (3, 6, 0, 7)) * 0.25 - del x198 - x465 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x465 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) - x465 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - x465 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 - x466 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x466 += einsum(l3, (0, 1, 2, 3, 4, 5), x465, (5, 6, 3, 2, 7, 1), (6, 4, 7, 0)) * 0.25 - del x465 - x467 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x467 += einsum(x42, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - x467 += einsum(x35, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - x467 += einsum(x35, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * 0.5 - x467 += einsum(x35, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -0.5 - x468 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x468 += einsum(t2, (0, 1, 2, 3), x467, (4, 1, 0, 5, 6, 2), (4, 5, 6, 3)) - del x467 - x469 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x469 += einsum(l2, (0, 1, 2, 3), x357, (3, 4, 1, 5), (4, 2, 5, 0)) - x470 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x470 += einsum(l2, (0, 1, 2, 3), x32, (2, 4, 1, 5), (3, 4, 0, 5)) - x471 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x471 += einsum(t1, (0, 1), x418, (2, 0, 3, 4), (2, 3, 4, 1)) * 0.5 - del x418 - x472 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x472 += einsum(x197, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.25 - del x197 - x472 += einsum(x176, (0, 1, 2, 3), (0, 1, 2, 3)) - x472 += einsum(x464, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x464 - x472 += einsum(x466, (0, 1, 2, 3), (1, 0, 3, 2)) - del x466 - x472 += einsum(x468, (0, 1, 2, 3), (0, 1, 2, 3)) - del x468 - x472 += einsum(x469, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x469 - x472 += einsum(x470, (0, 1, 2, 3), (0, 1, 2, 3)) - del x470 - x472 += einsum(x471, (0, 1, 2, 3), (0, 1, 2, 3)) - del x471 - x473 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x473 += einsum(t1, (0, 1), x472, (0, 2, 3, 4), (2, 3, 4, 1)) - del x472 - x474 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x474 += einsum(t2, (0, 1, 2, 3), x222, (1, 4, 5, 6, 2, 3), (4, 5, 0, 6)) * 0.5 - del x222 - x475 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x475 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) - x475 += einsum(x474, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x474 - x476 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x476 += einsum(t2, (0, 1, 2, 3), x475, (1, 0, 4, 5), (4, 5, 2, 3)) - del x475 - x477 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x477 += einsum(t2, (0, 1, 2, 3), x378, (1, 0, 4, 5), (4, 5, 2, 3)) * 0.25 - del x378 - x478 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x478 += einsum(x458, (0, 1, 2, 3), (0, 1, 2, 3)) - del x458 - x478 += einsum(x459, (0, 1, 2, 3), (0, 1, 2, 3)) - del x459 - x478 += einsum(x460, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.16666666666667 - del x460 - x478 += einsum(x461, (0, 1, 2, 3), (0, 3, 1, 2)) * -1.0 - del x461 - x478 += einsum(x463, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x463 - x478 += einsum(x473, (0, 1, 2, 3), (0, 1, 3, 2)) - del x473 - x478 += einsum(x476, (0, 1, 2, 3), (0, 1, 3, 2)) - del x476 - x478 += einsum(x477, (0, 1, 2, 3), (0, 1, 2, 3)) - del x477 - x478 += einsum(t1, (0, 1), x422, (2, 3), (0, 2, 1, 3)) - del x422 - rdm2_f_ovvv += einsum(x478, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_ovvv += einsum(x478, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_ovvv += einsum(x478, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_ovvv += einsum(x478, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_vovv += einsum(x478, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - rdm2_f_vovv += einsum(x478, (0, 1, 2, 3), (1, 0, 3, 2)) - rdm2_f_vovv += einsum(x478, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - rdm2_f_vovv += einsum(x478, (0, 1, 2, 3), (1, 0, 3, 2)) - del x478 - x479 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x479 += einsum(t2, (0, 1, 2, 3), x128, (1, 4, 5, 3), (0, 2, 5, 4)) * -1.0 - rdm2_f_ovvv += einsum(x479, (0, 1, 2, 3), (0, 2, 1, 3)) - rdm2_f_ovvv += einsum(x479, (0, 1, 2, 3), (0, 2, 3, 1)) * -0.5 - rdm2_f_ovvv += einsum(x479, (0, 1, 2, 3), (0, 2, 1, 3)) - rdm2_f_ovvv += einsum(x479, (0, 1, 2, 3), (0, 2, 3, 1)) * -0.5 - rdm2_f_vovv += einsum(x479, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_vovv += einsum(x479, (0, 1, 2, 3), (2, 0, 3, 1)) * 0.5 - rdm2_f_vovv += einsum(x479, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_vovv += einsum(x479, (0, 1, 2, 3), (2, 0, 3, 1)) * 0.5 - del x479 - x480 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x480 += einsum(x258, (0, 1, 2, 3), x6, (0, 4, 2, 5), (4, 1, 3, 5)) - rdm2_f_ovvv += einsum(x480, (0, 1, 2, 3), (0, 1, 3, 2)) - rdm2_f_ovvv += einsum(x480, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - rdm2_f_ovvv += einsum(x480, (0, 1, 2, 3), (0, 1, 3, 2)) - rdm2_f_ovvv += einsum(x480, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - rdm2_f_vovv += einsum(x480, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - rdm2_f_vovv += einsum(x480, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 - rdm2_f_vovv += einsum(x480, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - rdm2_f_vovv += einsum(x480, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 - del x480 - x481 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x481 += einsum(x238, (0, 1, 2, 3, 4, 5), x35, (0, 2, 1, 6, 7, 5), (6, 3, 4, 7)) * 0.16666666666667 - rdm2_f_ovvv += einsum(x481, (0, 1, 2, 3), (0, 3, 1, 2)) * -1.0 - rdm2_f_ovvv += einsum(x481, (0, 1, 2, 3), (0, 3, 1, 2)) * -1.0 - del x481 - x482 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x482 += einsum(l2, (0, 1, 2, 3), (3, 2, 0, 1)) * -0.3333333333333333 - x482 += einsum(l2, (0, 1, 2, 3), (2, 3, 0, 1)) - x483 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x483 += einsum(x482, (0, 1, 2, 3), t3, (4, 1, 0, 5, 3, 6), (4, 2, 6, 5)) * 1.5 - del x482 - rdm2_f_ovvv += einsum(x483, (0, 1, 2, 3), (0, 1, 3, 2)) - rdm2_f_ovvv += einsum(x483, (0, 1, 2, 3), (0, 1, 3, 2)) - del x483 - x484 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x484 += einsum(t2, (0, 1, 2, 3), l3, (4, 3, 5, 6, 0, 1), (6, 4, 5, 2)) - x485 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x485 += einsum(t2, (0, 1, 2, 3), l3, (4, 3, 5, 0, 6, 1), (6, 4, 5, 2)) - x486 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x486 += einsum(x484, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x486 += einsum(x485, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x486 += einsum(x485, (0, 1, 2, 3), (0, 2, 1, 3)) - x487 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x487 += einsum(x32, (0, 1, 2, 3), x486, (0, 4, 3, 5), (1, 4, 5, 2)) * 0.5 - del x486 - rdm2_f_ovvv += einsum(x487, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_ovvv += einsum(x487, (0, 1, 2, 3), (0, 1, 2, 3)) - del x487 - x488 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x488 += einsum(t2, (0, 1, 2, 3), x270, (1, 4, 2, 5), (0, 4, 5, 3)) * 0.5 - del x270 - rdm2_f_ovvv += einsum(x488, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_ovvv += einsum(x488, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x488 - x489 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x489 += einsum(x6, (0, 1, 2, 3), l3, (4, 5, 2, 6, 0, 1), (6, 4, 5, 3)) - x490 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x490 += einsum(t2, (0, 1, 2, 3), x489, (1, 4, 3, 5), (0, 4, 5, 2)) * -1.0 - rdm2_f_ovvv += einsum(x490, (0, 1, 2, 3), (0, 1, 3, 2)) - rdm2_f_ovvv += einsum(x490, (0, 1, 2, 3), (0, 1, 3, 2)) - del x490 - x491 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x491 += einsum(t1, (0, 1), x10, (2, 0, 3, 4), (2, 3, 1, 4)) * 3.0 - x492 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x492 += einsum(t1, (0, 1), x491, (0, 2, 3, 4), (2, 4, 3, 1)) * 0.5 - del x491 - rdm2_f_ovvv += einsum(x492, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_ovvv += einsum(x492, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x492 - x493 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x493 += einsum(l2, (0, 1, 2, 3), t3, (4, 2, 3, 5, 6, 1), (4, 0, 5, 6)) - rdm2_f_ovvv += einsum(x493, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_ovvv += einsum(x493, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_vovv += einsum(x493, (0, 1, 2, 3), (1, 0, 3, 2)) - rdm2_f_vovv += einsum(x493, (0, 1, 2, 3), (1, 0, 3, 2)) - del x493 - x494 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x494 += einsum(t3, (0, 1, 2, 3, 4, 5), x42, (2, 0, 1, 6, 5, 7), (6, 7, 3, 4)) - del x42 - rdm2_f_ovvv += einsum(x494, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.50000000000001 - rdm2_f_ovvv += einsum(x494, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.50000000000001 - rdm2_f_vovv += einsum(x494, (0, 1, 2, 3), (1, 0, 3, 2)) * -0.50000000000001 - rdm2_f_vovv += einsum(x494, (0, 1, 2, 3), (1, 0, 3, 2)) * -0.50000000000001 - del x494 - x495 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x495 += einsum(t3, (0, 1, 2, 3, 4, 5), x35, (0, 2, 1, 6, 7, 5), (6, 7, 3, 4)) - rdm2_f_ovvv += einsum(x495, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.50000000000001 - rdm2_f_ovvv += einsum(x495, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.50000000000001 - rdm2_f_vovv += einsum(x495, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.50000000000001 - rdm2_f_vovv += einsum(x495, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.50000000000001 - del x495 - x496 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x496 += einsum(x274, (0, 1, 2, 3), t3, (0, 4, 1, 5, 6, 3), (4, 2, 5, 6)) * 0.5 - del x274 - rdm2_f_ovvv += einsum(x496, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_ovvv += einsum(x496, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_vovv += einsum(x496, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - rdm2_f_vovv += einsum(x496, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x496 - x497 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x497 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 3, 4, 0, 2, 1)) - x497 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * -1.0 - x497 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) - x497 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 1, 2)) * -1.0 - x498 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x498 += einsum(t2, (0, 1, 2, 3), x497, (0, 1, 4, 5, 2, 6), (4, 5, 6, 3)) - del x497 - x499 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x499 += einsum(x263, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x499 += einsum(x263, (0, 1, 2, 3), (0, 2, 1, 3)) - x499 += einsum(x498, (0, 1, 2, 3), (0, 1, 2, 3)) - del x498 - x500 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x500 += einsum(t2, (0, 1, 2, 3), x499, (1, 4, 3, 5), (0, 4, 5, 2)) - del x499 - rdm2_f_ovvv += einsum(x500, (0, 1, 2, 3), (0, 1, 3, 2)) - rdm2_f_ovvv += einsum(x500, (0, 1, 2, 3), (0, 1, 3, 2)) - del x500 - x501 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x501 += einsum(t2, (0, 1, 2, 3), x127, (0, 1, 4, 5, 2, 6), (4, 3, 5, 6)) * 0.5 - del x127 - rdm2_f_vvov += einsum(x501, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - rdm2_f_vvov += einsum(x501, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - rdm2_f_vvvo += einsum(x501, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 - rdm2_f_vvvo += einsum(x501, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 - x502 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x502 += einsum(x263, (0, 1, 2, 3), (0, 1, 2, 3)) - x502 += einsum(x501, (0, 1, 2, 3), (0, 3, 2, 1)) * -1.0 - del x501 - x503 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x503 += einsum(t2, (0, 1, 2, 3), x502, (1, 4, 2, 5), (0, 4, 5, 3)) - rdm2_f_ovvv += einsum(x503, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - rdm2_f_ovvv += einsum(x503, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x503 - x504 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x504 += einsum(x263, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x504 += einsum(x128, (0, 1, 2, 3), (0, 3, 2, 1)) * -1.0 - x505 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x505 += einsum(t2, (0, 1, 2, 3), x504, (1, 2, 4, 5), (0, 4, 5, 3)) * 0.5 - del x504 - rdm2_f_ovvv += einsum(x505, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_ovvv += einsum(x505, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x505 - x506 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x506 += einsum(l3, (0, 1, 2, 3, 4, 5), x349, (4, 6, 5, 1, 7, 2), (6, 3, 7, 0)) * 0.125 - del x349 - x507 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x507 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 3, 4, 0, 2, 1)) - x507 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * -1.0 - x508 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x508 += einsum(t3, (0, 1, 2, 3, 4, 5), x507, (1, 2, 6, 4, 5, 7), (6, 0, 7, 3)) * 0.125 - x509 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x509 += einsum(t2, (0, 1, 2, 3), x250, (0, 1, 4, 5, 3, 6), (4, 5, 6, 2)) * 0.25 - del x250 - x510 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x510 += einsum(l2, (0, 1, 2, 3), x357, (3, 4, 1, 5), (4, 2, 5, 0)) * 0.5 - x511 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x511 += einsum(t1, (0, 1), x130, (2, 0, 3, 4), (2, 3, 1, 4)) * 0.25 - del x130 - x512 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x512 += einsum(x437, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - del x437 - x512 += einsum(x435, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.125 - del x435 - x512 += einsum(x183, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.125 - del x183 - x512 += einsum(x176, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - del x176 - x512 += einsum(x506, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x506 - x512 += einsum(x508, (0, 1, 2, 3), (0, 1, 2, 3)) - del x508 - x512 += einsum(x509, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x509 - x512 += einsum(x510, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x510 - x512 += einsum(x511, (0, 1, 2, 3), (0, 1, 3, 2)) - del x511 - x513 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x513 += einsum(t1, (0, 1), x512, (0, 2, 3, 4), (2, 3, 4, 1)) * 2.0 - del x512 - rdm2_f_ovvv += einsum(x513, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - rdm2_f_ovvv += einsum(x513, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - rdm2_f_vovv += einsum(x513, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - rdm2_f_vovv += einsum(x513, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x513 - x514 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x514 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) - del x23 - x514 += einsum(x331, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x331 - x515 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x515 += einsum(t2, (0, 1, 2, 3), x514, (0, 1, 4, 5), (4, 5, 3, 2)) - del x514 - rdm2_f_ovvv += einsum(x515, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - rdm2_f_ovvv += einsum(x515, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - rdm2_f_vovv += einsum(x515, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - rdm2_f_vovv += einsum(x515, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x515 - x516 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x516 += einsum(t2, (0, 1, 2, 3), x33, (0, 1, 4, 5), (4, 3, 2, 5)) * -0.5 - del x33 - rdm2_f_ovvv += einsum(x516, (0, 1, 2, 3), (0, 3, 2, 1)) * -1.0 - rdm2_f_ovvv += einsum(x516, (0, 1, 2, 3), (0, 3, 2, 1)) * -1.0 - rdm2_f_vovv += einsum(x516, (0, 1, 2, 3), (3, 0, 1, 2)) * -1.0 - rdm2_f_vovv += einsum(x516, (0, 1, 2, 3), (3, 0, 1, 2)) * -1.0 - del x516 - x517 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x517 += einsum(t2, (0, 1, 2, 3), x143, (0, 1, 4, 5, 6, 2), (4, 5, 3, 6)) * 0.5 - del x143 - x518 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x518 += einsum(x399, (0, 1, 2, 3), (0, 1, 2, 3)) - del x399 - x518 += einsum(x374, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - del x374 - x518 += einsum(x375, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - del x375 - x518 += einsum(x400, (0, 1, 2, 3), (0, 1, 2, 3)) - del x400 - x518 += einsum(x517, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x517 - x519 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x519 += einsum(t1, (0, 1), x518, (0, 2, 3, 4), (2, 3, 4, 1)) - del x518 - rdm2_f_ovvv += einsum(x519, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_ovvv += einsum(x519, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_vovv += einsum(x519, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - rdm2_f_vovv += einsum(x519, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x519 - x520 = np.zeros((nvir, nvir), dtype=types[float]) - x520 += einsum(l3, (0, 1, 2, 3, 4, 5), x204, (4, 3, 5, 1, 6, 2), (0, 6)) * 0.041666666666665 - del x204 - x521 = np.zeros((nvir, nvir), dtype=types[float]) - x521 += einsum(l3, (0, 1, 2, 3, 4, 5), x45, (4, 5, 3, 6, 1, 2), (0, 6)) * 0.041666666666665 - del x45 - x522 = np.zeros((nvir, nvir), dtype=types[float]) - x522 += einsum(t2, (0, 1, 2, 3), x96, (0, 1, 2, 4), (3, 4)) - del x96 - x523 = np.zeros((nvir, nvir), dtype=types[float]) - x523 += einsum(x421, (0, 1), (0, 1)) * 0.5 - del x421 - x523 += einsum(x203, (0, 1), (0, 1)) * 0.124999999999995 - del x203 - x523 += einsum(x520, (0, 1), (0, 1)) - del x520 - x523 += einsum(x521, (0, 1), (0, 1)) * -1.0 - del x521 - x523 += einsum(x522, (0, 1), (1, 0)) - del x522 - rdm2_f_ovvv += einsum(t1, (0, 1), x523, (2, 3), (0, 2, 1, 3)) * 2.0 - rdm2_f_ovvv += einsum(t1, (0, 1), x523, (2, 3), (0, 2, 1, 3)) * 2.0 - rdm2_f_vovv += einsum(t1, (0, 1), x523, (2, 3), (2, 0, 3, 1)) * 2.0 - rdm2_f_vovv += einsum(t1, (0, 1), x523, (2, 3), (2, 0, 3, 1)) * 2.0 - del x523 - x524 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x524 += einsum(x178, (0, 1, 2, 3, 4, 5), x35, (0, 2, 1, 6, 7, 5), (6, 7, 3, 4)) * 0.16666666666667 - del x35, x178 - rdm2_f_vovv += einsum(x524, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - rdm2_f_vovv += einsum(x524, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x524 - x525 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x525 += einsum(l2, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - x525 += einsum(l2, (0, 1, 2, 3), (2, 3, 0, 1)) * 3.0 - x526 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x526 += einsum(x525, (0, 1, 2, 3), t3, (4, 1, 0, 5, 3, 6), (4, 2, 6, 5)) * 0.5 - del x525 - rdm2_f_vovv += einsum(x526, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - rdm2_f_vovv += einsum(x526, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x526 - x527 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x527 += einsum(x484, (0, 1, 2, 3), (0, 1, 2, 3)) - del x484 - x527 += einsum(x485, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x527 += einsum(x485, (0, 1, 2, 3), (0, 2, 1, 3)) * 0.5 - x528 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x528 += einsum(x32, (0, 1, 2, 3), x527, (0, 4, 3, 5), (1, 4, 5, 2)) - del x527 - rdm2_f_vovv += einsum(x528, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - rdm2_f_vovv += einsum(x528, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x528 - x529 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x529 += einsum(x489, (0, 1, 2, 3), x6, (0, 4, 2, 5), (4, 1, 3, 5)) * -1.0 - del x6, x489 - rdm2_f_vovv += einsum(x529, (0, 1, 2, 3), (1, 0, 3, 2)) - rdm2_f_vovv += einsum(x529, (0, 1, 2, 3), (1, 0, 3, 2)) - del x529 - x530 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x530 += einsum(t2, (0, 1, 2, 3), x128, (1, 4, 5, 2), (0, 3, 5, 4)) * -0.5 - rdm2_f_vovv += einsum(x530, (0, 1, 2, 3), (2, 0, 1, 3)) - rdm2_f_vovv += einsum(x530, (0, 1, 2, 3), (2, 0, 1, 3)) - del x530 - x531 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x531 += einsum(t1, (0, 1), x10, (2, 0, 3, 4), (2, 3, 1, 4)) - del x10 - x532 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x532 += einsum(t1, (0, 1), x531, (0, 2, 3, 4), (2, 4, 3, 1)) * 1.5 - del x531 - rdm2_f_vovv += einsum(x532, (0, 1, 2, 3), (1, 0, 3, 2)) - rdm2_f_vovv += einsum(x532, (0, 1, 2, 3), (1, 0, 3, 2)) - del x532 - x533 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x533 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 3, 4, 0, 2, 1)) - x533 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * -1.0 - x533 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 0, 2)) * 4.0 - x534 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x534 += einsum(t2, (0, 1, 2, 3), x533, (0, 1, 4, 2, 5, 6), (4, 5, 6, 3)) - del x533 - x535 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x535 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 3, 4, 0, 1, 2)) - x535 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) - x536 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x536 += einsum(t2, (0, 1, 2, 3), x535, (1, 4, 0, 5, 6, 3), (4, 5, 6, 2)) * 2.0 - del x535 - x537 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x537 += einsum(x485, (0, 1, 2, 3), (0, 1, 2, 3)) - x537 += einsum(x485, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x537 += einsum(x534, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x534 - x537 += einsum(x536, (0, 1, 2, 3), (0, 1, 2, 3)) - del x536 - x538 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x538 += einsum(t2, (0, 1, 2, 3), x537, (1, 3, 4, 5), (0, 4, 5, 2)) * 0.5 - del x537 - rdm2_f_vovv += einsum(x538, (0, 1, 2, 3), (1, 0, 2, 3)) - rdm2_f_vovv += einsum(x538, (0, 1, 2, 3), (1, 0, 2, 3)) - del x538 - x539 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x539 += einsum(t2, (0, 1, 2, 3), x507, (0, 1, 4, 5, 2, 6), (4, 5, 6, 3)) - x540 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x540 += einsum(x47, (0, 1, 2, 3), (0, 2, 1, 3)) * 2.0 - del x47 - x540 += einsum(x539, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x539 - x541 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x541 += einsum(t2, (0, 1, 2, 3), x540, (1, 2, 4, 5), (0, 4, 5, 3)) * 0.5 - del x540 - rdm2_f_vovv += einsum(x541, (0, 1, 2, 3), (1, 0, 3, 2)) - rdm2_f_vovv += einsum(x541, (0, 1, 2, 3), (1, 0, 3, 2)) - del x541 - x542 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x542 += einsum(t2, (0, 1, 2, 3), x502, (1, 2, 4, 5), (0, 4, 5, 3)) - del x502 - rdm2_f_vovv += einsum(x542, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - rdm2_f_vovv += einsum(x542, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x542 - x543 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x543 += einsum(t1, (0, 1), l2, (2, 3, 4, 0), (4, 2, 3, 1)) - rdm2_f_vvov += einsum(x543, (0, 1, 2, 3), (1, 2, 0, 3)) - rdm2_f_vvov += einsum(x543, (0, 1, 2, 3), (1, 2, 0, 3)) - rdm2_f_vvvo += einsum(x543, (0, 1, 2, 3), (2, 1, 3, 0)) - rdm2_f_vvvo += einsum(x543, (0, 1, 2, 3), (2, 1, 3, 0)) - x544 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x544 += einsum(x543, (0, 1, 2, 3), (0, 1, 2, 3)) - x544 += einsum(x485, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - del x485 - rdm2_f_vvov += einsum(x544, (0, 1, 2, 3), (1, 2, 0, 3)) - rdm2_f_vvov += einsum(x544, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_vvov += einsum(x544, (0, 1, 2, 3), (1, 2, 0, 3)) - rdm2_f_vvov += einsum(x544, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_vvvo += einsum(x544, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - rdm2_f_vvvo += einsum(x544, (0, 1, 2, 3), (2, 1, 3, 0)) - rdm2_f_vvvo += einsum(x544, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - rdm2_f_vvvo += einsum(x544, (0, 1, 2, 3), (2, 1, 3, 0)) - del x544 - x545 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x545 += einsum(x357, (0, 1, 2, 3), l3, (4, 2, 5, 1, 0, 6), (6, 3, 4, 5)) - del x357 - rdm2_f_vvov += einsum(x545, (0, 1, 2, 3), (3, 2, 0, 1)) - rdm2_f_vvov += einsum(x545, (0, 1, 2, 3), (3, 2, 0, 1)) - rdm2_f_vvvo += einsum(x545, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 - rdm2_f_vvvo += einsum(x545, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 - del x545 - x546 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) - x546 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (3, 4, 5, 6, 1, 7), (0, 2, 6, 7)) - rdm2_f_vvvv = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) - rdm2_f_vvvv += einsum(x546, (0, 1, 2, 3), (1, 0, 3, 2)) * 0.50000000000001 - rdm2_f_vvvv += einsum(x546, (0, 1, 2, 3), (1, 0, 3, 2)) * 0.50000000000001 - del x546 - x547 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) - x547 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (5, 3, 4, 6, 2, 7), (0, 1, 6, 7)) - rdm2_f_vvvv += einsum(x547, (0, 1, 2, 3), (1, 0, 3, 2)) * -0.16666666666667 - rdm2_f_vvvv += einsum(x547, (0, 1, 2, 3), (1, 0, 3, 2)) * -0.16666666666667 - del x547 - x548 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) - x548 += einsum(l2, (0, 1, 2, 3), t2, (2, 3, 4, 5), (0, 1, 4, 5)) - rdm2_f_vvvv += einsum(x548, (0, 1, 2, 3), (1, 0, 3, 2)) - rdm2_f_vvvv += einsum(x548, (0, 1, 2, 3), (1, 0, 3, 2)) - x549 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) - x549 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (5, 3, 4, 2, 6, 7), (0, 1, 7, 6)) - x550 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) - x550 += einsum(l3, (0, 1, 2, 3, 4, 5), x238, (3, 5, 4, 6, 2, 7), (6, 7, 0, 1)) * 0.16666666666667 - x551 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x551 += einsum(x32, (0, 1, 2, 3), l3, (4, 5, 2, 6, 0, 1), (6, 4, 5, 3)) - del x32 - x552 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x552 += einsum(t2, (0, 1, 2, 3), x507, (0, 1, 4, 5, 2, 6), (4, 5, 6, 3)) * 0.5 - del x507 - x553 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x553 += einsum(x543, (0, 1, 2, 3), (0, 1, 2, 3)) - x553 += einsum(x551, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x551 - x553 += einsum(x552, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x552 - x554 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) - x554 += einsum(t1, (0, 1), x553, (0, 2, 3, 4), (2, 3, 4, 1)) - del x553 - x555 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) - x555 += einsum(x548, (0, 1, 2, 3), (1, 0, 3, 2)) - del x548 - x555 += einsum(x549, (0, 1, 2, 3), (1, 0, 3, 2)) * -0.16666666666667 - del x549 - x555 += einsum(x550, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 - del x550 - x555 += einsum(x554, (0, 1, 2, 3), (1, 0, 2, 3)) - del x554 - rdm2_f_vvvv += einsum(x555, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_vvvv += einsum(x555, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_vvvv += einsum(x555, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_vvvv += einsum(x555, (0, 1, 2, 3), (0, 1, 2, 3)) - del x555 - x556 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) - x556 += einsum(t1, (0, 1), x258, (0, 2, 3, 4), (2, 3, 1, 4)) - del x258 - rdm2_f_vvvv += einsum(x556, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_vvvv += einsum(x556, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_vvvv += einsum(x556, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_vvvv += einsum(x556, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x556 - x557 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) - x557 += einsum(l3, (0, 1, 2, 3, 4, 5), x238, (3, 5, 4, 6, 7, 2), (6, 7, 0, 1)) * 0.16666666666667 - del x238 - rdm2_f_vvvv += einsum(x557, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - rdm2_f_vvvv += einsum(x557, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - del x557 - x558 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) - x558 += einsum(t1, (0, 1), x543, (0, 2, 3, 4), (3, 2, 4, 1)) - del x543 - rdm2_f_vvvv += einsum(x558, (0, 1, 2, 3), (1, 0, 3, 2)) - rdm2_f_vvvv += einsum(x558, (0, 1, 2, 3), (1, 0, 3, 2)) - del x558 - x559 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) - x559 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (3, 4, 5, 6, 7, 2), (0, 1, 6, 7)) - x560 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) - x560 += einsum(t1, (0, 1), x263, (0, 2, 3, 4), (2, 3, 1, 4)) - del x263 - x561 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) - x561 += einsum(x559, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.50000000000001 - del x559 - x561 += einsum(x560, (0, 1, 2, 3), (0, 1, 2, 3)) - del x560 - rdm2_f_vvvv += einsum(x561, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_vvvv += einsum(x561, (0, 1, 2, 3), (1, 0, 3, 2)) - rdm2_f_vvvv += einsum(x561, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_vvvv += einsum(x561, (0, 1, 2, 3), (1, 0, 3, 2)) - del x561 - x562 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) - x562 += einsum(t1, (0, 1), x128, (0, 2, 3, 4), (1, 3, 4, 2)) * -0.5 - del x128 - rdm2_f_vvvv += einsum(x562, (0, 1, 2, 3), (1, 2, 3, 0)) - rdm2_f_vvvv += einsum(x562, (0, 1, 2, 3), (2, 1, 0, 3)) - rdm2_f_vvvv += einsum(x562, (0, 1, 2, 3), (1, 2, 3, 0)) - rdm2_f_vvvv += einsum(x562, (0, 1, 2, 3), (2, 1, 0, 3)) - del x562 + Parameters + ---------- + f : array + Fock matrix. + r1 : array + R1 amplitudes. + r2 : array + R2 amplitudes. + r3 : array + R3 amplitudes. + t1 : array + T1 amplitudes. + t2 : array + T2 amplitudes. + t3 : array + T3 amplitudes. + v : array + Electron repulsion integrals. - rdm2_f = pack_2e(rdm2_f_oooo, rdm2_f_ooov, rdm2_f_oovo, rdm2_f_ovoo, rdm2_f_vooo, rdm2_f_oovv, rdm2_f_ovov, rdm2_f_ovvo, rdm2_f_voov, rdm2_f_vovo, rdm2_f_vvoo, rdm2_f_ovvv, rdm2_f_vovv, rdm2_f_vvov, rdm2_f_vvvo, rdm2_f_vvvv) + Returns + ------- + r1new : array + Updated R1 residuals. + r2new : array + Updated R2 residuals. + r3new : array + Updated R3 residuals. + """ - rdm2_f = np.transpose(rdm2_f, (0, 2, 1, 3)) + ints = kwargs["ints"] + tmp272 = einsum(r3, (0, 1, 2, 3, 4), ints.tmp953, (3, 4, 5, 6), (5, 6, 0, 1, 2)) + r3new = np.copy(np.transpose(tmp272, (2, 3, 4, 1, 0))) + tmp52 = einsum(t2, (0, 1, 2, 3), r3, (4, 5, 2, 1, 0), (4, 5, 3)) + tmp269 = einsum(v.ovov, (0, 1, 2, 3), tmp52, (4, 5, 3), (0, 2, 4, 5, 1)) + r3new += np.transpose(tmp269, (2, 4, 3, 1, 0)) + tmp170 = einsum(r3, (0, 1, 2, 3, 4), t1, (5, 2), (3, 4, 5, 0, 1)) + tmp341 = einsum(ints.tmp318, (0, 1), tmp170, (2, 3, 0, 4, 5), (2, 3, 1, 4, 5)) + tmp347 = np.copy(tmp341) + del tmp341 + tmp342 = einsum(ints.tmp942, (0, 1, 2, 3), tmp170, (0, 4, 1, 5, 6), (2, 4, 3, 5, 6)) + tmp347 += tmp342 + del tmp342 + tmp175 = einsum(r3, (0, 1, 2, 3, 4), v.ovvv, (5, 6, 7, 1), (3, 4, 5, 0, 2, 6, 7)) + tmp185 = einsum(t1, (0, 1), tmp175, (2, 3, 0, 4, 1, 5, 6), (2, 3, 4, 5, 6)) + tmp347 += tmp185 + tmp343 = np.copy(ints.tmp301) * 0.5 + tmp343 += ints.tmp313 + tmp344 = einsum(tmp343, (0, 1, 2, 3), r3, (4, 5, 2, 0, 6), (6, 1, 4, 5, 3)) * 2 + del tmp343 + tmp347 += np.transpose(tmp344, (1, 0, 4, 2, 3)) + del tmp344 + tmp345 = np.copy(f.vv) + tmp345 += ints.tmp119 + tmp345 += ints.tmp76 * 2 + tmp345 += ints.tmp121 * -2 + tmp346 = einsum(r3, (0, 1, 2, 3, 4), tmp345, (2, 5), (3, 4, 0, 1, 5)) + del tmp345 + tmp347 += np.transpose(tmp346, (0, 1, 4, 2, 3)) + del tmp346 + r3new += np.transpose(tmp347, (2, 4, 3, 0, 1)) * -1 + r3new += np.transpose(tmp347, (3, 4, 2, 0, 1)) + del tmp347 + tmp265 = einsum(r3, (0, 1, 2, 3, 4), ints.tmp301, (4, 5, 2, 6), (5, 3, 6, 0, 1)) + tmp349 = np.copy(tmp265) + tmp268 = einsum(ints.tmp942, (0, 1, 2, 3), tmp170, (4, 0, 1, 5, 6), (2, 4, 3, 5, 6)) + tmp349 += tmp268 + tmp308 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * -1 + tmp308 += t2 + tmp323 = einsum(tmp308, (0, 1, 2, 3), r3, (3, 2, 4, 5, 0), (5, 1, 4)) + tmp348 = einsum(tmp323, (0, 1, 2), v.ovov, (3, 4, 1, 5), (3, 0, 5, 4, 2)) * 0.5 + tmp349 += np.transpose(tmp348, (1, 0, 4, 3, 2)) * -1 + del tmp348 + r3new += np.transpose(tmp349, (2, 4, 3, 1, 0)) * -1 + r3new += np.transpose(tmp349, (3, 4, 2, 1, 0)) + del tmp349 + tmp350 = einsum(ints.tmp78, (0, 1), r3, (2, 3, 1, 4, 5), (4, 5, 0, 2, 3)) + tmp355 = np.copy(tmp350) + del tmp350 + tmp351 = np.copy(ints.tmp304) + tmp351 += ints.tmp308 + tmp352 = einsum(r3, (0, 1, 2, 3, 4), tmp351, (3, 5, 2, 6), (4, 5, 0, 1, 6)) + del tmp351 + tmp355 += np.transpose(tmp352, (1, 0, 4, 2, 3)) + del tmp352 + tmp353 = np.copy(f.ov) + tmp353 += ints.tmp321 * 2 + tmp354 = einsum(tmp353, (0, 1), tmp170, (2, 3, 0, 4, 5), (2, 3, 4, 5, 1)) + del tmp353 + tmp355 += np.transpose(tmp354, (0, 1, 4, 2, 3)) + del tmp354 + r3new += np.transpose(tmp355, (2, 4, 3, 0, 1)) + r3new += np.transpose(tmp355, (3, 4, 2, 0, 1)) * -1 + del tmp355 + tmp276 = einsum(r3, (0, 1, 2, 3, 4), v.oovv, (5, 4, 6, 2), (3, 5, 0, 1, 6)) + tmp361 = np.copy(tmp276) + tmp328 = einsum(r3, (0, 1, 2, 3, 4), t2, (5, 3, 2, 1), (4, 5, 0)) + tmp356 = einsum(tmp328, (0, 1, 2), v.ovov, (3, 4, 1, 5), (0, 3, 2, 4, 5)) + tmp361 += tmp356 * -0.5 + del tmp356 + tmp357 = np.copy(ints.tmp304) + tmp357 += ints.tmp308 + tmp358 = einsum(r3, (0, 1, 2, 3, 4), tmp357, (4, 5, 1, 6), (3, 5, 0, 2, 6)) + del tmp357 + tmp361 += np.transpose(tmp358, (1, 0, 4, 2, 3)) + del tmp358 + tmp183 = einsum(v.ovvv, (0, 1, 2, 3), r3, (4, 5, 3, 6, 7), (6, 7, 0, 4, 5, 1, 2)) + tmp359 = np.copy(tmp183) + tmp359 += np.transpose(tmp183, (0, 2, 1, 3, 5, 4, 6)) + tmp360 = einsum(t1, (0, 1), tmp359, (2, 0, 3, 4, 5, 1, 6), (2, 3, 4, 5, 6)) + del tmp359 + tmp361 += tmp360 + del tmp360 + r3new += np.transpose(tmp361, (2, 3, 4, 0, 1)) * -1 + r3new += np.transpose(tmp361, (4, 3, 2, 0, 1)) + del tmp361 + tmp363 = einsum(v.ovov, (0, 1, 2, 3), r1, (4,), (0, 2, 4, 1, 3)) + tmp266 = einsum(r3, (0, 1, 2, 3, 4), v.oovv, (5, 3, 6, 2), (4, 5, 0, 1, 6)) + tmp363 += np.transpose(tmp266, (1, 0, 2, 4, 3)) + tmp362 = einsum(t1, (0, 1), tmp183, (0, 2, 3, 4, 5, 1, 6), (2, 3, 4, 5, 6)) + tmp363 += np.transpose(tmp362, (1, 0, 2, 4, 3)) + del tmp362 + r3new += np.transpose(tmp363, (2, 4, 3, 0, 1)) * -1 + r3new += np.transpose(tmp363, (3, 4, 2, 0, 1)) + del tmp363 + tmp280 = einsum(r3, (0, 1, 2, 3, 4), v.ovov, (5, 6, 4, 1), (3, 5, 0, 2, 6)) + tmp366 = np.copy(tmp280) + tmp364 = einsum(tmp308, (0, 1, 2, 3), r3, (3, 4, 2, 0, 5), (5, 1, 4)) + tmp365 = einsum(tmp364, (0, 1, 2), v.ovov, (3, 4, 1, 5), (3, 0, 5, 4, 2)) * 0.5 + del tmp364 + tmp366 += np.transpose(tmp365, (1, 0, 4, 3, 2)) * -1 + del tmp365 + r3new += np.transpose(tmp366, (3, 2, 4, 1, 0)) * -1 + r3new += np.transpose(tmp366, (4, 2, 3, 1, 0)) + del tmp366 + tmp279 = einsum(r3, (0, 1, 2, 3, 4), v.ovov, (5, 6, 3, 2), (4, 5, 0, 1, 6)) + tmp368 = np.copy(tmp279) + tmp367 = einsum(v.ooov, (0, 1, 2, 3), tmp170, (1, 4, 2, 5, 6), (4, 0, 5, 6, 3)) + tmp368 += tmp367 + del tmp367 + r3new += np.transpose(tmp368, (2, 3, 4, 1, 0)) + r3new += np.transpose(tmp368, (4, 3, 2, 1, 0)) * -1 + del tmp368 + tmp369 = einsum(r3, (0, 1, 2, 3, 4), ints.tmp313, (4, 5, 1, 6), (5, 3, 6, 0, 2)) + tmp375 = np.copy(tmp369) * 2 + del tmp369 + tmp13 = einsum(v.vvvv, (0, 1, 2, 3), r3, (4, 1, 3, 5, 6), (5, 6, 4, 0, 2)) + tmp375 += tmp13 + tmp370 = einsum(tmp170, (0, 1, 2, 3, 4), v.ooov, (5, 1, 2, 6), (0, 5, 3, 4, 6)) + tmp375 += tmp370 + del tmp370 + tmp371 = einsum(t2, (0, 1, 2, 3), r3, (4, 2, 3, 5, 1), (5, 0, 4)) + tmp372 = einsum(tmp371, (0, 1, 2), v.ovov, (3, 4, 1, 5), (0, 3, 2, 4, 5)) + del tmp371 + tmp375 += tmp372 + del tmp372 + tmp30 = einsum(t2, (0, 1, 2, 3), r3, (4, 2, 3, 5, 6), (5, 6, 0, 1, 4)) + tmp373 = np.copy(tmp30) + tmp171 = einsum(t1, (0, 1), tmp170, (2, 3, 4, 5, 1), (2, 3, 0, 4, 5)) + tmp373 += tmp171 + tmp374 = einsum(v.ovov, (0, 1, 2, 3), tmp373, (4, 5, 2, 0, 6), (4, 5, 1, 3, 6)) + del tmp373 + tmp375 += np.transpose(tmp374, (0, 1, 4, 3, 2)) + del tmp374 + r3new += np.transpose(tmp375, (2, 3, 4, 0, 1)) + r3new += np.transpose(tmp375, (4, 3, 2, 0, 1)) * -1 + del tmp375 + tmp376 = einsum(r2, (0, 1, 2), ints.tmp942, (2, 3, 4, 5), (3, 4, 5, 0, 1)) + tmp378 = np.copy(tmp376) + del tmp376 + tmp99 = einsum(r2, (0, 1, 2), t1, (3, 1), (2, 3, 0)) + tmp377 = einsum(v.ovov, (0, 1, 2, 3), tmp99, (4, 2, 5), (4, 0, 5, 1, 3)) + tmp378 += tmp377 + del tmp377 + r3new += np.transpose(tmp378, (2, 3, 4, 0, 1)) + r3new += np.transpose(tmp378, (4, 3, 2, 0, 1)) * -1 + r3new += np.transpose(tmp378, (3, 2, 4, 1, 0)) + r3new += np.transpose(tmp378, (4, 2, 3, 1, 0)) * -1 + del tmp378 + tmp249 = einsum(r2, (0, 1, 2), t1, (3, 0), (2, 3, 1)) + tmp379 = einsum(v.ovov, (0, 1, 2, 3), tmp249, (4, 2, 5), (4, 0, 5, 1, 3)) + r3new += np.transpose(tmp379, (2, 3, 4, 0, 1)) * -1 + r3new += np.transpose(tmp379, (4, 3, 2, 0, 1)) + r3new += np.transpose(tmp379, (2, 4, 3, 1, 0)) * -1 + r3new += np.transpose(tmp379, (3, 4, 2, 1, 0)) + del tmp379 + tmp281 = einsum(v.vvvv, (0, 1, 2, 3), r3, (1, 4, 3, 5, 6), (5, 6, 4, 0, 2)) + tmp286 = np.copy(tmp281) * 0.5 + del tmp281 + tmp282 = einsum(t1, (0, 1), tmp183, (2, 3, 0, 1, 4, 5, 6), (2, 3, 4, 5, 6)) + tmp286 += tmp282 * -1 + del tmp282 + tmp263 = einsum(t2, (0, 1, 2, 3), r3, (2, 4, 3, 5, 6), (5, 6, 0, 1, 4)) + tmp284 = np.copy(tmp263) + tmp283 = einsum(tmp170, (0, 1, 2, 3, 4), t1, (5, 3), (0, 1, 5, 2, 4)) + tmp284 += tmp283 + del tmp283 + tmp285 = einsum(v.ovov, (0, 1, 2, 3), tmp284, (4, 5, 2, 0, 6), (4, 5, 1, 3, 6)) * 0.5 + del tmp284 + tmp286 += np.transpose(tmp285, (0, 1, 4, 3, 2)) + del tmp285 + r3new += np.transpose(tmp286, (3, 2, 4, 0, 1)) + r3new += np.transpose(tmp286, (4, 2, 3, 0, 1)) * -1 + tmp380 = einsum(t1, (0, 1), tmp175, (2, 0, 3, 4, 5, 6, 1), (2, 3, 4, 5, 6)) + r3new += np.transpose(tmp380, (2, 4, 3, 0, 1)) * 2 + r3new += np.transpose(tmp380, (3, 2, 4, 1, 0)) * -1 + r3new += np.transpose(tmp380, (4, 2, 3, 1, 0)) + del tmp380 + tmp381 = einsum(t1, (0, 1), tmp183, (0, 2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 6)) + r3new += np.transpose(tmp381, (2, 4, 3, 0, 1)) + r3new += np.transpose(tmp381, (2, 3, 4, 1, 0)) + r3new += np.transpose(tmp381, (4, 3, 2, 1, 0)) * -1 + del tmp381 + tmp382 = einsum(v.ooov, (0, 1, 2, 3), r2, (4, 5, 1), (0, 2, 4, 5, 3)) + r3new += np.transpose(tmp382, (2, 4, 3, 0, 1)) + r3new += np.transpose(tmp382, (3, 4, 2, 0, 1)) * -1 + r3new += np.transpose(tmp382, (3, 2, 4, 1, 0)) * -1 + r3new += np.transpose(tmp382, (4, 2, 3, 1, 0)) + del tmp382 + tmp92 = einsum(r2, (0, 1, 2), v.ovvv, (3, 4, 5, 1), (2, 3, 0, 4, 5)) + r3new += np.transpose(tmp92, (2, 3, 4, 0, 1)) * -1 + r3new += np.transpose(tmp92, (4, 3, 2, 0, 1)) + r3new += np.transpose(tmp92, (3, 2, 4, 1, 0)) * -1 + r3new += np.transpose(tmp92, (4, 2, 3, 1, 0)) + tmp80 = einsum(r2, (0, 1, 2), v.ovvv, (3, 4, 5, 0), (2, 3, 1, 4, 5)) + r3new += np.transpose(tmp80, (2, 3, 4, 0, 1)) + r3new += np.transpose(tmp80, (4, 3, 2, 0, 1)) * -1 + r3new += np.transpose(tmp80, (2, 4, 3, 1, 0)) + r3new += np.transpose(tmp80, (3, 4, 2, 1, 0)) * -1 + tmp49 = einsum(t2, (0, 1, 2, 3), r3, (4, 5, 3, 1, 0), (4, 5, 2)) + tmp290 = einsum(tmp49, (0, 1, 2), v.ovov, (3, 4, 5, 2), (3, 5, 0, 1, 4)) + r3new += np.transpose(tmp290, (2, 3, 4, 0, 1)) * -1 + r3new += np.transpose(tmp290, (4, 3, 2, 0, 1)) + r3new += np.transpose(tmp290, (2, 4, 3, 1, 0)) * -1 + tmp335 = einsum(r3, (0, 1, 2, 3, 4), t2, (5, 4, 2, 1), (3, 5, 0)) + tmp383 = einsum(v.ovov, (0, 1, 2, 3), tmp335, (4, 2, 5), (4, 0, 5, 1, 3)) + r3new += np.transpose(tmp383, (2, 3, 4, 0, 1)) * -2 + r3new += np.transpose(tmp383, (4, 3, 2, 0, 1)) * 2 + r3new += np.transpose(tmp383, (3, 2, 4, 1, 0)) * -1 + r3new += np.transpose(tmp383, (4, 2, 3, 1, 0)) + del tmp383 + tmp326 = einsum(t2, (0, 1, 2, 3), r3, (4, 2, 3, 1, 5), (5, 0, 4)) + tmp384 = einsum(v.ovov, (0, 1, 2, 3), tmp326, (4, 2, 5), (4, 0, 5, 1, 3)) + r3new += np.transpose(tmp384, (2, 3, 4, 0, 1)) * -0.5 + r3new += np.transpose(tmp384, (4, 3, 2, 0, 1)) * 0.5 + r3new += np.transpose(tmp384, (2, 4, 3, 1, 0)) * -1 + r3new += np.transpose(tmp384, (3, 4, 2, 1, 0)) + del tmp384 + tmp54 = einsum(r3, (0, 1, 2, 3, 4), t2, (4, 3, 5, 1), (0, 2, 5)) + tmp291 = einsum(v.ovov, (0, 1, 2, 3), tmp54, (4, 5, 3), (0, 2, 4, 5, 1)) + r3new += np.transpose(tmp291, (3, 2, 4, 0, 1)) * -0.5 + r3new += np.transpose(tmp291, (4, 2, 3, 0, 1)) * 0.5 + r3new += np.transpose(tmp291, (2, 4, 3, 1, 0)) * 0.5 + tmp39 = einsum(t2, (0, 1, 2, 3), r3, (4, 2, 5, 1, 0), (4, 5, 3)) + tmp186 = einsum(v.ovov, (0, 1, 2, 3), tmp39, (4, 5, 3), (0, 2, 4, 5, 1)) + r3new += np.transpose(tmp186, (3, 2, 4, 0, 1)) * 0.5 + r3new += np.transpose(tmp186, (4, 2, 3, 0, 1)) * -0.5 + r3new += np.transpose(tmp186, (2, 4, 3, 1, 0)) * -1.5 + tmp385 = einsum(ints.tmp942, (0, 1, 2, 3), tmp170, (0, 4, 2, 5, 6), (1, 4, 3, 5, 6)) + r3new += np.transpose(tmp385, (2, 4, 3, 0, 1)) + r3new += np.transpose(tmp385, (3, 4, 2, 0, 1)) * -1 + r3new += np.transpose(tmp385, (3, 2, 4, 1, 0)) * -1 + del tmp385 + tmp177 = einsum(t1, (0, 1), r3, (2, 1, 3, 4, 5), (4, 5, 0, 2, 3)) + tmp386 = einsum(tmp177, (0, 1, 2, 3, 4), ints.tmp942, (1, 5, 2, 6), (5, 0, 6, 3, 4)) + r3new += np.transpose(tmp386, (2, 3, 4, 0, 1)) * -1 + r3new += np.transpose(tmp386, (4, 3, 2, 0, 1)) + r3new += np.transpose(tmp386, (3, 2, 4, 1, 0)) * -2 + del tmp386 + tmp289 = einsum(v.ovoo, (0, 1, 2, 3), tmp170, (3, 4, 2, 5, 6), (4, 0, 5, 6, 1)) + r3new += np.transpose(tmp289, (2, 4, 3, 0, 1)) * -1 + r3new += np.transpose(tmp289, (2, 3, 4, 1, 0)) * -1 + r3new += np.transpose(tmp289, (4, 3, 2, 1, 0)) + tmp182 = einsum(v.ovoo, (0, 1, 2, 3), tmp177, (4, 3, 2, 5, 6), (4, 0, 5, 6, 1)) + r3new += np.transpose(tmp182, (2, 4, 3, 0, 1)) * -2 + r3new += np.transpose(tmp182, (3, 2, 4, 1, 0)) + r3new += np.transpose(tmp182, (4, 2, 3, 1, 0)) * -1 + tmp388 = np.copy(np.transpose(r3, (3, 4, 0, 1, 2))) + tmp388 += np.transpose(r3, (4, 3, 0, 1, 2)) * -1 + tmp388 += np.transpose(r3, (4, 3, 0, 2, 1)) * 2 + tmp387 = np.copy(ints.tmp313) * 2 + tmp387 += np.transpose(v.ovov, (0, 2, 1, 3)) + tmp387 += ints.tmp304 * -1 + tmp387 += ints.tmp308 * -1 + r3new += einsum(tmp388, (0, 1, 2, 3, 4), tmp387, (0, 5, 4, 6), (2, 6, 3, 1, 5)) + del tmp388, tmp387 + tmp389 = np.copy(tmp183) + tmp389 += np.transpose(tmp175, (0, 1, 2, 3, 4, 6, 5)) + tmp389 += np.transpose(tmp175, (2, 0, 1, 3, 4, 6, 5)) + r3new += einsum(t1, (0, 1), tmp389, (2, 0, 3, 4, 5, 6, 1), (4, 6, 5, 2, 3)) * -1 + del tmp389 + tmp300 = np.copy(ints.tmp301) + tmp300 += v.oovv * -1 + tmp301 = einsum(tmp300, (0, 1, 2, 3), r3, (4, 2, 5, 0, 6), (6, 1, 4, 5, 3)) + r3new += np.transpose(tmp301, (2, 4, 3, 1, 0)) + r3new += einsum(tmp300, (0, 1, 2, 3), r3, (4, 2, 5, 6, 0), (4, 3, 5, 6, 1)) + tmp390 = np.copy(ints.tmp1082) + del ints.tmp1082 + tmp390 += np.transpose(ints.tmp694, (1, 0, 3, 2)) + tmp390 += np.transpose(ints.tmp953, (0, 1, 3, 2)) + tmp390 += np.transpose(v.oooo, (0, 2, 1, 3)) + r3new += einsum(r3, (0, 1, 2, 3, 4), tmp390, (4, 3, 5, 6), (0, 1, 2, 6, 5)) + del tmp390 + tmp391 = np.copy(ints.tmp942) + tmp391 += np.transpose(v.ooov, (0, 2, 1, 3)) + r3new += einsum(tmp177, (0, 1, 2, 3, 4), tmp391, (1, 2, 5, 6), (3, 6, 4, 0, 5)) + r3new += einsum(tmp391, (0, 1, 2, 3), tmp170, (4, 0, 2, 5, 6), (5, 3, 6, 4, 1)) + r3new += einsum(tmp391, (0, 1, 2, 3), tmp177, (0, 4, 1, 5, 6), (5, 3, 6, 2, 4)) + del tmp391 + tmp333 = np.copy(f.vv) + tmp333 += ints.tmp119 + tmp333 += ints.tmp76 * 2 + tmp333 += ints.tmp121 * -2 + tmp333 += np.transpose(ints.tmp78, (1, 0)) * -1 + r3new += einsum(r3, (0, 1, 2, 3, 4), tmp333, (1, 5), (0, 5, 2, 3, 4)) + tmp392 = np.copy(f.oo) * 0.5 + tmp392 += ints.tmp335 + tmp392 += np.transpose(ints.tmp348, (1, 0)) + tmp392 += np.transpose(ints.tmp59, (1, 0)) * 0.5 + tmp392 += ints.tmp767 + tmp392 += ints.tmp338 * -0.5 + tmp392 += ints.tmp344 * -0.5 + tmp392 += ints.tmp763 * -0.5 + r3new += einsum(r3, (0, 1, 2, 3, 4), tmp392, (3, 5), (0, 1, 2, 5, 4)) * -2 + del tmp392 + tmp340 = np.copy(f.oo) + tmp340 += ints.tmp335 * 2 + tmp340 += np.transpose(ints.tmp348, (1, 0)) * 2 + tmp340 += np.transpose(ints.tmp59, (1, 0)) + tmp340 += ints.tmp767 * 2 + tmp340 += ints.tmp338 * -1 + tmp340 += ints.tmp344 * -1 + tmp340 += ints.tmp763 * -1 + r3new += einsum(tmp340, (0, 1), r3, (2, 3, 4, 5, 0), (2, 3, 4, 5, 1)) * -1 + tmp228 = np.copy(f.ov) + tmp228 += ints.tmp321 * 2 + tmp228 += ints.tmp318 * -1 + r3new += einsum(tmp228, (0, 1), tmp177, (2, 3, 0, 4, 5), (4, 1, 5, 2, 3)) * -1 + tmp393 = np.copy(np.transpose(r2, (2, 0, 1))) * -1 + tmp393 += np.transpose(r2, (2, 1, 0)) + r3new += einsum(tmp393, (0, 1, 2), tmp228, (3, 4), (1, 4, 2, 0, 3)) + del tmp393 + r3new += einsum(tmp228, (0, 1), r2, (2, 3, 4), (3, 2, 1, 0, 4)) + r3new += einsum(r2, (0, 1, 2), tmp228, (3, 4), (4, 0, 1, 3, 2)) * -1 + r2new = einsum(r3, (0, 1, 2, 3, 4), ints.tmp143, (4, 2, 5, 1), (0, 5, 3)) + tmp91 = einsum(v.vvvv, (0, 1, 2, 3), r2, (1, 3, 4), (4, 0, 2)) + r2new += np.transpose(tmp91, (1, 2, 0)) + tmp105 = einsum(r3, (0, 1, 2, 3, 4), ints.tmp465, (4, 3, 5, 1), (5, 0, 2)) + r2new += np.transpose(tmp105, (1, 2, 0)) * -0.5 + r2new += einsum(ints.tmp942, (0, 1, 2, 3), tmp99, (0, 1, 4), (4, 3, 2)) + r2new += einsum(ints.tmp942, (0, 1, 2, 3), tmp249, (0, 1, 4), (3, 4, 2)) + tmp152 = einsum(t3, (0, 1, 2, 3, 4, 5), r3, (6, 5, 4, 1, 7), (7, 0, 2, 6, 3)) + r2new += einsum(v.ovov, (0, 1, 2, 3), tmp152, (4, 2, 0, 5, 3), (1, 5, 4)) * -1 + tmp28 = einsum(r3, (0, 1, 2, 3, 4), t3, (5, 6, 3, 7, 1, 2), (4, 5, 6, 0, 7)) + r2new += einsum(v.ovov, (0, 1, 2, 3), tmp28, (4, 0, 2, 5, 1), (3, 5, 4)) * -1 + r2new += einsum(r1, (0,), v.ovvv, (1, 2, 3, 0), (2, 3, 1)) * -1 + tmp250 = np.copy(ints.tmp140) * 4 + tmp250 += ints.tmp143 * 2 + tmp250 += ints.tmp138 * -2 + tmp250 += ints.tmp145 * -2 + tmp250 += v.ovvv + tmp250 += np.transpose(v.ovvv, (0, 2, 3, 1)) * -1 + r2new += einsum(tmp250, (0, 1, 2, 3), r3, (1, 4, 3, 0, 5), (4, 2, 5)) * -0.5 + r2new += einsum(r3, (0, 1, 2, 3, 4), tmp250, (4, 0, 5, 1), (5, 2, 3)) * 0.5 + del tmp250 + tmp251 = np.copy(ints.tmp140) + tmp251 += v.ovvv * 0.5 + tmp251 += ints.tmp138 * -0.5 + tmp251 += np.transpose(ints.tmp145, (0, 1, 3, 2)) * -0.5 + r2new += einsum(tmp251, (0, 1, 2, 3), r3, (4, 1, 2, 5, 0), (4, 3, 5)) * -2 + del tmp251 + tmp252 = np.copy(ints.tmp366) + tmp252 += ints.tmp382 + tmp252 += ints.tmp465 * 0.5 + tmp252 += ints.tmp578 * 0.5 + tmp252 += ints.tmp585 * 0.5 + tmp252 += ints.tmp371 * -2 + tmp252 += ints.tmp377 * -1 + tmp252 += ints.tmp592 * -0.5 + tmp252 += ints.tmp607 * -0.5 + tmp252 += np.transpose(v.ooov, (0, 2, 1, 3)) * 0.5 + tmp252 += np.transpose(v.ovoo, (0, 2, 3, 1)) * -0.5 + r2new += einsum(r3, (0, 1, 2, 3, 4), tmp252, (3, 4, 5, 1), (0, 2, 5)) + del tmp252 + tmp146 = np.copy(ints.tmp138) + tmp146 += np.transpose(ints.tmp145, (0, 1, 3, 2)) + tmp146 += ints.tmp140 * -2 + r2new += einsum(tmp146, (0, 1, 2, 3), r3, (4, 2, 1, 0, 5), (3, 4, 5)) * -1 + tmp253 = np.copy(ints.tmp143) + tmp253 += np.transpose(v.ovvv, (0, 2, 3, 1)) * -1 + r2new += einsum(tmp253, (0, 1, 2, 3), r3, (4, 1, 3, 0, 5), (2, 4, 5)) * -1 + del tmp253 + tmp254 = np.copy(ints.tmp371) * 2 + tmp254 += ints.tmp592 + tmp254 += np.transpose(v.ovoo, (0, 2, 3, 1)) + tmp254 += ints.tmp366 * -1 + tmp254 += ints.tmp382 * -1 + r2new += einsum(tmp254, (0, 1, 2, 3), r3, (4, 5, 3, 0, 1), (5, 4, 2)) * -1 + del tmp254 + tmp255 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1))) + tmp255 += np.transpose(v.ovov, (0, 2, 1, 3)) * -1 + tmp195 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) + tmp195 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) + tmp256 = einsum(r3, (0, 1, 2, 3, 4), tmp195, (4, 5, 6, 0, 7, 1), (3, 5, 6, 2, 7)) * -1 + r2new += einsum(tmp256, (0, 1, 2, 3, 4), tmp255, (2, 1, 5, 4), (5, 3, 0)) * -0.25 + del tmp256, tmp255 + tmp27 = einsum(r3, (0, 1, 2, 3, 4), t3, (5, 6, 4, 7, 2, 1), (3, 5, 6, 0, 7)) + tmp257 = np.copy(tmp27) + tmp74 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) + tmp74 += np.transpose(t3, (0, 2, 1, 3, 4, 5)) * -1 + tmp74 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) + tmp257 += einsum(tmp74, (0, 1, 2, 3, 4, 5), r3, (4, 6, 3, 0, 7), (7, 1, 2, 6, 5)) * 0.25 + r2new += einsum(v.ovov, (0, 1, 2, 3), tmp257, (4, 2, 0, 5, 3), (5, 1, 4)) + del tmp257 + tmp151 = einsum(r3, (0, 1, 2, 3, 4), t3, (5, 4, 6, 7, 1, 2), (3, 5, 6, 0, 7)) + tmp258 = np.copy(np.transpose(tmp151, (0, 2, 1, 3, 4))) * -1 + tmp154 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * 3 + tmp154 += np.transpose(t3, (0, 2, 1, 3, 4, 5)) * -1 + tmp154 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) + tmp258 += einsum(tmp154, (0, 1, 2, 3, 4, 5), r3, (4, 6, 3, 0, 7), (7, 2, 1, 6, 5)) * -0.25 + r2new += einsum(tmp258, (0, 1, 2, 3, 4), v.ovov, (1, 4, 2, 5), (3, 5, 0)) + del tmp258 + tmp259 = np.copy(ints.tmp465) + tmp259 += ints.tmp578 + tmp259 += ints.tmp377 * -1 + r2new += einsum(tmp259, (0, 1, 2, 3), r3, (4, 5, 3, 1, 0), (5, 4, 2)) * -1 + del tmp259 + tmp260 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1))) * 3 + tmp260 += np.transpose(v.ovov, (0, 2, 1, 3)) * -1 + tmp261 = einsum(t3, (0, 1, 2, 3, 4, 5), r3, (3, 5, 6, 7, 2), (7, 0, 1, 6, 4)) + r2new += einsum(tmp261, (0, 1, 2, 3, 4), tmp260, (2, 1, 5, 4), (5, 3, 0)) * 0.25 + del tmp261, tmp260 + tmp262 = np.copy(tmp30) + tmp31 = einsum(t2, (0, 1, 2, 3), r3, (2, 3, 4, 5, 6), (5, 6, 0, 1, 4)) + tmp262 += np.transpose(tmp31, (1, 0, 2, 3, 4)) * -0.5 + tmp262 += np.transpose(tmp31, (1, 0, 3, 2, 4)) * 0.5 + r2new += einsum(tmp262, (0, 1, 2, 3, 4), v.ooov, (3, 0, 2, 5), (5, 4, 1)) + del tmp262 + tmp264 = np.copy(tmp30) * 2 + tmp264 += np.transpose(tmp263, (1, 0, 2, 3, 4)) + tmp264 += np.transpose(tmp263, (1, 0, 3, 2, 4)) * -1 + del tmp263 + r2new += einsum(v.ooov, (0, 1, 2, 3), tmp264, (4, 1, 0, 2, 5), (5, 3, 4)) * -0.5 + del tmp264 + tmp302 = np.copy(np.transpose(tmp265, (1, 0, 3, 4, 2))) * -1 + del tmp265 + tmp302 += np.transpose(tmp266, (1, 0, 4, 3, 2)) * -1 + del tmp266 + tmp267 = einsum(r3, (0, 1, 2, 3, 4), t1, (5, 0), (3, 4, 5, 1, 2)) + tmp302 += einsum(tmp267, (0, 1, 2, 3, 4), v.ovoo, (5, 6, 2, 0), (5, 1, 6, 3, 4)) * 0.5 + tmp302 += np.transpose(tmp268, (1, 0, 3, 4, 2)) * -1 + del tmp268 + tmp302 += einsum(v.ovoo, (0, 1, 2, 3), tmp267, (4, 3, 2, 5, 6), (0, 4, 6, 1, 5)) * -0.5 + del tmp267 + tmp302 += np.transpose(tmp269, (1, 0, 2, 4, 3)) * -0.5 + del tmp269 + tmp302 += tmp92 + tmp302 += np.transpose(tmp92, (0, 1, 4, 2, 3)) + tmp302 += np.transpose(tmp92, (1, 0, 4, 3, 2)) + tmp302 += tmp80 * -2 + tmp302 += np.transpose(tmp80, (0, 1, 2, 4, 3)) + tmp302 += np.transpose(tmp80, (1, 0, 3, 4, 2)) + tmp270 = np.copy(ints.tmp694) + tmp270 += np.transpose(v.oooo, (0, 2, 1, 3)) + tmp271 = einsum(r3, (0, 1, 2, 3, 4), tmp270, (3, 4, 5, 6), (5, 6, 0, 1, 2)) * 0.5 + del tmp270 + tmp302 += np.transpose(tmp271, (0, 1, 4, 2, 3)) * -1 + tmp302 += np.transpose(tmp271, (1, 0, 4, 2, 3)) + del tmp271 + tmp302 += np.transpose(tmp272, (0, 1, 4, 2, 3)) + tmp302 += np.transpose(tmp272, (1, 0, 2, 3, 4)) * -1 + tmp302 += np.transpose(tmp272, (1, 0, 4, 2, 3)) * -1 + del tmp272 + tmp273 = einsum(r3, (0, 1, 2, 3, 4), v.oovv, (5, 4, 6, 1), (3, 5, 0, 2, 6)) + tmp275 = np.copy(tmp273) + del tmp273 + tmp1 = np.copy(ints.tmp304) + tmp1 += ints.tmp308 + tmp1 += ints.tmp313 * -2 + tmp274 = einsum(r3, (0, 1, 2, 3, 4), tmp1, (3, 5, 2, 6), (4, 5, 0, 1, 6)) + tmp275 += np.transpose(tmp274, (1, 0, 4, 2, 3)) * -1 + del tmp274 + tmp302 += np.transpose(tmp275, (0, 1, 3, 2, 4)) + tmp302 += np.transpose(tmp275, (1, 0, 3, 4, 2)) + del tmp275 + tmp278 = np.copy(tmp276) * -1 + del tmp276 + tmp278 += tmp13 + tmp184 = einsum(t1, (0, 1), tmp183, (2, 3, 0, 4, 1, 5, 6), (2, 3, 4, 5, 6)) + del tmp183 + tmp278 += tmp184 * -1 + tmp172 = np.copy(tmp30) + tmp172 += tmp171 + del tmp171 + tmp277 = einsum(v.ovov, (0, 1, 2, 3), tmp172, (4, 5, 2, 0, 6), (4, 5, 1, 3, 6)) + tmp278 += np.transpose(tmp277, (0, 1, 4, 3, 2)) + del tmp277 + tmp302 += tmp278 * -1 + tmp302 += np.transpose(tmp278, (1, 0, 4, 2, 3)) + del tmp278 + tmp302 += tmp279 + tmp302 += np.transpose(tmp279, (1, 0, 2, 4, 3)) + tmp302 += np.transpose(tmp279, (1, 0, 4, 3, 2)) + del tmp279 + tmp302 += np.transpose(tmp280, (0, 1, 3, 2, 4)) * -1 + tmp302 += np.transpose(tmp280, (1, 0, 4, 2, 3)) * -1 + tmp302 += np.transpose(tmp280, (1, 0, 3, 4, 2)) * -1 + del tmp280 + tmp302 += np.transpose(tmp286, (0, 1, 3, 2, 4)) * -1 + tmp302 += np.transpose(tmp286, (0, 1, 4, 2, 3)) + del tmp286 + tmp14 = einsum(v.vvvv, (0, 1, 2, 3), r3, (1, 3, 4, 5, 6), (5, 6, 4, 0, 2)) + tmp288 = np.copy(tmp14) * 0.5 + tmp176 = einsum(t1, (0, 1), tmp175, (2, 3, 0, 1, 4, 5, 6), (2, 3, 4, 5, 6)) + tmp288 += tmp176 * -1 + tmp179 = np.copy(tmp31) + tmp178 = einsum(t1, (0, 1), tmp177, (2, 3, 4, 1, 5), (2, 3, 0, 4, 5)) + tmp179 += tmp178 + del tmp178 + tmp287 = einsum(v.ovov, (0, 1, 2, 3), tmp179, (4, 5, 2, 0, 6), (4, 5, 1, 3, 6)) * 0.5 + tmp288 += np.transpose(tmp287, (0, 1, 4, 3, 2)) + del tmp287 + tmp302 += np.transpose(tmp288, (1, 0, 2, 3, 4)) + tmp302 += np.transpose(tmp288, (1, 0, 2, 4, 3)) * -1 + del tmp288 + tmp302 += np.transpose(tmp182, (1, 0, 4, 2, 3)) + tmp302 += np.transpose(tmp182, (1, 0, 3, 4, 2)) * 0.5 + tmp302 += np.transpose(tmp289, (1, 0, 2, 4, 3)) * -1 + tmp302 += np.transpose(tmp289, (1, 0, 4, 3, 2)) * -0.5 + del tmp289 + tmp302 += np.transpose(tmp185, (0, 1, 2, 4, 3)) + tmp302 += np.transpose(tmp185, (1, 0, 3, 2, 4)) * -1 + tmp302 += np.transpose(tmp290, (0, 1, 2, 4, 3)) * -1 + tmp302 += np.transpose(tmp290, (1, 0, 2, 4, 3)) * 1.5 + del tmp290 + tmp302 += np.transpose(tmp186, (0, 1, 4, 2, 3)) * 0.5 + tmp302 += np.transpose(tmp186, (1, 0, 2, 4, 3)) * 2 + tmp94 = einsum(r3, (0, 1, 2, 3, 4), t2, (4, 3, 5, 0), (1, 2, 5)) + tmp187 = einsum(tmp94, (0, 1, 2), v.ovov, (3, 4, 5, 2), (3, 5, 0, 1, 4)) + tmp302 += np.transpose(tmp187, (0, 1, 4, 2, 3)) + tmp302 += np.transpose(tmp187, (0, 1, 3, 4, 2)) * 0.5 + tmp302 += np.transpose(tmp187, (1, 0, 3, 4, 2)) * -0.5 + tmp107 = einsum(r3, (0, 1, 2, 3, 4), t2, (4, 3, 0, 5), (1, 2, 5)) + tmp188 = einsum(v.ovov, (0, 1, 2, 3), tmp107, (4, 5, 3), (0, 2, 4, 5, 1)) + tmp302 += np.transpose(tmp188, (0, 1, 3, 4, 2)) * -0.5 + tmp302 += np.transpose(tmp188, (1, 0, 3, 4, 2)) * 0.5 + tmp302 += np.transpose(tmp291, (0, 1, 4, 2, 3)) * -0.5 + tmp302 += np.transpose(tmp291, (1, 0, 2, 4, 3)) * -1 + del tmp291 + tmp292 = np.copy(ints.tmp301) + tmp292 += ints.tmp313 * 2 + tmp292 += ints.tmp304 * -1 + tmp292 += ints.tmp308 * -1 + tmp302 += einsum(r3, (0, 1, 2, 3, 4), tmp292, (4, 5, 0, 6), (5, 3, 2, 6, 1)) + tmp293 = np.copy(np.transpose(r3, (3, 4, 0, 1, 2))) + tmp293 += np.transpose(r3, (4, 3, 1, 0, 2)) + tmp66 = np.copy(ints.tmp304) * 0.5 + tmp66 += ints.tmp308 * 0.5 + tmp66 += ints.tmp313 * -1 + tmp302 += einsum(tmp66, (0, 1, 2, 3), tmp293, (0, 4, 2, 5, 6), (1, 4, 3, 5, 6)) * 2 + del tmp293 + tmp302 += einsum(tmp292, (0, 1, 2, 3), r3, (4, 2, 5, 0, 6), (6, 1, 5, 4, 3)) + del tmp292 + tmp295 = np.copy(np.transpose(r3, (3, 4, 0, 1, 2))) * -1 + tmp295 += np.transpose(r3, (4, 3, 2, 0, 1)) + tmp294 = np.copy(ints.tmp301) + tmp294 += ints.tmp313 * 4 + del ints.tmp313 + tmp294 += np.transpose(v.ovov, (0, 2, 1, 3)) * 2 + tmp294 += ints.tmp304 * -2 + del ints.tmp304 + tmp294 += ints.tmp308 * -2 + del ints.tmp308 + tmp294 += v.oovv * -1 + tmp302 += einsum(tmp294, (0, 1, 2, 3), tmp295, (0, 4, 5, 6, 2), (1, 4, 5, 6, 3)) + del tmp294 + tmp297 = np.copy(np.transpose(tmp175, (0, 1, 2, 4, 3, 6, 5))) * -0.5 + del tmp175 + tmp296 = np.copy(np.transpose(r3, (3, 4, 0, 1, 2))) * 2 + tmp296 += np.transpose(r3, (3, 4, 2, 0, 1)) + tmp297 += einsum(v.ovvv, (0, 1, 2, 3), tmp296, (4, 5, 6, 7, 3), (4, 5, 0, 6, 7, 1, 2)) * 0.5 + del tmp296 + tmp302 += einsum(t1, (0, 1), tmp297, (2, 0, 3, 4, 5, 1, 6), (2, 3, 4, 5, 6)) + del tmp297 + tmp298 = np.copy(ints.tmp942) * -1 + tmp298 += np.transpose(ints.tmp942, (0, 2, 1, 3)) + tmp302 += einsum(tmp298, (0, 1, 2, 3), tmp177, (4, 0, 2, 5, 6), (4, 1, 6, 5, 3)) * -0.5 + del tmp177, tmp298 + tmp299 = np.copy(ints.tmp694) + tmp299 += np.transpose(ints.tmp953, (1, 0, 2, 3)) + del ints.tmp953 + tmp299 += np.transpose(v.oooo, (0, 2, 1, 3)) + tmp302 += einsum(r3, (0, 1, 2, 3, 4), tmp299, (3, 4, 5, 6), (5, 6, 0, 1, 2)) * -1 + del tmp299 + tmp302 += np.transpose(tmp301, (1, 0, 2, 4, 3)) * -1 + del tmp301 + tmp165 = np.copy(np.transpose(r3, (3, 4, 0, 1, 2))) + tmp165 += np.transpose(r3, (4, 3, 2, 0, 1)) * -1 + tmp302 += einsum(tmp165, (0, 1, 2, 3, 4), ints.tmp301, (0, 5, 2, 6), (5, 1, 6, 3, 4)) * -1 + r2new += einsum(tmp302, (0, 1, 2, 3, 4), t1, (0, 4), (3, 2, 1)) * -1 + del tmp302 + tmp304 = np.copy(f.ov) + tmp304 += ints.tmp123 + tmp304 += ints.tmp132 * 2 + tmp304 += ints.tmp190 * 0.5 + tmp304 += ints.tmp196 * 1.5 + tmp304 += ints.tmp199 * 0.5 + tmp304 += ints.tmp964 + del ints.tmp964 + tmp304 += ints.tmp126 * -2 + tmp304 += ints.tmp135 * -1 + tmp304 += ints.tmp193 * -0.5 + tmp303 = np.copy(ints.tmp119) + tmp303 += ints.tmp76 * 2 + tmp303 += ints.tmp121 * -2 + tmp303 += np.transpose(ints.tmp78, (1, 0)) * -1 + tmp304 += einsum(t1, (0, 1), tmp303, (2, 1), (0, 2)) + del tmp303 + r2new += einsum(tmp295, (0, 1, 2, 3, 4), tmp304, (0, 4), (3, 2, 1)) * -1 + del tmp304 + tmp217 = np.copy(np.transpose(r3, (3, 4, 0, 1, 2))) * 0.5 + tmp217 += np.transpose(r3, (3, 4, 1, 2, 0)) + tmp217 += np.transpose(r3, (3, 4, 2, 1, 0)) * -1.5 + tmp218 = einsum(tmp217, (0, 1, 2, 3, 4), t2, (0, 1, 2, 5), (5, 3, 4)) + tmp221 = np.copy(np.transpose(tmp218, (2, 1, 0))) * -1 + del tmp218 + tmp219 = np.copy(np.transpose(r3, (3, 4, 0, 1, 2))) * 0.25 + tmp219 += np.transpose(r3, (3, 4, 1, 2, 0)) + tmp219 += np.transpose(r3, (3, 4, 2, 1, 0)) * -0.25 + tmp220 = einsum(t2, (0, 1, 2, 3), tmp219, (0, 1, 3, 4, 5), (2, 4, 5)) * 2 + tmp221 += np.transpose(tmp220, (2, 1, 0)) + del tmp220 + r2new += einsum(v.ovvv, (0, 1, 2, 3), tmp221, (4, 2, 3), (1, 4, 0)) + tmp306 = np.copy(np.transpose(r2, (2, 0, 1))) * 0.6666666666666666 + tmp306 += np.transpose(r2, (2, 1, 0)) * -1.3333333333333333 + tmp305 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * 6 + tmp305 += np.transpose(t3, (0, 2, 1, 3, 4, 5)) * -2 + tmp305 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) * 2 + tmp305 += t3 * 3 + tmp305 += np.transpose(t3, (1, 0, 2, 3, 5, 4)) + tmp305 += np.transpose(t3, (1, 0, 2, 3, 4, 5)) * -1 + tmp305 += np.transpose(t3, (1, 0, 2, 4, 3, 5)) * 5 + tmp306 += einsum(r3, (0, 1, 2, 3, 4), tmp305, (3, 5, 4, 2, 6, 1), (5, 0, 6)) * -0.16666666666666666 + del tmp305 + tmp238 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) + tmp238 += np.transpose(t3, (0, 2, 1, 3, 4, 5)) * -1 + tmp238 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) + tmp238 += t3 + tmp306 += einsum(r3, (0, 1, 2, 3, 4), tmp238, (3, 5, 4, 0, 6, 1), (5, 2, 6)) * 0.16666666666666666 + r2new += einsum(tmp306, (0, 1, 2), v.ovov, (3, 4, 0, 2), (4, 1, 3)) * -1.5 + del tmp306 + tmp307 = np.copy(tmp94) * 2 + tmp42 = np.copy(np.transpose(t2, (0, 1, 3, 2))) + tmp42 += t2 * -1 + tmp307 += einsum(r3, (0, 1, 2, 3, 4), tmp42, (3, 4, 5, 1), (0, 2, 5)) * -1 + r2new += einsum(v.ovvv, (0, 1, 2, 3), tmp307, (4, 3, 1), (4, 2, 0)) * 0.5 + del tmp307 + tmp309 = np.copy(tmp49) * 2 + tmp309 += einsum(r3, (0, 1, 2, 3, 4), tmp308, (3, 4, 5, 0), (2, 1, 5)) + r2new += einsum(v.ovvv, (0, 1, 2, 3), tmp309, (4, 3, 1), (2, 4, 0)) * -0.5 + del tmp309 + tmp70 = np.copy(np.transpose(r2, (2, 0, 1))) * -0.5 + tmp70 += np.transpose(r2, (2, 1, 0)) + r2new += einsum(tmp1, (0, 1, 2, 3), tmp70, (0, 4, 2), (3, 4, 1)) * -2 + tmp311 = einsum(tmp74, (0, 1, 2, 3, 4, 5), r3, (3, 5, 6, 0, 2), (1, 6, 4)) + tmp310 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * 1.3333333333333333 + tmp310 += t3 + tmp311 += einsum(r3, (0, 1, 2, 3, 4), tmp310, (4, 5, 3, 1, 6, 2), (5, 0, 6)) * -3 + del tmp310 + r2new += einsum(v.ovov, (0, 1, 2, 3), tmp311, (2, 4, 1), (3, 4, 0)) * 0.25 + del tmp311 + tmp231 = np.copy(f.oo) + tmp231 += np.transpose(ints.tmp335, (1, 0)) * 2 + del ints.tmp335 + tmp231 += np.transpose(ints.tmp348, (1, 0)) * 2 + del ints.tmp348 + tmp231 += np.transpose(ints.tmp767, (1, 0)) * 2 + del ints.tmp767 + tmp231 += np.transpose(ints.tmp338, (1, 0)) * -1 + del ints.tmp338 + tmp231 += np.transpose(ints.tmp344, (1, 0)) * -1 + del ints.tmp344 + tmp231 += np.transpose(ints.tmp763, (1, 0)) * -1 + del ints.tmp763 + tmp312 = einsum(tmp295, (0, 1, 2, 3, 4), t1, (5, 4), (5, 0, 1, 2, 3)) + del tmp295 + r2new += einsum(tmp312, (0, 1, 2, 3, 4), tmp231, (0, 1), (4, 3, 2)) + tmp313 = einsum(t2, (0, 1, 2, 3), r3, (3, 4, 2, 5, 1), (5, 0, 4)) + tmp315 = np.copy(tmp313) * 2 + tmp314 = einsum(r3, (0, 1, 2, 3, 4), tmp42, (3, 5, 2, 0), (4, 5, 1)) + tmp315 += tmp314 * -1 + r2new += einsum(tmp315, (0, 1, 2), v.ovvv, (1, 3, 4, 2), (4, 3, 0)) * -0.5 + del tmp315 + tmp131 = einsum(t2, (0, 1, 2, 3), r3, (3, 2, 4, 1, 5), (5, 0, 4)) + tmp317 = np.copy(tmp131) + tmp316 = einsum(tmp308, (0, 1, 2, 3), r3, (3, 2, 4, 5, 0), (5, 1, 4)) * 0.5 + tmp317 += tmp316 + r2new += einsum(v.ovvv, (0, 1, 2, 3), tmp317, (4, 0, 3), (1, 2, 4)) + del tmp317 + tmp2 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * -0.5 + tmp2 += t2 + tmp19 = np.copy(np.transpose(r3, (3, 4, 0, 1, 2))) * -1 + tmp19 += np.transpose(r3, (4, 3, 1, 2, 0)) + tmp318 = einsum(tmp19, (0, 1, 2, 3, 4), tmp2, (1, 5, 3, 6), (0, 5, 4, 2, 6)) * 2 + r2new += einsum(tmp318, (0, 1, 2, 3, 4), f.ov, (1, 4), (3, 2, 0)) + del tmp318 + tmp232 = np.copy(np.transpose(r3, (3, 4, 0, 1, 2))) * 4 + tmp232 += np.transpose(r3, (3, 4, 2, 0, 1)) + tmp232 += np.transpose(r3, (4, 3, 0, 1, 2)) * -1 + tmp233 = einsum(tmp232, (0, 1, 2, 3, 4), t2, (5, 0, 3, 4), (5, 1, 2)) * 0.5 + tmp237 = np.copy(np.transpose(tmp233, (1, 0, 2))) + del tmp233 + tmp234 = np.copy(np.transpose(r3, (3, 4, 0, 1, 2))) * 0.6666666666666666 + tmp234 += np.transpose(r3, (3, 4, 2, 0, 1)) * 0.3333333333333333 + tmp234 += np.transpose(r3, (4, 3, 0, 1, 2)) * -1 + tmp235 = einsum(tmp234, (0, 1, 2, 3, 4), t2, (5, 0, 4, 3), (5, 1, 2)) * 1.5 + tmp237 += np.transpose(tmp235, (1, 0, 2)) * -1 + del tmp235 + tmp236 = einsum(tmp70, (0, 1, 2), t1, (3, 2), (3, 0, 1)) * 2 + tmp237 += np.transpose(tmp236, (1, 0, 2)) + del tmp236 + r2new += einsum(v.ovoo, (0, 1, 2, 3), tmp237, (2, 3, 4), (1, 4, 0)) * -1 + tmp98 = einsum(r2, (0, 1, 2), t2, (3, 4, 0, 1), (2, 3, 4)) + tmp320 = np.copy(tmp98) * 2 + tmp320 += einsum(t3, (0, 1, 2, 3, 4, 5), r3, (3, 5, 4, 6, 2), (6, 0, 1)) * -1 + tmp319 = np.copy(tmp99) + tmp319 += tmp313 + del tmp313 + tmp319 += einsum(r3, (0, 1, 2, 3, 4), tmp42, (3, 5, 2, 0), (4, 5, 1)) * -0.5 + tmp320 += einsum(tmp319, (0, 1, 2), t1, (3, 2), (0, 3, 1)) * 2 + del tmp319 + r2new += einsum(v.ovov, (0, 1, 2, 3), tmp320, (4, 2, 0), (3, 1, 4)) * 0.49999999999997996 + del tmp320 + tmp321 = einsum(tmp232, (0, 1, 2, 3, 4), t2, (5, 0, 3, 4), (1, 5, 2)) + tmp321 += einsum(tmp234, (0, 1, 2, 3, 4), t2, (5, 0, 4, 3), (1, 5, 2)) * -3 + r2new += einsum(tmp321, (0, 1, 2), ints.tmp942, (0, 3, 1, 4), (4, 2, 3)) * -0.5 + del tmp321 + tmp322 = einsum(r3, (0, 1, 2, 3, 4), t3, (3, 5, 4, 6, 2, 1), (5, 0, 6)) + tmp322 += einsum(r3, (0, 1, 2, 3, 4), t3, (5, 4, 3, 0, 6, 2), (5, 1, 6)) * -1 + r2new += einsum(tmp322, (0, 1, 2), v.ovov, (3, 2, 0, 4), (1, 4, 3)) * -0.5 + del tmp322 + r2new += einsum(r2, (0, 1, 2), tmp300, (2, 3, 0, 4), (4, 1, 3)) + r2new += einsum(r2, (0, 1, 2), tmp300, (2, 3, 1, 4), (0, 4, 3)) + del tmp300 + tmp130 = einsum(r3, (0, 1, 2, 3, 4), t3, (5, 6, 3, 0, 1, 2), (4, 5, 6)) + tmp325 = np.copy(tmp130) * -1 + tmp324 = np.copy(tmp131) * 2 + tmp324 += tmp323 + del tmp323 + tmp325 += einsum(tmp324, (0, 1, 2), t1, (3, 2), (0, 3, 1)) + del tmp324 + r2new += einsum(v.ovov, (0, 1, 2, 3), tmp325, (4, 2, 0), (1, 3, 4)) * -0.49999999999997996 + del tmp325 + tmp327 = np.copy(tmp249) + tmp327 += tmp326 + tmp327 += einsum(tmp308, (0, 1, 2, 3), r3, (3, 2, 4, 0, 5), (5, 1, 4)) * 0.5 + r2new += einsum(v.ooov, (0, 1, 2, 3), tmp327, (1, 2, 4), (3, 4, 0)) + del tmp327 + tmp329 = np.copy(tmp99) * 2 + tmp329 += tmp328 * 2 + tmp329 += tmp314 * -1 + r2new += einsum(v.ooov, (0, 1, 2, 3), tmp329, (1, 2, 4), (4, 3, 0)) * 0.5 + del tmp329 + tmp330 = np.copy(tmp326) * 2 + tmp330 += einsum(tmp308, (0, 1, 2, 3), r3, (3, 2, 4, 0, 5), (5, 1, 4)) + r2new += einsum(ints.tmp942, (0, 1, 2, 3), tmp330, (0, 1, 4), (3, 4, 2)) * 0.5 + del tmp330 + tmp331 = np.copy(tmp328) * 2 + del tmp328 + tmp331 += tmp314 * -1 + del tmp314 + r2new += einsum(ints.tmp942, (0, 1, 2, 3), tmp331, (0, 1, 4), (4, 3, 2)) * 0.5 + del tmp331 + tmp241 = einsum(tmp70, (0, 1, 2), t1, (3, 2), (3, 0, 1)) + r2new += einsum(ints.tmp942, (0, 1, 2, 3), tmp241, (2, 0, 4), (3, 4, 1)) * -2 + del ints.tmp942 + r2new += einsum(tmp312, (0, 1, 2, 3, 4), ints.tmp59, (0, 1), (4, 3, 2)) + del tmp312 + tmp332 = np.copy(tmp49) * 2 + tmp332 += einsum(r3, (0, 1, 2, 3, 4), tmp308, (3, 4, 5, 1), (2, 0, 5)) * -1 + r2new += einsum(tmp332, (0, 1, 2), tmp228, (3, 2), (1, 0, 3)) * -0.5 + del tmp332 + r2new += einsum(r2, (0, 1, 2), tmp333, (0, 3), (3, 1, 2)) + r2new += einsum(tmp333, (0, 1), r2, (2, 0, 3), (2, 1, 3)) + del tmp333 + tmp334 = np.copy(f.ov) * 0.5 + tmp334 += ints.tmp321 + tmp334 += ints.tmp318 * -0.5 + tmp336 = np.copy(tmp99) + tmp336 += tmp335 * -1 + del tmp335 + tmp336 += einsum(tmp308, (0, 1, 2, 3), r3, (3, 4, 2, 0, 5), (5, 1, 4)) * 0.5 + del tmp308 + r2new += einsum(tmp334, (0, 1), tmp336, (2, 0, 3), (3, 1, 2)) * -2 + del tmp336 + tmp337 = np.copy(tmp249) + del tmp249 + tmp337 += tmp326 + del tmp326 + tmp337 += tmp316 * -1 + del tmp316 + r2new += einsum(tmp337, (0, 1, 2), tmp334, (1, 3), (3, 2, 0)) * -2 + del tmp334, tmp337 + tmp243 = einsum(t1, (0, 1), r1, (1,), (0,)) + tmp339 = np.copy(tmp243) * 6 + tmp338 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * -8 + tmp338 += np.transpose(t3, (0, 2, 1, 3, 4, 5)) * 2 + tmp338 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) * -2 + tmp338 += np.transpose(t3, (0, 1, 2, 4, 3, 5)) * 3 + tmp338 += np.transpose(t3, (1, 0, 2, 3, 5, 4)) * -1 + tmp338 += np.transpose(t3, (1, 0, 2, 3, 4, 5)) + tmp338 += np.transpose(t3, (1, 0, 2, 4, 3, 5)) * -1 + tmp339 += einsum(tmp338, (0, 1, 2, 3, 4, 5), r3, (4, 5, 3, 0, 2), (1,)) * 0.5 + del tmp338 + tmp11 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * 2 + tmp11 += t2 * -1 + tmp339 += einsum(r2, (0, 1, 2), tmp11, (2, 3, 1, 0), (3,)) * -6 + r2new += einsum(tmp339, (0,), v.ovov, (1, 2, 0, 3), (2, 3, 1)) * 0.16666666666666 + del tmp339 + r2new += einsum(r2, (0, 1, 2), tmp340, (2, 3), (0, 1, 3)) * -1 + del tmp340 + r2new += einsum(tmp228, (0, 1), r1, (2,), (1, 2, 0)) * -1 + r1new = einsum(ints.tmp249, (0, 1, 2, 3), r3, (4, 3, 2, 1, 0), (4,)) + r1new += einsum(r2, (0, 1, 2), v.ovvv, (2, 0, 3, 1), (3,)) * -2 + tmp0 = einsum(ints.tmp301, (0, 1, 2, 3), t2, (4, 1, 3, 5), (0, 4, 2, 5)) + r1new += einsum(r3, (0, 1, 2, 3, 4), tmp0, (4, 3, 1, 0), (2,)) * -0.5 + tmp4 = np.copy(np.transpose(r3, (3, 4, 0, 1, 2))) * 0.25 + tmp4 += np.transpose(r3, (3, 4, 0, 2, 1)) * -1 + tmp4 += np.transpose(r3, (3, 4, 2, 0, 1)) * 0.25 + tmp3 = einsum(t2, (0, 1, 2, 3), ints.tmp301, (4, 1, 5, 3), (4, 0, 5, 2)) + tmp3 += einsum(tmp2, (0, 1, 2, 3), tmp1, (4, 0, 5, 2), (4, 1, 5, 3)) * -2 + del tmp2 + r1new += einsum(tmp4, (0, 1, 2, 3, 4), tmp3, (1, 0, 4, 3), (2,)) * 2 + del tmp4, tmp3 + tmp5 = np.copy(np.transpose(ints.tmp249, (1, 0, 2, 3))) * 1.5 + tmp5 += np.transpose(ints.tmp257, (1, 0, 2, 3)) * 0.5 + tmp5 += np.transpose(ints.tmp265, (1, 0, 2, 3)) + tmp5 += np.transpose(ints.tmp253, (1, 0, 2, 3)) * -0.5 + tmp5 += tmp0 + tmp5 += np.transpose(v.ovov, (0, 2, 3, 1)) * 0.75 + tmp5 += np.transpose(v.ovov, (0, 2, 1, 3)) * -1.75 + r1new += einsum(tmp5, (0, 1, 2, 3), r3, (4, 2, 3, 1, 0), (4,)) + del tmp5 + tmp6 = np.copy(ints.tmp249) + tmp6 += ints.tmp257 + tmp6 += ints.tmp265 + tmp6 += ints.tmp253 * -1 + tmp6 += np.transpose(v.ovov, (0, 2, 3, 1)) * -0.5 + tmp6 += np.transpose(v.ovov, (0, 2, 1, 3)) * 0.5 + r1new += einsum(tmp6, (0, 1, 2, 3), r3, (2, 3, 4, 0, 1), (4,)) * 0.5 + del tmp6 + tmp7 = np.copy(np.transpose(r3, (3, 4, 0, 1, 2))) * 2 + tmp7 += np.transpose(r3, (3, 4, 0, 2, 1)) * -1 + tmp7 += np.transpose(r3, (3, 4, 2, 0, 1)) + tmp7 += np.transpose(r3, (4, 3, 0, 1, 2)) * -1 + tmp7 += np.transpose(r3, (4, 3, 0, 2, 1)) + tmp9 = einsum(tmp7, (0, 1, 2, 3, 4), t2, (5, 0, 3, 6), (1, 5, 2, 4, 6)) + tmp8 = np.copy(np.transpose(r3, (3, 4, 0, 1, 2))) * -0.5 + tmp8 += np.transpose(r3, (3, 4, 0, 2, 1)) + tmp8 += np.transpose(r3, (3, 4, 2, 0, 1)) * -0.5 + tmp8 += np.transpose(r3, (4, 3, 0, 1, 2)) + tmp9 += einsum(tmp8, (0, 1, 2, 3, 4), t2, (5, 0, 6, 3), (1, 5, 2, 4, 6)) * 2 + r1new += einsum(tmp9, (0, 1, 2, 3, 4), v.oovv, (0, 1, 3, 4), (2,)) + del tmp9 + tmp10 = np.copy(np.transpose(ints.tmp249, (1, 0, 2, 3))) + tmp10 += np.transpose(ints.tmp257, (1, 0, 2, 3)) * 3 + tmp10 += np.transpose(ints.tmp265, (1, 0, 2, 3)) + del ints.tmp265 + tmp10 += np.transpose(ints.tmp253, (1, 0, 2, 3)) * -1 + tmp10 += tmp0 * 3 + del tmp0 + r1new += einsum(r3, (0, 1, 2, 3, 4), tmp10, (4, 3, 2, 1), (0,)) * -0.5 + del tmp10 + tmp12 = einsum(tmp11, (0, 1, 2, 3), tmp8, (0, 4, 5, 3, 6), (4, 1, 5, 6, 2)) * -2 + del tmp8 + r1new += einsum(tmp12, (0, 1, 2, 3, 4), v.ovov, (0, 3, 1, 4), (2,)) + del tmp12 + tmp15 = np.copy(tmp13) * 7 + tmp15 += np.transpose(tmp13, (0, 1, 2, 4, 3)) * -3 + tmp15 += tmp14 + tmp15 += np.transpose(tmp14, (0, 1, 2, 4, 3)) * -1 + r1new += einsum(t2, (0, 1, 2, 3), tmp15, (0, 1, 4, 3, 2), (4,)) * -0.25 + del tmp15 + tmp16 = np.copy(ints.tmp249) + del ints.tmp249 + tmp16 += ints.tmp257 * 3 + del ints.tmp257 + tmp16 += ints.tmp253 * -1 + del ints.tmp253 + r1new += einsum(r3, (0, 1, 2, 3, 4), tmp16, (4, 3, 1, 2), (0,)) * -0.5 + del tmp16 + tmp17 = np.copy(v.ooov) + tmp17 += np.transpose(v.ovoo, (0, 2, 3, 1)) * -1 + tmp18 = np.copy(np.transpose(r3, (3, 4, 0, 1, 2))) + tmp18 += np.transpose(r3, (3, 4, 2, 0, 1)) * 0.5 + tmp20 = einsum(tmp18, (0, 1, 2, 3, 4), t3, (5, 6, 0, 7, 4, 3), (1, 5, 6, 2, 7)) * 2 + del tmp18 + tmp20 += einsum(tmp19, (0, 1, 2, 3, 4), t3, (5, 6, 0, 7, 2, 3), (1, 5, 6, 4, 7)) + r1new += einsum(tmp20, (0, 1, 2, 3, 4), tmp17, (1, 0, 2, 4), (3,)) * 0.25 + del tmp20 + tmp21 = np.copy(v.ooov) * 3 + tmp21 += np.transpose(v.ovoo, (0, 2, 3, 1)) * -1 + tmp22 = np.copy(np.transpose(r3, (3, 4, 0, 1, 2))) + tmp22 += np.transpose(r3, (3, 4, 1, 2, 0)) * 2 + tmp22 += np.transpose(r3, (4, 3, 1, 2, 0)) * -1 + tmp23 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp22, (2, 6, 5, 3, 7), (6, 0, 1, 7, 4)) * -1 + del tmp22 + r1new += einsum(tmp23, (0, 1, 2, 3, 4), tmp21, (1, 0, 2, 4), (3,)) * 0.25 + del tmp23, tmp21 + tmp24 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * 2 + tmp24 += np.transpose(t3, (1, 0, 2, 4, 3, 5)) + tmp26 = einsum(r3, (0, 1, 2, 3, 4), tmp24, (5, 6, 3, 1, 7, 2), (4, 6, 5, 0, 7)) * -0.5 + del tmp24 + tmp25 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) + tmp25 += np.transpose(t3, (1, 0, 2, 4, 3, 5)) * 4 + tmp26 += einsum(tmp25, (0, 1, 2, 3, 4, 5), r3, (6, 3, 5, 7, 0), (7, 1, 2, 6, 4)) * -0.25 + del tmp25 + r1new += einsum(tmp26, (0, 1, 2, 3, 4), v.ooov, (1, 0, 2, 4), (3,)) + del tmp26 + tmp29 = np.copy(tmp27) * 0.8333333333333334 + del tmp27 + tmp29 += tmp28 + del tmp28 + r1new += einsum(v.ooov, (0, 1, 2, 3), tmp29, (1, 2, 0, 4, 3), (4,)) * 1.5 + del tmp29 + tmp32 = np.copy(tmp30) * -3 + tmp32 += np.transpose(tmp30, (0, 1, 3, 2, 4)) * 7 + tmp32 += tmp31 * -1 + tmp32 += np.transpose(tmp31, (0, 1, 3, 2, 4)) + r1new += einsum(ints.tmp694, (0, 1, 2, 3), tmp32, (0, 1, 2, 3, 4), (4,)) * -0.25 + del tmp32 + tmp35 = np.copy(np.transpose(r2, (2, 0, 1))) * 4 + tmp33 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) + tmp33 += np.transpose(t3, (0, 2, 1, 3, 4, 5)) * -1 + tmp33 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) * 3 + tmp33 += t3 * 1.5 + tmp33 += np.transpose(t3, (1, 0, 2, 3, 5, 4)) * 2.5 + tmp33 += np.transpose(t3, (1, 0, 2, 3, 4, 5)) * -0.5 + tmp33 += np.transpose(t3, (1, 0, 2, 4, 3, 5)) * 0.5 + tmp35 += einsum(r3, (0, 1, 2, 3, 4), tmp33, (3, 5, 4, 1, 6, 0), (5, 2, 6)) * -2 + del tmp33 + tmp34 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * -1 + tmp34 += np.transpose(t3, (0, 2, 1, 3, 4, 5)) + tmp34 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) * -1 + tmp34 += t3 * -1 + tmp35 += einsum(tmp34, (0, 1, 2, 3, 4, 5), r3, (3, 6, 5, 0, 2), (1, 6, 4)) + del tmp34 + r1new += einsum(tmp35, (0, 1, 2), v.ovvv, (0, 2, 3, 1), (3,)) * 0.25 + del tmp35 + tmp36 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * 0.2 + tmp36 += np.transpose(t3, (0, 2, 1, 3, 4, 5)) * -0.2 + tmp36 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) + tmp36 += t3 * 0.2 + tmp36 += np.transpose(t3, (1, 0, 2, 3, 5, 4)) * 0.2 + tmp36 += np.transpose(t3, (1, 0, 2, 3, 4, 5)) * -0.2 + tmp36 += np.transpose(t3, (1, 0, 2, 4, 3, 5)) * 0.2 + tmp38 = einsum(tmp36, (0, 1, 2, 3, 4, 5), r3, (5, 3, 6, 0, 2), (1, 6, 4)) * 2.5 + del tmp36 + tmp37 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) + tmp37 += np.transpose(t3, (0, 2, 1, 3, 4, 5)) * -3 + tmp37 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) + tmp37 += np.transpose(t3, (0, 1, 2, 3, 5, 4)) * -2 + tmp38 += einsum(tmp37, (0, 1, 2, 3, 4, 5), r3, (3, 6, 5, 0, 2), (1, 6, 4)) * 0.5 + del tmp37 + r1new += einsum(v.ovvv, (0, 1, 2, 3), tmp38, (0, 3, 2), (1,)) * 0.5 + del tmp38 + tmp41 = np.copy(tmp39) * 0.4 + tmp40 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * 1.8 + tmp40 += t2 * -1 + tmp41 += einsum(tmp40, (0, 1, 2, 3), r3, (3, 4, 5, 0, 1), (4, 5, 2)) + del tmp40 + r1new += einsum(tmp41, (0, 1, 2), v.vvvv, (3, 1, 0, 2), (3,)) * 1.25 + del tmp41 + tmp44 = np.copy(tmp39) * 0.6666666666666666 + tmp43 = einsum(r3, (0, 1, 2, 3, 4), tmp42, (3, 4, 5, 0), (1, 2, 5)) + del tmp42 + tmp44 += tmp43 + r1new += einsum(tmp44, (0, 1, 2), v.vvvv, (3, 0, 1, 2), (3,)) * -0.75 + del tmp44 + tmp45 = np.copy(np.transpose(v.oooo, (0, 2, 1, 3))) + tmp45 += v.oooo * -1 + r1new += einsum(tmp31, (0, 1, 2, 3, 4), tmp45, (0, 3, 2, 1), (4,)) * 0.25 + del tmp45 + tmp46 = np.copy(np.transpose(v.oooo, (0, 2, 1, 3))) * -0.42857142857142855 + tmp46 += v.oooo + r1new += einsum(tmp46, (0, 1, 2, 3), tmp30, (0, 3, 2, 1, 4), (4,)) * -1.75 + del tmp46 + tmp48 = np.copy(ints.tmp138) + del ints.tmp138 + tmp48 += ints.tmp145 + del ints.tmp145 + tmp48 += ints.tmp140 * -2 + del ints.tmp140 + tmp47 = np.copy(np.transpose(r2, (2, 0, 1))) * 2 + tmp47 += np.transpose(r2, (2, 1, 0)) * -1 + r1new += einsum(tmp47, (0, 1, 2), tmp48, (0, 1, 3, 2), (3,)) + del tmp47, tmp48 + tmp50 = einsum(t2, (0, 1, 2, 3), tmp49, (2, 3, 4), (0, 1, 4)) + del tmp49 + tmp59 = np.copy(tmp50) * 3 + tmp59 += np.transpose(tmp50, (1, 0, 2)) * -1 + del tmp50 + tmp51 = einsum(t2, (0, 1, 2, 3), tmp39, (2, 3, 4), (0, 1, 4)) + tmp59 += tmp51 * 1.5 + tmp59 += np.transpose(tmp51, (1, 0, 2)) * -2.5 + del tmp51 + tmp53 = einsum(tmp52, (0, 1, 2), t2, (3, 4, 0, 1), (3, 4, 2)) + del tmp52 + tmp59 += tmp53 * -1 + tmp59 += np.transpose(tmp53, (1, 0, 2)) + del tmp53 + tmp55 = einsum(t2, (0, 1, 2, 3), tmp54, (2, 3, 4), (0, 1, 4)) + tmp59 += tmp55 * -0.5 + tmp59 += np.transpose(tmp55, (1, 0, 2)) * 1.5 + del tmp55 + tmp56 = np.copy(np.transpose(r3, (3, 4, 0, 1, 2))) * 1.5 + tmp56 += np.transpose(r3, (4, 3, 0, 1, 2)) * -0.5 + tmp56 += np.transpose(r3, (4, 3, 0, 2, 1)) + tmp59 += einsum(tmp56, (0, 1, 2, 3, 4), t2, (5, 1, 2, 3), (5, 0, 4)) * -2 + del tmp56 + tmp57 = np.copy(np.transpose(r3, (3, 4, 0, 1, 2))) * 0.25 + tmp57 += np.transpose(r3, (4, 3, 0, 1, 2)) * -0.25 + tmp57 += np.transpose(r3, (4, 3, 0, 2, 1)) + tmp59 += einsum(tmp57, (0, 1, 2, 3, 4), t2, (5, 1, 3, 2), (5, 0, 4)) * 4 + del tmp57 + tmp58 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * -1 + tmp58 += np.transpose(t3, (0, 2, 1, 3, 4, 5)) * 3 + tmp58 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) * -1 + tmp58 += np.transpose(t3, (1, 0, 2, 3, 5, 4)) * -2 + tmp59 += einsum(r2, (0, 1, 2), tmp58, (2, 3, 4, 1, 5, 0), (3, 4, 5)) + del tmp58 + r1new += einsum(v.ovov, (0, 1, 2, 3), tmp59, (2, 0, 1), (3,)) * -0.5 + del tmp59 + tmp60 = np.copy(np.transpose(r3, (3, 4, 0, 1, 2))) + tmp60 += np.transpose(r3, (3, 4, 2, 0, 1)) * 2 + tmp60 += np.transpose(r3, (4, 3, 0, 1, 2)) * -1.5 + tmp60 += np.transpose(r3, (4, 3, 1, 0, 2)) * 0.5 + tmp60 += np.transpose(r3, (4, 3, 2, 0, 1)) * -1 + tmp62 = einsum(tmp60, (0, 1, 2, 3, 4), t2, (5, 1, 3, 4), (0, 5, 2)) * -0.5 + del tmp60 + tmp61 = np.copy(np.transpose(r3, (3, 4, 0, 1, 2))) + tmp61 += np.transpose(r3, (3, 4, 2, 0, 1)) * 0.5 + tmp61 += np.transpose(r3, (4, 3, 0, 1, 2)) * -0.25 + tmp61 += np.transpose(r3, (4, 3, 1, 0, 2)) * 0.25 + tmp61 += np.transpose(r3, (4, 3, 2, 0, 1)) * -1 + tmp62 += einsum(tmp61, (0, 1, 2, 3, 4), t2, (5, 1, 4, 3), (0, 5, 2)) + del tmp61 + r1new += einsum(tmp62, (0, 1, 2), ints.tmp301, (0, 1, 2, 3), (3,)) * -1 + del tmp62 + tmp63 = np.copy(np.transpose(r3, (3, 4, 0, 1, 2))) + tmp63 += np.transpose(r3, (3, 4, 2, 0, 1)) * 0.16666666666666666 + tmp63 += np.transpose(r3, (4, 3, 0, 1, 2)) * -0.16666666666666666 + tmp63 += np.transpose(r3, (4, 3, 1, 0, 2)) * 0.8333333333333334 + tmp63 += np.transpose(r3, (4, 3, 2, 0, 1)) * -0.16666666666666666 + tmp65 = einsum(tmp63, (0, 1, 2, 3, 4), t2, (5, 1, 4, 3), (0, 5, 2)) * -2 + del tmp63 + tmp64 = np.copy(np.transpose(r3, (3, 4, 0, 1, 2))) + tmp64 += np.transpose(r3, (3, 4, 2, 0, 1)) * 1.5 + tmp64 += np.transpose(r3, (4, 3, 0, 1, 2)) * -0.5 + tmp64 += np.transpose(r3, (4, 3, 1, 0, 2)) * 1.5 + tmp64 += np.transpose(r3, (4, 3, 2, 0, 1)) * -0.5 + tmp65 += einsum(tmp64, (0, 1, 2, 3, 4), t2, (5, 1, 3, 4), (0, 5, 2)) * 0.6666666666666666 + del tmp64 + r1new += einsum(tmp65, (0, 1, 2), tmp66, (0, 1, 2, 3), (3,)) * -1.5 + del tmp65 + tmp67 = np.copy(np.transpose(r3, (3, 4, 0, 1, 2))) + tmp67 += np.transpose(r3, (3, 4, 0, 2, 1)) * -4 + tmp67 += np.transpose(r3, (4, 3, 0, 2, 1)) + tmp69 = einsum(tmp67, (0, 1, 2, 3, 4), t2, (5, 0, 4, 2), (1, 5, 3)) * -0.3333333333333333 + tmp68 = np.copy(np.transpose(r3, (3, 4, 0, 1, 2))) + tmp68 += np.transpose(r3, (3, 4, 0, 2, 1)) * -2 + tmp68 += np.transpose(r3, (4, 3, 0, 2, 1)) * 3 + tmp69 += einsum(tmp68, (0, 1, 2, 3, 4), t2, (5, 0, 2, 4), (1, 5, 3)) * 0.3333333333333333 + r1new += einsum(v.oovv, (0, 1, 2, 3), tmp69, (0, 1, 3), (2,)) * -1.5 + del tmp69 + r1new += einsum(ints.tmp143, (0, 1, 2, 3), tmp70, (0, 1, 3), (2,)) * 2 + tmp71 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * -0.3333333333333333 + tmp71 += np.transpose(t3, (0, 2, 1, 3, 4, 5)) * 0.3333333333333333 + tmp71 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) * -1 + tmp72 = einsum(r2, (0, 1, 2), tmp71, (2, 3, 4, 1, 5, 0), (3, 4, 5)) * 3 + del tmp71 + r1new += einsum(tmp72, (0, 1, 2), v.ovov, (1, 3, 0, 2), (3,)) * 0.5 + del tmp72 + tmp73 = einsum(r3, (0, 1, 2, 3, 4), t3, (5, 6, 3, 1, 0, 2), (4, 5, 6)) + tmp76 = np.copy(tmp73) * 2 + tmp75 = einsum(tmp74, (0, 1, 2, 3, 4, 5), r3, (5, 4, 3, 6, 0), (6, 1, 2)) + del tmp74 + tmp76 += tmp75 * -1 + r1new += einsum(tmp17, (0, 1, 2, 3), tmp76, (1, 0, 2), (3,)) * -0.08333333333333 + del tmp17, tmp76 + tmp215 = einsum(ints.tmp592, (0, 1, 2, 3), r3, (4, 3, 5, 1, 0), (2, 5, 4)) * 6 + tmp77 = einsum(t3, (0, 1, 2, 3, 4, 5), r3, (3, 4, 5, 6, 1), (6, 0, 2)) + tmp215 += einsum(tmp77, (0, 1, 2), v.ovov, (2, 3, 1, 4), (0, 3, 4)) * -2 + tmp78 = einsum(r2, (0, 1, 2), v.oovv, (3, 2, 4, 0), (3, 1, 4)) + tmp88 = np.copy(tmp78) * 4 + del tmp78 + tmp79 = einsum(ints.tmp301, (0, 1, 2, 3), r2, (4, 2, 0), (1, 3, 4)) + tmp88 += tmp79 * -4 + del tmp79 + tmp81 = einsum(tmp80, (0, 1, 2, 3, 4), t1, (1, 2), (0, 3, 4)) + del tmp80 + tmp88 += tmp81 * 4 + del tmp81 + tmp82 = einsum(v.ovvv, (0, 1, 2, 3), tmp39, (4, 3, 1), (0, 4, 2)) + tmp88 += tmp82 * 4 + del tmp82 + tmp83 = einsum(t2, (0, 1, 2, 3), r3, (2, 4, 3, 1, 5), (5, 0, 4)) + tmp84 = einsum(tmp83, (0, 1, 2), v.ovvv, (1, 3, 4, 2), (0, 3, 4)) + tmp88 += tmp84 * 2 + del tmp84 + tmp85 = einsum(t2, (0, 1, 2, 3), r3, (2, 3, 4, 1, 5), (5, 0, 4)) + tmp86 = einsum(tmp85, (0, 1, 2), t1, (3, 2), (0, 3, 1)) + tmp87 = einsum(v.ovov, (0, 1, 2, 3), tmp86, (4, 0, 2), (4, 1, 3)) + del tmp86 + tmp88 += tmp87 * -2 + del tmp87 + tmp215 += tmp88 * -1 + tmp215 += np.transpose(tmp88, (0, 2, 1)) * 2 + del tmp88 + tmp89 = einsum(ints.tmp301, (0, 1, 2, 3), r2, (2, 4, 0), (1, 3, 4)) + tmp104 = np.copy(tmp89) * 8 + del tmp89 + tmp90 = einsum(r2, (0, 1, 2), v.oovv, (3, 2, 4, 1), (3, 0, 4)) + tmp104 += tmp90 * -8 + del tmp90 + tmp104 += tmp91 * 8 + del tmp91 + tmp93 = einsum(tmp92, (0, 1, 2, 3, 4), t1, (1, 2), (0, 3, 4)) + del tmp92 + tmp104 += tmp93 * -8 + del tmp93 + tmp95 = einsum(tmp94, (0, 1, 2), v.ovvv, (3, 4, 2, 0), (3, 1, 4)) + del tmp94 + tmp104 += tmp95 * 8 + del tmp95 + tmp96 = einsum(v.ovvv, (0, 1, 2, 3), tmp85, (4, 0, 3), (4, 1, 2)) + del tmp85 + tmp104 += tmp96 * -4 + del tmp96 + tmp97 = einsum(tmp1, (0, 1, 2, 3), tmp70, (0, 4, 2), (1, 3, 4)) * 16 + del tmp1 + tmp104 += tmp97 * -1 + del tmp97 + tmp102 = np.copy(tmp98) + tmp100 = np.copy(tmp99) + del tmp99 + tmp100 += tmp83 * 0.5 + del tmp83 + tmp101 = einsum(t1, (0, 1), tmp100, (2, 3, 1), (0, 2, 3)) + del tmp100 + tmp102 += np.transpose(tmp101, (1, 0, 2)) + del tmp101 + tmp103 = einsum(v.ovov, (0, 1, 2, 3), tmp102, (4, 2, 0), (4, 1, 3)) * 8 + del tmp102 + tmp104 += np.transpose(tmp103, (0, 2, 1)) + del tmp103 + tmp215 += tmp104 * -1 + tmp215 += np.transpose(tmp104, (0, 2, 1)) * 0.5 + del tmp104 + tmp122 = np.copy(tmp105) * 2 + del tmp105 + tmp106 = einsum(r3, (0, 1, 2, 3, 4), v.ooov, (5, 4, 3, 1), (5, 0, 2)) + tmp122 += tmp106 * 2 + del tmp106 + tmp108 = einsum(tmp107, (0, 1, 2), v.ovvv, (3, 4, 2, 0), (3, 1, 4)) + del tmp107 + tmp122 += tmp108 * 4 + del tmp108 + tmp109 = einsum(r3, (0, 1, 2, 3, 4), t3, (4, 5, 3, 0, 6, 1), (5, 2, 6)) * -1 + tmp110 = einsum(v.ovov, (0, 1, 2, 3), tmp109, (2, 4, 1), (0, 4, 3)) + tmp122 += tmp110 + del tmp110 + tmp111 = einsum(v.ovvv, (0, 1, 2, 3), tmp43, (3, 4, 1), (0, 2, 4)) * -2 + tmp122 += np.transpose(tmp111, (0, 2, 1)) * -1 + del tmp111 + tmp114 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1))) + tmp114 += np.transpose(v.ovov, (0, 2, 1, 3)) * -0.5 + tmp112 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * -1 + tmp112 += np.transpose(t3, (0, 2, 1, 3, 4, 5)) + tmp113 = einsum(r3, (0, 1, 2, 3, 4), tmp112, (3, 5, 4, 1, 6, 0), (5, 2, 6)) + del tmp112 + tmp115 = einsum(tmp113, (0, 1, 2), tmp114, (0, 3, 4, 2), (3, 1, 4)) * -2 + del tmp113, tmp114 + tmp122 += tmp115 + del tmp115 + tmp119 = np.copy(tmp73) * 2 + del tmp73 + tmp119 += tmp75 * -1 + del tmp75 + tmp116 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * -1 + tmp116 += t2 * 3 + tmp117 = einsum(tmp116, (0, 1, 2, 3), r3, (3, 2, 4, 5, 0), (5, 1, 4)) * 0.3333333333333333 + del tmp116 + tmp118 = einsum(tmp117, (0, 1, 2), t1, (3, 2), (3, 0, 1)) * 18 + tmp119 += np.transpose(tmp118, (1, 0, 2)) + del tmp118 + tmp120 = einsum(v.ovov, (0, 1, 2, 3), tmp119, (4, 2, 0), (4, 1, 3)) * 0.33333333333332 + del tmp119 + tmp122 += np.transpose(tmp120, (0, 2, 1)) * -1 + del tmp120 + tmp121 = einsum(tmp117, (0, 1, 2), v.ovvv, (1, 3, 4, 2), (0, 3, 4)) * 6 + del tmp117 + tmp122 += tmp121 * -1 + del tmp121 + tmp215 += tmp122 + tmp215 += np.transpose(tmp122, (0, 2, 1)) * -1 + del tmp122 + tmp123 = np.copy(ints.tmp465) + tmp123 += np.transpose(v.ooov, (0, 2, 1, 3)) + tmp124 = einsum(r3, (0, 1, 2, 3, 4), tmp123, (3, 4, 5, 1), (5, 0, 2)) * 2 + del tmp123 + tmp215 += tmp124 * -1 + tmp215 += np.transpose(tmp124, (0, 2, 1)) * 3 + del tmp124 + tmp125 = einsum(ints.tmp694, (0, 1, 2, 3), r3, (4, 5, 6, 0, 1), (2, 3, 4, 5, 6)) + del ints.tmp694 + tmp126 = einsum(tmp125, (0, 1, 2, 3, 4), t1, (1, 3), (0, 2, 4)) + tmp215 += tmp126 + tmp215 += np.transpose(tmp126, (0, 2, 1)) * -7 + del tmp126 + tmp127 = einsum(v.ovvv, (0, 1, 2, 3), tmp39, (4, 3, 2), (0, 4, 1)) + del tmp39 + tmp135 = np.copy(tmp127) * 4 + del tmp127 + tmp128 = einsum(r3, (0, 1, 2, 3, 4), t2, (5, 3, 2, 0), (4, 5, 1)) + tmp129 = einsum(v.ovvv, (0, 1, 2, 3), tmp128, (4, 0, 3), (4, 1, 2)) + tmp135 += tmp129 * 2 + del tmp129 + tmp133 = np.copy(tmp130) * -0.33333333333332 + del tmp130 + tmp132 = einsum(t1, (0, 1), tmp131, (2, 3, 1), (2, 0, 3)) + tmp133 += tmp132 + del tmp132 + tmp134 = einsum(tmp133, (0, 1, 2), v.ovov, (2, 3, 1, 4), (0, 3, 4)) * 2 + del tmp133 + tmp135 += np.transpose(tmp134, (0, 2, 1)) * -1 + del tmp134 + tmp215 += tmp135 + tmp215 += np.transpose(tmp135, (0, 2, 1)) * -4 + del tmp135 + tmp136 = einsum(tmp131, (0, 1, 2), v.ovvv, (1, 3, 4, 2), (0, 3, 4)) + del tmp131 + tmp141 = np.copy(tmp136) * -8 + del tmp136 + tmp137 = einsum(r3, (0, 1, 2, 3, 4), t3, (5, 6, 3, 0, 2, 1), (4, 5, 6)) + tmp139 = np.copy(tmp137) * -0.33333333333332 + del tmp137 + tmp138 = einsum(tmp128, (0, 1, 2), t1, (3, 2), (0, 3, 1)) + del tmp128 + tmp139 += tmp138 + del tmp138 + tmp140 = einsum(v.ovov, (0, 1, 2, 3), tmp139, (4, 2, 0), (4, 1, 3)) * 8 + del tmp139 + tmp141 += np.transpose(tmp140, (0, 2, 1)) + del tmp140 + tmp215 += tmp141 + tmp215 += np.transpose(tmp141, (0, 2, 1)) * -0.25 + del tmp141 + tmp142 = einsum(t3, (0, 1, 2, 3, 4, 5), r3, (5, 4, 6, 2, 1), (0, 6, 3)) + tmp143 = einsum(v.ovov, (0, 1, 2, 3), tmp142, (2, 4, 1), (0, 4, 3)) + tmp215 += tmp143 * 5 + tmp215 += np.transpose(tmp143, (0, 2, 1)) * -1 + del tmp143 + tmp144 = einsum(v.ovov, (0, 1, 2, 3), tmp142, (2, 4, 3), (0, 4, 1)) + del tmp142 + tmp215 += tmp144 * -6 + tmp215 += np.transpose(tmp144, (0, 2, 1)) * 2 + del tmp144 + tmp145 = einsum(v.ovov, (0, 1, 2, 3), tmp109, (2, 4, 3), (0, 4, 1)) + del tmp109 + tmp215 += tmp145 * -3 + tmp215 += np.transpose(tmp145, (0, 2, 1)) * 2 + del tmp145 + tmp147 = np.copy(np.transpose(r3, (3, 4, 0, 1, 2))) + tmp147 += np.transpose(r3, (4, 3, 0, 1, 2)) * -0.5 + tmp147 += np.transpose(r3, (4, 3, 0, 2, 1)) + tmp147 += np.transpose(r3, (4, 3, 2, 0, 1)) * -0.5 + tmp215 += einsum(tmp147, (0, 1, 2, 3, 4), tmp146, (1, 3, 4, 5), (0, 5, 2)) * 8 + del tmp146 + tmp148 = np.copy(np.transpose(r3, (3, 4, 0, 1, 2))) * -1 + tmp148 += np.transpose(r3, (3, 4, 0, 2, 1)) + tmp148 += np.transpose(r3, (4, 3, 0, 1, 2)) * 2 + tmp148 += np.transpose(r3, (4, 3, 0, 2, 1)) * -1 + tmp148 += np.transpose(r3, (4, 3, 2, 0, 1)) + tmp215 += einsum(ints.tmp143, (0, 1, 2, 3), tmp148, (4, 0, 5, 1, 3), (4, 2, 5)) * 4 + del ints.tmp143, tmp148 + tmp149 = np.copy(ints.tmp366) + del ints.tmp366 + tmp149 += ints.tmp382 + del ints.tmp382 + tmp149 += ints.tmp371 * -2 + del ints.tmp371 + tmp150 = np.copy(np.transpose(r3, (3, 4, 0, 1, 2))) * 2 + tmp150 += np.transpose(r3, (4, 3, 0, 1, 2)) * -1 + tmp150 += np.transpose(r3, (4, 3, 0, 2, 1)) * 2 + tmp150 += np.transpose(r3, (4, 3, 2, 0, 1)) * -1 + tmp215 += einsum(tmp150, (0, 1, 2, 3, 4), tmp149, (1, 0, 5, 3), (5, 4, 2)) * -4 + del tmp150, tmp149 + tmp155 = np.copy(np.transpose(tmp151, (0, 2, 1, 3, 4))) * 4 + del tmp151 + tmp155 += np.transpose(tmp152, (0, 2, 1, 3, 4)) * 4 + del tmp152 + tmp153 = np.copy(np.transpose(r3, (3, 4, 0, 1, 2))) + tmp153 += np.transpose(r3, (3, 4, 2, 0, 1)) * 0.5 + tmp153 += np.transpose(r3, (4, 3, 0, 1, 2)) * -0.5 + tmp155 += einsum(tmp153, (0, 1, 2, 3, 4), tmp154, (0, 5, 6, 4, 3, 7), (1, 5, 6, 2, 7)) * 2 + del tmp154, tmp153 + tmp215 += einsum(tmp155, (0, 1, 2, 3, 4), v.ovov, (2, 4, 1, 5), (0, 5, 3)) + del tmp155 + tmp156 = np.copy(np.transpose(r3, (3, 4, 0, 1, 2))) + tmp156 += np.transpose(r3, (3, 4, 2, 0, 1)) * 0.5 + tmp156 += np.transpose(r3, (4, 3, 0, 1, 2)) * -1.5 + tmp215 += einsum(tmp156, (0, 1, 2, 3, 4), v.ovvv, (1, 4, 5, 3), (0, 5, 2)) * 4 + del tmp156 + tmp157 = np.copy(np.transpose(r3, (3, 4, 0, 1, 2))) + tmp157 += np.transpose(r3, (3, 4, 2, 0, 1)) * 0.25 + tmp157 += np.transpose(r3, (4, 3, 0, 1, 2)) * -0.25 + tmp215 += einsum(tmp157, (0, 1, 2, 3, 4), v.ovvv, (1, 3, 5, 4), (0, 5, 2)) * -8 + del tmp157 + tmp158 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) + tmp158 += np.transpose(t3, (0, 2, 1, 3, 4, 5)) * -1 + tmp161 = einsum(tmp19, (0, 1, 2, 3, 4), tmp158, (0, 5, 6, 3, 2, 7), (1, 5, 6, 4, 7)) * -0.2 + del tmp158 + tmp159 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * 0.33333333333333337 + tmp159 += np.transpose(t3, (0, 2, 1, 3, 4, 5)) * -1 + tmp159 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) * 0.33333333333333337 + tmp161 += einsum(r3, (0, 1, 2, 3, 4), tmp159, (3, 5, 6, 2, 1, 7), (4, 5, 6, 0, 7)) * 1.2 + del tmp159 + tmp160 = np.copy(np.transpose(r3, (3, 4, 0, 1, 2))) * -1 + tmp160 += np.transpose(r3, (4, 3, 1, 2, 0)) * 5 + tmp161 += einsum(t3, (0, 1, 2, 3, 4, 5), tmp160, (2, 6, 5, 4, 7), (6, 0, 1, 7, 3)) * -0.2 + del tmp160 + tmp215 += einsum(tmp161, (0, 1, 2, 3, 4), v.ovov, (2, 5, 1, 4), (0, 5, 3)) * -5 + del tmp161 + tmp162 = np.copy(ints.tmp377) * 0.5 + tmp162 += ints.tmp592 * 0.75 + tmp162 += ints.tmp607 * 0.25 + tmp162 += ints.tmp465 * -0.5 + tmp162 += ints.tmp578 * -0.25 + tmp162 += ints.tmp585 * -0.25 + tmp162 += np.transpose(v.ooov, (0, 2, 1, 3)) * -0.5 + tmp162 += np.transpose(v.ovoo, (0, 2, 3, 1)) + tmp215 += einsum(tmp162, (0, 1, 2, 3), r3, (4, 5, 3, 0, 1), (2, 5, 4)) * 8 + del tmp162 + tmp163 = np.copy(ints.tmp377) * 4 + tmp163 += ints.tmp592 + tmp163 += ints.tmp607 * 2 + tmp163 += ints.tmp578 * -3 + tmp163 += ints.tmp585 * -1 + tmp215 += einsum(tmp163, (0, 1, 2, 3), r3, (4, 3, 5, 0, 1), (2, 5, 4)) * -2 + del tmp163 + tmp164 = np.copy(ints.tmp578) + tmp164 += ints.tmp585 + del ints.tmp585 + tmp164 += ints.tmp377 * -2 + tmp215 += einsum(tmp164, (0, 1, 2, 3), tmp165, (1, 0, 4, 3, 5), (2, 5, 4)) * -2 + del tmp165, tmp164 + tmp166 = np.copy(ints.tmp465) * 2 + del ints.tmp465 + tmp166 += ints.tmp578 + del ints.tmp578 + tmp166 += ints.tmp377 * -1 + del ints.tmp377 + tmp215 += einsum(tmp166, (0, 1, 2, 3), r3, (4, 5, 3, 1, 0), (2, 5, 4)) * 4 + del tmp166 + tmp167 = np.copy(ints.tmp592) + del ints.tmp592 + tmp167 += ints.tmp607 + del ints.tmp607 + tmp215 += einsum(r3, (0, 1, 2, 3, 4), tmp167, (3, 4, 5, 0), (5, 1, 2)) * -2 + del tmp167 + tmp168 = np.copy(tmp30) * -1 + tmp168 += np.transpose(tmp30, (0, 1, 3, 2, 4)) * 2 + tmp168 += np.transpose(tmp30, (1, 0, 2, 3, 4)) * 1.5 + tmp168 += np.transpose(tmp30, (1, 0, 3, 2, 4)) * -0.5 + del tmp30 + tmp168 += tmp31 * -0.5 + tmp168 += np.transpose(tmp31, (0, 1, 3, 2, 4)) * 0.5 + del tmp31 + tmp215 += einsum(tmp168, (0, 1, 2, 3, 4), v.ooov, (3, 1, 2, 5), (0, 5, 4)) * -4 + del tmp168 + tmp191 = np.copy(np.transpose(tmp125, (0, 1, 2, 4, 3))) * -0.3333333333333333 + tmp191 += np.transpose(tmp125, (0, 1, 4, 2, 3)) + del tmp125 + tmp169 = einsum(v.oooo, (0, 1, 2, 3), r3, (4, 5, 6, 1, 3), (0, 2, 4, 5, 6)) + tmp191 += np.transpose(tmp169, (0, 1, 4, 2, 3)) + tmp191 += np.transpose(tmp169, (0, 1, 3, 4, 2)) * 0.3333333333333333 + tmp191 += np.transpose(tmp169, (1, 0, 4, 2, 3)) * -2.3333333333333335 + tmp191 += np.transpose(tmp169, (1, 0, 3, 4, 2)) * -0.3333333333333333 + del tmp169 + tmp174 = np.copy(tmp13) * 2.3333333333333335 + del tmp13 + tmp173 = einsum(v.ovov, (0, 1, 2, 3), tmp172, (4, 5, 2, 0, 6), (4, 5, 1, 3, 6)) * 2.3333333333333335 + del tmp172 + tmp174 += np.transpose(tmp173, (0, 1, 4, 3, 2)) + del tmp173 + tmp191 += np.transpose(tmp174, (0, 1, 3, 2, 4)) * -1 + tmp191 += np.transpose(tmp174, (0, 1, 4, 2, 3)) * 0.42857142857142855 + del tmp174 + tmp181 = np.copy(tmp14) * 0.3333333333333333 + del tmp14 + tmp181 += tmp176 * -0.6666666666666666 + del tmp176 + tmp180 = einsum(v.ovov, (0, 1, 2, 3), tmp179, (4, 5, 2, 0, 6), (4, 5, 1, 3, 6)) * 0.3333333333333333 + del tmp179 + tmp181 += np.transpose(tmp180, (0, 1, 4, 3, 2)) + del tmp180 + tmp191 += np.transpose(tmp181, (0, 1, 3, 2, 4)) * -1 + tmp191 += np.transpose(tmp181, (0, 1, 4, 2, 3)) + del tmp181 + tmp191 += tmp182 * 0.6666666666666666 + tmp191 += np.transpose(tmp182, (0, 1, 3, 2, 4)) * -2.6666666666666665 + del tmp182 + tmp191 += np.transpose(tmp184, (0, 1, 3, 2, 4)) * 2.6666666666666665 + tmp191 += np.transpose(tmp184, (0, 1, 4, 2, 3)) * -1.3333333333333333 + del tmp184 + tmp191 += np.transpose(tmp185, (0, 1, 3, 2, 4)) * -0.6666666666666666 + tmp191 += np.transpose(tmp185, (0, 1, 4, 2, 3)) * 2 + del tmp185 + tmp191 += np.transpose(tmp186, (0, 1, 2, 4, 3)) * 0.6666666666666666 + tmp191 += np.transpose(tmp186, (0, 1, 3, 4, 2)) * -0.6666666666666666 + del tmp186 + tmp191 += np.transpose(tmp187, (0, 1, 2, 4, 3)) * 3 + tmp191 += np.transpose(tmp187, (0, 1, 3, 4, 2)) * -1 + del tmp187 + tmp191 += np.transpose(tmp188, (0, 1, 2, 4, 3)) * -1.6666666666666667 + tmp191 += np.transpose(tmp188, (0, 1, 3, 4, 2)) + del tmp188 + tmp191 += einsum(tmp66, (0, 1, 2, 3), tmp147, (4, 0, 5, 2, 6), (1, 4, 3, 5, 6)) * -5.333333333333333 + del tmp66 + tmp189 = np.copy(np.transpose(r3, (3, 4, 0, 1, 2))) + tmp189 += np.transpose(r3, (3, 4, 0, 2, 1)) * -1 + tmp189 += np.transpose(r3, (4, 3, 0, 1, 2)) * -1 + tmp189 += np.transpose(r3, (4, 3, 0, 2, 1)) * 2 + tmp189 += np.transpose(r3, (4, 3, 2, 1, 0)) + tmp191 += einsum(tmp189, (0, 1, 2, 3, 4), ints.tmp301, (1, 5, 4, 6), (5, 0, 6, 2, 3)) * -1.3333333333333333 + del ints.tmp301, tmp189 + tmp191 += einsum(v.oovv, (0, 1, 2, 3), tmp7, (4, 1, 5, 6, 3), (4, 0, 6, 5, 2)) * 1.3333333333333333 + del tmp7 + tmp191 += einsum(tmp147, (0, 1, 2, 3, 4), v.ovov, (5, 6, 0, 4), (1, 5, 3, 2, 6)) * 2.6666666666666665 + del tmp147 + tmp190 = np.copy(tmp170) * 3 + tmp190 += np.transpose(tmp170, (1, 0, 2, 3, 4)) * -2 + del tmp170 + tmp190 += einsum(t1, (0, 1), tmp19, (2, 3, 1, 4, 5), (3, 2, 0, 5, 4)) * -1 + del tmp19 + tmp191 += einsum(v.ovoo, (0, 1, 2, 3), tmp190, (2, 4, 3, 5, 6), (4, 0, 6, 5, 1)) * -0.6666666666666666 + del tmp190 + tmp215 += einsum(t1, (0, 1), tmp191, (2, 0, 1, 3, 4), (2, 4, 3)) * 3 + del tmp191 + tmp194 = np.copy(v.ovvv) * -1 + tmp194 += np.transpose(v.ovvv, (0, 2, 3, 1)) * 2 + tmp193 = np.copy(tmp54) + del tmp54 + tmp192 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * 3 + tmp192 += t2 * -1 + tmp193 += einsum(r3, (0, 1, 2, 3, 4), tmp192, (3, 4, 5, 2), (0, 1, 5)) * -0.5 + del tmp192 + tmp215 += einsum(tmp194, (0, 1, 2, 3), tmp193, (4, 2, 1), (0, 3, 4)) * 4 + del tmp194, tmp193 + tmp198 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1))) * -1 + tmp198 += np.transpose(v.ovov, (0, 2, 1, 3)) + tmp197 = einsum(r3, (0, 1, 2, 3, 4), tmp195, (4, 5, 3, 1, 0, 6), (5, 2, 6)) + del tmp195 + tmp196 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * -1 + tmp196 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) * -1 + tmp197 += einsum(tmp196, (0, 1, 2, 3, 4, 5), r3, (3, 6, 5, 0, 2), (1, 6, 4)) * -1 + del tmp196 + tmp215 += einsum(tmp198, (0, 1, 2, 3), tmp197, (0, 4, 3), (1, 4, 2)) * -1 + del tmp198, tmp197 + tmp200 = np.copy(np.transpose(r2, (2, 0, 1))) + tmp200 += np.transpose(r2, (2, 1, 0)) * -2 + tmp199 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * 6 + tmp199 += np.transpose(t3, (0, 2, 1, 3, 4, 5)) * -2 + tmp199 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) * 2 + tmp199 += t3 * 3 + tmp199 += np.transpose(t3, (1, 0, 2, 3, 5, 4)) + tmp199 += np.transpose(t3, (1, 0, 2, 3, 4, 5)) * -1 + tmp199 += np.transpose(t3, (1, 0, 2, 4, 3, 5)) * 5 + tmp200 += einsum(r3, (0, 1, 2, 3, 4), tmp199, (3, 5, 4, 2, 6, 1), (5, 0, 6)) * -0.25 + tmp215 += einsum(tmp200, (0, 1, 2), v.ovov, (3, 4, 0, 2), (3, 4, 1)) * 8 + del tmp200 + tmp201 = einsum(r3, (0, 1, 2, 3, 4), tmp199, (3, 5, 4, 2, 6, 1), (5, 0, 6)) * -0.5 + tmp215 += einsum(v.ovov, (0, 1, 2, 3), tmp201, (2, 4, 1), (0, 3, 4)) * -2 + del tmp201 + tmp215 += einsum(v.ovvv, (0, 1, 2, 3), tmp43, (4, 2, 3), (0, 4, 1)) * 4 + del tmp43 + tmp202 = np.copy(np.transpose(t2, (0, 1, 3, 2))) + tmp202 += t2 * -0.6 + tmp203 = einsum(tmp202, (0, 1, 2, 3), r3, (3, 4, 5, 0, 1), (4, 5, 2)) * 1.6666666666666667 + del tmp202 + tmp215 += einsum(tmp203, (0, 1, 2), v.ovvv, (3, 2, 4, 1), (3, 0, 4)) * -6 + del tmp203 + tmp204 = einsum(t3, (0, 1, 2, 3, 4, 5), r3, (4, 5, 6, 1, 2), (0, 6, 3)) + tmp206 = np.copy(tmp204) * -1 + tmp206 += np.transpose(r2, (2, 0, 1)) * -0.8 + tmp206 += np.transpose(r2, (2, 1, 0)) * 1.6 + tmp205 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * -1 + tmp205 += np.transpose(t3, (0, 1, 2, 3, 5, 4)) + tmp206 += einsum(tmp205, (0, 1, 2, 3, 4, 5), r3, (4, 6, 3, 0, 2), (1, 6, 5)) * -0.2 + del tmp205 + tmp215 += einsum(v.ovov, (0, 1, 2, 3), tmp206, (2, 4, 3), (0, 4, 1)) * 5 + del tmp206 + tmp208 = np.copy(tmp204) * -1 + del tmp204 + tmp207 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) + tmp207 += np.transpose(t3, (0, 1, 2, 4, 3, 5)) * -0.6666666666666666 + tmp208 += einsum(tmp207, (0, 1, 2, 3, 4, 5), r3, (4, 6, 3, 0, 2), (1, 6, 5)) * 3 + del tmp207 + tmp215 += einsum(v.ovov, (0, 1, 2, 3), tmp208, (2, 4, 1), (0, 4, 3)) * -1 + del tmp208 + tmp210 = einsum(tmp67, (0, 1, 2, 3, 4), t2, (5, 0, 4, 2), (1, 5, 3)) * -0.5 + del tmp67 + tmp210 += einsum(tmp68, (0, 1, 2, 3, 4), t2, (5, 0, 2, 4), (1, 5, 3)) * 0.5 + del tmp68 + tmp209 = np.copy(np.transpose(r2, (2, 0, 1))) * -1 + tmp209 += np.transpose(r2, (2, 1, 0)) * 2 + tmp210 += einsum(t1, (0, 1), tmp209, (2, 3, 1), (2, 0, 3)) * -1 + tmp215 += einsum(v.ovoo, (0, 1, 2, 3), tmp210, (2, 3, 4), (0, 4, 1)) * 4 + del tmp210 + tmp211 = np.copy(np.transpose(r3, (3, 4, 0, 1, 2))) + tmp211 += np.transpose(r3, (3, 4, 0, 2, 1)) * -0.25 + tmp211 += np.transpose(r3, (4, 3, 0, 2, 1)) * 0.25 + tmp213 = einsum(tmp211, (0, 1, 2, 3, 4), t2, (5, 0, 4, 2), (1, 5, 3)) * -4 + del tmp211 + tmp212 = np.copy(np.transpose(r3, (3, 4, 0, 1, 2))) + tmp212 += np.transpose(r3, (3, 4, 0, 2, 1)) * -0.5 + tmp212 += np.transpose(r3, (4, 3, 0, 2, 1)) * 1.5 + tmp213 += einsum(tmp212, (0, 1, 2, 3, 4), t2, (5, 0, 2, 4), (1, 5, 3)) * 2 + del tmp212 + tmp215 += einsum(v.ooov, (0, 1, 2, 3), tmp213, (1, 2, 4), (0, 4, 3)) * -2 + del tmp213 + tmp214 = np.copy(f.vv) + tmp214 += np.transpose(ints.tmp78, (1, 0)) * -1 + tmp215 += einsum(tmp214, (0, 1), tmp209, (2, 3, 0), (2, 1, 3)) * -4 + del tmp214 + r1new += einsum(tmp215, (0, 1, 2), t1, (0, 1), (2,)) * 0.25 + del tmp215 + tmp216 = np.copy(ints.tmp121) * 2 + tmp216 += ints.tmp119 * -1 + r1new += einsum(tmp221, (0, 1, 2), tmp216, (1, 2), (0,)) + del tmp216 + tmp222 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) + tmp222 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) * 0.25 + tmp223 = einsum(r3, (0, 1, 2, 3, 4), tmp222, (3, 5, 6, 2, 0, 1), (4, 5, 6)) * 4 + del tmp222 + r1new += einsum(v.ooov, (0, 1, 2, 3), tmp223, (1, 2, 0), (3,)) * -0.16666666666666 + del tmp223 + tmp225 = np.copy(np.transpose(tmp77, (0, 2, 1))) * -0.75 + del tmp77 + tmp225 += tmp98 * -1.50000000000006 + tmp225 += np.transpose(tmp98, (0, 2, 1)) * 3 + del tmp98 + tmp224 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * -0.25 + tmp224 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) * -1 + tmp225 += einsum(r3, (0, 1, 2, 3, 4), tmp224, (3, 5, 6, 2, 0, 1), (4, 6, 5)) + del tmp224 + r1new += einsum(v.ooov, (0, 1, 2, 3), tmp225, (1, 2, 0), (3,)) * -0.66666666666664 + del tmp225 + tmp227 = np.copy(f.ov) * 2 + tmp227 += ints.tmp123 * 2 + del ints.tmp123 + tmp227 += ints.tmp132 * 4 + del ints.tmp132 + tmp227 += ints.tmp190 + del ints.tmp190 + tmp227 += ints.tmp196 * 3 + del ints.tmp196 + tmp227 += ints.tmp199 + del ints.tmp199 + tmp227 += ints.tmp126 * -4 + del ints.tmp126 + tmp227 += ints.tmp135 * -2 + del ints.tmp135 + tmp227 += ints.tmp193 * -1 + del ints.tmp193 + tmp226 = np.copy(ints.tmp119) + tmp226 += ints.tmp76 * 2 + tmp226 += ints.tmp121 * -2 + tmp227 += einsum(t1, (0, 1), tmp226, (2, 1), (0, 2)) * 2 + del tmp226 + r1new += einsum(tmp209, (0, 1, 2), tmp227, (0, 2), (1,)) * -0.5 + del tmp209, tmp227 + tmp229 = einsum(tmp217, (0, 1, 2, 3, 4), t2, (0, 1, 2, 5), (4, 3, 5)) * -0.6666666666666666 + del tmp217 + tmp229 += einsum(t2, (0, 1, 2, 3), tmp219, (0, 1, 3, 4, 5), (5, 4, 2)) * 1.3333333333333333 + del tmp219 + tmp230 = einsum(tmp229, (0, 1, 2), t1, (3, 1), (3, 0, 2)) * 1.5 + del tmp229 + r1new += einsum(tmp228, (0, 1), tmp230, (0, 2, 1), (2,)) + del tmp230 + r1new += einsum(tmp221, (0, 1, 2), f.vv, (1, 2), (0,)) * -1 + del tmp221 + r1new += einsum(tmp237, (0, 1, 2), tmp231, (1, 0), (2,)) + del tmp231, tmp237 + tmp240 = einsum(r3, (0, 1, 2, 3, 4), tmp199, (3, 5, 4, 2, 6, 1), (5, 0, 6)) * -0.125 + del tmp199 + tmp240 += einsum(r3, (0, 1, 2, 3, 4), tmp238, (3, 5, 4, 0, 6, 1), (5, 2, 6)) * 0.125 + del tmp238 + tmp239 = np.copy(np.transpose(t2, (0, 1, 3, 2))) + tmp239 += t2 * -0.5 + tmp240 += einsum(tmp239, (0, 1, 2, 3), tmp70, (0, 4, 3), (1, 4, 2)) * -2 + del tmp70, tmp239 + r1new += einsum(f.ov, (0, 1), tmp240, (0, 2, 1), (2,)) * 2 + del tmp240 + tmp242 = einsum(tmp232, (0, 1, 2, 3, 4), t2, (5, 0, 3, 4), (1, 5, 2)) * 0.25 + del tmp232 + tmp242 += einsum(tmp234, (0, 1, 2, 3, 4), t2, (5, 0, 4, 3), (1, 5, 2)) * -0.75 + del tmp234 + tmp242 += np.transpose(tmp241, (1, 0, 2)) + del tmp241 + r1new += einsum(tmp242, (0, 1, 2), ints.tmp59, (1, 0), (2,)) * 2 + del ints.tmp59, tmp242 + tmp245 = np.copy(tmp243) * 12 + del tmp243 + tmp244 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * 2 + tmp244 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) * 2 + tmp244 += np.transpose(t3, (0, 1, 2, 4, 3, 5)) * -3 + tmp244 += np.transpose(t3, (1, 0, 2, 3, 5, 4)) + tmp244 += np.transpose(t3, (1, 0, 2, 3, 4, 5)) * -1 + tmp244 += np.transpose(t3, (1, 0, 2, 4, 3, 5)) + tmp245 += einsum(tmp244, (0, 1, 2, 3, 4, 5), r3, (5, 4, 3, 0, 2), (1,)) + del tmp244 + tmp245 += einsum(r2, (0, 1, 2), tmp11, (2, 3, 1, 0), (3,)) * -12 + del tmp11 + r1new += einsum(tmp245, (0,), tmp228, (0, 1), (1,)) * -0.08333333333333 + del tmp228, tmp245 + tmp246 = np.copy(f.vv) + tmp246 += ints.tmp119 + del ints.tmp119 + tmp246 += np.transpose(ints.tmp76, (1, 0)) * 2 + del ints.tmp76 + tmp246 += ints.tmp121 * -2 + del ints.tmp121 + tmp246 += np.transpose(ints.tmp78, (1, 0)) * -1 + del ints.tmp78 + r1new += einsum(r1, (0,), tmp246, (0, 1), (1,)) + del tmp246 + tmp247 = einsum(r3, (0, 1, 2, 3, 4), t3, (5, 4, 3, 0, 1, 2), (5,)) + tmp248 = np.copy(f.ov) + tmp248 += ints.tmp321 * 2 + del ints.tmp321 + tmp248 += ints.tmp318 * -1 + del ints.tmp318 + r1new += einsum(tmp247, (0,), tmp248, (0, 1), (1,)) * 0.66666666666664 + del tmp247, tmp248 - return rdm2_f + return {f"r1new": r1new, f"r2new": r2new, f"r3new": r3new} diff --git a/ebcc/codegen/UCCSDT.py b/ebcc/codegen/UCCSDT.py index e2d90271..48cd6bf0 100644 --- a/ebcc/codegen/UCCSDT.py +++ b/ebcc/codegen/UCCSDT.py @@ -1,9150 +1,10848 @@ -# Code generated for ebcc. +""" +Code generated by `albert`: +https://github.com/obackhouse/albert + + * date: 2024-10-22T10:42:02.333487 + * python version: 3.9.6 (default, Feb 3 2024, 15:58:27) +[Clang 15.0.0 (clang-1500.3.9.4)] + * albert version: 0.0.0 + * caller: /Users/oliver.backhouse/env/default/lib/python3.9/site-packages/albert/codegen/einsum.py + * node: F9HJ673GV7.local + * system: Darwin + * processor: arm + * release: 23.3.0 +""" from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, Namespace -from ebcc.precision import types +from ebcc.util import pack_2e, einsum, dirsum, Namespace + + +def energy(f=None, t1=None, t2=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-10-22T10:42:02.921956. + + Parameters + ---------- + f : Namespace of arrays + Fock matrix. + t1 : Namespace of arrays + T1 amplitudes. + t2 : Namespace of arrays + T2 amplitudes. + v : Namespace of arrays + Electron repulsion integrals. -def energy(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, t3=None, **kwargs): - # energy - e_cc = 0 + Returns + ------- + e_cc : float + Coupled cluster energy. + """ + + e_cc = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (0, 2, 1, 3), ()) e_cc += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 1, 3), ()) - e_cc += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (0, 3, 1, 2), ()) * -1.0 - e_cc += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (0, 2, 1, 3), ()) - x0 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x0 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x0 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x1 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x1 += einsum(f.bb.ov, (0, 1), (0, 1)) - x1 += einsum(t1.aa, (0, 1), v.aabb.ovov, (0, 1, 2, 3), (2, 3)) - x1 += einsum(t1.bb, (0, 1), x0, (0, 2, 1, 3), (2, 3)) * -0.5 - del x0 - e_cc += einsum(t1.bb, (0, 1), x1, (0, 1), ()) - del x1 - x2 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x2 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x2 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x3 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x3 += einsum(f.aa.ov, (0, 1), (0, 1)) - x3 += einsum(t1.aa, (0, 1), x2, (0, 2, 1, 3), (2, 3)) * -0.5 - del x2 - e_cc += einsum(t1.aa, (0, 1), x3, (0, 1), ()) - del x3 + e_cc += einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.aaaa, (0, 2, 3, 1), ()) * -1 + tmp1 = np.copy(f.bb.ov) * 2 + tmp1 += einsum(t1.aa, (0, 1), v.aabb.ovov, (0, 1, 2, 3), (2, 3)) * 2 + tmp0 = np.copy(np.transpose(v.bbbb.ovov, (0, 2, 3, 1))) + tmp0 += np.transpose(v.bbbb.ovov, (0, 2, 1, 3)) * -1 + tmp1 += einsum(tmp0, (0, 1, 2, 3), t1.bb, (0, 2), (1, 3)) * -1 + del tmp0 + e_cc += einsum(t1.bb, (0, 1), tmp1, (0, 1), ()) * 0.5 + del tmp1 + tmp3 = np.copy(f.aa.ov) + tmp2 = np.copy(np.transpose(v.aaaa.ovov, (0, 2, 3, 1))) * -1 + tmp2 += np.transpose(v.aaaa.ovov, (0, 2, 1, 3)) + tmp3 += einsum(t1.aa, (0, 1), tmp2, (0, 2, 3, 1), (2, 3)) * -0.5 + del tmp2 + e_cc += einsum(tmp3, (0, 1), t1.aa, (0, 1), ()) + del tmp3 return e_cc -def update_amps(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, t3=None, **kwargs): +def update_amps(f=None, t1=None, t2=None, t3=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-10-22T10:47:00.351204. + + Parameters + ---------- + f : Namespace of arrays + Fock matrix. + t1 : Namespace of arrays + T1 amplitudes. + t2 : Namespace of arrays + T2 amplitudes. + t3 : Namespace of arrays + T3 amplitudes. + v : Namespace of arrays + Electron repulsion integrals. + + Returns + ------- + t1new : Namespace of arrays + Updated T1 residuals. + t2new : Namespace of arrays + Updated T2 residuals. + t3new : Namespace of arrays + Updated T3 residuals. + """ + t1new = Namespace() t2new = Namespace() t3new = Namespace() + tmp0 = einsum(t1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) + t1new.aa = einsum(t2.aaaa, (0, 1, 2, 3), tmp0, (4, 0, 1, 3), (4, 2)) * 2 + t1new.aa += einsum(t1.aa, (0, 1), v.aaaa.ovov, (2, 3, 0, 1), (2, 3)) + tmp1 = einsum(v.aabb.ovov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1)) + t1new.aa += tmp1 + t1new.aa += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovvv, (1, 2, 4, 3), (0, 4)) * -2 + t1new.aa += f.aa.ov + t1new.aa += einsum(v.aabb.vvov, (0, 1, 2, 3), t2.abab, (4, 2, 1, 3), (4, 0)) + tmp2 = einsum(v.aabb.ovov, (0, 1, 2, 3), t1.aa, (4, 1), (4, 0, 2, 3)) + t1new.aa += einsum(t2.abab, (0, 1, 2, 3), tmp2, (4, 0, 1, 3), (4, 2)) * -1 + tmp6 = np.copy(f.aa.vv) + tmp3 = einsum(v.aabb.vvov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1)) + tmp6 += np.transpose(tmp3, (1, 0)) + tmp4 = np.copy(v.aaaa.ovvv) * -1 + tmp4 += np.transpose(v.aaaa.ovvv, (0, 2, 3, 1)) + tmp5 = einsum(tmp4, (0, 1, 2, 3), t1.aa, (0, 1), (2, 3)) + del tmp4 + tmp6 += np.transpose(tmp5, (1, 0)) * -1 + del tmp5 + t1new.aa += einsum(tmp6, (0, 1), t1.aa, (2, 0), (2, 1)) + tmp7 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 2, 1, 3), (0, 4)) + tmp13 = np.copy(np.transpose(tmp7, (1, 0))) * 2 + tmp8 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 1, 3), (0, 4)) + tmp13 += np.transpose(tmp8, (1, 0)) + tmp11 = np.copy(f.aa.ov) + tmp11 += tmp1 + tmp9 = np.copy(np.transpose(v.aaaa.ovov, (0, 2, 3, 1))) * -1 + tmp9 += np.transpose(v.aaaa.ovov, (0, 2, 1, 3)) + tmp10 = einsum(t1.aa, (0, 1), tmp9, (0, 2, 3, 1), (2, 3)) + del tmp9 + tmp11 += tmp10 * -1 + del tmp10 + tmp12 = einsum(t1.aa, (0, 1), tmp11, (2, 1), (2, 0)) + tmp13 += tmp12 + t1new.aa += einsum(t1.aa, (0, 1), tmp13, (0, 2), (2, 1)) * -1 + t1new.aa += einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), v.aaaa.ovov, (1, 5, 2, 4), (0, 3)) * -3 + t1new.aa += einsum(t1.aa, (0, 1), v.aaaa.oovv, (2, 0, 3, 1), (2, 3)) * -1 + t1new.aa += einsum(v.bbbb.ovov, (0, 1, 2, 3), t3.babbab, (0, 4, 2, 1, 5, 3), (4, 5)) + t1new.aa += einsum(v.aaaa.ooov, (0, 1, 2, 3), t2.aaaa, (2, 1, 4, 3), (0, 4)) * 2 + t1new.aa += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ooov, (4, 0, 1, 3), (4, 2)) * -1 + t1new.aa += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.abaaba, (4, 2, 0, 5, 3, 1), (4, 5)) * 2 + t1new.aa += einsum(t2.aaaa, (0, 1, 2, 3), tmp11, (1, 3), (0, 2)) * 2 + tmp17 = np.copy(f.bb.ov) + tmp14 = einsum(t1.aa, (0, 1), v.aabb.ovov, (0, 1, 2, 3), (2, 3)) + tmp17 += tmp14 + tmp15 = np.copy(np.transpose(v.bbbb.ovov, (0, 2, 3, 1))) + tmp15 += np.transpose(v.bbbb.ovov, (0, 2, 1, 3)) * -1 + tmp16 = einsum(t1.bb, (0, 1), tmp15, (0, 2, 1, 3), (2, 3)) + tmp17 += tmp16 * -1 + del tmp16 + t1new.aa += einsum(t2.abab, (0, 1, 2, 3), tmp17, (1, 3), (0, 2)) + tmp21 = np.copy(f.aa.oo) + tmp18 = einsum(v.aabb.ooov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1)) + tmp21 += np.transpose(tmp18, (1, 0)) + tmp19 = np.copy(v.aaaa.ooov) + tmp19 += np.transpose(v.aaaa.ovoo, (0, 2, 3, 1)) * -1 + tmp20 = einsum(t1.aa, (0, 1), tmp19, (0, 2, 3, 1), (2, 3)) + del tmp19 + tmp21 += np.transpose(tmp20, (1, 0)) * -1 + del tmp20 + t1new.aa += einsum(tmp21, (0, 1), t1.aa, (0, 2), (1, 2)) * -1 + t1new.bb = einsum(v.bbbb.ovvv, (0, 1, 2, 3), t2.bbbb, (4, 0, 1, 3), (4, 2)) * -2 + t1new.bb += f.bb.ov + t1new.bb += tmp14 + tmp22 = einsum(v.aabb.ovov, (0, 1, 2, 3), t1.bb, (4, 3), (0, 4, 2, 1)) + t1new.bb += einsum(t2.abab, (0, 1, 2, 3), tmp22, (0, 4, 1, 2), (4, 3)) * -1 + tmp23 = einsum(t1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) + t1new.bb += einsum(t2.bbbb, (0, 1, 2, 3), tmp23, (4, 1, 0, 3), (4, 2)) * -2 + t1new.bb += einsum(v.bbbb.ovov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1)) + t1new.bb += einsum(v.aabb.ovvv, (0, 1, 2, 3), t2.abab, (0, 4, 1, 3), (4, 2)) + tmp27 = np.copy(f.bb.vv) + tmp24 = einsum(v.aabb.ovvv, (0, 1, 2, 3), t1.aa, (0, 1), (2, 3)) + tmp27 += np.transpose(tmp24, (1, 0)) + tmp25 = np.copy(v.bbbb.ovvv) + tmp25 += np.transpose(v.bbbb.ovvv, (0, 2, 1, 3)) * -1 + tmp26 = einsum(tmp25, (0, 1, 2, 3), t1.bb, (0, 2), (1, 3)) + tmp27 += tmp26 * -1 + del tmp26 + t1new.bb += einsum(t1.bb, (0, 1), tmp27, (1, 2), (0, 2)) + tmp28 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 3), (1, 4)) + tmp31 = np.copy(np.transpose(tmp28, (1, 0))) + tmp29 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 2, 1, 3), (0, 4)) + tmp31 += np.transpose(tmp29, (1, 0)) * 2 + tmp30 = einsum(t1.bb, (0, 1), tmp17, (2, 1), (2, 0)) + tmp31 += tmp30 + t1new.bb += einsum(t1.bb, (0, 1), tmp31, (0, 2), (2, 1)) * -1 + t1new.bb += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovoo, (0, 2, 4, 1), (4, 3)) * -1 + t1new.bb += einsum(v.bbbb.ooov, (0, 1, 2, 3), t2.bbbb, (1, 2, 4, 3), (0, 4)) * -2 + t1new.bb += einsum(v.bbbb.ovov, (0, 1, 2, 3), t3.bbbbbb, (4, 0, 2, 5, 1, 3), (4, 5)) * 3 + t1new.bb += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), v.aabb.ovov, (1, 4, 2, 5), (0, 3)) * 2 + t1new.bb += einsum(v.aaaa.ovov, (0, 1, 2, 3), t3.abaaba, (0, 4, 2, 3, 5, 1), (4, 5)) * -1 + t1new.bb += einsum(v.bbbb.oovv, (0, 1, 2, 3), t1.bb, (1, 3), (0, 2)) * -1 + t1new.bb += einsum(t2.abab, (0, 1, 2, 3), tmp11, (0, 2), (1, 3)) + t1new.bb += einsum(t2.bbbb, (0, 1, 2, 3), tmp17, (1, 3), (0, 2)) * 2 + tmp35 = np.copy(f.bb.oo) + tmp32 = einsum(t1.aa, (0, 1), v.aabb.ovoo, (0, 1, 2, 3), (2, 3)) + tmp35 += np.transpose(tmp32, (1, 0)) + tmp33 = np.copy(v.bbbb.ooov) * -1 + tmp33 += np.transpose(v.bbbb.ooov, (0, 2, 1, 3)) + tmp34 = einsum(tmp33, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1)) + tmp35 += np.transpose(tmp34, (1, 0)) * -1 + del tmp34 + t1new.bb += einsum(tmp35, (0, 1), t1.bb, (0, 2), (1, 2)) * -1 + tmp186 = einsum(v.bbbb.ooov, (0, 1, 2, 3), t3.bbbbbb, (4, 2, 1, 5, 6, 3), (4, 0, 5, 6)) * -1 + t2new.bbbb = np.copy(np.transpose(tmp186, (0, 1, 3, 2))) * 6 + tmp187 = einsum(v.bbbb.oooo, (0, 1, 2, 3), t2.bbbb, (3, 1, 4, 5), (0, 2, 4, 5)) * -1 + t2new.bbbb += np.transpose(tmp187, (1, 0, 3, 2)) * 2 + del tmp187 + tmp188 = einsum(t1.bb, (0, 1), v.bbbb.oooo, (2, 3, 4, 0), (2, 3, 4, 1)) + tmp189 = einsum(t1.bb, (0, 1), tmp188, (2, 0, 3, 4), (2, 3, 1, 4)) + t2new.bbbb += np.transpose(tmp189, (1, 0, 3, 2)) + tmp190 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), v.aabb.ovoo, (1, 4, 6, 2), (0, 6, 3, 5)) + t2new.bbbb += np.transpose(tmp190, (0, 1, 3, 2)) * 2 + t2new.bbbb += einsum(tmp35, (0, 1), t2.bbbb, (2, 0, 3, 4), (2, 1, 3, 4)) * -1 + tmp193 = np.copy(f.bb.oo) + tmp193 += np.transpose(tmp32, (1, 0)) + del tmp32 + tmp191 = np.copy(v.bbbb.ooov) * -1 + tmp191 += np.transpose(v.bbbb.ooov, (0, 2, 1, 3)) + tmp192 = einsum(t1.bb, (0, 1), tmp191, (2, 3, 0, 1), (2, 3)) + del tmp191 + tmp193 += np.transpose(tmp192, (1, 0)) * -1 + del tmp192 + tmp194 = einsum(t2.bbbb, (0, 1, 2, 3), tmp193, (1, 4), (0, 4, 2, 3)) * -1 + t2new.bbbb += np.transpose(tmp194, (0, 1, 3, 2)) * -1 + t2new.bbbb += np.transpose(tmp189, (1, 0, 2, 3)) * -1 + del tmp189 + t2new.bbbb += np.transpose(tmp190, (1, 0, 3, 2)) * -2 + del tmp190 + t2new.bbbb += np.transpose(tmp186, (1, 0, 3, 2)) * -6 + del tmp186 + t2new.bbbb += einsum(tmp11, (0, 1), t3.babbab, (2, 0, 3, 4, 1, 5), (2, 3, 4, 5)) + tmp195 = einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), tmp17, (2, 5), (0, 1, 3, 4)) * 3 + t2new.bbbb += tmp195 * 2 + del tmp195 + tmp123 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 1, 4), (3, 4)) + tmp196 = np.copy(tmp123) * 0.5 + tmp124 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (0, 2, 4, 3), (4, 1)) + tmp196 += tmp124 + t2new.bbbb += einsum(t2.bbbb, (0, 1, 2, 3), tmp196, (4, 3), (0, 1, 2, 4)) * -4 + del tmp196 + t2new.bbbb += np.transpose(tmp194, (1, 0, 3, 2)) * 2 + del tmp194 + tmp198 = np.copy(f.aa.ov) + tmp198 += tmp1 + del tmp1 + tmp91 = np.copy(np.transpose(v.aaaa.ovov, (0, 2, 3, 1))) * -1 + tmp91 += np.transpose(v.aaaa.ovov, (0, 2, 1, 3)) + tmp197 = einsum(t1.aa, (0, 1), tmp91, (0, 2, 3, 1), (2, 3)) + tmp198 += tmp197 * -1 + del tmp197 + t2new.bbbb += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), tmp198, (1, 4), (0, 2, 3, 5)) + tmp199 = einsum(v.bbbb.ovvv, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 0, 6, 1, 3), (4, 5, 6, 2)) + t2new.bbbb += np.transpose(tmp199, (1, 0, 3, 2)) * -6 + tmp200 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 5), (1, 4, 3, 5)) + t2new.bbbb += np.transpose(tmp200, (1, 0, 3, 2)) + tmp201 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), v.aabb.ovvv, (1, 4, 6, 5), (0, 2, 3, 6)) + t2new.bbbb += np.transpose(tmp201, (1, 0, 3, 2)) * 2 + tmp202 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 5, 1, 3), (0, 4, 2, 5)) + t2new.bbbb += np.transpose(tmp202, (1, 0, 3, 2)) * 2 + tmp205 = np.copy(f.bb.vv) * -0.5 + tmp205 += np.transpose(tmp24, (1, 0)) * -0.5 + tmp205 += np.transpose(tmp123, (1, 0)) * 0.5 + tmp205 += np.transpose(tmp124, (1, 0)) + tmp203 = np.copy(v.bbbb.ovvv) * -1 + tmp203 += np.transpose(v.bbbb.ovvv, (0, 2, 1, 3)) + tmp204 = einsum(tmp203, (0, 1, 2, 3), t1.bb, (0, 2), (1, 3)) * 0.5 + tmp205 += tmp204 * -1 + del tmp204 + t2new.bbbb += einsum(tmp205, (0, 1), t2.bbbb, (2, 3, 4, 0), (2, 3, 1, 4)) * 4 + tmp206 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), v.aabb.ovov, (1, 4, 6, 5), (0, 2, 6, 3)) + tmp209 = np.copy(np.transpose(tmp206, (2, 1, 0, 3))) * -0.3333333333333333 + tmp207 = einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), v.bbbb.ovov, (6, 4, 2, 5), (0, 1, 6, 3)) + tmp209 += np.transpose(tmp207, (2, 1, 0, 3)) * -1 + tmp208 = einsum(tmp17, (0, 1), t2.bbbb, (2, 3, 4, 1), (0, 2, 3, 4)) * -0.3333333333333333 + tmp209 += np.transpose(tmp208, (0, 2, 1, 3)) + t2new.bbbb += einsum(tmp209, (0, 1, 2, 3), t1.bb, (0, 4), (2, 1, 4, 3)) * -6 + del tmp209 + t2new.bbbb += np.transpose(tmp199, (1, 0, 2, 3)) * 6 + del tmp199 + t2new.bbbb += np.transpose(tmp200, (1, 0, 2, 3)) * -1 + t2new.bbbb += np.transpose(tmp201, (1, 0, 2, 3)) * -2 + del tmp201 + t2new.bbbb += np.transpose(tmp202, (1, 0, 2, 3)) * -2 + tmp211 = np.copy(f.bb.vv) + tmp211 += np.transpose(tmp24, (1, 0)) + tmp210 = np.copy(v.bbbb.ovvv) + tmp210 += np.transpose(v.bbbb.ovvv, (0, 2, 1, 3)) * -1 + tmp211 += einsum(tmp210, (0, 1, 2, 3), t1.bb, (0, 2), (1, 3)) * -1 + del tmp210 + t2new.bbbb += einsum(t2.bbbb, (0, 1, 2, 3), tmp211, (3, 4), (0, 1, 2, 4)) * 2 + del tmp211 + tmp213 = np.copy(np.transpose(tmp206, (2, 1, 0, 3))) * -1 + tmp213 += np.transpose(tmp207, (2, 1, 0, 3)) * -3 + tmp212 = einsum(tmp17, (0, 1), t2.bbbb, (2, 3, 4, 1), (0, 2, 3, 4)) * -1 + tmp213 += np.transpose(tmp212, (0, 2, 1, 3)) + t2new.bbbb += einsum(t1.bb, (0, 1), tmp213, (0, 2, 3, 4), (3, 2, 4, 1)) * 2 + tmp214 = einsum(t1.bb, (0, 1), v.bbbb.oovv, (2, 3, 4, 1), (0, 2, 3, 4)) + tmp215 = einsum(tmp214, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 4, 3)) + t2new.bbbb += np.transpose(tmp215, (1, 0, 3, 2)) + tmp216 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), tmp22, (1, 6, 2, 4), (6, 0, 3, 5)) + t2new.bbbb += np.transpose(tmp216, (1, 0, 3, 2)) * 2 + tmp217 = einsum(v.bbbb.ooov, (0, 1, 2, 3), t1.bb, (4, 3), (4, 0, 1, 2)) + tmp218 = einsum(t2.bbbb, (0, 1, 2, 3), tmp217, (4, 5, 1, 0), (4, 5, 2, 3)) * -1 + t2new.bbbb += np.transpose(tmp218, (1, 0, 3, 2)) * -2 + tmp219 = einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), tmp23, (6, 1, 2, 5), (6, 0, 3, 4)) * -1 + t2new.bbbb += np.transpose(tmp219, (1, 0, 3, 2)) * 6 + tmp220 = einsum(tmp217, (0, 1, 2, 3), t1.bb, (3, 4), (0, 1, 2, 4)) + tmp221 = einsum(tmp220, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 4, 3)) + del tmp220 + t2new.bbbb += np.transpose(tmp221, (1, 0, 2, 3)) + t2new.bbbb += np.transpose(tmp221, (1, 0, 3, 2)) * -1 + tmp223 = np.copy(tmp28) * 0.5 + tmp223 += tmp29 + tmp222 = einsum(t1.bb, (0, 1), tmp17, (2, 1), (2, 0)) * 0.5 + tmp223 += np.transpose(tmp222, (1, 0)) + tmp224 = einsum(tmp223, (0, 1), t2.bbbb, (2, 1, 3, 4), (2, 0, 3, 4)) * -2 + t2new.bbbb += np.transpose(tmp224, (0, 1, 3, 2)) * -2 + t2new.bbbb += np.transpose(tmp215, (1, 0, 2, 3)) * -1 + t2new.bbbb += np.transpose(tmp215, (0, 1, 3, 2)) * -1 + t2new.bbbb += np.transpose(tmp216, (0, 1, 3, 2)) * -2 + del tmp216 + t2new.bbbb += np.transpose(tmp218, (0, 1, 3, 2)) * 2 + del tmp218 + t2new.bbbb += np.transpose(tmp219, (0, 1, 3, 2)) * -6 + del tmp219 + t2new.bbbb += tmp221 * -1 + t2new.bbbb += np.transpose(tmp221, (0, 1, 3, 2)) + del tmp221 + t2new.bbbb += np.transpose(tmp224, (1, 0, 3, 2)) * 2 + del tmp224 + t2new.bbbb += tmp215 + del tmp215 + t2new.bbbb += np.transpose(v.bbbb.ovov, (0, 2, 1, 3)) + tmp143 = einsum(t1.bb, (0, 1), v.aabb.ovvv, (2, 3, 4, 1), (2, 0, 3, 4)) + tmp225 = einsum(t2.abab, (0, 1, 2, 3), tmp143, (0, 4, 2, 5), (4, 1, 3, 5)) + t2new.bbbb += np.transpose(tmp225, (1, 0, 3, 2)) * -1 + tmp226 = einsum(t1.bb, (0, 1), tmp23, (2, 3, 0, 4), (2, 3, 1, 4)) + t2new.bbbb += np.transpose(tmp226, (1, 0, 3, 2)) * -1 + tmp227 = einsum(v.bbbb.ovvv, (0, 1, 2, 3), t1.bb, (4, 3), (4, 0, 1, 2)) + t2new.bbbb += np.transpose(tmp227, (1, 0, 2, 3)) + tmp228 = einsum(tmp203, (0, 1, 2, 3), t1.bb, (4, 2), (0, 4, 1, 3)) + t2new.bbbb += einsum(t2.bbbb, (0, 1, 2, 3), tmp228, (1, 4, 3, 5), (0, 4, 5, 2)) * 2 + tmp229 = einsum(t2.abab, (0, 1, 2, 3), tmp22, (0, 4, 5, 2), (4, 1, 5, 3)) + tmp231 = np.copy(tmp229) + tmp178 = np.copy(tmp23) + tmp178 += np.transpose(tmp23, (0, 2, 1, 3)) * -1 + tmp230 = einsum(tmp178, (0, 1, 2, 3), t2.bbbb, (4, 1, 5, 3), (4, 0, 2, 5)) + tmp231 += np.transpose(tmp230, (1, 0, 2, 3)) * 2 + del tmp230 + tmp232 = einsum(t1.bb, (0, 1), tmp231, (2, 3, 0, 4), (2, 3, 4, 1)) + t2new.bbbb += np.transpose(tmp232, (1, 0, 3, 2)) + t2new.bbbb += np.transpose(v.bbbb.ovov, (0, 2, 3, 1)) * -1 + t2new.bbbb += np.transpose(tmp225, (0, 1, 3, 2)) + t2new.bbbb += np.transpose(tmp226, (0, 1, 3, 2)) + t2new.bbbb += tmp227 * -1 + tmp175 = np.copy(v.bbbb.ovvv) * -1 + tmp175 += np.transpose(v.bbbb.ovvv, (0, 2, 1, 3)) + tmp176 = einsum(t1.bb, (0, 1), tmp175, (2, 3, 1, 4), (2, 0, 3, 4)) + tmp233 = einsum(tmp176, (0, 1, 2, 3), t2.bbbb, (4, 0, 5, 2), (4, 1, 5, 3)) * -1 + t2new.bbbb += np.transpose(tmp233, (1, 0, 3, 2)) * 2 + t2new.bbbb += np.transpose(tmp232, (0, 1, 3, 2)) * -1 + tmp234 = einsum(v.bbbb.ooov, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 4, 3)) + t2new.bbbb += np.transpose(tmp234, (0, 1, 3, 2)) + tmp126 = einsum(t2.bbbb, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (4, 0, 5, 2)) + tmp235 = einsum(t2.abab, (0, 1, 2, 3), tmp126, (0, 4, 2, 5), (1, 4, 3, 5)) + t2new.bbbb += tmp235 * 2 + t2new.bbbb += np.transpose(tmp235, (1, 0, 3, 2)) * 2 + tmp238 = np.copy(v.bbbb.oovv) + tmp236 = np.copy(np.transpose(v.bbbb.ovov, (0, 2, 3, 1))) * -1 + tmp236 += np.transpose(v.bbbb.ovov, (0, 2, 1, 3)) + tmp237 = einsum(tmp236, (0, 1, 2, 3), t2.bbbb, (4, 0, 5, 2), (4, 1, 5, 3)) + del tmp236 + tmp238 += tmp237 * -2 + del tmp237 + tmp239 = einsum(tmp238, (0, 1, 2, 3), t2.bbbb, (4, 1, 5, 3), (4, 0, 5, 2)) + del tmp238 + t2new.bbbb += np.transpose(tmp239, (1, 0, 3, 2)) * -2 + tmp240 = np.copy(np.transpose(v.aaaa.ovov, (0, 2, 3, 1))) + tmp240 += np.transpose(v.aaaa.ovov, (0, 2, 1, 3)) * -1 + tmp241 = einsum(tmp240, (0, 1, 2, 3), t2.abab, (0, 4, 3, 5), (1, 4, 2, 5)) + tmp242 = einsum(tmp241, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (1, 4, 3, 5)) + t2new.bbbb += tmp242 + tmp243 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovoo, (0, 2, 4, 5), (1, 4, 5, 3)) + tmp246 = np.copy(np.transpose(tmp243, (0, 2, 1, 3))) + tmp244 = np.copy(v.bbbb.ooov) + tmp244 += np.transpose(v.bbbb.ooov, (0, 2, 1, 3)) * -1 + tmp245 = einsum(tmp244, (0, 1, 2, 3), t2.bbbb, (4, 2, 5, 3), (4, 0, 1, 5)) + tmp246 += np.transpose(tmp245, (0, 2, 1, 3)) * 2 + tmp247 = einsum(t1.bb, (0, 1), tmp246, (2, 0, 3, 4), (2, 3, 4, 1)) + t2new.bbbb += np.transpose(tmp247, (1, 0, 3, 2)) * -1 + t2new.bbbb += np.transpose(tmp234, (1, 0, 3, 2)) * -1 + t2new.bbbb += np.transpose(tmp235, (0, 1, 3, 2)) * -2 + t2new.bbbb += np.transpose(tmp235, (1, 0, 2, 3)) * -2 + del tmp235 + t2new.bbbb += np.transpose(tmp239, (0, 1, 3, 2)) * 2 + del tmp239 + t2new.bbbb += np.transpose(tmp242, (1, 0, 2, 3)) * -1 + del tmp242 + tmp249 = np.copy(np.transpose(tmp243, (0, 2, 1, 3))) + tmp248 = np.copy(v.bbbb.ooov) + tmp248 += np.transpose(v.bbbb.ooov, (0, 2, 1, 3)) * -1 + tmp249 += einsum(tmp248, (0, 1, 2, 3), t2.bbbb, (4, 2, 5, 3), (4, 1, 0, 5)) * 2 + t2new.bbbb += einsum(tmp249, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 4, 3)) + del tmp249 + tmp250 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.oovv, (4, 1, 5, 3), (0, 4, 2, 5)) + t2new.bbbb += np.transpose(tmp250, (1, 0, 2, 3)) * 2 + t2new.bbbb += tmp234 * -1 + t2new.bbbb += np.transpose(tmp247, (1, 0, 2, 3)) + t2new.bbbb += tmp250 * -2 + del tmp250 + t2new.bbbb += np.transpose(tmp234, (1, 0, 2, 3)) + del tmp234 + t2new.bbbb += tmp247 * -1 + del tmp247 + tmp251 = einsum(tmp23, (0, 1, 2, 3), t1.bb, (4, 3), (0, 4, 2, 1)) + tmp252 = einsum(tmp251, (0, 1, 2, 3), t2.bbbb, (2, 3, 4, 5), (0, 1, 4, 5)) + t2new.bbbb += np.transpose(tmp252, (1, 0, 3, 2)) * 2 + del tmp252 + t2new.bbbb += np.transpose(tmp227, (0, 1, 3, 2)) + tmp253 = einsum(t1.bb, (0, 1), tmp251, (2, 3, 4, 0), (2, 3, 4, 1)) + tmp254 = einsum(t1.bb, (0, 1), tmp253, (2, 3, 0, 4), (3, 2, 4, 1)) + t2new.bbbb += np.transpose(tmp254, (1, 0, 2, 3)) * -1 + t2new.bbbb += np.transpose(tmp254, (1, 0, 3, 2)) + del tmp254 + tmp255 = einsum(v.bbbb.vvvv, (0, 1, 2, 3), t1.bb, (4, 3), (4, 0, 1, 2)) + tmp256 = einsum(tmp255, (0, 1, 2, 3), t1.bb, (4, 2), (0, 4, 3, 1)) + t2new.bbbb += np.transpose(tmp256, (1, 0, 2, 3)) * -1 + t2new.bbbb += np.transpose(tmp256, (1, 0, 3, 2)) + del tmp256 + tmp257 = einsum(t1.bb, (0, 1), tmp227, (2, 3, 1, 4), (0, 2, 3, 4)) + tmp258 = einsum(tmp257, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 4, 3)) + t2new.bbbb += np.transpose(tmp258, (0, 1, 3, 2)) + t2new.bbbb += np.transpose(tmp258, (1, 0, 3, 2)) * -1 + tmp259 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 2, 5, 3), (0, 1, 4, 5)) + tmp260 = einsum(tmp259, (0, 1, 2, 3), t2.bbbb, (3, 2, 4, 5), (0, 1, 4, 5)) * -1 + t2new.bbbb += np.transpose(tmp260, (1, 0, 3, 2)) * 2 + del tmp260 + t2new.bbbb += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.vvvv, (4, 3, 5, 2), (0, 1, 4, 5)) * -2 + t2new.bbbb += np.transpose(tmp227, (1, 0, 3, 2)) * -1 + del tmp227 + tmp261 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovvv, (4, 2, 5, 3), (0, 1, 4, 5)) + tmp263 = np.copy(np.transpose(tmp261, (1, 0, 2, 3))) * -1 + tmp262 = einsum(tmp259, (0, 1, 2, 3), t1.bb, (3, 4), (0, 1, 2, 4)) + tmp263 += np.transpose(tmp262, (1, 0, 2, 3)) + t2new.bbbb += einsum(t1.bb, (0, 1), tmp263, (2, 3, 0, 4), (3, 2, 4, 1)) * -2 + t2new.bbbb += np.transpose(tmp202, (0, 1, 3, 2)) * -2 + t2new.bbbb += np.transpose(tmp200, (0, 1, 3, 2)) * -1 + t2new.bbbb += tmp202 * 2 + del tmp202 + t2new.bbbb += tmp200 + t2new.bbbb += np.transpose(tmp225, (1, 0, 2, 3)) + t2new.bbbb += np.transpose(tmp226, (1, 0, 2, 3)) + t2new.bbbb += tmp233 * 2 + t2new.bbbb += np.transpose(tmp232, (1, 0, 2, 3)) * -1 + t2new.bbbb += tmp225 * -1 + del tmp225 + t2new.bbbb += tmp226 * -1 + del tmp226 + t2new.bbbb += np.transpose(tmp233, (1, 0, 2, 3)) * -2 + del tmp233 + t2new.bbbb += tmp232 + del tmp232 + t2new.bbbb += einsum(t1.bb, (0, 1), tmp261, (2, 3, 0, 4), (3, 2, 1, 4)) * 2 + t2new.bbbb += tmp258 * -1 + t2new.bbbb += np.transpose(tmp258, (1, 0, 2, 3)) + del tmp258 + tmp36 = einsum(v.aabb.ooov, (0, 1, 2, 3), t3.abaaba, (4, 2, 1, 5, 3, 6), (4, 0, 5, 6)) + t2new.aaaa = np.copy(np.transpose(tmp36, (0, 1, 3, 2))) * 2 + tmp37 = einsum(v.aaaa.oooo, (0, 1, 2, 3), t2.aaaa, (1, 3, 4, 5), (0, 2, 4, 5)) + t2new.aaaa += np.transpose(tmp37, (1, 0, 3, 2)) * 2 + del tmp37 + tmp38 = einsum(t1.aa, (0, 1), v.aaaa.oooo, (2, 3, 4, 0), (2, 3, 4, 1)) + tmp39 = einsum(t1.aa, (0, 1), tmp38, (2, 0, 3, 4), (3, 2, 4, 1)) + t2new.aaaa += np.transpose(tmp39, (1, 0, 3, 2)) + tmp40 = einsum(v.aaaa.ooov, (0, 1, 2, 3), t3.aaaaaa, (4, 2, 1, 5, 6, 3), (4, 0, 5, 6)) * -1 + t2new.aaaa += np.transpose(tmp40, (0, 1, 3, 2)) * 6 + t2new.aaaa += einsum(tmp21, (0, 1), t2.aaaa, (2, 0, 3, 4), (2, 1, 3, 4)) * -1 + tmp43 = np.copy(f.aa.oo) + tmp43 += np.transpose(tmp18, (1, 0)) + del tmp18 + tmp41 = np.copy(v.aaaa.ooov) + tmp41 += np.transpose(v.aaaa.ovoo, (0, 2, 3, 1)) * -1 + tmp42 = einsum(t1.aa, (0, 1), tmp41, (0, 2, 3, 1), (2, 3)) + del tmp41 + tmp43 += np.transpose(tmp42, (1, 0)) * -1 + del tmp42 + tmp44 = einsum(tmp43, (0, 1), t2.aaaa, (2, 0, 3, 4), (1, 2, 3, 4)) * -1 + t2new.aaaa += np.transpose(tmp44, (1, 0, 3, 2)) * -1 + t2new.aaaa += np.transpose(tmp39, (1, 0, 2, 3)) * -1 + del tmp39 + t2new.aaaa += np.transpose(tmp36, (1, 0, 3, 2)) * -2 + del tmp36 + t2new.aaaa += np.transpose(tmp40, (1, 0, 3, 2)) * -6 + del tmp40 + t2new.aaaa += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), tmp17, (1, 4), (0, 2, 3, 5)) + tmp45 = einsum(tmp11, (0, 1), t3.aaaaaa, (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) * 3 + t2new.aaaa += tmp45 * 2 + del tmp45 + tmp46 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (0, 3, 1, 4), (2, 4)) * -1 + tmp48 = np.copy(tmp46) * 2 + tmp47 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 4, 1, 3), (2, 4)) + tmp48 += tmp47 + t2new.aaaa += einsum(tmp48, (0, 1), t2.aaaa, (2, 3, 4, 1), (2, 3, 4, 0)) * -2 + t2new.aaaa += np.transpose(tmp44, (0, 1, 3, 2)) * 2 + del tmp44 + tmp51 = np.copy(f.bb.ov) + tmp51 += tmp14 + del tmp14 + tmp49 = np.copy(np.transpose(v.bbbb.ovov, (0, 2, 3, 1))) + tmp49 += np.transpose(v.bbbb.ovov, (0, 2, 1, 3)) * -1 + tmp50 = einsum(tmp49, (0, 1, 2, 3), t1.bb, (0, 2), (1, 3)) + tmp51 += tmp50 * -1 + del tmp50 + t2new.aaaa += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), tmp51, (1, 4), (0, 2, 3, 5)) + tmp52 = einsum(v.aaaa.ovvv, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 0, 6, 3, 1), (4, 5, 6, 2)) * -1 + t2new.aaaa += np.transpose(tmp52, (1, 0, 3, 2)) * -6 + tmp53 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (0, 4, 2, 5)) + t2new.aaaa += np.transpose(tmp53, (1, 0, 3, 2)) + tmp54 = einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), v.aabb.vvov, (6, 5, 1, 4), (0, 2, 3, 6)) + t2new.aaaa += np.transpose(tmp54, (1, 0, 3, 2)) * 2 + tmp55 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 5, 1, 3), (0, 4, 2, 5)) + t2new.aaaa += np.transpose(tmp55, (1, 0, 3, 2)) * 2 + tmp58 = np.copy(f.aa.vv) * -1 + tmp58 += np.transpose(tmp3, (1, 0)) * -1 + tmp58 += np.transpose(tmp46, (1, 0)) * 2 + tmp58 += np.transpose(tmp47, (1, 0)) + tmp56 = np.copy(v.aaaa.ovvv) + tmp56 += np.transpose(v.aaaa.ovvv, (0, 2, 3, 1)) * -1 + tmp57 = einsum(t1.aa, (0, 1), tmp56, (0, 1, 2, 3), (2, 3)) + tmp58 += np.transpose(tmp57, (1, 0)) * -1 + del tmp57 + t2new.aaaa += einsum(tmp58, (0, 1), t2.aaaa, (2, 3, 4, 0), (2, 3, 1, 4)) * 2 + tmp59 = einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), v.aaaa.ovov, (6, 5, 2, 4), (0, 1, 6, 3)) * -1 + tmp62 = np.copy(np.transpose(tmp59, (2, 1, 0, 3))) * -3 + tmp60 = einsum(v.aabb.ovov, (0, 1, 2, 3), t3.abaaba, (4, 2, 5, 6, 3, 1), (4, 5, 0, 6)) + tmp62 += np.transpose(tmp60, (2, 1, 0, 3)) * -1 + tmp61 = einsum(t2.aaaa, (0, 1, 2, 3), tmp11, (4, 3), (4, 0, 1, 2)) * -1 + tmp62 += np.transpose(tmp61, (0, 2, 1, 3)) + t2new.aaaa += einsum(t1.aa, (0, 1), tmp62, (0, 2, 3, 4), (3, 2, 1, 4)) * -2 + t2new.aaaa += np.transpose(tmp52, (1, 0, 2, 3)) * 6 + del tmp52 + t2new.aaaa += np.transpose(tmp53, (1, 0, 2, 3)) * -1 + t2new.aaaa += np.transpose(tmp54, (1, 0, 2, 3)) * -2 + del tmp54 + t2new.aaaa += np.transpose(tmp55, (1, 0, 2, 3)) * -2 + t2new.aaaa += einsum(tmp6, (0, 1), t2.aaaa, (2, 3, 4, 0), (2, 3, 4, 1)) * 2 + del tmp6 + tmp64 = np.copy(np.transpose(tmp59, (2, 1, 0, 3))) * -1 + tmp64 += np.transpose(tmp60, (2, 1, 0, 3)) * -0.3333333333333333 + tmp63 = einsum(t2.aaaa, (0, 1, 2, 3), tmp11, (4, 3), (4, 0, 1, 2)) * -0.3333333333333333 + tmp64 += np.transpose(tmp63, (0, 2, 1, 3)) + t2new.aaaa += einsum(tmp64, (0, 1, 2, 3), t1.aa, (0, 4), (2, 1, 3, 4)) * 6 + del tmp64 + tmp65 = einsum(t1.aa, (0, 1), v.aaaa.oovv, (2, 3, 4, 1), (0, 2, 3, 4)) + tmp66 = einsum(t1.aa, (0, 1), tmp65, (2, 3, 0, 4), (2, 3, 1, 4)) + t2new.aaaa += np.transpose(tmp66, (1, 0, 3, 2)) + tmp67 = einsum(v.aaaa.ooov, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 1, 2)) + tmp68 = einsum(tmp67, (0, 1, 2, 3), t2.aaaa, (3, 2, 4, 5), (0, 1, 4, 5)) * -1 + t2new.aaaa += np.transpose(tmp68, (1, 0, 3, 2)) * -2 + tmp69 = einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), tmp2, (6, 2, 1, 4), (6, 0, 3, 5)) + t2new.aaaa += np.transpose(tmp69, (1, 0, 3, 2)) * 2 + tmp70 = einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), tmp0, (6, 1, 2, 5), (6, 0, 3, 4)) * -1 + t2new.aaaa += np.transpose(tmp70, (1, 0, 3, 2)) * 6 + tmp71 = einsum(tmp67, (0, 1, 2, 3), t1.aa, (3, 4), (0, 1, 2, 4)) + tmp72 = einsum(t1.aa, (0, 1), tmp71, (2, 3, 0, 4), (2, 3, 1, 4)) + del tmp71 + t2new.aaaa += np.transpose(tmp72, (1, 0, 2, 3)) + t2new.aaaa += np.transpose(tmp72, (1, 0, 3, 2)) * -1 + tmp74 = np.copy(tmp7) + tmp74 += tmp8 * 0.5 + tmp73 = einsum(t1.aa, (0, 1), tmp11, (2, 1), (2, 0)) * 0.5 + tmp74 += np.transpose(tmp73, (1, 0)) + del tmp73 + tmp75 = einsum(tmp74, (0, 1), t2.aaaa, (2, 1, 3, 4), (0, 2, 3, 4)) * -2 + t2new.aaaa += np.transpose(tmp75, (1, 0, 3, 2)) * -2 + t2new.aaaa += np.transpose(tmp66, (1, 0, 2, 3)) * -1 + t2new.aaaa += np.transpose(tmp66, (0, 1, 3, 2)) * -1 + t2new.aaaa += np.transpose(tmp68, (0, 1, 3, 2)) * 2 + del tmp68 + t2new.aaaa += np.transpose(tmp69, (0, 1, 3, 2)) * -2 + del tmp69 + t2new.aaaa += np.transpose(tmp70, (0, 1, 3, 2)) * -6 + del tmp70 + t2new.aaaa += tmp72 * -1 + t2new.aaaa += np.transpose(tmp72, (0, 1, 3, 2)) + del tmp72 + t2new.aaaa += np.transpose(tmp75, (0, 1, 3, 2)) * 2 + del tmp75 + t2new.aaaa += tmp66 + del tmp66 + tmp76 = einsum(v.aabb.vvov, (0, 1, 2, 3), t1.aa, (4, 1), (4, 2, 0, 3)) + tmp77 = einsum(tmp76, (0, 1, 2, 3), t2.abab, (4, 1, 5, 3), (0, 4, 5, 2)) + t2new.aaaa += np.transpose(tmp77, (1, 0, 3, 2)) * -1 + t2new.aaaa += np.transpose(v.aaaa.ovov, (0, 2, 1, 3)) + tmp78 = einsum(v.aaaa.ovvv, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 1, 2)) + t2new.aaaa += np.transpose(tmp78, (1, 0, 2, 3)) + tmp79 = einsum(t1.aa, (0, 1), tmp0, (2, 3, 0, 4), (2, 3, 1, 4)) + t2new.aaaa += np.transpose(tmp79, (1, 0, 3, 2)) * -1 + tmp80 = einsum(t1.aa, (0, 1), tmp56, (2, 1, 3, 4), (2, 0, 3, 4)) + t2new.aaaa += einsum(tmp80, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 3), (4, 1, 2, 5)) * 2 + tmp81 = einsum(t2.abab, (0, 1, 2, 3), tmp2, (4, 5, 1, 3), (4, 0, 5, 2)) + tmp84 = np.copy(tmp81) + tmp82 = np.copy(tmp0) * -1 + tmp82 += np.transpose(tmp0, (0, 2, 1, 3)) + tmp83 = einsum(t2.aaaa, (0, 1, 2, 3), tmp82, (4, 5, 1, 3), (4, 5, 0, 2)) + tmp84 += np.transpose(tmp83, (0, 2, 1, 3)) * 2 + tmp85 = einsum(t1.aa, (0, 1), tmp84, (2, 3, 0, 4), (2, 3, 4, 1)) + t2new.aaaa += np.transpose(tmp85, (1, 0, 3, 2)) + t2new.aaaa += np.transpose(tmp77, (0, 1, 3, 2)) + t2new.aaaa += np.transpose(v.aaaa.ovov, (0, 2, 3, 1)) * -1 + t2new.aaaa += tmp78 * -1 + t2new.aaaa += np.transpose(tmp79, (0, 1, 3, 2)) + tmp86 = np.copy(v.aaaa.ovvv) + tmp86 += np.transpose(v.aaaa.ovvv, (0, 2, 3, 1)) * -1 + tmp87 = einsum(tmp86, (0, 1, 2, 3), t1.aa, (4, 1), (0, 4, 2, 3)) + tmp88 = einsum(t2.aaaa, (0, 1, 2, 3), tmp87, (1, 4, 5, 3), (4, 0, 5, 2)) * -1 + t2new.aaaa += tmp88 * 2 + t2new.aaaa += np.transpose(tmp85, (0, 1, 3, 2)) * -1 + tmp89 = einsum(t1.aa, (0, 1), v.aaaa.ooov, (2, 0, 3, 4), (2, 3, 1, 4)) + t2new.aaaa += np.transpose(tmp89, (0, 1, 3, 2)) + tmp90 = einsum(tmp53, (0, 1, 2, 3), t2.aaaa, (4, 1, 5, 3), (4, 0, 5, 2)) + t2new.aaaa += tmp90 * 2 + t2new.aaaa += np.transpose(tmp90, (1, 0, 3, 2)) * 2 + tmp93 = np.copy(v.aaaa.oovv) + tmp92 = einsum(t2.aaaa, (0, 1, 2, 3), tmp91, (1, 4, 3, 5), (4, 0, 5, 2)) + tmp93 += np.transpose(tmp92, (1, 0, 3, 2)) * -2 + del tmp92 + tmp94 = einsum(t2.aaaa, (0, 1, 2, 3), tmp93, (4, 1, 5, 3), (4, 0, 5, 2)) + del tmp93 + t2new.aaaa += tmp94 * -2 + tmp95 = einsum(tmp49, (0, 1, 2, 3), t2.abab, (4, 0, 5, 2), (4, 1, 5, 3)) + tmp96 = einsum(tmp95, (0, 1, 2, 3), t2.abab, (4, 1, 5, 3), (0, 4, 2, 5)) * -1 + t2new.aaaa += tmp96 + tmp97 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ooov, (4, 5, 1, 3), (0, 4, 5, 2)) + tmp100 = np.copy(np.transpose(tmp97, (0, 2, 1, 3))) + tmp98 = np.copy(v.aaaa.ooov) + tmp98 += np.transpose(v.aaaa.ooov, (0, 2, 1, 3)) * -1 + tmp99 = einsum(t2.aaaa, (0, 1, 2, 3), tmp98, (4, 5, 1, 3), (4, 5, 0, 2)) + tmp100 += np.transpose(tmp99, (2, 1, 0, 3)) * 2 + tmp101 = einsum(t1.aa, (0, 1), tmp100, (2, 0, 3, 4), (2, 3, 4, 1)) + t2new.aaaa += np.transpose(tmp101, (1, 0, 3, 2)) * -1 + t2new.aaaa += np.transpose(tmp89, (1, 0, 3, 2)) * -1 + t2new.aaaa += np.transpose(tmp90, (0, 1, 3, 2)) * -2 + t2new.aaaa += np.transpose(tmp90, (1, 0, 2, 3)) * -2 + del tmp90 + t2new.aaaa += np.transpose(tmp94, (1, 0, 2, 3)) * 2 + del tmp94 + t2new.aaaa += np.transpose(tmp96, (0, 1, 3, 2)) * -1 + del tmp96 + tmp104 = np.copy(np.transpose(tmp97, (0, 2, 1, 3))) + tmp102 = np.copy(v.aaaa.ooov) + tmp102 += np.transpose(v.aaaa.ooov, (0, 2, 1, 3)) * -1 + tmp103 = einsum(t2.aaaa, (0, 1, 2, 3), tmp102, (4, 5, 1, 3), (4, 5, 0, 2)) * 2 + tmp104 += np.transpose(tmp103, (2, 1, 0, 3)) + t2new.aaaa += einsum(t1.aa, (0, 1), tmp104, (2, 0, 3, 4), (2, 3, 1, 4)) + del tmp104 + tmp105 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.oovv, (4, 1, 5, 3), (0, 4, 2, 5)) + t2new.aaaa += np.transpose(tmp105, (1, 0, 2, 3)) * 2 + t2new.aaaa += tmp89 * -1 + t2new.aaaa += np.transpose(tmp101, (1, 0, 2, 3)) + t2new.aaaa += tmp105 * -2 + del tmp105 + t2new.aaaa += np.transpose(tmp89, (1, 0, 2, 3)) + del tmp89 + t2new.aaaa += tmp101 * -1 + del tmp101 + t2new.aaaa += np.transpose(tmp78, (0, 1, 3, 2)) + tmp106 = einsum(t1.aa, (0, 1), tmp0, (2, 3, 4, 1), (2, 0, 4, 3)) + tmp107 = einsum(t2.aaaa, (0, 1, 2, 3), tmp106, (4, 5, 0, 1), (4, 5, 2, 3)) + t2new.aaaa += np.transpose(tmp107, (1, 0, 3, 2)) * 2 + del tmp107 + tmp108 = einsum(tmp78, (0, 1, 2, 3), t1.aa, (4, 2), (4, 0, 1, 3)) + tmp109 = einsum(t1.aa, (0, 1), tmp108, (2, 3, 0, 4), (2, 3, 1, 4)) + t2new.aaaa += np.transpose(tmp109, (0, 1, 3, 2)) + t2new.aaaa += np.transpose(tmp109, (1, 0, 3, 2)) * -1 + tmp110 = einsum(t1.aa, (0, 1), tmp106, (2, 3, 4, 0), (2, 3, 4, 1)) + tmp111 = einsum(t1.aa, (0, 1), tmp110, (2, 3, 0, 4), (3, 2, 4, 1)) + t2new.aaaa += np.transpose(tmp111, (1, 0, 2, 3)) * -1 + t2new.aaaa += np.transpose(tmp111, (1, 0, 3, 2)) + del tmp111 + tmp112 = einsum(v.aaaa.vvvv, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 1, 2)) + tmp113 = einsum(t1.aa, (0, 1), tmp112, (2, 3, 1, 4), (2, 0, 4, 3)) + t2new.aaaa += np.transpose(tmp113, (1, 0, 2, 3)) * -1 + t2new.aaaa += np.transpose(tmp113, (1, 0, 3, 2)) + del tmp113 + t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.vvvv, (4, 2, 5, 3), (0, 1, 4, 5)) * 2 + tmp114 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 3, 5, 2), (0, 1, 4, 5)) * -1 + tmp115 = einsum(t2.aaaa, (0, 1, 2, 3), tmp114, (4, 5, 1, 0), (4, 5, 2, 3)) * -1 + t2new.aaaa += np.transpose(tmp115, (1, 0, 3, 2)) * 2 + del tmp115 + t2new.aaaa += np.transpose(tmp78, (1, 0, 3, 2)) * -1 + del tmp78 + tmp116 = einsum(v.aaaa.ovvv, (0, 1, 2, 3), t2.aaaa, (4, 5, 3, 1), (4, 5, 0, 2)) * -1 + tmp118 = np.copy(np.transpose(tmp116, (1, 0, 2, 3))) * -1 + tmp117 = einsum(t1.aa, (0, 1), tmp114, (2, 3, 4, 0), (2, 3, 4, 1)) + tmp118 += np.transpose(tmp117, (1, 0, 2, 3)) + t2new.aaaa += einsum(t1.aa, (0, 1), tmp118, (2, 3, 0, 4), (3, 2, 4, 1)) * -2 + t2new.aaaa += np.transpose(tmp55, (0, 1, 3, 2)) * -2 + t2new.aaaa += np.transpose(tmp53, (0, 1, 3, 2)) * -1 + t2new.aaaa += tmp55 * 2 + del tmp55 + t2new.aaaa += tmp53 + t2new.aaaa += np.transpose(tmp77, (1, 0, 2, 3)) + t2new.aaaa += np.transpose(tmp79, (1, 0, 2, 3)) + t2new.aaaa += np.transpose(tmp88, (1, 0, 3, 2)) * 2 + t2new.aaaa += np.transpose(tmp85, (1, 0, 2, 3)) * -1 + t2new.aaaa += tmp77 * -1 + del tmp77 + t2new.aaaa += tmp79 * -1 + del tmp79 + t2new.aaaa += np.transpose(tmp88, (0, 1, 3, 2)) * -2 + del tmp88 + t2new.aaaa += tmp85 + del tmp85 + t2new.aaaa += einsum(t1.aa, (0, 1), tmp116, (2, 3, 0, 4), (3, 2, 1, 4)) * 2 + t2new.aaaa += tmp109 * -1 + t2new.aaaa += np.transpose(tmp109, (1, 0, 2, 3)) + del tmp109 + tmp119 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.oooo, (4, 0, 5, 1), (4, 5, 2, 3)) + t2new.abab = np.copy(tmp119) + del tmp119 + tmp120 = einsum(t1.bb, (0, 1), v.aabb.oooo, (2, 3, 4, 0), (2, 3, 4, 1)) + t2new.abab += einsum(t1.aa, (0, 1), tmp120, (2, 0, 3, 4), (2, 3, 1, 4)) + tmp121 = einsum(v.bbbb.ooov, (0, 1, 2, 3), t3.babbab, (1, 4, 2, 5, 6, 3), (4, 0, 6, 5)) + t2new.abab += tmp121 * -2 + del tmp121 + t2new.abab += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), v.aabb.ovoo, (2, 5, 6, 1), (0, 6, 3, 4)) * -2 + t2new.abab += einsum(tmp35, (0, 1), t2.abab, (2, 0, 3, 4), (2, 1, 3, 4)) * -1 + tmp122 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), v.aabb.ooov, (6, 1, 2, 5), (6, 0, 4, 3)) + t2new.abab += tmp122 * -2 + del tmp122 + t2new.abab += einsum(v.aaaa.ooov, (0, 1, 2, 3), t3.abaaba, (2, 4, 1, 5, 6, 3), (0, 4, 5, 6)) * 2 + t2new.abab += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), tmp11, (2, 5), (0, 1, 3, 4)) * 2 + t2new.abab += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), tmp17, (2, 5), (1, 0, 4, 3)) + tmp125 = np.copy(tmp123) + tmp125 += tmp124 * 2 + t2new.abab += einsum(tmp125, (0, 1), t2.abab, (2, 3, 4, 1), (2, 3, 4, 0)) * -1 + t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp43, (0, 4), (4, 1, 2, 3)) * -1 + t2new.abab += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), v.aabb.vvov, (6, 4, 2, 5), (1, 0, 6, 3)) * 2 + t2new.abab += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), v.aaaa.ovvv, (2, 3, 6, 5), (0, 1, 6, 4)) * -2 + t2new.abab += tmp126 * 2 + t2new.abab += einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.abab, (2, 4, 3, 5), (0, 4, 1, 5)) + t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp58, (2, 4), (0, 1, 4, 3)) * -1 + tmp127 = einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), v.aaaa.ovov, (6, 3, 2, 5), (0, 6, 1, 4)) + tmp130 = np.copy(np.transpose(tmp127, (1, 0, 2, 3))) + tmp128 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), v.aabb.ovov, (6, 4, 2, 5), (1, 6, 0, 3)) + tmp130 += np.transpose(tmp128, (1, 0, 2, 3)) + tmp129 = einsum(t2.abab, (0, 1, 2, 3), tmp11, (4, 2), (4, 0, 1, 3)) * 0.5 + tmp130 += tmp129 + t2new.abab += einsum(t1.aa, (0, 1), tmp130, (0, 2, 3, 4), (2, 3, 1, 4)) * -2 + del tmp130 + t2new.abab += einsum(v.bbbb.ovvv, (0, 1, 2, 3), t3.babbab, (4, 5, 0, 1, 6, 3), (5, 4, 6, 2)) * -2 + t2new.abab += einsum(v.aabb.ovvv, (0, 1, 2, 3), t3.abaaba, (4, 5, 0, 6, 3, 1), (4, 5, 6, 2)) * 2 + t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp27, (3, 4), (0, 1, 2, 4)) + tmp131 = einsum(v.aabb.ovov, (0, 1, 2, 3), t3.abaaba, (4, 5, 0, 6, 3, 1), (4, 5, 2, 6)) + tmp134 = np.copy(np.transpose(tmp131, (0, 2, 1, 3))) * 2 + tmp132 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), v.bbbb.ovov, (6, 3, 2, 5), (1, 0, 6, 4)) + tmp134 += np.transpose(tmp132, (0, 2, 1, 3)) * 2 + tmp133 = einsum(t2.abab, (0, 1, 2, 3), tmp17, (4, 3), (0, 4, 1, 2)) + tmp134 += tmp133 + t2new.abab += einsum(t1.bb, (0, 1), tmp134, (2, 0, 3, 4), (2, 3, 4, 1)) * -1 + del tmp134 + t2new.abab += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), tmp51, (2, 5), (1, 0, 4, 3)) + t2new.abab += einsum(tmp22, (0, 1, 2, 3), t3.abaaba, (4, 2, 0, 5, 6, 3), (4, 1, 5, 6)) * -2 + tmp135 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), tmp23, (6, 2, 0, 5), (1, 6, 4, 3)) + t2new.abab += tmp135 * -2 + del tmp135 + tmp136 = einsum(t1.bb, (0, 1), v.aabb.ooov, (2, 3, 4, 1), (2, 3, 0, 4)) + t2new.abab += einsum(tmp136, (0, 1, 2, 3), t2.abab, (1, 3, 4, 5), (0, 2, 4, 5)) + tmp137 = einsum(tmp136, (0, 1, 2, 3), t1.bb, (3, 4), (0, 1, 2, 4)) + t2new.abab += einsum(t1.aa, (0, 1), tmp137, (2, 0, 3, 4), (2, 3, 1, 4)) + t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp31, (1, 4), (0, 4, 2, 3)) * -1 + t2new.abab += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), tmp0, (6, 0, 2, 5), (6, 1, 3, 4)) * 2 + tmp138 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), tmp2, (6, 1, 2, 5), (6, 0, 4, 3)) + t2new.abab += tmp138 * -2 + del tmp138 + tmp139 = einsum(v.aabb.ovoo, (0, 1, 2, 3), t1.aa, (4, 1), (4, 0, 2, 3)) + t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp139, (4, 0, 5, 1), (4, 5, 2, 3)) + t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp13, (0, 4), (4, 1, 2, 3)) * -1 + tmp140 = einsum(v.aabb.vvoo, (0, 1, 2, 3), t1.aa, (4, 1), (4, 2, 3, 0)) + tmp142 = np.copy(np.transpose(tmp140, (0, 2, 1, 3))) + tmp141 = einsum(t1.aa, (0, 1), tmp139, (2, 0, 3, 4), (2, 3, 4, 1)) + tmp142 += np.transpose(tmp141, (0, 2, 1, 3)) * -1 + t2new.abab += einsum(tmp142, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 3, 4)) * -1 + del tmp142 + t2new.abab += tmp143 + tmp144 = einsum(t1.bb, (0, 1), v.aabb.vvov, (2, 3, 4, 1), (0, 4, 2, 3)) + t2new.abab += einsum(tmp144, (0, 1, 2, 3), t2.abab, (4, 1, 3, 5), (4, 0, 2, 5)) * -1 + tmp145 = einsum(t2.abab, (0, 1, 2, 3), tmp22, (4, 5, 1, 2), (0, 4, 5, 3)) + t2new.abab += einsum(t1.aa, (0, 1), tmp145, (2, 0, 3, 4), (2, 3, 1, 4)) + t2new.abab += np.transpose(v.aabb.ovov, (0, 2, 1, 3)) + t2new.abab += einsum(t1.bb, (0, 1), tmp22, (2, 3, 0, 4), (2, 3, 4, 1)) * -1 + tmp146 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovoo, (4, 2, 5, 1), (0, 4, 5, 3)) + t2new.abab += einsum(t1.aa, (0, 1), tmp146, (2, 0, 3, 4), (2, 3, 1, 4)) + t2new.abab += einsum(t1.bb, (0, 1), v.aabb.ovoo, (2, 3, 4, 0), (2, 4, 3, 1)) * -1 + tmp148 = np.copy(np.transpose(v.aabb.vvoo, (2, 3, 0, 1))) + tmp147 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 4, 5, 3), (1, 5, 2, 4)) + tmp148 += np.transpose(tmp147, (1, 0, 3, 2)) * -1 + t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp148, (1, 4, 2, 5), (0, 4, 5, 3)) * -1 + del tmp148 + t2new.abab += einsum(t1.aa, (0, 1), v.aabb.ooov, (2, 0, 3, 4), (2, 3, 1, 4)) * -1 + tmp149 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ooov, (4, 0, 5, 3), (4, 1, 5, 2)) + t2new.abab += einsum(t1.bb, (0, 1), tmp149, (2, 3, 0, 4), (2, 3, 4, 1)) + t2new.abab += einsum(t2.abab, (0, 1, 2, 3), v.aabb.oovv, (4, 0, 5, 3), (4, 1, 2, 5)) * -1 + tmp150 = einsum(t1.aa, (0, 1), tmp22, (2, 3, 4, 1), (0, 2, 3, 4)) + t2new.abab += einsum(tmp150, (0, 1, 2, 3), t2.abab, (1, 3, 4, 5), (0, 2, 4, 5)) + tmp152 = np.copy(np.transpose(v.aabb.vvov, (2, 0, 1, 3))) + tmp151 = einsum(t1.bb, (0, 1), v.aabb.vvvv, (2, 3, 4, 1), (0, 2, 3, 4)) + tmp152 += np.transpose(tmp151, (0, 2, 1, 3)) + t2new.abab += einsum(tmp152, (0, 1, 2, 3), t1.aa, (4, 1), (4, 0, 2, 3)) + del tmp152 + tmp153 = einsum(tmp144, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 1, 2)) + tmp155 = np.copy(tmp153) + tmp154 = einsum(t1.aa, (0, 1), tmp150, (2, 0, 3, 4), (2, 3, 4, 1)) + tmp155 += tmp154 * -1 + t2new.abab += einsum(t1.bb, (0, 1), tmp155, (2, 3, 0, 4), (2, 3, 4, 1)) * -1 + tmp156 = np.copy(v.aaaa.oovv) + tmp156 += np.transpose(tmp53, (1, 0, 3, 2)) * -1 + tmp156 += einsum(t2.aaaa, (0, 1, 2, 3), tmp91, (1, 4, 5, 3), (4, 0, 5, 2)) * 2 + del tmp91 + t2new.abab += einsum(tmp156, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (1, 4, 3, 5)) * -1 + del tmp156 + tmp157 = einsum(t2.aaaa, (0, 1, 2, 3), v.aabb.ovov, (1, 3, 4, 5), (0, 4, 2, 5)) + tmp158 = np.copy(tmp157) * 2 + tmp158 += tmp95 * -1 + del tmp95 + t2new.abab += einsum(t2.bbbb, (0, 1, 2, 3), tmp158, (4, 1, 5, 3), (4, 0, 5, 2)) * 2 + tmp159 = einsum(t2.bbbb, (0, 1, 2, 3), v.aabb.ooov, (4, 5, 1, 3), (4, 5, 0, 2)) + tmp162 = np.copy(np.transpose(tmp159, (1, 0, 2, 3))) * 2 + tmp160 = np.copy(v.aaaa.ooov) * -1 + tmp160 += np.transpose(v.aaaa.ovoo, (0, 2, 3, 1)) + tmp161 = einsum(tmp160, (0, 1, 2, 3), t2.abab, (0, 4, 3, 5), (1, 2, 4, 5)) + tmp162 += np.transpose(tmp161, (1, 0, 2, 3)) + t2new.abab += einsum(t1.aa, (0, 1), tmp162, (0, 2, 3, 4), (2, 3, 1, 4)) * -1 + t2new.abab += tmp157 * 2 + t2new.abab += einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 5, 3), (4, 0, 5, 1)) + t2new.abab += einsum(v.bbbb.oovv, (0, 1, 2, 3), t2.abab, (4, 1, 5, 3), (4, 0, 5, 2)) * -1 + tmp163 = einsum(t2.aaaa, (0, 1, 2, 3), v.aabb.ovoo, (1, 3, 4, 5), (0, 4, 5, 2)) + tmp166 = np.copy(np.transpose(tmp163, (0, 2, 1, 3))) * 2 + tmp164 = np.copy(v.bbbb.ooov) * -1 + tmp164 += np.transpose(v.bbbb.ovoo, (0, 2, 3, 1)) + tmp165 = einsum(t2.abab, (0, 1, 2, 3), tmp164, (1, 4, 5, 3), (0, 4, 5, 2)) + tmp166 += np.transpose(tmp165, (0, 2, 1, 3)) + t2new.abab += einsum(tmp166, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 3, 4)) * -1 + t2new.abab += einsum(t2.abab, (0, 1, 2, 3), v.aabb.vvvv, (4, 2, 5, 3), (0, 1, 4, 5)) + tmp167 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 5, 3), (0, 4, 1, 5)) + t2new.abab += einsum(tmp167, (0, 1, 2, 3), t2.abab, (1, 3, 4, 5), (0, 2, 4, 5)) + tmp168 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.vvov, (4, 2, 5, 3), (0, 1, 5, 4)) + tmp170 = np.copy(tmp168) + tmp169 = einsum(t1.aa, (0, 1), tmp167, (2, 0, 3, 4), (2, 3, 4, 1)) + tmp170 += tmp169 * -1 + t2new.abab += einsum(t1.bb, (0, 1), tmp170, (2, 3, 0, 4), (2, 3, 4, 1)) * -1 + t2new.abab += einsum(t2.bbbb, (0, 1, 2, 3), tmp76, (4, 1, 5, 3), (4, 0, 5, 2)) * 2 + t2new.abab += einsum(tmp87, (0, 1, 2, 3), t2.abab, (0, 4, 3, 5), (1, 4, 2, 5)) * -1 + tmp171 = einsum(t2.bbbb, (0, 1, 2, 3), tmp2, (4, 5, 1, 3), (4, 5, 0, 2)) + tmp174 = np.copy(tmp171) * 2 + tmp172 = np.copy(tmp0) + tmp172 += np.transpose(tmp0, (0, 2, 1, 3)) * -1 + tmp173 = einsum(tmp172, (0, 1, 2, 3), t2.abab, (1, 4, 3, 5), (0, 2, 4, 5)) + tmp174 += tmp173 + t2new.abab += einsum(t1.aa, (0, 1), tmp174, (2, 0, 3, 4), (2, 3, 1, 4)) * -1 + t2new.abab += einsum(tmp143, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 2), (4, 1, 5, 3)) * 2 + t2new.abab += einsum(tmp176, (0, 1, 2, 3), t2.abab, (4, 0, 5, 2), (4, 1, 5, 3)) * -1 + tmp177 = einsum(tmp22, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 3), (4, 1, 2, 5)) + tmp180 = np.copy(tmp177) * 2 + tmp179 = einsum(t2.abab, (0, 1, 2, 3), tmp178, (4, 1, 5, 3), (0, 4, 5, 2)) + tmp180 += tmp179 + t2new.abab += einsum(t1.bb, (0, 1), tmp180, (2, 3, 0, 4), (2, 3, 4, 1)) * -1 + tmp181 = einsum(t2.abab, (0, 1, 2, 3), tmp2, (4, 0, 5, 3), (4, 1, 5, 2)) + t2new.abab += einsum(tmp181, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 3, 4)) + t2new.abab += einsum(t1.aa, (0, 1), tmp2, (2, 0, 3, 4), (2, 3, 1, 4)) * -1 + tmp182 = einsum(t1.aa, (0, 1), v.aabb.ovvv, (2, 1, 3, 4), (0, 2, 3, 4)) + t2new.abab += einsum(tmp182, (0, 1, 2, 3), t2.abab, (1, 4, 5, 3), (0, 4, 5, 2)) * -1 + tmp183 = einsum(v.aabb.ovvv, (0, 1, 2, 3), t2.abab, (4, 5, 1, 3), (4, 0, 5, 2)) + t2new.abab += einsum(t1.aa, (0, 1), tmp183, (2, 0, 3, 4), (2, 3, 1, 4)) * -1 + tmp184 = einsum(t1.bb, (0, 1), v.aabb.oovv, (2, 3, 4, 1), (2, 3, 0, 4)) + t2new.abab += einsum(t1.aa, (0, 1), tmp184, (2, 0, 3, 4), (2, 3, 1, 4)) * -1 + tmp185 = einsum(t1.aa, (0, 1), tmp143, (2, 3, 1, 4), (0, 2, 3, 4)) + t2new.abab += einsum(t1.aa, (0, 1), tmp185, (2, 0, 3, 4), (2, 3, 1, 4)) * -1 + tmp264 = einsum(v.aaaa.oooo, (0, 1, 2, 3), t3.aaaaaa, (4, 3, 1, 5, 6, 7), (4, 0, 2, 5, 6, 7)) * -1 + t3new.aaaaaa = np.copy(np.transpose(tmp264, (2, 0, 1, 4, 5, 3))) * 6 + tmp265 = einsum(t2.aaaa, (0, 1, 2, 3), tmp38, (4, 1, 5, 6), (0, 5, 4, 6, 2, 3)) + t3new.aaaaaa += np.transpose(tmp265, (1, 0, 2, 5, 4, 3)) * -2 + tmp266 = einsum(v.aaaa.ooov, (0, 1, 2, 3), t2.aaaa, (2, 1, 4, 5), (0, 4, 5, 3)) * -1 + tmp267 = einsum(tmp266, (0, 1, 2, 3), t2.aaaa, (4, 5, 6, 3), (4, 5, 0, 1, 2, 6)) + t3new.aaaaaa += np.transpose(tmp267, (1, 0, 2, 5, 4, 3)) * -4 + tmp268 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ooov, (4, 5, 6, 3), (0, 1, 4, 5, 6, 2)) + tmp269 = einsum(t1.aa, (0, 1), tmp268, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) + del tmp268 + tmp270 = einsum(t1.aa, (0, 1), tmp269, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) + del tmp269 + t3new.aaaaaa += np.transpose(tmp270, (1, 0, 2, 5, 3, 4)) * 2 + t3new.aaaaaa += np.transpose(tmp270, (1, 0, 2, 5, 4, 3)) * -2 + tmp271 = einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), tmp21, (2, 6), (0, 1, 6, 3, 4, 5)) * -1 + t3new.aaaaaa += np.transpose(tmp271, (1, 0, 2, 4, 5, 3)) * -3 + tmp272 = einsum(v.aabb.ooov, (0, 1, 2, 3), t3.abaaba, (4, 2, 5, 6, 3, 7), (4, 5, 0, 1, 6, 7)) + tmp274 = np.copy(np.transpose(tmp272, (1, 0, 3, 2, 5, 4))) * 0.3333333333333333 + tmp273 = einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), tmp102, (6, 7, 2, 5), (0, 1, 6, 7, 3, 4)) + tmp274 += np.transpose(tmp273, (0, 1, 3, 2, 4, 5)) + del tmp273 + tmp275 = einsum(tmp274, (0, 1, 2, 3, 4, 5), t1.aa, (2, 6), (0, 1, 3, 4, 5, 6)) * 3 + del tmp274 + t3new.aaaaaa += np.transpose(tmp275, (1, 0, 2, 4, 3, 5)) * -2 + tmp276 = einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), tmp43, (2, 6), (0, 1, 6, 3, 4, 5)) * -1 + t3new.aaaaaa += np.transpose(tmp276, (1, 0, 2, 4, 5, 3)) * -3 + t3new.aaaaaa += np.transpose(tmp267, (1, 0, 2, 4, 5, 3)) * 4 + t3new.aaaaaa += np.transpose(tmp264, (2, 1, 0, 4, 5, 3)) * -6 + t3new.aaaaaa += np.transpose(tmp265, (1, 2, 0, 5, 4, 3)) * 2 + t3new.aaaaaa += np.transpose(tmp267, (1, 2, 0, 5, 4, 3)) * 4 + t3new.aaaaaa += np.transpose(tmp270, (1, 2, 0, 5, 3, 4)) * -2 + t3new.aaaaaa += np.transpose(tmp270, (1, 2, 0, 5, 4, 3)) * 2 + t3new.aaaaaa += np.transpose(tmp276, (1, 2, 0, 4, 5, 3)) * 6 + tmp278 = np.copy(np.transpose(tmp272, (1, 0, 3, 2, 5, 4))) + tmp277 = einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), tmp98, (6, 7, 2, 5), (0, 1, 6, 7, 3, 4)) + tmp278 += np.transpose(tmp277, (0, 1, 3, 2, 4, 5)) * 3 + del tmp277 + tmp279 = einsum(tmp278, (0, 1, 2, 3, 4, 5), t1.aa, (2, 6), (0, 1, 3, 4, 5, 6)) + del tmp278 + t3new.aaaaaa += np.transpose(tmp279, (1, 2, 0, 4, 3, 5)) * 2 + t3new.aaaaaa += np.transpose(tmp267, (1, 2, 0, 4, 5, 3)) * -4 + t3new.aaaaaa += np.transpose(tmp265, (2, 1, 0, 5, 4, 3)) * -2 + t3new.aaaaaa += np.transpose(tmp267, (2, 1, 0, 5, 4, 3)) * -4 + tmp280 = einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), v.aaaa.ovov, (6, 5, 7, 4), (0, 1, 2, 6, 7, 3)) * -1 + tmp281 = einsum(t2.aaaa, (0, 1, 2, 3), tmp280, (4, 5, 6, 1, 0, 7), (4, 5, 6, 2, 3, 7)) * -1 + t3new.aaaaaa += np.transpose(tmp281, (1, 2, 0, 5, 4, 3)) * -6 + t3new.aaaaaa += np.transpose(tmp270, (2, 1, 0, 5, 3, 4)) * 2 + t3new.aaaaaa += np.transpose(tmp270, (2, 1, 0, 5, 4, 3)) * -2 + tmp284 = np.copy(np.transpose(tmp272, (3, 1, 2, 0, 5, 4))) * -1 + tmp282 = einsum(tmp280, (0, 1, 2, 3, 4, 5), t1.aa, (4, 6), (0, 1, 2, 3, 6, 5)) + del tmp280 + tmp284 += np.transpose(tmp282, (3, 1, 2, 0, 4, 5)) * -6 + tmp283 = np.copy(v.aaaa.ooov) * -1 + tmp283 += np.transpose(v.aaaa.ooov, (0, 2, 1, 3)) + tmp284 += einsum(tmp283, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 2, 6, 7, 3), (1, 4, 0, 5, 6, 7)) * 3 + tmp284 += einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), tmp11, (6, 5), (6, 0, 1, 2, 3, 4)) * 3 + t3new.aaaaaa += einsum(t1.aa, (0, 1), tmp284, (0, 2, 3, 4, 5, 6), (3, 4, 2, 6, 5, 1)) + del tmp284 + tmp285 = einsum(tmp48, (0, 1), t3.aaaaaa, (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 6, 0)) * 3 + t3new.aaaaaa += np.transpose(tmp285, (1, 2, 0, 3, 4, 5)) * -2 + del tmp285 + t3new.aaaaaa += np.transpose(tmp271, (2, 1, 0, 4, 5, 3)) * -3 + del tmp271 + t3new.aaaaaa += np.transpose(tmp276, (2, 1, 0, 4, 5, 3)) * -3 + del tmp276 + t3new.aaaaaa += np.transpose(tmp267, (2, 1, 0, 4, 5, 3)) * 4 + del tmp267 + tmp287 = np.copy(np.transpose(tmp272, (3, 1, 2, 0, 5, 4))) * -0.3333333333333333 + del tmp272 + tmp287 += einsum(tmp283, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 2, 6, 7, 3), (1, 4, 0, 5, 6, 7)) + del tmp283 + tmp286 = einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), tmp11, (6, 5), (6, 0, 1, 2, 3, 4)) + tmp287 += np.transpose(tmp286, (0, 2, 3, 1, 4, 5)) + t3new.aaaaaa += einsum(tmp287, (0, 1, 2, 3, 4, 5), t1.aa, (0, 6), (2, 3, 1, 5, 4, 6)) * 3 + del tmp287 + tmp288 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 2, 6, 7, 3), (4, 5, 0, 6, 7, 1)) + t3new.aaaaaa += np.transpose(tmp288, (2, 1, 0, 5, 4, 3)) * 6 + tmp289 = einsum(v.aabb.ovov, (0, 1, 2, 3), t3.abaaba, (4, 2, 5, 6, 3, 7), (4, 5, 0, 6, 7, 1)) + t3new.aaaaaa += np.transpose(tmp289, (2, 1, 0, 5, 4, 3)) * 2 + tmp290 = einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), tmp58, (5, 6), (0, 1, 2, 3, 4, 6)) * 3 + t3new.aaaaaa += np.transpose(tmp290, (1, 2, 0, 5, 3, 4)) * -2 + tmp291 = einsum(tmp286, (0, 1, 2, 3, 4, 5), t1.aa, (0, 6), (2, 3, 1, 4, 5, 6)) * 3 + del tmp286 + t3new.aaaaaa += np.transpose(tmp291, (1, 2, 0, 5, 4, 3)) * 2 + t3new.aaaaaa += np.transpose(tmp288, (2, 1, 0, 4, 5, 3)) * -6 + t3new.aaaaaa += np.transpose(tmp289, (2, 1, 0, 4, 5, 3)) * -2 + t3new.aaaaaa += np.transpose(tmp290, (1, 2, 0, 3, 5, 4)) * 2 + del tmp290 + t3new.aaaaaa += np.transpose(tmp291, (1, 2, 0, 4, 5, 3)) * -2 + del tmp291 + t3new.aaaaaa += np.transpose(tmp288, (2, 1, 0, 4, 3, 5)) * 6 + t3new.aaaaaa += np.transpose(tmp289, (2, 1, 0, 4, 3, 5)) * 2 + tmp294 = np.copy(f.aa.vv) + tmp294 += np.transpose(tmp3, (1, 0)) + tmp292 = np.copy(v.aaaa.ovvv) * -1 + tmp292 += np.transpose(v.aaaa.ovvv, (0, 2, 3, 1)) + tmp293 = einsum(t1.aa, (0, 1), tmp292, (0, 1, 2, 3), (2, 3)) + del tmp292 + tmp294 += np.transpose(tmp293, (1, 0)) * -1 + del tmp293 + tmp295 = einsum(tmp294, (0, 1), t3.aaaaaa, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 6, 1)) + t3new.aaaaaa += np.transpose(tmp295, (1, 2, 0, 3, 4, 5)) * 6 + del tmp295 + tmp296 = einsum(tmp0, (0, 1, 2, 3), t2.aaaa, (1, 2, 4, 5), (0, 4, 5, 3)) + tmp297 = einsum(t2.aaaa, (0, 1, 2, 3), tmp296, (4, 5, 6, 3), (4, 0, 1, 5, 6, 2)) * -1 + t3new.aaaaaa += np.transpose(tmp297, (2, 1, 0, 5, 4, 3)) * -4 + tmp298 = einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), tmp67, (6, 7, 2, 1), (6, 0, 7, 3, 4, 5)) * -1 + t3new.aaaaaa += np.transpose(tmp298, (2, 1, 0, 4, 5, 3)) * -6 + tmp299 = einsum(t2.aaaa, (0, 1, 2, 3), tmp0, (4, 5, 6, 3), (4, 0, 1, 6, 5, 2)) + tmp300 = einsum(t1.aa, (0, 1), tmp299, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) + del tmp299 + tmp301 = einsum(t1.aa, (0, 1), tmp300, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) + del tmp300 + t3new.aaaaaa += np.transpose(tmp301, (2, 1, 0, 5, 3, 4)) * 2 + t3new.aaaaaa += np.transpose(tmp301, (2, 1, 0, 5, 4, 3)) * -2 + tmp302 = np.copy(tmp7) * 2 + del tmp7 + tmp302 += tmp8 + del tmp8 + tmp302 += np.transpose(tmp12, (1, 0)) + del tmp12 + tmp303 = einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), tmp302, (6, 2), (0, 1, 6, 3, 4, 5)) * -1 + del tmp302 + t3new.aaaaaa += np.transpose(tmp303, (1, 0, 2, 4, 5, 3)) * -6 + del tmp303 + tmp304 = einsum(tmp2, (0, 1, 2, 3), t3.abaaba, (4, 2, 5, 6, 3, 7), (0, 4, 5, 1, 6, 7)) + tmp306 = np.copy(np.transpose(tmp304, (0, 2, 1, 3, 5, 4))) + del tmp304 + tmp305 = einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), tmp172, (6, 2, 7, 5), (0, 1, 6, 7, 3, 4)) + tmp306 += np.transpose(tmp305, (2, 0, 1, 3, 4, 5)) * 3 + del tmp305 + tmp307 = einsum(tmp306, (0, 1, 2, 3, 4, 5), t1.aa, (3, 6), (0, 1, 2, 4, 5, 6)) + del tmp306 + t3new.aaaaaa += np.transpose(tmp307, (2, 1, 0, 4, 3, 5)) * -2 + tmp308 = np.copy(np.transpose(tmp67, (0, 2, 1, 3))) * -1 + tmp308 += np.transpose(tmp67, (0, 3, 2, 1)) + tmp309 = einsum(t1.aa, (0, 1), tmp308, (2, 0, 3, 4), (2, 3, 4, 1)) + del tmp308 + tmp310 = einsum(t2.aaaa, (0, 1, 2, 3), tmp309, (4, 5, 1, 6), (4, 5, 0, 6, 2, 3)) * -1 + t3new.aaaaaa += np.transpose(tmp310, (1, 2, 0, 5, 4, 3)) * -2 + t3new.aaaaaa += np.transpose(tmp297, (2, 1, 0, 4, 5, 3)) * 4 + t3new.aaaaaa += np.transpose(tmp297, (2, 0, 1, 5, 4, 3)) * 4 + t3new.aaaaaa += np.transpose(tmp298, (2, 0, 1, 4, 5, 3)) * 6 + t3new.aaaaaa += np.transpose(tmp301, (2, 0, 1, 5, 3, 4)) * -2 + t3new.aaaaaa += np.transpose(tmp301, (2, 0, 1, 5, 4, 3)) * 2 + tmp311 = einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), tmp13, (2, 6), (6, 0, 1, 3, 4, 5)) * -1 + t3new.aaaaaa += np.transpose(tmp311, (2, 0, 1, 4, 5, 3)) * 6 + t3new.aaaaaa += np.transpose(tmp307, (2, 0, 1, 4, 3, 5)) * 2 + t3new.aaaaaa += np.transpose(tmp310, (1, 0, 2, 5, 4, 3)) * 2 + t3new.aaaaaa += np.transpose(tmp297, (2, 0, 1, 4, 5, 3)) * -4 + t3new.aaaaaa += np.transpose(tmp297, (0, 2, 1, 5, 4, 3)) * -4 + t3new.aaaaaa += np.transpose(tmp298, (0, 2, 1, 4, 5, 3)) * -6 + t3new.aaaaaa += np.transpose(tmp301, (0, 2, 1, 5, 3, 4)) * 2 + t3new.aaaaaa += np.transpose(tmp301, (0, 2, 1, 5, 4, 3)) * -2 + t3new.aaaaaa += np.transpose(tmp311, (0, 2, 1, 4, 5, 3)) * -6 + del tmp311 + t3new.aaaaaa += np.transpose(tmp307, (0, 2, 1, 4, 3, 5)) * -2 + t3new.aaaaaa += np.transpose(tmp310, (0, 1, 2, 5, 4, 3)) * -2 + t3new.aaaaaa += np.transpose(tmp297, (0, 2, 1, 4, 5, 3)) * 4 + tmp313 = np.copy(np.transpose(tmp38, (1, 0, 2, 3))) * -1 + tmp313 += np.transpose(tmp97, (2, 1, 0, 3)) + tmp313 += np.transpose(tmp59, (2, 1, 0, 3)) * 6 + tmp313 += np.transpose(tmp60, (2, 1, 0, 3)) * 2 + tmp313 += np.transpose(tmp103, (1, 0, 2, 3)) + del tmp103 + tmp312 = einsum(t2.aaaa, (0, 1, 2, 3), tmp11, (4, 3), (4, 0, 1, 2)) * -2 + tmp313 += np.transpose(tmp312, (0, 2, 1, 3)) * -1 + tmp314 = einsum(tmp313, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 6), (1, 2, 4, 3, 5, 6)) * -1 + del tmp313 + t3new.aaaaaa += np.transpose(tmp314, (2, 0, 1, 3, 5, 4)) * -2 + tmp315 = einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), v.aaaa.ovov, (1, 5, 2, 6), (0, 3, 4, 6)) * -1 + tmp317 = np.copy(np.transpose(tmp315, (0, 2, 1, 3))) * -3 + tmp316 = einsum(v.aabb.ovov, (0, 1, 2, 3), t3.abaaba, (4, 2, 0, 5, 3, 6), (4, 5, 6, 1)) + tmp317 += np.transpose(tmp316, (0, 2, 1, 3)) * -1 + tmp318 = einsum(t2.aaaa, (0, 1, 2, 3), tmp317, (4, 5, 6, 3), (4, 0, 1, 5, 6, 2)) * -2 + t3new.aaaaaa += np.transpose(tmp318, (0, 2, 1, 5, 4, 3)) * -2 + tmp321 = np.copy(tmp53) * 0.5 + tmp319 = np.copy(np.transpose(v.aaaa.ovov, (0, 2, 3, 1))) + tmp319 += np.transpose(v.aaaa.ovov, (0, 2, 1, 3)) * -1 + tmp320 = einsum(t2.aaaa, (0, 1, 2, 3), tmp319, (1, 4, 3, 5), (4, 0, 5, 2)) + tmp321 += np.transpose(tmp320, (1, 0, 3, 2)) * -1 + del tmp320 + tmp322 = einsum(t2.aaaa, (0, 1, 2, 3), tmp321, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) * -1 + tmp323 = einsum(t1.aa, (0, 1), tmp322, (2, 0, 3, 4, 5, 6), (4, 3, 2, 6, 5, 1)) * 4 + del tmp322 + t3new.aaaaaa += np.transpose(tmp323, (2, 1, 0, 3, 4, 5)) * -1 + t3new.aaaaaa += np.transpose(tmp314, (0, 2, 1, 3, 5, 4)) * 2 + t3new.aaaaaa += np.transpose(tmp318, (2, 0, 1, 5, 4, 3)) * 2 + t3new.aaaaaa += np.transpose(tmp323, (1, 2, 0, 3, 4, 5)) + tmp324 = np.copy(np.transpose(tmp38, (2, 1, 0, 3))) * -1 + tmp324 += np.transpose(tmp97, (0, 2, 1, 3)) + tmp324 += np.transpose(tmp99, (2, 1, 0, 3)) * 2 + tmp324 += np.transpose(tmp312, (2, 0, 1, 3)) + del tmp312 + tmp325 = einsum(tmp324, (0, 1, 2, 3), t2.aaaa, (4, 1, 5, 6), (0, 2, 4, 3, 5, 6)) * -1 + del tmp324 + t3new.aaaaaa += np.transpose(tmp325, (2, 1, 0, 5, 3, 4)) * 2 + t3new.aaaaaa += np.transpose(tmp318, (0, 2, 1, 4, 5, 3)) * 2 + tmp327 = np.copy(np.transpose(tmp38, (2, 1, 0, 3))) * -0.5 + tmp327 += np.transpose(tmp97, (0, 2, 1, 3)) * 0.5 + tmp326 = einsum(t2.aaaa, (0, 1, 2, 3), tmp102, (4, 5, 1, 3), (4, 5, 0, 2)) + tmp327 += np.transpose(tmp326, (2, 1, 0, 3)) + tmp327 += np.transpose(tmp61, (2, 0, 1, 3)) + tmp328 = einsum(t2.aaaa, (0, 1, 2, 3), tmp327, (4, 1, 5, 6), (4, 5, 0, 6, 2, 3)) * -2 + del tmp327 + t3new.aaaaaa += np.transpose(tmp328, (1, 2, 0, 5, 3, 4)) * -2 + del tmp328 + t3new.aaaaaa += np.transpose(tmp318, (2, 0, 1, 4, 5, 3)) * -2 + t3new.aaaaaa += np.transpose(tmp314, (0, 1, 2, 3, 5, 4)) * -2 + del tmp314 + t3new.aaaaaa += np.transpose(tmp318, (2, 1, 0, 5, 4, 3)) * -2 + t3new.aaaaaa += np.transpose(tmp323, (1, 0, 2, 3, 4, 5)) * -1 + t3new.aaaaaa += np.transpose(tmp325, (1, 0, 2, 5, 3, 4)) * 2 + del tmp325 + t3new.aaaaaa += np.transpose(tmp318, (2, 1, 0, 4, 5, 3)) * 2 + del tmp318 + tmp329 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.oovv, (4, 5, 6, 3), (0, 1, 4, 5, 2, 6)) + tmp330 = einsum(t1.aa, (0, 1), tmp329, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) + del tmp329 + t3new.aaaaaa += np.transpose(tmp330, (2, 1, 0, 5, 3, 4)) * 2 + t3new.aaaaaa += np.transpose(tmp270, (2, 1, 0, 3, 4, 5)) * 2 + t3new.aaaaaa += np.transpose(tmp270, (2, 1, 0, 4, 3, 5)) * -2 + tmp331 = np.copy(np.transpose(tmp266, (0, 2, 1, 3))) + tmp331 += np.transpose(tmp315, (0, 2, 1, 3)) * -3 + del tmp315 + tmp331 += np.transpose(tmp316, (0, 2, 1, 3)) * -1 + del tmp316 + tmp332 = einsum(t2.aaaa, (0, 1, 2, 3), tmp331, (4, 5, 6, 3), (4, 0, 1, 5, 6, 2)) * -2 + del tmp331 + t3new.aaaaaa += np.transpose(tmp332, (0, 2, 1, 4, 3, 5)) * -2 + tmp333 = np.copy(np.transpose(tmp59, (1, 0, 2, 3))) * -1 + tmp333 += np.transpose(tmp60, (1, 0, 2, 3)) * -0.3333333333333333 + tmp333 += np.transpose(tmp63, (2, 1, 0, 3)) + del tmp63 + tmp334 = einsum(t2.aaaa, (0, 1, 2, 3), tmp333, (4, 5, 1, 6), (4, 5, 0, 6, 2, 3)) * -6 + del tmp333 + t3new.aaaaaa += np.transpose(tmp334, (2, 1, 0, 5, 4, 3)) * -2 + t3new.aaaaaa += np.transpose(tmp330, (2, 1, 0, 3, 5, 4)) * -2 + t3new.aaaaaa += np.transpose(tmp330, (1, 2, 0, 5, 3, 4)) * -2 + t3new.aaaaaa += np.transpose(tmp270, (1, 2, 0, 3, 4, 5)) * -2 + t3new.aaaaaa += np.transpose(tmp270, (1, 2, 0, 4, 3, 5)) * 2 + t3new.aaaaaa += np.transpose(tmp332, (2, 0, 1, 4, 3, 5)) * 2 + t3new.aaaaaa += np.transpose(tmp334, (1, 2, 0, 5, 4, 3)) * 2 + t3new.aaaaaa += np.transpose(tmp330, (1, 2, 0, 3, 5, 4)) * 2 + t3new.aaaaaa += np.transpose(tmp330, (1, 0, 2, 5, 3, 4)) * 2 + t3new.aaaaaa += np.transpose(tmp270, (1, 0, 2, 3, 4, 5)) * 2 + t3new.aaaaaa += np.transpose(tmp270, (1, 0, 2, 4, 3, 5)) * -2 + t3new.aaaaaa += np.transpose(tmp332, (2, 1, 0, 4, 3, 5)) * -2 + del tmp332 + t3new.aaaaaa += np.transpose(tmp334, (1, 0, 2, 5, 4, 3)) * -2 + del tmp334 + t3new.aaaaaa += np.transpose(tmp330, (1, 0, 2, 3, 5, 4)) * -2 + tmp335 = einsum(v.aaaa.ooov, (0, 1, 2, 3), t2.aaaa, (4, 1, 5, 6), (4, 0, 2, 5, 6, 3)) + t3new.aaaaaa += np.transpose(tmp335, (0, 1, 2, 5, 4, 3)) * 2 + t3new.aaaaaa += np.transpose(tmp335, (0, 2, 1, 5, 4, 3)) * -2 + t3new.aaaaaa += np.transpose(tmp335, (1, 0, 2, 5, 4, 3)) * -2 + t3new.aaaaaa += np.transpose(tmp335, (2, 0, 1, 5, 4, 3)) * 2 + tmp337 = np.copy(v.aaaa.oovv) * -1 + tmp337 += tmp53 + tmp336 = einsum(t2.aaaa, (0, 1, 2, 3), tmp319, (1, 4, 3, 5), (4, 0, 5, 2)) * 2 + tmp337 += np.transpose(tmp336, (1, 0, 3, 2)) * -1 + del tmp336 + tmp338 = einsum(tmp337, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 1, 6, 7, 3), (4, 5, 0, 6, 7, 2)) * 3 + del tmp337 + t3new.aaaaaa += np.transpose(tmp338, (0, 1, 2, 5, 3, 4)) * 2 + tmp340 = np.copy(tmp157) * 2 + tmp339 = einsum(t2.abab, (0, 1, 2, 3), tmp15, (1, 4, 3, 5), (0, 4, 2, 5)) + tmp340 += tmp339 * -1 + tmp341 = einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), tmp340, (6, 1, 7, 4), (0, 2, 6, 3, 5, 7)) + t3new.aaaaaa += np.transpose(tmp341, (1, 0, 2, 5, 4, 3)) * 2 + t3new.aaaaaa += np.transpose(tmp323, (1, 0, 2, 4, 3, 5)) + t3new.aaaaaa += np.transpose(tmp275, (1, 0, 2, 5, 4, 3)) * -2 + t3new.aaaaaa += np.transpose(tmp335, (0, 1, 2, 4, 5, 3)) * -2 + t3new.aaaaaa += np.transpose(tmp335, (0, 2, 1, 4, 5, 3)) * 2 + t3new.aaaaaa += np.transpose(tmp335, (1, 0, 2, 4, 5, 3)) * 2 + t3new.aaaaaa += np.transpose(tmp335, (2, 0, 1, 4, 5, 3)) * -2 + t3new.aaaaaa += np.transpose(tmp338, (0, 1, 2, 3, 5, 4)) * -2 + del tmp338 + t3new.aaaaaa += np.transpose(tmp341, (1, 0, 2, 4, 5, 3)) * -2 + t3new.aaaaaa += np.transpose(tmp279, (1, 0, 2, 4, 5, 3)) * 2 + t3new.aaaaaa += np.transpose(tmp335, (1, 2, 0, 5, 4, 3)) * 2 + tmp343 = np.copy(v.aaaa.oovv) * -1 + tmp343 += np.transpose(tmp53, (1, 0, 3, 2)) + tmp342 = einsum(t2.aaaa, (0, 1, 2, 3), tmp319, (1, 4, 5, 3), (4, 0, 5, 2)) * 2 + tmp343 += tmp342 + del tmp342 + tmp344 = einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), tmp343, (2, 6, 5, 7), (0, 1, 6, 3, 4, 7)) * 3 + del tmp343 + t3new.aaaaaa += np.transpose(tmp344, (2, 0, 1, 5, 3, 4)) * 2 + t3new.aaaaaa += np.transpose(tmp341, (2, 1, 0, 5, 4, 3)) * 2 + t3new.aaaaaa += np.transpose(tmp323, (2, 1, 0, 4, 3, 5)) + t3new.aaaaaa += np.transpose(tmp275, (2, 1, 0, 5, 4, 3)) * -2 + del tmp275 + t3new.aaaaaa += np.transpose(tmp335, (2, 1, 0, 5, 4, 3)) * -2 + t3new.aaaaaa += np.transpose(tmp344, (0, 2, 1, 5, 3, 4)) * -2 + t3new.aaaaaa += np.transpose(tmp341, (1, 2, 0, 5, 4, 3)) * -2 + tmp346 = np.copy(tmp53) + tmp345 = einsum(t2.aaaa, (0, 1, 2, 3), tmp240, (1, 4, 3, 5), (4, 0, 5, 2)) + del tmp240 + tmp346 += np.transpose(tmp345, (1, 0, 3, 2)) * -2 + del tmp345 + tmp347 = einsum(t2.aaaa, (0, 1, 2, 3), tmp346, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) * -1 + del tmp346 + tmp348 = einsum(t1.aa, (0, 1), tmp347, (2, 0, 3, 4, 5, 6), (4, 3, 2, 6, 5, 1)) + del tmp347 + t3new.aaaaaa += np.transpose(tmp348, (1, 2, 0, 4, 3, 5)) * -2 + t3new.aaaaaa += np.transpose(tmp279, (1, 2, 0, 5, 4, 3)) * 2 + t3new.aaaaaa += np.transpose(tmp335, (1, 2, 0, 4, 5, 3)) * -2 + t3new.aaaaaa += np.transpose(tmp344, (2, 0, 1, 3, 5, 4)) * -2 + t3new.aaaaaa += np.transpose(tmp341, (2, 1, 0, 4, 5, 3)) * -2 + t3new.aaaaaa += np.transpose(tmp279, (2, 1, 0, 4, 5, 3)) * 2 + t3new.aaaaaa += np.transpose(tmp335, (2, 1, 0, 4, 5, 3)) * 2 + t3new.aaaaaa += np.transpose(tmp344, (0, 2, 1, 3, 5, 4)) * 2 + del tmp344 + t3new.aaaaaa += np.transpose(tmp341, (1, 2, 0, 4, 5, 3)) * 2 + del tmp341 + t3new.aaaaaa += np.transpose(tmp279, (1, 2, 0, 4, 5, 3)) * -2 + del tmp279 + t3new.aaaaaa += np.transpose(tmp335, (0, 1, 2, 4, 3, 5)) * 2 + t3new.aaaaaa += np.transpose(tmp335, (0, 2, 1, 4, 3, 5)) * -2 + t3new.aaaaaa += np.transpose(tmp335, (1, 0, 2, 4, 3, 5)) * -2 + tmp349 = einsum(v.aaaa.oovv, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 1, 6, 7, 3), (4, 5, 0, 6, 7, 2)) + t3new.aaaaaa += np.transpose(tmp349, (1, 0, 2, 4, 3, 5)) * -6 + t3new.aaaaaa += np.transpose(tmp335, (2, 0, 1, 4, 3, 5)) * 2 + t3new.aaaaaa += np.transpose(tmp349, (2, 1, 0, 4, 3, 5)) * -6 + t3new.aaaaaa += np.transpose(tmp335, (1, 2, 0, 4, 3, 5)) * 2 + t3new.aaaaaa += np.transpose(tmp349, (1, 2, 0, 4, 3, 5)) * 6 + del tmp349 + t3new.aaaaaa += np.transpose(tmp335, (2, 1, 0, 4, 3, 5)) * -2 + del tmp335 + tmp350 = einsum(v.aaaa.ovvv, (0, 1, 2, 3), t2.aaaa, (4, 5, 6, 3), (4, 5, 0, 6, 1, 2)) + t3new.aaaaaa += np.transpose(tmp350, (1, 0, 2, 5, 4, 3)) * -2 + tmp351 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 5, 6, 3), (0, 1, 4, 6, 2, 5)) + tmp352 = einsum(t1.aa, (0, 1), tmp351, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) + del tmp351 + t3new.aaaaaa += np.transpose(tmp352, (1, 0, 2, 5, 3, 4)) * -2 + tmp356 = np.copy(np.transpose(v.aaaa.ovvv, (0, 2, 3, 1))) + tmp353 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.vvov, (4, 5, 1, 3), (0, 2, 4, 5)) + tmp356 += np.transpose(tmp353, (0, 1, 3, 2)) * -1 + tmp354 = np.copy(v.aaaa.ovvv) * -1 + tmp354 += np.transpose(v.aaaa.ovvv, (0, 2, 1, 3)) + tmp355 = einsum(tmp354, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 2), (4, 1, 3, 5)) + del tmp354 + tmp356 += np.transpose(tmp355, (0, 3, 1, 2)) * -2 + del tmp355 + tmp357 = einsum(t2.aaaa, (0, 1, 2, 3), tmp356, (4, 5, 3, 6), (4, 0, 1, 5, 6, 2)) * -1 + del tmp356 + t3new.aaaaaa += np.transpose(tmp357, (2, 1, 0, 4, 3, 5)) * -2 + tmp358 = einsum(t2.aaaa, (0, 1, 2, 3), tmp321, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) * -2 + tmp359 = einsum(tmp358, (0, 1, 2, 3, 4, 5), t1.aa, (1, 6), (3, 2, 0, 5, 4, 6)) * 2 + del tmp358 + t3new.aaaaaa += np.transpose(tmp359, (1, 0, 2, 5, 4, 3)) + t3new.aaaaaa += np.transpose(tmp350, (1, 2, 0, 5, 4, 3)) * 2 + t3new.aaaaaa += np.transpose(tmp352, (1, 2, 0, 5, 3, 4)) * 2 + t3new.aaaaaa += np.transpose(tmp357, (2, 0, 1, 4, 3, 5)) * 2 + t3new.aaaaaa += np.transpose(tmp348, (1, 2, 0, 5, 4, 3)) * -2 + t3new.aaaaaa += np.transpose(tmp350, (1, 0, 2, 5, 3, 4)) * 2 + t3new.aaaaaa += np.transpose(tmp350, (1, 0, 2, 4, 3, 5)) * -2 + t3new.aaaaaa += np.transpose(tmp352, (1, 0, 2, 5, 4, 3)) * 2 + t3new.aaaaaa += np.transpose(tmp350, (1, 2, 0, 5, 3, 4)) * -2 + t3new.aaaaaa += np.transpose(tmp350, (1, 2, 0, 4, 3, 5)) * 2 + t3new.aaaaaa += np.transpose(tmp352, (1, 2, 0, 5, 4, 3)) * -2 + t3new.aaaaaa += np.transpose(tmp281, (1, 2, 0, 4, 3, 5)) * -6 + t3new.aaaaaa += np.transpose(tmp350, (2, 1, 0, 5, 4, 3)) * -2 + tmp360 = einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), v.aaaa.vvvv, (6, 4, 7, 5), (0, 1, 2, 3, 6, 7)) + t3new.aaaaaa += np.transpose(tmp360, (1, 2, 0, 5, 4, 3)) * -6 + tmp361 = einsum(v.aaaa.ovvv, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 6, 7, 3, 1), (4, 5, 6, 0, 7, 2)) * -1 + tmp362 = np.copy(np.transpose(tmp361, (1, 2, 0, 3, 4, 5))) + tmp362 += np.transpose(tmp282, (1, 2, 0, 3, 5, 4)) * -1 + del tmp282 + tmp363 = einsum(tmp362, (0, 1, 2, 3, 4, 5), t1.aa, (3, 6), (0, 1, 2, 4, 5, 6)) * 6 + del tmp362 + t3new.aaaaaa += np.transpose(tmp363, (1, 2, 0, 4, 5, 3)) + t3new.aaaaaa += np.transpose(tmp352, (2, 1, 0, 5, 3, 4)) * -2 + t3new.aaaaaa += np.transpose(tmp357, (0, 2, 1, 4, 3, 5)) * -2 + del tmp357 + t3new.aaaaaa += np.transpose(tmp359, (2, 1, 0, 5, 4, 3)) + del tmp359 + t3new.aaaaaa += np.transpose(tmp281, (1, 2, 0, 4, 5, 3)) * 6 + del tmp281 + t3new.aaaaaa += np.transpose(tmp350, (2, 1, 0, 5, 3, 4)) * 2 + t3new.aaaaaa += np.transpose(tmp360, (1, 2, 0, 5, 3, 4)) * 6 + t3new.aaaaaa += np.transpose(tmp363, (1, 2, 0, 4, 3, 5)) * -1 + del tmp363 + t3new.aaaaaa += np.transpose(tmp350, (2, 1, 0, 4, 3, 5)) * -2 + t3new.aaaaaa += np.transpose(tmp352, (2, 1, 0, 5, 4, 3)) * 2 + t3new.aaaaaa += np.transpose(tmp350, (1, 0, 2, 3, 5, 4)) * -2 + t3new.aaaaaa += np.transpose(tmp350, (1, 0, 2, 3, 4, 5)) * 2 + t3new.aaaaaa += np.transpose(tmp352, (1, 0, 2, 4, 5, 3)) * -2 + t3new.aaaaaa += np.transpose(tmp350, (1, 2, 0, 3, 5, 4)) * 2 + t3new.aaaaaa += np.transpose(tmp350, (1, 2, 0, 3, 4, 5)) * -2 + t3new.aaaaaa += np.transpose(tmp352, (1, 2, 0, 4, 5, 3)) * 2 + t3new.aaaaaa += np.transpose(tmp350, (2, 1, 0, 3, 5, 4)) * -2 + tmp364 = einsum(t1.aa, (0, 1), tmp361, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) + del tmp361 + t3new.aaaaaa += np.transpose(tmp364, (1, 2, 0, 4, 5, 3)) * 6 + t3new.aaaaaa += np.transpose(tmp360, (1, 2, 0, 3, 5, 4)) * -6 + del tmp360 + t3new.aaaaaa += np.transpose(tmp350, (2, 1, 0, 3, 4, 5)) * 2 + del tmp350 + t3new.aaaaaa += np.transpose(tmp352, (2, 1, 0, 4, 5, 3)) * -2 + t3new.aaaaaa += np.transpose(tmp264, (0, 2, 1, 4, 5, 3)) * -6 + del tmp264 + t3new.aaaaaa += np.transpose(tmp265, (0, 2, 1, 5, 4, 3)) * -2 + t3new.aaaaaa += np.transpose(tmp265, (0, 1, 2, 5, 4, 3)) * 2 + t3new.aaaaaa += np.transpose(tmp265, (2, 0, 1, 5, 4, 3)) * 2 + del tmp265 + t3new.aaaaaa += np.transpose(tmp288, (1, 0, 2, 5, 4, 3)) * 6 + t3new.aaaaaa += np.transpose(tmp289, (1, 0, 2, 5, 4, 3)) * 2 + t3new.aaaaaa += np.transpose(tmp288, (1, 2, 0, 5, 4, 3)) * -6 + t3new.aaaaaa += np.transpose(tmp289, (1, 2, 0, 5, 4, 3)) * -2 + t3new.aaaaaa += np.transpose(tmp288, (1, 0, 2, 4, 5, 3)) * -6 + t3new.aaaaaa += np.transpose(tmp289, (1, 0, 2, 4, 5, 3)) * -2 + t3new.aaaaaa += np.transpose(tmp288, (1, 2, 0, 4, 5, 3)) * 6 + t3new.aaaaaa += np.transpose(tmp289, (1, 2, 0, 4, 5, 3)) * 2 + t3new.aaaaaa += np.transpose(tmp288, (1, 0, 2, 4, 3, 5)) * 6 + t3new.aaaaaa += np.transpose(tmp289, (1, 0, 2, 4, 3, 5)) * 2 + t3new.aaaaaa += np.transpose(tmp288, (1, 2, 0, 4, 3, 5)) * -6 + del tmp288 + t3new.aaaaaa += np.transpose(tmp289, (1, 2, 0, 4, 3, 5)) * -2 + del tmp289 + tmp367 = np.copy(np.transpose(tmp38, (1, 0, 2, 3))) + tmp367 += np.transpose(tmp97, (2, 1, 0, 3)) * -1 + tmp365 = np.copy(v.aaaa.ooov) * -1 + tmp365 += np.transpose(v.aaaa.ooov, (0, 2, 1, 3)) + tmp366 = einsum(t2.aaaa, (0, 1, 2, 3), tmp365, (4, 5, 1, 3), (4, 5, 0, 2)) + del tmp365 + tmp367 += np.transpose(tmp366, (1, 0, 2, 3)) * 2 + del tmp366 + tmp368 = einsum(t2.aaaa, (0, 1, 2, 3), tmp367, (1, 4, 5, 6), (4, 5, 0, 6, 2, 3)) * -1 + t3new.aaaaaa += np.transpose(tmp368, (2, 1, 0, 3, 5, 4)) * -2 + t3new.aaaaaa += np.transpose(tmp368, (1, 2, 0, 3, 5, 4)) * 2 + tmp369 = np.copy(np.transpose(tmp38, (2, 1, 0, 3))) * -1 + tmp369 += np.transpose(tmp97, (0, 2, 1, 3)) + tmp369 += np.transpose(tmp99, (2, 1, 0, 3)) * 2 + del tmp99 + tmp370 = einsum(tmp369, (0, 1, 2, 3), t2.aaaa, (4, 1, 5, 6), (0, 2, 4, 3, 5, 6)) * -1 + del tmp369 + t3new.aaaaaa += np.transpose(tmp370, (2, 0, 1, 5, 3, 4)) * -2 + t3new.aaaaaa += np.transpose(tmp370, (0, 2, 1, 5, 3, 4)) * 2 + t3new.aaaaaa += np.transpose(tmp368, (1, 0, 2, 3, 5, 4)) * -2 + del tmp368 + t3new.aaaaaa += np.transpose(tmp370, (0, 1, 2, 5, 3, 4)) * -2 + del tmp370 + tmp371 = einsum(tmp0, (0, 1, 2, 3), t2.aaaa, (4, 2, 5, 6), (0, 4, 1, 5, 6, 3)) + t3new.aaaaaa += np.transpose(tmp371, (1, 0, 2, 5, 4, 3)) * 2 + tmp372 = np.copy(np.transpose(tmp65, (0, 2, 1, 3))) * -1 + tmp372 += np.transpose(tmp81, (0, 2, 1, 3)) + tmp372 += tmp83 * 2 + del tmp83 + tmp372 += np.transpose(tmp309, (0, 2, 1, 3)) + tmp373 = einsum(t2.aaaa, (0, 1, 2, 3), tmp372, (4, 1, 5, 6), (4, 5, 0, 6, 2, 3)) * -1 + del tmp372 + t3new.aaaaaa += np.transpose(tmp373, (2, 0, 1, 3, 5, 4)) * -2 + t3new.aaaaaa += np.transpose(tmp371, (0, 1, 2, 5, 4, 3)) * -2 + tmp378 = np.copy(np.transpose(tmp65, (0, 2, 1, 3))) * -1 + tmp378 += np.transpose(tmp81, (0, 2, 1, 3)) + tmp374 = np.copy(tmp0) * -1 + tmp374 += np.transpose(tmp0, (0, 2, 1, 3)) + tmp375 = einsum(t2.aaaa, (0, 1, 2, 3), tmp374, (4, 5, 1, 3), (4, 5, 0, 2)) * 2 + tmp378 += tmp375 + tmp376 = np.copy(np.transpose(tmp67, (0, 2, 1, 3))) * -1 + tmp376 += np.transpose(tmp67, (0, 3, 2, 1)) + tmp377 = einsum(t1.aa, (0, 1), tmp376, (2, 0, 3, 4), (2, 3, 4, 1)) + del tmp376 + tmp378 += np.transpose(tmp377, (0, 2, 1, 3)) + tmp379 = einsum(t2.aaaa, (0, 1, 2, 3), tmp378, (4, 1, 5, 6), (4, 5, 0, 6, 2, 3)) * -1 + del tmp378 + t3new.aaaaaa += np.transpose(tmp379, (0, 2, 1, 3, 5, 4)) + t3new.aaaaaa += np.transpose(tmp373, (0, 2, 1, 3, 5, 4)) + t3new.aaaaaa += np.transpose(tmp371, (1, 0, 2, 4, 5, 3)) * -2 + t3new.aaaaaa += np.transpose(tmp373, (2, 0, 1, 5, 3, 4)) * 2 + t3new.aaaaaa += np.transpose(tmp371, (0, 1, 2, 4, 5, 3)) * 2 + t3new.aaaaaa += np.transpose(tmp373, (0, 2, 1, 5, 3, 4)) * -2 + t3new.aaaaaa += np.transpose(tmp330, (1, 0, 2, 5, 4, 3)) * -2 + t3new.aaaaaa += np.transpose(tmp270, (1, 0, 2, 3, 5, 4)) * -2 + t3new.aaaaaa += np.transpose(tmp270, (1, 0, 2, 4, 5, 3)) * 2 + tmp380 = np.copy(np.transpose(tmp59, (1, 0, 2, 3))) * -3 + tmp380 += np.transpose(tmp60, (1, 0, 2, 3)) * -1 + tmp381 = einsum(t2.aaaa, (0, 1, 2, 3), tmp380, (4, 5, 1, 6), (4, 5, 0, 6, 2, 3)) * -2 + del tmp380 + t3new.aaaaaa += np.transpose(tmp381, (1, 0, 2, 5, 3, 4)) * 2 + t3new.aaaaaa += np.transpose(tmp330, (1, 2, 0, 5, 4, 3)) * 2 + t3new.aaaaaa += np.transpose(tmp270, (1, 2, 0, 3, 5, 4)) * 2 + t3new.aaaaaa += np.transpose(tmp270, (1, 2, 0, 4, 5, 3)) * -2 + t3new.aaaaaa += np.transpose(tmp381, (1, 2, 0, 5, 3, 4)) * -2 + t3new.aaaaaa += np.transpose(tmp371, (1, 2, 0, 5, 4, 3)) * -2 + t3new.aaaaaa += np.transpose(tmp379, (2, 1, 0, 3, 5, 4)) + del tmp379 + t3new.aaaaaa += np.transpose(tmp373, (2, 1, 0, 3, 5, 4)) + t3new.aaaaaa += np.transpose(tmp371, (0, 2, 1, 5, 4, 3)) * 2 + tmp382 = einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), tmp76, (6, 1, 7, 4), (6, 0, 2, 3, 5, 7)) + t3new.aaaaaa += np.transpose(tmp382, (0, 2, 1, 5, 4, 3)) * 2 + tmp383 = einsum(tmp80, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 0, 6, 7, 3), (4, 5, 1, 6, 7, 2)) * -3 + t3new.aaaaaa += np.transpose(tmp383, (2, 0, 1, 5, 3, 4)) * 2 + t3new.aaaaaa += np.transpose(tmp307, (0, 2, 1, 5, 4, 3)) * -2 + t3new.aaaaaa += np.transpose(tmp373, (0, 1, 2, 3, 5, 4)) * -2 + t3new.aaaaaa += np.transpose(tmp371, (1, 2, 0, 4, 5, 3)) * 2 + t3new.aaaaaa += np.transpose(tmp373, (2, 1, 0, 5, 3, 4)) * -2 + t3new.aaaaaa += np.transpose(tmp371, (0, 2, 1, 4, 5, 3)) * -2 + t3new.aaaaaa += np.transpose(tmp382, (0, 2, 1, 4, 5, 3)) * -2 + tmp384 = einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), tmp87, (2, 6, 7, 5), (0, 1, 6, 3, 4, 7)) * -1 + t3new.aaaaaa += np.transpose(tmp384, (2, 0, 1, 3, 5, 4)) * -6 + t3new.aaaaaa += np.transpose(tmp307, (0, 2, 1, 4, 5, 3)) * 2 + t3new.aaaaaa += np.transpose(tmp373, (0, 1, 2, 5, 3, 4)) * 2 + t3new.aaaaaa += np.transpose(tmp371, (2, 1, 0, 5, 4, 3)) * 2 + t3new.aaaaaa += np.transpose(tmp382, (2, 1, 0, 5, 4, 3)) * 2 + t3new.aaaaaa += np.transpose(tmp383, (0, 1, 2, 5, 3, 4)) * 2 + t3new.aaaaaa += np.transpose(tmp307, (2, 1, 0, 5, 4, 3)) * -2 + t3new.aaaaaa += np.transpose(tmp373, (1, 2, 0, 3, 5, 4)) * -2 + t3new.aaaaaa += np.transpose(tmp371, (2, 0, 1, 5, 4, 3)) * -2 + t3new.aaaaaa += np.transpose(tmp382, (2, 0, 1, 5, 4, 3)) * -2 + t3new.aaaaaa += np.transpose(tmp384, (0, 2, 1, 5, 3, 4)) * -6 + t3new.aaaaaa += np.transpose(tmp307, (2, 0, 1, 5, 4, 3)) * 2 + t3new.aaaaaa += np.transpose(tmp373, (1, 0, 2, 3, 5, 4)) * 2 + t3new.aaaaaa += np.transpose(tmp371, (2, 1, 0, 4, 5, 3)) * -2 + t3new.aaaaaa += np.transpose(tmp382, (2, 1, 0, 4, 5, 3)) * -2 + t3new.aaaaaa += np.transpose(tmp384, (0, 1, 2, 3, 5, 4)) * -6 + t3new.aaaaaa += np.transpose(tmp307, (2, 1, 0, 4, 5, 3)) * 2 + t3new.aaaaaa += np.transpose(tmp373, (1, 2, 0, 5, 3, 4)) * 2 + t3new.aaaaaa += np.transpose(tmp371, (2, 0, 1, 4, 5, 3)) * 2 + t3new.aaaaaa += np.transpose(tmp382, (2, 0, 1, 4, 5, 3)) * 2 + t3new.aaaaaa += np.transpose(tmp384, (0, 2, 1, 3, 5, 4)) * 6 + t3new.aaaaaa += np.transpose(tmp307, (2, 0, 1, 4, 5, 3)) * -2 + del tmp307 + t3new.aaaaaa += np.transpose(tmp373, (1, 0, 2, 5, 3, 4)) * -2 + del tmp373 + t3new.aaaaaa += np.transpose(tmp330, (2, 1, 0, 5, 4, 3)) * -2 + t3new.aaaaaa += np.transpose(tmp270, (2, 1, 0, 3, 5, 4)) * -2 + t3new.aaaaaa += np.transpose(tmp270, (2, 1, 0, 4, 5, 3)) * 2 + del tmp270 + t3new.aaaaaa += np.transpose(tmp381, (2, 1, 0, 5, 3, 4)) * 2 + del tmp381 + t3new.aaaaaa += np.transpose(tmp352, (1, 0, 2, 3, 5, 4)) * 2 + tmp387 = np.copy(np.transpose(tmp353, (0, 1, 3, 2))) + del tmp353 + tmp385 = np.copy(v.aaaa.ovvv) + tmp385 += np.transpose(v.aaaa.ovvv, (0, 2, 1, 3)) * -1 + tmp386 = einsum(t2.aaaa, (0, 1, 2, 3), tmp385, (1, 4, 3, 5), (0, 4, 5, 2)) + del tmp385 + tmp387 += np.transpose(tmp386, (0, 3, 1, 2)) * -2 + del tmp386 + tmp388 = einsum(t2.aaaa, (0, 1, 2, 3), tmp387, (4, 5, 3, 6), (4, 0, 1, 5, 6, 2)) * -1 + t3new.aaaaaa += np.transpose(tmp388, (2, 1, 0, 3, 4, 5)) * -2 + t3new.aaaaaa += np.transpose(tmp348, (1, 0, 2, 4, 5, 3)) * -2 + t3new.aaaaaa += np.transpose(tmp352, (1, 2, 0, 3, 5, 4)) * -2 + t3new.aaaaaa += np.transpose(tmp388, (2, 0, 1, 3, 4, 5)) * 2 + t3new.aaaaaa += np.transpose(tmp348, (1, 2, 0, 4, 5, 3)) * 2 + t3new.aaaaaa += np.transpose(tmp330, (1, 0, 2, 4, 5, 3)) * 2 + t3new.aaaaaa += np.transpose(tmp330, (1, 2, 0, 4, 5, 3)) * -2 + t3new.aaaaaa += np.transpose(tmp352, (2, 1, 0, 3, 5, 4)) * 2 + t3new.aaaaaa += np.transpose(tmp388, (0, 2, 1, 3, 4, 5)) * -2 + t3new.aaaaaa += np.transpose(tmp348, (2, 1, 0, 4, 5, 3)) * -2 + t3new.aaaaaa += np.transpose(tmp330, (2, 1, 0, 4, 5, 3)) * 2 + t3new.aaaaaa += np.transpose(tmp371, (1, 0, 2, 4, 3, 5)) * 2 + tmp389 = einsum(tmp65, (0, 1, 2, 3), t2.aaaa, (4, 2, 5, 6), (0, 4, 1, 5, 6, 3)) + t3new.aaaaaa += np.transpose(tmp389, (1, 0, 2, 4, 3, 5)) * -2 + t3new.aaaaaa += np.transpose(tmp371, (0, 1, 2, 4, 3, 5)) * -2 + t3new.aaaaaa += np.transpose(tmp389, (0, 1, 2, 4, 3, 5)) * 2 + t3new.aaaaaa += np.transpose(tmp352, (1, 0, 2, 3, 4, 5)) * -2 + t3new.aaaaaa += np.transpose(tmp388, (2, 1, 0, 3, 5, 4)) * 2 + t3new.aaaaaa += np.transpose(tmp330, (1, 0, 2, 3, 4, 5)) * 2 + t3new.aaaaaa += np.transpose(tmp352, (1, 2, 0, 3, 4, 5)) * 2 + t3new.aaaaaa += np.transpose(tmp388, (2, 0, 1, 3, 5, 4)) * -2 + t3new.aaaaaa += np.transpose(tmp330, (1, 2, 0, 3, 4, 5)) * -2 + t3new.aaaaaa += np.transpose(tmp352, (1, 0, 2, 4, 3, 5)) * 2 + t3new.aaaaaa += np.transpose(tmp330, (1, 0, 2, 4, 3, 5)) * -2 + t3new.aaaaaa += np.transpose(tmp352, (1, 2, 0, 4, 3, 5)) * -2 + t3new.aaaaaa += np.transpose(tmp330, (1, 2, 0, 4, 3, 5)) * 2 + t3new.aaaaaa += np.transpose(tmp371, (1, 2, 0, 4, 3, 5)) * -2 + t3new.aaaaaa += np.transpose(tmp389, (1, 2, 0, 4, 3, 5)) * 2 + t3new.aaaaaa += np.transpose(tmp371, (0, 2, 1, 4, 3, 5)) * 2 + t3new.aaaaaa += np.transpose(tmp382, (0, 2, 1, 4, 3, 5)) * 2 + t3new.aaaaaa += np.transpose(tmp383, (2, 0, 1, 3, 4, 5)) * 2 + t3new.aaaaaa += np.transpose(tmp389, (0, 2, 1, 4, 3, 5)) * -2 + t3new.aaaaaa += np.transpose(tmp371, (2, 1, 0, 4, 3, 5)) * 2 + t3new.aaaaaa += np.transpose(tmp382, (2, 1, 0, 4, 3, 5)) * 2 + t3new.aaaaaa += tmp383 * 2 + del tmp383 + t3new.aaaaaa += np.transpose(tmp389, (2, 1, 0, 4, 3, 5)) * -2 + t3new.aaaaaa += np.transpose(tmp371, (2, 0, 1, 4, 3, 5)) * -2 + del tmp371 + t3new.aaaaaa += np.transpose(tmp382, (2, 0, 1, 4, 3, 5)) * -2 + del tmp382 + t3new.aaaaaa += np.transpose(tmp384, (0, 2, 1, 3, 4, 5)) * -6 + del tmp384 + t3new.aaaaaa += np.transpose(tmp389, (2, 0, 1, 4, 3, 5)) * 2 + del tmp389 + t3new.aaaaaa += np.transpose(tmp352, (2, 1, 0, 3, 4, 5)) * -2 + t3new.aaaaaa += np.transpose(tmp388, (0, 2, 1, 3, 5, 4)) * 2 + t3new.aaaaaa += np.transpose(tmp330, (2, 1, 0, 3, 4, 5)) * 2 + t3new.aaaaaa += np.transpose(tmp352, (2, 1, 0, 4, 3, 5)) * 2 + del tmp352 + t3new.aaaaaa += np.transpose(tmp330, (2, 1, 0, 4, 3, 5)) * -2 + del tmp330 + t3new.aaaaaa += np.transpose(tmp301, (2, 1, 0, 3, 4, 5)) * 2 + t3new.aaaaaa += np.transpose(tmp301, (2, 1, 0, 4, 3, 5)) * -2 + tmp390 = einsum(t2.aaaa, (0, 1, 2, 3), tmp87, (4, 5, 6, 3), (5, 4, 0, 1, 6, 2)) + tmp391 = einsum(tmp390, (0, 1, 2, 3, 4, 5), t1.aa, (1, 6), (0, 3, 2, 5, 4, 6)) * -1 + del tmp390 + t3new.aaaaaa += np.transpose(tmp391, (2, 1, 0, 4, 5, 3)) * 2 + tmp392 = np.copy(np.transpose(tmp296, (0, 2, 1, 3))) * -1 + tmp392 += np.transpose(tmp112, (0, 2, 3, 1)) + tmp392 += np.transpose(tmp112, (0, 3, 2, 1)) * -1 + tmp393 = einsum(t2.aaaa, (0, 1, 2, 3), tmp392, (4, 5, 6, 3), (4, 0, 1, 5, 6, 2)) * -2 + del tmp392 + t3new.aaaaaa += np.transpose(tmp393, (2, 1, 0, 4, 3, 5)) * -1 + t3new.aaaaaa += np.transpose(tmp301, (2, 0, 1, 3, 4, 5)) * -2 + t3new.aaaaaa += np.transpose(tmp301, (2, 0, 1, 4, 3, 5)) * 2 + t3new.aaaaaa += np.transpose(tmp391, (2, 0, 1, 4, 5, 3)) * -2 + t3new.aaaaaa += np.transpose(tmp393, (2, 0, 1, 4, 3, 5)) + t3new.aaaaaa += np.transpose(tmp301, (2, 1, 0, 3, 5, 4)) * -2 + t3new.aaaaaa += np.transpose(tmp301, (2, 1, 0, 4, 5, 3)) * 2 + tmp394 = einsum(tmp112, (0, 1, 2, 3), t2.aaaa, (4, 5, 6, 2), (0, 4, 5, 6, 3, 1)) + t3new.aaaaaa += np.transpose(tmp394, (2, 1, 0, 4, 3, 5)) * -2 + t3new.aaaaaa += np.transpose(tmp394, (2, 1, 0, 5, 3, 4)) * 2 + t3new.aaaaaa += np.transpose(tmp391, (2, 1, 0, 4, 3, 5)) * -2 + t3new.aaaaaa += np.transpose(tmp301, (2, 0, 1, 3, 5, 4)) * 2 + t3new.aaaaaa += np.transpose(tmp301, (2, 0, 1, 4, 5, 3)) * -2 + t3new.aaaaaa += np.transpose(tmp394, (2, 0, 1, 4, 3, 5)) * 2 + t3new.aaaaaa += np.transpose(tmp394, (2, 0, 1, 5, 3, 4)) * -2 + t3new.aaaaaa += np.transpose(tmp391, (2, 0, 1, 4, 3, 5)) * 2 + t3new.aaaaaa += np.transpose(tmp301, (0, 2, 1, 3, 4, 5)) * 2 + t3new.aaaaaa += np.transpose(tmp301, (0, 2, 1, 4, 3, 5)) * -2 + t3new.aaaaaa += np.transpose(tmp391, (0, 2, 1, 4, 5, 3)) * 2 + t3new.aaaaaa += np.transpose(tmp393, (0, 2, 1, 4, 3, 5)) * -1 + del tmp393 + t3new.aaaaaa += np.transpose(tmp301, (0, 2, 1, 3, 5, 4)) * -2 + t3new.aaaaaa += np.transpose(tmp301, (0, 2, 1, 4, 5, 3)) * 2 + del tmp301 + t3new.aaaaaa += np.transpose(tmp394, (0, 2, 1, 4, 3, 5)) * -2 + t3new.aaaaaa += np.transpose(tmp394, (0, 2, 1, 5, 3, 4)) * 2 + t3new.aaaaaa += np.transpose(tmp391, (0, 2, 1, 4, 3, 5)) * -2 + t3new.aaaaaa += np.transpose(tmp394, (2, 1, 0, 3, 4, 5)) * 2 + t3new.aaaaaa += np.transpose(tmp394, (2, 1, 0, 3, 5, 4)) * -2 + t3new.aaaaaa += np.transpose(tmp391, (2, 1, 0, 3, 4, 5)) * 2 + t3new.aaaaaa += np.transpose(tmp394, (2, 0, 1, 3, 4, 5)) * -2 + t3new.aaaaaa += np.transpose(tmp394, (2, 0, 1, 3, 5, 4)) * 2 + t3new.aaaaaa += np.transpose(tmp391, (2, 0, 1, 3, 4, 5)) * -2 + t3new.aaaaaa += np.transpose(tmp394, (0, 2, 1, 3, 4, 5)) * 2 + t3new.aaaaaa += np.transpose(tmp394, (0, 2, 1, 3, 5, 4)) * -2 + del tmp394 + t3new.aaaaaa += np.transpose(tmp391, (0, 2, 1, 3, 4, 5)) * 2 + t3new.aaaaaa += np.transpose(tmp298, (1, 0, 2, 4, 5, 3)) * -6 + t3new.aaaaaa += np.transpose(tmp310, (2, 0, 1, 5, 4, 3)) * -2 + t3new.aaaaaa += np.transpose(tmp298, (0, 1, 2, 4, 5, 3)) * 6 + t3new.aaaaaa += np.transpose(tmp310, (0, 2, 1, 5, 4, 3)) * 2 + t3new.aaaaaa += np.transpose(tmp298, (1, 2, 0, 4, 5, 3)) * 6 + del tmp298 + t3new.aaaaaa += einsum(tmp377, (0, 1, 2, 3), t2.aaaa, (4, 2, 5, 6), (4, 1, 0, 5, 6, 3)) + del tmp377 + t3new.aaaaaa += np.transpose(tmp310, (2, 1, 0, 5, 4, 3)) + del tmp310 + t3new.aaaaaa += np.transpose(tmp364, (1, 2, 0, 3, 5, 4)) * -6 + t3new.aaaaaa += np.transpose(tmp364, (1, 2, 0, 3, 4, 5)) * 6 + t3new.aaaaaa += np.transpose(tmp364, (1, 2, 0, 4, 3, 5)) * -6 + del tmp364 + tmp395 = einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), tmp114, (6, 7, 2, 1), (6, 7, 0, 3, 4, 5)) * -1 + t3new.aaaaaa += np.transpose(tmp395, (2, 1, 0, 4, 5, 3)) * -6 + tmp396 = einsum(t2.aaaa, (0, 1, 2, 3), tmp117, (4, 5, 1, 6), (4, 5, 0, 6, 2, 3)) * -1 + t3new.aaaaaa += np.transpose(tmp396, (2, 1, 0, 5, 4, 3)) * -4 + t3new.aaaaaa += np.transpose(tmp395, (1, 2, 0, 4, 5, 3)) * 6 + t3new.aaaaaa += np.transpose(tmp396, (1, 2, 0, 5, 4, 3)) * 4 + t3new.aaaaaa += np.transpose(tmp395, (1, 0, 2, 4, 5, 3)) * -6 + del tmp395 + t3new.aaaaaa += np.transpose(tmp396, (1, 0, 2, 5, 4, 3)) * -4 + del tmp396 + tmp398 = np.copy(tmp53) + tmp397 = einsum(t2.aaaa, (0, 1, 2, 3), tmp319, (1, 4, 3, 5), (4, 0, 5, 2)) * 2 + tmp398 += np.transpose(tmp397, (1, 0, 3, 2)) * -1 + del tmp397 + tmp399 = einsum(tmp398, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 1, 6, 7, 3), (4, 5, 0, 6, 7, 2)) * 3 + del tmp398 + t3new.aaaaaa += tmp399 * 2 + tmp401 = np.copy(tmp157) + tmp400 = einsum(t2.abab, (0, 1, 2, 3), tmp15, (1, 4, 3, 5), (0, 4, 2, 5)) * 0.5 + tmp401 += tmp400 * -1 + del tmp400 + tmp402 = einsum(tmp401, (0, 1, 2, 3), t3.abaaba, (4, 1, 5, 6, 3, 7), (4, 5, 0, 6, 7, 2)) * 2 + t3new.aaaaaa += np.transpose(tmp402, (1, 0, 2, 4, 3, 5)) * 2 + tmp403 = einsum(tmp100, (0, 1, 2, 3), t2.aaaa, (4, 1, 5, 6), (0, 2, 4, 3, 5, 6)) * -1 + t3new.aaaaaa += np.transpose(tmp403, (1, 2, 0, 5, 4, 3)) * 2 + t3new.aaaaaa += np.transpose(tmp399, (0, 2, 1, 3, 4, 5)) * -2 + t3new.aaaaaa += np.transpose(tmp402, (1, 2, 0, 4, 3, 5)) * -2 + t3new.aaaaaa += np.transpose(tmp403, (1, 0, 2, 5, 4, 3)) * -2 + t3new.aaaaaa += np.transpose(tmp399, (2, 0, 1, 3, 4, 5)) * 2 + del tmp399 + t3new.aaaaaa += np.transpose(tmp402, (2, 1, 0, 4, 3, 5)) * 2 + del tmp402 + t3new.aaaaaa += np.transpose(tmp403, (0, 1, 2, 5, 4, 3)) * 2 + t3new.aaaaaa += np.transpose(tmp403, (2, 0, 1, 5, 4, 3)) * 2 + t3new.aaaaaa += np.transpose(tmp403, (0, 2, 1, 5, 4, 3)) * -2 + tmp404 = np.copy(np.transpose(tmp97, (0, 2, 1, 3))) * 0.5 + tmp404 += np.transpose(tmp326, (2, 1, 0, 3)) + t3new.aaaaaa += einsum(tmp404, (0, 1, 2, 3), t2.aaaa, (4, 1, 5, 6), (4, 2, 0, 5, 6, 3)) * -2 + del tmp404 + t3new.aaaaaa += np.transpose(tmp403, (2, 1, 0, 5, 4, 3)) * -1 + del tmp403 + tmp405 = np.copy(np.transpose(tmp116, (1, 0, 2, 3))) + tmp405 += np.transpose(tmp117, (1, 0, 2, 3)) * -1 + tmp406 = einsum(t2.aaaa, (0, 1, 2, 3), tmp405, (4, 5, 1, 6), (4, 5, 0, 6, 2, 3)) * -2 + del tmp405 + t3new.aaaaaa += np.transpose(tmp406, (2, 1, 0, 3, 5, 4)) * -2 + t3new.aaaaaa += np.transpose(tmp406, (1, 2, 0, 3, 5, 4)) * 2 + t3new.aaaaaa += np.transpose(tmp406, (2, 1, 0, 5, 3, 4)) * 2 + t3new.aaaaaa += np.transpose(tmp406, (1, 2, 0, 5, 3, 4)) * -2 + t3new.aaaaaa += np.transpose(tmp406, (1, 0, 2, 3, 5, 4)) * -2 + t3new.aaaaaa += np.transpose(tmp406, (1, 0, 2, 5, 3, 4)) * 2 + del tmp406 + t3new.aaaaaa += np.transpose(tmp388, (0, 2, 1, 4, 5, 3)) * -2 + t3new.aaaaaa += np.transpose(tmp323, (2, 1, 0, 5, 3, 4)) * -1 + t3new.aaaaaa += np.transpose(tmp388, (2, 0, 1, 4, 5, 3)) * 2 + t3new.aaaaaa += np.transpose(tmp348, (1, 2, 0, 5, 3, 4)) * 2 + t3new.aaaaaa += np.transpose(tmp388, (0, 2, 1, 5, 4, 3)) * 2 + t3new.aaaaaa += np.transpose(tmp348, (2, 1, 0, 3, 5, 4)) * 2 + t3new.aaaaaa += np.transpose(tmp388, (2, 0, 1, 5, 4, 3)) * -2 + t3new.aaaaaa += np.transpose(tmp348, (1, 2, 0, 3, 5, 4)) * -2 + t3new.aaaaaa += np.transpose(tmp388, (2, 1, 0, 4, 5, 3)) * -2 + t3new.aaaaaa += np.transpose(tmp323, (1, 0, 2, 5, 3, 4)) * -1 + del tmp323 + t3new.aaaaaa += np.transpose(tmp388, (2, 1, 0, 5, 4, 3)) * 2 + t3new.aaaaaa += np.transpose(tmp348, (1, 0, 2, 3, 5, 4)) * 2 + del tmp348 + tmp407 = einsum(t2.aaaa, (0, 1, 2, 3), tmp116, (4, 5, 1, 6), (4, 5, 0, 2, 3, 6)) + t3new.aaaaaa += np.transpose(tmp407, (2, 1, 0, 4, 3, 5)) * -4 + t3new.aaaaaa += np.transpose(tmp407, (1, 2, 0, 4, 3, 5)) * 4 + t3new.aaaaaa += np.transpose(tmp407, (1, 0, 2, 4, 3, 5)) * -4 + del tmp407 + t3new.aaaaaa += np.transpose(tmp388, (0, 2, 1, 5, 3, 4)) * -2 + t3new.aaaaaa += np.transpose(tmp388, (2, 0, 1, 5, 3, 4)) * 2 + t3new.aaaaaa += np.transpose(tmp388, (2, 1, 0, 5, 3, 4)) * -2 + del tmp388 + tmp409 = np.copy(tmp81) * 0.5 + tmp408 = einsum(t2.aaaa, (0, 1, 2, 3), tmp374, (4, 5, 1, 3), (4, 5, 0, 2)) + tmp409 += np.transpose(tmp408, (0, 2, 1, 3)) + del tmp408 + tmp410 = einsum(t2.aaaa, (0, 1, 2, 3), tmp409, (4, 5, 1, 6), (4, 5, 0, 6, 2, 3)) * -2 + del tmp409 + t3new.aaaaaa += np.transpose(tmp410, (2, 1, 0, 5, 4, 3)) + tmp411 = einsum(t2.aaaa, (0, 1, 2, 3), tmp84, (4, 5, 1, 6), (4, 5, 0, 6, 2, 3)) * -1 + t3new.aaaaaa += np.transpose(tmp411, (2, 1, 0, 5, 4, 3)) + t3new.aaaaaa += np.transpose(tmp411, (1, 2, 0, 5, 4, 3)) * -2 + t3new.aaaaaa += np.transpose(tmp297, (2, 1, 0, 4, 3, 5)) * -2 + tmp412 = einsum(t2.aaaa, (0, 1, 2, 3), tmp80, (4, 5, 6, 3), (5, 4, 0, 1, 6, 2)) + tmp413 = einsum(tmp412, (0, 1, 2, 3, 4, 5), t1.aa, (1, 6), (0, 3, 2, 5, 4, 6)) * -2 + del tmp412 + t3new.aaaaaa += np.transpose(tmp413, (2, 1, 0, 5, 4, 3)) * -1 + t3new.aaaaaa += np.transpose(tmp297, (2, 0, 1, 4, 3, 5)) * 2 + t3new.aaaaaa += np.transpose(tmp391, (2, 0, 1, 5, 4, 3)) * 2 + t3new.aaaaaa += np.transpose(tmp411, (2, 0, 1, 5, 4, 3)) * -2 + t3new.aaaaaa += np.transpose(tmp411, (1, 0, 2, 5, 4, 3)) * 2 + t3new.aaaaaa += np.transpose(tmp410, (0, 2, 1, 5, 4, 3)) + del tmp410 + t3new.aaaaaa += np.transpose(tmp411, (0, 2, 1, 5, 4, 3)) + t3new.aaaaaa += np.transpose(tmp411, (0, 1, 2, 5, 4, 3)) * -2 + del tmp411 + t3new.aaaaaa += np.transpose(tmp297, (0, 2, 1, 4, 3, 5)) * -2 + del tmp297 + t3new.aaaaaa += np.transpose(tmp413, (0, 2, 1, 5, 4, 3)) * -1 + del tmp413 + tmp414 = einsum(tmp110, (0, 1, 2, 3), t2.aaaa, (4, 2, 5, 6), (1, 0, 4, 3, 5, 6)) + t3new.aaaaaa += np.transpose(tmp414, (2, 0, 1, 3, 5, 4)) * 2 + t3new.aaaaaa += np.transpose(tmp414, (2, 1, 0, 3, 5, 4)) * -2 + tmp415 = einsum(t2.aaaa, (0, 1, 2, 3), tmp108, (4, 5, 1, 6), (4, 5, 0, 2, 3, 6)) + t3new.aaaaaa += np.transpose(tmp415, (2, 0, 1, 5, 4, 3)) * 2 + t3new.aaaaaa += np.transpose(tmp415, (2, 1, 0, 5, 4, 3)) * -2 + t3new.aaaaaa += np.transpose(tmp414, (0, 2, 1, 3, 5, 4)) * -2 + t3new.aaaaaa += np.transpose(tmp414, (1, 2, 0, 3, 5, 4)) * 2 + t3new.aaaaaa += np.transpose(tmp415, (0, 2, 1, 5, 4, 3)) * -2 + t3new.aaaaaa += np.transpose(tmp415, (1, 2, 0, 5, 4, 3)) * 2 + t3new.aaaaaa += np.transpose(tmp414, (2, 0, 1, 5, 3, 4)) * -2 + t3new.aaaaaa += np.transpose(tmp414, (2, 1, 0, 5, 3, 4)) * 2 + t3new.aaaaaa += np.transpose(tmp415, (2, 0, 1, 4, 5, 3)) * -2 + t3new.aaaaaa += np.transpose(tmp415, (2, 1, 0, 4, 5, 3)) * 2 + t3new.aaaaaa += np.transpose(tmp414, (0, 2, 1, 5, 3, 4)) * 2 + t3new.aaaaaa += np.transpose(tmp414, (1, 2, 0, 5, 3, 4)) * -2 + t3new.aaaaaa += np.transpose(tmp415, (0, 2, 1, 4, 5, 3)) * 2 + t3new.aaaaaa += np.transpose(tmp415, (1, 2, 0, 4, 5, 3)) * -2 + t3new.aaaaaa += np.transpose(tmp414, (0, 1, 2, 3, 5, 4)) * 2 + t3new.aaaaaa += np.transpose(tmp414, (1, 0, 2, 3, 5, 4)) * -2 + t3new.aaaaaa += np.transpose(tmp415, (0, 1, 2, 5, 4, 3)) * 2 + t3new.aaaaaa += np.transpose(tmp415, (1, 0, 2, 5, 4, 3)) * -2 + t3new.aaaaaa += np.transpose(tmp414, (0, 1, 2, 5, 3, 4)) * -2 + t3new.aaaaaa += np.transpose(tmp414, (1, 0, 2, 5, 3, 4)) * 2 + t3new.aaaaaa += np.transpose(tmp415, (0, 1, 2, 4, 5, 3)) * -2 + t3new.aaaaaa += np.transpose(tmp415, (1, 0, 2, 4, 5, 3)) * 2 + t3new.aaaaaa += np.transpose(tmp415, (2, 0, 1, 4, 3, 5)) * 2 + t3new.aaaaaa += np.transpose(tmp415, (2, 1, 0, 4, 3, 5)) * -2 + t3new.aaaaaa += np.transpose(tmp415, (0, 2, 1, 4, 3, 5)) * -2 + t3new.aaaaaa += np.transpose(tmp415, (1, 2, 0, 4, 3, 5)) * 2 + t3new.aaaaaa += np.transpose(tmp391, (2, 1, 0, 5, 3, 4)) * 2 + t3new.aaaaaa += np.transpose(tmp391, (2, 0, 1, 5, 3, 4)) * -2 + t3new.aaaaaa += np.transpose(tmp391, (2, 1, 0, 3, 5, 4)) * -2 + t3new.aaaaaa += np.transpose(tmp391, (2, 0, 1, 3, 5, 4)) * 2 + t3new.aaaaaa += np.transpose(tmp415, (0, 1, 2, 4, 3, 5)) * 2 + t3new.aaaaaa += np.transpose(tmp415, (1, 0, 2, 4, 3, 5)) * -2 + del tmp415 + t3new.aaaaaa += np.transpose(tmp391, (0, 2, 1, 5, 3, 4)) * 2 + t3new.aaaaaa += np.transpose(tmp391, (0, 2, 1, 3, 5, 4)) * -2 + del tmp391 + tmp416 = einsum(tmp106, (0, 1, 2, 3), t3.aaaaaa, (4, 2, 3, 5, 6, 7), (0, 1, 4, 5, 6, 7)) + t3new.aaaaaa += np.transpose(tmp416, (2, 1, 0, 4, 5, 3)) * -6 + t3new.aaaaaa += np.transpose(tmp414, (2, 0, 1, 5, 4, 3)) * 2 + t3new.aaaaaa += np.transpose(tmp414, (2, 1, 0, 5, 4, 3)) * -2 + t3new.aaaaaa += np.transpose(tmp416, (1, 2, 0, 4, 5, 3)) * 6 + t3new.aaaaaa += np.transpose(tmp414, (0, 2, 1, 5, 4, 3)) * -2 + t3new.aaaaaa += np.transpose(tmp414, (1, 2, 0, 5, 4, 3)) * 2 + t3new.aaaaaa += np.transpose(tmp416, (1, 0, 2, 4, 5, 3)) * -6 + del tmp416 + t3new.aaaaaa += np.transpose(tmp414, (0, 1, 2, 5, 4, 3)) * 2 + t3new.aaaaaa += np.transpose(tmp414, (1, 0, 2, 5, 4, 3)) * -2 + del tmp414 + tmp929 = einsum(v.bbbb.oooo, (0, 1, 2, 3), t3.bbbbbb, (4, 3, 1, 5, 6, 7), (4, 0, 2, 5, 6, 7)) * -1 + t3new.bbbbbb = np.copy(np.transpose(tmp929, (2, 0, 1, 4, 5, 3))) * 6 + tmp930 = einsum(t2.bbbb, (0, 1, 2, 3), tmp188, (4, 1, 5, 6), (0, 5, 4, 6, 2, 3)) + t3new.bbbbbb += np.transpose(tmp930, (1, 0, 2, 5, 4, 3)) * -2 + tmp881 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ooov, (4, 1, 0, 5), (4, 2, 3, 5)) * -1 + tmp931 = einsum(tmp881, (0, 1, 2, 3), t2.bbbb, (4, 5, 6, 3), (4, 5, 0, 1, 2, 6)) + t3new.bbbbbb += np.transpose(tmp931, (1, 0, 2, 5, 4, 3)) * -4 + tmp932 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ooov, (4, 5, 6, 3), (0, 1, 4, 5, 6, 2)) + tmp933 = einsum(tmp932, (0, 1, 2, 3, 4, 5), t1.bb, (4, 6), (0, 1, 2, 3, 6, 5)) + del tmp932 + tmp934 = einsum(t1.bb, (0, 1), tmp933, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) + del tmp933 + t3new.bbbbbb += np.transpose(tmp934, (1, 0, 2, 5, 3, 4)) * 2 + t3new.bbbbbb += np.transpose(tmp934, (1, 0, 2, 5, 4, 3)) * -2 + tmp935 = einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), tmp35, (2, 6), (0, 1, 6, 3, 4, 5)) * -1 + t3new.bbbbbb += np.transpose(tmp935, (1, 0, 2, 4, 5, 3)) * -3 + tmp936 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), v.aabb.ovoo, (1, 4, 6, 7), (0, 2, 6, 7, 3, 5)) + tmp938 = np.copy(np.transpose(tmp936, (1, 0, 3, 2, 5, 4))) * 0.3333333333333333 + tmp473 = np.copy(v.bbbb.ooov) * -1 + tmp473 += np.transpose(v.bbbb.ovoo, (0, 2, 3, 1)) + tmp937 = einsum(tmp473, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 0, 6, 7, 3), (4, 5, 1, 2, 6, 7)) + tmp938 += np.transpose(tmp937, (0, 1, 3, 2, 4, 5)) + del tmp937 + tmp939 = einsum(t1.bb, (0, 1), tmp938, (2, 3, 0, 4, 5, 6), (2, 3, 4, 5, 6, 1)) * 3 + del tmp938 + t3new.bbbbbb += np.transpose(tmp939, (1, 0, 2, 4, 3, 5)) * -2 + del tmp939 + tmp940 = einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), tmp193, (2, 6), (0, 1, 6, 3, 4, 5)) * -1 + t3new.bbbbbb += np.transpose(tmp940, (1, 0, 2, 4, 5, 3)) * -3 + t3new.bbbbbb += np.transpose(tmp931, (1, 0, 2, 4, 5, 3)) * 4 + t3new.bbbbbb += np.transpose(tmp929, (2, 1, 0, 4, 5, 3)) * -6 + t3new.bbbbbb += np.transpose(tmp930, (1, 2, 0, 5, 4, 3)) * 2 + t3new.bbbbbb += np.transpose(tmp931, (1, 2, 0, 5, 4, 3)) * 4 + t3new.bbbbbb += np.transpose(tmp934, (1, 2, 0, 5, 3, 4)) * -2 + t3new.bbbbbb += np.transpose(tmp934, (1, 2, 0, 5, 4, 3)) * 2 + t3new.bbbbbb += np.transpose(tmp940, (1, 2, 0, 4, 5, 3)) * 6 + tmp942 = np.copy(np.transpose(tmp936, (1, 0, 3, 2, 5, 4))) + tmp941 = einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), tmp164, (2, 6, 7, 5), (0, 1, 6, 7, 3, 4)) + tmp942 += np.transpose(tmp941, (0, 1, 3, 2, 4, 5)) * 3 + del tmp941 + tmp943 = einsum(tmp942, (0, 1, 2, 3, 4, 5), t1.bb, (2, 6), (0, 1, 3, 4, 5, 6)) + del tmp942 + t3new.bbbbbb += np.transpose(tmp943, (1, 2, 0, 4, 3, 5)) * 2 + t3new.bbbbbb += np.transpose(tmp931, (1, 2, 0, 4, 5, 3)) * -4 + tmp944 = einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), v.bbbb.ovov, (6, 4, 7, 5), (0, 1, 2, 6, 7, 3)) + tmp945 = einsum(tmp944, (0, 1, 2, 3, 4, 5), t2.bbbb, (4, 3, 6, 7), (0, 1, 2, 6, 7, 5)) * -1 + t3new.bbbbbb += np.transpose(tmp945, (1, 2, 0, 5, 4, 3)) * -6 + t3new.bbbbbb += np.transpose(tmp930, (2, 1, 0, 5, 4, 3)) * -2 + t3new.bbbbbb += np.transpose(tmp931, (2, 1, 0, 5, 4, 3)) * -4 + t3new.bbbbbb += np.transpose(tmp934, (2, 1, 0, 5, 3, 4)) * 2 + t3new.bbbbbb += np.transpose(tmp934, (2, 1, 0, 5, 4, 3)) * -2 + tmp949 = np.copy(np.transpose(tmp936, (3, 1, 2, 0, 5, 4))) * -0.3333333333333333 + tmp946 = einsum(tmp944, (0, 1, 2, 3, 4, 5), t1.bb, (4, 6), (0, 1, 2, 3, 6, 5)) + del tmp944 + tmp949 += np.transpose(tmp946, (3, 1, 2, 0, 4, 5)) * -2 + tmp947 = einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), tmp33, (6, 7, 2, 5), (0, 1, 6, 7, 3, 4)) + del tmp33 + tmp949 += np.transpose(tmp947, (3, 0, 2, 1, 4, 5)) + tmp948 = einsum(tmp17, (0, 1), t3.bbbbbb, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) + tmp949 += np.transpose(tmp948, (0, 2, 3, 1, 4, 5)) + t3new.bbbbbb += einsum(t1.bb, (0, 1), tmp949, (0, 2, 3, 4, 5, 6), (3, 4, 2, 6, 5, 1)) * 3 + del tmp949 + tmp950 = einsum(tmp125, (0, 1), t3.bbbbbb, (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 6, 0)) * 3 + t3new.bbbbbb += np.transpose(tmp950, (1, 2, 0, 3, 4, 5)) * -2 + del tmp950 + t3new.bbbbbb += np.transpose(tmp935, (2, 1, 0, 4, 5, 3)) * -3 + del tmp935 + t3new.bbbbbb += np.transpose(tmp940, (2, 1, 0, 4, 5, 3)) * -3 + del tmp940 + t3new.bbbbbb += np.transpose(tmp931, (2, 1, 0, 4, 5, 3)) * 4 + del tmp931 + tmp951 = np.copy(np.transpose(tmp936, (3, 1, 2, 0, 5, 4))) * -0.3333333333333333 + tmp951 += np.transpose(tmp947, (3, 0, 2, 1, 4, 5)) + del tmp947 + tmp951 += np.transpose(tmp948, (0, 2, 3, 1, 4, 5)) + t3new.bbbbbb += einsum(tmp951, (0, 1, 2, 3, 4, 5), t1.bb, (0, 6), (2, 3, 1, 5, 4, 6)) * 3 + del tmp951 + tmp952 = einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), v.bbbb.ovov, (6, 7, 2, 5), (0, 1, 6, 3, 4, 7)) + t3new.bbbbbb += np.transpose(tmp952, (2, 1, 0, 5, 4, 3)) * 6 + tmp953 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), v.aabb.ovov, (1, 4, 6, 7), (0, 2, 6, 3, 5, 7)) + t3new.bbbbbb += np.transpose(tmp953, (2, 1, 0, 5, 4, 3)) * 2 + tmp445 = np.copy(f.bb.vv) * -1 + tmp445 += np.transpose(tmp24, (1, 0)) * -1 + del tmp24 + tmp445 += np.transpose(tmp123, (1, 0)) + del tmp123 + tmp445 += np.transpose(tmp124, (1, 0)) * 2 + del tmp124 + tmp444 = einsum(tmp203, (0, 1, 2, 3), t1.bb, (0, 2), (1, 3)) + del tmp203 + tmp445 += tmp444 * -1 + del tmp444 + tmp954 = einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), tmp445, (5, 6), (0, 1, 2, 3, 4, 6)) * 3 + t3new.bbbbbb += np.transpose(tmp954, (1, 2, 0, 5, 3, 4)) * -2 + tmp955 = einsum(t1.bb, (0, 1), tmp948, (0, 2, 3, 4, 5, 6), (3, 4, 2, 5, 6, 1)) * 3 + del tmp948 + t3new.bbbbbb += np.transpose(tmp955, (1, 2, 0, 5, 4, 3)) * 2 + t3new.bbbbbb += np.transpose(tmp952, (2, 1, 0, 4, 5, 3)) * -6 + t3new.bbbbbb += np.transpose(tmp953, (2, 1, 0, 4, 5, 3)) * -2 + t3new.bbbbbb += np.transpose(tmp954, (1, 2, 0, 3, 5, 4)) * 2 + del tmp954 + t3new.bbbbbb += np.transpose(tmp955, (1, 2, 0, 4, 5, 3)) * -2 + del tmp955 + t3new.bbbbbb += np.transpose(tmp952, (2, 1, 0, 4, 3, 5)) * 6 + t3new.bbbbbb += np.transpose(tmp953, (2, 1, 0, 4, 3, 5)) * 2 + tmp956 = einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), tmp27, (5, 6), (0, 1, 2, 6, 3, 4)) + t3new.bbbbbb += np.transpose(tmp956, (1, 2, 0, 4, 5, 3)) * 6 + del tmp956 + tmp957 = einsum(tmp217, (0, 1, 2, 3), t3.bbbbbb, (4, 2, 3, 5, 6, 7), (0, 4, 1, 5, 6, 7)) + t3new.bbbbbb += np.transpose(tmp957, (2, 1, 0, 4, 5, 3)) * -6 + tmp911 = einsum(tmp23, (0, 1, 2, 3), t2.bbbb, (1, 2, 4, 5), (0, 4, 5, 3)) + tmp958 = einsum(tmp911, (0, 1, 2, 3), t2.bbbb, (4, 5, 6, 3), (0, 4, 5, 1, 2, 6)) * -1 + t3new.bbbbbb += np.transpose(tmp958, (2, 1, 0, 5, 4, 3)) * -4 + tmp959 = einsum(t2.bbbb, (0, 1, 2, 3), tmp23, (4, 5, 6, 3), (4, 0, 1, 6, 5, 2)) + tmp960 = einsum(t1.bb, (0, 1), tmp959, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) + del tmp959 + tmp961 = einsum(tmp960, (0, 1, 2, 3, 4, 5), t1.bb, (3, 6), (0, 1, 2, 6, 4, 5)) + del tmp960 + t3new.bbbbbb += np.transpose(tmp961, (2, 1, 0, 5, 3, 4)) * 2 + t3new.bbbbbb += np.transpose(tmp961, (2, 1, 0, 5, 4, 3)) * -2 + tmp962 = einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), tmp223, (6, 2), (0, 1, 6, 3, 4, 5)) * -2 + del tmp223 + t3new.bbbbbb += np.transpose(tmp962, (1, 0, 2, 4, 5, 3)) * -6 + del tmp962 + tmp963 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), tmp22, (1, 6, 7, 4), (6, 0, 2, 7, 3, 5)) + tmp966 = np.copy(np.transpose(tmp963, (0, 2, 1, 3, 5, 4))) + del tmp963 + tmp964 = np.copy(tmp23) * -1 + tmp964 += np.transpose(tmp23, (0, 2, 1, 3)) + tmp965 = einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), tmp964, (6, 7, 2, 5), (0, 1, 6, 7, 3, 4)) + tmp966 += np.transpose(tmp965, (2, 0, 1, 3, 4, 5)) * 3 + del tmp965 + tmp967 = einsum(t1.bb, (0, 1), tmp966, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 6, 1)) + del tmp966 + t3new.bbbbbb += np.transpose(tmp967, (2, 1, 0, 4, 3, 5)) * -2 + tmp722 = np.copy(np.transpose(tmp217, (0, 2, 1, 3))) + tmp722 += np.transpose(tmp217, (0, 2, 3, 1)) * -1 + tmp723 = einsum(tmp722, (0, 1, 2, 3), t1.bb, (3, 4), (0, 1, 2, 4)) + del tmp722 + tmp968 = einsum(t2.bbbb, (0, 1, 2, 3), tmp723, (4, 5, 1, 6), (0, 4, 5, 2, 3, 6)) * -1 + t3new.bbbbbb += np.transpose(tmp968, (2, 0, 1, 4, 3, 5)) * -2 + t3new.bbbbbb += np.transpose(tmp958, (2, 1, 0, 4, 5, 3)) * 4 + t3new.bbbbbb += np.transpose(tmp957, (2, 0, 1, 4, 5, 3)) * 6 + t3new.bbbbbb += np.transpose(tmp958, (2, 0, 1, 5, 4, 3)) * 4 + t3new.bbbbbb += np.transpose(tmp961, (2, 0, 1, 5, 3, 4)) * -2 + t3new.bbbbbb += np.transpose(tmp961, (2, 0, 1, 5, 4, 3)) * 2 + tmp969 = np.copy(np.transpose(tmp28, (1, 0))) * 0.5 + tmp969 += np.transpose(tmp29, (1, 0)) + tmp969 += tmp222 + del tmp222 + tmp970 = einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), tmp969, (2, 6), (0, 1, 6, 3, 4, 5)) * -2 + del tmp969 + t3new.bbbbbb += np.transpose(tmp970, (1, 2, 0, 4, 5, 3)) * 6 + t3new.bbbbbb += np.transpose(tmp967, (2, 0, 1, 4, 3, 5)) * 2 + t3new.bbbbbb += np.transpose(tmp968, (2, 1, 0, 4, 3, 5)) * 2 + t3new.bbbbbb += np.transpose(tmp958, (2, 0, 1, 4, 5, 3)) * -4 + t3new.bbbbbb += np.transpose(tmp957, (0, 2, 1, 4, 5, 3)) * -6 + t3new.bbbbbb += np.transpose(tmp958, (0, 2, 1, 5, 4, 3)) * -4 + t3new.bbbbbb += np.transpose(tmp961, (0, 2, 1, 5, 3, 4)) * 2 + t3new.bbbbbb += np.transpose(tmp961, (0, 2, 1, 5, 4, 3)) * -2 + t3new.bbbbbb += np.transpose(tmp970, (2, 1, 0, 4, 5, 3)) * -6 + del tmp970 + t3new.bbbbbb += np.transpose(tmp967, (0, 2, 1, 4, 3, 5)) * -2 + t3new.bbbbbb += np.transpose(tmp968, (1, 2, 0, 4, 3, 5)) * -2 + t3new.bbbbbb += np.transpose(tmp958, (0, 2, 1, 4, 5, 3)) * 4 + tmp972 = np.copy(np.transpose(tmp188, (1, 0, 2, 3))) * -0.5 + tmp972 += np.transpose(tmp243, (2, 1, 0, 3)) * 0.5 + tmp972 += np.transpose(tmp206, (2, 1, 0, 3)) + tmp972 += np.transpose(tmp207, (2, 1, 0, 3)) * 3 + tmp971 = einsum(tmp473, (0, 1, 2, 3), t2.bbbb, (4, 0, 5, 3), (4, 1, 2, 5)) + tmp972 += np.transpose(tmp971, (2, 1, 0, 3)) + del tmp971 + tmp972 += np.transpose(tmp212, (0, 2, 1, 3)) * -1 + tmp973 = einsum(t2.bbbb, (0, 1, 2, 3), tmp972, (1, 4, 5, 6), (0, 4, 5, 2, 3, 6)) * -2 + del tmp972 + t3new.bbbbbb += np.transpose(tmp973, (0, 1, 2, 5, 4, 3)) * -2 + tmp743 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), v.aabb.ovov, (1, 4, 2, 6), (0, 3, 5, 6)) + tmp753 = np.copy(np.transpose(tmp743, (0, 2, 1, 3))) * -1 + tmp744 = einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), v.bbbb.ovov, (1, 5, 2, 6), (0, 3, 4, 6)) * -1 + tmp753 += np.transpose(tmp744, (0, 2, 1, 3)) * -3 + tmp974 = einsum(tmp753, (0, 1, 2, 3), t2.bbbb, (4, 5, 6, 3), (4, 5, 0, 6, 1, 2)) * -2 + t3new.bbbbbb += np.transpose(tmp974, (2, 1, 0, 3, 5, 4)) * -2 + tmp772 = np.copy(tmp200) + tmp771 = einsum(tmp15, (0, 1, 2, 3), t2.bbbb, (4, 0, 5, 2), (1, 4, 3, 5)) * 2 + tmp772 += np.transpose(tmp771, (1, 0, 3, 2)) * -1 + del tmp771 + tmp975 = einsum(t2.bbbb, (0, 1, 2, 3), tmp772, (4, 5, 6, 3), (0, 1, 4, 5, 2, 6)) * -0.5 + tmp976 = einsum(t1.bb, (0, 1), tmp975, (2, 3, 4, 0, 5, 6), (3, 2, 4, 5, 6, 1)) * 4 + del tmp975 + t3new.bbbbbb += np.transpose(tmp976, (2, 1, 0, 3, 4, 5)) * -1 + t3new.bbbbbb += np.transpose(tmp973, (1, 0, 2, 5, 4, 3)) * 2 + t3new.bbbbbb += np.transpose(tmp974, (1, 2, 0, 3, 5, 4)) * 2 + t3new.bbbbbb += np.transpose(tmp976, (1, 2, 0, 3, 4, 5)) + tmp978 = np.copy(np.transpose(tmp188, (2, 1, 0, 3))) * -0.5 + tmp978 += np.transpose(tmp243, (0, 2, 1, 3)) * 0.5 + tmp977 = einsum(tmp248, (0, 1, 2, 3), t2.bbbb, (4, 2, 5, 3), (4, 0, 1, 5)) + tmp978 += np.transpose(tmp977, (0, 2, 1, 3)) + tmp978 += np.transpose(tmp212, (2, 0, 1, 3)) + tmp979 = einsum(t2.bbbb, (0, 1, 2, 3), tmp978, (4, 1, 5, 6), (0, 4, 5, 2, 3, 6)) * -2 + del tmp978 + t3new.bbbbbb += np.transpose(tmp979, (0, 2, 1, 4, 5, 3)) + t3new.bbbbbb += np.transpose(tmp974, (2, 1, 0, 5, 3, 4)) * 2 + tmp981 = np.copy(np.transpose(tmp188, (2, 1, 0, 3))) * -1 + tmp981 += np.transpose(tmp243, (0, 2, 1, 3)) + tmp981 += np.transpose(tmp245, (0, 2, 1, 3)) * 2 + tmp980 = einsum(tmp17, (0, 1), t2.bbbb, (2, 3, 4, 1), (0, 2, 3, 4)) * -2 + tmp981 += np.transpose(tmp980, (2, 0, 1, 3)) + del tmp980 + tmp982 = einsum(t2.bbbb, (0, 1, 2, 3), tmp981, (4, 1, 5, 6), (0, 4, 5, 2, 3, 6)) * -1 + del tmp981 + t3new.bbbbbb += np.transpose(tmp982, (0, 2, 1, 4, 5, 3)) + t3new.bbbbbb += np.transpose(tmp979, (2, 0, 1, 4, 5, 3)) * -1 + t3new.bbbbbb += np.transpose(tmp974, (1, 2, 0, 5, 3, 4)) * -2 + t3new.bbbbbb += np.transpose(tmp982, (2, 0, 1, 4, 5, 3)) * -1 + t3new.bbbbbb += np.transpose(tmp973, (1, 2, 0, 5, 4, 3)) * -2 + del tmp973 + t3new.bbbbbb += np.transpose(tmp974, (1, 0, 2, 3, 5, 4)) * -2 + t3new.bbbbbb += np.transpose(tmp976, (1, 0, 2, 3, 4, 5)) * -1 + t3new.bbbbbb += np.transpose(tmp979, (2, 1, 0, 4, 5, 3)) + del tmp979 + t3new.bbbbbb += np.transpose(tmp974, (1, 0, 2, 5, 3, 4)) * 2 + del tmp974 + t3new.bbbbbb += np.transpose(tmp982, (2, 1, 0, 4, 5, 3)) + del tmp982 + tmp983 = einsum(v.bbbb.oovv, (0, 1, 2, 3), t2.bbbb, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) + tmp984 = einsum(t1.bb, (0, 1), tmp983, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) + del tmp983 + t3new.bbbbbb += np.transpose(tmp984, (2, 1, 0, 5, 3, 4)) * 2 + t3new.bbbbbb += np.transpose(tmp934, (2, 1, 0, 3, 4, 5)) * 2 + t3new.bbbbbb += np.transpose(tmp934, (2, 1, 0, 4, 3, 5)) * -2 + tmp985 = np.copy(np.transpose(tmp881, (0, 2, 1, 3))) + tmp985 += np.transpose(tmp743, (0, 2, 1, 3)) * -1 + tmp985 += np.transpose(tmp744, (0, 2, 1, 3)) * -3 + tmp986 = einsum(tmp985, (0, 1, 2, 3), t2.bbbb, (4, 5, 6, 3), (4, 5, 0, 6, 1, 2)) * -2 + del tmp985 + t3new.bbbbbb += np.transpose(tmp986, (2, 1, 0, 5, 4, 3)) * -2 + tmp987 = np.copy(np.transpose(tmp206, (1, 0, 2, 3))) * -1 + tmp987 += np.transpose(tmp207, (1, 0, 2, 3)) * -3 + tmp987 += np.transpose(tmp212, (2, 1, 0, 3)) + del tmp212 + tmp988 = einsum(t2.bbbb, (0, 1, 2, 3), tmp987, (4, 5, 1, 6), (0, 4, 5, 2, 3, 6)) * -2 + del tmp987 + t3new.bbbbbb += np.transpose(tmp988, (0, 2, 1, 4, 3, 5)) * -2 + t3new.bbbbbb += np.transpose(tmp984, (2, 1, 0, 3, 5, 4)) * -2 + t3new.bbbbbb += np.transpose(tmp984, (1, 2, 0, 5, 3, 4)) * -2 + t3new.bbbbbb += np.transpose(tmp934, (1, 2, 0, 3, 4, 5)) * -2 + t3new.bbbbbb += np.transpose(tmp934, (1, 2, 0, 4, 3, 5)) * 2 + t3new.bbbbbb += np.transpose(tmp986, (1, 2, 0, 5, 4, 3)) * 2 + t3new.bbbbbb += np.transpose(tmp988, (2, 0, 1, 4, 3, 5)) * 2 + t3new.bbbbbb += np.transpose(tmp984, (1, 2, 0, 3, 5, 4)) * 2 + t3new.bbbbbb += np.transpose(tmp984, (1, 0, 2, 5, 3, 4)) * 2 + t3new.bbbbbb += np.transpose(tmp934, (1, 0, 2, 3, 4, 5)) * 2 + t3new.bbbbbb += np.transpose(tmp934, (1, 0, 2, 4, 3, 5)) * -2 + t3new.bbbbbb += np.transpose(tmp986, (1, 0, 2, 5, 4, 3)) * -2 + del tmp986 + t3new.bbbbbb += np.transpose(tmp988, (2, 1, 0, 4, 3, 5)) * -2 + del tmp988 + t3new.bbbbbb += np.transpose(tmp984, (1, 0, 2, 3, 5, 4)) * -2 + tmp989 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ooov, (4, 1, 5, 6), (0, 4, 5, 2, 3, 6)) + t3new.bbbbbb += np.transpose(tmp989, (0, 1, 2, 5, 4, 3)) * 2 + t3new.bbbbbb += np.transpose(tmp989, (0, 2, 1, 5, 4, 3)) * -2 + t3new.bbbbbb += np.transpose(tmp989, (1, 0, 2, 5, 4, 3)) * -2 + t3new.bbbbbb += np.transpose(tmp989, (2, 0, 1, 5, 4, 3)) * 2 + tmp990 = np.copy(v.bbbb.oovv) * -0.49999999999999506 + tmp990 += tmp200 * 0.5000000000000001 + tmp766 = einsum(tmp15, (0, 1, 2, 3), t2.bbbb, (4, 0, 5, 2), (1, 4, 3, 5)) + tmp990 += np.transpose(tmp766, (1, 0, 3, 2)) * -1 + tmp991 = einsum(tmp990, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 1, 6, 7, 3), (4, 5, 0, 6, 7, 2)) * 6 + del tmp990 + t3new.bbbbbb += np.transpose(tmp991, (0, 1, 2, 5, 3, 4)) * 2 + tmp769 = np.copy(tmp126) * 2 + tmp550 = einsum(tmp319, (0, 1, 2, 3), t2.abab, (0, 4, 3, 5), (1, 4, 2, 5)) + tmp769 += tmp550 + tmp992 = einsum(tmp769, (0, 1, 2, 3), t3.babbab, (4, 0, 5, 6, 2, 7), (4, 5, 1, 6, 7, 3)) + t3new.bbbbbb += np.transpose(tmp992, (1, 0, 2, 5, 4, 3)) * 2 + t3new.bbbbbb += np.transpose(tmp976, (1, 0, 2, 4, 3, 5)) + tmp994 = np.copy(np.transpose(tmp936, (1, 0, 3, 2, 5, 4))) + del tmp936 + tmp993 = einsum(tmp473, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 0, 6, 7, 3), (4, 5, 1, 2, 6, 7)) * 3 + tmp994 += np.transpose(tmp993, (0, 1, 3, 2, 4, 5)) + del tmp993 + tmp995 = einsum(tmp994, (0, 1, 2, 3, 4, 5), t1.bb, (2, 6), (0, 1, 3, 4, 5, 6)) + del tmp994 + t3new.bbbbbb += np.transpose(tmp995, (1, 0, 2, 5, 4, 3)) * -2 + t3new.bbbbbb += np.transpose(tmp989, (0, 1, 2, 4, 5, 3)) * -2 + t3new.bbbbbb += np.transpose(tmp989, (0, 2, 1, 4, 5, 3)) * 2 + t3new.bbbbbb += np.transpose(tmp989, (1, 0, 2, 4, 5, 3)) * 2 + t3new.bbbbbb += np.transpose(tmp989, (2, 0, 1, 4, 5, 3)) * -2 + t3new.bbbbbb += np.transpose(tmp991, (0, 1, 2, 3, 5, 4)) * -2 + del tmp991 + t3new.bbbbbb += np.transpose(tmp992, (1, 0, 2, 4, 5, 3)) * -2 + t3new.bbbbbb += np.transpose(tmp943, (1, 0, 2, 4, 5, 3)) * 2 + t3new.bbbbbb += np.transpose(tmp989, (1, 2, 0, 5, 4, 3)) * 2 + tmp996 = np.copy(v.bbbb.oovv) * -0.49999999999999506 + tmp996 += np.transpose(tmp200, (1, 0, 3, 2)) * 0.5000000000000001 + tmp546 = np.copy(np.transpose(v.bbbb.ovov, (0, 2, 3, 1))) * -1 + tmp546 += np.transpose(v.bbbb.ovov, (0, 2, 1, 3)) + tmp547 = einsum(tmp546, (0, 1, 2, 3), t2.bbbb, (4, 0, 5, 2), (4, 1, 5, 3)) + del tmp546 + tmp996 += np.transpose(tmp547, (1, 0, 3, 2)) + tmp997 = einsum(tmp996, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 0, 6, 7, 2), (4, 5, 1, 6, 7, 3)) * 6 + del tmp996 + t3new.bbbbbb += np.transpose(tmp997, (2, 0, 1, 5, 3, 4)) * 2 + t3new.bbbbbb += np.transpose(tmp992, (2, 1, 0, 5, 4, 3)) * 2 + t3new.bbbbbb += np.transpose(tmp976, (2, 1, 0, 4, 3, 5)) + del tmp976 + t3new.bbbbbb += np.transpose(tmp995, (2, 1, 0, 5, 4, 3)) * -2 + del tmp995 + t3new.bbbbbb += np.transpose(tmp989, (2, 1, 0, 5, 4, 3)) * -2 + t3new.bbbbbb += np.transpose(tmp997, (0, 2, 1, 5, 3, 4)) * -2 + t3new.bbbbbb += np.transpose(tmp992, (1, 2, 0, 5, 4, 3)) * -2 + tmp999 = np.copy(tmp200) + tmp998 = einsum(tmp49, (0, 1, 2, 3), t2.bbbb, (4, 0, 5, 2), (4, 1, 5, 3)) + del tmp49 + tmp999 += tmp998 * -2 + del tmp998 + tmp1000 = einsum(t2.bbbb, (0, 1, 2, 3), tmp999, (4, 5, 6, 3), (0, 1, 4, 5, 2, 6)) * -1 + del tmp999 + tmp1001 = einsum(tmp1000, (0, 1, 2, 3, 4, 5), t1.bb, (3, 6), (1, 0, 2, 4, 5, 6)) + del tmp1000 + t3new.bbbbbb += np.transpose(tmp1001, (1, 2, 0, 4, 3, 5)) * -2 + t3new.bbbbbb += np.transpose(tmp943, (1, 2, 0, 5, 4, 3)) * 2 + t3new.bbbbbb += np.transpose(tmp989, (1, 2, 0, 4, 5, 3)) * -2 + t3new.bbbbbb += np.transpose(tmp997, (2, 0, 1, 3, 5, 4)) * -2 + t3new.bbbbbb += np.transpose(tmp992, (2, 1, 0, 4, 5, 3)) * -2 + t3new.bbbbbb += np.transpose(tmp943, (2, 1, 0, 4, 5, 3)) * 2 + t3new.bbbbbb += np.transpose(tmp989, (2, 1, 0, 4, 5, 3)) * 2 + t3new.bbbbbb += np.transpose(tmp997, (0, 2, 1, 3, 5, 4)) * 2 + del tmp997 + t3new.bbbbbb += np.transpose(tmp992, (1, 2, 0, 4, 5, 3)) * 2 + del tmp992 + t3new.bbbbbb += np.transpose(tmp943, (1, 2, 0, 4, 5, 3)) * -2 + del tmp943 + t3new.bbbbbb += np.transpose(tmp989, (0, 1, 2, 4, 3, 5)) * 2 + t3new.bbbbbb += np.transpose(tmp989, (0, 2, 1, 4, 3, 5)) * -2 + t3new.bbbbbb += np.transpose(tmp989, (1, 0, 2, 4, 3, 5)) * -2 + tmp1002 = einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), v.bbbb.oovv, (6, 2, 7, 5), (0, 1, 6, 3, 4, 7)) + t3new.bbbbbb += np.transpose(tmp1002, (1, 0, 2, 4, 3, 5)) * -6 + t3new.bbbbbb += np.transpose(tmp989, (2, 0, 1, 4, 3, 5)) * 2 + t3new.bbbbbb += np.transpose(tmp1002, (2, 1, 0, 4, 3, 5)) * -6 + t3new.bbbbbb += np.transpose(tmp989, (1, 2, 0, 4, 3, 5)) * 2 + t3new.bbbbbb += np.transpose(tmp1002, (1, 2, 0, 4, 3, 5)) * 6 + del tmp1002 + t3new.bbbbbb += np.transpose(tmp989, (2, 1, 0, 4, 3, 5)) * -2 + del tmp989 + tmp1003 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovvv, (4, 5, 6, 3), (0, 1, 4, 2, 5, 6)) + t3new.bbbbbb += np.transpose(tmp1003, (1, 0, 2, 5, 4, 3)) * -2 + tmp1004 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (4, 5, 6, 3), (4, 5, 0, 2, 6, 1)) + tmp1005 = einsum(tmp1004, (0, 1, 2, 3, 4, 5), t1.bb, (3, 6), (0, 1, 2, 6, 4, 5)) + del tmp1004 + t3new.bbbbbb += np.transpose(tmp1005, (1, 0, 2, 5, 3, 4)) * -2 + tmp1007 = np.copy(np.transpose(v.bbbb.ovvv, (0, 2, 3, 1))) + tmp856 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovvv, (0, 2, 4, 5), (1, 3, 4, 5)) + tmp1007 += np.transpose(tmp856, (0, 1, 3, 2)) * -1 + tmp1006 = einsum(t2.bbbb, (0, 1, 2, 3), tmp175, (1, 4, 3, 5), (0, 2, 4, 5)) + del tmp175 + tmp1007 += tmp1006 * -2 + del tmp1006 + tmp1008 = einsum(tmp1007, (0, 1, 2, 3), t2.bbbb, (4, 5, 6, 2), (4, 5, 0, 6, 1, 3)) * -1 + del tmp1007 + t3new.bbbbbb += np.transpose(tmp1008, (1, 0, 2, 5, 4, 3)) * -2 + tmp1009 = einsum(t2.bbbb, (0, 1, 2, 3), tmp772, (4, 5, 6, 3), (0, 1, 4, 5, 2, 6)) * -1 + tmp1010 = einsum(t1.bb, (0, 1), tmp1009, (2, 3, 4, 0, 5, 6), (3, 2, 4, 5, 6, 1)) * 2 + del tmp1009 + t3new.bbbbbb += np.transpose(tmp1010, (1, 0, 2, 5, 4, 3)) + t3new.bbbbbb += np.transpose(tmp1003, (1, 2, 0, 5, 4, 3)) * 2 + t3new.bbbbbb += np.transpose(tmp1005, (1, 2, 0, 5, 3, 4)) * 2 + t3new.bbbbbb += np.transpose(tmp1008, (1, 2, 0, 5, 4, 3)) * 2 + t3new.bbbbbb += np.transpose(tmp1001, (1, 2, 0, 5, 4, 3)) * -2 + t3new.bbbbbb += np.transpose(tmp1003, (1, 0, 2, 5, 3, 4)) * 2 + t3new.bbbbbb += np.transpose(tmp1005, (1, 0, 2, 5, 4, 3)) * 2 + t3new.bbbbbb += np.transpose(tmp1003, (1, 0, 2, 4, 3, 5)) * -2 + t3new.bbbbbb += np.transpose(tmp1003, (1, 2, 0, 5, 3, 4)) * -2 + t3new.bbbbbb += np.transpose(tmp1005, (1, 2, 0, 5, 4, 3)) * -2 + t3new.bbbbbb += np.transpose(tmp1003, (1, 2, 0, 4, 3, 5)) * 2 + tmp1011 = einsum(v.bbbb.vvvv, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 6, 7, 1, 3), (4, 5, 6, 7, 0, 2)) + t3new.bbbbbb += np.transpose(tmp1011, (1, 2, 0, 5, 4, 3)) * -6 + t3new.bbbbbb += np.transpose(tmp1003, (2, 1, 0, 5, 4, 3)) * -2 + t3new.bbbbbb += np.transpose(tmp945, (1, 2, 0, 4, 3, 5)) * -6 + tmp1012 = einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), v.bbbb.ovvv, (6, 5, 7, 4), (0, 1, 2, 6, 3, 7)) * -1 + tmp1013 = np.copy(np.transpose(tmp1012, (1, 2, 0, 3, 4, 5))) + tmp1013 += np.transpose(tmp946, (1, 2, 0, 3, 5, 4)) * -1 + del tmp946 + tmp1014 = einsum(t1.bb, (0, 1), tmp1013, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 6, 1)) * 6 + del tmp1013 + t3new.bbbbbb += np.transpose(tmp1014, (1, 2, 0, 4, 5, 3)) + t3new.bbbbbb += np.transpose(tmp1005, (2, 1, 0, 5, 3, 4)) * -2 + t3new.bbbbbb += np.transpose(tmp1008, (2, 1, 0, 5, 4, 3)) * -2 + del tmp1008 + t3new.bbbbbb += np.transpose(tmp1010, (2, 1, 0, 5, 4, 3)) + t3new.bbbbbb += np.transpose(tmp1011, (1, 2, 0, 5, 3, 4)) * 6 + t3new.bbbbbb += np.transpose(tmp1003, (2, 1, 0, 5, 3, 4)) * 2 + t3new.bbbbbb += np.transpose(tmp945, (1, 2, 0, 4, 5, 3)) * 6 + del tmp945 + t3new.bbbbbb += np.transpose(tmp1014, (1, 2, 0, 4, 3, 5)) * -1 + del tmp1014 + t3new.bbbbbb += np.transpose(tmp1005, (2, 1, 0, 5, 4, 3)) * 2 + t3new.bbbbbb += np.transpose(tmp1003, (2, 1, 0, 4, 3, 5)) * -2 + t3new.bbbbbb += np.transpose(tmp1003, (1, 0, 2, 3, 5, 4)) * -2 + t3new.bbbbbb += np.transpose(tmp1005, (1, 0, 2, 4, 5, 3)) * -2 + t3new.bbbbbb += np.transpose(tmp1003, (1, 0, 2, 3, 4, 5)) * 2 + t3new.bbbbbb += np.transpose(tmp1003, (1, 2, 0, 3, 5, 4)) * 2 + t3new.bbbbbb += np.transpose(tmp1005, (1, 2, 0, 4, 5, 3)) * 2 + t3new.bbbbbb += np.transpose(tmp1003, (1, 2, 0, 3, 4, 5)) * -2 + t3new.bbbbbb += np.transpose(tmp1011, (1, 2, 0, 3, 5, 4)) * -6 + del tmp1011 + t3new.bbbbbb += np.transpose(tmp1003, (2, 1, 0, 3, 5, 4)) * -2 + tmp1015 = einsum(t1.bb, (0, 1), tmp1012, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) + del tmp1012 + t3new.bbbbbb += np.transpose(tmp1015, (1, 2, 0, 4, 5, 3)) * 6 + t3new.bbbbbb += np.transpose(tmp1005, (2, 1, 0, 4, 5, 3)) * -2 + t3new.bbbbbb += np.transpose(tmp1003, (2, 1, 0, 3, 4, 5)) * 2 + del tmp1003 + t3new.bbbbbb += np.transpose(tmp929, (0, 2, 1, 4, 5, 3)) * -6 + del tmp929 + t3new.bbbbbb += np.transpose(tmp930, (0, 2, 1, 5, 4, 3)) * -2 + t3new.bbbbbb += np.transpose(tmp930, (0, 1, 2, 5, 4, 3)) * 2 + t3new.bbbbbb += np.transpose(tmp930, (2, 0, 1, 5, 4, 3)) * 2 + del tmp930 + t3new.bbbbbb += np.transpose(tmp952, (1, 0, 2, 5, 4, 3)) * 6 + t3new.bbbbbb += np.transpose(tmp953, (1, 0, 2, 5, 4, 3)) * 2 + t3new.bbbbbb += np.transpose(tmp952, (1, 2, 0, 5, 4, 3)) * -6 + t3new.bbbbbb += np.transpose(tmp953, (1, 2, 0, 5, 4, 3)) * -2 + t3new.bbbbbb += np.transpose(tmp952, (1, 0, 2, 4, 5, 3)) * -6 + t3new.bbbbbb += np.transpose(tmp953, (1, 0, 2, 4, 5, 3)) * -2 + t3new.bbbbbb += np.transpose(tmp952, (1, 2, 0, 4, 5, 3)) * 6 + t3new.bbbbbb += np.transpose(tmp953, (1, 2, 0, 4, 5, 3)) * 2 + t3new.bbbbbb += np.transpose(tmp952, (1, 0, 2, 4, 3, 5)) * 6 + t3new.bbbbbb += np.transpose(tmp953, (1, 0, 2, 4, 3, 5)) * 2 + t3new.bbbbbb += np.transpose(tmp952, (1, 2, 0, 4, 3, 5)) * -6 + del tmp952 + t3new.bbbbbb += np.transpose(tmp953, (1, 2, 0, 4, 3, 5)) * -2 + del tmp953 + tmp821 = np.copy(np.transpose(tmp188, (1, 0, 2, 3))) + tmp821 += np.transpose(tmp243, (2, 1, 0, 3)) * -1 + tmp819 = np.copy(v.bbbb.ooov) + tmp819 += np.transpose(v.bbbb.ovoo, (0, 2, 3, 1)) * -1 + tmp820 = einsum(tmp819, (0, 1, 2, 3), t2.bbbb, (4, 0, 5, 3), (4, 1, 2, 5)) + del tmp819 + tmp821 += np.transpose(tmp820, (2, 1, 0, 3)) * 2 + del tmp820 + tmp1016 = einsum(tmp821, (0, 1, 2, 3), t2.bbbb, (4, 0, 5, 6), (4, 1, 2, 5, 6, 3)) * -1 + t3new.bbbbbb += np.transpose(tmp1016, (0, 2, 1, 5, 4, 3)) * -2 + t3new.bbbbbb += np.transpose(tmp1016, (2, 0, 1, 5, 4, 3)) * 2 + tmp1017 = np.copy(np.transpose(tmp188, (2, 1, 0, 3))) * -1 + tmp1017 += np.transpose(tmp243, (0, 2, 1, 3)) + tmp1017 += np.transpose(tmp245, (0, 2, 1, 3)) * 2 + del tmp245 + tmp1018 = einsum(t2.bbbb, (0, 1, 2, 3), tmp1017, (4, 1, 5, 6), (0, 4, 5, 2, 3, 6)) * -1 + del tmp1017 + t3new.bbbbbb += np.transpose(tmp1018, (0, 1, 2, 4, 5, 3)) * -2 + t3new.bbbbbb += np.transpose(tmp1018, (1, 0, 2, 4, 5, 3)) * 2 + t3new.bbbbbb += np.transpose(tmp1016, (2, 1, 0, 5, 4, 3)) * -2 + del tmp1016 + t3new.bbbbbb += np.transpose(tmp1018, (1, 2, 0, 4, 5, 3)) * -2 + del tmp1018 + tmp1019 = einsum(t2.bbbb, (0, 1, 2, 3), tmp23, (4, 5, 1, 6), (4, 0, 5, 2, 3, 6)) + t3new.bbbbbb += np.transpose(tmp1019, (1, 0, 2, 5, 4, 3)) * 2 + tmp1021 = np.copy(np.transpose(tmp214, (0, 2, 1, 3))) * -1 + tmp1021 += np.transpose(tmp229, (0, 2, 1, 3)) + tmp1020 = einsum(t2.bbbb, (0, 1, 2, 3), tmp964, (4, 5, 1, 3), (0, 4, 5, 2)) + del tmp964 + tmp1021 += np.transpose(tmp1020, (1, 2, 0, 3)) * 2 + del tmp1020 + tmp1021 += np.transpose(tmp723, (0, 2, 1, 3)) + tmp1022 = einsum(t2.bbbb, (0, 1, 2, 3), tmp1021, (4, 1, 5, 6), (0, 4, 5, 2, 3, 6)) * -1 + del tmp1021 + t3new.bbbbbb += np.transpose(tmp1022, (0, 1, 2, 5, 4, 3)) * -2 + t3new.bbbbbb += np.transpose(tmp1019, (0, 1, 2, 5, 4, 3)) * -2 + tmp1027 = np.copy(np.transpose(tmp214, (0, 2, 1, 3))) * -1 + tmp1027 += np.transpose(tmp229, (0, 2, 1, 3)) + tmp1023 = np.copy(tmp23) * -1 + tmp1023 += np.transpose(tmp23, (0, 2, 1, 3)) + tmp1024 = einsum(tmp1023, (0, 1, 2, 3), t2.bbbb, (4, 2, 5, 3), (4, 0, 1, 5)) * 2 + del tmp1023 + tmp1027 += np.transpose(tmp1024, (1, 2, 0, 3)) + del tmp1024 + tmp1025 = np.copy(np.transpose(tmp217, (0, 2, 1, 3))) + tmp1025 += np.transpose(tmp217, (0, 2, 3, 1)) * -1 + tmp1026 = einsum(t1.bb, (0, 1), tmp1025, (2, 3, 4, 0), (2, 3, 4, 1)) + del tmp1025 + tmp1027 += np.transpose(tmp1026, (0, 2, 1, 3)) + tmp1028 = einsum(t2.bbbb, (0, 1, 2, 3), tmp1027, (4, 1, 5, 6), (0, 4, 5, 2, 3, 6)) * -1 + del tmp1027 + t3new.bbbbbb += np.transpose(tmp1028, (1, 0, 2, 5, 4, 3)) + t3new.bbbbbb += np.transpose(tmp1022, (1, 0, 2, 5, 4, 3)) + t3new.bbbbbb += np.transpose(tmp1019, (1, 0, 2, 4, 5, 3)) * -2 + t3new.bbbbbb += np.transpose(tmp1022, (0, 1, 2, 4, 5, 3)) * 2 + t3new.bbbbbb += np.transpose(tmp1019, (0, 1, 2, 4, 5, 3)) * 2 + t3new.bbbbbb += np.transpose(tmp1022, (1, 0, 2, 4, 5, 3)) * -2 + t3new.bbbbbb += np.transpose(tmp984, (1, 0, 2, 5, 4, 3)) * -2 + t3new.bbbbbb += np.transpose(tmp934, (1, 0, 2, 3, 5, 4)) * -2 + t3new.bbbbbb += np.transpose(tmp934, (1, 0, 2, 4, 5, 3)) * 2 + tmp1029 = np.copy(np.transpose(tmp206, (1, 0, 2, 3))) * -0.3333333333333333 + tmp1029 += np.transpose(tmp207, (1, 0, 2, 3)) * -1 + tmp1030 = einsum(t2.bbbb, (0, 1, 2, 3), tmp1029, (4, 5, 1, 6), (0, 4, 5, 2, 3, 6)) * -6 + del tmp1029 + t3new.bbbbbb += np.transpose(tmp1030, (2, 1, 0, 4, 5, 3)) * 2 + t3new.bbbbbb += np.transpose(tmp984, (1, 2, 0, 5, 4, 3)) * 2 + t3new.bbbbbb += np.transpose(tmp934, (1, 2, 0, 3, 5, 4)) * 2 + t3new.bbbbbb += np.transpose(tmp934, (1, 2, 0, 4, 5, 3)) * -2 + t3new.bbbbbb += np.transpose(tmp1030, (2, 0, 1, 4, 5, 3)) * -2 + t3new.bbbbbb += np.transpose(tmp1019, (1, 2, 0, 5, 4, 3)) * -2 + t3new.bbbbbb += np.transpose(tmp1028, (0, 2, 1, 5, 4, 3)) + del tmp1028 + t3new.bbbbbb += np.transpose(tmp1022, (0, 2, 1, 5, 4, 3)) + t3new.bbbbbb += np.transpose(tmp1019, (0, 2, 1, 5, 4, 3)) * 2 + tmp1031 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), tmp143, (1, 6, 4, 7), (6, 0, 2, 3, 5, 7)) + t3new.bbbbbb += np.transpose(tmp1031, (0, 2, 1, 5, 4, 3)) * 2 + tmp1032 = einsum(tmp228, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 0, 6, 7, 2), (4, 5, 1, 6, 7, 3)) * -3 + t3new.bbbbbb += np.transpose(tmp1032, (2, 0, 1, 5, 3, 4)) * 2 + t3new.bbbbbb += np.transpose(tmp967, (0, 2, 1, 5, 4, 3)) * -2 + t3new.bbbbbb += np.transpose(tmp1022, (1, 2, 0, 5, 4, 3)) * -2 + t3new.bbbbbb += np.transpose(tmp1019, (1, 2, 0, 4, 5, 3)) * 2 + t3new.bbbbbb += np.transpose(tmp1022, (0, 2, 1, 4, 5, 3)) * -2 + t3new.bbbbbb += np.transpose(tmp1019, (0, 2, 1, 4, 5, 3)) * -2 + t3new.bbbbbb += np.transpose(tmp1031, (0, 2, 1, 4, 5, 3)) * -2 + tmp1033 = einsum(tmp176, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 0, 6, 7, 2), (4, 5, 1, 6, 7, 3)) * -1 + t3new.bbbbbb += np.transpose(tmp1033, (2, 0, 1, 3, 5, 4)) * -6 + t3new.bbbbbb += np.transpose(tmp967, (0, 2, 1, 4, 5, 3)) * 2 + t3new.bbbbbb += np.transpose(tmp1022, (1, 2, 0, 4, 5, 3)) * 2 + t3new.bbbbbb += np.transpose(tmp1019, (2, 1, 0, 5, 4, 3)) * 2 + t3new.bbbbbb += np.transpose(tmp1031, (2, 1, 0, 5, 4, 3)) * 2 + t3new.bbbbbb += np.transpose(tmp1032, (0, 1, 2, 5, 3, 4)) * 2 + t3new.bbbbbb += np.transpose(tmp967, (2, 1, 0, 5, 4, 3)) * -2 + t3new.bbbbbb += np.transpose(tmp1022, (2, 0, 1, 5, 4, 3)) * -2 + t3new.bbbbbb += np.transpose(tmp1019, (2, 0, 1, 5, 4, 3)) * -2 + t3new.bbbbbb += np.transpose(tmp1031, (2, 0, 1, 5, 4, 3)) * -2 + t3new.bbbbbb += np.transpose(tmp1033, (0, 2, 1, 5, 3, 4)) * -6 + t3new.bbbbbb += np.transpose(tmp967, (2, 0, 1, 5, 4, 3)) * 2 + t3new.bbbbbb += np.transpose(tmp1022, (2, 1, 0, 5, 4, 3)) * 2 + t3new.bbbbbb += np.transpose(tmp1019, (2, 1, 0, 4, 5, 3)) * -2 + t3new.bbbbbb += np.transpose(tmp1031, (2, 1, 0, 4, 5, 3)) * -2 + t3new.bbbbbb += np.transpose(tmp1033, (0, 1, 2, 3, 5, 4)) * -6 + t3new.bbbbbb += np.transpose(tmp967, (2, 1, 0, 4, 5, 3)) * 2 + t3new.bbbbbb += np.transpose(tmp1022, (2, 0, 1, 4, 5, 3)) * 2 + t3new.bbbbbb += np.transpose(tmp1019, (2, 0, 1, 4, 5, 3)) * 2 + t3new.bbbbbb += np.transpose(tmp1031, (2, 0, 1, 4, 5, 3)) * 2 + t3new.bbbbbb += np.transpose(tmp1033, (0, 2, 1, 3, 5, 4)) * 6 + t3new.bbbbbb += np.transpose(tmp967, (2, 0, 1, 4, 5, 3)) * -2 + del tmp967 + t3new.bbbbbb += np.transpose(tmp1022, (2, 1, 0, 4, 5, 3)) * -2 + del tmp1022 + t3new.bbbbbb += np.transpose(tmp984, (2, 1, 0, 5, 4, 3)) * -2 + t3new.bbbbbb += np.transpose(tmp934, (2, 1, 0, 3, 5, 4)) * -2 + t3new.bbbbbb += np.transpose(tmp934, (2, 1, 0, 4, 5, 3)) * 2 + del tmp934 + t3new.bbbbbb += np.transpose(tmp1030, (0, 2, 1, 4, 5, 3)) * 2 + del tmp1030 + t3new.bbbbbb += np.transpose(tmp1005, (1, 0, 2, 3, 5, 4)) * 2 + tmp858 = np.copy(np.transpose(tmp856, (0, 1, 3, 2))) + del tmp856 + tmp857 = einsum(t2.bbbb, (0, 1, 2, 3), tmp25, (1, 4, 3, 5), (0, 2, 4, 5)) + tmp858 += tmp857 * -2 + del tmp857 + tmp1034 = einsum(tmp858, (0, 1, 2, 3), t2.bbbb, (4, 5, 6, 2), (4, 5, 0, 6, 1, 3)) * -1 + t3new.bbbbbb += np.transpose(tmp1034, (1, 0, 2, 4, 5, 3)) * -2 + t3new.bbbbbb += np.transpose(tmp1001, (1, 0, 2, 4, 5, 3)) * -2 + t3new.bbbbbb += np.transpose(tmp1005, (1, 2, 0, 3, 5, 4)) * -2 + t3new.bbbbbb += np.transpose(tmp1034, (1, 2, 0, 4, 5, 3)) * 2 + t3new.bbbbbb += np.transpose(tmp1001, (1, 2, 0, 4, 5, 3)) * 2 + t3new.bbbbbb += np.transpose(tmp984, (1, 0, 2, 4, 5, 3)) * 2 + t3new.bbbbbb += np.transpose(tmp984, (1, 2, 0, 4, 5, 3)) * -2 + t3new.bbbbbb += np.transpose(tmp1005, (2, 1, 0, 3, 5, 4)) * 2 + t3new.bbbbbb += np.transpose(tmp1034, (2, 1, 0, 4, 5, 3)) * -2 + t3new.bbbbbb += np.transpose(tmp1001, (2, 1, 0, 4, 5, 3)) * -2 + t3new.bbbbbb += np.transpose(tmp984, (2, 1, 0, 4, 5, 3)) * 2 + t3new.bbbbbb += np.transpose(tmp1019, (1, 0, 2, 4, 3, 5)) * 2 + tmp1035 = einsum(t2.bbbb, (0, 1, 2, 3), tmp214, (4, 5, 1, 6), (4, 0, 5, 2, 3, 6)) + t3new.bbbbbb += np.transpose(tmp1035, (1, 0, 2, 4, 3, 5)) * -2 + t3new.bbbbbb += np.transpose(tmp1019, (0, 1, 2, 4, 3, 5)) * -2 + t3new.bbbbbb += np.transpose(tmp1035, (0, 1, 2, 4, 3, 5)) * 2 + t3new.bbbbbb += np.transpose(tmp1005, (1, 0, 2, 3, 4, 5)) * -2 + t3new.bbbbbb += np.transpose(tmp1034, (1, 0, 2, 4, 3, 5)) * 2 + t3new.bbbbbb += np.transpose(tmp984, (1, 0, 2, 3, 4, 5)) * 2 + t3new.bbbbbb += np.transpose(tmp1005, (1, 2, 0, 3, 4, 5)) * 2 + t3new.bbbbbb += np.transpose(tmp1034, (1, 2, 0, 4, 3, 5)) * -2 + t3new.bbbbbb += np.transpose(tmp984, (1, 2, 0, 3, 4, 5)) * -2 + t3new.bbbbbb += np.transpose(tmp1005, (1, 0, 2, 4, 3, 5)) * 2 + t3new.bbbbbb += np.transpose(tmp984, (1, 0, 2, 4, 3, 5)) * -2 + t3new.bbbbbb += np.transpose(tmp1005, (1, 2, 0, 4, 3, 5)) * -2 + t3new.bbbbbb += np.transpose(tmp984, (1, 2, 0, 4, 3, 5)) * 2 + t3new.bbbbbb += np.transpose(tmp1019, (1, 2, 0, 4, 3, 5)) * -2 + t3new.bbbbbb += np.transpose(tmp1035, (1, 2, 0, 4, 3, 5)) * 2 + t3new.bbbbbb += np.transpose(tmp1031, (0, 2, 1, 4, 3, 5)) * 2 + t3new.bbbbbb += np.transpose(tmp1019, (0, 2, 1, 4, 3, 5)) * 2 + t3new.bbbbbb += np.transpose(tmp1032, (2, 0, 1, 3, 4, 5)) * 2 + t3new.bbbbbb += np.transpose(tmp1035, (0, 2, 1, 4, 3, 5)) * -2 + t3new.bbbbbb += np.transpose(tmp1031, (2, 1, 0, 4, 3, 5)) * 2 + t3new.bbbbbb += np.transpose(tmp1019, (2, 1, 0, 4, 3, 5)) * 2 + t3new.bbbbbb += tmp1032 * 2 + del tmp1032 + t3new.bbbbbb += np.transpose(tmp1035, (2, 1, 0, 4, 3, 5)) * -2 + t3new.bbbbbb += np.transpose(tmp1019, (2, 0, 1, 4, 3, 5)) * -2 + del tmp1019 + t3new.bbbbbb += np.transpose(tmp1031, (2, 0, 1, 4, 3, 5)) * -2 + del tmp1031 + t3new.bbbbbb += np.transpose(tmp1033, (0, 2, 1, 3, 4, 5)) * -6 + del tmp1033 + t3new.bbbbbb += np.transpose(tmp1035, (2, 0, 1, 4, 3, 5)) * 2 + del tmp1035 + t3new.bbbbbb += np.transpose(tmp1005, (2, 1, 0, 3, 4, 5)) * -2 + t3new.bbbbbb += np.transpose(tmp1034, (2, 1, 0, 4, 3, 5)) * 2 + t3new.bbbbbb += np.transpose(tmp984, (2, 1, 0, 3, 4, 5)) * 2 + t3new.bbbbbb += np.transpose(tmp1005, (2, 1, 0, 4, 3, 5)) * 2 + del tmp1005 + t3new.bbbbbb += np.transpose(tmp984, (2, 1, 0, 4, 3, 5)) * -2 + del tmp984 + t3new.bbbbbb += np.transpose(tmp961, (2, 1, 0, 3, 4, 5)) * 2 + t3new.bbbbbb += np.transpose(tmp961, (2, 1, 0, 4, 3, 5)) * -2 + tmp1036 = einsum(t2.bbbb, (0, 1, 2, 3), tmp176, (4, 5, 3, 6), (0, 1, 5, 4, 2, 6)) + tmp1037 = einsum(tmp1036, (0, 1, 2, 3, 4, 5), t1.bb, (3, 6), (2, 1, 0, 4, 5, 6)) * -1 + del tmp1036 + t3new.bbbbbb += np.transpose(tmp1037, (2, 1, 0, 4, 5, 3)) * 2 + tmp1038 = np.copy(np.transpose(tmp911, (0, 2, 1, 3))) * -1 + tmp1038 += np.transpose(tmp255, (0, 2, 3, 1)) + tmp1038 += np.transpose(tmp255, (0, 3, 2, 1)) * -1 + tmp1039 = einsum(tmp1038, (0, 1, 2, 3), t2.bbbb, (4, 5, 6, 3), (4, 5, 0, 6, 1, 2)) * -2 + del tmp1038 + t3new.bbbbbb += np.transpose(tmp1039, (1, 0, 2, 5, 4, 3)) * -1 + t3new.bbbbbb += np.transpose(tmp961, (2, 0, 1, 3, 4, 5)) * -2 + t3new.bbbbbb += np.transpose(tmp961, (2, 0, 1, 4, 3, 5)) * 2 + t3new.bbbbbb += np.transpose(tmp1037, (2, 0, 1, 4, 5, 3)) * -2 + t3new.bbbbbb += np.transpose(tmp1039, (1, 2, 0, 5, 4, 3)) + tmp1040 = einsum(tmp255, (0, 1, 2, 3), t2.bbbb, (4, 5, 6, 2), (0, 4, 5, 6, 3, 1)) + t3new.bbbbbb += np.transpose(tmp1040, (2, 1, 0, 4, 3, 5)) * -2 + t3new.bbbbbb += np.transpose(tmp1040, (2, 1, 0, 5, 3, 4)) * 2 + t3new.bbbbbb += np.transpose(tmp961, (2, 1, 0, 3, 5, 4)) * -2 + t3new.bbbbbb += np.transpose(tmp961, (2, 1, 0, 4, 5, 3)) * 2 + t3new.bbbbbb += np.transpose(tmp1037, (2, 1, 0, 4, 3, 5)) * -2 + t3new.bbbbbb += np.transpose(tmp1040, (2, 0, 1, 4, 3, 5)) * 2 + t3new.bbbbbb += np.transpose(tmp1040, (2, 0, 1, 5, 3, 4)) * -2 + t3new.bbbbbb += np.transpose(tmp961, (2, 0, 1, 3, 5, 4)) * 2 + t3new.bbbbbb += np.transpose(tmp961, (2, 0, 1, 4, 5, 3)) * -2 + t3new.bbbbbb += np.transpose(tmp1037, (2, 0, 1, 4, 3, 5)) * 2 + t3new.bbbbbb += np.transpose(tmp961, (0, 2, 1, 3, 4, 5)) * 2 + t3new.bbbbbb += np.transpose(tmp961, (0, 2, 1, 4, 3, 5)) * -2 + t3new.bbbbbb += np.transpose(tmp1037, (0, 2, 1, 4, 5, 3)) * 2 + t3new.bbbbbb += np.transpose(tmp1039, (2, 1, 0, 5, 4, 3)) * -1 + del tmp1039 + t3new.bbbbbb += np.transpose(tmp1040, (0, 2, 1, 4, 3, 5)) * -2 + t3new.bbbbbb += np.transpose(tmp1040, (0, 2, 1, 5, 3, 4)) * 2 + t3new.bbbbbb += np.transpose(tmp961, (0, 2, 1, 3, 5, 4)) * -2 + t3new.bbbbbb += np.transpose(tmp961, (0, 2, 1, 4, 5, 3)) * 2 + del tmp961 + t3new.bbbbbb += np.transpose(tmp1037, (0, 2, 1, 4, 3, 5)) * -2 + t3new.bbbbbb += np.transpose(tmp1040, (2, 1, 0, 3, 4, 5)) * 2 + t3new.bbbbbb += np.transpose(tmp1040, (2, 1, 0, 3, 5, 4)) * -2 + t3new.bbbbbb += np.transpose(tmp1037, (2, 1, 0, 3, 4, 5)) * 2 + t3new.bbbbbb += np.transpose(tmp1040, (2, 0, 1, 3, 4, 5)) * -2 + t3new.bbbbbb += np.transpose(tmp1040, (2, 0, 1, 3, 5, 4)) * 2 + t3new.bbbbbb += np.transpose(tmp1037, (2, 0, 1, 3, 4, 5)) * -2 + t3new.bbbbbb += np.transpose(tmp1040, (0, 2, 1, 3, 4, 5)) * 2 + t3new.bbbbbb += np.transpose(tmp1040, (0, 2, 1, 3, 5, 4)) * -2 + del tmp1040 + t3new.bbbbbb += np.transpose(tmp1037, (0, 2, 1, 3, 4, 5)) * 2 + t3new.bbbbbb += np.transpose(tmp957, (1, 0, 2, 4, 5, 3)) * -6 + t3new.bbbbbb += np.transpose(tmp968, (0, 1, 2, 4, 3, 5)) * -2 + t3new.bbbbbb += np.transpose(tmp957, (0, 1, 2, 4, 5, 3)) * 6 + t3new.bbbbbb += np.transpose(tmp968, (1, 0, 2, 4, 3, 5)) * 2 + t3new.bbbbbb += np.transpose(tmp957, (1, 2, 0, 4, 5, 3)) * 6 + del tmp957 + t3new.bbbbbb += einsum(t2.bbbb, (0, 1, 2, 3), tmp1026, (4, 5, 1, 6), (0, 5, 4, 2, 3, 6)) + del tmp1026 + t3new.bbbbbb += np.transpose(tmp968, (0, 2, 1, 4, 3, 5)) + del tmp968 + t3new.bbbbbb += np.transpose(tmp1015, (1, 2, 0, 3, 5, 4)) * -6 + t3new.bbbbbb += np.transpose(tmp1015, (1, 2, 0, 3, 4, 5)) * 6 + t3new.bbbbbb += np.transpose(tmp1015, (1, 2, 0, 4, 3, 5)) * -6 + del tmp1015 + tmp1041 = einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), tmp259, (6, 7, 2, 1), (6, 7, 0, 3, 4, 5)) * -1 + t3new.bbbbbb += np.transpose(tmp1041, (2, 1, 0, 4, 5, 3)) * -6 + tmp1042 = einsum(t2.bbbb, (0, 1, 2, 3), tmp262, (4, 5, 1, 6), (4, 5, 0, 6, 2, 3)) * -1 + t3new.bbbbbb += np.transpose(tmp1042, (2, 1, 0, 5, 4, 3)) * -4 + t3new.bbbbbb += np.transpose(tmp1041, (1, 2, 0, 4, 5, 3)) * 6 + t3new.bbbbbb += np.transpose(tmp1042, (1, 2, 0, 5, 4, 3)) * 4 + t3new.bbbbbb += np.transpose(tmp1041, (1, 0, 2, 4, 5, 3)) * -6 + del tmp1041 + t3new.bbbbbb += np.transpose(tmp1042, (1, 0, 2, 5, 4, 3)) * -4 + del tmp1042 + tmp1044 = np.copy(tmp200) + tmp1043 = einsum(tmp15, (0, 1, 2, 3), t2.bbbb, (4, 0, 5, 2), (1, 4, 3, 5)) * 2 + del tmp15 + tmp1044 += np.transpose(tmp1043, (1, 0, 3, 2)) * -1 + del tmp1043 + tmp1045 = einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), tmp1044, (6, 2, 7, 5), (0, 1, 6, 3, 4, 7)) * 3 + del tmp1044 + t3new.bbbbbb += tmp1045 * 2 + tmp1047 = np.copy(tmp126) + tmp1046 = einsum(tmp319, (0, 1, 2, 3), t2.abab, (0, 4, 3, 5), (1, 4, 2, 5)) * 0.5 + tmp1047 += tmp1046 + del tmp1046 + tmp1048 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), tmp1047, (1, 6, 4, 7), (0, 2, 6, 3, 5, 7)) * 2 + del tmp1047 + t3new.bbbbbb += np.transpose(tmp1048, (1, 0, 2, 4, 3, 5)) * 2 + tmp1049 = einsum(t2.bbbb, (0, 1, 2, 3), tmp246, (4, 1, 5, 6), (0, 4, 5, 2, 3, 6)) * -1 + t3new.bbbbbb += np.transpose(tmp1049, (2, 0, 1, 4, 3, 5)) * 2 + t3new.bbbbbb += np.transpose(tmp1045, (0, 2, 1, 3, 4, 5)) * -2 + t3new.bbbbbb += np.transpose(tmp1048, (1, 2, 0, 4, 3, 5)) * -2 + t3new.bbbbbb += np.transpose(tmp1049, (2, 1, 0, 4, 3, 5)) * -2 + t3new.bbbbbb += np.transpose(tmp1045, (2, 0, 1, 3, 4, 5)) * 2 + del tmp1045 + t3new.bbbbbb += np.transpose(tmp1048, (2, 1, 0, 4, 3, 5)) * 2 + del tmp1048 + t3new.bbbbbb += np.transpose(tmp1049, (1, 2, 0, 4, 3, 5)) * 2 + t3new.bbbbbb += np.transpose(tmp1049, (0, 1, 2, 4, 3, 5)) * 2 + t3new.bbbbbb += np.transpose(tmp1049, (1, 0, 2, 4, 3, 5)) * -2 + tmp1050 = np.copy(np.transpose(tmp243, (0, 2, 1, 3))) * 0.5 + tmp1050 += np.transpose(tmp977, (0, 2, 1, 3)) + del tmp977 + t3new.bbbbbb += einsum(t2.bbbb, (0, 1, 2, 3), tmp1050, (4, 1, 5, 6), (0, 5, 4, 2, 3, 6)) * -2 + del tmp1050 + t3new.bbbbbb += np.transpose(tmp1049, (0, 2, 1, 4, 3, 5)) * -1 + del tmp1049 + tmp1051 = np.copy(np.transpose(tmp261, (1, 0, 2, 3))) + tmp1051 += np.transpose(tmp262, (1, 0, 2, 3)) * -1 + tmp1052 = einsum(t2.bbbb, (0, 1, 2, 3), tmp1051, (4, 5, 1, 6), (0, 4, 5, 2, 3, 6)) * -2 + del tmp1051 + t3new.bbbbbb += np.transpose(tmp1052, (0, 2, 1, 5, 4, 3)) * -2 + t3new.bbbbbb += np.transpose(tmp1052, (2, 0, 1, 5, 4, 3)) * 2 + t3new.bbbbbb += np.transpose(tmp1052, (0, 2, 1, 4, 5, 3)) * 2 + t3new.bbbbbb += np.transpose(tmp1052, (2, 0, 1, 4, 5, 3)) * -2 + t3new.bbbbbb += np.transpose(tmp1052, (2, 1, 0, 5, 4, 3)) * -2 + t3new.bbbbbb += np.transpose(tmp1052, (2, 1, 0, 4, 5, 3)) * 2 + del tmp1052 + t3new.bbbbbb += np.transpose(tmp1034, (2, 1, 0, 5, 3, 4)) * -2 + t3new.bbbbbb += np.transpose(tmp1010, (2, 1, 0, 5, 3, 4)) * -1 + t3new.bbbbbb += np.transpose(tmp1034, (1, 2, 0, 5, 3, 4)) * 2 + t3new.bbbbbb += np.transpose(tmp1001, (1, 2, 0, 5, 3, 4)) * 2 + t3new.bbbbbb += np.transpose(tmp1034, (2, 1, 0, 3, 5, 4)) * 2 + t3new.bbbbbb += np.transpose(tmp1001, (2, 1, 0, 3, 5, 4)) * 2 + t3new.bbbbbb += np.transpose(tmp1034, (1, 2, 0, 3, 5, 4)) * -2 + t3new.bbbbbb += np.transpose(tmp1001, (1, 2, 0, 3, 5, 4)) * -2 + t3new.bbbbbb += np.transpose(tmp1034, (1, 0, 2, 5, 3, 4)) * -2 + t3new.bbbbbb += np.transpose(tmp1010, (1, 0, 2, 5, 3, 4)) * -1 + del tmp1010 + t3new.bbbbbb += np.transpose(tmp1034, (1, 0, 2, 3, 5, 4)) * 2 + t3new.bbbbbb += np.transpose(tmp1001, (1, 0, 2, 3, 5, 4)) * 2 + del tmp1001 + tmp1053 = einsum(t2.bbbb, (0, 1, 2, 3), tmp261, (4, 5, 1, 6), (4, 5, 0, 2, 3, 6)) + t3new.bbbbbb += np.transpose(tmp1053, (2, 1, 0, 4, 3, 5)) * -4 + t3new.bbbbbb += np.transpose(tmp1053, (1, 2, 0, 4, 3, 5)) * 4 + t3new.bbbbbb += np.transpose(tmp1053, (1, 0, 2, 4, 3, 5)) * -4 + del tmp1053 + t3new.bbbbbb += np.transpose(tmp1034, (2, 1, 0, 3, 4, 5)) * -2 + t3new.bbbbbb += np.transpose(tmp1034, (1, 2, 0, 3, 4, 5)) * 2 + t3new.bbbbbb += np.transpose(tmp1034, (1, 0, 2, 3, 4, 5)) * -2 + del tmp1034 + tmp1055 = np.copy(tmp229) + tmp718 = np.copy(tmp23) + tmp718 += np.transpose(tmp23, (0, 2, 1, 3)) * -1 + tmp1054 = einsum(tmp718, (0, 1, 2, 3), t2.bbbb, (4, 1, 5, 3), (4, 0, 2, 5)) * 2 + tmp1055 += np.transpose(tmp1054, (1, 0, 2, 3)) + del tmp1054 + tmp1056 = einsum(t2.bbbb, (0, 1, 2, 3), tmp1055, (4, 5, 1, 6), (0, 4, 5, 2, 3, 6)) * -1 + del tmp1055 + t3new.bbbbbb += np.transpose(tmp1056, (0, 2, 1, 4, 3, 5)) + tmp1057 = einsum(t2.bbbb, (0, 1, 2, 3), tmp231, (4, 5, 1, 6), (0, 4, 5, 2, 3, 6)) * -1 + t3new.bbbbbb += np.transpose(tmp1057, (0, 2, 1, 4, 3, 5)) + t3new.bbbbbb += np.transpose(tmp1057, (2, 0, 1, 4, 3, 5)) * -2 + t3new.bbbbbb += np.transpose(tmp958, (2, 1, 0, 4, 3, 5)) * -2 + tmp1058 = einsum(t2.bbbb, (0, 1, 2, 3), tmp228, (4, 5, 3, 6), (0, 1, 5, 4, 2, 6)) + tmp1059 = einsum(tmp1058, (0, 1, 2, 3, 4, 5), t1.bb, (3, 6), (2, 1, 0, 4, 5, 6)) * -2 + del tmp1058 + t3new.bbbbbb += np.transpose(tmp1059, (2, 1, 0, 5, 4, 3)) * -1 + t3new.bbbbbb += np.transpose(tmp958, (2, 0, 1, 4, 3, 5)) * 2 + t3new.bbbbbb += np.transpose(tmp1037, (2, 0, 1, 5, 4, 3)) * 2 + t3new.bbbbbb += np.transpose(tmp1057, (0, 1, 2, 4, 3, 5)) * -2 + t3new.bbbbbb += np.transpose(tmp1057, (2, 1, 0, 4, 3, 5)) * 2 + t3new.bbbbbb += np.transpose(tmp1056, (1, 0, 2, 4, 3, 5)) + del tmp1056 + t3new.bbbbbb += np.transpose(tmp1057, (1, 0, 2, 4, 3, 5)) + t3new.bbbbbb += np.transpose(tmp1057, (1, 2, 0, 4, 3, 5)) * -2 + del tmp1057 + t3new.bbbbbb += np.transpose(tmp958, (0, 2, 1, 4, 3, 5)) * -2 + del tmp958 + t3new.bbbbbb += np.transpose(tmp1059, (0, 2, 1, 5, 4, 3)) * -1 + del tmp1059 + tmp1060 = einsum(t2.bbbb, (0, 1, 2, 3), tmp253, (4, 5, 1, 6), (5, 4, 0, 6, 2, 3)) + t3new.bbbbbb += np.transpose(tmp1060, (2, 0, 1, 3, 5, 4)) * 2 + t3new.bbbbbb += np.transpose(tmp1060, (2, 1, 0, 3, 5, 4)) * -2 + tmp1061 = einsum(t2.bbbb, (0, 1, 2, 3), tmp257, (4, 5, 1, 6), (4, 5, 0, 2, 3, 6)) + t3new.bbbbbb += np.transpose(tmp1061, (2, 0, 1, 5, 4, 3)) * 2 + t3new.bbbbbb += np.transpose(tmp1061, (2, 1, 0, 5, 4, 3)) * -2 + t3new.bbbbbb += np.transpose(tmp1060, (0, 2, 1, 3, 5, 4)) * -2 + t3new.bbbbbb += np.transpose(tmp1060, (1, 2, 0, 3, 5, 4)) * 2 + t3new.bbbbbb += np.transpose(tmp1061, (0, 2, 1, 5, 4, 3)) * -2 + t3new.bbbbbb += np.transpose(tmp1061, (1, 2, 0, 5, 4, 3)) * 2 + t3new.bbbbbb += np.transpose(tmp1060, (2, 0, 1, 5, 3, 4)) * -2 + t3new.bbbbbb += np.transpose(tmp1060, (2, 1, 0, 5, 3, 4)) * 2 + t3new.bbbbbb += np.transpose(tmp1061, (2, 0, 1, 4, 5, 3)) * -2 + t3new.bbbbbb += np.transpose(tmp1061, (2, 1, 0, 4, 5, 3)) * 2 + t3new.bbbbbb += np.transpose(tmp1060, (0, 2, 1, 5, 3, 4)) * 2 + t3new.bbbbbb += np.transpose(tmp1060, (1, 2, 0, 5, 3, 4)) * -2 + t3new.bbbbbb += np.transpose(tmp1061, (0, 2, 1, 4, 5, 3)) * 2 + t3new.bbbbbb += np.transpose(tmp1061, (1, 2, 0, 4, 5, 3)) * -2 + t3new.bbbbbb += np.transpose(tmp1060, (0, 1, 2, 3, 5, 4)) * 2 + t3new.bbbbbb += np.transpose(tmp1060, (1, 0, 2, 3, 5, 4)) * -2 + t3new.bbbbbb += np.transpose(tmp1061, (0, 1, 2, 5, 4, 3)) * 2 + t3new.bbbbbb += np.transpose(tmp1061, (1, 0, 2, 5, 4, 3)) * -2 + t3new.bbbbbb += np.transpose(tmp1060, (0, 1, 2, 5, 3, 4)) * -2 + t3new.bbbbbb += np.transpose(tmp1060, (1, 0, 2, 5, 3, 4)) * 2 + t3new.bbbbbb += np.transpose(tmp1061, (0, 1, 2, 4, 5, 3)) * -2 + t3new.bbbbbb += np.transpose(tmp1061, (1, 0, 2, 4, 5, 3)) * 2 + t3new.bbbbbb += np.transpose(tmp1061, (2, 0, 1, 4, 3, 5)) * 2 + t3new.bbbbbb += np.transpose(tmp1061, (2, 1, 0, 4, 3, 5)) * -2 + t3new.bbbbbb += np.transpose(tmp1061, (0, 2, 1, 4, 3, 5)) * -2 + t3new.bbbbbb += np.transpose(tmp1061, (1, 2, 0, 4, 3, 5)) * 2 + t3new.bbbbbb += np.transpose(tmp1037, (2, 1, 0, 5, 3, 4)) * 2 + t3new.bbbbbb += np.transpose(tmp1037, (2, 0, 1, 5, 3, 4)) * -2 + t3new.bbbbbb += np.transpose(tmp1037, (2, 1, 0, 3, 5, 4)) * -2 + t3new.bbbbbb += np.transpose(tmp1037, (2, 0, 1, 3, 5, 4)) * 2 + t3new.bbbbbb += np.transpose(tmp1061, (0, 1, 2, 4, 3, 5)) * 2 + t3new.bbbbbb += np.transpose(tmp1061, (1, 0, 2, 4, 3, 5)) * -2 + del tmp1061 + t3new.bbbbbb += np.transpose(tmp1037, (0, 2, 1, 5, 3, 4)) * 2 + t3new.bbbbbb += np.transpose(tmp1037, (0, 2, 1, 3, 5, 4)) * -2 + del tmp1037 + tmp1062 = einsum(tmp251, (0, 1, 2, 3), t3.bbbbbb, (4, 3, 2, 5, 6, 7), (0, 1, 4, 5, 6, 7)) * -1 + t3new.bbbbbb += np.transpose(tmp1062, (2, 1, 0, 4, 5, 3)) * -6 + t3new.bbbbbb += np.transpose(tmp1060, (2, 0, 1, 5, 4, 3)) * 2 + t3new.bbbbbb += np.transpose(tmp1060, (2, 1, 0, 5, 4, 3)) * -2 + t3new.bbbbbb += np.transpose(tmp1062, (1, 2, 0, 4, 5, 3)) * 6 + t3new.bbbbbb += np.transpose(tmp1060, (0, 2, 1, 5, 4, 3)) * -2 + t3new.bbbbbb += np.transpose(tmp1060, (1, 2, 0, 5, 4, 3)) * 2 + t3new.bbbbbb += np.transpose(tmp1062, (1, 0, 2, 4, 5, 3)) * -6 + del tmp1062 + t3new.bbbbbb += np.transpose(tmp1060, (0, 1, 2, 5, 4, 3)) * 2 + t3new.bbbbbb += np.transpose(tmp1060, (1, 0, 2, 5, 4, 3)) * -2 + del tmp1060 + tmp685 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), v.bbbb.oooo, (6, 2, 7, 0), (1, 6, 7, 4, 3, 5)) * -1 + t3new.babbab = np.copy(np.transpose(tmp685, (2, 0, 1, 5, 3, 4))) * 2 + del tmp685 + tmp686 = einsum(tmp188, (0, 1, 2, 3), t2.abab, (4, 1, 5, 6), (4, 2, 0, 5, 3, 6)) + t3new.babbab += np.transpose(tmp686, (1, 0, 2, 5, 3, 4)) * -1 + tmp426 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovoo, (0, 4, 5, 1), (5, 2, 4, 3)) + tmp687 = einsum(tmp426, (0, 1, 2, 3), t2.abab, (4, 5, 2, 6), (4, 5, 0, 1, 6, 3)) + t3new.babbab += np.transpose(tmp687, (1, 0, 2, 4, 3, 5)) + tmp688 = einsum(tmp35, (0, 1), t3.babbab, (2, 3, 0, 4, 5, 6), (3, 2, 1, 5, 4, 6)) * -1 + del tmp35 + t3new.babbab += np.transpose(tmp688, (1, 0, 2, 5, 3, 4)) * -1 + tmp689 = einsum(v.aabb.ovoo, (0, 1, 2, 3), t3.abaaba, (4, 5, 0, 6, 7, 1), (4, 5, 2, 3, 6, 7)) + tmp692 = np.copy(np.transpose(tmp689, (0, 1, 3, 2, 4, 5))) * 0.5 + tmp690 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovoo, (4, 2, 5, 6), (0, 4, 1, 5, 6, 3)) + tmp692 += einsum(t1.aa, (0, 1), tmp690, (2, 0, 3, 4, 5, 6), (2, 3, 5, 4, 1, 6)) * -0.5 + tmp691 = einsum(tmp248, (0, 1, 2, 3), t3.babbab, (4, 5, 2, 6, 7, 3), (5, 4, 0, 1, 7, 6)) + tmp692 += np.transpose(tmp691, (0, 1, 3, 2, 4, 5)) + t3new.babbab += einsum(t1.bb, (0, 1), tmp692, (2, 3, 0, 4, 5, 6), (3, 2, 4, 6, 5, 1)) * -2 + del tmp692 + tmp693 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), tmp193, (2, 6), (1, 0, 6, 4, 3, 5)) * -1 + t3new.babbab += np.transpose(tmp693, (1, 0, 2, 5, 3, 4)) * -1 + tmp419 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ooov, (4, 0, 1, 5), (4, 2, 3, 5)) + t3new.babbab += einsum(t2.bbbb, (0, 1, 2, 3), tmp419, (4, 5, 6, 3), (0, 4, 1, 2, 5, 6)) * 2 + tmp694 = einsum(v.aabb.oooo, (0, 1, 2, 3), t3.babbab, (4, 1, 3, 5, 6, 7), (0, 4, 2, 6, 5, 7)) + t3new.babbab += np.transpose(tmp694, (2, 0, 1, 5, 3, 4)) * 2 + tmp695 = einsum(tmp120, (0, 1, 2, 3), t2.abab, (1, 4, 5, 6), (0, 4, 2, 5, 3, 6)) + t3new.babbab += np.transpose(tmp695, (2, 0, 1, 5, 3, 4)) * -1 + tmp696 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), tmp43, (1, 6), (6, 0, 2, 4, 3, 5)) + t3new.babbab += np.transpose(tmp696, (2, 0, 1, 5, 3, 4)) * -2 + del tmp696 + tmp697 = einsum(v.aabb.ooov, (0, 1, 2, 3), t3.babbab, (4, 1, 5, 6, 7, 3), (0, 4, 5, 2, 7, 6)) + tmp699 = np.copy(np.transpose(tmp697, (0, 2, 1, 3, 4, 5))) * -1 + tmp698 = einsum(v.aabb.ooov, (0, 1, 2, 3), t2.bbbb, (4, 5, 6, 3), (0, 1, 4, 5, 2, 6)) + tmp699 += einsum(t1.aa, (0, 1), tmp698, (2, 0, 3, 4, 5, 6), (2, 4, 3, 5, 1, 6)) * -1 + t3new.babbab += einsum(t1.bb, (0, 1), tmp699, (2, 3, 4, 0, 5, 6), (4, 2, 3, 6, 5, 1)) * -2 + del tmp699 + tmp700 = einsum(v.aabb.ovov, (0, 1, 2, 3), t3.babbab, (4, 5, 6, 7, 1, 3), (5, 0, 4, 6, 2, 7)) + tmp701 = einsum(tmp700, (0, 1, 2, 3, 4, 5), t2.abab, (1, 4, 6, 7), (0, 2, 3, 6, 7, 5)) + t3new.babbab += np.transpose(tmp701, (2, 0, 1, 5, 3, 4)) * -2 + t3new.babbab += np.transpose(tmp687, (2, 0, 1, 4, 3, 5)) * -1 + del tmp687 + tmp704 = np.copy(np.transpose(tmp689, (0, 3, 1, 2, 4, 5))) * 0.5 + tmp704 += np.transpose(tmp691, (0, 3, 1, 2, 4, 5)) + del tmp691 + tmp702 = einsum(tmp17, (0, 1), t3.babbab, (2, 3, 4, 5, 6, 1), (3, 2, 4, 0, 6, 5)) * -1 + tmp704 += np.transpose(tmp702, (0, 3, 2, 1, 4, 5)) + tmp703 = np.copy(np.transpose(tmp690, (0, 1, 2, 4, 3, 5))) * -1 + tmp703 += np.transpose(tmp700, (0, 1, 3, 2, 4, 5)) * 2 + tmp704 += einsum(t1.aa, (0, 1), tmp703, (2, 0, 3, 4, 5, 6), (2, 5, 3, 4, 1, 6)) * 0.5 + del tmp703 + t3new.babbab += einsum(t1.bb, (0, 1), tmp704, (2, 0, 3, 4, 5, 6), (4, 2, 3, 6, 5, 1)) * 2 + del tmp704 + t3new.babbab += einsum(tmp125, (0, 1), t3.babbab, (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 6, 0)) * -2 + del tmp125 + t3new.babbab += np.transpose(tmp688, (2, 0, 1, 5, 3, 4)) + del tmp688 + t3new.babbab += np.transpose(tmp693, (2, 0, 1, 5, 3, 4)) + del tmp693 + tmp705 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), v.bbbb.ovov, (6, 7, 2, 5), (1, 0, 6, 4, 3, 7)) + t3new.babbab += np.transpose(tmp705, (2, 0, 1, 5, 3, 4)) * 2 + tmp706 = einsum(v.aabb.ovov, (0, 1, 2, 3), t3.abaaba, (4, 5, 0, 6, 7, 1), (4, 5, 2, 6, 7, 3)) + t3new.babbab += np.transpose(tmp706, (2, 0, 1, 5, 3, 4)) * 2 + t3new.babbab += einsum(tmp445, (0, 1), t3.babbab, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 6, 5)) + t3new.babbab += einsum(tmp702, (0, 1, 2, 3, 4, 5), t1.bb, (3, 6), (1, 0, 2, 6, 4, 5)) * -1 + del tmp702 + t3new.babbab += einsum(tmp205, (0, 1), t3.babbab, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 6, 5)) * 2 + del tmp205 + tmp707 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), tmp51, (6, 5), (1, 6, 0, 2, 4, 3)) + t3new.babbab += einsum(tmp707, (0, 1, 2, 3, 4, 5), t1.bb, (1, 6), (3, 0, 2, 6, 4, 5)) * -1 + del tmp707 + tmp708 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), tmp58, (4, 6), (1, 0, 2, 6, 3, 5)) + t3new.babbab += np.transpose(tmp708, (2, 0, 1, 5, 3, 4)) * -2 + del tmp708 + tmp709 = einsum(tmp198, (0, 1), t3.babbab, (2, 3, 4, 5, 1, 6), (3, 0, 2, 4, 5, 6)) + tmp710 = einsum(t1.aa, (0, 1), tmp709, (2, 0, 3, 4, 5, 6), (2, 4, 3, 1, 6, 5)) + del tmp709 + t3new.babbab += np.transpose(tmp710, (2, 0, 1, 5, 3, 4)) * -2 + del tmp710 + t3new.babbab += np.transpose(tmp706, (2, 0, 1, 4, 3, 5)) * -2 + t3new.babbab += np.transpose(tmp705, (2, 0, 1, 4, 3, 5)) * -2 + t3new.babbab += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), tmp27, (5, 6), (0, 1, 2, 3, 4, 6)) * 2 + del tmp27 + tmp711 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), tmp217, (6, 7, 2, 0), (1, 6, 7, 4, 3, 5)) * -1 + t3new.babbab += np.transpose(tmp711, (2, 0, 1, 5, 3, 4)) * -2 + tmp463 = einsum(t2.abab, (0, 1, 2, 3), tmp22, (0, 4, 1, 5), (4, 2, 5, 3)) + tmp712 = einsum(t2.abab, (0, 1, 2, 3), tmp463, (4, 5, 2, 6), (0, 4, 1, 5, 3, 6)) + t3new.babbab += np.transpose(tmp712, (2, 0, 1, 4, 3, 5)) + tmp713 = np.copy(tmp28) + del tmp28 + tmp713 += tmp29 * 2 + del tmp29 + tmp713 += np.transpose(tmp30, (1, 0)) + del tmp30 + tmp714 = einsum(tmp713, (0, 1), t3.babbab, (2, 3, 1, 4, 5, 6), (3, 2, 0, 5, 4, 6)) * -1 + del tmp713 + t3new.babbab += np.transpose(tmp714, (1, 0, 2, 5, 3, 4)) * -2 + tmp715 = einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), tmp22, (2, 6, 7, 5), (0, 6, 1, 7, 3, 4)) + tmp720 = np.copy(tmp715) * 0.5 + tmp716 = einsum(t2.abab, (0, 1, 2, 3), tmp22, (4, 5, 6, 2), (0, 4, 5, 1, 6, 3)) + tmp717 = einsum(t1.aa, (0, 1), tmp716, (2, 0, 3, 4, 5, 6), (2, 3, 4, 5, 1, 6)) + tmp720 += tmp717 * -0.5 + del tmp717 + tmp719 = einsum(tmp718, (0, 1, 2, 3), t3.babbab, (4, 5, 1, 6, 7, 3), (5, 4, 0, 2, 7, 6)) + tmp720 += np.transpose(tmp719, (0, 2, 1, 3, 4, 5)) + del tmp719 + tmp721 = einsum(t1.bb, (0, 1), tmp720, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 6, 1)) * 2 + del tmp720 + t3new.babbab += np.transpose(tmp721, (2, 0, 1, 4, 3, 5)) * -1 + tmp724 = einsum(t2.abab, (0, 1, 2, 3), tmp723, (4, 5, 1, 6), (0, 4, 5, 2, 6, 3)) + del tmp723 + t3new.babbab += np.transpose(tmp724, (2, 0, 1, 5, 3, 4)) + tmp450 = einsum(t2.abab, (0, 1, 2, 3), tmp2, (4, 0, 1, 5), (4, 2, 3, 5)) + t3new.babbab += einsum(tmp450, (0, 1, 2, 3), t2.bbbb, (4, 5, 6, 3), (4, 0, 5, 6, 1, 2)) * 2 + tmp725 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), tmp139, (6, 1, 7, 2), (6, 0, 7, 4, 3, 5)) + t3new.babbab += np.transpose(tmp725, (2, 0, 1, 5, 3, 4)) * 2 + tmp664 = einsum(t1.bb, (0, 1), tmp139, (2, 3, 4, 0), (2, 3, 4, 1)) + tmp726 = einsum(t2.abab, (0, 1, 2, 3), tmp664, (4, 0, 5, 6), (4, 1, 5, 2, 6, 3)) + t3new.babbab += np.transpose(tmp726, (2, 0, 1, 5, 3, 4)) * -1 + tmp727 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), tmp13, (1, 6), (6, 0, 2, 4, 3, 5)) + del tmp13 + t3new.babbab += np.transpose(tmp727, (2, 0, 1, 5, 3, 4)) * -2 + del tmp727 + tmp728 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), tmp2, (6, 1, 7, 5), (6, 0, 2, 7, 4, 3)) + tmp730 = np.copy(np.transpose(tmp728, (0, 2, 1, 3, 4, 5))) * -1 + tmp729 = einsum(t2.bbbb, (0, 1, 2, 3), tmp2, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) + tmp730 += einsum(t1.aa, (0, 1), tmp729, (2, 0, 3, 4, 5, 6), (2, 4, 3, 5, 1, 6)) * -1 + t3new.babbab += einsum(t1.bb, (0, 1), tmp730, (2, 3, 4, 0, 5, 6), (4, 2, 3, 6, 5, 1)) * -2 + del tmp730 + t3new.babbab += np.transpose(tmp712, (1, 0, 2, 4, 3, 5)) * -1 + del tmp712 + tmp731 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), tmp136, (6, 1, 7, 2), (6, 7, 0, 4, 3, 5)) + t3new.babbab += np.transpose(tmp731, (1, 0, 2, 5, 3, 4)) * 2 + tmp732 = einsum(t2.abab, (0, 1, 2, 3), tmp137, (4, 0, 5, 6), (4, 5, 1, 2, 6, 3)) + t3new.babbab += np.transpose(tmp732, (1, 0, 2, 5, 3, 4)) * -1 + t3new.babbab += np.transpose(tmp714, (2, 0, 1, 5, 3, 4)) * 2 + del tmp714 + t3new.babbab += np.transpose(tmp721, (1, 0, 2, 4, 3, 5)) + del tmp721 + tmp733 = einsum(tmp147, (0, 1, 2, 3), t2.abab, (4, 5, 3, 6), (4, 5, 0, 1, 2, 6)) + tmp734 = einsum(t1.bb, (0, 1), tmp733, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 1, 6)) + del tmp733 + t3new.babbab += np.transpose(tmp734, (2, 0, 1, 5, 3, 4)) * -1 + tmp736 = np.copy(np.transpose(tmp120, (1, 0, 2, 3))) * -1 + tmp736 += np.transpose(tmp159, (1, 0, 2, 3)) * 2 + tmp736 += np.transpose(tmp127, (1, 0, 2, 3)) * 2 + tmp736 += np.transpose(tmp128, (1, 0, 2, 3)) * 2 + tmp436 = np.copy(v.aaaa.ooov) * -1 + tmp436 += np.transpose(v.aaaa.ovoo, (0, 2, 3, 1)) + tmp736 += einsum(tmp436, (0, 1, 2, 3), t2.abab, (0, 4, 3, 5), (2, 1, 4, 5)) + tmp735 = einsum(t2.abab, (0, 1, 2, 3), tmp11, (4, 2), (4, 0, 1, 3)) + tmp736 += tmp735 + t3new.babbab += einsum(tmp736, (0, 1, 2, 3), t2.abab, (0, 4, 5, 6), (4, 1, 2, 3, 5, 6)) + del tmp736 + tmp479 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t3.abaaba, (0, 4, 2, 5, 6, 1), (4, 5, 3, 6)) * -1 + tmp737 = np.copy(tmp479) + tmp480 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), v.aabb.ovov, (1, 6, 2, 5), (0, 4, 6, 3)) + tmp737 += tmp480 * 0.5 + tmp738 = einsum(tmp737, (0, 1, 2, 3), t2.abab, (4, 5, 2, 6), (4, 0, 5, 1, 3, 6)) * 2 + del tmp737 + t3new.babbab += np.transpose(tmp738, (1, 0, 2, 5, 3, 4)) + tmp739 = np.copy(np.transpose(tmp188, (1, 0, 2, 3))) * -0.16666666666666666 + del tmp188 + tmp739 += np.transpose(tmp243, (2, 1, 0, 3)) * 0.16666666666666666 + del tmp243 + tmp739 += np.transpose(tmp206, (2, 1, 0, 3)) * 0.3333333333333333 + del tmp206 + tmp739 += np.transpose(tmp207, (2, 1, 0, 3)) + del tmp207 + tmp739 += einsum(tmp473, (0, 1, 2, 3), t2.bbbb, (4, 0, 5, 3), (2, 1, 4, 5)) * 0.3333333333333333 + tmp739 += np.transpose(tmp208, (0, 2, 1, 3)) * -1 + del tmp208 + t3new.babbab += einsum(t2.abab, (0, 1, 2, 3), tmp739, (1, 4, 5, 6), (4, 0, 5, 6, 2, 3)) * 6 + del tmp739 + tmp475 = einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), v.aabb.ovov, (2, 5, 1, 6), (0, 3, 4, 6)) + tmp740 = np.copy(tmp475) + tmp476 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), v.bbbb.ovov, (0, 6, 2, 5), (1, 4, 3, 6)) + tmp740 += tmp476 * 0.5 + t3new.babbab += einsum(tmp740, (0, 1, 2, 3), t2.bbbb, (4, 5, 6, 3), (4, 0, 5, 6, 1, 2)) * -4 + del tmp740 + tmp741 = einsum(tmp158, (0, 1, 2, 3), t2.bbbb, (4, 5, 6, 3), (0, 4, 5, 1, 2, 6)) * -1 + tmp742 = einsum(t1.bb, (0, 1), tmp741, (2, 3, 4, 0, 5, 6), (2, 4, 3, 5, 6, 1)) + del tmp741 + t3new.babbab += np.transpose(tmp742, (2, 0, 1, 4, 3, 5)) * 2 + tmp745 = np.copy(np.transpose(tmp743, (0, 2, 1, 3))) * -0.3333333333333333 + del tmp743 + tmp745 += np.transpose(tmp744, (0, 2, 1, 3)) * -1 + del tmp744 + tmp746 = einsum(t2.abab, (0, 1, 2, 3), tmp745, (4, 5, 6, 3), (0, 4, 1, 2, 5, 6)) * 3 + del tmp745 + t3new.babbab += np.transpose(tmp746, (1, 0, 2, 5, 3, 4)) * 2 + del tmp746 + tmp748 = np.copy(tmp149) * -1 + tmp747 = einsum(t2.abab, (0, 1, 2, 3), tmp51, (4, 3), (0, 4, 1, 2)) + tmp748 += np.transpose(tmp747, (0, 2, 1, 3)) + tmp749 = einsum(tmp748, (0, 1, 2, 3), t2.bbbb, (4, 2, 5, 6), (0, 4, 1, 3, 5, 6)) * -1 + del tmp748 + t3new.babbab += np.transpose(tmp749, (1, 0, 2, 5, 3, 4)) * -2 + del tmp749 + t3new.babbab += np.transpose(tmp734, (1, 0, 2, 5, 3, 4)) + tmp750 = np.copy(np.transpose(tmp146, (1, 0, 2, 3))) * -1 + tmp750 += np.transpose(tmp127, (1, 0, 2, 3)) * 2 + tmp750 += np.transpose(tmp128, (1, 0, 2, 3)) * 2 + tmp750 += tmp735 + del tmp735 + t3new.babbab += einsum(tmp750, (0, 1, 2, 3), t2.abab, (0, 4, 5, 6), (2, 1, 4, 3, 5, 6)) * -1 + del tmp750 + t3new.babbab += np.transpose(tmp738, (2, 0, 1, 5, 3, 4)) * -1 + del tmp738 + tmp428 = einsum(t1.aa, (0, 1), v.aabb.oooo, (2, 0, 3, 4), (2, 3, 4, 1)) + tmp751 = np.copy(np.transpose(tmp428, (0, 2, 1, 3))) * -1 + tmp751 += np.transpose(tmp163, (0, 2, 1, 3)) * 2 + tmp751 += np.transpose(tmp165, (0, 2, 1, 3)) + tmp751 += tmp747 + del tmp747 + tmp752 = einsum(tmp751, (0, 1, 2, 3), t2.bbbb, (4, 1, 5, 6), (0, 4, 2, 3, 5, 6)) * -1 + del tmp751 + t3new.babbab += np.transpose(tmp752, (2, 0, 1, 5, 3, 4)) * 2 + del tmp752 + tmp754 = einsum(tmp753, (0, 1, 2, 3), t2.abab, (4, 5, 6, 3), (4, 0, 5, 6, 1, 2)) + del tmp753 + t3new.babbab += np.transpose(tmp754, (2, 0, 1, 5, 3, 4)) * -2 + del tmp754 + tmp755 = einsum(tmp690, (0, 1, 2, 3, 4, 5), t1.bb, (4, 6), (0, 1, 2, 3, 6, 5)) + del tmp690 + tmp756 = einsum(t1.aa, (0, 1), tmp755, (2, 0, 3, 4, 5, 6), (2, 3, 4, 1, 5, 6)) + del tmp755 + t3new.babbab += np.transpose(tmp756, (2, 0, 1, 4, 3, 5)) + tmp757 = np.copy(tmp426) * -0.5 + tmp757 += tmp479 * 0.5 + tmp757 += tmp480 + tmp758 = einsum(t2.abab, (0, 1, 2, 3), tmp757, (4, 5, 2, 6), (0, 4, 1, 5, 6, 3)) * 2 + del tmp757 + t3new.babbab += np.transpose(tmp758, (1, 0, 2, 4, 3, 5)) * -1 + tmp759 = np.copy(tmp127) + tmp759 += tmp128 + tmp759 += np.transpose(tmp129, (1, 0, 2, 3)) + del tmp129 + tmp760 = einsum(t2.abab, (0, 1, 2, 3), tmp759, (4, 0, 5, 6), (4, 5, 1, 2, 6, 3)) * 2 + del tmp759 + t3new.babbab += np.transpose(tmp760, (2, 0, 1, 5, 3, 4)) * -1 + tmp761 = np.copy(tmp419) * -1 + tmp761 += tmp475 + tmp761 += tmp476 * 2 + t3new.babbab += einsum(tmp761, (0, 1, 2, 3), t2.bbbb, (4, 5, 6, 3), (4, 0, 5, 2, 1, 6)) * 2 + del tmp761 + t3new.babbab += einsum(t2.abab, (0, 1, 2, 3), tmp213, (1, 4, 5, 6), (5, 0, 4, 3, 2, 6)) * -2 + del tmp213 + tmp762 = einsum(v.aabb.oovv, (0, 1, 2, 3), t2.bbbb, (4, 5, 6, 3), (0, 1, 4, 5, 6, 2)) + tmp763 = np.copy(np.transpose(tmp762, (1, 0, 3, 2, 4, 5))) * -1 + tmp763 += einsum(t1.bb, (0, 1), tmp698, (2, 3, 4, 5, 0, 6), (3, 2, 5, 4, 6, 1)) + del tmp698 + t3new.babbab += einsum(t1.aa, (0, 1), tmp763, (0, 2, 3, 4, 5, 6), (4, 2, 3, 6, 1, 5)) * -2 + del tmp763 + t3new.babbab += np.transpose(tmp756, (1, 0, 2, 4, 3, 5)) * -1 + del tmp756 + t3new.babbab += np.transpose(tmp758, (2, 0, 1, 4, 3, 5)) + del tmp758 + t3new.babbab += np.transpose(tmp760, (1, 0, 2, 5, 3, 4)) + del tmp760 + tmp764 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ooov, (4, 0, 5, 6), (4, 1, 5, 2, 3, 6)) + t3new.babbab += np.transpose(tmp764, (1, 0, 2, 5, 3, 4)) + tmp765 = einsum(t2.abab, (0, 1, 2, 3), v.bbbb.ooov, (4, 1, 5, 6), (0, 4, 5, 2, 3, 6)) + t3new.babbab += np.transpose(tmp765, (1, 0, 2, 5, 3, 4)) + t3new.babbab += np.transpose(tmp765, (2, 0, 1, 5, 3, 4)) * -1 + tmp767 = np.copy(v.bbbb.oovv) * -0.499999999999995 + tmp767 += tmp200 * 0.5 + tmp767 += np.transpose(tmp766, (1, 0, 3, 2)) * -1 + del tmp766 + tmp768 = einsum(tmp767, (0, 1, 2, 3), t3.babbab, (4, 5, 1, 6, 7, 3), (5, 4, 0, 7, 6, 2)) * 2 + del tmp767 + t3new.babbab += np.transpose(tmp768, (1, 0, 2, 5, 3, 4)) * -2 + tmp770 = einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), tmp769, (2, 6, 5, 7), (0, 1, 6, 3, 4, 7)) * 2 + t3new.babbab += np.transpose(tmp770, (1, 0, 2, 5, 3, 4)) * -1 + tmp773 = einsum(t2.abab, (0, 1, 2, 3), tmp772, (4, 5, 6, 3), (0, 4, 5, 1, 2, 6)) * 0.5 + tmp774 = einsum(t1.bb, (0, 1), tmp773, (2, 3, 0, 4, 5, 6), (2, 4, 3, 5, 6, 1)) * 2 + del tmp773 + t3new.babbab += np.transpose(tmp774, (1, 0, 2, 4, 3, 5)) + tmp776 = np.copy(np.transpose(tmp689, (0, 1, 3, 2, 4, 5))) + tmp775 = einsum(tmp248, (0, 1, 2, 3), t3.babbab, (4, 5, 2, 6, 7, 3), (5, 4, 0, 1, 7, 6)) * 0.5 + del tmp248 + tmp776 += np.transpose(tmp775, (0, 1, 3, 2, 4, 5)) + del tmp775 + tmp777 = einsum(tmp776, (0, 1, 2, 3, 4, 5), t1.bb, (2, 6), (0, 1, 3, 4, 5, 6)) * 2 + del tmp776 + t3new.babbab += np.transpose(tmp777, (1, 0, 2, 5, 3, 4)) + tmp778 = einsum(t2.bbbb, (0, 1, 2, 3), v.aabb.ovoo, (4, 5, 6, 1), (4, 0, 6, 5, 2, 3)) + t3new.babbab += np.transpose(tmp778, (1, 0, 2, 5, 3, 4)) * 2 + tmp779 = einsum(t1.bb, (0, 1), tmp697, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 1, 6)) + del tmp697 + t3new.babbab += np.transpose(tmp779, (2, 0, 1, 4, 3, 5)) * 2 + del tmp779 + t3new.babbab += np.transpose(tmp764, (2, 0, 1, 5, 3, 4)) * -1 + tmp780 = np.copy(v.aabb.oovv) * -1 + tmp470 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 1, 5), (0, 4, 3, 5)) + tmp780 += np.transpose(tmp470, (1, 0, 3, 2)) + tmp781 = einsum(tmp780, (0, 1, 2, 3), t3.babbab, (4, 0, 5, 6, 7, 2), (1, 4, 5, 7, 6, 3)) * -1 + del tmp780 + t3new.babbab += np.transpose(tmp781, (2, 0, 1, 5, 3, 4)) * -2 + del tmp781 + t3new.babbab += np.transpose(tmp778, (2, 0, 1, 5, 3, 4)) * -2 + del tmp778 + tmp782 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), v.aabb.ovoo, (6, 4, 7, 2), (1, 6, 0, 7, 3, 5)) + tmp783 = einsum(t1.aa, (0, 1), tmp782, (2, 0, 3, 4, 5, 6), (2, 3, 4, 1, 5, 6)) + del tmp782 + t3new.babbab += np.transpose(tmp783, (2, 0, 1, 5, 3, 4)) * 2 + tmp516 = np.copy(np.transpose(v.aabb.vvoo, (2, 3, 0, 1))) * -1 + tmp516 += np.transpose(tmp147, (1, 0, 3, 2)) + tmp784 = einsum(tmp516, (0, 1, 2, 3), t3.babbab, (4, 5, 0, 6, 2, 7), (5, 4, 1, 3, 6, 7)) * -1 + t3new.babbab += np.transpose(tmp784, (2, 0, 1, 5, 3, 4)) * -2 + t3new.babbab += np.transpose(tmp764, (1, 0, 2, 4, 3, 5)) * -1 + t3new.babbab += np.transpose(tmp765, (1, 0, 2, 4, 3, 5)) * -1 + tmp785 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), v.bbbb.oovv, (6, 2, 7, 5), (1, 0, 6, 4, 3, 7)) + t3new.babbab += np.transpose(tmp785, (1, 0, 2, 4, 3, 5)) * -2 + t3new.babbab += np.transpose(tmp765, (2, 0, 1, 4, 3, 5)) + del tmp765 + t3new.babbab += np.transpose(tmp764, (2, 0, 1, 4, 3, 5)) + del tmp764 + t3new.babbab += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), v.aabb.oovv, (6, 1, 7, 5), (0, 6, 2, 3, 4, 7)) * -2 + tmp786 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 5, 6), (0, 4, 1, 5, 3, 6)) + tmp787 = einsum(t1.aa, (0, 1), tmp786, (2, 0, 3, 4, 5, 6), (2, 3, 4, 1, 5, 6)) + del tmp786 + t3new.babbab += np.transpose(tmp787, (1, 0, 2, 5, 3, 4)) + t3new.babbab += np.transpose(tmp734, (1, 0, 2, 4, 3, 5)) * -1 + tmp788 = np.copy(np.transpose(v.aabb.vvov, (2, 0, 1, 3))) + tmp594 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovvv, (0, 4, 5, 3), (1, 2, 4, 5)) + tmp788 += np.transpose(tmp594, (0, 2, 1, 3)) * -1 + tmp789 = einsum(t2.abab, (0, 1, 2, 3), tmp788, (4, 2, 5, 6), (0, 4, 1, 5, 6, 3)) + del tmp788 + t3new.babbab += np.transpose(tmp789, (2, 0, 1, 4, 3, 5)) * -1 + tmp790 = einsum(t2.bbbb, (0, 1, 2, 3), v.aabb.ovvv, (4, 5, 6, 3), (4, 0, 1, 5, 2, 6)) + t3new.babbab += np.transpose(tmp790, (2, 0, 1, 5, 3, 4)) * 2 + tmp791 = einsum(t2.abab, (0, 1, 2, 3), v.bbbb.ovvv, (4, 5, 6, 3), (0, 1, 4, 2, 5, 6)) + t3new.babbab += np.transpose(tmp791, (1, 0, 2, 5, 3, 4)) + tmp792 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.abab, (4, 5, 6, 3), (4, 5, 0, 2, 6, 1)) + tmp793 = einsum(tmp792, (0, 1, 2, 3, 4, 5), t1.bb, (3, 6), (0, 1, 2, 4, 6, 5)) + del tmp792 + t3new.babbab += np.transpose(tmp793, (1, 0, 2, 5, 3, 4)) + t3new.babbab += np.transpose(tmp791, (1, 0, 2, 4, 3, 5)) * -1 + t3new.babbab += np.transpose(tmp787, (2, 0, 1, 5, 3, 4)) * -1 + t3new.babbab += np.transpose(tmp734, (2, 0, 1, 4, 3, 5)) + del tmp734 + t3new.babbab += np.transpose(tmp789, (1, 0, 2, 4, 3, 5)) + del tmp789 + tmp794 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), v.bbbb.ovov, (6, 3, 7, 5), (1, 0, 2, 6, 7, 4)) + tmp795 = einsum(tmp794, (0, 1, 2, 3, 4, 5), t2.bbbb, (4, 3, 6, 7), (0, 1, 2, 5, 6, 7)) * -1 + t3new.babbab += np.transpose(tmp795, (2, 0, 1, 5, 3, 4)) * 2 + del tmp795 + t3new.babbab += einsum(v.bbbb.vvvv, (0, 1, 2, 3), t3.babbab, (4, 5, 6, 3, 7, 1), (4, 5, 6, 0, 7, 2)) * -2 + t3new.babbab += np.transpose(tmp791, (2, 0, 1, 5, 3, 4)) * -1 + tmp796 = einsum(v.bbbb.ovvv, (0, 1, 2, 3), t3.babbab, (4, 5, 6, 1, 7, 3), (5, 4, 6, 0, 7, 2)) + tmp797 = np.copy(np.transpose(tmp796, (0, 2, 1, 3, 4, 5))) * -1 + tmp797 += einsum(t1.bb, (0, 1), tmp794, (2, 3, 4, 5, 0, 6), (2, 4, 3, 5, 6, 1)) + del tmp794 + t3new.babbab += einsum(t1.bb, (0, 1), tmp797, (2, 3, 4, 0, 5, 6), (4, 2, 3, 6, 5, 1)) * -2 + del tmp797 + t3new.babbab += np.transpose(tmp793, (2, 0, 1, 5, 3, 4)) * -1 + t3new.babbab += np.transpose(tmp791, (2, 0, 1, 4, 3, 5)) + del tmp791 + tmp798 = einsum(v.aabb.vvov, (0, 1, 2, 3), t2.abab, (4, 5, 1, 6), (4, 5, 2, 0, 6, 3)) + t3new.babbab += np.transpose(tmp798, (1, 0, 2, 4, 3, 5)) + tmp799 = einsum(t2.bbbb, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 6, 3), (4, 0, 1, 6, 5, 2)) + tmp800 = einsum(t1.bb, (0, 1), tmp799, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 1, 6)) + del tmp799 + t3new.babbab += np.transpose(tmp800, (2, 0, 1, 5, 3, 4)) * 2 + t3new.babbab += np.transpose(tmp790, (2, 0, 1, 4, 3, 5)) * -2 + del tmp790 + t3new.babbab += np.transpose(tmp798, (2, 0, 1, 4, 3, 5)) * -1 + del tmp798 + tmp801 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), v.aabb.vvov, (6, 4, 7, 5), (1, 0, 2, 7, 6, 3)) + tmp802 = einsum(tmp801, (0, 1, 2, 3, 4, 5), t1.bb, (3, 6), (0, 1, 2, 4, 6, 5)) + del tmp801 + t3new.babbab += np.transpose(tmp802, (2, 0, 1, 5, 3, 4)) * 2 + tmp803 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), v.aabb.vvvv, (6, 4, 7, 5), (1, 0, 2, 6, 3, 7)) + t3new.babbab += np.transpose(tmp803, (2, 0, 1, 4, 3, 5)) * -2 + t3new.babbab += np.transpose(tmp694, (1, 0, 2, 5, 3, 4)) * -2 + del tmp694 + t3new.babbab += np.transpose(tmp695, (1, 0, 2, 5, 3, 4)) + del tmp695 + t3new.babbab += np.transpose(tmp686, (2, 0, 1, 5, 3, 4)) + del tmp686 + t3new.babbab += np.transpose(tmp705, (1, 0, 2, 5, 3, 4)) * -2 + t3new.babbab += np.transpose(tmp706, (1, 0, 2, 5, 3, 4)) * -2 + tmp804 = einsum(tmp244, (0, 1, 2, 3), t3.babbab, (4, 5, 2, 6, 7, 3), (5, 4, 0, 1, 7, 6)) + del tmp244 + tmp805 = einsum(t1.bb, (0, 1), tmp804, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 6, 1)) + del tmp804 + t3new.babbab += np.transpose(tmp805, (1, 0, 2, 5, 3, 4)) + t3new.babbab += np.transpose(tmp783, (1, 0, 2, 5, 3, 4)) * -2 + del tmp783 + t3new.babbab += np.transpose(tmp784, (1, 0, 2, 5, 3, 4)) * 2 + del tmp784 + tmp806 = einsum(v.aabb.ovov, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 2, 6, 7, 3), (0, 4, 5, 1, 6, 7)) + t3new.babbab += np.transpose(tmp806, (2, 0, 1, 5, 3, 4)) * 6 + del tmp806 + tmp807 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), v.aaaa.ovov, (6, 7, 1, 4), (6, 0, 2, 7, 3, 5)) + t3new.babbab += np.transpose(tmp807, (2, 0, 1, 5, 3, 4)) * 2 + del tmp807 + tmp809 = np.copy(v.aaaa.oovv) * -0.499999999999995 + tmp809 += np.transpose(tmp53, (1, 0, 3, 2)) * 0.5 + tmp808 = einsum(t2.aaaa, (0, 1, 2, 3), tmp319, (1, 4, 5, 3), (4, 0, 5, 2)) + tmp809 += tmp808 + del tmp808 + tmp810 = einsum(tmp809, (0, 1, 2, 3), t3.babbab, (4, 0, 5, 6, 2, 7), (1, 4, 5, 3, 6, 7)) * 2 + del tmp809 + t3new.babbab += np.transpose(tmp810, (2, 0, 1, 5, 3, 4)) * 2 + del tmp810 + tmp811 = np.copy(tmp157) * 2 + del tmp157 + tmp811 += tmp339 * -1 + del tmp339 + tmp812 = einsum(tmp811, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 1, 6, 7, 3), (0, 4, 5, 2, 6, 7)) * 3 + del tmp811 + t3new.babbab += np.transpose(tmp812, (1, 0, 2, 4, 3, 5)) * 2 + del tmp812 + tmp813 = einsum(v.aabb.ooov, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 2, 6, 7, 3), (0, 1, 4, 5, 6, 7)) + tmp815 = np.copy(np.transpose(tmp813, (1, 0, 3, 2, 5, 4))) * 3 + del tmp813 + tmp814 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), tmp160, (1, 6, 7, 4), (6, 7, 0, 2, 3, 5)) + del tmp160 + tmp815 += np.transpose(tmp814, (1, 0, 3, 2, 5, 4)) + del tmp814 + tmp816 = einsum(t1.aa, (0, 1), tmp815, (0, 2, 3, 4, 5, 6), (2, 3, 4, 1, 5, 6)) + del tmp815 + t3new.babbab += np.transpose(tmp816, (2, 0, 1, 5, 3, 4)) * -2 + del tmp816 + t3new.babbab += np.transpose(tmp768, (2, 0, 1, 5, 3, 4)) * 2 + del tmp768 + t3new.babbab += np.transpose(tmp770, (2, 0, 1, 5, 3, 4)) + del tmp770 + t3new.babbab += np.transpose(tmp774, (2, 0, 1, 4, 3, 5)) * -1 + t3new.babbab += np.transpose(tmp777, (2, 0, 1, 5, 3, 4)) * -1 + del tmp777 + t3new.babbab += np.transpose(tmp805, (2, 0, 1, 5, 3, 4)) * -1 + del tmp805 + t3new.babbab += np.transpose(tmp705, (1, 0, 2, 4, 3, 5)) * 2 + del tmp705 + t3new.babbab += np.transpose(tmp706, (1, 0, 2, 4, 3, 5)) * 2 + del tmp706 + t3new.babbab += np.transpose(tmp785, (2, 0, 1, 4, 3, 5)) * 2 + del tmp785 + t3new.babbab += np.transpose(tmp701, (2, 0, 1, 4, 3, 5)) * 2 + del tmp701 + t3new.babbab += np.transpose(tmp803, (2, 0, 1, 5, 3, 4)) * 2 + del tmp803 + tmp817 = einsum(v.aabb.ovvv, (0, 1, 2, 3), t3.babbab, (4, 5, 6, 7, 1, 3), (5, 0, 4, 6, 7, 2)) + tmp818 = np.copy(np.transpose(tmp817, (0, 1, 3, 2, 4, 5))) * -1 + tmp818 += einsum(t1.bb, (0, 1), tmp700, (2, 3, 4, 5, 0, 6), (2, 3, 5, 4, 6, 1)) + del tmp700 + t3new.babbab += einsum(t1.aa, (0, 1), tmp818, (2, 0, 3, 4, 5, 6), (4, 2, 3, 6, 1, 5)) * -2 + del tmp818 + t3new.babbab += einsum(tmp821, (0, 1, 2, 3), t2.abab, (4, 0, 5, 6), (2, 4, 1, 3, 5, 6)) + del tmp821 + tmp561 = np.copy(np.transpose(tmp428, (0, 2, 1, 3))) * -1 + tmp561 += np.transpose(tmp163, (0, 2, 1, 3)) * 2 + tmp561 += np.transpose(tmp165, (0, 2, 1, 3)) + del tmp165 + tmp822 = einsum(tmp561, (0, 1, 2, 3), t2.bbbb, (4, 1, 5, 6), (0, 4, 2, 3, 5, 6)) * -1 + t3new.babbab += np.transpose(tmp822, (1, 0, 2, 5, 3, 4)) * -2 + del tmp822 + tmp559 = np.copy(np.transpose(tmp120, (1, 0, 2, 3))) * -1 + tmp559 += np.transpose(tmp159, (1, 0, 2, 3)) * 2 + tmp559 += np.transpose(tmp161, (1, 0, 2, 3)) + t3new.babbab += einsum(t2.abab, (0, 1, 2, 3), tmp559, (0, 4, 5, 6), (5, 4, 1, 6, 2, 3)) * -1 + tmp823 = einsum(tmp2, (0, 1, 2, 3), t2.abab, (1, 4, 5, 6), (0, 4, 2, 5, 6, 3)) + t3new.babbab += np.transpose(tmp823, (1, 0, 2, 5, 3, 4)) + tmp824 = einsum(t2.abab, (0, 1, 2, 3), tmp23, (4, 5, 1, 6), (0, 4, 5, 2, 3, 6)) + t3new.babbab += np.transpose(tmp824, (1, 0, 2, 5, 3, 4)) + tmp826 = np.copy(np.transpose(tmp214, (0, 2, 1, 3))) + tmp826 += np.transpose(tmp229, (0, 2, 1, 3)) * -1 + tmp826 += einsum(tmp718, (0, 1, 2, 3), t2.bbbb, (4, 2, 5, 3), (0, 1, 4, 5)) * 2 + tmp825 = np.copy(np.transpose(tmp217, (0, 2, 1, 3))) * -1 + tmp825 += np.transpose(tmp217, (0, 2, 3, 1)) + tmp826 += einsum(t1.bb, (0, 1), tmp825, (2, 3, 4, 0), (2, 4, 3, 1)) + del tmp825 + t3new.babbab += einsum(tmp826, (0, 1, 2, 3), t2.abab, (4, 1, 5, 6), (0, 4, 2, 3, 5, 6)) * -1 + del tmp826 + tmp576 = np.copy(np.transpose(tmp140, (0, 2, 1, 3))) * -1 + tmp576 += np.transpose(tmp141, (0, 2, 1, 3)) + tmp576 += np.transpose(tmp181, (0, 2, 1, 3)) + tmp827 = einsum(tmp576, (0, 1, 2, 3), t2.bbbb, (4, 1, 5, 6), (0, 4, 2, 3, 5, 6)) * -1 + t3new.babbab += np.transpose(tmp827, (1, 0, 2, 5, 3, 4)) * 2 + tmp828 = einsum(v.bbbb.oovv, (0, 1, 2, 3), t2.abab, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) + tmp829 = einsum(t1.bb, (0, 1), tmp828, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 1, 6)) + del tmp828 + t3new.babbab += np.transpose(tmp829, (1, 0, 2, 5, 3, 4)) * -1 + tmp830 = einsum(t2.abab, (0, 1, 2, 3), v.bbbb.ooov, (4, 5, 6, 3), (0, 1, 4, 5, 6, 2)) + tmp831 = einsum(tmp830, (0, 1, 2, 3, 4, 5), t1.bb, (4, 6), (0, 1, 2, 3, 5, 6)) + del tmp830 + tmp832 = einsum(tmp831, (0, 1, 2, 3, 4, 5), t1.bb, (3, 6), (0, 1, 2, 4, 6, 5)) + del tmp831 + t3new.babbab += np.transpose(tmp832, (1, 0, 2, 4, 3, 5)) * -1 + t3new.babbab += np.transpose(tmp832, (1, 0, 2, 5, 3, 4)) + tmp833 = np.copy(tmp131) + tmp833 += tmp132 + tmp834 = einsum(tmp833, (0, 1, 2, 3), t2.bbbb, (4, 2, 5, 6), (0, 4, 1, 3, 5, 6)) * -2 + del tmp833 + t3new.babbab += np.transpose(tmp834, (2, 0, 1, 5, 3, 4)) * 2 + tmp567 = np.copy(np.transpose(tmp184, (1, 0, 2, 3))) * -1 + tmp567 += np.transpose(tmp137, (1, 0, 2, 3)) + del tmp137 + tmp567 += np.transpose(tmp145, (1, 0, 2, 3)) + tmp835 = einsum(tmp567, (0, 1, 2, 3), t2.abab, (0, 4, 5, 6), (1, 2, 4, 5, 3, 6)) + t3new.babbab += np.transpose(tmp835, (2, 0, 1, 4, 3, 5)) * -1 + t3new.babbab += np.transpose(tmp835, (1, 0, 2, 4, 3, 5)) + del tmp835 + tmp836 = einsum(t2.bbbb, (0, 1, 2, 3), tmp22, (4, 5, 1, 6), (4, 5, 0, 6, 2, 3)) + t3new.babbab += np.transpose(tmp836, (2, 0, 1, 5, 3, 4)) * 2 + t3new.babbab += np.transpose(tmp836, (1, 0, 2, 5, 3, 4)) * -2 + del tmp836 + tmp837 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), tmp144, (6, 2, 7, 4), (1, 6, 0, 7, 3, 5)) + t3new.babbab += np.transpose(tmp837, (1, 0, 2, 5, 3, 4)) * -2 + tmp838 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), tmp22, (6, 7, 2, 4), (1, 6, 7, 0, 3, 5)) + tmp839 = einsum(t1.aa, (0, 1), tmp838, (2, 0, 3, 4, 5, 6), (2, 3, 4, 1, 5, 6)) + del tmp838 + t3new.babbab += np.transpose(tmp839, (1, 0, 2, 5, 3, 4)) * 2 + tmp840 = einsum(tmp143, (0, 1, 2, 3), t3.abaaba, (4, 5, 0, 6, 7, 2), (4, 1, 5, 6, 7, 3)) + t3new.babbab += np.transpose(tmp840, (2, 0, 1, 5, 3, 4)) * -2 + t3new.babbab += np.transpose(tmp824, (2, 0, 1, 5, 3, 4)) * -1 + tmp841 = einsum(tmp228, (0, 1, 2, 3), t3.babbab, (4, 5, 0, 6, 7, 2), (5, 4, 1, 7, 6, 3)) * -1 + t3new.babbab += np.transpose(tmp841, (1, 0, 2, 5, 3, 4)) * -1 + tmp843 = np.copy(tmp715) * 2 + tmp842 = einsum(tmp178, (0, 1, 2, 3), t3.babbab, (4, 5, 1, 6, 7, 3), (5, 4, 0, 2, 7, 6)) + tmp843 += np.transpose(tmp842, (0, 2, 1, 3, 4, 5)) + tmp844 = einsum(t1.bb, (0, 1), tmp843, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 6, 1)) + del tmp843 + t3new.babbab += np.transpose(tmp844, (2, 0, 1, 5, 3, 4)) + tmp846 = np.copy(np.transpose(tmp214, (0, 2, 1, 3))) + tmp846 += np.transpose(tmp229, (0, 2, 1, 3)) * -1 + tmp846 += einsum(tmp178, (0, 1, 2, 3), t2.bbbb, (4, 2, 5, 3), (0, 1, 4, 5)) * 2 + tmp845 = np.copy(np.transpose(tmp217, (0, 2, 1, 3))) * -1 + tmp845 += np.transpose(tmp217, (0, 2, 3, 1)) + del tmp217 + tmp846 += einsum(t1.bb, (0, 1), tmp845, (2, 3, 4, 0), (2, 4, 3, 1)) + del tmp845 + t3new.babbab += einsum(tmp846, (0, 1, 2, 3), t2.abab, (4, 1, 5, 6), (2, 4, 0, 3, 5, 6)) + del tmp846 + t3new.babbab += np.transpose(tmp823, (2, 0, 1, 5, 3, 4)) * -1 + tmp847 = einsum(tmp182, (0, 1, 2, 3), t3.babbab, (4, 1, 5, 6, 7, 3), (0, 4, 5, 7, 6, 2)) + t3new.babbab += np.transpose(tmp847, (2, 0, 1, 5, 3, 4)) * -2 + tmp848 = einsum(t1.bb, (0, 1), tmp728, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 1, 6)) + del tmp728 + t3new.babbab += np.transpose(tmp848, (2, 0, 1, 4, 3, 5)) * 2 + del tmp848 + t3new.babbab += np.transpose(tmp827, (2, 0, 1, 5, 3, 4)) * -2 + del tmp827 + t3new.babbab += np.transpose(tmp829, (2, 0, 1, 5, 3, 4)) + t3new.babbab += np.transpose(tmp832, (2, 0, 1, 4, 3, 5)) + t3new.babbab += np.transpose(tmp832, (2, 0, 1, 5, 3, 4)) * -1 + del tmp832 + t3new.babbab += np.transpose(tmp834, (1, 0, 2, 5, 3, 4)) * -2 + del tmp834 + tmp849 = einsum(tmp479, (0, 1, 2, 3), t2.abab, (4, 5, 2, 6), (4, 5, 0, 1, 6, 3)) + t3new.babbab += np.transpose(tmp849, (1, 0, 2, 5, 3, 4)) + tmp850 = einsum(v.aabb.vvoo, (0, 1, 2, 3), t2.abab, (4, 5, 1, 6), (4, 5, 2, 3, 0, 6)) + tmp851 = einsum(tmp850, (0, 1, 2, 3, 4, 5), t1.bb, (3, 6), (0, 1, 2, 4, 6, 5)) + del tmp850 + t3new.babbab += np.transpose(tmp851, (1, 0, 2, 4, 3, 5)) + t3new.babbab += np.transpose(tmp800, (2, 0, 1, 4, 3, 5)) * -2 + del tmp800 + tmp525 = einsum(v.aabb.vvov, (0, 1, 2, 3), t2.abab, (4, 2, 1, 5), (4, 0, 5, 3)) + tmp852 = einsum(tmp525, (0, 1, 2, 3), t2.bbbb, (4, 5, 6, 3), (0, 4, 5, 1, 6, 2)) + t3new.babbab += np.transpose(tmp852, (2, 0, 1, 5, 3, 4)) * -2 + tmp853 = einsum(tmp470, (0, 1, 2, 3), t2.bbbb, (4, 5, 6, 3), (0, 1, 4, 5, 6, 2)) + tmp854 = einsum(t1.aa, (0, 1), tmp853, (2, 0, 3, 4, 5, 6), (2, 3, 4, 1, 5, 6)) + del tmp853 + t3new.babbab += np.transpose(tmp854, (2, 0, 1, 5, 3, 4)) * 2 + t3new.babbab += np.transpose(tmp851, (1, 0, 2, 5, 3, 4)) * -1 + t3new.babbab += np.transpose(tmp849, (2, 0, 1, 5, 3, 4)) * -1 + del tmp849 + t3new.babbab += np.transpose(tmp851, (2, 0, 1, 4, 3, 5)) * -1 + t3new.babbab += np.transpose(tmp851, (2, 0, 1, 5, 3, 4)) + del tmp851 + t3new.babbab += np.transpose(tmp823, (1, 0, 2, 4, 3, 5)) * -1 + t3new.babbab += np.transpose(tmp824, (1, 0, 2, 4, 3, 5)) * -1 + tmp855 = einsum(tmp214, (0, 1, 2, 3), t2.abab, (4, 2, 5, 6), (4, 0, 1, 5, 6, 3)) + del tmp214 + t3new.babbab += np.transpose(tmp855, (1, 0, 2, 4, 3, 5)) + t3new.babbab += np.transpose(tmp793, (1, 0, 2, 4, 3, 5)) * -1 + tmp859 = einsum(t2.abab, (0, 1, 2, 3), tmp858, (4, 5, 3, 6), (0, 4, 1, 2, 5, 6)) + del tmp858 + t3new.babbab += np.transpose(tmp859, (2, 0, 1, 4, 3, 5)) * -1 + t3new.babbab += np.transpose(tmp829, (1, 0, 2, 4, 3, 5)) + t3new.babbab += np.transpose(tmp787, (1, 0, 2, 4, 3, 5)) * -1 + t3new.babbab += einsum(t1.aa, (0, 1), tmp762, (2, 0, 3, 4, 5, 6), (4, 2, 3, 5, 1, 6)) * 2 + del tmp762 + tmp860 = einsum(tmp184, (0, 1, 2, 3), t2.abab, (1, 4, 5, 6), (0, 2, 4, 5, 6, 3)) + del tmp184 + t3new.babbab += np.transpose(tmp860, (2, 0, 1, 4, 3, 5)) * -1 + t3new.babbab += np.transpose(tmp860, (1, 0, 2, 4, 3, 5)) + del tmp860 + t3new.babbab += np.transpose(tmp824, (2, 0, 1, 4, 3, 5)) + del tmp824 + t3new.babbab += np.transpose(tmp840, (2, 0, 1, 4, 3, 5)) * 2 + tmp861 = einsum(tmp228, (0, 1, 2, 3), t3.babbab, (4, 5, 0, 6, 7, 2), (5, 4, 1, 7, 6, 3)) * -2 + del tmp228 + t3new.babbab += np.transpose(tmp861, (1, 0, 2, 4, 3, 5)) + t3new.babbab += np.transpose(tmp855, (2, 0, 1, 4, 3, 5)) * -1 + del tmp855 + t3new.babbab += np.transpose(tmp823, (2, 0, 1, 4, 3, 5)) + del tmp823 + t3new.babbab += np.transpose(tmp847, (2, 0, 1, 4, 3, 5)) * 2 + del tmp847 + t3new.babbab += np.transpose(tmp793, (2, 0, 1, 4, 3, 5)) + del tmp793 + t3new.babbab += np.transpose(tmp859, (1, 0, 2, 4, 3, 5)) + t3new.babbab += np.transpose(tmp829, (2, 0, 1, 4, 3, 5)) * -1 + del tmp829 + t3new.babbab += np.transpose(tmp787, (2, 0, 1, 4, 3, 5)) + del tmp787 + tmp862 = np.copy(np.transpose(tmp151, (0, 2, 1, 3))) + tmp862 += tmp463 + t3new.babbab += einsum(tmp862, (0, 1, 2, 3), t2.abab, (4, 5, 2, 6), (5, 4, 0, 3, 1, 6)) * -1 + del tmp862 + tmp863 = einsum(t2.abab, (0, 1, 2, 3), tmp143, (4, 5, 2, 6), (0, 4, 5, 1, 3, 6)) + tmp865 = np.copy(tmp863) + tmp864 = einsum(t1.bb, (0, 1), tmp716, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) + del tmp716 + tmp865 += np.transpose(tmp864, (0, 1, 2, 3, 5, 4)) * -1 + del tmp864 + tmp866 = einsum(t1.aa, (0, 1), tmp865, (2, 0, 3, 4, 5, 6), (2, 3, 4, 1, 5, 6)) + del tmp865 + t3new.babbab += np.transpose(tmp866, (2, 0, 1, 5, 3, 4)) + tmp602 = einsum(t1.aa, (0, 1), v.aabb.vvvv, (2, 1, 3, 4), (0, 2, 3, 4)) + tmp618 = np.copy(np.transpose(tmp602, (0, 1, 3, 2))) + tmp618 += np.transpose(tmp450, (0, 1, 3, 2)) + t3new.babbab += einsum(tmp618, (0, 1, 2, 3), t2.bbbb, (4, 5, 6, 2), (4, 0, 5, 3, 1, 6)) * -2 + tmp867 = einsum(tmp182, (0, 1, 2, 3), t2.bbbb, (4, 5, 6, 3), (0, 1, 4, 5, 6, 2)) + tmp868 = np.copy(np.transpose(tmp867, (0, 1, 3, 2, 4, 5))) * -1 + tmp868 += einsum(t1.bb, (0, 1), tmp729, (2, 3, 4, 5, 0, 6), (2, 3, 5, 4, 6, 1)) + del tmp729 + t3new.babbab += einsum(t1.aa, (0, 1), tmp868, (2, 0, 3, 4, 5, 6), (4, 2, 3, 6, 1, 5)) * -2 + del tmp868 + tmp869 = einsum(t2.abab, (0, 1, 2, 3), tmp255, (4, 5, 3, 6), (0, 4, 1, 2, 6, 5)) + del tmp255 + tmp873 = np.copy(tmp869) + del tmp869 + tmp870 = einsum(t2.abab, (0, 1, 2, 3), tmp23, (4, 5, 6, 3), (0, 4, 1, 6, 5, 2)) + del tmp23 + tmp871 = einsum(t1.bb, (0, 1), tmp870, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 6, 1)) + del tmp870 + tmp872 = einsum(tmp871, (0, 1, 2, 3, 4, 5), t1.bb, (3, 6), (0, 1, 2, 4, 6, 5)) + del tmp871 + tmp873 += tmp872 + del tmp872 + t3new.babbab += np.transpose(tmp873, (2, 0, 1, 4, 3, 5)) * -1 + t3new.babbab += np.transpose(tmp873, (2, 0, 1, 5, 3, 4)) + tmp874 = einsum(tmp176, (0, 1, 2, 3), t2.abab, (4, 5, 6, 2), (4, 1, 0, 5, 6, 3)) * -1 + tmp875 = einsum(t1.bb, (0, 1), tmp874, (2, 3, 0, 4, 5, 6), (2, 3, 4, 5, 6, 1)) * -1 + del tmp874 + t3new.babbab += np.transpose(tmp875, (2, 0, 1, 4, 3, 5)) * -1 + tmp608 = np.copy(np.transpose(tmp151, (0, 2, 1, 3))) + tmp608 += np.transpose(tmp463, (0, 2, 1, 3)) + t3new.babbab += einsum(t2.abab, (0, 1, 2, 3), tmp608, (4, 2, 5, 6), (4, 0, 1, 6, 5, 3)) + t3new.babbab += np.transpose(tmp866, (1, 0, 2, 5, 3, 4)) * -1 + del tmp866 + t3new.babbab += np.transpose(tmp873, (1, 0, 2, 4, 3, 5)) + t3new.babbab += np.transpose(tmp873, (1, 0, 2, 5, 3, 4)) * -1 + del tmp873 + t3new.babbab += np.transpose(tmp875, (1, 0, 2, 4, 3, 5)) + tmp876 = einsum(t2.abab, (0, 1, 2, 3), tmp144, (4, 5, 6, 2), (0, 4, 1, 5, 6, 3)) + tmp877 = einsum(t1.bb, (0, 1), tmp876, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 1, 6)) + del tmp876 + t3new.babbab += np.transpose(tmp877, (2, 0, 1, 5, 3, 4)) * -1 + tmp878 = einsum(tmp151, (0, 1, 2, 3), t2.abab, (4, 5, 2, 6), (4, 0, 5, 1, 6, 3)) + t3new.babbab += np.transpose(tmp878, (2, 0, 1, 4, 3, 5)) + tmp879 = einsum(t2.bbbb, (0, 1, 2, 3), tmp76, (4, 5, 6, 3), (4, 0, 1, 5, 6, 2)) + tmp880 = einsum(t1.bb, (0, 1), tmp879, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 1, 6)) + del tmp879 + t3new.babbab += np.transpose(tmp880, (2, 0, 1, 5, 3, 4)) * 2 + t3new.babbab += einsum(tmp602, (0, 1, 2, 3), t2.bbbb, (4, 5, 6, 3), (4, 0, 5, 6, 1, 2)) * 2 + t3new.babbab += np.transpose(tmp877, (1, 0, 2, 5, 3, 4)) + t3new.babbab += np.transpose(tmp878, (1, 0, 2, 4, 3, 5)) * -1 + del tmp878 + t3new.babbab += np.transpose(tmp725, (1, 0, 2, 5, 3, 4)) * -2 + del tmp725 + t3new.babbab += np.transpose(tmp726, (1, 0, 2, 5, 3, 4)) + del tmp726 + t3new.babbab += np.transpose(tmp711, (1, 0, 2, 5, 3, 4)) * 2 + del tmp711 + t3new.babbab += np.transpose(tmp724, (1, 0, 2, 5, 3, 4)) * -1 + del tmp724 + tmp882 = einsum(tmp881, (0, 1, 2, 3), t2.abab, (4, 5, 6, 3), (4, 5, 0, 6, 1, 2)) + del tmp881 + t3new.babbab += np.transpose(tmp882, (1, 0, 2, 5, 3, 4)) * 2 + tmp883 = einsum(tmp689, (0, 1, 2, 3, 4, 5), t1.bb, (3, 6), (0, 1, 2, 4, 6, 5)) + del tmp689 + t3new.babbab += np.transpose(tmp883, (1, 0, 2, 5, 3, 4)) * -1 + t3new.babbab += np.transpose(tmp731, (2, 0, 1, 5, 3, 4)) * -2 + del tmp731 + t3new.babbab += np.transpose(tmp732, (2, 0, 1, 5, 3, 4)) + del tmp732 + t3new.babbab += np.transpose(tmp882, (2, 0, 1, 5, 3, 4)) * -2 + del tmp882 + t3new.babbab += np.transpose(tmp883, (2, 0, 1, 5, 3, 4)) + del tmp883 + tmp884 = einsum(tmp176, (0, 1, 2, 3), t3.babbab, (4, 5, 0, 6, 7, 2), (5, 4, 1, 7, 6, 3)) * -1 + t3new.babbab += np.transpose(tmp884, (1, 0, 2, 5, 3, 4)) * -1 + tmp885 = einsum(t1.bb, (0, 1), tmp842, (2, 3, 4, 0, 5, 6), (2, 4, 3, 5, 6, 1)) + del tmp842 + t3new.babbab += np.transpose(tmp885, (2, 0, 1, 5, 3, 4)) + t3new.babbab += np.transpose(tmp837, (2, 0, 1, 5, 3, 4)) * 2 + del tmp837 + t3new.babbab += np.transpose(tmp839, (2, 0, 1, 5, 3, 4)) * -2 + del tmp839 + tmp886 = einsum(tmp76, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 1, 6, 7, 3), (0, 4, 5, 2, 6, 7)) + t3new.babbab += np.transpose(tmp886, (2, 0, 1, 5, 3, 4)) * 6 + del tmp886 + tmp887 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), tmp87, (1, 6, 7, 4), (6, 0, 2, 7, 3, 5)) * -1 + t3new.babbab += np.transpose(tmp887, (2, 0, 1, 5, 3, 4)) * 2 + del tmp887 + tmp888 = einsum(tmp2, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 2, 6, 7, 3), (0, 1, 4, 5, 6, 7)) + tmp890 = np.copy(np.transpose(tmp888, (0, 1, 3, 2, 5, 4))) * 3 + del tmp888 + tmp889 = einsum(tmp172, (0, 1, 2, 3), t3.babbab, (4, 1, 5, 6, 3, 7), (0, 2, 4, 5, 6, 7)) + tmp890 += np.transpose(tmp889, (0, 1, 3, 2, 5, 4)) + del tmp889 + tmp891 = einsum(t1.aa, (0, 1), tmp890, (2, 0, 3, 4, 5, 6), (2, 3, 4, 1, 5, 6)) + del tmp890 + t3new.babbab += np.transpose(tmp891, (2, 0, 1, 5, 3, 4)) * -2 + del tmp891 + t3new.babbab += np.transpose(tmp840, (1, 0, 2, 5, 3, 4)) * 2 + t3new.babbab += np.transpose(tmp841, (2, 0, 1, 5, 3, 4)) + del tmp841 + t3new.babbab += np.transpose(tmp844, (1, 0, 2, 5, 3, 4)) * -1 + del tmp844 + t3new.babbab += np.transpose(tmp884, (2, 0, 1, 5, 3, 4)) + del tmp884 + t3new.babbab += np.transpose(tmp885, (1, 0, 2, 5, 3, 4)) * -1 + del tmp885 + t3new.babbab += np.transpose(tmp802, (2, 0, 1, 4, 3, 5)) * -2 + del tmp802 + t3new.babbab += np.transpose(tmp840, (1, 0, 2, 4, 3, 5)) * -2 + del tmp840 + t3new.babbab += np.transpose(tmp861, (2, 0, 1, 4, 3, 5)) * -1 + del tmp861 + t3new.babbab += einsum(tmp796, (0, 1, 2, 3, 4, 5), t1.bb, (3, 6), (2, 0, 1, 6, 4, 5)) * 2 + del tmp796 + t3new.babbab += einsum(tmp817, (0, 1, 2, 3, 4, 5), t1.aa, (1, 6), (3, 0, 2, 4, 6, 5)) * 2 + del tmp817 + tmp892 = einsum(tmp167, (0, 1, 2, 3), t3.babbab, (4, 1, 3, 5, 6, 7), (0, 2, 4, 6, 5, 7)) + t3new.babbab += np.transpose(tmp892, (2, 0, 1, 5, 3, 4)) * -2 + tmp647 = einsum(tmp167, (0, 1, 2, 3), t1.bb, (3, 4), (0, 1, 2, 4)) + tmp893 = einsum(t2.abab, (0, 1, 2, 3), tmp647, (4, 0, 5, 6), (4, 5, 1, 2, 6, 3)) + t3new.babbab += np.transpose(tmp893, (2, 0, 1, 5, 3, 4)) + tmp894 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), tmp259, (6, 7, 2, 0), (1, 6, 7, 4, 3, 5)) * -1 + del tmp259 + t3new.babbab += np.transpose(tmp894, (2, 0, 1, 5, 3, 4)) * 2 + del tmp894 + t3new.babbab += einsum(t2.abab, (0, 1, 2, 3), tmp262, (4, 5, 1, 6), (5, 0, 4, 3, 2, 6)) * -2 + del tmp262 + t3new.babbab += np.transpose(tmp892, (1, 0, 2, 5, 3, 4)) * 2 + del tmp892 + t3new.babbab += np.transpose(tmp893, (1, 0, 2, 5, 3, 4)) * -1 + del tmp893 + tmp895 = einsum(tmp480, (0, 1, 2, 3), t2.abab, (4, 5, 2, 6), (4, 5, 0, 1, 6, 3)) + t3new.babbab += np.transpose(tmp895, (2, 0, 1, 4, 3, 5)) + t3new.babbab += einsum(t2.bbbb, (0, 1, 2, 3), tmp476, (4, 5, 6, 3), (0, 4, 1, 2, 5, 6)) * -2 + t3new.babbab += np.transpose(tmp895, (1, 0, 2, 4, 3, 5)) * -1 + del tmp895 + tmp896 = einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), tmp769, (2, 6, 5, 7), (0, 1, 6, 3, 4, 7)) + del tmp769 + t3new.babbab += np.transpose(tmp896, (1, 0, 2, 4, 3, 5)) * 2 + tmp897 = einsum(tmp772, (0, 1, 2, 3), t3.babbab, (4, 5, 1, 6, 7, 3), (5, 4, 0, 7, 6, 2)) * 2 + del tmp772 + t3new.babbab += np.transpose(tmp897, (1, 0, 2, 4, 3, 5)) + tmp898 = einsum(t2.abab, (0, 1, 2, 3), tmp246, (4, 1, 5, 6), (0, 4, 5, 2, 6, 3)) + del tmp246 + t3new.babbab += np.transpose(tmp898, (2, 0, 1, 5, 3, 4)) * -1 + t3new.babbab += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), tmp470, (6, 1, 7, 5), (0, 6, 2, 3, 4, 7)) * 2 + tmp899 = einsum(t2.abab, (0, 1, 2, 3), tmp146, (4, 0, 5, 6), (4, 1, 5, 2, 6, 3)) + t3new.babbab += np.transpose(tmp899, (2, 0, 1, 5, 3, 4)) * -1 + t3new.babbab += np.transpose(tmp896, (2, 0, 1, 4, 3, 5)) * -2 + del tmp896 + t3new.babbab += np.transpose(tmp897, (2, 0, 1, 4, 3, 5)) * -1 + del tmp897 + t3new.babbab += einsum(t2.abab, (0, 1, 2, 3), tmp162, (0, 4, 5, 6), (5, 4, 1, 3, 2, 6)) + del tmp162 + t3new.babbab += einsum(tmp475, (0, 1, 2, 3), t2.bbbb, (4, 5, 6, 3), (4, 0, 5, 2, 1, 6)) * 2 + t3new.babbab += np.transpose(tmp899, (1, 0, 2, 4, 3, 5)) * -1 + t3new.babbab += np.transpose(tmp899, (1, 0, 2, 5, 3, 4)) + del tmp899 + t3new.babbab += np.transpose(tmp898, (1, 0, 2, 5, 3, 4)) + del tmp898 + tmp900 = einsum(t2.bbbb, (0, 1, 2, 3), tmp149, (4, 5, 1, 6), (4, 0, 5, 6, 2, 3)) + t3new.babbab += np.transpose(tmp900, (2, 0, 1, 5, 3, 4)) * 2 + del tmp900 + tmp901 = np.copy(np.transpose(tmp159, (1, 0, 2, 3))) + tmp901 += einsum(tmp436, (0, 1, 2, 3), t2.abab, (0, 4, 3, 5), (2, 1, 4, 5)) * 0.5 + t3new.babbab += einsum(t2.abab, (0, 1, 2, 3), tmp901, (0, 4, 5, 6), (1, 4, 5, 3, 2, 6)) * -2 + del tmp901 + tmp902 = np.copy(tmp183) * -1 + tmp902 += tmp647 + t3new.babbab += einsum(tmp902, (0, 1, 2, 3), t2.abab, (1, 4, 5, 6), (4, 0, 2, 3, 5, 6)) * -1 + del tmp902 + t3new.babbab += einsum(tmp263, (0, 1, 2, 3), t2.abab, (4, 2, 5, 6), (1, 4, 0, 3, 5, 6)) * -2 + del tmp263 + tmp903 = einsum(tmp170, (0, 1, 2, 3), t2.bbbb, (4, 2, 5, 6), (0, 4, 1, 3, 5, 6)) * -1 + t3new.babbab += np.transpose(tmp903, (1, 0, 2, 5, 3, 4)) * -2 + tmp648 = np.copy(tmp183) + tmp648 += tmp647 * -1 + del tmp647 + t3new.babbab += einsum(t2.abab, (0, 1, 2, 3), tmp648, (4, 0, 5, 6), (5, 4, 1, 6, 2, 3)) * -1 + t3new.babbab += np.transpose(tmp903, (2, 0, 1, 5, 3, 4)) * 2 + del tmp903 + tmp654 = einsum(t2.aaaa, (0, 1, 2, 3), v.aabb.ovvv, (1, 3, 4, 5), (0, 2, 4, 5)) + tmp656 = np.copy(np.transpose(tmp654, (0, 1, 3, 2))) * 2 + del tmp654 + tmp655 = einsum(tmp25, (0, 1, 2, 3), t2.abab, (4, 0, 5, 2), (4, 5, 1, 3)) + del tmp25 + tmp656 += tmp655 * -1 + del tmp655 + tmp904 = einsum(t2.bbbb, (0, 1, 2, 3), tmp656, (4, 5, 3, 6), (4, 0, 1, 5, 2, 6)) * -1 + t3new.babbab += np.transpose(tmp904, (2, 0, 1, 5, 3, 4)) * -2 + t3new.babbab += np.transpose(tmp742, (2, 0, 1, 5, 3, 4)) * -2 + del tmp742 + tmp650 = einsum(t2.bbbb, (0, 1, 2, 3), v.aabb.vvov, (4, 5, 1, 3), (0, 4, 5, 2)) + tmp652 = np.copy(np.transpose(tmp650, (0, 2, 1, 3))) * 2 + del tmp650 + tmp651 = einsum(tmp86, (0, 1, 2, 3), t2.abab, (0, 4, 1, 5), (4, 2, 3, 5)) + del tmp86 + tmp652 += np.transpose(tmp651, (0, 2, 1, 3)) + del tmp651 + tmp905 = einsum(t2.abab, (0, 1, 2, 3), tmp652, (4, 2, 5, 6), (0, 4, 1, 5, 6, 3)) + t3new.babbab += np.transpose(tmp905, (2, 0, 1, 4, 3, 5)) * -1 + tmp482 = np.copy(tmp126) * 2 + tmp482 += tmp241 + del tmp241 + tmp906 = einsum(t2.abab, (0, 1, 2, 3), tmp482, (4, 5, 2, 6), (4, 0, 5, 1, 6, 3)) + tmp907 = einsum(t1.aa, (0, 1), tmp906, (0, 2, 3, 4, 5, 6), (2, 4, 3, 1, 6, 5)) + del tmp906 + t3new.babbab += np.transpose(tmp907, (1, 0, 2, 5, 3, 4)) + t3new.babbab += np.transpose(tmp905, (1, 0, 2, 4, 3, 5)) + t3new.babbab += np.transpose(tmp907, (2, 0, 1, 5, 3, 4)) * -1 + t3new.babbab += np.transpose(tmp859, (1, 0, 2, 5, 3, 4)) * -1 + t3new.babbab += np.transpose(tmp774, (2, 0, 1, 5, 3, 4)) + t3new.babbab += np.transpose(tmp905, (1, 0, 2, 5, 3, 4)) * -1 + t3new.babbab += np.transpose(tmp907, (2, 0, 1, 4, 3, 5)) + t3new.babbab += np.transpose(tmp852, (2, 0, 1, 4, 3, 5)) * 2 + del tmp852 + t3new.babbab += np.transpose(tmp854, (2, 0, 1, 4, 3, 5)) * -2 + del tmp854 + t3new.babbab += np.transpose(tmp859, (2, 0, 1, 5, 3, 4)) + del tmp859 + t3new.babbab += np.transpose(tmp774, (1, 0, 2, 5, 3, 4)) * -1 + del tmp774 + t3new.babbab += np.transpose(tmp905, (2, 0, 1, 5, 3, 4)) + del tmp905 + t3new.babbab += np.transpose(tmp907, (1, 0, 2, 4, 3, 5)) * -1 + del tmp907 + tmp908 = einsum(tmp183, (0, 1, 2, 3), t2.abab, (1, 4, 5, 6), (0, 2, 4, 5, 6, 3)) + del tmp183 + t3new.babbab += np.transpose(tmp908, (2, 0, 1, 4, 3, 5)) * -1 + t3new.babbab += einsum(t2.abab, (0, 1, 2, 3), tmp261, (4, 5, 1, 6), (5, 0, 4, 3, 2, 6)) * 2 + del tmp261 + t3new.babbab += np.transpose(tmp908, (1, 0, 2, 4, 3, 5)) + del tmp908 + tmp909 = einsum(t2.abab, (0, 1, 2, 3), tmp594, (4, 5, 2, 6), (0, 1, 4, 5, 3, 6)) + t3new.babbab += np.transpose(tmp909, (2, 0, 1, 4, 3, 5)) + t3new.babbab += np.transpose(tmp904, (2, 0, 1, 4, 3, 5)) * 2 + del tmp904 + t3new.babbab += np.transpose(tmp909, (1, 0, 2, 4, 3, 5)) * -1 + del tmp909 + tmp461 = einsum(tmp136, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 3, 4)) + tmp670 = np.copy(tmp461) * -1 + tmp670 += tmp177 * 2 + del tmp177 + tmp670 += tmp179 + del tmp179 + tmp910 = einsum(tmp670, (0, 1, 2, 3), t2.bbbb, (4, 2, 5, 6), (0, 4, 1, 3, 5, 6)) * -1 + t3new.babbab += np.transpose(tmp910, (1, 0, 2, 5, 3, 4)) * -2 + tmp912 = einsum(t2.abab, (0, 1, 2, 3), tmp911, (4, 5, 6, 3), (0, 4, 1, 2, 5, 6)) * -1 + del tmp911 + t3new.babbab += np.transpose(tmp912, (2, 0, 1, 5, 3, 4)) * 2 + tmp913 = einsum(tmp715, (0, 1, 2, 3, 4, 5), t1.bb, (3, 6), (0, 1, 2, 4, 6, 5)) + del tmp715 + t3new.babbab += np.transpose(tmp913, (2, 0, 1, 5, 3, 4)) * -1 + tmp914 = einsum(t2.abab, (0, 1, 2, 3), tmp145, (4, 0, 5, 6), (4, 5, 1, 2, 6, 3)) + del tmp145 + t3new.babbab += np.transpose(tmp914, (2, 0, 1, 5, 3, 4)) + t3new.babbab += einsum(t2.abab, (0, 1, 2, 3), tmp231, (4, 5, 1, 6), (5, 0, 4, 3, 2, 6)) + del tmp231 + tmp665 = np.copy(tmp664) * -1 + del tmp664 + tmp665 += tmp171 * 2 + del tmp171 + tmp665 += tmp173 + del tmp173 + tmp915 = einsum(t2.abab, (0, 1, 2, 3), tmp665, (4, 0, 5, 6), (4, 5, 1, 2, 6, 3)) + t3new.babbab += np.transpose(tmp915, (2, 0, 1, 4, 3, 5)) + t3new.babbab += np.transpose(tmp915, (1, 0, 2, 4, 3, 5)) * -1 + del tmp915 + tmp916 = einsum(t2.abab, (0, 1, 2, 3), tmp174, (4, 0, 5, 6), (4, 5, 1, 2, 6, 3)) + del tmp174 + t3new.babbab += np.transpose(tmp916, (2, 0, 1, 5, 3, 4)) * -1 + t3new.babbab += np.transpose(tmp916, (1, 0, 2, 5, 3, 4)) + del tmp916 + t3new.babbab += np.transpose(tmp910, (2, 0, 1, 5, 3, 4)) * 2 + del tmp910 + t3new.babbab += np.transpose(tmp912, (1, 0, 2, 5, 3, 4)) * -2 + del tmp912 + t3new.babbab += np.transpose(tmp913, (1, 0, 2, 5, 3, 4)) + del tmp913 + tmp917 = np.copy(tmp229) * 0.5 + del tmp229 + tmp917 += einsum(t2.bbbb, (0, 1, 2, 3), tmp718, (4, 1, 5, 3), (4, 0, 5, 2)) + del tmp718 + t3new.babbab += einsum(t2.abab, (0, 1, 2, 3), tmp917, (4, 5, 1, 6), (4, 0, 5, 3, 2, 6)) * -2 + del tmp917 + t3new.babbab += np.transpose(tmp914, (1, 0, 2, 5, 3, 4)) * -1 + del tmp914 + tmp918 = np.copy(tmp185) * -1 + tmp677 = einsum(tmp150, (0, 1, 2, 3), t1.bb, (3, 4), (0, 1, 2, 4)) + tmp918 += tmp677 + t3new.babbab += einsum(tmp918, (0, 1, 2, 3), t2.abab, (1, 4, 5, 6), (4, 0, 2, 3, 5, 6)) * -1 + del tmp918 + tmp919 = einsum(tmp253, (0, 1, 2, 3), t2.abab, (4, 2, 5, 6), (4, 1, 0, 5, 3, 6)) + del tmp253 + t3new.babbab += np.transpose(tmp919, (1, 0, 2, 4, 3, 5)) + t3new.babbab += np.transpose(tmp919, (2, 0, 1, 4, 3, 5)) * -1 + tmp920 = einsum(t2.abab, (0, 1, 2, 3), tmp257, (4, 5, 1, 6), (0, 4, 5, 2, 3, 6)) + del tmp257 + t3new.babbab += np.transpose(tmp920, (1, 0, 2, 5, 3, 4)) + t3new.babbab += np.transpose(tmp920, (2, 0, 1, 5, 3, 4)) * -1 + tmp921 = np.copy(tmp153) + tmp921 += tmp154 * -1 + tmp922 = einsum(tmp921, (0, 1, 2, 3), t2.bbbb, (4, 2, 5, 6), (0, 4, 1, 3, 5, 6)) * -1 + del tmp921 + t3new.babbab += np.transpose(tmp922, (1, 0, 2, 5, 3, 4)) * -2 + tmp923 = np.copy(tmp185) + tmp923 += tmp677 * -1 + t3new.babbab += einsum(t2.abab, (0, 1, 2, 3), tmp923, (4, 0, 5, 6), (5, 4, 1, 6, 2, 3)) * -1 + del tmp923 + t3new.babbab += np.transpose(tmp922, (2, 0, 1, 5, 3, 4)) * 2 + del tmp922 + t3new.babbab += np.transpose(tmp877, (2, 0, 1, 4, 3, 5)) + t3new.babbab += np.transpose(tmp880, (2, 0, 1, 4, 3, 5)) * -2 + del tmp880 + t3new.babbab += np.transpose(tmp877, (1, 0, 2, 4, 3, 5)) * -1 + del tmp877 + tmp924 = einsum(t2.abab, (0, 1, 2, 3), tmp185, (4, 0, 5, 6), (4, 5, 1, 2, 3, 6)) + t3new.babbab += np.transpose(tmp924, (2, 0, 1, 4, 3, 5)) * -1 + t3new.babbab += np.transpose(tmp920, (1, 0, 2, 4, 3, 5)) * -1 + t3new.babbab += np.transpose(tmp920, (2, 0, 1, 4, 3, 5)) + del tmp920 + t3new.babbab += np.transpose(tmp875, (2, 0, 1, 5, 3, 4)) + tmp925 = einsum(tmp863, (0, 1, 2, 3, 4, 5), t1.aa, (1, 6), (0, 2, 3, 6, 4, 5)) + del tmp863 + t3new.babbab += np.transpose(tmp925, (2, 0, 1, 4, 3, 5)) * -1 + t3new.babbab += einsum(t1.aa, (0, 1), tmp867, (2, 0, 3, 4, 5, 6), (4, 2, 3, 5, 1, 6)) * 2 + del tmp867 + t3new.babbab += np.transpose(tmp924, (1, 0, 2, 4, 3, 5)) + del tmp924 + t3new.babbab += np.transpose(tmp875, (1, 0, 2, 5, 3, 4)) * -1 + del tmp875 + t3new.babbab += np.transpose(tmp925, (1, 0, 2, 4, 3, 5)) + del tmp925 + tmp926 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), tmp150, (6, 1, 7, 2), (6, 7, 0, 4, 3, 5)) + t3new.babbab += np.transpose(tmp926, (2, 0, 1, 5, 3, 4)) * -2 + tmp927 = einsum(t2.abab, (0, 1, 2, 3), tmp677, (4, 0, 5, 6), (4, 5, 1, 2, 6, 3)) + t3new.babbab += np.transpose(tmp927, (2, 0, 1, 5, 3, 4)) + tmp928 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), tmp251, (6, 7, 0, 2), (1, 6, 7, 4, 3, 5)) + del tmp251 + t3new.babbab += np.transpose(tmp928, (2, 0, 1, 5, 3, 4)) * 2 + del tmp928 + t3new.babbab += np.transpose(tmp919, (1, 0, 2, 5, 3, 4)) * -1 + t3new.babbab += np.transpose(tmp919, (2, 0, 1, 5, 3, 4)) + del tmp919 + t3new.babbab += np.transpose(tmp926, (1, 0, 2, 5, 3, 4)) * 2 + del tmp926 + t3new.babbab += np.transpose(tmp927, (1, 0, 2, 5, 3, 4)) * -1 + del tmp927 + tmp417 = einsum(v.aaaa.oooo, (0, 1, 2, 3), t3.abaaba, (1, 4, 3, 5, 6, 7), (0, 2, 4, 5, 7, 6)) + t3new.abaaba = np.copy(np.transpose(tmp417, (1, 2, 0, 4, 5, 3))) * 2 + del tmp417 + tmp418 = einsum(t2.abab, (0, 1, 2, 3), tmp38, (4, 0, 5, 6), (5, 4, 1, 6, 2, 3)) + t3new.abaaba += np.transpose(tmp418, (0, 2, 1, 4, 5, 3)) * -1 + tmp420 = einsum(tmp419, (0, 1, 2, 3), t2.abab, (4, 5, 6, 3), (4, 0, 5, 6, 1, 2)) + t3new.abaaba += np.transpose(tmp420, (0, 2, 1, 3, 5, 4)) + tmp421 = einsum(tmp21, (0, 1), t3.abaaba, (2, 3, 0, 4, 5, 6), (2, 1, 3, 4, 6, 5)) * -1 + del tmp21 + t3new.abaaba += np.transpose(tmp421, (0, 2, 1, 4, 5, 3)) * -1 + tmp422 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), v.aabb.ooov, (6, 7, 2, 5), (1, 6, 7, 0, 4, 3)) + tmp424 = np.copy(np.transpose(tmp422, (0, 2, 1, 3, 4, 5))) + tmp423 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ooov, (4, 5, 6, 3), (0, 4, 5, 1, 6, 2)) + tmp424 += einsum(t1.bb, (0, 1), tmp423, (2, 3, 4, 5, 0, 6), (2, 4, 3, 5, 6, 1)) * -1 + tmp424 += einsum(tmp102, (0, 1, 2, 3), t3.abaaba, (4, 5, 2, 6, 7, 3), (4, 1, 0, 5, 6, 7)) * 2 + t3new.abaaba += einsum(tmp424, (0, 1, 2, 3, 4, 5), t1.aa, (1, 6), (0, 3, 2, 4, 5, 6)) * -1 + del tmp424 + tmp425 = einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), tmp43, (2, 6), (0, 6, 1, 3, 5, 4)) * -1 + del tmp43 + t3new.abaaba += np.transpose(tmp425, (0, 2, 1, 4, 5, 3)) * -1 + t3new.abaaba += einsum(t2.aaaa, (0, 1, 2, 3), tmp426, (4, 5, 3, 6), (0, 4, 1, 2, 6, 5)) * 2 + tmp427 = einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), v.aabb.oooo, (6, 2, 7, 1), (0, 6, 7, 3, 5, 4)) + t3new.abaaba += np.transpose(tmp427, (1, 2, 0, 4, 5, 3)) * 2 + tmp429 = einsum(tmp428, (0, 1, 2, 3), t2.abab, (4, 2, 5, 6), (4, 0, 1, 3, 5, 6)) + t3new.abaaba += np.transpose(tmp429, (1, 2, 0, 4, 5, 3)) * -1 + tmp430 = einsum(tmp193, (0, 1), t3.abaaba, (2, 0, 3, 4, 5, 6), (2, 3, 1, 4, 6, 5)) + del tmp193 + t3new.abaaba += np.transpose(tmp430, (1, 2, 0, 4, 5, 3)) * -2 + del tmp430 + tmp431 = einsum(v.aabb.ovoo, (0, 1, 2, 3), t3.abaaba, (4, 3, 5, 6, 7, 1), (4, 5, 0, 2, 6, 7)) + tmp433 = np.copy(np.transpose(tmp431, (1, 0, 2, 3, 4, 5))) * -1 + tmp432 = einsum(t2.aaaa, (0, 1, 2, 3), v.aabb.ovoo, (4, 3, 5, 6), (0, 1, 4, 5, 6, 2)) + tmp433 += einsum(t1.bb, (0, 1), tmp432, (2, 3, 4, 5, 0, 6), (3, 2, 4, 5, 6, 1)) * -1 + t3new.abaaba += einsum(t1.aa, (0, 1), tmp433, (2, 3, 0, 4, 5, 6), (3, 4, 2, 5, 6, 1)) * -2 + del tmp433 + t3new.abaaba += np.transpose(tmp420, (1, 2, 0, 3, 5, 4)) * -1 + del tmp420 + tmp434 = einsum(v.aabb.ovov, (0, 1, 2, 3), t3.abaaba, (4, 5, 6, 7, 3, 1), (4, 6, 0, 5, 2, 7)) + tmp435 = einsum(t2.abab, (0, 1, 2, 3), tmp434, (4, 5, 0, 6, 1, 7), (4, 5, 6, 2, 7, 3)) + t3new.abaaba += np.transpose(tmp435, (1, 2, 0, 4, 5, 3)) * -2 + tmp439 = np.copy(np.transpose(tmp422, (2, 0, 1, 3, 4, 5))) * 0.5 + tmp439 += einsum(tmp436, (0, 1, 2, 3), t3.abaaba, (4, 5, 0, 6, 7, 3), (2, 4, 1, 5, 6, 7)) + del tmp436 + tmp437 = einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), tmp11, (6, 5), (6, 0, 2, 1, 3, 4)) * -1 + del tmp11 + tmp439 += np.transpose(tmp437, (0, 2, 1, 3, 4, 5)) + tmp438 = np.copy(np.transpose(tmp423, (0, 2, 1, 3, 4, 5))) * -0.5 + tmp438 += np.transpose(tmp434, (1, 0, 2, 3, 4, 5)) + tmp439 += einsum(t1.bb, (0, 1), tmp438, (2, 3, 4, 5, 0, 6), (4, 2, 3, 5, 6, 1)) + del tmp438 + t3new.abaaba += einsum(t1.aa, (0, 1), tmp439, (0, 2, 3, 4, 5, 6), (3, 4, 2, 5, 6, 1)) * 2 + del tmp439 + t3new.abaaba += einsum(tmp48, (0, 1), t3.abaaba, (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 6, 0)) * -2 + del tmp48 + t3new.abaaba += np.transpose(tmp421, (1, 2, 0, 4, 5, 3)) + del tmp421 + t3new.abaaba += np.transpose(tmp425, (1, 2, 0, 4, 5, 3)) + del tmp425 + tmp440 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), v.aabb.ovov, (6, 7, 2, 5), (1, 6, 0, 4, 7, 3)) + t3new.abaaba += np.transpose(tmp440, (1, 2, 0, 4, 5, 3)) * 2 + tmp441 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t3.abaaba, (4, 5, 2, 6, 7, 3), (4, 0, 5, 6, 1, 7)) + t3new.abaaba += np.transpose(tmp441, (1, 2, 0, 4, 5, 3)) * 2 + t3new.abaaba += einsum(tmp58, (0, 1), t3.abaaba, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 6, 5)) + del tmp58 + t3new.abaaba += einsum(t1.aa, (0, 1), tmp437, (0, 2, 3, 4, 5, 6), (2, 4, 3, 1, 6, 5)) * -1 + del tmp437 + tmp442 = np.copy(f.aa.vv) * -0.5 + tmp442 += np.transpose(tmp3, (1, 0)) * -0.5 + del tmp3 + tmp442 += np.transpose(tmp46, (1, 0)) + del tmp46 + tmp442 += np.transpose(tmp47, (1, 0)) * 0.5 + del tmp47 + tmp442 += einsum(t1.aa, (0, 1), tmp56, (0, 1, 2, 3), (3, 2)) * -0.5 + del tmp56 + t3new.abaaba += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), tmp442, (5, 6), (0, 1, 2, 6, 4, 3)) * 2 + del tmp442 + tmp443 = einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), tmp198, (6, 5), (6, 0, 2, 1, 3, 4)) + t3new.abaaba += einsum(t1.aa, (0, 1), tmp443, (0, 2, 3, 4, 5, 6), (3, 4, 2, 1, 6, 5)) * -1 + del tmp443 + tmp446 = einsum(tmp445, (0, 1), t3.abaaba, (2, 3, 4, 5, 0, 6), (2, 4, 3, 5, 6, 1)) + del tmp445 + t3new.abaaba += np.transpose(tmp446, (1, 2, 0, 4, 5, 3)) * -2 + del tmp446 + tmp447 = einsum(tmp51, (0, 1), t3.abaaba, (2, 3, 4, 5, 1, 6), (2, 4, 3, 0, 5, 6)) + del tmp51 + tmp448 = einsum(tmp447, (0, 1, 2, 3, 4, 5), t1.bb, (3, 6), (1, 0, 2, 5, 4, 6)) + del tmp447 + t3new.abaaba += np.transpose(tmp448, (1, 2, 0, 4, 5, 3)) * -2 + del tmp448 + t3new.abaaba += np.transpose(tmp440, (1, 2, 0, 3, 5, 4)) * -2 + t3new.abaaba += np.transpose(tmp441, (1, 2, 0, 3, 5, 4)) * -2 + t3new.abaaba += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), tmp294, (5, 6), (0, 1, 2, 3, 4, 6)) * 2 + del tmp294 + tmp449 = einsum(tmp67, (0, 1, 2, 3), t3.abaaba, (3, 4, 2, 5, 6, 7), (0, 1, 4, 5, 7, 6)) * -1 + t3new.abaaba += np.transpose(tmp449, (1, 2, 0, 4, 5, 3)) * -2 + tmp451 = einsum(t2.abab, (0, 1, 2, 3), tmp450, (4, 5, 6, 3), (4, 0, 1, 2, 5, 6)) + t3new.abaaba += np.transpose(tmp451, (1, 2, 0, 3, 5, 4)) + tmp452 = einsum(tmp74, (0, 1), t3.abaaba, (2, 3, 1, 4, 5, 6), (2, 0, 3, 4, 6, 5)) * -2 + del tmp74 + t3new.abaaba += np.transpose(tmp452, (0, 2, 1, 4, 5, 3)) * -2 + tmp453 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), tmp2, (6, 7, 2, 5), (6, 1, 7, 0, 4, 3)) + tmp457 = np.copy(tmp453) + tmp454 = einsum(t2.abab, (0, 1, 2, 3), tmp2, (4, 5, 6, 3), (4, 0, 5, 1, 6, 2)) + tmp455 = einsum(tmp454, (0, 1, 2, 3, 4, 5), t1.bb, (4, 6), (0, 1, 2, 3, 5, 6)) + tmp457 += tmp455 * -1 + del tmp455 + tmp456 = einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), tmp374, (6, 7, 2, 5), (0, 6, 7, 1, 3, 4)) * 2 + del tmp374 + tmp457 += np.transpose(tmp456, (1, 0, 2, 3, 4, 5)) + del tmp456 + tmp458 = einsum(t1.aa, (0, 1), tmp457, (2, 3, 0, 4, 5, 6), (2, 3, 4, 5, 1, 6)) + del tmp457 + t3new.abaaba += np.transpose(tmp458, (1, 2, 0, 3, 5, 4)) * -1 + tmp459 = einsum(t2.abab, (0, 1, 2, 3), tmp309, (4, 5, 0, 6), (4, 5, 1, 6, 2, 3)) + del tmp309 + t3new.abaaba += np.transpose(tmp459, (1, 2, 0, 4, 5, 3)) + tmp460 = einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), tmp136, (6, 2, 7, 1), (0, 6, 7, 3, 5, 4)) + del tmp136 + t3new.abaaba += np.transpose(tmp460, (1, 2, 0, 4, 5, 3)) * 2 + tmp462 = einsum(tmp461, (0, 1, 2, 3), t2.abab, (4, 2, 5, 6), (4, 0, 1, 3, 5, 6)) + del tmp461 + t3new.abaaba += np.transpose(tmp462, (1, 2, 0, 4, 5, 3)) * -1 + t3new.abaaba += einsum(t2.aaaa, (0, 1, 2, 3), tmp463, (4, 5, 3, 6), (0, 4, 1, 2, 6, 5)) * 2 + del tmp463 + tmp464 = einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), tmp31, (1, 6), (0, 2, 6, 3, 5, 4)) + del tmp31 + t3new.abaaba += np.transpose(tmp464, (1, 2, 0, 4, 5, 3)) * -2 + del tmp464 + tmp465 = einsum(tmp22, (0, 1, 2, 3), t3.abaaba, (4, 2, 5, 6, 7, 3), (4, 5, 0, 1, 6, 7)) + tmp467 = np.copy(np.transpose(tmp465, (1, 0, 2, 3, 4, 5))) * -1 + tmp466 = einsum(t2.aaaa, (0, 1, 2, 3), tmp22, (4, 5, 6, 3), (0, 1, 4, 5, 6, 2)) + tmp467 += einsum(tmp466, (0, 1, 2, 3, 4, 5), t1.bb, (4, 6), (1, 0, 2, 3, 5, 6)) * -1 + t3new.abaaba += einsum(t1.aa, (0, 1), tmp467, (2, 3, 0, 4, 5, 6), (3, 4, 2, 5, 6, 1)) * -2 + del tmp467 + tmp468 = einsum(tmp139, (0, 1, 2, 3), t3.abaaba, (4, 3, 1, 5, 6, 7), (0, 4, 2, 5, 7, 6)) + del tmp139 + t3new.abaaba += np.transpose(tmp468, (0, 2, 1, 4, 5, 3)) * 2 + tmp469 = einsum(t2.abab, (0, 1, 2, 3), tmp141, (4, 5, 1, 6), (4, 0, 5, 6, 2, 3)) + del tmp141 + t3new.abaaba += np.transpose(tmp469, (0, 2, 1, 4, 5, 3)) * -1 + t3new.abaaba += np.transpose(tmp451, (0, 2, 1, 3, 5, 4)) * -1 + del tmp451 + t3new.abaaba += np.transpose(tmp452, (1, 2, 0, 4, 5, 3)) * 2 + del tmp452 + t3new.abaaba += np.transpose(tmp458, (0, 2, 1, 3, 5, 4)) + del tmp458 + tmp471 = einsum(tmp470, (0, 1, 2, 3), t2.abab, (4, 5, 6, 3), (4, 0, 1, 5, 6, 2)) + tmp472 = einsum(t1.aa, (0, 1), tmp471, (2, 3, 0, 4, 5, 6), (2, 3, 4, 1, 5, 6)) + del tmp471 + t3new.abaaba += np.transpose(tmp472, (1, 2, 0, 4, 5, 3)) * -1 + tmp474 = np.copy(np.transpose(tmp428, (0, 2, 1, 3))) * -1 + del tmp428 + tmp474 += np.transpose(tmp163, (0, 2, 1, 3)) * 2 + tmp474 += np.transpose(tmp131, (0, 2, 1, 3)) * 2 + tmp474 += np.transpose(tmp132, (0, 2, 1, 3)) * 2 + tmp474 += einsum(t2.abab, (0, 1, 2, 3), tmp473, (1, 4, 5, 3), (0, 5, 4, 2)) + tmp474 += tmp133 + t3new.abaaba += einsum(t2.abab, (0, 1, 2, 3), tmp474, (4, 1, 5, 6), (0, 5, 4, 6, 3, 2)) + del tmp474 + tmp477 = np.copy(tmp475) * 0.5 + tmp477 += tmp476 + t3new.abaaba += einsum(t2.abab, (0, 1, 2, 3), tmp477, (4, 5, 6, 3), (4, 1, 0, 2, 6, 5)) * 2 + del tmp477 + tmp478 = np.copy(np.transpose(tmp38, (1, 0, 2, 3))) * -0.5 + del tmp38 + tmp478 += np.transpose(tmp97, (2, 1, 0, 3)) * 0.5 + del tmp97 + tmp478 += np.transpose(tmp59, (2, 1, 0, 3)) * 3 + del tmp59 + tmp478 += np.transpose(tmp60, (2, 1, 0, 3)) + del tmp60 + tmp478 += np.transpose(tmp326, (1, 0, 2, 3)) + del tmp326 + tmp478 += np.transpose(tmp61, (0, 2, 1, 3)) * -1 + del tmp61 + t3new.abaaba += einsum(t2.abab, (0, 1, 2, 3), tmp478, (0, 4, 5, 6), (4, 1, 5, 6, 3, 2)) * 2 + del tmp478 + tmp481 = np.copy(tmp479) * 0.5 + tmp481 += tmp480 + t3new.abaaba += einsum(tmp481, (0, 1, 2, 3), t2.aaaa, (4, 5, 6, 2), (4, 0, 5, 6, 3, 1)) * -4 + del tmp481 + tmp483 = einsum(tmp482, (0, 1, 2, 3), t2.aaaa, (4, 5, 6, 2), (0, 4, 5, 1, 6, 3)) * -1 + del tmp482 + tmp484 = einsum(t1.aa, (0, 1), tmp483, (0, 2, 3, 4, 5, 6), (3, 2, 4, 5, 1, 6)) + del tmp483 + t3new.abaaba += np.transpose(tmp484, (1, 2, 0, 3, 5, 4)) * 2 + tmp485 = einsum(tmp317, (0, 1, 2, 3), t2.abab, (4, 5, 3, 6), (0, 4, 5, 1, 2, 6)) + del tmp317 + t3new.abaaba += np.transpose(tmp485, (0, 2, 1, 4, 5, 3)) * 2 + tmp487 = np.copy(tmp146) * -1 + tmp486 = einsum(t2.abab, (0, 1, 2, 3), tmp198, (4, 2), (4, 0, 1, 3)) + del tmp198 + tmp487 += np.transpose(tmp486, (1, 0, 2, 3)) + tmp488 = einsum(tmp487, (0, 1, 2, 3), t2.aaaa, (4, 1, 5, 6), (0, 4, 2, 5, 6, 3)) * -1 + del tmp487 + t3new.abaaba += np.transpose(tmp488, (1, 2, 0, 4, 5, 3)) * -2 + del tmp488 + t3new.abaaba += np.transpose(tmp472, (0, 2, 1, 4, 5, 3)) + tmp489 = np.copy(np.transpose(tmp149, (0, 2, 1, 3))) * -1 + tmp489 += np.transpose(tmp131, (0, 2, 1, 3)) * 2 + tmp489 += np.transpose(tmp132, (0, 2, 1, 3)) * 2 + tmp489 += tmp133 + del tmp133 + t3new.abaaba += einsum(t2.abab, (0, 1, 2, 3), tmp489, (4, 1, 5, 6), (4, 5, 0, 6, 3, 2)) * -1 + del tmp489 + tmp490 = np.copy(tmp475) + tmp490 += tmp476 * 2 + t3new.abaaba += einsum(tmp490, (0, 1, 2, 3), t2.abab, (4, 5, 6, 3), (4, 5, 0, 6, 2, 1)) * -1 + del tmp490 + tmp491 = np.copy(np.transpose(tmp120, (1, 0, 2, 3))) * -1 + del tmp120 + tmp491 += np.transpose(tmp159, (1, 0, 2, 3)) * 2 + del tmp159 + tmp491 += np.transpose(tmp161, (1, 0, 2, 3)) + del tmp161 + tmp491 += tmp486 + del tmp486 + tmp492 = einsum(tmp491, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 6), (1, 4, 2, 5, 6, 3)) * -1 + del tmp491 + t3new.abaaba += np.transpose(tmp492, (0, 2, 1, 4, 5, 3)) * 2 + del tmp492 + t3new.abaaba += np.transpose(tmp485, (1, 2, 0, 4, 5, 3)) * -2 + del tmp485 + tmp493 = einsum(t1.aa, (0, 1), tmp423, (2, 3, 0, 4, 5, 6), (2, 3, 4, 5, 1, 6)) + del tmp423 + tmp494 = einsum(t1.bb, (0, 1), tmp493, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 6, 1)) + del tmp493 + t3new.abaaba += np.transpose(tmp494, (1, 2, 0, 3, 5, 4)) + tmp495 = np.copy(tmp419) * -0.5 + del tmp419 + tmp495 += tmp475 + tmp495 += tmp476 * 0.5 + tmp496 = einsum(tmp495, (0, 1, 2, 3), t2.abab, (4, 5, 6, 3), (0, 4, 5, 1, 6, 2)) * 2 + del tmp495 + t3new.abaaba += np.transpose(tmp496, (0, 2, 1, 3, 5, 4)) * -1 + tmp498 = np.copy(tmp131) + del tmp131 + tmp498 += tmp132 + del tmp132 + tmp497 = einsum(t2.abab, (0, 1, 2, 3), tmp17, (4, 3), (0, 4, 1, 2)) * 0.5 + del tmp17 + tmp498 += np.transpose(tmp497, (0, 2, 1, 3)) + del tmp497 + tmp499 = einsum(tmp498, (0, 1, 2, 3), t2.abab, (4, 2, 5, 6), (0, 4, 1, 3, 5, 6)) * 2 + del tmp498 + t3new.abaaba += np.transpose(tmp499, (1, 2, 0, 4, 5, 3)) * -1 + tmp500 = np.copy(tmp426) * -1 + del tmp426 + tmp500 += tmp479 * 2 + tmp500 += tmp480 + t3new.abaaba += einsum(tmp500, (0, 1, 2, 3), t2.aaaa, (4, 5, 6, 2), (4, 0, 5, 1, 3, 6)) * 2 + del tmp500 + t3new.abaaba += einsum(t2.abab, (0, 1, 2, 3), tmp62, (0, 4, 5, 6), (5, 1, 4, 2, 3, 6)) * -2 + del tmp62 + tmp501 = einsum(t2.aaaa, (0, 1, 2, 3), v.aabb.vvoo, (4, 3, 5, 6), (0, 1, 5, 6, 2, 4)) + tmp502 = np.copy(np.transpose(tmp501, (1, 0, 3, 2, 4, 5))) * -1 + tmp502 += einsum(t1.aa, (0, 1), tmp432, (2, 3, 0, 4, 5, 6), (3, 2, 5, 4, 6, 1)) + del tmp432 + t3new.abaaba += einsum(tmp502, (0, 1, 2, 3, 4, 5), t1.bb, (2, 6), (1, 3, 0, 5, 6, 4)) * -2 + del tmp502 + t3new.abaaba += np.transpose(tmp494, (0, 2, 1, 3, 5, 4)) * -1 + del tmp494 + t3new.abaaba += np.transpose(tmp496, (1, 2, 0, 3, 5, 4)) + del tmp496 + t3new.abaaba += np.transpose(tmp499, (0, 2, 1, 4, 5, 3)) + del tmp499 + tmp503 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovoo, (4, 5, 6, 1), (0, 4, 6, 2, 5, 3)) + t3new.abaaba += np.transpose(tmp503, (0, 2, 1, 4, 5, 3)) + tmp504 = einsum(v.aaaa.ooov, (0, 1, 2, 3), t2.abab, (1, 4, 5, 6), (0, 2, 4, 5, 3, 6)) + t3new.abaaba += np.transpose(tmp504, (0, 2, 1, 4, 5, 3)) + t3new.abaaba += np.transpose(tmp504, (1, 2, 0, 4, 5, 3)) * -1 + tmp506 = np.copy(v.aaaa.oovv) * -1 + tmp506 += tmp53 + tmp505 = einsum(t2.aaaa, (0, 1, 2, 3), tmp319, (1, 4, 3, 5), (4, 0, 5, 2)) * 2 + del tmp319 + tmp506 += np.transpose(tmp505, (1, 0, 3, 2)) * -1 + tmp507 = einsum(tmp506, (0, 1, 2, 3), t3.abaaba, (4, 5, 1, 6, 7, 3), (4, 0, 5, 6, 2, 7)) + del tmp506 + t3new.abaaba += np.transpose(tmp507, (0, 2, 1, 4, 5, 3)) * -2 + tmp508 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), tmp340, (6, 2, 7, 5), (1, 6, 0, 4, 7, 3)) * 2 + t3new.abaaba += np.transpose(tmp508, (0, 2, 1, 4, 5, 3)) * -1 + tmp510 = np.copy(np.transpose(tmp422, (0, 2, 1, 3, 4, 5))) + tmp509 = einsum(tmp102, (0, 1, 2, 3), t3.abaaba, (4, 5, 2, 6, 7, 3), (4, 0, 1, 5, 6, 7)) * 0.5 + del tmp102 + tmp510 += np.transpose(tmp509, (0, 2, 1, 3, 4, 5)) + del tmp509 + tmp511 = einsum(t1.aa, (0, 1), tmp510, (2, 0, 3, 4, 5, 6), (2, 3, 4, 5, 1, 6)) * 2 + del tmp510 + t3new.abaaba += np.transpose(tmp511, (0, 2, 1, 4, 5, 3)) + tmp512 = einsum(t2.abab, (0, 1, 2, 3), tmp321, (4, 5, 6, 2), (4, 5, 0, 1, 6, 3)) + tmp513 = einsum(tmp512, (0, 1, 2, 3, 4, 5), t1.aa, (1, 6), (0, 2, 3, 4, 6, 5)) * 2 + del tmp512 + t3new.abaaba += np.transpose(tmp513, (1, 2, 0, 3, 5, 4)) + tmp514 = einsum(v.aabb.ooov, (0, 1, 2, 3), t2.aaaa, (4, 1, 5, 6), (4, 0, 2, 5, 6, 3)) + t3new.abaaba += np.transpose(tmp514, (0, 2, 1, 4, 5, 3)) * 2 + tmp515 = einsum(t1.aa, (0, 1), tmp431, (2, 3, 0, 4, 5, 6), (2, 3, 4, 1, 5, 6)) + del tmp431 + t3new.abaaba += np.transpose(tmp515, (1, 2, 0, 3, 5, 4)) * 2 + del tmp515 + t3new.abaaba += np.transpose(tmp503, (1, 2, 0, 4, 5, 3)) * -1 + tmp517 = einsum(tmp516, (0, 1, 2, 3), t3.abaaba, (4, 0, 5, 6, 7, 2), (4, 5, 1, 6, 3, 7)) * -1 + del tmp516 + t3new.abaaba += np.transpose(tmp517, (1, 2, 0, 4, 5, 3)) * -2 + del tmp517 + t3new.abaaba += np.transpose(tmp514, (1, 2, 0, 4, 5, 3)) * -2 + del tmp514 + tmp518 = einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), v.aabb.ooov, (6, 2, 7, 4), (0, 6, 1, 7, 3, 5)) + tmp519 = einsum(t1.bb, (0, 1), tmp518, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 6, 1)) + del tmp518 + t3new.abaaba += np.transpose(tmp519, (1, 2, 0, 4, 5, 3)) * 2 + tmp520 = np.copy(v.aabb.oovv) * -1 + tmp520 += np.transpose(tmp470, (1, 0, 3, 2)) + del tmp470 + tmp521 = einsum(tmp520, (0, 1, 2, 3), t3.abaaba, (4, 5, 0, 6, 2, 7), (4, 1, 5, 6, 7, 3)) * -1 + del tmp520 + t3new.abaaba += np.transpose(tmp521, (1, 2, 0, 4, 5, 3)) * -2 + t3new.abaaba += np.transpose(tmp503, (0, 2, 1, 3, 5, 4)) * -1 + t3new.abaaba += np.transpose(tmp504, (0, 2, 1, 3, 5, 4)) * -1 + tmp522 = einsum(v.aaaa.oovv, (0, 1, 2, 3), t3.abaaba, (4, 5, 1, 6, 7, 3), (4, 0, 5, 6, 2, 7)) + t3new.abaaba += np.transpose(tmp522, (0, 2, 1, 3, 5, 4)) * -2 + t3new.abaaba += np.transpose(tmp504, (1, 2, 0, 3, 5, 4)) + del tmp504 + t3new.abaaba += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), v.aabb.vvoo, (6, 5, 7, 1), (0, 7, 2, 3, 4, 6)) * -2 + t3new.abaaba += np.transpose(tmp503, (1, 2, 0, 3, 5, 4)) + del tmp503 + t3new.abaaba += np.transpose(tmp472, (0, 2, 1, 3, 5, 4)) * -1 + tmp523 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 6, 3), (0, 4, 1, 6, 2, 5)) + tmp524 = einsum(tmp523, (0, 1, 2, 3, 4, 5), t1.bb, (3, 6), (0, 1, 2, 4, 5, 6)) + del tmp523 + t3new.abaaba += np.transpose(tmp524, (0, 2, 1, 4, 5, 3)) + tmp526 = np.copy(v.aabb.ovvv) + tmp526 += np.transpose(tmp525, (0, 1, 3, 2)) * -1 + tmp527 = einsum(tmp526, (0, 1, 2, 3), t2.abab, (4, 5, 6, 2), (0, 4, 5, 1, 6, 3)) + del tmp526 + t3new.abaaba += np.transpose(tmp527, (1, 2, 0, 3, 5, 4)) * -1 + tmp528 = einsum(t2.aaaa, (0, 1, 2, 3), v.aabb.vvov, (4, 3, 5, 6), (0, 1, 5, 2, 4, 6)) + t3new.abaaba += np.transpose(tmp528, (1, 2, 0, 4, 5, 3)) * 2 + tmp529 = einsum(t2.abab, (0, 1, 2, 3), v.aaaa.ovvv, (4, 5, 6, 2), (0, 4, 1, 5, 6, 3)) + t3new.abaaba += np.transpose(tmp529, (0, 2, 1, 4, 5, 3)) + t3new.abaaba += np.transpose(tmp529, (0, 2, 1, 3, 5, 4)) * -1 + tmp530 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.abab, (4, 5, 3, 6), (4, 0, 2, 5, 1, 6)) + tmp531 = einsum(t1.aa, (0, 1), tmp530, (2, 3, 0, 4, 5, 6), (2, 3, 4, 1, 5, 6)) + del tmp530 + t3new.abaaba += np.transpose(tmp531, (0, 2, 1, 4, 5, 3)) + t3new.abaaba += np.transpose(tmp472, (1, 2, 0, 3, 5, 4)) + del tmp472 + t3new.abaaba += np.transpose(tmp524, (1, 2, 0, 4, 5, 3)) * -1 + t3new.abaaba += np.transpose(tmp527, (0, 2, 1, 3, 5, 4)) + del tmp527 + t3new.abaaba += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), v.aaaa.vvvv, (6, 3, 7, 5), (0, 1, 2, 6, 4, 7)) * 2 + tmp532 = einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), v.aaaa.ovov, (6, 5, 7, 3), (0, 2, 6, 7, 1, 4)) * -1 + tmp533 = einsum(t2.aaaa, (0, 1, 2, 3), tmp532, (4, 5, 1, 0, 6, 7), (4, 5, 6, 2, 3, 7)) * -1 + t3new.abaaba += np.transpose(tmp533, (1, 2, 0, 4, 5, 3)) * 2 + del tmp533 + t3new.abaaba += np.transpose(tmp529, (1, 2, 0, 4, 5, 3)) * -1 + tmp534 = einsum(v.aaaa.ovvv, (0, 1, 2, 3), t3.abaaba, (4, 5, 6, 3, 7, 1), (4, 6, 0, 5, 2, 7)) * -1 + tmp535 = np.copy(np.transpose(tmp534, (1, 0, 2, 3, 4, 5))) * -1 + tmp535 += einsum(t1.aa, (0, 1), tmp532, (2, 3, 4, 0, 5, 6), (3, 2, 4, 5, 1, 6)) + del tmp532 + t3new.abaaba += einsum(t1.aa, (0, 1), tmp535, (2, 3, 0, 4, 5, 6), (3, 4, 2, 5, 6, 1)) * -2 + del tmp535 + t3new.abaaba += np.transpose(tmp529, (1, 2, 0, 3, 5, 4)) + del tmp529 + t3new.abaaba += np.transpose(tmp531, (1, 2, 0, 4, 5, 3)) * -1 + tmp536 = einsum(v.aabb.ovvv, (0, 1, 2, 3), t2.abab, (4, 5, 6, 3), (4, 0, 5, 6, 1, 2)) + t3new.abaaba += np.transpose(tmp536, (0, 2, 1, 3, 5, 4)) + t3new.abaaba += np.transpose(tmp528, (1, 2, 0, 3, 5, 4)) * -2 + del tmp528 + tmp537 = einsum(t2.aaaa, (0, 1, 2, 3), v.aabb.ovov, (4, 3, 5, 6), (0, 1, 4, 5, 2, 6)) + tmp538 = einsum(t1.aa, (0, 1), tmp537, (2, 3, 0, 4, 5, 6), (2, 3, 4, 1, 5, 6)) + del tmp537 + t3new.abaaba += np.transpose(tmp538, (1, 2, 0, 4, 5, 3)) * 2 + tmp539 = einsum(v.aabb.ovvv, (0, 1, 2, 3), t3.abaaba, (4, 5, 6, 7, 3, 1), (4, 6, 0, 5, 7, 2)) + tmp540 = einsum(t1.aa, (0, 1), tmp539, (2, 3, 0, 4, 5, 6), (2, 3, 4, 1, 5, 6)) + del tmp539 + t3new.abaaba += np.transpose(tmp540, (1, 2, 0, 4, 5, 3)) * 2 + tmp541 = einsum(v.aabb.vvvv, (0, 1, 2, 3), t3.abaaba, (4, 5, 6, 7, 3, 1), (4, 6, 5, 7, 0, 2)) + t3new.abaaba += np.transpose(tmp541, (1, 2, 0, 3, 5, 4)) * -2 + t3new.abaaba += np.transpose(tmp536, (1, 2, 0, 3, 5, 4)) * -1 + del tmp536 + t3new.abaaba += np.transpose(tmp427, (0, 2, 1, 4, 5, 3)) * -2 + del tmp427 + t3new.abaaba += np.transpose(tmp429, (0, 2, 1, 4, 5, 3)) + del tmp429 + t3new.abaaba += np.transpose(tmp418, (1, 2, 0, 4, 5, 3)) + del tmp418 + t3new.abaaba += np.transpose(tmp441, (0, 2, 1, 4, 5, 3)) * -2 + t3new.abaaba += np.transpose(tmp440, (0, 2, 1, 4, 5, 3)) * -2 + tmp542 = einsum(tmp98, (0, 1, 2, 3), t3.abaaba, (4, 5, 2, 6, 7, 3), (4, 0, 1, 5, 6, 7)) + del tmp98 + tmp543 = einsum(t1.aa, (0, 1), tmp542, (2, 3, 0, 4, 5, 6), (2, 3, 4, 5, 1, 6)) + del tmp542 + t3new.abaaba += np.transpose(tmp543, (0, 2, 1, 4, 5, 3)) + t3new.abaaba += np.transpose(tmp519, (0, 2, 1, 4, 5, 3)) * -2 + del tmp519 + t3new.abaaba += np.transpose(tmp521, (0, 2, 1, 4, 5, 3)) * 2 + del tmp521 + tmp544 = einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), v.aabb.ovov, (2, 5, 6, 7), (0, 1, 6, 3, 4, 7)) + t3new.abaaba += np.transpose(tmp544, (1, 2, 0, 4, 5, 3)) * 6 + del tmp544 + tmp545 = einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), v.bbbb.ovov, (6, 7, 1, 4), (0, 2, 6, 3, 5, 7)) + t3new.abaaba += np.transpose(tmp545, (1, 2, 0, 4, 5, 3)) * 2 + del tmp545 + tmp548 = np.copy(v.bbbb.oovv) * -0.499999999999995 + tmp548 += np.transpose(tmp200, (1, 0, 3, 2)) * 0.5 + del tmp200 + tmp548 += np.transpose(tmp547, (1, 0, 3, 2)) + del tmp547 + tmp549 = einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), tmp548, (1, 6, 4, 7), (0, 2, 6, 3, 5, 7)) * 2 + del tmp548 + t3new.abaaba += np.transpose(tmp549, (1, 2, 0, 4, 5, 3)) * 2 + del tmp549 + tmp551 = np.copy(tmp126) * 2 + del tmp126 + tmp551 += tmp550 + del tmp550 + tmp552 = einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), tmp551, (2, 6, 5, 7), (0, 1, 6, 3, 4, 7)) * 3 + del tmp551 + t3new.abaaba += np.transpose(tmp552, (0, 2, 1, 3, 5, 4)) * 2 + del tmp552 + tmp553 = einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), v.aabb.ovoo, (2, 5, 6, 7), (0, 1, 6, 7, 3, 4)) + tmp555 = np.copy(np.transpose(tmp553, (1, 0, 3, 2, 5, 4))) * 3 + del tmp553 + tmp554 = einsum(tmp164, (0, 1, 2, 3), t3.abaaba, (4, 0, 5, 6, 3, 7), (4, 5, 1, 2, 6, 7)) + del tmp164 + tmp555 += np.transpose(tmp554, (1, 0, 3, 2, 5, 4)) + del tmp554 + tmp556 = einsum(tmp555, (0, 1, 2, 3, 4, 5), t1.bb, (2, 6), (0, 1, 3, 4, 5, 6)) + del tmp555 + t3new.abaaba += np.transpose(tmp556, (1, 2, 0, 4, 5, 3)) * -2 + del tmp556 + t3new.abaaba += np.transpose(tmp507, (1, 2, 0, 4, 5, 3)) * 2 + del tmp507 + t3new.abaaba += np.transpose(tmp508, (1, 2, 0, 4, 5, 3)) + del tmp508 + t3new.abaaba += np.transpose(tmp511, (1, 2, 0, 4, 5, 3)) * -1 + del tmp511 + t3new.abaaba += np.transpose(tmp513, (0, 2, 1, 3, 5, 4)) * -1 + del tmp513 + t3new.abaaba += np.transpose(tmp543, (1, 2, 0, 4, 5, 3)) * -1 + del tmp543 + t3new.abaaba += np.transpose(tmp441, (0, 2, 1, 3, 5, 4)) * 2 + del tmp441 + t3new.abaaba += np.transpose(tmp440, (0, 2, 1, 3, 5, 4)) * 2 + del tmp440 + t3new.abaaba += np.transpose(tmp522, (1, 2, 0, 3, 5, 4)) * 2 + del tmp522 + t3new.abaaba += np.transpose(tmp435, (1, 2, 0, 3, 5, 4)) * 2 + del tmp435 + t3new.abaaba += np.transpose(tmp541, (1, 2, 0, 4, 5, 3)) * 2 + del tmp541 + tmp557 = einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), v.aabb.vvov, (6, 5, 7, 4), (0, 2, 1, 7, 3, 6)) + tmp558 = np.copy(np.transpose(tmp557, (1, 0, 2, 3, 4, 5))) * -1 + tmp558 += einsum(t1.aa, (0, 1), tmp434, (2, 3, 0, 4, 5, 6), (3, 2, 4, 5, 6, 1)) + del tmp434 + t3new.abaaba += einsum(tmp558, (0, 1, 2, 3, 4, 5), t1.bb, (3, 6), (1, 2, 0, 5, 6, 4)) * -2 + del tmp558 + t3new.abaaba += einsum(t2.abab, (0, 1, 2, 3), tmp367, (0, 4, 5, 6), (5, 1, 4, 6, 3, 2)) + del tmp367 + tmp560 = einsum(tmp559, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 6), (1, 4, 2, 5, 6, 3)) * -1 + del tmp559 + t3new.abaaba += np.transpose(tmp560, (1, 2, 0, 4, 5, 3)) * -2 + del tmp560 + t3new.abaaba += einsum(t2.abab, (0, 1, 2, 3), tmp561, (4, 1, 5, 6), (4, 5, 0, 6, 3, 2)) * -1 + del tmp561 + tmp562 = einsum(t2.abab, (0, 1, 2, 3), tmp22, (4, 5, 1, 6), (0, 4, 5, 2, 6, 3)) + t3new.abaaba += np.transpose(tmp562, (0, 2, 1, 4, 5, 3)) + tmp563 = einsum(t2.abab, (0, 1, 2, 3), tmp0, (4, 5, 0, 6), (4, 5, 1, 2, 6, 3)) + t3new.abaaba += np.transpose(tmp563, (0, 2, 1, 4, 5, 3)) + tmp566 = np.copy(np.transpose(tmp65, (0, 2, 1, 3))) + tmp566 += np.transpose(tmp81, (0, 2, 1, 3)) * -1 + tmp564 = np.copy(tmp0) + tmp564 += np.transpose(tmp0, (0, 2, 1, 3)) * -1 + tmp566 += einsum(t2.aaaa, (0, 1, 2, 3), tmp564, (4, 5, 1, 3), (4, 5, 0, 2)) * 2 + del tmp564 + tmp565 = np.copy(np.transpose(tmp67, (0, 2, 1, 3))) + tmp565 += np.transpose(tmp67, (0, 3, 2, 1)) * -1 + tmp566 += einsum(tmp565, (0, 1, 2, 3), t1.aa, (1, 4), (0, 3, 2, 4)) + del tmp565 + t3new.abaaba += einsum(t2.abab, (0, 1, 2, 3), tmp566, (4, 0, 5, 6), (4, 1, 5, 6, 3, 2)) * -1 + del tmp566 + tmp568 = einsum(tmp567, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 6), (1, 4, 2, 5, 6, 3)) * -1 + del tmp567 + t3new.abaaba += np.transpose(tmp568, (1, 2, 0, 4, 5, 3)) * 2 + tmp569 = einsum(t2.abab, (0, 1, 2, 3), v.aaaa.oovv, (4, 5, 6, 2), (0, 4, 5, 1, 6, 3)) + tmp570 = einsum(t1.aa, (0, 1), tmp569, (2, 3, 0, 4, 5, 6), (2, 3, 4, 1, 5, 6)) + del tmp569 + t3new.abaaba += np.transpose(tmp570, (0, 2, 1, 4, 5, 3)) * -1 + tmp571 = einsum(t2.abab, (0, 1, 2, 3), v.aaaa.ooov, (4, 5, 6, 2), (0, 4, 5, 6, 1, 3)) + tmp572 = einsum(t1.aa, (0, 1), tmp571, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 1, 6)) + del tmp571 + tmp573 = einsum(t1.aa, (0, 1), tmp572, (2, 3, 0, 4, 5, 6), (2, 3, 4, 1, 5, 6)) + del tmp572 + t3new.abaaba += np.transpose(tmp573, (0, 2, 1, 3, 5, 4)) * -1 + t3new.abaaba += np.transpose(tmp573, (0, 2, 1, 4, 5, 3)) + tmp574 = np.copy(tmp127) + del tmp127 + tmp574 += tmp128 + del tmp128 + tmp575 = einsum(tmp574, (0, 1, 2, 3), t2.aaaa, (4, 1, 5, 6), (0, 4, 2, 5, 6, 3)) * -2 + del tmp574 + t3new.abaaba += np.transpose(tmp575, (0, 2, 1, 4, 5, 3)) * 2 + tmp577 = einsum(t2.abab, (0, 1, 2, 3), tmp576, (4, 1, 5, 6), (4, 0, 5, 6, 2, 3)) + del tmp576 + t3new.abaaba += np.transpose(tmp577, (1, 2, 0, 3, 5, 4)) * -1 + t3new.abaaba += np.transpose(tmp577, (0, 2, 1, 3, 5, 4)) + del tmp577 + tmp578 = einsum(tmp2, (0, 1, 2, 3), t2.aaaa, (4, 1, 5, 6), (0, 4, 2, 5, 6, 3)) + t3new.abaaba += np.transpose(tmp578, (1, 2, 0, 4, 5, 3)) * 2 + tmp579 = einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), tmp182, (6, 2, 7, 4), (6, 0, 1, 3, 5, 7)) + t3new.abaaba += np.transpose(tmp579, (0, 2, 1, 4, 5, 3)) * -2 + t3new.abaaba += np.transpose(tmp578, (0, 2, 1, 4, 5, 3)) * -2 + del tmp578 + tmp580 = einsum(tmp2, (0, 1, 2, 3), t3.abaaba, (4, 5, 1, 6, 3, 7), (0, 4, 5, 2, 6, 7)) + del tmp2 + tmp581 = einsum(tmp580, (0, 1, 2, 3, 4, 5), t1.bb, (3, 6), (0, 1, 2, 4, 5, 6)) + del tmp580 + t3new.abaaba += np.transpose(tmp581, (0, 2, 1, 4, 5, 3)) * 2 + t3new.abaaba += np.transpose(tmp563, (1, 2, 0, 4, 5, 3)) * -1 + tmp582 = einsum(tmp76, (0, 1, 2, 3), t3.babbab, (4, 5, 1, 6, 7, 3), (0, 5, 4, 7, 2, 6)) + t3new.abaaba += np.transpose(tmp582, (1, 2, 0, 4, 5, 3)) * -2 + tmp583 = einsum(tmp80, (0, 1, 2, 3), t3.abaaba, (4, 5, 0, 6, 7, 3), (4, 1, 5, 6, 2, 7)) * -1 + t3new.abaaba += np.transpose(tmp583, (0, 2, 1, 4, 5, 3)) * -1 + tmp585 = np.copy(tmp453) * 2 + tmp584 = einsum(tmp82, (0, 1, 2, 3), t3.abaaba, (4, 5, 2, 6, 7, 3), (4, 0, 1, 5, 6, 7)) + del tmp82 + tmp585 += np.transpose(tmp584, (1, 0, 2, 3, 4, 5)) + tmp586 = einsum(t1.aa, (0, 1), tmp585, (2, 3, 0, 4, 5, 6), (2, 3, 4, 5, 1, 6)) + del tmp585 + t3new.abaaba += np.transpose(tmp586, (1, 2, 0, 4, 5, 3)) + tmp588 = np.copy(np.transpose(tmp65, (0, 2, 1, 3))) + tmp588 += np.transpose(tmp81, (0, 2, 1, 3)) * -1 + tmp588 += einsum(t2.aaaa, (0, 1, 2, 3), tmp172, (4, 5, 1, 3), (4, 5, 0, 2)) * 2 + del tmp172 + tmp587 = np.copy(np.transpose(tmp67, (0, 2, 1, 3))) + tmp587 += np.transpose(tmp67, (0, 3, 2, 1)) * -1 + del tmp67 + tmp588 += einsum(tmp587, (0, 1, 2, 3), t1.aa, (1, 4), (0, 3, 2, 4)) + del tmp587 + t3new.abaaba += einsum(tmp588, (0, 1, 2, 3), t2.abab, (1, 4, 5, 6), (2, 4, 0, 3, 6, 5)) + del tmp588 + tmp589 = einsum(t1.aa, (0, 1), tmp465, (2, 3, 0, 4, 5, 6), (2, 3, 4, 1, 5, 6)) + del tmp465 + t3new.abaaba += np.transpose(tmp589, (1, 2, 0, 3, 5, 4)) * 2 + del tmp589 + tmp590 = einsum(tmp144, (0, 1, 2, 3), t3.abaaba, (4, 1, 5, 6, 7, 3), (4, 5, 0, 6, 2, 7)) + t3new.abaaba += np.transpose(tmp590, (1, 2, 0, 4, 5, 3)) * -2 + t3new.abaaba += np.transpose(tmp562, (1, 2, 0, 4, 5, 3)) * -1 + t3new.abaaba += np.transpose(tmp568, (0, 2, 1, 4, 5, 3)) * -2 + del tmp568 + t3new.abaaba += np.transpose(tmp570, (1, 2, 0, 4, 5, 3)) + t3new.abaaba += np.transpose(tmp573, (1, 2, 0, 3, 5, 4)) + t3new.abaaba += np.transpose(tmp573, (1, 2, 0, 4, 5, 3)) * -1 + del tmp573 + t3new.abaaba += np.transpose(tmp575, (1, 2, 0, 4, 5, 3)) * -2 + del tmp575 + tmp591 = einsum(v.aabb.oovv, (0, 1, 2, 3), t2.abab, (4, 5, 6, 3), (4, 0, 1, 5, 6, 2)) + tmp592 = einsum(t1.aa, (0, 1), tmp591, (2, 3, 0, 4, 5, 6), (2, 3, 4, 1, 5, 6)) + del tmp591 + t3new.abaaba += np.transpose(tmp592, (0, 2, 1, 3, 5, 4)) + tmp593 = einsum(t2.abab, (0, 1, 2, 3), tmp476, (4, 5, 6, 3), (0, 4, 1, 2, 5, 6)) + del tmp476 + t3new.abaaba += np.transpose(tmp593, (0, 2, 1, 4, 5, 3)) + tmp595 = einsum(tmp594, (0, 1, 2, 3), t2.aaaa, (4, 5, 6, 2), (4, 5, 0, 6, 1, 3)) + del tmp594 + t3new.abaaba += np.transpose(tmp595, (1, 2, 0, 4, 5, 3)) * -2 + t3new.abaaba += np.transpose(tmp538, (1, 2, 0, 3, 5, 4)) * -2 + del tmp538 + tmp596 = einsum(tmp147, (0, 1, 2, 3), t2.aaaa, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) + tmp597 = einsum(tmp596, (0, 1, 2, 3, 4, 5), t1.bb, (3, 6), (0, 1, 2, 4, 5, 6)) + del tmp596 + t3new.abaaba += np.transpose(tmp597, (1, 2, 0, 4, 5, 3)) * 2 + t3new.abaaba += np.transpose(tmp592, (0, 2, 1, 4, 5, 3)) * -1 + t3new.abaaba += np.transpose(tmp592, (1, 2, 0, 3, 5, 4)) * -1 + t3new.abaaba += np.transpose(tmp593, (1, 2, 0, 4, 5, 3)) * -1 + del tmp593 + t3new.abaaba += np.transpose(tmp592, (1, 2, 0, 4, 5, 3)) + del tmp592 + t3new.abaaba += np.transpose(tmp562, (0, 2, 1, 3, 5, 4)) * -1 + t3new.abaaba += np.transpose(tmp563, (0, 2, 1, 3, 5, 4)) * -1 + tmp598 = einsum(t2.abab, (0, 1, 2, 3), tmp65, (4, 5, 0, 6), (4, 5, 1, 2, 6, 3)) + del tmp65 + t3new.abaaba += np.transpose(tmp598, (0, 2, 1, 3, 5, 4)) + t3new.abaaba += np.transpose(tmp531, (0, 2, 1, 3, 5, 4)) * -1 + tmp599 = einsum(tmp387, (0, 1, 2, 3), t2.abab, (4, 5, 2, 6), (0, 4, 5, 1, 3, 6)) + del tmp387 + t3new.abaaba += np.transpose(tmp599, (1, 2, 0, 3, 5, 4)) * -1 + t3new.abaaba += np.transpose(tmp570, (0, 2, 1, 3, 5, 4)) + t3new.abaaba += np.transpose(tmp524, (0, 2, 1, 3, 5, 4)) * -1 + t3new.abaaba += einsum(tmp501, (0, 1, 2, 3, 4, 5), t1.bb, (3, 6), (1, 2, 0, 4, 6, 5)) * 2 + del tmp501 + tmp600 = einsum(tmp140, (0, 1, 2, 3), t2.abab, (4, 2, 5, 6), (0, 4, 1, 5, 3, 6)) + del tmp140 + t3new.abaaba += np.transpose(tmp600, (1, 2, 0, 3, 5, 4)) * -1 + t3new.abaaba += np.transpose(tmp600, (0, 2, 1, 3, 5, 4)) + del tmp600 + t3new.abaaba += np.transpose(tmp563, (1, 2, 0, 3, 5, 4)) + del tmp563 + t3new.abaaba += np.transpose(tmp582, (1, 2, 0, 3, 5, 4)) * 2 + tmp601 = einsum(tmp80, (0, 1, 2, 3), t3.abaaba, (4, 5, 0, 6, 7, 3), (4, 1, 5, 6, 2, 7)) * -2 + del tmp80 + t3new.abaaba += np.transpose(tmp601, (0, 2, 1, 3, 5, 4)) + t3new.abaaba += np.transpose(tmp598, (1, 2, 0, 3, 5, 4)) * -1 + del tmp598 + t3new.abaaba += np.transpose(tmp590, (1, 2, 0, 3, 5, 4)) * 2 + del tmp590 + t3new.abaaba += np.transpose(tmp562, (1, 2, 0, 3, 5, 4)) + del tmp562 + t3new.abaaba += np.transpose(tmp531, (1, 2, 0, 3, 5, 4)) + del tmp531 + t3new.abaaba += np.transpose(tmp599, (0, 2, 1, 3, 5, 4)) + t3new.abaaba += np.transpose(tmp570, (1, 2, 0, 3, 5, 4)) * -1 + del tmp570 + t3new.abaaba += np.transpose(tmp524, (1, 2, 0, 3, 5, 4)) + del tmp524 + tmp603 = np.copy(np.transpose(tmp602, (0, 1, 3, 2))) + tmp603 += tmp450 + del tmp450 + t3new.abaaba += einsum(t2.abab, (0, 1, 2, 3), tmp603, (4, 5, 6, 3), (0, 1, 4, 5, 6, 2)) * -1 + del tmp603 + tmp604 = einsum(t2.abab, (0, 1, 2, 3), tmp76, (4, 5, 6, 3), (4, 0, 1, 5, 2, 6)) + del tmp76 + tmp606 = np.copy(tmp604) + tmp605 = einsum(t1.aa, (0, 1), tmp454, (2, 3, 0, 4, 5, 6), (2, 3, 4, 5, 1, 6)) + del tmp454 + tmp606 += np.transpose(tmp605, (0, 1, 2, 3, 5, 4)) * -1 + del tmp605 + tmp607 = einsum(tmp606, (0, 1, 2, 3, 4, 5), t1.bb, (3, 6), (0, 1, 2, 4, 5, 6)) + del tmp606 + t3new.abaaba += np.transpose(tmp607, (1, 2, 0, 4, 5, 3)) + t3new.abaaba += einsum(tmp608, (0, 1, 2, 3), t2.aaaa, (4, 5, 6, 1), (4, 0, 5, 2, 3, 6)) * -2 + del tmp608 + tmp609 = einsum(tmp144, (0, 1, 2, 3), t2.aaaa, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) + del tmp144 + tmp610 = np.copy(np.transpose(tmp609, (1, 0, 2, 3, 4, 5))) * -1 + tmp610 += einsum(tmp466, (0, 1, 2, 3, 4, 5), t1.aa, (2, 6), (1, 0, 3, 4, 5, 6)) + del tmp466 + t3new.abaaba += einsum(t1.bb, (0, 1), tmp610, (2, 3, 4, 0, 5, 6), (3, 4, 2, 6, 1, 5)) * -2 + del tmp610 + tmp611 = einsum(tmp112, (0, 1, 2, 3), t2.abab, (4, 5, 2, 6), (0, 4, 5, 3, 1, 6)) + del tmp112 + tmp615 = np.copy(tmp611) + del tmp611 + tmp612 = einsum(t2.abab, (0, 1, 2, 3), tmp0, (4, 5, 6, 2), (4, 0, 6, 5, 1, 3)) + del tmp0 + tmp613 = einsum(tmp612, (0, 1, 2, 3, 4, 5), t1.aa, (3, 6), (0, 1, 2, 4, 6, 5)) + del tmp612 + tmp614 = einsum(t1.aa, (0, 1), tmp613, (2, 3, 0, 4, 5, 6), (2, 3, 4, 1, 5, 6)) + del tmp613 + tmp615 += tmp614 + del tmp614 + t3new.abaaba += np.transpose(tmp615, (1, 2, 0, 3, 5, 4)) * -1 + t3new.abaaba += np.transpose(tmp615, (1, 2, 0, 4, 5, 3)) + tmp616 = einsum(t2.abab, (0, 1, 2, 3), tmp87, (4, 5, 6, 2), (5, 4, 0, 1, 6, 3)) * -1 + tmp617 = einsum(t1.aa, (0, 1), tmp616, (2, 0, 3, 4, 5, 6), (2, 3, 4, 5, 1, 6)) * -1 + del tmp616 + t3new.abaaba += np.transpose(tmp617, (1, 2, 0, 3, 5, 4)) * -1 + t3new.abaaba += einsum(tmp618, (0, 1, 2, 3), t2.abab, (4, 5, 6, 2), (0, 5, 4, 1, 3, 6)) + del tmp618 + t3new.abaaba += np.transpose(tmp607, (0, 2, 1, 4, 5, 3)) * -1 + del tmp607 + t3new.abaaba += np.transpose(tmp615, (0, 2, 1, 3, 5, 4)) + t3new.abaaba += np.transpose(tmp615, (0, 2, 1, 4, 5, 3)) * -1 + del tmp615 + t3new.abaaba += np.transpose(tmp617, (0, 2, 1, 3, 5, 4)) + tmp619 = einsum(t2.abab, (0, 1, 2, 3), tmp182, (4, 5, 6, 3), (4, 0, 5, 1, 2, 6)) + del tmp182 + tmp620 = einsum(t1.aa, (0, 1), tmp619, (2, 3, 0, 4, 5, 6), (2, 3, 4, 1, 5, 6)) + del tmp619 + t3new.abaaba += np.transpose(tmp620, (1, 2, 0, 4, 5, 3)) * -1 + tmp621 = einsum(t2.abab, (0, 1, 2, 3), tmp602, (4, 5, 6, 3), (4, 0, 1, 2, 5, 6)) + del tmp602 + t3new.abaaba += np.transpose(tmp621, (1, 2, 0, 3, 5, 4)) + tmp622 = einsum(t2.aaaa, (0, 1, 2, 3), tmp143, (4, 5, 3, 6), (0, 1, 4, 5, 2, 6)) + tmp623 = einsum(t1.aa, (0, 1), tmp622, (2, 3, 0, 4, 5, 6), (2, 3, 4, 1, 5, 6)) + del tmp622 + t3new.abaaba += np.transpose(tmp623, (1, 2, 0, 4, 5, 3)) * 2 + t3new.abaaba += einsum(t2.aaaa, (0, 1, 2, 3), tmp151, (4, 5, 3, 6), (0, 4, 1, 2, 6, 5)) * 2 + del tmp151 + t3new.abaaba += np.transpose(tmp620, (0, 2, 1, 4, 5, 3)) + t3new.abaaba += np.transpose(tmp621, (0, 2, 1, 3, 5, 4)) * -1 + del tmp621 + t3new.abaaba += np.transpose(tmp460, (0, 2, 1, 4, 5, 3)) * -2 + del tmp460 + t3new.abaaba += np.transpose(tmp462, (0, 2, 1, 4, 5, 3)) + del tmp462 + t3new.abaaba += np.transpose(tmp449, (0, 2, 1, 4, 5, 3)) * 2 + del tmp449 + t3new.abaaba += np.transpose(tmp459, (0, 2, 1, 4, 5, 3)) * -1 + del tmp459 + tmp624 = einsum(t1.aa, (0, 1), tmp422, (2, 3, 0, 4, 5, 6), (2, 3, 4, 1, 5, 6)) + del tmp422 + t3new.abaaba += np.transpose(tmp624, (0, 2, 1, 4, 5, 3)) * -1 + tmp625 = einsum(t2.abab, (0, 1, 2, 3), tmp266, (4, 5, 6, 2), (0, 4, 1, 5, 6, 3)) + del tmp266 + t3new.abaaba += np.transpose(tmp625, (0, 2, 1, 4, 5, 3)) * 2 + t3new.abaaba += np.transpose(tmp468, (1, 2, 0, 4, 5, 3)) * -2 + del tmp468 + t3new.abaaba += np.transpose(tmp469, (1, 2, 0, 4, 5, 3)) + del tmp469 + t3new.abaaba += np.transpose(tmp624, (1, 2, 0, 4, 5, 3)) + del tmp624 + t3new.abaaba += np.transpose(tmp625, (1, 2, 0, 4, 5, 3)) * -2 + del tmp625 + tmp626 = einsum(tmp87, (0, 1, 2, 3), t3.abaaba, (4, 5, 0, 6, 7, 3), (4, 1, 5, 6, 2, 7)) * -1 + del tmp87 + t3new.abaaba += np.transpose(tmp626, (0, 2, 1, 4, 5, 3)) * -1 + tmp627 = einsum(t1.aa, (0, 1), tmp584, (2, 3, 0, 4, 5, 6), (3, 2, 4, 5, 1, 6)) + del tmp584 + t3new.abaaba += np.transpose(tmp627, (1, 2, 0, 4, 5, 3)) + t3new.abaaba += np.transpose(tmp579, (1, 2, 0, 4, 5, 3)) * 2 + del tmp579 + t3new.abaaba += np.transpose(tmp581, (1, 2, 0, 4, 5, 3)) * -2 + del tmp581 + tmp628 = einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), tmp143, (2, 6, 5, 7), (0, 1, 6, 3, 4, 7)) + del tmp143 + t3new.abaaba += np.transpose(tmp628, (1, 2, 0, 4, 5, 3)) * 6 + del tmp628 + tmp629 = einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), tmp176, (1, 6, 4, 7), (0, 2, 6, 3, 5, 7)) * -1 + del tmp176 + t3new.abaaba += np.transpose(tmp629, (1, 2, 0, 4, 5, 3)) * 2 + del tmp629 + tmp630 = einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), tmp22, (2, 6, 7, 5), (0, 1, 6, 7, 3, 4)) + del tmp22 + tmp632 = np.copy(np.transpose(tmp630, (1, 0, 2, 3, 5, 4))) * 3 + del tmp630 + tmp631 = einsum(tmp178, (0, 1, 2, 3), t3.abaaba, (4, 1, 5, 6, 3, 7), (4, 5, 0, 2, 6, 7)) + del tmp178 + tmp632 += np.transpose(tmp631, (1, 0, 2, 3, 5, 4)) + del tmp631 + tmp633 = einsum(t1.bb, (0, 1), tmp632, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 6, 1)) + del tmp632 + t3new.abaaba += np.transpose(tmp633, (1, 2, 0, 4, 5, 3)) * -2 + del tmp633 + t3new.abaaba += np.transpose(tmp582, (0, 2, 1, 4, 5, 3)) * 2 + t3new.abaaba += np.transpose(tmp583, (1, 2, 0, 4, 5, 3)) + del tmp583 + t3new.abaaba += np.transpose(tmp586, (0, 2, 1, 4, 5, 3)) * -1 + del tmp586 + t3new.abaaba += np.transpose(tmp626, (1, 2, 0, 4, 5, 3)) + del tmp626 + t3new.abaaba += np.transpose(tmp627, (0, 2, 1, 4, 5, 3)) * -1 + del tmp627 + t3new.abaaba += np.transpose(tmp540, (1, 2, 0, 3, 5, 4)) * -2 + del tmp540 + t3new.abaaba += np.transpose(tmp582, (0, 2, 1, 3, 5, 4)) * -2 + del tmp582 + t3new.abaaba += np.transpose(tmp601, (1, 2, 0, 3, 5, 4)) * -1 + del tmp601 + t3new.abaaba += einsum(t1.aa, (0, 1), tmp534, (2, 3, 0, 4, 5, 6), (3, 4, 2, 1, 6, 5)) * 2 + del tmp534 + t3new.abaaba += einsum(tmp557, (0, 1, 2, 3, 4, 5), t1.bb, (3, 6), (1, 2, 0, 4, 6, 5)) * 2 + del tmp557 + tmp634 = einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), tmp167, (6, 2, 7, 1), (6, 0, 7, 3, 5, 4)) + del tmp167 + t3new.abaaba += np.transpose(tmp634, (1, 2, 0, 4, 5, 3)) * -2 + tmp635 = einsum(t2.abab, (0, 1, 2, 3), tmp169, (4, 5, 1, 6), (4, 0, 5, 6, 2, 3)) + t3new.abaaba += np.transpose(tmp635, (1, 2, 0, 4, 5, 3)) + tmp636 = einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), tmp114, (6, 7, 2, 0), (6, 7, 1, 3, 5, 4)) * -1 + del tmp114 + t3new.abaaba += np.transpose(tmp636, (1, 2, 0, 4, 5, 3)) * 2 + del tmp636 + t3new.abaaba += einsum(t2.abab, (0, 1, 2, 3), tmp117, (4, 5, 0, 6), (5, 1, 4, 2, 3, 6)) * -2 + del tmp117 + t3new.abaaba += np.transpose(tmp634, (0, 2, 1, 4, 5, 3)) * 2 + del tmp634 + t3new.abaaba += np.transpose(tmp635, (0, 2, 1, 4, 5, 3)) * -1 + del tmp635 + tmp637 = einsum(t2.abab, (0, 1, 2, 3), tmp475, (4, 5, 6, 3), (0, 4, 1, 2, 5, 6)) + del tmp475 + t3new.abaaba += np.transpose(tmp637, (1, 2, 0, 3, 5, 4)) + t3new.abaaba += einsum(t2.aaaa, (0, 1, 2, 3), tmp479, (4, 5, 3, 6), (0, 4, 1, 2, 6, 5)) * -2 + del tmp479 + t3new.abaaba += np.transpose(tmp637, (0, 2, 1, 3, 5, 4)) * -1 + del tmp637 + tmp638 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), tmp340, (6, 2, 7, 5), (1, 6, 0, 4, 7, 3)) + del tmp340 + t3new.abaaba += np.transpose(tmp638, (0, 2, 1, 3, 5, 4)) + tmp639 = np.copy(tmp53) + del tmp53 + tmp639 += np.transpose(tmp505, (1, 0, 3, 2)) * -1 + del tmp505 + tmp640 = einsum(tmp639, (0, 1, 2, 3), t3.abaaba, (4, 5, 1, 6, 7, 3), (4, 0, 5, 6, 2, 7)) * 2 + del tmp639 + t3new.abaaba += np.transpose(tmp640, (0, 2, 1, 3, 5, 4)) + tmp641 = einsum(t2.abab, (0, 1, 2, 3), tmp100, (4, 0, 5, 6), (4, 5, 1, 6, 2, 3)) + del tmp100 + t3new.abaaba += np.transpose(tmp641, (1, 2, 0, 4, 5, 3)) * -1 + tmp642 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), tmp401, (6, 2, 7, 5), (1, 6, 0, 4, 7, 3)) * 2 + del tmp401 + t3new.abaaba += np.transpose(tmp642, (0, 2, 1, 3, 5, 4)) + tmp643 = einsum(t2.abab, (0, 1, 2, 3), tmp149, (4, 5, 1, 6), (0, 4, 5, 2, 6, 3)) + del tmp149 + t3new.abaaba += np.transpose(tmp643, (1, 2, 0, 3, 5, 4)) * -1 + t3new.abaaba += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), tmp147, (6, 1, 7, 5), (0, 6, 2, 3, 4, 7)) * 2 + del tmp147 + t3new.abaaba += np.transpose(tmp638, (1, 2, 0, 3, 5, 4)) * -1 + del tmp638 + t3new.abaaba += np.transpose(tmp640, (1, 2, 0, 3, 5, 4)) * -1 + del tmp640 + t3new.abaaba += einsum(tmp166, (0, 1, 2, 3), t2.abab, (4, 1, 5, 6), (0, 2, 4, 5, 6, 3)) + del tmp166 + t3new.abaaba += np.transpose(tmp642, (1, 2, 0, 3, 5, 4)) * -1 + del tmp642 + t3new.abaaba += einsum(tmp480, (0, 1, 2, 3), t2.aaaa, (4, 5, 6, 2), (4, 0, 5, 1, 3, 6)) * 2 + del tmp480 + t3new.abaaba += np.transpose(tmp643, (0, 2, 1, 4, 5, 3)) * -1 + t3new.abaaba += np.transpose(tmp643, (0, 2, 1, 3, 5, 4)) + del tmp643 + t3new.abaaba += np.transpose(tmp641, (0, 2, 1, 4, 5, 3)) + del tmp641 + tmp644 = einsum(t2.aaaa, (0, 1, 2, 3), tmp146, (4, 1, 5, 6), (0, 4, 5, 2, 3, 6)) + del tmp146 + t3new.abaaba += np.transpose(tmp644, (1, 2, 0, 4, 5, 3)) * 2 + del tmp644 + tmp645 = np.copy(np.transpose(tmp163, (0, 2, 1, 3))) + del tmp163 + tmp645 += einsum(t2.abab, (0, 1, 2, 3), tmp473, (1, 4, 5, 3), (0, 5, 4, 2)) * 0.5 + del tmp473 + t3new.abaaba += einsum(t2.abab, (0, 1, 2, 3), tmp645, (4, 1, 5, 6), (0, 5, 4, 2, 3, 6)) * -2 + del tmp645 + tmp646 = np.copy(tmp168) * -1 + tmp646 += tmp169 + del tmp169 + t3new.abaaba += einsum(tmp646, (0, 1, 2, 3), t2.abab, (4, 2, 5, 6), (4, 1, 0, 3, 6, 5)) * -1 + del tmp646 + t3new.abaaba += einsum(t2.abab, (0, 1, 2, 3), tmp118, (4, 5, 0, 6), (5, 1, 4, 6, 3, 2)) * -2 + del tmp118 + tmp649 = einsum(tmp648, (0, 1, 2, 3), t2.aaaa, (4, 1, 5, 6), (0, 4, 2, 5, 6, 3)) * -1 + del tmp648 + t3new.abaaba += np.transpose(tmp649, (1, 2, 0, 4, 5, 3)) * -2 + t3new.abaaba += einsum(tmp170, (0, 1, 2, 3), t2.abab, (4, 2, 5, 6), (0, 1, 4, 3, 6, 5)) * -1 + del tmp170 + t3new.abaaba += np.transpose(tmp649, (0, 2, 1, 4, 5, 3)) * 2 + del tmp649 + tmp653 = einsum(t2.aaaa, (0, 1, 2, 3), tmp652, (4, 3, 5, 6), (0, 1, 4, 5, 2, 6)) * -1 + del tmp652 + t3new.abaaba += np.transpose(tmp653, (1, 2, 0, 3, 5, 4)) * -2 + t3new.abaaba += np.transpose(tmp484, (1, 2, 0, 4, 5, 3)) * -2 + del tmp484 + tmp657 = einsum(t2.abab, (0, 1, 2, 3), tmp656, (4, 5, 3, 6), (4, 0, 1, 5, 2, 6)) + del tmp656 + t3new.abaaba += np.transpose(tmp657, (1, 2, 0, 3, 5, 4)) * -1 + tmp658 = einsum(tmp158, (0, 1, 2, 3), t2.abab, (4, 5, 6, 3), (0, 4, 1, 5, 2, 6)) + del tmp158 + tmp659 = einsum(t1.bb, (0, 1), tmp658, (2, 3, 0, 4, 5, 6), (2, 3, 4, 5, 6, 1)) + del tmp658 + t3new.abaaba += np.transpose(tmp659, (1, 2, 0, 3, 5, 4)) + t3new.abaaba += np.transpose(tmp657, (0, 2, 1, 3, 5, 4)) + t3new.abaaba += np.transpose(tmp659, (0, 2, 1, 3, 5, 4)) * -1 + t3new.abaaba += np.transpose(tmp599, (0, 2, 1, 4, 5, 3)) * -1 + tmp660 = einsum(t2.abab, (0, 1, 2, 3), tmp321, (4, 5, 6, 2), (4, 5, 0, 1, 6, 3)) * 2 + del tmp321 + tmp661 = einsum(t1.aa, (0, 1), tmp660, (2, 0, 3, 4, 5, 6), (2, 3, 4, 5, 1, 6)) + del tmp660 + t3new.abaaba += np.transpose(tmp661, (0, 2, 1, 4, 5, 3)) + t3new.abaaba += np.transpose(tmp657, (0, 2, 1, 4, 5, 3)) * -1 + t3new.abaaba += np.transpose(tmp659, (0, 2, 1, 4, 5, 3)) + t3new.abaaba += np.transpose(tmp595, (1, 2, 0, 3, 5, 4)) * 2 + del tmp595 + t3new.abaaba += np.transpose(tmp597, (1, 2, 0, 3, 5, 4)) * -2 + del tmp597 + t3new.abaaba += np.transpose(tmp599, (1, 2, 0, 4, 5, 3)) + del tmp599 + t3new.abaaba += np.transpose(tmp661, (1, 2, 0, 4, 5, 3)) * -1 + del tmp661 + t3new.abaaba += np.transpose(tmp657, (1, 2, 0, 4, 5, 3)) + del tmp657 + t3new.abaaba += np.transpose(tmp659, (1, 2, 0, 4, 5, 3)) * -1 + del tmp659 + tmp662 = einsum(t2.abab, (0, 1, 2, 3), tmp168, (4, 5, 1, 6), (4, 0, 5, 2, 6, 3)) + del tmp168 + t3new.abaaba += np.transpose(tmp662, (1, 2, 0, 3, 5, 4)) * -1 + t3new.abaaba += einsum(t2.abab, (0, 1, 2, 3), tmp116, (4, 5, 0, 6), (5, 1, 4, 2, 3, 6)) * 2 + del tmp116 + t3new.abaaba += np.transpose(tmp662, (0, 2, 1, 3, 5, 4)) + del tmp662 + tmp663 = einsum(tmp525, (0, 1, 2, 3), t2.abab, (4, 5, 6, 3), (4, 0, 5, 6, 1, 2)) + del tmp525 + t3new.abaaba += np.transpose(tmp663, (1, 2, 0, 3, 5, 4)) + t3new.abaaba += np.transpose(tmp653, (1, 2, 0, 4, 5, 3)) * 2 + del tmp653 + t3new.abaaba += np.transpose(tmp663, (0, 2, 1, 3, 5, 4)) * -1 + del tmp663 + tmp666 = einsum(tmp665, (0, 1, 2, 3), t2.aaaa, (4, 1, 5, 6), (0, 4, 2, 5, 6, 3)) * -1 + del tmp665 + t3new.abaaba += np.transpose(tmp666, (1, 2, 0, 4, 5, 3)) * -2 + tmp667 = einsum(t1.aa, (0, 1), tmp453, (2, 3, 0, 4, 5, 6), (2, 3, 4, 1, 5, 6)) + del tmp453 + t3new.abaaba += np.transpose(tmp667, (1, 2, 0, 4, 5, 3)) * -1 + tmp668 = einsum(tmp296, (0, 1, 2, 3), t2.abab, (4, 5, 3, 6), (0, 4, 5, 1, 2, 6)) * -1 + del tmp296 + t3new.abaaba += np.transpose(tmp668, (1, 2, 0, 4, 5, 3)) * 2 + tmp669 = einsum(t2.abab, (0, 1, 2, 3), tmp181, (4, 5, 1, 6), (4, 0, 5, 2, 6, 3)) + del tmp181 + t3new.abaaba += np.transpose(tmp669, (1, 2, 0, 3, 5, 4)) + t3new.abaaba += einsum(t2.abab, (0, 1, 2, 3), tmp84, (4, 5, 0, 6), (5, 1, 4, 2, 3, 6)) + del tmp84 + tmp671 = einsum(tmp670, (0, 1, 2, 3), t2.abab, (4, 2, 5, 6), (0, 4, 1, 3, 5, 6)) + del tmp670 + t3new.abaaba += np.transpose(tmp671, (1, 2, 0, 3, 5, 4)) + t3new.abaaba += np.transpose(tmp671, (0, 2, 1, 3, 5, 4)) * -1 + del tmp671 + tmp672 = einsum(t2.abab, (0, 1, 2, 3), tmp180, (4, 5, 1, 6), (4, 0, 5, 6, 2, 3)) + del tmp180 + t3new.abaaba += np.transpose(tmp672, (1, 2, 0, 4, 5, 3)) * -1 + t3new.abaaba += np.transpose(tmp672, (0, 2, 1, 4, 5, 3)) + del tmp672 + t3new.abaaba += np.transpose(tmp666, (0, 2, 1, 4, 5, 3)) * 2 + del tmp666 + t3new.abaaba += np.transpose(tmp667, (0, 2, 1, 4, 5, 3)) + del tmp667 + t3new.abaaba += np.transpose(tmp668, (0, 2, 1, 4, 5, 3)) * -2 + del tmp668 + tmp673 = np.copy(tmp81) + del tmp81 + tmp673 += np.transpose(tmp375, (0, 2, 1, 3)) + del tmp375 + t3new.abaaba += einsum(tmp673, (0, 1, 2, 3), t2.abab, (2, 4, 5, 6), (0, 4, 1, 5, 6, 3)) * -1 + del tmp673 + t3new.abaaba += np.transpose(tmp669, (0, 2, 1, 3, 5, 4)) * -1 + del tmp669 + tmp674 = np.copy(tmp153) * -1 + tmp674 += tmp154 + t3new.abaaba += einsum(tmp674, (0, 1, 2, 3), t2.abab, (4, 2, 5, 6), (4, 1, 0, 3, 6, 5)) * -1 + del tmp674 + tmp675 = einsum(tmp108, (0, 1, 2, 3), t2.abab, (2, 4, 5, 6), (0, 1, 4, 5, 3, 6)) + del tmp108 + t3new.abaaba += np.transpose(tmp675, (0, 2, 1, 4, 5, 3)) + t3new.abaaba += np.transpose(tmp675, (1, 2, 0, 4, 5, 3)) * -1 + tmp676 = einsum(t2.abab, (0, 1, 2, 3), tmp110, (4, 5, 0, 6), (5, 4, 1, 6, 2, 3)) + del tmp110 + t3new.abaaba += np.transpose(tmp676, (0, 2, 1, 3, 5, 4)) + t3new.abaaba += np.transpose(tmp676, (1, 2, 0, 3, 5, 4)) * -1 + tmp678 = np.copy(tmp185) + del tmp185 + tmp678 += tmp677 * -1 + del tmp677 + tmp679 = einsum(tmp678, (0, 1, 2, 3), t2.aaaa, (4, 1, 5, 6), (0, 4, 2, 5, 6, 3)) * -1 + del tmp678 + t3new.abaaba += np.transpose(tmp679, (1, 2, 0, 4, 5, 3)) * -2 + t3new.abaaba += einsum(tmp155, (0, 1, 2, 3), t2.abab, (4, 2, 5, 6), (0, 1, 4, 3, 6, 5)) * -1 + del tmp155 + t3new.abaaba += np.transpose(tmp679, (0, 2, 1, 4, 5, 3)) * 2 + del tmp679 + t3new.abaaba += np.transpose(tmp620, (1, 2, 0, 3, 5, 4)) + t3new.abaaba += np.transpose(tmp623, (1, 2, 0, 3, 5, 4)) * -2 + del tmp623 + t3new.abaaba += np.transpose(tmp620, (0, 2, 1, 3, 5, 4)) * -1 + del tmp620 + tmp680 = einsum(tmp153, (0, 1, 2, 3), t2.abab, (4, 2, 5, 6), (0, 4, 1, 5, 3, 6)) + del tmp153 + t3new.abaaba += np.transpose(tmp680, (1, 2, 0, 3, 5, 4)) * -1 + t3new.abaaba += np.transpose(tmp675, (0, 2, 1, 3, 5, 4)) * -1 + t3new.abaaba += np.transpose(tmp675, (1, 2, 0, 3, 5, 4)) + del tmp675 + t3new.abaaba += np.transpose(tmp617, (1, 2, 0, 4, 5, 3)) + tmp681 = einsum(t1.bb, (0, 1), tmp604, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 6, 1)) + del tmp604 + t3new.abaaba += np.transpose(tmp681, (1, 2, 0, 3, 5, 4)) * -1 + t3new.abaaba += einsum(tmp609, (0, 1, 2, 3, 4, 5), t1.bb, (3, 6), (1, 2, 0, 4, 6, 5)) * 2 + del tmp609 + t3new.abaaba += np.transpose(tmp680, (0, 2, 1, 3, 5, 4)) + del tmp680 + t3new.abaaba += np.transpose(tmp617, (0, 2, 1, 4, 5, 3)) * -1 + del tmp617 + t3new.abaaba += np.transpose(tmp681, (0, 2, 1, 3, 5, 4)) + del tmp681 + tmp682 = einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), tmp150, (6, 2, 7, 1), (6, 0, 7, 3, 5, 4)) + del tmp150 + t3new.abaaba += np.transpose(tmp682, (1, 2, 0, 4, 5, 3)) * -2 + tmp683 = einsum(tmp154, (0, 1, 2, 3), t2.abab, (4, 2, 5, 6), (0, 4, 1, 3, 5, 6)) + del tmp154 + t3new.abaaba += np.transpose(tmp683, (1, 2, 0, 4, 5, 3)) + tmp684 = einsum(tmp106, (0, 1, 2, 3), t3.abaaba, (2, 4, 3, 5, 6, 7), (0, 1, 4, 5, 7, 6)) + del tmp106 + t3new.abaaba += np.transpose(tmp684, (1, 2, 0, 4, 5, 3)) * 2 + del tmp684 + t3new.abaaba += np.transpose(tmp676, (0, 2, 1, 4, 5, 3)) * -1 + t3new.abaaba += np.transpose(tmp676, (1, 2, 0, 4, 5, 3)) + del tmp676 + t3new.abaaba += np.transpose(tmp682, (0, 2, 1, 4, 5, 3)) * 2 + del tmp682 + t3new.abaaba += np.transpose(tmp683, (0, 2, 1, 4, 5, 3)) * -1 + del tmp683 + + return {f"t1new": t1new, f"t2new": t2new, f"t3new": t3new} - # T amplitudes - t1new_bb = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - t1new_bb += einsum(f.bb.ov, (0, 1), (0, 1)) - t1new_bb += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.babbab, (4, 0, 2, 5, 1, 3), (4, 5)) * 2.0 - t1new_bb += einsum(v.bbbb.ovov, (0, 1, 2, 3), t3.bbbbbb, (4, 0, 2, 5, 1, 3), (4, 5)) * 3.0 - t1new_bb += einsum(v.aaaa.ovov, (0, 1, 2, 3), t3.abaaba, (0, 4, 2, 1, 5, 3), (4, 5)) - t1new_aa = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - t1new_aa += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.abaaba, (4, 2, 0, 5, 3, 1), (4, 5)) * 2.0 - t1new_aa += einsum(v.aaaa.ovov, (0, 1, 2, 3), t3.aaaaaa, (4, 0, 2, 5, 1, 3), (4, 5)) * 3.0 - t1new_aa += einsum(f.aa.ov, (0, 1), (0, 1)) - t1new_aa += einsum(v.bbbb.ovov, (0, 1, 2, 3), t3.babbab, (0, 4, 2, 3, 5, 1), (4, 5)) * -1.0 - t2new_aaaa = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - t2new_aaaa += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.vvvv, (4, 2, 5, 3), (0, 1, 4, 5)) * 2.0 - t2new_abab = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - t2new_abab += einsum(v.aabb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - t2new_bbbb = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - t2new_bbbb += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.vvvv, (4, 3, 5, 2), (0, 1, 4, 5)) * -2.0 - x0 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x0 += einsum(t1.aa, (0, 1), v.aabb.ovov, (0, 1, 2, 3), (2, 3)) - t1new_bb += einsum(x0, (0, 1), (0, 1)) - x1 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x1 += einsum(t1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) - x2 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x2 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) - x2 += einsum(x1, (0, 1, 2, 3), (0, 1, 2, 3)) - t1new_bb += einsum(t2.bbbb, (0, 1, 2, 3), x2, (4, 0, 1, 3), (4, 2)) * 2.0 - t2new_abab += einsum(x2, (0, 1, 2, 3), t3.babbab, (1, 4, 2, 5, 6, 3), (4, 0, 6, 5)) * 2.0 - del x2 - x3 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x3 += einsum(t1.bb, (0, 1), v.aabb.ovov, (2, 3, 4, 1), (0, 4, 2, 3)) - x4 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x4 += einsum(v.aabb.ovoo, (0, 1, 2, 3), (2, 3, 0, 1)) - x4 += einsum(x3, (0, 1, 2, 3), (1, 0, 2, 3)) - t1new_bb += einsum(t2.abab, (0, 1, 2, 3), x4, (1, 4, 0, 2), (4, 3)) * -1.0 - t2new_abab += einsum(x4, (0, 1, 2, 3), t3.abaaba, (4, 0, 2, 5, 6, 3), (4, 1, 5, 6)) * -2.0 - x5 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x5 += einsum(t2.abab, (0, 1, 2, 3), (1, 3, 0, 2)) - x5 += einsum(t1.aa, (0, 1), t1.bb, (2, 3), (2, 3, 0, 1)) - t1new_bb += einsum(v.aabb.ovvv, (0, 1, 2, 3), x5, (4, 3, 0, 1), (4, 2)) - t1new_aa += einsum(v.aabb.vvov, (0, 1, 2, 3), x5, (2, 3, 4, 1), (4, 0)) - x6 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x6 += einsum(t2.bbbb, (0, 1, 2, 3), (0, 1, 2, 3)) - x6 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3)) * 0.5 - t1new_bb += einsum(v.bbbb.ovvv, (0, 1, 2, 3), x6, (0, 4, 1, 3), (4, 2)) * 2.0 - x7 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x7 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x7 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x8 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x8 += einsum(t1.bb, (0, 1), x7, (0, 2, 1, 3), (2, 3)) - x9 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x9 += einsum(f.bb.ov, (0, 1), (0, 1)) - x9 += einsum(x0, (0, 1), (0, 1)) - x9 += einsum(x8, (0, 1), (0, 1)) * -1.0 - del x8 - t1new_bb += einsum(x9, (0, 1), t2.bbbb, (2, 0, 3, 1), (2, 3)) * 2.0 - t1new_aa += einsum(x9, (0, 1), t2.abab, (2, 0, 3, 1), (2, 3)) - t2new_aaaa += einsum(x9, (0, 1), t3.abaaba, (2, 0, 3, 4, 1, 5), (2, 3, 4, 5)) * 2.0 - t2new_abab += einsum(x9, (0, 1), t3.babbab, (2, 3, 0, 4, 5, 1), (3, 2, 5, 4)) * 2.0 - t2new_bbbb += einsum(x9, (0, 1), t3.bbbbbb, (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) * 6.0 - x10 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x10 += einsum(t1.bb, (0, 1), v.aabb.ovov, (2, 3, 0, 1), (2, 3)) - t1new_aa += einsum(x10, (0, 1), (0, 1)) - x11 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x11 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x11 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x12 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x12 += einsum(t1.aa, (0, 1), x11, (0, 2, 1, 3), (2, 3)) - x13 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x13 += einsum(f.aa.ov, (0, 1), (0, 1)) - x13 += einsum(x10, (0, 1), (0, 1)) - del x10 - x13 += einsum(x12, (0, 1), (0, 1)) * -1.0 - del x12 - t1new_bb += einsum(x13, (0, 1), t2.abab, (0, 2, 1, 3), (2, 3)) - t1new_aa += einsum(x13, (0, 1), t2.aaaa, (2, 0, 3, 1), (2, 3)) * 2.0 - t2new_aaaa += einsum(x13, (0, 1), t3.aaaaaa, (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) * 6.0 - t2new_abab += einsum(x13, (0, 1), t3.abaaba, (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) * 2.0 - t2new_bbbb += einsum(x13, (0, 1), t3.babbab, (2, 0, 3, 4, 1, 5), (2, 3, 4, 5)) * 2.0 - x14 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x14 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) - x14 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - t1new_bb += einsum(t1.bb, (0, 1), x14, (0, 2, 1, 3), (2, 3)) * -1.0 - x15 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x15 += einsum(t1.aa, (0, 1), v.aabb.ovoo, (0, 1, 2, 3), (2, 3)) - x16 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x16 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 2, 1, 3), (0, 4)) - x17 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x17 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 3), (1, 4)) - x18 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x18 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x18 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) - x19 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x19 += einsum(t1.bb, (0, 1), x18, (2, 3, 0, 1), (2, 3)) - x20 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x20 += einsum(t1.bb, (0, 1), x9, (2, 1), (2, 0)) - x21 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x21 += einsum(f.bb.oo, (0, 1), (0, 1)) - x21 += einsum(x15, (0, 1), (1, 0)) - x21 += einsum(x16, (0, 1), (1, 0)) * 2.0 - x21 += einsum(x17, (0, 1), (1, 0)) - x21 += einsum(x19, (0, 1), (1, 0)) * -1.0 - x21 += einsum(x20, (0, 1), (0, 1)) - t1new_bb += einsum(t1.bb, (0, 1), x21, (0, 2), (2, 1)) * -1.0 - t2new_abab += einsum(x21, (0, 1), t2.abab, (2, 0, 3, 4), (2, 1, 3, 4)) * -1.0 - t3new_abaaba = np.zeros((nocc[0], nocc[1], nocc[0], nvir[0], nvir[1], nvir[0]), dtype=types[float]) - t3new_abaaba += einsum(x21, (0, 1), t3.abaaba, (2, 0, 3, 4, 5, 6), (2, 1, 3, 4, 5, 6)) * -2.0 - del x21 - x22 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x22 += einsum(f.bb.vv, (0, 1), (0, 1)) - x22 += einsum(t1.bb, (0, 1), v.bbbb.ovvv, (0, 2, 3, 1), (2, 3)) * -1.0 - t1new_bb += einsum(t1.bb, (0, 1), x22, (1, 2), (0, 2)) - del x22 - x23 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x23 += einsum(t1.aa, (0, 1), v.aabb.ovov, (2, 1, 3, 4), (3, 4, 0, 2)) - x24 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x24 += einsum(v.aabb.ooov, (0, 1, 2, 3), (2, 3, 0, 1)) - x24 += einsum(x23, (0, 1, 2, 3), (0, 1, 3, 2)) - t1new_aa += einsum(t2.abab, (0, 1, 2, 3), x24, (1, 3, 0, 4), (4, 2)) * -1.0 - t2new_abab += einsum(x24, (0, 1, 2, 3), t3.babbab, (4, 2, 0, 5, 6, 1), (3, 4, 6, 5)) * -2.0 - x25 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x25 += einsum(t1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) - x26 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x26 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) - x26 += einsum(x25, (0, 1, 2, 3), (0, 1, 2, 3)) - t1new_aa += einsum(t2.aaaa, (0, 1, 2, 3), x26, (4, 0, 1, 3), (4, 2)) * 2.0 - t2new_abab += einsum(x26, (0, 1, 2, 3), t3.abaaba, (1, 4, 2, 5, 6, 3), (0, 4, 5, 6)) * 2.0 - del x26 - x27 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x27 += einsum(t2.aaaa, (0, 1, 2, 3), (0, 1, 2, 3)) - x27 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 1, 3)) * 0.5 - t1new_aa += einsum(v.aaaa.ovvv, (0, 1, 2, 3), x27, (0, 4, 3, 1), (4, 2)) * -2.0 - del x27 - x28 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x28 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) - x28 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - t1new_aa += einsum(t1.aa, (0, 1), x28, (0, 2, 1, 3), (2, 3)) * -1.0 - x29 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x29 += einsum(t1.bb, (0, 1), v.aabb.ooov, (2, 3, 0, 1), (2, 3)) - x30 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x30 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 1, 3), (0, 4)) - x31 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x31 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 3, 1, 2), (0, 4)) * -1.0 - x32 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x32 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x32 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) - x33 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x33 += einsum(t1.aa, (0, 1), x32, (2, 3, 0, 1), (2, 3)) - x34 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x34 += einsum(t1.aa, (0, 1), x13, (2, 1), (2, 0)) - x35 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x35 += einsum(f.aa.oo, (0, 1), (0, 1)) - x35 += einsum(x29, (0, 1), (1, 0)) - x35 += einsum(x30, (0, 1), (1, 0)) - x35 += einsum(x31, (0, 1), (1, 0)) * 2.0 - x35 += einsum(x33, (0, 1), (1, 0)) * -1.0 - x35 += einsum(x34, (0, 1), (0, 1)) - t1new_aa += einsum(t1.aa, (0, 1), x35, (0, 2), (2, 1)) * -1.0 - t2new_abab += einsum(x35, (0, 1), t2.abab, (0, 2, 3, 4), (1, 2, 3, 4)) * -1.0 - t3new_babbab = np.zeros((nocc[1], nocc[0], nocc[1], nvir[1], nvir[0], nvir[1]), dtype=types[float]) - t3new_babbab += einsum(x35, (0, 1), t3.babbab, (2, 0, 3, 4, 5, 6), (2, 1, 3, 4, 5, 6)) * -2.0 - del x35 - x36 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x36 += einsum(f.aa.vv, (0, 1), (0, 1)) - x36 += einsum(t1.aa, (0, 1), v.aaaa.ovvv, (0, 1, 2, 3), (2, 3)) - t1new_aa += einsum(t1.aa, (0, 1), x36, (1, 2), (0, 2)) - del x36 - x37 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x37 += einsum(t1.aa, (0, 1), v.aaaa.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) - x38 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x38 += einsum(t1.aa, (0, 1), v.aabb.vvov, (2, 1, 3, 4), (3, 4, 0, 2)) - t2new_abab += einsum(x38, (0, 1, 2, 3), (2, 0, 3, 1)) - x39 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x39 += einsum(t2.abab, (0, 1, 2, 3), x38, (1, 3, 4, 5), (4, 0, 2, 5)) - x40 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x40 += einsum(t2.aaaa, (0, 1, 2, 3), (0, 1, 2, 3)) - x40 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 3, 1)) * -0.5 - x41 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x41 += einsum(x28, (0, 1, 2, 3), x40, (0, 4, 2, 5), (1, 4, 3, 5)) * 2.0 - x42 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x42 += einsum(t2.aaaa, (0, 1, 2, 3), v.aabb.ovov, (1, 3, 4, 5), (4, 5, 0, 2)) - x43 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x43 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) - x43 += einsum(x42, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x44 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x44 += einsum(t2.abab, (0, 1, 2, 3), x43, (1, 3, 4, 5), (4, 0, 5, 2)) - del x43 - x45 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x45 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) - x45 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x46 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x46 += einsum(t1.aa, (0, 1), x45, (2, 1, 3, 4), (2, 0, 3, 4)) - x47 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x47 += einsum(t2.aaaa, (0, 1, 2, 3), x46, (1, 4, 5, 3), (0, 4, 2, 5)) * -2.0 - x48 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x48 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ooov, (4, 5, 1, 3), (0, 4, 5, 2)) - x49 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x49 += einsum(t1.aa, (0, 1), v.aaaa.ooov, (2, 3, 4, 1), (0, 2, 3, 4)) - x50 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x50 += einsum(t1.aa, (0, 1), x49, (2, 3, 4, 0), (2, 4, 3, 1)) - x51 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x51 += einsum(t1.aa, (0, 1), x37, (2, 3, 1, 4), (0, 2, 3, 4)) - x52 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x52 += einsum(t2.abab, (0, 1, 2, 3), x23, (1, 3, 4, 5), (4, 0, 5, 2)) - x53 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x53 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x53 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x54 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x54 += einsum(t2.aaaa, (0, 1, 2, 3), x53, (4, 5, 1, 3), (0, 4, 5, 2)) * 2.0 - del x53 - x55 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x55 += einsum(x25, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x55 += einsum(x25, (0, 1, 2, 3), (0, 2, 1, 3)) - x56 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x56 += einsum(t2.aaaa, (0, 1, 2, 3), x55, (4, 1, 5, 3), (0, 4, 5, 2)) * 2.0 - x57 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x57 += einsum(x48, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x57 += einsum(x50, (0, 1, 2, 3), (0, 2, 1, 3)) - x57 += einsum(x51, (0, 1, 2, 3), (0, 2, 1, 3)) - del x51 - x57 += einsum(x52, (0, 1, 2, 3), (0, 2, 1, 3)) - x57 += einsum(x54, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x54 - x57 += einsum(x56, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - x58 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x58 += einsum(t1.aa, (0, 1), x57, (2, 0, 3, 4), (2, 3, 4, 1)) - del x57 - x59 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x59 += einsum(x37, (0, 1, 2, 3), (0, 1, 2, 3)) - x59 += einsum(x39, (0, 1, 2, 3), (0, 1, 2, 3)) - del x39 - x59 += einsum(x41, (0, 1, 2, 3), (1, 0, 3, 2)) - del x41 - x59 += einsum(x44, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x44 - x59 += einsum(x47, (0, 1, 2, 3), (1, 0, 2, 3)) - del x47 - x59 += einsum(x58, (0, 1, 2, 3), (0, 1, 3, 2)) - del x58 - t2new_aaaa += einsum(x59, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_aaaa += einsum(x59, (0, 1, 2, 3), (0, 1, 3, 2)) - t2new_aaaa += einsum(x59, (0, 1, 2, 3), (1, 0, 2, 3)) - t2new_aaaa += einsum(x59, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x59 - x60 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x60 += einsum(f.aa.vv, (0, 1), t2.aaaa, (2, 3, 4, 1), (2, 3, 0, 4)) - x61 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x61 += einsum(t2.abab, (0, 1, 2, 3), x7, (1, 4, 3, 5), (4, 5, 0, 2)) - x62 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x62 += einsum(t2.abab, (0, 1, 2, 3), x61, (1, 3, 4, 5), (4, 0, 5, 2)) * -1.0 - x63 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x63 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x63 += einsum(x60, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 - del x60 - x63 += einsum(x62, (0, 1, 2, 3), (1, 0, 3, 2)) - del x62 - t2new_aaaa += einsum(x63, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new_aaaa += einsum(x63, (0, 1, 2, 3), (0, 1, 2, 3)) - del x63 - x64 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x64 += einsum(t1.aa, (0, 1), v.aaaa.vvvv, (2, 3, 4, 1), (0, 2, 3, 4)) - x65 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x65 += einsum(t1.aa, (0, 1), x64, (2, 3, 1, 4), (0, 2, 3, 4)) - x66 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x66 += einsum(v.aabb.vvov, (0, 1, 2, 3), t3.abaaba, (4, 2, 5, 6, 3, 1), (4, 5, 6, 0)) - x67 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x67 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 0, 6, 3, 1), (4, 5, 6, 2)) * -1.0 - x68 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x68 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x68 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x69 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x69 += einsum(t2.aaaa, (0, 1, 2, 3), x68, (1, 4, 5, 3), (0, 4, 2, 5)) - x70 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x70 += einsum(t2.aaaa, (0, 1, 2, 3), x69, (4, 1, 5, 3), (0, 4, 2, 5)) * -4.0 - del x69 - x71 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x71 += einsum(t1.bb, (0, 1), v.aabb.vvov, (2, 3, 0, 1), (2, 3)) - x72 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x72 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 4, 1, 3), (2, 4)) - x73 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x73 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (0, 3, 1, 4), (2, 4)) * -1.0 - x74 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x74 += einsum(t1.aa, (0, 1), x45, (0, 1, 2, 3), (2, 3)) - del x45 - x75 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x75 += einsum(x71, (0, 1), (1, 0)) * -1.0 - x75 += einsum(x72, (0, 1), (1, 0)) - x75 += einsum(x73, (0, 1), (1, 0)) * 2.0 - x75 += einsum(x74, (0, 1), (1, 0)) * -1.0 - x76 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x76 += einsum(x75, (0, 1), t2.aaaa, (2, 3, 4, 0), (2, 3, 4, 1)) * -2.0 - del x75 - x77 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x77 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovvv, (4, 2, 5, 3), (0, 1, 4, 5)) - x78 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x78 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.abaaba, (4, 2, 5, 6, 3, 1), (4, 5, 0, 6)) - x79 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x79 += einsum(v.aaaa.ovov, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 2, 6, 3, 1), (4, 5, 0, 6)) * -1.0 - x80 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x80 += einsum(x13, (0, 1), t2.aaaa, (2, 3, 4, 1), (0, 2, 3, 4)) * -2.0 - x81 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x81 += einsum(t1.aa, (0, 1), x25, (2, 3, 4, 1), (2, 0, 4, 3)) - x82 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x82 += einsum(v.aaaa.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x82 += einsum(x81, (0, 1, 2, 3), (3, 1, 2, 0)) - x83 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x83 += einsum(t1.aa, (0, 1), x82, (0, 2, 3, 4), (2, 3, 4, 1)) - del x82 - x84 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x84 += einsum(x77, (0, 1, 2, 3), (2, 1, 0, 3)) * -2.0 - x84 += einsum(x78, (0, 1, 2, 3), (2, 1, 0, 3)) * 2.0 - x84 += einsum(x79, (0, 1, 2, 3), (2, 1, 0, 3)) * 6.0 - x84 += einsum(x80, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x84 += einsum(x83, (0, 1, 2, 3), (1, 0, 2, 3)) - del x83 - x85 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x85 += einsum(t1.aa, (0, 1), x84, (0, 2, 3, 4), (2, 3, 4, 1)) - del x84 - x86 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x86 += einsum(x65, (0, 1, 2, 3), (0, 1, 2, 3)) - del x65 - x86 += einsum(x66, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x66 - x86 += einsum(x67, (0, 1, 2, 3), (0, 1, 2, 3)) * -6.0 - del x67 - x86 += einsum(x70, (0, 1, 2, 3), (1, 0, 3, 2)) - del x70 - x86 += einsum(x76, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x76 - x86 += einsum(x85, (0, 1, 2, 3), (1, 0, 3, 2)) - del x85 - t2new_aaaa += einsum(x86, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new_aaaa += einsum(x86, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x86 - x87 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x87 += einsum(v.aabb.ooov, (0, 1, 2, 3), t3.abaaba, (4, 2, 1, 5, 3, 6), (4, 0, 5, 6)) - x88 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x88 += einsum(v.aaaa.ooov, (0, 1, 2, 3), t3.aaaaaa, (4, 1, 2, 5, 6, 3), (4, 0, 5, 6)) - x89 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x89 += einsum(t2.aaaa, (0, 1, 2, 3), x49, (4, 5, 0, 1), (4, 5, 2, 3)) - x90 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x90 += einsum(x23, (0, 1, 2, 3), t3.abaaba, (4, 0, 3, 5, 1, 6), (2, 4, 5, 6)) - x91 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x91 += einsum(x25, (0, 1, 2, 3), t3.aaaaaa, (4, 1, 2, 5, 6, 3), (0, 4, 5, 6)) * -1.0 - x92 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x92 += einsum(f.aa.oo, (0, 1), (0, 1)) - x92 += einsum(x34, (0, 1), (1, 0)) - x93 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x93 += einsum(x92, (0, 1), t2.aaaa, (2, 1, 3, 4), (2, 0, 3, 4)) * -2.0 - del x92 - x94 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x94 += einsum(x29, (0, 1), (1, 0)) - x94 += einsum(x30, (0, 1), (1, 0)) - x94 += einsum(x31, (0, 1), (1, 0)) * 2.0 - x94 += einsum(x33, (0, 1), (1, 0)) * -1.0 - x95 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x95 += einsum(x94, (0, 1), t2.aaaa, (2, 0, 3, 4), (2, 1, 3, 4)) * -2.0 - del x94 - x96 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x96 += einsum(x87, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - del x87 - x96 += einsum(x88, (0, 1, 2, 3), (0, 1, 3, 2)) * -6.0 - del x88 - x96 += einsum(x89, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - del x89 - x96 += einsum(x90, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - del x90 - x96 += einsum(x91, (0, 1, 2, 3), (0, 1, 3, 2)) * 6.0 - del x91 - x96 += einsum(x93, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x93 - x96 += einsum(x95, (0, 1, 2, 3), (0, 1, 3, 2)) - del x95 - t2new_aaaa += einsum(x96, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_aaaa += einsum(x96, (0, 1, 2, 3), (1, 0, 2, 3)) - del x96 - x97 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x97 += einsum(t1.aa, (0, 1), v.aaaa.ooov, (2, 0, 3, 4), (2, 3, 1, 4)) - t2new_aaaa += einsum(x97, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_aaaa += einsum(x97, (0, 1, 2, 3), (1, 0, 2, 3)) - del x97 - x98 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x98 += einsum(t2.aaaa, (0, 1, 2, 3), (0, 1, 2, 3)) - x98 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 1, 3)) - x99 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x99 += einsum(v.aaaa.ovov, (0, 1, 2, 3), x98, (4, 5, 1, 3), (0, 2, 4, 5)) - x100 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x100 += einsum(v.aaaa.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x100 += einsum(x99, (0, 1, 2, 3), (1, 3, 0, 2)) - t2new_aaaa += einsum(t2.aaaa, (0, 1, 2, 3), x100, (0, 4, 1, 5), (4, 5, 2, 3)) * 2.0 - del x100 - x101 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x101 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 2, 5, 3), (0, 1, 4, 5)) - x102 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x102 += einsum(t1.aa, (0, 1), x101, (2, 3, 0, 4), (2, 3, 4, 1)) * -2.0 - x102 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x102 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) - t2new_aaaa += einsum(t1.aa, (0, 1), x102, (2, 3, 0, 4), (2, 3, 4, 1)) * -1.0 - del x102 - x103 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x103 += einsum(t1.bb, (0, 1), v.aabb.ovov, (2, 3, 0, 4), (1, 4, 2, 3)) - x104 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x104 += einsum(v.aabb.ovvv, (0, 1, 2, 3), (2, 3, 0, 1)) - x104 += einsum(x103, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - t2new_abab += einsum(x104, (0, 1, 2, 3), t3.abaaba, (4, 5, 2, 6, 0, 3), (4, 5, 6, 1)) * 2.0 - x105 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x105 += einsum(t1.aa, (0, 1), v.aabb.ovov, (0, 2, 3, 4), (3, 4, 1, 2)) - x106 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x106 += einsum(v.aabb.vvov, (0, 1, 2, 3), (2, 3, 0, 1)) - x106 += einsum(x105, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new_abab += einsum(x106, (0, 1, 2, 3), t3.babbab, (4, 5, 0, 6, 2, 1), (5, 4, 3, 6)) * 2.0 - x107 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x107 += einsum(t1.bb, (0, 1), v.bbbb.ovov, (2, 3, 0, 4), (2, 1, 3, 4)) - x108 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x108 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) - x108 += einsum(x107, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new_abab += einsum(x108, (0, 1, 2, 3), t3.babbab, (4, 5, 0, 2, 6, 3), (5, 4, 6, 1)) * 2.0 - del x108 - x109 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x109 += einsum(t1.aa, (0, 1), v.aaaa.ovov, (2, 3, 0, 4), (2, 1, 3, 4)) - x110 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x110 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) - x110 += einsum(x109, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new_abab += einsum(x110, (0, 1, 2, 3), t3.abaaba, (4, 5, 0, 2, 6, 3), (4, 5, 1, 6)) * 2.0 - del x110 - x111 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x111 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 5), (1, 4, 3, 5)) - x112 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x112 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x112 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x113 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x113 += einsum(t2.bbbb, (0, 1, 2, 3), (0, 1, 2, 3)) - x113 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1)) * -0.5 - x114 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x114 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x114 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) - x115 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x115 += einsum(t1.bb, (0, 1), x114, (2, 3, 1, 4), (2, 0, 3, 4)) - x116 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x116 += einsum(t1.bb, (0, 1), x18, (2, 3, 0, 4), (2, 3, 4, 1)) - x117 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x117 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x117 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x117 += einsum(x111, (0, 1, 2, 3), (1, 0, 3, 2)) - x117 += einsum(x112, (0, 1, 2, 3), x113, (0, 4, 3, 5), (1, 4, 2, 5)) * -2.0 - x117 += einsum(x115, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x117 += einsum(x116, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - t2new_abab += einsum(t2.abab, (0, 1, 2, 3), x117, (1, 4, 3, 5), (0, 4, 2, 5)) - del x117 - x118 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x118 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x118 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) - x119 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x119 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x119 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) - x120 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x120 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) - x120 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x120 += einsum(x11, (0, 1, 2, 3), x40, (0, 4, 3, 5), (1, 4, 2, 5)) * -2.0 - x120 += einsum(t1.aa, (0, 1), x118, (2, 1, 3, 4), (2, 0, 4, 3)) * -1.0 - x120 += einsum(t1.aa, (0, 1), x119, (0, 2, 3, 4), (3, 2, 4, 1)) * -1.0 - del x119 - t2new_abab += einsum(t2.abab, (0, 1, 2, 3), x120, (0, 4, 2, 5), (4, 1, 5, 3)) * -1.0 - del x120 - x121 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x121 += einsum(t1.bb, (0, 1), v.aabb.ooov, (2, 3, 0, 4), (1, 4, 2, 3)) - x122 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x122 += einsum(t1.aa, (0, 1), v.aabb.ovvv, (2, 1, 3, 4), (3, 4, 0, 2)) - x123 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x123 += einsum(v.aabb.oovv, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 - x123 += einsum(x121, (0, 1, 2, 3), (1, 0, 3, 2)) - x123 += einsum(x122, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - x123 += einsum(v.aabb.ovov, (0, 1, 2, 3), x5, (2, 4, 5, 1), (3, 4, 0, 5)) - t2new_abab += einsum(t2.abab, (0, 1, 2, 3), x123, (3, 4, 0, 5), (5, 1, 2, 4)) - del x123 - x124 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x124 += einsum(t1.aa, (0, 1), v.aabb.ooov, (2, 0, 3, 4), (3, 4, 2, 1)) - x125 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x125 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) - x125 += einsum(x124, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x125 += einsum(x38, (0, 1, 2, 3), (0, 1, 2, 3)) - x125 += einsum(v.aabb.ovov, (0, 1, 2, 3), x40, (0, 4, 1, 5), (2, 3, 4, 5)) * 2.0 - t2new_abab += einsum(t2.bbbb, (0, 1, 2, 3), x125, (1, 3, 4, 5), (4, 0, 5, 2)) * 2.0 - del x125 - x126 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x126 += einsum(t2.aaaa, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x126 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 3, 1)) * -1.0 - x127 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x127 += einsum(t1.bb, (0, 1), v.aabb.ovvv, (2, 3, 4, 1), (0, 4, 2, 3)) - x128 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x128 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) - x128 += einsum(x127, (0, 1, 2, 3), (0, 1, 2, 3)) - x128 += einsum(t1.bb, (0, 1), x4, (0, 2, 3, 4), (2, 1, 3, 4)) * -1.0 - t2new_abab += einsum(x126, (0, 1, 2, 3), x128, (4, 5, 0, 2), (1, 4, 3, 5)) - del x126, x128 - x129 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x129 += einsum(t1.bb, (0, 1), v.aabb.vvov, (2, 3, 4, 1), (0, 4, 2, 3)) - x130 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x130 += einsum(v.aabb.ovoo, (0, 1, 2, 3), (2, 3, 0, 1)) - x130 += einsum(x3, (0, 1, 2, 3), (0, 1, 2, 3)) - x131 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x131 += einsum(v.aabb.vvoo, (0, 1, 2, 3), (2, 3, 0, 1)) - x131 += einsum(x129, (0, 1, 2, 3), (1, 0, 3, 2)) - x131 += einsum(t1.aa, (0, 1), x130, (2, 3, 0, 4), (3, 2, 4, 1)) * -1.0 - t2new_abab += einsum(t2.abab, (0, 1, 2, 3), x131, (1, 4, 2, 5), (0, 4, 5, 3)) * -1.0 - del x131 - x132 = np.zeros((nvir[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x132 += einsum(t1.bb, (0, 1), v.aabb.vvov, (2, 3, 0, 4), (1, 4, 2, 3)) - x133 = np.zeros((nvir[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x133 += einsum(t1.aa, (0, 1), v.aabb.ovvv, (0, 2, 3, 4), (3, 4, 1, 2)) - x134 = np.zeros((nvir[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x134 += einsum(v.aabb.vvvv, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 - x134 += einsum(x132, (0, 1, 2, 3), (1, 0, 3, 2)) - x134 += einsum(x133, (0, 1, 2, 3), (1, 0, 3, 2)) - t2new_abab += einsum(t2.abab, (0, 1, 2, 3), x134, (3, 4, 2, 5), (0, 1, 5, 4)) * -1.0 - del x134 - x135 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x135 += einsum(t1.bb, (0, 1), v.aabb.ooov, (2, 3, 4, 1), (0, 4, 2, 3)) - x136 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x136 += einsum(t1.aa, (0, 1), v.aabb.ovoo, (2, 1, 3, 4), (3, 4, 0, 2)) - x137 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x137 += einsum(v.aabb.ovov, (0, 1, 2, 3), x5, (4, 3, 5, 1), (4, 2, 5, 0)) - x138 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x138 += einsum(v.aabb.oooo, (0, 1, 2, 3), (2, 3, 0, 1)) - x138 += einsum(x135, (0, 1, 2, 3), (1, 0, 3, 2)) - x138 += einsum(x136, (0, 1, 2, 3), (1, 0, 3, 2)) - x138 += einsum(x137, (0, 1, 2, 3), (1, 0, 3, 2)) - t2new_abab += einsum(t2.abab, (0, 1, 2, 3), x138, (1, 4, 0, 5), (5, 4, 2, 3)) - del x138 - x139 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x139 += einsum(t1.aa, (0, 1), x13, (0, 2), (2, 1)) - x140 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x140 += einsum(f.aa.vv, (0, 1), (0, 1)) * -1.0 - x140 += einsum(x71, (0, 1), (1, 0)) * -1.0 - x140 += einsum(x72, (0, 1), (1, 0)) - x140 += einsum(x73, (0, 1), (1, 0)) * 2.0 - x140 += einsum(x74, (0, 1), (1, 0)) * -1.0 - del x74 - x140 += einsum(x139, (0, 1), (0, 1)) - t2new_abab += einsum(x140, (0, 1), t2.abab, (2, 3, 0, 4), (2, 3, 1, 4)) * -1.0 - t3new_babbab += einsum(x140, (0, 1), t3.babbab, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) * -2.0 - del x140 - x141 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x141 += einsum(t1.aa, (0, 1), v.aabb.ovvv, (0, 1, 2, 3), (2, 3)) - x142 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x142 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (0, 4, 1, 3), (2, 4)) - x143 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x143 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 1, 4), (3, 4)) - x144 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x144 += einsum(t1.bb, (0, 1), x114, (0, 2, 1, 3), (2, 3)) - del x114 - x145 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x145 += einsum(t1.bb, (0, 1), x9, (0, 2), (2, 1)) - x146 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x146 += einsum(f.bb.vv, (0, 1), (0, 1)) * -1.0 - x146 += einsum(x141, (0, 1), (1, 0)) * -1.0 - x146 += einsum(x142, (0, 1), (1, 0)) * 2.0 - x146 += einsum(x143, (0, 1), (1, 0)) - x146 += einsum(x144, (0, 1), (0, 1)) * -1.0 - x146 += einsum(x145, (0, 1), (0, 1)) - t2new_abab += einsum(x146, (0, 1), t2.abab, (2, 3, 4, 0), (2, 3, 4, 1)) * -1.0 - t3new_abaaba += einsum(x146, (0, 1), t3.abaaba, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) * -2.0 - del x146 - x147 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x147 += einsum(t1.aa, (0, 1), v.aabb.vvoo, (2, 1, 3, 4), (3, 4, 0, 2)) - x148 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x148 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) - x148 += einsum(x38, (0, 1, 2, 3), (0, 1, 2, 3)) - x149 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x149 += einsum(t1.bb, (0, 1), x148, (2, 1, 3, 4), (2, 0, 3, 4)) - del x148 - x150 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x150 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 5, 3), (1, 5, 0, 4)) - x151 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x151 += einsum(v.aabb.oooo, (0, 1, 2, 3), (2, 3, 0, 1)) - x151 += einsum(x135, (0, 1, 2, 3), (0, 1, 3, 2)) - x151 += einsum(x150, (0, 1, 2, 3), (0, 1, 3, 2)) - x152 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x152 += einsum(v.aabb.ovoo, (0, 1, 2, 3), (2, 3, 0, 1)) - x152 += einsum(x147, (0, 1, 2, 3), (1, 0, 2, 3)) - x152 += einsum(x149, (0, 1, 2, 3), (0, 1, 2, 3)) - x152 += einsum(t1.aa, (0, 1), x151, (2, 3, 0, 4), (3, 2, 4, 1)) * -1.0 - del x151 - t2new_abab += einsum(t1.bb, (0, 1), x152, (0, 2, 3, 4), (3, 2, 4, 1)) * -1.0 - del x152 - x153 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x153 += einsum(t1.aa, (0, 1), v.aabb.vvvv, (2, 1, 3, 4), (3, 4, 0, 2)) - x154 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x154 += einsum(v.aabb.ovvv, (0, 1, 2, 3), (2, 3, 0, 1)) - x154 += einsum(x153, (0, 1, 2, 3), (1, 0, 2, 3)) - t2new_abab += einsum(t1.bb, (0, 1), x154, (1, 2, 3, 4), (3, 0, 4, 2)) - del x154 - x155 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x155 += einsum(t1.bb, (0, 1), v.aabb.oovv, (2, 3, 4, 1), (0, 4, 2, 3)) - x156 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x156 += einsum(v.aabb.ooov, (0, 1, 2, 3), (2, 3, 0, 1)) - x156 += einsum(x155, (0, 1, 2, 3), (0, 1, 3, 2)) - t2new_abab += einsum(t1.aa, (0, 1), x156, (2, 3, 0, 4), (4, 2, 1, 3)) * -1.0 - del x156 - x157 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x157 += einsum(t1.bb, (0, 1), v.bbbb.vvvv, (2, 3, 4, 1), (0, 2, 3, 4)) - x158 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x158 += einsum(t1.bb, (0, 1), x157, (2, 3, 1, 4), (0, 2, 3, 4)) - x159 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x159 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 0, 6, 1, 3), (4, 5, 6, 2)) - x160 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x160 += einsum(v.aabb.ovvv, (0, 1, 2, 3), t3.babbab, (4, 0, 5, 6, 1, 3), (4, 5, 6, 2)) - x161 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x161 += einsum(t2.bbbb, (0, 1, 2, 3), x7, (1, 4, 3, 5), (4, 0, 5, 2)) - x162 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x162 += einsum(t2.bbbb, (0, 1, 2, 3), x161, (1, 4, 3, 5), (4, 0, 5, 2)) * -4.0 - del x161 - x163 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x163 += einsum(t2.abab, (0, 1, 2, 3), x11, (0, 4, 2, 5), (1, 3, 4, 5)) - x164 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x164 += einsum(t2.abab, (0, 1, 2, 3), x163, (4, 5, 0, 2), (4, 1, 5, 3)) * -1.0 - x165 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x165 += einsum(x141, (0, 1), (1, 0)) * -1.0 - x165 += einsum(x142, (0, 1), (1, 0)) * 2.0 - x165 += einsum(x143, (0, 1), (1, 0)) - x165 += einsum(x144, (0, 1), (0, 1)) * -1.0 - del x144 - x166 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x166 += einsum(x165, (0, 1), t2.bbbb, (2, 3, 4, 0), (2, 3, 1, 4)) * -2.0 - del x165 - x167 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x167 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovvv, (4, 2, 5, 3), (0, 1, 4, 5)) - x168 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x168 += einsum(v.bbbb.ovov, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 2, 6, 3, 1), (4, 5, 0, 6)) * -1.0 - x169 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x169 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.babbab, (4, 0, 5, 6, 1, 3), (4, 5, 2, 6)) - x170 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x170 += einsum(x9, (0, 1), t2.bbbb, (2, 3, 4, 1), (0, 2, 3, 4)) * -2.0 - x171 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x171 += einsum(t1.bb, (0, 1), x1, (2, 3, 4, 1), (2, 0, 4, 3)) - x172 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x172 += einsum(v.bbbb.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x172 += einsum(x171, (0, 1, 2, 3), (3, 1, 2, 0)) - x173 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x173 += einsum(t1.bb, (0, 1), x172, (0, 2, 3, 4), (2, 3, 4, 1)) - del x172 - x174 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x174 += einsum(x167, (0, 1, 2, 3), (2, 1, 0, 3)) * -2.0 - x174 += einsum(x168, (0, 1, 2, 3), (2, 1, 0, 3)) * 6.0 - x174 += einsum(x169, (0, 1, 2, 3), (2, 1, 0, 3)) * 2.0 - x174 += einsum(x170, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x174 += einsum(x173, (0, 1, 2, 3), (1, 0, 2, 3)) - del x173 - x175 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x175 += einsum(t1.bb, (0, 1), x174, (0, 2, 3, 4), (2, 3, 4, 1)) - del x174 - x176 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x176 += einsum(x158, (0, 1, 2, 3), (0, 1, 2, 3)) - del x158 - x176 += einsum(x159, (0, 1, 2, 3), (0, 1, 2, 3)) * -6.0 - del x159 - x176 += einsum(x160, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x160 - x176 += einsum(x162, (0, 1, 2, 3), (0, 1, 2, 3)) - del x162 - x176 += einsum(x164, (0, 1, 2, 3), (0, 1, 2, 3)) - del x164 - x176 += einsum(x166, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x166 - x176 += einsum(x175, (0, 1, 2, 3), (1, 0, 3, 2)) - del x175 - t2new_bbbb += einsum(x176, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new_bbbb += einsum(x176, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x176 - x177 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x177 += einsum(t1.bb, (0, 1), v.bbbb.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) - x178 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x178 += einsum(t2.abab, (0, 1, 2, 3), x127, (4, 5, 0, 2), (4, 1, 3, 5)) - x179 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x179 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x179 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x179 += einsum(x111, (0, 1, 2, 3), (1, 0, 3, 2)) - x180 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x180 += einsum(t2.bbbb, (0, 1, 2, 3), x179, (1, 4, 3, 5), (4, 0, 5, 2)) * 2.0 - del x179 - x181 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x181 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) - x181 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x182 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x182 += einsum(t1.bb, (0, 1), x181, (2, 1, 3, 4), (2, 0, 3, 4)) - del x181 - x183 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x183 += einsum(t2.bbbb, (0, 1, 2, 3), x182, (1, 4, 5, 3), (4, 0, 5, 2)) * -2.0 - x184 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x184 += einsum(t1.bb, (0, 1), v.bbbb.ooov, (2, 3, 4, 1), (0, 2, 3, 4)) - x185 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x185 += einsum(t1.bb, (0, 1), x184, (2, 3, 4, 0), (2, 4, 3, 1)) - x186 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x186 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovoo, (0, 2, 4, 5), (1, 4, 5, 3)) - x187 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x187 += einsum(t2.abab, (0, 1, 2, 3), x3, (4, 5, 0, 2), (4, 1, 5, 3)) - x188 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x188 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x188 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) - x189 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x189 += einsum(t2.bbbb, (0, 1, 2, 3), x188, (1, 4, 5, 3), (4, 5, 0, 2)) * 2.0 - x190 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x190 += einsum(x1, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x190 += einsum(x1, (0, 1, 2, 3), (0, 2, 1, 3)) - x191 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x191 += einsum(t2.bbbb, (0, 1, 2, 3), x190, (4, 1, 5, 3), (4, 5, 0, 2)) * 2.0 - x192 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x192 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x192 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x192 += einsum(x177, (0, 1, 2, 3), (0, 1, 2, 3)) - x193 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x193 += einsum(t1.bb, (0, 1), x192, (2, 3, 1, 4), (2, 3, 0, 4)) - x194 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x194 += einsum(x185, (0, 1, 2, 3), (0, 2, 1, 3)) - x194 += einsum(x186, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x194 += einsum(x187, (0, 1, 2, 3), (0, 2, 1, 3)) - x194 += einsum(x189, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - del x189 - x194 += einsum(x191, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x191 - x194 += einsum(x193, (0, 1, 2, 3), (2, 1, 0, 3)) - x195 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x195 += einsum(t1.bb, (0, 1), x194, (2, 0, 3, 4), (2, 3, 4, 1)) - del x194 - x196 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x196 += einsum(x177, (0, 1, 2, 3), (0, 1, 2, 3)) - x196 += einsum(x111, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x196 += einsum(x178, (0, 1, 2, 3), (0, 1, 2, 3)) - del x178 - x196 += einsum(x180, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x180 - x196 += einsum(x183, (0, 1, 2, 3), (0, 1, 3, 2)) - del x183 - x196 += einsum(x195, (0, 1, 2, 3), (0, 1, 3, 2)) - del x195 - t2new_bbbb += einsum(x196, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_bbbb += einsum(x196, (0, 1, 2, 3), (0, 1, 3, 2)) - t2new_bbbb += einsum(x196, (0, 1, 2, 3), (1, 0, 2, 3)) - t2new_bbbb += einsum(x196, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x196 - x197 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x197 += einsum(t1.bb, (0, 1), v.bbbb.ooov, (2, 0, 3, 4), (2, 3, 1, 4)) - x198 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x198 += einsum(v.bbbb.ooov, (0, 1, 2, 3), t3.bbbbbb, (4, 1, 2, 5, 6, 3), (4, 0, 5, 6)) - x199 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x199 += einsum(t2.bbbb, (0, 1, 2, 3), x184, (4, 5, 0, 1), (4, 5, 2, 3)) - x200 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x200 += einsum(v.aabb.ovoo, (0, 1, 2, 3), t3.babbab, (4, 0, 3, 5, 1, 6), (4, 2, 5, 6)) - x201 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x201 += einsum(x1, (0, 1, 2, 3), t3.bbbbbb, (4, 1, 2, 5, 6, 3), (0, 4, 5, 6)) * -1.0 - x202 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x202 += einsum(x3, (0, 1, 2, 3), t3.babbab, (4, 2, 1, 5, 3, 6), (0, 4, 5, 6)) - x203 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x203 += einsum(f.bb.oo, (0, 1), (0, 1)) - x203 += einsum(x20, (0, 1), (1, 0)) - x204 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x204 += einsum(x203, (0, 1), t2.bbbb, (2, 1, 3, 4), (0, 2, 3, 4)) * -2.0 - del x203 - x205 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x205 += einsum(x15, (0, 1), (1, 0)) - x205 += einsum(x16, (0, 1), (1, 0)) * 2.0 - x205 += einsum(x17, (0, 1), (1, 0)) - x205 += einsum(x19, (0, 1), (1, 0)) * -1.0 - x206 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x206 += einsum(x205, (0, 1), t2.bbbb, (2, 0, 3, 4), (1, 2, 3, 4)) * -2.0 - del x205 - x207 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x207 += einsum(x197, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x197 - x207 += einsum(x198, (0, 1, 2, 3), (0, 1, 3, 2)) * -6.0 - del x198 - x207 += einsum(x199, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - del x199 - x207 += einsum(x200, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - del x200 - x207 += einsum(x201, (0, 1, 2, 3), (0, 1, 3, 2)) * 6.0 - del x201 - x207 += einsum(x202, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - del x202 - x207 += einsum(x204, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x204 - x207 += einsum(x206, (0, 1, 2, 3), (1, 0, 3, 2)) - del x206 - t2new_bbbb += einsum(x207, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_bbbb += einsum(x207, (0, 1, 2, 3), (1, 0, 2, 3)) - del x207 - x208 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x208 += einsum(f.bb.vv, (0, 1), t2.bbbb, (2, 3, 4, 1), (2, 3, 0, 4)) - x209 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x209 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x209 += einsum(x208, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 - del x208 - t2new_bbbb += einsum(x209, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new_bbbb += einsum(x209, (0, 1, 2, 3), (0, 1, 2, 3)) - del x209 - x210 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x210 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 2, 5, 3), (0, 1, 4, 5)) - x211 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x211 += einsum(v.bbbb.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x211 += einsum(x210, (0, 1, 2, 3), (3, 1, 2, 0)) * -1.0 - x211 += einsum(x171, (0, 1, 2, 3), (2, 1, 3, 0)) - t2new_bbbb += einsum(t2.bbbb, (0, 1, 2, 3), x211, (0, 4, 1, 5), (4, 5, 2, 3)) * -2.0 - del x211 - x212 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x212 += einsum(t1.bb, (0, 1), x210, (2, 3, 0, 4), (2, 3, 4, 1)) * -2.0 - x212 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x212 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) - t2new_bbbb += einsum(t1.bb, (0, 1), x212, (2, 3, 0, 4), (2, 3, 1, 4)) - del x212 - x213 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x213 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.abaaba, (4, 2, 5, 6, 3, 7), (4, 5, 0, 6, 7, 1)) - x214 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x214 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ooov, (4, 0, 1, 5), (4, 2, 3, 5)) - x215 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x215 += einsum(t2.aaaa, (0, 1, 2, 3), x214, (4, 5, 6, 3), (0, 1, 4, 5, 6, 2)) - x216 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x216 += einsum(t2.aaaa, (0, 1, 2, 3), x77, (4, 5, 1, 6), (4, 5, 0, 2, 3, 6)) - x217 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x217 += einsum(x28, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 0, 6, 7, 2), (4, 5, 1, 6, 7, 3)) * 6.0 - x218 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x218 += einsum(x213, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 2.0 - del x213 - x218 += einsum(x215, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -4.0 - del x215 - x218 += einsum(x216, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -4.0 - del x216 - x218 += einsum(x217, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x217 - t3new_aaaaaa = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - t3new_aaaaaa += einsum(x218, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - t3new_aaaaaa += einsum(x218, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - t3new_aaaaaa += einsum(x218, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -1.0 - t3new_aaaaaa += einsum(x218, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) - t3new_aaaaaa += einsum(x218, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - t3new_aaaaaa += einsum(x218, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) - t3new_aaaaaa += einsum(x218, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) - t3new_aaaaaa += einsum(x218, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -1.0 - t3new_aaaaaa += einsum(x218, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) - del x218 - x219 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x219 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.vvov, (4, 5, 1, 3), (0, 2, 4, 5)) - x220 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x220 += einsum(t2.aaaa, (0, 1, 2, 3), x118, (1, 3, 4, 5), (0, 2, 4, 5)) * 2.0 - x221 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x221 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) - x221 += einsum(x219, (0, 1, 2, 3), (0, 1, 3, 2)) - x221 += einsum(x220, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x220 - x222 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x222 += einsum(t2.aaaa, (0, 1, 2, 3), x221, (4, 5, 3, 6), (0, 1, 4, 2, 5, 6)) * -2.0 - del x221 - x223 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x223 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ooov, (4, 5, 6, 3), (0, 1, 4, 5, 6, 2)) - x224 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x224 += einsum(t1.aa, (0, 1), x223, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x223 - x225 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x225 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (0, 4, 2, 5)) - x226 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x226 += einsum(t2.aaaa, (0, 1, 2, 3), x68, (1, 4, 5, 3), (0, 4, 2, 5)) * 2.0 - x227 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x227 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x227 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x227 += einsum(x225, (0, 1, 2, 3), (0, 1, 2, 3)) - x227 += einsum(x226, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x228 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x228 += einsum(t2.aaaa, (0, 1, 2, 3), x227, (4, 5, 6, 3), (0, 1, 4, 5, 2, 6)) * -1.0 - del x227 - x229 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x229 += einsum(x224, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) - del x224 - x229 += einsum(x228, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) * -1.0 - del x228 - x230 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x230 += einsum(t1.aa, (0, 1), x229, (2, 3, 0, 4, 5, 6), (2, 3, 4, 5, 6, 1)) * 2.0 - del x229 - x231 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x231 += einsum(x222, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) - del x222 - x231 += einsum(x230, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) - del x230 - t3new_aaaaaa += einsum(x231, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - t3new_aaaaaa += einsum(x231, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - t3new_aaaaaa += einsum(x231, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) - t3new_aaaaaa += einsum(x231, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -1.0 - t3new_aaaaaa += einsum(x231, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -1.0 - t3new_aaaaaa += einsum(x231, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) - t3new_aaaaaa += einsum(x231, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) - t3new_aaaaaa += einsum(x231, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - t3new_aaaaaa += einsum(x231, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -1.0 - t3new_aaaaaa += einsum(x231, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) - t3new_aaaaaa += einsum(x231, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - t3new_aaaaaa += einsum(x231, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -1.0 - t3new_aaaaaa += einsum(x231, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) - t3new_aaaaaa += einsum(x231, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -1.0 - t3new_aaaaaa += einsum(x231, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -1.0 - t3new_aaaaaa += einsum(x231, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) - t3new_aaaaaa += einsum(x231, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) - t3new_aaaaaa += einsum(x231, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -1.0 - del x231 - x232 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x232 += einsum(v.aaaa.oooo, (0, 1, 2, 3), t3.aaaaaa, (4, 3, 1, 5, 6, 7), (4, 0, 2, 5, 6, 7)) * -1.0 - x233 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x233 += einsum(f.aa.oo, (0, 1), (0, 1)) - x233 += einsum(x30, (0, 1), (1, 0)) - x233 += einsum(x31, (0, 1), (1, 0)) * 2.0 - x233 += einsum(x34, (0, 1), (0, 1)) - x234 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x234 += einsum(x233, (0, 1), t3.aaaaaa, (2, 3, 0, 4, 5, 6), (2, 3, 1, 4, 5, 6)) * 6.0 - del x233 - x235 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x235 += einsum(x232, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 6.0 - del x232 - x235 += einsum(x234, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) - del x234 - t3new_aaaaaa += einsum(x235, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -1.0 - t3new_aaaaaa += einsum(x235, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 - t3new_aaaaaa += einsum(x235, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) - del x235 - x236 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x236 += einsum(v.aaaa.vvvv, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 6, 7, 3, 1), (4, 5, 6, 7, 0, 2)) * -1.0 - x237 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x237 += einsum(f.aa.vv, (0, 1), (0, 1)) * -1.0 - x237 += einsum(x72, (0, 1), (1, 0)) - x237 += einsum(x73, (0, 1), (1, 0)) * 2.0 - x237 += einsum(x139, (0, 1), (0, 1)) - x238 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x238 += einsum(x237, (0, 1), t3.aaaaaa, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 6, 1)) * 6.0 - del x237 - x239 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x239 += einsum(x236, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -6.0 - del x236 - x239 += einsum(x238, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -1.0 - del x238 - t3new_aaaaaa += einsum(x239, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - t3new_aaaaaa += einsum(x239, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - t3new_aaaaaa += einsum(x239, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) - del x239 - x240 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x240 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.abaaba, (4, 2, 0, 5, 3, 6), (4, 5, 6, 1)) - x241 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x241 += einsum(v.aaaa.ovov, (0, 1, 2, 3), t3.aaaaaa, (4, 0, 2, 5, 6, 3), (4, 5, 6, 1)) - x242 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x242 += einsum(x240, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x242 += einsum(x241, (0, 1, 2, 3), (0, 2, 1, 3)) * -3.0 - x243 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x243 += einsum(t2.aaaa, (0, 1, 2, 3), x242, (4, 5, 6, 3), (0, 1, 4, 2, 5, 6)) * -4.0 - del x242 - x244 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x244 += einsum(v.aabb.ooov, (0, 1, 2, 3), t3.abaaba, (4, 2, 5, 6, 3, 7), (4, 5, 0, 1, 6, 7)) - x245 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x245 += einsum(x32, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 2, 6, 7, 3), (4, 5, 0, 1, 6, 7)) * 3.0 - x246 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x246 += einsum(x244, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -1.0 - del x244 - x246 += einsum(x245, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 - del x245 - x247 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x247 += einsum(t1.aa, (0, 1), x246, (2, 3, 0, 4, 5, 6), (2, 3, 4, 5, 6, 1)) * 2.0 - del x246 - x248 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x248 += einsum(x243, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * -1.0 - del x243 - x248 += einsum(x247, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) - del x247 - t3new_aaaaaa += einsum(x248, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - t3new_aaaaaa += einsum(x248, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - t3new_aaaaaa += einsum(x248, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) - t3new_aaaaaa += einsum(x248, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 - t3new_aaaaaa += einsum(x248, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) - t3new_aaaaaa += einsum(x248, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 - t3new_aaaaaa += einsum(x248, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -1.0 - t3new_aaaaaa += einsum(x248, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) - t3new_aaaaaa += einsum(x248, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -1.0 - del x248 - x249 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x249 += einsum(x101, (0, 1, 2, 3), (1, 0, 3, 2)) - x249 += einsum(x81, (0, 1, 2, 3), (0, 1, 2, 3)) - x250 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x250 += einsum(x249, (0, 1, 2, 3), t3.aaaaaa, (4, 2, 3, 5, 6, 7), (4, 0, 1, 5, 6, 7)) * -6.0 - del x249 - x251 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x251 += einsum(x29, (0, 1), (1, 0)) - del x29 - x251 += einsum(x33, (0, 1), (1, 0)) * -1.0 - del x33 - x252 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x252 += einsum(x251, (0, 1), t3.aaaaaa, (2, 3, 0, 4, 5, 6), (2, 3, 1, 4, 5, 6)) * 6.0 - x253 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x253 += einsum(x250, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) - del x250 - x253 += einsum(x252, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -1.0 - del x252 - t3new_aaaaaa += einsum(x253, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) - t3new_aaaaaa += einsum(x253, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -1.0 - t3new_aaaaaa += einsum(x253, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * -1.0 - del x253 - x254 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x254 += einsum(t1.aa, (0, 1), x118, (0, 1, 2, 3), (2, 3)) - x255 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x255 += einsum(x71, (0, 1), (1, 0)) - del x71 - x255 += einsum(x254, (0, 1), (1, 0)) * -1.0 - del x254 - x256 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x256 += einsum(x255, (0, 1), t3.aaaaaa, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 6, 1)) * 6.0 - x257 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x257 += einsum(v.aaaa.ovov, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 6, 7, 3, 1), (4, 5, 6, 0, 2, 7)) * -1.0 - x258 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x258 += einsum(x98, (0, 1, 2, 3), x257, (4, 5, 6, 0, 1, 7), (4, 5, 6, 2, 3, 7)) * 6.0 - del x98, x257 - x259 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x259 += einsum(x256, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) - del x256 - x259 += einsum(x258, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - del x258 - t3new_aaaaaa += einsum(x259, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - t3new_aaaaaa += einsum(x259, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 - t3new_aaaaaa += einsum(x259, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) - del x259 - x260 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x260 += einsum(x38, (0, 1, 2, 3), t3.abaaba, (4, 0, 5, 6, 1, 7), (2, 4, 5, 6, 7, 3)) - x261 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x261 += einsum(t2.aaaa, (0, 1, 2, 3), x25, (4, 0, 1, 5), (4, 2, 3, 5)) - x262 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x262 += einsum(t2.aaaa, (0, 1, 2, 3), x261, (4, 5, 6, 3), (4, 0, 1, 5, 6, 2)) * -1.0 - x263 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x263 += einsum(x46, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 0, 6, 7, 3), (4, 5, 1, 6, 7, 2)) * -6.0 - x264 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x264 += einsum(x78, (0, 1, 2, 3), (0, 1, 2, 3)) - x264 += einsum(x79, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0 - x265 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x265 += einsum(t2.aaaa, (0, 1, 2, 3), x264, (4, 5, 1, 6), (0, 4, 5, 2, 3, 6)) * -4.0 - del x264 - x266 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x266 += einsum(x260, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 2.0 - del x260 - x266 += einsum(x262, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -4.0 - del x262 - x266 += einsum(x263, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) - del x263 - x266 += einsum(x265, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) - del x265 - t3new_aaaaaa += einsum(x266, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - t3new_aaaaaa += einsum(x266, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 - t3new_aaaaaa += einsum(x266, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) - t3new_aaaaaa += einsum(x266, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) - t3new_aaaaaa += einsum(x266, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) * -1.0 - t3new_aaaaaa += einsum(x266, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) - t3new_aaaaaa += einsum(x266, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -1.0 - t3new_aaaaaa += einsum(x266, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) - t3new_aaaaaa += einsum(x266, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * -1.0 - del x266 - x267 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x267 += einsum(t2.aaaa, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0000000000000204 - x267 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 3, 1)) * -1.0 - x268 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x268 += einsum(x267, (0, 1, 2, 3), x68, (0, 4, 5, 2), (4, 1, 5, 3)) * 0.9999999999999901 - del x267 - x269 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x269 += einsum(x225, (0, 1, 2, 3), (0, 1, 2, 3)) - x269 += einsum(x268, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x268 - x270 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x270 += einsum(x269, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 1, 6, 7, 3), (4, 5, 0, 6, 7, 2)) * 6.0000000000000595 - del x269 - x271 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x271 += einsum(t2.aaaa, (0, 1, 2, 3), (0, 1, 2, 3)) - x271 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 3, 1)) * -0.499999999999995 - x272 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x272 += einsum(v.aabb.ovov, (0, 1, 2, 3), x271, (0, 4, 1, 5), (2, 3, 4, 5)) - x273 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x273 += einsum(x272, (0, 1, 2, 3), t3.abaaba, (4, 0, 5, 6, 1, 7), (4, 5, 2, 6, 7, 3)) * 4.00000000000004 - del x272 - x274 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x274 += einsum(x270, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) - del x270 - x274 += einsum(x273, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) - del x273 - t3new_aaaaaa += einsum(x274, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - t3new_aaaaaa += einsum(x274, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - t3new_aaaaaa += einsum(x274, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) - t3new_aaaaaa += einsum(x274, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) - t3new_aaaaaa += einsum(x274, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -1.0 - t3new_aaaaaa += einsum(x274, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) - t3new_aaaaaa += einsum(x274, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -1.0 - t3new_aaaaaa += einsum(x274, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) - t3new_aaaaaa += einsum(x274, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -1.0 - del x274 - x275 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x275 += einsum(t2.aaaa, (0, 1, 2, 3), x64, (4, 5, 3, 6), (4, 0, 1, 2, 6, 5)) - x276 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x276 += einsum(t2.aaaa, (0, 1, 2, 3), x25, (4, 5, 6, 3), (4, 0, 1, 6, 5, 2)) - x277 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x277 += einsum(t1.aa, (0, 1), x276, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x276 - x278 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x278 += einsum(t2.aaaa, (0, 1, 2, 3), x46, (4, 5, 6, 3), (0, 1, 5, 4, 2, 6)) - x279 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x279 += einsum(x277, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 - del x277 - x279 += einsum(x278, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -1.0 - del x278 - x280 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x280 += einsum(t1.aa, (0, 1), x279, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 6, 1)) * 2.0 - del x279 - x281 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x281 += einsum(x275, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -2.0 - del x275 - x281 += einsum(x280, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -1.0 - del x280 - t3new_aaaaaa += einsum(x281, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - t3new_aaaaaa += einsum(x281, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - t3new_aaaaaa += einsum(x281, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) - t3new_aaaaaa += einsum(x281, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -1.0 - t3new_aaaaaa += einsum(x281, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -1.0 - t3new_aaaaaa += einsum(x281, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) - t3new_aaaaaa += einsum(x281, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) * -1.0 - t3new_aaaaaa += einsum(x281, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) - t3new_aaaaaa += einsum(x281, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) - t3new_aaaaaa += einsum(x281, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 - t3new_aaaaaa += einsum(x281, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * -1.0 - t3new_aaaaaa += einsum(x281, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) - t3new_aaaaaa += einsum(x281, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) - t3new_aaaaaa += einsum(x281, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -1.0 - t3new_aaaaaa += einsum(x281, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -1.0 - t3new_aaaaaa += einsum(x281, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) - t3new_aaaaaa += einsum(x281, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) - t3new_aaaaaa += einsum(x281, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -1.0 - del x281 - x282 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x282 += einsum(x49, (0, 1, 2, 3), t3.aaaaaa, (4, 2, 3, 5, 6, 7), (0, 4, 1, 5, 6, 7)) - t3new_aaaaaa += einsum(x282, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 6.0 - t3new_aaaaaa += einsum(x282, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -6.0 - t3new_aaaaaa += einsum(x282, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -6.0 - t3new_aaaaaa += einsum(x282, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * 6.0 - t3new_aaaaaa += einsum(x282, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 6.0 - t3new_aaaaaa += einsum(x282, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -6.0 - del x282 - x283 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x283 += einsum(x61, (0, 1, 2, 3), t3.abaaba, (4, 0, 5, 6, 1, 7), (4, 5, 2, 6, 7, 3)) * -2.00000000000002 - t3new_aaaaaa += einsum(x283, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) - t3new_aaaaaa += einsum(x283, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -1.0 - t3new_aaaaaa += einsum(x283, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) - t3new_aaaaaa += einsum(x283, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -1.0 - t3new_aaaaaa += einsum(x283, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) - t3new_aaaaaa += einsum(x283, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * -1.0 - t3new_aaaaaa += einsum(x283, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -1.0 - t3new_aaaaaa += einsum(x283, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) - t3new_aaaaaa += einsum(x283, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - del x283 - x284 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x284 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 6, 7, 1, 3), (4, 5, 6, 0, 7, 2)) - x285 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x285 += einsum(t1.aa, (0, 1), x284, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) - del x284 - t3new_aaaaaa += einsum(x285, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 6.0 - t3new_aaaaaa += einsum(x285, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -6.0 - t3new_aaaaaa += einsum(x285, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -6.0 - t3new_aaaaaa += einsum(x285, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * 6.0 - t3new_aaaaaa += einsum(x285, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 6.0 - t3new_aaaaaa += einsum(x285, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -6.0 - del x285 - x286 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x286 += einsum(t1.aa, (0, 1), v.aaaa.oovv, (2, 3, 4, 1), (0, 2, 3, 4)) - x287 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x287 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ooov, (4, 5, 1, 3), (0, 4, 5, 2)) - x288 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x288 += einsum(x286, (0, 1, 2, 3), (0, 2, 1, 3)) - x288 += einsum(x48, (0, 1, 2, 3), (0, 2, 1, 3)) - x288 += einsum(x287, (0, 1, 2, 3), (0, 2, 1, 3)) * 2.0 - x289 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x289 += einsum(t1.aa, (0, 1), x81, (2, 3, 0, 4), (3, 2, 4, 1)) - del x81 - x290 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x290 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x290 += einsum(x37, (0, 1, 2, 3), (1, 0, 2, 3)) - x291 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x291 += einsum(t1.aa, (0, 1), x290, (2, 3, 1, 4), (2, 3, 0, 4)) - x292 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x292 += einsum(v.aaaa.ooov, (0, 1, 2, 3), x40, (1, 4, 3, 5), (0, 2, 4, 5)) * 2.0 - x293 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x293 += einsum(x52, (0, 1, 2, 3), (0, 1, 2, 3)) - x293 += einsum(x289, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x293 += einsum(x56, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x56 - x293 += einsum(x291, (0, 1, 2, 3), (2, 1, 0, 3)) - del x291 - x293 += einsum(x292, (0, 1, 2, 3), (2, 0, 1, 3)) - del x292 - x294 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x294 += einsum(x101, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - del x101 - x294 += einsum(v.aaaa.oooo, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x294 += einsum(v.aaaa.oooo, (0, 1, 2, 3), (0, 2, 1, 3)) - x295 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x295 += einsum(t1.aa, (0, 1), x294, (2, 3, 0, 4), (2, 3, 4, 1)) - x296 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x296 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x296 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) - x296 += einsum(x288, (0, 1, 2, 3), (0, 1, 2, 3)) - x296 += einsum(x288, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x288 - x296 += einsum(x293, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x296 += einsum(x293, (0, 1, 2, 3), (1, 0, 2, 3)) - del x293 - x296 += einsum(x50, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x296 += einsum(x50, (0, 1, 2, 3), (1, 0, 2, 3)) - x296 += einsum(x80, (0, 1, 2, 3), (2, 1, 0, 3)) - x296 += einsum(x295, (0, 1, 2, 3), (1, 0, 2, 3)) - x297 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x297 += einsum(t2.aaaa, (0, 1, 2, 3), x296, (4, 5, 1, 6), (0, 4, 5, 2, 3, 6)) * -2.0 - del x296 - t3new_aaaaaa += einsum(x297, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 - t3new_aaaaaa += einsum(x297, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) - t3new_aaaaaa += einsum(x297, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) - del x297 - x298 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x298 += einsum(x286, (0, 1, 2, 3), (0, 2, 1, 3)) * 0.5 - del x286 - x298 += einsum(x48, (0, 1, 2, 3), (0, 2, 1, 3)) * 0.5 - x298 += einsum(x287, (0, 1, 2, 3), (0, 2, 1, 3)) - del x287 - x299 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x299 += einsum(t2.aaaa, (0, 1, 2, 3), x55, (4, 1, 5, 3), (0, 4, 5, 2)) - x300 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x300 += einsum(t1.aa, (0, 1), x290, (2, 3, 1, 4), (2, 3, 0, 4)) * 0.5 - del x290 - x301 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x301 += einsum(v.aaaa.ooov, (0, 1, 2, 3), x40, (1, 4, 3, 5), (0, 2, 4, 5)) - x302 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x302 += einsum(x52, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - x302 += einsum(x289, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - del x289 - x302 += einsum(x299, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x299 - x302 += einsum(x300, (0, 1, 2, 3), (2, 1, 0, 3)) - del x300 - x302 += einsum(x301, (0, 1, 2, 3), (2, 0, 1, 3)) - del x301 - x303 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x303 += einsum(x13, (0, 1), t2.aaaa, (2, 3, 4, 1), (0, 2, 3, 4)) * -1.0 - x304 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x304 += einsum(t1.aa, (0, 1), x294, (2, 3, 0, 4), (2, 3, 4, 1)) * 0.5 - del x294 - x305 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x305 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 - x305 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) * 0.5 - x305 += einsum(x298, (0, 1, 2, 3), (0, 1, 2, 3)) - x305 += einsum(x298, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x298 - x305 += einsum(x302, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x305 += einsum(x302, (0, 1, 2, 3), (1, 0, 2, 3)) - del x302 - x305 += einsum(x50, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 - x305 += einsum(x50, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.5 - x305 += einsum(x303, (0, 1, 2, 3), (2, 1, 0, 3)) - del x303 - x305 += einsum(x304, (0, 1, 2, 3), (1, 0, 2, 3)) - del x304 - x306 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x306 += einsum(t2.aaaa, (0, 1, 2, 3), x305, (4, 5, 1, 6), (0, 4, 5, 2, 3, 6)) * -4.0 - del x305 - t3new_aaaaaa += einsum(x306, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -1.0 - t3new_aaaaaa += einsum(x306, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 - t3new_aaaaaa += einsum(x306, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -1.0 - t3new_aaaaaa += einsum(x306, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) - t3new_aaaaaa += einsum(x306, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) - t3new_aaaaaa += einsum(x306, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) - del x306 - x307 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x307 += einsum(t2.abab, (0, 1, 2, 3), v.bbbb.ovvv, (4, 5, 6, 3), (1, 4, 5, 6, 0, 2)) - x308 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x308 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.abaaba, (4, 5, 0, 6, 7, 1), (5, 2, 7, 3, 4, 6)) - x309 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x309 += einsum(x127, (0, 1, 2, 3), t3.abaaba, (4, 5, 2, 6, 7, 3), (0, 5, 7, 1, 4, 6)) - x310 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x310 += einsum(t2.bbbb, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.00000000000002 - x310 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1)) * -1.0 - x311 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x311 += einsum(x310, (0, 1, 2, 3), x7, (0, 4, 2, 5), (4, 1, 5, 3)) - del x310 - x312 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x312 += einsum(x111, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.00000000000001 - x312 += einsum(x311, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x311 - x313 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x313 += einsum(x312, (0, 1, 2, 3), t3.babbab, (4, 5, 1, 6, 7, 3), (0, 4, 2, 6, 5, 7)) * 2.0 - del x312 - x314 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x314 += einsum(t2.abab, (0, 1, 2, 3), x11, (0, 4, 2, 5), (1, 3, 4, 5)) * 1.00000000000001 - x315 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x315 += einsum(t2.bbbb, (0, 1, 2, 3), (0, 1, 2, 3)) - x315 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1)) * -0.499999999999995 - x316 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x316 += einsum(v.aabb.ovov, (0, 1, 2, 3), x315, (2, 4, 3, 5), (4, 5, 0, 1)) * 2.00000000000002 - x317 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x317 += einsum(x314, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x317 += einsum(x316, (0, 1, 2, 3), (0, 1, 2, 3)) - del x316 - x318 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x318 += einsum(x317, (0, 1, 2, 3), t3.abaaba, (4, 5, 2, 6, 7, 3), (5, 0, 7, 1, 4, 6)) * 2.0 - del x317 - x319 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x319 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), (0, 2, 3, 5, 1, 4)) - x319 += einsum(t1.bb, (0, 1), t2.abab, (2, 3, 4, 5), (0, 3, 5, 1, 2, 4)) * -0.5 - x320 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x320 += einsum(x14, (0, 1, 2, 3), x319, (0, 4, 2, 5, 6, 7), (1, 4, 3, 5, 6, 7)) * 2.0 - x321 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x321 += einsum(x182, (0, 1, 2, 3), x319, (0, 4, 3, 5, 6, 7), (1, 4, 2, 5, 6, 7)) * -2.0 - del x319 - x322 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x322 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovoo, (0, 4, 5, 1), (5, 3, 2, 4)) - x323 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x323 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovvv, (0, 4, 5, 3), (1, 5, 2, 4)) - x324 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x324 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.babbab, (4, 0, 2, 5, 6, 3), (4, 5, 6, 1)) - x325 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x325 += einsum(v.aaaa.ovov, (0, 1, 2, 3), t3.abaaba, (0, 4, 2, 5, 6, 1), (4, 6, 5, 3)) * -1.0 - x326 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x326 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x326 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) - x326 += einsum(x109, (0, 1, 2, 3), (0, 2, 3, 1)) - x326 += einsum(x109, (0, 1, 2, 3), (0, 3, 2, 1)) * -1.0 - x327 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x327 += einsum(t2.abab, (0, 1, 2, 3), x326, (0, 4, 2, 5), (1, 3, 4, 5)) - del x326 - x328 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x328 += einsum(x13, (0, 1), t2.abab, (0, 2, 3, 4), (2, 4, 1, 3)) - x329 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x329 += einsum(v.aabb.vvov, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 - x329 += einsum(x105, (0, 1, 2, 3), (0, 1, 2, 3)) - x329 += einsum(x322, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x322 - x329 += einsum(x323, (0, 1, 2, 3), (0, 1, 2, 3)) - del x323 - x329 += einsum(x324, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x329 += einsum(x325, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x329 += einsum(x327, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x327 - x329 += einsum(x328, (0, 1, 2, 3), (0, 1, 3, 2)) - del x328 - x330 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x330 += einsum(t2.abab, (0, 1, 2, 3), x329, (4, 5, 6, 2), (4, 1, 5, 3, 0, 6)) - del x329 - x331 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x331 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovvv, (0, 2, 4, 5), (1, 3, 4, 5)) - x332 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x332 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x332 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) - x333 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x333 += einsum(t2.bbbb, (0, 1, 2, 3), x332, (1, 3, 4, 5), (0, 4, 5, 2)) * 2.0 - del x332 - x334 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x334 += einsum(t1.bb, (0, 1), x1, (2, 0, 3, 4), (2, 3, 1, 4)) - x335 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x335 += einsum(t2.bbbb, (0, 1, 2, 3), x7, (1, 4, 3, 5), (4, 0, 5, 2)) * 2.0 - x336 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x336 += einsum(x334, (0, 1, 2, 3), (0, 1, 2, 3)) - del x334 - x336 += einsum(x111, (0, 1, 2, 3), (0, 1, 2, 3)) - x336 += einsum(x335, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - x337 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x337 += einsum(t1.bb, (0, 1), x336, (2, 0, 3, 4), (2, 3, 4, 1)) - del x336 - x338 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x338 += einsum(x157, (0, 1, 2, 3), (0, 2, 1, 3)) - x338 += einsum(x331, (0, 1, 2, 3), (0, 3, 2, 1)) - x338 += einsum(x333, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x333 - x338 += einsum(x337, (0, 1, 2, 3), (0, 2, 1, 3)) - del x337 - x339 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x339 += einsum(t2.abab, (0, 1, 2, 3), x338, (4, 3, 5, 6), (4, 1, 5, 6, 0, 2)) - del x338 - x340 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x340 += einsum(t2.abab, (0, 1, 2, 3), v.bbbb.ooov, (4, 5, 6, 3), (1, 4, 5, 6, 0, 2)) - x341 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x341 += einsum(t1.bb, (0, 1), x340, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) - del x340 - x342 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x342 += einsum(v.aabb.ovoo, (0, 1, 2, 3), t3.abaaba, (4, 5, 0, 6, 7, 1), (5, 2, 3, 7, 4, 6)) - x343 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x343 += einsum(x188, (0, 1, 2, 3), t3.babbab, (4, 5, 0, 6, 7, 3), (1, 2, 4, 6, 5, 7)) * 2.0 - del x188 - x344 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x344 += einsum(t1.aa, (0, 1), v.aabb.ovoo, (0, 2, 3, 4), (3, 4, 1, 2)) - x345 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x345 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 4, 5, 3), (1, 5, 2, 4)) - x346 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x346 += einsum(v.aabb.vvoo, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 - x346 += einsum(x344, (0, 1, 2, 3), (1, 0, 3, 2)) - x346 += einsum(x345, (0, 1, 2, 3), (0, 1, 3, 2)) - del x345 - x347 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x347 += einsum(t2.abab, (0, 1, 2, 3), x346, (4, 5, 2, 6), (4, 5, 1, 3, 0, 6)) - del x346 - x348 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x348 += einsum(v.aabb.oooo, (0, 1, 2, 3), (2, 3, 0, 1)) - x348 += einsum(x136, (0, 1, 2, 3), (1, 0, 3, 2)) - x348 += einsum(x150, (0, 1, 2, 3), (0, 1, 3, 2)) - del x150 - x349 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x349 += einsum(t2.abab, (0, 1, 2, 3), x348, (4, 5, 0, 6), (4, 5, 1, 3, 6, 2)) - del x348 - x350 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x350 += einsum(t1.aa, (0, 1), x3, (2, 3, 0, 4), (2, 3, 1, 4)) - x351 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x351 += einsum(x129, (0, 1, 2, 3), (0, 1, 3, 2)) - x351 += einsum(x350, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x350 - x352 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x352 += einsum(t2.abab, (0, 1, 2, 3), x351, (4, 5, 2, 6), (4, 5, 1, 3, 0, 6)) - del x351 - x353 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x353 += einsum(v.aabb.ooov, (0, 1, 2, 3), (2, 3, 0, 1)) - x353 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) - x354 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x354 += einsum(t1.bb, (0, 1), x353, (2, 1, 3, 4), (2, 0, 3, 4)) - x355 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x355 += einsum(t2.abab, (0, 1, 2, 3), x354, (4, 5, 6, 0), (5, 4, 1, 3, 6, 2)) - del x354 - x356 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x356 += einsum(x341, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) - del x341 - x356 += einsum(x342, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -2.0 - del x342 - x356 += einsum(x343, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -1.0 - del x343 - x356 += einsum(x347, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) - del x347 - x356 += einsum(x349, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) - del x349 - x356 += einsum(x352, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x352 - x356 += einsum(x355, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - del x355 - x357 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x357 += einsum(t1.bb, (0, 1), x356, (2, 0, 3, 4, 5, 6), (2, 3, 4, 1, 5, 6)) - del x356 - x358 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x358 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovoo, (4, 2, 5, 1), (5, 3, 0, 4)) - x359 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x359 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovvv, (4, 2, 5, 3), (1, 5, 0, 4)) - x360 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x360 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.babbab, (4, 5, 2, 6, 1, 3), (4, 6, 5, 0)) - x361 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x361 += einsum(v.aaaa.ovov, (0, 1, 2, 3), t3.abaaba, (4, 5, 2, 3, 6, 1), (5, 6, 4, 0)) * -1.0 - x362 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x362 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x362 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) - x362 += einsum(x25, (0, 1, 2, 3), (1, 0, 2, 3)) - x362 += einsum(x25, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - x363 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x363 += einsum(t2.abab, (0, 1, 2, 3), x362, (4, 5, 0, 2), (1, 3, 4, 5)) - del x362 - x364 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x364 += einsum(v.aabb.ooov, (0, 1, 2, 3), (2, 3, 0, 1)) - x364 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) - x364 += einsum(x358, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x358 - x364 += einsum(x359, (0, 1, 2, 3), (0, 1, 2, 3)) - del x359 - x364 += einsum(x360, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x364 += einsum(x361, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x364 += einsum(x363, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x363 - x365 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x365 += einsum(t2.abab, (0, 1, 2, 3), x364, (4, 5, 6, 0), (4, 1, 5, 3, 6, 2)) - del x364 - x366 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x366 += einsum(t1.bb, (0, 1), v.aabb.vvvv, (2, 3, 4, 1), (0, 4, 2, 3)) - x367 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x367 += einsum(t1.aa, (0, 1), x127, (2, 3, 0, 4), (2, 3, 1, 4)) - x368 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x368 += einsum(t2.abab, (0, 1, 2, 3), x3, (4, 1, 0, 5), (4, 3, 2, 5)) - x369 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x369 += einsum(x366, (0, 1, 2, 3), (0, 1, 3, 2)) - del x366 - x369 += einsum(x367, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x367 - x369 += einsum(x368, (0, 1, 2, 3), (0, 1, 3, 2)) - del x368 - x370 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x370 += einsum(t2.abab, (0, 1, 2, 3), x369, (4, 5, 2, 6), (4, 1, 5, 3, 0, 6)) - del x369 - x371 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x371 += einsum(t2.abab, (0, 1, 2, 3), x3, (4, 1, 5, 2), (4, 3, 0, 5)) - x372 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x372 += einsum(v.aabb.oovv, (0, 1, 2, 3), (2, 3, 0, 1)) - x372 += einsum(x122, (0, 1, 2, 3), (1, 0, 2, 3)) - x373 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x373 += einsum(t1.bb, (0, 1), x372, (1, 2, 3, 4), (0, 2, 3, 4)) - del x372 - x374 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x374 += einsum(x371, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x371 - x374 += einsum(x373, (0, 1, 2, 3), (0, 1, 3, 2)) - del x373 - x375 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x375 += einsum(t2.abab, (0, 1, 2, 3), x374, (4, 5, 0, 6), (4, 1, 5, 3, 6, 2)) - del x374 - x376 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x376 += einsum(v.aabb.vvov, (0, 1, 2, 3), (2, 3, 0, 1)) - x376 += einsum(x105, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x105 - x377 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x377 += einsum(t2.bbbb, (0, 1, 2, 3), x376, (1, 3, 4, 5), (0, 2, 4, 5)) - del x376 - x378 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x378 += einsum(t2.abab, (0, 1, 2, 3), x377, (4, 5, 6, 2), (4, 1, 5, 3, 0, 6)) * 2.0 - del x377 - x379 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x379 += einsum(t2.bbbb, (0, 1, 2, 3), x353, (1, 3, 4, 5), (0, 2, 4, 5)) - del x353 - x380 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x380 += einsum(t2.abab, (0, 1, 2, 3), x379, (4, 5, 6, 0), (4, 1, 5, 3, 6, 2)) * 2.0 - del x379 - x381 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x381 += einsum(x307, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x307 - x381 += einsum(x308, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -2.0 - del x308 - x381 += einsum(x309, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 2.0 - del x309 - x381 += einsum(x313, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - del x313 - x381 += einsum(x318, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) * -1.0 - del x318 - x381 += einsum(x320, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) - del x320 - x381 += einsum(x321, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) - del x321 - x381 += einsum(x330, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) - del x330 - x381 += einsum(x339, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 - del x339 - x381 += einsum(x357, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) - del x357 - x381 += einsum(x365, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) - del x365 - x381 += einsum(x370, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) - del x370 - x381 += einsum(x375, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 - del x375 - x381 += einsum(x378, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - del x378 - x381 += einsum(x380, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x380 - t3new_babbab += einsum(x381, (0, 1, 2, 3, 4, 5), (0, 4, 1, 2, 5, 3)) * -1.0 - t3new_babbab += einsum(x381, (0, 1, 2, 3, 4, 5), (0, 4, 1, 3, 5, 2)) - t3new_babbab += einsum(x381, (0, 1, 2, 3, 4, 5), (1, 4, 0, 2, 5, 3)) - t3new_babbab += einsum(x381, (0, 1, 2, 3, 4, 5), (1, 4, 0, 3, 5, 2)) * -1.0 - del x381 - x382 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x382 += einsum(t2.bbbb, (0, 1, 2, 3), x1, (4, 0, 1, 5), (4, 2, 3, 5)) - x383 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x383 += einsum(t2.abab, (0, 1, 2, 3), x382, (4, 5, 6, 3), (4, 1, 5, 6, 0, 2)) * -1.0 - x384 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x384 += einsum(t2.abab, (0, 1, 2, 3), (1, 3, 0, 2)) - x384 += einsum(t1.aa, (0, 1), t1.bb, (2, 3), (2, 3, 0, 1)) * 0.99999999999999 - x385 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x385 += einsum(v.aabb.ovov, (0, 1, 2, 3), x384, (4, 3, 0, 5), (2, 4, 1, 5)) * 1.00000000000001 - x386 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x386 += einsum(x129, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x386 += einsum(x385, (0, 1, 2, 3), (1, 0, 2, 3)) - del x385 - x387 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x387 += einsum(x386, (0, 1, 2, 3), t3.babbab, (4, 5, 1, 6, 2, 7), (0, 4, 6, 7, 5, 3)) * -2.0 - del x386 - x388 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x388 += einsum(x135, (0, 1, 2, 3), (0, 1, 3, 2)) - x388 += einsum(x137, (0, 1, 2, 3), (0, 1, 3, 2)) - x389 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x389 += einsum(x388, (0, 1, 2, 3), t3.babbab, (4, 2, 1, 5, 6, 7), (0, 4, 5, 7, 3, 6)) * -2.0 - del x388 - x390 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x390 += einsum(t1.aa, (0, 1), v.aabb.oooo, (2, 0, 3, 4), (3, 4, 2, 1)) - x391 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x391 += einsum(v.bbbb.ovov, (0, 1, 2, 3), t3.babbab, (4, 5, 2, 3, 6, 1), (4, 0, 5, 6)) * -1.0 - x392 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x392 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.abaaba, (4, 5, 0, 6, 3, 1), (5, 2, 4, 6)) - x393 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x393 += einsum(t2.abab, (0, 1, 2, 3), x18, (4, 5, 1, 3), (4, 5, 0, 2)) - x394 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x394 += einsum(t2.abab, (0, 1, 2, 3), x24, (4, 3, 0, 5), (4, 1, 5, 2)) - x395 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x395 += einsum(t2.abab, (0, 1, 2, 3), x106, (4, 3, 2, 5), (4, 1, 0, 5)) - x396 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x396 += einsum(x9, (0, 1), t2.abab, (2, 3, 4, 1), (0, 3, 2, 4)) - x397 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x397 += einsum(v.aabb.ovoo, (0, 1, 2, 3), x40, (0, 4, 1, 5), (2, 3, 4, 5)) * 2.0 - x398 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x398 += einsum(v.aabb.ovoo, (0, 1, 2, 3), (2, 3, 0, 1)) - x398 += einsum(x390, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x390 - x398 += einsum(x147, (0, 1, 2, 3), (1, 0, 2, 3)) - x398 += einsum(x391, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 - x398 += einsum(x392, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 - x398 += einsum(x393, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x393 - x398 += einsum(x394, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x394 - x398 += einsum(x395, (0, 1, 2, 3), (0, 1, 2, 3)) - del x395 - x398 += einsum(x396, (0, 1, 2, 3), (0, 1, 2, 3)) - del x396 - x398 += einsum(x397, (0, 1, 2, 3), (1, 0, 2, 3)) - del x397 - x399 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x399 += einsum(t2.bbbb, (0, 1, 2, 3), x398, (1, 4, 5, 6), (4, 0, 2, 3, 5, 6)) * -2.0 - del x398 - x400 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x400 += einsum(v.aabb.vvoo, (0, 1, 2, 3), (2, 3, 0, 1)) - x400 += einsum(x344, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - x401 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x401 += einsum(x400, (0, 1, 2, 3), t3.babbab, (4, 5, 0, 6, 2, 7), (1, 4, 6, 7, 5, 3)) * -2.0 - del x400 - x402 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x402 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ooov, (4, 1, 0, 5), (4, 2, 3, 5)) * -1.0 - x403 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x403 += einsum(v.bbbb.ovov, (0, 1, 2, 3), t3.bbbbbb, (4, 0, 2, 5, 6, 3), (4, 5, 6, 1)) - x404 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x404 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.babbab, (4, 0, 2, 5, 1, 6), (4, 5, 6, 3)) - x405 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x405 += einsum(x402, (0, 1, 2, 3), (0, 2, 1, 3)) - x405 += einsum(x403, (0, 1, 2, 3), (0, 2, 1, 3)) * -3.0 - x405 += einsum(x404, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x406 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x406 += einsum(t2.abab, (0, 1, 2, 3), x405, (4, 5, 6, 3), (4, 1, 5, 6, 0, 2)) * 2.0 - del x405 - x407 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x407 += einsum(v.aabb.oooo, (0, 1, 2, 3), (2, 3, 0, 1)) - x407 += einsum(x136, (0, 1, 2, 3), (1, 0, 3, 2)) - x408 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x408 += einsum(x407, (0, 1, 2, 3), t3.babbab, (4, 2, 0, 5, 6, 7), (1, 4, 5, 7, 3, 6)) * -2.0 - del x407 - x409 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x409 += einsum(f.bb.oo, (0, 1), (0, 1)) - x409 += einsum(x16, (0, 1), (0, 1)) * 2.0 - x409 += einsum(x17, (0, 1), (0, 1)) - x409 += einsum(x20, (0, 1), (1, 0)) - x410 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x410 += einsum(x409, (0, 1), t3.babbab, (2, 3, 1, 4, 5, 6), (0, 2, 4, 6, 3, 5)) * -2.0 - del x409 - x411 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x411 += einsum(t1.aa, (0, 1), x135, (2, 3, 4, 0), (2, 3, 4, 1)) - x412 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x412 += einsum(x1, (0, 1, 2, 3), (0, 1, 2, 3)) - x412 += einsum(x1, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x413 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x413 += einsum(t2.abab, (0, 1, 2, 3), x412, (4, 5, 1, 3), (4, 5, 0, 2)) - x414 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x414 += einsum(x3, (0, 1, 2, 3), x40, (2, 4, 3, 5), (0, 1, 4, 5)) * 2.0 - del x40 - x415 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x415 += einsum(x411, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x411 - x415 += einsum(x413, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x413 - x415 += einsum(x149, (0, 1, 2, 3), (1, 0, 2, 3)) - del x149 - x415 += einsum(x414, (0, 1, 2, 3), (0, 1, 2, 3)) - del x414 - x416 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x416 += einsum(t2.bbbb, (0, 1, 2, 3), x415, (4, 1, 5, 6), (4, 0, 2, 3, 5, 6)) * -2.0 - del x415 - x417 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x417 += einsum(x15, (0, 1), (1, 0)) - del x15 - x417 += einsum(x19, (0, 1), (1, 0)) * -1.0 - del x19 - x418 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x418 += einsum(x417, (0, 1), t3.babbab, (2, 3, 0, 4, 5, 6), (1, 2, 4, 6, 3, 5)) * -2.0 - x419 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x419 += einsum(x383, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * 2.0 - del x383 - x419 += einsum(x387, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) - del x387 - x419 += einsum(x389, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) - del x389 - x419 += einsum(x399, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) - del x399 - x419 += einsum(x401, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) - del x401 - x419 += einsum(x406, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) - del x406 - x419 += einsum(x408, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) * -1.0 - del x408 - x419 += einsum(x410, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 - del x410 - x419 += einsum(x416, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 - del x416 - x419 += einsum(x418, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) - del x418 - t3new_babbab += einsum(x419, (0, 1, 2, 3, 4, 5), (0, 4, 1, 2, 5, 3)) * -1.0 - t3new_babbab += einsum(x419, (0, 1, 2, 3, 4, 5), (1, 4, 0, 2, 5, 3)) - del x419 - x420 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x420 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.babbab, (4, 5, 6, 7, 1, 3), (4, 6, 2, 7, 5, 0)) - x421 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x421 += einsum(t2.abab, (0, 1, 2, 3), x420, (4, 5, 1, 6, 7, 0), (4, 5, 3, 6, 7, 2)) - del x420 - x422 = np.zeros((nvir[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x422 += einsum(v.aabb.vvvv, (0, 1, 2, 3), (2, 3, 0, 1)) - x422 += einsum(x133, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x133 - x423 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x423 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), (0, 2, 3, 5, 1, 4)) - x423 += einsum(t1.aa, (0, 1), t2.bbbb, (2, 3, 4, 5), (2, 3, 4, 5, 0, 1)) - x424 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x424 += einsum(x422, (0, 1, 2, 3), x423, (4, 5, 0, 6, 7, 2), (4, 5, 6, 1, 7, 3)) * 2.0 - del x422 - x425 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x425 += einsum(v.aabb.oovv, (0, 1, 2, 3), (2, 3, 0, 1)) - x425 += einsum(x122, (0, 1, 2, 3), (1, 0, 3, 2)) - x426 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x426 += einsum(x425, (0, 1, 2, 3), t3.babbab, (4, 2, 5, 6, 7, 0), (4, 5, 1, 6, 3, 7)) * -2.0 - del x425 - x427 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x427 += einsum(t1.aa, (0, 1), v.aabb.oovv, (2, 0, 3, 4), (3, 4, 2, 1)) - x428 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x428 += einsum(t2.aaaa, (0, 1, 2, 3), v.aabb.ovvv, (1, 3, 4, 5), (4, 5, 0, 2)) - x429 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x429 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.abaaba, (4, 2, 0, 5, 6, 1), (6, 3, 4, 5)) - x430 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x430 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) - x430 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x431 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x431 += einsum(t2.abab, (0, 1, 2, 3), x430, (1, 4, 3, 5), (4, 5, 0, 2)) - x432 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x432 += einsum(t2.abab, (0, 1, 2, 3), x24, (1, 4, 0, 5), (4, 3, 5, 2)) - del x24 - x433 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x433 += einsum(t2.abab, (0, 1, 2, 3), x106, (1, 4, 2, 5), (4, 3, 0, 5)) - x434 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x434 += einsum(v.aabb.ovvv, (0, 1, 2, 3), (2, 3, 0, 1)) - x434 += einsum(x427, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x427 - x434 += einsum(x428, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 - del x428 - x434 += einsum(x429, (0, 1, 2, 3), (1, 0, 2, 3)) * -2.0 - x434 += einsum(x431, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x431 - x434 += einsum(x432, (0, 1, 2, 3), (0, 1, 2, 3)) - del x432 - x434 += einsum(x433, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x433 - x435 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x435 += einsum(t2.bbbb, (0, 1, 2, 3), x434, (3, 4, 5, 6), (0, 1, 4, 2, 5, 6)) * -2.0 - del x434 - x436 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x436 += einsum(v.aabb.ovov, (0, 1, 2, 3), x384, (2, 4, 5, 1), (3, 4, 0, 5)) - x437 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x437 += einsum(x121, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.99999999999999 - x437 += einsum(x436, (0, 1, 2, 3), (1, 0, 2, 3)) - x438 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x438 += einsum(x437, (0, 1, 2, 3), t3.babbab, (4, 2, 5, 6, 7, 1), (4, 5, 0, 6, 3, 7)) * -2.00000000000002 - del x437 - x439 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x439 += einsum(t1.bb, (0, 1), x430, (0, 2, 1, 3), (2, 3)) - x440 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x440 += einsum(x141, (0, 1), (1, 0)) - del x141 - x440 += einsum(x439, (0, 1), (0, 1)) * -1.0 - del x439 - x441 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x441 += einsum(x440, (0, 1), t3.babbab, (2, 3, 4, 5, 6, 0), (2, 4, 1, 5, 3, 6)) * -2.0 - x442 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x442 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), t3.babbab, (4, 5, 6, 3, 7, 1), (4, 6, 0, 2, 5, 7)) * -1.0 - x443 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x443 += einsum(x106, (0, 1, 2, 3), x423, (4, 5, 1, 6, 7, 2), (0, 4, 5, 6, 7, 3)) - del x106, x423 - x444 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x444 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) - x444 += einsum(x124, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x444 += einsum(x42, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x42 - x445 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x445 += einsum(t2.bbbb, (0, 1, 2, 3), x444, (4, 3, 5, 6), (4, 0, 1, 2, 5, 6)) * -1.0 - del x444 - x446 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x446 += einsum(f.bb.ov, (0, 1), (0, 1)) - x446 += einsum(x0, (0, 1), (0, 1)) - del x0 - x447 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x447 += einsum(x446, (0, 1), t3.babbab, (2, 3, 4, 5, 6, 1), (0, 2, 4, 5, 3, 6)) * -1.0 - del x446 - x448 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x448 += einsum(x442, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) - del x442 - x448 += einsum(x443, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) - del x443 - x448 += einsum(x445, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) - del x445 - x448 += einsum(x447, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) - del x447 - x449 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x449 += einsum(t1.bb, (0, 1), x448, (0, 2, 3, 4, 5, 6), (2, 3, 4, 1, 5, 6)) * 2.0 - del x448 - x450 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x450 += einsum(f.bb.vv, (0, 1), (0, 1)) - x450 += einsum(x143, (0, 1), (1, 0)) * -1.0 - x451 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x451 += einsum(x450, (0, 1), t3.babbab, (2, 3, 4, 5, 6, 0), (2, 4, 1, 5, 3, 6)) * -2.0 - del x450 - x452 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x452 += einsum(x167, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x452 += einsum(x169, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x453 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x453 += einsum(t2.abab, (0, 1, 2, 3), x452, (4, 5, 1, 6), (4, 5, 6, 3, 0, 2)) * 2.0 - del x452 - x454 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x454 += einsum(x421, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 2.0 - del x421 - x454 += einsum(x424, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * -1.0 - del x424 - x454 += einsum(x426, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) - del x426 - x454 += einsum(x435, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) * -1.0 - del x435 - x454 += einsum(x438, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) - del x438 - x454 += einsum(x441, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) * -1.0 - del x441 - x454 += einsum(x449, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 - del x449 - x454 += einsum(x451, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) - del x451 - x454 += einsum(x453, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) * -1.0 - del x453 - t3new_babbab += einsum(x454, (0, 1, 2, 3, 4, 5), (0, 4, 1, 2, 5, 3)) * -1.0 - t3new_babbab += einsum(x454, (0, 1, 2, 3, 4, 5), (0, 4, 1, 3, 5, 2)) - del x454 - x455 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x455 += einsum(v.bbbb.ovov, (0, 1, 2, 3), t3.babbab, (0, 4, 2, 5, 6, 3), (5, 1, 4, 6)) - x456 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x456 += einsum(t2.bbbb, (0, 1, 2, 3), x455, (4, 3, 5, 6), (0, 1, 2, 4, 5, 6)) - x457 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x457 += einsum(t2.abab, (0, 1, 2, 3), x168, (4, 5, 1, 6), (5, 4, 3, 6, 0, 2)) * -1.0 - x458 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x458 += einsum(t1.bb, (0, 1), v.bbbb.ovov, (2, 3, 0, 1), (2, 3)) - x459 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x459 += einsum(t1.bb, (0, 1), x458, (0, 2), (1, 2)) - del x458 - x460 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x460 += einsum(v.bbbb.ovov, (0, 1, 2, 3), x6, (0, 2, 3, 4), (4, 1)) * 2.0 - del x6 - x461 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x461 += einsum(x459, (0, 1), (0, 1)) - del x459 - x461 += einsum(x460, (0, 1), (0, 1)) * -1.0 - del x460 - x462 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x462 += einsum(x461, (0, 1), t3.babbab, (2, 3, 4, 5, 6, 1), (2, 4, 0, 5, 3, 6)) * -2.0 - del x461 - x463 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x463 += einsum(t2.bbbb, (0, 1, 2, 3), x61, (4, 3, 5, 6), (4, 0, 1, 2, 5, 6)) - x464 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x464 += einsum(t1.bb, (0, 1), x463, (0, 2, 3, 4, 5, 6), (3, 2, 4, 1, 5, 6)) * 2.0 - del x463 - x465 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x465 += einsum(x456, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 4.0 - del x456 - x465 += einsum(x457, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -6.0 - del x457 - x465 += einsum(x462, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * -1.0 - del x462 - x465 += einsum(x464, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 - del x464 - t3new_babbab += einsum(x465, (0, 1, 2, 3, 4, 5), (1, 4, 0, 2, 5, 3)) - t3new_babbab += einsum(x465, (0, 1, 2, 3, 4, 5), (1, 4, 0, 3, 5, 2)) * -1.0 - del x465 - x466 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x466 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x466 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x466 += einsum(x225, (0, 1, 2, 3), (1, 0, 3, 2)) * 1.00000000000001 - x466 += einsum(x11, (0, 1, 2, 3), x271, (0, 4, 2, 5), (1, 4, 3, 5)) * -2.00000000000002 - x466 += einsum(x46, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x466 += einsum(t1.aa, (0, 1), x32, (2, 3, 0, 4), (3, 2, 4, 1)) * -1.0 - t3new_babbab += einsum(x466, (0, 1, 2, 3), t3.babbab, (4, 0, 5, 6, 2, 7), (4, 1, 5, 6, 3, 7)) * 2.0 - del x466 - x467 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x467 += einsum(t2.aaaa, (0, 1, 2, 3), (0, 1, 2, 3)) - x467 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 3, 1)) * -0.4999999999999949 - x468 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x468 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) - x468 += einsum(x124, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x124 - x468 += einsum(x38, (0, 1, 2, 3), (0, 1, 2, 3)) - x468 += einsum(t2.abab, (0, 1, 2, 3), x7, (1, 4, 3, 5), (4, 5, 0, 2)) * -1.00000000000001 - x468 += einsum(v.aabb.ovov, (0, 1, 2, 3), x467, (0, 4, 1, 5), (2, 3, 4, 5)) * 2.0000000000000204 - del x467 - t3new_babbab += einsum(x468, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 0, 6, 7, 1), (4, 2, 5, 6, 3, 7)) * 6.0 - del x468 - x469 = np.zeros((nvir[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x469 += einsum(v.bbbb.vvvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x469 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (0, 4, 1, 5), (5, 2, 4, 3)) - x469 += einsum(t1.bb, (0, 1), x107, (0, 2, 3, 4), (4, 1, 3, 2)) - t3new_babbab += einsum(x469, (0, 1, 2, 3), t3.babbab, (4, 5, 6, 0, 7, 2), (4, 5, 6, 1, 7, 3)) * -2.0 - del x469 - x470 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x470 += einsum(t2.bbbb, (0, 1, 2, 3), (0, 1, 2, 3)) - x470 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3)) - x471 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x471 += einsum(v.bbbb.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x471 += einsum(x184, (0, 1, 2, 3), (3, 0, 2, 1)) - x471 += einsum(x184, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 - x471 += einsum(v.bbbb.ovov, (0, 1, 2, 3), x470, (4, 5, 3, 1), (0, 5, 2, 4)) - t3new_babbab += einsum(x471, (0, 1, 2, 3), t3.babbab, (0, 4, 2, 5, 6, 7), (1, 4, 3, 5, 6, 7)) * 2.0 - del x471 - x472 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x472 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x472 += einsum(x185, (0, 1, 2, 3), (1, 0, 2, 3)) - x473 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x473 += einsum(t2.bbbb, (0, 1, 2, 3), x18, (4, 5, 1, 3), (4, 5, 0, 2)) * 2.0 - x474 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x474 += einsum(t2.bbbb, (0, 1, 2, 3), x190, (4, 5, 1, 3), (4, 5, 0, 2)) * 2.0 - x475 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x475 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x475 += einsum(x1, (0, 1, 2, 3), (0, 2, 1, 3)) - x476 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x476 += einsum(t1.bb, (0, 1), x475, (2, 3, 4, 1), (2, 3, 4, 0)) - del x475 - x477 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x477 += einsum(t1.bb, (0, 1), x476, (2, 0, 3, 4), (4, 2, 3, 1)) - x478 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x478 += einsum(x186, (0, 1, 2, 3), (0, 2, 1, 3)) - x478 += einsum(x187, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x478 += einsum(x473, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - del x473 - x478 += einsum(x474, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x474 - x478 += einsum(x193, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - del x193 - x478 += einsum(x477, (0, 1, 2, 3), (0, 2, 1, 3)) - del x477 - x479 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x479 += einsum(x210, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - x479 += einsum(v.bbbb.oooo, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x479 += einsum(v.bbbb.oooo, (0, 1, 2, 3), (0, 2, 1, 3)) - x480 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x480 += einsum(t1.bb, (0, 1), x479, (2, 3, 0, 4), (2, 3, 4, 1)) - x481 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x481 += einsum(x472, (0, 1, 2, 3), (0, 1, 2, 3)) - x481 += einsum(x472, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x472 - x481 += einsum(x478, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x481 += einsum(x478, (0, 1, 2, 3), (1, 2, 0, 3)) - del x478 - x481 += einsum(x170, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x481 += einsum(x480, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - t3new_babbab += einsum(t2.abab, (0, 1, 2, 3), x481, (1, 4, 5, 6), (5, 0, 4, 6, 2, 3)) * -1.0 - del x481 - x482 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x482 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - x482 += einsum(x185, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.5 - x483 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x483 += einsum(t2.bbbb, (0, 1, 2, 3), x18, (4, 5, 1, 3), (4, 5, 0, 2)) - del x18 - x484 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x484 += einsum(t2.bbbb, (0, 1, 2, 3), x190, (4, 5, 1, 3), (4, 5, 0, 2)) - del x190 - x485 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x485 += einsum(t1.bb, (0, 1), x192, (2, 3, 1, 4), (2, 3, 0, 4)) * 0.5 - del x192 - x486 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x486 += einsum(t1.bb, (0, 1), x476, (2, 0, 3, 4), (4, 2, 3, 1)) * 0.5 - del x476 - x487 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x487 += einsum(x186, (0, 1, 2, 3), (0, 2, 1, 3)) * 0.5 - x487 += einsum(x187, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 - x487 += einsum(x483, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - del x483 - x487 += einsum(x484, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x484 - x487 += einsum(x485, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - del x485 - x487 += einsum(x486, (0, 1, 2, 3), (0, 2, 1, 3)) - del x486 - x488 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x488 += einsum(x482, (0, 1, 2, 3), (0, 1, 2, 3)) - x488 += einsum(x482, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x482 - x488 += einsum(x487, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x488 += einsum(x487, (0, 1, 2, 3), (1, 2, 0, 3)) - del x487 - x488 += einsum(x9, (0, 1), t2.bbbb, (2, 3, 4, 1), (0, 2, 3, 4)) * -1.0 - x488 += einsum(t1.bb, (0, 1), x479, (2, 3, 0, 4), (4, 3, 2, 1)) * -0.5 - del x479 - t3new_babbab += einsum(t2.abab, (0, 1, 2, 3), x488, (1, 4, 5, 6), (5, 0, 4, 3, 2, 6)) * 2.0 - del x488 - x489 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x489 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.abaaba, (4, 5, 6, 7, 3, 1), (5, 2, 4, 6, 0, 7)) - x490 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x490 += einsum(t2.abab, (0, 1, 2, 3), x489, (4, 1, 5, 6, 0, 7), (4, 3, 5, 6, 2, 7)) - del x489 - x491 = np.zeros((nvir[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x491 += einsum(v.aabb.vvvv, (0, 1, 2, 3), (2, 3, 0, 1)) - x491 += einsum(x132, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x132 - x492 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x492 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), (1, 4, 0, 2, 3, 5)) - x492 += einsum(t1.bb, (0, 1), t2.aaaa, (2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - x493 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x493 += einsum(x491, (0, 1, 2, 3), x492, (4, 0, 5, 6, 2, 7), (4, 1, 5, 6, 7, 3)) * 2.0 - del x491 - x494 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x494 += einsum(v.aabb.vvoo, (0, 1, 2, 3), (2, 3, 0, 1)) - x494 += einsum(x129, (0, 1, 2, 3), (1, 0, 3, 2)) - del x129 - x495 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x495 += einsum(x494, (0, 1, 2, 3), t3.abaaba, (4, 0, 5, 6, 7, 2), (1, 7, 4, 5, 6, 3)) * -2.0 - del x494 - x496 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x496 += einsum(t1.bb, (0, 1), v.aabb.vvoo, (2, 3, 4, 0), (4, 1, 2, 3)) - x497 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x497 += einsum(t2.bbbb, (0, 1, 2, 3), v.aabb.vvov, (4, 5, 1, 3), (0, 2, 4, 5)) - x498 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x498 += einsum(t2.abab, (0, 1, 2, 3), x118, (0, 2, 4, 5), (1, 3, 4, 5)) - del x118 - x499 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x499 += einsum(t2.abab, (0, 1, 2, 3), x4, (1, 4, 0, 5), (4, 3, 5, 2)) - x500 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x500 += einsum(t2.abab, (0, 1, 2, 3), x104, (3, 4, 0, 5), (1, 4, 5, 2)) - x501 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x501 += einsum(v.aabb.vvov, (0, 1, 2, 3), (2, 3, 0, 1)) - x501 += einsum(x496, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x496 - x501 += einsum(x497, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - del x497 - x501 += einsum(x324, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - del x324 - x501 += einsum(x325, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - del x325 - x501 += einsum(x498, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x498 - x501 += einsum(x499, (0, 1, 2, 3), (0, 1, 2, 3)) - del x499 - x501 += einsum(x500, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x500 - x502 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x502 += einsum(t2.aaaa, (0, 1, 2, 3), x501, (4, 5, 3, 6), (4, 5, 0, 1, 2, 6)) * -2.0 - del x501 - x503 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x503 += einsum(v.aabb.ovov, (0, 1, 2, 3), x384, (4, 3, 0, 5), (2, 4, 1, 5)) - del x384 - x504 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x504 += einsum(x344, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.99999999999999 - del x344 - x504 += einsum(x503, (0, 1, 2, 3), (0, 1, 3, 2)) - del x503 - x505 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x505 += einsum(x504, (0, 1, 2, 3), t3.abaaba, (4, 0, 5, 6, 7, 3), (1, 7, 4, 5, 6, 2)) * -2.00000000000002 - del x504 - x506 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x506 += einsum(f.aa.vv, (0, 1), (0, 1)) * -1.0 - x506 += einsum(x72, (0, 1), (0, 1)) - del x72 - x506 += einsum(x73, (0, 1), (0, 1)) * 2.0 - del x73 - x506 += einsum(x139, (0, 1), (1, 0)) - del x139 - x507 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x507 += einsum(x506, (0, 1), t3.abaaba, (2, 3, 4, 5, 6, 1), (3, 6, 2, 4, 5, 0)) * -2.0 - del x506 - x508 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x508 += einsum(x255, (0, 1), t3.abaaba, (2, 3, 4, 5, 6, 0), (3, 6, 2, 4, 5, 1)) * -2.0 - del x255 - x509 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x509 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), t3.abaaba, (4, 5, 6, 1, 7, 3), (5, 7, 4, 6, 0, 2)) - x510 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x510 += einsum(x104, (0, 1, 2, 3), x492, (4, 0, 5, 6, 3, 7), (4, 1, 2, 5, 6, 7)) - del x492 - x511 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x511 += einsum(t1.bb, (0, 1), v.aabb.ovoo, (2, 3, 4, 0), (4, 1, 2, 3)) - x512 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x512 += einsum(t2.bbbb, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (0, 2, 4, 5)) - x513 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x513 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) - x513 += einsum(x511, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x513 += einsum(x512, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x512 - x513 += einsum(x163, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x163 - x514 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x514 += einsum(t2.aaaa, (0, 1, 2, 3), x513, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) * -1.0 - del x513 - x515 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x515 += einsum(x509, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) - del x509 - x515 += einsum(x510, (0, 1, 2, 3, 4, 5), (0, 1, 4, 3, 2, 5)) - del x510 - x515 += einsum(x514, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) - del x514 - x516 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x516 += einsum(t1.aa, (0, 1), x515, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 6, 1)) * 2.0 - del x515 - x517 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x517 += einsum(x77, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x77 - x517 += einsum(x78, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x78 - x517 += einsum(x79, (0, 1, 2, 3), (0, 1, 2, 3)) * -3.0 - del x79 - x518 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x518 += einsum(t2.abab, (0, 1, 2, 3), x517, (4, 5, 0, 6), (1, 3, 4, 5, 6, 2)) * 2.0 - del x517 - x519 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x519 += einsum(x490, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -2.0 - del x490 - x519 += einsum(x493, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 - del x493 - x519 += einsum(x495, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) - del x495 - x519 += einsum(x502, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 - del x502 - x519 += einsum(x505, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) - del x505 - x519 += einsum(x507, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -1.0 - del x507 - x519 += einsum(x508, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 - del x508 - x519 += einsum(x516, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) - del x516 - x519 += einsum(x518, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -1.0 - del x518 - t3new_abaaba += einsum(x519, (0, 1, 2, 3, 4, 5), (3, 0, 2, 4, 1, 5)) - t3new_abaaba += einsum(x519, (0, 1, 2, 3, 4, 5), (3, 0, 2, 5, 1, 4)) * -1.0 - del x519 - x520 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x520 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.babbab, (4, 5, 2, 6, 7, 3), (4, 6, 5, 0, 7, 1)) - x521 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x521 += einsum(t2.abab, (0, 1, 2, 3), x64, (4, 5, 2, 6), (1, 3, 4, 0, 6, 5)) - del x64 - x522 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x522 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ooov, (4, 0, 5, 3), (1, 5, 4, 2)) - x523 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x523 += einsum(t2.abab, (0, 1, 2, 3), x522, (4, 1, 5, 6), (4, 3, 0, 5, 6, 2)) - del x522 - x524 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x524 += einsum(x38, (0, 1, 2, 3), t3.babbab, (4, 5, 0, 6, 7, 1), (4, 6, 2, 5, 7, 3)) - x525 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x525 += einsum(t2.abab, (0, 1, 2, 3), x23, (4, 3, 5, 0), (1, 4, 5, 2)) - x526 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x526 += einsum(t2.abab, (0, 1, 2, 3), x525, (4, 1, 5, 6), (4, 3, 5, 0, 6, 2)) - del x525 - x527 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x527 += einsum(t2.aaaa, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.00000000000002 - x527 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 3, 1)) * -1.0 - x528 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x528 += einsum(x527, (0, 1, 2, 3), x68, (0, 4, 5, 2), (4, 1, 5, 3)) - del x68, x527 - x529 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x529 += einsum(x225, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.00000000000001 - x529 += einsum(x528, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x528 - x530 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x530 += einsum(x529, (0, 1, 2, 3), t3.abaaba, (4, 5, 1, 6, 7, 3), (5, 7, 4, 0, 6, 2)) * 2.0 - del x529 - x531 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x531 += einsum(v.aabb.ovov, (0, 1, 2, 3), x271, (0, 4, 1, 5), (2, 3, 4, 5)) * 2.0 - del x271 - x532 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x532 += einsum(x61, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x61 - x532 += einsum(x531, (0, 1, 2, 3), (0, 1, 2, 3)) - del x531 - x533 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x533 += einsum(x532, (0, 1, 2, 3), t3.babbab, (4, 5, 0, 6, 7, 1), (4, 6, 2, 5, 3, 7)) * 2.00000000000002 - del x532 - x534 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x534 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), (1, 4, 0, 2, 3, 5)) - x534 += einsum(t1.aa, (0, 1), t2.abab, (2, 3, 4, 5), (3, 5, 0, 2, 4, 1)) * -0.5 - x535 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x535 += einsum(x28, (0, 1, 2, 3), x534, (4, 5, 0, 6, 2, 7), (4, 5, 1, 6, 3, 7)) * 2.0 - del x28, x534 - x536 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x536 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), (1, 4, 0, 2, 3, 5)) * 2.0 - x536 += einsum(t1.aa, (0, 1), t2.abab, (2, 3, 4, 5), (3, 5, 0, 2, 4, 1)) * -1.0 - x537 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x537 += einsum(x46, (0, 1, 2, 3), x536, (4, 5, 0, 6, 3, 7), (4, 5, 1, 6, 2, 7)) * -1.0 - del x46, x536 - x538 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x538 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ooov, (4, 0, 1, 5), (3, 5, 4, 2)) - x539 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x539 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.vvov, (4, 2, 1, 5), (3, 5, 0, 4)) - x540 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x540 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x540 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) - x540 += einsum(x107, (0, 1, 2, 3), (0, 2, 3, 1)) - x540 += einsum(x107, (0, 1, 2, 3), (0, 3, 2, 1)) * -1.0 - del x107 - x541 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x541 += einsum(t2.abab, (0, 1, 2, 3), x540, (1, 4, 3, 5), (4, 5, 0, 2)) - del x540 - x542 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x542 += einsum(v.aabb.ovvv, (0, 1, 2, 3), (2, 3, 0, 1)) - x542 += einsum(x103, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x543 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x543 += einsum(t2.aaaa, (0, 1, 2, 3), x542, (4, 5, 1, 3), (4, 5, 0, 2)) * 2.0 - del x542 - x544 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x544 += einsum(x9, (0, 1), t2.abab, (2, 0, 3, 4), (1, 4, 2, 3)) - del x9 - x545 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x545 += einsum(v.aabb.ovvv, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 - x545 += einsum(x103, (0, 1, 2, 3), (1, 0, 2, 3)) - del x103 - x545 += einsum(x538, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x538 - x545 += einsum(x539, (0, 1, 2, 3), (1, 0, 2, 3)) - del x539 - x545 += einsum(x455, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 - del x455 - x545 += einsum(x429, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 - del x429 - x545 += einsum(x541, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x541 - x545 += einsum(x543, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x543 - x545 += einsum(x544, (0, 1, 2, 3), (0, 1, 2, 3)) - del x544 - x546 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x546 += einsum(t2.abab, (0, 1, 2, 3), x545, (3, 4, 5, 6), (1, 4, 5, 0, 6, 2)) - del x545 - x547 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x547 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x547 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) - x548 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x548 += einsum(t2.aaaa, (0, 1, 2, 3), x547, (1, 3, 4, 5), (0, 2, 4, 5)) * 2.0 - del x547 - x549 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x549 += einsum(t1.aa, (0, 1), v.aaaa.ooov, (2, 3, 0, 4), (2, 3, 1, 4)) - x550 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x550 += einsum(x549, (0, 1, 2, 3), (1, 0, 2, 3)) - del x549 - x550 += einsum(x225, (0, 1, 2, 3), (0, 1, 2, 3)) - del x225 - x550 += einsum(x226, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x226 - x551 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x551 += einsum(t1.aa, (0, 1), x550, (2, 0, 3, 4), (2, 3, 4, 1)) - del x550 - x552 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x552 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) - x552 += einsum(x219, (0, 1, 2, 3), (0, 1, 3, 2)) - del x219 - x552 += einsum(x548, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x548 - x552 += einsum(x551, (0, 1, 2, 3), (0, 3, 1, 2)) - del x551 - x553 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x553 += einsum(t2.abab, (0, 1, 2, 3), x552, (4, 5, 6, 2), (1, 3, 4, 0, 5, 6)) - del x552 - x554 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x554 += einsum(v.aabb.ooov, (0, 1, 2, 3), t3.babbab, (4, 5, 2, 6, 7, 3), (4, 6, 5, 0, 1, 7)) - x555 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x555 += einsum(t2.abab, (0, 1, 2, 3), x25, (4, 5, 6, 2), (1, 3, 4, 0, 6, 5)) - x556 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x556 += einsum(t1.aa, (0, 1), x555, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 6, 1)) - del x555 - x557 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x557 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x557 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - x558 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x558 += einsum(x557, (0, 1, 2, 3), t3.abaaba, (4, 5, 0, 6, 7, 3), (5, 7, 4, 1, 2, 6)) * 2.0 - del x557 - x559 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x559 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 1, 5), (3, 5, 0, 4)) - x560 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x560 += einsum(v.aabb.oovv, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 - x560 += einsum(x121, (0, 1, 2, 3), (1, 0, 3, 2)) - x560 += einsum(x559, (0, 1, 2, 3), (1, 0, 3, 2)) - del x559 - x561 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x561 += einsum(t2.abab, (0, 1, 2, 3), x560, (3, 4, 5, 6), (1, 4, 5, 6, 0, 2)) - del x560 - x562 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x562 += einsum(x136, (0, 1, 2, 3), (1, 0, 2, 3)) - x562 += einsum(x137, (0, 1, 2, 3), (1, 0, 2, 3)) - del x137 - x563 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x563 += einsum(t2.abab, (0, 1, 2, 3), x562, (1, 4, 5, 6), (4, 3, 5, 6, 0, 2)) - x564 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x564 += einsum(t1.bb, (0, 1), x23, (0, 2, 3, 4), (1, 2, 3, 4)) - x565 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x565 += einsum(x122, (0, 1, 2, 3), (1, 0, 2, 3)) - x565 += einsum(x564, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x564 - x566 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x566 += einsum(t2.abab, (0, 1, 2, 3), x565, (3, 4, 5, 6), (1, 4, 5, 6, 0, 2)) - del x565 - x567 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x567 += einsum(v.aabb.oooo, (0, 1, 2, 3), (2, 3, 0, 1)) - x567 += einsum(x135, (0, 1, 2, 3), (1, 0, 3, 2)) - del x135 - x568 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x568 += einsum(t2.abab, (0, 1, 2, 3), x567, (1, 4, 5, 6), (4, 3, 5, 6, 0, 2)) - x569 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x569 += einsum(x554, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 2.0 - del x554 - x569 += einsum(x556, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x556 - x569 += einsum(x558, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - del x558 - x569 += einsum(x561, (0, 1, 2, 3, 4, 5), (0, 1, 4, 3, 2, 5)) * -1.0 - del x561 - x569 += einsum(x563, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) - del x563 - x569 += einsum(x566, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - del x566 - x569 += einsum(x568, (0, 1, 2, 3, 4, 5), (0, 1, 4, 3, 2, 5)) * -1.0 - del x568 - x570 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x570 += einsum(t1.aa, (0, 1), x569, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 6, 1)) - del x569 - x571 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x571 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x571 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) - x571 += einsum(x1, (0, 1, 2, 3), (0, 1, 2, 3)) - x571 += einsum(x1, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x572 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x572 += einsum(t2.abab, (0, 1, 2, 3), x571, (4, 5, 1, 3), (4, 5, 0, 2)) - del x571 - x573 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x573 += einsum(t2.aaaa, (0, 1, 2, 3), x130, (4, 5, 1, 3), (4, 5, 0, 2)) * 2.0 - del x130 - x574 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x574 += einsum(v.aabb.ovoo, (0, 1, 2, 3), (2, 3, 0, 1)) - x574 += einsum(x3, (0, 1, 2, 3), (1, 0, 2, 3)) - del x3 - x574 += einsum(x391, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 - del x391 - x574 += einsum(x392, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 - del x392 - x574 += einsum(x572, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x572 - x574 += einsum(x573, (0, 1, 2, 3), (1, 0, 2, 3)) - del x573 - x575 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x575 += einsum(t2.abab, (0, 1, 2, 3), x574, (1, 4, 5, 6), (4, 3, 5, 0, 6, 2)) - del x574 - x576 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x576 += einsum(t1.bb, (0, 1), x38, (0, 2, 3, 4), (1, 2, 3, 4)) - del x38 - x577 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x577 += einsum(t2.abab, (0, 1, 2, 3), x23, (1, 4, 5, 0), (3, 4, 5, 2)) - x578 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x578 += einsum(x153, (0, 1, 2, 3), (1, 0, 2, 3)) - del x153 - x578 += einsum(x576, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x576 - x578 += einsum(x577, (0, 1, 2, 3), (1, 0, 2, 3)) - del x577 - x579 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x579 += einsum(t2.abab, (0, 1, 2, 3), x578, (3, 4, 5, 6), (1, 4, 5, 0, 6, 2)) - del x578 - x580 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x580 += einsum(v.aabb.vvov, (0, 1, 2, 3), x5, (4, 3, 5, 1), (4, 2, 5, 0)) - del x5 - x581 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x581 += einsum(x147, (0, 1, 2, 3), (1, 0, 2, 3)) - del x147 - x581 += einsum(x580, (0, 1, 2, 3), (1, 0, 2, 3)) - del x580 - x582 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x582 += einsum(t2.abab, (0, 1, 2, 3), x581, (1, 4, 5, 6), (4, 3, 5, 0, 6, 2)) - del x581 - x583 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x583 += einsum(x520, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -2.0 - del x520 - x583 += einsum(x521, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - del x521 - x583 += einsum(x523, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x523 - x583 += einsum(x524, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 2.0 - del x524 - x583 += einsum(x526, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - del x526 - x583 += einsum(x530, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -1.0 - del x530 - x583 += einsum(x533, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - del x533 - x583 += einsum(x535, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) - del x535 - x583 += einsum(x537, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - del x537 - x583 += einsum(x546, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) - del x546 - x583 += einsum(x553, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) - del x553 - x583 += einsum(x570, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 - del x570 - x583 += einsum(x575, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) - del x575 - x583 += einsum(x579, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - del x579 - x583 += einsum(x582, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 - del x582 - t3new_abaaba += einsum(x583, (0, 1, 2, 3, 4, 5), (2, 0, 3, 4, 1, 5)) * -1.0 - t3new_abaaba += einsum(x583, (0, 1, 2, 3, 4, 5), (2, 0, 3, 5, 1, 4)) - t3new_abaaba += einsum(x583, (0, 1, 2, 3, 4, 5), (3, 0, 2, 4, 1, 5)) - t3new_abaaba += einsum(x583, (0, 1, 2, 3, 4, 5), (3, 0, 2, 5, 1, 4)) * -1.0 - del x583 - x584 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x584 += einsum(t2.abab, (0, 1, 2, 3), x261, (4, 5, 6, 2), (1, 3, 4, 0, 5, 6)) * -1.0 - del x261 - x585 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x585 += einsum(x122, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.99999999999999 - del x122 - x585 += einsum(x436, (0, 1, 2, 3), (0, 1, 3, 2)) - del x436 - x586 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x586 += einsum(x585, (0, 1, 2, 3), t3.abaaba, (4, 5, 3, 6, 0, 7), (5, 1, 4, 2, 6, 7)) * -2.00000000000002 - del x585 - x587 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x587 += einsum(x562, (0, 1, 2, 3), t3.abaaba, (4, 0, 3, 5, 6, 7), (1, 6, 4, 2, 5, 7)) * -2.0 - del x562 - x588 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x588 += einsum(t1.bb, (0, 1), v.aabb.oooo, (2, 3, 4, 0), (4, 1, 2, 3)) - x589 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x589 += einsum(t2.abab, (0, 1, 2, 3), x4, (1, 4, 5, 2), (4, 3, 5, 0)) - del x4 - x590 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x590 += einsum(t2.abab, (0, 1, 2, 3), x32, (4, 5, 0, 2), (1, 3, 4, 5)) - x591 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x591 += einsum(t2.abab, (0, 1, 2, 3), x104, (3, 4, 5, 2), (1, 4, 5, 0)) - del x104 - x592 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x592 += einsum(x13, (0, 1), t2.abab, (2, 3, 1, 4), (3, 4, 0, 2)) - del x13 - x593 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x593 += einsum(v.aabb.ooov, (0, 1, 2, 3), x113, (2, 4, 3, 5), (4, 5, 0, 1)) * 2.0 - x594 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x594 += einsum(v.aabb.ooov, (0, 1, 2, 3), (2, 3, 0, 1)) - x594 += einsum(x588, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x588 - x594 += einsum(x155, (0, 1, 2, 3), (0, 1, 3, 2)) - del x155 - x594 += einsum(x360, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - del x360 - x594 += einsum(x361, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - del x361 - x594 += einsum(x589, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x589 - x594 += einsum(x590, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x590 - x594 += einsum(x591, (0, 1, 2, 3), (0, 1, 2, 3)) - del x591 - x594 += einsum(x592, (0, 1, 2, 3), (0, 1, 2, 3)) - del x592 - x594 += einsum(x593, (0, 1, 2, 3), (0, 1, 3, 2)) - del x593 - x595 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x595 += einsum(t2.aaaa, (0, 1, 2, 3), x594, (4, 5, 1, 6), (4, 5, 0, 6, 2, 3)) * -2.0 - del x594 - x596 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x596 += einsum(v.aabb.oovv, (0, 1, 2, 3), (2, 3, 0, 1)) - x596 += einsum(x121, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x121 - x597 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x597 += einsum(x596, (0, 1, 2, 3), t3.abaaba, (4, 5, 2, 6, 0, 7), (5, 1, 4, 3, 6, 7)) * -2.0 - del x596 - x598 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x598 += einsum(x214, (0, 1, 2, 3), (0, 2, 1, 3)) - del x214 - x598 += einsum(x240, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x240 - x598 += einsum(x241, (0, 1, 2, 3), (0, 2, 1, 3)) * -3.0 - del x241 - x599 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x599 += einsum(t2.abab, (0, 1, 2, 3), x598, (4, 5, 6, 2), (1, 3, 4, 0, 5, 6)) * 2.0 - del x598 - x600 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x600 += einsum(x567, (0, 1, 2, 3), t3.abaaba, (4, 0, 2, 5, 6, 7), (1, 6, 4, 3, 5, 7)) * -2.0 - del x567 - x601 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x601 += einsum(f.aa.oo, (0, 1), (0, 1)) - x601 += einsum(x30, (0, 1), (0, 1)) - del x30 - x601 += einsum(x31, (0, 1), (0, 1)) * 2.0 - del x31 - x601 += einsum(x34, (0, 1), (1, 0)) - del x34 - x602 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x602 += einsum(x601, (0, 1), t3.abaaba, (2, 3, 1, 4, 5, 6), (3, 5, 2, 0, 4, 6)) * -2.0 - del x601 - x603 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x603 += einsum(t1.bb, (0, 1), x136, (2, 0, 3, 4), (2, 1, 3, 4)) - del x136 - x604 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x604 += einsum(t2.abab, (0, 1, 2, 3), x55, (4, 0, 5, 2), (1, 3, 4, 5)) - x605 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x605 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) - x605 += einsum(x127, (0, 1, 2, 3), (0, 1, 2, 3)) - x606 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x606 += einsum(t1.aa, (0, 1), x605, (2, 3, 4, 1), (2, 3, 4, 0)) - del x605 - x607 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x607 += einsum(x113, (0, 1, 2, 3), x23, (0, 2, 4, 5), (1, 3, 4, 5)) * 2.0 - del x23 - x608 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x608 += einsum(x603, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x603 - x608 += einsum(x604, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x604 - x608 += einsum(x606, (0, 1, 2, 3), (0, 1, 3, 2)) - del x606 - x608 += einsum(x607, (0, 1, 2, 3), (0, 1, 2, 3)) - del x607 - x609 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x609 += einsum(t2.aaaa, (0, 1, 2, 3), x608, (4, 5, 6, 1), (4, 5, 0, 6, 2, 3)) * -2.0 - del x608 - x610 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x610 += einsum(x251, (0, 1), t3.abaaba, (2, 3, 0, 4, 5, 6), (3, 5, 2, 1, 4, 6)) * -2.0 - del x251 - x611 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x611 += einsum(x584, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 2.0 - del x584 - x611 += einsum(x586, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) - del x586 - x611 += einsum(x587, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) - del x587 - x611 += einsum(x595, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - del x595 - x611 += einsum(x597, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - del x597 - x611 += einsum(x599, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) - del x599 - x611 += einsum(x600, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 - del x600 - x611 += einsum(x602, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -1.0 - del x602 - x611 += einsum(x609, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -1.0 - del x609 - x611 += einsum(x610, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - del x610 - t3new_abaaba += einsum(x611, (0, 1, 2, 3, 4, 5), (2, 0, 3, 4, 1, 5)) * -1.0 - t3new_abaaba += einsum(x611, (0, 1, 2, 3, 4, 5), (3, 0, 2, 4, 1, 5)) - del x611 - x612 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x612 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x612 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x612 += einsum(x111, (0, 1, 2, 3), (1, 0, 3, 2)) * 1.00000000000001 - x612 += einsum(x112, (0, 1, 2, 3), x315, (0, 4, 3, 5), (1, 4, 2, 5)) * -2.00000000000002 - del x112 - x612 += einsum(x115, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x115 - x612 += einsum(x116, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x116 - t3new_abaaba += einsum(x612, (0, 1, 2, 3), t3.abaaba, (4, 0, 5, 6, 2, 7), (4, 1, 5, 6, 3, 7)) * 2.0 - del x612 - x613 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x613 += einsum(t2.bbbb, (0, 1, 2, 3), (0, 1, 2, 3)) - x613 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1)) * -0.4999999999999949 - x614 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x614 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) - x614 += einsum(x511, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x511 - x614 += einsum(x127, (0, 1, 2, 3), (0, 1, 2, 3)) - x614 += einsum(x314, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x314 - x614 += einsum(v.aabb.ovov, (0, 1, 2, 3), x613, (2, 4, 3, 5), (4, 5, 0, 1)) * 2.0000000000000204 - del x613 - t3new_abaaba += einsum(x614, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 2, 6, 7, 3), (4, 0, 5, 6, 1, 7)) * 6.0 - del x614 - x615 = np.zeros((nvir[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x615 += einsum(v.aaaa.vvvv, (0, 1, 2, 3), (0, 1, 2, 3)) - x615 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (0, 4, 1, 5), (5, 2, 3, 4)) * -1.0 - x615 += einsum(t1.aa, (0, 1), x109, (0, 2, 3, 4), (4, 1, 2, 3)) * -1.0 - del x109 - t3new_abaaba += einsum(x615, (0, 1, 2, 3), t3.abaaba, (4, 5, 6, 0, 7, 3), (4, 5, 6, 2, 7, 1)) * -2.0 - del x615 - x616 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x616 += einsum(v.aaaa.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x616 += einsum(x49, (0, 1, 2, 3), (2, 0, 3, 1)) * -1.0 - x616 += einsum(x49, (0, 1, 2, 3), (2, 1, 3, 0)) - del x49 - x616 += einsum(x99, (0, 1, 2, 3), (1, 3, 0, 2)) - del x99 - t3new_abaaba += einsum(x616, (0, 1, 2, 3), t3.abaaba, (0, 4, 2, 5, 6, 7), (1, 4, 3, 5, 6, 7)) * 2.0 - del x616 - x617 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x617 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x617 += einsum(x50, (0, 1, 2, 3), (1, 0, 2, 3)) - del x50 - x618 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x618 += einsum(t2.aaaa, (0, 1, 2, 3), x32, (4, 5, 1, 3), (0, 4, 5, 2)) * 2.0 - del x32 - x619 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x619 += einsum(t2.aaaa, (0, 1, 2, 3), x55, (4, 5, 1, 3), (0, 4, 5, 2)) * 2.0 - del x55 - x620 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x620 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x620 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x620 += einsum(x37, (0, 1, 2, 3), (0, 1, 2, 3)) - del x37 - x621 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x621 += einsum(t1.aa, (0, 1), x620, (2, 3, 1, 4), (2, 3, 0, 4)) - del x620 - x622 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x622 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x622 += einsum(x25, (0, 1, 2, 3), (0, 2, 1, 3)) - del x25 - x623 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x623 += einsum(t1.aa, (0, 1), x622, (2, 3, 4, 1), (2, 3, 4, 0)) - del x622 - x624 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x624 += einsum(t1.aa, (0, 1), x623, (2, 0, 3, 4), (4, 2, 3, 1)) - del x623 - x625 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x625 += einsum(x48, (0, 1, 2, 3), (0, 2, 1, 3)) - del x48 - x625 += einsum(x52, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x52 - x625 += einsum(x618, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x618 - x625 += einsum(x619, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - del x619 - x625 += einsum(x621, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - del x621 - x625 += einsum(x624, (0, 1, 2, 3), (0, 2, 1, 3)) - del x624 - x626 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x626 += einsum(x617, (0, 1, 2, 3), (0, 1, 2, 3)) - x626 += einsum(x617, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x617 - x626 += einsum(x625, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x626 += einsum(x625, (0, 1, 2, 3), (1, 2, 0, 3)) - del x625 - x626 += einsum(x80, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x80 - x626 += einsum(x295, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - del x295 - x627 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x627 += einsum(t2.abab, (0, 1, 2, 3), x626, (0, 4, 5, 6), (1, 3, 4, 5, 6, 2)) - del x626 - t3new_abaaba += einsum(x627, (0, 1, 2, 3, 4, 5), (3, 0, 2, 4, 1, 5)) * -1.0 - t3new_abaaba += einsum(x627, (0, 1, 2, 3, 4, 5), (3, 0, 2, 5, 1, 4)) - del x627 - x628 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x628 += einsum(t2.bbbb, (0, 1, 2, 3), x430, (1, 4, 3, 5), (0, 4, 5, 2)) * 2.0 - del x430 - x629 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x629 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) - x629 += einsum(x331, (0, 1, 2, 3), (0, 1, 3, 2)) - del x331 - x629 += einsum(x628, (0, 1, 2, 3), (0, 3, 1, 2)) * -1.0 - del x628 - x630 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x630 += einsum(t2.bbbb, (0, 1, 2, 3), x629, (4, 5, 3, 6), (4, 0, 1, 5, 6, 2)) * -2.0 - del x629 - x631 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x631 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ooov, (4, 5, 6, 3), (0, 1, 4, 5, 6, 2)) - x632 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x632 += einsum(t1.bb, (0, 1), x631, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x631 - x633 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x633 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x633 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x633 += einsum(x111, (0, 1, 2, 3), (0, 1, 2, 3)) - x633 += einsum(x335, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x335 - x634 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x634 += einsum(t2.bbbb, (0, 1, 2, 3), x633, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) * -1.0 - del x633 - x635 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x635 += einsum(x632, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) - del x632 - x635 += einsum(x634, (0, 1, 2, 3, 4, 5), (3, 2, 1, 0, 5, 4)) * -1.0 - del x634 - x636 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x636 += einsum(t1.bb, (0, 1), x635, (2, 3, 0, 4, 5, 6), (2, 3, 4, 5, 6, 1)) * 2.0 - del x635 - x637 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x637 += einsum(x630, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) - del x630 - x637 += einsum(x636, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) - del x636 - t3new_bbbbbb = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - t3new_bbbbbb += einsum(x637, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - t3new_bbbbbb += einsum(x637, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - t3new_bbbbbb += einsum(x637, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) - t3new_bbbbbb += einsum(x637, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -1.0 - t3new_bbbbbb += einsum(x637, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -1.0 - t3new_bbbbbb += einsum(x637, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) - t3new_bbbbbb += einsum(x637, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) - t3new_bbbbbb += einsum(x637, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - t3new_bbbbbb += einsum(x637, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -1.0 - t3new_bbbbbb += einsum(x637, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) - t3new_bbbbbb += einsum(x637, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - t3new_bbbbbb += einsum(x637, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -1.0 - t3new_bbbbbb += einsum(x637, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) - t3new_bbbbbb += einsum(x637, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -1.0 - t3new_bbbbbb += einsum(x637, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -1.0 - t3new_bbbbbb += einsum(x637, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) - t3new_bbbbbb += einsum(x637, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) - t3new_bbbbbb += einsum(x637, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -1.0 - del x637 - x638 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x638 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.babbab, (4, 0, 5, 6, 1, 7), (4, 5, 2, 6, 7, 3)) - x639 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x639 += einsum(t2.bbbb, (0, 1, 2, 3), x402, (4, 5, 6, 3), (0, 1, 4, 5, 6, 2)) - del x402 - x640 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x640 += einsum(t2.bbbb, (0, 1, 2, 3), x167, (4, 5, 1, 6), (4, 5, 0, 2, 3, 6)) - del x167 - x641 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x641 += einsum(x14, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 0, 6, 7, 2), (4, 5, 1, 6, 7, 3)) * 6.0 - del x14 - x642 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x642 += einsum(x638, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 2.0 - del x638 - x642 += einsum(x639, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -4.0 - del x639 - x642 += einsum(x640, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -4.0 - del x640 - x642 += einsum(x641, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x641 - t3new_bbbbbb += einsum(x642, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - t3new_bbbbbb += einsum(x642, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - t3new_bbbbbb += einsum(x642, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -1.0 - t3new_bbbbbb += einsum(x642, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) - t3new_bbbbbb += einsum(x642, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - t3new_bbbbbb += einsum(x642, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) - t3new_bbbbbb += einsum(x642, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) - t3new_bbbbbb += einsum(x642, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -1.0 - t3new_bbbbbb += einsum(x642, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) - del x642 - x643 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x643 += einsum(x127, (0, 1, 2, 3), t3.babbab, (4, 2, 5, 6, 3, 7), (0, 4, 5, 6, 7, 1)) - del x127 - x644 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x644 += einsum(t2.bbbb, (0, 1, 2, 3), x382, (4, 5, 6, 3), (4, 0, 1, 5, 6, 2)) * -1.0 - del x382 - x645 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x645 += einsum(x182, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 0, 6, 7, 3), (4, 5, 1, 6, 7, 2)) * -6.0 - x646 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x646 += einsum(x168, (0, 1, 2, 3), (0, 1, 2, 3)) - del x168 - x646 += einsum(x169, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.3333333333333333 - del x169 - x647 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x647 += einsum(t2.bbbb, (0, 1, 2, 3), x646, (4, 5, 1, 6), (4, 5, 0, 6, 2, 3)) * -12.0 - del x646 - x648 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x648 += einsum(x643, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 2.0 - del x643 - x648 += einsum(x644, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -4.0 - del x644 - x648 += einsum(x645, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) - del x645 - x648 += einsum(x647, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) - del x647 - t3new_bbbbbb += einsum(x648, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - t3new_bbbbbb += einsum(x648, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 - t3new_bbbbbb += einsum(x648, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) - t3new_bbbbbb += einsum(x648, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) - t3new_bbbbbb += einsum(x648, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) * -1.0 - t3new_bbbbbb += einsum(x648, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) - t3new_bbbbbb += einsum(x648, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -1.0 - t3new_bbbbbb += einsum(x648, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) - t3new_bbbbbb += einsum(x648, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * -1.0 - del x648 - x649 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x649 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 6, 7, 1, 3), (4, 5, 6, 0, 7, 2)) - x650 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x650 += einsum(t1.bb, (0, 1), x649, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) - del x649 - t3new_bbbbbb += einsum(x650, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 6.0 - t3new_bbbbbb += einsum(x650, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -6.0 - t3new_bbbbbb += einsum(x650, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -6.0 - t3new_bbbbbb += einsum(x650, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * 6.0 - t3new_bbbbbb += einsum(x650, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 6.0 - t3new_bbbbbb += einsum(x650, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -6.0 - del x650 - x651 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x651 += einsum(x440, (0, 1), t3.bbbbbb, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 6, 1)) * 6.0 - del x440 - x652 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x652 += einsum(v.bbbb.ovov, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 6, 7, 3, 1), (4, 5, 6, 0, 2, 7)) * -1.0 - x653 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x653 += einsum(x470, (0, 1, 2, 3), x652, (4, 5, 6, 0, 1, 7), (4, 5, 6, 2, 3, 7)) * 6.0 - del x470, x652 - x654 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x654 += einsum(x651, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) - del x651 - x654 += einsum(x653, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - del x653 - t3new_bbbbbb += einsum(x654, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - t3new_bbbbbb += einsum(x654, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 - t3new_bbbbbb += einsum(x654, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) - del x654 - x655 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x655 += einsum(t2.bbbb, (0, 1, 2, 3), x157, (4, 5, 3, 6), (4, 0, 1, 2, 6, 5)) - del x157 - x656 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x656 += einsum(t2.bbbb, (0, 1, 2, 3), x1, (4, 5, 6, 3), (4, 0, 1, 6, 5, 2)) - del x1 - x657 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x657 += einsum(t1.bb, (0, 1), x656, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x656 - x658 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x658 += einsum(t2.bbbb, (0, 1, 2, 3), x182, (4, 5, 6, 3), (5, 4, 0, 1, 6, 2)) - del x182 - x659 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x659 += einsum(x657, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 - del x657 - x659 += einsum(x658, (0, 1, 2, 3, 4, 5), (0, 3, 2, 1, 5, 4)) * -1.0 - del x658 - x660 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x660 += einsum(t1.bb, (0, 1), x659, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 6, 1)) * 2.0 - del x659 - x661 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x661 += einsum(x655, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -2.0 - del x655 - x661 += einsum(x660, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -1.0 - del x660 - t3new_bbbbbb += einsum(x661, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - t3new_bbbbbb += einsum(x661, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - t3new_bbbbbb += einsum(x661, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) - t3new_bbbbbb += einsum(x661, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -1.0 - t3new_bbbbbb += einsum(x661, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -1.0 - t3new_bbbbbb += einsum(x661, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) - t3new_bbbbbb += einsum(x661, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) * -1.0 - t3new_bbbbbb += einsum(x661, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) - t3new_bbbbbb += einsum(x661, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) - t3new_bbbbbb += einsum(x661, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 - t3new_bbbbbb += einsum(x661, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * -1.0 - t3new_bbbbbb += einsum(x661, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) - t3new_bbbbbb += einsum(x661, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) - t3new_bbbbbb += einsum(x661, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -1.0 - t3new_bbbbbb += einsum(x661, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -1.0 - t3new_bbbbbb += einsum(x661, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) - t3new_bbbbbb += einsum(x661, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) - t3new_bbbbbb += einsum(x661, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -1.0 - del x661 - x662 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x662 += einsum(v.bbbb.oooo, (0, 1, 2, 3), t3.bbbbbb, (4, 3, 1, 5, 6, 7), (4, 0, 2, 5, 6, 7)) * -1.0 - x663 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x663 += einsum(f.bb.oo, (0, 1), (0, 1)) - x663 += einsum(x16, (0, 1), (1, 0)) * 2.0 - del x16 - x663 += einsum(x17, (0, 1), (1, 0)) - del x17 - x663 += einsum(x20, (0, 1), (0, 1)) - del x20 - x664 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x664 += einsum(x663, (0, 1), t3.bbbbbb, (2, 3, 0, 4, 5, 6), (2, 3, 1, 4, 5, 6)) * 6.0 - del x663 - x665 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x665 += einsum(x662, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 6.0 - del x662 - x665 += einsum(x664, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) - del x664 - t3new_bbbbbb += einsum(x665, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -1.0 - t3new_bbbbbb += einsum(x665, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 - t3new_bbbbbb += einsum(x665, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) - del x665 - x666 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x666 += einsum(v.bbbb.vvvv, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 6, 7, 3, 1), (4, 5, 6, 7, 0, 2)) * -1.0 - x667 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x667 += einsum(f.bb.vv, (0, 1), (0, 1)) * -1.0 - x667 += einsum(x142, (0, 1), (1, 0)) * 2.0 - del x142 - x667 += einsum(x143, (0, 1), (1, 0)) - del x143 - x667 += einsum(x145, (0, 1), (0, 1)) - del x145 - x668 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x668 += einsum(x667, (0, 1), t3.bbbbbb, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 6, 1)) * 6.0 - del x667 - x669 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x669 += einsum(x666, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -6.0 - del x666 - x669 += einsum(x668, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -1.0 - del x668 - t3new_bbbbbb += einsum(x669, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - t3new_bbbbbb += einsum(x669, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - t3new_bbbbbb += einsum(x669, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) - del x669 - x670 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x670 += einsum(x210, (0, 1, 2, 3), (1, 0, 3, 2)) - del x210 - x670 += einsum(x171, (0, 1, 2, 3), (0, 1, 2, 3)) - x671 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x671 += einsum(x670, (0, 1, 2, 3), t3.bbbbbb, (4, 2, 3, 5, 6, 7), (4, 0, 1, 5, 6, 7)) * -6.0 - del x670 - x672 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x672 += einsum(x417, (0, 1), t3.bbbbbb, (2, 3, 0, 4, 5, 6), (2, 3, 1, 4, 5, 6)) * 6.0 - del x417 - x673 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x673 += einsum(x671, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) - del x671 - x673 += einsum(x672, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -1.0 - del x672 - t3new_bbbbbb += einsum(x673, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) - t3new_bbbbbb += einsum(x673, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -1.0 - t3new_bbbbbb += einsum(x673, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * -1.0 - del x673 - x674 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x674 += einsum(x403, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x403 - x674 += einsum(x404, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.3333333333333333 - del x404 - x675 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x675 += einsum(t2.bbbb, (0, 1, 2, 3), x674, (4, 5, 6, 3), (4, 0, 1, 5, 6, 2)) * -12.0 - del x674 - x676 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x676 += einsum(v.aabb.ovoo, (0, 1, 2, 3), t3.babbab, (4, 0, 5, 6, 1, 7), (4, 5, 2, 3, 6, 7)) - x677 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x677 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x677 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - x678 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x678 += einsum(x677, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 0, 6, 7, 3), (4, 5, 1, 2, 6, 7)) - del x677 - x679 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x679 += einsum(x676, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -0.3333333333333333 - del x676 - x679 += einsum(x678, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 - del x678 - x680 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x680 += einsum(t1.bb, (0, 1), x679, (2, 3, 0, 4, 5, 6), (2, 3, 4, 5, 6, 1)) * 6.0 - del x679 - x681 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x681 += einsum(x675, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -1.0 - del x675 - x681 += einsum(x680, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) - del x680 - t3new_bbbbbb += einsum(x681, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - t3new_bbbbbb += einsum(x681, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - t3new_bbbbbb += einsum(x681, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) - t3new_bbbbbb += einsum(x681, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 - t3new_bbbbbb += einsum(x681, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) - t3new_bbbbbb += einsum(x681, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 - t3new_bbbbbb += einsum(x681, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -1.0 - t3new_bbbbbb += einsum(x681, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) - t3new_bbbbbb += einsum(x681, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -1.0 - del x681 - x682 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x682 += einsum(t2.bbbb, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0000000000000204 - x682 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1)) * -1.0 - x683 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x683 += einsum(x682, (0, 1, 2, 3), x7, (0, 4, 2, 5), (4, 1, 5, 3)) * 0.4999999999999949 - del x7, x682 - x684 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x684 += einsum(x111, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.49999999999999983 - del x111 - x684 += einsum(x683, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x683 - x685 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x685 += einsum(x684, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 1, 6, 7, 3), (4, 5, 0, 6, 7, 2)) * 12.000000000000123 - del x684 - x686 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x686 += einsum(t2.abab, (0, 1, 2, 3), x11, (0, 4, 2, 5), (1, 3, 4, 5)) * 0.5 - del x11 - x687 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x687 += einsum(v.aabb.ovov, (0, 1, 2, 3), x315, (2, 4, 3, 5), (4, 5, 0, 1)) - del x315 - x688 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x688 += einsum(x686, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x686 - x688 += einsum(x687, (0, 1, 2, 3), (0, 1, 2, 3)) - del x687 - x689 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x689 += einsum(x688, (0, 1, 2, 3), t3.babbab, (4, 2, 5, 6, 3, 7), (0, 4, 5, 1, 6, 7)) * 4.00000000000004 - del x688 - x690 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x690 += einsum(x685, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) - del x685 - x690 += einsum(x689, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - del x689 - t3new_bbbbbb += einsum(x690, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - t3new_bbbbbb += einsum(x690, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - t3new_bbbbbb += einsum(x690, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) - t3new_bbbbbb += einsum(x690, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) - t3new_bbbbbb += einsum(x690, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -1.0 - t3new_bbbbbb += einsum(x690, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) - t3new_bbbbbb += einsum(x690, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -1.0 - t3new_bbbbbb += einsum(x690, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) - t3new_bbbbbb += einsum(x690, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -1.0 - del x690 - x691 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x691 += einsum(x184, (0, 1, 2, 3), t3.bbbbbb, (4, 2, 3, 5, 6, 7), (0, 4, 1, 5, 6, 7)) - del x184 - t3new_bbbbbb += einsum(x691, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 6.0 - t3new_bbbbbb += einsum(x691, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -6.0 - t3new_bbbbbb += einsum(x691, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -6.0 - t3new_bbbbbb += einsum(x691, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * 6.0 - t3new_bbbbbb += einsum(x691, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 6.0 - t3new_bbbbbb += einsum(x691, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -6.0 - del x691 - x692 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x692 += einsum(t1.bb, (0, 1), v.bbbb.oovv, (2, 3, 4, 1), (0, 2, 3, 4)) - x693 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x693 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ooov, (4, 5, 1, 3), (0, 4, 5, 2)) - x694 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x694 += einsum(x692, (0, 1, 2, 3), (0, 2, 1, 3)) - del x692 - x694 += einsum(x693, (0, 1, 2, 3), (0, 2, 1, 3)) * 2.0 - del x693 - x694 += einsum(x186, (0, 1, 2, 3), (0, 2, 1, 3)) - del x186 - x695 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x695 += einsum(t1.bb, (0, 1), x171, (2, 3, 0, 4), (3, 2, 4, 1)) - del x171 - x696 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x696 += einsum(t2.bbbb, (0, 1, 2, 3), x412, (4, 5, 1, 3), (4, 5, 0, 2)) * 2.0 - del x412 - x697 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x697 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x697 += einsum(x177, (0, 1, 2, 3), (1, 0, 2, 3)) - del x177 - x698 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x698 += einsum(t1.bb, (0, 1), x697, (2, 3, 1, 4), (2, 3, 0, 4)) - del x697 - x699 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x699 += einsum(v.bbbb.ooov, (0, 1, 2, 3), x113, (1, 4, 3, 5), (4, 0, 2, 5)) * 2.0 - del x113 - x700 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x700 += einsum(x695, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x695 - x700 += einsum(x187, (0, 1, 2, 3), (0, 1, 2, 3)) - del x187 - x700 += einsum(x696, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x696 - x700 += einsum(x698, (0, 1, 2, 3), (2, 1, 0, 3)) - del x698 - x700 += einsum(x699, (0, 1, 2, 3), (0, 1, 2, 3)) - del x699 - x701 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x701 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x701 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) - x701 += einsum(x694, (0, 1, 2, 3), (0, 1, 2, 3)) - x701 += einsum(x694, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x694 - x701 += einsum(x700, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x701 += einsum(x700, (0, 1, 2, 3), (1, 0, 2, 3)) - del x700 - x701 += einsum(x185, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x701 += einsum(x185, (0, 1, 2, 3), (1, 0, 2, 3)) - del x185 - x701 += einsum(x170, (0, 1, 2, 3), (2, 1, 0, 3)) - del x170 - x701 += einsum(x480, (0, 1, 2, 3), (1, 0, 2, 3)) - del x480 - x702 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x702 += einsum(t2.bbbb, (0, 1, 2, 3), x701, (4, 5, 1, 6), (4, 5, 0, 6, 2, 3)) * -2.0 - del x701 - t3new_bbbbbb += einsum(x702, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) - t3new_bbbbbb += einsum(x702, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - t3new_bbbbbb += einsum(x702, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) - t3new_bbbbbb += einsum(x702, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) - t3new_bbbbbb += einsum(x702, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) - t3new_bbbbbb += einsum(x702, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -1.0 - t3new_bbbbbb += einsum(x702, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -1.0 - t3new_bbbbbb += einsum(x702, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - t3new_bbbbbb += einsum(x702, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 - del x702 +def update_lams(f=None, l1=None, l2=None, l3=None, t1=None, t2=None, t3=None, v=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-10-22T13:11:51.163657. - t1new.aa = t1new_aa - t1new.bb = t1new_bb - t2new.aaaa = t2new_aaaa - t2new.abab = t2new_abab - t2new.bbbb = t2new_bbbb - t3new.aaaaaa = t3new_aaaaaa - t3new.abaaba = t3new_abaaba - t3new.babbab = t3new_babbab - t3new.bbbbbb = t3new_bbbbbb + Parameters + ---------- + f : Namespace of arrays + Fock matrix. + l1 : Namespace of arrays + L1 amplitudes. + l2 : Namespace of arrays + L2 amplitudes. + l3 : Namespace of arrays + L3 amplitudes. + t1 : Namespace of arrays + T1 amplitudes. + t2 : Namespace of arrays + T2 amplitudes. + t3 : Namespace of arrays + T3 amplitudes. + v : Namespace of arrays + Electron repulsion integrals. - return {"t1new": t1new, "t2new": t2new, "t3new": t3new} + Returns + ------- + l1new : Namespace of arrays + Updated L1 residuals. + l2new : Namespace of arrays + Updated L2 residuals. + l3new : Namespace of arrays + Updated L3 residuals. + """ -def update_lams(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, t3=None, l1=None, l2=None, l3=None, **kwargs): l1new = Namespace() l2new = Namespace() l3new = Namespace() + tmp579 = einsum(l3.babbab, (0, 1, 2, 3, 4, 5), v.aabb.vvov, (6, 1, 7, 8), (4, 3, 5, 7, 6, 0, 2, 8)) + tmp960 = einsum(t1.aa, (0, 1), tmp579, (0, 2, 3, 4, 1, 5, 6, 7), (2, 3, 4, 5, 6, 7)) + l3new.bbbbbb = np.copy(np.transpose(tmp960, (5, 4, 3, 1, 0, 2))) * 2 + tmp640 = einsum(t2.abab, (0, 1, 2, 3), l3.bbbbbb, (4, 5, 3, 6, 7, 1), (0, 6, 7, 2, 4, 5)) + tmp651 = einsum(v.aabb.ovov, (0, 1, 2, 3), tmp640, (0, 4, 5, 1, 6, 7), (4, 5, 2, 6, 7, 3)) + l3new.bbbbbb += np.transpose(tmp651, (5, 4, 3, 1, 0, 2)) * 6 + tmp227 = einsum(t1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) + tmp652 = einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), t1.bb, (6, 2), (3, 4, 5, 6, 0, 1)) + tmp653 = einsum(tmp652, (0, 1, 2, 3, 4, 5), tmp227, (2, 6, 3, 7), (0, 1, 6, 4, 5, 7)) + l3new.bbbbbb += np.transpose(tmp653, (5, 4, 3, 1, 0, 2)) * -6 + tmp713 = einsum(tmp652, (0, 1, 2, 3, 4, 5), v.bbbb.ovoo, (6, 7, 3, 1), (0, 2, 6, 4, 5, 7)) * -1 + l3new.bbbbbb += np.transpose(tmp713, (5, 4, 3, 1, 0, 2)) * -6 + tmp284 = einsum(v.bbbb.ovvv, (0, 1, 2, 3), l2.bbbb, (4, 3, 5, 6), (5, 6, 0, 4, 1, 2)) + l3new.bbbbbb += np.transpose(tmp284, (4, 5, 3, 1, 0, 2)) * 2 + tmp577 = einsum(t1.aa, (0, 1), l3.babbab, (2, 1, 3, 4, 5, 6), (5, 0, 4, 6, 2, 3)) + tmp648 = einsum(tmp577, (0, 1, 2, 3, 4, 5), v.aabb.ooov, (1, 0, 6, 7), (2, 3, 6, 4, 5, 7)) + l3new.bbbbbb += np.transpose(tmp648, (5, 4, 3, 1, 0, 2)) * -2 + tmp99 = einsum(v.aabb.ovov, (0, 1, 2, 3), t1.aa, (4, 1), (4, 0, 2, 3)) + tmp961 = einsum(tmp577, (0, 1, 2, 3, 4, 5), tmp99, (0, 1, 6, 7), (2, 3, 6, 4, 5, 7)) + l3new.bbbbbb += np.transpose(tmp961, (5, 4, 3, 1, 0, 2)) * -2 + tmp962 = np.copy(np.transpose(v.aabb.ovov, (0, 2, 1, 3))) + tmp228 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 1), (4, 2, 5, 3)) + tmp962 += tmp228 * 2 + tmp312 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 5, 3), (4, 0, 5, 1)) + tmp962 += tmp312 + tmp963 = einsum(l3.babbab, (0, 1, 2, 3, 4, 5), tmp962, (4, 6, 1, 7), (3, 5, 6, 0, 2, 7)) + del tmp962 + l3new.bbbbbb += np.transpose(tmp963, (5, 4, 3, 1, 0, 2)) * 2 + tmp964 = np.copy(np.transpose(v.bbbb.ovov, (0, 2, 1, 3))) * 0.49999999999999506 + tmp964 += v.bbbb.oovv * -0.49999999999999506 + tmp306 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (4, 2, 5, 3), (4, 0, 5, 1)) + tmp964 += tmp306 + tmp965 = einsum(tmp964, (0, 1, 2, 3), l3.bbbbbb, (4, 5, 2, 6, 7, 0), (6, 7, 1, 4, 5, 3)) * -6 + del tmp964 + l3new.bbbbbb += np.transpose(tmp965, (5, 4, 3, 0, 1, 2)) * 2 + tmp649 = einsum(v.bbbb.ovvv, (0, 1, 2, 3), l3.bbbbbb, (4, 5, 3, 6, 7, 8), (6, 7, 8, 0, 4, 5, 1, 2)) + tmp966 = np.copy(np.transpose(tmp649, (1, 2, 0, 3, 5, 4, 6, 7))) + tmp966 += np.transpose(tmp649, (1, 2, 0, 3, 5, 4, 7, 6)) * -1 + tmp967 = einsum(t1.bb, (0, 1), tmp966, (0, 2, 3, 4, 5, 6, 7, 1), (2, 3, 4, 5, 6, 7)) + l3new.bbbbbb += np.transpose(tmp967, (5, 4, 3, 0, 1, 2)) * 6 + tmp326 = np.copy(f.bb.oo) + tmp320 = einsum(t1.aa, (0, 1), v.aabb.ovoo, (0, 1, 2, 3), (2, 3)) + tmp326 += np.transpose(tmp320, (1, 0)) + tmp321 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 3), (1, 4)) + tmp326 += tmp321 + tmp322 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 2, 1, 3), (0, 4)) + tmp326 += tmp322 * 2 + tmp323 = np.copy(v.bbbb.ooov) * -1 + tmp323 += np.transpose(v.bbbb.ovoo, (0, 2, 3, 1)) + tmp324 = einsum(tmp323, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1)) + tmp326 += np.transpose(tmp324, (1, 0)) * -1 + tmp319 = np.copy(f.bb.ov) + tmp317 = einsum(t1.aa, (0, 1), v.aabb.ovov, (0, 1, 2, 3), (2, 3)) + tmp319 += tmp317 + tmp229 = np.copy(np.transpose(v.bbbb.ovov, (0, 2, 3, 1))) + tmp229 += np.transpose(v.bbbb.ovov, (0, 2, 1, 3)) * -1 + tmp318 = einsum(tmp229, (0, 1, 2, 3), t1.bb, (0, 2), (1, 3)) + tmp319 += tmp318 * -1 + del tmp318 + tmp325 = einsum(t1.bb, (0, 1), tmp319, (2, 1), (0, 2)) + tmp326 += tmp325 + tmp968 = einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), tmp326, (5, 6), (3, 4, 6, 0, 1, 2)) * 3 + l3new.bbbbbb += np.transpose(tmp968, (4, 5, 3, 0, 1, 2)) * -2 + tmp543 = np.copy(f.bb.ov) + tmp543 += tmp317 + tmp542 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1)) + tmp543 += tmp542 + l3new.bbbbbb += einsum(l2.bbbb, (0, 1, 2, 3), tmp543, (4, 5), (5, 0, 1, 2, 3, 4)) * 2 + l3new.bbbbbb += np.transpose(tmp960, (5, 4, 3, 1, 2, 0)) * -2 + l3new.bbbbbb += np.transpose(tmp651, (5, 4, 3, 1, 2, 0)) * -6 + l3new.bbbbbb += np.transpose(tmp653, (5, 4, 3, 1, 2, 0)) * 6 + l3new.bbbbbb += np.transpose(tmp713, (5, 4, 3, 1, 2, 0)) * 6 + l3new.bbbbbb += np.transpose(tmp284, (4, 5, 3, 1, 2, 0)) * -2 + l3new.bbbbbb += np.transpose(tmp648, (5, 4, 3, 1, 2, 0)) * 2 + l3new.bbbbbb += np.transpose(tmp961, (5, 4, 3, 1, 2, 0)) * 2 + tmp969 = np.copy(np.transpose(v.aabb.ovov, (0, 2, 1, 3))) + tmp969 += tmp228 * 2 + tmp969 += tmp312 + tmp970 = einsum(l3.babbab, (0, 1, 2, 3, 4, 5), tmp969, (4, 6, 1, 7), (3, 5, 6, 0, 2, 7)) + del tmp969 + l3new.bbbbbb += np.transpose(tmp970, (5, 4, 3, 1, 2, 0)) * -2 + tmp971 = np.copy(np.transpose(v.bbbb.ovov, (0, 2, 1, 3))) + tmp971 += v.bbbb.oovv * -1 + tmp971 += tmp306 * 2 + tmp972 = einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), tmp971, (5, 6, 2, 7), (3, 4, 6, 0, 1, 7)) * -3 + del tmp971 + l3new.bbbbbb += np.transpose(tmp972, (5, 4, 3, 0, 2, 1)) * -2 + tmp973 = einsum(tmp966, (0, 1, 2, 3, 4, 5, 6, 7), t1.bb, (0, 6), (1, 2, 3, 4, 5, 7)) + del tmp966 + l3new.bbbbbb += np.transpose(tmp973, (5, 4, 3, 0, 2, 1)) * 6 + l3new.bbbbbb += np.transpose(tmp968, (4, 5, 3, 0, 2, 1)) * 2 + l3new.bbbbbb += einsum(l2.bbbb, (0, 1, 2, 3), tmp543, (4, 5), (5, 0, 1, 2, 4, 3)) * -2 + l3new.bbbbbb += np.transpose(tmp960, (4, 5, 3, 1, 0, 2)) * -2 + l3new.bbbbbb += np.transpose(tmp651, (4, 5, 3, 1, 0, 2)) * -6 + l3new.bbbbbb += np.transpose(tmp653, (4, 5, 3, 1, 0, 2)) * 6 + l3new.bbbbbb += np.transpose(tmp713, (4, 5, 3, 1, 0, 2)) * 6 + l3new.bbbbbb += np.transpose(tmp284, (5, 4, 3, 1, 0, 2)) * -2 + l3new.bbbbbb += np.transpose(tmp648, (4, 5, 3, 1, 0, 2)) * 2 + l3new.bbbbbb += np.transpose(tmp961, (4, 5, 3, 1, 0, 2)) * 2 + l3new.bbbbbb += np.transpose(tmp963, (4, 5, 3, 1, 0, 2)) * -2 + l3new.bbbbbb += np.transpose(tmp965, (4, 5, 3, 0, 1, 2)) * -2 + l3new.bbbbbb += np.transpose(tmp973, (4, 5, 3, 0, 1, 2)) * 6 + l3new.bbbbbb += einsum(tmp543, (0, 1), l2.bbbb, (2, 3, 4, 5), (2, 1, 3, 4, 5, 0)) * -2 + l3new.bbbbbb += np.transpose(tmp960, (4, 5, 3, 1, 2, 0)) * 2 + l3new.bbbbbb += np.transpose(tmp651, (4, 5, 3, 1, 2, 0)) * 6 + l3new.bbbbbb += np.transpose(tmp653, (4, 5, 3, 1, 2, 0)) * -6 + l3new.bbbbbb += np.transpose(tmp713, (4, 5, 3, 1, 2, 0)) * -6 + l3new.bbbbbb += np.transpose(tmp284, (5, 4, 3, 1, 2, 0)) * 2 + l3new.bbbbbb += np.transpose(tmp648, (4, 5, 3, 1, 2, 0)) * -2 + l3new.bbbbbb += np.transpose(tmp961, (4, 5, 3, 1, 2, 0)) * -2 + l3new.bbbbbb += np.transpose(tmp970, (4, 5, 3, 1, 2, 0)) * 2 + l3new.bbbbbb += np.transpose(tmp972, (4, 5, 3, 0, 2, 1)) * 2 + tmp974 = np.copy(np.transpose(tmp649, (1, 2, 0, 3, 5, 4, 6, 7))) * -1 + tmp974 += np.transpose(tmp649, (1, 2, 0, 3, 5, 4, 7, 6)) + tmp975 = einsum(tmp974, (0, 1, 2, 3, 4, 5, 6, 7), t1.bb, (0, 6), (1, 2, 3, 4, 5, 7)) + l3new.bbbbbb += np.transpose(tmp975, (4, 5, 3, 0, 2, 1)) * 6 + del tmp975 + l3new.bbbbbb += einsum(l2.bbbb, (0, 1, 2, 3), tmp543, (4, 5), (0, 5, 1, 2, 4, 3)) * 2 + l3new.bbbbbb += np.transpose(tmp960, (5, 4, 3, 2, 1, 0)) * 2 + l3new.bbbbbb += np.transpose(tmp651, (5, 4, 3, 2, 1, 0)) * 6 + l3new.bbbbbb += np.transpose(tmp653, (5, 4, 3, 2, 1, 0)) * -6 + l3new.bbbbbb += np.transpose(tmp713, (5, 4, 3, 2, 1, 0)) * -6 + l3new.bbbbbb += np.transpose(tmp284, (4, 5, 3, 2, 1, 0)) * 2 + l3new.bbbbbb += np.transpose(tmp648, (5, 4, 3, 2, 1, 0)) * -2 + l3new.bbbbbb += np.transpose(tmp961, (5, 4, 3, 2, 1, 0)) * -2 + l3new.bbbbbb += np.transpose(tmp970, (5, 4, 3, 2, 1, 0)) * 2 + l3new.bbbbbb += np.transpose(tmp972, (5, 4, 3, 2, 0, 1)) * 2 + l3new.bbbbbb += np.transpose(tmp967, (5, 4, 3, 2, 0, 1)) * 6 + l3new.bbbbbb += np.transpose(tmp968, (4, 5, 3, 2, 0, 1)) * -2 + del tmp968 + l3new.bbbbbb += einsum(tmp543, (0, 1), l2.bbbb, (2, 3, 4, 5), (1, 2, 3, 0, 4, 5)) * 2 + l3new.bbbbbb += np.transpose(tmp960, (4, 5, 3, 2, 1, 0)) * -2 + l3new.bbbbbb += np.transpose(tmp651, (4, 5, 3, 2, 1, 0)) * -6 + l3new.bbbbbb += np.transpose(tmp653, (4, 5, 3, 2, 1, 0)) * 6 + l3new.bbbbbb += np.transpose(tmp713, (4, 5, 3, 2, 1, 0)) * 6 + l3new.bbbbbb += np.transpose(tmp284, (5, 4, 3, 2, 1, 0)) * -2 + l3new.bbbbbb += np.transpose(tmp648, (4, 5, 3, 2, 1, 0)) * 2 + l3new.bbbbbb += np.transpose(tmp961, (4, 5, 3, 2, 1, 0)) * 2 + l3new.bbbbbb += np.transpose(tmp970, (4, 5, 3, 2, 1, 0)) * -2 + l3new.bbbbbb += np.transpose(tmp972, (4, 5, 3, 2, 0, 1)) * -2 + l3new.bbbbbb += np.transpose(tmp973, (4, 5, 3, 2, 0, 1)) * 6 + del tmp973 + l3new.bbbbbb += einsum(l2.bbbb, (0, 1, 2, 3), tmp543, (4, 5), (0, 5, 1, 4, 2, 3)) * -2 + l3new.bbbbbb += np.transpose(tmp960, (4, 3, 5, 1, 0, 2)) * 2 + l3new.bbbbbb += np.transpose(tmp651, (4, 3, 5, 1, 0, 2)) * 6 + l3new.bbbbbb += np.transpose(tmp653, (4, 3, 5, 1, 0, 2)) * -6 + l3new.bbbbbb += np.transpose(tmp713, (4, 3, 5, 1, 0, 2)) * -6 + l3new.bbbbbb += np.transpose(tmp284, (5, 3, 4, 1, 0, 2)) * 2 + l3new.bbbbbb += np.transpose(tmp648, (4, 3, 5, 1, 0, 2)) * -2 + l3new.bbbbbb += np.transpose(tmp961, (4, 3, 5, 1, 0, 2)) * -2 + l3new.bbbbbb += np.transpose(tmp963, (4, 3, 5, 1, 0, 2)) * 2 + del tmp963 + l3new.bbbbbb += np.transpose(tmp965, (4, 3, 5, 0, 1, 2)) * 2 + del tmp965 + l3new.bbbbbb += np.transpose(tmp967, (4, 3, 5, 0, 1, 2)) * 6 + l3new.bbbbbb += einsum(tmp543, (0, 1), l2.bbbb, (2, 3, 4, 5), (2, 3, 1, 4, 5, 0)) * 2 + l3new.bbbbbb += np.transpose(tmp960, (4, 3, 5, 1, 2, 0)) * -2 + l3new.bbbbbb += np.transpose(tmp651, (4, 3, 5, 1, 2, 0)) * -6 + l3new.bbbbbb += np.transpose(tmp653, (4, 3, 5, 1, 2, 0)) * 6 + l3new.bbbbbb += np.transpose(tmp713, (4, 3, 5, 1, 2, 0)) * 6 + l3new.bbbbbb += np.transpose(tmp284, (5, 3, 4, 1, 2, 0)) * -2 + l3new.bbbbbb += np.transpose(tmp648, (4, 3, 5, 1, 2, 0)) * 2 + l3new.bbbbbb += np.transpose(tmp961, (4, 3, 5, 1, 2, 0)) * 2 + l3new.bbbbbb += np.transpose(tmp970, (4, 3, 5, 1, 2, 0)) * -2 + l3new.bbbbbb += np.transpose(tmp972, (4, 3, 5, 0, 2, 1)) * -2 + tmp976 = einsum(t1.bb, (0, 1), tmp974, (0, 2, 3, 4, 5, 6, 7, 1), (2, 3, 4, 5, 6, 7)) + del tmp974 + l3new.bbbbbb += np.transpose(tmp976, (4, 3, 5, 0, 2, 1)) * 6 + del tmp976 + l3new.bbbbbb += einsum(l2.bbbb, (0, 1, 2, 3), tmp543, (4, 5), (0, 1, 5, 2, 4, 3)) * -2 + l3new.bbbbbb += np.transpose(tmp960, (4, 3, 5, 2, 1, 0)) * 2 + del tmp960 + l3new.bbbbbb += np.transpose(tmp651, (4, 3, 5, 2, 1, 0)) * 6 + l3new.bbbbbb += np.transpose(tmp653, (4, 3, 5, 2, 1, 0)) * -6 + l3new.bbbbbb += np.transpose(tmp713, (4, 3, 5, 2, 1, 0)) * -6 + l3new.bbbbbb += np.transpose(tmp284, (5, 3, 4, 2, 1, 0)) * 2 + l3new.bbbbbb += np.transpose(tmp648, (4, 3, 5, 2, 1, 0)) * -2 + l3new.bbbbbb += np.transpose(tmp961, (4, 3, 5, 2, 1, 0)) * -2 + del tmp961 + l3new.bbbbbb += np.transpose(tmp970, (4, 3, 5, 2, 1, 0)) * 2 + del tmp970 + l3new.bbbbbb += np.transpose(tmp972, (4, 3, 5, 2, 0, 1)) * 2 + del tmp972 + l3new.bbbbbb += np.transpose(tmp967, (4, 3, 5, 2, 0, 1)) * 6 + del tmp967 + l3new.bbbbbb += einsum(l2.bbbb, (0, 1, 2, 3), tmp543, (4, 5), (0, 1, 5, 4, 2, 3)) * 2 + tmp712 = einsum(v.bbbb.vvvv, (0, 1, 2, 3), l3.bbbbbb, (4, 1, 3, 5, 6, 7), (5, 6, 7, 4, 0, 2)) + l3new.bbbbbb += np.transpose(tmp712, (5, 4, 3, 1, 2, 0)) * -6 + tmp714 = einsum(t1.bb, (0, 1), tmp649, (2, 3, 4, 0, 5, 1, 6, 7), (2, 3, 4, 5, 6, 7)) + l3new.bbbbbb += np.transpose(tmp714, (4, 5, 3, 1, 2, 0)) * -6 + tmp701 = einsum(t2.bbbb, (0, 1, 2, 3), l3.bbbbbb, (4, 2, 3, 5, 6, 7), (5, 6, 7, 0, 1, 4)) + tmp717 = np.copy(np.transpose(tmp701, (1, 2, 0, 4, 3, 5))) * -1 + tmp716 = einsum(tmp652, (0, 1, 2, 3, 4, 5), t1.bb, (6, 5), (0, 1, 2, 3, 6, 4)) * -1 + tmp717 += np.transpose(tmp716, (1, 2, 0, 4, 3, 5)) * -1 + del tmp716 + tmp977 = einsum(tmp717, (0, 1, 2, 3, 4, 5), v.bbbb.ovov, (3, 6, 4, 7), (0, 1, 2, 6, 7, 5)) * 0.5 + l3new.bbbbbb += np.transpose(tmp977, (4, 3, 5, 1, 2, 0)) * -12 + tmp362 = np.copy(f.bb.vv) * -1 + tmp358 = einsum(v.aabb.ovvv, (0, 1, 2, 3), t1.aa, (0, 1), (2, 3)) + tmp362 += np.transpose(tmp358, (1, 0)) * -1 + tmp359 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 1, 4), (3, 4)) + tmp362 += tmp359 + tmp360 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (0, 4, 1, 3), (2, 4)) + tmp362 += tmp360 * 2 + tmp267 = np.copy(v.bbbb.ovvv) * -1 + tmp267 += np.transpose(v.bbbb.ovvv, (0, 2, 1, 3)) + tmp361 = einsum(tmp267, (0, 1, 2, 3), t1.bb, (0, 2), (1, 3)) + tmp362 += np.transpose(tmp361, (1, 0)) * -1 + tmp978 = einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), tmp362, (2, 6), (3, 4, 5, 0, 1, 6)) * -1 + l3new.bbbbbb += np.transpose(tmp978, (5, 4, 3, 1, 2, 0)) * -6 + tmp979 = einsum(tmp319, (0, 1), tmp652, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) + l3new.bbbbbb += np.transpose(tmp979, (3, 5, 4, 1, 2, 0)) * 3 + tmp836 = np.copy(f.bb.ov) + tmp836 += tmp317 + tmp834 = np.copy(np.transpose(v.bbbb.ovov, (0, 2, 3, 1))) + tmp834 += np.transpose(v.bbbb.ovov, (0, 2, 1, 3)) * -1 + tmp835 = einsum(tmp834, (0, 1, 2, 3), t1.bb, (0, 2), (1, 3)) + del tmp834 + tmp836 += tmp835 * -1 + del tmp835 + tmp980 = einsum(tmp652, (0, 1, 2, 3, 4, 5), tmp836, (3, 6), (0, 1, 2, 4, 5, 6)) + l3new.bbbbbb += np.transpose(tmp980, (5, 4, 3, 1, 2, 0)) * 3 + l3new.bbbbbb += np.transpose(tmp714, (5, 4, 3, 1, 2, 0)) * 6 + l3new.bbbbbb += np.transpose(tmp978, (4, 5, 3, 1, 2, 0)) * 6 + del tmp978 + l3new.bbbbbb += np.transpose(tmp980, (4, 5, 3, 1, 2, 0)) * -6 + l3new.bbbbbb += np.transpose(tmp712, (5, 3, 4, 1, 2, 0)) * 6 + l3new.bbbbbb += np.transpose(tmp714, (5, 3, 4, 1, 2, 0)) * -6 + l3new.bbbbbb += np.transpose(tmp977, (4, 5, 3, 1, 2, 0)) * 12 + tmp729 = np.copy(f.bb.vv) * -1 + tmp729 += np.transpose(tmp358, (1, 0)) * -1 + tmp729 += np.transpose(tmp359, (1, 0)) + tmp729 += np.transpose(tmp360, (1, 0)) * 2 + tmp729 += tmp361 * -1 + del tmp361 + tmp981 = einsum(tmp729, (0, 1), l3.bbbbbb, (2, 3, 1, 4, 5, 6), (4, 5, 6, 2, 3, 0)) * -1 + l3new.bbbbbb += np.transpose(tmp981, (4, 3, 5, 1, 2, 0)) * -6 + del tmp981 + l3new.bbbbbb += np.transpose(tmp979, (5, 4, 3, 1, 2, 0)) * 3 + del tmp979 + l3new.bbbbbb += np.transpose(tmp980, (4, 3, 5, 1, 2, 0)) * 3 + del tmp980 + l3new.bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (3, 5, 0, 1, 2, 4)) + tmp248 = einsum(t2.abab, (0, 1, 2, 3), l3.babbab, (4, 2, 5, 6, 0, 1), (6, 4, 5, 3)) + tmp285 = np.copy(np.transpose(tmp248, (0, 2, 1, 3))) * -0.3333333333333333 + tmp232 = einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), t2.bbbb, (4, 5, 6, 2), (3, 0, 1, 6)) + tmp285 += np.transpose(tmp232, (0, 2, 1, 3)) * -1 + tmp982 = einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp285, (4, 5, 6, 1), (0, 2, 4, 3, 5, 6)) * 6 + l3new.bbbbbb += np.transpose(tmp982, (3, 5, 4, 2, 1, 0)) * -1 + tmp357 = np.copy(v.bbbb.ooov) + tmp357 += np.transpose(tmp227, (0, 2, 1, 3)) + tmp983 = einsum(tmp357, (0, 1, 2, 3), l2.bbbb, (4, 5, 6, 0), (6, 1, 2, 4, 5, 3)) * -2 + l3new.bbbbbb += np.transpose(tmp983, (5, 4, 3, 0, 2, 1)) + l3new.bbbbbb += einsum(v.bbbb.ovov, (0, 1, 2, 3), l1.bb, (4, 5), (3, 1, 4, 5, 0, 2)) * -1 + l3new.bbbbbb += np.transpose(tmp982, (5, 3, 4, 2, 1, 0)) + tmp638 = np.copy(np.transpose(v.bbbb.ooov, (0, 2, 1, 3))) + tmp638 += tmp227 + tmp984 = einsum(tmp638, (0, 1, 2, 3), l2.bbbb, (4, 5, 6, 0), (6, 1, 2, 4, 5, 3)) * -1 + l3new.bbbbbb += np.transpose(tmp984, (4, 5, 3, 0, 1, 2)) * -2 + l3new.bbbbbb += einsum(v.bbbb.ovov, (0, 1, 2, 3), l1.bb, (4, 5), (1, 3, 4, 0, 5, 2)) * -1 + l3new.bbbbbb += np.transpose(tmp982, (3, 5, 4, 1, 2, 0)) + tmp742 = np.copy(v.bbbb.ooov) + tmp742 += np.transpose(tmp227, (0, 2, 1, 3)) + tmp985 = einsum(tmp742, (0, 1, 2, 3), l2.bbbb, (4, 5, 6, 0), (6, 1, 2, 4, 5, 3)) * -1 + l3new.bbbbbb += np.transpose(tmp985, (5, 4, 3, 2, 0, 1)) * -2 + l3new.bbbbbb += einsum(v.bbbb.ovov, (0, 1, 2, 3), l1.bb, (4, 5), (3, 1, 4, 0, 5, 2)) + l3new.bbbbbb += np.transpose(tmp982, (5, 3, 4, 1, 2, 0)) * -1 + l3new.bbbbbb += np.transpose(tmp984, (4, 5, 3, 1, 0, 2)) * 2 + l3new.bbbbbb += einsum(v.bbbb.ovov, (0, 1, 2, 3), l1.bb, (4, 5), (1, 4, 3, 5, 0, 2)) * -1 + l3new.bbbbbb += einsum(v.bbbb.ovov, (0, 1, 2, 3), l1.bb, (4, 5), (3, 4, 1, 5, 0, 2)) + l3new.bbbbbb += np.transpose(tmp982, (5, 4, 3, 2, 1, 0)) * -1 + l3new.bbbbbb += np.transpose(tmp983, (4, 3, 5, 0, 2, 1)) + l3new.bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (3, 0, 5, 2, 1, 4)) + l3new.bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (5, 0, 3, 2, 1, 4)) * -1 + l3new.bbbbbb += np.transpose(tmp982, (5, 4, 3, 1, 2, 0)) + del tmp982 + l3new.bbbbbb += np.transpose(tmp985, (4, 3, 5, 2, 0, 1)) * -2 + l3new.bbbbbb += einsum(v.bbbb.ovov, (0, 1, 2, 3), l1.bb, (4, 5), (1, 3, 4, 0, 2, 5)) + tmp257 = np.copy(np.transpose(tmp248, (0, 2, 1, 3))) * -1 + tmp257 += np.transpose(tmp232, (0, 2, 1, 3)) * -3 + tmp986 = einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp257, (4, 5, 6, 1), (0, 2, 4, 3, 5, 6)) * 2 + l3new.bbbbbb += np.transpose(tmp986, (3, 5, 4, 1, 0, 2)) * -1 + l3new.bbbbbb += np.transpose(tmp983, (5, 4, 3, 2, 1, 0)) + l3new.bbbbbb += einsum(v.bbbb.ovov, (0, 1, 2, 3), l1.bb, (4, 5), (3, 1, 4, 0, 2, 5)) * -1 + l3new.bbbbbb += np.transpose(tmp986, (5, 3, 4, 1, 0, 2)) + l3new.bbbbbb += np.transpose(tmp984, (4, 5, 3, 1, 2, 0)) * -2 + l3new.bbbbbb += einsum(v.bbbb.ovov, (0, 1, 2, 3), l1.bb, (4, 5), (1, 4, 3, 0, 2, 5)) * -1 + l3new.bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (5, 0, 3, 2, 4, 1)) + l3new.bbbbbb += np.transpose(tmp986, (5, 4, 3, 1, 0, 2)) * -1 + del tmp986 + l3new.bbbbbb += np.transpose(tmp983, (4, 3, 5, 2, 1, 0)) + del tmp983 + l3new.bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (0, 3, 5, 1, 2, 4)) + l3new.bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (0, 5, 3, 1, 2, 4)) * -1 + l3new.bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (0, 3, 5, 2, 1, 4)) * -1 + l3new.bbbbbb += einsum(v.bbbb.ovov, (0, 1, 2, 3), l1.bb, (4, 5), (4, 3, 1, 0, 5, 2)) + l3new.bbbbbb += einsum(v.bbbb.ovov, (0, 1, 2, 3), l1.bb, (4, 5), (4, 1, 3, 0, 2, 5)) + l3new.bbbbbb += einsum(v.bbbb.ovov, (0, 1, 2, 3), l1.bb, (4, 5), (4, 3, 1, 0, 2, 5)) * -1 + tmp987 = np.copy(v.bbbb.oooo) + tmp263 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 2, 5, 3), (0, 1, 4, 5)) + tmp987 += np.transpose(tmp263, (1, 3, 2, 0)) + tmp739 = einsum(tmp227, (0, 1, 2, 3), t1.bb, (4, 3), (0, 4, 2, 1)) + tmp987 += np.transpose(tmp739, (1, 3, 2, 0)) + tmp272 = einsum(v.bbbb.ooov, (0, 1, 2, 3), t1.bb, (4, 3), (4, 0, 1, 2)) + tmp987 += np.transpose(tmp272, (2, 1, 3, 0)) + tmp987 += np.transpose(tmp272, (2, 3, 1, 0)) * -1 + tmp988 = einsum(tmp987, (0, 1, 2, 3), l3.bbbbbb, (4, 5, 6, 7, 0, 3), (7, 1, 2, 4, 5, 6)) * -6 + del tmp987 + l3new.bbbbbb += np.transpose(tmp988, (4, 5, 3, 0, 2, 1)) + tmp989 = einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp285, (4, 5, 6, 3), (0, 2, 4, 1, 5, 6)) * 6 + l3new.bbbbbb += np.transpose(tmp989, (3, 5, 4, 2, 1, 0)) + l3new.bbbbbb += np.transpose(tmp985, (5, 4, 3, 0, 1, 2)) * -2 + l3new.bbbbbb += np.transpose(tmp988, (4, 5, 3, 2, 0, 1)) * -1 + l3new.bbbbbb += np.transpose(tmp989, (3, 5, 4, 1, 2, 0)) * -1 + l3new.bbbbbb += np.transpose(tmp985, (5, 4, 3, 1, 0, 2)) * 2 + l3new.bbbbbb += np.transpose(tmp989, (5, 3, 4, 2, 1, 0)) * -1 + l3new.bbbbbb += np.transpose(tmp984, (4, 5, 3, 0, 2, 1)) * 2 + l3new.bbbbbb += np.transpose(tmp989, (5, 3, 4, 1, 2, 0)) + l3new.bbbbbb += np.transpose(tmp984, (4, 5, 3, 2, 0, 1)) * -2 + l3new.bbbbbb += np.transpose(tmp988, (4, 5, 3, 2, 1, 0)) + del tmp988 + tmp990 = einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp257, (4, 5, 6, 3), (0, 2, 4, 1, 5, 6)) * 2 + l3new.bbbbbb += np.transpose(tmp990, (3, 5, 4, 1, 0, 2)) + l3new.bbbbbb += np.transpose(tmp985, (5, 4, 3, 1, 2, 0)) * -2 + l3new.bbbbbb += np.transpose(tmp990, (5, 3, 4, 1, 0, 2)) * -1 + l3new.bbbbbb += np.transpose(tmp984, (4, 5, 3, 2, 1, 0)) * 2 + del tmp984 + l3new.bbbbbb += np.transpose(tmp989, (5, 4, 3, 2, 1, 0)) + l3new.bbbbbb += np.transpose(tmp985, (4, 3, 5, 0, 1, 2)) * -2 + l3new.bbbbbb += np.transpose(tmp989, (5, 4, 3, 1, 2, 0)) * -1 + del tmp989 + l3new.bbbbbb += np.transpose(tmp985, (4, 3, 5, 1, 0, 2)) * 2 + l3new.bbbbbb += np.transpose(tmp990, (5, 4, 3, 1, 0, 2)) + del tmp990 + l3new.bbbbbb += np.transpose(tmp985, (4, 3, 5, 1, 2, 0)) * -2 + del tmp985 + l3new.bbbbbb += np.transpose(tmp284, (4, 3, 5, 1, 0, 2)) * -2 + l3new.bbbbbb += np.transpose(tmp284, (4, 3, 5, 1, 2, 0)) * 2 + l3new.bbbbbb += np.transpose(tmp284, (4, 3, 5, 2, 1, 0)) * -2 + l3new.bbbbbb += np.transpose(tmp284, (3, 4, 5, 1, 0, 2)) * 2 + l3new.bbbbbb += np.transpose(tmp284, (3, 5, 4, 1, 0, 2)) * -2 + l3new.bbbbbb += np.transpose(tmp284, (3, 4, 5, 1, 2, 0)) * -2 + l3new.bbbbbb += np.transpose(tmp284, (3, 5, 4, 1, 2, 0)) * 2 + l3new.bbbbbb += np.transpose(tmp284, (3, 4, 5, 2, 1, 0)) * 2 + l3new.bbbbbb += np.transpose(tmp284, (3, 5, 4, 2, 1, 0)) * -2 + l3new.bbbbbb += np.transpose(tmp714, (4, 3, 5, 1, 2, 0)) * 6 + l3new.bbbbbb += np.transpose(tmp712, (3, 5, 4, 1, 2, 0)) * -6 + l3new.bbbbbb += np.transpose(tmp714, (3, 4, 5, 1, 2, 0)) * -6 + l3new.bbbbbb += np.transpose(tmp977, (5, 4, 3, 1, 2, 0)) * -12 + del tmp977 + l3new.bbbbbb += np.transpose(tmp714, (3, 5, 4, 1, 2, 0)) * 6 + tmp635 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t1.bb, (2, 1), (0, 3)) + l3new.bbbbbb += einsum(tmp635, (0, 1), l2.bbbb, (2, 3, 4, 5), (1, 2, 3, 4, 5, 0)) * -2 + tmp991 = einsum(v.bbbb.ooov, (0, 1, 2, 3), tmp652, (4, 1, 5, 2, 6, 7), (4, 5, 0, 6, 7, 3)) * -1 + l3new.bbbbbb += np.transpose(tmp991, (5, 4, 3, 1, 0, 2)) * 6 + tmp327 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 5, 1), (4, 0, 5, 3)) + tmp992 = einsum(tmp327, (0, 1, 2, 3), l3.babbab, (4, 2, 5, 6, 0, 7), (6, 7, 1, 4, 5, 3)) + l3new.bbbbbb += np.transpose(tmp992, (5, 4, 3, 1, 0, 2)) * -2 + tmp328 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (4, 2, 5, 1), (4, 0, 5, 3)) + tmp993 = einsum(tmp328, (0, 1, 2, 3), l3.bbbbbb, (4, 5, 2, 6, 7, 0), (6, 7, 1, 4, 5, 3)) + l3new.bbbbbb += np.transpose(tmp993, (5, 4, 3, 1, 0, 2)) * -12 + tmp994 = einsum(tmp227, (0, 1, 2, 3), tmp652, (4, 0, 5, 1, 6, 7), (4, 5, 2, 6, 7, 3)) * -1 + l3new.bbbbbb += np.transpose(tmp994, (5, 4, 3, 1, 0, 2)) * 6 + tmp292 = einsum(t1.bb, (0, 1), l2.bbbb, (2, 1, 3, 4), (3, 4, 0, 2)) + tmp293 = np.copy(np.transpose(tmp292, (1, 0, 2, 3))) * -1 + tmp128 = einsum(t2.abab, (0, 1, 2, 3), l3.babbab, (4, 2, 3, 5, 0, 6), (5, 6, 1, 4)) + tmp293 += np.transpose(tmp128, (1, 0, 2, 3)) * -1 + tmp129 = einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), t2.bbbb, (6, 5, 1, 2), (3, 4, 6, 0)) + tmp293 += np.transpose(tmp129, (1, 0, 2, 3)) * -3 + tmp995 = einsum(tmp293, (0, 1, 2, 3), v.bbbb.ovov, (4, 5, 2, 6), (4, 0, 1, 6, 5, 3)) + l3new.bbbbbb += np.transpose(tmp995, (3, 4, 5, 2, 1, 0)) * 2 + l3new.bbbbbb += einsum(l2.bbbb, (0, 1, 2, 3), tmp635, (4, 5), (0, 5, 1, 2, 3, 4)) * 2 + l3new.bbbbbb += np.transpose(tmp991, (4, 5, 3, 1, 0, 2)) * -6 + l3new.bbbbbb += np.transpose(tmp992, (4, 5, 3, 1, 0, 2)) * 2 + l3new.bbbbbb += np.transpose(tmp993, (4, 5, 3, 1, 0, 2)) * 12 + l3new.bbbbbb += np.transpose(tmp994, (4, 5, 3, 1, 0, 2)) * -6 + l3new.bbbbbb += np.transpose(tmp995, (4, 3, 5, 2, 1, 0)) * -2 + l3new.bbbbbb += einsum(tmp635, (0, 1), l2.bbbb, (2, 3, 4, 5), (1, 2, 3, 4, 0, 5)) * 2 + l3new.bbbbbb += np.transpose(tmp991, (5, 4, 3, 1, 2, 0)) * -6 + l3new.bbbbbb += np.transpose(tmp992, (5, 4, 3, 1, 2, 0)) * 2 + l3new.bbbbbb += np.transpose(tmp993, (5, 4, 3, 1, 2, 0)) * 12 + l3new.bbbbbb += np.transpose(tmp994, (5, 4, 3, 1, 2, 0)) * -6 + l3new.bbbbbb += np.transpose(tmp995, (3, 4, 5, 2, 0, 1)) * -2 + l3new.bbbbbb += einsum(l2.bbbb, (0, 1, 2, 3), tmp635, (4, 5), (0, 5, 1, 2, 4, 3)) * -2 + l3new.bbbbbb += np.transpose(tmp991, (4, 5, 3, 1, 2, 0)) * 6 + l3new.bbbbbb += np.transpose(tmp992, (4, 5, 3, 1, 2, 0)) * -2 + l3new.bbbbbb += np.transpose(tmp993, (4, 5, 3, 1, 2, 0)) * -12 + l3new.bbbbbb += np.transpose(tmp994, (4, 5, 3, 1, 2, 0)) * 6 + l3new.bbbbbb += np.transpose(tmp995, (4, 3, 5, 2, 0, 1)) * 2 + l3new.bbbbbb += np.transpose(tmp995, (3, 5, 4, 2, 1, 0)) * -2 + l3new.bbbbbb += einsum(l2.bbbb, (0, 1, 2, 3), tmp635, (4, 5), (0, 1, 5, 2, 3, 4)) * -2 + l3new.bbbbbb += np.transpose(tmp991, (4, 3, 5, 1, 0, 2)) * 6 + l3new.bbbbbb += np.transpose(tmp992, (4, 3, 5, 1, 0, 2)) * -2 + l3new.bbbbbb += np.transpose(tmp993, (4, 3, 5, 1, 0, 2)) * -12 + l3new.bbbbbb += np.transpose(tmp994, (4, 3, 5, 1, 0, 2)) * 6 + l3new.bbbbbb += np.transpose(tmp995, (4, 5, 3, 2, 1, 0)) * 2 + l3new.bbbbbb += np.transpose(tmp995, (3, 5, 4, 2, 0, 1)) * 2 + l3new.bbbbbb += einsum(l2.bbbb, (0, 1, 2, 3), tmp635, (4, 5), (0, 1, 5, 2, 4, 3)) * 2 + l3new.bbbbbb += np.transpose(tmp991, (4, 3, 5, 1, 2, 0)) * -6 + l3new.bbbbbb += np.transpose(tmp992, (4, 3, 5, 1, 2, 0)) * 2 + l3new.bbbbbb += np.transpose(tmp993, (4, 3, 5, 1, 2, 0)) * 12 + l3new.bbbbbb += np.transpose(tmp994, (4, 3, 5, 1, 2, 0)) * -6 + l3new.bbbbbb += np.transpose(tmp995, (4, 5, 3, 2, 0, 1)) * -2 + l3new.bbbbbb += einsum(tmp635, (0, 1), l2.bbbb, (2, 3, 4, 5), (1, 2, 3, 0, 4, 5)) * -2 + l3new.bbbbbb += np.transpose(tmp991, (5, 4, 3, 2, 1, 0)) * 6 + l3new.bbbbbb += np.transpose(tmp992, (5, 4, 3, 2, 1, 0)) * -2 + l3new.bbbbbb += np.transpose(tmp993, (5, 4, 3, 2, 1, 0)) * -12 + l3new.bbbbbb += np.transpose(tmp994, (5, 4, 3, 2, 1, 0)) * 6 + l3new.bbbbbb += np.transpose(tmp995, (3, 4, 5, 0, 2, 1)) * 2 + l3new.bbbbbb += einsum(tmp635, (0, 1), l2.bbbb, (2, 3, 4, 5), (2, 1, 3, 0, 4, 5)) * 2 + l3new.bbbbbb += np.transpose(tmp991, (4, 5, 3, 2, 1, 0)) * -6 + l3new.bbbbbb += np.transpose(tmp992, (4, 5, 3, 2, 1, 0)) * 2 + l3new.bbbbbb += np.transpose(tmp993, (4, 5, 3, 2, 1, 0)) * 12 + l3new.bbbbbb += np.transpose(tmp994, (4, 5, 3, 2, 1, 0)) * -6 + l3new.bbbbbb += np.transpose(tmp995, (4, 3, 5, 0, 2, 1)) * -2 + l3new.bbbbbb += np.transpose(tmp995, (3, 5, 4, 0, 2, 1)) * -2 + l3new.bbbbbb += einsum(l2.bbbb, (0, 1, 2, 3), tmp635, (4, 5), (0, 1, 5, 4, 2, 3)) * -2 + l3new.bbbbbb += np.transpose(tmp991, (4, 3, 5, 2, 1, 0)) * 6 + del tmp991 + l3new.bbbbbb += np.transpose(tmp992, (4, 3, 5, 2, 1, 0)) * -2 + del tmp992 + l3new.bbbbbb += np.transpose(tmp993, (4, 3, 5, 2, 1, 0)) * -12 + del tmp993 + l3new.bbbbbb += np.transpose(tmp994, (4, 3, 5, 2, 1, 0)) * 6 + del tmp994 + l3new.bbbbbb += np.transpose(tmp995, (4, 5, 3, 0, 2, 1)) * 2 + l3new.bbbbbb += np.transpose(tmp995, (5, 3, 4, 2, 1, 0)) * 2 + l3new.bbbbbb += np.transpose(tmp995, (5, 4, 3, 2, 1, 0)) * -2 + l3new.bbbbbb += np.transpose(tmp995, (5, 3, 4, 2, 0, 1)) * -2 + l3new.bbbbbb += np.transpose(tmp995, (5, 4, 3, 2, 0, 1)) * 2 + l3new.bbbbbb += np.transpose(tmp995, (5, 3, 4, 0, 2, 1)) * 2 + l3new.bbbbbb += np.transpose(tmp995, (5, 4, 3, 0, 2, 1)) * -2 + del tmp995 + tmp381 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t1.bb, (6, 1), (3, 5, 4, 6, 0, 2)) + tmp382 = einsum(tmp381, (0, 1, 2, 3, 4, 5), v.aabb.ovoo, (6, 7, 3, 2), (0, 1, 6, 4, 5, 7)) + l3new.aaaaaa = np.copy(np.transpose(tmp382, (5, 4, 3, 1, 0, 2))) * -2 + tmp148 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.abab, (2, 4, 3, 5), (0, 4, 1, 5)) + tmp755 = einsum(tmp148, (0, 1, 2, 3), l3.abaaba, (4, 3, 5, 6, 1, 7), (6, 7, 0, 4, 5, 2)) + l3new.aaaaaa += np.transpose(tmp755, (5, 4, 3, 1, 0, 2)) * 2 + tmp68 = einsum(l2.aaaa, (0, 1, 2, 3), v.aaaa.ovvv, (4, 5, 6, 1), (2, 3, 4, 0, 5, 6)) + l3new.aaaaaa += np.transpose(tmp68, (4, 5, 3, 1, 0, 2)) * 2 + tmp383 = einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), t1.aa, (6, 2), (3, 4, 5, 6, 0, 1)) + tmp460 = einsum(v.aaaa.ovoo, (0, 1, 2, 3), tmp383, (4, 3, 5, 2, 6, 7), (4, 5, 0, 6, 7, 1)) * -1 + l3new.aaaaaa += np.transpose(tmp460, (5, 4, 3, 1, 0, 2)) * -6 + tmp140 = einsum(v.aabb.ovov, (0, 1, 2, 3), t1.bb, (4, 3), (0, 4, 2, 1)) + tmp756 = einsum(tmp140, (0, 1, 2, 3), tmp381, (4, 5, 1, 2, 6, 7), (4, 5, 0, 6, 7, 3)) + l3new.aaaaaa += np.transpose(tmp756, (5, 4, 3, 1, 0, 2)) * -2 + tmp374 = einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), t2.aaaa, (6, 5, 7, 2), (3, 4, 6, 0, 1, 7)) + tmp757 = einsum(tmp374, (0, 1, 2, 3, 4, 5), v.aaaa.ovov, (6, 7, 2, 5), (0, 1, 6, 3, 4, 7)) + l3new.aaaaaa += np.transpose(tmp757, (5, 4, 3, 1, 0, 2)) * 12 + tmp77 = einsum(t1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) + tmp384 = einsum(tmp77, (0, 1, 2, 3), tmp383, (4, 5, 0, 2, 6, 7), (4, 5, 1, 6, 7, 3)) + l3new.aaaaaa += np.transpose(tmp384, (5, 4, 3, 1, 0, 2)) * -6 + tmp397 = einsum(v.aabb.ovvv, (0, 1, 2, 3), l3.abaaba, (4, 3, 5, 6, 7, 8), (6, 8, 0, 7, 4, 5, 1, 2)) + tmp758 = einsum(tmp397, (0, 1, 2, 3, 4, 5, 6, 7), t1.bb, (3, 7), (0, 1, 2, 4, 5, 6)) + l3new.aaaaaa += np.transpose(tmp758, (5, 4, 3, 1, 0, 2)) * 2 + tmp759 = np.copy(np.transpose(l3.abaaba, (3, 5, 4, 0, 2, 1))) + tmp375 = einsum(t2.abab, (0, 1, 2, 3), l3.aaaaaa, (4, 5, 2, 6, 7, 0), (6, 7, 1, 4, 5, 3)) + tmp759 += np.transpose(tmp375, (1, 0, 2, 4, 3, 5)) * 3 + tmp376 = einsum(t2.bbbb, (0, 1, 2, 3), l3.abaaba, (4, 3, 5, 6, 1, 7), (6, 7, 0, 4, 5, 2)) + tmp759 += np.transpose(tmp376, (1, 0, 2, 4, 3, 5)) * 2 + tmp760 = einsum(v.aabb.ovov, (0, 1, 2, 3), tmp759, (4, 5, 2, 6, 7, 3), (0, 4, 5, 1, 6, 7)) + del tmp759 + l3new.aaaaaa += np.transpose(tmp760, (3, 5, 4, 2, 1, 0)) * 2 + tmp761 = np.copy(np.transpose(v.aaaa.ovov, (0, 2, 1, 3))) + tmp761 += v.aaaa.oovv * -1 + tmp762 = einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), tmp761, (5, 6, 2, 7), (3, 4, 6, 0, 1, 7)) * -1 + l3new.aaaaaa += np.transpose(tmp762, (5, 4, 3, 0, 1, 2)) * 6 + tmp379 = einsum(v.aaaa.ovvv, (0, 1, 2, 3), l3.aaaaaa, (4, 5, 3, 6, 7, 8), (6, 7, 8, 0, 4, 5, 1, 2)) + tmp763 = np.copy(np.transpose(tmp379, (1, 2, 0, 3, 5, 4, 6, 7))) + tmp763 += np.transpose(tmp379, (1, 2, 0, 3, 5, 4, 7, 6)) * -1 + tmp764 = einsum(t1.aa, (0, 1), tmp763, (0, 2, 3, 4, 5, 6, 7, 1), (2, 3, 4, 5, 6, 7)) + l3new.aaaaaa += np.transpose(tmp764, (5, 4, 3, 0, 1, 2)) * 6 + tmp166 = np.copy(f.aa.oo) + tmp161 = einsum(v.aabb.ooov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1)) + tmp166 += np.transpose(tmp161, (1, 0)) + tmp162 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.aaaa, (4, 2, 1, 3), (4, 0)) + tmp166 += tmp162 * 2 + tmp163 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 1, 3), (0, 4)) + tmp166 += tmp163 + tmp31 = np.copy(v.aaaa.ooov) + tmp31 += np.transpose(v.aaaa.ovoo, (0, 2, 3, 1)) * -1 + tmp164 = einsum(t1.aa, (0, 1), tmp31, (0, 2, 3, 1), (2, 3)) + tmp166 += tmp164 * -1 + del tmp164 + tmp160 = np.copy(f.aa.ov) + tmp158 = einsum(v.aabb.ovov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1)) + tmp160 += tmp158 + tmp60 = np.copy(np.transpose(v.aaaa.ovov, (0, 2, 3, 1))) * -1 + tmp60 += np.transpose(v.aaaa.ovov, (0, 2, 1, 3)) + tmp159 = einsum(tmp60, (0, 1, 2, 3), t1.aa, (0, 3), (1, 2)) + tmp160 += tmp159 * -1 + del tmp159 + tmp165 = einsum(tmp160, (0, 1), t1.aa, (2, 1), (2, 0)) + tmp166 += tmp165 + tmp765 = einsum(tmp166, (0, 1), l3.aaaaaa, (2, 3, 4, 5, 6, 0), (5, 6, 1, 2, 3, 4)) * 3 + l3new.aaaaaa += np.transpose(tmp765, (4, 5, 3, 0, 1, 2)) * -2 + del tmp765 + tmp433 = np.copy(f.aa.ov) + tmp419 = einsum(t1.aa, (0, 1), v.aaaa.ovov, (2, 3, 0, 1), (2, 3)) + tmp433 += tmp419 + tmp433 += tmp158 + l3new.aaaaaa += einsum(l2.aaaa, (0, 1, 2, 3), tmp433, (4, 5), (5, 0, 1, 2, 3, 4)) * 2 + l3new.aaaaaa += np.transpose(tmp382, (5, 4, 3, 1, 2, 0)) * 2 + l3new.aaaaaa += np.transpose(tmp755, (5, 4, 3, 1, 2, 0)) * -2 + l3new.aaaaaa += np.transpose(tmp68, (4, 5, 3, 1, 2, 0)) * -2 + l3new.aaaaaa += np.transpose(tmp460, (5, 4, 3, 1, 2, 0)) * 6 + l3new.aaaaaa += np.transpose(tmp756, (5, 4, 3, 1, 2, 0)) * 2 + l3new.aaaaaa += np.transpose(tmp757, (5, 4, 3, 1, 2, 0)) * -12 + l3new.aaaaaa += np.transpose(tmp384, (5, 4, 3, 1, 2, 0)) * 6 + l3new.aaaaaa += np.transpose(tmp758, (5, 4, 3, 1, 2, 0)) * -2 + tmp766 = np.copy(np.transpose(l3.abaaba, (3, 5, 4, 0, 2, 1))) * 0.33333333333333 + tmp766 += np.transpose(tmp375, (1, 0, 2, 4, 3, 5)) + tmp766 += np.transpose(tmp376, (1, 0, 2, 4, 3, 5)) * 0.6666666666666666 + tmp767 = einsum(v.aabb.ovov, (0, 1, 2, 3), tmp766, (4, 5, 2, 6, 7, 3), (0, 4, 5, 1, 6, 7)) * 3 + del tmp766 + l3new.aaaaaa += np.transpose(tmp767, (3, 5, 4, 2, 0, 1)) * -2 + l3new.aaaaaa += np.transpose(tmp762, (5, 4, 3, 0, 2, 1)) * -6 + tmp768 = np.copy(np.transpose(tmp379, (1, 2, 0, 3, 5, 4, 6, 7))) * -1 + tmp768 += np.transpose(tmp379, (1, 2, 0, 3, 5, 4, 7, 6)) + tmp769 = einsum(t1.aa, (0, 1), tmp768, (0, 2, 3, 4, 5, 6, 7, 1), (2, 3, 4, 5, 6, 7)) + l3new.aaaaaa += np.transpose(tmp769, (5, 4, 3, 0, 2, 1)) * 6 + tmp772 = np.copy(f.aa.oo) * 0.5 + tmp772 += np.transpose(tmp161, (1, 0)) * 0.5 + tmp772 += tmp162 + tmp772 += tmp163 * 0.5 + tmp770 = einsum(t1.aa, (0, 1), tmp31, (0, 2, 3, 1), (2, 3)) * 0.5 + tmp772 += tmp770 * -1 + tmp771 = einsum(tmp160, (0, 1), t1.aa, (2, 1), (2, 0)) * 0.5 + tmp772 += tmp771 + tmp773 = einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), tmp772, (5, 6), (3, 4, 6, 0, 1, 2)) * 6 + del tmp772 + l3new.aaaaaa += np.transpose(tmp773, (4, 5, 3, 0, 2, 1)) * 2 + l3new.aaaaaa += einsum(tmp433, (0, 1), l2.aaaa, (2, 3, 4, 5), (1, 2, 3, 4, 0, 5)) * -2 + l3new.aaaaaa += np.transpose(tmp382, (4, 5, 3, 1, 0, 2)) * 2 + l3new.aaaaaa += np.transpose(tmp755, (4, 5, 3, 1, 0, 2)) * -2 + l3new.aaaaaa += np.transpose(tmp460, (4, 5, 3, 1, 0, 2)) * 6 + l3new.aaaaaa += np.transpose(tmp68, (5, 4, 3, 1, 0, 2)) * -2 + l3new.aaaaaa += np.transpose(tmp756, (4, 5, 3, 1, 0, 2)) * 2 + l3new.aaaaaa += np.transpose(tmp757, (4, 5, 3, 1, 0, 2)) * -12 + l3new.aaaaaa += np.transpose(tmp384, (4, 5, 3, 1, 0, 2)) * 6 + l3new.aaaaaa += np.transpose(tmp758, (4, 5, 3, 1, 0, 2)) * -2 + l3new.aaaaaa += np.transpose(tmp760, (5, 3, 4, 2, 1, 0)) * -2 + l3new.aaaaaa += np.transpose(tmp762, (4, 5, 3, 0, 1, 2)) * -6 + tmp774 = einsum(t1.aa, (0, 1), tmp763, (0, 2, 3, 4, 5, 6, 1, 7), (2, 3, 4, 5, 6, 7)) + del tmp763 + l3new.aaaaaa += np.transpose(tmp774, (4, 5, 3, 0, 1, 2)) * 6 + l3new.aaaaaa += einsum(l2.aaaa, (0, 1, 2, 3), tmp433, (4, 5), (0, 5, 1, 2, 3, 4)) * -2 + l3new.aaaaaa += np.transpose(tmp382, (4, 5, 3, 1, 2, 0)) * -2 + l3new.aaaaaa += np.transpose(tmp755, (4, 5, 3, 1, 2, 0)) * 2 + l3new.aaaaaa += np.transpose(tmp68, (5, 4, 3, 1, 2, 0)) * 2 + l3new.aaaaaa += np.transpose(tmp460, (4, 5, 3, 1, 2, 0)) * -6 + l3new.aaaaaa += np.transpose(tmp756, (4, 5, 3, 1, 2, 0)) * -2 + l3new.aaaaaa += np.transpose(tmp757, (4, 5, 3, 1, 2, 0)) * 12 + l3new.aaaaaa += np.transpose(tmp384, (4, 5, 3, 1, 2, 0)) * -6 + l3new.aaaaaa += np.transpose(tmp758, (4, 5, 3, 1, 2, 0)) * 2 + l3new.aaaaaa += np.transpose(tmp767, (5, 3, 4, 2, 0, 1)) * 2 + l3new.aaaaaa += np.transpose(tmp762, (4, 5, 3, 0, 2, 1)) * 6 + tmp775 = einsum(t1.aa, (0, 1), tmp768, (0, 2, 3, 4, 5, 6, 1, 7), (2, 3, 4, 5, 6, 7)) + del tmp768 + l3new.aaaaaa += np.transpose(tmp775, (4, 5, 3, 0, 2, 1)) * 6 + l3new.aaaaaa += einsum(tmp433, (0, 1), l2.aaaa, (2, 3, 4, 5), (2, 1, 3, 4, 0, 5)) * 2 + l3new.aaaaaa += np.transpose(tmp382, (5, 4, 3, 2, 1, 0)) * -2 + l3new.aaaaaa += np.transpose(tmp755, (5, 4, 3, 2, 1, 0)) * 2 + l3new.aaaaaa += np.transpose(tmp68, (4, 5, 3, 2, 1, 0)) * 2 + l3new.aaaaaa += np.transpose(tmp460, (5, 4, 3, 2, 1, 0)) * -6 + l3new.aaaaaa += np.transpose(tmp756, (5, 4, 3, 2, 1, 0)) * -2 + l3new.aaaaaa += np.transpose(tmp757, (5, 4, 3, 2, 1, 0)) * 12 + l3new.aaaaaa += np.transpose(tmp384, (5, 4, 3, 2, 1, 0)) * -6 + l3new.aaaaaa += np.transpose(tmp758, (5, 4, 3, 2, 1, 0)) * 2 + l3new.aaaaaa += np.transpose(tmp767, (3, 5, 4, 0, 2, 1)) * 2 + l3new.aaaaaa += np.transpose(tmp762, (5, 4, 3, 2, 0, 1)) * 6 + l3new.aaaaaa += np.transpose(tmp764, (5, 4, 3, 2, 0, 1)) * 6 + del tmp764 + l3new.aaaaaa += np.transpose(tmp773, (4, 5, 3, 2, 0, 1)) * -2 + del tmp773 + l3new.aaaaaa += einsum(l2.aaaa, (0, 1, 2, 3), tmp433, (4, 5), (5, 0, 1, 4, 2, 3)) * 2 + l3new.aaaaaa += np.transpose(tmp382, (4, 5, 3, 2, 1, 0)) * 2 + l3new.aaaaaa += np.transpose(tmp755, (4, 5, 3, 2, 1, 0)) * -2 + l3new.aaaaaa += np.transpose(tmp460, (4, 5, 3, 2, 1, 0)) * 6 + l3new.aaaaaa += np.transpose(tmp68, (5, 4, 3, 2, 1, 0)) * -2 + l3new.aaaaaa += np.transpose(tmp756, (4, 5, 3, 2, 1, 0)) * 2 + l3new.aaaaaa += np.transpose(tmp757, (4, 5, 3, 2, 1, 0)) * -12 + l3new.aaaaaa += np.transpose(tmp384, (4, 5, 3, 2, 1, 0)) * 6 + l3new.aaaaaa += np.transpose(tmp758, (4, 5, 3, 2, 1, 0)) * -2 + l3new.aaaaaa += np.transpose(tmp767, (5, 3, 4, 0, 2, 1)) * -2 + l3new.aaaaaa += np.transpose(tmp762, (4, 5, 3, 2, 0, 1)) * -6 + l3new.aaaaaa += np.transpose(tmp769, (4, 5, 3, 2, 0, 1)) * 6 + del tmp769 + l3new.aaaaaa += einsum(tmp433, (0, 1), l2.aaaa, (2, 3, 4, 5), (2, 1, 3, 0, 4, 5)) * -2 + l3new.aaaaaa += np.transpose(tmp382, (4, 3, 5, 1, 0, 2)) * -2 + l3new.aaaaaa += np.transpose(tmp755, (4, 3, 5, 1, 0, 2)) * 2 + l3new.aaaaaa += np.transpose(tmp68, (5, 3, 4, 1, 0, 2)) * 2 + l3new.aaaaaa += np.transpose(tmp460, (4, 3, 5, 1, 0, 2)) * -6 + l3new.aaaaaa += np.transpose(tmp756, (4, 3, 5, 1, 0, 2)) * -2 + l3new.aaaaaa += np.transpose(tmp757, (4, 3, 5, 1, 0, 2)) * 12 + l3new.aaaaaa += np.transpose(tmp384, (4, 3, 5, 1, 0, 2)) * -6 + l3new.aaaaaa += np.transpose(tmp758, (4, 3, 5, 1, 0, 2)) * 2 + l3new.aaaaaa += np.transpose(tmp760, (5, 4, 3, 2, 1, 0)) * 2 + del tmp760 + l3new.aaaaaa += np.transpose(tmp762, (4, 3, 5, 0, 1, 2)) * 6 + l3new.aaaaaa += np.transpose(tmp775, (4, 3, 5, 0, 1, 2)) * 6 + l3new.aaaaaa += einsum(l2.aaaa, (0, 1, 2, 3), tmp433, (4, 5), (0, 1, 5, 2, 3, 4)) * 2 + l3new.aaaaaa += np.transpose(tmp382, (4, 3, 5, 1, 2, 0)) * 2 + l3new.aaaaaa += np.transpose(tmp755, (4, 3, 5, 1, 2, 0)) * -2 + l3new.aaaaaa += np.transpose(tmp460, (4, 3, 5, 1, 2, 0)) * 6 + l3new.aaaaaa += np.transpose(tmp68, (5, 3, 4, 1, 2, 0)) * -2 + l3new.aaaaaa += np.transpose(tmp756, (4, 3, 5, 1, 2, 0)) * 2 + l3new.aaaaaa += np.transpose(tmp757, (4, 3, 5, 1, 2, 0)) * -12 + l3new.aaaaaa += np.transpose(tmp384, (4, 3, 5, 1, 2, 0)) * 6 + l3new.aaaaaa += np.transpose(tmp758, (4, 3, 5, 1, 2, 0)) * -2 + l3new.aaaaaa += np.transpose(tmp767, (5, 4, 3, 2, 0, 1)) * -2 + l3new.aaaaaa += np.transpose(tmp762, (4, 3, 5, 0, 2, 1)) * -6 + l3new.aaaaaa += np.transpose(tmp774, (4, 3, 5, 0, 2, 1)) * 6 + del tmp774 + l3new.aaaaaa += einsum(tmp433, (0, 1), l2.aaaa, (2, 3, 4, 5), (2, 3, 1, 4, 0, 5)) * -2 + l3new.aaaaaa += np.transpose(tmp382, (4, 3, 5, 2, 1, 0)) * -2 + l3new.aaaaaa += np.transpose(tmp755, (4, 3, 5, 2, 1, 0)) * 2 + del tmp755 + l3new.aaaaaa += np.transpose(tmp68, (5, 3, 4, 2, 1, 0)) * 2 + l3new.aaaaaa += np.transpose(tmp460, (4, 3, 5, 2, 1, 0)) * -6 + l3new.aaaaaa += np.transpose(tmp756, (4, 3, 5, 2, 1, 0)) * -2 + del tmp756 + l3new.aaaaaa += np.transpose(tmp757, (4, 3, 5, 2, 1, 0)) * 12 + del tmp757 + l3new.aaaaaa += np.transpose(tmp384, (4, 3, 5, 2, 1, 0)) * -6 + l3new.aaaaaa += np.transpose(tmp758, (4, 3, 5, 2, 1, 0)) * 2 + del tmp758 + l3new.aaaaaa += np.transpose(tmp767, (5, 4, 3, 0, 2, 1)) * 2 + del tmp767 + l3new.aaaaaa += np.transpose(tmp762, (4, 3, 5, 2, 0, 1)) * 6 + del tmp762 + l3new.aaaaaa += np.transpose(tmp775, (4, 3, 5, 2, 0, 1)) * 6 + del tmp775 + l3new.aaaaaa += einsum(tmp433, (0, 1), l2.aaaa, (2, 3, 4, 5), (2, 3, 1, 0, 4, 5)) * 2 + tmp459 = einsum(v.aaaa.vvvv, (0, 1, 2, 3), l3.aaaaaa, (4, 3, 1, 5, 6, 7), (5, 6, 7, 4, 0, 2)) * -1 + l3new.aaaaaa += np.transpose(tmp459, (5, 4, 3, 1, 2, 0)) * -6 + tmp461 = einsum(t1.aa, (0, 1), tmp379, (2, 3, 4, 0, 5, 1, 6, 7), (2, 3, 4, 5, 6, 7)) + l3new.aaaaaa += np.transpose(tmp461, (4, 5, 3, 1, 2, 0)) * -6 + tmp443 = einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), t2.aaaa, (6, 7, 1, 2), (3, 4, 5, 6, 7, 0)) + tmp464 = np.copy(np.transpose(tmp443, (1, 2, 0, 4, 3, 5))) * -1 + tmp463 = einsum(tmp383, (0, 1, 2, 3, 4, 5), t1.aa, (6, 5), (0, 1, 2, 3, 6, 4)) * -1 + tmp464 += np.transpose(tmp463, (1, 2, 0, 4, 3, 5)) * -1 + del tmp463 + tmp776 = einsum(v.aaaa.ovov, (0, 1, 2, 3), tmp464, (4, 5, 6, 0, 2, 7), (4, 5, 6, 7, 1, 3)) * 0.5 + l3new.aaaaaa += np.transpose(tmp776, (5, 4, 3, 1, 2, 0)) * -12 + tmp223 = np.copy(f.aa.vv) * -1 + tmp219 = einsum(v.aabb.vvov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1)) + tmp223 += np.transpose(tmp219, (1, 0)) * -1 + tmp220 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (0, 3, 1, 4), (2, 4)) * -1 + tmp223 += tmp220 * 2 + tmp221 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 4, 1, 3), (2, 4)) + tmp223 += tmp221 + tmp172 = np.copy(v.aaaa.ovvv) + tmp172 += np.transpose(v.aaaa.ovvv, (0, 2, 1, 3)) * -1 + tmp222 = einsum(t1.aa, (0, 1), tmp172, (0, 1, 2, 3), (2, 3)) + tmp223 += np.transpose(tmp222, (1, 0)) * -1 + del tmp222 + tmp777 = einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), tmp223, (2, 6), (3, 4, 5, 0, 1, 6)) * -1 + l3new.aaaaaa += np.transpose(tmp777, (5, 4, 3, 1, 2, 0)) * -6 + tmp778 = einsum(tmp160, (0, 1), tmp383, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) + l3new.aaaaaa += np.transpose(tmp778, (3, 5, 4, 1, 2, 0)) * 3 + tmp589 = np.copy(f.aa.ov) + tmp589 += tmp158 + tmp587 = np.copy(np.transpose(v.aaaa.ovov, (0, 2, 3, 1))) * -1 + tmp587 += np.transpose(v.aaaa.ovov, (0, 2, 1, 3)) + tmp588 = einsum(tmp587, (0, 1, 2, 3), t1.aa, (0, 3), (1, 2)) + del tmp587 + tmp589 += tmp588 * -1 + del tmp588 + tmp779 = einsum(tmp589, (0, 1), tmp383, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 6, 1)) + l3new.aaaaaa += np.transpose(tmp779, (5, 4, 3, 1, 2, 0)) * 3 + l3new.aaaaaa += np.transpose(tmp461, (5, 4, 3, 1, 2, 0)) * 6 + l3new.aaaaaa += np.transpose(tmp777, (4, 5, 3, 1, 2, 0)) * 6 + del tmp777 + l3new.aaaaaa += np.transpose(tmp779, (4, 5, 3, 1, 2, 0)) * -6 + l3new.aaaaaa += np.transpose(tmp459, (5, 3, 4, 1, 2, 0)) * 6 + l3new.aaaaaa += np.transpose(tmp461, (5, 3, 4, 1, 2, 0)) * -6 + l3new.aaaaaa += np.transpose(tmp776, (5, 3, 4, 1, 2, 0)) * 12 + tmp484 = np.copy(f.aa.vv) * -1 + tmp484 += np.transpose(tmp219, (1, 0)) * -1 + tmp484 += np.transpose(tmp220, (1, 0)) * 2 + tmp484 += np.transpose(tmp221, (1, 0)) + tmp58 = np.copy(v.aaaa.ovvv) + tmp58 += np.transpose(v.aaaa.ovvv, (0, 2, 3, 1)) * -1 + tmp483 = einsum(t1.aa, (0, 1), tmp58, (0, 1, 2, 3), (2, 3)) + tmp484 += np.transpose(tmp483, (1, 0)) * -1 + del tmp483 + tmp780 = einsum(tmp484, (0, 1), l3.aaaaaa, (2, 3, 1, 4, 5, 6), (4, 5, 6, 2, 3, 0)) * -1 + l3new.aaaaaa += np.transpose(tmp780, (4, 3, 5, 1, 2, 0)) * -6 + del tmp780 + l3new.aaaaaa += np.transpose(tmp778, (5, 4, 3, 1, 2, 0)) * 3 + del tmp778 + l3new.aaaaaa += np.transpose(tmp779, (4, 3, 5, 1, 2, 0)) * 3 + del tmp779 + l3new.aaaaaa += einsum(v.aaaa.ovov, (0, 1, 2, 3), l1.aa, (4, 5), (1, 3, 4, 5, 0, 2)) + tmp3 = einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), t2.aaaa, (4, 5, 6, 2), (3, 0, 1, 6)) + tmp19 = np.copy(np.transpose(tmp3, (0, 2, 1, 3))) * -1 + tmp4 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t2.abab, (5, 4, 6, 1), (3, 0, 2, 6)) + tmp19 += np.transpose(tmp4, (0, 2, 1, 3)) * -0.3333333333333333 + tmp781 = einsum(v.aaaa.ovov, (0, 1, 2, 3), tmp19, (4, 5, 6, 1), (4, 0, 2, 5, 6, 3)) * 6 + l3new.aaaaaa += np.transpose(tmp781, (5, 4, 3, 0, 2, 1)) * -1 + tmp216 = np.copy(v.aaaa.ooov) + tmp216 += np.transpose(tmp77, (0, 2, 1, 3)) + tmp782 = einsum(tmp216, (0, 1, 2, 3), l2.aaaa, (4, 5, 6, 0), (6, 1, 2, 4, 5, 3)) * -2 + l3new.aaaaaa += np.transpose(tmp782, (5, 4, 3, 0, 2, 1)) + l3new.aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (5, 3, 0, 1, 2, 4)) * -1 + l3new.aaaaaa += np.transpose(tmp781, (4, 5, 3, 0, 2, 1)) + tmp366 = np.copy(np.transpose(v.aaaa.ooov, (0, 2, 1, 3))) + tmp366 += tmp77 + tmp783 = einsum(tmp366, (0, 1, 2, 3), l2.aaaa, (4, 5, 6, 0), (6, 1, 2, 4, 5, 3)) * -1 + l3new.aaaaaa += np.transpose(tmp783, (4, 5, 3, 0, 1, 2)) * -2 + l3new.aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (3, 5, 0, 2, 1, 4)) * -1 + l3new.aaaaaa += np.transpose(tmp781, (5, 4, 3, 2, 0, 1)) + tmp497 = np.copy(v.aaaa.ooov) + tmp497 += np.transpose(tmp77, (0, 2, 1, 3)) + tmp784 = einsum(tmp497, (0, 1, 2, 3), l2.aaaa, (4, 5, 6, 0), (6, 1, 2, 4, 5, 3)) * -1 + l3new.aaaaaa += np.transpose(tmp784, (5, 4, 3, 2, 0, 1)) * -2 + l3new.aaaaaa += einsum(v.aaaa.ovov, (0, 1, 2, 3), l1.aa, (4, 5), (3, 1, 4, 0, 5, 2)) + l3new.aaaaaa += np.transpose(tmp781, (4, 5, 3, 2, 0, 1)) * -1 + l3new.aaaaaa += np.transpose(tmp783, (4, 5, 3, 1, 0, 2)) * 2 + l3new.aaaaaa += einsum(v.aaaa.ovov, (0, 1, 2, 3), l1.aa, (4, 5), (1, 4, 3, 5, 0, 2)) * -1 + l3new.aaaaaa += einsum(v.aaaa.ovov, (0, 1, 2, 3), l1.aa, (4, 5), (3, 4, 1, 5, 0, 2)) + l3new.aaaaaa += np.transpose(tmp781, (4, 3, 5, 0, 2, 1)) * -1 + l3new.aaaaaa += np.transpose(tmp782, (4, 3, 5, 0, 2, 1)) + l3new.aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (3, 0, 5, 2, 1, 4)) + l3new.aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (5, 0, 3, 2, 1, 4)) * -1 + l3new.aaaaaa += np.transpose(tmp781, (4, 3, 5, 2, 0, 1)) + del tmp781 + l3new.aaaaaa += np.transpose(tmp784, (4, 3, 5, 2, 0, 1)) * -2 + l3new.aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (3, 5, 0, 2, 4, 1)) + tmp5 = np.copy(np.transpose(tmp3, (0, 2, 1, 3))) * -3 + tmp5 += np.transpose(tmp4, (0, 2, 1, 3)) * -1 + tmp785 = einsum(v.aaaa.ovov, (0, 1, 2, 3), tmp5, (4, 5, 6, 1), (4, 0, 2, 5, 6, 3)) * 2 + l3new.aaaaaa += np.transpose(tmp785, (5, 4, 3, 2, 1, 0)) * -1 + l3new.aaaaaa += np.transpose(tmp782, (5, 4, 3, 2, 1, 0)) + l3new.aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (5, 3, 0, 2, 4, 1)) * -1 + l3new.aaaaaa += np.transpose(tmp785, (4, 5, 3, 2, 1, 0)) + l3new.aaaaaa += np.transpose(tmp783, (4, 5, 3, 1, 2, 0)) * -2 + l3new.aaaaaa += einsum(v.aaaa.ovov, (0, 1, 2, 3), l1.aa, (4, 5), (1, 4, 3, 0, 2, 5)) * -1 + l3new.aaaaaa += einsum(v.aaaa.ovov, (0, 1, 2, 3), l1.aa, (4, 5), (3, 4, 1, 0, 2, 5)) + l3new.aaaaaa += np.transpose(tmp785, (4, 3, 5, 2, 1, 0)) * -1 + del tmp785 + l3new.aaaaaa += np.transpose(tmp782, (4, 3, 5, 2, 1, 0)) + del tmp782 + l3new.aaaaaa += einsum(v.aaaa.ovov, (0, 1, 2, 3), l1.aa, (4, 5), (4, 1, 3, 5, 0, 2)) + l3new.aaaaaa += einsum(v.aaaa.ovov, (0, 1, 2, 3), l1.aa, (4, 5), (4, 3, 1, 5, 0, 2)) * -1 + l3new.aaaaaa += einsum(v.aaaa.ovov, (0, 1, 2, 3), l1.aa, (4, 5), (4, 1, 3, 0, 5, 2)) * -1 + l3new.aaaaaa += einsum(v.aaaa.ovov, (0, 1, 2, 3), l1.aa, (4, 5), (4, 3, 1, 0, 5, 2)) + l3new.aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (0, 3, 5, 2, 4, 1)) + l3new.aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (0, 5, 3, 2, 4, 1)) * -1 + tmp786 = np.copy(v.aaaa.oooo) + tmp47 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 3, 5, 2), (0, 1, 4, 5)) * -1 + tmp786 += np.transpose(tmp47, (1, 3, 2, 0)) + tmp494 = einsum(tmp77, (0, 1, 2, 3), t1.aa, (4, 3), (0, 4, 2, 1)) + tmp786 += np.transpose(tmp494, (1, 2, 3, 0)) * -1 + tmp54 = einsum(v.aaaa.ooov, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 1, 2)) + tmp786 += np.transpose(tmp54, (2, 1, 3, 0)) + tmp786 += np.transpose(tmp54, (2, 3, 1, 0)) * -1 + tmp787 = einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), tmp786, (4, 6, 7, 5), (3, 6, 7, 0, 1, 2)) * -6 + del tmp786 + l3new.aaaaaa += np.transpose(tmp787, (4, 5, 3, 0, 2, 1)) + tmp788 = einsum(v.aaaa.ovov, (0, 1, 2, 3), tmp19, (4, 5, 6, 3), (4, 0, 2, 5, 6, 1)) * 6 + l3new.aaaaaa += np.transpose(tmp788, (5, 4, 3, 0, 2, 1)) + l3new.aaaaaa += np.transpose(tmp784, (5, 4, 3, 0, 1, 2)) * -2 + l3new.aaaaaa += np.transpose(tmp787, (4, 5, 3, 2, 0, 1)) * -1 + l3new.aaaaaa += np.transpose(tmp788, (5, 4, 3, 2, 0, 1)) * -1 + l3new.aaaaaa += np.transpose(tmp784, (5, 4, 3, 1, 0, 2)) * 2 + tmp789 = einsum(v.aaaa.ovov, (0, 1, 2, 3), tmp5, (4, 5, 6, 3), (4, 0, 2, 5, 6, 1)) * 2 + l3new.aaaaaa += np.transpose(tmp789, (4, 5, 3, 0, 2, 1)) * -1 + l3new.aaaaaa += np.transpose(tmp783, (4, 5, 3, 0, 2, 1)) * 2 + l3new.aaaaaa += np.transpose(tmp789, (4, 5, 3, 2, 0, 1)) + l3new.aaaaaa += np.transpose(tmp783, (4, 5, 3, 2, 0, 1)) * -2 + l3new.aaaaaa += np.transpose(tmp787, (4, 5, 3, 2, 1, 0)) + del tmp787 + l3new.aaaaaa += np.transpose(tmp789, (5, 4, 3, 2, 1, 0)) + l3new.aaaaaa += np.transpose(tmp784, (5, 4, 3, 1, 2, 0)) * -2 + l3new.aaaaaa += np.transpose(tmp788, (4, 5, 3, 2, 1, 0)) * -1 + l3new.aaaaaa += np.transpose(tmp783, (4, 5, 3, 2, 1, 0)) * 2 + del tmp783 + l3new.aaaaaa += np.transpose(tmp789, (4, 3, 5, 0, 2, 1)) + l3new.aaaaaa += np.transpose(tmp784, (4, 3, 5, 0, 1, 2)) * -2 + l3new.aaaaaa += np.transpose(tmp789, (4, 3, 5, 2, 0, 1)) * -1 + del tmp789 + l3new.aaaaaa += np.transpose(tmp784, (4, 3, 5, 1, 0, 2)) * 2 + l3new.aaaaaa += np.transpose(tmp788, (4, 3, 5, 2, 1, 0)) + del tmp788 + l3new.aaaaaa += np.transpose(tmp784, (4, 3, 5, 1, 2, 0)) * -2 + del tmp784 + l3new.aaaaaa += np.transpose(tmp68, (4, 3, 5, 1, 0, 2)) * -2 + l3new.aaaaaa += np.transpose(tmp68, (4, 3, 5, 1, 2, 0)) * 2 + l3new.aaaaaa += np.transpose(tmp68, (4, 3, 5, 2, 1, 0)) * -2 + l3new.aaaaaa += np.transpose(tmp68, (3, 4, 5, 1, 0, 2)) * 2 + l3new.aaaaaa += np.transpose(tmp68, (3, 5, 4, 1, 0, 2)) * -2 + l3new.aaaaaa += np.transpose(tmp68, (3, 4, 5, 1, 2, 0)) * -2 + l3new.aaaaaa += np.transpose(tmp68, (3, 5, 4, 1, 2, 0)) * 2 + l3new.aaaaaa += np.transpose(tmp68, (3, 4, 5, 2, 1, 0)) * 2 + l3new.aaaaaa += np.transpose(tmp68, (3, 5, 4, 2, 1, 0)) * -2 + l3new.aaaaaa += np.transpose(tmp461, (4, 3, 5, 1, 2, 0)) * 6 + l3new.aaaaaa += np.transpose(tmp461, (3, 4, 5, 1, 2, 0)) * -6 + l3new.aaaaaa += np.transpose(tmp459, (3, 5, 4, 1, 2, 0)) * -6 + l3new.aaaaaa += np.transpose(tmp776, (3, 5, 4, 1, 2, 0)) * -12 + del tmp776 + l3new.aaaaaa += np.transpose(tmp461, (3, 5, 4, 1, 2, 0)) * 6 + tmp790 = einsum(tmp374, (0, 1, 2, 3, 4, 5), v.aaaa.ovov, (6, 5, 2, 7), (0, 1, 6, 3, 4, 7)) + l3new.aaaaaa += np.transpose(tmp790, (5, 4, 3, 1, 0, 2)) * -12 + tmp791 = einsum(tmp383, (0, 1, 2, 3, 4, 5), tmp77, (1, 3, 6, 7), (0, 2, 6, 4, 5, 7)) * -1 + l3new.aaaaaa += np.transpose(tmp791, (5, 4, 3, 1, 0, 2)) * 6 + tmp167 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.abab, (2, 4, 1, 5), (0, 4, 3, 5)) + tmp792 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), tmp167, (6, 4, 7, 1), (3, 5, 6, 0, 2, 7)) + l3new.aaaaaa += np.transpose(tmp792, (5, 4, 3, 1, 0, 2)) * -2 + tmp499 = einsum(t1.aa, (0, 1), v.aaaa.ovov, (2, 1, 0, 3), (2, 3)) + l3new.aaaaaa += einsum(l2.aaaa, (0, 1, 2, 3), tmp499, (4, 5), (5, 0, 1, 2, 3, 4)) * -2 + tmp793 = einsum(v.aaaa.ooov, (0, 1, 2, 3), tmp383, (4, 1, 5, 2, 6, 7), (4, 5, 0, 6, 7, 3)) * -1 + l3new.aaaaaa += np.transpose(tmp793, (5, 4, 3, 1, 0, 2)) * 6 + tmp78 = einsum(t1.aa, (0, 1), l2.aaaa, (2, 1, 3, 4), (3, 4, 0, 2)) + tmp79 = np.copy(np.transpose(tmp78, (1, 0, 2, 3))) * -1 + tmp44 = einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), t2.aaaa, (6, 5, 1, 2), (3, 4, 6, 0)) + tmp79 += np.transpose(tmp44, (1, 0, 2, 3)) * -3 + tmp45 = einsum(t2.abab, (0, 1, 2, 3), l3.abaaba, (4, 3, 2, 5, 1, 6), (5, 6, 0, 4)) + tmp79 += np.transpose(tmp45, (1, 0, 2, 3)) * -1 + tmp794 = einsum(tmp79, (0, 1, 2, 3), v.aaaa.ovov, (4, 5, 2, 6), (0, 1, 4, 3, 6, 5)) + l3new.aaaaaa += np.transpose(tmp794, (4, 5, 3, 1, 0, 2)) * 2 + l3new.aaaaaa += np.transpose(tmp790, (4, 5, 3, 1, 0, 2)) * 12 + l3new.aaaaaa += np.transpose(tmp791, (4, 5, 3, 1, 0, 2)) * -6 + l3new.aaaaaa += np.transpose(tmp792, (4, 5, 3, 1, 0, 2)) * 2 + l3new.aaaaaa += einsum(l2.aaaa, (0, 1, 2, 3), tmp499, (4, 5), (0, 5, 1, 2, 3, 4)) * 2 + l3new.aaaaaa += np.transpose(tmp793, (4, 5, 3, 1, 0, 2)) * -6 + l3new.aaaaaa += np.transpose(tmp794, (5, 4, 3, 1, 0, 2)) * -2 + l3new.aaaaaa += np.transpose(tmp790, (5, 4, 3, 1, 2, 0)) * 12 + l3new.aaaaaa += np.transpose(tmp791, (5, 4, 3, 1, 2, 0)) * -6 + l3new.aaaaaa += np.transpose(tmp792, (5, 4, 3, 1, 2, 0)) * 2 + l3new.aaaaaa += einsum(l2.aaaa, (0, 1, 2, 3), tmp499, (4, 5), (5, 0, 1, 2, 4, 3)) * 2 + l3new.aaaaaa += np.transpose(tmp793, (5, 4, 3, 1, 2, 0)) * -6 + tmp416 = np.copy(np.transpose(tmp78, (1, 0, 2, 3))) * -0.3333333333333333 + tmp416 += np.transpose(tmp44, (1, 0, 2, 3)) * -1 + tmp416 += np.transpose(tmp45, (1, 0, 2, 3)) * -0.3333333333333333 + tmp795 = einsum(tmp416, (0, 1, 2, 3), v.aaaa.ovov, (4, 5, 2, 6), (0, 1, 4, 3, 6, 5)) * 3 + l3new.aaaaaa += np.transpose(tmp795, (4, 5, 3, 1, 2, 0)) * -2 + l3new.aaaaaa += np.transpose(tmp790, (4, 5, 3, 1, 2, 0)) * -12 + l3new.aaaaaa += np.transpose(tmp791, (4, 5, 3, 1, 2, 0)) * 6 + l3new.aaaaaa += np.transpose(tmp792, (4, 5, 3, 1, 2, 0)) * -2 + l3new.aaaaaa += einsum(tmp499, (0, 1), l2.aaaa, (2, 3, 4, 5), (2, 1, 3, 4, 0, 5)) * -2 + l3new.aaaaaa += np.transpose(tmp793, (4, 5, 3, 1, 2, 0)) * 6 + l3new.aaaaaa += np.transpose(tmp795, (5, 4, 3, 1, 2, 0)) * 2 + l3new.aaaaaa += np.transpose(tmp794, (4, 3, 5, 1, 0, 2)) * -2 + l3new.aaaaaa += np.transpose(tmp790, (4, 3, 5, 1, 0, 2)) * -12 + l3new.aaaaaa += np.transpose(tmp791, (4, 3, 5, 1, 0, 2)) * 6 + l3new.aaaaaa += np.transpose(tmp792, (4, 3, 5, 1, 0, 2)) * -2 + l3new.aaaaaa += einsum(tmp499, (0, 1), l2.aaaa, (2, 3, 4, 5), (2, 3, 1, 4, 5, 0)) * -2 + l3new.aaaaaa += np.transpose(tmp793, (4, 3, 5, 1, 0, 2)) * 6 + l3new.aaaaaa += np.transpose(tmp794, (5, 3, 4, 1, 0, 2)) * 2 + l3new.aaaaaa += np.transpose(tmp795, (4, 3, 5, 1, 2, 0)) * 2 + l3new.aaaaaa += np.transpose(tmp790, (4, 3, 5, 1, 2, 0)) * 12 + l3new.aaaaaa += np.transpose(tmp791, (4, 3, 5, 1, 2, 0)) * -6 + l3new.aaaaaa += np.transpose(tmp792, (4, 3, 5, 1, 2, 0)) * 2 + l3new.aaaaaa += einsum(l2.aaaa, (0, 1, 2, 3), tmp499, (4, 5), (0, 1, 5, 2, 4, 3)) * 2 + l3new.aaaaaa += np.transpose(tmp793, (4, 3, 5, 1, 2, 0)) * -6 + l3new.aaaaaa += np.transpose(tmp795, (5, 3, 4, 1, 2, 0)) * -2 + l3new.aaaaaa += np.transpose(tmp790, (5, 4, 3, 2, 1, 0)) * -12 + l3new.aaaaaa += np.transpose(tmp791, (5, 4, 3, 2, 1, 0)) * 6 + l3new.aaaaaa += np.transpose(tmp792, (5, 4, 3, 2, 1, 0)) * -2 + l3new.aaaaaa += einsum(tmp499, (0, 1), l2.aaaa, (2, 3, 4, 5), (1, 2, 3, 0, 4, 5)) * -2 + l3new.aaaaaa += np.transpose(tmp793, (5, 4, 3, 2, 1, 0)) * 6 + l3new.aaaaaa += np.transpose(tmp795, (4, 5, 3, 2, 1, 0)) * 2 + l3new.aaaaaa += np.transpose(tmp790, (4, 5, 3, 2, 1, 0)) * 12 + l3new.aaaaaa += np.transpose(tmp791, (4, 5, 3, 2, 1, 0)) * -6 + l3new.aaaaaa += np.transpose(tmp792, (4, 5, 3, 2, 1, 0)) * 2 + l3new.aaaaaa += einsum(tmp499, (0, 1), l2.aaaa, (2, 3, 4, 5), (2, 1, 3, 0, 4, 5)) * 2 + l3new.aaaaaa += np.transpose(tmp793, (4, 5, 3, 2, 1, 0)) * -6 + l3new.aaaaaa += np.transpose(tmp795, (5, 4, 3, 2, 1, 0)) * -2 + l3new.aaaaaa += np.transpose(tmp795, (4, 3, 5, 2, 1, 0)) * -2 + l3new.aaaaaa += np.transpose(tmp790, (4, 3, 5, 2, 1, 0)) * -12 + del tmp790 + l3new.aaaaaa += np.transpose(tmp791, (4, 3, 5, 2, 1, 0)) * 6 + del tmp791 + l3new.aaaaaa += np.transpose(tmp792, (4, 3, 5, 2, 1, 0)) * -2 + del tmp792 + l3new.aaaaaa += einsum(tmp499, (0, 1), l2.aaaa, (2, 3, 4, 5), (2, 3, 1, 0, 4, 5)) * -2 + l3new.aaaaaa += np.transpose(tmp793, (4, 3, 5, 2, 1, 0)) * 6 + del tmp793 + l3new.aaaaaa += np.transpose(tmp795, (5, 3, 4, 2, 1, 0)) * 2 + l3new.aaaaaa += np.transpose(tmp794, (3, 4, 5, 1, 0, 2)) * 2 + l3new.aaaaaa += np.transpose(tmp794, (3, 5, 4, 1, 0, 2)) * -2 + del tmp794 + l3new.aaaaaa += np.transpose(tmp795, (3, 4, 5, 1, 2, 0)) * -2 + l3new.aaaaaa += np.transpose(tmp795, (3, 5, 4, 1, 2, 0)) * 2 + l3new.aaaaaa += np.transpose(tmp795, (3, 4, 5, 2, 1, 0)) * 2 + l3new.aaaaaa += np.transpose(tmp795, (3, 5, 4, 2, 1, 0)) * -2 + del tmp795 + tmp473 = einsum(t1.aa, (0, 1), l3.abaaba, (2, 3, 1, 4, 5, 6), (4, 6, 0, 5, 2, 3)) + tmp877 = einsum(tmp99, (0, 1, 2, 3), tmp473, (4, 0, 1, 5, 6, 7), (4, 5, 2, 6, 7, 3)) + l3new.abbabb = np.copy(np.transpose(tmp877, (3, 5, 4, 0, 1, 2))) * 2 + tmp878 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), tmp312, (5, 6, 2, 7), (3, 4, 6, 0, 1, 7)) + l3new.abbabb += np.transpose(tmp878, (3, 5, 4, 0, 1, 2)) * -2 + tmp470 = einsum(v.aabb.vvov, (0, 1, 2, 3), l3.abaaba, (4, 5, 1, 6, 7, 8), (6, 8, 7, 2, 4, 0, 5, 3)) + tmp879 = einsum(t1.aa, (0, 1), tmp470, (2, 0, 3, 4, 5, 1, 6, 7), (2, 3, 4, 5, 6, 7)) + l3new.abbabb += np.transpose(tmp879, (3, 5, 4, 0, 1, 2)) * -2 + tmp204 = einsum(l2.abab, (0, 1, 2, 3), v.aabb.vvov, (4, 0, 5, 6), (2, 3, 5, 4, 1, 6)) + l3new.abbabb += np.transpose(tmp204, (3, 5, 4, 0, 1, 2)) * -1 + tmp880 = einsum(tmp473, (0, 1, 2, 3, 4, 5), v.aabb.ooov, (2, 1, 6, 7), (0, 3, 6, 4, 5, 7)) + l3new.abbabb += np.transpose(tmp880, (3, 5, 4, 0, 1, 2)) * 2 + tmp521 = einsum(t1.bb, (0, 1), l3.babbab, (2, 3, 1, 4, 5, 6), (5, 4, 6, 0, 3, 2)) + tmp602 = einsum(v.bbbb.ovoo, (0, 1, 2, 3), tmp521, (4, 5, 3, 2, 6, 7), (4, 5, 0, 6, 7, 1)) + l3new.abbabb += np.transpose(tmp602, (3, 5, 4, 0, 1, 2)) * 2 + tmp548 = einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t2.bbbb, (6, 5, 7, 2), (4, 3, 6, 1, 0, 7)) + tmp881 = einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp548, (4, 5, 2, 6, 7, 3), (4, 5, 0, 6, 7, 1)) + l3new.abbabb += np.transpose(tmp881, (3, 5, 4, 0, 1, 2)) * -4 + tmp550 = einsum(tmp521, (0, 1, 2, 3, 4, 5), tmp227, (1, 6, 3, 7), (0, 2, 6, 4, 5, 7)) * -1 + l3new.abbabb += np.transpose(tmp550, (3, 5, 4, 0, 1, 2)) * 2 + tmp882 = np.copy(np.transpose(l3.abaaba, (3, 5, 4, 0, 2, 1))) + tmp515 = einsum(t2.aaaa, (0, 1, 2, 3), l3.abaaba, (4, 5, 3, 6, 7, 1), (6, 0, 7, 4, 2, 5)) + tmp882 += tmp515 + tmp554 = einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t2.abab, (6, 5, 7, 2), (4, 6, 3, 1, 7, 0)) + tmp882 += tmp554 + l3new.abbabb += einsum(v.aabb.ovov, (0, 1, 2, 3), tmp882, (4, 0, 5, 6, 1, 7), (6, 3, 7, 4, 5, 2)) * -2 + del tmp882 + tmp883 = np.copy(np.transpose(v.bbbb.ovov, (0, 2, 1, 3))) + tmp883 += v.bbbb.oovv * -1 + tmp884 = einsum(l3.babbab, (0, 1, 2, 3, 4, 5), tmp883, (5, 6, 2, 7), (4, 3, 6, 1, 0, 7)) + del tmp883 + l3new.abbabb += np.transpose(tmp884, (3, 5, 4, 0, 1, 2)) * -2 + tmp549 = einsum(v.bbbb.ovvv, (0, 1, 2, 3), l3.babbab, (4, 5, 3, 6, 7, 8), (7, 6, 8, 0, 5, 4, 1, 2)) + tmp885 = np.copy(np.transpose(tmp549, (0, 2, 1, 3, 4, 5, 6, 7))) + tmp885 += np.transpose(tmp549, (0, 2, 1, 3, 4, 5, 7, 6)) * -1 + tmp886 = einsum(tmp885, (0, 1, 2, 3, 4, 5, 6, 7), t1.bb, (1, 6), (0, 2, 3, 4, 5, 7)) + del tmp885 + l3new.abbabb += np.transpose(tmp886, (3, 5, 4, 0, 1, 2)) * 2 + tmp887 = np.copy(f.bb.oo) * 0.5 + tmp887 += np.transpose(tmp320, (1, 0)) * 0.5 + tmp887 += tmp321 + tmp887 += tmp322 * 2 + tmp887 += einsum(tmp323, (0, 1, 2, 3), t1.bb, (2, 3), (1, 0)) * -0.5 + del tmp323 + tmp887 += tmp325 + l3new.abbabb += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), tmp887, (5, 6), (1, 0, 2, 4, 3, 6)) * -2 + del tmp887 + l3new.abbabb += einsum(l2.abab, (0, 1, 2, 3), tmp543, (4, 5), (0, 5, 1, 2, 3, 4)) * -1 + tmp888 = einsum(tmp77, (0, 1, 2, 3), tmp577, (0, 2, 4, 5, 6, 7), (1, 4, 5, 3, 6, 7)) + l3new.abbabb += np.transpose(tmp888, (3, 5, 4, 0, 2, 1)) * -2 + del tmp888 + tmp889 = einsum(v.aabb.ovvv, (0, 1, 2, 3), l3.bbbbbb, (4, 5, 3, 6, 7, 8), (0, 6, 7, 8, 1, 4, 5, 2)) + tmp890 = einsum(tmp889, (0, 1, 2, 3, 4, 5, 6, 7), t1.bb, (3, 7), (0, 2, 1, 4, 5, 6)) * -1 + del tmp889 + l3new.abbabb += np.transpose(tmp890, (3, 5, 4, 0, 2, 1)) * 6 + del tmp890 + tmp891 = einsum(v.aaaa.ovoo, (0, 1, 2, 3), tmp577, (3, 2, 4, 5, 6, 7), (0, 4, 5, 1, 6, 7)) + l3new.abbabb += np.transpose(tmp891, (3, 5, 4, 0, 2, 1)) * -2 + del tmp891 + tmp892 = einsum(v.aabb.ovoo, (0, 1, 2, 3), tmp652, (4, 3, 5, 2, 6, 7), (0, 4, 5, 1, 6, 7)) * -1 + l3new.abbabb += np.transpose(tmp892, (3, 5, 4, 0, 2, 1)) * -6 + del tmp892 + tmp893 = einsum(tmp652, (0, 1, 2, 3, 4, 5), tmp140, (6, 1, 3, 7), (6, 0, 2, 7, 4, 5)) * -1 + del tmp652 + l3new.abbabb += np.transpose(tmp893, (3, 5, 4, 0, 2, 1)) * -6 + del tmp893 + tmp526 = einsum(l2.bbbb, (0, 1, 2, 3), v.aabb.ovvv, (4, 5, 6, 1), (4, 2, 3, 5, 0, 6)) + l3new.abbabb += np.transpose(tmp526, (3, 5, 4, 0, 2, 1)) * 2 + tmp894 = np.copy(np.transpose(v.aaaa.ovov, (0, 2, 1, 3))) + tmp894 += v.aaaa.oovv * -1 + tmp62 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (0, 4, 2, 5)) + tmp894 += tmp62 + tmp895 = einsum(tmp894, (0, 1, 2, 3), l3.babbab, (4, 2, 5, 6, 0, 7), (1, 6, 7, 3, 4, 5)) + del tmp894 + l3new.abbabb += np.transpose(tmp895, (3, 5, 4, 0, 2, 1)) * 2 + del tmp895 + tmp896 = einsum(t2.aaaa, (0, 1, 2, 3), l3.babbab, (4, 3, 5, 6, 1, 7), (0, 6, 7, 2, 4, 5)) + tmp897 = np.copy(np.transpose(tmp896, (0, 2, 1, 3, 5, 4))) + del tmp896 + tmp897 += np.transpose(tmp640, (0, 2, 1, 3, 5, 4)) * 1.5 + tmp898 = einsum(tmp897, (0, 1, 2, 3, 4, 5), v.aaaa.ovov, (6, 7, 0, 3), (6, 1, 2, 7, 4, 5)) * 2 + l3new.abbabb += np.transpose(tmp898, (3, 5, 4, 0, 2, 1)) * 2 + del tmp898 + tmp899 = np.copy(np.transpose(l3.bbbbbb, (3, 4, 5, 0, 1, 2))) + tmp647 = einsum(t2.bbbb, (0, 1, 2, 3), l3.bbbbbb, (4, 5, 3, 6, 7, 1), (6, 7, 0, 4, 5, 2)) + tmp899 += np.transpose(tmp647, (2, 1, 0, 4, 5, 3)) * -2 + tmp900 = einsum(tmp899, (0, 1, 2, 3, 4, 5), v.aabb.ovov, (6, 7, 0, 4), (6, 1, 2, 7, 3, 5)) * 3 + del tmp899 + l3new.abbabb += np.transpose(tmp900, (3, 5, 4, 0, 1, 2)) * 2 + del tmp900 + tmp901 = einsum(v.aaaa.ovvv, (0, 1, 2, 3), l3.babbab, (4, 3, 5, 6, 7, 8), (7, 0, 6, 8, 1, 2, 4, 5)) + tmp902 = np.copy(np.transpose(tmp901, (0, 1, 3, 2, 4, 5, 7, 6))) * -1 + tmp902 += np.transpose(tmp901, (0, 1, 3, 2, 5, 4, 7, 6)) + del tmp901 + tmp903 = einsum(tmp902, (0, 1, 2, 3, 4, 5, 6, 7), t1.aa, (0, 4), (1, 2, 3, 5, 6, 7)) + del tmp902 + l3new.abbabb += np.transpose(tmp903, (3, 5, 4, 0, 2, 1)) * 2 + del tmp903 + l3new.abbabb += einsum(l2.bbbb, (0, 1, 2, 3), tmp433, (4, 5), (5, 0, 1, 4, 2, 3)) * 2 + l3new.abbabb += np.transpose(tmp877, (3, 5, 4, 0, 2, 1)) * -2 + l3new.abbabb += np.transpose(tmp878, (3, 5, 4, 0, 2, 1)) * 2 + l3new.abbabb += np.transpose(tmp879, (3, 5, 4, 0, 2, 1)) * 2 + l3new.abbabb += np.transpose(tmp204, (3, 5, 4, 0, 2, 1)) + l3new.abbabb += np.transpose(tmp880, (3, 5, 4, 0, 2, 1)) * -2 + l3new.abbabb += np.transpose(tmp602, (3, 5, 4, 0, 2, 1)) * -2 + l3new.abbabb += np.transpose(tmp881, (3, 5, 4, 0, 2, 1)) * 4 + l3new.abbabb += np.transpose(tmp550, (3, 5, 4, 0, 2, 1)) * -2 + tmp904 = np.copy(np.transpose(l3.abaaba, (3, 5, 4, 0, 2, 1))) * 0.2499999999999975 + tmp904 += tmp515 + tmp904 += tmp554 * 0.25 + tmp905 = einsum(v.aabb.ovov, (0, 1, 2, 3), tmp904, (4, 0, 5, 6, 1, 7), (4, 2, 5, 6, 3, 7)) * 4 + del tmp904 + l3new.abbabb += np.transpose(tmp905, (3, 4, 5, 0, 1, 2)) + l3new.abbabb += np.transpose(tmp884, (3, 5, 4, 0, 2, 1)) * 2 + l3new.abbabb += np.transpose(tmp886, (3, 5, 4, 0, 2, 1)) * -2 + del tmp886 + tmp906 = np.copy(f.bb.oo) + tmp906 += np.transpose(tmp320, (1, 0)) + tmp906 += tmp321 * 0.5 + tmp906 += tmp322 + tmp906 += np.transpose(tmp324, (1, 0)) * -1 + del tmp324 + tmp906 += einsum(t1.bb, (0, 1), tmp319, (2, 1), (0, 2)) * 0.5 + l3new.abbabb += einsum(tmp906, (0, 1), l3.babbab, (2, 3, 4, 5, 6, 0), (3, 2, 4, 6, 1, 5)) * 2 + del tmp906 + l3new.abbabb += einsum(tmp543, (0, 1), l2.abab, (2, 3, 4, 5), (2, 1, 3, 4, 0, 5)) + l3new.abbabb += np.transpose(tmp877, (3, 4, 5, 0, 1, 2)) * -2 + l3new.abbabb += np.transpose(tmp878, (3, 4, 5, 0, 1, 2)) * 2 + l3new.abbabb += np.transpose(tmp879, (3, 4, 5, 0, 1, 2)) * 2 + l3new.abbabb += np.transpose(tmp880, (3, 4, 5, 0, 1, 2)) * -2 + l3new.abbabb += np.transpose(tmp602, (3, 4, 5, 0, 1, 2)) * -2 + l3new.abbabb += np.transpose(tmp881, (3, 4, 5, 0, 1, 2)) * 4 + l3new.abbabb += np.transpose(tmp550, (3, 4, 5, 0, 1, 2)) * -2 + tmp536 = einsum(l2.abab, (0, 1, 2, 3), v.bbbb.ovvv, (4, 5, 6, 1), (2, 3, 4, 0, 5, 6)) + l3new.abbabb += np.transpose(tmp536, (3, 5, 4, 0, 1, 2)) + tmp907 = np.copy(np.transpose(l3.abaaba, (3, 5, 4, 0, 2, 1))) + tmp907 += np.transpose(tmp515, (1, 0, 2, 4, 3, 5)) + tmp907 += np.transpose(tmp554, (1, 0, 2, 4, 3, 5)) + l3new.abbabb += einsum(tmp907, (0, 1, 2, 3, 4, 5), v.aabb.ovov, (0, 3, 6, 7), (4, 5, 7, 1, 2, 6)) * 2 + del tmp907 + l3new.abbabb += np.transpose(tmp884, (3, 4, 5, 0, 1, 2)) * 2 + tmp908 = np.copy(np.transpose(tmp549, (0, 2, 1, 3, 4, 5, 6, 7))) * -1 + tmp908 += np.transpose(tmp549, (0, 2, 1, 3, 4, 5, 7, 6)) + tmp909 = einsum(tmp908, (0, 1, 2, 3, 4, 5, 6, 7), t1.bb, (1, 6), (0, 2, 3, 4, 5, 7)) + del tmp908 + l3new.abbabb += np.transpose(tmp909, (3, 4, 5, 0, 1, 2)) * 2 + l3new.abbabb += einsum(l2.abab, (0, 1, 2, 3), tmp543, (4, 5), (0, 1, 5, 2, 3, 4)) + l3new.abbabb += np.transpose(tmp877, (3, 4, 5, 0, 2, 1)) * 2 + del tmp877 + l3new.abbabb += np.transpose(tmp878, (3, 4, 5, 0, 2, 1)) * -2 + del tmp878 + l3new.abbabb += np.transpose(tmp879, (3, 4, 5, 0, 2, 1)) * -2 + del tmp879 + l3new.abbabb += np.transpose(tmp880, (3, 4, 5, 0, 2, 1)) * 2 + del tmp880 + l3new.abbabb += np.transpose(tmp602, (3, 4, 5, 0, 2, 1)) * 2 + l3new.abbabb += np.transpose(tmp881, (3, 4, 5, 0, 2, 1)) * -4 + del tmp881 + l3new.abbabb += np.transpose(tmp550, (3, 4, 5, 0, 2, 1)) * 2 + l3new.abbabb += np.transpose(tmp536, (3, 5, 4, 0, 2, 1)) * -1 + l3new.abbabb += np.transpose(tmp905, (3, 5, 4, 0, 1, 2)) * -1 + del tmp905 + l3new.abbabb += np.transpose(tmp884, (3, 4, 5, 0, 2, 1)) * -2 + del tmp884 + l3new.abbabb += np.transpose(tmp909, (3, 4, 5, 0, 2, 1)) * -2 + del tmp909 + l3new.abbabb += einsum(l2.abab, (0, 1, 2, 3), tmp543, (4, 5), (0, 1, 5, 2, 4, 3)) * -1 + tmp910 = einsum(tmp515, (0, 1, 2, 3, 4, 5), v.aabb.ovov, (1, 4, 6, 7), (0, 2, 6, 3, 5, 7)) + l3new.abbabb += np.transpose(tmp910, (3, 5, 4, 0, 1, 2)) * -2 + tmp912 = np.copy(f.bb.oo) + tmp912 += np.transpose(tmp320, (1, 0)) + del tmp320 + tmp911 = np.copy(v.bbbb.ooov) * -1 + tmp911 += np.transpose(v.bbbb.ovoo, (0, 2, 3, 1)) + tmp912 += einsum(t1.bb, (0, 1), tmp911, (2, 3, 0, 1), (3, 2)) * -1 + del tmp911 + l3new.abbabb += einsum(tmp912, (0, 1), l3.babbab, (2, 3, 4, 5, 6, 0), (3, 2, 4, 6, 5, 1)) * -1 + del tmp912 + tmp527 = einsum(v.aabb.oovv, (0, 1, 2, 3), l3.babbab, (4, 5, 3, 6, 1, 7), (0, 6, 7, 5, 4, 2)) + l3new.abbabb += np.transpose(tmp527, (3, 5, 4, 0, 2, 1)) * -2 + tmp517 = einsum(l3.babbab, (0, 1, 2, 3, 4, 5), v.aabb.ovvv, (6, 7, 8, 2), (4, 6, 3, 5, 1, 7, 0, 8)) + tmp913 = einsum(tmp517, (0, 1, 2, 3, 4, 5, 6, 7), t1.aa, (0, 5), (1, 2, 3, 4, 6, 7)) + l3new.abbabb += np.transpose(tmp913, (3, 5, 4, 0, 2, 1)) * -2 + tmp914 = einsum(tmp166, (0, 1), l3.babbab, (2, 3, 4, 5, 0, 6), (1, 5, 6, 3, 2, 4)) + l3new.abbabb += np.transpose(tmp914, (3, 5, 4, 0, 2, 1)) * -2 + del tmp914 + tmp580 = einsum(tmp579, (0, 1, 2, 3, 4, 5, 6, 7), t1.bb, (3, 6), (0, 1, 2, 4, 5, 7)) + l3new.abbabb += np.transpose(tmp580, (3, 5, 4, 0, 2, 1)) * -2 + tmp576 = einsum(v.aabb.vvvv, (0, 1, 2, 3), l3.babbab, (4, 1, 3, 5, 6, 7), (6, 5, 7, 0, 4, 2)) + l3new.abbabb += np.transpose(tmp576, (3, 5, 4, 0, 2, 1)) * 2 + tmp560 = einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t2.abab, (6, 7, 1, 2), (4, 6, 3, 5, 7, 0)) + tmp723 = np.copy(np.transpose(tmp560, (0, 1, 3, 2, 4, 5))) * -1 + tmp722 = einsum(t1.aa, (0, 1), tmp521, (2, 3, 4, 5, 1, 6), (2, 0, 3, 4, 5, 6)) + tmp723 += np.transpose(tmp722, (0, 1, 3, 2, 4, 5)) * -1 + del tmp722 + tmp915 = einsum(tmp723, (0, 1, 2, 3, 4, 5), v.aabb.ovov, (1, 6, 4, 7), (0, 2, 3, 6, 7, 5)) * 0.5 + l3new.abbabb += np.transpose(tmp915, (3, 4, 5, 0, 2, 1)) * 4 + tmp916 = einsum(l3.babbab, (0, 1, 2, 3, 4, 5), tmp729, (6, 2), (4, 3, 5, 1, 0, 6)) * -1 + l3new.abbabb += np.transpose(tmp916, (3, 5, 4, 0, 2, 1)) * 2 + del tmp916 + tmp917 = einsum(tmp521, (0, 1, 2, 3, 4, 5), tmp319, (3, 6), (0, 1, 2, 4, 6, 5)) + l3new.abbabb += np.transpose(tmp917, (3, 4, 5, 0, 2, 1)) * -1 + tmp918 = einsum(tmp836, (0, 1), tmp521, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 6, 1)) + l3new.abbabb += np.transpose(tmp918, (3, 5, 4, 0, 2, 1)) * -1 + tmp721 = einsum(t1.aa, (0, 1), tmp517, (2, 0, 3, 4, 1, 5, 6, 7), (2, 3, 4, 5, 6, 7)) + l3new.abbabb += np.transpose(tmp721, (3, 5, 4, 0, 2, 1)) * -2 + tmp919 = einsum(l3.babbab, (0, 1, 2, 3, 4, 5), tmp223, (1, 6), (4, 3, 5, 6, 0, 2)) + l3new.abbabb += np.transpose(tmp919, (3, 5, 4, 0, 2, 1)) * -2 + del tmp919 + tmp920 = einsum(tmp577, (0, 1, 2, 3, 4, 5), tmp589, (1, 6), (0, 2, 3, 6, 4, 5)) + l3new.abbabb += np.transpose(tmp920, (3, 5, 4, 0, 2, 1)) * -2 + del tmp920 + tmp603 = einsum(tmp549, (0, 1, 2, 3, 4, 5, 6, 7), t1.bb, (3, 5), (0, 1, 2, 4, 6, 7)) + l3new.abbabb += np.transpose(tmp603, (3, 5, 4, 0, 2, 1)) * -2 + tmp601 = einsum(v.bbbb.vvvv, (0, 1, 2, 3), l3.babbab, (1, 4, 3, 5, 6, 7), (6, 5, 7, 4, 0, 2)) + l3new.abbabb += np.transpose(tmp601, (3, 5, 4, 0, 2, 1)) * 2 + tmp593 = einsum(t2.bbbb, (0, 1, 2, 3), l3.babbab, (2, 4, 3, 5, 6, 7), (6, 5, 7, 0, 1, 4)) + tmp607 = np.copy(np.transpose(tmp593, (0, 2, 1, 4, 3, 5))) + tmp606 = einsum(t1.bb, (0, 1), tmp521, (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 0, 6)) * -1 + tmp607 += np.transpose(tmp606, (0, 2, 1, 4, 3, 5)) + del tmp606 + tmp921 = einsum(tmp607, (0, 1, 2, 3, 4, 5), v.bbbb.ovov, (3, 6, 4, 7), (0, 1, 2, 5, 6, 7)) * 0.5 + l3new.abbabb += np.transpose(tmp921, (3, 5, 4, 0, 2, 1)) * 4 + del tmp921 + tmp923 = np.copy(f.bb.vv) * -0.5 + tmp923 += np.transpose(tmp358, (1, 0)) * -0.5 + del tmp358 + tmp923 += np.transpose(tmp359, (1, 0)) * 0.5 + del tmp359 + tmp923 += np.transpose(tmp360, (1, 0)) + del tmp360 + tmp922 = einsum(tmp267, (0, 1, 2, 3), t1.bb, (0, 2), (1, 3)) * 0.5 + tmp923 += tmp922 * -1 + del tmp922 + tmp924 = einsum(l3.babbab, (0, 1, 2, 3, 4, 5), tmp923, (6, 2), (4, 3, 5, 1, 0, 6)) * -2 + del tmp923 + l3new.abbabb += np.transpose(tmp924, (3, 4, 5, 0, 2, 1)) * -2 + del tmp924 + l3new.abbabb += np.transpose(tmp917, (3, 5, 4, 0, 2, 1)) + del tmp917 + l3new.abbabb += np.transpose(tmp918, (3, 4, 5, 0, 2, 1)) + del tmp918 + tmp925 = np.copy(np.transpose(l3.abaaba, (3, 5, 4, 0, 2, 1))) + tmp925 += tmp554 + tmp926 = einsum(v.aabb.ovov, (0, 1, 2, 3), tmp925, (4, 0, 5, 6, 1, 7), (4, 2, 5, 6, 3, 7)) + del tmp925 + l3new.abbabb += np.transpose(tmp926, (3, 4, 5, 0, 1, 2)) + tmp927 = np.copy(tmp321) + del tmp321 + tmp927 += tmp322 * 2 + del tmp322 + tmp927 += tmp325 + del tmp325 + l3new.abbabb += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), tmp927, (5, 6), (1, 0, 2, 4, 6, 3)) + del tmp927 + l3new.abbabb += einsum(v.aabb.ovov, (0, 1, 2, 3), l1.bb, (4, 5), (1, 3, 4, 0, 5, 2)) * -1 + tmp928 = einsum(tmp285, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 6, 3), (4, 6, 0, 5, 1, 2)) * 6 + l3new.abbabb += np.transpose(tmp928, (3, 5, 4, 0, 2, 1)) + tmp849 = np.copy(np.transpose(v.aabb.ovoo, (0, 2, 3, 1))) + tmp849 += tmp140 + tmp929 = einsum(l2.bbbb, (0, 1, 2, 3), tmp849, (4, 3, 5, 6), (4, 2, 5, 6, 0, 1)) * -1 + l3new.abbabb += np.transpose(tmp929, (3, 5, 4, 0, 1, 2)) * -2 + l3new.abbabb += einsum(v.bbbb.ovov, (0, 1, 2, 3), l1.aa, (4, 5), (4, 1, 3, 5, 0, 2)) + l3new.abbabb += einsum(v.bbbb.ovov, (0, 1, 2, 3), l1.aa, (4, 5), (4, 3, 1, 5, 0, 2)) * -1 + tmp6 = einsum(t2.abab, (0, 1, 2, 3), l3.abaaba, (4, 5, 2, 6, 1, 0), (6, 4, 5, 3)) + tmp8 = np.copy(tmp6) + tmp7 = einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t2.bbbb, (3, 5, 6, 2), (4, 1, 0, 6)) + tmp8 += tmp7 + tmp930 = einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp8, (4, 5, 6, 1), (4, 0, 2, 5, 3, 6)) * 2 + l3new.abbabb += np.transpose(tmp930, (3, 5, 4, 0, 2, 1)) + tmp931 = einsum(tmp638, (0, 1, 2, 3), l2.abab, (4, 5, 6, 0), (6, 1, 2, 4, 5, 3)) + l3new.abbabb += np.transpose(tmp931, (3, 4, 5, 0, 1, 2)) + l3new.abbabb += einsum(l1.bb, (0, 1), v.aabb.ovov, (2, 3, 4, 5), (3, 5, 0, 2, 4, 1)) + tmp2 = einsum(t2.aaaa, (0, 1, 2, 3), l3.abaaba, (4, 5, 3, 0, 6, 1), (6, 4, 2, 5)) + tmp16 = np.copy(tmp2) + tmp0 = einsum(t2.abab, (0, 1, 2, 3), l3.babbab, (4, 5, 3, 6, 0, 1), (6, 5, 2, 4)) + tmp16 += tmp0 + tmp667 = einsum(tmp16, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 5, 6), (4, 5, 0, 1, 6, 3)) * 2 + l3new.abbabb += np.transpose(tmp667, (3, 4, 5, 0, 1, 2)) * -1 + tmp110 = np.copy(v.aabb.ooov) + tmp110 += tmp99 + tmp932 = einsum(l2.abab, (0, 1, 2, 3), tmp110, (2, 4, 5, 6), (4, 3, 5, 0, 1, 6)) + l3new.abbabb += np.transpose(tmp932, (3, 5, 4, 0, 2, 1)) * -1 + l3new.abbabb += einsum(l1.bb, (0, 1), v.aabb.ovov, (2, 3, 4, 5), (3, 0, 5, 2, 1, 4)) + l3new.abbabb += einsum(l1.bb, (0, 1), v.aabb.ovov, (2, 3, 4, 5), (3, 0, 5, 2, 4, 1)) * -1 + tmp631 = np.copy(v.aabb.oooo) + tmp108 = einsum(t1.bb, (0, 1), v.aabb.ooov, (2, 3, 4, 1), (2, 3, 0, 4)) + tmp631 += np.transpose(tmp108, (1, 0, 2, 3)) + tmp52 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 5, 3), (0, 4, 1, 5)) + tmp631 += tmp52 + tmp141 = np.copy(np.transpose(v.aabb.ovoo, (0, 2, 3, 1))) + tmp141 += np.transpose(tmp140, (0, 2, 1, 3)) + tmp630 = einsum(t1.aa, (0, 1), tmp141, (2, 3, 4, 1), (0, 2, 3, 4)) + tmp631 += np.transpose(tmp630, (0, 1, 3, 2)) + del tmp630 + tmp933 = einsum(l3.babbab, (0, 1, 2, 3, 4, 5), tmp631, (4, 6, 5, 7), (6, 3, 7, 1, 0, 2)) * -2 + l3new.abbabb += np.transpose(tmp933, (3, 5, 4, 0, 1, 2)) + l3new.abbabb += np.transpose(tmp667, (3, 4, 5, 0, 2, 1)) + tmp629 = np.copy(v.aabb.ooov) + tmp629 += tmp99 + tmp934 = einsum(l2.abab, (0, 1, 2, 3), tmp629, (2, 4, 5, 6), (4, 3, 5, 0, 1, 6)) + l3new.abbabb += np.transpose(tmp934, (3, 5, 4, 0, 1, 2)) + l3new.abbabb += np.transpose(tmp930, (3, 4, 5, 0, 2, 1)) * -1 + del tmp930 + tmp935 = einsum(tmp742, (0, 1, 2, 3), l2.abab, (4, 5, 6, 0), (6, 1, 2, 4, 5, 3)) + l3new.abbabb += np.transpose(tmp935, (3, 5, 4, 0, 2, 1)) * -1 + tmp936 = np.copy(v.bbbb.oooo) + tmp936 += np.transpose(tmp263, (1, 3, 0, 2)) + tmp936 += np.transpose(tmp739, (1, 3, 0, 2)) + tmp936 += np.transpose(tmp272, (2, 1, 0, 3)) + tmp936 += np.transpose(tmp272, (2, 3, 0, 1)) * -1 + l3new.abbabb += einsum(tmp936, (0, 1, 2, 3), l3.babbab, (4, 5, 6, 0, 7, 2), (5, 4, 6, 7, 1, 3)) * 2 + del tmp936 + tmp937 = einsum(tmp8, (0, 1, 2, 3), v.bbbb.ovov, (4, 5, 6, 3), (0, 4, 6, 1, 5, 2)) * 2 + l3new.abbabb += np.transpose(tmp937, (3, 4, 5, 0, 2, 1)) + l3new.abbabb += np.transpose(tmp935, (3, 5, 4, 0, 1, 2)) + del tmp935 + l3new.abbabb += np.transpose(tmp928, (3, 5, 4, 0, 1, 2)) * -1 + del tmp928 + l3new.abbabb += np.transpose(tmp929, (3, 5, 4, 0, 2, 1)) * 2 + del tmp929 + l3new.abbabb += np.transpose(tmp667, (3, 5, 4, 0, 2, 1)) * -1 + l3new.abbabb += np.transpose(tmp934, (3, 4, 5, 0, 1, 2)) * -1 + del tmp934 + l3new.abbabb += np.transpose(tmp937, (3, 5, 4, 0, 2, 1)) * -1 + del tmp937 + l3new.abbabb += np.transpose(tmp931, (3, 4, 5, 0, 2, 1)) * -1 + del tmp931 + l3new.abbabb += np.transpose(tmp667, (3, 5, 4, 0, 1, 2)) + l3new.abbabb += np.transpose(tmp932, (3, 4, 5, 0, 2, 1)) + del tmp932 + l3new.abbabb += np.transpose(tmp536, (3, 4, 5, 0, 1, 2)) * -1 + l3new.abbabb += np.transpose(tmp536, (3, 4, 5, 0, 2, 1)) + l3new.abbabb += np.transpose(tmp204, (3, 4, 5, 0, 1, 2)) + l3new.abbabb += np.transpose(tmp526, (3, 4, 5, 0, 2, 1)) * -2 + l3new.abbabb += np.transpose(tmp204, (3, 4, 5, 0, 2, 1)) * -1 + l3new.abbabb += np.transpose(tmp933, (3, 5, 4, 0, 2, 1)) * -1 + del tmp933 + tmp663 = einsum(tmp579, (0, 1, 2, 3, 4, 5, 6, 7), t1.bb, (2, 7), (0, 1, 3, 4, 5, 6)) + del tmp579 + l3new.abbabb += np.transpose(tmp663, (3, 5, 4, 0, 1, 2)) * 2 + tmp938 = einsum(l3.babbab, (0, 1, 2, 3, 4, 5), v.aabb.vvoo, (6, 1, 7, 5), (4, 3, 7, 6, 0, 2)) + l3new.abbabb += np.transpose(tmp938, (3, 5, 4, 0, 1, 2)) * 2 + l3new.abbabb += np.transpose(tmp663, (3, 5, 4, 0, 2, 1)) * -2 + l3new.abbabb += np.transpose(tmp938, (3, 5, 4, 0, 2, 1)) * -2 + del tmp938 + l3new.abbabb += np.transpose(tmp910, (3, 4, 5, 0, 1, 2)) * 2 + del tmp910 + l3new.abbabb += np.transpose(tmp913, (3, 4, 5, 0, 2, 1)) * 2 + del tmp913 + l3new.abbabb += np.transpose(tmp527, (3, 4, 5, 0, 2, 1)) * 2 + l3new.abbabb += np.transpose(tmp926, (3, 5, 4, 0, 1, 2)) * -1 + del tmp926 + l3new.abbabb += np.transpose(tmp603, (3, 4, 5, 0, 2, 1)) * 2 + l3new.abbabb += np.transpose(tmp721, (3, 4, 5, 0, 2, 1)) * 2 + l3new.abbabb += np.transpose(tmp576, (3, 4, 5, 0, 2, 1)) * -2 + l3new.abbabb += np.transpose(tmp915, (3, 5, 4, 0, 2, 1)) * -4 + del tmp915 + l3new.abbabb += np.transpose(tmp580, (3, 4, 5, 0, 2, 1)) * 2 + tmp182 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 4, 5, 3), (1, 5, 2, 4)) + tmp620 = einsum(tmp182, (0, 1, 2, 3), l3.babbab, (4, 2, 5, 6, 7, 0), (7, 6, 1, 3, 4, 5)) + l3new.abbabb += np.transpose(tmp620, (3, 5, 4, 0, 1, 2)) * -2 + tmp939 = np.copy(np.transpose(v.aabb.ovoo, (0, 2, 3, 1))) + tmp939 += tmp140 * 2 + l3new.abbabb += einsum(tmp577, (0, 1, 2, 3, 4, 5), tmp939, (1, 2, 6, 7), (7, 5, 4, 0, 3, 6)) + del tmp939 + tmp211 = einsum(t1.aa, (0, 1), l2.abab, (1, 2, 3, 4), (3, 0, 4, 2)) + tmp867 = np.copy(tmp211) + tmp120 = einsum(t2.aaaa, (0, 1, 2, 3), l3.abaaba, (2, 4, 3, 5, 6, 1), (5, 0, 6, 4)) + tmp867 += tmp120 + tmp121 = einsum(t2.abab, (0, 1, 2, 3), l3.babbab, (4, 2, 3, 5, 6, 1), (6, 0, 5, 4)) + tmp867 += tmp121 * 2 + tmp940 = einsum(v.aabb.ovov, (0, 1, 2, 3), tmp867, (4, 0, 5, 6), (4, 2, 5, 1, 3, 6)) + l3new.abbabb += np.transpose(tmp940, (3, 4, 5, 0, 2, 1)) + tmp511 = einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t2.abab, (4, 6, 7, 2), (3, 5, 6, 1, 7, 0)) + tmp528 = einsum(v.aabb.ovov, (0, 1, 2, 3), tmp511, (4, 5, 2, 6, 1, 7), (0, 4, 5, 6, 7, 3)) + l3new.abbabb += np.transpose(tmp528, (3, 5, 4, 0, 2, 1)) * 2 + tmp941 = einsum(tmp521, (0, 1, 2, 3, 4, 5), tmp629, (0, 6, 3, 7), (6, 1, 2, 4, 5, 7)) + l3new.abbabb += np.transpose(tmp941, (3, 5, 4, 0, 2, 1)) * 2 + tmp533 = np.copy(np.transpose(tmp292, (1, 0, 2, 3))) * -0.3333333333333333 + tmp533 += np.transpose(tmp128, (1, 0, 2, 3)) * -0.3333333333333333 + tmp533 += np.transpose(tmp129, (1, 0, 2, 3)) * -1 + tmp942 = einsum(tmp533, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 2, 6), (4, 0, 1, 5, 6, 3)) * 3 + l3new.abbabb += np.transpose(tmp942, (3, 4, 5, 0, 2, 1)) * -2 + tmp100 = einsum(l2.abab, (0, 1, 2, 3), t1.bb, (4, 1), (2, 3, 4, 0)) + tmp865 = np.copy(tmp100) + tmp49 = einsum(t2.abab, (0, 1, 2, 3), l3.abaaba, (4, 3, 2, 5, 6, 0), (5, 6, 1, 4)) + tmp865 += tmp49 + tmp50 = einsum(t2.bbbb, (0, 1, 2, 3), l3.babbab, (2, 4, 3, 5, 6, 1), (6, 5, 0, 4)) + tmp865 += tmp50 * 2 + tmp943 = einsum(tmp865, (0, 1, 2, 3), v.bbbb.ovov, (4, 5, 2, 6), (0, 4, 1, 3, 6, 5)) + l3new.abbabb += np.transpose(tmp943, (3, 4, 5, 0, 2, 1)) * -1 + tmp944 = einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp548, (4, 5, 2, 6, 7, 1), (4, 5, 0, 6, 7, 3)) + l3new.abbabb += np.transpose(tmp944, (3, 4, 5, 0, 1, 2)) * -4 + tmp945 = einsum(tmp227, (0, 1, 2, 3), tmp521, (4, 5, 0, 1, 6, 7), (4, 5, 2, 6, 7, 3)) + l3new.abbabb += np.transpose(tmp945, (3, 4, 5, 0, 1, 2)) * 2 + l3new.abbabb += einsum(l2.abab, (0, 1, 2, 3), tmp635, (4, 5), (0, 1, 5, 2, 3, 4)) * -1 + tmp946 = einsum(v.bbbb.ooov, (0, 1, 2, 3), tmp521, (4, 5, 1, 2, 6, 7), (4, 5, 0, 6, 7, 3)) + l3new.abbabb += np.transpose(tmp946, (3, 4, 5, 0, 1, 2)) * 2 + tmp947 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), tmp327, (5, 6, 2, 7), (3, 4, 6, 0, 1, 7)) + l3new.abbabb += np.transpose(tmp947, (3, 4, 5, 0, 1, 2)) * -2 + l3new.abbabb += np.transpose(tmp943, (3, 5, 4, 0, 2, 1)) + del tmp943 + l3new.abbabb += np.transpose(tmp620, (3, 5, 4, 0, 2, 1)) * 2 + tmp948 = np.copy(np.transpose(v.aabb.ovoo, (0, 2, 3, 1))) * 2 + tmp948 += tmp140 + l3new.abbabb += einsum(tmp577, (0, 1, 2, 3, 4, 5), tmp948, (1, 2, 6, 7), (7, 5, 4, 0, 6, 3)) * -1 + del tmp948 + tmp949 = np.copy(tmp211) * 0.5 + tmp949 += tmp120 + tmp949 += tmp121 * 0.5 + tmp950 = einsum(v.aabb.ovov, (0, 1, 2, 3), tmp949, (4, 0, 5, 6), (4, 2, 5, 1, 3, 6)) * 2 + del tmp949 + l3new.abbabb += np.transpose(tmp950, (3, 4, 5, 0, 1, 2)) * -1 + tmp951 = np.copy(tmp100) + tmp951 += tmp49 * 2 + tmp951 += tmp50 + tmp952 = einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp951, (4, 5, 2, 6), (4, 0, 5, 6, 3, 1)) + del tmp951 + l3new.abbabb += np.transpose(tmp952, (3, 4, 5, 0, 1, 2)) + l3new.abbabb += np.transpose(tmp944, (3, 4, 5, 0, 2, 1)) * 4 + l3new.abbabb += np.transpose(tmp945, (3, 4, 5, 0, 2, 1)) * -2 + l3new.abbabb += einsum(tmp635, (0, 1), l2.abab, (2, 3, 4, 5), (2, 3, 1, 4, 0, 5)) + l3new.abbabb += np.transpose(tmp946, (3, 4, 5, 0, 2, 1)) * -2 + l3new.abbabb += np.transpose(tmp947, (3, 4, 5, 0, 2, 1)) * 2 + l3new.abbabb += np.transpose(tmp952, (3, 5, 4, 0, 1, 2)) * -1 + del tmp952 + l3new.abbabb += np.transpose(tmp944, (3, 5, 4, 0, 1, 2)) * 4 + l3new.abbabb += np.transpose(tmp945, (3, 5, 4, 0, 1, 2)) * -2 + l3new.abbabb += einsum(l2.abab, (0, 1, 2, 3), tmp635, (4, 5), (0, 5, 1, 2, 3, 4)) + l3new.abbabb += np.transpose(tmp946, (3, 5, 4, 0, 1, 2)) * -2 + l3new.abbabb += np.transpose(tmp947, (3, 5, 4, 0, 1, 2)) * 2 + tmp953 = einsum(tmp577, (0, 1, 2, 3, 4, 5), tmp77, (0, 1, 6, 7), (6, 2, 3, 7, 4, 5)) + l3new.abbabb += np.transpose(tmp953, (3, 5, 4, 0, 2, 1)) * 2 + del tmp953 + l3new.abbabb += einsum(l2.bbbb, (0, 1, 2, 3), tmp499, (4, 5), (5, 0, 1, 4, 2, 3)) * -2 + tmp954 = einsum(v.aaaa.ooov, (0, 1, 2, 3), tmp577, (1, 2, 4, 5, 6, 7), (0, 4, 5, 3, 6, 7)) + l3new.abbabb += np.transpose(tmp954, (3, 5, 4, 0, 2, 1)) * 2 + del tmp954 + tmp955 = einsum(v.aaaa.ovov, (0, 1, 2, 3), tmp897, (2, 4, 5, 1, 6, 7), (0, 4, 5, 3, 6, 7)) * 2 + del tmp897 + l3new.abbabb += np.transpose(tmp955, (3, 5, 4, 0, 2, 1)) * -2 + del tmp955 + l3new.abbabb += np.transpose(tmp944, (3, 5, 4, 0, 2, 1)) * -4 + del tmp944 + l3new.abbabb += np.transpose(tmp945, (3, 5, 4, 0, 2, 1)) * 2 + del tmp945 + l3new.abbabb += einsum(tmp635, (0, 1), l2.abab, (2, 3, 4, 5), (2, 1, 3, 4, 0, 5)) * -1 + l3new.abbabb += np.transpose(tmp946, (3, 5, 4, 0, 2, 1)) * 2 + del tmp946 + l3new.abbabb += np.transpose(tmp947, (3, 5, 4, 0, 2, 1)) * -2 + del tmp947 + l3new.abbabb += np.transpose(tmp940, (3, 5, 4, 0, 2, 1)) * -1 + del tmp940 + l3new.abbabb += np.transpose(tmp942, (3, 5, 4, 0, 2, 1)) * 2 + del tmp942 + l3new.abbabb += np.transpose(tmp950, (3, 5, 4, 0, 1, 2)) + del tmp950 + tmp956 = einsum(v.aabb.ovov, (0, 1, 2, 3), tmp120, (4, 0, 5, 6), (4, 5, 2, 1, 6, 3)) * -1 + l3new.abbabb += np.transpose(tmp956, (3, 5, 4, 0, 1, 2)) * -1 + tmp578 = einsum(v.aabb.ovoo, (0, 1, 2, 3), tmp577, (4, 0, 5, 3, 6, 7), (4, 5, 2, 1, 6, 7)) + l3new.abbabb += np.transpose(tmp578, (3, 5, 4, 0, 1, 2)) * -1 + tmp957 = einsum(tmp49, (0, 1, 2, 3), v.bbbb.ovov, (4, 5, 2, 6), (0, 1, 4, 3, 5, 6)) + l3new.abbabb += np.transpose(tmp957, (3, 4, 5, 0, 1, 2)) + l3new.abbabb += np.transpose(tmp528, (3, 4, 5, 0, 2, 1)) * -2 + l3new.abbabb += np.transpose(tmp941, (3, 4, 5, 0, 2, 1)) * -2 + del tmp941 + l3new.abbabb += np.transpose(tmp957, (3, 5, 4, 0, 1, 2)) * -1 + del tmp957 + tmp958 = einsum(v.aabb.ovov, (0, 1, 2, 3), tmp121, (4, 0, 5, 6), (4, 5, 2, 1, 6, 3)) + l3new.abbabb += np.transpose(tmp958, (3, 5, 4, 0, 2, 1)) * -1 + tmp664 = einsum(tmp140, (0, 1, 2, 3), tmp577, (4, 0, 5, 1, 6, 7), (4, 5, 2, 3, 6, 7)) + del tmp577 + l3new.abbabb += np.transpose(tmp664, (3, 5, 4, 0, 2, 1)) + tmp959 = einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp50, (4, 5, 2, 6), (4, 5, 0, 6, 1, 3)) * -1 + l3new.abbabb += np.transpose(tmp959, (3, 5, 4, 0, 2, 1)) * -1 + l3new.abbabb += np.transpose(tmp959, (3, 4, 5, 0, 2, 1)) + del tmp959 + l3new.abbabb += np.transpose(tmp956, (3, 4, 5, 0, 1, 2)) + del tmp956 + l3new.abbabb += np.transpose(tmp958, (3, 4, 5, 0, 2, 1)) + del tmp958 + tmp97 = einsum(v.aabb.ovvv, (0, 1, 2, 3), l2.abab, (4, 3, 5, 6), (5, 0, 6, 4, 1, 2)) + l3new.aabaab = np.copy(np.transpose(tmp97, (4, 3, 5, 0, 1, 2))) * -1 + tmp518 = einsum(tmp517, (0, 1, 2, 3, 4, 5, 6, 7), t1.bb, (3, 7), (0, 1, 2, 4, 5, 6)) + del tmp517 + l3new.aabaab += np.transpose(tmp518, (4, 3, 5, 0, 1, 2)) * -2 + tmp796 = einsum(tmp521, (0, 1, 2, 3, 4, 5), v.aabb.ovoo, (6, 7, 3, 2), (0, 6, 1, 4, 7, 5)) + l3new.aabaab += np.transpose(tmp796, (4, 3, 5, 0, 1, 2)) * 2 + tmp522 = einsum(tmp140, (0, 1, 2, 3), tmp521, (4, 5, 1, 2, 6, 7), (4, 0, 5, 6, 3, 7)) + del tmp521 + l3new.aabaab += np.transpose(tmp522, (4, 3, 5, 0, 1, 2)) * 2 + tmp570 = einsum(v.aaaa.ovoo, (0, 1, 2, 3), tmp473, (4, 3, 2, 5, 6, 7), (4, 0, 5, 6, 1, 7)) + l3new.aabaab += np.transpose(tmp570, (4, 3, 5, 0, 1, 2)) * 2 + tmp512 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t2.abab, (5, 6, 2, 7), (3, 4, 6, 0, 1, 7)) + tmp520 = einsum(v.aabb.ovov, (0, 1, 2, 3), tmp512, (4, 5, 2, 6, 7, 3), (4, 0, 5, 6, 1, 7)) + l3new.aabaab += np.transpose(tmp520, (4, 3, 5, 0, 1, 2)) * -2 + tmp797 = einsum(v.aaaa.ovov, (0, 1, 2, 3), tmp515, (4, 2, 5, 6, 3, 7), (4, 0, 5, 6, 1, 7)) + l3new.aabaab += np.transpose(tmp797, (4, 3, 5, 0, 1, 2)) * -4 + tmp519 = einsum(tmp473, (0, 1, 2, 3, 4, 5), tmp77, (0, 6, 2, 7), (1, 6, 3, 4, 7, 5)) * -1 + l3new.aabaab += np.transpose(tmp519, (4, 3, 5, 0, 1, 2)) * 2 + tmp798 = np.copy(np.transpose(v.aabb.ovov, (0, 2, 1, 3))) + tmp798 += tmp148 * 0.500000000000005 + tmp1 = einsum(t2.bbbb, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (4, 0, 5, 2)) + tmp798 += tmp1 + tmp799 = einsum(tmp798, (0, 1, 2, 3), l3.babbab, (4, 5, 3, 6, 7, 1), (7, 0, 6, 5, 2, 4)) * 2 + del tmp798 + l3new.aabaab += np.transpose(tmp799, (4, 3, 5, 0, 1, 2)) * -1 + tmp800 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), tmp761, (5, 6, 2, 7), (3, 6, 4, 0, 7, 1)) + del tmp761 + l3new.aabaab += np.transpose(tmp800, (4, 3, 5, 0, 1, 2)) * -2 + tmp516 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), v.aaaa.ovvv, (6, 7, 8, 2), (3, 5, 6, 4, 0, 7, 8, 1)) + tmp801 = np.copy(np.transpose(tmp516, (1, 0, 2, 3, 4, 5, 6, 7))) + tmp801 += np.transpose(tmp516, (1, 0, 2, 3, 4, 6, 5, 7)) * -1 + tmp802 = einsum(t1.aa, (0, 1), tmp801, (0, 2, 3, 4, 5, 1, 6, 7), (2, 3, 4, 5, 6, 7)) + l3new.aabaab += np.transpose(tmp802, (4, 3, 5, 0, 1, 2)) * 2 + tmp803 = np.copy(f.aa.oo) * 0.5 + tmp803 += np.transpose(tmp161, (1, 0)) * 0.5 + tmp803 += tmp162 * 2 + tmp803 += tmp163 + tmp803 += tmp770 * -1 + del tmp770 + tmp803 += tmp165 + l3new.aabaab += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), tmp803, (5, 6), (0, 2, 1, 3, 6, 4)) * -2 + del tmp803 + l3new.aabaab += einsum(l2.abab, (0, 1, 2, 3), tmp433, (4, 5), (5, 0, 1, 2, 4, 3)) * -1 + tmp804 = einsum(v.aabb.vvov, (0, 1, 2, 3), l3.aaaaaa, (4, 5, 1, 6, 7, 8), (6, 7, 8, 2, 4, 5, 0, 3)) + tmp805 = einsum(t1.aa, (0, 1), tmp804, (2, 0, 3, 4, 5, 6, 1, 7), (2, 3, 4, 5, 6, 7)) * -1 + del tmp804 + l3new.aabaab += np.transpose(tmp805, (4, 3, 5, 1, 0, 2)) * 6 + del tmp805 + tmp539 = einsum(v.aabb.vvov, (0, 1, 2, 3), l2.aaaa, (4, 1, 5, 6), (5, 6, 2, 4, 0, 3)) + l3new.aabaab += np.transpose(tmp539, (4, 3, 5, 1, 0, 2)) * 2 + tmp806 = einsum(v.bbbb.ovoo, (0, 1, 2, 3), tmp381, (4, 5, 3, 2, 6, 7), (4, 5, 0, 6, 7, 1)) + l3new.aabaab += np.transpose(tmp806, (4, 3, 5, 1, 0, 2)) * -2 + del tmp806 + tmp807 = einsum(tmp227, (0, 1, 2, 3), tmp381, (4, 5, 0, 2, 6, 7), (4, 5, 1, 6, 7, 3)) + l3new.aabaab += np.transpose(tmp807, (4, 3, 5, 1, 0, 2)) * -2 + del tmp807 + tmp808 = einsum(tmp383, (0, 1, 2, 3, 4, 5), v.aabb.ooov, (3, 1, 6, 7), (0, 2, 6, 4, 5, 7)) * -1 + l3new.aabaab += np.transpose(tmp808, (4, 3, 5, 1, 0, 2)) * -6 + del tmp808 + tmp809 = einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp375, (4, 5, 2, 6, 7, 3), (4, 5, 0, 6, 7, 1)) + l3new.aabaab += np.transpose(tmp809, (4, 3, 5, 1, 0, 2)) * 6 + del tmp809 + tmp810 = einsum(tmp99, (0, 1, 2, 3), tmp383, (4, 0, 5, 1, 6, 7), (4, 5, 2, 6, 7, 3)) * -1 + del tmp383 + l3new.aabaab += np.transpose(tmp810, (4, 3, 5, 1, 0, 2)) * -6 + del tmp810 + tmp811 = np.copy(np.transpose(v.bbbb.ovov, (0, 2, 1, 3))) * 0.499999999999995 + tmp811 += v.bbbb.oovv * -0.499999999999995 + tmp279 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 5), (1, 4, 3, 5)) + tmp811 += tmp279 * 0.5 + tmp811 += tmp306 + tmp812 = einsum(tmp811, (0, 1, 2, 3), l3.abaaba, (4, 2, 5, 6, 0, 7), (6, 7, 1, 4, 5, 3)) * 2 + del tmp811 + l3new.aabaab += np.transpose(tmp812, (4, 3, 5, 1, 0, 2)) * 2 + del tmp812 + tmp813 = np.copy(np.transpose(l3.aaaaaa, (3, 4, 5, 0, 1, 2))) * 0.49999999999999506 + tmp813 += np.transpose(tmp374, (2, 1, 0, 4, 5, 3)) * -1 + tmp814 = einsum(v.aabb.ovov, (0, 1, 2, 3), tmp813, (0, 4, 5, 6, 1, 7), (4, 5, 2, 6, 7, 3)) * 6 + del tmp813 + l3new.aabaab += np.transpose(tmp814, (4, 3, 5, 0, 1, 2)) * 2 + del tmp814 + tmp815 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), v.bbbb.ovvv, (6, 7, 8, 1), (3, 5, 4, 6, 0, 2, 7, 8)) + tmp816 = np.copy(np.transpose(tmp815, (1, 0, 2, 3, 5, 4, 6, 7))) * -1 + tmp816 += np.transpose(tmp815, (1, 0, 2, 3, 5, 4, 7, 6)) + del tmp815 + tmp817 = einsum(t1.bb, (0, 1), tmp816, (2, 3, 0, 4, 5, 6, 7, 1), (2, 3, 4, 5, 6, 7)) + del tmp816 + l3new.aabaab += np.transpose(tmp817, (4, 3, 5, 1, 0, 2)) * -2 + del tmp817 + l3new.aabaab += einsum(tmp543, (0, 1), l2.aaaa, (2, 3, 4, 5), (2, 3, 1, 4, 5, 0)) * 2 + l3new.aabaab += np.transpose(tmp97, (4, 3, 5, 1, 0, 2)) + l3new.aabaab += np.transpose(tmp518, (4, 3, 5, 1, 0, 2)) * 2 + l3new.aabaab += np.transpose(tmp796, (4, 3, 5, 1, 0, 2)) * -2 + l3new.aabaab += np.transpose(tmp522, (4, 3, 5, 1, 0, 2)) * -2 + l3new.aabaab += np.transpose(tmp570, (4, 3, 5, 1, 0, 2)) * -2 + l3new.aabaab += np.transpose(tmp520, (4, 3, 5, 1, 0, 2)) + l3new.aabaab += np.transpose(tmp797, (4, 3, 5, 1, 0, 2)) * 4 + l3new.aabaab += np.transpose(tmp519, (4, 3, 5, 1, 0, 2)) * -2 + tmp818 = np.copy(np.transpose(v.aabb.ovov, (0, 2, 1, 3))) + tmp818 += tmp148 * 2 + tmp818 += tmp1 * 4 + tmp819 = einsum(tmp818, (0, 1, 2, 3), l3.babbab, (4, 5, 3, 6, 7, 1), (7, 0, 6, 5, 2, 4)) + del tmp818 + l3new.aabaab += np.transpose(tmp819, (4, 3, 5, 1, 0, 2)) + l3new.aabaab += np.transpose(tmp800, (4, 3, 5, 1, 0, 2)) * 2 + l3new.aabaab += np.transpose(tmp802, (4, 3, 5, 1, 0, 2)) * -2 + del tmp802 + tmp820 = np.copy(f.aa.oo) * 2 + tmp820 += np.transpose(tmp161, (1, 0)) * 2 + tmp820 += tmp162 * 2 + tmp820 += tmp163 + tmp820 += einsum(t1.aa, (0, 1), tmp31, (0, 2, 3, 1), (2, 3)) * -2 + tmp820 += tmp165 + del tmp165 + l3new.aabaab += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), tmp820, (5, 6), (0, 2, 1, 6, 3, 4)) + del tmp820 + l3new.aabaab += einsum(l2.abab, (0, 1, 2, 3), tmp433, (4, 5), (5, 0, 1, 4, 2, 3)) + l3new.aabaab += np.transpose(tmp518, (3, 4, 5, 0, 1, 2)) * 2 + tmp523 = einsum(l2.abab, (0, 1, 2, 3), v.aaaa.ovvv, (4, 5, 6, 0), (2, 4, 3, 5, 6, 1)) + l3new.aabaab += np.transpose(tmp523, (4, 3, 5, 0, 1, 2)) + l3new.aabaab += np.transpose(tmp796, (3, 4, 5, 0, 1, 2)) * -2 + l3new.aabaab += np.transpose(tmp522, (3, 4, 5, 0, 1, 2)) * -2 + l3new.aabaab += np.transpose(tmp570, (3, 4, 5, 0, 1, 2)) * -2 + l3new.aabaab += np.transpose(tmp520, (3, 4, 5, 0, 1, 2)) * 2 + l3new.aabaab += np.transpose(tmp797, (3, 4, 5, 0, 1, 2)) * 4 + l3new.aabaab += np.transpose(tmp519, (3, 4, 5, 0, 1, 2)) * -2 + l3new.aabaab += np.transpose(tmp799, (3, 4, 5, 0, 1, 2)) + del tmp799 + l3new.aabaab += np.transpose(tmp800, (3, 4, 5, 0, 1, 2)) * 2 + l3new.aabaab += einsum(t1.aa, (0, 1), tmp801, (0, 2, 3, 4, 5, 6, 1, 7), (5, 6, 7, 2, 3, 4)) * 2 + del tmp801 + l3new.aabaab += einsum(l2.abab, (0, 1, 2, 3), tmp433, (4, 5), (0, 5, 1, 2, 4, 3)) + l3new.aabaab += np.transpose(tmp518, (3, 4, 5, 1, 0, 2)) * -2 + l3new.aabaab += np.transpose(tmp523, (4, 3, 5, 1, 0, 2)) * -1 + l3new.aabaab += np.transpose(tmp796, (3, 4, 5, 1, 0, 2)) * 2 + del tmp796 + l3new.aabaab += np.transpose(tmp522, (3, 4, 5, 1, 0, 2)) * 2 + l3new.aabaab += np.transpose(tmp570, (3, 4, 5, 1, 0, 2)) * 2 + l3new.aabaab += np.transpose(tmp520, (3, 4, 5, 1, 0, 2)) * -1 + l3new.aabaab += np.transpose(tmp797, (3, 4, 5, 1, 0, 2)) * -4 + del tmp797 + l3new.aabaab += np.transpose(tmp519, (3, 4, 5, 1, 0, 2)) * 2 + l3new.aabaab += np.transpose(tmp819, (3, 4, 5, 1, 0, 2)) * -1 + del tmp819 + l3new.aabaab += np.transpose(tmp800, (3, 4, 5, 1, 0, 2)) * -2 + del tmp800 + tmp821 = np.copy(np.transpose(tmp516, (1, 0, 2, 3, 4, 5, 6, 7))) * -1 + tmp821 += np.transpose(tmp516, (1, 0, 2, 3, 4, 6, 5, 7)) + tmp822 = einsum(t1.aa, (0, 1), tmp821, (0, 2, 3, 4, 5, 1, 6, 7), (2, 3, 4, 5, 6, 7)) + del tmp821 + l3new.aabaab += np.transpose(tmp822, (3, 4, 5, 1, 0, 2)) * -2 + del tmp822 + l3new.aabaab += einsum(tmp433, (0, 1), l2.abab, (2, 3, 4, 5), (2, 1, 3, 0, 4, 5)) * -1 + tmp823 = np.copy(tmp148) + tmp823 += tmp1 * 2 + tmp824 = einsum(tmp823, (0, 1, 2, 3), l3.babbab, (4, 5, 3, 6, 7, 1), (7, 0, 6, 5, 2, 4)) + del tmp823 + l3new.aabaab += np.transpose(tmp824, (4, 3, 5, 0, 1, 2)) * -1 + tmp826 = np.copy(f.aa.oo) + tmp826 += np.transpose(tmp161, (1, 0)) + del tmp161 + tmp825 = np.copy(v.aaaa.ooov) + tmp825 += np.transpose(v.aaaa.ovoo, (0, 2, 3, 1)) * -1 + tmp826 += einsum(t1.aa, (0, 1), tmp825, (0, 2, 3, 1), (2, 3)) * -1 + del tmp825 + l3new.aabaab += einsum(tmp826, (0, 1), l3.abaaba, (2, 3, 4, 5, 6, 0), (2, 4, 3, 5, 1, 6)) * -1 + del tmp826 + tmp827 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), v.aabb.vvoo, (6, 2, 7, 4), (3, 5, 7, 0, 6, 1)) + l3new.aabaab += np.transpose(tmp827, (4, 3, 5, 1, 0, 2)) * -2 + tmp558 = einsum(tmp470, (0, 1, 2, 3, 4, 5, 6, 7), t1.bb, (2, 7), (0, 1, 3, 4, 5, 6)) + l3new.aabaab += np.transpose(tmp558, (4, 3, 5, 1, 0, 2)) * -2 + tmp828 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), tmp326, (4, 6), (3, 5, 6, 0, 2, 1)) + l3new.aabaab += np.transpose(tmp828, (4, 3, 5, 1, 0, 2)) * -2 + del tmp828 + tmp469 = einsum(t1.aa, (0, 1), tmp397, (2, 3, 0, 4, 5, 1, 6, 7), (2, 3, 4, 5, 6, 7)) + l3new.aabaab += np.transpose(tmp469, (4, 3, 5, 1, 0, 2)) * -2 + tmp468 = einsum(v.aabb.vvvv, (0, 1, 2, 3), l3.abaaba, (4, 3, 1, 5, 6, 7), (5, 7, 6, 4, 0, 2)) + l3new.aabaab += np.transpose(tmp468, (4, 3, 5, 1, 0, 2)) * 2 + tmp440 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t2.abab, (6, 7, 2, 1), (3, 5, 6, 4, 7, 0)) + tmp475 = np.copy(np.transpose(tmp440, (1, 0, 2, 3, 4, 5))) * -1 + tmp474 = einsum(tmp473, (0, 1, 2, 3, 4, 5), t1.bb, (6, 5), (0, 1, 2, 3, 6, 4)) + tmp475 += np.transpose(tmp474, (1, 0, 2, 3, 4, 5)) * -1 + del tmp474 + tmp829 = einsum(v.aabb.ovov, (0, 1, 2, 3), tmp475, (4, 5, 0, 6, 2, 7), (4, 5, 6, 1, 7, 3)) * 0.5 + l3new.aabaab += np.transpose(tmp829, (3, 4, 5, 1, 0, 2)) * 4 + tmp830 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), tmp484, (6, 2), (3, 5, 4, 0, 6, 1)) * -1 + l3new.aabaab += np.transpose(tmp830, (4, 3, 5, 1, 0, 2)) * 2 + tmp831 = einsum(tmp473, (0, 1, 2, 3, 4, 5), tmp160, (2, 6), (0, 1, 3, 6, 4, 5)) + l3new.aabaab += np.transpose(tmp831, (3, 4, 5, 1, 0, 2)) * -1 + tmp832 = einsum(tmp473, (0, 1, 2, 3, 4, 5), tmp589, (2, 6), (0, 1, 3, 4, 6, 5)) + l3new.aabaab += np.transpose(tmp832, (4, 3, 5, 1, 0, 2)) * -1 + tmp471 = einsum(tmp470, (0, 1, 2, 3, 4, 5, 6, 7), t1.bb, (3, 6), (0, 1, 2, 4, 5, 7)) + del tmp470 + l3new.aabaab += np.transpose(tmp471, (4, 3, 5, 1, 0, 2)) * -2 + tmp833 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), tmp362, (1, 6), (3, 5, 4, 0, 2, 6)) + l3new.aabaab += np.transpose(tmp833, (4, 3, 5, 1, 0, 2)) * -2 + del tmp833 + tmp837 = einsum(tmp381, (0, 1, 2, 3, 4, 5), tmp836, (3, 6), (0, 1, 2, 4, 5, 6)) + del tmp836 + l3new.aabaab += np.transpose(tmp837, (4, 3, 5, 1, 0, 2)) * -2 + del tmp837 + tmp571 = einsum(t1.aa, (0, 1), tmp516, (2, 3, 0, 4, 1, 5, 6, 7), (2, 3, 4, 5, 6, 7)) + l3new.aabaab += np.transpose(tmp571, (4, 3, 5, 1, 0, 2)) * -2 + tmp569 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), v.aaaa.vvvv, (6, 0, 7, 2), (3, 5, 4, 6, 7, 1)) + l3new.aabaab += np.transpose(tmp569, (4, 3, 5, 1, 0, 2)) * 2 + tmp562 = einsum(t2.aaaa, (0, 1, 2, 3), l3.abaaba, (2, 4, 3, 5, 6, 7), (5, 7, 0, 1, 6, 4)) + tmp574 = np.copy(np.transpose(tmp562, (1, 0, 3, 2, 4, 5))) + tmp573 = einsum(tmp473, (0, 1, 2, 3, 4, 5), t1.aa, (6, 4), (0, 1, 2, 6, 3, 5)) * -1 + tmp574 += np.transpose(tmp573, (1, 0, 3, 2, 4, 5)) + del tmp573 + tmp838 = einsum(tmp574, (0, 1, 2, 3, 4, 5), v.aaaa.ovov, (2, 6, 3, 7), (0, 1, 4, 6, 7, 5)) * 0.5 + l3new.aabaab += np.transpose(tmp838, (4, 3, 5, 1, 0, 2)) * 4 + del tmp838 + l3new.aabaab += np.transpose(tmp830, (3, 4, 5, 1, 0, 2)) * -1 + del tmp830 + l3new.aabaab += np.transpose(tmp831, (4, 3, 5, 1, 0, 2)) + del tmp831 + tmp839 = np.copy(f.aa.vv) * -0.5 + tmp839 += np.transpose(tmp219, (1, 0)) * -0.5 + del tmp219 + tmp839 += np.transpose(tmp220, (1, 0)) + del tmp220 + tmp839 += np.transpose(tmp221, (1, 0)) * 0.5 + del tmp221 + tmp839 += einsum(t1.aa, (0, 1), tmp58, (0, 1, 2, 3), (3, 2)) * -0.5 + l3new.aabaab += einsum(tmp839, (0, 1), l3.abaaba, (2, 3, 1, 4, 5, 6), (2, 0, 3, 4, 6, 5)) * -2 + del tmp839 + l3new.aabaab += np.transpose(tmp832, (3, 4, 5, 1, 0, 2)) + del tmp832 + tmp840 = np.copy(np.transpose(l3.babbab, (4, 3, 5, 1, 0, 2))) + tmp840 += tmp512 + tmp841 = einsum(tmp840, (0, 1, 2, 3, 4, 5), v.aabb.ovov, (6, 7, 2, 5), (6, 0, 1, 7, 3, 4)) + del tmp840 + l3new.aabaab += np.transpose(tmp841, (3, 4, 5, 0, 1, 2)) + tmp842 = np.copy(tmp162) + del tmp162 + tmp842 += tmp163 * 0.5 + del tmp163 + tmp842 += tmp771 + del tmp771 + l3new.aabaab += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), tmp842, (5, 6), (0, 2, 1, 6, 3, 4)) * 2 + del tmp842 + l3new.aabaab += einsum(v.aabb.ovov, (0, 1, 2, 3), l1.aa, (4, 5), (1, 4, 3, 5, 0, 2)) * -1 + tmp843 = einsum(tmp19, (0, 1, 2, 3), v.aabb.ovov, (4, 3, 5, 6), (4, 0, 5, 1, 2, 6)) * 6 + l3new.aabaab += np.transpose(tmp843, (4, 3, 5, 1, 0, 2)) + tmp844 = einsum(tmp629, (0, 1, 2, 3), l2.aaaa, (4, 5, 6, 0), (6, 1, 2, 4, 5, 3)) * -1 + l3new.aabaab += np.transpose(tmp844, (4, 3, 5, 0, 1, 2)) * -2 + l3new.aabaab += einsum(l1.bb, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (3, 5, 0, 2, 4, 1)) + l3new.aabaab += einsum(l1.bb, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (5, 3, 0, 2, 4, 1)) * -1 + tmp845 = einsum(tmp16, (0, 1, 2, 3), v.aaaa.ovov, (4, 2, 5, 6), (4, 5, 0, 1, 6, 3)) * 2 + l3new.aabaab += np.transpose(tmp845, (3, 4, 5, 1, 0, 2)) + tmp846 = einsum(l2.abab, (0, 1, 2, 3), tmp366, (2, 4, 5, 6), (4, 5, 3, 0, 6, 1)) + l3new.aabaab += np.transpose(tmp846, (3, 4, 5, 0, 1, 2)) + l3new.aabaab += einsum(l1.aa, (0, 1), v.aabb.ovov, (2, 3, 4, 5), (3, 0, 5, 2, 1, 4)) + tmp437 = einsum(v.aabb.ovov, (0, 1, 2, 3), tmp8, (4, 5, 6, 3), (0, 4, 2, 1, 5, 6)) * 2 + l3new.aabaab += np.transpose(tmp437, (3, 4, 5, 0, 1, 2)) * -1 + tmp297 = np.copy(np.transpose(v.aabb.ovoo, (0, 2, 3, 1))) + tmp297 += tmp140 + tmp847 = einsum(tmp297, (0, 1, 2, 3), l2.abab, (4, 5, 6, 1), (6, 0, 2, 4, 3, 5)) + l3new.aabaab += np.transpose(tmp847, (4, 3, 5, 1, 0, 2)) * -1 + l3new.aabaab += einsum(v.aabb.ovov, (0, 1, 2, 3), l1.aa, (4, 5), (4, 1, 3, 5, 0, 2)) + l3new.aabaab += einsum(v.aabb.ovov, (0, 1, 2, 3), l1.aa, (4, 5), (4, 1, 3, 0, 5, 2)) * -1 + tmp848 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), tmp631, (5, 6, 4, 7), (3, 6, 7, 0, 2, 1)) * -2 + l3new.aabaab += np.transpose(tmp848, (4, 3, 5, 0, 1, 2)) + l3new.aabaab += np.transpose(tmp437, (3, 4, 5, 1, 0, 2)) + tmp850 = einsum(tmp849, (0, 1, 2, 3), l2.abab, (4, 5, 6, 1), (6, 0, 2, 4, 3, 5)) + l3new.aabaab += np.transpose(tmp850, (4, 3, 5, 0, 1, 2)) + l3new.aabaab += np.transpose(tmp845, (4, 3, 5, 1, 0, 2)) * -1 + del tmp845 + tmp851 = einsum(l2.abab, (0, 1, 2, 3), tmp497, (2, 4, 5, 6), (4, 5, 3, 0, 6, 1)) + l3new.aabaab += np.transpose(tmp851, (4, 3, 5, 1, 0, 2)) * -1 + tmp852 = np.copy(v.aaaa.oooo) + tmp852 += np.transpose(tmp47, (1, 3, 2, 0)) + tmp852 += np.transpose(tmp494, (1, 3, 2, 0)) + tmp852 += np.transpose(tmp54, (2, 1, 3, 0)) + tmp852 += np.transpose(tmp54, (2, 3, 1, 0)) * -1 + l3new.aabaab += einsum(tmp852, (0, 1, 2, 3), l3.abaaba, (4, 5, 6, 0, 7, 3), (4, 6, 5, 2, 1, 7)) * -2 + del tmp852 + tmp853 = einsum(tmp16, (0, 1, 2, 3), v.aaaa.ovov, (4, 5, 6, 2), (4, 6, 0, 1, 5, 3)) * 2 + l3new.aabaab += np.transpose(tmp853, (4, 3, 5, 1, 0, 2)) + l3new.aabaab += np.transpose(tmp851, (4, 3, 5, 0, 1, 2)) + del tmp851 + l3new.aabaab += np.transpose(tmp843, (4, 3, 5, 0, 1, 2)) * -1 + del tmp843 + l3new.aabaab += np.transpose(tmp844, (4, 3, 5, 1, 0, 2)) * 2 + del tmp844 + l3new.aabaab += np.transpose(tmp437, (4, 3, 5, 1, 0, 2)) * -1 + l3new.aabaab += np.transpose(tmp850, (3, 4, 5, 0, 1, 2)) * -1 + del tmp850 + l3new.aabaab += np.transpose(tmp853, (3, 4, 5, 1, 0, 2)) * -1 + del tmp853 + l3new.aabaab += np.transpose(tmp846, (3, 4, 5, 1, 0, 2)) * -1 + del tmp846 + l3new.aabaab += np.transpose(tmp437, (4, 3, 5, 0, 1, 2)) + l3new.aabaab += np.transpose(tmp847, (3, 4, 5, 1, 0, 2)) + del tmp847 + l3new.aabaab += np.transpose(tmp523, (3, 4, 5, 0, 1, 2)) * -1 + l3new.aabaab += np.transpose(tmp523, (3, 4, 5, 1, 0, 2)) + l3new.aabaab += np.transpose(tmp97, (3, 4, 5, 0, 1, 2)) + l3new.aabaab += np.transpose(tmp539, (3, 4, 5, 1, 0, 2)) * -2 + l3new.aabaab += np.transpose(tmp97, (3, 4, 5, 1, 0, 2)) * -1 + l3new.aabaab += np.transpose(tmp848, (4, 3, 5, 1, 0, 2)) * -1 + del tmp848 + tmp398 = einsum(t1.aa, (0, 1), tmp397, (2, 0, 3, 4, 5, 6, 1, 7), (2, 3, 4, 5, 6, 7)) + del tmp397 + l3new.aabaab += np.transpose(tmp398, (4, 3, 5, 0, 1, 2)) * 2 + tmp396 = einsum(v.aabb.oovv, (0, 1, 2, 3), l3.abaaba, (4, 3, 5, 6, 7, 1), (6, 0, 7, 4, 5, 2)) + l3new.aabaab += np.transpose(tmp396, (4, 3, 5, 0, 1, 2)) * 2 + l3new.aabaab += np.transpose(tmp398, (4, 3, 5, 1, 0, 2)) * -2 + l3new.aabaab += np.transpose(tmp396, (4, 3, 5, 1, 0, 2)) * -2 + l3new.aabaab += np.transpose(tmp824, (3, 4, 5, 0, 1, 2)) + del tmp824 + l3new.aabaab += np.transpose(tmp827, (3, 4, 5, 1, 0, 2)) * 2 + del tmp827 + l3new.aabaab += np.transpose(tmp558, (3, 4, 5, 1, 0, 2)) * 2 + l3new.aabaab += np.transpose(tmp841, (4, 3, 5, 0, 1, 2)) * -1 + del tmp841 + l3new.aabaab += np.transpose(tmp571, (3, 4, 5, 1, 0, 2)) * 2 + l3new.aabaab += np.transpose(tmp468, (3, 4, 5, 1, 0, 2)) * -2 + l3new.aabaab += np.transpose(tmp471, (3, 4, 5, 1, 0, 2)) * 2 + l3new.aabaab += np.transpose(tmp829, (4, 3, 5, 1, 0, 2)) * -4 + del tmp829 + l3new.aabaab += np.transpose(tmp469, (3, 4, 5, 1, 0, 2)) * 2 + tmp369 = einsum(t2.abab, (0, 1, 2, 3), l3.abaaba, (4, 3, 5, 6, 7, 0), (6, 7, 1, 4, 5, 2)) + tmp399 = einsum(v.aabb.ovov, (0, 1, 2, 3), tmp369, (4, 5, 2, 6, 7, 1), (4, 0, 5, 6, 7, 3)) + l3new.aabaab += np.transpose(tmp399, (4, 3, 5, 0, 1, 2)) * -2 + tmp854 = np.copy(v.aabb.ooov) + tmp854 += tmp99 * 2 + l3new.aabaab += einsum(tmp854, (0, 1, 2, 3), tmp381, (0, 4, 5, 2, 6, 7), (7, 6, 3, 4, 1, 5)) + del tmp854 + tmp615 = np.copy(tmp100) * 0.5 + tmp615 += tmp49 + tmp615 += tmp50 * 0.5 + tmp855 = einsum(v.aabb.ovov, (0, 1, 2, 3), tmp615, (4, 5, 2, 6), (0, 4, 5, 1, 6, 3)) * 2 + l3new.aabaab += np.transpose(tmp855, (3, 4, 5, 1, 0, 2)) + tmp856 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), tmp182, (4, 6, 2, 7), (3, 5, 6, 0, 7, 1)) + l3new.aabaab += np.transpose(tmp856, (4, 3, 5, 1, 0, 2)) * 2 + tmp857 = einsum(tmp849, (0, 1, 2, 3), tmp473, (4, 5, 0, 1, 6, 7), (4, 5, 2, 6, 3, 7)) + del tmp849 + l3new.aabaab += np.transpose(tmp857, (4, 3, 5, 1, 0, 2)) * 2 + tmp858 = einsum(v.aabb.ovov, (0, 1, 2, 3), tmp79, (4, 5, 0, 6), (4, 5, 2, 1, 6, 3)) + l3new.aabaab += np.transpose(tmp858, (3, 4, 5, 1, 0, 2)) * -2 + tmp590 = np.copy(tmp211) + tmp590 += tmp120 * 2 + tmp590 += tmp121 + tmp859 = einsum(tmp590, (0, 1, 2, 3), v.aaaa.ovov, (4, 5, 1, 6), (0, 4, 2, 6, 5, 3)) + l3new.aabaab += np.transpose(tmp859, (3, 4, 5, 0, 1, 2)) * -1 + l3new.aabaab += einsum(l2.abab, (0, 1, 2, 3), tmp499, (4, 5), (0, 5, 1, 2, 4, 3)) * -1 + tmp860 = einsum(v.aaaa.ooov, (0, 1, 2, 3), tmp473, (4, 1, 2, 5, 6, 7), (4, 0, 5, 6, 3, 7)) + l3new.aabaab += np.transpose(tmp860, (3, 4, 5, 0, 1, 2)) * 2 + tmp861 = einsum(l3.babbab, (0, 1, 2, 3, 4, 5), tmp167, (6, 5, 7, 2), (4, 6, 3, 1, 7, 0)) + l3new.aabaab += np.transpose(tmp861, (3, 4, 5, 0, 1, 2)) * -2 + tmp862 = einsum(v.aaaa.ovov, (0, 1, 2, 3), tmp515, (4, 2, 5, 6, 1, 7), (4, 0, 5, 6, 3, 7)) + l3new.aabaab += np.transpose(tmp862, (3, 4, 5, 0, 1, 2)) * -4 + tmp863 = einsum(tmp473, (0, 1, 2, 3, 4, 5), tmp77, (1, 2, 6, 7), (0, 6, 3, 4, 7, 5)) + l3new.aabaab += np.transpose(tmp863, (3, 4, 5, 0, 1, 2)) * 2 + l3new.aabaab += np.transpose(tmp859, (4, 3, 5, 0, 1, 2)) + del tmp859 + l3new.aabaab += np.transpose(tmp399, (4, 3, 5, 1, 0, 2)) * 2 + tmp864 = np.copy(v.aabb.ooov) * 2 + tmp864 += tmp99 + l3new.aabaab += einsum(tmp381, (0, 1, 2, 3, 4, 5), tmp864, (0, 6, 3, 7), (5, 4, 7, 6, 1, 2)) * -1 + del tmp864 + tmp866 = einsum(tmp865, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 2, 6), (4, 0, 1, 5, 3, 6)) + del tmp865 + l3new.aabaab += np.transpose(tmp866, (3, 4, 5, 0, 1, 2)) * -1 + tmp868 = einsum(tmp867, (0, 1, 2, 3), v.aaaa.ovov, (4, 5, 1, 6), (0, 4, 2, 6, 5, 3)) + del tmp867 + l3new.aabaab += np.transpose(tmp868, (3, 4, 5, 1, 0, 2)) + l3new.aabaab += einsum(tmp499, (0, 1), l2.abab, (2, 3, 4, 5), (2, 1, 3, 0, 4, 5)) + l3new.aabaab += np.transpose(tmp860, (3, 4, 5, 1, 0, 2)) * -2 + l3new.aabaab += np.transpose(tmp861, (3, 4, 5, 1, 0, 2)) * 2 + l3new.aabaab += np.transpose(tmp862, (3, 4, 5, 1, 0, 2)) * 4 + l3new.aabaab += np.transpose(tmp863, (3, 4, 5, 1, 0, 2)) * -2 + l3new.aabaab += np.transpose(tmp868, (4, 3, 5, 1, 0, 2)) * -1 + del tmp868 + l3new.aabaab += einsum(l2.abab, (0, 1, 2, 3), tmp499, (4, 5), (5, 0, 1, 2, 4, 3)) + l3new.aabaab += np.transpose(tmp860, (4, 3, 5, 0, 1, 2)) * -2 + l3new.aabaab += np.transpose(tmp861, (4, 3, 5, 0, 1, 2)) * 2 + l3new.aabaab += np.transpose(tmp862, (4, 3, 5, 0, 1, 2)) * 4 + l3new.aabaab += np.transpose(tmp863, (4, 3, 5, 0, 1, 2)) * -2 + tmp869 = einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp375, (4, 5, 2, 6, 7, 1), (4, 5, 0, 6, 7, 3)) + l3new.aabaab += np.transpose(tmp869, (4, 3, 5, 1, 0, 2)) * -6 + del tmp869 + tmp870 = einsum(tmp381, (0, 1, 2, 3, 4, 5), v.bbbb.ooov, (6, 2, 3, 7), (0, 1, 6, 4, 5, 7)) + l3new.aabaab += np.transpose(tmp870, (4, 3, 5, 1, 0, 2)) * 2 + del tmp870 + tmp871 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), tmp328, (4, 6, 1, 7), (3, 5, 6, 0, 2, 7)) + l3new.aabaab += np.transpose(tmp871, (4, 3, 5, 1, 0, 2)) * -4 + del tmp871 + tmp872 = einsum(tmp381, (0, 1, 2, 3, 4, 5), tmp227, (2, 3, 6, 7), (0, 1, 6, 4, 5, 7)) + l3new.aabaab += np.transpose(tmp872, (4, 3, 5, 1, 0, 2)) * 2 + del tmp872 + l3new.aabaab += einsum(l2.aaaa, (0, 1, 2, 3), tmp635, (4, 5), (0, 1, 5, 2, 3, 4)) * -2 + l3new.aabaab += einsum(l2.abab, (0, 1, 2, 3), tmp499, (4, 5), (5, 0, 1, 4, 2, 3)) * -1 + l3new.aabaab += np.transpose(tmp860, (4, 3, 5, 1, 0, 2)) * 2 + del tmp860 + l3new.aabaab += np.transpose(tmp861, (4, 3, 5, 1, 0, 2)) * -2 + del tmp861 + l3new.aabaab += np.transpose(tmp862, (4, 3, 5, 1, 0, 2)) * -4 + del tmp862 + l3new.aabaab += np.transpose(tmp863, (4, 3, 5, 1, 0, 2)) * 2 + del tmp863 + l3new.aabaab += np.transpose(tmp855, (4, 3, 5, 1, 0, 2)) * -1 + del tmp855 + l3new.aabaab += np.transpose(tmp858, (4, 3, 5, 1, 0, 2)) * 2 + del tmp858 + l3new.aabaab += np.transpose(tmp866, (4, 3, 5, 0, 1, 2)) + del tmp866 + tmp610 = einsum(v.aabb.ooov, (0, 1, 2, 3), tmp381, (4, 1, 5, 2, 6, 7), (4, 0, 5, 6, 7, 3)) + l3new.aabaab += np.transpose(tmp610, (4, 3, 5, 0, 1, 2)) * -1 + tmp873 = einsum(v.aabb.ovov, (0, 1, 2, 3), tmp50, (4, 5, 2, 6), (4, 0, 5, 6, 1, 3)) * -1 + l3new.aabaab += np.transpose(tmp873, (4, 3, 5, 0, 1, 2)) * -1 + tmp874 = einsum(v.aaaa.ovov, (0, 1, 2, 3), tmp121, (4, 2, 5, 6), (4, 0, 5, 1, 3, 6)) + l3new.aabaab += np.transpose(tmp874, (3, 4, 5, 0, 1, 2)) + l3new.aabaab += np.transpose(tmp856, (3, 4, 5, 1, 0, 2)) * -2 + del tmp856 + l3new.aabaab += np.transpose(tmp857, (3, 4, 5, 1, 0, 2)) * -2 + del tmp857 + l3new.aabaab += np.transpose(tmp874, (4, 3, 5, 0, 1, 2)) * -1 + del tmp874 + tmp875 = einsum(v.aabb.ovov, (0, 1, 2, 3), tmp49, (4, 5, 2, 6), (4, 0, 5, 6, 1, 3)) + l3new.aabaab += np.transpose(tmp875, (4, 3, 5, 1, 0, 2)) * -1 + tmp400 = einsum(tmp99, (0, 1, 2, 3), tmp381, (4, 0, 5, 2, 6, 7), (4, 1, 5, 6, 7, 3)) + del tmp381 + l3new.aabaab += np.transpose(tmp400, (4, 3, 5, 1, 0, 2)) + tmp876 = einsum(tmp120, (0, 1, 2, 3), v.aaaa.ovov, (4, 5, 1, 6), (0, 4, 2, 5, 6, 3)) * -1 + l3new.aabaab += np.transpose(tmp876, (4, 3, 5, 1, 0, 2)) * -1 + l3new.aabaab += np.transpose(tmp876, (3, 4, 5, 1, 0, 2)) + del tmp876 + l3new.aabaab += np.transpose(tmp873, (3, 4, 5, 0, 1, 2)) + del tmp873 + l3new.aabaab += np.transpose(tmp875, (3, 4, 5, 1, 0, 2)) + del tmp875 + tmp225 = einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), t3.bbbbbb, (3, 4, 5, 6, 7, 2), (0, 1, 6, 7)) + l1new.bb = einsum(tmp225, (0, 1, 2, 3), v.bbbb.ovvv, (4, 2, 1, 3), (0, 4)) * -6 + tmp226 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), l3.babbab, (6, 4, 7, 0, 1, 2), (6, 7, 3, 5)) + l1new.bb += einsum(tmp226, (0, 1, 2, 3), v.bbbb.ovvv, (4, 3, 1, 2), (0, 4)) * 2 + l1new.bb += np.transpose(f.bb.ov, (1, 0)) + tmp138 = einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (6, 4, 5, 0, 1, 2), (3, 6)) + l1new.bb += einsum(tmp138, (0, 1), tmp227, (0, 2, 1, 3), (3, 2)) * -2 + l1new.bb += einsum(tmp138, (0, 1), v.bbbb.ovoo, (2, 3, 1, 0), (3, 2)) * -2 + tmp231 = np.copy(np.transpose(v.aabb.ovov, (0, 2, 1, 3))) * 0.5 + tmp231 += tmp228 + tmp230 = einsum(tmp229, (0, 1, 2, 3), t2.abab, (4, 0, 5, 2), (4, 1, 5, 3)) * 0.5 + tmp231 += tmp230 * -1 + del tmp230 + l1new.bb += einsum(tmp8, (0, 1, 2, 3), tmp231, (0, 4, 1, 3), (2, 4)) * -4 + tmp10 = einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), l3.abaaba, (6, 7, 5, 0, 1, 2), (6, 3, 7, 4)) + tmp12 = np.copy(tmp10) + del tmp10 + tmp11 = einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (3, 4, 5, 6, 7, 2), (1, 7, 0, 6)) + tmp12 += tmp11 + del tmp11 + l1new.bb += einsum(tmp12, (0, 1, 2, 3), v.aabb.vvov, (0, 1, 4, 3), (2, 4)) * -2 + tmp234 = np.copy(np.transpose(v.bbbb.ovov, (0, 2, 1, 3))) + tmp234 += v.bbbb.oovv * -1 + tmp233 = einsum(tmp229, (0, 1, 2, 3), t2.bbbb, (4, 0, 5, 2), (4, 1, 5, 3)) * 2 + tmp234 += tmp233 * -1 + del tmp233 + l1new.bb += einsum(tmp234, (0, 1, 2, 3), tmp232, (0, 2, 4, 3), (4, 1)) * -6 + tmp183 = np.copy(np.transpose(v.aabb.vvoo, (2, 3, 0, 1))) + tmp183 += tmp182 * -1 + l1new.bb += einsum(tmp183, (0, 1, 2, 3), tmp16, (0, 2, 3, 4), (4, 1)) * -2 + tmp242 = np.copy(np.transpose(v.aabb.ovoo, (0, 2, 3, 1))) * 0.5 + tmp235 = einsum(t2.aaaa, (0, 1, 2, 3), v.aabb.ovoo, (1, 3, 4, 5), (0, 4, 5, 2)) + tmp242 += np.transpose(tmp235, (0, 2, 1, 3)) + tmp236 = einsum(v.aabb.ooov, (0, 1, 2, 3), t2.abab, (1, 4, 5, 3), (0, 4, 2, 5)) + tmp242 += tmp236 * -0.5 + tmp237 = einsum(v.aabb.vvov, (0, 1, 2, 3), t2.abab, (4, 5, 1, 3), (4, 5, 2, 0)) + tmp242 += tmp237 * 0.5 + tmp238 = einsum(v.aabb.ovov, (0, 1, 2, 3), t3.abaaba, (4, 5, 0, 6, 3, 1), (4, 5, 2, 6)) + tmp242 += tmp238 + tmp239 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), v.bbbb.ovov, (6, 3, 2, 5), (1, 0, 6, 4)) + tmp242 += tmp239 + tmp240 = np.copy(v.bbbb.ooov) + tmp240 += np.transpose(v.bbbb.ovoo, (0, 2, 3, 1)) * -1 + tmp241 = einsum(tmp240, (0, 1, 2, 3), t2.abab, (4, 2, 5, 3), (4, 0, 1, 5)) * 0.5 + tmp242 += np.transpose(tmp241, (0, 2, 1, 3)) + l1new.bb += einsum(l2.abab, (0, 1, 2, 3), tmp242, (2, 3, 4, 0), (1, 4)) * -2 + del tmp242 + tmp247 = np.copy(np.transpose(v.bbbb.ovoo, (0, 2, 3, 1))) + tmp243 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovoo, (0, 2, 4, 5), (1, 4, 5, 3)) + tmp247 += np.transpose(tmp243, (0, 2, 1, 3)) + tmp244 = einsum(v.bbbb.ovvv, (0, 1, 2, 3), t2.bbbb, (4, 5, 1, 3), (4, 5, 0, 2)) + tmp247 += np.transpose(tmp244, (1, 0, 2, 3)) + tmp245 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), v.aabb.ovov, (1, 4, 6, 5), (0, 2, 6, 3)) + tmp247 += np.transpose(tmp245, (1, 0, 2, 3)) * -1 + tmp246 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 2, 6, 1, 3), (4, 5, 0, 6)) + tmp247 += np.transpose(tmp246, (1, 0, 2, 3)) * -3 + tmp247 += einsum(t2.bbbb, (0, 1, 2, 3), tmp240, (4, 5, 1, 3), (0, 5, 4, 2)) * 2 + l1new.bb += einsum(tmp247, (0, 1, 2, 3), l2.bbbb, (4, 3, 0, 1), (4, 2)) * 2 + del tmp247 + tmp249 = np.copy(np.transpose(v.bbbb.ovov, (0, 2, 1, 3))) + tmp249 += v.bbbb.oovv * -1 + l1new.bb += einsum(tmp248, (0, 1, 2, 3), tmp249, (0, 4, 1, 3), (2, 4)) * -2 + tmp250 = einsum(t2.bbbb, (0, 1, 2, 3), tmp248, (1, 4, 3, 5), (0, 4, 5, 2)) * -1 + tmp251 = np.copy(np.transpose(v.bbbb.ovov, (0, 2, 3, 1))) * -1 + tmp251 += np.transpose(v.bbbb.ovov, (0, 2, 1, 3)) + l1new.bb += einsum(tmp250, (0, 1, 2, 3), tmp251, (0, 4, 2, 3), (1, 4)) * 4 + del tmp250 + tmp256 = np.copy(v.bbbb.ooov) * -1 + tmp256 += np.transpose(v.bbbb.ooov, (0, 2, 1, 3)) + tmp252 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (3, 6, 5, 0, 7, 2), (4, 6, 1, 7)) + tmp255 = np.copy(tmp252) + tmp253 = einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (6, 4, 5, 7, 1, 2), (3, 6, 0, 7)) + tmp255 += tmp253 * 4 + tmp254 = einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), t3.bbbbbb, (6, 4, 5, 7, 1, 2), (3, 6, 0, 7)) + tmp255 += tmp254 * 9 + l1new.bb += einsum(tmp255, (0, 1, 2, 3), tmp256, (0, 4, 1, 3), (2, 4)) + tmp258 = einsum(t2.abab, (0, 1, 2, 3), tmp257, (1, 3, 4, 5), (0, 2, 4, 5)) * 0.3333333333333333 + l1new.bb += einsum(tmp258, (0, 1, 2, 3), v.aabb.ovov, (0, 1, 4, 3), (2, 4)) * -6 + del tmp258 + tmp259 = einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), l3.abaaba, (4, 6, 5, 1, 7, 2), (0, 7, 3, 6)) + tmp262 = np.copy(tmp259) + tmp260 = einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.abaaba, (6, 5, 4, 7, 2, 1), (6, 3, 7, 0)) + tmp262 += tmp260 * 1.3333333333333333 + tmp261 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), l3.bbbbbb, (6, 3, 5, 7, 0, 2), (1, 7, 4, 6)) + tmp262 += tmp261 + l1new.bb += einsum(v.aabb.ovoo, (0, 1, 2, 3), tmp262, (0, 3, 1, 4), (4, 2)) * -3 + tmp178 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (6, 4, 5, 0, 7, 2), (3, 6, 1, 7)) + tmp180 = np.copy(tmp178) + del tmp178 + tmp179 = einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (3, 6, 5, 7, 1, 2), (4, 6, 0, 7)) + tmp180 += tmp179 + del tmp179 + l1new.bb += einsum(v.aabb.ooov, (0, 1, 2, 3), tmp180, (1, 0, 4, 3), (4, 2)) * 2 + tmp53 = np.copy(v.aabb.oooo) + tmp53 += tmp52 + tmp122 = np.copy(tmp120) + tmp122 += tmp121 + l1new.bb += einsum(tmp122, (0, 1, 2, 3), tmp53, (0, 1, 2, 4), (3, 4)) * 2 + tmp264 = np.copy(v.bbbb.oooo) + tmp264 += np.transpose(tmp263, (1, 3, 2, 0)) + l1new.bb += einsum(tmp264, (0, 1, 2, 3), tmp128, (0, 3, 1, 4), (4, 2)) * -2 + del tmp264 + tmp265 = np.copy(v.bbbb.oooo) + tmp265 += np.transpose(tmp263, (1, 3, 0, 2)) + l1new.bb += einsum(tmp265, (0, 1, 2, 3), tmp129, (0, 2, 3, 4), (4, 1)) * 6 + tmp91 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 0, 4), (1, 4)) + tmp266 = np.copy(tmp91) + tmp92 = einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (2, 3, 4, 1), (0, 4)) + tmp266 += tmp92 * 2 + tmp93 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (3, 4, 5, 0, 6, 2), (1, 6)) + tmp266 += tmp93 + tmp94 = einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (3, 4, 5, 6, 1, 2), (0, 6)) + tmp266 += tmp94 * 2 + l1new.bb += einsum(tmp266, (0, 1), tmp267, (2, 3, 1, 0), (3, 2)) * -1 + del tmp266 + tmp295 = np.copy(np.transpose(v.bbbb.ovov, (0, 2, 1, 3))) * -0.5 + tmp268 = einsum(tmp2, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 5, 6), (4, 0, 5, 1, 3, 6)) * -1 + tmp269 = einsum(t1.aa, (0, 1), tmp268, (0, 2, 3, 1, 4, 5), (2, 3, 4, 5)) + del tmp268 + tmp295 += np.transpose(tmp269, (0, 1, 3, 2)) + tmp270 = einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp226, (4, 5, 1, 3), (0, 2, 4, 5)) + del tmp226 + tmp295 += np.transpose(tmp270, (0, 1, 3, 2)) + tmp271 = einsum(tmp225, (0, 1, 2, 3), v.bbbb.ovov, (4, 3, 5, 2), (4, 5, 0, 1)) * -1 + del tmp225 + tmp295 += np.transpose(tmp271, (0, 1, 3, 2)) * 3 + tmp273 = einsum(tmp272, (0, 1, 2, 3), l2.bbbb, (4, 5, 0, 1), (2, 3, 4, 5)) + tmp275 = np.copy(np.transpose(tmp273, (0, 1, 3, 2))) * -1 + tmp274 = einsum(v.bbbb.ooov, (0, 1, 2, 3), tmp257, (1, 4, 5, 3), (0, 2, 4, 5)) + tmp275 += np.transpose(tmp274, (0, 1, 3, 2)) + del tmp274 + tmp295 += tmp275 + tmp295 += np.transpose(tmp275, (1, 0, 2, 3)) * -1 + del tmp275 + tmp276 = np.copy(v.bbbb.ovvv) * -1 + tmp276 += np.transpose(v.bbbb.ovvv, (0, 2, 3, 1)) + tmp295 += einsum(tmp257, (0, 1, 2, 3), tmp276, (4, 3, 1, 5), (0, 4, 5, 2)) * -1 + tmp277 = einsum(tmp251, (0, 1, 2, 3), tmp255, (4, 0, 5, 2), (1, 4, 3, 5)) * 0.5 + tmp295 += np.transpose(tmp277, (1, 0, 2, 3)) + tmp278 = einsum(v.aabb.vvov, (0, 1, 2, 3), tmp16, (4, 0, 1, 5), (4, 2, 5, 3)) + tmp295 += np.transpose(tmp278, (0, 1, 3, 2)) + tmp281 = np.copy(np.transpose(v.bbbb.ovov, (0, 2, 1, 3))) * 0.5 + tmp281 += v.bbbb.oovv * -0.5 + tmp281 += tmp279 * 0.5 + tmp280 = einsum(tmp229, (0, 1, 2, 3), t2.bbbb, (4, 0, 5, 2), (4, 1, 5, 3)) + tmp281 += tmp280 * -1 + tmp282 = einsum(tmp281, (0, 1, 2, 3), l2.bbbb, (4, 2, 5, 0), (5, 1, 4, 3)) * 2 + del tmp281 + tmp295 += np.transpose(tmp282, (0, 1, 3, 2)) + tmp283 = einsum(l2.abab, (0, 1, 2, 3), tmp231, (2, 4, 0, 5), (3, 4, 1, 5)) + tmp295 += np.transpose(tmp283, (0, 1, 3, 2)) + tmp287 = np.copy(np.transpose(tmp284, (1, 0, 2, 3, 4, 5))) * -1 + tmp286 = einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp285, (4, 5, 6, 1), (0, 2, 4, 3, 5, 6)) * 3 + tmp287 += np.transpose(tmp286, (1, 2, 0, 5, 3, 4)) + tmp287 += np.transpose(tmp286, (0, 2, 1, 5, 3, 4)) * -1 + tmp295 += einsum(tmp287, (0, 1, 2, 3, 4, 5), t1.bb, (0, 5), (1, 2, 4, 3)) * -1 + del tmp287 + tmp288 = einsum(tmp262, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 5), (4, 1, 5, 3)) * 1.5 + del tmp262 + tmp295 += np.transpose(tmp288, (1, 0, 2, 3)) + tmp289 = np.copy(np.transpose(tmp128, (1, 0, 2, 3))) * -1 + tmp289 += np.transpose(tmp129, (1, 0, 2, 3)) * -3 + tmp290 = einsum(tmp256, (0, 1, 2, 3), tmp289, (0, 4, 2, 5), (1, 4, 3, 5)) + del tmp256 + tmp295 += np.transpose(tmp290, (1, 0, 2, 3)) + tmp212 = np.copy(tmp211) + tmp212 += tmp120 * 2 + tmp212 += tmp121 * 2 + tmp291 = einsum(tmp212, (0, 1, 2, 3), v.aabb.ooov, (0, 1, 4, 5), (4, 2, 5, 3)) * 0.5 + tmp295 += np.transpose(tmp291, (1, 0, 2, 3)) * -1 + tmp295 += einsum(tmp293, (0, 1, 2, 3), tmp227, (0, 4, 2, 5), (1, 4, 5, 3)) + tmp295 += einsum(tmp265, (0, 1, 2, 3), l2.bbbb, (4, 5, 0, 2), (1, 3, 4, 5)) * -1 + del tmp265 + tmp294 = np.copy(tmp91) * 0.5000000000000202 + tmp294 += tmp92 + tmp294 += tmp93 * 0.5000000000000002 + tmp294 += tmp94 + tmp95 = einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), l3.bbbbbb, (6, 4, 5, 0, 1, 2), (6, 3)) + tmp294 += tmp95 * 1.4999999999999998 + tmp295 += einsum(tmp294, (0, 1), v.bbbb.ovov, (2, 1, 3, 4), (2, 3, 0, 4)) + del tmp294 + l1new.bb += einsum(t1.bb, (0, 1), tmp295, (0, 2, 1, 3), (3, 2)) * -2 + del tmp295 + tmp83 = einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (2, 3, 4, 1), (0, 4)) + tmp296 = np.copy(tmp83) * 0.6666666666666936 + tmp84 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 4, 1), (0, 4)) + tmp296 += tmp84 * 0.3333333333333468 + tmp85 = einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), l3.aaaaaa, (6, 4, 5, 0, 1, 2), (6, 3)) + tmp296 += np.transpose(tmp85, (1, 0)) + tmp86 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (3, 4, 5, 6, 1, 2), (0, 6)) + tmp296 += tmp86 * 0.6666666666666667 + tmp87 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), l3.babbab, (3, 6, 5, 0, 1, 2), (6, 4)) + tmp296 += np.transpose(tmp87, (1, 0)) * 0.33333333333333354 + l1new.bb += einsum(v.aabb.vvov, (0, 1, 2, 3), tmp296, (1, 0), (3, 2)) * 3 + del tmp296 + tmp301 = np.copy(np.transpose(v.aabb.ovov, (0, 2, 1, 3))) * -0.5 + tmp301 += einsum(tmp211, (0, 1, 2, 3), tmp140, (1, 2, 4, 5), (0, 4, 5, 3)) * -0.5 + tmp301 += einsum(tmp8, (0, 1, 2, 3), v.aabb.vvov, (4, 1, 5, 3), (0, 5, 4, 2)) + tmp301 += einsum(tmp12, (0, 1, 2, 3), v.aabb.ovov, (4, 1, 5, 3), (4, 5, 0, 2)) * -1 + tmp301 += einsum(l2.abab, (0, 1, 2, 3), tmp183, (3, 4, 0, 5), (2, 4, 5, 1)) * 0.5 + tmp301 += einsum(tmp180, (0, 1, 2, 3), v.aabb.ovov, (1, 4, 5, 3), (0, 5, 4, 2)) * -1 + tmp301 += einsum(tmp16, (0, 1, 2, 3), v.aabb.ovoo, (4, 2, 5, 0), (4, 5, 1, 3)) * -1 + tmp301 += einsum(tmp8, (0, 1, 2, 3), v.aabb.ooov, (4, 0, 5, 3), (4, 5, 1, 2)) * -1 + tmp301 += einsum(tmp297, (0, 1, 2, 3), tmp122, (4, 0, 1, 5), (4, 2, 3, 5)) * -1 + tmp299 = np.copy(tmp204) * -1 + tmp298 = einsum(tmp0, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 5, 6), (4, 0, 5, 1, 3, 6)) + tmp299 += tmp298 * 2 + del tmp298 + tmp301 += einsum(tmp299, (0, 1, 2, 3, 4, 5), t1.bb, (1, 5), (0, 2, 3, 4)) * -0.5 + tmp76 = einsum(v.aabb.ovov, (0, 1, 2, 3), tmp8, (4, 5, 6, 3), (0, 4, 2, 1, 5, 6)) + tmp301 += einsum(t1.aa, (0, 1), tmp76, (0, 2, 3, 4, 1, 5), (2, 3, 4, 5)) * -1 + tmp300 = np.copy(v.aabb.oooo) + tmp107 = einsum(v.aabb.ovoo, (0, 1, 2, 3), t1.aa, (4, 1), (4, 0, 2, 3)) + tmp300 += np.transpose(tmp107, (0, 1, 3, 2)) + tmp300 += tmp52 + tmp301 += einsum(tmp300, (0, 1, 2, 3), l2.abab, (4, 5, 0, 2), (1, 3, 4, 5)) * -0.5 + tmp88 = np.copy(tmp83) + tmp88 += tmp84 * 0.5000000000000202 + tmp88 += tmp85 * 1.4999999999999998 + tmp88 += tmp86 + tmp88 += tmp87 * 0.5000000000000002 + tmp301 += einsum(tmp88, (0, 1), v.aabb.ovov, (2, 1, 3, 4), (2, 3, 0, 4)) + l1new.bb += einsum(t1.aa, (0, 1), tmp301, (0, 2, 1, 3), (3, 2)) * -2 + del tmp301 + tmp304 = np.copy(np.transpose(l1.bb, (1, 0))) * 0.5 + tmp125 = einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), l2.aaaa, (3, 5, 0, 2), (1, 4)) + tmp304 += tmp125 * 0.5 + tmp126 = einsum(l2.abab, (0, 1, 2, 3), t3.babbab, (4, 2, 3, 5, 0, 1), (4, 5)) + tmp304 += tmp126 + tmp127 = einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), l2.bbbb, (4, 5, 1, 2), (0, 3)) + tmp304 += tmp127 * 1.5 + tmp51 = np.copy(tmp49) + tmp51 += tmp50 + tmp302 = einsum(t2.abab, (0, 1, 2, 3), tmp51, (0, 1, 4, 2), (4, 3)) + tmp304 += tmp302 * -1 + tmp130 = np.copy(np.transpose(tmp128, (1, 0, 2, 3))) * -0.3333333333333333 + tmp130 += np.transpose(tmp129, (1, 0, 2, 3)) * -1 + tmp303 = einsum(tmp130, (0, 1, 2, 3), t2.bbbb, (0, 1, 4, 3), (2, 4)) * -3 + tmp304 += tmp303 * -1 + l1new.bb += einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp304, (2, 3), (1, 0)) * 2 + del tmp304 + tmp124 = np.copy(np.transpose(l1.aa, (1, 0))) * 0.5 + tmp116 = einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), l2.aaaa, (4, 5, 1, 2), (0, 3)) + tmp124 += tmp116 * 1.5 + tmp117 = einsum(l2.abab, (0, 1, 2, 3), t3.abaaba, (4, 3, 2, 5, 1, 0), (4, 5)) + tmp124 += tmp117 + tmp118 = einsum(l2.bbbb, (0, 1, 2, 3), t3.babbab, (2, 4, 3, 0, 5, 1), (4, 5)) + tmp124 += tmp118 * 0.5 + tmp46 = np.copy(np.transpose(tmp44, (1, 0, 2, 3))) * -3 + tmp46 += np.transpose(tmp45, (1, 0, 2, 3)) * -1 + tmp119 = einsum(t2.aaaa, (0, 1, 2, 3), tmp46, (0, 1, 4, 3), (4, 2)) * -1 + tmp124 += tmp119 * -1 + tmp123 = einsum(tmp122, (0, 1, 2, 3), t2.abab, (0, 2, 4, 3), (1, 4)) + tmp124 += tmp123 * -1 + l1new.bb += einsum(tmp124, (0, 1), v.aabb.ovov, (0, 1, 2, 3), (3, 2)) * 2 + tmp305 = np.copy(v.bbbb.ovvv) + tmp305 += np.transpose(v.bbbb.ovvv, (0, 2, 3, 1)) * -1 + l1new.bb += einsum(tmp95, (0, 1), tmp305, (2, 1, 0, 3), (3, 2)) * -3 + tmp307 = np.copy(v.bbbb.oovv) * -1 + tmp307 += tmp279 + tmp307 += tmp306 * 2 + tmp307 += einsum(tmp267, (0, 1, 2, 3), t1.bb, (4, 2), (4, 0, 3, 1)) * -1 + l1new.bb += einsum(l1.bb, (0, 1), tmp307, (1, 2, 0, 3), (3, 2)) + del tmp307 + tmp309 = np.copy(v.bbbb.ooov) + tmp309 += np.transpose(tmp227, (2, 0, 1, 3)) + tmp135 = einsum(l1.bb, (0, 1), t1.bb, (2, 0), (1, 2)) + tmp308 = np.copy(tmp135) * 0.3333333333333468 + tmp136 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 3, 0, 4), (4, 1)) + tmp308 += tmp136 * 0.3333333333333468 + tmp137 = einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 3, 0, 1), (2, 4)) + tmp308 += tmp137 * 0.6666666666666936 + tmp150 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (3, 6, 5, 0, 1, 2), (4, 6)) + tmp308 += tmp150 * 0.33333333333333354 + tmp151 = einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), t3.bbbbbb, (6, 4, 5, 0, 1, 2), (3, 6)) + tmp308 += tmp151 + l1new.bb += einsum(tmp309, (0, 1, 2, 3), tmp308, (1, 0), (3, 2)) * -3 + del tmp309 + tmp311 = np.copy(v.aabb.ooov) + tmp311 += np.transpose(tmp99, (1, 0, 2, 3)) + tmp142 = einsum(t1.aa, (0, 1), l1.aa, (1, 2), (2, 0)) + tmp310 = np.copy(tmp142) + tmp143 = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (2, 3, 4, 1), (4, 0)) + tmp310 += tmp143 * 2 + tmp144 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 0, 1), (2, 4)) + tmp310 += tmp144 + tmp154 = einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (3, 6, 5, 0, 1, 2), (4, 6)) + tmp310 += tmp154 + l1new.bb += einsum(tmp310, (0, 1), tmp311, (1, 0, 2, 3), (3, 2)) * -1 + del tmp310, tmp311 + tmp313 = einsum(t1.aa, (0, 1), v.aabb.vvov, (2, 1, 3, 4), (0, 3, 2, 4)) + tmp313 += tmp228 * 2 + tmp313 += tmp312 + l1new.bb += einsum(tmp313, (0, 1, 2, 3), l1.aa, (2, 0), (3, 1)) + del tmp313 + tmp145 = einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), l3.aaaaaa, (3, 4, 5, 6, 1, 2), (6, 0)) + tmp314 = np.copy(tmp145) * 1.4999999999999998 + tmp153 = einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), l3.abaaba, (3, 4, 5, 6, 1, 2), (6, 0)) + tmp314 += tmp153 + l1new.bb += einsum(tmp99, (0, 1, 2, 3), tmp314, (0, 1), (3, 2)) * -2 + del tmp314 + tmp315 = np.copy(tmp145) + tmp315 += tmp153 * 0.6666666666666667 + l1new.bb += einsum(tmp315, (0, 1), v.aabb.ooov, (0, 1, 2, 3), (3, 2)) * -3 + del tmp315 + tmp316 = np.copy(tmp91) * 0.3333333333333468 + tmp316 += tmp92 * 0.6666666666666936 + tmp316 += tmp93 * 0.33333333333333354 + tmp316 += tmp94 * 0.6666666666666667 + tmp316 += tmp95 + l1new.bb += einsum(tmp316, (0, 1), tmp319, (2, 1), (0, 2)) * -3 + del tmp316 + l1new.bb += einsum(l1.bb, (0, 1), tmp326, (1, 2), (0, 2)) * -1 + l1new.bb += einsum(v.bbbb.oovv, (0, 1, 2, 3), tmp129, (4, 1, 0, 3), (2, 4)) * -6 + l1new.bb += einsum(tmp327, (0, 1, 2, 3), l1.aa, (2, 0), (3, 1)) * -1 + l1new.bb += einsum(l1.bb, (0, 1), tmp328, (1, 2, 0, 3), (3, 2)) * -2 + tmp103 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 1, 5), (0, 4, 3, 5)) + l1new.bb += einsum(tmp103, (0, 1, 2, 3), tmp121, (0, 1, 4, 2), (3, 4)) * 2 + l1new.bb += einsum(tmp50, (0, 1, 2, 3), tmp327, (0, 2, 3, 4), (4, 1)) * 2 + l1new.bb += einsum(tmp138, (0, 1), tmp227, (0, 1, 2, 3), (3, 2)) * 2 + l1new.bb += einsum(tmp138, (0, 1), v.bbbb.ooov, (2, 0, 1, 3), (3, 2)) * 2 + tmp329 = einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), l3.bbbbbb, (3, 4, 5, 6, 7, 2), (6, 7, 0, 1)) + l1new.bb += einsum(tmp329, (0, 1, 2, 3), v.bbbb.ooov, (1, 3, 2, 4), (4, 0)) * 6 + l1new.bb += einsum(v.bbbb.vvvv, (0, 1, 2, 3), tmp257, (4, 2, 1, 3), (0, 4)) * -2 + l1new.bb += einsum(v.aabb.vvvv, (0, 1, 2, 3), tmp16, (4, 0, 1, 3), (2, 4)) * 2 + l1new.bb += einsum(tmp276, (0, 1, 2, 3), tmp255, (4, 0, 2, 1), (3, 4)) * -1 + del tmp255 + tmp333 = np.copy(v.aabb.ovvv) * 0.5 + tmp330 = einsum(v.aabb.ovvv, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 1), (4, 5, 2, 3)) + tmp333 += np.transpose(tmp330, (0, 1, 3, 2)) + tmp331 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.vvov, (4, 2, 1, 5), (0, 4, 3, 5)) + tmp333 += tmp331 * -0.5 + tmp332 = np.copy(v.bbbb.ovvv) + tmp332 += np.transpose(v.bbbb.ovvv, (0, 2, 1, 3)) * -1 + tmp333 += einsum(tmp332, (0, 1, 2, 3), t2.abab, (4, 0, 5, 2), (4, 5, 3, 1)) * -0.5 + l1new.bb += einsum(l2.abab, (0, 1, 2, 3), tmp333, (2, 0, 1, 4), (4, 3)) * 2 + del tmp333 + tmp335 = np.copy(np.transpose(v.bbbb.ovvv, (0, 2, 3, 1))) * 0.5 + tmp334 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovvv, (0, 2, 4, 5), (1, 3, 4, 5)) + tmp335 += np.transpose(tmp334, (0, 1, 3, 2)) * -0.5 + tmp335 += einsum(t2.bbbb, (0, 1, 2, 3), tmp267, (1, 4, 3, 5), (0, 2, 4, 5)) * -1 + l1new.bb += einsum(tmp335, (0, 1, 2, 3), l2.bbbb, (1, 3, 4, 0), (2, 4)) * 4 + del tmp335 + tmp336 = np.copy(tmp259) * 0.75 + tmp336 += tmp260 + tmp336 += tmp261 * 0.75 + l1new.bb += einsum(v.aabb.ovvv, (0, 1, 2, 3), tmp336, (0, 4, 1, 3), (2, 4)) * 4 + del tmp336 + tmp337 = einsum(l2.abab, (0, 1, 2, 3), t3.abaaba, (4, 5, 2, 6, 1, 0), (4, 3, 5, 6)) + tmp337 += tmp49 + tmp337 += einsum(l2.bbbb, (0, 1, 2, 3), t3.babbab, (4, 5, 3, 0, 6, 1), (5, 2, 4, 6)) + tmp337 += tmp50 + tmp337 += einsum(t2.abab, (0, 1, 2, 3), tmp120, (0, 4, 5, 3), (4, 5, 1, 2)) * -1 + tmp337 += einsum(t2.abab, (0, 1, 2, 3), tmp129, (4, 1, 5, 3), (0, 4, 5, 2)) * -3 + tmp337 += einsum(tmp16, (0, 1, 2, 3), t2.abab, (4, 5, 1, 3), (4, 0, 5, 2)) * -1 + l1new.bb += einsum(tmp337, (0, 1, 2, 3), v.aabb.ovov, (0, 3, 2, 4), (4, 1)) * -2 + del tmp337 + tmp41 = einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), l3.abaaba, (6, 4, 5, 0, 7, 2), (7, 1, 6, 3)) + tmp43 = np.copy(tmp41) + del tmp41 + tmp42 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), l3.babbab, (3, 6, 5, 7, 1, 2), (7, 0, 6, 4)) + tmp43 += tmp42 + del tmp42 + l1new.bb += einsum(tmp43, (0, 1, 2, 3), v.aabb.vvov, (2, 3, 1, 4), (4, 0)) * -2 + tmp339 = einsum(l2.abab, (0, 1, 2, 3), t3.babbab, (4, 2, 5, 6, 0, 1), (3, 4, 5, 6)) * 0.3333333333333333 + tmp339 += np.transpose(tmp128, (1, 0, 2, 3)) * 0.3333333333333333 + tmp339 += np.transpose(tmp129, (1, 0, 2, 3)) + tmp339 += einsum(t2.bbbb, (0, 1, 2, 3), tmp232, (4, 3, 2, 5), (4, 0, 1, 5)) * -1 + del tmp232 + tmp338 = einsum(tmp129, (0, 1, 2, 3), t2.bbbb, (4, 1, 5, 3), (0, 2, 4, 5)) * -1 + del tmp129 + tmp339 += np.transpose(tmp338, (0, 2, 1, 3)) * 2 + l1new.bb += einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp339, (4, 0, 2, 1), (3, 4)) * -6 + del tmp339 + tmp340 = einsum(l2.bbbb, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 3, 6, 0, 1), (2, 4, 5, 6)) + tmp340 += einsum(t2.abab, (0, 1, 2, 3), tmp49, (0, 4, 5, 2), (4, 1, 5, 3)) * 0.3333333333333333 + tmp340 += einsum(t2.bbbb, (0, 1, 2, 3), tmp248, (4, 3, 2, 5), (4, 0, 1, 5)) * -0.3333333333333333 + del tmp248 + tmp340 += np.transpose(tmp338, (0, 2, 1, 3)) * 2 + del tmp338 + l1new.bb += einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp340, (4, 0, 2, 3), (1, 4)) * 6 + del tmp340 + tmp341 = np.copy(tmp228) + tmp341 += tmp312 * 0.5 + l1new.bb += einsum(tmp51, (0, 1, 2, 3), tmp341, (0, 2, 3, 4), (4, 1)) * -4 + del tmp341 + tmp342 = np.copy(v.bbbb.oovv) * -0.5 + tmp342 += tmp279 * 0.5 + tmp342 += tmp280 * -1 + del tmp280 + l1new.bb += einsum(tmp342, (0, 1, 2, 3), tmp128, (0, 4, 1, 2), (3, 4)) * -4 + del tmp128, tmp342 + l1new.bb += einsum(v.aabb.oovv, (0, 1, 2, 3), tmp122, (0, 1, 4, 3), (2, 4)) * -2 + tmp184 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 5, 0, 1), (2, 4, 3, 5)) + tmp187 = np.copy(tmp184) * 0.5000000000000202 + tmp185 = einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), l3.abaaba, (3, 4, 5, 6, 7, 2), (6, 0, 7, 1)) + tmp187 += tmp185 + tmp186 = einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (6, 7, 5, 0, 1, 2), (4, 7, 3, 6)) + tmp187 += tmp186 + l1new.bb += einsum(tmp187, (0, 1, 2, 3), v.aabb.ooov, (1, 0, 3, 4), (4, 2)) * 2 + tmp343 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (2, 3, 4, 5), (4, 5, 0, 1)) + tmp345 = np.copy(np.transpose(tmp343, (1, 0, 3, 2))) + tmp344 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), l3.babbab, (3, 4, 5, 6, 1, 7), (6, 7, 0, 2)) + tmp345 += np.transpose(tmp344, (1, 0, 3, 2)) + l1new.bb += einsum(v.bbbb.ooov, (0, 1, 2, 3), tmp345, (1, 4, 0, 2), (3, 4)) * 2 + del tmp345 + tmp354 = np.copy(np.transpose(v.bbbb.ovov, (0, 2, 1, 3))) * 0.5 + tmp346 = einsum(v.bbbb.vvvv, (0, 1, 2, 3), l2.bbbb, (1, 3, 4, 5), (4, 5, 0, 2)) + tmp354 += np.transpose(tmp346, (1, 0, 3, 2)) + tmp354 += einsum(v.bbbb.ovoo, (0, 1, 2, 3), tmp292, (4, 3, 2, 5), (0, 4, 1, 5)) * -1 + tmp354 += np.transpose(tmp269, (1, 0, 3, 2)) + del tmp269 + tmp347 = einsum(tmp284, (0, 1, 2, 3, 4, 5), t1.bb, (2, 3), (0, 1, 4, 5)) + tmp350 = np.copy(np.transpose(tmp347, (1, 0, 2, 3))) * -1 + del tmp347 + tmp348 = einsum(tmp289, (0, 1, 2, 3), t1.bb, (4, 3), (4, 0, 1, 2)) * 0.3333333333333333 + del tmp289 + tmp349 = einsum(tmp348, (0, 1, 2, 3), v.bbbb.ovov, (3, 4, 0, 5), (2, 1, 4, 5)) * -3 + del tmp348 + tmp350 += np.transpose(tmp349, (1, 0, 3, 2)) + tmp354 += tmp350 * -1 + tmp354 += np.transpose(tmp350, (0, 1, 3, 2)) + del tmp350 + tmp351 = einsum(tmp130, (0, 1, 2, 3), v.bbbb.ovvv, (2, 4, 5, 3), (0, 1, 4, 5)) * 3 + tmp354 += np.transpose(tmp351, (1, 0, 2, 3)) * -1 + tmp354 += np.transpose(tmp351, (1, 0, 3, 2)) + tmp354 += einsum(tmp257, (0, 1, 2, 3), tmp305, (4, 5, 1, 3), (4, 0, 5, 2)) * -1 + tmp354 += tmp277 + del tmp277 + tmp354 += np.transpose(tmp278, (1, 0, 3, 2)) + del tmp278 + tmp354 += np.transpose(tmp282, (1, 0, 3, 2)) + del tmp282 + tmp354 += np.transpose(tmp283, (1, 0, 3, 2)) + del tmp283 + tmp354 += tmp288 + del tmp288 + tmp353 = np.copy(np.transpose(tmp343, (1, 0, 3, 2))) + tmp352 = einsum(tmp292, (0, 1, 2, 3), t1.bb, (4, 3), (0, 1, 2, 4)) * -1 + del tmp292 + tmp353 += np.transpose(tmp352, (1, 0, 3, 2)) + tmp353 += np.transpose(tmp344, (1, 0, 3, 2)) + tmp353 += np.transpose(tmp329, (1, 0, 3, 2)) * 3 + tmp354 += einsum(tmp353, (0, 1, 2, 3), v.bbbb.ovov, (2, 4, 3, 5), (1, 0, 5, 4)) + del tmp353 + tmp354 += tmp290 + del tmp290 + tmp354 += einsum(tmp286, (0, 1, 2, 3, 4, 5), t1.bb, (0, 5), (1, 2, 3, 4)) * -1 + tmp354 += tmp291 * -1 + del tmp291 + tmp113 = np.copy(tmp91) + tmp113 += tmp92 * 2 + tmp113 += tmp93 + tmp113 += tmp94 * 2 + tmp113 += tmp95 * 3 + tmp354 += einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp113, (4, 3), (0, 2, 1, 4)) * -0.5 + l1new.bb += einsum(tmp354, (0, 1, 2, 3), t1.bb, (0, 3), (2, 1)) * -2 + del tmp354 + tmp203 = einsum(v.aabb.vvvv, (0, 1, 2, 3), l2.abab, (1, 3, 4, 5), (4, 5, 0, 2)) + tmp355 = np.copy(tmp203) * 0.5 + tmp355 += einsum(tmp97, (0, 1, 2, 3, 4, 5), t1.aa, (1, 3), (0, 2, 4, 5)) * -0.5 + tmp355 += einsum(v.aabb.ovvv, (0, 1, 2, 3), tmp16, (4, 5, 1, 3), (0, 4, 5, 2)) * -1 + tmp209 = np.copy(tmp184) * 0.5 + tmp209 += tmp185 + tmp209 += tmp186 + tmp206 = np.copy(tmp100) + tmp206 += tmp49 * 2 + tmp206 += tmp50 * 2 + tmp207 = einsum(tmp206, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 1, 2)) * 0.5 + tmp209 += np.transpose(tmp207, (1, 0, 2, 3)) + del tmp207 + tmp208 = einsum(tmp122, (0, 1, 2, 3), t1.bb, (4, 3), (0, 1, 4, 2)) + tmp209 += np.transpose(tmp208, (0, 1, 3, 2)) + del tmp208 + tmp355 += einsum(v.aabb.ovov, (0, 1, 2, 3), tmp209, (4, 0, 5, 2), (4, 5, 1, 3)) + tmp355 += einsum(v.aabb.ovvv, (0, 1, 2, 3), tmp122, (4, 0, 5, 3), (4, 5, 1, 2)) * -1 + tmp355 += einsum(tmp51, (0, 1, 2, 3), v.aabb.vvov, (4, 3, 2, 5), (0, 1, 4, 5)) * -1 + tmp104 = np.copy(v.aabb.oovv) + tmp104 += tmp103 * -1 + tmp355 += einsum(l2.abab, (0, 1, 2, 3), tmp104, (2, 4, 1, 5), (4, 3, 0, 5)) * -0.5 + tmp355 += einsum(tmp43, (0, 1, 2, 3), v.aabb.ovov, (4, 3, 1, 5), (4, 0, 2, 5)) + tmp355 += einsum(t1.bb, (0, 1), tmp299, (2, 3, 0, 4, 1, 5), (2, 3, 4, 5)) * 0.5 + del tmp299 + tmp355 += einsum(v.aabb.ooov, (0, 1, 2, 3), tmp51, (1, 4, 2, 5), (0, 4, 5, 3)) + l1new.bb += einsum(tmp355, (0, 1, 2, 3), t1.aa, (0, 2), (3, 1)) * 2 + del tmp355 + tmp356 = np.copy(tmp125) * 0.5 + tmp356 += tmp126 + tmp356 += tmp127 * 1.5 + tmp356 += tmp302 * -1 + del tmp302 + tmp356 += tmp303 * -1 + del tmp303 + l1new.bb += einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp356, (2, 1), (3, 0)) * -2 + del tmp356 + l1new.bb += einsum(tmp357, (0, 1, 2, 3), tmp308, (0, 2), (3, 1)) * 3 + del tmp308 + l1new.bb += einsum(tmp362, (0, 1), l1.bb, (0, 2), (1, 2)) * -1 + tmp363 = np.copy(tmp135) + tmp363 += tmp136 + tmp363 += tmp137 * 2 + tmp363 += tmp150 + tmp363 += tmp138 * 2 + tmp363 += tmp151 * 3 + l1new.bb += einsum(tmp363, (0, 1), tmp319, (1, 2), (2, 0)) * -1 + del tmp363 + l1new.aa = np.copy(np.transpose(f.aa.ov, (1, 0))) + l1new.aa += einsum(tmp1, (0, 1, 2, 3), tmp0, (1, 4, 2, 3), (4, 0)) * -4 + tmp9 = np.copy(tmp2) + tmp9 += tmp0 + del tmp0 + tmp9 += einsum(tmp2, (0, 1, 2, 3), t2.bbbb, (4, 0, 5, 3), (4, 1, 2, 5)) * 2 + del tmp2 + tmp9 += einsum(t2.abab, (0, 1, 2, 3), tmp5, (0, 2, 4, 5), (1, 4, 5, 3)) + tmp9 += einsum(t2.abab, (0, 1, 2, 3), tmp8, (0, 4, 3, 5), (1, 4, 2, 5)) * -1 + l1new.aa += einsum(v.aabb.ovov, (0, 1, 2, 3), tmp9, (2, 4, 1, 3), (4, 0)) * -2 + del tmp9 + l1new.aa += einsum(tmp12, (0, 1, 2, 3), v.aabb.ovvv, (4, 1, 3, 2), (0, 4)) * -2 + tmp13 = einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), l3.aaaaaa, (6, 7, 5, 0, 1, 2), (6, 7, 3, 4)) + tmp15 = np.copy(np.transpose(tmp13, (1, 0, 3, 2))) + tmp14 = einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), l3.abaaba, (6, 4, 7, 0, 1, 2), (6, 7, 3, 5)) + tmp15 += np.transpose(tmp14, (1, 0, 3, 2)) * 0.33333333333333354 + l1new.aa += einsum(tmp15, (0, 1, 2, 3), v.aaaa.ovvv, (4, 2, 3, 0), (1, 4)) * 6 + tmp17 = np.copy(np.transpose(v.aaaa.ovov, (0, 2, 3, 1))) + tmp17 += np.transpose(v.aaaa.ovov, (0, 2, 1, 3)) * -1 + tmp18 = einsum(tmp17, (0, 1, 2, 3), t2.abab, (0, 4, 3, 5), (1, 4, 2, 5)) + l1new.aa += einsum(tmp16, (0, 1, 2, 3), tmp18, (4, 0, 2, 3), (1, 4)) * -2 + tmp20 = np.copy(np.transpose(v.aaaa.ovov, (0, 2, 1, 3))) + tmp20 += v.aaaa.oovv * -1 + l1new.aa += einsum(tmp20, (0, 1, 2, 3), tmp19, (0, 2, 4, 3), (4, 1)) * -6 + tmp21 = einsum(tmp5, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 1), (4, 2, 3, 5)) * 0.3333333333333333 + l1new.aa += einsum(tmp17, (0, 1, 2, 3), tmp21, (0, 4, 3, 2), (4, 1)) * 12 + del tmp21 + tmp27 = np.copy(v.aabb.ooov) * 0.5 + tmp27 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovoo, (4, 2, 5, 1), (0, 4, 5, 3)) * -0.5 + tmp22 = einsum(t2.bbbb, (0, 1, 2, 3), v.aabb.ooov, (4, 5, 1, 3), (4, 5, 0, 2)) + tmp27 += np.transpose(tmp22, (1, 0, 2, 3)) + tmp23 = einsum(v.aabb.ovvv, (0, 1, 2, 3), t2.abab, (4, 5, 1, 3), (4, 0, 5, 2)) + tmp27 += tmp23 * 0.5 + tmp24 = einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), v.aaaa.ovov, (6, 3, 2, 5), (0, 6, 1, 4)) + tmp27 += tmp24 + tmp25 = einsum(v.aabb.ovov, (0, 1, 2, 3), t3.babbab, (4, 5, 2, 6, 1, 3), (5, 0, 4, 6)) + tmp27 += tmp25 + tmp26 = np.copy(v.aaaa.ooov) * -1 + tmp26 += np.transpose(v.aaaa.ovoo, (0, 2, 3, 1)) + tmp27 += einsum(t2.abab, (0, 1, 2, 3), tmp26, (0, 4, 5, 2), (4, 5, 1, 3)) * 0.5 + l1new.aa += einsum(tmp27, (0, 1, 2, 3), l2.abab, (4, 3, 0, 2), (4, 1)) * -2 + del tmp27 + tmp32 = np.copy(np.transpose(v.aaaa.ooov, (0, 2, 1, 3))) * -1 + tmp32 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ooov, (4, 5, 1, 3), (0, 4, 5, 2)) + tmp28 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovvv, (4, 3, 5, 2), (0, 1, 4, 5)) * -1 + tmp32 += np.transpose(tmp28, (1, 0, 2, 3)) + tmp29 = einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), v.aaaa.ovov, (6, 5, 2, 4), (0, 1, 6, 3)) * -1 + tmp32 += np.transpose(tmp29, (1, 0, 2, 3)) * -3 + tmp30 = einsum(v.aabb.ovov, (0, 1, 2, 3), t3.abaaba, (4, 2, 5, 6, 3, 1), (4, 5, 0, 6)) + tmp32 += np.transpose(tmp30, (1, 0, 2, 3)) * -1 + tmp32 += einsum(tmp31, (0, 1, 2, 3), t2.aaaa, (4, 2, 5, 3), (4, 1, 0, 5)) * 2 + l1new.aa += einsum(tmp32, (0, 1, 2, 3), l2.aaaa, (4, 3, 0, 1), (4, 2)) * 2 + del tmp32 + tmp33 = einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), t3.aaaaaa, (6, 4, 5, 7, 1, 2), (3, 6, 0, 7)) + tmp36 = np.copy(tmp33) + tmp34 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (6, 4, 5, 7, 1, 2), (3, 6, 0, 7)) + tmp36 += tmp34 * 0.4444444444444444 + tmp35 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), l3.babbab, (3, 6, 5, 0, 7, 2), (7, 1, 6, 4)) + tmp36 += tmp35 * 0.1111111111111111 + l1new.aa += einsum(tmp36, (0, 1, 2, 3), tmp31, (1, 0, 4, 3), (2, 4)) * 9 + del tmp31 + l1new.aa += einsum(v.aabb.oovv, (0, 1, 2, 3), tmp8, (1, 4, 2, 3), (4, 0)) * -2 + tmp37 = einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), l3.aaaaaa, (6, 3, 5, 7, 0, 2), (7, 1, 6, 4)) + tmp40 = np.copy(tmp37) * 0.75 + tmp38 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.babbab, (6, 5, 4, 7, 2, 1), (3, 6, 0, 7)) + tmp40 += tmp38 + tmp39 = einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), l3.babbab, (4, 6, 5, 1, 7, 2), (7, 0, 6, 3)) + tmp40 += tmp39 * 0.75 + l1new.aa += einsum(tmp40, (0, 1, 2, 3), v.aabb.ooov, (4, 0, 1, 3), (2, 4)) * -4 + del tmp40 + l1new.aa += einsum(tmp43, (0, 1, 2, 3), v.aabb.ovoo, (4, 3, 1, 0), (2, 4)) * 2 + tmp48 = np.copy(v.aaaa.oooo) + tmp48 += np.transpose(tmp47, (1, 3, 0, 2)) + l1new.aa += einsum(tmp46, (0, 1, 2, 3), tmp48, (0, 4, 1, 2), (3, 4)) * 2 + del tmp48 + l1new.aa += einsum(tmp53, (0, 1, 2, 3), tmp51, (0, 2, 3, 4), (4, 1)) * 2 + del tmp53 + tmp89 = np.copy(np.transpose(v.aaaa.ovov, (0, 2, 1, 3))) * -1 + tmp55 = einsum(l2.aaaa, (0, 1, 2, 3), tmp54, (2, 3, 4, 5), (4, 5, 0, 1)) + tmp57 = np.copy(np.transpose(tmp55, (0, 1, 3, 2))) * -2 + tmp56 = einsum(tmp19, (0, 1, 2, 3), v.aaaa.ooov, (4, 0, 5, 3), (4, 5, 1, 2)) * 6 + tmp57 += np.transpose(tmp56, (0, 1, 3, 2)) + tmp89 += tmp57 + tmp89 += np.transpose(tmp57, (1, 0, 2, 3)) * -1 + del tmp57 + tmp59 = einsum(tmp58, (0, 1, 2, 3), tmp19, (4, 2, 5, 3), (4, 0, 5, 1)) * 6 + tmp89 += np.transpose(tmp59, (0, 1, 3, 2)) * -1 + tmp89 += einsum(tmp60, (0, 1, 2, 3), tmp36, (4, 0, 5, 2), (4, 1, 3, 5)) * 9 + tmp61 = einsum(v.aabb.ovvv, (0, 1, 2, 3), tmp8, (4, 5, 2, 3), (0, 4, 1, 5)) * 2 + tmp89 += np.transpose(tmp61, (1, 0, 2, 3)) + tmp89 += einsum(tmp15, (0, 1, 2, 3), v.aaaa.ovov, (4, 3, 5, 2), (4, 5, 1, 0)) * -6 + del tmp15 + tmp64 = np.copy(np.transpose(v.aaaa.ovov, (0, 2, 1, 3))) * 0.5 + tmp64 += v.aaaa.oovv * -0.5 + tmp64 += tmp62 * 0.5 + tmp63 = einsum(t2.aaaa, (0, 1, 2, 3), tmp17, (1, 4, 3, 5), (0, 4, 2, 5)) + tmp64 += tmp63 * -1 + del tmp63 + tmp65 = einsum(tmp64, (0, 1, 2, 3), l2.aaaa, (4, 2, 5, 0), (5, 1, 4, 3)) * 4 + del tmp64 + tmp89 += np.transpose(tmp65, (0, 1, 3, 2)) + tmp66 = np.copy(np.transpose(v.aabb.ovov, (0, 2, 1, 3))) + tmp66 += tmp1 * 2 + tmp66 += tmp18 + tmp67 = einsum(l2.abab, (0, 1, 2, 3), tmp66, (4, 3, 5, 1), (2, 4, 0, 5)) + tmp89 += np.transpose(tmp67, (0, 1, 3, 2)) + tmp70 = np.copy(np.transpose(tmp68, (1, 0, 2, 3, 4, 5))) * -1 + tmp69 = einsum(v.aaaa.ovov, (0, 1, 2, 3), tmp5, (4, 5, 6, 1), (4, 0, 2, 5, 6, 3)) + tmp70 += np.transpose(tmp69, (2, 0, 1, 4, 5, 3)) + tmp70 += np.transpose(tmp69, (1, 0, 2, 4, 5, 3)) * -1 + tmp89 += einsum(t1.aa, (0, 1), tmp70, (0, 2, 3, 4, 5, 1), (2, 3, 5, 4)) * -2 + del tmp70 + tmp71 = np.copy(tmp37) + tmp71 += tmp38 * 1.3333333333333333 + tmp71 += tmp39 + tmp72 = einsum(tmp71, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (4, 0, 5, 2)) * 3 + tmp89 += np.transpose(tmp72, (1, 0, 2, 3)) + tmp73 = np.copy(v.aaaa.ooov) + tmp73 += np.transpose(v.aaaa.ooov, (0, 2, 1, 3)) * -1 + tmp74 = np.copy(np.transpose(tmp44, (1, 0, 2, 3))) * -1 + tmp74 += np.transpose(tmp45, (1, 0, 2, 3)) * -0.3333333333333333 + tmp75 = einsum(tmp73, (0, 1, 2, 3), tmp74, (0, 4, 1, 5), (2, 4, 3, 5)) * 6 + del tmp73 + tmp89 += np.transpose(tmp75, (1, 0, 2, 3)) + tmp89 += einsum(t1.bb, (0, 1), tmp76, (2, 3, 0, 4, 5, 1), (3, 2, 4, 5)) * -2 + tmp80 = einsum(tmp79, (0, 1, 2, 3), tmp77, (0, 4, 2, 5), (4, 1, 5, 3)) * 2 + tmp89 += np.transpose(tmp80, (1, 0, 2, 3)) + tmp81 = np.copy(v.aaaa.oooo) + tmp81 += np.transpose(tmp47, (1, 3, 2, 0)) + tmp89 += einsum(tmp81, (0, 1, 2, 3), l2.aaaa, (4, 5, 0, 3), (2, 1, 4, 5)) * 2 + del tmp81 + tmp82 = einsum(tmp51, (0, 1, 2, 3), v.aabb.ovoo, (4, 5, 1, 2), (4, 0, 5, 3)) * 2 + tmp89 += np.transpose(tmp82, (1, 0, 2, 3)) * -1 + tmp89 += einsum(tmp88, (0, 1), v.aaaa.ovov, (2, 1, 3, 4), (2, 3, 0, 4)) * 2 + del tmp88 + l1new.aa += einsum(t1.aa, (0, 1), tmp89, (0, 2, 1, 3), (3, 2)) * -1 + del tmp89 + tmp90 = np.copy(tmp83) + tmp90 += tmp84 * 0.5 + tmp90 += tmp87 * 0.49999999999998007 + l1new.aa += einsum(tmp90, (0, 1), tmp58, (2, 1, 0, 3), (3, 2)) * -2 + del tmp90 + tmp96 = np.copy(tmp91) * 0.5000000000000202 + tmp96 += tmp92 + tmp96 += np.transpose(tmp93, (1, 0)) * 0.5000000000000002 + tmp96 += tmp94 + tmp96 += tmp95 * 1.4999999999999998 + l1new.aa += einsum(v.aabb.ovvv, (0, 1, 2, 3), tmp96, (3, 2), (1, 0)) * 2 + del tmp96 + tmp114 = np.copy(np.transpose(v.aabb.ovov, (0, 2, 1, 3))) * -1 + tmp98 = einsum(t1.aa, (0, 1), tmp97, (0, 2, 3, 4, 1, 5), (2, 3, 4, 5)) + tmp114 += tmp98 + tmp114 += einsum(tmp100, (0, 1, 2, 3), tmp99, (0, 4, 2, 5), (4, 1, 3, 5)) * -1 + tmp101 = einsum(v.aabb.ovvv, (0, 1, 2, 3), tmp16, (4, 5, 1, 3), (0, 4, 5, 2)) * 2 + tmp114 += tmp101 + tmp102 = einsum(tmp12, (0, 1, 2, 3), v.aabb.ovov, (4, 1, 5, 3), (4, 5, 0, 2)) * 2 + del tmp12 + tmp114 += tmp102 * -1 + tmp114 += einsum(l2.abab, (0, 1, 2, 3), tmp104, (2, 4, 1, 5), (4, 3, 0, 5)) + del tmp104 + tmp114 += einsum(tmp43, (0, 1, 2, 3), v.aabb.ovov, (4, 3, 1, 5), (4, 0, 2, 5)) * -2 + tmp105 = einsum(tmp16, (0, 1, 2, 3), v.aabb.ovoo, (4, 2, 5, 0), (4, 5, 1, 3)) * 2 + tmp114 += tmp105 * -1 + tmp106 = einsum(tmp8, (0, 1, 2, 3), v.aabb.ooov, (4, 0, 5, 3), (4, 5, 1, 2)) * 2 + tmp114 += tmp106 * -1 + tmp109 = np.copy(v.aabb.oooo) + tmp109 += np.transpose(tmp107, (0, 1, 3, 2)) + del tmp107 + tmp109 += np.transpose(tmp108, (1, 0, 2, 3)) + tmp109 += tmp52 + tmp114 += einsum(l2.abab, (0, 1, 2, 3), tmp109, (2, 4, 3, 5), (4, 5, 0, 1)) * -1 + tmp114 += einsum(tmp110, (0, 1, 2, 3), tmp51, (0, 4, 2, 5), (1, 4, 5, 3)) * -2 + del tmp110 + tmp111 = einsum(tmp16, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 5, 6), (4, 5, 0, 1, 6, 3)) + tmp112 = einsum(tmp111, (0, 1, 2, 3, 4, 5), t1.bb, (1, 5), (0, 2, 3, 4)) * -2 + tmp114 += tmp112 + tmp114 += einsum(tmp113, (0, 1), v.aabb.ovov, (2, 3, 4, 1), (2, 4, 3, 0)) + l1new.aa += einsum(tmp114, (0, 1, 2, 3), t1.bb, (1, 3), (2, 0)) * -1 + del tmp114 + tmp115 = np.copy(tmp85) + tmp115 += tmp86 * 0.6666666666666667 + l1new.aa += einsum(tmp58, (0, 1, 2, 3), tmp115, (2, 1), (3, 0)) * -3 + del tmp115 + l1new.aa += einsum(tmp124, (0, 1), v.aaaa.ovov, (2, 3, 0, 1), (3, 2)) * 2 + del tmp124 + tmp131 = np.copy(np.transpose(l1.bb, (1, 0))) * 0.16666666666666666 + tmp131 += tmp125 * 0.16666666666666666 + del tmp125 + tmp131 += tmp126 * 0.3333333333333333 + del tmp126 + tmp131 += tmp127 * 0.5 + del tmp127 + tmp131 += einsum(t2.abab, (0, 1, 2, 3), tmp51, (0, 1, 4, 2), (4, 3)) * -0.3333333333333333 + tmp131 += einsum(tmp130, (0, 1, 2, 3), t2.bbbb, (0, 1, 4, 3), (2, 4)) + l1new.aa += einsum(v.aabb.ovov, (0, 1, 2, 3), tmp131, (2, 3), (1, 0)) * 6 + del tmp131 + tmp134 = np.copy(v.aaaa.oovv) * -1 + tmp132 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.aaaa, (4, 2, 5, 3), (4, 0, 5, 1)) + tmp134 += tmp132 * 2 + tmp134 += tmp62 + tmp133 = np.copy(v.aaaa.ovvv) * -1 + tmp133 += np.transpose(v.aaaa.ovvv, (0, 2, 1, 3)) + tmp134 += einsum(t1.aa, (0, 1), tmp133, (2, 3, 1, 4), (0, 2, 4, 3)) * -1 + l1new.aa += einsum(l1.aa, (0, 1), tmp134, (1, 2, 0, 3), (3, 2)) + del tmp134 + tmp139 = np.copy(tmp135) * 0.5000000000000202 + tmp139 += tmp136 * 0.5000000000000202 + tmp139 += tmp137 + tmp139 += tmp138 + l1new.aa += einsum(tmp139, (0, 1), tmp141, (2, 1, 0, 3), (3, 2)) * -2 + del tmp141, tmp139 + tmp147 = np.copy(v.aaaa.ooov) + tmp147 += np.transpose(tmp77, (2, 0, 1, 3)) + tmp146 = np.copy(tmp142) * 0.5 + tmp146 += tmp143 + tmp146 += tmp144 * 0.5 + tmp146 += tmp145 * 1.4999999999999394 + l1new.aa += einsum(tmp146, (0, 1), tmp147, (1, 0, 2, 3), (3, 2)) * -2 + del tmp146, tmp147 + tmp149 = einsum(t1.bb, (0, 1), v.aabb.ovvv, (2, 3, 4, 1), (2, 0, 3, 4)) * 0.5 + tmp149 += tmp148 * 0.5 + tmp149 += tmp1 + l1new.aa += einsum(l1.bb, (0, 1), tmp149, (2, 1, 3, 0), (3, 2)) * 2 + del tmp149 + tmp152 = np.copy(tmp150) * 0.33333333333333354 + tmp152 += tmp151 + l1new.aa += einsum(tmp152, (0, 1), v.aabb.ovoo, (2, 3, 0, 1), (3, 2)) * -3 + l1new.aa += einsum(tmp140, (0, 1, 2, 3), tmp152, (1, 2), (3, 0)) * -3 + del tmp152 + tmp155 = np.copy(tmp153) * 2 + tmp155 += tmp154 + l1new.aa += einsum(v.aaaa.ovoo, (0, 1, 2, 3), tmp155, (2, 3), (1, 0)) * -1 + del tmp155 + tmp156 = np.copy(tmp153) + tmp156 += tmp154 * 0.5000000000000002 + l1new.aa += einsum(tmp77, (0, 1, 2, 3), tmp156, (0, 2), (3, 1)) * -2 + del tmp156 + tmp157 = np.copy(tmp83) + tmp157 += tmp84 * 0.5 + tmp157 += tmp85 * 1.4999999999999394 + tmp157 += tmp86 + tmp157 += tmp87 * 0.49999999999998007 + l1new.aa += einsum(tmp160, (0, 1), tmp157, (2, 1), (2, 0)) * -2 + l1new.aa += einsum(tmp166, (0, 1), l1.aa, (2, 0), (2, 1)) * -1 + l1new.aa += einsum(l1.bb, (0, 1), tmp167, (2, 1, 3, 0), (3, 2)) * -1 + tmp168 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.aaaa, (4, 2, 5, 1), (4, 0, 5, 3)) + l1new.aa += einsum(l1.aa, (0, 1), tmp168, (1, 2, 0, 3), (3, 2)) * -2 + l1new.aa += einsum(tmp4, (0, 1, 2, 3), v.aaaa.vvvv, (4, 2, 3, 1), (4, 0)) * -2 + del tmp4 + l1new.aa += einsum(tmp3, (0, 1, 2, 3), v.aaaa.vvvv, (4, 1, 3, 2), (4, 0)) * 6 + del tmp3 + l1new.aa += einsum(tmp121, (0, 1, 2, 3), tmp1, (1, 2, 4, 3), (4, 0)) * -4 + l1new.aa += einsum(v.aabb.vvvv, (0, 1, 2, 3), tmp8, (4, 1, 2, 3), (0, 4)) * 2 + tmp169 = np.copy(tmp33) * 2.25 + tmp169 += tmp34 + tmp169 += tmp35 * 0.25 + l1new.aa += einsum(tmp58, (0, 1, 2, 3), tmp169, (4, 0, 2, 1), (3, 4)) * 4 + del tmp169 + tmp173 = np.copy(np.transpose(v.aabb.vvov, (2, 0, 1, 3))) + tmp170 = einsum(v.aabb.ovvv, (0, 1, 2, 3), t2.abab, (0, 4, 5, 3), (4, 5, 1, 2)) + tmp173 += tmp170 * -1 + tmp171 = einsum(t2.bbbb, (0, 1, 2, 3), v.aabb.vvov, (4, 5, 1, 3), (0, 4, 5, 2)) + tmp173 += np.transpose(tmp171, (0, 2, 1, 3)) * 2 + tmp173 += einsum(t2.abab, (0, 1, 2, 3), tmp172, (0, 2, 4, 5), (1, 5, 4, 3)) + l1new.aa += einsum(l2.abab, (0, 1, 2, 3), tmp173, (3, 0, 4, 1), (4, 2)) + del tmp173 + tmp174 = np.copy(np.transpose(v.aaaa.ovvv, (0, 2, 3, 1))) + tmp174 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.vvov, (4, 5, 1, 3), (0, 2, 4, 5)) * -1 + tmp174 += einsum(tmp133, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 2), (4, 5, 1, 3)) * -2 + del tmp133 + l1new.aa += einsum(l2.aaaa, (0, 1, 2, 3), tmp174, (3, 0, 4, 1), (4, 2)) * 2 + del tmp174 + l1new.aa += einsum(tmp71, (0, 1, 2, 3), v.aabb.vvov, (4, 2, 1, 3), (4, 0)) * 3 + del tmp71 + tmp175 = einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), l2.aaaa, (3, 5, 6, 2), (6, 0, 1, 4)) + tmp175 += tmp120 + tmp175 += einsum(l2.abab, (0, 1, 2, 3), t3.babbab, (4, 5, 3, 6, 0, 1), (2, 5, 4, 6)) + tmp175 += tmp121 + tmp175 += einsum(t2.bbbb, (0, 1, 2, 3), tmp120, (4, 5, 1, 3), (4, 5, 0, 2)) * 2 + tmp175 += einsum(tmp8, (0, 1, 2, 3), t2.abab, (4, 5, 1, 2), (0, 4, 5, 3)) * -1 + tmp175 += einsum(tmp46, (0, 1, 2, 3), t2.abab, (0, 4, 3, 5), (1, 2, 4, 5)) + l1new.aa += einsum(tmp175, (0, 1, 2, 3), v.aabb.ovov, (1, 4, 2, 3), (4, 0)) * -2 + del tmp175 + tmp177 = einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), l2.aaaa, (4, 5, 6, 2), (6, 0, 1, 3)) * 0.5 + tmp177 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), l2.abab, (5, 4, 6, 1), (6, 0, 2, 3)) * 0.16666666666666666 + tmp177 += einsum(t2.aaaa, (0, 1, 2, 3), tmp19, (4, 2, 3, 5), (4, 0, 1, 5)) * 0.5 + tmp176 = einsum(tmp46, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 3), (4, 1, 2, 5)) * 0.3333333333333333 + tmp177 += np.transpose(tmp176, (1, 0, 2, 3)) + l1new.aa += einsum(tmp177, (0, 1, 2, 3), v.aaaa.ovov, (1, 4, 2, 3), (4, 0)) * 12 + del tmp177 + l1new.aa += einsum(v.aabb.ovvv, (0, 1, 2, 3), tmp180, (4, 0, 3, 2), (1, 4)) * -2 + tmp181 = np.copy(np.transpose(tmp44, (1, 0, 2, 3))) * -0.5 + del tmp44 + tmp181 += np.transpose(tmp45, (1, 0, 2, 3)) * -0.16666666666666666 + del tmp45 + tmp181 += tmp176 + del tmp176 + l1new.aa += einsum(v.aaaa.ovov, (0, 1, 2, 3), tmp181, (0, 4, 2, 1), (3, 4)) * -12 + del tmp181 + l1new.aa += einsum(tmp18, (0, 1, 2, 3), tmp122, (4, 0, 1, 3), (2, 4)) * -2 + l1new.aa += einsum(tmp183, (0, 1, 2, 3), tmp51, (4, 0, 1, 2), (3, 4)) * -2 + l1new.aa += einsum(v.aaaa.oovv, (0, 1, 2, 3), tmp74, (0, 4, 1, 3), (2, 4)) * 6 + l1new.aa += einsum(v.aabb.ovoo, (0, 1, 2, 3), tmp187, (4, 0, 3, 2), (1, 4)) * 2 + del tmp187 + tmp188 = einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 5, 0, 1), (2, 3, 4, 5)) + tmp191 = np.copy(np.transpose(tmp188, (1, 0, 3, 2))) + tmp189 = einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), t3.aaaaaa, (6, 7, 5, 0, 1, 2), (3, 4, 6, 7)) + tmp191 += np.transpose(tmp189, (1, 0, 3, 2)) * 3 + tmp190 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (6, 4, 7, 0, 1, 2), (3, 5, 6, 7)) + tmp191 += np.transpose(tmp190, (1, 0, 3, 2)) + l1new.aa += einsum(v.aaaa.ooov, (0, 1, 2, 3), tmp191, (1, 4, 0, 2), (3, 4)) * 2 + del tmp191 + tmp202 = np.copy(np.transpose(v.aaaa.ovov, (0, 2, 1, 3))) + tmp192 = einsum(l2.aaaa, (0, 1, 2, 3), v.aaaa.vvvv, (4, 0, 5, 1), (2, 3, 4, 5)) + tmp202 += np.transpose(tmp192, (1, 0, 3, 2)) * 2 + tmp202 += einsum(v.aaaa.ovoo, (0, 1, 2, 3), tmp78, (4, 3, 2, 5), (0, 4, 1, 5)) * -2 + tmp193 = einsum(v.aabb.ovov, (0, 1, 2, 3), tmp7, (4, 5, 6, 3), (4, 0, 2, 5, 1, 6)) * -1 + del tmp7 + tmp202 += einsum(tmp193, (0, 1, 2, 3, 4, 5), t1.bb, (2, 5), (1, 0, 4, 3)) * 2 + del tmp193 + tmp194 = einsum(t1.aa, (0, 1), tmp68, (2, 3, 0, 1, 4, 5), (2, 3, 4, 5)) + tmp197 = np.copy(np.transpose(tmp194, (1, 0, 2, 3))) * -2 + del tmp194 + tmp195 = einsum(tmp74, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 1, 2)) * 3 + tmp196 = einsum(v.aaaa.ovov, (0, 1, 2, 3), tmp195, (0, 4, 5, 2), (5, 4, 3, 1)) * -2 + tmp197 += np.transpose(tmp196, (1, 0, 3, 2)) + del tmp196 + tmp202 += tmp197 * -1 + tmp202 += np.transpose(tmp197, (0, 1, 3, 2)) + del tmp197 + tmp198 = einsum(tmp46, (0, 1, 2, 3), v.aaaa.ovvv, (2, 4, 5, 3), (0, 1, 4, 5)) * 2 + tmp202 += np.transpose(tmp198, (1, 0, 2, 3)) * -1 + tmp202 += np.transpose(tmp198, (1, 0, 3, 2)) + del tmp198 + tmp202 += np.transpose(tmp59, (1, 0, 3, 2)) * -1 + tmp202 += einsum(tmp36, (0, 1, 2, 3), tmp17, (1, 4, 5, 3), (4, 0, 5, 2)) * 9 + del tmp36 + tmp202 += tmp61 + tmp202 += np.transpose(tmp65, (1, 0, 3, 2)) + del tmp65 + tmp202 += np.transpose(tmp67, (1, 0, 3, 2)) + del tmp67 + tmp202 += tmp72 + del tmp72 + tmp200 = np.copy(np.transpose(tmp188, (1, 0, 3, 2))) + tmp199 = einsum(t1.aa, (0, 1), tmp78, (2, 3, 4, 1), (2, 3, 4, 0)) * -1 + del tmp78 + tmp200 += np.transpose(tmp199, (1, 0, 3, 2)) + tmp200 += np.transpose(tmp189, (1, 0, 3, 2)) * 3 + tmp200 += np.transpose(tmp190, (1, 0, 3, 2)) + tmp202 += einsum(tmp200, (0, 1, 2, 3), v.aaaa.ovov, (2, 4, 3, 5), (1, 0, 5, 4)) * 2 + del tmp200 + tmp202 += tmp75 + del tmp75 + tmp201 = einsum(v.aaaa.ovov, (0, 1, 2, 3), tmp5, (4, 5, 6, 1), (4, 0, 2, 5, 6, 3)) * 0.3333333333333333 + tmp202 += einsum(tmp201, (0, 1, 2, 3, 4, 5), t1.aa, (1, 4), (2, 0, 5, 3)) * -6 + tmp202 += tmp82 * -1 + del tmp82 + tmp202 += einsum(v.aaaa.ovov, (0, 1, 2, 3), tmp157, (4, 3), (0, 2, 1, 4)) * -2 + del tmp157 + l1new.aa += einsum(tmp202, (0, 1, 2, 3), t1.aa, (0, 3), (2, 1)) * -1 + del tmp202 + tmp213 = np.copy(tmp203) + tmp213 += einsum(tmp204, (0, 1, 2, 3, 4, 5), t1.bb, (2, 4), (0, 1, 3, 5)) * -1 + tmp205 = einsum(tmp8, (0, 1, 2, 3), v.aabb.vvov, (4, 1, 5, 3), (0, 5, 4, 2)) * 2 + tmp213 += tmp205 * -1 + tmp213 += einsum(v.aabb.ovov, (0, 1, 2, 3), tmp209, (4, 0, 5, 2), (4, 5, 1, 3)) * 2 + del tmp209 + tmp213 += einsum(v.aabb.ovvv, (0, 1, 2, 3), tmp122, (4, 0, 5, 3), (4, 5, 1, 2)) * -2 + del tmp122 + tmp213 += einsum(tmp51, (0, 1, 2, 3), v.aabb.vvov, (4, 3, 2, 5), (0, 1, 4, 5)) * -2 + del tmp51 + tmp213 += einsum(l2.abab, (0, 1, 2, 3), tmp183, (3, 4, 0, 5), (2, 4, 5, 1)) * -1 + tmp213 += einsum(tmp180, (0, 1, 2, 3), v.aabb.ovov, (1, 4, 5, 3), (0, 5, 4, 2)) * 2 + tmp210 = np.copy(tmp97) * -1 + tmp210 += einsum(v.aabb.ovov, (0, 1, 2, 3), tmp6, (4, 5, 6, 3), (4, 0, 2, 5, 1, 6)) * 2 + del tmp6 + tmp213 += einsum(t1.aa, (0, 1), tmp210, (2, 0, 3, 1, 4, 5), (2, 3, 4, 5)) + del tmp210 + tmp213 += einsum(v.aabb.ovoo, (0, 1, 2, 3), tmp212, (4, 0, 3, 5), (4, 2, 1, 5)) + l1new.aa += einsum(tmp213, (0, 1, 2, 3), t1.bb, (1, 3), (2, 0)) + del tmp213 + tmp214 = np.copy(tmp116) * 1.5 + del tmp116 + tmp214 += tmp117 + del tmp117 + tmp214 += tmp118 * 0.5 + del tmp118 + tmp214 += tmp119 * -1 + del tmp119 + tmp214 += tmp123 * -1 + del tmp123 + l1new.aa += einsum(tmp214, (0, 1), v.aaaa.ovov, (2, 1, 0, 3), (3, 2)) * -2 + del tmp214 + tmp215 = np.copy(tmp142) * 0.5 + tmp215 += tmp143 + tmp215 += tmp144 * 0.5 + l1new.aa += einsum(tmp216, (0, 1, 2, 3), tmp215, (0, 2), (3, 1)) * 2 + del tmp215 + tmp217 = np.copy(tmp145) * 1.4999999999999998 + tmp217 += tmp153 + tmp217 += tmp154 * 0.5000000000000002 + l1new.aa += einsum(tmp217, (0, 1), tmp77, (0, 1, 2, 3), (3, 2)) * 2 + del tmp217 + tmp218 = np.copy(tmp145) + tmp218 += tmp153 * 0.6666666666666667 + tmp218 += tmp154 * 0.33333333333333354 + l1new.aa += einsum(tmp218, (0, 1), v.aaaa.ooov, (2, 0, 1, 3), (3, 2)) * 3 + del tmp218 + l1new.aa += einsum(l1.aa, (0, 1), tmp223, (0, 2), (2, 1)) * -1 + tmp224 = np.copy(tmp142) + tmp224 += tmp143 * 2 + tmp224 += tmp144 + tmp224 += tmp145 * 3 + tmp224 += tmp153 * 2 + tmp224 += tmp154 + l1new.aa += einsum(tmp160, (0, 1), tmp224, (2, 0), (1, 2)) * -1 + l2new.aaaa = np.copy(np.transpose(v.aaaa.ovov, (1, 3, 0, 2))) + tmp364 = np.copy(tmp83) * 2 + del tmp83 + tmp364 += tmp84 + del tmp84 + tmp364 += tmp85 * 3 + del tmp85 + tmp364 += tmp86 * 2 + del tmp86 + tmp364 += tmp87 + del tmp87 + tmp365 = einsum(tmp364, (0, 1), v.aaaa.ovov, (2, 1, 3, 4), (2, 3, 0, 4)) + l2new.aaaa += np.transpose(tmp365, (3, 2, 1, 0)) * -1 + l2new.aaaa += einsum(tmp216, (0, 1, 2, 3), l1.aa, (4, 0), (3, 4, 2, 1)) * -1 + del tmp216 + l2new.aaaa += np.transpose(v.aaaa.ovov, (3, 1, 0, 2)) * -1 + l2new.aaaa += np.transpose(tmp365, (2, 3, 1, 0)) + del tmp365 + tmp367 = einsum(l1.aa, (0, 1), tmp366, (1, 2, 3, 4), (2, 3, 0, 4)) + del tmp366 + l2new.aaaa += np.transpose(tmp367, (2, 3, 0, 1)) + tmp368 = einsum(v.aaaa.ovvv, (0, 1, 2, 3), l1.aa, (3, 4), (4, 0, 1, 2)) + l2new.aaaa += np.transpose(tmp368, (2, 3, 0, 1)) * -1 + tmp370 = einsum(tmp369, (0, 1, 2, 3, 4, 5), v.aabb.ovoo, (6, 5, 1, 2), (0, 6, 3, 4)) + l2new.aaaa += np.transpose(tmp370, (2, 3, 0, 1)) * 2 + tmp371 = np.copy(v.aabb.ooov) * 0.5000000000000198 + tmp371 += tmp23 * 0.5000000000000198 + tmp371 += tmp24 + tmp371 += tmp25 + tmp371 += einsum(t2.abab, (0, 1, 2, 3), tmp26, (0, 4, 5, 2), (4, 5, 1, 3)) * 0.5000000000000198 + l2new.aaaa += einsum(tmp371, (0, 1, 2, 3), l3.abaaba, (4, 3, 5, 6, 2, 0), (4, 5, 6, 1)) * -4 + del tmp371 + tmp372 = np.copy(np.transpose(v.aaaa.ooov, (0, 2, 1, 3))) + tmp372 += np.transpose(tmp28, (1, 0, 2, 3)) * -1 + tmp372 += np.transpose(tmp29, (1, 0, 2, 3)) * 3 + tmp372 += np.transpose(tmp30, (1, 0, 2, 3)) + l2new.aaaa += einsum(tmp372, (0, 1, 2, 3), l3.aaaaaa, (4, 5, 3, 6, 0, 1), (4, 5, 6, 2)) * -6 + del tmp372 + tmp373 = np.copy(v.aaaa.ooov) + tmp373 += np.transpose(v.aaaa.ooov, (0, 2, 1, 3)) * -1 + l2new.aaaa += einsum(tmp373, (0, 1, 2, 3), tmp374, (0, 4, 2, 5, 6, 3), (6, 5, 4, 1)) * -12 + del tmp373 + tmp377 = np.copy(np.transpose(tmp375, (1, 0, 2, 4, 3, 5))) * 3 + tmp377 += np.transpose(tmp376, (1, 0, 2, 4, 3, 5)) * 2 + tmp378 = einsum(v.aabb.ooov, (0, 1, 2, 3), tmp377, (1, 4, 2, 5, 6, 3), (0, 4, 5, 6)) + l2new.aaaa += np.transpose(tmp378, (3, 2, 1, 0)) * -2 + l2new.aaaa += einsum(tmp58, (0, 1, 2, 3), tmp5, (4, 2, 5, 3), (1, 5, 4, 0)) * 2 + tmp380 = einsum(t1.aa, (0, 1), tmp379, (0, 2, 3, 4, 5, 6, 7, 1), (2, 3, 4, 5, 6, 7)) + del tmp379 + tmp394 = np.copy(np.transpose(tmp380, (1, 0, 2, 4, 5, 3))) * -1 + del tmp380 + tmp394 += np.transpose(tmp382, (1, 0, 2, 4, 5, 3)) * 0.3333333333333333 + tmp394 += np.transpose(tmp384, (1, 0, 2, 4, 5, 3)) + del tmp384 + tmp394 += np.transpose(tmp68, (1, 0, 2, 3, 4, 5)) * 0.3333333333333333 + tmp394 += np.transpose(tmp68, (1, 0, 2, 3, 5, 4)) * -0.3333333333333333 + tmp385 = np.copy(np.transpose(v.aabb.ovov, (0, 2, 1, 3))) + tmp385 += tmp18 + tmp386 = einsum(tmp385, (0, 1, 2, 3), l3.abaaba, (4, 3, 5, 6, 1, 7), (6, 7, 0, 4, 5, 2)) * 0.3333333333333333 + del tmp385 + tmp394 += np.transpose(tmp386, (1, 0, 2, 4, 5, 3)) * -1 + tmp387 = einsum(tmp20, (0, 1, 2, 3), l3.aaaaaa, (4, 5, 2, 6, 7, 0), (6, 7, 1, 4, 5, 3)) + tmp394 += np.transpose(tmp387, (0, 1, 2, 3, 5, 4)) * -1 + tmp388 = einsum(tmp374, (0, 1, 2, 3, 4, 5), tmp17, (2, 6, 5, 7), (6, 0, 1, 7, 3, 4)) * 2 + del tmp17 + tmp394 += np.transpose(tmp388, (2, 1, 0, 5, 3, 4)) + del tmp388 + tmp389 = np.copy(np.transpose(tmp375, (1, 0, 2, 4, 3, 5))) + del tmp375 + tmp389 += np.transpose(tmp376, (1, 0, 2, 4, 3, 5)) * 0.6666666666666666 + del tmp376 + tmp390 = einsum(v.aabb.ovov, (0, 1, 2, 3), tmp389, (4, 5, 2, 6, 7, 3), (0, 4, 5, 1, 6, 7)) + del tmp389 + tmp394 += np.transpose(tmp390, (2, 1, 0, 5, 3, 4)) * -1 + tmp391 = np.copy(v.aaaa.oooo) + tmp391 += np.transpose(tmp47, (1, 3, 2, 0)) + tmp391 += np.transpose(tmp54, (2, 1, 3, 0)) + tmp391 += np.transpose(tmp54, (2, 3, 1, 0)) * -1 + del tmp54 + tmp392 = einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), tmp391, (5, 6, 7, 4), (3, 6, 7, 0, 1, 2)) + tmp394 += np.transpose(tmp392, (0, 2, 1, 4, 5, 3)) + del tmp392 + tmp393 = einsum(v.aaaa.ovov, (0, 1, 2, 3), tmp5, (4, 5, 6, 3), (4, 0, 2, 5, 6, 1)) * 0.3333333333333333 + tmp394 += np.transpose(tmp393, (0, 2, 1, 4, 3, 5)) + del tmp393 + tmp395 = einsum(t1.aa, (0, 1), tmp394, (2, 0, 3, 4, 1, 5), (2, 3, 4, 5)) * 6 + del tmp394 + l2new.aaaa += np.transpose(tmp395, (3, 2, 0, 1)) * -1 + l2new.aaaa += np.transpose(tmp61, (2, 3, 1, 0)) * -1 + tmp403 = np.copy(tmp97) * 0.5 + tmp403 += np.transpose(tmp396, (0, 1, 2, 4, 3, 5)) + tmp403 += np.transpose(tmp398, (0, 1, 2, 4, 3, 5)) + del tmp398 + tmp403 += np.transpose(tmp399, (0, 1, 2, 4, 3, 5)) * -1 + tmp403 += np.transpose(tmp400, (0, 1, 2, 4, 3, 5)) * -1 + del tmp400 + tmp401 = np.copy(v.aabb.oooo) + tmp401 += np.transpose(tmp108, (1, 0, 2, 3)) + del tmp108 + tmp401 += tmp52 + del tmp52 + tmp402 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), tmp401, (5, 6, 4, 7), (3, 6, 7, 0, 2, 1)) * -1 + del tmp401 + tmp403 += np.transpose(tmp402, (0, 1, 2, 4, 3, 5)) + del tmp402 + tmp403 += np.transpose(tmp76, (1, 0, 2, 4, 3, 5)) * -1 + tmp404 = einsum(tmp403, (0, 1, 2, 3, 4, 5), t1.bb, (2, 5), (0, 1, 3, 4)) * 2 + del tmp403 + l2new.aaaa += np.transpose(tmp404, (3, 2, 0, 1)) * -1 + tmp405 = np.copy(np.transpose(l2.abab, (2, 3, 0, 1))) * 0.3333333333333466 + tmp405 += tmp37 + tmp405 += tmp38 * 1.3333333333333335 + tmp405 += tmp39 + tmp406 = einsum(tmp405, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (4, 0, 5, 2)) * 3 + l2new.aaaa += np.transpose(tmp406, (2, 3, 1, 0)) * -1 + tmp407 = np.copy(np.transpose(l2.aaaa, (2, 3, 0, 1))) * 2 + tmp407 += tmp33 * 9 + tmp407 += tmp34 * 4 + tmp407 += tmp35 + tmp408 = einsum(v.aaaa.ovov, (0, 1, 2, 3), tmp407, (4, 2, 5, 3), (4, 0, 5, 1)) + del tmp407 + l2new.aaaa += np.transpose(tmp408, (3, 2, 0, 1)) * -1 + tmp409 = np.copy(v.aaaa.oovv) * -1 + tmp409 += tmp132 * 2 + tmp409 += tmp62 + tmp410 = einsum(tmp409, (0, 1, 2, 3), l2.aaaa, (4, 2, 5, 0), (5, 1, 4, 3)) + l2new.aaaa += np.transpose(tmp410, (3, 2, 0, 1)) * -2 + tmp411 = np.copy(tmp148) + del tmp148 + tmp411 += tmp1 * 2 + tmp412 = einsum(tmp411, (0, 1, 2, 3), l2.abab, (4, 3, 5, 1), (5, 0, 4, 2)) + l2new.aaaa += np.transpose(tmp412, (3, 2, 0, 1)) * -1 + tmp413 = np.copy(tmp100) * 0.5 + tmp413 += tmp49 + tmp413 += tmp50 + tmp414 = einsum(tmp140, (0, 1, 2, 3), tmp413, (4, 1, 2, 5), (0, 4, 3, 5)) * 2 + l2new.aaaa += np.transpose(tmp414, (2, 3, 1, 0)) + tmp415 = einsum(tmp206, (0, 1, 2, 3), v.aabb.ovoo, (4, 5, 1, 2), (4, 0, 5, 3)) + l2new.aaaa += np.transpose(tmp415, (2, 3, 1, 0)) + tmp417 = einsum(v.aaaa.ovoo, (0, 1, 2, 3), tmp416, (2, 4, 3, 5), (0, 4, 1, 5)) * 6 + l2new.aaaa += np.transpose(tmp417, (2, 3, 1, 0)) * -1 + l2new.aaaa += np.transpose(tmp80, (2, 3, 1, 0)) * -1 + l2new.aaaa += einsum(tmp19, (0, 1, 2, 3), tmp160, (4, 3), (2, 1, 0, 4)) * 6 + tmp418 = einsum(tmp166, (0, 1), l2.aaaa, (2, 3, 4, 0), (4, 1, 2, 3)) * -2 + l2new.aaaa += np.transpose(tmp418, (3, 2, 0, 1)) * -1 + tmp420 = np.copy(f.aa.ov) + tmp420 += tmp419 + del tmp419 + tmp420 += tmp158 + del tmp158 + l2new.aaaa += einsum(tmp420, (0, 1), l1.aa, (2, 3), (1, 2, 3, 0)) * -1 + del tmp420 + l2new.aaaa += np.transpose(tmp368, (2, 3, 1, 0)) + l2new.aaaa += np.transpose(tmp370, (2, 3, 1, 0)) * -2 + del tmp370 + tmp422 = np.copy(v.aabb.ooov) + tmp422 += tmp23 + tmp422 += tmp24 * 2 + tmp422 += tmp25 * 2 + tmp421 = einsum(t2.abab, (0, 1, 2, 3), tmp26, (0, 4, 5, 2), (4, 5, 1, 3)) + del tmp26 + tmp422 += tmp421 + l2new.aaaa += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), tmp422, (5, 6, 4, 1), (0, 2, 6, 3)) * 2 + del tmp422 + tmp423 = np.copy(np.transpose(v.aaaa.ooov, (0, 2, 1, 3))) * 0.333333333333347 + tmp423 += np.transpose(tmp28, (1, 0, 2, 3)) * -0.333333333333347 + tmp423 += np.transpose(tmp29, (1, 0, 2, 3)) + tmp423 += np.transpose(tmp30, (1, 0, 2, 3)) * 0.33333333333333387 + l2new.aaaa += einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), tmp423, (4, 5, 6, 2), (0, 1, 6, 3)) * 18 + del tmp423 + tmp424 = np.copy(v.aaaa.ooov) * -1 + tmp424 += np.transpose(v.aaaa.ovoo, (0, 2, 3, 1)) + l2new.aaaa += einsum(tmp424, (0, 1, 2, 3), tmp374, (1, 4, 0, 5, 6, 3), (6, 5, 2, 4)) * 12 + l2new.aaaa += np.transpose(tmp378, (3, 2, 0, 1)) * 2 + del tmp378 + l2new.aaaa += np.transpose(tmp59, (3, 2, 1, 0)) * -1 + del tmp59 + l2new.aaaa += np.transpose(tmp395, (3, 2, 1, 0)) + del tmp395 + l2new.aaaa += np.transpose(tmp61, (2, 3, 0, 1)) + l2new.aaaa += np.transpose(tmp404, (3, 2, 1, 0)) + del tmp404 + tmp425 = np.copy(np.transpose(l2.abab, (2, 3, 0, 1))) + tmp425 += tmp37 * 3 + tmp425 += tmp38 * 4 + tmp425 += tmp39 * 3 + tmp426 = einsum(v.aabb.ovov, (0, 1, 2, 3), tmp425, (4, 2, 5, 3), (0, 4, 1, 5)) + del tmp425 + l2new.aaaa += np.transpose(tmp426, (2, 3, 0, 1)) + tmp427 = np.copy(np.transpose(v.aaaa.ovov, (0, 2, 1, 3))) + tmp427 += v.aaaa.oovv * -1 + tmp427 += tmp132 * 2 + del tmp132 + tmp427 += tmp62 + del tmp62 + tmp428 = einsum(tmp427, (0, 1, 2, 3), l2.aaaa, (4, 2, 5, 0), (5, 1, 4, 3)) + del tmp427 + l2new.aaaa += np.transpose(tmp428, (3, 2, 1, 0)) * 2 + tmp429 = np.copy(tmp33) * 2.2499999999999996 + tmp429 += tmp34 + tmp429 += tmp35 * 0.2499999999999999 + tmp430 = einsum(tmp429, (0, 1, 2, 3), v.aaaa.ovov, (4, 5, 1, 3), (0, 4, 2, 5)) * 4 + l2new.aaaa += np.transpose(tmp430, (3, 2, 1, 0)) + l2new.aaaa += np.transpose(tmp412, (3, 2, 1, 0)) + l2new.aaaa += np.transpose(tmp415, (2, 3, 0, 1)) * -1 + tmp431 = einsum(tmp140, (0, 1, 2, 3), tmp206, (4, 1, 2, 5), (0, 4, 3, 5)) + l2new.aaaa += np.transpose(tmp431, (2, 3, 0, 1)) * -1 + tmp432 = einsum(tmp79, (0, 1, 2, 3), v.aaaa.ovoo, (4, 5, 0, 2), (4, 1, 5, 3)) * 2 + l2new.aaaa += np.transpose(tmp432, (2, 3, 0, 1)) + l2new.aaaa += np.transpose(tmp80, (2, 3, 0, 1)) + l2new.aaaa += einsum(tmp160, (0, 1), tmp5, (2, 3, 4, 1), (4, 3, 0, 2)) * -2 + l2new.aaaa += np.transpose(tmp418, (3, 2, 1, 0)) + del tmp418 + l2new.aaaa += einsum(l1.aa, (0, 1), tmp433, (2, 3), (3, 0, 2, 1)) + l2new.aaaa += np.transpose(tmp368, (3, 2, 0, 1)) + tmp434 = np.copy(v.aaaa.ovvv) * -1 + tmp434 += np.transpose(v.aaaa.ovvv, (0, 2, 3, 1)) + l2new.aaaa += einsum(tmp5, (0, 1, 2, 3), tmp434, (4, 5, 1, 3), (2, 5, 0, 4)) * 2 + l2new.aaaa += np.transpose(tmp61, (3, 2, 1, 0)) + l2new.aaaa += np.transpose(tmp406, (3, 2, 1, 0)) + del tmp406 + l2new.aaaa += np.transpose(tmp408, (2, 3, 0, 1)) + del tmp408 + l2new.aaaa += np.transpose(tmp410, (2, 3, 0, 1)) * 2 + del tmp410 + tmp435 = np.copy(np.transpose(tmp68, (1, 2, 0, 4, 3, 5))) * -1 + tmp435 += np.transpose(tmp68, (1, 2, 0, 5, 3, 4)) + tmp435 += np.transpose(tmp69, (0, 2, 1, 4, 3, 5)) + tmp436 = einsum(t1.aa, (0, 1), tmp435, (2, 3, 0, 1, 4, 5), (2, 3, 4, 5)) * 2 + del tmp435 + l2new.aaaa += np.transpose(tmp436, (2, 3, 0, 1)) * -1 + tmp438 = np.copy(tmp97) + tmp438 += np.transpose(tmp437, (1, 0, 2, 4, 3, 5)) * -1 + del tmp437 + tmp439 = einsum(t1.bb, (0, 1), tmp438, (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) + del tmp438 + l2new.aaaa += np.transpose(tmp439, (2, 3, 0, 1)) + l2new.aaaa += np.transpose(tmp412, (2, 3, 0, 1)) + l2new.aaaa += np.transpose(tmp414, (3, 2, 1, 0)) * -1 + del tmp414 + l2new.aaaa += np.transpose(tmp415, (3, 2, 1, 0)) * -1 + l2new.aaaa += np.transpose(tmp417, (3, 2, 1, 0)) + del tmp417 + l2new.aaaa += np.transpose(tmp80, (3, 2, 1, 0)) + l2new.aaaa += einsum(tmp433, (0, 1), l1.aa, (2, 3), (2, 1, 3, 0)) + l2new.aaaa += np.transpose(tmp368, (3, 2, 1, 0)) * -1 + del tmp368 + l2new.aaaa += einsum(tmp19, (0, 1, 2, 3), tmp58, (4, 3, 1, 5), (2, 5, 4, 0)) * -6 + del tmp58, tmp19 + l2new.aaaa += np.transpose(tmp61, (3, 2, 0, 1)) * -1 + del tmp61 + l2new.aaaa += np.transpose(tmp426, (3, 2, 0, 1)) * -1 + del tmp426 + l2new.aaaa += np.transpose(tmp428, (2, 3, 1, 0)) * -2 + del tmp428 + l2new.aaaa += np.transpose(tmp430, (2, 3, 1, 0)) * -1 + del tmp430 + l2new.aaaa += np.transpose(tmp436, (2, 3, 1, 0)) + del tmp436 + l2new.aaaa += np.transpose(tmp439, (2, 3, 1, 0)) * -1 + del tmp439 + l2new.aaaa += np.transpose(tmp412, (2, 3, 1, 0)) * -1 + del tmp412 + l2new.aaaa += np.transpose(tmp415, (3, 2, 0, 1)) + del tmp415 + l2new.aaaa += np.transpose(tmp431, (3, 2, 0, 1)) + del tmp431 + l2new.aaaa += np.transpose(tmp432, (3, 2, 0, 1)) * -1 + del tmp432 + l2new.aaaa += np.transpose(tmp80, (3, 2, 0, 1)) * -1 + del tmp80 + l2new.aaaa += einsum(tmp433, (0, 1), l1.aa, (2, 3), (2, 1, 0, 3)) * -1 + tmp441 = einsum(v.aabb.ovoo, (0, 1, 2, 3), tmp440, (4, 5, 0, 2, 3, 6), (4, 5, 6, 1)) + l2new.aaaa += np.transpose(tmp441, (3, 2, 1, 0)) * 2 + l2new.aaaa += np.transpose(tmp192, (3, 2, 1, 0)) * 2 + del tmp192 + tmp442 = einsum(v.aaaa.ovvv, (0, 1, 2, 3), l3.aaaaaa, (4, 3, 1, 5, 6, 0), (5, 6, 4, 2)) * -1 + l2new.aaaa += np.transpose(tmp442, (3, 2, 1, 0)) * -6 + tmp444 = einsum(tmp443, (0, 1, 2, 3, 4, 5), v.aaaa.ooov, (1, 3, 4, 6), (0, 2, 5, 6)) * -1 + del tmp443 + l2new.aaaa += np.transpose(tmp444, (3, 2, 1, 0)) * -6 + tmp446 = np.copy(np.transpose(v.aabb.vvov, (2, 0, 1, 3))) * -1 + tmp446 += np.transpose(tmp170, (0, 2, 1, 3)) + tmp445 = einsum(t2.abab, (0, 1, 2, 3), tmp434, (0, 2, 4, 5), (1, 4, 5, 3)) + tmp446 += np.transpose(tmp445, (0, 2, 1, 3)) + del tmp445 + tmp447 = einsum(tmp446, (0, 1, 2, 3), l3.abaaba, (4, 3, 2, 5, 0, 6), (5, 6, 4, 1)) * -1 + del tmp446 + l2new.aaaa += np.transpose(tmp447, (3, 2, 1, 0)) * 2 + tmp448 = np.copy(v.aaaa.ovvv) * -1 + tmp448 += np.transpose(v.aaaa.ovvv, (0, 2, 3, 1)) + tmp449 = einsum(tmp448, (0, 1, 2, 3), tmp374, (4, 5, 0, 2, 6, 1), (4, 5, 6, 3)) + l2new.aaaa += np.transpose(tmp449, (3, 2, 1, 0)) * 12 + del tmp449 + tmp450 = einsum(v.aabb.vvov, (0, 1, 2, 3), tmp377, (4, 5, 2, 1, 6, 3), (4, 5, 0, 6)) + del tmp377 + l2new.aaaa += np.transpose(tmp450, (2, 3, 1, 0)) * -2 + tmp451 = einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), t3.aaaaaa, (6, 7, 5, 8, 1, 2), (3, 4, 6, 7, 0, 8)) + tmp453 = np.copy(np.transpose(tmp451, (1, 0, 3, 2, 4, 5))) * 4.500000000000002 + del tmp451 + tmp452 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (6, 4, 7, 8, 1, 2), (3, 5, 6, 7, 0, 8)) + tmp453 += np.transpose(tmp452, (1, 0, 3, 2, 4, 5)) + del tmp452 + tmp454 = einsum(tmp453, (0, 1, 2, 3, 4, 5), v.aaaa.ovov, (2, 6, 3, 5), (0, 1, 4, 6)) * 2 + del tmp453 + l2new.aaaa += np.transpose(tmp454, (3, 2, 1, 0)) * 2 + tmp455 = einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), l3.aaaaaa, (6, 3, 5, 7, 8, 2), (7, 8, 0, 1, 6, 4)) + tmp457 = np.copy(np.transpose(tmp455, (1, 0, 2, 3, 4, 5))) * -1 + del tmp455 + tmp456 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), l3.abaaba, (6, 5, 4, 7, 2, 8), (7, 8, 1, 0, 6, 3)) + tmp457 += np.transpose(tmp456, (1, 0, 2, 3, 4, 5)) * -0.6666666666666665 + del tmp456 + tmp458 = einsum(tmp457, (0, 1, 2, 3, 4, 5), v.aabb.ovov, (2, 6, 3, 5), (0, 1, 6, 4)) * 3 + del tmp457 + l2new.aaaa += np.transpose(tmp458, (2, 3, 1, 0)) * -2 + tmp466 = np.copy(np.transpose(tmp68, (1, 0, 2, 3, 4, 5))) * -0.3333333333333333 + del tmp68 + tmp466 += np.transpose(tmp459, (1, 2, 0, 5, 4, 3)) + del tmp459 + tmp466 += np.transpose(tmp460, (1, 0, 2, 4, 5, 3)) * -1 + del tmp460 + tmp466 += np.transpose(tmp382, (1, 0, 2, 4, 5, 3)) * -0.3333333333333333 + del tmp382 + tmp466 += np.transpose(tmp461, (1, 2, 0, 4, 5, 3)) + tmp466 += np.transpose(tmp461, (1, 2, 0, 5, 4, 3)) * -1 + del tmp461 + tmp466 += np.transpose(tmp386, (1, 0, 2, 4, 5, 3)) + del tmp386 + tmp466 += np.transpose(tmp387, (0, 1, 2, 3, 5, 4)) + del tmp387 + tmp462 = einsum(tmp374, (0, 1, 2, 3, 4, 5), tmp60, (2, 6, 5, 7), (6, 0, 1, 7, 3, 4)) * 2 + tmp466 += np.transpose(tmp462, (2, 1, 0, 5, 3, 4)) + del tmp462 + tmp466 += np.transpose(tmp390, (2, 1, 0, 5, 3, 4)) + del tmp390 + tmp465 = einsum(v.aaaa.ovov, (0, 1, 2, 3), tmp464, (4, 5, 6, 0, 2, 7), (4, 5, 6, 7, 1, 3)) + del tmp464 + tmp466 += np.transpose(tmp465, (1, 2, 0, 5, 4, 3)) + del tmp465 + tmp467 = einsum(t1.aa, (0, 1), tmp466, (2, 3, 0, 1, 4, 5), (2, 3, 4, 5)) * 3 + del tmp466 + l2new.aaaa += np.transpose(tmp467, (2, 3, 1, 0)) * 2 + tmp477 = np.copy(np.transpose(tmp468, (1, 0, 2, 3, 4, 5))) * -1 + tmp477 += np.transpose(tmp469, (1, 0, 2, 3, 4, 5)) + tmp477 += np.transpose(tmp471, (1, 0, 2, 3, 4, 5)) + tmp472 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), tmp183, (4, 6, 2, 7), (3, 5, 6, 0, 7, 1)) * -1 + tmp477 += np.transpose(tmp472, (1, 0, 2, 3, 4, 5)) * -1 + tmp476 = einsum(v.aabb.ovov, (0, 1, 2, 3), tmp475, (4, 5, 0, 6, 2, 7), (4, 5, 6, 1, 7, 3)) + del tmp475 + tmp477 += np.transpose(tmp476, (1, 0, 2, 4, 3, 5)) * -1 + tmp478 = einsum(tmp477, (0, 1, 2, 3, 4, 5), t1.bb, (2, 5), (0, 1, 3, 4)) + del tmp477 + l2new.aaaa += np.transpose(tmp478, (3, 2, 1, 0)) * 2 + tmp479 = einsum(tmp74, (0, 1, 2, 3), v.aaaa.ovvv, (2, 4, 5, 3), (0, 1, 4, 5)) * 3 + del tmp74 + l2new.aaaa += np.transpose(tmp479, (2, 3, 1, 0)) * -2 + tmp480 = np.copy(np.transpose(tmp188, (1, 0, 3, 2))) + tmp480 += np.transpose(tmp199, (1, 0, 3, 2)) + tmp480 += np.transpose(tmp189, (1, 0, 3, 2)) * 3 + tmp480 += np.transpose(tmp190, (1, 0, 3, 2)) + tmp481 = einsum(v.aaaa.ovov, (0, 1, 2, 3), tmp480, (4, 5, 0, 2), (4, 5, 1, 3)) * 0.49999999999997996 + del tmp480 + l2new.aaaa += np.transpose(tmp481, (3, 2, 1, 0)) * 2 + del tmp481 + tmp482 = einsum(v.aaaa.ovov, (0, 1, 2, 3), tmp195, (0, 4, 5, 2), (5, 4, 3, 1)) * -1 + del tmp195 + l2new.aaaa += np.transpose(tmp482, (2, 3, 1, 0)) * 2 + del tmp482 + tmp485 = einsum(l2.aaaa, (0, 1, 2, 3), tmp484, (4, 1), (2, 3, 0, 4)) * -1 + del tmp484 + l2new.aaaa += np.transpose(tmp485, (3, 2, 1, 0)) * 2 + tmp486 = einsum(tmp79, (0, 1, 2, 3), tmp160, (2, 4), (0, 1, 3, 4)) + l2new.aaaa += np.transpose(tmp486, (3, 2, 1, 0)) * -2 + l2new.aaaa += np.transpose(tmp441, (2, 3, 1, 0)) * -2 + del tmp441 + l2new.aaaa += np.transpose(tmp442, (2, 3, 1, 0)) * 6 + del tmp442 + l2new.aaaa += np.transpose(tmp444, (2, 3, 1, 0)) * 6 + del tmp444 + l2new.aaaa += np.transpose(tmp447, (2, 3, 1, 0)) * -2 + del tmp447 + tmp487 = np.copy(v.aaaa.ovvv) + tmp487 += np.transpose(v.aaaa.ovvv, (0, 2, 3, 1)) * -1 + tmp488 = einsum(tmp487, (0, 1, 2, 3), tmp374, (4, 5, 0, 2, 6, 1), (4, 5, 6, 3)) + del tmp374, tmp487 + l2new.aaaa += np.transpose(tmp488, (2, 3, 1, 0)) * 12 + del tmp488 + l2new.aaaa += np.transpose(tmp450, (3, 2, 1, 0)) * 2 + del tmp450 + l2new.aaaa += np.transpose(tmp458, (3, 2, 1, 0)) * 2 + del tmp458 + l2new.aaaa += np.transpose(tmp454, (2, 3, 1, 0)) * -2 + del tmp454 + l2new.aaaa += np.transpose(tmp467, (3, 2, 1, 0)) * -2 + del tmp467 + l2new.aaaa += np.transpose(tmp478, (2, 3, 1, 0)) * -2 + del tmp478 + tmp490 = np.copy(np.transpose(tmp188, (1, 0, 3, 2))) + del tmp188 + tmp490 += np.transpose(tmp199, (1, 0, 3, 2)) + del tmp199 + tmp490 += np.transpose(tmp189, (1, 0, 3, 2)) * 3 + del tmp189 + tmp490 += np.transpose(tmp190, (1, 0, 3, 2)) + del tmp190 + tmp489 = einsum(tmp46, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 1, 2)) * 2 + del tmp46 + tmp490 += np.transpose(tmp489, (2, 1, 3, 0)) + del tmp489 + tmp491 = einsum(tmp490, (0, 1, 2, 3), v.aaaa.ovov, (2, 4, 3, 5), (0, 1, 4, 5)) * 0.49999999999997996 + del tmp490 + l2new.aaaa += np.transpose(tmp491, (3, 2, 1, 0)) * 2 + del tmp491 + l2new.aaaa += np.transpose(tmp479, (3, 2, 1, 0)) * 2 + del tmp479 + l2new.aaaa += np.transpose(tmp485, (2, 3, 1, 0)) * -2 + del tmp485 + l2new.aaaa += np.transpose(tmp486, (2, 3, 1, 0)) * 2 + del tmp486 + l2new.aaaa += np.transpose(tmp56, (2, 3, 0, 1)) + l2new.aaaa += np.transpose(tmp56, (2, 3, 1, 0)) * -1 + del tmp56 + tmp492 = einsum(t1.aa, (0, 1), tmp201, (0, 2, 3, 4, 5, 1), (3, 2, 5, 4)) * 6 + del tmp201 + l2new.aaaa += np.transpose(tmp492, (3, 2, 0, 1)) + l2new.aaaa += np.transpose(tmp492, (3, 2, 1, 0)) * -1 + del tmp492 + l2new.aaaa += np.transpose(tmp55, (3, 2, 0, 1)) * 2 + l2new.aaaa += np.transpose(tmp55, (3, 2, 1, 0)) * -2 + del tmp55 + tmp493 = np.copy(np.transpose(tmp13, (1, 0, 3, 2))) + del tmp13 + tmp493 += np.transpose(tmp14, (1, 0, 3, 2)) * 0.33333333333333287 + del tmp14 + l2new.aaaa += einsum(v.aaaa.ovov, (0, 1, 2, 3), tmp493, (4, 5, 1, 3), (5, 4, 0, 2)) * -6 + del tmp493 + tmp495 = np.copy(v.aaaa.oooo) + tmp495 += np.transpose(tmp47, (1, 3, 2, 0)) + del tmp47 + tmp495 += np.transpose(tmp494, (1, 3, 2, 0)) + del tmp494 + l2new.aaaa += einsum(tmp495, (0, 1, 2, 3), l2.aaaa, (4, 5, 0, 3), (4, 5, 2, 1)) * -2 + del tmp495 + tmp496 = einsum(tmp364, (0, 1), v.aaaa.ovov, (2, 3, 4, 1), (2, 4, 0, 3)) + l2new.aaaa += np.transpose(tmp496, (3, 2, 1, 0)) + l2new.aaaa += einsum(tmp497, (0, 1, 2, 3), l1.aa, (4, 0), (3, 4, 1, 2)) + del tmp497 + l2new.aaaa += np.transpose(tmp496, (2, 3, 1, 0)) * -1 + del tmp496 + l2new.aaaa += np.transpose(tmp367, (2, 3, 1, 0)) * -1 + del tmp367 + tmp498 = einsum(tmp168, (0, 1, 2, 3), l2.aaaa, (4, 2, 5, 0), (5, 1, 4, 3)) + l2new.aaaa += np.transpose(tmp498, (3, 2, 0, 1)) * 4 + l2new.aaaa += einsum(tmp499, (0, 1), l1.aa, (2, 3), (1, 2, 3, 0)) + tmp500 = einsum(l2.abab, (0, 1, 2, 3), tmp167, (4, 3, 5, 1), (2, 4, 0, 5)) + l2new.aaaa += np.transpose(tmp500, (3, 2, 0, 1)) + tmp501 = einsum(tmp429, (0, 1, 2, 3), v.aaaa.ovov, (4, 3, 1, 5), (0, 4, 2, 5)) * 4 + del tmp429 + l2new.aaaa += np.transpose(tmp501, (3, 2, 0, 1)) + tmp502 = einsum(t1.aa, (0, 1), tmp69, (2, 3, 0, 4, 1, 5), (2, 3, 4, 5)) * 2 + del tmp69 + l2new.aaaa += np.transpose(tmp502, (3, 2, 0, 1)) * -1 + tmp503 = einsum(tmp416, (0, 1, 2, 3), tmp77, (0, 2, 4, 5), (4, 1, 5, 3)) * 6 + l2new.aaaa += np.transpose(tmp503, (2, 3, 1, 0)) + tmp504 = einsum(v.aaaa.ooov, (0, 1, 2, 3), tmp416, (1, 4, 2, 5), (0, 4, 3, 5)) * 6 + l2new.aaaa += np.transpose(tmp504, (2, 3, 1, 0)) + tmp505 = np.copy(tmp142) + tmp505 += tmp143 * 2 + tmp505 += tmp144 + tmp505 += tmp145 * 3 + tmp505 += tmp153 * 2 + tmp505 += tmp154 + tmp506 = einsum(tmp505, (0, 1), v.aaaa.ovov, (2, 3, 1, 4), (0, 2, 4, 3)) + del tmp505 + l2new.aaaa += np.transpose(tmp506, (2, 3, 0, 1)) * -1 + l2new.aaaa += np.transpose(tmp498, (2, 3, 0, 1)) * -4 + l2new.aaaa += einsum(l1.aa, (0, 1), tmp499, (2, 3), (0, 3, 1, 2)) * -1 + l2new.aaaa += np.transpose(tmp500, (2, 3, 0, 1)) * -1 + l2new.aaaa += np.transpose(tmp501, (2, 3, 0, 1)) * -1 + l2new.aaaa += np.transpose(tmp502, (2, 3, 0, 1)) + l2new.aaaa += np.transpose(tmp503, (3, 2, 1, 0)) * -1 + del tmp503 + l2new.aaaa += np.transpose(tmp504, (3, 2, 1, 0)) * -1 + l2new.aaaa += np.transpose(tmp506, (3, 2, 0, 1)) + del tmp506 + l2new.aaaa += np.transpose(tmp498, (3, 2, 1, 0)) * -4 + l2new.aaaa += einsum(l1.aa, (0, 1), tmp499, (2, 3), (3, 0, 2, 1)) * -1 + l2new.aaaa += np.transpose(tmp500, (3, 2, 1, 0)) * -1 + l2new.aaaa += np.transpose(tmp501, (3, 2, 1, 0)) * -1 + l2new.aaaa += np.transpose(tmp502, (3, 2, 1, 0)) + l2new.aaaa += np.transpose(tmp504, (2, 3, 0, 1)) * -1 + tmp507 = einsum(tmp79, (0, 1, 2, 3), tmp77, (0, 2, 4, 5), (4, 1, 5, 3)) * 2 + l2new.aaaa += np.transpose(tmp507, (2, 3, 0, 1)) * -1 + tmp508 = np.copy(tmp142) * 0.5 + del tmp142 + tmp508 += tmp143 + del tmp143 + tmp508 += tmp144 * 0.5 + del tmp144 + tmp508 += tmp145 * 1.4999999999999394 + del tmp145 + tmp508 += tmp153 + del tmp153 + tmp508 += tmp154 * 0.49999999999998007 + del tmp154 + tmp509 = einsum(tmp508, (0, 1), v.aaaa.ovov, (2, 3, 1, 4), (0, 2, 4, 3)) * 2 + del tmp508 + l2new.aaaa += np.transpose(tmp509, (2, 3, 1, 0)) + l2new.aaaa += np.transpose(tmp498, (2, 3, 1, 0)) * 4 + del tmp498 + l2new.aaaa += einsum(tmp499, (0, 1), l1.aa, (2, 3), (2, 1, 0, 3)) + l2new.aaaa += np.transpose(tmp500, (2, 3, 1, 0)) + del tmp500 + l2new.aaaa += np.transpose(tmp501, (2, 3, 1, 0)) + del tmp501 + l2new.aaaa += np.transpose(tmp502, (2, 3, 1, 0)) * -1 + del tmp502 + l2new.aaaa += np.transpose(tmp504, (3, 2, 0, 1)) + del tmp504 + l2new.aaaa += np.transpose(tmp507, (3, 2, 0, 1)) + del tmp507 + l2new.aaaa += np.transpose(tmp509, (3, 2, 1, 0)) * -1 + del tmp509 + l2new.bbbb = np.copy(np.transpose(v.bbbb.ovov, (1, 3, 0, 2))) + tmp637 = einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp113, (4, 1), (0, 2, 3, 4)) + l2new.bbbb += np.transpose(tmp637, (2, 3, 1, 0)) * -1 + l2new.bbbb += einsum(tmp357, (0, 1, 2, 3), l1.bb, (4, 0), (3, 4, 2, 1)) * -1 + del tmp357 + l2new.bbbb += np.transpose(v.bbbb.ovov, (3, 1, 0, 2)) * -1 + l2new.bbbb += np.transpose(tmp637, (3, 2, 1, 0)) + del tmp637 + tmp639 = einsum(tmp638, (0, 1, 2, 3), l1.bb, (4, 0), (1, 2, 4, 3)) + del tmp638 + l2new.bbbb += np.transpose(tmp639, (2, 3, 0, 1)) + tmp641 = einsum(v.aabb.ovoo, (0, 1, 2, 3), tmp640, (0, 4, 3, 1, 5, 6), (4, 2, 5, 6)) * -1 + l2new.bbbb += np.transpose(tmp641, (2, 3, 0, 1)) * 6 + tmp642 = einsum(l1.bb, (0, 1), v.bbbb.ovvv, (2, 3, 4, 0), (1, 2, 3, 4)) + l2new.bbbb += np.transpose(tmp642, (2, 3, 0, 1)) * -1 + tmp643 = np.copy(np.transpose(v.aabb.ovoo, (0, 2, 3, 1))) + tmp643 += np.transpose(tmp235, (0, 2, 1, 3)) * 2 + tmp643 += tmp236 * -1 + tmp643 += tmp237 + tmp643 += tmp238 * 2 + tmp643 += tmp239 * 2 + tmp544 = einsum(tmp240, (0, 1, 2, 3), t2.abab, (4, 2, 5, 3), (4, 0, 1, 5)) + del tmp240 + tmp643 += np.transpose(tmp544, (0, 2, 1, 3)) + l2new.bbbb += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), tmp643, (4, 5, 6, 1), (0, 2, 3, 6)) * -2 + del tmp643 + tmp644 = np.copy(np.transpose(v.bbbb.ooov, (0, 2, 1, 3))) + tmp644 += np.transpose(tmp244, (1, 0, 2, 3)) * -1 + tmp644 += np.transpose(tmp245, (1, 0, 2, 3)) + tmp644 += np.transpose(tmp246, (1, 0, 2, 3)) * 3 + tmp645 = einsum(tmp644, (0, 1, 2, 3), l3.bbbbbb, (4, 5, 3, 6, 0, 1), (6, 2, 4, 5)) * 6 + del tmp644 + l2new.bbbb += np.transpose(tmp645, (3, 2, 0, 1)) + tmp646 = np.copy(v.bbbb.ooov) + tmp646 += np.transpose(v.bbbb.ooov, (0, 2, 1, 3)) * -1 + l2new.bbbb += einsum(tmp647, (0, 1, 2, 3, 4, 5), tmp646, (0, 6, 2, 5), (4, 3, 1, 6)) * -12 + del tmp646 + l2new.bbbb += einsum(tmp257, (0, 1, 2, 3), tmp276, (4, 3, 1, 5), (5, 2, 0, 4)) * 2 + tmp660 = np.copy(np.transpose(tmp648, (1, 0, 2, 4, 3, 5))) * -0.5 + tmp650 = einsum(t1.bb, (0, 1), tmp649, (0, 2, 3, 4, 5, 6, 7, 1), (2, 3, 4, 5, 6, 7)) + del tmp649 + tmp660 += np.transpose(tmp650, (1, 0, 2, 4, 3, 5)) * 1.5 + del tmp650 + tmp660 += np.transpose(tmp651, (1, 0, 2, 4, 3, 5)) * 1.5 + tmp660 += np.transpose(tmp653, (1, 0, 2, 4, 3, 5)) * -1.5 + del tmp653 + tmp660 += np.transpose(tmp284, (1, 0, 2, 3, 4, 5)) * 0.5 + tmp660 += np.transpose(tmp284, (1, 0, 2, 3, 5, 4)) * -0.5 + tmp654 = np.copy(np.transpose(v.aabb.ovov, (0, 2, 1, 3))) + tmp654 += tmp228 * 2 + tmp551 = einsum(tmp229, (0, 1, 2, 3), t2.abab, (4, 0, 5, 2), (4, 1, 5, 3)) + tmp654 += tmp551 * -1 + tmp655 = einsum(l3.babbab, (0, 1, 2, 3, 4, 5), tmp654, (4, 6, 1, 7), (3, 5, 6, 0, 2, 7)) * 0.5 + del tmp654 + tmp660 += np.transpose(tmp655, (1, 0, 2, 4, 3, 5)) + del tmp655 + tmp656 = einsum(tmp234, (0, 1, 2, 3), l3.bbbbbb, (4, 5, 2, 6, 7, 0), (6, 7, 1, 4, 5, 3)) * 1.5 + del tmp234 + tmp660 += tmp656 + tmp657 = np.copy(v.bbbb.oooo) + tmp657 += np.transpose(tmp263, (1, 3, 2, 0)) + tmp657 += np.transpose(tmp272, (2, 1, 3, 0)) + tmp657 += np.transpose(tmp272, (2, 3, 1, 0)) * -1 + tmp658 = einsum(tmp657, (0, 1, 2, 3), l3.bbbbbb, (4, 5, 6, 7, 3, 0), (7, 1, 2, 4, 5, 6)) * 1.5 + del tmp657 + tmp660 += np.transpose(tmp658, (2, 0, 1, 4, 5, 3)) * -1 + del tmp658 + tmp659 = einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp257, (4, 5, 6, 3), (0, 2, 4, 1, 5, 6)) * 0.5 + tmp660 += np.transpose(tmp659, (1, 2, 0, 5, 3, 4)) + del tmp659 + tmp661 = einsum(tmp660, (0, 1, 2, 3, 4, 5), t1.bb, (0, 5), (1, 2, 3, 4)) * 4 + del tmp660 + l2new.bbbb += np.transpose(tmp661, (3, 2, 0, 1)) * -1 + tmp662 = einsum(v.aabb.vvov, (0, 1, 2, 3), tmp16, (4, 0, 1, 5), (4, 2, 5, 3)) * 2 + l2new.bbbb += np.transpose(tmp662, (3, 2, 0, 1)) * -1 + tmp668 = np.copy(tmp204) + tmp668 += np.transpose(tmp663, (0, 1, 2, 3, 5, 4)) * 2 + del tmp663 + tmp668 += np.transpose(tmp664, (0, 1, 2, 3, 5, 4)) * -2 + del tmp664 + tmp665 = einsum(tmp183, (0, 1, 2, 3), l3.babbab, (4, 2, 5, 6, 7, 0), (7, 6, 1, 3, 4, 5)) * -2 + del tmp183 + tmp668 += np.transpose(tmp665, (0, 1, 2, 3, 5, 4)) * -1 + del tmp665 + tmp666 = einsum(l3.babbab, (0, 1, 2, 3, 4, 5), tmp300, (4, 6, 5, 7), (6, 3, 7, 1, 0, 2)) * -2 + del tmp300 + tmp668 += np.transpose(tmp666, (0, 1, 2, 3, 5, 4)) + del tmp666 + tmp668 += np.transpose(tmp667, (0, 2, 1, 3, 5, 4)) * -1 + tmp669 = einsum(t1.aa, (0, 1), tmp668, (0, 2, 3, 1, 4, 5), (2, 3, 4, 5)) + del tmp668 + l2new.bbbb += np.transpose(tmp669, (3, 2, 0, 1)) * -1 + tmp670 = np.copy(np.transpose(l2.bbbb, (2, 3, 0, 1))) * 0.5000000000000198 + tmp670 += tmp252 * 0.2499999999999999 + tmp670 += tmp253 + tmp670 += tmp254 * 2.2499999999999996 + tmp671 = einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp670, (4, 2, 5, 3), (0, 4, 1, 5)) * 4 + del tmp670 + l2new.bbbb += np.transpose(tmp671, (2, 3, 1, 0)) * -1 + tmp530 = np.copy(np.transpose(l2.abab, (2, 3, 0, 1))) + tmp530 += tmp259 * 3 + tmp530 += tmp260 * 4 + tmp530 += tmp261 * 3 + tmp672 = einsum(tmp530, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 5), (4, 1, 5, 3)) + l2new.bbbb += np.transpose(tmp672, (2, 3, 1, 0)) * -1 + tmp535 = np.copy(v.bbbb.oovv) * -1 + tmp535 += tmp279 + tmp535 += tmp306 * 2 + tmp673 = einsum(tmp535, (0, 1, 2, 3), l2.bbbb, (4, 2, 5, 0), (5, 1, 4, 3)) + l2new.bbbb += np.transpose(tmp673, (3, 2, 0, 1)) * -2 + tmp541 = np.copy(tmp228) * 2 + del tmp228 + tmp541 += tmp312 + del tmp312 + tmp674 = einsum(l2.abab, (0, 1, 2, 3), tmp541, (2, 4, 0, 5), (3, 4, 1, 5)) + l2new.bbbb += np.transpose(tmp674, (3, 2, 0, 1)) * -1 + tmp675 = einsum(tmp293, (0, 1, 2, 3), v.bbbb.ovoo, (4, 5, 0, 2), (4, 1, 5, 3)) * 2 + l2new.bbbb += np.transpose(tmp675, (2, 3, 1, 0)) * -1 + tmp676 = einsum(tmp227, (0, 1, 2, 3), tmp533, (0, 4, 2, 5), (1, 4, 3, 5)) * 6 + l2new.bbbb += np.transpose(tmp676, (2, 3, 1, 0)) * -1 + tmp532 = np.copy(tmp211) * 0.5 + del tmp211 + tmp532 += tmp120 + tmp532 += tmp121 + tmp677 = einsum(tmp532, (0, 1, 2, 3), v.aabb.ooov, (0, 1, 4, 5), (4, 2, 5, 3)) * 2 + l2new.bbbb += np.transpose(tmp677, (2, 3, 1, 0)) + tmp678 = einsum(tmp99, (0, 1, 2, 3), tmp212, (0, 1, 4, 5), (2, 4, 3, 5)) + l2new.bbbb += np.transpose(tmp678, (2, 3, 1, 0)) + l2new.bbbb += einsum(tmp285, (0, 1, 2, 3), tmp319, (4, 3), (2, 1, 0, 4)) * 6 + tmp679 = einsum(l2.bbbb, (0, 1, 2, 3), tmp326, (3, 4), (2, 4, 0, 1)) * -2 + l2new.bbbb += np.transpose(tmp679, (3, 2, 0, 1)) * -1 + tmp680 = np.copy(f.bb.ov) + tmp680 += tmp317 + del tmp317 + tmp680 += tmp542 + del tmp542 + l2new.bbbb += einsum(tmp680, (0, 1), l1.bb, (2, 3), (1, 2, 3, 0)) * -1 + del tmp680 + l2new.bbbb += np.transpose(tmp641, (2, 3, 1, 0)) * -6 + del tmp641 + l2new.bbbb += np.transpose(tmp642, (2, 3, 1, 0)) + tmp681 = np.copy(np.transpose(v.aabb.ovoo, (0, 2, 3, 1))) * 0.5 + tmp681 += np.transpose(tmp235, (0, 2, 1, 3)) + del tmp235 + tmp681 += tmp236 * -0.5 + tmp681 += tmp237 * 0.5 + tmp681 += tmp238 + tmp681 += tmp239 + tmp681 += np.transpose(tmp241, (0, 2, 1, 3)) + del tmp241 + l2new.bbbb += einsum(tmp681, (0, 1, 2, 3), l3.babbab, (4, 3, 5, 6, 0, 1), (4, 5, 2, 6)) * 4 + del tmp681 + l2new.bbbb += np.transpose(tmp645, (3, 2, 1, 0)) * -1 + del tmp645 + tmp547 = np.copy(v.bbbb.ooov) * -1 + tmp547 += np.transpose(v.bbbb.ooov, (0, 2, 1, 3)) + l2new.bbbb += einsum(tmp647, (0, 1, 2, 3, 4, 5), tmp547, (0, 6, 2, 5), (4, 3, 6, 1)) * -12 + l2new.bbbb += einsum(tmp285, (0, 1, 2, 3), tmp305, (4, 5, 1, 3), (5, 2, 4, 0)) * -6 + l2new.bbbb += np.transpose(tmp661, (3, 2, 1, 0)) + del tmp661 + l2new.bbbb += np.transpose(tmp662, (3, 2, 1, 0)) + l2new.bbbb += np.transpose(tmp669, (3, 2, 1, 0)) + del tmp669 + tmp682 = np.copy(np.transpose(v.bbbb.ovov, (0, 2, 1, 3))) + tmp682 += v.bbbb.oovv * -1 + tmp682 += tmp279 + del tmp279 + tmp682 += tmp306 * 2 + del tmp306 + tmp683 = einsum(l2.bbbb, (0, 1, 2, 3), tmp682, (3, 4, 1, 5), (2, 4, 0, 5)) + del tmp682 + l2new.bbbb += np.transpose(tmp683, (3, 2, 1, 0)) * 2 + tmp684 = np.copy(np.transpose(l2.abab, (2, 3, 0, 1))) * 0.2500000000000099 + tmp684 += tmp259 * 0.7499999999999999 + tmp684 += tmp260 + tmp684 += tmp261 * 0.7499999999999999 + tmp685 = einsum(v.aabb.ovov, (0, 1, 2, 3), tmp684, (0, 4, 1, 5), (2, 4, 3, 5)) * 4 + del tmp684 + l2new.bbbb += np.transpose(tmp685, (2, 3, 0, 1)) + tmp686 = np.copy(tmp252) + tmp686 += tmp253 * 4 + tmp686 += tmp254 * 9 + tmp687 = einsum(tmp686, (0, 1, 2, 3), v.bbbb.ovov, (4, 5, 1, 3), (4, 0, 5, 2)) + l2new.bbbb += np.transpose(tmp687, (2, 3, 0, 1)) + l2new.bbbb += np.transpose(tmp674, (3, 2, 1, 0)) + l2new.bbbb += np.transpose(tmp676, (2, 3, 0, 1)) + l2new.bbbb += np.transpose(tmp675, (2, 3, 0, 1)) + l2new.bbbb += np.transpose(tmp677, (2, 3, 0, 1)) * -1 + tmp688 = einsum(tmp532, (0, 1, 2, 3), tmp99, (0, 1, 4, 5), (4, 2, 5, 3)) * 2 + l2new.bbbb += np.transpose(tmp688, (2, 3, 0, 1)) * -1 + l2new.bbbb += einsum(tmp319, (0, 1), tmp257, (2, 3, 4, 1), (4, 3, 0, 2)) * -2 + l2new.bbbb += np.transpose(tmp679, (3, 2, 1, 0)) + del tmp679 + l2new.bbbb += einsum(l1.bb, (0, 1), tmp543, (2, 3), (3, 0, 2, 1)) + l2new.bbbb += np.transpose(tmp642, (3, 2, 0, 1)) + l2new.bbbb += einsum(tmp276, (0, 1, 2, 3), tmp257, (4, 2, 5, 3), (5, 1, 4, 0)) * 2 + del tmp276 + l2new.bbbb += np.transpose(tmp662, (2, 3, 0, 1)) + l2new.bbbb += np.transpose(tmp671, (3, 2, 1, 0)) + del tmp671 + l2new.bbbb += np.transpose(tmp672, (3, 2, 1, 0)) + del tmp672 + l2new.bbbb += np.transpose(tmp673, (2, 3, 0, 1)) * 2 + del tmp673 + tmp690 = np.copy(np.transpose(tmp284, (1, 2, 0, 4, 3, 5))) * -0.3333333333333333 + tmp690 += np.transpose(tmp284, (1, 2, 0, 5, 3, 4)) * 0.3333333333333333 + tmp689 = einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp285, (4, 5, 6, 1), (0, 2, 4, 3, 5, 6)) + tmp690 += np.transpose(tmp689, (2, 1, 0, 5, 4, 3)) + tmp691 = einsum(tmp690, (0, 1, 2, 3, 4, 5), t1.bb, (2, 3), (0, 1, 4, 5)) * 6 + del tmp690 + l2new.bbbb += np.transpose(tmp691, (2, 3, 0, 1)) * -1 + tmp692 = np.copy(tmp204) + tmp692 += np.transpose(tmp667, (0, 2, 1, 3, 5, 4)) * -1 + del tmp667 + tmp693 = einsum(t1.aa, (0, 1), tmp692, (0, 2, 3, 1, 4, 5), (2, 3, 4, 5)) + del tmp692 + l2new.bbbb += np.transpose(tmp693, (2, 3, 0, 1)) + l2new.bbbb += np.transpose(tmp674, (2, 3, 0, 1)) + l2new.bbbb += einsum(tmp533, (0, 1, 2, 3), v.bbbb.ovoo, (4, 5, 0, 2), (3, 5, 1, 4)) * 6 + l2new.bbbb += np.transpose(tmp676, (3, 2, 1, 0)) + l2new.bbbb += np.transpose(tmp677, (3, 2, 1, 0)) * -1 + l2new.bbbb += np.transpose(tmp678, (3, 2, 1, 0)) * -1 + del tmp678 + l2new.bbbb += einsum(l1.bb, (0, 1), tmp543, (2, 3), (0, 3, 1, 2)) + l2new.bbbb += np.transpose(tmp642, (3, 2, 1, 0)) * -1 + del tmp642 + l2new.bbbb += einsum(tmp305, (0, 1, 2, 3), tmp285, (4, 2, 5, 1), (5, 3, 0, 4)) * -6 + l2new.bbbb += np.transpose(tmp662, (2, 3, 1, 0)) * -1 + del tmp662 + l2new.bbbb += np.transpose(tmp683, (2, 3, 1, 0)) * -2 + del tmp683 + l2new.bbbb += np.transpose(tmp685, (3, 2, 0, 1)) * -1 + del tmp685 + l2new.bbbb += np.transpose(tmp687, (3, 2, 0, 1)) * -1 + del tmp687 + l2new.bbbb += np.transpose(tmp691, (2, 3, 1, 0)) + del tmp691 + l2new.bbbb += np.transpose(tmp693, (2, 3, 1, 0)) * -1 + del tmp693 + l2new.bbbb += np.transpose(tmp674, (2, 3, 1, 0)) * -1 + del tmp674 + l2new.bbbb += np.transpose(tmp676, (3, 2, 0, 1)) * -1 + del tmp676 + l2new.bbbb += np.transpose(tmp675, (3, 2, 0, 1)) * -1 + del tmp675 + l2new.bbbb += np.transpose(tmp677, (3, 2, 0, 1)) + del tmp677 + l2new.bbbb += np.transpose(tmp688, (3, 2, 0, 1)) + del tmp688 + l2new.bbbb += einsum(l1.bb, (0, 1), tmp543, (2, 3), (0, 3, 2, 1)) * -1 + tmp694 = einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), t3.bbbbbb, (6, 7, 5, 8, 1, 2), (3, 4, 6, 7, 0, 8)) + tmp695 = einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp694, (4, 5, 2, 0, 6, 3), (4, 5, 6, 1)) * -1 + del tmp694 + l2new.bbbb += np.transpose(tmp695, (3, 2, 1, 0)) * 18 + tmp696 = einsum(tmp640, (0, 1, 2, 3, 4, 5), v.aabb.ovvv, (0, 3, 6, 5), (1, 2, 4, 6)) * -1 + del tmp640 + l2new.bbbb += np.transpose(tmp696, (3, 2, 1, 0)) * -6 + tmp697 = einsum(v.bbbb.ovvv, (0, 1, 2, 3), l3.bbbbbb, (4, 1, 3, 5, 6, 0), (5, 6, 4, 2)) + l2new.bbbb += np.transpose(tmp697, (3, 2, 1, 0)) * -6 + l2new.bbbb += np.transpose(tmp346, (3, 2, 1, 0)) * 2 + del tmp346 + tmp698 = einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (6, 4, 7, 8, 1, 2), (3, 5, 6, 7, 0, 8)) + tmp699 = einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp698, (4, 5, 2, 0, 6, 1), (4, 5, 6, 3)) * -1 + del tmp698 + l2new.bbbb += np.transpose(tmp699, (3, 2, 1, 0)) * -4 + tmp700 = einsum(v.aabb.ooov, (0, 1, 2, 3), tmp560, (0, 1, 4, 5, 2, 6), (4, 5, 6, 3)) + l2new.bbbb += np.transpose(tmp700, (3, 2, 1, 0)) * 2 + tmp702 = einsum(tmp701, (0, 1, 2, 3, 4, 5), v.bbbb.ooov, (1, 4, 3, 6), (0, 2, 5, 6)) + del tmp701 + l2new.bbbb += np.transpose(tmp702, (3, 2, 1, 0)) * -6 + tmp704 = np.copy(v.aabb.ovvv) + tmp704 += np.transpose(tmp330, (0, 1, 3, 2)) * 2 + del tmp330 + tmp704 += np.transpose(tmp331, (0, 1, 3, 2)) * -1 + del tmp331 + tmp703 = einsum(tmp332, (0, 1, 2, 3), t2.abab, (4, 0, 5, 2), (4, 5, 1, 3)) + del tmp332 + tmp704 += tmp703 * -1 + del tmp703 + tmp705 = einsum(l3.babbab, (0, 1, 2, 3, 4, 5), tmp704, (4, 1, 6, 2), (3, 5, 0, 6)) * -1 + del tmp704 + l2new.bbbb += np.transpose(tmp705, (3, 2, 1, 0)) * -2 + tmp706 = np.copy(v.bbbb.ovvv) * -1 + tmp706 += np.transpose(v.bbbb.ovvv, (0, 2, 3, 1)) + tmp707 = einsum(tmp647, (0, 1, 2, 3, 4, 5), tmp706, (2, 5, 3, 6), (0, 1, 4, 6)) + del tmp706 + l2new.bbbb += np.transpose(tmp707, (3, 2, 1, 0)) * 12 + del tmp707 + tmp708 = einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), l3.babbab, (6, 5, 4, 7, 2, 8), (0, 7, 8, 1, 3, 6)) + tmp710 = np.copy(np.transpose(tmp708, (0, 2, 1, 3, 4, 5))) * -1 + del tmp708 + tmp709 = einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), t3.babbab, (6, 7, 5, 1, 8, 2), (7, 3, 4, 6, 8, 0)) + tmp710 += np.transpose(tmp709, (0, 2, 1, 3, 4, 5)) * -1.5000000000000004 + del tmp709 + tmp711 = einsum(tmp710, (0, 1, 2, 3, 4, 5), v.aabb.ovov, (0, 4, 3, 6), (1, 2, 6, 5)) * 2 + del tmp710 + l2new.bbbb += np.transpose(tmp711, (2, 3, 1, 0)) * -2 + tmp719 = np.copy(np.transpose(tmp284, (1, 0, 2, 3, 4, 5))) * -0.5 + del tmp284 + tmp719 += np.transpose(tmp712, (1, 2, 0, 5, 4, 3)) * 1.5 + del tmp712 + tmp719 += np.transpose(tmp648, (1, 0, 2, 4, 5, 3)) * -0.5 + del tmp648 + tmp719 += np.transpose(tmp713, (1, 0, 2, 4, 5, 3)) * -1.5 + del tmp713 + tmp719 += np.transpose(tmp651, (1, 0, 2, 4, 5, 3)) * 1.5 + del tmp651 + tmp719 += np.transpose(tmp714, (1, 2, 0, 4, 5, 3)) * 1.5 + tmp719 += np.transpose(tmp714, (1, 2, 0, 5, 4, 3)) * -1.5 + del tmp714 + tmp715 = einsum(tmp231, (0, 1, 2, 3), l3.babbab, (4, 2, 5, 6, 0, 7), (6, 7, 1, 4, 5, 3)) + del tmp231 + tmp719 += np.transpose(tmp715, (1, 0, 2, 4, 5, 3)) + del tmp715 + tmp719 += np.transpose(tmp656, (0, 1, 2, 3, 5, 4)) + del tmp656 + tmp718 = einsum(tmp717, (0, 1, 2, 3, 4, 5), v.bbbb.ovov, (3, 6, 4, 7), (0, 1, 2, 6, 7, 5)) * 1.5 + del tmp717 + tmp719 += np.transpose(tmp718, (1, 2, 0, 4, 3, 5)) + del tmp718 + tmp720 = einsum(tmp719, (0, 1, 2, 3, 4, 5), t1.bb, (2, 3), (0, 1, 4, 5)) * 2 + del tmp719 + l2new.bbbb += np.transpose(tmp720, (2, 3, 1, 0)) * 2 + tmp725 = np.copy(np.transpose(tmp527, (0, 2, 1, 3, 4, 5))) + tmp725 += np.transpose(tmp576, (0, 2, 1, 3, 4, 5)) * -1 + tmp725 += np.transpose(tmp721, (0, 2, 1, 3, 4, 5)) + del tmp721 + tmp725 += np.transpose(tmp580, (0, 2, 1, 3, 4, 5)) + tmp725 += np.transpose(tmp528, (0, 2, 1, 3, 4, 5)) * -1 + tmp724 = einsum(tmp723, (0, 1, 2, 3, 4, 5), v.aabb.ovov, (1, 6, 4, 7), (0, 2, 3, 6, 7, 5)) + del tmp723 + tmp725 += np.transpose(tmp724, (0, 2, 1, 3, 5, 4)) * -1 + del tmp724 + tmp726 = einsum(tmp725, (0, 1, 2, 3, 4, 5), t1.aa, (0, 3), (1, 2, 4, 5)) + del tmp725 + l2new.bbbb += np.transpose(tmp726, (3, 2, 1, 0)) * 2 + l2new.bbbb += np.transpose(tmp351, (2, 3, 1, 0)) * -2 + tmp727 = np.copy(np.transpose(tmp343, (1, 0, 3, 2))) * 0.3333333333333467 + tmp727 += np.transpose(tmp352, (1, 0, 3, 2)) * 0.3333333333333467 + tmp727 += np.transpose(tmp344, (1, 0, 3, 2)) * 0.33333333333333337 + tmp727 += np.transpose(tmp329, (1, 0, 3, 2)) + tmp728 = einsum(tmp727, (0, 1, 2, 3), v.bbbb.ovov, (2, 4, 3, 5), (0, 1, 4, 5)) * 1.4999999999999398 + del tmp727 + l2new.bbbb += np.transpose(tmp728, (3, 2, 1, 0)) * 2 + del tmp728 + l2new.bbbb += np.transpose(tmp349, (2, 3, 1, 0)) * 2 + del tmp349 + tmp730 = einsum(l2.bbbb, (0, 1, 2, 3), tmp729, (4, 1), (2, 3, 0, 4)) * -1 + del tmp729 + l2new.bbbb += np.transpose(tmp730, (3, 2, 1, 0)) * 2 + tmp731 = einsum(tmp293, (0, 1, 2, 3), tmp319, (2, 4), (0, 1, 3, 4)) + l2new.bbbb += np.transpose(tmp731, (3, 2, 1, 0)) * -2 + l2new.bbbb += np.transpose(tmp695, (2, 3, 1, 0)) * -18 + del tmp695 + l2new.bbbb += np.transpose(tmp696, (2, 3, 1, 0)) * 6 + del tmp696 + l2new.bbbb += np.transpose(tmp697, (2, 3, 1, 0)) * 6 + del tmp697 + l2new.bbbb += np.transpose(tmp699, (2, 3, 1, 0)) * 4 + del tmp699 + l2new.bbbb += np.transpose(tmp700, (2, 3, 1, 0)) * -2 + del tmp700 + l2new.bbbb += np.transpose(tmp702, (2, 3, 1, 0)) * 6 + del tmp702 + l2new.bbbb += np.transpose(tmp705, (2, 3, 1, 0)) * 2 + del tmp705 + tmp732 = np.copy(v.bbbb.ovvv) + tmp732 += np.transpose(v.bbbb.ovvv, (0, 2, 3, 1)) * -1 + tmp733 = einsum(tmp732, (0, 1, 2, 3), tmp647, (4, 5, 0, 2, 6, 1), (4, 5, 6, 3)) + del tmp647, tmp732 + l2new.bbbb += np.transpose(tmp733, (2, 3, 1, 0)) * 12 + del tmp733 + l2new.bbbb += np.transpose(tmp711, (3, 2, 1, 0)) * 2 + del tmp711 + l2new.bbbb += np.transpose(tmp720, (3, 2, 1, 0)) * -2 + del tmp720 + l2new.bbbb += np.transpose(tmp726, (2, 3, 1, 0)) * -2 + del tmp726 + tmp735 = np.copy(np.transpose(tmp343, (1, 0, 3, 2))) * 0.3333333333333467 + del tmp343 + tmp735 += np.transpose(tmp352, (1, 0, 3, 2)) * 0.3333333333333467 + del tmp352 + tmp735 += np.transpose(tmp344, (1, 0, 3, 2)) * 0.33333333333333337 + del tmp344 + tmp735 += np.transpose(tmp329, (1, 0, 3, 2)) + del tmp329 + tmp734 = einsum(t1.bb, (0, 1), tmp130, (2, 3, 4, 1), (0, 2, 3, 4)) * 2 + del tmp130 + tmp735 += np.transpose(tmp734, (2, 1, 3, 0)) + del tmp734 + tmp736 = einsum(tmp735, (0, 1, 2, 3), v.bbbb.ovov, (2, 4, 3, 5), (0, 1, 4, 5)) * 1.4999999999999398 + del tmp735 + l2new.bbbb += np.transpose(tmp736, (3, 2, 1, 0)) * 2 + del tmp736 + l2new.bbbb += np.transpose(tmp351, (3, 2, 1, 0)) * 2 + del tmp351 + l2new.bbbb += np.transpose(tmp730, (2, 3, 1, 0)) * -2 + del tmp730 + l2new.bbbb += np.transpose(tmp731, (2, 3, 1, 0)) * 2 + del tmp731 + l2new.bbbb += np.transpose(tmp271, (2, 3, 1, 0)) * -6 + del tmp271 + l2new.bbbb += np.transpose(tmp270, (2, 3, 1, 0)) * -2 + del tmp270 + tmp737 = einsum(v.bbbb.ooov, (0, 1, 2, 3), tmp257, (1, 4, 5, 3), (0, 2, 4, 5)) * 2 + l2new.bbbb += np.transpose(tmp737, (2, 3, 0, 1)) + l2new.bbbb += np.transpose(tmp737, (2, 3, 1, 0)) * -1 + del tmp737 + tmp738 = einsum(tmp286, (0, 1, 2, 3, 4, 5), t1.bb, (2, 3), (1, 0, 5, 4)) * 2 + del tmp286 + l2new.bbbb += np.transpose(tmp738, (3, 2, 0, 1)) + l2new.bbbb += np.transpose(tmp738, (3, 2, 1, 0)) * -1 + del tmp738 + l2new.bbbb += np.transpose(tmp273, (3, 2, 0, 1)) * 2 + l2new.bbbb += np.transpose(tmp273, (3, 2, 1, 0)) * -2 + del tmp273 + tmp740 = np.copy(v.bbbb.oooo) + tmp740 += np.transpose(tmp263, (1, 3, 0, 2)) + tmp740 += np.transpose(tmp739, (1, 3, 0, 2)) + del tmp739 + l2new.bbbb += einsum(l2.bbbb, (0, 1, 2, 3), tmp740, (2, 4, 3, 5), (0, 1, 4, 5)) * 2 + del tmp740 + tmp741 = einsum(tmp113, (0, 1), v.bbbb.ovov, (2, 3, 4, 1), (2, 4, 3, 0)) + del tmp113 + l2new.bbbb += np.transpose(tmp741, (2, 3, 1, 0)) + l2new.bbbb += einsum(tmp742, (0, 1, 2, 3), l1.bb, (4, 0), (3, 4, 1, 2)) + del tmp742 + l2new.bbbb += np.transpose(tmp741, (3, 2, 1, 0)) * -1 + del tmp741 + l2new.bbbb += np.transpose(tmp639, (2, 3, 1, 0)) * -1 + del tmp639 + tmp743 = einsum(tmp328, (0, 1, 2, 3), l2.bbbb, (4, 2, 5, 0), (5, 1, 4, 3)) + l2new.bbbb += np.transpose(tmp743, (3, 2, 0, 1)) * 4 + tmp744 = einsum(l2.abab, (0, 1, 2, 3), tmp327, (2, 4, 0, 5), (3, 4, 1, 5)) + l2new.bbbb += np.transpose(tmp744, (3, 2, 0, 1)) + l2new.bbbb += einsum(tmp635, (0, 1), l1.bb, (2, 3), (1, 2, 3, 0)) + tmp745 = einsum(tmp686, (0, 1, 2, 3), v.bbbb.ovov, (4, 3, 1, 5), (4, 0, 5, 2)) + del tmp686 + l2new.bbbb += np.transpose(tmp745, (2, 3, 1, 0)) + tmp746 = einsum(tmp689, (0, 1, 2, 3, 4, 5), t1.bb, (1, 5), (2, 0, 4, 3)) * 6 + del tmp689 + l2new.bbbb += np.transpose(tmp746, (3, 2, 0, 1)) * -1 + tmp747 = einsum(tmp227, (0, 1, 2, 3), tmp293, (0, 4, 1, 5), (2, 4, 3, 5)) * 2 + l2new.bbbb += np.transpose(tmp747, (2, 3, 1, 0)) + tmp748 = einsum(tmp293, (0, 1, 2, 3), v.bbbb.ooov, (4, 0, 2, 5), (4, 1, 5, 3)) * 2 + l2new.bbbb += np.transpose(tmp748, (2, 3, 1, 0)) + tmp632 = np.copy(tmp135) + tmp632 += tmp136 + tmp632 += tmp137 * 2 + tmp632 += tmp150 + tmp632 += tmp138 * 2 + tmp632 += tmp151 * 3 + tmp749 = einsum(tmp632, (0, 1), v.bbbb.ovov, (2, 3, 1, 4), (2, 0, 4, 3)) + l2new.bbbb += np.transpose(tmp749, (2, 3, 1, 0)) * -1 + l2new.bbbb += np.transpose(tmp743, (2, 3, 0, 1)) * -4 + l2new.bbbb += np.transpose(tmp744, (2, 3, 0, 1)) * -1 + l2new.bbbb += einsum(l1.bb, (0, 1), tmp635, (2, 3), (0, 3, 1, 2)) * -1 + l2new.bbbb += np.transpose(tmp745, (3, 2, 1, 0)) * -1 + del tmp745 + l2new.bbbb += np.transpose(tmp746, (2, 3, 0, 1)) + l2new.bbbb += np.transpose(tmp747, (3, 2, 1, 0)) * -1 + del tmp747 + l2new.bbbb += np.transpose(tmp748, (3, 2, 1, 0)) * -1 + l2new.bbbb += np.transpose(tmp749, (3, 2, 1, 0)) + del tmp749 + l2new.bbbb += np.transpose(tmp743, (3, 2, 1, 0)) * -4 + l2new.bbbb += np.transpose(tmp744, (3, 2, 1, 0)) * -1 + l2new.bbbb += einsum(l1.bb, (0, 1), tmp635, (2, 3), (3, 0, 2, 1)) * -1 + tmp750 = np.copy(tmp252) * 0.11111111111111108 + tmp750 += tmp253 * 0.44444444444444453 + tmp750 += tmp254 + tmp751 = einsum(tmp750, (0, 1, 2, 3), v.bbbb.ovov, (4, 3, 1, 5), (4, 0, 5, 2)) * 9 + del tmp750 + l2new.bbbb += np.transpose(tmp751, (2, 3, 0, 1)) * -1 + l2new.bbbb += np.transpose(tmp746, (3, 2, 1, 0)) + tmp752 = einsum(tmp227, (0, 1, 2, 3), tmp533, (0, 4, 1, 5), (2, 4, 3, 5)) * 6 + l2new.bbbb += np.transpose(tmp752, (2, 3, 0, 1)) * -1 + l2new.bbbb += np.transpose(tmp748, (2, 3, 0, 1)) * -1 + tmp753 = np.copy(tmp135) * 0.3333333333333468 + del tmp135 + tmp753 += tmp136 * 0.3333333333333468 + del tmp136 + tmp753 += tmp137 * 0.6666666666666936 + del tmp137 + tmp753 += tmp150 * 0.33333333333333354 + del tmp150 + tmp753 += tmp138 * 0.6666666666666667 + del tmp138 + tmp753 += tmp151 + del tmp151 + tmp754 = einsum(tmp753, (0, 1), v.bbbb.ovov, (2, 3, 1, 4), (2, 0, 4, 3)) * 3 + del tmp753 + l2new.bbbb += np.transpose(tmp754, (2, 3, 0, 1)) + l2new.bbbb += np.transpose(tmp743, (2, 3, 1, 0)) * 4 + del tmp743 + l2new.bbbb += np.transpose(tmp744, (2, 3, 1, 0)) + del tmp744 + l2new.bbbb += einsum(tmp635, (0, 1), l1.bb, (2, 3), (2, 1, 0, 3)) + l2new.bbbb += np.transpose(tmp751, (3, 2, 0, 1)) + del tmp751 + l2new.bbbb += np.transpose(tmp746, (2, 3, 1, 0)) * -1 + del tmp746 + l2new.bbbb += np.transpose(tmp752, (3, 2, 0, 1)) + del tmp752 + l2new.bbbb += np.transpose(tmp748, (3, 2, 0, 1)) + del tmp748 + l2new.bbbb += np.transpose(tmp754, (3, 2, 0, 1)) * -1 + del tmp754 + l2new.abab = np.copy(np.transpose(v.aabb.ovov, (1, 3, 0, 2))) + tmp510 = np.copy(tmp91) * 0.5 + del tmp91 + tmp510 += tmp92 + del tmp92 + tmp510 += tmp93 * 0.49999999999998007 + del tmp93 + tmp510 += tmp94 + del tmp94 + tmp510 += tmp95 * 1.4999999999999394 + del tmp95 + l2new.abab += einsum(v.aabb.ovov, (0, 1, 2, 3), tmp510, (4, 3), (1, 4, 0, 2)) * -2 + del tmp510 + l2new.abab += einsum(tmp297, (0, 1, 2, 3), l1.bb, (4, 1), (3, 4, 0, 2)) * -1 + l2new.abab += einsum(v.aabb.ovoo, (0, 1, 2, 3), tmp511, (4, 2, 3, 5, 1, 6), (5, 6, 0, 4)) * 2 + del tmp511 + l2new.abab += einsum(v.aabb.ovvv, (0, 1, 2, 3), l1.bb, (3, 4), (1, 2, 0, 4)) + l2new.abab += einsum(tmp512, (0, 1, 2, 3, 4, 5), v.aabb.ooov, (6, 0, 2, 5), (3, 4, 6, 1)) * -2 + tmp513 = np.copy(v.aabb.ooov) + tmp513 += np.transpose(tmp22, (1, 0, 2, 3)) * 2 + del tmp22 + tmp513 += tmp23 + del tmp23 + tmp513 += tmp24 * 2 + del tmp24 + tmp513 += tmp25 * 2 + del tmp25 + tmp513 += tmp421 + del tmp421 + l2new.abab += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), tmp513, (4, 6, 5, 2), (1, 0, 6, 3)) * -2 + del tmp513 + tmp514 = np.copy(np.transpose(v.aaaa.ooov, (0, 2, 1, 3))) + tmp514 += np.transpose(tmp28, (1, 0, 2, 3)) * -1 + del tmp28 + tmp514 += np.transpose(tmp29, (1, 0, 2, 3)) * 3 + del tmp29 + tmp514 += np.transpose(tmp30, (1, 0, 2, 3)) + del tmp30 + l2new.abab += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), tmp514, (3, 5, 6, 2), (0, 1, 6, 4)) * -2 + del tmp514 + l2new.abab += einsum(tmp515, (0, 1, 2, 3, 4, 5), tmp424, (1, 0, 6, 4), (3, 5, 6, 2)) * -4 + del tmp424 + l2new.abab += einsum(tmp434, (0, 1, 2, 3), tmp16, (4, 2, 1, 5), (3, 5, 0, 4)) * 2 + del tmp434 + tmp525 = einsum(t1.aa, (0, 1), tmp516, (0, 2, 3, 4, 5, 6, 1, 7), (2, 3, 4, 6, 5, 7)) * -1 + del tmp516 + tmp525 += np.transpose(tmp518, (0, 1, 2, 4, 3, 5)) + tmp525 += np.transpose(tmp519, (0, 1, 2, 4, 3, 5)) * -1 + del tmp519 + tmp525 += np.transpose(tmp520, (0, 1, 2, 4, 3, 5)) + tmp525 += np.transpose(tmp522, (0, 1, 2, 4, 3, 5)) * -1 + tmp525 += tmp523 * 0.5 + tmp525 += np.transpose(tmp523, (0, 1, 2, 4, 3, 5)) * -0.5 + del tmp523 + tmp525 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), tmp66, (6, 5, 7, 2), (4, 6, 3, 7, 1, 0)) + del tmp66 + tmp524 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), tmp20, (5, 6, 2, 7), (3, 6, 4, 0, 7, 1)) + del tmp20 + tmp525 += np.transpose(tmp524, (0, 1, 2, 4, 3, 5)) + tmp525 += einsum(tmp60, (0, 1, 2, 3), tmp515, (4, 0, 5, 6, 2, 7), (4, 1, 5, 3, 6, 7)) * 2 + tmp525 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), tmp391, (3, 6, 7, 5), (7, 6, 4, 0, 2, 1)) + del tmp391 + tmp525 += einsum(tmp16, (0, 1, 2, 3), v.aaaa.ovov, (4, 2, 5, 6), (4, 5, 0, 1, 6, 3)) + l2new.abab += einsum(tmp525, (0, 1, 2, 3, 4, 5), t1.aa, (0, 3), (4, 5, 1, 2)) * -2 + del tmp525 + l2new.abab += einsum(tmp285, (0, 1, 2, 3), v.aabb.ovvv, (4, 5, 1, 3), (5, 2, 4, 0)) * -6 + del tmp285 + tmp529 = np.copy(np.transpose(tmp526, (0, 2, 1, 3, 4, 5))) * -1 + del tmp526 + tmp529 += np.transpose(tmp527, (0, 2, 1, 3, 4, 5)) + del tmp527 + tmp529 += np.transpose(tmp528, (0, 2, 1, 3, 4, 5)) * -1 + del tmp528 + tmp529 += einsum(tmp109, (0, 1, 2, 3), l3.babbab, (4, 5, 6, 7, 0, 2), (1, 3, 7, 5, 4, 6)) * -1 + tmp529 += einsum(tmp257, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 6, 3), (4, 6, 0, 5, 2, 1)) * -1 + del tmp257 + l2new.abab += einsum(tmp529, (0, 1, 2, 3, 4, 5), t1.bb, (1, 5), (3, 4, 0, 2)) * -2 + del tmp529 + l2new.abab += einsum(v.aaaa.ovov, (0, 1, 2, 3), tmp530, (2, 4, 3, 5), (1, 5, 0, 4)) + del tmp530 + tmp531 = np.copy(np.transpose(l2.bbbb, (2, 3, 0, 1))) + tmp531 += np.transpose(tmp252, (1, 0, 3, 2)) * 0.49999999999998 + del tmp252 + tmp531 += np.transpose(tmp253, (1, 0, 3, 2)) * 2 + del tmp253 + tmp531 += np.transpose(tmp254, (1, 0, 3, 2)) * 4.4999999999998215 + del tmp254 + l2new.abab += einsum(v.aabb.ovov, (0, 1, 2, 3), tmp531, (2, 4, 3, 5), (1, 5, 0, 4)) * 2 + del tmp531 + l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp409, (2, 4, 0, 5), (5, 1, 4, 3)) + del tmp409 + l2new.abab += einsum(l2.bbbb, (0, 1, 2, 3), tmp411, (4, 3, 5, 1), (5, 0, 4, 2)) * 2 + del tmp411 + l2new.abab += einsum(tmp77, (0, 1, 2, 3), tmp532, (0, 2, 4, 5), (3, 5, 1, 4)) * -2 + l2new.abab += einsum(v.aaaa.ovoo, (0, 1, 2, 3), tmp212, (2, 3, 4, 5), (1, 5, 0, 4)) * -1 + l2new.abab += einsum(v.aabb.ovoo, (0, 1, 2, 3), tmp293, (2, 4, 3, 5), (1, 5, 0, 4)) * 2 + del tmp293 + l2new.abab += einsum(tmp533, (0, 1, 2, 3), tmp140, (4, 0, 2, 5), (5, 3, 4, 1)) * 6 + del tmp533 + l2new.abab += einsum(tmp160, (0, 1), tmp16, (2, 3, 1, 4), (3, 4, 0, 2)) * -2 + l2new.abab += einsum(tmp166, (0, 1), l2.abab, (2, 3, 0, 4), (2, 3, 1, 4)) * -1 + del tmp166 + l2new.abab += einsum(l1.bb, (0, 1), tmp433, (2, 3), (3, 0, 2, 1)) + del tmp433 + l2new.abab += einsum(v.aabb.vvov, (0, 1, 2, 3), l1.aa, (1, 4), (0, 3, 4, 2)) + l2new.abab += einsum(tmp305, (0, 1, 2, 3), tmp8, (4, 5, 2, 1), (5, 3, 4, 0)) * -2 + del tmp305 + l2new.abab += einsum(tmp5, (0, 1, 2, 3), v.aabb.vvov, (1, 3, 4, 5), (2, 5, 0, 4)) * -2 + tmp534 = np.copy(np.transpose(l2.aaaa, (2, 3, 0, 1))) * 0.22222222222223104 + tmp534 += np.transpose(tmp33, (1, 0, 3, 2)) + del tmp33 + tmp534 += np.transpose(tmp34, (1, 0, 3, 2)) * 0.44444444444444453 + del tmp34 + tmp534 += np.transpose(tmp35, (1, 0, 3, 2)) * 0.11111111111111108 + del tmp35 + l2new.abab += einsum(tmp534, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 5), (3, 5, 1, 4)) * 9 + del tmp534 + l2new.abab += einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp405, (4, 2, 5, 3), (5, 1, 4, 0)) * 3 + del tmp405 + l2new.abab += einsum(tmp535, (0, 1, 2, 3), l2.abab, (4, 2, 5, 0), (4, 3, 5, 1)) + del tmp535 + tmp538 = np.copy(np.transpose(tmp536, (0, 2, 1, 3, 4, 5))) * 0.5 + tmp538 += np.transpose(tmp536, (0, 2, 1, 3, 5, 4)) * -0.5 + del tmp536 + tmp537 = einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp8, (4, 5, 6, 1), (4, 0, 2, 5, 3, 6)) + tmp538 += np.transpose(tmp537, (0, 2, 1, 3, 5, 4)) + l2new.abab += einsum(tmp538, (0, 1, 2, 3, 4, 5), t1.bb, (2, 4), (3, 5, 0, 1)) * -2 + del tmp538 + tmp540 = np.copy(np.transpose(tmp539, (1, 0, 2, 3, 4, 5))) * -0.3333333333333333 + del tmp539 + tmp540 += einsum(v.aabb.ovov, (0, 1, 2, 3), tmp5, (4, 5, 6, 1), (0, 4, 2, 6, 5, 3)) * -0.3333333333333333 + del tmp5 + l2new.abab += einsum(t1.aa, (0, 1), tmp540, (0, 2, 3, 4, 1, 5), (4, 5, 2, 3)) * -6 + del tmp540 + l2new.abab += einsum(l2.aaaa, (0, 1, 2, 3), tmp541, (3, 4, 1, 5), (0, 5, 2, 4)) * 2 + del tmp541 + l2new.abab += einsum(v.aabb.ooov, (0, 1, 2, 3), tmp79, (0, 4, 1, 5), (5, 3, 4, 2)) * 2 + del tmp79 + l2new.abab += einsum(tmp99, (0, 1, 2, 3), tmp416, (0, 4, 1, 5), (5, 3, 4, 2)) * 6 + del tmp99, tmp416 + l2new.abab += einsum(tmp206, (0, 1, 2, 3), tmp227, (1, 4, 2, 5), (3, 5, 0, 4)) * -1 + l2new.abab += einsum(tmp206, (0, 1, 2, 3), v.bbbb.ovoo, (4, 5, 1, 2), (3, 5, 0, 4)) * -1 + l2new.abab += einsum(tmp543, (0, 1), l1.aa, (2, 3), (2, 1, 3, 0)) + del tmp543 + l2new.abab += einsum(v.aabb.vvoo, (0, 1, 2, 3), l2.abab, (1, 4, 5, 3), (0, 4, 5, 2)) * -1 + l2new.abab += einsum(tmp515, (0, 1, 2, 3, 4, 5), v.aabb.ovoo, (1, 4, 6, 2), (3, 5, 0, 6)) * -4 + tmp545 = np.copy(np.transpose(v.aabb.ovoo, (0, 2, 3, 1))) + tmp545 += tmp236 * -1 + del tmp236 + tmp545 += tmp237 + del tmp237 + tmp545 += tmp238 * 2 + del tmp238 + tmp545 += tmp239 * 2 + del tmp239 + tmp545 += np.transpose(tmp544, (0, 2, 1, 3)) + del tmp544 + l2new.abab += einsum(tmp545, (0, 1, 2, 3), l3.abaaba, (4, 5, 3, 6, 1, 0), (4, 5, 6, 2)) * -2 + del tmp545 + tmp546 = np.copy(np.transpose(v.bbbb.ovoo, (0, 2, 3, 1))) + tmp546 += np.transpose(tmp243, (0, 2, 1, 3)) + del tmp243 + tmp546 += np.transpose(tmp244, (1, 0, 2, 3)) + del tmp244 + tmp546 += np.transpose(tmp245, (1, 0, 2, 3)) * -1 + del tmp245 + tmp546 += np.transpose(tmp246, (1, 0, 2, 3)) * -3 + del tmp246 + l2new.abab += einsum(tmp546, (0, 1, 2, 3), l3.babbab, (4, 5, 3, 0, 6, 1), (5, 4, 6, 2)) * 2 + del tmp546 + l2new.abab += einsum(tmp548, (0, 1, 2, 3, 4, 5), tmp547, (1, 6, 2, 5), (3, 4, 0, 6)) * 4 + del tmp547 + tmp557 = np.copy(tmp204) * 0.5 + tmp557 += einsum(tmp549, (0, 1, 2, 3, 4, 5, 6, 7), t1.bb, (1, 7), (0, 2, 3, 4, 5, 6)) * -1 + del tmp549 + tmp557 += tmp550 * -1 + del tmp550 + tmp552 = np.copy(np.transpose(v.aabb.ovov, (0, 2, 1, 3))) + tmp552 += tmp551 * -1 + del tmp551 + tmp557 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), tmp552, (5, 6, 2, 7), (3, 4, 6, 0, 1, 7)) + del tmp552 + tmp553 = einsum(tmp548, (0, 1, 2, 3, 4, 5), tmp229, (2, 6, 5, 7), (0, 6, 1, 3, 7, 4)) * 2 + tmp557 += np.transpose(tmp553, (0, 2, 1, 3, 5, 4)) * -1 + tmp557 += einsum(tmp249, (0, 1, 2, 3), l3.babbab, (4, 5, 2, 6, 7, 0), (7, 6, 1, 5, 4, 3)) + tmp555 = np.copy(tmp515) + tmp555 += tmp554 * 0.5 + tmp557 += einsum(v.aabb.ovov, (0, 1, 2, 3), tmp555, (4, 0, 5, 6, 1, 7), (4, 5, 2, 6, 7, 3)) * 2 + del tmp555 + tmp556 = np.copy(v.bbbb.oooo) + tmp556 += np.transpose(tmp263, (1, 3, 0, 2)) + del tmp263 + tmp556 += np.transpose(tmp272, (2, 1, 0, 3)) + tmp556 += np.transpose(tmp272, (2, 3, 0, 1)) * -1 + del tmp272 + tmp557 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), tmp556, (3, 6, 5, 7), (4, 6, 7, 1, 0, 2)) + del tmp556 + l2new.abab += einsum(tmp557, (0, 1, 2, 3, 4, 5), t1.bb, (1, 5), (3, 4, 0, 2)) * -2 + del tmp557 + l2new.abab += np.transpose(tmp205, (2, 3, 0, 1)) * -1 + del tmp205 + tmp559 = np.copy(np.transpose(tmp558, (1, 0, 2, 4, 3, 5))) * -1 + del tmp558 + tmp559 += einsum(tmp140, (0, 1, 2, 3), tmp473, (4, 5, 0, 1, 6, 7), (5, 4, 2, 3, 6, 7)) + del tmp140, tmp473 + tmp559 += np.transpose(tmp472, (1, 0, 2, 4, 3, 5)) + del tmp472 + tmp559 += einsum(tmp109, (0, 1, 2, 3), l3.abaaba, (4, 5, 6, 7, 2, 0), (7, 1, 3, 4, 6, 5)) + del tmp109 + l2new.abab += einsum(t1.aa, (0, 1), tmp559, (2, 0, 3, 1, 4, 5), (4, 5, 2, 3)) * -2 + del tmp559 + l2new.abab += einsum(tmp8, (0, 1, 2, 3), tmp319, (4, 3), (1, 2, 0, 4)) * -2 + del tmp8 + l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp326, (3, 4), (0, 1, 2, 4)) * -1 + del tmp326 + l2new.abab += einsum(tmp512, (0, 1, 2, 3, 4, 5), v.aabb.vvov, (6, 3, 2, 5), (6, 4, 0, 1)) * 2 + l2new.abab += np.transpose(tmp203, (2, 3, 0, 1)) + del tmp203 + l2new.abab += einsum(v.aabb.ovoo, (0, 1, 2, 3), tmp560, (4, 0, 5, 2, 3, 6), (1, 6, 4, 5)) * 2 + tmp561 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), v.aaaa.ovvv, (5, 0, 6, 2), (3, 4, 6, 1)) + l2new.abab += np.transpose(tmp561, (2, 3, 0, 1)) * -2 + del tmp561 + tmp563 = einsum(tmp562, (0, 1, 2, 3, 4, 5), v.aaaa.ooov, (1, 2, 3, 6), (0, 4, 6, 5)) + del tmp562 + l2new.abab += np.transpose(tmp563, (2, 3, 0, 1)) * -2 + del tmp563 + tmp564 = np.copy(np.transpose(v.aabb.vvov, (2, 0, 1, 3))) + tmp564 += tmp170 * -0.5 + tmp564 += np.transpose(tmp171, (0, 2, 1, 3)) + tmp564 += einsum(t2.abab, (0, 1, 2, 3), tmp172, (0, 2, 4, 5), (1, 5, 4, 3)) * 0.5 + del tmp172 + l2new.abab += einsum(tmp564, (0, 1, 2, 3), l3.babbab, (4, 1, 3, 5, 6, 0), (2, 4, 6, 5)) * 2 + del tmp564 + l2new.abab += einsum(tmp515, (0, 1, 2, 3, 4, 5), tmp448, (1, 4, 3, 6), (6, 5, 0, 2)) * -4 + del tmp448 + tmp566 = einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), l3.abaaba, (4, 6, 5, 7, 8, 2), (7, 0, 1, 8, 3, 6)) + tmp565 = einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), l3.babbab, (6, 5, 4, 7, 8, 1), (8, 0, 2, 7, 3, 6)) + tmp566 += np.transpose(tmp565, (0, 2, 1, 3, 4, 5)) * -0.33333333333333315 + l2new.abab += einsum(v.aaaa.ovov, (0, 1, 2, 3), tmp566, (4, 0, 2, 5, 3, 6), (1, 6, 4, 5)) * 6 + del tmp566 + tmp568 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (6, 7, 5, 0, 8, 2), (3, 6, 4, 7, 1, 8)) + tmp567 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), l3.babbab, (6, 4, 5, 7, 8, 2), (8, 1, 7, 0, 6, 3)) + tmp568 += tmp567 + l2new.abab += einsum(tmp568, (0, 1, 2, 3, 4, 5), v.aabb.ovov, (1, 6, 3, 5), (6, 4, 0, 2)) * -2 + del tmp568 + tmp575 = np.copy(tmp97) + del tmp97 + tmp575 += np.transpose(tmp569, (1, 0, 2, 4, 3, 5)) * 2 + del tmp569 + tmp575 += tmp570 * -1 + tmp575 += tmp518 + tmp575 += tmp520 * 2 + del tmp520 + tmp575 += tmp522 * -1 + tmp575 += np.transpose(tmp571, (1, 0, 2, 3, 4, 5)) * 2 + tmp575 += np.transpose(tmp571, (1, 0, 2, 4, 3, 5)) * -2 + del tmp571 + tmp572 = np.copy(np.transpose(v.aabb.ovov, (0, 2, 1, 3))) * 2 + tmp572 += tmp1 * 2 + tmp572 += tmp18 + tmp575 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), tmp572, (6, 5, 7, 2), (4, 6, 3, 1, 7, 0)) + del tmp572 + tmp575 += tmp524 + tmp575 += einsum(tmp60, (0, 1, 2, 3), tmp515, (4, 0, 5, 6, 2, 7), (4, 1, 5, 6, 3, 7)) * 4 + del tmp60 + tmp575 += einsum(tmp574, (0, 1, 2, 3, 4, 5), v.aaaa.ovov, (2, 6, 3, 7), (1, 0, 4, 7, 6, 5)) * 2 + del tmp574 + l2new.abab += einsum(tmp575, (0, 1, 2, 3, 4, 5), t1.aa, (1, 3), (4, 5, 0, 2)) * -1 + del tmp575 + tmp583 = np.copy(np.transpose(tmp576, (0, 2, 1, 3, 5, 4))) * 0.5 + tmp583 += np.transpose(tmp578, (0, 1, 2, 3, 5, 4)) * -1 + del tmp578 + tmp583 += np.transpose(tmp580, (0, 2, 1, 3, 5, 4)) * -0.5 + tmp581 = einsum(v.aabb.ovov, (0, 1, 2, 3), tmp560, (4, 0, 5, 6, 2, 7), (4, 5, 6, 1, 7, 3)) + del tmp560 + tmp583 += np.transpose(tmp581, (0, 2, 1, 3, 5, 4)) * 0.5 + tmp582 = np.copy(np.transpose(v.aabb.vvoo, (2, 3, 0, 1))) * 2 + tmp582 += tmp182 * -1 + tmp583 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), tmp582, (5, 6, 1, 7), (4, 3, 6, 7, 0, 2)) * -0.5 + del tmp582 + l2new.abab += einsum(tmp583, (0, 1, 2, 3, 4, 5), t1.bb, (2, 4), (3, 5, 0, 1)) * -2 + del tmp583 + tmp585 = np.copy(tmp184) + tmp585 += einsum(t1.aa, (0, 1), tmp100, (2, 3, 4, 1), (2, 0, 3, 4)) + tmp585 += tmp185 * 2 + tmp585 += tmp186 + tmp584 = np.copy(tmp120) * 2 + tmp584 += tmp121 + tmp585 += einsum(t1.bb, (0, 1), tmp584, (2, 3, 4, 1), (2, 3, 4, 0)) * 2 + del tmp584 + l2new.abab += einsum(v.aabb.ovov, (0, 1, 2, 3), tmp585, (4, 0, 5, 2), (1, 3, 4, 5)) * 0.5 + del tmp585 + tmp586 = np.copy(tmp120) + del tmp120 + tmp586 += tmp121 * 0.5 + l2new.abab += einsum(tmp586, (0, 1, 2, 3), v.aabb.ovvv, (1, 4, 5, 3), (4, 5, 0, 2)) * -2 + del tmp586 + l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp223, (0, 4), (4, 1, 2, 3)) * -1 + del tmp223 + l2new.abab += einsum(tmp589, (0, 1), tmp590, (2, 0, 3, 4), (1, 4, 2, 3)) * -1 + del tmp589, tmp590 + tmp591 = einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), l3.babbab, (4, 6, 5, 7, 8, 2), (8, 7, 0, 1, 6, 3)) + tmp592 = einsum(tmp591, (0, 1, 2, 3, 4, 5), v.bbbb.ovov, (3, 5, 2, 6), (0, 1, 4, 6)) + del tmp591 + l2new.abab += np.transpose(tmp592, (2, 3, 0, 1)) * 6 + del tmp592 + l2new.abab += einsum(v.aabb.vvov, (0, 1, 2, 3), tmp369, (4, 5, 2, 6, 0, 1), (6, 3, 4, 5)) * -2 + del tmp369 + l2new.abab += einsum(tmp593, (0, 1, 2, 3, 4, 5), v.bbbb.ooov, (2, 3, 4, 6), (5, 6, 0, 1)) * -2 + del tmp593 + tmp594 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.babbab, (6, 5, 7, 8, 2, 1), (3, 4, 6, 7, 0, 8)) + l2new.abab += einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp594, (4, 5, 2, 0, 6, 3), (6, 1, 4, 5)) * -4 + del tmp594 + tmp595 = einsum(v.aabb.ooov, (0, 1, 2, 3), tmp440, (4, 0, 1, 5, 2, 6), (4, 5, 6, 3)) + del tmp440 + l2new.abab += np.transpose(tmp595, (2, 3, 0, 1)) * 2 + del tmp595 + tmp596 = np.copy(np.transpose(v.bbbb.ovvv, (0, 2, 3, 1))) * 2 + tmp596 += np.transpose(tmp334, (0, 1, 3, 2)) * -1 + tmp596 += einsum(t2.bbbb, (0, 1, 2, 3), tmp267, (1, 4, 3, 5), (0, 2, 4, 5)) * -2 + del tmp267 + l2new.abab += einsum(tmp596, (0, 1, 2, 3), l3.babbab, (1, 4, 3, 5, 6, 0), (4, 2, 6, 5)) + del tmp596 + tmp597 = np.copy(v.bbbb.ovvv) * -1 + tmp597 += np.transpose(v.bbbb.ovvv, (0, 2, 1, 3)) + l2new.abab += einsum(tmp512, (0, 1, 2, 3, 4, 5), tmp597, (2, 6, 5, 4), (3, 6, 0, 1)) * 2 + del tmp512, tmp597 + tmp598 = np.copy(np.transpose(l3.abaaba, (3, 5, 4, 0, 2, 1))) + tmp598 += np.transpose(tmp515, (1, 0, 2, 4, 3, 5)) * 4 + l2new.abab += einsum(v.aabb.ovvv, (0, 1, 2, 3), tmp598, (0, 4, 5, 1, 6, 3), (6, 2, 4, 5)) + del tmp598 + tmp600 = einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), l3.abaaba, (6, 4, 5, 7, 8, 2), (7, 0, 8, 1, 6, 3)) + tmp599 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), l3.babbab, (3, 6, 5, 7, 8, 2), (8, 1, 7, 0, 6, 4)) + tmp600 += tmp599 * 0.2499999999999999 + l2new.abab += einsum(v.aabb.ovov, (0, 1, 2, 3), tmp600, (4, 0, 5, 2, 6, 1), (6, 3, 4, 5)) * -4 + del tmp600 + tmp609 = np.copy(tmp204) + del tmp204 + tmp609 += np.transpose(tmp601, (0, 2, 1, 3, 5, 4)) + tmp609 += tmp602 * -2 + del tmp602 + tmp609 += np.transpose(tmp603, (0, 2, 1, 3, 4, 5)) + tmp609 += np.transpose(tmp603, (0, 2, 1, 3, 5, 4)) * -1 + tmp604 = np.copy(np.transpose(v.aabb.ovov, (0, 2, 1, 3))) + tmp604 += einsum(tmp229, (0, 1, 2, 3), t2.abab, (4, 0, 5, 2), (4, 1, 5, 3)) * -2 + del tmp229 + tmp609 += einsum(tmp604, (0, 1, 2, 3), l3.abaaba, (4, 5, 2, 6, 7, 0), (6, 7, 1, 4, 5, 3)) + del tmp604 + tmp609 += np.transpose(tmp553, (0, 2, 1, 3, 5, 4)) * -1 + del tmp553 + tmp609 += einsum(tmp249, (0, 1, 2, 3), l3.babbab, (4, 5, 2, 6, 7, 0), (7, 6, 1, 5, 4, 3)) * 2 + del tmp249 + tmp605 = np.copy(tmp515) + del tmp515 + tmp605 += tmp554 * 0.25 + tmp609 += einsum(tmp605, (0, 1, 2, 3, 4, 5), v.aabb.ovov, (1, 4, 6, 7), (0, 2, 6, 3, 5, 7)) * 4 + del tmp605 + tmp608 = einsum(tmp607, (0, 1, 2, 3, 4, 5), v.bbbb.ovov, (3, 6, 4, 7), (0, 1, 2, 5, 6, 7)) + del tmp607 + tmp609 += np.transpose(tmp608, (0, 2, 1, 3, 5, 4)) + l2new.abab += einsum(tmp609, (0, 1, 2, 3, 4, 5), t1.bb, (2, 4), (3, 5, 0, 1)) * -1 + del tmp609 + tmp611 = np.copy(np.transpose(tmp396, (0, 1, 2, 4, 3, 5))) * 0.5 + tmp611 += np.transpose(tmp468, (1, 0, 2, 4, 3, 5)) + del tmp468 + tmp611 += np.transpose(tmp610, (0, 1, 2, 4, 3, 5)) * -0.5 + tmp611 += np.transpose(tmp469, (1, 0, 2, 4, 3, 5)) * -1 + del tmp469 + tmp611 += np.transpose(tmp471, (1, 0, 2, 4, 3, 5)) * -1 + del tmp471 + tmp611 += np.transpose(tmp399, (0, 1, 2, 4, 3, 5)) * -1 + del tmp399 + tmp611 += np.transpose(tmp476, (1, 0, 2, 3, 4, 5)) + del tmp476 + l2new.abab += einsum(t1.aa, (0, 1), tmp611, (2, 0, 3, 1, 4, 5), (4, 5, 2, 3)) * -2 + del tmp611 + tmp613 = np.copy(tmp184) + del tmp184 + tmp613 += tmp185 * 2 + del tmp185 + tmp613 += tmp186 + tmp612 = np.copy(tmp100) + del tmp100 + tmp612 += tmp49 * 4 + tmp612 += tmp50 * 2 + tmp613 += einsum(t1.aa, (0, 1), tmp612, (2, 3, 4, 1), (2, 0, 3, 4)) + del tmp612 + l2new.abab += einsum(tmp613, (0, 1, 2, 3), v.aabb.ovov, (1, 4, 3, 5), (4, 5, 0, 2)) * 0.5 + del tmp613 + tmp614 = np.copy(tmp49) + del tmp49 + tmp614 += tmp50 * 0.5 + l2new.abab += einsum(v.aabb.vvov, (0, 1, 2, 3), tmp614, (4, 5, 2, 1), (0, 3, 4, 5)) * -2 + del tmp614 + l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp362, (1, 4), (0, 4, 2, 3)) * -1 + del tmp362 + l2new.abab += einsum(tmp615, (0, 1, 2, 3), tmp319, (2, 4), (3, 4, 0, 1)) * -2 + del tmp615 + l2new.abab += einsum(v.aabb.ovvv, (0, 1, 2, 3), tmp121, (4, 0, 5, 3), (1, 2, 4, 5)) * -1 + l2new.abab += einsum(tmp567, (0, 1, 2, 3, 4, 5), v.aabb.ovov, (1, 6, 3, 5), (6, 4, 0, 2)) * -2 + del tmp567 + l2new.abab += einsum(tmp565, (0, 1, 2, 3, 4, 5), v.aaaa.ovov, (2, 4, 1, 6), (6, 5, 0, 3)) * 2 + del tmp565 + tmp617 = np.copy(tmp170) * -1 + del tmp170 + tmp617 += np.transpose(tmp171, (0, 2, 1, 3)) * 2 + del tmp171 + tmp616 = np.copy(v.aaaa.ovvv) + tmp616 += np.transpose(v.aaaa.ovvv, (0, 2, 1, 3)) * -1 + tmp617 += einsum(tmp616, (0, 1, 2, 3), t2.abab, (0, 4, 1, 5), (4, 3, 2, 5)) + del tmp616 + l2new.abab += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), tmp617, (5, 1, 6, 2), (6, 0, 4, 3)) + del tmp617 + tmp619 = np.copy(tmp570) * -1 + del tmp570 + tmp619 += tmp518 + del tmp518 + tmp619 += tmp522 * -1 + del tmp522 + tmp618 = np.copy(tmp1) * 2 + del tmp1 + tmp618 += tmp18 + del tmp18 + tmp619 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), tmp618, (6, 5, 7, 2), (4, 6, 3, 1, 7, 0)) + del tmp618 + tmp619 += tmp524 + del tmp524 + l2new.abab += einsum(t1.aa, (0, 1), tmp619, (2, 0, 3, 1, 4, 5), (4, 5, 2, 3)) * -1 + del tmp619 + tmp621 = np.copy(np.transpose(tmp576, (0, 2, 1, 3, 4, 5))) * -1 + del tmp576 + tmp621 += np.transpose(tmp580, (0, 2, 1, 3, 4, 5)) + del tmp580 + tmp621 += np.transpose(tmp581, (0, 2, 1, 3, 4, 5)) * -1 + del tmp581 + tmp621 += np.transpose(tmp620, (0, 2, 1, 3, 5, 4)) + del tmp620 + l2new.abab += einsum(tmp621, (0, 1, 2, 3, 4, 5), t1.bb, (1, 5), (3, 4, 0, 2)) * -1 + del tmp621 + tmp622 = np.copy(tmp186) + tmp622 += einsum(t1.bb, (0, 1), tmp121, (2, 3, 4, 1), (2, 3, 4, 0)) * 2 + l2new.abab += einsum(v.aabb.ovov, (0, 1, 2, 3), tmp622, (4, 0, 5, 2), (1, 3, 4, 5)) * 0.49999999999997996 + del tmp622 + l2new.abab += einsum(tmp160, (0, 1), tmp121, (2, 0, 3, 4), (1, 4, 2, 3)) * -1 + del tmp160, tmp121 + l2new.abab += einsum(tmp50, (0, 1, 2, 3), v.aabb.vvov, (4, 3, 2, 5), (4, 5, 0, 1)) * -1 + l2new.abab += einsum(v.aabb.ovov, (0, 1, 2, 3), tmp599, (4, 0, 5, 2, 6, 1), (6, 3, 4, 5)) * -1 + del tmp599 + l2new.abab += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), v.aabb.ovvv, (5, 2, 6, 1), (0, 6, 3, 4)) + tmp624 = np.copy(np.transpose(tmp334, (0, 1, 3, 2))) + del tmp334 + tmp623 = np.copy(v.bbbb.ovvv) + tmp623 += np.transpose(v.bbbb.ovvv, (0, 2, 1, 3)) * -1 + tmp624 += einsum(t2.bbbb, (0, 1, 2, 3), tmp623, (1, 4, 3, 5), (0, 2, 4, 5)) * -2 + del tmp623 + l2new.abab += einsum(tmp624, (0, 1, 2, 3), l3.babbab, (1, 4, 3, 5, 6, 0), (4, 2, 6, 5)) * -1 + del tmp624 + tmp626 = np.copy(np.transpose(tmp601, (0, 2, 1, 3, 5, 4))) * -1 + del tmp601 + tmp626 += np.transpose(tmp603, (0, 2, 1, 3, 4, 5)) * -1 + tmp626 += np.transpose(tmp603, (0, 2, 1, 3, 5, 4)) + del tmp603 + tmp626 += einsum(tmp251, (0, 1, 2, 3), tmp548, (4, 5, 0, 6, 7, 2), (4, 5, 1, 6, 7, 3)) * -2 + del tmp548, tmp251 + tmp625 = np.copy(np.transpose(l3.abaaba, (3, 5, 4, 0, 2, 1))) + tmp625 += np.transpose(tmp554, (1, 0, 2, 4, 3, 5)) + del tmp554 + tmp626 += einsum(v.aabb.ovov, (0, 1, 2, 3), tmp625, (0, 4, 5, 1, 6, 7), (4, 5, 2, 6, 7, 3)) * -1 + del tmp625 + tmp626 += np.transpose(tmp608, (0, 2, 1, 3, 5, 4)) * -1 + del tmp608 + l2new.abab += einsum(tmp626, (0, 1, 2, 3, 4, 5), t1.bb, (2, 4), (3, 5, 0, 1)) + del tmp626 + tmp627 = np.copy(np.transpose(tmp396, (0, 1, 2, 4, 3, 5))) * -1 + del tmp396 + tmp627 += np.transpose(tmp610, (0, 1, 2, 4, 3, 5)) + del tmp610 + l2new.abab += einsum(t1.aa, (0, 1), tmp627, (2, 0, 3, 1, 4, 5), (4, 5, 2, 3)) + del tmp627 + tmp628 = np.copy(tmp186) + del tmp186 + tmp628 += einsum(t1.aa, (0, 1), tmp50, (2, 3, 4, 1), (2, 0, 3, 4)) * 2 + l2new.abab += einsum(v.aabb.ovov, (0, 1, 2, 3), tmp628, (4, 0, 5, 2), (1, 3, 4, 5)) * 0.49999999999997996 + del tmp628 + l2new.abab += einsum(tmp50, (0, 1, 2, 3), tmp319, (2, 4), (3, 4, 0, 1)) * -1 + del tmp319, tmp50 + l2new.abab += einsum(tmp364, (0, 1), v.aabb.ovov, (2, 1, 3, 4), (0, 4, 2, 3)) * -1 + del tmp364 + l2new.abab += einsum(tmp629, (0, 1, 2, 3), l1.aa, (4, 0), (4, 3, 1, 2)) * -1 + l2new.abab += np.transpose(tmp102, (2, 3, 0, 1)) + del tmp102 + l2new.abab += np.transpose(tmp106, (2, 3, 0, 1)) + del tmp106 + l2new.abab += np.transpose(tmp105, (2, 3, 0, 1)) + del tmp105 + l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp631, (2, 4, 3, 5), (0, 1, 4, 5)) + del tmp631 + l2new.abab += einsum(tmp111, (0, 1, 2, 3, 4, 5), t1.bb, (2, 4), (3, 5, 0, 1)) * 2 + del tmp111 + l2new.abab += einsum(t1.aa, (0, 1), tmp76, (2, 0, 3, 1, 4, 5), (4, 5, 2, 3)) * 2 + l2new.abab += np.transpose(tmp98, (2, 3, 0, 1)) * -1 + del tmp98 + l2new.abab += einsum(v.aabb.oovv, (0, 1, 2, 3), l2.abab, (4, 3, 1, 5), (4, 2, 0, 5)) * -1 + l2new.abab += np.transpose(tmp101, (2, 3, 0, 1)) * -1 + del tmp101 + l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp182, (3, 4, 0, 5), (5, 1, 2, 4)) + del tmp182 + l2new.abab += einsum(tmp297, (0, 1, 2, 3), tmp532, (4, 0, 1, 5), (3, 5, 4, 2)) * 2 + del tmp297 + l2new.abab += einsum(tmp180, (0, 1, 2, 3), v.aabb.ovov, (1, 4, 5, 3), (4, 2, 0, 5)) * 2 + del tmp180 + l2new.abab += einsum(t1.aa, (0, 1), tmp76, (0, 2, 3, 4, 1, 5), (4, 5, 2, 3)) * 2 + del tmp76 + l2new.abab += einsum(v.aabb.ovov, (0, 1, 2, 3), tmp224, (4, 0), (1, 3, 4, 2)) * -1 + del tmp224 + l2new.abab += einsum(tmp103, (0, 1, 2, 3), l2.abab, (4, 2, 0, 5), (4, 3, 1, 5)) + del tmp103 + l2new.abab += einsum(tmp206, (0, 1, 2, 3), tmp629, (0, 4, 2, 5), (3, 5, 4, 1)) + del tmp629, tmp206 + l2new.abab += einsum(tmp43, (0, 1, 2, 3), v.aabb.ovov, (4, 3, 1, 5), (2, 5, 4, 0)) * 2 + del tmp43 + l2new.abab += np.transpose(tmp112, (2, 3, 0, 1)) * -1 + del tmp112 + l2new.abab += einsum(v.aabb.ovov, (0, 1, 2, 3), tmp632, (4, 2), (1, 3, 0, 4)) * -1 + del tmp632 + l2new.abab += einsum(tmp168, (0, 1, 2, 3), l2.abab, (2, 4, 0, 5), (3, 4, 1, 5)) * -2 + del tmp168 + l2new.abab += einsum(tmp167, (0, 1, 2, 3), l2.bbbb, (4, 3, 5, 1), (2, 4, 0, 5)) * -2 + del tmp167 + l2new.abab += einsum(l1.bb, (0, 1), tmp499, (2, 3), (3, 0, 2, 1)) * -1 + del tmp499 + tmp633 = np.copy(tmp259) + del tmp259 + tmp633 += tmp260 * 1.3333333333333335 + del tmp260 + tmp633 += tmp261 + del tmp261 + l2new.abab += einsum(tmp633, (0, 1, 2, 3), v.aaaa.ovov, (4, 2, 0, 5), (5, 3, 4, 1)) * -3 + del tmp633 + tmp634 = einsum(tmp16, (0, 1, 2, 3), v.aaaa.ovov, (4, 5, 6, 2), (4, 6, 0, 1, 5, 3)) * -1 + del tmp16 + l2new.abab += einsum(t1.aa, (0, 1), tmp634, (0, 2, 3, 1, 4, 5), (4, 5, 2, 3)) * -2 + del tmp634 + l2new.abab += einsum(tmp532, (0, 1, 2, 3), v.aaaa.ooov, (4, 0, 1, 5), (5, 3, 4, 2)) * 2 + del tmp532 + l2new.abab += einsum(tmp77, (0, 1, 2, 3), tmp212, (0, 1, 4, 5), (3, 5, 2, 4)) + del tmp77, tmp212 + l2new.abab += einsum(l2.aaaa, (0, 1, 2, 3), tmp327, (3, 4, 1, 5), (0, 5, 2, 4)) * -2 + del tmp327 + l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp328, (3, 4, 1, 5), (0, 5, 2, 4)) * -2 + del tmp328 + l2new.abab += einsum(tmp635, (0, 1), l1.aa, (2, 3), (2, 1, 3, 0)) * -1 + del tmp635 + tmp636 = np.copy(tmp37) * 0.7499999999999999 + del tmp37 + tmp636 += tmp38 + del tmp38 + tmp636 += tmp39 * 0.7499999999999999 + del tmp39 + l2new.abab += einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp636, (4, 2, 5, 1), (5, 3, 4, 0)) * -4 + del tmp636 + l2new.abab += einsum(tmp537, (0, 1, 2, 3, 4, 5), t1.bb, (2, 5), (3, 4, 0, 1)) * 2 + del tmp537 + l2new.abab += einsum(v.bbbb.ooov, (0, 1, 2, 3), tmp413, (4, 1, 2, 5), (5, 3, 4, 0)) * 2 + l2new.abab += einsum(tmp227, (0, 1, 2, 3), tmp413, (4, 0, 1, 5), (5, 3, 4, 2)) * 2 + del tmp227, tmp413 - # L amplitudes - l1new_bb = np.zeros((nvir[1], nocc[1]), dtype=types[float]) - l1new_bb += einsum(f.bb.ov, (0, 1), (1, 0)) - l1new_bb += einsum(l2.bbbb, (0, 1, 2, 3), v.bbbb.ovvv, (3, 0, 4, 1), (4, 2)) * -2.0 - l1new_aa = np.zeros((nvir[0], nocc[0]), dtype=types[float]) - l1new_aa += einsum(f.aa.ov, (0, 1), (1, 0)) - l2new_aaaa = np.zeros((nvir[0], nvir[0], nocc[0], nocc[0]), dtype=types[float]) - l2new_aaaa += einsum(l2.aaaa, (0, 1, 2, 3), v.aaaa.vvvv, (4, 1, 5, 0), (4, 5, 2, 3)) * -2.0 - l2new_abab = np.zeros((nvir[0], nvir[1], nocc[0], nocc[1]), dtype=types[float]) - l2new_abab += einsum(l1.aa, (0, 1), v.aabb.vvov, (2, 0, 3, 4), (2, 4, 1, 3)) - l2new_abab += einsum(v.aabb.ovov, (0, 1, 2, 3), (1, 3, 0, 2)) - l2new_abab += einsum(l1.bb, (0, 1), v.aabb.ovvv, (2, 3, 4, 0), (3, 4, 2, 1)) - l2new_abab += einsum(l2.abab, (0, 1, 2, 3), v.aabb.vvvv, (4, 0, 5, 1), (4, 5, 2, 3)) - l2new_bbbb = np.zeros((nvir[1], nvir[1], nocc[1], nocc[1]), dtype=types[float]) - l2new_bbbb += einsum(l2.bbbb, (0, 1, 2, 3), v.bbbb.vvvv, (4, 0, 5, 1), (4, 5, 2, 3)) * 2.0 - l3new_aaaaaa = np.zeros((nvir[0], nvir[0], nvir[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - l3new_aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (0, 5, 3, 1, 2, 4)) * -1.0 - l3new_aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (0, 3, 5, 1, 2, 4)) - l3new_aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (5, 0, 3, 1, 2, 4)) - l3new_aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (3, 0, 5, 1, 2, 4)) * -1.0 - l3new_aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (5, 3, 0, 1, 2, 4)) * -1.0 - l3new_aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (3, 5, 0, 1, 2, 4)) - l3new_aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (0, 5, 3, 2, 1, 4)) - l3new_aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (0, 3, 5, 2, 1, 4)) * -1.0 - l3new_aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (5, 0, 3, 2, 1, 4)) * -1.0 - l3new_aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (3, 0, 5, 2, 1, 4)) - l3new_aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (5, 3, 0, 2, 1, 4)) - l3new_aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (3, 5, 0, 2, 1, 4)) * -1.0 - l3new_aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (0, 5, 3, 2, 4, 1)) * -1.0 - l3new_aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (0, 3, 5, 2, 4, 1)) - l3new_aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (5, 0, 3, 2, 4, 1)) - l3new_aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (3, 0, 5, 2, 4, 1)) * -1.0 - l3new_aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (5, 3, 0, 2, 4, 1)) * -1.0 - l3new_aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (3, 5, 0, 2, 4, 1)) - l3new_babbab = np.zeros((nvir[1], nvir[0], nvir[1], nocc[1], nocc[0], nocc[1]), dtype=types[float]) - l3new_babbab += einsum(v.bbbb.vvvv, (0, 1, 2, 3), l3.babbab, (3, 4, 1, 5, 6, 7), (0, 4, 2, 5, 6, 7)) * -2.0 - l3new_abaaba = np.zeros((nvir[0], nvir[1], nvir[0], nocc[0], nocc[1], nocc[0]), dtype=types[float]) - l3new_abaaba += einsum(v.aaaa.vvvv, (0, 1, 2, 3), l3.abaaba, (1, 4, 3, 5, 6, 7), (0, 4, 2, 5, 6, 7)) * 2.0 - l3new_bbbbbb = np.zeros((nvir[1], nvir[1], nvir[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - l3new_bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (0, 5, 3, 1, 2, 4)) * -1.0 - l3new_bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (0, 3, 5, 1, 2, 4)) - l3new_bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (5, 0, 3, 1, 2, 4)) - l3new_bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (3, 0, 5, 1, 2, 4)) * -1.0 - l3new_bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (5, 3, 0, 1, 2, 4)) * -1.0 - l3new_bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (3, 5, 0, 1, 2, 4)) - l3new_bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (0, 5, 3, 2, 1, 4)) - l3new_bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (0, 3, 5, 2, 1, 4)) * -1.0 - l3new_bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (5, 0, 3, 2, 1, 4)) * -1.0 - l3new_bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (3, 0, 5, 2, 1, 4)) - l3new_bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (5, 3, 0, 2, 1, 4)) - l3new_bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (3, 5, 0, 2, 1, 4)) * -1.0 - l3new_bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (0, 5, 3, 2, 4, 1)) * -1.0 - l3new_bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (0, 3, 5, 2, 4, 1)) - l3new_bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (5, 0, 3, 2, 4, 1)) - l3new_bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (3, 0, 5, 2, 4, 1)) * -1.0 - l3new_bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (5, 3, 0, 2, 4, 1)) * -1.0 - l3new_bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (3, 5, 0, 2, 4, 1)) - x0 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x0 += einsum(t2.bbbb, (0, 1, 2, 3), l3.bbbbbb, (4, 5, 3, 6, 0, 1), (6, 4, 5, 2)) - l1new_bb += einsum(v.bbbb.vvvv, (0, 1, 2, 3), x0, (4, 3, 1, 2), (0, 4)) * -6.0 - x1 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x1 += einsum(t1.bb, (0, 1), l2.bbbb, (2, 1, 3, 4), (3, 4, 0, 2)) - x2 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x2 += einsum(t1.bb, (0, 1), x1, (2, 3, 4, 1), (3, 2, 4, 0)) - l1new_bb += einsum(v.bbbb.ooov, (0, 1, 2, 3), x2, (4, 1, 0, 2), (3, 4)) * -2.0 - x3 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x3 += einsum(t1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) - x4 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x4 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x4 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) - x4 += einsum(x3, (0, 1, 2, 3), (0, 1, 2, 3)) - x4 += einsum(x3, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x5 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x5 += einsum(t1.bb, (0, 1), v.aabb.ovov, (2, 3, 4, 1), (0, 4, 2, 3)) - l2new_abab += einsum(x1, (0, 1, 2, 3), x5, (1, 2, 4, 5), (5, 3, 4, 0)) * -2.0 - x6 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x6 += einsum(v.aabb.ovoo, (0, 1, 2, 3), (2, 3, 0, 1)) - x6 += einsum(x5, (0, 1, 2, 3), (0, 1, 2, 3)) - l2new_abab += einsum(l1.bb, (0, 1), x6, (1, 2, 3, 4), (4, 0, 3, 2)) * -1.0 - x7 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x7 += einsum(t1.aa, (0, 1), v.aabb.ovov, (2, 1, 3, 4), (3, 4, 0, 2)) - x8 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x8 += einsum(v.aabb.ooov, (0, 1, 2, 3), (2, 3, 0, 1)) - x8 += einsum(x7, (0, 1, 2, 3), (0, 1, 3, 2)) - x9 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x9 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 5), (1, 4, 3, 5)) - x10 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x10 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x10 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x11 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x11 += einsum(t2.bbbb, (0, 1, 2, 3), x10, (1, 4, 3, 5), (0, 4, 2, 5)) * 2.0 - x12 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x12 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x12 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) - x13 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x13 += einsum(t1.bb, (0, 1), x12, (2, 3, 1, 4), (0, 2, 3, 4)) - x14 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x14 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x14 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x14 += einsum(x9, (0, 1, 2, 3), (0, 1, 2, 3)) - x14 += einsum(x11, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x14 += einsum(x13, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x15 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x15 += einsum(t1.aa, (0, 1), v.aabb.vvov, (2, 1, 3, 4), (3, 4, 0, 2)) - l2new_abab += einsum(l2.aaaa, (0, 1, 2, 3), x15, (4, 5, 3, 1), (0, 5, 2, 4)) * 2.0 - x16 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x16 += einsum(t2.aaaa, (0, 1, 2, 3), v.aabb.ovov, (1, 3, 4, 5), (4, 5, 0, 2)) - x17 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x17 += einsum(t2.abab, (0, 1, 2, 3), x10, (1, 4, 3, 5), (4, 5, 0, 2)) - x18 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x18 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) - x18 += einsum(x15, (0, 1, 2, 3), (0, 1, 2, 3)) - x18 += einsum(x16, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x18 += einsum(x17, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x19 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x19 += einsum(t1.aa, (0, 1), v.aabb.ovov, (0, 1, 2, 3), (2, 3)) - x20 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x20 += einsum(t1.bb, (0, 1), x10, (0, 2, 1, 3), (2, 3)) - x21 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x21 += einsum(f.bb.ov, (0, 1), (0, 1)) - x21 += einsum(x19, (0, 1), (0, 1)) - x21 += einsum(x20, (0, 1), (0, 1)) * -1.0 - l2new_abab += einsum(l1.aa, (0, 1), x21, (2, 3), (0, 3, 1, 2)) - l3new_babbab += einsum(x21, (0, 1), l2.abab, (2, 3, 4, 5), (1, 2, 3, 0, 4, 5)) - l3new_babbab += einsum(x21, (0, 1), l2.abab, (2, 3, 4, 5), (3, 2, 1, 5, 4, 0)) - l3new_babbab += einsum(x21, (0, 1), l2.abab, (2, 3, 4, 5), (3, 2, 1, 0, 4, 5)) * -1.0 - l3new_babbab += einsum(x21, (0, 1), l2.abab, (2, 3, 4, 5), (1, 2, 3, 5, 4, 0)) * -1.0 - l3new_abaaba += einsum(x21, (0, 1), l2.aaaa, (2, 3, 4, 5), (2, 1, 3, 4, 0, 5)) * 2.0 - l3new_bbbbbb += einsum(x21, (0, 1), l2.bbbb, (2, 3, 4, 5), (2, 3, 1, 4, 5, 0)) * 2.0 - l3new_bbbbbb += einsum(x21, (0, 1), l2.bbbb, (2, 3, 4, 5), (2, 3, 1, 0, 4, 5)) * 2.0 - l3new_bbbbbb += einsum(x21, (0, 1), l2.bbbb, (2, 3, 4, 5), (2, 1, 3, 4, 0, 5)) * 2.0 - l3new_bbbbbb += einsum(x21, (0, 1), l2.bbbb, (2, 3, 4, 5), (1, 2, 3, 4, 5, 0)) * 2.0 - l3new_bbbbbb += einsum(x21, (0, 1), l2.bbbb, (2, 3, 4, 5), (1, 2, 3, 0, 4, 5)) * 2.0 - l3new_bbbbbb += einsum(x21, (0, 1), l2.bbbb, (2, 3, 4, 5), (2, 3, 1, 4, 0, 5)) * -2.0 - l3new_bbbbbb += einsum(x21, (0, 1), l2.bbbb, (2, 3, 4, 5), (2, 1, 3, 4, 5, 0)) * -2.0 - l3new_bbbbbb += einsum(x21, (0, 1), l2.bbbb, (2, 3, 4, 5), (2, 1, 3, 0, 4, 5)) * -2.0 - l3new_bbbbbb += einsum(x21, (0, 1), l2.bbbb, (2, 3, 4, 5), (1, 2, 3, 4, 0, 5)) * -2.0 - x22 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x22 += einsum(t1.bb, (0, 1), v.aabb.vvov, (2, 3, 4, 1), (0, 4, 2, 3)) - x23 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x23 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 4, 5, 3), (1, 5, 2, 4)) - x24 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x24 += einsum(v.aabb.vvoo, (0, 1, 2, 3), (2, 3, 0, 1)) - x24 += einsum(x22, (0, 1, 2, 3), (0, 1, 3, 2)) - x24 += einsum(x23, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x25 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x25 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 2, 5, 3), (0, 1, 4, 5)) - x26 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x26 += einsum(t1.bb, (0, 1), x3, (2, 3, 4, 1), (0, 2, 3, 4)) - x27 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x27 += einsum(t1.bb, (0, 1), v.bbbb.ooov, (2, 3, 4, 1), (0, 2, 3, 4)) - x28 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x28 += einsum(v.bbbb.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x28 += einsum(x25, (0, 1, 2, 3), (3, 1, 2, 0)) - x28 += einsum(x26, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - x28 += einsum(x27, (0, 1, 2, 3), (2, 0, 3, 1)) * -1.0 - x28 += einsum(x27, (0, 1, 2, 3), (3, 0, 2, 1)) - x29 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x29 += einsum(t1.aa, (0, 1), v.aabb.ovoo, (2, 1, 3, 4), (3, 4, 0, 2)) - x30 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x30 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 5, 3), (1, 5, 0, 4)) - x31 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x31 += einsum(v.aabb.ooov, (0, 1, 2, 3), (2, 3, 0, 1)) - x31 += einsum(x7, (0, 1, 2, 3), (0, 1, 2, 3)) - l2new_abab += einsum(l1.aa, (0, 1), x31, (2, 3, 1, 4), (0, 3, 4, 2)) * -1.0 - x32 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x32 += einsum(t1.bb, (0, 1), x31, (2, 1, 3, 4), (0, 2, 3, 4)) - x33 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x33 += einsum(v.aabb.oooo, (0, 1, 2, 3), (2, 3, 0, 1)) - x33 += einsum(x29, (0, 1, 2, 3), (1, 0, 3, 2)) - x33 += einsum(x30, (0, 1, 2, 3), (0, 1, 3, 2)) - x33 += einsum(x32, (0, 1, 2, 3), (0, 1, 3, 2)) - x34 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x34 += einsum(v.bbbb.ovov, (0, 1, 2, 3), t3.babbab, (4, 5, 6, 3, 7, 1), (4, 6, 0, 2, 5, 7)) * -1.0 - l2new_bbbb += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), x34, (3, 5, 6, 7, 4, 1), (0, 2, 6, 7)) * 1.9999999999999203 - x35 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x35 += einsum(t2.abab, (0, 1, 2, 3), v.bbbb.ooov, (4, 5, 6, 3), (1, 4, 5, 6, 0, 2)) - x36 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x36 += einsum(t2.abab, (0, 1, 2, 3), x3, (4, 5, 6, 3), (4, 1, 6, 5, 0, 2)) - x37 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x37 += einsum(x34, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -0.9999999999999601 - del x34 - x37 += einsum(x35, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) - x37 += einsum(x35, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) * -1.0 - del x35 - x37 += einsum(x36, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - x37 += einsum(x36, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 - del x36 - x38 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x38 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.babbab, (4, 5, 6, 7, 1, 3), (4, 6, 2, 7, 5, 0)) - l2new_abab += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), x38, (5, 3, 6, 2, 4, 7), (1, 0, 7, 6)) * 1.9999999999999194 - x39 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x39 += einsum(v.aabb.ovoo, (0, 1, 2, 3), (2, 3, 0, 1)) - x39 += einsum(x5, (0, 1, 2, 3), (1, 0, 2, 3)) - x40 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x40 += einsum(t2.abab, (0, 1, 2, 3), x39, (4, 5, 6, 2), (1, 4, 5, 3, 0, 6)) - x41 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x41 += einsum(x38, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 0.9999999999999597 - x41 += einsum(t2.bbbb, (0, 1, 2, 3), x31, (4, 3, 5, 6), (0, 1, 4, 2, 6, 5)) - x41 += einsum(x40, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) * -1.0 - x42 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x42 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), t3.babbab, (4, 5, 6, 3, 7, 1), (0, 4, 6, 2, 5, 7)) * -0.9999999999999601 - x42 += einsum(v.aabb.vvov, (0, 1, 2, 3), t3.babbab, (4, 5, 6, 7, 1, 3), (2, 4, 6, 7, 5, 0)) * -0.9999999999999597 - x42 += einsum(x4, (0, 1, 2, 3), t3.babbab, (4, 5, 1, 6, 7, 3), (2, 4, 0, 6, 5, 7)) * -2.0 - x42 += einsum(x6, (0, 1, 2, 3), t3.abaaba, (4, 5, 2, 6, 7, 3), (1, 5, 0, 7, 4, 6)) * -2.0 - x42 += einsum(x8, (0, 1, 2, 3), t3.babbab, (4, 2, 5, 6, 7, 1), (0, 4, 5, 6, 3, 7)) - x42 += einsum(t2.abab, (0, 1, 2, 3), x14, (4, 5, 6, 3), (5, 1, 4, 6, 0, 2)) - x42 += einsum(t2.bbbb, (0, 1, 2, 3), x18, (4, 3, 5, 6), (4, 0, 1, 2, 5, 6)) * -1.0 - x42 += einsum(x21, (0, 1), t3.babbab, (2, 3, 4, 5, 6, 1), (0, 2, 4, 5, 3, 6)) * -0.9999999999999597 - x42 += einsum(t2.abab, (0, 1, 2, 3), x24, (4, 5, 2, 6), (5, 1, 4, 3, 0, 6)) * -1.0 - x42 += einsum(t2.abab, (0, 1, 2, 3), x28, (1, 4, 5, 6), (5, 6, 4, 3, 0, 2)) * -1.0 - x42 += einsum(t2.abab, (0, 1, 2, 3), x33, (4, 5, 0, 6), (5, 1, 4, 3, 6, 2)) - x42 += einsum(t1.bb, (0, 1), x37, (2, 3, 4, 0, 5, 6), (4, 3, 2, 1, 5, 6)) - del x37 - x42 += einsum(t1.aa, (0, 1), x41, (2, 3, 4, 5, 0, 6), (4, 3, 2, 5, 6, 1)) * -1.0 - del x41 - l1new_bb += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), x42, (6, 3, 5, 2, 4, 1), (0, 6)) * -2.0 - del x42 - x43 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x43 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x43 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x43 += einsum(x3, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x43 += einsum(x3, (0, 1, 2, 3), (0, 2, 1, 3)) - x44 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x44 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.abaaba, (4, 5, 6, 7, 3, 1), (5, 2, 4, 6, 0, 7)) - l2new_abab += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), x44, (4, 6, 5, 3, 7, 2), (0, 1, 7, 6)) * 1.9999999999999194 - x45 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x45 += einsum(t2.aaaa, (0, 1, 2, 3), x39, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) * -1.0 - x46 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x46 += einsum(x44, (0, 1, 2, 3, 4, 5), (0, 1, 3, 4, 2, 5)) * 0.9999999999999597 - x46 += einsum(t2.abab, (0, 1, 2, 3), x31, (4, 3, 5, 6), (1, 4, 0, 6, 5, 2)) * -1.0 - x46 += einsum(x45, (0, 1, 2, 3, 4, 5), (1, 0, 3, 4, 2, 5)) * -1.0 - x47 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x47 += einsum(v.aabb.vvov, (0, 1, 2, 3), t3.abaaba, (4, 5, 6, 7, 3, 1), (2, 5, 4, 6, 7, 0)) * -1.9999999999999194 - x47 += einsum(x43, (0, 1, 2, 3), t3.abaaba, (4, 2, 5, 6, 3, 7), (1, 0, 4, 5, 6, 7)) * -1.0 - x47 += einsum(x6, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 2, 6, 7, 3), (1, 0, 4, 5, 6, 7)) * -3.0 - x47 += einsum(x8, (0, 1, 2, 3), t3.abaaba, (4, 5, 2, 6, 1, 7), (0, 5, 4, 3, 6, 7)) * 2.0 - x47 += einsum(t2.abab, (0, 1, 2, 3), x18, (4, 3, 5, 6), (4, 1, 0, 5, 2, 6)) * -2.0 - del x18 - x47 += einsum(x21, (0, 1), t3.abaaba, (2, 3, 4, 5, 1, 6), (0, 3, 2, 4, 5, 6)) * -0.9999999999999601 - x47 += einsum(t2.aaaa, (0, 1, 2, 3), x24, (4, 5, 3, 6), (5, 4, 0, 1, 2, 6)) * -2.0 - del x24 - x47 += einsum(t2.aaaa, (0, 1, 2, 3), x33, (4, 5, 1, 6), (5, 4, 0, 6, 2, 3)) * 2.0 - del x33 - x47 += einsum(t1.aa, (0, 1), x46, (2, 3, 4, 0, 5, 6), (3, 2, 4, 5, 6, 1)) * -2.0 - del x46 - l1new_bb += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), x47, (6, 4, 3, 5, 0, 2), (1, 6)) - del x47 - x48 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x48 += einsum(v.bbbb.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x48 += einsum(x25, (0, 1, 2, 3), (3, 1, 2, 0)) - x48 += einsum(x26, (0, 1, 2, 3), (3, 1, 2, 0)) - x48 += einsum(x27, (0, 1, 2, 3), (2, 1, 3, 0)) - x48 += einsum(x27, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 - x49 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x49 += einsum(v.bbbb.ovov, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 6, 7, 3, 1), (4, 5, 6, 0, 2, 7)) * -1.0 - l2new_bbbb += einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), x49, (5, 4, 3, 6, 7, 2), (0, 1, 6, 7)) * -5.9999999999997575 - x50 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x50 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ooov, (4, 5, 6, 3), (0, 1, 4, 5, 6, 2)) - x51 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x51 += einsum(t2.bbbb, (0, 1, 2, 3), x3, (4, 5, 6, 3), (4, 0, 1, 6, 5, 2)) - x52 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x52 += einsum(x49, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -0.9999999999999596 - del x49 - x52 += einsum(x50, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 - x52 += einsum(x50, (0, 1, 2, 3, 4, 5), (0, 1, 3, 4, 2, 5)) - del x50 - x52 += einsum(x51, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) * -1.0 - x52 += einsum(x51, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) - del x51 - x53 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x53 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 6, 7, 1, 3), (0, 4, 5, 6, 7, 2)) * -0.9999999999999596 - x53 += einsum(x43, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 2, 6, 7, 3), (1, 4, 0, 5, 6, 7)) * -1.5 - del x43 - x53 += einsum(x6, (0, 1, 2, 3), t3.babbab, (4, 2, 5, 6, 3, 7), (1, 4, 0, 5, 6, 7)) * -0.5 - x53 += einsum(t2.bbbb, (0, 1, 2, 3), x14, (4, 5, 6, 3), (5, 0, 4, 1, 2, 6)) - del x14 - x53 += einsum(x21, (0, 1), t3.bbbbbb, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) * 0.4999999999999798 - x53 += einsum(t2.bbbb, (0, 1, 2, 3), x48, (1, 4, 5, 6), (5, 0, 6, 4, 2, 3)) - x53 += einsum(t1.bb, (0, 1), x52, (2, 3, 4, 5, 0, 6), (5, 3, 4, 2, 6, 1)) - del x52 - l1new_bb += einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), x53, (6, 3, 5, 4, 2, 1), (0, 6)) * -6.0 - del x53 - x54 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x54 += einsum(l2.bbbb, (0, 1, 2, 3), t2.abab, (4, 3, 5, 1), (2, 0, 4, 5)) - x55 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x55 += einsum(l2.abab, (0, 1, 2, 3), t2.aaaa, (4, 2, 5, 0), (3, 1, 4, 5)) - x56 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x56 += einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), t3.babbab, (4, 6, 5, 1, 7, 2), (3, 0, 6, 7)) - x57 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x57 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.abaaba, (6, 5, 4, 7, 2, 1), (3, 0, 6, 7)) - x58 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x58 += einsum(t1.aa, (0, 1), l3.babbab, (2, 1, 3, 4, 5, 6), (4, 6, 2, 3, 5, 0)) - x59 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x59 += einsum(t2.abab, (0, 1, 2, 3), x58, (4, 1, 5, 3, 0, 6), (4, 5, 6, 2)) - x60 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x60 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.aaaaaa, (6, 3, 5, 7, 0, 2), (4, 1, 6, 7)) - x61 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x61 += einsum(t1.aa, (0, 1), l3.abaaba, (2, 3, 1, 4, 5, 6), (5, 3, 4, 6, 0, 2)) - x62 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x62 += einsum(t2.aaaa, (0, 1, 2, 3), x61, (4, 5, 0, 1, 6, 3), (4, 5, 6, 2)) * -1.0 - x63 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x63 += einsum(t1.aa, (0, 1), l2.abab, (1, 2, 3, 4), (4, 2, 3, 0)) - l2new_abab += einsum(x5, (0, 1, 2, 3), x63, (0, 4, 5, 2), (3, 4, 5, 1)) - x64 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x64 += einsum(t2.abab, (0, 1, 2, 3), l3.babbab, (4, 2, 3, 5, 6, 1), (5, 4, 6, 0)) - x65 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x65 += einsum(t2.aaaa, (0, 1, 2, 3), l3.abaaba, (2, 4, 3, 5, 6, 1), (6, 4, 5, 0)) - x66 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x66 += einsum(x63, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - x66 += einsum(x64, (0, 1, 2, 3), (0, 1, 2, 3)) - x66 += einsum(x65, (0, 1, 2, 3), (0, 1, 2, 3)) - l2new_abab += einsum(v.aabb.ovvv, (0, 1, 2, 3), x66, (4, 3, 5, 0), (1, 2, 5, 4)) * -2.0 - l2new_abab += einsum(v.aabb.ovoo, (0, 1, 2, 3), x66, (3, 4, 5, 0), (1, 4, 5, 2)) * 2.0 - x67 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x67 += einsum(l2.abab, (0, 1, 2, 3), (3, 1, 2, 0)) - x67 += einsum(x54, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x67 += einsum(x55, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x67 += einsum(x56, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0 - x67 += einsum(x57, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.0 - x67 += einsum(x59, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - x67 += einsum(x60, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0 - x67 += einsum(x62, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - x67 += einsum(t1.aa, (0, 1), x66, (2, 3, 0, 4), (2, 3, 4, 1)) * -2.0 - l1new_bb += einsum(v.aabb.ovvv, (0, 1, 2, 3), x67, (4, 3, 0, 1), (2, 4)) - del x67 - x68 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x68 += einsum(t2.abab, (0, 1, 2, 3), l3.babbab, (4, 5, 3, 6, 0, 1), (6, 4, 5, 2)) - x69 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x69 += einsum(t2.aaaa, (0, 1, 2, 3), l3.abaaba, (4, 5, 3, 0, 6, 1), (6, 5, 4, 2)) - x70 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x70 += einsum(t1.aa, (0, 1), l2.abab, (2, 3, 0, 4), (4, 3, 2, 1)) * 0.5 - x70 += einsum(x68, (0, 1, 2, 3), (0, 1, 2, 3)) - x70 += einsum(x69, (0, 1, 2, 3), (0, 1, 2, 3)) - l1new_bb += einsum(v.aabb.vvvv, (0, 1, 2, 3), x70, (4, 3, 0, 1), (2, 4)) * 2.0 - del x70 - x71 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x71 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x71 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) - x72 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x72 += einsum(t1.bb, (0, 1), l3.bbbbbb, (2, 3, 1, 4, 5, 6), (4, 5, 6, 0, 2, 3)) - l3new_babbab += einsum(v.aabb.ovoo, (0, 1, 2, 3), x72, (4, 2, 5, 3, 6, 7), (6, 1, 7, 5, 0, 4)) * -6.0 - l3new_babbab += einsum(x5, (0, 1, 2, 3), x72, (0, 4, 5, 1, 6, 7), (7, 3, 6, 4, 2, 5)) * 6.0 - x73 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x73 += einsum(t2.bbbb, (0, 1, 2, 3), x72, (0, 4, 1, 5, 6, 3), (4, 5, 6, 2)) - x74 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x74 += einsum(t1.bb, (0, 1), l3.babbab, (2, 3, 1, 4, 5, 6), (4, 6, 0, 2, 5, 3)) - l2new_abab += einsum(x22, (0, 1, 2, 3), x74, (0, 4, 1, 5, 6, 3), (2, 5, 6, 4)) * 2.0 - x75 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x75 += einsum(t2.abab, (0, 1, 2, 3), x74, (4, 1, 5, 6, 0, 2), (4, 5, 6, 3)) - x76 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x76 += einsum(t2.bbbb, (0, 1, 2, 3), l3.bbbbbb, (4, 2, 3, 5, 6, 1), (5, 6, 0, 4)) - x77 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x77 += einsum(t2.abab, (0, 1, 2, 3), l3.babbab, (4, 2, 3, 5, 0, 6), (5, 6, 1, 4)) - x78 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x78 += einsum(x1, (0, 1, 2, 3), (1, 0, 2, 3)) - x78 += einsum(x76, (0, 1, 2, 3), (0, 1, 2, 3)) * -3.0 - x78 += einsum(x77, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - l1new_bb += einsum(v.bbbb.oovv, (0, 1, 2, 3), x78, (0, 4, 1, 3), (2, 4)) * -2.0 - x79 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x79 += einsum(x73, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0 - x79 += einsum(x75, (0, 1, 2, 3), (0, 1, 2, 3)) - x79 += einsum(t1.bb, (0, 1), x78, (0, 2, 3, 4), (2, 3, 4, 1)) - l1new_bb += einsum(x71, (0, 1, 2, 3), x79, (4, 0, 2, 1), (3, 4)) * 2.0 - del x79 - x80 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x80 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) - x80 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x81 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x81 += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 3, 5, 1), (2, 4, 0, 5)) - x82 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x82 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 5), (3, 4, 1, 5)) - x83 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x83 += einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), t3.bbbbbb, (6, 4, 5, 7, 1, 2), (3, 6, 0, 7)) - x84 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x84 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (6, 4, 5, 7, 1, 2), (3, 6, 0, 7)) - x85 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x85 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (3, 6, 5, 0, 7, 2), (4, 6, 1, 7)) - x86 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x86 += einsum(x81, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.0 - x86 += einsum(x82, (0, 1, 2, 3), (0, 1, 2, 3)) - x86 += einsum(x83, (0, 1, 2, 3), (0, 1, 2, 3)) * 9.0 - x86 += einsum(x84, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.0 - x86 += einsum(x85, (0, 1, 2, 3), (0, 1, 2, 3)) - l1new_bb += einsum(x80, (0, 1, 2, 3), x86, (4, 0, 2, 1), (3, 4)) - del x86 - x87 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x87 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 5, 1), (3, 4, 0, 5)) - x88 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x88 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (6, 4, 5, 0, 7, 2), (3, 6, 1, 7)) - x89 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x89 += einsum(t2.abab, (0, 1, 2, 3), x74, (4, 1, 5, 3, 0, 6), (4, 5, 6, 2)) * -1.0 - x90 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x90 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (3, 6, 5, 7, 1, 2), (4, 6, 0, 7)) - x91 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x91 += einsum(t1.bb, (0, 1), l3.abaaba, (2, 1, 3, 4, 5, 6), (5, 0, 4, 6, 2, 3)) - l3new_abaaba += einsum(x21, (0, 1), x91, (2, 0, 3, 4, 5, 6), (5, 1, 6, 4, 2, 3)) * 2.0 - x92 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x92 += einsum(t2.aaaa, (0, 1, 2, 3), x91, (4, 5, 0, 1, 3, 6), (4, 5, 6, 2)) * -1.0 - x93 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x93 += einsum(t1.bb, (0, 1), l2.abab, (2, 1, 3, 4), (4, 0, 3, 2)) - l2new_abab += einsum(x7, (0, 1, 2, 3), x93, (4, 0, 2, 5), (5, 1, 3, 4)) - x94 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x94 += einsum(t2.bbbb, (0, 1, 2, 3), l3.babbab, (2, 4, 3, 5, 6, 1), (5, 0, 6, 4)) - x95 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x95 += einsum(t2.abab, (0, 1, 2, 3), l3.abaaba, (4, 3, 2, 5, 6, 0), (6, 1, 5, 4)) - x96 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x96 += einsum(x93, (0, 1, 2, 3), (0, 1, 2, 3)) - x96 += einsum(x94, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x96 += einsum(x95, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x97 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x97 += einsum(x87, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - x97 += einsum(x88, (0, 1, 2, 3), (0, 1, 2, 3)) - x97 += einsum(x89, (0, 1, 2, 3), (0, 1, 3, 2)) - x97 += einsum(x90, (0, 1, 2, 3), (0, 1, 2, 3)) - x97 += einsum(x92, (0, 1, 2, 3), (0, 1, 3, 2)) - x97 += einsum(t1.aa, (0, 1), x96, (2, 3, 0, 4), (2, 3, 1, 4)) * 0.5 - l1new_bb += einsum(v.aabb.vvov, (0, 1, 2, 3), x97, (4, 2, 1, 0), (3, 4)) * -2.0 - del x97 - x98 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x98 += einsum(t1.bb, (0, 1), x58, (2, 3, 4, 1, 5, 6), (2, 3, 0, 4, 5, 6)) - x99 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x99 += einsum(t1.bb, (0, 1), x61, (2, 1, 3, 4, 5, 6), (2, 0, 3, 4, 5, 6)) - x100 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x100 += einsum(x68, (0, 1, 2, 3), (0, 1, 2, 3)) - del x68 - x100 += einsum(x69, (0, 1, 2, 3), (0, 1, 2, 3)) - del x69 - l2new_abab += einsum(v.aabb.ovvv, (0, 1, 2, 3), x100, (4, 3, 5, 1), (5, 2, 0, 4)) * -2.0 - l2new_abab += einsum(x100, (0, 1, 2, 3), x6, (0, 4, 5, 3), (2, 1, 5, 4)) * 2.0 - x101 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x101 += einsum(x63, (0, 1, 2, 3), (0, 1, 2, 3)) - x101 += einsum(x64, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x101 += einsum(x65, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - l1new_bb += einsum(v.aabb.oovv, (0, 1, 2, 3), x101, (4, 3, 0, 1), (2, 4)) * -1.0 - x102 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x102 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 5, 0, 1), (3, 5, 2, 4)) - x103 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x103 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (6, 7, 5, 0, 1, 2), (3, 6, 4, 7)) - x104 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x104 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (6, 7, 5, 0, 1, 2), (4, 7, 3, 6)) - x105 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x105 += einsum(t1.bb, (0, 1), x101, (2, 1, 3, 4), (0, 2, 3, 4)) - x106 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x106 += einsum(x94, (0, 1, 2, 3), (0, 1, 2, 3)) - x106 += einsum(x95, (0, 1, 2, 3), (0, 1, 2, 3)) - x107 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x107 += einsum(t1.aa, (0, 1), x106, (2, 3, 4, 1), (2, 3, 0, 4)) * 2.0 - x108 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x108 += einsum(x102, (0, 1, 2, 3), (0, 1, 2, 3)) - x108 += einsum(x103, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.9999999999999194 - x108 += einsum(x104, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.9999999999999194 - x108 += einsum(x105, (0, 1, 2, 3), (1, 0, 2, 3)) - x108 += einsum(x107, (0, 1, 2, 3), (0, 1, 3, 2)) - l2new_abab += einsum(v.aabb.ovov, (0, 1, 2, 3), x108, (4, 2, 5, 0), (1, 3, 5, 4)) - x109 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x109 += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 3, 0, 1), (2, 4)) - x110 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x110 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 1), (3, 4)) - x111 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x111 += einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), t3.bbbbbb, (6, 4, 5, 0, 1, 2), (3, 6)) - x112 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x112 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (6, 4, 5, 0, 1, 2), (3, 6)) - x113 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x113 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (3, 6, 5, 0, 1, 2), (4, 6)) - x114 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x114 += einsum(x109, (0, 1), (0, 1)) - x114 += einsum(x110, (0, 1), (0, 1)) * 0.5 - x114 += einsum(x111, (0, 1), (0, 1)) * 1.4999999999999394 - x114 += einsum(x112, (0, 1), (0, 1)) * 0.9999999999999597 - x114 += einsum(x113, (0, 1), (0, 1)) * 0.49999999999998007 - x115 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x115 += einsum(l1.bb, (0, 1), t2.abab, (2, 3, 4, 0), (1, 3, 2, 4)) - x115 += einsum(x93, (0, 1, 2, 3), (0, 1, 2, 3)) - x115 += einsum(l2.bbbb, (0, 1, 2, 3), t3.babbab, (4, 5, 3, 0, 6, 1), (2, 4, 5, 6)) * 2.0 - x115 += einsum(x94, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x115 += einsum(l2.abab, (0, 1, 2, 3), t3.abaaba, (4, 5, 2, 6, 1, 0), (3, 5, 4, 6)) * 2.0 - x115 += einsum(x95, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x115 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x72, (6, 0, 2, 7, 5, 3), (6, 7, 1, 4)) * -3.0 - x115 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x74, (6, 1, 7, 4, 2, 5), (6, 7, 0, 3)) * -4.0 - x115 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x58, (6, 2, 5, 3, 1, 7), (6, 0, 7, 4)) * 2.0 - x115 += einsum(t2.abab, (0, 1, 2, 3), x98, (4, 1, 5, 3, 0, 6), (4, 5, 6, 2)) * 2.0 - x115 += einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), x91, (6, 7, 2, 1, 5, 4), (6, 7, 0, 3)) * 3.0 - x115 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x61, (6, 4, 2, 0, 7, 5), (6, 1, 7, 3)) * -2.0 - x115 += einsum(t2.aaaa, (0, 1, 2, 3), x99, (4, 5, 1, 0, 6, 3), (4, 5, 6, 2)) * -2.0 - x115 += einsum(t2.abab, (0, 1, 2, 3), x100, (4, 3, 2, 5), (4, 1, 0, 5)) * -2.0 - x115 += einsum(t2.abab, (0, 1, 2, 3), x78, (1, 4, 5, 3), (4, 5, 0, 2)) * -2.0 - x115 += einsum(t2.aaaa, (0, 1, 2, 3), x96, (4, 5, 1, 3), (4, 5, 0, 2)) * 2.0 - x115 += einsum(t2.abab, (0, 1, 2, 3), x101, (4, 3, 0, 5), (4, 1, 5, 2)) * -1.0 - x115 += einsum(t1.aa, (0, 1), x108, (2, 3, 0, 4), (2, 3, 4, 1)) * -1.0 - x115 += einsum(t1.aa, (0, 1), x114, (2, 3), (2, 3, 0, 1)) * 2.0 - l1new_bb += einsum(v.aabb.ovov, (0, 1, 2, 3), x115, (4, 2, 0, 1), (3, 4)) * -1.0 - del x115 - x116 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x116 += einsum(t2.abab, (0, 1, 2, 3), l3.babbab, (4, 2, 5, 6, 0, 1), (6, 4, 5, 3)) - x117 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x117 += einsum(t1.bb, (0, 1), l2.bbbb, (2, 3, 4, 0), (4, 2, 3, 1)) - x117 += einsum(x116, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - l1new_bb += einsum(v.bbbb.vvvv, (0, 1, 2, 3), x117, (4, 1, 2, 3), (0, 4)) * 2.0 - del x117 - x118 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x118 += einsum(t1.aa, (0, 1), v.aabb.vvoo, (2, 1, 3, 4), (3, 4, 0, 2)) - x119 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x119 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.vvov, (4, 2, 5, 3), (1, 5, 0, 4)) - x120 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x120 += einsum(v.bbbb.ovov, (0, 1, 2, 3), t3.babbab, (4, 5, 2, 1, 6, 3), (4, 0, 5, 6)) - x121 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x121 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.abaaba, (4, 5, 0, 6, 3, 1), (5, 2, 4, 6)) - x122 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x122 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x122 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) - x122 += einsum(x3, (0, 1, 2, 3), (1, 0, 2, 3)) - x122 += einsum(x3, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - x123 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x123 += einsum(t2.abab, (0, 1, 2, 3), x122, (4, 5, 1, 3), (4, 5, 0, 2)) - x124 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x124 += einsum(t2.aaaa, (0, 1, 2, 3), x39, (4, 5, 1, 3), (4, 5, 0, 2)) * 2.0 - x125 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x125 += einsum(t2.abab, (0, 1, 2, 3), x8, (4, 3, 0, 5), (1, 4, 5, 2)) - x126 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x126 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) - x126 += einsum(x15, (0, 1, 2, 3), (0, 1, 2, 3)) - x127 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x127 += einsum(t1.bb, (0, 1), x126, (2, 1, 3, 4), (0, 2, 3, 4)) - x128 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x128 += einsum(v.aabb.oooo, (0, 1, 2, 3), (2, 3, 0, 1)) - x128 += einsum(x29, (0, 1, 2, 3), (1, 0, 3, 2)) - x128 += einsum(x30, (0, 1, 2, 3), (1, 0, 3, 2)) - x128 += einsum(x32, (0, 1, 2, 3), (1, 0, 3, 2)) - del x32 - x129 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x129 += einsum(t1.aa, (0, 1), x128, (2, 3, 0, 4), (2, 3, 4, 1)) - x130 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x130 += einsum(v.aabb.ovoo, (0, 1, 2, 3), (2, 3, 0, 1)) - x130 += einsum(x118, (0, 1, 2, 3), (1, 0, 2, 3)) - x130 += einsum(x119, (0, 1, 2, 3), (0, 1, 2, 3)) - x130 += einsum(x120, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x130 += einsum(x121, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x130 += einsum(x123, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x130 += einsum(x124, (0, 1, 2, 3), (1, 0, 2, 3)) - x130 += einsum(x125, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x130 += einsum(x21, (0, 1), t2.abab, (2, 3, 4, 1), (3, 0, 2, 4)) - x130 += einsum(x127, (0, 1, 2, 3), (0, 1, 2, 3)) - x130 += einsum(x129, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - l1new_bb += einsum(l2.abab, (0, 1, 2, 3), x130, (3, 4, 2, 0), (1, 4)) * -1.0 - del x130 - x131 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x131 += einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), x72, (6, 2, 1, 7, 4, 5), (6, 7, 0, 3)) * -1.0 - x132 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x132 += einsum(t1.bb, (0, 1), x72, (2, 3, 4, 5, 6, 1), (2, 3, 4, 0, 5, 6)) - x133 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x133 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x74, (6, 2, 7, 5, 1, 4), (6, 7, 0, 3)) * -1.0 - x134 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x134 += einsum(t1.bb, (0, 1), x74, (2, 3, 4, 1, 5, 6), (2, 3, 0, 4, 5, 6)) - x135 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x135 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x91, (6, 7, 0, 2, 3, 5), (6, 7, 1, 4)) - x136 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x136 += einsum(x0, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x136 += einsum(x116, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.3333333333333333 - x137 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x137 += einsum(x1, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x137 += einsum(x76, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0 - x137 += einsum(x77, (0, 1, 2, 3), (0, 1, 2, 3)) - l2new_abab += einsum(v.aabb.ovoo, (0, 1, 2, 3), x137, (2, 4, 3, 5), (1, 5, 0, 4)) * 2.0 - x138 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x138 += einsum(t2.bbbb, (0, 1, 2, 3), x137, (4, 1, 5, 3), (0, 4, 5, 2)) * 4.0 - x139 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x139 += einsum(x93, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - x139 += einsum(x94, (0, 1, 2, 3), (0, 1, 2, 3)) - del x94 - x139 += einsum(x95, (0, 1, 2, 3), (0, 1, 2, 3)) - del x95 - l1new_aa += einsum(v.aabb.vvoo, (0, 1, 2, 3), x139, (2, 3, 4, 1), (0, 4)) * -2.0 - l2new_abab += einsum(v.aabb.vvov, (0, 1, 2, 3), x139, (4, 2, 5, 1), (0, 3, 5, 4)) * -2.0 - l2new_abab += einsum(v.aabb.ooov, (0, 1, 2, 3), x139, (4, 2, 1, 5), (5, 3, 0, 4)) * 2.0 - l2new_abab += einsum(x21, (0, 1), x139, (2, 0, 3, 4), (4, 1, 3, 2)) * -2.0 - x140 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x140 += einsum(t2.abab, (0, 1, 2, 3), x139, (4, 5, 0, 2), (1, 4, 5, 3)) * 2.0 - x141 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x141 += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 5, 0, 1), (2, 3, 4, 5)) - x142 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x142 += einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), t3.bbbbbb, (6, 7, 5, 0, 1, 2), (3, 4, 6, 7)) - x143 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x143 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (6, 4, 7, 0, 1, 2), (3, 5, 6, 7)) - l2new_bbbb += einsum(v.bbbb.ovov, (0, 1, 2, 3), x143, (4, 5, 0, 2), (1, 3, 4, 5)) * 1.9999999999999203 - x144 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x144 += einsum(x141, (0, 1, 2, 3), (1, 0, 3, 2)) - x144 += einsum(x142, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.9999999999998788 - x144 += einsum(x143, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.9999999999999601 - x144 += einsum(t1.bb, (0, 1), x137, (2, 3, 4, 1), (2, 3, 0, 4)) - x145 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x145 += einsum(x1, (0, 1, 2, 3), (1, 0, 2, 3)) * -2.0 - x145 += einsum(l2.bbbb, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 3, 6, 0, 1), (4, 2, 5, 6)) * 6.0 - x145 += einsum(x76, (0, 1, 2, 3), (0, 1, 2, 3)) * 6.0 - x145 += einsum(x77, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x145 += einsum(x131, (0, 1, 2, 3), (2, 0, 1, 3)) * 9.0 - x145 += einsum(t2.bbbb, (0, 1, 2, 3), x132, (4, 0, 1, 5, 6, 3), (5, 4, 6, 2)) * 6.0 - x145 += einsum(x133, (0, 1, 2, 3), (2, 0, 1, 3)) * 4.0 - x145 += einsum(t2.abab, (0, 1, 2, 3), x134, (4, 1, 5, 6, 0, 2), (5, 4, 6, 3)) * 2.0 - x145 += einsum(x135, (0, 1, 2, 3), (2, 0, 1, 3)) - x145 += einsum(t2.bbbb, (0, 1, 2, 3), x136, (4, 3, 2, 5), (0, 4, 1, 5)) * -6.0 - x145 += einsum(x138, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x145 += einsum(x140, (0, 1, 2, 3), (0, 1, 2, 3)) - x145 += einsum(t1.bb, (0, 1), x144, (0, 2, 3, 4), (4, 2, 3, 1)) * 2.0 - del x144 - x145 += einsum(t1.bb, (0, 1), x114, (2, 3), (0, 2, 3, 1)) * 2.0 - l1new_bb += einsum(v.bbbb.ovov, (0, 1, 2, 3), x145, (0, 4, 2, 1), (3, 4)) * -1.0 - del x145 - x146 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x146 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovvv, (4, 2, 5, 3), (0, 1, 4, 5)) - x147 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x147 += einsum(v.bbbb.ovov, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 2, 6, 1, 3), (4, 5, 0, 6)) - x148 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x148 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.babbab, (4, 0, 5, 6, 1, 3), (4, 5, 2, 6)) - x149 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x149 += einsum(t2.bbbb, (0, 1, 2, 3), x4, (4, 5, 1, 3), (0, 4, 5, 2)) * 2.0 - del x4 - x150 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x150 += einsum(t2.abab, (0, 1, 2, 3), x6, (4, 5, 0, 2), (1, 4, 5, 3)) - x151 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x151 += einsum(x21, (0, 1), t2.bbbb, (2, 3, 4, 1), (2, 3, 0, 4)) * -1.0 - x152 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x152 += einsum(t1.bb, (0, 1), v.bbbb.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) - x153 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x153 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x153 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x153 += einsum(x152, (0, 1, 2, 3), (0, 1, 2, 3)) - x154 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x154 += einsum(t1.bb, (0, 1), x153, (2, 3, 1, 4), (0, 2, 3, 4)) - del x153 - x155 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x155 += einsum(t1.bb, (0, 1), x28, (0, 2, 3, 4), (2, 3, 4, 1)) - del x28 - x156 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x156 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x156 += einsum(x146, (0, 1, 2, 3), (2, 1, 0, 3)) - x156 += einsum(x147, (0, 1, 2, 3), (2, 1, 0, 3)) * -3.0 - x156 += einsum(x148, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - x156 += einsum(x149, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - x156 += einsum(x150, (0, 1, 2, 3), (2, 0, 1, 3)) - x156 += einsum(x151, (0, 1, 2, 3), (2, 1, 0, 3)) - x156 += einsum(x154, (0, 1, 2, 3), (2, 1, 0, 3)) - x156 += einsum(x155, (0, 1, 2, 3), (1, 2, 0, 3)) - l1new_bb += einsum(l2.bbbb, (0, 1, 2, 3), x156, (4, 2, 3, 1), (0, 4)) * 2.0 - del x156 - x157 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x157 += einsum(x76, (0, 1, 2, 3), (0, 1, 2, 3)) - x157 += einsum(x77, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.3333333333333333 - x158 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x158 += einsum(t1.bb, (0, 1), x157, (2, 3, 4, 1), (0, 2, 3, 4)) - x159 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x159 += einsum(l1.bb, (0, 1), t2.bbbb, (2, 3, 4, 0), (1, 2, 3, 4)) * 2.0 - x159 += einsum(l2.abab, (0, 1, 2, 3), t3.babbab, (4, 2, 5, 6, 0, 1), (3, 4, 5, 6)) * 2.0 - x159 += einsum(x131, (0, 1, 2, 3), (0, 2, 1, 3)) * 9.0 - del x131 - x159 += einsum(x133, (0, 1, 2, 3), (0, 2, 1, 3)) * 4.0 - del x133 - x159 += einsum(x135, (0, 1, 2, 3), (0, 2, 1, 3)) - del x135 - x159 += einsum(x138, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x138 - x159 += einsum(x140, (0, 1, 2, 3), (1, 0, 2, 3)) - del x140 - x159 += einsum(t1.bb, (0, 1), x158, (2, 3, 0, 4), (3, 4, 2, 1)) * -6.0 - x159 += einsum(t1.bb, (0, 1), x114, (2, 3), (2, 0, 3, 1)) * 2.0 - del x114 - l1new_bb += einsum(v.bbbb.ovov, (0, 1, 2, 3), x159, (4, 0, 2, 3), (1, 4)) - del x159 - x160 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x160 += einsum(l1.bb, (0, 1), t1.bb, (1, 2), (0, 2)) - x161 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x161 += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (2, 3, 4, 1), (0, 4)) - x162 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x162 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 0, 4), (1, 4)) - x163 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x163 += einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), t3.bbbbbb, (3, 4, 5, 6, 1, 2), (0, 6)) - x164 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x164 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (3, 4, 5, 6, 1, 2), (0, 6)) - x165 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x165 += einsum(x160, (0, 1), (0, 1)) - x165 += einsum(x161, (0, 1), (0, 1)) * 2.0 - x165 += einsum(x162, (0, 1), (0, 1)) - x165 += einsum(x163, (0, 1), (0, 1)) * 2.9999999999998788 - x165 += einsum(x164, (0, 1), (0, 1)) * 1.9999999999999194 - l1new_bb += einsum(x165, (0, 1), x12, (2, 3, 1, 0), (3, 2)) * -1.0 - del x165 - x166 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x166 += einsum(l1.bb, (0, 1), t2.bbbb, (2, 1, 3, 0), (2, 3)) - x167 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x167 += einsum(l1.aa, (0, 1), t2.abab, (1, 2, 0, 3), (2, 3)) - x168 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x168 += einsum(l2.bbbb, (0, 1, 2, 3), t3.bbbbbb, (4, 2, 3, 5, 0, 1), (4, 5)) - x169 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x169 += einsum(l2.abab, (0, 1, 2, 3), t3.babbab, (4, 2, 3, 5, 0, 1), (4, 5)) - x170 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x170 += einsum(l2.aaaa, (0, 1, 2, 3), t3.abaaba, (2, 4, 3, 0, 5, 1), (4, 5)) - x171 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x171 += einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), x72, (0, 1, 2, 6, 4, 5), (6, 3)) - x172 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x172 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x74, (0, 2, 6, 5, 1, 4), (6, 3)) * -1.0 - x173 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x173 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x91, (1, 6, 0, 2, 3, 5), (6, 4)) - x174 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x174 += einsum(x1, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x174 += einsum(x76, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.9999999999999996 - x174 += einsum(x77, (0, 1, 2, 3), (0, 1, 2, 3)) - x175 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x175 += einsum(l1.bb, (0, 1), t1.bb, (2, 0), (1, 2)) - x176 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x176 += einsum(x175, (0, 1), (0, 1)) - x176 += einsum(x109, (0, 1), (0, 1)) * 2.0 - x176 += einsum(x110, (0, 1), (0, 1)) - x176 += einsum(x111, (0, 1), (0, 1)) * 2.9999999999998783 - x176 += einsum(x112, (0, 1), (0, 1)) * 1.9999999999999192 - x176 += einsum(x113, (0, 1), (0, 1)) * 0.99999999999996 - x177 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x177 += einsum(t1.bb, (0, 1), (0, 1)) * -0.5000000000000202 - x177 += einsum(x166, (0, 1), (0, 1)) * -1.0000000000000404 - x177 += einsum(x167, (0, 1), (0, 1)) * -0.5000000000000202 - x177 += einsum(x168, (0, 1), (0, 1)) * -1.5000000000000604 - x177 += einsum(x169, (0, 1), (0, 1)) * -1.0000000000000404 - x177 += einsum(x170, (0, 1), (0, 1)) * -0.5000000000000202 - x177 += einsum(x171, (0, 1), (0, 1)) * 1.4999999999999998 - x177 += einsum(x172, (0, 1), (0, 1)) - x177 += einsum(x173, (0, 1), (0, 1)) * 0.5000000000000002 - x177 += einsum(t2.bbbb, (0, 1, 2, 3), x174, (0, 1, 4, 3), (4, 2)) * -1.0000000000000404 - del x174 - x177 += einsum(t2.abab, (0, 1, 2, 3), x139, (1, 4, 0, 2), (4, 3)) * 1.0000000000000404 - x177 += einsum(t1.bb, (0, 1), x176, (0, 2), (2, 1)) * 0.5000000000000202 - del x176 - x178 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x178 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x178 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - l1new_bb += einsum(x177, (0, 1), x178, (0, 2, 1, 3), (3, 2)) * -1.9999999999999194 - del x177, x178 - x179 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x179 += einsum(l1.aa, (0, 1), t1.aa, (1, 2), (0, 2)) - x180 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x180 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 4, 1), (0, 4)) - x181 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x181 += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (2, 3, 4, 1), (0, 4)) - x182 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x182 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (3, 4, 5, 0, 6, 2), (1, 6)) - x183 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x183 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (3, 4, 5, 6, 1, 2), (0, 6)) - x184 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x184 += einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), t3.aaaaaa, (3, 4, 5, 6, 1, 2), (0, 6)) - x185 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x185 += einsum(x179, (0, 1), (0, 1)) * 1.00000000000004 - x185 += einsum(x180, (0, 1), (0, 1)) * 1.00000000000004 - x185 += einsum(x181, (0, 1), (0, 1)) * 2.00000000000008 - x185 += einsum(x182, (0, 1), (0, 1)) - x185 += einsum(x183, (0, 1), (0, 1)) * 1.9999999999999991 - x185 += einsum(x184, (0, 1), (1, 0)) * 2.9999999999999982 - l1new_bb += einsum(x185, (0, 1), v.aabb.vvov, (1, 0, 2, 3), (3, 2)) * 0.9999999999999601 - del x185 - x186 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x186 += einsum(l1.bb, (0, 1), t2.abab, (2, 1, 3, 0), (2, 3)) - x187 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x187 += einsum(l1.aa, (0, 1), t2.aaaa, (2, 1, 3, 0), (2, 3)) - x188 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x188 += einsum(l2.bbbb, (0, 1, 2, 3), t3.babbab, (2, 4, 3, 0, 5, 1), (4, 5)) - x189 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x189 += einsum(l2.abab, (0, 1, 2, 3), t3.abaaba, (4, 3, 2, 5, 1, 0), (4, 5)) - x190 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x190 += einsum(l2.aaaa, (0, 1, 2, 3), t3.aaaaaa, (4, 2, 3, 5, 0, 1), (4, 5)) - x191 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x191 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x58, (0, 2, 3, 5, 1, 6), (6, 4)) - x192 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x192 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x61, (1, 4, 0, 2, 6, 5), (6, 3)) * -1.0 - x193 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x193 += einsum(t1.aa, (0, 1), l3.aaaaaa, (2, 3, 1, 4, 5, 6), (4, 5, 6, 0, 2, 3)) - l3new_abaaba += einsum(v.aabb.ooov, (0, 1, 2, 3), x193, (4, 0, 5, 1, 6, 7), (6, 3, 7, 5, 2, 4)) * -6.0 - l3new_abaaba += einsum(x7, (0, 1, 2, 3), x193, (2, 4, 5, 3, 6, 7), (6, 1, 7, 4, 0, 5)) * -6.0 - x194 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x194 += einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), x193, (0, 1, 2, 6, 4, 5), (6, 3)) - x195 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x195 += einsum(t1.aa, (0, 1), l2.aaaa, (2, 1, 3, 4), (3, 4, 0, 2)) - l2new_abab += einsum(x195, (0, 1, 2, 3), x7, (4, 5, 1, 2), (3, 5, 0, 4)) * -2.0 - x196 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x196 += einsum(t2.abab, (0, 1, 2, 3), l3.abaaba, (4, 3, 2, 5, 1, 6), (5, 6, 0, 4)) - x197 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x197 += einsum(t2.aaaa, (0, 1, 2, 3), l3.aaaaaa, (4, 2, 3, 5, 6, 1), (5, 6, 0, 4)) - x198 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x198 += einsum(x195, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.33333333333333337 - x198 += einsum(x196, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.33333333333333337 - x198 += einsum(x197, (0, 1, 2, 3), (0, 1, 2, 3)) - x199 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x199 += einsum(l1.aa, (0, 1), t1.aa, (2, 0), (1, 2)) - x200 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x200 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 0, 1), (2, 4)) - x201 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x201 += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 3, 0, 1), (2, 4)) - x202 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x202 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (3, 6, 5, 0, 1, 2), (4, 6)) - x203 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x203 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (6, 4, 5, 0, 1, 2), (3, 6)) - x204 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x204 += einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), t3.aaaaaa, (6, 4, 5, 0, 1, 2), (3, 6)) - x205 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x205 += einsum(x199, (0, 1), (0, 1)) - x205 += einsum(x200, (0, 1), (0, 1)) - x205 += einsum(x201, (0, 1), (0, 1)) * 2.0 - x205 += einsum(x202, (0, 1), (0, 1)) * 0.99999999999996 - x205 += einsum(x203, (0, 1), (0, 1)) * 1.9999999999999192 - x205 += einsum(x204, (0, 1), (0, 1)) * 2.9999999999998783 - x206 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x206 += einsum(l1.aa, (0, 1), (1, 0)) * -1.00000000000004 - x206 += einsum(t1.aa, (0, 1), (0, 1)) * -1.00000000000004 - x206 += einsum(x186, (0, 1), (0, 1)) * -1.00000000000004 - x206 += einsum(x187, (0, 1), (0, 1)) * -2.00000000000008 - x206 += einsum(x188, (0, 1), (0, 1)) * -1.00000000000004 - x206 += einsum(x189, (0, 1), (0, 1)) * -2.00000000000008 - x206 += einsum(x190, (0, 1), (0, 1)) * -3.0000000000001195 - x206 += einsum(x191, (0, 1), (0, 1)) - x206 += einsum(x192, (0, 1), (0, 1)) * 1.9999999999999991 - x206 += einsum(x194, (0, 1), (0, 1)) * 2.9999999999999982 - x206 += einsum(t2.abab, (0, 1, 2, 3), x66, (1, 3, 0, 4), (4, 2)) * 2.00000000000008 - x206 += einsum(t2.aaaa, (0, 1, 2, 3), x198, (0, 1, 4, 3), (4, 2)) * -6.000000000000239 - x206 += einsum(t1.aa, (0, 1), x205, (0, 2), (2, 1)) * 1.00000000000004 - l1new_bb += einsum(x206, (0, 1), v.aabb.ovov, (0, 1, 2, 3), (3, 2)) * -0.9999999999999601 - del x206 - x207 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x207 += einsum(x102, (0, 1, 2, 3), (0, 1, 2, 3)) - x207 += einsum(x103, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.9999999999999194 - x207 += einsum(x104, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.9999999999999194 - x207 += einsum(x105, (0, 1, 2, 3), (1, 0, 3, 2)) - del x105 - x207 += einsum(x107, (0, 1, 2, 3), (0, 1, 2, 3)) - del x107 - l1new_bb += einsum(v.aabb.ooov, (0, 1, 2, 3), x207, (4, 2, 1, 0), (3, 4)) - del x207 - x208 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x208 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x208 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - l2new_abab += einsum(x208, (0, 1, 2, 3), x96, (0, 1, 4, 5), (5, 3, 4, 2)) * -1.0 - l3new_abaaba += einsum(x208, (0, 1, 2, 3), x91, (0, 1, 4, 5, 6, 7), (6, 3, 7, 5, 2, 4)) * 2.0 - x209 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x209 += einsum(t1.bb, (0, 1), x157, (2, 3, 4, 1), (2, 3, 0, 4)) * 3.0 - l1new_bb += einsum(x208, (0, 1, 2, 3), x209, (4, 0, 2, 1), (3, 4)) * 2.0 - del x209 - x210 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x210 += einsum(x141, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.00000000000004 - x210 += einsum(x142, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.9999999999999982 - x210 += einsum(x143, (0, 1, 2, 3), (0, 1, 3, 2)) - del x143 - l1new_bb += einsum(v.bbbb.ooov, (0, 1, 2, 3), x210, (1, 4, 2, 0), (3, 4)) * 1.9999999999999203 - del x210 - x211 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x211 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (3, 4, 5, 0, 6, 2), (1, 6)) - l1new_bb += einsum(x211, (0, 1), x71, (2, 3, 0, 1), (3, 2)) * -0.9999999999999601 - x212 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x212 += einsum(x175, (0, 1), (0, 1)) * 0.5 - x212 += einsum(x109, (0, 1), (0, 1)) - x212 += einsum(x110, (0, 1), (0, 1)) * 0.5 - x212 += einsum(x111, (0, 1), (0, 1)) * 1.4999999999999394 - x212 += einsum(x112, (0, 1), (0, 1)) * 0.9999999999999597 - x213 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x213 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x213 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) - l1new_bb += einsum(x212, (0, 1), x213, (0, 2, 1, 3), (3, 2)) * -2.0 - del x212 - l1new_bb += einsum(x113, (0, 1), x213, (0, 1, 2, 3), (3, 2)) * 0.9999999999999601 - x214 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x214 += einsum(x199, (0, 1), (0, 1)) - x214 += einsum(x200, (0, 1), (0, 1)) - x214 += einsum(x201, (0, 1), (0, 1)) * 2.0 - x214 += einsum(x202, (0, 1), (0, 1)) * 0.9999999999999601 - x214 += einsum(x203, (0, 1), (0, 1)) * 1.9999999999999194 - x214 += einsum(x204, (0, 1), (1, 0)) * 2.9999999999998788 - l1new_bb += einsum(x214, (0, 1), v.aabb.ooov, (1, 0, 2, 3), (3, 2)) * -1.0 - del x214 - x215 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x215 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) - x215 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - l1new_bb += einsum(l1.bb, (0, 1), x215, (1, 2, 0, 3), (3, 2)) * -1.0 - del x215 - x216 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x216 += einsum(t1.aa, (0, 1), v.aabb.ovvv, (0, 1, 2, 3), (2, 3)) - x217 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x217 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) - x217 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x218 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x218 += einsum(f.bb.vv, (0, 1), (0, 1)) - x218 += einsum(x216, (0, 1), (1, 0)) - x218 += einsum(t1.bb, (0, 1), x217, (0, 2, 1, 3), (3, 2)) * -1.0 - l1new_bb += einsum(l1.bb, (0, 1), x218, (0, 2), (2, 1)) - del x218 - x219 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x219 += einsum(t1.aa, (0, 1), v.aabb.ovoo, (0, 1, 2, 3), (2, 3)) - x220 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x220 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 2, 1, 3), (0, 4)) - x221 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x221 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 3), (1, 4)) - x222 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x222 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x222 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) - x223 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x223 += einsum(t1.bb, (0, 1), x222, (2, 3, 0, 1), (2, 3)) - del x222 - x224 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x224 += einsum(t1.bb, (0, 1), x21, (2, 1), (0, 2)) - x225 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x225 += einsum(f.bb.oo, (0, 1), (0, 1)) - x225 += einsum(x219, (0, 1), (1, 0)) - x225 += einsum(x220, (0, 1), (0, 1)) * 2.0 - x225 += einsum(x221, (0, 1), (0, 1)) - x225 += einsum(x223, (0, 1), (1, 0)) * -1.0 - x225 += einsum(x224, (0, 1), (0, 1)) - del x224 - l1new_bb += einsum(l1.bb, (0, 1), x225, (1, 2), (0, 2)) * -1.0 - l2new_abab += einsum(x225, (0, 1), l2.abab, (2, 3, 4, 0), (2, 3, 4, 1)) * -1.0 - l3new_abaaba += einsum(x225, (0, 1), l3.abaaba, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) * -2.0 - del x225 - x226 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x226 += einsum(x175, (0, 1), (0, 1)) * 0.5000000000000202 - x226 += einsum(x109, (0, 1), (0, 1)) * 1.0000000000000404 - x226 += einsum(x110, (0, 1), (0, 1)) * 0.5000000000000202 - x226 += einsum(x111, (0, 1), (0, 1)) * 1.4999999999999998 - x226 += einsum(x112, (0, 1), (0, 1)) - x226 += einsum(x113, (0, 1), (0, 1)) * 0.5000000000000002 - l1new_bb += einsum(f.bb.ov, (0, 1), x226, (2, 0), (1, 2)) * -1.9999999999999194 - del x226 - x227 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x227 += einsum(x19, (0, 1), (0, 1)) - x227 += einsum(x20, (0, 1), (0, 1)) * -1.0 - l1new_bb += einsum(x175, (0, 1), x227, (1, 2), (2, 0)) * -1.0 - x228 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x228 += einsum(t2.aaaa, (0, 1, 2, 3), l3.aaaaaa, (4, 5, 3, 6, 0, 1), (6, 4, 5, 2)) - l1new_aa += einsum(v.aaaa.vvvv, (0, 1, 2, 3), x228, (4, 1, 2, 3), (0, 4)) * 6.0 - x229 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x229 += einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), t3.aaaaaa, (6, 7, 5, 0, 1, 2), (3, 4, 6, 7)) - l1new_aa += einsum(v.aaaa.ooov, (0, 1, 2, 3), x229, (1, 4, 2, 0), (3, 4)) * -5.9999999999997575 - x230 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x230 += einsum(t1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) - x231 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x231 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x231 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) - x231 += einsum(x230, (0, 1, 2, 3), (0, 1, 2, 3)) - x231 += einsum(x230, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x232 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x232 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (0, 4, 2, 5)) - x233 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x233 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x233 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x234 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x234 += einsum(t2.aaaa, (0, 1, 2, 3), x233, (1, 4, 5, 3), (0, 4, 2, 5)) * 2.0 - x235 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x235 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x235 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) - x236 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x236 += einsum(t1.aa, (0, 1), x235, (2, 3, 1, 4), (0, 2, 3, 4)) - x237 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x237 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x237 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x237 += einsum(x232, (0, 1, 2, 3), (0, 1, 2, 3)) - x237 += einsum(x234, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x237 += einsum(x236, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x238 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x238 += einsum(t1.bb, (0, 1), v.aabb.ovvv, (2, 3, 4, 1), (0, 4, 2, 3)) - l2new_abab += einsum(l2.bbbb, (0, 1, 2, 3), x238, (3, 1, 4, 5), (5, 0, 4, 2)) * 2.0 - x239 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x239 += einsum(t2.bbbb, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (0, 2, 4, 5)) - x240 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x240 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x240 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x241 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x241 += einsum(t2.abab, (0, 1, 2, 3), x240, (0, 4, 2, 5), (1, 3, 4, 5)) - x242 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x242 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) - x242 += einsum(x238, (0, 1, 2, 3), (0, 1, 2, 3)) - x242 += einsum(x239, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x242 += einsum(x241, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x243 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x243 += einsum(t1.bb, (0, 1), v.aabb.ovov, (2, 3, 0, 1), (2, 3)) - x244 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x244 += einsum(t1.aa, (0, 1), x240, (0, 2, 1, 3), (2, 3)) - x245 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x245 += einsum(f.aa.ov, (0, 1), (0, 1)) - x245 += einsum(x243, (0, 1), (0, 1)) - x245 += einsum(x244, (0, 1), (0, 1)) * -1.0 - l2new_abab += einsum(x245, (0, 1), x66, (2, 3, 4, 0), (1, 3, 4, 2)) * -2.0 - l2new_abab += einsum(l1.bb, (0, 1), x245, (2, 3), (3, 0, 2, 1)) - l3new_aaaaaa += einsum(x245, (0, 1), l2.aaaa, (2, 3, 4, 5), (2, 3, 1, 4, 5, 0)) * 2.0 - l3new_aaaaaa += einsum(x245, (0, 1), l2.aaaa, (2, 3, 4, 5), (2, 3, 1, 0, 4, 5)) * 2.0 - l3new_aaaaaa += einsum(x245, (0, 1), l2.aaaa, (2, 3, 4, 5), (2, 1, 3, 4, 0, 5)) * 2.0 - l3new_aaaaaa += einsum(x245, (0, 1), l2.aaaa, (2, 3, 4, 5), (1, 2, 3, 4, 5, 0)) * 2.0 - l3new_aaaaaa += einsum(x245, (0, 1), l2.aaaa, (2, 3, 4, 5), (1, 2, 3, 0, 4, 5)) * 2.0 - l3new_aaaaaa += einsum(x245, (0, 1), l2.aaaa, (2, 3, 4, 5), (2, 3, 1, 4, 0, 5)) * -2.0 - l3new_aaaaaa += einsum(x245, (0, 1), l2.aaaa, (2, 3, 4, 5), (2, 1, 3, 4, 5, 0)) * -2.0 - l3new_aaaaaa += einsum(x245, (0, 1), l2.aaaa, (2, 3, 4, 5), (2, 1, 3, 0, 4, 5)) * -2.0 - l3new_aaaaaa += einsum(x245, (0, 1), l2.aaaa, (2, 3, 4, 5), (1, 2, 3, 4, 0, 5)) * -2.0 - l3new_babbab += einsum(x245, (0, 1), x58, (2, 3, 4, 5, 6, 0), (4, 1, 5, 3, 6, 2)) * 2.0 - l3new_babbab += einsum(x245, (0, 1), l2.bbbb, (2, 3, 4, 5), (2, 1, 3, 4, 0, 5)) * 2.0 - l3new_abaaba += einsum(x245, (0, 1), l2.abab, (2, 3, 4, 5), (1, 3, 2, 0, 5, 4)) - l3new_abaaba += einsum(x245, (0, 1), l2.abab, (2, 3, 4, 5), (2, 3, 1, 4, 5, 0)) - l3new_abaaba += einsum(x245, (0, 1), l2.abab, (2, 3, 4, 5), (2, 3, 1, 0, 5, 4)) * -1.0 - l3new_abaaba += einsum(x245, (0, 1), l2.abab, (2, 3, 4, 5), (1, 3, 2, 4, 5, 0)) * -1.0 - x246 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x246 += einsum(t1.aa, (0, 1), v.aabb.ovvv, (2, 1, 3, 4), (3, 4, 0, 2)) - l2new_abab += einsum(x246, (0, 1, 2, 3), x61, (4, 1, 2, 5, 3, 6), (6, 0, 5, 4)) * 2.0 - x247 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x247 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 1, 5), (3, 5, 0, 4)) - x248 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x248 += einsum(v.aabb.oovv, (0, 1, 2, 3), (2, 3, 0, 1)) - x248 += einsum(x246, (0, 1, 2, 3), (1, 0, 2, 3)) - x248 += einsum(x247, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x249 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x249 += einsum(t1.bb, (0, 1), x8, (2, 1, 3, 4), (0, 2, 3, 4)) - x250 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x250 += einsum(v.aabb.oooo, (0, 1, 2, 3), (2, 3, 0, 1)) - x250 += einsum(x29, (0, 1, 2, 3), (1, 0, 2, 3)) - x250 += einsum(x30, (0, 1, 2, 3), (1, 0, 2, 3)) - x250 += einsum(x249, (0, 1, 2, 3), (1, 0, 3, 2)) - x251 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x251 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 2, 5, 3), (0, 1, 4, 5)) - x252 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x252 += einsum(t1.aa, (0, 1), x230, (2, 3, 4, 1), (0, 2, 3, 4)) - x253 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x253 += einsum(t1.aa, (0, 1), v.aaaa.ooov, (2, 3, 4, 1), (0, 2, 3, 4)) - x254 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x254 += einsum(v.aaaa.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x254 += einsum(x251, (0, 1, 2, 3), (3, 1, 2, 0)) - x254 += einsum(x252, (0, 1, 2, 3), (3, 1, 2, 0)) - x254 += einsum(x253, (0, 1, 2, 3), (2, 1, 3, 0)) - x254 += einsum(x253, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 - x255 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x255 += einsum(x44, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * 0.9999999999999597 - del x44 - x255 += einsum(t2.abab, (0, 1, 2, 3), x8, (4, 3, 5, 6), (1, 4, 0, 6, 5, 2)) * -1.0 - x255 += einsum(x45, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) * -1.0 - del x45 - x256 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x256 += einsum(v.aaaa.ovov, (0, 1, 2, 3), t3.abaaba, (4, 5, 6, 3, 7, 1), (5, 7, 4, 6, 0, 2)) * -1.0 - l2new_aaaa += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), x256, (4, 1, 5, 3, 6, 7), (0, 2, 6, 7)) * -1.9999999999999203 - x257 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x257 += einsum(t2.abab, (0, 1, 2, 3), v.aaaa.ooov, (4, 5, 6, 2), (1, 3, 0, 4, 5, 6)) - x258 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x258 += einsum(t2.abab, (0, 1, 2, 3), x230, (4, 5, 6, 2), (1, 3, 4, 0, 6, 5)) - x259 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x259 += einsum(x256, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * 0.9999999999999601 - del x256 - x259 += einsum(x257, (0, 1, 2, 3, 4, 5), (0, 1, 4, 2, 3, 5)) - x259 += einsum(x257, (0, 1, 2, 3, 4, 5), (0, 1, 4, 2, 5, 3)) * -1.0 - del x257 - x259 += einsum(x258, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - x259 += einsum(x258, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 - del x258 - x260 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x260 += einsum(v.aabb.ovvv, (0, 1, 2, 3), t3.abaaba, (4, 5, 6, 7, 3, 1), (5, 2, 0, 4, 6, 7)) * -0.9999999999999597 - x260 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), t3.abaaba, (4, 5, 6, 3, 7, 1), (5, 7, 0, 4, 6, 2)) * -0.9999999999999601 - x260 += einsum(x231, (0, 1, 2, 3), t3.abaaba, (4, 5, 1, 6, 7, 3), (5, 7, 2, 4, 0, 6)) * -2.0 - x260 += einsum(x31, (0, 1, 2, 3), t3.babbab, (4, 5, 0, 6, 7, 1), (4, 6, 3, 5, 2, 7)) * -2.0 - x260 += einsum(x39, (0, 1, 2, 3), t3.abaaba, (4, 0, 5, 6, 7, 3), (1, 7, 2, 4, 5, 6)) - x260 += einsum(t2.abab, (0, 1, 2, 3), x237, (4, 5, 6, 2), (1, 3, 5, 0, 4, 6)) - x260 += einsum(t2.aaaa, (0, 1, 2, 3), x242, (4, 5, 6, 3), (4, 5, 6, 0, 1, 2)) * -1.0 - x260 += einsum(x245, (0, 1), t3.abaaba, (2, 3, 4, 5, 6, 1), (3, 6, 0, 2, 4, 5)) * -0.9999999999999597 - x260 += einsum(t2.abab, (0, 1, 2, 3), x248, (3, 4, 5, 6), (1, 4, 6, 0, 5, 2)) * -1.0 - x260 += einsum(t2.abab, (0, 1, 2, 3), x250, (1, 4, 5, 6), (4, 3, 6, 0, 5, 2)) - x260 += einsum(t2.abab, (0, 1, 2, 3), x254, (0, 4, 5, 6), (1, 3, 5, 4, 6, 2)) - x260 += einsum(t1.bb, (0, 1), x255, (2, 0, 3, 4, 5, 6), (2, 1, 5, 3, 4, 6)) * -1.0 - del x255 - x260 += einsum(t1.aa, (0, 1), x259, (2, 3, 4, 5, 0, 6), (2, 3, 6, 5, 4, 1)) * -1.0 - del x259 - l1new_aa += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), x260, (4, 1, 6, 5, 3, 2), (0, 6)) * 2.0 - del x260 - x261 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x261 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x261 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) - x261 += einsum(x230, (0, 1, 2, 3), (1, 0, 2, 3)) - x261 += einsum(x230, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - x262 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x262 += einsum(x38, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 0.9999999999999597 - del x38 - x262 += einsum(t2.bbbb, (0, 1, 2, 3), x8, (4, 3, 5, 6), (0, 1, 4, 2, 6, 5)) - x262 += einsum(x40, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) - del x40 - x263 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x263 += einsum(v.aabb.ovvv, (0, 1, 2, 3), t3.babbab, (4, 5, 6, 7, 1, 3), (4, 6, 7, 2, 0, 5)) * -0.9999999999999597 - x263 += einsum(x261, (0, 1, 2, 3), t3.babbab, (4, 0, 5, 6, 3, 7), (4, 5, 6, 7, 2, 1)) * -0.5 - x263 += einsum(x31, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 0, 6, 7, 1), (4, 5, 6, 7, 3, 2)) * -1.5 - x263 += einsum(x39, (0, 1, 2, 3), t3.babbab, (4, 5, 0, 6, 3, 7), (4, 1, 6, 7, 2, 5)) - x263 += einsum(t2.abab, (0, 1, 2, 3), x242, (4, 5, 6, 2), (1, 4, 3, 5, 6, 0)) * -1.0 - del x242 - x263 += einsum(x245, (0, 1), t3.babbab, (2, 3, 4, 5, 1, 6), (2, 4, 5, 6, 0, 3)) * -0.49999999999998007 - x263 += einsum(t2.bbbb, (0, 1, 2, 3), x248, (3, 4, 5, 6), (0, 1, 2, 4, 6, 5)) * -1.0 - del x248 - x263 += einsum(t2.bbbb, (0, 1, 2, 3), x250, (1, 4, 5, 6), (0, 4, 2, 3, 6, 5)) - del x250 - x263 += einsum(t1.bb, (0, 1), x262, (2, 3, 0, 4, 5, 6), (2, 3, 4, 1, 6, 5)) - del x262 - l1new_aa += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), x263, (3, 5, 0, 2, 6, 4), (1, 6)) * 2.0 - del x263 - x264 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x264 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x264 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - x264 += einsum(x230, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x264 += einsum(x230, (0, 1, 2, 3), (2, 0, 1, 3)) - x265 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x265 += einsum(v.aaaa.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x265 += einsum(x251, (0, 1, 2, 3), (3, 1, 2, 0)) * -1.0 - x265 += einsum(x252, (0, 1, 2, 3), (2, 1, 3, 0)) - x265 += einsum(x253, (0, 1, 2, 3), (2, 0, 3, 1)) - x265 += einsum(x253, (0, 1, 2, 3), (3, 0, 2, 1)) * -1.0 - x266 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x266 += einsum(v.aaaa.ovov, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 6, 7, 1, 3), (4, 5, 6, 0, 2, 7)) - l2new_aaaa += einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), x266, (3, 4, 5, 6, 7, 2), (0, 1, 6, 7)) * 5.9999999999997575 - x267 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x267 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ooov, (4, 5, 6, 3), (0, 1, 4, 5, 6, 2)) - x268 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x268 += einsum(t2.aaaa, (0, 1, 2, 3), x230, (4, 5, 6, 3), (4, 0, 1, 6, 5, 2)) - x269 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x269 += einsum(x266, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -0.9999999999999596 - del x266 - x269 += einsum(x267, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 - x269 += einsum(x267, (0, 1, 2, 3, 4, 5), (0, 1, 3, 4, 2, 5)) - del x267 - x269 += einsum(x268, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) * -1.0 - x269 += einsum(x268, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) - del x268 - x270 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x270 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 6, 7, 3, 1), (0, 4, 5, 6, 7, 2)) * -0.9999999999999596 - x270 += einsum(x264, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 0, 6, 7, 3), (2, 4, 1, 5, 6, 7)) * -1.5 - del x264 - x270 += einsum(x31, (0, 1, 2, 3), t3.abaaba, (4, 0, 5, 6, 1, 7), (3, 4, 2, 5, 6, 7)) * 0.5 - x270 += einsum(t2.aaaa, (0, 1, 2, 3), x237, (4, 5, 6, 3), (5, 0, 4, 1, 2, 6)) * -1.0 - del x237 - x270 += einsum(x245, (0, 1), t3.aaaaaa, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) * -0.4999999999999798 - x270 += einsum(t2.aaaa, (0, 1, 2, 3), x265, (1, 4, 5, 6), (5, 0, 4, 6, 2, 3)) * -1.0 - del x265 - x270 += einsum(t1.aa, (0, 1), x269, (2, 3, 4, 5, 0, 6), (5, 3, 4, 2, 6, 1)) * -1.0 - del x269 - l1new_aa += einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), x270, (6, 4, 3, 5, 2, 1), (0, 6)) * 6.0 - del x270 - x271 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x271 += einsum(l2.abab, (0, 1, 2, 3), t2.bbbb, (4, 3, 5, 1), (4, 5, 2, 0)) - x272 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x272 += einsum(l2.aaaa, (0, 1, 2, 3), t2.abab, (3, 4, 1, 5), (4, 5, 2, 0)) - x273 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x273 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.bbbbbb, (6, 3, 5, 7, 0, 2), (6, 7, 4, 1)) - x274 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x274 += einsum(t2.bbbb, (0, 1, 2, 3), x74, (0, 1, 4, 3, 5, 6), (4, 2, 5, 6)) * -1.0 - x275 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x275 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.babbab, (6, 5, 4, 7, 2, 1), (6, 7, 3, 0)) - x276 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x276 += einsum(t2.abab, (0, 1, 2, 3), x91, (1, 4, 5, 0, 2, 6), (4, 3, 5, 6)) * -1.0 - x277 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x277 += einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), t3.abaaba, (4, 6, 5, 1, 7, 2), (6, 7, 3, 0)) - x278 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x278 += einsum(l2.abab, (0, 1, 2, 3), (3, 1, 2, 0)) - x278 += einsum(x271, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x278 += einsum(x272, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x278 += einsum(x273, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0 - x278 += einsum(x274, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - x278 += einsum(x275, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.0 - x278 += einsum(x276, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - x278 += einsum(x277, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0 - x278 += einsum(t1.bb, (0, 1), x96, (0, 2, 3, 4), (2, 1, 3, 4)) * -1.0 - l1new_aa += einsum(v.aabb.vvov, (0, 1, 2, 3), x278, (2, 3, 4, 1), (0, 4)) - del x278 - x279 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x279 += einsum(t2.bbbb, (0, 1, 2, 3), l3.babbab, (4, 5, 3, 0, 6, 1), (4, 2, 6, 5)) - x280 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x280 += einsum(t2.abab, (0, 1, 2, 3), l3.abaaba, (4, 5, 2, 6, 1, 0), (5, 3, 6, 4)) - x281 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x281 += einsum(t1.bb, (0, 1), l2.abab, (2, 3, 4, 0), (3, 1, 4, 2)) * 0.5 - x281 += einsum(x279, (0, 1, 2, 3), (0, 1, 2, 3)) - x281 += einsum(x280, (0, 1, 2, 3), (0, 1, 2, 3)) - l1new_aa += einsum(v.aabb.vvvv, (0, 1, 2, 3), x281, (2, 3, 4, 1), (0, 4)) * 2.0 - del x281 - x282 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x282 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 5, 1), (2, 4, 0, 5)) - x283 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x283 += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 3, 5, 1), (2, 4, 0, 5)) - x284 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x284 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (3, 6, 5, 0, 7, 2), (4, 6, 1, 7)) - x285 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x285 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (6, 4, 5, 7, 1, 2), (3, 6, 0, 7)) - x286 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x286 += einsum(t2.abab, (0, 1, 2, 3), x61, (1, 3, 0, 4, 5, 6), (4, 5, 6, 2)) * -1.0 - x287 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x287 += einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), t3.aaaaaa, (6, 4, 5, 7, 1, 2), (3, 6, 0, 7)) - x288 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x288 += einsum(t2.aaaa, (0, 1, 2, 3), x193, (4, 0, 1, 5, 6, 3), (4, 5, 6, 2)) * -1.0 - x289 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x289 += einsum(x195, (0, 1, 2, 3), (1, 0, 2, 3)) - x289 += einsum(x196, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x289 += einsum(x197, (0, 1, 2, 3), (0, 1, 2, 3)) * -3.0 - x290 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x290 += einsum(x282, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.1111111111111111 - x290 += einsum(x283, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.4444444444444444 - x290 += einsum(x284, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.1111111111111111 - x290 += einsum(x285, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.4444444444444444 - x290 += einsum(x286, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.2222222222222222 - x290 += einsum(x287, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x290 += einsum(x288, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.6666666666666666 - x290 += einsum(t1.aa, (0, 1), x289, (0, 2, 3, 4), (2, 3, 1, 4)) * 0.2222222222222222 - l1new_aa += einsum(v.aaaa.ovvv, (0, 1, 2, 3), x290, (4, 0, 2, 3), (1, 4)) * 9.0 - del x290 - x291 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x291 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 0, 5), (1, 5, 2, 4)) - x292 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x292 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (3, 6, 5, 7, 1, 2), (0, 7, 4, 6)) - x293 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x293 += einsum(t2.bbbb, (0, 1, 2, 3), x58, (0, 1, 4, 3, 5, 6), (4, 2, 5, 6)) - x294 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x294 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (6, 4, 5, 0, 7, 2), (1, 7, 3, 6)) - x295 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x295 += einsum(t2.abab, (0, 1, 2, 3), x61, (1, 4, 0, 5, 6, 2), (4, 3, 5, 6)) - x296 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x296 += einsum(x291, (0, 1, 2, 3), (0, 1, 2, 3)) - x296 += einsum(x292, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x296 += einsum(x293, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 - x296 += einsum(x294, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x296 += einsum(x295, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 - x296 += einsum(t1.bb, (0, 1), x101, (0, 2, 3, 4), (1, 2, 3, 4)) - l1new_aa += einsum(v.aabb.ovvv, (0, 1, 2, 3), x296, (3, 2, 4, 0), (1, 4)) * -1.0 - del x296 - x297 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x297 += einsum(x279, (0, 1, 2, 3), (0, 1, 2, 3)) - del x279 - x297 += einsum(x280, (0, 1, 2, 3), (0, 1, 2, 3)) - del x280 - l2new_abab += einsum(x297, (0, 1, 2, 3), x71, (4, 5, 0, 1), (3, 5, 2, 4)) * -2.0 - del x71 - l2new_abab += einsum(v.aabb.vvov, (0, 1, 2, 3), x297, (4, 3, 5, 1), (0, 4, 5, 2)) * -2.0 - l2new_abab += einsum(x297, (0, 1, 2, 3), x31, (4, 1, 2, 5), (3, 0, 5, 4)) * 2.0 - x298 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x298 += einsum(x200, (0, 1), (0, 1)) - x298 += einsum(x201, (0, 1), (0, 1)) * 2.0 - x298 += einsum(x202, (0, 1), (0, 1)) * 0.9999999999999601 - x298 += einsum(x203, (0, 1), (0, 1)) * 1.9999999999999194 - x298 += einsum(x204, (0, 1), (0, 1)) * 2.9999999999998788 - x299 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x299 += einsum(l1.aa, (0, 1), t2.abab, (2, 3, 0, 4), (3, 4, 1, 2)) - x299 += einsum(x63, (0, 1, 2, 3), (0, 1, 2, 3)) - x299 += einsum(l2.abab, (0, 1, 2, 3), t3.babbab, (4, 5, 3, 6, 0, 1), (4, 6, 2, 5)) * 2.0 - x299 += einsum(x64, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x299 += einsum(l2.aaaa, (0, 1, 2, 3), t3.abaaba, (4, 5, 3, 0, 6, 1), (5, 6, 2, 4)) * 2.0 - x299 += einsum(x65, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x299 += einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), x58, (2, 1, 5, 4, 6, 7), (0, 3, 6, 7)) * 3.0 - x299 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x74, (2, 0, 6, 5, 7, 4), (6, 3, 7, 1)) * -2.0 - x299 += einsum(t2.bbbb, (0, 1, 2, 3), x98, (1, 0, 4, 3, 5, 6), (4, 2, 5, 6)) * -2.0 - x299 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x61, (2, 5, 6, 1, 7, 4), (0, 3, 6, 7)) * -4.0 - x299 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x91, (1, 6, 7, 2, 5, 3), (6, 4, 7, 0)) * 2.0 - x299 += einsum(t2.abab, (0, 1, 2, 3), x99, (1, 4, 5, 0, 6, 2), (4, 3, 5, 6)) * 2.0 - x299 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x193, (6, 0, 2, 7, 5, 3), (1, 4, 6, 7)) * -3.0 - x299 += einsum(t2.abab, (0, 1, 2, 3), x297, (3, 4, 5, 2), (1, 4, 5, 0)) * -2.0 - x299 += einsum(t2.bbbb, (0, 1, 2, 3), x101, (1, 3, 4, 5), (0, 2, 4, 5)) * 2.0 - x299 += einsum(t2.abab, (0, 1, 2, 3), x96, (1, 4, 5, 2), (4, 3, 5, 0)) * -1.0 - x299 += einsum(t2.abab, (0, 1, 2, 3), x289, (0, 4, 5, 2), (1, 3, 4, 5)) * -2.0 - x299 += einsum(t1.bb, (0, 1), x108, (0, 2, 3, 4), (2, 1, 3, 4)) * -1.0 - del x108 - x299 += einsum(t1.bb, (0, 1), x298, (2, 3), (0, 1, 2, 3)) - l1new_aa += einsum(v.aabb.ovov, (0, 1, 2, 3), x299, (2, 3, 4, 0), (1, 4)) * -1.0 - del x299 - x300 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x300 += einsum(x195, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.3333333333333333 - x300 += einsum(x196, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.3333333333333333 - x300 += einsum(x197, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - l1new_aa += einsum(v.aaaa.oovv, (0, 1, 2, 3), x300, (1, 4, 0, 3), (2, 4)) * -6.0 - x301 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x301 += einsum(l2.aaaa, (0, 1, 2, 3), (2, 3, 0, 1)) * -0.3333333333333333 - x301 += einsum(x286, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.3333333333333333 - x301 += einsum(x288, (0, 1, 2, 3), (0, 1, 2, 3)) - x301 += einsum(t1.aa, (0, 1), x300, (0, 2, 3, 4), (2, 3, 4, 1)) - l1new_aa += einsum(v.aaaa.ovvv, (0, 1, 2, 3), x301, (4, 0, 3, 1), (2, 4)) * -6.0 - del x301 - x302 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x302 += einsum(t2.abab, (0, 1, 2, 3), l3.abaaba, (4, 3, 5, 6, 1, 0), (6, 4, 5, 2)) - x303 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x303 += einsum(t1.aa, (0, 1), l2.aaaa, (2, 3, 4, 0), (4, 2, 3, 1)) - x303 += einsum(x302, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - l1new_aa += einsum(v.aaaa.vvvv, (0, 1, 2, 3), x303, (4, 3, 1, 2), (0, 4)) * -2.0 - del x303 - x304 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x304 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovvv, (4, 2, 5, 3), (1, 5, 0, 4)) - x305 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x305 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.babbab, (4, 5, 2, 6, 1, 3), (4, 6, 5, 0)) - x306 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x306 += einsum(v.aaaa.ovov, (0, 1, 2, 3), t3.abaaba, (4, 5, 2, 3, 6, 1), (5, 6, 4, 0)) * -1.0 - x307 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x307 += einsum(t2.abab, (0, 1, 2, 3), x261, (4, 5, 0, 2), (1, 3, 4, 5)) - del x261 - x308 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x308 += einsum(t2.bbbb, (0, 1, 2, 3), x8, (1, 3, 4, 5), (0, 2, 4, 5)) * 2.0 - x309 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x309 += einsum(t2.abab, (0, 1, 2, 3), x39, (1, 4, 5, 2), (4, 3, 0, 5)) - x310 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x310 += einsum(x245, (0, 1), t2.abab, (2, 3, 1, 4), (3, 4, 2, 0)) - x311 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x311 += einsum(v.aabb.oovv, (0, 1, 2, 3), (2, 3, 0, 1)) - x311 += einsum(x246, (0, 1, 2, 3), (1, 0, 3, 2)) - x312 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x312 += einsum(t1.bb, (0, 1), x311, (1, 2, 3, 4), (0, 2, 3, 4)) - del x311 - x313 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x313 += einsum(t1.bb, (0, 1), x128, (0, 2, 3, 4), (2, 1, 3, 4)) - x314 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x314 += einsum(v.aabb.ooov, (0, 1, 2, 3), (2, 3, 0, 1)) - x314 += einsum(x7, (0, 1, 2, 3), (0, 1, 2, 3)) - x314 += einsum(x304, (0, 1, 2, 3), (0, 1, 2, 3)) - x314 += einsum(x305, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x314 += einsum(x306, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x314 += einsum(x307, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x314 += einsum(x308, (0, 1, 2, 3), (0, 1, 3, 2)) - x314 += einsum(x309, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x314 += einsum(x310, (0, 1, 2, 3), (0, 1, 2, 3)) - x314 += einsum(x312, (0, 1, 2, 3), (0, 1, 3, 2)) - x314 += einsum(x313, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - l1new_aa += einsum(l2.abab, (0, 1, 2, 3), x314, (3, 1, 2, 4), (0, 4)) * -1.0 - del x314 - x315 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x315 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovvv, (4, 2, 5, 3), (0, 1, 4, 5)) - x316 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x316 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.abaaba, (4, 2, 5, 6, 3, 1), (4, 5, 0, 6)) - x317 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x317 += einsum(v.aaaa.ovov, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 2, 6, 1, 3), (4, 5, 0, 6)) - x318 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x318 += einsum(t1.aa, (0, 1), v.aaaa.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) - x319 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x319 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x319 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x319 += einsum(x318, (0, 1, 2, 3), (0, 1, 2, 3)) - x320 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x320 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) - x320 += einsum(x315, (0, 1, 2, 3), (2, 1, 0, 3)) - x320 += einsum(x316, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - x320 += einsum(x317, (0, 1, 2, 3), (2, 1, 0, 3)) * -3.0 - x320 += einsum(t2.aaaa, (0, 1, 2, 3), x231, (4, 5, 1, 3), (5, 0, 4, 2)) * -2.0 - x320 += einsum(t2.abab, (0, 1, 2, 3), x31, (1, 3, 4, 5), (5, 0, 4, 2)) - x320 += einsum(x245, (0, 1), t2.aaaa, (2, 3, 4, 1), (0, 2, 3, 4)) - x320 += einsum(t1.aa, (0, 1), x319, (2, 3, 1, 4), (3, 2, 0, 4)) - x320 += einsum(t1.aa, (0, 1), x254, (0, 2, 3, 4), (3, 2, 4, 1)) * -1.0 - l1new_aa += einsum(l2.aaaa, (0, 1, 2, 3), x320, (4, 3, 2, 1), (0, 4)) * -2.0 - del x320 - x321 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x321 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x58, (0, 2, 3, 5, 6, 7), (6, 7, 1, 4)) - x322 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x322 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x61, (1, 4, 6, 2, 7, 5), (6, 7, 0, 3)) * -1.0 - x323 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x323 += einsum(t1.aa, (0, 1), x61, (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 0, 6)) - x324 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x324 += einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), x193, (6, 2, 1, 7, 4, 5), (6, 7, 0, 3)) * -1.0 - x325 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x325 += einsum(t1.aa, (0, 1), x193, (2, 3, 4, 5, 6, 1), (2, 3, 4, 0, 5, 6)) - x326 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x326 += einsum(x195, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.3333333333333333 - x326 += einsum(x196, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.3333333333333333 - x326 += einsum(x197, (0, 1, 2, 3), (0, 1, 2, 3)) - x327 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x327 += einsum(x195, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x327 += einsum(x196, (0, 1, 2, 3), (0, 1, 2, 3)) - x327 += einsum(x197, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0 - l2new_abab += einsum(v.aabb.ooov, (0, 1, 2, 3), x327, (0, 4, 1, 5), (5, 3, 4, 2)) * 2.0 - x328 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x328 += einsum(x229, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x328 += einsum(t1.aa, (0, 1), x327, (2, 3, 4, 1), (2, 3, 0, 4)) * 0.3333333333333468 - x329 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x329 += einsum(l1.aa, (0, 1), t2.aaaa, (2, 3, 4, 0), (1, 2, 3, 4)) * 0.3333333333333333 - x329 += einsum(x195, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.3333333333333333 - x329 += einsum(l2.abab, (0, 1, 2, 3), t3.abaaba, (4, 3, 5, 6, 1, 0), (2, 4, 5, 6)) * 0.3333333333333333 - x329 += einsum(x196, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.3333333333333333 - x329 += einsum(x197, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x329 += einsum(x321, (0, 1, 2, 3), (0, 2, 1, 3)) * 0.16666666666666666 - x329 += einsum(x322, (0, 1, 2, 3), (0, 2, 1, 3)) * 0.6666666666666666 - x329 += einsum(t2.abab, (0, 1, 2, 3), x323, (1, 3, 4, 0, 5, 6), (4, 6, 5, 2)) * -0.3333333333333333 - x329 += einsum(x324, (0, 1, 2, 3), (0, 2, 1, 3)) * 1.5 - x329 += einsum(t2.aaaa, (0, 1, 2, 3), x228, (4, 3, 2, 5), (4, 0, 1, 5)) * -1.0 - x329 += einsum(t2.aaaa, (0, 1, 2, 3), x325, (4, 0, 1, 5, 6, 3), (4, 6, 5, 2)) * -1.0 - x329 += einsum(t2.abab, (0, 1, 2, 3), x66, (1, 3, 4, 5), (4, 0, 5, 2)) * 0.3333333333333333 - x329 += einsum(t2.aaaa, (0, 1, 2, 3), x326, (4, 1, 5, 3), (4, 0, 5, 2)) * -2.0 - x329 += einsum(t1.aa, (0, 1), x328, (2, 0, 3, 4), (2, 4, 3, 1)) * -0.9999999999999596 - del x328 - x329 += einsum(t1.aa, (0, 1), x298, (2, 3), (2, 0, 3, 1)) * 0.16666666666666666 - l1new_aa += einsum(v.aaaa.ovov, (0, 1, 2, 3), x329, (4, 2, 0, 3), (1, 4)) * -6.0 - del x329 - x330 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x330 += einsum(x282, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.1111111111111111 - x330 += einsum(x283, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.4444444444444444 - x330 += einsum(x284, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.1111111111111111 - x330 += einsum(x285, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.4444444444444444 - x330 += einsum(x287, (0, 1, 2, 3), (0, 1, 2, 3)) - l1new_aa += einsum(v.aaaa.ovvv, (0, 1, 2, 3), x330, (4, 0, 3, 1), (2, 4)) * 9.0 - del x330 - x331 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x331 += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 5, 0, 1), (2, 3, 4, 5)) - x332 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x332 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (6, 4, 7, 0, 1, 2), (3, 5, 6, 7)) - x333 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x333 += einsum(x196, (0, 1, 2, 3), (0, 1, 2, 3)) - x333 += einsum(x197, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0 - x334 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x334 += einsum(t1.aa, (0, 1), x333, (2, 3, 4, 1), (0, 2, 3, 4)) - x335 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x335 += einsum(x331, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - x335 += einsum(x332, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.9999999999999601 - x335 += einsum(x334, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - x336 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x336 += einsum(l2.aaaa, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 3, 6, 0, 1), (2, 4, 5, 6)) * 0.5 - x336 += einsum(x321, (0, 1, 2, 3), (0, 2, 1, 3)) * 0.08333333333333333 - del x321 - x336 += einsum(x322, (0, 1, 2, 3), (0, 2, 1, 3)) * 0.3333333333333333 - del x322 - x336 += einsum(t2.aaaa, (0, 1, 2, 3), x302, (4, 2, 3, 5), (4, 0, 1, 5)) * 0.16666666666666666 - x336 += einsum(x324, (0, 1, 2, 3), (0, 2, 1, 3)) * 0.75 - del x324 - x336 += einsum(t2.abab, (0, 1, 2, 3), x66, (1, 3, 4, 5), (4, 0, 5, 2)) * 0.16666666666666666 - x336 += einsum(t2.aaaa, (0, 1, 2, 3), x326, (4, 1, 5, 3), (4, 0, 5, 2)) * -1.0 - x336 += einsum(t1.aa, (0, 1), x335, (0, 2, 3, 4), (2, 4, 3, 1)) * -0.16666666666666666 - del x335 - x336 += einsum(t1.aa, (0, 1), x298, (2, 3), (2, 0, 3, 1)) * 0.08333333333333333 - del x298 - l1new_aa += einsum(v.aaaa.ovov, (0, 1, 2, 3), x336, (4, 2, 0, 1), (3, 4)) * 12.0 - del x336 - x337 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x337 += einsum(t1.aa, (0, 1), (0, 1)) * -0.5000000000000202 - x337 += einsum(x186, (0, 1), (0, 1)) * -0.5000000000000202 - del x186 - x337 += einsum(x187, (0, 1), (0, 1)) * -1.0000000000000404 - del x187 - x337 += einsum(x188, (0, 1), (0, 1)) * -0.5000000000000202 - del x188 - x337 += einsum(x189, (0, 1), (0, 1)) * -1.0000000000000404 - del x189 - x337 += einsum(x190, (0, 1), (0, 1)) * -1.5000000000000604 - del x190 - x337 += einsum(x191, (0, 1), (0, 1)) * 0.5000000000000002 - del x191 - x337 += einsum(x192, (0, 1), (0, 1)) - del x192 - x337 += einsum(x194, (0, 1), (0, 1)) * 1.4999999999999998 - del x194 - x337 += einsum(t2.abab, (0, 1, 2, 3), x66, (1, 3, 0, 4), (4, 2)) * 1.0000000000000404 - x337 += einsum(t2.aaaa, (0, 1, 2, 3), x198, (0, 1, 4, 3), (4, 2)) * -3.000000000000121 - del x198 - x337 += einsum(t1.aa, (0, 1), x205, (0, 2), (2, 1)) * 0.5000000000000202 - del x205 - l1new_aa += einsum(x337, (0, 1), x240, (0, 2, 1, 3), (3, 2)) * 1.9999999999999194 - del x337 - x338 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x338 += einsum(x179, (0, 1), (0, 1)) * 0.5 - del x179 - x338 += einsum(x180, (0, 1), (0, 1)) * 0.5 - x338 += einsum(x181, (0, 1), (0, 1)) - x338 += einsum(x182, (0, 1), (0, 1)) * 0.49999999999998007 - x339 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x339 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) - x339 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - l1new_aa += einsum(x338, (0, 1), x339, (2, 1, 0, 3), (3, 2)) * -2.0 - del x338 - l2new_abab += einsum(x100, (0, 1, 2, 3), x339, (4, 3, 2, 5), (5, 1, 4, 0)) * -2.0 - x340 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x340 += einsum(x160, (0, 1), (0, 1)) * 0.5 - del x160 - x340 += einsum(x161, (0, 1), (0, 1)) - x340 += einsum(x162, (0, 1), (0, 1)) * 0.5 - x340 += einsum(x163, (0, 1), (0, 1)) * 1.4999999999999394 - x340 += einsum(x164, (0, 1), (1, 0)) * 0.9999999999999597 - x340 += einsum(x211, (0, 1), (0, 1)) * 0.49999999999998007 - l1new_aa += einsum(x340, (0, 1), v.aabb.ovvv, (2, 3, 1, 0), (3, 2)) * 2.0 - del x340 - x341 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x341 += einsum(x175, (0, 1), (0, 1)) - x341 += einsum(x109, (0, 1), (0, 1)) * 2.0 - x341 += einsum(x110, (0, 1), (0, 1)) - x341 += einsum(x111, (0, 1), (0, 1)) * 2.9999999999998788 - x341 += einsum(x112, (0, 1), (0, 1)) * 1.9999999999999194 - x341 += einsum(x113, (0, 1), (0, 1)) * 0.9999999999999601 - l2new_abab += einsum(x341, (0, 1), v.aabb.ovov, (2, 3, 1, 4), (3, 4, 2, 0)) * -1.0 - x342 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x342 += einsum(l1.bb, (0, 1), (1, 0)) * -1.0 - x342 += einsum(t1.bb, (0, 1), (0, 1)) * -1.0 - x342 += einsum(x166, (0, 1), (0, 1)) * -2.0 - del x166 - x342 += einsum(x167, (0, 1), (0, 1)) * -1.0 - del x167 - x342 += einsum(x168, (0, 1), (0, 1)) * -3.0 - del x168 - x342 += einsum(x169, (0, 1), (0, 1)) * -2.0 - del x169 - x342 += einsum(x170, (0, 1), (0, 1)) * -1.0 - del x170 - x342 += einsum(x171, (0, 1), (0, 1)) * 2.9999999999998788 - del x171 - x342 += einsum(x172, (0, 1), (0, 1)) * 1.9999999999999194 - del x172 - x342 += einsum(x173, (0, 1), (0, 1)) * 0.9999999999999601 - del x173 - x342 += einsum(t2.bbbb, (0, 1, 2, 3), x137, (0, 1, 4, 3), (4, 2)) * -2.0 - x342 += einsum(t2.abab, (0, 1, 2, 3), x139, (1, 4, 0, 2), (4, 3)) * 2.0 - x342 += einsum(t1.bb, (0, 1), x341, (0, 2), (2, 1)) - l1new_aa += einsum(x342, (0, 1), v.aabb.ovov, (2, 3, 0, 1), (3, 2)) * -1.0 - del x342 - x343 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x343 += einsum(x102, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5000000000000202 - del x102 - x343 += einsum(x103, (0, 1, 2, 3), (0, 1, 2, 3)) - del x103 - x343 += einsum(x104, (0, 1, 2, 3), (0, 1, 2, 3)) - del x104 - x343 += einsum(t1.bb, (0, 1), x101, (2, 1, 3, 4), (0, 2, 3, 4)) * 0.5000000000000202 - x343 += einsum(t1.aa, (0, 1), x106, (2, 3, 4, 1), (3, 2, 4, 0)) * 1.0000000000000404 - l1new_aa += einsum(v.aabb.ovoo, (0, 1, 2, 3), x343, (3, 2, 4, 0), (1, 4)) * 1.9999999999999194 - del x343 - x344 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x344 += einsum(x183, (0, 1), (0, 1)) - x344 += einsum(x184, (0, 1), (0, 1)) * 1.4999999999999998 - l1new_aa += einsum(x344, (0, 1), x339, (2, 1, 0, 3), (3, 2)) * -1.9999999999999194 - del x344 - x345 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x345 += einsum(x331, (0, 1, 2, 3), (1, 0, 3, 2)) * -0.3333333333333333 - x345 += einsum(x332, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.33333333333332005 - x345 += einsum(t1.aa, (0, 1), x327, (2, 3, 4, 1), (0, 2, 3, 4)) * 0.3333333333333333 - l1new_aa += einsum(v.aaaa.ooov, (0, 1, 2, 3), x345, (0, 4, 1, 2), (3, 4)) * -6.0 - del x345 - x346 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x346 += einsum(t1.aa, (0, 1), x333, (2, 3, 4, 1), (2, 3, 0, 4)) * 0.3333333333333333 - l1new_aa += einsum(v.aaaa.ooov, (0, 1, 2, 3), x346, (4, 1, 2, 0), (3, 4)) * 6.0 - del x346 - x347 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x347 += einsum(x199, (0, 1), (0, 1)) * 0.3333333333333468 - x347 += einsum(x200, (0, 1), (0, 1)) * 0.3333333333333468 - x347 += einsum(x201, (0, 1), (0, 1)) * 0.6666666666666936 - x347 += einsum(x202, (0, 1), (0, 1)) * 0.33333333333333354 - x347 += einsum(x204, (0, 1), (0, 1)) - x348 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x348 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x348 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) - l1new_aa += einsum(x347, (0, 1), x348, (0, 2, 1, 3), (3, 2)) * -2.9999999999998788 - del x347 - l1new_aa += einsum(x203, (0, 1), x348, (0, 1, 2, 3), (3, 2)) * 1.9999999999999194 - l2new_abab += einsum(x348, (0, 1, 2, 3), x66, (4, 5, 0, 1), (3, 5, 2, 4)) * 2.0 - l3new_babbab += einsum(x348, (0, 1, 2, 3), x58, (4, 5, 6, 7, 0, 2), (6, 3, 7, 5, 1, 4)) * 2.0 - x349 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x349 += einsum(x175, (0, 1), (0, 1)) * 0.5 - del x175 - x349 += einsum(x109, (0, 1), (0, 1)) - del x109 - x349 += einsum(x110, (0, 1), (0, 1)) * 0.5 - del x110 - x349 += einsum(x111, (0, 1), (0, 1)) * 1.4999999999999394 - del x111 - x349 += einsum(x112, (0, 1), (1, 0)) * 0.9999999999999597 - del x112 - x349 += einsum(x113, (0, 1), (1, 0)) * 0.49999999999998007 - del x113 - l1new_aa += einsum(x349, (0, 1), v.aabb.ovoo, (2, 3, 1, 0), (3, 2)) * -2.0 - del x349 - x350 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x350 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) - x350 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - l1new_aa += einsum(l1.aa, (0, 1), x350, (1, 2, 0, 3), (3, 2)) * -1.0 - del x350 - x351 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x351 += einsum(t1.bb, (0, 1), v.aabb.vvov, (2, 3, 0, 1), (2, 3)) - x352 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x352 += einsum(f.aa.vv, (0, 1), (0, 1)) - x352 += einsum(x351, (0, 1), (1, 0)) - x352 += einsum(t1.aa, (0, 1), x235, (0, 1, 2, 3), (3, 2)) * -1.0 - l1new_aa += einsum(l1.aa, (0, 1), x352, (0, 2), (2, 1)) - del x352 - x353 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x353 += einsum(t1.bb, (0, 1), v.aabb.ooov, (2, 3, 0, 1), (2, 3)) - x354 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x354 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 1, 3), (0, 4)) - x355 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x355 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 2, 1, 3), (0, 4)) - x356 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x356 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x356 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) - x357 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x357 += einsum(t1.aa, (0, 1), x356, (2, 3, 0, 1), (2, 3)) - del x356 - x358 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x358 += einsum(t1.aa, (0, 1), x245, (2, 1), (0, 2)) - x359 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x359 += einsum(f.aa.oo, (0, 1), (0, 1)) - x359 += einsum(x353, (0, 1), (1, 0)) - x359 += einsum(x354, (0, 1), (0, 1)) - x359 += einsum(x355, (0, 1), (0, 1)) * 2.0 - x359 += einsum(x357, (0, 1), (1, 0)) * -1.0 - x359 += einsum(x358, (0, 1), (0, 1)) - del x358 - l1new_aa += einsum(l1.aa, (0, 1), x359, (1, 2), (0, 2)) * -1.0 - l2new_abab += einsum(x359, (0, 1), l2.abab, (2, 3, 0, 4), (2, 3, 1, 4)) * -1.0 - l3new_babbab += einsum(x359, (0, 1), l3.babbab, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) * -2.0 - del x359 - x360 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x360 += einsum(x199, (0, 1), (0, 1)) * 0.3333333333333468 - x360 += einsum(x200, (0, 1), (0, 1)) * 0.3333333333333468 - x360 += einsum(x201, (0, 1), (0, 1)) * 0.6666666666666936 - x360 += einsum(x202, (0, 1), (0, 1)) * 0.33333333333333354 - x360 += einsum(x203, (0, 1), (0, 1)) * 0.6666666666666667 - x360 += einsum(x204, (0, 1), (0, 1)) - l1new_aa += einsum(f.aa.ov, (0, 1), x360, (2, 0), (1, 2)) * -2.9999999999998788 - del x360 - x361 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x361 += einsum(x243, (0, 1), (0, 1)) - del x243 - x361 += einsum(x244, (0, 1), (0, 1)) * -1.0 - del x244 - l1new_aa += einsum(x199, (0, 1), x361, (1, 2), (2, 0)) * -1.0 - x362 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x362 += einsum(l1.aa, (0, 1), v.aaaa.ovvv, (2, 3, 4, 0), (1, 2, 3, 4)) - x363 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x363 += einsum(l2.abab, (0, 1, 2, 3), x238, (3, 1, 4, 5), (2, 4, 0, 5)) - x364 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x364 += einsum(x5, (0, 1, 2, 3), x93, (0, 1, 4, 5), (4, 2, 5, 3)) - x365 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x365 += einsum(x302, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.3333333333333333 - x365 += einsum(x228, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - l2new_abab += einsum(v.aabb.vvov, (0, 1, 2, 3), x365, (4, 5, 0, 1), (5, 3, 4, 2)) * 6.0 - x366 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x366 += einsum(x339, (0, 1, 2, 3), x365, (4, 2, 5, 1), (0, 4, 3, 5)) * 6.0 - del x365 - x367 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x367 += einsum(x196, (0, 1, 2, 3), (0, 1, 2, 3)) - del x196 - x367 += einsum(x197, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0000000000000004 - del x197 - x368 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x368 += einsum(t1.aa, (0, 1), x367, (2, 0, 3, 4), (2, 3, 1, 4)) * 0.22222222222223104 - del x367 - x369 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x369 += einsum(x282, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.11111111111111552 - x369 += einsum(x283, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.4444444444444621 - x369 += einsum(x284, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.11111111111111108 - x369 += einsum(x285, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.44444444444444453 - x369 += einsum(x286, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.22222222222223104 - x369 += einsum(x287, (0, 1, 2, 3), (0, 1, 2, 3)) - x369 += einsum(x288, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.6666666666666932 - x369 += einsum(x368, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x368 - x370 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x370 += einsum(x233, (0, 1, 2, 3), x369, (4, 0, 5, 3), (1, 4, 2, 5)) * 8.999999999999643 - del x369 - x371 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x371 += einsum(t1.bb, (0, 1), x106, (0, 2, 3, 4), (2, 1, 3, 4)) * 2.0 - x372 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x372 += einsum(l2.abab, (0, 1, 2, 3), (3, 1, 2, 0)) - x372 += einsum(x271, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x372 += einsum(x272, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x372 += einsum(x273, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.999999999999881 - x372 += einsum(x274, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - x372 += einsum(x275, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.999999999999842 - x372 += einsum(x276, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - x372 += einsum(x277, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.999999999999881 - x372 += einsum(x371, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x371 - x373 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x373 += einsum(v.aabb.ovov, (0, 1, 2, 3), x372, (2, 3, 4, 5), (0, 4, 1, 5)) - del x372 - x374 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x374 += einsum(v.aabb.ovvv, (0, 1, 2, 3), x297, (2, 3, 4, 5), (0, 4, 1, 5)) * 2.0 - x375 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x375 += einsum(t1.aa, (0, 1), x339, (2, 1, 3, 4), (0, 2, 3, 4)) - x376 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x376 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x376 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x376 += einsum(x375, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x375 - x377 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x377 += einsum(l2.aaaa, (0, 1, 2, 3), x376, (3, 4, 5, 1), (2, 4, 0, 5)) * 2.0 - del x376 - x378 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x378 += einsum(x327, (0, 1, 2, 3), x348, (1, 4, 2, 5), (0, 4, 3, 5)) * 2.0 - del x327 - x379 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x379 += einsum(x180, (0, 1), (0, 1)) - x379 += einsum(x181, (0, 1), (0, 1)) * 2.0 - x379 += einsum(x182, (0, 1), (0, 1)) * 0.9999999999999601 - x379 += einsum(x183, (0, 1), (0, 1)) * 1.9999999999999194 - x379 += einsum(x184, (0, 1), (0, 1)) * 2.9999999999998788 - x380 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x380 += einsum(x379, (0, 1), v.aaaa.ovov, (2, 1, 3, 4), (2, 3, 0, 4)) - del x379 - x381 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x381 += einsum(v.aabb.ovoo, (0, 1, 2, 3), x96, (2, 3, 4, 5), (0, 4, 1, 5)) - x382 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x382 += einsum(x230, (0, 1, 2, 3), (0, 1, 2, 3)) - x382 += einsum(x230, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x383 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x383 += einsum(x195, (0, 1, 2, 3), x382, (0, 4, 2, 5), (1, 4, 3, 5)) * 2.0 - x384 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x384 += einsum(x199, (0, 1), (0, 1)) - x384 += einsum(x200, (0, 1), (0, 1)) - x384 += einsum(x201, (0, 1), (0, 1)) * 2.0 - x384 += einsum(x202, (0, 1), (0, 1)) * 0.9999999999999601 - x384 += einsum(x203, (0, 1), (0, 1)) * 1.9999999999999194 - x384 += einsum(x204, (0, 1), (0, 1)) * 2.9999999999998788 - x385 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x385 += einsum(x384, (0, 1), v.aaaa.ovov, (2, 3, 1, 4), (0, 2, 4, 3)) - del x384 - x386 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x386 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x386 += einsum(x230, (0, 1, 2, 3), (0, 1, 2, 3)) - x387 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x387 += einsum(l1.aa, (0, 1), x386, (1, 2, 3, 4), (2, 3, 0, 4)) - x388 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x388 += einsum(f.aa.ov, (0, 1), l1.aa, (2, 3), (0, 3, 1, 2)) - x388 += einsum(x362, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x362 - x388 += einsum(x363, (0, 1, 2, 3), (0, 1, 2, 3)) - del x363 - x388 += einsum(x364, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x364 - x388 += einsum(x366, (0, 1, 2, 3), (1, 0, 3, 2)) - del x366 - x388 += einsum(x370, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x370 - x388 += einsum(x373, (0, 1, 2, 3), (1, 0, 3, 2)) - del x373 - x388 += einsum(x374, (0, 1, 2, 3), (1, 0, 3, 2)) - del x374 - x388 += einsum(x377, (0, 1, 2, 3), (0, 1, 2, 3)) - del x377 - x388 += einsum(x378, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x378 - x388 += einsum(x380, (0, 1, 2, 3), (1, 0, 2, 3)) - del x380 - x388 += einsum(x381, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x381 - x388 += einsum(x383, (0, 1, 2, 3), (0, 1, 2, 3)) - del x383 - x388 += einsum(x385, (0, 1, 2, 3), (0, 1, 3, 2)) - del x385 - x388 += einsum(x387, (0, 1, 2, 3), (0, 1, 2, 3)) - del x387 - x388 += einsum(l1.aa, (0, 1), x361, (2, 3), (1, 2, 0, 3)) - l2new_aaaa += einsum(x388, (0, 1, 2, 3), (2, 3, 0, 1)) - l2new_aaaa += einsum(x388, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - l2new_aaaa += einsum(x388, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 - l2new_aaaa += einsum(x388, (0, 1, 2, 3), (3, 2, 1, 0)) - del x388 - x389 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x389 += einsum(f.aa.ov, (0, 1), t1.aa, (2, 1), (0, 2)) - x390 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x390 += einsum(x389, (0, 1), l2.aaaa, (2, 3, 4, 1), (0, 4, 2, 3)) - x391 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x391 += einsum(l2.aaaa, (0, 1, 2, 3), x253, (2, 4, 3, 5), (4, 5, 0, 1)) - x392 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x392 += einsum(f.aa.ov, (0, 1), t2.abab, (2, 3, 1, 4), (3, 4, 0, 2)) - x393 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x393 += einsum(x392, (0, 1, 2, 3), l3.abaaba, (4, 1, 5, 6, 0, 3), (2, 6, 4, 5)) - del x392 - x394 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x394 += einsum(f.aa.ov, (0, 1), t2.aaaa, (2, 3, 4, 1), (0, 2, 3, 4)) - x395 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x395 += einsum(x394, (0, 1, 2, 3), l3.aaaaaa, (4, 5, 3, 6, 1, 2), (0, 6, 4, 5)) * -1.0 - del x394 - x396 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x396 += einsum(x361, (0, 1), t2.abab, (2, 3, 1, 4), (3, 4, 2, 0)) - x397 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x397 += einsum(v.aabb.ooov, (0, 1, 2, 3), (2, 3, 0, 1)) - x397 += einsum(x7, (0, 1, 2, 3), (0, 1, 2, 3)) - x397 += einsum(x304, (0, 1, 2, 3), (0, 1, 2, 3)) - x397 += einsum(x305, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.999999999999921 - x397 += einsum(x306, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.99999999999992 - x397 += einsum(x307, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x397 += einsum(x308, (0, 1, 2, 3), (0, 1, 3, 2)) - x397 += einsum(x309, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x397 += einsum(x396, (0, 1, 2, 3), (0, 1, 2, 3)) - del x396 - x397 += einsum(x312, (0, 1, 2, 3), (0, 1, 3, 2)) - x397 += einsum(x313, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x398 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x398 += einsum(x397, (0, 1, 2, 3), l3.abaaba, (4, 1, 5, 6, 0, 2), (6, 3, 4, 5)) * -2.0 - del x397 - x399 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x399 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x399 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x399 += einsum(x230, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x399 += einsum(x230, (0, 1, 2, 3), (0, 2, 1, 3)) - x400 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x400 += einsum(t2.aaaa, (0, 1, 2, 3), x399, (4, 1, 5, 3), (0, 4, 5, 2)) * 2.0 - del x399 - x401 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x401 += einsum(t2.abab, (0, 1, 2, 3), x8, (1, 3, 4, 5), (0, 4, 5, 2)) - x402 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x402 += einsum(x361, (0, 1), t2.aaaa, (2, 3, 4, 1), (2, 3, 0, 4)) * -1.0 - x403 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x403 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x403 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x403 += einsum(x318, (0, 1, 2, 3), (1, 0, 2, 3)) - del x318 - x404 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x404 += einsum(t1.aa, (0, 1), x403, (2, 3, 1, 4), (0, 2, 3, 4)) - del x403 - x405 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x405 += einsum(v.aaaa.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x405 += einsum(x251, (0, 1, 2, 3), (3, 1, 0, 2)) - x405 += einsum(x252, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - x405 += einsum(x253, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - x405 += einsum(x253, (0, 1, 2, 3), (3, 0, 2, 1)) - x406 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x406 += einsum(t1.aa, (0, 1), x405, (0, 2, 3, 4), (2, 3, 4, 1)) - del x405 - x407 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x407 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x407 += einsum(x315, (0, 1, 2, 3), (1, 0, 2, 3)) - x407 += einsum(x316, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.9999999999999606 - x407 += einsum(x317, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.999999999999881 - x407 += einsum(x400, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x400 - x407 += einsum(x401, (0, 1, 2, 3), (0, 2, 1, 3)) - del x401 - x407 += einsum(x402, (0, 1, 2, 3), (1, 0, 2, 3)) - del x402 - x407 += einsum(x404, (0, 1, 2, 3), (2, 0, 1, 3)) - del x404 - x407 += einsum(x406, (0, 1, 2, 3), (1, 0, 2, 3)) - del x406 - x408 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x408 += einsum(x407, (0, 1, 2, 3), l3.aaaaaa, (4, 5, 3, 6, 0, 1), (6, 2, 4, 5)) * -6.0 - del x407 - x409 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x409 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x409 += einsum(x230, (0, 1, 2, 3), (0, 2, 1, 3)) - x410 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x410 += einsum(x302, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x302 - x410 += einsum(x228, (0, 1, 2, 3), (0, 2, 1, 3)) * -3.0 - del x228 - x411 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x411 += einsum(x409, (0, 1, 2, 3), x410, (0, 4, 5, 3), (1, 2, 4, 5)) * 2.0 - del x409 - x412 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x412 += einsum(t1.aa, (0, 1), x361, (2, 1), (0, 2)) - x413 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x413 += einsum(x353, (0, 1), (1, 0)) - del x353 - x413 += einsum(x354, (0, 1), (0, 1)) - del x354 - x413 += einsum(x355, (0, 1), (0, 1)) * 2.0 - del x355 - x413 += einsum(x357, (0, 1), (1, 0)) * -1.0 - del x357 - x413 += einsum(x412, (0, 1), (0, 1)) - del x412 - x414 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x414 += einsum(x413, (0, 1), l2.aaaa, (2, 3, 4, 0), (4, 1, 2, 3)) * -2.0 - x415 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x415 += einsum(x390, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - del x390 - x415 += einsum(x391, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - del x391 - x415 += einsum(x393, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - del x393 - x415 += einsum(x395, (0, 1, 2, 3), (0, 1, 3, 2)) * 6.0 - del x395 - x415 += einsum(x398, (0, 1, 2, 3), (0, 1, 3, 2)) - del x398 - x415 += einsum(x408, (0, 1, 2, 3), (0, 1, 2, 3)) - del x408 - x415 += einsum(x411, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x411 - x415 += einsum(x414, (0, 1, 2, 3), (0, 1, 3, 2)) - del x414 - l2new_aaaa += einsum(x415, (0, 1, 2, 3), (3, 2, 0, 1)) - l2new_aaaa += einsum(x415, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 - del x415 - x416 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x416 += einsum(f.aa.vv, (0, 1), l2.aaaa, (2, 1, 3, 4), (3, 4, 0, 2)) - x417 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x417 += einsum(x22, (0, 1, 2, 3), x91, (0, 1, 4, 5, 6, 3), (4, 5, 6, 2)) - x418 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x418 += einsum(t1.bb, (0, 1), v.aabb.vvvv, (2, 3, 4, 1), (0, 4, 2, 3)) - x419 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x419 += einsum(t2.bbbb, (0, 1, 2, 3), v.aabb.vvov, (4, 5, 1, 3), (0, 2, 4, 5)) - x420 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x420 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovvv, (0, 4, 5, 3), (1, 5, 2, 4)) - x421 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x421 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.babbab, (4, 0, 2, 5, 6, 3), (4, 5, 6, 1)) - x422 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x422 += einsum(v.aaaa.ovov, (0, 1, 2, 3), t3.abaaba, (0, 4, 2, 5, 6, 1), (4, 6, 5, 3)) * -1.0 - x423 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x423 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x423 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) - x424 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x424 += einsum(t2.abab, (0, 1, 2, 3), x423, (0, 2, 4, 5), (1, 3, 4, 5)) - del x423 - x425 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x425 += einsum(t2.abab, (0, 1, 2, 3), x39, (1, 4, 0, 5), (4, 3, 2, 5)) - x426 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x426 += einsum(v.aabb.vvov, (0, 1, 2, 3), (2, 3, 0, 1)) - x426 += einsum(x418, (0, 1, 2, 3), (0, 1, 3, 2)) - x426 += einsum(x419, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - x426 += einsum(x420, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x426 += einsum(x421, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.999999999999921 - x426 += einsum(x422, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.99999999999992 - x426 += einsum(x424, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x424 - x426 += einsum(x425, (0, 1, 2, 3), (0, 1, 3, 2)) - x427 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x427 += einsum(x426, (0, 1, 2, 3), l3.abaaba, (4, 1, 3, 5, 0, 6), (5, 6, 4, 2)) * -2.0 - del x426 - x428 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x428 += einsum(t1.aa, (0, 1), v.aaaa.vvvv, (2, 3, 4, 1), (0, 2, 3, 4)) - x429 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x429 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.vvov, (4, 5, 1, 3), (0, 2, 4, 5)) - x430 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x430 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.abaaba, (4, 2, 0, 5, 3, 6), (4, 5, 6, 1)) - x431 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x431 += einsum(v.aaaa.ovov, (0, 1, 2, 3), t3.aaaaaa, (4, 0, 2, 5, 6, 3), (4, 5, 6, 1)) - x432 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x432 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) - x432 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x433 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x433 += einsum(t2.aaaa, (0, 1, 2, 3), x432, (1, 3, 4, 5), (0, 2, 4, 5)) * 2.0 - x434 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x434 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x434 += einsum(x230, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x435 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x435 += einsum(t2.aaaa, (0, 1, 2, 3), x434, (0, 4, 1, 5), (4, 2, 3, 5)) - x436 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x436 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x436 += einsum(x428, (0, 1, 2, 3), (0, 2, 3, 1)) - x436 += einsum(x429, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x436 += einsum(x430, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.9999999999999606 - x436 += einsum(x431, (0, 1, 2, 3), (0, 2, 1, 3)) * -2.999999999999881 - x436 += einsum(x433, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x433 - x436 += einsum(x435, (0, 1, 2, 3), (0, 2, 1, 3)) - del x435 - x437 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x437 += einsum(x436, (0, 1, 2, 3), l3.aaaaaa, (4, 1, 2, 5, 6, 0), (5, 6, 4, 3)) * -6.0 - del x436 - x438 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x438 += einsum(t1.bb, (0, 1), x39, (0, 2, 3, 4), (2, 1, 3, 4)) - x439 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x439 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) - x439 += einsum(x238, (0, 1, 2, 3), (0, 1, 2, 3)) - x439 += einsum(x239, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x439 += einsum(x241, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x241 - x439 += einsum(x438, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x438 - l2new_abab += einsum(x439, (0, 1, 2, 3), x58, (0, 4, 5, 1, 6, 2), (3, 5, 6, 4)) * 2.0 - x440 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x440 += einsum(x439, (0, 1, 2, 3), x61, (0, 1, 4, 5, 2, 6), (4, 5, 6, 3)) * 2.0 - del x439 - x441 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x441 += einsum(t1.aa, (0, 1), v.aaaa.ooov, (2, 0, 3, 4), (2, 3, 1, 4)) - x442 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x442 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x442 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x442 += einsum(x441, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x441 - x442 += einsum(x232, (0, 1, 2, 3), (0, 1, 2, 3)) - x442 += einsum(x234, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x443 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x443 += einsum(x442, (0, 1, 2, 3), x193, (4, 5, 0, 1, 2, 6), (4, 5, 6, 3)) * 6.0 - del x442 - x444 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x444 += einsum(t1.aa, (0, 1), x230, (2, 3, 0, 4), (2, 3, 1, 4)) - x445 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x445 += einsum(t1.aa, (0, 1), x235, (2, 1, 3, 4), (0, 2, 3, 4)) - x446 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x446 += einsum(x444, (0, 1, 2, 3), (0, 1, 2, 3)) - del x444 - x446 += einsum(x445, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - l2new_abab += einsum(x446, (0, 1, 2, 3), x61, (4, 5, 0, 6, 1, 2), (3, 5, 6, 4)) * 2.0 - x447 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x447 += einsum(x446, (0, 1, 2, 3), x193, (4, 5, 0, 1, 2, 6), (4, 5, 6, 3)) * 6.0 - del x446 - x448 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x448 += einsum(v.aabb.vvoo, (0, 1, 2, 3), (2, 3, 0, 1)) - x448 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - l2new_abab += einsum(x448, (0, 1, 2, 3), x74, (0, 4, 1, 5, 6, 2), (3, 5, 6, 4)) * 2.0 - x449 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x449 += einsum(x448, (0, 1, 2, 3), x91, (0, 1, 4, 5, 2, 6), (4, 5, 6, 3)) * 2.0 - del x448 - x450 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x450 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), x326, (4, 5, 0, 3), (4, 5, 1, 2)) * 6.0 - x451 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x451 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 4, 1, 3), (2, 4)) - x452 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x452 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (0, 3, 1, 4), (2, 4)) * -1.0 - x453 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x453 += einsum(t1.aa, (0, 1), x339, (0, 1, 2, 3), (2, 3)) - del x339 - x454 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x454 += einsum(x351, (0, 1), (1, 0)) * -1.0 - x454 += einsum(x451, (0, 1), (1, 0)) - x454 += einsum(x452, (0, 1), (1, 0)) * 2.0 - x454 += einsum(x453, (0, 1), (1, 0)) * -1.0 - del x453 - x455 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x455 += einsum(x454, (0, 1), l2.aaaa, (2, 1, 3, 4), (3, 4, 2, 0)) * -2.0 - x456 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x456 += einsum(v.aaaa.ovov, (0, 1, 2, 3), x334, (0, 4, 5, 2), (4, 5, 3, 1)) * 2.0 - del x334 - x457 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x457 += einsum(x361, (0, 1), x289, (2, 3, 0, 4), (2, 3, 4, 1)) * 2.0 - x458 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x458 += einsum(f.aa.ov, (0, 1), x300, (2, 3, 0, 4), (2, 3, 4, 1)) * 6.0 - del x300 - x459 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x459 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x459 += einsum(x416, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - del x416 - x459 += einsum(x417, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - del x417 - x459 += einsum(x427, (0, 1, 2, 3), (1, 0, 3, 2)) - del x427 - x459 += einsum(x437, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x437 - x459 += einsum(x440, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x440 - x459 += einsum(x443, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x443 - x459 += einsum(x447, (0, 1, 2, 3), (0, 1, 3, 2)) - del x447 - x459 += einsum(x449, (0, 1, 2, 3), (0, 1, 3, 2)) - del x449 - x459 += einsum(x450, (0, 1, 2, 3), (0, 1, 3, 2)) - del x450 - x459 += einsum(x455, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x455 - x459 += einsum(x456, (0, 1, 2, 3), (0, 1, 2, 3)) - del x456 - x459 += einsum(x457, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x457 - x459 += einsum(x458, (0, 1, 2, 3), (1, 0, 2, 3)) - del x458 - l2new_aaaa += einsum(x459, (0, 1, 2, 3), (3, 2, 0, 1)) - l2new_aaaa += einsum(x459, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 - del x459 - x460 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x460 += einsum(f.aa.oo, (0, 1), l2.aaaa, (2, 3, 4, 1), (0, 4, 2, 3)) - l2new_aaaa += einsum(x460, (0, 1, 2, 3), (3, 2, 0, 1)) * -2.0 - l2new_aaaa += einsum(x460, (0, 1, 2, 3), (3, 2, 1, 0)) * 2.0 - del x460 - x461 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x461 += einsum(x331, (0, 1, 2, 3), (1, 0, 3, 2)) * -0.3333333333333468 - del x331 - x461 += einsum(t1.aa, (0, 1), x195, (2, 3, 4, 1), (2, 3, 4, 0)) * 0.3333333333333468 - del x195 - x461 += einsum(x332, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.33333333333333354 - del x332 - x461 += einsum(x229, (0, 1, 2, 3), (0, 1, 3, 2)) - del x229 - l2new_aaaa += einsum(v.aaaa.ovov, (0, 1, 2, 3), x461, (4, 5, 0, 2), (3, 1, 5, 4)) * -5.9999999999997575 - del x461 - x462 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x462 += einsum(v.aaaa.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x462 += einsum(x251, (0, 1, 2, 3), (1, 3, 0, 2)) * -1.0 - x462 += einsum(x252, (0, 1, 2, 3), (0, 3, 1, 2)) - l2new_aaaa += einsum(l2.aaaa, (0, 1, 2, 3), x462, (2, 4, 3, 5), (0, 1, 4, 5)) * -2.0 - x463 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x463 += einsum(t1.aa, (0, 1), v.aabb.vvvv, (2, 1, 3, 4), (3, 4, 0, 2)) - x464 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x464 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.vvov, (4, 2, 1, 5), (3, 5, 0, 4)) - x465 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x465 += einsum(t2.aaaa, (0, 1, 2, 3), v.aabb.ovvv, (1, 3, 4, 5), (4, 5, 0, 2)) - x466 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x466 += einsum(v.bbbb.ovov, (0, 1, 2, 3), t3.babbab, (0, 4, 2, 5, 6, 3), (5, 1, 4, 6)) - x467 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x467 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.abaaba, (4, 2, 0, 5, 6, 1), (6, 3, 4, 5)) - x468 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x468 += einsum(t2.abab, (0, 1, 2, 3), x217, (1, 4, 3, 5), (4, 5, 0, 2)) - x469 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x469 += einsum(t2.abab, (0, 1, 2, 3), x8, (1, 4, 0, 5), (3, 4, 5, 2)) - x470 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x470 += einsum(v.aabb.ovvv, (0, 1, 2, 3), (2, 3, 0, 1)) - x470 += einsum(x463, (0, 1, 2, 3), (1, 0, 2, 3)) - x470 += einsum(x464, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x470 += einsum(x465, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 - x470 += einsum(x466, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.99999999999992 - x470 += einsum(x467, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.999999999999921 - x470 += einsum(x468, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x470 += einsum(x469, (0, 1, 2, 3), (0, 1, 2, 3)) - l2new_abab += einsum(x470, (0, 1, 2, 3), l3.abaaba, (4, 0, 3, 5, 6, 2), (4, 1, 5, 6)) * 2.0 - del x470 - x471 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x471 += einsum(v.aabb.vvov, (0, 1, 2, 3), (2, 3, 0, 1)) - x471 += einsum(x418, (0, 1, 2, 3), (0, 1, 3, 2)) - del x418 - x471 += einsum(x419, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - del x419 - x471 += einsum(x420, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x420 - x471 += einsum(x421, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.999999999999921 - del x421 - x471 += einsum(x422, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.99999999999992 - del x422 - x471 += einsum(t2.abab, (0, 1, 2, 3), x235, (0, 2, 4, 5), (1, 3, 5, 4)) * -1.0 - x471 += einsum(x425, (0, 1, 2, 3), (0, 1, 2, 3)) - del x425 - l2new_abab += einsum(x471, (0, 1, 2, 3), l3.babbab, (4, 2, 1, 5, 6, 0), (3, 4, 6, 5)) * 2.0 - del x471 - x472 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x472 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) * 0.5 - x472 += einsum(x428, (0, 1, 2, 3), (0, 3, 2, 1)) * -0.5 - del x428 - x472 += einsum(x429, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.5 - del x429 - x472 += einsum(x430, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.49999999999998 - del x430 - x472 += einsum(x431, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.4999999999999405 - del x431 - x472 += einsum(t2.aaaa, (0, 1, 2, 3), x432, (1, 3, 4, 5), (0, 2, 5, 4)) * -1.0 - del x432 - x472 += einsum(t2.aaaa, (0, 1, 2, 3), x434, (0, 4, 1, 5), (4, 2, 3, 5)) * -0.5 - del x434 - l2new_abab += einsum(x472, (0, 1, 2, 3), l3.abaaba, (1, 4, 2, 5, 6, 0), (3, 4, 5, 6)) * 4.0 - del x472 - x473 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x473 += einsum(t1.bb, (0, 1), v.bbbb.vvvv, (2, 3, 4, 1), (0, 2, 3, 4)) - x474 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x474 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovvv, (0, 2, 4, 5), (1, 3, 4, 5)) - x475 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x475 += einsum(v.bbbb.ovov, (0, 1, 2, 3), t3.bbbbbb, (4, 0, 2, 5, 6, 3), (4, 5, 6, 1)) - x476 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x476 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.babbab, (4, 0, 2, 5, 1, 6), (4, 5, 6, 3)) - x477 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x477 += einsum(t2.bbbb, (0, 1, 2, 3), x217, (1, 3, 4, 5), (0, 2, 4, 5)) * 2.0 - x478 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x478 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x478 += einsum(x3, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x479 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x479 += einsum(t2.bbbb, (0, 1, 2, 3), x478, (0, 4, 1, 5), (4, 2, 3, 5)) * -1.0 - del x478 - x480 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x480 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x480 += einsum(x473, (0, 1, 2, 3), (0, 2, 3, 1)) - x480 += einsum(x474, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x480 += einsum(x475, (0, 1, 2, 3), (0, 2, 1, 3)) * -2.999999999999881 - x480 += einsum(x476, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.99999999999996 - x480 += einsum(x477, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x480 += einsum(x479, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - l2new_abab += einsum(x480, (0, 1, 2, 3), l3.babbab, (1, 4, 2, 5, 6, 0), (4, 3, 6, 5)) * 2.0 - del x480 - x481 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x481 += einsum(v.aabb.ooov, (0, 1, 2, 3), (2, 3, 0, 1)) - x481 += einsum(x7, (0, 1, 2, 3), (0, 1, 2, 3)) - x481 += einsum(x304, (0, 1, 2, 3), (0, 1, 2, 3)) - del x304 - x481 += einsum(x305, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.999999999999921 - del x305 - x481 += einsum(x306, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.99999999999992 - del x306 - x481 += einsum(x307, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x307 - x481 += einsum(x308, (0, 1, 2, 3), (0, 1, 3, 2)) - del x308 - x481 += einsum(x309, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x309 - x481 += einsum(x310, (0, 1, 2, 3), (0, 1, 2, 3)) - del x310 - x481 += einsum(x312, (0, 1, 2, 3), (0, 1, 3, 2)) - del x312 - x481 += einsum(x313, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x313 - l2new_abab += einsum(x481, (0, 1, 2, 3), l3.babbab, (4, 5, 1, 6, 2, 0), (5, 4, 3, 6)) * -2.0 - del x481 - x482 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x482 += einsum(v.aabb.ovoo, (0, 1, 2, 3), (2, 3, 0, 1)) * 0.5 - x482 += einsum(x118, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.5 - x482 += einsum(x119, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - x482 += einsum(x120, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.99999999999996 - x482 += einsum(x121, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.9999999999999605 - x482 += einsum(t2.abab, (0, 1, 2, 3), x122, (4, 5, 1, 3), (5, 4, 0, 2)) * -0.5 - del x122 - x482 += einsum(t2.aaaa, (0, 1, 2, 3), x39, (4, 5, 1, 3), (5, 4, 0, 2)) - x482 += einsum(t2.abab, (0, 1, 2, 3), x8, (4, 3, 0, 5), (1, 4, 5, 2)) * -0.5 - x482 += einsum(x21, (0, 1), t2.abab, (2, 3, 4, 1), (3, 0, 2, 4)) * 0.5 - del x21 - x482 += einsum(t1.bb, (0, 1), x126, (2, 1, 3, 4), (0, 2, 3, 4)) * 0.5 - del x126 - x482 += einsum(t1.aa, (0, 1), x128, (2, 3, 0, 4), (3, 2, 4, 1)) * -0.5 - del x128 - l2new_abab += einsum(x482, (0, 1, 2, 3), l3.abaaba, (4, 5, 3, 6, 0, 2), (4, 5, 6, 1)) * -4.0 - del x482 - x483 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x483 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * 0.3333333333333466 - x483 += einsum(x315, (0, 1, 2, 3), (2, 1, 0, 3)) * 0.3333333333333466 - del x315 - x483 += einsum(x316, (0, 1, 2, 3), (2, 1, 0, 3)) * -0.33333333333333326 - del x316 - x483 += einsum(x317, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - del x317 - x483 += einsum(t2.aaaa, (0, 1, 2, 3), x231, (4, 5, 1, 3), (5, 0, 4, 2)) * -0.6666666666666932 - del x231 - x483 += einsum(t2.abab, (0, 1, 2, 3), x31, (1, 3, 4, 5), (5, 0, 4, 2)) * 0.3333333333333466 - x483 += einsum(x245, (0, 1), t2.aaaa, (2, 3, 4, 1), (0, 2, 3, 4)) * 0.3333333333333466 - del x245 - x483 += einsum(t1.aa, (0, 1), x319, (2, 3, 1, 4), (3, 2, 0, 4)) * 0.3333333333333466 - del x319 - x483 += einsum(t1.aa, (0, 1), x254, (0, 2, 3, 4), (3, 2, 4, 1)) * -0.3333333333333466 - del x254 - l2new_abab += einsum(x483, (0, 1, 2, 3), l3.abaaba, (4, 5, 3, 1, 6, 2), (4, 5, 0, 6)) * 5.999999999999762 - del x483 - x484 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x484 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x484 += einsum(x146, (0, 1, 2, 3), (2, 1, 0, 3)) - x484 += einsum(x147, (0, 1, 2, 3), (2, 1, 0, 3)) * -2.999999999999881 - x484 += einsum(x148, (0, 1, 2, 3), (2, 1, 0, 3)) * -0.99999999999996 - x484 += einsum(x149, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - x484 += einsum(x150, (0, 1, 2, 3), (2, 0, 1, 3)) - del x150 - x484 += einsum(x151, (0, 1, 2, 3), (2, 1, 0, 3)) - del x151 - x484 += einsum(x154, (0, 1, 2, 3), (2, 1, 0, 3)) - del x154 - x484 += einsum(x155, (0, 1, 2, 3), (1, 2, 0, 3)) - del x155 - l2new_abab += einsum(x484, (0, 1, 2, 3), l3.babbab, (4, 5, 3, 1, 6, 2), (5, 4, 6, 0)) * 2.0 - del x484 - x485 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x485 += einsum(t1.aa, (0, 1), x8, (2, 3, 0, 4), (2, 3, 4, 1)) - del x8 - x486 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x486 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) - x486 += einsum(x15, (0, 1, 2, 3), (0, 1, 2, 3)) - x486 += einsum(x16, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x486 += einsum(x17, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x17 - x486 += einsum(x485, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x485 - l2new_abab += einsum(x486, (0, 1, 2, 3), x91, (4, 0, 2, 5, 6, 3), (6, 1, 5, 4)) * 2.0 - x487 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x487 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x487 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x487 += einsum(t1.aa, (0, 1), v.aaaa.ooov, (2, 3, 0, 4), (2, 3, 1, 4)) - x487 += einsum(x232, (0, 1, 2, 3), (0, 1, 2, 3)) - x487 += einsum(x234, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x234 - l2new_abab += einsum(x487, (0, 1, 2, 3), x61, (4, 5, 0, 6, 1, 2), (3, 5, 6, 4)) * -2.0 - del x487 - x488 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x488 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x488 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x488 += einsum(t1.bb, (0, 1), v.bbbb.ooov, (2, 3, 0, 4), (2, 3, 1, 4)) - x488 += einsum(x9, (0, 1, 2, 3), (0, 1, 2, 3)) - x488 += einsum(x11, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - l2new_abab += einsum(x488, (0, 1, 2, 3), x74, (0, 4, 1, 2, 5, 6), (6, 3, 5, 4)) * -2.0 - del x488 - x489 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x489 += einsum(t1.bb, (0, 1), x12, (2, 1, 3, 4), (0, 2, 3, 4)) - x490 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x490 += einsum(t1.bb, (0, 1), x3, (2, 3, 0, 4), (2, 3, 1, 4)) - x490 += einsum(x489, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - l2new_abab += einsum(x490, (0, 1, 2, 3), x74, (0, 4, 1, 2, 5, 6), (6, 3, 5, 4)) * 2.0 - del x490 - x491 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x491 += einsum(x271, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5000000000000198 - del x271 - x491 += einsum(x272, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5000000000000198 - del x272 - x491 += einsum(x273, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.7499999999999999 - del x273 - x491 += einsum(x274, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5000000000000198 - del x274 - x491 += einsum(x275, (0, 1, 2, 3), (0, 1, 2, 3)) - del x275 - x491 += einsum(x276, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5000000000000198 - del x276 - x491 += einsum(x277, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.7499999999999999 - del x277 - x491 += einsum(t1.bb, (0, 1), x106, (0, 2, 3, 4), (2, 1, 3, 4)) * -0.5000000000000198 - l2new_abab += einsum(x10, (0, 1, 2, 3), x491, (0, 2, 4, 5), (5, 3, 4, 1)) * -3.999999999999842 - del x491 - x492 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x492 += einsum(v.aabb.oovv, (0, 1, 2, 3), (2, 3, 0, 1)) - x492 += einsum(x247, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - l2new_abab += einsum(x492, (0, 1, 2, 3), x61, (4, 0, 2, 5, 3, 6), (6, 1, 5, 4)) * 2.0 - x493 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x493 += einsum(l2.aaaa, (0, 1, 2, 3), (2, 3, 0, 1)) - x493 += einsum(x282, (0, 1, 2, 3), (1, 0, 3, 2)) * 0.5 - del x282 - x493 += einsum(x283, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - del x283 - x493 += einsum(x284, (0, 1, 2, 3), (1, 0, 3, 2)) * 0.49999999999998 - del x284 - x493 += einsum(x285, (0, 1, 2, 3), (1, 0, 3, 2)) * 1.999999999999921 - del x285 - x493 += einsum(x286, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x286 - x493 += einsum(x287, (0, 1, 2, 3), (1, 0, 3, 2)) * 4.4999999999998215 - del x287 - x493 += einsum(x288, (0, 1, 2, 3), (1, 0, 3, 2)) * -3.0 - del x288 - x493 += einsum(t1.aa, (0, 1), x333, (0, 2, 3, 4), (3, 2, 1, 4)) - del x333 - l2new_abab += einsum(v.aabb.ovov, (0, 1, 2, 3), x493, (0, 4, 1, 5), (5, 3, 4, 2)) * 2.0 - del x493 - x494 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x494 += einsum(x64, (0, 1, 2, 3), (0, 1, 2, 3)) - del x64 - x494 += einsum(x65, (0, 1, 2, 3), (0, 1, 2, 3)) - del x65 - x495 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x495 += einsum(t1.aa, (0, 1), x494, (2, 3, 0, 4), (2, 3, 4, 1)) * 2.0 - x496 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x496 += einsum(l2.abab, (0, 1, 2, 3), (3, 1, 2, 0)) - x496 += einsum(x54, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x496 += einsum(x55, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x496 += einsum(x56, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.999999999999881 - x496 += einsum(x57, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.999999999999842 - x496 += einsum(x59, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - x496 += einsum(x60, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.999999999999881 - x496 += einsum(x62, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - x496 += einsum(x495, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x495 - l2new_abab += einsum(v.aaaa.ovov, (0, 1, 2, 3), x496, (4, 5, 2, 3), (1, 5, 0, 4)) - x497 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x497 += einsum(l2.bbbb, (0, 1, 2, 3), (2, 3, 0, 1)) * 2.0 - x497 += einsum(x81, (0, 1, 2, 3), (1, 0, 3, 2)) * 4.0 - x497 += einsum(x82, (0, 1, 2, 3), (1, 0, 3, 2)) - x497 += einsum(x83, (0, 1, 2, 3), (1, 0, 3, 2)) * 8.999999999999643 - x497 += einsum(x73, (0, 1, 2, 3), (1, 0, 3, 2)) * -6.0 - x497 += einsum(x84, (0, 1, 2, 3), (1, 0, 3, 2)) * 3.999999999999842 - x497 += einsum(x75, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 - x497 += einsum(x85, (0, 1, 2, 3), (1, 0, 3, 2)) * 0.99999999999996 - x497 += einsum(t1.bb, (0, 1), x157, (0, 2, 3, 4), (3, 2, 1, 4)) * 6.0 - l2new_abab += einsum(v.aabb.ovov, (0, 1, 2, 3), x497, (2, 4, 3, 5), (1, 5, 0, 4)) - del x497 - x498 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x498 += einsum(x54, (0, 1, 2, 3), (0, 1, 2, 3)) - del x54 - x498 += einsum(x55, (0, 1, 2, 3), (0, 1, 2, 3)) - del x55 - x498 += einsum(x56, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.4999999999999405 - del x56 - x498 += einsum(x57, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.999999999999921 - del x57 - x498 += einsum(x59, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x59 - x498 += einsum(x60, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.4999999999999405 - del x60 - x498 += einsum(x62, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x62 - x498 += einsum(t1.aa, (0, 1), x494, (2, 3, 0, 4), (2, 3, 4, 1)) * -1.0 - l2new_abab += einsum(v.aaaa.ovov, (0, 1, 2, 3), x498, (4, 5, 2, 1), (3, 5, 0, 4)) * -2.0 - del x498 - x499 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x499 += einsum(x0, (0, 1, 2, 3), (0, 2, 1, 3)) * -3.0 - x499 += einsum(x116, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - l2new_abab += einsum(v.aabb.ovvv, (0, 1, 2, 3), x499, (4, 5, 2, 3), (1, 5, 0, 4)) * 2.0 - x500 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x500 += einsum(x291, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - del x291 - x500 += einsum(x292, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.99999999999996 - del x292 - x500 += einsum(x293, (0, 1, 2, 3), (0, 1, 2, 3)) - del x293 - x500 += einsum(x294, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.99999999999996 - del x294 - x500 += einsum(x295, (0, 1, 2, 3), (0, 1, 2, 3)) - del x295 - x500 += einsum(t1.bb, (0, 1), x494, (0, 2, 3, 4), (2, 1, 3, 4)) - del x494 - l2new_abab += einsum(v.aabb.ovov, (0, 1, 2, 3), x500, (4, 3, 5, 0), (1, 4, 5, 2)) * 2.0 - del x500 - x501 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x501 += einsum(x87, (0, 1, 2, 3), (0, 1, 2, 3)) - del x87 - x501 += einsum(x88, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.99999999999992 - del x88 - x501 += einsum(x89, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x89 - x501 += einsum(x90, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.99999999999992 - del x90 - x501 += einsum(x92, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x92 - x501 += einsum(t1.aa, (0, 1), x106, (2, 3, 0, 4), (2, 3, 4, 1)) * 2.0 - del x106 - l2new_abab += einsum(v.aabb.ovov, (0, 1, 2, 3), x501, (4, 2, 5, 1), (5, 3, 0, 4)) - del x501 - x502 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x502 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) - x502 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x502 += einsum(x489, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x489 - l2new_abab += einsum(l2.abab, (0, 1, 2, 3), x502, (3, 4, 1, 5), (0, 5, 2, 4)) * -1.0 - del x502 - x503 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x503 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) - x503 += einsum(x445, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x445 - l2new_abab += einsum(l2.abab, (0, 1, 2, 3), x503, (2, 4, 0, 5), (5, 1, 4, 3)) * -1.0 - del x503 - x504 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x504 += einsum(v.aabb.oovv, (0, 1, 2, 3), (2, 3, 0, 1)) - x504 += einsum(x246, (0, 1, 2, 3), (1, 0, 2, 3)) - l2new_abab += einsum(l2.abab, (0, 1, 2, 3), x504, (1, 4, 2, 5), (0, 4, 5, 3)) * -1.0 - del x504 - x505 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x505 += einsum(v.aabb.vvoo, (0, 1, 2, 3), (2, 3, 0, 1)) - x505 += einsum(x22, (0, 1, 2, 3), (0, 1, 3, 2)) - l2new_abab += einsum(l2.abab, (0, 1, 2, 3), x505, (3, 4, 0, 5), (5, 1, 2, 4)) * -1.0 - del x505 - x506 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x506 += einsum(v.aabb.oooo, (0, 1, 2, 3), (2, 3, 0, 1)) - x506 += einsum(x29, (0, 1, 2, 3), (1, 0, 2, 3)) - del x29 - x506 += einsum(x30, (0, 1, 2, 3), (0, 1, 2, 3)) - del x30 - x506 += einsum(x249, (0, 1, 2, 3), (0, 1, 3, 2)) - del x249 - l2new_abab += einsum(l2.abab, (0, 1, 2, 3), x506, (3, 4, 2, 5), (0, 1, 5, 4)) - x507 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x507 += einsum(t1.aa, (0, 1), x235, (0, 2, 1, 3), (2, 3)) - del x235 - x508 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x508 += einsum(f.aa.vv, (0, 1), (0, 1)) * -1.0 - x508 += einsum(x351, (0, 1), (1, 0)) * -1.0 - del x351 - x508 += einsum(x451, (0, 1), (0, 1)) - del x451 - x508 += einsum(x452, (0, 1), (0, 1)) * 2.0 - del x452 - x508 += einsum(x507, (0, 1), (1, 0)) * -1.0 - del x507 - l2new_abab += einsum(x508, (0, 1), l2.abab, (0, 2, 3, 4), (1, 2, 3, 4)) * -1.0 - l3new_babbab += einsum(x508, (0, 1), l3.babbab, (2, 0, 3, 4, 5, 6), (2, 1, 3, 4, 5, 6)) * -2.0 - del x508 - x509 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x509 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (0, 4, 1, 3), (2, 4)) - x510 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x510 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 1, 4), (3, 4)) - x511 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x511 += einsum(t1.bb, (0, 1), x217, (0, 1, 2, 3), (2, 3)) - del x217 - x512 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x512 += einsum(f.bb.vv, (0, 1), (0, 1)) * -1.0 - x512 += einsum(x216, (0, 1), (1, 0)) * -1.0 - x512 += einsum(x509, (0, 1), (0, 1)) * 2.0 - x512 += einsum(x510, (0, 1), (0, 1)) - x512 += einsum(x511, (0, 1), (1, 0)) * -1.0 - del x511 - l2new_abab += einsum(x512, (0, 1), l2.abab, (2, 0, 3, 4), (2, 1, 3, 4)) * -1.0 - l3new_abaaba += einsum(x512, (0, 1), l3.abaaba, (2, 0, 3, 4, 5, 6), (2, 1, 3, 4, 5, 6)) * -2.0 - del x512 - x513 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x513 += einsum(x180, (0, 1), (0, 1)) * 1.00000000000004 - del x180 - x513 += einsum(x181, (0, 1), (0, 1)) * 2.00000000000008 - del x181 - x513 += einsum(x182, (0, 1), (0, 1)) - del x182 - x513 += einsum(x183, (0, 1), (0, 1)) * 1.9999999999999991 - del x183 - x513 += einsum(x184, (0, 1), (0, 1)) * 2.9999999999999982 - del x184 - l2new_abab += einsum(x513, (0, 1), v.aabb.ovov, (2, 1, 3, 4), (0, 4, 2, 3)) * -0.9999999999999601 - del x513 - x514 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x514 += einsum(x161, (0, 1), (0, 1)) * 2.0 - x514 += einsum(x162, (0, 1), (0, 1)) - x514 += einsum(x163, (0, 1), (0, 1)) * 2.9999999999998788 - x514 += einsum(x164, (0, 1), (0, 1)) * 1.9999999999999194 - x514 += einsum(x211, (0, 1), (0, 1)) * 0.9999999999999601 - l2new_abab += einsum(x514, (0, 1), v.aabb.ovov, (2, 3, 4, 1), (3, 0, 2, 4)) * -1.0 - del x514 - x515 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x515 += einsum(x230, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x515 += einsum(x230, (0, 1, 2, 3), (0, 2, 1, 3)) - l2new_abab += einsum(x515, (0, 1, 2, 3), x63, (4, 5, 0, 1), (3, 5, 2, 4)) * -1.0 - l3new_babbab += einsum(x515, (0, 1, 2, 3), x58, (4, 5, 6, 7, 0, 1), (6, 3, 7, 5, 2, 4)) * 2.0 - x516 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x516 += einsum(x3, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x516 += einsum(x3, (0, 1, 2, 3), (0, 2, 1, 3)) - l2new_abab += einsum(x516, (0, 1, 2, 3), x93, (0, 2, 4, 5), (5, 3, 4, 1)) - del x93 - l3new_abaaba += einsum(x516, (0, 1, 2, 3), x91, (0, 1, 4, 5, 6, 7), (6, 3, 7, 5, 2, 4)) * 2.0 - x517 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x517 += einsum(x199, (0, 1), (0, 1)) * 1.00000000000004 - del x199 - x517 += einsum(x200, (0, 1), (0, 1)) * 1.00000000000004 - del x200 - x517 += einsum(x201, (0, 1), (0, 1)) * 2.00000000000008 - del x201 - x517 += einsum(x202, (0, 1), (0, 1)) - del x202 - x517 += einsum(x203, (0, 1), (0, 1)) * 1.9999999999999991 - del x203 - x517 += einsum(x204, (0, 1), (0, 1)) * 2.9999999999999982 - del x204 - l2new_abab += einsum(x517, (0, 1), v.aabb.ovov, (1, 2, 3, 4), (2, 4, 0, 3)) * -0.9999999999999601 - del x517 - x518 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x518 += einsum(l1.bb, (0, 1), v.bbbb.ovvv, (2, 3, 4, 0), (1, 2, 3, 4)) - x519 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x519 += einsum(l2.abab, (0, 1, 2, 3), x15, (4, 5, 2, 0), (3, 4, 1, 5)) - x520 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x520 += einsum(x63, (0, 1, 2, 3), x7, (4, 5, 2, 3), (0, 4, 1, 5)) - del x63 - x521 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x521 += einsum(x499, (0, 1, 2, 3), x80, (4, 3, 1, 5), (4, 0, 5, 2)) * 2.0 - del x499 - x522 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x522 += einsum(t1.bb, (0, 1), x157, (2, 0, 3, 4), (2, 3, 1, 4)) * 3.0 - del x157 - x523 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x523 += einsum(x81, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x81 - x523 += einsum(x82, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - del x82 - x523 += einsum(x83, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.4999999999998215 - del x83 - x523 += einsum(x73, (0, 1, 2, 3), (0, 1, 2, 3)) * -3.0 - del x73 - x523 += einsum(x84, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.999999999999921 - del x84 - x523 += einsum(x75, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x75 - x523 += einsum(x85, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.49999999999998 - del x85 - x523 += einsum(x522, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x522 - x524 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x524 += einsum(x10, (0, 1, 2, 3), x523, (4, 0, 5, 2), (1, 4, 3, 5)) * 2.0 - del x523 - x525 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x525 += einsum(v.aabb.ovov, (0, 1, 2, 3), x496, (4, 5, 0, 1), (2, 4, 3, 5)) - del x496 - x526 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x526 += einsum(v.aabb.vvov, (0, 1, 2, 3), x100, (4, 5, 0, 1), (2, 4, 3, 5)) * 2.0 - x527 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x527 += einsum(t1.bb, (0, 1), x80, (2, 1, 3, 4), (0, 2, 3, 4)) - del x80 - x528 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x528 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x528 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x528 += einsum(x527, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x527 - x529 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x529 += einsum(l2.bbbb, (0, 1, 2, 3), x528, (3, 4, 5, 1), (2, 4, 0, 5)) * 2.0 - del x528 - x530 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x530 += einsum(x1, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.3333333333333333 - x530 += einsum(x76, (0, 1, 2, 3), (0, 1, 2, 3)) - del x76 - x530 += einsum(x77, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.3333333333333333 - del x77 - x531 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x531 += einsum(x213, (0, 1, 2, 3), x530, (4, 0, 2, 5), (1, 4, 3, 5)) * 6.0 - del x530 - x532 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x532 += einsum(x161, (0, 1), (0, 1)) - del x161 - x532 += einsum(x162, (0, 1), (0, 1)) * 0.5 - del x162 - x532 += einsum(x163, (0, 1), (0, 1)) * 1.4999999999999394 - del x163 - x532 += einsum(x164, (0, 1), (0, 1)) * 0.9999999999999597 - del x164 - x532 += einsum(x211, (0, 1), (0, 1)) * 0.49999999999998007 - del x211 - x533 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x533 += einsum(x532, (0, 1), v.bbbb.ovov, (2, 1, 3, 4), (2, 3, 4, 0)) * 2.0 - del x532 - x534 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x534 += einsum(v.aabb.ooov, (0, 1, 2, 3), x101, (4, 5, 0, 1), (2, 4, 3, 5)) - del x101 - x535 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x535 += einsum(x1, (0, 1, 2, 3), x516, (0, 2, 4, 5), (1, 4, 3, 5)) * 2.0 - del x1 - x536 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x536 += einsum(x341, (0, 1), v.bbbb.ovov, (2, 3, 1, 4), (2, 0, 4, 3)) - del x341 - x537 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x537 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x537 += einsum(x3, (0, 1, 2, 3), (0, 1, 2, 3)) - x538 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x538 += einsum(l1.bb, (0, 1), x537, (1, 2, 3, 4), (2, 3, 0, 4)) - x539 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x539 += einsum(f.bb.ov, (0, 1), l1.bb, (2, 3), (0, 3, 1, 2)) - x539 += einsum(x518, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x518 - x539 += einsum(x519, (0, 1, 2, 3), (0, 1, 2, 3)) - del x519 - x539 += einsum(x520, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x520 - x539 += einsum(x521, (0, 1, 2, 3), (1, 0, 3, 2)) - del x521 - x539 += einsum(x524, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x524 - x539 += einsum(x525, (0, 1, 2, 3), (1, 0, 3, 2)) - del x525 - x539 += einsum(x526, (0, 1, 2, 3), (1, 0, 3, 2)) - del x526 - x539 += einsum(x529, (0, 1, 2, 3), (0, 1, 2, 3)) - del x529 - x539 += einsum(x531, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x531 - x539 += einsum(x533, (0, 1, 2, 3), (1, 0, 3, 2)) - del x533 - x539 += einsum(x534, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x534 - x539 += einsum(x535, (0, 1, 2, 3), (0, 1, 2, 3)) - del x535 - x539 += einsum(x536, (0, 1, 2, 3), (1, 0, 3, 2)) - del x536 - x539 += einsum(x538, (0, 1, 2, 3), (0, 1, 2, 3)) - del x538 - x539 += einsum(l1.bb, (0, 1), x227, (2, 3), (1, 2, 0, 3)) - l2new_bbbb += einsum(x539, (0, 1, 2, 3), (2, 3, 0, 1)) - l2new_bbbb += einsum(x539, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - l2new_bbbb += einsum(x539, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 - l2new_bbbb += einsum(x539, (0, 1, 2, 3), (3, 2, 1, 0)) - del x539 - x540 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x540 += einsum(f.bb.ov, (0, 1), t1.bb, (2, 1), (0, 2)) - x541 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x541 += einsum(x540, (0, 1), l2.bbbb, (2, 3, 4, 1), (0, 4, 2, 3)) - x542 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x542 += einsum(l2.bbbb, (0, 1, 2, 3), x27, (3, 2, 4, 5), (4, 5, 0, 1)) * -1.0 - x543 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x543 += einsum(f.bb.ov, (0, 1), t2.bbbb, (2, 3, 4, 1), (0, 2, 3, 4)) - x544 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x544 += einsum(x543, (0, 1, 2, 3), l3.bbbbbb, (4, 5, 3, 6, 1, 2), (0, 6, 4, 5)) * -1.0 - del x543 - x545 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x545 += einsum(f.bb.ov, (0, 1), t2.abab, (2, 3, 4, 1), (0, 3, 2, 4)) - x546 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x546 += einsum(x545, (0, 1, 2, 3), l3.babbab, (4, 3, 5, 6, 2, 1), (0, 6, 4, 5)) - del x545 - x547 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x547 += einsum(x227, (0, 1), t2.abab, (2, 3, 4, 1), (3, 0, 2, 4)) - x548 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x548 += einsum(v.aabb.ovoo, (0, 1, 2, 3), (2, 3, 0, 1)) - x548 += einsum(x118, (0, 1, 2, 3), (1, 0, 2, 3)) - del x118 - x548 += einsum(x119, (0, 1, 2, 3), (0, 1, 2, 3)) - del x119 - x548 += einsum(x120, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.99999999999992 - del x120 - x548 += einsum(x121, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.999999999999921 - del x121 - x548 += einsum(x123, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x123 - x548 += einsum(x124, (0, 1, 2, 3), (1, 0, 2, 3)) - del x124 - x548 += einsum(x125, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x125 - x548 += einsum(x547, (0, 1, 2, 3), (0, 1, 2, 3)) - del x547 - x548 += einsum(x127, (0, 1, 2, 3), (0, 1, 2, 3)) - del x127 - x548 += einsum(x129, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x129 - x549 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x549 += einsum(x548, (0, 1, 2, 3), l3.babbab, (4, 3, 5, 6, 2, 0), (6, 1, 4, 5)) * -2.0 - del x548 - x550 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x550 += einsum(t2.abab, (0, 1, 2, 3), x39, (4, 5, 0, 2), (1, 4, 5, 3)) - del x39 - x551 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x551 += einsum(x227, (0, 1), t2.bbbb, (2, 3, 4, 1), (2, 3, 0, 4)) * -1.0 - x552 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x552 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x552 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x552 += einsum(x152, (0, 1, 2, 3), (1, 0, 2, 3)) - del x152 - x553 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x553 += einsum(t1.bb, (0, 1), x552, (2, 3, 1, 4), (0, 2, 3, 4)) - del x552 - x554 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x554 += einsum(t1.bb, (0, 1), x48, (0, 2, 3, 4), (2, 3, 4, 1)) - del x48 - x555 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x555 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) - x555 += einsum(x146, (0, 1, 2, 3), (1, 0, 2, 3)) - del x146 - x555 += einsum(x147, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.999999999999881 - del x147 - x555 += einsum(x148, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.9999999999999606 - del x148 - x555 += einsum(x149, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x149 - x555 += einsum(x550, (0, 1, 2, 3), (0, 2, 1, 3)) - del x550 - x555 += einsum(x551, (0, 1, 2, 3), (1, 0, 2, 3)) - del x551 - x555 += einsum(x553, (0, 1, 2, 3), (2, 0, 1, 3)) - del x553 - x555 += einsum(x554, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x554 - x556 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x556 += einsum(x555, (0, 1, 2, 3), l3.bbbbbb, (4, 5, 3, 6, 0, 1), (6, 2, 4, 5)) * -6.0 - del x555 - x557 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x557 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x557 += einsum(x3, (0, 1, 2, 3), (0, 2, 1, 3)) - x558 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x558 += einsum(x136, (0, 1, 2, 3), x557, (0, 4, 5, 3), (4, 5, 1, 2)) * 6.0 - del x557 - x559 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x559 += einsum(t1.bb, (0, 1), x227, (2, 1), (0, 2)) - x560 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x560 += einsum(x219, (0, 1), (1, 0)) - x560 += einsum(x220, (0, 1), (0, 1)) * 2.0 - x560 += einsum(x221, (0, 1), (0, 1)) - x560 += einsum(x223, (0, 1), (1, 0)) * -1.0 - x560 += einsum(x559, (0, 1), (0, 1)) - del x559 - x561 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x561 += einsum(x560, (0, 1), l2.bbbb, (2, 3, 4, 0), (4, 1, 2, 3)) * -2.0 - x562 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x562 += einsum(x541, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - del x541 - x562 += einsum(x542, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - del x542 - x562 += einsum(x544, (0, 1, 2, 3), (0, 1, 3, 2)) * 6.0 - del x544 - x562 += einsum(x546, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - del x546 - x562 += einsum(x549, (0, 1, 2, 3), (0, 1, 3, 2)) - del x549 - x562 += einsum(x556, (0, 1, 2, 3), (0, 1, 2, 3)) - del x556 - x562 += einsum(x558, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x558 - x562 += einsum(x561, (0, 1, 2, 3), (0, 1, 3, 2)) - del x561 - l2new_bbbb += einsum(x562, (0, 1, 2, 3), (3, 2, 0, 1)) - l2new_bbbb += einsum(x562, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 - del x562 - x563 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x563 += einsum(f.bb.vv, (0, 1), l2.bbbb, (2, 1, 3, 4), (3, 4, 0, 2)) - x564 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x564 += einsum(x246, (0, 1, 2, 3), x58, (4, 5, 6, 1, 2, 3), (4, 5, 6, 0)) - x565 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x565 += einsum(v.aabb.ovvv, (0, 1, 2, 3), (2, 3, 0, 1)) - x565 += einsum(x463, (0, 1, 2, 3), (1, 0, 2, 3)) - del x463 - x565 += einsum(x464, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x464 - x565 += einsum(x465, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 - del x465 - x565 += einsum(x466, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.99999999999992 - del x466 - x565 += einsum(x467, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.999999999999921 - del x467 - x565 += einsum(x468, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x468 - x565 += einsum(x469, (0, 1, 2, 3), (1, 0, 2, 3)) - del x469 - x566 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x566 += einsum(x565, (0, 1, 2, 3), l3.babbab, (4, 3, 1, 5, 2, 6), (5, 6, 4, 0)) * -2.0 - del x565 - x567 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x567 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) - x567 += einsum(x473, (0, 1, 2, 3), (0, 3, 2, 1)) * -1.0 - del x473 - x567 += einsum(x474, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x474 - x567 += einsum(x475, (0, 1, 2, 3), (0, 2, 1, 3)) * -2.999999999999881 - del x475 - x567 += einsum(x476, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.9999999999999606 - del x476 - x567 += einsum(x477, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x477 - x567 += einsum(x479, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x479 - x568 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x568 += einsum(x567, (0, 1, 2, 3), l3.bbbbbb, (4, 1, 2, 5, 6, 0), (5, 6, 4, 3)) * -6.0 - del x567 - x569 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x569 += einsum(x486, (0, 1, 2, 3), x74, (4, 5, 0, 6, 2, 3), (4, 5, 6, 1)) * 2.0 - del x486 - x570 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x570 += einsum(t1.bb, (0, 1), v.bbbb.ooov, (2, 0, 3, 4), (2, 3, 1, 4)) - x571 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x571 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x571 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x571 += einsum(x570, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x570 - x571 += einsum(x9, (0, 1, 2, 3), (0, 1, 2, 3)) - x571 += einsum(x11, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x11 - x572 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x572 += einsum(x571, (0, 1, 2, 3), x72, (4, 5, 0, 1, 2, 6), (4, 5, 6, 3)) * 6.0 - del x571 - x573 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x573 += einsum(t1.bb, (0, 1), x3, (2, 0, 3, 4), (2, 3, 1, 4)) - x574 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x574 += einsum(x573, (0, 1, 2, 3), (0, 1, 2, 3)) - del x573 - x574 += einsum(x13, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x575 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x575 += einsum(x574, (0, 1, 2, 3), x72, (4, 5, 0, 1, 2, 6), (4, 5, 6, 3)) * 6.0 - del x574 - x576 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x576 += einsum(x492, (0, 1, 2, 3), x58, (4, 5, 0, 6, 2, 3), (4, 5, 6, 1)) * 2.0 - del x492 - x577 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x577 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), x137, (4, 5, 0, 3), (4, 5, 1, 2)) * 2.0 - x578 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x578 += einsum(t1.bb, (0, 1), x12, (0, 2, 1, 3), (2, 3)) - del x12 - x579 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x579 += einsum(x216, (0, 1), (1, 0)) * -1.0 - del x216 - x579 += einsum(x509, (0, 1), (1, 0)) * 2.0 - del x509 - x579 += einsum(x510, (0, 1), (1, 0)) - del x510 - x579 += einsum(x578, (0, 1), (0, 1)) * -1.0 - del x578 - x580 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x580 += einsum(x579, (0, 1), l2.bbbb, (2, 1, 3, 4), (3, 4, 2, 0)) * -2.0 - x581 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x581 += einsum(v.bbbb.ovov, (0, 1, 2, 3), x158, (2, 4, 5, 0), (4, 5, 1, 3)) * 6.0 - del x158 - x582 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x582 += einsum(x227, (0, 1), x78, (2, 3, 0, 4), (2, 3, 4, 1)) * 2.0 - x583 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x583 += einsum(f.bb.ov, (0, 1), x78, (2, 3, 0, 4), (2, 3, 1, 4)) * 2.0 - x584 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x584 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x584 += einsum(x563, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - del x563 - x584 += einsum(x564, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - del x564 - x584 += einsum(x566, (0, 1, 2, 3), (1, 0, 3, 2)) - del x566 - x584 += einsum(x568, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x568 - x584 += einsum(x569, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x569 - x584 += einsum(x572, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x572 - x584 += einsum(x575, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x575 - x584 += einsum(x576, (0, 1, 2, 3), (0, 1, 3, 2)) - del x576 - x584 += einsum(x577, (0, 1, 2, 3), (0, 1, 3, 2)) - del x577 - x584 += einsum(x580, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x580 - x584 += einsum(x581, (0, 1, 2, 3), (0, 1, 2, 3)) - del x581 - x584 += einsum(x582, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x582 - x584 += einsum(x583, (0, 1, 2, 3), (1, 0, 3, 2)) - del x583 - l2new_bbbb += einsum(x584, (0, 1, 2, 3), (3, 2, 0, 1)) - l2new_bbbb += einsum(x584, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 - del x584 - x585 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x585 += einsum(f.bb.oo, (0, 1), l2.bbbb, (2, 3, 4, 1), (0, 4, 2, 3)) - l2new_bbbb += einsum(x585, (0, 1, 2, 3), (3, 2, 0, 1)) * -2.0 - l2new_bbbb += einsum(x585, (0, 1, 2, 3), (3, 2, 1, 0)) * 2.0 - del x585 - x586 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x586 += einsum(v.bbbb.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x586 += einsum(x25, (0, 1, 2, 3), (1, 3, 2, 0)) - x586 += einsum(x26, (0, 1, 2, 3), (0, 2, 3, 1)) - l2new_bbbb += einsum(l2.bbbb, (0, 1, 2, 3), x586, (3, 4, 5, 2), (0, 1, 5, 4)) * 2.0 - x587 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x587 += einsum(x141, (0, 1, 2, 3), (1, 0, 3, 2)) * -0.3333333333333468 - del x141 - x587 += einsum(x2, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.3333333333333468 - del x2 - x587 += einsum(x142, (0, 1, 2, 3), (0, 1, 3, 2)) - del x142 - l2new_bbbb += einsum(v.bbbb.ovov, (0, 1, 2, 3), x587, (4, 5, 2, 0), (1, 3, 5, 4)) * -5.9999999999997575 - del x587 - x588 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x588 += einsum(v.aabb.ovoo, (0, 1, 2, 3), x91, (2, 3, 4, 5, 6, 7), (4, 5, 0, 6, 7, 1)) - x589 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x589 += einsum(t2.aaaa, (0, 1, 2, 3), x233, (1, 4, 5, 3), (0, 4, 2, 5)) * 2.0000000000000204 - x590 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x590 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x590 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x590 += einsum(x232, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.00000000000001 - x590 += einsum(x589, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x589 - x590 += einsum(x236, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x591 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x591 += einsum(x590, (0, 1, 2, 3), l3.aaaaaa, (4, 5, 2, 6, 7, 0), (6, 7, 1, 4, 5, 3)) * 6.0 - del x590 - x592 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x592 += einsum(t2.abab, (0, 1, 2, 3), x240, (0, 4, 2, 5), (1, 3, 4, 5)) * 1.00000000000001 - x593 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x593 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) - x593 += einsum(x238, (0, 1, 2, 3), (0, 1, 2, 3)) - x593 += einsum(x592, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x594 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x594 += einsum(x593, (0, 1, 2, 3), l3.abaaba, (4, 1, 5, 6, 0, 7), (6, 7, 2, 4, 5, 3)) * 2.0 - del x593 - x595 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x595 += einsum(x515, (0, 1, 2, 3), x193, (4, 5, 0, 1, 6, 7), (4, 5, 2, 6, 7, 3)) * 6.0 - del x515 - x596 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x596 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x596 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x597 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x597 += einsum(x596, (0, 1, 2, 3), x193, (4, 5, 0, 1, 6, 7), (4, 5, 2, 6, 7, 3)) * 6.0 - del x596 - x598 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x598 += einsum(x588, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 2.0 - del x588 - x598 += einsum(x591, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x591 - x598 += einsum(x594, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) - del x594 - x598 += einsum(x595, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) - del x595 - x598 += einsum(x597, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) - del x597 - l3new_aaaaaa += einsum(x598, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 0, 2)) - l3new_aaaaaa += einsum(x598, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 0, 2)) * -1.0 - l3new_aaaaaa += einsum(x598, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) * -1.0 - l3new_aaaaaa += einsum(x598, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 2, 0)) * -1.0 - l3new_aaaaaa += einsum(x598, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) - l3new_aaaaaa += einsum(x598, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) - l3new_aaaaaa += einsum(x598, (0, 1, 2, 3, 4, 5), (4, 3, 5, 2, 1, 0)) - l3new_aaaaaa += einsum(x598, (0, 1, 2, 3, 4, 5), (4, 5, 3, 2, 1, 0)) * -1.0 - l3new_aaaaaa += einsum(x598, (0, 1, 2, 3, 4, 5), (5, 3, 4, 2, 1, 0)) * -1.0 - del x598 - x599 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x599 += einsum(l2.aaaa, (0, 1, 2, 3), x230, (3, 4, 5, 6), (2, 4, 5, 0, 1, 6)) - del x230 - l3new_aaaaaa += einsum(x599, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 1, 2)) * 2.0 - l3new_aaaaaa += einsum(x599, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 1, 2)) * 2.0 - l3new_aaaaaa += einsum(x599, (0, 1, 2, 3, 4, 5), (5, 4, 3, 0, 1, 2)) * -2.0 - l3new_aaaaaa += einsum(x599, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 2, 1)) * -2.0 - l3new_aaaaaa += einsum(x599, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) * -2.0 - l3new_aaaaaa += einsum(x599, (0, 1, 2, 3, 4, 5), (5, 4, 3, 0, 2, 1)) * 2.0 - l3new_aaaaaa += einsum(x599, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 0, 2)) * -2.0 - l3new_aaaaaa += einsum(x599, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 0, 2)) * -2.0 - l3new_aaaaaa += einsum(x599, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 0, 2)) * 2.0 - l3new_aaaaaa += einsum(x599, (0, 1, 2, 3, 4, 5), (3, 4, 5, 2, 0, 1)) * 2.0 - l3new_aaaaaa += einsum(x599, (0, 1, 2, 3, 4, 5), (4, 5, 3, 2, 0, 1)) * 2.0 - l3new_aaaaaa += einsum(x599, (0, 1, 2, 3, 4, 5), (5, 4, 3, 2, 0, 1)) * -2.0 - l3new_aaaaaa += einsum(x599, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 2, 0)) * 2.0 - l3new_aaaaaa += einsum(x599, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) * 2.0 - l3new_aaaaaa += einsum(x599, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 2, 0)) * -2.0 - l3new_aaaaaa += einsum(x599, (0, 1, 2, 3, 4, 5), (3, 4, 5, 2, 1, 0)) * -2.0 - l3new_aaaaaa += einsum(x599, (0, 1, 2, 3, 4, 5), (4, 5, 3, 2, 1, 0)) * -2.0 - l3new_aaaaaa += einsum(x599, (0, 1, 2, 3, 4, 5), (5, 4, 3, 2, 1, 0)) * 2.0 - del x599 - x600 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x600 += einsum(l2.aaaa, (0, 1, 2, 3), v.aaaa.ovvv, (4, 5, 6, 1), (2, 3, 4, 0, 5, 6)) - x601 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x601 += einsum(v.aaaa.ovov, (0, 1, 2, 3), x326, (4, 5, 2, 6), (4, 5, 0, 6, 3, 1)) * 6.0 - del x326 - x602 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x602 += einsum(x600, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 2.0 - del x600 - x602 += einsum(x601, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 - del x601 - l3new_aaaaaa += einsum(x602, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 0, 2)) - l3new_aaaaaa += einsum(x602, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 0, 2)) * -1.0 - l3new_aaaaaa += einsum(x602, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 0, 2)) * -1.0 - l3new_aaaaaa += einsum(x602, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) - l3new_aaaaaa += einsum(x602, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 0, 2)) - l3new_aaaaaa += einsum(x602, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 0, 2)) * -1.0 - l3new_aaaaaa += einsum(x602, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 2, 0)) * -1.0 - l3new_aaaaaa += einsum(x602, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 2, 0)) - l3new_aaaaaa += einsum(x602, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 2, 0)) - l3new_aaaaaa += einsum(x602, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) * -1.0 - l3new_aaaaaa += einsum(x602, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) * -1.0 - l3new_aaaaaa += einsum(x602, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 2, 0)) - l3new_aaaaaa += einsum(x602, (0, 1, 2, 3, 4, 5), (3, 4, 5, 2, 1, 0)) - l3new_aaaaaa += einsum(x602, (0, 1, 2, 3, 4, 5), (3, 5, 4, 2, 1, 0)) * -1.0 - l3new_aaaaaa += einsum(x602, (0, 1, 2, 3, 4, 5), (4, 3, 5, 2, 1, 0)) * -1.0 - l3new_aaaaaa += einsum(x602, (0, 1, 2, 3, 4, 5), (5, 3, 4, 2, 1, 0)) - l3new_aaaaaa += einsum(x602, (0, 1, 2, 3, 4, 5), (4, 5, 3, 2, 1, 0)) - l3new_aaaaaa += einsum(x602, (0, 1, 2, 3, 4, 5), (5, 4, 3, 2, 1, 0)) * -1.0 - del x602 - x603 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x603 += einsum(f.aa.vv, (0, 1), l3.aaaaaa, (2, 3, 1, 4, 5, 6), (4, 5, 6, 0, 2, 3)) - x604 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x604 += einsum(f.aa.ov, (0, 1), x193, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) - x605 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x605 += einsum(v.aaaa.vvvv, (0, 1, 2, 3), l3.aaaaaa, (4, 1, 3, 5, 6, 7), (5, 6, 7, 4, 0, 2)) - x606 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x606 += einsum(x603, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -6.0 - del x603 - x606 += einsum(x604, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 6.0 - del x604 - x606 += einsum(x605, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -6.0 - del x605 - l3new_aaaaaa += einsum(x606, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 2, 0)) - l3new_aaaaaa += einsum(x606, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) - l3new_aaaaaa += einsum(x606, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 2, 0)) * -1.0 - del x606 - x607 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x607 += einsum(x462, (0, 1, 2, 3), l3.aaaaaa, (4, 5, 6, 7, 0, 2), (7, 1, 3, 4, 5, 6)) * -6.0 - del x462 - x608 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x608 += einsum(f.aa.oo, (0, 1), (0, 1)) - x608 += einsum(x389, (0, 1), (1, 0)) - del x389 - x609 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x609 += einsum(x608, (0, 1), l3.aaaaaa, (2, 3, 4, 5, 6, 0), (5, 6, 1, 2, 3, 4)) * 6.0 - x610 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x610 += einsum(x607, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) - del x607 - x610 += einsum(x609, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * -1.0 - del x609 - l3new_aaaaaa += einsum(x610, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 1, 2)) - l3new_aaaaaa += einsum(x610, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 0, 2)) * -1.0 - l3new_aaaaaa += einsum(x610, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) - del x610 - x611 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x611 += einsum(t2.aaaa, (0, 1, 2, 3), l3.aaaaaa, (4, 2, 3, 5, 6, 7), (5, 6, 7, 0, 1, 4)) - x612 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x612 += einsum(x611, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - del x611 - x612 += einsum(x325, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - del x325 - x613 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x613 += einsum(v.aaaa.ovov, (0, 1, 2, 3), x612, (4, 5, 6, 0, 2, 7), (4, 5, 6, 7, 1, 3)) * 6.0 - del x612 - l3new_aaaaaa += einsum(x613, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 2, 0)) * -1.0 - l3new_aaaaaa += einsum(x613, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) - l3new_aaaaaa += einsum(x613, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 2, 0)) * -1.0 - del x613 - x614 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x614 += einsum(l2.aaaa, (0, 1, 2, 3), v.aaaa.ooov, (4, 3, 5, 6), (2, 4, 5, 0, 1, 6)) - x615 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x615 += einsum(v.aaaa.ovov, (0, 1, 2, 3), x410, (4, 5, 6, 1), (4, 0, 2, 5, 6, 3)) * 2.0 - x616 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x616 += einsum(x614, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -2.0 - del x614 - x616 += einsum(x615, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) - del x615 - l3new_aaaaaa += einsum(x616, (0, 1, 2, 3, 4, 5), (4, 3, 5, 0, 1, 2)) - l3new_aaaaaa += einsum(x616, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 1, 2)) * -1.0 - l3new_aaaaaa += einsum(x616, (0, 1, 2, 3, 4, 5), (5, 3, 4, 0, 1, 2)) * -1.0 - l3new_aaaaaa += einsum(x616, (0, 1, 2, 3, 4, 5), (4, 3, 5, 0, 2, 1)) * -1.0 - l3new_aaaaaa += einsum(x616, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) - l3new_aaaaaa += einsum(x616, (0, 1, 2, 3, 4, 5), (5, 3, 4, 0, 2, 1)) - l3new_aaaaaa += einsum(x616, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 0, 2)) * -1.0 - l3new_aaaaaa += einsum(x616, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 0, 2)) - l3new_aaaaaa += einsum(x616, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) - l3new_aaaaaa += einsum(x616, (0, 1, 2, 3, 4, 5), (4, 3, 5, 2, 0, 1)) - l3new_aaaaaa += einsum(x616, (0, 1, 2, 3, 4, 5), (4, 5, 3, 2, 0, 1)) * -1.0 - l3new_aaaaaa += einsum(x616, (0, 1, 2, 3, 4, 5), (5, 3, 4, 2, 0, 1)) * -1.0 - l3new_aaaaaa += einsum(x616, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 2, 0)) - l3new_aaaaaa += einsum(x616, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) * -1.0 - l3new_aaaaaa += einsum(x616, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) * -1.0 - l3new_aaaaaa += einsum(x616, (0, 1, 2, 3, 4, 5), (4, 3, 5, 2, 1, 0)) * -1.0 - l3new_aaaaaa += einsum(x616, (0, 1, 2, 3, 4, 5), (4, 5, 3, 2, 1, 0)) - l3new_aaaaaa += einsum(x616, (0, 1, 2, 3, 4, 5), (5, 3, 4, 2, 1, 0)) - del x616 - x617 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x617 += einsum(x454, (0, 1), l3.aaaaaa, (2, 3, 1, 4, 5, 6), (4, 5, 6, 2, 3, 0)) * 6.0 - x618 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x618 += einsum(x361, (0, 1), x193, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 6, 1)) * 6.0 - x619 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x619 += einsum(x617, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) - del x617 - x619 += einsum(x618, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - del x618 - l3new_aaaaaa += einsum(x619, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 2, 0)) - l3new_aaaaaa += einsum(x619, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) * -1.0 - l3new_aaaaaa += einsum(x619, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) * -1.0 - del x619 - x620 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x620 += einsum(x413, (0, 1), l3.aaaaaa, (2, 3, 4, 5, 6, 0), (5, 6, 1, 2, 3, 4)) * 6.0 - l3new_aaaaaa += einsum(x620, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) - l3new_aaaaaa += einsum(x620, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) * -1.0 - l3new_aaaaaa += einsum(x620, (0, 1, 2, 3, 4, 5), (5, 3, 4, 2, 1, 0)) - del x620 - x621 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x621 += einsum(x253, (0, 1, 2, 3), l3.aaaaaa, (4, 5, 6, 7, 0, 1), (7, 2, 3, 4, 5, 6)) - l3new_aaaaaa += einsum(x621, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 1, 2)) * -6.0 - l3new_aaaaaa += einsum(x621, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 2, 1)) * 6.0 - l3new_aaaaaa += einsum(x621, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 0, 2)) * 6.0 - l3new_aaaaaa += einsum(x621, (0, 1, 2, 3, 4, 5), (3, 4, 5, 2, 0, 1)) * -6.0 - l3new_aaaaaa += einsum(x621, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 2, 0)) * -6.0 - l3new_aaaaaa += einsum(x621, (0, 1, 2, 3, 4, 5), (3, 4, 5, 2, 1, 0)) * 6.0 - del x621 - x622 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x622 += einsum(x239, (0, 1, 2, 3), l3.abaaba, (4, 1, 5, 6, 0, 7), (6, 7, 2, 4, 5, 3)) - x623 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x623 += einsum(x5, (0, 1, 2, 3), x91, (0, 1, 4, 5, 6, 7), (4, 5, 2, 6, 7, 3)) - x624 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x624 += einsum(x622, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 4.00000000000004 - del x622 - x624 += einsum(x623, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -2.0 - del x623 - l3new_aaaaaa += einsum(x624, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 0, 2)) * -1.0 - l3new_aaaaaa += einsum(x624, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 0, 2)) * -1.0 - l3new_aaaaaa += einsum(x624, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 0, 2)) - l3new_aaaaaa += einsum(x624, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 2, 0)) - l3new_aaaaaa += einsum(x624, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) - l3new_aaaaaa += einsum(x624, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 2, 0)) * -1.0 - l3new_aaaaaa += einsum(x624, (0, 1, 2, 3, 4, 5), (3, 4, 5, 2, 1, 0)) * -1.0 - l3new_aaaaaa += einsum(x624, (0, 1, 2, 3, 4, 5), (4, 5, 3, 2, 1, 0)) * -1.0 - l3new_aaaaaa += einsum(x624, (0, 1, 2, 3, 4, 5), (5, 4, 3, 2, 1, 0)) - del x624 - x625 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x625 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), x193, (4, 5, 6, 0, 7, 3), (4, 5, 6, 7, 1, 2)) * -1.0 - del x193 - l3new_aaaaaa += einsum(x625, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 2, 0)) * -6.0 - l3new_aaaaaa += einsum(x625, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 2, 0)) * 6.0 - l3new_aaaaaa += einsum(x625, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 2, 0)) * 6.0 - l3new_aaaaaa += einsum(x625, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) * -6.0 - l3new_aaaaaa += einsum(x625, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) * -6.0 - l3new_aaaaaa += einsum(x625, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 2, 0)) * 6.0 - del x625 - x626 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x626 += einsum(l2.bbbb, (0, 1, 2, 3), v.aabb.ovoo, (4, 5, 6, 3), (2, 6, 0, 1, 4, 5)) - x627 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x627 += einsum(v.aabb.ovov, (0, 1, 2, 3), x116, (4, 5, 6, 3), (4, 2, 5, 6, 0, 1)) - del x116 - x628 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x628 += einsum(v.aabb.vvoo, (0, 1, 2, 3), (2, 3, 0, 1)) - x628 += einsum(x22, (0, 1, 2, 3), (0, 1, 3, 2)) - x628 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.00000000000001 - x629 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x629 += einsum(x628, (0, 1, 2, 3), l3.babbab, (4, 2, 5, 6, 7, 0), (6, 1, 4, 5, 7, 3)) * -2.0 - del x628 - x630 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x630 += einsum(x506, (0, 1, 2, 3), l3.babbab, (4, 5, 6, 7, 2, 0), (7, 1, 4, 6, 3, 5)) * -2.0 - x631 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x631 += einsum(x6, (0, 1, 2, 3), x58, (4, 0, 5, 6, 7, 2), (4, 1, 5, 6, 7, 3)) * 2.0 - x632 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x632 += einsum(t1.bb, (0, 1), x19, (2, 1), (0, 2)) - del x19 - x633 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x633 += einsum(x219, (0, 1), (1, 0)) - del x219 - x633 += einsum(x221, (0, 1), (0, 1)) - del x221 - x633 += einsum(x632, (0, 1), (0, 1)) - del x632 - x633 += einsum(x223, (0, 1), (1, 0)) * -1.0 - del x223 - x634 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x634 += einsum(x633, (0, 1), l3.babbab, (2, 3, 4, 5, 6, 0), (5, 1, 2, 4, 6, 3)) * -2.0 - del x633 - x635 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x635 += einsum(f.bb.oo, (0, 1), (0, 1)) - x635 += einsum(x540, (0, 1), (1, 0)) - del x540 - x636 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x636 += einsum(x635, (0, 1), l3.babbab, (2, 3, 4, 5, 6, 0), (5, 1, 2, 4, 6, 3)) * -2.0 - x637 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x637 += einsum(x626, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * 2.0 - del x626 - x637 += einsum(x627, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * 2.0 - del x627 - x637 += einsum(x629, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 - del x629 - x637 += einsum(x630, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) - del x630 - x637 += einsum(x631, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 - del x631 - x637 += einsum(x634, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 - del x634 - x637 += einsum(x636, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) - del x636 - l3new_babbab += einsum(x637, (0, 1, 2, 3, 4, 5), (3, 5, 2, 0, 4, 1)) * -1.0 - l3new_babbab += einsum(x637, (0, 1, 2, 3, 4, 5), (3, 5, 2, 1, 4, 0)) - del x637 - x638 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x638 += einsum(l2.abab, (0, 1, 2, 3), v.bbbb.ovvv, (4, 5, 6, 1), (3, 4, 5, 6, 2, 0)) - x639 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x639 += einsum(l2.abab, (0, 1, 2, 3), v.aabb.vvov, (4, 0, 5, 6), (3, 5, 1, 6, 2, 4)) - x640 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x640 += einsum(v.aabb.ooov, (0, 1, 2, 3), x61, (4, 5, 6, 0, 1, 7), (4, 2, 5, 3, 6, 7)) - x641 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x641 += einsum(x7, (0, 1, 2, 3), x61, (4, 5, 2, 6, 3, 7), (4, 0, 5, 1, 6, 7)) * -1.0 - x642 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x642 += einsum(t2.bbbb, (0, 1, 2, 3), x10, (1, 4, 3, 5), (0, 4, 2, 5)) * 2.00000000000002 - x643 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x643 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x643 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x643 += einsum(x9, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.00000000000001 - x643 += einsum(x642, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x642 - x643 += einsum(x13, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - l3new_abaaba += einsum(x643, (0, 1, 2, 3), l3.abaaba, (4, 2, 5, 6, 0, 7), (4, 3, 5, 6, 1, 7)) * 2.0 - x644 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x644 += einsum(x643, (0, 1, 2, 3), l3.babbab, (4, 5, 2, 6, 7, 0), (6, 1, 4, 3, 7, 5)) * 2.0 - del x643 - x645 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x645 += einsum(t2.abab, (0, 1, 2, 3), x10, (1, 4, 3, 5), (4, 5, 0, 2)) * 1.00000000000001 - x646 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x646 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) - x646 += einsum(x15, (0, 1, 2, 3), (0, 1, 2, 3)) - x646 += einsum(x16, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.00000000000002 - x646 += einsum(x645, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x647 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x647 += einsum(x646, (0, 1, 2, 3), l3.abaaba, (4, 5, 3, 6, 7, 2), (7, 0, 5, 1, 6, 4)) * 2.0 - x648 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x648 += einsum(x516, (0, 1, 2, 3), x74, (4, 0, 1, 5, 6, 7), (4, 2, 5, 3, 6, 7)) * 2.0 - del x516 - x649 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x649 += einsum(x213, (0, 1, 2, 3), x74, (4, 0, 2, 5, 6, 7), (4, 1, 5, 3, 6, 7)) * 2.0 - del x213 - x650 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x650 += einsum(v.bbbb.ovov, (0, 1, 2, 3), x297, (4, 1, 5, 6), (0, 2, 3, 4, 5, 6)) * 2.0 - x651 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x651 += einsum(v.aabb.ovov, (0, 1, 2, 3), x100, (4, 5, 6, 1), (2, 4, 3, 5, 0, 6)) * 2.0 - x652 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x652 += einsum(v.bbbb.ovov, (0, 1, 2, 3), x96, (4, 2, 5, 6), (0, 4, 3, 1, 5, 6)) - del x96 - x653 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x653 += einsum(v.aabb.ovov, (0, 1, 2, 3), x66, (4, 5, 6, 0), (2, 4, 3, 5, 6, 1)) * 2.0 - x654 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x654 += einsum(l2.abab, (0, 1, 2, 3), x537, (3, 4, 5, 6), (4, 5, 1, 6, 2, 0)) - del x537 - x655 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x655 += einsum(l2.abab, (0, 1, 2, 3), x31, (4, 5, 2, 6), (3, 4, 1, 5, 6, 0)) - x656 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x656 += einsum(l1.bb, (0, 1), v.aabb.ovov, (2, 3, 4, 5), (1, 4, 0, 5, 2, 3)) - x656 += einsum(x638, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - del x638 - x656 += einsum(x639, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x639 - x656 += einsum(x640, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -2.0 - del x640 - x656 += einsum(x641, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -2.0 - del x641 - x656 += einsum(x644, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x644 - x656 += einsum(x647, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x647 - x656 += einsum(x648, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - del x648 - x656 += einsum(x649, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - del x649 - x656 += einsum(x650, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) - del x650 - x656 += einsum(x651, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) * -1.0 - del x651 - x656 += einsum(x652, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) - del x652 - x656 += einsum(x653, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) * -1.0 - del x653 - x656 += einsum(x654, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x654 - x656 += einsum(x655, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - del x655 - l3new_babbab += einsum(x656, (0, 1, 2, 3, 4, 5), (2, 5, 3, 0, 4, 1)) - l3new_babbab += einsum(x656, (0, 1, 2, 3, 4, 5), (3, 5, 2, 0, 4, 1)) * -1.0 - l3new_babbab += einsum(x656, (0, 1, 2, 3, 4, 5), (2, 5, 3, 1, 4, 0)) * -1.0 - l3new_babbab += einsum(x656, (0, 1, 2, 3, 4, 5), (3, 5, 2, 1, 4, 0)) - del x656 - x657 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x657 += einsum(l2.bbbb, (0, 1, 2, 3), v.aabb.ovvv, (4, 5, 6, 1), (2, 3, 0, 6, 4, 5)) - x658 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x658 += einsum(f.bb.vv, (0, 1), l3.babbab, (2, 3, 1, 4, 5, 6), (4, 6, 0, 2, 5, 3)) - x659 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x659 += einsum(f.bb.ov, (0, 1), x74, (2, 3, 0, 4, 5, 6), (2, 3, 1, 4, 5, 6)) - x660 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x660 += einsum(v.aabb.vvvv, (0, 1, 2, 3), l3.babbab, (4, 1, 3, 5, 6, 7), (5, 7, 4, 2, 6, 0)) - x661 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x661 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), x74, (4, 5, 0, 3, 6, 7), (4, 5, 1, 2, 6, 7)) * -1.0 - x662 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x662 += einsum(v.aabb.vvov, (0, 1, 2, 3), x74, (4, 5, 2, 6, 7, 1), (4, 5, 6, 3, 7, 0)) - x663 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x663 += einsum(v.aabb.ovvv, (0, 1, 2, 3), x58, (4, 5, 6, 3, 7, 0), (4, 5, 6, 2, 7, 1)) - x664 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x664 += einsum(v.aabb.oovv, (0, 1, 2, 3), (2, 3, 0, 1)) * 0.99999999999999 - x664 += einsum(x246, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.99999999999999 - del x246 - x664 += einsum(x247, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x247 - x665 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x665 += einsum(x664, (0, 1, 2, 3), l3.babbab, (4, 5, 0, 6, 2, 7), (6, 7, 4, 1, 3, 5)) * -2.00000000000002 - x666 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x666 += einsum(x579, (0, 1), l3.babbab, (2, 3, 1, 4, 5, 6), (4, 6, 2, 0, 5, 3)) * -2.0 - x667 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x667 += einsum(x31, (0, 1, 2, 3), x74, (4, 5, 0, 6, 2, 7), (4, 5, 6, 1, 3, 7)) * 2.0 - x668 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x668 += einsum(t2.abab, (0, 1, 2, 3), l3.babbab, (4, 2, 3, 5, 6, 7), (5, 7, 1, 4, 6, 0)) - x669 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x669 += einsum(x668, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x668 - x669 += einsum(x98, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x98 - x670 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x670 += einsum(v.aabb.ovov, (0, 1, 2, 3), x669, (4, 5, 2, 6, 7, 0), (4, 5, 3, 6, 7, 1)) * 2.0 - del x669 - x671 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x671 += einsum(x227, (0, 1), x74, (2, 3, 0, 4, 5, 6), (2, 3, 4, 1, 5, 6)) * 2.0 - x672 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x672 += einsum(v.aabb.ovov, (0, 1, 2, 3), x78, (4, 5, 2, 6), (4, 5, 3, 6, 0, 1)) * 2.0 - del x78 - x673 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x673 += einsum(l1.aa, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (2, 4, 3, 5, 1, 0)) * -1.0 - x673 += einsum(x657, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * 2.0 - del x657 - x673 += einsum(x658, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -2.0 - del x658 - x673 += einsum(x659, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * 2.0 - del x659 - x673 += einsum(x660, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * 2.0 - del x660 - x673 += einsum(x661, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -2.0 - del x661 - x673 += einsum(x662, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -2.0 - del x662 - x673 += einsum(x663, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -2.0 - del x663 - x673 += einsum(x665, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) * -1.0 - del x665 - x673 += einsum(x666, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) * -1.0 - del x666 - x673 += einsum(x667, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) - del x667 - x673 += einsum(x670, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x670 - x673 += einsum(x671, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 - del x671 - x673 += einsum(x672, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * -1.0 - del x672 - l3new_babbab += einsum(x673, (0, 1, 2, 3, 4, 5), (3, 5, 2, 0, 4, 1)) - l3new_babbab += einsum(x673, (0, 1, 2, 3, 4, 5), (2, 5, 3, 0, 4, 1)) * -1.0 - del x673 - x674 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x674 += einsum(l2.bbbb, (0, 1, 2, 3), x5, (3, 4, 5, 6), (2, 4, 0, 1, 5, 6)) - x675 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x675 += einsum(v.aabb.ovov, (0, 1, 2, 3), x0, (4, 5, 6, 3), (4, 2, 5, 6, 0, 1)) * -1.0 - del x0 - x676 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x676 += einsum(t1.bb, (0, 1), x20, (2, 1), (0, 2)) * -1.0 - del x20 - x677 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x677 += einsum(x220, (0, 1), (0, 1)) * 2.0 - del x220 - x677 += einsum(x676, (0, 1), (0, 1)) - del x676 - x678 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x678 += einsum(x677, (0, 1), l3.babbab, (2, 3, 4, 5, 6, 0), (5, 1, 2, 4, 6, 3)) * -2.0 - del x677 - x679 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x679 += einsum(x674, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 2.0 - del x674 - x679 += einsum(x675, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * 6.0 - del x675 - x679 += einsum(x678, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) - del x678 - l3new_babbab += einsum(x679, (0, 1, 2, 3, 4, 5), (3, 5, 2, 0, 4, 1)) - l3new_babbab += einsum(x679, (0, 1, 2, 3, 4, 5), (3, 5, 2, 1, 4, 0)) * -1.0 - del x679 - x680 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x680 += einsum(t2.aaaa, (0, 1, 2, 3), x233, (1, 4, 5, 3), (0, 4, 2, 5)) * 2.00000000000002 - del x233 - x681 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x681 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x681 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x681 += einsum(x232, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.00000000000001 - del x232 - x681 += einsum(x680, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x680 - x681 += einsum(x236, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x236 - l3new_babbab += einsum(x681, (0, 1, 2, 3), l3.babbab, (4, 2, 5, 6, 0, 7), (4, 3, 5, 6, 1, 7)) * 2.0 - x682 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x682 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) * 0.4999999999999949 - x682 += einsum(x238, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.4999999999999949 - x682 += einsum(x239, (0, 1, 2, 3), (0, 1, 2, 3)) - x682 += einsum(t2.abab, (0, 1, 2, 3), x240, (0, 4, 2, 5), (1, 3, 4, 5)) * -0.49999999999999983 - del x240 - l3new_babbab += einsum(x682, (0, 1, 2, 3), l3.bbbbbb, (4, 5, 1, 6, 7, 0), (4, 3, 5, 6, 2, 7)) * 12.000000000000123 - del x682 - x683 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x683 += einsum(v.bbbb.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x683 += einsum(x25, (0, 1, 2, 3), (1, 3, 0, 2)) - del x25 - x683 += einsum(x26, (0, 1, 2, 3), (0, 2, 1, 3)) - del x26 - x683 += einsum(x27, (0, 1, 2, 3), (2, 1, 0, 3)) - x683 += einsum(x27, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 - l3new_babbab += einsum(x683, (0, 1, 2, 3), l3.babbab, (4, 5, 6, 2, 7, 0), (4, 5, 6, 1, 7, 3)) * -2.0 - del x683 - x684 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x684 += einsum(t2.bbbb, (0, 1, 2, 3), l3.babbab, (2, 4, 3, 5, 6, 7), (5, 7, 0, 1, 6, 4)) - x684 += einsum(x134, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 - del x134 - l3new_babbab += einsum(v.bbbb.ovov, (0, 1, 2, 3), x684, (4, 5, 2, 0, 6, 7), (1, 7, 3, 5, 6, 4)) * 2.0 - del x684 - x685 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x685 += einsum(l2.aaaa, (0, 1, 2, 3), v.aabb.vvov, (4, 1, 5, 6), (5, 6, 2, 3, 0, 4)) - x686 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x686 += einsum(f.aa.vv, (0, 1), l3.abaaba, (2, 3, 1, 4, 5, 6), (5, 3, 4, 6, 0, 2)) - x687 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x687 += einsum(f.aa.ov, (0, 1), x61, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - x688 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x688 += einsum(v.aabb.vvvv, (0, 1, 2, 3), l3.abaaba, (4, 3, 1, 5, 6, 7), (6, 2, 5, 7, 4, 0)) - x689 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x689 += einsum(v.aabb.vvov, (0, 1, 2, 3), x91, (4, 2, 5, 6, 7, 1), (4, 3, 5, 6, 7, 0)) - x690 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x690 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), x61, (4, 5, 6, 7, 0, 3), (4, 5, 6, 7, 1, 2)) * -1.0 - x691 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x691 += einsum(v.aabb.ovvv, (0, 1, 2, 3), x61, (4, 3, 5, 6, 0, 7), (4, 2, 5, 6, 7, 1)) - x692 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x692 += einsum(v.aabb.vvoo, (0, 1, 2, 3), (2, 3, 0, 1)) * 0.99999999999999 - x692 += einsum(x22, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.99999999999999 - del x22 - x692 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x23 - x693 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x693 += einsum(x692, (0, 1, 2, 3), l3.abaaba, (4, 5, 2, 6, 0, 7), (1, 5, 6, 7, 4, 3)) * -2.00000000000002 - del x692 - x694 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x694 += einsum(x454, (0, 1), l3.abaaba, (2, 3, 1, 4, 5, 6), (5, 3, 4, 6, 2, 0)) * -2.0 - del x454 - x695 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x695 += einsum(x6, (0, 1, 2, 3), x61, (0, 4, 5, 6, 2, 7), (1, 4, 5, 6, 7, 3)) * 2.0 - x696 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x696 += einsum(t2.abab, (0, 1, 2, 3), l3.abaaba, (4, 3, 2, 5, 6, 7), (6, 1, 5, 7, 0, 4)) - x697 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x697 += einsum(x696, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 - del x696 - x697 += einsum(x99, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 - del x99 - x698 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x698 += einsum(v.aabb.ovov, (0, 1, 2, 3), x697, (4, 2, 5, 6, 0, 7), (4, 3, 5, 6, 1, 7)) * 2.0 - del x697 - x699 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x699 += einsum(x361, (0, 1), x61, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 6, 1)) * 2.0 - del x361 - x700 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x700 += einsum(v.aabb.ovov, (0, 1, 2, 3), x289, (4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) * 2.0 - del x289 - x701 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x701 += einsum(l1.bb, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 - x701 += einsum(x685, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -2.0 - del x685 - x701 += einsum(x686, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * 2.0 - del x686 - x701 += einsum(x687, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -2.0 - del x687 - x701 += einsum(x688, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -2.0 - del x688 - x701 += einsum(x689, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * 2.0 - del x689 - x701 += einsum(x690, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * 2.0 - del x690 - x701 += einsum(x691, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * 2.0 - del x691 - x701 += einsum(x693, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -1.0 - del x693 - x701 += einsum(x694, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -1.0 - del x694 - x701 += einsum(x695, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -1.0 - del x695 - x701 += einsum(x698, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 - del x698 - x701 += einsum(x699, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) - del x699 - x701 += einsum(x700, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 - del x700 - l3new_abaaba += einsum(x701, (0, 1, 2, 3, 4, 5), (5, 1, 4, 2, 0, 3)) - l3new_abaaba += einsum(x701, (0, 1, 2, 3, 4, 5), (4, 1, 5, 2, 0, 3)) * -1.0 - del x701 - x702 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x702 += einsum(l2.aaaa, (0, 1, 2, 3), v.aabb.ooov, (4, 3, 5, 6), (5, 6, 2, 4, 0, 1)) - x703 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x703 += einsum(x664, (0, 1, 2, 3), l3.abaaba, (4, 0, 5, 6, 7, 2), (7, 1, 6, 3, 4, 5)) * -2.00000000000002 - del x664 - x704 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x704 += einsum(x506, (0, 1, 2, 3), l3.abaaba, (4, 5, 6, 7, 0, 2), (1, 5, 7, 3, 4, 6)) * -2.0 - del x506 - x705 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x705 += einsum(x31, (0, 1, 2, 3), x91, (4, 0, 2, 5, 6, 7), (4, 1, 5, 3, 6, 7)) * 2.0 - del x31, x91 - x706 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x706 += einsum(x413, (0, 1), l3.abaaba, (2, 3, 4, 5, 6, 0), (6, 3, 5, 1, 2, 4)) * -2.0 - del x413 - x707 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x707 += einsum(v.aabb.ovov, (0, 1, 2, 3), x410, (4, 5, 6, 1), (2, 3, 0, 4, 5, 6)) * 2.0 - del x410 - x708 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x708 += einsum(x608, (0, 1), l3.abaaba, (2, 3, 4, 5, 6, 0), (6, 3, 5, 1, 2, 4)) * -2.0 - del x608 - x709 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x709 += einsum(x702, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 2.0 - del x702 - x709 += einsum(x703, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 - del x703 - x709 += einsum(x704, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - del x704 - x709 += einsum(x705, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - del x705 - x709 += einsum(x706, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 - del x706 - x709 += einsum(x707, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) - del x707 - x709 += einsum(x708, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) - del x708 - l3new_abaaba += einsum(x709, (0, 1, 2, 3, 4, 5), (5, 1, 4, 2, 0, 3)) * -1.0 - l3new_abaaba += einsum(x709, (0, 1, 2, 3, 4, 5), (5, 1, 4, 3, 0, 2)) - del x709 - x710 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x710 += einsum(l2.abab, (0, 1, 2, 3), v.aabb.ovvv, (4, 5, 6, 1), (3, 6, 2, 4, 0, 5)) - x711 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x711 += einsum(l2.abab, (0, 1, 2, 3), v.aaaa.ovvv, (4, 5, 6, 0), (3, 1, 2, 4, 5, 6)) - x712 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x712 += einsum(v.aabb.ovoo, (0, 1, 2, 3), x74, (4, 2, 3, 5, 6, 7), (4, 5, 6, 0, 7, 1)) - x713 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x713 += einsum(x5, (0, 1, 2, 3), x74, (0, 4, 1, 5, 6, 7), (4, 5, 6, 2, 7, 3)) * -1.0 - del x5, x74 - x714 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x714 += einsum(x681, (0, 1, 2, 3), l3.abaaba, (4, 5, 2, 6, 7, 0), (7, 5, 6, 1, 4, 3)) * 2.0 - del x681 - x715 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x715 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) - x715 += einsum(x238, (0, 1, 2, 3), (0, 1, 2, 3)) - del x238 - x715 += einsum(x239, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.00000000000002 - del x239 - x715 += einsum(x592, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x592 - x716 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x716 += einsum(x715, (0, 1, 2, 3), l3.babbab, (4, 5, 1, 6, 7, 0), (6, 4, 7, 2, 5, 3)) * 2.0 - del x715 - x717 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x717 += einsum(x382, (0, 1, 2, 3), x61, (4, 5, 0, 6, 2, 7), (4, 5, 6, 1, 7, 3)) * 2.0 - del x382 - x718 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x718 += einsum(x348, (0, 1, 2, 3), x61, (4, 5, 0, 6, 2, 7), (4, 5, 6, 1, 7, 3)) * 2.0 - del x61, x348 - x719 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x719 += einsum(v.aabb.ovov, (0, 1, 2, 3), x297, (4, 3, 5, 6), (2, 4, 0, 5, 1, 6)) * 2.0 - del x297 - x720 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x720 += einsum(v.aaaa.ovov, (0, 1, 2, 3), x100, (4, 5, 6, 1), (4, 5, 0, 2, 6, 3)) * 2.0 - del x100 - x721 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x721 += einsum(v.aabb.ovov, (0, 1, 2, 3), x139, (4, 2, 5, 6), (4, 3, 0, 5, 1, 6)) * 2.0 - del x139 - x722 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x722 += einsum(v.aaaa.ovov, (0, 1, 2, 3), x66, (4, 5, 6, 2), (4, 5, 6, 0, 3, 1)) * 2.0 - del x66 - x723 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x723 += einsum(l2.abab, (0, 1, 2, 3), x6, (3, 4, 5, 6), (4, 1, 2, 5, 0, 6)) - del x6 - x724 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x724 += einsum(l2.abab, (0, 1, 2, 3), x386, (2, 4, 5, 6), (3, 1, 4, 5, 0, 6)) - del x386 - x725 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x725 += einsum(l1.aa, (0, 1), v.aabb.ovov, (2, 3, 4, 5), (4, 5, 1, 2, 0, 3)) - x725 += einsum(x710, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x710 - x725 += einsum(x711, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - del x711 - x725 += einsum(x712, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -2.0 - del x712 - x725 += einsum(x713, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -2.0 - del x713 - x725 += einsum(x714, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x714 - x725 += einsum(x716, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x716 - x725 += einsum(x717, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x717 - x725 += einsum(x718, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x718 - x725 += einsum(x719, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -1.0 - del x719 - x725 += einsum(x720, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) - del x720 - x725 += einsum(x721, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -1.0 - del x721 - x725 += einsum(x722, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - del x722 - x725 += einsum(x723, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - del x723 - x725 += einsum(x724, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x724 - l3new_abaaba += einsum(x725, (0, 1, 2, 3, 4, 5), (4, 1, 5, 2, 0, 3)) - l3new_abaaba += einsum(x725, (0, 1, 2, 3, 4, 5), (5, 1, 4, 2, 0, 3)) * -1.0 - l3new_abaaba += einsum(x725, (0, 1, 2, 3, 4, 5), (4, 1, 5, 3, 0, 2)) * -1.0 - l3new_abaaba += einsum(x725, (0, 1, 2, 3, 4, 5), (5, 1, 4, 3, 0, 2)) - del x725 - x726 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x726 += einsum(l2.aaaa, (0, 1, 2, 3), x7, (4, 5, 3, 6), (4, 5, 2, 6, 0, 1)) - l3new_abaaba += einsum(x726, (0, 1, 2, 3, 4, 5), (5, 1, 4, 2, 0, 3)) * 2.0 - l3new_abaaba += einsum(x726, (0, 1, 2, 3, 4, 5), (5, 1, 4, 3, 0, 2)) * -2.0 - del x726 - x727 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x727 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) - x727 += einsum(x15, (0, 1, 2, 3), (0, 1, 2, 3)) - del x15 - x727 += einsum(x16, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0000000000000204 - del x16 - x727 += einsum(x645, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x645 - l3new_abaaba += einsum(x727, (0, 1, 2, 3), l3.aaaaaa, (4, 5, 3, 6, 7, 2), (4, 1, 5, 6, 0, 7)) * 6.0 - del x727 - x728 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x728 += einsum(v.aaaa.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x728 += einsum(x251, (0, 1, 2, 3), (1, 3, 2, 0)) - del x251 - x728 += einsum(x252, (0, 1, 2, 3), (0, 2, 3, 1)) - del x252 - x728 += einsum(x253, (0, 1, 2, 3), (2, 1, 3, 0)) - x728 += einsum(x253, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 - del x253 - l3new_abaaba += einsum(x728, (0, 1, 2, 3), l3.abaaba, (4, 5, 6, 3, 7, 0), (4, 5, 6, 2, 7, 1)) * 2.0 - del x728 - x729 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x729 += einsum(t2.aaaa, (0, 1, 2, 3), l3.abaaba, (2, 4, 3, 5, 6, 7), (6, 4, 5, 7, 0, 1)) - x729 += einsum(x323, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) - del x323 - l3new_abaaba += einsum(v.aaaa.ovov, (0, 1, 2, 3), x729, (4, 5, 6, 7, 2, 0), (1, 5, 3, 7, 4, 6)) * 2.0 - del x729 - x730 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x730 += einsum(v.aabb.ooov, (0, 1, 2, 3), x58, (4, 5, 6, 7, 0, 1), (4, 5, 2, 6, 7, 3)) - x731 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x731 += einsum(x7, (0, 1, 2, 3), x58, (4, 5, 6, 7, 2, 3), (4, 5, 0, 6, 7, 1)) - del x7, x58 - x732 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x732 += einsum(t2.bbbb, (0, 1, 2, 3), x10, (1, 4, 3, 5), (0, 4, 2, 5)) * 2.0000000000000204 - del x10 - x733 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x733 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x733 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x733 += einsum(x9, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.00000000000001 - del x9 - x733 += einsum(x732, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x732 - x733 += einsum(x13, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x13 - x734 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x734 += einsum(x733, (0, 1, 2, 3), l3.bbbbbb, (4, 5, 2, 6, 7, 0), (6, 7, 1, 4, 5, 3)) * 6.0 - del x733 - x735 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x735 += einsum(x646, (0, 1, 2, 3), l3.babbab, (4, 3, 5, 6, 2, 7), (6, 7, 0, 4, 5, 1)) * 2.0 - del x646 - x736 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x736 += einsum(x3, (0, 1, 2, 3), (0, 1, 2, 3)) - x736 += einsum(x3, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x737 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x737 += einsum(x736, (0, 1, 2, 3), x72, (4, 5, 0, 2, 6, 7), (4, 5, 1, 6, 7, 3)) * 6.0 - del x736 - x738 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x738 += einsum(x208, (0, 1, 2, 3), x72, (4, 5, 0, 1, 6, 7), (4, 5, 2, 6, 7, 3)) * 6.0 - del x208 - x739 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x739 += einsum(x730, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 2.0 - del x730 - x739 += einsum(x731, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 2.0 - del x731 - x739 += einsum(x734, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x734 - x739 += einsum(x735, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) - del x735 - x739 += einsum(x737, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) - del x737 - x739 += einsum(x738, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) - del x738 - l3new_bbbbbb += einsum(x739, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 0, 2)) - l3new_bbbbbb += einsum(x739, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 0, 2)) * -1.0 - l3new_bbbbbb += einsum(x739, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) * -1.0 - l3new_bbbbbb += einsum(x739, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 2, 0)) * -1.0 - l3new_bbbbbb += einsum(x739, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) - l3new_bbbbbb += einsum(x739, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) - l3new_bbbbbb += einsum(x739, (0, 1, 2, 3, 4, 5), (4, 3, 5, 2, 1, 0)) - l3new_bbbbbb += einsum(x739, (0, 1, 2, 3, 4, 5), (4, 5, 3, 2, 1, 0)) * -1.0 - l3new_bbbbbb += einsum(x739, (0, 1, 2, 3, 4, 5), (5, 3, 4, 2, 1, 0)) * -1.0 - del x739 - x740 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x740 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), x72, (4, 5, 6, 0, 7, 3), (4, 5, 6, 7, 1, 2)) * -1.0 - l3new_bbbbbb += einsum(x740, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 2, 0)) * -6.0 - l3new_bbbbbb += einsum(x740, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 2, 0)) * 6.0 - l3new_bbbbbb += einsum(x740, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 2, 0)) * 6.0 - l3new_bbbbbb += einsum(x740, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) * -6.0 - l3new_bbbbbb += einsum(x740, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) * -6.0 - l3new_bbbbbb += einsum(x740, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 2, 0)) * 6.0 - del x740 - x741 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x741 += einsum(x579, (0, 1), l3.bbbbbb, (2, 3, 1, 4, 5, 6), (4, 5, 6, 2, 3, 0)) * 6.0 - del x579 - x742 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x742 += einsum(x227, (0, 1), x72, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 6, 1)) * 6.0 - del x227 - x743 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x743 += einsum(x741, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) - del x741 - x743 += einsum(x742, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - del x742 - l3new_bbbbbb += einsum(x743, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 2, 0)) - l3new_bbbbbb += einsum(x743, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) * -1.0 - l3new_bbbbbb += einsum(x743, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) * -1.0 - del x743 - x744 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x744 += einsum(x586, (0, 1, 2, 3), l3.bbbbbb, (4, 5, 6, 7, 0, 3), (7, 1, 2, 4, 5, 6)) * -6.0 - del x586 - x745 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x745 += einsum(x635, (0, 1), l3.bbbbbb, (2, 3, 4, 5, 6, 0), (5, 6, 1, 2, 3, 4)) * 6.0 - del x635 - x746 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x746 += einsum(x744, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - del x744 - x746 += einsum(x745, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * -1.0 - del x745 - l3new_bbbbbb += einsum(x746, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 1, 2)) - l3new_bbbbbb += einsum(x746, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 0, 2)) * -1.0 - l3new_bbbbbb += einsum(x746, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) - del x746 - x747 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x747 += einsum(l2.bbbb, (0, 1, 2, 3), x3, (3, 4, 5, 6), (2, 4, 5, 0, 1, 6)) - del x3 - l3new_bbbbbb += einsum(x747, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 1, 2)) * 2.0 - l3new_bbbbbb += einsum(x747, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 1, 2)) * 2.0 - l3new_bbbbbb += einsum(x747, (0, 1, 2, 3, 4, 5), (5, 4, 3, 0, 1, 2)) * -2.0 - l3new_bbbbbb += einsum(x747, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 2, 1)) * -2.0 - l3new_bbbbbb += einsum(x747, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) * -2.0 - l3new_bbbbbb += einsum(x747, (0, 1, 2, 3, 4, 5), (5, 4, 3, 0, 2, 1)) * 2.0 - l3new_bbbbbb += einsum(x747, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 0, 2)) * -2.0 - l3new_bbbbbb += einsum(x747, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 0, 2)) * -2.0 - l3new_bbbbbb += einsum(x747, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 0, 2)) * 2.0 - l3new_bbbbbb += einsum(x747, (0, 1, 2, 3, 4, 5), (3, 4, 5, 2, 0, 1)) * 2.0 - l3new_bbbbbb += einsum(x747, (0, 1, 2, 3, 4, 5), (4, 5, 3, 2, 0, 1)) * 2.0 - l3new_bbbbbb += einsum(x747, (0, 1, 2, 3, 4, 5), (5, 4, 3, 2, 0, 1)) * -2.0 - l3new_bbbbbb += einsum(x747, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 2, 0)) * 2.0 - l3new_bbbbbb += einsum(x747, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) * 2.0 - l3new_bbbbbb += einsum(x747, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 2, 0)) * -2.0 - l3new_bbbbbb += einsum(x747, (0, 1, 2, 3, 4, 5), (3, 4, 5, 2, 1, 0)) * -2.0 - l3new_bbbbbb += einsum(x747, (0, 1, 2, 3, 4, 5), (4, 5, 3, 2, 1, 0)) * -2.0 - l3new_bbbbbb += einsum(x747, (0, 1, 2, 3, 4, 5), (5, 4, 3, 2, 1, 0)) * 2.0 - del x747 - x748 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x748 += einsum(l2.bbbb, (0, 1, 2, 3), v.bbbb.ovvv, (4, 5, 6, 1), (2, 3, 4, 0, 5, 6)) - x749 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x749 += einsum(v.bbbb.ovov, (0, 1, 2, 3), x137, (4, 5, 2, 6), (0, 4, 5, 3, 1, 6)) * 2.0 - del x137 - x750 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x750 += einsum(x748, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 2.0 - del x748 - x750 += einsum(x749, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -1.0 - del x749 - l3new_bbbbbb += einsum(x750, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 0, 2)) - l3new_bbbbbb += einsum(x750, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 0, 2)) * -1.0 - l3new_bbbbbb += einsum(x750, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 0, 2)) * -1.0 - l3new_bbbbbb += einsum(x750, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) - l3new_bbbbbb += einsum(x750, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 0, 2)) - l3new_bbbbbb += einsum(x750, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 0, 2)) * -1.0 - l3new_bbbbbb += einsum(x750, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 2, 0)) * -1.0 - l3new_bbbbbb += einsum(x750, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 2, 0)) - l3new_bbbbbb += einsum(x750, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 2, 0)) - l3new_bbbbbb += einsum(x750, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) * -1.0 - l3new_bbbbbb += einsum(x750, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) * -1.0 - l3new_bbbbbb += einsum(x750, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 2, 0)) - l3new_bbbbbb += einsum(x750, (0, 1, 2, 3, 4, 5), (3, 4, 5, 2, 1, 0)) - l3new_bbbbbb += einsum(x750, (0, 1, 2, 3, 4, 5), (3, 5, 4, 2, 1, 0)) * -1.0 - l3new_bbbbbb += einsum(x750, (0, 1, 2, 3, 4, 5), (4, 3, 5, 2, 1, 0)) * -1.0 - l3new_bbbbbb += einsum(x750, (0, 1, 2, 3, 4, 5), (5, 3, 4, 2, 1, 0)) - l3new_bbbbbb += einsum(x750, (0, 1, 2, 3, 4, 5), (4, 5, 3, 2, 1, 0)) - l3new_bbbbbb += einsum(x750, (0, 1, 2, 3, 4, 5), (5, 4, 3, 2, 1, 0)) * -1.0 - del x750 - x751 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x751 += einsum(f.bb.vv, (0, 1), l3.bbbbbb, (2, 3, 1, 4, 5, 6), (4, 5, 6, 0, 2, 3)) - x752 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x752 += einsum(f.bb.ov, (0, 1), x72, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) - del x72 - x753 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x753 += einsum(v.bbbb.vvvv, (0, 1, 2, 3), l3.bbbbbb, (4, 3, 1, 5, 6, 7), (5, 6, 7, 4, 0, 2)) * -1.0 - x754 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x754 += einsum(x751, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -6.0 - del x751 - x754 += einsum(x752, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 6.0 - del x752 - x754 += einsum(x753, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -6.0 - del x753 - l3new_bbbbbb += einsum(x754, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 2, 0)) - l3new_bbbbbb += einsum(x754, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) - l3new_bbbbbb += einsum(x754, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 2, 0)) * -1.0 - del x754 - x755 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x755 += einsum(x27, (0, 1, 2, 3), l3.bbbbbb, (4, 5, 6, 7, 0, 1), (7, 2, 3, 4, 5, 6)) - del x27 - l3new_bbbbbb += einsum(x755, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 1, 2)) * -6.0 - l3new_bbbbbb += einsum(x755, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 2, 1)) * 6.0 - l3new_bbbbbb += einsum(x755, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 0, 2)) * 6.0 - l3new_bbbbbb += einsum(x755, (0, 1, 2, 3, 4, 5), (3, 4, 5, 2, 0, 1)) * -6.0 - l3new_bbbbbb += einsum(x755, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 2, 0)) * -6.0 - l3new_bbbbbb += einsum(x755, (0, 1, 2, 3, 4, 5), (3, 4, 5, 2, 1, 0)) * 6.0 - del x755 - x756 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x756 += einsum(x560, (0, 1), l3.bbbbbb, (2, 3, 4, 5, 6, 0), (5, 6, 1, 2, 3, 4)) * 6.0 - del x560 - l3new_bbbbbb += einsum(x756, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) - l3new_bbbbbb += einsum(x756, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) * -1.0 - l3new_bbbbbb += einsum(x756, (0, 1, 2, 3, 4, 5), (5, 3, 4, 2, 1, 0)) - del x756 - x757 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x757 += einsum(l2.bbbb, (0, 1, 2, 3), v.bbbb.ooov, (4, 3, 5, 6), (2, 4, 5, 0, 1, 6)) - x758 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x758 += einsum(v.bbbb.ovov, (0, 1, 2, 3), x136, (4, 5, 6, 1), (0, 2, 4, 3, 5, 6)) * 6.0 - del x136 - x759 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x759 += einsum(x757, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -2.0 - del x757 - x759 += einsum(x758, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) - del x758 - l3new_bbbbbb += einsum(x759, (0, 1, 2, 3, 4, 5), (4, 3, 5, 0, 1, 2)) - l3new_bbbbbb += einsum(x759, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 1, 2)) * -1.0 - l3new_bbbbbb += einsum(x759, (0, 1, 2, 3, 4, 5), (5, 3, 4, 0, 1, 2)) * -1.0 - l3new_bbbbbb += einsum(x759, (0, 1, 2, 3, 4, 5), (4, 3, 5, 0, 2, 1)) * -1.0 - l3new_bbbbbb += einsum(x759, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) - l3new_bbbbbb += einsum(x759, (0, 1, 2, 3, 4, 5), (5, 3, 4, 0, 2, 1)) - l3new_bbbbbb += einsum(x759, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 0, 2)) * -1.0 - l3new_bbbbbb += einsum(x759, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 0, 2)) - l3new_bbbbbb += einsum(x759, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) - l3new_bbbbbb += einsum(x759, (0, 1, 2, 3, 4, 5), (4, 3, 5, 2, 0, 1)) - l3new_bbbbbb += einsum(x759, (0, 1, 2, 3, 4, 5), (4, 5, 3, 2, 0, 1)) * -1.0 - l3new_bbbbbb += einsum(x759, (0, 1, 2, 3, 4, 5), (5, 3, 4, 2, 0, 1)) * -1.0 - l3new_bbbbbb += einsum(x759, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 2, 0)) - l3new_bbbbbb += einsum(x759, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) * -1.0 - l3new_bbbbbb += einsum(x759, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) * -1.0 - l3new_bbbbbb += einsum(x759, (0, 1, 2, 3, 4, 5), (4, 3, 5, 2, 1, 0)) * -1.0 - l3new_bbbbbb += einsum(x759, (0, 1, 2, 3, 4, 5), (4, 5, 3, 2, 1, 0)) - l3new_bbbbbb += einsum(x759, (0, 1, 2, 3, 4, 5), (5, 3, 4, 2, 1, 0)) - del x759 - x760 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x760 += einsum(t2.bbbb, (0, 1, 2, 3), l3.bbbbbb, (4, 2, 3, 5, 6, 7), (5, 6, 7, 0, 1, 4)) - x761 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x761 += einsum(x760, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - del x760 - x761 += einsum(x132, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - del x132 - x762 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x762 += einsum(v.bbbb.ovov, (0, 1, 2, 3), x761, (4, 5, 6, 0, 2, 7), (4, 5, 6, 1, 3, 7)) * 6.0 - del x761 - l3new_bbbbbb += einsum(x762, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 2, 0)) * -1.0 - l3new_bbbbbb += einsum(x762, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) - l3new_bbbbbb += einsum(x762, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 2, 0)) * -1.0 - del x762 - - l1new.aa = l1new_aa - l1new.bb = l1new_bb - l2new.aaaa = l2new_aaaa - l2new.abab = l2new_abab - l2new.bbbb = l2new_bbbb - l3new.aaaaaa = l3new_aaaaaa - l3new.abaaba = l3new_abaaba - l3new.babbab = l3new_babbab - l3new.bbbbbb = l3new_bbbbbb - - return {"l1new": l1new, "l2new": l2new, "l3new": l3new} - -def make_rdm1_f(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, t3=None, l1=None, l2=None, l3=None, **kwargs): - rdm1_f = Namespace() - - delta = Namespace(aa=Namespace(), bb=Namespace()) - delta.aa = Namespace(oo=np.eye(nocc[0]), vv=np.eye(nvir[0])) - delta.bb = Namespace(oo=np.eye(nocc[1]), vv=np.eye(nvir[1])) - - # RDM1 - rdm1_f_aa_oo = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - rdm1_f_aa_oo += einsum(delta.aa.oo, (0, 1), (0, 1)) - rdm1_f_bb_oo = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - rdm1_f_bb_oo += einsum(delta.bb.oo, (0, 1), (0, 1)) - rdm1_f_aa_ov = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - rdm1_f_aa_ov += einsum(l1.bb, (0, 1), t2.abab, (2, 1, 3, 0), (2, 3)) - rdm1_f_aa_ov += einsum(l2.abab, (0, 1, 2, 3), t3.abaaba, (4, 3, 2, 5, 1, 0), (4, 5)) * 2.0 - rdm1_f_aa_ov += einsum(l2.aaaa, (0, 1, 2, 3), t3.aaaaaa, (4, 2, 3, 5, 0, 1), (4, 5)) * 3.0 - rdm1_f_aa_ov += einsum(t1.aa, (0, 1), (0, 1)) - rdm1_f_aa_ov += einsum(l1.aa, (0, 1), t2.aaaa, (2, 1, 3, 0), (2, 3)) * 2.0 - rdm1_f_aa_ov += einsum(l2.bbbb, (0, 1, 2, 3), t3.babbab, (2, 4, 3, 0, 5, 1), (4, 5)) - rdm1_f_bb_ov = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - rdm1_f_bb_ov += einsum(t1.bb, (0, 1), (0, 1)) - rdm1_f_bb_ov += einsum(l1.bb, (0, 1), t2.bbbb, (2, 1, 3, 0), (2, 3)) * 2.0 - rdm1_f_bb_ov += einsum(l2.abab, (0, 1, 2, 3), t3.babbab, (4, 2, 3, 5, 0, 1), (4, 5)) * 2.0 - rdm1_f_bb_ov += einsum(l1.aa, (0, 1), t2.abab, (1, 2, 0, 3), (2, 3)) - rdm1_f_bb_ov += einsum(l2.bbbb, (0, 1, 2, 3), t3.bbbbbb, (4, 2, 3, 5, 0, 1), (4, 5)) * 3.0 - rdm1_f_bb_ov += einsum(l2.aaaa, (0, 1, 2, 3), t3.abaaba, (2, 4, 3, 0, 5, 1), (4, 5)) - rdm1_f_aa_vo = np.zeros((nvir[0], nocc[0]), dtype=types[float]) - rdm1_f_aa_vo += einsum(l1.aa, (0, 1), (0, 1)) - rdm1_f_bb_vo = np.zeros((nvir[1], nocc[1]), dtype=types[float]) - rdm1_f_bb_vo += einsum(l1.bb, (0, 1), (0, 1)) - rdm1_f_aa_vv = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - rdm1_f_aa_vv += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (3, 4, 5, 0, 6, 2), (1, 6)) * 0.9999999999999601 - rdm1_f_aa_vv += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 4, 1), (0, 4)) - rdm1_f_aa_vv += einsum(l1.aa, (0, 1), t1.aa, (1, 2), (0, 2)) - rdm1_f_aa_vv += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (3, 4, 5, 6, 1, 2), (0, 6)) * 1.9999999999999194 - rdm1_f_aa_vv += einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), t3.aaaaaa, (3, 4, 5, 6, 1, 2), (0, 6)) * 2.9999999999998788 - rdm1_f_aa_vv += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (2, 3, 4, 1), (0, 4)) * 2.0 - rdm1_f_bb_vv = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - rdm1_f_bb_vv += einsum(l1.bb, (0, 1), t1.bb, (1, 2), (0, 2)) - rdm1_f_bb_vv += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (3, 4, 5, 6, 1, 2), (0, 6)) * 1.9999999999999194 - rdm1_f_bb_vv += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 0, 4), (1, 4)) - rdm1_f_bb_vv += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (3, 4, 5, 0, 6, 2), (1, 6)) * 0.9999999999999601 - rdm1_f_bb_vv += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (2, 3, 4, 1), (0, 4)) * 2.0 - rdm1_f_bb_vv += einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), t3.bbbbbb, (3, 4, 5, 6, 1, 2), (0, 6)) * 2.9999999999998788 - x0 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x0 += einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), t3.aaaaaa, (6, 4, 5, 0, 1, 2), (3, 6)) - rdm1_f_aa_oo += einsum(x0, (0, 1), (1, 0)) * -2.9999999999998788 - x1 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x1 += einsum(l1.aa, (0, 1), t1.aa, (2, 0), (1, 2)) - rdm1_f_aa_oo += einsum(x1, (0, 1), (1, 0)) * -1.0 - x2 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x2 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 0, 1), (2, 4)) - rdm1_f_aa_oo += einsum(x2, (0, 1), (1, 0)) * -1.0 - x3 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x3 += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 3, 0, 1), (2, 4)) - rdm1_f_aa_oo += einsum(x3, (0, 1), (1, 0)) * -2.0 - x4 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x4 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (6, 4, 5, 0, 1, 2), (3, 6)) - rdm1_f_aa_oo += einsum(x4, (0, 1), (1, 0)) * -1.9999999999999194 - x5 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x5 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (3, 6, 5, 0, 1, 2), (4, 6)) - rdm1_f_aa_oo += einsum(x5, (0, 1), (1, 0)) * -0.9999999999999601 - x6 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x6 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (3, 6, 5, 0, 1, 2), (4, 6)) - rdm1_f_bb_oo += einsum(x6, (0, 1), (1, 0)) * -0.9999999999999601 - x7 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x7 += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 3, 0, 1), (2, 4)) - rdm1_f_bb_oo += einsum(x7, (0, 1), (1, 0)) * -2.0 - x8 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x8 += einsum(l1.bb, (0, 1), t1.bb, (2, 0), (1, 2)) - rdm1_f_bb_oo += einsum(x8, (0, 1), (1, 0)) * -1.0 - x9 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x9 += einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), t3.bbbbbb, (6, 4, 5, 0, 1, 2), (3, 6)) - rdm1_f_bb_oo += einsum(x9, (0, 1), (1, 0)) * -2.9999999999998788 - x10 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x10 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (6, 4, 5, 0, 1, 2), (3, 6)) - rdm1_f_bb_oo += einsum(x10, (0, 1), (1, 0)) * -1.9999999999999194 - x11 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x11 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 1), (3, 4)) - rdm1_f_bb_oo += einsum(x11, (0, 1), (1, 0)) * -1.0 - x12 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x12 += einsum(t1.aa, (0, 1), l3.aaaaaa, (2, 3, 1, 4, 5, 6), (4, 5, 6, 0, 2, 3)) - rdm1_f_aa_ov += einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), x12, (0, 1, 2, 6, 4, 5), (6, 3)) * -2.9999999999998788 - del x12 - x13 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x13 += einsum(t1.aa, (0, 1), l3.babbab, (2, 1, 3, 4, 5, 6), (4, 6, 2, 3, 5, 0)) - rdm1_f_aa_ov += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x13, (0, 2, 5, 3, 1, 6), (6, 4)) * 0.9999999999999601 - del x13 - x14 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x14 += einsum(t1.aa, (0, 1), l3.abaaba, (2, 3, 1, 4, 5, 6), (5, 3, 4, 6, 0, 2)) - rdm1_f_aa_ov += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x14, (1, 4, 2, 0, 6, 5), (6, 3)) * -1.9999999999999194 - del x14 - x15 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x15 += einsum(t1.aa, (0, 1), l2.aaaa, (2, 1, 3, 4), (3, 4, 0, 2)) - x15 += einsum(t2.abab, (0, 1, 2, 3), l3.abaaba, (4, 3, 2, 5, 1, 6), (5, 6, 0, 4)) - x15 += einsum(t2.aaaa, (0, 1, 2, 3), l3.aaaaaa, (4, 2, 3, 5, 6, 1), (5, 6, 0, 4)) * 3.0 - rdm1_f_aa_ov += einsum(t2.aaaa, (0, 1, 2, 3), x15, (0, 1, 4, 3), (4, 2)) * 2.0 - del x15 - x16 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x16 += einsum(t1.aa, (0, 1), l2.abab, (1, 2, 3, 4), (4, 2, 3, 0)) * 0.5 - x16 += einsum(t2.abab, (0, 1, 2, 3), l3.babbab, (4, 2, 3, 5, 6, 1), (5, 4, 6, 0)) - x16 += einsum(t2.aaaa, (0, 1, 2, 3), l3.abaaba, (2, 4, 3, 5, 6, 1), (6, 4, 5, 0)) - rdm1_f_aa_ov += einsum(t2.abab, (0, 1, 2, 3), x16, (1, 3, 0, 4), (4, 2)) * -2.0 - del x16 - x17 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x17 += einsum(x1, (0, 1), (0, 1)) * 0.3333333333333468 - del x1 - x17 += einsum(x2, (0, 1), (0, 1)) * 0.3333333333333468 - del x2 - x17 += einsum(x3, (0, 1), (0, 1)) * 0.6666666666666936 - del x3 - x17 += einsum(x5, (0, 1), (0, 1)) * 0.33333333333333354 - del x5 - x17 += einsum(x4, (0, 1), (0, 1)) * 0.6666666666666667 - del x4 - x17 += einsum(x0, (0, 1), (0, 1)) - del x0 - rdm1_f_aa_ov += einsum(t1.aa, (0, 1), x17, (0, 2), (2, 1)) * -2.9999999999998788 - del x17 - x18 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x18 += einsum(t1.bb, (0, 1), l3.abaaba, (2, 1, 3, 4, 5, 6), (5, 0, 4, 6, 2, 3)) - rdm1_f_bb_ov += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x18, (1, 6, 0, 2, 3, 5), (6, 4)) * -0.9999999999999601 - del x18 - x19 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x19 += einsum(t1.bb, (0, 1), l3.babbab, (2, 3, 1, 4, 5, 6), (4, 6, 0, 2, 5, 3)) - rdm1_f_bb_ov += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x19, (0, 2, 6, 5, 1, 4), (6, 3)) * 1.9999999999999194 - del x19 - x20 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x20 += einsum(t1.bb, (0, 1), l3.bbbbbb, (2, 3, 1, 4, 5, 6), (4, 5, 6, 0, 2, 3)) - rdm1_f_bb_ov += einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), x20, (0, 1, 2, 6, 5, 4), (6, 3)) * 2.9999999999998788 - del x20 - x21 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x21 += einsum(t1.bb, (0, 1), l2.abab, (2, 1, 3, 4), (4, 0, 3, 2)) - x21 += einsum(t2.bbbb, (0, 1, 2, 3), l3.babbab, (2, 4, 3, 5, 6, 1), (5, 0, 6, 4)) * 2.0 - x21 += einsum(t2.abab, (0, 1, 2, 3), l3.abaaba, (4, 3, 2, 5, 6, 0), (6, 1, 5, 4)) * 2.0 - rdm1_f_bb_ov += einsum(t2.abab, (0, 1, 2, 3), x21, (1, 4, 0, 2), (4, 3)) * -1.0 - del x21 - x22 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x22 += einsum(t1.bb, (0, 1), l2.bbbb, (2, 1, 3, 4), (3, 4, 0, 2)) * 0.3333333333333333 - x22 += einsum(t2.bbbb, (0, 1, 2, 3), l3.bbbbbb, (4, 2, 3, 5, 6, 1), (5, 6, 0, 4)) - x22 += einsum(t2.abab, (0, 1, 2, 3), l3.babbab, (4, 2, 3, 5, 0, 6), (5, 6, 1, 4)) * 0.3333333333333333 - rdm1_f_bb_ov += einsum(t2.bbbb, (0, 1, 2, 3), x22, (0, 1, 4, 3), (4, 2)) * 6.0 - del x22 - x23 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x23 += einsum(x8, (0, 1), (0, 1)) * 1.00000000000004 - del x8 - x23 += einsum(x7, (0, 1), (0, 1)) * 2.00000000000008 - del x7 - x23 += einsum(x11, (0, 1), (0, 1)) * 1.00000000000004 - del x11 - x23 += einsum(x9, (0, 1), (0, 1)) * 2.9999999999999982 - del x9 - x23 += einsum(x10, (0, 1), (0, 1)) * 1.9999999999999991 - del x10 - x23 += einsum(x6, (0, 1), (0, 1)) - del x6 - rdm1_f_bb_ov += einsum(t1.bb, (0, 1), x23, (0, 2), (2, 1)) * -0.9999999999999601 - del x23 + return {f"l1new": l1new, f"l2new": l2new, f"l3new": l3new} - rdm1_f_aa = np.block([[rdm1_f_aa_oo, rdm1_f_aa_ov], [rdm1_f_aa_vo, rdm1_f_aa_vv]]) - rdm1_f_bb = np.block([[rdm1_f_bb_oo, rdm1_f_bb_ov], [rdm1_f_bb_vo, rdm1_f_bb_vv]]) +def make_rdm1_f(l1=None, l2=None, l3=None, t1=None, t2=None, t3=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-10-22T13:13:34.688883. - rdm1_f.aa = rdm1_f_aa - rdm1_f.bb = rdm1_f_bb + Parameters + ---------- + l1 : Namespace of arrays + L1 amplitudes. + l2 : Namespace of arrays + L2 amplitudes. + l3 : Namespace of arrays + L3 amplitudes. + t1 : Namespace of arrays + T1 amplitudes. + t2 : Namespace of arrays + T2 amplitudes. + t3 : Namespace of arrays + T3 amplitudes. - return rdm1_f + Returns + ------- + rdm1 : Namespace of arrays + One-particle reduced density matrix. + """ -def make_rdm2_f(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, t3=None, l1=None, l2=None, l3=None, **kwargs): - rdm2_f = Namespace() + rdm1 = Namespace() + rdm1.aa = Namespace() + rdm1.bb = Namespace() + delta = Namespace( + aa=Namespace(oo=np.eye(t2.aaaa.shape[0]), vv=np.eye(t2.aaaa.shape[-1])), + bb=Namespace(oo=np.eye(t2.bbbb.shape[0]), vv=np.eye(t2.bbbb.shape[-1])), + ) + rdm1.aa.vo = np.copy(l1.aa) + rdm1.bb.vo = np.copy(l1.bb) + tmp0 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 0, 1), (2, 4)) + rdm1.aa.oo = np.copy(np.transpose(tmp0, (1, 0))) * -1 + tmp1 = einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), l3.aaaaaa, (3, 4, 5, 6, 1, 2), (6, 0)) + rdm1.aa.oo += np.transpose(tmp1, (1, 0)) * -3 + tmp2 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (6, 4, 5, 0, 1, 2), (3, 6)) + rdm1.aa.oo += np.transpose(tmp2, (1, 0)) * -2 + tmp3 = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (2, 3, 4, 1), (4, 0)) + rdm1.aa.oo += np.transpose(tmp3, (1, 0)) * -2 + rdm1.aa.oo += delta.aa.oo + tmp4 = einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (3, 6, 5, 0, 1, 2), (4, 6)) + rdm1.aa.oo += np.transpose(tmp4, (1, 0)) * -1 + tmp5 = einsum(t1.aa, (0, 1), l1.aa, (1, 2), (2, 0)) + rdm1.aa.oo += np.transpose(tmp5, (1, 0)) * -1 + tmp6 = einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (6, 4, 5, 0, 1, 2), (3, 6)) + rdm1.bb.oo = np.copy(np.transpose(tmp6, (1, 0))) * -2 + rdm1.bb.oo += delta.bb.oo + del delta + tmp7 = einsum(l1.bb, (0, 1), t1.bb, (2, 0), (1, 2)) + rdm1.bb.oo += np.transpose(tmp7, (1, 0)) * -1 + tmp8 = einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), t3.bbbbbb, (6, 4, 5, 0, 1, 2), (3, 6)) + rdm1.bb.oo += np.transpose(tmp8, (1, 0)) * -3 + tmp9 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (2, 3, 4, 1), (4, 0)) + rdm1.bb.oo += np.transpose(tmp9, (1, 0)) * -2 + tmp10 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 3, 0, 4), (4, 1)) + rdm1.bb.oo += np.transpose(tmp10, (1, 0)) * -1 + tmp11 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (3, 6, 5, 0, 1, 2), (4, 6)) + rdm1.bb.oo += np.transpose(tmp11, (1, 0)) * -1 + rdm1.aa.vv = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 4, 1), (0, 4)) + rdm1.aa.vv += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (3, 4, 5, 6, 1, 2), (0, 6)) * 2 + rdm1.aa.vv += einsum(t1.aa, (0, 1), l1.aa, (2, 0), (2, 1)) + rdm1.aa.vv += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (2, 3, 4, 1), (0, 4)) * 2 + rdm1.aa.vv += einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), l3.aaaaaa, (6, 4, 5, 0, 1, 2), (6, 3)) * 3 + rdm1.aa.vv += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), l3.babbab, (3, 6, 5, 0, 1, 2), (6, 4)) + rdm1.bb.vv = einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (3, 4, 5, 6, 1, 2), (0, 6)) * 2 + rdm1.bb.vv += einsum(l1.bb, (0, 1), t1.bb, (1, 2), (0, 2)) + rdm1.bb.vv += einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (4, 3, 0, 1), (4, 2)) * 2 + rdm1.bb.vv += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 0, 4), (1, 4)) + rdm1.bb.vv += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (3, 4, 5, 0, 6, 2), (1, 6)) + rdm1.bb.vv += einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), l3.bbbbbb, (6, 4, 5, 0, 1, 2), (6, 3)) * 3 + rdm1.aa.ov = einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), l2.aaaa, (4, 5, 1, 2), (0, 3)) * 3 + rdm1.aa.ov += einsum(l1.aa, (0, 1), t2.aaaa, (2, 1, 3, 0), (2, 3)) * 2 + rdm1.aa.ov += einsum(l2.bbbb, (0, 1, 2, 3), t3.babbab, (2, 4, 3, 0, 5, 1), (4, 5)) + rdm1.aa.ov += einsum(l1.bb, (0, 1), t2.abab, (2, 1, 3, 0), (2, 3)) + rdm1.aa.ov += t1.aa + rdm1.aa.ov += einsum(l2.abab, (0, 1, 2, 3), t3.abaaba, (4, 3, 2, 5, 1, 0), (4, 5)) * 2 + tmp12 = einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), t1.aa, (6, 2), (3, 4, 5, 6, 0, 1)) + rdm1.aa.ov += einsum(tmp12, (0, 1, 2, 3, 4, 5), t3.aaaaaa, (1, 2, 0, 6, 5, 4), (3, 6)) * 3 + del tmp12 + tmp13 = einsum(t1.aa, (0, 1), l3.babbab, (2, 1, 3, 4, 5, 6), (5, 0, 4, 6, 2, 3)) + rdm1.aa.ov += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), tmp13, (1, 6, 2, 0, 5, 3), (6, 4)) * -1 + del tmp13 + tmp14 = einsum(t1.aa, (0, 1), l3.abaaba, (2, 3, 1, 4, 5, 6), (4, 6, 0, 5, 2, 3)) + rdm1.aa.ov += einsum(tmp14, (0, 1, 2, 3, 4, 5), t3.abaaba, (1, 3, 0, 6, 5, 4), (2, 6)) * -2 + del tmp14 + tmp15 = einsum(t1.aa, (0, 1), l2.aaaa, (2, 1, 3, 4), (3, 4, 0, 2)) * 0.3333333333333333 + tmp15 += einsum(t2.aaaa, (0, 1, 2, 3), l3.aaaaaa, (4, 2, 3, 5, 6, 1), (5, 6, 0, 4)) + tmp15 += einsum(t2.abab, (0, 1, 2, 3), l3.abaaba, (4, 3, 2, 5, 1, 6), (5, 6, 0, 4)) * 0.3333333333333333 + rdm1.aa.ov += einsum(t2.aaaa, (0, 1, 2, 3), tmp15, (0, 1, 4, 3), (4, 2)) * 6 + del tmp15 + tmp16 = einsum(t1.aa, (0, 1), l2.abab, (1, 2, 3, 4), (3, 0, 4, 2)) + tmp16 += einsum(t2.aaaa, (0, 1, 2, 3), l3.abaaba, (2, 4, 3, 5, 6, 1), (5, 0, 6, 4)) * 2 + tmp16 += einsum(t2.abab, (0, 1, 2, 3), l3.babbab, (4, 2, 3, 5, 6, 1), (6, 0, 5, 4)) * 2 + rdm1.aa.ov += einsum(t2.abab, (0, 1, 2, 3), tmp16, (0, 4, 1, 3), (4, 2)) * -1 + del tmp16 + tmp17 = np.copy(tmp5) + del tmp5 + tmp17 += tmp3 * 2 + del tmp3 + tmp17 += tmp0 + del tmp0 + tmp17 += tmp1 * 3 + del tmp1 + tmp17 += tmp2 * 2 + del tmp2 + tmp17 += tmp4 + del tmp4 + rdm1.aa.ov += einsum(t1.aa, (0, 1), tmp17, (0, 2), (2, 1)) * -1 + del tmp17 + rdm1.bb.ov = np.copy(t1.bb) + rdm1.bb.ov += einsum(t2.abab, (0, 1, 2, 3), l1.aa, (2, 0), (1, 3)) + rdm1.bb.ov += einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), l2.bbbb, (4, 5, 1, 2), (0, 3)) * 3 + rdm1.bb.ov += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), l2.abab, (4, 5, 1, 2), (0, 3)) * 2 + rdm1.bb.ov += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), l2.aaaa, (3, 5, 0, 2), (1, 4)) + rdm1.bb.ov += einsum(l1.bb, (0, 1), t2.bbbb, (2, 1, 3, 0), (2, 3)) * 2 + tmp18 = einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), t1.bb, (6, 2), (3, 4, 5, 6, 0, 1)) + rdm1.bb.ov += einsum(tmp18, (0, 1, 2, 3, 4, 5), t3.bbbbbb, (1, 2, 0, 6, 5, 4), (3, 6)) * 3 + del tmp18 + tmp19 = einsum(t1.bb, (0, 1), l3.babbab, (2, 3, 1, 4, 5, 6), (5, 4, 6, 0, 3, 2)) + rdm1.bb.ov += einsum(tmp19, (0, 1, 2, 3, 4, 5), t3.babbab, (2, 0, 1, 6, 4, 5), (3, 6)) * -2 + del tmp19 + tmp20 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t1.bb, (6, 1), (3, 5, 4, 6, 0, 2)) + rdm1.bb.ov += einsum(tmp20, (0, 1, 2, 3, 4, 5), t3.abaaba, (1, 2, 0, 5, 6, 4), (3, 6)) * -1 + del tmp20 + tmp21 = einsum(t1.bb, (0, 1), l2.bbbb, (2, 1, 3, 4), (3, 4, 0, 2)) + tmp21 += einsum(t2.abab, (0, 1, 2, 3), l3.babbab, (4, 2, 3, 5, 0, 6), (5, 6, 1, 4)) + tmp21 += einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), t2.bbbb, (6, 5, 1, 2), (3, 4, 6, 0)) * 3 + rdm1.bb.ov += einsum(t2.bbbb, (0, 1, 2, 3), tmp21, (0, 1, 4, 3), (4, 2)) * 2 + del tmp21 + tmp22 = einsum(l2.abab, (0, 1, 2, 3), t1.bb, (4, 1), (2, 3, 4, 0)) * 0.5 + tmp22 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t2.abab, (5, 6, 2, 1), (3, 4, 6, 0)) + tmp22 += einsum(t2.bbbb, (0, 1, 2, 3), l3.babbab, (2, 4, 3, 5, 6, 1), (6, 5, 0, 4)) + rdm1.bb.ov += einsum(t2.abab, (0, 1, 2, 3), tmp22, (0, 1, 4, 2), (4, 3)) * -2 + del tmp22 + tmp23 = np.copy(tmp7) + del tmp7 + tmp23 += tmp10 + del tmp10 + tmp23 += tmp9 * 2 + del tmp9 + tmp23 += tmp11 + del tmp11 + tmp23 += tmp6 * 2 + del tmp6 + tmp23 += tmp8 * 3 + del tmp8 + rdm1.bb.ov += einsum(tmp23, (0, 1), t1.bb, (0, 2), (1, 2)) * -1 + del tmp23 + rdm1.aa = np.block([[rdm1.aa.oo, rdm1.aa.ov], [rdm1.aa.vo, rdm1.aa.vv]]) + rdm1.bb = np.block([[rdm1.bb.oo, rdm1.bb.ov], [rdm1.bb.vo, rdm1.bb.vv]]) - delta = Namespace(aa=Namespace(), bb=Namespace()) - delta.aa = Namespace(oo=np.eye(nocc[0]), vv=np.eye(nvir[0])) - delta.bb = Namespace(oo=np.eye(nocc[1]), vv=np.eye(nvir[1])) + return rdm1 - # RDM2 - rdm2_f_aaaa_oooo = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - rdm2_f_aaaa_oooo += einsum(delta.aa.oo, (0, 1), delta.aa.oo, (2, 3), (0, 2, 1, 3)) - rdm2_f_aaaa_oooo += einsum(delta.aa.oo, (0, 1), delta.aa.oo, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_bbbb_oooo = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - rdm2_f_bbbb_oooo += einsum(delta.bb.oo, (0, 1), delta.bb.oo, (2, 3), (0, 2, 1, 3)) - rdm2_f_bbbb_oooo += einsum(delta.bb.oo, (0, 1), delta.bb.oo, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_aaaa_ovoo = np.zeros((nocc[0], nvir[0], nocc[0], nocc[0]), dtype=types[float]) - rdm2_f_aaaa_ovoo += einsum(delta.aa.oo, (0, 1), l1.aa, (2, 3), (0, 2, 1, 3)) - rdm2_f_aaaa_ovoo += einsum(delta.aa.oo, (0, 1), l1.aa, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_abab_ovoo = np.zeros((nocc[0], nvir[1], nocc[0], nocc[1]), dtype=types[float]) - rdm2_f_abab_ovoo += einsum(delta.aa.oo, (0, 1), l1.bb, (2, 3), (0, 2, 1, 3)) - rdm2_f_bbbb_ovoo = np.zeros((nocc[1], nvir[1], nocc[1], nocc[1]), dtype=types[float]) - rdm2_f_bbbb_ovoo += einsum(delta.bb.oo, (0, 1), l1.bb, (2, 3), (0, 2, 1, 3)) - rdm2_f_bbbb_ovoo += einsum(delta.bb.oo, (0, 1), l1.bb, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_aaaa_vooo = np.zeros((nvir[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - rdm2_f_aaaa_vooo += einsum(delta.aa.oo, (0, 1), l1.aa, (2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_aaaa_vooo += einsum(delta.aa.oo, (0, 1), l1.aa, (2, 3), (2, 0, 3, 1)) - rdm2_f_abab_vooo = np.zeros((nvir[0], nocc[1], nocc[0], nocc[1]), dtype=types[float]) - rdm2_f_abab_vooo += einsum(delta.bb.oo, (0, 1), l1.aa, (2, 3), (2, 0, 3, 1)) - rdm2_f_bbbb_vooo = np.zeros((nvir[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - rdm2_f_bbbb_vooo += einsum(delta.bb.oo, (0, 1), l1.bb, (2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_bbbb_vooo += einsum(delta.bb.oo, (0, 1), l1.bb, (2, 3), (2, 0, 3, 1)) - rdm2_f_aaaa_oovv = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - rdm2_f_aaaa_oovv += einsum(l1.bb, (0, 1), t3.abaaba, (2, 1, 3, 4, 0, 5), (2, 3, 4, 5)) * 2.0 - rdm2_f_aaaa_oovv += einsum(t2.aaaa, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - rdm2_f_aaaa_oovv += einsum(l1.aa, (0, 1), t3.aaaaaa, (2, 3, 1, 4, 5, 0), (2, 3, 4, 5)) * 6.0 - rdm2_f_abab_oovv = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - rdm2_f_abab_oovv += einsum(t2.abab, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_abab_oovv += einsum(l1.bb, (0, 1), t3.babbab, (2, 3, 1, 4, 5, 0), (3, 2, 5, 4)) * 2.0 - rdm2_f_abab_oovv += einsum(l1.aa, (0, 1), t3.abaaba, (2, 3, 1, 4, 5, 0), (2, 3, 4, 5)) * 2.0 - rdm2_f_bbbb_oovv = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - rdm2_f_bbbb_oovv += einsum(l1.bb, (0, 1), t3.bbbbbb, (2, 3, 1, 4, 5, 0), (2, 3, 4, 5)) * 6.0 - rdm2_f_bbbb_oovv += einsum(t2.bbbb, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - rdm2_f_bbbb_oovv += einsum(l1.aa, (0, 1), t3.babbab, (2, 1, 3, 4, 0, 5), (2, 3, 4, 5)) * 2.0 - rdm2_f_bbbb_oovv += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_bbbb_oovv += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3)) - rdm2_f_aaaa_ovov = np.zeros((nocc[0], nvir[0], nocc[0], nvir[0]), dtype=types[float]) - rdm2_f_aaaa_ovov += einsum(l1.aa, (0, 1), t1.aa, (2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_bbbb_ovov = np.zeros((nocc[1], nvir[1], nocc[1], nvir[1]), dtype=types[float]) - rdm2_f_bbbb_ovov += einsum(l1.bb, (0, 1), t1.bb, (2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_aaaa_ovvo = np.zeros((nocc[0], nvir[0], nvir[0], nocc[0]), dtype=types[float]) - rdm2_f_aaaa_ovvo += einsum(l1.aa, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1)) - rdm2_f_abab_ovvo = np.zeros((nocc[0], nvir[1], nvir[0], nocc[1]), dtype=types[float]) - rdm2_f_abab_ovvo += einsum(l1.bb, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1)) - rdm2_f_bbbb_ovvo = np.zeros((nocc[1], nvir[1], nvir[1], nocc[1]), dtype=types[float]) - rdm2_f_bbbb_ovvo += einsum(l1.bb, (0, 1), t1.bb, (2, 3), (2, 0, 3, 1)) - rdm2_f_aaaa_voov = np.zeros((nvir[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - rdm2_f_aaaa_voov += einsum(l1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 1, 3)) - rdm2_f_abab_voov = np.zeros((nvir[0], nocc[1], nocc[0], nvir[1]), dtype=types[float]) - rdm2_f_abab_voov += einsum(l1.aa, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3)) - rdm2_f_bbbb_voov = np.zeros((nvir[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - rdm2_f_bbbb_voov += einsum(l1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3)) - rdm2_f_aaaa_vovo = np.zeros((nvir[0], nocc[0], nvir[0], nocc[0]), dtype=types[float]) - rdm2_f_aaaa_vovo += einsum(l1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_bbbb_vovo = np.zeros((nvir[1], nocc[1], nvir[1], nocc[1]), dtype=types[float]) - rdm2_f_bbbb_vovo += einsum(l1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_aaaa_vvoo = np.zeros((nvir[0], nvir[0], nocc[0], nocc[0]), dtype=types[float]) - rdm2_f_aaaa_vvoo += einsum(l2.aaaa, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - rdm2_f_abab_vvoo = np.zeros((nvir[0], nvir[1], nocc[0], nocc[1]), dtype=types[float]) - rdm2_f_abab_vvoo += einsum(l2.abab, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_bbbb_vvoo = np.zeros((nvir[1], nvir[1], nocc[1], nocc[1]), dtype=types[float]) - rdm2_f_bbbb_vvoo += einsum(l2.bbbb, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - rdm2_f_abab_ovvv = np.zeros((nocc[0], nvir[1], nvir[0], nvir[1]), dtype=types[float]) - rdm2_f_abab_ovvv += einsum(l1.bb, (0, 1), t2.abab, (2, 1, 3, 4), (2, 0, 3, 4)) - rdm2_f_abab_ovvv += einsum(l2.bbbb, (0, 1, 2, 3), t3.babbab, (2, 4, 3, 5, 6, 1), (4, 0, 6, 5)) * 2.0 - rdm2_f_abab_ovvv += einsum(l2.abab, (0, 1, 2, 3), t3.abaaba, (4, 3, 2, 5, 6, 0), (4, 1, 5, 6)) * 2.0 - rdm2_f_abab_vovv = np.zeros((nvir[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - rdm2_f_abab_vovv += einsum(l2.abab, (0, 1, 2, 3), t3.babbab, (4, 2, 3, 5, 6, 1), (0, 4, 6, 5)) * 2.0 - rdm2_f_abab_vovv += einsum(l1.aa, (0, 1), t2.abab, (1, 2, 3, 4), (0, 2, 3, 4)) - rdm2_f_abab_vovv += einsum(l2.aaaa, (0, 1, 2, 3), t3.abaaba, (2, 4, 3, 5, 6, 1), (0, 4, 5, 6)) * 2.0 - rdm2_f_abab_vvov = np.zeros((nvir[0], nvir[1], nocc[0], nvir[1]), dtype=types[float]) - rdm2_f_abab_vvov += einsum(t1.bb, (0, 1), l2.abab, (2, 3, 4, 0), (2, 3, 4, 1)) - rdm2_f_aaaa_vvvv = np.zeros((nvir[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - rdm2_f_aaaa_vvvv += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (3, 4, 5, 6, 1, 7), (0, 2, 6, 7)) * 2.0000000000000404 - rdm2_f_aaaa_vvvv += einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), t3.aaaaaa, (3, 4, 5, 6, 7, 2), (0, 1, 6, 7)) * 6.000000000000116 - rdm2_f_aaaa_vvvv += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (2, 3, 4, 5), (0, 1, 4, 5)) * 2.0 - rdm2_f_abab_vvvv = np.zeros((nvir[0], nvir[1], nvir[0], nvir[1]), dtype=types[float]) - rdm2_f_abab_vvvv += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (3, 4, 5, 6, 7, 2), (1, 0, 7, 6)) * 2.0000000000000404 - rdm2_f_abab_vvvv += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (3, 4, 5, 6, 7, 2), (0, 1, 6, 7)) * 2.0000000000000404 - rdm2_f_abab_vvvv += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 4, 5), (0, 1, 4, 5)) - rdm2_f_bbbb_vvvv = np.zeros((nvir[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - rdm2_f_bbbb_vvvv += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (3, 4, 5, 6, 1, 7), (0, 2, 6, 7)) * 2.0000000000000404 - rdm2_f_bbbb_vvvv += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (2, 3, 4, 5), (0, 1, 4, 5)) * 2.0 - rdm2_f_bbbb_vvvv += einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), t3.bbbbbb, (3, 4, 5, 6, 7, 2), (0, 1, 6, 7)) * 6.000000000000116 - x0 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x0 += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 5, 0, 1), (2, 3, 4, 5)) - rdm2_f_aaaa_oooo += einsum(x0, (0, 1, 2, 3), (3, 2, 1, 0)) * 2.0 - x1 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x1 += einsum(t1.aa, (0, 1), l2.aaaa, (2, 1, 3, 4), (3, 4, 0, 2)) - rdm2_f_aaaa_ovoo += einsum(x1, (0, 1, 2, 3), (2, 3, 1, 0)) * -2.0 - rdm2_f_aaaa_vooo += einsum(x1, (0, 1, 2, 3), (3, 2, 1, 0)) * 2.0 - x2 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x2 += einsum(t1.aa, (0, 1), x1, (2, 3, 4, 1), (2, 3, 0, 4)) - rdm2_f_aaaa_oooo += einsum(x2, (0, 1, 2, 3), (2, 3, 1, 0)) * -2.0 - x3 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x3 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (6, 4, 7, 0, 1, 2), (3, 5, 6, 7)) - rdm2_f_aaaa_oooo += einsum(x3, (0, 1, 2, 3), (2, 3, 1, 0)) * -2.0000000000000404 - x4 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x4 += einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), t3.aaaaaa, (6, 7, 5, 0, 1, 2), (3, 4, 6, 7)) - rdm2_f_aaaa_oooo += einsum(x4, (0, 1, 2, 3), (2, 3, 1, 0)) * -6.000000000000116 - x5 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x5 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 0, 1), (2, 4)) - x6 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x6 += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 3, 0, 1), (2, 4)) - x7 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x7 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (3, 6, 5, 0, 1, 2), (4, 6)) - x8 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x8 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (6, 4, 5, 0, 1, 2), (3, 6)) - x9 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x9 += einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), t3.aaaaaa, (6, 4, 5, 0, 1, 2), (3, 6)) - x10 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x10 += einsum(x5, (0, 1), (0, 1)) - x10 += einsum(x6, (0, 1), (0, 1)) * 2.0 - x10 += einsum(x7, (0, 1), (0, 1)) * 0.9999999999999601 - x10 += einsum(x8, (0, 1), (0, 1)) * 1.9999999999999194 - x10 += einsum(x9, (0, 1), (0, 1)) * 2.9999999999998788 - rdm2_f_aaaa_oooo += einsum(delta.aa.oo, (0, 1), x10, (2, 3), (0, 3, 1, 2)) * -1.0 - rdm2_f_aaaa_oooo += einsum(delta.aa.oo, (0, 1), x10, (2, 3), (0, 3, 2, 1)) - rdm2_f_aaaa_oooo += einsum(delta.aa.oo, (0, 1), x10, (2, 3), (3, 0, 1, 2)) - rdm2_f_aaaa_oooo += einsum(delta.aa.oo, (0, 1), x10, (2, 3), (3, 0, 2, 1)) * -1.0 - del x10 - x11 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x11 += einsum(l1.aa, (0, 1), t1.aa, (2, 0), (1, 2)) - rdm2_f_aaaa_oooo += einsum(delta.aa.oo, (0, 1), x11, (2, 3), (0, 3, 1, 2)) * -1.0 - rdm2_f_aaaa_oooo += einsum(delta.aa.oo, (0, 1), x11, (2, 3), (3, 0, 1, 2)) - rdm2_f_aaaa_oooo += einsum(delta.aa.oo, (0, 1), x11, (2, 3), (0, 3, 2, 1)) - rdm2_f_aaaa_oooo += einsum(delta.aa.oo, (0, 1), x11, (2, 3), (3, 0, 2, 1)) * -1.0 - x12 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x12 += einsum(t2.abab, (0, 1, 2, 3), l3.abaaba, (4, 3, 2, 5, 1, 6), (5, 6, 0, 4)) - rdm2_f_aaaa_ovoo += einsum(x12, (0, 1, 2, 3), (2, 3, 1, 0)) * -2.0 - rdm2_f_aaaa_vooo += einsum(x12, (0, 1, 2, 3), (3, 2, 1, 0)) * 2.0 - x13 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x13 += einsum(t2.aaaa, (0, 1, 2, 3), l3.aaaaaa, (4, 2, 3, 5, 6, 1), (5, 6, 0, 4)) - rdm2_f_aaaa_ovoo += einsum(x13, (0, 1, 2, 3), (2, 3, 1, 0)) * -6.0 - rdm2_f_aaaa_vooo += einsum(x13, (0, 1, 2, 3), (3, 2, 1, 0)) * 6.0 - x14 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x14 += einsum(x12, (0, 1, 2, 3), (0, 1, 2, 3)) - x14 += einsum(x13, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0 - x15 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x15 += einsum(t1.aa, (0, 1), x14, (2, 3, 4, 1), (0, 2, 3, 4)) * 2.0 - rdm2_f_aaaa_oooo += einsum(x15, (0, 1, 2, 3), (0, 3, 2, 1)) * -1.0 - rdm2_f_aaaa_oooo += einsum(x15, (0, 1, 2, 3), (3, 0, 2, 1)) - del x15 - x16 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x16 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (6, 7, 5, 0, 1, 2), (4, 7, 3, 6)) - rdm2_f_abab_oooo = np.zeros((nocc[0], nocc[1], nocc[0], nocc[1]), dtype=types[float]) - rdm2_f_abab_oooo += einsum(x16, (0, 1, 2, 3), (3, 1, 2, 0)) * 2.0000000000000404 - x17 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x17 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (6, 7, 5, 0, 1, 2), (3, 6, 4, 7)) - rdm2_f_abab_oooo += einsum(x17, (0, 1, 2, 3), (3, 1, 2, 0)) * 2.0000000000000404 - x18 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x18 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 5, 0, 1), (3, 5, 2, 4)) - rdm2_f_abab_oooo += einsum(x18, (0, 1, 2, 3), (3, 1, 2, 0)) - x19 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x19 += einsum(t1.aa, (0, 1), l2.abab, (1, 2, 3, 4), (4, 2, 3, 0)) - rdm2_f_abab_ovoo += einsum(x19, (0, 1, 2, 3), (3, 1, 2, 0)) * -1.0 - x20 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x20 += einsum(t2.abab, (0, 1, 2, 3), l3.babbab, (4, 2, 3, 5, 6, 1), (5, 4, 6, 0)) - rdm2_f_abab_ovoo += einsum(x20, (0, 1, 2, 3), (3, 1, 2, 0)) * -2.0 - x21 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x21 += einsum(t2.aaaa, (0, 1, 2, 3), l3.abaaba, (2, 4, 3, 5, 6, 1), (6, 4, 5, 0)) - rdm2_f_abab_ovoo += einsum(x21, (0, 1, 2, 3), (3, 1, 2, 0)) * -2.0 - x22 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x22 += einsum(x19, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - x22 += einsum(x20, (0, 1, 2, 3), (0, 1, 2, 3)) - x22 += einsum(x21, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_abab_oooo += einsum(t1.bb, (0, 1), x22, (2, 1, 3, 4), (4, 0, 3, 2)) * 2.0 - rdm2_f_abab_ooov = np.zeros((nocc[0], nocc[1], nocc[0], nvir[1]), dtype=types[float]) - rdm2_f_abab_ooov += einsum(t2.bbbb, (0, 1, 2, 3), x22, (1, 3, 4, 5), (5, 0, 4, 2)) * -4.0 - rdm2_f_abab_oovo = np.zeros((nocc[0], nocc[1], nvir[0], nocc[1]), dtype=types[float]) - rdm2_f_abab_oovo += einsum(t2.abab, (0, 1, 2, 3), x22, (4, 3, 0, 5), (5, 1, 2, 4)) * 2.0 - rdm2_f_abab_ovvo += einsum(t1.aa, (0, 1), x22, (2, 3, 0, 4), (4, 3, 1, 2)) * -2.0 - rdm2_f_abab_ovvv += einsum(t2.abab, (0, 1, 2, 3), x22, (1, 4, 0, 5), (5, 4, 2, 3)) * -2.0 - x23 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x23 += einsum(t2.bbbb, (0, 1, 2, 3), l3.babbab, (2, 4, 3, 5, 6, 1), (5, 0, 6, 4)) - rdm2_f_abab_vooo += einsum(x23, (0, 1, 2, 3), (3, 1, 2, 0)) * -2.0 - x24 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x24 += einsum(t2.abab, (0, 1, 2, 3), l3.abaaba, (4, 3, 2, 5, 6, 0), (6, 1, 5, 4)) - rdm2_f_abab_vooo += einsum(x24, (0, 1, 2, 3), (3, 1, 2, 0)) * -2.0 - x25 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x25 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) - x25 += einsum(x24, (0, 1, 2, 3), (0, 1, 2, 3)) - x26 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x26 += einsum(t1.aa, (0, 1), x25, (2, 3, 4, 1), (2, 3, 0, 4)) * 2.0 - rdm2_f_abab_oooo += einsum(x26, (0, 1, 2, 3), (2, 1, 3, 0)) - x27 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x27 += einsum(delta.aa.oo, (0, 1), (0, 1)) * -1.0 - x27 += einsum(x11, (0, 1), (0, 1)) - x27 += einsum(x5, (0, 1), (0, 1)) - x27 += einsum(x6, (0, 1), (0, 1)) * 2.0 - x27 += einsum(x7, (0, 1), (0, 1)) * 0.9999999999999601 - x27 += einsum(x8, (0, 1), (0, 1)) * 1.9999999999999194 - x27 += einsum(x9, (0, 1), (0, 1)) * 2.9999999999998788 - rdm2_f_abab_oooo += einsum(delta.bb.oo, (0, 1), x27, (2, 3), (3, 0, 2, 1)) * -1.0 - del x27 - x28 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x28 += einsum(l1.bb, (0, 1), t1.bb, (2, 0), (1, 2)) - rdm2_f_bbbb_oooo += einsum(delta.bb.oo, (0, 1), x28, (2, 3), (0, 3, 1, 2)) * -1.0 - rdm2_f_bbbb_oooo += einsum(delta.bb.oo, (0, 1), x28, (2, 3), (3, 0, 1, 2)) - rdm2_f_bbbb_oooo += einsum(delta.bb.oo, (0, 1), x28, (2, 3), (0, 3, 2, 1)) - rdm2_f_bbbb_oooo += einsum(delta.bb.oo, (0, 1), x28, (2, 3), (3, 0, 2, 1)) * -1.0 - x29 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x29 += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 3, 0, 1), (2, 4)) - x30 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x30 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 1), (3, 4)) - x31 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x31 += einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), t3.bbbbbb, (6, 4, 5, 0, 1, 2), (3, 6)) - x32 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x32 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (6, 4, 5, 0, 1, 2), (3, 6)) - x33 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x33 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (3, 6, 5, 0, 1, 2), (4, 6)) - x34 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x34 += einsum(x28, (0, 1), (0, 1)) * 0.5 - x34 += einsum(x29, (0, 1), (0, 1)) - x34 += einsum(x30, (0, 1), (0, 1)) * 0.5 - x34 += einsum(x31, (0, 1), (0, 1)) * 1.4999999999999394 - x34 += einsum(x32, (0, 1), (0, 1)) * 0.9999999999999597 - x34 += einsum(x33, (0, 1), (0, 1)) * 0.49999999999998007 - rdm2_f_abab_oooo += einsum(delta.aa.oo, (0, 1), x34, (2, 3), (0, 3, 1, 2)) * -2.0 - rdm2_f_abab_oovo += einsum(t1.aa, (0, 1), x34, (2, 3), (0, 3, 1, 2)) * -2.0 - del x34 - x35 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x35 += einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), t3.bbbbbb, (6, 7, 5, 0, 1, 2), (3, 4, 6, 7)) - rdm2_f_bbbb_oooo += einsum(x35, (0, 1, 2, 3), (2, 3, 1, 0)) * -6.000000000000116 - x36 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x36 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (6, 4, 7, 0, 1, 2), (3, 5, 6, 7)) - rdm2_f_bbbb_oooo += einsum(x36, (0, 1, 2, 3), (2, 3, 1, 0)) * -2.0000000000000404 - x37 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x37 += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 5, 0, 1), (2, 3, 4, 5)) - rdm2_f_bbbb_oooo += einsum(x37, (0, 1, 2, 3), (3, 2, 1, 0)) * 2.0 - x38 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x38 += einsum(t1.bb, (0, 1), l2.bbbb, (2, 1, 3, 4), (3, 4, 0, 2)) - rdm2_f_bbbb_ovoo += einsum(x38, (0, 1, 2, 3), (2, 3, 1, 0)) * -2.0 - rdm2_f_bbbb_vooo += einsum(x38, (0, 1, 2, 3), (3, 2, 1, 0)) * 2.0 - x39 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x39 += einsum(t1.bb, (0, 1), x38, (2, 3, 4, 1), (2, 3, 0, 4)) - rdm2_f_bbbb_oooo += einsum(x39, (0, 1, 2, 3), (2, 3, 1, 0)) * -2.0 - x40 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x40 += einsum(t2.bbbb, (0, 1, 2, 3), l3.bbbbbb, (4, 2, 3, 5, 6, 1), (5, 6, 0, 4)) - rdm2_f_bbbb_ovoo += einsum(x40, (0, 1, 2, 3), (2, 3, 1, 0)) * -6.0 - rdm2_f_bbbb_vooo += einsum(x40, (0, 1, 2, 3), (3, 2, 1, 0)) * 6.0 - x41 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x41 += einsum(t2.abab, (0, 1, 2, 3), l3.babbab, (4, 2, 3, 5, 0, 6), (5, 6, 1, 4)) - rdm2_f_bbbb_ovoo += einsum(x41, (0, 1, 2, 3), (2, 3, 1, 0)) * -2.0 - rdm2_f_bbbb_vooo += einsum(x41, (0, 1, 2, 3), (3, 2, 1, 0)) * 2.0 - x42 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x42 += einsum(x40, (0, 1, 2, 3), (0, 1, 2, 3)) - x42 += einsum(x41, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.3333333333333333 - x43 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x43 += einsum(t1.bb, (0, 1), x42, (2, 3, 4, 1), (0, 2, 3, 4)) * 6.0 - rdm2_f_bbbb_oooo += einsum(x43, (0, 1, 2, 3), (0, 3, 2, 1)) * -1.0 - rdm2_f_bbbb_oooo += einsum(x43, (0, 1, 2, 3), (3, 0, 2, 1)) - del x43 - x44 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x44 += einsum(x29, (0, 1), (0, 1)) - x44 += einsum(x30, (0, 1), (0, 1)) * 0.5 - x44 += einsum(x31, (0, 1), (0, 1)) * 1.4999999999999394 - x44 += einsum(x32, (0, 1), (0, 1)) * 0.9999999999999597 - x44 += einsum(x33, (0, 1), (0, 1)) * 0.49999999999998007 - rdm2_f_bbbb_oooo += einsum(delta.bb.oo, (0, 1), x44, (2, 3), (0, 3, 1, 2)) * -2.0 - rdm2_f_bbbb_oooo += einsum(delta.bb.oo, (0, 1), x44, (2, 3), (0, 3, 2, 1)) * 2.0 - rdm2_f_bbbb_oooo += einsum(delta.bb.oo, (0, 1), x44, (2, 3), (3, 0, 1, 2)) * 2.0 - rdm2_f_bbbb_oooo += einsum(delta.bb.oo, (0, 1), x44, (2, 3), (3, 0, 2, 1)) * -2.0 - del x44 - x45 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x45 += einsum(t1.aa, (0, 1), l3.aaaaaa, (2, 3, 1, 4, 5, 6), (4, 5, 6, 0, 2, 3)) - x46 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x46 += einsum(t1.aa, (0, 1), x45, (2, 3, 4, 5, 1, 6), (3, 4, 2, 5, 0, 6)) - x47 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x47 += einsum(t2.aaaa, (0, 1, 2, 3), x46, (1, 0, 4, 5, 6, 3), (4, 6, 5, 2)) - rdm2_f_aaaa_ooov = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - rdm2_f_aaaa_ooov += einsum(x47, (0, 1, 2, 3), (1, 2, 0, 3)) * 6.0 - rdm2_f_aaaa_oovo = np.zeros((nocc[0], nocc[0], nvir[0], nocc[0]), dtype=types[float]) - rdm2_f_aaaa_oovo += einsum(x47, (0, 1, 2, 3), (1, 2, 3, 0)) * -6.0 - x48 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x48 += einsum(l2.aaaa, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 3, 6, 0, 1), (2, 4, 5, 6)) - rdm2_f_aaaa_ooov += einsum(x48, (0, 1, 2, 3), (1, 2, 0, 3)) * 6.0 - rdm2_f_aaaa_oovo += einsum(x48, (0, 1, 2, 3), (1, 2, 3, 0)) * -6.0 - x49 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x49 += einsum(l2.abab, (0, 1, 2, 3), t3.abaaba, (4, 3, 5, 6, 1, 0), (2, 4, 5, 6)) - rdm2_f_aaaa_ooov += einsum(x49, (0, 1, 2, 3), (1, 2, 0, 3)) * 2.0 - rdm2_f_aaaa_oovo += einsum(x49, (0, 1, 2, 3), (1, 2, 3, 0)) * -2.0 - x50 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x50 += einsum(l1.aa, (0, 1), t2.aaaa, (2, 3, 4, 0), (1, 2, 3, 4)) - rdm2_f_aaaa_ooov += einsum(x50, (0, 1, 2, 3), (2, 1, 0, 3)) * -2.0 - rdm2_f_aaaa_oovo += einsum(x50, (0, 1, 2, 3), (2, 1, 3, 0)) * 2.0 - x51 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x51 += einsum(t1.aa, (0, 1), l3.abaaba, (2, 3, 1, 4, 5, 6), (5, 3, 4, 6, 0, 2)) - rdm2_f_abab_ovvv += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x51, (1, 6, 0, 2, 7, 5), (7, 6, 3, 4)) * 2.0000000000000404 - x52 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x52 += einsum(t1.aa, (0, 1), x51, (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 6, 0)) * -1.0 - x53 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x53 += einsum(t2.abab, (0, 1, 2, 3), x52, (1, 3, 4, 0, 5, 6), (4, 6, 5, 2)) * -1.0 - rdm2_f_aaaa_ooov += einsum(x53, (0, 1, 2, 3), (1, 2, 0, 3)) * 2.0 - rdm2_f_aaaa_oovo += einsum(x53, (0, 1, 2, 3), (1, 2, 3, 0)) * -2.0 - x54 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x54 += einsum(l1.bb, (0, 1), t2.abab, (2, 1, 3, 0), (2, 3)) - x55 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x55 += einsum(l1.aa, (0, 1), t2.aaaa, (2, 1, 3, 0), (2, 3)) - x56 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x56 += einsum(l2.bbbb, (0, 1, 2, 3), t3.babbab, (2, 4, 3, 0, 5, 1), (4, 5)) - x57 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x57 += einsum(l2.abab, (0, 1, 2, 3), t3.abaaba, (4, 3, 2, 5, 1, 0), (4, 5)) - x58 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x58 += einsum(l2.aaaa, (0, 1, 2, 3), t3.aaaaaa, (4, 2, 3, 5, 0, 1), (4, 5)) - x59 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x59 += einsum(t1.aa, (0, 1), l3.babbab, (2, 1, 3, 4, 5, 6), (4, 6, 2, 3, 5, 0)) - rdm2_f_abab_ovvv += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x59, (2, 0, 6, 5, 1, 7), (7, 6, 4, 3)) * 2.0000000000000404 - x60 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x60 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x59, (0, 2, 3, 5, 1, 6), (6, 4)) - x61 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x61 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x51, (1, 4, 0, 2, 6, 5), (6, 3)) * -1.0 - x62 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x62 += einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), x45, (0, 1, 2, 6, 4, 5), (6, 3)) - x63 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x63 += einsum(t2.abab, (0, 1, 2, 3), x22, (1, 3, 0, 4), (4, 2)) * 2.0 - x64 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x64 += einsum(x1, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.3333333333333333 - x64 += einsum(x12, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.3333333333333333 - x64 += einsum(x13, (0, 1, 2, 3), (0, 1, 2, 3)) - x65 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x65 += einsum(t2.aaaa, (0, 1, 2, 3), x64, (0, 1, 4, 3), (4, 2)) * -6.0 - x66 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x66 += einsum(x11, (0, 1), (0, 1)) - x66 += einsum(x5, (0, 1), (0, 1)) - x66 += einsum(x6, (0, 1), (0, 1)) * 2.0 - x66 += einsum(x7, (0, 1), (0, 1)) * 0.9999999999999601 - x66 += einsum(x8, (0, 1), (0, 1)) * 1.9999999999999194 - x66 += einsum(x9, (0, 1), (0, 1)) * 2.9999999999998788 - rdm2_f_abab_ooov += einsum(t1.bb, (0, 1), x66, (2, 3), (3, 0, 2, 1)) * -1.0 - x67 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x67 += einsum(t1.aa, (0, 1), x66, (0, 2), (2, 1)) - x68 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x68 += einsum(x54, (0, 1), (0, 1)) * -1.0 - x68 += einsum(x55, (0, 1), (0, 1)) * -2.0 - x68 += einsum(x56, (0, 1), (0, 1)) * -1.0 - x68 += einsum(x57, (0, 1), (0, 1)) * -2.0 - x68 += einsum(x58, (0, 1), (0, 1)) * -3.0 - x68 += einsum(x60, (0, 1), (0, 1)) * 0.9999999999999601 - x68 += einsum(x61, (0, 1), (0, 1)) * 1.9999999999999194 - x68 += einsum(x62, (0, 1), (0, 1)) * 2.9999999999998788 - x68 += einsum(x63, (0, 1), (0, 1)) - x68 += einsum(x65, (0, 1), (0, 1)) - x68 += einsum(x67, (0, 1), (0, 1)) - rdm2_f_aaaa_ooov += einsum(delta.aa.oo, (0, 1), x68, (2, 3), (0, 2, 1, 3)) * -1.0 - rdm2_f_aaaa_ooov += einsum(delta.aa.oo, (0, 1), x68, (2, 3), (2, 0, 1, 3)) - rdm2_f_aaaa_oovo += einsum(delta.aa.oo, (0, 1), x68, (2, 3), (0, 2, 3, 1)) - rdm2_f_aaaa_oovo += einsum(delta.aa.oo, (0, 1), x68, (2, 3), (2, 0, 3, 1)) * -1.0 - x69 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x69 += einsum(t2.abab, (0, 1, 2, 3), x20, (1, 3, 4, 5), (4, 0, 5, 2)) - x70 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x70 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x59, (2, 0, 3, 5, 6, 7), (6, 7, 1, 4)) * -1.0 - x71 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x71 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x51, (1, 4, 6, 2, 7, 5), (6, 7, 0, 3)) * -1.0 - x72 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x72 += einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), x45, (1, 2, 6, 7, 5, 4), (6, 7, 0, 3)) * -1.0 - x73 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x73 += einsum(t2.aaaa, (0, 1, 2, 3), x64, (1, 4, 5, 3), (0, 4, 5, 2)) * 12.0 - x74 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x74 += einsum(x19, (0, 1, 2, 3), (0, 1, 2, 3)) - x74 += einsum(x21, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x75 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x75 += einsum(t2.abab, (0, 1, 2, 3), x74, (1, 3, 4, 5), (0, 4, 5, 2)) - x76 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x76 += einsum(t1.aa, (0, 1), x14, (2, 3, 4, 1), (0, 2, 3, 4)) - x77 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x77 += einsum(t1.aa, (0, 1), x76, (2, 0, 3, 4), (3, 2, 4, 1)) * 2.0 - del x76 - x78 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x78 += einsum(delta.aa.oo, (0, 1), t1.aa, (2, 3), (0, 1, 2, 3)) - x78 += einsum(x69, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 - x78 += einsum(x70, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x78 += einsum(x71, (0, 1, 2, 3), (1, 0, 2, 3)) * -4.0 - x78 += einsum(x72, (0, 1, 2, 3), (1, 0, 2, 3)) * -9.0 - x78 += einsum(x73, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - del x73 - x78 += einsum(x75, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - del x75 - x78 += einsum(x77, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x77 - x78 += einsum(t1.aa, (0, 1), x66, (2, 3), (0, 2, 3, 1)) - del x66 - rdm2_f_aaaa_ooov += einsum(x78, (0, 1, 2, 3), (0, 2, 1, 3)) - rdm2_f_aaaa_ooov += einsum(x78, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_aaaa_oovo += einsum(x78, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_aaaa_oovo += einsum(x78, (0, 1, 2, 3), (2, 0, 3, 1)) - del x78 - x79 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x79 += einsum(t2.abab, (0, 1, 2, 3), l3.abaaba, (4, 3, 5, 6, 1, 0), (6, 4, 5, 2)) - rdm2_f_aaaa_vvov = np.zeros((nvir[0], nvir[0], nocc[0], nvir[0]), dtype=types[float]) - rdm2_f_aaaa_vvov += einsum(x79, (0, 1, 2, 3), (1, 2, 0, 3)) * 2.0 - rdm2_f_aaaa_vvvo = np.zeros((nvir[0], nvir[0], nvir[0], nocc[0]), dtype=types[float]) - rdm2_f_aaaa_vvvo += einsum(x79, (0, 1, 2, 3), (1, 2, 3, 0)) * -2.0 - x80 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x80 += einsum(t2.aaaa, (0, 1, 2, 3), l3.aaaaaa, (4, 5, 3, 6, 0, 1), (6, 4, 5, 2)) - rdm2_f_aaaa_vvov += einsum(x80, (0, 1, 2, 3), (1, 2, 0, 3)) * 6.0 - rdm2_f_aaaa_vvvo += einsum(x80, (0, 1, 2, 3), (1, 2, 3, 0)) * -6.0 - x81 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x81 += einsum(x79, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.3333333333333333 - x81 += einsum(x80, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - rdm2_f_abab_oovv += einsum(x81, (0, 1, 2, 3), t3.abaaba, (4, 5, 0, 1, 6, 2), (4, 5, 3, 6)) * 6.0 - x82 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x82 += einsum(t2.aaaa, (0, 1, 2, 3), x81, (4, 2, 3, 5), (0, 1, 4, 5)) * 6.0 - del x81 - rdm2_f_aaaa_ooov += einsum(x82, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - rdm2_f_aaaa_oovo += einsum(x82, (0, 1, 2, 3), (1, 0, 3, 2)) - del x82 - x83 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x83 += einsum(x0, (0, 1, 2, 3), (1, 0, 3, 2)) * -0.3333333333333269 - x83 += einsum(x2, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.3333333333333269 - x83 += einsum(x3, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.3333333333333336 - x83 += einsum(x4, (0, 1, 2, 3), (0, 1, 3, 2)) - x84 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x84 += einsum(t1.aa, (0, 1), x83, (0, 2, 3, 4), (2, 3, 4, 1)) * 6.000000000000116 - del x83 - rdm2_f_aaaa_ooov += einsum(x84, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_aaaa_oovo += einsum(x84, (0, 1, 2, 3), (2, 1, 3, 0)) - del x84 - x85 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x85 += einsum(t1.bb, (0, 1), l3.abaaba, (2, 1, 3, 4, 5, 6), (5, 0, 4, 6, 2, 3)) - rdm2_f_abab_vovv += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x85, (1, 6, 0, 2, 7, 5), (7, 6, 3, 4)) * -2.0000000000000404 - x86 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x86 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x85, (1, 6, 7, 2, 5, 3), (6, 4, 7, 0)) * -1.0 - rdm2_f_abab_ooov += einsum(x86, (0, 1, 2, 3), (3, 0, 2, 1)) * 2.0 - x87 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x87 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x51, (2, 5, 6, 1, 7, 4), (0, 3, 6, 7)) * -1.0 - rdm2_f_abab_ooov += einsum(x87, (0, 1, 2, 3), (3, 0, 2, 1)) * -4.0 - x88 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x88 += einsum(t1.bb, (0, 1), x51, (2, 1, 3, 4, 5, 6), (2, 0, 3, 4, 5, 6)) - x89 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x89 += einsum(t2.abab, (0, 1, 2, 3), x88, (1, 4, 5, 0, 6, 2), (4, 3, 5, 6)) * -1.0 - rdm2_f_abab_ooov += einsum(x89, (0, 1, 2, 3), (3, 0, 2, 1)) * 2.0 - x90 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x90 += einsum(t1.bb, (0, 1), l3.babbab, (2, 3, 1, 4, 5, 6), (4, 6, 0, 2, 5, 3)) - rdm2_f_abab_vovv += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x90, (2, 0, 6, 5, 1, 7), (7, 6, 4, 3)) * -2.0000000000000404 - x91 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x91 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x90, (2, 0, 6, 5, 7, 4), (6, 3, 7, 1)) - rdm2_f_abab_ooov += einsum(x91, (0, 1, 2, 3), (3, 0, 2, 1)) * 2.0 - x92 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x92 += einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), x59, (1, 2, 4, 5, 6, 7), (0, 3, 6, 7)) - rdm2_f_abab_ooov += einsum(x92, (0, 1, 2, 3), (3, 0, 2, 1)) * -3.0 - x93 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x93 += einsum(t1.bb, (0, 1), x59, (2, 3, 1, 4, 5, 6), (3, 2, 0, 4, 5, 6)) - x94 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x94 += einsum(t2.bbbb, (0, 1, 2, 3), x93, (1, 0, 4, 3, 5, 6), (4, 2, 5, 6)) - rdm2_f_abab_ooov += einsum(x94, (0, 1, 2, 3), (3, 0, 2, 1)) * 2.0 - x95 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x95 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x45, (6, 2, 0, 7, 5, 3), (1, 4, 6, 7)) - rdm2_f_abab_ooov += einsum(x95, (0, 1, 2, 3), (3, 0, 2, 1)) * -3.0 - x96 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x96 += einsum(l1.aa, (0, 1), t2.abab, (2, 3, 0, 4), (3, 4, 1, 2)) - rdm2_f_abab_ooov += einsum(x96, (0, 1, 2, 3), (3, 0, 2, 1)) * -1.0 - x97 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x97 += einsum(l2.aaaa, (0, 1, 2, 3), t3.abaaba, (4, 5, 3, 0, 6, 1), (5, 6, 2, 4)) - rdm2_f_abab_ooov += einsum(x97, (0, 1, 2, 3), (3, 0, 2, 1)) * -2.0 - x98 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x98 += einsum(l2.abab, (0, 1, 2, 3), t3.babbab, (4, 5, 3, 6, 0, 1), (4, 6, 2, 5)) - rdm2_f_abab_ooov += einsum(x98, (0, 1, 2, 3), (3, 0, 2, 1)) * -2.0 - x99 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x99 += einsum(t2.bbbb, (0, 1, 2, 3), l3.babbab, (4, 5, 3, 0, 6, 1), (4, 2, 6, 5)) - rdm2_f_abab_vvov += einsum(x99, (0, 1, 2, 3), (3, 0, 2, 1)) * 2.0 - x100 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x100 += einsum(t2.abab, (0, 1, 2, 3), l3.abaaba, (4, 5, 2, 6, 1, 0), (5, 3, 6, 4)) - rdm2_f_abab_vvov += einsum(x100, (0, 1, 2, 3), (3, 0, 2, 1)) * 2.0 - x101 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x101 += einsum(x99, (0, 1, 2, 3), (0, 1, 2, 3)) - x101 += einsum(x100, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_abab_ooov += einsum(t2.abab, (0, 1, 2, 3), x101, (3, 4, 5, 2), (0, 1, 5, 4)) * 2.0 - rdm2_f_abab_ovvv += einsum(t2.aaaa, (0, 1, 2, 3), x101, (4, 5, 1, 3), (0, 4, 2, 5)) * 4.0 - rdm2_f_abab_vovv += einsum(t2.abab, (0, 1, 2, 3), x101, (3, 4, 0, 5), (5, 1, 2, 4)) * -2.0 - rdm2_f_abab_vvvv += einsum(t1.aa, (0, 1), x101, (2, 3, 0, 4), (4, 2, 1, 3)) * 2.0 - x102 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x102 += einsum(x1, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x102 += einsum(x12, (0, 1, 2, 3), (0, 1, 2, 3)) - x102 += einsum(x13, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0 - rdm2_f_abab_ooov += einsum(t2.abab, (0, 1, 2, 3), x102, (0, 4, 5, 2), (5, 1, 4, 3)) * -2.0 - rdm2_f_abab_oovv += einsum(x102, (0, 1, 2, 3), t3.abaaba, (0, 4, 1, 5, 6, 3), (2, 4, 5, 6)) * 2.0 - x103 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x103 += einsum(t1.bb, (0, 1), l2.abab, (2, 1, 3, 4), (4, 0, 3, 2)) - rdm2_f_abab_vooo += einsum(x103, (0, 1, 2, 3), (3, 1, 2, 0)) * -1.0 - x104 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x104 += einsum(x103, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - x104 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) - x104 += einsum(x24, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_abab_ooov += einsum(t2.abab, (0, 1, 2, 3), x104, (1, 4, 5, 2), (0, 4, 5, 3)) * 2.0 - rdm2_f_abab_oovo += einsum(t2.aaaa, (0, 1, 2, 3), x104, (4, 5, 1, 3), (0, 5, 2, 4)) * -4.0 - rdm2_f_abab_voov += einsum(t1.bb, (0, 1), x104, (0, 2, 3, 4), (4, 2, 3, 1)) * -2.0 - rdm2_f_abab_vovo = np.zeros((nvir[0], nocc[1], nvir[0], nocc[1]), dtype=types[float]) - rdm2_f_abab_vovo += einsum(t1.aa, (0, 1), x104, (2, 3, 0, 4), (4, 3, 1, 2)) * -2.0 - x105 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x105 += einsum(x19, (0, 1, 2, 3), (0, 1, 2, 3)) - x105 += einsum(x20, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x105 += einsum(x21, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - rdm2_f_abab_oovv += einsum(x105, (0, 1, 2, 3), t3.babbab, (4, 2, 0, 5, 6, 1), (3, 4, 6, 5)) * -2.0 - rdm2_f_abab_ovov = np.zeros((nocc[0], nvir[1], nocc[0], nvir[1]), dtype=types[float]) - rdm2_f_abab_ovov += einsum(t1.bb, (0, 1), x105, (0, 2, 3, 4), (4, 2, 3, 1)) * -1.0 - x106 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x106 += einsum(t1.bb, (0, 1), x105, (2, 1, 3, 4), (2, 0, 3, 4)) * 0.4999999999999899 - x107 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x107 += einsum(t1.aa, (0, 1), x25, (2, 3, 4, 1), (2, 3, 0, 4)) * 0.9999999999999798 - x108 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x108 += einsum(x18, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.4999999999999899 - x108 += einsum(x17, (0, 1, 2, 3), (0, 1, 2, 3)) - x108 += einsum(x16, (0, 1, 2, 3), (0, 1, 2, 3)) - x108 += einsum(x106, (0, 1, 2, 3), (0, 1, 2, 3)) - del x106 - x108 += einsum(x107, (0, 1, 2, 3), (0, 1, 3, 2)) - del x107 - rdm2_f_abab_ooov += einsum(t1.bb, (0, 1), x108, (0, 2, 3, 4), (4, 2, 3, 1)) * 2.0000000000000404 - rdm2_f_abab_oovo += einsum(t1.aa, (0, 1), x108, (2, 3, 0, 4), (4, 3, 1, 2)) * 2.0000000000000404 - del x108 - x109 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x109 += einsum(l1.bb, (0, 1), t2.bbbb, (2, 1, 3, 0), (2, 3)) - x110 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x110 += einsum(l1.aa, (0, 1), t2.abab, (1, 2, 0, 3), (2, 3)) - x111 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x111 += einsum(l2.bbbb, (0, 1, 2, 3), t3.bbbbbb, (4, 2, 3, 5, 0, 1), (4, 5)) - x112 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x112 += einsum(l2.abab, (0, 1, 2, 3), t3.babbab, (4, 2, 3, 5, 0, 1), (4, 5)) - x113 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x113 += einsum(l2.aaaa, (0, 1, 2, 3), t3.abaaba, (2, 4, 3, 0, 5, 1), (4, 5)) - x114 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x114 += einsum(t1.bb, (0, 1), l3.bbbbbb, (2, 3, 1, 4, 5, 6), (4, 5, 6, 0, 2, 3)) - x115 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x115 += einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), x114, (0, 1, 2, 6, 4, 5), (6, 3)) - x116 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x116 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x90, (2, 0, 6, 5, 1, 4), (6, 3)) - x117 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x117 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x85, (1, 6, 0, 2, 3, 5), (6, 4)) - x118 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x118 += einsum(x38, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x118 += einsum(x40, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0 - x118 += einsum(x41, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_abab_oovo += einsum(t2.abab, (0, 1, 2, 3), x118, (1, 4, 5, 3), (0, 5, 2, 4)) * -2.0 - rdm2_f_abab_oovv += einsum(x118, (0, 1, 2, 3), t3.babbab, (0, 4, 1, 5, 6, 3), (4, 2, 6, 5)) * 2.0 - x119 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x119 += einsum(x28, (0, 1), (0, 1)) - x119 += einsum(x29, (0, 1), (0, 1)) * 2.0 - x119 += einsum(x30, (0, 1), (0, 1)) - x119 += einsum(x31, (0, 1), (0, 1)) * 2.9999999999998788 - x119 += einsum(x32, (0, 1), (0, 1)) * 1.9999999999999194 - x119 += einsum(x33, (0, 1), (0, 1)) * 0.9999999999999601 - rdm2_f_abab_oovv += einsum(x119, (0, 1), t2.abab, (2, 0, 3, 4), (2, 1, 3, 4)) * -1.0 - x120 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x120 += einsum(t1.bb, (0, 1), (0, 1)) * -1.0 - x120 += einsum(x109, (0, 1), (0, 1)) * -2.0 - x120 += einsum(x110, (0, 1), (0, 1)) * -1.0 - x120 += einsum(x111, (0, 1), (0, 1)) * -3.0 - x120 += einsum(x112, (0, 1), (0, 1)) * -2.0 - x120 += einsum(x113, (0, 1), (0, 1)) * -1.0 - x120 += einsum(x115, (0, 1), (0, 1)) * 2.9999999999998788 - x120 += einsum(x116, (0, 1), (0, 1)) * 1.9999999999999194 - x120 += einsum(x117, (0, 1), (0, 1)) * 0.9999999999999601 - x120 += einsum(t2.bbbb, (0, 1, 2, 3), x118, (0, 1, 4, 3), (4, 2)) * -2.0 - x120 += einsum(t2.abab, (0, 1, 2, 3), x104, (1, 4, 0, 2), (4, 3)) * 2.0 - x120 += einsum(t1.bb, (0, 1), x119, (0, 2), (2, 1)) - rdm2_f_abab_ooov += einsum(delta.aa.oo, (0, 1), x120, (2, 3), (0, 2, 1, 3)) * -1.0 - del x120 - x121 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x121 += einsum(l1.bb, (0, 1), t2.bbbb, (2, 3, 4, 0), (1, 2, 3, 4)) - rdm2_f_bbbb_ooov = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - rdm2_f_bbbb_ooov += einsum(x121, (0, 1, 2, 3), (2, 1, 0, 3)) * -2.0 - rdm2_f_bbbb_oovo = np.zeros((nocc[1], nocc[1], nvir[1], nocc[1]), dtype=types[float]) - rdm2_f_bbbb_oovo += einsum(x121, (0, 1, 2, 3), (2, 1, 3, 0)) * 2.0 - x122 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x122 += einsum(t1.bb, (0, 1), x90, (2, 3, 4, 1, 5, 6), (2, 3, 4, 0, 5, 6)) * -1.0 - x123 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x123 += einsum(t2.abab, (0, 1, 2, 3), x122, (4, 1, 5, 6, 0, 2), (4, 6, 5, 3)) * -1.0 - rdm2_f_bbbb_ooov += einsum(x123, (0, 1, 2, 3), (1, 2, 0, 3)) * 2.0 - rdm2_f_bbbb_oovo += einsum(x123, (0, 1, 2, 3), (1, 2, 3, 0)) * -2.0 - x124 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x124 += einsum(l2.bbbb, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 3, 6, 0, 1), (2, 4, 5, 6)) - rdm2_f_bbbb_ooov += einsum(x124, (0, 1, 2, 3), (1, 2, 0, 3)) * 6.0 - rdm2_f_bbbb_oovo += einsum(x124, (0, 1, 2, 3), (1, 2, 3, 0)) * -6.0 - x125 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x125 += einsum(l2.abab, (0, 1, 2, 3), t3.babbab, (4, 2, 5, 6, 0, 1), (3, 4, 5, 6)) - rdm2_f_bbbb_ooov += einsum(x125, (0, 1, 2, 3), (1, 2, 0, 3)) * 2.0 - rdm2_f_bbbb_oovo += einsum(x125, (0, 1, 2, 3), (1, 2, 3, 0)) * -2.0 - x126 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x126 += einsum(t1.bb, (0, 1), x114, (2, 3, 4, 5, 1, 6), (3, 4, 2, 5, 0, 6)) - x127 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x127 += einsum(t2.bbbb, (0, 1, 2, 3), x126, (0, 1, 4, 5, 6, 3), (4, 6, 5, 2)) * -1.0 - rdm2_f_bbbb_ooov += einsum(x127, (0, 1, 2, 3), (1, 2, 0, 3)) * 6.0 - rdm2_f_bbbb_oovo += einsum(x127, (0, 1, 2, 3), (1, 2, 3, 0)) * -6.0 - x128 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x128 += einsum(t2.bbbb, (0, 1, 2, 3), x118, (0, 1, 4, 3), (4, 2)) * -1.0 - x129 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x129 += einsum(t2.abab, (0, 1, 2, 3), x104, (1, 4, 0, 2), (4, 3)) - del x104 - x130 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x130 += einsum(t1.bb, (0, 1), x119, (0, 2), (2, 1)) * 0.5 - x131 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x131 += einsum(x109, (0, 1), (0, 1)) * -1.0 - del x109 - x131 += einsum(x110, (0, 1), (0, 1)) * -0.5 - del x110 - x131 += einsum(x111, (0, 1), (0, 1)) * -1.5 - del x111 - x131 += einsum(x112, (0, 1), (0, 1)) * -1.0 - del x112 - x131 += einsum(x113, (0, 1), (0, 1)) * -0.5 - del x113 - x131 += einsum(x115, (0, 1), (0, 1)) * 1.4999999999999394 - del x115 - x131 += einsum(x116, (0, 1), (0, 1)) * 0.9999999999999597 - del x116 - x131 += einsum(x117, (0, 1), (0, 1)) * 0.49999999999998007 - del x117 - x131 += einsum(x128, (0, 1), (0, 1)) - del x128 - x131 += einsum(x129, (0, 1), (0, 1)) - del x129 - x131 += einsum(x130, (0, 1), (0, 1)) - del x130 - rdm2_f_bbbb_ooov += einsum(delta.bb.oo, (0, 1), x131, (2, 3), (0, 2, 1, 3)) * -2.0 - rdm2_f_bbbb_ooov += einsum(delta.bb.oo, (0, 1), x131, (2, 3), (2, 0, 1, 3)) * 2.0 - rdm2_f_bbbb_oovo += einsum(delta.bb.oo, (0, 1), x131, (2, 3), (0, 2, 3, 1)) * 2.0 - rdm2_f_bbbb_oovo += einsum(delta.bb.oo, (0, 1), x131, (2, 3), (2, 0, 3, 1)) * -2.0 - rdm2_f_abab_oovv += einsum(t1.aa, (0, 1), x131, (2, 3), (0, 2, 1, 3)) * -2.0 - x132 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x132 += einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), x114, (6, 1, 2, 7, 4, 5), (6, 7, 0, 3)) - x133 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x133 += einsum(t1.bb, (0, 1), x40, (2, 3, 4, 1), (2, 3, 0, 4)) - x134 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x134 += einsum(t1.bb, (0, 1), x133, (0, 2, 3, 4), (2, 3, 4, 1)) * -1.0 - del x133 - x135 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x135 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x90, (6, 2, 7, 5, 1, 4), (6, 7, 0, 3)) * -1.0 - x136 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x136 += einsum(t2.abab, (0, 1, 2, 3), x24, (4, 5, 0, 2), (4, 1, 5, 3)) - x137 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x137 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x85, (6, 7, 0, 2, 5, 3), (6, 7, 1, 4)) * -1.0 - x138 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x138 += einsum(x38, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x138 += einsum(x40, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0 - x139 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x139 += einsum(t2.bbbb, (0, 1, 2, 3), x138, (1, 4, 5, 3), (4, 5, 0, 2)) * 4.0 - del x138 - x140 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x140 += einsum(x103, (0, 1, 2, 3), (0, 1, 2, 3)) - x140 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x141 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x141 += einsum(t2.abab, (0, 1, 2, 3), x140, (4, 5, 0, 2), (4, 5, 1, 3)) - del x140 - x142 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x142 += einsum(t2.bbbb, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x142 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1)) * -1.0 - x143 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x143 += einsum(x142, (0, 1, 2, 3), x41, (4, 0, 5, 2), (1, 4, 5, 3)) * 2.0 - del x142 - x144 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x144 += einsum(delta.bb.oo, (0, 1), t1.bb, (2, 3), (0, 1, 2, 3)) - x144 += einsum(x132, (0, 1, 2, 3), (1, 0, 2, 3)) * -9.0 - x144 += einsum(x134, (0, 1, 2, 3), (1, 0, 2, 3)) * 6.0 - del x134 - x144 += einsum(x135, (0, 1, 2, 3), (1, 0, 2, 3)) * -4.0 - x144 += einsum(x136, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 - x144 += einsum(x137, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x144 += einsum(x139, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x139 - x144 += einsum(x141, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x141 - x144 += einsum(x143, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x143 - x144 += einsum(t1.bb, (0, 1), x119, (2, 3), (0, 2, 3, 1)) - del x119 - rdm2_f_bbbb_ooov += einsum(x144, (0, 1, 2, 3), (0, 2, 1, 3)) - rdm2_f_bbbb_ooov += einsum(x144, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_bbbb_oovo += einsum(x144, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_bbbb_oovo += einsum(x144, (0, 1, 2, 3), (2, 0, 3, 1)) - del x144 - x145 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x145 += einsum(t2.bbbb, (0, 1, 2, 3), l3.bbbbbb, (4, 5, 3, 6, 0, 1), (6, 4, 5, 2)) - rdm2_f_bbbb_vvov = np.zeros((nvir[1], nvir[1], nocc[1], nvir[1]), dtype=types[float]) - rdm2_f_bbbb_vvov += einsum(x145, (0, 1, 2, 3), (1, 2, 0, 3)) * 6.0 - rdm2_f_bbbb_vvvo = np.zeros((nvir[1], nvir[1], nvir[1], nocc[1]), dtype=types[float]) - rdm2_f_bbbb_vvvo += einsum(x145, (0, 1, 2, 3), (1, 2, 3, 0)) * -6.0 - x146 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x146 += einsum(t2.abab, (0, 1, 2, 3), l3.babbab, (4, 2, 5, 6, 0, 1), (6, 4, 5, 3)) - rdm2_f_bbbb_vvov += einsum(x146, (0, 1, 2, 3), (1, 2, 0, 3)) * 2.0 - rdm2_f_bbbb_vvvo += einsum(x146, (0, 1, 2, 3), (1, 2, 3, 0)) * -2.0 - x147 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x147 += einsum(x145, (0, 1, 2, 3), (0, 2, 1, 3)) * -3.0 - x147 += einsum(x146, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - rdm2_f_abab_oovv += einsum(x147, (0, 1, 2, 3), t3.babbab, (4, 5, 0, 1, 6, 2), (5, 4, 6, 3)) * 2.0 - rdm2_f_abab_ovvv += einsum(t2.abab, (0, 1, 2, 3), x147, (1, 4, 3, 5), (0, 4, 2, 5)) * -2.0 - x148 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x148 += einsum(t2.bbbb, (0, 1, 2, 3), x147, (4, 2, 3, 5), (4, 0, 1, 5)) * 2.0 - del x147 - rdm2_f_bbbb_ooov += einsum(x148, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_bbbb_oovo += einsum(x148, (0, 1, 2, 3), (2, 1, 3, 0)) - del x148 - x149 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x149 += einsum(x37, (0, 1, 2, 3), (1, 0, 3, 2)) * -0.9999999999999798 - x149 += einsum(x39, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.9999999999999798 - x149 += einsum(x35, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.999999999999998 - x149 += einsum(x36, (0, 1, 2, 3), (0, 1, 3, 2)) - x150 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x150 += einsum(t1.bb, (0, 1), x149, (0, 2, 3, 4), (2, 3, 4, 1)) * 2.0000000000000404 - del x149 - rdm2_f_bbbb_ooov += einsum(x150, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_bbbb_oovo += einsum(x150, (0, 1, 2, 3), (2, 1, 3, 0)) - del x150 - x151 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x151 += einsum(l2.bbbb, (0, 1, 2, 3), t3.babbab, (4, 5, 3, 0, 6, 1), (2, 4, 5, 6)) - rdm2_f_abab_oovo += einsum(x151, (0, 1, 2, 3), (2, 1, 3, 0)) * -2.0 - x152 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x152 += einsum(l1.bb, (0, 1), t2.abab, (2, 3, 4, 0), (1, 3, 2, 4)) - rdm2_f_abab_oovo += einsum(x152, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - x153 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x153 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x114, (0, 2, 6, 7, 3, 5), (6, 7, 1, 4)) - rdm2_f_abab_oovo += einsum(x153, (0, 1, 2, 3), (2, 1, 3, 0)) * -3.0 - x154 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x154 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x59, (2, 6, 3, 5, 1, 7), (6, 0, 7, 4)) * -1.0 - rdm2_f_abab_oovo += einsum(x154, (0, 1, 2, 3), (2, 1, 3, 0)) * 2.0 - x155 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x155 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x90, (1, 6, 7, 4, 2, 5), (6, 7, 0, 3)) - rdm2_f_abab_oovo += einsum(x155, (0, 1, 2, 3), (2, 1, 3, 0)) * -4.0 - x156 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x156 += einsum(t2.abab, (0, 1, 2, 3), x93, (1, 4, 5, 3, 0, 6), (4, 5, 6, 2)) - rdm2_f_abab_oovo += einsum(x156, (0, 1, 2, 3), (2, 1, 3, 0)) * 2.0 - x157 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x157 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x51, (6, 4, 0, 2, 7, 5), (6, 1, 7, 3)) * -1.0 - rdm2_f_abab_oovo += einsum(x157, (0, 1, 2, 3), (2, 1, 3, 0)) * 2.0 - x158 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x158 += einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), x85, (6, 7, 1, 2, 4, 5), (6, 7, 0, 3)) - rdm2_f_abab_oovo += einsum(x158, (0, 1, 2, 3), (2, 1, 3, 0)) * -3.0 - x159 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x159 += einsum(t2.aaaa, (0, 1, 2, 3), x88, (4, 5, 1, 0, 6, 3), (4, 5, 6, 2)) - rdm2_f_abab_oovo += einsum(x159, (0, 1, 2, 3), (2, 1, 3, 0)) * 2.0 - x160 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x160 += einsum(l2.abab, (0, 1, 2, 3), t3.abaaba, (4, 5, 2, 6, 1, 0), (3, 5, 4, 6)) - rdm2_f_abab_oovo += einsum(x160, (0, 1, 2, 3), (2, 1, 3, 0)) * -2.0 - x161 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x161 += einsum(t2.abab, (0, 1, 2, 3), l3.babbab, (4, 5, 3, 6, 0, 1), (6, 4, 5, 2)) - rdm2_f_abab_vvvo = np.zeros((nvir[0], nvir[1], nvir[0], nocc[1]), dtype=types[float]) - rdm2_f_abab_vvvo += einsum(x161, (0, 1, 2, 3), (2, 1, 3, 0)) * 2.0 - x162 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x162 += einsum(t2.aaaa, (0, 1, 2, 3), l3.abaaba, (4, 5, 3, 0, 6, 1), (6, 5, 4, 2)) - rdm2_f_abab_vvvo += einsum(x162, (0, 1, 2, 3), (2, 1, 3, 0)) * 2.0 - x163 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x163 += einsum(x161, (0, 1, 2, 3), (0, 1, 2, 3)) - x163 += einsum(x162, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_abab_oovo += einsum(t2.abab, (0, 1, 2, 3), x163, (4, 3, 2, 5), (0, 1, 5, 4)) * 2.0 - rdm2_f_abab_ovvv += einsum(t2.abab, (0, 1, 2, 3), x163, (1, 4, 2, 5), (0, 4, 5, 3)) * -2.0 - rdm2_f_abab_vovv += einsum(t2.bbbb, (0, 1, 2, 3), x163, (1, 3, 4, 5), (4, 0, 5, 2)) * 4.0 - x164 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x164 += einsum(t1.aa, (0, 1), (0, 1)) * -1.0 - x164 += einsum(x54, (0, 1), (0, 1)) * -1.0 - del x54 - x164 += einsum(x55, (0, 1), (0, 1)) * -2.0 - del x55 - x164 += einsum(x56, (0, 1), (0, 1)) * -1.0 - del x56 - x164 += einsum(x57, (0, 1), (0, 1)) * -2.0 - del x57 - x164 += einsum(x58, (0, 1), (0, 1)) * -3.0 - del x58 - x164 += einsum(x60, (0, 1), (0, 1)) * 0.9999999999999601 - del x60 - x164 += einsum(x61, (0, 1), (0, 1)) * 1.9999999999999194 - del x61 - x164 += einsum(x62, (0, 1), (0, 1)) * 2.9999999999998788 - del x62 - x164 += einsum(x63, (0, 1), (0, 1)) - del x63 - x164 += einsum(x65, (0, 1), (0, 1)) - del x65 - x164 += einsum(x67, (0, 1), (0, 1)) - del x67 - rdm2_f_abab_oovo += einsum(delta.bb.oo, (0, 1), x164, (2, 3), (2, 0, 3, 1)) * -1.0 - rdm2_f_abab_oovv += einsum(t1.bb, (0, 1), x164, (2, 3), (2, 0, 3, 1)) * -1.0 - del x164 - x165 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x165 += einsum(t2.abab, (0, 1, 2, 3), x59, (4, 1, 5, 3, 0, 6), (4, 5, 6, 2)) - rdm2_f_abab_ovvo += einsum(x165, (0, 1, 2, 3), (2, 1, 3, 0)) * -2.0 - x166 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x166 += einsum(t2.abab, (0, 1, 2, 3), x165, (1, 3, 4, 5), (4, 0, 2, 5)) - x167 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x167 += einsum(l2.abab, (0, 1, 2, 3), t2.aaaa, (4, 2, 5, 0), (3, 1, 4, 5)) - rdm2_f_abab_ovvo += einsum(x167, (0, 1, 2, 3), (2, 1, 3, 0)) * 2.0 - x168 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x168 += einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), t3.babbab, (4, 6, 5, 1, 7, 2), (3, 0, 6, 7)) - rdm2_f_abab_ovvo += einsum(x168, (0, 1, 2, 3), (2, 1, 3, 0)) * 3.0 - x169 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x169 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.abaaba, (6, 5, 4, 7, 2, 1), (3, 0, 6, 7)) - rdm2_f_abab_ovvo += einsum(x169, (0, 1, 2, 3), (2, 1, 3, 0)) * 4.0 - x170 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x170 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.aaaaaa, (6, 3, 5, 7, 0, 2), (4, 1, 6, 7)) - rdm2_f_abab_ovvo += einsum(x170, (0, 1, 2, 3), (2, 1, 3, 0)) * 3.0 - x171 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x171 += einsum(x167, (0, 1, 2, 3), (0, 1, 2, 3)) - x171 += einsum(x168, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.5 - x171 += einsum(x169, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x171 += einsum(x170, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.5 - x172 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x172 += einsum(t2.abab, (0, 1, 2, 3), x171, (1, 3, 4, 5), (4, 0, 5, 2)) * 2.0 - del x171 - x173 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x173 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (3, 6, 5, 0, 7, 2), (4, 6, 1, 7)) - rdm2_f_aaaa_ovov += einsum(x173, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_aaaa_ovvo += einsum(x173, (0, 1, 2, 3), (1, 2, 3, 0)) - rdm2_f_aaaa_voov += einsum(x173, (0, 1, 2, 3), (2, 1, 0, 3)) - rdm2_f_aaaa_vovo += einsum(x173, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - x174 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x174 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (6, 4, 5, 7, 1, 2), (3, 6, 0, 7)) - rdm2_f_aaaa_ovov += einsum(x174, (0, 1, 2, 3), (1, 2, 0, 3)) * -4.0 - rdm2_f_aaaa_ovvo += einsum(x174, (0, 1, 2, 3), (1, 2, 3, 0)) * 4.0 - rdm2_f_aaaa_voov += einsum(x174, (0, 1, 2, 3), (2, 1, 0, 3)) * 4.0 - rdm2_f_aaaa_vovo += einsum(x174, (0, 1, 2, 3), (2, 1, 3, 0)) * -4.0 - x175 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x175 += einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), t3.aaaaaa, (6, 4, 5, 7, 1, 2), (3, 6, 0, 7)) - rdm2_f_aaaa_ovov += einsum(x175, (0, 1, 2, 3), (1, 2, 0, 3)) * -9.0 - rdm2_f_aaaa_ovvo += einsum(x175, (0, 1, 2, 3), (1, 2, 3, 0)) * 9.0 - rdm2_f_aaaa_voov += einsum(x175, (0, 1, 2, 3), (2, 1, 0, 3)) * 9.0 - rdm2_f_aaaa_vovo += einsum(x175, (0, 1, 2, 3), (2, 1, 3, 0)) * -9.0 - x176 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x176 += einsum(x173, (0, 1, 2, 3), (0, 1, 2, 3)) - x176 += einsum(x174, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.0 - x176 += einsum(x175, (0, 1, 2, 3), (0, 1, 2, 3)) * 9.0 - x177 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x177 += einsum(t2.aaaa, (0, 1, 2, 3), x176, (1, 4, 3, 5), (4, 0, 5, 2)) * 2.0 - del x176 - x178 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x178 += einsum(t2.abab, (0, 1, 2, 3), x51, (1, 3, 4, 0, 5, 6), (4, 5, 6, 2)) - rdm2_f_aaaa_ovov += einsum(x178, (0, 1, 2, 3), (1, 2, 0, 3)) * 2.0 - rdm2_f_aaaa_ovvo += einsum(x178, (0, 1, 2, 3), (1, 2, 3, 0)) * -2.0 - rdm2_f_aaaa_voov += einsum(x178, (0, 1, 2, 3), (2, 1, 0, 3)) * -2.0 - rdm2_f_aaaa_vovo += einsum(x178, (0, 1, 2, 3), (2, 1, 3, 0)) * 2.0 - x179 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x179 += einsum(t2.aaaa, (0, 1, 2, 3), x45, (4, 1, 0, 5, 6, 3), (4, 5, 6, 2)) - rdm2_f_aaaa_ovov += einsum(x179, (0, 1, 2, 3), (1, 2, 0, 3)) * 6.0 - rdm2_f_aaaa_ovvo += einsum(x179, (0, 1, 2, 3), (1, 2, 3, 0)) * -6.0 - rdm2_f_aaaa_voov += einsum(x179, (0, 1, 2, 3), (2, 1, 0, 3)) * -6.0 - rdm2_f_aaaa_vovo += einsum(x179, (0, 1, 2, 3), (2, 1, 3, 0)) * 6.0 - x180 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x180 += einsum(t1.aa, (0, 1), x14, (2, 0, 3, 4), (2, 3, 1, 4)) - x181 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x181 += einsum(x178, (0, 1, 2, 3), (0, 1, 2, 3)) - x181 += einsum(x179, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0 - x181 += einsum(x180, (0, 1, 2, 3), (0, 1, 3, 2)) - x182 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x182 += einsum(t2.aaaa, (0, 1, 2, 3), x181, (1, 4, 3, 5), (4, 0, 5, 2)) * 4.0 - del x181 - x183 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x183 += einsum(t2.aaaa, (0, 1, 2, 3), x51, (4, 5, 0, 1, 6, 3), (4, 5, 6, 2)) * -1.0 - rdm2_f_abab_ovvo += einsum(x183, (0, 1, 2, 3), (2, 1, 3, 0)) * -2.0 - x184 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x184 += einsum(t1.aa, (0, 1), x21, (2, 3, 0, 4), (2, 3, 4, 1)) - x185 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x185 += einsum(x183, (0, 1, 2, 3), (0, 1, 2, 3)) - x185 += einsum(x184, (0, 1, 2, 3), (0, 1, 2, 3)) - del x184 - x186 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x186 += einsum(t2.abab, (0, 1, 2, 3), x185, (1, 3, 4, 5), (4, 0, 5, 2)) * 2.0 - del x185 - x187 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x187 += einsum(t2.abab, (0, 1, 2, 3), x19, (1, 3, 4, 5), (4, 5, 0, 2)) - x188 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x188 += einsum(t2.aaaa, (0, 1, 2, 3), x1, (4, 1, 5, 3), (4, 5, 0, 2)) * -1.0 - x189 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x189 += einsum(x187, (0, 1, 2, 3), (0, 1, 2, 3)) - del x187 - x189 += einsum(x188, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.0 - del x188 - x189 += einsum(x70, (0, 1, 2, 3), (0, 1, 2, 3)) - del x70 - x189 += einsum(x69, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - del x69 - x189 += einsum(x71, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.0 - del x71 - x189 += einsum(x72, (0, 1, 2, 3), (0, 1, 2, 3)) * 9.0 - del x72 - x190 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x190 += einsum(t1.aa, (0, 1), x189, (0, 2, 3, 4), (2, 3, 4, 1)) - del x189 - x191 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x191 += einsum(x166, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - del x166 - x191 += einsum(x172, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x172 - x191 += einsum(x177, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x177 - x191 += einsum(x182, (0, 1, 2, 3), (0, 1, 2, 3)) - del x182 - x191 += einsum(x186, (0, 1, 2, 3), (0, 1, 2, 3)) - del x186 - x191 += einsum(x190, (0, 1, 2, 3), (0, 1, 3, 2)) - del x190 - x191 += einsum(t1.aa, (0, 1), x68, (2, 3), (0, 2, 1, 3)) - del x68 - rdm2_f_aaaa_oovv += einsum(x191, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - rdm2_f_aaaa_oovv += einsum(x191, (0, 1, 2, 3), (0, 1, 3, 2)) - rdm2_f_aaaa_oovv += einsum(x191, (0, 1, 2, 3), (1, 0, 2, 3)) - rdm2_f_aaaa_oovv += einsum(x191, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x191 - x192 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x192 += einsum(x11, (0, 1), t2.aaaa, (2, 0, 3, 4), (1, 2, 3, 4)) - x193 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x193 += einsum(x74, (0, 1, 2, 3), t3.abaaba, (4, 0, 2, 5, 1, 6), (4, 3, 5, 6)) * -2.0 - del x74 - x194 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x194 += einsum(x1, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x194 += einsum(x12, (0, 1, 2, 3), (0, 1, 2, 3)) - x195 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x195 += einsum(x194, (0, 1, 2, 3), t3.aaaaaa, (4, 0, 1, 5, 6, 3), (2, 4, 5, 6)) * -6.0 - del x194 - x196 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x196 += einsum(t1.aa, (0, 1), x14, (2, 3, 4, 1), (0, 2, 3, 4)) * 0.3333333333333333 - del x14 - x197 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x197 += einsum(t2.aaaa, (0, 1, 2, 3), (0, 1, 2, 3)) - x197 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 1, 3)) - x198 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x198 += einsum(x196, (0, 1, 2, 3), x197, (1, 2, 4, 5), (0, 3, 4, 5)) * 6.0 - del x196, x197 - x199 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x199 += einsum(x5, (0, 1), (0, 1)) * 0.5000000000000203 - x199 += einsum(x6, (0, 1), (0, 1)) * 1.0000000000000406 - x199 += einsum(x8, (0, 1), (0, 1)) - x200 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x200 += einsum(x199, (0, 1), t2.aaaa, (2, 0, 3, 4), (1, 2, 3, 4)) * -3.999999999999838 - del x199 - x201 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x201 += einsum(x192, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - del x192 - x201 += einsum(x193, (0, 1, 2, 3), (1, 0, 3, 2)) - del x193 - x201 += einsum(x195, (0, 1, 2, 3), (0, 1, 2, 3)) - del x195 - x201 += einsum(x198, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x198 - x201 += einsum(x200, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x200 - rdm2_f_aaaa_oovv += einsum(x201, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_aaaa_oovv += einsum(x201, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x201 - x202 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x202 += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 3, 5, 1), (2, 4, 0, 5)) - rdm2_f_aaaa_ovov += einsum(x202, (0, 1, 2, 3), (1, 2, 0, 3)) * -4.0 - rdm2_f_aaaa_ovvo += einsum(x202, (0, 1, 2, 3), (1, 2, 3, 0)) * 4.0 - rdm2_f_aaaa_voov += einsum(x202, (0, 1, 2, 3), (2, 1, 0, 3)) * 4.0 - rdm2_f_aaaa_vovo += einsum(x202, (0, 1, 2, 3), (2, 1, 3, 0)) * -4.0 - x203 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x203 += einsum(t2.aaaa, (0, 1, 2, 3), x202, (1, 4, 3, 5), (0, 4, 2, 5)) - x204 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x204 += einsum(x163, (0, 1, 2, 3), t3.abaaba, (4, 0, 5, 6, 1, 2), (4, 5, 3, 6)) * -4.0 - x205 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x205 += einsum(x79, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x79 - x205 += einsum(x80, (0, 1, 2, 3), (0, 2, 1, 3)) * -3.0 - del x80 - rdm2_f_abab_vovv += einsum(t2.abab, (0, 1, 2, 3), x205, (0, 4, 2, 5), (4, 1, 5, 3)) * -2.0 - x206 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x206 += einsum(x205, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 0, 6, 1, 2), (4, 5, 3, 6)) * -6.0 - x207 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x207 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 4, 1), (0, 4)) - x208 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x208 += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (2, 3, 4, 1), (0, 4)) - x209 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x209 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (3, 4, 5, 0, 6, 2), (1, 6)) - x210 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x210 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (3, 4, 5, 6, 1, 2), (0, 6)) - x211 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x211 += einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), t3.aaaaaa, (3, 4, 5, 6, 1, 2), (0, 6)) - x212 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x212 += einsum(x207, (0, 1), (0, 1)) - x212 += einsum(x208, (0, 1), (0, 1)) * 2.0 - x212 += einsum(x209, (0, 1), (0, 1)) * 0.9999999999999597 - x212 += einsum(x210, (0, 1), (0, 1)) * 1.999999999999919 - x212 += einsum(x211, (0, 1), (0, 1)) * 2.999999999999883 - x213 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x213 += einsum(x212, (0, 1), t2.aaaa, (2, 3, 4, 0), (2, 3, 1, 4)) * -2.0 - del x212 - x214 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x214 += einsum(t2.aaaa, (0, 1, 2, 3), x205, (4, 2, 3, 5), (4, 0, 1, 5)) - x215 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x215 += einsum(x50, (0, 1, 2, 3), (0, 2, 1, 3)) - del x50 - x215 += einsum(x49, (0, 1, 2, 3), (0, 2, 1, 3)) - del x49 - x215 += einsum(x48, (0, 1, 2, 3), (0, 2, 1, 3)) * 3.0 - del x48 - x215 += einsum(x53, (0, 1, 2, 3), (0, 2, 1, 3)) - del x53 - x215 += einsum(x47, (0, 1, 2, 3), (0, 2, 1, 3)) * 3.0 - del x47 - x215 += einsum(x214, (0, 1, 2, 3), (0, 2, 1, 3)) - del x214 - x216 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x216 += einsum(t1.aa, (0, 1), x215, (0, 2, 3, 4), (2, 3, 4, 1)) * 2.0 - del x215 - x217 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x217 += einsum(x203, (0, 1, 2, 3), (0, 1, 2, 3)) * 8.0 - del x203 - x217 += einsum(x204, (0, 1, 2, 3), (1, 0, 2, 3)) - del x204 - x217 += einsum(x206, (0, 1, 2, 3), (0, 1, 2, 3)) - del x206 - x217 += einsum(x213, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x213 - x217 += einsum(x216, (0, 1, 2, 3), (1, 0, 3, 2)) - del x216 - rdm2_f_aaaa_oovv += einsum(x217, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_aaaa_oovv += einsum(x217, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x217 - x218 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x218 += einsum(l2.bbbb, (0, 1, 2, 3), t2.abab, (4, 3, 5, 1), (2, 0, 4, 5)) - rdm2_f_abab_ovvo += einsum(x218, (0, 1, 2, 3), (2, 1, 3, 0)) * 2.0 - x219 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x219 += einsum(t2.abab, (0, 1, 2, 3), x218, (1, 3, 4, 5), (4, 0, 5, 2)) - x220 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x220 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 1, 3)) - x220 += einsum(x219, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - del x219 - rdm2_f_aaaa_oovv += einsum(x220, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_aaaa_oovv += einsum(x220, (0, 1, 2, 3), (0, 1, 2, 3)) - del x220 - x221 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x221 += einsum(x20, (0, 1, 2, 3), t3.abaaba, (4, 0, 2, 5, 1, 6), (3, 4, 5, 6)) - x222 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x222 += einsum(x13, (0, 1, 2, 3), t3.aaaaaa, (4, 0, 1, 5, 6, 3), (2, 4, 5, 6)) - x223 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x223 += einsum(x7, (0, 1), (0, 1)) - x223 += einsum(x9, (0, 1), (0, 1)) * 3.000000000000004 - x224 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x224 += einsum(x223, (0, 1), t2.aaaa, (2, 0, 3, 4), (1, 2, 3, 4)) * -1.9999999999999194 - del x223 - x225 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x225 += einsum(x221, (0, 1, 2, 3), (0, 1, 3, 2)) * -4.0 - del x221 - x225 += einsum(x222, (0, 1, 2, 3), (0, 1, 2, 3)) * -18.0 - del x222 - x225 += einsum(x224, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x224 - rdm2_f_aaaa_oovv += einsum(x225, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_aaaa_oovv += einsum(x225, (0, 1, 2, 3), (1, 0, 3, 2)) - del x225 - x226 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x226 += einsum(t2.aaaa, (0, 1, 2, 3), l3.abaaba, (2, 4, 3, 5, 6, 7), (6, 4, 5, 7, 0, 1)) - x226 += einsum(x52, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * 1.0000000000000606 - del x52 - rdm2_f_aaaa_oovv += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x226, (1, 4, 0, 2, 6, 7), (6, 7, 3, 5)) * 1.9999999999999194 - del x226 - x227 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x227 += einsum(t2.aaaa, (0, 1, 2, 3), l3.aaaaaa, (4, 2, 3, 5, 6, 7), (5, 6, 7, 0, 1, 4)) - x227 += einsum(x46, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0000000000000584 - del x46 - rdm2_f_aaaa_oovv += einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), x227, (0, 1, 2, 6, 7, 5), (6, 7, 3, 4)) * 5.999999999999766 - del x227 - x228 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x228 += einsum(x0, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0000000000000404 - x228 += einsum(x2, (0, 1, 2, 3), (0, 1, 3, 2)) * 1.0000000000000404 - x228 += einsum(x3, (0, 1, 2, 3), (0, 1, 3, 2)) - x228 += einsum(x4, (0, 1, 2, 3), (0, 1, 3, 2)) * 3.000000000000004 - rdm2_f_aaaa_oovv += einsum(t2.aaaa, (0, 1, 2, 3), x228, (0, 1, 4, 5), (5, 4, 2, 3)) * 1.9999999999999194 - del x228 - x229 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x229 += einsum(x0, (0, 1, 2, 3), (1, 0, 3, 2)) * -0.9999999999999799 - del x0 - x229 += einsum(x2, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.9999999999999799 - del x2 - x229 += einsum(x3, (0, 1, 2, 3), (0, 1, 3, 2)) - del x3 - x229 += einsum(x4, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.999999999999998 - del x4 - x230 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x230 += einsum(t1.aa, (0, 1), x229, (0, 2, 3, 4), (2, 4, 3, 1)) * -0.3333333333333336 - del x229 - rdm2_f_aaaa_oovv += einsum(t1.aa, (0, 1), x230, (0, 2, 3, 4), (2, 3, 4, 1)) * -6.000000000000116 - del x230 - x231 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x231 += einsum(t2.abab, (0, 1, 2, 3), l3.abaaba, (4, 3, 2, 5, 6, 7), (6, 1, 5, 7, 0, 4)) - x231 += einsum(x88, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0000000000000606 - del x88 - rdm2_f_abab_oovv += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x231, (1, 6, 0, 2, 7, 5), (7, 6, 3, 4)) * -1.9999999999999194 - del x231 - x232 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x232 += einsum(t2.abab, (0, 1, 2, 3), l3.babbab, (4, 2, 3, 5, 6, 7), (5, 7, 1, 4, 6, 0)) - x232 += einsum(x93, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 1.0000000000000606 - del x93 - rdm2_f_abab_oovv += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x232, (0, 2, 6, 5, 1, 7), (7, 6, 4, 3)) * -1.9999999999999194 - del x232 - x233 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x233 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), (1, 4, 0, 2, 3, 5)) - x233 += einsum(t1.aa, (0, 1), t2.abab, (2, 3, 4, 5), (3, 5, 0, 2, 4, 1)) * -0.5 - rdm2_f_abab_oovv += einsum(x101, (0, 1, 2, 3), x233, (4, 0, 2, 5, 3, 6), (5, 4, 6, 1)) * -4.0 - del x233 - x234 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x234 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), (0, 2, 3, 5, 1, 4)) - x234 += einsum(t1.bb, (0, 1), t2.abab, (2, 3, 4, 5), (0, 3, 5, 1, 2, 4)) * -0.5 - rdm2_f_abab_oovv += einsum(x163, (0, 1, 2, 3), x234, (0, 4, 1, 5, 6, 2), (6, 4, 3, 5)) * -4.0 - del x163, x234 - x235 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x235 += einsum(x103, (0, 1, 2, 3), (0, 1, 2, 3)) - x235 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x235 += einsum(x24, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x24 - rdm2_f_abab_oovv += einsum(x235, (0, 1, 2, 3), t3.abaaba, (4, 0, 2, 5, 6, 3), (4, 1, 5, 6)) * -2.0 - rdm2_f_abab_vovv += einsum(t2.abab, (0, 1, 2, 3), x235, (1, 4, 0, 5), (5, 4, 2, 3)) * -1.0 - x236 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x236 += einsum(l2.abab, (0, 1, 2, 3), t2.bbbb, (4, 3, 5, 1), (4, 5, 2, 0)) - rdm2_f_abab_voov += einsum(x236, (0, 1, 2, 3), (3, 0, 2, 1)) * 2.0 - x237 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x237 += einsum(l2.aaaa, (0, 1, 2, 3), t2.abab, (3, 4, 1, 5), (4, 5, 2, 0)) - rdm2_f_abab_voov += einsum(x237, (0, 1, 2, 3), (3, 0, 2, 1)) * 2.0 - x238 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x238 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.bbbbbb, (6, 3, 5, 7, 0, 2), (6, 7, 4, 1)) - rdm2_f_abab_voov += einsum(x238, (0, 1, 2, 3), (3, 0, 2, 1)) * 3.0 - x239 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x239 += einsum(t2.bbbb, (0, 1, 2, 3), x90, (0, 1, 4, 3, 5, 6), (4, 2, 5, 6)) * -1.0 - rdm2_f_abab_voov += einsum(x239, (0, 1, 2, 3), (3, 0, 2, 1)) * -2.0 - x240 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x240 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.babbab, (6, 5, 4, 7, 2, 1), (6, 7, 3, 0)) - rdm2_f_abab_voov += einsum(x240, (0, 1, 2, 3), (3, 0, 2, 1)) * 4.0 - x241 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x241 += einsum(t2.abab, (0, 1, 2, 3), x85, (1, 4, 5, 0, 6, 2), (4, 3, 5, 6)) - rdm2_f_abab_voov += einsum(x241, (0, 1, 2, 3), (3, 0, 2, 1)) * -2.0 - x242 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x242 += einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), t3.abaaba, (4, 6, 5, 1, 7, 2), (6, 7, 3, 0)) - rdm2_f_abab_voov += einsum(x242, (0, 1, 2, 3), (3, 0, 2, 1)) * 3.0 - x243 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x243 += einsum(x236, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.6666666666666666 - x243 += einsum(x237, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.6666666666666666 - x243 += einsum(x238, (0, 1, 2, 3), (0, 1, 2, 3)) - x243 += einsum(x239, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.6666666666666666 - x243 += einsum(x240, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.3333333333333333 - x243 += einsum(x241, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.6666666666666666 - x243 += einsum(x242, (0, 1, 2, 3), (0, 1, 2, 3)) - x243 += einsum(t1.bb, (0, 1), x25, (0, 2, 3, 4), (2, 1, 3, 4)) * -0.6666666666666666 - rdm2_f_abab_oovv += einsum(t2.aaaa, (0, 1, 2, 3), x243, (4, 5, 1, 3), (0, 4, 2, 5)) * 6.0 - del x243 - x244 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x244 += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 3, 5, 1), (2, 4, 0, 5)) - rdm2_f_bbbb_ovov += einsum(x244, (0, 1, 2, 3), (1, 2, 0, 3)) * -4.0 - rdm2_f_bbbb_ovvo += einsum(x244, (0, 1, 2, 3), (1, 2, 3, 0)) * 4.0 - rdm2_f_bbbb_voov += einsum(x244, (0, 1, 2, 3), (2, 1, 0, 3)) * 4.0 - rdm2_f_bbbb_vovo += einsum(x244, (0, 1, 2, 3), (2, 1, 3, 0)) * -4.0 - x245 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x245 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 5), (3, 4, 1, 5)) - rdm2_f_bbbb_ovov += einsum(x245, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_bbbb_ovvo += einsum(x245, (0, 1, 2, 3), (1, 2, 3, 0)) - rdm2_f_bbbb_voov += einsum(x245, (0, 1, 2, 3), (2, 1, 0, 3)) - rdm2_f_bbbb_vovo += einsum(x245, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - x246 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x246 += einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), t3.bbbbbb, (6, 4, 5, 7, 1, 2), (3, 6, 0, 7)) - rdm2_f_bbbb_ovov += einsum(x246, (0, 1, 2, 3), (1, 2, 0, 3)) * -9.0 - rdm2_f_bbbb_ovvo += einsum(x246, (0, 1, 2, 3), (1, 2, 3, 0)) * 9.0 - rdm2_f_bbbb_voov += einsum(x246, (0, 1, 2, 3), (2, 1, 0, 3)) * 9.0 - rdm2_f_bbbb_vovo += einsum(x246, (0, 1, 2, 3), (2, 1, 3, 0)) * -9.0 - x247 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x247 += einsum(t2.bbbb, (0, 1, 2, 3), x114, (4, 1, 0, 5, 6, 3), (4, 5, 6, 2)) - rdm2_f_bbbb_ovov += einsum(x247, (0, 1, 2, 3), (1, 2, 0, 3)) * 6.0 - rdm2_f_bbbb_ovvo += einsum(x247, (0, 1, 2, 3), (1, 2, 3, 0)) * -6.0 - rdm2_f_bbbb_voov += einsum(x247, (0, 1, 2, 3), (2, 1, 0, 3)) * -6.0 - rdm2_f_bbbb_vovo += einsum(x247, (0, 1, 2, 3), (2, 1, 3, 0)) * 6.0 - x248 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x248 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (6, 4, 5, 7, 1, 2), (3, 6, 0, 7)) - rdm2_f_bbbb_ovov += einsum(x248, (0, 1, 2, 3), (1, 2, 0, 3)) * -4.0 - rdm2_f_bbbb_ovvo += einsum(x248, (0, 1, 2, 3), (1, 2, 3, 0)) * 4.0 - rdm2_f_bbbb_voov += einsum(x248, (0, 1, 2, 3), (2, 1, 0, 3)) * 4.0 - rdm2_f_bbbb_vovo += einsum(x248, (0, 1, 2, 3), (2, 1, 3, 0)) * -4.0 - x249 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x249 += einsum(t2.abab, (0, 1, 2, 3), x90, (4, 1, 5, 6, 0, 2), (4, 5, 6, 3)) - rdm2_f_bbbb_ovov += einsum(x249, (0, 1, 2, 3), (1, 2, 0, 3)) * 2.0 - rdm2_f_bbbb_ovvo += einsum(x249, (0, 1, 2, 3), (1, 2, 3, 0)) * -2.0 - rdm2_f_bbbb_voov += einsum(x249, (0, 1, 2, 3), (2, 1, 0, 3)) * -2.0 - rdm2_f_bbbb_vovo += einsum(x249, (0, 1, 2, 3), (2, 1, 3, 0)) * 2.0 - x250 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x250 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (3, 6, 5, 0, 7, 2), (4, 6, 1, 7)) - rdm2_f_bbbb_ovov += einsum(x250, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_bbbb_ovvo += einsum(x250, (0, 1, 2, 3), (1, 2, 3, 0)) - rdm2_f_bbbb_voov += einsum(x250, (0, 1, 2, 3), (2, 1, 0, 3)) - rdm2_f_bbbb_vovo += einsum(x250, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - x251 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x251 += einsum(x244, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.0 - x251 += einsum(x245, (0, 1, 2, 3), (0, 1, 2, 3)) - x251 += einsum(x246, (0, 1, 2, 3), (0, 1, 2, 3)) * 9.0 - x251 += einsum(x247, (0, 1, 2, 3), (0, 1, 2, 3)) * -6.0 - x251 += einsum(x248, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.0 - x251 += einsum(x249, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - x251 += einsum(x250, (0, 1, 2, 3), (0, 1, 2, 3)) - x251 += einsum(t1.bb, (0, 1), x42, (2, 0, 3, 4), (2, 3, 4, 1)) * -6.0 - rdm2_f_abab_oovv += einsum(t2.abab, (0, 1, 2, 3), x251, (1, 4, 3, 5), (0, 4, 2, 5)) - del x251 - x252 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x252 += einsum(x173, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x252 += einsum(x174, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - x252 += einsum(x178, (0, 1, 2, 3), (0, 1, 2, 3)) - x252 += einsum(x175, (0, 1, 2, 3), (0, 1, 2, 3)) * -4.5 - x252 += einsum(x179, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0 - x252 += einsum(x180, (0, 1, 2, 3), (0, 1, 3, 2)) - del x180 - rdm2_f_abab_oovv += einsum(t2.abab, (0, 1, 2, 3), x252, (0, 4, 2, 5), (4, 1, 5, 3)) * -2.0 - del x252 - x253 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x253 += einsum(x20, (0, 1, 2, 3), (0, 1, 2, 3)) - del x20 - x253 += einsum(x21, (0, 1, 2, 3), (0, 1, 2, 3)) - del x21 - x254 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x254 += einsum(x168, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.5 - x254 += einsum(x169, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - x254 += einsum(x165, (0, 1, 2, 3), (0, 1, 2, 3)) - x254 += einsum(x170, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.5 - x254 += einsum(x183, (0, 1, 2, 3), (0, 1, 2, 3)) - x254 += einsum(t1.aa, (0, 1), x253, (2, 3, 0, 4), (2, 3, 4, 1)) - rdm2_f_abab_oovv += einsum(t2.bbbb, (0, 1, 2, 3), x254, (1, 3, 4, 5), (4, 0, 5, 2)) * -4.0 - del x254 - x255 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x255 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 5, 1), (3, 4, 0, 5)) - rdm2_f_abab_vovo += einsum(x255, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - x256 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x256 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (6, 4, 5, 0, 7, 2), (3, 6, 1, 7)) - rdm2_f_abab_vovo += einsum(x256, (0, 1, 2, 3), (2, 1, 3, 0)) * -2.0 - x257 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x257 += einsum(t2.abab, (0, 1, 2, 3), x90, (4, 1, 5, 3, 0, 6), (4, 5, 6, 2)) * -1.0 - rdm2_f_abab_vovo += einsum(x257, (0, 1, 2, 3), (2, 1, 3, 0)) * -2.0 - x258 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x258 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (3, 6, 5, 7, 1, 2), (4, 6, 0, 7)) - rdm2_f_abab_vovo += einsum(x258, (0, 1, 2, 3), (2, 1, 3, 0)) * -2.0 - x259 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x259 += einsum(t2.aaaa, (0, 1, 2, 3), x85, (4, 5, 0, 1, 6, 3), (4, 5, 6, 2)) - del x85 - rdm2_f_abab_vovo += einsum(x259, (0, 1, 2, 3), (2, 1, 3, 0)) * -2.0 - x260 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x260 += einsum(x255, (0, 1, 2, 3), (0, 1, 2, 3)) - x260 += einsum(x256, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x260 += einsum(x257, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x260 += einsum(x258, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x260 += einsum(x259, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x260 += einsum(t1.aa, (0, 1), x25, (2, 3, 0, 4), (2, 3, 4, 1)) * 2.0 - rdm2_f_abab_oovv += einsum(t2.abab, (0, 1, 2, 3), x260, (1, 4, 2, 5), (0, 4, 5, 3)) - del x260 - x261 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x261 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (3, 6, 5, 7, 1, 2), (0, 7, 4, 6)) - rdm2_f_abab_ovov += einsum(x261, (0, 1, 2, 3), (3, 0, 2, 1)) * -2.0 - x262 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x262 += einsum(t2.bbbb, (0, 1, 2, 3), x59, (0, 1, 4, 3, 5, 6), (4, 2, 5, 6)) - del x59 - rdm2_f_abab_ovov += einsum(x262, (0, 1, 2, 3), (3, 0, 2, 1)) * -2.0 - x263 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x263 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (6, 4, 5, 0, 7, 2), (1, 7, 3, 6)) - rdm2_f_abab_ovov += einsum(x263, (0, 1, 2, 3), (3, 0, 2, 1)) * -2.0 - x264 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x264 += einsum(t2.abab, (0, 1, 2, 3), x51, (1, 4, 5, 0, 6, 2), (4, 3, 5, 6)) * -1.0 - rdm2_f_abab_ovov += einsum(x264, (0, 1, 2, 3), (3, 0, 2, 1)) * -2.0 - x265 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x265 += einsum(x261, (0, 1, 2, 3), (0, 1, 2, 3)) - x265 += einsum(x262, (0, 1, 2, 3), (0, 1, 2, 3)) - x265 += einsum(x263, (0, 1, 2, 3), (0, 1, 2, 3)) - x265 += einsum(x264, (0, 1, 2, 3), (0, 1, 2, 3)) - x265 += einsum(t1.bb, (0, 1), x253, (0, 2, 3, 4), (2, 1, 3, 4)) - del x253 - rdm2_f_abab_oovv += einsum(t2.abab, (0, 1, 2, 3), x265, (3, 4, 0, 5), (5, 1, 2, 4)) * 2.0 - del x265 - x266 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x266 += einsum(t1.bb, (0, 1), x105, (2, 1, 3, 4), (2, 0, 3, 4)) - del x105 - x267 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x267 += einsum(x18, (0, 1, 2, 3), (0, 1, 2, 3)) - x267 += einsum(x17, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.9999999999999194 - x267 += einsum(x16, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.9999999999999194 - x267 += einsum(x266, (0, 1, 2, 3), (0, 1, 2, 3)) - x267 += einsum(x26, (0, 1, 2, 3), (0, 1, 3, 2)) - rdm2_f_abab_oovv += einsum(t2.abab, (0, 1, 2, 3), x267, (1, 4, 0, 5), (5, 4, 2, 3)) - del x267 - x268 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x268 += einsum(x18, (0, 1, 2, 3), (0, 1, 2, 3)) - del x18 - x268 += einsum(x17, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.000000000000041 - del x17 - x268 += einsum(x16, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.000000000000041 - del x16 - x268 += einsum(x266, (0, 1, 2, 3), (0, 1, 2, 3)) - del x266 - x268 += einsum(x26, (0, 1, 2, 3), (0, 1, 3, 2)) - del x26 - x269 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x269 += einsum(x96, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.3333333333333333 - del x96 - x269 += einsum(x98, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.6666666666666666 - del x98 - x269 += einsum(t2.abab, (0, 1, 2, 3), x103, (1, 4, 5, 2), (4, 3, 5, 0)) * 0.3333333333333333 - x269 += einsum(t2.bbbb, (0, 1, 2, 3), x19, (1, 3, 4, 5), (0, 2, 4, 5)) * -0.6666666666666666 - x269 += einsum(x97, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.6666666666666666 - del x97 - x269 += einsum(t2.abab, (0, 1, 2, 3), x1, (4, 0, 5, 2), (1, 3, 4, 5)) * 0.6666666666666666 - x269 += einsum(x91, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.6666666666666666 - del x91 - x269 += einsum(x92, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x92 - x269 += einsum(x94, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.6666666666666666 - del x94 - x269 += einsum(x86, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.6666666666666666 - del x86 - x269 += einsum(x87, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.3333333333333333 - del x87 - x269 += einsum(x89, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.6666666666666666 - del x89 - x269 += einsum(x95, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x95 - x269 += einsum(t1.bb, (0, 1), x268, (0, 2, 3, 4), (2, 1, 3, 4)) * 0.3333333333333333 - del x268 - rdm2_f_abab_oovv += einsum(t1.aa, (0, 1), x269, (2, 3, 0, 4), (4, 2, 1, 3)) * 3.0 - del x269 - x270 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x270 += einsum(x207, (0, 1), (0, 1)) * 0.3333333333333468 - x270 += einsum(x208, (0, 1), (0, 1)) * 0.6666666666666936 - x270 += einsum(x209, (0, 1), (0, 1)) * 0.33333333333333354 - x270 += einsum(x210, (0, 1), (0, 1)) * 0.6666666666666667 - x270 += einsum(x211, (0, 1), (0, 1)) - rdm2_f_abab_oovv += einsum(x270, (0, 1), t2.abab, (2, 3, 0, 4), (2, 3, 1, 4)) * -2.9999999999998788 - del x270 - x271 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x271 += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (2, 3, 4, 1), (0, 4)) - x272 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x272 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 0, 4), (1, 4)) - x273 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x273 += einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), t3.bbbbbb, (3, 4, 5, 6, 1, 2), (0, 6)) - x274 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x274 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (3, 4, 5, 6, 1, 2), (0, 6)) - x275 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x275 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (3, 4, 5, 0, 6, 2), (1, 6)) - x276 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x276 += einsum(x271, (0, 1), (0, 1)) * 2.0 - x276 += einsum(x272, (0, 1), (0, 1)) - x276 += einsum(x273, (0, 1), (0, 1)) * 2.9999999999998788 - x276 += einsum(x274, (0, 1), (0, 1)) * 1.9999999999999194 - x276 += einsum(x275, (0, 1), (0, 1)) * 0.9999999999999601 - rdm2_f_abab_oovv += einsum(x276, (0, 1), t2.abab, (2, 3, 4, 0), (2, 3, 4, 1)) * -1.0 - del x276 - x277 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x277 += einsum(x152, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - del x152 - x277 += einsum(x151, (0, 1, 2, 3), (0, 1, 2, 3)) - del x151 - x277 += einsum(t2.abab, (0, 1, 2, 3), x38, (4, 1, 5, 3), (4, 5, 0, 2)) * -1.0 - x277 += einsum(x160, (0, 1, 2, 3), (0, 1, 2, 3)) - del x160 - x277 += einsum(t2.aaaa, (0, 1, 2, 3), x103, (4, 5, 1, 3), (4, 5, 0, 2)) - x277 += einsum(t2.abab, (0, 1, 2, 3), x19, (4, 3, 0, 5), (4, 1, 5, 2)) * -0.5 - del x19 - x277 += einsum(x153, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.5 - del x153 - x277 += einsum(x155, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x155 - x277 += einsum(x154, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x154 - x277 += einsum(x156, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x156 - x277 += einsum(x158, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.5 - del x158 - x277 += einsum(x157, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x157 - x277 += einsum(x159, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x159 - rdm2_f_abab_oovv += einsum(t1.bb, (0, 1), x277, (0, 2, 3, 4), (3, 2, 4, 1)) * -2.0 - del x277 - x278 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x278 += einsum(x11, (0, 1), (0, 1)) * 0.3333333333333468 - del x11 - x278 += einsum(x5, (0, 1), (0, 1)) * 0.3333333333333468 - del x5 - x278 += einsum(x6, (0, 1), (0, 1)) * 0.6666666666666936 - del x6 - x278 += einsum(x7, (0, 1), (0, 1)) * 0.33333333333333354 - del x7 - x278 += einsum(x8, (0, 1), (0, 1)) * 0.6666666666666667 - del x8 - x278 += einsum(x9, (0, 1), (0, 1)) - del x9 - rdm2_f_abab_oovv += einsum(x278, (0, 1), t2.abab, (0, 2, 3, 4), (1, 2, 3, 4)) * -2.9999999999998788 - del x278 - x279 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x279 += einsum(t2.bbbb, (0, 1, 2, 3), x249, (1, 4, 3, 5), (4, 0, 2, 5)) * -1.0 - x280 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x280 += einsum(t2.abab, (0, 1, 2, 3), x241, (4, 5, 0, 2), (4, 1, 3, 5)) - x281 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x281 += einsum(x245, (0, 1, 2, 3), (0, 1, 2, 3)) - x281 += einsum(x246, (0, 1, 2, 3), (0, 1, 2, 3)) * 9.0 - x281 += einsum(x248, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.0 - x281 += einsum(x250, (0, 1, 2, 3), (0, 1, 2, 3)) - x282 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x282 += einsum(t2.bbbb, (0, 1, 2, 3), x281, (1, 4, 3, 5), (4, 0, 5, 2)) * 2.0 - del x281 - x283 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x283 += einsum(x238, (0, 1, 2, 3), (0, 1, 2, 3)) - x283 += einsum(x240, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.3333333333333333 - x283 += einsum(x242, (0, 1, 2, 3), (0, 1, 2, 3)) - x284 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x284 += einsum(t2.abab, (0, 1, 2, 3), x283, (4, 5, 0, 2), (4, 1, 5, 3)) * 3.0 - del x283 - x285 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x285 += einsum(t1.bb, (0, 1), x40, (0, 2, 3, 4), (2, 3, 4, 1)) * -1.0 - x286 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x286 += einsum(x247, (0, 1, 2, 3), (0, 1, 2, 3)) - x286 += einsum(x285, (0, 1, 2, 3), (0, 1, 2, 3)) - del x285 - x287 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x287 += einsum(t2.bbbb, (0, 1, 2, 3), x286, (1, 4, 3, 5), (4, 0, 5, 2)) * 12.0 - del x286 - x288 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x288 += einsum(t1.bb, (0, 1), x23, (0, 2, 3, 4), (2, 1, 3, 4)) - del x23 - x289 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x289 += einsum(x239, (0, 1, 2, 3), (0, 1, 2, 3)) - x289 += einsum(x288, (0, 1, 2, 3), (0, 1, 2, 3)) - del x288 - x290 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x290 += einsum(t2.abab, (0, 1, 2, 3), x289, (4, 5, 0, 2), (4, 1, 5, 3)) * 2.0 - del x289 - x291 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x291 += einsum(t2.bbbb, (0, 1, 2, 3), x38, (4, 1, 5, 3), (4, 5, 0, 2)) * -1.0 - x292 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x292 += einsum(t2.abab, (0, 1, 2, 3), x103, (4, 5, 0, 2), (4, 5, 1, 3)) - x293 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x293 += einsum(t2.bbbb, (0, 1, 2, 3), x41, (1, 4, 5, 3), (4, 0, 5, 2)) * -1.0 - x294 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x294 += einsum(x291, (0, 1, 2, 3), (0, 1, 2, 3)) - del x291 - x294 += einsum(x292, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.25 - del x292 - x294 += einsum(x132, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.25 - del x132 - x294 += einsum(x135, (0, 1, 2, 3), (0, 1, 2, 3)) - del x135 - x294 += einsum(x293, (0, 1, 2, 3), (0, 1, 2, 3)) - del x293 - x294 += einsum(x137, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.25 - del x137 - x294 += einsum(x136, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - del x136 - x295 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x295 += einsum(t1.bb, (0, 1), x294, (0, 2, 3, 4), (2, 3, 4, 1)) * 4.0 - del x294 - x296 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x296 += einsum(x279, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.0 - del x279 - x296 += einsum(x280, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - del x280 - x296 += einsum(x282, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x282 - x296 += einsum(x284, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x284 - x296 += einsum(x287, (0, 1, 2, 3), (0, 1, 2, 3)) - del x287 - x296 += einsum(x290, (0, 1, 2, 3), (0, 1, 2, 3)) - del x290 - x296 += einsum(x295, (0, 1, 2, 3), (0, 1, 3, 2)) - del x295 - x296 += einsum(t1.bb, (0, 1), x131, (2, 3), (0, 2, 1, 3)) * 2.0 - del x131 - rdm2_f_bbbb_oovv += einsum(x296, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - rdm2_f_bbbb_oovv += einsum(x296, (0, 1, 2, 3), (0, 1, 3, 2)) - rdm2_f_bbbb_oovv += einsum(x296, (0, 1, 2, 3), (1, 0, 2, 3)) - rdm2_f_bbbb_oovv += einsum(x296, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x296 - x297 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x297 += einsum(x42, (0, 1, 2, 3), t3.bbbbbb, (4, 0, 1, 5, 6, 3), (4, 2, 5, 6)) * -18.0 - x298 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x298 += einsum(x25, (0, 1, 2, 3), t3.babbab, (4, 2, 0, 5, 3, 6), (4, 1, 5, 6)) * -4.0 - del x25 - x299 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x299 += einsum(x31, (0, 1), (0, 1)) * 3.000000000000004 - del x31 - x299 += einsum(x32, (0, 1), (0, 1)) * 1.9999999999999996 - del x32 - x299 += einsum(x33, (0, 1), (0, 1)) - del x33 - x300 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x300 += einsum(x299, (0, 1), t2.bbbb, (2, 0, 3, 4), (1, 2, 3, 4)) * -1.9999999999999194 - del x299 - x301 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x301 += einsum(x297, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x297 - x301 += einsum(x298, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x298 - x301 += einsum(x300, (0, 1, 2, 3), (1, 0, 3, 2)) - del x300 - rdm2_f_bbbb_oovv += einsum(x301, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - rdm2_f_bbbb_oovv += einsum(x301, (0, 1, 2, 3), (1, 0, 2, 3)) - del x301 - x302 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x302 += einsum(t2.bbbb, (0, 1, 2, 3), x244, (1, 4, 3, 5), (4, 0, 5, 2)) - x303 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x303 += einsum(t2.abab, (0, 1, 2, 3), x237, (4, 5, 0, 2), (4, 1, 5, 3)) - x304 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x304 += einsum(x145, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x304 += einsum(x146, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.3333333333333333 - x305 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x305 += einsum(x304, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 0, 6, 1, 2), (4, 5, 3, 6)) * -18.0 - x306 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x306 += einsum(x101, (0, 1, 2, 3), t3.babbab, (4, 2, 5, 6, 3, 0), (4, 5, 1, 6)) * -4.0 - del x101 - x307 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x307 += einsum(x271, (0, 1), (0, 1)) - x307 += einsum(x272, (0, 1), (0, 1)) * 0.5 - x307 += einsum(x273, (0, 1), (0, 1)) * 1.4999999999999416 - x307 += einsum(x274, (0, 1), (0, 1)) * 0.9999999999999595 - x307 += einsum(x275, (0, 1), (0, 1)) * 0.49999999999997985 - x308 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x308 += einsum(x307, (0, 1), t2.bbbb, (2, 3, 4, 0), (2, 3, 1, 4)) * -4.0 - del x307 - x309 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x309 += einsum(t2.bbbb, (0, 1, 2, 3), x304, (4, 2, 3, 5), (4, 0, 1, 5)) * 3.0 - x310 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x310 += einsum(x121, (0, 1, 2, 3), (0, 2, 1, 3)) - del x121 - x310 += einsum(x124, (0, 1, 2, 3), (0, 2, 1, 3)) * 3.0 - del x124 - x310 += einsum(x125, (0, 1, 2, 3), (0, 2, 1, 3)) - del x125 - x310 += einsum(x127, (0, 1, 2, 3), (0, 2, 1, 3)) * 3.0 - del x127 - x310 += einsum(x123, (0, 1, 2, 3), (0, 2, 1, 3)) - del x123 - x310 += einsum(x309, (0, 1, 2, 3), (0, 2, 1, 3)) - del x309 - x311 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x311 += einsum(t1.bb, (0, 1), x310, (0, 2, 3, 4), (2, 3, 4, 1)) * 2.0 - del x310 - x312 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x312 += einsum(x302, (0, 1, 2, 3), (0, 1, 2, 3)) * 8.0 - del x302 - x312 += einsum(x303, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x303 - x312 += einsum(x305, (0, 1, 2, 3), (0, 1, 2, 3)) - del x305 - x312 += einsum(x306, (0, 1, 2, 3), (1, 0, 2, 3)) - del x306 - x312 += einsum(x308, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x308 - x312 += einsum(x311, (0, 1, 2, 3), (1, 0, 3, 2)) - del x311 - rdm2_f_bbbb_oovv += einsum(x312, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_bbbb_oovv += einsum(x312, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x312 - x313 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x313 += einsum(x28, (0, 1), t2.bbbb, (2, 0, 3, 4), (1, 2, 3, 4)) - del x28 - x314 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x314 += einsum(x38, (0, 1, 2, 3), t3.bbbbbb, (4, 1, 0, 5, 6, 3), (2, 4, 5, 6)) - x315 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x315 += einsum(x103, (0, 1, 2, 3), t3.babbab, (4, 2, 0, 5, 3, 6), (1, 4, 5, 6)) - del x103 - x316 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x316 += einsum(t1.bb, (0, 1), x42, (2, 3, 4, 1), (0, 2, 3, 4)) * 3.0 - x317 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x317 += einsum(t2.bbbb, (0, 1, 2, 3), x316, (4, 0, 1, 5), (4, 5, 2, 3)) * 2.0 - del x316 - x318 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x318 += einsum(x29, (0, 1), (0, 1)) - del x29 - x318 += einsum(x30, (0, 1), (0, 1)) * 0.5 - del x30 - x319 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x319 += einsum(x318, (0, 1), t2.bbbb, (2, 0, 3, 4), (1, 2, 3, 4)) * -4.0 - del x318 - x320 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x320 += einsum(t1.bb, (0, 1), x42, (2, 3, 4, 1), (0, 2, 3, 4)) - del x42 - x321 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x321 += einsum(t1.bb, (0, 1), x320, (2, 3, 0, 4), (3, 2, 4, 1)) - del x320 - x322 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x322 += einsum(t1.bb, (0, 1), x321, (0, 2, 3, 4), (2, 3, 4, 1)) * 6.0 - del x321 - x323 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x323 += einsum(x313, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - del x313 - x323 += einsum(x314, (0, 1, 2, 3), (0, 1, 3, 2)) * -6.0 - del x314 - x323 += einsum(x315, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - del x315 - x323 += einsum(x317, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x317 - x323 += einsum(x319, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x319 - x323 += einsum(x322, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x322 - rdm2_f_bbbb_oovv += einsum(x323, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_bbbb_oovv += einsum(x323, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x323 - x324 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x324 += einsum(t2.bbbb, (0, 1, 2, 3), l3.babbab, (2, 4, 3, 5, 6, 7), (5, 7, 0, 1, 6, 4)) - x324 += einsum(x122, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0000000000000606 - del x122 - rdm2_f_bbbb_oovv += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x324, (0, 2, 6, 7, 1, 4), (6, 7, 3, 5)) * 1.9999999999999194 - del x324 - x325 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x325 += einsum(t2.bbbb, (0, 1, 2, 3), l3.bbbbbb, (4, 2, 3, 5, 6, 7), (5, 6, 7, 0, 1, 4)) - x325 += einsum(x126, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0000000000000584 - del x126 - rdm2_f_bbbb_oovv += einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), x325, (0, 1, 2, 6, 7, 5), (6, 7, 3, 4)) * 5.999999999999766 - del x325 - x326 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x326 += einsum(x37, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - x326 += einsum(x39, (0, 1, 2, 3), (0, 1, 3, 2)) - x326 += einsum(x35, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.999999999999883 - x326 += einsum(x36, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.9999999999999597 - rdm2_f_bbbb_oovv += einsum(t2.bbbb, (0, 1, 2, 3), x326, (0, 1, 4, 5), (5, 4, 2, 3)) * 2.0 - del x326 - x327 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x327 += einsum(x37, (0, 1, 2, 3), (1, 0, 3, 2)) * -0.3333333333333269 - del x37 - x327 += einsum(x39, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.3333333333333269 - del x39 - x327 += einsum(x35, (0, 1, 2, 3), (0, 1, 3, 2)) - del x35 - x327 += einsum(x36, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.3333333333333336 - del x36 - x328 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x328 += einsum(t1.bb, (0, 1), x327, (0, 2, 3, 4), (2, 4, 3, 1)) * -1.0 - del x327 - rdm2_f_bbbb_oovv += einsum(t1.bb, (0, 1), x328, (0, 2, 3, 4), (2, 3, 4, 1)) * -6.000000000000116 - del x328 - x329 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x329 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 5, 1), (2, 4, 0, 5)) - rdm2_f_aaaa_ovov += einsum(x329, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_aaaa_ovvo += einsum(x329, (0, 1, 2, 3), (1, 2, 3, 0)) - rdm2_f_aaaa_voov += einsum(x329, (0, 1, 2, 3), (2, 1, 0, 3)) - rdm2_f_aaaa_vovo += einsum(x329, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - x330 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x330 += einsum(t1.aa, (0, 1), x64, (0, 2, 3, 4), (2, 3, 1, 4)) * 6.0 - del x64 - rdm2_f_aaaa_ovov += einsum(x330, (0, 1, 2, 3), (1, 3, 0, 2)) * -1.0 - rdm2_f_aaaa_voov += einsum(x330, (0, 1, 2, 3), (3, 1, 0, 2)) - del x330 - x331 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x331 += einsum(l1.aa, (0, 1), t1.aa, (1, 2), (0, 2)) - x332 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x332 += einsum(x331, (0, 1), (0, 1)) - x332 += einsum(x207, (0, 1), (0, 1)) - x332 += einsum(x208, (0, 1), (0, 1)) * 2.0 - x332 += einsum(x209, (0, 1), (0, 1)) * 0.9999999999999601 - x332 += einsum(x210, (0, 1), (0, 1)) * 1.9999999999999194 - x332 += einsum(x211, (0, 1), (0, 1)) * 2.9999999999998788 - rdm2_f_aaaa_ovov += einsum(delta.aa.oo, (0, 1), x332, (2, 3), (0, 2, 1, 3)) - rdm2_f_aaaa_ovvo += einsum(delta.aa.oo, (0, 1), x332, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_aaaa_voov += einsum(delta.aa.oo, (0, 1), x332, (2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_aaaa_vovo += einsum(delta.aa.oo, (0, 1), x332, (2, 3), (2, 0, 3, 1)) - x333 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x333 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 0, 5), (1, 5, 2, 4)) - rdm2_f_abab_ovov += einsum(x333, (0, 1, 2, 3), (3, 0, 2, 1)) * -1.0 - x334 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x334 += einsum(l1.bb, (0, 1), t1.bb, (1, 2), (0, 2)) - x335 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x335 += einsum(x334, (0, 1), (0, 1)) - x335 += einsum(x271, (0, 1), (0, 1)) * 2.0 - x335 += einsum(x272, (0, 1), (0, 1)) - x335 += einsum(x273, (0, 1), (0, 1)) * 2.9999999999998788 - x335 += einsum(x274, (0, 1), (0, 1)) * 1.9999999999999194 - x335 += einsum(x275, (0, 1), (0, 1)) * 0.9999999999999601 - rdm2_f_abab_ovov += einsum(delta.aa.oo, (0, 1), x335, (2, 3), (0, 2, 1, 3)) - rdm2_f_abab_ovvv += einsum(t1.aa, (0, 1), x335, (2, 3), (0, 2, 1, 3)) - x336 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x336 += einsum(t1.bb, (0, 1), x118, (0, 2, 3, 4), (2, 3, 4, 1)) * 2.0 - del x118 - rdm2_f_bbbb_ovov += einsum(x336, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_bbbb_ovvo += einsum(x336, (0, 1, 2, 3), (1, 2, 3, 0)) - rdm2_f_bbbb_voov += einsum(x336, (0, 1, 2, 3), (2, 1, 0, 3)) - rdm2_f_bbbb_vovo += einsum(x336, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - del x336 - x337 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x337 += einsum(x334, (0, 1), (0, 1)) * 0.5000000000000202 - del x334 - x337 += einsum(x271, (0, 1), (0, 1)) * 1.0000000000000404 - del x271 - x337 += einsum(x272, (0, 1), (0, 1)) * 0.5000000000000202 - del x272 - x337 += einsum(x273, (0, 1), (0, 1)) * 1.4999999999999998 - del x273 - x337 += einsum(x274, (0, 1), (0, 1)) - del x274 - x337 += einsum(x275, (0, 1), (0, 1)) * 0.5000000000000002 - del x275 - rdm2_f_bbbb_ovov += einsum(delta.bb.oo, (0, 1), x337, (2, 3), (0, 2, 1, 3)) * 1.9999999999999194 - rdm2_f_bbbb_ovvo += einsum(delta.bb.oo, (0, 1), x337, (2, 3), (0, 2, 3, 1)) * -1.9999999999999194 - rdm2_f_bbbb_voov += einsum(delta.bb.oo, (0, 1), x337, (2, 3), (2, 0, 1, 3)) * -1.9999999999999194 - rdm2_f_bbbb_vovo += einsum(delta.bb.oo, (0, 1), x337, (2, 3), (2, 0, 3, 1)) * 1.9999999999999194 - del x337 - x338 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x338 += einsum(t1.aa, (0, 1), x102, (0, 2, 3, 4), (2, 3, 4, 1)) * 2.0 - rdm2_f_aaaa_ovvo += einsum(x338, (0, 1, 2, 3), (1, 2, 3, 0)) - rdm2_f_aaaa_vovo += einsum(x338, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - del x338 - x339 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x339 += einsum(x331, (0, 1), (0, 1)) * 1.00000000000004 - x339 += einsum(x207, (0, 1), (0, 1)) * 1.00000000000004 - x339 += einsum(x208, (0, 1), (0, 1)) * 2.00000000000008 - x339 += einsum(x209, (0, 1), (0, 1)) - x339 += einsum(x210, (0, 1), (0, 1)) * 1.9999999999999991 - x339 += einsum(x211, (0, 1), (0, 1)) * 2.9999999999999982 - rdm2_f_abab_vovo += einsum(delta.bb.oo, (0, 1), x339, (2, 3), (2, 0, 3, 1)) * 0.9999999999999601 - del x339 - x340 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x340 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x51, (1, 4, 0, 2, 6, 7), (6, 7, 3, 5)) - del x51 - rdm2_f_aaaa_ovvv = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - rdm2_f_aaaa_ovvv += einsum(x340, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0000000000000404 - rdm2_f_aaaa_vovv = np.zeros((nvir[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - rdm2_f_aaaa_vovv += einsum(x340, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0000000000000404 - del x340 - x341 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x341 += einsum(l2.aaaa, (0, 1, 2, 3), t3.aaaaaa, (4, 2, 3, 5, 6, 1), (4, 0, 5, 6)) - rdm2_f_aaaa_ovvv += einsum(x341, (0, 1, 2, 3), (0, 1, 3, 2)) * -6.0 - rdm2_f_aaaa_vovv += einsum(x341, (0, 1, 2, 3), (1, 0, 3, 2)) * 6.0 - del x341 - x342 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x342 += einsum(l1.aa, (0, 1), t2.aaaa, (2, 1, 3, 4), (2, 0, 3, 4)) - rdm2_f_aaaa_ovvv += einsum(x342, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - rdm2_f_aaaa_vovv += einsum(x342, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - del x342 - x343 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x343 += einsum(l2.abab, (0, 1, 2, 3), t3.abaaba, (4, 3, 2, 5, 1, 6), (4, 0, 5, 6)) - rdm2_f_aaaa_ovvv += einsum(x343, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - rdm2_f_aaaa_vovv += einsum(x343, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - del x343 - x344 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x344 += einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), x45, (0, 1, 2, 6, 7, 5), (6, 7, 3, 4)) * -1.0 - del x45 - rdm2_f_aaaa_ovvv += einsum(x344, (0, 1, 2, 3), (0, 1, 3, 2)) * -6.000000000000116 - rdm2_f_aaaa_vovv += einsum(x344, (0, 1, 2, 3), (1, 0, 3, 2)) * 6.000000000000116 - del x344 - x345 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x345 += einsum(t2.abab, (0, 1, 2, 3), x161, (1, 3, 4, 5), (0, 4, 2, 5)) - x346 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x346 += einsum(t2.abab, (0, 1, 2, 3), x162, (1, 3, 4, 5), (0, 4, 5, 2)) - x347 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x347 += einsum(t2.aaaa, (0, 1, 2, 3), x205, (1, 4, 3, 5), (0, 4, 5, 2)) * 4.0 - x348 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x348 += einsum(x329, (0, 1, 2, 3), (0, 1, 2, 3)) - del x329 - x348 += einsum(x202, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.0 - del x202 - x348 += einsum(x173, (0, 1, 2, 3), (0, 1, 2, 3)) - del x173 - x348 += einsum(x174, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.0 - del x174 - x348 += einsum(x178, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - del x178 - x348 += einsum(x175, (0, 1, 2, 3), (0, 1, 2, 3)) * 9.0 - del x175 - x348 += einsum(x179, (0, 1, 2, 3), (0, 1, 2, 3)) * -6.0 - del x179 - x349 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x349 += einsum(t1.aa, (0, 1), x348, (0, 2, 3, 4), (2, 3, 4, 1)) - del x348 - x350 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x350 += einsum(x345, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x345 - x350 += einsum(x346, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - del x346 - x350 += einsum(x347, (0, 1, 2, 3), (0, 1, 2, 3)) - del x347 - x350 += einsum(x349, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x349 - x350 += einsum(t1.aa, (0, 1), x332, (2, 3), (0, 2, 1, 3)) - del x332 - rdm2_f_aaaa_ovvv += einsum(x350, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_aaaa_ovvv += einsum(x350, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_aaaa_vovv += einsum(x350, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - rdm2_f_aaaa_vovv += einsum(x350, (0, 1, 2, 3), (1, 0, 3, 2)) - del x350 - x351 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x351 += einsum(t2.aaaa, (0, 1, 2, 3), x102, (0, 1, 4, 5), (4, 5, 2, 3)) * 2.0 - del x102 - rdm2_f_aaaa_ovvv += einsum(x351, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_aaaa_vovv += einsum(x351, (0, 1, 2, 3), (1, 0, 3, 2)) - del x351 - x352 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x352 += einsum(x1, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.3333333333333333 - del x1 - x352 += einsum(x12, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.3333333333333333 - del x12 - x352 += einsum(x13, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x13 - x353 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x353 += einsum(t1.aa, (0, 1), x352, (0, 2, 3, 4), (2, 3, 4, 1)) * 3.0 - del x352 - x354 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x354 += einsum(t1.aa, (0, 1), x353, (0, 2, 3, 4), (2, 3, 4, 1)) * 2.0 - del x353 - rdm2_f_aaaa_ovvv += einsum(x354, (0, 1, 2, 3), (0, 1, 3, 2)) - rdm2_f_aaaa_vovv += einsum(x354, (0, 1, 2, 3), (1, 0, 2, 3)) - del x354 - x355 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x355 += einsum(x218, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.6666666666666666 - del x218 - x355 += einsum(x167, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.6666666666666666 - del x167 - x355 += einsum(x168, (0, 1, 2, 3), (0, 1, 2, 3)) - del x168 - x355 += einsum(x169, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.3333333333333333 - del x169 - x355 += einsum(x165, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.6666666666666666 - del x165 - x355 += einsum(x170, (0, 1, 2, 3), (0, 1, 2, 3)) - del x170 - x355 += einsum(x183, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.6666666666666666 - del x183 - x355 += einsum(t1.aa, (0, 1), x22, (2, 3, 0, 4), (2, 3, 4, 1)) * -0.6666666666666666 - del x22 - rdm2_f_abab_ovvv += einsum(t1.bb, (0, 1), x355, (0, 2, 3, 4), (3, 2, 4, 1)) * 3.0 - del x355 - x356 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x356 += einsum(x333, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - del x333 - x356 += einsum(x261, (0, 1, 2, 3), (0, 1, 2, 3)) - del x261 - x356 += einsum(x262, (0, 1, 2, 3), (0, 1, 2, 3)) - del x262 - x356 += einsum(x263, (0, 1, 2, 3), (0, 1, 2, 3)) - del x263 - x356 += einsum(x264, (0, 1, 2, 3), (0, 1, 2, 3)) - del x264 - rdm2_f_abab_ovvv += einsum(t1.aa, (0, 1), x356, (2, 3, 0, 4), (4, 2, 1, 3)) * -2.0 - del x356 - x357 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x357 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x90, (0, 2, 6, 7, 1, 4), (6, 7, 3, 5)) - del x90 - rdm2_f_bbbb_ovvv = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - rdm2_f_bbbb_ovvv += einsum(x357, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0000000000000404 - rdm2_f_bbbb_vovv = np.zeros((nvir[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - rdm2_f_bbbb_vovv += einsum(x357, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0000000000000404 - del x357 - x358 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x358 += einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), x114, (0, 1, 2, 6, 7, 5), (6, 7, 3, 4)) * -1.0 - del x114 - rdm2_f_bbbb_ovvv += einsum(x358, (0, 1, 2, 3), (0, 1, 3, 2)) * -6.000000000000116 - rdm2_f_bbbb_vovv += einsum(x358, (0, 1, 2, 3), (1, 0, 3, 2)) * 6.000000000000116 - del x358 - x359 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x359 += einsum(l1.bb, (0, 1), t2.bbbb, (2, 1, 3, 4), (2, 0, 3, 4)) - rdm2_f_bbbb_ovvv += einsum(x359, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - rdm2_f_bbbb_vovv += einsum(x359, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - del x359 - x360 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x360 += einsum(l2.bbbb, (0, 1, 2, 3), t3.bbbbbb, (4, 2, 3, 5, 6, 1), (4, 0, 5, 6)) - rdm2_f_bbbb_ovvv += einsum(x360, (0, 1, 2, 3), (0, 1, 3, 2)) * -6.0 - rdm2_f_bbbb_vovv += einsum(x360, (0, 1, 2, 3), (1, 0, 3, 2)) * 6.0 - del x360 - x361 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x361 += einsum(l2.abab, (0, 1, 2, 3), t3.babbab, (4, 2, 3, 5, 0, 6), (4, 1, 5, 6)) - rdm2_f_bbbb_ovvv += einsum(x361, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - rdm2_f_bbbb_vovv += einsum(x361, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - del x361 - x362 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x362 += einsum(t2.bbbb, (0, 1, 2, 3), x145, (1, 4, 3, 5), (0, 4, 5, 2)) * -1.0 - del x145 - x363 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x363 += einsum(t2.bbbb, (0, 1, 2, 3), x146, (1, 4, 3, 5), (0, 4, 2, 5)) - del x146 - x364 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x364 += einsum(t2.abab, (0, 1, 2, 3), x99, (4, 5, 0, 2), (1, 4, 5, 3)) - del x99 - x365 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x365 += einsum(t2.abab, (0, 1, 2, 3), x100, (4, 5, 0, 2), (1, 4, 3, 5)) - del x100 - x366 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x366 += einsum(x244, (0, 1, 2, 3), (0, 1, 2, 3)) - del x244 - x366 += einsum(x245, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.25 - del x245 - x366 += einsum(x246, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.25 - del x246 - x366 += einsum(x247, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.5 - del x247 - x366 += einsum(x248, (0, 1, 2, 3), (0, 1, 2, 3)) - del x248 - x366 += einsum(x249, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - del x249 - x366 += einsum(x250, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.25 - del x250 - x367 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x367 += einsum(t1.bb, (0, 1), x366, (0, 2, 3, 4), (2, 3, 4, 1)) * 4.0 - del x366 - x368 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x368 += einsum(x362, (0, 1, 2, 3), (0, 1, 2, 3)) * -12.0 - del x362 - x368 += einsum(x363, (0, 1, 2, 3), (0, 1, 2, 3)) * -4.0 - del x363 - x368 += einsum(x364, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - del x364 - x368 += einsum(x365, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x365 - x368 += einsum(x367, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x367 - x368 += einsum(t1.bb, (0, 1), x335, (2, 3), (0, 2, 1, 3)) - del x335 - rdm2_f_bbbb_ovvv += einsum(x368, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_bbbb_ovvv += einsum(x368, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_bbbb_vovv += einsum(x368, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - rdm2_f_bbbb_vovv += einsum(x368, (0, 1, 2, 3), (1, 0, 3, 2)) - del x368 - x369 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x369 += einsum(x38, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.3333333333333333 - x369 += einsum(x40, (0, 1, 2, 3), (0, 1, 2, 3)) - x369 += einsum(x41, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.3333333333333333 - x370 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x370 += einsum(t2.bbbb, (0, 1, 2, 3), x369, (0, 1, 4, 5), (4, 5, 2, 3)) * 6.0 - del x369 - rdm2_f_bbbb_ovvv += einsum(x370, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_bbbb_vovv += einsum(x370, (0, 1, 2, 3), (1, 0, 3, 2)) - del x370 - x371 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x371 += einsum(x38, (0, 1, 2, 3), (1, 0, 2, 3)) - del x38 - x371 += einsum(x40, (0, 1, 2, 3), (0, 1, 2, 3)) * -3.0 - del x40 - x371 += einsum(x41, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x41 - x372 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x372 += einsum(t1.bb, (0, 1), x371, (0, 2, 3, 4), (2, 3, 4, 1)) * 0.3333333333333333 - rdm2_f_bbbb_ovvv += einsum(t1.bb, (0, 1), x372, (0, 2, 3, 4), (2, 3, 4, 1)) * -6.0 - del x372 - x373 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x373 += einsum(x236, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - del x236 - x373 += einsum(x237, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - del x237 - x373 += einsum(x238, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.75 - del x238 - x373 += einsum(x239, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - del x239 - x373 += einsum(x240, (0, 1, 2, 3), (0, 1, 2, 3)) - del x240 - x373 += einsum(x241, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - del x241 - x373 += einsum(x242, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.75 - del x242 - x373 += einsum(t1.bb, (0, 1), x235, (0, 2, 3, 4), (2, 1, 3, 4)) * -0.25 - del x235 - rdm2_f_abab_vovv += einsum(t1.aa, (0, 1), x373, (2, 3, 0, 4), (4, 2, 1, 3)) * 4.0 - del x373 - x374 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x374 += einsum(x255, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - del x255 - x374 += einsum(x256, (0, 1, 2, 3), (0, 1, 2, 3)) - del x256 - x374 += einsum(x257, (0, 1, 2, 3), (0, 1, 2, 3)) - del x257 - x374 += einsum(x258, (0, 1, 2, 3), (0, 1, 2, 3)) - del x258 - x374 += einsum(x259, (0, 1, 2, 3), (0, 1, 2, 3)) - del x259 - rdm2_f_abab_vovv += einsum(t1.bb, (0, 1), x374, (0, 2, 3, 4), (3, 2, 4, 1)) * -2.0 - del x374 - x375 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x375 += einsum(x331, (0, 1), (0, 1)) * 0.5000000000000202 - del x331 - x375 += einsum(x207, (0, 1), (0, 1)) * 0.5000000000000202 - del x207 - x375 += einsum(x208, (0, 1), (0, 1)) * 1.0000000000000404 - del x208 - x375 += einsum(x209, (0, 1), (0, 1)) * 0.5000000000000002 - del x209 - x375 += einsum(x210, (0, 1), (0, 1)) - del x210 - x375 += einsum(x211, (0, 1), (0, 1)) * 1.4999999999999998 - del x211 - rdm2_f_abab_vovv += einsum(t1.bb, (0, 1), x375, (2, 3), (2, 0, 3, 1)) * 1.9999999999999194 - del x375 - x376 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x376 += einsum(t1.bb, (0, 1), x371, (0, 2, 3, 4), (2, 3, 4, 1)) - del x371 - rdm2_f_bbbb_vovv += einsum(t1.bb, (0, 1), x376, (0, 2, 3, 4), (3, 2, 1, 4)) * -2.0 - del x376 - x377 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x377 += einsum(t1.aa, (0, 1), l2.aaaa, (2, 3, 4, 0), (4, 2, 3, 1)) - rdm2_f_aaaa_vvov += einsum(x377, (0, 1, 2, 3), (2, 1, 0, 3)) * -2.0 - rdm2_f_aaaa_vvvo += einsum(x377, (0, 1, 2, 3), (2, 1, 3, 0)) * 2.0 - rdm2_f_aaaa_vvvv += einsum(t1.aa, (0, 1), x377, (0, 2, 3, 4), (2, 3, 1, 4)) * 2.0 - del x377 - x378 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x378 += einsum(t1.bb, (0, 1), l2.bbbb, (2, 3, 4, 0), (4, 2, 3, 1)) - rdm2_f_bbbb_vvov += einsum(x378, (0, 1, 2, 3), (2, 1, 0, 3)) * -2.0 - rdm2_f_bbbb_vvvo += einsum(x378, (0, 1, 2, 3), (2, 1, 3, 0)) * 2.0 - rdm2_f_bbbb_vvvv += einsum(t1.bb, (0, 1), x378, (0, 2, 3, 4), (2, 3, 1, 4)) * 2.0 - del x378 - x379 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x379 += einsum(t1.aa, (0, 1), l2.abab, (2, 3, 0, 4), (4, 3, 2, 1)) - rdm2_f_abab_vvvo += einsum(x379, (0, 1, 2, 3), (2, 1, 3, 0)) - x380 = np.zeros((nvir[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x380 += einsum(t1.aa, (0, 1), x205, (0, 2, 3, 4), (2, 3, 4, 1)) * 2.0 - del x205 - rdm2_f_aaaa_vvvv += einsum(x380, (0, 1, 2, 3), (0, 1, 3, 2)) - rdm2_f_aaaa_vvvv += einsum(x380, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x380 - x381 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x381 += einsum(x379, (0, 1, 2, 3), (0, 1, 2, 3)) - del x379 - x381 += einsum(x161, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x161 - x381 += einsum(x162, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x162 - rdm2_f_abab_vvvv += einsum(t1.bb, (0, 1), x381, (0, 2, 3, 4), (3, 2, 4, 1)) - del x381 - x382 = np.zeros((nvir[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x382 += einsum(t1.bb, (0, 1), x304, (0, 2, 3, 4), (2, 3, 4, 1)) * 6.0 - del x304 - rdm2_f_bbbb_vvvv += einsum(x382, (0, 1, 2, 3), (0, 1, 3, 2)) - rdm2_f_bbbb_vvvv += einsum(x382, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x382 +def make_rdm2_f(l1=None, l2=None, l3=None, t1=None, t2=None, t3=None, **kwargs): + """ + Code generated by `albert` 0.0.0 on 2024-10-22T13:24:43.753719. - rdm2_f_aaaa = pack_2e(rdm2_f_aaaa_oooo, rdm2_f_aaaa_ooov, rdm2_f_aaaa_oovo, rdm2_f_aaaa_ovoo, rdm2_f_aaaa_vooo, rdm2_f_aaaa_oovv, rdm2_f_aaaa_ovov, rdm2_f_aaaa_ovvo, rdm2_f_aaaa_voov, rdm2_f_aaaa_vovo, rdm2_f_aaaa_vvoo, rdm2_f_aaaa_ovvv, rdm2_f_aaaa_vovv, rdm2_f_aaaa_vvov, rdm2_f_aaaa_vvvo, rdm2_f_aaaa_vvvv) - rdm2_f_abab = pack_2e(rdm2_f_abab_oooo, rdm2_f_abab_ooov, rdm2_f_abab_oovo, rdm2_f_abab_ovoo, rdm2_f_abab_vooo, rdm2_f_abab_oovv, rdm2_f_abab_ovov, rdm2_f_abab_ovvo, rdm2_f_abab_voov, rdm2_f_abab_vovo, rdm2_f_abab_vvoo, rdm2_f_abab_ovvv, rdm2_f_abab_vovv, rdm2_f_abab_vvov, rdm2_f_abab_vvvo, rdm2_f_abab_vvvv) - rdm2_f_bbbb = pack_2e(rdm2_f_bbbb_oooo, rdm2_f_bbbb_ooov, rdm2_f_bbbb_oovo, rdm2_f_bbbb_ovoo, rdm2_f_bbbb_vooo, rdm2_f_bbbb_oovv, rdm2_f_bbbb_ovov, rdm2_f_bbbb_ovvo, rdm2_f_bbbb_voov, rdm2_f_bbbb_vovo, rdm2_f_bbbb_vvoo, rdm2_f_bbbb_ovvv, rdm2_f_bbbb_vovv, rdm2_f_bbbb_vvov, rdm2_f_bbbb_vvvo, rdm2_f_bbbb_vvvv) + Parameters + ---------- + l1 : Namespace of arrays + L1 amplitudes. + l2 : Namespace of arrays + L2 amplitudes. + l3 : Namespace of arrays + L3 amplitudes. + t1 : Namespace of arrays + T1 amplitudes. + t2 : Namespace of arrays + T2 amplitudes. + t3 : Namespace of arrays + T3 amplitudes. - rdm2_f_aaaa = np.transpose(rdm2_f_aaaa, (0, 2, 1, 3)) - rdm2_f_aabb = np.transpose(rdm2_f_abab, (0, 2, 1, 3)) - rdm2_f_bbbb = np.transpose(rdm2_f_bbbb, (0, 2, 1, 3)) + Returns + ------- + rdm2 : Namespace of arrays + Two-particle reduced density matrix. + """ - rdm2_f.aaaa = rdm2_f_aaaa - rdm2_f.aabb = rdm2_f_aabb - rdm2_f.bbbb = rdm2_f_bbbb + rdm2 = Namespace() + rdm2.aaaa = Namespace() + rdm2.abab = Namespace() + rdm2.bbbb = Namespace() + delta = Namespace( + aa=Namespace(oo=np.eye(t2.aaaa.shape[0]), vv=np.eye(t2.aaaa.shape[-1])), + bb=Namespace(oo=np.eye(t2.bbbb.shape[0]), vv=np.eye(t2.bbbb.shape[-1])), + ) + rdm2.aaaa.vvoo = np.copy(l2.aaaa) * 2 + rdm2.abab.vvoo = np.copy(l2.abab) + rdm2.bbbb.vvoo = np.copy(l2.bbbb) * 2 + rdm2.aaaa.ovoo = einsum(delta.aa.oo, (0, 1), l1.aa, (2, 3), (0, 2, 3, 1)) * -1 + rdm2.aaaa.ovoo += einsum(l1.aa, (0, 1), delta.aa.oo, (2, 3), (2, 0, 3, 1)) + tmp11 = einsum(t1.aa, (0, 1), l2.aaaa, (2, 1, 3, 4), (3, 4, 0, 2)) + rdm2.aaaa.ovoo += np.transpose(tmp11, (2, 3, 1, 0)) * -2 + tmp14 = einsum(t2.abab, (0, 1, 2, 3), l3.abaaba, (4, 3, 2, 5, 1, 6), (5, 6, 0, 4)) + rdm2.aaaa.ovoo += np.transpose(tmp14, (2, 3, 1, 0)) * -2 + tmp13 = einsum(t2.aaaa, (0, 1, 2, 3), l3.aaaaaa, (4, 2, 3, 5, 6, 1), (5, 6, 0, 4)) + rdm2.aaaa.ovoo += np.transpose(tmp13, (2, 3, 1, 0)) * -6 + rdm2.aaaa.vooo = einsum(delta.aa.oo, (0, 1), l1.aa, (2, 3), (2, 0, 3, 1)) + rdm2.aaaa.vooo += einsum(l1.aa, (0, 1), delta.aa.oo, (2, 3), (0, 2, 3, 1)) * -1 + rdm2.aaaa.vooo += np.transpose(tmp13, (3, 2, 1, 0)) * 6 + rdm2.aaaa.vooo += np.transpose(tmp11, (3, 2, 1, 0)) * 2 + rdm2.aaaa.vooo += np.transpose(tmp14, (3, 2, 1, 0)) * 2 + tmp185 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t2.aaaa, (3, 5, 6, 2), (4, 0, 6, 1)) + rdm2.abab.vvvo = np.copy(np.transpose(tmp185, (1, 3, 2, 0))) * 2 + tmp186 = einsum(t2.abab, (0, 1, 2, 3), l3.babbab, (4, 5, 3, 6, 0, 1), (6, 5, 2, 4)) + rdm2.abab.vvvo += np.transpose(tmp186, (1, 3, 2, 0)) * 2 + rdm2.abab.vvvo += einsum(l2.abab, (0, 1, 2, 3), t1.aa, (2, 4), (0, 1, 4, 3)) + tmp79 = einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), t2.aaaa, (4, 5, 6, 2), (3, 0, 1, 6)) + rdm2.aaaa.vvov = np.copy(np.transpose(tmp79, (2, 1, 0, 3))) * -6 + tmp80 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t2.abab, (5, 4, 6, 1), (3, 0, 2, 6)) + rdm2.aaaa.vvov += np.transpose(tmp80, (2, 1, 0, 3)) * -2 + tmp418 = einsum(l2.aaaa, (0, 1, 2, 3), t1.aa, (3, 4), (2, 0, 1, 4)) + rdm2.aaaa.vvov += np.transpose(tmp418, (2, 1, 0, 3)) * -2 + tmp419 = einsum(t1.bb, (0, 1), l2.abab, (2, 3, 4, 0), (4, 2, 3, 1)) + rdm2.abab.vvov = np.copy(np.transpose(tmp419, (1, 2, 0, 3))) + tmp117 = einsum(t2.abab, (0, 1, 2, 3), l3.abaaba, (4, 5, 2, 6, 1, 0), (6, 4, 5, 3)) + rdm2.abab.vvov += np.transpose(tmp117, (1, 2, 0, 3)) * 2 + tmp118 = einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t2.bbbb, (3, 5, 6, 2), (4, 1, 0, 6)) + rdm2.abab.vvov += np.transpose(tmp118, (1, 2, 0, 3)) * 2 + tmp154 = einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t2.abab, (4, 5, 1, 6), (3, 0, 2, 6)) + rdm2.bbbb.vvov = np.copy(np.transpose(tmp154, (2, 1, 0, 3))) * -2 + tmp155 = einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), t2.bbbb, (4, 5, 6, 2), (3, 0, 1, 6)) + rdm2.bbbb.vvov += np.transpose(tmp155, (2, 1, 0, 3)) * -6 + tmp420 = einsum(l2.bbbb, (0, 1, 2, 3), t1.bb, (3, 4), (2, 0, 1, 4)) + rdm2.bbbb.vvov += np.transpose(tmp420, (2, 1, 0, 3)) * -2 + rdm2.aaaa.vvvo = np.copy(np.transpose(tmp79, (2, 1, 3, 0))) * 6 + rdm2.aaaa.vvvo += np.transpose(tmp80, (2, 1, 3, 0)) * 2 + rdm2.aaaa.vvvo += np.transpose(tmp418, (2, 1, 3, 0)) * 2 + rdm2.bbbb.vvvo = np.copy(np.transpose(tmp154, (2, 1, 3, 0))) * 2 + rdm2.bbbb.vvvo += np.transpose(tmp155, (2, 1, 3, 0)) * 6 + rdm2.bbbb.vvvo += np.transpose(tmp420, (2, 1, 3, 0)) * 2 + rdm2.abab.ovoo = einsum(l1.bb, (0, 1), delta.aa.oo, (2, 3), (2, 0, 3, 1)) + tmp29 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t2.aaaa, (6, 5, 0, 2), (3, 6, 4, 1)) + rdm2.abab.ovoo += np.transpose(tmp29, (1, 3, 0, 2)) * -2 + tmp198 = einsum(t1.aa, (0, 1), l2.abab, (1, 2, 3, 4), (3, 0, 4, 2)) + rdm2.abab.ovoo += np.transpose(tmp198, (1, 3, 0, 2)) * -1 + tmp30 = einsum(t2.abab, (0, 1, 2, 3), l3.babbab, (4, 2, 3, 5, 6, 1), (6, 0, 5, 4)) + rdm2.abab.ovoo += np.transpose(tmp30, (1, 3, 0, 2)) * -2 + rdm2.bbbb.ovoo = einsum(l1.bb, (0, 1), delta.bb.oo, (2, 3), (2, 0, 1, 3)) * -1 + rdm2.bbbb.ovoo += einsum(delta.bb.oo, (0, 1), l1.bb, (2, 3), (0, 2, 1, 3)) + tmp40 = einsum(t1.bb, (0, 1), l2.bbbb, (2, 1, 3, 4), (3, 4, 0, 2)) + rdm2.bbbb.ovoo += np.transpose(tmp40, (2, 3, 1, 0)) * -2 + tmp42 = einsum(t2.abab, (0, 1, 2, 3), l3.babbab, (4, 2, 3, 5, 0, 6), (5, 6, 1, 4)) + rdm2.bbbb.ovoo += np.transpose(tmp42, (2, 3, 1, 0)) * -2 + tmp43 = einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), t2.bbbb, (6, 5, 1, 2), (3, 4, 6, 0)) + rdm2.bbbb.ovoo += np.transpose(tmp43, (2, 3, 1, 0)) * -6 + rdm2.abab.vooo = einsum(delta.bb.oo, (0, 1), l1.aa, (2, 3), (2, 0, 3, 1)) + tmp33 = einsum(t2.bbbb, (0, 1, 2, 3), l3.babbab, (2, 4, 3, 5, 6, 1), (6, 5, 0, 4)) + rdm2.abab.vooo += np.transpose(tmp33, (3, 2, 0, 1)) * -2 + tmp25 = einsum(l2.abab, (0, 1, 2, 3), t1.bb, (4, 1), (2, 3, 4, 0)) + rdm2.abab.vooo += np.transpose(tmp25, (3, 2, 0, 1)) * -1 + tmp32 = einsum(t2.abab, (0, 1, 2, 3), l3.abaaba, (4, 3, 2, 5, 6, 0), (5, 6, 1, 4)) + rdm2.abab.vooo += np.transpose(tmp32, (3, 2, 0, 1)) * -2 + rdm2.bbbb.vooo = einsum(l1.bb, (0, 1), delta.bb.oo, (2, 3), (0, 2, 1, 3)) + rdm2.bbbb.vooo += einsum(delta.bb.oo, (0, 1), l1.bb, (2, 3), (2, 0, 1, 3)) * -1 + rdm2.bbbb.vooo += np.transpose(tmp40, (3, 2, 1, 0)) * 2 + rdm2.bbbb.vooo += np.transpose(tmp42, (3, 2, 1, 0)) * 2 + rdm2.bbbb.vooo += np.transpose(tmp43, (3, 2, 1, 0)) * 6 + tmp236 = einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), l3.abaaba, (6, 4, 7, 0, 1, 2), (6, 7, 3, 5)) + rdm2.aaaa.vvvv = np.copy(np.transpose(tmp236, (1, 0, 3, 2))) * 2 + tmp235 = einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), t3.aaaaaa, (3, 4, 5, 6, 7, 2), (0, 1, 6, 7)) + rdm2.aaaa.vvvv += np.transpose(tmp235, (1, 0, 3, 2)) * 6 + tmp241 = einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (2, 3, 4, 5), (0, 1, 4, 5)) + rdm2.aaaa.vvvv += np.transpose(tmp241, (1, 0, 3, 2)) * 2 + tmp421 = np.copy(np.transpose(tmp418, (0, 2, 1, 3))) * -1 + del tmp418 + tmp421 += np.transpose(tmp79, (0, 2, 1, 3)) * -3 + tmp421 += np.transpose(tmp80, (0, 2, 1, 3)) * -1 + rdm2.aaaa.vvvv += einsum(t1.aa, (0, 1), tmp421, (0, 2, 3, 4), (3, 2, 1, 4)) * -2 + del tmp421 + tmp81 = np.copy(np.transpose(tmp79, (0, 2, 1, 3))) * -1 + tmp81 += np.transpose(tmp80, (0, 2, 1, 3)) * -0.3333333333333333 + rdm2.aaaa.vvvv += einsum(tmp81, (0, 1, 2, 3), t1.aa, (0, 4), (2, 1, 3, 4)) * 6 + tmp343 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), l3.babbab, (6, 4, 7, 0, 1, 2), (6, 7, 3, 5)) + rdm2.bbbb.vvvv = np.copy(np.transpose(tmp343, (1, 0, 3, 2))) * 2 + tmp344 = einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), l3.bbbbbb, (6, 7, 5, 0, 1, 2), (6, 7, 3, 4)) + rdm2.bbbb.vvvv += np.transpose(tmp344, (1, 0, 3, 2)) * 6 + tmp349 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (4, 5, 0, 1), (4, 5, 2, 3)) + rdm2.bbbb.vvvv += np.transpose(tmp349, (1, 0, 3, 2)) * 2 + tmp423 = np.copy(np.transpose(tmp420, (0, 2, 1, 3))) * -1 + del tmp420 + tmp423 += np.transpose(tmp154, (0, 2, 1, 3)) * -1 + tmp423 += np.transpose(tmp155, (0, 2, 1, 3)) * -3 + rdm2.bbbb.vvvv += einsum(tmp423, (0, 1, 2, 3), t1.bb, (0, 4), (2, 1, 4, 3)) * -2 + del tmp423 + tmp156 = np.copy(np.transpose(tmp154, (0, 2, 1, 3))) * -0.3333333333333333 + tmp156 += np.transpose(tmp155, (0, 2, 1, 3)) * -1 + rdm2.bbbb.vvvv += einsum(tmp156, (0, 1, 2, 3), t1.bb, (0, 4), (2, 1, 3, 4)) * 6 + tmp283 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (3, 4, 5, 6, 7, 2), (0, 6, 1, 7)) + rdm2.abab.vvvv = np.copy(np.transpose(tmp283, (0, 2, 1, 3))) * 2 + tmp284 = einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (3, 4, 5, 6, 7, 2), (1, 7, 0, 6)) + rdm2.abab.vvvv += np.transpose(tmp284, (0, 2, 1, 3)) * 2 + tmp287 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 4, 5), (0, 4, 1, 5)) + rdm2.abab.vvvv += np.transpose(tmp287, (0, 2, 1, 3)) + tmp422 = np.copy(tmp419) * 0.5 + del tmp419 + tmp422 += tmp117 + tmp422 += tmp118 + rdm2.abab.vvvv += einsum(tmp422, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3)) * 2 + del tmp422 + tmp187 = np.copy(tmp185) + del tmp185 + tmp187 += tmp186 + del tmp186 + rdm2.abab.vvvv += einsum(t1.bb, (0, 1), tmp187, (0, 2, 3, 4), (2, 4, 3, 1)) * 2 + tmp180 = einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), l3.abaaba, (4, 6, 5, 1, 7, 2), (0, 7, 3, 6)) + rdm2.abab.ovvo = np.copy(np.transpose(tmp180, (0, 3, 2, 1))) * 3 + tmp181 = einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), l3.babbab, (6, 5, 4, 7, 2, 1), (0, 7, 3, 6)) + rdm2.abab.ovvo += np.transpose(tmp181, (0, 3, 2, 1)) * 4 + rdm2.abab.ovvo += einsum(l1.bb, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1)) + tmp182 = einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), t3.babbab, (4, 6, 5, 1, 7, 2), (6, 3, 7, 0)) + rdm2.abab.ovvo += np.transpose(tmp182, (0, 3, 2, 1)) * 3 + tmp179 = einsum(t2.abab, (0, 1, 2, 3), l2.bbbb, (4, 3, 5, 1), (0, 5, 2, 4)) + rdm2.abab.ovvo += np.transpose(tmp179, (0, 3, 2, 1)) * 2 + tmp178 = einsum(l2.abab, (0, 1, 2, 3), t2.aaaa, (4, 2, 5, 0), (4, 3, 5, 1)) + rdm2.abab.ovvo += np.transpose(tmp178, (0, 3, 2, 1)) * 2 + rdm2.abab.ovvo += einsum(tmp187, (0, 1, 2, 3), t1.aa, (4, 1), (4, 3, 2, 0)) * -2 + tmp381 = np.copy(tmp198) * 0.5 + tmp381 += tmp29 + tmp381 += tmp30 + rdm2.abab.ovvo += einsum(tmp381, (0, 1, 2, 3), t1.aa, (0, 4), (1, 3, 4, 2)) * -2 + del tmp381 + tmp112 = einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), l3.aaaaaa, (6, 3, 5, 7, 0, 2), (7, 1, 6, 4)) + rdm2.abab.voov = np.copy(np.transpose(tmp112, (2, 1, 0, 3))) * 3 + tmp113 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), l3.abaaba, (6, 5, 4, 7, 2, 1), (7, 0, 6, 3)) + rdm2.abab.voov += np.transpose(tmp113, (2, 1, 0, 3)) * 4 + rdm2.abab.voov += einsum(t1.bb, (0, 1), l1.aa, (2, 3), (2, 0, 3, 1)) + tmp114 = einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), l3.babbab, (4, 6, 5, 1, 7, 2), (7, 0, 6, 3)) + rdm2.abab.voov += np.transpose(tmp114, (2, 1, 0, 3)) * 3 + tmp111 = einsum(t2.bbbb, (0, 1, 2, 3), l2.abab, (4, 3, 5, 1), (5, 0, 4, 2)) + rdm2.abab.voov += np.transpose(tmp111, (2, 1, 0, 3)) * 2 + tmp110 = einsum(l2.aaaa, (0, 1, 2, 3), t2.abab, (3, 4, 1, 5), (2, 4, 0, 5)) + rdm2.abab.voov += np.transpose(tmp110, (2, 1, 0, 3)) * 2 + tmp119 = np.copy(tmp117) + del tmp117 + tmp119 += tmp118 + del tmp118 + rdm2.abab.voov += einsum(t1.bb, (0, 1), tmp119, (2, 3, 1, 4), (3, 0, 2, 4)) * -2 + tmp382 = np.copy(tmp25) * 0.5 + tmp382 += tmp32 + tmp382 += tmp33 + rdm2.abab.voov += einsum(t1.bb, (0, 1), tmp382, (2, 0, 3, 4), (4, 3, 2, 1)) * -2 + tmp6 = np.copy(delta.aa.oo) * -0.5000000000000202 + tmp0 = einsum(t1.aa, (0, 1), l1.aa, (1, 2), (2, 0)) + tmp6 += tmp0 * 0.5000000000000202 + tmp1 = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (2, 3, 4, 1), (4, 0)) + tmp6 += tmp1 + tmp2 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 0, 1), (2, 4)) + tmp6 += tmp2 * 0.5000000000000202 + tmp3 = einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), l3.aaaaaa, (3, 4, 5, 6, 1, 2), (6, 0)) + tmp6 += tmp3 * 1.4999999999999998 + tmp4 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (6, 4, 5, 0, 1, 2), (3, 6)) + tmp6 += tmp4 + tmp5 = einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (3, 6, 5, 0, 1, 2), (4, 6)) + tmp6 += tmp5 * 0.5000000000000002 + rdm2.aaaa.oooo = einsum(tmp6, (0, 1), delta.aa.oo, (2, 3), (2, 1, 3, 0)) * -2 + rdm2.aaaa.oooo += einsum(tmp6, (0, 1), delta.aa.oo, (2, 3), (1, 2, 3, 0)) * 2 + del tmp6 + tmp7 = np.copy(tmp0) + tmp7 += tmp1 * 2 + tmp7 += tmp2 + tmp7 += tmp3 * 3 + tmp7 += tmp4 * 2 + tmp7 += tmp5 + rdm2.aaaa.oooo += einsum(delta.aa.oo, (0, 1), tmp7, (2, 3), (3, 0, 2, 1)) * -1 + rdm2.aaaa.oooo += einsum(delta.aa.oo, (0, 1), tmp7, (2, 3), (0, 3, 2, 1)) + tmp8 = einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), l3.aaaaaa, (3, 4, 5, 6, 7, 2), (6, 7, 0, 1)) + rdm2.aaaa.oooo += np.transpose(tmp8, (3, 2, 1, 0)) * 6 + tmp9 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (6, 4, 7, 0, 1, 2), (3, 5, 6, 7)) + rdm2.aaaa.oooo += np.transpose(tmp9, (3, 2, 1, 0)) * 2 + tmp10 = einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 5, 0, 1), (2, 3, 4, 5)) + rdm2.aaaa.oooo += np.transpose(tmp10, (3, 2, 1, 0)) * 2 + tmp12 = einsum(tmp11, (0, 1, 2, 3), t1.aa, (4, 3), (0, 1, 2, 4)) * -1 + rdm2.aaaa.oooo += np.transpose(tmp12, (3, 2, 1, 0)) * 2 + tmp15 = np.copy(np.transpose(tmp13, (1, 0, 2, 3))) * -1 + tmp15 += np.transpose(tmp14, (1, 0, 2, 3)) * -0.3333333333333333 + tmp16 = einsum(t1.aa, (0, 1), tmp15, (2, 3, 4, 1), (0, 2, 3, 4)) * 3 + rdm2.aaaa.oooo += np.transpose(tmp16, (3, 0, 2, 1)) * 2 + rdm2.aaaa.oooo += np.transpose(tmp16, (0, 3, 2, 1)) * -2 + tmp35 = np.copy(delta.bb.oo) * -0.3333333333333468 + tmp17 = einsum(l1.bb, (0, 1), t1.bb, (2, 0), (1, 2)) + tmp35 += tmp17 * 0.3333333333333468 + tmp18 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 3, 0, 4), (4, 1)) + tmp35 += tmp18 * 0.3333333333333468 + tmp19 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (2, 3, 4, 1), (4, 0)) + tmp35 += tmp19 * 0.6666666666666936 + tmp20 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (3, 6, 5, 0, 1, 2), (4, 6)) + tmp35 += tmp20 * 0.33333333333333354 + tmp21 = einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (6, 4, 5, 0, 1, 2), (3, 6)) + tmp35 += tmp21 * 0.6666666666666667 + tmp22 = einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), t3.bbbbbb, (6, 4, 5, 0, 1, 2), (3, 6)) + tmp35 += tmp22 + rdm2.bbbb.oooo = einsum(delta.bb.oo, (0, 1), tmp35, (2, 3), (0, 3, 1, 2)) * -3 + rdm2.bbbb.oooo += einsum(tmp35, (0, 1), delta.bb.oo, (2, 3), (1, 2, 3, 0)) * 3 + del tmp35 + tmp36 = np.copy(tmp17) * 0.5 + tmp36 += tmp18 * 0.5 + tmp36 += tmp19 + tmp36 += tmp20 * 0.49999999999998007 + tmp36 += tmp21 + tmp36 += tmp22 * 1.4999999999999394 + rdm2.bbbb.oooo += einsum(delta.bb.oo, (0, 1), tmp36, (2, 3), (3, 0, 2, 1)) * -2 + rdm2.bbbb.oooo += einsum(tmp36, (0, 1), delta.bb.oo, (2, 3), (2, 1, 0, 3)) * 2 + tmp37 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), l3.babbab, (3, 4, 5, 6, 1, 7), (6, 7, 0, 2)) + rdm2.bbbb.oooo += np.transpose(tmp37, (3, 2, 1, 0)) * 2 + tmp38 = einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), t3.bbbbbb, (6, 7, 5, 0, 1, 2), (3, 4, 6, 7)) + rdm2.bbbb.oooo += np.transpose(tmp38, (3, 2, 1, 0)) * 6 + tmp39 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (2, 3, 4, 5), (4, 5, 0, 1)) + rdm2.bbbb.oooo += np.transpose(tmp39, (3, 2, 1, 0)) * 2 + tmp41 = einsum(t1.bb, (0, 1), tmp40, (2, 3, 4, 1), (2, 3, 4, 0)) * -1 + rdm2.bbbb.oooo += np.transpose(tmp41, (3, 2, 1, 0)) * 2 + tmp44 = np.copy(np.transpose(tmp42, (1, 0, 2, 3))) * -1 + tmp44 += np.transpose(tmp43, (1, 0, 2, 3)) * -3 + tmp45 = einsum(tmp44, (0, 1, 2, 3), t1.bb, (4, 3), (4, 0, 1, 2)) + rdm2.bbbb.oooo += np.transpose(tmp45, (3, 0, 2, 1)) * 2 + rdm2.bbbb.oooo += np.transpose(tmp45, (0, 3, 2, 1)) * -2 + tmp374 = einsum(l1.bb, (0, 1), t1.bb, (1, 2), (0, 2)) + tmp375 = np.copy(tmp374) + tmp100 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 0, 4), (1, 4)) + tmp375 += tmp100 + tmp101 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (4, 3, 0, 1), (4, 2)) + tmp375 += tmp101 * 2 + tmp102 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (3, 4, 5, 0, 6, 2), (1, 6)) + tmp375 += tmp102 + tmp103 = einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (3, 4, 5, 6, 1, 2), (0, 6)) + tmp375 += tmp103 * 2 + tmp104 = einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), l3.bbbbbb, (6, 4, 5, 0, 1, 2), (6, 3)) + tmp375 += tmp104 * 3 + rdm2.abab.ovov = einsum(delta.aa.oo, (0, 1), tmp375, (2, 3), (0, 2, 1, 3)) + tmp129 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), l3.babbab, (6, 4, 5, 0, 7, 2), (7, 1, 6, 3)) + rdm2.abab.ovov += np.transpose(tmp129, (1, 2, 0, 3)) * -2 + tmp127 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 0, 5), (2, 4, 1, 5)) + rdm2.abab.ovov += np.transpose(tmp127, (1, 2, 0, 3)) * -1 + tmp128 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (6, 4, 5, 0, 7, 2), (3, 6, 1, 7)) + rdm2.abab.ovov += np.transpose(tmp128, (1, 2, 0, 3)) * -2 + rdm2.abab.ovov += einsum(t1.aa, (0, 1), tmp119, (2, 1, 3, 4), (0, 3, 2, 4)) * -2 + tmp376 = np.copy(tmp198) + del tmp198 + tmp376 += tmp29 * 2 + tmp376 += tmp30 * 2 + rdm2.abab.ovov += einsum(t1.bb, (0, 1), tmp376, (2, 3, 0, 4), (3, 4, 2, 1)) * -1 + tmp370 = einsum(t1.aa, (0, 1), l1.aa, (2, 0), (2, 1)) + tmp383 = np.copy(tmp370) * 0.5 + tmp59 = einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (2, 3, 4, 1), (0, 4)) + tmp383 += tmp59 + tmp60 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 4, 1), (0, 4)) + tmp383 += tmp60 * 0.5 + tmp61 = einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), t3.aaaaaa, (3, 4, 5, 6, 1, 2), (0, 6)) + tmp383 += tmp61 * 1.4999999999999394 + tmp62 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (3, 4, 5, 6, 1, 2), (0, 6)) + tmp383 += tmp62 + tmp63 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), l3.babbab, (3, 6, 5, 0, 1, 2), (6, 4)) + tmp383 += tmp63 * 0.49999999999998007 + rdm2.abab.vovo = einsum(tmp383, (0, 1), delta.bb.oo, (2, 3), (0, 2, 1, 3)) * 2 + tmp190 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 5, 1), (3, 4, 0, 5)) + rdm2.abab.vovo += np.transpose(tmp190, (2, 1, 3, 0)) * -1 + tmp192 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), l3.babbab, (3, 6, 5, 7, 1, 2), (7, 0, 6, 4)) + rdm2.abab.vovo += np.transpose(tmp192, (2, 1, 3, 0)) * -2 + tmp191 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (3, 6, 5, 7, 1, 2), (4, 6, 0, 7)) + rdm2.abab.vovo += np.transpose(tmp191, (2, 1, 3, 0)) * -2 + rdm2.abab.vovo += einsum(tmp187, (0, 1, 2, 3), t1.bb, (4, 3), (1, 4, 2, 0)) * -2 + tmp384 = np.copy(tmp25) + tmp384 += tmp32 * 2 + tmp384 += tmp33 * 2 + rdm2.abab.vovo += einsum(tmp384, (0, 1, 2, 3), t1.aa, (0, 4), (3, 2, 4, 1)) * -1 + del tmp384 + tmp371 = np.copy(tmp370) * 0.3333333333333468 + tmp371 += tmp59 * 0.6666666666666936 + tmp371 += tmp60 * 0.3333333333333468 + tmp371 += tmp61 + tmp371 += tmp62 * 0.6666666666666667 + tmp371 += tmp63 * 0.33333333333333354 + rdm2.aaaa.ovov = einsum(tmp371, (0, 1), delta.aa.oo, (2, 3), (2, 0, 3, 1)) * 3 + tmp75 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), l3.babbab, (3, 6, 5, 0, 7, 2), (7, 1, 6, 4)) + rdm2.aaaa.ovov += np.transpose(tmp75, (1, 2, 0, 3)) * -1 + tmp72 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 5, 1), (2, 4, 0, 5)) + rdm2.aaaa.ovov += np.transpose(tmp72, (1, 2, 0, 3)) * -1 + rdm2.aaaa.ovov += einsum(t1.aa, (0, 1), l1.aa, (2, 3), (0, 2, 3, 1)) * -1 + tmp71 = einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 3, 5, 1), (2, 4, 0, 5)) + rdm2.aaaa.ovov += np.transpose(tmp71, (1, 2, 0, 3)) * -4 + tmp74 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (6, 4, 5, 7, 1, 2), (3, 6, 0, 7)) + rdm2.aaaa.ovov += np.transpose(tmp74, (1, 2, 0, 3)) * -4 + tmp73 = einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), l3.aaaaaa, (6, 4, 5, 7, 1, 2), (7, 0, 6, 3)) + rdm2.aaaa.ovov += np.transpose(tmp73, (1, 2, 0, 3)) * -9 + tmp227 = np.copy(np.transpose(tmp79, (0, 2, 1, 3))) * -3 + del tmp79 + tmp227 += np.transpose(tmp80, (0, 2, 1, 3)) * -1 + del tmp80 + tmp372 = einsum(tmp227, (0, 1, 2, 3), t1.aa, (4, 1), (0, 4, 2, 3)) * 2 + rdm2.aaaa.ovov += np.transpose(tmp372, (1, 2, 0, 3)) * -1 + tmp83 = np.copy(np.transpose(tmp11, (1, 0, 2, 3))) * -1 + tmp83 += np.transpose(tmp13, (1, 0, 2, 3)) * -3 + tmp83 += np.transpose(tmp14, (1, 0, 2, 3)) * -1 + tmp373 = einsum(t1.aa, (0, 1), tmp83, (0, 2, 3, 4), (2, 3, 1, 4)) * 2 + rdm2.aaaa.ovov += np.transpose(tmp373, (1, 3, 0, 2)) * -1 + tmp377 = np.copy(tmp374) * 0.5000000000000202 + tmp377 += tmp100 * 0.5000000000000202 + tmp377 += tmp101 + tmp377 += tmp102 * 0.5000000000000002 + tmp377 += tmp103 + tmp377 += tmp104 * 1.4999999999999998 + rdm2.bbbb.ovov = einsum(tmp377, (0, 1), delta.bb.oo, (2, 3), (2, 0, 3, 1)) * 2 + rdm2.bbbb.ovov += einsum(t1.bb, (0, 1), l1.bb, (2, 3), (0, 2, 3, 1)) * -1 + tmp147 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 5), (3, 4, 1, 5)) + rdm2.bbbb.ovov += np.transpose(tmp147, (1, 2, 0, 3)) * -1 + tmp149 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (3, 6, 5, 0, 7, 2), (4, 6, 1, 7)) + rdm2.bbbb.ovov += np.transpose(tmp149, (1, 2, 0, 3)) * -1 + tmp151 = einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), l3.bbbbbb, (6, 4, 5, 7, 1, 2), (7, 0, 6, 3)) + rdm2.bbbb.ovov += np.transpose(tmp151, (1, 2, 0, 3)) * -9 + tmp150 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), l3.babbab, (6, 4, 5, 7, 1, 2), (7, 0, 6, 3)) + rdm2.bbbb.ovov += np.transpose(tmp150, (1, 2, 0, 3)) * -4 + tmp148 = einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 3, 5, 1), (2, 4, 0, 5)) + rdm2.bbbb.ovov += np.transpose(tmp148, (1, 2, 0, 3)) * -4 + tmp160 = np.copy(np.transpose(tmp154, (0, 2, 1, 3))) * -1 + del tmp154 + tmp160 += np.transpose(tmp155, (0, 2, 1, 3)) * -3 + del tmp155 + tmp378 = einsum(tmp160, (0, 1, 2, 3), t1.bb, (4, 1), (0, 4, 2, 3)) * 2 + rdm2.bbbb.ovov += np.transpose(tmp378, (1, 2, 0, 3)) * -1 + tmp158 = np.copy(np.transpose(tmp40, (1, 0, 2, 3))) * -1 + del tmp40 + tmp158 += np.transpose(tmp42, (1, 0, 2, 3)) * -1 + tmp158 += np.transpose(tmp43, (1, 0, 2, 3)) * -3 + tmp379 = einsum(t1.bb, (0, 1), tmp158, (0, 2, 3, 4), (2, 3, 4, 1)) * 2 + rdm2.bbbb.ovov += np.transpose(tmp379, (1, 2, 0, 3)) * -1 + tmp380 = np.copy(tmp370) * 0.5000000000000202 + tmp380 += tmp59 + tmp380 += tmp60 * 0.5000000000000202 + tmp380 += tmp61 * 1.4999999999999998 + tmp380 += tmp62 + tmp380 += tmp63 * 0.5000000000000002 + rdm2.aaaa.ovvo = einsum(tmp380, (0, 1), delta.aa.oo, (2, 3), (2, 0, 1, 3)) * -2 + rdm2.aaaa.ovvo += np.transpose(tmp75, (1, 2, 3, 0)) + rdm2.aaaa.ovvo += np.transpose(tmp72, (1, 2, 3, 0)) + rdm2.aaaa.ovvo += einsum(t1.aa, (0, 1), l1.aa, (2, 3), (0, 2, 1, 3)) + rdm2.aaaa.ovvo += np.transpose(tmp71, (1, 2, 3, 0)) * 4 + rdm2.aaaa.ovvo += np.transpose(tmp74, (1, 2, 3, 0)) * 4 + rdm2.aaaa.ovvo += np.transpose(tmp73, (1, 2, 3, 0)) * 9 + rdm2.aaaa.ovvo += np.transpose(tmp372, (1, 2, 3, 0)) + rdm2.aaaa.ovvo += np.transpose(tmp373, (1, 3, 2, 0)) + rdm2.bbbb.ovvo = einsum(delta.bb.oo, (0, 1), tmp375, (2, 3), (0, 2, 3, 1)) * -1 + rdm2.bbbb.ovvo += einsum(t1.bb, (0, 1), l1.bb, (2, 3), (0, 2, 1, 3)) + rdm2.bbbb.ovvo += np.transpose(tmp147, (1, 2, 3, 0)) + rdm2.bbbb.ovvo += np.transpose(tmp149, (1, 2, 3, 0)) + rdm2.bbbb.ovvo += np.transpose(tmp151, (1, 2, 3, 0)) * 9 + rdm2.bbbb.ovvo += np.transpose(tmp150, (1, 2, 3, 0)) * 4 + rdm2.bbbb.ovvo += np.transpose(tmp148, (1, 2, 3, 0)) * 4 + rdm2.bbbb.ovvo += np.transpose(tmp378, (1, 2, 3, 0)) + rdm2.bbbb.ovvo += np.transpose(tmp379, (1, 2, 3, 0)) + rdm2.aaaa.voov = einsum(tmp371, (0, 1), delta.aa.oo, (2, 3), (0, 2, 3, 1)) * -3 + del tmp371 + rdm2.aaaa.voov += np.transpose(tmp75, (2, 1, 0, 3)) + rdm2.aaaa.voov += np.transpose(tmp72, (2, 1, 0, 3)) + rdm2.aaaa.voov += einsum(t1.aa, (0, 1), l1.aa, (2, 3), (2, 0, 3, 1)) + rdm2.aaaa.voov += np.transpose(tmp71, (2, 1, 0, 3)) * 4 + rdm2.aaaa.voov += np.transpose(tmp74, (2, 1, 0, 3)) * 4 + rdm2.aaaa.voov += np.transpose(tmp73, (2, 1, 0, 3)) * 9 + rdm2.aaaa.voov += np.transpose(tmp372, (2, 1, 0, 3)) + rdm2.aaaa.voov += np.transpose(tmp373, (3, 1, 0, 2)) + rdm2.bbbb.voov = einsum(tmp377, (0, 1), delta.bb.oo, (2, 3), (0, 2, 3, 1)) * -2 + rdm2.bbbb.voov += einsum(t1.bb, (0, 1), l1.bb, (2, 3), (2, 0, 3, 1)) + rdm2.bbbb.voov += np.transpose(tmp147, (2, 1, 0, 3)) + rdm2.bbbb.voov += np.transpose(tmp149, (2, 1, 0, 3)) + rdm2.bbbb.voov += np.transpose(tmp151, (2, 1, 0, 3)) * 9 + rdm2.bbbb.voov += np.transpose(tmp150, (2, 1, 0, 3)) * 4 + rdm2.bbbb.voov += np.transpose(tmp148, (2, 1, 0, 3)) * 4 + rdm2.bbbb.voov += np.transpose(tmp378, (2, 1, 0, 3)) + rdm2.bbbb.voov += np.transpose(tmp379, (2, 1, 0, 3)) + rdm2.aaaa.vovo = einsum(tmp380, (0, 1), delta.aa.oo, (2, 3), (0, 2, 1, 3)) * 2 + del tmp380 + rdm2.aaaa.vovo += np.transpose(tmp75, (2, 1, 3, 0)) * -1 + rdm2.aaaa.vovo += np.transpose(tmp72, (2, 1, 3, 0)) * -1 + rdm2.aaaa.vovo += einsum(t1.aa, (0, 1), l1.aa, (2, 3), (2, 0, 1, 3)) * -1 + rdm2.aaaa.vovo += np.transpose(tmp71, (2, 1, 3, 0)) * -4 + rdm2.aaaa.vovo += np.transpose(tmp74, (2, 1, 3, 0)) * -4 + rdm2.aaaa.vovo += np.transpose(tmp73, (2, 1, 3, 0)) * -9 + rdm2.aaaa.vovo += np.transpose(tmp372, (2, 1, 3, 0)) * -1 + del tmp372 + rdm2.aaaa.vovo += np.transpose(tmp373, (3, 1, 2, 0)) * -1 + del tmp373 + rdm2.bbbb.vovo = einsum(delta.bb.oo, (0, 1), tmp375, (2, 3), (2, 0, 3, 1)) + del tmp375 + rdm2.bbbb.vovo += einsum(t1.bb, (0, 1), l1.bb, (2, 3), (2, 0, 1, 3)) * -1 + rdm2.bbbb.vovo += np.transpose(tmp147, (2, 1, 3, 0)) * -1 + rdm2.bbbb.vovo += np.transpose(tmp149, (2, 1, 3, 0)) * -1 + rdm2.bbbb.vovo += np.transpose(tmp151, (2, 1, 3, 0)) * -9 + rdm2.bbbb.vovo += np.transpose(tmp150, (2, 1, 3, 0)) * -4 + rdm2.bbbb.vovo += np.transpose(tmp148, (2, 1, 3, 0)) * -4 + rdm2.bbbb.vovo += np.transpose(tmp378, (2, 1, 3, 0)) * -1 + del tmp378 + rdm2.bbbb.vovo += np.transpose(tmp379, (2, 1, 3, 0)) * -1 + del tmp379 + tmp23 = np.copy(delta.bb.oo) * -0.5000000000000202 + tmp23 += tmp17 * 0.5000000000000202 + tmp23 += tmp18 * 0.5000000000000202 + tmp23 += tmp19 + tmp23 += tmp20 * 0.5000000000000002 + tmp23 += tmp21 + tmp23 += tmp22 * 1.4999999999999998 + rdm2.abab.oooo = einsum(tmp23, (0, 1), delta.aa.oo, (2, 3), (2, 1, 3, 0)) * -2 + del tmp23 + rdm2.abab.oooo += einsum(tmp7, (0, 1), delta.bb.oo, (2, 3), (1, 2, 0, 3)) * -1 + tmp24 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 5, 0, 1), (2, 4, 3, 5)) + rdm2.abab.oooo += np.transpose(tmp24, (1, 3, 0, 2)) + tmp26 = einsum(t1.aa, (0, 1), tmp25, (2, 3, 4, 1), (2, 0, 3, 4)) + del tmp25 + rdm2.abab.oooo += np.transpose(tmp26, (1, 3, 0, 2)) + tmp27 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (6, 7, 5, 0, 1, 2), (3, 6, 4, 7)) + rdm2.abab.oooo += np.transpose(tmp27, (1, 3, 0, 2)) * 2 + tmp28 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), l3.babbab, (3, 4, 5, 6, 7, 2), (7, 1, 6, 0)) + rdm2.abab.oooo += np.transpose(tmp28, (1, 3, 0, 2)) * 2 + tmp31 = np.copy(tmp29) + tmp31 += tmp30 * 0.5 + rdm2.abab.oooo += einsum(t1.bb, (0, 1), tmp31, (2, 3, 4, 1), (3, 0, 2, 4)) * 2 + del tmp31 + rdm2.abab.oooo += einsum(t1.bb, (0, 1), tmp30, (2, 3, 4, 1), (3, 0, 2, 4)) + tmp34 = np.copy(tmp32) + tmp34 += tmp33 * 0.5 + rdm2.abab.oooo += einsum(t1.aa, (0, 1), tmp34, (2, 3, 4, 1), (0, 4, 2, 3)) * 2 + del tmp34 + rdm2.abab.oooo += einsum(tmp33, (0, 1, 2, 3), t1.aa, (4, 3), (4, 2, 0, 1)) + rdm2.abab.vovv = einsum(t2.abab, (0, 1, 2, 3), l1.aa, (4, 0), (4, 1, 2, 3)) + tmp278 = einsum(l2.aaaa, (0, 1, 2, 3), t3.abaaba, (2, 4, 3, 5, 6, 1), (4, 0, 5, 6)) + rdm2.abab.vovv += np.transpose(tmp278, (1, 0, 2, 3)) * 2 + tmp279 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), l2.abab, (6, 5, 1, 2), (0, 6, 4, 3)) + rdm2.abab.vovv += np.transpose(tmp279, (1, 0, 2, 3)) * 2 + tmp280 = einsum(tmp119, (0, 1, 2, 3), t2.abab, (0, 4, 5, 2), (4, 1, 5, 3)) * 2 + rdm2.abab.vovv += np.transpose(tmp280, (1, 0, 2, 3)) * -1 + tmp388 = np.copy(tmp370) + del tmp370 + tmp388 += tmp59 * 2 + tmp388 += tmp60 + tmp388 += tmp61 * 3 + tmp388 += tmp62 * 2 + tmp388 += tmp63 + rdm2.abab.vovv += einsum(tmp388, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3)) + rdm2.abab.vovv += einsum(t2.bbbb, (0, 1, 2, 3), tmp187, (1, 4, 5, 3), (4, 0, 5, 2)) * 4 + rdm2.abab.vovv += einsum(tmp227, (0, 1, 2, 3), t2.abab, (0, 4, 1, 5), (2, 4, 3, 5)) * 2 + tmp297 = np.copy(tmp110) + tmp297 += tmp111 + tmp297 += tmp112 * 1.5 + tmp297 += tmp113 * 2 + tmp297 += tmp114 * 1.5 + rdm2.abab.vovv += einsum(tmp297, (0, 1, 2, 3), t1.aa, (0, 4), (2, 1, 4, 3)) * 2 + tmp302 = np.copy(tmp190) + tmp302 += tmp191 * 2 + tmp302 += tmp192 * 2 + rdm2.abab.vovv += einsum(t1.bb, (0, 1), tmp302, (0, 2, 3, 4), (3, 2, 4, 1)) * -1 + tmp96 = np.copy(tmp32) + del tmp32 + tmp96 += tmp33 + del tmp33 + rdm2.abab.vovv += einsum(tmp96, (0, 1, 2, 3), t2.abab, (0, 1, 4, 5), (3, 2, 4, 5)) * -2 + tmp416 = np.copy(tmp287) * 0.4999999999999899 + tmp416 += tmp283 * 0.4999999999999999 + tmp416 += tmp284 + rdm2.abab.vovv += einsum(t1.bb, (0, 1), tmp416, (2, 3, 1, 4), (2, 0, 3, 4)) * -2 + del tmp416 + tmp417 = einsum(t1.bb, (0, 1), tmp119, (2, 3, 1, 4), (2, 0, 3, 4)) + tmp417 += einsum(t1.bb, (0, 1), tmp382, (2, 0, 3, 4), (2, 3, 4, 1)) + del tmp382 + rdm2.abab.vovv += einsum(t1.aa, (0, 1), tmp417, (0, 2, 3, 4), (3, 2, 1, 4)) * -2 + del tmp417 + tmp294 = einsum(t1.bb, (0, 1), tmp283, (2, 3, 1, 4), (0, 2, 3, 4)) + rdm2.abab.vovv += np.transpose(tmp294, (1, 0, 2, 3)) * -1 + tmp189 = einsum(t1.bb, (0, 1), tmp187, (2, 3, 4, 1), (2, 0, 3, 4)) + rdm2.abab.vovv += einsum(t1.bb, (0, 1), tmp189, (0, 2, 3, 4), (3, 2, 4, 1)) * -2 + rdm2.abab.ovvv = einsum(l1.bb, (0, 1), t2.abab, (2, 1, 3, 4), (2, 0, 3, 4)) + tmp271 = einsum(l2.abab, (0, 1, 2, 3), t3.abaaba, (4, 3, 2, 5, 6, 0), (4, 5, 1, 6)) + rdm2.abab.ovvv += np.transpose(tmp271, (0, 2, 1, 3)) * 2 + tmp272 = einsum(l2.bbbb, (0, 1, 2, 3), t3.babbab, (2, 4, 3, 5, 6, 1), (4, 6, 0, 5)) + rdm2.abab.ovvv += np.transpose(tmp272, (0, 2, 1, 3)) * 2 + tmp273 = einsum(tmp119, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 1), (4, 5, 2, 3)) * 4 + rdm2.abab.ovvv += np.transpose(tmp273, (0, 2, 1, 3)) + tmp274 = einsum(t2.abab, (0, 1, 2, 3), tmp160, (1, 3, 4, 5), (0, 2, 4, 5)) * 2 + rdm2.abab.ovvv += np.transpose(tmp274, (0, 2, 1, 3)) + rdm2.abab.ovvv += einsum(tmp377, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1)) * 2 + rdm2.abab.ovvv += einsum(tmp187, (0, 1, 2, 3), t2.abab, (4, 0, 1, 5), (4, 3, 2, 5)) * -2 + tmp300 = np.copy(tmp127) + tmp300 += tmp128 * 2 + tmp300 += tmp129 * 2 + rdm2.abab.ovvv += einsum(t1.aa, (0, 1), tmp300, (0, 2, 3, 4), (2, 3, 1, 4)) * -1 + tmp304 = np.copy(tmp178) + tmp304 += tmp179 + tmp304 += tmp180 * 1.5 + tmp304 += tmp181 * 2 + tmp304 += tmp182 * 1.5 + rdm2.abab.ovvv += einsum(t1.bb, (0, 1), tmp304, (2, 0, 3, 4), (2, 4, 3, 1)) * 2 + tmp57 = np.copy(tmp29) + del tmp29 + tmp57 += tmp30 + del tmp30 + rdm2.abab.ovvv += einsum(tmp57, (0, 1, 2, 3), t2.abab, (0, 2, 4, 5), (1, 3, 4, 5)) * -2 + tmp288 = np.copy(tmp287) + del tmp287 + tmp288 += tmp283 + tmp288 += tmp284 * 2 + rdm2.abab.ovvv += einsum(t1.aa, (0, 1), tmp288, (1, 2, 3, 4), (0, 3, 2, 4)) * -1 + tmp400 = einsum(t1.aa, (0, 1), tmp376, (0, 2, 3, 4), (2, 3, 1, 4)) * 0.5 + del tmp376 + rdm2.abab.ovvv += einsum(t1.bb, (0, 1), tmp400, (2, 0, 3, 4), (2, 4, 3, 1)) * -2 + del tmp400 + tmp124 = einsum(t1.aa, (0, 1), tmp119, (2, 1, 3, 4), (2, 0, 3, 4)) + rdm2.abab.ovvv += einsum(t1.aa, (0, 1), tmp124, (0, 2, 3, 4), (2, 3, 1, 4)) * -2 + rdm2.abab.ovvv += einsum(tmp283, (0, 1, 2, 3), t1.aa, (4, 0), (4, 2, 1, 3)) * -1 + tmp401 = einsum(tmp187, (0, 1, 2, 3), t1.aa, (4, 1), (4, 0, 2, 3)) + rdm2.abab.ovvv += einsum(t1.bb, (0, 1), tmp401, (2, 0, 3, 4), (2, 4, 3, 1)) * -2 + del tmp401 + tmp225 = einsum(l2.aaaa, (0, 1, 2, 3), t3.aaaaaa, (4, 2, 3, 5, 6, 1), (4, 0, 5, 6)) + rdm2.aaaa.ovvv = np.copy(np.transpose(tmp225, (0, 1, 3, 2))) * -6 + tmp226 = einsum(l2.abab, (0, 1, 2, 3), t3.abaaba, (4, 3, 2, 5, 1, 6), (4, 0, 5, 6)) + rdm2.aaaa.ovvv += np.transpose(tmp226, (0, 1, 3, 2)) * -2 + tmp385 = einsum(t2.aaaa, (0, 1, 2, 3), l1.aa, (4, 1), (0, 4, 2, 3)) + rdm2.aaaa.ovvv += np.transpose(tmp385, (0, 1, 3, 2)) * -2 + tmp386 = einsum(t2.aaaa, (0, 1, 2, 3), tmp81, (1, 3, 4, 5), (0, 2, 4, 5)) * 12 + rdm2.aaaa.ovvv += np.transpose(tmp386, (0, 2, 1, 3)) + tmp387 = einsum(t2.abab, (0, 1, 2, 3), tmp187, (1, 4, 5, 3), (0, 4, 5, 2)) * 2 + rdm2.aaaa.ovvv += np.transpose(tmp387, (0, 1, 3, 2)) + rdm2.aaaa.ovvv += einsum(tmp383, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1)) * 2 + rdm2.aaaa.ovvv += einsum(tmp388, (0, 1), t1.aa, (2, 3), (2, 0, 1, 3)) * -1 + tmp389 = einsum(t2.aaaa, (0, 1, 2, 3), tmp227, (1, 3, 4, 5), (0, 4, 5, 2)) * 4 + rdm2.aaaa.ovvv += tmp389 * -1 + rdm2.aaaa.ovvv += tmp387 * -1 + tmp76 = np.copy(tmp71) + tmp76 += tmp72 * 0.25 + tmp76 += tmp73 * 2.25 + tmp76 += tmp74 + tmp76 += tmp75 * 0.25 + tmp390 = einsum(t1.aa, (0, 1), tmp76, (0, 2, 3, 4), (2, 1, 3, 4)) * 4 + rdm2.aaaa.ovvv += np.transpose(tmp390, (0, 2, 1, 3)) * -1 + tmp391 = np.copy(tmp71) * 4 + tmp391 += tmp72 + del tmp72 + tmp391 += tmp73 * 9 + tmp391 += tmp74 * 4 + tmp391 += tmp75 + tmp392 = einsum(tmp391, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 3, 4)) + del tmp391 + rdm2.aaaa.ovvv += tmp392 + tmp55 = np.copy(np.transpose(tmp13, (1, 0, 2, 3))) * -3 + tmp55 += np.transpose(tmp14, (1, 0, 2, 3)) * -1 + tmp393 = einsum(tmp55, (0, 1, 2, 3), t2.aaaa, (0, 1, 4, 5), (2, 4, 5, 3)) + rdm2.aaaa.ovvv += np.transpose(tmp393, (0, 3, 2, 1)) * -2 + tmp242 = np.copy(np.transpose(tmp241, (1, 0, 3, 2))) + del tmp241 + tmp242 += np.transpose(tmp235, (1, 0, 3, 2)) * 3 + tmp242 += np.transpose(tmp236, (1, 0, 3, 2)) + tmp243 = einsum(tmp242, (0, 1, 2, 3), t1.aa, (4, 0), (4, 1, 2, 3)) + del tmp242 + rdm2.aaaa.ovvv += np.transpose(tmp243, (0, 1, 3, 2)) * 2 + tmp394 = einsum(tmp81, (0, 1, 2, 3), t1.aa, (4, 1), (4, 0, 2, 3)) * 3 + tmp397 = np.copy(np.transpose(tmp394, (1, 0, 2, 3))) * -1 + tmp395 = np.copy(np.transpose(tmp11, (1, 0, 2, 3))) * -0.3333333333333333 + del tmp11 + tmp395 += np.transpose(tmp13, (1, 0, 2, 3)) * -1 + tmp395 += np.transpose(tmp14, (1, 0, 2, 3)) * -0.3333333333333333 + tmp396 = einsum(t1.aa, (0, 1), tmp395, (0, 2, 3, 4), (2, 3, 4, 1)) * 3 + del tmp395 + tmp397 += tmp396 * -1 + del tmp396 + tmp398 = einsum(t1.aa, (0, 1), tmp397, (0, 2, 3, 4), (2, 3, 4, 1)) * 2 + del tmp397 + rdm2.aaaa.ovvv += np.transpose(tmp398, (0, 1, 3, 2)) + tmp399 = einsum(tmp394, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 3, 4)) * -2 + del tmp394 + rdm2.aaaa.ovvv += tmp399 * -1 + rdm2.aaaa.vovv = np.copy(np.transpose(tmp225, (1, 0, 3, 2))) * 6 + rdm2.aaaa.vovv += np.transpose(tmp226, (1, 0, 3, 2)) * 2 + rdm2.aaaa.vovv += np.transpose(tmp385, (1, 0, 3, 2)) * 2 + del tmp385 + rdm2.aaaa.vovv += np.transpose(tmp386, (2, 0, 1, 3)) * -1 + del tmp386 + rdm2.aaaa.vovv += np.transpose(tmp387, (1, 0, 3, 2)) * -1 + rdm2.aaaa.vovv += einsum(tmp383, (0, 1), t1.aa, (2, 3), (0, 2, 3, 1)) * -2 + del tmp383 + rdm2.aaaa.vovv += einsum(tmp388, (0, 1), t1.aa, (2, 3), (0, 2, 1, 3)) + del tmp388 + rdm2.aaaa.vovv += np.transpose(tmp389, (1, 0, 2, 3)) + del tmp389 + rdm2.aaaa.vovv += np.transpose(tmp387, (1, 0, 2, 3)) + del tmp387 + rdm2.aaaa.vovv += np.transpose(tmp390, (2, 0, 1, 3)) + del tmp390 + rdm2.aaaa.vovv += np.transpose(tmp392, (1, 0, 2, 3)) * -1 + del tmp392 + rdm2.aaaa.vovv += np.transpose(tmp393, (3, 0, 2, 1)) * 2 + del tmp393 + rdm2.aaaa.vovv += np.transpose(tmp243, (1, 0, 3, 2)) * -2 + rdm2.aaaa.vovv += np.transpose(tmp398, (1, 0, 3, 2)) * -1 + del tmp398 + rdm2.aaaa.vovv += np.transpose(tmp399, (1, 0, 2, 3)) + del tmp399 + tmp335 = einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), l2.bbbb, (6, 5, 1, 2), (0, 6, 3, 4)) + rdm2.bbbb.ovvv = np.copy(np.transpose(tmp335, (0, 1, 3, 2))) * -6 + tmp334 = einsum(l2.abab, (0, 1, 2, 3), t3.babbab, (4, 2, 3, 5, 0, 6), (4, 1, 5, 6)) + rdm2.bbbb.ovvv += np.transpose(tmp334, (0, 1, 3, 2)) * -2 + tmp402 = einsum(l1.bb, (0, 1), t2.bbbb, (2, 1, 3, 4), (2, 0, 3, 4)) + rdm2.bbbb.ovvv += np.transpose(tmp402, (0, 1, 3, 2)) * -2 + tmp403 = einsum(t2.abab, (0, 1, 2, 3), tmp119, (0, 2, 4, 5), (1, 4, 5, 3)) * 2 + rdm2.bbbb.ovvv += np.transpose(tmp403, (0, 1, 3, 2)) + tmp404 = einsum(tmp160, (0, 1, 2, 3), t2.bbbb, (4, 0, 5, 1), (4, 2, 3, 5)) * 4 + rdm2.bbbb.ovvv += np.transpose(tmp404, (0, 1, 3, 2)) + rdm2.bbbb.ovvv += einsum(t1.bb, (0, 1), tmp377, (2, 3), (0, 2, 1, 3)) * 2 + tmp405 = np.copy(tmp374) + del tmp374 + tmp405 += tmp100 + tmp405 += tmp101 * 2 + tmp405 += tmp102 + tmp405 += tmp103 * 2 + tmp405 += tmp104 * 3 + rdm2.bbbb.ovvv += einsum(tmp405, (0, 1), t1.bb, (2, 3), (2, 0, 1, 3)) * -1 + tmp406 = einsum(t2.bbbb, (0, 1, 2, 3), tmp156, (1, 3, 4, 5), (0, 4, 5, 2)) * 12 + rdm2.bbbb.ovvv += tmp406 * -1 + rdm2.bbbb.ovvv += tmp403 * -1 + tmp152 = np.copy(tmp147) * 0.25 + tmp152 += tmp148 + tmp152 += tmp149 * 0.25 + tmp152 += tmp150 + tmp152 += tmp151 * 2.25 + tmp407 = einsum(tmp152, (0, 1, 2, 3), t1.bb, (0, 4), (1, 2, 3, 4)) * 4 + rdm2.bbbb.ovvv += np.transpose(tmp407, (0, 1, 3, 2)) * -1 + tmp260 = np.copy(tmp147) + del tmp147 + tmp260 += tmp148 * 4 + tmp260 += tmp149 + tmp260 += tmp150 * 4 + tmp260 += tmp151 * 9 + tmp408 = einsum(t1.bb, (0, 1), tmp260, (0, 2, 3, 4), (2, 3, 4, 1)) + rdm2.bbbb.ovvv += tmp408 + tmp98 = np.copy(np.transpose(tmp42, (1, 0, 2, 3))) * -0.3333333333333333 + tmp98 += np.transpose(tmp43, (1, 0, 2, 3)) * -1 + tmp409 = einsum(t2.bbbb, (0, 1, 2, 3), tmp98, (0, 1, 4, 5), (4, 5, 2, 3)) * 3 + rdm2.bbbb.ovvv += np.transpose(tmp409, (0, 1, 3, 2)) * -2 + tmp410 = np.copy(np.transpose(tmp349, (1, 0, 3, 2))) + tmp410 += np.transpose(tmp343, (1, 0, 3, 2)) + tmp410 += np.transpose(tmp344, (1, 0, 3, 2)) * 3 + tmp411 = einsum(tmp410, (0, 1, 2, 3), t1.bb, (4, 0), (4, 1, 2, 3)) + del tmp410 + rdm2.bbbb.ovvv += np.transpose(tmp411, (0, 1, 3, 2)) * 2 + tmp354 = einsum(tmp160, (0, 1, 2, 3), t1.bb, (4, 1), (0, 4, 2, 3)) + tmp413 = np.copy(tmp354) * -1 + tmp412 = einsum(t1.bb, (0, 1), tmp158, (0, 2, 3, 4), (2, 3, 4, 1)) + tmp413 += tmp412 * -1 + del tmp412 + tmp414 = einsum(tmp413, (0, 1, 2, 3), t1.bb, (0, 4), (1, 2, 3, 4)) * 2 + del tmp413 + rdm2.bbbb.ovvv += np.transpose(tmp414, (0, 1, 3, 2)) + tmp161 = einsum(tmp160, (0, 1, 2, 3), t1.bb, (4, 1), (0, 4, 2, 3)) * 0.3333333333333333 + tmp415 = einsum(t1.bb, (0, 1), tmp161, (0, 2, 3, 4), (2, 3, 4, 1)) * -6 + rdm2.bbbb.ovvv += tmp415 * -1 + rdm2.bbbb.vovv = np.copy(np.transpose(tmp335, (1, 0, 3, 2))) * 6 + rdm2.bbbb.vovv += np.transpose(tmp334, (1, 0, 3, 2)) * 2 + rdm2.bbbb.vovv += np.transpose(tmp402, (1, 0, 3, 2)) * 2 + del tmp402 + rdm2.bbbb.vovv += np.transpose(tmp404, (1, 0, 3, 2)) * -1 + del tmp404 + rdm2.bbbb.vovv += np.transpose(tmp403, (1, 0, 3, 2)) * -1 + rdm2.bbbb.vovv += einsum(t1.bb, (0, 1), tmp377, (2, 3), (2, 0, 1, 3)) * -2 + del tmp377 + rdm2.bbbb.vovv += einsum(tmp405, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3)) + del tmp405 + rdm2.bbbb.vovv += np.transpose(tmp403, (1, 0, 2, 3)) + del tmp403 + rdm2.bbbb.vovv += np.transpose(tmp406, (1, 0, 2, 3)) + del tmp406 + rdm2.bbbb.vovv += np.transpose(tmp407, (1, 0, 3, 2)) + del tmp407 + rdm2.bbbb.vovv += np.transpose(tmp408, (1, 0, 2, 3)) * -1 + del tmp408 + rdm2.bbbb.vovv += np.transpose(tmp409, (1, 0, 3, 2)) * 2 + del tmp409 + rdm2.bbbb.vovv += np.transpose(tmp411, (1, 0, 3, 2)) * -2 + del tmp411 + rdm2.bbbb.vovv += np.transpose(tmp414, (1, 0, 3, 2)) * -1 + del tmp414 + rdm2.bbbb.vovv += np.transpose(tmp415, (1, 0, 2, 3)) + del tmp415 + tmp51 = np.copy(t1.aa) + tmp46 = einsum(l1.aa, (0, 1), t2.aaaa, (2, 1, 3, 0), (2, 3)) + tmp51 += tmp46 * 2 + tmp47 = einsum(l1.bb, (0, 1), t2.abab, (2, 1, 3, 0), (2, 3)) + tmp51 += tmp47 + tmp48 = einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), l2.aaaa, (4, 5, 1, 2), (0, 3)) + tmp51 += tmp48 * 3 + tmp49 = einsum(l2.abab, (0, 1, 2, 3), t3.abaaba, (4, 3, 2, 5, 1, 0), (4, 5)) + tmp51 += tmp49 * 2 + tmp50 = einsum(l2.bbbb, (0, 1, 2, 3), t3.babbab, (2, 4, 3, 0, 5, 1), (4, 5)) + tmp51 += tmp50 + rdm2.aaaa.ooov = einsum(tmp51, (0, 1), delta.aa.oo, (2, 3), (0, 2, 3, 1)) * -1 + rdm2.aaaa.ooov += einsum(delta.aa.oo, (0, 1), tmp51, (2, 3), (0, 2, 1, 3)) + tmp52 = einsum(t2.aaaa, (0, 1, 2, 3), l1.aa, (3, 4), (4, 0, 1, 2)) + rdm2.aaaa.ooov += np.transpose(tmp52, (2, 1, 0, 3)) * -2 + tmp53 = einsum(l2.abab, (0, 1, 2, 3), t3.abaaba, (4, 3, 5, 6, 1, 0), (2, 4, 5, 6)) + rdm2.aaaa.ooov += np.transpose(tmp53, (2, 1, 0, 3)) * -2 + tmp54 = einsum(l2.aaaa, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 3, 6, 0, 1), (2, 4, 5, 6)) + rdm2.aaaa.ooov += np.transpose(tmp54, (2, 1, 0, 3)) * -6 + tmp56 = einsum(t2.aaaa, (0, 1, 2, 3), tmp55, (0, 1, 4, 3), (4, 2)) * -1 + tmp68 = np.copy(tmp56) + del tmp56 + tmp58 = einsum(t2.abab, (0, 1, 2, 3), tmp57, (0, 4, 1, 3), (4, 2)) + tmp68 += tmp58 + del tmp58 + tmp64 = np.copy(tmp59) + tmp64 += tmp60 * 0.5 + tmp64 += tmp61 * 1.4999999999999394 + tmp64 += tmp62 + tmp64 += tmp63 * 0.49999999999998007 + tmp65 = einsum(tmp64, (0, 1), t1.aa, (2, 0), (2, 1)) + tmp68 += tmp65 + del tmp65 + tmp66 = np.copy(tmp0) * 0.3333333333333468 + tmp66 += tmp1 * 0.6666666666666936 + tmp66 += tmp2 * 0.3333333333333468 + tmp66 += tmp3 + tmp66 += tmp4 * 0.6666666666666667 + tmp66 += tmp5 * 0.33333333333333354 + tmp67 = einsum(t1.aa, (0, 1), tmp66, (0, 2), (2, 1)) * 1.4999999999999394 + tmp68 += tmp67 + del tmp67 + rdm2.aaaa.ooov += einsum(tmp68, (0, 1), delta.aa.oo, (2, 3), (0, 2, 3, 1)) * 2 + rdm2.aaaa.ooov += einsum(tmp68, (0, 1), delta.aa.oo, (2, 3), (2, 0, 3, 1)) * -2 + tmp69 = einsum(tmp55, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 3), (4, 1, 2, 5)) * 4 + rdm2.aaaa.ooov += np.transpose(tmp69, (2, 0, 1, 3)) * -1 + tmp70 = einsum(t2.abab, (0, 1, 2, 3), tmp57, (4, 5, 1, 3), (0, 4, 5, 2)) * 2 + rdm2.aaaa.ooov += np.transpose(tmp70, (2, 0, 1, 3)) * -1 + tmp77 = einsum(t1.aa, (0, 1), tmp76, (2, 3, 1, 4), (0, 2, 3, 4)) * 4 + rdm2.aaaa.ooov += np.transpose(tmp77, (0, 2, 1, 3)) * -1 + tmp78 = np.copy(tmp0) + tmp78 += tmp1 * 2 + tmp78 += tmp2 + tmp78 += tmp3 * 3 + tmp78 += tmp4 * 2 + tmp78 += tmp5 + rdm2.aaaa.ooov += einsum(t1.aa, (0, 1), tmp78, (2, 3), (3, 0, 2, 1)) * -1 + rdm2.aaaa.ooov += np.transpose(tmp69, (0, 2, 1, 3)) + del tmp69 + rdm2.aaaa.ooov += np.transpose(tmp70, (0, 2, 1, 3)) + rdm2.aaaa.ooov += np.transpose(tmp77, (2, 0, 1, 3)) + rdm2.aaaa.ooov += einsum(tmp78, (0, 1), t1.aa, (2, 3), (2, 1, 0, 3)) + tmp82 = einsum(tmp81, (0, 1, 2, 3), t2.aaaa, (4, 5, 1, 2), (4, 5, 0, 3)) * 6 + rdm2.aaaa.ooov += np.transpose(tmp82, (1, 0, 2, 3)) * -1 + tmp84 = np.copy(np.transpose(tmp10, (1, 0, 3, 2))) * 0.3333333333333333 + tmp84 += np.transpose(tmp8, (1, 0, 3, 2)) + tmp84 += np.transpose(tmp9, (1, 0, 3, 2)) * 0.3333333333333401 + tmp84 += einsum(t1.aa, (0, 1), tmp83, (2, 3, 4, 1), (3, 2, 0, 4)) * -0.3333333333333333 + rdm2.aaaa.ooov += einsum(t1.aa, (0, 1), tmp84, (0, 2, 3, 4), (4, 3, 2, 1)) * 6 + del tmp84 + tmp85 = einsum(tmp81, (0, 1, 2, 3), t1.aa, (4, 1), (4, 0, 2, 3)) + tmp86 = einsum(t1.aa, (0, 1), tmp85, (2, 3, 1, 4), (0, 3, 2, 4)) * -6 + rdm2.aaaa.ooov += np.transpose(tmp86, (0, 2, 1, 3)) + rdm2.aaaa.ooov += einsum(tmp16, (0, 1, 2, 3), t1.aa, (2, 4), (0, 3, 1, 4)) * 2 + tmp92 = np.copy(t1.bb) + tmp87 = einsum(t2.abab, (0, 1, 2, 3), l1.aa, (2, 0), (1, 3)) + tmp92 += tmp87 + tmp88 = einsum(l1.bb, (0, 1), t2.bbbb, (2, 1, 3, 0), (2, 3)) + tmp92 += tmp88 * 2 + tmp89 = einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), l2.aaaa, (3, 5, 0, 2), (1, 4)) + tmp92 += tmp89 + tmp90 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), l2.abab, (4, 5, 1, 2), (0, 3)) + tmp92 += tmp90 * 2 + tmp91 = einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), l2.bbbb, (4, 5, 1, 2), (0, 3)) + tmp92 += tmp91 * 3 + rdm2.bbbb.oovo = einsum(tmp92, (0, 1), delta.bb.oo, (2, 3), (0, 2, 1, 3)) + rdm2.bbbb.oovo += einsum(tmp92, (0, 1), delta.bb.oo, (2, 3), (2, 0, 1, 3)) * -1 + tmp133 = einsum(t2.bbbb, (0, 1, 2, 3), l1.bb, (3, 4), (4, 0, 1, 2)) + rdm2.bbbb.oovo += np.transpose(tmp133, (2, 1, 3, 0)) * 2 + tmp134 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), l2.abab, (4, 5, 1, 6), (6, 0, 2, 3)) + rdm2.bbbb.oovo += np.transpose(tmp134, (2, 1, 3, 0)) * 2 + tmp135 = einsum(l2.bbbb, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 3, 6, 0, 1), (2, 4, 5, 6)) + rdm2.bbbb.oovo += np.transpose(tmp135, (2, 1, 3, 0)) * 6 + tmp140 = einsum(t2.abab, (0, 1, 2, 3), tmp96, (0, 1, 4, 2), (4, 3)) + tmp144 = np.copy(tmp140) + del tmp140 + tmp141 = einsum(tmp98, (0, 1, 2, 3), t2.bbbb, (0, 1, 4, 3), (2, 4)) * -3 + tmp144 += tmp141 + del tmp141 + tmp105 = np.copy(tmp100) + tmp105 += tmp101 * 2 + tmp105 += tmp102 + tmp105 += tmp103 * 2 + tmp105 += tmp104 * 3 + tmp142 = einsum(t1.bb, (0, 1), tmp105, (1, 2), (0, 2)) * 0.5 + tmp144 += tmp142 + del tmp142 + tmp138 = np.copy(tmp17) + tmp138 += tmp18 + tmp138 += tmp19 * 2 + tmp138 += tmp20 + tmp138 += tmp21 * 2 + tmp138 += tmp22 * 3 + tmp143 = einsum(t1.bb, (0, 1), tmp138, (0, 2), (2, 1)) * 0.49999999999998007 + tmp144 += tmp143 + del tmp143 + rdm2.bbbb.oovo += einsum(tmp144, (0, 1), delta.bb.oo, (2, 3), (0, 2, 1, 3)) * -2 + rdm2.bbbb.oovo += einsum(tmp144, (0, 1), delta.bb.oo, (2, 3), (2, 0, 1, 3)) * 2 + tmp194 = einsum(t2.bbbb, (0, 1, 2, 3), tmp44, (1, 4, 5, 3), (0, 4, 5, 2)) * 4 + rdm2.bbbb.oovo += np.transpose(tmp194, (2, 0, 3, 1)) + tmp145 = einsum(t2.abab, (0, 1, 2, 3), tmp96, (0, 4, 5, 2), (4, 5, 1, 3)) * 2 + rdm2.bbbb.oovo += np.transpose(tmp145, (1, 2, 3, 0)) + tmp153 = einsum(t1.bb, (0, 1), tmp152, (2, 3, 1, 4), (2, 3, 0, 4)) * 4 + del tmp152 + rdm2.bbbb.oovo += np.transpose(tmp153, (2, 1, 3, 0)) + tmp195 = np.copy(tmp17) + tmp195 += tmp18 + tmp195 += tmp19 * 2 + tmp195 += tmp20 + tmp195 += tmp21 * 2 + tmp195 += tmp22 * 3 + rdm2.bbbb.oovo += einsum(t1.bb, (0, 1), tmp195, (2, 3), (3, 0, 1, 2)) + rdm2.bbbb.oovo += np.transpose(tmp145, (2, 1, 3, 0)) * -1 + rdm2.bbbb.oovo += np.transpose(tmp194, (0, 2, 3, 1)) * -1 + del tmp194 + rdm2.bbbb.oovo += np.transpose(tmp153, (1, 2, 3, 0)) * -1 + rdm2.bbbb.oovo += einsum(t1.bb, (0, 1), tmp195, (2, 3), (0, 3, 1, 2)) * -1 + tmp157 = einsum(tmp156, (0, 1, 2, 3), t2.bbbb, (4, 5, 1, 2), (0, 4, 5, 3)) * 6 + rdm2.bbbb.oovo += np.transpose(tmp157, (2, 1, 3, 0)) + tmp196 = np.copy(np.transpose(tmp39, (1, 0, 3, 2))) * 0.3333333333333269 + tmp196 += np.transpose(tmp37, (1, 0, 3, 2)) * 0.3333333333333336 + tmp196 += np.transpose(tmp38, (1, 0, 3, 2)) + tmp196 += einsum(t1.bb, (0, 1), tmp158, (2, 3, 4, 1), (3, 2, 0, 4)) * -0.3333333333333269 + rdm2.bbbb.oovo += einsum(tmp196, (0, 1, 2, 3), t1.bb, (0, 4), (3, 2, 4, 1)) * -6 + del tmp196 + tmp162 = einsum(t1.bb, (0, 1), tmp161, (2, 3, 1, 4), (2, 3, 0, 4)) * -6 + del tmp161 + rdm2.bbbb.oovo += np.transpose(tmp162, (2, 1, 3, 0)) * -1 + tmp197 = einsum(tmp44, (0, 1, 2, 3), t1.bb, (4, 3), (4, 0, 1, 2)) * 0.3333333333333333 + rdm2.bbbb.oovo += einsum(t1.bb, (0, 1), tmp197, (2, 3, 0, 4), (2, 4, 1, 3)) * -6 + tmp132 = np.copy(t1.bb) * 0.5 + tmp132 += tmp87 * 0.5 + tmp132 += tmp88 + tmp132 += tmp89 * 0.5 + tmp132 += tmp90 + tmp132 += tmp91 * 1.5 + rdm2.bbbb.ooov = einsum(tmp132, (0, 1), delta.bb.oo, (2, 3), (0, 2, 3, 1)) * -2 + rdm2.bbbb.ooov += einsum(delta.bb.oo, (0, 1), tmp132, (2, 3), (0, 2, 1, 3)) * 2 + del tmp132 + rdm2.bbbb.ooov += np.transpose(tmp133, (2, 1, 0, 3)) * -2 + rdm2.bbbb.ooov += np.transpose(tmp134, (2, 1, 0, 3)) * -2 + rdm2.bbbb.ooov += np.transpose(tmp135, (2, 1, 0, 3)) * -6 + tmp139 = einsum(t2.abab, (0, 1, 2, 3), tmp96, (0, 1, 4, 2), (4, 3)) * 2 + tmp136 = np.copy(np.transpose(tmp42, (1, 0, 2, 3))) * -0.33333333333333337 + del tmp42 + tmp136 += np.transpose(tmp43, (1, 0, 2, 3)) * -1 + del tmp43 + tmp139 += einsum(t2.bbbb, (0, 1, 2, 3), tmp136, (0, 1, 4, 3), (4, 2)) * -6 + del tmp136 + tmp137 = np.copy(tmp100) + tmp137 += tmp101 * 2 + tmp137 += tmp102 + tmp137 += tmp103 * 2 + tmp137 += tmp104 * 3 + tmp139 += einsum(t1.bb, (0, 1), tmp137, (1, 2), (0, 2)) + del tmp137 + tmp139 += einsum(t1.bb, (0, 1), tmp138, (0, 2), (2, 1)) + rdm2.bbbb.ooov += einsum(tmp139, (0, 1), delta.bb.oo, (2, 3), (0, 2, 3, 1)) + del tmp139 + rdm2.bbbb.ooov += einsum(tmp144, (0, 1), delta.bb.oo, (2, 3), (2, 0, 3, 1)) * -2 + rdm2.bbbb.ooov += np.transpose(tmp145, (1, 2, 0, 3)) * -1 + tmp146 = einsum(tmp98, (0, 1, 2, 3), t2.bbbb, (4, 0, 5, 3), (1, 2, 4, 5)) * 12 + rdm2.bbbb.ooov += np.transpose(tmp146, (1, 2, 0, 3)) * -1 + rdm2.bbbb.ooov += np.transpose(tmp153, (2, 1, 0, 3)) * -1 + rdm2.bbbb.ooov += einsum(t1.bb, (0, 1), tmp36, (2, 3), (3, 0, 2, 1)) * -2 + rdm2.bbbb.ooov += np.transpose(tmp146, (2, 1, 0, 3)) + del tmp146 + rdm2.bbbb.ooov += np.transpose(tmp145, (2, 1, 0, 3)) + del tmp145 + rdm2.bbbb.ooov += np.transpose(tmp153, (1, 2, 0, 3)) + del tmp153 + rdm2.bbbb.ooov += einsum(tmp36, (0, 1), t1.bb, (2, 3), (2, 1, 0, 3)) * 2 + rdm2.bbbb.ooov += np.transpose(tmp157, (2, 1, 0, 3)) * -1 + del tmp157 + tmp159 = np.copy(np.transpose(tmp39, (1, 0, 3, 2))) + tmp159 += np.transpose(tmp37, (1, 0, 3, 2)) + tmp159 += np.transpose(tmp38, (1, 0, 3, 2)) * 3 + tmp159 += einsum(t1.bb, (0, 1), tmp158, (2, 3, 4, 1), (3, 2, 0, 4)) * -1 + del tmp158 + rdm2.bbbb.ooov += einsum(t1.bb, (0, 1), tmp159, (0, 2, 3, 4), (4, 3, 2, 1)) * 2 + del tmp159 + rdm2.bbbb.ooov += np.transpose(tmp162, (2, 1, 0, 3)) + del tmp162 + rdm2.bbbb.ooov += einsum(tmp45, (0, 1, 2, 3), t1.bb, (2, 4), (0, 3, 1, 4)) * 2 + del tmp45 + tmp163 = np.copy(t1.aa) * 0.5 + tmp163 += tmp46 + tmp163 += tmp47 * 0.5 + tmp163 += tmp48 * 1.5 + tmp163 += tmp49 + tmp163 += tmp50 * 0.5 + rdm2.aaaa.oovo = einsum(tmp163, (0, 1), delta.aa.oo, (2, 3), (0, 2, 1, 3)) * 2 + rdm2.aaaa.oovo += einsum(delta.aa.oo, (0, 1), tmp163, (2, 3), (0, 2, 3, 1)) * -2 + rdm2.aaaa.oovo += np.transpose(tmp52, (2, 1, 3, 0)) * 2 + rdm2.aaaa.oovo += np.transpose(tmp53, (2, 1, 3, 0)) * 2 + rdm2.aaaa.oovo += np.transpose(tmp54, (2, 1, 3, 0)) * 6 + tmp164 = np.copy(np.transpose(tmp13, (1, 0, 2, 3))) * -3 + del tmp13 + tmp164 += np.transpose(tmp14, (1, 0, 2, 3)) * -1 + del tmp14 + tmp165 = einsum(tmp164, (0, 1, 2, 3), t2.aaaa, (0, 1, 4, 3), (2, 4)) * -2 + del tmp164 + tmp171 = np.copy(tmp165) + del tmp165 + tmp166 = einsum(t2.abab, (0, 1, 2, 3), tmp57, (0, 4, 1, 3), (4, 2)) * 2 + tmp171 += tmp166 + del tmp166 + tmp167 = np.copy(tmp59) + tmp167 += tmp60 * 0.5 + tmp167 += tmp61 * 1.4999999999999392 + tmp167 += tmp62 + tmp167 += tmp63 * 0.49999999999998 + tmp168 = einsum(t1.aa, (0, 1), tmp167, (1, 2), (0, 2)) * 2 + del tmp167 + tmp171 += tmp168 + del tmp168 + tmp169 = np.copy(tmp0) * 0.33333333333334686 + tmp169 += tmp1 * 0.6666666666666937 + tmp169 += tmp2 * 0.33333333333334686 + tmp169 += tmp3 + tmp169 += tmp4 * 0.6666666666666667 + tmp169 += tmp5 * 0.33333333333333354 + tmp170 = einsum(t1.aa, (0, 1), tmp169, (0, 2), (2, 1)) * 3 + del tmp169 + tmp171 += tmp170 + del tmp170 + rdm2.aaaa.oovo += einsum(delta.aa.oo, (0, 1), tmp171, (2, 3), (2, 0, 3, 1)) * -1 + rdm2.aaaa.oovo += einsum(tmp68, (0, 1), delta.aa.oo, (2, 3), (2, 0, 1, 3)) * 2 + tmp172 = einsum(tmp15, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 3), (4, 1, 2, 5)) * 12 + rdm2.aaaa.oovo += np.transpose(tmp172, (2, 0, 3, 1)) + rdm2.aaaa.oovo += np.transpose(tmp70, (2, 0, 3, 1)) + rdm2.aaaa.oovo += np.transpose(tmp77, (0, 2, 3, 1)) + tmp116 = np.copy(tmp0) * 0.5 + del tmp0 + tmp116 += tmp1 + del tmp1 + tmp116 += tmp2 * 0.5 + del tmp2 + tmp116 += tmp3 * 1.4999999999999394 + del tmp3 + tmp116 += tmp4 + del tmp4 + tmp116 += tmp5 * 0.49999999999998007 + del tmp5 + rdm2.aaaa.oovo += einsum(tmp116, (0, 1), t1.aa, (2, 3), (1, 2, 3, 0)) * 2 + rdm2.aaaa.oovo += np.transpose(tmp172, (0, 2, 3, 1)) * -1 + del tmp172 + rdm2.aaaa.oovo += np.transpose(tmp70, (0, 2, 3, 1)) * -1 + del tmp70 + rdm2.aaaa.oovo += np.transpose(tmp77, (2, 0, 3, 1)) * -1 + del tmp77 + rdm2.aaaa.oovo += einsum(tmp116, (0, 1), t1.aa, (2, 3), (2, 1, 3, 0)) * -2 + rdm2.aaaa.oovo += np.transpose(tmp82, (1, 0, 3, 2)) + del tmp82 + tmp173 = np.copy(np.transpose(tmp10, (1, 0, 3, 2))) + tmp173 += np.transpose(tmp8, (1, 0, 3, 2)) * 3 + tmp173 += np.transpose(tmp9, (1, 0, 3, 2)) + tmp173 += einsum(t1.aa, (0, 1), tmp83, (2, 3, 4, 1), (3, 2, 0, 4)) * -1 + del tmp83 + rdm2.aaaa.oovo += einsum(tmp173, (0, 1, 2, 3), t1.aa, (0, 4), (3, 2, 4, 1)) * -2 + del tmp173 + rdm2.aaaa.oovo += np.transpose(tmp86, (0, 2, 3, 1)) * -1 + del tmp86 + tmp174 = einsum(t1.aa, (0, 1), tmp15, (2, 3, 4, 1), (3, 2, 0, 4)) * -1 + rdm2.aaaa.oovo += einsum(tmp174, (0, 1, 2, 3), t1.aa, (0, 4), (2, 3, 4, 1)) * 6 + del tmp174 + rdm2.abab.oovo = einsum(tmp163, (0, 1), delta.bb.oo, (2, 3), (0, 2, 1, 3)) * 2 + del tmp163 + tmp175 = einsum(l2.bbbb, (0, 1, 2, 3), t3.babbab, (4, 5, 3, 0, 6, 1), (5, 2, 4, 6)) + rdm2.abab.oovo += np.transpose(tmp175, (0, 2, 3, 1)) * -2 + tmp176 = einsum(l1.bb, (0, 1), t2.abab, (2, 3, 4, 0), (2, 1, 3, 4)) + rdm2.abab.oovo += np.transpose(tmp176, (0, 2, 3, 1)) * -1 + tmp177 = einsum(l2.abab, (0, 1, 2, 3), t3.abaaba, (4, 5, 2, 6, 1, 0), (4, 3, 5, 6)) + rdm2.abab.oovo += np.transpose(tmp177, (0, 2, 3, 1)) * -2 + rdm2.abab.oovo += einsum(delta.bb.oo, (0, 1), tmp171, (2, 3), (2, 0, 3, 1)) * -1 + del tmp171 + rdm2.abab.oovo += einsum(t2.aaaa, (0, 1, 2, 3), tmp96, (1, 4, 5, 3), (0, 5, 2, 4)) * -4 + rdm2.abab.oovo += einsum(t2.abab, (0, 1, 2, 3), tmp44, (1, 4, 5, 3), (0, 5, 2, 4)) * -2 + tmp183 = np.copy(tmp178) * 0.5 + tmp183 += tmp179 * 0.5 + tmp183 += tmp180 * 0.75 + tmp183 += tmp181 + tmp183 += tmp182 * 0.75 + rdm2.abab.oovo += einsum(tmp183, (0, 1, 2, 3), t1.bb, (4, 3), (0, 4, 2, 1)) * -4 + del tmp183 + tmp184 = np.copy(tmp17) * 0.5000000000000202 + tmp184 += tmp18 * 0.5000000000000202 + tmp184 += tmp19 + tmp184 += tmp20 * 0.5000000000000002 + tmp184 += tmp21 + tmp184 += tmp22 * 1.4999999999999998 + rdm2.abab.oovo += einsum(t1.aa, (0, 1), tmp184, (2, 3), (0, 3, 1, 2)) * -2 + del tmp184 + rdm2.abab.oovo += einsum(tmp187, (0, 1, 2, 3), t2.abab, (4, 5, 1, 3), (4, 5, 2, 0)) * 2 + tmp188 = np.copy(tmp24) * 0.4999999999999899 + tmp188 += tmp26 * 0.4999999999999899 + tmp188 += tmp27 + tmp188 += tmp28 + tmp188 += einsum(t1.bb, (0, 1), tmp57, (2, 3, 4, 1), (2, 3, 4, 0)) + rdm2.abab.oovo += einsum(t1.aa, (0, 1), tmp188, (0, 2, 3, 4), (2, 4, 1, 3)) * 2 + del tmp188 + rdm2.abab.oovo += einsum(tmp189, (0, 1, 2, 3), t1.aa, (4, 2), (4, 1, 3, 0)) * 2 + rdm2.abab.oovo += einsum(tmp57, (0, 1, 2, 3), t2.abab, (0, 4, 5, 3), (1, 4, 5, 2)) * 2 + tmp193 = np.copy(tmp190) * 0.5 + tmp193 += tmp191 + tmp193 += tmp192 + rdm2.abab.oovo += einsum(t1.aa, (0, 1), tmp193, (2, 3, 1, 4), (0, 3, 4, 2)) * 2 + del tmp193 + tmp131 = einsum(t1.aa, (0, 1), tmp96, (2, 3, 4, 1), (2, 0, 3, 4)) + rdm2.abab.oovo += einsum(t1.aa, (0, 1), tmp131, (0, 2, 3, 4), (2, 4, 1, 3)) * 2 + rdm2.abab.ooov = einsum(delta.aa.oo, (0, 1), tmp92, (2, 3), (0, 2, 1, 3)) + tmp93 = einsum(l2.aaaa, (0, 1, 2, 3), t3.abaaba, (4, 5, 3, 0, 6, 1), (2, 4, 5, 6)) + rdm2.abab.ooov += np.transpose(tmp93, (1, 2, 0, 3)) * -2 + tmp94 = einsum(t2.abab, (0, 1, 2, 3), l1.aa, (2, 4), (4, 0, 1, 3)) + rdm2.abab.ooov += np.transpose(tmp94, (1, 2, 0, 3)) * -1 + tmp95 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), l2.abab, (4, 5, 6, 2), (6, 1, 0, 3)) + rdm2.abab.ooov += np.transpose(tmp95, (1, 2, 0, 3)) * -2 + tmp97 = einsum(t2.abab, (0, 1, 2, 3), tmp96, (0, 1, 4, 2), (4, 3)) * 0.3333333333333333 + tmp109 = np.copy(tmp97) + del tmp97 + tmp99 = einsum(tmp98, (0, 1, 2, 3), t2.bbbb, (0, 1, 4, 3), (2, 4)) * -1 + tmp109 += tmp99 + del tmp99 + tmp106 = einsum(t1.bb, (0, 1), tmp105, (1, 2), (0, 2)) * 0.16666666666666666 + tmp109 += tmp106 + del tmp106 + tmp107 = np.copy(tmp17) + del tmp17 + tmp107 += tmp18 + del tmp18 + tmp107 += tmp19 * 2 + del tmp19 + tmp107 += tmp20 + del tmp20 + tmp107 += tmp21 * 2 + del tmp21 + tmp107 += tmp22 * 3 + del tmp22 + tmp108 = einsum(t1.bb, (0, 1), tmp107, (0, 2), (2, 1)) * 0.16666666666666002 + del tmp107 + tmp109 += tmp108 + del tmp108 + rdm2.abab.ooov += einsum(delta.aa.oo, (0, 1), tmp109, (2, 3), (0, 2, 1, 3)) * -6 + del delta + rdm2.abab.ooov += einsum(t2.bbbb, (0, 1, 2, 3), tmp57, (4, 5, 1, 3), (5, 0, 4, 2)) * -4 + rdm2.abab.ooov += einsum(t2.abab, (0, 1, 2, 3), tmp55, (0, 4, 5, 2), (5, 1, 4, 3)) * -2 + tmp115 = np.copy(tmp110) * 0.6666666666666666 + tmp115 += tmp111 * 0.6666666666666666 + tmp115 += tmp112 + tmp115 += tmp113 * 1.3333333333333333 + tmp115 += tmp114 + rdm2.abab.ooov += einsum(tmp115, (0, 1, 2, 3), t1.aa, (4, 2), (4, 1, 0, 3)) * -3 + del tmp115 + rdm2.abab.ooov += einsum(tmp116, (0, 1), t1.bb, (2, 3), (1, 2, 0, 3)) * -2 + del tmp116 + tmp120 = einsum(tmp119, (0, 1, 2, 3), t2.abab, (4, 5, 1, 2), (0, 4, 5, 3)) * 2 + rdm2.abab.ooov += np.transpose(tmp120, (1, 2, 0, 3)) + tmp122 = np.copy(tmp24) * 0.5 + tmp122 += tmp26 * 0.5 + del tmp26 + tmp122 += tmp27 + tmp122 += tmp28 + tmp121 = einsum(tmp57, (0, 1, 2, 3), t1.bb, (4, 3), (0, 1, 4, 2)) + tmp122 += np.transpose(tmp121, (0, 1, 3, 2)) + del tmp121 + tmp123 = einsum(t1.bb, (0, 1), tmp122, (2, 3, 0, 4), (2, 3, 4, 1)) * 2 + del tmp122 + rdm2.abab.ooov += np.transpose(tmp123, (1, 2, 0, 3)) + tmp125 = einsum(t1.bb, (0, 1), tmp124, (2, 3, 1, 4), (2, 3, 0, 4)) * 2 + del tmp124 + rdm2.abab.ooov += np.transpose(tmp125, (1, 2, 0, 3)) + tmp126 = einsum(t2.abab, (0, 1, 2, 3), tmp96, (4, 1, 5, 2), (4, 0, 5, 3)) * 2 + rdm2.abab.ooov += np.transpose(tmp126, (1, 2, 0, 3)) + tmp130 = np.copy(tmp127) * 0.5 + del tmp127 + tmp130 += tmp128 + tmp130 += tmp129 + rdm2.abab.ooov += einsum(t1.bb, (0, 1), tmp130, (2, 3, 1, 4), (3, 0, 2, 4)) * 2 + del tmp130 + rdm2.abab.ooov += einsum(t1.bb, (0, 1), tmp131, (2, 3, 0, 4), (3, 4, 2, 1)) * 2 + tmp199 = einsum(l1.bb, (0, 1), t3.abaaba, (2, 1, 3, 4, 0, 5), (2, 3, 4, 5)) + rdm2.aaaa.oovv = np.copy(np.transpose(tmp199, (1, 0, 3, 2))) * 2 + del tmp199 + rdm2.aaaa.oovv += t2.aaaa * 2 + tmp200 = einsum(l1.aa, (0, 1), t3.aaaaaa, (2, 3, 1, 4, 5, 0), (2, 3, 4, 5)) + rdm2.aaaa.oovv += np.transpose(tmp200, (1, 0, 3, 2)) * 6 + del tmp200 + tmp201 = np.copy(tmp59) + tmp201 += tmp60 * 0.5000000000000203 + tmp201 += tmp61 * 1.5000000000000024 + tmp201 += tmp62 + tmp201 += tmp63 * 0.5000000000000001 + rdm2.aaaa.oovv += einsum(tmp201, (0, 1), t2.aaaa, (2, 3, 4, 0), (2, 3, 4, 1)) * -4 + del tmp201 + tmp202 = np.copy(tmp61) * 3 + tmp202 += tmp62 * 2 + tmp202 += tmp63 + rdm2.aaaa.oovv += einsum(t2.aaaa, (0, 1, 2, 3), tmp202, (3, 4), (0, 1, 4, 2)) * 2 + del tmp202 + tmp203 = einsum(tmp178, (0, 1, 2, 3), t2.abab, (4, 1, 5, 3), (0, 4, 2, 5)) + rdm2.aaaa.oovv += np.transpose(tmp203, (0, 1, 3, 2)) * -2 + rdm2.aaaa.oovv += np.transpose(tmp203, (1, 0, 2, 3)) * -2 + tmp204 = np.copy(tmp179) + tmp204 += tmp180 * 1.5 + tmp204 += tmp181 * 2 + tmp204 += tmp182 * 1.5 + rdm2.aaaa.oovv += einsum(t2.abab, (0, 1, 2, 3), tmp204, (4, 1, 5, 3), (4, 0, 2, 5)) * -2 + del tmp204 + tmp205 = np.copy(tmp71) + tmp205 += tmp73 * 2.25 + tmp205 += tmp74 + tmp205 += tmp75 * 0.25 + rdm2.aaaa.oovv += einsum(tmp205, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 2), (1, 4, 5, 3)) * -8 + del tmp205 + rdm2.aaaa.oovv += einsum(t1.aa, (0, 1), tmp51, (2, 3), (2, 0, 1, 3)) * -1 + rdm2.aaaa.oovv += einsum(tmp179, (0, 1, 2, 3), t2.abab, (4, 1, 5, 3), (0, 4, 2, 5)) * 2 + del tmp179 + rdm2.aaaa.oovv += einsum(t2.aaaa, (0, 1, 2, 3), tmp71, (1, 4, 3, 5), (4, 0, 5, 2)) * 8 + rdm2.aaaa.oovv += tmp203 * 2 + rdm2.aaaa.oovv += np.transpose(tmp203, (1, 0, 3, 2)) * 2 + del tmp203 + tmp206 = np.copy(tmp180) + tmp206 += tmp181 * 1.3333333333333333 + tmp206 += tmp182 + tmp207 = einsum(tmp206, (0, 1, 2, 3), t2.abab, (4, 1, 5, 3), (0, 4, 2, 5)) * 3 + del tmp206 + rdm2.aaaa.oovv += np.transpose(tmp207, (1, 0, 3, 2)) + tmp208 = np.copy(tmp73) * 2.25 + tmp208 += tmp74 + tmp208 += tmp75 * 0.25 + rdm2.aaaa.oovv += einsum(tmp208, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 2), (4, 1, 5, 3)) * 8 + del tmp208 + rdm2.aaaa.oovv += einsum(t1.aa, (0, 1), tmp51, (2, 3), (0, 2, 1, 3)) + del tmp51 + tmp209 = np.copy(tmp73) * 9 + del tmp73 + tmp209 += tmp74 * 4 + del tmp74 + tmp209 += tmp75 + del tmp75 + tmp210 = einsum(t2.aaaa, (0, 1, 2, 3), tmp209, (1, 4, 3, 5), (4, 0, 5, 2)) * 2 + rdm2.aaaa.oovv += tmp210 + rdm2.aaaa.oovv += tmp207 + tmp211 = np.copy(tmp46) * 0.6666666666666666 + tmp211 += tmp47 * 0.3333333333333333 + tmp211 += tmp48 + tmp211 += tmp49 * 0.6666666666666666 + tmp211 += tmp50 * 0.3333333333333333 + rdm2.aaaa.oovv += einsum(t1.aa, (0, 1), tmp211, (2, 3), (2, 0, 3, 1)) * 3 + rdm2.aaaa.oovv += np.transpose(tmp210, (1, 0, 2, 3)) * -1 + del tmp210 + rdm2.aaaa.oovv += np.transpose(tmp207, (1, 0, 2, 3)) * -1 + del tmp207 + rdm2.aaaa.oovv += einsum(t1.aa, (0, 1), tmp211, (2, 3), (0, 2, 3, 1)) * -3 + del tmp211 + tmp212 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.aaaaaa, (6, 7, 5, 8, 0, 2), (3, 6, 7, 4, 8, 1)) + tmp214 = np.copy(np.transpose(tmp212, (0, 2, 1, 3, 4, 5))) * -1 + tmp213 = einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.abaaba, (6, 5, 7, 8, 2, 1), (4, 6, 7, 3, 8, 0)) + tmp214 += np.transpose(tmp213, (0, 2, 1, 3, 4, 5)) * -0.6666666666666666 + rdm2.aaaa.oovv += einsum(t2.abab, (0, 1, 2, 3), tmp214, (0, 4, 5, 1, 6, 3), (5, 4, 2, 6)) * -6 + del tmp214 + tmp215 = einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), l3.aaaaaa, (6, 4, 5, 7, 8, 2), (7, 8, 0, 1, 6, 3)) + tmp217 = np.copy(np.transpose(tmp215, (1, 0, 3, 2, 4, 5))) * 4.5 + tmp216 = einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), l3.abaaba, (6, 4, 5, 7, 1, 8), (7, 8, 0, 2, 6, 3)) + tmp217 += np.transpose(tmp216, (1, 0, 3, 2, 4, 5)) + rdm2.aaaa.oovv += einsum(t2.aaaa, (0, 1, 2, 3), tmp217, (0, 1, 4, 5, 3, 6), (5, 4, 2, 6)) * 4 + del tmp217 + tmp218 = np.copy(tmp59) * 2 + del tmp59 + tmp218 += tmp60 + del tmp60 + rdm2.aaaa.oovv += einsum(tmp218, (0, 1), t2.aaaa, (2, 3, 4, 0), (2, 3, 1, 4)) * 2 + tmp219 = np.copy(np.transpose(tmp52, (0, 2, 1, 3))) * -1 + tmp219 += np.transpose(tmp54, (0, 2, 1, 3)) * -3 + tmp219 += np.transpose(tmp53, (0, 2, 1, 3)) * -1 + rdm2.aaaa.oovv += einsum(t1.aa, (0, 1), tmp219, (0, 2, 3, 4), (3, 2, 1, 4)) * -2 + del tmp219 + tmp220 = np.copy(np.transpose(tmp215, (1, 0, 3, 2, 4, 5))) + del tmp215 + tmp220 += np.transpose(tmp216, (1, 0, 3, 2, 4, 5)) * 0.2222222222222222 + del tmp216 + rdm2.aaaa.oovv += einsum(tmp220, (0, 1, 2, 3, 4, 5), t2.aaaa, (0, 1, 6, 4), (3, 2, 5, 6)) * -18 + del tmp220 + tmp221 = np.copy(np.transpose(tmp212, (0, 2, 1, 3, 4, 5))) * -1.5 + del tmp212 + tmp221 += np.transpose(tmp213, (0, 2, 1, 3, 4, 5)) * -1 + del tmp213 + rdm2.aaaa.oovv += einsum(t2.abab, (0, 1, 2, 3), tmp221, (0, 4, 5, 1, 6, 3), (5, 4, 6, 2)) * 4 + del tmp221 + tmp222 = np.copy(np.transpose(tmp52, (0, 2, 1, 3))) * -0.3333333333333333 + del tmp52 + tmp222 += np.transpose(tmp54, (0, 2, 1, 3)) * -1 + del tmp54 + tmp222 += np.transpose(tmp53, (0, 2, 1, 3)) * -0.3333333333333333 + del tmp53 + rdm2.aaaa.oovv += einsum(t1.aa, (0, 1), tmp222, (0, 2, 3, 4), (3, 2, 4, 1)) * 6 + del tmp222 + tmp223 = einsum(tmp15, (0, 1, 2, 3), t3.aaaaaa, (4, 0, 1, 5, 6, 3), (4, 2, 5, 6)) * -9 + del tmp15 + rdm2.aaaa.oovv += tmp223 * -2 + tmp224 = einsum(tmp57, (0, 1, 2, 3), t3.abaaba, (4, 2, 0, 5, 3, 6), (4, 1, 5, 6)) * -2 + rdm2.aaaa.oovv += np.transpose(tmp224, (0, 1, 3, 2)) * -2 + tmp230 = np.copy(np.transpose(tmp225, (0, 1, 3, 2))) * 1.5 + tmp230 += np.transpose(tmp226, (0, 1, 3, 2)) * 0.5 + tmp228 = einsum(t2.aaaa, (0, 1, 2, 3), tmp227, (1, 3, 4, 5), (0, 4, 5, 2)) * 2 + tmp230 += tmp228 + tmp229 = einsum(t2.abab, (0, 1, 2, 3), tmp187, (1, 4, 5, 3), (0, 4, 5, 2)) + tmp230 += tmp229 + tmp231 = einsum(t1.aa, (0, 1), tmp230, (2, 1, 3, 4), (2, 0, 3, 4)) * 2 + del tmp230 + rdm2.aaaa.oovv += np.transpose(tmp231, (0, 1, 3, 2)) * -1 + tmp232 = einsum(tmp78, (0, 1), t2.aaaa, (2, 0, 3, 4), (2, 1, 3, 4)) * -1 + del tmp78 + rdm2.aaaa.oovv += np.transpose(tmp232, (0, 1, 3, 2)) * -2 + rdm2.aaaa.oovv += einsum(tmp68, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1)) * -2 + tmp233 = np.copy(np.transpose(tmp225, (0, 1, 3, 2))) * -1 + del tmp225 + tmp233 += np.transpose(tmp226, (0, 1, 3, 2)) * -0.3333333333333333 + del tmp226 + tmp234 = einsum(t1.aa, (0, 1), tmp233, (2, 1, 3, 4), (2, 0, 3, 4)) * 3 + del tmp233 + rdm2.aaaa.oovv += np.transpose(tmp234, (0, 1, 3, 2)) + rdm2.aaaa.oovv += einsum(tmp68, (0, 1), t1.aa, (2, 3), (2, 0, 1, 3)) * 2 + rdm2.aaaa.oovv += np.transpose(tmp224, (1, 0, 3, 2)) * 2 + del tmp224 + rdm2.aaaa.oovv += np.transpose(tmp223, (1, 0, 2, 3)) * 2 + del tmp223 + rdm2.aaaa.oovv += np.transpose(tmp231, (1, 0, 3, 2)) + del tmp231 + rdm2.aaaa.oovv += np.transpose(tmp232, (1, 0, 3, 2)) * 2 + del tmp232 + rdm2.aaaa.oovv += einsum(t1.aa, (0, 1), tmp68, (2, 3), (2, 0, 1, 3)) * 2 + rdm2.aaaa.oovv += np.transpose(tmp234, (1, 0, 3, 2)) * -1 + del tmp234 + rdm2.aaaa.oovv += einsum(tmp68, (0, 1), t1.aa, (2, 3), (0, 2, 1, 3)) * -2 + del tmp68 + tmp237 = np.copy(np.transpose(tmp235, (1, 0, 3, 2))) + del tmp235 + tmp237 += np.transpose(tmp236, (1, 0, 3, 2)) * 0.33333333333333354 + del tmp236 + tmp238 = einsum(t2.aaaa, (0, 1, 2, 3), tmp237, (2, 3, 4, 5), (0, 1, 4, 5)) * 3 + del tmp237 + rdm2.aaaa.oovv += np.transpose(tmp238, (1, 0, 3, 2)) * 2 + del tmp238 + tmp239 = np.copy(np.transpose(tmp10, (1, 0, 3, 2))) * 0.3333333333333468 + tmp239 += np.transpose(tmp8, (1, 0, 3, 2)) + tmp239 += np.transpose(tmp9, (1, 0, 3, 2)) * 0.33333333333333354 + tmp240 = einsum(t2.aaaa, (0, 1, 2, 3), tmp239, (0, 1, 4, 5), (4, 5, 2, 3)) * 3 + del tmp239 + rdm2.aaaa.oovv += np.transpose(tmp240, (1, 0, 3, 2)) * 2 + del tmp240 + tmp244 = einsum(t1.aa, (0, 1), tmp243, (2, 1, 3, 4), (2, 0, 4, 3)) + del tmp243 + rdm2.aaaa.oovv += np.transpose(tmp244, (1, 0, 3, 2)) * -2 + del tmp244 + tmp246 = einsum(t2.aaaa, (0, 1, 2, 3), tmp81, (4, 2, 3, 5), (4, 0, 1, 5)) * 3 + tmp245 = np.copy(np.transpose(tmp10, (1, 0, 3, 2))) * 0.3333333333333333 + del tmp10 + tmp245 += np.transpose(tmp12, (1, 0, 3, 2)) * 0.3333333333333333 + del tmp12 + tmp245 += np.transpose(tmp8, (1, 0, 3, 2)) + del tmp8 + tmp245 += np.transpose(tmp9, (1, 0, 3, 2)) * 0.3333333333333401 + del tmp9 + tmp245 += einsum(t1.aa, (0, 1), tmp55, (2, 3, 4, 1), (3, 2, 4, 0)) * 0.3333333333333333 + tmp246 += einsum(t1.aa, (0, 1), tmp245, (0, 2, 3, 4), (2, 4, 3, 1)) * 3 + del tmp245 + tmp246 += einsum(tmp85, (0, 1, 2, 3), t1.aa, (4, 2), (1, 4, 0, 3)) * -3 + rdm2.aaaa.oovv += einsum(t1.aa, (0, 1), tmp246, (0, 2, 3, 4), (3, 2, 1, 4)) * -2 + del tmp246 + tmp247 = einsum(tmp55, (0, 1, 2, 3), t2.aaaa, (0, 1, 4, 5), (2, 4, 5, 3)) * 0.3333333333333333 + tmp248 = einsum(t1.aa, (0, 1), tmp247, (2, 3, 4, 1), (2, 0, 4, 3)) * -3 + del tmp247 + rdm2.aaaa.oovv += np.transpose(tmp248, (0, 1, 3, 2)) * 2 + tmp249 = einsum(t2.aaaa, (0, 1, 2, 3), tmp81, (4, 2, 3, 5), (4, 0, 1, 5)) + del tmp81 + tmp249 += einsum(tmp85, (0, 1, 2, 3), t1.aa, (4, 2), (1, 4, 0, 3)) * -1 + del tmp85 + rdm2.aaaa.oovv += einsum(tmp249, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 3, 4)) * -6 + del tmp249 + tmp250 = np.copy(tmp228) + del tmp228 + tmp250 += tmp229 + del tmp229 + tmp251 = einsum(tmp250, (0, 1, 2, 3), t1.aa, (4, 1), (0, 4, 2, 3)) * 2 + del tmp250 + rdm2.aaaa.oovv += np.transpose(tmp251, (1, 0, 2, 3)) * -1 + tmp252 = einsum(tmp55, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 3), (4, 1, 2, 5)) * 2 + tmp255 = np.copy(np.transpose(tmp252, (1, 2, 0, 3))) + del tmp252 + tmp253 = einsum(t2.abab, (0, 1, 2, 3), tmp57, (4, 5, 1, 3), (0, 4, 5, 2)) + tmp255 += np.transpose(tmp253, (1, 2, 0, 3)) + del tmp253 + tmp254 = einsum(t1.aa, (0, 1), tmp76, (2, 3, 1, 4), (0, 2, 3, 4)) * 2 + del tmp76 + tmp255 += np.transpose(tmp254, (1, 0, 2, 3)) + del tmp254 + tmp256 = einsum(t1.aa, (0, 1), tmp255, (0, 2, 3, 4), (2, 3, 4, 1)) * 2 + del tmp255 + rdm2.aaaa.oovv += np.transpose(tmp256, (0, 1, 3, 2)) * -1 + rdm2.aaaa.oovv += tmp251 + del tmp251 + rdm2.aaaa.oovv += np.transpose(tmp256, (1, 0, 3, 2)) + rdm2.aaaa.oovv += tmp256 + rdm2.aaaa.oovv += np.transpose(tmp256, (1, 0, 2, 3)) * -1 + del tmp256 + rdm2.aaaa.oovv += np.transpose(tmp248, (1, 0, 3, 2)) * -2 + del tmp248 + tmp257 = einsum(tmp16, (0, 1, 2, 3), t1.aa, (2, 4), (1, 0, 3, 4)) * 0.3333333333333333 + del tmp16 + rdm2.aaaa.oovv += einsum(t1.aa, (0, 1), tmp257, (0, 2, 3, 4), (2, 3, 1, 4)) * 6 + del tmp257 + rdm2.bbbb.oovv = np.copy(t2.bbbb) * 2 + tmp308 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), l1.aa, (4, 1), (0, 2, 3, 5)) + rdm2.bbbb.oovv += np.transpose(tmp308, (1, 0, 3, 2)) * 2 + del tmp308 + tmp309 = einsum(l1.bb, (0, 1), t3.bbbbbb, (2, 3, 1, 4, 5, 0), (2, 3, 4, 5)) + rdm2.bbbb.oovv += np.transpose(tmp309, (1, 0, 3, 2)) * 6 + del tmp309 + tmp310 = np.copy(tmp100) * 0.3333333333333463 + tmp310 += tmp101 * 0.6666666666666926 + tmp310 += tmp102 * 0.33333333333333287 + tmp310 += tmp103 * 0.6666666666666656 + tmp310 += tmp104 + rdm2.bbbb.oovv += einsum(tmp310, (0, 1), t2.bbbb, (2, 3, 4, 0), (2, 3, 4, 1)) * -6 + del tmp310 + tmp311 = np.copy(tmp102) + del tmp102 + tmp311 += tmp103 * 2 + del tmp103 + tmp311 += tmp104 * 3 + del tmp104 + rdm2.bbbb.oovv += einsum(tmp311, (0, 1), t2.bbbb, (2, 3, 4, 0), (2, 3, 1, 4)) * 2 + del tmp311 + tmp312 = einsum(t2.abab, (0, 1, 2, 3), tmp111, (0, 4, 2, 5), (1, 4, 3, 5)) + del tmp111 + rdm2.bbbb.oovv += np.transpose(tmp312, (0, 1, 3, 2)) * -2 + rdm2.bbbb.oovv += np.transpose(tmp312, (1, 0, 2, 3)) * -2 + tmp313 = np.copy(tmp148) * 0.4444444444444444 + tmp313 += tmp149 * 0.1111111111111111 + tmp313 += tmp150 * 0.4444444444444444 + tmp313 += tmp151 + rdm2.bbbb.oovv += einsum(tmp313, (0, 1, 2, 3), t2.bbbb, (4, 0, 5, 2), (1, 4, 5, 3)) * -18 + del tmp313 + tmp314 = np.copy(tmp110) * 0.5 + del tmp110 + tmp314 += tmp112 * 0.75 + tmp314 += tmp113 + tmp314 += tmp114 * 0.75 + tmp315 = einsum(tmp314, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (1, 4, 3, 5)) * 4 + del tmp314 + rdm2.bbbb.oovv += np.transpose(tmp315, (0, 1, 3, 2)) * -1 + rdm2.bbbb.oovv += einsum(tmp92, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1)) * -1 + rdm2.bbbb.oovv += einsum(tmp148, (0, 1, 2, 3), t2.bbbb, (4, 0, 5, 2), (1, 4, 3, 5)) * 8 + del tmp148 + rdm2.bbbb.oovv += tmp312 * 2 + rdm2.bbbb.oovv += np.transpose(tmp312, (1, 0, 3, 2)) * 2 + del tmp312 + rdm2.bbbb.oovv += np.transpose(tmp315, (1, 0, 3, 2)) + del tmp315 + tmp316 = np.copy(tmp149) * 0.1111111111111111 + tmp316 += tmp150 * 0.4444444444444444 + tmp316 += tmp151 + rdm2.bbbb.oovv += einsum(tmp316, (0, 1, 2, 3), t2.bbbb, (4, 0, 5, 2), (4, 1, 5, 3)) * 18 + del tmp316 + rdm2.bbbb.oovv += einsum(t1.bb, (0, 1), tmp92, (2, 3), (0, 2, 1, 3)) + tmp317 = np.copy(tmp149) + del tmp149 + tmp317 += tmp150 * 4 + del tmp150 + tmp317 += tmp151 * 9 + del tmp151 + tmp318 = einsum(t2.bbbb, (0, 1, 2, 3), tmp317, (1, 4, 3, 5), (4, 0, 5, 2)) * 2 + del tmp317 + rdm2.bbbb.oovv += tmp318 + tmp261 = np.copy(tmp112) + del tmp112 + tmp261 += tmp113 * 1.3333333333333333 + del tmp113 + tmp261 += tmp114 + del tmp114 + tmp319 = einsum(t2.abab, (0, 1, 2, 3), tmp261, (0, 4, 2, 5), (4, 1, 5, 3)) * 3 + rdm2.bbbb.oovv += tmp319 + tmp320 = np.copy(tmp87) * 0.5 + del tmp87 + tmp320 += tmp88 + del tmp88 + tmp320 += tmp89 * 0.5 + del tmp89 + tmp320 += tmp90 + del tmp90 + tmp320 += tmp91 * 1.5 + del tmp91 + rdm2.bbbb.oovv += einsum(t1.bb, (0, 1), tmp320, (2, 3), (2, 0, 3, 1)) * 2 + rdm2.bbbb.oovv += np.transpose(tmp318, (1, 0, 2, 3)) * -1 + del tmp318 + rdm2.bbbb.oovv += np.transpose(tmp319, (1, 0, 2, 3)) * -1 + del tmp319 + rdm2.bbbb.oovv += einsum(t1.bb, (0, 1), tmp320, (2, 3), (0, 2, 3, 1)) * -2 + del tmp320 + tmp321 = einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (6, 4, 7, 8, 1, 2), (3, 5, 6, 7, 0, 8)) + tmp323 = np.copy(np.transpose(tmp321, (1, 0, 3, 2, 4, 5))) * 0.2222222222222222 + tmp322 = einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), l3.bbbbbb, (6, 4, 5, 7, 8, 2), (7, 8, 0, 1, 6, 3)) + tmp323 += np.transpose(tmp322, (1, 0, 3, 2, 4, 5)) + rdm2.bbbb.oovv += einsum(tmp323, (0, 1, 2, 3, 4, 5), t2.bbbb, (0, 1, 6, 4), (3, 2, 6, 5)) * 18 + del tmp323 + tmp324 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), l3.abaaba, (6, 5, 4, 7, 8, 1), (7, 8, 0, 2, 6, 3)) + tmp326 = np.copy(np.transpose(tmp324, (0, 1, 3, 2, 4, 5))) * -1 + tmp325 = einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.bbbbbb, (6, 7, 5, 8, 0, 2), (4, 3, 6, 7, 1, 8)) + tmp326 += np.transpose(tmp325, (0, 1, 3, 2, 4, 5)) * -1.5 + rdm2.bbbb.oovv += einsum(t2.abab, (0, 1, 2, 3), tmp326, (0, 1, 4, 5, 2, 6), (5, 4, 3, 6)) * -4 + del tmp326 + tmp327 = np.copy(tmp100) + del tmp100 + tmp327 += tmp101 * 2 + del tmp101 + rdm2.bbbb.oovv += einsum(tmp327, (0, 1), t2.bbbb, (2, 3, 4, 0), (2, 3, 1, 4)) * 2 + del tmp327 + tmp328 = np.copy(np.transpose(tmp133, (0, 2, 1, 3))) * -0.3333333333333333 + tmp328 += np.transpose(tmp134, (0, 2, 1, 3)) * -0.3333333333333333 + tmp328 += np.transpose(tmp135, (0, 2, 1, 3)) * -1 + rdm2.bbbb.oovv += einsum(t1.bb, (0, 1), tmp328, (0, 2, 3, 4), (3, 2, 1, 4)) * -6 + del tmp328 + tmp329 = np.copy(np.transpose(tmp321, (1, 0, 3, 2, 4, 5))) + del tmp321 + tmp329 += np.transpose(tmp322, (1, 0, 3, 2, 4, 5)) * 4.5 + del tmp322 + rdm2.bbbb.oovv += einsum(tmp329, (0, 1, 2, 3, 4, 5), t2.bbbb, (0, 1, 6, 4), (3, 2, 5, 6)) * -4 + del tmp329 + tmp330 = np.copy(np.transpose(tmp324, (0, 1, 3, 2, 4, 5))) * -0.6666666666666666 + del tmp324 + tmp330 += np.transpose(tmp325, (0, 1, 3, 2, 4, 5)) * -1 + del tmp325 + rdm2.bbbb.oovv += einsum(t2.abab, (0, 1, 2, 3), tmp330, (0, 1, 4, 5, 2, 6), (5, 4, 6, 3)) * 6 + del tmp330 + tmp331 = np.copy(np.transpose(tmp133, (0, 2, 1, 3))) * -1 + del tmp133 + tmp331 += np.transpose(tmp134, (0, 2, 1, 3)) * -1 + del tmp134 + tmp331 += np.transpose(tmp135, (0, 2, 1, 3)) * -3 + del tmp135 + rdm2.bbbb.oovv += einsum(tmp331, (0, 1, 2, 3), t1.bb, (0, 4), (2, 1, 3, 4)) * 2 + del tmp331 + tmp332 = einsum(tmp44, (0, 1, 2, 3), t3.bbbbbb, (4, 0, 1, 5, 6, 3), (4, 2, 5, 6)) * -3 + rdm2.bbbb.oovv += tmp332 * -2 + tmp333 = einsum(tmp96, (0, 1, 2, 3), t3.babbab, (4, 0, 1, 5, 3, 6), (2, 4, 5, 6)) * -2 + rdm2.bbbb.oovv += np.transpose(tmp333, (1, 0, 3, 2)) * -2 + tmp338 = np.copy(np.transpose(tmp334, (0, 1, 3, 2))) * 0.08333333333333333 + tmp338 += np.transpose(tmp335, (0, 1, 3, 2)) * 0.25 + tmp336 = einsum(t2.abab, (0, 1, 2, 3), tmp119, (0, 2, 4, 5), (1, 4, 5, 3)) * 0.16666666666666666 + del tmp119 + tmp338 += tmp336 + tmp337 = einsum(t2.bbbb, (0, 1, 2, 3), tmp156, (1, 3, 4, 5), (0, 4, 5, 2)) + del tmp156 + tmp338 += tmp337 + del tmp337 + tmp339 = einsum(t1.bb, (0, 1), tmp338, (2, 1, 3, 4), (2, 0, 3, 4)) * 12 + del tmp338 + rdm2.bbbb.oovv += np.transpose(tmp339, (0, 1, 3, 2)) * -1 + tmp340 = einsum(tmp195, (0, 1), t2.bbbb, (2, 0, 3, 4), (1, 2, 3, 4)) * -1 + del tmp195 + rdm2.bbbb.oovv += np.transpose(tmp340, (1, 0, 3, 2)) * -2 + rdm2.bbbb.oovv += einsum(tmp109, (0, 1), t1.bb, (2, 3), (2, 0, 3, 1)) * -6 + tmp341 = np.copy(np.transpose(tmp334, (0, 1, 3, 2))) * -0.3333333333333333 + del tmp334 + tmp341 += np.transpose(tmp335, (0, 1, 3, 2)) * -1 + del tmp335 + tmp342 = einsum(tmp341, (0, 1, 2, 3), t1.bb, (4, 1), (0, 4, 2, 3)) * 3 + del tmp341 + rdm2.bbbb.oovv += np.transpose(tmp342, (0, 1, 3, 2)) + rdm2.bbbb.oovv += einsum(t1.bb, (0, 1), tmp144, (2, 3), (0, 2, 3, 1)) * 2 + rdm2.bbbb.oovv += np.transpose(tmp332, (1, 0, 2, 3)) * 2 + del tmp332 + rdm2.bbbb.oovv += np.transpose(tmp333, (0, 1, 3, 2)) * 2 + del tmp333 + rdm2.bbbb.oovv += np.transpose(tmp339, (1, 0, 3, 2)) + del tmp339 + rdm2.bbbb.oovv += np.transpose(tmp340, (0, 1, 3, 2)) * 2 + del tmp340 + rdm2.bbbb.oovv += einsum(tmp109, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1)) * 6 + del tmp109 + rdm2.bbbb.oovv += np.transpose(tmp342, (1, 0, 3, 2)) * -1 + del tmp342 + rdm2.bbbb.oovv += einsum(tmp144, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3)) * -2 + del tmp144 + tmp345 = np.copy(np.transpose(tmp343, (1, 0, 3, 2))) * 0.33333333333333354 + tmp345 += np.transpose(tmp344, (1, 0, 3, 2)) + tmp346 = einsum(tmp345, (0, 1, 2, 3), t2.bbbb, (4, 5, 0, 1), (4, 5, 2, 3)) * 3 + del tmp345 + rdm2.bbbb.oovv += np.transpose(tmp346, (1, 0, 3, 2)) * 2 + del tmp346 + tmp347 = np.copy(np.transpose(tmp39, (1, 0, 3, 2))) * 0.3333333333333468 + tmp347 += np.transpose(tmp37, (1, 0, 3, 2)) * 0.33333333333333354 + tmp347 += np.transpose(tmp38, (1, 0, 3, 2)) + tmp348 = einsum(t2.bbbb, (0, 1, 2, 3), tmp347, (0, 1, 4, 5), (4, 5, 2, 3)) * 3 + del tmp347 + rdm2.bbbb.oovv += np.transpose(tmp348, (1, 0, 3, 2)) * 2 + del tmp348 + tmp350 = np.copy(np.transpose(tmp349, (1, 0, 3, 2))) + del tmp349 + tmp350 += np.transpose(tmp343, (1, 0, 3, 2)) + del tmp343 + tmp350 += np.transpose(tmp344, (1, 0, 3, 2)) * 3 + del tmp344 + tmp351 = einsum(tmp350, (0, 1, 2, 3), t1.bb, (4, 0), (4, 1, 2, 3)) + del tmp350 + tmp352 = einsum(tmp351, (0, 1, 2, 3), t1.bb, (4, 1), (0, 4, 3, 2)) + del tmp351 + rdm2.bbbb.oovv += np.transpose(tmp352, (1, 0, 3, 2)) * -2 + del tmp352 + tmp355 = einsum(t2.bbbb, (0, 1, 2, 3), tmp160, (4, 2, 3, 5), (4, 0, 1, 5)) + tmp353 = np.copy(np.transpose(tmp39, (1, 0, 3, 2))) + del tmp39 + tmp353 += np.transpose(tmp41, (1, 0, 3, 2)) + del tmp41 + tmp353 += np.transpose(tmp37, (1, 0, 3, 2)) + del tmp37 + tmp353 += np.transpose(tmp38, (1, 0, 3, 2)) * 3 + del tmp38 + tmp353 += einsum(t1.bb, (0, 1), tmp98, (2, 3, 4, 1), (3, 2, 4, 0)) * 3 + tmp355 += einsum(t1.bb, (0, 1), tmp353, (0, 2, 3, 4), (2, 4, 3, 1)) + del tmp353 + tmp355 += einsum(tmp354, (0, 1, 2, 3), t1.bb, (4, 2), (0, 4, 1, 3)) * -1 + rdm2.bbbb.oovv += einsum(t1.bb, (0, 1), tmp355, (0, 2, 3, 4), (3, 2, 1, 4)) * -2 + del tmp355 + tmp356 = einsum(t2.bbbb, (0, 1, 2, 3), tmp98, (0, 1, 4, 5), (4, 5, 2, 3)) + tmp357 = einsum(t1.bb, (0, 1), tmp356, (2, 1, 3, 4), (2, 0, 4, 3)) * -3 + del tmp356 + rdm2.bbbb.oovv += np.transpose(tmp357, (0, 1, 3, 2)) * 2 + tmp358 = einsum(t2.bbbb, (0, 1, 2, 3), tmp160, (4, 2, 3, 5), (4, 0, 1, 5)) * 0.3333333333333333 + tmp358 += einsum(tmp354, (0, 1, 2, 3), t1.bb, (4, 2), (0, 4, 1, 3)) * -0.3333333333333333 + del tmp354 + rdm2.bbbb.oovv += einsum(t1.bb, (0, 1), tmp358, (0, 2, 3, 4), (2, 3, 4, 1)) * -6 + del tmp358 + tmp360 = np.copy(np.transpose(tmp336, (0, 1, 3, 2))) + del tmp336 + tmp359 = einsum(tmp160, (0, 1, 2, 3), t2.bbbb, (4, 0, 5, 1), (4, 2, 3, 5)) * 0.3333333333333333 + del tmp160 + tmp360 += np.transpose(tmp359, (0, 1, 3, 2)) + del tmp359 + tmp361 = einsum(tmp360, (0, 1, 2, 3), t1.bb, (4, 1), (0, 4, 2, 3)) * 12 + del tmp360 + rdm2.bbbb.oovv += np.transpose(tmp361, (1, 0, 3, 2)) * -1 + tmp362 = einsum(t2.abab, (0, 1, 2, 3), tmp96, (0, 4, 5, 2), (4, 5, 1, 3)) * 0.16666666666666666 + tmp365 = np.copy(tmp362) + del tmp362 + tmp363 = einsum(tmp98, (0, 1, 2, 3), t2.bbbb, (4, 0, 5, 3), (1, 2, 4, 5)) + tmp365 += tmp363 + del tmp363 + tmp364 = einsum(tmp260, (0, 1, 2, 3), t1.bb, (4, 2), (0, 1, 4, 3)) * 0.08333333333333333 + tmp365 += np.transpose(tmp364, (0, 2, 1, 3)) + del tmp364 + tmp366 = einsum(t1.bb, (0, 1), tmp365, (0, 2, 3, 4), (2, 3, 4, 1)) * 12 + del tmp365 + rdm2.bbbb.oovv += np.transpose(tmp366, (0, 1, 3, 2)) * -1 + rdm2.bbbb.oovv += np.transpose(tmp361, (0, 1, 3, 2)) + del tmp361 + rdm2.bbbb.oovv += np.transpose(tmp366, (1, 0, 3, 2)) + del tmp366 + tmp367 = einsum(t2.abab, (0, 1, 2, 3), tmp96, (0, 4, 5, 2), (4, 5, 1, 3)) + tmp367 += einsum(tmp98, (0, 1, 2, 3), t2.bbbb, (4, 0, 5, 3), (1, 2, 4, 5)) * 6 + tmp367 += einsum(tmp260, (0, 1, 2, 3), t1.bb, (4, 2), (0, 4, 1, 3)) * 0.5 + rdm2.bbbb.oovv += einsum(tmp367, (0, 1, 2, 3), t1.bb, (0, 4), (1, 2, 3, 4)) * 2 + del tmp367 + tmp368 = einsum(t2.abab, (0, 1, 2, 3), tmp96, (0, 4, 5, 2), (4, 5, 1, 3)) * 0.5 + tmp368 += einsum(tmp98, (0, 1, 2, 3), t2.bbbb, (4, 0, 5, 3), (1, 2, 4, 5)) * 3 + tmp368 += einsum(tmp260, (0, 1, 2, 3), t1.bb, (4, 2), (0, 4, 1, 3)) * 0.25 + rdm2.bbbb.oovv += einsum(t1.bb, (0, 1), tmp368, (0, 2, 3, 4), (3, 2, 4, 1)) * -4 + del tmp368 + rdm2.bbbb.oovv += np.transpose(tmp357, (1, 0, 3, 2)) * -2 + del tmp357 + tmp369 = einsum(tmp197, (0, 1, 2, 3), t1.bb, (2, 4), (1, 0, 3, 4)) + del tmp197 + rdm2.bbbb.oovv += einsum(t1.bb, (0, 1), tmp369, (0, 2, 3, 4), (2, 3, 1, 4)) * 6 + del tmp369 + rdm2.abab.oovv = np.copy(t2.abab) + rdm2.abab.oovv += einsum(l1.bb, (0, 1), t3.babbab, (2, 3, 1, 4, 5, 0), (3, 2, 5, 4)) * 2 + tmp258 = einsum(l1.aa, (0, 1), t3.abaaba, (2, 3, 1, 4, 5, 0), (2, 3, 4, 5)) + rdm2.abab.oovv += tmp258 * 2 + del tmp258 + rdm2.abab.oovv += einsum(t2.abab, (0, 1, 2, 3), tmp105, (3, 4), (0, 1, 2, 4)) * -1 + tmp259 = np.copy(tmp61) * 3 + del tmp61 + tmp259 += tmp62 * 2 + del tmp62 + tmp259 += tmp63 + del tmp63 + rdm2.abab.oovv += einsum(tmp259, (0, 1), t2.abab, (2, 3, 0, 4), (2, 3, 1, 4)) * -1 + del tmp259 + rdm2.abab.oovv += einsum(tmp71, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (1, 4, 3, 5)) * 4 + del tmp71 + rdm2.abab.oovv += einsum(t2.bbbb, (0, 1, 2, 3), tmp178, (4, 1, 5, 3), (4, 0, 5, 2)) * 4 + del tmp178 + rdm2.abab.oovv += einsum(tmp260, (0, 1, 2, 3), t2.abab, (4, 0, 5, 2), (4, 1, 5, 3)) + del tmp260 + rdm2.abab.oovv += einsum(tmp261, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 2), (4, 1, 5, 3)) * 6 + del tmp261 + rdm2.abab.oovv += einsum(t1.aa, (0, 1), tmp92, (2, 3), (0, 2, 1, 3)) + del tmp92 + rdm2.abab.oovv += einsum(tmp209, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (1, 4, 3, 5)) + del tmp209 + tmp262 = np.copy(tmp180) * 0.75 + del tmp180 + tmp262 += tmp181 + del tmp181 + tmp262 += tmp182 * 0.75 + del tmp182 + rdm2.abab.oovv += einsum(tmp262, (0, 1, 2, 3), t2.bbbb, (4, 1, 5, 3), (0, 4, 2, 5)) * 8 + del tmp262 + tmp263 = np.copy(tmp46) * 2 + del tmp46 + tmp263 += tmp47 + del tmp47 + tmp263 += tmp48 * 3 + del tmp48 + tmp263 += tmp49 * 2 + del tmp49 + tmp263 += tmp50 + del tmp50 + rdm2.abab.oovv += einsum(tmp263, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3)) + del tmp263 + tmp264 = einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), t3.abaaba, (6, 7, 5, 1, 8, 2), (3, 4, 6, 7, 0, 8)) + tmp264 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), l3.abaaba, (6, 5, 4, 7, 2, 8), (7, 8, 1, 0, 6, 3)) * 0.6666666666666666 + rdm2.abab.oovv += einsum(t2.aaaa, (0, 1, 2, 3), tmp264, (0, 1, 4, 5, 3, 6), (4, 5, 2, 6)) * 6 + del tmp264 + tmp265 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (6, 7, 5, 0, 8, 2), (3, 6, 4, 7, 1, 8)) * 0.5 + tmp265 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (6, 7, 5, 8, 1, 2), (4, 7, 3, 6, 0, 8)) + rdm2.abab.oovv += einsum(t2.abab, (0, 1, 2, 3), tmp265, (0, 4, 1, 5, 3, 6), (4, 5, 2, 6)) * -4 + del tmp265 + rdm2.abab.oovv += einsum(t2.abab, (0, 1, 2, 3), tmp218, (2, 4), (0, 1, 4, 3)) * -1 + del tmp218 + tmp266 = np.copy(tmp94) * 0.5 + del tmp94 + tmp266 += tmp93 + del tmp93 + tmp266 += tmp95 + del tmp95 + rdm2.abab.oovv += einsum(t1.aa, (0, 1), tmp266, (0, 2, 3, 4), (2, 3, 1, 4)) * -2 + del tmp266 + tmp267 = einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.abaaba, (6, 7, 4, 8, 2, 1), (6, 3, 5, 7, 8, 0)) + tmp267 += einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), t3.babbab, (6, 7, 5, 1, 8, 2), (7, 3, 4, 6, 8, 0)) * 1.5 + rdm2.abab.oovv += einsum(t2.bbbb, (0, 1, 2, 3), tmp267, (4, 0, 1, 5, 6, 3), (4, 5, 6, 2)) * 4 + del tmp267 + tmp268 = einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), l3.abaaba, (6, 4, 5, 7, 8, 2), (7, 0, 8, 1, 6, 3)) + tmp268 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (6, 7, 5, 0, 8, 2), (4, 7, 3, 6, 1, 8)) * 0.5 + rdm2.abab.oovv += einsum(t2.abab, (0, 1, 2, 3), tmp268, (0, 4, 1, 5, 2, 6), (4, 5, 6, 3)) * -4 + del tmp268 + tmp269 = np.copy(tmp176) * 0.5 + del tmp176 + tmp269 += tmp177 + del tmp177 + tmp269 += tmp175 + del tmp175 + rdm2.abab.oovv += einsum(tmp269, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 3, 4)) * -2 + del tmp269 + rdm2.abab.oovv += einsum(tmp44, (0, 1, 2, 3), t3.babbab, (0, 4, 1, 5, 6, 3), (4, 2, 6, 5)) * 2 + del tmp44 + tmp270 = einsum(tmp96, (0, 1, 2, 3), t3.abaaba, (4, 1, 0, 5, 6, 3), (4, 2, 5, 6)) * 2 + rdm2.abab.oovv += tmp270 * -2 + del tmp270 + tmp275 = np.copy(tmp271) + tmp275 += tmp272 * 2 + del tmp272 + tmp275 += tmp273 + del tmp273 + tmp275 += tmp274 + del tmp274 + rdm2.abab.oovv += einsum(t1.bb, (0, 1), tmp275, (2, 3, 1, 4), (2, 0, 3, 4)) * -1 + del tmp275 + rdm2.abab.oovv += einsum(t2.abab, (0, 1, 2, 3), tmp36, (1, 4), (0, 4, 2, 3)) * -2 + del tmp36 + tmp276 = einsum(t2.abab, (0, 1, 2, 3), tmp96, (0, 1, 4, 2), (4, 3)) * 2 + tmp276 += einsum(tmp98, (0, 1, 2, 3), t2.bbbb, (0, 1, 4, 3), (2, 4)) * -6 + tmp276 += einsum(t1.bb, (0, 1), tmp105, (1, 2), (0, 2)) + del tmp105 + tmp276 += einsum(t1.bb, (0, 1), tmp138, (0, 2), (2, 1)) + del tmp138 + rdm2.abab.oovv += einsum(tmp276, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1)) * -1 + del tmp276 + tmp277 = einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), tmp55, (0, 2, 6, 5), (6, 1, 3, 4)) * -1 + rdm2.abab.oovv += tmp277 * -2 + del tmp277 + rdm2.abab.oovv += einsum(tmp57, (0, 1, 2, 3), t3.babbab, (4, 0, 2, 5, 6, 3), (1, 4, 6, 5)) * -4 + tmp281 = np.copy(tmp278) + tmp281 += tmp279 * 2 + del tmp279 + tmp281 += tmp280 * -1 + del tmp280 + rdm2.abab.oovv += einsum(t1.aa, (0, 1), tmp281, (2, 1, 3, 4), (0, 2, 3, 4)) * -1 + del tmp281 + rdm2.abab.oovv += einsum(t2.abab, (0, 1, 2, 3), tmp7, (0, 4), (4, 1, 2, 3)) * -1 + del tmp7 + rdm2.abab.oovv += einsum(t1.bb, (0, 1), tmp271, (2, 3, 1, 4), (2, 0, 3, 4)) * -1 + del tmp271 + rdm2.abab.oovv += einsum(t1.aa, (0, 1), tmp278, (2, 1, 3, 4), (0, 2, 3, 4)) * -1 + del tmp278 + tmp282 = einsum(t2.aaaa, (0, 1, 2, 3), tmp55, (0, 1, 4, 3), (4, 2)) * -2 + tmp282 += einsum(t2.abab, (0, 1, 2, 3), tmp57, (0, 4, 1, 3), (4, 2)) * 2 + tmp282 += einsum(tmp64, (0, 1), t1.aa, (2, 0), (2, 1)) * 2 + del tmp64 + tmp282 += einsum(t1.aa, (0, 1), tmp66, (0, 2), (2, 1)) * 3 + del tmp66 + rdm2.abab.oovv += einsum(t1.bb, (0, 1), tmp282, (2, 3), (2, 0, 3, 1)) * -1 + del tmp282 + tmp285 = np.copy(tmp283) * 0.5000000000000002 + tmp285 += tmp284 + del tmp284 + rdm2.abab.oovv += einsum(t2.abab, (0, 1, 2, 3), tmp285, (2, 4, 3, 5), (0, 1, 4, 5)) * 2 + del tmp285 + tmp286 = np.copy(tmp24) * 0.5000000000000202 + del tmp24 + tmp286 += tmp27 + del tmp27 + tmp286 += tmp28 + del tmp28 + rdm2.abab.oovv += einsum(tmp286, (0, 1, 2, 3), t2.abab, (0, 2, 4, 5), (1, 3, 4, 5)) * 2 + del tmp286 + tmp289 = einsum(t1.bb, (0, 1), tmp288, (2, 3, 1, 4), (0, 2, 3, 4)) + del tmp288 + rdm2.abab.oovv += einsum(tmp289, (0, 1, 2, 3), t1.aa, (4, 1), (4, 0, 2, 3)) + del tmp289 + tmp290 = np.copy(tmp120) + del tmp120 + tmp290 += tmp123 + del tmp123 + tmp290 += tmp125 + del tmp125 + rdm2.abab.oovv += einsum(t1.aa, (0, 1), tmp290, (0, 2, 3, 4), (2, 3, 1, 4)) + del tmp290 + tmp291 = einsum(tmp57, (0, 1, 2, 3), t2.abab, (0, 2, 4, 5), (1, 4, 3, 5)) * -1 + rdm2.abab.oovv += einsum(t1.bb, (0, 1), tmp291, (2, 3, 1, 4), (2, 0, 3, 4)) * -2 + del tmp291 + rdm2.abab.oovv += einsum(t2.abab, (0, 1, 2, 3), tmp190, (1, 4, 2, 5), (0, 4, 5, 3)) + del tmp190 + tmp292 = np.copy(tmp128) + del tmp128 + tmp292 += tmp129 + del tmp129 + rdm2.abab.oovv += einsum(t2.abab, (0, 1, 2, 3), tmp292, (0, 4, 3, 5), (4, 1, 2, 5)) * 2 + del tmp292 + tmp293 = np.copy(tmp191) + del tmp191 + tmp293 += tmp192 + del tmp192 + rdm2.abab.oovv += einsum(tmp293, (0, 1, 2, 3), t2.abab, (4, 0, 2, 5), (4, 1, 3, 5)) * 2 + del tmp293 + rdm2.abab.oovv += einsum(tmp283, (0, 1, 2, 3), t2.abab, (4, 5, 0, 2), (4, 5, 1, 3)) + del tmp283 + rdm2.abab.oovv += einsum(tmp294, (0, 1, 2, 3), t1.aa, (4, 1), (4, 0, 2, 3)) + del tmp294 + tmp295 = einsum(tmp187, (0, 1, 2, 3), t2.abab, (4, 5, 1, 3), (4, 0, 5, 2)) + tmp295 += einsum(tmp189, (0, 1, 2, 3), t1.aa, (4, 2), (4, 0, 1, 3)) + del tmp189 + rdm2.abab.oovv += einsum(tmp295, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 3, 4)) * 2 + del tmp295 + tmp296 = einsum(tmp227, (0, 1, 2, 3), t2.abab, (0, 4, 1, 5), (4, 2, 3, 5)) * 0.3333333333333333 + del tmp227 + tmp296 += einsum(t2.bbbb, (0, 1, 2, 3), tmp187, (1, 4, 5, 3), (0, 4, 5, 2)) * 0.6666666666666666 + rdm2.abab.oovv += einsum(tmp296, (0, 1, 2, 3), t1.aa, (4, 1), (4, 0, 2, 3)) * -6 + del tmp296 + tmp298 = einsum(t2.abab, (0, 1, 2, 3), tmp55, (0, 4, 5, 2), (4, 5, 1, 3)) + del tmp55 + tmp298 += einsum(tmp57, (0, 1, 2, 3), t2.bbbb, (4, 2, 5, 3), (0, 1, 4, 5)) * 2 + tmp298 += einsum(t1.aa, (0, 1), tmp297, (2, 3, 1, 4), (2, 0, 3, 4)) + del tmp297 + rdm2.abab.oovv += einsum(t1.aa, (0, 1), tmp298, (0, 2, 3, 4), (2, 3, 1, 4)) * -2 + del tmp298 + tmp299 = einsum(tmp187, (0, 1, 2, 3), t2.abab, (4, 0, 1, 5), (4, 2, 3, 5)) * -1 + del tmp187 + rdm2.abab.oovv += einsum(t1.bb, (0, 1), tmp299, (2, 3, 1, 4), (2, 0, 3, 4)) * -2 + del tmp299 + tmp301 = np.copy(tmp126) + del tmp126 + tmp301 += einsum(t1.bb, (0, 1), tmp300, (2, 3, 1, 4), (2, 3, 0, 4)) + del tmp300 + rdm2.abab.oovv += einsum(t1.aa, (0, 1), tmp301, (0, 2, 3, 4), (2, 3, 1, 4)) + del tmp301 + tmp303 = einsum(tmp57, (0, 1, 2, 3), t2.abab, (0, 4, 5, 3), (1, 2, 4, 5)) + del tmp57 + tmp303 += einsum(t1.aa, (0, 1), tmp302, (2, 3, 1, 4), (0, 2, 3, 4)) * 0.5 + del tmp302 + rdm2.abab.oovv += einsum(t1.bb, (0, 1), tmp303, (2, 0, 3, 4), (2, 3, 4, 1)) * 2 + del tmp303 + tmp305 = einsum(t2.aaaa, (0, 1, 2, 3), tmp96, (1, 4, 5, 3), (0, 4, 5, 2)) * 2 + tmp305 += einsum(t2.abab, (0, 1, 2, 3), tmp98, (1, 4, 5, 3), (0, 4, 5, 2)) * 3 + del tmp98 + tmp305 += einsum(t1.bb, (0, 1), tmp304, (2, 3, 4, 1), (2, 3, 0, 4)) + del tmp304 + rdm2.abab.oovv += einsum(t1.bb, (0, 1), tmp305, (2, 0, 3, 4), (2, 3, 4, 1)) * -2 + del tmp305 + tmp306 = einsum(tmp96, (0, 1, 2, 3), t2.abab, (0, 1, 4, 5), (2, 3, 4, 5)) * -1 + del tmp96 + rdm2.abab.oovv += einsum(t1.aa, (0, 1), tmp306, (2, 1, 3, 4), (0, 2, 3, 4)) * -2 + del tmp306 + tmp307 = einsum(tmp131, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 3, 4)) + del tmp131 + rdm2.abab.oovv += einsum(t1.aa, (0, 1), tmp307, (0, 2, 3, 4), (2, 3, 1, 4)) * 2 + del tmp307 + rdm2.aaaa = pack_2e(rdm2.aaaa.oooo, rdm2.aaaa.ooov, rdm2.aaaa.oovo, rdm2.aaaa.ovoo, rdm2.aaaa.vooo, rdm2.aaaa.oovv, rdm2.aaaa.ovov, rdm2.aaaa.ovvo, rdm2.aaaa.voov, rdm2.aaaa.vovo, rdm2.aaaa.vvoo, rdm2.aaaa.ovvv, rdm2.aaaa.vovv, rdm2.aaaa.vvov, rdm2.aaaa.vvvo, rdm2.aaaa.vvvv) + rdm2.abab = pack_2e(rdm2.abab.oooo, rdm2.abab.ooov, rdm2.abab.oovo, rdm2.abab.ovoo, rdm2.abab.vooo, rdm2.abab.oovv, rdm2.abab.ovov, rdm2.abab.ovvo, rdm2.abab.voov, rdm2.abab.vovo, rdm2.abab.vvoo, rdm2.abab.ovvv, rdm2.abab.vovv, rdm2.abab.vvov, rdm2.abab.vvvo, rdm2.abab.vvvv) + rdm2.bbbb = pack_2e(rdm2.bbbb.oooo, rdm2.bbbb.ooov, rdm2.bbbb.oovo, rdm2.bbbb.ovoo, rdm2.bbbb.vooo, rdm2.bbbb.oovv, rdm2.bbbb.ovov, rdm2.bbbb.ovvo, rdm2.bbbb.voov, rdm2.bbbb.vovo, rdm2.bbbb.vvoo, rdm2.bbbb.ovvv, rdm2.bbbb.vovv, rdm2.bbbb.vvov, rdm2.bbbb.vvvo, rdm2.bbbb.vvvv) + rdm2 = Namespace( + aaaa=np.transpose(rdm2.aaaa, (0, 2, 1, 3)), + aabb=np.transpose(rdm2.abab, (0, 2, 1, 3)), + bbbb=np.transpose(rdm2.bbbb, (0, 2, 1, 3)), + ) - return rdm2_f + return rdm2 From 62b37354717a9dd9632a75aac8b480579ac97f9b Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Wed, 23 Oct 2024 08:54:30 +0100 Subject: [PATCH 138/168] Fix headers --- ebcc/codegen/GCCSDT.py | 3 +-- ebcc/codegen/RCCSDT.py | 3 +-- ebcc/codegen/UCCSDT.py | 3 +-- 3 files changed, 3 insertions(+), 6 deletions(-) diff --git a/ebcc/codegen/GCCSDT.py b/ebcc/codegen/GCCSDT.py index 702c3448..fc050862 100644 --- a/ebcc/codegen/GCCSDT.py +++ b/ebcc/codegen/GCCSDT.py @@ -3,8 +3,7 @@ https://github.com/obackhouse/albert * date: 2024-10-22T10:27:00.201876 - * python version: 3.9.6 (default, Feb 3 2024, 15:58:27) -[Clang 15.0.0 (clang-1500.3.9.4)] + * python version: 3.9.6 (default, Feb 3 2024, 15:58:27) [Clang 15.0.0 (clang-1500.3.9.4)] * albert version: 0.0.0 * caller: /Users/oliver.backhouse/env/default/lib/python3.9/site-packages/albert/codegen/einsum.py * node: F9HJ673GV7.local diff --git a/ebcc/codegen/RCCSDT.py b/ebcc/codegen/RCCSDT.py index f4e89ac7..b0a16749 100644 --- a/ebcc/codegen/RCCSDT.py +++ b/ebcc/codegen/RCCSDT.py @@ -3,8 +3,7 @@ https://github.com/obackhouse/albert * date: 2024-10-22T08:36:46.827960 - * python version: 3.9.6 (default, Feb 3 2024, 15:58:27) -[Clang 15.0.0 (clang-1500.3.9.4)] + * python version: 3.9.6 (default, Feb 3 2024, 15:58:27) [Clang 15.0.0 (clang-1500.3.9.4)] * albert version: 0.0.0 * caller: /Users/oliver.backhouse/env/default/lib/python3.9/site-packages/albert/codegen/einsum.py * node: F9HJ673GV7.local diff --git a/ebcc/codegen/UCCSDT.py b/ebcc/codegen/UCCSDT.py index 48cd6bf0..e7293473 100644 --- a/ebcc/codegen/UCCSDT.py +++ b/ebcc/codegen/UCCSDT.py @@ -3,8 +3,7 @@ https://github.com/obackhouse/albert * date: 2024-10-22T10:42:02.333487 - * python version: 3.9.6 (default, Feb 3 2024, 15:58:27) -[Clang 15.0.0 (clang-1500.3.9.4)] + * python version: 3.9.6 (default, Feb 3 2024, 15:58:27) [Clang 15.0.0 (clang-1500.3.9.4)] * albert version: 0.0.0 * caller: /Users/oliver.backhouse/env/default/lib/python3.9/site-packages/albert/codegen/einsum.py * node: F9HJ673GV7.local From b2ca93d74b10619c631edcdd95f7b1ec576ff11a Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Wed, 23 Oct 2024 09:52:18 +0100 Subject: [PATCH 139/168] More QCISD --- ebcc/codegen/bootstrap_DFQCISD.py | 744 +++++++++++++++++++ ebcc/codegen/bootstrap_QCISD.py | 1110 ++++++++++++++--------------- 2 files changed, 1297 insertions(+), 557 deletions(-) diff --git a/ebcc/codegen/bootstrap_DFQCISD.py b/ebcc/codegen/bootstrap_DFQCISD.py index e432edcd..cd7fa95c 100644 --- a/ebcc/codegen/bootstrap_DFQCISD.py +++ b/ebcc/codegen/bootstrap_DFQCISD.py @@ -37,6 +37,8 @@ pq.set_left_operators([["1"]]) pq.add_operator_product(1.0, ["f"]) pq.add_operator_product(1.0, ["v"]) + pq.add_commutator(1.0, ["f"], ["t1"]) + pq.add_commutator(1.0, ["v"], ["t1"]) pq.add_commutator(1.0, ["f"], ["t2"]) pq.add_commutator(1.0, ["v"], ["t2"]) pq.simplify() @@ -122,6 +124,748 @@ **kwargs, ) +with Stopwatch("L amplitudes"): + # Get the L1 contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["1"]]) + pq.set_right_operators([["1"]]) + pq.add_commutator(1.0, ["f", "e1(a,i)"], ["t1"]) + pq.add_commutator(1.0, ["v", "e1(a,i)"], ["t1"]) + pq.add_commutator(1.0, ["f", "e1(a,i)"], ["t2"]) + pq.add_commutator(1.0, ["v", "e1(a,i)"], ["t2"]) + pq.add_double_commutator(1.0, ["f", "e1(a,i)"], ["t1"], ["t2"]) + pq.add_double_commutator(1.0, ["v", "e1(a,i)"], ["t1"], ["t2"]) + pq.set_left_operators([["l1"], ["l2"]]) + pq.add_commutator(1.0, ["f", "e1(a,i)"], ["t1"]) + pq.add_commutator(1.0, ["v", "e1(a,i)"], ["t1"]) + pq.add_commutator(1.0, ["f", "e1(a,i)"], ["t2"]) + pq.add_commutator(1.0, ["v", "e1(a,i)"], ["t2"]) + pq.add_double_commutator(1.0, ["f", "e1(a,i)"], ["t1"], ["t2"]) + pq.add_double_commutator(1.0, ["v", "e1(a,i)"], ["t1"], ["t2"]) + pq.add_commutator(-1.0, ["e1(a,i)", "f"], ["t1"]) + pq.add_commutator(-1.0, ["e1(a,i)", "v"], ["t1"]) + pq.add_commutator(-1.0, ["e1(a,i)", "f"], ["t2"]) + pq.add_commutator(-1.0, ["e1(a,i)", "v"], ["t2"]) + pq.add_double_commutator(-1.0, ["e1(a,i)", "f"], ["t1"], ["t2"]) + pq.add_double_commutator(-1.0, ["e1(a,i)", "v"], ["t1"], ["t2"]) + pq.simplify() + terms_l1 = pq.fully_contracted_strings() + + # Get the L2 contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["1"]]) + pq.set_right_operators([["1"]]) + pq.add_commutator(1.0, ["f", "e2(a,b,j,i)"], ["t1"]) + pq.add_commutator(1.0, ["v", "e2(a,b,j,i)"], ["t1"]) + pq.add_commutator(1.0, ["f", "e2(a,b,j,i)"], ["t2"]) + pq.add_commutator(1.0, ["v", "e2(a,b,j,i)"], ["t2"]) + pq.add_double_commutator(1.0, ["f", "e2(a,b,j,i)"], ["t1"], ["t2"]) + pq.add_double_commutator(1.0, ["v", "e2(a,b,j,i)"], ["t1"], ["t2"]) + pq.set_left_operators([["l1"], ["l2"]]) + pq.add_commutator(1.0, ["f", "e2(a,b,j,i)"], ["t1"]) + pq.add_commutator(1.0, ["v", "e2(a,b,j,i)"], ["t1"]) + pq.add_commutator(1.0, ["f", "e2(a,b,j,i)"], ["t2"]) + pq.add_commutator(1.0, ["v", "e2(a,b,j,i)"], ["t2"]) + pq.add_double_commutator(1.0, ["f", "e2(a,b,j,i)"], ["t1"], ["t2"]) + pq.add_double_commutator(1.0, ["v", "e2(a,b,j,i)"], ["t1"], ["t2"]) + pq.add_commutator(-1.0, ["e2(a,b,j,i)", "f"], ["t1"]) + pq.add_commutator(-1.0, ["e2(a,b,j,i)", "v"], ["t1"]) + pq.add_commutator(-1.0, ["e2(a,b,j,i)", "f"], ["t2"]) + pq.add_commutator(-1.0, ["e2(a,b,j,i)", "v"], ["t2"]) + pq.add_double_commutator(-1.0, ["e2(a,b,j,i)", "f"], ["t1"], ["t2"]) + pq.add_double_commutator(-1.0, ["e2(a,b,j,i)", "v"], ["t1"], ["t2"]) + pq.simplify() + terms_l2 = pq.fully_contracted_strings() + + # Get the L amplitudes in albert format + terms = [terms_l1, terms_l2] + expr = [] + output = [] + returns = [] + for n in range(2): + for index_spins in get_amplitude_spins(n + 1, spin): + indices = default_indices["v"][: n + 1] + default_indices["o"][: n + 1] + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + expr_n = tuple(e.apply(get_density_fit()) for e in expr_n) + output_n = get_l_amplitude_outputs(expr_n, f"l{n+1}new") + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"l{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + output, expr = optimise(output, expr, spin, strategy="opt") + + # Generate the L amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "preamble": "l1new = Namespace()\nl2new = Namespace()" if spin == "uhf" else None, + "as_dict": True, + } + else: + kwargs = {} + codegen( + "update_lams", + returns, + output, + expr, + **kwargs, + ) + +with Stopwatch("1RDM"): + # Get the 1RDM contractions in pdaggerq format + terms = {} + for sectors, indices in [("oo", "ij"), ("ov", "ia"), ("vo", "ai"), ("vv", "ab")]: + pq.clear() + pq.set_left_operators([["1"], ["l1"], ["l2"]]) + pq.add_st_operator(1.0, [f"e1({','.join(indices)})"], ["t1", "t2"]) + pq.simplify() + terms[sectors, indices] = pq.fully_contracted_strings() + + # Get the 1RDM in albert format + expr = [] + output = [] + returns = [] + for sectors, indices in [("oo", "ij"), ("ov", "ia"), ("vo", "ai"), ("vv", "ab")]: + for index_spins in get_density_spins(1, spin, indices): + expr_n = import_from_pdaggerq(terms[sectors, indices], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + expr_n = tuple(e.apply(get_density_fit()) for e in expr_n) + if spin == "rhf": + expr_n = tuple(e * 2 for e in expr_n) + output_n = get_density_outputs(expr_n, f"d", indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i], space=s) for i, s in zip(indices, sectors)), name=f"d"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + output, expr = optimise(output, expr, spin, strategy="exhaust") + + # Generate the 1RDM code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "preamble": get_density_einsum_preamble(1, spin), + "postamble": get_density_einsum_postamble(1, spin), + } + else: + kwargs = {} + codegen( + "make_rdm1_f", + returns, + output, + expr, + **kwargs, + ) + +with Stopwatch("2RDM"): + # Get the 2RDM contractions in pdaggerq format + terms = {} + for sectors, indices in [ + ("oooo", "ijkl"), + ("ooov", "ijka"), + ("oovo", "ijak"), + ("ovoo", "iajk"), + ("vooo", "aijk"), + ("oovv", "ijab"), + ("ovov", "iajb"), + ("ovvo", "iabj"), + ("voov", "aijb"), + ("vovo", "aibj"), + ("vvoo", "abij"), + ("ovvv", "iabc"), + ("vovv", "aibc"), + ("vvov", "abic"), + ("vvvo", "abci"), + ("vvvv", "abcd"), + ]: + pq.clear() + pq.set_left_operators([["1"], ["l1"], ["l2"]]) + pq.add_st_operator( + 1.0, [f"e2({indices[0]},{indices[1]},{indices[3]},{indices[2]})"], ["t1", "t2"] + ) + pq.simplify() + terms[sectors, indices] = pq.fully_contracted_strings() + + # Get the 2RDM in albert format + expr = [] + output = [] + returns = [] + for sectors, indices in [ + ("oooo", "ijkl"), + ("ooov", "ijka"), + ("oovo", "ijak"), + ("ovoo", "iajk"), + ("vooo", "aijk"), + ("oovv", "ijab"), + ("ovov", "iajb"), + ("ovvo", "iabj"), + ("voov", "aijb"), + ("vovo", "aibj"), + ("vvoo", "abij"), + ("ovvv", "iabc"), + ("vovv", "aibc"), + ("vvov", "abic"), + ("vvvo", "abci"), + ("vvvv", "abcd"), + ]: + for index_spins in get_density_spins(2, spin, indices): + expr_n = import_from_pdaggerq(terms[sectors, indices], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + expr_n = tuple(e.apply(get_density_fit()) for e in expr_n) + output_n = get_density_outputs(expr_n, f"Γ", indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i], space=s) for i, s in zip(indices, sectors)), name=f"Γ"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + output, expr = optimise(output, expr, spin, strategy="trav") + + # Generate the 2RDM code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "preamble": get_density_einsum_preamble(2, spin), + "postamble": get_density_einsum_postamble(2, spin), + } + codegen( + "make_rdm2_f", + returns, + output, + expr, + **kwargs, + ) + +with Stopwatch("IP-EOM"): + # Get the R1 contractions in pdaggerq format + pq.clear() + pq.set_right_operators_type("IP") + pq.set_left_operators([["a*(i)"]]) + pq.set_right_operators([["r1"], ["r2"]]) + pq.add_commutator(1.0, ["f"], ["t1"]) + pq.add_commutator(1.0, ["v"], ["t1"]) + pq.add_commutator(1.0, ["f"], ["t2"]) + pq.add_commutator(1.0, ["v"], ["t2"]) + pq.add_double_commutator(1.0, ["f"], ["t1"], ["t2"]) + pq.add_double_commutator(1.0, ["v"], ["t1"], ["t2"]) + pq.simplify() + terms_r1 = pq.fully_contracted_strings() + terms_r1 = remove_e0_eom(terms_r1) + + # Get the R2 contractions in pdaggerq format + pq.clear() + pq.set_right_operators_type("IP") + pq.set_left_operators([["a*(i)", "a*(j)", "a(a)"]]) + pq.set_right_operators([["r1"], ["r2"]]) + pq.add_operator_product(1.0, ["f"]) + pq.add_operator_product(1.0, ["v"]) + pq.add_commutator(1.0, ["f"], ["t1"]) + pq.add_commutator(1.0, ["v"], ["t1"]) + pq.add_commutator(1.0, ["f"], ["t2"]) + pq.add_commutator(1.0, ["v"], ["t2"]) + pq.add_double_commutator(0.5, ["f"], ["t2"], ["t2"]) + pq.add_double_commutator(0.5, ["v"], ["t2"], ["t2"]) + pq.simplify() + terms_r2 = pq.fully_contracted_strings() + terms_r2 = remove_e0_eom(terms_r2) + + # Get the R amplitudes in albert format + terms = [terms_r1, terms_r2] + expr = [] + output = [] + returns = [] + for n in range(2): + for index_spins in get_amplitude_spins(n + 1, spin, which="ip"): + indices = default_indices["o"][: n + 1] + default_indices["v"][: n] + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + expr_n = tuple(e.apply(get_density_fit()) for e in expr_n) + output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + + (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="opt") + + # Generate the R amplitude intermediates code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_matvec_ip_intermediates", + returns_nr, + output_nr, + expr_nr, + **kwargs, + ) + + # Generate the R amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + preamble = "ints = kwargs[\"ints\"]" + if spin == "uhf": + preamble += "\nr1new = Namespace()\nr2new = Namespace()" + kwargs = { + "preamble": preamble, + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_matvec_ip", + returns_r, + output_r, + expr_r, + **kwargs, + ) + +with Stopwatch("EA-EOM"): + # Get the R1 contractions in pdaggerq format + pq.clear() + pq.set_right_operators_type("EA") + pq.set_left_operators([["a(a)"]]) + pq.set_right_operators([["r1"], ["r2"]]) + pq.add_commutator(1.0, ["f"], ["t1"]) + pq.add_commutator(1.0, ["v"], ["t1"]) + pq.add_commutator(1.0, ["f"], ["t2"]) + pq.add_commutator(1.0, ["v"], ["t2"]) + pq.add_double_commutator(1.0, ["f"], ["t1"], ["t2"]) + pq.add_double_commutator(1.0, ["v"], ["t1"], ["t2"]) + pq.simplify() + terms_r1 = pq.fully_contracted_strings() + terms_r1 = remove_e0_eom(terms_r1) + + # Get the R2 contractions in pdaggerq format + pq.clear() + pq.set_right_operators_type("EA") + pq.set_left_operators([["a*(i)", "a(b)", "a(a)"]]) + pq.set_right_operators([["r1"], ["r2"]]) + pq.add_operator_product(1.0, ["f"]) + pq.add_operator_product(1.0, ["v"]) + pq.add_commutator(1.0, ["f"], ["t1"]) + pq.add_commutator(1.0, ["v"], ["t1"]) + pq.add_commutator(1.0, ["f"], ["t2"]) + pq.add_commutator(1.0, ["v"], ["t2"]) + pq.add_double_commutator(0.5, ["f"], ["t2"], ["t2"]) + pq.add_double_commutator(0.5, ["v"], ["t2"], ["t2"]) + pq.simplify() + terms_r2 = pq.fully_contracted_strings() + terms_r2 = remove_e0_eom(terms_r2) + + # Get the R amplitudes in albert format + terms = [terms_r1, terms_r2] + expr = [] + output = [] + returns = [] + for n in range(2): + for index_spins in get_amplitude_spins(n + 1, spin, which="ea"): + indices = default_indices["v"][: n + 1] + default_indices["o"][: n] + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + expr_n = tuple(e.apply(get_density_fit()) for e in expr_n) + output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + + (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="opt") + + # Generate the R amplitude intermediates code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_matvec_ea_intermediates", + returns_nr, + output_nr, + expr_nr, + **kwargs, + ) + + # Generate the R amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + preamble = "ints = kwargs[\"ints\"]" + if spin == "uhf": + preamble += "\nr1new = Namespace()\nr2new = Namespace()" + kwargs = { + "preamble": preamble, + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_matvec_ea", + returns_r, + output_r, + expr_r, + **kwargs, + ) + +if spin == "ghf": # FIXME + with Stopwatch("EE-EOM"): + # Get the R1 contractions in pdaggerq format + pq.clear() + pq.set_right_operators_type("EE") + pq.set_left_operators([["e1(i,a)"]]) + pq.set_right_operators([["r1"], ["r2"]]) + pq.add_commutator(1.0, ["f"], ["t1"]) + pq.add_commutator(1.0, ["v"], ["t1"]) + pq.add_commutator(1.0, ["f"], ["t2"]) + pq.add_commutator(1.0, ["v"], ["t2"]) + pq.add_double_commutator(1.0, ["f"], ["t1"], ["t2"]) + pq.add_double_commutator(1.0, ["v"], ["t1"], ["t2"]) + pq.simplify() + terms_r1 = pq.fully_contracted_strings() + terms_r1 = remove_e0_eom(terms_r1) + + # Get the R2 contractions in pdaggerq format + pq.clear() + pq.set_right_operators_type("EE") + pq.set_left_operators([["e2(i,j,b,a)"]]) + pq.set_right_operators([["r1"], ["r2"]]) + pq.add_operator_product(1.0, ["f"]) + pq.add_operator_product(1.0, ["v"]) + pq.add_commutator(1.0, ["f"], ["t1"]) + pq.add_commutator(1.0, ["v"], ["t1"]) + pq.add_commutator(1.0, ["f"], ["t2"]) + pq.add_commutator(1.0, ["v"], ["t2"]) + pq.add_double_commutator(0.5, ["f"], ["t2"], ["t2"]) + pq.add_double_commutator(0.5, ["v"], ["t2"], ["t2"]) + pq.simplify() + terms_r2 = pq.fully_contracted_strings() + terms_r2 = remove_e0_eom(terms_r2) + + # Get the R amplitudes in albert format + terms = [terms_r1, terms_r2] + expr = [] + output = [] + returns = [] + for n in range(2): + for index_spins in get_amplitude_spins(n + 1, spin, which="ee"): + indices = default_indices["o"][: n + 1] + default_indices["v"][: n + 1] + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + expr_n = tuple(e.apply(get_density_fit()) for e in expr_n) + output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + + (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="trav") + + # Generate the R amplitude intermediates code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_matvec_ee_intermediates", + returns_nr, + output_nr, + expr_nr, + **kwargs, + ) + + # Generate the R amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + preamble = "ints = kwargs[\"ints\"]" + if spin == "uhf": + preamble += "\nr1new = Namespace()\nr2new = Namespace()" + kwargs = { + "preamble": preamble, + "postamble": "r2new.baba = np.transpose(r2new.abab, (1, 0, 3, 2))" if spin == "uhf" else None, # FIXME + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_matvec_ee", + returns_r, + output_r, + expr_r, + **kwargs, + ) + +with Stopwatch("L-IP-EOM"): + # Get the L1 contractions in pdaggerq format + pq.clear() + pq.set_left_operators_type("IP") + pq.set_left_operators([["l1"], ["l2"]]) + pq.set_right_operators([["a(i)"]]) + pq.add_commutator(1.0, ["f"], ["t1"]) + pq.add_commutator(1.0, ["v"], ["t1"]) + pq.add_commutator(1.0, ["f"], ["t2"]) + pq.add_commutator(1.0, ["v"], ["t2"]) + pq.add_double_commutator(1.0, ["f"], ["t1"], ["t2"]) + pq.add_double_commutator(1.0, ["v"], ["t1"], ["t2"]) + pq.simplify() + terms_r1 = pq.fully_contracted_strings() + terms_r1 = remove_e0_eom(terms_r1) + + # Get the L2 contractions in pdaggerq format + pq.clear() + pq.set_left_operators_type("IP") + pq.set_right_operators([["a*(a)", "a(j)", "a(i)"]]) + pq.set_left_operators([["l1"], ["l2"]]) + pq.add_operator_product(1.0, ["f"]) + pq.add_operator_product(1.0, ["v"]) + pq.add_commutator(1.0, ["f"], ["t1"]) + pq.add_commutator(1.0, ["v"], ["t1"]) + pq.add_commutator(1.0, ["f"], ["t2"]) + pq.add_commutator(1.0, ["v"], ["t2"]) + pq.add_double_commutator(0.5, ["f"], ["t2"], ["t2"]) + pq.add_double_commutator(0.5, ["v"], ["t2"], ["t2"]) + pq.simplify() + terms_r2 = pq.fully_contracted_strings() + terms_r2 = remove_e0_eom(terms_r2) + + # Get the L amplitudes in albert format + terms = [terms_r1, terms_r2] + expr = [] + output = [] + returns = [] + for n in range(2): + for index_spins in get_amplitude_spins(n + 1, spin, which="ip"): + indices = default_indices["o"][: n + 1] + default_indices["v"][: n] + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins, l_is_lambda=False) + expr_n = spin_integrate(expr_n, spin) + expr_n = tuple(e.apply(get_density_fit()) for e in expr_n) + output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + + (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="opt") + + # Generate the L amplitude intermediates code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_lmatvec_ip_intermediates", + returns_nr, + output_nr, + expr_nr, + **kwargs, + ) + + # Generate the L amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + preamble = "ints = kwargs[\"ints\"]" + if spin == "uhf": + preamble += "\nr1new = Namespace()\nr2new = Namespace()" + kwargs = { + "preamble": preamble, + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_lmatvec_ip", + returns_r, + output_r, + expr_r, + **kwargs, + ) + +with Stopwatch("L-EA-EOM"): + # Get the L1 contractions in pdaggerq format + pq.clear() + pq.set_left_operators_type("EA") + pq.set_left_operators([["l1"], ["l2"]]) + pq.set_right_operators([["a*(a)"]]) + pq.add_commutator(1.0, ["f"], ["t1"]) + pq.add_commutator(1.0, ["v"], ["t1"]) + pq.add_commutator(1.0, ["f"], ["t2"]) + pq.add_commutator(1.0, ["v"], ["t2"]) + pq.add_double_commutator(1.0, ["f"], ["t1"], ["t2"]) + pq.add_double_commutator(1.0, ["v"], ["t1"], ["t2"]) + pq.simplify() + terms_r1 = pq.fully_contracted_strings() + terms_r1 = remove_e0_eom(terms_r1) + + # Get the L2 contractions in pdaggerq format + pq.clear() + pq.set_left_operators_type("EA") + pq.set_right_operators([["a*(a)", "a*(b)", "a(i)"]]) + pq.set_left_operators([["l1"], ["l2"]]) + pq.add_operator_product(1.0, ["f"]) + pq.add_operator_product(1.0, ["v"]) + pq.add_commutator(1.0, ["f"], ["t1"]) + pq.add_commutator(1.0, ["v"], ["t1"]) + pq.add_commutator(1.0, ["f"], ["t2"]) + pq.add_commutator(1.0, ["v"], ["t2"]) + pq.add_double_commutator(0.5, ["f"], ["t2"], ["t2"]) + pq.add_double_commutator(0.5, ["v"], ["t2"], ["t2"]) + pq.simplify() + terms_r2 = pq.fully_contracted_strings() + terms_r2 = remove_e0_eom(terms_r2) + + # Get the L amplitudes in albert format + terms = [terms_r1, terms_r2] + expr = [] + output = [] + returns = [] + for n in range(2): + for index_spins in get_amplitude_spins(n + 1, spin, which="ea"): + indices = default_indices["v"][: n + 1] + default_indices["o"][: n] + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins, l_is_lambda=False) + expr_n = spin_integrate(expr_n, spin) + expr_n = tuple(e.apply(get_density_fit()) for e in expr_n) + output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + + (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="opt") + + # Generate the L amplitude intermediates code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_lmatvec_ea_intermediates", + returns_nr, + output_nr, + expr_nr, + **kwargs, + ) + + # Generate the L amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + preamble = "ints = kwargs[\"ints\"]" + if spin == "uhf": + preamble += "\nr1new = Namespace()\nr2new = Namespace()" + kwargs = { + "preamble": preamble, + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_lmatvec_ea", + returns_r, + output_r, + expr_r, + **kwargs, + ) + +if spin == "ghf": # FIXME + with Stopwatch("L-EE-EOM"): + # Get the L1 contractions in pdaggerq format + pq.clear() + pq.set_left_operators_type("EE") + pq.set_left_operators([["l1"], ["l2"]]) + pq.set_right_operators([["e1(a,i)"]]) + pq.add_commutator(1.0, ["f"], ["t1"]) + pq.add_commutator(1.0, ["v"], ["t1"]) + pq.add_commutator(1.0, ["f"], ["t2"]) + pq.add_commutator(1.0, ["v"], ["t2"]) + pq.add_double_commutator(1.0, ["f"], ["t1"], ["t2"]) + pq.add_double_commutator(1.0, ["v"], ["t1"], ["t2"]) + pq.simplify() + terms_r1 = pq.fully_contracted_strings() + terms_r1 = remove_e0_eom(terms_r1) + + # Get the L2 contractions in pdaggerq format + pq.clear() + pq.set_left_operators_type("EE") + pq.set_left_operators([["l1"], ["l2"]]) + pq.set_right_operators([["e2(a,b,j,i)"]]) + pq.add_operator_product(1.0, ["f"]) + pq.add_operator_product(1.0, ["v"]) + pq.add_commutator(1.0, ["f"], ["t1"]) + pq.add_commutator(1.0, ["v"], ["t1"]) + pq.add_commutator(1.0, ["f"], ["t2"]) + pq.add_commutator(1.0, ["v"], ["t2"]) + pq.add_double_commutator(0.5, ["f"], ["t2"], ["t2"]) + pq.add_double_commutator(0.5, ["v"], ["t2"], ["t2"]) + pq.simplify() + terms_r2 = pq.fully_contracted_strings() + terms_r2 = remove_e0_eom(terms_r2) + + # Get the L amplitudes in albert format + terms = [terms_r1, terms_r2] + expr = [] + output = [] + returns = [] + for n in range(2): + for index_spins in get_amplitude_spins(n + 1, spin, which="ee"): + indices = default_indices["o"][: n + 1] + default_indices["v"][: n + 1] + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins, l_is_lambda=False) + expr_n = spin_integrate(expr_n, spin) + expr_n = tuple(e.apply(get_density_fit()) for e in expr_n) + output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + + (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="trav") + + # Generate the L amplitude intermediates code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_lmatvec_ee_intermediates", + returns_nr, + output_nr, + expr_nr, + **kwargs, + ) + + # Generate the L amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + preamble = "ints = kwargs[\"ints\"]" + if spin == "uhf": + preamble += "\nr1new = Namespace()\nr2new = Namespace()" + kwargs = { + "preamble": preamble, + "postamble": "r2new.baba = np.transpose(r2new.abab, (1, 0, 3, 2))" if spin == "uhf" else None, # FIXME + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_lmatvec_ee", + returns_r, + output_r, + expr_r, + **kwargs, + ) + for codegen in code_generators.values(): codegen.postamble() codegen.stdout.close() diff --git a/ebcc/codegen/bootstrap_QCISD.py b/ebcc/codegen/bootstrap_QCISD.py index 370eb698..4e30547c 100644 --- a/ebcc/codegen/bootstrap_QCISD.py +++ b/ebcc/codegen/bootstrap_QCISD.py @@ -123,309 +123,393 @@ **kwargs, ) -# NOTE: The rest is broken +with Stopwatch("L amplitudes"): + # Get the L1 contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["1"]]) + pq.set_right_operators([["1"]]) + pq.add_commutator(1.0, ["f", "e1(a,i)"], ["t1"]) + pq.add_commutator(1.0, ["v", "e1(a,i)"], ["t1"]) + pq.add_commutator(1.0, ["f", "e1(a,i)"], ["t2"]) + pq.add_commutator(1.0, ["v", "e1(a,i)"], ["t2"]) + pq.add_double_commutator(1.0, ["f", "e1(a,i)"], ["t1"], ["t2"]) + pq.add_double_commutator(1.0, ["v", "e1(a,i)"], ["t1"], ["t2"]) + pq.set_left_operators([["l1"], ["l2"]]) + pq.add_commutator(1.0, ["f", "e1(a,i)"], ["t1"]) + pq.add_commutator(1.0, ["v", "e1(a,i)"], ["t1"]) + pq.add_commutator(1.0, ["f", "e1(a,i)"], ["t2"]) + pq.add_commutator(1.0, ["v", "e1(a,i)"], ["t2"]) + pq.add_double_commutator(1.0, ["f", "e1(a,i)"], ["t1"], ["t2"]) + pq.add_double_commutator(1.0, ["v", "e1(a,i)"], ["t1"], ["t2"]) + pq.add_commutator(-1.0, ["e1(a,i)", "f"], ["t1"]) + pq.add_commutator(-1.0, ["e1(a,i)", "v"], ["t1"]) + pq.add_commutator(-1.0, ["e1(a,i)", "f"], ["t2"]) + pq.add_commutator(-1.0, ["e1(a,i)", "v"], ["t2"]) + pq.add_double_commutator(-1.0, ["e1(a,i)", "f"], ["t1"], ["t2"]) + pq.add_double_commutator(-1.0, ["e1(a,i)", "v"], ["t1"], ["t2"]) + pq.simplify() + terms_l1 = pq.fully_contracted_strings() -if 0: - with Stopwatch("L amplitudes"): - # Get the L1 contractions in pdaggerq format + # Get the L2 contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["1"]]) + pq.set_right_operators([["1"]]) + pq.add_commutator(1.0, ["f", "e2(a,b,j,i)"], ["t1"]) + pq.add_commutator(1.0, ["v", "e2(a,b,j,i)"], ["t1"]) + pq.add_commutator(1.0, ["f", "e2(a,b,j,i)"], ["t2"]) + pq.add_commutator(1.0, ["v", "e2(a,b,j,i)"], ["t2"]) + pq.add_double_commutator(1.0, ["f", "e2(a,b,j,i)"], ["t1"], ["t2"]) + pq.add_double_commutator(1.0, ["v", "e2(a,b,j,i)"], ["t1"], ["t2"]) + pq.set_left_operators([["l1"], ["l2"]]) + pq.add_commutator(1.0, ["f", "e2(a,b,j,i)"], ["t1"]) + pq.add_commutator(1.0, ["v", "e2(a,b,j,i)"], ["t1"]) + pq.add_commutator(1.0, ["f", "e2(a,b,j,i)"], ["t2"]) + pq.add_commutator(1.0, ["v", "e2(a,b,j,i)"], ["t2"]) + pq.add_double_commutator(1.0, ["f", "e2(a,b,j,i)"], ["t1"], ["t2"]) + pq.add_double_commutator(1.0, ["v", "e2(a,b,j,i)"], ["t1"], ["t2"]) + pq.add_commutator(-1.0, ["e2(a,b,j,i)", "f"], ["t1"]) + pq.add_commutator(-1.0, ["e2(a,b,j,i)", "v"], ["t1"]) + pq.add_commutator(-1.0, ["e2(a,b,j,i)", "f"], ["t2"]) + pq.add_commutator(-1.0, ["e2(a,b,j,i)", "v"], ["t2"]) + pq.add_double_commutator(-1.0, ["e2(a,b,j,i)", "f"], ["t1"], ["t2"]) + pq.add_double_commutator(-1.0, ["e2(a,b,j,i)", "v"], ["t1"], ["t2"]) + pq.simplify() + terms_l2 = pq.fully_contracted_strings() + + # Get the L amplitudes in albert format + terms = [terms_l1, terms_l2] + expr = [] + output = [] + returns = [] + for n in range(2): + for index_spins in get_amplitude_spins(n + 1, spin): + indices = default_indices["v"][: n + 1] + default_indices["o"][: n + 1] + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + output_n = get_l_amplitude_outputs(expr_n, f"l{n+1}new") + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"l{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + output, expr = optimise(output, expr, spin, strategy="opt") + + # Generate the L amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "preamble": "l1new = Namespace()\nl2new = Namespace()" if spin == "uhf" else None, + "as_dict": True, + } + else: + kwargs = {} + codegen( + "update_lams", + returns, + output, + expr, + **kwargs, + ) + +with Stopwatch("1RDM"): + # Get the 1RDM contractions in pdaggerq format + terms = {} + for sectors, indices in [("oo", "ij"), ("ov", "ia"), ("vo", "ai"), ("vv", "ab")]: pq.clear() - pq.set_left_operators([["1"]]) - pq.set_right_operators([["1"]]) - pq.add_commutator(1.0, ["f", "e1(a,i)"], ["t1"]) - pq.add_commutator(1.0, ["v", "e1(a,i)"], ["t1"]) - pq.add_commutator(1.0, ["f", "e1(a,i)"], ["t2"]) - pq.add_commutator(1.0, ["v", "e1(a,i)"], ["t2"]) - pq.add_double_commutator(1.0, ["f", "e1(a,i)"], ["t1"], ["t2"]) - pq.add_double_commutator(1.0, ["v", "e1(a,i)"], ["t1"], ["t2"]) - pq.set_left_operators([["l1"], ["l2"]]) - pq.add_commutator(1.0, ["f", "e1(a,i)"], ["t1"]) - pq.add_commutator(1.0, ["v", "e1(a,i)"], ["t1"]) - pq.add_commutator(1.0, ["f", "e1(a,i)"], ["t2"]) - pq.add_commutator(1.0, ["v", "e1(a,i)"], ["t2"]) - pq.add_double_commutator(1.0, ["f", "e1(a,i)"], ["t1"], ["t2"]) - pq.add_double_commutator(1.0, ["v", "e1(a,i)"], ["t1"], ["t2"]) - pq.add_commutator(-1.0, ["e1(a,i)", "f"], ["t1"]) - pq.add_commutator(-1.0, ["e1(a,i)", "v"], ["t1"]) - pq.add_commutator(-1.0, ["e1(a,i)", "f"], ["t2"]) - pq.add_commutator(-1.0, ["e1(a,i)", "v"], ["t2"]) - pq.add_double_commutator(-1.0, ["e1(a,i)", "f"], ["t1"], ["t2"]) - pq.add_double_commutator(-1.0, ["e1(a,i)", "v"], ["t1"], ["t2"]) + pq.set_left_operators([["1"], ["l1"], ["l2"]]) + pq.add_st_operator(1.0, [f"e1({','.join(indices)})"], ["t1", "t2"]) pq.simplify() - terms_l1 = pq.fully_contracted_strings() + terms[sectors, indices] = pq.fully_contracted_strings() - # Get the L2 contractions in pdaggerq format + # Get the 1RDM in albert format + expr = [] + output = [] + returns = [] + for sectors, indices in [("oo", "ij"), ("ov", "ia"), ("vo", "ai"), ("vv", "ab")]: + for index_spins in get_density_spins(1, spin, indices): + expr_n = import_from_pdaggerq(terms[sectors, indices], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + if spin == "rhf": + expr_n = tuple(e * 2 for e in expr_n) + output_n = get_density_outputs(expr_n, f"d", indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i], space=s) for i, s in zip(indices, sectors)), name=f"d"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + output, expr = optimise(output, expr, spin, strategy="exhaust") + + # Generate the 1RDM code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "preamble": get_density_einsum_preamble(1, spin), + "postamble": get_density_einsum_postamble(1, spin), + } + else: + kwargs = {} + codegen( + "make_rdm1_f", + returns, + output, + expr, + **kwargs, + ) + +with Stopwatch("2RDM"): + # Get the 2RDM contractions in pdaggerq format + terms = {} + for sectors, indices in [ + ("oooo", "ijkl"), + ("ooov", "ijka"), + ("oovo", "ijak"), + ("ovoo", "iajk"), + ("vooo", "aijk"), + ("oovv", "ijab"), + ("ovov", "iajb"), + ("ovvo", "iabj"), + ("voov", "aijb"), + ("vovo", "aibj"), + ("vvoo", "abij"), + ("ovvv", "iabc"), + ("vovv", "aibc"), + ("vvov", "abic"), + ("vvvo", "abci"), + ("vvvv", "abcd"), + ]: pq.clear() - pq.set_left_operators([["1"]]) - pq.set_right_operators([["1"]]) - pq.add_commutator(1.0, ["f", "e2(a,b,j,i)"], ["t1"]) - pq.add_commutator(1.0, ["v", "e2(a,b,j,i)"], ["t1"]) - pq.add_commutator(1.0, ["f", "e2(a,b,j,i)"], ["t2"]) - pq.add_commutator(1.0, ["v", "e2(a,b,j,i)"], ["t2"]) - pq.add_double_commutator(1.0, ["f", "e2(a,b,j,i)"], ["t1"], ["t2"]) - pq.add_double_commutator(1.0, ["v", "e2(a,b,j,i)"], ["t1"], ["t2"]) - pq.set_left_operators([["l1"], ["l2"]]) - pq.add_commutator(1.0, ["f", "e2(a,b,j,i)"], ["t1"]) - pq.add_commutator(1.0, ["v", "e2(a,b,j,i)"], ["t1"]) - pq.add_commutator(1.0, ["f", "e2(a,b,j,i)"], ["t2"]) - pq.add_commutator(1.0, ["v", "e2(a,b,j,i)"], ["t2"]) - pq.add_double_commutator(1.0, ["f", "e2(a,b,j,i)"], ["t1"], ["t2"]) - pq.add_double_commutator(1.0, ["v", "e2(a,b,j,i)"], ["t1"], ["t2"]) - pq.add_commutator(-1.0, ["e2(a,b,j,i)", "f"], ["t1"]) - pq.add_commutator(-1.0, ["e2(a,b,j,i)", "v"], ["t1"]) - pq.add_commutator(-1.0, ["e2(a,b,j,i)", "f"], ["t2"]) - pq.add_commutator(-1.0, ["e2(a,b,j,i)", "v"], ["t2"]) - pq.add_double_commutator(-1.0, ["e2(a,b,j,i)", "f"], ["t1"], ["t2"]) - pq.add_double_commutator(-1.0, ["e2(a,b,j,i)", "v"], ["t1"], ["t2"]) + pq.set_left_operators([["1"], ["l1"], ["l2"]]) + pq.add_st_operator( + 1.0, [f"e2({indices[0]},{indices[1]},{indices[3]},{indices[2]})"], ["t1", "t2"] + ) pq.simplify() - terms_l2 = pq.fully_contracted_strings() + terms[sectors, indices] = pq.fully_contracted_strings() - # Get the L amplitudes in albert format - terms = [terms_l1, terms_l2] - expr = [] - output = [] - returns = [] - for n in range(2): - for index_spins in get_amplitude_spins(n + 1, spin): - indices = default_indices["v"][: n + 1] + default_indices["o"][: n + 1] - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) - expr_n = spin_integrate(expr_n, spin) - output_n = get_l_amplitude_outputs(expr_n, f"l{n+1}new") - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"l{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - #output, expr = optimise(output, expr, spin, strategy="opt") + # Get the 2RDM in albert format + expr = [] + output = [] + returns = [] + for sectors, indices in [ + ("oooo", "ijkl"), + ("ooov", "ijka"), + ("oovo", "ijak"), + ("ovoo", "iajk"), + ("vooo", "aijk"), + ("oovv", "ijab"), + ("ovov", "iajb"), + ("ovvo", "iabj"), + ("voov", "aijb"), + ("vovo", "aibj"), + ("vvoo", "abij"), + ("ovvv", "iabc"), + ("vovv", "aibc"), + ("vvov", "abic"), + ("vvvo", "abci"), + ("vvvv", "abcd"), + ]: + for index_spins in get_density_spins(2, spin, indices): + expr_n = import_from_pdaggerq(terms[sectors, indices], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + output_n = get_density_outputs(expr_n, f"Γ", indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i], space=s) for i, s in zip(indices, sectors)), name=f"Γ"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + output, expr = optimise(output, expr, spin, strategy="trav") - # Generate the L amplitude code - for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "preamble": "l1new = Namespace()\nl2new = Namespace()" if spin == "uhf" else None, - "as_dict": True, - } - else: - kwargs = {} - codegen( - "update_lams", - returns, - output, - expr, - **kwargs, - ) + # Generate the 2RDM code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "preamble": get_density_einsum_preamble(2, spin), + "postamble": get_density_einsum_postamble(2, spin), + } + codegen( + "make_rdm2_f", + returns, + output, + expr, + **kwargs, + ) - with Stopwatch("1RDM"): - # Get the 1RDM contractions in pdaggerq format - terms = {} - for sectors, indices in [("oo", "ij"), ("ov", "ia"), ("vo", "ai"), ("vv", "ab")]: - pq.clear() - pq.set_left_operators([["1"], ["l1"], ["l2"]]) - pq.add_st_operator(1.0, [f"e1({','.join(indices)})"], ["t1", "t2"]) - pq.simplify() - terms[sectors, indices] = pq.fully_contracted_strings() - - # Get the 1RDM in albert format - expr = [] - output = [] - returns = [] - for sectors, indices in [("oo", "ij"), ("ov", "ia"), ("vo", "ai"), ("vv", "ab")]: - for index_spins in get_density_spins(1, spin, indices): - expr_n = import_from_pdaggerq(terms[sectors, indices], index_spins=index_spins) - expr_n = spin_integrate(expr_n, spin) - if spin == "rhf": - expr_n = tuple(e * 2 for e in expr_n) - output_n = get_density_outputs(expr_n, f"d", indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i], space=s) for i, s in zip(indices, sectors)), name=f"d"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - output, expr = optimise(output, expr, spin, strategy="exhaust") +with Stopwatch("IP-EOM"): + # Get the R1 contractions in pdaggerq format + pq.clear() + pq.set_right_operators_type("IP") + pq.set_left_operators([["a*(i)"]]) + pq.set_right_operators([["r1"], ["r2"]]) + pq.add_commutator(1.0, ["f"], ["t1"]) + pq.add_commutator(1.0, ["v"], ["t1"]) + pq.add_commutator(1.0, ["f"], ["t2"]) + pq.add_commutator(1.0, ["v"], ["t2"]) + pq.add_double_commutator(1.0, ["f"], ["t1"], ["t2"]) + pq.add_double_commutator(1.0, ["v"], ["t1"], ["t2"]) + pq.simplify() + terms_r1 = pq.fully_contracted_strings() + terms_r1 = remove_e0_eom(terms_r1) - # Generate the 1RDM code - for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "preamble": get_density_einsum_preamble(1, spin), - "postamble": get_density_einsum_postamble(1, spin), - } - else: - kwargs = {} - codegen( - "make_rdm1_f", - returns, - output, - expr, - **kwargs, - ) + # Get the R2 contractions in pdaggerq format + pq.clear() + pq.set_right_operators_type("IP") + pq.set_left_operators([["a*(i)", "a*(j)", "a(a)"]]) + pq.set_right_operators([["r1"], ["r2"]]) + pq.add_operator_product(1.0, ["f"]) + pq.add_operator_product(1.0, ["v"]) + pq.add_commutator(1.0, ["f"], ["t1"]) + pq.add_commutator(1.0, ["v"], ["t1"]) + pq.add_commutator(1.0, ["f"], ["t2"]) + pq.add_commutator(1.0, ["v"], ["t2"]) + pq.add_double_commutator(0.5, ["f"], ["t2"], ["t2"]) + pq.add_double_commutator(0.5, ["v"], ["t2"], ["t2"]) + pq.simplify() + terms_r2 = pq.fully_contracted_strings() + terms_r2 = remove_e0_eom(terms_r2) - with Stopwatch("2RDM"): - # Get the 2RDM contractions in pdaggerq format - terms = {} - for sectors, indices in [ - ("oooo", "ijkl"), - ("ooov", "ijka"), - ("oovo", "ijak"), - ("ovoo", "iajk"), - ("vooo", "aijk"), - ("oovv", "ijab"), - ("ovov", "iajb"), - ("ovvo", "iabj"), - ("voov", "aijb"), - ("vovo", "aibj"), - ("vvoo", "abij"), - ("ovvv", "iabc"), - ("vovv", "aibc"), - ("vvov", "abic"), - ("vvvo", "abci"), - ("vvvv", "abcd"), - ]: - pq.clear() - pq.set_left_operators([["1"], ["l1"], ["l2"]]) - pq.add_st_operator( - 1.0, [f"e2({indices[0]},{indices[1]},{indices[3]},{indices[2]})"], ["t1", "t2"] - ) - pq.simplify() - terms[sectors, indices] = pq.fully_contracted_strings() + # Get the R amplitudes in albert format + terms = [terms_r1, terms_r2] + expr = [] + output = [] + returns = [] + for n in range(2): + for index_spins in get_amplitude_spins(n + 1, spin, which="ip"): + indices = default_indices["o"][: n + 1] + default_indices["v"][: n] + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) - # Get the 2RDM in albert format - expr = [] - output = [] - returns = [] - for sectors, indices in [ - ("oooo", "ijkl"), - ("ooov", "ijka"), - ("oovo", "ijak"), - ("ovoo", "iajk"), - ("vooo", "aijk"), - ("oovv", "ijab"), - ("ovov", "iajb"), - ("ovvo", "iabj"), - ("voov", "aijb"), - ("vovo", "aibj"), - ("vvoo", "abij"), - ("ovvv", "iabc"), - ("vovv", "aibc"), - ("vvov", "abic"), - ("vvvo", "abci"), - ("vvvv", "abcd"), - ]: - for index_spins in get_density_spins(2, spin, indices): - expr_n = import_from_pdaggerq(terms[sectors, indices], index_spins=index_spins) - expr_n = spin_integrate(expr_n, spin) - output_n = get_density_outputs(expr_n, f"Γ", indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i], space=s) for i, s in zip(indices, sectors)), name=f"Γ"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - output, expr = optimise(output, expr, spin, strategy="trav") + (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="opt") - # Generate the 2RDM code - for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "preamble": get_density_einsum_preamble(2, spin), - "postamble": get_density_einsum_postamble(2, spin), - } - codegen( - "make_rdm2_f", - returns, - output, - expr, - **kwargs, - ) + # Generate the R amplitude intermediates code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_matvec_ip_intermediates", + returns_nr, + output_nr, + expr_nr, + **kwargs, + ) -if 0: - with Stopwatch("IP-EOM"): - # Get the R1 contractions in pdaggerq format - pq.clear() - pq.set_right_operators_type("IP") - pq.set_left_operators([["a*(i)"]]) - pq.set_right_operators([["r1"], ["r2"]]) - pq.add_commutator(1.0, ["f"], ["t1"]) - pq.add_commutator(1.0, ["v"], ["t1"]) - pq.add_commutator(1.0, ["f"], ["t2"]) - pq.add_commutator(1.0, ["v"], ["t2"]) - pq.add_double_commutator(1.0, ["f"], ["t1"], ["t2"]) - pq.add_double_commutator(1.0, ["v"], ["t1"], ["t2"]) - pq.simplify() - terms_r1 = pq.fully_contracted_strings() - terms_r1 = remove_e0_eom(terms_r1) + # Generate the R amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + preamble = "ints = kwargs[\"ints\"]" + if spin == "uhf": + preamble += "\nr1new = Namespace()\nr2new = Namespace()" + kwargs = { + "preamble": preamble, + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_matvec_ip", + returns_r, + output_r, + expr_r, + **kwargs, + ) - # Get the R2 contractions in pdaggerq format - pq.clear() - pq.set_right_operators_type("IP") - pq.set_left_operators([["a*(i)", "a*(j)", "a(a)"]]) - pq.set_right_operators([["r1"], ["r2"]]) - pq.add_operator_product(1.0, ["f"]) - pq.add_operator_product(1.0, ["v"]) - pq.add_commutator(1.0, ["f"], ["t1"]) - pq.add_commutator(1.0, ["v"], ["t1"]) - pq.add_commutator(1.0, ["f"], ["t2"]) - pq.add_commutator(1.0, ["v"], ["t2"]) - pq.add_double_commutator(0.5, ["f"], ["t2"], ["t2"]) - pq.add_double_commutator(0.5, ["v"], ["t2"], ["t2"]) - pq.simplify() - terms_r2 = pq.fully_contracted_strings() - terms_r2 = remove_e0_eom(terms_r2) +with Stopwatch("EA-EOM"): + # Get the R1 contractions in pdaggerq format + pq.clear() + pq.set_right_operators_type("EA") + pq.set_left_operators([["a(a)"]]) + pq.set_right_operators([["r1"], ["r2"]]) + pq.add_commutator(1.0, ["f"], ["t1"]) + pq.add_commutator(1.0, ["v"], ["t1"]) + pq.add_commutator(1.0, ["f"], ["t2"]) + pq.add_commutator(1.0, ["v"], ["t2"]) + pq.add_double_commutator(1.0, ["f"], ["t1"], ["t2"]) + pq.add_double_commutator(1.0, ["v"], ["t1"], ["t2"]) + pq.simplify() + terms_r1 = pq.fully_contracted_strings() + terms_r1 = remove_e0_eom(terms_r1) - # Get the R amplitudes in albert format - terms = [terms_r1, terms_r2] - expr = [] - output = [] - returns = [] - for n in range(2): - for index_spins in get_amplitude_spins(n + 1, spin, which="ip"): - indices = default_indices["o"][: n + 1] + default_indices["v"][: n] - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) - expr_n = spin_integrate(expr_n, spin) - output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) + # Get the R2 contractions in pdaggerq format + pq.clear() + pq.set_right_operators_type("EA") + pq.set_left_operators([["a*(i)", "a(b)", "a(a)"]]) + pq.set_right_operators([["r1"], ["r2"]]) + pq.add_operator_product(1.0, ["f"]) + pq.add_operator_product(1.0, ["v"]) + pq.add_commutator(1.0, ["f"], ["t1"]) + pq.add_commutator(1.0, ["v"], ["t1"]) + pq.add_commutator(1.0, ["f"], ["t2"]) + pq.add_commutator(1.0, ["v"], ["t2"]) + pq.add_double_commutator(0.5, ["f"], ["t2"], ["t2"]) + pq.add_double_commutator(0.5, ["v"], ["t2"], ["t2"]) + pq.simplify() + terms_r2 = pq.fully_contracted_strings() + terms_r2 = remove_e0_eom(terms_r2) - (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="opt") + # Get the R amplitudes in albert format + terms = [terms_r1, terms_r2] + expr = [] + output = [] + returns = [] + for n in range(2): + for index_spins in get_amplitude_spins(n + 1, spin, which="ea"): + indices = default_indices["v"][: n + 1] + default_indices["o"][: n] + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) - # Generate the R amplitude intermediates code - for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "as_dict": True, - } - else: - kwargs = {} - codegen( - "hbar_matvec_ip_intermediates", - returns_nr, - output_nr, - expr_nr, - **kwargs, - ) + (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="opt") - # Generate the R amplitude code - for name, codegen in code_generators.items(): - if name == "einsum": - preamble = "ints = kwargs[\"ints\"]" - if spin == "uhf": - preamble += "\nr1new = Namespace()\nr2new = Namespace()" - kwargs = { - "preamble": preamble, - "as_dict": True, - } - else: - kwargs = {} - codegen( - "hbar_matvec_ip", - returns_r, - output_r, - expr_r, - **kwargs, - ) + # Generate the R amplitude intermediates code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_matvec_ea_intermediates", + returns_nr, + output_nr, + expr_nr, + **kwargs, + ) + + # Generate the R amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + preamble = "ints = kwargs[\"ints\"]" + if spin == "uhf": + preamble += "\nr1new = Namespace()\nr2new = Namespace()" + kwargs = { + "preamble": preamble, + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_matvec_ea", + returns_r, + output_r, + expr_r, + **kwargs, + ) - with Stopwatch("EA-EOM"): +if spin == "ghf": # FIXME + with Stopwatch("EE-EOM"): # Get the R1 contractions in pdaggerq format pq.clear() - pq.set_right_operators_type("EA") - pq.set_left_operators([["a(a)"]]) + pq.set_right_operators_type("EE") + pq.set_left_operators([["e1(i,a)"]]) pq.set_right_operators([["r1"], ["r2"]]) pq.add_commutator(1.0, ["f"], ["t1"]) pq.add_commutator(1.0, ["v"], ["t1"]) @@ -439,8 +523,8 @@ # Get the R2 contractions in pdaggerq format pq.clear() - pq.set_right_operators_type("EA") - pq.set_left_operators([["a*(i)", "a(b)", "a(a)"]]) + pq.set_right_operators_type("EE") + pq.set_left_operators([["e2(i,j,b,a)"]]) pq.set_right_operators([["r1"], ["r2"]]) pq.add_operator_product(1.0, ["f"]) pq.add_operator_product(1.0, ["v"]) @@ -460,8 +544,8 @@ output = [] returns = [] for n in range(2): - for index_spins in get_amplitude_spins(n + 1, spin, which="ea"): - indices = default_indices["v"][: n + 1] + default_indices["o"][: n] + for index_spins in get_amplitude_spins(n + 1, spin, which="ee"): + indices = default_indices["o"][: n + 1] + default_indices["v"][: n + 1] expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) expr_n = spin_integrate(expr_n, spin) output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) @@ -470,7 +554,7 @@ output.extend(output_n) returns.extend(returns_n) - (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="opt") + (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="trav") # Generate the R amplitude intermediates code for name, codegen in code_generators.items(): @@ -481,7 +565,7 @@ else: kwargs = {} codegen( - "hbar_matvec_ea_intermediates", + "hbar_matvec_ee_intermediates", returns_nr, output_nr, expr_nr, @@ -496,200 +580,200 @@ preamble += "\nr1new = Namespace()\nr2new = Namespace()" kwargs = { "preamble": preamble, + "postamble": "r2new.baba = np.transpose(r2new.abab, (1, 0, 3, 2))" if spin == "uhf" else None, # FIXME "as_dict": True, } else: kwargs = {} codegen( - "hbar_matvec_ea", + "hbar_matvec_ee", returns_r, output_r, expr_r, **kwargs, ) - if spin == "ghf": # FIXME - with Stopwatch("EE-EOM"): - # Get the R1 contractions in pdaggerq format - pq.clear() - pq.set_right_operators_type("EE") - pq.set_left_operators([["e1(i,a)"]]) - pq.set_right_operators([["r1"], ["r2"]]) - pq.add_commutator(1.0, ["f"], ["t1"]) - pq.add_commutator(1.0, ["v"], ["t1"]) - pq.add_commutator(1.0, ["f"], ["t2"]) - pq.add_commutator(1.0, ["v"], ["t2"]) - pq.add_double_commutator(1.0, ["f"], ["t1"], ["t2"]) - pq.add_double_commutator(1.0, ["v"], ["t1"], ["t2"]) - pq.simplify() - terms_r1 = pq.fully_contracted_strings() - terms_r1 = remove_e0_eom(terms_r1) - - # Get the R2 contractions in pdaggerq format - pq.clear() - pq.set_right_operators_type("EE") - pq.set_left_operators([["e2(i,j,b,a)"]]) - pq.set_right_operators([["r1"], ["r2"]]) - pq.add_operator_product(1.0, ["f"]) - pq.add_operator_product(1.0, ["v"]) - pq.add_commutator(1.0, ["f"], ["t1"]) - pq.add_commutator(1.0, ["v"], ["t1"]) - pq.add_commutator(1.0, ["f"], ["t2"]) - pq.add_commutator(1.0, ["v"], ["t2"]) - pq.add_double_commutator(0.5, ["f"], ["t2"], ["t2"]) - pq.add_double_commutator(0.5, ["v"], ["t2"], ["t2"]) - pq.simplify() - terms_r2 = pq.fully_contracted_strings() - terms_r2 = remove_e0_eom(terms_r2) - - # Get the R amplitudes in albert format - terms = [terms_r1, terms_r2] - expr = [] - output = [] - returns = [] - for n in range(2): - for index_spins in get_amplitude_spins(n + 1, spin, which="ee"): - indices = default_indices["o"][: n + 1] + default_indices["v"][: n + 1] - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) - expr_n = spin_integrate(expr_n, spin) - output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - - (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="trav") - - # Generate the R amplitude intermediates code - for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "as_dict": True, - } - else: - kwargs = {} - codegen( - "hbar_matvec_ee_intermediates", - returns_nr, - output_nr, - expr_nr, - **kwargs, - ) - - # Generate the R amplitude code - for name, codegen in code_generators.items(): - if name == "einsum": - preamble = "ints = kwargs[\"ints\"]" - if spin == "uhf": - preamble += "\nr1new = Namespace()\nr2new = Namespace()" - kwargs = { - "preamble": preamble, - "postamble": "r2new.baba = np.transpose(r2new.abab, (1, 0, 3, 2))" if spin == "uhf" else None, # FIXME - "as_dict": True, - } - else: - kwargs = {} - codegen( - "hbar_matvec_ee", - returns_r, - output_r, - expr_r, - **kwargs, - ) - - with Stopwatch("L-IP-EOM"): - # Get the L1 contractions in pdaggerq format - pq.clear() - pq.set_left_operators_type("IP") - pq.set_left_operators([["l1"], ["l2"]]) - pq.set_right_operators([["a(i)"]]) - pq.add_commutator(1.0, ["f"], ["t1"]) - pq.add_commutator(1.0, ["v"], ["t1"]) - pq.add_commutator(1.0, ["f"], ["t2"]) - pq.add_commutator(1.0, ["v"], ["t2"]) - pq.add_double_commutator(1.0, ["f"], ["t1"], ["t2"]) - pq.add_double_commutator(1.0, ["v"], ["t1"], ["t2"]) - pq.simplify() - terms_r1 = pq.fully_contracted_strings() - terms_r1 = remove_e0_eom(terms_r1) +with Stopwatch("L-IP-EOM"): + # Get the L1 contractions in pdaggerq format + pq.clear() + pq.set_left_operators_type("IP") + pq.set_left_operators([["l1"], ["l2"]]) + pq.set_right_operators([["a(i)"]]) + pq.add_commutator(1.0, ["f"], ["t1"]) + pq.add_commutator(1.0, ["v"], ["t1"]) + pq.add_commutator(1.0, ["f"], ["t2"]) + pq.add_commutator(1.0, ["v"], ["t2"]) + pq.add_double_commutator(1.0, ["f"], ["t1"], ["t2"]) + pq.add_double_commutator(1.0, ["v"], ["t1"], ["t2"]) + pq.simplify() + terms_r1 = pq.fully_contracted_strings() + terms_r1 = remove_e0_eom(terms_r1) - # Get the L2 contractions in pdaggerq format - pq.clear() - pq.set_left_operators_type("IP") - pq.set_right_operators([["a*(a)", "a(j)", "a(i)"]]) - pq.set_left_operators([["l1"], ["l2"]]) - pq.add_operator_product(1.0, ["f"]) - pq.add_operator_product(1.0, ["v"]) - pq.add_commutator(1.0, ["f"], ["t1"]) - pq.add_commutator(1.0, ["v"], ["t1"]) - pq.add_commutator(1.0, ["f"], ["t2"]) - pq.add_commutator(1.0, ["v"], ["t2"]) - pq.add_double_commutator(0.5, ["f"], ["t2"], ["t2"]) - pq.add_double_commutator(0.5, ["v"], ["t2"], ["t2"]) - pq.simplify() - terms_r2 = pq.fully_contracted_strings() - terms_r2 = remove_e0_eom(terms_r2) + # Get the L2 contractions in pdaggerq format + pq.clear() + pq.set_left_operators_type("IP") + pq.set_right_operators([["a*(a)", "a(j)", "a(i)"]]) + pq.set_left_operators([["l1"], ["l2"]]) + pq.add_operator_product(1.0, ["f"]) + pq.add_operator_product(1.0, ["v"]) + pq.add_commutator(1.0, ["f"], ["t1"]) + pq.add_commutator(1.0, ["v"], ["t1"]) + pq.add_commutator(1.0, ["f"], ["t2"]) + pq.add_commutator(1.0, ["v"], ["t2"]) + pq.add_double_commutator(0.5, ["f"], ["t2"], ["t2"]) + pq.add_double_commutator(0.5, ["v"], ["t2"], ["t2"]) + pq.simplify() + terms_r2 = pq.fully_contracted_strings() + terms_r2 = remove_e0_eom(terms_r2) - # Get the L amplitudes in albert format - terms = [terms_r1, terms_r2] - expr = [] - output = [] - returns = [] - for n in range(2): - for index_spins in get_amplitude_spins(n + 1, spin, which="ip"): - indices = default_indices["o"][: n + 1] + default_indices["v"][: n] - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins, l_is_lambda=False) - expr_n = spin_integrate(expr_n, spin) - output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) + # Get the L amplitudes in albert format + terms = [terms_r1, terms_r2] + expr = [] + output = [] + returns = [] + for n in range(2): + for index_spins in get_amplitude_spins(n + 1, spin, which="ip"): + indices = default_indices["o"][: n + 1] + default_indices["v"][: n] + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins, l_is_lambda=False) + expr_n = spin_integrate(expr_n, spin) + output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) - (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="opt") + (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="opt") - # Generate the L amplitude intermediates code - for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "as_dict": True, - } - else: - kwargs = {} - codegen( - "hbar_lmatvec_ip_intermediates", - returns_nr, - output_nr, - expr_nr, - **kwargs, - ) + # Generate the L amplitude intermediates code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_lmatvec_ip_intermediates", + returns_nr, + output_nr, + expr_nr, + **kwargs, + ) - # Generate the L amplitude code - for name, codegen in code_generators.items(): - if name == "einsum": - preamble = "ints = kwargs[\"ints\"]" - if spin == "uhf": - preamble += "\nr1new = Namespace()\nr2new = Namespace()" - kwargs = { - "preamble": preamble, - "as_dict": True, - } - else: - kwargs = {} - codegen( - "hbar_lmatvec_ip", - returns_r, - output_r, - expr_r, - **kwargs, - ) + # Generate the L amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + preamble = "ints = kwargs[\"ints\"]" + if spin == "uhf": + preamble += "\nr1new = Namespace()\nr2new = Namespace()" + kwargs = { + "preamble": preamble, + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_lmatvec_ip", + returns_r, + output_r, + expr_r, + **kwargs, + ) + +with Stopwatch("L-EA-EOM"): + # Get the L1 contractions in pdaggerq format + pq.clear() + pq.set_left_operators_type("EA") + pq.set_left_operators([["l1"], ["l2"]]) + pq.set_right_operators([["a*(a)"]]) + pq.add_commutator(1.0, ["f"], ["t1"]) + pq.add_commutator(1.0, ["v"], ["t1"]) + pq.add_commutator(1.0, ["f"], ["t2"]) + pq.add_commutator(1.0, ["v"], ["t2"]) + pq.add_double_commutator(1.0, ["f"], ["t1"], ["t2"]) + pq.add_double_commutator(1.0, ["v"], ["t1"], ["t2"]) + pq.simplify() + terms_r1 = pq.fully_contracted_strings() + terms_r1 = remove_e0_eom(terms_r1) + + # Get the L2 contractions in pdaggerq format + pq.clear() + pq.set_left_operators_type("EA") + pq.set_right_operators([["a*(a)", "a*(b)", "a(i)"]]) + pq.set_left_operators([["l1"], ["l2"]]) + pq.add_operator_product(1.0, ["f"]) + pq.add_operator_product(1.0, ["v"]) + pq.add_commutator(1.0, ["f"], ["t1"]) + pq.add_commutator(1.0, ["v"], ["t1"]) + pq.add_commutator(1.0, ["f"], ["t2"]) + pq.add_commutator(1.0, ["v"], ["t2"]) + pq.add_double_commutator(0.5, ["f"], ["t2"], ["t2"]) + pq.add_double_commutator(0.5, ["v"], ["t2"], ["t2"]) + pq.simplify() + terms_r2 = pq.fully_contracted_strings() + terms_r2 = remove_e0_eom(terms_r2) + + # Get the L amplitudes in albert format + terms = [terms_r1, terms_r2] + expr = [] + output = [] + returns = [] + for n in range(2): + for index_spins in get_amplitude_spins(n + 1, spin, which="ea"): + indices = default_indices["v"][: n + 1] + default_indices["o"][: n] + expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins, l_is_lambda=False) + expr_n = spin_integrate(expr_n, spin) + output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) + returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + + (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="opt") - with Stopwatch("L-EA-EOM"): + # Generate the L amplitude intermediates code + for name, codegen in code_generators.items(): + if name == "einsum": + kwargs = { + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_lmatvec_ea_intermediates", + returns_nr, + output_nr, + expr_nr, + **kwargs, + ) + + # Generate the L amplitude code + for name, codegen in code_generators.items(): + if name == "einsum": + preamble = "ints = kwargs[\"ints\"]" + if spin == "uhf": + preamble += "\nr1new = Namespace()\nr2new = Namespace()" + kwargs = { + "preamble": preamble, + "as_dict": True, + } + else: + kwargs = {} + codegen( + "hbar_lmatvec_ea", + returns_r, + output_r, + expr_r, + **kwargs, + ) + +if spin == "ghf": # FIXME + with Stopwatch("L-EE-EOM"): # Get the L1 contractions in pdaggerq format pq.clear() - pq.set_left_operators_type("EA") + pq.set_left_operators_type("EE") pq.set_left_operators([["l1"], ["l2"]]) - pq.set_right_operators([["a*(a)"]]) + pq.set_right_operators([["e1(a,i)"]]) pq.add_commutator(1.0, ["f"], ["t1"]) pq.add_commutator(1.0, ["v"], ["t1"]) pq.add_commutator(1.0, ["f"], ["t2"]) @@ -702,9 +786,9 @@ # Get the L2 contractions in pdaggerq format pq.clear() - pq.set_left_operators_type("EA") - pq.set_right_operators([["a*(a)", "a*(b)", "a(i)"]]) + pq.set_left_operators_type("EE") pq.set_left_operators([["l1"], ["l2"]]) + pq.set_right_operators([["e2(a,b,j,i)"]]) pq.add_operator_product(1.0, ["f"]) pq.add_operator_product(1.0, ["v"]) pq.add_commutator(1.0, ["f"], ["t1"]) @@ -723,8 +807,8 @@ output = [] returns = [] for n in range(2): - for index_spins in get_amplitude_spins(n + 1, spin, which="ea"): - indices = default_indices["v"][: n + 1] + default_indices["o"][: n] + for index_spins in get_amplitude_spins(n + 1, spin, which="ee"): + indices = default_indices["o"][: n + 1] + default_indices["v"][: n + 1] expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins, l_is_lambda=False) expr_n = spin_integrate(expr_n, spin) output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) @@ -733,7 +817,7 @@ output.extend(output_n) returns.extend(returns_n) - (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="opt") + (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="trav") # Generate the L amplitude intermediates code for name, codegen in code_generators.items(): @@ -744,7 +828,7 @@ else: kwargs = {} codegen( - "hbar_lmatvec_ea_intermediates", + "hbar_lmatvec_ee_intermediates", returns_nr, output_nr, expr_nr, @@ -759,107 +843,19 @@ preamble += "\nr1new = Namespace()\nr2new = Namespace()" kwargs = { "preamble": preamble, + "postamble": "r2new.baba = np.transpose(r2new.abab, (1, 0, 3, 2))" if spin == "uhf" else None, # FIXME "as_dict": True, } else: kwargs = {} codegen( - "hbar_lmatvec_ea", + "hbar_lmatvec_ee", returns_r, output_r, expr_r, **kwargs, ) - if spin == "ghf": # FIXME - with Stopwatch("L-EE-EOM"): - # Get the L1 contractions in pdaggerq format - pq.clear() - pq.set_left_operators_type("EE") - pq.set_left_operators([["l1"], ["l2"]]) - pq.set_right_operators([["e1(a,i)"]]) - pq.add_commutator(1.0, ["f"], ["t1"]) - pq.add_commutator(1.0, ["v"], ["t1"]) - pq.add_commutator(1.0, ["f"], ["t2"]) - pq.add_commutator(1.0, ["v"], ["t2"]) - pq.add_double_commutator(1.0, ["f"], ["t1"], ["t2"]) - pq.add_double_commutator(1.0, ["v"], ["t1"], ["t2"]) - pq.simplify() - terms_r1 = pq.fully_contracted_strings() - terms_r1 = remove_e0_eom(terms_r1) - - # Get the L2 contractions in pdaggerq format - pq.clear() - pq.set_left_operators_type("EE") - pq.set_left_operators([["l1"], ["l2"]]) - pq.set_right_operators([["e2(a,b,j,i)"]]) - pq.add_operator_product(1.0, ["f"]) - pq.add_operator_product(1.0, ["v"]) - pq.add_commutator(1.0, ["f"], ["t1"]) - pq.add_commutator(1.0, ["v"], ["t1"]) - pq.add_commutator(1.0, ["f"], ["t2"]) - pq.add_commutator(1.0, ["v"], ["t2"]) - pq.add_double_commutator(0.5, ["f"], ["t2"], ["t2"]) - pq.add_double_commutator(0.5, ["v"], ["t2"], ["t2"]) - pq.simplify() - terms_r2 = pq.fully_contracted_strings() - terms_r2 = remove_e0_eom(terms_r2) - - # Get the L amplitudes in albert format - terms = [terms_r1, terms_r2] - expr = [] - output = [] - returns = [] - for n in range(2): - for index_spins in get_amplitude_spins(n + 1, spin, which="ee"): - indices = default_indices["o"][: n + 1] + default_indices["v"][: n + 1] - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins, l_is_lambda=False) - expr_n = spin_integrate(expr_n, spin) - output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - - (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="trav") - - # Generate the L amplitude intermediates code - for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "as_dict": True, - } - else: - kwargs = {} - codegen( - "hbar_lmatvec_ee_intermediates", - returns_nr, - output_nr, - expr_nr, - **kwargs, - ) - - # Generate the L amplitude code - for name, codegen in code_generators.items(): - if name == "einsum": - preamble = "ints = kwargs[\"ints\"]" - if spin == "uhf": - preamble += "\nr1new = Namespace()\nr2new = Namespace()" - kwargs = { - "preamble": preamble, - "postamble": "r2new.baba = np.transpose(r2new.abab, (1, 0, 3, 2))" if spin == "uhf" else None, # FIXME - "as_dict": True, - } - else: - kwargs = {} - codegen( - "hbar_lmatvec_ee", - returns_r, - output_r, - expr_r, - **kwargs, - ) - for codegen in code_generators.values(): codegen.postamble() codegen.stdout.close() From e88ae1870ddf53e4abe435c7e05290908fd9e537 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Sun, 17 Nov 2024 12:30:41 +0000 Subject: [PATCH 140/168] Starting refactor for new albert --- ebcc/codegen/bootstrap_CCSD.py | 310 ++++++++++++++++----------------- 1 file changed, 152 insertions(+), 158 deletions(-) diff --git a/ebcc/codegen/bootstrap_CCSD.py b/ebcc/codegen/bootstrap_CCSD.py index 0e894907..79a7974a 100644 --- a/ebcc/codegen/bootstrap_CCSD.py +++ b/ebcc/codegen/bootstrap_CCSD.py @@ -5,25 +5,32 @@ import sys import pdaggerq -from albert.qc._pdaggerq import import_from_pdaggerq +from albert.qc._pdaggerq import import_from_pdaggerq, remove_reference_energy +from albert.qc.spin import ghf_to_uhf, ghf_to_rhf, get_amplitude_spins, get_density_spins +from albert.qc import ghf, uhf, rhf from albert.tensor import Tensor -from albert.qc.index import Index - -from ebcc.codegen.bootstrap_common import * +from albert.index import Index +from albert.code._ebcc import EBCCCodeGenerator +from albert.misc import Stopwatch +from albert.opt import optimise # Get the spin case spin = sys.argv[1] +spin_integrate = { + "ghf": lambda *args, **kwargs: args, + "uhf": ghf_to_uhf, + "rhf": lambda *args, **kwargs: (ghf_to_rhf(*args, **kwargs),), +}[spin] +spin_module = { + "ghf": ghf, + "uhf": uhf, + "rhf": rhf, +}[spin] # Set up the code generators -class _EinsumCodeGen(EinsumCodeGen): - def tensor_cleanup(self, *args): - args = [a for a in args if not a.startswith("ints.")] - return super().tensor_cleanup(*args) code_generators = { - "einsum": _EinsumCodeGen( - stdout=open(f"{spin[0].upper()}CCSD.py", "w"), - name_generator=name_generators[spin], - spin=spin, + "einsum": EBCCCodeGenerator( + #stdout=open(f"{spin[0].upper()}CCSD.py", "w"), ), } @@ -43,13 +50,13 @@ def tensor_cleanup(self, *args): pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() terms = pq.fully_contracted_strings() - terms = remove_hf_energy(terms) + terms = remove_reference_energy(terms) # Get the energy in albert format expr = import_from_pdaggerq(terms) - expr = spin_integrate(expr, spin) + expr = spin_integrate(expr) output = tuple(Tensor(name="e_cc") for _ in range(len(expr))) - output, expr = optimise(output, expr, spin, strategy="exhaust") + output_expr = optimise(output, expr, strategy="exhaust") returns = (Tensor(name="e_cc"),) # Generate the energy code @@ -57,123 +64,106 @@ def tensor_cleanup(self, *args): codegen( "energy", returns, - output, - expr, - ) - -with Stopwatch("T amplitudes"): - # Get the T1 contractions in pdaggerq format - pq.clear() - pq.set_left_operators([["e1(i,a)"]]) - pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) - pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) - pq.simplify() - terms_t1 = pq.fully_contracted_strings() - - # Get the T2 contractions in pdaggerq format - pq.clear() - pq.set_left_operators([["e2(i,j,b,a)"]]) - pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) - pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) - pq.simplify() - terms_t2 = pq.fully_contracted_strings() - - # Get the T amplitudes in albert format - terms = [terms_t1, terms_t2] - expr = [] - output = [] - returns = [] - for n in range(2): - for index_spins in get_amplitude_spins(n + 1, spin): - indices = default_indices["o"][: n + 1] + default_indices["v"][: n + 1] - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) - expr_n = spin_integrate(expr_n, spin) - output_n = get_t_amplitude_outputs(expr_n, f"t{n+1}new") - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"t{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - output, expr = optimise(output, expr, spin, strategy="exhaust") - - # Generate the T amplitude code - for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "preamble": "t1new = Namespace()\nt2new = Namespace()" if spin == "uhf" else None, - "as_dict": True, - } - else: - kwargs = {} - codegen( - "update_amps", - returns, - output, - expr, - **kwargs, + output_expr, ) -with Stopwatch("L amplitudes"): - # Get the L1 contractions in pdaggerq format - pq.clear() - pq.set_left_operators([["1"]]) - pq.set_right_operators([["1"]]) - pq.add_st_operator(1.0, ["f", "e1(a,i)"], ["t1", "t2"]) - pq.add_st_operator(1.0, ["v", "e1(a,i)"], ["t1", "t2"]) - pq.set_left_operators([["l1"], ["l2"]]) - pq.add_st_operator(1.0, ["f", "e1(a,i)"], ["t1", "t2"]) - pq.add_st_operator(1.0, ["v", "e1(a,i)"], ["t1", "t2"]) - pq.add_st_operator(-1.0, ["e1(a,i)", "f"], ["t1", "t2"]) - pq.add_st_operator(-1.0, ["e1(a,i)", "v"], ["t1", "t2"]) - pq.simplify() - terms_l1 = pq.fully_contracted_strings() - - # Get the L2 contractions in pdaggerq format - pq.clear() - pq.set_left_operators([["1"]]) - pq.set_right_operators([["1"]]) - pq.add_st_operator(1.0, ["f", "e2(a,b,j,i)"], ["t1", "t2"]) - pq.add_st_operator(1.0, ["v", "e2(a,b,j,i)"], ["t1", "t2"]) - pq.set_left_operators([["l1"], ["l2"]]) - pq.add_st_operator(1.0, ["f", "e2(a,b,j,i)"], ["t1", "t2"]) - pq.add_st_operator(1.0, ["v", "e2(a,b,j,i)"], ["t1", "t2"]) - pq.add_st_operator(-1.0, ["e2(a,b,j,i)", "f"], ["t1", "t2"]) - pq.add_st_operator(-1.0, ["e2(a,b,j,i)", "v"], ["t1", "t2"]) - pq.simplify() - terms_l2 = pq.fully_contracted_strings() - - # Get the L amplitudes in albert format - terms = [terms_l1, terms_l2] - expr = [] - output = [] - returns = [] - for n in range(2): - for index_spins in get_amplitude_spins(n + 1, spin): - indices = default_indices["v"][: n + 1] + default_indices["o"][: n + 1] - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) - expr_n = spin_integrate(expr_n, spin) - output_n = get_l_amplitude_outputs(expr_n, f"l{n+1}new") - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"l{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - output, expr = optimise(output, expr, spin, strategy="opt") - - # Generate the L amplitude code - for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "preamble": "l1new = Namespace()\nl2new = Namespace()" if spin == "uhf" else None, - "as_dict": True, - } - else: - kwargs = {} - codegen( - "update_lams", - returns, - output, - expr, - **kwargs, - ) +#with Stopwatch("T amplitudes"): +# # Get the T1 contractions in pdaggerq format +# pq.clear() +# pq.set_left_operators([["e1(i,a)"]]) +# pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) +# pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) +# pq.simplify() +# terms_t1 = pq.fully_contracted_strings() +# +# # Get the T2 contractions in pdaggerq format +# pq.clear() +# pq.set_left_operators([["e2(i,j,b,a)"]]) +# pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) +# pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) +# pq.simplify() +# terms_t2 = pq.fully_contracted_strings() +# +# # Get the T amplitudes in albert format +# terms = [terms_t1, terms_t2] +# expr = [] +# output = [] +# returns = [] +# for n in range(2): +# indices = "ijkl"[: n + 1] + "abcd"[: n + 1] +# for index_spins in get_amplitude_spins(indices[: n + 1], indices[n + 1 :], spin): +# expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) +# expr_n = spin_integrate(expr_n) +# output_n = [Tensor(*tuple(sorted(e.external_indices, key=lambda i: indices.index(i.name))), name=f"t{n+1}new") for e in expr_n] +# returns_n = (output_n[0],) +# expr.extend(expr_n) +# output.extend(output_n) +# returns.extend(returns_n) +# output_expr = optimise(output, expr, strategy="exhaust") +# +# # Generate the T amplitude code +# for name, codegen in code_generators.items(): +# codegen( +# "update_amps", +# returns, +# output_expr, +# as_dict=True, +# ) +# +#with Stopwatch("L amplitudes"): +# # Get the L1 contractions in pdaggerq format +# pq.clear() +# pq.set_left_operators([["1"]]) +# pq.set_right_operators([["1"]]) +# pq.add_st_operator(1.0, ["f", "e1(a,i)"], ["t1", "t2"]) +# pq.add_st_operator(1.0, ["v", "e1(a,i)"], ["t1", "t2"]) +# pq.set_left_operators([["l1"], ["l2"]]) +# pq.add_st_operator(1.0, ["f", "e1(a,i)"], ["t1", "t2"]) +# pq.add_st_operator(1.0, ["v", "e1(a,i)"], ["t1", "t2"]) +# pq.add_st_operator(-1.0, ["e1(a,i)", "f"], ["t1", "t2"]) +# pq.add_st_operator(-1.0, ["e1(a,i)", "v"], ["t1", "t2"]) +# pq.simplify() +# terms_l1 = pq.fully_contracted_strings() +# +# # Get the L2 contractions in pdaggerq format +# pq.clear() +# pq.set_left_operators([["1"]]) +# pq.set_right_operators([["1"]]) +# pq.add_st_operator(1.0, ["f", "e2(a,b,j,i)"], ["t1", "t2"]) +# pq.add_st_operator(1.0, ["v", "e2(a,b,j,i)"], ["t1", "t2"]) +# pq.set_left_operators([["l1"], ["l2"]]) +# pq.add_st_operator(1.0, ["f", "e2(a,b,j,i)"], ["t1", "t2"]) +# pq.add_st_operator(1.0, ["v", "e2(a,b,j,i)"], ["t1", "t2"]) +# pq.add_st_operator(-1.0, ["e2(a,b,j,i)", "f"], ["t1", "t2"]) +# pq.add_st_operator(-1.0, ["e2(a,b,j,i)", "v"], ["t1", "t2"]) +# pq.simplify() +# terms_l2 = pq.fully_contracted_strings() +# +# # Get the L amplitudes in albert format +# terms = [terms_l1, terms_l2] +# expr = [] +# output = [] +# returns = [] +# for n in range(2): +# indices = "abcd"[: n + 1] + "ijkl"[: n + 1] +# for index_spins in get_amplitude_spins(indices[: n + 1], indices[n + 1 :], spin): +# expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) +# expr_n = spin_integrate(expr_n) +# output_n = [Tensor(*tuple(sorted(e.external_indices, key=lambda i: indices.index(i.name))), name=f"l{n+1}new") for e in expr_n] +# returns_n = (output_n[0],) +# expr.extend(expr_n) +# output.extend(output_n) +# returns.extend(returns_n) +# output_expr = optimise(output, expr, strategy="opt") +# +# # Generate the L amplitude code +# for name, codegen in code_generators.items(): +# codegen( +# "update_lams", +# returns, +# output_expr, +# as_dict=True, +# ) with Stopwatch("1RDM"): # Get the 1RDM contractions in pdaggerq format @@ -189,34 +179,35 @@ def tensor_cleanup(self, *args): expr = [] output = [] returns = [] + deltas = [] + deltas_sources = [] for sectors, indices in [("oo", "ij"), ("ov", "ia"), ("vo", "ai"), ("vv", "ab")]: - for index_spins in get_density_spins(1, spin, indices): + for index_spins in get_density_spins(indices, spin): expr_n = import_from_pdaggerq(terms[sectors, indices], index_spins=index_spins) - expr_n = spin_integrate(expr_n, spin) + expr_n = spin_integrate(expr_n) if spin == "rhf": expr_n = tuple(e * 2 for e in expr_n) - output_n = get_density_outputs(expr_n, f"d", indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i], space=s) for i, s in zip(indices, sectors)), name=f"d"),) + output_n = [Tensor(*tuple(sorted(e.external_indices, key=lambda i: indices.index(i.name))), name=f"d") for e in expr_n] + returns_n = (output_n[0],) expr.extend(expr_n) output.extend(output_n) returns.extend(returns_n) - output, expr = optimise(output, expr, spin, strategy="exhaust") + if len(set(sectors)) == 1: + delta = spin_module.Delta(*tuple(sorted(expr_n[0].external_indices, key=lambda i: indices.index(i.name)))) + deltas.append(delta) + deltas_sources.append(next(expr_n[0].search_leaves(spin_module.T1))) + output_expr = optimise(output, expr, strategy="exhaust") # Generate the 1RDM code for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "preamble": get_density_einsum_preamble(1, spin), - "postamble": get_density_einsum_postamble(1, spin), - } - else: - kwargs = {} + for delta, delta_source in zip(deltas, deltas_sources): + codegen.tensor_declaration( + delta, is_identity=True, shape_source=delta_source, shape_source_index=0 + ) codegen( "make_rdm1_f", returns, - output, - expr, - **kwargs, + output_expr, ) with Stopwatch("2RDM"): @@ -252,6 +243,8 @@ def tensor_cleanup(self, *args): expr = [] output = [] returns = [] + deltas = [] + deltas_sources = [] for sectors, indices in [ ("oooo", "ijkl"), ("ooov", "ijka"), @@ -270,29 +263,30 @@ def tensor_cleanup(self, *args): ("vvvo", "abci"), ("vvvv", "abcd"), ]: - for index_spins in get_density_spins(2, spin, indices): + for index_spins in get_density_spins(indices): expr_n = import_from_pdaggerq(terms[sectors, indices], index_spins=index_spins) - expr_n = spin_integrate(expr_n, spin) - output_n = get_density_outputs(expr_n, f"Γ", indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i], space=s) for i, s in zip(indices, sectors)), name=f"Γ"),) + expr_n = spin_integrate(expr_n) + output_n = [Tensor(*tuple(sorted(e.external_indices, key=lambda i: indices.index(i.name))), name=f"Γ") for e in expr_n] + returns_n = (output_n[0],) expr.extend(expr_n) output.extend(output_n) returns.extend(returns_n) - output, expr = optimise(output, expr, spin, strategy="trav") + if len(set(sectors)) == 1: + delta = spin_module.Delta(*tuple(sorted(expr_n[0].external_indices, key=lambda i: indices.index(i.name)))) + deltas.append(delta) + deltas_sources.append(next(expr_n[0].search_leaves(spin_module.T1))) + output_expr = optimise(output, expr, strategy="trav") # Generate the 2RDM code for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "preamble": get_density_einsum_preamble(2, spin), - "postamble": get_density_einsum_postamble(2, spin), - } + for delta, delta_source in zip(deltas, deltas_sources): + codegen.tensor_declaration( + delta, is_identity=True, shape_source=delta_source, shape_source_index=0 + ) codegen( "make_rdm2_f", returns, - output, - expr, - **kwargs, + output_expr, ) with Stopwatch("IP-EOM"): From ea1196d5bf207b4f1623698467305c43539cd804 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Thu, 21 Nov 2024 21:51:24 +0000 Subject: [PATCH 141/168] New scripts for new albert --- ebcc/codegen/GCCSDwtwp.py | 398 ++++++------ ebcc/codegen/RCCSDwtwp.py | 776 +++++++++++------------ ebcc/codegen/bootstrap_CC2.py | 519 +++++----------- ebcc/codegen/bootstrap_CC3.py | 54 +- ebcc/codegen/bootstrap_CCD.py | 543 +++++----------- ebcc/codegen/bootstrap_CCSD.py | 696 +++++++-------------- ebcc/codegen/bootstrap_CCSDT.py | 533 +++++----------- ebcc/codegen/bootstrap_CCSDTQ.py | 72 +-- ebcc/codegen/bootstrap_DCD.py | 57 +- ebcc/codegen/bootstrap_DCSD.py | 56 +- ebcc/codegen/bootstrap_DFCC2.py | 532 +++++----------- ebcc/codegen/bootstrap_DFCCD.py | 560 +++++------------ ebcc/codegen/bootstrap_DFCCSD.py | 533 +++++----------- ebcc/codegen/bootstrap_DFDCD.py | 58 +- ebcc/codegen/bootstrap_DFDCSD.py | 57 +- ebcc/codegen/bootstrap_DFQCISD.py | 532 +++++----------- ebcc/codegen/bootstrap_MPn.py | 479 +++++---------- ebcc/codegen/bootstrap_QCISD.py | 522 +++++----------- ebcc/codegen/bootstrap_common.py | 988 +++++------------------------- 19 files changed, 2463 insertions(+), 5502 deletions(-) diff --git a/ebcc/codegen/GCCSDwtwp.py b/ebcc/codegen/GCCSDwtwp.py index ffe055ca..8e0ef679 100644 --- a/ebcc/codegen/GCCSDwtwp.py +++ b/ebcc/codegen/GCCSDwtwp.py @@ -2,14 +2,14 @@ Code generated by `albert`: https://github.com/obackhouse/albert - * date: 2024-09-27T21:44:58.220797 - * python version: 3.10.12 (main, Sep 11 2024, 15:47:36) [GCC 11.4.0] + * date: 2024-09-29T17:18:28.820515 + * python version: 3.10.15 (main, Sep 9 2024, 03:02:45) [GCC 11.4.0] * albert version: 0.0.0 - * caller: /home/ollie/git/albert/albert/codegen/einsum.py - * node: ollie-desktop + * caller: /opt/hostedtoolcache/Python/3.10.15/x64/lib/python3.10/site-packages/albert/codegen/einsum.py + * node: fv-az1788-690 * system: Linux * processor: x86_64 - * release: 6.8.0-40-generic + * release: 6.8.0-1014-azure """ from ebcc import numpy as np @@ -19,7 +19,7 @@ def energy(f=None, t1=None, t2=None, v=None, **kwargs): """ - Code generated by `albert` 0.0.0 on 2024-09-27T21:44:58.384057. + Code generated by `albert` 0.0.0 on 2024-09-29T17:18:29.071491. Parameters ---------- @@ -39,7 +39,7 @@ def energy(f=None, t1=None, t2=None, v=None, **kwargs): """ tmp0 = np.copy(t2) - tmp0 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) * 2 + tmp0 += einsum(t1, (0, 1), t1, (2, 3), (2, 0, 3, 1)) * 2 e_cc = einsum(f.ov, (0, 1), t1, (0, 1), ()) e_cc += einsum(tmp0, (0, 1, 2, 3), v.oovv, (0, 1, 2, 3), ()) * 0.25 del tmp0 @@ -48,7 +48,7 @@ def energy(f=None, t1=None, t2=None, v=None, **kwargs): def update_amps(f=None, t1=None, t2=None, t3=None, v=None, **kwargs): """ - Code generated by `albert` 0.0.0 on 2024-09-27T21:45:33.101020. + Code generated by `albert` 0.0.0 on 2024-09-29T17:19:16.670741. Parameters ---------- @@ -81,235 +81,235 @@ def update_amps(f=None, t1=None, t2=None, t3=None, v=None, **kwargs): sv = np.ones((t1.shape[1],), dtype=bool) sO = space.active[space.correlated][space.occupied[space.correlated]] sV = space.active[space.correlated][space.virtual[space.correlated]] - t2_ooVv = np.copy(t2[np.ix_(so, so, sV, sv)]) - t1_oV = np.copy(t1[np.ix_(so, sV)]) - t2_ooVV = np.copy(t2[np.ix_(so, so, sV, sV)]) - t2_OOVv = np.copy(t2[np.ix_(sO, sO, sV, sv)]) - t1_Ov = np.copy(t1[np.ix_(sO, sv)]) + t2_OOvv = np.copy(t2[np.ix_(sO, sO, sv, sv)]) + t2_OoVv = np.copy(t2[np.ix_(sO, so, sV, sv)]) t1_ov = np.copy(t1[np.ix_(so, sv)]) + t1_Ov = np.copy(t1[np.ix_(sO, sv)]) t2_oovv = np.copy(t2[np.ix_(so, so, sv, sv)]) - t2_Oovv = np.copy(t2[np.ix_(sO, so, sv, sv)]) t2_OoVV = np.copy(t2[np.ix_(sO, so, sV, sV)]) - t2_OOvv = np.copy(t2[np.ix_(sO, sO, sv, sv)]) - t2_OoVv = np.copy(t2[np.ix_(sO, so, sV, sv)]) + t2_ooVv = np.copy(t2[np.ix_(so, so, sV, sv)]) + t2_Oovv = np.copy(t2[np.ix_(sO, so, sv, sv)]) + t1_oV = np.copy(t1[np.ix_(so, sV)]) + t2_OOVv = np.copy(t2[np.ix_(sO, sO, sV, sv)]) + t2_ooVV = np.copy(t2[np.ix_(so, so, sV, sV)]) - tmp110 = einsum(v.oovv, (0, 1, 2, 3), t1_Ov, (4, 3), (0, 1, 2, 4)) - tmp146 = einsum(t1_Ov, (0, 1), tmp110, (2, 3, 1, 4), (3, 2, 4, 0)) - tmp143 = einsum(t1_oV, (0, 1), v.ooVV, (2, 0, 3, 4), (2, 1, 3, 4)) - tmp137 = einsum(v.OOvv, (0, 1, 2, 3), t1_Ov, (4, 3), (2, 4, 0, 1)) - tmp134 = einsum(v.ooVv, (0, 1, 2, 3), t1, (1, 3), (0, 2)) * -1 - tmp126 = einsum(v.oVvv, (0, 1, 2, 3), t1_Ov, (4, 3), (0, 2, 4, 1)) - tmp149 = einsum(t1_oV, (0, 1), tmp110, (2, 0, 3, 4), (2, 3, 4, 1)) + tmp110 = einsum(t1_Ov, (0, 1), v.oovv, (2, 3, 4, 1), (2, 3, 4, 0)) + tmp140 = einsum(v.OoVv, (0, 1, 2, 3), t1_Ov, (4, 3), (1, 4, 0, 2)) tmp115 = einsum(t1_oV, (0, 1), v.oovv, (2, 0, 3, 4), (2, 3, 4, 1)) + tmp137 = einsum(t1_Ov, (0, 1), v.OOvv, (2, 3, 4, 1), (4, 0, 2, 3)) + tmp123 = einsum(t1_oV, (0, 1), v.Ovoo, (2, 3, 4, 0), (4, 3, 2, 1)) * -1 + tmp126 = einsum(v.Vovv, (0, 1, 2, 3), t1_Ov, (4, 3), (1, 2, 4, 0)) * -1 + tmp146 = einsum(t1_Ov, (0, 1), tmp110, (2, 3, 1, 4), (3, 2, 4, 0)) + tmp1 = einsum(t1, (0, 1), v.oovv, (2, 0, 3, 1), (2, 3)) + tmp143 = einsum(v.VVoo, (0, 1, 2, 3), t1_oV, (3, 4), (2, 4, 0, 1)) + tmp120 = einsum(v.Ovoo, (0, 1, 2, 3), t1_Ov, (4, 1), (2, 3, 4, 0)) * -1 tmp131 = einsum(v.Oovv, (0, 1, 2, 3), t1, (1, 3), (2, 0)) * -1 - tmp140 = einsum(t1_Ov, (0, 1), v.OoVv, (2, 3, 4, 1), (3, 0, 2, 4)) - tmp1 = einsum(v.oovv, (0, 1, 2, 3), t1, (1, 3), (0, 2)) - tmp120 = einsum(t1_Ov, (0, 1), v.Ovoo, (2, 1, 3, 4), (3, 4, 0, 2)) * -1 - tmp123 = einsum(v.Ovoo, (0, 1, 2, 3), t1_oV, (3, 4), (2, 1, 0, 4)) * -1 + tmp149 = einsum(t1_oV, (0, 1), tmp110, (2, 0, 3, 4), (2, 3, 4, 1)) + tmp134 = einsum(t1, (0, 1), v.Vvoo, (2, 1, 3, 0), (3, 2)) * -1 tmp2 = einsum(v.oovv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) - tmp23 = einsum(t1, (0, 1), v.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) - tmp18 = einsum(t1, (0, 1), v.ooov, (2, 3, 4, 1), (0, 2, 3, 4)) + tmp18 = einsum(v.ooov, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) + tmp23 = einsum(v.ovvv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) + tmp104 = einsum(v.Vovv, (0, 1, 2, 3), t2_OOvv, (4, 5, 2, 3), (1, 4, 5, 0)) * -1 + tmp87 = einsum(v.Oovv, (0, 1, 2, 3), t2_Oovv, (4, 1, 2, 3), (4, 0)) + tmp100 = einsum(t2_OoVv, (0, 1, 2, 3), v.Ovoo, (4, 3, 5, 1), (5, 0, 4, 2)) * -1 + tmp106 = einsum(v.Vovv, (0, 1, 2, 3), t2_OoVv, (4, 1, 5, 3), (2, 4, 5, 0)) * -1 + tmp141 = einsum(tmp140, (0, 1, 2, 3), t1_oV, (0, 4), (1, 2, 4, 3)) + del tmp140 + tmp118 = einsum(tmp115, (0, 1, 2, 3), t2_OoVv, (4, 0, 5, 1), (2, 4, 3, 5)) + tmp138 = einsum(t1_Ov, (0, 1), tmp137, (1, 2, 3, 4), (2, 0, 4, 3)) + del tmp137 + tmp102 = einsum(t2_ooVV, (0, 1, 2, 3), v.Ovoo, (4, 5, 0, 1), (5, 4, 2, 3)) * -1 + tmp56 = einsum(f.Ov, (0, 1), t1_Ov, (2, 1), (0, 2)) + tmp97 = einsum(t2_ooVV, (0, 1, 2, 3), v.VVoo, (4, 5, 0, 1), (2, 3, 4, 5)) + tmp124 = einsum(tmp123, (0, 1, 2, 3), t1_oV, (0, 4), (1, 2, 3, 4)) * -1 + del tmp123 + tmp129 = einsum(tmp126, (0, 1, 2, 3), t1_oV, (0, 4), (1, 2, 4, 3)) tmp147 = einsum(t1_oV, (0, 1), tmp146, (0, 2, 3, 4), (2, 3, 4, 1)) * -1 del tmp146 + tmp108 = einsum(t2_OOVv, (0, 1, 2, 3), tmp1, (4, 3), (4, 0, 1, 2)) + tmp116 = einsum(tmp115, (0, 1, 2, 3), t2_OOvv, (4, 5, 2, 1), (0, 4, 5, 3)) * -1 + del tmp115 + tmp85 = einsum(v.VoVV, (0, 1, 2, 3), t1_oV, (1, 4), (4, 0, 2, 3)) * -1 tmp111 = einsum(t2_OoVv, (0, 1, 2, 3), tmp110, (1, 4, 3, 5), (4, 5, 0, 2)) - tmp93 = einsum(t2_OoVv, (0, 1, 2, 3), v.OoVv, (4, 1, 5, 3), (0, 4, 2, 5)) - tmp87 = einsum(t2_Oovv, (0, 1, 2, 3), v.Oovv, (4, 1, 2, 3), (0, 4)) - tmp144 = einsum(tmp143, (0, 1, 2, 3), t1_oV, (0, 4), (1, 4, 3, 2)) + tmp91 = einsum(t2_ooVv, (0, 1, 2, 3), v.Vvoo, (4, 3, 0, 1), (2, 4)) + tmp144 = einsum(t1_oV, (0, 1), tmp143, (0, 2, 3, 4), (2, 1, 4, 3)) del tmp143 - tmp138 = einsum(t1_Ov, (0, 1), tmp137, (1, 2, 3, 4), (2, 0, 4, 3)) - del tmp137 - tmp77 = einsum(t1_Ov, (0, 1), v.OvOO, (2, 1, 3, 4), (0, 2, 3, 4)) * -1 - tmp69 = einsum(t1_Ov, (0, 1), v.OvoV, (2, 1, 3, 4), (3, 0, 2, 4)) * -1 - tmp79 = einsum(t1_oV, (0, 1), v.OoOV, (2, 0, 3, 4), (2, 3, 1, 4)) * -1 - tmp95 = einsum(t2_OOVv, (0, 1, 2, 3), v.OOVv, (4, 5, 6, 3), (0, 1, 4, 5, 2, 6)) - tmp75 = einsum(v.OoOv, (0, 1, 2, 3), t1, (1, 3), (0, 2)) - tmp135 = einsum(tmp134, (0, 1), t1_oV, (0, 2), (2, 1)) * -1 - del tmp134 - tmp127 = einsum(t1_Ov, (0, 1), tmp126, (2, 1, 3, 4), (2, 3, 0, 4)) * -1 - tmp100 = einsum(v.Ovoo, (0, 1, 2, 3), t2_OoVv, (4, 3, 5, 1), (2, 4, 0, 5)) * -1 - tmp150 = einsum(t1_oV, (0, 1), tmp149, (0, 2, 3, 4), (2, 3, 4, 1)) * -1 - del tmp149 - tmp116 = einsum(t2_OOvv, (0, 1, 2, 3), tmp115, (4, 3, 2, 5), (4, 0, 1, 5)) * -1 - tmp71 = einsum(t1_oV, (0, 1), v.OvoV, (2, 3, 0, 4), (3, 2, 1, 4)) * -1 - tmp60 = einsum(f.ov, (0, 1), t2_OOVv, (2, 3, 4, 1), (0, 2, 3, 4)) * -1 - tmp118 = einsum(t2_OoVv, (0, 1, 2, 3), tmp115, (1, 3, 4, 5), (4, 0, 5, 2)) - del tmp115 - tmp104 = einsum(v.oVvv, (0, 1, 2, 3), t2_OOvv, (4, 5, 2, 3), (0, 4, 5, 1)) - tmp129 = einsum(t1_oV, (0, 1), tmp126, (0, 2, 3, 4), (2, 3, 1, 4)) - del tmp126 - tmp113 = einsum(tmp110, (0, 1, 2, 3), t2_ooVV, (1, 0, 4, 5), (2, 3, 4, 5)) * -1 + tmp113 = einsum(t2_ooVV, (0, 1, 2, 3), tmp110, (1, 0, 4, 5), (4, 5, 2, 3)) * -1 del tmp110 - tmp132 = einsum(t1_Ov, (0, 1), tmp131, (1, 2), (0, 2)) * -1 - del tmp131 - tmp89 = einsum(t2_OOvv, (0, 1, 2, 3), v.OOvv, (4, 5, 2, 3), (0, 1, 4, 5)) - tmp141 = einsum(t1_oV, (0, 1), tmp140, (0, 2, 3, 4), (2, 3, 1, 4)) - del tmp140 - tmp102 = einsum(v.Ovoo, (0, 1, 2, 3), t2_ooVV, (2, 3, 4, 5), (1, 0, 4, 5)) * -1 - tmp56 = einsum(t1_Ov, (0, 1), f.Ov, (2, 1), (2, 0)) - tmp106 = einsum(v.oVvv, (0, 1, 2, 3), t2_OoVv, (4, 0, 5, 3), (2, 4, 5, 1)) - tmp30 = einsum(v.OoVV, (0, 1, 2, 3), t3, (4, 5, 0, 6, 2, 3), (1, 4, 5, 6)) * -1 - tmp73 = einsum(t1_Ov, (0, 1), v.VVvv, (2, 3, 4, 1), (4, 0, 2, 3)) - tmp58 = einsum(t1_oV, (0, 1), f.oV, (0, 2), (2, 1)) - tmp83 = einsum(t1_Ov, (0, 1), v.OVVv, (2, 3, 4, 1), (0, 2, 4, 3)) * -1 - tmp81 = einsum(t1, (0, 1), v.oVVv, (0, 2, 3, 1), (2, 3)) * -1 - tmp67 = einsum(t1_oV, (0, 1), v.OOoo, (2, 3, 4, 0), (4, 2, 3, 1)) - tmp108 = einsum(t2_OOVv, (0, 1, 2, 3), tmp1, (4, 3), (4, 0, 1, 2)) - tmp97 = einsum(v.ooVV, (0, 1, 2, 3), t2_ooVV, (0, 1, 4, 5), (4, 5, 2, 3)) - tmp85 = einsum(t1_oV, (0, 1), v.oVVV, (0, 2, 3, 4), (1, 2, 3, 4)) - tmp91 = einsum(v.ooVv, (0, 1, 2, 3), t2_ooVv, (0, 1, 4, 3), (4, 2)) + tmp93 = einsum(v.OoVv, (0, 1, 2, 3), t2_OoVv, (4, 1, 5, 3), (4, 0, 5, 2)) tmp121 = einsum(t1_oV, (0, 1), tmp120, (2, 0, 3, 4), (2, 3, 4, 1)) del tmp120 - tmp124 = einsum(t1_oV, (0, 1), tmp123, (0, 2, 3, 4), (2, 3, 4, 1)) * -1 - del tmp123 + tmp69 = einsum(v.OvVo, (0, 1, 2, 3), t1_Ov, (4, 1), (3, 4, 0, 2)) + tmp132 = einsum(tmp131, (0, 1), t1_Ov, (2, 0), (2, 1)) * -1 + del tmp131 + tmp150 = einsum(tmp149, (0, 1, 2, 3), t1_oV, (0, 4), (1, 2, 3, 4)) * -1 + del tmp149 + tmp71 = einsum(v.OvVo, (0, 1, 2, 3), t1_oV, (3, 4), (1, 0, 4, 2)) + tmp127 = einsum(t1_Ov, (0, 1), tmp126, (2, 1, 3, 4), (2, 3, 0, 4)) * -1 + del tmp126 + tmp75 = einsum(v.OoOv, (0, 1, 2, 3), t1, (1, 3), (0, 2)) + tmp60 = einsum(f.ov, (0, 1), t2_OOVv, (2, 3, 4, 1), (0, 2, 3, 4)) * -1 + tmp30 = einsum(t3, (0, 1, 2, 3, 4, 5), v.OoVV, (2, 6, 4, 5), (6, 0, 1, 3)) * -1 + tmp79 = einsum(v.OoOV, (0, 1, 2, 3), t1_oV, (1, 4), (0, 2, 4, 3)) * -1 + tmp73 = einsum(v.VVvv, (0, 1, 2, 3), t1_Ov, (4, 3), (2, 4, 0, 1)) + tmp77 = einsum(v.OvOO, (0, 1, 2, 3), t1_Ov, (4, 1), (4, 0, 2, 3)) * -1 + tmp81 = einsum(v.VoVv, (0, 1, 2, 3), t1, (1, 3), (0, 2)) + tmp89 = einsum(v.OOvv, (0, 1, 2, 3), t2_OOvv, (4, 5, 2, 3), (4, 5, 0, 1)) + tmp83 = einsum(v.OVVv, (0, 1, 2, 3), t1_Ov, (4, 3), (4, 0, 2, 1)) * -1 + tmp67 = einsum(t1_oV, (0, 1), v.OOoo, (2, 3, 4, 0), (4, 2, 3, 1)) + tmp95 = einsum(t2_OOVv, (0, 1, 2, 3), v.OOVv, (4, 5, 6, 3), (0, 1, 4, 5, 2, 6)) + tmp58 = einsum(t1_oV, (0, 1), f.Vo, (2, 0), (2, 1)) + tmp135 = einsum(tmp134, (0, 1), t1_oV, (0, 2), (2, 1)) * -1 + del tmp134 tmp28 = einsum(v.OOVv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) * -1 + tmp43 = einsum(t2, (0, 1, 2, 3), tmp1, (4, 3), (0, 1, 4, 2)) * -1 + tmp0 = einsum(f.ov, (0, 1), t1, (2, 1), (0, 2)) tmp4 = einsum(v.ooov, (0, 1, 2, 3), t1, (1, 3), (0, 2)) + tmp37 = einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 2, 3), (0, 1, 4, 5)) + tmp3 = einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 2, 3), (0, 4)) + tmp40 = einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 3), (0, 4, 2, 5)) + tmp46 = einsum(tmp2, (0, 1, 2, 3), t2, (4, 1, 5, 3), (0, 4, 2, 5)) + tmp20 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 1, 5, 3), (0, 4, 5, 2)) tmp25 = einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 2, 3), (0, 1, 4, 5)) - tmp10 = einsum(t2, (0, 1, 2, 3), f.ov, (4, 3), (4, 0, 1, 2)) - tmp46 = einsum(t2, (0, 1, 2, 3), tmp2, (4, 1, 5, 3), (4, 0, 5, 2)) - tmp51 = einsum(t1, (0, 1), tmp23, (2, 3, 4, 1), (2, 0, 3, 4)) * -1 - tmp37 = einsum(v.oovv, (0, 1, 2, 3), t2, (4, 5, 2, 3), (4, 5, 0, 1)) tmp33 = einsum(v.ovov, (0, 1, 2, 3), t1, (4, 3), (4, 0, 2, 1)) - tmp45 = einsum(tmp2, (0, 1, 2, 3), t1, (4, 3), (0, 4, 2, 1)) - tmp38 = einsum(t2, (0, 1, 2, 3), v.oovv, (0, 1, 4, 3), (2, 4)) - tmp20 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 1, 5, 3), (0, 4, 5, 2)) - tmp3 = einsum(v.oovv, (0, 1, 2, 3), t2, (4, 1, 2, 3), (4, 0)) tmp5 = einsum(v.ovvv, (0, 1, 2, 3), t1, (0, 3), (1, 2)) - tmp43 = einsum(t2, (0, 1, 2, 3), tmp1, (4, 3), (0, 1, 4, 2)) * -1 + tmp10 = einsum(t2, (0, 1, 2, 3), f.ov, (4, 3), (4, 0, 1, 2)) + tmp6 = einsum(tmp1, (0, 1), t1, (2, 1), (2, 0)) + tmp45 = einsum(tmp2, (0, 1, 2, 3), t1, (4, 3), (0, 4, 2, 1)) tmp49 = einsum(tmp18, (0, 1, 2, 3), t1, (1, 4), (0, 2, 3, 4)) * -1 - tmp6 = einsum(t1, (0, 1), tmp1, (2, 1), (0, 2)) - tmp0 = einsum(f.ov, (0, 1), t1, (2, 1), (0, 2)) - tmp40 = einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 3), (0, 4, 2, 5)) - tmp148 = einsum(t2_OoVV, (0, 1, 2, 3), tmp147, (1, 4, 5, 6), (5, 4, 0, 6, 2, 3)) * -1 - del tmp147 - tmp112 = einsum(t2_OoVV, (0, 1, 2, 3), tmp111, (1, 4, 5, 6), (4, 0, 5, 2, 3, 6)) * -1 - del tmp111 - tmp94 = einsum(tmp93, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (0, 4, 5, 2, 6, 7)) - del tmp93 + tmp51 = einsum(t1, (0, 1), tmp23, (2, 3, 4, 1), (2, 0, 3, 4)) * -1 + tmp38 = einsum(t2, (0, 1, 2, 3), v.oovv, (0, 1, 4, 3), (2, 4)) + tmp105 = einsum(t2_OoVV, (0, 1, 2, 3), tmp104, (1, 4, 5, 6), (4, 5, 0, 2, 3, 6)) * -1 + del tmp104 tmp88 = einsum(tmp87, (0, 1), t3, (2, 3, 1, 4, 5, 6), (0, 2, 3, 4, 5, 6)) del tmp87 - tmp145 = einsum(tmp144, (0, 1, 2, 3), t3, (4, 5, 6, 7, 2, 3), (4, 5, 6, 0, 1, 7)) - del tmp144 - tmp139 = einsum(tmp138, (0, 1, 2, 3), t3, (4, 2, 3, 5, 6, 7), (1, 0, 4, 5, 6, 7)) * -1 - del tmp138 - tmp63 = einsum(t2_OOVv, (0, 1, 2, 3), v.OvVV, (4, 3, 5, 6), (0, 1, 4, 2, 5, 6)) - tmp78 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp77, (6, 7, 2, 1), (6, 0, 7, 3, 4, 5)) * -1 - del tmp77 - tmp70 = einsum(t2_OoVV, (0, 1, 2, 3), tmp69, (1, 4, 5, 6), (4, 0, 5, 2, 3, 6)) * -1 - del tmp69 - tmp80 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp79, (2, 6, 7, 5), (0, 1, 6, 7, 3, 4)) - del tmp79 - tmp96 = einsum(tmp95, (0, 1, 2, 3, 4, 5), t3, (6, 3, 2, 7, 8, 5), (0, 1, 6, 4, 7, 8)) * -1 - del tmp95 - tmp76 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp75, (2, 6), (0, 1, 6, 3, 4, 5)) - del tmp75 - tmp136 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp135, (6, 5), (0, 1, 2, 6, 3, 4)) - del tmp135 - tmp66 = einsum(v.VVVV, (0, 1, 2, 3), t3, (4, 5, 6, 7, 2, 3), (4, 5, 6, 7, 0, 1)) - tmp128 = einsum(tmp127, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), (1, 2, 4, 5, 6, 3)) * -1 - del tmp127 - tmp101 = einsum(t2_OoVV, (0, 1, 2, 3), tmp100, (1, 4, 5, 6), (0, 4, 5, 2, 3, 6)) * -1 + tmp101 = einsum(tmp100, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), (4, 1, 2, 5, 6, 3)) * -1 del tmp100 - tmp151 = einsum(t2_OOVv, (0, 1, 2, 3), tmp150, (3, 4, 5, 6), (4, 0, 1, 5, 6, 2)) - del tmp150 - tmp117 = einsum(t2_OoVV, (0, 1, 2, 3), tmp116, (1, 4, 5, 6), (4, 5, 0, 6, 2, 3)) - del tmp116 - tmp72 = einsum(tmp71, (0, 1, 2, 3), t2_OOVv, (4, 5, 6, 0), (4, 5, 1, 2, 6, 3)) * -1 - del tmp71 - tmp61 = einsum(t2_OoVV, (0, 1, 2, 3), tmp60, (1, 4, 5, 6), (5, 4, 0, 6, 2, 3)) - del tmp60 - tmp119 = einsum(tmp118, (0, 1, 2, 3), t2_OOVv, (4, 5, 6, 0), (4, 5, 1, 2, 6, 3)) * -1 - del tmp118 - tmp105 = einsum(t2_OoVV, (0, 1, 2, 3), tmp104, (1, 4, 5, 6), (4, 5, 0, 2, 3, 6)) * -1 - del tmp104 - tmp130 = einsum(t2_OOVv, (0, 1, 2, 3), tmp129, (3, 4, 5, 6), (4, 0, 1, 5, 2, 6)) - del tmp129 - tmp114 = einsum(tmp113, (0, 1, 2, 3), t2_OOVv, (4, 5, 6, 0), (1, 4, 5, 2, 3, 6)) - del tmp113 - tmp62 = einsum(v.OOoV, (0, 1, 2, 3), t2_OoVV, (4, 2, 5, 6), (4, 0, 1, 5, 6, 3)) * -1 - tmp133 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp132, (6, 2), (6, 0, 1, 3, 4, 5)) - del tmp132 - tmp90 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp89, (6, 7, 2, 1), (7, 6, 0, 3, 4, 5)) - del tmp89 + tmp107 = einsum(t2_OOVv, (0, 1, 2, 3), tmp106, (3, 4, 5, 6), (0, 1, 4, 2, 5, 6)) * -1 + del tmp106 tmp142 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp141, (6, 2, 7, 5), (6, 0, 1, 7, 3, 4)) del tmp141 - tmp65 = einsum(t3, (0, 1, 2, 3, 4, 5), v.OVOV, (6, 5, 2, 7), (0, 1, 6, 3, 4, 7)) + tmp119 = einsum(t2_OOVv, (0, 1, 2, 3), tmp118, (3, 4, 5, 6), (0, 1, 4, 5, 2, 6)) * -1 + del tmp118 + tmp139 = einsum(tmp138, (0, 1, 2, 3), t3, (4, 2, 3, 5, 6, 7), (1, 0, 4, 5, 6, 7)) * -1 + del tmp138 tmp103 = einsum(tmp102, (0, 1, 2, 3), t2_OOVv, (4, 5, 6, 0), (4, 5, 1, 2, 3, 6)) * -1 del tmp102 - tmp57 = einsum(tmp56, (0, 1), t3, (2, 3, 0, 4, 5, 6), (1, 2, 3, 4, 5, 6)) + tmp57 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp56, (2, 6), (6, 0, 1, 3, 4, 5)) del tmp56 - tmp107 = einsum(t2_OOVv, (0, 1, 2, 3), tmp106, (3, 4, 5, 6), (0, 1, 4, 2, 5, 6)) * -1 - del tmp106 - tmp99 = einsum(t2_OoVV, (0, 1, 2, 3), tmp30, (1, 4, 5, 6), (0, 5, 4, 2, 3, 6)) - tmp74 = einsum(t2_OOVv, (0, 1, 2, 3), tmp73, (3, 4, 5, 6), (4, 0, 1, 2, 5, 6)) - del tmp73 - tmp59 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp58, (5, 6), (0, 1, 2, 6, 3, 4)) - del tmp58 - tmp55 = einsum(t3, (0, 1, 2, 3, 4, 5), f.VV, (6, 5), (0, 1, 2, 6, 3, 4)) - tmp54 = einsum(f.OO, (0, 1), t3, (2, 3, 1, 4, 5, 6), (0, 2, 3, 4, 5, 6)) - tmp84 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp83, (6, 2, 5, 7), (6, 0, 1, 3, 4, 7)) - del tmp83 - tmp82 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp81, (6, 5), (0, 1, 2, 3, 4, 6)) - del tmp81 - tmp68 = einsum(t2_OoVV, (0, 1, 2, 3), tmp67, (1, 4, 5, 6), (0, 4, 5, 6, 2, 3)) - del tmp67 - tmp109 = einsum(t2_OoVV, (0, 1, 2, 3), tmp108, (1, 4, 5, 6), (4, 5, 0, 6, 2, 3)) - del tmp108 - tmp64 = einsum(t3, (0, 1, 2, 3, 4, 5), v.OOOO, (6, 7, 1, 2), (0, 6, 7, 3, 4, 5)) tmp98 = einsum(tmp97, (0, 1, 2, 3), t3, (4, 5, 6, 7, 3, 2), (4, 5, 6, 1, 0, 7)) del tmp97 + tmp125 = einsum(tmp124, (0, 1, 2, 3), t2_OOVv, (4, 5, 6, 0), (4, 5, 1, 2, 3, 6)) * -1 + del tmp124 + tmp130 = einsum(t2_OOVv, (0, 1, 2, 3), tmp129, (3, 4, 5, 6), (4, 0, 1, 5, 2, 6)) + del tmp129 + tmp148 = einsum(t2_OoVV, (0, 1, 2, 3), tmp147, (1, 4, 5, 6), (5, 4, 0, 6, 2, 3)) * -1 + del tmp147 + tmp109 = einsum(t2_OoVV, (0, 1, 2, 3), tmp108, (1, 4, 5, 6), (4, 5, 0, 6, 2, 3)) + del tmp108 + tmp66 = einsum(v.VVVV, (0, 1, 2, 3), t3, (4, 5, 6, 7, 2, 3), (4, 5, 6, 7, 0, 1)) + tmp55 = einsum(f.VV, (0, 1), t3, (2, 3, 4, 5, 6, 1), (2, 3, 4, 0, 5, 6)) + tmp117 = einsum(t2_OoVV, (0, 1, 2, 3), tmp116, (1, 4, 5, 6), (4, 5, 0, 6, 2, 3)) + del tmp116 + tmp54 = einsum(f.OO, (0, 1), t3, (2, 3, 1, 4, 5, 6), (0, 2, 3, 4, 5, 6)) tmp86 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp85, (6, 7, 5, 4), (0, 1, 2, 6, 3, 7)) * -1 del tmp85 - tmp92 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp91, (6, 5), (0, 1, 2, 6, 3, 4)) + tmp65 = einsum(v.OVOV, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 1), (4, 5, 0, 6, 7, 3)) + tmp112 = einsum(tmp111, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), (1, 4, 2, 5, 6, 3)) * -1 + del tmp111 + tmp92 = einsum(tmp91, (0, 1), t3, (2, 3, 4, 5, 6, 1), (2, 3, 4, 0, 5, 6)) del tmp91 + tmp145 = einsum(tmp144, (0, 1, 2, 3), t3, (4, 5, 6, 7, 2, 3), (4, 5, 6, 0, 1, 7)) + del tmp144 + tmp114 = einsum(t2_OOVv, (0, 1, 2, 3), tmp113, (3, 4, 5, 6), (4, 0, 1, 5, 6, 2)) + del tmp113 + tmp94 = einsum(tmp93, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (0, 4, 5, 2, 6, 7)) + del tmp93 tmp122 = einsum(tmp121, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), (1, 4, 2, 3, 5, 6)) del tmp121 - tmp125 = einsum(tmp124, (0, 1, 2, 3), t2_OOVv, (4, 5, 6, 0), (4, 5, 1, 2, 3, 6)) * -1 - del tmp124 - tmp16 = einsum(v.OvVV, (0, 1, 2, 3), t3, (4, 5, 0, 6, 2, 3), (1, 4, 5, 6)) * -1 + tmp70 = einsum(tmp69, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), (1, 4, 2, 5, 6, 3)) * -1 + del tmp69 + tmp133 = einsum(tmp132, (0, 1), t3, (2, 3, 1, 4, 5, 6), (0, 2, 3, 4, 5, 6)) + del tmp132 + tmp151 = einsum(tmp150, (0, 1, 2, 3), t2_OOVv, (4, 5, 6, 0), (1, 4, 5, 2, 3, 6)) + del tmp150 + tmp63 = einsum(t2_OOVv, (0, 1, 2, 3), v.OvVV, (4, 3, 5, 6), (0, 1, 4, 2, 5, 6)) + tmp72 = einsum(t2_OOVv, (0, 1, 2, 3), tmp71, (3, 4, 5, 6), (0, 1, 4, 5, 2, 6)) * -1 + del tmp71 + tmp128 = einsum(t2_OoVV, (0, 1, 2, 3), tmp127, (1, 4, 5, 6), (4, 5, 0, 2, 3, 6)) * -1 + del tmp127 + tmp76 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp75, (2, 6), (0, 1, 6, 3, 4, 5)) + del tmp75 + tmp61 = einsum(tmp60, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), (1, 2, 4, 3, 5, 6)) * -1 + del tmp60 + tmp64 = einsum(t3, (0, 1, 2, 3, 4, 5), v.OOOO, (6, 7, 1, 2), (0, 6, 7, 3, 4, 5)) + tmp99 = einsum(tmp30, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), (4, 2, 1, 5, 6, 3)) + tmp80 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp79, (2, 6, 7, 5), (0, 1, 6, 7, 3, 4)) + del tmp79 + tmp74 = einsum(t2_OOVv, (0, 1, 2, 3), tmp73, (3, 4, 5, 6), (4, 0, 1, 2, 5, 6)) + del tmp73 + tmp78 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp77, (6, 7, 2, 1), (6, 0, 7, 3, 4, 5)) * -1 + del tmp77 + tmp62 = einsum(v.OOVo, (0, 1, 2, 3), t2_OoVV, (4, 3, 5, 6), (4, 0, 1, 5, 6, 2)) + tmp82 = einsum(tmp81, (0, 1), t3, (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 6, 0)) + del tmp81 + tmp90 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp89, (6, 7, 2, 1), (7, 6, 0, 3, 4, 5)) + del tmp89 + tmp84 = einsum(tmp83, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 2), (0, 4, 5, 6, 7, 3)) + del tmp83 + tmp68 = einsum(tmp67, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), (4, 1, 2, 3, 5, 6)) + del tmp67 + tmp96 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp95, (6, 7, 1, 2, 8, 5), (6, 7, 0, 8, 3, 4)) + del tmp95 + tmp59 = einsum(tmp58, (0, 1), t3, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) + del tmp58 + tmp136 = einsum(tmp135, (0, 1), t3, (2, 3, 4, 5, 6, 1), (2, 3, 4, 0, 5, 6)) + del tmp135 + tmp16 = einsum(t3, (0, 1, 2, 3, 4, 5), v.OvVV, (2, 6, 4, 5), (6, 0, 1, 3)) * -1 tmp31 = einsum(tmp30, (0, 1, 2, 3), t1, (0, 4), (4, 1, 2, 3)) del tmp30 - tmp15 = einsum(v.OOoV, (0, 1, 2, 3), t3, (4, 0, 1, 5, 6, 3), (2, 4, 5, 6)) - tmp29 = einsum(tmp28, (0, 1, 2, 3), t3, (4, 2, 1, 5, 6, 3), (0, 4, 5, 6)) * -1 + tmp29 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp28, (6, 2, 1, 5), (6, 0, 3, 4)) * -1 del tmp28 + tmp15 = einsum(v.OOVo, (0, 1, 2, 3), t3, (4, 0, 1, 5, 6, 2), (3, 4, 5, 6)) * -1 tmp27 = einsum(v.OoVv, (0, 1, 2, 3), t1, (1, 3), (0, 2)) + tmp44 = einsum(tmp43, (0, 1, 2, 3), t1, (2, 4), (0, 1, 4, 3)) + del tmp43 + tmp9 = einsum(tmp0, (0, 1), t2, (2, 0, 3, 4), (1, 2, 3, 4)) + tmp8 = einsum(f.vv, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4)) + tmp14 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 3, 1, 5), (0, 4, 2, 5)) tmp17 = einsum(t2, (0, 1, 2, 3), tmp4, (1, 4), (0, 4, 2, 3)) * -1 - tmp19 = einsum(t2, (0, 1, 2, 3), tmp18, (4, 1, 0, 5), (4, 5, 2, 3)) * -1 - del tmp18 - tmp26 = einsum(t1, (0, 1), tmp25, (2, 3, 0, 4), (2, 3, 1, 4)) - del tmp25 - tmp12 = einsum(t1, (0, 1), v.ooov, (2, 3, 0, 4), (2, 3, 1, 4)) - tmp11 = einsum(t1, (0, 1), tmp10, (0, 2, 3, 4), (2, 3, 1, 4)) - del tmp10 - tmp47 = einsum(t1, (0, 1), tmp46, (2, 3, 0, 4), (2, 3, 1, 4)) + tmp48 = einsum(tmp37, (0, 1, 2, 3), t1, (2, 4), (0, 1, 3, 4)) * -1 + tmp36 = einsum(tmp3, (0, 1), t2, (2, 1, 3, 4), (2, 0, 3, 4)) + tmp12 = einsum(v.ooov, (0, 1, 2, 3), t1, (2, 4), (0, 1, 4, 3)) + tmp41 = einsum(tmp40, (0, 1, 2, 3), t2, (4, 1, 5, 3), (0, 4, 2, 5)) + del tmp40 + tmp47 = einsum(tmp46, (0, 1, 2, 3), t1, (2, 4), (0, 1, 4, 3)) del tmp46 - tmp14 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 3, 1, 5), (0, 4, 2, 5)) - tmp52 = einsum(t1, (0, 1), tmp51, (2, 3, 0, 4), (3, 2, 1, 4)) * -1 - del tmp51 - tmp48 = einsum(t1, (0, 1), tmp37, (2, 3, 0, 4), (2, 3, 4, 1)) * -1 - tmp34 = einsum(t1, (0, 1), tmp33, (2, 0, 3, 4), (2, 3, 1, 4)) - del tmp33 - tmp53 = einsum(tmp45, (0, 1, 2, 3), t1, (3, 4), (0, 1, 2, 4)) - tmp39 = einsum(t2, (0, 1, 2, 3), tmp38, (4, 3), (0, 1, 2, 4)) - del tmp38 tmp21 = einsum(t1, (0, 1), tmp20, (2, 0, 3, 4), (2, 3, 1, 4)) del tmp20 - tmp36 = einsum(t2, (0, 1, 2, 3), tmp3, (4, 1), (0, 4, 2, 3)) - tmp8 = einsum(t2, (0, 1, 2, 3), f.vv, (4, 3), (0, 1, 4, 2)) + tmp26 = einsum(tmp25, (0, 1, 2, 3), t1, (2, 4), (0, 1, 4, 3)) + del tmp25 + tmp19 = einsum(tmp18, (0, 1, 2, 3), t2, (2, 1, 4, 5), (0, 3, 4, 5)) * -1 + del tmp18 + tmp34 = einsum(t1, (0, 1), tmp33, (2, 0, 3, 4), (2, 3, 1, 4)) + del tmp33 tmp22 = einsum(tmp5, (0, 1), t2, (2, 3, 4, 1), (2, 3, 4, 0)) * -1 - tmp7 = einsum(t2, (0, 1, 2, 3), f.oo, (4, 1), (4, 0, 2, 3)) tmp24 = einsum(t2, (0, 1, 2, 3), tmp23, (4, 1, 5, 3), (4, 0, 2, 5)) * -1 del tmp23 - tmp44 = einsum(tmp43, (0, 1, 2, 3), t1, (2, 4), (0, 1, 4, 3)) - del tmp43 + tmp11 = einsum(tmp10, (0, 1, 2, 3), t1, (0, 4), (1, 2, 4, 3)) + del tmp10 + tmp7 = einsum(f.oo, (0, 1), t2, (2, 1, 3, 4), (0, 2, 3, 4)) + tmp13 = einsum(v.ovvv, (0, 1, 2, 3), t1, (4, 1), (4, 0, 2, 3)) + tmp42 = einsum(tmp6, (0, 1), t2, (2, 1, 3, 4), (0, 2, 3, 4)) * -1 + tmp53 = einsum(tmp45, (0, 1, 2, 3), t1, (3, 4), (0, 1, 2, 4)) tmp50 = einsum(t1, (0, 1), tmp49, (2, 0, 3, 4), (2, 3, 4, 1)) * -1 del tmp49 - tmp42 = einsum(t2, (0, 1, 2, 3), tmp6, (4, 1), (4, 0, 2, 3)) * -1 - tmp9 = einsum(tmp0, (0, 1), t2, (2, 0, 3, 4), (1, 2, 3, 4)) + tmp35 = einsum(t1, (0, 1), v.vvvv, (2, 3, 4, 1), (0, 2, 3, 4)) + tmp52 = einsum(t1, (0, 1), tmp51, (2, 3, 0, 4), (3, 2, 1, 4)) * -1 + del tmp51 tmp32 = einsum(v.oooo, (0, 1, 2, 3), t1, (3, 4), (0, 1, 2, 4)) - tmp35 = einsum(v.vvvv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) - tmp13 = einsum(v.ovvv, (0, 1, 2, 3), t1, (4, 1), (4, 0, 2, 3)) - tmp41 = einsum(t2, (0, 1, 2, 3), tmp40, (4, 1, 5, 3), (0, 4, 2, 5)) - del tmp40 + tmp39 = einsum(tmp38, (0, 1), t2, (2, 3, 4, 1), (2, 3, 4, 0)) + del tmp38 t3new = np.copy(np.transpose(tmp54, (1, 2, 0, 4, 5, 3))) * -1 t3new += np.transpose(tmp54, (1, 0, 2, 4, 5, 3)) t3new += np.transpose(tmp54, (0, 2, 1, 4, 5, 3)) @@ -813,7 +813,7 @@ def update_amps(f=None, t1=None, t2=None, t3=None, v=None, **kwargs): t2new += np.transpose(tmp26, (0, 1, 3, 2)) * 0.5 t2new += tmp26 * -0.5 del tmp26 - t2new += einsum(t1, (0, 1), tmp32, (2, 3, 0, 4), (2, 3, 1, 4)) + t2new += einsum(tmp32, (0, 1, 2, 3), t1, (2, 4), (0, 1, 4, 3)) del tmp32 t2new += np.transpose(tmp34, (0, 1, 3, 2)) * -1 t2new += np.transpose(tmp34, (1, 0, 3, 2)) @@ -846,7 +846,7 @@ def update_amps(f=None, t1=None, t2=None, t3=None, v=None, **kwargs): t2new += np.transpose(tmp47, (1, 0, 3, 2)) * -1 t2new += np.transpose(tmp47, (0, 1, 3, 2)) del tmp47 - t2new += einsum(t1, (0, 1), tmp48, (2, 3, 0, 4), (2, 3, 1, 4)) * 0.5 + t2new += einsum(tmp48, (0, 1, 2, 3), t1, (2, 4), (0, 1, 4, 3)) * 0.5 del tmp48 t2new += np.transpose(tmp50, (0, 1, 3, 2)) t2new += np.transpose(tmp50, (1, 0, 3, 2)) * -1 @@ -854,37 +854,37 @@ def update_amps(f=None, t1=None, t2=None, t3=None, v=None, **kwargs): t2new += np.transpose(tmp52, (0, 1, 3, 2)) t2new += tmp52 * -1 del tmp52 - t2new += einsum(t1, (0, 1), tmp53, (2, 3, 0, 4), (3, 2, 1, 4)) * -1 + t2new += einsum(tmp53, (0, 1, 2, 3), t1, (2, 4), (1, 0, 4, 3)) * -1 del tmp53 - t1new_OV = einsum(v.OOVV, (0, 1, 2, 3), t3, (4, 0, 1, 5, 2, 3), (4, 5)) * 0.25 + t1new_OV = einsum(t3, (0, 1, 2, 3, 4, 5), v.OOVV, (1, 2, 4, 5), (0, 3)) * 0.25 t1new = np.copy(f.ov) t1new += einsum(f.oo, (0, 1), t1, (1, 2), (0, 2)) * -1 t1new += einsum(f.vv, (0, 1), t1, (2, 1), (2, 0)) - t1new += einsum(f.ov, (0, 1), t2, (2, 0, 3, 1), (2, 3)) + t1new += einsum(t2, (0, 1, 2, 3), f.ov, (1, 3), (0, 2)) t1new += einsum(tmp0, (0, 1), t1, (0, 2), (1, 2)) * -1 del tmp0 - t1new += einsum(v.ovov, (0, 1, 2, 3), t1, (2, 1), (0, 3)) * -1 + t1new += einsum(t1, (0, 1), v.ovov, (2, 1, 0, 3), (2, 3)) * -1 t1new += einsum(t2, (0, 1, 2, 3), v.ovoo, (4, 3, 0, 1), (4, 2)) * -0.5 t1new += einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 0, 2, 3), (4, 1)) * -0.5 t1new += einsum(tmp1, (0, 1), t2, (2, 0, 3, 1), (2, 3)) del tmp1 - t1new += einsum(tmp2, (0, 1, 2, 3), t2, (2, 1, 4, 3), (0, 4)) * -0.5 + t1new += einsum(t2, (0, 1, 2, 3), tmp2, (4, 1, 0, 3), (4, 2)) * -0.5 del tmp2 t1new += einsum(tmp3, (0, 1), t1, (1, 2), (0, 2)) * -0.5 del tmp3 - t1new += einsum(tmp4, (0, 1), t1, (0, 2), (1, 2)) * -1 + t1new += einsum(t1, (0, 1), tmp4, (0, 2), (2, 1)) * -1 del tmp4 t1new += einsum(tmp5, (0, 1), t1, (2, 1), (2, 0)) * -1 del tmp5 t1new += einsum(tmp6, (0, 1), t1, (1, 2), (0, 2)) * -1 del tmp6 - t2new += _inflate(t2new.shape, np.ix_(so, sO, sV, sV), t2new_oOVV) + t2new += _inflate(t2new.shape, np.ix_(sO, sO, sV, sV), t2new_OOVV) + t2new += _inflate(t2new.shape, np.ix_(sO, sO, sv, sV), t2new_OOvV) t2new += _inflate(t2new.shape, np.ix_(sO, so, sV, sV), t2new_OoVV) + t2new += _inflate(t2new.shape, np.ix_(so, sO, sV, sV), t2new_oOVV) t1new += _inflate(t1new.shape, np.ix_(sO, sV), t1new_OV) t2new += _inflate(t2new.shape, np.ix_(sO, sO, sV, sv), t2new_OOVv) - t2new += _inflate(t2new.shape, np.ix_(sO, sO, sv, sV), t2new_OOvV) - t2new += _inflate(t2new.shape, np.ix_(sO, sO, sV, sV), t2new_OOVV) return {f"t1new": t1new, f"t2new": t2new, f"t3new": t3new} diff --git a/ebcc/codegen/RCCSDwtwp.py b/ebcc/codegen/RCCSDwtwp.py index a237bb7b..ba33f50c 100644 --- a/ebcc/codegen/RCCSDwtwp.py +++ b/ebcc/codegen/RCCSDwtwp.py @@ -2,14 +2,14 @@ Code generated by `albert`: https://github.com/obackhouse/albert - * date: 2024-09-27T21:44:54.649193 - * python version: 3.10.12 (main, Sep 11 2024, 15:47:36) [GCC 11.4.0] + * date: 2024-09-29T17:16:22.166169 + * python version: 3.10.15 (main, Sep 9 2024, 03:02:45) [GCC 11.4.0] * albert version: 0.0.0 - * caller: /home/ollie/git/albert/albert/codegen/einsum.py - * node: ollie-desktop + * caller: /opt/hostedtoolcache/Python/3.10.15/x64/lib/python3.10/site-packages/albert/codegen/einsum.py + * node: fv-az1788-690 * system: Linux * processor: x86_64 - * release: 6.8.0-40-generic + * release: 6.8.0-1014-azure """ from ebcc import numpy as np @@ -19,7 +19,7 @@ def energy(f=None, t1=None, t2=None, v=None, **kwargs): """ - Code generated by `albert` 0.0.0 on 2024-09-27T21:44:55.123874. + Code generated by `albert` 0.0.0 on 2024-09-29T17:16:22.869247. Parameters ---------- @@ -41,7 +41,7 @@ def energy(f=None, t1=None, t2=None, v=None, **kwargs): tmp0 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1))) tmp0 += np.transpose(v.ovov, (0, 2, 1, 3)) * -0.5 tmp1 = np.copy(f.ov) - tmp1 += einsum(tmp0, (0, 1, 2, 3), t1, (0, 3), (1, 2)) + tmp1 += einsum(t1, (0, 1), tmp0, (0, 2, 3, 1), (2, 3)) del tmp0 e_cc = einsum(t2, (0, 1, 2, 3), v.ovov, (0, 2, 1, 3), ()) * 2 e_cc += einsum(t2, (0, 1, 2, 3), v.ovov, (0, 3, 1, 2), ()) * -1 @@ -52,7 +52,7 @@ def energy(f=None, t1=None, t2=None, v=None, **kwargs): def update_amps(f=None, t1=None, t2=None, t3=None, v=None, **kwargs): """ - Code generated by `albert` 0.0.0 on 2024-09-27T21:46:20.711211. + Code generated by `albert` 0.0.0 on 2024-09-29T17:18:26.069150. Parameters ---------- @@ -85,435 +85,435 @@ def update_amps(f=None, t1=None, t2=None, t3=None, v=None, **kwargs): sv = np.ones((t1.shape[1],), dtype=bool) sO = space.active[space.correlated][space.occupied[space.correlated]] sV = space.active[space.correlated][space.virtual[space.correlated]] - t2_oovV = np.copy(t2[np.ix_(so, so, sv, sV)]) - t2_oovv = np.copy(t2[np.ix_(so, so, sv, sv)]) - t2_OovV = np.copy(t2[np.ix_(sO, so, sv, sV)]) + t2_OoVv = np.copy(t2[np.ix_(sO, so, sV, sv)]) + t1_oV = np.copy(t1[np.ix_(so, sV)]) t1_Ov = np.copy(t1[np.ix_(sO, sv)]) - t2_ooVV = np.copy(t2[np.ix_(so, so, sV, sV)]) - t2_OOvV = np.copy(t2[np.ix_(sO, sO, sv, sV)]) - t2_OoVV = np.copy(t2[np.ix_(sO, so, sV, sV)]) t2_Oovv = np.copy(t2[np.ix_(sO, so, sv, sv)]) t2_OOvv = np.copy(t2[np.ix_(sO, sO, sv, sv)]) + t2_OovV = np.copy(t2[np.ix_(sO, so, sv, sV)]) + t2_OoVV = np.copy(t2[np.ix_(sO, so, sV, sV)]) + t2_oovv = np.copy(t2[np.ix_(so, so, sv, sv)]) + t2_ooVV = np.copy(t2[np.ix_(so, so, sV, sV)]) + t2_ooVv = np.copy(t2[np.ix_(so, so, sV, sv)]) + t2_OOvV = np.copy(t2[np.ix_(sO, sO, sv, sV)]) t1_ov = np.copy(t1[np.ix_(so, sv)]) - t1_oV = np.copy(t1[np.ix_(so, sV)]) - t2_OoVv = np.copy(t2[np.ix_(sO, so, sV, sv)]) - tmp173 = einsum(t1_Ov, (0, 1), v.ovov, (2, 3, 4, 1), (2, 4, 3, 0)) + tmp173 = einsum(v.ovov, (0, 1, 2, 3), t1_Ov, (4, 3), (0, 2, 1, 4)) + tmp294 = einsum(v.Vvov, (0, 1, 2, 3), t1_Ov, (4, 1), (2, 3, 4, 0)) tmp218 = einsum(v.ovov, (0, 1, 2, 3), t1_oV, (2, 4), (0, 1, 3, 4)) - tmp294 = einsum(v.ovVv, (0, 1, 2, 3), t1_Ov, (4, 3), (0, 1, 4, 2)) - tmp181 = einsum(v.Ovov, (0, 1, 2, 3), t1, (2, 1), (3, 0)) - tmp307 = einsum(t1_Ov, (0, 1), tmp173, (2, 3, 1, 4), (2, 3, 0, 4)) - tmp154 = einsum(t1_oV, (0, 1), v.oVoV, (2, 3, 0, 4), (2, 1, 3, 4)) - tmp187 = einsum(t1_Ov, (0, 1), v.OvoV, (2, 1, 3, 4), (3, 0, 2, 4)) - tmp304 = einsum(v.OvOv, (0, 1, 2, 3), t1_Ov, (4, 3), (1, 4, 0, 2)) - tmp190 = einsum(t1_Ov, (0, 1), v.OVov, (2, 3, 4, 1), (4, 0, 2, 3)) - tmp176 = einsum(t1_Ov, (0, 1), v.Ooov, (2, 3, 4, 1), (4, 3, 0, 2)) - tmp148 = einsum(v.ovoV, (0, 1, 2, 3), t1, (2, 1), (0, 3)) - tmp297 = einsum(t1_Ov, (0, 1), v.ovVv, (2, 1, 3, 4), (2, 4, 0, 3)) - tmp14 = einsum(v.ovov, (0, 1, 2, 3), t1, (2, 1), (0, 3)) - tmp184 = einsum(v.Ovov, (0, 1, 2, 3), t1, (2, 3), (1, 0)) tmp1 = einsum(t1, (0, 1), v.ovov, (2, 3, 0, 1), (2, 3)) + tmp187 = einsum(v.OvVo, (0, 1, 2, 3), t1_Ov, (4, 1), (3, 4, 0, 2)) + tmp148 = einsum(t1, (0, 1), v.Voov, (2, 0, 3, 1), (3, 2)) + tmp14 = einsum(v.ovov, (0, 1, 2, 3), t1, (2, 1), (0, 3)) + tmp154 = einsum(t1_oV, (0, 1), v.VoVo, (2, 3, 4, 0), (3, 1, 2, 4)) + tmp307 = einsum(tmp173, (0, 1, 2, 3), t1_Ov, (4, 2), (0, 1, 4, 3)) + tmp176 = einsum(t1_Ov, (0, 1), v.Ooov, (2, 3, 4, 1), (4, 3, 0, 2)) tmp134 = einsum(t1_oV, (0, 1), v.Ooov, (2, 0, 3, 4), (3, 4, 2, 1)) - tmp151 = einsum(v.oVov, (0, 1, 2, 3), t1, (2, 3), (0, 1)) - tmp193 = einsum(t1_oV, (0, 1), tmp173, (0, 2, 3, 4), (2, 3, 4, 1)) - tmp75 = einsum(v.ovvv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) - tmp4 = einsum(t1, (0, 1), v.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) - tmp116 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 5, 1, 3), (4, 5, 0, 2)) - tmp62 = einsum(t1, (0, 1), v.ooov, (2, 3, 4, 1), (0, 2, 3, 4)) - tmp212 = einsum(t2_OovV, (0, 1, 2, 3), v.Ooov, (4, 5, 1, 2), (5, 0, 4, 3)) + tmp184 = einsum(v.Ovov, (0, 1, 2, 3), t1, (2, 3), (1, 0)) + tmp297 = einsum(v.Vvov, (0, 1, 2, 3), t1_Ov, (4, 3), (2, 1, 4, 0)) + tmp181 = einsum(v.Ovov, (0, 1, 2, 3), t1, (2, 1), (3, 0)) + tmp193 = einsum(tmp173, (0, 1, 2, 3), t1_oV, (0, 4), (1, 2, 3, 4)) + tmp151 = einsum(t1, (0, 1), v.Voov, (2, 3, 0, 1), (3, 2)) + tmp190 = einsum(v.OVov, (0, 1, 2, 3), t1_Ov, (4, 3), (2, 4, 0, 1)) + tmp304 = einsum(v.OvOv, (0, 1, 2, 3), t1_Ov, (4, 3), (1, 4, 0, 2)) + tmp4 = einsum(v.ovov, (0, 1, 2, 3), t1, (4, 3), (4, 0, 2, 1)) + tmp116 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 2, 5, 3), (0, 1, 4, 5)) + tmp62 = einsum(v.ooov, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) + tmp75 = einsum(t1, (0, 1), v.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) + tmp122 = einsum(v.OoOo, (0, 1, 2, 3), t1_oV, (3, 4), (1, 0, 2, 4)) + tmp313 = einsum(tmp294, (0, 1, 2, 3), t1_Ov, (4, 1), (0, 4, 2, 3)) + tmp231 = einsum(tmp218, (0, 1, 2, 3), t2_OovV, (4, 0, 1, 5), (2, 4, 3, 5)) + tmp275 = einsum(t2_OoVv, (0, 1, 2, 3), tmp173, (1, 4, 3, 5), (4, 5, 0, 2)) + tmp216 = einsum(tmp1, (0, 1), t2_OOvV, (2, 3, 1, 4), (0, 2, 3, 4)) + tmp188 = einsum(tmp187, (0, 1, 2, 3), t1_oV, (0, 4), (1, 2, 4, 3)) + del tmp187 + tmp260 = einsum(v.Vvov, (0, 1, 2, 3), t2_OoVv, (4, 2, 5, 1), (3, 4, 5, 0)) + tmp292 = einsum(t1_Ov, (0, 1), v.VvVv, (2, 3, 4, 1), (3, 0, 2, 4)) tmp300 = einsum(v.OvOv, (0, 1, 2, 3), t2_OOvv, (4, 5, 1, 3), (4, 5, 0, 2)) - tmp227 = einsum(tmp218, (0, 1, 2, 3), t2_OoVv, (4, 0, 5, 2), (1, 4, 3, 5)) - tmp167 = einsum(t1_Ov, (0, 1), v.OvOO, (2, 1, 3, 4), (0, 2, 3, 4)) + tmp167 = einsum(v.OvOO, (0, 1, 2, 3), t1_Ov, (4, 1), (4, 0, 2, 3)) tmp219 = einsum(tmp218, (0, 1, 2, 3), t2_OovV, (4, 0, 2, 5), (1, 4, 3, 5)) + tmp149 = einsum(t1_oV, (0, 1), tmp148, (0, 2), (1, 2)) + del tmp148 + tmp285 = einsum(t1_Ov, (0, 1), v.OvVV, (2, 1, 3, 4), (0, 2, 3, 4)) + tmp53 = einsum(v.OVVo, (0, 1, 2, 3), t3, (4, 5, 0, 2, 6, 1), (3, 4, 5, 6)) + tmp203 = einsum(v.OvOV, (0, 1, 2, 3), t2_OOvV, (4, 5, 1, 6), (4, 5, 0, 2, 6, 3)) + tmp227 = einsum(t2_OoVv, (0, 1, 2, 3), tmp218, (1, 4, 3, 5), (4, 0, 5, 2)) + tmp161 = einsum(v.VoVv, (0, 1, 2, 3), t1, (1, 3), (0, 2)) + tmp214 = einsum(tmp14, (0, 1), t2_OOvV, (2, 3, 1, 4), (0, 2, 3, 4)) + tmp281 = einsum(v.OoVv, (0, 1, 2, 3), t1_Ov, (4, 3), (1, 4, 0, 2)) + tmp223 = einsum(v.OVVo, (0, 1, 2, 3), t3, (4, 5, 0, 6, 1, 2), (3, 4, 5, 6)) + tmp201 = einsum(t2_OOvV, (0, 1, 2, 3), f.ov, (4, 2), (4, 0, 1, 3)) + tmp265 = einsum(t1_oV, (0, 1), v.VoVV, (2, 0, 3, 4), (1, 2, 3, 4)) + tmp239 = einsum(v.OvVo, (0, 1, 2, 3), t2_OovV, (4, 3, 1, 5), (4, 0, 5, 2)) + tmp142 = einsum(v.Voov, (0, 1, 2, 3), t2_ooVv, (2, 1, 4, 3), (4, 0)) + tmp155 = einsum(tmp154, (0, 1, 2, 3), t1_oV, (0, 4), (1, 4, 3, 2)) + del tmp154 + tmp165 = einsum(f.Ov, (0, 1), t1_Ov, (2, 1), (0, 2)) + tmp308 = einsum(t1_oV, (0, 1), tmp307, (0, 2, 3, 4), (2, 4, 3, 1)) + del tmp307 + tmp171 = einsum(t2_Oovv, (0, 1, 2, 3), v.Ovov, (4, 2, 1, 3), (0, 4)) + tmp252 = einsum(v.OVov, (0, 1, 2, 3), t2_OovV, (4, 2, 3, 5), (4, 0, 5, 1)) + tmp130 = einsum(t1_oV, (0, 1), v.OOVo, (2, 3, 4, 0), (2, 3, 1, 4)) + tmp128 = einsum(t1_oV, (0, 1), v.OoOV, (2, 0, 3, 4), (2, 3, 1, 4)) + tmp179 = einsum(t1_oV, (0, 1), tmp176, (0, 2, 3, 4), (2, 3, 4, 1)) tmp279 = einsum(t2_OovV, (0, 1, 2, 3), tmp173, (1, 4, 2, 5), (4, 5, 0, 3)) - tmp265 = einsum(v.oVVV, (0, 1, 2, 3), t1_oV, (0, 4), (4, 1, 2, 3)) - tmp210 = einsum(t2_OoVv, (0, 1, 2, 3), v.Ooov, (4, 5, 1, 3), (5, 0, 4, 2)) - tmp242 = einsum(v.OVov, (0, 1, 2, 3), t1_oV, (2, 4), (3, 0, 4, 1)) - tmp258 = einsum(t2_OoVv, (0, 1, 2, 3), v.ovVv, (1, 3, 4, 5), (5, 0, 2, 4)) - tmp221 = einsum(t2_OovV, (0, 1, 2, 3), v.Ooov, (4, 1, 5, 2), (5, 0, 4, 3)) - tmp126 = einsum(t1, (0, 1), v.OOov, (2, 3, 0, 1), (2, 3)) - tmp124 = einsum(t1, (0, 1), v.OoOv, (2, 0, 3, 1), (2, 3)) - tmp275 = einsum(t2_OoVv, (0, 1, 2, 3), tmp173, (1, 4, 3, 5), (4, 5, 0, 2)) + tmp126 = einsum(v.OOov, (0, 1, 2, 3), t1, (2, 3), (0, 1)) + tmp246 = einsum(t1_oV, (0, 1), v.OoVv, (2, 0, 3, 4), (4, 2, 1, 3)) + tmp254 = einsum(t2_OoVv, (0, 1, 2, 3), v.OVov, (4, 5, 1, 3), (0, 4, 2, 5)) + tmp283 = einsum(t2_OovV, (0, 1, 2, 3), tmp173, (4, 1, 2, 5), (4, 5, 0, 3)) + tmp229 = einsum(tmp218, (0, 1, 2, 3), t2_OoVv, (4, 0, 5, 1), (2, 4, 3, 5)) + tmp159 = einsum(v.VVov, (0, 1, 2, 3), t1, (2, 3), (0, 1)) + tmp55 = einsum(v.OVVo, (0, 1, 2, 3), t3, (4, 5, 0, 6, 2, 1), (3, 4, 5, 6)) + tmp144 = einsum(t2_ooVv, (0, 1, 2, 3), v.Voov, (4, 0, 1, 3), (2, 4)) + tmp146 = einsum(t2_ooVV, (0, 1, 2, 3), v.VoVo, (4, 1, 5, 0), (3, 2, 4, 5)) + tmp140 = einsum(f.Vo, (0, 1), t1_oV, (1, 2), (0, 2)) + tmp132 = einsum(t2_ooVV, (0, 1, 2, 3), v.Ooov, (4, 0, 1, 5), (5, 4, 3, 2)) + tmp244 = einsum(v.Vvov, (0, 1, 2, 3), t2_OovV, (4, 2, 1, 5), (3, 4, 5, 0)) tmp295 = einsum(t1_oV, (0, 1), tmp294, (0, 2, 3, 4), (2, 3, 1, 4)) + del tmp294 + tmp135 = einsum(t1_oV, (0, 1), tmp134, (0, 2, 3, 4), (2, 3, 1, 4)) + del tmp134 tmp302 = einsum(tmp218, (0, 1, 2, 3), t2_OOvv, (4, 5, 1, 2), (0, 4, 5, 3)) - tmp182 = einsum(t1_Ov, (0, 1), tmp181, (1, 2), (0, 2)) + del tmp218 + tmp242 = einsum(t1_oV, (0, 1), v.OVov, (2, 3, 0, 4), (4, 2, 1, 3)) + tmp185 = einsum(tmp184, (0, 1), t1_Ov, (2, 0), (2, 1)) + del tmp184 + tmp225 = einsum(v.OVVo, (0, 1, 2, 3), t3, (4, 0, 5, 6, 1, 2), (3, 4, 5, 6)) + tmp258 = einsum(v.Vvov, (0, 1, 2, 3), t2_OoVv, (4, 2, 5, 3), (1, 4, 5, 0)) + tmp298 = einsum(t1_oV, (0, 1), tmp297, (0, 2, 3, 4), (2, 3, 1, 4)) + del tmp297 + tmp182 = einsum(tmp181, (0, 1), t1_Ov, (2, 0), (2, 1)) del tmp181 - tmp254 = einsum(v.OVov, (0, 1, 2, 3), t2_OoVv, (4, 2, 5, 3), (4, 0, 5, 1)) - tmp308 = einsum(t1_oV, (0, 1), tmp307, (0, 2, 3, 4), (2, 4, 3, 1)) - del tmp307 - tmp130 = einsum(v.OOoV, (0, 1, 2, 3), t1_oV, (2, 4), (0, 1, 4, 3)) - tmp155 = einsum(t1_oV, (0, 1), tmp154, (0, 2, 3, 4), (2, 1, 4, 3)) - del tmp154 - tmp188 = einsum(tmp187, (0, 1, 2, 3), t1_oV, (0, 4), (1, 2, 4, 3)) - del tmp187 - tmp283 = einsum(t2_OovV, (0, 1, 2, 3), tmp173, (4, 1, 2, 5), (4, 5, 0, 3)) - tmp305 = einsum(tmp304, (0, 1, 2, 3), t1_Ov, (4, 0), (1, 4, 3, 2)) - del tmp304 - tmp252 = einsum(v.OVov, (0, 1, 2, 3), t2_OovV, (4, 2, 3, 5), (4, 0, 5, 1)) - tmp244 = einsum(v.ovVv, (0, 1, 2, 3), t2_OovV, (4, 0, 3, 5), (1, 4, 5, 2)) - tmp203 = einsum(t2_OOvV, (0, 1, 2, 3), v.OvOV, (4, 2, 5, 6), (0, 1, 4, 5, 3, 6)) - tmp191 = einsum(tmp190, (0, 1, 2, 3), t1_oV, (0, 4), (1, 2, 4, 3)) - tmp285 = einsum(t1_Ov, (0, 1), v.OvVV, (2, 1, 3, 4), (0, 2, 3, 4)) - tmp146 = einsum(v.oVoV, (0, 1, 2, 3), t2_ooVV, (0, 2, 4, 5), (5, 4, 3, 1)) - tmp142 = einsum(t2_oovV, (0, 1, 2, 3), v.oVov, (0, 4, 1, 2), (3, 4)) + tmp124 = einsum(v.OoOv, (0, 1, 2, 3), t1, (1, 3), (0, 2)) + tmp169 = einsum(t2_Oovv, (0, 1, 2, 3), v.Ovov, (4, 3, 1, 2), (0, 4)) + tmp289 = einsum(v.OVVv, (0, 1, 2, 3), t1_Ov, (4, 3), (4, 0, 2, 1)) tmp177 = einsum(tmp176, (0, 1, 2, 3), t1_oV, (1, 4), (0, 2, 3, 4)) - tmp281 = einsum(t1_Ov, (0, 1), v.OoVv, (2, 3, 4, 1), (3, 0, 2, 4)) - tmp201 = einsum(t2_OOvV, (0, 1, 2, 3), f.ov, (4, 2), (4, 0, 1, 3)) - tmp231 = einsum(tmp218, (0, 1, 2, 3), t2_OovV, (4, 0, 1, 5), (2, 4, 3, 5)) - tmp122 = einsum(t1_oV, (0, 1), v.OoOo, (2, 3, 4, 0), (3, 2, 4, 1)) - tmp179 = einsum(t1_oV, (0, 1), tmp176, (0, 2, 3, 4), (2, 3, 4, 1)) del tmp176 - tmp174 = einsum(tmp173, (0, 1, 2, 3), t2_ooVV, (1, 0, 4, 5), (2, 3, 5, 4)) - tmp208 = einsum(t2_OoVv, (0, 1, 2, 3), v.Ooov, (4, 1, 5, 3), (5, 0, 4, 2)) - tmp161 = einsum(v.oVVv, (0, 1, 2, 3), t1, (0, 3), (1, 2)) - tmp149 = einsum(t1_oV, (0, 1), tmp148, (0, 2), (1, 2)) - del tmp148 - tmp289 = einsum(t1_Ov, (0, 1), v.OVVv, (2, 3, 4, 1), (0, 2, 4, 3)) - tmp171 = einsum(v.Ovov, (0, 1, 2, 3), t2_Oovv, (4, 2, 1, 3), (4, 0)) - tmp55 = einsum(t3, (0, 1, 2, 3, 4, 5), v.OVoV, (2, 5, 6, 4), (6, 0, 1, 3)) - tmp298 = einsum(tmp297, (0, 1, 2, 3), t1_oV, (0, 4), (1, 2, 4, 3)) - del tmp297 - tmp311 = einsum(v.ovVv, (0, 1, 2, 3), t2_OOvv, (4, 5, 1, 3), (0, 4, 5, 2)) - tmp239 = einsum(v.OvoV, (0, 1, 2, 3), t2_OovV, (4, 2, 1, 5), (4, 0, 5, 3)) - tmp214 = einsum(t2_OOvV, (0, 1, 2, 3), tmp14, (4, 2), (4, 0, 1, 3)) + tmp174 = einsum(tmp173, (0, 1, 2, 3), t2_ooVV, (0, 1, 4, 5), (2, 3, 4, 5)) + tmp262 = einsum(v.Vvov, (0, 1, 2, 3), t2_OovV, (4, 2, 3, 5), (1, 4, 5, 0)) + tmp250 = einsum(v.OvVo, (0, 1, 2, 3), t2_OoVv, (4, 3, 5, 1), (4, 0, 5, 2)) tmp277 = einsum(t2_OoVv, (0, 1, 2, 3), tmp173, (4, 1, 3, 5), (4, 5, 0, 2)) del tmp173 - tmp185 = einsum(tmp184, (0, 1), t1_Ov, (2, 0), (2, 1)) - del tmp184 - tmp165 = einsum(t1_Ov, (0, 1), f.Ov, (2, 1), (2, 0)) - tmp53 = einsum(t3, (0, 1, 2, 3, 4, 5), v.OVoV, (2, 5, 6, 3), (6, 0, 1, 4)) - tmp250 = einsum(v.OvoV, (0, 1, 2, 3), t2_OoVv, (4, 2, 5, 1), (4, 0, 5, 3)) - tmp313 = einsum(t1_Ov, (0, 1), tmp294, (2, 1, 3, 4), (2, 0, 3, 4)) - del tmp294 - tmp169 = einsum(v.Ovov, (0, 1, 2, 3), t2_Oovv, (4, 2, 3, 1), (4, 0)) - tmp229 = einsum(t2_OoVv, (0, 1, 2, 3), tmp218, (1, 3, 4, 5), (4, 0, 5, 2)) - del tmp218 - tmp262 = einsum(v.ovVv, (0, 1, 2, 3), t2_OovV, (4, 0, 1, 5), (3, 4, 5, 2)) - tmp246 = einsum(v.OoVv, (0, 1, 2, 3), t1_oV, (1, 4), (3, 0, 4, 2)) - tmp216 = einsum(t2_OOvV, (0, 1, 2, 3), tmp1, (4, 2), (4, 0, 1, 3)) - tmp225 = einsum(t3, (0, 1, 2, 3, 4, 5), v.OVoV, (1, 4, 6, 5), (6, 0, 2, 3)) - tmp128 = einsum(v.OoOV, (0, 1, 2, 3), t1_oV, (1, 4), (0, 2, 4, 3)) - tmp135 = einsum(tmp134, (0, 1, 2, 3), t1_oV, (0, 4), (1, 2, 4, 3)) - del tmp134 - tmp132 = einsum(t2_ooVV, (0, 1, 2, 3), v.Ooov, (4, 1, 0, 5), (5, 4, 2, 3)) - tmp159 = einsum(t1, (0, 1), v.ovVV, (0, 1, 2, 3), (2, 3)) - tmp144 = einsum(t2_oovV, (0, 1, 2, 3), v.ovoV, (0, 2, 1, 4), (3, 4)) - tmp152 = einsum(tmp151, (0, 1), t1_oV, (0, 2), (2, 1)) - del tmp151 tmp194 = einsum(t1_oV, (0, 1), tmp193, (0, 2, 3, 4), (2, 3, 4, 1)) del tmp193 - tmp260 = einsum(t2_OoVv, (0, 1, 2, 3), v.ovVv, (1, 4, 5, 3), (4, 0, 2, 5)) - tmp223 = einsum(t3, (0, 1, 2, 3, 4, 5), v.OVoV, (2, 4, 6, 5), (6, 0, 1, 3)) - tmp140 = einsum(t1_oV, (0, 1), f.oV, (0, 2), (2, 1)) - tmp292 = einsum(t1_Ov, (0, 1), v.VvVv, (2, 3, 4, 1), (3, 0, 2, 4)) - tmp64 = einsum(t1, (0, 1), v.OvOV, (2, 1, 3, 4), (0, 2, 3, 4)) + tmp152 = einsum(t1_oV, (0, 1), tmp151, (0, 2), (1, 2)) + del tmp151 + tmp311 = einsum(v.Vvov, (0, 1, 2, 3), t2_OOvv, (4, 5, 3, 1), (2, 4, 5, 0)) + tmp208 = einsum(t2_OoVv, (0, 1, 2, 3), v.Ooov, (4, 1, 5, 3), (5, 0, 4, 2)) + tmp191 = einsum(t1_oV, (0, 1), tmp190, (0, 2, 3, 4), (2, 3, 1, 4)) + tmp305 = einsum(tmp304, (0, 1, 2, 3), t1_Ov, (4, 0), (1, 4, 3, 2)) + del tmp304 + tmp210 = einsum(t2_OoVv, (0, 1, 2, 3), v.Ooov, (4, 5, 1, 3), (5, 0, 4, 2)) + tmp221 = einsum(t2_OovV, (0, 1, 2, 3), v.Ooov, (4, 1, 5, 2), (5, 0, 4, 3)) + tmp212 = einsum(v.Ooov, (0, 1, 2, 3), t2_OovV, (4, 2, 3, 5), (1, 4, 0, 5)) + tmp64 = einsum(v.OvOV, (0, 1, 2, 3), t1, (4, 1), (4, 0, 2, 3)) tmp38 = einsum(v.OVov, (0, 1, 2, 3), t1, (2, 3), (0, 1)) - tmp36 = einsum(v.OvoV, (0, 1, 2, 3), t1, (2, 1), (0, 3)) - tmp76 = einsum(v.ovvv, (0, 1, 2, 3), t1, (4, 1), (4, 0, 2, 3)) - tmp45 = einsum(t2, (0, 1, 2, 3), f.ov, (4, 3), (4, 0, 1, 2)) - tmp83 = einsum(v.ooov, (0, 1, 2, 3), t2, (4, 1, 3, 5), (4, 0, 2, 5)) - tmp101 = einsum(t1, (0, 1), tmp75, (2, 3, 1, 4), (0, 2, 3, 4)) - tmp99 = einsum(tmp4, (0, 1, 2, 3), t1, (4, 3), (0, 4, 2, 1)) - tmp7 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 2, 1, 3), (0, 4)) - tmp48 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 5, 1, 2), (0, 4, 3, 5)) - tmp26 = einsum(v.ooov, (0, 1, 2, 3), t1, (1, 3), (0, 2)) - tmp114 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 5, 1, 3), (4, 5, 0, 2)) + tmp36 = einsum(v.OvVo, (0, 1, 2, 3), t1, (3, 1), (0, 2)) + tmp79 = einsum(t2, (0, 1, 2, 3), tmp4, (4, 5, 1, 2), (4, 0, 5, 3)) + tmp94 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 2, 5, 1), (4, 0, 5, 3)) + tmp87 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 1, 3), (0, 4, 5, 2)) + tmp27 = einsum(v.ooov, (0, 1, 2, 3), t1, (2, 3), (0, 1)) + tmp83 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 1, 5, 2), (0, 4, 5, 3)) + tmp45 = einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), (0, 2, 3, 4)) + tmp91 = einsum(v.ooov, (0, 1, 2, 3), t2, (4, 2, 3, 5), (4, 0, 1, 5)) + tmp118 = einsum(tmp116, (0, 1, 2, 3), t1, (3, 4), (0, 1, 2, 4)) tmp89 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 1, 5, 3), (0, 4, 5, 2)) - tmp11 = einsum(v.ovvv, (0, 1, 2, 3), t1, (0, 1), (2, 3)) - tmp118 = einsum(tmp116, (0, 1, 2, 3), t1, (2, 4), (1, 0, 3, 4)) + tmp11 = einsum(t1, (0, 1), v.ovvv, (0, 1, 2, 3), (2, 3)) + tmp40 = einsum(v.ovov, (0, 1, 2, 3), t2, (0, 2, 4, 3), (4, 1)) + tmp109 = einsum(tmp4, (0, 1, 2, 3), t2, (4, 1, 5, 3), (0, 4, 2, 5)) + tmp13 = einsum(t1, (0, 1), v.ovvv, (0, 2, 3, 1), (2, 3)) + tmp111 = einsum(t2, (0, 1, 2, 3), tmp4, (4, 1, 5, 2), (4, 0, 5, 3)) + tmp9 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 3, 1, 2), (0, 4)) + tmp15 = einsum(tmp14, (0, 1), t1, (2, 1), (2, 0)) + tmp0 = einsum(t1, (0, 1), f.ov, (2, 1), (2, 0)) + tmp76 = einsum(t1, (0, 1), v.ovvv, (2, 1, 3, 4), (0, 2, 3, 4)) + tmp47 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 5, 1, 3), (0, 4, 2, 5)) + tmp48 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 5, 1, 2), (0, 4, 3, 5)) + tmp107 = einsum(tmp4, (0, 1, 2, 3), t2, (4, 2, 5, 3), (0, 4, 1, 5)) tmp57 = einsum(t2, (0, 1, 2, 3), tmp14, (4, 3), (0, 1, 4, 2)) - tmp107 = einsum(t2, (0, 1, 2, 3), tmp4, (4, 5, 1, 3), (4, 0, 5, 2)) + tmp7 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 2, 1, 3), (0, 4)) + tmp16 = einsum(tmp1, (0, 1), t1, (2, 1), (2, 0)) + tmp26 = einsum(v.ooov, (0, 1, 2, 3), t1, (1, 3), (0, 2)) + tmp114 = einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 2, 5, 3), (0, 1, 4, 5)) + tmp85 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 2, 1, 5), (0, 4, 3, 5)) + tmp99 = einsum(t1, (0, 1), tmp4, (2, 3, 4, 1), (2, 0, 4, 3)) tmp73 = einsum(v.oovv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) - tmp94 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 3, 1, 5), (0, 4, 2, 5)) - tmp15 = einsum(t1, (0, 1), tmp14, (2, 1), (0, 2)) - tmp9 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 3, 1, 2), (0, 4)) - tmp91 = einsum(v.ooov, (0, 1, 2, 3), t2, (4, 2, 3, 5), (4, 0, 1, 5)) - tmp71 = einsum(tmp62, (0, 1, 2, 3), t1, (3, 4), (0, 2, 1, 4)) + tmp71 = einsum(t1, (0, 1), tmp62, (2, 3, 4, 0), (2, 4, 3, 1)) tmp59 = einsum(t2, (0, 1, 2, 3), tmp1, (4, 3), (0, 1, 4, 2)) - tmp42 = einsum(v.ovov, (0, 1, 2, 3), t2, (0, 2, 3, 4), (4, 1)) - tmp87 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 1, 3), (0, 4, 5, 2)) - tmp79 = einsum(t2, (0, 1, 2, 3), tmp4, (4, 5, 1, 2), (4, 0, 5, 3)) - tmp85 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 2, 1, 5), (0, 4, 3, 5)) - tmp40 = einsum(t2, (0, 1, 2, 3), v.ovov, (0, 2, 1, 4), (3, 4)) - tmp13 = einsum(t1, (0, 1), v.ovvv, (0, 2, 3, 1), (2, 3)) - tmp109 = einsum(t2, (0, 1, 2, 3), tmp4, (4, 1, 5, 3), (4, 0, 5, 2)) - tmp111 = einsum(tmp4, (0, 1, 2, 3), t2, (4, 1, 3, 5), (0, 4, 2, 5)) - tmp47 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 5, 1, 3), (0, 4, 2, 5)) - tmp27 = einsum(t1, (0, 1), v.ooov, (2, 3, 0, 1), (2, 3)) - tmp16 = einsum(t1, (0, 1), tmp1, (2, 1), (0, 2)) - tmp0 = einsum(t1, (0, 1), f.ov, (2, 1), (2, 0)) - tmp213 = einsum(t2_OoVV, (0, 1, 2, 3), tmp212, (1, 4, 5, 6), (4, 0, 5, 6, 3, 2)) - del tmp212 - tmp301 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp300, (6, 7, 1, 2), (7, 6, 0, 3, 5, 4)) - tmp228 = einsum(tmp227, (0, 1, 2, 3), t2_OOvV, (4, 5, 0, 6), (1, 4, 5, 2, 3, 6)) + tmp101 = einsum(tmp75, (0, 1, 2, 3), t1, (4, 2), (4, 0, 1, 3)) + tmp42 = einsum(v.ovov, (0, 1, 2, 3), t2, (0, 2, 4, 1), (4, 3)) + tmp237 = einsum(t3, (0, 1, 2, 3, 4, 5), v.OOVV, (6, 2, 7, 4), (0, 1, 6, 3, 5, 7)) + tmp123 = einsum(t2_OoVV, (0, 1, 2, 3), tmp122, (1, 4, 5, 6), (0, 5, 4, 6, 3, 2)) + del tmp122 + tmp314 = einsum(t2_OoVV, (0, 1, 2, 3), tmp313, (1, 4, 5, 6), (4, 5, 0, 3, 2, 6)) + del tmp313 + tmp232 = einsum(t2_OOvV, (0, 1, 2, 3), tmp231, (2, 4, 5, 6), (4, 0, 1, 5, 6, 3)) + del tmp231 + tmp276 = einsum(t2_OoVV, (0, 1, 2, 3), tmp275, (1, 4, 5, 6), (4, 5, 0, 6, 3, 2)) + del tmp275 + tmp217 = einsum(t2_OoVV, (0, 1, 2, 3), tmp216, (1, 4, 5, 6), (0, 4, 5, 3, 2, 6)) + del tmp216 + tmp199 = einsum(tmp188, (0, 1, 2, 3), t3, (4, 1, 5, 6, 7, 3), (0, 4, 5, 2, 6, 7)) + tmp261 = einsum(tmp260, (0, 1, 2, 3), t2_OOvV, (4, 5, 0, 6), (1, 4, 5, 2, 6, 3)) + del tmp260 + tmp293 = einsum(t2_OOvV, (0, 1, 2, 3), tmp292, (2, 4, 5, 6), (4, 0, 1, 3, 6, 5)) + del tmp292 + tmp310 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp300, (6, 7, 0, 2), (7, 6, 1, 3, 5, 4)) * -1 + tmp168 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp167, (6, 2, 7, 0), (6, 1, 7, 3, 5, 4)) * -1 + tmp220 = einsum(t2_OOvV, (0, 1, 2, 3), tmp219, (2, 4, 5, 6), (4, 0, 1, 5, 6, 3)) + del tmp219 + tmp120 = einsum(t3, (0, 1, 2, 3, 4, 5), f.OO, (6, 2), (6, 0, 1, 3, 5, 4)) + tmp150 = einsum(tmp149, (0, 1), t3, (2, 3, 4, 5, 6, 1), (2, 4, 3, 0, 5, 6)) + tmp286 = einsum(tmp285, (0, 1, 2, 3), t3, (4, 5, 1, 6, 3, 7), (0, 4, 5, 6, 7, 2)) + tmp206 = einsum(tmp53, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), (4, 1, 2, 6, 5, 3)) + tmp205 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp203, (6, 7, 1, 2, 8, 5), (6, 7, 0, 8, 3, 4)) + tmp228 = einsum(t2_OOvV, (0, 1, 2, 3), tmp227, (2, 4, 5, 6), (4, 0, 1, 5, 6, 3)) del tmp227 - tmp310 = einsum(tmp300, (0, 1, 2, 3), t3, (2, 4, 3, 5, 6, 7), (1, 0, 4, 5, 7, 6)) * -1 - del tmp300 + tmp137 = einsum(v.OOOO, (0, 1, 2, 3), t3, (4, 3, 1, 5, 6, 7), (4, 0, 2, 5, 7, 6)) + tmp233 = einsum(v.OoOV, (0, 1, 2, 3), t2_OoVV, (4, 1, 5, 6), (4, 0, 2, 6, 5, 3)) + tmp162 = einsum(tmp161, (0, 1), t3, (2, 3, 4, 5, 6, 0), (2, 4, 3, 5, 6, 1)) + tmp215 = einsum(tmp214, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), (4, 1, 2, 6, 5, 3)) + del tmp214 + tmp157 = einsum(t3, (0, 1, 2, 3, 4, 5), f.VV, (6, 5), (0, 2, 1, 6, 3, 4)) + tmp282 = einsum(tmp281, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), (1, 4, 2, 6, 5, 3)) + del tmp281 + tmp158 = einsum(t3, (0, 1, 2, 3, 4, 5), v.OVOV, (6, 7, 2, 5), (0, 1, 6, 3, 4, 7)) + tmp224 = einsum(tmp223, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), (4, 1, 2, 6, 5, 3)) + del tmp223 + tmp202 = einsum(tmp201, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), (4, 1, 2, 6, 5, 3)) + del tmp201 + tmp266 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp265, (6, 5, 7, 3), (0, 2, 1, 6, 4, 7)) * -1 + tmp240 = einsum(tmp239, (0, 1, 2, 3), t3, (4, 5, 1, 6, 3, 7), (0, 4, 5, 2, 6, 7)) + tmp163 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp142, (6, 4), (0, 2, 1, 6, 3, 5)) + tmp268 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp155, (6, 7, 3, 5), (0, 2, 1, 6, 7, 4)) + tmp166 = einsum(tmp165, (0, 1), t3, (2, 3, 0, 4, 5, 6), (1, 2, 3, 4, 6, 5)) + tmp309 = einsum(t2_OoVV, (0, 1, 2, 3), tmp308, (1, 4, 5, 6), (5, 4, 0, 6, 3, 2)) + del tmp308 + tmp172 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp171, (6, 2), (6, 0, 1, 3, 5, 4)) + tmp253 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp252, (6, 2, 7, 5), (6, 0, 1, 7, 3, 4)) tmp196 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp167, (6, 1, 7, 2), (6, 0, 7, 3, 5, 4)) - tmp220 = einsum(tmp219, (0, 1, 2, 3), t2_OOvV, (4, 5, 0, 6), (1, 4, 5, 2, 3, 6)) - del tmp219 + tmp257 = einsum(tmp239, (0, 1, 2, 3), t3, (4, 1, 5, 6, 7, 3), (0, 4, 5, 2, 6, 7)) + tmp131 = einsum(tmp130, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (4, 5, 0, 2, 6, 7)) + tmp129 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp128, (6, 2, 7, 5), (0, 1, 6, 7, 3, 4)) + tmp180 = einsum(tmp179, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), (1, 4, 2, 3, 6, 5)) + del tmp179 + tmp236 = einsum(tmp203, (0, 1, 2, 3, 4, 5), t3, (6, 2, 3, 7, 5, 8), (0, 1, 6, 4, 7, 8)) tmp280 = einsum(t2_OoVV, (0, 1, 2, 3), tmp279, (1, 4, 5, 6), (4, 5, 0, 6, 3, 2)) del tmp279 - tmp266 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp265, (6, 3, 7, 5), (0, 2, 1, 6, 4, 7)) - tmp211 = einsum(t2_OoVV, (0, 1, 2, 3), tmp210, (1, 4, 5, 6), (4, 0, 5, 6, 3, 2)) - del tmp210 - tmp243 = einsum(tmp242, (0, 1, 2, 3), t2_OOvV, (4, 5, 0, 6), (4, 5, 1, 2, 6, 3)) - del tmp242 - tmp259 = einsum(t2_OOvV, (0, 1, 2, 3), tmp258, (2, 4, 5, 6), (4, 0, 1, 5, 3, 6)) - del tmp258 - tmp222 = einsum(t2_OoVV, (0, 1, 2, 3), tmp221, (1, 4, 5, 6), (4, 0, 5, 6, 3, 2)) - del tmp221 + tmp270 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp265, (6, 5, 7, 4), (0, 2, 1, 6, 3, 7)) tmp138 = einsum(tmp126, (0, 1), t3, (2, 1, 3, 4, 5, 6), (2, 3, 0, 4, 6, 5)) - tmp125 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp124, (6, 2), (0, 1, 6, 3, 5, 4)) - tmp269 = einsum(t3, (0, 1, 2, 3, 4, 5), v.VVVV, (6, 5, 7, 4), (0, 2, 1, 3, 6, 7)) - tmp276 = einsum(t2_OoVV, (0, 1, 2, 3), tmp275, (1, 4, 5, 6), (4, 5, 0, 6, 3, 2)) - del tmp275 - tmp296 = einsum(tmp295, (0, 1, 2, 3), t2_OOvV, (4, 5, 0, 6), (1, 4, 5, 2, 6, 3)) + tmp247 = einsum(tmp246, (0, 1, 2, 3), t2_OOvV, (4, 5, 0, 6), (4, 5, 1, 2, 6, 3)) + del tmp246 + tmp271 = einsum(tmp254, (0, 1, 2, 3), t3, (4, 5, 1, 6, 3, 7), (0, 4, 5, 2, 6, 7)) + tmp127 = einsum(tmp126, (0, 1), t3, (2, 3, 1, 4, 5, 6), (2, 3, 0, 4, 6, 5)) + del tmp126 + tmp284 = einsum(t2_OoVV, (0, 1, 2, 3), tmp283, (1, 4, 5, 6), (4, 5, 0, 6, 3, 2)) + del tmp283 + tmp139 = einsum(tmp130, (0, 1, 2, 3), t3, (4, 1, 5, 6, 7, 3), (4, 5, 0, 2, 6, 7)) + tmp230 = einsum(t2_OOvV, (0, 1, 2, 3), tmp229, (2, 4, 5, 6), (4, 0, 1, 5, 6, 3)) + del tmp229 + tmp143 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp142, (6, 5), (0, 2, 1, 6, 3, 4)) + del tmp142 + tmp160 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp159, (6, 5), (0, 2, 1, 3, 4, 6)) + tmp198 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp171, (6, 1), (6, 0, 2, 3, 5, 4)) + del tmp171 + tmp255 = einsum(tmp254, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (0, 4, 5, 2, 6, 7)) + tmp207 = einsum(t2_OoVV, (0, 1, 2, 3), tmp55, (1, 4, 5, 6), (0, 4, 5, 3, 2, 6)) + tmp291 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp285, (6, 1, 7, 5), (6, 0, 2, 3, 4, 7)) + tmp200 = einsum(tmp167, (0, 1, 2, 3), t3, (4, 3, 1, 5, 6, 7), (0, 4, 2, 5, 7, 6)) + del tmp167 + tmp145 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp144, (6, 5), (0, 2, 1, 6, 3, 4)) + tmp267 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp146, (6, 7, 5, 3), (0, 2, 1, 7, 6, 4)) + tmp141 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp140, (5, 6), (0, 2, 1, 6, 3, 4)) + tmp133 = einsum(t2_OOvV, (0, 1, 2, 3), tmp132, (2, 4, 5, 6), (0, 1, 4, 5, 6, 3)) + del tmp132 + tmp164 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp144, (6, 4), (0, 2, 1, 6, 3, 5)) + del tmp144 + tmp301 = einsum(tmp300, (0, 1, 2, 3), t3, (4, 2, 3, 5, 6, 7), (1, 0, 4, 5, 7, 6)) + del tmp300 + tmp245 = einsum(t2_OOvV, (0, 1, 2, 3), tmp244, (2, 4, 5, 6), (4, 0, 1, 5, 3, 6)) + del tmp244 + tmp296 = einsum(t2_OOvV, (0, 1, 2, 3), tmp295, (2, 4, 5, 6), (4, 0, 1, 5, 3, 6)) del tmp295 + tmp204 = einsum(tmp203, (0, 1, 2, 3, 4, 5), t3, (3, 6, 2, 7, 8, 5), (0, 1, 6, 4, 7, 8)) * -1 + tmp136 = einsum(t2_OOvV, (0, 1, 2, 3), tmp135, (2, 4, 5, 6), (0, 1, 4, 5, 6, 3)) + del tmp135 + tmp287 = einsum(tmp188, (0, 1, 2, 3), t3, (4, 5, 1, 6, 3, 7), (0, 4, 5, 2, 6, 7)) + tmp147 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp146, (6, 7, 5, 4), (0, 2, 1, 6, 7, 3)) + del tmp146 tmp303 = einsum(t2_OoVV, (0, 1, 2, 3), tmp302, (1, 4, 5, 6), (5, 4, 0, 6, 3, 2)) del tmp302 + tmp243 = einsum(tmp242, (0, 1, 2, 3), t2_OOvV, (4, 5, 0, 6), (4, 5, 1, 2, 6, 3)) + del tmp242 + tmp186 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp185, (6, 2), (6, 0, 1, 3, 5, 4)) + tmp226 = einsum(t2_OoVV, (0, 1, 2, 3), tmp225, (1, 4, 5, 6), (0, 5, 4, 3, 2, 6)) * -1 + del tmp225 + tmp259 = einsum(t2_OOvV, (0, 1, 2, 3), tmp258, (2, 4, 5, 6), (4, 0, 1, 5, 3, 6)) + del tmp258 + tmp299 = einsum(t2_OOvV, (0, 1, 2, 3), tmp298, (2, 4, 5, 6), (4, 0, 1, 5, 3, 6)) + del tmp298 tmp183 = einsum(tmp182, (0, 1), t3, (2, 3, 1, 4, 5, 6), (0, 2, 3, 4, 6, 5)) - tmp271 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp254, (6, 2, 7, 4), (6, 0, 1, 7, 3, 5)) - tmp309 = einsum(tmp308, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), (2, 1, 4, 3, 6, 5)) - del tmp308 - tmp131 = einsum(tmp130, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (4, 5, 0, 2, 6, 7)) - tmp268 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp155, (6, 7, 5, 3), (0, 2, 1, 6, 7, 4)) * -1 - tmp287 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp188, (6, 2, 7, 4), (6, 0, 1, 7, 3, 5)) - tmp284 = einsum(t2_OoVV, (0, 1, 2, 3), tmp283, (1, 4, 5, 6), (4, 5, 0, 6, 3, 2)) - del tmp283 - tmp315 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp305, (6, 7, 0, 2), (7, 6, 1, 3, 5, 4)) * -1 - tmp253 = einsum(tmp252, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (0, 4, 5, 2, 6, 7)) - tmp245 = einsum(tmp244, (0, 1, 2, 3), t2_OOvV, (4, 5, 0, 6), (1, 4, 5, 2, 6, 3)) - del tmp244 - tmp205 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp203, (6, 7, 1, 2, 8, 5), (6, 7, 0, 8, 3, 4)) - tmp192 = einsum(tmp191, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (0, 4, 5, 2, 6, 7)) - tmp286 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp285, (6, 2, 7, 4), (6, 0, 1, 3, 5, 7)) - tmp147 = einsum(tmp146, (0, 1, 2, 3), t3, (4, 5, 6, 7, 2, 3), (4, 6, 5, 1, 0, 7)) + tmp121 = einsum(t3, (0, 1, 2, 3, 4, 5), v.OOOO, (6, 0, 7, 2), (1, 6, 7, 3, 5, 4)) + tmp241 = einsum(v.OVVv, (0, 1, 2, 3), t2_OOvV, (4, 5, 3, 6), (4, 5, 0, 6, 2, 1)) + tmp125 = einsum(tmp124, (0, 1), t3, (2, 3, 1, 4, 5, 6), (2, 3, 0, 4, 6, 5)) + tmp156 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp155, (6, 7, 4, 5), (0, 2, 1, 7, 6, 3)) + del tmp155 + tmp235 = einsum(tmp203, (0, 1, 2, 3, 4, 5), t3, (6, 3, 2, 7, 5, 8), (0, 1, 6, 4, 7, 8)) + tmp170 = einsum(tmp169, (0, 1), t3, (2, 3, 1, 4, 5, 6), (0, 2, 3, 4, 6, 5)) tmp273 = einsum(tmp265, (0, 1, 2, 3), t3, (4, 5, 6, 7, 1, 3), (4, 6, 5, 0, 7, 2)) - tmp163 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp142, (6, 4), (0, 2, 1, 6, 3, 5)) - tmp121 = einsum(v.OOOO, (0, 1, 2, 3), t3, (3, 4, 1, 5, 6, 7), (4, 0, 2, 5, 7, 6)) * -1 - tmp178 = einsum(tmp177, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), (1, 4, 2, 3, 6, 5)) + del tmp265 + tmp238 = einsum(tmp130, (0, 1, 2, 3), t3, (4, 5, 1, 6, 3, 7), (4, 5, 0, 2, 6, 7)) + tmp256 = einsum(v.OOVV, (0, 1, 2, 3), t3, (4, 1, 5, 6, 7, 3), (4, 5, 0, 6, 7, 2)) + tmp269 = einsum(t3, (0, 1, 2, 3, 4, 5), v.VVVV, (6, 5, 7, 4), (0, 2, 1, 3, 6, 7)) + tmp274 = einsum(t2_OoVV, (0, 1, 2, 3), tmp190, (1, 4, 5, 6), (4, 0, 5, 3, 2, 6)) + del tmp190 + tmp264 = einsum(t3, (0, 1, 2, 3, 4, 5), v.VVVV, (6, 5, 7, 3), (0, 2, 1, 4, 6, 7)) * -1 + tmp290 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp289, (6, 2, 7, 5), (6, 0, 1, 3, 4, 7)) + tmp178 = einsum(t2_OoVV, (0, 1, 2, 3), tmp177, (1, 4, 5, 6), (4, 0, 5, 6, 3, 2)) del tmp177 - tmp238 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp130, (6, 2, 7, 4), (0, 1, 6, 7, 3, 5)) - tmp306 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp305, (6, 7, 1, 2), (7, 6, 0, 3, 5, 4)) - del tmp305 - tmp282 = einsum(t2_OoVV, (0, 1, 2, 3), tmp281, (1, 4, 5, 6), (4, 0, 5, 3, 2, 6)) - del tmp281 - tmp202 = einsum(t2_OoVV, (0, 1, 2, 3), tmp201, (1, 4, 5, 6), (0, 4, 5, 3, 2, 6)) - del tmp201 - tmp127 = einsum(tmp126, (0, 1), t3, (2, 3, 1, 4, 5, 6), (2, 3, 0, 4, 6, 5)) - del tmp126 - tmp232 = einsum(tmp231, (0, 1, 2, 3), t2_OOvV, (4, 5, 0, 6), (1, 4, 5, 2, 3, 6)) - del tmp231 - tmp120 = einsum(f.OO, (0, 1), t3, (2, 3, 1, 4, 5, 6), (0, 2, 3, 4, 6, 5)) - tmp123 = einsum(t2_OoVV, (0, 1, 2, 3), tmp122, (1, 4, 5, 6), (0, 5, 4, 6, 3, 2)) - del tmp122 - tmp180 = einsum(tmp179, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), (1, 4, 2, 3, 6, 5)) - del tmp179 - tmp175 = einsum(t2_OOvV, (0, 1, 2, 3), tmp174, (2, 4, 5, 6), (4, 0, 1, 6, 5, 3)) + tmp175 = einsum(tmp174, (0, 1, 2, 3), t2_OOvV, (4, 5, 0, 6), (1, 4, 5, 3, 2, 6)) del tmp174 - tmp288 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp285, (6, 2, 7, 5), (6, 0, 1, 3, 4, 7)) - tmp235 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp203, (6, 7, 2, 1, 8, 4), (6, 7, 0, 8, 3, 5)) - tmp209 = einsum(tmp208, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), (1, 4, 2, 3, 6, 5)) - del tmp208 - tmp162 = einsum(tmp161, (0, 1), t3, (2, 3, 4, 5, 6, 0), (2, 4, 3, 5, 6, 1)) - tmp150 = einsum(tmp149, (0, 1), t3, (2, 3, 4, 5, 6, 1), (2, 4, 3, 0, 5, 6)) - tmp290 = einsum(tmp289, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (0, 4, 5, 6, 7, 2)) - tmp198 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp171, (6, 1), (6, 0, 2, 3, 5, 4)) - tmp272 = einsum(tmp254, (0, 1, 2, 3), t3, (4, 1, 5, 6, 3, 7), (0, 4, 5, 2, 6, 7)) - tmp270 = einsum(tmp265, (0, 1, 2, 3), t3, (4, 5, 6, 7, 3, 1), (4, 6, 5, 0, 7, 2)) - del tmp265 - tmp267 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp146, (6, 7, 5, 3), (0, 2, 1, 7, 6, 4)) - del tmp146 - tmp207 = einsum(t2_OoVV, (0, 1, 2, 3), tmp55, (1, 4, 5, 6), (0, 4, 5, 3, 2, 6)) - tmp299 = einsum(tmp298, (0, 1, 2, 3), t2_OOvV, (4, 5, 0, 6), (1, 4, 5, 2, 6, 3)) - del tmp298 - tmp312 = einsum(t2_OoVV, (0, 1, 2, 3), tmp311, (1, 4, 5, 6), (4, 5, 0, 3, 2, 6)) - del tmp311 + tmp197 = einsum(tmp169, (0, 1), t3, (2, 1, 3, 4, 5, 6), (0, 2, 3, 4, 6, 5)) + del tmp169 + tmp263 = einsum(tmp262, (0, 1, 2, 3), t2_OOvV, (4, 5, 0, 6), (1, 4, 5, 2, 6, 3)) + del tmp262 + tmp251 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp250, (6, 2, 7, 5), (6, 0, 1, 7, 3, 4)) tmp249 = einsum(tmp239, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (0, 4, 5, 2, 6, 7)) - tmp256 = einsum(t3, (0, 1, 2, 3, 4, 5), v.OOVV, (6, 1, 7, 5), (0, 2, 6, 3, 4, 7)) - tmp237 = einsum(t3, (0, 1, 2, 3, 4, 5), v.OOVV, (6, 2, 7, 4), (0, 1, 6, 3, 5, 7)) - tmp257 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp239, (6, 1, 7, 5), (6, 0, 2, 7, 3, 4)) - tmp255 = einsum(tmp254, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (0, 4, 5, 2, 6, 7)) + tmp272 = einsum(tmp254, (0, 1, 2, 3), t3, (4, 1, 5, 6, 3, 7), (0, 4, 5, 2, 6, 7)) del tmp254 - tmp274 = einsum(t2_OoVV, (0, 1, 2, 3), tmp190, (1, 4, 5, 6), (4, 0, 5, 3, 2, 6)) - del tmp190 - tmp215 = einsum(tmp214, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), (4, 1, 2, 6, 5, 3)) - del tmp214 tmp278 = einsum(t2_OoVV, (0, 1, 2, 3), tmp277, (1, 4, 5, 6), (4, 5, 0, 6, 3, 2)) del tmp277 - tmp204 = einsum(tmp203, (0, 1, 2, 3, 4, 5), t3, (3, 6, 2, 7, 8, 5), (0, 1, 6, 4, 7, 8)) * -1 - tmp186 = einsum(tmp185, (0, 1), t3, (2, 3, 1, 4, 5, 6), (0, 2, 3, 4, 6, 5)) - tmp166 = einsum(tmp165, (0, 1), t3, (2, 3, 0, 4, 5, 6), (1, 2, 3, 4, 6, 5)) - tmp172 = einsum(tmp171, (0, 1), t3, (2, 3, 1, 4, 5, 6), (0, 2, 3, 4, 6, 5)) - del tmp171 - tmp264 = einsum(t3, (0, 1, 2, 3, 4, 5), v.VVVV, (6, 3, 7, 5), (0, 2, 1, 4, 6, 7)) - tmp248 = einsum(v.OOVV, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (4, 5, 0, 6, 7, 2)) - tmp206 = einsum(t2_OoVV, (0, 1, 2, 3), tmp53, (1, 4, 5, 6), (0, 4, 5, 3, 2, 6)) - tmp251 = einsum(tmp250, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (0, 4, 5, 2, 6, 7)) - tmp314 = einsum(tmp313, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), (1, 2, 4, 6, 5, 3)) - del tmp313 - tmp199 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp188, (6, 1, 7, 5), (6, 0, 2, 7, 3, 4)) - tmp170 = einsum(tmp169, (0, 1), t3, (2, 3, 1, 4, 5, 6), (0, 2, 3, 4, 6, 5)) - tmp137 = einsum(t3, (0, 1, 2, 3, 4, 5), v.OOOO, (6, 2, 7, 1), (0, 6, 7, 3, 5, 4)) - tmp197 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp169, (6, 1), (6, 0, 2, 3, 5, 4)) - del tmp169 - tmp241 = einsum(v.OVVv, (0, 1, 2, 3), t2_OOvV, (4, 5, 3, 6), (4, 5, 0, 6, 2, 1)) + tmp195 = einsum(tmp194, (0, 1, 2, 3), t2_OOvV, (4, 5, 0, 6), (1, 4, 5, 3, 2, 6)) + del tmp194 + tmp153 = einsum(tmp152, (0, 1), t3, (2, 3, 4, 5, 6, 1), (2, 4, 3, 0, 5, 6)) + tmp288 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp285, (6, 2, 7, 5), (6, 0, 1, 3, 4, 7)) + tmp312 = einsum(tmp311, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), (1, 2, 4, 6, 5, 3)) + del tmp311 + tmp209 = einsum(t2_OoVV, (0, 1, 2, 3), tmp208, (1, 4, 5, 6), (4, 0, 5, 6, 3, 2)) + del tmp208 + tmp192 = einsum(tmp191, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (0, 4, 5, 2, 6, 7)) + tmp306 = einsum(tmp305, (0, 1, 2, 3), t3, (4, 2, 3, 5, 6, 7), (1, 0, 4, 5, 7, 6)) + tmp211 = einsum(tmp210, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), (1, 4, 2, 3, 6, 5)) + del tmp210 tmp234 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp203, (6, 7, 2, 1, 8, 5), (6, 7, 0, 8, 3, 4)) - tmp236 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp203, (6, 7, 1, 2, 8, 4), (6, 7, 0, 8, 3, 5)) del tmp203 - tmp230 = einsum(t2_OOvV, (0, 1, 2, 3), tmp229, (2, 4, 5, 6), (4, 0, 1, 5, 6, 3)) - del tmp229 - tmp158 = einsum(t3, (0, 1, 2, 3, 4, 5), v.OVOV, (6, 7, 2, 5), (0, 1, 6, 3, 4, 7)) - tmp263 = einsum(tmp262, (0, 1, 2, 3), t2_OOvV, (4, 5, 0, 6), (1, 4, 5, 2, 6, 3)) - del tmp262 - tmp247 = einsum(t2_OOvV, (0, 1, 2, 3), tmp246, (2, 4, 5, 6), (0, 1, 4, 5, 3, 6)) - del tmp246 - tmp217 = einsum(t2_OoVV, (0, 1, 2, 3), tmp216, (1, 4, 5, 6), (0, 4, 5, 3, 2, 6)) - del tmp216 - tmp291 = einsum(tmp285, (0, 1, 2, 3), t3, (4, 1, 5, 6, 7, 3), (0, 4, 5, 6, 7, 2)) - tmp226 = einsum(tmp225, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), (4, 1, 2, 6, 5, 3)) - del tmp225 - tmp200 = einsum(tmp167, (0, 1, 2, 3), t3, (4, 3, 1, 5, 6, 7), (0, 4, 2, 5, 7, 6)) - tmp129 = einsum(tmp128, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (4, 5, 0, 2, 6, 7)) - tmp136 = einsum(t2_OOvV, (0, 1, 2, 3), tmp135, (2, 4, 5, 6), (0, 1, 4, 5, 6, 3)) - del tmp135 - tmp133 = einsum(t2_OOvV, (0, 1, 2, 3), tmp132, (2, 4, 5, 6), (0, 1, 4, 5, 6, 3)) - del tmp132 - tmp160 = einsum(tmp159, (0, 1), t3, (2, 3, 4, 5, 6, 1), (2, 4, 3, 5, 6, 0)) - tmp157 = einsum(t3, (0, 1, 2, 3, 4, 5), f.VV, (6, 5), (0, 2, 1, 6, 3, 4)) - tmp240 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp239, (6, 2, 7, 4), (6, 0, 1, 7, 3, 5)) - tmp233 = einsum(v.OoOV, (0, 1, 2, 3), t2_OoVV, (4, 1, 5, 6), (4, 0, 2, 6, 5, 3)) - tmp164 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp144, (6, 4), (0, 2, 1, 6, 3, 5)) - tmp143 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp142, (6, 5), (0, 2, 1, 6, 3, 4)) - del tmp142 + tmp248 = einsum(v.OOVV, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (4, 5, 0, 6, 7, 2)) + tmp222 = einsum(tmp221, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), (1, 4, 2, 3, 6, 5)) + del tmp221 + tmp213 = einsum(t2_OoVV, (0, 1, 2, 3), tmp212, (1, 4, 5, 6), (4, 0, 5, 6, 3, 2)) + del tmp212 tmp189 = einsum(tmp188, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (0, 4, 5, 2, 6, 7)) - tmp156 = einsum(tmp155, (0, 1, 2, 3), t3, (4, 5, 6, 7, 2, 3), (4, 6, 5, 1, 0, 7)) - del tmp155 - tmp153 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp152, (6, 5), (0, 2, 1, 6, 3, 4)) - tmp195 = einsum(t2_OOvV, (0, 1, 2, 3), tmp194, (2, 4, 5, 6), (4, 0, 1, 6, 5, 3)) - del tmp194 - tmp261 = einsum(t2_OOvV, (0, 1, 2, 3), tmp260, (2, 4, 5, 6), (4, 0, 1, 5, 3, 6)) - del tmp260 - tmp139 = einsum(tmp130, (0, 1, 2, 3), t3, (4, 1, 5, 6, 7, 3), (4, 5, 0, 2, 6, 7)) - tmp168 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp167, (6, 2, 7, 0), (6, 1, 7, 3, 5, 4)) * -1 - del tmp167 - tmp224 = einsum(t2_OoVV, (0, 1, 2, 3), tmp223, (1, 4, 5, 6), (0, 4, 5, 3, 2, 6)) - del tmp223 - tmp145 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp144, (6, 5), (0, 2, 1, 6, 3, 4)) - del tmp144 - tmp141 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp140, (5, 6), (0, 2, 1, 6, 3, 4)) - tmp293 = einsum(tmp292, (0, 1, 2, 3), t2_OOvV, (4, 5, 0, 6), (1, 4, 5, 6, 3, 2)) - del tmp292 - tmp54 = einsum(t1, (0, 1), tmp53, (0, 2, 3, 4), (1, 2, 3, 4)) + tmp315 = einsum(tmp305, (0, 1, 2, 3), t3, (2, 4, 3, 5, 6, 7), (1, 0, 4, 5, 7, 6)) * -1 + del tmp305 + tmp50 = einsum(v.OVVv, (0, 1, 2, 3), t3, (4, 5, 0, 6, 2, 1), (3, 4, 5, 6)) + tmp56 = einsum(tmp55, (0, 1, 2, 3), t1, (0, 4), (4, 1, 2, 3)) + del tmp55 + tmp54 = einsum(tmp53, (0, 1, 2, 3), t1, (0, 4), (4, 1, 2, 3)) del tmp53 tmp49 = einsum(v.OVVv, (0, 1, 2, 3), t3, (4, 5, 0, 2, 6, 1), (3, 4, 5, 6)) - tmp56 = einsum(t1, (0, 1), tmp55, (0, 2, 3, 4), (1, 2, 3, 4)) - del tmp55 - tmp50 = einsum(t3, (0, 1, 2, 3, 4, 5), v.OVVv, (2, 5, 4, 6), (6, 0, 1, 3)) - tmp30 = einsum(t3, (0, 1, 2, 3, 4, 5), v.OoOV, (0, 6, 2, 5), (6, 1, 3, 4)) - tmp65 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp64, (6, 0, 2, 5), (6, 1, 3, 4)) + tmp31 = einsum(v.OoOV, (0, 1, 2, 3), t3, (4, 0, 2, 5, 6, 3), (1, 4, 5, 6)) tmp66 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp64, (6, 1, 2, 5), (6, 0, 3, 4)) + tmp30 = einsum(v.OVOo, (0, 1, 2, 3), t3, (0, 4, 2, 5, 6, 1), (3, 4, 5, 6)) * -1 + tmp65 = einsum(tmp64, (0, 1, 2, 3), t3, (2, 4, 1, 5, 6, 3), (0, 4, 5, 6)) * -1 del tmp64 - tmp31 = einsum(t3, (0, 1, 2, 3, 4, 5), v.OVOo, (2, 5, 1, 6), (6, 0, 3, 4)) + tmp35 = einsum(f.OV, (0, 1), t3, (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) tmp39 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp38, (2, 5), (0, 1, 3, 4)) del tmp38 - tmp37 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp36, (2, 5), (0, 1, 3, 4)) + tmp37 = einsum(tmp36, (0, 1), t3, (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) del tmp36 - tmp35 = einsum(t3, (0, 1, 2, 3, 4, 5), f.OV, (2, 5), (0, 1, 3, 4)) - tmp28 = einsum(f.oo, (0, 1), t2, (2, 1, 3, 4), (0, 2, 3, 4)) - tmp77 = einsum(tmp76, (0, 1, 2, 3), t2, (4, 1, 3, 5), (0, 4, 5, 2)) - tmp46 = einsum(t1, (0, 1), tmp45, (0, 2, 3, 4), (2, 3, 1, 4)) - del tmp45 + tmp63 = einsum(t2, (0, 1, 2, 3), tmp62, (4, 5, 1, 0), (4, 5, 3, 2)) + del tmp62 + tmp80 = einsum(tmp79, (0, 1, 2, 3), t1, (2, 4), (0, 1, 4, 3)) + del tmp79 tmp81 = einsum(v.ooov, (0, 1, 2, 3), t1, (1, 4), (0, 2, 4, 3)) - tmp82 = einsum(v.oovv, (0, 1, 2, 3), t2, (4, 1, 3, 5), (4, 0, 5, 2)) + tmp95 = einsum(tmp94, (0, 1, 2, 3), t2, (4, 1, 5, 3), (0, 4, 2, 5)) + del tmp94 + tmp88 = einsum(tmp87, (0, 1, 2, 3), t1, (2, 4), (0, 1, 4, 3)) + del tmp87 + tmp33 = einsum(t2, (0, 1, 2, 3), tmp27, (4, 1), (0, 4, 2, 3)) + tmp28 = einsum(t2, (0, 1, 2, 3), f.oo, (4, 1), (4, 0, 2, 3)) + tmp29 = einsum(v.oooo, (0, 1, 2, 3), t2, (3, 1, 4, 5), (0, 2, 5, 4)) tmp84 = einsum(tmp83, (0, 1, 2, 3), t1, (2, 4), (0, 1, 4, 3)) del tmp83 - tmp102 = einsum(t1, (0, 1), tmp101, (2, 3, 0, 4), (2, 3, 1, 4)) - del tmp101 - tmp100 = einsum(t2, (0, 1, 2, 3), tmp99, (4, 5, 1, 0), (5, 4, 2, 3)) - tmp68 = einsum(tmp7, (0, 1), t2, (2, 1, 3, 4), (2, 0, 3, 4)) - tmp29 = einsum(t2, (0, 1, 2, 3), v.oooo, (4, 1, 5, 0), (4, 5, 3, 2)) + tmp46 = einsum(tmp45, (0, 1, 2, 3), t1, (0, 4), (1, 2, 4, 3)) + del tmp45 + tmp92 = einsum(tmp91, (0, 1, 2, 3), t1, (2, 4), (0, 1, 4, 3)) + del tmp91 + tmp119 = einsum(tmp118, (0, 1, 2, 3), t1, (2, 4), (0, 1, 4, 3)) + del tmp118 + tmp90 = einsum(tmp89, (0, 1, 2, 3), t1, (2, 4), (0, 1, 4, 3)) + del tmp89 + tmp51 = einsum(t2, (0, 1, 2, 3), tmp11, (4, 3), (0, 1, 2, 4)) + tmp41 = einsum(t2, (0, 1, 2, 3), tmp40, (4, 3), (0, 1, 2, 4)) + del tmp40 + tmp110 = einsum(tmp109, (0, 1, 2, 3), t1, (2, 4), (0, 1, 4, 3)) + del tmp109 + tmp52 = einsum(t2, (0, 1, 2, 3), tmp13, (3, 4), (0, 1, 2, 4)) + tmp112 = einsum(tmp111, (0, 1, 2, 3), t1, (2, 4), (0, 1, 4, 3)) + del tmp111 + tmp105 = einsum(tmp75, (0, 1, 2, 3), t2, (4, 1, 5, 2), (0, 4, 5, 3)) + tmp67 = einsum(t2, (0, 1, 2, 3), tmp9, (4, 1), (0, 4, 2, 3)) + tmp69 = einsum(tmp15, (0, 1), t2, (2, 1, 3, 4), (0, 2, 3, 4)) + tmp61 = einsum(tmp0, (0, 1), t2, (2, 0, 3, 4), (1, 2, 3, 4)) + tmp77 = einsum(t2, (0, 1, 2, 3), tmp76, (4, 1, 5, 2), (4, 0, 3, 5)) + tmp98 = einsum(v.vvvv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) + tmp97 = einsum(tmp47, (0, 1, 2, 3), t2, (4, 1, 5, 3), (0, 4, 2, 5)) + tmp78 = einsum(tmp4, (0, 1, 2, 3), t1, (2, 4), (0, 1, 4, 3)) tmp117 = einsum(tmp116, (0, 1, 2, 3), t2, (3, 2, 4, 5), (1, 0, 4, 5)) del tmp116 tmp96 = einsum(t2, (0, 1, 2, 3), tmp48, (4, 1, 5, 3), (0, 4, 2, 5)) - tmp106 = einsum(t2, (0, 1, 2, 3), tmp75, (4, 1, 2, 5), (4, 0, 3, 5)) - tmp103 = einsum(tmp99, (0, 1, 2, 3), t1, (2, 4), (1, 0, 3, 4)) - del tmp99 - tmp104 = einsum(tmp76, (0, 1, 2, 3), t2, (4, 1, 5, 3), (0, 4, 5, 2)) - del tmp76 - tmp32 = einsum(tmp26, (0, 1), t2, (2, 1, 3, 4), (2, 0, 3, 4)) - tmp115 = einsum(t1, (0, 1), tmp114, (2, 3, 0, 4), (2, 3, 1, 4)) - del tmp114 - tmp90 = einsum(tmp89, (0, 1, 2, 3), t1, (2, 4), (0, 1, 4, 3)) - del tmp89 - tmp63 = einsum(tmp62, (0, 1, 2, 3), t2, (2, 3, 4, 5), (0, 1, 4, 5)) - del tmp62 - tmp51 = einsum(tmp11, (0, 1), t2, (2, 3, 4, 1), (2, 3, 4, 0)) - tmp119 = einsum(tmp118, (0, 1, 2, 3), t1, (2, 4), (1, 0, 3, 4)) - del tmp118 + tmp34 = einsum(v.oooo, (0, 1, 2, 3), t1, (3, 4), (0, 1, 2, 4)) + tmp113 = einsum(v.vvvv, (0, 1, 2, 3), t2, (4, 5, 1, 3), (4, 5, 0, 2)) + tmp108 = einsum(tmp107, (0, 1, 2, 3), t1, (2, 4), (0, 1, 4, 3)) + del tmp107 tmp58 = einsum(tmp57, (0, 1, 2, 3), t1, (2, 4), (0, 1, 4, 3)) del tmp57 - tmp108 = einsum(t1, (0, 1), tmp107, (2, 3, 0, 4), (2, 3, 1, 4)) - del tmp107 + tmp68 = einsum(t2, (0, 1, 2, 3), tmp7, (4, 1), (0, 4, 2, 3)) + tmp70 = einsum(tmp16, (0, 1), t2, (2, 1, 3, 4), (0, 2, 3, 4)) + tmp32 = einsum(tmp26, (0, 1), t2, (2, 1, 3, 4), (2, 0, 3, 4)) + tmp115 = einsum(tmp114, (0, 1, 2, 3), t1, (2, 4), (0, 1, 4, 3)) + del tmp114 + tmp93 = einsum(t2, (0, 1, 2, 3), tmp85, (4, 1, 5, 3), (0, 4, 2, 5)) + tmp100 = einsum(t2, (0, 1, 2, 3), tmp99, (4, 5, 0, 1), (5, 4, 3, 2)) tmp74 = einsum(tmp73, (0, 1, 2, 3), t1, (2, 4), (0, 1, 4, 3)) del tmp73 - tmp95 = einsum(tmp94, (0, 1, 2, 3), t2, (4, 1, 5, 3), (0, 4, 2, 5)) - del tmp94 - tmp69 = einsum(t2, (0, 1, 2, 3), tmp15, (4, 1), (4, 0, 2, 3)) - tmp67 = einsum(tmp9, (0, 1), t2, (2, 1, 3, 4), (2, 0, 3, 4)) - tmp92 = einsum(t1, (0, 1), tmp91, (2, 3, 0, 4), (2, 3, 1, 4)) - del tmp91 - tmp72 = einsum(t1, (0, 1), tmp71, (2, 0, 3, 4), (2, 3, 1, 4)) + tmp44 = einsum(f.vv, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4)) + tmp103 = einsum(t1, (0, 1), tmp99, (2, 3, 0, 4), (3, 2, 4, 1)) + del tmp99 + tmp72 = einsum(tmp71, (0, 1, 2, 3), t1, (1, 4), (0, 2, 4, 3)) del tmp71 tmp60 = einsum(tmp59, (0, 1, 2, 3), t1, (2, 4), (0, 1, 4, 3)) del tmp59 + tmp102 = einsum(tmp101, (0, 1, 2, 3), t1, (2, 4), (0, 1, 4, 3)) + del tmp101 + tmp106 = einsum(t2, (0, 1, 2, 3), tmp75, (4, 1, 2, 5), (4, 0, 3, 5)) + tmp82 = einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 2), (0, 4, 3, 5)) + tmp104 = einsum(t2, (0, 1, 2, 3), tmp76, (4, 1, 5, 3), (4, 0, 2, 5)) + del tmp76 tmp43 = einsum(tmp42, (0, 1), t2, (2, 3, 4, 1), (2, 3, 4, 0)) del tmp42 - tmp98 = einsum(t1, (0, 1), v.vvvv, (2, 3, 4, 1), (0, 2, 3, 4)) - tmp88 = einsum(tmp87, (0, 1, 2, 3), t1, (2, 4), (0, 1, 4, 3)) - del tmp87 - tmp105 = einsum(tmp75, (0, 1, 2, 3), t2, (4, 1, 5, 2), (0, 4, 5, 3)) - tmp113 = einsum(v.vvvv, (0, 1, 2, 3), t2, (4, 5, 1, 3), (4, 5, 0, 2)) - tmp80 = einsum(t1, (0, 1), tmp79, (2, 3, 0, 4), (2, 3, 1, 4)) - del tmp79 - tmp93 = einsum(t2, (0, 1, 2, 3), tmp85, (4, 1, 5, 3), (0, 4, 2, 5)) - tmp41 = einsum(t2, (0, 1, 2, 3), tmp40, (4, 3), (0, 1, 2, 4)) - del tmp40 - tmp52 = einsum(tmp13, (0, 1), t2, (2, 3, 4, 0), (2, 3, 4, 1)) - tmp110 = einsum(tmp109, (0, 1, 2, 3), t1, (2, 4), (0, 1, 4, 3)) - del tmp109 - tmp112 = einsum(t1, (0, 1), tmp111, (2, 3, 0, 4), (2, 3, 1, 4)) - del tmp111 - tmp97 = einsum(tmp47, (0, 1, 2, 3), t2, (4, 1, 5, 3), (0, 4, 2, 5)) - tmp33 = einsum(tmp27, (0, 1), t2, (2, 1, 3, 4), (2, 0, 3, 4)) tmp86 = einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 3), (0, 4, 2, 5)) - tmp78 = einsum(tmp4, (0, 1, 2, 3), t1, (2, 4), (0, 1, 4, 3)) - tmp34 = einsum(v.oooo, (0, 1, 2, 3), t1, (3, 4), (0, 1, 2, 4)) - tmp70 = einsum(t2, (0, 1, 2, 3), tmp16, (4, 1), (4, 0, 2, 3)) - tmp44 = einsum(f.vv, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4)) - tmp61 = einsum(t2, (0, 1, 2, 3), tmp0, (1, 4), (4, 0, 2, 3)) - tmp20 = einsum(t3, (0, 1, 2, 3, 4, 5), v.OVOV, (2, 3, 1, 5), (0, 4)) - tmp23 = einsum(v.OVOV, (0, 1, 2, 3), t3, (0, 4, 2, 1, 5, 3), (4, 5)) - tmp21 = einsum(t3, (0, 1, 2, 3, 4, 5), v.OVOV, (2, 4, 1, 5), (0, 3)) - tmp22 = einsum(t3, (0, 1, 2, 3, 4, 5), v.OVOV, (2, 5, 1, 4), (0, 3)) + tmp21 = einsum(v.OVOV, (0, 1, 2, 3), t3, (4, 0, 2, 5, 3, 1), (4, 5)) + tmp20 = einsum(v.OVOV, (0, 1, 2, 3), t3, (4, 0, 2, 3, 5, 1), (4, 5)) + tmp22 = einsum(v.OVOV, (0, 1, 2, 3), t3, (4, 0, 2, 5, 1, 3), (4, 5)) + tmp23 = einsum(v.OVOV, (0, 1, 2, 3), t3, (0, 4, 2, 3, 5, 1), (4, 5)) * -1 + tmp2 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 3, 4, 2), (0, 4)) + tmp24 = einsum(t2, (0, 1, 2, 3), tmp1, (1, 2), (0, 3)) + tmp12 = einsum(tmp11, (0, 1), t1, (2, 1), (2, 0)) + del tmp11 + tmp10 = einsum(t1, (0, 1), tmp9, (2, 0), (2, 1)) + del tmp9 tmp17 = einsum(t1, (0, 1), tmp16, (2, 0), (2, 1)) del tmp16 - tmp10 = einsum(tmp9, (0, 1), t1, (1, 2), (0, 2)) - del tmp9 - tmp24 = einsum(tmp1, (0, 1), t2, (2, 0, 1, 3), (2, 3)) - tmp19 = einsum(v.ooov, (0, 1, 2, 3), t2, (2, 1, 3, 4), (0, 4)) - tmp6 = einsum(tmp4, (0, 1, 2, 3), t2, (2, 1, 3, 4), (0, 4)) tmp8 = einsum(tmp7, (0, 1), t1, (1, 2), (0, 2)) del tmp7 - tmp5 = einsum(tmp4, (0, 1, 2, 3), t2, (1, 2, 3, 4), (0, 4)) - del tmp4 + tmp18 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 1, 0, 3), (4, 2)) + tmp6 = einsum(t2, (0, 1, 2, 3), tmp4, (4, 0, 1, 3), (4, 2)) + tmp19 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 0, 1, 3), (4, 2)) + tmp25 = einsum(t2, (0, 1, 2, 3), tmp1, (1, 3), (0, 2)) tmp3 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 2, 4, 3), (0, 4)) - tmp2 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 3, 4, 2), (0, 4)) - tmp25 = einsum(tmp1, (0, 1), t2, (2, 0, 3, 1), (2, 3)) - tmp12 = einsum(tmp11, (0, 1), t1, (2, 1), (2, 0)) - del tmp11 - tmp18 = einsum(v.ooov, (0, 1, 2, 3), t2, (1, 2, 3, 4), (0, 4)) + tmp5 = einsum(t2, (0, 1, 2, 3), tmp4, (4, 1, 0, 3), (4, 2)) + del tmp4 t3new = np.copy(np.transpose(tmp120, (1, 2, 0, 4, 5, 3))) t3new += np.transpose(tmp121, (1, 0, 2, 4, 5, 3)) * -1 del tmp121 @@ -525,7 +525,7 @@ def update_amps(f=None, t1=None, t2=None, t3=None, v=None, **kwargs): t3new += np.transpose(tmp129, (1, 0, 2, 5, 4, 3)) * -1 t3new += np.transpose(tmp133, (1, 0, 2, 5, 3, 4)) t3new += np.transpose(tmp136, (1, 0, 2, 5, 3, 4)) - t3new += einsum(f.OO, (0, 1), t3, (2, 1, 3, 4, 5, 6), (2, 0, 3, 4, 5, 6)) * -1 + t3new += einsum(t3, (0, 1, 2, 3, 4, 5), f.OO, (6, 1), (0, 6, 2, 3, 4, 5)) * -1 t3new += np.transpose(tmp137, (1, 2, 0, 4, 5, 3)) t3new += np.transpose(tmp123, (1, 2, 0, 5, 4, 3)) * -1 t3new += einsum(t3, (0, 1, 2, 3, 4, 5), tmp124, (6, 1), (0, 6, 2, 3, 4, 5)) @@ -572,7 +572,7 @@ def update_amps(f=None, t1=None, t2=None, t3=None, v=None, **kwargs): t3new += np.transpose(tmp153, (1, 2, 0, 3, 5, 4)) * -2 del tmp153 t3new += einsum(t3, (0, 1, 2, 3, 4, 5), f.VV, (6, 4), (0, 1, 2, 3, 6, 5)) - t3new += einsum(t3, (0, 1, 2, 3, 4, 5), tmp140, (4, 6), (0, 1, 2, 3, 6, 5)) * -1 + t3new += einsum(tmp140, (0, 1), t3, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) * -1 del tmp140 t3new += einsum(tmp159, (0, 1), t3, (2, 3, 4, 5, 1, 6), (2, 3, 4, 5, 0, 6)) * 2 del tmp159 @@ -582,9 +582,9 @@ def update_amps(f=None, t1=None, t2=None, t3=None, v=None, **kwargs): del tmp163 t3new += np.transpose(tmp164, (1, 2, 0, 4, 3, 5)) * 2 del tmp164 - t3new += einsum(tmp149, (0, 1), t3, (2, 3, 4, 5, 1, 6), (2, 3, 4, 5, 0, 6)) + t3new += einsum(t3, (0, 1, 2, 3, 4, 5), tmp149, (6, 4), (0, 1, 2, 3, 6, 5)) del tmp149 - t3new += einsum(tmp152, (0, 1), t3, (2, 3, 4, 5, 1, 6), (2, 3, 4, 5, 0, 6)) * -2 + t3new += einsum(t3, (0, 1, 2, 3, 4, 5), tmp152, (6, 4), (0, 1, 2, 3, 6, 5)) * -2 del tmp152 t3new += np.transpose(tmp157, (0, 2, 1, 4, 5, 3)) del tmp157 @@ -607,7 +607,7 @@ def update_amps(f=None, t1=None, t2=None, t3=None, v=None, **kwargs): t3new += np.transpose(tmp192, (1, 2, 0, 4, 5, 3)) * -1 t3new += np.transpose(tmp192, (2, 1, 0, 5, 4, 3)) * -1 t3new += np.transpose(tmp195, (2, 1, 0, 5, 4, 3)) - t3new += einsum(t3, (0, 1, 2, 3, 4, 5), tmp165, (1, 6), (0, 6, 2, 3, 4, 5)) * -1 + t3new += einsum(tmp165, (0, 1), t3, (2, 0, 3, 4, 5, 6), (2, 1, 3, 4, 5, 6)) * -1 del tmp165 t3new += np.transpose(tmp196, (2, 0, 1, 4, 5, 3)) t3new += np.transpose(tmp197, (2, 0, 1, 3, 5, 4)) * -1 @@ -619,7 +619,7 @@ def update_amps(f=None, t1=None, t2=None, t3=None, v=None, **kwargs): t3new += np.transpose(tmp178, (2, 0, 1, 5, 4, 3)) * -1 t3new += einsum(t3, (0, 1, 2, 3, 4, 5), tmp182, (6, 1), (0, 6, 2, 3, 4, 5)) del tmp182 - t3new += einsum(tmp185, (0, 1), t3, (2, 1, 3, 4, 5, 6), (2, 0, 3, 4, 5, 6)) * -2 + t3new += einsum(t3, (0, 1, 2, 3, 4, 5), tmp185, (6, 1), (0, 6, 2, 3, 4, 5)) * -2 del tmp185 t3new += np.transpose(tmp199, (2, 0, 1, 4, 5, 3)) * -1 t3new += np.transpose(tmp195, (1, 0, 2, 5, 3, 4)) * -1 @@ -940,25 +940,25 @@ def update_amps(f=None, t1=None, t2=None, t3=None, v=None, **kwargs): t3new += np.transpose(tmp158, (0, 2, 1, 4, 5, 3)) * -1 t3new += np.transpose(tmp158, (0, 2, 1, 3, 5, 4)) t3new += einsum(t3, (0, 1, 2, 3, 4, 5), v.OVOV, (6, 7, 2, 4), (0, 6, 1, 3, 7, 5)) * -1 - t3new += einsum(t3, (0, 1, 2, 3, 4, 5), v.OOVV, (6, 1, 7, 4), (0, 6, 2, 3, 7, 5)) * -1 - t3new += einsum(tmp128, (0, 1, 2, 3), t3, (4, 1, 5, 6, 3, 7), (4, 0, 5, 6, 2, 7)) * -1 + t3new += einsum(v.OOVV, (0, 1, 2, 3), t3, (4, 1, 5, 6, 3, 7), (4, 0, 5, 6, 2, 7)) * -1 + t3new += einsum(t3, (0, 1, 2, 3, 4, 5), tmp128, (6, 1, 7, 4), (0, 6, 2, 3, 7, 5)) * -1 t3new += einsum(t3, (0, 1, 2, 3, 4, 5), tmp130, (6, 1, 7, 4), (0, 6, 2, 3, 7, 5)) del tmp130 t3new += np.transpose(tmp129, (0, 2, 1, 5, 3, 4)) t3new += np.transpose(tmp129, (0, 2, 1, 4, 3, 5)) * -1 del tmp129 - t3new += einsum(tmp128, (0, 1, 2, 3), t3, (4, 5, 1, 6, 3, 7), (4, 0, 5, 6, 2, 7)) + t3new += einsum(t3, (0, 1, 2, 3, 4, 5), tmp128, (6, 2, 7, 4), (0, 6, 1, 3, 7, 5)) del tmp128 t3new += np.transpose(tmp251, (1, 0, 2, 5, 3, 4)) t3new += np.transpose(tmp251, (1, 0, 2, 4, 3, 5)) * -1 - t3new += einsum(tmp250, (0, 1, 2, 3), t3, (4, 5, 1, 6, 3, 7), (4, 0, 5, 6, 2, 7)) + t3new += einsum(t3, (0, 1, 2, 3, 4, 5), tmp250, (6, 2, 7, 4), (0, 6, 1, 3, 7, 5)) t3new += np.transpose(tmp255, (1, 0, 2, 5, 3, 4)) * -2 t3new += np.transpose(tmp255, (1, 0, 2, 4, 3, 5)) * 2 t3new += np.transpose(tmp271, (1, 0, 2, 4, 3, 5)) * -2 del tmp271 t3new += einsum(t3, (0, 1, 2, 3, 4, 5), tmp239, (6, 1, 7, 4), (0, 6, 2, 3, 7, 5)) del tmp239 - t3new += einsum(tmp250, (0, 1, 2, 3), t3, (4, 1, 5, 6, 3, 7), (4, 0, 5, 6, 2, 7)) * -1 + t3new += einsum(t3, (0, 1, 2, 3, 4, 5), tmp250, (6, 1, 7, 4), (0, 6, 2, 3, 7, 5)) * -1 del tmp250 t3new += einsum(t3, (0, 1, 2, 3, 4, 5), tmp252, (6, 1, 7, 4), (0, 6, 2, 3, 7, 5)) * -1 t3new += np.transpose(tmp272, (2, 0, 1, 4, 3, 5)) * -2 @@ -1142,10 +1142,10 @@ def update_amps(f=None, t1=None, t2=None, t3=None, v=None, **kwargs): del tmp289 t3new += einsum(t3, (0, 1, 2, 3, 4, 5), tmp188, (6, 1, 7, 4), (0, 6, 2, 3, 7, 5)) del tmp188 - t3new += einsum(t3, (0, 1, 2, 3, 4, 5), tmp191, (6, 1, 7, 4), (0, 6, 2, 3, 7, 5)) * -1 + t3new += einsum(tmp191, (0, 1, 2, 3), t3, (4, 1, 5, 6, 3, 7), (4, 0, 5, 6, 2, 7)) * -1 t3new += np.transpose(tmp192, (1, 0, 2, 5, 3, 4)) t3new += np.transpose(tmp192, (1, 0, 2, 4, 3, 5)) * -1 - t3new += einsum(t3, (0, 1, 2, 3, 4, 5), tmp191, (6, 2, 7, 4), (0, 6, 1, 3, 7, 5)) + t3new += einsum(tmp191, (0, 1, 2, 3), t3, (4, 5, 1, 6, 3, 7), (4, 0, 5, 6, 2, 7)) del tmp191 t3new += np.transpose(tmp288, (0, 2, 1, 5, 4, 3)) * -1 t3new += np.transpose(tmp290, (0, 2, 1, 5, 4, 3)) @@ -1408,7 +1408,7 @@ def update_amps(f=None, t1=None, t2=None, t3=None, v=None, **kwargs): del tmp29 t2new += tmp32 t2new += tmp33 * -2 - t2new += einsum(tmp34, (0, 1, 2, 3), t1, (1, 4), (2, 0, 3, 4)) + t2new += einsum(tmp34, (0, 1, 2, 3), t1, (1, 4), (0, 2, 4, 3)) del tmp34 t2new += np.transpose(tmp28, (0, 1, 3, 2)) * -1 del tmp28 @@ -1497,12 +1497,12 @@ def update_amps(f=None, t1=None, t2=None, t3=None, v=None, **kwargs): del tmp84 t2new += np.transpose(tmp75, (0, 1, 3, 2)) del tmp75 - t2new += einsum(tmp98, (0, 1, 2, 3), t1, (4, 2), (4, 0, 1, 3)) + t2new += einsum(t1, (0, 1), tmp98, (2, 3, 1, 4), (0, 2, 3, 4)) del tmp98 t2new += tmp100 del tmp100 t2new += np.transpose(tmp102, (1, 0, 3, 2)) * -1 - t2new += einsum(t1, (0, 1), tmp103, (2, 3, 0, 4), (2, 3, 1, 4)) + t2new += einsum(tmp103, (0, 1, 2, 3), t1, (2, 4), (0, 1, 4, 3)) del tmp103 t2new += np.transpose(tmp104, (0, 1, 3, 2)) * -1 t2new += np.transpose(tmp105, (0, 1, 3, 2)) * 2 @@ -1588,9 +1588,9 @@ def update_amps(f=None, t1=None, t2=None, t3=None, v=None, **kwargs): t1new += tmp17 * -2 del tmp17 t1new += einsum(t1, (0, 1), f.oo, (2, 0), (2, 1)) * -1 - t1new += einsum(t2, (0, 1, 2, 3), f.ov, (1, 2), (0, 3)) * -1 + t1new += einsum(f.ov, (0, 1), t2, (2, 0, 1, 3), (2, 3)) * -1 t1new += einsum(t2, (0, 1, 2, 3), f.ov, (1, 3), (0, 2)) * 2 - t1new += einsum(v.oovv, (0, 1, 2, 3), t1, (1, 3), (0, 2)) * -1 + t1new += einsum(t1, (0, 1), v.oovv, (2, 0, 3, 1), (2, 3)) * -1 t1new += tmp18 del tmp18 t1new += tmp19 * -2 @@ -1604,15 +1604,15 @@ def update_amps(f=None, t1=None, t2=None, t3=None, v=None, **kwargs): del tmp25 t1new += einsum(t1, (0, 1), tmp26, (2, 0), (2, 1)) del tmp26 - t1new += einsum(t1, (0, 1), tmp27, (2, 0), (2, 1)) * -2 + t1new += einsum(tmp27, (0, 1), t1, (1, 2), (0, 2)) * -2 del tmp27 - t2new += _inflate(t2new.shape, np.ix_(sO, sO, sv, sV), t2new_OOvV) - t2new += _inflate(t2new.shape, np.ix_(sO, so, sV, sV), t2new_OoVV) + t2new += _inflate(t2new.shape, np.ix_(sO, sO, sV, sV), t2new_OOVV) t1new += _inflate(t1new.shape, np.ix_(sO, sV), t1new_OV) - t2new += _inflate(t2new.shape, np.ix_(so, sO, sV, sV), t2new_oOVV) t2new += _inflate(t2new.shape, np.ix_(sO, sO, sV, sv), t2new_OOVv) - t2new += _inflate(t2new.shape, np.ix_(sO, sO, sV, sV), t2new_OOVV) + t2new += _inflate(t2new.shape, np.ix_(sO, so, sV, sV), t2new_OoVV) + t2new += _inflate(t2new.shape, np.ix_(sO, sO, sv, sV), t2new_OOvV) + t2new += _inflate(t2new.shape, np.ix_(so, sO, sV, sV), t2new_oOVV) return {f"t1new": t1new, f"t2new": t2new, f"t3new": t3new} diff --git a/ebcc/codegen/bootstrap_CC2.py b/ebcc/codegen/bootstrap_CC2.py index 72df1ba4..339414d6 100644 --- a/ebcc/codegen/bootstrap_CC2.py +++ b/ebcc/codegen/bootstrap_CC2.py @@ -5,21 +5,24 @@ import sys import pdaggerq -from albert.qc._pdaggerq import import_from_pdaggerq -from albert.qc.index import Index +from albert.qc._pdaggerq import remove_reference_energy, remove_reference_energy_eom +from albert.qc.spin import ghf_to_uhf, ghf_to_rhf +from albert.qc import ghf, uhf, rhf from albert.tensor import Tensor +from albert.index import Index +from albert.code._ebcc import EBCCCodeGenerator +from albert.misc import Stopwatch +from albert.opt.tools import _tensor_info -from ebcc.codegen.bootstrap_common import * +from ebcc.codegen.bootstrap_common import get_energy, get_amplitudes, get_rdm1, get_rdm2, get_eom # Get the spin case spin = sys.argv[1] # Set up the code generators code_generators = { - "einsum": EinsumCodeGen( + "einsum": EBCCCodeGenerator( stdout=open(f"{spin[0].upper()}CC2.py", "w"), - name_generator=name_generators[spin], - spin=spin, ), } @@ -39,22 +42,17 @@ pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() terms = pq.fully_contracted_strings() - terms = remove_hf_energy(terms) + terms = remove_reference_energy(terms) # Get the energy in albert format - expr = import_from_pdaggerq(terms) - expr = spin_integrate(expr, spin) - output = tuple(Tensor(name="e_cc") for _ in range(len(expr))) - output, expr = optimise(output, expr, spin, strategy="exhaust") - returns = (Tensor(name="e_cc"),) + output_expr, returns = get_energy(terms, spin) # Generate the energy code for codegen in code_generators.values(): codegen( "energy", returns, - output, - expr, + output_expr, ) with Stopwatch("T amplitudes"): @@ -75,37 +73,15 @@ terms_t2 = pq.fully_contracted_strings() # Get the T amplitudes in albert format - terms = [terms_t1, terms_t2] - expr = [] - output = [] - returns = [] - for n in range(2): - for index_spins in get_amplitude_spins(n + 1, spin): - indices = default_indices["o"][: n + 1] + default_indices["v"][: n + 1] - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) - expr_n = spin_integrate(expr_n, spin) - output_n = get_t_amplitude_outputs(expr_n, f"t{n+1}new") - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"t{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - output, expr = optimise(output, expr, spin, strategy="exhaust") + output_expr, returns = get_amplitudes([terms_t1, terms_t2], spin) # Generate the T amplitude code for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "preamble": "t1new = Namespace()\nt2new = Namespace()" if spin == "uhf" else None, - "as_dict": True, - } - else: - kwargs = {} codegen( "update_amps", returns, - output, - expr, - **kwargs, + output_expr, + as_dict=True, ) with Stopwatch("L amplitudes"): @@ -138,37 +114,15 @@ terms_l2 = pq.fully_contracted_strings() # Get the L amplitudes in albert format - terms = [terms_l1, terms_l2] - expr = [] - output = [] - returns = [] - for n in range(2): - for index_spins in get_amplitude_spins(n + 1, spin): - indices = default_indices["v"][: n + 1] + default_indices["o"][: n + 1] - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) - expr_n = spin_integrate(expr_n, spin) - output_n = get_l_amplitude_outputs(expr_n, f"l{n+1}new") - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"l{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - output, expr = optimise(output, expr, spin, strategy="opt") + output_expr, returns = get_amplitudes([terms_l1, terms_l2], spin, strategy="opt" if spin == "uhf" else "exhaust", which="l") # Generate the L amplitude code for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "preamble": "l1new = Namespace()\nl2new = Namespace()" if spin == "uhf" else None, - "as_dict": True, - } - else: - kwargs = {} codegen( "update_lams", returns, - output, - expr, - **kwargs, + output_expr, + as_dict=True, ) with Stopwatch("1RDM"): @@ -182,37 +136,40 @@ terms[sectors, indices] = pq.fully_contracted_strings() # Get the 1RDM in albert format - expr = [] - output = [] - returns = [] - for sectors, indices in [("oo", "ij"), ("ov", "ia"), ("vo", "ai"), ("vv", "ab")]: - for index_spins in get_density_spins(1, spin, indices): - expr_n = import_from_pdaggerq(terms[sectors, indices], index_spins=index_spins) - expr_n = spin_integrate(expr_n, spin) - if spin == "rhf": - expr_n = tuple(e * 2 for e in expr_n) - output_n = get_density_outputs(expr_n, f"d", indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i], space=s) for i, s in zip(indices, sectors)), name=f"d"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - output, expr = optimise(output, expr, spin, strategy="exhaust") + output_expr, returns, deltas, deltas_sources = get_rdm1(terms, spin) # Generate the 1RDM code for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "preamble": get_density_einsum_preamble(1, spin), - "postamble": get_density_einsum_postamble(1, spin), - } - else: - kwargs = {} + def preamble(): + done = set() + for delta, delta_source in zip(deltas, deltas_sources): + if delta in done: + continue + shape_source_index = 0 if delta.external_indices[0].space == "o" else 1 + codegen.tensor_declaration( + delta, + is_identity=True, + shape_source=delta_source, + shape_source_index=shape_source_index, + ) + codegen._tensor_declared.add(_tensor_info(delta)) + done.add(delta) + + def postamble(): + if name != "einsum": + raise NotImplementedError # FIXME remove packing + if spin != "uhf": + codegen.write("rdm1 = np.block([[rdm1.oo, rdm1.ov], [rdm1.vo, rdm1.vv]])") + else: + codegen.write("rdm1.aa = np.block([[rdm1.aa.oo, rdm1.aa.ov], [rdm1.aa.vo, rdm1.aa.vv]])") + codegen.write("rdm1.bb = np.block([[rdm1.bb.oo, rdm1.bb.ov], [rdm1.bb.vo, rdm1.bb.vv]])") + codegen( "make_rdm1_f", returns, - output, - expr, - **kwargs, + output_expr, + preamble=preamble, + postamble=postamble, ) with Stopwatch("2RDM"): @@ -245,50 +202,42 @@ terms[sectors, indices] = pq.fully_contracted_strings() # Get the 2RDM in albert format - expr = [] - output = [] - returns = [] - for sectors, indices in [ - ("oooo", "ijkl"), - ("ooov", "ijka"), - ("oovo", "ijak"), - ("ovoo", "iajk"), - ("vooo", "aijk"), - ("oovv", "ijab"), - ("ovov", "iajb"), - ("ovvo", "iabj"), - ("voov", "aijb"), - ("vovo", "aibj"), - ("vvoo", "abij"), - ("ovvv", "iabc"), - ("vovv", "aibc"), - ("vvov", "abic"), - ("vvvo", "abci"), - ("vvvv", "abcd"), - ]: - for index_spins in get_density_spins(2, spin, indices): - expr_n = import_from_pdaggerq(terms[sectors, indices], index_spins=index_spins) - expr_n = spin_integrate(expr_n, spin) - output_n = get_density_outputs(expr_n, f"Γ", indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i], space=s) for i, s in zip(indices, sectors)), name=f"Γ"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - output, expr = optimise(output, expr, spin, strategy="trav") + output_expr, returns, deltas, deltas_sources = get_rdm2(terms, spin, strategy="trav" if spin == "uhf" else "exhaust") # Generate the 2RDM code for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "preamble": get_density_einsum_preamble(2, spin), - "postamble": get_density_einsum_postamble(2, spin), - } + def preamble(): + done = set() + for delta, delta_source in zip(deltas, deltas_sources): + if delta in done: + continue + shape_source_index = 0 if delta.external_indices[0].space == "o" else 1 + codegen.tensor_declaration( + delta, + is_identity=True, + shape_source=delta_source, + shape_source_index=shape_source_index, + ) + codegen._tensor_declared.add(_tensor_info(delta)) + done.add(delta) + + def postamble(): + if name != "einsum": + raise NotImplementedError # FIXME remove packing, handle transpose + if spin != "uhf": + codegen.write("rdm2 = pack_2e(rdm2.oooo, rdm2.ooov, rdm2.oovo, rdm2.ovoo, rdm2.vooo, rdm2.oovv, rdm2.ovov, rdm2.ovvo, rdm2.voov, rdm2.vovo, rdm2.vvoo, rdm2.ovvv, rdm2.vovv, rdm2.vvov, rdm2.vvvo, rdm2.vvvv).transpose((0, 2, 1, 3))") + else: + codegen.write("rdm2.aaaa = pack_2e(rdm2.aaaa.oooo, rdm2.aaaa.ooov, rdm2.aaaa.oovo, rdm2.aaaa.ovoo, rdm2.aaaa.vooo, rdm2.aaaa.oovv, rdm2.aaaa.ovov, rdm2.aaaa.ovvo, rdm2.aaaa.voov, rdm2.aaaa.vovo, rdm2.aaaa.vvoo, rdm2.aaaa.ovvv, rdm2.aaaa.vovv, rdm2.aaaa.vvov, rdm2.aaaa.vvvo, rdm2.aaaa.vvvv).transpose((0, 2, 1, 3))") + codegen.write("rdm2.aabb = pack_2e(rdm2.abab.oooo, rdm2.abab.ooov, rdm2.abab.oovo, rdm2.abab.ovoo, rdm2.abab.vooo, rdm2.abab.oovv, rdm2.abab.ovov, rdm2.abab.ovvo, rdm2.abab.voov, rdm2.abab.vovo, rdm2.abab.vvoo, rdm2.abab.ovvv, rdm2.abab.vovv, rdm2.abab.vvov, rdm2.abab.vvvo, rdm2.abab.vvvv).transpose((0, 2, 1, 3))") + codegen.write("rdm2.bbbb = pack_2e(rdm2.bbbb.oooo, rdm2.bbbb.ooov, rdm2.bbbb.oovo, rdm2.bbbb.ovoo, rdm2.bbbb.vooo, rdm2.bbbb.oovv, rdm2.bbbb.ovov, rdm2.bbbb.ovvo, rdm2.bbbb.voov, rdm2.bbbb.vovo, rdm2.bbbb.vvoo, rdm2.bbbb.ovvv, rdm2.bbbb.vovv, rdm2.bbbb.vvov, rdm2.bbbb.vvvo, rdm2.bbbb.vvvv).transpose((0, 2, 1, 3))") + codegen.write("del rdm2.abab") + codegen( "make_rdm2_f", returns, - output, - expr, - **kwargs, + output_expr, + preamble=preamble, + postamble=postamble, ) with Stopwatch("IP-EOM"): @@ -301,7 +250,7 @@ pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() terms_r1 = pq.fully_contracted_strings() - terms_r1 = remove_e0_eom(terms_r1) + terms_r1 = remove_reference_energy_eom(terms_r1) # Get the R2 contractions in pdaggerq format pq.clear() @@ -312,60 +261,27 @@ pq.add_st_operator(1.0, ["v"], ["t2"]) pq.simplify() terms_r2 = pq.fully_contracted_strings() - terms_r2 = remove_e0_eom(terms_r2) + terms_r2 = remove_reference_energy_eom(terms_r2) # Get the R amplitudes in albert format - terms = [terms_r1, terms_r2] - expr = [] - output = [] - returns = [] - for n in range(2): - for index_spins in get_amplitude_spins(n + 1, spin, which="ip"): - indices = default_indices["o"][: n + 1] + default_indices["v"][: n] - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) - expr_n = spin_integrate(expr_n, spin) - output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - - (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="exhaust") + output_expr_nr, returns_nr, output_expr_r, returns_r = get_eom([terms_r1, terms_r2], spin, strategy="exhaust", which="ip") # Generate the R amplitude intermediates code for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "as_dict": True, - } - else: - kwargs = {} codegen( "hbar_matvec_ip_intermediates", returns_nr, - output_nr, - expr_nr, - **kwargs, + output_expr_nr, + as_dict=True, ) # Generate the R amplitude code for name, codegen in code_generators.items(): - if name == "einsum": - preamble = "ints = kwargs[\"ints\"]" - if spin == "uhf": - preamble += "\nr1new = Namespace()\nr2new = Namespace()" - kwargs = { - "preamble": preamble, - "as_dict": True, - } - else: - kwargs = {} codegen( "hbar_matvec_ip", returns_r, - output_r, - expr_r, - **kwargs, + output_expr_r, + as_dict=True, ) with Stopwatch("EA-EOM"): @@ -378,7 +294,7 @@ pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() terms_r1 = pq.fully_contracted_strings() - terms_r1 = remove_e0_eom(terms_r1) + terms_r1 = remove_reference_energy_eom(terms_r1) # Get the R2 contractions in pdaggerq format pq.clear() @@ -389,60 +305,27 @@ pq.add_st_operator(1.0, ["v"], ["t2"]) pq.simplify() terms_r2 = pq.fully_contracted_strings() - terms_r2 = remove_e0_eom(terms_r2) + terms_r2 = remove_reference_energy_eom(terms_r2) # Get the R amplitudes in albert format - terms = [terms_r1, terms_r2] - expr = [] - output = [] - returns = [] - for n in range(2): - for index_spins in get_amplitude_spins(n + 1, spin, which="ea"): - indices = default_indices["v"][: n + 1] + default_indices["o"][: n] - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) - expr_n = spin_integrate(expr_n, spin) - output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - - (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="exhaust") + output_expr_nr, returns_nr, output_expr_r, returns_r = get_eom([terms_r1, terms_r2], spin, strategy="exhaust", which="ea") # Generate the R amplitude intermediates code for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "as_dict": True, - } - else: - kwargs = {} codegen( "hbar_matvec_ea_intermediates", returns_nr, - output_nr, - expr_nr, - **kwargs, + output_expr_nr, + as_dict=True, ) # Generate the R amplitude code for name, codegen in code_generators.items(): - if name == "einsum": - preamble = "ints = kwargs[\"ints\"]" - if spin == "uhf": - preamble += "\nr1new = Namespace()\nr2new = Namespace()" - kwargs = { - "preamble": preamble, - "as_dict": True, - } - else: - kwargs = {} codegen( "hbar_matvec_ea", returns_r, - output_r, - expr_r, - **kwargs, + output_expr_r, + as_dict=True, ) if spin == "ghf": # FIXME @@ -456,7 +339,7 @@ pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() terms_r1 = pq.fully_contracted_strings() - terms_r1 = remove_e0_eom(terms_r1) + terms_r1 = remove_reference_energy_eom(terms_r1) # Get the R2 contractions in pdaggerq format pq.clear() @@ -467,60 +350,46 @@ pq.add_st_operator(1.0, ["v"], ["t2"]) pq.simplify() terms_r2 = pq.fully_contracted_strings() - terms_r2 = remove_e0_eom(terms_r2) + terms_r2 = remove_reference_energy_eom(terms_r2) # Get the R amplitudes in albert format - terms = [terms_r1, terms_r2] - expr = [] - output = [] - returns = [] - for n in range(2): - for index_spins in get_amplitude_spins(n + 1, spin, which="ee"): - indices = default_indices["o"][: n + 1] + default_indices["v"][: n + 1] - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) - expr_n = spin_integrate(expr_n, spin) - output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - - (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="trav") + returns_nr, output_expr_nr, returns_r, output_expr_r = get_eom([terms_r1, terms_r2], spin, strategy="trav", which="ee") # Generate the R amplitude intermediates code for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "as_dict": True, - } - else: - kwargs = {} codegen( "hbar_matvec_ee_intermediates", returns_nr, - output_nr, - expr_nr, - **kwargs, + output_expr_nr, + as_dict=True, ) # Generate the R amplitude code for name, codegen in code_generators.items(): - if name == "einsum": - preamble = "ints = kwargs[\"ints\"]" + def postamble(): if spin == "uhf": - preamble += "\nr1new = Namespace()\nr2new = Namespace()" - kwargs = { - "preamble": preamble, - "as_dict": True, - } - else: - kwargs = {} + r2_abab = Tensor( + Index("i", space="o", spin="a"), + Index("j", space="v", spin="b"), + Index("a", space="o", spin="a"), + Index("b", space="v", spin="b"), + name="r2new", + ) + r2_baba = Tensor( + Index("i", space="o", spin="b"), + Index("j", space="v", spin="a"), + Index("a", space="o", spin="b"), + Index("b", space="v", spin="a"), + name="r2new", + ) + codegen.tensor_expression(r2_baba, r2_abab, is_return=True) + codegen( "hbar_matvec_ee", returns_r, - output_r, - expr_r, - **kwargs, + output_expr_r, + postamble=postamble, + as_dict=True, ) with Stopwatch("L-IP-EOM"): @@ -533,7 +402,7 @@ pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() terms_r1 = pq.fully_contracted_strings() - terms_r1 = remove_e0_eom(terms_r1) + terms_r1 = remove_reference_energy_eom(terms_r1) # Get the L2 contractions in pdaggerq format pq.clear() @@ -544,60 +413,27 @@ pq.add_st_operator(1.0, ["v"], ["t2"]) pq.simplify() terms_r2 = pq.fully_contracted_strings() - terms_r2 = remove_e0_eom(terms_r2) + terms_r2 = remove_reference_energy_eom(terms_r2) # Get the L amplitudes in albert format - terms = [terms_r1, terms_r2] - expr = [] - output = [] - returns = [] - for n in range(2): - for index_spins in get_amplitude_spins(n + 1, spin, which="ip"): - indices = default_indices["o"][: n + 1] + default_indices["v"][: n] - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins, l_is_lambda=False) - expr_n = spin_integrate(expr_n, spin) - output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - - (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="exhaust") + returns_nr, output_expr_nr, returns_r, output_expr_r = get_eom([terms_r1, terms_r2], spin, strategy="exhaust", which="ip") # Generate the L amplitude intermediates code for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "as_dict": True, - } - else: - kwargs = {} codegen( "hbar_lmatvec_ip_intermediates", returns_nr, - output_nr, - expr_nr, - **kwargs, + output_expr_nr, + as_dict=True, ) # Generate the L amplitude code for name, codegen in code_generators.items(): - if name == "einsum": - preamble = "ints = kwargs[\"ints\"]" - if spin == "uhf": - preamble += "\nr1new = Namespace()\nr2new = Namespace()" - kwargs = { - "preamble": preamble, - "as_dict": True, - } - else: - kwargs = {} codegen( "hbar_lmatvec_ip", returns_r, - output_r, - expr_r, - **kwargs, + output_expr_r, + as_dict=True, ) with Stopwatch("L-EA-EOM"): @@ -610,7 +446,7 @@ pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() terms_r1 = pq.fully_contracted_strings() - terms_r1 = remove_e0_eom(terms_r1) + terms_r1 = remove_reference_energy_eom(terms_r1) # Get the L2 contractions in pdaggerq format pq.clear() @@ -621,60 +457,27 @@ pq.add_st_operator(1.0, ["v"], ["t2"]) pq.simplify() terms_r2 = pq.fully_contracted_strings() - terms_r2 = remove_e0_eom(terms_r2) + terms_r2 = remove_reference_energy_eom(terms_r2) # Get the L amplitudes in albert format - terms = [terms_r1, terms_r2] - expr = [] - output = [] - returns = [] - for n in range(2): - for index_spins in get_amplitude_spins(n + 1, spin, which="ea"): - indices = default_indices["v"][: n + 1] + default_indices["o"][: n] - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins, l_is_lambda=False) - expr_n = spin_integrate(expr_n, spin) - output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - - (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="exhaust") + returns_nr, output_expr_nr, returns_r, output_expr_r = get_eom([terms_r1, terms_r2], spin, strategy="exhaust", which="ea") # Generate the L amplitude intermediates code for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "as_dict": True, - } - else: - kwargs = {} codegen( "hbar_lmatvec_ea_intermediates", returns_nr, - output_nr, - expr_nr, - **kwargs, + output_expr_nr, + as_dict=True, ) # Generate the L amplitude code for name, codegen in code_generators.items(): - if name == "einsum": - preamble = "ints = kwargs[\"ints\"]" - if spin == "uhf": - preamble += "\nr1new = Namespace()\nr2new = Namespace()" - kwargs = { - "preamble": preamble, - "as_dict": True, - } - else: - kwargs = {} codegen( "hbar_lmatvec_ea", returns_r, - output_r, - expr_r, - **kwargs, + output_expr_r, + as_dict=True, ) if spin == "ghf": # FIXME @@ -688,7 +491,7 @@ pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() terms_r1 = pq.fully_contracted_strings() - terms_r1 = remove_e0_eom(terms_r1) + terms_r1 = remove_reference_energy_eom(terms_r1) # Get the L2 contractions in pdaggerq format pq.clear() @@ -699,60 +502,46 @@ pq.add_st_operator(1.0, ["v"], ["t2"]) pq.simplify() terms_r2 = pq.fully_contracted_strings() - terms_r2 = remove_e0_eom(terms_r2) + terms_r2 = remove_reference_energy_eom(terms_r2) # Get the L amplitudes in albert format - terms = [terms_r1, terms_r2] - expr = [] - output = [] - returns = [] - for n in range(2): - for index_spins in get_amplitude_spins(n + 1, spin, which="ee"): - indices = default_indices["o"][: n + 1] + default_indices["v"][: n + 1] - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins, l_is_lambda=False) - expr_n = spin_integrate(expr_n, spin) - output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - - (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="trav") + returns_nr, output_expr_nr, returns_r, output_expr_r = get_eom([terms_r1, terms_r2], spin, strategy="trav", which="ee") # Generate the L amplitude intermediates code for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "as_dict": True, - } - else: - kwargs = {} codegen( "hbar_lmatvec_ee_intermediates", returns_nr, - output_nr, - expr_nr, - **kwargs, + output_expr_nr, + as_dict=True, ) # Generate the L amplitude code for name, codegen in code_generators.items(): - if name == "einsum": - preamble = "ints = kwargs[\"ints\"]" + def postamble(): if spin == "uhf": - preamble += "\nr1new = Namespace()\nr2new = Namespace()" - kwargs = { - "preamble": preamble, - "as_dict": True, - } - else: - kwargs = {} + r2_abab = Tensor( + Index("i", space="o", spin="a"), + Index("j", space="v", spin="b"), + Index("a", space="o", spin="a"), + Index("b", space="v", spin="b"), + name="r2new", + ) + r2_baba = Tensor( + Index("i", space="o", spin="b"), + Index("j", space="v", spin="a"), + Index("a", space="o", spin="b"), + Index("b", space="v", spin="a"), + name="r2new", + ) + codegen.tensor_expression(r2_baba, r2_abab, is_return=True) + codegen( "hbar_lmatvec_ee", returns_r, - output_r, - expr_r, - **kwargs, + output_expr_r, + postamble=postamble, + as_dict=True, ) for codegen in code_generators.values(): diff --git a/ebcc/codegen/bootstrap_CC3.py b/ebcc/codegen/bootstrap_CC3.py index d1e05c7d..d21effa5 100644 --- a/ebcc/codegen/bootstrap_CC3.py +++ b/ebcc/codegen/bootstrap_CC3.py @@ -3,23 +3,26 @@ """ import sys -sys.setrecursionlimit(100000) import pdaggerq -from albert.qc._pdaggerq import import_from_pdaggerq +from albert.qc._pdaggerq import remove_reference_energy, remove_reference_energy_eom +from albert.qc.spin import ghf_to_uhf, ghf_to_rhf +from albert.qc import ghf, uhf, rhf from albert.tensor import Tensor +from albert.index import Index +from albert.code._ebcc import EBCCCodeGenerator +from albert.misc import Stopwatch +from albert.opt.tools import _tensor_info -from ebcc.codegen.bootstrap_common import * +from ebcc.codegen.bootstrap_common import get_energy, get_amplitudes, get_rdm1, get_rdm2, get_eom # Get the spin case spin = sys.argv[1] # Set up the code generators code_generators = { - "einsum": EinsumCodeGen( + "einsum": EBCCCodeGenerator( stdout=open(f"{spin[0].upper()}CC3.py", "w"), - name_generator=name_generators[spin], - spin=spin, ), } @@ -39,22 +42,17 @@ pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() terms = pq.fully_contracted_strings() - terms = remove_hf_energy(terms) + terms = remove_reference_energy(terms) # Get the energy in albert format - expr = import_from_pdaggerq(terms) - expr = spin_integrate(expr, spin) - output = tuple(Tensor(name="e_cc") for _ in range(len(expr))) - output, expr = optimise(output, expr, spin, strategy="exhaust") - returns = (Tensor(name="e_cc"),) + output_expr, returns = get_energy(terms, spin) # Generate the energy code for codegen in code_generators.values(): codegen( "energy", returns, - output, - expr, + output_expr, ) with Stopwatch("T amplitudes"): @@ -88,37 +86,15 @@ terms_t3 = pq.fully_contracted_strings() # Get the T amplitudes in albert format - terms = [terms_t1, terms_t2, terms_t3] - expr = [] - output = [] - returns = [] - for n in range(3): - for index_spins in get_amplitude_spins(n + 1, spin): - indices = default_indices["o"][: n + 1] + default_indices["v"][: n + 1] - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) - expr_n = spin_integrate(expr_n, spin) - output_n = get_t_amplitude_outputs(expr_n, f"t{n+1}new", indices=indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"t{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - output, expr = optimise(output, expr, spin, strategy="exhaust") + output_expr, returns = get_amplitudes([terms_t1, terms_t2, terms_t3], spin) # Generate the T amplitude code for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "preamble": "t1new = Namespace()\nt2new = Namespace()\nt3new = Namespace()" if spin == "uhf" else None, - "as_dict": True, - } - else: - kwargs = {} codegen( "update_amps", returns, - output, - expr, - **kwargs, + output_expr, + as_dict=True, ) for codegen in code_generators.values(): diff --git a/ebcc/codegen/bootstrap_CCD.py b/ebcc/codegen/bootstrap_CCD.py index 7de0d540..8dc678c2 100644 --- a/ebcc/codegen/bootstrap_CCD.py +++ b/ebcc/codegen/bootstrap_CCD.py @@ -5,21 +5,24 @@ import sys import pdaggerq -from albert.qc._pdaggerq import import_from_pdaggerq +from albert.qc._pdaggerq import remove_reference_energy, remove_reference_energy_eom +from albert.qc.spin import ghf_to_uhf, ghf_to_rhf +from albert.qc import ghf, uhf, rhf from albert.tensor import Tensor -from albert.algebra import Mul +from albert.index import Index +from albert.code._ebcc import EBCCCodeGenerator +from albert.misc import Stopwatch +from albert.opt.tools import _tensor_info -from ebcc.codegen.bootstrap_common import * +from ebcc.codegen.bootstrap_common import get_energy, get_amplitudes, get_rdm1, get_rdm2, get_eom # Get the spin case spin = sys.argv[1] # Set up the code generators code_generators = { - "einsum": EinsumCodeGen( + "einsum": EBCCCodeGenerator( stdout=open(f"{spin[0].upper()}CCD.py", "w"), - name_generator=name_generators[spin], - spin=spin, ), } @@ -39,22 +42,17 @@ pq.add_st_operator(1.0, ["v"], ["t2"]) pq.simplify() terms = pq.fully_contracted_strings() - terms = remove_hf_energy(terms) + terms = remove_reference_energy(terms) # Get the energy in albert format - expr = import_from_pdaggerq(terms) - expr = spin_integrate(expr, spin) - output = tuple(Tensor(name="e_cc") for _ in range(len(expr))) - output, expr = optimise(output, expr, spin, strategy="exhaust") - returns = (Tensor(name="e_cc"),) + output_expr, returns = get_energy(terms, spin) # Generate the energy code for codegen in code_generators.values(): codegen( "energy", returns, - output, - expr, + output_expr, ) with Stopwatch("T amplitudes"): @@ -67,35 +65,15 @@ terms = pq.fully_contracted_strings() # Get the T amplitudes in albert format - expr = [] - output = [] - returns = [] - for index_spins in get_amplitude_spins(2, spin): - indices = default_indices["o"][:2] + default_indices["v"][:2] - expr_n = import_from_pdaggerq(terms, index_spins=index_spins) - expr_n = spin_integrate(expr_n, spin) - output_n = get_t_amplitude_outputs(expr_n, f"t2new") - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"t2new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - output, expr = optimise(output, expr, spin, strategy="exhaust") + output_expr, returns = get_amplitudes([terms], spin, orders=[2]) # Generate the T amplitude code for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "preamble": "t2new = Namespace()" if spin == "uhf" else None, - "as_dict": True, - } - else: - kwargs = {} codegen( "update_amps", returns, - output, - expr, - **kwargs, + output_expr, + as_dict=True, ) with Stopwatch("L amplitudes"): @@ -114,35 +92,15 @@ terms = pq.fully_contracted_strings() # Get the L amplitudes in albert format - expr = [] - output = [] - returns = [] - for index_spins in get_amplitude_spins(2, spin): - indices = default_indices["v"][:2] + default_indices["o"][:2] - expr_n = import_from_pdaggerq(terms, index_spins=index_spins) - expr_n = spin_integrate(expr_n, spin) - output_n = get_l_amplitude_outputs(expr_n, f"l2new") - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"l2new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - output, expr = optimise(output, expr, spin, strategy="opt") + get_amplitudes([terms], spin, strategy="opt" if spin == "uhf" else "exhaust", which="l", orders=[2]) # Generate the L amplitude code for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "preamble": "l2new = Namespace()" if spin == "uhf" else None, - "as_dict": True, - } - else: - kwargs = {} codegen( "update_lams", returns, - output, - expr, - **kwargs, + output_expr, + as_dict=True, ) with Stopwatch("1RDM"): @@ -156,51 +114,40 @@ terms[sectors, indices] = pq.fully_contracted_strings() # Get the 1RDM in albert format - expr = [] - output = [] - returns = [] - for sectors, indices in [("oo", "ij"), ("ov", "ia"), ("vo", "ai"), ("vv", "ab")]: - for index_spins in get_density_spins(1, spin, indices): - expr_n = import_from_pdaggerq(terms[sectors, indices], index_spins=index_spins) - if not (isinstance(expr_n, int) and expr_n == 0): - expr_n = spin_integrate(expr_n, spin) - if spin == "rhf": - expr_n = tuple(e * 2 for e in expr_n) - output_n = get_density_outputs(expr_n, f"d", indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i], space=s) for i, s in zip(indices, sectors)), name=f"d"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - output, expr = optimise(output, expr, spin, strategy="exhaust") + output_expr, returns, deltas, deltas_sources = get_rdm1(terms, spin) # Generate the 1RDM code for name, codegen in code_generators.items(): - if name == "einsum": - def get_postamble(n, spin, name="rdm{n}"): - nm = name.format(n=n) - postamble = "" - if spin != "uhf": - for occ in ("ov", "vo"): - shape = ", ".join(f"t2.shape[{'0' if o == 'o' else '-1'}]" for o in occ) - postamble += f"{nm}.{occ} = np.zeros(({shape}))\n" - else: - for s in "ab": - for occ in ("ov", "vo"): - shape = ", ".join(f"t2.{s}{s}{s}{s}.shape[{'0' if o == 'o' else '-1'}]" for o in occ) - postamble += f"{nm}.{s}{s}.{occ} = np.zeros(({shape}))\n" - return postamble + get_density_einsum_postamble(n, spin) - kwargs = { - "preamble": get_density_einsum_preamble(1, spin), - "postamble": get_postamble(1, spin), - } - else: - kwargs = {} + def preamble(): + done = set() + for delta, delta_source in zip(deltas, deltas_sources): + if delta in done: + continue + shape_source_index = 0 if delta.external_indices[0].space == "o" else 1 + codegen.tensor_declaration( + delta, + is_identity=True, + shape_source=delta_source, + shape_source_index=shape_source_index, + ) + codegen._tensor_declared.add(_tensor_info(delta)) + done.add(delta) + + def postamble(): + if name != "einsum": + raise NotImplementedError # FIXME remove packing + if spin != "uhf": + codegen.write("rdm1 = np.block([[rdm1.oo, rdm1.ov], [rdm1.vo, rdm1.vv]])") + else: + codegen.write("rdm1.aa = np.block([[rdm1.aa.oo, rdm1.aa.ov], [rdm1.aa.vo, rdm1.aa.vv]])") + codegen.write("rdm1.bb = np.block([[rdm1.bb.oo, rdm1.bb.ov], [rdm1.bb.vo, rdm1.bb.vv]])") + codegen( "make_rdm1_f", returns, - output, - expr, - **kwargs, + output_expr, + preamble=preamble, + postamble=postamble, ) with Stopwatch("2RDM"): @@ -233,64 +180,42 @@ def get_postamble(n, spin, name="rdm{n}"): terms[sectors, indices] = pq.fully_contracted_strings() # Get the 2RDM in albert format - expr = [] - output = [] - returns = [] - for sectors, indices in [ - ("oooo", "ijkl"), - ("ooov", "ijka"), - ("oovo", "ijak"), - ("ovoo", "iajk"), - ("vooo", "aijk"), - ("oovv", "ijab"), - ("ovov", "iajb"), - ("ovvo", "iabj"), - ("voov", "aijb"), - ("vovo", "aibj"), - ("vvoo", "abij"), - ("ovvv", "iabc"), - ("vovv", "aibc"), - ("vvov", "abic"), - ("vvvo", "abci"), - ("vvvv", "abcd"), - ]: - for index_spins in get_density_spins(2, spin, indices): - expr_n = import_from_pdaggerq(terms[sectors, indices], index_spins=index_spins) - if not (isinstance(expr_n, int) and expr_n == 0): - expr_n = spin_integrate(expr_n, spin) - output_n = get_density_outputs(expr_n, f"Γ", indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i], space=s) for i, s in zip(indices, sectors)), name=f"Γ"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - output, expr = optimise(output, expr, spin, strategy="trav") + output_expr, returns, deltas, deltas_sources = get_rdm2(terms, spin, strategy="trav" if spin == "uhf" else "exhaust") # Generate the 2RDM code for name, codegen in code_generators.items(): - if name == "einsum": - def get_postamble(n, spin, name="rdm{n}"): - nm = name.format(n=n) - postamble = "" - if spin != "uhf": - for occ in ("ooov", "oovo", "ovoo", "vooo", "ovvv", "vovv", "vvov", "vvvo"): - shape = ", ".join(f"t2.shape[{'0' if o == 'o' else '-1'}]" for o in occ) - postamble += f"{nm}.{occ} = np.zeros(({shape}))\n" - else: - for s1, s2 in [("a", "a"), ("a", "b"), ("b", "b")]: - for occ in ("ooov", "oovo", "ovoo", "vooo", "ovvv", "vovv", "vvov", "vvvo"): - shape = ", ".join(f"t2.{s}{s}{s}{s}.shape[{'0' if o == 'o' else '-1'}]" for o, s in zip(occ, s1+s2+s1+s2)) - postamble += f"{nm}.{s1}{s2}{s1}{s2}.{occ} = np.zeros(({shape}))\n" - return postamble + get_density_einsum_postamble(n, spin) - kwargs = { - "preamble": get_density_einsum_preamble(2, spin), - "postamble": get_postamble(2, spin), - } + def preamble(): + done = set() + for delta, delta_source in zip(deltas, deltas_sources): + if delta in done: + continue + shape_source_index = 0 if delta.external_indices[0].space == "o" else 1 + codegen.tensor_declaration( + delta, + is_identity=True, + shape_source=delta_source, + shape_source_index=shape_source_index, + ) + codegen._tensor_declared.add(_tensor_info(delta)) + done.add(delta) + + def postamble(): + if name != "einsum": + raise NotImplementedError # FIXME remove packing, handle transpose + if spin != "uhf": + codegen.write("rdm2 = pack_2e(rdm2.oooo, rdm2.ooov, rdm2.oovo, rdm2.ovoo, rdm2.vooo, rdm2.oovv, rdm2.ovov, rdm2.ovvo, rdm2.voov, rdm2.vovo, rdm2.vvoo, rdm2.ovvv, rdm2.vovv, rdm2.vvov, rdm2.vvvo, rdm2.vvvv).transpose((0, 2, 1, 3))") + else: + codegen.write("rdm2.aaaa = pack_2e(rdm2.aaaa.oooo, rdm2.aaaa.ooov, rdm2.aaaa.oovo, rdm2.aaaa.ovoo, rdm2.aaaa.vooo, rdm2.aaaa.oovv, rdm2.aaaa.ovov, rdm2.aaaa.ovvo, rdm2.aaaa.voov, rdm2.aaaa.vovo, rdm2.aaaa.vvoo, rdm2.aaaa.ovvv, rdm2.aaaa.vovv, rdm2.aaaa.vvov, rdm2.aaaa.vvvo, rdm2.aaaa.vvvv).transpose((0, 2, 1, 3))") + codegen.write("rdm2.aabb = pack_2e(rdm2.abab.oooo, rdm2.abab.ooov, rdm2.abab.oovo, rdm2.abab.ovoo, rdm2.abab.vooo, rdm2.abab.oovv, rdm2.abab.ovov, rdm2.abab.ovvo, rdm2.abab.voov, rdm2.abab.vovo, rdm2.abab.vvoo, rdm2.abab.ovvv, rdm2.abab.vovv, rdm2.abab.vvov, rdm2.abab.vvvo, rdm2.abab.vvvv).transpose((0, 2, 1, 3))") + codegen.write("rdm2.bbbb = pack_2e(rdm2.bbbb.oooo, rdm2.bbbb.ooov, rdm2.bbbb.oovo, rdm2.bbbb.ovoo, rdm2.bbbb.vooo, rdm2.bbbb.oovv, rdm2.bbbb.ovov, rdm2.bbbb.ovvo, rdm2.bbbb.voov, rdm2.bbbb.vovo, rdm2.bbbb.vvoo, rdm2.bbbb.ovvv, rdm2.bbbb.vovv, rdm2.bbbb.vvov, rdm2.bbbb.vvvo, rdm2.bbbb.vvvv).transpose((0, 2, 1, 3))") + codegen.write("del rdm2.abab") + codegen( "make_rdm2_f", returns, - output, - expr, - **kwargs, + output_expr, + preamble=preamble, + postamble=postamble, ) with Stopwatch("IP-EOM"): @@ -303,7 +228,7 @@ def get_postamble(n, spin, name="rdm{n}"): pq.add_st_operator(1.0, ["v"], ["t2"]) pq.simplify() terms_r1 = pq.fully_contracted_strings() - terms_r1 = remove_e0_eom(terms_r1) + terms_r1 = remove_reference_energy_eom(terms_r1) # Get the R2 contractions in pdaggerq format pq.clear() @@ -314,60 +239,27 @@ def get_postamble(n, spin, name="rdm{n}"): pq.add_st_operator(1.0, ["v"], ["t2"]) pq.simplify() terms_r2 = pq.fully_contracted_strings() - terms_r2 = remove_e0_eom(terms_r2) + terms_r2 = remove_reference_energy_eom(terms_r2) # Get the R amplitudes in albert format - terms = [terms_r1, terms_r2] - expr = [] - output = [] - returns = [] - for n in range(2): - for index_spins in get_amplitude_spins(n + 1, spin, which="ip"): - indices = default_indices["o"][: n + 1] + default_indices["v"][: n] - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) - expr_n = spin_integrate(expr_n, spin) - output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - - (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="exhaust") + output_expr_nr, returns_nr, output_expr_r, returns_r = get_eom([terms_r1, terms_r2], spin, strategy="exhaust", which="ip") # Generate the R amplitude intermediates code for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "as_dict": True, - } - else: - kwargs = {} codegen( "hbar_matvec_ip_intermediates", returns_nr, - output_nr, - expr_nr, - **kwargs, + output_expr_nr, + as_dict=True, ) # Generate the R amplitude code for name, codegen in code_generators.items(): - if name == "einsum": - preamble = "ints = kwargs[\"ints\"]" - if spin == "uhf": - preamble += "\nr1new = Namespace()\nr2new = Namespace()" - kwargs = { - "preamble": preamble, - "as_dict": True, - } - else: - kwargs = {} codegen( "hbar_matvec_ip", returns_r, - output_r, - expr_r, - **kwargs, + output_expr_r, + as_dict=True, ) with Stopwatch("EA-EOM"): @@ -380,7 +272,7 @@ def get_postamble(n, spin, name="rdm{n}"): pq.add_st_operator(1.0, ["v"], ["t2"]) pq.simplify() terms_r1 = pq.fully_contracted_strings() - terms_r1 = remove_e0_eom(terms_r1) + terms_r1 = remove_reference_energy_eom(terms_r1) # Get the R2 contractions in pdaggerq format pq.clear() @@ -391,60 +283,27 @@ def get_postamble(n, spin, name="rdm{n}"): pq.add_st_operator(1.0, ["v"], ["t2"]) pq.simplify() terms_r2 = pq.fully_contracted_strings() - terms_r2 = remove_e0_eom(terms_r2) + terms_r2 = remove_reference_energy_eom(terms_r2) # Get the R amplitudes in albert format - terms = [terms_r1, terms_r2] - expr = [] - output = [] - returns = [] - for n in range(2): - for index_spins in get_amplitude_spins(n + 1, spin, which="ea"): - indices = default_indices["v"][: n + 1] + default_indices["o"][: n] - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) - expr_n = spin_integrate(expr_n, spin) - output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - - (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="exhaust") + output_expr_nr, returns_nr, output_expr_r, returns_r = get_eom([terms_r1, terms_r2], spin, strategy="exhaust", which="ea") # Generate the R amplitude intermediates code for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "as_dict": True, - } - else: - kwargs = {} codegen( "hbar_matvec_ea_intermediates", returns_nr, - output_nr, - expr_nr, - **kwargs, + output_expr_nr, + as_dict=True, ) # Generate the R amplitude code for name, codegen in code_generators.items(): - if name == "einsum": - preamble = "ints = kwargs[\"ints\"]" - if spin == "uhf": - preamble += "\nr1new = Namespace()\nr2new = Namespace()" - kwargs = { - "preamble": preamble, - "as_dict": True, - } - else: - kwargs = {} codegen( "hbar_matvec_ea", returns_r, - output_r, - expr_r, - **kwargs, + output_expr_r, + as_dict=True, ) if spin == "ghf": # FIXME @@ -458,7 +317,7 @@ def get_postamble(n, spin, name="rdm{n}"): pq.add_st_operator(1.0, ["v"], ["t2"]) pq.simplify() terms_r1 = pq.fully_contracted_strings() - terms_r1 = remove_e0_eom(terms_r1) + terms_r1 = remove_reference_energy_eom(terms_r1) # Get the R2 contractions in pdaggerq format pq.clear() @@ -469,60 +328,46 @@ def get_postamble(n, spin, name="rdm{n}"): pq.add_st_operator(1.0, ["v"], ["t2"]) pq.simplify() terms_r2 = pq.fully_contracted_strings() - terms_r2 = remove_e0_eom(terms_r2) + terms_r2 = remove_reference_energy_eom(terms_r2) # Get the R amplitudes in albert format - terms = [terms_r1, terms_r2] - expr = [] - output = [] - returns = [] - for n in range(2): - for index_spins in get_amplitude_spins(n + 1, spin, which="ee"): - indices = default_indices["o"][: n + 1] + default_indices["v"][: n + 1] - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) - expr_n = spin_integrate(expr_n, spin) - output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - - (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="trav") + returns_nr, output_expr_nr, returns_r, output_expr_r = get_eom([terms_r1, terms_r2], spin, strategy="trav", which="ee") # Generate the R amplitude intermediates code for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "as_dict": True, - } - else: - kwargs = {} codegen( "hbar_matvec_ee_intermediates", returns_nr, - output_nr, - expr_nr, - **kwargs, + output_expr_nr, + as_dict=True, ) # Generate the R amplitude code for name, codegen in code_generators.items(): - if name == "einsum": - preamble = "ints = kwargs[\"ints\"]" + def postamble(): if spin == "uhf": - preamble += "\nr1new = Namespace()\nr2new = Namespace()" - kwargs = { - "preamble": preamble, - "as_dict": True, - } - else: - kwargs = {} + r2_abab = Tensor( + Index("i", space="o", spin="a"), + Index("j", space="v", spin="b"), + Index("a", space="o", spin="a"), + Index("b", space="v", spin="b"), + name="r2new", + ) + r2_baba = Tensor( + Index("i", space="o", spin="b"), + Index("j", space="v", spin="a"), + Index("a", space="o", spin="b"), + Index("b", space="v", spin="a"), + name="r2new", + ) + codegen.tensor_expression(r2_baba, r2_abab, is_return=True) + codegen( "hbar_matvec_ee", returns_r, - output_r, - expr_r, - **kwargs, + output_expr_r, + postamble=postamble, + as_dict=True, ) with Stopwatch("L-IP-EOM"): @@ -535,7 +380,7 @@ def get_postamble(n, spin, name="rdm{n}"): pq.add_st_operator(1.0, ["v"], ["t2"]) pq.simplify() terms_r1 = pq.fully_contracted_strings() - terms_r1 = remove_e0_eom(terms_r1) + terms_r1 = remove_reference_energy_eom(terms_r1) # Get the L2 contractions in pdaggerq format pq.clear() @@ -546,60 +391,27 @@ def get_postamble(n, spin, name="rdm{n}"): pq.add_st_operator(1.0, ["v"], ["t2"]) pq.simplify() terms_r2 = pq.fully_contracted_strings() - terms_r2 = remove_e0_eom(terms_r2) + terms_r2 = remove_reference_energy_eom(terms_r2) # Get the L amplitudes in albert format - terms = [terms_r1, terms_r2] - expr = [] - output = [] - returns = [] - for n in range(2): - for index_spins in get_amplitude_spins(n + 1, spin, which="ip"): - indices = default_indices["o"][: n + 1] + default_indices["v"][: n] - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins, l_is_lambda=False) - expr_n = spin_integrate(expr_n, spin) - output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - - (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="exhaust") + returns_nr, output_expr_nr, returns_r, output_expr_r = get_eom([terms_r1, terms_r2], spin, strategy="exhaust", which="ip") # Generate the L amplitude intermediates code for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "as_dict": True, - } - else: - kwargs = {} codegen( "hbar_lmatvec_ip_intermediates", returns_nr, - output_nr, - expr_nr, - **kwargs, + output_expr_nr, + as_dict=True, ) # Generate the L amplitude code for name, codegen in code_generators.items(): - if name == "einsum": - preamble = "ints = kwargs[\"ints\"]" - if spin == "uhf": - preamble += "\nr1new = Namespace()\nr2new = Namespace()" - kwargs = { - "preamble": preamble, - "as_dict": True, - } - else: - kwargs = {} codegen( "hbar_lmatvec_ip", returns_r, - output_r, - expr_r, - **kwargs, + output_expr_r, + as_dict=True, ) with Stopwatch("L-EA-EOM"): @@ -612,7 +424,7 @@ def get_postamble(n, spin, name="rdm{n}"): pq.add_st_operator(1.0, ["v"], ["t2"]) pq.simplify() terms_r1 = pq.fully_contracted_strings() - terms_r1 = remove_e0_eom(terms_r1) + terms_r1 = remove_reference_energy_eom(terms_r1) # Get the L2 contractions in pdaggerq format pq.clear() @@ -623,60 +435,27 @@ def get_postamble(n, spin, name="rdm{n}"): pq.add_st_operator(1.0, ["v"], ["t2"]) pq.simplify() terms_r2 = pq.fully_contracted_strings() - terms_r2 = remove_e0_eom(terms_r2) + terms_r2 = remove_reference_energy_eom(terms_r2) # Get the L amplitudes in albert format - terms = [terms_r1, terms_r2] - expr = [] - output = [] - returns = [] - for n in range(2): - for index_spins in get_amplitude_spins(n + 1, spin, which="ea"): - indices = default_indices["v"][: n + 1] + default_indices["o"][: n] - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins, l_is_lambda=False) - expr_n = spin_integrate(expr_n, spin) - output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - - (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="exhaust") + returns_nr, output_expr_nr, returns_r, output_expr_r = get_eom([terms_r1, terms_r2], spin, strategy="exhaust", which="ea") # Generate the L amplitude intermediates code for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "as_dict": True, - } - else: - kwargs = {} codegen( "hbar_lmatvec_ea_intermediates", returns_nr, - output_nr, - expr_nr, - **kwargs, + output_expr_nr, + as_dict=True, ) # Generate the L amplitude code for name, codegen in code_generators.items(): - if name == "einsum": - preamble = "ints = kwargs[\"ints\"]" - if spin == "uhf": - preamble += "\nr1new = Namespace()\nr2new = Namespace()" - kwargs = { - "preamble": preamble, - "as_dict": True, - } - else: - kwargs = {} codegen( "hbar_lmatvec_ea", returns_r, - output_r, - expr_r, - **kwargs, + output_expr_r, + as_dict=True, ) if spin == "ghf": # FIXME @@ -690,7 +469,7 @@ def get_postamble(n, spin, name="rdm{n}"): pq.add_st_operator(1.0, ["v"], ["t2"]) pq.simplify() terms_r1 = pq.fully_contracted_strings() - terms_r1 = remove_e0_eom(terms_r1) + terms_r1 = remove_reference_energy_eom(terms_r1) # Get the L2 contractions in pdaggerq format pq.clear() @@ -701,60 +480,46 @@ def get_postamble(n, spin, name="rdm{n}"): pq.add_st_operator(1.0, ["v"], ["t2"]) pq.simplify() terms_r2 = pq.fully_contracted_strings() - terms_r2 = remove_e0_eom(terms_r2) + terms_r2 = remove_reference_energy_eom(terms_r2) # Get the L amplitudes in albert format - terms = [terms_r1, terms_r2] - expr = [] - output = [] - returns = [] - for n in range(2): - for index_spins in get_amplitude_spins(n + 1, spin, which="ee"): - indices = default_indices["o"][: n + 1] + default_indices["v"][: n + 1] - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins, l_is_lambda=False) - expr_n = spin_integrate(expr_n, spin) - output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - - (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="trav") + returns_nr, output_expr_nr, returns_r, output_expr_r = get_eom([terms_r1, terms_r2], spin, strategy="trav", which="ee") # Generate the L amplitude intermediates code for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "as_dict": True, - } - else: - kwargs = {} codegen( "hbar_lmatvec_ee_intermediates", returns_nr, - output_nr, - expr_nr, - **kwargs, + output_expr_nr, + as_dict=True, ) # Generate the L amplitude code for name, codegen in code_generators.items(): - if name == "einsum": - preamble = "ints = kwargs[\"ints\"]" + def postamble(): if spin == "uhf": - preamble += "\nr1new = Namespace()\nr2new = Namespace()" - kwargs = { - "preamble": preamble, - "as_dict": True, - } - else: - kwargs = {} + r2_abab = Tensor( + Index("i", space="o", spin="a"), + Index("j", space="v", spin="b"), + Index("a", space="o", spin="a"), + Index("b", space="v", spin="b"), + name="r2new", + ) + r2_baba = Tensor( + Index("i", space="o", spin="b"), + Index("j", space="v", spin="a"), + Index("a", space="o", spin="b"), + Index("b", space="v", spin="a"), + name="r2new", + ) + codegen.tensor_expression(r2_baba, r2_abab, is_return=True) + codegen( "hbar_lmatvec_ee", returns_r, - output_r, - expr_r, - **kwargs, + output_expr_r, + postamble=postamble, + as_dict=True, ) for codegen in code_generators.values(): diff --git a/ebcc/codegen/bootstrap_CCSD.py b/ebcc/codegen/bootstrap_CCSD.py index 79a7974a..364ad5de 100644 --- a/ebcc/codegen/bootstrap_CCSD.py +++ b/ebcc/codegen/bootstrap_CCSD.py @@ -5,32 +5,24 @@ import sys import pdaggerq -from albert.qc._pdaggerq import import_from_pdaggerq, remove_reference_energy -from albert.qc.spin import ghf_to_uhf, ghf_to_rhf, get_amplitude_spins, get_density_spins +from albert.qc._pdaggerq import remove_reference_energy, remove_reference_energy_eom +from albert.qc.spin import ghf_to_uhf, ghf_to_rhf from albert.qc import ghf, uhf, rhf from albert.tensor import Tensor from albert.index import Index from albert.code._ebcc import EBCCCodeGenerator from albert.misc import Stopwatch -from albert.opt import optimise +from albert.opt.tools import _tensor_info + +from ebcc.codegen.bootstrap_common import get_energy, get_amplitudes, get_rdm1, get_rdm2, get_eom # Get the spin case spin = sys.argv[1] -spin_integrate = { - "ghf": lambda *args, **kwargs: args, - "uhf": ghf_to_uhf, - "rhf": lambda *args, **kwargs: (ghf_to_rhf(*args, **kwargs),), -}[spin] -spin_module = { - "ghf": ghf, - "uhf": uhf, - "rhf": rhf, -}[spin] # Set up the code generators code_generators = { "einsum": EBCCCodeGenerator( - #stdout=open(f"{spin[0].upper()}CCSD.py", "w"), + stdout=open(f"{spin[0].upper()}CCSD.py", "w"), ), } @@ -53,11 +45,7 @@ terms = remove_reference_energy(terms) # Get the energy in albert format - expr = import_from_pdaggerq(terms) - expr = spin_integrate(expr) - output = tuple(Tensor(name="e_cc") for _ in range(len(expr))) - output_expr = optimise(output, expr, strategy="exhaust") - returns = (Tensor(name="e_cc"),) + output_expr, returns = get_energy(terms, spin) # Generate the energy code for codegen in code_generators.values(): @@ -67,103 +55,75 @@ output_expr, ) -#with Stopwatch("T amplitudes"): -# # Get the T1 contractions in pdaggerq format -# pq.clear() -# pq.set_left_operators([["e1(i,a)"]]) -# pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) -# pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) -# pq.simplify() -# terms_t1 = pq.fully_contracted_strings() -# -# # Get the T2 contractions in pdaggerq format -# pq.clear() -# pq.set_left_operators([["e2(i,j,b,a)"]]) -# pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) -# pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) -# pq.simplify() -# terms_t2 = pq.fully_contracted_strings() -# -# # Get the T amplitudes in albert format -# terms = [terms_t1, terms_t2] -# expr = [] -# output = [] -# returns = [] -# for n in range(2): -# indices = "ijkl"[: n + 1] + "abcd"[: n + 1] -# for index_spins in get_amplitude_spins(indices[: n + 1], indices[n + 1 :], spin): -# expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) -# expr_n = spin_integrate(expr_n) -# output_n = [Tensor(*tuple(sorted(e.external_indices, key=lambda i: indices.index(i.name))), name=f"t{n+1}new") for e in expr_n] -# returns_n = (output_n[0],) -# expr.extend(expr_n) -# output.extend(output_n) -# returns.extend(returns_n) -# output_expr = optimise(output, expr, strategy="exhaust") -# -# # Generate the T amplitude code -# for name, codegen in code_generators.items(): -# codegen( -# "update_amps", -# returns, -# output_expr, -# as_dict=True, -# ) -# -#with Stopwatch("L amplitudes"): -# # Get the L1 contractions in pdaggerq format -# pq.clear() -# pq.set_left_operators([["1"]]) -# pq.set_right_operators([["1"]]) -# pq.add_st_operator(1.0, ["f", "e1(a,i)"], ["t1", "t2"]) -# pq.add_st_operator(1.0, ["v", "e1(a,i)"], ["t1", "t2"]) -# pq.set_left_operators([["l1"], ["l2"]]) -# pq.add_st_operator(1.0, ["f", "e1(a,i)"], ["t1", "t2"]) -# pq.add_st_operator(1.0, ["v", "e1(a,i)"], ["t1", "t2"]) -# pq.add_st_operator(-1.0, ["e1(a,i)", "f"], ["t1", "t2"]) -# pq.add_st_operator(-1.0, ["e1(a,i)", "v"], ["t1", "t2"]) -# pq.simplify() -# terms_l1 = pq.fully_contracted_strings() -# -# # Get the L2 contractions in pdaggerq format -# pq.clear() -# pq.set_left_operators([["1"]]) -# pq.set_right_operators([["1"]]) -# pq.add_st_operator(1.0, ["f", "e2(a,b,j,i)"], ["t1", "t2"]) -# pq.add_st_operator(1.0, ["v", "e2(a,b,j,i)"], ["t1", "t2"]) -# pq.set_left_operators([["l1"], ["l2"]]) -# pq.add_st_operator(1.0, ["f", "e2(a,b,j,i)"], ["t1", "t2"]) -# pq.add_st_operator(1.0, ["v", "e2(a,b,j,i)"], ["t1", "t2"]) -# pq.add_st_operator(-1.0, ["e2(a,b,j,i)", "f"], ["t1", "t2"]) -# pq.add_st_operator(-1.0, ["e2(a,b,j,i)", "v"], ["t1", "t2"]) -# pq.simplify() -# terms_l2 = pq.fully_contracted_strings() -# -# # Get the L amplitudes in albert format -# terms = [terms_l1, terms_l2] -# expr = [] -# output = [] -# returns = [] -# for n in range(2): -# indices = "abcd"[: n + 1] + "ijkl"[: n + 1] -# for index_spins in get_amplitude_spins(indices[: n + 1], indices[n + 1 :], spin): -# expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) -# expr_n = spin_integrate(expr_n) -# output_n = [Tensor(*tuple(sorted(e.external_indices, key=lambda i: indices.index(i.name))), name=f"l{n+1}new") for e in expr_n] -# returns_n = (output_n[0],) -# expr.extend(expr_n) -# output.extend(output_n) -# returns.extend(returns_n) -# output_expr = optimise(output, expr, strategy="opt") -# -# # Generate the L amplitude code -# for name, codegen in code_generators.items(): -# codegen( -# "update_lams", -# returns, -# output_expr, -# as_dict=True, -# ) +with Stopwatch("T amplitudes"): + # Get the T1 contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["e1(i,a)"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) + pq.simplify() + terms_t1 = pq.fully_contracted_strings() + + # Get the T2 contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["e2(i,j,b,a)"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) + pq.simplify() + terms_t2 = pq.fully_contracted_strings() + + # Get the T amplitudes in albert format + output_expr, returns = get_amplitudes([terms_t1, terms_t2], spin) + + # Generate the T amplitude code + for name, codegen in code_generators.items(): + codegen( + "update_amps", + returns, + output_expr, + as_dict=True, + ) + +with Stopwatch("L amplitudes"): + # Get the L1 contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["1"]]) + pq.set_right_operators([["1"]]) + pq.add_st_operator(1.0, ["f", "e1(a,i)"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v", "e1(a,i)"], ["t1", "t2"]) + pq.set_left_operators([["l1"], ["l2"]]) + pq.add_st_operator(1.0, ["f", "e1(a,i)"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v", "e1(a,i)"], ["t1", "t2"]) + pq.add_st_operator(-1.0, ["e1(a,i)", "f"], ["t1", "t2"]) + pq.add_st_operator(-1.0, ["e1(a,i)", "v"], ["t1", "t2"]) + pq.simplify() + terms_l1 = pq.fully_contracted_strings() + + # Get the L2 contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["1"]]) + pq.set_right_operators([["1"]]) + pq.add_st_operator(1.0, ["f", "e2(a,b,j,i)"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v", "e2(a,b,j,i)"], ["t1", "t2"]) + pq.set_left_operators([["l1"], ["l2"]]) + pq.add_st_operator(1.0, ["f", "e2(a,b,j,i)"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v", "e2(a,b,j,i)"], ["t1", "t2"]) + pq.add_st_operator(-1.0, ["e2(a,b,j,i)", "f"], ["t1", "t2"]) + pq.add_st_operator(-1.0, ["e2(a,b,j,i)", "v"], ["t1", "t2"]) + pq.simplify() + terms_l2 = pq.fully_contracted_strings() + + # Get the L amplitudes in albert format + output_expr, returns = get_amplitudes([terms_l1, terms_l2], spin, strategy="opt" if spin == "uhf" else "exhaust", which="l") + + # Generate the L amplitude code + for name, codegen in code_generators.items(): + codegen( + "update_lams", + returns, + output_expr, + as_dict=True, + ) with Stopwatch("1RDM"): # Get the 1RDM contractions in pdaggerq format @@ -176,38 +136,40 @@ terms[sectors, indices] = pq.fully_contracted_strings() # Get the 1RDM in albert format - expr = [] - output = [] - returns = [] - deltas = [] - deltas_sources = [] - for sectors, indices in [("oo", "ij"), ("ov", "ia"), ("vo", "ai"), ("vv", "ab")]: - for index_spins in get_density_spins(indices, spin): - expr_n = import_from_pdaggerq(terms[sectors, indices], index_spins=index_spins) - expr_n = spin_integrate(expr_n) - if spin == "rhf": - expr_n = tuple(e * 2 for e in expr_n) - output_n = [Tensor(*tuple(sorted(e.external_indices, key=lambda i: indices.index(i.name))), name=f"d") for e in expr_n] - returns_n = (output_n[0],) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - if len(set(sectors)) == 1: - delta = spin_module.Delta(*tuple(sorted(expr_n[0].external_indices, key=lambda i: indices.index(i.name)))) - deltas.append(delta) - deltas_sources.append(next(expr_n[0].search_leaves(spin_module.T1))) - output_expr = optimise(output, expr, strategy="exhaust") + output_expr, returns, deltas, deltas_sources = get_rdm1(terms, spin) # Generate the 1RDM code for name, codegen in code_generators.items(): - for delta, delta_source in zip(deltas, deltas_sources): - codegen.tensor_declaration( - delta, is_identity=True, shape_source=delta_source, shape_source_index=0 - ) + def preamble(): + done = set() + for delta, delta_source in zip(deltas, deltas_sources): + if delta in done: + continue + shape_source_index = 0 if delta.external_indices[0].space == "o" else 1 + codegen.tensor_declaration( + delta, + is_identity=True, + shape_source=delta_source, + shape_source_index=shape_source_index, + ) + codegen._tensor_declared.add(_tensor_info(delta)) + done.add(delta) + + def postamble(): + if name != "einsum": + raise NotImplementedError # FIXME remove packing + if spin != "uhf": + codegen.write("rdm1 = np.block([[rdm1.oo, rdm1.ov], [rdm1.vo, rdm1.vv]])") + else: + codegen.write("rdm1.aa = np.block([[rdm1.aa.oo, rdm1.aa.ov], [rdm1.aa.vo, rdm1.aa.vv]])") + codegen.write("rdm1.bb = np.block([[rdm1.bb.oo, rdm1.bb.ov], [rdm1.bb.vo, rdm1.bb.vv]])") + codegen( "make_rdm1_f", returns, output_expr, + preamble=preamble, + postamble=postamble, ) with Stopwatch("2RDM"): @@ -240,53 +202,42 @@ terms[sectors, indices] = pq.fully_contracted_strings() # Get the 2RDM in albert format - expr = [] - output = [] - returns = [] - deltas = [] - deltas_sources = [] - for sectors, indices in [ - ("oooo", "ijkl"), - ("ooov", "ijka"), - ("oovo", "ijak"), - ("ovoo", "iajk"), - ("vooo", "aijk"), - ("oovv", "ijab"), - ("ovov", "iajb"), - ("ovvo", "iabj"), - ("voov", "aijb"), - ("vovo", "aibj"), - ("vvoo", "abij"), - ("ovvv", "iabc"), - ("vovv", "aibc"), - ("vvov", "abic"), - ("vvvo", "abci"), - ("vvvv", "abcd"), - ]: - for index_spins in get_density_spins(indices): - expr_n = import_from_pdaggerq(terms[sectors, indices], index_spins=index_spins) - expr_n = spin_integrate(expr_n) - output_n = [Tensor(*tuple(sorted(e.external_indices, key=lambda i: indices.index(i.name))), name=f"Γ") for e in expr_n] - returns_n = (output_n[0],) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - if len(set(sectors)) == 1: - delta = spin_module.Delta(*tuple(sorted(expr_n[0].external_indices, key=lambda i: indices.index(i.name)))) - deltas.append(delta) - deltas_sources.append(next(expr_n[0].search_leaves(spin_module.T1))) - output_expr = optimise(output, expr, strategy="trav") + output_expr, returns, deltas, deltas_sources = get_rdm2(terms, spin, strategy="trav" if spin == "uhf" else "exhaust") # Generate the 2RDM code for name, codegen in code_generators.items(): - for delta, delta_source in zip(deltas, deltas_sources): - codegen.tensor_declaration( - delta, is_identity=True, shape_source=delta_source, shape_source_index=0 - ) + def preamble(): + done = set() + for delta, delta_source in zip(deltas, deltas_sources): + if delta in done: + continue + shape_source_index = 0 if delta.external_indices[0].space == "o" else 1 + codegen.tensor_declaration( + delta, + is_identity=True, + shape_source=delta_source, + shape_source_index=shape_source_index, + ) + codegen._tensor_declared.add(_tensor_info(delta)) + done.add(delta) + + def postamble(): + if name != "einsum": + raise NotImplementedError # FIXME remove packing, handle transpose + if spin != "uhf": + codegen.write("rdm2 = pack_2e(rdm2.oooo, rdm2.ooov, rdm2.oovo, rdm2.ovoo, rdm2.vooo, rdm2.oovv, rdm2.ovov, rdm2.ovvo, rdm2.voov, rdm2.vovo, rdm2.vvoo, rdm2.ovvv, rdm2.vovv, rdm2.vvov, rdm2.vvvo, rdm2.vvvv).transpose((0, 2, 1, 3))") + else: + codegen.write("rdm2.aaaa = pack_2e(rdm2.aaaa.oooo, rdm2.aaaa.ooov, rdm2.aaaa.oovo, rdm2.aaaa.ovoo, rdm2.aaaa.vooo, rdm2.aaaa.oovv, rdm2.aaaa.ovov, rdm2.aaaa.ovvo, rdm2.aaaa.voov, rdm2.aaaa.vovo, rdm2.aaaa.vvoo, rdm2.aaaa.ovvv, rdm2.aaaa.vovv, rdm2.aaaa.vvov, rdm2.aaaa.vvvo, rdm2.aaaa.vvvv).transpose((0, 2, 1, 3))") + codegen.write("rdm2.aabb = pack_2e(rdm2.abab.oooo, rdm2.abab.ooov, rdm2.abab.oovo, rdm2.abab.ovoo, rdm2.abab.vooo, rdm2.abab.oovv, rdm2.abab.ovov, rdm2.abab.ovvo, rdm2.abab.voov, rdm2.abab.vovo, rdm2.abab.vvoo, rdm2.abab.ovvv, rdm2.abab.vovv, rdm2.abab.vvov, rdm2.abab.vvvo, rdm2.abab.vvvv).transpose((0, 2, 1, 3))") + codegen.write("rdm2.bbbb = pack_2e(rdm2.bbbb.oooo, rdm2.bbbb.ooov, rdm2.bbbb.oovo, rdm2.bbbb.ovoo, rdm2.bbbb.vooo, rdm2.bbbb.oovv, rdm2.bbbb.ovov, rdm2.bbbb.ovvo, rdm2.bbbb.voov, rdm2.bbbb.vovo, rdm2.bbbb.vvoo, rdm2.bbbb.ovvv, rdm2.bbbb.vovv, rdm2.bbbb.vvov, rdm2.bbbb.vvvo, rdm2.bbbb.vvvv).transpose((0, 2, 1, 3))") + codegen.write("del rdm2.abab") + codegen( "make_rdm2_f", returns, output_expr, + preamble=preamble, + postamble=postamble, ) with Stopwatch("IP-EOM"): @@ -299,7 +250,7 @@ pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() terms_r1 = pq.fully_contracted_strings() - terms_r1 = remove_e0_eom(terms_r1) + terms_r1 = remove_reference_energy_eom(terms_r1) # Get the R2 contractions in pdaggerq format pq.clear() @@ -310,60 +261,27 @@ pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() terms_r2 = pq.fully_contracted_strings() - terms_r2 = remove_e0_eom(terms_r2) + terms_r2 = remove_reference_energy_eom(terms_r2) # Get the R amplitudes in albert format - terms = [terms_r1, terms_r2] - expr = [] - output = [] - returns = [] - for n in range(2): - for index_spins in get_amplitude_spins(n + 1, spin, which="ip"): - indices = default_indices["o"][: n + 1] + default_indices["v"][: n] - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) - expr_n = spin_integrate(expr_n, spin) - output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - - (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="exhaust") + output_expr_nr, returns_nr, output_expr_r, returns_r = get_eom([terms_r1, terms_r2], spin, strategy="exhaust", which="ip") # Generate the R amplitude intermediates code for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "as_dict": True, - } - else: - kwargs = {} codegen( "hbar_matvec_ip_intermediates", returns_nr, - output_nr, - expr_nr, - **kwargs, + output_expr_nr, + as_dict=True, ) # Generate the R amplitude code for name, codegen in code_generators.items(): - if name == "einsum": - preamble = "ints = kwargs[\"ints\"]" - if spin == "uhf": - preamble += "\nr1new = Namespace()\nr2new = Namespace()" - kwargs = { - "preamble": preamble, - "as_dict": True, - } - else: - kwargs = {} codegen( "hbar_matvec_ip", returns_r, - output_r, - expr_r, - **kwargs, + output_expr_r, + as_dict=True, ) with Stopwatch("EA-EOM"): @@ -376,7 +294,7 @@ pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() terms_r1 = pq.fully_contracted_strings() - terms_r1 = remove_e0_eom(terms_r1) + terms_r1 = remove_reference_energy_eom(terms_r1) # Get the R2 contractions in pdaggerq format pq.clear() @@ -387,60 +305,27 @@ pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() terms_r2 = pq.fully_contracted_strings() - terms_r2 = remove_e0_eom(terms_r2) + terms_r2 = remove_reference_energy_eom(terms_r2) # Get the R amplitudes in albert format - terms = [terms_r1, terms_r2] - expr = [] - output = [] - returns = [] - for n in range(2): - for index_spins in get_amplitude_spins(n + 1, spin, which="ea"): - indices = default_indices["v"][: n + 1] + default_indices["o"][: n] - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) - expr_n = spin_integrate(expr_n, spin) - output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - - (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="exhaust") + output_expr_nr, returns_nr, output_expr_r, returns_r = get_eom([terms_r1, terms_r2], spin, strategy="exhaust", which="ea") # Generate the R amplitude intermediates code for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "as_dict": True, - } - else: - kwargs = {} codegen( "hbar_matvec_ea_intermediates", returns_nr, - output_nr, - expr_nr, - **kwargs, + output_expr_nr, + as_dict=True, ) # Generate the R amplitude code for name, codegen in code_generators.items(): - if name == "einsum": - preamble = "ints = kwargs[\"ints\"]" - if spin == "uhf": - preamble += "\nr1new = Namespace()\nr2new = Namespace()" - kwargs = { - "preamble": preamble, - "as_dict": True, - } - else: - kwargs = {} codegen( "hbar_matvec_ea", returns_r, - output_r, - expr_r, - **kwargs, + output_expr_r, + as_dict=True, ) if spin == "ghf": # FIXME @@ -454,7 +339,7 @@ pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() terms_r1 = pq.fully_contracted_strings() - terms_r1 = remove_e0_eom(terms_r1) + terms_r1 = remove_reference_energy_eom(terms_r1) # Get the R2 contractions in pdaggerq format pq.clear() @@ -465,61 +350,46 @@ pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() terms_r2 = pq.fully_contracted_strings() - terms_r2 = remove_e0_eom(terms_r2) + terms_r2 = remove_reference_energy_eom(terms_r2) # Get the R amplitudes in albert format - terms = [terms_r1, terms_r2] - expr = [] - output = [] - returns = [] - for n in range(2): - for index_spins in get_amplitude_spins(n + 1, spin, which="ee"): - indices = default_indices["o"][: n + 1] + default_indices["v"][: n + 1] - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) - expr_n = spin_integrate(expr_n, spin) - output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - - (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="trav") + returns_nr, output_expr_nr, returns_r, output_expr_r = get_eom([terms_r1, terms_r2], spin, strategy="trav", which="ee") # Generate the R amplitude intermediates code for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "as_dict": True, - } - else: - kwargs = {} codegen( "hbar_matvec_ee_intermediates", returns_nr, - output_nr, - expr_nr, - **kwargs, + output_expr_nr, + as_dict=True, ) # Generate the R amplitude code for name, codegen in code_generators.items(): - if name == "einsum": - preamble = "ints = kwargs[\"ints\"]" + def postamble(): if spin == "uhf": - preamble += "\nr1new = Namespace()\nr2new = Namespace()" - kwargs = { - "preamble": preamble, - "postamble": "r2new.baba = np.transpose(r2new.abab, (1, 0, 3, 2))" if spin == "uhf" else None, # FIXME - "as_dict": True, - } - else: - kwargs = {} + r2_abab = Tensor( + Index("i", space="o", spin="a"), + Index("j", space="v", spin="b"), + Index("a", space="o", spin="a"), + Index("b", space="v", spin="b"), + name="r2new", + ) + r2_baba = Tensor( + Index("i", space="o", spin="b"), + Index("j", space="v", spin="a"), + Index("a", space="o", spin="b"), + Index("b", space="v", spin="a"), + name="r2new", + ) + codegen.tensor_expression(r2_baba, r2_abab, is_return=True) + codegen( "hbar_matvec_ee", returns_r, - output_r, - expr_r, - **kwargs, + output_expr_r, + postamble=postamble, + as_dict=True, ) with Stopwatch("L-IP-EOM"): @@ -532,7 +402,7 @@ pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() terms_r1 = pq.fully_contracted_strings() - terms_r1 = remove_e0_eom(terms_r1) + terms_r1 = remove_reference_energy_eom(terms_r1) # Get the L2 contractions in pdaggerq format pq.clear() @@ -543,60 +413,27 @@ pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() terms_r2 = pq.fully_contracted_strings() - terms_r2 = remove_e0_eom(terms_r2) + terms_r2 = remove_reference_energy_eom(terms_r2) # Get the L amplitudes in albert format - terms = [terms_r1, terms_r2] - expr = [] - output = [] - returns = [] - for n in range(2): - for index_spins in get_amplitude_spins(n + 1, spin, which="ip"): - indices = default_indices["o"][: n + 1] + default_indices["v"][: n] - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins, l_is_lambda=False) - expr_n = spin_integrate(expr_n, spin) - output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - - (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="exhaust") + returns_nr, output_expr_nr, returns_r, output_expr_r = get_eom([terms_r1, terms_r2], spin, strategy="exhaust", which="ip") # Generate the L amplitude intermediates code for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "as_dict": True, - } - else: - kwargs = {} codegen( "hbar_lmatvec_ip_intermediates", returns_nr, - output_nr, - expr_nr, - **kwargs, + output_expr_nr, + as_dict=True, ) # Generate the L amplitude code for name, codegen in code_generators.items(): - if name == "einsum": - preamble = "ints = kwargs[\"ints\"]" - if spin == "uhf": - preamble += "\nr1new = Namespace()\nr2new = Namespace()" - kwargs = { - "preamble": preamble, - "as_dict": True, - } - else: - kwargs = {} codegen( "hbar_lmatvec_ip", returns_r, - output_r, - expr_r, - **kwargs, + output_expr_r, + as_dict=True, ) with Stopwatch("L-EA-EOM"): @@ -609,7 +446,7 @@ pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() terms_r1 = pq.fully_contracted_strings() - terms_r1 = remove_e0_eom(terms_r1) + terms_r1 = remove_reference_energy_eom(terms_r1) # Get the L2 contractions in pdaggerq format pq.clear() @@ -620,60 +457,27 @@ pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() terms_r2 = pq.fully_contracted_strings() - terms_r2 = remove_e0_eom(terms_r2) + terms_r2 = remove_reference_energy_eom(terms_r2) # Get the L amplitudes in albert format - terms = [terms_r1, terms_r2] - expr = [] - output = [] - returns = [] - for n in range(2): - for index_spins in get_amplitude_spins(n + 1, spin, which="ea"): - indices = default_indices["v"][: n + 1] + default_indices["o"][: n] - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins, l_is_lambda=False) - expr_n = spin_integrate(expr_n, spin) - output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - - (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="exhaust") + returns_nr, output_expr_nr, returns_r, output_expr_r = get_eom([terms_r1, terms_r2], spin, strategy="exhaust", which="ea") # Generate the L amplitude intermediates code for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "as_dict": True, - } - else: - kwargs = {} codegen( "hbar_lmatvec_ea_intermediates", returns_nr, - output_nr, - expr_nr, - **kwargs, + output_expr_nr, + as_dict=True, ) # Generate the L amplitude code for name, codegen in code_generators.items(): - if name == "einsum": - preamble = "ints = kwargs[\"ints\"]" - if spin == "uhf": - preamble += "\nr1new = Namespace()\nr2new = Namespace()" - kwargs = { - "preamble": preamble, - "as_dict": True, - } - else: - kwargs = {} codegen( "hbar_lmatvec_ea", returns_r, - output_r, - expr_r, - **kwargs, + output_expr_r, + as_dict=True, ) if spin == "ghf": # FIXME @@ -687,7 +491,7 @@ pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() terms_r1 = pq.fully_contracted_strings() - terms_r1 = remove_e0_eom(terms_r1) + terms_r1 = remove_reference_energy_eom(terms_r1) # Get the L2 contractions in pdaggerq format pq.clear() @@ -698,128 +502,48 @@ pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() terms_r2 = pq.fully_contracted_strings() - terms_r2 = remove_e0_eom(terms_r2) + terms_r2 = remove_reference_energy_eom(terms_r2) # Get the L amplitudes in albert format - terms = [terms_r1, terms_r2] - expr = [] - output = [] - returns = [] - for n in range(2): - for index_spins in get_amplitude_spins(n + 1, spin, which="ee"): - indices = default_indices["o"][: n + 1] + default_indices["v"][: n + 1] - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins, l_is_lambda=False) - expr_n = spin_integrate(expr_n, spin) - output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - - (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="trav") + returns_nr, output_expr_nr, returns_r, output_expr_r = get_eom([terms_r1, terms_r2], spin, strategy="trav", which="ee") # Generate the L amplitude intermediates code for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "as_dict": True, - } - else: - kwargs = {} codegen( "hbar_lmatvec_ee_intermediates", returns_nr, - output_nr, - expr_nr, - **kwargs, + output_expr_nr, + as_dict=True, ) # Generate the L amplitude code for name, codegen in code_generators.items(): - if name == "einsum": - preamble = "ints = kwargs[\"ints\"]" + def postamble(): if spin == "uhf": - preamble += "\nr1new = Namespace()\nr2new = Namespace()" - kwargs = { - "preamble": preamble, - "postamble": "r2new.baba = np.transpose(r2new.abab, (1, 0, 3, 2))" if spin == "uhf" else None, # FIXME - "as_dict": True, - } - else: - kwargs = {} + r2_abab = Tensor( + Index("i", space="o", spin="a"), + Index("j", space="v", spin="b"), + Index("a", space="o", spin="a"), + Index("b", space="v", spin="b"), + name="r2new", + ) + r2_baba = Tensor( + Index("i", space="o", spin="b"), + Index("j", space="v", spin="a"), + Index("a", space="o", spin="b"), + Index("b", space="v", spin="a"), + name="r2new", + ) + codegen.tensor_expression(r2_baba, r2_abab, is_return=True) + codegen( "hbar_lmatvec_ee", returns_r, - output_r, - expr_r, - **kwargs, + output_expr_r, + postamble=postamble, + as_dict=True, ) -#with Stopwatch("1TDM (GS -> EE)"): -# # Get the R0 contractions in pdaggerq format -# pq.clear() -# pq.set_left_operators_type("EE") -# pq.set_left_operators([["1"]]) -# pq.set_right_operators_type("EE") -# pq.set_right_operators([["r1"], ["r2"]]) -# pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) -# pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) -# pq.simplify() -# terms_r0 = pq.fully_contracted_strings() -# terms_r0 = remove_e0_eom(terms_r0) -# -# # Get the R1 contractions in pdaggerq format -# expr_r0 = spin_integrate(import_from_pdaggerq(terms_r0), spin) -# output_r0 = returns = (Tensor(name="r0"),) -# -# # Get the 1TDM contractions in pdaggerq format -# terms = {} -# for sectors, indices in [("oo", "ij"), ("ov", "ia"), ("vo", "ai"), ("vv", "ab")]: -# pq.clear() -# pq.set_left_operators_type("EE") -# pq.set_left_operators([["1"], ["l1"], ["l2"]]) -# pq.set_right_operators_type("EE") -# pq.set_right_operators([["r0"], ["r1"], ["r2"]]) -# pq.add_st_operator(1.0, [f"e1({','.join(indices)})"], ["t1", "t2"]) -# pq.simplify() -# terms[sectors, indices] = pq.fully_contracted_strings() -# -# # Get the 1TDM in albert format -# expr = [] -# output = [] -# returns = [] -# for sectors, indices in [("oo", "ij"), ("ov", "ia"), ("vo", "ai"), ("vv", "ab")]: -# for index_spins in get_density_spins(1, spin, indices): -# expr_n = import_from_pdaggerq(terms[sectors, indices], index_spins=index_spins) -# expr_n = spin_integrate(expr_n, spin) -# if spin == "rhf": -# expr_n = tuple(e * 2 for e in expr_n) -# output_n = get_density_outputs(expr_n, f"d", indices) -# returns_n = (Tensor(*tuple(Index(i, index_spins[i], space=s) for i, s in zip(indices, sectors)), name=f"d"),) -# expr.extend(expr_n) -# output.extend(output_n) -# returns.extend(returns_n) -# #output, expr = optimise_trans_dm(output, expr, spin, strategy="exhaust") -# output = tuple(output_r0) + tuple(output) -# expr = tuple(expr_r0) + tuple(expr) -# -# # Generate the 1TDM code -# for name, codegen in code_generators.items(): -# if name == "einsum": -# kwargs = { -# "preamble": get_density_einsum_preamble(1, spin), -# "postamble": get_density_einsum_postamble(1, spin), -# } -# else: -# kwargs = {} -# codegen( -# "make_trans_gs_to_ee_rdm1_f", -# returns, -# output, -# expr, -# **kwargs, -# ) - for codegen in code_generators.values(): codegen.postamble() codegen.stdout.close() diff --git a/ebcc/codegen/bootstrap_CCSDT.py b/ebcc/codegen/bootstrap_CCSDT.py index fb48193b..9fee0e05 100644 --- a/ebcc/codegen/bootstrap_CCSDT.py +++ b/ebcc/codegen/bootstrap_CCSDT.py @@ -3,23 +3,26 @@ """ import sys -sys.setrecursionlimit(2147483647) import pdaggerq -from albert.qc._pdaggerq import import_from_pdaggerq +from albert.qc._pdaggerq import remove_reference_energy, remove_reference_energy_eom +from albert.qc.spin import ghf_to_uhf, ghf_to_rhf +from albert.qc import ghf, uhf, rhf from albert.tensor import Tensor +from albert.index import Index +from albert.code._ebcc import EBCCCodeGenerator +from albert.misc import Stopwatch +from albert.opt.tools import _tensor_info -from ebcc.codegen.bootstrap_common import * +from ebcc.codegen.bootstrap_common import get_energy, get_amplitudes, get_rdm1, get_rdm2, get_eom # Get the spin case spin = sys.argv[1] # Set up the code generators code_generators = { - "einsum": EinsumCodeGen( + "einsum": EBCCCodeGenerator( stdout=open(f"{spin[0].upper()}CCSDT.py", "w"), - name_generator=name_generators[spin], - spin=spin, ), } @@ -39,22 +42,17 @@ pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() terms = pq.fully_contracted_strings() - terms = remove_hf_energy(terms) + terms = remove_reference_energy(terms) # Get the energy in albert format - expr = import_from_pdaggerq(terms) - expr = spin_integrate(expr, spin) - output = tuple(Tensor(name="e_cc") for _ in range(len(expr))) - output, expr = optimise(output, expr, spin, strategy="exhaust") - returns = (Tensor(name="e_cc"),) + output_expr, returns = get_energy(terms, spin) # Generate the energy code for codegen in code_generators.values(): codegen( "energy", returns, - output, - expr, + output_expr, ) with Stopwatch("T amplitudes"): @@ -83,37 +81,15 @@ terms_t3 = pq.fully_contracted_strings() # Get the T amplitudes in albert format - terms = [terms_t1, terms_t2, terms_t3] - expr = [] - output = [] - returns = [] - for n in range(3): - for index_spins in get_amplitude_spins(n + 1, spin): - indices = default_indices["o"][: n + 1] + default_indices["v"][: n + 1] - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) - expr_n = spin_integrate(expr_n, spin) - output_n = get_t_amplitude_outputs(expr_n, f"t{n+1}new", indices=indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"t{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - output, expr = optimise(output, expr, spin, strategy="exhaust" if spin != "uhf" else "opt") + output_expr, returns = get_amplitudes([terms_t1, terms_t2, terms_t3], spin, strategy="greedy") # Generate the T amplitude code for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "preamble": "t1new = Namespace()\nt2new = Namespace()\nt3new = Namespace()" if spin == "uhf" else None, - "as_dict": True, - } - else: - kwargs = {} codegen( "update_amps", returns, - output, - expr, - **kwargs, + output_expr, + as_dict=True, ) with Stopwatch("L amplitudes"): @@ -160,37 +136,15 @@ terms_l3 = pq.fully_contracted_strings() # Get the L amplitudes in albert format - terms = [terms_l1, terms_l2, terms_l3] - expr = [] - output = [] - returns = [] - for n in range(3): - for index_spins in get_amplitude_spins(n + 1, spin): - indices = default_indices["v"][: n + 1] + default_indices["o"][: n + 1] - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) - expr_n = spin_integrate(expr_n, spin) - output_n = get_l_amplitude_outputs(expr_n, f"l{n+1}new") - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"l{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - output, expr = optimise(output, expr, spin, strategy="greedy") + output_expr, returns = get_amplitudes([terms_l1, terms_l2, terms_l3], spin, strategy="greedy", which="l") # Generate the L amplitude code for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "preamble": "l1new = Namespace()\nl2new = Namespace()\nl3new = Namespace()" if spin == "uhf" else None, - "as_dict": True, - } - else: - kwargs = {} codegen( "update_lams", returns, - output, - expr, - **kwargs, + output_expr, + as_dict=True, ) with Stopwatch("1RDM"): @@ -204,37 +158,40 @@ terms[sectors, indices] = pq.fully_contracted_strings() # Get the 1RDM in albert format - expr = [] - output = [] - returns = [] - for sectors, indices in [("oo", "ij"), ("ov", "ia"), ("vo", "ai"), ("vv", "ab")]: - for index_spins in get_density_spins(1, spin, indices): - expr_n = import_from_pdaggerq(terms[sectors, indices], index_spins=index_spins) - expr_n = spin_integrate(expr_n, spin) - if spin == "rhf": - expr_n = tuple(e * 2 for e in expr_n) - output_n = get_density_outputs(expr_n, f"d", indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i], space=s) for i, s in zip(indices, sectors)), name=f"d"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - output, expr = optimise(output, expr, spin, strategy="trav") + output_expr, returns, deltas, deltas_sources = get_rdm1(terms, spin) # Generate the 1RDM code for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "preamble": get_density_einsum_preamble(1, spin), - "postamble": get_density_einsum_postamble(1, spin), - } - else: - kwargs = {} + def preamble(): + done = set() + for delta, delta_source in zip(deltas, deltas_sources): + if delta in done: + continue + shape_source_index = 0 if delta.external_indices[0].space == "o" else 1 + codegen.tensor_declaration( + delta, + is_identity=True, + shape_source=delta_source, + shape_source_index=shape_source_index, + ) + codegen._tensor_declared.add(_tensor_info(delta)) + done.add(delta) + + def postamble(): + if name != "einsum": + raise NotImplementedError # FIXME remove packing + if spin != "uhf": + codegen.write("rdm1 = np.block([[rdm1.oo, rdm1.ov], [rdm1.vo, rdm1.vv]])") + else: + codegen.write("rdm1.aa = np.block([[rdm1.aa.oo, rdm1.aa.ov], [rdm1.aa.vo, rdm1.aa.vv]])") + codegen.write("rdm1.bb = np.block([[rdm1.bb.oo, rdm1.bb.ov], [rdm1.bb.vo, rdm1.bb.vv]])") + codegen( "make_rdm1_f", returns, - output, - expr, - **kwargs, + output_expr, + preamble=preamble, + postamble=postamble, ) with Stopwatch("2RDM"): @@ -267,50 +224,42 @@ terms[sectors, indices] = pq.fully_contracted_strings() # Get the 2RDM in albert format - expr = [] - output = [] - returns = [] - for sectors, indices in [ - ("oooo", "ijkl"), - ("ooov", "ijka"), - ("oovo", "ijak"), - ("ovoo", "iajk"), - ("vooo", "aijk"), - ("oovv", "ijab"), - ("ovov", "iajb"), - ("ovvo", "iabj"), - ("voov", "aijb"), - ("vovo", "aibj"), - ("vvoo", "abij"), - ("ovvv", "iabc"), - ("vovv", "aibc"), - ("vvov", "abic"), - ("vvvo", "abci"), - ("vvvv", "abcd"), - ]: - for index_spins in get_density_spins(2, spin, indices): - expr_n = import_from_pdaggerq(terms[sectors, indices], index_spins=index_spins) - expr_n = spin_integrate(expr_n, spin) - output_n = get_density_outputs(expr_n, f"Γ", indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i], space=s) for i, s in zip(indices, sectors)), name=f"Γ"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - output, expr = optimise(output, expr, spin, strategy="greedy") + output_expr, returns, deltas, deltas_sources = get_rdm2(terms, spin, strategy="trav" if spin == "uhf" else "exhaust") # Generate the 2RDM code for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "preamble": get_density_einsum_preamble(2, spin), - "postamble": get_density_einsum_postamble(2, spin), - } + def preamble(): + done = set() + for delta, delta_source in zip(deltas, deltas_sources): + if delta in done: + continue + shape_source_index = 0 if delta.external_indices[0].space == "o" else 1 + codegen.tensor_declaration( + delta, + is_identity=True, + shape_source=delta_source, + shape_source_index=shape_source_index, + ) + codegen._tensor_declared.add(_tensor_info(delta)) + done.add(delta) + + def postamble(): + if name != "einsum": + raise NotImplementedError # FIXME remove packing, handle transpose + if spin != "uhf": + codegen.write("rdm2 = pack_2e(rdm2.oooo, rdm2.ooov, rdm2.oovo, rdm2.ovoo, rdm2.vooo, rdm2.oovv, rdm2.ovov, rdm2.ovvo, rdm2.voov, rdm2.vovo, rdm2.vvoo, rdm2.ovvv, rdm2.vovv, rdm2.vvov, rdm2.vvvo, rdm2.vvvv).transpose((0, 2, 1, 3))") + else: + codegen.write("rdm2.aaaa = pack_2e(rdm2.aaaa.oooo, rdm2.aaaa.ooov, rdm2.aaaa.oovo, rdm2.aaaa.ovoo, rdm2.aaaa.vooo, rdm2.aaaa.oovv, rdm2.aaaa.ovov, rdm2.aaaa.ovvo, rdm2.aaaa.voov, rdm2.aaaa.vovo, rdm2.aaaa.vvoo, rdm2.aaaa.ovvv, rdm2.aaaa.vovv, rdm2.aaaa.vvov, rdm2.aaaa.vvvo, rdm2.aaaa.vvvv).transpose((0, 2, 1, 3))") + codegen.write("rdm2.aabb = pack_2e(rdm2.abab.oooo, rdm2.abab.ooov, rdm2.abab.oovo, rdm2.abab.ovoo, rdm2.abab.vooo, rdm2.abab.oovv, rdm2.abab.ovov, rdm2.abab.ovvo, rdm2.abab.voov, rdm2.abab.vovo, rdm2.abab.vvoo, rdm2.abab.ovvv, rdm2.abab.vovv, rdm2.abab.vvov, rdm2.abab.vvvo, rdm2.abab.vvvv).transpose((0, 2, 1, 3))") + codegen.write("rdm2.bbbb = pack_2e(rdm2.bbbb.oooo, rdm2.bbbb.ooov, rdm2.bbbb.oovo, rdm2.bbbb.ovoo, rdm2.bbbb.vooo, rdm2.bbbb.oovv, rdm2.bbbb.ovov, rdm2.bbbb.ovvo, rdm2.bbbb.voov, rdm2.bbbb.vovo, rdm2.bbbb.vvoo, rdm2.bbbb.ovvv, rdm2.bbbb.vovv, rdm2.bbbb.vvov, rdm2.bbbb.vvvo, rdm2.bbbb.vvvv).transpose((0, 2, 1, 3))") + codegen.write("del rdm2.abab") + codegen( "make_rdm2_f", returns, - output, - expr, - **kwargs, + output_expr, + preamble=preamble, + postamble=postamble, ) with Stopwatch("IP-EOM"): @@ -323,7 +272,7 @@ pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3"]) pq.simplify() terms_r1 = pq.fully_contracted_strings() - terms_r1 = remove_e0_eom(terms_r1) + terms_r1 = remove_reference_energy_eom(terms_r1) # Get the R2 contractions in pdaggerq format pq.clear() @@ -334,7 +283,7 @@ pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3"]) pq.simplify() terms_r2 = pq.fully_contracted_strings() - terms_r2 = remove_e0_eom(terms_r2) + terms_r2 = remove_reference_energy_eom(terms_r2) # Get the R3 contractions in pdaggerq format pq.clear() @@ -345,60 +294,27 @@ pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3"]) pq.simplify() terms_r3 = pq.fully_contracted_strings() - terms_r3 = remove_e0_eom(terms_r3) + terms_r3 = remove_reference_energy_eom(terms_r3) # Get the R amplitudes in albert format - terms = [terms_r1, terms_r2, terms_r3] - expr = [] - output = [] - returns = [] - for n in range(3): - for index_spins in get_amplitude_spins(n + 1, spin, which="ip"): - indices = default_indices["o"][: n + 1] + default_indices["v"][: n] - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) - expr_n = spin_integrate(expr_n, spin) - output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - - (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="greedy") + output_expr_nr, returns_nr, output_expr_r, returns_r = get_eom([terms_r1, terms_r2, terms_r3], spin, strategy="greedy", which="ip") # Generate the R amplitude intermediates code for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "as_dict": True, - } - else: - kwargs = {} codegen( "hbar_matvec_ip_intermediates", returns_nr, - output_nr, - expr_nr, - **kwargs, + output_expr_nr, + as_dict=True, ) # Generate the R amplitude code for name, codegen in code_generators.items(): - if name == "einsum": - preamble = "ints = kwargs[\"ints\"]" - if spin == "uhf": - preamble += "\nr1new = Namespace()\nr2new = Namespace()" - kwargs = { - "preamble": preamble, - "as_dict": True, - } - else: - kwargs = {} codegen( "hbar_matvec_ip", returns_r, - output_r, - expr_r, - **kwargs, + output_expr_r, + as_dict=True, ) with Stopwatch("EA-EOM"): @@ -411,7 +327,7 @@ pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3"]) pq.simplify() terms_r1 = pq.fully_contracted_strings() - terms_r1 = remove_e0_eom(terms_r1) + terms_r1 = remove_reference_energy_eom(terms_r1) # Get the R2 contractions in pdaggerq format pq.clear() @@ -422,7 +338,7 @@ pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3"]) pq.simplify() terms_r2 = pq.fully_contracted_strings() - terms_r2 = remove_e0_eom(terms_r2) + terms_r2 = remove_reference_energy_eom(terms_r2) # Get the R3 contractions in pdaggerq format pq.clear() @@ -433,60 +349,27 @@ pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3"]) pq.simplify() terms_r3 = pq.fully_contracted_strings() - terms_r3 = remove_e0_eom(terms_r3) + terms_r3 = remove_reference_energy_eom(terms_r3) # Get the R amplitudes in albert format - terms = [terms_r1, terms_r2, terms_r3] - expr = [] - output = [] - returns = [] - for n in range(3): - for index_spins in get_amplitude_spins(n + 1, spin, which="ea"): - indices = default_indices["v"][: n + 1] + default_indices["o"][: n] - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) - expr_n = spin_integrate(expr_n, spin) - output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - - (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="greedy") + output_expr_nr, returns_nr, output_expr_r, returns_r = get_eom([terms_r1, terms_r2, terms_r3], spin, strategy="greedy", which="ea") # Generate the R amplitude intermediates code for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "as_dict": True, - } - else: - kwargs = {} codegen( "hbar_matvec_ea_intermediates", returns_nr, - output_nr, - expr_nr, - **kwargs, + output_expr_nr, + as_dict=True, ) # Generate the R amplitude code for name, codegen in code_generators.items(): - if name == "einsum": - preamble = "ints = kwargs[\"ints\"]" - if spin == "uhf": - preamble += "\nr1new = Namespace()\nr2new = Namespace()" - kwargs = { - "preamble": preamble, - "as_dict": True, - } - else: - kwargs = {} codegen( "hbar_matvec_ea", returns_r, - output_r, - expr_r, - **kwargs, + output_expr_r, + as_dict=True, ) if spin == "ghf": # FIXME @@ -500,7 +383,7 @@ pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3"]) pq.simplify() terms_r1 = pq.fully_contracted_strings() - terms_r1 = remove_e0_eom(terms_r1) + terms_r1 = remove_reference_energy_eom(terms_r1) # Get the R2 contractions in pdaggerq format pq.clear() @@ -511,7 +394,7 @@ pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3"]) pq.simplify() terms_r2 = pq.fully_contracted_strings() - terms_r2 = remove_e0_eom(terms_r2) + terms_r2 = remove_reference_energy_eom(terms_r2) # Get the R3 contractions in pdaggerq format pq.clear() @@ -522,61 +405,46 @@ pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3"]) pq.simplify() terms_r3 = pq.fully_contracted_strings() - terms_r3 = remove_e0_eom(terms_r3) + terms_r3 = remove_reference_energy_eom(terms_r3) # Get the R amplitudes in albert format - terms = [terms_r1, terms_r2, terms_r3] - expr = [] - output = [] - returns = [] - for n in range(3): - for index_spins in get_amplitude_spins(n + 1, spin, which="ee"): - indices = default_indices["o"][: n + 1] + default_indices["v"][: n + 1] - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) - expr_n = spin_integrate(expr_n, spin) - output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - - (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="greedy") + returns_nr, output_expr_nr, returns_r, output_expr_r = get_eom([terms_r1, terms_r2, terms_r3], spin, strategy="greedy", which="ee") # Generate the R amplitude intermediates code for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "as_dict": True, - } - else: - kwargs = {} codegen( "hbar_matvec_ee_intermediates", returns_nr, - output_nr, - expr_nr, - **kwargs, + output_expr_nr, + as_dict=True, ) # Generate the R amplitude code for name, codegen in code_generators.items(): - if name == "einsum": - preamble = "ints = kwargs[\"ints\"]" + def postamble(): if spin == "uhf": - preamble += "\nr1new = Namespace()\nr2new = Namespace()" - kwargs = { - "preamble": preamble, - "postamble": "r2new.baba = np.transpose(r2new.abab, (1, 0, 3, 2))" if spin == "uhf" else None, # FIXME - "as_dict": True, - } - else: - kwargs = {} + r2_abab = Tensor( + Index("i", space="o", spin="a"), + Index("j", space="v", spin="b"), + Index("a", space="o", spin="a"), + Index("b", space="v", spin="b"), + name="r2new", + ) + r2_baba = Tensor( + Index("i", space="o", spin="b"), + Index("j", space="v", spin="a"), + Index("a", space="o", spin="b"), + Index("b", space="v", spin="a"), + name="r2new", + ) + codegen.tensor_expression(r2_baba, r2_abab, is_return=True) + codegen( "hbar_matvec_ee", returns_r, - output_r, - expr_r, - **kwargs, + output_expr_r, + postamble=postamble, + as_dict=True, ) with Stopwatch("L-IP-EOM"): @@ -589,7 +457,7 @@ pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3"]) pq.simplify() terms_r1 = pq.fully_contracted_strings() - terms_r1 = remove_e0_eom(terms_r1) + terms_r1 = remove_reference_energy_eom(terms_r1) # Get the L2 contractions in pdaggerq format pq.clear() @@ -600,7 +468,7 @@ pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3"]) pq.simplify() terms_r2 = pq.fully_contracted_strings() - terms_r2 = remove_e0_eom(terms_r2) + terms_r2 = remove_reference_energy_eom(terms_r2) # Get the L3 contractions in pdaggerq format pq.clear() @@ -611,60 +479,27 @@ pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3"]) pq.simplify() terms_r3 = pq.fully_contracted_strings() - terms_r3 = remove_e0_eom(terms_r3) + terms_r3 = remove_reference_energy_eom(terms_r3) # Get the L amplitudes in albert format - terms = [terms_r1, terms_r2, terms_r3] - expr = [] - output = [] - returns = [] - for n in range(3): - for index_spins in get_amplitude_spins(n + 1, spin, which="ip"): - indices = default_indices["o"][: n + 1] + default_indices["v"][: n] - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins, l_is_lambda=False) - expr_n = spin_integrate(expr_n, spin) - output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - - (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="greedy") + returns_nr, output_expr_nr, returns_r, output_expr_r = get_eom([terms_r1, terms_r2, terms_r3], spin, strategy="greedy", which="ip") # Generate the L amplitude intermediates code for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "as_dict": True, - } - else: - kwargs = {} codegen( "hbar_lmatvec_ip_intermediates", returns_nr, - output_nr, - expr_nr, - **kwargs, + output_expr_nr, + as_dict=True, ) # Generate the L amplitude code for name, codegen in code_generators.items(): - if name == "einsum": - preamble = "ints = kwargs[\"ints\"]" - if spin == "uhf": - preamble += "\nr1new = Namespace()\nr2new = Namespace()" - kwargs = { - "preamble": preamble, - "as_dict": True, - } - else: - kwargs = {} codegen( "hbar_lmatvec_ip", returns_r, - output_r, - expr_r, - **kwargs, + output_expr_r, + as_dict=True, ) with Stopwatch("L-EA-EOM"): @@ -677,7 +512,7 @@ pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3"]) pq.simplify() terms_r1 = pq.fully_contracted_strings() - terms_r1 = remove_e0_eom(terms_r1) + terms_r1 = remove_reference_energy_eom(terms_r1) # Get the L2 contractions in pdaggerq format pq.clear() @@ -688,7 +523,7 @@ pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3"]) pq.simplify() terms_r2 = pq.fully_contracted_strings() - terms_r2 = remove_e0_eom(terms_r2) + terms_r2 = remove_reference_energy_eom(terms_r2) # Get the L3 contractions in pdaggerq format pq.clear() @@ -699,60 +534,27 @@ pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3"]) pq.simplify() terms_r3 = pq.fully_contracted_strings() - terms_r3 = remove_e0_eom(terms_r3) + terms_r3 = remove_reference_energy_eom(terms_r3) # Get the L amplitudes in albert format - terms = [terms_r1, terms_r2, terms_r3] - expr = [] - output = [] - returns = [] - for n in range(3): - for index_spins in get_amplitude_spins(n + 1, spin, which="ea"): - indices = default_indices["v"][: n + 1] + default_indices["o"][: n] - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins, l_is_lambda=False) - expr_n = spin_integrate(expr_n, spin) - output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - - (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="greedy") + returns_nr, output_expr_nr, returns_r, output_expr_r = get_eom([terms_r1, terms_r2, terms_r3], spin, strategy="greedy", which="ea") # Generate the L amplitude intermediates code for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "as_dict": True, - } - else: - kwargs = {} codegen( "hbar_lmatvec_ea_intermediates", returns_nr, - output_nr, - expr_nr, - **kwargs, + output_expr_nr, + as_dict=True, ) # Generate the L amplitude code for name, codegen in code_generators.items(): - if name == "einsum": - preamble = "ints = kwargs[\"ints\"]" - if spin == "uhf": - preamble += "\nr1new = Namespace()\nr2new = Namespace()" - kwargs = { - "preamble": preamble, - "as_dict": True, - } - else: - kwargs = {} codegen( "hbar_lmatvec_ea", returns_r, - output_r, - expr_r, - **kwargs, + output_expr_r, + as_dict=True, ) if spin == "ghf": # FIXME @@ -766,7 +568,7 @@ pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3"]) pq.simplify() terms_r1 = pq.fully_contracted_strings() - terms_r1 = remove_e0_eom(terms_r1) + terms_r1 = remove_reference_energy_eom(terms_r1) # Get the L2 contractions in pdaggerq format pq.clear() @@ -777,7 +579,7 @@ pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3"]) pq.simplify() terms_r2 = pq.fully_contracted_strings() - terms_r2 = remove_e0_eom(terms_r2) + terms_r2 = remove_reference_energy_eom(terms_r2) # Get the L3 contractions in pdaggerq format pq.clear() @@ -788,61 +590,46 @@ pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3"]) pq.simplify() terms_r3 = pq.fully_contracted_strings() - terms_r3 = remove_e0_eom(terms_r3) + terms_r3 = remove_reference_energy_eom(terms_r3) # Get the L amplitudes in albert format - terms = [terms_r1, terms_r2, terms_r3] - expr = [] - output = [] - returns = [] - for n in range(3): - for index_spins in get_amplitude_spins(n + 1, spin, which="ee"): - indices = default_indices["o"][: n + 1] + default_indices["v"][: n + 1] - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins, l_is_lambda=False) - expr_n = spin_integrate(expr_n, spin) - output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - - (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="greedy") + returns_nr, output_expr_nr, returns_r, output_expr_r = get_eom([terms_r1, terms_r2, terms_r3], spin, strategy="greedy", which="ee") # Generate the L amplitude intermediates code for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "as_dict": True, - } - else: - kwargs = {} codegen( "hbar_lmatvec_ee_intermediates", returns_nr, - output_nr, - expr_nr, - **kwargs, + output_expr_nr, + as_dict=True, ) # Generate the L amplitude code for name, codegen in code_generators.items(): - if name == "einsum": - preamble = "ints = kwargs[\"ints\"]" + def postamble(): if spin == "uhf": - preamble += "\nr1new = Namespace()\nr2new = Namespace()" - kwargs = { - "preamble": preamble, - "postamble": "r2new.baba = np.transpose(r2new.abab, (1, 0, 3, 2))" if spin == "uhf" else None, # FIXME - "as_dict": True, - } - else: - kwargs = {} + r2_abab = Tensor( + Index("i", space="o", spin="a"), + Index("j", space="v", spin="b"), + Index("a", space="o", spin="a"), + Index("b", space="v", spin="b"), + name="r2new", + ) + r2_baba = Tensor( + Index("i", space="o", spin="b"), + Index("j", space="v", spin="a"), + Index("a", space="o", spin="b"), + Index("b", space="v", spin="a"), + name="r2new", + ) + codegen.tensor_expression(r2_baba, r2_abab, is_return=True) + codegen( "hbar_lmatvec_ee", returns_r, - output_r, - expr_r, - **kwargs, + output_expr_r, + postamble=postamble, + as_dict=True, ) for codegen in code_generators.values(): diff --git a/ebcc/codegen/bootstrap_CCSDTQ.py b/ebcc/codegen/bootstrap_CCSDTQ.py index 243229b7..7107a8b7 100644 --- a/ebcc/codegen/bootstrap_CCSDTQ.py +++ b/ebcc/codegen/bootstrap_CCSDTQ.py @@ -3,23 +3,26 @@ """ import sys -sys.setrecursionlimit(1000000) import pdaggerq -from albert.qc._pdaggerq import import_from_pdaggerq +from albert.qc._pdaggerq import remove_reference_energy, remove_reference_energy_eom +from albert.qc.spin import ghf_to_uhf, ghf_to_rhf +from albert.qc import ghf, uhf, rhf from albert.tensor import Tensor +from albert.index import Index +from albert.code._ebcc import EBCCCodeGenerator +from albert.misc import Stopwatch +from albert.opt.tools import _tensor_info -from ebcc.codegen.bootstrap_common import * +from ebcc.codegen.bootstrap_common import get_energy, get_amplitudes, get_rdm1, get_rdm2, get_eom # Get the spin case spin = sys.argv[1] # Set up the code generators code_generators = { - "einsum": EinsumCodeGen( + "einsum": EBCCCodeGenerator( stdout=open(f"{spin[0].upper()}CCSDTQ.py", "w"), - name_generator=name_generators[spin], - spin=spin, ), } @@ -39,89 +42,62 @@ pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() terms = pq.fully_contracted_strings() - terms = remove_hf_energy(terms) + terms = remove_reference_energy(terms) # Get the energy in albert format - expr = import_from_pdaggerq(terms) - expr = spin_integrate(expr, spin) - output = tuple(Tensor(name="e_cc") for _ in range(len(expr))) - output, expr = optimise(output, expr, spin, strategy="exhaust") - returns = (Tensor(name="e_cc"),) + output_expr, returns = get_energy(terms, spin) # Generate the energy code for codegen in code_generators.values(): codegen( "energy", returns, - output, - expr, + output_expr, ) with Stopwatch("T amplitudes"): # Get the T1 contractions in pdaggerq format pq.clear() pq.set_left_operators([["e1(i,a)"]]) - pq.add_st_operator(1.0, ["f"], ["t1", "t2", "t3", "t4"]) - pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3", "t4"]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2", "t3"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3"]) pq.simplify() terms_t1 = pq.fully_contracted_strings() # Get the T2 contractions in pdaggerq format pq.clear() pq.set_left_operators([["e2(i,j,b,a)"]]) - pq.add_st_operator(1.0, ["f"], ["t1", "t2", "t3", "t4"]) - pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3", "t4"]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2", "t3"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3"]) pq.simplify() terms_t2 = pq.fully_contracted_strings() - # Get the T2 contractions in pdaggerq format + # Get the T3 contractions in pdaggerq format pq.clear() - pq.set_left_operators([["e2(i,j,k,c,b,a)"]]) - pq.add_st_operator(1.0, ["f"], ["t1", "t2", "t3", "t4"]) - pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3", "t4"]) + pq.set_left_operators([["e3(i,j,k,c,b,a)"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2", "t3"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3"]) pq.simplify() terms_t3 = pq.fully_contracted_strings() # Get the T3 contractions in pdaggerq format pq.clear() - pq.set_left_operators([["e3(i,j,k,l,d,c,b,a)"]]) + pq.set_left_operators([["e4(i,j,k,l,d,c,b,a)"]]) pq.add_st_operator(1.0, ["f"], ["t1", "t2", "t3", "t4"]) pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3", "t4"]) pq.simplify() terms_t4 = pq.fully_contracted_strings() # Get the T amplitudes in albert format - terms = [terms_t1, terms_t2, terms_t3, terms_t4] - expr = [] - output = [] - returns = [] - for n in range(4): - for index_spins in get_amplitude_spins(n + 1, spin): - indices = default_indices["o"][: n + 1] + default_indices["v"][: n + 1] - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) - expr_n = spin_integrate(expr_n, spin) - output_n = get_t_amplitude_outputs(expr_n, f"t{n+1}new") - returns_n = (Tensor(*indices, name=f"t{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - output, expr = optimise(output, expr, spin, strategy="greedy") + output_expr, returns = get_amplitudes([terms_t1, terms_t2, terms_t3, terms_t4], spin, strategy="greedy") # Generate the T amplitude code for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "preamble": "t1new = Namespace()\nt2new = Namespace()\nt3new = Namespace()\nt4new = Namespace()" if spin == "uhf" else None, - "as_dict": True, - } - else: - kwargs = {} codegen( "update_amps", returns, - output, - expr, - **kwargs, + output_expr, + as_dict=True, ) for codegen in code_generators.values(): diff --git a/ebcc/codegen/bootstrap_DCD.py b/ebcc/codegen/bootstrap_DCD.py index 48133592..91e7ca8b 100644 --- a/ebcc/codegen/bootstrap_DCD.py +++ b/ebcc/codegen/bootstrap_DCD.py @@ -5,21 +5,24 @@ import sys import pdaggerq -from albert.qc._pdaggerq import import_from_pdaggerq -from albert.qc.index import Index +from albert.qc._pdaggerq import remove_reference_energy, remove_reference_energy_eom +from albert.qc.spin import ghf_to_uhf, ghf_to_rhf +from albert.qc import ghf, uhf, rhf from albert.tensor import Tensor +from albert.index import Index +from albert.code._ebcc import EBCCCodeGenerator +from albert.misc import Stopwatch +from albert.opt.tools import _tensor_info -from ebcc.codegen.bootstrap_common import * +from ebcc.codegen.bootstrap_common import get_energy, get_amplitudes, get_rdm1, get_rdm2, get_eom # Get the spin case spin = sys.argv[1] # Set up the code generators code_generators = { - "einsum": EinsumCodeGen( + "einsum": EBCCCodeGenerator( stdout=open(f"{spin[0].upper()}DCD.py", "w"), - name_generator=name_generators[spin], - spin=spin, ), } @@ -35,26 +38,21 @@ # Get the energy contractions in pdaggerq format pq.clear() pq.set_left_operators([["1"]]) - pq.add_st_operator(1.0, ["f"], ["t2"]) - pq.add_st_operator(1.0, ["v"], ["t2"]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() terms = pq.fully_contracted_strings() - terms = remove_hf_energy(terms) + terms = remove_reference_energy(terms) # Get the energy in albert format - expr = import_from_pdaggerq(terms) - expr = spin_integrate(expr, spin) - output = tuple(Tensor(name="e_cc") for _ in range(len(expr))) - output, expr = optimise(output, expr, spin, strategy="exhaust") - returns = (Tensor(name="e_cc"),) + output_expr, returns = get_energy(terms, spin) # Generate the energy code for codegen in code_generators.values(): codegen( "energy", returns, - output, - expr, + output_expr, ) with Stopwatch("T amplitudes"): @@ -73,36 +71,15 @@ ] # Get the T amplitudes in albert format - expr = [] - output = [] - returns = [] - for index_spins in get_amplitude_spins(2, spin): - indices = default_indices["o"][:2] + default_indices["v"][:2] - indices = tuple(Index(i, index_spins[i]) for i in indices) - expr_n = import_from_pdaggerq(terms, index_spins=index_spins) - expr_n = spin_integrate(expr_n, spin) - output_n = get_t_amplitude_outputs(expr_n, f"t2new") - returns_n = (Tensor(*indices, name=f"t2new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - output, expr = optimise(output, expr, spin, strategy="exhaust") + output_expr, returns = get_amplitudes([terms], spin, orders=[2]) # Generate the T amplitude code for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "preamble": "t1new = Namespace()\nt2new = Namespace()" if spin == "uhf" else None, - "as_dict": True, - } - else: - kwargs = {} codegen( "update_amps", returns, - output, - expr, - **kwargs, + output_expr, + as_dict=True, ) for codegen in code_generators.values(): diff --git a/ebcc/codegen/bootstrap_DCSD.py b/ebcc/codegen/bootstrap_DCSD.py index 30f50d9a..7a4c8495 100644 --- a/ebcc/codegen/bootstrap_DCSD.py +++ b/ebcc/codegen/bootstrap_DCSD.py @@ -5,21 +5,24 @@ import sys import pdaggerq -from albert.qc._pdaggerq import import_from_pdaggerq -from albert.qc.index import Index +from albert.qc._pdaggerq import remove_reference_energy, remove_reference_energy_eom +from albert.qc.spin import ghf_to_uhf, ghf_to_rhf +from albert.qc import ghf, uhf, rhf from albert.tensor import Tensor +from albert.index import Index +from albert.code._ebcc import EBCCCodeGenerator +from albert.misc import Stopwatch +from albert.opt.tools import _tensor_info -from ebcc.codegen.bootstrap_common import * +from ebcc.codegen.bootstrap_common import get_energy, get_amplitudes, get_rdm1, get_rdm2, get_eom # Get the spin case spin = sys.argv[1] # Set up the code generators code_generators = { - "einsum": EinsumCodeGen( + "einsum": EBCCCodeGenerator( stdout=open(f"{spin[0].upper()}DCSD.py", "w"), - name_generator=name_generators[spin], - spin=spin, ), } @@ -39,22 +42,17 @@ pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() terms = pq.fully_contracted_strings() - terms = remove_hf_energy(terms) + terms = remove_reference_energy(terms) # Get the energy in albert format - expr = import_from_pdaggerq(terms) - expr = spin_integrate(expr, spin) - output = tuple(Tensor(name="e_cc") for _ in range(len(expr))) - output, expr = optimise(output, expr, spin, strategy="exhaust") - returns = (Tensor(name="e_cc"),) + output_expr, returns = get_energy(terms, spin) # Generate the energy code for codegen in code_generators.values(): codegen( "energy", returns, - output, - expr, + output_expr, ) with Stopwatch("T amplitudes"): @@ -83,40 +81,18 @@ ] # Get the T amplitudes in albert format - terms = [terms_t1, terms_t2] - expr = [] - output = [] - returns = [] - for n in range(2): - for index_spins in get_amplitude_spins(n + 1, spin): - indices = default_indices["o"][: n + 1] + default_indices["v"][: n + 1] - indices = tuple(Index(i, index_spins[i]) for i in indices) - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) - expr_n = spin_integrate(expr_n, spin) - output_n = get_t_amplitude_outputs(expr_n, f"t{n+1}new") - returns_n = (Tensor(*indices, name=f"t{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - output, expr = optimise(output, expr, spin, strategy="exhaust") + output_expr, returns = get_amplitudes([terms], spin, orders=[2]) # Generate the T amplitude code for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "preamble": "t1new = Namespace()\nt2new = Namespace()" if spin == "uhf" else None, - "as_dict": True, - } - else: - kwargs = {} codegen( "update_amps", returns, - output, - expr, - **kwargs, + output_expr, + as_dict=True, ) for codegen in code_generators.values(): codegen.postamble() codegen.stdout.close() + diff --git a/ebcc/codegen/bootstrap_DFCC2.py b/ebcc/codegen/bootstrap_DFCC2.py index 1726e81a..d0e230bb 100644 --- a/ebcc/codegen/bootstrap_DFCC2.py +++ b/ebcc/codegen/bootstrap_DFCC2.py @@ -5,23 +5,24 @@ import sys import pdaggerq -from albert.qc._pdaggerq import import_from_pdaggerq -from albert.qc.index import Index +from albert.qc._pdaggerq import remove_reference_energy, remove_reference_energy_eom +from albert.qc.spin import ghf_to_uhf, ghf_to_rhf +from albert.qc import ghf, uhf, rhf from albert.tensor import Tensor +from albert.index import Index +from albert.code._ebcc import EBCCCodeGenerator +from albert.misc import Stopwatch +from albert.opt.tools import _tensor_info -from ebcc.codegen.bootstrap_common import * +from ebcc.codegen.bootstrap_common import get_energy, get_amplitudes, get_rdm1, get_rdm2, get_eom # Get the spin case spin = sys.argv[1] -if spin == "ghf": - raise NotImplementedError # Set up the code generators code_generators = { - "einsum": EinsumCodeGen( + "einsum": EBCCCodeGenerator( stdout=open(f"{spin[0].upper()}DFCC2.py", "w"), - name_generator=name_generators[spin], - spin=spin, ), } @@ -41,23 +42,17 @@ pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() terms = pq.fully_contracted_strings() - terms = remove_hf_energy(terms) + terms = remove_reference_energy(terms) # Get the energy in albert format - expr = import_from_pdaggerq(terms) - expr = spin_integrate(expr, spin) - expr = tuple(e.apply(get_density_fit()) for e in expr) - output = tuple(Tensor(name="e_cc") for _ in range(len(expr))) - output, expr = optimise(output, expr, spin, strategy="exhaust") - returns = (Tensor(name="e_cc"),) + output_expr, returns = get_energy(terms, spin, density_fit=True) # Generate the energy code for codegen in code_generators.values(): codegen( "energy", returns, - output, - expr, + output_expr, ) with Stopwatch("T amplitudes"): @@ -78,38 +73,15 @@ terms_t2 = pq.fully_contracted_strings() # Get the T amplitudes in albert format - terms = [terms_t1, terms_t2] - expr = [] - output = [] - returns = [] - for n in range(2): - for index_spins in get_amplitude_spins(n + 1, spin): - indices = default_indices["o"][: n + 1] + default_indices["v"][: n + 1] - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) - expr_n = spin_integrate(expr_n, spin) - expr_n = tuple(e.apply(get_density_fit()) for e in expr_n) - output_n = get_t_amplitude_outputs(expr_n, f"t{n+1}new") - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"t{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - output, expr = optimise(output, expr, spin, strategy="exhaust") + output_expr, returns = get_amplitudes([terms_t1, terms_t2], spin, density_fit=True) # Generate the T amplitude code for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "preamble": "t1new = Namespace()\nt2new = Namespace()" if spin == "uhf" else None, - "as_dict": True, - } - else: - kwargs = {} codegen( "update_amps", returns, - output, - expr, - **kwargs, + output_expr, + as_dict=True, ) with Stopwatch("L amplitudes"): @@ -142,38 +114,15 @@ terms_l2 = pq.fully_contracted_strings() # Get the L amplitudes in albert format - terms = [terms_l1, terms_l2] - expr = [] - output = [] - returns = [] - for n in range(2): - for index_spins in get_amplitude_spins(n + 1, spin): - indices = default_indices["v"][: n + 1] + default_indices["o"][: n + 1] - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) - expr_n = spin_integrate(expr_n, spin) - expr_n = tuple(e.apply(get_density_fit()) for e in expr_n) - output_n = get_l_amplitude_outputs(expr_n, f"l{n+1}new") - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"l{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - output, expr = optimise(output, expr, spin, strategy="opt") + output_expr, returns = get_amplitudes([terms_l1, terms_l2], spin, strategy="opt" if spin == "uhf" else "exhaust", which="l", density_fit=True) # Generate the L amplitude code for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "preamble": "l1new = Namespace()\nl2new = Namespace()" if spin == "uhf" else None, - "as_dict": True, - } - else: - kwargs = {} codegen( "update_lams", returns, - output, - expr, - **kwargs, + output_expr, + as_dict=True, ) with Stopwatch("1RDM"): @@ -187,38 +136,40 @@ terms[sectors, indices] = pq.fully_contracted_strings() # Get the 1RDM in albert format - expr = [] - output = [] - returns = [] - for sectors, indices in [("oo", "ij"), ("ov", "ia"), ("vo", "ai"), ("vv", "ab")]: - for index_spins in get_density_spins(1, spin, indices): - expr_n = import_from_pdaggerq(terms[sectors, indices], index_spins=index_spins) - expr_n = spin_integrate(expr_n, spin) - if spin == "rhf": - expr_n = tuple(e * 2 for e in expr_n) - expr_n = tuple(e.apply(get_density_fit()) for e in expr_n) - output_n = get_density_outputs(expr_n, f"d", indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i], space=s) for i, s in zip(indices, sectors)), name=f"d"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - output, expr = optimise(output, expr, spin, strategy="exhaust") + output_expr, returns, deltas, deltas_sources = get_rdm1(terms, spin, density_fit=True) # Generate the 1RDM code for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "preamble": get_density_einsum_preamble(1, spin), - "postamble": get_density_einsum_postamble(1, spin), - } - else: - kwargs = {} + def preamble(): + done = set() + for delta, delta_source in zip(deltas, deltas_sources): + if delta in done: + continue + shape_source_index = 0 if delta.external_indices[0].space == "o" else 1 + codegen.tensor_declaration( + delta, + is_identity=True, + shape_source=delta_source, + shape_source_index=shape_source_index, + ) + codegen._tensor_declared.add(_tensor_info(delta)) + done.add(delta) + + def postamble(): + if name != "einsum": + raise NotImplementedError # FIXME remove packing + if spin != "uhf": + codegen.write("rdm1 = np.block([[rdm1.oo, rdm1.ov], [rdm1.vo, rdm1.vv]])") + else: + codegen.write("rdm1.aa = np.block([[rdm1.aa.oo, rdm1.aa.ov], [rdm1.aa.vo, rdm1.aa.vv]])") + codegen.write("rdm1.bb = np.block([[rdm1.bb.oo, rdm1.bb.ov], [rdm1.bb.vo, rdm1.bb.vv]])") + codegen( "make_rdm1_f", returns, - output, - expr, - **kwargs, + output_expr, + preamble=preamble, + postamble=postamble, ) with Stopwatch("2RDM"): @@ -251,51 +202,42 @@ terms[sectors, indices] = pq.fully_contracted_strings() # Get the 2RDM in albert format - expr = [] - output = [] - returns = [] - for sectors, indices in [ - ("oooo", "ijkl"), - ("ooov", "ijka"), - ("oovo", "ijak"), - ("ovoo", "iajk"), - ("vooo", "aijk"), - ("oovv", "ijab"), - ("ovov", "iajb"), - ("ovvo", "iabj"), - ("voov", "aijb"), - ("vovo", "aibj"), - ("vvoo", "abij"), - ("ovvv", "iabc"), - ("vovv", "aibc"), - ("vvov", "abic"), - ("vvvo", "abci"), - ("vvvv", "abcd"), - ]: - for index_spins in get_density_spins(2, spin, indices): - expr_n = import_from_pdaggerq(terms[sectors, indices], index_spins=index_spins) - expr_n = spin_integrate(expr_n, spin) - expr_n = tuple(e.apply(get_density_fit()) for e in expr_n) - output_n = get_density_outputs(expr_n, f"Γ", indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i], space=s) for i, s in zip(indices, sectors)), name=f"Γ"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - output, expr = optimise(output, expr, spin, strategy="trav") + output_expr, returns, deltas, deltas_sources = get_rdm2(terms, spin, strategy="trav" if spin == "uhf" else "exhaust", density_fit=True) # Generate the 2RDM code for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "preamble": get_density_einsum_preamble(2, spin), - "postamble": get_density_einsum_postamble(2, spin), - } + def preamble(): + done = set() + for delta, delta_source in zip(deltas, deltas_sources): + if delta in done: + continue + shape_source_index = 0 if delta.external_indices[0].space == "o" else 1 + codegen.tensor_declaration( + delta, + is_identity=True, + shape_source=delta_source, + shape_source_index=shape_source_index, + ) + codegen._tensor_declared.add(_tensor_info(delta)) + done.add(delta) + + def postamble(): + if name != "einsum": + raise NotImplementedError # FIXME remove packing, handle transpose + if spin != "uhf": + codegen.write("rdm2 = pack_2e(rdm2.oooo, rdm2.ooov, rdm2.oovo, rdm2.ovoo, rdm2.vooo, rdm2.oovv, rdm2.ovov, rdm2.ovvo, rdm2.voov, rdm2.vovo, rdm2.vvoo, rdm2.ovvv, rdm2.vovv, rdm2.vvov, rdm2.vvvo, rdm2.vvvv).transpose((0, 2, 1, 3))") + else: + codegen.write("rdm2.aaaa = pack_2e(rdm2.aaaa.oooo, rdm2.aaaa.ooov, rdm2.aaaa.oovo, rdm2.aaaa.ovoo, rdm2.aaaa.vooo, rdm2.aaaa.oovv, rdm2.aaaa.ovov, rdm2.aaaa.ovvo, rdm2.aaaa.voov, rdm2.aaaa.vovo, rdm2.aaaa.vvoo, rdm2.aaaa.ovvv, rdm2.aaaa.vovv, rdm2.aaaa.vvov, rdm2.aaaa.vvvo, rdm2.aaaa.vvvv).transpose((0, 2, 1, 3))") + codegen.write("rdm2.aabb = pack_2e(rdm2.abab.oooo, rdm2.abab.ooov, rdm2.abab.oovo, rdm2.abab.ovoo, rdm2.abab.vooo, rdm2.abab.oovv, rdm2.abab.ovov, rdm2.abab.ovvo, rdm2.abab.voov, rdm2.abab.vovo, rdm2.abab.vvoo, rdm2.abab.ovvv, rdm2.abab.vovv, rdm2.abab.vvov, rdm2.abab.vvvo, rdm2.abab.vvvv).transpose((0, 2, 1, 3))") + codegen.write("rdm2.bbbb = pack_2e(rdm2.bbbb.oooo, rdm2.bbbb.ooov, rdm2.bbbb.oovo, rdm2.bbbb.ovoo, rdm2.bbbb.vooo, rdm2.bbbb.oovv, rdm2.bbbb.ovov, rdm2.bbbb.ovvo, rdm2.bbbb.voov, rdm2.bbbb.vovo, rdm2.bbbb.vvoo, rdm2.bbbb.ovvv, rdm2.bbbb.vovv, rdm2.bbbb.vvov, rdm2.bbbb.vvvo, rdm2.bbbb.vvvv).transpose((0, 2, 1, 3))") + codegen.write("del rdm2.abab") + codegen( "make_rdm2_f", returns, - output, - expr, - **kwargs, + output_expr, + preamble=preamble, + postamble=postamble, ) with Stopwatch("IP-EOM"): @@ -308,7 +250,7 @@ pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() terms_r1 = pq.fully_contracted_strings() - terms_r1 = remove_e0_eom(terms_r1) + terms_r1 = remove_reference_energy_eom(terms_r1) # Get the R2 contractions in pdaggerq format pq.clear() @@ -319,61 +261,27 @@ pq.add_st_operator(1.0, ["v"], ["t2"]) pq.simplify() terms_r2 = pq.fully_contracted_strings() - terms_r2 = remove_e0_eom(terms_r2) + terms_r2 = remove_reference_energy_eom(terms_r2) # Get the R amplitudes in albert format - terms = [terms_r1, terms_r2] - expr = [] - output = [] - returns = [] - for n in range(2): - for index_spins in get_amplitude_spins(n + 1, spin, which="ip"): - indices = default_indices["o"][: n + 1] + default_indices["v"][: n] - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) - expr_n = spin_integrate(expr_n, spin) - expr_n = tuple(e.apply(get_density_fit()) for e in expr_n) - output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - - (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="exhaust") + output_expr_nr, returns_nr, output_expr_r, returns_r = get_eom([terms_r1, terms_r2], spin, strategy="exhaust", which="ip", density_fit=True) # Generate the R amplitude intermediates code for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "as_dict": True, - } - else: - kwargs = {} codegen( "hbar_matvec_ip_intermediates", returns_nr, - output_nr, - expr_nr, - **kwargs, + output_expr_nr, + as_dict=True, ) # Generate the R amplitude code for name, codegen in code_generators.items(): - if name == "einsum": - preamble = "ints = kwargs[\"ints\"]" - if spin == "uhf": - preamble += "\nr1new = Namespace()\nr2new = Namespace()" - kwargs = { - "preamble": preamble, - "as_dict": True, - } - else: - kwargs = {} codegen( "hbar_matvec_ip", returns_r, - output_r, - expr_r, - **kwargs, + output_expr_r, + as_dict=True, ) with Stopwatch("EA-EOM"): @@ -386,7 +294,7 @@ pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() terms_r1 = pq.fully_contracted_strings() - terms_r1 = remove_e0_eom(terms_r1) + terms_r1 = remove_reference_energy_eom(terms_r1) # Get the R2 contractions in pdaggerq format pq.clear() @@ -397,61 +305,27 @@ pq.add_st_operator(1.0, ["v"], ["t2"]) pq.simplify() terms_r2 = pq.fully_contracted_strings() - terms_r2 = remove_e0_eom(terms_r2) + terms_r2 = remove_reference_energy_eom(terms_r2) # Get the R amplitudes in albert format - terms = [terms_r1, terms_r2] - expr = [] - output = [] - returns = [] - for n in range(2): - for index_spins in get_amplitude_spins(n + 1, spin, which="ea"): - indices = default_indices["v"][: n + 1] + default_indices["o"][: n] - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) - expr_n = spin_integrate(expr_n, spin) - expr_n = tuple(e.apply(get_density_fit()) for e in expr_n) - output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - - (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="exhaust") + output_expr_nr, returns_nr, output_expr_r, returns_r = get_eom([terms_r1, terms_r2], spin, strategy="exhaust", which="ea", density_fit=True) # Generate the R amplitude intermediates code for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "as_dict": True, - } - else: - kwargs = {} codegen( "hbar_matvec_ea_intermediates", returns_nr, - output_nr, - expr_nr, - **kwargs, + output_expr_nr, + as_dict=True, ) # Generate the R amplitude code for name, codegen in code_generators.items(): - if name == "einsum": - preamble = "ints = kwargs[\"ints\"]" - if spin == "uhf": - preamble += "\nr1new = Namespace()\nr2new = Namespace()" - kwargs = { - "preamble": preamble, - "as_dict": True, - } - else: - kwargs = {} codegen( "hbar_matvec_ea", returns_r, - output_r, - expr_r, - **kwargs, + output_expr_r, + as_dict=True, ) if spin == "ghf": # FIXME @@ -465,7 +339,7 @@ pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() terms_r1 = pq.fully_contracted_strings() - terms_r1 = remove_e0_eom(terms_r1) + terms_r1 = remove_reference_energy_eom(terms_r1) # Get the R2 contractions in pdaggerq format pq.clear() @@ -476,61 +350,46 @@ pq.add_st_operator(1.0, ["v"], ["t2"]) pq.simplify() terms_r2 = pq.fully_contracted_strings() - terms_r2 = remove_e0_eom(terms_r2) + terms_r2 = remove_reference_energy_eom(terms_r2) # Get the R amplitudes in albert format - terms = [terms_r1, terms_r2] - expr = [] - output = [] - returns = [] - for n in range(2): - for index_spins in get_amplitude_spins(n + 1, spin, which="ee"): - indices = default_indices["o"][: n + 1] + default_indices["v"][: n + 1] - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) - expr_n = spin_integrate(expr_n, spin) - expr_n = tuple(e.apply(get_density_fit()) for e in expr_n) - output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - - (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="trav") + returns_nr, output_expr_nr, returns_r, output_expr_r = get_eom([terms_r1, terms_r2], spin, strategy="trav", which="ee", density_fit=True) # Generate the R amplitude intermediates code for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "as_dict": True, - } - else: - kwargs = {} codegen( "hbar_matvec_ee_intermediates", returns_nr, - output_nr, - expr_nr, - **kwargs, + output_expr_nr, + as_dict=True, ) # Generate the R amplitude code for name, codegen in code_generators.items(): - if name == "einsum": - preamble = "ints = kwargs[\"ints\"]" + def postamble(): if spin == "uhf": - preamble += "\nr1new = Namespace()\nr2new = Namespace()" - kwargs = { - "preamble": preamble, - "as_dict": True, - } - else: - kwargs = {} + r2_abab = Tensor( + Index("i", space="o", spin="a"), + Index("j", space="v", spin="b"), + Index("a", space="o", spin="a"), + Index("b", space="v", spin="b"), + name="r2new", + ) + r2_baba = Tensor( + Index("i", space="o", spin="b"), + Index("j", space="v", spin="a"), + Index("a", space="o", spin="b"), + Index("b", space="v", spin="a"), + name="r2new", + ) + codegen.tensor_expression(r2_baba, r2_abab, is_return=True) + codegen( "hbar_matvec_ee", returns_r, - output_r, - expr_r, - **kwargs, + output_expr_r, + postamble=postamble, + as_dict=True, ) with Stopwatch("L-IP-EOM"): @@ -543,7 +402,7 @@ pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() terms_r1 = pq.fully_contracted_strings() - terms_r1 = remove_e0_eom(terms_r1) + terms_r1 = remove_reference_energy_eom(terms_r1) # Get the L2 contractions in pdaggerq format pq.clear() @@ -554,61 +413,27 @@ pq.add_st_operator(1.0, ["v"], ["t2"]) pq.simplify() terms_r2 = pq.fully_contracted_strings() - terms_r2 = remove_e0_eom(terms_r2) + terms_r2 = remove_reference_energy_eom(terms_r2) # Get the L amplitudes in albert format - terms = [terms_r1, terms_r2] - expr = [] - output = [] - returns = [] - for n in range(2): - for index_spins in get_amplitude_spins(n + 1, spin, which="ip"): - indices = default_indices["o"][: n + 1] + default_indices["v"][: n] - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins, l_is_lambda=False) - expr_n = spin_integrate(expr_n, spin) - expr_n = tuple(e.apply(get_density_fit()) for e in expr_n) - output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - - (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="exhaust") + returns_nr, output_expr_nr, returns_r, output_expr_r = get_eom([terms_r1, terms_r2], spin, strategy="exhaust", which="ip", density_fit=True) # Generate the L amplitude intermediates code for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "as_dict": True, - } - else: - kwargs = {} codegen( "hbar_lmatvec_ip_intermediates", returns_nr, - output_nr, - expr_nr, - **kwargs, + output_expr_nr, + as_dict=True, ) # Generate the L amplitude code for name, codegen in code_generators.items(): - if name == "einsum": - preamble = "ints = kwargs[\"ints\"]" - if spin == "uhf": - preamble += "\nr1new = Namespace()\nr2new = Namespace()" - kwargs = { - "preamble": preamble, - "as_dict": True, - } - else: - kwargs = {} codegen( "hbar_lmatvec_ip", returns_r, - output_r, - expr_r, - **kwargs, + output_expr_r, + as_dict=True, ) with Stopwatch("L-EA-EOM"): @@ -621,7 +446,7 @@ pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() terms_r1 = pq.fully_contracted_strings() - terms_r1 = remove_e0_eom(terms_r1) + terms_r1 = remove_reference_energy_eom(terms_r1) # Get the L2 contractions in pdaggerq format pq.clear() @@ -632,61 +457,27 @@ pq.add_st_operator(1.0, ["v"], ["t2"]) pq.simplify() terms_r2 = pq.fully_contracted_strings() - terms_r2 = remove_e0_eom(terms_r2) + terms_r2 = remove_reference_energy_eom(terms_r2) # Get the L amplitudes in albert format - terms = [terms_r1, terms_r2] - expr = [] - output = [] - returns = [] - for n in range(2): - for index_spins in get_amplitude_spins(n + 1, spin, which="ea"): - indices = default_indices["v"][: n + 1] + default_indices["o"][: n] - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins, l_is_lambda=False) - expr_n = spin_integrate(expr_n, spin) - expr_n = tuple(e.apply(get_density_fit()) for e in expr_n) - output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - - (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="exhaust") + returns_nr, output_expr_nr, returns_r, output_expr_r = get_eom([terms_r1, terms_r2], spin, strategy="exhaust", which="ea", density_fit=True) # Generate the L amplitude intermediates code for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "as_dict": True, - } - else: - kwargs = {} codegen( "hbar_lmatvec_ea_intermediates", returns_nr, - output_nr, - expr_nr, - **kwargs, + output_expr_nr, + as_dict=True, ) # Generate the L amplitude code for name, codegen in code_generators.items(): - if name == "einsum": - preamble = "ints = kwargs[\"ints\"]" - if spin == "uhf": - preamble += "\nr1new = Namespace()\nr2new = Namespace()" - kwargs = { - "preamble": preamble, - "as_dict": True, - } - else: - kwargs = {} codegen( "hbar_lmatvec_ea", returns_r, - output_r, - expr_r, - **kwargs, + output_expr_r, + as_dict=True, ) if spin == "ghf": # FIXME @@ -700,7 +491,7 @@ pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() terms_r1 = pq.fully_contracted_strings() - terms_r1 = remove_e0_eom(terms_r1) + terms_r1 = remove_reference_energy_eom(terms_r1) # Get the L2 contractions in pdaggerq format pq.clear() @@ -711,61 +502,46 @@ pq.add_st_operator(1.0, ["v"], ["t2"]) pq.simplify() terms_r2 = pq.fully_contracted_strings() - terms_r2 = remove_e0_eom(terms_r2) + terms_r2 = remove_reference_energy_eom(terms_r2) # Get the L amplitudes in albert format - terms = [terms_r1, terms_r2] - expr = [] - output = [] - returns = [] - for n in range(2): - for index_spins in get_amplitude_spins(n + 1, spin, which="ee"): - indices = default_indices["o"][: n + 1] + default_indices["v"][: n + 1] - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins, l_is_lambda=False) - expr_n = spin_integrate(expr_n, spin) - expr_n = tuple(e.apply(get_density_fit()) for e in expr_n) - output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - - (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="trav") + returns_nr, output_expr_nr, returns_r, output_expr_r = get_eom([terms_r1, terms_r2], spin, strategy="trav", which="ee", density_fit=True) # Generate the L amplitude intermediates code for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "as_dict": True, - } - else: - kwargs = {} codegen( "hbar_lmatvec_ee_intermediates", returns_nr, - output_nr, - expr_nr, - **kwargs, + output_expr_nr, + as_dict=True, ) # Generate the L amplitude code for name, codegen in code_generators.items(): - if name == "einsum": - preamble = "ints = kwargs[\"ints\"]" + def postamble(): if spin == "uhf": - preamble += "\nr1new = Namespace()\nr2new = Namespace()" - kwargs = { - "preamble": preamble, - "as_dict": True, - } - else: - kwargs = {} + r2_abab = Tensor( + Index("i", space="o", spin="a"), + Index("j", space="v", spin="b"), + Index("a", space="o", spin="a"), + Index("b", space="v", spin="b"), + name="r2new", + ) + r2_baba = Tensor( + Index("i", space="o", spin="b"), + Index("j", space="v", spin="a"), + Index("a", space="o", spin="b"), + Index("b", space="v", spin="a"), + name="r2new", + ) + codegen.tensor_expression(r2_baba, r2_abab, is_return=True) + codegen( "hbar_lmatvec_ee", returns_r, - output_r, - expr_r, - **kwargs, + output_expr_r, + postamble=postamble, + as_dict=True, ) for codegen in code_generators.values(): diff --git a/ebcc/codegen/bootstrap_DFCCD.py b/ebcc/codegen/bootstrap_DFCCD.py index 7423eb34..468d832a 100644 --- a/ebcc/codegen/bootstrap_DFCCD.py +++ b/ebcc/codegen/bootstrap_DFCCD.py @@ -5,22 +5,24 @@ import sys import pdaggerq -from albert.qc._pdaggerq import import_from_pdaggerq +from albert.qc._pdaggerq import remove_reference_energy, remove_reference_energy_eom +from albert.qc.spin import ghf_to_uhf, ghf_to_rhf +from albert.qc import ghf, uhf, rhf from albert.tensor import Tensor +from albert.index import Index +from albert.code._ebcc import EBCCCodeGenerator +from albert.misc import Stopwatch +from albert.opt.tools import _tensor_info -from ebcc.codegen.bootstrap_common import * +from ebcc.codegen.bootstrap_common import get_energy, get_amplitudes, get_rdm1, get_rdm2, get_eom # Get the spin case spin = sys.argv[1] -if spin == "ghf": - raise NotImplementedError # Set up the code generators code_generators = { - "einsum": EinsumCodeGen( + "einsum": EBCCCodeGenerator( stdout=open(f"{spin[0].upper()}DFCCD.py", "w"), - name_generator=name_generators[spin], - spin=spin, ), } @@ -40,23 +42,17 @@ pq.add_st_operator(1.0, ["v"], ["t2"]) pq.simplify() terms = pq.fully_contracted_strings() - terms = remove_hf_energy(terms) + terms = remove_reference_energy(terms) # Get the energy in albert format - expr = import_from_pdaggerq(terms) - expr = spin_integrate(expr, spin) - expr = tuple(e.apply(get_density_fit()) for e in expr) - output = tuple(Tensor(name="e_cc") for _ in range(len(expr))) - output, expr = optimise(output, expr, spin, strategy="exhaust") - returns = (Tensor(name="e_cc"),) + output_expr, returns = get_energy(terms, spin, density_fit=True) # Generate the energy code for codegen in code_generators.values(): codegen( "energy", returns, - output, - expr, + output_expr, ) with Stopwatch("T amplitudes"): @@ -69,36 +65,15 @@ terms = pq.fully_contracted_strings() # Get the T amplitudes in albert format - expr = [] - output = [] - returns = [] - for index_spins in get_amplitude_spins(2, spin): - indices = default_indices["o"][: 2] + default_indices["v"][: 2] - expr_n = import_from_pdaggerq(terms, index_spins=index_spins) - expr_n = spin_integrate(expr_n, spin) - expr_n = tuple(e.apply(get_density_fit()) for e in expr_n) - output_n = get_t_amplitude_outputs(expr_n, f"t2new") - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"t2new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - output, expr = optimise(output, expr, spin, strategy="exhaust") + output_expr, returns = get_amplitudes([terms], spin, orders=[2], density_fit=True) # Generate the T amplitude code for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "preamble": "t1new = Namespace()\nt2new = Namespace()" if spin == "uhf" else None, - "as_dict": True, - } - else: - kwargs = {} codegen( "update_amps", returns, - output, - expr, - **kwargs, + output_expr, + as_dict=True, ) with Stopwatch("L amplitudes"): @@ -109,44 +84,23 @@ pq.add_st_operator(1.0, ["f", "e2(a,b,j,i)"], ["t2"]) pq.add_st_operator(1.0, ["v", "e2(a,b,j,i)"], ["t2"]) pq.set_left_operators([["l2"]]) - pq.add_st_operator(1.0, ["f", "e2(a,b,j,i)"], ["t2"]) - pq.add_st_operator(1.0, ["v", "e2(a,b,j,i)"], ["t2"]) + pq.add_st_operator( 1.0, ["f", "e2(a,b,j,i)"], ["t2"]) + pq.add_st_operator( 1.0, ["v", "e2(a,b,j,i)"], ["t2"]) pq.add_st_operator(-1.0, ["e2(a,b,j,i)", "f"], ["t2"]) pq.add_st_operator(-1.0, ["e2(a,b,j,i)", "v"], ["t2"]) pq.simplify() terms = pq.fully_contracted_strings() # Get the L amplitudes in albert format - expr = [] - output = [] - returns = [] - for index_spins in get_amplitude_spins(2, spin): - indices = default_indices["v"][: 2] + default_indices["o"][: 2] - expr_n = import_from_pdaggerq(terms, index_spins=index_spins) - expr_n = spin_integrate(expr_n, spin) - expr_n = tuple(e.apply(get_density_fit()) for e in expr_n) - output_n = get_l_amplitude_outputs(expr_n, f"l2new") - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"l2new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - output, expr = optimise(output, expr, spin, strategy="opt") + get_amplitudes([terms], spin, strategy="opt" if spin == "uhf" else "exhaust", which="l", orders=[2], density_fit=True) # Generate the L amplitude code for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "preamble": "l1new = Namespace()\nl2new = Namespace()" if spin == "uhf" else None, - "as_dict": True, - } - else: - kwargs = {} codegen( "update_lams", returns, - output, - expr, - **kwargs, + output_expr, + as_dict=True, ) with Stopwatch("1RDM"): @@ -160,52 +114,40 @@ terms[sectors, indices] = pq.fully_contracted_strings() # Get the 1RDM in albert format - expr = [] - output = [] - returns = [] - for sectors, indices in [("oo", "ij"), ("ov", "ia"), ("vo", "ai"), ("vv", "ab")]: - for index_spins in get_density_spins(1, spin, indices): - expr_n = import_from_pdaggerq(terms[sectors, indices], index_spins=index_spins) - if not (isinstance(expr_n, int) and expr_n == 0): - expr_n = spin_integrate(expr_n, spin) - if spin == "rhf": - expr_n = tuple(e * 2 for e in expr_n) - expr_n = tuple(e.apply(get_density_fit()) for e in expr_n) - output_n = get_density_outputs(expr_n, f"d", indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i], space=s) for i, s in zip(indices, sectors)), name=f"d"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - output, expr = optimise(output, expr, spin, strategy="exhaust") + output_expr, returns, deltas, deltas_sources = get_rdm1(terms, spin, density_fit=True) # Generate the 1RDM code for name, codegen in code_generators.items(): - if name == "einsum": - def get_postamble(n, spin, name="rdm{n}"): - nm = name.format(n=n) - postamble = "" - if spin != "uhf": - for occ in ("ov", "vo"): - shape = ", ".join(f"t2.shape[{'0' if o == 'o' else '-1'}]" for o in occ) - postamble += f"{nm}.{occ} = np.zeros(({shape}))\n" - else: - for s in "ab": - for occ in ("oo", "vv"): - shape = ", ".join(f"t2.{ss}{ss}.shape[{'0' if o == 'o' else '-1'}]" for ss, o in zip(s+s, occ)) - postamble += f"{nm}.{s}{s}.{occ} = np.zeros(({shape}))\n" - return postamble + get_density_einsum_postamble(n, spin) - kwargs = { - "preamble": get_density_einsum_preamble(1, spin), - "postamble": get_postamble(1, spin), - } - else: - kwargs = {} + def preamble(): + done = set() + for delta, delta_source in zip(deltas, deltas_sources): + if delta in done: + continue + shape_source_index = 0 if delta.external_indices[0].space == "o" else 1 + codegen.tensor_declaration( + delta, + is_identity=True, + shape_source=delta_source, + shape_source_index=shape_source_index, + ) + codegen._tensor_declared.add(_tensor_info(delta)) + done.add(delta) + + def postamble(): + if name != "einsum": + raise NotImplementedError # FIXME remove packing + if spin != "uhf": + codegen.write("rdm1 = np.block([[rdm1.oo, rdm1.ov], [rdm1.vo, rdm1.vv]])") + else: + codegen.write("rdm1.aa = np.block([[rdm1.aa.oo, rdm1.aa.ov], [rdm1.aa.vo, rdm1.aa.vv]])") + codegen.write("rdm1.bb = np.block([[rdm1.bb.oo, rdm1.bb.ov], [rdm1.bb.vo, rdm1.bb.vv]])") + codegen( "make_rdm1_f", returns, - output, - expr, - **kwargs, + output_expr, + preamble=preamble, + postamble=postamble, ) with Stopwatch("2RDM"): @@ -238,66 +180,42 @@ def get_postamble(n, spin, name="rdm{n}"): terms[sectors, indices] = pq.fully_contracted_strings() # Get the 2RDM in albert format - expr = [] - output = [] - returns = [] - for sectors, indices in [ - ("oooo", "ijkl"), - ("ooov", "ijka"), - ("oovo", "ijak"), - ("ovoo", "iajk"), - ("vooo", "aijk"), - ("oovv", "ijab"), - ("ovov", "iajb"), - ("ovvo", "iabj"), - ("voov", "aijb"), - ("vovo", "aibj"), - ("vvoo", "abij"), - ("ovvv", "iabc"), - ("vovv", "aibc"), - ("vvov", "abic"), - ("vvvo", "abci"), - ("vvvv", "abcd"), - ]: - for index_spins in get_density_spins(2, spin, indices): - expr_n = import_from_pdaggerq(terms[sectors, indices], index_spins=index_spins) - if not (isinstance(expr_n, int) and expr_n == 0): - expr_n = spin_integrate(expr_n, spin) - expr_n = tuple(e.apply(get_density_fit()) for e in expr_n) - output_n = get_density_outputs(expr_n, f"Γ", indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i], space=s) for i, s in zip(indices, sectors)), name=f"Γ"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - output, expr = optimise(output, expr, spin, strategy="trav") + output_expr, returns, deltas, deltas_sources = get_rdm2(terms, spin, strategy="trav" if spin == "uhf" else "exhaust", density_fit=True) # Generate the 2RDM code for name, codegen in code_generators.items(): - if name == "einsum": - def get_postamble(n, spin, name="rdm{n}"): - nm = name.format(n=n) - postamble = "" - if spin != "uhf": - for occ in ("ooov", "oovo", "ovoo", "vooo", "ovvv", "vovv", "vvov", "vvvo"): - shape = ", ".join(f"t2.shape[{'0' if o == 'o' else '-1'}]" for o in occ) - postamble += f"{nm}.{occ} = np.zeros(({shape}))\n" - else: - for s1 in "ab": - for s2 in "ab": - for occ in ("ooov", "oovo", "ovoo", "vooo", "ovvv", "vovv", "vvov", "vvvo"): - shape = ", ".join(f"t2.{s}{s}{s}{s}.shape[{'0' if o == 'o' else '-1'}]" for o, s in zip(occ, s1+s1+s2+s2)) - postamble += f"{nm}.{s1}{s1}{s2}{s2}.{occ} = np.zeros(({shape}))\n" - return postamble + get_density_einsum_postamble(n, spin) - kwargs = { - "preamble": get_density_einsum_preamble(2, spin), - "postamble": get_postamble(2, spin), - } + def preamble(): + done = set() + for delta, delta_source in zip(deltas, deltas_sources): + if delta in done: + continue + shape_source_index = 0 if delta.external_indices[0].space == "o" else 1 + codegen.tensor_declaration( + delta, + is_identity=True, + shape_source=delta_source, + shape_source_index=shape_source_index, + ) + codegen._tensor_declared.add(_tensor_info(delta)) + done.add(delta) + + def postamble(): + if name != "einsum": + raise NotImplementedError # FIXME remove packing, handle transpose + if spin != "uhf": + codegen.write("rdm2 = pack_2e(rdm2.oooo, rdm2.ooov, rdm2.oovo, rdm2.ovoo, rdm2.vooo, rdm2.oovv, rdm2.ovov, rdm2.ovvo, rdm2.voov, rdm2.vovo, rdm2.vvoo, rdm2.ovvv, rdm2.vovv, rdm2.vvov, rdm2.vvvo, rdm2.vvvv).transpose((0, 2, 1, 3))") + else: + codegen.write("rdm2.aaaa = pack_2e(rdm2.aaaa.oooo, rdm2.aaaa.ooov, rdm2.aaaa.oovo, rdm2.aaaa.ovoo, rdm2.aaaa.vooo, rdm2.aaaa.oovv, rdm2.aaaa.ovov, rdm2.aaaa.ovvo, rdm2.aaaa.voov, rdm2.aaaa.vovo, rdm2.aaaa.vvoo, rdm2.aaaa.ovvv, rdm2.aaaa.vovv, rdm2.aaaa.vvov, rdm2.aaaa.vvvo, rdm2.aaaa.vvvv).transpose((0, 2, 1, 3))") + codegen.write("rdm2.aabb = pack_2e(rdm2.abab.oooo, rdm2.abab.ooov, rdm2.abab.oovo, rdm2.abab.ovoo, rdm2.abab.vooo, rdm2.abab.oovv, rdm2.abab.ovov, rdm2.abab.ovvo, rdm2.abab.voov, rdm2.abab.vovo, rdm2.abab.vvoo, rdm2.abab.ovvv, rdm2.abab.vovv, rdm2.abab.vvov, rdm2.abab.vvvo, rdm2.abab.vvvv).transpose((0, 2, 1, 3))") + codegen.write("rdm2.bbbb = pack_2e(rdm2.bbbb.oooo, rdm2.bbbb.ooov, rdm2.bbbb.oovo, rdm2.bbbb.ovoo, rdm2.bbbb.vooo, rdm2.bbbb.oovv, rdm2.bbbb.ovov, rdm2.bbbb.ovvo, rdm2.bbbb.voov, rdm2.bbbb.vovo, rdm2.bbbb.vvoo, rdm2.bbbb.ovvv, rdm2.bbbb.vovv, rdm2.bbbb.vvov, rdm2.bbbb.vvvo, rdm2.bbbb.vvvv).transpose((0, 2, 1, 3))") + codegen.write("del rdm2.abab") + codegen( "make_rdm2_f", returns, - output, - expr, - **kwargs, + output_expr, + preamble=preamble, + postamble=postamble, ) with Stopwatch("IP-EOM"): @@ -310,7 +228,7 @@ def get_postamble(n, spin, name="rdm{n}"): pq.add_st_operator(1.0, ["v"], ["t2"]) pq.simplify() terms_r1 = pq.fully_contracted_strings() - terms_r1 = remove_e0_eom(terms_r1) + terms_r1 = remove_reference_energy_eom(terms_r1) # Get the R2 contractions in pdaggerq format pq.clear() @@ -321,61 +239,27 @@ def get_postamble(n, spin, name="rdm{n}"): pq.add_st_operator(1.0, ["v"], ["t2"]) pq.simplify() terms_r2 = pq.fully_contracted_strings() - terms_r2 = remove_e0_eom(terms_r2) + terms_r2 = remove_reference_energy_eom(terms_r2) # Get the R amplitudes in albert format - terms = [terms_r1, terms_r2] - expr = [] - output = [] - returns = [] - for n in range(2): - for index_spins in get_amplitude_spins(n + 1, spin, which="ip"): - indices = default_indices["o"][: n + 1] + default_indices["v"][: n] - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) - expr_n = spin_integrate(expr_n, spin) - expr_n = tuple(e.apply(get_density_fit()) for e in expr_n) - output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - - (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="exhaust") + output_expr_nr, returns_nr, output_expr_r, returns_r = get_eom([terms_r1, terms_r2], spin, strategy="exhaust", which="ip", density_fit=True) # Generate the R amplitude intermediates code for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "as_dict": True, - } - else: - kwargs = {} codegen( "hbar_matvec_ip_intermediates", returns_nr, - output_nr, - expr_nr, - **kwargs, + output_expr_nr, + as_dict=True, ) # Generate the R amplitude code for name, codegen in code_generators.items(): - if name == "einsum": - preamble = "ints = kwargs[\"ints\"]" - if spin == "uhf": - preamble += "\nr1new = Namespace()\nr2new = Namespace()" - kwargs = { - "preamble": preamble, - "as_dict": True, - } - else: - kwargs = {} codegen( "hbar_matvec_ip", returns_r, - output_r, - expr_r, - **kwargs, + output_expr_r, + as_dict=True, ) with Stopwatch("EA-EOM"): @@ -388,7 +272,7 @@ def get_postamble(n, spin, name="rdm{n}"): pq.add_st_operator(1.0, ["v"], ["t2"]) pq.simplify() terms_r1 = pq.fully_contracted_strings() - terms_r1 = remove_e0_eom(terms_r1) + terms_r1 = remove_reference_energy_eom(terms_r1) # Get the R2 contractions in pdaggerq format pq.clear() @@ -399,61 +283,27 @@ def get_postamble(n, spin, name="rdm{n}"): pq.add_st_operator(1.0, ["v"], ["t2"]) pq.simplify() terms_r2 = pq.fully_contracted_strings() - terms_r2 = remove_e0_eom(terms_r2) + terms_r2 = remove_reference_energy_eom(terms_r2) # Get the R amplitudes in albert format - terms = [terms_r1, terms_r2] - expr = [] - output = [] - returns = [] - for n in range(2): - for index_spins in get_amplitude_spins(n + 1, spin, which="ea"): - indices = default_indices["v"][: n + 1] + default_indices["o"][: n] - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) - expr_n = spin_integrate(expr_n, spin) - expr_n = tuple(e.apply(get_density_fit()) for e in expr_n) - output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - - (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="exhaust") + output_expr_nr, returns_nr, output_expr_r, returns_r = get_eom([terms_r1, terms_r2], spin, strategy="exhaust", which="ea", density_fit=True) # Generate the R amplitude intermediates code for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "as_dict": True, - } - else: - kwargs = {} codegen( "hbar_matvec_ea_intermediates", returns_nr, - output_nr, - expr_nr, - **kwargs, + output_expr_nr, + as_dict=True, ) # Generate the R amplitude code for name, codegen in code_generators.items(): - if name == "einsum": - preamble = "ints = kwargs[\"ints\"]" - if spin == "uhf": - preamble += "\nr1new = Namespace()\nr2new = Namespace()" - kwargs = { - "preamble": preamble, - "as_dict": True, - } - else: - kwargs = {} codegen( "hbar_matvec_ea", returns_r, - output_r, - expr_r, - **kwargs, + output_expr_r, + as_dict=True, ) if spin == "ghf": # FIXME @@ -467,7 +317,7 @@ def get_postamble(n, spin, name="rdm{n}"): pq.add_st_operator(1.0, ["v"], ["t2"]) pq.simplify() terms_r1 = pq.fully_contracted_strings() - terms_r1 = remove_e0_eom(terms_r1) + terms_r1 = remove_reference_energy_eom(terms_r1) # Get the R2 contractions in pdaggerq format pq.clear() @@ -478,61 +328,46 @@ def get_postamble(n, spin, name="rdm{n}"): pq.add_st_operator(1.0, ["v"], ["t2"]) pq.simplify() terms_r2 = pq.fully_contracted_strings() - terms_r2 = remove_e0_eom(terms_r2) + terms_r2 = remove_reference_energy_eom(terms_r2) # Get the R amplitudes in albert format - terms = [terms_r1, terms_r2] - expr = [] - output = [] - returns = [] - for n in range(2): - for index_spins in get_amplitude_spins(n + 1, spin, which="ee"): - indices = default_indices["o"][: n + 1] + default_indices["v"][: n + 1] - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) - expr_n = spin_integrate(expr_n, spin) - expr_n = tuple(e.apply(get_density_fit()) for e in expr_n) - output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - - (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="trav") + returns_nr, output_expr_nr, returns_r, output_expr_r = get_eom([terms_r1, terms_r2], spin, strategy="trav", which="ee", density_fit=True) # Generate the R amplitude intermediates code for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "as_dict": True, - } - else: - kwargs = {} codegen( "hbar_matvec_ee_intermediates", returns_nr, - output_nr, - expr_nr, - **kwargs, + output_expr_nr, + as_dict=True, ) # Generate the R amplitude code for name, codegen in code_generators.items(): - if name == "einsum": - preamble = "ints = kwargs[\"ints\"]" + def postamble(): if spin == "uhf": - preamble += "\nr1new = Namespace()\nr2new = Namespace()" - kwargs = { - "preamble": preamble, - "as_dict": True, - } - else: - kwargs = {} + r2_abab = Tensor( + Index("i", space="o", spin="a"), + Index("j", space="v", spin="b"), + Index("a", space="o", spin="a"), + Index("b", space="v", spin="b"), + name="r2new", + ) + r2_baba = Tensor( + Index("i", space="o", spin="b"), + Index("j", space="v", spin="a"), + Index("a", space="o", spin="b"), + Index("b", space="v", spin="a"), + name="r2new", + ) + codegen.tensor_expression(r2_baba, r2_abab, is_return=True) + codegen( "hbar_matvec_ee", returns_r, - output_r, - expr_r, - **kwargs, + output_expr_r, + postamble=postamble, + as_dict=True, ) with Stopwatch("L-IP-EOM"): @@ -545,7 +380,7 @@ def get_postamble(n, spin, name="rdm{n}"): pq.add_st_operator(1.0, ["v"], ["t2"]) pq.simplify() terms_r1 = pq.fully_contracted_strings() - terms_r1 = remove_e0_eom(terms_r1) + terms_r1 = remove_reference_energy_eom(terms_r1) # Get the L2 contractions in pdaggerq format pq.clear() @@ -556,61 +391,27 @@ def get_postamble(n, spin, name="rdm{n}"): pq.add_st_operator(1.0, ["v"], ["t2"]) pq.simplify() terms_r2 = pq.fully_contracted_strings() - terms_r2 = remove_e0_eom(terms_r2) + terms_r2 = remove_reference_energy_eom(terms_r2) # Get the L amplitudes in albert format - terms = [terms_r1, terms_r2] - expr = [] - output = [] - returns = [] - for n in range(2): - for index_spins in get_amplitude_spins(n + 1, spin, which="ip"): - indices = default_indices["o"][: n + 1] + default_indices["v"][: n] - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins, l_is_lambda=False) - expr_n = spin_integrate(expr_n, spin) - expr_n = tuple(e.apply(get_density_fit()) for e in expr_n) - output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - - (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="exhaust") + returns_nr, output_expr_nr, returns_r, output_expr_r = get_eom([terms_r1, terms_r2], spin, strategy="exhaust", which="ip", density_fit=True) # Generate the L amplitude intermediates code for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "as_dict": True, - } - else: - kwargs = {} codegen( "hbar_lmatvec_ip_intermediates", returns_nr, - output_nr, - expr_nr, - **kwargs, + output_expr_nr, + as_dict=True, ) # Generate the L amplitude code for name, codegen in code_generators.items(): - if name == "einsum": - preamble = "ints = kwargs[\"ints\"]" - if spin == "uhf": - preamble += "\nr1new = Namespace()\nr2new = Namespace()" - kwargs = { - "preamble": preamble, - "as_dict": True, - } - else: - kwargs = {} codegen( "hbar_lmatvec_ip", returns_r, - output_r, - expr_r, - **kwargs, + output_expr_r, + as_dict=True, ) with Stopwatch("L-EA-EOM"): @@ -623,7 +424,7 @@ def get_postamble(n, spin, name="rdm{n}"): pq.add_st_operator(1.0, ["v"], ["t2"]) pq.simplify() terms_r1 = pq.fully_contracted_strings() - terms_r1 = remove_e0_eom(terms_r1) + terms_r1 = remove_reference_energy_eom(terms_r1) # Get the L2 contractions in pdaggerq format pq.clear() @@ -634,61 +435,27 @@ def get_postamble(n, spin, name="rdm{n}"): pq.add_st_operator(1.0, ["v"], ["t2"]) pq.simplify() terms_r2 = pq.fully_contracted_strings() - terms_r2 = remove_e0_eom(terms_r2) + terms_r2 = remove_reference_energy_eom(terms_r2) # Get the L amplitudes in albert format - terms = [terms_r1, terms_r2] - expr = [] - output = [] - returns = [] - for n in range(2): - for index_spins in get_amplitude_spins(n + 1, spin, which="ea"): - indices = default_indices["v"][: n + 1] + default_indices["o"][: n] - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins, l_is_lambda=False) - expr_n = spin_integrate(expr_n, spin) - expr_n = tuple(e.apply(get_density_fit()) for e in expr_n) - output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - - (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="exhaust") + returns_nr, output_expr_nr, returns_r, output_expr_r = get_eom([terms_r1, terms_r2], spin, strategy="exhaust", which="ea", density_fit=True) # Generate the L amplitude intermediates code for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "as_dict": True, - } - else: - kwargs = {} codegen( "hbar_lmatvec_ea_intermediates", returns_nr, - output_nr, - expr_nr, - **kwargs, + output_expr_nr, + as_dict=True, ) # Generate the L amplitude code for name, codegen in code_generators.items(): - if name == "einsum": - preamble = "ints = kwargs[\"ints\"]" - if spin == "uhf": - preamble += "\nr1new = Namespace()\nr2new = Namespace()" - kwargs = { - "preamble": preamble, - "as_dict": True, - } - else: - kwargs = {} codegen( "hbar_lmatvec_ea", returns_r, - output_r, - expr_r, - **kwargs, + output_expr_r, + as_dict=True, ) if spin == "ghf": # FIXME @@ -702,7 +469,7 @@ def get_postamble(n, spin, name="rdm{n}"): pq.add_st_operator(1.0, ["v"], ["t2"]) pq.simplify() terms_r1 = pq.fully_contracted_strings() - terms_r1 = remove_e0_eom(terms_r1) + terms_r1 = remove_reference_energy_eom(terms_r1) # Get the L2 contractions in pdaggerq format pq.clear() @@ -713,61 +480,46 @@ def get_postamble(n, spin, name="rdm{n}"): pq.add_st_operator(1.0, ["v"], ["t2"]) pq.simplify() terms_r2 = pq.fully_contracted_strings() - terms_r2 = remove_e0_eom(terms_r2) + terms_r2 = remove_reference_energy_eom(terms_r2) # Get the L amplitudes in albert format - terms = [terms_r1, terms_r2] - expr = [] - output = [] - returns = [] - for n in range(2): - for index_spins in get_amplitude_spins(n + 1, spin, which="ee"): - indices = default_indices["o"][: n + 1] + default_indices["v"][: n + 1] - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins, l_is_lambda=False) - expr_n = spin_integrate(expr_n, spin) - expr_n = tuple(e.apply(get_density_fit()) for e in expr_n) - output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - - (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="trav") + returns_nr, output_expr_nr, returns_r, output_expr_r = get_eom([terms_r1, terms_r2], spin, strategy="trav", which="ee", density_fit=True) # Generate the L amplitude intermediates code for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "as_dict": True, - } - else: - kwargs = {} codegen( "hbar_lmatvec_ee_intermediates", returns_nr, - output_nr, - expr_nr, - **kwargs, + output_expr_nr, + as_dict=True, ) # Generate the L amplitude code for name, codegen in code_generators.items(): - if name == "einsum": - preamble = "ints = kwargs[\"ints\"]" + def postamble(): if spin == "uhf": - preamble += "\nr1new = Namespace()\nr2new = Namespace()" - kwargs = { - "preamble": preamble, - "as_dict": True, - } - else: - kwargs = {} + r2_abab = Tensor( + Index("i", space="o", spin="a"), + Index("j", space="v", spin="b"), + Index("a", space="o", spin="a"), + Index("b", space="v", spin="b"), + name="r2new", + ) + r2_baba = Tensor( + Index("i", space="o", spin="b"), + Index("j", space="v", spin="a"), + Index("a", space="o", spin="b"), + Index("b", space="v", spin="a"), + name="r2new", + ) + codegen.tensor_expression(r2_baba, r2_abab, is_return=True) + codegen( "hbar_lmatvec_ee", returns_r, - output_r, - expr_r, - **kwargs, + output_expr_r, + postamble=postamble, + as_dict=True, ) for codegen in code_generators.values(): diff --git a/ebcc/codegen/bootstrap_DFCCSD.py b/ebcc/codegen/bootstrap_DFCCSD.py index 17fbf09d..dd61510b 100644 --- a/ebcc/codegen/bootstrap_DFCCSD.py +++ b/ebcc/codegen/bootstrap_DFCCSD.py @@ -5,22 +5,24 @@ import sys import pdaggerq -from albert.qc._pdaggerq import import_from_pdaggerq +from albert.qc._pdaggerq import remove_reference_energy, remove_reference_energy_eom +from albert.qc.spin import ghf_to_uhf, ghf_to_rhf +from albert.qc import ghf, uhf, rhf from albert.tensor import Tensor +from albert.index import Index +from albert.code._ebcc import EBCCCodeGenerator +from albert.misc import Stopwatch +from albert.opt.tools import _tensor_info -from ebcc.codegen.bootstrap_common import * +from ebcc.codegen.bootstrap_common import get_energy, get_amplitudes, get_rdm1, get_rdm2, get_eom # Get the spin case spin = sys.argv[1] -if spin == "ghf": - raise NotImplementedError # Set up the code generators code_generators = { - "einsum": EinsumCodeGen( + "einsum": EBCCCodeGenerator( stdout=open(f"{spin[0].upper()}DFCCSD.py", "w"), - name_generator=name_generators[spin], - spin=spin, ), } @@ -40,23 +42,17 @@ pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() terms = pq.fully_contracted_strings() - terms = remove_hf_energy(terms) + terms = remove_reference_energy(terms) # Get the energy in albert format - expr = import_from_pdaggerq(terms) - expr = spin_integrate(expr, spin) - expr = tuple(e.apply(get_density_fit()) for e in expr) - output = tuple(Tensor(name="e_cc") for _ in range(len(expr))) - output, expr = optimise(output, expr, spin, strategy="exhaust") - returns = (Tensor(name="e_cc"),) + output_expr, returns = get_energy(terms, spin, density_fit=True) # Generate the energy code for codegen in code_generators.values(): codegen( "energy", returns, - output, - expr, + output_expr, ) with Stopwatch("T amplitudes"): @@ -77,38 +73,15 @@ terms_t2 = pq.fully_contracted_strings() # Get the T amplitudes in albert format - terms = [terms_t1, terms_t2] - expr = [] - output = [] - returns = [] - for n in range(2): - for index_spins in get_amplitude_spins(n + 1, spin): - indices = default_indices["o"][: n + 1] + default_indices["v"][: n + 1] - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) - expr_n = spin_integrate(expr_n, spin) - expr_n = tuple(e.apply(get_density_fit()) for e in expr_n) - output_n = get_t_amplitude_outputs(expr_n, f"t{n+1}new") - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"t{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - output, expr = optimise(output, expr, spin, strategy="exhaust") + output_expr, returns = get_amplitudes([terms_t1, terms_t2], spin, density_fit=True) # Generate the T amplitude code for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "preamble": "t1new = Namespace()\nt2new = Namespace()" if spin == "uhf" else None, - "as_dict": True, - } - else: - kwargs = {} codegen( "update_amps", returns, - output, - expr, - **kwargs, + output_expr, + as_dict=True, ) with Stopwatch("L amplitudes"): @@ -141,38 +114,15 @@ terms_l2 = pq.fully_contracted_strings() # Get the L amplitudes in albert format - terms = [terms_l1, terms_l2] - expr = [] - output = [] - returns = [] - for n in range(2): - for index_spins in get_amplitude_spins(n + 1, spin): - indices = default_indices["v"][: n + 1] + default_indices["o"][: n + 1] - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) - expr_n = spin_integrate(expr_n, spin) - expr_n = tuple(e.apply(get_density_fit()) for e in expr_n) - output_n = get_l_amplitude_outputs(expr_n, f"l{n+1}new") - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"l{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - output, expr = optimise(output, expr, spin, strategy="opt") + output_expr, returns = get_amplitudes([terms_l1, terms_l2], spin, strategy="opt" if spin == "uhf" else "exhaust", which="l", density_fit=True) # Generate the L amplitude code for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "preamble": "l1new = Namespace()\nl2new = Namespace()" if spin == "uhf" else None, - "as_dict": True, - } - else: - kwargs = {} codegen( "update_lams", returns, - output, - expr, - **kwargs, + output_expr, + as_dict=True, ) with Stopwatch("1RDM"): @@ -186,38 +136,40 @@ terms[sectors, indices] = pq.fully_contracted_strings() # Get the 1RDM in albert format - expr = [] - output = [] - returns = [] - for sectors, indices in [("oo", "ij"), ("ov", "ia"), ("vo", "ai"), ("vv", "ab")]: - for index_spins in get_density_spins(1, spin, indices): - expr_n = import_from_pdaggerq(terms[sectors, indices], index_spins=index_spins) - expr_n = spin_integrate(expr_n, spin) - if spin == "rhf": - expr_n = tuple(e * 2 for e in expr_n) - expr_n = tuple(e.apply(get_density_fit()) for e in expr_n) - output_n = get_density_outputs(expr_n, f"d", indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i], space=s) for i, s in zip(indices, sectors)), name=f"d"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - output, expr = optimise(output, expr, spin, strategy="exhaust") + output_expr, returns, deltas, deltas_sources = get_rdm1(terms, spin, density_fit=True) # Generate the 1RDM code for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "preamble": get_density_einsum_preamble(1, spin), - "postamble": get_density_einsum_postamble(1, spin), - } - else: - kwargs = {} + def preamble(): + done = set() + for delta, delta_source in zip(deltas, deltas_sources): + if delta in done: + continue + shape_source_index = 0 if delta.external_indices[0].space == "o" else 1 + codegen.tensor_declaration( + delta, + is_identity=True, + shape_source=delta_source, + shape_source_index=shape_source_index, + ) + codegen._tensor_declared.add(_tensor_info(delta)) + done.add(delta) + + def postamble(): + if name != "einsum": + raise NotImplementedError # FIXME remove packing + if spin != "uhf": + codegen.write("rdm1 = np.block([[rdm1.oo, rdm1.ov], [rdm1.vo, rdm1.vv]])") + else: + codegen.write("rdm1.aa = np.block([[rdm1.aa.oo, rdm1.aa.ov], [rdm1.aa.vo, rdm1.aa.vv]])") + codegen.write("rdm1.bb = np.block([[rdm1.bb.oo, rdm1.bb.ov], [rdm1.bb.vo, rdm1.bb.vv]])") + codegen( "make_rdm1_f", returns, - output, - expr, - **kwargs, + output_expr, + preamble=preamble, + postamble=postamble, ) with Stopwatch("2RDM"): @@ -250,51 +202,42 @@ terms[sectors, indices] = pq.fully_contracted_strings() # Get the 2RDM in albert format - expr = [] - output = [] - returns = [] - for sectors, indices in [ - ("oooo", "ijkl"), - ("ooov", "ijka"), - ("oovo", "ijak"), - ("ovoo", "iajk"), - ("vooo", "aijk"), - ("oovv", "ijab"), - ("ovov", "iajb"), - ("ovvo", "iabj"), - ("voov", "aijb"), - ("vovo", "aibj"), - ("vvoo", "abij"), - ("ovvv", "iabc"), - ("vovv", "aibc"), - ("vvov", "abic"), - ("vvvo", "abci"), - ("vvvv", "abcd"), - ]: - for index_spins in get_density_spins(2, spin, indices): - expr_n = import_from_pdaggerq(terms[sectors, indices], index_spins=index_spins) - expr_n = spin_integrate(expr_n, spin) - expr_n = tuple(e.apply(get_density_fit()) for e in expr_n) - output_n = get_density_outputs(expr_n, f"Γ", indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i], space=s) for i, s in zip(indices, sectors)), name=f"Γ"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - output, expr = optimise(output, expr, spin, strategy="trav") + output_expr, returns, deltas, deltas_sources = get_rdm2(terms, spin, strategy="trav" if spin == "uhf" else "exhaust", density_fit=True) # Generate the 2RDM code for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "preamble": get_density_einsum_preamble(2, spin), - "postamble": get_density_einsum_postamble(2, spin), - } + def preamble(): + done = set() + for delta, delta_source in zip(deltas, deltas_sources): + if delta in done: + continue + shape_source_index = 0 if delta.external_indices[0].space == "o" else 1 + codegen.tensor_declaration( + delta, + is_identity=True, + shape_source=delta_source, + shape_source_index=shape_source_index, + ) + codegen._tensor_declared.add(_tensor_info(delta)) + done.add(delta) + + def postamble(): + if name != "einsum": + raise NotImplementedError # FIXME remove packing, handle transpose + if spin != "uhf": + codegen.write("rdm2 = pack_2e(rdm2.oooo, rdm2.ooov, rdm2.oovo, rdm2.ovoo, rdm2.vooo, rdm2.oovv, rdm2.ovov, rdm2.ovvo, rdm2.voov, rdm2.vovo, rdm2.vvoo, rdm2.ovvv, rdm2.vovv, rdm2.vvov, rdm2.vvvo, rdm2.vvvv).transpose((0, 2, 1, 3))") + else: + codegen.write("rdm2.aaaa = pack_2e(rdm2.aaaa.oooo, rdm2.aaaa.ooov, rdm2.aaaa.oovo, rdm2.aaaa.ovoo, rdm2.aaaa.vooo, rdm2.aaaa.oovv, rdm2.aaaa.ovov, rdm2.aaaa.ovvo, rdm2.aaaa.voov, rdm2.aaaa.vovo, rdm2.aaaa.vvoo, rdm2.aaaa.ovvv, rdm2.aaaa.vovv, rdm2.aaaa.vvov, rdm2.aaaa.vvvo, rdm2.aaaa.vvvv).transpose((0, 2, 1, 3))") + codegen.write("rdm2.aabb = pack_2e(rdm2.abab.oooo, rdm2.abab.ooov, rdm2.abab.oovo, rdm2.abab.ovoo, rdm2.abab.vooo, rdm2.abab.oovv, rdm2.abab.ovov, rdm2.abab.ovvo, rdm2.abab.voov, rdm2.abab.vovo, rdm2.abab.vvoo, rdm2.abab.ovvv, rdm2.abab.vovv, rdm2.abab.vvov, rdm2.abab.vvvo, rdm2.abab.vvvv).transpose((0, 2, 1, 3))") + codegen.write("rdm2.bbbb = pack_2e(rdm2.bbbb.oooo, rdm2.bbbb.ooov, rdm2.bbbb.oovo, rdm2.bbbb.ovoo, rdm2.bbbb.vooo, rdm2.bbbb.oovv, rdm2.bbbb.ovov, rdm2.bbbb.ovvo, rdm2.bbbb.voov, rdm2.bbbb.vovo, rdm2.bbbb.vvoo, rdm2.bbbb.ovvv, rdm2.bbbb.vovv, rdm2.bbbb.vvov, rdm2.bbbb.vvvo, rdm2.bbbb.vvvv).transpose((0, 2, 1, 3))") + codegen.write("del rdm2.abab") + codegen( "make_rdm2_f", returns, - output, - expr, - **kwargs, + output_expr, + preamble=preamble, + postamble=postamble, ) with Stopwatch("IP-EOM"): @@ -307,7 +250,7 @@ pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() terms_r1 = pq.fully_contracted_strings() - terms_r1 = remove_e0_eom(terms_r1) + terms_r1 = remove_reference_energy_eom(terms_r1) # Get the R2 contractions in pdaggerq format pq.clear() @@ -318,61 +261,27 @@ pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() terms_r2 = pq.fully_contracted_strings() - terms_r2 = remove_e0_eom(terms_r2) + terms_r2 = remove_reference_energy_eom(terms_r2) # Get the R amplitudes in albert format - terms = [terms_r1, terms_r2] - expr = [] - output = [] - returns = [] - for n in range(2): - for index_spins in get_amplitude_spins(n + 1, spin, which="ip"): - indices = default_indices["o"][: n + 1] + default_indices["v"][: n] - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) - expr_n = spin_integrate(expr_n, spin) - expr_n = tuple(e.apply(get_density_fit()) for e in expr_n) - output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - - (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="exhaust") + output_expr_nr, returns_nr, output_expr_r, returns_r = get_eom([terms_r1, terms_r2], spin, strategy="exhaust", which="ip", density_fit=True) # Generate the R amplitude intermediates code for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "as_dict": True, - } - else: - kwargs = {} codegen( "hbar_matvec_ip_intermediates", returns_nr, - output_nr, - expr_nr, - **kwargs, + output_expr_nr, + as_dict=True, ) # Generate the R amplitude code for name, codegen in code_generators.items(): - if name == "einsum": - preamble = "ints = kwargs[\"ints\"]" - if spin == "uhf": - preamble += "\nr1new = Namespace()\nr2new = Namespace()" - kwargs = { - "preamble": preamble, - "as_dict": True, - } - else: - kwargs = {} codegen( "hbar_matvec_ip", returns_r, - output_r, - expr_r, - **kwargs, + output_expr_r, + as_dict=True, ) with Stopwatch("EA-EOM"): @@ -385,7 +294,7 @@ pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() terms_r1 = pq.fully_contracted_strings() - terms_r1 = remove_e0_eom(terms_r1) + terms_r1 = remove_reference_energy_eom(terms_r1) # Get the R2 contractions in pdaggerq format pq.clear() @@ -396,61 +305,27 @@ pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() terms_r2 = pq.fully_contracted_strings() - terms_r2 = remove_e0_eom(terms_r2) + terms_r2 = remove_reference_energy_eom(terms_r2) # Get the R amplitudes in albert format - terms = [terms_r1, terms_r2] - expr = [] - output = [] - returns = [] - for n in range(2): - for index_spins in get_amplitude_spins(n + 1, spin, which="ea"): - indices = default_indices["v"][: n + 1] + default_indices["o"][: n] - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) - expr_n = spin_integrate(expr_n, spin) - expr_n = tuple(e.apply(get_density_fit()) for e in expr_n) - output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - - (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="exhaust") + output_expr_nr, returns_nr, output_expr_r, returns_r = get_eom([terms_r1, terms_r2], spin, strategy="exhaust", which="ea", density_fit=True) # Generate the R amplitude intermediates code for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "as_dict": True, - } - else: - kwargs = {} codegen( "hbar_matvec_ea_intermediates", returns_nr, - output_nr, - expr_nr, - **kwargs, + output_expr_nr, + as_dict=True, ) # Generate the R amplitude code for name, codegen in code_generators.items(): - if name == "einsum": - preamble = "ints = kwargs[\"ints\"]" - if spin == "uhf": - preamble += "\nr1new = Namespace()\nr2new = Namespace()" - kwargs = { - "preamble": preamble, - "as_dict": True, - } - else: - kwargs = {} codegen( "hbar_matvec_ea", returns_r, - output_r, - expr_r, - **kwargs, + output_expr_r, + as_dict=True, ) if spin == "ghf": # FIXME @@ -464,7 +339,7 @@ pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() terms_r1 = pq.fully_contracted_strings() - terms_r1 = remove_e0_eom(terms_r1) + terms_r1 = remove_reference_energy_eom(terms_r1) # Get the R2 contractions in pdaggerq format pq.clear() @@ -475,62 +350,46 @@ pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() terms_r2 = pq.fully_contracted_strings() - terms_r2 = remove_e0_eom(terms_r2) + terms_r2 = remove_reference_energy_eom(terms_r2) # Get the R amplitudes in albert format - terms = [terms_r1, terms_r2] - expr = [] - output = [] - returns = [] - for n in range(2): - for index_spins in get_amplitude_spins(n + 1, spin, which="ee"): - indices = default_indices["o"][: n + 1] + default_indices["v"][: n + 1] - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) - expr_n = spin_integrate(expr_n, spin) - expr_n = tuple(e.apply(get_density_fit()) for e in expr_n) - output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - - (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="trav") + returns_nr, output_expr_nr, returns_r, output_expr_r = get_eom([terms_r1, terms_r2], spin, strategy="trav", which="ee", density_fit=True) # Generate the R amplitude intermediates code for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "as_dict": True, - } - else: - kwargs = {} codegen( "hbar_matvec_ee_intermediates", returns_nr, - output_nr, - expr_nr, - **kwargs, + output_expr_nr, + as_dict=True, ) # Generate the R amplitude code for name, codegen in code_generators.items(): - if name == "einsum": - preamble = "ints = kwargs[\"ints\"]" + def postamble(): if spin == "uhf": - preamble += "\nr1new = Namespace()\nr2new = Namespace()" - kwargs = { - "preamble": preamble, - "postamble": "r2new.baba = np.transpose(r2new.abab, (1, 0, 3, 2))" if spin == "uhf" else None, # FIXME - "as_dict": True, - } - else: - kwargs = {} + r2_abab = Tensor( + Index("i", space="o", spin="a"), + Index("j", space="v", spin="b"), + Index("a", space="o", spin="a"), + Index("b", space="v", spin="b"), + name="r2new", + ) + r2_baba = Tensor( + Index("i", space="o", spin="b"), + Index("j", space="v", spin="a"), + Index("a", space="o", spin="b"), + Index("b", space="v", spin="a"), + name="r2new", + ) + codegen.tensor_expression(r2_baba, r2_abab, is_return=True) + codegen( "hbar_matvec_ee", returns_r, - output_r, - expr_r, - **kwargs, + output_expr_r, + postamble=postamble, + as_dict=True, ) with Stopwatch("L-IP-EOM"): @@ -543,7 +402,7 @@ pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() terms_r1 = pq.fully_contracted_strings() - terms_r1 = remove_e0_eom(terms_r1) + terms_r1 = remove_reference_energy_eom(terms_r1) # Get the L2 contractions in pdaggerq format pq.clear() @@ -554,61 +413,27 @@ pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() terms_r2 = pq.fully_contracted_strings() - terms_r2 = remove_e0_eom(terms_r2) + terms_r2 = remove_reference_energy_eom(terms_r2) # Get the L amplitudes in albert format - terms = [terms_r1, terms_r2] - expr = [] - output = [] - returns = [] - for n in range(2): - for index_spins in get_amplitude_spins(n + 1, spin, which="ip"): - indices = default_indices["o"][: n + 1] + default_indices["v"][: n] - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins, l_is_lambda=False) - expr_n = spin_integrate(expr_n, spin) - expr_n = tuple(e.apply(get_density_fit()) for e in expr_n) - output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - - (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="exhaust") + returns_nr, output_expr_nr, returns_r, output_expr_r = get_eom([terms_r1, terms_r2], spin, strategy="exhaust", which="ip", density_fit=True) # Generate the L amplitude intermediates code for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "as_dict": True, - } - else: - kwargs = {} codegen( "hbar_lmatvec_ip_intermediates", returns_nr, - output_nr, - expr_nr, - **kwargs, + output_expr_nr, + as_dict=True, ) # Generate the L amplitude code for name, codegen in code_generators.items(): - if name == "einsum": - preamble = "ints = kwargs[\"ints\"]" - if spin == "uhf": - preamble += "\nr1new = Namespace()\nr2new = Namespace()" - kwargs = { - "preamble": preamble, - "as_dict": True, - } - else: - kwargs = {} codegen( "hbar_lmatvec_ip", returns_r, - output_r, - expr_r, - **kwargs, + output_expr_r, + as_dict=True, ) with Stopwatch("L-EA-EOM"): @@ -621,7 +446,7 @@ pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() terms_r1 = pq.fully_contracted_strings() - terms_r1 = remove_e0_eom(terms_r1) + terms_r1 = remove_reference_energy_eom(terms_r1) # Get the L2 contractions in pdaggerq format pq.clear() @@ -632,61 +457,27 @@ pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() terms_r2 = pq.fully_contracted_strings() - terms_r2 = remove_e0_eom(terms_r2) + terms_r2 = remove_reference_energy_eom(terms_r2) # Get the L amplitudes in albert format - terms = [terms_r1, terms_r2] - expr = [] - output = [] - returns = [] - for n in range(2): - for index_spins in get_amplitude_spins(n + 1, spin, which="ea"): - indices = default_indices["v"][: n + 1] + default_indices["o"][: n] - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins, l_is_lambda=False) - expr_n = spin_integrate(expr_n, spin) - expr_n = tuple(e.apply(get_density_fit()) for e in expr_n) - output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - - (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="exhaust") + returns_nr, output_expr_nr, returns_r, output_expr_r = get_eom([terms_r1, terms_r2], spin, strategy="exhaust", which="ea", density_fit=True) # Generate the L amplitude intermediates code for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "as_dict": True, - } - else: - kwargs = {} codegen( "hbar_lmatvec_ea_intermediates", returns_nr, - output_nr, - expr_nr, - **kwargs, + output_expr_nr, + as_dict=True, ) # Generate the L amplitude code for name, codegen in code_generators.items(): - if name == "einsum": - preamble = "ints = kwargs[\"ints\"]" - if spin == "uhf": - preamble += "\nr1new = Namespace()\nr2new = Namespace()" - kwargs = { - "preamble": preamble, - "as_dict": True, - } - else: - kwargs = {} codegen( "hbar_lmatvec_ea", returns_r, - output_r, - expr_r, - **kwargs, + output_expr_r, + as_dict=True, ) if spin == "ghf": # FIXME @@ -700,7 +491,7 @@ pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() terms_r1 = pq.fully_contracted_strings() - terms_r1 = remove_e0_eom(terms_r1) + terms_r1 = remove_reference_energy_eom(terms_r1) # Get the L2 contractions in pdaggerq format pq.clear() @@ -711,62 +502,46 @@ pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() terms_r2 = pq.fully_contracted_strings() - terms_r2 = remove_e0_eom(terms_r2) + terms_r2 = remove_reference_energy_eom(terms_r2) # Get the L amplitudes in albert format - terms = [terms_r1, terms_r2] - expr = [] - output = [] - returns = [] - for n in range(2): - for index_spins in get_amplitude_spins(n + 1, spin, which="ee"): - indices = default_indices["o"][: n + 1] + default_indices["v"][: n + 1] - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins, l_is_lambda=False) - expr_n = spin_integrate(expr_n, spin) - expr_n = tuple(e.apply(get_density_fit()) for e in expr_n) - output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - - (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="trav") + returns_nr, output_expr_nr, returns_r, output_expr_r = get_eom([terms_r1, terms_r2], spin, strategy="trav", which="ee", density_fit=True) # Generate the L amplitude intermediates code for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "as_dict": True, - } - else: - kwargs = {} codegen( "hbar_lmatvec_ee_intermediates", returns_nr, - output_nr, - expr_nr, - **kwargs, + output_expr_nr, + as_dict=True, ) # Generate the L amplitude code for name, codegen in code_generators.items(): - if name == "einsum": - preamble = "ints = kwargs[\"ints\"]" + def postamble(): if spin == "uhf": - preamble += "\nr1new = Namespace()\nr2new = Namespace()" - kwargs = { - "preamble": preamble, - "postamble": "r2new.baba = np.transpose(r2new.abab, (1, 0, 3, 2))" if spin == "uhf" else None, # FIXME - "as_dict": True, - } - else: - kwargs = {} + r2_abab = Tensor( + Index("i", space="o", spin="a"), + Index("j", space="v", spin="b"), + Index("a", space="o", spin="a"), + Index("b", space="v", spin="b"), + name="r2new", + ) + r2_baba = Tensor( + Index("i", space="o", spin="b"), + Index("j", space="v", spin="a"), + Index("a", space="o", spin="b"), + Index("b", space="v", spin="a"), + name="r2new", + ) + codegen.tensor_expression(r2_baba, r2_abab, is_return=True) + codegen( "hbar_lmatvec_ee", returns_r, - output_r, - expr_r, - **kwargs, + output_expr_r, + postamble=postamble, + as_dict=True, ) for codegen in code_generators.values(): diff --git a/ebcc/codegen/bootstrap_DFDCD.py b/ebcc/codegen/bootstrap_DFDCD.py index af154b9f..4e49f1cd 100644 --- a/ebcc/codegen/bootstrap_DFDCD.py +++ b/ebcc/codegen/bootstrap_DFDCD.py @@ -5,21 +5,24 @@ import sys import pdaggerq -from albert.qc._pdaggerq import import_from_pdaggerq -from albert.qc.index import Index +from albert.qc._pdaggerq import remove_reference_energy, remove_reference_energy_eom +from albert.qc.spin import ghf_to_uhf, ghf_to_rhf +from albert.qc import ghf, uhf, rhf from albert.tensor import Tensor +from albert.index import Index +from albert.code._ebcc import EBCCCodeGenerator +from albert.misc import Stopwatch +from albert.opt.tools import _tensor_info -from ebcc.codegen.bootstrap_common import * +from ebcc.codegen.bootstrap_common import get_energy, get_amplitudes, get_rdm1, get_rdm2, get_eom # Get the spin case spin = sys.argv[1] # Set up the code generators code_generators = { - "einsum": EinsumCodeGen( + "einsum": EBCCCodeGenerator( stdout=open(f"{spin[0].upper()}DFDCD.py", "w"), - name_generator=name_generators[spin], - spin=spin, ), } @@ -35,27 +38,21 @@ # Get the energy contractions in pdaggerq format pq.clear() pq.set_left_operators([["1"]]) - pq.add_st_operator(1.0, ["f"], ["t2"]) - pq.add_st_operator(1.0, ["v"], ["t2"]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() terms = pq.fully_contracted_strings() - terms = remove_hf_energy(terms) + terms = remove_reference_energy(terms) # Get the energy in albert format - expr = import_from_pdaggerq(terms) - expr = spin_integrate(expr, spin) - expr = tuple(e.apply(get_density_fit()) for e in expr) - output = tuple(Tensor(name="e_cc") for _ in range(len(expr))) - output, expr = optimise(output, expr, spin, strategy="exhaust") - returns = (Tensor(name="e_cc"),) + output_expr, returns = get_energy(terms, spin, density_fit=True) # Generate the energy code for codegen in code_generators.values(): codegen( "energy", returns, - output, - expr, + output_expr, ) with Stopwatch("T amplitudes"): @@ -74,36 +71,15 @@ ] # Get the T amplitudes in albert format - expr = [] - output = [] - returns = [] - for index_spins in get_amplitude_spins(2, spin): - indices = default_indices["o"][:2] + default_indices["v"][:2] - expr_n = import_from_pdaggerq(terms, index_spins=index_spins) - expr_n = spin_integrate(expr_n, spin) - expr_n = tuple(e.apply(get_density_fit()) for e in expr_n) - output_n = get_t_amplitude_outputs(expr_n, f"t2new") - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"t2new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - output, expr = optimise(output, expr, spin, strategy="exhaust") + output_expr, returns = get_amplitudes([terms], spin, orders=[2], density_fit=True) # Generate the T amplitude code for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "preamble": "t1new = Namespace()\nt2new = Namespace()" if spin == "uhf" else None, - "as_dict": True, - } - else: - kwargs = {} codegen( "update_amps", returns, - output, - expr, - **kwargs, + output_expr, + as_dict=True, ) for codegen in code_generators.values(): diff --git a/ebcc/codegen/bootstrap_DFDCSD.py b/ebcc/codegen/bootstrap_DFDCSD.py index 4f40f72b..7cca030a 100644 --- a/ebcc/codegen/bootstrap_DFDCSD.py +++ b/ebcc/codegen/bootstrap_DFDCSD.py @@ -5,21 +5,24 @@ import sys import pdaggerq -from albert.qc._pdaggerq import import_from_pdaggerq -from albert.qc.index import Index +from albert.qc._pdaggerq import remove_reference_energy, remove_reference_energy_eom +from albert.qc.spin import ghf_to_uhf, ghf_to_rhf +from albert.qc import ghf, uhf, rhf from albert.tensor import Tensor +from albert.index import Index +from albert.code._ebcc import EBCCCodeGenerator +from albert.misc import Stopwatch +from albert.opt.tools import _tensor_info -from ebcc.codegen.bootstrap_common import * +from ebcc.codegen.bootstrap_common import get_energy, get_amplitudes, get_rdm1, get_rdm2, get_eom # Get the spin case spin = sys.argv[1] # Set up the code generators code_generators = { - "einsum": EinsumCodeGen( + "einsum": EBCCCodeGenerator( stdout=open(f"{spin[0].upper()}DFDCSD.py", "w"), - name_generator=name_generators[spin], - spin=spin, ), } @@ -39,23 +42,17 @@ pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() terms = pq.fully_contracted_strings() - terms = remove_hf_energy(terms) + terms = remove_reference_energy(terms) # Get the energy in albert format - expr = import_from_pdaggerq(terms) - expr = spin_integrate(expr, spin) - expr = tuple(e.apply(get_density_fit()) for e in expr) - output = tuple(Tensor(name="e_cc") for _ in range(len(expr))) - output, expr = optimise(output, expr, spin, strategy="exhaust") - returns = (Tensor(name="e_cc"),) + output_expr, returns = get_energy(terms, spin, density_fit=True) # Generate the energy code for codegen in code_generators.values(): codegen( "energy", returns, - output, - expr, + output_expr, ) with Stopwatch("T amplitudes"): @@ -84,40 +81,18 @@ ] # Get the T amplitudes in albert format - terms = [terms_t1, terms_t2] - expr = [] - output = [] - returns = [] - for n in range(2): - for index_spins in get_amplitude_spins(n + 1, spin): - indices = default_indices["o"][: n + 1] + default_indices["v"][: n + 1] - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) - expr_n = spin_integrate(expr_n, spin) - expr_n = tuple(e.apply(get_density_fit()) for e in expr_n) - output_n = get_t_amplitude_outputs(expr_n, f"t{n+1}new") - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"t{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - output, expr = optimise(output, expr, spin, strategy="exhaust") + output_expr, returns = get_amplitudes([terms], spin, orders=[2], density_fit=True) # Generate the T amplitude code for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "preamble": "t1new = Namespace()\nt2new = Namespace()" if spin == "uhf" else None, - "as_dict": True, - } - else: - kwargs = {} codegen( "update_amps", returns, - output, - expr, - **kwargs, + output_expr, + as_dict=True, ) for codegen in code_generators.values(): codegen.postamble() codegen.stdout.close() + diff --git a/ebcc/codegen/bootstrap_DFQCISD.py b/ebcc/codegen/bootstrap_DFQCISD.py index cd7fa95c..c1cf85f0 100644 --- a/ebcc/codegen/bootstrap_DFQCISD.py +++ b/ebcc/codegen/bootstrap_DFQCISD.py @@ -5,21 +5,24 @@ import sys import pdaggerq -from albert.qc._pdaggerq import import_from_pdaggerq -from albert.qc.index import Index +from albert.qc._pdaggerq import remove_reference_energy, remove_reference_energy_eom +from albert.qc.spin import ghf_to_uhf, ghf_to_rhf +from albert.qc import ghf, uhf, rhf from albert.tensor import Tensor +from albert.index import Index +from albert.code._ebcc import EBCCCodeGenerator +from albert.misc import Stopwatch +from albert.opt.tools import _tensor_info -from ebcc.codegen.bootstrap_common import * +from ebcc.codegen.bootstrap_common import get_energy, get_amplitudes, get_rdm1, get_rdm2, get_eom # Get the spin case spin = sys.argv[1] # Set up the code generators code_generators = { - "einsum": EinsumCodeGen( + "einsum": EBCCCodeGenerator( stdout=open(f"{spin[0].upper()}DFQCISD.py", "w"), - name_generator=name_generators[spin], - spin=spin, ), } @@ -43,23 +46,17 @@ pq.add_commutator(1.0, ["v"], ["t2"]) pq.simplify() terms = pq.fully_contracted_strings() - terms = remove_hf_energy(terms) + terms = remove_reference_energy(terms) # Get the energy in albert format - expr = import_from_pdaggerq(terms) - expr = spin_integrate(expr, spin) - expr = tuple(e.apply(get_density_fit()) for e in expr) - output = tuple(Tensor(name="e_cc") for _ in range(len(expr))) - output, expr = optimise(output, expr, spin, strategy="exhaust") - returns = (Tensor(name="e_cc"),) + output_expr, returns = get_energy(terms, spin, density_fit=True) # Generate the energy code for codegen in code_generators.values(): codegen( "energy", returns, - output, - expr, + output_expr, ) with Stopwatch("T amplitudes"): @@ -90,38 +87,15 @@ terms_t2 = pq.fully_contracted_strings() # Get the T amplitudes in albert format - terms = [terms_t1, terms_t2] - expr = [] - output = [] - returns = [] - for n in range(2): - for index_spins in get_amplitude_spins(n + 1, spin): - indices = default_indices["o"][: n + 1] + default_indices["v"][: n + 1] - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) - expr_n = spin_integrate(expr_n, spin) - expr_n = tuple(e.apply(get_density_fit()) for e in expr_n) - output_n = get_t_amplitude_outputs(expr_n, f"t{n+1}new") - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"t{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - output, expr = optimise(output, expr, spin, strategy="exhaust") + output_expr, returns = get_amplitudes([terms_t1, terms_t2], spin, density_fit=True) # Generate the T amplitude code for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "preamble": "t1new = Namespace()\nt2new = Namespace()" if spin == "uhf" else None, - "as_dict": True, - } - else: - kwargs = {} codegen( "update_amps", returns, - output, - expr, - **kwargs, + output_expr, + as_dict=True, ) with Stopwatch("L amplitudes"): @@ -178,38 +152,15 @@ terms_l2 = pq.fully_contracted_strings() # Get the L amplitudes in albert format - terms = [terms_l1, terms_l2] - expr = [] - output = [] - returns = [] - for n in range(2): - for index_spins in get_amplitude_spins(n + 1, spin): - indices = default_indices["v"][: n + 1] + default_indices["o"][: n + 1] - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) - expr_n = spin_integrate(expr_n, spin) - expr_n = tuple(e.apply(get_density_fit()) for e in expr_n) - output_n = get_l_amplitude_outputs(expr_n, f"l{n+1}new") - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"l{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - output, expr = optimise(output, expr, spin, strategy="opt") + output_expr, returns = get_amplitudes([terms_l1, terms_l2], spin, strategy="opt" if spin == "uhf" else "exhaust", which="l", density_fit=True) # Generate the L amplitude code for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "preamble": "l1new = Namespace()\nl2new = Namespace()" if spin == "uhf" else None, - "as_dict": True, - } - else: - kwargs = {} codegen( "update_lams", returns, - output, - expr, - **kwargs, + output_expr, + as_dict=True, ) with Stopwatch("1RDM"): @@ -223,38 +174,40 @@ terms[sectors, indices] = pq.fully_contracted_strings() # Get the 1RDM in albert format - expr = [] - output = [] - returns = [] - for sectors, indices in [("oo", "ij"), ("ov", "ia"), ("vo", "ai"), ("vv", "ab")]: - for index_spins in get_density_spins(1, spin, indices): - expr_n = import_from_pdaggerq(terms[sectors, indices], index_spins=index_spins) - expr_n = spin_integrate(expr_n, spin) - expr_n = tuple(e.apply(get_density_fit()) for e in expr_n) - if spin == "rhf": - expr_n = tuple(e * 2 for e in expr_n) - output_n = get_density_outputs(expr_n, f"d", indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i], space=s) for i, s in zip(indices, sectors)), name=f"d"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - output, expr = optimise(output, expr, spin, strategy="exhaust") + output_expr, returns, deltas, deltas_sources = get_rdm1(terms, spin, density_fit=True) # Generate the 1RDM code for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "preamble": get_density_einsum_preamble(1, spin), - "postamble": get_density_einsum_postamble(1, spin), - } - else: - kwargs = {} + def preamble(): + done = set() + for delta, delta_source in zip(deltas, deltas_sources): + if delta in done: + continue + shape_source_index = 0 if delta.external_indices[0].space == "o" else 1 + codegen.tensor_declaration( + delta, + is_identity=True, + shape_source=delta_source, + shape_source_index=shape_source_index, + ) + codegen._tensor_declared.add(_tensor_info(delta)) + done.add(delta) + + def postamble(): + if name != "einsum": + raise NotImplementedError # FIXME remove packing + if spin != "uhf": + codegen.write("rdm1 = np.block([[rdm1.oo, rdm1.ov], [rdm1.vo, rdm1.vv]])") + else: + codegen.write("rdm1.aa = np.block([[rdm1.aa.oo, rdm1.aa.ov], [rdm1.aa.vo, rdm1.aa.vv]])") + codegen.write("rdm1.bb = np.block([[rdm1.bb.oo, rdm1.bb.ov], [rdm1.bb.vo, rdm1.bb.vv]])") + codegen( "make_rdm1_f", returns, - output, - expr, - **kwargs, + output_expr, + preamble=preamble, + postamble=postamble, ) with Stopwatch("2RDM"): @@ -287,51 +240,42 @@ terms[sectors, indices] = pq.fully_contracted_strings() # Get the 2RDM in albert format - expr = [] - output = [] - returns = [] - for sectors, indices in [ - ("oooo", "ijkl"), - ("ooov", "ijka"), - ("oovo", "ijak"), - ("ovoo", "iajk"), - ("vooo", "aijk"), - ("oovv", "ijab"), - ("ovov", "iajb"), - ("ovvo", "iabj"), - ("voov", "aijb"), - ("vovo", "aibj"), - ("vvoo", "abij"), - ("ovvv", "iabc"), - ("vovv", "aibc"), - ("vvov", "abic"), - ("vvvo", "abci"), - ("vvvv", "abcd"), - ]: - for index_spins in get_density_spins(2, spin, indices): - expr_n = import_from_pdaggerq(terms[sectors, indices], index_spins=index_spins) - expr_n = spin_integrate(expr_n, spin) - expr_n = tuple(e.apply(get_density_fit()) for e in expr_n) - output_n = get_density_outputs(expr_n, f"Γ", indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i], space=s) for i, s in zip(indices, sectors)), name=f"Γ"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - output, expr = optimise(output, expr, spin, strategy="trav") + output_expr, returns, deltas, deltas_sources = get_rdm2(terms, spin, strategy="trav" if spin == "uhf" else "exhaust", density_fit=True) # Generate the 2RDM code for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "preamble": get_density_einsum_preamble(2, spin), - "postamble": get_density_einsum_postamble(2, spin), - } + def preamble(): + done = set() + for delta, delta_source in zip(deltas, deltas_sources): + if delta in done: + continue + shape_source_index = 0 if delta.external_indices[0].space == "o" else 1 + codegen.tensor_declaration( + delta, + is_identity=True, + shape_source=delta_source, + shape_source_index=shape_source_index, + ) + codegen._tensor_declared.add(_tensor_info(delta)) + done.add(delta) + + def postamble(): + if name != "einsum": + raise NotImplementedError # FIXME remove packing, handle transpose + if spin != "uhf": + codegen.write("rdm2 = pack_2e(rdm2.oooo, rdm2.ooov, rdm2.oovo, rdm2.ovoo, rdm2.vooo, rdm2.oovv, rdm2.ovov, rdm2.ovvo, rdm2.voov, rdm2.vovo, rdm2.vvoo, rdm2.ovvv, rdm2.vovv, rdm2.vvov, rdm2.vvvo, rdm2.vvvv).transpose((0, 2, 1, 3))") + else: + codegen.write("rdm2.aaaa = pack_2e(rdm2.aaaa.oooo, rdm2.aaaa.ooov, rdm2.aaaa.oovo, rdm2.aaaa.ovoo, rdm2.aaaa.vooo, rdm2.aaaa.oovv, rdm2.aaaa.ovov, rdm2.aaaa.ovvo, rdm2.aaaa.voov, rdm2.aaaa.vovo, rdm2.aaaa.vvoo, rdm2.aaaa.ovvv, rdm2.aaaa.vovv, rdm2.aaaa.vvov, rdm2.aaaa.vvvo, rdm2.aaaa.vvvv).transpose((0, 2, 1, 3))") + codegen.write("rdm2.aabb = pack_2e(rdm2.abab.oooo, rdm2.abab.ooov, rdm2.abab.oovo, rdm2.abab.ovoo, rdm2.abab.vooo, rdm2.abab.oovv, rdm2.abab.ovov, rdm2.abab.ovvo, rdm2.abab.voov, rdm2.abab.vovo, rdm2.abab.vvoo, rdm2.abab.ovvv, rdm2.abab.vovv, rdm2.abab.vvov, rdm2.abab.vvvo, rdm2.abab.vvvv).transpose((0, 2, 1, 3))") + codegen.write("rdm2.bbbb = pack_2e(rdm2.bbbb.oooo, rdm2.bbbb.ooov, rdm2.bbbb.oovo, rdm2.bbbb.ovoo, rdm2.bbbb.vooo, rdm2.bbbb.oovv, rdm2.bbbb.ovov, rdm2.bbbb.ovvo, rdm2.bbbb.voov, rdm2.bbbb.vovo, rdm2.bbbb.vvoo, rdm2.bbbb.ovvv, rdm2.bbbb.vovv, rdm2.bbbb.vvov, rdm2.bbbb.vvvo, rdm2.bbbb.vvvv).transpose((0, 2, 1, 3))") + codegen.write("del rdm2.abab") + codegen( "make_rdm2_f", returns, - output, - expr, - **kwargs, + output_expr, + preamble=preamble, + postamble=postamble, ) with Stopwatch("IP-EOM"): @@ -348,7 +292,7 @@ pq.add_double_commutator(1.0, ["v"], ["t1"], ["t2"]) pq.simplify() terms_r1 = pq.fully_contracted_strings() - terms_r1 = remove_e0_eom(terms_r1) + terms_r1 = remove_reference_energy_eom(terms_r1) # Get the R2 contractions in pdaggerq format pq.clear() @@ -365,61 +309,27 @@ pq.add_double_commutator(0.5, ["v"], ["t2"], ["t2"]) pq.simplify() terms_r2 = pq.fully_contracted_strings() - terms_r2 = remove_e0_eom(terms_r2) + terms_r2 = remove_reference_energy_eom(terms_r2) # Get the R amplitudes in albert format - terms = [terms_r1, terms_r2] - expr = [] - output = [] - returns = [] - for n in range(2): - for index_spins in get_amplitude_spins(n + 1, spin, which="ip"): - indices = default_indices["o"][: n + 1] + default_indices["v"][: n] - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) - expr_n = spin_integrate(expr_n, spin) - expr_n = tuple(e.apply(get_density_fit()) for e in expr_n) - output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - - (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="opt") + output_expr_nr, returns_nr, output_expr_r, returns_r = get_eom([terms_r1, terms_r2], spin, strategy="exhaust", which="ip", density_fit=True) # Generate the R amplitude intermediates code for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "as_dict": True, - } - else: - kwargs = {} codegen( "hbar_matvec_ip_intermediates", returns_nr, - output_nr, - expr_nr, - **kwargs, + output_expr_nr, + as_dict=True, ) # Generate the R amplitude code for name, codegen in code_generators.items(): - if name == "einsum": - preamble = "ints = kwargs[\"ints\"]" - if spin == "uhf": - preamble += "\nr1new = Namespace()\nr2new = Namespace()" - kwargs = { - "preamble": preamble, - "as_dict": True, - } - else: - kwargs = {} codegen( "hbar_matvec_ip", returns_r, - output_r, - expr_r, - **kwargs, + output_expr_r, + as_dict=True, ) with Stopwatch("EA-EOM"): @@ -436,7 +346,7 @@ pq.add_double_commutator(1.0, ["v"], ["t1"], ["t2"]) pq.simplify() terms_r1 = pq.fully_contracted_strings() - terms_r1 = remove_e0_eom(terms_r1) + terms_r1 = remove_reference_energy_eom(terms_r1) # Get the R2 contractions in pdaggerq format pq.clear() @@ -453,61 +363,27 @@ pq.add_double_commutator(0.5, ["v"], ["t2"], ["t2"]) pq.simplify() terms_r2 = pq.fully_contracted_strings() - terms_r2 = remove_e0_eom(terms_r2) + terms_r2 = remove_reference_energy_eom(terms_r2) # Get the R amplitudes in albert format - terms = [terms_r1, terms_r2] - expr = [] - output = [] - returns = [] - for n in range(2): - for index_spins in get_amplitude_spins(n + 1, spin, which="ea"): - indices = default_indices["v"][: n + 1] + default_indices["o"][: n] - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) - expr_n = spin_integrate(expr_n, spin) - expr_n = tuple(e.apply(get_density_fit()) for e in expr_n) - output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - - (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="opt") + output_expr_nr, returns_nr, output_expr_r, returns_r = get_eom([terms_r1, terms_r2], spin, strategy="exhaust", which="ea", density_fit=True) # Generate the R amplitude intermediates code for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "as_dict": True, - } - else: - kwargs = {} codegen( "hbar_matvec_ea_intermediates", returns_nr, - output_nr, - expr_nr, - **kwargs, + output_expr_nr, + as_dict=True, ) # Generate the R amplitude code for name, codegen in code_generators.items(): - if name == "einsum": - preamble = "ints = kwargs[\"ints\"]" - if spin == "uhf": - preamble += "\nr1new = Namespace()\nr2new = Namespace()" - kwargs = { - "preamble": preamble, - "as_dict": True, - } - else: - kwargs = {} codegen( "hbar_matvec_ea", returns_r, - output_r, - expr_r, - **kwargs, + output_expr_r, + as_dict=True, ) if spin == "ghf": # FIXME @@ -525,7 +401,7 @@ pq.add_double_commutator(1.0, ["v"], ["t1"], ["t2"]) pq.simplify() terms_r1 = pq.fully_contracted_strings() - terms_r1 = remove_e0_eom(terms_r1) + terms_r1 = remove_reference_energy_eom(terms_r1) # Get the R2 contractions in pdaggerq format pq.clear() @@ -542,62 +418,46 @@ pq.add_double_commutator(0.5, ["v"], ["t2"], ["t2"]) pq.simplify() terms_r2 = pq.fully_contracted_strings() - terms_r2 = remove_e0_eom(terms_r2) + terms_r2 = remove_reference_energy_eom(terms_r2) # Get the R amplitudes in albert format - terms = [terms_r1, terms_r2] - expr = [] - output = [] - returns = [] - for n in range(2): - for index_spins in get_amplitude_spins(n + 1, spin, which="ee"): - indices = default_indices["o"][: n + 1] + default_indices["v"][: n + 1] - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) - expr_n = spin_integrate(expr_n, spin) - expr_n = tuple(e.apply(get_density_fit()) for e in expr_n) - output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - - (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="trav") + returns_nr, output_expr_nr, returns_r, output_expr_r = get_eom([terms_r1, terms_r2], spin, strategy="trav", which="ee", density_fit=True) # Generate the R amplitude intermediates code for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "as_dict": True, - } - else: - kwargs = {} codegen( "hbar_matvec_ee_intermediates", returns_nr, - output_nr, - expr_nr, - **kwargs, + output_expr_nr, + as_dict=True, ) # Generate the R amplitude code for name, codegen in code_generators.items(): - if name == "einsum": - preamble = "ints = kwargs[\"ints\"]" + def postamble(): if spin == "uhf": - preamble += "\nr1new = Namespace()\nr2new = Namespace()" - kwargs = { - "preamble": preamble, - "postamble": "r2new.baba = np.transpose(r2new.abab, (1, 0, 3, 2))" if spin == "uhf" else None, # FIXME - "as_dict": True, - } - else: - kwargs = {} + r2_abab = Tensor( + Index("i", space="o", spin="a"), + Index("j", space="v", spin="b"), + Index("a", space="o", spin="a"), + Index("b", space="v", spin="b"), + name="r2new", + ) + r2_baba = Tensor( + Index("i", space="o", spin="b"), + Index("j", space="v", spin="a"), + Index("a", space="o", spin="b"), + Index("b", space="v", spin="a"), + name="r2new", + ) + codegen.tensor_expression(r2_baba, r2_abab, is_return=True) + codegen( "hbar_matvec_ee", returns_r, - output_r, - expr_r, - **kwargs, + output_expr_r, + postamble=postamble, + as_dict=True, ) with Stopwatch("L-IP-EOM"): @@ -614,7 +474,7 @@ pq.add_double_commutator(1.0, ["v"], ["t1"], ["t2"]) pq.simplify() terms_r1 = pq.fully_contracted_strings() - terms_r1 = remove_e0_eom(terms_r1) + terms_r1 = remove_reference_energy_eom(terms_r1) # Get the L2 contractions in pdaggerq format pq.clear() @@ -631,61 +491,27 @@ pq.add_double_commutator(0.5, ["v"], ["t2"], ["t2"]) pq.simplify() terms_r2 = pq.fully_contracted_strings() - terms_r2 = remove_e0_eom(terms_r2) + terms_r2 = remove_reference_energy_eom(terms_r2) # Get the L amplitudes in albert format - terms = [terms_r1, terms_r2] - expr = [] - output = [] - returns = [] - for n in range(2): - for index_spins in get_amplitude_spins(n + 1, spin, which="ip"): - indices = default_indices["o"][: n + 1] + default_indices["v"][: n] - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins, l_is_lambda=False) - expr_n = spin_integrate(expr_n, spin) - expr_n = tuple(e.apply(get_density_fit()) for e in expr_n) - output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - - (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="opt") + returns_nr, output_expr_nr, returns_r, output_expr_r = get_eom([terms_r1, terms_r2], spin, strategy="exhaust", which="ip", density_fit=True) # Generate the L amplitude intermediates code for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "as_dict": True, - } - else: - kwargs = {} codegen( "hbar_lmatvec_ip_intermediates", returns_nr, - output_nr, - expr_nr, - **kwargs, + output_expr_nr, + as_dict=True, ) # Generate the L amplitude code for name, codegen in code_generators.items(): - if name == "einsum": - preamble = "ints = kwargs[\"ints\"]" - if spin == "uhf": - preamble += "\nr1new = Namespace()\nr2new = Namespace()" - kwargs = { - "preamble": preamble, - "as_dict": True, - } - else: - kwargs = {} codegen( "hbar_lmatvec_ip", returns_r, - output_r, - expr_r, - **kwargs, + output_expr_r, + as_dict=True, ) with Stopwatch("L-EA-EOM"): @@ -702,7 +528,7 @@ pq.add_double_commutator(1.0, ["v"], ["t1"], ["t2"]) pq.simplify() terms_r1 = pq.fully_contracted_strings() - terms_r1 = remove_e0_eom(terms_r1) + terms_r1 = remove_reference_energy_eom(terms_r1) # Get the L2 contractions in pdaggerq format pq.clear() @@ -719,61 +545,27 @@ pq.add_double_commutator(0.5, ["v"], ["t2"], ["t2"]) pq.simplify() terms_r2 = pq.fully_contracted_strings() - terms_r2 = remove_e0_eom(terms_r2) + terms_r2 = remove_reference_energy_eom(terms_r2) # Get the L amplitudes in albert format - terms = [terms_r1, terms_r2] - expr = [] - output = [] - returns = [] - for n in range(2): - for index_spins in get_amplitude_spins(n + 1, spin, which="ea"): - indices = default_indices["v"][: n + 1] + default_indices["o"][: n] - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins, l_is_lambda=False) - expr_n = spin_integrate(expr_n, spin) - expr_n = tuple(e.apply(get_density_fit()) for e in expr_n) - output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - - (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="opt") + returns_nr, output_expr_nr, returns_r, output_expr_r = get_eom([terms_r1, terms_r2], spin, strategy="exhaust", which="ea", density_fit=True) # Generate the L amplitude intermediates code for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "as_dict": True, - } - else: - kwargs = {} codegen( "hbar_lmatvec_ea_intermediates", returns_nr, - output_nr, - expr_nr, - **kwargs, + output_expr_nr, + as_dict=True, ) # Generate the L amplitude code for name, codegen in code_generators.items(): - if name == "einsum": - preamble = "ints = kwargs[\"ints\"]" - if spin == "uhf": - preamble += "\nr1new = Namespace()\nr2new = Namespace()" - kwargs = { - "preamble": preamble, - "as_dict": True, - } - else: - kwargs = {} codegen( "hbar_lmatvec_ea", returns_r, - output_r, - expr_r, - **kwargs, + output_expr_r, + as_dict=True, ) if spin == "ghf": # FIXME @@ -791,7 +583,7 @@ pq.add_double_commutator(1.0, ["v"], ["t1"], ["t2"]) pq.simplify() terms_r1 = pq.fully_contracted_strings() - terms_r1 = remove_e0_eom(terms_r1) + terms_r1 = remove_reference_energy_eom(terms_r1) # Get the L2 contractions in pdaggerq format pq.clear() @@ -808,62 +600,46 @@ pq.add_double_commutator(0.5, ["v"], ["t2"], ["t2"]) pq.simplify() terms_r2 = pq.fully_contracted_strings() - terms_r2 = remove_e0_eom(terms_r2) + terms_r2 = remove_reference_energy_eom(terms_r2) # Get the L amplitudes in albert format - terms = [terms_r1, terms_r2] - expr = [] - output = [] - returns = [] - for n in range(2): - for index_spins in get_amplitude_spins(n + 1, spin, which="ee"): - indices = default_indices["o"][: n + 1] + default_indices["v"][: n + 1] - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins, l_is_lambda=False) - expr_n = spin_integrate(expr_n, spin) - expr_n = tuple(e.apply(get_density_fit()) for e in expr_n) - output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - - (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="trav") + returns_nr, output_expr_nr, returns_r, output_expr_r = get_eom([terms_r1, terms_r2], spin, strategy="trav", which="ee", density_fit=True) # Generate the L amplitude intermediates code for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "as_dict": True, - } - else: - kwargs = {} codegen( "hbar_lmatvec_ee_intermediates", returns_nr, - output_nr, - expr_nr, - **kwargs, + output_expr_nr, + as_dict=True, ) # Generate the L amplitude code for name, codegen in code_generators.items(): - if name == "einsum": - preamble = "ints = kwargs[\"ints\"]" + def postamble(): if spin == "uhf": - preamble += "\nr1new = Namespace()\nr2new = Namespace()" - kwargs = { - "preamble": preamble, - "postamble": "r2new.baba = np.transpose(r2new.abab, (1, 0, 3, 2))" if spin == "uhf" else None, # FIXME - "as_dict": True, - } - else: - kwargs = {} + r2_abab = Tensor( + Index("i", space="o", spin="a"), + Index("j", space="v", spin="b"), + Index("a", space="o", spin="a"), + Index("b", space="v", spin="b"), + name="r2new", + ) + r2_baba = Tensor( + Index("i", space="o", spin="b"), + Index("j", space="v", spin="a"), + Index("a", space="o", spin="b"), + Index("b", space="v", spin="a"), + name="r2new", + ) + codegen.tensor_expression(r2_baba, r2_abab, is_return=True) + codegen( "hbar_lmatvec_ee", returns_r, - output_r, - expr_r, - **kwargs, + output_expr_r, + postamble=postamble, + as_dict=True, ) for codegen in code_generators.values(): diff --git a/ebcc/codegen/bootstrap_MPn.py b/ebcc/codegen/bootstrap_MPn.py index c8116734..874f382a 100644 --- a/ebcc/codegen/bootstrap_MPn.py +++ b/ebcc/codegen/bootstrap_MPn.py @@ -2,14 +2,21 @@ Generate the MPn code. """ +import itertools import sys import pdaggerq -from albert.qc._pdaggerq import import_from_pdaggerq +from albert.qc._pdaggerq import remove_reference_energy, remove_reference_energy_eom +from albert.qc.spin import ghf_to_uhf, ghf_to_rhf +from albert.qc import ghf, uhf, rhf from albert.tensor import Tensor +from albert.index import Index +from albert.code._ebcc import EBCCCodeGenerator +from albert.misc import Stopwatch +from albert.opt.tools import _tensor_info +from ebcc.codegen.bootstrap_common import get_energy, get_amplitudes, get_rdm1, get_rdm2, get_eom from ebcc.codegen import bootstrap_hugenholtz as hugenholtz -from ebcc.codegen.bootstrap_common import * # Get the spin case spin = sys.argv[1] @@ -17,10 +24,8 @@ # Set up the code generators code_generators = { - "einsum": EinsumCodeGen( - stdout=open(f"{spin[0].upper()}MP{order}.py", "w"), - name_generator=name_generators[spin], - spin=spin, + "einsum": EBCCCodeGenerator( + stdout=open(f"{spin[0].upper()}CCSD.py", "w"), ), } @@ -36,55 +41,14 @@ ], []) # Get the energy in albert format - expr = import_from_pdaggerq(terms) - expr = spin_integrate(expr, spin) - output = tuple(Tensor(name="e_mp") for _ in range(len(expr))) - output, expr = optimise(output, expr, spin, strategy="exhaust") - returns = (Tensor(name="e_mp"),) - - # Get the denominators for higher orders - if order > 3: - if spin != "uhf": - lines = [] - for n in ([2] if order in (2, 3) else list(range(1, order+1))): - subscripts = ["ia", "jb", "kc", "ld", "me", "nf"][:n] - lines += [ - " denom%d = 1 / direct_sum(" % n, - " \"%s->%s%s\"," % ("+".join(subscripts), "".join([s[0] for s in subscripts]), "".join([s[1] for s in subscripts])), - ] - for subscript in subscripts: - lines.append( - " direct_sum(\"%s->%s\", np.diag(f.oo), np.diag(f.vv))," - % ("-".join(list(subscript)), subscript) - ) - lines.append(" )") - else: - lines = [ - " denom3 = Namespace()", - ] - for n in ([2] if order in (2, 3) else list(range(1, order+1))): - spins_list = [list(y) for y in sorted(set("".join(sorted(x)) for x in itertools.product("ab", repeat=n)))] - for spins in spins_list: - subscripts = ["ia", "jb", "kc", "ld", "me", "nf"][:n] - lines += [ - " denom%d.%s%s = 1 / direct_sum(" % (n, "".join(spins), "".join(spins)), - " \"%s->%s%s\"," % ("+".join(subscripts), "".join([s[0] for s in subscripts]), "".join([s[1] for s in subscripts])), - ] - for subscript, spin in zip(subscripts, spins): - lines.append( - " direct_sum(\"%s->%s\", np.diag(f.%s%s.oo), np.diag(f.%s%s.vv))," - % ("-".join(list(subscript)), subscript, spin, spin, spin, spin) - ) - lines.append(" )") - function_printer.write_python("\n".join(lines)+"\n") + output_expr, returns = get_energy(terms, spin) # Generate the energy code for codegen in code_generators.values(): codegen( "energy", returns, - output, - expr, + output_expr, ) if order == 2: @@ -99,53 +63,46 @@ } # Get the 1RDM in albert format - expr = [] - output = [] - returns = [] - for sectors, indices in [("oo", "ij"), ("ov", "ia"), ("vo", "ai"), ("vv", "ab")]: - if (sectors, indices) not in terms: - continue - for index_spins in get_density_spins(1, spin, indices): - expr_n = import_from_pdaggerq(terms[sectors, indices], index_spins=index_spins) - if not (isinstance(expr_n, int) and expr_n == 0): - expr_n = spin_integrate(expr_n, spin) - if spin == "rhf": - expr_n = tuple(e * 2 for e in expr_n) - output_n = get_density_outputs(expr_n, f"d", indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i], space=s) for i, s in zip(indices, sectors)), name=f"d"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - output, expr = optimise(output, expr, spin, strategy="exhaust") + output_expr, returns, deltas, deltas_sources = get_rdm1(terms, spin) # Generate the 1RDM code for name, codegen in code_generators.items(): - if name == "einsum": - def get_postamble(n, spin, name="rdm{n}"): - nm = name.format(n=n) - postamble = "" - if spin != "uhf": - for occ in ("ov", "vo"): - shape = ", ".join(f"t2.shape[{'0' if o == 'o' else '-1'}]" for o in occ) - postamble += f"{nm}.{occ} = np.zeros(({shape}))\n" - else: - for s in "ab": - for occ in ("ov", "vo"): - shape = ", ".join(f"t2.{s}{s}{s}{s}.shape[{'0' if o == 'o' else '-1'}]" for o in occ) - postamble += f"{nm}.{s}{s}.{occ} = np.zeros(({shape}))\n" - return postamble + get_density_einsum_postamble(n, spin) - kwargs = { - "preamble": get_density_einsum_preamble(1, spin), - "postamble": get_postamble(1, spin), - } - else: - kwargs = {} + def preamble(): + done = set() + for delta, delta_source in zip(deltas, deltas_sources): + if delta in done: + continue + shape_source_index = 0 if delta.external_indices[0].space == "o" else 1 + codegen.tensor_declaration( + delta, + is_identity=True, + shape_source=delta_source, + shape_source_index=shape_source_index, + ) + codegen._tensor_declared.add(_tensor_info(delta)) + done.add(delta) + + def postamble(): + if name != "einsum": + raise NotImplementedError # FIXME remove packing + if spin != "uhf": + codegen.write("rdm1.ov = np.zeros((t1.shape[0], t1.shape[1]))") + codegen.write("rdm1.vo = np.zeros((t1.shape[1], t1.shape[0]))") + codegen.write("rdm1 = np.block([[rdm1.oo, rdm1.ov], [rdm1.vo, rdm1.vv]])") + else: + codegen.write("rdm1.aa.ov = np.zeros((t1.aa.shape[0], t1.aa.shape[1]))") + codegen.write("rdm1.aa.vo = np.zeros((t1.aa.shape[1], t1.aa.shape[0]))") + codegen.write("rdm1.bb.ov = np.zeros((t1.bb.shape[0], t1.bb.shape[1]))") + codegen.write("rdm1.bb.vo = np.zeros((t1.bb.shape[1], t1.bb.shape[0]))") + codegen.write("rdm1.aa = np.block([[rdm1.aa.oo, rdm1.aa.ov], [rdm1.aa.vo, rdm1.aa.vv]])") + codegen.write("rdm1.bb = np.block([[rdm1.bb.oo, rdm1.bb.ov], [rdm1.bb.vo, rdm1.bb.vv]])") + codegen( "make_rdm1_f", returns, - output, - expr, - **kwargs, + output_expr, + preamble=preamble, + postamble=postamble, ) with Stopwatch("2RDM"): @@ -156,124 +113,95 @@ def get_postamble(n, spin, name="rdm{n}"): } # Get the 2RDM in albert format - expr = [] - output = [] - returns = [] - for sectors, indices in [ - ("oooo", "ijkl"), - ("ooov", "ijka"), - ("oovo", "ijak"), - ("ovoo", "iajk"), - ("vooo", "aijk"), - ("oovv", "ijab"), - ("ovov", "iajb"), - ("ovvo", "iabj"), - ("voov", "aijb"), - ("vovo", "aibj"), - ("vvoo", "abij"), - ("ovvv", "iabc"), - ("vovv", "aibc"), - ("vvov", "abic"), - ("vvvo", "abci"), - ("vvvv", "abcd"), - ]: - if (sectors, indices) not in terms: - terms[sectors, indices] = [] - for index_spins in get_density_spins(2, spin, indices): - expr_n = import_from_pdaggerq(terms[sectors, indices], index_spins=index_spins) - if not (isinstance(expr_n, int) and expr_n == 0): - expr_n = spin_integrate(expr_n, spin) - output_n = get_density_outputs(expr_n, f"Γ", indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i], space=s) for i, s in zip(indices, sectors)), name=f"Γ"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - output, expr = optimise(output, expr, spin, strategy="exhaust") + output_expr, returns, deltas, deltas_sources = get_rdm2(terms, spin, strategy="trav" if spin == "uhf" else "exhaust") # Generate the 2RDM code for name, codegen in code_generators.items(): - if name == "einsum": - def get_postamble(n, spin, name="rdm{n}"): - nm = name.format(n=n) - postamble = "" - if spin != "uhf": - for occ in [k[0] for k, v in terms.items() if not v]: - shape = ", ".join(f"t2.shape[{'0' if o == 'o' else '-1'}]" for o in occ) - postamble += f"{nm}.{occ} = np.zeros(({shape}))\n" - else: - for s1, s2 in [("a", "a"), ("a", "b"), ("b", "b")]: - for occ in [k[0] for k, v in terms.items() if not v]: - shape = ", ".join(f"t2.{s}{s}{s}{s}.shape[{'0' if o == 'o' else '-1'}]" for o, s in zip(occ, s1+s2+s1+s2)) - postamble += f"{nm}.{s1}{s2}{s1}{s2}.{occ} = np.zeros(({shape}))\n" - - # Pack - postamble += get_density_einsum_postamble(n, spin) - - # Add the one-body terms -- adapted from pyscf - # Can be done succinctly with tensor expressions but requires - # a second Norb^4 tensor - postamble += "\nrdm1 = make_rdm1_f(t2=t2, l2=l2)\n" - if spin == "uhf": - postamble += "delta = Namespace(\n" - postamble += " aa=np.diag(np.concatenate([np.ones(t2.aaaa.shape[0]), np.zeros(t2.aaaa.shape[-1])])),\n" - postamble += " bb=np.diag(np.concatenate([np.ones(t2.bbbb.shape[0]), np.zeros(t2.bbbb.shape[-1])])),\n" - postamble += ")\n" - postamble += "rdm1.aa -= delta.aa\n" - postamble += "rdm1.bb -= delta.bb\n" - postamble += "rdm2.aaaa += einsum(delta.aa, (0, 1), rdm1.aa, (3, 2), (0, 1, 2, 3))\n" - postamble += "rdm2.aaaa += einsum(rdm1.aa, (1, 0), delta.aa, (2, 3), (0, 1, 2, 3))\n" - postamble += "rdm2.aaaa -= einsum(delta.aa, (0, 3), rdm1.aa, (2, 1), (0, 1, 2, 3))\n" - postamble += "rdm2.aaaa -= einsum(rdm1.aa, (0, 3), delta.aa, (1, 2), (0, 1, 2, 3))\n" - postamble += "rdm2.aaaa += einsum(delta.aa, (0, 1), delta.aa, (2, 3), (0, 1, 2, 3))\n" - postamble += "rdm2.aaaa -= einsum(delta.aa, (0, 3), delta.aa, (1, 2), (0, 1, 2, 3))\n" - postamble += "rdm2.bbbb += einsum(delta.bb, (0, 1), rdm1.bb, (3, 2), (0, 1, 2, 3))\n" - postamble += "rdm2.bbbb += einsum(rdm1.bb, (1, 0), delta.bb, (2, 3), (0, 1, 2, 3))\n" - postamble += "rdm2.bbbb -= einsum(delta.bb, (0, 3), rdm1.bb, (2, 1), (0, 1, 2, 3))\n" - postamble += "rdm2.bbbb -= einsum(rdm1.bb, (0, 3), delta.bb, (1, 2), (0, 1, 2, 3))\n" - postamble += "rdm2.bbbb += einsum(delta.bb, (0, 1), delta.bb, (2, 3), (0, 1, 2, 3))\n" - postamble += "rdm2.bbbb -= einsum(delta.bb, (0, 3), delta.bb, (1, 2), (0, 1, 2, 3))\n" - postamble += "rdm2.aabb += einsum(delta.aa, (0, 1), rdm1.bb, (3, 2), (0, 1, 2, 3))\n" - postamble += "rdm2.aabb += einsum(rdm1.aa, (1, 0), delta.bb, (2, 3), (0, 1, 2, 3))\n" - postamble += "rdm2.aabb += einsum(delta.aa, (0, 1), delta.bb, (2, 3), (0, 1, 2, 3))" - elif spin == "ghf": - postamble += "delta = np.diag(np.concatenate([np.ones(t2.shape[0]), np.zeros(t2.shape[-1])]))\n" - postamble += "rdm1 -= delta\n" - postamble += "rdm2 += einsum(delta, (0, 1), rdm1, (3, 2), (0, 1, 2, 3))\n" - postamble += "rdm2 += einsum(rdm1, (1, 0), delta, (2, 3), (0, 1, 2, 3))\n" - postamble += "rdm2 -= einsum(delta, (0, 3), rdm1, (2, 1), (0, 1, 2, 3))\n" - postamble += "rdm2 -= einsum(rdm1, (0, 3), delta, (1, 2), (0, 1, 2, 3))\n" - postamble += "rdm2 += einsum(delta, (0, 1), delta, (2, 3), (0, 1, 2, 3))\n" - postamble += "rdm2 -= einsum(delta, (0, 3), delta, (1, 2), (0, 1, 2, 3))" - elif spin == "rhf": - postamble += "delta = np.diag(np.concatenate([np.ones(t2.shape[0]), np.zeros(t2.shape[-1])]))\n" - postamble += "rdm1 -= delta * 2\n" - postamble += "rdm2 += einsum(delta, (0, 1), rdm1, (3, 2), (0, 1, 2, 3)) * 2\n" - postamble += "rdm2 += einsum(rdm1, (1, 0), delta, (2, 3), (0, 1, 2, 3)) * 2\n" - postamble += "rdm2 -= einsum(delta, (0, 3), rdm1, (2, 1), (0, 1, 2, 3))\n" - postamble += "rdm2 -= einsum(rdm1, (0, 3), delta, (1, 2), (0, 1, 2, 3))\n" - postamble += "rdm2 += einsum(delta, (0, 1), delta, (2, 3), (0, 1, 2, 3)) * 4\n" - postamble += "rdm2 -= einsum(delta, (0, 3), delta, (1, 2), (0, 1, 2, 3)) * 2" - - return postamble - - def get_preamble(n, spin, name="rdm{n}"): - name = name.format(n=n) - preamble = f"{name} = Namespace()" - if spin == "uhf": - for spins in itertools.combinations_with_replacement(["a", "b"], n): - preamble += f"\n{name}.{''.join(spins+spins)} = Namespace()" - return preamble - - kwargs = { - "preamble": get_preamble(2, spin), - "postamble": get_postamble(2, spin), - } + def preamble(): + done = set() + for delta, delta_source in zip(deltas, deltas_sources): + if delta in done: + continue + shape_source_index = 0 if delta.external_indices[0].space == "o" else 1 + codegen.tensor_declaration( + delta, + is_identity=True, + shape_source=delta_source, + shape_source_index=shape_source_index, + ) + codegen._tensor_declared.add(_tensor_info(delta)) + done.add(delta) + + def postamble(): + if name != "einsum": + raise NotImplementedError # FIXME remove packing, handle transpose + if spin != "uhf": + for key in itertools.product("ov", repeat=4): + if tuple(key) in {("o", "o", "v", "v") , ("v", "v", "o", "o")}: + continue + i, j, k, l = ["ov".index(k) for k in key] + codegen.write(f"rdm2.{key} = np.zeros((t1.shape[{i}], t1.shape[{j}], t1.shape[{k}], t1.shape[{l}]))") + codegen.write("rdm2 = pack_2e(rdm2.oooo, rdm2.ooov, rdm2.oovo, rdm2.ovoo, rdm2.vooo, rdm2.oovv, rdm2.ovov, rdm2.ovvo, rdm2.voov, rdm2.vovo, rdm2.vvoo, rdm2.ovvv, rdm2.vovv, rdm2.vvov, rdm2.vvvo, rdm2.vvvv).transpose((0, 2, 1, 3))") + else: + for spin in ("aaaa", "aabb", "bbbb"): + for key in itertools.product("ov", repeat=4): + if tuple(key) in {("o", "o", "v", "v") , ("v", "v", "o", "o")}: + continue + i, j, k, l = ["ov".index(k) for k in key] + si, sj, sk, sl = spin + codegen.write(f"rdm2.{spin}.{key} = np.zeros((t1.{si}.shape[{i}], t1.{sj}.shape[{j}], t1.{sk}.shape[{k}], t1.{sl}.shape[{l}]))") + codegen.write("rdm2.aaaa = pack_2e(rdm2.aaaa.oooo, rdm2.aaaa.ooov, rdm2.aaaa.oovo, rdm2.aaaa.ovoo, rdm2.aaaa.vooo, rdm2.aaaa.oovv, rdm2.aaaa.ovov, rdm2.aaaa.ovvo, rdm2.aaaa.voov, rdm2.aaaa.vovo, rdm2.aaaa.vvoo, rdm2.aaaa.ovvv, rdm2.aaaa.vovv, rdm2.aaaa.vvov, rdm2.aaaa.vvvo, rdm2.aaaa.vvvv).transpose((0, 2, 1, 3))") + codegen.write("rdm2.aabb = pack_2e(rdm2.abab.oooo, rdm2.abab.ooov, rdm2.abab.oovo, rdm2.abab.ovoo, rdm2.abab.vooo, rdm2.abab.oovv, rdm2.abab.ovov, rdm2.abab.ovvo, rdm2.abab.voov, rdm2.abab.vovo, rdm2.abab.vvoo, rdm2.abab.ovvv, rdm2.abab.vovv, rdm2.abab.vvov, rdm2.abab.vvvo, rdm2.abab.vvvv).transpose((0, 2, 1, 3))") + codegen.write("rdm2.bbbb = pack_2e(rdm2.bbbb.oooo, rdm2.bbbb.ooov, rdm2.bbbb.oovo, rdm2.bbbb.ovoo, rdm2.bbbb.vooo, rdm2.bbbb.oovv, rdm2.bbbb.ovov, rdm2.bbbb.ovvo, rdm2.bbbb.voov, rdm2.bbbb.vovo, rdm2.bbbb.vvoo, rdm2.bbbb.ovvv, rdm2.bbbb.vovv, rdm2.bbbb.vvov, rdm2.bbbb.vvvo, rdm2.bbbb.vvvv).transpose((0, 2, 1, 3))") + codegen.write("del rdm2.abab") + codegen.write("rdm1 = make_rdm1_f(t2=t2, l2=l2)") + if spin == "uhf": + codegen.write("delta = Namespace(") + codegen.write(" aa=np.diag(np.concatenate([np.ones(t2.aaaa.shape[0]), np.zeros(t2.aaaa.shape[-1])])),") + codegen.write(" bb=np.diag(np.concatenate([np.ones(t2.bbbb.shape[0]), np.zeros(t2.bbbb.shape[-1])])),") + codegen.write(")") + codegen.write("rdm1.aa -= delta.aa") + codegen.write("rdm1.bb -= delta.bb") + codegen.write("rdm2.aaaa += einsum(delta.aa, (0, 1), rdm1.aa, (3, 2), (0, 1, 2, 3))") + codegen.write("rdm2.aaaa += einsum(rdm1.aa, (1, 0), delta.aa, (2, 3), (0, 1, 2, 3))") + codegen.write("rdm2.aaaa -= einsum(delta.aa, (0, 3), rdm1.aa, (2, 1), (0, 1, 2, 3))") + codegen.write("rdm2.aaaa -= einsum(rdm1.aa, (0, 3), delta.aa, (1, 2), (0, 1, 2, 3))") + codegen.write("rdm2.aaaa += einsum(delta.aa, (0, 1), delta.aa, (2, 3), (0, 1, 2, 3))") + codegen.write("rdm2.aaaa -= einsum(delta.aa, (0, 3), delta.aa, (1, 2), (0, 1, 2, 3))") + codegen.write("rdm2.bbbb += einsum(delta.bb, (0, 1), rdm1.bb, (3, 2), (0, 1, 2, 3))") + codegen.write("rdm2.bbbb += einsum(rdm1.bb, (1, 0), delta.bb, (2, 3), (0, 1, 2, 3))") + codegen.write("rdm2.bbbb -= einsum(delta.bb, (0, 3), rdm1.bb, (2, 1), (0, 1, 2, 3))") + codegen.write("rdm2.bbbb -= einsum(rdm1.bb, (0, 3), delta.bb, (1, 2), (0, 1, 2, 3))") + codegen.write("rdm2.bbbb += einsum(delta.bb, (0, 1), delta.bb, (2, 3), (0, 1, 2, 3))") + codegen.write("rdm2.bbbb -= einsum(delta.bb, (0, 3), delta.bb, (1, 2), (0, 1, 2, 3))") + codegen.write("rdm2.aabb += einsum(delta.aa, (0, 1), rdm1.bb, (3, 2), (0, 1, 2, 3))") + codegen.write("rdm2.aabb += einsum(rdm1.aa, (1, 0), delta.bb, (2, 3), (0, 1, 2, 3))") + codegen.write("rdm2.aabb += einsum(delta.aa, (0, 1), delta.bb, (2, 3), (0, 1, 2, 3))" + elif spin == "ghf": + codegen.write("delta = np.diag(np.concatenate([np.ones(t2.shape[0]), np.zeros(t2.shape[-1])]))") + codegen.write("rdm1 -= delta") + codegen.write("rdm2 += einsum(delta, (0, 1), rdm1, (3, 2), (0, 1, 2, 3))") + codegen.write("rdm2 += einsum(rdm1, (1, 0), delta, (2, 3), (0, 1, 2, 3))") + codegen.write("rdm2 -= einsum(delta, (0, 3), rdm1, (2, 1), (0, 1, 2, 3))") + codegen.write("rdm2 -= einsum(rdm1, (0, 3), delta, (1, 2), (0, 1, 2, 3))") + codegen.write("rdm2 += einsum(delta, (0, 1), delta, (2, 3), (0, 1, 2, 3))") + codegen.write("rdm2 -= einsum(delta, (0, 3), delta, (1, 2), (0, 1, 2, 3))" + elif spin == "rhf": + codegen.write("delta = np.diag(np.concatenate([np.ones(t2.shape[0]), np.zeros(t2.shape[-1])]))") + codegen.write("rdm1 -= delta * 2") + codegen.write("rdm2 += einsum(delta, (0, 1), rdm1, (3, 2), (0, 1, 2, 3)) * 2") + codegen.write("rdm2 += einsum(rdm1, (1, 0), delta, (2, 3), (0, 1, 2, 3)) * 2") + codegen.write("rdm2 -= einsum(delta, (0, 3), rdm1, (2, 1), (0, 1, 2, 3))") + codegen.write("rdm2 -= einsum(rdm1, (0, 3), delta, (1, 2), (0, 1, 2, 3))") + codegen.write("rdm2 += einsum(delta, (0, 1), delta, (2, 3), (0, 1, 2, 3)) * 4") + codegen.write("rdm2 -= einsum(delta, (0, 3), delta, (1, 2), (0, 1, 2, 3)) * 2") + codegen( "make_rdm2_f", returns, - output, - expr, - **kwargs, + output_expr, + preamble=preamble, + postamble=postamble, ) with Stopwatch("IP-EOM"): @@ -293,57 +221,24 @@ def get_preamble(n, spin, name="rdm{n}"): ] # Get the R amplitudes in albert format - terms = [terms_r1, terms_r2] - expr = [] - output = [] - returns = [] - for n in range(2): - for index_spins in get_amplitude_spins(n + 1, spin, which="ip"): - indices = default_indices["o"][: n + 1] + default_indices["v"][: n] - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) - expr_n = spin_integrate(expr_n, spin) - output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - - (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="exhaust") + output_expr_nr, returns_nr, output_expr_r, returns_r = get_eom([terms_r1, terms_r2], spin, strategy="exhaust", which="ip") # Generate the R amplitude intermediates code for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "as_dict": True, - } - else: - kwargs = {} codegen( "hbar_matvec_ip_intermediates", returns_nr, - output_nr, - expr_nr, - **kwargs, + output_expr_nr, + as_dict=True, ) # Generate the R amplitude code for name, codegen in code_generators.items(): - if name == "einsum": - preamble = "ints = kwargs[\"ints\"]" - if spin == "uhf": - preamble += "\nr1new = Namespace()\nr2new = Namespace()" - kwargs = { - "preamble": preamble, - "as_dict": True, - } - else: - kwargs = {} codegen( "hbar_matvec_ip", returns_r, - output_r, - expr_r, - **kwargs, + output_expr_r, + as_dict=True, ) with Stopwatch("EA-EOM"): @@ -363,57 +258,24 @@ def get_preamble(n, spin, name="rdm{n}"): ] # Get the R amplitudes in albert format - terms = [terms_r1, terms_r2] - expr = [] - output = [] - returns = [] - for n in range(2): - for index_spins in get_amplitude_spins(n + 1, spin, which="ea"): - indices = default_indices["v"][: n + 1] + default_indices["o"][: n] - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) - expr_n = spin_integrate(expr_n, spin) - output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - - (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="exhaust") + output_expr_nr, returns_nr, output_expr_r, returns_r = get_eom([terms_r1, terms_r2], spin, strategy="exhaust", which="ea") # Generate the R amplitude intermediates code for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "as_dict": True, - } - else: - kwargs = {} codegen( "hbar_matvec_ea_intermediates", returns_nr, - output_nr, - expr_nr, - **kwargs, + output_expr_nr, + as_dict=True, ) # Generate the R amplitude code for name, codegen in code_generators.items(): - if name == "einsum": - preamble = "ints = kwargs[\"ints\"]" - if spin == "uhf": - preamble += "\nr1new = Namespace()\nr2new = Namespace()" - kwargs = { - "preamble": preamble, - "as_dict": True, - } - else: - kwargs = {} codegen( "hbar_matvec_ea", returns_r, - output_r, - expr_r, - **kwargs, + output_expr_r, + as_dict=True, ) if spin == "ghf": # FIXME @@ -439,58 +301,43 @@ def get_preamble(n, spin, name="rdm{n}"): ] # Get the R amplitudes in albert format - terms = [terms_r1, terms_r2] - expr = [] - output = [] - returns = [] - for n in range(2): - for index_spins in get_amplitude_spins(n + 1, spin, which="ee"): - indices = default_indices["o"][: n + 1] + default_indices["v"][: n + 1] - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) - expr_n = spin_integrate(expr_n, spin) - output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - - (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="trav") + returns_nr, output_expr_nr, returns_r, output_expr_r = get_eom([terms_r1, terms_r2], spin, strategy="trav", which="ee") # Generate the R amplitude intermediates code for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "as_dict": True, - } - else: - kwargs = {} codegen( "hbar_matvec_ee_intermediates", returns_nr, - output_nr, - expr_nr, - **kwargs, + output_expr_nr, + as_dict=True, ) # Generate the R amplitude code for name, codegen in code_generators.items(): - if name == "einsum": - preamble = "ints = kwargs[\"ints\"]" + def postamble(): if spin == "uhf": - preamble += "\nr1new = Namespace()\nr2new = Namespace()" - kwargs = { - "preamble": preamble, - "postamble": "r2new.baba = np.transpose(r2new.abab, (1, 0, 3, 2))" if spin == "uhf" else None, # FIXME - "as_dict": True, - } - else: - kwargs = {} + r2_abab = Tensor( + Index("i", space="o", spin="a"), + Index("j", space="v", spin="b"), + Index("a", space="o", spin="a"), + Index("b", space="v", spin="b"), + name="r2new", + ) + r2_baba = Tensor( + Index("i", space="o", spin="b"), + Index("j", space="v", spin="a"), + Index("a", space="o", spin="b"), + Index("b", space="v", spin="a"), + name="r2new", + ) + codegen.tensor_expression(r2_baba, r2_abab, is_return=True) + codegen( "hbar_matvec_ee", returns_r, - output_r, - expr_r, - **kwargs, + output_expr_r, + postamble=postamble, + as_dict=True, ) for codegen in code_generators.values(): diff --git a/ebcc/codegen/bootstrap_QCISD.py b/ebcc/codegen/bootstrap_QCISD.py index 4e30547c..c508e783 100644 --- a/ebcc/codegen/bootstrap_QCISD.py +++ b/ebcc/codegen/bootstrap_QCISD.py @@ -5,21 +5,24 @@ import sys import pdaggerq -from albert.qc._pdaggerq import import_from_pdaggerq -from albert.qc.index import Index +from albert.qc._pdaggerq import remove_reference_energy, remove_reference_energy_eom +from albert.qc.spin import ghf_to_uhf, ghf_to_rhf +from albert.qc import ghf, uhf, rhf from albert.tensor import Tensor +from albert.index import Index +from albert.code._ebcc import EBCCCodeGenerator +from albert.misc import Stopwatch +from albert.opt.tools import _tensor_info -from ebcc.codegen.bootstrap_common import * +from ebcc.codegen.bootstrap_common import get_energy, get_amplitudes, get_rdm1, get_rdm2, get_eom # Get the spin case spin = sys.argv[1] # Set up the code generators code_generators = { - "einsum": EinsumCodeGen( + "einsum": EBCCCodeGenerator( stdout=open(f"{spin[0].upper()}QCISD.py", "w"), - name_generator=name_generators[spin], - spin=spin, ), } @@ -43,22 +46,17 @@ pq.add_commutator(1.0, ["v"], ["t2"]) pq.simplify() terms = pq.fully_contracted_strings() - terms = remove_hf_energy(terms) + terms = remove_reference_energy(terms) # Get the energy in albert format - expr = import_from_pdaggerq(terms) - expr = spin_integrate(expr, spin) - output = tuple(Tensor(name="e_cc") for _ in range(len(expr))) - output, expr = optimise(output, expr, spin, strategy="exhaust") - returns = (Tensor(name="e_cc"),) + output_expr, returns = get_energy(terms, spin) # Generate the energy code for codegen in code_generators.values(): codegen( "energy", returns, - output, - expr, + output_expr, ) with Stopwatch("T amplitudes"): @@ -89,38 +87,15 @@ terms_t2 = pq.fully_contracted_strings() # Get the T amplitudes in albert format - terms = [terms_t1, terms_t2] - expr = [] - output = [] - returns = [] - for n in range(2): - for index_spins in get_amplitude_spins(n + 1, spin): - indices = default_indices["o"][: n + 1] + default_indices["v"][: n + 1] - indices = tuple(Index(i, index_spins[i]) for i in indices) - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) - expr_n = spin_integrate(expr_n, spin) - output_n = get_t_amplitude_outputs(expr_n, f"t{n+1}new") - returns_n = (Tensor(*indices, name=f"t{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - output, expr = optimise(output, expr, spin, strategy="exhaust") + output_expr, returns = get_amplitudes([terms_t1, terms_t2], spin) # Generate the T amplitude code for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "preamble": "t1new = Namespace()\nt2new = Namespace()" if spin == "uhf" else None, - "as_dict": True, - } - else: - kwargs = {} codegen( "update_amps", returns, - output, - expr, - **kwargs, + output_expr, + as_dict=True, ) with Stopwatch("L amplitudes"): @@ -177,37 +152,15 @@ terms_l2 = pq.fully_contracted_strings() # Get the L amplitudes in albert format - terms = [terms_l1, terms_l2] - expr = [] - output = [] - returns = [] - for n in range(2): - for index_spins in get_amplitude_spins(n + 1, spin): - indices = default_indices["v"][: n + 1] + default_indices["o"][: n + 1] - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) - expr_n = spin_integrate(expr_n, spin) - output_n = get_l_amplitude_outputs(expr_n, f"l{n+1}new") - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"l{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - output, expr = optimise(output, expr, spin, strategy="opt") + output_expr, returns = get_amplitudes([terms_l1, terms_l2], spin, strategy="opt" if spin == "uhf" else "exhaust", which="l") # Generate the L amplitude code for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "preamble": "l1new = Namespace()\nl2new = Namespace()" if spin == "uhf" else None, - "as_dict": True, - } - else: - kwargs = {} codegen( "update_lams", returns, - output, - expr, - **kwargs, + output_expr, + as_dict=True, ) with Stopwatch("1RDM"): @@ -221,37 +174,40 @@ terms[sectors, indices] = pq.fully_contracted_strings() # Get the 1RDM in albert format - expr = [] - output = [] - returns = [] - for sectors, indices in [("oo", "ij"), ("ov", "ia"), ("vo", "ai"), ("vv", "ab")]: - for index_spins in get_density_spins(1, spin, indices): - expr_n = import_from_pdaggerq(terms[sectors, indices], index_spins=index_spins) - expr_n = spin_integrate(expr_n, spin) - if spin == "rhf": - expr_n = tuple(e * 2 for e in expr_n) - output_n = get_density_outputs(expr_n, f"d", indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i], space=s) for i, s in zip(indices, sectors)), name=f"d"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - output, expr = optimise(output, expr, spin, strategy="exhaust") + output_expr, returns, deltas, deltas_sources = get_rdm1(terms, spin) # Generate the 1RDM code for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "preamble": get_density_einsum_preamble(1, spin), - "postamble": get_density_einsum_postamble(1, spin), - } - else: - kwargs = {} + def preamble(): + done = set() + for delta, delta_source in zip(deltas, deltas_sources): + if delta in done: + continue + shape_source_index = 0 if delta.external_indices[0].space == "o" else 1 + codegen.tensor_declaration( + delta, + is_identity=True, + shape_source=delta_source, + shape_source_index=shape_source_index, + ) + codegen._tensor_declared.add(_tensor_info(delta)) + done.add(delta) + + def postamble(): + if name != "einsum": + raise NotImplementedError # FIXME remove packing + if spin != "uhf": + codegen.write("rdm1 = np.block([[rdm1.oo, rdm1.ov], [rdm1.vo, rdm1.vv]])") + else: + codegen.write("rdm1.aa = np.block([[rdm1.aa.oo, rdm1.aa.ov], [rdm1.aa.vo, rdm1.aa.vv]])") + codegen.write("rdm1.bb = np.block([[rdm1.bb.oo, rdm1.bb.ov], [rdm1.bb.vo, rdm1.bb.vv]])") + codegen( "make_rdm1_f", returns, - output, - expr, - **kwargs, + output_expr, + preamble=preamble, + postamble=postamble, ) with Stopwatch("2RDM"): @@ -284,50 +240,42 @@ terms[sectors, indices] = pq.fully_contracted_strings() # Get the 2RDM in albert format - expr = [] - output = [] - returns = [] - for sectors, indices in [ - ("oooo", "ijkl"), - ("ooov", "ijka"), - ("oovo", "ijak"), - ("ovoo", "iajk"), - ("vooo", "aijk"), - ("oovv", "ijab"), - ("ovov", "iajb"), - ("ovvo", "iabj"), - ("voov", "aijb"), - ("vovo", "aibj"), - ("vvoo", "abij"), - ("ovvv", "iabc"), - ("vovv", "aibc"), - ("vvov", "abic"), - ("vvvo", "abci"), - ("vvvv", "abcd"), - ]: - for index_spins in get_density_spins(2, spin, indices): - expr_n = import_from_pdaggerq(terms[sectors, indices], index_spins=index_spins) - expr_n = spin_integrate(expr_n, spin) - output_n = get_density_outputs(expr_n, f"Γ", indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i], space=s) for i, s in zip(indices, sectors)), name=f"Γ"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - output, expr = optimise(output, expr, spin, strategy="trav") + output_expr, returns, deltas, deltas_sources = get_rdm2(terms, spin, strategy="trav" if spin == "uhf" else "exhaust") # Generate the 2RDM code for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "preamble": get_density_einsum_preamble(2, spin), - "postamble": get_density_einsum_postamble(2, spin), - } + def preamble(): + done = set() + for delta, delta_source in zip(deltas, deltas_sources): + if delta in done: + continue + shape_source_index = 0 if delta.external_indices[0].space == "o" else 1 + codegen.tensor_declaration( + delta, + is_identity=True, + shape_source=delta_source, + shape_source_index=shape_source_index, + ) + codegen._tensor_declared.add(_tensor_info(delta)) + done.add(delta) + + def postamble(): + if name != "einsum": + raise NotImplementedError # FIXME remove packing, handle transpose + if spin != "uhf": + codegen.write("rdm2 = pack_2e(rdm2.oooo, rdm2.ooov, rdm2.oovo, rdm2.ovoo, rdm2.vooo, rdm2.oovv, rdm2.ovov, rdm2.ovvo, rdm2.voov, rdm2.vovo, rdm2.vvoo, rdm2.ovvv, rdm2.vovv, rdm2.vvov, rdm2.vvvo, rdm2.vvvv).transpose((0, 2, 1, 3))") + else: + codegen.write("rdm2.aaaa = pack_2e(rdm2.aaaa.oooo, rdm2.aaaa.ooov, rdm2.aaaa.oovo, rdm2.aaaa.ovoo, rdm2.aaaa.vooo, rdm2.aaaa.oovv, rdm2.aaaa.ovov, rdm2.aaaa.ovvo, rdm2.aaaa.voov, rdm2.aaaa.vovo, rdm2.aaaa.vvoo, rdm2.aaaa.ovvv, rdm2.aaaa.vovv, rdm2.aaaa.vvov, rdm2.aaaa.vvvo, rdm2.aaaa.vvvv).transpose((0, 2, 1, 3))") + codegen.write("rdm2.aabb = pack_2e(rdm2.abab.oooo, rdm2.abab.ooov, rdm2.abab.oovo, rdm2.abab.ovoo, rdm2.abab.vooo, rdm2.abab.oovv, rdm2.abab.ovov, rdm2.abab.ovvo, rdm2.abab.voov, rdm2.abab.vovo, rdm2.abab.vvoo, rdm2.abab.ovvv, rdm2.abab.vovv, rdm2.abab.vvov, rdm2.abab.vvvo, rdm2.abab.vvvv).transpose((0, 2, 1, 3))") + codegen.write("rdm2.bbbb = pack_2e(rdm2.bbbb.oooo, rdm2.bbbb.ooov, rdm2.bbbb.oovo, rdm2.bbbb.ovoo, rdm2.bbbb.vooo, rdm2.bbbb.oovv, rdm2.bbbb.ovov, rdm2.bbbb.ovvo, rdm2.bbbb.voov, rdm2.bbbb.vovo, rdm2.bbbb.vvoo, rdm2.bbbb.ovvv, rdm2.bbbb.vovv, rdm2.bbbb.vvov, rdm2.bbbb.vvvo, rdm2.bbbb.vvvv).transpose((0, 2, 1, 3))") + codegen.write("del rdm2.abab") + codegen( "make_rdm2_f", returns, - output, - expr, - **kwargs, + output_expr, + preamble=preamble, + postamble=postamble, ) with Stopwatch("IP-EOM"): @@ -344,7 +292,7 @@ pq.add_double_commutator(1.0, ["v"], ["t1"], ["t2"]) pq.simplify() terms_r1 = pq.fully_contracted_strings() - terms_r1 = remove_e0_eom(terms_r1) + terms_r1 = remove_reference_energy_eom(terms_r1) # Get the R2 contractions in pdaggerq format pq.clear() @@ -361,60 +309,27 @@ pq.add_double_commutator(0.5, ["v"], ["t2"], ["t2"]) pq.simplify() terms_r2 = pq.fully_contracted_strings() - terms_r2 = remove_e0_eom(terms_r2) + terms_r2 = remove_reference_energy_eom(terms_r2) # Get the R amplitudes in albert format - terms = [terms_r1, terms_r2] - expr = [] - output = [] - returns = [] - for n in range(2): - for index_spins in get_amplitude_spins(n + 1, spin, which="ip"): - indices = default_indices["o"][: n + 1] + default_indices["v"][: n] - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) - expr_n = spin_integrate(expr_n, spin) - output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - - (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="opt") + output_expr_nr, returns_nr, output_expr_r, returns_r = get_eom([terms_r1, terms_r2], spin, strategy="exhaust", which="ip") # Generate the R amplitude intermediates code for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "as_dict": True, - } - else: - kwargs = {} codegen( "hbar_matvec_ip_intermediates", returns_nr, - output_nr, - expr_nr, - **kwargs, + output_expr_nr, + as_dict=True, ) # Generate the R amplitude code for name, codegen in code_generators.items(): - if name == "einsum": - preamble = "ints = kwargs[\"ints\"]" - if spin == "uhf": - preamble += "\nr1new = Namespace()\nr2new = Namespace()" - kwargs = { - "preamble": preamble, - "as_dict": True, - } - else: - kwargs = {} codegen( "hbar_matvec_ip", returns_r, - output_r, - expr_r, - **kwargs, + output_expr_r, + as_dict=True, ) with Stopwatch("EA-EOM"): @@ -431,7 +346,7 @@ pq.add_double_commutator(1.0, ["v"], ["t1"], ["t2"]) pq.simplify() terms_r1 = pq.fully_contracted_strings() - terms_r1 = remove_e0_eom(terms_r1) + terms_r1 = remove_reference_energy_eom(terms_r1) # Get the R2 contractions in pdaggerq format pq.clear() @@ -448,60 +363,27 @@ pq.add_double_commutator(0.5, ["v"], ["t2"], ["t2"]) pq.simplify() terms_r2 = pq.fully_contracted_strings() - terms_r2 = remove_e0_eom(terms_r2) + terms_r2 = remove_reference_energy_eom(terms_r2) # Get the R amplitudes in albert format - terms = [terms_r1, terms_r2] - expr = [] - output = [] - returns = [] - for n in range(2): - for index_spins in get_amplitude_spins(n + 1, spin, which="ea"): - indices = default_indices["v"][: n + 1] + default_indices["o"][: n] - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) - expr_n = spin_integrate(expr_n, spin) - output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - - (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="opt") + output_expr_nr, returns_nr, output_expr_r, returns_r = get_eom([terms_r1, terms_r2], spin, strategy="exhaust", which="ea") # Generate the R amplitude intermediates code for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "as_dict": True, - } - else: - kwargs = {} codegen( "hbar_matvec_ea_intermediates", returns_nr, - output_nr, - expr_nr, - **kwargs, + output_expr_nr, + as_dict=True, ) # Generate the R amplitude code for name, codegen in code_generators.items(): - if name == "einsum": - preamble = "ints = kwargs[\"ints\"]" - if spin == "uhf": - preamble += "\nr1new = Namespace()\nr2new = Namespace()" - kwargs = { - "preamble": preamble, - "as_dict": True, - } - else: - kwargs = {} codegen( "hbar_matvec_ea", returns_r, - output_r, - expr_r, - **kwargs, + output_expr_r, + as_dict=True, ) if spin == "ghf": # FIXME @@ -519,7 +401,7 @@ pq.add_double_commutator(1.0, ["v"], ["t1"], ["t2"]) pq.simplify() terms_r1 = pq.fully_contracted_strings() - terms_r1 = remove_e0_eom(terms_r1) + terms_r1 = remove_reference_energy_eom(terms_r1) # Get the R2 contractions in pdaggerq format pq.clear() @@ -536,61 +418,46 @@ pq.add_double_commutator(0.5, ["v"], ["t2"], ["t2"]) pq.simplify() terms_r2 = pq.fully_contracted_strings() - terms_r2 = remove_e0_eom(terms_r2) + terms_r2 = remove_reference_energy_eom(terms_r2) # Get the R amplitudes in albert format - terms = [terms_r1, terms_r2] - expr = [] - output = [] - returns = [] - for n in range(2): - for index_spins in get_amplitude_spins(n + 1, spin, which="ee"): - indices = default_indices["o"][: n + 1] + default_indices["v"][: n + 1] - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) - expr_n = spin_integrate(expr_n, spin) - output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - - (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="trav") + returns_nr, output_expr_nr, returns_r, output_expr_r = get_eom([terms_r1, terms_r2], spin, strategy="trav", which="ee") # Generate the R amplitude intermediates code for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "as_dict": True, - } - else: - kwargs = {} codegen( "hbar_matvec_ee_intermediates", returns_nr, - output_nr, - expr_nr, - **kwargs, + output_expr_nr, + as_dict=True, ) # Generate the R amplitude code for name, codegen in code_generators.items(): - if name == "einsum": - preamble = "ints = kwargs[\"ints\"]" + def postamble(): if spin == "uhf": - preamble += "\nr1new = Namespace()\nr2new = Namespace()" - kwargs = { - "preamble": preamble, - "postamble": "r2new.baba = np.transpose(r2new.abab, (1, 0, 3, 2))" if spin == "uhf" else None, # FIXME - "as_dict": True, - } - else: - kwargs = {} + r2_abab = Tensor( + Index("i", space="o", spin="a"), + Index("j", space="v", spin="b"), + Index("a", space="o", spin="a"), + Index("b", space="v", spin="b"), + name="r2new", + ) + r2_baba = Tensor( + Index("i", space="o", spin="b"), + Index("j", space="v", spin="a"), + Index("a", space="o", spin="b"), + Index("b", space="v", spin="a"), + name="r2new", + ) + codegen.tensor_expression(r2_baba, r2_abab, is_return=True) + codegen( "hbar_matvec_ee", returns_r, - output_r, - expr_r, - **kwargs, + output_expr_r, + postamble=postamble, + as_dict=True, ) with Stopwatch("L-IP-EOM"): @@ -607,7 +474,7 @@ pq.add_double_commutator(1.0, ["v"], ["t1"], ["t2"]) pq.simplify() terms_r1 = pq.fully_contracted_strings() - terms_r1 = remove_e0_eom(terms_r1) + terms_r1 = remove_reference_energy_eom(terms_r1) # Get the L2 contractions in pdaggerq format pq.clear() @@ -624,60 +491,27 @@ pq.add_double_commutator(0.5, ["v"], ["t2"], ["t2"]) pq.simplify() terms_r2 = pq.fully_contracted_strings() - terms_r2 = remove_e0_eom(terms_r2) + terms_r2 = remove_reference_energy_eom(terms_r2) # Get the L amplitudes in albert format - terms = [terms_r1, terms_r2] - expr = [] - output = [] - returns = [] - for n in range(2): - for index_spins in get_amplitude_spins(n + 1, spin, which="ip"): - indices = default_indices["o"][: n + 1] + default_indices["v"][: n] - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins, l_is_lambda=False) - expr_n = spin_integrate(expr_n, spin) - output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - - (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="opt") + returns_nr, output_expr_nr, returns_r, output_expr_r = get_eom([terms_r1, terms_r2], spin, strategy="exhaust", which="ip") # Generate the L amplitude intermediates code for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "as_dict": True, - } - else: - kwargs = {} codegen( "hbar_lmatvec_ip_intermediates", returns_nr, - output_nr, - expr_nr, - **kwargs, + output_expr_nr, + as_dict=True, ) # Generate the L amplitude code for name, codegen in code_generators.items(): - if name == "einsum": - preamble = "ints = kwargs[\"ints\"]" - if spin == "uhf": - preamble += "\nr1new = Namespace()\nr2new = Namespace()" - kwargs = { - "preamble": preamble, - "as_dict": True, - } - else: - kwargs = {} codegen( "hbar_lmatvec_ip", returns_r, - output_r, - expr_r, - **kwargs, + output_expr_r, + as_dict=True, ) with Stopwatch("L-EA-EOM"): @@ -694,7 +528,7 @@ pq.add_double_commutator(1.0, ["v"], ["t1"], ["t2"]) pq.simplify() terms_r1 = pq.fully_contracted_strings() - terms_r1 = remove_e0_eom(terms_r1) + terms_r1 = remove_reference_energy_eom(terms_r1) # Get the L2 contractions in pdaggerq format pq.clear() @@ -711,60 +545,27 @@ pq.add_double_commutator(0.5, ["v"], ["t2"], ["t2"]) pq.simplify() terms_r2 = pq.fully_contracted_strings() - terms_r2 = remove_e0_eom(terms_r2) + terms_r2 = remove_reference_energy_eom(terms_r2) # Get the L amplitudes in albert format - terms = [terms_r1, terms_r2] - expr = [] - output = [] - returns = [] - for n in range(2): - for index_spins in get_amplitude_spins(n + 1, spin, which="ea"): - indices = default_indices["v"][: n + 1] + default_indices["o"][: n] - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins, l_is_lambda=False) - expr_n = spin_integrate(expr_n, spin) - output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - - (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="opt") + returns_nr, output_expr_nr, returns_r, output_expr_r = get_eom([terms_r1, terms_r2], spin, strategy="exhaust", which="ea") # Generate the L amplitude intermediates code for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "as_dict": True, - } - else: - kwargs = {} codegen( "hbar_lmatvec_ea_intermediates", returns_nr, - output_nr, - expr_nr, - **kwargs, + output_expr_nr, + as_dict=True, ) # Generate the L amplitude code for name, codegen in code_generators.items(): - if name == "einsum": - preamble = "ints = kwargs[\"ints\"]" - if spin == "uhf": - preamble += "\nr1new = Namespace()\nr2new = Namespace()" - kwargs = { - "preamble": preamble, - "as_dict": True, - } - else: - kwargs = {} codegen( "hbar_lmatvec_ea", returns_r, - output_r, - expr_r, - **kwargs, + output_expr_r, + as_dict=True, ) if spin == "ghf": # FIXME @@ -782,7 +583,7 @@ pq.add_double_commutator(1.0, ["v"], ["t1"], ["t2"]) pq.simplify() terms_r1 = pq.fully_contracted_strings() - terms_r1 = remove_e0_eom(terms_r1) + terms_r1 = remove_reference_energy_eom(terms_r1) # Get the L2 contractions in pdaggerq format pq.clear() @@ -799,61 +600,46 @@ pq.add_double_commutator(0.5, ["v"], ["t2"], ["t2"]) pq.simplify() terms_r2 = pq.fully_contracted_strings() - terms_r2 = remove_e0_eom(terms_r2) + terms_r2 = remove_reference_energy_eom(terms_r2) # Get the L amplitudes in albert format - terms = [terms_r1, terms_r2] - expr = [] - output = [] - returns = [] - for n in range(2): - for index_spins in get_amplitude_spins(n + 1, spin, which="ee"): - indices = default_indices["o"][: n + 1] + default_indices["v"][: n + 1] - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins, l_is_lambda=False) - expr_n = spin_integrate(expr_n, spin) - output_n = get_t_amplitude_outputs(expr_n, f"r{n+1}new", indices=indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"r{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - - (returns_nr, output_nr, expr_nr), (returns_r, output_r, expr_r) = optimise_eom(returns, output, expr, spin, strategy="trav") + returns_nr, output_expr_nr, returns_r, output_expr_r = get_eom([terms_r1, terms_r2], spin, strategy="trav", which="ee") # Generate the L amplitude intermediates code for name, codegen in code_generators.items(): - if name == "einsum": - kwargs = { - "as_dict": True, - } - else: - kwargs = {} codegen( "hbar_lmatvec_ee_intermediates", returns_nr, - output_nr, - expr_nr, - **kwargs, + output_expr_nr, + as_dict=True, ) # Generate the L amplitude code for name, codegen in code_generators.items(): - if name == "einsum": - preamble = "ints = kwargs[\"ints\"]" + def postamble(): if spin == "uhf": - preamble += "\nr1new = Namespace()\nr2new = Namespace()" - kwargs = { - "preamble": preamble, - "postamble": "r2new.baba = np.transpose(r2new.abab, (1, 0, 3, 2))" if spin == "uhf" else None, # FIXME - "as_dict": True, - } - else: - kwargs = {} + r2_abab = Tensor( + Index("i", space="o", spin="a"), + Index("j", space="v", spin="b"), + Index("a", space="o", spin="a"), + Index("b", space="v", spin="b"), + name="r2new", + ) + r2_baba = Tensor( + Index("i", space="o", spin="b"), + Index("j", space="v", spin="a"), + Index("a", space="o", spin="b"), + Index("b", space="v", spin="a"), + name="r2new", + ) + codegen.tensor_expression(r2_baba, r2_abab, is_return=True) + codegen( "hbar_lmatvec_ee", returns_r, - output_r, - expr_r, - **kwargs, + output_expr_r, + postamble=postamble, + as_dict=True, ) for codegen in code_generators.values(): diff --git a/ebcc/codegen/bootstrap_common.py b/ebcc/codegen/bootstrap_common.py index 0a8a22bf..71b4c7d8 100644 --- a/ebcc/codegen/bootstrap_common.py +++ b/ebcc/codegen/bootstrap_common.py @@ -1,847 +1,175 @@ """Common functionality for the bootstrap scripts for `ebcc`. """ -import itertools -import time -import re -from collections import defaultdict - -from albert.codegen.einsum import EinsumCodeGen as _EinsumCodeGen -from albert.codegen.base import sort_exprs -from albert.optim._gristmill import optimise as _optimise -from albert.qc.spin import generalised_to_restricted, generalised_to_unrestricted -from albert.qc.index import Index -from albert.qc.rhf import ERI as RERI, CDERI as RCDERI, R0 as RR0, L0 as RL0 -from albert.qc.uhf import ERI as UERI, CDERI as UCDERI, R0 as UR0, L0 as UL0 -from albert.qc.ghf import R0 as GR0, L0 as GL0 from albert.qc._pdaggerq import import_from_pdaggerq +from albert.qc.spin import ghf_to_rhf, ghf_to_uhf, get_amplitude_spins, get_density_spins +from albert.qc.decomp import density_fit +from albert.opt import optimise +from albert.opt.tools import optimise_eom from albert.tensor import Tensor -from albert.symmetry import Symmetry, Permutation -from albert.algebra import Mul, Add -from pdaggerq.config import OCC_INDICES, VIRT_INDICES - -ov_2e = [ - "oooo", - "ooov", - "oovo", - "ovoo", - "vooo", - "oovv", - "ovov", - "ovvo", - "voov", - "vovo", - "vvoo", - "ovvv", - "vovv", - "vvov", - "vvvo", - "vvvv", -] -ov_1e = ["oo", "ov", "vo", "vv"] - - -default_indices = { - "1": ["1"], - "o": OCC_INDICES, - "v": VIRT_INDICES, - "O": [i.upper() for i in OCC_INDICES], - "V": [i.upper() for i in VIRT_INDICES], - "i": [f"{i}_" for i in OCC_INDICES], - "a": [f"{i}_" for i in VIRT_INDICES], - "b": ["x", "y", "z", "b0", "b1", "b2", "b3"], - "x": ["P", "Q", "R", "S", "x0", "x1", "x2", "x3", "x4", "x5", "x7"], - "d": ["DUMMY1", "DUMMY2", "DUMMY3", "DUMMY4"], -} - - -default_sectors = {i: k for k, v in default_indices.items() for i in v} - -default_sizes = { - "1": 1, - "o": 200, - "v": 1000, - "O": 8, - "V": 16, - "i": 192, - "a": 984, - "b": 10, - "x": 3000, - "d": 100000, -} - -class EinsumCodeGen(_EinsumCodeGen): - """Code generator for the bootstrap scripts for `ebcc`.""" - - def __init__( - self, - einsum_func="einsum", - einsum_kwargs=None, - transpose_func="np.transpose({arg}, {transpose})", - name_generator=None, - spin="ghf", - **kwargs, - ): - if einsum_kwargs is None: - einsum_kwargs = {} - super().__init__( - einsum_func=einsum_func, - einsum_kwargs=einsum_kwargs, - transpose_func=transpose_func, - name_generator=name_generator, - spin=spin, - **kwargs, - ) - - def preamble(self, imports=None): - if imports is None: - imports = "from ebcc import numpy as np\n" - imports += "from ebcc.util import pack_2e, einsum, dirsum, Namespace" - super().preamble(imports=imports) - - def ignore_argument(self, arg): - """ - Return `True` if a potential function argument should be - ignored. - """ - return "tmp" in arg.name or arg.name in ("δ", "gc") - - def function_docstring(self, docstring): - """Write the function docstring.""" - if self.spin in ("rhf", "ghf"): - array_type = "array" - else: - array_type = "Namespace of arrays" - amplitude_names = [ - "t1", "t2", "t3", "l1", "l2", "l3", "s1", "s2", "ls1", "ls2", "u11", "u12", "lu11", "lu12", "r1", "r2", "r3" - ] - descriptions = { - "f": "Fock matrix.", - "v": "Electron repulsion integrals.", - "G": "One-boson Hamiltonian.", - "w": "Two-boson Hamiltonian.", - "g": "Electron-boson coupling.", - "e_cc": "Coupled cluster energy.", - "e_pert": "Perturbation energy.", - "rdm1": "One-particle reduced density matrix.", - "rdm2": "Two-particle reduced density matrix.", - "rdm1_b": "One-body reduced density matrix.", - "rdm_eb_cre": "Electron-boson coupling reduced density matrix, creation part.", - "rdm_eb_des": "Electron-boson coupling reduced density matrix, annihilation part.", - "dm_cre": "Single boson density matrix, creation part.", - "dm_des": "Single boson density matrix, annihilation part.", - **{f"{name}": f"{name.upper()} amplitudes." for name in amplitude_names}, - **{f"{name}new": f"Updated {name.upper()} residuals." for name in amplitude_names}, - } - types = { - "f": array_type, - "v": array_type, - "G": "array", - "w": "array", - "g": array_type, - "e_cc": "float", - "e_pert": "float", - "rdm1": array_type, - "rdm2": array_type, - "rdm1_b": "array", - "rdm_eb_cre": array_type, - "rdm_eb_des": array_type, - "dm_cre": "array", - "dm_des": "array", - **{f"{name}": array_type if not name.startswith("s") else "array" for name in amplitude_names}, - **{f"{name}new": array_type if not name.startswith("s") else "array" for name in amplitude_names}, - } - docstring = docstring.split("\n") - new_docstring = [] - for line in docstring: - if len(line.split()) and line.split()[0] in descriptions: - name = line.split()[0] - line = f"{name} : {types[name]}\n {descriptions[name]}" - new_docstring.append(line) - docstring = "\n".join(new_docstring) - super().function_docstring(docstring) - - -class Stopwatch: - def __init__(self, name=None): - self.name = name - - def __enter__(self): - self.start = time.time() - return self - - def __exit__(self, *args): - self.end = time.time() - self.elapsed = self.end - self.start - if self.name: - print(f"{self.name}: {self.elapsed:.2f}s") - - -def name_generator_rhf(tensor, add_spaces=True): - """Generate names for the RHF case.""" - if tensor.name in ("f", "v", "d", "Γ", "δ", "g", "gc", "rdm_eb_cre", "rdm_eb_des"): - if tensor.name == "d": - name = "rdm1" - elif tensor.name == "Γ": - name = "rdm2" - elif tensor.name == "δ": - name = "delta" - else: - name = tensor.name - if add_spaces: - spaces = [i.space for i in tensor.indices] - return f"{name}.{''.join(spaces)}" - else: - return name +def spin_integrate(exprs, spin): + """Perform the spin integration on the given expressions.""" + if spin == "ghf": + return exprs + elif spin == "uhf": + return ghf_to_uhf(exprs) else: - return tensor.name - - -def name_generator_uhf(tensor, add_spaces=True): - """Generate names for the UHF case.""" - if tensor.name in ("f", "v", "d", "Γ", "δ", "g", "gc", "rdm_eb_cre", "rdm_eb_des"): - if tensor.name == "d": - name = "rdm1" - elif tensor.name == "Γ": - name = "rdm2" - elif tensor.name == "δ": - name = "delta" - else: - name = tensor.name - if add_spaces: - spins = ["a" if i.spin == "α" else "b" for i in tensor.indices if i.spin is not None] - spaces = [i.space for i in tensor.indices] - return f"{name}.{''.join(spins)}.{''.join(spaces)}" + return (ghf_to_rhf(exprs),) + + +def get_energy(terms, spin, strategy="exhaust", density_fit=False): + """Get the energy expressions from `pdaggerq` terms.""" + expr = import_from_pdaggerq(terms) + expr = spin_integrate(expr, spin) + if density_fit: + expr = tuple(density_fit(e) for e in expr) + output = tuple(Tensor(name="e_cc") for _ in range(len(expr))) + output_expr = optimise(output, expr, strategy=strategy) + returns = (Tensor(name="e_cc"),) + return output_expr, returns + + +def get_amplitudes(terms_grouped, spin, strategy="exhaust", which="t", orders=None, density_fit=False): + """Get the amplitude expressions from `pdaggerq` terms.""" + expr = [] + output = [] + returns = [] + if orders is None: + orders = range(1, len(terms_grouped) + 1) + for order, terms in zip(orders, terms_grouped): + n = order - 1 + if which == "t": + indices = "ijkl"[: n + 1] + "abcd"[: n + 1] else: - return name - elif tensor.name in ("t1", "t2", "t3", "t1new", "t2new", "t3new", "l1", "l2", "l3", "l1new", "l2new", "l3new", "u11", "u11new", "u12", "u12new", "r1", "r2", "r3", "r1new", "r2new", "r3new"): - if add_spaces: - spins = ["a" if i.spin == "α" else "b" for i in tensor.indices if i.spin is not None] - return f"{tensor.name}.{''.join(spins)}" - else: - return tensor.name + indices = "abcd"[: n + 1] + "ijkl"[: n + 1] + for index_spins in get_amplitude_spins(indices[: n + 1], indices[n + 1 :], spin): + expr_n = import_from_pdaggerq(terms, index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + output_n = [Tensor(*tuple(sorted(e.external_indices, key=lambda i: indices.index(i.name))), name=f"{which}{order}new") for e in expr_n] + returns_n = (output_n[0],) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + if strategy is not None: + output_expr = optimise(output, expr, strategy="exhaust") else: - return tensor.name - - -name_generators = { - "rhf": name_generator_rhf, - "uhf": name_generator_uhf, - "ghf": name_generator_rhf, -} - - -def spin_integrate(expr, spin): - """Perform the spin integration.""" - if isinstance(expr, Add): - args = expr.args - else: - args = [expr] - out = tuple() - for p0 in range(0, len(args), 1000): - # Batch expressions to avoid deep recursion - p1 = min(p0 + 1000, len(args)) - if spin == "rhf": - out += (generalised_to_restricted(Add(*args[p0:p1])),) - elif spin == "uhf": - out += generalised_to_unrestricted(Add(*args[p0:p1])) - else: - out += (Add(*args[p0:p1]),) - return out - - -def remove_hf_energy(terms): - """Remove the HF energy from the terms.""" - new_terms = [] - for term in terms: - if len(term) == 2: - factor, tensor = term - if tensor.startswith("f_"): - tensor = "f" + tensor[4:] - if tensor.startswith("<") and "_" in tensor: - tensor = tensor[:-5] - if (factor, tensor) == ("+1.00000000000000", "f(i,i)"): - continue - if (factor, tensor) == ("-0.50000000000000", ""): - continue - if (factor, tensor) == ("-0.50000000000000", ""): - continue - new_terms.append(term) - return new_terms - - -def remove_e0_eom(terms): - """Remove the EOM terms to transform H v -> (H - E0) v.""" - new_terms = [] - for term in terms: - # Find if the term is disconnected - r = None - rest = [] - for t in term[1:]: - if t.startswith("r") or t.startswith("l"): - r = t - elif not t.startswith("P("): - rest.append(t) - r_inds = set(r.split("(")[1].split(")")[0].split(",")) - rest_inds = set() - for r in rest: - if "<" in r: - r = r.replace("<", "(").replace(">", ")").replace("||", ",") - rest_inds.update(r.split("(")[1].split(")")[0].split(",")) - connected = r_inds & rest_inds - if connected: - new_terms.append(term) - continue - - # We only want to remove the E0 terms: - # f(i,i) r - # f(i,a) t(a,i) r - # r - # t2(a,b,i,j) r - # t1(a,i) t1(b,j) r - if len(term) == 3: - tensor = [t for t in term[1:] if not (t.startswith("r") or t.startswith("l"))][0] - if tensor.startswith("f") and tensor[2] == tensor[4]: - continue - if tensor.startswith("<") and tensor[1] == tensor[6] and tensor[3] == tensor[8]: - continue - else: - tensors = sorted([t for t in term[1:] if not (t.startswith("r") or t.startswith("l"))]) - if tensors[0].startswith("f") and tensors[1].startswith("t"): - continue - if tensors[0].startswith("<") and all(t.startswith("t") for t in tensors[1:]): - continue + output_expr = list(zip(output, expr)) + return output_expr, returns - new_terms.append(term) - - return new_terms - - -def optimise(outputs, exprs, spin, strategy="greedy", sizes=None, **kwargs): - """Optimise the expressions.""" - - if sizes is None: - sizes = default_sizes - - index_sizes = {} - index_groups = [] - for sector, indices in default_indices.items(): - spins = ("α", "β") if spin == "uhf" and sector not in ("b", "x", "d") else (None,) - for s in spins: - index_sizes.update({Index(index, space=sector, spin=s): sizes[sector] for index in indices}) - index_groups.append([Index(index, space=sector, spin=s) for index in indices]) - - opt = _optimise( - *zip(outputs, exprs), - index_groups=index_groups, - sizes=index_sizes, - strategy=strategy, - **kwargs, - ) - - # Add expressions with the same output -- gristmill avoids this sometimes - # if you set shallow intermediates to False - output_exprs = {} - for o, e in opt: - if o not in output_exprs: - output_exprs[o] = e - elif isinstance(output_exprs[o], Add): - output_exprs[o] = Add(*output_exprs[o].args, e) - else: - output_exprs[o] += e - outputs, exprs = zip(*output_exprs.items()) - - return outputs, exprs - - -def get_t_amplitude_outputs(exprs, name, indices=None): - """Get the outputs for the T amplitude code.""" - if indices is not None: - key = lambda i: indices.index(i.name) - else: - key = lambda i: i - return [Tensor(*sorted(e.external_indices, key=key), name=name) for e in exprs] - -def get_l_amplitude_outputs(exprs, name, indices=None): - """Get the outputs for the L amplitude code.""" - def key(i): - if indices is not None: - return indices.index(i.name) - return (" bvo".index(i.space), i.spin, i.name) - return [Tensor(*sorted(e.external_indices, key=key), name=name) for e in exprs] - - -def get_density_outputs(exprs, name, indices): - """Get the outputs for the density code.""" - tensors = [] - for expr in exprs: - external_indices = sorted(expr.external_indices, key=lambda i: indices.index(i.name)) - tensors.append(Tensor(*external_indices, name=name)) - return tensors - - -def get_amplitude_spins(n, spin, which="t"): - """Get the spin cases for the amplitudes.""" - - if which in ("t", "l", "ee"): - no = nv = n - elif which == "ip": - no = n - nv = n - 1 - elif which == "ea": - no = n - 1 - nv = n - - if spin == "rhf": - case = {} - for i in range(no): - case[default_indices["o"][i]] = ["α", "β"][i % 2] - for i in range(nv): - case[default_indices["v"][i]] = ["α", "β"][i % 2] - cases = [case] +def get_rdm1(terms_sectors, spin, strategy="exhaust"): + """Get the one-body reduced density matrix expressions from `pdaggerq` terms.""" + if spin == "ghf": + from albert.qc.ghf import Delta, T1 elif spin == "uhf": - cases = [] - if which in ("ip", "ea"): - it = itertools.product("αβ", repeat=max(no, nv)) - else: - it = itertools.combinations_with_replacement("αβ", max(no, nv)) - for spins in it: - if which not in ("ip", "ea"): - # Canonicalise the spin order -- never for IP/EA...? - best = [None, 1e10] - for s in itertools.permutations(spins): - penalty = 0 - for i in range(len(s) - 1): - penalty += int(s[i] == s[i + 1]) * 2 - if s[0] != min(s): - penalty += 1 - if penalty < best[1]: - best = [s, penalty] - spins = best[0] - case = {} - for i, s in enumerate(spins): - if i < no: - case[default_indices["o"][i]] = s - if i < nv: - case[default_indices["v"][i]] = s - cases.append(case) - elif spin == "ghf": - case = {} - for i in range(no): - case[default_indices["o"][i]] = None - for i in range(nv): - case[default_indices["v"][i]] = None - cases = [case] - - return cases - - -def get_density_spins(n, spin, indices): - """Get the spin cases for the density.""" - - assert n in (1, 2) # hardcoded, TODO - - if spin == "rhf": - if n == 1: - cases = [("α", "α")] - elif n == 2: - cases = [ - ("α", "α", "α", "α"), - ("α", "β", "α", "β"), - ("β", "α", "β", "α"), - ("β", "β", "β", "β"), - ] - cases = [dict(zip(indices, case)) for case in cases] + from albert.qc.uhf import Delta, T1 + else: + from albert.qc.rhf import Delta, T1 + expr = [] + output = [] + returns = [] + deltas = [] + deltas_sources = [] + for sectors, indices in [("oo", "ij"), ("ov", "ia"), ("vo", "ai"), ("vv", "ab")]: + for index_spins in get_density_spins(indices, spin): + expr_n = import_from_pdaggerq(terms_sectors[sectors, indices], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + if spin == "rhf": + expr_n = tuple(e * 2 for e in expr_n) + if density_fit: + expr_n = tuple(density_fit(e) for e in expr_n) + output_n = [Tensor(*tuple(sorted(e.external_indices, key=lambda i: indices.index(i.name))), name=f"rdm1") for e in expr_n] + returns_n = (output_n[0],) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + if len(set(sectors)) == 1: + delta = Delta(*tuple(sorted(expr_n[0].external_indices, key=lambda i: indices.index(i.name)))) + deltas.append(delta) + deltas_sources.append(next(expr_n[0].search_leaves(T1))) + output_expr = optimise(output, expr, strategy=strategy) + return output_expr, returns, deltas, deltas_sources + + +def get_rdm2(terms_sectors, spin, strategy="exhaust", density_fit=False): + """Get the two-body reduced density matrix expressions from `pdaggerq` terms.""" + if spin == "ghf": + from albert.qc.ghf import Delta, T1 elif spin == "uhf": - if n == 1: - cases = [("α", "α"), ("β", "β")] - elif n == 2: - cases = [("α", "α", "α", "α"), ("α", "β", "α", "β"), ("β", "β", "β", "β")] - cases = [dict(zip(indices, case)) for case in cases] - elif spin == "ghf": - if n == 1: - cases = [(None, None)] - elif n == 2: - cases = [(None, None, None, None)] - cases = [dict(zip(indices, case)) for case in cases] - - return cases - - -def get_density_einsum_preamble(n, spin, name="rdm{n}"): - """Get the einsum preamble for the density.""" - name = name.format(n=n) - preamble = f"{name} = Namespace()" - if spin == "uhf": - for spins in itertools.combinations_with_replacement(["a", "b"], n): - preamble += f"\n{name}.{''.join(spins+spins)} = Namespace()" - preamble += "\ndelta = Namespace(" - preamble += "\n aa=Namespace(oo=np.eye(t2.aaaa.shape[0]), vv=np.eye(t2.aaaa.shape[-1]))," - preamble += "\n bb=Namespace(oo=np.eye(t2.bbbb.shape[0]), vv=np.eye(t2.bbbb.shape[-1]))," - preamble += "\n)" + from albert.qc.uhf import Delta, T1 else: - preamble += "\ndelta = Namespace(" - preamble += "\n oo=np.eye(t2.shape[0])," - preamble += "\n vv=np.eye(t2.shape[-1])," - preamble += "\n)" - return preamble - - -def get_density_einsum_postamble(n, spin, name="rdm{n}", spaces=None): - """Get the einsum postamble for the density.""" - # TODO hardcoded - name = name.format(n=n) - if spaces is None: - if n == 1: - spaces = ["oo", "ov", "vo", "vv"] - elif n == 2: - spaces = ov_2e - if n == 1: - if spin == "uhf": - postamble = f"{name}.aa = np.block([[{name}.aa.{spaces[0]}, {name}.aa.{spaces[1]}], [{name}.aa.{spaces[2]}, {name}.aa.{spaces[3]}]])" - postamble += f"\n{name}.bb = np.block([[{name}.bb.{spaces[0]}, {name}.bb.{spaces[1]}], [{name}.bb.{spaces[2]}, {name}.bb.{spaces[3]}]])" - else: - postamble = f"{name} = np.block([[{name}.{spaces[0]}, {name}.{spaces[1]}], [{name}.{spaces[2]}, {name}.{spaces[3]}]])" - elif n == 2: - if spin == "uhf": - postamble = f"{name}.aaaa = pack_2e(%s)" % ", ".join(f"{name}.aaaa.{perm}" for perm in spaces) - postamble += f"\n{name}.abab = pack_2e(%s)" % ", ".join( - f"{name}.abab.{perm}" for perm in spaces - ) - postamble += f"\n{name}.bbbb = pack_2e(%s)" % ", ".join( - f"{name}.bbbb.{perm}" for perm in spaces - ) - postamble += f"\n{name} = Namespace(" - postamble += f"\n aaaa=np.transpose({name}.aaaa, (0, 2, 1, 3))," - postamble += f"\n aabb=np.transpose({name}.abab, (0, 2, 1, 3))," - postamble += f"\n bbbb=np.transpose({name}.bbbb, (0, 2, 1, 3))," - postamble += f"\n)" + from albert.qc.rhf import Delta, T1 + expr = [] + output = [] + returns = [] + deltas = [] + deltas_sources = [] + for sectors, indices in [ + ("oooo", "ijkl"), + ("ooov", "ijka"), + ("oovo", "ijak"), + ("ovoo", "iajk"), + ("vooo", "aijk"), + ("oovv", "ijab"), + ("ovov", "iajb"), + ("ovvo", "iabj"), + ("voov", "aijb"), + ("vovo", "aibj"), + ("vvoo", "abij"), + ("ovvv", "iabc"), + ("vovv", "aibc"), + ("vvov", "abic"), + ("vvvo", "abci"), + ("vvvv", "abcd"), + ]: + for index_spins in get_density_spins(indices, spin): + expr_n = import_from_pdaggerq(terms_sectors[sectors, indices], index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + if density_fit: + expr_n = tuple(density_fit(e) for e in expr_n) + output_n = [Tensor(*tuple(sorted(e.external_indices, key=lambda i: indices.index(i.name))), name=f"rdm2") for e in expr_n] + returns_n = (output_n[0],) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + if len(set(sectors)) == 1: + delta = Delta(*tuple(sorted(expr_n[0].external_indices, key=lambda i: indices.index(i.name))[:2])) + deltas.append(delta) + deltas_sources.append(next(expr_n[0].search_leaves(T1))) + output_expr = optimise(output, expr, strategy=strategy) + return output_expr, returns, deltas, deltas_sources + + +def get_eom(terms_grouped, spin, strategy="exhaust", which="ip", orders=None, density_fit=False): + """Get the EOM expressions from `pdaggerq` terms.""" + expr = [] + output = [] + returns = [] + if orders is None: + orders = range(1, len(terms_grouped) + 1) + for order, terms in zip(orders, terms_grouped): + n = order - 1 + if which == "ip": + indices = "ijkl"[: n + 1] + "abcd"[: n] + elif which == "ea": + indices = "abcd"[: n + 1] + "ijkl"[: n] else: - postamble = f"{name} = pack_2e(%s)" % ", ".join(f"{name}.{perm}" for perm in spaces) - postamble += f"\n{name} = np.transpose({name}, (0, 2, 1, 3))" - return postamble - - -def get_boson_einsum_preamble(spin): - """Get the einsum preamble for the density.""" + indices = "ijkl"[: n + 1] + "abcd"[: n + 1] + for index_spins in get_amplitude_spins(indices[: n + 1], indices[n + 1 :], spin): + expr_n = import_from_pdaggerq(terms, index_spins=index_spins, l_is_lambda=False) + expr_n = spin_integrate(expr_n, spin) + if density_fit: + expr_n = tuple(density_fit(e) for e in expr_n) + output_n = [Tensor(*sorted(e.external_indices, key=lambda i: indices.index(i.name)), name=f"r{order}new") for e in expr_n] + returns_n = (output_n[0],) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + (returns_nr, output_expr_nr), (returns_r, output_expr_r) = optimise_eom(returns, output, expr, strategy=strategy) if spin == "uhf": - preamble = "gc = Namespace(" - preamble += "\n aa=Namespace(" - preamble += "\n boo=np.transpose(g.aa.boo, (0, 2, 1))," - preamble += "\n bov=np.transpose(g.aa.bvo, (0, 2, 1))," - preamble += "\n bvo=np.transpose(g.aa.bov, (0, 2, 1))," - preamble += "\n bvv=np.transpose(g.aa.bvv, (0, 2, 1))," - preamble += "\n )," - preamble += "\n bb=Namespace(" - preamble += "\n boo=np.transpose(g.bb.boo, (0, 2, 1))," - preamble += "\n bov=np.transpose(g.bb.bvo, (0, 2, 1))," - preamble += "\n bvo=np.transpose(g.bb.bov, (0, 2, 1))," - preamble += "\n bvv=np.transpose(g.bb.bvv, (0, 2, 1))," - preamble += "\n )," - preamble += "\n)" - else: - preamble = "gc = Namespace(" - preamble += "\n boo=np.transpose(g.boo, (0, 2, 1))," - preamble += "\n bov=np.transpose(g.bvo, (0, 2, 1))," - preamble += "\n bvo=np.transpose(g.bov, (0, 2, 1))," - preamble += "\n bvv=np.transpose(g.bvv, (0, 2, 1))," - preamble += "\n)" - return preamble - - -def get_density_fit(): - indices = {"": 0} - - def density_fit(obj): - """Get the function to apply over an expression to density fit the ERIs.""" - i = indices[""] % len(default_indices["x"]) # TODO this will break for huge ansatzes - aux_index = Index(f"{default_indices['x'][i]}", space="x") - indices[""] += 1 - if hasattr(obj, "_symbol") and obj._symbol == RERI: - left = RCDERI[(aux_index,) + obj.indices[:2]] - right = RCDERI[(aux_index,) + obj.indices[2:]] - elif hasattr(obj, "_symbol") and obj._symbol == UERI: - left = UCDERI[(aux_index,) + obj.indices[:2]] - right = UCDERI[(aux_index,) + obj.indices[2:]] - else: - return obj - return left * right - - return density_fit - - -def optimise_eom(returns, output, expr, spin, strategy="exhaust"): - """Optimise EOM expressions into intermediates and final output.""" - # Hack the expressions to make the optimiser more likely to optimise out - # intermediates that are constant between EOM iterations - new_output = [] - new_expr = [] - tensor_types = {} - for o, e in zip(output, expr): - for a in e.nested_view(): - for i in a: - if isinstance(i, Tensor): - tensor_types[i.name] = i._symbol - a = [Tensor(*x.indices, symmetry=x.symmetry, name=x.name) if isinstance(x, Tensor) else x for x in a] - for i in range(len(a)): - if isinstance(a[i], Tensor) and (a[i].name.startswith("r") or a[i].name.startswith("l")): - a[i] = a[i].copy( - Index("DUMMY1", space="d"), - *a[i].indices, - symmetry=Symmetry(*[Permutation((0,), 1) + p for p in a[i].symmetry.permutations]), - ) - oa = o.copy( - Index("DUMMY1", space="d"), - *o.indices, - ) - new_output.append(oa) - new_expr.append(Mul(*a)) - output = new_output - expr = new_expr - - output, expr = optimise(output, expr, spin, strategy=strategy) - - # Unhack - new_output = [] - new_expr = [] - for o, e in zip(output, expr): - for a in e.nested_view(): - for i in range(len(a)): - if isinstance(a[i], Tensor): - remove = [ind.space == "d" for ind in a[i].indices] - a[i] = a[i].copy( - *tuple(ind for ind, r in zip(a[i].indices, remove) if not r), - symmetry=Symmetry( - *[ - Permutation( - tuple(x-sum(remove) for j, x in enumerate(p.permutation) if not remove[j]), - p.sign, - ) - for p in a[i].symmetry.permutations - ] - ) if a[i].symmetry else None - ) - remove = [ind.space == "d" for ind in o.indices] - oa = o.copy( - *tuple(ind for ind, r in zip(o.indices, remove) if not r), - symmetry=Symmetry( - *[ - Permutation( - tuple(x-sum(remove) for j, x in enumerate(p.permutation) if not remove[j]), - p.sign, - ) - for p in o.symmetry.permutations - ] - ) if o.symmetry else None - ) - new_output.append(oa) - new_expr.append(Mul(*a)) - output = new_output - expr = new_expr - - # Extract the intermediates that don't depend on R - output_r = [] - expr_r = [] - output_nr = [] - expr_nr = [] - cache = set() - for o, e in zip(output, expr): - depends_on_r = o.name.startswith("r") or o.name.startswith("l") - if not depends_on_r: - for a in e.nested_view(): - for i in a: - if isinstance(i, Tensor): - if i.name.startswith("r") or i.name.startswith("l") or i.name in cache: - depends_on_r = True - if depends_on_r: - output_r.append(o) - expr_r.append(e) - cache.add(o.name) - else: - output_nr.append(o) - expr_nr.append(e) - - # Get the tmps needed to return from the intermediates function - returns_r = returns - returns_nr = [] - initialised_here = set() - for o, e in zip(output_r, expr_r): - if o.name.startswith("tmp"): - initialised_here.add(o.name) - for a in e.nested_view(): - for i in a: - if isinstance(i, Tensor) and i.name.startswith("tmp"): - if i.name not in initialised_here: - returns_nr.append(i) - - # Transform the names of the intermediates - new_expr_r = [] - for o, e in zip(output_r, expr_r): - add_args = [] - for args in e.nested_view(): - args = list(args) - for i, a in enumerate(args): - if isinstance(a, Tensor) and a.name.startswith("tmp") and a.name not in initialised_here: - args[i] = Tensor(*a.indices, name=f"ints.{a.name}") - add_args.append(Mul(*args)) - new_expr_r.append(Add(*add_args)) - expr_r = new_expr_r - - # Re-optimise the output part -- first resub the tmps in - while True: - oi, ei = output_r[0], expr_r[0] - ei = ei.expand() - if oi.name.startswith("r") or oi.name.startswith("l"): - break - for j, (oj, ej) in enumerate(zip(output_r[1:], expr_r[1:])): - new_muls = [] - for mul_args in ej.nested_view(): - new_args = [] - for arg in mul_args: - if isinstance(arg, Tensor) and arg.name == oi.name: - index_map = dict(zip(oi.external_indices, arg.external_indices)) - for index in ei.dummy_indices: - # avoid collision - i = 0 - new_index = None - while new_index is None or new_index in ei.external_indices or new_index in ei.dummy_indices or new_index in index_map.values(): - new_index = Index(name=default_indices[index.space][-(i + 1)], space=index.space, spin=index.spin) - i += 1 - index_map[index] = new_index - new_arg = ei.map_indices(index_map) - new_args.append(new_arg) - else: - new_args.append(arg) - new_muls.append(Mul(*new_args)) - expr_r[j + 1] = Add(*new_muls) - output_r = output_r[1:] - expr_r = expr_r[1:] - # Sum the R terms, else factorisation is not complete after the optimisation - new_output_expr_r = {} - new_output_r = [] - key = lambda o: (o.name, tuple(i.spin for i in o.indices), tuple(i.space for i in o.indices)) - for o, e in zip(output_r, expr_r): - okey = key(o) - if okey not in new_output_expr_r: - new_output_expr_r[okey] = Add(e) - new_output_r.append(o) - elif isinstance(new_output_expr_r[okey], Add): - new_output_expr_r[okey] = Add(*new_output_expr_r[okey].args, e) - else: - new_output_expr_r[okey] = Add(new_output_expr_r[okey], e) - output_r, expr_r = optimise(new_output_r, [new_output_expr_r[key(o)] for o in new_output_r], spin, strategy=strategy) - - # Replace the tensor types so the canonicalisation works - new_output_nr = [] - new_expr_nr = [] - for o, e in zip(output_nr, expr_nr): - new_args = [] - for args in e.nested_view(): - args = list(args) - for i, a in enumerate(args): - if isinstance(a, Tensor) and a.name in tensor_types: - args[i] = tensor_types[a.name][a.indices].canonicalise() - new_args.append(Mul(*args)) - new_output_nr.append(o) - new_expr_nr.append(Add(*new_args)) - output_nr = new_output_nr - expr_nr = new_expr_nr - new_output_r = [] - new_expr_r = [] - for o, e in zip(output_r, expr_r): - new_args = [] - for args in e.nested_view(): - args = list(args) - for i, a in enumerate(args): - if isinstance(a, Tensor) and a.name in tensor_types: - args[i] = tensor_types[a.name][a.indices].canonicalise() - new_args.append(Mul(*args)) - new_output_r.append(o) - new_expr_r.append(Add(*new_args)) - output_r = new_output_r - expr_r = new_expr_r - - return (returns_nr, output_nr, expr_nr), (returns, output_r, expr_r) - - -def optimise_trans_dm(output, expr, spin, strategy="exhaust"): - """Optimise TDM expressions into intermediates and final output.""" - #raise NotImplementedError("broken") - - # Split the expressions into those that depend on R0 or L0 and those that don't - output_r0 = [] - expr_r0 = [] - output_l0 = [] - expr_l0 = [] - output_r0_l0 = [] - expr_r0_l0 = [] - output_rest = [] - expr_rest = [] - for o, e in zip(output, expr): - for args in e.nested_view(): - depends_on_r0 = False - depends_on_l0 = False - mul_args = [] - for i, a in enumerate(args): - if isinstance(a, Tensor) and a.name.startswith("r0"): - depends_on_r0 = True - if isinstance(a, Tensor) and a.name.startswith("l0"): - depends_on_l0 = True - mul_args.append(a) - if depends_on_r0 and depends_on_l0: - output_r0_l0.append(o) - expr_r0_l0.append(Mul(*mul_args)) - elif depends_on_r0: - output_r0.append(o) - expr_r0.append(Mul(*mul_args)) - elif depends_on_l0: - output_l0.append(o) - expr_l0.append(Mul(*mul_args)) - else: - output_rest.append(o) - expr_rest.append(Mul(*mul_args)) - - # Store the original outputs - original_output_r0 = set(o.name for o in output_r0) - original_output_l0 = set(o.name for o in output_l0) - original_output_r0_l0 = set(o.name for o in output_r0_l0) - - # Optimise the expressions - if output_r0: - output_r0, expr_r0 = optimise(output_r0, expr_r0, spin, strategy=strategy, interm_fmt="tmp_r0_{}") - if output_l0: - output_l0, expr_l0 = optimise(output_l0, expr_l0, spin, strategy=strategy, interm_fmt="tmp_l0_{}") - if output_r0_l0: - output_r0_l0, expr_r0_l0 = optimise(output_r0_l0, expr_r0_l0, spin, strategy=strategy, interm_fmt="tmp_r0_l0_{}") - if output_rest: - output_rest, expr_rest = optimise(output_rest, expr_rest, spin, strategy=strategy) - - # Add the factors back in - new_expr_r0 = [] - for i, (o, e) in enumerate(zip(output_r0, expr_r0)): - if o.name in original_output_r0: - e = e * {"rhf": RR0, "uhf": UR0, "ghf": GR0}[spin][tuple()] - new_expr_r0.append(e) - expr_r0 = new_expr_r0 - new_expr_l0 = [] - for i, (o, e) in enumerate(zip(output_l0, expr_l0)): - if o.name in original_output_l0: - e = e * {"rhf": RL0, "uhf": UL0, "ghf": GL0}[spin][tuple()] - new_expr_l0.append(e) - expr_l0 = new_expr_l0 - new_expr_r0_l0 = [] - for i, (o, e) in enumerate(zip(output_r0_l0, expr_r0_l0)): - if o.name in original_output_r0_l0: - e = e * {"rhf": RR0, "uhf": UR0, "ghf": GR0}[spin][tuple()] - e = e * {"rhf": RL0, "uhf": UL0, "ghf": GL0}[spin][tuple()] - new_expr_r0_l0.append(e) - expr_r0_l0 = new_expr_r0_l0 - - # Combine the results - output = tuple(output_rest) + tuple(output_r0) + tuple(output_l0) + tuple(output_r0_l0) - expr = tuple(expr_rest) + tuple(expr_r0) + tuple(expr_l0) + tuple(expr_r0_l0) - - return output, expr + # R amplitudes may get wrong spins + output_expr_nr = [(output, expr.canonicalise()) for output, expr in output_expr_nr] + output_expr_r = [(output, expr.canonicalise()) for output, expr in output_expr_r] + return output_expr_nr, returns_nr, output_expr_r, returns_r From 195f1f93cd3e833c8b035ec1b78fc18188d60886 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Thu, 21 Nov 2024 21:55:59 +0000 Subject: [PATCH 142/168] Do not generate CCSDwtwp atm --- .github/workflows/bootstrap_all.sh | 14 -- ebcc/codegen/bootstrap_CCSDwtwp.py | 247 ----------------------------- 2 files changed, 261 deletions(-) delete mode 100644 ebcc/codegen/bootstrap_CCSDwtwp.py diff --git a/.github/workflows/bootstrap_all.sh b/.github/workflows/bootstrap_all.sh index 46b19acc..1f95c7dc 100644 --- a/.github/workflows/bootstrap_all.sh +++ b/.github/workflows/bootstrap_all.sh @@ -20,13 +20,6 @@ for method in CCD CCSD QCISD CC2 DCD DCSD; do done done -for method in CCSDwtwp; do - for i in rhf ghf; do - echo "Bootstrapping $method ($i)" - python -W ignore bootstrap_${method}.py $i &> output_${method}_${i}.dat & - done -done - for method in CC3; do for i in rhf uhf ghf; do echo "Bootstrapping $method ($i)" @@ -56,13 +49,6 @@ for method in CCD CCSD QCISD CC2 DCD DCSD; do done done -for method in CCSDwtwp; do - for i in rhf ghf; do - echo "Output for $method ($i)" - cat output_${method}_${i}.dat - done -done - for method in CC3; do for i in rhf uhf ghf; do echo "Output for $method ($i)" diff --git a/ebcc/codegen/bootstrap_CCSDwtwp.py b/ebcc/codegen/bootstrap_CCSDwtwp.py deleted file mode 100644 index 4c3f00c0..00000000 --- a/ebcc/codegen/bootstrap_CCSDwtwp.py +++ /dev/null @@ -1,247 +0,0 @@ -""" -Generate the CCSDt' code. -""" - -import sys -sys.setrecursionlimit(100000) - -import pdaggerq -from albert.qc._pdaggerq import import_from_pdaggerq -from albert.tensor import Tensor -from albert.algebra import Mul, Add - -from ebcc.codegen.bootstrap_common import * - -# Get the spin case -spin = sys.argv[1] - -# Set up the code generators -def name_generator(tensor, add_spaces=True): - name = name_generators[spin](tensor, add_spaces=add_spaces) - if isinstance(tensor, Tensor) and tensor.name.startswith("t") and not tensor.name.startswith("tmp"): - spaces = tuple(i.space for i in tensor.indices) - if not any(s is None for s in spaces): # Otherwise, it's a "return" tensor - if spaces not in (("o", "v"), ("o", "o", "v", "v"), ("O", "O", "O", "V", "V", "V")): - name = name.replace(".", "_") - name = f"{name}_{''.join(spaces)}" - return name - -class _EinsumCodeGen(EinsumCodeGen): - def ignore_argument(self, arg): - if "_" in name_generator(arg): - return True - return super().ignore_argument(arg) - - def tensor_cleanup(self, *args): - args = tuple(self.get_name(arg) if isinstance(arg, Tensor) else arg for arg in args) - args = tuple(arg for arg in args if "_" not in arg) - return super().tensor_cleanup(*args) - - def preamble(self, imports=None): - if imports is None: - imports = "from ebcc import numpy as np\n" - imports += "from ebcc.util import pack_2e, einsum, dirsum, Namespace\n" - imports += "from ebcc.backend import _inflate" - super().preamble(imports=imports) - -code_generators = { - "einsum": _EinsumCodeGen( - stdout=open(f"{spin[0].upper()}CCSDwtwp.py", "w"), - name_generator=name_generator, - spin=spin, - ), -} - -# Write the preamble -for codegen in code_generators.values(): - codegen.preamble() - -# Set up pdaggerq -pq = pdaggerq.pq_helper("fermi") -pq.set_print_level(0) - -with Stopwatch("Energy"): - # Get the energy contractions in pdaggerq format - pq.clear() - pq.set_left_operators([["1"]]) - pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) - pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) - pq.simplify() - terms = pq.fully_contracted_strings() - terms = remove_hf_energy(terms) - - # Get the energy in albert format - expr = import_from_pdaggerq(terms) - expr = spin_integrate(expr, spin) - output = tuple(Tensor(name="e_cc") for _ in range(len(expr))) - output, expr = optimise(output, expr, spin, strategy="exhaust") - returns = (Tensor(name="e_cc"),) - - # Generate the energy code - for codegen in code_generators.values(): - codegen( - "energy", - returns, - output, - expr, - ) - -with Stopwatch("T amplitudes"): - # Get the T1 contractions in pdaggerq format - pq.clear() - pq.set_left_operators([["e1(i,a)"]]) - pq.add_st_operator(1.0, ["f"], ["t1", "t2", "t3"]) - pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3"]) - pq.simplify() - terms_t1 = pq.fully_contracted_strings() - - # Get the T2 contractions in pdaggerq format - pq.clear() - pq.set_left_operators([["e2(i,j,b,a)"]]) - pq.add_st_operator(1.0, ["f"], ["t1", "t2", "t3"]) - pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3"]) - pq.simplify() - terms_t2 = pq.fully_contracted_strings() - - # Get the T3 contractions in pdaggerq format - pq.clear() - pq.set_left_operators([["e3(i,j,k,c,b,a)"]]) - pq.add_st_operator(1.0, ["f"], ["t1", "t2", "t3"]) - pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3"]) - pq.simplify() - terms_t3 = pq.fully_contracted_strings() - - # Get the T amplitudes in albert format - terms = [terms_t1, terms_t2, terms_t3] - expr = [] - output = [] - returns = [] - for n in range(3): - for index_spins in get_amplitude_spins(n + 1, spin): - indices = default_indices["o"][: n + 1] + default_indices["v"][: n + 1] - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins) - expr_n = spin_integrate(expr_n, spin) - output_n = get_t_amplitude_outputs(expr_n, f"t{n+1}new", indices=indices) - returns_n = (Tensor(*tuple(Index(i, index_spins[i]) for i in indices), name=f"t{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - - # Make the T3 indices active - new_expr = [] - new_output = [] - for i, (o, e) in enumerate(zip(output, expr)): - # Get the indices - indices = set() - if o.name.startswith("t3"): - indices = indices.union(set(o.indices)) - for a in e.nested_view(): - indices_a = indices.copy() - for t in a: - if isinstance(t, Tensor) and t.name.startswith("t3"): - indices_a = indices_a.union(set(t.indices)) - - # Substitute the indices - subs = {i: Index(i.name.upper(), spin=i.spin, space=i.space.upper()) for i in indices_a} - new_args = [] - for t in a: - if isinstance(t, Tensor): - new_args.append(t.map_indices(subs)) - else: - new_args.append(t) - new_output.append(o.map_indices(subs)) - new_expr.append(Mul(*new_args)) - output = new_output - expr = new_expr - - # Optimise - output, expr = optimise(output, expr, spin, strategy="exhaust" if spin != "uhf" else "greedy") - - # Generate the T amplitude code - for name, codegen in code_generators.items(): - ignore_arguments = [] - if name == "einsum": - preamble = "space = kwargs[\"space\"]" - preamble += "\nt1new = Namespace()" - preamble += "\nt2new = Namespace()" - preamble += "\nt3new = Namespace()" - if spin == "uhf": - preamble += "\nsoa = np.ones((t1.aa.shape[0],), dtype=bool)" - preamble += "\nsva = np.ones((t1.aa.shape[1],), dtype=bool)" - preamble += "\nsob = np.ones((t1.bb.shape[0],), dtype=bool)" - preamble += "\nsvb = np.ones((t1.bb.shape[1],), dtype=bool)" - preamble += "\nsOa = space[0].active[space[0].correlated][space[0].occupied[space[0].correlated]]" - preamble += "\nsVa = space[0].active[space[0].correlated][space[0].virtual[space[0].correlated]]" - preamble += "\nsOb = space[1].active[space[1].correlated][space[1].occupied[space[1].correlated]]" - preamble += "\nsVb = space[1].active[space[1].correlated][space[1].virtual[space[1].correlated]]" - preamble += "\n" - postamble = "" - inp_keys = {"aa": set(), "bb": set(), "aaaa": set(), "abab": set(), "bbbb": set()} - out_keys = {"aa": set(), "bb": set(), "aaaa": set(), "abab": set(), "bbbb": set()} - for o, e in zip(output, expr): - if o.name.startswith("t") and not (o.name.startswith("tmp") or o.name.startswith("t3")): - spaces = "".join(tuple(i.space for i in o.indices)) - spins = "".join(tuple({"α": "a", "β": "b"}[i.spin] for i in o.indices)) - if set(spaces) != {"o", "v"}: - inp_keys[spins].add(spaces) - for a in e.nested_view(): - for t in a: - if isinstance(t, Tensor) and t.name.startswith("t") and not (t.name.startswith("tmp") or t.name.startswith("t3")): - spaces = "".join(tuple(i.space for i in t.indices)) - spins = "".join(tuple({"α": "a", "β": "b"}[i.spin] for i in t.indices)) - inp_keys[spins].add(spaces) - for spins, inp_keys in inp_keys.items(): - for key in inp_keys: - slices = ", ".join(f"s{c}{s}" for c, s in zip(key, spins)) - preamble += f"\nt{len(key)//2}_{spins}_{key} = np.copy(t{len(key)//2}.{spins}[np.ix_({slices})])" - ignore_arguments.append(f"t{len(key)//2}_{spins}_{key}") - for spins, out_keys in out_keys.items(): - for key in out_keys: - slices = ", ".join(f"s{c}{s}" for c, s in zip(key, spins)) - postamble += f"\nt{len(key)//2}new.{spins} += _inflate(t{len(key)//2}new.{spins}.shape, np.ix_({slices}), t{len(key)//2}new_{spins}_{key})" - else: - preamble += "\nso = np.ones((t1.shape[0],), dtype=bool)" - preamble += "\nsv = np.ones((t1.shape[1],), dtype=bool)" - preamble += "\nsO = space.active[space.correlated][space.occupied[space.correlated]]" - preamble += "\nsV = space.active[space.correlated][space.virtual[space.correlated]]" - postamble = "" - inp_keys = set() - out_keys = set() - for o, e in zip(output, expr): - if o.name.startswith("t") and not (o.name.startswith("tmp") or o.name.startswith("t3")): - spaces = "".join(tuple(i.space for i in o.indices)) - if set(spaces) != {"o", "v"}: - out_keys.add(spaces) - for a in e.nested_view(): - for t in a: - if isinstance(t, Tensor) and t.name.startswith("t") and not (t.name.startswith("tmp") or t.name.startswith("t3")): - spaces = "".join(tuple(i.space for i in t.indices)) - if set(spaces) != {"o", "v"}: - inp_keys.add(spaces) - for key in sorted(inp_keys): - slices = ", ".join(f"s{c}" for c in key) - preamble += f"\nt{len(key)//2}_{key} = np.copy(t{len(key)//2}[np.ix_({slices})])" - ignore_arguments.append(f"t{len(key)//2}_{key}") - for key in sorted(out_keys): - slices = ", ".join(f"s{c}" for c in key) - postamble += f"\nt{len(key)//2}new += _inflate(t{len(key)//2}new.shape, np.ix_({slices}), t{len(key)//2}new_{key})" - preamble += "\n" - kwargs = { - "preamble": preamble, - "postamble": postamble, - "as_dict": True, - "ignore_arguments": ignore_arguments, - } - else: - kwargs = {} - codegen( - "update_amps", - returns, - output, - expr, - **kwargs, - ) - -for codegen in code_generators.values(): - codegen.postamble() - codegen.stdout.close() From d24b5dbb2db930be3f56286607847730819803a9 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Fri, 22 Nov 2024 09:54:42 +0000 Subject: [PATCH 143/168] Fix scripts --- ebcc/codegen/bootstrap_CC2.py | 12 ++++++------ ebcc/codegen/bootstrap_CCD.py | 12 ++++++------ ebcc/codegen/bootstrap_CCSD.py | 12 ++++++------ ebcc/codegen/bootstrap_CCSDT.py | 12 ++++++------ ebcc/codegen/bootstrap_DFCC2.py | 12 ++++++------ ebcc/codegen/bootstrap_DFCCD.py | 12 ++++++------ ebcc/codegen/bootstrap_DFCCSD.py | 12 ++++++------ ebcc/codegen/bootstrap_DFQCISD.py | 12 ++++++------ ebcc/codegen/bootstrap_MPn.py | 10 +++++----- ebcc/codegen/bootstrap_QCISD.py | 12 ++++++------ ebcc/codegen/bootstrap_common.py | 31 +++++++++++++++++-------------- 11 files changed, 76 insertions(+), 73 deletions(-) diff --git a/ebcc/codegen/bootstrap_CC2.py b/ebcc/codegen/bootstrap_CC2.py index 339414d6..93b572d8 100644 --- a/ebcc/codegen/bootstrap_CC2.py +++ b/ebcc/codegen/bootstrap_CC2.py @@ -145,7 +145,7 @@ def preamble(): for delta, delta_source in zip(deltas, deltas_sources): if delta in done: continue - shape_source_index = 0 if delta.external_indices[0].space == "o" else 1 + shape_source_index = 0 if delta.external_indices[0].space == "o" else -1 codegen.tensor_declaration( delta, is_identity=True, @@ -211,7 +211,7 @@ def preamble(): for delta, delta_source in zip(deltas, deltas_sources): if delta in done: continue - shape_source_index = 0 if delta.external_indices[0].space == "o" else 1 + shape_source_index = 0 if delta.external_indices[0].space == "o" else -1 codegen.tensor_declaration( delta, is_identity=True, @@ -353,7 +353,7 @@ def postamble(): terms_r2 = remove_reference_energy_eom(terms_r2) # Get the R amplitudes in albert format - returns_nr, output_expr_nr, returns_r, output_expr_r = get_eom([terms_r1, terms_r2], spin, strategy="trav", which="ee") + output_expr_nr, returns_nr, output_expr_r, returns_r = get_eom([terms_r1, terms_r2], spin, strategy="trav", which="ee") # Generate the R amplitude intermediates code for name, codegen in code_generators.items(): @@ -416,7 +416,7 @@ def postamble(): terms_r2 = remove_reference_energy_eom(terms_r2) # Get the L amplitudes in albert format - returns_nr, output_expr_nr, returns_r, output_expr_r = get_eom([terms_r1, terms_r2], spin, strategy="exhaust", which="ip") + output_expr_nr, returns_nr, output_expr_r, returns_r = get_eom([terms_r1, terms_r2], spin, strategy="exhaust", which="ip") # Generate the L amplitude intermediates code for name, codegen in code_generators.items(): @@ -460,7 +460,7 @@ def postamble(): terms_r2 = remove_reference_energy_eom(terms_r2) # Get the L amplitudes in albert format - returns_nr, output_expr_nr, returns_r, output_expr_r = get_eom([terms_r1, terms_r2], spin, strategy="exhaust", which="ea") + output_expr_nr, returns_nr, output_expr_r, returns_r = get_eom([terms_r1, terms_r2], spin, strategy="exhaust", which="ea") # Generate the L amplitude intermediates code for name, codegen in code_generators.items(): @@ -505,7 +505,7 @@ def postamble(): terms_r2 = remove_reference_energy_eom(terms_r2) # Get the L amplitudes in albert format - returns_nr, output_expr_nr, returns_r, output_expr_r = get_eom([terms_r1, terms_r2], spin, strategy="trav", which="ee") + output_expr_nr, returns_nr, output_expr_r, returns_r = get_eom([terms_r1, terms_r2], spin, strategy="trav", which="ee") # Generate the L amplitude intermediates code for name, codegen in code_generators.items(): diff --git a/ebcc/codegen/bootstrap_CCD.py b/ebcc/codegen/bootstrap_CCD.py index 8dc678c2..95b5c457 100644 --- a/ebcc/codegen/bootstrap_CCD.py +++ b/ebcc/codegen/bootstrap_CCD.py @@ -123,7 +123,7 @@ def preamble(): for delta, delta_source in zip(deltas, deltas_sources): if delta in done: continue - shape_source_index = 0 if delta.external_indices[0].space == "o" else 1 + shape_source_index = 0 if delta.external_indices[0].space == "o" else -1 codegen.tensor_declaration( delta, is_identity=True, @@ -189,7 +189,7 @@ def preamble(): for delta, delta_source in zip(deltas, deltas_sources): if delta in done: continue - shape_source_index = 0 if delta.external_indices[0].space == "o" else 1 + shape_source_index = 0 if delta.external_indices[0].space == "o" else -1 codegen.tensor_declaration( delta, is_identity=True, @@ -331,7 +331,7 @@ def postamble(): terms_r2 = remove_reference_energy_eom(terms_r2) # Get the R amplitudes in albert format - returns_nr, output_expr_nr, returns_r, output_expr_r = get_eom([terms_r1, terms_r2], spin, strategy="trav", which="ee") + output_expr_nr, returns_nr, output_expr_r, returns_r = get_eom([terms_r1, terms_r2], spin, strategy="trav", which="ee") # Generate the R amplitude intermediates code for name, codegen in code_generators.items(): @@ -394,7 +394,7 @@ def postamble(): terms_r2 = remove_reference_energy_eom(terms_r2) # Get the L amplitudes in albert format - returns_nr, output_expr_nr, returns_r, output_expr_r = get_eom([terms_r1, terms_r2], spin, strategy="exhaust", which="ip") + output_expr_nr, returns_nr, output_expr_r, returns_r = get_eom([terms_r1, terms_r2], spin, strategy="exhaust", which="ip") # Generate the L amplitude intermediates code for name, codegen in code_generators.items(): @@ -438,7 +438,7 @@ def postamble(): terms_r2 = remove_reference_energy_eom(terms_r2) # Get the L amplitudes in albert format - returns_nr, output_expr_nr, returns_r, output_expr_r = get_eom([terms_r1, terms_r2], spin, strategy="exhaust", which="ea") + output_expr_nr, returns_nr, output_expr_r, returns_r = get_eom([terms_r1, terms_r2], spin, strategy="exhaust", which="ea") # Generate the L amplitude intermediates code for name, codegen in code_generators.items(): @@ -483,7 +483,7 @@ def postamble(): terms_r2 = remove_reference_energy_eom(terms_r2) # Get the L amplitudes in albert format - returns_nr, output_expr_nr, returns_r, output_expr_r = get_eom([terms_r1, terms_r2], spin, strategy="trav", which="ee") + output_expr_nr, returns_nr, output_expr_r, returns_r = get_eom([terms_r1, terms_r2], spin, strategy="trav", which="ee") # Generate the L amplitude intermediates code for name, codegen in code_generators.items(): diff --git a/ebcc/codegen/bootstrap_CCSD.py b/ebcc/codegen/bootstrap_CCSD.py index 364ad5de..20fa2944 100644 --- a/ebcc/codegen/bootstrap_CCSD.py +++ b/ebcc/codegen/bootstrap_CCSD.py @@ -145,7 +145,7 @@ def preamble(): for delta, delta_source in zip(deltas, deltas_sources): if delta in done: continue - shape_source_index = 0 if delta.external_indices[0].space == "o" else 1 + shape_source_index = 0 if delta.external_indices[0].space == "o" else -1 codegen.tensor_declaration( delta, is_identity=True, @@ -211,7 +211,7 @@ def preamble(): for delta, delta_source in zip(deltas, deltas_sources): if delta in done: continue - shape_source_index = 0 if delta.external_indices[0].space == "o" else 1 + shape_source_index = 0 if delta.external_indices[0].space == "o" else -1 codegen.tensor_declaration( delta, is_identity=True, @@ -353,7 +353,7 @@ def postamble(): terms_r2 = remove_reference_energy_eom(terms_r2) # Get the R amplitudes in albert format - returns_nr, output_expr_nr, returns_r, output_expr_r = get_eom([terms_r1, terms_r2], spin, strategy="trav", which="ee") + output_expr_nr, returns_nr, output_expr_r, returns_r = get_eom([terms_r1, terms_r2], spin, strategy="trav", which="ee") # Generate the R amplitude intermediates code for name, codegen in code_generators.items(): @@ -416,7 +416,7 @@ def postamble(): terms_r2 = remove_reference_energy_eom(terms_r2) # Get the L amplitudes in albert format - returns_nr, output_expr_nr, returns_r, output_expr_r = get_eom([terms_r1, terms_r2], spin, strategy="exhaust", which="ip") + output_expr_nr, returns_nr, output_expr_r, returns_r = get_eom([terms_r1, terms_r2], spin, strategy="exhaust", which="ip") # Generate the L amplitude intermediates code for name, codegen in code_generators.items(): @@ -460,7 +460,7 @@ def postamble(): terms_r2 = remove_reference_energy_eom(terms_r2) # Get the L amplitudes in albert format - returns_nr, output_expr_nr, returns_r, output_expr_r = get_eom([terms_r1, terms_r2], spin, strategy="exhaust", which="ea") + output_expr_nr, returns_nr, output_expr_r, returns_r = get_eom([terms_r1, terms_r2], spin, strategy="exhaust", which="ea") # Generate the L amplitude intermediates code for name, codegen in code_generators.items(): @@ -505,7 +505,7 @@ def postamble(): terms_r2 = remove_reference_energy_eom(terms_r2) # Get the L amplitudes in albert format - returns_nr, output_expr_nr, returns_r, output_expr_r = get_eom([terms_r1, terms_r2], spin, strategy="trav", which="ee") + output_expr_nr, returns_nr, output_expr_r, returns_r = get_eom([terms_r1, terms_r2], spin, strategy="trav", which="ee") # Generate the L amplitude intermediates code for name, codegen in code_generators.items(): diff --git a/ebcc/codegen/bootstrap_CCSDT.py b/ebcc/codegen/bootstrap_CCSDT.py index 9fee0e05..405a1f1d 100644 --- a/ebcc/codegen/bootstrap_CCSDT.py +++ b/ebcc/codegen/bootstrap_CCSDT.py @@ -167,7 +167,7 @@ def preamble(): for delta, delta_source in zip(deltas, deltas_sources): if delta in done: continue - shape_source_index = 0 if delta.external_indices[0].space == "o" else 1 + shape_source_index = 0 if delta.external_indices[0].space == "o" else -1 codegen.tensor_declaration( delta, is_identity=True, @@ -233,7 +233,7 @@ def preamble(): for delta, delta_source in zip(deltas, deltas_sources): if delta in done: continue - shape_source_index = 0 if delta.external_indices[0].space == "o" else 1 + shape_source_index = 0 if delta.external_indices[0].space == "o" else -1 codegen.tensor_declaration( delta, is_identity=True, @@ -408,7 +408,7 @@ def postamble(): terms_r3 = remove_reference_energy_eom(terms_r3) # Get the R amplitudes in albert format - returns_nr, output_expr_nr, returns_r, output_expr_r = get_eom([terms_r1, terms_r2, terms_r3], spin, strategy="greedy", which="ee") + output_expr_nr, returns_nr, output_expr_r, returns_r = get_eom([terms_r1, terms_r2, terms_r3], spin, strategy="greedy", which="ee") # Generate the R amplitude intermediates code for name, codegen in code_generators.items(): @@ -482,7 +482,7 @@ def postamble(): terms_r3 = remove_reference_energy_eom(terms_r3) # Get the L amplitudes in albert format - returns_nr, output_expr_nr, returns_r, output_expr_r = get_eom([terms_r1, terms_r2, terms_r3], spin, strategy="greedy", which="ip") + output_expr_nr, returns_nr, output_expr_r, returns_r = get_eom([terms_r1, terms_r2, terms_r3], spin, strategy="greedy", which="ip") # Generate the L amplitude intermediates code for name, codegen in code_generators.items(): @@ -537,7 +537,7 @@ def postamble(): terms_r3 = remove_reference_energy_eom(terms_r3) # Get the L amplitudes in albert format - returns_nr, output_expr_nr, returns_r, output_expr_r = get_eom([terms_r1, terms_r2, terms_r3], spin, strategy="greedy", which="ea") + output_expr_nr, returns_nr, output_expr_r, returns_r = get_eom([terms_r1, terms_r2, terms_r3], spin, strategy="greedy", which="ea") # Generate the L amplitude intermediates code for name, codegen in code_generators.items(): @@ -593,7 +593,7 @@ def postamble(): terms_r3 = remove_reference_energy_eom(terms_r3) # Get the L amplitudes in albert format - returns_nr, output_expr_nr, returns_r, output_expr_r = get_eom([terms_r1, terms_r2, terms_r3], spin, strategy="greedy", which="ee") + output_expr_nr, returns_nr, output_expr_r, returns_r = get_eom([terms_r1, terms_r2, terms_r3], spin, strategy="greedy", which="ee") # Generate the L amplitude intermediates code for name, codegen in code_generators.items(): diff --git a/ebcc/codegen/bootstrap_DFCC2.py b/ebcc/codegen/bootstrap_DFCC2.py index d0e230bb..b59c7f4e 100644 --- a/ebcc/codegen/bootstrap_DFCC2.py +++ b/ebcc/codegen/bootstrap_DFCC2.py @@ -145,7 +145,7 @@ def preamble(): for delta, delta_source in zip(deltas, deltas_sources): if delta in done: continue - shape_source_index = 0 if delta.external_indices[0].space == "o" else 1 + shape_source_index = 0 if delta.external_indices[0].space == "o" else -1 codegen.tensor_declaration( delta, is_identity=True, @@ -211,7 +211,7 @@ def preamble(): for delta, delta_source in zip(deltas, deltas_sources): if delta in done: continue - shape_source_index = 0 if delta.external_indices[0].space == "o" else 1 + shape_source_index = 0 if delta.external_indices[0].space == "o" else -1 codegen.tensor_declaration( delta, is_identity=True, @@ -353,7 +353,7 @@ def postamble(): terms_r2 = remove_reference_energy_eom(terms_r2) # Get the R amplitudes in albert format - returns_nr, output_expr_nr, returns_r, output_expr_r = get_eom([terms_r1, terms_r2], spin, strategy="trav", which="ee", density_fit=True) + output_expr_nr, returns_nr, output_expr_r, returns_r = get_eom([terms_r1, terms_r2], spin, strategy="trav", which="ee", density_fit=True) # Generate the R amplitude intermediates code for name, codegen in code_generators.items(): @@ -416,7 +416,7 @@ def postamble(): terms_r2 = remove_reference_energy_eom(terms_r2) # Get the L amplitudes in albert format - returns_nr, output_expr_nr, returns_r, output_expr_r = get_eom([terms_r1, terms_r2], spin, strategy="exhaust", which="ip", density_fit=True) + output_expr_nr, returns_nr, output_expr_r, returns_r = get_eom([terms_r1, terms_r2], spin, strategy="exhaust", which="ip", density_fit=True) # Generate the L amplitude intermediates code for name, codegen in code_generators.items(): @@ -460,7 +460,7 @@ def postamble(): terms_r2 = remove_reference_energy_eom(terms_r2) # Get the L amplitudes in albert format - returns_nr, output_expr_nr, returns_r, output_expr_r = get_eom([terms_r1, terms_r2], spin, strategy="exhaust", which="ea", density_fit=True) + output_expr_nr, returns_nr, output_expr_r, returns_r = get_eom([terms_r1, terms_r2], spin, strategy="exhaust", which="ea", density_fit=True) # Generate the L amplitude intermediates code for name, codegen in code_generators.items(): @@ -505,7 +505,7 @@ def postamble(): terms_r2 = remove_reference_energy_eom(terms_r2) # Get the L amplitudes in albert format - returns_nr, output_expr_nr, returns_r, output_expr_r = get_eom([terms_r1, terms_r2], spin, strategy="trav", which="ee", density_fit=True) + output_expr_nr, returns_nr, output_expr_r, returns_r = get_eom([terms_r1, terms_r2], spin, strategy="trav", which="ee", density_fit=True) # Generate the L amplitude intermediates code for name, codegen in code_generators.items(): diff --git a/ebcc/codegen/bootstrap_DFCCD.py b/ebcc/codegen/bootstrap_DFCCD.py index 468d832a..75a5c629 100644 --- a/ebcc/codegen/bootstrap_DFCCD.py +++ b/ebcc/codegen/bootstrap_DFCCD.py @@ -123,7 +123,7 @@ def preamble(): for delta, delta_source in zip(deltas, deltas_sources): if delta in done: continue - shape_source_index = 0 if delta.external_indices[0].space == "o" else 1 + shape_source_index = 0 if delta.external_indices[0].space == "o" else -1 codegen.tensor_declaration( delta, is_identity=True, @@ -189,7 +189,7 @@ def preamble(): for delta, delta_source in zip(deltas, deltas_sources): if delta in done: continue - shape_source_index = 0 if delta.external_indices[0].space == "o" else 1 + shape_source_index = 0 if delta.external_indices[0].space == "o" else -1 codegen.tensor_declaration( delta, is_identity=True, @@ -331,7 +331,7 @@ def postamble(): terms_r2 = remove_reference_energy_eom(terms_r2) # Get the R amplitudes in albert format - returns_nr, output_expr_nr, returns_r, output_expr_r = get_eom([terms_r1, terms_r2], spin, strategy="trav", which="ee", density_fit=True) + output_expr_nr, returns_nr, output_expr_r, returns_r = get_eom([terms_r1, terms_r2], spin, strategy="trav", which="ee", density_fit=True) # Generate the R amplitude intermediates code for name, codegen in code_generators.items(): @@ -394,7 +394,7 @@ def postamble(): terms_r2 = remove_reference_energy_eom(terms_r2) # Get the L amplitudes in albert format - returns_nr, output_expr_nr, returns_r, output_expr_r = get_eom([terms_r1, terms_r2], spin, strategy="exhaust", which="ip", density_fit=True) + output_expr_nr, returns_nr, output_expr_r, returns_r = get_eom([terms_r1, terms_r2], spin, strategy="exhaust", which="ip", density_fit=True) # Generate the L amplitude intermediates code for name, codegen in code_generators.items(): @@ -438,7 +438,7 @@ def postamble(): terms_r2 = remove_reference_energy_eom(terms_r2) # Get the L amplitudes in albert format - returns_nr, output_expr_nr, returns_r, output_expr_r = get_eom([terms_r1, terms_r2], spin, strategy="exhaust", which="ea", density_fit=True) + output_expr_nr, returns_nr, output_expr_r, returns_r = get_eom([terms_r1, terms_r2], spin, strategy="exhaust", which="ea", density_fit=True) # Generate the L amplitude intermediates code for name, codegen in code_generators.items(): @@ -483,7 +483,7 @@ def postamble(): terms_r2 = remove_reference_energy_eom(terms_r2) # Get the L amplitudes in albert format - returns_nr, output_expr_nr, returns_r, output_expr_r = get_eom([terms_r1, terms_r2], spin, strategy="trav", which="ee", density_fit=True) + output_expr_nr, returns_nr, output_expr_r, returns_r = get_eom([terms_r1, terms_r2], spin, strategy="trav", which="ee", density_fit=True) # Generate the L amplitude intermediates code for name, codegen in code_generators.items(): diff --git a/ebcc/codegen/bootstrap_DFCCSD.py b/ebcc/codegen/bootstrap_DFCCSD.py index dd61510b..56b37112 100644 --- a/ebcc/codegen/bootstrap_DFCCSD.py +++ b/ebcc/codegen/bootstrap_DFCCSD.py @@ -145,7 +145,7 @@ def preamble(): for delta, delta_source in zip(deltas, deltas_sources): if delta in done: continue - shape_source_index = 0 if delta.external_indices[0].space == "o" else 1 + shape_source_index = 0 if delta.external_indices[0].space == "o" else -1 codegen.tensor_declaration( delta, is_identity=True, @@ -211,7 +211,7 @@ def preamble(): for delta, delta_source in zip(deltas, deltas_sources): if delta in done: continue - shape_source_index = 0 if delta.external_indices[0].space == "o" else 1 + shape_source_index = 0 if delta.external_indices[0].space == "o" else -1 codegen.tensor_declaration( delta, is_identity=True, @@ -353,7 +353,7 @@ def postamble(): terms_r2 = remove_reference_energy_eom(terms_r2) # Get the R amplitudes in albert format - returns_nr, output_expr_nr, returns_r, output_expr_r = get_eom([terms_r1, terms_r2], spin, strategy="trav", which="ee", density_fit=True) + output_expr_nr, returns_nr, output_expr_r, returns_r = get_eom([terms_r1, terms_r2], spin, strategy="trav", which="ee", density_fit=True) # Generate the R amplitude intermediates code for name, codegen in code_generators.items(): @@ -416,7 +416,7 @@ def postamble(): terms_r2 = remove_reference_energy_eom(terms_r2) # Get the L amplitudes in albert format - returns_nr, output_expr_nr, returns_r, output_expr_r = get_eom([terms_r1, terms_r2], spin, strategy="exhaust", which="ip", density_fit=True) + output_expr_nr, returns_nr, output_expr_r, returns_r = get_eom([terms_r1, terms_r2], spin, strategy="exhaust", which="ip", density_fit=True) # Generate the L amplitude intermediates code for name, codegen in code_generators.items(): @@ -460,7 +460,7 @@ def postamble(): terms_r2 = remove_reference_energy_eom(terms_r2) # Get the L amplitudes in albert format - returns_nr, output_expr_nr, returns_r, output_expr_r = get_eom([terms_r1, terms_r2], spin, strategy="exhaust", which="ea", density_fit=True) + output_expr_nr, returns_nr, output_expr_r, returns_r = get_eom([terms_r1, terms_r2], spin, strategy="exhaust", which="ea", density_fit=True) # Generate the L amplitude intermediates code for name, codegen in code_generators.items(): @@ -505,7 +505,7 @@ def postamble(): terms_r2 = remove_reference_energy_eom(terms_r2) # Get the L amplitudes in albert format - returns_nr, output_expr_nr, returns_r, output_expr_r = get_eom([terms_r1, terms_r2], spin, strategy="trav", which="ee", density_fit=True) + output_expr_nr, returns_nr, output_expr_r, returns_r = get_eom([terms_r1, terms_r2], spin, strategy="trav", which="ee", density_fit=True) # Generate the L amplitude intermediates code for name, codegen in code_generators.items(): diff --git a/ebcc/codegen/bootstrap_DFQCISD.py b/ebcc/codegen/bootstrap_DFQCISD.py index c1cf85f0..38d17bc5 100644 --- a/ebcc/codegen/bootstrap_DFQCISD.py +++ b/ebcc/codegen/bootstrap_DFQCISD.py @@ -183,7 +183,7 @@ def preamble(): for delta, delta_source in zip(deltas, deltas_sources): if delta in done: continue - shape_source_index = 0 if delta.external_indices[0].space == "o" else 1 + shape_source_index = 0 if delta.external_indices[0].space == "o" else -1 codegen.tensor_declaration( delta, is_identity=True, @@ -249,7 +249,7 @@ def preamble(): for delta, delta_source in zip(deltas, deltas_sources): if delta in done: continue - shape_source_index = 0 if delta.external_indices[0].space == "o" else 1 + shape_source_index = 0 if delta.external_indices[0].space == "o" else -1 codegen.tensor_declaration( delta, is_identity=True, @@ -421,7 +421,7 @@ def postamble(): terms_r2 = remove_reference_energy_eom(terms_r2) # Get the R amplitudes in albert format - returns_nr, output_expr_nr, returns_r, output_expr_r = get_eom([terms_r1, terms_r2], spin, strategy="trav", which="ee", density_fit=True) + output_expr_nr, returns_nr, output_expr_r, returns_r = get_eom([terms_r1, terms_r2], spin, strategy="trav", which="ee", density_fit=True) # Generate the R amplitude intermediates code for name, codegen in code_generators.items(): @@ -494,7 +494,7 @@ def postamble(): terms_r2 = remove_reference_energy_eom(terms_r2) # Get the L amplitudes in albert format - returns_nr, output_expr_nr, returns_r, output_expr_r = get_eom([terms_r1, terms_r2], spin, strategy="exhaust", which="ip", density_fit=True) + output_expr_nr, returns_nr, output_expr_r, returns_r = get_eom([terms_r1, terms_r2], spin, strategy="exhaust", which="ip", density_fit=True) # Generate the L amplitude intermediates code for name, codegen in code_generators.items(): @@ -548,7 +548,7 @@ def postamble(): terms_r2 = remove_reference_energy_eom(terms_r2) # Get the L amplitudes in albert format - returns_nr, output_expr_nr, returns_r, output_expr_r = get_eom([terms_r1, terms_r2], spin, strategy="exhaust", which="ea", density_fit=True) + output_expr_nr, returns_nr, output_expr_r, returns_r = get_eom([terms_r1, terms_r2], spin, strategy="exhaust", which="ea", density_fit=True) # Generate the L amplitude intermediates code for name, codegen in code_generators.items(): @@ -603,7 +603,7 @@ def postamble(): terms_r2 = remove_reference_energy_eom(terms_r2) # Get the L amplitudes in albert format - returns_nr, output_expr_nr, returns_r, output_expr_r = get_eom([terms_r1, terms_r2], spin, strategy="trav", which="ee", density_fit=True) + output_expr_nr, returns_nr, output_expr_r, returns_r = get_eom([terms_r1, terms_r2], spin, strategy="trav", which="ee", density_fit=True) # Generate the L amplitude intermediates code for name, codegen in code_generators.items(): diff --git a/ebcc/codegen/bootstrap_MPn.py b/ebcc/codegen/bootstrap_MPn.py index 874f382a..90c9e78b 100644 --- a/ebcc/codegen/bootstrap_MPn.py +++ b/ebcc/codegen/bootstrap_MPn.py @@ -72,7 +72,7 @@ def preamble(): for delta, delta_source in zip(deltas, deltas_sources): if delta in done: continue - shape_source_index = 0 if delta.external_indices[0].space == "o" else 1 + shape_source_index = 0 if delta.external_indices[0].space == "o" else -1 codegen.tensor_declaration( delta, is_identity=True, @@ -122,7 +122,7 @@ def preamble(): for delta, delta_source in zip(deltas, deltas_sources): if delta in done: continue - shape_source_index = 0 if delta.external_indices[0].space == "o" else 1 + shape_source_index = 0 if delta.external_indices[0].space == "o" else -1 codegen.tensor_declaration( delta, is_identity=True, @@ -176,7 +176,7 @@ def postamble(): codegen.write("rdm2.bbbb -= einsum(delta.bb, (0, 3), delta.bb, (1, 2), (0, 1, 2, 3))") codegen.write("rdm2.aabb += einsum(delta.aa, (0, 1), rdm1.bb, (3, 2), (0, 1, 2, 3))") codegen.write("rdm2.aabb += einsum(rdm1.aa, (1, 0), delta.bb, (2, 3), (0, 1, 2, 3))") - codegen.write("rdm2.aabb += einsum(delta.aa, (0, 1), delta.bb, (2, 3), (0, 1, 2, 3))" + codegen.write("rdm2.aabb += einsum(delta.aa, (0, 1), delta.bb, (2, 3), (0, 1, 2, 3))") elif spin == "ghf": codegen.write("delta = np.diag(np.concatenate([np.ones(t2.shape[0]), np.zeros(t2.shape[-1])]))") codegen.write("rdm1 -= delta") @@ -185,7 +185,7 @@ def postamble(): codegen.write("rdm2 -= einsum(delta, (0, 3), rdm1, (2, 1), (0, 1, 2, 3))") codegen.write("rdm2 -= einsum(rdm1, (0, 3), delta, (1, 2), (0, 1, 2, 3))") codegen.write("rdm2 += einsum(delta, (0, 1), delta, (2, 3), (0, 1, 2, 3))") - codegen.write("rdm2 -= einsum(delta, (0, 3), delta, (1, 2), (0, 1, 2, 3))" + codegen.write("rdm2 -= einsum(delta, (0, 3), delta, (1, 2), (0, 1, 2, 3))") elif spin == "rhf": codegen.write("delta = np.diag(np.concatenate([np.ones(t2.shape[0]), np.zeros(t2.shape[-1])]))") codegen.write("rdm1 -= delta * 2") @@ -301,7 +301,7 @@ def postamble(): ] # Get the R amplitudes in albert format - returns_nr, output_expr_nr, returns_r, output_expr_r = get_eom([terms_r1, terms_r2], spin, strategy="trav", which="ee") + output_expr_nr, returns_nr, output_expr_r, returns_r = get_eom([terms_r1, terms_r2], spin, strategy="trav", which="ee") # Generate the R amplitude intermediates code for name, codegen in code_generators.items(): diff --git a/ebcc/codegen/bootstrap_QCISD.py b/ebcc/codegen/bootstrap_QCISD.py index c508e783..3ff4d645 100644 --- a/ebcc/codegen/bootstrap_QCISD.py +++ b/ebcc/codegen/bootstrap_QCISD.py @@ -183,7 +183,7 @@ def preamble(): for delta, delta_source in zip(deltas, deltas_sources): if delta in done: continue - shape_source_index = 0 if delta.external_indices[0].space == "o" else 1 + shape_source_index = 0 if delta.external_indices[0].space == "o" else -1 codegen.tensor_declaration( delta, is_identity=True, @@ -249,7 +249,7 @@ def preamble(): for delta, delta_source in zip(deltas, deltas_sources): if delta in done: continue - shape_source_index = 0 if delta.external_indices[0].space == "o" else 1 + shape_source_index = 0 if delta.external_indices[0].space == "o" else -1 codegen.tensor_declaration( delta, is_identity=True, @@ -421,7 +421,7 @@ def postamble(): terms_r2 = remove_reference_energy_eom(terms_r2) # Get the R amplitudes in albert format - returns_nr, output_expr_nr, returns_r, output_expr_r = get_eom([terms_r1, terms_r2], spin, strategy="trav", which="ee") + output_expr_nr, returns_nr, output_expr_r, returns_r = get_eom([terms_r1, terms_r2], spin, strategy="trav", which="ee") # Generate the R amplitude intermediates code for name, codegen in code_generators.items(): @@ -494,7 +494,7 @@ def postamble(): terms_r2 = remove_reference_energy_eom(terms_r2) # Get the L amplitudes in albert format - returns_nr, output_expr_nr, returns_r, output_expr_r = get_eom([terms_r1, terms_r2], spin, strategy="exhaust", which="ip") + output_expr_nr, returns_nr, output_expr_r, returns_r = get_eom([terms_r1, terms_r2], spin, strategy="exhaust", which="ip") # Generate the L amplitude intermediates code for name, codegen in code_generators.items(): @@ -548,7 +548,7 @@ def postamble(): terms_r2 = remove_reference_energy_eom(terms_r2) # Get the L amplitudes in albert format - returns_nr, output_expr_nr, returns_r, output_expr_r = get_eom([terms_r1, terms_r2], spin, strategy="exhaust", which="ea") + output_expr_nr, returns_nr, output_expr_r, returns_r = get_eom([terms_r1, terms_r2], spin, strategy="exhaust", which="ea") # Generate the L amplitude intermediates code for name, codegen in code_generators.items(): @@ -603,7 +603,7 @@ def postamble(): terms_r2 = remove_reference_energy_eom(terms_r2) # Get the L amplitudes in albert format - returns_nr, output_expr_nr, returns_r, output_expr_r = get_eom([terms_r1, terms_r2], spin, strategy="trav", which="ee") + output_expr_nr, returns_nr, output_expr_r, returns_r = get_eom([terms_r1, terms_r2], spin, strategy="trav", which="ee") # Generate the L amplitude intermediates code for name, codegen in code_generators.items(): diff --git a/ebcc/codegen/bootstrap_common.py b/ebcc/codegen/bootstrap_common.py index 71b4c7d8..7adce563 100644 --- a/ebcc/codegen/bootstrap_common.py +++ b/ebcc/codegen/bootstrap_common.py @@ -3,20 +3,20 @@ from albert.qc._pdaggerq import import_from_pdaggerq from albert.qc.spin import ghf_to_rhf, ghf_to_uhf, get_amplitude_spins, get_density_spins -from albert.qc.decomp import density_fit +from albert.qc.decomp import density_fit as _density_fit from albert.opt import optimise from albert.opt.tools import optimise_eom from albert.tensor import Tensor -def spin_integrate(exprs, spin): +def spin_integrate(expr, spin): """Perform the spin integration on the given expressions.""" if spin == "ghf": - return exprs + return (expr,) elif spin == "uhf": - return ghf_to_uhf(exprs) + return ghf_to_uhf(expr) else: - return (ghf_to_rhf(exprs),) + return (ghf_to_rhf(expr),) def get_energy(terms, spin, strategy="exhaust", density_fit=False): @@ -24,7 +24,7 @@ def get_energy(terms, spin, strategy="exhaust", density_fit=False): expr = import_from_pdaggerq(terms) expr = spin_integrate(expr, spin) if density_fit: - expr = tuple(density_fit(e) for e in expr) + expr = tuple(_density_fit(e) for e in expr) output = tuple(Tensor(name="e_cc") for _ in range(len(expr))) output_expr = optimise(output, expr, strategy=strategy) returns = (Tensor(name="e_cc"),) @@ -59,14 +59,14 @@ def get_amplitudes(terms_grouped, spin, strategy="exhaust", which="t", orders=No return output_expr, returns -def get_rdm1(terms_sectors, spin, strategy="exhaust"): +def get_rdm1(terms_sectors, spin, strategy="exhaust", density_fit=False): """Get the one-body reduced density matrix expressions from `pdaggerq` terms.""" if spin == "ghf": - from albert.qc.ghf import Delta, T1 + from albert.qc.ghf import Delta, T1, T2 elif spin == "uhf": - from albert.qc.uhf import Delta, T1 + from albert.qc.uhf import Delta, T1, T2 else: - from albert.qc.rhf import Delta, T1 + from albert.qc.rhf import Delta, T1, T2 expr = [] output = [] returns = [] @@ -79,7 +79,7 @@ def get_rdm1(terms_sectors, spin, strategy="exhaust"): if spin == "rhf": expr_n = tuple(e * 2 for e in expr_n) if density_fit: - expr_n = tuple(density_fit(e) for e in expr_n) + expr_n = tuple(_density_fit(e) for e in expr_n) output_n = [Tensor(*tuple(sorted(e.external_indices, key=lambda i: indices.index(i.name))), name=f"rdm1") for e in expr_n] returns_n = (output_n[0],) expr.extend(expr_n) @@ -88,7 +88,10 @@ def get_rdm1(terms_sectors, spin, strategy="exhaust"): if len(set(sectors)) == 1: delta = Delta(*tuple(sorted(expr_n[0].external_indices, key=lambda i: indices.index(i.name)))) deltas.append(delta) - deltas_sources.append(next(expr_n[0].search_leaves(T1))) + try: + deltas_sources.append(next(expr_n[0].search_leaves(T1))) + except StopIteration: + deltas_sources.append(next(expr_n[0].search_leaves(T2))) output_expr = optimise(output, expr, strategy=strategy) return output_expr, returns, deltas, deltas_sources @@ -128,7 +131,7 @@ def get_rdm2(terms_sectors, spin, strategy="exhaust", density_fit=False): expr_n = import_from_pdaggerq(terms_sectors[sectors, indices], index_spins=index_spins) expr_n = spin_integrate(expr_n, spin) if density_fit: - expr_n = tuple(density_fit(e) for e in expr_n) + expr_n = tuple(_density_fit(e) for e in expr_n) output_n = [Tensor(*tuple(sorted(e.external_indices, key=lambda i: indices.index(i.name))), name=f"rdm2") for e in expr_n] returns_n = (output_n[0],) expr.extend(expr_n) @@ -161,7 +164,7 @@ def get_eom(terms_grouped, spin, strategy="exhaust", which="ip", orders=None, de expr_n = import_from_pdaggerq(terms, index_spins=index_spins, l_is_lambda=False) expr_n = spin_integrate(expr_n, spin) if density_fit: - expr_n = tuple(density_fit(e) for e in expr_n) + expr_n = tuple(_density_fit(e) for e in expr_n) output_n = [Tensor(*sorted(e.external_indices, key=lambda i: indices.index(i.name)), name=f"r{order}new") for e in expr_n] returns_n = (output_n[0],) expr.extend(expr_n) From 54f03c6952fa386dacc72b61a8fe8cb7bc25ed68 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Fri, 22 Nov 2024 13:13:20 +0000 Subject: [PATCH 144/168] More bootstrap fixes --- ebcc/codegen/bootstrap_CCD.py | 2 +- ebcc/codegen/bootstrap_DFCCD.py | 2 +- ebcc/codegen/bootstrap_common.py | 15 +++++++++++---- 3 files changed, 13 insertions(+), 6 deletions(-) diff --git a/ebcc/codegen/bootstrap_CCD.py b/ebcc/codegen/bootstrap_CCD.py index 95b5c457..15ef2508 100644 --- a/ebcc/codegen/bootstrap_CCD.py +++ b/ebcc/codegen/bootstrap_CCD.py @@ -92,7 +92,7 @@ terms = pq.fully_contracted_strings() # Get the L amplitudes in albert format - get_amplitudes([terms], spin, strategy="opt" if spin == "uhf" else "exhaust", which="l", orders=[2]) + output_expr, returns = get_amplitudes([terms], spin, strategy="opt" if spin == "uhf" else "exhaust", which="l", orders=[2]) # Generate the L amplitude code for name, codegen in code_generators.items(): diff --git a/ebcc/codegen/bootstrap_DFCCD.py b/ebcc/codegen/bootstrap_DFCCD.py index 75a5c629..be518760 100644 --- a/ebcc/codegen/bootstrap_DFCCD.py +++ b/ebcc/codegen/bootstrap_DFCCD.py @@ -92,7 +92,7 @@ terms = pq.fully_contracted_strings() # Get the L amplitudes in albert format - get_amplitudes([terms], spin, strategy="opt" if spin == "uhf" else "exhaust", which="l", orders=[2], density_fit=True) + output_expr, returns = get_amplitudes([terms], spin, strategy="opt" if spin == "uhf" else "exhaust", which="l", orders=[2], density_fit=True) # Generate the L amplitude code for name, codegen in code_generators.items(): diff --git a/ebcc/codegen/bootstrap_common.py b/ebcc/codegen/bootstrap_common.py index 7adce563..3fefec6f 100644 --- a/ebcc/codegen/bootstrap_common.py +++ b/ebcc/codegen/bootstrap_common.py @@ -73,6 +73,8 @@ def get_rdm1(terms_sectors, spin, strategy="exhaust", density_fit=False): deltas = [] deltas_sources = [] for sectors, indices in [("oo", "ij"), ("ov", "ia"), ("vo", "ai"), ("vv", "ab")]: + if not terms_sectors.get((sectors, indices)): + continue for index_spins in get_density_spins(indices, spin): expr_n = import_from_pdaggerq(terms_sectors[sectors, indices], index_spins=index_spins) expr_n = spin_integrate(expr_n, spin) @@ -99,11 +101,11 @@ def get_rdm1(terms_sectors, spin, strategy="exhaust", density_fit=False): def get_rdm2(terms_sectors, spin, strategy="exhaust", density_fit=False): """Get the two-body reduced density matrix expressions from `pdaggerq` terms.""" if spin == "ghf": - from albert.qc.ghf import Delta, T1 + from albert.qc.ghf import Delta, T1, T2 elif spin == "uhf": - from albert.qc.uhf import Delta, T1 + from albert.qc.uhf import Delta, T1, T2 else: - from albert.qc.rhf import Delta, T1 + from albert.qc.rhf import Delta, T1, T2 expr = [] output = [] returns = [] @@ -127,6 +129,8 @@ def get_rdm2(terms_sectors, spin, strategy="exhaust", density_fit=False): ("vvvo", "abci"), ("vvvv", "abcd"), ]: + if not terms_sectors.get((sectors, indices)): + continue for index_spins in get_density_spins(indices, spin): expr_n = import_from_pdaggerq(terms_sectors[sectors, indices], index_spins=index_spins) expr_n = spin_integrate(expr_n, spin) @@ -140,7 +144,10 @@ def get_rdm2(terms_sectors, spin, strategy="exhaust", density_fit=False): if len(set(sectors)) == 1: delta = Delta(*tuple(sorted(expr_n[0].external_indices, key=lambda i: indices.index(i.name))[:2])) deltas.append(delta) - deltas_sources.append(next(expr_n[0].search_leaves(T1))) + try: + deltas_sources.append(next(expr_n[0].search_leaves(T1))) + except StopIteration: + deltas_sources.append(next(expr_n[0].search_leaves(T2))) output_expr = optimise(output, expr, strategy=strategy) return output_expr, returns, deltas, deltas_sources From 0200a9bf678372a4915264f887421659413f81f9 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Fri, 22 Nov 2024 18:28:24 +0000 Subject: [PATCH 145/168] More fixes nearly there --- ebcc/codegen/bootstrap_CCD.py | 16 ++++++++++++++++ ebcc/codegen/bootstrap_DCD.py | 4 ++-- ebcc/codegen/bootstrap_DCSD.py | 2 +- ebcc/codegen/bootstrap_MPn.py | 8 ++++---- ebcc/codegen/bootstrap_common.py | 1 + 5 files changed, 24 insertions(+), 7 deletions(-) diff --git a/ebcc/codegen/bootstrap_CCD.py b/ebcc/codegen/bootstrap_CCD.py index 15ef2508..fede421b 100644 --- a/ebcc/codegen/bootstrap_CCD.py +++ b/ebcc/codegen/bootstrap_CCD.py @@ -2,6 +2,7 @@ Generate the CCD code. """ +import itertools import sys import pdaggerq @@ -137,8 +138,14 @@ def postamble(): if name != "einsum": raise NotImplementedError # FIXME remove packing if spin != "uhf": + codegen.write("rdm1.ov = np.zeros((t2.shape[0], t2.shape[-1]))") + codegen.write("rdm1.vo = np.zeros((t2.shape[-1], t2.shape[0]))") codegen.write("rdm1 = np.block([[rdm1.oo, rdm1.ov], [rdm1.vo, rdm1.vv]])") else: + codegen.write("rdm1.aa.ov = np.zeros((t2.aaaa.shape[0], t2.aaaa.shape[-1]))") + codegen.write("rdm1.aa.vo = np.zeros((t2.aaaa.shape[-1], t2.aaaa.shape[0]))") + codegen.write("rdm1.bb.ov = np.zeros((t2.bbbb.shape[0], t2.bbbb.shape[-1]))") + codegen.write("rdm1.bb.vo = np.zeros((t2.bbbb.shape[-1], t2.bbbb.shape[0]))") codegen.write("rdm1.aa = np.block([[rdm1.aa.oo, rdm1.aa.ov], [rdm1.aa.vo, rdm1.aa.vv]])") codegen.write("rdm1.bb = np.block([[rdm1.bb.oo, rdm1.bb.ov], [rdm1.bb.vo, rdm1.bb.vv]])") @@ -203,8 +210,17 @@ def postamble(): if name != "einsum": raise NotImplementedError # FIXME remove packing, handle transpose if spin != "uhf": + for spaces in itertools.product("ov", repeat=4): + if not any(o.name == "rdm2" and all(s == i.space for s, i in zip(spaces, o.external_indices)) for o, _ in output_expr): + shape = [f"t2.shape[{0 if s == 'o' else -1}]" for s in spaces] + codegen.write(f"rdm2.{''.join(spaces)} = np.zeros(({', '.join(shape)}))") codegen.write("rdm2 = pack_2e(rdm2.oooo, rdm2.ooov, rdm2.oovo, rdm2.ovoo, rdm2.vooo, rdm2.oovv, rdm2.ovov, rdm2.ovvo, rdm2.voov, rdm2.vovo, rdm2.vvoo, rdm2.ovvv, rdm2.vovv, rdm2.vvov, rdm2.vvvo, rdm2.vvvv).transpose((0, 2, 1, 3))") else: + for spins in ("aaaa", "aabb", "bbbb"): + for spaces in itertools.product("ov", repeat=4): + if not any(o.name == "rdm2" and all(s == i.space and t == i.spin for s, t, i in zip(spaces, spins, o.external_indices)) for o, _ in output_expr): + shape = [f"t2.{t * 4}.shape[{0 if s == 'o' else -1}]" for s, t in zip(spaces, spins)] + codegen.write(f"rdm2.{spins}.{''.join(spaces)} = np.zeros(({', '.join(shape)}))") codegen.write("rdm2.aaaa = pack_2e(rdm2.aaaa.oooo, rdm2.aaaa.ooov, rdm2.aaaa.oovo, rdm2.aaaa.ovoo, rdm2.aaaa.vooo, rdm2.aaaa.oovv, rdm2.aaaa.ovov, rdm2.aaaa.ovvo, rdm2.aaaa.voov, rdm2.aaaa.vovo, rdm2.aaaa.vvoo, rdm2.aaaa.ovvv, rdm2.aaaa.vovv, rdm2.aaaa.vvov, rdm2.aaaa.vvvo, rdm2.aaaa.vvvv).transpose((0, 2, 1, 3))") codegen.write("rdm2.aabb = pack_2e(rdm2.abab.oooo, rdm2.abab.ooov, rdm2.abab.oovo, rdm2.abab.ovoo, rdm2.abab.vooo, rdm2.abab.oovv, rdm2.abab.ovov, rdm2.abab.ovvo, rdm2.abab.voov, rdm2.abab.vovo, rdm2.abab.vvoo, rdm2.abab.ovvv, rdm2.abab.vovv, rdm2.abab.vvov, rdm2.abab.vvvo, rdm2.abab.vvvv).transpose((0, 2, 1, 3))") codegen.write("rdm2.bbbb = pack_2e(rdm2.bbbb.oooo, rdm2.bbbb.ooov, rdm2.bbbb.oovo, rdm2.bbbb.ovoo, rdm2.bbbb.vooo, rdm2.bbbb.oovv, rdm2.bbbb.ovov, rdm2.bbbb.ovvo, rdm2.bbbb.voov, rdm2.bbbb.vovo, rdm2.bbbb.vvoo, rdm2.bbbb.ovvv, rdm2.bbbb.vovv, rdm2.bbbb.vvov, rdm2.bbbb.vvvo, rdm2.bbbb.vvvv).transpose((0, 2, 1, 3))") diff --git a/ebcc/codegen/bootstrap_DCD.py b/ebcc/codegen/bootstrap_DCD.py index 91e7ca8b..d5e99b97 100644 --- a/ebcc/codegen/bootstrap_DCD.py +++ b/ebcc/codegen/bootstrap_DCD.py @@ -38,8 +38,8 @@ # Get the energy contractions in pdaggerq format pq.clear() pq.set_left_operators([["1"]]) - pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) - pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["f"], ["t2"]) + pq.add_st_operator(1.0, ["v"], ["t2"]) pq.simplify() terms = pq.fully_contracted_strings() terms = remove_reference_energy(terms) diff --git a/ebcc/codegen/bootstrap_DCSD.py b/ebcc/codegen/bootstrap_DCSD.py index 7a4c8495..5287947c 100644 --- a/ebcc/codegen/bootstrap_DCSD.py +++ b/ebcc/codegen/bootstrap_DCSD.py @@ -81,7 +81,7 @@ ] # Get the T amplitudes in albert format - output_expr, returns = get_amplitudes([terms], spin, orders=[2]) + output_expr, returns = get_amplitudes([terms_t1, terms_t2], spin) # Generate the T amplitude code for name, codegen in code_generators.items(): diff --git a/ebcc/codegen/bootstrap_MPn.py b/ebcc/codegen/bootstrap_MPn.py index 90c9e78b..96a5d131 100644 --- a/ebcc/codegen/bootstrap_MPn.py +++ b/ebcc/codegen/bootstrap_MPn.py @@ -25,7 +25,7 @@ # Set up the code generators code_generators = { "einsum": EBCCCodeGenerator( - stdout=open(f"{spin[0].upper()}CCSD.py", "w"), + stdout=open(f"{spin[0].upper()}MP{order}.py", "w"), ), } @@ -143,13 +143,13 @@ def postamble(): codegen.write(f"rdm2.{key} = np.zeros((t1.shape[{i}], t1.shape[{j}], t1.shape[{k}], t1.shape[{l}]))") codegen.write("rdm2 = pack_2e(rdm2.oooo, rdm2.ooov, rdm2.oovo, rdm2.ovoo, rdm2.vooo, rdm2.oovv, rdm2.ovov, rdm2.ovvo, rdm2.voov, rdm2.vovo, rdm2.vvoo, rdm2.ovvv, rdm2.vovv, rdm2.vvov, rdm2.vvvo, rdm2.vvvv).transpose((0, 2, 1, 3))") else: - for spin in ("aaaa", "aabb", "bbbb"): + for s in ("aaaa", "aabb", "bbbb"): for key in itertools.product("ov", repeat=4): if tuple(key) in {("o", "o", "v", "v") , ("v", "v", "o", "o")}: continue i, j, k, l = ["ov".index(k) for k in key] - si, sj, sk, sl = spin - codegen.write(f"rdm2.{spin}.{key} = np.zeros((t1.{si}.shape[{i}], t1.{sj}.shape[{j}], t1.{sk}.shape[{k}], t1.{sl}.shape[{l}]))") + si, sj, sk, sl = s + codegen.write(f"rdm2.{si+sj+sk+sl}.{key} = np.zeros((t1.{si}.shape[{i}], t1.{sj}.shape[{j}], t1.{sk}.shape[{k}], t1.{sl}.shape[{l}]))") codegen.write("rdm2.aaaa = pack_2e(rdm2.aaaa.oooo, rdm2.aaaa.ooov, rdm2.aaaa.oovo, rdm2.aaaa.ovoo, rdm2.aaaa.vooo, rdm2.aaaa.oovv, rdm2.aaaa.ovov, rdm2.aaaa.ovvo, rdm2.aaaa.voov, rdm2.aaaa.vovo, rdm2.aaaa.vvoo, rdm2.aaaa.ovvv, rdm2.aaaa.vovv, rdm2.aaaa.vvov, rdm2.aaaa.vvvo, rdm2.aaaa.vvvv).transpose((0, 2, 1, 3))") codegen.write("rdm2.aabb = pack_2e(rdm2.abab.oooo, rdm2.abab.ooov, rdm2.abab.oovo, rdm2.abab.ovoo, rdm2.abab.vooo, rdm2.abab.oovv, rdm2.abab.ovov, rdm2.abab.ovvo, rdm2.abab.voov, rdm2.abab.vovo, rdm2.abab.vvoo, rdm2.abab.ovvv, rdm2.abab.vovv, rdm2.abab.vvov, rdm2.abab.vvvo, rdm2.abab.vvvv).transpose((0, 2, 1, 3))") codegen.write("rdm2.bbbb = pack_2e(rdm2.bbbb.oooo, rdm2.bbbb.ooov, rdm2.bbbb.oovo, rdm2.bbbb.ovoo, rdm2.bbbb.vooo, rdm2.bbbb.oovv, rdm2.bbbb.ovov, rdm2.bbbb.ovvo, rdm2.bbbb.voov, rdm2.bbbb.vovo, rdm2.bbbb.vvoo, rdm2.bbbb.ovvv, rdm2.bbbb.vovv, rdm2.bbbb.vvov, rdm2.bbbb.vvvo, rdm2.bbbb.vvvv).transpose((0, 2, 1, 3))") diff --git a/ebcc/codegen/bootstrap_common.py b/ebcc/codegen/bootstrap_common.py index 3fefec6f..9322e777 100644 --- a/ebcc/codegen/bootstrap_common.py +++ b/ebcc/codegen/bootstrap_common.py @@ -56,6 +56,7 @@ def get_amplitudes(terms_grouped, spin, strategy="exhaust", which="t", orders=No output_expr = optimise(output, expr, strategy="exhaust") else: output_expr = list(zip(output, expr)) + output_expr = [(o, e.apply(lambda tensor: tensor.canonicalise(), Tensor)) for o, e in output_expr] return output_expr, returns From 9bceefbac0d4b8e7b3648fdf9048f70f3ff01e4b Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Fri, 22 Nov 2024 18:53:27 +0000 Subject: [PATCH 146/168] Try CCSDT again --- .github/workflows/bootstrap_all.sh | 4 +- ebcc/codegen/GCCSDT.py | 6600 --------------- ebcc/codegen/RCCSDT.py | 11654 --------------------------- ebcc/codegen/UCCSDT.py | 10847 ------------------------- 4 files changed, 2 insertions(+), 29103 deletions(-) delete mode 100644 ebcc/codegen/GCCSDT.py delete mode 100644 ebcc/codegen/RCCSDT.py delete mode 100644 ebcc/codegen/UCCSDT.py diff --git a/.github/workflows/bootstrap_all.sh b/.github/workflows/bootstrap_all.sh index 1f95c7dc..1519a61d 100644 --- a/.github/workflows/bootstrap_all.sh +++ b/.github/workflows/bootstrap_all.sh @@ -20,7 +20,7 @@ for method in CCD CCSD QCISD CC2 DCD DCSD; do done done -for method in CC3; do +for method in CC3 CCSDT; do for i in rhf uhf ghf; do echo "Bootstrapping $method ($i)" python -W ignore bootstrap_${method}.py $i &> output_${method}_${i}.dat & @@ -49,7 +49,7 @@ for method in CCD CCSD QCISD CC2 DCD DCSD; do done done -for method in CC3; do +for method in CC3 CCSDT; do for i in rhf uhf ghf; do echo "Output for $method ($i)" cat output_${method}_${i}.dat diff --git a/ebcc/codegen/GCCSDT.py b/ebcc/codegen/GCCSDT.py deleted file mode 100644 index fc050862..00000000 --- a/ebcc/codegen/GCCSDT.py +++ /dev/null @@ -1,6600 +0,0 @@ -""" -Code generated by `albert`: -https://github.com/obackhouse/albert - - * date: 2024-10-22T10:27:00.201876 - * python version: 3.9.6 (default, Feb 3 2024, 15:58:27) [Clang 15.0.0 (clang-1500.3.9.4)] - * albert version: 0.0.0 - * caller: /Users/oliver.backhouse/env/default/lib/python3.9/site-packages/albert/codegen/einsum.py - * node: F9HJ673GV7.local - * system: Darwin - * processor: arm - * release: 23.3.0 -""" - -from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, dirsum, Namespace - - -def energy(f=None, t1=None, t2=None, v=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-10-22T10:27:00.316202. - - Parameters - ---------- - f : array - Fock matrix. - t1 : array - T1 amplitudes. - t2 : array - T2 amplitudes. - v : array - Electron repulsion integrals. - - Returns - ------- - e_cc : float - Coupled cluster energy. - """ - - e_cc = einsum(f.ov, (0, 1), t1, (0, 1), ()) - tmp0 = np.copy(t2) - tmp0 += einsum(t1, (0, 1), t1, (2, 3), (2, 0, 3, 1)) * 2 - e_cc += einsum(v.oovv, (0, 1, 2, 3), tmp0, (0, 1, 2, 3), ()) * 0.25 - del tmp0 - - return e_cc - -def update_amps(f=None, t1=None, t2=None, t3=None, v=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-10-22T10:27:33.480466. - - Parameters - ---------- - f : array - Fock matrix. - t1 : array - T1 amplitudes. - t2 : array - T2 amplitudes. - t3 : array - T3 amplitudes. - v : array - Electron repulsion integrals. - - Returns - ------- - t1new : array - Updated T1 residuals. - t2new : array - Updated T2 residuals. - t3new : array - Updated T3 residuals. - """ - - t1new = einsum(t3, (0, 1, 2, 3, 4, 5), v.oovv, (1, 2, 4, 5), (0, 3)) * 0.25 - t1new += f.ov - t1new += einsum(v.ovov, (0, 1, 2, 3), t1, (2, 1), (0, 3)) * -1 - t1new += einsum(t1, (0, 1), f.vv, (2, 1), (0, 2)) - tmp1 = np.copy(np.transpose(v.ovoo, (0, 2, 3, 1))) * -1 - tmp0 = einsum(t1, (0, 1), v.oovv, (2, 3, 4, 1), (0, 2, 3, 4)) - tmp1 += np.transpose(tmp0, (0, 2, 1, 3)) * -1 - t1new += einsum(tmp1, (0, 1, 2, 3), t2, (1, 2, 4, 3), (0, 4)) * 0.5 - del tmp1 - tmp2 = np.copy(t2) * 0.5 - tmp2 += einsum(t1, (0, 1), t1, (2, 3), (2, 0, 3, 1)) - t1new += einsum(v.ovvv, (0, 1, 2, 3), tmp2, (0, 4, 2, 3), (4, 1)) - tmp4 = np.copy(f.ov) - tmp3 = einsum(t1, (0, 1), v.oovv, (2, 0, 3, 1), (2, 3)) - tmp4 += tmp3 - t1new += einsum(tmp4, (0, 1), t2, (2, 0, 3, 1), (2, 3)) - tmp8 = np.copy(f.oo) - tmp5 = einsum(t1, (0, 1), f.ov, (2, 1), (2, 0)) - tmp8 += tmp5 - tmp6 = einsum(t1, (0, 1), v.ooov, (2, 0, 3, 1), (2, 3)) - tmp8 += tmp6 - tmp7 = np.copy(t2) - tmp7 += einsum(t1, (0, 1), t1, (2, 3), (2, 0, 3, 1)) * 2 - tmp8 += einsum(tmp7, (0, 1, 2, 3), v.oovv, (4, 0, 2, 3), (4, 1)) * -0.5 - t1new += einsum(tmp8, (0, 1), t1, (0, 2), (1, 2)) * -1 - del tmp8 - t2new = np.copy(v.oovv) - tmp9 = einsum(t1, (0, 1), v.ooov, (2, 3, 0, 4), (2, 3, 1, 4)) - tmp17 = np.copy(np.transpose(tmp9, (1, 0, 2, 3))) * -1 - del tmp9 - tmp10 = einsum(v.ovvv, (0, 1, 2, 3), t1, (0, 3), (1, 2)) - tmp11 = einsum(t2, (0, 1, 2, 3), tmp10, (4, 3), (0, 1, 2, 4)) * -1 - tmp17 += np.transpose(tmp11, (1, 0, 2, 3)) - del tmp11 - tmp12 = einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 3), (0, 4, 2, 5)) - tmp13 = einsum(t2, (0, 1, 2, 3), tmp12, (4, 1, 5, 3), (4, 0, 5, 2)) - tmp17 += np.transpose(tmp13, (1, 0, 2, 3)) - del tmp13 - tmp15 = np.copy(f.vv) * -1 - tmp14 = einsum(tmp3, (0, 1), t1, (0, 2), (2, 1)) - tmp15 += tmp14 - del tmp14 - tmp16 = einsum(t2, (0, 1, 2, 3), tmp15, (4, 3), (0, 1, 2, 4)) * -1 - del tmp15 - tmp17 += np.transpose(tmp16, (1, 0, 3, 2)) * -1 - del tmp16 - t2new += tmp17 * -1 - t2new += np.transpose(tmp17, (0, 1, 3, 2)) - del tmp17 - tmp18 = einsum(t2, (0, 1, 2, 3), tmp5, (1, 4), (4, 0, 2, 3)) - tmp25 = np.copy(np.transpose(tmp18, (0, 1, 3, 2))) - del tmp18 - tmp19 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovoo, (6, 5, 1, 2), (0, 6, 3, 4)) - tmp25 += np.transpose(tmp19, (0, 1, 3, 2)) * -0.5 - del tmp19 - tmp20 = einsum(tmp0, (0, 1, 2, 3), t3, (4, 2, 1, 5, 6, 3), (0, 4, 5, 6)) - tmp25 += np.transpose(tmp20, (0, 1, 3, 2)) * 0.5 - del tmp20 - tmp21 = einsum(v.oovv, (0, 1, 2, 3), t2, (4, 1, 2, 3), (4, 0)) - tmp22 = einsum(t2, (0, 1, 2, 3), tmp21, (4, 1), (0, 4, 2, 3)) - tmp25 += np.transpose(tmp22, (0, 1, 3, 2)) * -0.5 - del tmp22 - tmp23 = einsum(v.ooov, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) - tmp24 = einsum(tmp7, (0, 1, 2, 3), tmp23, (4, 0, 1, 5), (4, 5, 2, 3)) * 0.5 - tmp25 += np.transpose(tmp24, (0, 1, 3, 2)) * -1 - del tmp24 - t2new += tmp25 * -1 - t2new += np.transpose(tmp25, (1, 0, 2, 3)) - del tmp25 - tmp26 = einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 0, 6, 2, 3), (4, 5, 6, 1)) - tmp34 = np.copy(np.transpose(tmp26, (1, 0, 2, 3))) * -0.5 - del tmp26 - tmp27 = einsum(t2, (0, 1, 2, 3), v.oovv, (0, 1, 4, 3), (2, 4)) - tmp28 = einsum(t2, (0, 1, 2, 3), tmp27, (4, 3), (0, 1, 2, 4)) - tmp34 += np.transpose(tmp28, (1, 0, 2, 3)) * -0.5 - del tmp28 - tmp29 = einsum(t2, (0, 1, 2, 3), f.ov, (4, 3), (4, 0, 1, 2)) - tmp32 = np.copy(np.transpose(tmp29, (0, 2, 1, 3))) * -1 - del tmp29 - tmp30 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 5, 2, 3), (4, 5, 0, 1)) - tmp32 += np.transpose(tmp30, (2, 1, 0, 3)) * 0.5 - tmp31 = einsum(t3, (0, 1, 2, 3, 4, 5), v.oovv, (6, 2, 4, 5), (0, 1, 6, 3)) - tmp32 += np.transpose(tmp31, (2, 1, 0, 3)) * -0.5 - tmp33 = einsum(t1, (0, 1), tmp32, (0, 2, 3, 4), (2, 3, 1, 4)) - del tmp32 - tmp34 += np.transpose(tmp33, (1, 0, 2, 3)) - del tmp33 - t2new += tmp34 * -1 - t2new += np.transpose(tmp34, (0, 1, 3, 2)) - del tmp34 - tmp35 = einsum(tmp0, (0, 1, 2, 3), t2, (4, 1, 5, 3), (0, 4, 2, 5)) - tmp36 = einsum(t1, (0, 1), tmp35, (2, 3, 0, 4), (2, 3, 1, 4)) - t2new += tmp36 * -1 - t2new += np.transpose(tmp36, (0, 1, 3, 2)) - t2new += np.transpose(tmp36, (1, 0, 2, 3)) - t2new += np.transpose(tmp36, (1, 0, 3, 2)) * -1 - del tmp36 - tmp37 = einsum(t1, (0, 1), v.ovvv, (2, 1, 3, 4), (0, 2, 3, 4)) - tmp41 = np.copy(np.transpose(tmp37, (0, 1, 3, 2))) * -1 - del tmp37 - tmp38 = einsum(t2, (0, 1, 2, 3), tmp6, (1, 4), (0, 4, 2, 3)) * -1 - tmp41 += np.transpose(tmp38, (0, 1, 3, 2)) - del tmp38 - tmp39 = einsum(tmp3, (0, 1), t1, (2, 1), (2, 0)) - tmp40 = einsum(t2, (0, 1, 2, 3), tmp39, (4, 1), (4, 0, 2, 3)) * -1 - tmp41 += np.transpose(tmp40, (0, 1, 3, 2)) * -1 - del tmp40 - t2new += tmp41 * -1 - t2new += np.transpose(tmp41, (1, 0, 2, 3)) - del tmp41 - tmp42 = einsum(t2, (0, 1, 2, 3), f.oo, (4, 1), (4, 0, 2, 3)) - t2new += np.transpose(tmp42, (0, 1, 3, 2)) * -1 - t2new += np.transpose(tmp42, (1, 0, 3, 2)) - del tmp42 - tmp43 = einsum(v.ooov, (0, 1, 2, 3), t2, (4, 1, 5, 3), (4, 0, 2, 5)) - tmp44 = einsum(t1, (0, 1), tmp43, (2, 0, 3, 4), (2, 3, 1, 4)) - tmp47 = np.copy(tmp44) - del tmp44 - tmp45 = np.copy(t2) - tmp45 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 3, 1)) * -1 - tmp46 = einsum(v.ovov, (0, 1, 2, 3), tmp45, (2, 4, 1, 5), (0, 4, 3, 5)) - del tmp45 - tmp47 += np.transpose(tmp46, (1, 0, 3, 2)) * -1 - del tmp46 - t2new += tmp47 - t2new += np.transpose(tmp47, (0, 1, 3, 2)) * -1 - t2new += np.transpose(tmp47, (1, 0, 2, 3)) * -1 - t2new += np.transpose(tmp47, (1, 0, 3, 2)) - del tmp47 - tmp48 = einsum(t1, (0, 1), v.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) - tmp49 = einsum(t2, (0, 1, 2, 3), tmp48, (4, 1, 5, 3), (4, 0, 2, 5)) * -1 - t2new += tmp49 - t2new += np.transpose(tmp49, (0, 1, 3, 2)) * -1 - t2new += np.transpose(tmp49, (1, 0, 2, 3)) * -1 - t2new += np.transpose(tmp49, (1, 0, 3, 2)) - del tmp49 - tmp50 = einsum(t1, (0, 1), tmp48, (2, 3, 4, 1), (2, 0, 3, 4)) * -1 - tmp51 = einsum(t1, (0, 1), tmp50, (2, 3, 0, 4), (2, 3, 1, 4)) - t2new += np.transpose(tmp51, (1, 0, 2, 3)) - t2new += np.transpose(tmp51, (1, 0, 3, 2)) * -1 - del tmp51 - t2new += einsum(tmp4, (0, 1), t3, (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) - del tmp4 - tmp52 = np.copy(v.oooo) * -1 - tmp52 += einsum(v.oovv, (0, 1, 2, 3), tmp7, (4, 5, 2, 3), (0, 1, 5, 4)) * 0.5 - t2new += einsum(tmp7, (0, 1, 2, 3), tmp52, (0, 1, 4, 5), (4, 5, 3, 2)) * 0.5 - del tmp7, tmp52 - t2new += einsum(v.vvvv, (0, 1, 2, 3), tmp2, (4, 5, 2, 3), (5, 4, 0, 1)) * -1 - tmp53 = einsum(v.vvvv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 2, 3), (4, 5, 6, 7, 0, 1)) - tmp57 = np.copy(np.transpose(tmp53, (1, 2, 0, 3, 5, 4))) * -0.5 - del tmp53 - tmp55 = np.copy(f.vv) * -1 - tmp54 = einsum(t1, (0, 1), f.ov, (0, 2), (2, 1)) - tmp55 += tmp54 - del tmp54 - tmp55 += np.transpose(tmp27, (1, 0)) * 0.5 - del tmp27 - tmp56 = einsum(tmp55, (0, 1), t3, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) - del tmp55 - tmp57 += np.transpose(tmp56, (1, 2, 0, 3, 4, 5)) * -1 - del tmp56 - t3new = np.copy(np.transpose(tmp57, (2, 0, 1, 3, 4, 5))) - t3new += np.transpose(tmp57, (2, 0, 1, 4, 3, 5)) * -1 - t3new += np.transpose(tmp57, (2, 0, 1, 4, 5, 3)) - del tmp57 - tmp58 = einsum(v.vvvv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) - tmp59 = einsum(t2, (0, 1, 2, 3), tmp58, (4, 5, 6, 3), (4, 0, 1, 2, 5, 6)) * -1 - del tmp58 - tmp64 = np.copy(np.transpose(tmp59, (0, 2, 1, 3, 5, 4))) - del tmp59 - tmp60 = einsum(t2, (0, 1, 2, 3), v.oooo, (4, 5, 6, 1), (0, 4, 5, 6, 2, 3)) - tmp62 = np.copy(np.transpose(tmp60, (0, 2, 1, 3, 5, 4))) - del tmp60 - tmp61 = einsum(tmp0, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (0, 4, 5, 2, 6, 7)) - tmp62 += np.transpose(tmp61, (0, 2, 1, 3, 5, 4)) - del tmp61 - tmp63 = einsum(tmp62, (0, 1, 2, 3, 4, 5), t1, (3, 6), (0, 1, 2, 6, 4, 5)) - del tmp62 - tmp64 += np.transpose(tmp63, (0, 2, 1, 3, 5, 4)) - del tmp63 - t3new += tmp64 * -1 - t3new += np.transpose(tmp64, (0, 1, 2, 4, 3, 5)) - t3new += np.transpose(tmp64, (0, 1, 2, 4, 5, 3)) * -1 - t3new += np.transpose(tmp64, (1, 0, 2, 3, 4, 5)) - t3new += np.transpose(tmp64, (1, 0, 2, 4, 3, 5)) * -1 - t3new += np.transpose(tmp64, (1, 0, 2, 4, 5, 3)) - t3new += np.transpose(tmp64, (1, 2, 0, 3, 4, 5)) * -1 - t3new += np.transpose(tmp64, (1, 2, 0, 4, 3, 5)) - t3new += np.transpose(tmp64, (1, 2, 0, 4, 5, 3)) * -1 - del tmp64 - tmp65 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp48, (6, 2, 7, 5), (6, 0, 1, 3, 4, 7)) * -1 - tmp70 = np.copy(np.transpose(tmp65, (0, 2, 1, 4, 3, 5))) - del tmp65 - tmp66 = einsum(tmp0, (0, 1, 2, 3), tmp2, (1, 2, 4, 5), (0, 3, 4, 5)) - del tmp0 - tmp67 = einsum(t2, (0, 1, 2, 3), tmp66, (4, 3, 5, 6), (0, 1, 4, 2, 6, 5)) - del tmp66 - tmp70 += np.transpose(tmp67, (2, 1, 0, 5, 4, 3)) - del tmp67 - tmp68 = np.copy(v.ooov) - tmp68 += np.transpose(tmp31, (1, 0, 2, 3)) * 0.5 - del tmp31 - tmp69 = einsum(tmp68, (0, 1, 2, 3), t2, (4, 2, 5, 6), (4, 0, 1, 5, 6, 3)) * -1 - del tmp68 - tmp70 += np.transpose(tmp69, (0, 2, 1, 4, 3, 5)) * -1 - del tmp69 - t3new += tmp70 * -1 - t3new += np.transpose(tmp70, (0, 1, 2, 3, 5, 4)) - t3new += np.transpose(tmp70, (0, 1, 2, 5, 3, 4)) * -1 - t3new += np.transpose(tmp70, (1, 0, 2, 3, 4, 5)) - t3new += np.transpose(tmp70, (1, 0, 2, 3, 5, 4)) * -1 - t3new += np.transpose(tmp70, (1, 0, 2, 5, 3, 4)) - t3new += np.transpose(tmp70, (1, 2, 0, 3, 4, 5)) * -1 - t3new += np.transpose(tmp70, (1, 2, 0, 3, 5, 4)) - t3new += np.transpose(tmp70, (1, 2, 0, 5, 3, 4)) * -1 - del tmp70 - tmp71 = einsum(tmp10, (0, 1), t3, (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 6, 0)) * -1 - del tmp10 - t3new += np.transpose(tmp71, (1, 2, 0, 4, 3, 5)) * -1 - t3new += np.transpose(tmp71, (1, 2, 0, 4, 5, 3)) - t3new += np.transpose(tmp71, (1, 2, 0, 5, 4, 3)) * -1 - del tmp71 - tmp72 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 3), (0, 2, 4, 5)) - tmp73 = einsum(t2, (0, 1, 2, 3), tmp72, (4, 5, 6, 3), (0, 1, 4, 2, 5, 6)) - del tmp72 - t3new += np.transpose(tmp73, (1, 0, 2, 3, 4, 5)) * -1 - t3new += np.transpose(tmp73, (1, 0, 2, 3, 5, 4)) - t3new += np.transpose(tmp73, (1, 0, 2, 4, 3, 5)) - t3new += np.transpose(tmp73, (1, 0, 2, 5, 3, 4)) * -1 - t3new += np.transpose(tmp73, (1, 0, 2, 4, 5, 3)) * -1 - t3new += np.transpose(tmp73, (1, 0, 2, 5, 4, 3)) - t3new += np.transpose(tmp73, (1, 2, 0, 3, 4, 5)) - t3new += np.transpose(tmp73, (1, 2, 0, 3, 5, 4)) * -1 - t3new += np.transpose(tmp73, (1, 2, 0, 4, 3, 5)) * -1 - t3new += np.transpose(tmp73, (1, 2, 0, 5, 3, 4)) - t3new += np.transpose(tmp73, (1, 2, 0, 4, 5, 3)) - t3new += np.transpose(tmp73, (1, 2, 0, 5, 4, 3)) * -1 - t3new += np.transpose(tmp73, (2, 1, 0, 3, 4, 5)) * -1 - t3new += np.transpose(tmp73, (2, 1, 0, 3, 5, 4)) - t3new += np.transpose(tmp73, (2, 1, 0, 4, 3, 5)) - t3new += np.transpose(tmp73, (2, 1, 0, 5, 3, 4)) * -1 - t3new += np.transpose(tmp73, (2, 1, 0, 4, 5, 3)) * -1 - t3new += np.transpose(tmp73, (2, 1, 0, 5, 4, 3)) - del tmp73 - tmp74 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovvv, (6, 7, 4, 5), (0, 1, 2, 6, 3, 7)) - tmp75 = einsum(t1, (0, 1), tmp74, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) - del tmp74 - t3new += np.transpose(tmp75, (1, 2, 0, 3, 4, 5)) * 0.5 - t3new += np.transpose(tmp75, (1, 2, 0, 3, 5, 4)) * -0.5 - t3new += np.transpose(tmp75, (1, 2, 0, 4, 3, 5)) * -0.5 - t3new += np.transpose(tmp75, (1, 2, 0, 5, 3, 4)) * 0.5 - t3new += np.transpose(tmp75, (1, 2, 0, 4, 5, 3)) * 0.5 - t3new += np.transpose(tmp75, (1, 2, 0, 5, 4, 3)) * -0.5 - del tmp75 - tmp76 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovov, (6, 5, 2, 7), (0, 1, 6, 3, 4, 7)) - tmp80 = np.copy(np.transpose(tmp76, (1, 0, 2, 4, 3, 5))) - del tmp76 - tmp77 = einsum(v.ovoo, (0, 1, 2, 3), t2, (2, 3, 4, 5), (0, 4, 5, 1)) - tmp78 = einsum(t2, (0, 1, 2, 3), tmp77, (4, 5, 6, 3), (0, 1, 4, 5, 6, 2)) - del tmp77 - tmp80 += np.transpose(tmp78, (1, 0, 2, 4, 3, 5)) * 0.5 - del tmp78 - tmp79 = einsum(tmp30, (0, 1, 2, 3), t2, (4, 2, 5, 6), (0, 1, 4, 5, 6, 3)) - del tmp30 - tmp80 += np.transpose(tmp79, (1, 0, 2, 4, 3, 5)) * 0.5 - del tmp79 - t3new += tmp80 * -1 - t3new += np.transpose(tmp80, (0, 1, 2, 3, 5, 4)) - t3new += np.transpose(tmp80, (0, 1, 2, 5, 3, 4)) * -1 - t3new += np.transpose(tmp80, (0, 2, 1, 3, 4, 5)) - t3new += np.transpose(tmp80, (0, 2, 1, 3, 5, 4)) * -1 - t3new += np.transpose(tmp80, (0, 2, 1, 5, 3, 4)) - t3new += np.transpose(tmp80, (2, 0, 1, 3, 4, 5)) * -1 - t3new += np.transpose(tmp80, (2, 0, 1, 3, 5, 4)) - t3new += np.transpose(tmp80, (2, 0, 1, 5, 3, 4)) * -1 - del tmp80 - tmp81 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), (0, 1, 4, 5, 6, 2)) - tmp82 = einsum(t1, (0, 1), tmp81, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 1, 6)) - del tmp81 - tmp83 = einsum(t1, (0, 1), tmp82, (2, 3, 0, 4, 5, 6), (2, 3, 4, 5, 1, 6)) * -1 - del tmp82 - tmp85 = np.copy(np.transpose(tmp83, (1, 0, 2, 4, 3, 5))) - del tmp83 - tmp84 = einsum(tmp50, (0, 1, 2, 3), t2, (4, 2, 5, 6), (0, 1, 4, 5, 6, 3)) - del tmp50 - tmp85 += np.transpose(tmp84, (1, 0, 2, 4, 3, 5)) - del tmp84 - t3new += tmp85 * -1 - t3new += np.transpose(tmp85, (0, 1, 2, 3, 5, 4)) - t3new += np.transpose(tmp85, (0, 1, 2, 5, 3, 4)) * -1 - t3new += np.transpose(tmp85, (0, 2, 1, 3, 4, 5)) - t3new += np.transpose(tmp85, (0, 2, 1, 3, 5, 4)) * -1 - t3new += np.transpose(tmp85, (0, 2, 1, 5, 3, 4)) - t3new += np.transpose(tmp85, (2, 0, 1, 3, 4, 5)) * -1 - t3new += np.transpose(tmp85, (2, 0, 1, 3, 5, 4)) - t3new += np.transpose(tmp85, (2, 0, 1, 5, 3, 4)) * -1 - del tmp85 - tmp86 = einsum(t2, (0, 1, 2, 3), tmp48, (4, 5, 6, 3), (4, 0, 1, 5, 2, 6)) * -1 - del tmp48 - tmp87 = einsum(tmp86, (0, 1, 2, 3, 4, 5), t1, (3, 6), (0, 1, 2, 6, 4, 5)) - del tmp86 - t3new += np.transpose(tmp87, (0, 2, 1, 3, 4, 5)) - t3new += np.transpose(tmp87, (0, 2, 1, 3, 5, 4)) * -1 - t3new += np.transpose(tmp87, (0, 2, 1, 4, 3, 5)) * -1 - t3new += np.transpose(tmp87, (0, 2, 1, 5, 3, 4)) - t3new += np.transpose(tmp87, (0, 2, 1, 4, 5, 3)) - t3new += np.transpose(tmp87, (0, 2, 1, 5, 4, 3)) * -1 - t3new += np.transpose(tmp87, (2, 0, 1, 3, 4, 5)) * -1 - t3new += np.transpose(tmp87, (2, 0, 1, 3, 5, 4)) - t3new += np.transpose(tmp87, (2, 0, 1, 4, 3, 5)) - t3new += np.transpose(tmp87, (2, 0, 1, 5, 3, 4)) * -1 - t3new += np.transpose(tmp87, (2, 0, 1, 4, 5, 3)) * -1 - t3new += np.transpose(tmp87, (2, 0, 1, 5, 4, 3)) - t3new += np.transpose(tmp87, (2, 1, 0, 3, 4, 5)) - t3new += np.transpose(tmp87, (2, 1, 0, 3, 5, 4)) * -1 - t3new += np.transpose(tmp87, (2, 1, 0, 4, 3, 5)) * -1 - t3new += np.transpose(tmp87, (2, 1, 0, 5, 3, 4)) - t3new += np.transpose(tmp87, (2, 1, 0, 4, 5, 3)) - t3new += np.transpose(tmp87, (2, 1, 0, 5, 4, 3)) * -1 - del tmp87 - tmp88 = einsum(v.oovv, (0, 1, 2, 3), tmp2, (4, 5, 2, 3), (4, 5, 0, 1)) - tmp89 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp88, (6, 7, 2, 1), (7, 6, 0, 3, 4, 5)) * -0.5 - t3new += np.transpose(tmp89, (1, 0, 2, 3, 4, 5)) - t3new += np.transpose(tmp89, (1, 2, 0, 3, 4, 5)) * -1 - t3new += np.transpose(tmp89, (2, 1, 0, 3, 4, 5)) - del tmp89 - tmp90 = einsum(t3, (0, 1, 2, 3, 4, 5), v.oovv, (6, 7, 4, 5), (0, 1, 2, 6, 7, 3)) - tmp91 = einsum(tmp2, (0, 1, 2, 3), tmp90, (4, 5, 6, 0, 1, 7), (4, 5, 6, 2, 3, 7)) * 0.5 - del tmp2, tmp90 - t3new += np.transpose(tmp91, (0, 1, 2, 4, 3, 5)) * -1 - t3new += np.transpose(tmp91, (0, 1, 2, 4, 5, 3)) - t3new += np.transpose(tmp91, (0, 1, 2, 5, 4, 3)) * -1 - del tmp91 - tmp94 = np.copy(np.transpose(v.ovvv, (0, 2, 3, 1))) * -1 - tmp92 = einsum(t2, (0, 1, 2, 3), f.ov, (1, 4), (0, 4, 2, 3)) - tmp94 += np.transpose(tmp92, (0, 3, 2, 1)) * -1 - del tmp92 - tmp93 = einsum(v.oovv, (0, 1, 2, 3), t3, (4, 0, 1, 5, 6, 3), (4, 5, 6, 2)) - tmp94 += np.transpose(tmp93, (0, 2, 1, 3)) * -0.5 - del tmp93 - tmp95 = einsum(t2, (0, 1, 2, 3), tmp94, (4, 5, 6, 3), (0, 1, 4, 2, 5, 6)) * -1 - del tmp94 - tmp100 = np.copy(np.transpose(tmp95, (1, 0, 2, 3, 5, 4))) - del tmp95 - tmp96 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ooov, (6, 2, 7, 5), (0, 1, 6, 7, 3, 4)) - tmp98 = np.copy(np.transpose(tmp96, (1, 0, 2, 3, 5, 4))) - del tmp96 - tmp97 = einsum(tmp88, (0, 1, 2, 3), t2, (4, 3, 5, 6), (4, 1, 0, 2, 5, 6)) * -1 - del tmp88 - tmp98 += np.transpose(tmp97, (2, 1, 3, 0, 5, 4)) - del tmp97 - tmp99 = einsum(tmp98, (0, 1, 2, 3, 4, 5), t1, (2, 6), (0, 1, 3, 6, 4, 5)) - del tmp98 - tmp100 += np.transpose(tmp99, (1, 0, 2, 3, 5, 4)) - del tmp99 - t3new += tmp100 * -1 - t3new += np.transpose(tmp100, (0, 1, 2, 4, 3, 5)) - t3new += np.transpose(tmp100, (0, 1, 2, 4, 5, 3)) * -1 - t3new += np.transpose(tmp100, (0, 2, 1, 3, 4, 5)) - t3new += np.transpose(tmp100, (0, 2, 1, 4, 3, 5)) * -1 - t3new += np.transpose(tmp100, (0, 2, 1, 4, 5, 3)) - t3new += np.transpose(tmp100, (2, 0, 1, 3, 4, 5)) * -1 - t3new += np.transpose(tmp100, (2, 0, 1, 4, 3, 5)) - t3new += np.transpose(tmp100, (2, 0, 1, 4, 5, 3)) * -1 - del tmp100 - tmp101 = einsum(t3, (0, 1, 2, 3, 4, 5), v.oooo, (6, 7, 1, 2), (0, 6, 7, 3, 4, 5)) - tmp104 = np.copy(np.transpose(tmp101, (0, 2, 1, 4, 5, 3))) * 0.5 - del tmp101 - tmp102 = np.copy(f.oo) - tmp102 += tmp5 - del tmp5 - tmp102 += np.transpose(tmp21, (1, 0)) * 0.5 - del tmp21 - tmp103 = einsum(tmp102, (0, 1), t3, (2, 3, 0, 4, 5, 6), (1, 2, 3, 4, 5, 6)) * -1 - del tmp102 - tmp104 += np.transpose(tmp103, (0, 2, 1, 4, 5, 3)) - del tmp103 - t3new += np.transpose(tmp104, (0, 1, 2, 5, 3, 4)) * -1 - t3new += np.transpose(tmp104, (1, 0, 2, 5, 3, 4)) - t3new += np.transpose(tmp104, (1, 2, 0, 5, 3, 4)) * -1 - del tmp104 - tmp105 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp12, (6, 2, 7, 5), (6, 0, 1, 7, 3, 4)) - t3new += np.transpose(tmp105, (0, 2, 1, 3, 5, 4)) - t3new += np.transpose(tmp105, (0, 2, 1, 5, 3, 4)) * -1 - t3new += np.transpose(tmp105, (0, 2, 1, 5, 4, 3)) - t3new += np.transpose(tmp105, (2, 0, 1, 3, 5, 4)) * -1 - t3new += np.transpose(tmp105, (2, 0, 1, 5, 3, 4)) - t3new += np.transpose(tmp105, (2, 0, 1, 5, 4, 3)) * -1 - t3new += np.transpose(tmp105, (2, 1, 0, 3, 5, 4)) - t3new += np.transpose(tmp105, (2, 1, 0, 5, 3, 4)) * -1 - t3new += np.transpose(tmp105, (2, 1, 0, 5, 4, 3)) - del tmp105 - tmp106 = einsum(tmp39, (0, 1), t3, (2, 3, 1, 4, 5, 6), (0, 2, 3, 4, 5, 6)) * -1 - del tmp39 - t3new += np.transpose(tmp106, (0, 2, 1, 4, 5, 3)) * -1 - t3new += np.transpose(tmp106, (2, 0, 1, 4, 5, 3)) - t3new += np.transpose(tmp106, (2, 1, 0, 4, 5, 3)) * -1 - del tmp106 - tmp107 = einsum(v.ovov, (0, 1, 2, 3), t1, (4, 3), (4, 0, 2, 1)) - tmp108 = np.copy(np.transpose(tmp107, (0, 2, 1, 3))) * -1 - del tmp107 - tmp108 += tmp35 - del tmp35 - tmp109 = einsum(tmp108, (0, 1, 2, 3), t2, (4, 2, 5, 6), (4, 0, 1, 5, 6, 3)) * -1 - del tmp108 - t3new += np.transpose(tmp109, (1, 0, 2, 4, 3, 5)) - t3new += np.transpose(tmp109, (1, 0, 2, 4, 5, 3)) * -1 - t3new += np.transpose(tmp109, (1, 0, 2, 5, 4, 3)) - t3new += np.transpose(tmp109, (1, 2, 0, 4, 3, 5)) * -1 - t3new += np.transpose(tmp109, (1, 2, 0, 4, 5, 3)) - t3new += np.transpose(tmp109, (1, 2, 0, 5, 4, 3)) * -1 - t3new += np.transpose(tmp109, (0, 1, 2, 4, 3, 5)) * -1 - t3new += np.transpose(tmp109, (0, 1, 2, 4, 5, 3)) - t3new += np.transpose(tmp109, (0, 1, 2, 5, 4, 3)) * -1 - t3new += np.transpose(tmp109, (2, 1, 0, 4, 3, 5)) - t3new += np.transpose(tmp109, (2, 1, 0, 4, 5, 3)) * -1 - t3new += np.transpose(tmp109, (2, 1, 0, 5, 4, 3)) - t3new += np.transpose(tmp109, (0, 2, 1, 4, 3, 5)) - t3new += np.transpose(tmp109, (0, 2, 1, 4, 5, 3)) * -1 - t3new += np.transpose(tmp109, (0, 2, 1, 5, 4, 3)) - t3new += np.transpose(tmp109, (2, 0, 1, 4, 3, 5)) * -1 - t3new += np.transpose(tmp109, (2, 0, 1, 4, 5, 3)) - t3new += np.transpose(tmp109, (2, 0, 1, 5, 4, 3)) * -1 - del tmp109 - tmp110 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp3, (6, 5), (0, 1, 2, 6, 3, 4)) * -1 - tmp111 = einsum(tmp110, (0, 1, 2, 3, 4, 5), t1, (3, 6), (0, 1, 2, 6, 4, 5)) - del tmp110 - t3new += np.transpose(tmp111, (1, 2, 0, 3, 5, 4)) * -1 - t3new += np.transpose(tmp111, (1, 2, 0, 5, 3, 4)) - t3new += np.transpose(tmp111, (1, 2, 0, 5, 4, 3)) * -1 - del tmp111 - tmp112 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1))) * -1 - tmp112 += tmp12 - del tmp12 - tmp113 = einsum(t2, (0, 1, 2, 3), tmp112, (4, 5, 6, 3), (0, 1, 4, 5, 2, 6)) * -1 - del tmp112 - tmp114 = einsum(tmp113, (0, 1, 2, 3, 4, 5), t1, (3, 6), (1, 0, 2, 6, 4, 5)) * -1 - del tmp113 - t3new += np.transpose(tmp114, (1, 0, 2, 3, 4, 5)) - t3new += np.transpose(tmp114, (1, 0, 2, 3, 5, 4)) * -1 - t3new += np.transpose(tmp114, (1, 0, 2, 4, 3, 5)) * -1 - t3new += np.transpose(tmp114, (1, 0, 2, 5, 3, 4)) - t3new += np.transpose(tmp114, (1, 0, 2, 4, 5, 3)) - t3new += np.transpose(tmp114, (1, 0, 2, 5, 4, 3)) * -1 - t3new += np.transpose(tmp114, (1, 2, 0, 3, 4, 5)) * -1 - t3new += np.transpose(tmp114, (1, 2, 0, 3, 5, 4)) - t3new += np.transpose(tmp114, (1, 2, 0, 4, 3, 5)) - t3new += np.transpose(tmp114, (1, 2, 0, 5, 3, 4)) * -1 - t3new += np.transpose(tmp114, (1, 2, 0, 4, 5, 3)) * -1 - t3new += np.transpose(tmp114, (1, 2, 0, 5, 4, 3)) - t3new += np.transpose(tmp114, (2, 1, 0, 3, 4, 5)) - t3new += np.transpose(tmp114, (2, 1, 0, 3, 5, 4)) * -1 - t3new += np.transpose(tmp114, (2, 1, 0, 4, 3, 5)) * -1 - t3new += np.transpose(tmp114, (2, 1, 0, 5, 3, 4)) - t3new += np.transpose(tmp114, (2, 1, 0, 4, 5, 3)) - t3new += np.transpose(tmp114, (2, 1, 0, 5, 4, 3)) * -1 - del tmp114 - tmp115 = einsum(t2, (0, 1, 2, 3), tmp3, (4, 3), (0, 1, 4, 2)) * -1 - del tmp3 - tmp116 = einsum(tmp115, (0, 1, 2, 3), t2, (4, 2, 5, 6), (0, 1, 4, 3, 5, 6)) * -1 - del tmp115 - t3new += np.transpose(tmp116, (1, 0, 2, 3, 5, 4)) - t3new += np.transpose(tmp116, (1, 0, 2, 5, 3, 4)) * -1 - t3new += np.transpose(tmp116, (1, 0, 2, 5, 4, 3)) - t3new += np.transpose(tmp116, (1, 2, 0, 3, 5, 4)) * -1 - t3new += np.transpose(tmp116, (1, 2, 0, 5, 3, 4)) - t3new += np.transpose(tmp116, (1, 2, 0, 5, 4, 3)) * -1 - t3new += np.transpose(tmp116, (2, 1, 0, 3, 5, 4)) - t3new += np.transpose(tmp116, (2, 1, 0, 5, 3, 4)) * -1 - t3new += np.transpose(tmp116, (2, 1, 0, 5, 4, 3)) - del tmp116 - tmp117 = einsum(tmp6, (0, 1), t3, (2, 3, 0, 4, 5, 6), (2, 3, 1, 4, 5, 6)) * -1 - del tmp6 - t3new += np.transpose(tmp117, (1, 0, 2, 4, 5, 3)) * -1 - t3new += np.transpose(tmp117, (1, 2, 0, 4, 5, 3)) - t3new += np.transpose(tmp117, (2, 1, 0, 4, 5, 3)) * -1 - del tmp117 - tmp118 = einsum(tmp43, (0, 1, 2, 3), t2, (4, 1, 5, 6), (4, 0, 2, 5, 6, 3)) - del tmp43 - t3new += np.transpose(tmp118, (0, 1, 2, 4, 3, 5)) * -1 - t3new += np.transpose(tmp118, (0, 1, 2, 4, 5, 3)) - t3new += np.transpose(tmp118, (0, 1, 2, 5, 4, 3)) * -1 - t3new += np.transpose(tmp118, (0, 2, 1, 4, 3, 5)) - t3new += np.transpose(tmp118, (0, 2, 1, 4, 5, 3)) * -1 - t3new += np.transpose(tmp118, (0, 2, 1, 5, 4, 3)) - t3new += np.transpose(tmp118, (1, 0, 2, 4, 3, 5)) - t3new += np.transpose(tmp118, (1, 0, 2, 4, 5, 3)) * -1 - t3new += np.transpose(tmp118, (1, 0, 2, 5, 4, 3)) - t3new += np.transpose(tmp118, (2, 0, 1, 4, 3, 5)) * -1 - t3new += np.transpose(tmp118, (2, 0, 1, 4, 5, 3)) - t3new += np.transpose(tmp118, (2, 0, 1, 5, 4, 3)) * -1 - t3new += np.transpose(tmp118, (1, 2, 0, 4, 3, 5)) * -1 - t3new += np.transpose(tmp118, (1, 2, 0, 4, 5, 3)) - t3new += np.transpose(tmp118, (1, 2, 0, 5, 4, 3)) * -1 - t3new += np.transpose(tmp118, (2, 1, 0, 4, 3, 5)) - t3new += np.transpose(tmp118, (2, 1, 0, 4, 5, 3)) * -1 - t3new += np.transpose(tmp118, (2, 1, 0, 5, 4, 3)) - del tmp118 - tmp119 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp23, (6, 2, 1, 7), (6, 0, 7, 3, 4, 5)) * -1 - t3new += np.transpose(tmp119, (0, 1, 2, 4, 5, 3)) * 0.5 - t3new += np.transpose(tmp119, (0, 2, 1, 4, 5, 3)) * -0.5 - t3new += np.transpose(tmp119, (1, 0, 2, 4, 5, 3)) * -0.5 - t3new += np.transpose(tmp119, (2, 0, 1, 4, 5, 3)) * 0.5 - t3new += np.transpose(tmp119, (1, 2, 0, 4, 5, 3)) * 0.5 - t3new += np.transpose(tmp119, (2, 1, 0, 4, 5, 3)) * -0.5 - del tmp119 - tmp120 = einsum(t1, (0, 1), tmp23, (2, 3, 0, 4), (2, 3, 4, 1)) - del tmp23 - tmp121 = einsum(tmp120, (0, 1, 2, 3), t2, (4, 1, 5, 6), (0, 4, 2, 3, 5, 6)) * -1 - del tmp120 - t3new += np.transpose(tmp121, (0, 1, 2, 3, 5, 4)) - t3new += np.transpose(tmp121, (0, 1, 2, 5, 3, 4)) * -1 - t3new += np.transpose(tmp121, (0, 1, 2, 5, 4, 3)) - t3new += np.transpose(tmp121, (0, 2, 1, 3, 5, 4)) * -1 - t3new += np.transpose(tmp121, (0, 2, 1, 5, 3, 4)) - t3new += np.transpose(tmp121, (0, 2, 1, 5, 4, 3)) * -1 - t3new += np.transpose(tmp121, (1, 0, 2, 3, 5, 4)) * -1 - t3new += np.transpose(tmp121, (1, 0, 2, 5, 3, 4)) - t3new += np.transpose(tmp121, (1, 0, 2, 5, 4, 3)) * -1 - t3new += np.transpose(tmp121, (2, 0, 1, 3, 5, 4)) - t3new += np.transpose(tmp121, (2, 0, 1, 5, 3, 4)) * -1 - t3new += np.transpose(tmp121, (2, 0, 1, 5, 4, 3)) - t3new += np.transpose(tmp121, (1, 2, 0, 3, 5, 4)) - t3new += np.transpose(tmp121, (1, 2, 0, 5, 3, 4)) * -1 - t3new += np.transpose(tmp121, (1, 2, 0, 5, 4, 3)) - t3new += np.transpose(tmp121, (2, 1, 0, 3, 5, 4)) * -1 - t3new += np.transpose(tmp121, (2, 1, 0, 5, 3, 4)) - t3new += np.transpose(tmp121, (2, 1, 0, 5, 4, 3)) * -1 - del tmp121 - - return {f"t1new": t1new, f"t2new": t2new, f"t3new": t3new} - -def update_lams(f=None, l1=None, l2=None, l3=None, t1=None, t2=None, t3=None, v=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-10-22T10:28:03.000684. - - Parameters - ---------- - f : array - Fock matrix. - l1 : array - L1 amplitudes. - l2 : array - L2 amplitudes. - l3 : array - L3 amplitudes. - t1 : array - T1 amplitudes. - t2 : array - T2 amplitudes. - t3 : array - T3 amplitudes. - v : array - Electron repulsion integrals. - - Returns - ------- - l1new : array - Updated L1 residuals. - l2new : array - Updated L2 residuals. - l3new : array - Updated L3 residuals. - """ - - tmp88 = einsum(t1, (0, 1), l3, (2, 3, 1, 4, 5, 6), (4, 5, 6, 0, 2, 3)) - tmp132 = einsum(f.ov, (0, 1), tmp88, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) - tmp134 = np.copy(np.transpose(tmp132, (1, 2, 0, 3, 5, 4))) - del tmp132 - tmp87 = einsum(l3, (0, 1, 2, 3, 4, 5), v.vvvv, (6, 7, 1, 2), (3, 4, 5, 0, 6, 7)) - tmp134 += np.transpose(tmp87, (1, 2, 0, 3, 5, 4)) * -0.5 - tmp65 = einsum(v.ovvv, (0, 1, 2, 3), l3, (4, 5, 1, 6, 7, 8), (6, 7, 8, 0, 4, 5, 2, 3)) - tmp66 = einsum(t1, (0, 1), tmp65, (2, 3, 4, 0, 5, 1, 6, 7), (4, 2, 3, 5, 6, 7)) - tmp134 += np.transpose(tmp66, (1, 2, 0, 3, 5, 4)) - tmp82 = einsum(l3, (0, 1, 2, 3, 4, 5), t2, (6, 7, 1, 2), (3, 4, 5, 6, 7, 0)) - tmp91 = np.copy(np.transpose(tmp82, (1, 2, 0, 4, 3, 5))) * -0.5 - tmp90 = einsum(tmp88, (0, 1, 2, 3, 4, 5), t1, (6, 5), (0, 1, 2, 3, 6, 4)) * -1 - tmp91 += np.transpose(tmp90, (1, 2, 0, 4, 3, 5)) * -1 - del tmp90 - tmp133 = einsum(tmp91, (0, 1, 2, 3, 4, 5), v.oovv, (3, 4, 6, 7), (0, 1, 2, 6, 7, 5)) * 0.5 - tmp134 += np.transpose(tmp133, (1, 2, 0, 5, 4, 3)) * -1 - del tmp133 - l3new = np.copy(np.transpose(tmp134, (3, 4, 5, 2, 0, 1))) - l3new += np.transpose(tmp134, (4, 3, 5, 2, 0, 1)) * -1 - l3new += np.transpose(tmp134, (4, 5, 3, 2, 0, 1)) - del tmp134 - tmp64 = einsum(l3, (0, 1, 2, 3, 4, 5), v.ovov, (6, 2, 5, 7), (3, 4, 6, 0, 1, 7)) - tmp135 = np.copy(np.transpose(tmp64, (1, 0, 2, 4, 3, 5))) * -1 - tmp51 = einsum(t1, (0, 1), v.oovv, (2, 0, 3, 1), (2, 3)) - tmp135 += einsum(tmp51, (0, 1), l2, (2, 3, 4, 5), (4, 5, 0, 2, 3, 1)) - tmp89 = einsum(tmp88, (0, 1, 2, 3, 4, 5), v.ooov, (6, 3, 1, 7), (0, 2, 6, 4, 5, 7)) * -1 - tmp135 += np.transpose(tmp89, (1, 0, 2, 4, 3, 5)) - tmp104 = einsum(tmp65, (0, 1, 2, 3, 4, 5, 6, 7), t1, (2, 6), (0, 1, 3, 4, 5, 7)) * -1 - del tmp65 - tmp135 += np.transpose(tmp104, (1, 0, 2, 4, 3, 5)) - tmp62 = einsum(t2, (0, 1, 2, 3), l3, (4, 5, 3, 6, 7, 1), (6, 7, 0, 4, 5, 2)) - tmp67 = einsum(v.oovv, (0, 1, 2, 3), tmp62, (4, 5, 1, 6, 7, 3), (4, 5, 0, 6, 7, 2)) - tmp135 += np.transpose(tmp67, (1, 0, 2, 4, 3, 5)) - l3new += np.transpose(tmp135, (3, 4, 5, 0, 1, 2)) - l3new += np.transpose(tmp135, (3, 5, 4, 0, 1, 2)) * -1 - l3new += np.transpose(tmp135, (5, 3, 4, 0, 1, 2)) - l3new += np.transpose(tmp135, (3, 4, 5, 0, 2, 1)) * -1 - l3new += np.transpose(tmp135, (3, 5, 4, 0, 2, 1)) - l3new += np.transpose(tmp135, (5, 3, 4, 0, 2, 1)) * -1 - l3new += np.transpose(tmp135, (3, 4, 5, 2, 0, 1)) - l3new += np.transpose(tmp135, (3, 5, 4, 2, 0, 1)) * -1 - l3new += np.transpose(tmp135, (5, 3, 4, 2, 0, 1)) - del tmp135 - tmp136 = einsum(tmp88, (0, 1, 2, 3, 4, 5), tmp51, (3, 6), (0, 1, 2, 4, 5, 6)) - tmp139 = np.copy(np.transpose(tmp136, (1, 2, 0, 4, 3, 5))) * -1 - del tmp136 - tmp53 = einsum(v.ovvv, (0, 1, 2, 3), t1, (0, 3), (1, 2)) - tmp137 = np.copy(tmp53) - tmp54 = einsum(v.oovv, (0, 1, 2, 3), t2, (0, 1, 4, 3), (4, 2)) - tmp137 += tmp54 * 0.5 - tmp138 = einsum(tmp137, (0, 1), l3, (2, 3, 0, 4, 5, 6), (4, 5, 6, 2, 3, 1)) - del tmp137 - tmp139 += np.transpose(tmp138, (1, 2, 0, 3, 4, 5)) - del tmp138 - l3new += np.transpose(tmp139, (3, 4, 5, 2, 0, 1)) * -1 - l3new += np.transpose(tmp139, (3, 5, 4, 2, 0, 1)) - l3new += np.transpose(tmp139, (5, 3, 4, 2, 0, 1)) * -1 - del tmp139 - tmp140 = np.copy(v.oooo) * -0.5 - tmp40 = einsum(v.ooov, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) - tmp140 += np.transpose(tmp40, (3, 0, 2, 1)) - tmp15 = einsum(v.oovv, (0, 1, 2, 3), t2, (4, 5, 2, 3), (4, 5, 0, 1)) - tmp140 += np.transpose(tmp15, (1, 0, 3, 2)) * -0.25 - tmp8 = einsum(t1, (0, 1), v.oovv, (2, 3, 4, 1), (0, 2, 3, 4)) - tmp129 = einsum(tmp8, (0, 1, 2, 3), t1, (4, 3), (0, 4, 1, 2)) * -1 - tmp140 += np.transpose(tmp129, (1, 0, 3, 2)) * -0.5 - tmp141 = einsum(tmp140, (0, 1, 2, 3), l3, (4, 5, 6, 7, 1, 0), (7, 2, 3, 4, 5, 6)) - del tmp140 - tmp143 = np.copy(np.transpose(tmp141, (0, 1, 2, 4, 5, 3))) * -1 - del tmp141 - tmp111 = np.copy(f.oo) - tmp110 = einsum(t1, (0, 1), f.ov, (2, 1), (2, 0)) - tmp111 += np.transpose(tmp110, (1, 0)) - del tmp110 - tmp142 = einsum(l3, (0, 1, 2, 3, 4, 5), tmp111, (5, 6), (3, 4, 6, 0, 1, 2)) * -1 - tmp143 += np.transpose(tmp142, (2, 1, 0, 4, 5, 3)) - del tmp142 - l3new += np.transpose(tmp143, (5, 3, 4, 0, 1, 2)) * -1 - l3new += np.transpose(tmp143, (5, 3, 4, 1, 0, 2)) - l3new += np.transpose(tmp143, (5, 3, 4, 1, 2, 0)) * -1 - del tmp143 - tmp21 = einsum(t1, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2)) - tmp144 = np.copy(np.transpose(tmp21, (1, 0, 2, 3))) * -2 - tmp6 = einsum(l3, (0, 1, 2, 3, 4, 5), t2, (6, 5, 1, 2), (3, 4, 6, 0)) - tmp144 += np.transpose(tmp6, (1, 0, 2, 3)) * -1 - tmp145 = einsum(tmp144, (0, 1, 2, 3), v.oovv, (4, 2, 5, 6), (4, 0, 1, 5, 6, 3)) * -0.5 - del tmp144 - l3new += np.transpose(tmp145, (5, 4, 3, 2, 1, 0)) * -1 - l3new += np.transpose(tmp145, (4, 5, 3, 2, 1, 0)) - l3new += np.transpose(tmp145, (4, 3, 5, 2, 1, 0)) * -1 - l3new += np.transpose(tmp145, (5, 4, 3, 2, 0, 1)) - l3new += np.transpose(tmp145, (4, 5, 3, 2, 0, 1)) * -1 - l3new += np.transpose(tmp145, (4, 3, 5, 2, 0, 1)) - l3new += np.transpose(tmp145, (5, 4, 3, 0, 2, 1)) * -1 - l3new += np.transpose(tmp145, (4, 5, 3, 0, 2, 1)) - l3new += np.transpose(tmp145, (4, 3, 5, 0, 2, 1)) * -1 - del tmp145 - tmp0 = einsum(l3, (0, 1, 2, 3, 4, 5), t2, (4, 5, 6, 2), (3, 0, 1, 6)) - tmp33 = einsum(v.oovv, (0, 1, 2, 3), tmp0, (4, 5, 6, 3), (4, 0, 1, 5, 6, 2)) * -1 - tmp148 = np.copy(np.transpose(tmp33, (0, 2, 1, 4, 3, 5))) * 0.5 - tmp146 = np.copy(v.ooov) - tmp146 += np.transpose(tmp8, (2, 1, 0, 3)) - tmp147 = einsum(l2, (0, 1, 2, 3), tmp146, (4, 5, 3, 6), (2, 4, 5, 0, 1, 6)) * -1 - del tmp146 - tmp148 += np.transpose(tmp147, (0, 2, 1, 4, 3, 5)) * -1 - del tmp147 - l3new += np.transpose(tmp148, (3, 4, 5, 0, 1, 2)) * -1 - l3new += np.transpose(tmp148, (3, 5, 4, 0, 1, 2)) - l3new += np.transpose(tmp148, (5, 3, 4, 0, 1, 2)) * -1 - l3new += np.transpose(tmp148, (3, 4, 5, 1, 0, 2)) - l3new += np.transpose(tmp148, (3, 5, 4, 1, 0, 2)) * -1 - l3new += np.transpose(tmp148, (5, 3, 4, 1, 0, 2)) - l3new += np.transpose(tmp148, (3, 4, 5, 1, 2, 0)) * -1 - l3new += np.transpose(tmp148, (3, 5, 4, 1, 2, 0)) - l3new += np.transpose(tmp148, (5, 3, 4, 1, 2, 0)) * -1 - del tmp148 - tmp57 = einsum(t1, (0, 1), v.ooov, (2, 0, 3, 1), (2, 3)) - tmp149 = np.copy(tmp57) * 2 - tmp58 = einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 2, 3), (0, 4)) - tmp149 += np.transpose(tmp58, (1, 0)) - tmp74 = einsum(tmp51, (0, 1), t1, (2, 1), (2, 0)) - tmp149 += np.transpose(tmp74, (1, 0)) * 2 - tmp150 = einsum(l3, (0, 1, 2, 3, 4, 5), tmp149, (6, 5), (3, 4, 6, 0, 1, 2)) * -0.5 - del tmp149 - l3new += np.transpose(tmp150, (3, 4, 5, 1, 0, 2)) * -1 - l3new += np.transpose(tmp150, (3, 4, 5, 1, 2, 0)) - l3new += np.transpose(tmp150, (3, 4, 5, 2, 1, 0)) * -1 - del tmp150 - tmp105 = einsum(tmp8, (0, 1, 2, 3), tmp88, (0, 4, 5, 2, 6, 7), (4, 5, 1, 6, 7, 3)) - del tmp88 - l3new += np.transpose(tmp105, (4, 3, 5, 1, 0, 2)) * -1 - l3new += np.transpose(tmp105, (4, 5, 3, 1, 0, 2)) - l3new += np.transpose(tmp105, (5, 4, 3, 1, 0, 2)) * -1 - l3new += np.transpose(tmp105, (4, 3, 5, 1, 2, 0)) - l3new += np.transpose(tmp105, (4, 5, 3, 1, 2, 0)) * -1 - l3new += np.transpose(tmp105, (5, 4, 3, 1, 2, 0)) - l3new += np.transpose(tmp105, (4, 3, 5, 2, 1, 0)) * -1 - l3new += np.transpose(tmp105, (4, 5, 3, 2, 1, 0)) - l3new += np.transpose(tmp105, (5, 4, 3, 2, 1, 0)) * -1 - tmp151 = einsum(l2, (0, 1, 2, 3), f.ov, (4, 5), (4, 2, 3, 5, 0, 1)) - tmp151 += einsum(l1, (0, 1), v.oovv, (2, 3, 4, 5), (1, 2, 3, 0, 4, 5)) - l3new += np.transpose(tmp151, (3, 4, 5, 0, 1, 2)) - l3new += np.transpose(tmp151, (4, 3, 5, 0, 1, 2)) * -1 - l3new += np.transpose(tmp151, (4, 5, 3, 0, 1, 2)) - l3new += np.transpose(tmp151, (3, 4, 5, 1, 0, 2)) * -1 - l3new += np.transpose(tmp151, (4, 3, 5, 1, 0, 2)) - l3new += np.transpose(tmp151, (4, 5, 3, 1, 0, 2)) * -1 - l3new += np.transpose(tmp151, (3, 4, 5, 1, 2, 0)) - l3new += np.transpose(tmp151, (4, 3, 5, 1, 2, 0)) * -1 - l3new += np.transpose(tmp151, (4, 5, 3, 1, 2, 0)) - del tmp151 - tmp152 = einsum(f.vv, (0, 1), l3, (2, 3, 1, 4, 5, 6), (4, 5, 6, 0, 2, 3)) - l3new += np.transpose(tmp152, (3, 5, 4, 1, 2, 0)) * -1 - l3new += np.transpose(tmp152, (5, 3, 4, 1, 2, 0)) - l3new += np.transpose(tmp152, (5, 4, 3, 1, 2, 0)) * -1 - del tmp152 - tmp38 = einsum(v.ovvv, (0, 1, 2, 3), l2, (4, 1, 5, 6), (5, 6, 0, 4, 2, 3)) - l3new += np.transpose(tmp38, (3, 5, 4, 1, 0, 2)) * -1 - l3new += np.transpose(tmp38, (5, 3, 4, 1, 0, 2)) - l3new += np.transpose(tmp38, (5, 4, 3, 1, 0, 2)) * -1 - l3new += np.transpose(tmp38, (3, 5, 4, 1, 2, 0)) - l3new += np.transpose(tmp38, (5, 3, 4, 1, 2, 0)) * -1 - l3new += np.transpose(tmp38, (5, 4, 3, 1, 2, 0)) - l3new += np.transpose(tmp38, (3, 5, 4, 2, 1, 0)) * -1 - l3new += np.transpose(tmp38, (5, 3, 4, 2, 1, 0)) - l3new += np.transpose(tmp38, (5, 4, 3, 2, 1, 0)) * -1 - l1new = einsum(v.vvvv, (0, 1, 2, 3), tmp0, (4, 3, 2, 1), (0, 4)) * -0.25 - tmp1 = einsum(t2, (0, 1, 2, 3), l2, (4, 3, 0, 1), (4, 2)) - l1new += einsum(tmp1, (0, 1), v.ovvv, (2, 0, 3, 1), (3, 2)) * 0.5 - tmp2 = einsum(t3, (0, 1, 2, 3, 4, 5), l3, (6, 4, 5, 7, 1, 2), (7, 0, 6, 3)) - l1new += einsum(v.ooov, (0, 1, 2, 3), tmp2, (2, 1, 4, 3), (4, 0)) * -0.25 - tmp3 = einsum(t3, (0, 1, 2, 3, 4, 5), l3, (3, 4, 5, 6, 1, 2), (6, 0)) - l1new += einsum(tmp3, (0, 1), v.ooov, (2, 1, 0, 3), (3, 2)) * 0.08333333333333 - tmp4 = einsum(t3, (0, 1, 2, 3, 4, 5), l3, (6, 4, 5, 0, 1, 2), (6, 3)) - l1new += einsum(tmp4, (0, 1), v.ovvv, (2, 0, 3, 1), (3, 2)) * 0.08333333333333 - tmp5 = einsum(l3, (0, 1, 2, 3, 4, 5), t3, (3, 4, 5, 6, 7, 2), (0, 1, 6, 7)) - l1new += einsum(v.ovvv, (0, 1, 2, 3), tmp5, (4, 1, 3, 2), (4, 0)) * 0.08333333333333 - l1new += einsum(tmp2, (0, 1, 2, 3), v.ovvv, (1, 2, 4, 3), (4, 0)) * -0.25 - l1new += einsum(v.ovov, (0, 1, 2, 3), tmp6, (4, 2, 0, 1), (3, 4)) * -0.5 - l1new += einsum(v.ovov, (0, 1, 2, 3), tmp0, (2, 4, 1, 3), (4, 0)) * -0.5 - l1new += np.transpose(f.ov, (1, 0)) - tmp7 = einsum(t2, (0, 1, 2, 3), tmp0, (1, 4, 3, 5), (0, 4, 5, 2)) * -1 - l1new += einsum(tmp7, (0, 1, 2, 3), v.oovv, (4, 0, 2, 3), (1, 4)) * -0.5 - del tmp7 - l1new += einsum(tmp8, (0, 1, 2, 3), tmp3, (0, 2), (3, 1)) * -0.08333333333333 - tmp9 = np.copy(np.transpose(v.ovvv, (0, 2, 3, 1))) * -0.5 - tmp9 += einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 0, 5, 3), (4, 5, 1, 2)) - l1new += einsum(l2, (0, 1, 2, 3), tmp9, (3, 0, 1, 4), (4, 2)) - del tmp9 - tmp13 = np.copy(np.transpose(v.ooov, (0, 2, 1, 3))) * -0.5 - tmp10 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 1, 5, 3), (0, 4, 5, 2)) - tmp13 += tmp10 - tmp11 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 5, 2, 3), (4, 5, 0, 1)) - tmp13 += np.transpose(tmp11, (1, 2, 0, 3)) * 0.25 - tmp12 = einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 1, 6, 2, 3), (4, 5, 0, 6)) - tmp13 += np.transpose(tmp12, (1, 2, 0, 3)) * -0.25 - l1new += einsum(tmp13, (0, 1, 2, 3), l2, (4, 3, 0, 2), (4, 1)) - del tmp13 - tmp14 = einsum(t3, (0, 1, 2, 3, 4, 5), l2, (4, 5, 6, 2), (6, 0, 1, 3)) - tmp14 += einsum(tmp0, (0, 1, 2, 3), t2, (4, 5, 2, 1), (0, 4, 5, 3)) * -0.5 - tmp14 += einsum(tmp6, (0, 1, 2, 3), t2, (4, 1, 5, 3), (0, 4, 2, 5)) * -2 - l1new += einsum(tmp14, (0, 1, 2, 3), v.oovv, (1, 2, 4, 3), (4, 0)) * 0.25 - del tmp14 - tmp16 = np.copy(v.oooo) - tmp16 += np.transpose(tmp15, (1, 0, 3, 2)) * 0.5 - l1new += einsum(tmp16, (0, 1, 2, 3), tmp6, (0, 1, 3, 4), (4, 2)) * 0.25 - del tmp16 - tmp17 = einsum(t2, (0, 1, 2, 3), l2, (2, 3, 4, 5), (4, 5, 0, 1)) - tmp19 = np.copy(np.transpose(tmp17, (1, 0, 3, 2))) - tmp18 = einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 7, 5, 0, 1, 2), (3, 4, 6, 7)) - tmp19 += np.transpose(tmp18, (1, 0, 3, 2)) * 0.33333333333332 - l1new += einsum(tmp19, (0, 1, 2, 3), v.ooov, (2, 3, 0, 4), (4, 1)) * 0.25 - del tmp19 - tmp44 = np.copy(v.oovv) * -2 - tmp20 = einsum(l2, (0, 1, 2, 3), v.vvvv, (4, 5, 0, 1), (2, 3, 4, 5)) - tmp44 += np.transpose(tmp20, (1, 0, 3, 2)) * -1 - tmp22 = einsum(tmp21, (0, 1, 2, 3), v.ooov, (4, 2, 1, 5), (0, 4, 3, 5)) - tmp44 += np.transpose(tmp22, (1, 0, 2, 3)) - tmp23 = einsum(tmp0, (0, 1, 2, 3), v.ooov, (4, 5, 0, 3), (4, 5, 1, 2)) * -1 - tmp44 += np.transpose(tmp23, (0, 1, 3, 2)) * -1 - tmp24 = einsum(v.ovvv, (0, 1, 2, 3), tmp6, (4, 5, 0, 1), (5, 4, 2, 3)) - tmp44 += np.transpose(tmp24, (0, 1, 3, 2)) * -1 - tmp25 = einsum(v.oovv, (0, 1, 2, 3), tmp5, (4, 5, 3, 2), (0, 1, 4, 5)) * -1 - del tmp5 - tmp44 += np.transpose(tmp25, (0, 1, 3, 2)) * 0.16666666666666 - tmp26 = einsum(v.ooov, (0, 1, 2, 3), tmp6, (4, 2, 1, 5), (4, 0, 5, 3)) - tmp32 = np.copy(tmp26) - tmp27 = einsum(v.ovvv, (0, 1, 2, 3), tmp0, (4, 5, 1, 3), (4, 0, 5, 2)) - tmp32 += tmp27 - tmp28 = einsum(v.oovv, (0, 1, 2, 3), tmp2, (4, 1, 5, 3), (4, 0, 5, 2)) - del tmp2 - tmp32 += tmp28 * 0.5 - tmp30 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1))) * -1 - tmp29 = einsum(v.oovv, (0, 1, 2, 3), t2, (4, 1, 5, 3), (4, 0, 5, 2)) - tmp30 += tmp29 - tmp31 = einsum(tmp30, (0, 1, 2, 3), l2, (4, 2, 5, 0), (5, 1, 4, 3)) * 2 - del tmp30 - tmp32 += tmp31 - del tmp31 - tmp44 += np.transpose(tmp32, (0, 1, 3, 2)) - tmp44 += np.transpose(tmp32, (1, 0, 2, 3)) - del tmp32 - tmp34 = einsum(t1, (0, 1), tmp33, (2, 0, 3, 1, 4, 5), (2, 3, 4, 5)) - tmp44 += np.transpose(tmp34, (0, 1, 3, 2)) - tmp44 += np.transpose(tmp34, (1, 0, 2, 3)) * 0.5 - tmp37 = np.copy(np.transpose(tmp17, (1, 0, 3, 2))) * 3 - tmp35 = einsum(tmp21, (0, 1, 2, 3), t1, (4, 3), (0, 1, 2, 4)) * -1 - tmp37 += np.transpose(tmp35, (1, 0, 3, 2)) * 6 - tmp37 += np.transpose(tmp18, (1, 0, 3, 2)) - tmp36 = einsum(t1, (0, 1), tmp6, (2, 3, 4, 1), (2, 3, 0, 4)) - tmp37 += np.transpose(tmp36, (1, 0, 3, 2)) * 6 - tmp44 += einsum(tmp37, (0, 1, 2, 3), v.oovv, (2, 3, 4, 5), (1, 0, 4, 5)) * 0.16666666666666 - del tmp37 - tmp39 = np.copy(np.transpose(tmp38, (1, 0, 2, 3, 5, 4))) - tmp39 += np.transpose(tmp38, (2, 1, 0, 5, 3, 4)) * -2 - tmp44 += einsum(t1, (0, 1), tmp39, (0, 2, 3, 4, 1, 5), (2, 3, 5, 4)) - del tmp39 - tmp41 = np.copy(v.oooo) * -0.5 - tmp41 += np.transpose(tmp40, (3, 0, 2, 1)) - tmp41 += np.transpose(tmp15, (1, 0, 3, 2)) * -0.25 - tmp44 += einsum(l2, (0, 1, 2, 3), tmp41, (2, 3, 4, 5), (4, 5, 0, 1)) * 2 - del tmp41 - tmp42 = np.copy(np.transpose(tmp21, (1, 0, 2, 3))) * -1 - tmp42 += np.transpose(tmp6, (1, 0, 2, 3)) * -0.5 - tmp44 += einsum(tmp8, (0, 1, 2, 3), tmp42, (0, 4, 1, 5), (4, 2, 3, 5)) * -1 - tmp43 = np.copy(tmp1) * 6 - del tmp1 - tmp43 += tmp4 - del tmp4 - tmp44 += einsum(tmp43, (0, 1), v.oovv, (2, 3, 4, 1), (2, 3, 0, 4)) * -0.16666666666666 - l1new += einsum(t1, (0, 1), tmp44, (0, 2, 1, 3), (3, 2)) * -0.5 - del tmp44 - tmp45 = np.copy(np.transpose(v.ovov, (0, 2, 1, 3))) * -1 - tmp45 += einsum(t1, (0, 1), v.ovvv, (2, 3, 4, 1), (0, 2, 4, 3)) - tmp45 += np.transpose(tmp29, (0, 1, 3, 2)) - l1new += einsum(l1, (0, 1), tmp45, (1, 2, 3, 0), (3, 2)) - del tmp45 - tmp46 = einsum(l2, (0, 1, 2, 3), t3, (4, 2, 3, 5, 0, 1), (4, 5)) - tmp46 += einsum(t2, (0, 1, 2, 3), tmp6, (1, 0, 4, 3), (4, 2)) * -1 - l1new += einsum(tmp46, (0, 1), v.oovv, (2, 0, 3, 1), (3, 2)) * 0.25 - del tmp46 - tmp50 = np.copy(v.ooov) - tmp50 += np.transpose(tmp8, (2, 1, 0, 3)) - tmp47 = einsum(t1, (0, 1), l1, (1, 2), (2, 0)) - tmp49 = np.copy(tmp47) - tmp48 = einsum(l2, (0, 1, 2, 3), t2, (4, 3, 0, 1), (2, 4)) - tmp49 += tmp48 * 0.5 - l1new += einsum(tmp50, (0, 1, 2, 3), tmp49, (2, 0), (3, 1)) * -1 - del tmp50 - tmp52 = np.copy(f.ov) - tmp52 += tmp51 - l1new += einsum(tmp52, (0, 1), tmp43, (2, 1), (2, 0)) * -0.08333333333333 - tmp55 = np.copy(f.vv) * -1 - tmp55 += tmp53 - tmp55 += tmp54 * 0.5 - l1new += einsum(tmp55, (0, 1), l1, (0, 2), (1, 2)) * -1 - del tmp55 - tmp56 = np.copy(tmp47) * 2 - del tmp47 - tmp56 += tmp48 - del tmp48 - tmp56 += tmp3 * 0.16666666666666 - l1new += einsum(tmp56, (0, 1), tmp52, (1, 2), (2, 0)) * -0.5 - del tmp56 - tmp59 = np.copy(f.oo) * 2 - tmp59 += np.transpose(tmp57, (1, 0)) * 2 - tmp59 += tmp58 - tmp59 += einsum(tmp52, (0, 1), t1, (2, 1), (2, 0)) * 2 - del tmp52 - l1new += einsum(tmp59, (0, 1), l1, (2, 0), (2, 1)) * -0.5 - del tmp59 - l2new = np.copy(np.transpose(tmp20, (3, 2, 1, 0))) * 0.5 - del tmp20 - l2new += np.transpose(tmp23, (2, 3, 1, 0)) * 0.5 - del tmp23 - l2new += np.transpose(v.oovv, (2, 3, 0, 1)) - l2new += np.transpose(tmp25, (2, 3, 1, 0)) * -0.08333333333333 - del tmp25 - l2new += np.transpose(tmp24, (2, 3, 1, 0)) * 0.5 - del tmp24 - tmp60 = einsum(l2, (0, 1, 2, 3), f.vv, (4, 1), (2, 3, 4, 0)) - tmp70 = np.copy(np.transpose(tmp60, (1, 0, 2, 3))) * -1 - del tmp60 - tmp61 = einsum(tmp21, (0, 1, 2, 3), tmp51, (2, 4), (0, 1, 3, 4)) - tmp70 += np.transpose(tmp61, (1, 0, 2, 3)) * -1 - del tmp61 - tmp63 = einsum(tmp62, (0, 1, 2, 3, 4, 5), v.ovvv, (2, 4, 6, 5), (0, 1, 3, 6)) * -1 - del tmp62 - tmp70 += tmp63 * -1 - del tmp63 - tmp68 = np.copy(np.transpose(tmp64, (1, 0, 2, 4, 3, 5))) - tmp68 += np.transpose(tmp66, (1, 2, 0, 5, 3, 4)) - del tmp66 - tmp68 += np.transpose(tmp67, (1, 0, 2, 4, 3, 5)) * -1 - tmp69 = einsum(t1, (0, 1), tmp68, (2, 3, 0, 1, 4, 5), (2, 3, 4, 5)) - del tmp68 - tmp70 += np.transpose(tmp69, (1, 0, 2, 3)) * -1 - del tmp69 - l2new += np.transpose(tmp70, (2, 3, 0, 1)) * -1 - l2new += np.transpose(tmp70, (3, 2, 0, 1)) - del tmp70 - tmp71 = einsum(tmp29, (0, 1, 2, 3), l2, (4, 2, 5, 0), (5, 1, 4, 3)) - del tmp29 - tmp73 = np.copy(tmp71) - del tmp71 - tmp72 = einsum(tmp21, (0, 1, 2, 3), tmp8, (0, 4, 2, 5), (1, 4, 3, 5)) * -1 - del tmp21 - tmp73 += tmp72 * -1 - del tmp72 - l2new += np.transpose(tmp73, (2, 3, 0, 1)) - l2new += np.transpose(tmp73, (3, 2, 0, 1)) * -1 - l2new += np.transpose(tmp73, (2, 3, 1, 0)) * -1 - l2new += np.transpose(tmp73, (3, 2, 1, 0)) - del tmp73 - tmp75 = einsum(tmp74, (0, 1), l2, (2, 3, 4, 0), (4, 1, 2, 3)) - del tmp74 - tmp79 = np.copy(np.transpose(tmp75, (0, 1, 3, 2))) * -1 - del tmp75 - tmp77 = np.copy(np.transpose(tmp64, (1, 0, 2, 4, 3, 5))) - del tmp64 - tmp76 = einsum(l3, (0, 1, 2, 3, 4, 5), tmp40, (4, 6, 7, 5), (3, 6, 7, 0, 1, 2)) - tmp77 += np.transpose(tmp76, (2, 0, 1, 4, 5, 3)) - del tmp76 - tmp77 += np.transpose(tmp67, (1, 0, 2, 4, 3, 5)) * -1 - del tmp67 - tmp78 = einsum(t1, (0, 1), tmp77, (0, 2, 3, 4, 5, 1), (2, 3, 4, 5)) - del tmp77 - tmp79 += np.transpose(tmp78, (0, 1, 3, 2)) * -1 - del tmp78 - l2new += np.transpose(tmp79, (2, 3, 0, 1)) * -1 - l2new += np.transpose(tmp79, (2, 3, 1, 0)) - del tmp79 - tmp80 = einsum(v.ovvv, (0, 1, 2, 3), l3, (4, 2, 3, 5, 6, 0), (5, 6, 4, 1)) - tmp99 = np.copy(np.transpose(tmp80, (1, 0, 2, 3))) * -0.5 - del tmp80 - tmp81 = einsum(l2, (0, 1, 2, 3), tmp54, (1, 4), (2, 3, 0, 4)) - del tmp54 - tmp99 += np.transpose(tmp81, (1, 0, 2, 3)) * -0.5 - del tmp81 - tmp83 = einsum(tmp82, (0, 1, 2, 3, 4, 5), v.ovoo, (2, 6, 4, 3), (1, 0, 5, 6)) - del tmp82 - tmp99 += tmp83 * 0.25 - del tmp83 - tmp84 = einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 7, 5, 8, 1, 2), (3, 4, 6, 7, 0, 8)) - tmp85 = einsum(tmp84, (0, 1, 2, 3, 4, 5), v.oovv, (3, 2, 6, 5), (0, 1, 4, 6)) * -1 - del tmp84 - tmp99 += tmp85 * -0.24999999999999 - del tmp85 - tmp86 = einsum(tmp6, (0, 1, 2, 3), tmp51, (2, 4), (0, 1, 3, 4)) - tmp99 += np.transpose(tmp86, (1, 0, 2, 3)) * -0.5 - del tmp86 - tmp93 = np.copy(np.transpose(tmp87, (1, 2, 0, 3, 5, 4))) * -1 - del tmp87 - tmp93 += np.transpose(tmp89, (2, 1, 0, 4, 3, 5)) - del tmp89 - tmp92 = einsum(tmp91, (0, 1, 2, 3, 4, 5), v.oovv, (3, 4, 6, 7), (0, 1, 2, 6, 7, 5)) - del tmp91 - tmp93 += np.transpose(tmp92, (1, 2, 0, 5, 4, 3)) * -1 - del tmp92 - tmp94 = einsum(tmp93, (0, 1, 2, 3, 4, 5), t1, (0, 4), (1, 2, 3, 5)) * 0.5 - del tmp93 - tmp99 += tmp94 - del tmp94 - tmp95 = einsum(tmp43, (0, 1), v.oovv, (2, 3, 4, 1), (2, 3, 4, 0)) * -0.08333333333333 - del tmp43 - tmp99 += np.transpose(tmp95, (1, 0, 3, 2)) * -1 - del tmp95 - tmp96 = einsum(tmp42, (0, 1, 2, 3), f.ov, (2, 4), (0, 1, 3, 4)) - del tmp42 - tmp99 += np.transpose(tmp96, (1, 0, 3, 2)) - del tmp96 - tmp97 = np.copy(np.transpose(v.ovoo, (0, 2, 3, 1))) * -1 - tmp97 += np.transpose(tmp8, (0, 2, 1, 3)) * -1 - tmp98 = einsum(tmp97, (0, 1, 2, 3), l1, (4, 0), (1, 2, 4, 3)) - del tmp97 - tmp99 += np.transpose(tmp98, (1, 0, 2, 3)) - del tmp98 - l2new += np.transpose(tmp99, (2, 3, 0, 1)) * -1 - l2new += np.transpose(tmp99, (3, 2, 0, 1)) - del tmp99 - tmp100 = einsum(v.ovvv, (0, 1, 2, 3), l1, (1, 4), (4, 0, 2, 3)) - tmp116 = np.copy(np.transpose(tmp100, (0, 1, 3, 2))) * -1 - del tmp100 - tmp101 = einsum(l3, (0, 1, 2, 3, 4, 5), v.ovoo, (6, 2, 4, 5), (3, 6, 0, 1)) - tmp116 += np.transpose(tmp101, (0, 1, 3, 2)) * -0.5 - del tmp101 - tmp102 = einsum(tmp0, (0, 1, 2, 3), f.ov, (4, 3), (4, 0, 1, 2)) - tmp116 += np.transpose(tmp102, (0, 1, 3, 2)) * 0.5 - del tmp102 - tmp103 = einsum(tmp51, (0, 1), tmp0, (2, 3, 4, 1), (2, 0, 3, 4)) - del tmp0 - tmp116 += np.transpose(tmp103, (0, 1, 3, 2)) * -0.5 - del tmp103 - tmp108 = np.copy(np.transpose(tmp104, (1, 0, 2, 5, 4, 3))) - del tmp104 - tmp108 += np.transpose(tmp105, (1, 0, 2, 5, 4, 3)) * -1 - del tmp105 - tmp106 = np.copy(v.oooo) * 2 - tmp106 += np.transpose(tmp15, (1, 0, 3, 2)) - tmp107 = einsum(tmp106, (0, 1, 2, 3), l3, (4, 5, 6, 7, 1, 0), (7, 2, 3, 4, 5, 6)) * 0.5 - del tmp106 - tmp108 += np.transpose(tmp107, (0, 1, 2, 4, 5, 3)) * -1 - del tmp107 - tmp109 = einsum(tmp108, (0, 1, 2, 3, 4, 5), t1, (1, 3), (0, 2, 4, 5)) * 0.5 - del tmp108 - tmp116 += tmp109 - del tmp109 - tmp112 = einsum(tmp111, (0, 1), l2, (2, 3, 4, 0), (4, 1, 2, 3)) * -1 - del tmp111 - tmp116 += np.transpose(tmp112, (1, 0, 3, 2)) * -1 - del tmp112 - tmp113 = einsum(v.oovv, (0, 1, 2, 3), tmp49, (4, 1), (0, 4, 2, 3)) * -1 - del tmp49 - tmp116 += np.transpose(tmp113, (1, 0, 3, 2)) * -1 - del tmp113 - tmp114 = np.copy(tmp57) * 2 - del tmp57 - tmp114 += np.transpose(tmp58, (1, 0)) - del tmp58 - tmp115 = einsum(l2, (0, 1, 2, 3), tmp114, (4, 3), (2, 4, 0, 1)) * -0.5 - del tmp114 - tmp116 += np.transpose(tmp115, (0, 1, 3, 2)) - del tmp115 - l2new += np.transpose(tmp116, (2, 3, 0, 1)) * -1 - l2new += np.transpose(tmp116, (2, 3, 1, 0)) - del tmp116 - tmp118 = np.copy(tmp22) - del tmp22 - tmp117 = einsum(t1, (0, 1), tmp38, (0, 2, 3, 4, 1, 5), (2, 3, 4, 5)) - tmp118 += tmp117 - del tmp117 - l2new += np.transpose(tmp118, (2, 3, 0, 1)) - l2new += np.transpose(tmp118, (3, 2, 0, 1)) * -1 - l2new += np.transpose(tmp118, (2, 3, 1, 0)) * -1 - l2new += np.transpose(tmp118, (3, 2, 1, 0)) - del tmp118 - tmp119 = einsum(tmp10, (0, 1, 2, 3), l3, (4, 5, 3, 6, 2, 0), (6, 1, 4, 5)) * -1 - del tmp10 - l2new += np.transpose(tmp119, (2, 3, 0, 1)) - l2new += np.transpose(tmp119, (2, 3, 1, 0)) * -1 - del tmp119 - tmp120 = einsum(v.ovov, (0, 1, 2, 3), l2, (4, 1, 5, 2), (5, 0, 4, 3)) - tmp122 = np.copy(tmp120) * -1 - del tmp120 - tmp122 += einsum(tmp51, (0, 1), l1, (2, 3), (3, 0, 2, 1)) - del tmp51 - tmp122 += tmp26 * 0.5 - del tmp26 - tmp122 += tmp27 * 0.5 - del tmp27 - tmp122 += tmp28 * 0.24999999999999 - del tmp28 - tmp121 = einsum(tmp6, (0, 1, 2, 3), tmp8, (0, 4, 2, 5), (1, 4, 3, 5)) - del tmp8, tmp6 - tmp122 += tmp121 * 0.5 - del tmp121 - tmp122 += tmp34 * 0.5 - del tmp34 - l2new += np.transpose(tmp122, (2, 3, 0, 1)) - l2new += np.transpose(tmp122, (3, 2, 0, 1)) * -1 - l2new += np.transpose(tmp122, (2, 3, 1, 0)) * -1 - l2new += np.transpose(tmp122, (3, 2, 1, 0)) - del tmp122 - l2new += einsum(l1, (0, 1), f.ov, (2, 3), (3, 0, 2, 1)) - l2new += einsum(f.ov, (0, 1), l1, (2, 3), (2, 1, 0, 3)) * -1 - l2new += einsum(f.ov, (0, 1), l1, (2, 3), (1, 2, 3, 0)) * -1 - l2new += einsum(l1, (0, 1), f.ov, (2, 3), (0, 3, 1, 2)) - tmp123 = einsum(l2, (0, 1, 2, 3), tmp53, (1, 4), (2, 3, 0, 4)) - del tmp53 - l2new += np.transpose(tmp123, (2, 3, 1, 0)) - l2new += np.transpose(tmp123, (3, 2, 1, 0)) * -1 - del tmp123 - tmp124 = einsum(v.oovv, (0, 1, 2, 3), tmp3, (4, 1), (4, 0, 2, 3)) - del tmp3 - tmp127 = np.copy(np.transpose(tmp124, (0, 1, 3, 2))) * -0.08333333333333 - del tmp124 - tmp125 = np.copy(np.transpose(tmp11, (1, 0, 2, 3))) * -1 - del tmp11 - tmp125 += np.transpose(tmp12, (1, 0, 2, 3)) - del tmp12 - tmp126 = einsum(tmp125, (0, 1, 2, 3), l3, (4, 5, 3, 6, 0, 1), (6, 2, 4, 5)) * -0.24999999999999 - del tmp125 - tmp127 += tmp126 - del tmp126 - l2new += np.transpose(tmp127, (3, 2, 0, 1)) * -1 - l2new += np.transpose(tmp127, (3, 2, 1, 0)) - del tmp127 - tmp128 = np.copy(np.transpose(tmp17, (1, 0, 3, 2))) - del tmp17 - tmp128 += np.transpose(tmp35, (1, 0, 3, 2)) * 2 - del tmp35 - tmp128 += np.transpose(tmp18, (1, 0, 3, 2)) * 0.33333333333332 - del tmp18 - tmp128 += np.transpose(tmp36, (1, 0, 3, 2)) * 2 - del tmp36 - l2new += einsum(v.oovv, (0, 1, 2, 3), tmp128, (4, 5, 0, 1), (2, 3, 5, 4)) * -0.25 - del tmp128 - tmp130 = np.copy(v.oooo) * -2 - tmp130 += np.transpose(tmp40, (3, 0, 2, 1)) * 4 - del tmp40 - tmp130 += np.transpose(tmp15, (1, 0, 3, 2)) * -1 - del tmp15 - tmp130 += np.transpose(tmp129, (1, 0, 3, 2)) * -2 - del tmp129 - l2new += einsum(l2, (0, 1, 2, 3), tmp130, (2, 3, 4, 5), (0, 1, 4, 5)) * -0.25 - del tmp130 - tmp131 = np.copy(np.transpose(tmp38, (1, 0, 2, 3, 5, 4))) - del tmp38 - tmp131 += np.transpose(tmp33, (2, 1, 0, 5, 4, 3)) * 0.5 - del tmp33 - l2new += einsum(t1, (0, 1), tmp131, (2, 3, 0, 1, 4, 5), (5, 4, 3, 2)) * -1 - del tmp131 - - return {f"l1new": l1new, f"l2new": l2new, f"l3new": l3new} - -def make_rdm1_f(l1=None, l2=None, l3=None, t1=None, t2=None, t3=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-10-22T10:28:04.844613. - - Parameters - ---------- - l1 : array - L1 amplitudes. - l2 : array - L2 amplitudes. - l3 : array - L3 amplitudes. - t1 : array - T1 amplitudes. - t2 : array - T2 amplitudes. - t3 : array - T3 amplitudes. - - Returns - ------- - rdm1 : array - One-particle reduced density matrix. - """ - - rdm1 = Namespace() - delta = Namespace( - oo=np.eye(t2.shape[0]), - vv=np.eye(t2.shape[-1]), - ) - rdm1.vo = np.copy(l1) - tmp0 = einsum(t1, (0, 1), l1, (1, 2), (2, 0)) - rdm1.oo = np.copy(np.transpose(tmp0, (1, 0))) * -1 - tmp1 = einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 4, 5, 0, 1, 2), (3, 6)) - rdm1.oo += np.transpose(tmp1, (1, 0)) * -0.08333333333333 - rdm1.oo += delta.oo - del delta - tmp2 = einsum(l2, (0, 1, 2, 3), t2, (4, 3, 0, 1), (2, 4)) - rdm1.oo += np.transpose(tmp2, (1, 0)) * -0.5 - rdm1.vv = einsum(t1, (0, 1), l1, (2, 0), (2, 1)) - rdm1.vv += einsum(t3, (0, 1, 2, 3, 4, 5), l3, (6, 4, 5, 0, 1, 2), (6, 3)) * 0.08333333333333 - rdm1.vv += einsum(t2, (0, 1, 2, 3), l2, (4, 3, 0, 1), (4, 2)) * 0.5 - rdm1.ov = einsum(l2, (0, 1, 2, 3), t3, (4, 2, 3, 5, 0, 1), (4, 5)) * 0.25 - rdm1.ov += einsum(l1, (0, 1), t2, (2, 1, 3, 0), (2, 3)) - rdm1.ov += t1 - tmp3 = einsum(t1, (0, 1), l3, (2, 3, 1, 4, 5, 6), (4, 5, 6, 0, 2, 3)) - rdm1.ov += einsum(tmp3, (0, 1, 2, 3, 4, 5), t3, (1, 2, 0, 6, 5, 4), (3, 6)) * 0.08333333333333 - del tmp3 - tmp4 = einsum(t1, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2)) * 2 - tmp4 += einsum(l3, (0, 1, 2, 3, 4, 5), t2, (6, 5, 1, 2), (3, 4, 6, 0)) - rdm1.ov += einsum(t2, (0, 1, 2, 3), tmp4, (0, 1, 4, 3), (4, 2)) * 0.25 - del tmp4 - tmp5 = np.copy(tmp0) - del tmp0 - tmp5 += tmp2 * 0.5 - del tmp2 - tmp5 += tmp1 * 0.08333333333333 - del tmp1 - rdm1.ov += einsum(tmp5, (0, 1), t1, (0, 2), (1, 2)) * -1 - del tmp5 - rdm1 = np.block([[rdm1.oo, rdm1.ov], [rdm1.vo, rdm1.vv]]) - - return rdm1 - -def make_rdm2_f(l1=None, l2=None, l3=None, t1=None, t2=None, t3=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-10-22T10:28:21.635355. - - Parameters - ---------- - l1 : array - L1 amplitudes. - l2 : array - L2 amplitudes. - l3 : array - L3 amplitudes. - t1 : array - T1 amplitudes. - t2 : array - T2 amplitudes. - t3 : array - T3 amplitudes. - - Returns - ------- - rdm2 : array - Two-particle reduced density matrix. - """ - - rdm2 = Namespace() - delta = Namespace( - oo=np.eye(t2.shape[0]), - vv=np.eye(t2.shape[-1]), - ) - rdm2.vvoo = np.copy(l2) - tmp2 = einsum(t1, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2)) - rdm2.ovoo = np.copy(np.transpose(tmp2, (2, 3, 1, 0))) * -1 - tmp4 = einsum(t2, (0, 1, 2, 3), l3, (4, 2, 3, 5, 6, 1), (5, 6, 0, 4)) - rdm2.ovoo += np.transpose(tmp4, (2, 3, 1, 0)) * -0.5 - rdm2.ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (0, 2, 3, 1)) * -1 - rdm2.ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (0, 2, 1, 3)) - rdm2.vooo = np.copy(np.transpose(tmp2, (3, 2, 1, 0))) - rdm2.vooo += np.transpose(tmp4, (3, 2, 1, 0)) * 0.5 - rdm2.vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 0, 3, 1)) - rdm2.vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 0, 1, 3)) * -1 - tmp10 = einsum(l3, (0, 1, 2, 3, 4, 5), t2, (4, 5, 6, 2), (3, 0, 1, 6)) - rdm2.vvov = np.copy(np.transpose(tmp10, (2, 1, 0, 3))) * -0.5 - tmp98 = einsum(t1, (0, 1), l2, (2, 3, 4, 0), (4, 2, 3, 1)) - rdm2.vvov += np.transpose(tmp98, (2, 1, 0, 3)) * -1 - rdm2.vvvo = np.copy(np.transpose(tmp10, (2, 1, 3, 0))) * 0.5 - rdm2.vvvo += np.transpose(tmp98, (2, 1, 3, 0)) - tmp76 = einsum(t2, (0, 1, 2, 3), l2, (4, 5, 0, 1), (4, 5, 2, 3)) - rdm2.vvvv = np.copy(np.transpose(tmp76, (1, 0, 3, 2))) * 0.5 - rdm2.vvvv += einsum(tmp98, (0, 1, 2, 3), t1, (0, 4), (2, 1, 4, 3)) * -1 - del tmp98 - tmp42 = einsum(l3, (0, 1, 2, 3, 4, 5), t3, (3, 4, 5, 6, 7, 2), (0, 1, 6, 7)) - rdm2.vvvv += np.transpose(tmp42, (1, 0, 3, 2)) * 0.16666666666667 - tmp99 = einsum(t1, (0, 1), tmp10, (0, 2, 3, 4), (2, 3, 1, 4)) - rdm2.vvvv += np.transpose(tmp99, (1, 0, 2, 3)) * -0.5 - rdm2.vvvv += np.transpose(tmp99, (1, 0, 3, 2)) * 0.5 - del tmp99 - tmp0 = einsum(t3, (0, 1, 2, 3, 4, 5), l3, (3, 4, 5, 6, 7, 2), (6, 7, 0, 1)) - rdm2.oooo = np.copy(np.transpose(tmp0, (3, 2, 1, 0))) * 0.16666666666667 - tmp1 = einsum(t2, (0, 1, 2, 3), l2, (2, 3, 4, 5), (4, 5, 0, 1)) - rdm2.oooo += np.transpose(tmp1, (3, 2, 1, 0)) * 0.5 - tmp3 = einsum(tmp2, (0, 1, 2, 3), t1, (4, 3), (0, 1, 2, 4)) * -1 - rdm2.oooo += np.transpose(tmp3, (3, 2, 1, 0)) - tmp5 = einsum(t1, (0, 1), tmp4, (2, 3, 4, 1), (2, 3, 0, 4)) - rdm2.oooo += np.transpose(tmp5, (2, 3, 1, 0)) * -0.5 - rdm2.oooo += np.transpose(tmp5, (3, 2, 1, 0)) * 0.5 - rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (0, 2, 1, 3)) - rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (0, 2, 3, 1)) * -1 - tmp6 = einsum(t1, (0, 1), l1, (1, 2), (2, 0)) - tmp9 = np.copy(tmp6) * 2 - tmp7 = einsum(l2, (0, 1, 2, 3), t2, (4, 3, 0, 1), (2, 4)) - tmp9 += tmp7 - tmp8 = einsum(t3, (0, 1, 2, 3, 4, 5), l3, (3, 4, 5, 6, 1, 2), (6, 0)) - tmp9 += tmp8 * 0.16666666666666 - rdm2.oooo += einsum(tmp9, (0, 1), delta.oo, (2, 3), (1, 2, 0, 3)) * -0.5 - rdm2.oooo += einsum(delta.oo, (0, 1), tmp9, (2, 3), (0, 3, 2, 1)) * 0.5 - rdm2.oooo += einsum(tmp9, (0, 1), delta.oo, (2, 3), (1, 2, 3, 0)) * 0.5 - rdm2.oooo += einsum(delta.oo, (0, 1), tmp9, (2, 3), (0, 3, 1, 2)) * -0.5 - del tmp9 - tmp16 = einsum(t3, (0, 1, 2, 3, 4, 5), l3, (6, 4, 5, 7, 1, 2), (7, 0, 6, 3)) - rdm2.ovov = np.copy(np.transpose(tmp16, (1, 2, 0, 3))) * -0.25 - tmp12 = einsum(t1, (0, 1), tmp10, (2, 1, 3, 4), (2, 0, 3, 4)) * -1 - rdm2.ovov += np.transpose(tmp12, (1, 2, 0, 3)) * 0.5 - rdm2.ovov += einsum(t1, (0, 1), l1, (2, 3), (0, 2, 3, 1)) * -1 - tmp32 = einsum(t2, (0, 1, 2, 3), l2, (4, 3, 5, 1), (5, 0, 4, 2)) - rdm2.ovov += np.transpose(tmp32, (1, 2, 0, 3)) * -1 - tmp81 = np.copy(np.transpose(tmp2, (1, 0, 2, 3))) * -1 - tmp81 += np.transpose(tmp4, (1, 0, 2, 3)) * -0.5 - tmp82 = einsum(t1, (0, 1), tmp81, (0, 2, 3, 4), (2, 3, 1, 4)) - del tmp81 - rdm2.ovov += np.transpose(tmp82, (1, 3, 0, 2)) * -1 - tmp83 = einsum(t1, (0, 1), l1, (2, 0), (2, 1)) - tmp84 = np.copy(tmp83) - tmp27 = einsum(t2, (0, 1, 2, 3), l2, (4, 3, 0, 1), (4, 2)) - tmp84 += tmp27 * 0.5 - tmp22 = einsum(t3, (0, 1, 2, 3, 4, 5), l3, (6, 4, 5, 0, 1, 2), (6, 3)) - tmp84 += tmp22 * 0.08333333333333 - rdm2.ovov += einsum(tmp84, (0, 1), delta.oo, (2, 3), (2, 0, 3, 1)) - rdm2.ovvo = np.copy(np.transpose(tmp16, (1, 2, 3, 0))) * 0.25 - rdm2.ovvo += np.transpose(tmp12, (1, 2, 3, 0)) * -0.5 - rdm2.ovvo += einsum(t1, (0, 1), l1, (2, 3), (0, 2, 1, 3)) - rdm2.ovvo += np.transpose(tmp32, (1, 2, 3, 0)) - tmp85 = np.copy(np.transpose(tmp2, (1, 0, 2, 3))) * -2 - del tmp2 - tmp85 += np.transpose(tmp4, (1, 0, 2, 3)) * -1 - tmp86 = einsum(t1, (0, 1), tmp85, (0, 2, 3, 4), (2, 3, 1, 4)) * 0.5 - del tmp85 - rdm2.ovvo += np.transpose(tmp86, (1, 3, 2, 0)) - tmp87 = np.copy(tmp83) * 12 - tmp87 += tmp27 * 6 - tmp87 += tmp22 - rdm2.ovvo += einsum(delta.oo, (0, 1), tmp87, (2, 3), (0, 2, 3, 1)) * -0.08333333333333 - rdm2.voov = np.copy(np.transpose(tmp16, (2, 1, 0, 3))) * 0.25 - rdm2.voov += np.transpose(tmp12, (2, 1, 0, 3)) * -0.5 - rdm2.voov += einsum(t1, (0, 1), l1, (2, 3), (2, 0, 3, 1)) - rdm2.voov += np.transpose(tmp32, (2, 1, 0, 3)) - rdm2.voov += np.transpose(tmp82, (3, 1, 0, 2)) - del tmp82 - rdm2.voov += einsum(tmp84, (0, 1), delta.oo, (2, 3), (0, 2, 3, 1)) * -1 - rdm2.vovo = np.copy(np.transpose(tmp16, (2, 1, 3, 0))) * -0.25 - rdm2.vovo += np.transpose(tmp12, (2, 1, 3, 0)) * 0.5 - rdm2.vovo += einsum(t1, (0, 1), l1, (2, 3), (2, 0, 1, 3)) * -1 - rdm2.vovo += np.transpose(tmp32, (2, 1, 3, 0)) * -1 - rdm2.vovo += np.transpose(tmp86, (3, 1, 2, 0)) * -1 - rdm2.vovo += einsum(delta.oo, (0, 1), tmp87, (2, 3), (2, 0, 3, 1)) * 0.08333333333333 - del tmp87 - tmp58 = einsum(t3, (0, 1, 2, 3, 4, 5), l2, (6, 5, 1, 2), (0, 6, 3, 4)) - rdm2.ovvv = np.copy(np.transpose(tmp58, (0, 1, 3, 2))) * -0.5 - tmp59 = einsum(tmp4, (0, 1, 2, 3), t2, (1, 0, 4, 5), (2, 3, 4, 5)) * -1 - rdm2.ovvv += np.transpose(tmp59, (0, 1, 3, 2)) * -0.25 - tmp88 = einsum(t2, (0, 1, 2, 3), l1, (4, 1), (0, 4, 2, 3)) - rdm2.ovvv += np.transpose(tmp88, (0, 1, 3, 2)) * -1 - tmp47 = einsum(t2, (0, 1, 2, 3), tmp10, (1, 3, 4, 5), (0, 4, 5, 2)) - tmp91 = np.copy(tmp47) * 0.5 - tmp89 = np.copy(tmp32) - tmp89 += tmp16 * 0.25 - tmp89 += tmp12 * -0.5 - tmp90 = einsum(tmp89, (0, 1, 2, 3), t1, (0, 4), (1, 4, 2, 3)) - del tmp89 - tmp91 += np.transpose(tmp90, (0, 2, 1, 3)) - del tmp90 - tmp51 = np.copy(tmp27) - tmp51 += tmp22 * 0.16666666666666 - tmp91 += einsum(t1, (0, 1), tmp51, (2, 3), (0, 2, 1, 3)) * -0.5 - rdm2.ovvv += tmp91 * -1 - rdm2.ovvv += np.transpose(tmp91, (0, 1, 3, 2)) - del tmp91 - rdm2.ovvv += einsum(tmp83, (0, 1), t1, (2, 3), (2, 0, 3, 1)) - rdm2.ovvv += einsum(tmp83, (0, 1), t1, (2, 3), (2, 0, 1, 3)) * -1 - del tmp83 - tmp77 = np.copy(np.transpose(tmp76, (1, 0, 3, 2))) - del tmp76 - tmp77 += np.transpose(tmp42, (1, 0, 3, 2)) * 0.33333333333334 - tmp92 = einsum(tmp77, (0, 1, 2, 3), t1, (4, 0), (4, 1, 2, 3)) * 0.5 - rdm2.ovvv += np.transpose(tmp92, (0, 1, 3, 2)) - tmp93 = einsum(t1, (0, 1), tmp86, (0, 2, 3, 4), (2, 1, 4, 3)) * -1 - del tmp86 - rdm2.ovvv += np.transpose(tmp93, (0, 2, 1, 3)) - rdm2.vovv = np.copy(np.transpose(tmp58, (1, 0, 3, 2))) * 0.5 - rdm2.vovv += np.transpose(tmp59, (1, 0, 3, 2)) * 0.25 - rdm2.vovv += np.transpose(tmp88, (1, 0, 3, 2)) - del tmp88 - tmp94 = einsum(t1, (0, 1), tmp32, (0, 2, 3, 4), (2, 3, 1, 4)) - rdm2.vovv += np.transpose(tmp94, (1, 0, 2, 3)) - rdm2.vovv += np.transpose(tmp94, (1, 0, 3, 2)) * -1 - del tmp94 - tmp97 = np.copy(tmp47) * -0.5 - tmp95 = np.copy(tmp16) * -1 - tmp95 += tmp12 * 2 - tmp96 = einsum(t1, (0, 1), tmp95, (0, 2, 3, 4), (2, 1, 3, 4)) * 0.25 - del tmp95 - tmp97 += np.transpose(tmp96, (0, 2, 1, 3)) - del tmp96 - tmp97 += einsum(t1, (0, 1), tmp84, (2, 3), (0, 2, 1, 3)) - del tmp84 - rdm2.vovv += np.transpose(tmp97, (1, 0, 2, 3)) * -1 - rdm2.vovv += np.transpose(tmp97, (1, 0, 3, 2)) - del tmp97 - rdm2.vovv += np.transpose(tmp92, (1, 0, 3, 2)) * -1 - del tmp92 - rdm2.vovv += np.transpose(tmp93, (2, 0, 1, 3)) * -1 - del tmp93 - tmp11 = einsum(t2, (0, 1, 2, 3), tmp10, (4, 3, 2, 5), (4, 0, 1, 5)) * -1 - del tmp10 - rdm2.oovo = np.copy(np.transpose(tmp11, (1, 2, 3, 0))) * -0.25 - tmp13 = einsum(tmp12, (0, 1, 2, 3), t1, (4, 2), (0, 1, 4, 3)) * -1 - del tmp12 - rdm2.oovo += np.transpose(tmp13, (2, 1, 3, 0)) * 0.5 - tmp14 = einsum(l2, (0, 1, 2, 3), t3, (4, 5, 3, 6, 0, 1), (2, 4, 5, 6)) - rdm2.oovo += np.transpose(tmp14, (2, 1, 3, 0)) * 0.5 - tmp15 = einsum(t2, (0, 1, 2, 3), l1, (3, 4), (4, 0, 1, 2)) - rdm2.oovo += np.transpose(tmp15, (2, 1, 3, 0)) - tmp17 = einsum(t1, (0, 1), tmp16, (2, 3, 1, 4), (2, 0, 3, 4)) - tmp21 = np.copy(tmp17) * -0.25 - tmp18 = einsum(tmp4, (0, 1, 2, 3), t2, (4, 1, 5, 3), (0, 2, 4, 5)) * -1 - tmp21 += tmp18 * -0.5 - tmp19 = einsum(tmp5, (0, 1, 2, 3), t1, (1, 4), (0, 2, 3, 4)) - del tmp5 - tmp21 += tmp19 * 0.5 - tmp20 = np.copy(tmp7) * 6 - tmp20 += tmp8 - tmp21 += einsum(tmp20, (0, 1), t1, (2, 3), (0, 2, 1, 3)) * 0.08333333333333 - rdm2.oovo += np.transpose(tmp21, (1, 2, 3, 0)) * -1 - rdm2.oovo += np.transpose(tmp21, (2, 1, 3, 0)) - tmp34 = einsum(l1, (0, 1), t2, (2, 1, 3, 0), (2, 3)) - tmp40 = np.copy(tmp34) * -1 - tmp26 = einsum(l2, (0, 1, 2, 3), t3, (4, 2, 3, 5, 0, 1), (4, 5)) - tmp40 += tmp26 * -0.25 - tmp28 = einsum(t1, (0, 1), tmp27, (1, 2), (0, 2)) - tmp40 += tmp28 * 0.5 - tmp30 = einsum(tmp4, (0, 1, 2, 3), t2, (1, 0, 4, 3), (2, 4)) * -1 - tmp40 += tmp30 * -0.25 - tmp38 = np.copy(tmp6) * 2 - tmp38 += tmp7 - tmp39 = einsum(tmp38, (0, 1), t1, (0, 2), (1, 2)) * 0.5 - del tmp38 - tmp40 += tmp39 - del tmp39 - rdm2.oovo += einsum(tmp40, (0, 1), delta.oo, (2, 3), (0, 2, 1, 3)) * -1 - rdm2.oovo += einsum(delta.oo, (0, 1), tmp40, (2, 3), (0, 2, 3, 1)) - del tmp40 - tmp23 = einsum(t1, (0, 1), tmp22, (1, 2), (0, 2)) - tmp25 = np.copy(tmp23) - del tmp23 - tmp24 = einsum(tmp8, (0, 1), t1, (0, 2), (1, 2)) - del tmp8 - tmp25 += tmp24 - del tmp24 - rdm2.oovo += einsum(tmp25, (0, 1), delta.oo, (2, 3), (0, 2, 1, 3)) * -0.08333333333333 - rdm2.oovo += einsum(delta.oo, (0, 1), tmp25, (2, 3), (0, 2, 3, 1)) * 0.08333333333333 - rdm2.oovo += einsum(delta.oo, (0, 1), t1, (2, 3), (2, 0, 3, 1)) - rdm2.oovo += einsum(delta.oo, (0, 1), t1, (2, 3), (0, 2, 3, 1)) * -1 - tmp33 = einsum(t1, (0, 1), tmp32, (2, 3, 1, 4), (2, 0, 3, 4)) - rdm2.oovo += np.transpose(tmp33, (1, 2, 3, 0)) - rdm2.oovo += np.transpose(tmp33, (2, 1, 3, 0)) * -1 - rdm2.oovo += einsum(tmp6, (0, 1), t1, (2, 3), (2, 1, 3, 0)) * -1 - rdm2.oovo += einsum(tmp6, (0, 1), t1, (2, 3), (1, 2, 3, 0)) - tmp41 = np.copy(np.transpose(tmp1, (1, 0, 3, 2))) * 3 - tmp41 += np.transpose(tmp3, (1, 0, 3, 2)) * 6 - tmp41 += np.transpose(tmp0, (1, 0, 3, 2)) - rdm2.oovo += einsum(tmp41, (0, 1, 2, 3), t1, (0, 4), (3, 2, 4, 1)) * -0.16666666666667 - del tmp41 - rdm2.ooov = np.copy(np.transpose(tmp11, (1, 2, 0, 3))) * 0.25 - rdm2.ooov += np.transpose(tmp13, (2, 1, 0, 3)) * -0.5 - rdm2.ooov += np.transpose(tmp14, (2, 1, 0, 3)) * -0.5 - rdm2.ooov += np.transpose(tmp15, (2, 1, 0, 3)) * -1 - rdm2.ooov += np.transpose(tmp21, (1, 2, 0, 3)) - rdm2.ooov += np.transpose(tmp21, (2, 1, 0, 3)) * -1 - del tmp21 - rdm2.ooov += einsum(tmp25, (0, 1), delta.oo, (2, 3), (0, 2, 3, 1)) * 0.08333333333333 - rdm2.ooov += einsum(delta.oo, (0, 1), tmp25, (2, 3), (0, 2, 1, 3)) * -0.08333333333333 - del tmp25 - tmp31 = np.copy(t1) - tmp31 += tmp26 * 0.25 - tmp31 += tmp28 * -0.5 - del tmp28 - tmp29 = einsum(tmp7, (0, 1), t1, (0, 2), (1, 2)) - del tmp7 - tmp31 += tmp29 * -0.5 - del tmp29 - tmp31 += tmp30 * 0.25 - rdm2.ooov += einsum(tmp31, (0, 1), delta.oo, (2, 3), (0, 2, 3, 1)) * -1 - rdm2.ooov += einsum(delta.oo, (0, 1), tmp31, (2, 3), (0, 2, 1, 3)) - del tmp31 - rdm2.ooov += np.transpose(tmp33, (1, 2, 0, 3)) * -1 - rdm2.ooov += np.transpose(tmp33, (2, 1, 0, 3)) - rdm2.ooov += einsum(tmp6, (0, 1), t1, (2, 3), (2, 1, 0, 3)) - rdm2.ooov += einsum(tmp6, (0, 1), t1, (2, 3), (1, 2, 0, 3)) * -1 - tmp36 = np.copy(tmp34) - del tmp34 - tmp35 = einsum(tmp6, (0, 1), t1, (0, 2), (1, 2)) - tmp36 += tmp35 * -1 - del tmp35 - rdm2.ooov += einsum(tmp36, (0, 1), delta.oo, (2, 3), (0, 2, 3, 1)) * -1 - rdm2.ooov += einsum(delta.oo, (0, 1), tmp36, (2, 3), (0, 2, 1, 3)) - del delta - tmp37 = np.copy(np.transpose(tmp1, (1, 0, 3, 2))) - tmp37 += np.transpose(tmp3, (1, 0, 3, 2)) * 2 - tmp37 += np.transpose(tmp0, (1, 0, 3, 2)) * 0.33333333333334 - rdm2.ooov += einsum(t1, (0, 1), tmp37, (0, 2, 3, 4), (4, 3, 2, 1)) * 0.5 - del tmp37 - rdm2.oovv = einsum(t2, (0, 1, 2, 3), tmp42, (3, 2, 4, 5), (0, 1, 5, 4)) * 0.08333333333333 - del tmp42 - rdm2.oovv += t2 - rdm2.oovv += einsum(t3, (0, 1, 2, 3, 4, 5), l1, (5, 2), (0, 1, 3, 4)) - tmp43 = einsum(t1, (0, 1), tmp15, (0, 2, 3, 4), (2, 3, 1, 4)) - del tmp15 - tmp45 = np.copy(np.transpose(tmp43, (1, 0, 2, 3))) * -1 - del tmp43 - tmp44 = einsum(tmp32, (0, 1, 2, 3), t2, (4, 0, 5, 2), (1, 4, 3, 5)) - del tmp32 - tmp45 += np.transpose(tmp44, (1, 0, 2, 3)) * -1 - del tmp44 - rdm2.oovv += tmp45 - rdm2.oovv += np.transpose(tmp45, (0, 1, 3, 2)) * -1 - del tmp45 - tmp46 = einsum(t2, (0, 1, 2, 3), tmp16, (1, 4, 3, 5), (0, 4, 2, 5)) - del tmp16 - tmp55 = np.copy(tmp46) * -0.25 - del tmp46 - tmp48 = einsum(t1, (0, 1), tmp47, (2, 1, 3, 4), (0, 2, 3, 4)) - del tmp47 - tmp55 += tmp48 * 0.5 - del tmp48 - tmp49 = np.copy(tmp17) - del tmp17 - tmp49 += tmp18 * 2 - del tmp18 - tmp50 = einsum(t1, (0, 1), tmp49, (0, 2, 3, 4), (2, 3, 1, 4)) * 0.25 - del tmp49 - tmp55 += tmp50 - del tmp50 - tmp54 = np.copy(tmp26) * -1 - del tmp26 - tmp54 += tmp30 * -1 - del tmp30 - tmp52 = einsum(t1, (0, 1), tmp51, (1, 2), (0, 2)) * 2 - del tmp51 - tmp54 += tmp52 - del tmp52 - tmp53 = einsum(tmp20, (0, 1), t1, (0, 2), (1, 2)) * 0.33333333333332 - tmp54 += tmp53 - del tmp53 - tmp55 += einsum(tmp54, (0, 1), t1, (2, 3), (2, 0, 3, 1)) * 0.25 - del tmp54 - rdm2.oovv += tmp55 * -1 - rdm2.oovv += np.transpose(tmp55, (0, 1, 3, 2)) - rdm2.oovv += np.transpose(tmp55, (1, 0, 2, 3)) - rdm2.oovv += np.transpose(tmp55, (1, 0, 3, 2)) * -1 - del tmp55 - tmp56 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp4, (2, 1, 6, 5), (6, 0, 3, 4)) * -1 - del tmp4 - tmp63 = np.copy(np.transpose(tmp56, (0, 1, 3, 2))) * 0.25 - del tmp56 - tmp57 = einsum(tmp19, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4)) * -1 - del tmp19 - tmp63 += np.transpose(tmp57, (0, 1, 3, 2)) * -0.5 - del tmp57 - tmp60 = np.copy(np.transpose(tmp58, (0, 1, 3, 2))) * -1 - del tmp58 - tmp60 += np.transpose(tmp59, (0, 1, 3, 2)) * -0.5 - del tmp59 - tmp61 = einsum(tmp60, (0, 1, 2, 3), t1, (4, 1), (4, 0, 2, 3)) * 0.5 - del tmp60 - tmp63 += np.transpose(tmp61, (0, 1, 3, 2)) * -1 - del tmp61 - tmp62 = einsum(tmp20, (0, 1), t2, (2, 0, 3, 4), (1, 2, 3, 4)) * -0.08333333333333 - del tmp20 - tmp63 += np.transpose(tmp62, (1, 0, 3, 2)) * -1 - del tmp62 - rdm2.oovv += tmp63 - rdm2.oovv += np.transpose(tmp63, (1, 0, 2, 3)) * -1 - del tmp63 - tmp67 = einsum(t1, (0, 1), t1, (2, 3), (2, 0, 3, 1)) * -1 - tmp64 = einsum(tmp27, (0, 1), t2, (2, 3, 4, 0), (2, 3, 4, 1)) - del tmp27 - tmp67 += np.transpose(tmp64, (1, 0, 3, 2)) * 0.5 - del tmp64 - tmp65 = np.copy(np.transpose(tmp14, (0, 2, 1, 3))) * -2 - del tmp14 - tmp65 += np.transpose(tmp11, (0, 2, 1, 3)) * -1 - del tmp11 - tmp65 += np.transpose(tmp13, (0, 2, 1, 3)) * -2 - del tmp13 - tmp66 = einsum(t1, (0, 1), tmp65, (0, 2, 3, 4), (2, 3, 1, 4)) * 0.25 - del tmp65 - tmp67 += np.transpose(tmp66, (1, 0, 3, 2)) * -1 - del tmp66 - rdm2.oovv += np.transpose(tmp67, (0, 1, 3, 2)) - rdm2.oovv += tmp67 * -1 - del tmp67 - tmp68 = einsum(t1, (0, 1), tmp33, (0, 2, 3, 4), (2, 3, 1, 4)) - del tmp33 - tmp69 = np.copy(tmp68) - del tmp68 - tmp69 += einsum(tmp36, (0, 1), t1, (2, 3), (2, 0, 3, 1)) * -1 - del tmp36 - rdm2.oovv += tmp69 * -1 - rdm2.oovv += np.transpose(tmp69, (0, 1, 3, 2)) - rdm2.oovv += np.transpose(tmp69, (1, 0, 2, 3)) - rdm2.oovv += np.transpose(tmp69, (1, 0, 3, 2)) * -1 - del tmp69 - tmp70 = einsum(tmp22, (0, 1), t2, (2, 3, 4, 0), (2, 3, 4, 1)) - del tmp22 - tmp73 = np.copy(tmp70) * 0.08333333333333 - del tmp70 - tmp71 = einsum(t3, (0, 1, 2, 3, 4, 5), l3, (6, 4, 5, 7, 8, 2), (7, 8, 0, 1, 6, 3)) - tmp72 = einsum(tmp71, (0, 1, 2, 3, 4, 5), t2, (1, 0, 6, 4), (2, 3, 6, 5)) * -1 - del tmp71 - tmp73 += tmp72 * 0.25 - del tmp72 - rdm2.oovv += tmp73 * -1 - rdm2.oovv += np.transpose(tmp73, (0, 1, 3, 2)) - del tmp73 - tmp74 = einsum(t2, (0, 1, 2, 3), tmp6, (1, 4), (4, 0, 2, 3)) - del tmp6 - rdm2.oovv += np.transpose(tmp74, (0, 1, 3, 2)) * -1 - rdm2.oovv += np.transpose(tmp74, (1, 0, 3, 2)) - del tmp74 - tmp75 = np.copy(np.transpose(tmp1, (1, 0, 3, 2))) * 3 - tmp75 += np.transpose(tmp0, (1, 0, 3, 2)) - rdm2.oovv += einsum(t2, (0, 1, 2, 3), tmp75, (0, 1, 4, 5), (5, 4, 2, 3)) * -0.08333333333333 - del tmp75 - tmp78 = einsum(tmp77, (0, 1, 2, 3), t1, (4, 0), (4, 1, 3, 2)) - del tmp77 - rdm2.oovv += einsum(t1, (0, 1), tmp78, (2, 1, 3, 4), (0, 2, 4, 3)) * -0.5 - del tmp78 - tmp79 = np.copy(np.transpose(tmp1, (1, 0, 3, 2))) * 0.5 - del tmp1 - tmp79 += np.transpose(tmp3, (1, 0, 3, 2)) - del tmp3 - tmp79 += np.transpose(tmp0, (1, 0, 3, 2)) * 0.16666666666667 - del tmp0 - tmp80 = einsum(t1, (0, 1), tmp79, (0, 2, 3, 4), (2, 4, 3, 1)) * 2 - del tmp79 - rdm2.oovv += einsum(t1, (0, 1), tmp80, (0, 2, 3, 4), (3, 2, 1, 4)) * -0.5 - del tmp80 - rdm2 = pack_2e(rdm2.oooo, rdm2.ooov, rdm2.oovo, rdm2.ovoo, rdm2.vooo, rdm2.oovv, rdm2.ovov, rdm2.ovvo, rdm2.voov, rdm2.vovo, rdm2.vvoo, rdm2.ovvv, rdm2.vovv, rdm2.vvov, rdm2.vvvo, rdm2.vvvv) - rdm2 = np.transpose(rdm2, (0, 2, 1, 3)) - - return rdm2 - -def hbar_matvec_ip_intermediates(f=None, t1=None, t2=None, t3=None, v=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-10-22T10:30:03.588999. - - Parameters - ---------- - f : array - Fock matrix. - t1 : array - T1 amplitudes. - t2 : array - T2 amplitudes. - t3 : array - T3 amplitudes. - v : array - Electron repulsion integrals. - - Returns - ------- - tmp0 : array - tmp1 : array - tmp105 : array - tmp106 : array - tmp108 : array - tmp109 : array - tmp111 : array - tmp114 : array - tmp118 : array - tmp12 : array - tmp128 : array - tmp129 : array - tmp13 : array - tmp131 : array - tmp132 : array - tmp135 : array - tmp137 : array - tmp139 : array - tmp14 : array - tmp141 : array - tmp142 : array - tmp143 : array - tmp145 : array - tmp147 : array - tmp149 : array - tmp150 : array - tmp152 : array - tmp154 : array - tmp160 : array - tmp17 : array - tmp170 : array - tmp171 : array - tmp172 : array - tmp173 : array - tmp175 : array - tmp176 : array - tmp178 : array - tmp179 : array - tmp18 : array - tmp181 : array - tmp19 : array - tmp200 : array - tmp201 : array - tmp202 : array - tmp204 : array - tmp205 : array - tmp206 : array - tmp208 : array - tmp209 : array - tmp211 : array - tmp212 : array - tmp214 : array - tmp217 : array - tmp219 : array - tmp220 : array - tmp221 : array - tmp228 : array - tmp26 : array - tmp33 : array - tmp34 : array - tmp36 : array - tmp37 : array - tmp39 : array - tmp4 : array - tmp40 : array - tmp41 : array - tmp43 : array - tmp44 : array - tmp45 : array - tmp46 : array - tmp47 : array - tmp48 : array - tmp5 : array - tmp50 : array - tmp51 : array - tmp52 : array - tmp53 : array - tmp54 : array - tmp56 : array - tmp58 : array - tmp6 : array - tmp65 : array - tmp67 : array - tmp68 : array - tmp74 : array - tmp75 : array - tmp78 : array - tmp79 : array - tmp8 : array - tmp80 : array - tmp81 : array - tmp86 : array - tmp87 : array - tmp9 : array - """ - - tmp8 = einsum(f.oo, (0, 1), t1, (1, 2), (0, 2)) - tmp12 = einsum(t2, (0, 1, 2, 3), f.ov, (1, 3), (0, 2)) - tmp43 = einsum(t3, (0, 1, 2, 3, 4, 5), v.oovv, (1, 2, 4, 5), (0, 3)) - tmp9 = einsum(t1, (0, 1), f.vv, (2, 1), (0, 2)) - tmp18 = einsum(v.ovov, (0, 1, 2, 3), t1, (2, 1), (0, 3)) - tmp33 = einsum(v.ovoo, (0, 1, 2, 3), t2, (2, 3, 4, 1), (0, 4)) - tmp36 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 0, 2, 3), (4, 1)) - tmp105 = einsum(t2, (0, 1, 2, 3), v.oooo, (4, 5, 0, 1), (4, 5, 2, 3)) - tmp111 = einsum(v.vvvv, (0, 1, 2, 3), t2, (4, 5, 2, 3), (4, 5, 0, 1)) - tmp1 = einsum(t1, (0, 1), v.ooov, (2, 0, 3, 1), (2, 3)) - tmp52 = einsum(t1, (0, 1), tmp1, (0, 2), (2, 1)) - tmp74 = einsum(t2, (0, 1, 2, 3), f.oo, (4, 1), (4, 0, 2, 3)) - tmp75 = einsum(t2, (0, 1, 2, 3), f.vv, (4, 3), (0, 1, 4, 2)) - tmp78 = einsum(f.ov, (0, 1), t3, (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) - tmp79 = einsum(f.ov, (0, 1), t3, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) - tmp86 = einsum(t1, (0, 1), v.ooov, (2, 3, 0, 4), (2, 3, 1, 4)) - tmp87 = einsum(t1, (0, 1), v.ovvv, (2, 1, 3, 4), (0, 2, 3, 4)) - tmp106 = einsum(t2, (0, 1, 2, 3), v.oooo, (4, 5, 6, 1), (0, 4, 5, 6, 2, 3)) - tmp108 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 2, 5, 1), (4, 0, 5, 3)) - tmp109 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 5, 6, 3), (0, 1, 4, 6, 2, 5)) - tmp128 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovoo, (6, 5, 1, 2), (0, 6, 3, 4)) - tmp129 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ooov, (6, 2, 7, 5), (0, 1, 6, 7, 3, 4)) - tmp131 = einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 0, 6, 2, 3), (4, 5, 6, 1)) - tmp132 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovvv, (6, 7, 4, 5), (0, 1, 2, 6, 3, 7)) - tmp0 = einsum(t1, (0, 1), f.ov, (2, 1), (2, 0)) - tmp14 = einsum(tmp0, (0, 1), t1, (0, 2), (1, 2)) - tmp26 = einsum(v.ovvv, (0, 1, 2, 3), t1, (0, 3), (1, 2)) - tmp56 = einsum(tmp26, (0, 1), t1, (2, 1), (2, 0)) - tmp141 = einsum(t2, (0, 1, 2, 3), tmp1, (1, 4), (0, 4, 2, 3)) * -1 - tmp17 = einsum(t1, (0, 1), v.oooo, (2, 3, 4, 0), (2, 3, 4, 1)) - tmp178 = einsum(tmp17, (0, 1, 2, 3), t1, (2, 4), (0, 1, 3, 4)) * -1 - tmp19 = einsum(v.ovov, (0, 1, 2, 3), t1, (4, 3), (4, 0, 2, 1)) - tmp179 = einsum(t1, (0, 1), tmp19, (2, 0, 3, 4), (2, 3, 1, 4)) - tmp180 = einsum(v.vvvv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) - tmp181 = einsum(t1, (0, 1), tmp180, (2, 3, 4, 1), (2, 0, 3, 4)) * -1 - del tmp180 - tmp4 = einsum(v.oovv, (0, 1, 2, 3), t2, (4, 1, 2, 3), (4, 0)) - tmp200 = einsum(t2, (0, 1, 2, 3), tmp4, (4, 1), (0, 4, 2, 3)) - tmp39 = einsum(v.oovv, (0, 1, 2, 3), t2, (4, 5, 2, 3), (4, 5, 0, 1)) - tmp201 = einsum(tmp39, (0, 1, 2, 3), t2, (3, 2, 4, 5), (0, 1, 4, 5)) * -1 - tmp202 = einsum(t2, (0, 1, 2, 3), tmp39, (4, 5, 1, 6), (4, 5, 0, 6, 2, 3)) * -1 - tmp40 = einsum(t2, (0, 1, 2, 3), v.oovv, (0, 1, 4, 3), (2, 4)) - tmp204 = einsum(t2, (0, 1, 2, 3), tmp40, (4, 3), (0, 1, 2, 4)) - tmp41 = einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 3), (0, 4, 2, 5)) - tmp205 = einsum(tmp41, (0, 1, 2, 3), t2, (4, 1, 5, 3), (0, 4, 2, 5)) - tmp206 = einsum(t2, (0, 1, 2, 3), tmp41, (4, 5, 6, 3), (0, 1, 4, 5, 2, 6)) - tmp45 = einsum(t1, (0, 1), tmp41, (2, 0, 3, 1), (2, 3)) - tmp47 = einsum(t1, (0, 1), tmp40, (2, 1), (0, 2)) - tmp50 = einsum(tmp4, (0, 1), t1, (1, 2), (0, 2)) - tmp5 = einsum(t1, (0, 1), v.oovv, (2, 0, 3, 1), (2, 3)) - tmp6 = einsum(tmp5, (0, 1), t1, (2, 1), (2, 0)) - tmp65 = einsum(t1, (0, 1), tmp6, (2, 0), (2, 1)) - tmp80 = einsum(t2, (0, 1, 2, 3), tmp0, (1, 4), (4, 0, 2, 3)) - tmp13 = einsum(t2, (0, 1, 2, 3), f.ov, (4, 3), (4, 0, 1, 2)) - tmp81 = einsum(t1, (0, 1), tmp13, (0, 2, 3, 4), (2, 3, 1, 4)) - tmp114 = einsum(v.ovoo, (0, 1, 2, 3), t2, (2, 3, 4, 5), (0, 4, 5, 1)) - tmp142 = einsum(tmp114, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) - tmp53 = einsum(v.ooov, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) - tmp143 = einsum(tmp53, (0, 1, 2, 3), t2, (4, 1, 5, 6), (0, 4, 2, 3, 5, 6)) * -1 - tmp34 = einsum(v.ooov, (0, 1, 2, 3), t2, (4, 1, 5, 3), (4, 0, 2, 5)) - tmp145 = einsum(t1, (0, 1), tmp34, (2, 0, 3, 4), (2, 3, 1, 4)) - tmp146 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), (0, 1, 4, 5, 6, 2)) - tmp147 = einsum(tmp146, (0, 1, 2, 3, 4, 5), t1, (2, 6), (0, 1, 3, 4, 6, 5)) * -1 - del tmp146 - tmp149 = einsum(tmp26, (0, 1), t2, (2, 3, 4, 1), (2, 3, 4, 0)) * -1 - tmp118 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 3), (0, 2, 4, 5)) - tmp150 = einsum(tmp118, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) - tmp151 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 5, 6, 3), (4, 5, 0, 6, 1, 2)) - tmp152 = einsum(t1, (0, 1), tmp151, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) - del tmp151 - tmp37 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 5, 2, 3), (4, 5, 0, 1)) - tmp154 = einsum(t1, (0, 1), tmp37, (2, 3, 0, 4), (2, 3, 1, 4)) - tmp139 = einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (4, 5, 0, 6, 7, 2)) - tmp170 = einsum(tmp139, (0, 1, 2, 3, 4, 5), t1, (2, 5), (0, 1, 3, 4)) - tmp171 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp5, (6, 5), (0, 1, 2, 6, 3, 4)) * -1 - tmp137 = einsum(v.oovv, (0, 1, 2, 3), t3, (4, 0, 1, 5, 6, 3), (4, 5, 6, 2)) - tmp172 = einsum(tmp137, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) - tmp173 = einsum(t1, (0, 1), tmp139, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) - tmp44 = einsum(t3, (0, 1, 2, 3, 4, 5), v.oovv, (6, 2, 4, 5), (0, 1, 6, 3)) - tmp175 = einsum(t1, (0, 1), tmp44, (2, 3, 0, 4), (2, 3, 1, 4)) - tmp135 = einsum(t3, (0, 1, 2, 3, 4, 5), v.oovv, (6, 7, 4, 5), (0, 1, 2, 6, 7, 3)) - tmp176 = einsum(tmp135, (0, 1, 2, 3, 4, 5), t1, (3, 6), (0, 1, 2, 4, 6, 5)) * -1 - tmp54 = einsum(tmp53, (0, 1, 2, 3), t1, (1, 4), (0, 2, 3, 4)) * -1 - tmp220 = einsum(tmp54, (0, 1, 2, 3), t1, (1, 4), (0, 2, 3, 4)) * -1 - tmp57 = einsum(t1, (0, 1), v.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) - tmp58 = einsum(t1, (0, 1), tmp57, (2, 3, 4, 1), (2, 0, 3, 4)) * -1 - del tmp57 - tmp221 = einsum(t1, (0, 1), tmp58, (2, 3, 0, 4), (2, 3, 1, 4)) - tmp208 = einsum(t2, (0, 1, 2, 3), tmp6, (4, 1), (4, 0, 2, 3)) * -1 - tmp46 = einsum(t2, (0, 1, 2, 3), tmp5, (4, 3), (0, 1, 4, 2)) * -1 - tmp209 = einsum(t1, (0, 1), tmp46, (2, 3, 0, 4), (2, 3, 1, 4)) - tmp160 = einsum(v.oovv, (0, 1, 2, 3), t2, (0, 1, 4, 5), (4, 5, 2, 3)) - tmp210 = einsum(tmp160, (0, 1, 2, 3), t1, (4, 2), (4, 0, 1, 3)) * -1 - tmp211 = einsum(tmp210, (0, 1, 2, 3), t1, (4, 3), (0, 4, 1, 2)) * -1 - del tmp210 - tmp66 = einsum(t1, (0, 1), v.oovv, (2, 3, 4, 1), (0, 2, 3, 4)) - tmp67 = einsum(tmp66, (0, 1, 2, 3), t1, (4, 3), (0, 4, 1, 2)) * -1 - del tmp66 - tmp212 = einsum(t2, (0, 1, 2, 3), tmp67, (4, 5, 1, 6), (4, 5, 0, 6, 2, 3)) * -1 - tmp48 = einsum(t1, (0, 1), tmp41, (2, 3, 4, 1), (0, 2, 3, 4)) - tmp214 = einsum(t1, (0, 1), tmp48, (2, 3, 0, 4), (2, 3, 1, 4)) - tmp215 = einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 6, 3), (0, 1, 4, 5, 2, 6)) - tmp216 = einsum(t1, (0, 1), tmp215, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) - del tmp215 - tmp217 = einsum(tmp216, (0, 1, 2, 3, 4, 5), t1, (3, 6), (0, 1, 2, 4, 6, 5)) * -1 - del tmp216 - tmp51 = einsum(tmp39, (0, 1, 2, 3), t1, (2, 4), (0, 1, 3, 4)) * -1 - tmp219 = einsum(tmp51, (0, 1, 2, 3), t1, (2, 4), (0, 1, 3, 4)) * -1 - tmp68 = einsum(tmp67, (0, 1, 2, 3), t1, (2, 4), (0, 1, 3, 4)) * -1 - tmp228 = einsum(tmp68, (0, 1, 2, 3), t1, (2, 4), (0, 1, 3, 4)) * -1 - - return {f"tmp0": tmp0, f"tmp1": tmp1, f"tmp105": tmp105, f"tmp106": tmp106, f"tmp108": tmp108, f"tmp109": tmp109, f"tmp111": tmp111, f"tmp114": tmp114, f"tmp118": tmp118, f"tmp12": tmp12, f"tmp128": tmp128, f"tmp129": tmp129, f"tmp13": tmp13, f"tmp131": tmp131, f"tmp132": tmp132, f"tmp135": tmp135, f"tmp137": tmp137, f"tmp139": tmp139, f"tmp14": tmp14, f"tmp141": tmp141, f"tmp142": tmp142, f"tmp143": tmp143, f"tmp145": tmp145, f"tmp147": tmp147, f"tmp149": tmp149, f"tmp150": tmp150, f"tmp152": tmp152, f"tmp154": tmp154, f"tmp160": tmp160, f"tmp17": tmp17, f"tmp170": tmp170, f"tmp171": tmp171, f"tmp172": tmp172, f"tmp173": tmp173, f"tmp175": tmp175, f"tmp176": tmp176, f"tmp178": tmp178, f"tmp179": tmp179, f"tmp18": tmp18, f"tmp181": tmp181, f"tmp19": tmp19, f"tmp200": tmp200, f"tmp201": tmp201, f"tmp202": tmp202, f"tmp204": tmp204, f"tmp205": tmp205, f"tmp206": tmp206, f"tmp208": tmp208, f"tmp209": tmp209, f"tmp211": tmp211, f"tmp212": tmp212, f"tmp214": tmp214, f"tmp217": tmp217, f"tmp219": tmp219, f"tmp220": tmp220, f"tmp221": tmp221, f"tmp228": tmp228, f"tmp26": tmp26, f"tmp33": tmp33, f"tmp34": tmp34, f"tmp36": tmp36, f"tmp37": tmp37, f"tmp39": tmp39, f"tmp4": tmp4, f"tmp40": tmp40, f"tmp41": tmp41, f"tmp43": tmp43, f"tmp44": tmp44, f"tmp45": tmp45, f"tmp46": tmp46, f"tmp47": tmp47, f"tmp48": tmp48, f"tmp5": tmp5, f"tmp50": tmp50, f"tmp51": tmp51, f"tmp52": tmp52, f"tmp53": tmp53, f"tmp54": tmp54, f"tmp56": tmp56, f"tmp58": tmp58, f"tmp6": tmp6, f"tmp65": tmp65, f"tmp67": tmp67, f"tmp68": tmp68, f"tmp74": tmp74, f"tmp75": tmp75, f"tmp78": tmp78, f"tmp79": tmp79, f"tmp8": tmp8, f"tmp80": tmp80, f"tmp81": tmp81, f"tmp86": tmp86, f"tmp87": tmp87, f"tmp9": tmp9} - -def hbar_matvec_ip(f=None, r1=None, r2=None, r3=None, t1=None, t2=None, t3=None, v=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-10-22T10:30:03.993267. - - Parameters - ---------- - f : array - Fock matrix. - r1 : array - R1 amplitudes. - r2 : array - R2 amplitudes. - r3 : array - R3 amplitudes. - t1 : array - T1 amplitudes. - t2 : array - T2 amplitudes. - t3 : array - T3 amplitudes. - v : array - Electron repulsion integrals. - - Returns - ------- - r1new : array - Updated R1 residuals. - r2new : array - Updated R2 residuals. - r3new : array - Updated R3 residuals. - """ - - ints = kwargs["ints"] - r1new = einsum(r2, (0, 1, 2), f.ov, (1, 2), (0,)) - r1new += einsum(v.ovoo, (0, 1, 2, 3), r2, (2, 3, 1), (0,)) * -0.5 - r1new += einsum(r3, (0, 1, 2, 3, 4), v.oovv, (1, 2, 3, 4), (0,)) * 0.25 - tmp0 = einsum(r2, (0, 1, 2), v.oovv, (3, 1, 4, 2), (0, 3, 4)) - r1new += einsum(t1, (0, 1), tmp0, (2, 0, 1), (2,)) - tmp1 = einsum(v.oovv, (0, 1, 2, 3), r2, (0, 1, 3), (2,)) - r1new += einsum(tmp1, (0,), t1, (1, 0), (1,)) * -0.5 - tmp2 = np.copy(f.oo) * 2 - tmp2 += ints.tmp0 * 2 - tmp2 += ints.tmp1 * 2 - tmp2 += np.transpose(ints.tmp4, (1, 0)) - tmp2 += np.transpose(ints.tmp6, (1, 0)) * 2 - r1new += einsum(r1, (0,), tmp2, (0, 1), (1,)) * -0.5 - r2new = einsum(f.ov, (0, 1), r3, (2, 3, 0, 4, 1), (2, 3, 4)) - r2new += einsum(tmp1, (0,), t2, (1, 2, 3, 0), (1, 2, 3)) * 0.5 - tmp3 = einsum(r3, (0, 1, 2, 3, 4), v.oovv, (5, 2, 6, 4), (0, 1, 5, 3, 6)) - r2new += einsum(tmp3, (0, 1, 2, 3, 4), t1, (2, 4), (1, 0, 3)) * -1 - tmp4 = einsum(v.oovv, (0, 1, 2, 3), r2, (0, 1, 4), (4, 2, 3)) - tmp5 = einsum(tmp4, (0, 1, 2), t1, (3, 1), (3, 0, 2)) * -1 - r2new += einsum(t1, (0, 1), tmp5, (2, 3, 1), (0, 2, 3)) * 0.5 - del tmp5 - r2new += einsum(v.ovvv, (0, 1, 2, 3), r3, (4, 5, 0, 2, 3), (4, 5, 1)) * -0.5 - tmp6 = einsum(ints.tmp4, (0, 1), r2, (2, 1, 3), (0, 2, 3)) - del ints.tmp4 - tmp22 = np.copy(tmp6) * -0.5 - del tmp6 - tmp7 = einsum(ints.tmp41, (0, 1, 2, 3), r2, (4, 1, 3), (0, 4, 2)) - tmp22 += tmp7 - del tmp7 - tmp8 = einsum(r2, (0, 1, 2), v.ovov, (3, 2, 1, 4), (0, 3, 4)) - tmp22 += tmp8 - del tmp8 - tmp9 = einsum(v.ovoo, (0, 1, 2, 3), r3, (4, 2, 3, 5, 1), (4, 0, 5)) - tmp22 += tmp9 * 0.5 - del tmp9 - tmp10 = einsum(r2, (0, 1, 2), v.ovoo, (3, 4, 0, 1), (3, 2, 4)) - tmp11 = einsum(t1, (0, 1), tmp10, (2, 3, 1), (0, 2, 3)) - tmp22 += tmp11 * 0.5 - del tmp11 - tmp12 = einsum(r2, (0, 1, 2), v.ovvv, (1, 3, 4, 2), (0, 3, 4)) - tmp14 = np.copy(tmp12) - tmp13 = einsum(r3, (0, 1, 2, 3, 4), v.oovv, (1, 2, 5, 4), (0, 3, 5)) - tmp14 += tmp13 * 0.5 - tmp15 = einsum(t1, (0, 1), tmp14, (2, 3, 1), (0, 2, 3)) - del tmp14 - tmp22 += np.transpose(tmp15, (1, 0, 2)) - del tmp15 - tmp16 = einsum(r2, (0, 1, 2), v.ooov, (3, 1, 4, 2), (0, 3, 4)) - tmp18 = np.copy(tmp16) - tmp17 = einsum(t1, (0, 1), tmp0, (2, 3, 1), (2, 0, 3)) * -1 - tmp18 += np.transpose(tmp17, (0, 2, 1)) * -1 - tmp19 = einsum(t1, (0, 1), tmp18, (2, 0, 3), (2, 3, 1)) - del tmp18 - tmp22 += tmp19 - del tmp19 - tmp20 = np.copy(ints.tmp48) - tmp20 += np.transpose(ints.tmp54, (0, 2, 1, 3)) - del ints.tmp54 - tmp21 = einsum(tmp20, (0, 1, 2, 3), r1, (2,), (0, 1, 3)) - del tmp20 - tmp22 += tmp21 - del tmp21 - r2new += tmp22 * -1 - r2new += np.transpose(tmp22, (1, 0, 2)) - del tmp22 - tmp23 = np.copy(f.oo) - tmp23 += ints.tmp0 - del ints.tmp0 - tmp23 += ints.tmp1 - del ints.tmp1 - tmp23 += np.transpose(ints.tmp6, (1, 0)) - del ints.tmp6 - tmp24 = einsum(r2, (0, 1, 2), tmp23, (1, 3), (0, 3, 2)) * -1 - del tmp23 - tmp27 = np.copy(np.transpose(tmp24, (1, 0, 2))) * -1 - del tmp24 - tmp25 = np.copy(ints.tmp19) - tmp25 += ints.tmp34 - tmp26 = einsum(r1, (0,), tmp25, (1, 0, 2, 3), (1, 2, 3)) - del tmp25 - tmp27 += tmp26 - del tmp26 - r2new += tmp27 - r2new += np.transpose(tmp27, (1, 0, 2)) * -1 - del tmp27 - tmp28 = np.copy(ints.tmp39) - tmp28 += v.oooo * 2 - r2new += einsum(r2, (0, 1, 2), tmp28, (3, 4, 1, 0), (4, 3, 2)) * 0.25 - del tmp28 - tmp29 = np.copy(np.transpose(ints.tmp26, (1, 0))) - tmp29 += np.transpose(ints.tmp40, (1, 0)) * 0.5 - tmp29 += f.vv * -1 - r2new += einsum(tmp29, (0, 1), r2, (2, 3, 0), (2, 3, 1)) * -1 - del tmp29 - tmp30 = np.copy(ints.tmp13) - tmp30 += np.transpose(ints.tmp17, (2, 0, 1, 3)) - del ints.tmp17 - tmp30 += np.transpose(ints.tmp44, (2, 0, 1, 3)) * 0.5 - tmp30 += np.transpose(ints.tmp51, (2, 0, 1, 3)) * 0.5 - del ints.tmp51 - tmp30 += np.transpose(ints.tmp68, (2, 0, 1, 3)) - del ints.tmp68 - tmp30 += np.transpose(ints.tmp37, (2, 0, 1, 3)) * -0.5 - tmp30 += np.transpose(ints.tmp46, (2, 0, 1, 3)) * -1 - tmp30 += np.transpose(ints.tmp58, (2, 0, 1, 3)) * -1 - tmp30 += np.transpose(v.ovoo, (0, 2, 3, 1)) * -1 - r2new += einsum(r1, (0,), tmp30, (0, 1, 2, 3), (2, 1, 3)) * -1 - del tmp30 - tmp31 = einsum(r3, (0, 1, 2, 3, 4), v.oovv, (5, 2, 3, 4), (0, 1, 5)) - tmp34 = np.copy(np.transpose(tmp31, (2, 1, 0))) * -0.5 - tmp32 = np.copy(f.ov) - tmp32 += ints.tmp5 - del ints.tmp5 - tmp33 = einsum(r2, (0, 1, 2), tmp32, (3, 2), (0, 1, 3)) - tmp34 += np.transpose(tmp33, (2, 1, 0)) * -1 - r2new += einsum(t1, (0, 1), tmp34, (0, 2, 3), (3, 2, 1)) - del tmp34 - tmp35 = np.copy(ints.tmp14) - del ints.tmp14 - tmp35 += ints.tmp18 - del ints.tmp18 - tmp35 += ints.tmp33 * 0.5 - del ints.tmp33 - tmp35 += ints.tmp36 * 0.5 - del ints.tmp36 - tmp35 += ints.tmp47 * 0.5 - del ints.tmp47 - tmp35 += ints.tmp50 * 0.5 - del ints.tmp50 - tmp35 += ints.tmp52 - del ints.tmp52 - tmp35 += ints.tmp56 - del ints.tmp56 - tmp35 += ints.tmp65 - del ints.tmp65 - tmp35 += ints.tmp8 - del ints.tmp8 - tmp35 += f.ov * -1 - tmp35 += ints.tmp12 * -1 - del ints.tmp12 - tmp35 += ints.tmp43 * -0.25 - del ints.tmp43 - tmp35 += ints.tmp45 * -1 - del ints.tmp45 - tmp35 += ints.tmp9 * -1 - del ints.tmp9 - r2new += einsum(r1, (0,), tmp35, (1, 2), (0, 1, 2)) * -1 - r2new += einsum(r1, (0,), tmp35, (1, 2), (1, 0, 2)) - tmp36 = einsum(v.oovv, (0, 1, 2, 3), r3, (4, 5, 6, 2, 3), (4, 5, 6, 0, 1)) - r3new = einsum(tmp36, (0, 1, 2, 3, 4), t2, (4, 3, 5, 6), (1, 2, 0, 5, 6)) * -0.25 - r3new += einsum(tmp1, (0,), t3, (1, 2, 3, 4, 5, 0), (1, 2, 3, 4, 5)) * -0.5 - del tmp1 - tmp37 = einsum(tmp36, (0, 1, 2, 3, 4), t1, (3, 5), (0, 1, 2, 4, 5)) * -1 - del tmp36 - r3new += einsum(t1, (0, 1), tmp37, (2, 3, 4, 0, 5), (3, 4, 2, 1, 5)) * 0.5 - del tmp37 - r3new += einsum(v.vvvv, (0, 1, 2, 3), r3, (4, 5, 6, 2, 3), (4, 5, 6, 0, 1)) * 0.5 - tmp38 = einsum(r1, (0,), ints.tmp206, (1, 2, 3, 0, 4, 5), (1, 2, 3, 4, 5)) - del ints.tmp206 - tmp52 = np.copy(tmp38) - del tmp38 - tmp39 = einsum(r3, (0, 1, 2, 3, 4), v.ovov, (5, 4, 2, 6), (0, 1, 5, 3, 6)) - tmp52 += np.transpose(tmp39, (1, 0, 2, 3, 4)) - del tmp39 - tmp40 = einsum(tmp10, (0, 1, 2), t2, (3, 4, 5, 2), (3, 4, 0, 1, 5)) - del tmp10 - tmp52 += np.transpose(tmp40, (1, 0, 2, 3, 4)) * 0.5 - del tmp40 - tmp41 = einsum(tmp3, (0, 1, 2, 3, 4), t2, (5, 2, 6, 4), (0, 1, 5, 3, 6)) - tmp52 += np.transpose(tmp41, (1, 0, 2, 3, 4)) * -1 - del tmp41 - tmp42 = np.copy(ints.tmp37) * 0.5 - del ints.tmp37 - tmp42 += ints.tmp46 - del ints.tmp46 - tmp42 += ints.tmp58 - del ints.tmp58 - tmp42 += ints.tmp44 * -0.5 - del ints.tmp44 - tmp43 = einsum(tmp42, (0, 1, 2, 3), r2, (4, 2, 5), (4, 0, 1, 5, 3)) * -1 - del tmp42 - tmp52 += np.transpose(tmp43, (1, 2, 0, 4, 3)) * -1 - del tmp43 - tmp44 = np.copy(ints.tmp39) * 0.5 - tmp44 += ints.tmp67 - del ints.tmp67 - tmp45 = einsum(r2, (0, 1, 2), tmp44, (3, 4, 1, 5), (0, 3, 4, 5, 2)) * -1 - del tmp44 - tmp46 = einsum(t1, (0, 1), tmp45, (2, 3, 4, 0, 5), (3, 4, 2, 1, 5)) * -1 - del tmp45 - tmp52 += np.transpose(tmp46, (0, 1, 2, 4, 3)) - del tmp46 - tmp47 = einsum(v.ovov, (0, 1, 2, 3), r2, (4, 5, 3), (4, 5, 0, 2, 1)) - tmp50 = np.copy(np.transpose(tmp47, (1, 0, 2, 3, 4))) * -1 - del tmp47 - tmp48 = einsum(v.ovvv, (0, 1, 2, 3), r2, (4, 5, 3), (4, 5, 0, 1, 2)) - tmp49 = einsum(tmp48, (0, 1, 2, 3, 4), t1, (5, 4), (0, 1, 5, 2, 3)) * -1 - del tmp48 - tmp50 += np.transpose(tmp49, (1, 0, 3, 2, 4)) - del tmp49 - tmp51 = einsum(t1, (0, 1), tmp50, (2, 3, 0, 4, 5), (2, 3, 4, 1, 5)) - del tmp50 - tmp52 += np.transpose(tmp51, (1, 0, 2, 3, 4)) * -1 - del tmp51 - r3new += np.transpose(tmp52, (1, 0, 2, 3, 4)) * -1 - r3new += np.transpose(tmp52, (1, 0, 2, 4, 3)) - r3new += np.transpose(tmp52, (1, 2, 0, 3, 4)) - r3new += np.transpose(tmp52, (1, 2, 0, 4, 3)) * -1 - r3new += np.transpose(tmp52, (2, 1, 0, 3, 4)) * -1 - r3new += np.transpose(tmp52, (2, 1, 0, 4, 3)) - del tmp52 - tmp53 = einsum(r2, (0, 1, 2), ints.tmp118, (3, 4, 5, 2), (3, 0, 1, 4, 5)) - del ints.tmp118 - tmp61 = np.copy(np.transpose(tmp53, (0, 2, 1, 3, 4))) * -1 - del tmp53 - tmp54 = einsum(ints.tmp41, (0, 1, 2, 3), r2, (4, 5, 3), (0, 1, 4, 5, 2)) - del ints.tmp41 - tmp55 = einsum(t1, (0, 1), tmp54, (2, 0, 3, 4, 5), (2, 3, 4, 5, 1)) - del tmp54 - tmp61 += np.transpose(tmp55, (0, 2, 1, 3, 4)) * -1 - del tmp55 - tmp56 = einsum(t2, (0, 1, 2, 3), tmp13, (4, 5, 3), (4, 0, 1, 5, 2)) * -1 - del tmp13 - tmp61 += np.transpose(tmp56, (0, 2, 1, 3, 4)) * 0.5 - del tmp56 - tmp57 = einsum(t2, (0, 1, 2, 3), tmp0, (4, 5, 3), (4, 0, 1, 5, 2)) * -1 - del tmp0 - tmp58 = einsum(tmp57, (0, 1, 2, 3, 4), t1, (3, 5), (0, 1, 2, 5, 4)) * -1 - del tmp57 - tmp61 += np.transpose(tmp58, (0, 2, 1, 3, 4)) * -1 - del tmp58 - tmp59 = einsum(t2, (0, 1, 2, 3), tmp4, (4, 3, 5), (0, 1, 4, 2, 5)) * -1 - del tmp4 - tmp60 = einsum(tmp59, (0, 1, 2, 3, 4), t1, (5, 4), (5, 0, 1, 2, 3)) - del tmp59 - tmp61 += np.transpose(tmp60, (0, 2, 1, 3, 4)) * 0.5 - del tmp60 - r3new += tmp61 - r3new += np.transpose(tmp61, (0, 1, 2, 4, 3)) * -1 - r3new += np.transpose(tmp61, (1, 0, 2, 3, 4)) * -1 - r3new += np.transpose(tmp61, (1, 0, 2, 4, 3)) - r3new += np.transpose(tmp61, (1, 2, 0, 3, 4)) - r3new += np.transpose(tmp61, (1, 2, 0, 4, 3)) * -1 - del tmp61 - tmp62 = einsum(v.ovvv, (0, 1, 2, 3), r2, (4, 5, 1), (4, 5, 0, 2, 3)) - tmp78 = np.copy(np.transpose(tmp62, (1, 0, 2, 4, 3))) - del tmp62 - tmp63 = einsum(ints.tmp39, (0, 1, 2, 3), r3, (4, 3, 2, 5, 6), (0, 1, 4, 5, 6)) * -1 - del ints.tmp39 - tmp78 += np.transpose(tmp63, (0, 1, 2, 4, 3)) * 0.25 - del tmp63 - tmp64 = einsum(ints.tmp139, (0, 1, 2, 3, 4, 5), r2, (6, 2, 5), (0, 1, 6, 3, 4)) - del ints.tmp139 - tmp78 += tmp64 * -1 - del tmp64 - tmp65 = np.copy(ints.tmp160) - del ints.tmp160 - tmp65 += v.vvvv * 2 - tmp66 = einsum(r2, (0, 1, 2), tmp65, (3, 4, 2, 5), (0, 1, 3, 4, 5)) - del tmp65 - tmp67 = einsum(tmp66, (0, 1, 2, 3, 4), t1, (5, 4), (5, 1, 0, 2, 3)) * -0.5 - del tmp66 - tmp78 += np.transpose(tmp67, (2, 1, 0, 3, 4)) - del tmp67 - tmp68 = np.copy(np.transpose(tmp31, (1, 0, 2))) * -0.5 - del tmp31 - tmp68 += np.transpose(tmp33, (1, 0, 2)) * -1 - del tmp33 - tmp69 = einsum(tmp68, (0, 1, 2), t2, (3, 2, 4, 5), (3, 0, 1, 4, 5)) * -1 - del tmp68 - tmp78 += np.transpose(tmp69, (2, 1, 0, 4, 3)) - del tmp69 - tmp70 = np.copy(ints.tmp129) - del ints.tmp129 - tmp70 += np.transpose(ints.tmp202, (0, 1, 3, 2, 4, 5)) * 0.5 - del ints.tmp202 - tmp70 += np.transpose(ints.tmp212, (0, 1, 3, 2, 4, 5)) - del ints.tmp212 - tmp71 = einsum(r1, (0,), tmp70, (1, 2, 0, 3, 4, 5), (1, 2, 3, 4, 5)) - del tmp70 - tmp78 += tmp71 - del tmp71 - tmp72 = einsum(v.ooov, (0, 1, 2, 3), r2, (4, 5, 3), (4, 5, 0, 1, 2)) - tmp75 = np.copy(np.transpose(tmp72, (1, 0, 3, 2, 4))) - del tmp72 - tmp73 = einsum(v.oovv, (0, 1, 2, 3), r2, (4, 5, 3), (4, 5, 0, 1, 2)) - tmp74 = einsum(t1, (0, 1), tmp73, (2, 3, 4, 5, 1), (2, 3, 0, 4, 5)) * -1 - del tmp73 - tmp75 += np.transpose(tmp74, (1, 0, 4, 3, 2)) * -1 - del tmp74 - tmp76 = einsum(t1, (0, 1), tmp75, (2, 3, 0, 4, 5), (2, 3, 4, 5, 1)) - del tmp75 - tmp77 = einsum(tmp76, (0, 1, 2, 3, 4), t1, (2, 5), (1, 0, 3, 5, 4)) - del tmp76 - tmp78 += np.transpose(tmp77, (1, 0, 2, 3, 4)) * -1 - del tmp77 - r3new += np.transpose(tmp78, (1, 0, 2, 4, 3)) * -1 - r3new += np.transpose(tmp78, (1, 2, 0, 4, 3)) - r3new += np.transpose(tmp78, (2, 1, 0, 4, 3)) * -1 - del tmp78 - tmp79 = einsum(r2, (0, 1, 2), ints.tmp13, (1, 3, 4, 5), (3, 4, 0, 5, 2)) - del ints.tmp13 - tmp88 = np.copy(tmp79) - del tmp79 - tmp80 = einsum(v.ovvv, (0, 1, 2, 3), r3, (4, 5, 0, 6, 3), (4, 5, 6, 1, 2)) - tmp81 = einsum(tmp80, (0, 1, 2, 3, 4), t1, (5, 4), (0, 1, 5, 2, 3)) * -1 - del tmp80 - tmp88 += np.transpose(tmp81, (1, 0, 2, 3, 4)) - del tmp81 - tmp82 = einsum(r3, (0, 1, 2, 3, 4), v.ooov, (5, 2, 6, 4), (0, 1, 5, 6, 3)) - tmp84 = np.copy(np.transpose(tmp82, (1, 0, 2, 3, 4))) * -1 - del tmp82 - tmp83 = einsum(t1, (0, 1), tmp3, (2, 3, 4, 5, 1), (2, 3, 0, 4, 5)) * -1 - del tmp3 - tmp84 += np.transpose(tmp83, (1, 0, 3, 2, 4)) - del tmp83 - tmp85 = einsum(t1, (0, 1), tmp84, (2, 3, 0, 4, 5), (2, 3, 4, 1, 5)) - del tmp84 - tmp88 += np.transpose(tmp85, (1, 0, 2, 4, 3)) * -1 - del tmp85 - tmp86 = np.copy(ints.tmp109) - del ints.tmp109 - tmp86 += ints.tmp147 - del ints.tmp147 - tmp87 = einsum(r1, (0,), tmp86, (1, 2, 0, 3, 4, 5), (1, 2, 3, 4, 5)) - del tmp86 - tmp88 += tmp87 - del tmp87 - r3new += np.transpose(tmp88, (1, 0, 2, 3, 4)) - r3new += np.transpose(tmp88, (1, 0, 2, 4, 3)) * -1 - r3new += np.transpose(tmp88, (1, 2, 0, 3, 4)) * -1 - r3new += np.transpose(tmp88, (1, 2, 0, 4, 3)) - r3new += np.transpose(tmp88, (2, 1, 0, 3, 4)) - r3new += np.transpose(tmp88, (2, 1, 0, 4, 3)) * -1 - del tmp88 - tmp89 = einsum(r3, (0, 1, 2, 3, 4), v.ovoo, (5, 6, 1, 2), (0, 5, 3, 4, 6)) - tmp90 = einsum(t1, (0, 1), tmp89, (2, 3, 4, 5, 1), (2, 0, 3, 4, 5)) - del tmp89 - tmp92 = np.copy(np.transpose(tmp90, (0, 1, 2, 4, 3))) * 0.5 - del tmp90 - tmp91 = einsum(tmp17, (0, 1, 2), t2, (3, 2, 4, 5), (0, 1, 3, 4, 5)) * -1 - del tmp17 - tmp92 += np.transpose(tmp91, (0, 1, 2, 4, 3)) * -1 - del tmp91 - r3new += tmp92 - r3new += np.transpose(tmp92, (0, 2, 1, 3, 4)) * -1 - r3new += np.transpose(tmp92, (1, 0, 2, 3, 4)) * -1 - r3new += np.transpose(tmp92, (2, 0, 1, 3, 4)) - r3new += np.transpose(tmp92, (1, 2, 0, 3, 4)) - r3new += np.transpose(tmp92, (2, 1, 0, 3, 4)) * -1 - del tmp92 - tmp93 = einsum(r3, (0, 1, 2, 3, 4), v.oooo, (5, 6, 1, 2), (0, 5, 6, 3, 4)) - tmp102 = np.copy(np.transpose(tmp93, (0, 2, 1, 4, 3))) * -0.5 - del tmp93 - tmp94 = einsum(v.oovv, (0, 1, 2, 3), r3, (4, 0, 1, 5, 6), (4, 5, 6, 2, 3)) - tmp95 = einsum(tmp94, (0, 1, 2, 3, 4), t1, (5, 3), (0, 5, 1, 2, 4)) * -1 - del tmp94 - tmp96 = einsum(tmp95, (0, 1, 2, 3, 4), t1, (5, 4), (0, 1, 5, 2, 3)) * -1 - del tmp95 - tmp102 += np.transpose(tmp96, (0, 2, 1, 4, 3)) * -0.5 - del tmp96 - tmp97 = np.copy(ints.tmp114) - del ints.tmp114 - tmp97 += ints.tmp137 * -1 - del ints.tmp137 - tmp98 = einsum(tmp97, (0, 1, 2, 3), r2, (4, 5, 3), (4, 5, 0, 1, 2)) * 0.5 - del tmp97 - tmp102 += np.transpose(tmp98, (2, 1, 0, 4, 3)) - del tmp98 - tmp99 = einsum(tmp2, (0, 1), r3, (2, 3, 0, 4, 5), (2, 3, 1, 4, 5)) * 0.5 - del tmp2 - tmp102 += np.transpose(tmp99, (2, 0, 1, 4, 3)) * -1 - del tmp99 - tmp100 = np.copy(ints.tmp106) - del ints.tmp106 - tmp100 += ints.tmp173 - del ints.tmp173 - tmp101 = einsum(r1, (0,), tmp100, (1, 2, 3, 0, 4, 5), (1, 2, 3, 4, 5)) - del tmp100 - tmp102 += np.transpose(tmp101, (0, 2, 1, 4, 3)) - del tmp101 - r3new += tmp102 * -1 - r3new += np.transpose(tmp102, (1, 0, 2, 3, 4)) - r3new += np.transpose(tmp102, (1, 2, 0, 3, 4)) * -1 - del tmp102 - tmp103 = einsum(ints.tmp135, (0, 1, 2, 3, 4, 5), r2, (4, 3, 6), (0, 1, 2, 5, 6)) * -1 - del ints.tmp135 - tmp112 = np.copy(tmp103) * 0.25 - del tmp103 - tmp104 = einsum(r3, (0, 1, 2, 3, 4), v.ovvv, (5, 6, 3, 4), (0, 1, 2, 5, 6)) - tmp105 = einsum(t1, (0, 1), tmp104, (2, 3, 4, 0, 5), (2, 3, 4, 1, 5)) - del tmp104 - tmp112 += np.transpose(tmp105, (1, 2, 0, 3, 4)) * 0.5 - del tmp105 - tmp106 = np.copy(f.vv) * 2 - tmp106 += np.transpose(ints.tmp40, (1, 0)) * -1 - del ints.tmp40 - tmp107 = einsum(tmp106, (0, 1), r3, (2, 3, 4, 5, 0), (2, 3, 4, 5, 1)) * -0.5 - del tmp106 - tmp112 += np.transpose(tmp107, (1, 2, 0, 4, 3)) * -1 - del tmp107 - tmp108 = einsum(tmp32, (0, 1), r3, (2, 3, 4, 5, 1), (2, 3, 4, 0, 5)) * -1 - del tmp32 - tmp109 = einsum(t1, (0, 1), tmp108, (2, 3, 4, 0, 5), (3, 4, 2, 1, 5)) * -1 - del tmp108 - tmp112 += np.transpose(tmp109, (1, 2, 0, 4, 3)) - del tmp109 - tmp110 = np.copy(ints.tmp132) - del ints.tmp132 - tmp110 += ints.tmp176 - del ints.tmp176 - tmp111 = einsum(r1, (0,), tmp110, (1, 2, 3, 0, 4, 5), (1, 2, 3, 4, 5)) * 0.5 - del tmp110 - tmp112 += tmp111 * -1 - del tmp111 - r3new += np.transpose(tmp112, (1, 2, 0, 3, 4)) * -1 - r3new += np.transpose(tmp112, (1, 2, 0, 4, 3)) - del tmp112 - tmp113 = einsum(r3, (0, 1, 2, 3, 4), ints.tmp26, (5, 4), (0, 1, 2, 5, 3)) - del ints.tmp26 - r3new += np.transpose(tmp113, (1, 2, 0, 3, 4)) - r3new += np.transpose(tmp113, (1, 2, 0, 4, 3)) * -1 - del tmp113 - tmp114 = einsum(r1, (0,), ints.tmp143, (1, 2, 0, 3, 4, 5), (1, 2, 3, 4, 5)) - del ints.tmp143 - tmp116 = np.copy(tmp114) - del tmp114 - tmp115 = einsum(t2, (0, 1, 2, 3), tmp16, (4, 1, 5), (4, 0, 5, 2, 3)) * -1 - del tmp16 - tmp116 += np.transpose(tmp115, (0, 1, 2, 4, 3)) - del tmp115 - r3new += np.transpose(tmp116, (0, 1, 2, 4, 3)) - r3new += np.transpose(tmp116, (0, 2, 1, 4, 3)) * -1 - r3new += np.transpose(tmp116, (1, 0, 2, 4, 3)) * -1 - r3new += np.transpose(tmp116, (2, 0, 1, 4, 3)) - r3new += np.transpose(tmp116, (1, 2, 0, 4, 3)) - r3new += np.transpose(tmp116, (2, 1, 0, 4, 3)) * -1 - del tmp116 - tmp117 = einsum(r2, (0, 1, 2), v.ooov, (3, 4, 1, 5), (0, 3, 4, 2, 5)) - tmp123 = np.copy(np.transpose(tmp117, (0, 2, 1, 3, 4))) * -1 - del tmp117 - tmp118 = einsum(r2, (0, 1, 2), v.oooo, (3, 4, 5, 1), (0, 3, 4, 5, 2)) - tmp119 = einsum(t1, (0, 1), tmp118, (2, 3, 4, 0, 5), (2, 3, 4, 5, 1)) * -1 - del tmp118 - tmp123 += np.transpose(tmp119, (0, 2, 1, 3, 4)) - del tmp119 - tmp120 = einsum(tmp12, (0, 1, 2), t2, (3, 4, 5, 2), (0, 3, 4, 5, 1)) * -1 - del tmp12 - tmp123 += np.transpose(tmp120, (0, 2, 1, 3, 4)) - del tmp120 - tmp121 = np.copy(ints.tmp152) - del ints.tmp152 - tmp121 += ints.tmp217 - del ints.tmp217 - tmp122 = einsum(r1, (0,), tmp121, (1, 2, 3, 0, 4, 5), (1, 2, 3, 4, 5)) - del tmp121 - tmp123 += tmp122 - del tmp122 - r3new += np.transpose(tmp123, (0, 2, 1, 3, 4)) - r3new += np.transpose(tmp123, (0, 2, 1, 4, 3)) * -1 - r3new += np.transpose(tmp123, (2, 0, 1, 3, 4)) * -1 - r3new += np.transpose(tmp123, (2, 0, 1, 4, 3)) - r3new += np.transpose(tmp123, (2, 1, 0, 3, 4)) - r3new += np.transpose(tmp123, (2, 1, 0, 4, 3)) * -1 - del tmp123 - tmp124 = einsum(ints.tmp53, (0, 1, 2, 3), r2, (4, 1, 5), (0, 2, 3, 4, 5)) - del ints.tmp53 - tmp125 = einsum(t1, (0, 1), tmp124, (2, 0, 3, 4, 5), (2, 3, 4, 5, 1)) - del tmp124 - tmp128 = np.copy(tmp125) - del tmp125 - tmp126 = np.copy(ints.tmp19) - del ints.tmp19 - tmp126 += ints.tmp34 - del ints.tmp34 - tmp127 = einsum(r2, (0, 1, 2), tmp126, (3, 1, 4, 5), (0, 3, 4, 2, 5)) * -1 - del tmp126 - tmp128 += np.transpose(tmp127, (1, 2, 0, 4, 3)) * -1 - del tmp127 - r3new += tmp128 * -1 - r3new += np.transpose(tmp128, (0, 1, 2, 4, 3)) - r3new += np.transpose(tmp128, (0, 2, 1, 3, 4)) - r3new += np.transpose(tmp128, (0, 2, 1, 4, 3)) * -1 - r3new += np.transpose(tmp128, (1, 0, 2, 3, 4)) - r3new += np.transpose(tmp128, (1, 0, 2, 4, 3)) * -1 - r3new += np.transpose(tmp128, (2, 0, 1, 3, 4)) * -1 - r3new += np.transpose(tmp128, (2, 0, 1, 4, 3)) - r3new += np.transpose(tmp128, (1, 2, 0, 3, 4)) * -1 - r3new += np.transpose(tmp128, (1, 2, 0, 4, 3)) - r3new += np.transpose(tmp128, (2, 1, 0, 3, 4)) - r3new += np.transpose(tmp128, (2, 1, 0, 4, 3)) * -1 - del tmp128 - tmp129 = einsum(ints.tmp48, (0, 1, 2, 3), r2, (4, 2, 5), (0, 1, 4, 3, 5)) - del ints.tmp48 - r3new += tmp129 - r3new += np.transpose(tmp129, (0, 1, 2, 4, 3)) * -1 - r3new += np.transpose(tmp129, (0, 2, 1, 3, 4)) * -1 - r3new += np.transpose(tmp129, (0, 2, 1, 4, 3)) - r3new += np.transpose(tmp129, (1, 0, 2, 3, 4)) * -1 - r3new += np.transpose(tmp129, (1, 0, 2, 4, 3)) - r3new += np.transpose(tmp129, (2, 0, 1, 3, 4)) - r3new += np.transpose(tmp129, (2, 0, 1, 4, 3)) * -1 - r3new += np.transpose(tmp129, (1, 2, 0, 3, 4)) - r3new += np.transpose(tmp129, (1, 2, 0, 4, 3)) * -1 - r3new += np.transpose(tmp129, (2, 1, 0, 3, 4)) * -1 - r3new += np.transpose(tmp129, (2, 1, 0, 4, 3)) - del tmp129 - tmp130 = np.copy(ints.tmp171) - del ints.tmp171 - tmp130 += np.transpose(ints.tmp79, (1, 2, 3, 0, 4, 5)) * -1 - del ints.tmp79 - r3new += einsum(r1, (0,), tmp130, (1, 2, 3, 0, 4, 5), (2, 3, 1, 5, 4)) * -1 - del tmp130 - tmp134 = np.copy(ints.tmp105) * 0.5 - del ints.tmp105 - tmp134 += ints.tmp111 * 0.5 - del ints.tmp111 - tmp134 += ints.tmp170 - del ints.tmp170 - tmp134 += ints.tmp178 - del ints.tmp178 - tmp134 += ints.tmp181 - del ints.tmp181 - tmp134 += ints.tmp201 * 0.25 - del ints.tmp201 - tmp134 += ints.tmp211 * 0.5 - del ints.tmp211 - tmp134 += ints.tmp219 * 0.5 - del ints.tmp219 - tmp134 += ints.tmp228 - del ints.tmp228 - tmp134 += ints.tmp78 - del ints.tmp78 - tmp134 += v.oovv - tmp131 = np.copy(ints.tmp145) - del ints.tmp145 - tmp131 += ints.tmp150 - del ints.tmp150 - tmp131 += ints.tmp179 - del ints.tmp179 - tmp131 += ints.tmp108 * -1 - del ints.tmp108 - tmp131 += ints.tmp214 * -1 - del ints.tmp214 - tmp134 += tmp131 - tmp134 += np.transpose(tmp131, (0, 1, 3, 2)) * -1 - tmp134 += np.transpose(tmp131, (1, 0, 2, 3)) * -1 - tmp134 += np.transpose(tmp131, (1, 0, 3, 2)) - tmp132 = np.copy(ints.tmp128) * 0.5 - del ints.tmp128 - tmp132 += ints.tmp142 * 0.5 - del ints.tmp142 - tmp132 += ints.tmp200 * 0.5 - del ints.tmp200 - tmp132 += ints.tmp208 - del ints.tmp208 - tmp132 += ints.tmp220 - del ints.tmp220 - tmp132 += ints.tmp87 - del ints.tmp87 - tmp132 += ints.tmp141 * -1 - del ints.tmp141 - tmp132 += ints.tmp172 * -0.5 - del ints.tmp172 - tmp132 += ints.tmp74 * -1 - del ints.tmp74 - tmp132 += ints.tmp80 * -1 - del ints.tmp80 - tmp134 += tmp132 * -1 - tmp134 += np.transpose(tmp132, (1, 0, 2, 3)) - tmp133 = np.copy(ints.tmp131) * 0.5 - tmp133 += ints.tmp154 * 0.5 - tmp133 += ints.tmp204 * 0.5 - del ints.tmp204 - tmp133 += ints.tmp209 - tmp133 += ints.tmp221 - tmp133 += ints.tmp75 - tmp133 += ints.tmp86 - tmp133 += ints.tmp149 * -1 - tmp133 += ints.tmp175 * -0.5 - tmp133 += ints.tmp205 * -1 - tmp133 += ints.tmp81 * -1 - tmp134 += tmp133 * -1 - tmp134 += np.transpose(tmp133, (0, 1, 3, 2)) - del tmp133 - r3new += einsum(r1, (0,), tmp134, (1, 2, 3, 4), (0, 2, 1, 4, 3)) - r3new += einsum(r1, (0,), tmp134, (1, 2, 3, 4), (2, 0, 1, 4, 3)) * -1 - del tmp134 - tmp136 = np.copy(v.oovv) - tmp136 += tmp131 - tmp136 += np.transpose(tmp131, (0, 1, 3, 2)) * -1 - tmp136 += np.transpose(tmp131, (1, 0, 2, 3)) * -1 - tmp136 += np.transpose(tmp131, (1, 0, 3, 2)) - del tmp131 - tmp136 += tmp132 * -1 - tmp136 += np.transpose(tmp132, (1, 0, 2, 3)) - del tmp132 - tmp135 = np.copy(ints.tmp131) * 0.5 - del ints.tmp131 - tmp135 += ints.tmp154 * 0.5 - del ints.tmp154 - tmp135 += ints.tmp209 - del ints.tmp209 - tmp135 += ints.tmp221 - del ints.tmp221 - tmp135 += ints.tmp75 - del ints.tmp75 - tmp135 += ints.tmp86 - del ints.tmp86 - tmp135 += ints.tmp149 * -1 - del ints.tmp149 - tmp135 += ints.tmp175 * -0.5 - del ints.tmp175 - tmp135 += ints.tmp205 * -1 - del ints.tmp205 - tmp135 += ints.tmp81 * -1 - del ints.tmp81 - tmp136 += tmp135 * -1 - tmp136 += np.transpose(tmp135, (0, 1, 3, 2)) - del tmp135 - r3new += einsum(r1, (0,), tmp136, (1, 2, 3, 4), (2, 1, 0, 4, 3)) - del tmp136 - r3new += einsum(tmp35, (0, 1), r2, (2, 3, 4), (2, 0, 3, 1, 4)) * -1 - r3new += einsum(tmp35, (0, 1), r2, (2, 3, 4), (0, 2, 3, 4, 1)) * -1 - r3new += einsum(tmp35, (0, 1), r2, (2, 3, 4), (2, 3, 0, 4, 1)) * -1 - r3new += einsum(tmp35, (0, 1), r2, (2, 3, 4), (0, 2, 3, 1, 4)) - r3new += einsum(tmp35, (0, 1), r2, (2, 3, 4), (2, 3, 0, 1, 4)) - r3new += einsum(r2, (0, 1, 2), tmp35, (3, 4), (0, 3, 1, 2, 4)) - del tmp35 - - return {f"r1new": r1new, f"r2new": r2new, f"r3new": r3new} - -def hbar_matvec_ea_intermediates(f=None, t1=None, t2=None, t3=None, v=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-10-22T10:31:50.466835. - - Parameters - ---------- - f : array - Fock matrix. - t1 : array - T1 amplitudes. - t2 : array - T2 amplitudes. - t3 : array - T3 amplitudes. - v : array - Electron repulsion integrals. - - Returns - ------- - tmp1 : array - tmp10 : array - tmp106 : array - tmp107 : array - tmp109 : array - tmp110 : array - tmp112 : array - tmp116 : array - tmp122 : array - tmp129 : array - tmp13 : array - tmp130 : array - tmp132 : array - tmp133 : array - tmp135 : array - tmp138 : array - tmp14 : array - tmp141 : array - tmp142 : array - tmp143 : array - tmp146 : array - tmp147 : array - tmp149 : array - tmp150 : array - tmp153 : array - tmp156 : array - tmp169 : array - tmp17 : array - tmp170 : array - tmp172 : array - tmp174 : array - tmp178 : array - tmp179 : array - tmp180 : array - tmp181 : array - tmp187 : array - tmp20 : array - tmp201 : array - tmp202 : array - tmp203 : array - tmp204 : array - tmp206 : array - tmp208 : array - tmp209 : array - tmp21 : array - tmp210 : array - tmp211 : array - tmp215 : array - tmp216 : array - tmp221 : array - tmp222 : array - tmp223 : array - tmp231 : array - tmp33 : array - tmp34 : array - tmp35 : array - tmp36 : array - tmp38 : array - tmp4 : array - tmp40 : array - tmp43 : array - tmp44 : array - tmp45 : array - tmp46 : array - tmp47 : array - tmp48 : array - tmp49 : array - tmp5 : array - tmp52 : array - tmp55 : array - tmp56 : array - tmp59 : array - tmp65 : array - tmp66 : array - tmp74 : array - tmp75 : array - tmp76 : array - tmp79 : array - tmp8 : array - tmp80 : array - tmp81 : array - tmp86 : array - tmp87 : array - tmp9 : array - tmp90 : array - """ - - tmp8 = einsum(f.oo, (0, 1), t1, (1, 2), (0, 2)) - tmp13 = einsum(t2, (0, 1, 2, 3), f.ov, (1, 3), (0, 2)) - tmp43 = einsum(t3, (0, 1, 2, 3, 4, 5), v.oovv, (1, 2, 4, 5), (0, 3)) - tmp9 = einsum(t1, (0, 1), f.vv, (2, 1), (0, 2)) - tmp17 = einsum(v.ovov, (0, 1, 2, 3), t1, (2, 1), (0, 3)) - tmp33 = einsum(v.ovoo, (0, 1, 2, 3), t2, (2, 3, 4, 1), (0, 4)) - tmp35 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 0, 2, 3), (4, 1)) - tmp106 = einsum(t2, (0, 1, 2, 3), v.oooo, (4, 5, 0, 1), (4, 5, 2, 3)) - tmp109 = einsum(v.vvvv, (0, 1, 2, 3), t2, (4, 5, 2, 3), (4, 5, 0, 1)) - tmp21 = einsum(t1, (0, 1), v.ooov, (2, 0, 3, 1), (2, 3)) - tmp52 = einsum(t1, (0, 1), tmp21, (0, 2), (2, 1)) - tmp74 = einsum(t2, (0, 1, 2, 3), f.oo, (4, 1), (4, 0, 2, 3)) - tmp75 = einsum(t2, (0, 1, 2, 3), f.vv, (4, 3), (0, 1, 4, 2)) - tmp79 = einsum(t3, (0, 1, 2, 3, 4, 5), f.ov, (2, 5), (0, 1, 3, 4)) - tmp86 = einsum(t1, (0, 1), v.ooov, (2, 3, 0, 4), (2, 3, 1, 4)) - tmp87 = einsum(t1, (0, 1), v.ovvv, (2, 1, 3, 4), (0, 2, 3, 4)) - tmp107 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 2, 5, 1), (4, 0, 5, 3)) - tmp110 = einsum(v.vvvv, (0, 1, 2, 3), t2, (4, 5, 6, 3), (4, 5, 6, 0, 1, 2)) - tmp129 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovoo, (6, 5, 1, 2), (0, 6, 3, 4)) - tmp130 = einsum(v.ovoo, (0, 1, 2, 3), t3, (4, 2, 3, 5, 6, 7), (4, 0, 5, 6, 7, 1)) - tmp132 = einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 0, 6, 2, 3), (4, 5, 6, 1)) - tmp133 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovvv, (2, 6, 7, 5), (0, 1, 3, 4, 6, 7)) - tmp150 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 5, 6, 3), (4, 5, 0, 6, 1, 2)) - tmp216 = einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 6, 3), (0, 1, 4, 5, 2, 6)) - tmp10 = einsum(t1, (0, 1), f.ov, (2, 1), (2, 0)) - tmp14 = einsum(tmp10, (0, 1), t1, (0, 2), (1, 2)) - tmp1 = einsum(v.ovvv, (0, 1, 2, 3), t1, (0, 3), (1, 2)) - tmp55 = einsum(t1, (0, 1), tmp1, (2, 1), (0, 2)) - tmp141 = einsum(t2, (0, 1, 2, 3), tmp21, (1, 4), (0, 4, 2, 3)) * -1 - tmp177 = einsum(t1, (0, 1), v.oooo, (2, 3, 4, 0), (2, 3, 4, 1)) - tmp178 = einsum(t1, (0, 1), tmp177, (2, 3, 0, 4), (2, 3, 4, 1)) * -1 - del tmp177 - tmp90 = einsum(v.ovov, (0, 1, 2, 3), t1, (4, 3), (4, 0, 2, 1)) - tmp179 = einsum(t1, (0, 1), tmp90, (2, 0, 3, 4), (2, 3, 1, 4)) - tmp20 = einsum(v.vvvv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) - tmp180 = einsum(t1, (0, 1), tmp20, (2, 3, 4, 1), (2, 0, 3, 4)) * -1 - tmp38 = einsum(v.oovv, (0, 1, 2, 3), t2, (4, 1, 2, 3), (4, 0)) - tmp201 = einsum(t2, (0, 1, 2, 3), tmp38, (4, 1), (0, 4, 2, 3)) - tmp122 = einsum(v.oovv, (0, 1, 2, 3), t2, (4, 5, 2, 3), (4, 5, 0, 1)) - tmp202 = einsum(t2, (0, 1, 2, 3), tmp122, (4, 5, 1, 0), (4, 5, 2, 3)) * -1 - tmp4 = einsum(t2, (0, 1, 2, 3), v.oovv, (0, 1, 4, 3), (2, 4)) - tmp203 = einsum(t2, (0, 1, 2, 3), tmp4, (4, 3), (0, 1, 2, 4)) - tmp40 = einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 3), (0, 4, 2, 5)) - tmp204 = einsum(t2, (0, 1, 2, 3), tmp40, (4, 1, 5, 3), (4, 0, 5, 2)) - tmp47 = einsum(v.oovv, (0, 1, 2, 3), t2, (0, 1, 4, 5), (4, 5, 2, 3)) - tmp206 = einsum(tmp47, (0, 1, 2, 3), t2, (4, 5, 6, 2), (4, 5, 0, 1, 6, 3)) * -1 - tmp45 = einsum(t1, (0, 1), tmp40, (2, 0, 3, 1), (2, 3)) - tmp46 = einsum(t1, (0, 1), tmp4, (2, 1), (0, 2)) - tmp49 = einsum(t1, (0, 1), tmp38, (2, 0), (2, 1)) - tmp5 = einsum(t1, (0, 1), v.oovv, (2, 0, 3, 1), (2, 3)) - tmp59 = einsum(tmp5, (0, 1), t1, (2, 1), (2, 0)) - tmp65 = einsum(tmp59, (0, 1), t1, (1, 2), (0, 2)) - tmp80 = einsum(t2, (0, 1, 2, 3), tmp10, (1, 4), (4, 0, 2, 3)) - tmp76 = einsum(t2, (0, 1, 2, 3), f.ov, (4, 3), (4, 0, 1, 2)) - tmp81 = einsum(t1, (0, 1), tmp76, (0, 2, 3, 4), (2, 3, 1, 4)) - tmp34 = einsum(v.ovoo, (0, 1, 2, 3), t2, (2, 3, 4, 5), (0, 4, 5, 1)) - tmp142 = einsum(t1, (0, 1), tmp34, (2, 3, 4, 1), (0, 2, 3, 4)) - tmp112 = einsum(v.ooov, (0, 1, 2, 3), t2, (4, 1, 5, 3), (4, 0, 2, 5)) - tmp143 = einsum(t1, (0, 1), tmp112, (2, 0, 3, 4), (2, 3, 1, 4)) - tmp146 = einsum(t2, (0, 1, 2, 3), tmp1, (4, 3), (0, 1, 2, 4)) * -1 - tmp36 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 3), (0, 2, 4, 5)) - tmp147 = einsum(tmp36, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) - tmp116 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 5, 2, 3), (4, 5, 0, 1)) - tmp149 = einsum(t1, (0, 1), tmp116, (2, 3, 0, 4), (2, 3, 1, 4)) - tmp138 = einsum(t3, (0, 1, 2, 3, 4, 5), v.oovv, (6, 2, 7, 5), (0, 1, 6, 3, 4, 7)) - tmp169 = einsum(tmp138, (0, 1, 2, 3, 4, 5), t1, (2, 5), (0, 1, 3, 4)) - tmp44 = einsum(v.oovv, (0, 1, 2, 3), t3, (4, 0, 1, 5, 6, 3), (4, 5, 6, 2)) - tmp170 = einsum(tmp44, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) - tmp171 = einsum(t3, (0, 1, 2, 3, 4, 5), v.oovv, (1, 2, 6, 7), (0, 3, 4, 5, 6, 7)) - tmp172 = einsum(tmp171, (0, 1, 2, 3, 4, 5), t1, (6, 4), (6, 0, 1, 2, 3, 5)) * -1 - del tmp171 - tmp135 = einsum(t3, (0, 1, 2, 3, 4, 5), v.oovv, (6, 2, 4, 5), (0, 1, 6, 3)) - tmp174 = einsum(t1, (0, 1), tmp135, (2, 3, 0, 4), (2, 3, 1, 4)) - tmp181 = einsum(v.ooov, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) - tmp220 = einsum(t1, (0, 1), tmp181, (2, 0, 3, 4), (2, 3, 4, 1)) * -1 - tmp221 = einsum(tmp220, (0, 1, 2, 3), t1, (1, 4), (0, 2, 3, 4)) * -1 - del tmp220 - tmp56 = einsum(t1, (0, 1), v.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) - tmp187 = einsum(tmp56, (0, 1, 2, 3), t1, (4, 3), (0, 4, 1, 2)) * -1 - tmp222 = einsum(t1, (0, 1), tmp187, (2, 3, 0, 4), (2, 3, 1, 4)) - tmp208 = einsum(tmp59, (0, 1), t2, (2, 1, 3, 4), (0, 2, 3, 4)) * -1 - tmp153 = einsum(t2, (0, 1, 2, 3), tmp5, (4, 3), (0, 1, 4, 2)) * -1 - tmp209 = einsum(t1, (0, 1), tmp153, (2, 3, 0, 4), (2, 3, 1, 4)) - tmp48 = einsum(tmp47, (0, 1, 2, 3), t1, (4, 2), (4, 0, 1, 3)) * -1 - tmp210 = einsum(tmp48, (0, 1, 2, 3), t1, (4, 3), (0, 4, 1, 2)) * -1 - tmp156 = einsum(t1, (0, 1), tmp40, (2, 3, 4, 1), (0, 2, 3, 4)) - tmp211 = einsum(t1, (0, 1), tmp156, (2, 3, 0, 4), (2, 3, 1, 4)) - tmp214 = einsum(t1, (0, 1), tmp122, (2, 3, 0, 4), (2, 3, 4, 1)) * -1 - tmp215 = einsum(tmp214, (0, 1, 2, 3), t1, (2, 4), (0, 1, 3, 4)) * -1 - del tmp214 - tmp66 = einsum(t1, (0, 1), v.oovv, (2, 3, 4, 1), (0, 2, 3, 4)) - tmp223 = einsum(tmp66, (0, 1, 2, 3), t1, (4, 3), (0, 4, 1, 2)) * -1 - tmp230 = einsum(t1, (0, 1), tmp223, (2, 3, 0, 4), (2, 3, 4, 1)) * -1 - tmp231 = einsum(t1, (0, 1), tmp230, (2, 3, 0, 4), (2, 3, 4, 1)) * -1 - del tmp230 - - return {f"tmp1": tmp1, f"tmp10": tmp10, f"tmp106": tmp106, f"tmp107": tmp107, f"tmp109": tmp109, f"tmp110": tmp110, f"tmp112": tmp112, f"tmp116": tmp116, f"tmp122": tmp122, f"tmp129": tmp129, f"tmp13": tmp13, f"tmp130": tmp130, f"tmp132": tmp132, f"tmp133": tmp133, f"tmp135": tmp135, f"tmp138": tmp138, f"tmp14": tmp14, f"tmp141": tmp141, f"tmp142": tmp142, f"tmp143": tmp143, f"tmp146": tmp146, f"tmp147": tmp147, f"tmp149": tmp149, f"tmp150": tmp150, f"tmp153": tmp153, f"tmp156": tmp156, f"tmp169": tmp169, f"tmp17": tmp17, f"tmp170": tmp170, f"tmp172": tmp172, f"tmp174": tmp174, f"tmp178": tmp178, f"tmp179": tmp179, f"tmp180": tmp180, f"tmp181": tmp181, f"tmp187": tmp187, f"tmp20": tmp20, f"tmp201": tmp201, f"tmp202": tmp202, f"tmp203": tmp203, f"tmp204": tmp204, f"tmp206": tmp206, f"tmp208": tmp208, f"tmp209": tmp209, f"tmp21": tmp21, f"tmp210": tmp210, f"tmp211": tmp211, f"tmp215": tmp215, f"tmp216": tmp216, f"tmp221": tmp221, f"tmp222": tmp222, f"tmp223": tmp223, f"tmp231": tmp231, f"tmp33": tmp33, f"tmp34": tmp34, f"tmp35": tmp35, f"tmp36": tmp36, f"tmp38": tmp38, f"tmp4": tmp4, f"tmp40": tmp40, f"tmp43": tmp43, f"tmp44": tmp44, f"tmp45": tmp45, f"tmp46": tmp46, f"tmp47": tmp47, f"tmp48": tmp48, f"tmp49": tmp49, f"tmp5": tmp5, f"tmp52": tmp52, f"tmp55": tmp55, f"tmp56": tmp56, f"tmp59": tmp59, f"tmp65": tmp65, f"tmp66": tmp66, f"tmp74": tmp74, f"tmp75": tmp75, f"tmp76": tmp76, f"tmp79": tmp79, f"tmp8": tmp8, f"tmp80": tmp80, f"tmp81": tmp81, f"tmp86": tmp86, f"tmp87": tmp87, f"tmp9": tmp9, f"tmp90": tmp90} - -def hbar_matvec_ea(f=None, r1=None, r2=None, r3=None, t1=None, t2=None, t3=None, v=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-10-22T10:31:50.792123. - - Parameters - ---------- - f : array - Fock matrix. - r1 : array - R1 amplitudes. - r2 : array - R2 amplitudes. - r3 : array - R3 amplitudes. - t1 : array - T1 amplitudes. - t2 : array - T2 amplitudes. - t3 : array - T3 amplitudes. - v : array - Electron repulsion integrals. - - Returns - ------- - r1new : array - Updated R1 residuals. - r2new : array - Updated R2 residuals. - r3new : array - Updated R3 residuals. - """ - - ints = kwargs["ints"] - r1new = einsum(f.ov, (0, 1), r2, (2, 1, 0), (2,)) - r1new += einsum(v.ovvv, (0, 1, 2, 3), r2, (2, 3, 0), (1,)) * -0.5 - r1new += einsum(r3, (0, 1, 2, 3, 4), v.oovv, (3, 4, 1, 2), (0,)) * 0.25 - tmp0 = einsum(v.oovv, (0, 1, 2, 3), r2, (4, 3, 1), (0, 4, 2)) - r1new += einsum(t1, (0, 1), tmp0, (0, 2, 1), (2,)) - tmp1 = np.copy(np.transpose(ints.tmp1, (1, 0))) - tmp1 += np.transpose(ints.tmp4, (1, 0)) * 0.5 - tmp1 += f.vv * -1 - r1new += einsum(r1, (0,), tmp1, (0, 1), (1,)) * -1 - del tmp1 - tmp2 = einsum(r2, (0, 1, 2), v.oovv, (3, 2, 0, 1), (3,)) - tmp5 = np.copy(tmp2) * 0.5 - del tmp2 - tmp3 = np.copy(f.ov) - tmp3 += ints.tmp5 - del ints.tmp5 - tmp4 = einsum(r1, (0,), tmp3, (1, 0), (1,)) - tmp5 += tmp4 - del tmp4 - r1new += einsum(tmp5, (0,), t1, (0, 1), (1,)) * -1 - tmp6 = einsum(r2, (0, 1, 2), v.oovv, (3, 4, 0, 1), (2, 3, 4)) - r2new = einsum(t2, (0, 1, 2, 3), tmp6, (4, 1, 0), (2, 3, 4)) * -0.25 - tmp7 = einsum(v.oovv, (0, 1, 2, 3), r3, (4, 5, 3, 0, 1), (4, 5, 2)) - r2new += einsum(tmp7, (0, 1, 2), t1, (3, 2), (1, 0, 3)) * 0.5 - tmp8 = einsum(v.oovv, (0, 1, 2, 3), r3, (4, 5, 3, 6, 1), (6, 0, 4, 5, 2)) - r2new += einsum(t1, (0, 1), tmp8, (2, 0, 3, 4, 1), (4, 3, 2)) * -1 - r2new += einsum(v.ovoo, (0, 1, 2, 3), r3, (4, 5, 1, 2, 3), (4, 5, 0)) * -0.5 - tmp9 = einsum(r1, (0,), ints.tmp66, (1, 2, 3, 0), (1, 2, 3)) - del ints.tmp66 - tmp10 = einsum(t1, (0, 1), tmp9, (2, 3, 0), (2, 3, 1)) - r2new += einsum(t1, (0, 1), tmp10, (2, 0, 3), (3, 1, 2)) * -1 - del tmp10 - r2new += einsum(f.ov, (0, 1), r3, (2, 3, 1, 4, 0), (2, 3, 4)) - r2new += einsum(v.vvvv, (0, 1, 2, 3), r2, (2, 3, 4), (0, 1, 4)) * 0.5 - tmp11 = einsum(r2, (0, 1, 2), ints.tmp40, (3, 2, 4, 1), (3, 4, 0)) - tmp30 = np.copy(tmp11) - del tmp11 - tmp12 = einsum(v.ovov, (0, 1, 2, 3), r2, (4, 1, 2), (0, 4, 3)) - tmp30 += tmp12 - del tmp12 - tmp13 = einsum(r3, (0, 1, 2, 3, 4), v.ovvv, (4, 5, 1, 2), (3, 0, 5)) - tmp30 += tmp13 * 0.5 - del tmp13 - tmp14 = einsum(r2, (0, 1, 2), v.ovvv, (2, 3, 4, 1), (0, 3, 4)) - tmp15 = einsum(tmp14, (0, 1, 2), t1, (3, 2), (3, 0, 1)) * -1 - tmp30 += tmp15 * -1 - del tmp15 - tmp16 = einsum(r2, (0, 1, 2), v.ooov, (3, 2, 4, 1), (3, 4, 0)) - tmp22 = np.copy(tmp16) - tmp17 = einsum(r3, (0, 1, 2, 3, 4), v.oovv, (5, 4, 1, 2), (3, 5, 0)) - tmp22 += np.transpose(tmp17, (1, 0, 2)) * 0.5 - tmp18 = einsum(t1, (0, 1), tmp0, (2, 3, 1), (0, 2, 3)) * -1 - tmp22 += np.transpose(tmp18, (1, 0, 2)) * -1 - tmp19 = einsum(r2, (0, 1, 2), tmp3, (3, 1), (2, 3, 0)) * -1 - tmp22 += np.transpose(tmp19, (1, 0, 2)) * -1 - tmp20 = np.copy(ints.tmp40) - tmp20 += ints.tmp56 - del ints.tmp56 - tmp21 = einsum(tmp20, (0, 1, 2, 3), r1, (3,), (0, 1, 2)) - del tmp20 - tmp22 += np.transpose(tmp21, (1, 0, 2)) * -1 - tmp23 = einsum(tmp22, (0, 1, 2), t1, (0, 3), (1, 3, 2)) - del tmp22 - tmp30 += np.transpose(tmp23, (0, 2, 1)) - del tmp23 - tmp24 = np.copy(f.vv) * 2 - tmp24 += np.transpose(ints.tmp4, (1, 0)) * -1 - tmp25 = einsum(r2, (0, 1, 2), tmp24, (1, 3), (2, 0, 3)) * -0.5 - del tmp24 - tmp30 += np.transpose(tmp25, (0, 2, 1)) * -1 - del tmp25 - tmp26 = einsum(v.ovov, (0, 1, 2, 3), r1, (3,), (0, 2, 1)) - tmp28 = np.copy(tmp26) - tmp27 = einsum(v.ovvv, (0, 1, 2, 3), r2, (2, 3, 4), (4, 0, 1)) - tmp28 += np.transpose(tmp27, (1, 0, 2)) * -0.5 - tmp29 = einsum(t1, (0, 1), tmp28, (0, 2, 3), (2, 1, 3)) - del tmp28 - tmp30 += tmp29 * -1 - del tmp29 - r2new += np.transpose(tmp30, (1, 2, 0)) * -1 - r2new += np.transpose(tmp30, (2, 1, 0)) - del tmp30 - tmp31 = einsum(ints.tmp1, (0, 1), r2, (2, 1, 3), (3, 0, 2)) - tmp33 = np.copy(tmp31) - del tmp31 - tmp32 = einsum(ints.tmp36, (0, 1, 2, 3), r1, (3,), (0, 1, 2)) - tmp33 += tmp32 - del tmp32 - r2new += np.transpose(tmp33, (1, 2, 0)) - r2new += np.transpose(tmp33, (2, 1, 0)) * -1 - del tmp33 - tmp34 = np.copy(ints.tmp20) - del ints.tmp20 - tmp34 += ints.tmp44 * 0.5 - tmp34 += ints.tmp48 * 0.5 - del ints.tmp48 - tmp34 += ints.tmp34 * -0.5 - tmp34 += np.transpose(v.ovvv, (0, 2, 3, 1)) * -1 - r2new += einsum(tmp34, (0, 1, 2, 3), r1, (3,), (2, 1, 0)) * -1 - del tmp34 - tmp35 = np.copy(f.oo) - tmp35 += ints.tmp10 - tmp35 += ints.tmp21 - tmp35 += np.transpose(ints.tmp38, (1, 0)) * 0.5 - tmp35 += np.transpose(ints.tmp59, (1, 0)) - r2new += einsum(tmp35, (0, 1), r2, (2, 3, 0), (2, 3, 1)) * -1 - del tmp35 - r2new += einsum(t2, (0, 1, 2, 3), tmp5, (1,), (2, 3, 0)) - tmp36 = einsum(r1, (0,), v.ooov, (1, 2, 3, 0), (1, 2, 3)) - tmp37 = np.copy(np.transpose(tmp36, (1, 0, 2))) * -2 - tmp37 += np.transpose(tmp6, (2, 1, 0)) - tmp38 = einsum(t1, (0, 1), tmp37, (0, 2, 3), (2, 3, 1)) * -1 - del tmp37 - r2new += einsum(t1, (0, 1), tmp38, (0, 2, 3), (1, 3, 2)) * -0.5 - del tmp38 - tmp39 = np.copy(ints.tmp14) - del ints.tmp14 - tmp39 += ints.tmp17 - del ints.tmp17 - tmp39 += ints.tmp33 * 0.5 - del ints.tmp33 - tmp39 += ints.tmp35 * 0.5 - del ints.tmp35 - tmp39 += ints.tmp46 * 0.5 - del ints.tmp46 - tmp39 += ints.tmp49 * 0.5 - del ints.tmp49 - tmp39 += ints.tmp52 - del ints.tmp52 - tmp39 += ints.tmp55 - del ints.tmp55 - tmp39 += ints.tmp65 - del ints.tmp65 - tmp39 += ints.tmp8 - del ints.tmp8 - tmp39 += f.ov * -1 - tmp39 += ints.tmp13 * -1 - del ints.tmp13 - tmp39 += ints.tmp43 * -0.25 - del ints.tmp43 - tmp39 += ints.tmp45 * -1 - del ints.tmp45 - tmp39 += ints.tmp9 * -1 - del ints.tmp9 - r2new += einsum(r1, (0,), tmp39, (1, 2), (0, 2, 1)) * -1 - r2new += einsum(tmp39, (0, 1), r1, (2,), (1, 2, 0)) - tmp40 = einsum(r3, (0, 1, 2, 3, 4), v.oovv, (3, 4, 5, 6), (0, 1, 2, 5, 6)) - tmp41 = einsum(tmp40, (0, 1, 2, 3, 4), t1, (5, 3), (5, 0, 1, 2, 4)) * -1 - del tmp40 - r3new = einsum(tmp41, (0, 1, 2, 3, 4), t1, (5, 4), (2, 3, 1, 5, 0)) * 0.5 - del tmp41 - tmp42 = einsum(r3, (0, 1, 2, 3, 4), v.ovov, (5, 2, 4, 6), (3, 5, 0, 1, 6)) - tmp50 = np.copy(np.transpose(tmp42, (0, 1, 3, 2, 4))) - del tmp42 - tmp43 = einsum(t2, (0, 1, 2, 3), tmp26, (1, 4, 5), (0, 4, 2, 3, 5)) - del tmp26 - tmp50 += np.transpose(tmp43, (0, 1, 3, 2, 4)) - del tmp43 - tmp44 = einsum(ints.tmp47, (0, 1, 2, 3), r2, (4, 2, 5), (5, 0, 1, 3, 4)) - del ints.tmp47 - tmp45 = einsum(t1, (0, 1), tmp44, (2, 3, 4, 1, 5), (2, 0, 3, 4, 5)) - del tmp44 - tmp50 += tmp45 * 0.5 - del tmp45 - tmp46 = einsum(t2, (0, 1, 2, 3), tmp27, (4, 1, 5), (4, 0, 2, 3, 5)) - del tmp27 - tmp50 += np.transpose(tmp46, (0, 1, 3, 2, 4)) * 0.5 - del tmp46 - tmp47 = einsum(t2, (0, 1, 2, 3), tmp8, (4, 1, 5, 6, 3), (4, 0, 5, 6, 2)) - tmp50 += np.transpose(tmp47, (0, 1, 3, 2, 4)) * -1 - del tmp47 - tmp48 = np.copy(ints.tmp34) - del ints.tmp34 - tmp48 += ints.tmp44 * -1 - del ints.tmp44 - tmp49 = einsum(tmp48, (0, 1, 2, 3), r2, (4, 3, 5), (5, 0, 4, 1, 2)) * -0.5 - del tmp48 - tmp50 += np.transpose(tmp49, (1, 0, 3, 4, 2)) * -1 - del tmp49 - r3new += np.transpose(tmp50, (3, 2, 4, 0, 1)) * -1 - r3new += np.transpose(tmp50, (3, 4, 2, 0, 1)) - r3new += np.transpose(tmp50, (4, 3, 2, 0, 1)) * -1 - r3new += np.transpose(tmp50, (3, 2, 4, 1, 0)) - r3new += np.transpose(tmp50, (3, 4, 2, 1, 0)) * -1 - r3new += np.transpose(tmp50, (4, 3, 2, 1, 0)) - del tmp50 - tmp51 = einsum(tmp6, (0, 1, 2), t3, (3, 2, 1, 4, 5, 6), (0, 3, 4, 5, 6)) * -1 - r3new += np.transpose(tmp51, (2, 3, 4, 0, 1)) * 0.25 - r3new += np.transpose(tmp51, (2, 3, 4, 1, 0)) * -0.25 - del tmp51 - tmp52 = einsum(r1, (0,), ints.tmp110, (1, 2, 3, 4, 5, 0), (1, 2, 3, 4, 5)) - del ints.tmp110 - tmp65 = np.copy(np.transpose(tmp52, (0, 1, 2, 4, 3))) * -1 - del tmp52 - tmp53 = einsum(v.vvvv, (0, 1, 2, 3), r3, (4, 2, 3, 5, 6), (5, 6, 4, 0, 1)) - tmp65 += np.transpose(tmp53, (1, 0, 2, 4, 3)) * -0.5 - del tmp53 - tmp54 = einsum(ints.tmp216, (0, 1, 2, 3, 4, 5), r1, (5,), (0, 1, 2, 3, 4)) - del ints.tmp216 - tmp55 = einsum(t1, (0, 1), tmp54, (2, 3, 4, 0, 5), (2, 3, 4, 5, 1)) - del tmp54 - tmp56 = einsum(t1, (0, 1), tmp55, (2, 3, 0, 4, 5), (2, 3, 4, 1, 5)) - del tmp55 - tmp65 += np.transpose(tmp56, (0, 1, 2, 4, 3)) * -1 - del tmp56 - tmp57 = einsum(r3, (0, 1, 2, 3, 4), v.oovv, (5, 6, 1, 2), (3, 4, 5, 6, 0)) - tmp58 = einsum(tmp57, (0, 1, 2, 3, 4), t2, (3, 2, 5, 6), (0, 1, 4, 5, 6)) * -1 - tmp65 += np.transpose(tmp58, (1, 0, 2, 4, 3)) * -0.25 - del tmp58 - tmp59 = einsum(t1, (0, 1), tmp57, (2, 3, 0, 4, 5), (2, 3, 4, 5, 1)) * -1 - del tmp57 - tmp60 = einsum(tmp59, (0, 1, 2, 3, 4), t1, (2, 5), (0, 1, 3, 4, 5)) * -1 - del tmp59 - tmp65 += np.transpose(tmp60, (1, 0, 2, 4, 3)) * -0.5 - del tmp60 - tmp61 = np.copy(ints.tmp1) * 2 - del ints.tmp1 - tmp61 += ints.tmp4 - del ints.tmp4 - tmp62 = einsum(r3, (0, 1, 2, 3, 4), tmp61, (5, 2), (3, 4, 0, 1, 5)) * 0.5 - del tmp61 - tmp65 += np.transpose(tmp62, (1, 0, 4, 2, 3)) * -1 - del tmp62 - tmp63 = np.copy(ints.tmp116) * 0.5 - del ints.tmp116 - tmp63 += ints.tmp153 - del ints.tmp153 - tmp63 += ints.tmp187 - del ints.tmp187 - tmp63 += ints.tmp135 * -0.5 - del ints.tmp135 - tmp64 = einsum(tmp63, (0, 1, 2, 3), r2, (4, 5, 2), (0, 1, 4, 5, 3)) - del tmp63 - tmp65 += np.transpose(tmp64, (0, 1, 4, 3, 2)) * -1 - del tmp64 - r3new += np.transpose(tmp65, (2, 3, 4, 1, 0)) - r3new += np.transpose(tmp65, (3, 2, 4, 1, 0)) * -1 - r3new += np.transpose(tmp65, (3, 4, 2, 1, 0)) - del tmp65 - tmp66 = einsum(v.ooov, (0, 1, 2, 3), r2, (4, 5, 2), (0, 1, 4, 5, 3)) - tmp77 = np.copy(np.transpose(tmp66, (1, 0, 3, 2, 4))) - del tmp66 - tmp67 = einsum(r2, (0, 1, 2), ints.tmp138, (3, 4, 2, 5, 6, 1), (3, 4, 5, 6, 0)) - tmp77 += np.transpose(tmp67, (1, 0, 3, 2, 4)) * -1 - del tmp67 - tmp68 = einsum(tmp7, (0, 1, 2), t2, (3, 4, 5, 2), (3, 4, 0, 1, 5)) * -1 - del tmp7 - tmp77 += np.transpose(tmp68, (1, 0, 3, 2, 4)) * 0.5 - del tmp68 - tmp69 = einsum(ints.tmp138, (0, 1, 2, 3, 4, 5), r1, (5,), (0, 1, 2, 3, 4)) - del ints.tmp138 - tmp73 = np.copy(tmp69) - del tmp69 - tmp70 = einsum(r3, (0, 1, 2, 3, 4), tmp3, (5, 2), (3, 4, 5, 0, 1)) - del tmp3 - tmp73 += np.transpose(tmp70, (1, 0, 2, 3, 4)) * -1 - del tmp70 - tmp71 = np.copy(ints.tmp122) - tmp71 += v.oooo * 2 - tmp72 = einsum(tmp71, (0, 1, 2, 3), r2, (4, 5, 2), (0, 1, 3, 4, 5)) * 0.5 - del tmp71 - tmp73 += np.transpose(tmp72, (0, 1, 2, 4, 3)) - del tmp72 - tmp74 = einsum(t1, (0, 1), tmp73, (2, 3, 0, 4, 5), (2, 3, 1, 4, 5)) - del tmp73 - tmp77 += np.transpose(tmp74, (1, 0, 4, 3, 2)) - del tmp74 - tmp75 = np.copy(ints.tmp133) - del ints.tmp133 - tmp75 += ints.tmp206 * 0.5 - del ints.tmp206 - tmp76 = einsum(r1, (0,), tmp75, (1, 2, 3, 4, 5, 0), (1, 2, 3, 4, 5)) - del tmp75 - tmp77 += np.transpose(tmp76, (1, 0, 3, 2, 4)) - del tmp76 - r3new += np.transpose(tmp77, (2, 3, 4, 0, 1)) * -1 - r3new += np.transpose(tmp77, (2, 4, 3, 0, 1)) - r3new += np.transpose(tmp77, (4, 2, 3, 0, 1)) * -1 - del tmp77 - tmp78 = np.copy(tmp17) * -0.5 - del tmp17 - tmp78 += tmp18 - del tmp18 - tmp78 += tmp19 - del tmp19 - tmp78 += tmp21 - del tmp21 - tmp79 = einsum(tmp78, (0, 1, 2), t2, (3, 1, 4, 5), (3, 0, 4, 5, 2)) * -1 - del tmp78 - tmp87 = np.copy(np.transpose(tmp79, (1, 0, 4, 3, 2))) * -1 - del tmp79 - tmp80 = einsum(t2, (0, 1, 2, 3), tmp36, (1, 4, 5), (0, 4, 5, 2, 3)) * -1 - del tmp36 - tmp83 = np.copy(np.transpose(tmp80, (0, 1, 2, 4, 3))) * -1 - del tmp80 - tmp81 = np.copy(tmp9) * 2 - del tmp9 - tmp81 += np.transpose(tmp6, (0, 2, 1)) * -1 - del tmp6 - tmp82 = einsum(t2, (0, 1, 2, 3), tmp81, (4, 1, 5), (0, 4, 5, 2, 3)) * -0.5 - del tmp81 - tmp83 += np.transpose(tmp82, (1, 2, 0, 4, 3)) * -1 - del tmp82 - tmp84 = einsum(t1, (0, 1), tmp83, (2, 0, 3, 4, 5), (2, 3, 1, 4, 5)) - del tmp83 - tmp87 += np.transpose(tmp84, (0, 1, 2, 4, 3)) - del tmp84 - tmp85 = np.copy(ints.tmp112) - del ints.tmp112 - tmp85 += ints.tmp90 - del ints.tmp90 - tmp86 = einsum(tmp85, (0, 1, 2, 3), r2, (4, 5, 1), (0, 2, 4, 5, 3)) - del tmp85 - tmp87 += np.transpose(tmp86, (0, 1, 4, 3, 2)) * -1 - del tmp86 - r3new += np.transpose(tmp87, (2, 3, 4, 0, 1)) - r3new += np.transpose(tmp87, (3, 2, 4, 0, 1)) * -1 - r3new += np.transpose(tmp87, (3, 4, 2, 0, 1)) - r3new += np.transpose(tmp87, (2, 3, 4, 1, 0)) * -1 - r3new += np.transpose(tmp87, (3, 2, 4, 1, 0)) - r3new += np.transpose(tmp87, (3, 4, 2, 1, 0)) * -1 - del tmp87 - tmp88 = einsum(v.ovvv, (0, 1, 2, 3), r3, (4, 5, 3, 6, 0), (6, 4, 5, 1, 2)) - tmp89 = einsum(tmp88, (0, 1, 2, 3, 4), t1, (5, 4), (0, 5, 1, 2, 3)) * -1 - del tmp88 - tmp95 = np.copy(np.transpose(tmp89, (0, 1, 3, 2, 4))) - del tmp89 - tmp90 = einsum(ints.tmp181, (0, 1, 2, 3), r2, (4, 5, 1), (0, 2, 3, 4, 5)) - del ints.tmp181 - tmp93 = np.copy(np.transpose(tmp90, (0, 1, 2, 4, 3))) * -1 - del tmp90 - tmp91 = einsum(v.ooov, (0, 1, 2, 3), r3, (4, 5, 3, 6, 1), (6, 0, 2, 4, 5)) - tmp93 += np.transpose(tmp91, (0, 1, 2, 4, 3)) * -1 - del tmp91 - tmp92 = einsum(t1, (0, 1), tmp8, (2, 3, 4, 5, 1), (2, 0, 3, 4, 5)) * -1 - del tmp8 - tmp93 += np.transpose(tmp92, (0, 2, 1, 4, 3)) - del tmp92 - tmp94 = einsum(t1, (0, 1), tmp93, (2, 0, 3, 4, 5), (2, 3, 1, 4, 5)) - del tmp93 - tmp95 += np.transpose(tmp94, (0, 1, 4, 3, 2)) * -1 - del tmp94 - r3new += np.transpose(tmp95, (2, 3, 4, 0, 1)) * -1 - r3new += np.transpose(tmp95, (2, 4, 3, 0, 1)) - r3new += np.transpose(tmp95, (4, 2, 3, 0, 1)) * -1 - r3new += np.transpose(tmp95, (2, 3, 4, 1, 0)) - r3new += np.transpose(tmp95, (2, 4, 3, 1, 0)) * -1 - r3new += np.transpose(tmp95, (4, 2, 3, 1, 0)) - del tmp95 - tmp96 = einsum(ints.tmp150, (0, 1, 2, 3, 4, 5), r1, (5,), (0, 1, 2, 3, 4)) - del ints.tmp150 - tmp97 = einsum(t1, (0, 1), tmp96, (2, 3, 0, 4, 5), (2, 3, 4, 5, 1)) - del tmp96 - tmp102 = np.copy(tmp97) - del tmp97 - tmp98 = einsum(r3, (0, 1, 2, 3, 4), v.ovvv, (5, 6, 1, 2), (3, 4, 5, 0, 6)) - tmp100 = np.copy(np.transpose(tmp98, (1, 0, 2, 3, 4))) * -1 - del tmp98 - tmp99 = einsum(t2, (0, 1, 2, 3), tmp0, (4, 5, 3), (0, 1, 4, 5, 2)) * -1 - del tmp0 - tmp100 += np.transpose(tmp99, (1, 0, 2, 3, 4)) * -2 - del tmp99 - tmp101 = einsum(t1, (0, 1), tmp100, (2, 3, 0, 4, 5), (2, 3, 1, 4, 5)) * 0.5 - del tmp100 - tmp102 += np.transpose(tmp101, (1, 0, 3, 2, 4)) * -1 - del tmp101 - r3new += np.transpose(tmp102, (2, 3, 4, 1, 0)) - r3new += np.transpose(tmp102, (2, 4, 3, 1, 0)) * -1 - r3new += np.transpose(tmp102, (3, 2, 4, 1, 0)) * -1 - r3new += np.transpose(tmp102, (4, 2, 3, 1, 0)) - r3new += np.transpose(tmp102, (3, 4, 2, 1, 0)) - r3new += np.transpose(tmp102, (4, 3, 2, 1, 0)) * -1 - del tmp102 - tmp103 = einsum(r2, (0, 1, 2), ints.tmp156, (3, 4, 2, 5), (3, 4, 5, 0, 1)) - del ints.tmp156 - tmp114 = np.copy(np.transpose(tmp103, (0, 1, 2, 4, 3))) * -1 - del tmp103 - tmp104 = einsum(r2, (0, 1, 2), v.ovvv, (3, 1, 4, 5), (2, 3, 0, 4, 5)) - tmp114 += np.transpose(tmp104, (0, 1, 2, 4, 3)) * -1 - del tmp104 - tmp105 = einsum(r2, (0, 1, 2), v.vvvv, (3, 4, 5, 1), (2, 0, 3, 4, 5)) - tmp106 = einsum(tmp105, (0, 1, 2, 3, 4), t1, (5, 4), (0, 5, 1, 2, 3)) * -1 - del tmp105 - tmp114 += np.transpose(tmp106, (0, 1, 2, 4, 3)) - del tmp106 - tmp107 = einsum(t2, (0, 1, 2, 3), tmp16, (1, 4, 5), (0, 4, 5, 2, 3)) * -1 - del tmp16 - tmp114 += np.transpose(tmp107, (0, 1, 2, 4, 3)) - del tmp107 - tmp108 = einsum(r2, (0, 1, 2), v.ooov, (3, 4, 5, 1), (2, 3, 4, 5, 0)) - tmp111 = np.copy(np.transpose(tmp108, (0, 2, 1, 3, 4))) * -1 - del tmp108 - tmp109 = einsum(v.oovv, (0, 1, 2, 3), r2, (4, 3, 5), (5, 0, 1, 4, 2)) - tmp110 = einsum(t1, (0, 1), tmp109, (2, 3, 4, 5, 1), (2, 0, 3, 4, 5)) * -1 - del tmp109 - tmp111 += np.transpose(tmp110, (0, 3, 2, 1, 4)) - del tmp110 - tmp112 = einsum(t1, (0, 1), tmp111, (2, 0, 3, 4, 5), (2, 3, 4, 1, 5)) - del tmp111 - tmp113 = einsum(t1, (0, 1), tmp112, (2, 0, 3, 4, 5), (2, 3, 1, 5, 4)) * -1 - del tmp112 - tmp114 += np.transpose(tmp113, (0, 1, 3, 2, 4)) - del tmp113 - r3new += np.transpose(tmp114, (2, 3, 4, 0, 1)) * -1 - r3new += np.transpose(tmp114, (3, 2, 4, 0, 1)) - r3new += np.transpose(tmp114, (3, 4, 2, 0, 1)) * -1 - r3new += np.transpose(tmp114, (2, 3, 4, 1, 0)) - r3new += np.transpose(tmp114, (3, 2, 4, 1, 0)) * -1 - r3new += np.transpose(tmp114, (3, 4, 2, 1, 0)) - del tmp114 - tmp115 = einsum(t2, (0, 1, 2, 3), tmp14, (4, 5, 3), (0, 1, 4, 2, 5)) * -1 - del tmp14 - r3new += np.transpose(tmp115, (2, 3, 4, 1, 0)) * -1 - r3new += np.transpose(tmp115, (2, 4, 3, 1, 0)) - r3new += np.transpose(tmp115, (3, 2, 4, 1, 0)) - r3new += np.transpose(tmp115, (4, 2, 3, 1, 0)) * -1 - r3new += np.transpose(tmp115, (3, 4, 2, 1, 0)) * -1 - r3new += np.transpose(tmp115, (4, 3, 2, 1, 0)) - del tmp115 - tmp116 = einsum(r2, (0, 1, 2), v.ovvv, (3, 4, 5, 1), (2, 3, 0, 4, 5)) - tmp117 = einsum(t1, (0, 1), tmp116, (2, 3, 4, 5, 1), (2, 0, 3, 4, 5)) * -1 - del tmp116 - tmp118 = einsum(t1, (0, 1), tmp117, (2, 3, 0, 4, 5), (2, 3, 4, 1, 5)) - del tmp117 - r3new += np.transpose(tmp118, (2, 3, 4, 0, 1)) * -1 - r3new += np.transpose(tmp118, (2, 4, 3, 0, 1)) - r3new += np.transpose(tmp118, (3, 2, 4, 0, 1)) - r3new += np.transpose(tmp118, (4, 2, 3, 0, 1)) * -1 - r3new += np.transpose(tmp118, (3, 4, 2, 0, 1)) * -1 - r3new += np.transpose(tmp118, (4, 3, 2, 0, 1)) - r3new += np.transpose(tmp118, (2, 3, 4, 1, 0)) - r3new += np.transpose(tmp118, (2, 4, 3, 1, 0)) * -1 - r3new += np.transpose(tmp118, (3, 2, 4, 1, 0)) * -1 - r3new += np.transpose(tmp118, (4, 2, 3, 1, 0)) - r3new += np.transpose(tmp118, (3, 4, 2, 1, 0)) - r3new += np.transpose(tmp118, (4, 3, 2, 1, 0)) * -1 - del tmp118 - tmp119 = einsum(r2, (0, 1, 2), ints.tmp223, (3, 4, 2, 5), (3, 4, 5, 0, 1)) - del ints.tmp223 - tmp120 = einsum(tmp119, (0, 1, 2, 3, 4), t1, (2, 5), (0, 1, 3, 4, 5)) - del tmp119 - r3new += np.transpose(tmp120, (3, 2, 4, 1, 0)) - r3new += np.transpose(tmp120, (3, 4, 2, 1, 0)) * -1 - r3new += np.transpose(tmp120, (4, 3, 2, 1, 0)) - del tmp120 - tmp121 = np.copy(f.oo) - tmp121 += ints.tmp10 - del ints.tmp10 - tmp121 += ints.tmp21 - del ints.tmp21 - tmp121 += np.transpose(ints.tmp59, (1, 0)) - del ints.tmp59 - tmp122 = einsum(r3, (0, 1, 2, 3, 4), tmp121, (4, 5), (3, 5, 0, 1, 2)) * -1 - del tmp121 - r3new += np.transpose(tmp122, (2, 3, 4, 1, 0)) * -1 - r3new += np.transpose(tmp122, (2, 3, 4, 0, 1)) - del tmp122 - tmp123 = einsum(r2, (0, 1, 2), ints.tmp76, (2, 3, 4, 5), (3, 4, 5, 0, 1)) - del ints.tmp76 - tmp125 = np.copy(np.transpose(tmp123, (0, 1, 2, 4, 3))) * -1 - del tmp123 - tmp124 = einsum(f.vv, (0, 1), r3, (2, 3, 1, 4, 5), (4, 5, 0, 2, 3)) - tmp125 += np.transpose(tmp124, (1, 0, 2, 4, 3)) - del tmp124 - r3new += np.transpose(tmp125, (2, 3, 4, 1, 0)) * -1 - r3new += np.transpose(tmp125, (3, 2, 4, 1, 0)) - r3new += np.transpose(tmp125, (3, 4, 2, 1, 0)) * -1 - del tmp125 - tmp126 = einsum(ints.tmp38, (0, 1), r3, (2, 3, 4, 5, 1), (0, 5, 2, 3, 4)) - del ints.tmp38 - tmp131 = np.copy(np.transpose(tmp126, (0, 1, 3, 4, 2))) * 0.5 - del tmp126 - tmp127 = einsum(v.ovoo, (0, 1, 2, 3), r3, (4, 5, 6, 2, 3), (0, 4, 5, 6, 1)) - tmp128 = einsum(tmp127, (0, 1, 2, 3, 4), t1, (5, 4), (5, 0, 1, 2, 3)) - del tmp127 - tmp131 += np.transpose(tmp128, (0, 1, 3, 4, 2)) * -0.5 - del tmp128 - tmp129 = np.copy(ints.tmp130) - del ints.tmp130 - tmp129 += ints.tmp172 - del ints.tmp172 - tmp130 = einsum(r1, (0,), tmp129, (1, 2, 3, 4, 5, 0), (1, 2, 3, 4, 5)) * 0.5 - del tmp129 - tmp131 += np.transpose(tmp130, (0, 1, 4, 2, 3)) - del tmp130 - r3new += np.transpose(tmp131, (4, 2, 3, 0, 1)) - r3new += np.transpose(tmp131, (4, 2, 3, 1, 0)) * -1 - del tmp131 - tmp132 = einsum(r2, (0, 1, 2), ints.tmp36, (3, 4, 5, 1), (3, 2, 4, 5, 0)) - del ints.tmp36 - tmp137 = np.copy(tmp132) * -1 - del tmp132 - tmp133 = einsum(r2, (0, 1, 2), ints.tmp40, (3, 4, 5, 1), (3, 4, 2, 5, 0)) - del ints.tmp40 - tmp134 = einsum(tmp133, (0, 1, 2, 3, 4), t1, (1, 5), (0, 2, 3, 4, 5)) - del tmp133 - tmp137 += tmp134 - del tmp134 - tmp135 = einsum(r2, (0, 1, 2), v.ovov, (3, 4, 5, 1), (2, 3, 5, 0, 4)) - tmp136 = einsum(t1, (0, 1), tmp135, (2, 0, 3, 4, 5), (2, 3, 4, 1, 5)) - del tmp135 - tmp137 += tmp136 - del tmp136 - r3new += np.transpose(tmp137, (2, 3, 4, 0, 1)) - r3new += np.transpose(tmp137, (2, 4, 3, 0, 1)) * -1 - r3new += np.transpose(tmp137, (3, 2, 4, 0, 1)) * -1 - r3new += np.transpose(tmp137, (4, 2, 3, 0, 1)) - r3new += np.transpose(tmp137, (3, 4, 2, 0, 1)) - r3new += np.transpose(tmp137, (4, 3, 2, 0, 1)) * -1 - r3new += np.transpose(tmp137, (2, 3, 4, 1, 0)) * -1 - r3new += np.transpose(tmp137, (2, 4, 3, 1, 0)) - r3new += np.transpose(tmp137, (3, 2, 4, 1, 0)) - r3new += np.transpose(tmp137, (4, 2, 3, 1, 0)) * -1 - r3new += np.transpose(tmp137, (3, 4, 2, 1, 0)) * -1 - r3new += np.transpose(tmp137, (4, 3, 2, 1, 0)) - del tmp137 - tmp138 = np.copy(ints.tmp122) * 0.5 - del ints.tmp122 - tmp138 += v.oooo - r3new += einsum(tmp138, (0, 1, 2, 3), r3, (4, 5, 6, 3, 2), (4, 5, 6, 1, 0)) * 0.5 - del tmp138 - r3new += einsum(t3, (0, 1, 2, 3, 4, 5), tmp5, (2,), (3, 4, 5, 0, 1)) * -1 - del tmp5 - tmp142 = np.copy(ints.tmp106) * 0.5 - del ints.tmp106 - tmp142 += ints.tmp109 * 0.5 - del ints.tmp109 - tmp142 += ints.tmp169 - del ints.tmp169 - tmp142 += ints.tmp178 - del ints.tmp178 - tmp142 += ints.tmp180 - del ints.tmp180 - tmp142 += ints.tmp202 * 0.25 - del ints.tmp202 - tmp142 += ints.tmp210 * 0.5 - del ints.tmp210 - tmp142 += ints.tmp215 * 0.5 - del ints.tmp215 - tmp142 += ints.tmp231 - del ints.tmp231 - tmp142 += ints.tmp79 - del ints.tmp79 - tmp142 += v.oovv - tmp139 = np.copy(ints.tmp143) - del ints.tmp143 - tmp139 += ints.tmp147 - del ints.tmp147 - tmp139 += ints.tmp179 - del ints.tmp179 - tmp139 += ints.tmp107 * -1 - del ints.tmp107 - tmp139 += ints.tmp211 * -1 - del ints.tmp211 - tmp142 += tmp139 - tmp142 += np.transpose(tmp139, (0, 1, 3, 2)) * -1 - tmp142 += np.transpose(tmp139, (1, 0, 2, 3)) * -1 - tmp142 += np.transpose(tmp139, (1, 0, 3, 2)) - tmp140 = np.copy(ints.tmp129) * 0.5 - del ints.tmp129 - tmp140 += ints.tmp142 * 0.5 - del ints.tmp142 - tmp140 += ints.tmp201 * 0.5 - del ints.tmp201 - tmp140 += ints.tmp208 - del ints.tmp208 - tmp140 += ints.tmp221 - del ints.tmp221 - tmp140 += ints.tmp87 - del ints.tmp87 - tmp140 += ints.tmp141 * -1 - del ints.tmp141 - tmp140 += ints.tmp170 * -0.5 - del ints.tmp170 - tmp140 += ints.tmp74 * -1 - del ints.tmp74 - tmp140 += ints.tmp80 * -1 - del ints.tmp80 - tmp142 += tmp140 * -1 - tmp142 += np.transpose(tmp140, (1, 0, 2, 3)) - tmp141 = np.copy(ints.tmp132) * 0.5 - tmp141 += ints.tmp149 * 0.5 - tmp141 += ints.tmp203 * 0.5 - del ints.tmp203 - tmp141 += ints.tmp209 - tmp141 += ints.tmp222 - tmp141 += ints.tmp75 - tmp141 += ints.tmp86 - tmp141 += ints.tmp146 * -1 - tmp141 += ints.tmp174 * -0.5 - tmp141 += ints.tmp204 * -1 - tmp141 += ints.tmp81 * -1 - tmp142 += tmp141 * -1 - tmp142 += np.transpose(tmp141, (0, 1, 3, 2)) - del tmp141 - r3new += einsum(tmp142, (0, 1, 2, 3), r1, (4,), (3, 4, 2, 1, 0)) * -1 - r3new += einsum(tmp142, (0, 1, 2, 3), r1, (4,), (3, 2, 4, 1, 0)) - del tmp142 - tmp144 = np.copy(v.oovv) - tmp144 += tmp139 - tmp144 += np.transpose(tmp139, (0, 1, 3, 2)) * -1 - tmp144 += np.transpose(tmp139, (1, 0, 2, 3)) * -1 - tmp144 += np.transpose(tmp139, (1, 0, 3, 2)) - del tmp139 - tmp144 += tmp140 * -1 - tmp144 += np.transpose(tmp140, (1, 0, 2, 3)) - del tmp140 - tmp143 = np.copy(ints.tmp132) * 0.5 - del ints.tmp132 - tmp143 += ints.tmp149 * 0.5 - del ints.tmp149 - tmp143 += ints.tmp209 - del ints.tmp209 - tmp143 += ints.tmp222 - del ints.tmp222 - tmp143 += ints.tmp75 - del ints.tmp75 - tmp143 += ints.tmp86 - del ints.tmp86 - tmp143 += ints.tmp146 * -1 - del ints.tmp146 - tmp143 += ints.tmp174 * -0.5 - del ints.tmp174 - tmp143 += ints.tmp204 * -1 - del ints.tmp204 - tmp143 += ints.tmp81 * -1 - del ints.tmp81 - tmp144 += tmp143 * -1 - tmp144 += np.transpose(tmp143, (0, 1, 3, 2)) - del tmp143 - r3new += einsum(r1, (0,), tmp144, (1, 2, 3, 4), (0, 4, 3, 2, 1)) - del tmp144 - r3new += einsum(r2, (0, 1, 2), tmp39, (3, 4), (4, 0, 1, 2, 3)) * -1 - r3new += einsum(tmp39, (0, 1), r2, (2, 3, 4), (2, 1, 3, 0, 4)) * -1 - r3new += einsum(r2, (0, 1, 2), tmp39, (3, 4), (0, 1, 4, 2, 3)) * -1 - r3new += einsum(tmp39, (0, 1), r2, (2, 3, 4), (1, 2, 3, 0, 4)) - r3new += einsum(tmp39, (0, 1), r2, (2, 3, 4), (2, 1, 3, 4, 0)) - r3new += einsum(tmp39, (0, 1), r2, (2, 3, 4), (2, 3, 1, 0, 4)) - del tmp39 - - return {f"r1new": r1new, f"r2new": r2new, f"r3new": r3new} - -def hbar_matvec_ee_intermediates(f=None, t1=None, t2=None, t3=None, v=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-10-22T10:39:34.356736. - - Parameters - ---------- - f : array - Fock matrix. - t1 : array - T1 amplitudes. - t2 : array - T2 amplitudes. - t3 : array - T3 amplitudes. - v : array - Electron repulsion integrals. - - Returns - ------- - tmp0 : array - tmp10 : array - tmp101 : array - tmp102 : array - tmp108 : array - tmp11 : array - tmp110 : array - tmp12 : array - tmp123 : array - tmp125 : array - tmp13 : array - tmp137 : array - tmp138 : array - tmp141 : array - tmp142 : array - tmp145 : array - tmp146 : array - tmp152 : array - tmp153 : array - tmp171 : array - tmp172 : array - tmp174 : array - tmp175 : array - tmp178 : array - tmp179 : array - tmp19 : array - tmp197 : array - tmp198 : array - tmp2 : array - tmp20 : array - tmp200 : array - tmp203 : array - tmp204 : array - tmp206 : array - tmp210 : array - tmp217 : array - tmp218 : array - tmp219 : array - tmp221 : array - tmp222 : array - tmp227 : array - tmp228 : array - tmp229 : array - tmp230 : array - tmp233 : array - tmp24 : array - tmp25 : array - tmp252 : array - tmp253 : array - tmp256 : array - tmp257 : array - tmp259 : array - tmp263 : array - tmp271 : array - tmp272 : array - tmp274 : array - tmp28 : array - tmp294 : array - tmp295 : array - tmp296 : array - tmp298 : array - tmp299 : array - tmp300 : array - tmp303 : array - tmp306 : array - tmp307 : array - tmp309 : array - tmp310 : array - tmp312 : array - tmp313 : array - tmp314 : array - tmp320 : array - tmp325 : array - tmp326 : array - tmp334 : array - tmp36 : array - tmp37 : array - tmp4 : array - tmp58 : array - tmp59 : array - tmp61 : array - tmp64 : array - tmp65 : array - tmp67 : array - tmp71 : array - tmp77 : array - tmp78 : array - tmp80 : array - tmp82 : array - tmp83 : array - tmp84 : array - tmp87 : array - tmp88 : array - tmp9 : array - tmp90 : array - tmp94 : array - """ - - tmp19 = einsum(f.oo, (0, 1), t1, (1, 2), (0, 2)) - tmp24 = einsum(t2, (0, 1, 2, 3), f.ov, (1, 3), (0, 2)) - tmp77 = einsum(t3, (0, 1, 2, 3, 4, 5), v.oovv, (1, 2, 4, 5), (0, 3)) - tmp20 = einsum(t1, (0, 1), f.vv, (2, 1), (0, 2)) - tmp36 = einsum(v.ovov, (0, 1, 2, 3), t1, (2, 1), (0, 3)) - tmp58 = einsum(v.ovoo, (0, 1, 2, 3), t2, (2, 3, 4, 1), (0, 4)) - tmp64 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 0, 2, 3), (4, 1)) - tmp171 = einsum(t2, (0, 1, 2, 3), v.oooo, (4, 5, 0, 1), (4, 5, 2, 3)) - tmp178 = einsum(v.vvvv, (0, 1, 2, 3), t2, (4, 5, 2, 3), (4, 5, 0, 1)) - tmp2 = einsum(t1, (0, 1), v.ooov, (2, 0, 3, 1), (2, 3)) - tmp101 = einsum(tmp2, (0, 1), t1, (0, 2), (1, 2)) - tmp137 = einsum(t2, (0, 1, 2, 3), f.oo, (4, 1), (4, 0, 2, 3)) - tmp138 = einsum(t2, (0, 1, 2, 3), f.vv, (4, 3), (0, 1, 4, 2)) - tmp141 = einsum(f.ov, (0, 1), t3, (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) - tmp142 = einsum(f.ov, (0, 1), t3, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) - tmp152 = einsum(t1, (0, 1), v.ooov, (2, 3, 0, 4), (2, 3, 1, 4)) - tmp153 = einsum(t1, (0, 1), v.ovvv, (2, 1, 3, 4), (0, 2, 3, 4)) - tmp172 = einsum(t2, (0, 1, 2, 3), v.oooo, (4, 5, 6, 1), (0, 4, 5, 6, 2, 3)) - tmp174 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 2, 5, 1), (4, 0, 5, 3)) - tmp175 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 5, 6, 3), (0, 1, 4, 6, 2, 5)) - tmp179 = einsum(v.vvvv, (0, 1, 2, 3), t2, (4, 5, 6, 3), (4, 5, 6, 0, 1, 2)) - tmp197 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovoo, (6, 5, 1, 2), (0, 6, 3, 4)) - tmp198 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ooov, (6, 2, 7, 5), (0, 1, 6, 7, 3, 4)) - tmp200 = einsum(v.ovoo, (0, 1, 2, 3), t3, (4, 2, 3, 5, 6, 7), (4, 0, 5, 6, 7, 1)) - tmp203 = einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 0, 6, 2, 3), (4, 5, 6, 1)) - tmp204 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovvv, (6, 7, 4, 5), (0, 1, 2, 6, 3, 7)) - tmp206 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovvv, (2, 6, 7, 5), (0, 1, 3, 4, 6, 7)) - tmp210 = einsum(t3, (0, 1, 2, 3, 4, 5), v.oovv, (6, 7, 4, 5), (0, 1, 2, 6, 7, 3)) - tmp222 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), (0, 1, 4, 5, 6, 2)) - tmp259 = einsum(t3, (0, 1, 2, 3, 4, 5), v.oovv, (1, 2, 6, 7), (0, 3, 4, 5, 6, 7)) - tmp0 = einsum(t1, (0, 1), f.ov, (2, 1), (2, 0)) - tmp28 = einsum(tmp0, (0, 1), t1, (0, 2), (1, 2)) - tmp4 = einsum(v.ovvv, (0, 1, 2, 3), t1, (0, 3), (1, 2)) - tmp108 = einsum(t1, (0, 1), tmp4, (2, 1), (0, 2)) - tmp217 = einsum(t2, (0, 1, 2, 3), tmp2, (1, 4), (0, 4, 2, 3)) * -1 - tmp270 = einsum(t1, (0, 1), v.oooo, (2, 3, 4, 0), (2, 3, 4, 1)) - tmp271 = einsum(t1, (0, 1), tmp270, (2, 3, 0, 4), (2, 3, 4, 1)) * -1 - del tmp270 - tmp37 = einsum(v.ovov, (0, 1, 2, 3), t1, (4, 3), (4, 0, 2, 1)) - tmp272 = einsum(t1, (0, 1), tmp37, (2, 0, 3, 4), (2, 3, 1, 4)) - tmp273 = einsum(v.vvvv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) - tmp274 = einsum(t1, (0, 1), tmp273, (2, 3, 4, 1), (2, 0, 3, 4)) * -1 - del tmp273 - tmp9 = einsum(v.oovv, (0, 1, 2, 3), t2, (4, 1, 2, 3), (4, 0)) - tmp294 = einsum(t2, (0, 1, 2, 3), tmp9, (4, 1), (0, 4, 2, 3)) - tmp71 = einsum(v.oovv, (0, 1, 2, 3), t2, (4, 5, 2, 3), (4, 5, 0, 1)) - tmp295 = einsum(tmp71, (0, 1, 2, 3), t2, (3, 2, 4, 5), (0, 1, 4, 5)) * -1 - tmp296 = einsum(tmp71, (0, 1, 2, 3), t2, (4, 2, 5, 6), (0, 1, 4, 3, 5, 6)) * -1 - tmp10 = einsum(t2, (0, 1, 2, 3), v.oovv, (0, 1, 4, 3), (2, 4)) - tmp298 = einsum(t2, (0, 1, 2, 3), tmp10, (4, 3), (0, 1, 2, 4)) - tmp11 = einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 3), (0, 4, 2, 5)) - tmp299 = einsum(t2, (0, 1, 2, 3), tmp11, (4, 1, 5, 3), (4, 0, 5, 2)) - tmp300 = einsum(tmp11, (0, 1, 2, 3), t2, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) - tmp90 = einsum(v.oovv, (0, 1, 2, 3), t2, (0, 1, 4, 5), (4, 5, 2, 3)) - tmp303 = einsum(tmp90, (0, 1, 2, 3), t2, (4, 5, 6, 2), (4, 5, 0, 1, 6, 3)) * -1 - tmp83 = einsum(t1, (0, 1), tmp11, (2, 0, 3, 1), (2, 3)) - tmp87 = einsum(t1, (0, 1), tmp10, (2, 1), (0, 2)) - tmp94 = einsum(tmp9, (0, 1), t1, (1, 2), (0, 2)) - tmp12 = einsum(t1, (0, 1), v.oovv, (2, 0, 3, 1), (2, 3)) - tmp13 = einsum(tmp12, (0, 1), t1, (2, 1), (2, 0)) - tmp123 = einsum(tmp13, (0, 1), t1, (1, 2), (0, 2)) - tmp145 = einsum(t2, (0, 1, 2, 3), tmp0, (1, 4), (4, 0, 2, 3)) - tmp25 = einsum(t2, (0, 1, 2, 3), f.ov, (4, 3), (4, 0, 1, 2)) - tmp146 = einsum(t1, (0, 1), tmp25, (0, 2, 3, 4), (2, 3, 1, 4)) - tmp61 = einsum(v.ovoo, (0, 1, 2, 3), t2, (2, 3, 4, 5), (0, 4, 5, 1)) - tmp218 = einsum(tmp61, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) - tmp102 = einsum(v.ooov, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) - tmp219 = einsum(tmp102, (0, 1, 2, 3), t2, (4, 1, 5, 6), (0, 4, 2, 3, 5, 6)) * -1 - tmp59 = einsum(v.ooov, (0, 1, 2, 3), t2, (4, 1, 5, 3), (4, 0, 2, 5)) - tmp221 = einsum(t1, (0, 1), tmp59, (2, 0, 3, 4), (2, 3, 1, 4)) - tmp227 = einsum(t2, (0, 1, 2, 3), tmp4, (4, 3), (0, 1, 2, 4)) * -1 - tmp67 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 3), (0, 2, 4, 5)) - tmp228 = einsum(t1, (0, 1), tmp67, (2, 3, 4, 1), (0, 2, 3, 4)) - tmp229 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 5, 6, 3), (4, 5, 0, 6, 1, 2)) - tmp230 = einsum(t1, (0, 1), tmp229, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) - tmp65 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 5, 2, 3), (4, 5, 0, 1)) - tmp233 = einsum(t1, (0, 1), tmp65, (2, 3, 0, 4), (2, 3, 1, 4)) - tmp82 = einsum(t3, (0, 1, 2, 3, 4, 5), v.oovv, (6, 2, 7, 5), (0, 1, 6, 3, 4, 7)) - tmp252 = einsum(tmp82, (0, 1, 2, 3, 4, 5), t1, (2, 5), (0, 1, 3, 4)) - tmp253 = einsum(tmp12, (0, 1), t3, (2, 3, 4, 5, 6, 1), (2, 3, 4, 0, 5, 6)) * -1 - tmp80 = einsum(v.oovv, (0, 1, 2, 3), t3, (4, 0, 1, 5, 6, 3), (4, 5, 6, 2)) - tmp256 = einsum(tmp80, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) - tmp257 = einsum(tmp82, (0, 1, 2, 3, 4, 5), t1, (6, 5), (6, 0, 1, 2, 3, 4)) - tmp78 = einsum(t3, (0, 1, 2, 3, 4, 5), v.oovv, (6, 2, 4, 5), (0, 1, 6, 3)) - tmp263 = einsum(t1, (0, 1), tmp78, (2, 3, 0, 4), (2, 3, 1, 4)) - tmp313 = einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 6, 3), (0, 1, 4, 5, 2, 6)) - tmp314 = einsum(t1, (0, 1), tmp313, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) - tmp324 = einsum(tmp102, (0, 1, 2, 3), t1, (1, 4), (0, 2, 3, 4)) * -1 - tmp325 = einsum(t1, (0, 1), tmp324, (2, 0, 3, 4), (2, 3, 4, 1)) * -1 - del tmp324 - tmp109 = einsum(t1, (0, 1), v.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) - tmp110 = einsum(t1, (0, 1), tmp109, (2, 3, 4, 1), (2, 0, 3, 4)) * -1 - del tmp109 - tmp326 = einsum(t1, (0, 1), tmp110, (2, 3, 0, 4), (2, 3, 1, 4)) - tmp306 = einsum(t2, (0, 1, 2, 3), tmp13, (4, 1), (4, 0, 2, 3)) * -1 - tmp84 = einsum(tmp12, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4)) * -1 - tmp307 = einsum(t1, (0, 1), tmp84, (2, 3, 0, 4), (2, 3, 1, 4)) - tmp308 = einsum(tmp90, (0, 1, 2, 3), t1, (4, 2), (4, 0, 1, 3)) * -1 - tmp309 = einsum(t1, (0, 1), tmp308, (2, 3, 4, 1), (2, 0, 3, 4)) * -1 - del tmp308 - tmp124 = einsum(t1, (0, 1), v.oovv, (2, 3, 4, 1), (0, 2, 3, 4)) - tmp125 = einsum(tmp124, (0, 1, 2, 3), t1, (4, 3), (0, 4, 1, 2)) * -1 - del tmp124 - tmp310 = einsum(t2, (0, 1, 2, 3), tmp125, (4, 5, 1, 6), (4, 5, 0, 6, 2, 3)) * -1 - tmp88 = einsum(tmp11, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) - tmp312 = einsum(t1, (0, 1), tmp88, (2, 3, 0, 4), (2, 3, 1, 4)) - tmp319 = einsum(tmp71, (0, 1, 2, 3), t1, (2, 4), (0, 1, 3, 4)) * -1 - tmp320 = einsum(t1, (0, 1), tmp319, (2, 3, 0, 4), (2, 3, 4, 1)) * -1 - del tmp319 - tmp333 = einsum(t1, (0, 1), tmp125, (2, 3, 0, 4), (2, 3, 4, 1)) * -1 - tmp334 = einsum(t1, (0, 1), tmp333, (2, 3, 0, 4), (2, 3, 4, 1)) * -1 - del tmp333 - - return {f"tmp0": tmp0, f"tmp10": tmp10, f"tmp101": tmp101, f"tmp102": tmp102, f"tmp108": tmp108, f"tmp11": tmp11, f"tmp110": tmp110, f"tmp12": tmp12, f"tmp123": tmp123, f"tmp125": tmp125, f"tmp13": tmp13, f"tmp137": tmp137, f"tmp138": tmp138, f"tmp141": tmp141, f"tmp142": tmp142, f"tmp145": tmp145, f"tmp146": tmp146, f"tmp152": tmp152, f"tmp153": tmp153, f"tmp171": tmp171, f"tmp172": tmp172, f"tmp174": tmp174, f"tmp175": tmp175, f"tmp178": tmp178, f"tmp179": tmp179, f"tmp19": tmp19, f"tmp197": tmp197, f"tmp198": tmp198, f"tmp2": tmp2, f"tmp20": tmp20, f"tmp200": tmp200, f"tmp203": tmp203, f"tmp204": tmp204, f"tmp206": tmp206, f"tmp210": tmp210, f"tmp217": tmp217, f"tmp218": tmp218, f"tmp219": tmp219, f"tmp221": tmp221, f"tmp222": tmp222, f"tmp227": tmp227, f"tmp228": tmp228, f"tmp229": tmp229, f"tmp230": tmp230, f"tmp233": tmp233, f"tmp24": tmp24, f"tmp25": tmp25, f"tmp252": tmp252, f"tmp253": tmp253, f"tmp256": tmp256, f"tmp257": tmp257, f"tmp259": tmp259, f"tmp263": tmp263, f"tmp271": tmp271, f"tmp272": tmp272, f"tmp274": tmp274, f"tmp28": tmp28, f"tmp294": tmp294, f"tmp295": tmp295, f"tmp296": tmp296, f"tmp298": tmp298, f"tmp299": tmp299, f"tmp300": tmp300, f"tmp303": tmp303, f"tmp306": tmp306, f"tmp307": tmp307, f"tmp309": tmp309, f"tmp310": tmp310, f"tmp312": tmp312, f"tmp313": tmp313, f"tmp314": tmp314, f"tmp320": tmp320, f"tmp325": tmp325, f"tmp326": tmp326, f"tmp334": tmp334, f"tmp36": tmp36, f"tmp37": tmp37, f"tmp4": tmp4, f"tmp58": tmp58, f"tmp59": tmp59, f"tmp61": tmp61, f"tmp64": tmp64, f"tmp65": tmp65, f"tmp67": tmp67, f"tmp71": tmp71, f"tmp77": tmp77, f"tmp78": tmp78, f"tmp80": tmp80, f"tmp82": tmp82, f"tmp83": tmp83, f"tmp84": tmp84, f"tmp87": tmp87, f"tmp88": tmp88, f"tmp9": tmp9, f"tmp90": tmp90, f"tmp94": tmp94} - -def hbar_matvec_ee(f=None, r1=None, r2=None, r3=None, t1=None, t2=None, t3=None, v=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-10-22T10:39:34.816321. - - Parameters - ---------- - f : array - Fock matrix. - r1 : array - R1 amplitudes. - r2 : array - R2 amplitudes. - r3 : array - R3 amplitudes. - t1 : array - T1 amplitudes. - t2 : array - T2 amplitudes. - t3 : array - T3 amplitudes. - v : array - Electron repulsion integrals. - - Returns - ------- - r1new : array - Updated R1 residuals. - r2new : array - Updated R2 residuals. - r3new : array - Updated R3 residuals. - """ - - ints = kwargs["ints"] - r1new = einsum(r3, (0, 1, 2, 3, 4, 5), v.oovv, (1, 2, 4, 5), (0, 3)) * 0.25 - tmp0 = einsum(r2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 3), (0, 4, 2, 5)) - r1new += einsum(t1, (0, 1), tmp0, (2, 0, 3, 1), (2, 3)) - r1new += einsum(r2, (0, 1, 2, 3), v.ovoo, (4, 3, 0, 1), (4, 2)) * -0.5 - r1new += einsum(r2, (0, 1, 2, 3), f.ov, (1, 3), (0, 2)) - r1new += einsum(r2, (0, 1, 2, 3), v.ovvv, (1, 4, 2, 3), (0, 4)) * -0.5 - tmp1 = np.copy(ints.tmp11) - tmp1 += np.transpose(v.ovov, (0, 2, 3, 1)) * -1 - r1new += einsum(r1, (0, 1), tmp1, (2, 0, 3, 1), (2, 3)) - del tmp1 - tmp2 = np.copy(np.transpose(ints.tmp10, (1, 0))) * 0.5 - tmp2 += np.transpose(ints.tmp4, (1, 0)) - tmp2 += f.vv * -1 - r1new += einsum(tmp2, (0, 1), r1, (2, 0), (2, 1)) * -1 - del tmp2 - tmp3 = einsum(v.ovvv, (0, 1, 2, 3), r1, (0, 3), (1, 2)) - tmp5 = np.copy(tmp3) * 2 - tmp4 = einsum(r2, (0, 1, 2, 3), v.oovv, (0, 1, 4, 3), (2, 4)) - tmp5 += tmp4 - r1new += einsum(t1, (0, 1), tmp5, (2, 1), (0, 2)) * -0.5 - del tmp5 - tmp6 = einsum(r1, (0, 1), v.ooov, (2, 0, 3, 1), (2, 3)) - tmp12 = np.copy(tmp6) - tmp7 = einsum(r2, (0, 1, 2, 3), v.oovv, (4, 1, 2, 3), (0, 4)) - tmp12 += np.transpose(tmp7, (1, 0)) * 0.5 - tmp8 = einsum(v.oovv, (0, 1, 2, 3), r1, (1, 3), (0, 2)) - tmp9 = einsum(tmp8, (0, 1), t1, (2, 1), (2, 0)) * -1 - tmp12 += np.transpose(tmp9, (1, 0)) * -1 - tmp10 = np.copy(f.ov) - tmp10 += ints.tmp12 - del ints.tmp12 - tmp11 = einsum(r1, (0, 1), tmp10, (2, 1), (0, 2)) - tmp12 += np.transpose(tmp11, (1, 0)) - r1new += einsum(tmp12, (0, 1), t1, (0, 2), (1, 2)) * -1 - del tmp12 - tmp13 = np.copy(f.oo) - tmp13 += ints.tmp0 - tmp13 += np.transpose(ints.tmp13, (1, 0)) - tmp13 += ints.tmp2 - tmp13 += np.transpose(ints.tmp9, (1, 0)) * 0.5 - r1new += einsum(r1, (0, 1), tmp13, (0, 2), (2, 1)) * -1 - tmp14 = einsum(r3, (0, 1, 2, 3, 4, 5), v.oovv, (6, 2, 7, 5), (0, 1, 6, 3, 4, 7)) - r2new = einsum(t1, (0, 1), tmp14, (2, 3, 0, 4, 5, 1), (3, 2, 5, 4)) - tmp15 = einsum(r2, (0, 1, 2, 3), v.oovv, (4, 5, 2, 3), (0, 1, 4, 5)) - r2new += einsum(t2, (0, 1, 2, 3), tmp15, (4, 5, 1, 0), (5, 4, 2, 3)) * 0.25 - tmp16 = einsum(v.oovv, (0, 1, 2, 3), r2, (0, 1, 4, 5), (4, 5, 2, 3)) - tmp17 = einsum(tmp16, (0, 1, 2, 3), t1, (4, 2), (4, 0, 1, 3)) * -1 - r2new += einsum(t1, (0, 1), tmp17, (2, 3, 4, 1), (0, 2, 4, 3)) * -0.5 - del tmp17 - tmp18 = einsum(tmp15, (0, 1, 2, 3), t1, (2, 4), (0, 1, 3, 4)) * -1 - r2new += einsum(t1, (0, 1), tmp18, (2, 3, 0, 4), (3, 2, 1, 4)) * -0.5 - del tmp18 - r2new += einsum(v.vvvv, (0, 1, 2, 3), r2, (4, 5, 2, 3), (4, 5, 0, 1)) * 0.5 - r2new += einsum(r1, (0, 1), ints.tmp82, (2, 3, 0, 4, 5, 1), (3, 2, 5, 4)) - r2new += einsum(f.ov, (0, 1), r3, (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) - tmp19 = einsum(ints.tmp88, (0, 1, 2, 3), r1, (2, 4), (0, 1, 3, 4)) - tmp25 = np.copy(tmp19) - del tmp19 - tmp20 = einsum(t1, (0, 1), v.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) - tmp21 = einsum(tmp20, (0, 1, 2, 3), r1, (4, 3), (4, 0, 1, 2)) - del tmp20 - tmp22 = einsum(t1, (0, 1), tmp21, (2, 3, 0, 4), (2, 3, 1, 4)) - tmp25 += tmp22 * -1 - del tmp22 - tmp23 = einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 3), (0, 4, 2, 5)) - tmp24 = einsum(tmp23, (0, 1, 2, 3), r2, (4, 1, 5, 3), (4, 0, 5, 2)) - del tmp23 - tmp25 += tmp24 - del tmp24 - r2new += tmp25 - r2new += np.transpose(tmp25, (0, 1, 3, 2)) * -1 - r2new += np.transpose(tmp25, (1, 0, 2, 3)) * -1 - r2new += np.transpose(tmp25, (1, 0, 3, 2)) - del tmp25 - tmp26 = einsum(ints.tmp90, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) - tmp27 = einsum(tmp26, (0, 1, 2, 3), r1, (4, 3), (4, 0, 1, 2)) - del tmp26 - tmp38 = np.copy(np.transpose(tmp27, (0, 1, 3, 2))) * -0.5 - del tmp27 - tmp28 = einsum(r3, (0, 1, 2, 3, 4, 5), v.ovoo, (6, 5, 1, 2), (0, 6, 3, 4)) - tmp38 += np.transpose(tmp28, (0, 1, 3, 2)) * 0.5 - del tmp28 - tmp29 = einsum(r2, (0, 1, 2, 3), v.ovoo, (4, 5, 0, 1), (4, 2, 3, 5)) - tmp30 = einsum(t1, (0, 1), tmp29, (2, 3, 4, 1), (0, 2, 3, 4)) - tmp38 += np.transpose(tmp30, (0, 1, 3, 2)) * 0.5 - del tmp30 - tmp31 = einsum(v.oovv, (0, 1, 2, 3), r3, (4, 0, 1, 5, 6, 3), (4, 5, 6, 2)) - tmp32 = einsum(t1, (0, 1), tmp31, (2, 3, 4, 1), (2, 0, 3, 4)) * -1 - tmp38 += np.transpose(tmp32, (0, 1, 3, 2)) * -0.5 - del tmp32 - tmp33 = np.copy(ints.tmp61) - del ints.tmp61 - tmp33 += ints.tmp80 * -1 - del ints.tmp80 - tmp34 = einsum(r1, (0, 1), tmp33, (2, 3, 4, 1), (0, 2, 3, 4)) * 0.5 - tmp38 += np.transpose(tmp34, (1, 0, 3, 2)) * -1 - del tmp34 - tmp35 = einsum(tmp13, (0, 1), r2, (2, 0, 3, 4), (2, 1, 3, 4)) * -1 - del tmp13 - tmp38 += np.transpose(tmp35, (1, 0, 3, 2)) - del tmp35 - tmp36 = np.copy(tmp7) * 0.5 - tmp36 += tmp9 * -1 - tmp36 += tmp11 - tmp37 = einsum(tmp36, (0, 1), t2, (2, 1, 3, 4), (2, 0, 3, 4)) * -1 - del tmp36 - tmp38 += np.transpose(tmp37, (1, 0, 3, 2)) - del tmp37 - r2new += tmp38 - r2new += np.transpose(tmp38, (1, 0, 2, 3)) * -1 - del tmp38 - tmp39 = einsum(v.ovvv, (0, 1, 2, 3), r3, (4, 5, 0, 6, 2, 3), (4, 5, 6, 1)) - tmp56 = np.copy(np.transpose(tmp39, (1, 0, 2, 3))) * 0.5 - del tmp39 - tmp40 = einsum(t2, (0, 1, 2, 3), tmp4, (4, 3), (0, 1, 4, 2)) * -1 - tmp56 += np.transpose(tmp40, (1, 0, 2, 3)) * 0.5 - del tmp40 - tmp41 = np.copy(ints.tmp10) * 0.5 - tmp41 += ints.tmp4 - tmp42 = einsum(tmp41, (0, 1), r2, (2, 3, 4, 1), (2, 3, 4, 0)) * -1 - del tmp41 - tmp56 += np.transpose(tmp42, (1, 0, 3, 2)) - del tmp42 - tmp43 = np.copy(ints.tmp110) * 2 - del ints.tmp110 - tmp43 += ints.tmp65 - del ints.tmp65 - tmp43 += ints.tmp84 * 2 - del ints.tmp84 - tmp43 += ints.tmp78 * -1 - del ints.tmp78 - tmp44 = einsum(r1, (0, 1), tmp43, (2, 3, 0, 4), (2, 3, 1, 4)) * 0.5 - tmp56 += np.transpose(tmp44, (0, 1, 3, 2)) - del tmp44 - tmp45 = einsum(v.oovv, (0, 1, 2, 3), r3, (4, 5, 1, 6, 2, 3), (4, 5, 0, 6)) - tmp47 = np.copy(np.transpose(tmp45, (2, 1, 0, 3))) * -0.5 - tmp46 = einsum(r2, (0, 1, 2, 3), tmp10, (4, 3), (0, 1, 4, 2)) * -1 - tmp47 += np.transpose(tmp46, (2, 1, 0, 3)) - tmp48 = einsum(t1, (0, 1), tmp47, (0, 2, 3, 4), (2, 3, 1, 4)) - del tmp47 - tmp56 += np.transpose(tmp48, (1, 0, 3, 2)) - del tmp48 - tmp49 = einsum(v.ovvv, (0, 1, 2, 3), r2, (4, 5, 2, 3), (4, 5, 0, 1)) - tmp51 = np.copy(np.transpose(tmp49, (1, 0, 2, 3))) * -1 - tmp50 = einsum(tmp8, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4)) * -1 - tmp51 += np.transpose(tmp50, (1, 0, 2, 3)) * -2 - tmp52 = einsum(t1, (0, 1), tmp51, (2, 3, 0, 4), (2, 3, 1, 4)) * 0.5 - del tmp51 - tmp56 += np.transpose(tmp52, (1, 0, 2, 3)) - del tmp52 - tmp53 = np.copy(ints.tmp125) * 2 - tmp53 += ints.tmp71 - tmp54 = einsum(t1, (0, 1), tmp53, (2, 3, 4, 0), (2, 3, 4, 1)) * 0.5 - del tmp53 - tmp55 = einsum(r1, (0, 1), tmp54, (2, 3, 0, 4), (2, 3, 1, 4)) - del tmp54 - tmp56 += tmp55 - del tmp55 - r2new += np.transpose(tmp56, (1, 0, 2, 3)) * -1 - r2new += np.transpose(tmp56, (1, 0, 3, 2)) - del tmp56 - tmp57 = einsum(ints.tmp67, (0, 1, 2, 3), r1, (4, 3), (0, 4, 1, 2)) - tmp72 = np.copy(tmp57) - del tmp57 - tmp58 = einsum(t1, (0, 1), ints.tmp102, (2, 3, 0, 4), (2, 3, 4, 1)) - tmp59 = einsum(r1, (0, 1), tmp58, (2, 0, 3, 4), (2, 3, 1, 4)) - del tmp58 - tmp72 += tmp59 - del tmp59 - tmp60 = einsum(v.ovov, (0, 1, 2, 3), r2, (4, 2, 5, 1), (4, 0, 5, 3)) - tmp72 += tmp60 - del tmp60 - tmp61 = einsum(v.ovov, (0, 1, 2, 3), r1, (4, 3), (4, 0, 2, 1)) - tmp62 = einsum(t1, (0, 1), tmp61, (2, 0, 3, 4), (2, 3, 1, 4)) - tmp72 += tmp62 * -1 - del tmp62 - tmp63 = einsum(v.ovvv, (0, 1, 2, 3), r2, (4, 0, 5, 3), (4, 5, 1, 2)) - tmp64 = einsum(t1, (0, 1), tmp63, (2, 3, 4, 1), (2, 0, 3, 4)) * -1 - tmp72 += tmp64 * -1 - del tmp64 - tmp65 = einsum(r1, (0, 1), ints.tmp11, (2, 3, 4, 1), (2, 3, 0, 4)) - tmp68 = np.copy(tmp65) - tmp66 = einsum(v.ooov, (0, 1, 2, 3), r2, (4, 1, 5, 3), (4, 0, 2, 5)) - tmp68 += tmp66 - tmp67 = einsum(t1, (0, 1), tmp0, (2, 3, 4, 1), (2, 0, 3, 4)) * -1 - tmp68 += np.transpose(tmp67, (0, 2, 1, 3)) * -1 - tmp69 = einsum(t1, (0, 1), tmp68, (2, 0, 3, 4), (2, 3, 1, 4)) - del tmp68 - tmp72 += np.transpose(tmp69, (0, 1, 3, 2)) - del tmp69 - tmp70 = np.copy(ints.tmp37) - del ints.tmp37 - tmp70 += ints.tmp59 - del ints.tmp59 - tmp71 = einsum(r1, (0, 1), tmp70, (2, 0, 3, 4), (2, 3, 1, 4)) - tmp72 += np.transpose(tmp71, (0, 1, 3, 2)) - del tmp71 - r2new += tmp72 * -1 - r2new += np.transpose(tmp72, (0, 1, 3, 2)) - r2new += np.transpose(tmp72, (1, 0, 2, 3)) - r2new += np.transpose(tmp72, (1, 0, 3, 2)) * -1 - del tmp72 - tmp73 = einsum(t2, (0, 1, 2, 3), tmp6, (1, 4), (0, 4, 2, 3)) * -1 - tmp82 = np.copy(np.transpose(tmp73, (0, 1, 3, 2))) * -1 - del tmp73 - tmp75 = np.copy(v.ovvv) - tmp74 = einsum(v.vvvv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) - tmp75 += np.transpose(tmp74, (0, 3, 2, 1)) - del tmp74 - tmp76 = einsum(r1, (0, 1), tmp75, (2, 1, 3, 4), (0, 2, 3, 4)) - del tmp75 - tmp82 += np.transpose(tmp76, (0, 1, 3, 2)) - del tmp76 - tmp78 = np.copy(v.ooov) - tmp77 = einsum(t1, (0, 1), v.oovv, (2, 3, 4, 1), (0, 2, 3, 4)) - tmp78 += np.transpose(tmp77, (2, 1, 0, 3)) - tmp79 = einsum(r1, (0, 1), tmp78, (2, 3, 4, 1), (0, 2, 3, 4)) - del tmp78 - tmp80 = einsum(t1, (0, 1), tmp79, (2, 3, 0, 4), (2, 3, 4, 1)) * -1 - del tmp79 - tmp81 = einsum(t1, (0, 1), tmp80, (2, 0, 3, 4), (2, 3, 1, 4)) * -1 - del tmp80 - tmp82 += tmp81 * -1 - del tmp81 - r2new += tmp82 - r2new += np.transpose(tmp82, (1, 0, 2, 3)) * -1 - del tmp82 - tmp83 = einsum(r1, (0, 1), ints.tmp25, (0, 2, 3, 4), (2, 3, 4, 1)) - tmp89 = np.copy(tmp83) - del tmp83 - tmp84 = einsum(r2, (0, 1, 2, 3), f.vv, (4, 3), (0, 1, 4, 2)) - tmp89 += np.transpose(tmp84, (1, 0, 2, 3)) * -1 - del tmp84 - tmp85 = einsum(t2, (0, 1, 2, 3), tmp3, (4, 3), (0, 1, 2, 4)) * -1 - tmp89 += np.transpose(tmp85, (1, 0, 2, 3)) - del tmp85 - tmp87 = np.copy(v.ooov) - tmp86 = einsum(t1, (0, 1), v.oooo, (2, 3, 4, 0), (2, 3, 4, 1)) - tmp87 += np.transpose(tmp86, (1, 0, 2, 3)) - del tmp86 - tmp88 = einsum(r1, (0, 1), tmp87, (2, 3, 0, 4), (2, 3, 1, 4)) - del tmp87 - tmp89 += np.transpose(tmp88, (1, 0, 2, 3)) * -1 - del tmp88 - r2new += np.transpose(tmp89, (1, 0, 2, 3)) - r2new += np.transpose(tmp89, (1, 0, 3, 2)) * -1 - del tmp89 - tmp90 = np.copy(ints.tmp71) * 0.5 - tmp90 += v.oooo - r2new += einsum(tmp90, (0, 1, 2, 3), r2, (3, 2, 4, 5), (1, 0, 4, 5)) * 0.5 - del tmp90 - tmp91 = np.copy(ints.tmp101) * 2 - tmp91 += ints.tmp108 * 2 - tmp91 += ints.tmp123 * 2 - tmp91 += ints.tmp19 * 2 - tmp91 += ints.tmp28 * 2 - tmp91 += ints.tmp36 * 2 - tmp91 += ints.tmp58 - tmp91 += ints.tmp64 - tmp91 += ints.tmp87 - tmp91 += ints.tmp94 - tmp91 += f.ov * -2 - tmp91 += ints.tmp20 * -2 - tmp91 += ints.tmp24 * -2 - tmp91 += ints.tmp77 * -0.5 - tmp91 += ints.tmp83 * -2 - r2new += einsum(tmp91, (0, 1), r1, (2, 3), (0, 2, 1, 3)) * -0.5 - tmp92 = np.copy(ints.tmp101) - tmp92 += ints.tmp108 - tmp92 += ints.tmp123 - tmp92 += ints.tmp19 - tmp92 += ints.tmp28 - tmp92 += ints.tmp36 - tmp92 += ints.tmp58 * 0.5 - tmp92 += ints.tmp64 * 0.5 - tmp92 += ints.tmp87 * 0.5 - tmp92 += ints.tmp94 * 0.5 - tmp92 += f.ov * -1 - tmp92 += ints.tmp20 * -1 - tmp92 += ints.tmp24 * -1 - tmp92 += ints.tmp77 * -0.25 - tmp92 += ints.tmp83 * -1 - r2new += einsum(r1, (0, 1), tmp92, (2, 3), (0, 2, 1, 3)) * -1 - tmp93 = np.copy(ints.tmp101) * 4 - del ints.tmp101 - tmp93 += ints.tmp108 * 4 - del ints.tmp108 - tmp93 += ints.tmp123 * 4 - del ints.tmp123 - tmp93 += ints.tmp19 * 4 - del ints.tmp19 - tmp93 += ints.tmp28 * 4 - del ints.tmp28 - tmp93 += ints.tmp36 * 4 - del ints.tmp36 - tmp93 += ints.tmp58 * 2 - del ints.tmp58 - tmp93 += ints.tmp64 * 2 - del ints.tmp64 - tmp93 += ints.tmp87 * 2 - del ints.tmp87 - tmp93 += ints.tmp94 * 2 - del ints.tmp94 - tmp93 += f.ov * -4 - tmp93 += ints.tmp20 * -4 - del ints.tmp20 - tmp93 += ints.tmp24 * -4 - del ints.tmp24 - tmp93 += ints.tmp77 * -1 - del ints.tmp77 - tmp93 += ints.tmp83 * -4 - del ints.tmp83 - r2new += einsum(tmp93, (0, 1), r1, (2, 3), (2, 0, 1, 3)) * 0.25 - del tmp93 - r2new += einsum(r1, (0, 1), tmp92, (2, 3), (2, 0, 1, 3)) - r3new = einsum(f.ov, (0, 1), r2, (2, 3, 4, 5), (0, 2, 3, 4, 5, 1)) - tmp94 = einsum(ints.tmp210, (0, 1, 2, 3, 4, 5), r2, (4, 3, 6, 7), (0, 1, 2, 5, 6, 7)) * -1 - tmp103 = np.copy(np.transpose(tmp94, (2, 0, 1, 3, 5, 4))) * -0.25 - del tmp94 - tmp95 = einsum(r3, (0, 1, 2, 3, 4, 5), v.vvvv, (6, 7, 4, 5), (0, 1, 2, 3, 6, 7)) - tmp103 += np.transpose(tmp95, (1, 2, 0, 3, 5, 4)) * -0.5 - del tmp95 - tmp96 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp4, (6, 5), (0, 1, 2, 6, 3, 4)) * -1 - del tmp4 - tmp103 += np.transpose(tmp96, (1, 2, 0, 3, 5, 4)) * -0.5 - del tmp96 - tmp97 = einsum(r3, (0, 1, 2, 3, 4, 5), v.oovv, (6, 7, 4, 5), (0, 1, 2, 6, 7, 3)) - tmp98 = einsum(t2, (0, 1, 2, 3), tmp97, (4, 5, 6, 1, 0, 7), (4, 5, 6, 7, 2, 3)) * -1 - tmp103 += np.transpose(tmp98, (1, 2, 0, 3, 5, 4)) * -0.25 - del tmp98 - tmp99 = einsum(t1, (0, 1), tmp97, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 6, 1)) * -1 - del tmp97 - tmp100 = einsum(t1, (0, 1), tmp99, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 6, 1)) * -1 - del tmp99 - tmp103 += np.transpose(tmp100, (1, 2, 0, 3, 5, 4)) * -0.5 - del tmp100 - tmp101 = np.copy(f.vv) * 2 - tmp101 += np.transpose(ints.tmp10, (1, 0)) * -1 - del ints.tmp10 - tmp102 = einsum(r3, (0, 1, 2, 3, 4, 5), tmp101, (5, 6), (0, 1, 2, 3, 4, 6)) * 0.5 - del tmp101 - tmp103 += np.transpose(tmp102, (1, 2, 0, 5, 3, 4)) - del tmp102 - r3new += np.transpose(tmp103, (2, 0, 1, 3, 4, 5)) - r3new += np.transpose(tmp103, (2, 0, 1, 4, 3, 5)) * -1 - r3new += np.transpose(tmp103, (2, 0, 1, 4, 5, 3)) - del tmp103 - tmp104 = einsum(v.ovvv, (0, 1, 2, 3), r2, (4, 5, 6, 1), (4, 5, 0, 6, 2, 3)) - tmp122 = np.copy(np.transpose(tmp104, (1, 0, 2, 3, 5, 4))) - del tmp104 - tmp105 = einsum(ints.tmp179, (0, 1, 2, 3, 4, 5), r1, (6, 5), (0, 1, 6, 2, 3, 4)) - del ints.tmp179 - tmp122 += np.transpose(tmp105, (0, 1, 2, 3, 5, 4)) * -1 - del tmp105 - tmp106 = einsum(v.vvvv, (0, 1, 2, 3), r2, (4, 5, 6, 3), (4, 5, 6, 0, 1, 2)) - tmp107 = einsum(tmp106, (0, 1, 2, 3, 4, 5), t1, (6, 5), (0, 1, 6, 2, 3, 4)) * -1 - del tmp106 - tmp122 += np.transpose(tmp107, (1, 0, 2, 3, 5, 4)) * -1 - del tmp107 - tmp108 = einsum(ints.tmp313, (0, 1, 2, 3, 4, 5), r1, (6, 5), (0, 1, 2, 3, 6, 4)) - del ints.tmp313 - tmp109 = einsum(t1, (0, 1), tmp108, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 6, 1)) - del tmp108 - tmp110 = einsum(t1, (0, 1), tmp109, (2, 3, 0, 4, 5, 6), (2, 3, 4, 5, 1, 6)) - del tmp109 - tmp122 += np.transpose(tmp110, (0, 1, 2, 3, 5, 4)) * -1 - del tmp110 - tmp111 = einsum(t2, (0, 1, 2, 3), tmp15, (4, 5, 1, 6), (4, 5, 0, 6, 2, 3)) * -1 - tmp112 = einsum(t1, (0, 1), tmp111, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) - del tmp111 - tmp122 += np.transpose(tmp112, (1, 0, 2, 3, 5, 4)) * 0.5 - del tmp112 - tmp113 = einsum(tmp43, (0, 1, 2, 3), r2, (4, 2, 5, 6), (4, 0, 1, 5, 6, 3)) * -0.5 - del tmp43 - tmp122 += np.transpose(tmp113, (1, 2, 0, 5, 4, 3)) - del tmp113 - tmp114 = np.copy(np.transpose(tmp45, (1, 0, 2, 3))) * -0.5 - del tmp45 - tmp114 += np.transpose(tmp46, (1, 0, 2, 3)) - del tmp46 - tmp115 = einsum(tmp114, (0, 1, 2, 3), t2, (4, 2, 5, 6), (4, 0, 1, 5, 6, 3)) * -1 - del tmp114 - tmp122 += np.transpose(tmp115, (2, 1, 0, 5, 4, 3)) - del tmp115 - tmp116 = einsum(r2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), (0, 1, 4, 5, 6, 2)) - tmp119 = np.copy(np.transpose(tmp116, (1, 0, 3, 2, 4, 5))) - del tmp116 - tmp117 = einsum(r2, (0, 1, 2, 3), v.oovv, (4, 5, 6, 3), (0, 1, 4, 5, 2, 6)) - tmp118 = einsum(t1, (0, 1), tmp117, (2, 3, 4, 5, 6, 1), (2, 3, 0, 4, 5, 6)) * -1 - del tmp117 - tmp119 += np.transpose(tmp118, (1, 0, 4, 3, 2, 5)) * -1 - del tmp118 - tmp120 = einsum(t1, (0, 1), tmp119, (2, 3, 0, 4, 5, 6), (2, 3, 4, 5, 1, 6)) - del tmp119 - tmp121 = einsum(t1, (0, 1), tmp120, (2, 3, 0, 4, 5, 6), (3, 2, 4, 1, 6, 5)) - del tmp120 - tmp122 += np.transpose(tmp121, (1, 0, 2, 4, 3, 5)) * -1 - del tmp121 - r3new += np.transpose(tmp122, (1, 0, 2, 3, 4, 5)) - r3new += np.transpose(tmp122, (1, 0, 2, 4, 3, 5)) * -1 - r3new += np.transpose(tmp122, (1, 0, 2, 4, 5, 3)) - r3new += np.transpose(tmp122, (1, 2, 0, 3, 4, 5)) * -1 - r3new += np.transpose(tmp122, (1, 2, 0, 4, 3, 5)) - r3new += np.transpose(tmp122, (1, 2, 0, 4, 5, 3)) * -1 - r3new += np.transpose(tmp122, (2, 1, 0, 3, 4, 5)) - r3new += np.transpose(tmp122, (2, 1, 0, 4, 3, 5)) * -1 - r3new += np.transpose(tmp122, (2, 1, 0, 4, 5, 3)) - del tmp122 - tmp123 = einsum(ints.tmp200, (0, 1, 2, 3, 4, 5), r1, (6, 5), (0, 1, 6, 2, 3, 4)) - del ints.tmp200 - tmp128 = np.copy(tmp123) * 0.5 - del tmp123 - tmp124 = einsum(t1, (0, 1), ints.tmp259, (2, 3, 4, 5, 6, 1), (2, 0, 3, 4, 5, 6)) - del ints.tmp259 - tmp125 = einsum(r1, (0, 1), tmp124, (2, 3, 4, 5, 6, 1), (2, 0, 3, 4, 5, 6)) - del tmp124 - tmp128 += tmp125 * 0.5 - del tmp125 - tmp126 = einsum(v.ovoo, (0, 1, 2, 3), r3, (4, 2, 3, 5, 6, 7), (4, 0, 5, 6, 7, 1)) - tmp127 = einsum(tmp126, (0, 1, 2, 3, 4, 5), t1, (6, 5), (0, 6, 1, 2, 3, 4)) - del tmp126 - tmp128 += np.transpose(tmp127, (0, 1, 2, 4, 5, 3)) * -0.5 - del tmp127 - r3new += np.transpose(tmp128, (0, 1, 2, 4, 5, 3)) - r3new += np.transpose(tmp128, (0, 2, 1, 4, 5, 3)) * -1 - r3new += np.transpose(tmp128, (1, 0, 2, 4, 5, 3)) * -1 - r3new += np.transpose(tmp128, (2, 0, 1, 4, 5, 3)) - r3new += np.transpose(tmp128, (1, 2, 0, 4, 5, 3)) - r3new += np.transpose(tmp128, (2, 1, 0, 4, 5, 3)) * -1 - del tmp128 - tmp129 = einsum(v.ovov, (0, 1, 2, 3), r3, (4, 5, 2, 6, 7, 1), (4, 5, 0, 6, 7, 3)) - tmp147 = np.copy(np.transpose(tmp129, (1, 0, 2, 4, 3, 5))) - del tmp129 - tmp130 = einsum(t2, (0, 1, 2, 3), tmp29, (4, 5, 6, 3), (0, 1, 4, 5, 6, 2)) - del tmp29 - tmp147 += np.transpose(tmp130, (1, 0, 2, 4, 3, 5)) * 0.5 - del tmp130 - tmp131 = einsum(t2, (0, 1, 2, 3), tmp49, (4, 5, 1, 6), (4, 5, 0, 2, 3, 6)) - del tmp49 - tmp147 += np.transpose(tmp131, (1, 0, 2, 4, 3, 5)) * 0.5 - del tmp131 - tmp132 = einsum(tmp14, (0, 1, 2, 3, 4, 5), t2, (6, 2, 7, 5), (0, 1, 6, 3, 4, 7)) - tmp147 += np.transpose(tmp132, (1, 0, 2, 4, 3, 5)) * -1 - del tmp132 - tmp133 = einsum(r2, (0, 1, 2, 3), ints.tmp90, (4, 5, 3, 6), (0, 1, 4, 5, 6, 2)) - del ints.tmp90 - tmp135 = np.copy(np.transpose(tmp133, (1, 0, 2, 3, 4, 5))) * -1 - del tmp133 - tmp134 = einsum(r3, (0, 1, 2, 3, 4, 5), v.ovvv, (2, 6, 7, 5), (0, 1, 3, 4, 6, 7)) - tmp135 += np.transpose(tmp134, (1, 0, 3, 2, 5, 4)) * -2 - del tmp134 - tmp136 = einsum(tmp135, (0, 1, 2, 3, 4, 5), t1, (6, 4), (6, 0, 1, 2, 3, 5)) * 0.5 - del tmp135 - tmp147 += np.transpose(tmp136, (2, 1, 0, 3, 4, 5)) - del tmp136 - tmp137 = np.copy(ints.tmp206) - del ints.tmp206 - tmp137 += ints.tmp303 * 0.5 - del ints.tmp303 - tmp138 = einsum(r1, (0, 1), tmp137, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) - del tmp137 - tmp147 += np.transpose(tmp138, (1, 2, 0, 3, 4, 5)) - del tmp138 - tmp139 = einsum(ints.tmp71, (0, 1, 2, 3), r2, (4, 2, 5, 6), (0, 1, 3, 4, 5, 6)) - tmp143 = np.copy(np.transpose(tmp139, (0, 1, 2, 3, 5, 4))) * -0.5 - del tmp139 - tmp140 = einsum(r1, (0, 1), ints.tmp82, (2, 3, 4, 5, 6, 1), (2, 3, 4, 0, 5, 6)) - del ints.tmp82 - tmp143 += np.transpose(tmp140, (0, 1, 2, 3, 5, 4)) - del tmp140 - tmp141 = einsum(v.ooov, (0, 1, 2, 3), r3, (4, 5, 1, 6, 7, 3), (4, 5, 0, 2, 6, 7)) - tmp143 += np.transpose(tmp141, (1, 0, 2, 3, 5, 4)) * -1 - del tmp141 - tmp142 = einsum(tmp14, (0, 1, 2, 3, 4, 5), t1, (6, 5), (0, 1, 6, 2, 3, 4)) * -1 - del tmp14 - tmp143 += np.transpose(tmp142, (1, 0, 3, 2, 5, 4)) - del tmp142 - tmp144 = einsum(tmp143, (0, 1, 2, 3, 4, 5), t1, (2, 6), (0, 1, 3, 6, 4, 5)) - del tmp143 - tmp147 += np.transpose(tmp144, (0, 1, 2, 5, 4, 3)) - del tmp144 - tmp145 = np.copy(ints.tmp198) * 2 - del ints.tmp198 - tmp145 += np.transpose(ints.tmp296, (0, 1, 3, 2, 4, 5)) - del ints.tmp296 - tmp145 += np.transpose(ints.tmp310, (0, 1, 3, 2, 4, 5)) * 2 - del ints.tmp310 - tmp146 = einsum(r1, (0, 1), tmp145, (2, 3, 0, 4, 5, 6), (2, 3, 4, 1, 5, 6)) * 0.5 - del tmp145 - tmp147 += np.transpose(tmp146, (0, 1, 2, 4, 5, 3)) - del tmp146 - r3new += np.transpose(tmp147, (1, 0, 2, 4, 3, 5)) * -1 - r3new += np.transpose(tmp147, (1, 0, 2, 4, 5, 3)) - r3new += np.transpose(tmp147, (1, 0, 2, 5, 4, 3)) * -1 - r3new += np.transpose(tmp147, (1, 2, 0, 4, 3, 5)) - r3new += np.transpose(tmp147, (1, 2, 0, 4, 5, 3)) * -1 - r3new += np.transpose(tmp147, (1, 2, 0, 5, 4, 3)) - r3new += np.transpose(tmp147, (2, 1, 0, 4, 3, 5)) * -1 - r3new += np.transpose(tmp147, (2, 1, 0, 4, 5, 3)) - r3new += np.transpose(tmp147, (2, 1, 0, 5, 4, 3)) * -1 - del tmp147 - tmp148 = einsum(tmp3, (0, 1), t3, (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 6, 0)) * -1 - del tmp3 - r3new += np.transpose(tmp148, (1, 2, 0, 4, 3, 5)) * -1 - r3new += np.transpose(tmp148, (1, 2, 0, 4, 5, 3)) - r3new += np.transpose(tmp148, (1, 2, 0, 5, 4, 3)) * -1 - del tmp148 - tmp149 = einsum(ints.tmp230, (0, 1, 2, 3, 4, 5), r1, (3, 6), (0, 1, 2, 4, 5, 6)) - del ints.tmp230 - tmp153 = np.copy(tmp149) - del tmp149 - tmp150 = einsum(t1, (0, 1), ints.tmp314, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 6, 1)) - del ints.tmp314 - tmp151 = einsum(tmp150, (0, 1, 2, 3, 4, 5), r1, (3, 6), (0, 1, 2, 4, 6, 5)) - del tmp150 - tmp153 += tmp151 - del tmp151 - tmp152 = einsum(t2, (0, 1, 2, 3), tmp63, (4, 5, 6, 3), (4, 0, 1, 5, 2, 6)) * -1 - del tmp63 - tmp153 += np.transpose(tmp152, (0, 2, 1, 3, 4, 5)) - del tmp152 - r3new += np.transpose(tmp153, (0, 2, 1, 3, 4, 5)) - r3new += np.transpose(tmp153, (0, 2, 1, 3, 5, 4)) * -1 - r3new += np.transpose(tmp153, (0, 2, 1, 4, 3, 5)) * -1 - r3new += np.transpose(tmp153, (0, 2, 1, 5, 3, 4)) - r3new += np.transpose(tmp153, (0, 2, 1, 4, 5, 3)) - r3new += np.transpose(tmp153, (0, 2, 1, 5, 4, 3)) * -1 - r3new += np.transpose(tmp153, (2, 0, 1, 3, 4, 5)) * -1 - r3new += np.transpose(tmp153, (2, 0, 1, 3, 5, 4)) - r3new += np.transpose(tmp153, (2, 0, 1, 4, 3, 5)) - r3new += np.transpose(tmp153, (2, 0, 1, 5, 3, 4)) * -1 - r3new += np.transpose(tmp153, (2, 0, 1, 4, 5, 3)) * -1 - r3new += np.transpose(tmp153, (2, 0, 1, 5, 4, 3)) - r3new += np.transpose(tmp153, (2, 1, 0, 3, 4, 5)) - r3new += np.transpose(tmp153, (2, 1, 0, 3, 5, 4)) * -1 - r3new += np.transpose(tmp153, (2, 1, 0, 4, 3, 5)) * -1 - r3new += np.transpose(tmp153, (2, 1, 0, 5, 3, 4)) - r3new += np.transpose(tmp153, (2, 1, 0, 4, 5, 3)) - r3new += np.transpose(tmp153, (2, 1, 0, 5, 4, 3)) * -1 - del tmp153 - tmp154 = einsum(ints.tmp204, (0, 1, 2, 3, 4, 5), r1, (3, 6), (0, 1, 2, 4, 5, 6)) - del ints.tmp204 - tmp159 = np.copy(tmp154) * 0.5 - del tmp154 - tmp155 = einsum(t1, (0, 1), ints.tmp210, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 6, 1)) - del ints.tmp210 - tmp156 = einsum(tmp155, (0, 1, 2, 3, 4, 5), r1, (3, 6), (0, 1, 2, 4, 6, 5)) - del tmp155 - tmp159 += tmp156 * 0.5 - del tmp156 - tmp157 = einsum(r3, (0, 1, 2, 3, 4, 5), v.ovvv, (6, 7, 4, 5), (0, 1, 2, 6, 3, 7)) - tmp158 = einsum(t1, (0, 1), tmp157, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 1, 6)) - del tmp157 - tmp159 += np.transpose(tmp158, (1, 2, 0, 3, 4, 5)) * -0.5 - del tmp158 - r3new += np.transpose(tmp159, (1, 2, 0, 3, 4, 5)) - r3new += np.transpose(tmp159, (1, 2, 0, 3, 5, 4)) * -1 - r3new += np.transpose(tmp159, (1, 2, 0, 4, 3, 5)) * -1 - r3new += np.transpose(tmp159, (1, 2, 0, 5, 3, 4)) - r3new += np.transpose(tmp159, (1, 2, 0, 4, 5, 3)) - r3new += np.transpose(tmp159, (1, 2, 0, 5, 4, 3)) * -1 - del tmp159 - tmp160 = einsum(t2, (0, 1, 2, 3), tmp61, (4, 1, 5, 6), (4, 0, 5, 2, 3, 6)) - del tmp61 - tmp162 = np.copy(np.transpose(tmp160, (0, 1, 2, 4, 3, 5))) * -1 - del tmp160 - tmp161 = einsum(tmp21, (0, 1, 2, 3), t2, (4, 2, 5, 6), (0, 1, 4, 5, 6, 3)) - del tmp21 - tmp162 += np.transpose(tmp161, (0, 1, 2, 4, 3, 5)) * -1 - del tmp161 - r3new += tmp162 * -1 - r3new += np.transpose(tmp162, (0, 1, 2, 3, 5, 4)) - r3new += np.transpose(tmp162, (0, 1, 2, 5, 3, 4)) * -1 - r3new += np.transpose(tmp162, (0, 2, 1, 3, 4, 5)) - r3new += np.transpose(tmp162, (0, 2, 1, 3, 5, 4)) * -1 - r3new += np.transpose(tmp162, (0, 2, 1, 5, 3, 4)) - r3new += np.transpose(tmp162, (1, 0, 2, 3, 4, 5)) - r3new += np.transpose(tmp162, (1, 0, 2, 3, 5, 4)) * -1 - r3new += np.transpose(tmp162, (1, 0, 2, 5, 3, 4)) - r3new += np.transpose(tmp162, (2, 0, 1, 3, 4, 5)) * -1 - r3new += np.transpose(tmp162, (2, 0, 1, 3, 5, 4)) - r3new += np.transpose(tmp162, (2, 0, 1, 5, 3, 4)) * -1 - r3new += np.transpose(tmp162, (1, 2, 0, 3, 4, 5)) * -1 - r3new += np.transpose(tmp162, (1, 2, 0, 3, 5, 4)) - r3new += np.transpose(tmp162, (1, 2, 0, 5, 3, 4)) * -1 - r3new += np.transpose(tmp162, (2, 1, 0, 3, 4, 5)) - r3new += np.transpose(tmp162, (2, 1, 0, 3, 5, 4)) * -1 - r3new += np.transpose(tmp162, (2, 1, 0, 5, 3, 4)) - del tmp162 - tmp163 = einsum(r1, (0, 1), ints.tmp300, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 6, 1)) - del ints.tmp300 - tmp171 = np.copy(tmp163) - del tmp163 - tmp164 = einsum(ints.tmp229, (0, 1, 2, 3, 4, 5), r1, (6, 5), (0, 1, 2, 6, 3, 4)) - del ints.tmp229 - tmp165 = einsum(t1, (0, 1), tmp164, (2, 3, 0, 4, 5, 6), (2, 3, 4, 5, 6, 1)) - del tmp164 - tmp171 += tmp165 * -1 - del tmp165 - tmp166 = einsum(r2, (0, 1, 2, 3), v.ovov, (4, 5, 6, 3), (0, 1, 4, 6, 2, 5)) - tmp169 = np.copy(np.transpose(tmp166, (1, 0, 2, 3, 4, 5))) * -1 - del tmp166 - tmp167 = einsum(v.ovvv, (0, 1, 2, 3), r2, (4, 5, 6, 3), (4, 5, 0, 6, 1, 2)) - tmp168 = einsum(tmp167, (0, 1, 2, 3, 4, 5), t1, (6, 5), (0, 1, 6, 2, 3, 4)) * -1 - del tmp167 - tmp169 += np.transpose(tmp168, (1, 0, 3, 2, 4, 5)) - del tmp168 - tmp170 = einsum(tmp169, (0, 1, 2, 3, 4, 5), t1, (2, 6), (0, 1, 3, 6, 4, 5)) - del tmp169 - tmp171 += np.transpose(tmp170, (1, 0, 2, 4, 3, 5)) * -1 - del tmp170 - r3new += np.transpose(tmp171, (1, 0, 2, 3, 4, 5)) * -1 - r3new += np.transpose(tmp171, (1, 0, 2, 3, 5, 4)) - r3new += np.transpose(tmp171, (1, 0, 2, 4, 3, 5)) - r3new += np.transpose(tmp171, (1, 0, 2, 5, 3, 4)) * -1 - r3new += np.transpose(tmp171, (1, 0, 2, 4, 5, 3)) * -1 - r3new += np.transpose(tmp171, (1, 0, 2, 5, 4, 3)) - r3new += np.transpose(tmp171, (1, 2, 0, 3, 4, 5)) - r3new += np.transpose(tmp171, (1, 2, 0, 3, 5, 4)) * -1 - r3new += np.transpose(tmp171, (1, 2, 0, 4, 3, 5)) * -1 - r3new += np.transpose(tmp171, (1, 2, 0, 5, 3, 4)) - r3new += np.transpose(tmp171, (1, 2, 0, 4, 5, 3)) - r3new += np.transpose(tmp171, (1, 2, 0, 5, 4, 3)) * -1 - r3new += np.transpose(tmp171, (2, 1, 0, 3, 4, 5)) * -1 - r3new += np.transpose(tmp171, (2, 1, 0, 3, 5, 4)) - r3new += np.transpose(tmp171, (2, 1, 0, 4, 3, 5)) - r3new += np.transpose(tmp171, (2, 1, 0, 5, 3, 4)) * -1 - r3new += np.transpose(tmp171, (2, 1, 0, 4, 5, 3)) * -1 - r3new += np.transpose(tmp171, (2, 1, 0, 5, 4, 3)) - del tmp171 - tmp172 = einsum(ints.tmp71, (0, 1, 2, 3), r3, (4, 3, 2, 5, 6, 7), (0, 1, 4, 5, 6, 7)) * -1 - del ints.tmp71 - tmp174 = np.copy(np.transpose(tmp172, (0, 1, 2, 4, 5, 3))) * 0.25 - del tmp172 - tmp173 = einsum(tmp15, (0, 1, 2, 3), t3, (4, 3, 2, 5, 6, 7), (0, 1, 4, 5, 6, 7)) * -1 - del tmp15 - tmp174 += np.transpose(tmp173, (1, 0, 2, 4, 5, 3)) * -0.25 - del tmp173 - r3new += np.transpose(tmp174, (1, 0, 2, 5, 3, 4)) * -1 - r3new += np.transpose(tmp174, (1, 2, 0, 5, 3, 4)) - r3new += np.transpose(tmp174, (2, 1, 0, 5, 3, 4)) * -1 - del tmp174 - tmp175 = einsum(r3, (0, 1, 2, 3, 4, 5), ints.tmp9, (6, 2), (6, 0, 1, 3, 4, 5)) - del ints.tmp9 - tmp182 = np.copy(np.transpose(tmp175, (0, 2, 1, 4, 5, 3))) * -0.5 - del tmp175 - tmp176 = einsum(r3, (0, 1, 2, 3, 4, 5), v.oooo, (6, 7, 1, 2), (0, 6, 7, 3, 4, 5)) - tmp182 += np.transpose(tmp176, (0, 2, 1, 4, 5, 3)) * 0.5 - del tmp176 - tmp177 = einsum(r3, (0, 1, 2, 3, 4, 5), v.oovv, (1, 2, 6, 7), (0, 3, 4, 5, 6, 7)) - tmp178 = einsum(tmp177, (0, 1, 2, 3, 4, 5), t1, (6, 4), (0, 6, 1, 2, 3, 5)) * -1 - del tmp177 - tmp179 = einsum(tmp178, (0, 1, 2, 3, 4, 5), t1, (6, 5), (0, 1, 6, 2, 3, 4)) * -1 - del tmp178 - tmp182 += np.transpose(tmp179, (0, 2, 1, 4, 5, 3)) * 0.5 - del tmp179 - tmp180 = np.copy(np.transpose(tmp7, (1, 0))) * 0.5 - del tmp7 - tmp180 += np.transpose(tmp11, (1, 0)) - del tmp11 - tmp181 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp180, (2, 6), (0, 1, 6, 3, 4, 5)) * -1 - del tmp180 - tmp182 += np.transpose(tmp181, (2, 1, 0, 4, 5, 3)) - del tmp181 - r3new += np.transpose(tmp182, (0, 1, 2, 5, 3, 4)) * -1 - r3new += np.transpose(tmp182, (1, 0, 2, 5, 3, 4)) - r3new += np.transpose(tmp182, (1, 2, 0, 5, 3, 4)) * -1 - del tmp182 - tmp183 = einsum(r2, (0, 1, 2, 3), v.ooov, (4, 5, 1, 6), (0, 4, 5, 2, 3, 6)) - tmp192 = np.copy(np.transpose(tmp183, (0, 2, 1, 4, 3, 5))) - del tmp183 - tmp184 = einsum(r2, (0, 1, 2, 3), v.oooo, (4, 5, 6, 1), (0, 4, 5, 6, 2, 3)) - tmp185 = einsum(t1, (0, 1), tmp184, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 6, 1)) * -1 - del tmp184 - tmp192 += np.transpose(tmp185, (0, 2, 1, 4, 3, 5)) * -1 - del tmp185 - tmp186 = einsum(tmp31, (0, 1, 2, 3), t2, (4, 5, 6, 3), (0, 4, 5, 1, 2, 6)) * -1 - del tmp31 - tmp192 += np.transpose(tmp186, (0, 2, 1, 4, 3, 5)) * 0.5 - del tmp186 - tmp187 = einsum(tmp16, (0, 1, 2, 3), t2, (4, 5, 6, 2), (4, 5, 0, 1, 6, 3)) * -1 - del tmp16 - tmp188 = einsum(tmp187, (0, 1, 2, 3, 4, 5), t1, (6, 5), (6, 0, 1, 2, 3, 4)) - del tmp187 - tmp192 += np.transpose(tmp188, (0, 2, 1, 4, 3, 5)) * 0.5 - del tmp188 - tmp189 = einsum(tmp33, (0, 1, 2, 3), r2, (4, 5, 6, 3), (4, 5, 0, 6, 1, 2)) * -0.5 - del tmp33 - tmp192 += np.transpose(tmp189, (2, 1, 0, 4, 5, 3)) - del tmp189 - tmp190 = np.copy(ints.tmp172) - del ints.tmp172 - tmp190 += ints.tmp257 - del ints.tmp257 - tmp191 = einsum(r1, (0, 1), tmp190, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) - del tmp190 - tmp192 += np.transpose(tmp191, (0, 1, 2, 4, 5, 3)) - del tmp191 - r3new += np.transpose(tmp192, (0, 2, 1, 4, 3, 5)) * -1 - r3new += np.transpose(tmp192, (0, 2, 1, 4, 5, 3)) - r3new += np.transpose(tmp192, (0, 2, 1, 5, 4, 3)) * -1 - r3new += np.transpose(tmp192, (2, 0, 1, 4, 3, 5)) - r3new += np.transpose(tmp192, (2, 0, 1, 4, 5, 3)) * -1 - r3new += np.transpose(tmp192, (2, 0, 1, 5, 4, 3)) - r3new += np.transpose(tmp192, (2, 1, 0, 4, 3, 5)) * -1 - r3new += np.transpose(tmp192, (2, 1, 0, 4, 5, 3)) - r3new += np.transpose(tmp192, (2, 1, 0, 5, 4, 3)) * -1 - del tmp192 - tmp193 = einsum(t3, (0, 1, 2, 3, 4, 5), v.oovv, (6, 2, 7, 5), (0, 1, 6, 3, 4, 7)) - tmp194 = einsum(tmp193, (0, 1, 2, 3, 4, 5), r2, (6, 2, 7, 5), (6, 0, 1, 7, 3, 4)) - del tmp193 - r3new += np.transpose(tmp194, (0, 2, 1, 3, 5, 4)) - r3new += np.transpose(tmp194, (0, 2, 1, 5, 3, 4)) * -1 - r3new += np.transpose(tmp194, (0, 2, 1, 5, 4, 3)) - r3new += np.transpose(tmp194, (2, 0, 1, 3, 5, 4)) * -1 - r3new += np.transpose(tmp194, (2, 0, 1, 5, 3, 4)) - r3new += np.transpose(tmp194, (2, 0, 1, 5, 4, 3)) * -1 - r3new += np.transpose(tmp194, (2, 1, 0, 3, 5, 4)) - r3new += np.transpose(tmp194, (2, 1, 0, 5, 3, 4)) * -1 - r3new += np.transpose(tmp194, (2, 1, 0, 5, 4, 3)) - del tmp194 - tmp195 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp9, (6, 2), (6, 0, 1, 3, 4, 5)) * -1 - del tmp9 - tmp198 = np.copy(np.transpose(tmp195, (0, 2, 1, 4, 5, 3))) * -1 - del tmp195 - tmp196 = np.copy(f.oo) - tmp196 += ints.tmp0 - del ints.tmp0 - tmp196 += np.transpose(ints.tmp13, (1, 0)) - del ints.tmp13 - tmp196 += ints.tmp2 - del ints.tmp2 - tmp197 = einsum(tmp196, (0, 1), r3, (2, 3, 0, 4, 5, 6), (2, 3, 1, 4, 5, 6)) * -1 - del tmp196 - tmp198 += np.transpose(tmp197, (2, 1, 0, 4, 5, 3)) - del tmp197 - r3new += np.transpose(tmp198, (0, 1, 2, 5, 3, 4)) * -1 - r3new += np.transpose(tmp198, (1, 0, 2, 5, 3, 4)) - r3new += np.transpose(tmp198, (1, 2, 0, 5, 3, 4)) * -1 - del tmp198 - tmp199 = einsum(ints.tmp25, (0, 1, 2, 3), r2, (4, 0, 5, 6), (1, 2, 4, 3, 5, 6)) - del ints.tmp25 - tmp201 = np.copy(np.transpose(tmp199, (0, 1, 2, 3, 5, 4))) * -1 - del tmp199 - tmp200 = einsum(tmp50, (0, 1, 2, 3), t2, (4, 2, 5, 6), (0, 1, 4, 3, 5, 6)) * -1 - del tmp50 - tmp201 += np.transpose(tmp200, (1, 0, 2, 3, 5, 4)) - del tmp200 - r3new += np.transpose(tmp201, (1, 0, 2, 3, 4, 5)) * -1 - r3new += np.transpose(tmp201, (1, 0, 2, 4, 3, 5)) - r3new += np.transpose(tmp201, (1, 0, 2, 4, 5, 3)) * -1 - r3new += np.transpose(tmp201, (1, 2, 0, 3, 4, 5)) - r3new += np.transpose(tmp201, (1, 2, 0, 4, 3, 5)) * -1 - r3new += np.transpose(tmp201, (1, 2, 0, 4, 5, 3)) - r3new += np.transpose(tmp201, (2, 1, 0, 3, 4, 5)) * -1 - r3new += np.transpose(tmp201, (2, 1, 0, 4, 3, 5)) - r3new += np.transpose(tmp201, (2, 1, 0, 4, 5, 3)) * -1 - del tmp201 - tmp202 = einsum(r1, (0, 1), v.ooov, (2, 3, 4, 1), (0, 2, 3, 4)) - tmp203 = einsum(tmp202, (0, 1, 2, 3), t2, (4, 1, 5, 6), (0, 4, 2, 3, 5, 6)) * -1 - del tmp202 - tmp204 = einsum(tmp203, (0, 1, 2, 3, 4, 5), t1, (2, 6), (0, 1, 3, 6, 4, 5)) - del tmp203 - tmp208 = np.copy(np.transpose(tmp204, (0, 1, 2, 3, 5, 4))) - del tmp204 - tmp205 = einsum(r2, (0, 1, 2, 3), tmp70, (4, 1, 5, 6), (0, 4, 5, 2, 3, 6)) * -1 - del tmp70 - tmp208 += np.transpose(tmp205, (1, 2, 0, 5, 4, 3)) - del tmp205 - tmp206 = np.copy(np.transpose(tmp65, (0, 2, 1, 3))) * -1 - del tmp65 - tmp206 += tmp67 - del tmp67 - tmp207 = einsum(tmp206, (0, 1, 2, 3), t2, (4, 2, 5, 6), (4, 0, 1, 5, 6, 3)) * -1 - del tmp206 - tmp208 += np.transpose(tmp207, (1, 2, 0, 5, 4, 3)) * -1 - del tmp207 - r3new += tmp208 - r3new += np.transpose(tmp208, (0, 1, 2, 4, 3, 5)) * -1 - r3new += np.transpose(tmp208, (0, 1, 2, 4, 5, 3)) - r3new += np.transpose(tmp208, (0, 2, 1, 3, 4, 5)) * -1 - r3new += np.transpose(tmp208, (0, 2, 1, 4, 3, 5)) - r3new += np.transpose(tmp208, (0, 2, 1, 4, 5, 3)) * -1 - r3new += np.transpose(tmp208, (1, 0, 2, 3, 4, 5)) * -1 - r3new += np.transpose(tmp208, (1, 0, 2, 4, 3, 5)) - r3new += np.transpose(tmp208, (1, 0, 2, 4, 5, 3)) * -1 - r3new += np.transpose(tmp208, (2, 0, 1, 3, 4, 5)) - r3new += np.transpose(tmp208, (2, 0, 1, 4, 3, 5)) * -1 - r3new += np.transpose(tmp208, (2, 0, 1, 4, 5, 3)) - r3new += np.transpose(tmp208, (1, 2, 0, 3, 4, 5)) - r3new += np.transpose(tmp208, (1, 2, 0, 4, 3, 5)) * -1 - r3new += np.transpose(tmp208, (1, 2, 0, 4, 5, 3)) - r3new += np.transpose(tmp208, (2, 1, 0, 3, 4, 5)) * -1 - r3new += np.transpose(tmp208, (2, 1, 0, 4, 3, 5)) - r3new += np.transpose(tmp208, (2, 1, 0, 4, 5, 3)) * -1 - del tmp208 - tmp209 = einsum(ints.tmp67, (0, 1, 2, 3), r2, (4, 5, 6, 3), (0, 4, 5, 1, 2, 6)) - del ints.tmp67 - tmp214 = np.copy(np.transpose(tmp209, (0, 2, 1, 3, 4, 5))) * -1 - del tmp209 - tmp210 = einsum(r2, (0, 1, 2, 3), ints.tmp11, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) - del ints.tmp11 - tmp211 = einsum(tmp210, (0, 1, 2, 3, 4, 5), t1, (1, 6), (0, 2, 3, 4, 5, 6)) - del tmp210 - tmp214 += np.transpose(tmp211, (0, 2, 1, 3, 4, 5)) - del tmp211 - tmp212 = einsum(tmp0, (0, 1, 2, 3), t2, (4, 5, 6, 3), (0, 4, 5, 1, 2, 6)) * -1 - del tmp0 - tmp213 = einsum(t1, (0, 1), tmp212, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 1, 6)) * -1 - del tmp212 - tmp214 += np.transpose(tmp213, (0, 2, 1, 3, 4, 5)) * -1 - del tmp213 - r3new += tmp214 - r3new += np.transpose(tmp214, (0, 1, 2, 3, 5, 4)) * -1 - r3new += np.transpose(tmp214, (0, 1, 2, 4, 3, 5)) * -1 - r3new += np.transpose(tmp214, (0, 1, 2, 5, 3, 4)) - r3new += np.transpose(tmp214, (0, 1, 2, 4, 5, 3)) - r3new += np.transpose(tmp214, (0, 1, 2, 5, 4, 3)) * -1 - r3new += np.transpose(tmp214, (1, 0, 2, 3, 4, 5)) * -1 - r3new += np.transpose(tmp214, (1, 0, 2, 3, 5, 4)) - r3new += np.transpose(tmp214, (1, 0, 2, 4, 3, 5)) - r3new += np.transpose(tmp214, (1, 0, 2, 5, 3, 4)) * -1 - r3new += np.transpose(tmp214, (1, 0, 2, 4, 5, 3)) * -1 - r3new += np.transpose(tmp214, (1, 0, 2, 5, 4, 3)) - r3new += np.transpose(tmp214, (1, 2, 0, 3, 4, 5)) - r3new += np.transpose(tmp214, (1, 2, 0, 3, 5, 4)) * -1 - r3new += np.transpose(tmp214, (1, 2, 0, 4, 3, 5)) * -1 - r3new += np.transpose(tmp214, (1, 2, 0, 5, 3, 4)) - r3new += np.transpose(tmp214, (1, 2, 0, 4, 5, 3)) - r3new += np.transpose(tmp214, (1, 2, 0, 5, 4, 3)) * -1 - del tmp214 - tmp215 = einsum(ints.tmp4, (0, 1), r3, (2, 3, 4, 5, 6, 1), (2, 3, 4, 0, 5, 6)) - del ints.tmp4 - tmp218 = np.copy(np.transpose(tmp215, (1, 2, 0, 3, 5, 4))) * -1 - del tmp215 - tmp216 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp8, (6, 5), (0, 1, 2, 6, 3, 4)) * -1 - del tmp8 - tmp217 = einsum(tmp216, (0, 1, 2, 3, 4, 5), t1, (3, 6), (0, 1, 2, 6, 4, 5)) * -1 - del tmp216 - tmp218 += np.transpose(tmp217, (1, 2, 0, 3, 5, 4)) * -1 - del tmp217 - r3new += np.transpose(tmp218, (2, 0, 1, 3, 4, 5)) * -1 - r3new += np.transpose(tmp218, (2, 0, 1, 4, 3, 5)) - r3new += np.transpose(tmp218, (2, 0, 1, 4, 5, 3)) * -1 - del tmp218 - tmp219 = einsum(r2, (0, 1, 2, 3), ints.tmp88, (4, 5, 1, 6), (4, 5, 0, 6, 2, 3)) - del ints.tmp88 - tmp224 = np.copy(np.transpose(tmp219, (0, 1, 2, 3, 5, 4))) * -1 - del tmp219 - tmp220 = einsum(tmp66, (0, 1, 2, 3), t2, (4, 1, 5, 6), (0, 4, 2, 3, 5, 6)) * -1 - del tmp66 - tmp224 += np.transpose(tmp220, (0, 1, 2, 3, 5, 4)) - del tmp220 - tmp221 = einsum(r1, (0, 1), tmp77, (2, 3, 4, 1), (0, 2, 3, 4)) - del tmp77 - tmp222 = einsum(tmp221, (0, 1, 2, 3), t2, (4, 2, 5, 6), (0, 1, 4, 3, 5, 6)) * -1 - del tmp221 - tmp223 = einsum(tmp222, (0, 1, 2, 3, 4, 5), t1, (3, 6), (0, 1, 2, 6, 4, 5)) - del tmp222 - tmp224 += np.transpose(tmp223, (0, 1, 2, 3, 5, 4)) * -1 - del tmp223 - r3new += tmp224 * -1 - r3new += np.transpose(tmp224, (0, 1, 2, 4, 3, 5)) - r3new += np.transpose(tmp224, (0, 1, 2, 4, 5, 3)) * -1 - r3new += np.transpose(tmp224, (0, 2, 1, 3, 4, 5)) - r3new += np.transpose(tmp224, (0, 2, 1, 4, 3, 5)) * -1 - r3new += np.transpose(tmp224, (0, 2, 1, 4, 5, 3)) - r3new += np.transpose(tmp224, (1, 0, 2, 3, 4, 5)) - r3new += np.transpose(tmp224, (1, 0, 2, 4, 3, 5)) * -1 - r3new += np.transpose(tmp224, (1, 0, 2, 4, 5, 3)) - r3new += np.transpose(tmp224, (2, 0, 1, 3, 4, 5)) * -1 - r3new += np.transpose(tmp224, (2, 0, 1, 4, 3, 5)) - r3new += np.transpose(tmp224, (2, 0, 1, 4, 5, 3)) * -1 - r3new += np.transpose(tmp224, (1, 2, 0, 3, 4, 5)) * -1 - r3new += np.transpose(tmp224, (1, 2, 0, 4, 3, 5)) - r3new += np.transpose(tmp224, (1, 2, 0, 4, 5, 3)) * -1 - r3new += np.transpose(tmp224, (2, 1, 0, 3, 4, 5)) - r3new += np.transpose(tmp224, (2, 1, 0, 4, 3, 5)) * -1 - r3new += np.transpose(tmp224, (2, 1, 0, 4, 5, 3)) - del tmp224 - tmp225 = einsum(ints.tmp142, (0, 1, 2, 3, 4, 5), r1, (0, 6), (1, 2, 3, 4, 5, 6)) - del ints.tmp142 - r3new += np.transpose(tmp225, (1, 2, 0, 4, 3, 5)) - r3new += np.transpose(tmp225, (1, 2, 0, 4, 5, 3)) * -1 - r3new += np.transpose(tmp225, (1, 2, 0, 5, 4, 3)) - del tmp225 - tmp226 = einsum(ints.tmp175, (0, 1, 2, 3, 4, 5), r1, (2, 6), (0, 1, 3, 4, 5, 6)) - del ints.tmp175 - tmp229 = np.copy(tmp226) - del tmp226 - tmp227 = einsum(t1, (0, 1), ints.tmp222, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 6, 1)) - del ints.tmp222 - tmp228 = einsum(r1, (0, 1), tmp227, (2, 3, 0, 4, 5, 6), (2, 3, 4, 5, 1, 6)) - del tmp227 - tmp229 += tmp228 - del tmp228 - r3new += np.transpose(tmp229, (1, 0, 2, 3, 4, 5)) - r3new += np.transpose(tmp229, (1, 0, 2, 3, 5, 4)) * -1 - r3new += np.transpose(tmp229, (1, 0, 2, 4, 3, 5)) * -1 - r3new += np.transpose(tmp229, (1, 0, 2, 5, 3, 4)) - r3new += np.transpose(tmp229, (1, 0, 2, 4, 5, 3)) - r3new += np.transpose(tmp229, (1, 0, 2, 5, 4, 3)) * -1 - r3new += np.transpose(tmp229, (1, 2, 0, 3, 4, 5)) * -1 - r3new += np.transpose(tmp229, (1, 2, 0, 3, 5, 4)) - r3new += np.transpose(tmp229, (1, 2, 0, 4, 3, 5)) - r3new += np.transpose(tmp229, (1, 2, 0, 5, 3, 4)) * -1 - r3new += np.transpose(tmp229, (1, 2, 0, 4, 5, 3)) * -1 - r3new += np.transpose(tmp229, (1, 2, 0, 5, 4, 3)) - r3new += np.transpose(tmp229, (2, 1, 0, 3, 4, 5)) - r3new += np.transpose(tmp229, (2, 1, 0, 3, 5, 4)) * -1 - r3new += np.transpose(tmp229, (2, 1, 0, 4, 3, 5)) * -1 - r3new += np.transpose(tmp229, (2, 1, 0, 5, 3, 4)) - r3new += np.transpose(tmp229, (2, 1, 0, 4, 5, 3)) - r3new += np.transpose(tmp229, (2, 1, 0, 5, 4, 3)) * -1 - del tmp229 - tmp230 = einsum(r1, (0, 1), ints.tmp219, (2, 3, 0, 4, 5, 6), (2, 3, 4, 5, 6, 1)) - del ints.tmp219 - tmp233 = np.copy(tmp230) - del tmp230 - tmp231 = einsum(ints.tmp102, (0, 1, 2, 3), r2, (4, 1, 5, 6), (0, 2, 3, 4, 5, 6)) - del ints.tmp102 - tmp232 = einsum(t1, (0, 1), tmp231, (2, 0, 3, 4, 5, 6), (2, 3, 4, 5, 6, 1)) - del tmp231 - tmp233 += np.transpose(tmp232, (0, 1, 2, 4, 3, 5)) * -1 - del tmp232 - r3new += np.transpose(tmp233, (0, 1, 2, 4, 3, 5)) - r3new += np.transpose(tmp233, (0, 1, 2, 4, 5, 3)) * -1 - r3new += np.transpose(tmp233, (0, 1, 2, 5, 4, 3)) - r3new += np.transpose(tmp233, (0, 2, 1, 4, 3, 5)) * -1 - r3new += np.transpose(tmp233, (0, 2, 1, 4, 5, 3)) - r3new += np.transpose(tmp233, (0, 2, 1, 5, 4, 3)) * -1 - r3new += np.transpose(tmp233, (1, 0, 2, 4, 3, 5)) * -1 - r3new += np.transpose(tmp233, (1, 0, 2, 4, 5, 3)) - r3new += np.transpose(tmp233, (1, 0, 2, 5, 4, 3)) * -1 - r3new += np.transpose(tmp233, (2, 0, 1, 4, 3, 5)) - r3new += np.transpose(tmp233, (2, 0, 1, 4, 5, 3)) * -1 - r3new += np.transpose(tmp233, (2, 0, 1, 5, 4, 3)) - r3new += np.transpose(tmp233, (1, 2, 0, 4, 3, 5)) - r3new += np.transpose(tmp233, (1, 2, 0, 4, 5, 3)) * -1 - r3new += np.transpose(tmp233, (1, 2, 0, 5, 4, 3)) - r3new += np.transpose(tmp233, (2, 1, 0, 4, 3, 5)) * -1 - r3new += np.transpose(tmp233, (2, 1, 0, 4, 5, 3)) - r3new += np.transpose(tmp233, (2, 1, 0, 5, 4, 3)) * -1 - del tmp233 - tmp234 = einsum(ints.tmp253, (0, 1, 2, 3, 4, 5), r1, (3, 6), (0, 1, 2, 4, 5, 6)) - del ints.tmp253 - tmp237 = np.copy(tmp234) - del tmp234 - tmp235 = einsum(tmp10, (0, 1), r3, (2, 3, 4, 5, 6, 1), (2, 3, 4, 0, 5, 6)) - del tmp10 - tmp236 = einsum(tmp235, (0, 1, 2, 3, 4, 5), t1, (3, 6), (1, 2, 0, 6, 4, 5)) - del tmp235 - tmp237 += np.transpose(tmp236, (1, 2, 0, 5, 4, 3)) - del tmp236 - r3new += np.transpose(tmp237, (1, 2, 0, 4, 3, 5)) * -1 - r3new += np.transpose(tmp237, (1, 2, 0, 4, 5, 3)) - r3new += np.transpose(tmp237, (1, 2, 0, 5, 4, 3)) * -1 - del tmp237 - tmp238 = einsum(tmp6, (0, 1), t3, (2, 3, 0, 4, 5, 6), (2, 3, 1, 4, 5, 6)) * -1 - del tmp6 - r3new += np.transpose(tmp238, (1, 0, 2, 4, 5, 3)) * -1 - r3new += np.transpose(tmp238, (1, 2, 0, 4, 5, 3)) - r3new += np.transpose(tmp238, (2, 1, 0, 4, 5, 3)) * -1 - del tmp238 - tmp239 = einsum(ints.tmp125, (0, 1, 2, 3), r2, (4, 2, 5, 6), (0, 1, 3, 4, 5, 6)) - del ints.tmp125 - tmp240 = einsum(tmp239, (0, 1, 2, 3, 4, 5), t1, (2, 6), (0, 1, 3, 4, 5, 6)) - del tmp239 - r3new += np.transpose(tmp240, (1, 0, 2, 4, 3, 5)) - r3new += np.transpose(tmp240, (1, 0, 2, 4, 5, 3)) * -1 - r3new += np.transpose(tmp240, (1, 0, 2, 5, 4, 3)) - r3new += np.transpose(tmp240, (1, 2, 0, 4, 3, 5)) * -1 - r3new += np.transpose(tmp240, (1, 2, 0, 4, 5, 3)) - r3new += np.transpose(tmp240, (1, 2, 0, 5, 4, 3)) * -1 - r3new += np.transpose(tmp240, (2, 1, 0, 4, 3, 5)) - r3new += np.transpose(tmp240, (2, 1, 0, 4, 5, 3)) * -1 - r3new += np.transpose(tmp240, (2, 1, 0, 5, 4, 3)) - del tmp240 - tmp244 = np.copy(ints.tmp141) - del ints.tmp141 - tmp244 += ints.tmp171 * 0.5 - del ints.tmp171 - tmp244 += ints.tmp178 * 0.5 - del ints.tmp178 - tmp244 += ints.tmp252 - del ints.tmp252 - tmp244 += ints.tmp271 - del ints.tmp271 - tmp244 += ints.tmp274 - del ints.tmp274 - tmp244 += ints.tmp295 * 0.25 - del ints.tmp295 - tmp244 += ints.tmp309 * 0.5 - del ints.tmp309 - tmp244 += ints.tmp320 * 0.5 - del ints.tmp320 - tmp244 += ints.tmp334 - del ints.tmp334 - tmp244 += v.oovv - tmp241 = np.copy(ints.tmp153) - del ints.tmp153 - tmp241 += ints.tmp197 * 0.5 - del ints.tmp197 - tmp241 += ints.tmp218 * 0.5 - del ints.tmp218 - tmp241 += ints.tmp294 * 0.5 - del ints.tmp294 - tmp241 += ints.tmp306 - del ints.tmp306 - tmp241 += ints.tmp325 - del ints.tmp325 - tmp241 += ints.tmp137 * -1 - del ints.tmp137 - tmp241 += ints.tmp145 * -1 - del ints.tmp145 - tmp241 += ints.tmp217 * -1 - del ints.tmp217 - tmp241 += ints.tmp256 * -0.5 - del ints.tmp256 - tmp244 += tmp241 * -1 - tmp244 += np.transpose(tmp241, (1, 0, 2, 3)) - tmp242 = np.copy(ints.tmp138) - tmp242 += ints.tmp152 - tmp242 += ints.tmp203 * 0.5 - tmp242 += ints.tmp233 * 0.5 - tmp242 += ints.tmp298 * 0.5 - del ints.tmp298 - tmp242 += ints.tmp307 - tmp242 += ints.tmp326 - tmp242 += ints.tmp146 * -1 - tmp242 += ints.tmp227 * -1 - tmp242 += ints.tmp263 * -0.5 - tmp242 += ints.tmp299 * -1 - tmp244 += tmp242 * -1 - tmp244 += np.transpose(tmp242, (0, 1, 3, 2)) - del tmp242 - tmp243 = np.copy(ints.tmp221) - del ints.tmp221 - tmp243 += ints.tmp228 - del ints.tmp228 - tmp243 += ints.tmp272 - del ints.tmp272 - tmp243 += ints.tmp174 * -1 - del ints.tmp174 - tmp243 += ints.tmp312 * -1 - del ints.tmp312 - tmp244 += tmp243 - tmp244 += np.transpose(tmp243, (0, 1, 3, 2)) * -1 - tmp244 += np.transpose(tmp243, (1, 0, 2, 3)) * -1 - tmp244 += np.transpose(tmp243, (1, 0, 3, 2)) - r3new += einsum(r1, (0, 1), tmp244, (2, 3, 4, 5), (0, 3, 2, 1, 5, 4)) - r3new += einsum(tmp244, (0, 1, 2, 3), r1, (4, 5), (1, 4, 0, 3, 5, 2)) - r3new += einsum(tmp244, (0, 1, 2, 3), r1, (4, 5), (4, 1, 0, 3, 2, 5)) - r3new += einsum(tmp244, (0, 1, 2, 3), r1, (4, 5), (1, 0, 4, 3, 2, 5)) - r3new += einsum(r1, (0, 1), tmp244, (2, 3, 4, 5), (3, 0, 2, 1, 5, 4)) * -1 - r3new += einsum(tmp244, (0, 1, 2, 3), r1, (4, 5), (4, 1, 0, 3, 5, 2)) * -1 - r3new += einsum(tmp244, (0, 1, 2, 3), r1, (4, 5), (1, 0, 4, 3, 5, 2)) * -1 - r3new += einsum(tmp244, (0, 1, 2, 3), r1, (4, 5), (1, 4, 0, 3, 2, 5)) * -1 - del tmp244 - tmp246 = np.copy(v.oovv) - tmp246 += tmp241 * -1 - tmp246 += np.transpose(tmp241, (1, 0, 2, 3)) - del tmp241 - tmp245 = np.copy(ints.tmp138) - del ints.tmp138 - tmp245 += ints.tmp152 - del ints.tmp152 - tmp245 += ints.tmp203 * 0.5 - del ints.tmp203 - tmp245 += ints.tmp233 * 0.5 - del ints.tmp233 - tmp245 += ints.tmp307 - del ints.tmp307 - tmp245 += ints.tmp326 - del ints.tmp326 - tmp245 += ints.tmp146 * -1 - del ints.tmp146 - tmp245 += ints.tmp227 * -1 - del ints.tmp227 - tmp245 += ints.tmp263 * -0.5 - del ints.tmp263 - tmp245 += ints.tmp299 * -1 - del ints.tmp299 - tmp246 += tmp245 * -1 - tmp246 += np.transpose(tmp245, (0, 1, 3, 2)) - del tmp245 - tmp246 += tmp243 - tmp246 += np.transpose(tmp243, (0, 1, 3, 2)) * -1 - tmp246 += np.transpose(tmp243, (1, 0, 2, 3)) * -1 - tmp246 += np.transpose(tmp243, (1, 0, 3, 2)) - del tmp243 - r3new += einsum(r1, (0, 1), tmp246, (2, 3, 4, 5), (3, 2, 0, 1, 5, 4)) - del tmp246 - r3new += einsum(r2, (0, 1, 2, 3), tmp91, (4, 5), (4, 0, 1, 5, 2, 3)) * -0.5 - r3new += einsum(r2, (0, 1, 2, 3), tmp92, (4, 5), (0, 1, 4, 5, 2, 3)) * -1 - r3new += einsum(r2, (0, 1, 2, 3), tmp91, (4, 5), (0, 4, 1, 2, 5, 3)) * -0.5 - r3new += einsum(tmp92, (0, 1), r2, (2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) * -1 - r3new += einsum(r2, (0, 1, 2, 3), tmp91, (4, 5), (0, 4, 1, 5, 2, 3)) * 0.5 - r3new += einsum(r2, (0, 1, 2, 3), tmp91, (4, 5), (4, 0, 1, 2, 5, 3)) * 0.5 - r3new += einsum(tmp91, (0, 1), r2, (2, 3, 4, 5), (2, 3, 0, 4, 1, 5)) * 0.5 - del tmp91 - r3new += einsum(tmp92, (0, 1), r2, (2, 3, 4, 5), (2, 0, 3, 4, 5, 1)) - del tmp92 - - return {f"r1new": r1new, f"r2new": r2new, f"r3new": r3new} - -def hbar_lmatvec_ip_intermediates(f=None, t1=None, t2=None, t3=None, v=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-10-22T10:40:11.204470. - - Parameters - ---------- - f : array - Fock matrix. - t1 : array - T1 amplitudes. - t2 : array - T2 amplitudes. - t3 : array - T3 amplitudes. - v : array - Electron repulsion integrals. - - Returns - ------- - tmp0 : array - tmp10 : array - tmp15 : array - tmp17 : array - tmp18 : array - tmp19 : array - tmp2 : array - tmp20 : array - tmp21 : array - tmp25 : array - tmp26 : array - tmp28 : array - tmp31 : array - tmp33 : array - tmp35 : array - tmp36 : array - tmp38 : array - tmp45 : array - tmp52 : array - tmp53 : array - tmp55 : array - tmp68 : array - tmp97 : array - """ - - tmp0 = einsum(t1, (0, 1), f.ov, (2, 1), (2, 0)) - tmp15 = np.copy(np.transpose(v.oooo, (0, 2))) - tmp17 = einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 2, 3), (0, 4)) - tmp2 = einsum(t1, (0, 1), f.vv, (2, 1), (0, 2)) - tmp10 = einsum(t1, (0, 1), v.ooov, (2, 0, 3, 1), (2, 3)) - tmp18 = einsum(t2, (0, 1, 2, 3), v.ovoo, (4, 3, 0, 1), (4, 2)) - tmp20 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 2, 3), (0, 4)) - tmp25 = einsum(t3, (0, 1, 2, 3, 4, 5), v.oovv, (1, 2, 4, 5), (0, 3)) - tmp19 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 1, 5, 3), (0, 4, 5, 2)) - tmp21 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 5, 2, 3), (4, 5, 0, 1)) - tmp26 = einsum(t3, (0, 1, 2, 3, 4, 5), v.oovv, (6, 2, 4, 5), (0, 1, 6, 3)) - tmp28 = einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 0, 6, 2, 3), (4, 5, 6, 1)) - tmp33 = einsum(v.oovv, (0, 1, 2, 3), t2, (4, 1, 5, 3), (4, 0, 5, 2)) - tmp36 = einsum(t2, (0, 1, 2, 3), v.oovv, (0, 1, 4, 3), (2, 4)) - tmp38 = einsum(v.oovv, (0, 1, 2, 3), t2, (4, 5, 2, 3), (4, 5, 0, 1)) - tmp45 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 0, 5, 3), (4, 5, 1, 2)) - tmp53 = einsum(v.ooov, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) - tmp55 = einsum(v.ovvv, (0, 1, 2, 3), t1, (0, 3), (1, 2)) - tmp30 = np.copy(np.transpose(v.ooov, (0, 3))) - tmp31 = einsum(tmp30, (0, 1), t1, (2, 1), (2, 0)) - del tmp30 - tmp35 = einsum(t1, (0, 1), v.oovv, (2, 0, 3, 1), (2, 3)) - tmp52 = einsum(tmp35, (0, 1), t1, (2, 1), (2, 0)) - tmp68 = einsum(t1, (0, 1), v.oovv, (2, 3, 4, 1), (0, 2, 3, 4)) - tmp97 = einsum(tmp68, (0, 1, 2, 3), t1, (4, 3), (0, 4, 1, 2)) * -1 - - return {f"tmp0": tmp0, f"tmp10": tmp10, f"tmp15": tmp15, f"tmp17": tmp17, f"tmp18": tmp18, f"tmp19": tmp19, f"tmp2": tmp2, f"tmp20": tmp20, f"tmp21": tmp21, f"tmp25": tmp25, f"tmp26": tmp26, f"tmp28": tmp28, f"tmp31": tmp31, f"tmp33": tmp33, f"tmp35": tmp35, f"tmp36": tmp36, f"tmp38": tmp38, f"tmp45": tmp45, f"tmp52": tmp52, f"tmp53": tmp53, f"tmp55": tmp55, f"tmp68": tmp68, f"tmp97": tmp97} - -def hbar_lmatvec_ip(f=None, r1=None, r2=None, r3=None, t1=None, t2=None, t3=None, v=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-10-22T10:40:11.257102. - - Parameters - ---------- - f : array - Fock matrix. - r1 : array - R1 amplitudes. - r2 : array - R2 amplitudes. - r3 : array - R3 amplitudes. - t1 : array - T1 amplitudes. - t2 : array - T2 amplitudes. - t3 : array - T3 amplitudes. - v : array - Electron repulsion integrals. - - Returns - ------- - r1new : array - Updated R1 residuals. - r2new : array - Updated R2 residuals. - r3new : array - Updated R3 residuals. - """ - - ints = kwargs["ints"] - tmp4 = einsum(r3, (0, 1, 2, 3, 4), v.vvvv, (5, 6, 3, 4), (0, 1, 2, 5, 6)) - r3new = np.copy(np.transpose(tmp4, (1, 2, 0, 4, 3))) * -0.5 - tmp30 = einsum(v.ovvv, (0, 1, 2, 3), r3, (4, 5, 6, 7, 1), (4, 5, 6, 0, 7, 2, 3)) - tmp31 = einsum(t1, (0, 1), tmp30, (2, 3, 4, 0, 1, 5, 6), (2, 3, 4, 5, 6)) - r3new += np.transpose(tmp31, (1, 2, 0, 4, 3)) - tmp25 = einsum(v.ovvv, (0, 1, 2, 3), r2, (4, 5, 1), (4, 5, 0, 2, 3)) - tmp83 = np.copy(np.transpose(tmp25, (1, 0, 2, 4, 3))) - tmp80 = np.copy(ints.tmp38) * 0.5 - tmp80 += np.transpose(ints.tmp53, (3, 0, 1, 2)) * 2 - tmp80 += ints.tmp97 - tmp81 = einsum(r3, (0, 1, 2, 3, 4), tmp80, (1, 2, 5, 6), (0, 5, 6, 3, 4)) * -0.5 - del tmp80 - tmp83 += np.transpose(tmp81, (2, 1, 0, 4, 3)) - del tmp81 - tmp39 = einsum(t1, (0, 1), r2, (2, 3, 1), (2, 3, 0)) - tmp40 = np.copy(np.transpose(tmp39, (1, 0, 2))) * -2 - tmp11 = einsum(t2, (0, 1, 2, 3), r3, (4, 5, 1, 2, 3), (4, 5, 0)) - tmp40 += np.transpose(tmp11, (1, 0, 2)) * -1 - tmp82 = einsum(v.oovv, (0, 1, 2, 3), tmp40, (4, 5, 1), (0, 4, 5, 2, 3)) * -0.5 - tmp83 += np.transpose(tmp82, (2, 1, 0, 4, 3)) - del tmp82 - r3new += tmp83 * -1 - r3new += np.transpose(tmp83, (0, 2, 1, 3, 4)) - r3new += np.transpose(tmp83, (2, 0, 1, 3, 4)) * -1 - del tmp83 - tmp27 = einsum(ints.tmp33, (0, 1, 2, 3), r3, (4, 5, 0, 6, 2), (1, 4, 5, 3, 6)) - tmp84 = np.copy(np.transpose(tmp27, (0, 2, 1, 3, 4))) * -1 - tmp28 = einsum(t1, (0, 1), r3, (2, 3, 4, 5, 1), (2, 3, 4, 0, 5)) - tmp60 = einsum(tmp28, (0, 1, 2, 3, 4), ints.tmp68, (2, 5, 3, 6), (5, 0, 1, 6, 4)) - tmp84 += np.transpose(tmp60, (0, 2, 1, 3, 4)) - tmp6 = einsum(r3, (0, 1, 2, 3, 4), t2, (1, 2, 5, 4), (0, 3, 5)) - tmp32 = einsum(v.oovv, (0, 1, 2, 3), tmp6, (4, 5, 3), (4, 0, 1, 5, 2)) * -1 - tmp84 += np.transpose(tmp32, (0, 2, 1, 3, 4)) * -0.5 - r3new += tmp84 * -1 - r3new += np.transpose(tmp84, (0, 1, 2, 4, 3)) - r3new += np.transpose(tmp84, (1, 0, 2, 3, 4)) - r3new += np.transpose(tmp84, (1, 0, 2, 4, 3)) * -1 - r3new += np.transpose(tmp84, (1, 2, 0, 3, 4)) * -1 - r3new += np.transpose(tmp84, (1, 2, 0, 4, 3)) - del tmp84 - tmp85 = np.copy(f.vv) - tmp85 += ints.tmp36 * -0.5 - tmp86 = einsum(r3, (0, 1, 2, 3, 4), tmp85, (4, 5), (0, 1, 2, 3, 5)) * -1 - del tmp85 - tmp88 = np.copy(np.transpose(tmp86, (1, 2, 0, 4, 3))) - del tmp86 - tmp51 = np.copy(f.ov) - tmp51 += ints.tmp35 - tmp87 = einsum(tmp51, (0, 1), tmp28, (2, 3, 4, 0, 5), (2, 3, 4, 5, 1)) - tmp88 += np.transpose(tmp87, (1, 2, 0, 4, 3)) - del tmp87 - r3new += np.transpose(tmp88, (2, 0, 1, 3, 4)) - r3new += np.transpose(tmp88, (2, 0, 1, 4, 3)) * -1 - del tmp88 - tmp89 = einsum(ints.tmp55, (0, 1), r3, (2, 3, 4, 5, 0), (2, 3, 4, 1, 5)) - r3new += np.transpose(tmp89, (1, 2, 0, 3, 4)) - r3new += np.transpose(tmp89, (1, 2, 0, 4, 3)) * -1 - del tmp89 - tmp90 = einsum(r2, (0, 1, 2), v.ooov, (3, 4, 1, 5), (0, 3, 4, 2, 5)) - r3new += np.transpose(tmp90, (0, 2, 1, 3, 4)) - r3new += np.transpose(tmp90, (0, 2, 1, 4, 3)) * -1 - r3new += np.transpose(tmp90, (2, 0, 1, 3, 4)) * -1 - r3new += np.transpose(tmp90, (2, 0, 1, 4, 3)) - r3new += np.transpose(tmp90, (2, 1, 0, 3, 4)) - r3new += np.transpose(tmp90, (2, 1, 0, 4, 3)) * -1 - del tmp90 - tmp91 = einsum(r2, (0, 1, 2), ints.tmp68, (1, 3, 4, 5), (3, 4, 0, 5, 2)) - r3new += np.transpose(tmp91, (1, 0, 2, 3, 4)) - r3new += np.transpose(tmp91, (1, 0, 2, 4, 3)) * -1 - r3new += np.transpose(tmp91, (1, 2, 0, 3, 4)) * -1 - r3new += np.transpose(tmp91, (1, 2, 0, 4, 3)) - r3new += np.transpose(tmp91, (2, 1, 0, 3, 4)) - r3new += np.transpose(tmp91, (2, 1, 0, 4, 3)) * -1 - del tmp91 - tmp58 = einsum(v.oooo, (0, 1, 2, 3), r3, (4, 2, 3, 5, 6), (4, 0, 1, 5, 6)) - tmp93 = np.copy(np.transpose(tmp58, (0, 2, 1, 4, 3))) * -0.5 - tmp52 = np.copy(f.oo) * 2 - tmp52 += np.transpose(ints.tmp0, (1, 0)) * 2 - tmp52 += np.transpose(ints.tmp10, (1, 0)) * 2 - tmp52 += ints.tmp17 - tmp52 += ints.tmp52 * 2 - tmp92 = einsum(tmp52, (0, 1), r3, (2, 3, 0, 4, 5), (2, 3, 1, 4, 5)) * 0.5 - tmp93 += np.transpose(tmp92, (2, 0, 1, 4, 3)) * -1 - del tmp92 - r3new += tmp93 * -1 - r3new += np.transpose(tmp93, (1, 0, 2, 3, 4)) - r3new += np.transpose(tmp93, (1, 2, 0, 3, 4)) * -1 - del tmp93 - r3new += einsum(r1, (0,), v.oovv, (1, 2, 3, 4), (0, 1, 2, 3, 4)) - r3new += einsum(v.oovv, (0, 1, 2, 3), r1, (4,), (0, 4, 1, 2, 3)) * -1 - r3new += einsum(r1, (0,), v.oovv, (1, 2, 3, 4), (1, 2, 0, 3, 4)) - tmp94 = np.copy(f.ov) - tmp94 += ints.tmp35 - r3new += einsum(tmp94, (0, 1), r2, (2, 3, 4), (0, 2, 3, 1, 4)) * -1 - r3new += einsum(r2, (0, 1, 2), tmp94, (3, 4), (3, 0, 1, 2, 4)) - r3new += einsum(r2, (0, 1, 2), tmp94, (3, 4), (0, 3, 1, 4, 2)) - r3new += einsum(r2, (0, 1, 2), tmp94, (3, 4), (0, 3, 1, 2, 4)) * -1 - r3new += einsum(tmp94, (0, 1), r2, (2, 3, 4), (2, 3, 0, 1, 4)) * -1 - r3new += einsum(tmp94, (0, 1), r2, (2, 3, 4), (2, 3, 0, 4, 1)) - del tmp94 - tmp26 = einsum(r3, (0, 1, 2, 3, 4), v.ovov, (5, 4, 2, 6), (0, 1, 5, 3, 6)) - tmp95 = np.copy(np.transpose(tmp26, (1, 0, 2, 3, 4))) - tmp29 = einsum(tmp28, (0, 1, 2, 3, 4), v.ooov, (5, 3, 2, 6), (0, 1, 5, 4, 6)) - tmp95 += np.transpose(tmp29, (1, 0, 2, 3, 4)) * -1 - tmp61 = einsum(t1, (0, 1), tmp30, (0, 2, 3, 4, 5, 1, 6), (2, 3, 4, 5, 6)) * -1 - del tmp30 - tmp95 += np.transpose(tmp61, (1, 0, 2, 3, 4)) * -1 - r3new += tmp95 - r3new += np.transpose(tmp95, (0, 1, 2, 4, 3)) * -1 - r3new += np.transpose(tmp95, (0, 2, 1, 3, 4)) * -1 - r3new += np.transpose(tmp95, (0, 2, 1, 4, 3)) - r3new += np.transpose(tmp95, (2, 0, 1, 3, 4)) - r3new += np.transpose(tmp95, (2, 0, 1, 4, 3)) * -1 - del tmp95 - tmp1 = einsum(r3, (0, 1, 2, 3, 4), t2, (5, 6, 3, 4), (0, 1, 2, 5, 6)) - tmp35 = np.copy(np.transpose(tmp1, (1, 2, 0, 4, 3))) * -0.5 - tmp34 = einsum(tmp28, (0, 1, 2, 3, 4), t1, (5, 4), (0, 1, 2, 3, 5)) * -1 - tmp35 += np.transpose(tmp34, (1, 2, 0, 4, 3)) * -1 - del tmp34 - tmp36 = einsum(tmp35, (0, 1, 2, 3, 4), v.oovv, (3, 4, 5, 6), (0, 1, 2, 5, 6)) * 0.5 - del tmp35 - r3new += np.transpose(tmp36, (1, 2, 0, 4, 3)) * -1 - tmp0 = einsum(r3, (0, 1, 2, 3, 4), t3, (0, 1, 2, 5, 6, 4), (3, 5, 6)) - r1new = einsum(v.ovvv, (0, 1, 2, 3), tmp0, (1, 3, 2), (0,)) * 0.08333333333333 - r1new += einsum(tmp1, (0, 1, 2, 3, 4), ints.tmp38, (2, 1, 3, 4), (0,)) * -0.0625 - r1new += einsum(v.oooo, (0, 1, 2, 3), tmp1, (4, 2, 3, 1, 0), (4,)) * -0.125 - tmp2 = einsum(t3, (0, 1, 2, 3, 4, 5), r3, (6, 1, 2, 4, 5), (6, 0, 3)) - r1new += einsum(v.ooov, (0, 1, 2, 3), tmp2, (2, 1, 3), (0,)) * -0.25 - tmp3 = einsum(r3, (0, 1, 2, 3, 4), t3, (5, 6, 2, 7, 3, 4), (0, 1, 5, 6, 7)) - r1new += einsum(v.ovoo, (0, 1, 2, 3), tmp3, (4, 0, 3, 2, 1), (4,)) * -0.25 - r1new += einsum(tmp4, (0, 1, 2, 3, 4), t2, (1, 2, 4, 3), (0,)) * -0.125 - tmp5 = einsum(r3, (0, 1, 2, 3, 4), t2, (5, 2, 6, 4), (0, 1, 5, 3, 6)) - r1new += einsum(tmp5, (0, 1, 2, 3, 4), v.ovov, (2, 3, 1, 4), (0,)) * -1 - tmp7 = einsum(t1, (0, 1), tmp6, (2, 1, 3), (2, 0, 3)) - r1new += einsum(tmp7, (0, 1, 2), ints.tmp35, (1, 2), (0,)) * -0.5 - del ints.tmp35 - tmp8 = np.copy(v.oovv) - tmp8 += np.transpose(ints.tmp28, (1, 0, 3, 2)) * -1 - del ints.tmp28 - tmp8 += einsum(ints.tmp33, (0, 1, 2, 3), t2, (4, 1, 5, 3), (0, 4, 2, 5)) * 2 - r1new += einsum(tmp8, (0, 1, 2, 3), r3, (4, 1, 0, 3, 2), (4,)) * 0.25 - del tmp8 - tmp9 = np.copy(ints.tmp33) - tmp9 += np.transpose(v.ovov, (0, 2, 3, 1)) * -1 - r1new += einsum(tmp6, (0, 1, 2), tmp9, (0, 3, 1, 2), (3,)) * 0.5 - del tmp9 - tmp10 = np.copy(ints.tmp19) - tmp10 += np.transpose(ints.tmp26, (0, 2, 1, 3)) * 0.25 - tmp10 += np.transpose(ints.tmp21, (0, 2, 1, 3)) * -0.25 - tmp10 += np.transpose(v.ooov, (0, 2, 1, 3)) * -0.5 - r1new += einsum(tmp10, (0, 1, 2, 3), r2, (2, 0, 3), (1,)) * -1 - del tmp10 - tmp12 = np.copy(ints.tmp38) - tmp12 += v.oooo * 2 - r1new += einsum(tmp12, (0, 1, 2, 3), tmp11, (0, 1, 3), (2,)) * 0.125 - del tmp12 - tmp13 = einsum(v.ovoo, (0, 1, 2, 3), tmp1, (4, 5, 0, 3, 2), (5, 4, 1)) - del tmp1 - tmp41 = np.copy(tmp13) - tmp14 = einsum(tmp11, (0, 1, 2), v.ooov, (3, 2, 0, 4), (1, 3, 4)) * -1 - del tmp11 - tmp41 += np.transpose(tmp14, (1, 0, 2)) * 2 - tmp15 = einsum(tmp6, (0, 1, 2), v.ooov, (3, 4, 0, 2), (3, 4, 1)) * -1 - tmp41 += tmp15 * 2 - tmp16 = einsum(tmp3, (0, 1, 2, 3, 4), v.oovv, (3, 2, 5, 4), (1, 0, 5)) - del tmp3 - tmp41 += tmp16 * -1 - tmp17 = einsum(v.oovv, (0, 1, 2, 3), tmp0, (4, 3, 2), (0, 1, 4)) * -1 - del tmp0 - tmp41 += tmp17 * -0.33333333333332 - tmp18 = einsum(r2, (0, 1, 2), ints.tmp33, (1, 3, 2, 4), (3, 0, 4)) - del ints.tmp33 - tmp22 = np.copy(tmp18) * 4 - tmp19 = einsum(v.ovov, (0, 1, 2, 3), r2, (4, 2, 1), (4, 0, 3)) - tmp22 += tmp19 * 4 - tmp20 = einsum(tmp6, (0, 1, 2), v.ovvv, (3, 1, 4, 2), (0, 3, 4)) - tmp22 += tmp20 * -2 - tmp21 = einsum(tmp2, (0, 1, 2), v.oovv, (3, 1, 4, 2), (0, 3, 4)) - tmp22 += tmp21 * -1 - tmp41 += tmp22 - tmp41 += np.transpose(tmp22, (1, 0, 2)) * -1 - del tmp22 - tmp23 = np.copy(ints.tmp45) * 2 - tmp23 += np.transpose(v.ovvv, (0, 2, 3, 1)) * -1 - tmp41 += einsum(r3, (0, 1, 2, 3, 4), tmp23, (2, 3, 4, 5), (0, 1, 5)) * -2 - del tmp23 - tmp24 = np.copy(ints.tmp19) * 2 - tmp24 += np.transpose(ints.tmp21, (1, 2, 0, 3)) * 0.5 - tmp24 += np.transpose(ints.tmp26, (1, 2, 0, 3)) * -0.5 - tmp24 += np.transpose(v.ooov, (0, 2, 1, 3)) * -1 - tmp41 += einsum(r3, (0, 1, 2, 3, 4), tmp24, (2, 5, 1, 4), (0, 5, 3)) * 2 - del tmp24 - tmp37 = np.copy(np.transpose(tmp25, (1, 0, 2, 4, 3))) - tmp37 += np.transpose(tmp26, (2, 1, 0, 3, 4)) * -2 - tmp37 += np.transpose(tmp27, (2, 0, 1, 3, 4)) * 2 - tmp37 += np.transpose(tmp4, (1, 2, 0, 4, 3)) * 0.5 - tmp37 += np.transpose(tmp29, (2, 1, 0, 3, 4)) - tmp37 += np.transpose(tmp31, (1, 2, 0, 4, 3)) * -1 - tmp37 += np.transpose(tmp32, (2, 0, 1, 3, 4)) - tmp33 = np.copy(ints.tmp38) * -0.5 - tmp33 += v.oooo * -1 - tmp37 += einsum(tmp33, (0, 1, 2, 3), r3, (4, 0, 1, 5, 6), (3, 2, 4, 5, 6)) * -0.5 - del tmp33 - tmp37 += np.transpose(tmp36, (1, 2, 0, 4, 3)) - tmp41 += einsum(t1, (0, 1), tmp37, (0, 2, 3, 1, 4), (3, 2, 4)) * 2 - del tmp37 - tmp38 = np.copy(np.transpose(ints.tmp53, (0, 3, 1, 2))) * 4 - tmp38 += ints.tmp38 * -1 - tmp38 += v.oooo * -2 - tmp41 += einsum(r2, (0, 1, 2), tmp38, (1, 0, 3, 4), (3, 4, 2)) * -1 - del tmp38 - tmp41 += einsum(ints.tmp68, (0, 1, 2, 3), tmp40, (0, 4, 2), (1, 4, 3)) - r1new += einsum(t1, (0, 1), tmp41, (2, 0, 1), (2,)) * -0.25 - del tmp41 - tmp43 = np.copy(ints.tmp18) - tmp43 += ints.tmp20 - tmp43 += f.ov * -2 - tmp43 += ints.tmp25 * -0.5 - tmp43 += ints.tmp2 * -2 - del ints.tmp2 - tmp42 = np.copy(ints.tmp36) - tmp42 += ints.tmp55 * 2 - tmp43 += einsum(t1, (0, 1), tmp42, (2, 1), (0, 2)) - del tmp42 - r1new += einsum(tmp43, (0, 1), r2, (2, 0, 1), (2,)) * -0.5 - del tmp43 - tmp44 = np.copy(f.vv) * 2 - tmp44 += np.transpose(ints.tmp36, (1, 0)) * -1 - r1new += einsum(tmp6, (0, 1, 2), tmp44, (2, 1), (0,)) * 0.25 - del tmp44 - tmp45 = einsum(r2, (0, 1, 2), t2, (3, 1, 4, 2), (0, 3, 4)) - tmp45 += tmp2 * 0.25 - del tmp2 - tmp45 += tmp7 * -0.5 - del tmp7 - r1new += einsum(tmp45, (0, 1, 2), f.ov, (1, 2), (0,)) - del tmp45 - tmp46 = np.copy(f.oo) * 2 - tmp46 += np.transpose(ints.tmp17, (1, 0)) - tmp46 += np.transpose(ints.tmp52, (1, 0)) * 2 - r1new += einsum(tmp46, (0, 1), tmp40, (1, 2, 0), (2,)) * 0.25 - tmp47 = np.copy(ints.tmp0) - tmp47 += ints.tmp10 - r1new += einsum(tmp40, (0, 1, 2), tmp47, (2, 0), (1,)) * 0.5 - tmp48 = einsum(t2, (0, 1, 2, 3), r2, (0, 1, 3), (2,)) - tmp50 = np.copy(tmp48) * 6 - del tmp48 - tmp49 = einsum(t3, (0, 1, 2, 3, 4, 5), r3, (0, 1, 2, 4, 5), (3,)) - tmp50 += tmp49 - del tmp49 - r1new += einsum(tmp51, (0, 1), tmp50, (1,), (0,)) * -0.08333333333333 - r1new += einsum(r1, (0,), tmp52, (0, 1), (1,)) * -0.5 - del tmp52 - r2new = einsum(tmp5, (0, 1, 2, 3, 4), f.ov, (2, 4), (1, 0, 3)) * -1 - del tmp5 - r2new += tmp17 * 0.08333333333333 - del tmp17 - r2new += tmp16 * 0.25 - del tmp16 - r2new += tmp13 * -0.25 - del tmp13 - r2new += tmp15 * -0.5 - del tmp15 - tmp53 = einsum(ints.tmp19, (0, 1, 2, 3), r3, (4, 0, 2, 5, 3), (1, 4, 5)) - del ints.tmp19 - r2new += tmp53 * -1 - r2new += np.transpose(tmp53, (1, 0, 2)) - del tmp53 - tmp54 = einsum(ints.tmp17, (0, 1), r2, (2, 0, 3), (1, 2, 3)) - del ints.tmp17 - tmp66 = np.copy(tmp54) * 0.5 - del tmp54 - tmp66 += tmp18 * -1 - del tmp18 - tmp66 += tmp19 * -1 - del tmp19 - tmp55 = einsum(v.ovoo, (0, 1, 2, 3), r3, (4, 2, 3, 5, 1), (4, 0, 5)) - tmp66 += tmp55 * -0.5 - del tmp55 - tmp66 += tmp14 * 0.5 - del tmp14 - tmp66 += tmp20 * 0.5 - del tmp20 - tmp66 += tmp21 * 0.25 - del tmp21 - tmp56 = np.copy(ints.tmp21) - del ints.tmp21 - tmp56 += ints.tmp26 * -1 - del ints.tmp26 - tmp57 = einsum(tmp56, (0, 1, 2, 3), r3, (4, 0, 1, 5, 3), (4, 2, 5)) * 0.25 - del tmp56 - tmp66 += np.transpose(tmp57, (1, 0, 2)) - del tmp57 - tmp62 = np.copy(np.transpose(tmp58, (2, 0, 1, 4, 3))) * 2 - del tmp58 - tmp59 = einsum(r3, (0, 1, 2, 3, 4), ints.tmp38, (2, 1, 5, 6), (5, 6, 0, 3, 4)) * -1 - tmp62 += np.transpose(tmp59, (0, 1, 2, 4, 3)) - del tmp59 - tmp62 += np.transpose(tmp60, (2, 0, 1, 3, 4)) * -2 - del tmp60 - tmp62 += np.transpose(tmp61, (1, 0, 2, 4, 3)) * -2 - del tmp61 - tmp62 += np.transpose(tmp32, (2, 0, 1, 3, 4)) * 2 - tmp63 = einsum(t1, (0, 1), tmp62, (0, 2, 3, 1, 4), (2, 3, 4)) * 0.25 - del tmp62 - tmp66 += tmp63 - del tmp63 - tmp64 = einsum(ints.tmp68, (0, 1, 2, 3), tmp40, (0, 4, 2), (1, 4, 3)) * 0.5 - tmp66 += tmp64 * -1 - del tmp64 - tmp65 = einsum(tmp51, (0, 1), tmp6, (2, 3, 1), (2, 0, 3)) * 0.5 - del tmp6 - tmp66 += np.transpose(tmp65, (1, 0, 2)) - del tmp65 - tmp66 += einsum(r1, (0,), tmp51, (1, 2), (1, 0, 2)) * -1 - r2new += tmp66 - r2new += np.transpose(tmp66, (1, 0, 2)) * -1 - del tmp66 - tmp67 = einsum(tmp39, (0, 1, 2), v.ooov, (3, 2, 1, 4), (0, 3, 4)) - del tmp39 - tmp73 = np.copy(tmp67) - del tmp67 - tmp69 = np.copy(np.transpose(tmp25, (1, 0, 2, 4, 3))) * -1 - del tmp25 - tmp68 = einsum(ints.tmp53, (0, 1, 2, 3), r3, (4, 0, 3, 5, 6), (1, 2, 4, 5, 6)) - tmp69 += np.transpose(tmp68, (1, 0, 2, 4, 3)) * -1 - del tmp68 - tmp69 += np.transpose(tmp27, (2, 0, 1, 3, 4)) * -1 - tmp69 += np.transpose(tmp26, (1, 0, 2, 4, 3)) * -1 - tmp70 = einsum(tmp69, (0, 1, 2, 3, 4), t1, (0, 3), (1, 2, 4)) - del tmp69 - tmp73 += tmp70 * -1 - del tmp70 - tmp71 = np.copy(f.oo) - tmp71 += np.transpose(ints.tmp0, (1, 0)) - del ints.tmp0 - tmp71 += np.transpose(ints.tmp10, (1, 0)) - del ints.tmp10 - tmp71 += ints.tmp52 - del ints.tmp52 - tmp72 = einsum(r2, (0, 1, 2), tmp71, (1, 3), (0, 3, 2)) * -1 - del tmp71 - tmp73 += np.transpose(tmp72, (1, 0, 2)) * -1 - del tmp72 - r2new += tmp73 - r2new += np.transpose(tmp73, (1, 0, 2)) * -1 - del tmp73 - tmp74 = np.copy(ints.tmp45) - del ints.tmp45 - tmp74 += np.transpose(v.ovvv, (0, 2, 3, 1)) * -0.5 - r2new += einsum(tmp74, (0, 1, 2, 3), r3, (4, 5, 0, 1, 2), (4, 5, 3)) - del tmp74 - tmp76 = np.copy(np.transpose(tmp4, (1, 2, 0, 4, 3))) * -0.5 - del tmp4 - tmp76 += np.transpose(tmp29, (2, 1, 0, 3, 4)) * -0.5 - del tmp29 - tmp76 += np.transpose(tmp31, (1, 2, 0, 4, 3)) - del tmp31 - tmp76 += np.transpose(tmp32, (0, 2, 1, 4, 3)) * -0.5 - del tmp32 - tmp76 += np.transpose(tmp27, (0, 2, 1, 3, 4)) - tmp76 += np.transpose(tmp27, (0, 2, 1, 4, 3)) * -1 - del tmp27 - tmp76 += np.transpose(tmp26, (2, 1, 0, 3, 4)) - tmp76 += np.transpose(tmp26, (2, 1, 0, 4, 3)) * -1 - del tmp26 - tmp76 += np.transpose(tmp36, (1, 2, 0, 4, 3)) * -1 - del tmp36 - tmp75 = np.copy(ints.tmp36) * 0.5 - del ints.tmp36 - tmp75 += ints.tmp55 - del ints.tmp55 - tmp75 += f.vv * -1 - tmp76 += einsum(r3, (0, 1, 2, 3, 4), tmp75, (4, 5), (0, 1, 2, 5, 3)) - r2new += einsum(tmp76, (0, 1, 2, 3, 4), t1, (0, 3), (1, 2, 4)) * -1 - del tmp76 - tmp77 = np.copy(ints.tmp18) * 2 - del ints.tmp18 - tmp77 += ints.tmp20 * 2 - del ints.tmp20 - tmp77 += f.ov * -4 - tmp77 += ints.tmp25 * -1 - del ints.tmp25 - r2new += einsum(r3, (0, 1, 2, 3, 4), tmp77, (2, 4), (0, 1, 3)) * -0.25 - del tmp77 - tmp78 = np.copy(ints.tmp38) * 0.5 - del ints.tmp38 - tmp78 += ints.tmp97 - del ints.tmp97 - tmp78 += v.oooo - tmp78 += np.transpose(ints.tmp53, (0, 3, 1, 2)) * -2 - del ints.tmp53 - r2new += einsum(tmp78, (0, 1, 2, 3), r2, (1, 0, 4), (3, 2, 4)) * 0.5 - del tmp78 - r2new += einsum(tmp46, (0, 1), tmp28, (1, 2, 3, 0, 4), (2, 3, 4)) * -0.5 - del tmp46 - r2new += einsum(tmp28, (0, 1, 2, 3, 4), tmp47, (3, 0), (1, 2, 4)) * -1 - del tmp28, tmp47 - r2new += einsum(tmp75, (0, 1), r2, (2, 3, 0), (2, 3, 1)) * -1 - del tmp75 - r2new += einsum(tmp50, (0,), v.oovv, (1, 2, 3, 0), (1, 2, 3)) * 0.08333333333333 - del tmp50 - r2new += einsum(tmp40, (0, 1, 2), tmp51, (2, 3), (1, 0, 3)) * 0.5 - del tmp40, tmp51 - tmp79 = np.copy(ints.tmp68) - del ints.tmp68 - tmp79 += np.transpose(v.ovoo, (0, 2, 3, 1)) * -1 - r2new += einsum(r1, (0,), tmp79, (0, 1, 2, 3), (2, 1, 3)) * -1 - del tmp79 - - return {f"r1new": r1new, f"r2new": r2new, f"r3new": r3new} - -def hbar_lmatvec_ea_intermediates(f=None, t1=None, t2=None, t3=None, v=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-10-22T10:40:45.163603. - - Parameters - ---------- - f : array - Fock matrix. - t1 : array - T1 amplitudes. - t2 : array - T2 amplitudes. - t3 : array - T3 amplitudes. - v : array - Electron repulsion integrals. - - Returns - ------- - tmp102 : array - tmp11 : array - tmp119 : array - tmp16 : array - tmp18 : array - tmp19 : array - tmp21 : array - tmp22 : array - tmp24 : array - tmp26 : array - tmp30 : array - tmp32 : array - tmp34 : array - tmp36 : array - tmp39 : array - tmp40 : array - tmp42 : array - tmp49 : array - tmp54 : array - tmp65 : array - tmp69 : array - tmp9 : array - tmp93 : array - tmp98 : array - """ - - tmp9 = einsum(t1, (0, 1), f.ov, (2, 1), (2, 0)) - tmp16 = np.copy(np.transpose(v.oooo, (0, 2))) - tmp18 = einsum(v.oovv, (0, 1, 2, 3), t2, (0, 1, 4, 3), (4, 2)) - tmp11 = einsum(v.ovvv, (0, 1, 2, 3), t1, (0, 3), (1, 2)) - tmp19 = einsum(t2, (0, 1, 2, 3), v.ovoo, (4, 3, 0, 1), (4, 2)) - tmp24 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 2, 5, 1), (4, 0, 5, 3)) - tmp26 = einsum(t3, (0, 1, 2, 3, 4, 5), v.oovv, (1, 2, 4, 5), (0, 3)) - tmp93 = einsum(t1, (0, 1), f.vv, (2, 1), (0, 2)) - tmp21 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 2, 3), (0, 4)) - tmp22 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 0, 5, 3), (4, 5, 1, 2)) - tmp30 = einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 0, 6, 2, 3), (4, 5, 6, 1)) - tmp31 = np.copy(np.transpose(v.ooov, (0, 3))) - tmp32 = einsum(tmp31, (0, 1), t1, (2, 1), (2, 0)) - del tmp31 - tmp34 = einsum(v.oovv, (0, 1, 2, 3), t2, (4, 1, 5, 3), (4, 0, 5, 2)) - tmp39 = einsum(v.oovv, (0, 1, 2, 3), t2, (4, 1, 2, 3), (4, 0)) - tmp40 = einsum(t1, (0, 1), v.ooov, (2, 0, 3, 1), (2, 3)) - tmp42 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 1, 5, 3), (0, 4, 5, 2)) - tmp49 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 5, 2, 3), (4, 5, 0, 1)) - tmp54 = einsum(t3, (0, 1, 2, 3, 4, 5), v.oovv, (6, 2, 4, 5), (0, 1, 6, 3)) - tmp65 = einsum(v.oovv, (0, 1, 2, 3), t2, (4, 5, 2, 3), (4, 5, 0, 1)) - tmp102 = einsum(v.ooov, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) - tmp36 = einsum(t1, (0, 1), v.oovv, (2, 0, 3, 1), (2, 3)) - tmp69 = einsum(tmp36, (0, 1), t1, (2, 1), (2, 0)) - tmp98 = einsum(t1, (0, 1), v.oovv, (2, 3, 4, 1), (0, 2, 3, 4)) - tmp119 = einsum(tmp98, (0, 1, 2, 3), t1, (4, 3), (0, 4, 1, 2)) * -1 - - return {f"tmp102": tmp102, f"tmp11": tmp11, f"tmp119": tmp119, f"tmp16": tmp16, f"tmp18": tmp18, f"tmp19": tmp19, f"tmp21": tmp21, f"tmp22": tmp22, f"tmp24": tmp24, f"tmp26": tmp26, f"tmp30": tmp30, f"tmp32": tmp32, f"tmp34": tmp34, f"tmp36": tmp36, f"tmp39": tmp39, f"tmp40": tmp40, f"tmp42": tmp42, f"tmp49": tmp49, f"tmp54": tmp54, f"tmp65": tmp65, f"tmp69": tmp69, f"tmp9": tmp9, f"tmp93": tmp93, f"tmp98": tmp98} - -def hbar_lmatvec_ea(f=None, r1=None, r2=None, r3=None, t1=None, t2=None, t3=None, v=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-10-22T10:40:45.218831. - - Parameters - ---------- - f : array - Fock matrix. - r1 : array - R1 amplitudes. - r2 : array - R2 amplitudes. - r3 : array - R3 amplitudes. - t1 : array - T1 amplitudes. - t2 : array - T2 amplitudes. - t3 : array - T3 amplitudes. - v : array - Electron repulsion integrals. - - Returns - ------- - r1new : array - Updated R1 residuals. - r2new : array - Updated R2 residuals. - r3new : array - Updated R3 residuals. - """ - - ints = kwargs["ints"] - tmp29 = einsum(r3, (0, 1, 2, 3, 4), v.ovov, (5, 2, 4, 6), (3, 5, 0, 1, 6)) - tmp89 = np.copy(np.transpose(tmp29, (0, 1, 3, 2, 4))) - tmp30 = einsum(r3, (0, 1, 2, 3, 4), t1, (5, 2), (3, 4, 5, 0, 1)) - tmp31 = einsum(tmp30, (0, 1, 2, 3, 4), v.ooov, (5, 2, 0, 6), (1, 5, 3, 4, 6)) * -1 - tmp89 += np.transpose(tmp31, (0, 1, 3, 2, 4)) * -1 - tmp32 = einsum(r3, (0, 1, 2, 3, 4), v.ovvv, (5, 2, 6, 7), (3, 4, 5, 0, 1, 6, 7)) - tmp77 = einsum(tmp32, (0, 1, 2, 3, 4, 5, 6), t1, (0, 5), (1, 2, 3, 4, 6)) - tmp89 += np.transpose(tmp77, (0, 1, 3, 2, 4)) * -1 - tmp18 = einsum(t2, (0, 1, 2, 3), r3, (4, 5, 3, 6, 1), (6, 0, 4, 5, 2)) - tmp34 = einsum(v.oovv, (0, 1, 2, 3), tmp18, (4, 1, 5, 6, 3), (4, 0, 5, 6, 2)) - tmp89 += np.transpose(tmp34, (0, 1, 3, 2, 4)) * -1 - r3new = np.copy(np.transpose(tmp89, (2, 3, 4, 0, 1))) - r3new += np.transpose(tmp89, (2, 4, 3, 0, 1)) * -1 - r3new += np.transpose(tmp89, (4, 2, 3, 0, 1)) - r3new += np.transpose(tmp89, (2, 3, 4, 1, 0)) * -1 - r3new += np.transpose(tmp89, (2, 4, 3, 1, 0)) - r3new += np.transpose(tmp89, (4, 2, 3, 1, 0)) * -1 - del tmp89 - tmp6 = einsum(v.vvvv, (0, 1, 2, 3), r3, (4, 2, 3, 5, 6), (5, 6, 4, 0, 1)) - tmp94 = np.copy(np.transpose(tmp6, (1, 0, 2, 4, 3))) * -0.5 - tmp33 = einsum(tmp32, (0, 1, 2, 3, 4, 5, 6), t1, (2, 4), (0, 1, 3, 5, 6)) - del tmp32 - tmp94 += np.transpose(tmp33, (1, 0, 2, 4, 3)) - tmp9 = einsum(r3, (0, 1, 2, 3, 4), t2, (5, 6, 1, 2), (3, 4, 5, 6, 0)) - tmp37 = np.copy(np.transpose(tmp9, (1, 0, 3, 2, 4))) * 0.5 - tmp36 = einsum(t1, (0, 1), tmp30, (2, 3, 4, 5, 1), (2, 3, 4, 0, 5)) * -1 - tmp37 += np.transpose(tmp36, (1, 0, 3, 2, 4)) - del tmp36 - tmp90 = einsum(v.oovv, (0, 1, 2, 3), tmp37, (4, 5, 0, 1, 6), (4, 5, 2, 3, 6)) * 0.5 - tmp94 += np.transpose(tmp90, (1, 0, 4, 3, 2)) * -1 - del tmp90 - tmp91 = np.copy(ints.tmp11) * 2 - tmp91 += ints.tmp18 - tmp92 = einsum(tmp91, (0, 1), r3, (2, 3, 0, 4, 5), (4, 5, 2, 3, 1)) * 0.5 - del tmp91 - tmp94 += np.transpose(tmp92, (1, 0, 4, 2, 3)) * -1 - del tmp92 - tmp57 = np.copy(f.ov) - tmp57 += ints.tmp36 - tmp93 = einsum(tmp57, (0, 1), tmp30, (2, 3, 0, 4, 5), (2, 3, 4, 5, 1)) - tmp94 += np.transpose(tmp93, (1, 0, 4, 3, 2)) - del tmp93 - r3new += np.transpose(tmp94, (2, 3, 4, 0, 1)) * -1 - r3new += np.transpose(tmp94, (3, 2, 4, 0, 1)) - r3new += np.transpose(tmp94, (3, 4, 2, 0, 1)) * -1 - del tmp94 - tmp76 = einsum(ints.tmp98, (0, 1, 2, 3), tmp30, (0, 4, 2, 5, 6), (1, 4, 3, 5, 6)) * -1 - tmp97 = np.copy(np.transpose(tmp76, (0, 1, 2, 4, 3))) * -1 - tmp39 = einsum(t1, (0, 1), r2, (2, 1, 3), (3, 0, 2)) - tmp95 = np.copy(tmp39) * 2 - tmp2 = einsum(t2, (0, 1, 2, 3), r3, (4, 2, 3, 5, 1), (5, 0, 4)) - tmp95 += tmp2 - tmp96 = einsum(tmp95, (0, 1, 2), v.oovv, (3, 1, 4, 5), (3, 0, 4, 5, 2)) * -0.5 - del tmp95 - tmp97 += np.transpose(tmp96, (1, 0, 4, 3, 2)) - del tmp96 - r3new += np.transpose(tmp97, (2, 3, 4, 0, 1)) - r3new += np.transpose(tmp97, (3, 2, 4, 0, 1)) * -1 - r3new += np.transpose(tmp97, (3, 4, 2, 0, 1)) - r3new += np.transpose(tmp97, (2, 3, 4, 1, 0)) * -1 - r3new += np.transpose(tmp97, (3, 2, 4, 1, 0)) - r3new += np.transpose(tmp97, (3, 4, 2, 1, 0)) * -1 - del tmp97 - tmp98 = einsum(v.ooov, (0, 1, 2, 3), r2, (4, 5, 2), (0, 1, 4, 5, 3)) - tmp99 = np.copy(np.transpose(tmp98, (1, 0, 3, 2, 4))) - del tmp98 - tmp0 = einsum(t2, (0, 1, 2, 3), r3, (4, 5, 3, 0, 1), (4, 5, 2)) - tmp35 = einsum(tmp0, (0, 1, 2), v.oovv, (3, 4, 5, 2), (3, 4, 0, 1, 5)) * -1 - tmp99 += np.transpose(tmp35, (1, 0, 3, 2, 4)) * 0.5 - r3new += np.transpose(tmp99, (2, 3, 4, 0, 1)) * -1 - r3new += np.transpose(tmp99, (2, 4, 3, 0, 1)) - r3new += np.transpose(tmp99, (4, 2, 3, 0, 1)) * -1 - del tmp99 - tmp100 = np.copy(f.oo) - tmp100 += np.transpose(ints.tmp40, (1, 0)) - tmp100 += ints.tmp69 - tmp100 += np.transpose(ints.tmp9, (1, 0)) - tmp101 = einsum(r3, (0, 1, 2, 3, 4), tmp100, (4, 5), (3, 5, 0, 1, 2)) * -1 - del tmp100 - r3new += np.transpose(tmp101, (2, 3, 4, 1, 0)) * -1 - r3new += np.transpose(tmp101, (2, 3, 4, 0, 1)) - del tmp101 - tmp104 = einsum(r1, (0,), v.oovv, (1, 2, 3, 4), (1, 2, 0, 3, 4)) - tmp102 = einsum(ints.tmp98, (0, 1, 2, 3), r2, (4, 5, 0), (1, 2, 3, 4, 5)) - tmp104 += np.transpose(tmp102, (1, 0, 2, 4, 3)) - del tmp102 - tmp103 = einsum(f.vv, (0, 1), r3, (2, 3, 1, 4, 5), (4, 5, 0, 2, 3)) - tmp104 += np.transpose(tmp103, (1, 0, 2, 4, 3)) - del tmp103 - r3new += np.transpose(tmp104, (2, 3, 4, 0, 1)) - r3new += np.transpose(tmp104, (3, 2, 4, 0, 1)) * -1 - r3new += np.transpose(tmp104, (3, 4, 2, 0, 1)) - del tmp104 - tmp105 = einsum(ints.tmp39, (0, 1), r3, (2, 3, 4, 5, 0), (1, 5, 2, 3, 4)) - r3new += np.transpose(tmp105, (3, 4, 2, 0, 1)) * 0.5 - r3new += np.transpose(tmp105, (3, 4, 2, 1, 0)) * -0.5 - del tmp105 - tmp63 = np.copy(f.ov) - tmp63 += ints.tmp36 - r3new += einsum(tmp63, (0, 1), r2, (2, 3, 4), (1, 2, 3, 0, 4)) * -1 - r3new += einsum(tmp63, (0, 1), r2, (2, 3, 4), (2, 1, 3, 0, 4)) - r3new += einsum(tmp63, (0, 1), r2, (2, 3, 4), (2, 3, 1, 0, 4)) * -1 - r3new += einsum(tmp63, (0, 1), r2, (2, 3, 4), (1, 2, 3, 4, 0)) - r3new += einsum(r2, (0, 1, 2), tmp63, (3, 4), (0, 4, 1, 2, 3)) * -1 - r3new += einsum(r2, (0, 1, 2), tmp63, (3, 4), (0, 1, 4, 2, 3)) - tmp28 = einsum(r2, (0, 1, 2), v.ovvv, (3, 1, 4, 5), (2, 3, 0, 4, 5)) - r3new += np.transpose(tmp28, (2, 4, 3, 0, 1)) - r3new += np.transpose(tmp28, (4, 2, 3, 0, 1)) * -1 - r3new += np.transpose(tmp28, (4, 3, 2, 0, 1)) - r3new += np.transpose(tmp28, (2, 4, 3, 1, 0)) * -1 - r3new += np.transpose(tmp28, (4, 2, 3, 1, 0)) - r3new += np.transpose(tmp28, (4, 3, 2, 1, 0)) * -1 - tmp106 = np.copy(np.transpose(ints.tmp119, (0, 2, 3, 1))) * 0.5 - del ints.tmp119 - tmp106 += np.transpose(ints.tmp65, (0, 2, 3, 1)) * 0.25 - tmp106 += np.transpose(v.oooo, (0, 2, 3, 1)) * 0.5 - tmp106 += ints.tmp102 * -1 - r3new += einsum(tmp106, (0, 1, 2, 3), r3, (4, 5, 6, 3, 0), (4, 5, 6, 2, 1)) - del tmp106 - r1new = einsum(v.vvvv, (0, 1, 2, 3), tmp0, (3, 2, 1), (0,)) * -0.25 - tmp1 = einsum(r3, (0, 1, 2, 3, 4), t3, (5, 3, 4, 6, 1, 2), (5, 0, 6)) - r1new += einsum(tmp1, (0, 1, 2), v.ovvv, (0, 1, 3, 2), (3,)) * -0.25 - r1new += einsum(v.ovov, (0, 1, 2, 3), tmp2, (2, 0, 1), (3,)) * -0.5 - tmp3 = einsum(t1, (0, 1), tmp0, (2, 1, 3), (0, 2, 3)) - r1new += einsum(tmp3, (0, 1, 2), ints.tmp36, (0, 2), (1,)) * -0.5 - del ints.tmp36 - tmp4 = einsum(t3, (0, 1, 2, 3, 4, 5), r3, (6, 4, 5, 7, 2), (7, 0, 1, 6, 3)) - r1new += einsum(tmp4, (0, 1, 2, 3, 4), v.ovoo, (0, 4, 2, 1), (3,)) * -0.25 - tmp5 = np.copy(ints.tmp24) - del ints.tmp24 - tmp5 += ints.tmp30 * 0.25 - del ints.tmp30 - tmp5 += v.oovv * -0.25 - r1new += einsum(tmp5, (0, 1, 2, 3), r3, (4, 3, 2, 1, 0), (4,)) * -1 - del tmp5 - tmp7 = einsum(ints.tmp34, (0, 1, 2, 3), r3, (4, 5, 2, 6, 0), (1, 6, 3, 4, 5)) * 4 - tmp7 += np.transpose(tmp6, (1, 0, 4, 3, 2)) * -1 - r1new += einsum(t2, (0, 1, 2, 3), tmp7, (1, 0, 3, 2, 4), (4,)) * -0.125 - del tmp7 - tmp8 = np.copy(ints.tmp65) * -0.5 - tmp8 += v.oooo * -1 - r1new += einsum(tmp8, (0, 1, 2, 3), tmp9, (1, 0, 3, 2, 4), (4,)) * -0.125 - tmp10 = np.copy(ints.tmp22) - del ints.tmp22 - tmp10 += np.transpose(v.ovvv, (0, 2, 3, 1)) * -0.5 - r1new += einsum(r2, (0, 1, 2), tmp10, (2, 0, 1, 3), (3,)) - del tmp10 - tmp11 = einsum(t3, (0, 1, 2, 3, 4, 5), r2, (4, 5, 2), (0, 1, 3)) * 2 - tmp11 += einsum(t2, (0, 1, 2, 3), tmp0, (3, 2, 4), (0, 1, 4)) * -1 - tmp11 += einsum(tmp2, (0, 1, 2), t2, (3, 0, 4, 2), (3, 1, 4)) * -4 - r1new += einsum(v.oovv, (0, 1, 2, 3), tmp11, (0, 1, 3), (2,)) * 0.125 - del tmp11 - tmp12 = einsum(r2, (0, 1, 2), t2, (3, 4, 0, 1), (2, 3, 4)) - tmp14 = np.copy(np.transpose(tmp12, (0, 2, 1))) * -3 - tmp13 = einsum(t3, (0, 1, 2, 3, 4, 5), r3, (3, 4, 5, 6, 2), (6, 0, 1)) - tmp14 += np.transpose(tmp13, (0, 2, 1)) * -1 - r1new += einsum(tmp14, (0, 1, 2), v.ooov, (1, 2, 0, 3), (3,)) * -0.08333333333333 - del tmp14 - tmp15 = einsum(r2, (0, 1, 2), v.vvvv, (3, 4, 0, 1), (2, 3, 4)) - tmp45 = np.copy(np.transpose(tmp15, (0, 2, 1))) * -2 - tmp16 = einsum(r3, (0, 1, 2, 3, 4), v.ovvv, (4, 5, 1, 2), (3, 0, 5)) - tmp45 += np.transpose(tmp16, (0, 2, 1)) * 2 - tmp17 = einsum(v.ovoo, (0, 1, 2, 3), tmp9, (0, 4, 3, 2, 5), (4, 5, 1)) - del tmp9 - tmp45 += np.transpose(tmp17, (0, 2, 1)) - tmp19 = einsum(v.ovvv, (0, 1, 2, 3), tmp18, (4, 0, 5, 1, 3), (4, 5, 2)) * -1 - tmp45 += np.transpose(tmp19, (0, 2, 1)) * -4 - tmp20 = einsum(v.ovvv, (0, 1, 2, 3), tmp2, (4, 0, 1), (4, 2, 3)) * -1 - tmp45 += np.transpose(tmp20, (0, 2, 1)) * 2 - tmp21 = einsum(tmp4, (0, 1, 2, 3, 4), v.oovv, (2, 1, 5, 4), (0, 3, 5)) * -1 - del tmp4 - tmp45 += np.transpose(tmp21, (0, 2, 1)) * -1 - tmp22 = einsum(ints.tmp34, (0, 1, 2, 3), r2, (4, 2, 0), (1, 3, 4)) - del ints.tmp34 - tmp26 = np.copy(tmp22) * 4 - tmp23 = einsum(v.ovov, (0, 1, 2, 3), r2, (4, 1, 2), (0, 4, 3)) - tmp26 += tmp23 * 4 - tmp24 = einsum(tmp0, (0, 1, 2), v.ovvv, (3, 1, 4, 2), (3, 0, 4)) - tmp26 += tmp24 * -2 - tmp25 = einsum(v.oovv, (0, 1, 2, 3), tmp1, (1, 4, 3), (0, 4, 2)) - tmp26 += tmp25 * -1 - tmp45 += tmp26 * -1 - tmp45 += np.transpose(tmp26, (0, 2, 1)) - del tmp26 - tmp27 = np.copy(ints.tmp42) * 4 - tmp27 += np.transpose(ints.tmp49, (1, 2, 0, 3)) - tmp27 += np.transpose(ints.tmp54, (1, 2, 0, 3)) * -1 - tmp27 += np.transpose(v.ooov, (0, 2, 1, 3)) * -2 - tmp45 += einsum(r3, (0, 1, 2, 3, 4), tmp27, (3, 5, 4, 2), (5, 0, 1)) - del tmp27 - tmp38 = np.copy(np.transpose(tmp28, (0, 1, 2, 4, 3))) - tmp38 += np.transpose(tmp29, (0, 1, 3, 2, 4)) - tmp38 += np.transpose(tmp6, (1, 0, 4, 2, 3)) * -0.25 - tmp38 += np.transpose(tmp31, (0, 1, 3, 2, 4)) * -0.5 - tmp38 += np.transpose(tmp33, (1, 0, 4, 2, 3)) * 0.5 - tmp38 += np.transpose(tmp34, (0, 1, 3, 2, 4)) * -1 - tmp38 += np.transpose(tmp35, (1, 0, 3, 4, 2)) * 0.25 - tmp38 += einsum(tmp8, (0, 1, 2, 3), r3, (4, 5, 6, 1, 0), (2, 3, 4, 5, 6)) * 0.25 - del tmp8 - tmp38 += einsum(v.oovv, (0, 1, 2, 3), tmp37, (4, 5, 0, 1, 6), (5, 4, 2, 6, 3)) * 0.25 - tmp45 += einsum(t1, (0, 1), tmp38, (2, 0, 1, 3, 4), (2, 4, 3)) * -4 - del tmp38 - tmp42 = np.copy(np.transpose(tmp12, (0, 2, 1))) * -0.5 - tmp40 = einsum(t1, (0, 1), tmp39, (2, 3, 1), (2, 3, 0)) * -1 - tmp42 += np.transpose(tmp40, (0, 2, 1)) * -1 - tmp42 += np.transpose(tmp13, (0, 2, 1)) * -0.16666666666666 - tmp41 = einsum(tmp2, (0, 1, 2), t1, (3, 2), (0, 3, 1)) - tmp42 += np.transpose(tmp41, (0, 2, 1)) * -1 - tmp45 += einsum(tmp42, (0, 1, 2), v.oovv, (1, 2, 3, 4), (0, 3, 4)) * 2 - del tmp42 - tmp43 = np.copy(tmp39) - tmp43 += tmp2 - tmp45 += einsum(tmp43, (0, 1, 2), v.ooov, (3, 1, 0, 4), (3, 2, 4)) * 2 - del tmp43 - tmp44 = np.copy(ints.tmp11) * 2 - tmp44 += ints.tmp18 - tmp44 += f.vv * -2 - tmp45 += einsum(r2, (0, 1, 2), tmp44, (1, 3), (2, 3, 0)) * 2 - del tmp44 - r1new += einsum(t1, (0, 1), tmp45, (0, 1, 2), (2,)) * -0.25 - del tmp45 - tmp46 = np.copy(f.vv) * 2 - tmp46 += ints.tmp18 * -1 - r1new += einsum(tmp46, (0, 1), tmp0, (0, 2, 1), (2,)) * -0.25 - del tmp46 - tmp47 = np.copy(ints.tmp19) * 2 - tmp47 += ints.tmp21 * 2 - tmp47 += f.ov * -4 - tmp47 += ints.tmp26 * -1 - r1new += einsum(tmp47, (0, 1), r2, (2, 1, 0), (2,)) * -0.25 - del tmp47 - tmp48 = einsum(t2, (0, 1, 2, 3), r2, (4, 3, 1), (0, 4, 2)) - tmp48 += tmp1 * 0.25 - del tmp1 - tmp48 += tmp3 * -0.5 - del tmp3 - r1new += einsum(tmp48, (0, 1, 2), f.ov, (0, 2), (1,)) - del tmp48 - tmp49 = np.copy(f.oo) * 2 - tmp49 += ints.tmp39 - tmp49 += ints.tmp69 * 2 - tmp50 = np.copy(tmp39) - tmp50 += tmp2 * 0.5 - r1new += einsum(tmp50, (0, 1, 2), tmp49, (0, 1), (2,)) * -0.5 - del tmp49 - tmp51 = np.copy(ints.tmp40) - tmp51 += ints.tmp9 - r1new += einsum(tmp50, (0, 1, 2), tmp51, (1, 0), (2,)) * -1 - del tmp50, tmp51 - tmp52 = np.copy(ints.tmp11) - tmp52 += ints.tmp18 * 0.5 - tmp52 += f.vv * -1 - r1new += einsum(tmp52, (0, 1), r1, (0,), (1,)) * -1 - del tmp52 - tmp53 = einsum(r1, (0,), t1, (1, 0), (1,)) - tmp56 = np.copy(tmp53) * 2 - tmp54 = einsum(t2, (0, 1, 2, 3), r2, (2, 3, 1), (0,)) - tmp56 += tmp54 - tmp55 = einsum(t3, (0, 1, 2, 3, 4, 5), r3, (3, 4, 5, 1, 2), (0,)) - tmp56 += tmp55 * 0.16666666666666 - r1new += einsum(tmp56, (0,), tmp57, (0, 1), (1,)) * -0.5 - del tmp56 - r2new = np.copy(np.transpose(tmp15, (2, 1, 0))) * -0.5 - del tmp15 - r2new += einsum(v.ovvv, (0, 1, 2, 3), r1, (1,), (2, 3, 0)) * -1 - r2new += np.transpose(tmp20, (1, 2, 0)) * -0.5 - del tmp20 - tmp58 = einsum(r2, (0, 1, 2), ints.tmp11, (1, 3), (2, 3, 0)) - tmp65 = np.copy(tmp58) - del tmp58 - tmp59 = einsum(tmp39, (0, 1, 2), ints.tmp98, (0, 3, 1, 4), (3, 4, 2)) - tmp65 += tmp59 - del tmp59 - tmp60 = einsum(v.ooov, (0, 1, 2, 3), tmp39, (2, 1, 4), (0, 4, 3)) - tmp65 += tmp60 - del tmp60 - tmp61 = np.copy(np.transpose(tmp28, (0, 1, 2, 4, 3))) * -1 - tmp61 += np.transpose(tmp29, (1, 0, 3, 2, 4)) - tmp62 = einsum(tmp61, (0, 1, 2, 3, 4), t1, (0, 3), (1, 2, 4)) - del tmp61 - tmp65 += tmp62 * -1 - del tmp62 - tmp64 = einsum(tmp39, (0, 1, 2), tmp63, (1, 3), (0, 2, 3)) - del tmp39, tmp63 - tmp65 += np.transpose(tmp64, (0, 2, 1)) - del tmp64 - r2new += np.transpose(tmp65, (1, 2, 0)) - r2new += np.transpose(tmp65, (2, 1, 0)) * -1 - del tmp65 - tmp74 = np.copy(tmp22) * -1 - del tmp22 - tmp74 += tmp23 * -1 - del tmp23 - tmp74 += tmp16 * -0.5 - del tmp16 - tmp66 = einsum(ints.tmp98, (0, 1, 2, 3), tmp2, (0, 2, 4), (1, 3, 4)) - del ints.tmp98 - tmp74 += tmp66 * 0.5 - del tmp66 - tmp67 = einsum(tmp2, (0, 1, 2), v.ooov, (3, 1, 0, 4), (3, 2, 4)) - tmp74 += tmp67 * 0.5 - del tmp67 - tmp74 += tmp17 * -0.25 - del tmp17 - tmp74 += tmp24 * 0.5 - del tmp24 - tmp74 += tmp21 * 0.25 - del tmp21 - tmp74 += tmp25 * 0.25 - del tmp25 - tmp69 = np.copy(np.transpose(tmp6, (1, 0, 2, 4, 3))) - del tmp6 - tmp69 += np.transpose(tmp31, (1, 0, 3, 2, 4)) - del tmp31 - tmp69 += np.transpose(tmp33, (1, 0, 2, 4, 3)) * -2 - del tmp33 - tmp69 += np.transpose(tmp34, (1, 0, 3, 2, 4)) * 2 - tmp69 += np.transpose(tmp35, (1, 0, 3, 2, 4)) * -1 - del tmp35 - tmp68 = einsum(v.oovv, (0, 1, 2, 3), tmp37, (4, 5, 0, 1, 6), (4, 5, 2, 3, 6)) - del tmp37 - tmp69 += np.transpose(tmp68, (1, 0, 4, 3, 2)) - del tmp68 - tmp70 = einsum(t1, (0, 1), tmp69, (0, 2, 3, 1, 4), (2, 3, 4)) * 0.5 - del tmp69 - tmp74 += tmp70 - del tmp70 - tmp71 = np.copy(f.vv) - tmp71 += ints.tmp18 * -0.5 - tmp72 = einsum(tmp71, (0, 1), r2, (2, 0, 3), (3, 2, 1)) * -1 - del tmp71 - tmp74 += np.transpose(tmp72, (0, 2, 1)) - del tmp72 - tmp73 = einsum(tmp2, (0, 1, 2), tmp57, (1, 3), (0, 2, 3)) * 0.5 - del tmp2 - tmp74 += np.transpose(tmp73, (0, 2, 1)) - del tmp73 - tmp74 += einsum(tmp57, (0, 1), r1, (2,), (0, 1, 2)) * -1 - r2new += np.transpose(tmp74, (1, 2, 0)) - r2new += np.transpose(tmp74, (2, 1, 0)) * -1 - del tmp74 - r2new += np.transpose(tmp19, (1, 2, 0)) - r2new += np.transpose(tmp19, (2, 1, 0)) * -1 - del tmp19 - tmp75 = np.copy(ints.tmp42) - del ints.tmp42 - tmp75 += np.transpose(ints.tmp49, (1, 2, 0, 3)) * 0.25 - del ints.tmp49 - tmp75 += np.transpose(ints.tmp54, (1, 2, 0, 3)) * -0.25 - del ints.tmp54 - tmp75 += np.transpose(v.ooov, (0, 2, 1, 3)) * -0.5 - r2new += einsum(tmp75, (0, 1, 2, 3), r3, (4, 5, 3, 0, 2), (4, 5, 1)) - del tmp75 - tmp80 = np.copy(np.transpose(tmp28, (0, 1, 2, 4, 3))) - del tmp28 - tmp80 += np.transpose(tmp76, (0, 1, 2, 4, 3)) * -0.5 - del tmp76 - tmp80 += np.transpose(tmp77, (1, 0, 4, 3, 2)) * 0.5 - del tmp77 - tmp78 = np.copy(np.transpose(tmp29, (0, 1, 3, 2, 4))) * -1 - del tmp29 - tmp78 += np.transpose(tmp34, (0, 1, 3, 2, 4)) - del tmp34 - tmp80 += np.transpose(tmp78, (0, 1, 4, 2, 3)) * -1 - tmp80 += np.transpose(tmp78, (1, 0, 4, 2, 3)) - del tmp78 - tmp79 = np.copy(ints.tmp102) - del ints.tmp102 - tmp79 += np.transpose(ints.tmp65, (0, 3, 2, 1)) * 0.25 - del ints.tmp65 - tmp79 += np.transpose(v.oooo, (0, 2, 3, 1)) * -0.5 - tmp80 += einsum(tmp79, (0, 1, 2, 3), r3, (4, 5, 6, 3, 0), (1, 2, 4, 5, 6)) - del tmp79 - r2new += einsum(t1, (0, 1), tmp80, (2, 0, 1, 3, 4), (4, 3, 2)) * -1 - del tmp80 - tmp81 = np.copy(np.transpose(tmp12, (0, 2, 1))) * -1 - del tmp12 - tmp81 += np.transpose(tmp40, (0, 2, 1)) * -2 - del tmp40 - tmp81 += np.transpose(tmp13, (0, 2, 1)) * -0.33333333333332 - del tmp13 - tmp81 += np.transpose(tmp41, (0, 2, 1)) * -2 - del tmp41 - r2new += einsum(tmp81, (0, 1, 2), v.oovv, (1, 2, 3, 4), (3, 4, 0)) * 0.25 - del tmp81 - tmp82 = np.copy(np.transpose(r3, (3, 4, 0, 1, 2))) - tmp82 += np.transpose(tmp18, (1, 0, 4, 3, 2)) - del tmp18 - r2new += einsum(f.ov, (0, 1), tmp82, (0, 2, 1, 3, 4), (3, 4, 2)) * -1 - del tmp82 - tmp84 = np.copy(ints.tmp19) - del ints.tmp19 - tmp84 += ints.tmp21 - del ints.tmp21 - tmp84 += ints.tmp26 * -0.5 - del ints.tmp26 - tmp84 += ints.tmp93 * -2 - del ints.tmp93 - tmp83 = np.copy(ints.tmp11) - del ints.tmp11 - tmp83 += ints.tmp18 * 0.5 - del ints.tmp18 - tmp84 += einsum(tmp83, (0, 1), t1, (2, 1), (2, 0)) * 2 - del tmp83 - r2new += einsum(tmp84, (0, 1), r3, (2, 3, 1, 4, 0), (2, 3, 4)) * -0.5 - del tmp84 - tmp85 = np.copy(f.oo) - tmp85 += np.transpose(ints.tmp39, (1, 0)) * 0.5 - tmp85 += np.transpose(ints.tmp69, (1, 0)) - r2new += einsum(tmp85, (0, 1), tmp30, (1, 2, 0, 3, 4), (4, 3, 2)) * -1 - del tmp85 - tmp86 = np.copy(ints.tmp40) - tmp86 += ints.tmp9 - r2new += einsum(tmp30, (0, 1, 2, 3, 4), tmp86, (2, 0), (4, 3, 1)) * -1 - del tmp30, tmp86 - r2new += einsum(tmp0, (0, 1, 2), tmp57, (3, 2), (1, 0, 3)) * 0.5 - del tmp57, tmp0 - tmp87 = np.copy(f.oo) - tmp87 += ints.tmp39 * 0.5 - del ints.tmp39 - tmp87 += np.transpose(ints.tmp40, (1, 0)) - del ints.tmp40 - tmp87 += ints.tmp69 - del ints.tmp69 - tmp87 += np.transpose(ints.tmp9, (1, 0)) - del ints.tmp9 - r2new += einsum(tmp87, (0, 1), r2, (2, 3, 0), (2, 3, 1)) * -1 - del tmp87 - tmp88 = np.copy(tmp53) - del tmp53 - tmp88 += tmp54 * 0.5 - del tmp54 - tmp88 += tmp55 * 0.08333333333333 - del tmp55 - r2new += einsum(tmp88, (0,), v.oovv, (1, 0, 2, 3), (2, 3, 1)) - del tmp88 - - return {f"r1new": r1new, f"r2new": r2new, f"r3new": r3new} - -def hbar_lmatvec_ee_intermediates(f=None, t1=None, t2=None, t3=None, v=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-10-22T10:41:51.255301. - - Parameters - ---------- - f : array - Fock matrix. - t1 : array - T1 amplitudes. - t2 : array - T2 amplitudes. - t3 : array - T3 amplitudes. - v : array - Electron repulsion integrals. - - Returns - ------- - tmp0 : array - tmp114 : array - tmp13 : array - tmp130 : array - tmp14 : array - tmp21 : array - tmp23 : array - tmp24 : array - tmp25 : array - tmp26 : array - tmp27 : array - tmp29 : array - tmp30 : array - tmp34 : array - tmp35 : array - tmp40 : array - tmp43 : array - tmp46 : array - tmp49 : array - tmp50 : array - tmp67 : array - tmp68 : array - """ - - tmp0 = einsum(t1, (0, 1), f.ov, (2, 1), (2, 0)) - tmp21 = np.copy(np.transpose(v.oooo, (0, 2))) - tmp23 = einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 2, 3), (0, 4)) - tmp13 = einsum(t1, (0, 1), v.ooov, (2, 0, 3, 1), (2, 3)) - tmp14 = einsum(v.ovvv, (0, 1, 2, 3), t1, (0, 3), (1, 2)) - tmp26 = einsum(t2, (0, 1, 2, 3), v.ovoo, (4, 3, 0, 1), (4, 2)) - tmp34 = einsum(t3, (0, 1, 2, 3, 4, 5), v.oovv, (1, 2, 4, 5), (0, 3)) - tmp114 = einsum(t1, (0, 1), f.vv, (2, 1), (0, 2)) - tmp24 = einsum(v.oovv, (0, 1, 2, 3), t2, (0, 1, 4, 3), (4, 2)) - tmp25 = einsum(v.oovv, (0, 1, 2, 3), t2, (4, 1, 5, 3), (4, 0, 5, 2)) - tmp27 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 1, 5, 3), (0, 4, 5, 2)) - tmp29 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 2, 3), (0, 4)) - tmp30 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 5, 2, 3), (4, 5, 0, 1)) - tmp35 = einsum(t3, (0, 1, 2, 3, 4, 5), v.oovv, (6, 2, 4, 5), (0, 1, 6, 3)) - tmp40 = einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 0, 6, 2, 3), (4, 5, 6, 1)) - tmp50 = einsum(v.oovv, (0, 1, 2, 3), t2, (4, 5, 2, 3), (4, 5, 0, 1)) - tmp68 = einsum(v.ooov, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) - tmp42 = np.copy(np.transpose(v.ooov, (0, 3))) - tmp43 = einsum(tmp42, (0, 1), t1, (2, 1), (2, 0)) - del tmp42 - tmp46 = einsum(t1, (0, 1), v.oovv, (2, 0, 3, 1), (2, 3)) - tmp67 = einsum(tmp46, (0, 1), t1, (2, 1), (2, 0)) - tmp49 = einsum(t1, (0, 1), v.oovv, (2, 3, 4, 1), (0, 2, 3, 4)) - tmp130 = einsum(t1, (0, 1), tmp49, (2, 3, 4, 1), (2, 0, 3, 4)) * -1 - - return {f"tmp0": tmp0, f"tmp114": tmp114, f"tmp13": tmp13, f"tmp130": tmp130, f"tmp14": tmp14, f"tmp21": tmp21, f"tmp23": tmp23, f"tmp24": tmp24, f"tmp25": tmp25, f"tmp26": tmp26, f"tmp27": tmp27, f"tmp29": tmp29, f"tmp30": tmp30, f"tmp34": tmp34, f"tmp35": tmp35, f"tmp40": tmp40, f"tmp43": tmp43, f"tmp46": tmp46, f"tmp49": tmp49, f"tmp50": tmp50, f"tmp67": tmp67, f"tmp68": tmp68} - -def hbar_lmatvec_ee(f=None, r1=None, r2=None, r3=None, t1=None, t2=None, t3=None, v=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-10-22T10:41:51.318006. - - Parameters - ---------- - f : array - Fock matrix. - r1 : array - R1 amplitudes. - r2 : array - R2 amplitudes. - r3 : array - R3 amplitudes. - t1 : array - T1 amplitudes. - t2 : array - T2 amplitudes. - t3 : array - T3 amplitudes. - v : array - Electron repulsion integrals. - - Returns - ------- - r1new : array - Updated R1 residuals. - r2new : array - Updated R2 residuals. - r3new : array - Updated R3 residuals. - """ - - ints = kwargs["ints"] - tmp6 = einsum(v.vvvv, (0, 1, 2, 3), r3, (4, 5, 6, 7, 2, 3), (4, 5, 6, 7, 0, 1)) - tmp127 = np.copy(np.transpose(tmp6, (1, 2, 0, 3, 5, 4))) * 0.5 - tmp46 = einsum(v.ovvv, (0, 1, 2, 3), r3, (4, 5, 6, 7, 8, 1), (4, 5, 6, 0, 7, 8, 2, 3)) - tmp47 = einsum(tmp46, (0, 1, 2, 3, 4, 5, 6, 7), t1, (3, 5), (0, 1, 2, 4, 6, 7)) - tmp127 += np.transpose(tmp47, (1, 2, 0, 3, 5, 4)) * -1 - tmp12 = einsum(t2, (0, 1, 2, 3), r3, (4, 5, 6, 7, 2, 3), (4, 5, 6, 0, 1, 7)) - tmp92 = np.copy(np.transpose(tmp12, (1, 2, 0, 4, 3, 5))) * -0.5 - tmp44 = einsum(t1, (0, 1), r3, (2, 3, 4, 5, 6, 1), (2, 3, 4, 0, 5, 6)) - tmp51 = einsum(t1, (0, 1), tmp44, (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 0, 6)) * -1 - tmp92 += np.transpose(tmp51, (1, 2, 0, 4, 3, 5)) * -1 - tmp93 = einsum(tmp92, (0, 1, 2, 3, 4, 5), v.oovv, (3, 4, 6, 7), (0, 1, 2, 6, 7, 5)) * 0.5 - del tmp92 - tmp127 += np.transpose(tmp93, (1, 2, 0, 5, 4, 3)) - tmp124 = np.copy(f.vv) - tmp124 += ints.tmp24 * -0.5 - tmp125 = einsum(r3, (0, 1, 2, 3, 4, 5), tmp124, (5, 6), (0, 1, 2, 3, 4, 6)) - del tmp124 - tmp127 += np.transpose(tmp125, (1, 2, 0, 5, 3, 4)) * -1 - del tmp125 - tmp73 = np.copy(f.ov) - tmp73 += ints.tmp46 - tmp126 = einsum(tmp73, (0, 1), tmp44, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 6, 1)) - tmp127 += np.transpose(tmp126, (1, 2, 0, 5, 4, 3)) * -1 - del tmp126 - r3new = np.copy(np.transpose(tmp127, (2, 0, 1, 3, 4, 5))) * -1 - r3new += np.transpose(tmp127, (2, 0, 1, 4, 3, 5)) - r3new += np.transpose(tmp127, (2, 0, 1, 4, 5, 3)) * -1 - del tmp127 - tmp43 = einsum(r3, (0, 1, 2, 3, 4, 5), v.ovov, (6, 5, 2, 7), (0, 1, 6, 3, 4, 7)) - tmp128 = np.copy(np.transpose(tmp43, (1, 0, 2, 4, 3, 5))) * -1 - tmp45 = einsum(tmp44, (0, 1, 2, 3, 4, 5), v.ooov, (6, 3, 2, 7), (0, 1, 6, 4, 5, 7)) - tmp128 += np.transpose(tmp45, (1, 0, 2, 4, 3, 5)) - tmp82 = einsum(t1, (0, 1), tmp46, (2, 3, 0, 4, 5, 6, 1, 7), (2, 3, 4, 5, 6, 7)) * -1 - del tmp46 - tmp128 += np.transpose(tmp82, (1, 0, 2, 4, 3, 5)) - tmp10 = einsum(t2, (0, 1, 2, 3), r3, (4, 5, 1, 6, 7, 3), (4, 5, 0, 6, 7, 2)) - tmp48 = einsum(v.oovv, (0, 1, 2, 3), tmp10, (4, 5, 1, 6, 7, 3), (4, 5, 0, 6, 7, 2)) - tmp128 += np.transpose(tmp48, (1, 0, 2, 4, 3, 5)) - r3new += tmp128 - r3new += np.transpose(tmp128, (0, 1, 2, 3, 5, 4)) * -1 - r3new += np.transpose(tmp128, (0, 1, 2, 5, 3, 4)) - r3new += np.transpose(tmp128, (0, 2, 1, 3, 4, 5)) * -1 - r3new += np.transpose(tmp128, (0, 2, 1, 3, 5, 4)) - r3new += np.transpose(tmp128, (0, 2, 1, 5, 3, 4)) * -1 - r3new += np.transpose(tmp128, (2, 0, 1, 3, 4, 5)) - r3new += np.transpose(tmp128, (2, 0, 1, 3, 5, 4)) * -1 - r3new += np.transpose(tmp128, (2, 0, 1, 5, 3, 4)) - del tmp128 - tmp49 = einsum(v.ovvv, (0, 1, 2, 3), r2, (4, 5, 6, 1), (4, 5, 0, 6, 2, 3)) - tmp130 = np.copy(np.transpose(tmp49, (1, 0, 2, 3, 5, 4))) - tmp24 = einsum(t1, (0, 1), r2, (2, 3, 4, 1), (2, 3, 0, 4)) - tmp68 = np.copy(np.transpose(tmp24, (1, 0, 2, 3))) * -2 - tmp9 = einsum(t2, (0, 1, 2, 3), r3, (4, 5, 1, 6, 2, 3), (4, 5, 0, 6)) - tmp68 += np.transpose(tmp9, (1, 0, 2, 3)) * -1 - tmp129 = einsum(tmp68, (0, 1, 2, 3), v.oovv, (4, 2, 5, 6), (4, 0, 1, 5, 6, 3)) * -0.5 - tmp130 += np.transpose(tmp129, (2, 1, 0, 5, 4, 3)) - del tmp129 - r3new += tmp130 * -1 - r3new += np.transpose(tmp130, (0, 1, 2, 4, 3, 5)) - r3new += np.transpose(tmp130, (0, 1, 2, 4, 5, 3)) * -1 - r3new += np.transpose(tmp130, (0, 2, 1, 3, 4, 5)) - r3new += np.transpose(tmp130, (0, 2, 1, 4, 3, 5)) * -1 - r3new += np.transpose(tmp130, (0, 2, 1, 4, 5, 3)) - r3new += np.transpose(tmp130, (2, 0, 1, 3, 4, 5)) * -1 - r3new += np.transpose(tmp130, (2, 0, 1, 4, 3, 5)) - r3new += np.transpose(tmp130, (2, 0, 1, 4, 5, 3)) * -1 - del tmp130 - tmp131 = einsum(r2, (0, 1, 2, 3), v.ooov, (4, 5, 1, 6), (0, 4, 5, 2, 3, 6)) - tmp132 = np.copy(np.transpose(tmp131, (0, 2, 1, 4, 3, 5))) - del tmp131 - tmp7 = einsum(r3, (0, 1, 2, 3, 4, 5), t2, (1, 2, 6, 5), (0, 3, 4, 6)) - tmp40 = einsum(v.oovv, (0, 1, 2, 3), tmp7, (4, 5, 6, 3), (4, 0, 1, 5, 6, 2)) * -1 - tmp132 += np.transpose(tmp40, (0, 2, 1, 4, 3, 5)) * 0.5 - r3new += tmp132 * -1 - r3new += np.transpose(tmp132, (0, 1, 2, 3, 5, 4)) - r3new += np.transpose(tmp132, (0, 1, 2, 5, 3, 4)) * -1 - r3new += np.transpose(tmp132, (1, 0, 2, 3, 4, 5)) - r3new += np.transpose(tmp132, (1, 0, 2, 3, 5, 4)) * -1 - r3new += np.transpose(tmp132, (1, 0, 2, 5, 3, 4)) - r3new += np.transpose(tmp132, (1, 2, 0, 3, 4, 5)) * -1 - r3new += np.transpose(tmp132, (1, 2, 0, 3, 5, 4)) - r3new += np.transpose(tmp132, (1, 2, 0, 5, 3, 4)) * -1 - del tmp132 - tmp133 = np.copy(f.oo) - tmp133 += np.transpose(ints.tmp0, (1, 0)) - tmp133 += np.transpose(ints.tmp13, (1, 0)) - tmp133 += ints.tmp67 - tmp134 = einsum(tmp133, (0, 1), r3, (2, 3, 0, 4, 5, 6), (2, 3, 1, 4, 5, 6)) * -1 - del tmp133 - r3new += np.transpose(tmp134, (2, 1, 0, 3, 4, 5)) * -1 - r3new += np.transpose(tmp134, (1, 2, 0, 3, 4, 5)) - r3new += np.transpose(tmp134, (1, 0, 2, 3, 4, 5)) * -1 - del tmp134 - tmp135 = einsum(r2, (0, 1, 2, 3), ints.tmp49, (1, 4, 5, 6), (4, 5, 0, 6, 2, 3)) - r3new += np.transpose(tmp135, (1, 0, 2, 3, 5, 4)) - r3new += np.transpose(tmp135, (1, 0, 2, 5, 3, 4)) * -1 - r3new += np.transpose(tmp135, (1, 0, 2, 5, 4, 3)) - r3new += np.transpose(tmp135, (1, 2, 0, 3, 5, 4)) * -1 - r3new += np.transpose(tmp135, (1, 2, 0, 5, 3, 4)) - r3new += np.transpose(tmp135, (1, 2, 0, 5, 4, 3)) * -1 - r3new += np.transpose(tmp135, (2, 1, 0, 3, 5, 4)) - r3new += np.transpose(tmp135, (2, 1, 0, 5, 3, 4)) * -1 - r3new += np.transpose(tmp135, (2, 1, 0, 5, 4, 3)) - del tmp135 - tmp136 = einsum(r3, (0, 1, 2, 3, 4, 5), ints.tmp23, (2, 6), (6, 0, 1, 3, 4, 5)) - tmp137 = np.copy(np.transpose(tmp136, (0, 2, 1, 4, 5, 3))) * -0.5 - del tmp136 - tmp79 = einsum(v.oooo, (0, 1, 2, 3), r3, (4, 2, 3, 5, 6, 7), (4, 0, 1, 5, 6, 7)) - tmp137 += np.transpose(tmp79, (0, 2, 1, 4, 5, 3)) * 0.5 - r3new += np.transpose(tmp137, (0, 1, 2, 5, 3, 4)) * -1 - r3new += np.transpose(tmp137, (1, 0, 2, 5, 3, 4)) - r3new += np.transpose(tmp137, (1, 2, 0, 5, 3, 4)) * -1 - del tmp137 - tmp138 = einsum(f.ov, (0, 1), r2, (2, 3, 4, 5), (0, 2, 3, 1, 4, 5)) - tmp138 += einsum(r1, (0, 1), v.oovv, (2, 3, 4, 5), (0, 2, 3, 1, 4, 5)) - tmp81 = einsum(tmp44, (0, 1, 2, 3, 4, 5), ints.tmp49, (2, 6, 3, 7), (6, 0, 1, 7, 4, 5)) - tmp138 += np.transpose(tmp81, (0, 2, 1, 3, 5, 4)) * -1 - r3new += tmp138 - r3new += np.transpose(tmp138, (0, 1, 2, 4, 3, 5)) * -1 - r3new += np.transpose(tmp138, (0, 1, 2, 4, 5, 3)) - r3new += np.transpose(tmp138, (1, 0, 2, 3, 4, 5)) * -1 - r3new += np.transpose(tmp138, (1, 0, 2, 4, 3, 5)) - r3new += np.transpose(tmp138, (1, 0, 2, 4, 5, 3)) * -1 - r3new += np.transpose(tmp138, (1, 2, 0, 3, 4, 5)) - r3new += np.transpose(tmp138, (1, 2, 0, 4, 3, 5)) * -1 - r3new += np.transpose(tmp138, (1, 2, 0, 4, 5, 3)) - del tmp138 - r3new += einsum(r2, (0, 1, 2, 3), ints.tmp46, (4, 5), (4, 0, 1, 5, 2, 3)) - r3new += einsum(r2, (0, 1, 2, 3), ints.tmp46, (4, 5), (4, 0, 1, 2, 5, 3)) * -1 - r3new += einsum(r2, (0, 1, 2, 3), ints.tmp46, (4, 5), (0, 4, 1, 5, 2, 3)) * -1 - r3new += einsum(r2, (0, 1, 2, 3), ints.tmp46, (4, 5), (0, 4, 1, 2, 5, 3)) - r3new += einsum(r2, (0, 1, 2, 3), ints.tmp46, (4, 5), (0, 4, 1, 2, 3, 5)) * -1 - r3new += einsum(ints.tmp46, (0, 1), r2, (2, 3, 4, 5), (2, 3, 0, 1, 4, 5)) - r3new += einsum(r2, (0, 1, 2, 3), ints.tmp46, (4, 5), (0, 1, 4, 2, 5, 3)) * -1 - r3new += einsum(ints.tmp46, (0, 1), r2, (2, 3, 4, 5), (2, 3, 0, 4, 5, 1)) - tmp139 = einsum(r3, (0, 1, 2, 3, 4, 5), ints.tmp14, (5, 6), (0, 1, 2, 6, 3, 4)) - r3new += np.transpose(tmp139, (1, 2, 0, 3, 5, 4)) - r3new += np.transpose(tmp139, (1, 2, 0, 5, 3, 4)) * -1 - r3new += np.transpose(tmp139, (1, 2, 0, 5, 4, 3)) - del tmp139 - tmp109 = einsum(r3, (0, 1, 2, 3, 4, 5), ints.tmp68, (1, 6, 7, 2), (6, 7, 0, 3, 4, 5)) - r3new += np.transpose(tmp109, (1, 0, 2, 4, 5, 3)) - r3new += np.transpose(tmp109, (1, 2, 0, 4, 5, 3)) * -1 - r3new += np.transpose(tmp109, (2, 1, 0, 4, 5, 3)) - tmp140 = np.copy(ints.tmp130) * 2 - tmp140 += ints.tmp50 - tmp141 = einsum(tmp140, (0, 1, 2, 3), r3, (4, 1, 0, 5, 6, 7), (4, 2, 3, 5, 6, 7)) * 0.25 - del tmp140 - r3new += np.transpose(tmp141, (2, 1, 0, 3, 4, 5)) - r3new += np.transpose(tmp141, (2, 0, 1, 3, 4, 5)) * -1 - r3new += np.transpose(tmp141, (0, 2, 1, 3, 4, 5)) - del tmp141 - tmp0 = einsum(r2, (0, 1, 2, 3), t2, (0, 1, 4, 3), (2, 4)) - r1new = einsum(tmp0, (0, 1), v.ovvv, (2, 0, 3, 1), (2, 3)) * 0.5 - tmp1 = einsum(t3, (0, 1, 2, 3, 4, 5), r3, (6, 1, 2, 7, 4, 5), (6, 0, 7, 3)) - r1new += einsum(v.ooov, (0, 1, 2, 3), tmp1, (2, 1, 4, 3), (0, 4)) * -0.25 - tmp2 = einsum(r3, (0, 1, 2, 3, 4, 5), t3, (6, 7, 2, 8, 4, 5), (0, 1, 6, 7, 3, 8)) - r1new += einsum(v.ovoo, (0, 1, 2, 3), tmp2, (4, 0, 3, 2, 5, 1), (4, 5)) * -0.25 - tmp3 = einsum(r3, (0, 1, 2, 3, 4, 5), t3, (6, 1, 2, 3, 4, 5), (0, 6)) - r1new += einsum(tmp3, (0, 1), v.ooov, (2, 1, 0, 3), (2, 3)) * 0.08333333333333 - tmp4 = einsum(r3, (0, 1, 2, 3, 4, 5), t3, (0, 1, 2, 6, 4, 5), (3, 6)) - r1new += einsum(tmp4, (0, 1), v.ovvv, (2, 0, 3, 1), (2, 3)) * 0.08333333333333 - tmp5 = einsum(r3, (0, 1, 2, 3, 4, 5), t3, (0, 1, 2, 6, 7, 5), (3, 4, 6, 7)) - r1new += einsum(v.ovvv, (0, 1, 2, 3), tmp5, (4, 1, 3, 2), (0, 4)) * 0.08333333333333 - r1new += einsum(v.ovvv, (0, 1, 2, 3), tmp1, (4, 0, 1, 3), (4, 2)) * -0.25 - r1new += einsum(tmp6, (0, 1, 2, 3, 4, 5), t2, (1, 2, 5, 4), (0, 3)) * -0.125 - r1new += einsum(v.vvvv, (0, 1, 2, 3), tmp7, (4, 3, 2, 1), (4, 0)) * -0.25 - tmp8 = einsum(r1, (0, 1), t1, (2, 1), (0, 2)) - r1new += einsum(tmp8, (0, 1), ints.tmp49, (0, 2, 1, 3), (2, 3)) * -1 - r1new += einsum(tmp9, (0, 1, 2, 3), v.ovov, (2, 3, 1, 4), (0, 4)) * -0.5 - r1new += einsum(v.ovov, (0, 1, 2, 3), tmp7, (2, 4, 1, 3), (0, 4)) * -0.5 - r1new += einsum(tmp10, (0, 1, 2, 3, 4, 5), v.ovov, (2, 4, 1, 5), (0, 3)) * -1 - tmp11 = einsum(t1, (0, 1), tmp7, (2, 3, 1, 4), (2, 0, 3, 4)) - r1new += einsum(tmp11, (0, 1, 2, 3), ints.tmp46, (1, 3), (0, 2)) * -0.5 - del ints.tmp46 - r1new += einsum(ints.tmp50, (0, 1, 2, 3), tmp12, (4, 1, 0, 2, 3, 5), (4, 5)) * -0.0625 - r1new += einsum(v.oooo, (0, 1, 2, 3), tmp12, (4, 2, 3, 1, 0, 5), (4, 5)) * -0.125 - tmp13 = einsum(t2, (0, 1, 2, 3), tmp7, (1, 4, 3, 5), (0, 4, 5, 2)) * -1 - r1new += einsum(v.oovv, (0, 1, 2, 3), tmp13, (1, 4, 2, 3), (0, 4)) * -0.5 - del tmp13 - tmp14 = einsum(tmp10, (0, 1, 2, 3, 4, 5), t2, (6, 1, 7, 4), (0, 2, 6, 3, 5, 7)) - r1new += einsum(tmp14, (0, 1, 2, 3, 4, 5), v.oovv, (2, 1, 5, 4), (0, 3)) * 0.50000000000001 - del tmp14 - tmp15 = np.copy(ints.tmp40) - del ints.tmp40 - tmp15 += v.oovv * -1 - r1new += einsum(r3, (0, 1, 2, 3, 4, 5), tmp15, (1, 2, 5, 4), (0, 3)) * 0.25 - del tmp15 - tmp16 = np.copy(np.transpose(v.ovvv, (0, 2, 3, 1))) * -0.5 - tmp16 += einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 0, 5, 3), (4, 5, 1, 2)) - r1new += einsum(tmp16, (0, 1, 2, 3), r2, (4, 0, 1, 2), (4, 3)) - del tmp16 - tmp17 = np.copy(ints.tmp27) * 4 - del ints.tmp27 - tmp17 += np.transpose(ints.tmp35, (0, 2, 1, 3)) - tmp17 += np.transpose(ints.tmp30, (0, 2, 1, 3)) * -1 - tmp17 += np.transpose(v.ooov, (0, 2, 1, 3)) * -2 - r1new += einsum(tmp17, (0, 1, 2, 3), r2, (0, 2, 4, 3), (1, 4)) * 0.25 - del tmp17 - tmp18 = einsum(t3, (0, 1, 2, 3, 4, 5), r2, (6, 2, 4, 5), (6, 0, 1, 3)) - tmp18 += einsum(tmp7, (0, 1, 2, 3), t2, (4, 5, 2, 1), (0, 4, 5, 3)) * -0.5 - tmp18 += einsum(tmp9, (0, 1, 2, 3), t2, (4, 1, 5, 3), (0, 4, 2, 5)) * -2 - r1new += einsum(v.oovv, (0, 1, 2, 3), tmp18, (4, 0, 1, 3), (4, 2)) * 0.25 - del tmp18 - tmp19 = einsum(r2, (0, 1, 2, 3), t2, (4, 5, 2, 3), (0, 1, 4, 5)) - tmp21 = np.copy(np.transpose(tmp19, (1, 0, 3, 2))) * 3 - tmp20 = einsum(t3, (0, 1, 2, 3, 4, 5), r3, (6, 7, 2, 3, 4, 5), (6, 7, 0, 1)) - tmp21 += np.transpose(tmp20, (1, 0, 3, 2)) - r1new += einsum(v.ooov, (0, 1, 2, 3), tmp21, (2, 4, 0, 1), (4, 3)) * 0.08333333333333 - del tmp21 - tmp22 = np.copy(ints.tmp50) - tmp22 += v.oooo * 2 - r1new += einsum(tmp22, (0, 1, 2, 3), tmp9, (0, 1, 3, 4), (2, 4)) * 0.125 - del tmp22 - tmp23 = einsum(v.vvvv, (0, 1, 2, 3), r2, (4, 5, 2, 3), (4, 5, 0, 1)) - tmp61 = np.copy(np.transpose(tmp23, (1, 0, 3, 2))) * -2 - tmp25 = einsum(tmp24, (0, 1, 2, 3), v.ooov, (4, 2, 1, 5), (0, 4, 3, 5)) - tmp61 += np.transpose(tmp25, (1, 0, 2, 3)) * 2 - tmp26 = einsum(v.ovvv, (0, 1, 2, 3), r3, (4, 5, 0, 6, 2, 3), (4, 5, 6, 1)) - tmp61 += np.transpose(tmp26, (1, 0, 3, 2)) * 2 - tmp27 = einsum(tmp10, (0, 1, 2, 3, 4, 5), v.ooov, (6, 2, 1, 5), (0, 6, 3, 4)) * -1 - tmp61 += np.transpose(tmp27, (1, 0, 3, 2)) * -4 - tmp28 = einsum(tmp7, (0, 1, 2, 3), v.ooov, (4, 5, 0, 3), (4, 5, 1, 2)) * -1 - tmp61 += np.transpose(tmp28, (0, 1, 3, 2)) * -2 - tmp29 = einsum(tmp12, (0, 1, 2, 3, 4, 5), v.ovoo, (2, 6, 4, 3), (1, 0, 5, 6)) - tmp61 += np.transpose(tmp29, (0, 1, 3, 2)) * -1 - tmp30 = einsum(tmp10, (0, 1, 2, 3, 4, 5), v.ovvv, (2, 4, 6, 5), (1, 0, 3, 6)) - tmp61 += np.transpose(tmp30, (0, 1, 3, 2)) * 4 - tmp31 = einsum(v.ovvv, (0, 1, 2, 3), tmp9, (4, 5, 0, 1), (5, 4, 2, 3)) - tmp61 += np.transpose(tmp31, (0, 1, 3, 2)) * -2 - tmp32 = einsum(v.oovv, (0, 1, 2, 3), tmp2, (4, 5, 1, 0, 6, 3), (5, 4, 6, 2)) - del tmp2 - tmp61 += np.transpose(tmp32, (0, 1, 3, 2)) - tmp33 = einsum(v.oovv, (0, 1, 2, 3), tmp5, (4, 5, 3, 2), (0, 1, 4, 5)) * -1 - del tmp5 - tmp61 += np.transpose(tmp33, (0, 1, 3, 2)) * 0.33333333333332 - tmp34 = einsum(r2, (0, 1, 2, 3), ints.tmp25, (1, 4, 3, 5), (4, 0, 5, 2)) - tmp61 += tmp34 * -4 - tmp61 += np.transpose(tmp34, (0, 1, 3, 2)) * 4 - tmp61 += np.transpose(tmp34, (1, 0, 2, 3)) * 4 - tmp35 = einsum(v.ovov, (0, 1, 2, 3), r2, (4, 2, 5, 1), (4, 0, 5, 3)) - tmp37 = np.copy(tmp35) * 4 - tmp36 = einsum(tmp7, (0, 1, 2, 3), v.ovvv, (4, 2, 5, 3), (0, 4, 1, 5)) - tmp37 += tmp36 * -2 - tmp61 += np.transpose(tmp37, (0, 1, 3, 2)) * -1 - tmp61 += np.transpose(tmp37, (1, 0, 2, 3)) * -1 - tmp61 += np.transpose(tmp37, (1, 0, 3, 2)) - del tmp37 - tmp38 = einsum(tmp9, (0, 1, 2, 3), v.ooov, (4, 2, 1, 5), (0, 4, 3, 5)) - tmp61 += np.transpose(tmp38, (0, 1, 3, 2)) * 2 - tmp61 += np.transpose(tmp38, (1, 0, 2, 3)) * 2 - tmp39 = einsum(tmp1, (0, 1, 2, 3), v.oovv, (4, 1, 5, 3), (0, 4, 2, 5)) - tmp61 += np.transpose(tmp39, (0, 1, 3, 2)) - tmp61 += np.transpose(tmp39, (1, 0, 2, 3)) - tmp61 += np.transpose(tmp39, (1, 0, 3, 2)) * -1 - tmp41 = einsum(t1, (0, 1), tmp40, (2, 0, 3, 1, 4, 5), (2, 3, 4, 5)) - tmp61 += np.transpose(tmp41, (0, 1, 3, 2)) * 2 - tmp61 += np.transpose(tmp41, (1, 0, 2, 3)) - tmp42 = np.copy(ints.tmp30) - tmp42 += v.ooov * 2 - tmp42 += ints.tmp35 * -1 - tmp61 += einsum(r3, (0, 1, 2, 3, 4, 5), tmp42, (1, 2, 6, 5), (6, 0, 3, 4)) * -1 - del tmp42 - tmp53 = np.copy(np.transpose(tmp43, (1, 2, 0, 4, 5, 3))) - tmp53 += np.transpose(tmp6, (1, 2, 0, 5, 4, 3)) * 0.25 - tmp53 += np.transpose(tmp45, (1, 2, 0, 4, 5, 3)) * -0.5 - tmp53 += np.transpose(tmp47, (1, 2, 0, 5, 4, 3)) * -0.5 - tmp53 += np.transpose(tmp48, (1, 2, 0, 4, 5, 3)) * -1 - tmp53 += np.transpose(tmp49, (1, 0, 2, 5, 4, 3)) * 0.5 - tmp53 += np.transpose(tmp49, (1, 2, 0, 3, 5, 4)) * -1 - tmp50 = np.copy(ints.tmp50) * 0.5 - tmp50 += v.oooo - tmp53 += einsum(tmp50, (0, 1, 2, 3), r3, (4, 1, 0, 5, 6, 7), (2, 3, 4, 5, 6, 7)) * 0.25 - del tmp50 - tmp52 = np.copy(np.transpose(tmp12, (1, 2, 0, 4, 3, 5))) * -1 - del tmp12 - tmp52 += np.transpose(tmp51, (1, 2, 0, 4, 3, 5)) * -2 - del tmp51 - tmp53 += einsum(v.oovv, (0, 1, 2, 3), tmp52, (4, 5, 6, 0, 1, 7), (5, 6, 4, 2, 3, 7)) * -0.125 - del tmp52 - tmp61 += einsum(tmp53, (0, 1, 2, 3, 4, 5), t1, (1, 3), (0, 2, 4, 5)) * -4 - del tmp53 - tmp56 = np.copy(np.transpose(tmp19, (1, 0, 3, 2))) * 3 - tmp54 = einsum(t1, (0, 1), tmp24, (2, 3, 4, 1), (2, 3, 4, 0)) * -1 - tmp56 += np.transpose(tmp54, (1, 0, 3, 2)) * 6 - tmp56 += np.transpose(tmp20, (1, 0, 3, 2)) - tmp55 = einsum(t1, (0, 1), tmp9, (2, 3, 4, 1), (2, 3, 0, 4)) - tmp56 += np.transpose(tmp55, (1, 0, 3, 2)) * 6 - tmp61 += einsum(v.oovv, (0, 1, 2, 3), tmp56, (4, 5, 0, 1), (5, 4, 2, 3)) * 0.33333333333332 - del tmp56 - tmp57 = np.copy(ints.tmp50) * 0.25 - tmp57 += np.transpose(ints.tmp68, (3, 0, 1, 2)) - tmp57 += v.oooo * 0.5 - tmp61 += einsum(tmp57, (0, 1, 2, 3), r2, (0, 1, 4, 5), (3, 2, 4, 5)) * 4 - del tmp57 - tmp58 = np.copy(np.transpose(tmp24, (1, 0, 2, 3))) * -1 - tmp58 += np.transpose(tmp9, (1, 0, 2, 3)) * -0.5 - tmp61 += einsum(tmp58, (0, 1, 2, 3), ints.tmp49, (0, 4, 2, 5), (1, 4, 5, 3)) * 2 - tmp59 = np.copy(ints.tmp14) - tmp59 += ints.tmp24 * 0.5 - tmp59 += f.vv * -1 - tmp61 += einsum(tmp59, (0, 1), r2, (2, 3, 4, 0), (2, 3, 1, 4)) * -4 - tmp60 = np.copy(tmp0) - tmp60 += tmp4 * 0.16666666666666 - tmp61 += einsum(v.oovv, (0, 1, 2, 3), tmp60, (4, 3), (0, 1, 4, 2)) * -2 - r1new += einsum(t1, (0, 1), tmp61, (0, 2, 1, 3), (2, 3)) * -0.25 - del tmp61 - tmp62 = np.copy(f.vv) * 2 - tmp62 += ints.tmp24 * -1 - r1new += einsum(tmp62, (0, 1), tmp7, (2, 0, 3, 1), (2, 3)) * -0.25 - del tmp62 - tmp63 = np.copy(r2) - tmp63 += einsum(r2, (0, 1, 2, 3), t2, (4, 1, 5, 3), (4, 0, 5, 2)) - tmp63 += np.transpose(tmp1, (1, 0, 3, 2)) * 0.25 - del tmp1 - tmp63 += np.transpose(tmp11, (1, 0, 3, 2)) * -0.5 - del tmp11 - r1new += einsum(tmp63, (0, 1, 2, 3), f.ov, (0, 2), (1, 3)) - del tmp63 - tmp64 = np.copy(ints.tmp26) * 2 - tmp64 += ints.tmp29 * 2 - tmp64 += ints.tmp34 * -1 - r1new += einsum(tmp64, (0, 1), r2, (2, 0, 3, 1), (2, 3)) * -0.25 - del tmp64 - tmp65 = np.copy(ints.tmp25) - del ints.tmp25 - tmp65 += np.transpose(v.ovov, (0, 2, 3, 1)) * -1 - tmp65 += einsum(t1, (0, 1), v.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) - r1new += einsum(tmp65, (0, 1, 2, 3), r1, (0, 2), (1, 3)) - del tmp65 - tmp66 = einsum(t3, (0, 1, 2, 3, 4, 5), r2, (1, 2, 4, 5), (0, 3)) - tmp66 += einsum(t2, (0, 1, 2, 3), tmp9, (1, 0, 4, 3), (4, 2)) * -1 - r1new += einsum(tmp66, (0, 1), v.oovv, (2, 0, 3, 1), (2, 3)) * 0.25 - del tmp66 - tmp67 = np.copy(f.oo) * 2 - tmp67 += np.transpose(ints.tmp23, (1, 0)) - tmp67 += np.transpose(ints.tmp67, (1, 0)) * 2 - r1new += einsum(tmp67, (0, 1), tmp68, (1, 2, 0, 3), (2, 3)) * 0.25 - del tmp67 - tmp69 = np.copy(ints.tmp0) - tmp69 += ints.tmp13 - r1new += einsum(tmp68, (0, 1, 2, 3), tmp69, (2, 0), (1, 3)) * 0.5 - del tmp68, tmp69 - tmp71 = np.copy(tmp8) - tmp70 = einsum(t2, (0, 1, 2, 3), r2, (4, 1, 2, 3), (4, 0)) - tmp71 += tmp70 * 0.5 - r1new += einsum(v.ooov, (0, 1, 2, 3), tmp71, (2, 1), (0, 3)) - del tmp71 - tmp72 = np.copy(tmp70) - tmp72 += tmp3 * 0.16666666666666 - r1new += einsum(tmp72, (0, 1), ints.tmp49, (0, 2, 1, 3), (2, 3)) * -0.5 - del tmp72 - r1new += einsum(tmp73, (0, 1), tmp60, (2, 1), (0, 2)) * -0.5 - del tmp60 - r1new += einsum(tmp59, (0, 1), r1, (2, 0), (2, 1)) * -1 - del tmp59 - tmp74 = np.copy(tmp8) - tmp74 += tmp70 * 0.5 - tmp74 += tmp3 * 0.08333333333333 - r1new += einsum(tmp73, (0, 1), tmp74, (2, 0), (2, 1)) * -1 - del tmp74 - tmp75 = np.copy(f.oo) - tmp75 += np.transpose(ints.tmp0, (1, 0)) - tmp75 += np.transpose(ints.tmp13, (1, 0)) - tmp75 += ints.tmp23 * 0.5 - tmp75 += ints.tmp67 - r1new += einsum(r1, (0, 1), tmp75, (0, 2), (2, 1)) * -1 - del tmp75 - r2new = einsum(f.ov, (0, 1), tmp10, (2, 3, 0, 4, 5, 1), (3, 2, 5, 4)) - del tmp10 - r2new += np.transpose(tmp23, (1, 0, 3, 2)) * 0.5 - del tmp23 - r2new += np.transpose(tmp28, (0, 1, 3, 2)) * 0.5 - del tmp28 - r2new += np.transpose(tmp33, (0, 1, 3, 2)) * -0.08333333333333 - del tmp33 - r2new += np.transpose(tmp31, (0, 1, 3, 2)) * 0.5 - del tmp31 - tmp76 = einsum(r3, (0, 1, 2, 3, 4, 5), v.ovoo, (6, 5, 1, 2), (0, 6, 3, 4)) - tmp90 = np.copy(np.transpose(tmp76, (0, 1, 3, 2))) * 0.5 - del tmp76 - tmp77 = np.copy(ints.tmp30) - del ints.tmp30 - tmp77 += ints.tmp35 * -1 - del ints.tmp35 - tmp78 = einsum(tmp77, (0, 1, 2, 3), r3, (4, 0, 1, 5, 6, 3), (4, 2, 5, 6)) * -0.24999999999999 - del tmp77 - tmp90 += np.transpose(tmp78, (1, 0, 2, 3)) * -1 - del tmp78 - tmp83 = np.copy(np.transpose(tmp79, (2, 0, 1, 4, 5, 3))) * -2 - del tmp79 - tmp80 = einsum(r3, (0, 1, 2, 3, 4, 5), ints.tmp50, (2, 1, 6, 7), (6, 7, 0, 3, 4, 5)) * -1 - tmp83 += np.transpose(tmp80, (0, 1, 2, 4, 5, 3)) * -1 - del tmp80 - tmp83 += np.transpose(tmp43, (1, 0, 2, 5, 4, 3)) * 4 - tmp83 += np.transpose(tmp81, (2, 0, 1, 3, 5, 4)) * -2 - del tmp81 - tmp83 += np.transpose(tmp82, (1, 0, 2, 5, 4, 3)) * -2 - del tmp82 - tmp84 = einsum(tmp83, (0, 1, 2, 3, 4, 5), t1, (0, 3), (1, 2, 4, 5)) * 0.25 - del tmp83 - tmp90 += tmp84 * -1 - del tmp84 - tmp85 = einsum(tmp73, (0, 1), tmp7, (2, 3, 4, 1), (2, 0, 3, 4)) * 0.5 - del tmp7 - tmp90 += np.transpose(tmp85, (1, 0, 3, 2)) * -1 - del tmp85 - tmp86 = np.copy(f.oo) * 2 - tmp86 += np.transpose(ints.tmp0, (1, 0)) * 2 - tmp86 += np.transpose(ints.tmp13, (1, 0)) * 2 - tmp86 += ints.tmp23 - tmp86 += ints.tmp67 * 2 - tmp87 = einsum(r2, (0, 1, 2, 3), tmp86, (1, 4), (0, 4, 2, 3)) * -0.5 - del tmp86 - tmp90 += np.transpose(tmp87, (1, 0, 3, 2)) - del tmp87 - tmp88 = np.copy(tmp8) * 2 - del tmp8 - tmp88 += tmp70 - del tmp70 - tmp88 += tmp3 * 0.16666666666666 - del tmp3 - tmp89 = einsum(tmp88, (0, 1), v.oovv, (2, 1, 3, 4), (2, 0, 3, 4)) * -0.5 - del tmp88 - tmp90 += np.transpose(tmp89, (1, 0, 3, 2)) - del tmp89 - r2new += tmp90 - r2new += np.transpose(tmp90, (1, 0, 2, 3)) * -1 - del tmp90 - tmp99 = np.copy(np.transpose(tmp26, (1, 0, 2, 3))) * 0.5 - del tmp26 - tmp91 = einsum(v.oovv, (0, 1, 2, 3), tmp0, (4, 3), (0, 1, 4, 2)) * -1 - del tmp0 - tmp99 += np.transpose(tmp91, (1, 0, 2, 3)) * 0.5 - del tmp91 - tmp94 = np.copy(np.transpose(tmp43, (1, 0, 2, 4, 3, 5))) * -1 - tmp94 += np.transpose(tmp6, (1, 2, 0, 5, 3, 4)) * 0.5 - del tmp6 - tmp94 += np.transpose(tmp45, (1, 0, 2, 4, 3, 5)) * 0.5 - del tmp45 - tmp94 += np.transpose(tmp47, (1, 2, 0, 5, 3, 4)) * -1 - del tmp47 - tmp94 += np.transpose(tmp93, (1, 2, 0, 4, 5, 3)) - del tmp93 - tmp95 = einsum(t1, (0, 1), tmp94, (2, 3, 0, 1, 4, 5), (2, 3, 4, 5)) - del tmp94 - tmp99 += np.transpose(tmp95, (1, 0, 2, 3)) * -1 - del tmp95 - tmp96 = np.copy(ints.tmp14) * 2 - tmp96 += ints.tmp24 - tmp97 = einsum(tmp96, (0, 1), r2, (2, 3, 4, 0), (2, 3, 4, 1)) * -0.5 - del tmp96 - tmp99 += np.transpose(tmp97, (1, 0, 3, 2)) - del tmp97 - tmp98 = einsum(tmp58, (0, 1, 2, 3), tmp73, (2, 4), (0, 1, 3, 4)) - del tmp58 - tmp99 += np.transpose(tmp98, (1, 0, 3, 2)) * -1 - del tmp98 - r2new += tmp99 - r2new += np.transpose(tmp99, (0, 1, 3, 2)) * -1 - del tmp99 - tmp100 = einsum(ints.tmp49, (0, 1, 2, 3), r1, (0, 4), (1, 2, 3, 4)) - tmp104 = np.copy(tmp100) * -1 - del tmp100 - tmp101 = einsum(r1, (0, 1), v.ooov, (2, 3, 0, 4), (2, 3, 1, 4)) - tmp104 += np.transpose(tmp101, (1, 0, 2, 3)) - del tmp101 - tmp102 = einsum(f.vv, (0, 1), r2, (2, 3, 4, 1), (2, 3, 0, 4)) - tmp104 += np.transpose(tmp102, (1, 0, 2, 3)) - del tmp102 - tmp103 = einsum(t1, (0, 1), tmp48, (2, 3, 0, 4, 1, 5), (2, 3, 4, 5)) - tmp104 += np.transpose(tmp103, (1, 0, 2, 3)) - del tmp103 - r2new += np.transpose(tmp104, (1, 0, 2, 3)) * -1 - r2new += np.transpose(tmp104, (1, 0, 3, 2)) - del tmp104 - tmp107 = np.copy(tmp34) - del tmp34 - tmp107 += tmp25 - del tmp25 - tmp105 = einsum(ints.tmp49, (0, 1, 2, 3), tmp24, (0, 4, 2, 5), (1, 4, 3, 5)) * -1 - del tmp24 - tmp107 += tmp105 * -1 - del tmp105 - tmp106 = einsum(tmp49, (0, 1, 2, 3, 4, 5), t1, (0, 4), (1, 2, 3, 5)) - tmp107 += tmp106 - del tmp106 - r2new += tmp107 - r2new += np.transpose(tmp107, (0, 1, 3, 2)) * -1 - r2new += np.transpose(tmp107, (1, 0, 2, 3)) * -1 - r2new += np.transpose(tmp107, (1, 0, 3, 2)) - del tmp107 - tmp108 = einsum(r1, (0, 1), v.ovvv, (2, 1, 3, 4), (0, 2, 3, 4)) - tmp112 = np.copy(np.transpose(tmp108, (0, 1, 3, 2))) * -1 - del tmp108 - tmp110 = np.copy(np.transpose(tmp109, (0, 1, 2, 4, 5, 3))) - del tmp109 - tmp110 += np.transpose(tmp48, (1, 0, 2, 5, 4, 3)) * -1 - tmp111 = einsum(tmp110, (0, 1, 2, 3, 4, 5), t1, (1, 3), (0, 2, 4, 5)) - del tmp110 - tmp112 += tmp111 * -1 - del tmp111 - r2new += tmp112 * -1 - r2new += np.transpose(tmp112, (1, 0, 2, 3)) - del tmp112 - r2new += np.transpose(tmp27, (0, 1, 3, 2)) * -1 - r2new += np.transpose(tmp27, (1, 0, 3, 2)) - del tmp27 - tmp114 = np.copy(tmp29) * -0.25 - del tmp29 - tmp114 += tmp32 * 0.24999999999999 - del tmp32 - tmp113 = einsum(v.oovv, (0, 1, 2, 3), tmp4, (4, 3), (0, 1, 4, 2)) - del tmp4 - tmp114 += tmp113 * 0.08333333333333 - del tmp113 - r2new += tmp114 - r2new += np.transpose(tmp114, (0, 1, 3, 2)) * -1 - del tmp114 - tmp116 = np.copy(tmp35) * -1 - del tmp35 - tmp116 += tmp38 * 0.5 - del tmp38 - tmp115 = einsum(ints.tmp49, (0, 1, 2, 3), tmp9, (0, 4, 2, 5), (1, 4, 3, 5)) * -1 - del tmp9, ints.tmp49 - tmp116 += tmp115 * -0.5 - del tmp115 - tmp116 += tmp36 * 0.5 - del tmp36 - tmp116 += tmp39 * 0.24999999999999 - del tmp39 - tmp116 += tmp41 * 0.5 - del tmp41 - tmp116 += einsum(tmp73, (0, 1), r1, (2, 3), (0, 2, 1, 3)) - del tmp73 - r2new += tmp116 - r2new += np.transpose(tmp116, (0, 1, 3, 2)) * -1 - r2new += np.transpose(tmp116, (1, 0, 2, 3)) * -1 - r2new += np.transpose(tmp116, (1, 0, 3, 2)) - del tmp116 - r2new += tmp30 - r2new += np.transpose(tmp30, (0, 1, 3, 2)) * -1 - del tmp30 - tmp118 = np.copy(ints.tmp26) * 2 - del ints.tmp26 - tmp118 += ints.tmp29 * 2 - del ints.tmp29 - tmp118 += f.ov * -4 - tmp118 += ints.tmp114 * -4 - del ints.tmp114 - tmp118 += ints.tmp34 * -1 - del ints.tmp34 - tmp117 = np.copy(ints.tmp14) - del ints.tmp14 - tmp117 += ints.tmp24 * 0.5 - del ints.tmp24 - tmp118 += einsum(t1, (0, 1), tmp117, (2, 1), (0, 2)) * 4 - del tmp117 - r2new += einsum(r3, (0, 1, 2, 3, 4, 5), tmp118, (2, 5), (0, 1, 3, 4)) * -0.24999999999999 - del tmp118 - tmp119 = np.copy(np.transpose(tmp49, (1, 0, 2, 3, 5, 4))) - del tmp49 - tmp119 += np.transpose(tmp43, (1, 0, 2, 5, 4, 3)) - del tmp43 - tmp119 += np.transpose(tmp40, (2, 1, 0, 5, 4, 3)) * 0.5 - del tmp40 - tmp119 += np.transpose(tmp48, (1, 0, 2, 5, 4, 3)) * -1 - del tmp48 - r2new += einsum(tmp119, (0, 1, 2, 3, 4, 5), t1, (2, 3), (1, 0, 5, 4)) * -1 - del tmp119 - tmp120 = np.copy(ints.tmp130) - del ints.tmp130 - tmp120 += v.oooo - tmp120 += np.transpose(ints.tmp50, (1, 0, 2, 3)) * -0.5 - del ints.tmp50 - tmp120 += np.transpose(ints.tmp68, (0, 3, 1, 2)) * -2 - del ints.tmp68 - r2new += einsum(tmp120, (0, 1, 2, 3), r2, (1, 0, 4, 5), (3, 2, 4, 5)) * 0.5 - del tmp120 - tmp121 = np.copy(np.transpose(tmp19, (1, 0, 3, 2))) * 0.5 - del tmp19 - tmp121 += np.transpose(tmp54, (1, 0, 3, 2)) - del tmp54 - tmp121 += np.transpose(tmp20, (1, 0, 3, 2)) * 0.16666666666666 - del tmp20 - tmp121 += np.transpose(tmp55, (1, 0, 3, 2)) - del tmp55 - r2new += einsum(tmp121, (0, 1, 2, 3), v.oovv, (2, 3, 4, 5), (1, 0, 4, 5)) * -0.5 - del tmp121 - tmp122 = np.copy(f.oo) - tmp122 += np.transpose(ints.tmp23, (1, 0)) * 0.5 - del ints.tmp23 - tmp122 += np.transpose(ints.tmp67, (1, 0)) - del ints.tmp67 - r2new += einsum(tmp122, (0, 1), tmp44, (1, 2, 3, 0, 4, 5), (2, 3, 5, 4)) - del tmp122 - tmp123 = np.copy(ints.tmp0) - del ints.tmp0 - tmp123 += ints.tmp13 - del ints.tmp13 - r2new += einsum(tmp123, (0, 1), tmp44, (2, 1, 3, 0, 4, 5), (3, 2, 5, 4)) - del tmp44, tmp123 - - return {f"r1new": r1new, f"r2new": r2new, f"r3new": r3new} - diff --git a/ebcc/codegen/RCCSDT.py b/ebcc/codegen/RCCSDT.py deleted file mode 100644 index b0a16749..00000000 --- a/ebcc/codegen/RCCSDT.py +++ /dev/null @@ -1,11654 +0,0 @@ -""" -Code generated by `albert`: -https://github.com/obackhouse/albert - - * date: 2024-10-22T08:36:46.827960 - * python version: 3.9.6 (default, Feb 3 2024, 15:58:27) [Clang 15.0.0 (clang-1500.3.9.4)] - * albert version: 0.0.0 - * caller: /Users/oliver.backhouse/env/default/lib/python3.9/site-packages/albert/codegen/einsum.py - * node: F9HJ673GV7.local - * system: Darwin - * processor: arm - * release: 23.3.0 -""" - -from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, dirsum, Namespace - - -def energy(f=None, t1=None, t2=None, v=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-10-22T08:36:47.136984. - - Parameters - ---------- - f : array - Fock matrix. - t1 : array - T1 amplitudes. - t2 : array - T2 amplitudes. - v : array - Electron repulsion integrals. - - Returns - ------- - e_cc : float - Coupled cluster energy. - """ - - e_cc = einsum(t2, (0, 1, 2, 3), v.ovov, (0, 2, 1, 3), ()) * 2 - e_cc += einsum(t2, (0, 1, 2, 3), v.ovov, (0, 3, 1, 2), ()) * -1 - tmp1 = np.copy(f.ov) - tmp0 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1))) * -0.5 - tmp0 += np.transpose(v.ovov, (0, 2, 1, 3)) - tmp1 += einsum(t1, (0, 1), tmp0, (0, 2, 1, 3), (2, 3)) - del tmp0 - e_cc += einsum(t1, (0, 1), tmp1, (0, 1), ()) * 2 - del tmp1 - - return e_cc - -def update_amps(f=None, t1=None, t2=None, t3=None, v=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-10-22T08:39:30.752017. - - Parameters - ---------- - f : array - Fock matrix. - t1 : array - T1 amplitudes. - t2 : array - T2 amplitudes. - t3 : array - T3 amplitudes. - v : array - Electron repulsion integrals. - - Returns - ------- - t1new : array - Updated T1 residuals. - t2new : array - Updated T2 residuals. - t3new : array - Updated T3 residuals. - """ - - t1new = einsum(v.ovov, (0, 1, 2, 3), t3, (4, 2, 0, 5, 1, 3), (4, 5)) * -0.5 - t1new += einsum(t1, (0, 1), f.vv, (2, 1), (0, 2)) - t1new += f.ov - tmp0 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) - tmp0 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) * 3 - tmp0 += np.transpose(t3, (0, 1, 2, 3, 5, 4)) * -1 - t1new += einsum(v.ovov, (0, 1, 2, 3), tmp0, (0, 4, 2, 3, 1, 5), (4, 5)) * 0.5 - del tmp0 - tmp2 = np.copy(v.ovvv) - tmp2 += np.transpose(v.ovvv, (0, 2, 1, 3)) * -0.5 - tmp1 = np.copy(t2) - tmp1 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) - t1new += einsum(tmp2, (0, 1, 2, 3), tmp1, (0, 4, 1, 2), (4, 3)) * 2 - del tmp2 - tmp4 = np.copy(v.ooov) - tmp4 += np.transpose(v.ooov, (0, 2, 1, 3)) * -0.5 - tmp3 = einsum(t1, (0, 1), v.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) - tmp4 += tmp3 * -0.5 - tmp4 += np.transpose(tmp3, (0, 2, 1, 3)) - t1new += einsum(t2, (0, 1, 2, 3), tmp4, (4, 1, 0, 2), (4, 3)) * -2 - del tmp4 - tmp7 = np.copy(f.ov) - tmp5 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1))) * -1 - tmp5 += np.transpose(v.ovov, (0, 2, 1, 3)) * 2 - tmp6 = einsum(t1, (0, 1), tmp5, (0, 2, 1, 3), (2, 3)) - tmp7 += tmp6 - tmp8 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * -1 - tmp8 += t2 * 2 - t1new += einsum(tmp8, (0, 1, 2, 3), tmp7, (0, 2), (1, 3)) - del tmp7 - tmp9 = np.copy(np.transpose(v.ovov, (0, 2, 1, 3))) * 2 - tmp9 += v.oovv * -1 - t1new += einsum(t1, (0, 1), tmp9, (0, 2, 1, 3), (2, 3)) - del tmp9 - tmp13 = np.copy(f.oo) * 0.5 - tmp10 = einsum(f.ov, (0, 1), t1, (2, 1), (0, 2)) - tmp13 += tmp10 * 0.5 - tmp11 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1))) * -1 - tmp11 += np.transpose(v.ovov, (0, 2, 1, 3)) * 2 - tmp13 += einsum(tmp11, (0, 1, 2, 3), tmp1, (0, 4, 2, 3), (1, 4)) * 0.5 - tmp12 = np.copy(v.ooov) - tmp12 += np.transpose(v.ooov, (0, 2, 1, 3)) * -0.5 - tmp13 += einsum(t1, (0, 1), tmp12, (2, 3, 0, 1), (3, 2)) - t1new += einsum(tmp13, (0, 1), t1, (0, 2), (1, 2)) * -2 - del tmp13 - t2new = einsum(t2, (0, 1, 2, 3), v.vvvv, (4, 2, 5, 3), (0, 1, 4, 5)) - tmp14 = einsum(v.vvvv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) - t2new += einsum(tmp14, (0, 1, 2, 3), t1, (4, 2), (4, 0, 1, 3)) - t2new += np.transpose(v.ovov, (0, 2, 1, 3)) - t2new += einsum(v.oovv, (0, 1, 2, 3), t2, (4, 1, 5, 3), (4, 0, 5, 2)) * -1 - tmp15 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 5, 1, 2), (0, 4, 3, 5)) - t2new += tmp15 * -1 - t2new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 2), (0, 4, 5, 3)) * -1 - t2new += einsum(v.ovov, (0, 1, 2, 3), t2, (4, 2, 5, 3), (4, 0, 5, 1)) * 2 - tmp16 = einsum(v.ooov, (0, 1, 2, 3), t3, (1, 4, 2, 5, 6, 3), (4, 0, 5, 6)) - tmp23 = np.copy(tmp16) - del tmp16 - tmp17 = einsum(t1, (0, 1), v.ooov, (2, 3, 4, 1), (0, 2, 3, 4)) - tmp18 = einsum(tmp17, (0, 1, 2, 3), t2, (2, 3, 4, 5), (0, 1, 4, 5)) - tmp23 += tmp18 * -1 - del tmp18 - tmp19 = einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 0, 1, 6, 3), (4, 5, 6, 2)) - tmp23 += tmp19 - del tmp19 - tmp20 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp3, (6, 2, 1, 5), (6, 0, 3, 4)) - tmp23 += tmp20 - del tmp20 - tmp21 = einsum(v.ovov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 1, 3), (4, 5, 0, 6)) - tmp22 = einsum(t1, (0, 1), tmp21, (2, 3, 0, 4), (2, 3, 1, 4)) - tmp23 += tmp22 - del tmp22 - t2new += np.transpose(tmp23, (0, 1, 3, 2)) * -1 - t2new += np.transpose(tmp23, (1, 0, 2, 3)) * -1 - del tmp23 - tmp24 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ooov, (6, 1, 2, 5), (0, 6, 3, 4)) - tmp38 = np.copy(tmp24) - del tmp24 - tmp25 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp3, (6, 2, 0, 5), (6, 1, 3, 4)) - tmp38 += tmp25 - del tmp25 - tmp26 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovov, (6, 3, 2, 5), (0, 1, 6, 4)) - tmp27 = einsum(t1, (0, 1), tmp26, (2, 3, 0, 4), (2, 3, 1, 4)) - tmp38 += tmp27 - del tmp27 - tmp28 = einsum(t1, (0, 1), v.ovov, (2, 1, 0, 3), (2, 3)) - tmp29 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp28, (2, 5), (0, 1, 3, 4)) - del tmp28 - tmp38 += tmp29 - del tmp29 - tmp30 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1))) - tmp30 += np.transpose(v.ovov, (0, 2, 1, 3)) * -0.5 - tmp31 = einsum(tmp30, (0, 1, 2, 3), t2, (0, 1, 3, 4), (4, 2)) - del tmp30 - tmp32 = einsum(t2, (0, 1, 2, 3), tmp31, (4, 2), (0, 1, 3, 4)) * 2 - del tmp31 - tmp38 += np.transpose(tmp32, (1, 0, 2, 3)) - del tmp32 - tmp33 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) - tmp33 += einsum(t2, (0, 1, 2, 3), t1, (4, 5), (4, 0, 1, 2, 5, 3)) * -1 - tmp34 = einsum(v.ovvv, (0, 1, 2, 3), tmp33, (0, 4, 5, 1, 6, 3), (4, 5, 2, 6)) - del tmp33 - tmp38 += np.transpose(tmp34, (0, 1, 3, 2)) * -1 - del tmp34 - tmp35 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1))) * -0.5 - tmp35 += np.transpose(v.ovov, (0, 2, 1, 3)) - tmp36 = einsum(tmp35, (0, 1, 2, 3), t2, (4, 0, 3, 2), (4, 1)) * 2 - del tmp35 - tmp37 = einsum(t2, (0, 1, 2, 3), tmp36, (4, 1), (0, 4, 3, 2)) - del tmp36 - tmp38 += np.transpose(tmp37, (0, 1, 3, 2)) - del tmp37 - t2new += tmp38 * -1 - t2new += np.transpose(tmp38, (1, 0, 3, 2)) * -1 - del tmp38 - tmp40 = np.copy(t2) - tmp40 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) - tmp39 = einsum(v.ovvv, (0, 1, 2, 3), t1, (4, 1), (4, 0, 2, 3)) - tmp41 = einsum(tmp40, (0, 1, 2, 3), tmp39, (4, 0, 3, 5), (4, 1, 5, 2)) - del tmp40 - t2new += np.transpose(tmp41, (0, 1, 3, 2)) * -1 - t2new += np.transpose(tmp41, (1, 0, 2, 3)) * -1 - del tmp41 - tmp42 = einsum(t2, (0, 1, 2, 3), f.vv, (4, 3), (0, 1, 4, 2)) - tmp57 = np.copy(tmp42) - del tmp42 - tmp43 = einsum(v.ovvv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) - tmp57 += tmp43 - tmp44 = einsum(t2, (0, 1, 2, 3), tmp39, (4, 1, 5, 3), (4, 0, 2, 5)) - tmp57 += tmp44 * -1 - del tmp44 - tmp45 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * 2 - tmp45 += t2 * -1 - tmp46 = einsum(tmp43, (0, 1, 2, 3), tmp45, (1, 4, 5, 2), (4, 0, 5, 3)) - tmp57 += np.transpose(tmp46, (1, 0, 2, 3)) - del tmp46 - tmp47 = einsum(t1, (0, 1), v.oovv, (2, 3, 4, 1), (0, 2, 3, 4)) - tmp53 = np.copy(np.transpose(tmp47, (0, 2, 1, 3))) * -1 - tmp48 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 1, 5, 3), (0, 4, 5, 2)) - tmp53 += np.transpose(tmp48, (0, 2, 1, 3)) - del tmp48 - tmp49 = einsum(tmp3, (0, 1, 2, 3), t2, (4, 2, 3, 5), (0, 4, 1, 5)) - tmp53 += np.transpose(tmp49, (0, 2, 1, 3)) - tmp50 = einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) - tmp50 += np.transpose(t2, (0, 1, 3, 2)) * -2 - tmp50 += t2 - tmp51 = einsum(v.ooov, (0, 1, 2, 3), tmp50, (2, 4, 5, 3), (0, 1, 4, 5)) - del tmp50 - tmp53 += np.transpose(tmp51, (2, 1, 0, 3)) - del tmp51 - tmp52 = einsum(t2, (0, 1, 2, 3), tmp6, (4, 2), (0, 1, 4, 3)) - tmp53 += np.transpose(tmp52, (1, 2, 0, 3)) * -1 - del tmp52 - tmp54 = einsum(t1, (0, 1), tmp53, (2, 0, 3, 4), (2, 3, 1, 4)) - del tmp53 - tmp57 += tmp54 - del tmp54 - tmp55 = einsum(t1, (0, 1), tmp6, (2, 1), (0, 2)) - tmp56 = einsum(tmp55, (0, 1), t2, (2, 1, 3, 4), (2, 0, 4, 3)) - tmp57 += np.transpose(tmp56, (1, 0, 3, 2)) * -1 - del tmp56 - t2new += np.transpose(tmp57, (0, 1, 3, 2)) - t2new += np.transpose(tmp57, (1, 0, 2, 3)) - del tmp57 - tmp58 = einsum(t1, (0, 1), tmp3, (2, 3, 0, 4), (2, 3, 1, 4)) - tmp60 = np.copy(tmp58) - del tmp58 - tmp59 = einsum(tmp5, (0, 1, 2, 3), t2, (4, 0, 5, 2), (4, 1, 5, 3)) - del tmp5 - tmp60 += tmp59 * -1 - tmp61 = einsum(t2, (0, 1, 2, 3), tmp60, (4, 1, 5, 2), (0, 4, 3, 5)) - del tmp60 - tmp76 = np.copy(np.transpose(tmp61, (1, 0, 3, 2))) - del tmp61 - tmp63 = np.copy(f.ov) - tmp62 = einsum(t1, (0, 1), v.ovov, (2, 3, 0, 1), (2, 3)) - tmp63 += tmp62 * 2 - del tmp62 - tmp64 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp63, (2, 5), (0, 1, 3, 4)) - del tmp63 - tmp76 += tmp64 - del tmp64 - tmp65 = np.copy(v.ovvv) * -1 - tmp65 += np.transpose(v.ovvv, (0, 2, 1, 3)) * 2 - tmp66 = einsum(tmp65, (0, 1, 2, 3), t1, (0, 2), (1, 3)) - del tmp65 - tmp67 = einsum(t2, (0, 1, 2, 3), tmp66, (2, 4), (0, 1, 3, 4)) - tmp76 += np.transpose(tmp67, (1, 0, 2, 3)) - del tmp67 - tmp71 = np.copy(np.transpose(v.ooov, (0, 2, 1, 3))) - tmp71 += tmp3 - tmp68 = einsum(v.ooov, (0, 1, 2, 3), t2, (4, 1, 3, 5), (4, 0, 2, 5)) - tmp71 += tmp68 * -1 - tmp69 = np.copy(tmp3) * 2 - tmp69 += np.transpose(tmp3, (0, 2, 1, 3)) * -1 - tmp70 = einsum(tmp69, (0, 1, 2, 3), t2, (4, 1, 5, 3), (4, 0, 2, 5)) - del tmp69 - tmp71 += np.transpose(tmp70, (1, 0, 2, 3)) - tmp72 = einsum(t1, (0, 1), tmp71, (2, 3, 0, 4), (2, 3, 1, 4)) - del tmp71 - tmp76 += tmp72 * -1 - del tmp72 - tmp73 = np.copy(v.ooov) * 2 - tmp73 += np.transpose(v.ooov, (0, 2, 1, 3)) * -1 - tmp74 = einsum(t1, (0, 1), tmp73, (2, 3, 0, 1), (2, 3)) - tmp75 = einsum(t2, (0, 1, 2, 3), tmp74, (4, 1), (0, 4, 3, 2)) - tmp76 += np.transpose(tmp75, (0, 1, 3, 2)) * -1 - del tmp75 - t2new += tmp76 - t2new += np.transpose(tmp76, (1, 0, 3, 2)) - del tmp76 - tmp77 = einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), (0, 2, 3, 4)) - tmp78 = einsum(t1, (0, 1), tmp77, (0, 2, 3, 4), (2, 3, 1, 4)) - tmp81 = np.copy(tmp78) - del tmp78 - tmp79 = np.copy(f.oo) - tmp79 += tmp10 - tmp80 = einsum(tmp79, (0, 1), t2, (2, 0, 3, 4), (2, 1, 4, 3)) - del tmp79 - tmp81 += np.transpose(tmp80, (1, 0, 3, 2)) - del tmp80 - t2new += np.transpose(tmp81, (0, 1, 3, 2)) * -1 - t2new += np.transpose(tmp81, (1, 0, 2, 3)) * -1 - del tmp81 - tmp82 = np.copy(np.transpose(v.ovov, (0, 2, 1, 3))) * 2 - tmp82 += v.oovv * -1 - tmp82 += tmp59 * 2 - del tmp59 - t2new += einsum(t2, (0, 1, 2, 3), tmp82, (4, 1, 5, 3), (4, 0, 5, 2)) - del tmp82 - tmp84 = np.copy(v.oooo) - tmp83 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 2, 5, 3), (0, 1, 4, 5)) - tmp84 += np.transpose(tmp83, (3, 1, 2, 0)) - t2new += einsum(tmp84, (0, 1, 2, 3), tmp1, (0, 2, 4, 5), (1, 3, 4, 5)) - del tmp84 - tmp85 = einsum(tmp3, (0, 1, 2, 3), t1, (4, 3), (0, 4, 2, 1)) - t2new += einsum(tmp85, (0, 1, 2, 3), tmp1, (2, 3, 4, 5), (1, 0, 5, 4)) - tmp87 = np.copy(v.oovv) * -1 - tmp86 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 2, 1, 5), (0, 4, 3, 5)) - tmp87 += tmp86 - t2new += einsum(t2, (0, 1, 2, 3), tmp87, (4, 1, 5, 2), (4, 0, 3, 5)) - del tmp87 - tmp88 = np.copy(np.transpose(v.ovov, (0, 2, 1, 3))) * -1 - tmp88 += tmp15 - del tmp15 - t2new += einsum(t2, (0, 1, 2, 3), tmp88, (4, 1, 5, 2), (4, 0, 5, 3)) - del tmp88 - tmp89 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 1, 5, 6), (0, 4, 5, 2, 3, 6)) - t3new = np.copy(tmp89) * -1 - t3new += np.transpose(tmp89, (0, 1, 2, 5, 4, 3)) - t3new += np.transpose(tmp89, (0, 2, 1, 3, 5, 4)) * -1 - t3new += np.transpose(tmp89, (0, 2, 1, 4, 5, 3)) - t3new += np.transpose(tmp89, (1, 0, 2, 4, 3, 5)) * -1 - t3new += np.transpose(tmp89, (1, 0, 2, 5, 3, 4)) - t3new += np.transpose(tmp89, (2, 0, 1, 4, 3, 5)) - t3new += np.transpose(tmp89, (2, 0, 1, 5, 3, 4)) * -1 - t3new += np.transpose(tmp89, (1, 2, 0, 3, 5, 4)) - t3new += np.transpose(tmp89, (1, 2, 0, 4, 5, 3)) * -1 - t3new += np.transpose(tmp89, (2, 1, 0, 3, 4, 5)) - t3new += np.transpose(tmp89, (2, 1, 0, 5, 4, 3)) * -1 - del tmp89 - tmp90 = einsum(v.oooo, (0, 1, 2, 3), t3, (4, 3, 1, 5, 6, 7), (4, 0, 2, 5, 7, 6)) - tmp95 = np.copy(np.transpose(tmp90, (0, 1, 2, 4, 3, 5))) * -1 - del tmp90 - tmp91 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp17, (6, 7, 1, 2), (6, 0, 7, 3, 5, 4)) - tmp95 += np.transpose(tmp91, (0, 1, 2, 4, 3, 5)) - del tmp91 - tmp93 = np.copy(f.oo) - tmp93 += tmp10 - tmp92 = einsum(t2, (0, 1, 2, 3), tmp11, (1, 4, 3, 2), (0, 4)) - tmp93 += np.transpose(tmp92, (1, 0)) - del tmp92 - tmp94 = einsum(tmp93, (0, 1), t3, (2, 3, 0, 4, 5, 6), (2, 3, 1, 4, 6, 5)) * -1 - del tmp93 - tmp95 += np.transpose(tmp94, (2, 0, 1, 4, 3, 5)) - del tmp94 - t3new += np.transpose(tmp95, (0, 2, 1, 3, 5, 4)) - t3new += np.transpose(tmp95, (1, 2, 0, 3, 5, 4)) * -1 - del tmp95 - tmp96 = einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (4, 5, 0, 6, 7, 2)) - t3new += tmp96 * -1 - t3new += np.transpose(tmp96, (0, 1, 2, 5, 4, 3)) - t3new += np.transpose(tmp96, (2, 1, 0, 3, 4, 5)) - t3new += np.transpose(tmp96, (2, 1, 0, 5, 4, 3)) * -1 - del tmp96 - tmp97 = einsum(t3, (0, 1, 2, 3, 4, 5), v.oovv, (6, 1, 7, 5), (0, 2, 6, 3, 4, 7)) - tmp102 = np.copy(np.transpose(tmp97, (1, 0, 2, 3, 4, 5))) * -1 - del tmp97 - tmp98 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovov, (6, 5, 7, 4), (0, 2, 1, 6, 7, 3)) - tmp99 = einsum(tmp98, (0, 1, 2, 3, 4, 5), t2, (4, 3, 6, 7), (0, 1, 2, 7, 6, 5)) - tmp102 += np.transpose(tmp99, (1, 0, 2, 3, 4, 5)) * -1 - del tmp99 - tmp100 = einsum(tmp98, (0, 1, 2, 3, 4, 5), t1, (4, 6), (0, 1, 2, 3, 6, 5)) - del tmp98 - tmp101 = einsum(t1, (0, 1), tmp100, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) - del tmp100 - tmp102 += np.transpose(tmp101, (1, 0, 2, 3, 4, 5)) * -1 - del tmp101 - t3new += np.transpose(tmp102, (0, 2, 1, 3, 4, 5)) * -1 - t3new += np.transpose(tmp102, (0, 2, 1, 5, 4, 3)) - del tmp102 - tmp103 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovov, (6, 7, 2, 5), (0, 1, 6, 3, 4, 7)) - t3new += tmp103 - t3new += np.transpose(tmp103, (0, 1, 2, 5, 4, 3)) * -1 - t3new += np.transpose(tmp103, (0, 2, 1, 3, 5, 4)) - t3new += np.transpose(tmp103, (0, 2, 1, 4, 5, 3)) * -1 - t3new += np.transpose(tmp103, (1, 0, 2, 4, 3, 5)) - t3new += np.transpose(tmp103, (1, 0, 2, 5, 3, 4)) * -1 - t3new += np.transpose(tmp103, (2, 0, 1, 4, 3, 5)) * -1 - t3new += np.transpose(tmp103, (2, 0, 1, 5, 3, 4)) - t3new += np.transpose(tmp103, (2, 1, 0, 3, 4, 5)) * -1 - t3new += np.transpose(tmp103, (2, 1, 0, 5, 4, 3)) - del tmp103 - tmp104 = einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 1, 6, 3, 7), (4, 5, 0, 6, 7, 2)) - tmp107 = np.copy(np.transpose(tmp104, (0, 1, 2, 4, 3, 5))) * -1 - del tmp104 - tmp105 = np.copy(np.transpose(tmp83, (1, 0, 3, 2))) - tmp105 += np.transpose(tmp85, (1, 0, 3, 2)) - tmp106 = einsum(tmp105, (0, 1, 2, 3), t3, (4, 2, 3, 5, 6, 7), (4, 0, 1, 5, 7, 6)) * -1 - del tmp105 - tmp107 += np.transpose(tmp106, (2, 1, 0, 4, 3, 5)) - del tmp106 - t3new += np.transpose(tmp107, (0, 1, 2, 3, 5, 4)) * -1 - t3new += np.transpose(tmp107, (2, 1, 0, 3, 5, 4)) - del tmp107 - tmp108 = einsum(t3, (0, 1, 2, 3, 4, 5), v.vvvv, (6, 5, 7, 4), (0, 2, 1, 3, 6, 7)) - tmp115 = np.copy(np.transpose(tmp108, (1, 0, 2, 3, 4, 5))) * -1 - del tmp108 - tmp109 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovvv, (6, 5, 7, 4), (0, 2, 1, 6, 3, 7)) - tmp110 = einsum(t1, (0, 1), tmp109, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) - del tmp109 - tmp115 += np.transpose(tmp110, (1, 0, 2, 3, 4, 5)) * -1 - del tmp110 - tmp111 = einsum(t1, (0, 1), f.ov, (0, 2), (2, 1)) - tmp113 = np.copy(tmp111) * 0.5 - tmp112 = einsum(t2, (0, 1, 2, 3), tmp11, (0, 1, 2, 4), (3, 4)) * 0.5 - tmp113 += np.transpose(tmp112, (1, 0)) - del tmp112 - tmp114 = einsum(tmp113, (0, 1), t3, (2, 3, 4, 5, 6, 0), (2, 4, 3, 5, 6, 1)) * -2 - del tmp113 - tmp115 += np.transpose(tmp114, (1, 0, 2, 5, 3, 4)) - del tmp114 - t3new += np.transpose(tmp115, (0, 2, 1, 3, 5, 4)) - t3new += np.transpose(tmp115, (0, 2, 1, 4, 5, 3)) * -1 - del tmp115 - tmp116 = einsum(tmp3, (0, 1, 2, 3), t2, (2, 1, 4, 5), (0, 5, 4, 3)) - tmp117 = einsum(tmp116, (0, 1, 2, 3), t2, (4, 5, 6, 3), (0, 4, 5, 2, 1, 6)) - del tmp116 - tmp121 = np.copy(tmp117) - del tmp117 - tmp119 = np.copy(np.transpose(tmp77, (2, 1, 0, 3))) * -1 - del tmp77 - tmp118 = einsum(t1, (0, 1), tmp83, (2, 3, 0, 4), (3, 2, 4, 1)) - del tmp83 - tmp119 += tmp118 - del tmp118 - tmp120 = einsum(tmp119, (0, 1, 2, 3), t2, (4, 2, 5, 6), (4, 0, 1, 6, 5, 3)) - del tmp119 - tmp121 += np.transpose(tmp120, (2, 1, 0, 5, 4, 3)) - del tmp120 - t3new += np.transpose(tmp121, (0, 1, 2, 3, 5, 4)) - t3new += np.transpose(tmp121, (0, 1, 2, 4, 5, 3)) * -1 - t3new += np.transpose(tmp121, (0, 2, 1, 3, 4, 5)) - t3new += np.transpose(tmp121, (0, 2, 1, 5, 4, 3)) * -1 - t3new += np.transpose(tmp121, (1, 0, 2, 4, 3, 5)) * -1 - t3new += np.transpose(tmp121, (1, 0, 2, 5, 3, 4)) - t3new += np.transpose(tmp121, (2, 0, 1, 4, 3, 5)) - t3new += np.transpose(tmp121, (2, 0, 1, 5, 3, 4)) * -1 - t3new += np.transpose(tmp121, (1, 2, 0, 3, 4, 5)) * -1 - t3new += np.transpose(tmp121, (1, 2, 0, 5, 4, 3)) - t3new += np.transpose(tmp121, (2, 1, 0, 3, 5, 4)) * -1 - t3new += np.transpose(tmp121, (2, 1, 0, 4, 5, 3)) - del tmp121 - tmp122 = einsum(tmp47, (0, 1, 2, 3), t2, (4, 2, 5, 6), (0, 4, 1, 5, 6, 3)) - del tmp47 - t3new += np.transpose(tmp122, (0, 1, 2, 4, 3, 5)) - t3new += np.transpose(tmp122, (0, 1, 2, 5, 3, 4)) * -1 - t3new += np.transpose(tmp122, (0, 2, 1, 3, 4, 5)) - t3new += np.transpose(tmp122, (0, 2, 1, 5, 4, 3)) * -1 - t3new += np.transpose(tmp122, (1, 0, 2, 3, 5, 4)) * -1 - t3new += np.transpose(tmp122, (1, 0, 2, 4, 5, 3)) - t3new += np.transpose(tmp122, (2, 0, 1, 3, 5, 4)) - t3new += np.transpose(tmp122, (2, 0, 1, 4, 5, 3)) * -1 - t3new += np.transpose(tmp122, (1, 2, 0, 3, 4, 5)) * -1 - t3new += np.transpose(tmp122, (1, 2, 0, 5, 4, 3)) - t3new += np.transpose(tmp122, (2, 1, 0, 4, 3, 5)) * -1 - t3new += np.transpose(tmp122, (2, 1, 0, 5, 3, 4)) - del tmp122 - tmp123 = einsum(t2, (0, 1, 2, 3), tmp3, (4, 5, 1, 6), (4, 0, 5, 2, 3, 6)) - tmp129 = np.copy(tmp123) * -1 - del tmp123 - tmp124 = einsum(t2, (0, 1, 2, 3), tmp14, (4, 5, 3, 6), (4, 0, 1, 2, 6, 5)) - del tmp14 - tmp129 += tmp124 - del tmp124 - tmp125 = einsum(v.oooo, (0, 1, 2, 3), t2, (4, 3, 5, 6), (4, 0, 1, 2, 5, 6)) - tmp127 = np.copy(np.transpose(tmp125, (0, 2, 3, 1, 4, 5))) * -1 - del tmp125 - tmp126 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 5, 6, 3), (0, 1, 4, 6, 2, 5)) - tmp127 += tmp126 - del tmp126 - tmp128 = einsum(t1, (0, 1), tmp127, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) - del tmp127 - tmp129 += tmp128 * -1 - del tmp128 - t3new += np.transpose(tmp129, (0, 1, 2, 4, 3, 5)) - t3new += np.transpose(tmp129, (0, 1, 2, 5, 3, 4)) * -1 - t3new += np.transpose(tmp129, (0, 2, 1, 3, 5, 4)) * -1 - t3new += np.transpose(tmp129, (0, 2, 1, 4, 5, 3)) - t3new += np.transpose(tmp129, (1, 0, 2, 3, 4, 5)) - t3new += np.transpose(tmp129, (1, 0, 2, 5, 4, 3)) * -1 - t3new += np.transpose(tmp129, (2, 0, 1, 3, 4, 5)) * -1 - t3new += np.transpose(tmp129, (2, 0, 1, 5, 4, 3)) - t3new += np.transpose(tmp129, (1, 2, 0, 3, 5, 4)) - t3new += np.transpose(tmp129, (1, 2, 0, 4, 5, 3)) * -1 - t3new += np.transpose(tmp129, (2, 1, 0, 4, 3, 5)) * -1 - t3new += np.transpose(tmp129, (2, 1, 0, 5, 3, 4)) - del tmp129 - tmp130 = einsum(v.oovv, (0, 1, 2, 3), t2, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) - tmp131 = einsum(t1, (0, 1), tmp130, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) - del tmp130 - tmp134 = np.copy(tmp131) - del tmp131 - tmp132 = einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 2, 5, 3), (0, 1, 4, 5)) - tmp133 = einsum(tmp132, (0, 1, 2, 3), t2, (4, 2, 5, 6), (0, 1, 4, 5, 6, 3)) - del tmp132 - tmp134 += tmp133 - del tmp133 - t3new += np.transpose(tmp134, (0, 1, 2, 3, 5, 4)) - t3new += np.transpose(tmp134, (0, 1, 2, 4, 5, 3)) * -1 - t3new += np.transpose(tmp134, (0, 2, 1, 4, 3, 5)) * -1 - t3new += np.transpose(tmp134, (0, 2, 1, 5, 3, 4)) - t3new += np.transpose(tmp134, (1, 0, 2, 3, 4, 5)) - t3new += np.transpose(tmp134, (1, 0, 2, 5, 4, 3)) * -1 - t3new += np.transpose(tmp134, (2, 0, 1, 3, 4, 5)) * -1 - t3new += np.transpose(tmp134, (2, 0, 1, 5, 4, 3)) - t3new += np.transpose(tmp134, (1, 2, 0, 4, 3, 5)) - t3new += np.transpose(tmp134, (1, 2, 0, 5, 3, 4)) * -1 - t3new += np.transpose(tmp134, (2, 1, 0, 3, 5, 4)) * -1 - t3new += np.transpose(tmp134, (2, 1, 0, 4, 5, 3)) - del tmp134 - tmp135 = einsum(v.ovov, (0, 1, 2, 3), t3, (4, 0, 2, 5, 6, 1), (4, 5, 6, 3)) - tmp136 = einsum(tmp135, (0, 1, 2, 3), t2, (4, 5, 6, 3), (4, 5, 0, 6, 1, 2)) - del tmp135 - t3new += np.transpose(tmp136, (1, 0, 2, 4, 3, 5)) * -0.5 - t3new += np.transpose(tmp136, (1, 0, 2, 5, 3, 4)) * 0.5 - t3new += np.transpose(tmp136, (2, 0, 1, 4, 3, 5)) * 0.5 - t3new += np.transpose(tmp136, (2, 0, 1, 5, 3, 4)) * -0.5 - del tmp136 - tmp137 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1))) * -0.3333333333333333 - tmp137 += np.transpose(v.ovov, (0, 2, 1, 3)) - tmp138 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp137, (2, 1, 6, 4), (0, 3, 5, 6)) * -1 - del tmp137 - tmp139 = einsum(t2, (0, 1, 2, 3), tmp138, (4, 5, 6, 2), (0, 1, 4, 3, 6, 5)) * 1.5 - del tmp138 - t3new += np.transpose(tmp139, (0, 1, 2, 5, 3, 4)) * -1 - t3new += np.transpose(tmp139, (2, 1, 0, 5, 3, 4)) - del tmp139 - tmp140 = einsum(v.ovov, (0, 1, 2, 3), t3, (4, 2, 0, 5, 6, 1), (4, 5, 6, 3)) - tmp141 = einsum(t2, (0, 1, 2, 3), tmp140, (4, 5, 6, 3), (0, 1, 4, 2, 5, 6)) - del tmp140 - t3new += np.transpose(tmp141, (0, 1, 2, 3, 5, 4)) * -1 - t3new += np.transpose(tmp141, (0, 1, 2, 4, 5, 3)) - t3new += np.transpose(tmp141, (0, 2, 1, 3, 4, 5)) * -1 - t3new += np.transpose(tmp141, (0, 2, 1, 5, 4, 3)) - t3new += np.transpose(tmp141, (1, 0, 2, 4, 3, 5)) * 0.5 - t3new += np.transpose(tmp141, (1, 0, 2, 5, 3, 4)) * -0.5 - t3new += np.transpose(tmp141, (2, 0, 1, 4, 3, 5)) * -0.5 - t3new += np.transpose(tmp141, (2, 0, 1, 5, 3, 4)) * 0.5 - t3new += np.transpose(tmp141, (1, 2, 0, 3, 4, 5)) - t3new += np.transpose(tmp141, (1, 2, 0, 5, 4, 3)) * -1 - t3new += np.transpose(tmp141, (2, 1, 0, 3, 5, 4)) - t3new += np.transpose(tmp141, (2, 1, 0, 4, 5, 3)) * -1 - del tmp141 - tmp142 = einsum(v.ovov, (0, 1, 2, 3), t3, (0, 4, 2, 5, 6, 3), (4, 5, 6, 1)) - tmp143 = einsum(tmp142, (0, 1, 2, 3), t2, (4, 5, 6, 3), (4, 5, 0, 6, 1, 2)) - del tmp142 - t3new += tmp143 * -1 - t3new += np.transpose(tmp143, (0, 1, 2, 5, 4, 3)) - t3new += np.transpose(tmp143, (0, 2, 1, 3, 5, 4)) * -1 - t3new += np.transpose(tmp143, (0, 2, 1, 4, 5, 3)) - t3new += np.transpose(tmp143, (1, 2, 0, 3, 5, 4)) - t3new += np.transpose(tmp143, (1, 2, 0, 4, 5, 3)) * -1 - t3new += np.transpose(tmp143, (2, 1, 0, 3, 4, 5)) - t3new += np.transpose(tmp143, (2, 1, 0, 5, 4, 3)) * -1 - del tmp143 - tmp144 = einsum(t2, (0, 1, 2, 3), tmp21, (4, 5, 1, 6), (0, 4, 5, 2, 3, 6)) - del tmp21 - t3new += np.transpose(tmp144, (0, 1, 2, 3, 5, 4)) * -1 - t3new += np.transpose(tmp144, (0, 1, 2, 4, 5, 3)) - t3new += np.transpose(tmp144, (0, 2, 1, 3, 4, 5)) * -1 - t3new += np.transpose(tmp144, (0, 2, 1, 5, 4, 3)) - t3new += np.transpose(tmp144, (1, 0, 2, 4, 3, 5)) - t3new += np.transpose(tmp144, (1, 0, 2, 5, 3, 4)) * -1 - t3new += np.transpose(tmp144, (1, 2, 0, 3, 4, 5)) - t3new += np.transpose(tmp144, (1, 2, 0, 5, 4, 3)) * -1 - t3new += np.transpose(tmp144, (2, 1, 0, 3, 5, 4)) - t3new += np.transpose(tmp144, (2, 1, 0, 4, 5, 3)) * -1 - del tmp144 - tmp145 = einsum(t2, (0, 1, 2, 3), tmp26, (4, 5, 1, 6), (0, 4, 5, 2, 3, 6)) - del tmp26 - tmp151 = np.copy(tmp145) - del tmp145 - tmp146 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 2, 5, 1), (4, 0, 5, 3)) - tmp149 = np.copy(tmp146) * 0.5 - tmp147 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * 2 - tmp147 += t2 * -1 - tmp148 = einsum(tmp147, (0, 1, 2, 3), v.ovov, (4, 5, 0, 3), (4, 1, 5, 2)) * 0.5 - del tmp147 - tmp149 += np.transpose(tmp148, (1, 0, 3, 2)) * -1 - del tmp148 - tmp150 = einsum(tmp149, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (4, 5, 0, 6, 7, 2)) * 2 - del tmp149 - tmp151 += np.transpose(tmp150, (2, 0, 1, 5, 3, 4)) - del tmp150 - t3new += tmp151 * -1 - t3new += np.transpose(tmp151, (0, 1, 2, 5, 4, 3)) - t3new += np.transpose(tmp151, (0, 2, 1, 3, 5, 4)) * -1 - t3new += np.transpose(tmp151, (0, 2, 1, 4, 5, 3)) - t3new += np.transpose(tmp151, (1, 0, 2, 4, 3, 5)) * -1 - t3new += np.transpose(tmp151, (1, 0, 2, 5, 3, 4)) - t3new += np.transpose(tmp151, (1, 2, 0, 3, 5, 4)) - t3new += np.transpose(tmp151, (1, 2, 0, 4, 5, 3)) * -1 - t3new += np.transpose(tmp151, (2, 1, 0, 3, 4, 5)) - t3new += np.transpose(tmp151, (2, 1, 0, 5, 4, 3)) * -1 - del tmp151 - tmp152 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovov, (6, 5, 1, 4), (0, 2, 6, 3)) - tmp153 = einsum(t2, (0, 1, 2, 3), tmp152, (4, 5, 1, 6), (0, 4, 5, 2, 3, 6)) - del tmp152 - t3new += np.transpose(tmp153, (2, 0, 1, 4, 3, 5)) * -1 - t3new += np.transpose(tmp153, (2, 0, 1, 5, 3, 4)) - del tmp153 - tmp154 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovov, (6, 5, 2, 4), (0, 1, 6, 3)) - tmp155 = einsum(t2, (0, 1, 2, 3), tmp154, (4, 5, 1, 6), (0, 4, 5, 2, 3, 6)) - del tmp154 - t3new += np.transpose(tmp155, (1, 0, 2, 4, 3, 5)) * -1 - t3new += np.transpose(tmp155, (1, 0, 2, 5, 3, 4)) - del tmp155 - tmp156 = einsum(tmp86, (0, 1, 2, 3), t3, (4, 5, 1, 6, 3, 7), (0, 4, 5, 2, 6, 7)) - t3new += np.transpose(tmp156, (0, 2, 1, 5, 3, 4)) - t3new += np.transpose(tmp156, (1, 2, 0, 5, 3, 4)) * -1 - del tmp156 - tmp157 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp86, (6, 2, 7, 5), (6, 0, 1, 7, 3, 4)) - t3new += np.transpose(tmp157, (0, 2, 1, 3, 5, 4)) - t3new += np.transpose(tmp157, (0, 2, 1, 4, 5, 3)) * -1 - t3new += np.transpose(tmp157, (1, 2, 0, 3, 5, 4)) * -1 - t3new += np.transpose(tmp157, (1, 2, 0, 4, 5, 3)) - del tmp157 - tmp158 = einsum(tmp86, (0, 1, 2, 3), t3, (4, 1, 5, 6, 7, 3), (0, 4, 5, 2, 6, 7)) - t3new += np.transpose(tmp158, (2, 0, 1, 3, 5, 4)) - t3new += np.transpose(tmp158, (2, 0, 1, 4, 5, 3)) * -1 - del tmp158 - tmp159 = einsum(tmp3, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (0, 4, 5, 2, 6, 7)) - tmp160 = einsum(t1, (0, 1), tmp159, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) - del tmp159 - t3new += tmp160 * -1 - t3new += np.transpose(tmp160, (0, 1, 2, 5, 4, 3)) - t3new += np.transpose(tmp160, (0, 2, 1, 3, 5, 4)) * -1 - t3new += np.transpose(tmp160, (0, 2, 1, 4, 5, 3)) - t3new += np.transpose(tmp160, (1, 0, 2, 4, 3, 5)) * -1 - t3new += np.transpose(tmp160, (1, 0, 2, 5, 3, 4)) - t3new += np.transpose(tmp160, (1, 2, 0, 3, 5, 4)) - t3new += np.transpose(tmp160, (1, 2, 0, 4, 5, 3)) * -1 - t3new += np.transpose(tmp160, (2, 1, 0, 3, 4, 5)) - t3new += np.transpose(tmp160, (2, 1, 0, 5, 4, 3)) * -1 - del tmp160 - tmp161 = einsum(tmp3, (0, 1, 2, 3), t3, (4, 5, 2, 6, 3, 7), (0, 4, 5, 1, 6, 7)) - tmp162 = einsum(t1, (0, 1), tmp161, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) - del tmp161 - t3new += np.transpose(tmp162, (0, 2, 1, 5, 3, 4)) - t3new += np.transpose(tmp162, (1, 2, 0, 5, 3, 4)) * -1 - del tmp162 - tmp163 = einsum(tmp3, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 3), (0, 4, 5, 1, 6, 7)) - tmp164 = einsum(t1, (0, 1), tmp163, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) - del tmp163 - t3new += np.transpose(tmp164, (0, 2, 1, 3, 5, 4)) - t3new += np.transpose(tmp164, (0, 2, 1, 4, 5, 3)) * -1 - t3new += np.transpose(tmp164, (1, 2, 0, 3, 5, 4)) * -1 - t3new += np.transpose(tmp164, (1, 2, 0, 4, 5, 3)) - del tmp164 - tmp165 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp39, (6, 2, 7, 4), (6, 0, 1, 3, 5, 7)) - tmp167 = np.copy(np.transpose(tmp165, (0, 1, 2, 4, 3, 5))) * -1 - del tmp165 - tmp166 = einsum(tmp55, (0, 1), t3, (2, 3, 1, 4, 5, 6), (2, 3, 0, 4, 6, 5)) * -1 - del tmp55 - tmp167 += np.transpose(tmp166, (2, 0, 1, 4, 3, 5)) - del tmp166 - t3new += np.transpose(tmp167, (0, 2, 1, 3, 5, 4)) - t3new += np.transpose(tmp167, (1, 2, 0, 3, 5, 4)) * -1 - del tmp167 - tmp168 = einsum(t2, (0, 1, 2, 3), tmp3, (4, 1, 5, 2), (4, 0, 5, 3)) - tmp169 = np.copy(tmp168) - del tmp168 - tmp169 += np.transpose(tmp70, (1, 0, 2, 3)) * -1 - del tmp70 - tmp170 = einsum(t2, (0, 1, 2, 3), tmp169, (4, 5, 1, 6), (0, 4, 5, 3, 2, 6)) - del tmp169 - tmp175 = np.copy(np.transpose(tmp170, (1, 0, 2, 4, 3, 5))) - del tmp170 - tmp172 = np.copy(tmp146) - tmp171 = einsum(tmp45, (0, 1, 2, 3), v.ovov, (4, 5, 0, 3), (1, 4, 2, 5)) - del tmp45 - tmp172 += tmp171 * -1 - del tmp171 - tmp173 = einsum(t2, (0, 1, 2, 3), tmp172, (4, 5, 6, 2), (0, 1, 4, 5, 3, 6)) - del tmp172 - tmp174 = einsum(t1, (0, 1), tmp173, (2, 3, 4, 0, 5, 6), (3, 2, 4, 1, 5, 6)) - del tmp173 - tmp175 += tmp174 - del tmp174 - t3new += np.transpose(tmp175, (0, 1, 2, 4, 3, 5)) - t3new += np.transpose(tmp175, (0, 1, 2, 5, 3, 4)) * -1 - t3new += np.transpose(tmp175, (0, 2, 1, 3, 5, 4)) * -1 - t3new += np.transpose(tmp175, (0, 2, 1, 4, 5, 3)) - t3new += np.transpose(tmp175, (1, 0, 2, 3, 4, 5)) - t3new += np.transpose(tmp175, (1, 0, 2, 5, 4, 3)) * -1 - t3new += np.transpose(tmp175, (2, 0, 1, 3, 4, 5)) * -1 - t3new += np.transpose(tmp175, (2, 0, 1, 5, 4, 3)) - t3new += np.transpose(tmp175, (1, 2, 0, 3, 5, 4)) - t3new += np.transpose(tmp175, (1, 2, 0, 4, 5, 3)) * -1 - t3new += np.transpose(tmp175, (2, 1, 0, 4, 3, 5)) * -1 - t3new += np.transpose(tmp175, (2, 1, 0, 5, 3, 4)) - del tmp175 - tmp176 = einsum(t2, (0, 1, 2, 3), tmp49, (4, 5, 1, 6), (4, 0, 5, 2, 3, 6)) - del tmp49 - t3new += np.transpose(tmp176, (0, 1, 2, 4, 3, 5)) * -1 - t3new += np.transpose(tmp176, (0, 1, 2, 5, 3, 4)) - t3new += np.transpose(tmp176, (0, 2, 1, 3, 4, 5)) * -1 - t3new += np.transpose(tmp176, (0, 2, 1, 5, 4, 3)) - t3new += np.transpose(tmp176, (1, 0, 2, 3, 5, 4)) - t3new += np.transpose(tmp176, (1, 0, 2, 4, 5, 3)) * -1 - t3new += np.transpose(tmp176, (2, 0, 1, 3, 5, 4)) * -1 - t3new += np.transpose(tmp176, (2, 0, 1, 4, 5, 3)) - t3new += np.transpose(tmp176, (1, 2, 0, 3, 4, 5)) - t3new += np.transpose(tmp176, (1, 2, 0, 5, 4, 3)) * -1 - t3new += np.transpose(tmp176, (2, 1, 0, 4, 3, 5)) - t3new += np.transpose(tmp176, (2, 1, 0, 5, 3, 4)) * -1 - del tmp176 - tmp177 = einsum(tmp3, (0, 1, 2, 3), t3, (4, 2, 5, 6, 7, 3), (0, 4, 5, 1, 6, 7)) - tmp178 = einsum(t1, (0, 1), tmp177, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) - del tmp177 - t3new += np.transpose(tmp178, (2, 0, 1, 3, 5, 4)) - t3new += np.transpose(tmp178, (2, 0, 1, 4, 5, 3)) * -1 - del tmp178 - tmp179 = einsum(tmp86, (0, 1, 2, 3), t2, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) - del tmp86 - tmp180 = einsum(t1, (0, 1), tmp179, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) - del tmp179 - t3new += np.transpose(tmp180, (0, 1, 2, 3, 5, 4)) * -1 - t3new += np.transpose(tmp180, (0, 1, 2, 4, 5, 3)) - t3new += np.transpose(tmp180, (0, 2, 1, 4, 3, 5)) - t3new += np.transpose(tmp180, (0, 2, 1, 5, 3, 4)) * -1 - t3new += np.transpose(tmp180, (1, 0, 2, 3, 4, 5)) * -1 - t3new += np.transpose(tmp180, (1, 0, 2, 5, 4, 3)) - t3new += np.transpose(tmp180, (2, 0, 1, 3, 4, 5)) - t3new += np.transpose(tmp180, (2, 0, 1, 5, 4, 3)) * -1 - t3new += np.transpose(tmp180, (1, 2, 0, 4, 3, 5)) * -1 - t3new += np.transpose(tmp180, (1, 2, 0, 5, 3, 4)) - t3new += np.transpose(tmp180, (2, 1, 0, 3, 5, 4)) - t3new += np.transpose(tmp180, (2, 1, 0, 4, 5, 3)) * -1 - del tmp180 - tmp181 = einsum(v.ooov, (0, 1, 2, 3), t3, (4, 1, 5, 6, 7, 3), (4, 5, 0, 2, 6, 7)) - tmp182 = einsum(tmp181, (0, 1, 2, 3, 4, 5), t1, (3, 6), (0, 1, 2, 6, 4, 5)) - del tmp181 - tmp186 = np.copy(np.transpose(tmp182, (1, 0, 2, 3, 4, 5))) * -1 - del tmp182 - tmp184 = np.copy(f.vv) - tmp183 = einsum(t1, (0, 1), tmp6, (0, 2), (1, 2)) - tmp184 += np.transpose(tmp183, (1, 0)) * -1 - del tmp183 - tmp185 = einsum(tmp184, (0, 1), t3, (2, 3, 4, 5, 6, 0), (2, 4, 3, 5, 6, 1)) * -1 - del tmp184 - tmp186 += np.transpose(tmp185, (1, 0, 2, 5, 3, 4)) - del tmp185 - t3new += np.transpose(tmp186, (0, 2, 1, 3, 5, 4)) * -1 - t3new += np.transpose(tmp186, (0, 2, 1, 4, 5, 3)) - del tmp186 - tmp187 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 3), (0, 2, 4, 5)) - tmp190 = np.copy(np.transpose(tmp187, (0, 1, 3, 2))) - del tmp187 - tmp188 = einsum(tmp8, (0, 1, 2, 3), v.ovvv, (0, 2, 4, 5), (1, 4, 5, 3)) - del tmp8 - tmp190 += np.transpose(tmp188, (0, 3, 2, 1)) * -1 - del tmp188 - tmp189 = einsum(t2, (0, 1, 2, 3), tmp6, (1, 4), (0, 3, 2, 4)) - del tmp6 - tmp190 += np.transpose(tmp189, (0, 2, 1, 3)) - del tmp189 - tmp191 = einsum(t2, (0, 1, 2, 3), tmp190, (4, 5, 6, 2), (0, 1, 4, 3, 5, 6)) - del tmp190 - tmp196 = np.copy(np.transpose(tmp191, (1, 0, 2, 3, 4, 5))) - del tmp191 - tmp192 = einsum(v.ooov, (0, 1, 2, 3), t2, (4, 2, 3, 5), (4, 0, 1, 5)) - tmp194 = np.copy(np.transpose(tmp192, (0, 2, 1, 3))) - del tmp192 - tmp193 = einsum(t2, (0, 1, 2, 3), tmp73, (4, 5, 1, 3), (0, 4, 5, 2)) - del tmp73 - tmp194 += np.transpose(tmp193, (0, 2, 1, 3)) * -1 - del tmp193 - tmp195 = einsum(tmp194, (0, 1, 2, 3), t2, (4, 1, 5, 6), (4, 0, 2, 6, 5, 3)) - del tmp194 - tmp196 += np.transpose(tmp195, (0, 1, 2, 4, 3, 5)) * -1 - del tmp195 - t3new += np.transpose(tmp196, (0, 1, 2, 3, 5, 4)) * -1 - t3new += np.transpose(tmp196, (0, 1, 2, 4, 5, 3)) - t3new += np.transpose(tmp196, (0, 2, 1, 3, 4, 5)) * -1 - t3new += np.transpose(tmp196, (0, 2, 1, 5, 4, 3)) - t3new += np.transpose(tmp196, (1, 0, 2, 4, 3, 5)) - t3new += np.transpose(tmp196, (1, 0, 2, 5, 3, 4)) * -1 - t3new += np.transpose(tmp196, (2, 0, 1, 4, 3, 5)) * -1 - t3new += np.transpose(tmp196, (2, 0, 1, 5, 3, 4)) - t3new += np.transpose(tmp196, (1, 2, 0, 3, 4, 5)) - t3new += np.transpose(tmp196, (1, 2, 0, 5, 4, 3)) * -1 - t3new += np.transpose(tmp196, (2, 1, 0, 3, 5, 4)) - t3new += np.transpose(tmp196, (2, 1, 0, 4, 5, 3)) * -1 - del tmp196 - tmp197 = einsum(t1, (0, 1), tmp85, (2, 3, 4, 0), (2, 3, 4, 1)) - del tmp85 - tmp198 = einsum(t2, (0, 1, 2, 3), tmp197, (4, 5, 1, 6), (5, 4, 0, 6, 2, 3)) - del tmp197 - t3new += np.transpose(tmp198, (0, 1, 2, 3, 5, 4)) - t3new += np.transpose(tmp198, (0, 1, 2, 4, 5, 3)) * -1 - t3new += np.transpose(tmp198, (0, 2, 1, 3, 4, 5)) - t3new += np.transpose(tmp198, (0, 2, 1, 5, 4, 3)) * -1 - t3new += np.transpose(tmp198, (1, 0, 2, 4, 3, 5)) * -1 - t3new += np.transpose(tmp198, (1, 0, 2, 5, 3, 4)) - t3new += np.transpose(tmp198, (2, 0, 1, 4, 3, 5)) - t3new += np.transpose(tmp198, (2, 0, 1, 5, 3, 4)) * -1 - t3new += np.transpose(tmp198, (1, 2, 0, 3, 4, 5)) * -1 - t3new += np.transpose(tmp198, (1, 2, 0, 5, 4, 3)) - t3new += np.transpose(tmp198, (2, 1, 0, 3, 5, 4)) * -1 - t3new += np.transpose(tmp198, (2, 1, 0, 4, 5, 3)) - del tmp198 - tmp199 = einsum(t2, (0, 1, 2, 3), tmp3, (4, 5, 6, 3), (4, 0, 1, 6, 5, 2)) - del tmp3 - tmp200 = einsum(tmp199, (0, 1, 2, 3, 4, 5), t1, (4, 6), (0, 1, 2, 3, 6, 5)) - del tmp199 - tmp201 = einsum(t1, (0, 1), tmp200, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) - del tmp200 - t3new += np.transpose(tmp201, (0, 1, 2, 3, 5, 4)) - t3new += np.transpose(tmp201, (0, 1, 2, 4, 5, 3)) * -1 - t3new += np.transpose(tmp201, (0, 2, 1, 3, 4, 5)) - t3new += np.transpose(tmp201, (0, 2, 1, 5, 4, 3)) * -1 - t3new += np.transpose(tmp201, (1, 0, 2, 4, 3, 5)) * -1 - t3new += np.transpose(tmp201, (1, 0, 2, 5, 3, 4)) - t3new += np.transpose(tmp201, (2, 0, 1, 4, 3, 5)) - t3new += np.transpose(tmp201, (2, 0, 1, 5, 3, 4)) * -1 - t3new += np.transpose(tmp201, (1, 2, 0, 3, 4, 5)) * -1 - t3new += np.transpose(tmp201, (1, 2, 0, 5, 4, 3)) - t3new += np.transpose(tmp201, (2, 1, 0, 3, 5, 4)) * -1 - t3new += np.transpose(tmp201, (2, 1, 0, 4, 5, 3)) - del tmp201 - tmp202 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 5, 6, 3), (4, 5, 0, 6, 1, 2)) - t3new += np.transpose(tmp202, (0, 1, 2, 3, 5, 4)) - t3new += np.transpose(tmp202, (0, 1, 2, 4, 5, 3)) * -1 - t3new += np.transpose(tmp202, (0, 2, 1, 3, 4, 5)) - t3new += np.transpose(tmp202, (0, 2, 1, 5, 4, 3)) * -1 - t3new += np.transpose(tmp202, (1, 0, 2, 4, 3, 5)) * -1 - t3new += np.transpose(tmp202, (1, 0, 2, 5, 3, 4)) - t3new += np.transpose(tmp202, (2, 0, 1, 4, 3, 5)) - t3new += np.transpose(tmp202, (2, 0, 1, 5, 3, 4)) * -1 - t3new += np.transpose(tmp202, (1, 2, 0, 3, 4, 5)) * -1 - t3new += np.transpose(tmp202, (1, 2, 0, 5, 4, 3)) - t3new += np.transpose(tmp202, (2, 1, 0, 3, 5, 4)) * -1 - t3new += np.transpose(tmp202, (2, 1, 0, 4, 5, 3)) - del tmp202 - tmp203 = einsum(tmp43, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 2), (0, 4, 5, 6, 7, 3)) - t3new += np.transpose(tmp203, (0, 1, 2, 4, 3, 5)) * -1 - t3new += np.transpose(tmp203, (0, 1, 2, 5, 3, 4)) - t3new += np.transpose(tmp203, (0, 2, 1, 3, 4, 5)) * -1 - t3new += np.transpose(tmp203, (0, 2, 1, 5, 4, 3)) - t3new += np.transpose(tmp203, (1, 0, 2, 3, 5, 4)) - t3new += np.transpose(tmp203, (1, 0, 2, 4, 5, 3)) * -1 - t3new += np.transpose(tmp203, (1, 2, 0, 3, 4, 5)) - t3new += np.transpose(tmp203, (1, 2, 0, 5, 4, 3)) * -1 - t3new += np.transpose(tmp203, (2, 1, 0, 4, 3, 5)) - t3new += np.transpose(tmp203, (2, 1, 0, 5, 3, 4)) * -1 - del tmp203 - tmp204 = einsum(tmp39, (0, 1, 2, 3), t3, (4, 1, 5, 6, 7, 3), (0, 4, 5, 6, 7, 2)) - t3new += np.transpose(tmp204, (2, 0, 1, 3, 4, 5)) - t3new += np.transpose(tmp204, (2, 0, 1, 5, 4, 3)) * -1 - del tmp204 - tmp205 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp39, (6, 2, 7, 5), (6, 0, 1, 3, 4, 7)) - t3new += np.transpose(tmp205, (0, 2, 1, 3, 4, 5)) - t3new += np.transpose(tmp205, (0, 2, 1, 5, 4, 3)) * -1 - t3new += np.transpose(tmp205, (1, 2, 0, 3, 4, 5)) * -1 - t3new += np.transpose(tmp205, (1, 2, 0, 5, 4, 3)) - del tmp205 - tmp206 = einsum(tmp66, (0, 1), t3, (2, 3, 4, 5, 6, 0), (2, 4, 3, 5, 6, 1)) * -1 - del tmp66 - t3new += np.transpose(tmp206, (1, 2, 0, 3, 4, 5)) - t3new += np.transpose(tmp206, (1, 2, 0, 5, 4, 3)) * -1 - del tmp206 - tmp207 = einsum(tmp68, (0, 1, 2, 3), t2, (4, 2, 5, 6), (4, 0, 1, 5, 6, 3)) - del tmp68 - tmp212 = np.copy(tmp207) - del tmp207 - tmp208 = einsum(t1, (0, 1), tmp17, (2, 3, 4, 0), (2, 3, 4, 1)) - tmp209 = einsum(tmp208, (0, 1, 2, 3), t2, (4, 2, 5, 6), (0, 4, 1, 3, 5, 6)) - del tmp208 - tmp212 += tmp209 - del tmp209 - tmp210 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 2), (0, 3, 4, 5)) - tmp211 = einsum(tmp210, (0, 1, 2, 3), t2, (4, 5, 6, 2), (4, 5, 0, 6, 1, 3)) - del tmp210 - tmp212 += tmp211 * -1 - del tmp211 - t3new += tmp212 - t3new += np.transpose(tmp212, (0, 1, 2, 5, 4, 3)) * -1 - t3new += np.transpose(tmp212, (0, 2, 1, 3, 5, 4)) - t3new += np.transpose(tmp212, (0, 2, 1, 4, 5, 3)) * -1 - t3new += np.transpose(tmp212, (1, 0, 2, 4, 3, 5)) - t3new += np.transpose(tmp212, (1, 0, 2, 5, 3, 4)) * -1 - t3new += np.transpose(tmp212, (2, 0, 1, 4, 3, 5)) * -1 - t3new += np.transpose(tmp212, (2, 0, 1, 5, 3, 4)) - t3new += np.transpose(tmp212, (1, 2, 0, 3, 5, 4)) * -1 - t3new += np.transpose(tmp212, (1, 2, 0, 4, 5, 3)) - t3new += np.transpose(tmp212, (2, 1, 0, 3, 4, 5)) * -1 - t3new += np.transpose(tmp212, (2, 1, 0, 5, 4, 3)) - del tmp212 - tmp213 = einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 1, 3), (4, 6, 5, 0, 7, 2)) - tmp214 = einsum(t1, (0, 1), tmp213, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) - del tmp213 - t3new += np.transpose(tmp214, (1, 2, 0, 4, 3, 5)) - t3new += np.transpose(tmp214, (1, 2, 0, 5, 3, 4)) * -1 - del tmp214 - tmp215 = einsum(tmp43, (0, 1, 2, 3), t1, (4, 2), (4, 0, 1, 3)) - tmp216 = einsum(t2, (0, 1, 2, 3), tmp215, (4, 5, 1, 6), (4, 5, 0, 2, 3, 6)) - del tmp215 - t3new += np.transpose(tmp216, (0, 1, 2, 3, 5, 4)) - t3new += np.transpose(tmp216, (0, 1, 2, 4, 5, 3)) * -1 - t3new += np.transpose(tmp216, (0, 2, 1, 4, 3, 5)) * -1 - t3new += np.transpose(tmp216, (0, 2, 1, 5, 3, 4)) - t3new += np.transpose(tmp216, (1, 0, 2, 3, 4, 5)) - t3new += np.transpose(tmp216, (1, 0, 2, 5, 4, 3)) * -1 - t3new += np.transpose(tmp216, (2, 0, 1, 3, 4, 5)) * -1 - t3new += np.transpose(tmp216, (2, 0, 1, 5, 4, 3)) - t3new += np.transpose(tmp216, (1, 2, 0, 4, 3, 5)) - t3new += np.transpose(tmp216, (1, 2, 0, 5, 3, 4)) * -1 - t3new += np.transpose(tmp216, (2, 1, 0, 3, 5, 4)) * -1 - t3new += np.transpose(tmp216, (2, 1, 0, 4, 5, 3)) - del tmp216 - tmp217 = einsum(tmp17, (0, 1, 2, 3), t2, (4, 3, 5, 6), (0, 4, 1, 2, 5, 6)) - tmp221 = np.copy(np.transpose(tmp217, (0, 1, 3, 2, 4, 5))) - del tmp217 - tmp218 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), (0, 1, 4, 5, 6, 2)) - tmp219 = einsum(tmp218, (0, 1, 2, 3, 4, 5), t1, (4, 6), (0, 1, 2, 3, 6, 5)) - del tmp218 - tmp221 += np.transpose(tmp219, (0, 1, 3, 2, 4, 5)) - del tmp219 - tmp220 = einsum(t2, (0, 1, 2, 3), tmp43, (4, 5, 3, 6), (4, 0, 1, 5, 2, 6)) - tmp221 += np.transpose(tmp220, (0, 1, 3, 2, 4, 5)) * -1 - del tmp220 - tmp222 = einsum(t1, (0, 1), tmp221, (2, 3, 0, 4, 5, 6), (2, 3, 4, 1, 5, 6)) - del tmp221 - t3new += tmp222 * -1 - t3new += np.transpose(tmp222, (0, 1, 2, 5, 4, 3)) - t3new += np.transpose(tmp222, (0, 2, 1, 4, 3, 5)) * -1 - t3new += np.transpose(tmp222, (0, 2, 1, 5, 3, 4)) - t3new += np.transpose(tmp222, (1, 0, 2, 3, 5, 4)) * -1 - t3new += np.transpose(tmp222, (1, 0, 2, 4, 5, 3)) - t3new += np.transpose(tmp222, (2, 0, 1, 3, 5, 4)) - t3new += np.transpose(tmp222, (2, 0, 1, 4, 5, 3)) * -1 - t3new += np.transpose(tmp222, (1, 2, 0, 4, 3, 5)) - t3new += np.transpose(tmp222, (1, 2, 0, 5, 3, 4)) * -1 - t3new += np.transpose(tmp222, (2, 1, 0, 3, 4, 5)) - t3new += np.transpose(tmp222, (2, 1, 0, 5, 4, 3)) * -1 - del tmp222 - tmp223 = einsum(t2, (0, 1, 2, 3), tmp39, (4, 5, 6, 3), (4, 0, 1, 5, 2, 6)) - tmp224 = einsum(t1, (0, 1), tmp223, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) - del tmp223 - t3new += tmp224 * -1 - t3new += np.transpose(tmp224, (0, 1, 2, 5, 4, 3)) - t3new += np.transpose(tmp224, (0, 2, 1, 3, 5, 4)) * -1 - t3new += np.transpose(tmp224, (0, 2, 1, 4, 5, 3)) - t3new += np.transpose(tmp224, (1, 0, 2, 4, 3, 5)) * -1 - t3new += np.transpose(tmp224, (1, 0, 2, 5, 3, 4)) - t3new += np.transpose(tmp224, (2, 0, 1, 4, 3, 5)) - t3new += np.transpose(tmp224, (2, 0, 1, 5, 3, 4)) * -1 - t3new += np.transpose(tmp224, (1, 2, 0, 3, 5, 4)) - t3new += np.transpose(tmp224, (1, 2, 0, 4, 5, 3)) * -1 - t3new += np.transpose(tmp224, (2, 1, 0, 3, 4, 5)) - t3new += np.transpose(tmp224, (2, 1, 0, 5, 4, 3)) * -1 - del tmp224 - tmp225 = einsum(v.ooov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 3), (4, 5, 0, 1, 6, 7)) - tmp226 = einsum(t1, (0, 1), tmp225, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) - del tmp225 - t3new += np.transpose(tmp226, (0, 1, 2, 3, 5, 4)) - t3new += np.transpose(tmp226, (0, 1, 2, 4, 5, 3)) * -1 - t3new += np.transpose(tmp226, (0, 2, 1, 4, 3, 5)) * -1 - t3new += np.transpose(tmp226, (0, 2, 1, 5, 3, 4)) - t3new += np.transpose(tmp226, (1, 0, 2, 3, 4, 5)) - t3new += np.transpose(tmp226, (1, 0, 2, 5, 4, 3)) * -1 - t3new += np.transpose(tmp226, (2, 0, 1, 3, 4, 5)) * -1 - t3new += np.transpose(tmp226, (2, 0, 1, 5, 4, 3)) - t3new += np.transpose(tmp226, (2, 1, 0, 3, 5, 4)) * -1 - t3new += np.transpose(tmp226, (2, 1, 0, 4, 5, 3)) - del tmp226 - tmp227 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ooov, (6, 2, 7, 4), (0, 1, 6, 7, 3, 5)) - tmp228 = einsum(t1, (0, 1), tmp227, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) - del tmp227 - t3new += np.transpose(tmp228, (0, 1, 2, 5, 3, 4)) * -1 - t3new += np.transpose(tmp228, (2, 1, 0, 5, 3, 4)) - del tmp228 - tmp229 = einsum(v.ooov, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (4, 5, 0, 2, 6, 7)) - tmp230 = einsum(t1, (0, 1), tmp229, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) - del tmp229 - t3new += np.transpose(tmp230, (0, 1, 2, 3, 5, 4)) * -1 - t3new += np.transpose(tmp230, (0, 1, 2, 4, 5, 3)) - t3new += np.transpose(tmp230, (2, 1, 0, 3, 5, 4)) - t3new += np.transpose(tmp230, (2, 1, 0, 4, 5, 3)) * -1 - del tmp230 - tmp231 = einsum(tmp74, (0, 1), t3, (2, 3, 1, 4, 5, 6), (2, 3, 0, 4, 6, 5)) * -1 - del tmp74 - t3new += np.transpose(tmp231, (0, 1, 2, 4, 5, 3)) * -1 - t3new += np.transpose(tmp231, (2, 1, 0, 4, 5, 3)) - del tmp231 - tmp232 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp17, (6, 7, 2, 1), (6, 0, 7, 3, 5, 4)) - t3new += np.transpose(tmp232, (1, 0, 2, 4, 5, 3)) * -1 - t3new += np.transpose(tmp232, (2, 0, 1, 4, 5, 3)) - del tmp232 - tmp233 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 0, 1, 5), (4, 2, 3, 5)) - tmp234 = einsum(t2, (0, 1, 2, 3), tmp233, (4, 5, 6, 3), (0, 1, 4, 5, 6, 2)) - del tmp233 - t3new += tmp234 * -1 - t3new += np.transpose(tmp234, (0, 1, 2, 5, 4, 3)) - t3new += np.transpose(tmp234, (0, 2, 1, 4, 3, 5)) * -1 - t3new += np.transpose(tmp234, (0, 2, 1, 5, 3, 4)) - t3new += np.transpose(tmp234, (1, 0, 2, 3, 5, 4)) * -1 - t3new += np.transpose(tmp234, (1, 0, 2, 4, 5, 3)) - t3new += np.transpose(tmp234, (2, 0, 1, 3, 5, 4)) - t3new += np.transpose(tmp234, (2, 0, 1, 4, 5, 3)) * -1 - t3new += np.transpose(tmp234, (1, 2, 0, 4, 3, 5)) - t3new += np.transpose(tmp234, (1, 2, 0, 5, 3, 4)) * -1 - t3new += np.transpose(tmp234, (2, 1, 0, 3, 4, 5)) - t3new += np.transpose(tmp234, (2, 1, 0, 5, 4, 3)) * -1 - del tmp234 - tmp237 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) - tmp237 += np.transpose(t3, (1, 0, 2, 3, 5, 4)) - tmp236 = np.copy(np.transpose(v.ovov, (0, 2, 1, 3))) * -0.499999999999995 - tmp236 += einsum(t1, (0, 1), v.ovoo, (2, 3, 4, 0), (2, 4, 3, 1)) * 0.499999999999995 - tmp236 += np.transpose(tmp43, (1, 0, 2, 3)) * -0.499999999999995 - del tmp43 - tmp236 += np.transpose(tmp146, (1, 0, 3, 2)) * 0.5 - del tmp146 - tmp235 = einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) * 0.499999999999995 - tmp235 += np.transpose(t2, (0, 1, 3, 2)) * -1 - tmp235 += t2 * 0.5 - tmp236 += einsum(v.ovov, (0, 1, 2, 3), tmp235, (2, 4, 5, 3), (0, 4, 1, 5)) - del tmp235 - t3new += einsum(tmp236, (0, 1, 2, 3), tmp237, (0, 4, 5, 6, 7, 2), (4, 1, 5, 7, 3, 6)) * 2 - del tmp236, tmp237 - tmp239 = np.copy(v.oovv) * -1 - tmp239 += einsum(t1, (0, 1), v.ooov, (2, 3, 0, 4), (2, 3, 4, 1)) - tmp239 += np.transpose(tmp39, (1, 0, 3, 2)) * -1 - del tmp39 - tmp238 = np.copy(t2) - tmp238 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) - tmp239 += einsum(tmp238, (0, 1, 2, 3), v.ovov, (4, 3, 0, 5), (4, 1, 5, 2)) - del tmp238 - t3new += einsum(tmp239, (0, 1, 2, 3), t3, (4, 0, 5, 6, 2, 7), (4, 1, 5, 6, 3, 7)) - del tmp239 - tmp241 = np.copy(v.vvvv) - tmp241 += einsum(v.ovvv, (0, 1, 2, 3), t1, (0, 4), (2, 3, 4, 1)) * -1 - tmp241 += einsum(v.ovov, (0, 1, 2, 3), t2, (0, 2, 4, 5), (3, 4, 5, 1)) * -1 - tmp240 = np.copy(v.ovvv) - tmp240 += einsum(t1, (0, 1), v.ovov, (2, 3, 0, 4), (2, 4, 1, 3)) - tmp241 += einsum(t1, (0, 1), tmp240, (0, 2, 3, 4), (4, 1, 3, 2)) - del tmp240 - t3new += einsum(tmp241, (0, 1, 2, 3), t3, (4, 5, 6, 0, 7, 3), (4, 5, 6, 2, 7, 1)) * -1 - del tmp241 - tmp243 = np.copy(v.oooo) - tmp243 += np.transpose(tmp17, (2, 0, 3, 1)) * -1 - tmp243 += np.transpose(tmp17, (2, 1, 3, 0)) - del tmp17 - tmp242 = np.copy(t2) - tmp242 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 3, 1)) * -1 - tmp243 += einsum(tmp242, (0, 1, 2, 3), v.ovov, (4, 2, 5, 3), (4, 1, 5, 0)) * -1 - del tmp242 - t3new += einsum(tmp243, (0, 1, 2, 3), t3, (0, 4, 2, 5, 6, 7), (1, 4, 3, 5, 6, 7)) - del tmp243 - tmp245 = np.copy(f.vv) * -1 - tmp245 += tmp111 - del tmp111 - tmp245 += einsum(tmp11, (0, 1, 2, 3), tmp1, (0, 1, 2, 4), (3, 4)) - tmp244 = np.copy(v.ovvv) * -1 - tmp244 += np.transpose(v.ovvv, (0, 2, 1, 3)) * 2 - tmp245 += einsum(tmp244, (0, 1, 2, 3), t1, (0, 2), (1, 3)) * -1 - del tmp244 - t3new += einsum(t3, (0, 1, 2, 3, 4, 5), tmp245, (4, 6), (0, 1, 2, 3, 6, 5)) * -1 - del tmp245 - tmp246 = np.copy(f.oo) - tmp246 += tmp10 - del tmp10 - tmp246 += einsum(tmp11, (0, 1, 2, 3), tmp1, (0, 4, 2, 3), (1, 4)) - del tmp1, tmp11 - tmp246 += einsum(t1, (0, 1), tmp12, (2, 3, 0, 1), (3, 2)) * 2 - del tmp12 - t3new += einsum(t3, (0, 1, 2, 3, 4, 5), tmp246, (1, 6), (0, 6, 2, 3, 4, 5)) * -1 - del tmp246 - - return {f"t1new": t1new, f"t2new": t2new, f"t3new": t3new} - -def update_lams(f=None, l1=None, l2=None, l3=None, t1=None, t2=None, t3=None, v=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-10-22T08:48:08.477810. - - Parameters - ---------- - f : array - Fock matrix. - l1 : array - L1 amplitudes. - l2 : array - L2 amplitudes. - l3 : array - L3 amplitudes. - t1 : array - T1 amplitudes. - t2 : array - T2 amplitudes. - t3 : array - T3 amplitudes. - v : array - Electron repulsion integrals. - - Returns - ------- - l1new : array - Updated L1 residuals. - l2new : array - Updated L2 residuals. - l3new : array - Updated L3 residuals. - """ - - l3new = einsum(l3, (0, 1, 2, 3, 4, 5), v.oovv, (6, 4, 7, 1), (0, 7, 2, 3, 6, 5)) * -1 - tmp187 = einsum(t1, (0, 1), v.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) - tmp238 = einsum(l3, (0, 1, 2, 3, 4, 5), t1, (6, 2), (3, 5, 4, 6, 0, 1)) - l3new += einsum(tmp238, (0, 1, 2, 3, 4, 5), tmp187, (2, 6, 3, 7), (4, 7, 5, 1, 6, 0)) * -1 - tmp393 = einsum(l3, (0, 1, 2, 3, 4, 5), t1, (6, 1), (3, 5, 4, 6, 0, 2)) - l3new += einsum(v.ooov, (0, 1, 2, 3), tmp393, (4, 5, 1, 2, 6, 7), (7, 3, 6, 5, 0, 4)) - tmp237 = einsum(l3, (0, 1, 2, 3, 4, 5), v.vvvv, (6, 0, 7, 2), (3, 5, 4, 1, 6, 7)) - l3new += np.transpose(tmp237, (5, 3, 4, 1, 2, 0)) - tmp394 = einsum(l2, (0, 1, 2, 3), v.ooov, (4, 3, 5, 6), (2, 4, 5, 0, 1, 6)) - l3new += np.transpose(tmp394, (3, 4, 5, 0, 1, 2)) * -1 - l3new += np.transpose(tmp394, (5, 4, 3, 0, 1, 2)) - l3new += np.transpose(tmp394, (3, 5, 4, 0, 2, 1)) * -1 - l3new += np.transpose(tmp394, (4, 5, 3, 0, 2, 1)) - l3new += np.transpose(tmp394, (4, 3, 5, 1, 0, 2)) * -1 - l3new += np.transpose(tmp394, (5, 3, 4, 1, 0, 2)) - l3new += np.transpose(tmp394, (4, 3, 5, 2, 0, 1)) - l3new += np.transpose(tmp394, (5, 3, 4, 2, 0, 1)) * -1 - l3new += np.transpose(tmp394, (3, 5, 4, 1, 2, 0)) - l3new += np.transpose(tmp394, (4, 5, 3, 1, 2, 0)) * -1 - l3new += np.transpose(tmp394, (3, 4, 5, 2, 1, 0)) - l3new += np.transpose(tmp394, (5, 4, 3, 2, 1, 0)) * -1 - del tmp394 - tmp395 = np.copy(f.oo) - tmp319 = einsum(f.ov, (0, 1), t1, (2, 1), (0, 2)) - tmp395 += np.transpose(tmp319, (1, 0)) - tmp396 = einsum(l3, (0, 1, 2, 3, 4, 5), tmp395, (5, 6), (6, 3, 4, 0, 2, 1)) * -1 - del tmp395 - l3new += np.transpose(tmp396, (4, 5, 3, 0, 2, 1)) - l3new += np.transpose(tmp396, (4, 5, 3, 1, 2, 0)) * -1 - del tmp396 - tmp334 = einsum(l3, (0, 1, 2, 3, 4, 5), v.oovv, (6, 5, 7, 2), (3, 4, 6, 0, 1, 7)) - tmp400 = np.copy(tmp334) - tmp397 = einsum(v.ooov, (0, 1, 2, 3), tmp238, (4, 1, 5, 2, 6, 7), (4, 5, 0, 6, 7, 3)) - tmp400 += tmp397 * -1 - del tmp397 - tmp240 = einsum(v.ovvv, (0, 1, 2, 3), l3, (4, 5, 3, 6, 7, 8), (6, 8, 7, 0, 4, 5, 1, 2)) - tmp398 = einsum(t1, (0, 1), tmp240, (2, 0, 3, 4, 5, 6, 1, 7), (2, 3, 4, 5, 6, 7)) - tmp400 += tmp398 - del tmp398 - tmp399 = einsum(tmp187, (0, 1, 2, 3), tmp238, (4, 0, 5, 1, 6, 7), (4, 5, 2, 6, 7, 3)) - tmp400 += tmp399 * -1 - del tmp399 - l3new += np.transpose(tmp400, (3, 4, 5, 0, 1, 2)) * -1 - l3new += np.transpose(tmp400, (5, 4, 3, 0, 1, 2)) - l3new += np.transpose(tmp400, (3, 4, 5, 2, 1, 0)) - l3new += np.transpose(tmp400, (5, 4, 3, 2, 1, 0)) * -1 - del tmp400 - tmp361 = einsum(l3, (0, 1, 2, 3, 4, 5), v.oovv, (6, 4, 7, 2), (3, 5, 6, 0, 1, 7)) - tmp405 = np.copy(np.transpose(tmp361, (1, 0, 2, 3, 4, 5))) - tmp401 = einsum(v.ooov, (0, 1, 2, 3), tmp238, (4, 5, 1, 2, 6, 7), (4, 5, 0, 6, 7, 3)) - tmp405 += np.transpose(tmp401, (1, 0, 2, 3, 4, 5)) * -1 - del tmp401 - tmp351 = einsum(v.ovvv, (0, 1, 2, 3), t1, (0, 1), (2, 3)) - tmp402 = einsum(tmp351, (0, 1), l3, (2, 3, 1, 4, 5, 6), (4, 6, 5, 2, 3, 0)) - tmp405 += np.transpose(tmp402, (1, 0, 2, 3, 4, 5)) * -2 - del tmp402 - tmp290 = einsum(t1, (0, 1), tmp240, (2, 3, 0, 4, 5, 6, 1, 7), (2, 3, 4, 5, 6, 7)) - tmp405 += np.transpose(tmp290, (1, 0, 2, 3, 4, 5)) - tmp403 = einsum(t1, (0, 1), v.ovov, (2, 1, 0, 3), (2, 3)) - tmp404 = einsum(tmp403, (0, 1), tmp238, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 6, 1)) - tmp405 += np.transpose(tmp404, (1, 0, 2, 3, 4, 5)) * -1 - del tmp404 - tmp292 = einsum(tmp187, (0, 1, 2, 3), tmp238, (4, 5, 0, 1, 6, 7), (4, 5, 2, 6, 7, 3)) - tmp405 += np.transpose(tmp292, (1, 0, 2, 3, 4, 5)) * -1 - l3new += np.transpose(tmp405, (3, 4, 5, 0, 2, 1)) - l3new += np.transpose(tmp405, (5, 4, 3, 0, 2, 1)) * -1 - del tmp405 - tmp406 = einsum(l3, (0, 1, 2, 3, 4, 5), v.ovov, (6, 7, 5, 2), (3, 4, 6, 0, 1, 7)) - l3new += np.transpose(tmp406, (3, 4, 5, 0, 1, 2)) - l3new += np.transpose(tmp406, (5, 4, 3, 0, 1, 2)) * -1 - l3new += np.transpose(tmp406, (4, 3, 5, 1, 0, 2)) - l3new += np.transpose(tmp406, (5, 3, 4, 1, 0, 2)) * -1 - l3new += np.transpose(tmp406, (4, 3, 5, 2, 0, 1)) * -1 - l3new += np.transpose(tmp406, (5, 3, 4, 2, 0, 1)) - l3new += np.transpose(tmp406, (3, 4, 5, 2, 1, 0)) * -1 - l3new += np.transpose(tmp406, (5, 4, 3, 2, 1, 0)) - del tmp406 - tmp360 = einsum(l3, (0, 1, 2, 3, 4, 5), v.oovv, (6, 5, 7, 1), (3, 4, 6, 0, 2, 7)) - tmp413 = np.copy(np.transpose(tmp360, (0, 1, 2, 4, 3, 5))) - tmp407 = einsum(v.ooov, (0, 1, 2, 3), tmp393, (4, 1, 5, 2, 6, 7), (4, 5, 0, 6, 7, 3)) - tmp413 += np.transpose(tmp407, (0, 1, 2, 4, 3, 5)) * -1 - del tmp407 - tmp369 = einsum(v.ovvv, (0, 1, 2, 3), l3, (4, 3, 5, 6, 7, 8), (6, 8, 7, 0, 4, 5, 1, 2)) - tmp408 = einsum(t1, (0, 1), tmp369, (2, 0, 3, 4, 5, 6, 1, 7), (2, 3, 4, 5, 6, 7)) - tmp413 += np.transpose(tmp408, (0, 1, 2, 4, 3, 5)) - del tmp408 - tmp409 = einsum(tmp393, (0, 1, 2, 3, 4, 5), tmp187, (1, 3, 6, 7), (0, 2, 6, 4, 5, 7)) - tmp413 += np.transpose(tmp409, (0, 1, 2, 4, 3, 5)) * -1 - del tmp409 - tmp382 = einsum(t1, (0, 1), v.ooov, (2, 0, 3, 1), (2, 3)) - tmp411 = np.copy(tmp382) - tmp410 = einsum(t1, (0, 1), tmp403, (2, 1), (0, 2)) - del tmp403 - tmp411 += tmp410 - del tmp410 - tmp412 = einsum(l3, (0, 1, 2, 3, 4, 5), tmp411, (5, 6), (6, 3, 4, 0, 2, 1)) * -1 - del tmp411 - tmp413 += np.transpose(tmp412, (1, 2, 0, 4, 3, 5)) - del tmp412 - l3new += np.transpose(tmp413, (3, 5, 4, 0, 1, 2)) - l3new += np.transpose(tmp413, (3, 5, 4, 2, 1, 0)) * -1 - del tmp413 - tmp414 = einsum(f.ov, (0, 1), tmp238, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) - l3new += np.transpose(tmp414, (3, 5, 4, 1, 2, 0)) * -1 - l3new += np.transpose(tmp414, (4, 5, 3, 1, 2, 0)) - del tmp414 - tmp415 = einsum(l2, (0, 1, 2, 3), tmp187, (3, 4, 5, 6), (2, 4, 5, 0, 1, 6)) - l3new += np.transpose(tmp415, (3, 5, 4, 0, 1, 2)) * -1 - l3new += np.transpose(tmp415, (4, 5, 3, 0, 1, 2)) - l3new += np.transpose(tmp415, (3, 4, 5, 0, 2, 1)) * -1 - l3new += np.transpose(tmp415, (5, 4, 3, 0, 2, 1)) - l3new += np.transpose(tmp415, (4, 3, 5, 1, 0, 2)) - l3new += np.transpose(tmp415, (5, 3, 4, 1, 0, 2)) * -1 - l3new += np.transpose(tmp415, (4, 3, 5, 2, 0, 1)) * -1 - l3new += np.transpose(tmp415, (5, 3, 4, 2, 0, 1)) - l3new += np.transpose(tmp415, (3, 4, 5, 1, 2, 0)) - l3new += np.transpose(tmp415, (5, 4, 3, 1, 2, 0)) * -1 - l3new += np.transpose(tmp415, (3, 5, 4, 2, 1, 0)) - l3new += np.transpose(tmp415, (4, 5, 3, 2, 1, 0)) * -1 - del tmp415 - tmp106 = einsum(l2, (0, 1, 2, 3), t1, (4, 1), (2, 3, 4, 0)) - tmp416 = einsum(tmp106, (0, 1, 2, 3), v.ovov, (4, 5, 2, 6), (0, 1, 4, 3, 5, 6)) - l3new += np.transpose(tmp416, (3, 5, 4, 0, 1, 2)) * -1 - l3new += np.transpose(tmp416, (4, 5, 3, 0, 1, 2)) - l3new += np.transpose(tmp416, (3, 4, 5, 0, 2, 1)) * -1 - l3new += np.transpose(tmp416, (5, 4, 3, 0, 2, 1)) - l3new += np.transpose(tmp416, (4, 3, 5, 1, 0, 2)) - l3new += np.transpose(tmp416, (5, 3, 4, 1, 0, 2)) * -1 - l3new += np.transpose(tmp416, (4, 3, 5, 2, 0, 1)) * -1 - l3new += np.transpose(tmp416, (5, 3, 4, 2, 0, 1)) - l3new += np.transpose(tmp416, (3, 4, 5, 1, 2, 0)) - l3new += np.transpose(tmp416, (5, 4, 3, 1, 2, 0)) * -1 - l3new += np.transpose(tmp416, (3, 5, 4, 2, 1, 0)) - l3new += np.transpose(tmp416, (4, 5, 3, 2, 1, 0)) * -1 - del tmp416 - l3new += einsum(v.ovov, (0, 1, 2, 3), l1, (4, 5), (4, 1, 3, 5, 0, 2)) - l3new += einsum(v.ovov, (0, 1, 2, 3), l1, (4, 5), (3, 1, 4, 5, 0, 2)) * -1 - l3new += einsum(l1, (0, 1), v.ovov, (2, 3, 4, 5), (5, 0, 3, 2, 1, 4)) * -1 - l3new += einsum(l1, (0, 1), v.ovov, (2, 3, 4, 5), (3, 0, 5, 2, 1, 4)) - l3new += einsum(v.ovov, (0, 1, 2, 3), l1, (4, 5), (4, 3, 1, 0, 2, 5)) * -1 - l3new += einsum(l1, (0, 1), v.ovov, (2, 3, 4, 5), (3, 5, 0, 2, 4, 1)) - tmp13 = einsum(l3, (0, 1, 2, 3, 4, 5), t2, (5, 4, 6, 1), (3, 0, 2, 6)) - tmp156 = einsum(v.ovov, (0, 1, 2, 3), tmp13, (4, 5, 6, 3), (4, 0, 2, 5, 6, 1)) - tmp421 = np.copy(np.transpose(tmp156, (0, 1, 2, 4, 3, 5))) * -1 - tmp365 = einsum(t2, (0, 1, 2, 3), l3, (4, 2, 5, 6, 7, 1), (6, 7, 0, 4, 5, 3)) - tmp366 = einsum(tmp365, (0, 1, 2, 3, 4, 5), v.ovov, (6, 5, 2, 7), (0, 1, 6, 3, 4, 7)) - del tmp365 - tmp421 += np.transpose(tmp366, (0, 1, 2, 4, 3, 5)) - tmp311 = einsum(t1, (0, 1), v.ooov, (2, 3, 0, 1), (2, 3)) - tmp419 = np.copy(np.transpose(tmp311, (1, 0))) - tmp417 = einsum(t1, (0, 1), v.ovov, (2, 3, 0, 1), (2, 3)) - tmp418 = einsum(t1, (0, 1), tmp417, (2, 1), (0, 2)) - tmp419 += tmp418 - del tmp418 - tmp17 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * -1 - tmp17 += t2 * 2 - tmp312 = einsum(v.ovov, (0, 1, 2, 3), tmp17, (2, 4, 3, 1), (4, 0)) * 0.5 - tmp419 += tmp312 - tmp420 = einsum(tmp419, (0, 1), l3, (2, 3, 4, 5, 6, 0), (1, 5, 6, 2, 4, 3)) * -2 - del tmp419 - tmp421 += np.transpose(tmp420, (1, 2, 0, 4, 3, 5)) - del tmp420 - l3new += np.transpose(tmp421, (3, 5, 4, 0, 1, 2)) * -1 - l3new += np.transpose(tmp421, (3, 5, 4, 2, 1, 0)) - del tmp421 - tmp0 = einsum(l3, (0, 1, 2, 3, 4, 5), t2, (6, 5, 2, 1), (3, 4, 6, 0)) - tmp422 = einsum(v.ovov, (0, 1, 2, 3), tmp0, (4, 5, 2, 6), (4, 5, 0, 6, 1, 3)) - l3new += np.transpose(tmp422, (3, 4, 5, 0, 2, 1)) * 0.5 - l3new += np.transpose(tmp422, (5, 4, 3, 0, 2, 1)) * -0.5 - l3new += np.transpose(tmp422, (3, 4, 5, 1, 2, 0)) * -0.5 - l3new += np.transpose(tmp422, (5, 4, 3, 1, 2, 0)) * 0.5 - del tmp422 - tmp45 = einsum(t2, (0, 1, 2, 3), l3, (4, 2, 3, 5, 6, 1), (5, 6, 0, 4)) - tmp423 = einsum(v.ovov, (0, 1, 2, 3), tmp45, (4, 5, 2, 6), (4, 5, 0, 6, 1, 3)) - l3new += np.transpose(tmp423, (3, 5, 4, 0, 1, 2)) * -1 - l3new += np.transpose(tmp423, (4, 5, 3, 0, 1, 2)) - l3new += np.transpose(tmp423, (3, 4, 5, 0, 2, 1)) * -0.5 - l3new += np.transpose(tmp423, (5, 4, 3, 0, 2, 1)) * 0.5 - l3new += np.transpose(tmp423, (4, 3, 5, 1, 0, 2)) - l3new += np.transpose(tmp423, (5, 3, 4, 1, 0, 2)) * -1 - l3new += np.transpose(tmp423, (4, 3, 5, 2, 0, 1)) * -1 - l3new += np.transpose(tmp423, (5, 3, 4, 2, 0, 1)) - l3new += np.transpose(tmp423, (3, 4, 5, 1, 2, 0)) * 0.5 - l3new += np.transpose(tmp423, (5, 4, 3, 1, 2, 0)) * -0.5 - l3new += np.transpose(tmp423, (3, 5, 4, 2, 1, 0)) - l3new += np.transpose(tmp423, (4, 5, 3, 2, 1, 0)) * -1 - del tmp423 - tmp424 = einsum(t1, (0, 1), tmp240, (2, 3, 4, 0, 5, 1, 6, 7), (2, 3, 4, 5, 6, 7)) - tmp430 = np.copy(np.transpose(tmp424, (1, 0, 2, 3, 4, 5))) * -1 - del tmp424 - tmp355 = einsum(t2, (0, 1, 2, 3), l3, (4, 5, 2, 6, 1, 7), (6, 7, 0, 4, 5, 3)) - tmp364 = einsum(tmp355, (0, 1, 2, 3, 4, 5), v.ovov, (6, 5, 2, 7), (0, 1, 6, 3, 4, 7)) - tmp430 += np.transpose(tmp364, (1, 0, 2, 3, 4, 5)) - tmp425 = einsum(tmp417, (0, 1), tmp238, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 6, 1)) - del tmp417 - tmp430 += np.transpose(tmp425, (1, 0, 2, 3, 4, 5)) * -2 - del tmp425 - tmp389 = einsum(v.ovvv, (0, 1, 2, 3), t1, (0, 3), (1, 2)) - tmp427 = np.copy(tmp389) - tmp49 = np.copy(np.transpose(t2, (0, 1, 3, 2))) - tmp49 += t2 * -0.5 - tmp426 = einsum(v.ovov, (0, 1, 2, 3), tmp49, (0, 2, 4, 1), (4, 3)) * 2 - tmp427 += np.transpose(tmp426, (1, 0)) - del tmp426 - tmp428 = einsum(tmp427, (0, 1), l3, (2, 3, 1, 4, 5, 6), (4, 6, 5, 0, 2, 3)) * -1 - del tmp427 - tmp430 += np.transpose(tmp428, (1, 0, 2, 4, 5, 3)) - del tmp428 - tmp14 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * 3 - tmp14 += t2 * -1 - tmp54 = einsum(tmp14, (0, 1, 2, 3), l3, (4, 3, 2, 5, 0, 6), (1, 5, 6, 4)) * -1 - tmp429 = einsum(v.ovov, (0, 1, 2, 3), tmp54, (2, 4, 5, 6), (5, 4, 0, 6, 3, 1)) * 0.5 - tmp430 += np.transpose(tmp429, (1, 0, 2, 3, 5, 4)) * -1 - del tmp429 - l3new += np.transpose(tmp430, (3, 4, 5, 0, 2, 1)) * -1 - l3new += np.transpose(tmp430, (5, 4, 3, 0, 2, 1)) - del tmp430 - tmp12 = einsum(l3, (0, 1, 2, 3, 4, 5), t2, (3, 5, 2, 6), (4, 0, 1, 6)) * -1 - tmp183 = einsum(v.ovov, (0, 1, 2, 3), tmp12, (4, 5, 6, 3), (4, 0, 2, 5, 6, 1)) * -1 - l3new += np.transpose(tmp183, (3, 5, 4, 0, 1, 2)) * -1 - l3new += np.transpose(tmp183, (4, 3, 5, 0, 2, 1)) - l3new += np.transpose(tmp183, (5, 3, 4, 0, 2, 1)) * -1 - l3new += np.transpose(tmp183, (3, 4, 5, 1, 0, 2)) * -1 - l3new += np.transpose(tmp183, (5, 4, 3, 1, 0, 2)) - l3new += np.transpose(tmp183, (3, 4, 5, 2, 0, 1)) - l3new += np.transpose(tmp183, (5, 4, 3, 2, 0, 1)) * -1 - l3new += np.transpose(tmp183, (4, 3, 5, 1, 2, 0)) * -1 - l3new += np.transpose(tmp183, (5, 3, 4, 1, 2, 0)) - l3new += np.transpose(tmp183, (3, 5, 4, 2, 1, 0)) - tmp18 = einsum(l3, (0, 1, 2, 3, 4, 5), t2, (5, 4, 2, 6), (3, 0, 1, 6)) - tmp180 = einsum(v.ovov, (0, 1, 2, 3), tmp18, (4, 5, 6, 3), (4, 0, 2, 5, 6, 1)) - l3new += np.transpose(tmp180, (3, 5, 4, 0, 1, 2)) * -1 - l3new += np.transpose(tmp180, (3, 4, 5, 0, 2, 1)) * -1 - l3new += np.transpose(tmp180, (5, 4, 3, 0, 2, 1)) - l3new += np.transpose(tmp180, (4, 3, 5, 1, 0, 2)) - l3new += np.transpose(tmp180, (5, 3, 4, 1, 0, 2)) * -1 - l3new += np.transpose(tmp180, (4, 3, 5, 2, 0, 1)) * -1 - l3new += np.transpose(tmp180, (5, 3, 4, 2, 0, 1)) - l3new += np.transpose(tmp180, (3, 4, 5, 1, 2, 0)) - l3new += np.transpose(tmp180, (5, 4, 3, 1, 2, 0)) * -1 - l3new += np.transpose(tmp180, (3, 5, 4, 2, 1, 0)) - tmp44 = einsum(l3, (0, 1, 2, 3, 4, 5), t2, (6, 5, 2, 0), (3, 4, 6, 1)) * -1 - tmp431 = einsum(v.ovov, (0, 1, 2, 3), tmp44, (4, 5, 2, 6), (4, 5, 0, 6, 1, 3)) * -1 - l3new += np.transpose(tmp431, (4, 3, 5, 0, 1, 2)) * -1 - l3new += np.transpose(tmp431, (5, 3, 4, 0, 1, 2)) - l3new += np.transpose(tmp431, (3, 5, 4, 1, 0, 2)) - l3new += np.transpose(tmp431, (4, 5, 3, 1, 0, 2)) * -1 - l3new += np.transpose(tmp431, (3, 5, 4, 2, 0, 1)) * -1 - l3new += np.transpose(tmp431, (4, 5, 3, 2, 0, 1)) - l3new += np.transpose(tmp431, (4, 3, 5, 2, 1, 0)) - l3new += np.transpose(tmp431, (5, 3, 4, 2, 1, 0)) * -1 - del tmp431 - tmp65 = einsum(l3, (0, 1, 2, 3, 4, 5), t2, (5, 4, 6, 2), (3, 0, 1, 6)) - tmp181 = einsum(v.ovov, (0, 1, 2, 3), tmp65, (4, 5, 6, 3), (4, 0, 2, 5, 6, 1)) - l3new += np.transpose(tmp181, (3, 5, 4, 0, 1, 2)) - l3new += np.transpose(tmp181, (3, 5, 4, 2, 1, 0)) * -1 - tmp289 = einsum(v.vvvv, (0, 1, 2, 3), l3, (4, 3, 1, 5, 6, 7), (5, 7, 6, 4, 0, 2)) - tmp432 = np.copy(np.transpose(tmp289, (1, 0, 2, 3, 4, 5))) * -1 - tmp270 = einsum(t2, (0, 1, 2, 3), l3, (4, 3, 2, 5, 6, 7), (5, 7, 6, 0, 1, 4)) - tmp291 = einsum(tmp270, (0, 1, 2, 3, 4, 5), v.ovov, (3, 6, 4, 7), (0, 1, 2, 5, 6, 7)) - tmp432 += np.transpose(tmp291, (1, 0, 2, 3, 4, 5)) * -1 - tmp293 = einsum(tmp238, (0, 1, 2, 3, 4, 5), t1, (6, 5), (0, 1, 2, 3, 6, 4)) - tmp294 = einsum(tmp293, (0, 1, 2, 3, 4, 5), v.ovov, (4, 6, 3, 7), (0, 1, 2, 5, 7, 6)) - del tmp293 - tmp432 += np.transpose(tmp294, (1, 0, 2, 3, 4, 5)) * -1 - l3new += np.transpose(tmp432, (3, 5, 4, 0, 2, 1)) - l3new += np.transpose(tmp432, (4, 5, 3, 0, 2, 1)) * -1 - del tmp432 - tmp433 = np.copy(v.oooo) - tmp96 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 2, 5, 3), (0, 1, 4, 5)) - tmp433 += np.transpose(tmp96, (1, 3, 2, 0)) - tmp391 = einsum(t1, (0, 1), tmp187, (2, 3, 4, 1), (2, 0, 4, 3)) - tmp433 += np.transpose(tmp391, (1, 3, 2, 0)) - tmp434 = einsum(tmp433, (0, 1, 2, 3), l3, (4, 5, 6, 7, 0, 3), (1, 2, 7, 4, 6, 5)) * -1 - del tmp433 - l3new += np.transpose(tmp434, (4, 5, 3, 2, 0, 1)) - l3new += np.transpose(tmp434, (4, 5, 3, 1, 0, 2)) * -1 - del tmp434 - tmp329 = einsum(t2, (0, 1, 2, 3), l3, (4, 5, 2, 6, 7, 1), (6, 7, 0, 4, 5, 3)) - tmp435 = einsum(v.ovov, (0, 1, 2, 3), tmp329, (4, 5, 2, 6, 7, 3), (4, 5, 0, 6, 7, 1)) - tmp438 = np.copy(tmp435) - del tmp435 - tmp436 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1))) * 2 - tmp436 += np.transpose(v.ovov, (0, 2, 1, 3)) * -1 - tmp332 = einsum(l3, (0, 1, 2, 3, 4, 5), t2, (6, 5, 7, 2), (3, 4, 6, 0, 1, 7)) - tmp437 = einsum(tmp332, (0, 1, 2, 3, 4, 5), tmp436, (2, 6, 7, 5), (0, 1, 6, 3, 4, 7)) - del tmp436 - tmp438 += tmp437 * -1 - del tmp437 - l3new += np.transpose(tmp438, (3, 4, 5, 0, 1, 2)) * -1 - l3new += np.transpose(tmp438, (5, 4, 3, 0, 1, 2)) - l3new += np.transpose(tmp438, (3, 5, 4, 0, 2, 1)) * -1 - l3new += np.transpose(tmp438, (4, 3, 5, 1, 0, 2)) * -1 - l3new += np.transpose(tmp438, (5, 3, 4, 1, 0, 2)) - l3new += np.transpose(tmp438, (4, 3, 5, 2, 0, 1)) - l3new += np.transpose(tmp438, (5, 3, 4, 2, 0, 1)) * -1 - l3new += np.transpose(tmp438, (3, 5, 4, 1, 2, 0)) - l3new += np.transpose(tmp438, (3, 4, 5, 2, 1, 0)) - l3new += np.transpose(tmp438, (5, 4, 3, 2, 1, 0)) * -1 - del tmp438 - tmp439 = einsum(v.ovov, (0, 1, 2, 3), tmp329, (4, 5, 2, 6, 7, 1), (4, 5, 0, 6, 7, 3)) - l3new += np.transpose(tmp439, (3, 4, 5, 0, 1, 2)) - l3new += np.transpose(tmp439, (5, 4, 3, 0, 1, 2)) * -1 - l3new += np.transpose(tmp439, (3, 4, 5, 2, 1, 0)) * -1 - l3new += np.transpose(tmp439, (5, 4, 3, 2, 1, 0)) - del tmp439 - tmp239 = einsum(v.ovoo, (0, 1, 2, 3), tmp238, (4, 3, 5, 2, 6, 7), (4, 5, 0, 6, 7, 1)) - tmp440 = np.copy(tmp239) - tmp241 = einsum(t1, (0, 1), tmp240, (0, 2, 3, 4, 5, 6, 7, 1), (2, 3, 4, 5, 6, 7)) * -1 - tmp440 += tmp241 * -1 - tmp242 = einsum(tmp238, (0, 1, 2, 3, 4, 5), tmp187, (0, 6, 3, 7), (1, 2, 6, 4, 5, 7)) * -1 - tmp440 += tmp242 - l3new += np.transpose(tmp440, (3, 4, 5, 0, 1, 2)) * -1 - l3new += np.transpose(tmp440, (5, 4, 3, 0, 1, 2)) - l3new += np.transpose(tmp440, (3, 5, 4, 0, 2, 1)) * -1 - l3new += np.transpose(tmp440, (4, 3, 5, 1, 0, 2)) * -1 - l3new += np.transpose(tmp440, (5, 3, 4, 1, 0, 2)) - l3new += np.transpose(tmp440, (4, 3, 5, 2, 0, 1)) - l3new += np.transpose(tmp440, (5, 3, 4, 2, 0, 1)) * -1 - l3new += np.transpose(tmp440, (3, 5, 4, 1, 2, 0)) - l3new += np.transpose(tmp440, (3, 4, 5, 2, 1, 0)) - l3new += np.transpose(tmp440, (5, 4, 3, 2, 1, 0)) * -1 - del tmp440 - tmp441 = einsum(l3, (0, 1, 2, 3, 4, 5), f.vv, (6, 2), (3, 5, 4, 6, 0, 1)) - tmp443 = np.copy(np.transpose(tmp441, (1, 0, 2, 3, 4, 5))) * -1 - del tmp441 - tmp442 = einsum(t1, (0, 1), tmp369, (2, 3, 4, 0, 5, 1, 6, 7), (2, 3, 4, 5, 6, 7)) - tmp443 += np.transpose(tmp442, (1, 0, 2, 3, 4, 5)) * -1 - del tmp442 - l3new += np.transpose(tmp443, (3, 5, 4, 0, 2, 1)) * -1 - l3new += np.transpose(tmp443, (4, 5, 3, 0, 2, 1)) - del tmp443 - tmp136 = einsum(v.ovvv, (0, 1, 2, 3), l2, (4, 3, 5, 6), (5, 6, 0, 4, 1, 2)) - l3new += np.transpose(tmp136, (3, 5, 4, 0, 1, 2)) - l3new += np.transpose(tmp136, (4, 5, 3, 0, 1, 2)) * -1 - l3new += np.transpose(tmp136, (3, 4, 5, 0, 2, 1)) - l3new += np.transpose(tmp136, (5, 4, 3, 0, 2, 1)) * -1 - l3new += np.transpose(tmp136, (4, 3, 5, 1, 0, 2)) * -1 - l3new += np.transpose(tmp136, (5, 3, 4, 1, 0, 2)) - l3new += np.transpose(tmp136, (4, 3, 5, 2, 0, 1)) - l3new += np.transpose(tmp136, (5, 3, 4, 2, 0, 1)) * -1 - l3new += np.transpose(tmp136, (3, 4, 5, 1, 2, 0)) * -1 - l3new += np.transpose(tmp136, (5, 4, 3, 1, 2, 0)) - l3new += np.transpose(tmp136, (3, 5, 4, 2, 1, 0)) * -1 - l3new += np.transpose(tmp136, (4, 5, 3, 2, 1, 0)) - tmp344 = einsum(t1, (0, 1), tmp240, (2, 3, 4, 0, 1, 5, 6, 7), (2, 3, 4, 5, 6, 7)) - l3new += np.transpose(tmp344, (4, 3, 5, 1, 2, 0)) - l3new += np.transpose(tmp344, (5, 3, 4, 1, 2, 0)) * -1 - tmp134 = einsum(t1, (0, 1), v.ooov, (2, 3, 4, 1), (0, 2, 3, 4)) - tmp363 = einsum(tmp134, (0, 1, 2, 3), l3, (4, 5, 6, 7, 0, 1), (7, 2, 3, 4, 6, 5)) - l3new += np.transpose(tmp363, (4, 5, 3, 0, 2, 1)) * -1 - l3new += np.transpose(tmp363, (4, 5, 3, 1, 2, 0)) - tmp362 = einsum(l3, (0, 1, 2, 3, 4, 5), tmp134, (5, 6, 4, 7), (3, 6, 7, 0, 2, 1)) - l3new += np.transpose(tmp362, (4, 5, 3, 0, 1, 2)) * -1 - l3new += np.transpose(tmp362, (4, 5, 3, 2, 1, 0)) - tmp445 = np.copy(np.transpose(l3, (3, 5, 4, 0, 2, 1))) * -1 - tmp445 += np.transpose(l3, (3, 5, 4, 0, 1, 2)) - tmp445 += np.transpose(l3, (3, 4, 5, 0, 1, 2)) * -1 - tmp445 += np.transpose(l3, (4, 3, 5, 0, 1, 2)) - tmp444 = np.copy(np.transpose(l3, (3, 5, 4, 0, 2, 1))) * -1 - tmp444 += np.transpose(l3, (3, 5, 4, 1, 0, 2)) * -1 - tmp445 += einsum(tmp444, (0, 1, 2, 3, 4, 5), tmp49, (2, 6, 7, 5), (1, 0, 6, 4, 3, 7)) * 2 - del tmp444 - l3new += einsum(tmp445, (0, 1, 2, 3, 4, 5), v.ovov, (6, 7, 2, 5), (3, 7, 4, 1, 6, 0)) - del tmp445 - tmp447 = einsum(l3, (0, 1, 2, 3, 4, 5), t2, (6, 4, 7, 2), (3, 5, 6, 0, 1, 7)) - tmp446 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * -1 - tmp446 += t2 - tmp447 += einsum(l3, (0, 1, 2, 3, 4, 5), tmp446, (4, 6, 7, 1), (3, 5, 6, 0, 2, 7)) - del tmp446 - l3new += einsum(v.ovov, (0, 1, 2, 3), tmp447, (4, 5, 2, 6, 7, 1), (6, 3, 7, 5, 0, 4)) * -1 - del tmp447 - tmp449 = np.copy(np.transpose(tmp369, (1, 0, 2, 3, 5, 4, 7, 6))) - tmp448 = np.copy(np.transpose(l3, (3, 5, 4, 0, 2, 1))) - tmp448 += np.transpose(l3, (3, 5, 4, 1, 0, 2)) - tmp449 += einsum(tmp448, (0, 1, 2, 3, 4, 5), v.ovvv, (6, 7, 8, 3), (1, 0, 2, 6, 4, 5, 7, 8)) - del tmp448 - l3new += einsum(t1, (0, 1), tmp449, (2, 3, 0, 4, 5, 6, 7, 1), (5, 7, 6, 3, 4, 2)) - del tmp449 - tmp450 = np.copy(v.oooo) - tmp450 += np.transpose(tmp96, (1, 3, 0, 2)) - tmp450 += np.transpose(tmp391, (1, 2, 0, 3)) * -1 - tmp450 += np.transpose(tmp134, (2, 1, 0, 3)) - tmp450 += np.transpose(tmp134, (2, 3, 0, 1)) * -1 - l3new += einsum(tmp450, (0, 1, 2, 3), l3, (4, 5, 6, 0, 7, 2), (4, 5, 6, 1, 7, 3)) - del tmp450 - tmp451 = np.copy(tmp187) * -1 - tmp451 += np.transpose(tmp187, (0, 2, 1, 3)) - l3new += einsum(tmp451, (0, 1, 2, 3), tmp393, (4, 5, 0, 1, 6, 7), (7, 3, 6, 5, 2, 4)) * -1 - del tmp451 - tmp227 = einsum(t2, (0, 1, 2, 3), l3, (2, 4, 3, 5, 6, 7), (5, 7, 6, 0, 1, 4)) - tmp245 = np.copy(np.transpose(tmp227, (1, 0, 2, 4, 3, 5))) - tmp244 = einsum(tmp238, (0, 1, 2, 3, 4, 5), t1, (6, 4), (0, 1, 2, 3, 6, 5)) * -1 - del tmp238 - tmp245 += np.transpose(tmp244, (1, 0, 2, 4, 3, 5)) - del tmp244 - tmp246 = einsum(tmp245, (0, 1, 2, 3, 4, 5), v.ovov, (3, 6, 4, 7), (0, 1, 2, 5, 6, 7)) - del tmp245 - l3new += np.transpose(tmp246, (5, 3, 4, 1, 2, 0)) - tmp452 = np.copy(np.transpose(l3, (3, 5, 4, 0, 2, 1))) * -1 - tmp452 += np.transpose(l3, (3, 5, 4, 1, 0, 2)) * -1 - tmp453 = einsum(tmp452, (0, 1, 2, 3, 4, 5), t1, (6, 3), (1, 0, 2, 6, 4, 5)) * -1 - del tmp452 - l3new += einsum(v.ovoo, (0, 1, 2, 3), tmp453, (4, 5, 2, 3, 6, 7), (6, 1, 7, 5, 0, 4)) * -1 - del tmp453 - tmp454 = np.copy(f.vv) - tmp60 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * -0.5 - tmp60 += t2 - tmp454 += einsum(v.ovov, (0, 1, 2, 3), tmp60, (0, 2, 1, 4), (4, 3)) * -2 - tmp216 = np.copy(v.ovvv) * -0.5 - tmp216 += np.transpose(v.ovvv, (0, 2, 1, 3)) - tmp454 += einsum(tmp216, (0, 1, 2, 3), t1, (0, 2), (3, 1)) * 2 - l3new += einsum(l3, (0, 1, 2, 3, 4, 5), tmp454, (1, 6), (0, 6, 2, 3, 4, 5)) - del tmp454 - tmp221 = np.copy(f.oo) - tmp218 = einsum(v.ovov, (0, 1, 2, 3), tmp17, (2, 4, 3, 1), (4, 0)) - tmp221 += tmp218 - del tmp218 - tmp76 = np.copy(v.ooov) - tmp76 += np.transpose(v.ovoo, (0, 2, 3, 1)) * -0.5 - tmp219 = einsum(t1, (0, 1), tmp76, (2, 3, 0, 1), (2, 3)) * 2 - tmp221 += np.transpose(tmp219, (1, 0)) - del tmp219 - tmp214 = np.copy(f.ov) - tmp196 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1))) * -0.5 - tmp196 += np.transpose(v.ovov, (0, 2, 1, 3)) - tmp213 = einsum(tmp196, (0, 1, 2, 3), t1, (0, 2), (1, 3)) * 2 - tmp214 += tmp213 - tmp220 = einsum(t1, (0, 1), tmp214, (2, 1), (0, 2)) - tmp221 += tmp220 - del tmp220 - l3new += einsum(tmp221, (0, 1), l3, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) * -1 - tmp455 = np.copy(f.ov) - tmp204 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1))) * -1 - tmp204 += np.transpose(v.ovov, (0, 2, 1, 3)) * 2 - tmp383 = einsum(tmp204, (0, 1, 2, 3), t1, (0, 2), (1, 3)) - tmp455 += tmp383 - l3new += einsum(tmp455, (0, 1), tmp393, (2, 3, 4, 0, 5, 6), (6, 1, 5, 3, 4, 2)) * -1 - del tmp393 - tmp456 = np.copy(np.transpose(l2, (3, 2, 0, 1))) - tmp456 += np.transpose(l2, (2, 3, 0, 1)) * -1 - l3new += einsum(tmp456, (0, 1, 2, 3), tmp455, (4, 5), (2, 5, 3, 1, 4, 0)) - del tmp456 - l3new += einsum(tmp455, (0, 1), l2, (2, 3, 4, 5), (2, 3, 1, 0, 5, 4)) * -1 - l3new += einsum(l2, (0, 1, 2, 3), tmp455, (4, 5), (5, 0, 1, 3, 2, 4)) * -1 - del tmp455 - l3new += einsum(tmp214, (0, 1), l2, (2, 3, 4, 5), (2, 3, 1, 4, 5, 0)) - tmp457 = np.copy(f.ov) * 0.5 - tmp262 = einsum(tmp196, (0, 1, 2, 3), t1, (0, 2), (1, 3)) - tmp457 += tmp262 - l3new += einsum(l2, (0, 1, 2, 3), tmp457, (4, 5), (5, 0, 1, 4, 2, 3)) * 2 - del tmp457 - l1new = np.copy(np.transpose(f.ov, (1, 0))) - l1new += einsum(l2, (0, 1, 2, 3), v.ovvv, (3, 0, 4, 1), (4, 2)) * -1 - tmp1 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 2, 5, 3), (4, 0, 5, 1)) - l1new += einsum(tmp0, (0, 1, 2, 3), tmp1, (0, 2, 3, 4), (4, 1)) - del tmp1 - tmp2 = einsum(l3, (0, 1, 2, 3, 4, 5), t3, (3, 4, 5, 6, 7, 2), (0, 1, 6, 7)) - tmp4 = np.copy(tmp2) * 1.5 - tmp3 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * -1 - tmp3 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) * -4 - tmp3 += np.transpose(t3, (1, 0, 2, 3, 5, 4)) * -2 - tmp3 += np.transpose(t3, (1, 0, 2, 4, 3, 5)) * -2 - tmp4 += einsum(tmp3, (0, 1, 2, 3, 4, 5), l3, (6, 3, 7, 0, 2, 1), (6, 7, 4, 5)) * -0.5 - del tmp3 - l1new += einsum(tmp4, (0, 1, 2, 3), v.ovvv, (4, 2, 1, 3), (0, 4)) * -0.33333333333332 - del tmp4 - tmp5 = np.copy(v.ovvv) - tmp5 += np.transpose(v.ovvv, (0, 2, 3, 1)) * -1 - tmp6 = einsum(l3, (0, 1, 2, 3, 4, 5), t3, (3, 6, 5, 0, 7, 2), (4, 6, 1, 7)) - tmp11 = np.copy(tmp6) - del tmp6 - tmp7 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * -1 - tmp7 += np.transpose(t3, (0, 2, 1, 3, 4, 5)) * 0.2 - tmp7 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) * -0.2 - tmp7 += np.transpose(t3, (1, 0, 2, 3, 5, 4)) * -0.2 - tmp7 += np.transpose(t3, (1, 0, 2, 3, 4, 5)) * 0.2 - tmp8 = einsum(tmp7, (0, 1, 2, 3, 4, 5), l3, (6, 5, 3, 7, 2, 0), (1, 7, 4, 6)) * 5 - del tmp7 - tmp11 += np.transpose(tmp8, (1, 0, 3, 2)) * -1 - del tmp8 - tmp9 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) - tmp9 += np.transpose(t3, (0, 2, 1, 3, 4, 5)) * -1 - tmp9 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) - tmp10 = einsum(tmp9, (0, 1, 2, 3, 4, 5), l3, (6, 3, 4, 0, 7, 2), (1, 7, 5, 6)) - del tmp9 - tmp11 += np.transpose(tmp10, (1, 0, 3, 2)) - del tmp10 - l1new += einsum(tmp11, (0, 1, 2, 3), tmp5, (1, 3, 2, 4), (4, 0)) * 0.25 - tmp15 = np.copy(tmp12) - tmp15 += np.transpose(tmp13, (0, 2, 1, 3)) * 2 - tmp15 += einsum(tmp14, (0, 1, 2, 3), l3, (4, 5, 2, 6, 0, 1), (6, 4, 5, 3)) * -1 - l1new += einsum(v.vvvv, (0, 1, 2, 3), tmp15, (4, 1, 2, 3), (0, 4)) * -0.5 - del tmp15 - tmp22 = np.copy(np.transpose(tmp13, (0, 2, 1, 3))) * -1.3333333333333333 - tmp16 = np.copy(np.transpose(l3, (3, 5, 4, 0, 2, 1))) - tmp16 += np.transpose(l3, (3, 5, 4, 1, 0, 2)) - tmp16 += np.transpose(l3, (3, 4, 5, 0, 2, 1)) * -1 - tmp16 += np.transpose(l3, (3, 4, 5, 0, 1, 2)) - tmp22 += einsum(tmp16, (0, 1, 2, 3, 4, 5), t2, (0, 2, 5, 6), (1, 4, 3, 6)) * -0.6666666666666666 - tmp21 = np.copy(tmp12) * 3 - tmp21 += np.transpose(tmp18, (0, 2, 1, 3)) * 2 - tmp19 = np.copy(np.transpose(t2, (0, 1, 3, 2))) - tmp19 += t2 * -1 - tmp20 = einsum(l3, (0, 1, 2, 3, 4, 5), tmp19, (4, 5, 2, 6), (3, 6, 0, 1)) - tmp21 += np.transpose(tmp20, (0, 2, 3, 1)) * -1 - tmp22 += einsum(tmp21, (0, 1, 2, 3), tmp17, (0, 4, 2, 5), (4, 5, 1, 3)) * 0.3333333333333333 - l1new += einsum(tmp22, (0, 1, 2, 3), v.ovov, (4, 3, 0, 1), (2, 4)) * -1.5 - del tmp22 - tmp23 = np.copy(tmp12) * 3 - tmp23 += np.transpose(tmp20, (0, 2, 3, 1)) * -1 - del tmp20 - l1new += einsum(v.vvvv, (0, 1, 2, 3), tmp23, (4, 2, 1, 3), (0, 4)) * 0.5 - del tmp23 - tmp25 = np.copy(tmp2) - tmp24 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * -1 - tmp24 += np.transpose(t3, (1, 0, 2, 3, 5, 4)) * -2 - tmp25 += einsum(tmp24, (0, 1, 2, 3, 4, 5), l3, (6, 3, 7, 0, 2, 1), (6, 7, 4, 5)) * -0.33333333333333337 - del tmp24 - l1new += einsum(tmp25, (0, 1, 2, 3), v.ovvv, (4, 3, 0, 2), (1, 4)) * -0.49999999999997996 - del tmp25 - tmp30 = np.copy(v.oovv) - tmp28 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1))) * -1 - tmp28 += np.transpose(v.ovov, (0, 2, 1, 3)) - tmp30 += einsum(t2, (0, 1, 2, 3), tmp28, (1, 4, 2, 5), (0, 4, 3, 5)) * 0.5 - tmp29 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1))) * -1 - tmp29 += np.transpose(v.ovov, (0, 2, 1, 3)) * 2 - tmp30 += einsum(tmp29, (0, 1, 2, 3), t2, (4, 0, 5, 2), (4, 1, 5, 3)) * -0.5 - tmp26 = np.copy(np.transpose(l3, (3, 5, 4, 0, 2, 1))) - tmp26 += np.transpose(l3, (4, 3, 5, 0, 2, 1)) - tmp27 = einsum(t2, (0, 1, 2, 3), tmp26, (0, 1, 4, 5, 6, 3), (4, 5, 6, 2)) - del tmp26 - l1new += einsum(tmp27, (0, 1, 2, 3), tmp30, (0, 4, 2, 3), (1, 4)) * -1 - del tmp30 - tmp32 = np.copy(tmp12) * -1 - tmp32 += np.transpose(tmp12, (0, 2, 1, 3)) * 2 - tmp31 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * -0.3333333333333333 - tmp31 += t2 - tmp32 += einsum(tmp31, (0, 1, 2, 3), l3, (4, 5, 3, 6, 0, 1), (6, 4, 5, 2)) * 3 - tmp33 = einsum(t2, (0, 1, 2, 3), tmp32, (1, 4, 2, 5), (0, 4, 3, 5)) - del tmp32 - tmp33 += einsum(t2, (0, 1, 2, 3), tmp21, (1, 4, 3, 5), (0, 4, 2, 5)) - del tmp21 - l1new += einsum(v.ovov, (0, 1, 2, 3), tmp33, (2, 4, 1, 3), (4, 0)) * 0.5 - del tmp33 - tmp37 = np.copy(np.transpose(l2, (2, 3, 0, 1))) * 1.6 - tmp34 = einsum(t3, (0, 1, 2, 3, 4, 5), l3, (6, 5, 4, 7, 2, 1), (7, 0, 6, 3)) - tmp37 += tmp34 - tmp35 = np.copy(np.transpose(l3, (3, 5, 4, 0, 2, 1))) - tmp35 += np.transpose(l3, (4, 3, 5, 0, 2, 1)) * 2 - tmp37 += einsum(t3, (0, 1, 2, 3, 4, 5), tmp35, (0, 2, 6, 3, 7, 5), (6, 1, 7, 4)) * -0.2 - tmp36 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * 0.5 - tmp36 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) - tmp37 += einsum(l3, (0, 1, 2, 3, 4, 5), tmp36, (3, 6, 5, 0, 2, 7), (4, 6, 1, 7)) * -0.4 - l1new += einsum(v.ovvv, (0, 1, 2, 3), tmp37, (4, 0, 3, 1), (2, 4)) * 1.25 - del tmp37 - tmp42 = np.copy(np.transpose(l2, (3, 2, 0, 1))) * 2 - tmp42 += np.transpose(l2, (2, 3, 0, 1)) * -1 - tmp38 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 0, 5, 3), (4, 5, 1, 2)) - tmp41 = np.copy(tmp38) - del tmp38 - tmp39 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * -1 - tmp39 += t2 * 2 - tmp40 = einsum(v.ovvv, (0, 1, 2, 3), tmp39, (0, 4, 1, 5), (4, 5, 2, 3)) - tmp41 += np.transpose(tmp40, (0, 1, 3, 2)) * -1 - l1new += einsum(tmp41, (0, 1, 2, 3), tmp42, (0, 4, 3, 1), (2, 4)) * -1 - tmp43 = np.copy(v.oovv) - tmp43 += einsum(t2, (0, 1, 2, 3), tmp28, (1, 4, 2, 5), (0, 4, 3, 5)) * 0.75 - del tmp28 - tmp43 += einsum(tmp29, (0, 1, 2, 3), t2, (4, 0, 5, 2), (4, 1, 5, 3)) * -0.75 - del tmp29 - l1new += einsum(tmp43, (0, 1, 2, 3), tmp13, (0, 2, 4, 3), (4, 1)) * 2 - del tmp43 - tmp50 = np.copy(np.transpose(tmp44, (0, 2, 1, 3))) * 2 - tmp50 += einsum(t3, (0, 1, 2, 3, 4, 5), l2, (5, 4, 2, 6), (6, 0, 1, 3)) * -1 - tmp50 += einsum(t2, (0, 1, 2, 3), tmp0, (1, 4, 5, 2), (4, 5, 0, 3)) - tmp50 += np.transpose(tmp0, (0, 2, 1, 3)) - tmp50 += np.transpose(tmp0, (1, 2, 0, 3)) * -1 - tmp50 += np.transpose(tmp45, (0, 2, 1, 3)) * -1 - tmp50 += np.transpose(tmp45, (1, 2, 0, 3)) * 3 - tmp46 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * 3 - tmp46 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) - tmp46 += np.transpose(t3, (1, 0, 2, 4, 3, 5)) * 2 - tmp50 += einsum(l2, (0, 1, 2, 3), tmp46, (2, 4, 5, 0, 1, 6), (3, 4, 5, 6)) - del tmp46 - tmp47 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * -1 - tmp47 += t2 * 3 - tmp50 += einsum(l3, (0, 1, 2, 3, 4, 5), tmp47, (4, 6, 1, 2), (3, 6, 5, 0)) * -1 - tmp48 = np.copy(tmp0) - tmp48 += tmp44 * 2 - tmp48 += tmp45 * -1 - tmp48 += np.transpose(tmp45, (1, 0, 2, 3)) * 3 - tmp50 += einsum(tmp49, (0, 1, 2, 3), tmp48, (4, 0, 5, 3), (4, 5, 1, 2)) * 2 - del tmp48 - l1new += einsum(tmp50, (0, 1, 2, 3), v.ovov, (1, 4, 2, 3), (4, 0)) * -0.5 - del tmp50 - tmp51 = np.copy(v.ooov) * -1 - tmp51 += np.transpose(v.ovoo, (0, 2, 3, 1)) - l1new += einsum(tmp51, (0, 1, 2, 3), tmp11, (1, 0, 4, 3), (4, 2)) * -0.25 - del tmp51 - tmp55 = np.copy(tmp44) * 2 - tmp55 += tmp0 - tmp55 += np.transpose(tmp0, (1, 0, 2, 3)) * -1 - tmp55 += tmp45 * -1 - tmp55 += np.transpose(tmp45, (1, 0, 2, 3)) * 3 - tmp55 += np.transpose(tmp54, (2, 1, 0, 3)) * -1 - tmp53 = np.copy(v.oovv) * -1 - tmp52 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 2, 1, 5), (0, 4, 3, 5)) - tmp53 += tmp52 - l1new += einsum(tmp53, (0, 1, 2, 3), tmp55, (0, 4, 1, 2), (3, 4)) * 0.5 - tmp56 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovov, (6, 4, 2, 5), (0, 1, 6, 3)) - tmp61 = np.copy(np.transpose(tmp56, (1, 0, 2, 3))) * -0.25 - tmp61 += np.transpose(v.ooov, (0, 2, 1, 3)) * -0.5 - tmp61 += np.transpose(v.ovoo, (0, 2, 3, 1)) - tmp57 = einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 2, 5, 3), (0, 1, 4, 5)) - tmp61 += tmp57 * -0.5 - tmp61 += np.transpose(tmp57, (1, 0, 2, 3)) - tmp58 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * 0.5 - tmp58 += np.transpose(t3, (0, 2, 1, 3, 4, 5)) * -1.5 - tmp58 += np.transpose(t3, (1, 0, 2, 3, 5, 4)) - tmp61 += einsum(tmp58, (0, 1, 2, 3, 4, 5), v.ovov, (6, 3, 0, 5), (2, 1, 6, 4)) * 0.5 - del tmp58 - tmp59 = np.copy(v.ooov) * -1 - tmp59 += np.transpose(v.ovoo, (0, 2, 3, 1)) * 2 - tmp61 += einsum(tmp59, (0, 1, 2, 3), tmp60, (0, 4, 3, 5), (4, 1, 2, 5)) - l1new += einsum(l2, (0, 1, 2, 3), tmp61, (3, 2, 4, 1), (0, 4)) * -2 - del tmp61 - tmp64 = np.copy(tmp34) - tmp62 = einsum(l3, (0, 1, 2, 3, 4, 5), t3, (3, 6, 5, 7, 1, 2), (4, 6, 0, 7)) - tmp64 += tmp62 * 2 - tmp63 = einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 4, 5, 0, 7, 2), (3, 6, 1, 7)) - tmp64 += tmp63 * 2 - l1new += einsum(tmp64, (0, 1, 2, 3), v.ovvv, (1, 4, 2, 3), (4, 0)) * -0.25 - del tmp64 - tmp70 = einsum(l2, (0, 1, 2, 3), t3, (4, 5, 3, 0, 6, 1), (2, 4, 5, 6)) * 0.3333333333333333 - tmp70 += einsum(tmp13, (0, 1, 2, 3), t2, (4, 5, 1, 2), (0, 4, 5, 3)) * -0.6666666666666666 - tmp66 = einsum(t2, (0, 1, 2, 3), tmp65, (4, 2, 3, 5), (4, 0, 1, 5)) - tmp70 += tmp66 * 0.3333333333333333 - tmp70 += np.transpose(tmp66, (0, 2, 1, 3)) * -0.3333333333333333 - del tmp66 - tmp67 = einsum(t2, (0, 1, 2, 3), tmp18, (4, 2, 3, 5), (4, 0, 1, 5)) - tmp70 += tmp67 * -0.3333333333333333 - tmp70 += np.transpose(tmp67, (0, 2, 1, 3)) - del tmp67 - tmp68 = einsum(t2, (0, 1, 2, 3), tmp12, (4, 2, 3, 5), (4, 0, 1, 5)) - tmp70 += tmp68 - tmp70 += np.transpose(tmp68, (0, 2, 1, 3)) * -0.3333333333333333 - del tmp68 - tmp69 = np.copy(np.transpose(l2, (3, 2, 0, 1))) * -0.3333333333333333 - tmp69 += np.transpose(l2, (2, 3, 0, 1)) - tmp70 += einsum(tmp69, (0, 1, 2, 3), t3, (4, 5, 0, 6, 3, 2), (1, 4, 5, 6)) * -1 - del tmp69 - l1new += einsum(v.ovov, (0, 1, 2, 3), tmp70, (4, 0, 2, 1), (3, 4)) * 1.5 - del tmp70 - tmp73 = np.copy(np.transpose(tmp44, (1, 0, 2, 3))) * 0.6666666666666666 - tmp73 += tmp45 - tmp73 += np.transpose(tmp45, (1, 0, 2, 3)) * -0.3333333333333333 - tmp73 += tmp0 * -0.3333333333333333 - tmp73 += np.transpose(tmp0, (1, 0, 2, 3)) * 0.3333333333333333 - tmp72 = np.copy(np.transpose(t2, (0, 1, 3, 2))) - tmp72 += t2 * -0.3333333333333333 - tmp73 += einsum(l3, (0, 1, 2, 3, 4, 5), tmp72, (4, 6, 2, 1), (3, 5, 6, 0)) - tmp71 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 3, 1, 5), (0, 4, 2, 5)) - l1new += einsum(tmp71, (0, 1, 2, 3), tmp73, (0, 4, 1, 2), (3, 4)) * 1.5 - del tmp73 - tmp74 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovov, (6, 3, 2, 5), (0, 1, 6, 4)) - tmp77 = np.copy(np.transpose(tmp74, (1, 0, 2, 3))) * 0.5 - tmp75 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1))) * -0.3333333333333333 - tmp75 += np.transpose(v.ovov, (0, 2, 1, 3)) - tmp77 += einsum(t3, (0, 1, 2, 3, 4, 5), tmp75, (2, 6, 5, 4), (1, 0, 6, 3)) * -1.5 - tmp77 += einsum(tmp59, (0, 1, 2, 3), t2, (4, 0, 5, 3), (4, 1, 2, 5)) - del tmp59 - tmp77 += einsum(t2, (0, 1, 2, 3), tmp76, (1, 4, 5, 2), (0, 4, 5, 3)) * 2 - del tmp76 - l1new += einsum(l2, (0, 1, 2, 3), tmp77, (2, 3, 4, 1), (0, 4)) - del tmp77 - tmp79 = np.copy(np.transpose(l2, (3, 2, 0, 1))) * -1 - tmp79 += np.transpose(l2, (2, 3, 0, 1)) * 2 - tmp78 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 2), (0, 3, 4, 5)) - l1new += einsum(tmp79, (0, 1, 2, 3), tmp78, (0, 3, 4, 2), (4, 1)) * -1 - del tmp79 - tmp80 = np.copy(np.transpose(l3, (3, 5, 4, 0, 2, 1))) - tmp80 += np.transpose(l3, (3, 4, 5, 0, 1, 2)) - tmp81 = einsum(tmp80, (0, 1, 2, 3, 4, 5), t2, (0, 2, 3, 6), (1, 4, 5, 6)) - del tmp80 - l1new += einsum(v.oovv, (0, 1, 2, 3), tmp81, (1, 4, 2, 3), (4, 0)) * -1 - tmp84 = np.copy(tmp34) * 5 - tmp82 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp35, (0, 2, 6, 3, 7, 5), (6, 1, 7, 4)) * -1 - tmp84 += tmp82 - del tmp82 - tmp83 = einsum(tmp36, (0, 1, 2, 3, 4, 5), l3, (3, 6, 4, 0, 7, 2), (1, 7, 5, 6)) * -2 - tmp84 += np.transpose(tmp83, (1, 0, 3, 2)) - del tmp83 - l1new += einsum(v.ooov, (0, 1, 2, 3), tmp84, (1, 2, 4, 3), (4, 0)) * -0.25 - tmp85 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * 2 - tmp85 += t2 * -1 - tmp86 = einsum(v.ovov, (0, 1, 2, 3), tmp85, (2, 4, 5, 3), (4, 0, 5, 1)) * 0.5 - l1new += einsum(tmp54, (0, 1, 2, 3), tmp86, (2, 0, 3, 4), (4, 1)) * -1 - del tmp86 - tmp87 = np.copy(tmp34) * 0.5 - tmp87 += tmp62 - tmp87 += tmp63 - l1new += einsum(v.ovoo, (0, 1, 2, 3), tmp87, (3, 2, 4, 1), (4, 0)) * 0.5 - tmp88 = einsum(l2, (0, 1, 2, 3), t2, (4, 5, 0, 1), (2, 3, 4, 5)) - tmp93 = np.copy(np.transpose(tmp88, (1, 0, 2, 3))) * 24 - tmp93 += np.transpose(tmp88, (1, 0, 3, 2)) * -12 - tmp89 = einsum(t3, (0, 1, 2, 3, 4, 5), l3, (3, 5, 4, 6, 7, 2), (6, 7, 0, 1)) - tmp93 += tmp89 * 2 - tmp93 += np.transpose(tmp89, (1, 0, 2, 3)) * -2 - tmp90 = einsum(t3, (0, 1, 2, 3, 4, 5), l3, (3, 4, 5, 6, 7, 2), (6, 7, 0, 1)) - tmp93 += tmp90 * -1 - tmp93 += np.transpose(tmp90, (1, 0, 2, 3)) * 7 - tmp91 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) - tmp91 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) * 0.5 - tmp92 = einsum(l3, (0, 1, 2, 3, 4, 5), tmp91, (4, 6, 7, 1, 0, 2), (6, 7, 3, 5)) * -2 - del tmp91 - tmp93 += np.transpose(tmp92, (3, 2, 0, 1)) * -1 - l1new += einsum(tmp93, (0, 1, 2, 3), v.ooov, (3, 0, 2, 4), (4, 1)) * 0.08333333333333 - del tmp93 - tmp95 = einsum(l3, (0, 1, 2, 3, 4, 5), tmp31, (5, 6, 2, 1), (3, 4, 6, 0)) * -1 - tmp94 = einsum(tmp14, (0, 1, 2, 3), l3, (4, 3, 2, 5, 0, 6), (1, 5, 6, 4)) * -0.3333333333333333 - del tmp14 - tmp95 += np.transpose(tmp94, (2, 1, 0, 3)) * -1 - tmp97 = np.copy(v.oooo) - tmp97 += np.transpose(tmp96, (1, 3, 2, 0)) - l1new += einsum(tmp95, (0, 1, 2, 3), tmp97, (1, 2, 4, 0), (3, 4)) * -1.5 - del tmp95 - tmp99 = np.copy(tmp90) - tmp99 += np.transpose(tmp90, (1, 0, 2, 3)) * -0.14285714285714288 - tmp99 += tmp89 * -0.28571428571428575 - tmp99 += np.transpose(tmp89, (1, 0, 2, 3)) * 0.28571428571428575 - tmp98 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * 6 - tmp98 += np.transpose(t3, (1, 0, 2, 3, 5, 4)) - tmp98 += np.transpose(t3, (1, 0, 2, 4, 3, 5)) * 2 - tmp99 += einsum(tmp98, (0, 1, 2, 3, 4, 5), l3, (3, 5, 4, 6, 2, 7), (6, 7, 1, 0)) * -0.14285714285714288 - del tmp98 - l1new += einsum(tmp99, (0, 1, 2, 3), v.ooov, (2, 0, 3, 4), (4, 1)) * 0.58333333333331 - del tmp99 - tmp101 = np.copy(tmp44) * 2 - tmp100 = einsum(l3, (0, 1, 2, 3, 4, 5), tmp19, (5, 6, 2, 1), (6, 3, 4, 0)) - tmp101 += np.transpose(tmp100, (1, 2, 0, 3)) - del tmp100 - tmp102 = np.copy(v.oooo) - tmp102 += np.transpose(tmp96, (1, 3, 0, 2)) - l1new += einsum(tmp101, (0, 1, 2, 3), tmp102, (1, 4, 0, 2), (3, 4)) * 0.5 - tmp191 = einsum(tmp18, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 1), (0, 4, 2, 5)) * -2 - tmp191 += einsum(tmp12, (0, 1, 2, 3), v.ovvv, (4, 3, 5, 1), (0, 4, 2, 5)) * -2 - tmp103 = einsum(t3, (0, 1, 2, 3, 4, 5), l3, (3, 4, 5, 6, 1, 7), (6, 7, 0, 2)) - tmp191 += einsum(v.ovov, (0, 1, 2, 3), tmp103, (4, 5, 2, 0), (5, 4, 1, 3)) - del tmp103 - tmp110 = np.copy(np.transpose(v.ovov, (0, 2, 1, 3))) * 4 - tmp104 = einsum(l2, (0, 1, 2, 3), v.vvvv, (4, 0, 5, 1), (2, 3, 4, 5)) - tmp110 += np.transpose(tmp104, (1, 0, 3, 2)) * 4 - tmp105 = einsum(tmp102, (0, 1, 2, 3), l2, (4, 5, 0, 2), (1, 3, 4, 5)) * 4 - tmp110 += tmp105 - del tmp105 - tmp108 = np.copy(np.transpose(tmp88, (1, 0, 3, 2))) - del tmp88 - tmp107 = einsum(t1, (0, 1), tmp106, (2, 3, 4, 1), (2, 3, 0, 4)) - tmp108 += np.transpose(tmp107, (1, 0, 3, 2)) - del tmp107 - tmp109 = einsum(tmp108, (0, 1, 2, 3), v.ovov, (2, 4, 3, 5), (0, 1, 5, 4)) * 4 - tmp110 += np.transpose(tmp109, (1, 0, 2, 3)) - del tmp109 - tmp191 += np.transpose(tmp110, (0, 1, 3, 2)) * -1 - tmp191 += tmp110 * 0.5 - del tmp110 - tmp111 = einsum(v.ooov, (0, 1, 2, 3), tmp12, (1, 4, 5, 3), (0, 2, 4, 5)) * -1 - tmp133 = np.copy(tmp111) * 2 - tmp112 = einsum(v.ovvv, (0, 1, 2, 3), tmp18, (4, 5, 3, 2), (4, 0, 5, 1)) - tmp133 += tmp112 * 2 - del tmp112 - tmp113 = einsum(v.ovvv, (0, 1, 2, 3), tmp12, (4, 5, 3, 1), (4, 0, 5, 2)) * -1 - tmp133 += tmp113 * -2 - del tmp113 - tmp114 = einsum(t1, (0, 1), tmp44, (2, 3, 4, 1), (2, 3, 0, 4)) - tmp115 = einsum(v.ovov, (0, 1, 2, 3), tmp114, (4, 5, 0, 2), (4, 5, 1, 3)) * -1 - del tmp114 - tmp133 += tmp115 * 2 - tmp116 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1))) - tmp116 += np.transpose(v.ovov, (0, 2, 1, 3)) * -1 - tmp117 = einsum(tmp11, (0, 1, 2, 3), tmp116, (1, 4, 3, 5), (0, 4, 2, 5)) * 0.5 - del tmp11 - tmp133 += tmp117 * -1 - del tmp117 - tmp118 = np.copy(np.transpose(l2, (3, 2, 0, 1))) * -0.5 - tmp118 += np.transpose(l2, (2, 3, 0, 1)) - tmp120 = np.copy(np.transpose(v.ovov, (0, 2, 1, 3))) - tmp120 += tmp71 * -1 - tmp119 = einsum(v.ovov, (0, 1, 2, 3), tmp85, (2, 4, 5, 3), (4, 0, 5, 1)) - del tmp85 - tmp120 += tmp119 - del tmp119 - tmp121 = einsum(tmp118, (0, 1, 2, 3), tmp120, (0, 4, 2, 5), (1, 4, 3, 5)) * 4 - del tmp118, tmp120 - tmp133 += tmp121 - del tmp121 - tmp122 = einsum(v.ovov, (0, 1, 2, 3), tmp84, (4, 2, 5, 3), (4, 0, 5, 1)) * 0.5 - del tmp84 - tmp133 += tmp122 - del tmp122 - tmp123 = np.copy(np.transpose(l2, (3, 2, 0, 1))) * 2 - tmp123 += np.transpose(l2, (2, 3, 0, 1)) * -1 - tmp124 = einsum(tmp123, (0, 1, 2, 3), tmp53, (0, 4, 2, 5), (4, 1, 5, 3)) * 2 - del tmp53, tmp123 - tmp133 += np.transpose(tmp124, (1, 0, 3, 2)) * -1 - del tmp124 - tmp125 = einsum(v.ovov, (0, 1, 2, 3), tmp87, (4, 2, 5, 1), (4, 0, 5, 3)) - del tmp87 - tmp133 += tmp125 * -1 - del tmp125 - tmp127 = np.copy(v.ooov) * -1 - tmp127 += np.transpose(v.ooov, (0, 2, 1, 3)) - tmp126 = np.copy(tmp0) * -1 - tmp126 += np.transpose(tmp0, (1, 0, 2, 3)) - tmp126 += np.transpose(tmp54, (2, 1, 0, 3)) - tmp128 = einsum(tmp126, (0, 1, 2, 3), tmp127, (0, 4, 2, 5), (1, 4, 3, 5)) - del tmp126, tmp127 - tmp133 += tmp128 - del tmp128 - tmp129 = np.copy(tmp44) - tmp129 += tmp45 * -0.5 - tmp129 += np.transpose(tmp45, (1, 0, 2, 3)) * 1.5 - tmp130 = einsum(v.ooov, (0, 1, 2, 3), tmp129, (4, 1, 2, 5), (0, 4, 3, 5)) * 2 - del tmp129 - tmp133 += np.transpose(tmp130, (1, 0, 3, 2)) * -1 - del tmp130 - tmp131 = np.copy(tmp44) * 0.6666666666666666 - tmp131 += tmp45 * -0.3333333333333333 - tmp131 += np.transpose(tmp45, (1, 0, 2, 3)) - tmp132 = einsum(v.ovoo, (0, 1, 2, 3), tmp131, (2, 4, 3, 5), (0, 4, 1, 5)) * 3 - del tmp131 - tmp133 += np.transpose(tmp132, (1, 0, 3, 2)) * -1 - del tmp132 - tmp191 += tmp133 - tmp191 += np.transpose(tmp133, (1, 0, 3, 2)) - del tmp133 - tmp135 = einsum(l2, (0, 1, 2, 3), tmp134, (2, 3, 4, 5), (4, 5, 0, 1)) - tmp191 += tmp135 * -4 - tmp191 += np.transpose(tmp135, (0, 1, 3, 2)) * 2 - tmp191 += np.transpose(tmp135, (1, 0, 2, 3)) * 2 - tmp191 += np.transpose(tmp135, (1, 0, 3, 2)) * -4 - tmp137 = einsum(t1, (0, 1), tmp136, (2, 3, 0, 1, 4, 5), (2, 3, 4, 5)) - tmp191 += tmp137 * -2 - tmp191 += np.transpose(tmp137, (0, 1, 3, 2)) * 4 - tmp191 += np.transpose(tmp137, (1, 0, 2, 3)) * 4 - tmp191 += np.transpose(tmp137, (1, 0, 3, 2)) * -2 - del tmp137 - tmp138 = einsum(t3, (0, 1, 2, 3, 4, 5), l3, (3, 6, 5, 0, 1, 2), (6, 4)) - tmp142 = np.copy(tmp138) * 1.5 - tmp139 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) - tmp139 += np.transpose(t3, (0, 2, 1, 3, 4, 5)) * -1 - tmp139 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) - tmp139 += np.transpose(t3, (1, 0, 2, 3, 5, 4)) * 0.5 - tmp139 += np.transpose(t3, (1, 0, 2, 3, 4, 5)) * -0.5 - tmp139 += np.transpose(t3, (1, 0, 2, 4, 3, 5)) * 3.4999999999999996 - tmp140 = einsum(tmp139, (0, 1, 2, 3, 4, 5), l3, (6, 3, 5, 1, 0, 2), (4, 6)) - tmp142 += np.transpose(tmp140, (1, 0)) - del tmp140 - tmp141 = einsum(l2, (0, 1, 2, 3), tmp49, (3, 2, 4, 1), (0, 4)) * 12 - tmp142 += tmp141 - del tmp141 - tmp143 = einsum(v.ovov, (0, 1, 2, 3), tmp142, (4, 1), (0, 2, 4, 3)) * 0.66666666666664 - tmp191 += np.transpose(tmp143, (1, 0, 2, 3)) - tmp191 += tmp143 * -0.5 - del tmp143 - tmp144 = einsum(v.ooov, (0, 1, 2, 3), tmp18, (1, 4, 5, 3), (0, 2, 4, 5)) * -1 - tmp147 = np.copy(tmp144) * 2 - tmp145 = einsum(tmp44, (0, 1, 2, 3), v.ovvv, (2, 4, 5, 3), (0, 1, 4, 5)) * -1 - tmp147 += tmp145 * -2 - tmp146 = einsum(v.ovov, (0, 1, 2, 3), tmp2, (4, 5, 1, 3), (0, 2, 4, 5)) * -1 - del tmp2 - tmp147 += tmp146 - tmp191 += np.transpose(tmp147, (0, 1, 3, 2)) - tmp191 += np.transpose(tmp147, (1, 0, 2, 3)) - del tmp147 - tmp148 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * -0.5 - tmp148 += np.transpose(t3, (1, 0, 2, 3, 5, 4)) * -1 - tmp149 = einsum(tmp148, (0, 1, 2, 3, 4, 5), l3, (6, 3, 7, 0, 2, 1), (4, 5, 6, 7)) - del tmp148 - tmp150 = einsum(tmp149, (0, 1, 2, 3), v.ovov, (4, 1, 5, 0), (4, 5, 3, 2)) * 0.66666666666664 - del tmp149 - tmp155 = np.copy(np.transpose(tmp150, (1, 0, 3, 2))) - del tmp150 - tmp151 = einsum(l3, (0, 1, 2, 3, 4, 5), t2, (3, 5, 1, 6), (4, 0, 2, 6)) * -1 - tmp153 = np.copy(np.transpose(tmp151, (0, 2, 1, 3))) * -1 - del tmp151 - tmp152 = einsum(tmp60, (0, 1, 2, 3), l3, (4, 2, 5, 6, 0, 1), (6, 3, 4, 5)) * -2 - tmp153 += np.transpose(tmp152, (0, 3, 2, 1)) - del tmp152 - tmp154 = einsum(v.ooov, (0, 1, 2, 3), tmp153, (1, 4, 5, 3), (0, 2, 4, 5)) * 2 - tmp155 += np.transpose(tmp154, (0, 1, 3, 2)) - del tmp154 - tmp191 += tmp155 * -1 - tmp191 += np.transpose(tmp155, (1, 0, 2, 3)) - del tmp155 - tmp157 = einsum(tmp156, (0, 1, 2, 3, 4, 5), t1, (2, 3), (0, 1, 4, 5)) * -1 - tmp159 = np.copy(tmp157) * 2 - del tmp157 - tmp158 = einsum(tmp5, (0, 1, 2, 3), tmp13, (4, 2, 5, 3), (0, 4, 1, 5)) * 2 - del tmp5 - tmp159 += np.transpose(tmp158, (1, 0, 3, 2)) - del tmp158 - tmp191 += tmp159 * -1 - tmp191 += np.transpose(tmp159, (1, 0, 3, 2)) * -2 - del tmp159 - tmp160 = einsum(tmp18, (0, 1, 2, 3), v.ovvv, (4, 3, 5, 1), (0, 4, 2, 5)) * -1 - tmp162 = np.copy(tmp160) * 4 - del tmp160 - tmp161 = einsum(tmp12, (0, 1, 2, 3), v.ovvv, (4, 5, 3, 1), (0, 4, 2, 5)) - tmp162 += tmp161 * -4 - del tmp161 - tmp191 += tmp162 * -1 - tmp191 += np.transpose(tmp162, (1, 0, 3, 2)) * -0.5 - del tmp162 - tmp163 = einsum(v.ovvv, (0, 1, 2, 3), tmp45, (4, 5, 0, 3), (4, 5, 1, 2)) * -1 - tmp191 += tmp163 * -3 - tmp191 += np.transpose(tmp163, (0, 1, 3, 2)) - tmp191 += np.transpose(tmp163, (1, 0, 2, 3)) - tmp191 += np.transpose(tmp163, (1, 0, 3, 2)) * -3 - tmp164 = einsum(v.ovvv, (0, 1, 2, 3), tmp0, (4, 5, 0, 3), (4, 5, 1, 2)) * -1 - tmp168 = np.copy(tmp164) - del tmp164 - tmp165 = einsum(tmp89, (0, 1, 2, 3), v.ovov, (3, 4, 2, 5), (0, 1, 5, 4)) * -1 - del tmp89 - tmp168 += tmp165 * 0.33333333333332 - del tmp165 - tmp166 = einsum(t1, (0, 1), tmp0, (2, 3, 4, 1), (2, 3, 0, 4)) - del tmp0 - tmp167 = einsum(tmp166, (0, 1, 2, 3), v.ovov, (2, 4, 3, 5), (0, 1, 4, 5)) - del tmp166 - tmp168 += tmp167 * -1 - del tmp167 - tmp191 += tmp168 - tmp191 += np.transpose(tmp168, (0, 1, 3, 2)) * -1 - tmp191 += np.transpose(tmp168, (1, 0, 2, 3)) * -1 - tmp191 += np.transpose(tmp168, (1, 0, 3, 2)) - del tmp168 - tmp169 = einsum(tmp54, (0, 1, 2, 3), v.ovvv, (0, 4, 5, 3), (2, 1, 4, 5)) - tmp171 = np.copy(np.transpose(tmp169, (1, 0, 2, 3))) - del tmp169 - tmp170 = einsum(v.ovov, (0, 1, 2, 3), tmp92, (0, 2, 4, 5), (5, 4, 1, 3)) * 0.16666666666666 - del tmp92 - tmp171 += np.transpose(tmp170, (1, 0, 2, 3)) - del tmp170 - tmp191 += tmp171 * -1 - tmp191 += np.transpose(tmp171, (0, 1, 3, 2)) - del tmp171 - tmp172 = einsum(tmp90, (0, 1, 2, 3), v.ovov, (3, 4, 2, 5), (0, 1, 5, 4)) * -1 - del tmp90 - tmp191 += tmp172 * -0.16666666666666 - tmp191 += np.transpose(tmp172, (0, 1, 3, 2)) * 1.16666666666662 - tmp191 += np.transpose(tmp172, (1, 0, 2, 3)) * 1.16666666666662 - tmp191 += np.transpose(tmp172, (1, 0, 3, 2)) * -0.16666666666666 - tmp173 = einsum(v.ovov, (0, 1, 2, 3), tmp81, (4, 5, 6, 1), (4, 0, 2, 5, 6, 3)) - tmp174 = einsum(tmp173, (0, 1, 2, 3, 4, 5), t1, (1, 4), (0, 2, 3, 5)) * 3 - del tmp173 - tmp191 += tmp174 * -1 - tmp191 += np.transpose(tmp174, (1, 0, 3, 2)) * -0.6666666666666666 - del tmp174 - tmp175 = einsum(t1, (0, 1), tmp45, (2, 3, 4, 1), (2, 3, 0, 4)) - tmp176 = einsum(v.ovov, (0, 1, 2, 3), tmp175, (4, 5, 0, 2), (4, 5, 1, 3)) - del tmp175 - tmp191 += tmp176 - tmp191 += np.transpose(tmp176, (0, 1, 3, 2)) * -3 - tmp191 += np.transpose(tmp176, (1, 0, 2, 3)) * -3 - tmp191 += np.transpose(tmp176, (1, 0, 3, 2)) - tmp177 = einsum(t1, (0, 1), tmp94, (2, 3, 4, 1), (0, 4, 3, 2)) * 3 - del tmp94 - tmp178 = einsum(tmp177, (0, 1, 2, 3), v.ovov, (0, 4, 3, 5), (2, 1, 5, 4)) * -1 - del tmp177 - tmp191 += np.transpose(tmp178, (1, 0, 3, 2)) * -1 - tmp191 += np.transpose(tmp178, (1, 0, 2, 3)) - del tmp178 - tmp179 = np.copy(v.ovvv) * -1 - tmp179 += np.transpose(v.ovvv, (0, 2, 3, 1)) - tmp191 += einsum(tmp179, (0, 1, 2, 3), tmp27, (4, 5, 2, 1), (0, 4, 3, 5)) * 2 - tmp184 = np.copy(np.transpose(tmp156, (0, 1, 2, 4, 3, 5))) * -1 - del tmp156 - tmp184 += np.transpose(tmp136, (0, 1, 2, 4, 3, 5)) * 0.5 - tmp184 += np.transpose(tmp136, (0, 1, 2, 5, 3, 4)) * -1 - tmp184 += tmp180 * 0.5 - tmp184 += np.transpose(tmp180, (1, 2, 0, 3, 5, 4)) * -0.25 - tmp184 += np.transpose(tmp181, (1, 2, 0, 3, 5, 4)) * 0.25 - tmp184 += np.transpose(tmp181, (1, 2, 0, 4, 5, 3)) * -0.25 - del tmp181 - tmp182 = einsum(tmp27, (0, 1, 2, 3), v.ovov, (4, 3, 5, 6), (0, 4, 5, 2, 1, 6)) * 0.5 - del tmp27 - tmp184 += np.transpose(tmp182, (0, 2, 1, 4, 3, 5)) - tmp184 += np.transpose(tmp182, (0, 1, 2, 4, 3, 5)) * -1 - del tmp182 - tmp184 += np.transpose(tmp183, (0, 1, 2, 4, 3, 5)) * -0.5 - tmp184 += np.transpose(tmp183, (1, 2, 0, 4, 5, 3)) * 0.25 - tmp191 += einsum(tmp184, (0, 1, 2, 3, 4, 5), t1, (1, 3), (2, 0, 5, 4)) * -4 - del tmp184 - tmp191 += einsum(tmp65, (0, 1, 2, 3), tmp179, (4, 5, 1, 3), (0, 4, 2, 5)) * -2 - del tmp65, tmp179 - tmp185 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) - tmp185 += np.transpose(t3, (1, 0, 2, 3, 5, 4)) * 0.5 - tmp186 = einsum(tmp185, (0, 1, 2, 3, 4, 5), l3, (6, 5, 7, 0, 2, 1), (6, 7, 4, 3)) * -1 - del tmp185 - tmp191 += einsum(tmp186, (0, 1, 2, 3), v.ovov, (4, 2, 5, 3), (4, 5, 1, 0)) * -1.33333333333328 - del tmp186 - tmp188 = np.copy(tmp106) - tmp188 += einsum(l3, (0, 1, 2, 3, 4, 5), tmp47, (5, 6, 2, 1), (3, 4, 6, 0)) * 0.25 - del tmp47 - tmp188 += einsum(l3, (0, 1, 2, 3, 4, 5), tmp72, (4, 6, 2, 1), (3, 5, 6, 0)) * 0.75 - del tmp72 - tmp191 += einsum(tmp188, (0, 1, 2, 3), tmp187, (1, 4, 2, 5), (4, 0, 5, 3)) * -4 - del tmp188 - tmp189 = np.copy(tmp106) * -1 - tmp189 += tmp44 - tmp189 += einsum(l3, (0, 1, 2, 3, 4, 5), tmp19, (5, 6, 2, 1), (3, 4, 6, 0)) * 0.5 - del tmp19 - tmp191 += einsum(tmp187, (0, 1, 2, 3), tmp189, (4, 0, 1, 5), (2, 4, 3, 5)) * -2 - del tmp189 - tmp190 = np.copy(tmp106) * -1 - tmp190 += np.transpose(tmp106, (1, 0, 2, 3)) * 2 - tmp191 += einsum(tmp190, (0, 1, 2, 3), v.ovoo, (4, 5, 0, 2), (1, 4, 3, 5)) * -2 - del tmp190 - l1new += einsum(tmp191, (0, 1, 2, 3), t1, (1, 2), (3, 0)) * -0.5 - del tmp191 - tmp192 = np.copy(v.ovvv) - tmp192 += np.transpose(v.ovvv, (0, 2, 1, 3)) * -0.5 - l1new += einsum(tmp142, (0, 1), tmp192, (2, 3, 1, 0), (3, 2)) * 0.33333333333332 - del tmp192 - tmp195 = einsum(l2, (0, 1, 2, 3), t3, (4, 2, 3, 5, 1, 0), (4, 5)) * -1 - tmp193 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * 0.3333333333333333 - tmp193 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) - tmp193 += np.transpose(t3, (0, 1, 2, 3, 5, 4)) * -0.3333333333333333 - tmp195 += einsum(l2, (0, 1, 2, 3), tmp193, (3, 4, 2, 0, 1, 5), (4, 5)) * 3 - del tmp193 - tmp195 += einsum(t2, (0, 1, 2, 3), tmp101, (0, 1, 4, 3), (4, 2)) * -1 - del tmp101 - tmp194 = einsum(l3, (0, 1, 2, 3, 4, 5), tmp31, (5, 6, 2, 1), (3, 4, 6, 0)) * -3 - del tmp31 - tmp194 += np.transpose(tmp54, (2, 1, 0, 3)) * -1 - del tmp54 - tmp195 += einsum(tmp194, (0, 1, 2, 3), t2, (0, 1, 3, 4), (2, 4)) - del tmp194 - l1new += einsum(tmp196, (0, 1, 2, 3), tmp195, (0, 2), (3, 1)) - del tmp196, tmp195 - tmp203 = np.copy(tmp187) * 2 - tmp203 += np.transpose(tmp187, (0, 2, 1, 3)) * -1 - tmp197 = einsum(l1, (0, 1), t1, (2, 0), (1, 2)) - tmp202 = np.copy(tmp197) * 6 - tmp198 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * -1 - tmp198 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) * -3.4999999999999996 - tmp198 += np.transpose(t3, (1, 0, 2, 3, 5, 4)) * -1 - tmp198 += np.transpose(t3, (1, 0, 2, 4, 3, 5)) * -0.5 - tmp199 = einsum(l3, (0, 1, 2, 3, 4, 5), tmp198, (5, 6, 4, 1, 0, 2), (6, 3)) - tmp202 += np.transpose(tmp199, (1, 0)) - tmp200 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * -2 - tmp200 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) * -1 - tmp200 += np.transpose(t3, (0, 1, 2, 4, 3, 5)) * 3 - tmp201 = einsum(tmp200, (0, 1, 2, 3, 4, 5), l3, (4, 3, 5, 0, 6, 2), (1, 6)) * 0.5 - tmp202 += np.transpose(tmp201, (1, 0)) - tmp202 += einsum(tmp60, (0, 1, 2, 3), l2, (2, 3, 0, 4), (4, 1)) * 12 - l1new += einsum(tmp202, (0, 1), tmp203, (0, 2, 1, 3), (3, 2)) * -0.16666666666666 - del tmp202, tmp203 - tmp206 = np.copy(np.transpose(v.ovov, (0, 2, 1, 3))) * 2 - tmp206 += v.oovv * -1 - tmp206 += einsum(tmp39, (0, 1, 2, 3), tmp204, (0, 4, 2, 5), (1, 4, 3, 5)) - del tmp204, tmp39 - tmp205 = np.copy(v.ovvv) * -1 - tmp205 += np.transpose(v.ovvv, (0, 2, 1, 3)) * 2 - tmp206 += einsum(tmp205, (0, 1, 2, 3), t1, (4, 1), (4, 0, 3, 2)) - del tmp205 - l1new += einsum(l1, (0, 1), tmp206, (1, 2, 0, 3), (3, 2)) - del tmp206 - tmp208 = np.copy(v.ooov) * -1 - tmp208 += np.transpose(v.ooov, (0, 2, 1, 3)) * 2 - tmp207 = np.copy(np.transpose(tmp199, (1, 0))) - del tmp199 - tmp207 += np.transpose(tmp201, (1, 0)) - del tmp201 - l1new += einsum(tmp207, (0, 1), tmp208, (0, 2, 1, 3), (3, 2)) * -0.16666666666666 - del tmp207, tmp208 - tmp211 = np.copy(v.ooov) * -0.5 - tmp211 += np.transpose(v.ooov, (0, 2, 1, 3)) - tmp210 = np.copy(tmp197) - tmp209 = einsum(tmp60, (0, 1, 2, 3), l2, (2, 3, 0, 4), (4, 1)) * 2 - tmp210 += tmp209 - l1new += einsum(tmp211, (0, 1, 2, 3), tmp210, (0, 2), (3, 1)) * -2 - del tmp211, tmp210 - tmp212 = np.copy(tmp138) * 0.124999999999995 - del tmp138 - tmp212 += einsum(tmp139, (0, 1, 2, 3, 4, 5), l3, (6, 3, 5, 1, 0, 2), (6, 4)) * 0.08333333333333 - del tmp139 - tmp212 += einsum(l2, (0, 1, 2, 3), tmp49, (3, 2, 4, 1), (0, 4)) - del tmp49 - l1new += einsum(tmp214, (0, 1), tmp212, (2, 1), (2, 0)) * -2 - del tmp212 - tmp215 = np.copy(tmp197) - tmp215 += einsum(tmp198, (0, 1, 2, 3, 4, 5), l3, (4, 3, 5, 6, 2, 0), (6, 1)) * 0.16666666666666 - tmp215 += einsum(l3, (0, 1, 2, 3, 4, 5), tmp200, (3, 6, 5, 1, 0, 2), (4, 6)) * 0.08333333333333 - tmp215 += tmp209 - del tmp209 - l1new += einsum(tmp215, (0, 1), tmp214, (1, 2), (2, 0)) * -1 - del tmp214, tmp215 - tmp217 = np.copy(f.vv) * 0.5 - tmp217 += einsum(v.ovov, (0, 1, 2, 3), tmp60, (0, 2, 1, 4), (4, 3)) * -1 - tmp217 += einsum(tmp216, (0, 1, 2, 3), t1, (0, 2), (3, 1)) - del tmp216 - l1new += einsum(l1, (0, 1), tmp217, (0, 2), (2, 1)) * 2 - del tmp217 - l1new += einsum(tmp221, (0, 1), l1, (2, 0), (2, 1)) * -1 - del tmp221 - l2new = np.copy(np.transpose(tmp104, (3, 2, 1, 0))) - del tmp104 - l2new += np.transpose(v.ovov, (1, 3, 0, 2)) - tmp222 = einsum(l2, (0, 1, 2, 3), f.oo, (4, 3), (4, 2, 0, 1)) - tmp265 = np.copy(tmp222) - del tmp222 - tmp223 = einsum(tmp187, (0, 1, 2, 3), l1, (4, 0), (1, 2, 4, 3)) - tmp265 += tmp223 - del tmp223 - tmp224 = einsum(v.ovvv, (0, 1, 2, 3), l3, (1, 4, 3, 5, 6, 0), (5, 6, 4, 2)) - tmp265 += tmp224 - del tmp224 - tmp225 = einsum(f.ov, (0, 1), tmp18, (2, 3, 4, 1), (0, 2, 3, 4)) - tmp265 += tmp225 - del tmp225 - tmp226 = einsum(f.ov, (0, 1), tmp45, (2, 3, 0, 4), (2, 3, 1, 4)) - tmp265 += tmp226 - del tmp226 - tmp265 += tmp111 - del tmp111 - tmp228 = einsum(v.ooov, (0, 1, 2, 3), tmp227, (4, 0, 5, 1, 2, 6), (4, 5, 6, 3)) - del tmp227 - tmp265 += tmp228 - del tmp228 - tmp265 += tmp163 * -1 - del tmp163 - tmp265 += tmp115 - del tmp115 - tmp231 = np.copy(np.transpose(v.ooov, (0, 2, 1, 3))) * 2 - tmp231 += tmp57 * 2 - tmp231 += tmp56 * -1 - tmp229 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) - tmp229 += np.transpose(t3, (0, 2, 1, 3, 4, 5)) * -1 - tmp229 += np.transpose(t3, (1, 0, 2, 3, 5, 4)) - tmp230 = einsum(tmp229, (0, 1, 2, 3, 4, 5), v.ovov, (6, 3, 0, 5), (1, 2, 6, 4)) - del tmp229 - tmp231 += tmp230 - del tmp230 - tmp232 = einsum(tmp231, (0, 1, 2, 3), l3, (4, 5, 3, 0, 6, 1), (2, 6, 4, 5)) * 0.49999999999998 - del tmp231 - tmp265 += np.transpose(tmp232, (1, 0, 2, 3)) - del tmp232 - tmp233 = einsum(t3, (0, 1, 2, 3, 4, 5), l3, (3, 6, 5, 7, 8, 2), (7, 8, 0, 1, 6, 4)) - tmp234 = einsum(tmp233, (0, 1, 2, 3, 4, 5), tmp75, (2, 3, 6, 5), (0, 1, 6, 4)) * 0.74999999999997 - del tmp75, tmp233 - tmp265 += np.transpose(tmp234, (0, 1, 3, 2)) - del tmp234 - tmp235 = einsum(t3, (0, 1, 2, 3, 4, 5), l3, (5, 6, 4, 7, 8, 2), (7, 8, 0, 1, 6, 3)) - tmp236 = einsum(tmp116, (0, 1, 2, 3), tmp235, (4, 5, 0, 1, 6, 3), (4, 5, 2, 6)) * 0.49999999999998 - del tmp116, tmp235 - tmp265 += np.transpose(tmp236, (0, 1, 3, 2)) * -1 - del tmp236 - tmp247 = np.copy(np.transpose(tmp237, (1, 0, 2, 5, 3, 4))) * -1 - del tmp237 - tmp247 += np.transpose(tmp239, (0, 2, 1, 3, 4, 5)) - tmp247 += np.transpose(tmp241, (1, 0, 2, 5, 3, 4)) * -1 - del tmp241 - tmp247 += tmp180 - tmp247 += np.transpose(tmp242, (1, 0, 2, 5, 3, 4)) - del tmp242 - tmp247 += np.transpose(tmp183, (0, 1, 2, 4, 3, 5)) * -1 - tmp247 += np.transpose(tmp183, (1, 0, 2, 5, 3, 4)) * -1 - tmp243 = einsum(tmp102, (0, 1, 2, 3), l3, (4, 5, 6, 0, 7, 2), (1, 3, 7, 4, 6, 5)) - del tmp102 - tmp247 += np.transpose(tmp243, (2, 0, 1, 4, 3, 5)) * -1 - del tmp243 - tmp247 += np.transpose(tmp246, (1, 0, 2, 5, 3, 4)) * -1 - del tmp246 - tmp248 = einsum(tmp247, (0, 1, 2, 3, 4, 5), t1, (1, 3), (0, 2, 4, 5)) - del tmp247 - tmp265 += tmp248 * -1 - del tmp248 - tmp249 = einsum(v.ovvv, (0, 1, 2, 3), tmp81, (4, 3, 5, 1), (4, 0, 5, 2)) - tmp265 += tmp249 - del tmp249 - tmp250 = np.copy(tmp62) - del tmp62 - tmp250 += tmp63 - del tmp63 - tmp251 = einsum(tmp250, (0, 1, 2, 3), v.ovov, (4, 3, 1, 5), (0, 4, 2, 5)) * 0.49999999999998 - del tmp250 - tmp265 += tmp251 * -1 - del tmp251 - tmp252 = np.copy(np.transpose(l3, (3, 5, 4, 0, 2, 1))) * -1 - tmp252 += np.transpose(l3, (3, 4, 5, 0, 1, 2)) * -1 - tmp253 = einsum(t2, (0, 1, 2, 3), tmp252, (1, 4, 5, 3, 6, 2), (4, 5, 0, 6)) - del tmp252 - tmp254 = einsum(v.ooov, (0, 1, 2, 3), tmp253, (1, 4, 2, 5), (0, 4, 3, 5)) * -1 - tmp265 += np.transpose(tmp254, (1, 0, 3, 2)) * -1 - del tmp254 - tmp255 = einsum(tmp253, (0, 1, 2, 3), tmp187, (0, 2, 4, 5), (4, 1, 5, 3)) * -1 - tmp265 += np.transpose(tmp255, (1, 0, 3, 2)) * -1 - del tmp255 - tmp256 = einsum(v.ovov, (0, 1, 2, 3), tmp142, (4, 1), (0, 2, 4, 3)) * 0.16666666666666 - del tmp142 - tmp265 += np.transpose(tmp256, (1, 0, 2, 3)) - del tmp256 - tmp260 = np.copy(tmp197) * 12 - del tmp197 - tmp257 = einsum(l3, (0, 1, 2, 3, 4, 5), tmp198, (5, 6, 4, 1, 0, 2), (6, 3)) * 2 - del tmp198 - tmp260 += np.transpose(tmp257, (1, 0)) - del tmp257 - tmp258 = einsum(tmp200, (0, 1, 2, 3, 4, 5), l3, (4, 3, 5, 0, 6, 2), (1, 6)) - del tmp200 - tmp260 += np.transpose(tmp258, (1, 0)) - del tmp258 - tmp259 = einsum(tmp60, (0, 1, 2, 3), l2, (2, 3, 0, 4), (4, 1)) * 24 - del tmp60 - tmp260 += tmp259 - del tmp259 - tmp261 = einsum(tmp260, (0, 1), v.ovov, (2, 3, 1, 4), (0, 2, 4, 3)) * 0.08333333333333 - del tmp260 - tmp265 += np.transpose(tmp261, (0, 1, 3, 2)) - del tmp261 - tmp263 = einsum(tmp262, (0, 1), tmp12, (2, 3, 4, 1), (0, 2, 3, 4)) * 2 - tmp265 += np.transpose(tmp263, (1, 0, 2, 3)) - del tmp263 - tmp264 = einsum(tmp213, (0, 1), tmp44, (2, 3, 0, 4), (2, 3, 4, 1)) - tmp265 += tmp264 - del tmp264 - l2new += np.transpose(tmp265, (3, 2, 0, 1)) * -1 - l2new += np.transpose(tmp265, (2, 3, 1, 0)) * -1 - del tmp265 - tmp266 = einsum(v.ooov, (0, 1, 2, 3), l1, (4, 1), (0, 2, 4, 3)) - tmp316 = np.copy(tmp266) - del tmp266 - tmp267 = einsum(l3, (0, 1, 2, 3, 4, 5), v.ovvv, (5, 2, 6, 1), (3, 4, 0, 6)) - tmp316 += tmp267 * -1 - del tmp267 - tmp268 = einsum(f.ov, (0, 1), tmp12, (2, 3, 4, 1), (0, 2, 3, 4)) - del tmp12 - tmp316 += tmp268 - del tmp268 - tmp269 = einsum(f.ov, (0, 1), tmp44, (2, 3, 0, 4), (2, 3, 1, 4)) - del tmp44 - tmp316 += tmp269 - del tmp269 - tmp316 += tmp144 - del tmp144 - tmp271 = einsum(v.ooov, (0, 1, 2, 3), tmp270, (4, 0, 5, 1, 2, 6), (4, 5, 6, 3)) - del tmp270 - tmp316 += tmp271 * -1 - del tmp271 - tmp316 += tmp145 * -1 - del tmp145 - tmp316 += tmp146 * 0.49999999999997996 - del tmp146 - tmp272 = einsum(t3, (0, 1, 2, 3, 4, 5), l3, (6, 4, 5, 7, 8, 2), (7, 8, 0, 1, 6, 3)) - tmp273 = einsum(v.ovov, (0, 1, 2, 3), tmp272, (4, 5, 2, 0, 6, 3), (4, 5, 6, 1)) - del tmp272 - tmp316 += tmp273 - del tmp273 - tmp274 = einsum(t3, (0, 1, 2, 3, 4, 5), l3, (6, 5, 4, 7, 8, 1), (7, 8, 0, 2, 6, 3)) - tmp275 = einsum(v.ovov, (0, 1, 2, 3), tmp274, (4, 5, 2, 0, 6, 1), (4, 5, 6, 3)) * -1 - del tmp274 - tmp316 += tmp275 - del tmp275 - tmp316 += tmp172 * 0.49999999999997996 - del tmp172 - tmp316 += tmp176 * -1 - del tmp176 - tmp276 = np.copy(np.transpose(v.ovoo, (0, 2, 3, 1))) - tmp276 += np.transpose(tmp57, (1, 0, 2, 3)) - del tmp57 - tmp276 += tmp56 - del tmp56 - tmp276 += np.transpose(tmp74, (1, 0, 2, 3)) - del tmp74 - tmp277 = einsum(l3, (0, 1, 2, 3, 4, 5), tmp276, (5, 4, 6, 2), (6, 3, 0, 1)) - del tmp276 - tmp316 += np.transpose(tmp277, (1, 0, 2, 3)) - del tmp277 - tmp279 = np.copy(np.transpose(tmp13, (0, 2, 1, 3))) * -2 - del tmp13 - tmp278 = einsum(tmp16, (0, 1, 2, 3, 4, 5), t2, (0, 2, 5, 6), (1, 3, 4, 6)) - del tmp16 - tmp279 += np.transpose(tmp278, (0, 2, 1, 3)) * -1 - del tmp278 - tmp280 = einsum(tmp279, (0, 1, 2, 3), v.ovvv, (4, 5, 2, 3), (0, 4, 1, 5)) - del tmp279 - tmp316 += tmp280 * -1 - del tmp280 - tmp281 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * 0.4 - tmp281 += np.transpose(t3, (0, 1, 2, 3, 5, 4)) * -0.2 - tmp281 += t3 - tmp281 += np.transpose(t3, (0, 1, 2, 4, 3, 5)) * -0.2 - tmp281 += np.transpose(t3, (1, 0, 2, 3, 5, 4)) * 0.2 - tmp281 += np.transpose(t3, (1, 0, 2, 3, 4, 5)) * -0.2 - tmp281 += np.transpose(t3, (1, 0, 2, 4, 3, 5)) - tmp282 = einsum(l3, (0, 1, 2, 3, 4, 5), tmp281, (4, 5, 6, 1, 2, 7), (6, 3, 7, 0)) * 5 - del tmp281 - tmp287 = np.copy(np.transpose(tmp282, (1, 0, 3, 2))) - del tmp282 - tmp283 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) - tmp283 += np.transpose(t3, (0, 2, 1, 3, 4, 5)) * -1 - tmp283 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) - tmp283 += np.transpose(t3, (0, 1, 2, 3, 5, 4)) * -1 - tmp284 = einsum(tmp283, (0, 1, 2, 3, 4, 5), l3, (6, 3, 4, 0, 7, 2), (1, 7, 5, 6)) - del tmp283 - tmp287 += np.transpose(tmp284, (1, 0, 3, 2)) - del tmp284 - tmp285 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * 0.5 - tmp285 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) - tmp285 += np.transpose(t3, (0, 1, 2, 3, 5, 4)) * -0.5 - tmp286 = einsum(tmp285, (0, 1, 2, 3, 4, 5), l3, (3, 6, 4, 0, 7, 2), (1, 7, 5, 6)) * -2 - del tmp285 - tmp287 += np.transpose(tmp286, (1, 0, 3, 2)) - del tmp286 - tmp288 = einsum(v.ovov, (0, 1, 2, 3), tmp287, (4, 2, 5, 3), (4, 0, 5, 1)) * 0.24999999999999 - del tmp287 - tmp316 += tmp288 * -1 - del tmp288 - tmp297 = np.copy(np.transpose(tmp289, (1, 0, 2, 4, 3, 5))) - del tmp289 - tmp297 += np.transpose(tmp239, (0, 2, 1, 4, 3, 5)) * -1 - del tmp239 - tmp297 += np.transpose(tmp290, (1, 0, 2, 5, 3, 4)) * -1 - del tmp290 - tmp297 += np.transpose(tmp291, (1, 0, 2, 4, 3, 5)) - del tmp291 - tmp297 += np.transpose(tmp292, (1, 0, 2, 5, 3, 4)) - del tmp292 - tmp297 += np.transpose(tmp294, (1, 0, 2, 4, 3, 5)) - del tmp294 - tmp297 += tmp183 - tmp297 += np.transpose(tmp183, (0, 2, 1, 3, 4, 5)) * -1 - del tmp183 - tmp297 += np.transpose(tmp180, (0, 1, 2, 4, 3, 5)) * -1 - tmp297 += np.transpose(tmp180, (0, 2, 1, 4, 3, 5)) - tmp297 += np.transpose(tmp180, (1, 0, 2, 5, 3, 4)) * -1 - del tmp180 - tmp295 = einsum(tmp97, (0, 1, 2, 3), l3, (4, 5, 6, 7, 0, 3), (1, 2, 7, 4, 6, 5)) * -1 - del tmp97 - tmp297 += np.transpose(tmp295, (2, 1, 0, 4, 3, 5)) - del tmp295 - tmp296 = einsum(tmp153, (0, 1, 2, 3), v.ovov, (4, 5, 6, 3), (0, 4, 6, 1, 2, 5)) - del tmp153 - tmp297 += np.transpose(tmp296, (0, 2, 1, 4, 3, 5)) - del tmp296 - tmp298 = einsum(tmp297, (0, 1, 2, 3, 4, 5), t1, (1, 3), (0, 2, 4, 5)) - del tmp297 - tmp316 += tmp298 - del tmp298 - tmp299 = einsum(v.ovvv, (0, 1, 2, 3), tmp81, (4, 5, 3, 1), (4, 0, 5, 2)) - del tmp81 - tmp316 += tmp299 - del tmp299 - tmp302 = np.copy(tmp34) * 2 - del tmp34 - tmp300 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp35, (0, 2, 6, 3, 7, 5), (6, 1, 7, 4)) * -0.5 - del tmp35 - tmp302 += tmp300 - del tmp300 - tmp301 = einsum(tmp36, (0, 1, 2, 3, 4, 5), l3, (3, 6, 4, 0, 7, 2), (1, 7, 5, 6)) * -1 - del tmp36 - tmp302 += np.transpose(tmp301, (1, 0, 3, 2)) - del tmp301 - tmp303 = einsum(tmp302, (0, 1, 2, 3), v.ovov, (4, 3, 1, 5), (0, 4, 2, 5)) * 0.49999999999998 - del tmp302 - tmp316 += tmp303 - del tmp303 - tmp304 = einsum(tmp55, (0, 1, 2, 3), v.ovoo, (4, 5, 0, 2), (4, 1, 5, 3)) * 0.5 - tmp316 += np.transpose(tmp304, (1, 0, 3, 2)) - del tmp304 - tmp305 = einsum(tmp55, (0, 1, 2, 3), tmp187, (0, 4, 2, 5), (4, 1, 5, 3)) * 0.5 - del tmp55 - tmp316 += np.transpose(tmp305, (1, 0, 3, 2)) - del tmp305 - tmp306 = einsum(tmp253, (0, 1, 2, 3), tmp187, (1, 2, 4, 5), (4, 0, 5, 3)) * -1 - tmp316 += np.transpose(tmp306, (1, 0, 3, 2)) * -1 - del tmp306 - tmp307 = einsum(tmp253, (0, 1, 2, 3), v.ooov, (4, 1, 2, 5), (4, 0, 5, 3)) * -1 - del tmp253 - tmp316 += np.transpose(tmp307, (1, 0, 3, 2)) * -1 - del tmp307 - tmp308 = einsum(tmp213, (0, 1), tmp18, (2, 3, 4, 1), (0, 2, 3, 4)) - del tmp18, tmp213 - tmp316 += np.transpose(tmp308, (1, 0, 2, 3)) - del tmp308 - tmp309 = einsum(tmp17, (0, 1, 2, 3), v.ovov, (0, 2, 1, 4), (3, 4)) * 0.5 - del tmp17 - tmp310 = einsum(l2, (0, 1, 2, 3), tmp309, (1, 4), (3, 2, 0, 4)) * 2 - del tmp309 - tmp316 += np.transpose(tmp310, (1, 0, 2, 3)) - del tmp310 - tmp313 = np.copy(np.transpose(tmp311, (1, 0))) - del tmp311 - tmp313 += tmp312 - del tmp312 - tmp314 = einsum(tmp313, (0, 1), l2, (2, 3, 0, 4), (4, 1, 2, 3)) * 2 - del tmp313 - tmp316 += np.transpose(tmp314, (0, 1, 3, 2)) - del tmp314 - tmp315 = einsum(tmp45, (0, 1, 2, 3), tmp262, (2, 4), (0, 1, 3, 4)) * 2 - del tmp45, tmp262 - tmp316 += tmp315 - del tmp315 - l2new += np.transpose(tmp316, (2, 3, 0, 1)) * -1 - l2new += np.transpose(tmp316, (3, 2, 1, 0)) * -1 - del tmp316 - tmp317 = einsum(l2, (0, 1, 2, 3), f.vv, (4, 1), (2, 3, 4, 0)) - tmp349 = np.copy(tmp317) - del tmp317 - tmp318 = einsum(v.ovvv, (0, 1, 2, 3), l1, (3, 4), (4, 0, 1, 2)) - tmp349 += tmp318 - del tmp318 - tmp320 = einsum(tmp319, (0, 1), l2, (2, 3, 4, 1), (0, 4, 2, 3)) - del tmp319 - tmp349 += tmp320 * -1 - del tmp320 - tmp321 = einsum(tmp106, (0, 1, 2, 3), f.ov, (2, 4), (0, 1, 4, 3)) - tmp349 += tmp321 * -1 - del tmp321 - tmp349 += tmp135 - del tmp135 - tmp322 = einsum(tmp106, (0, 1, 2, 3), v.ooov, (4, 0, 2, 5), (1, 4, 3, 5)) - tmp349 += tmp322 - del tmp322 - tmp323 = einsum(tmp187, (0, 1, 2, 3), tmp106, (0, 4, 1, 5), (4, 2, 5, 3)) - tmp349 += tmp323 - del tmp323 - tmp324 = np.copy(np.transpose(t2, (0, 1, 3, 2))) - tmp324 += t2 * -1 - tmp325 = einsum(v.ovvv, (0, 1, 2, 3), tmp324, (0, 4, 3, 5), (4, 5, 1, 2)) - del tmp324 - tmp326 = np.copy(tmp325) - del tmp325 - tmp326 += np.transpose(tmp40, (0, 1, 3, 2)) - del tmp40 - tmp327 = einsum(tmp326, (0, 1, 2, 3), l3, (1, 4, 3, 5, 6, 0), (5, 6, 2, 4)) * -1 - del tmp326 - tmp349 += np.transpose(tmp327, (0, 1, 3, 2)) - del tmp327 - tmp328 = np.copy(v.ooov) - tmp328 += np.transpose(v.ovoo, (0, 2, 3, 1)) * -1 - tmp330 = einsum(tmp328, (0, 1, 2, 3), tmp329, (1, 4, 0, 5, 6, 3), (4, 2, 5, 6)) - del tmp328 - tmp349 += tmp330 * -1 - del tmp330 - tmp331 = np.copy(v.ooov) * -1 - tmp331 += np.transpose(v.ovoo, (0, 2, 3, 1)) * 2 - tmp333 = einsum(tmp331, (0, 1, 2, 3), tmp332, (1, 4, 0, 5, 6, 3), (4, 2, 5, 6)) - tmp349 += tmp333 * -1 - del tmp333 - tmp345 = np.copy(tmp136) - tmp342 = np.copy(tmp334) * -1 - del tmp334 - tmp337 = np.copy(np.transpose(l3, (3, 4, 5, 0, 1, 2))) - tmp335 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * 2 - tmp335 += t2 * -1 - tmp336 = einsum(tmp335, (0, 1, 2, 3), l3, (4, 5, 3, 6, 7, 0), (1, 6, 7, 2, 4, 5)) - tmp337 += np.transpose(tmp336, (1, 2, 0, 4, 5, 3)) - del tmp336 - tmp338 = einsum(tmp337, (0, 1, 2, 3, 4, 5), v.ovov, (6, 7, 2, 5), (0, 1, 6, 3, 4, 7)) - del tmp337 - tmp342 += tmp338 - tmp339 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * -1 - tmp339 += t2 - tmp340 = einsum(l3, (0, 1, 2, 3, 4, 5), tmp339, (5, 6, 7, 2), (6, 3, 4, 7, 0, 1)) - del tmp339 - tmp341 = einsum(tmp340, (0, 1, 2, 3, 4, 5), v.ovov, (6, 3, 0, 7), (1, 2, 6, 4, 5, 7)) * -1 - del tmp340 - tmp342 += tmp341 * -1 - del tmp341 - tmp345 += np.transpose(tmp342, (0, 1, 2, 3, 5, 4)) - tmp345 += np.transpose(tmp342, (2, 0, 1, 4, 3, 5)) - del tmp342 - tmp343 = einsum(tmp134, (0, 1, 2, 3), l3, (4, 5, 6, 0, 7, 1), (7, 2, 3, 4, 6, 5)) - del tmp134 - tmp345 += np.transpose(tmp343, (1, 0, 2, 4, 3, 5)) - tmp345 += np.transpose(tmp343, (2, 0, 1, 4, 3, 5)) * -1 - del tmp343 - tmp345 += np.transpose(tmp344, (1, 0, 2, 3, 4, 5)) * -1 - tmp345 += np.transpose(tmp344, (1, 0, 2, 3, 5, 4)) - del tmp344 - tmp346 = einsum(tmp345, (0, 1, 2, 3, 4, 5), t1, (0, 4), (1, 2, 3, 5)) - del tmp345 - tmp349 += tmp346 * -1 - del tmp346 - tmp347 = np.copy(v.oovv) * -1 - tmp347 += tmp52 - del tmp52 - tmp348 = einsum(l2, (0, 1, 2, 3), tmp347, (2, 4, 1, 5), (3, 4, 0, 5)) - tmp349 += tmp348 - del tmp348 - l2new += np.transpose(tmp349, (3, 2, 0, 1)) - l2new += np.transpose(tmp349, (2, 3, 1, 0)) - del tmp349 - tmp388 = einsum(l1, (0, 1), f.ov, (2, 3), (2, 1, 3, 0)) - tmp350 = einsum(tmp106, (0, 1, 2, 3), v.ooov, (4, 1, 2, 5), (0, 4, 3, 5)) - tmp388 += tmp350 - del tmp350 - tmp352 = einsum(tmp351, (0, 1), l2, (2, 1, 3, 4), (3, 4, 2, 0)) - del tmp351 - tmp388 += tmp352 * 2 - del tmp352 - tmp353 = einsum(tmp187, (0, 1, 2, 3), tmp106, (0, 4, 2, 5), (4, 1, 5, 3)) - tmp388 += tmp353 - del tmp353 - tmp354 = einsum(tmp329, (0, 1, 2, 3, 4, 5), v.ooov, (6, 1, 2, 5), (0, 6, 3, 4)) - del tmp329 - tmp388 += tmp354 - del tmp354 - tmp356 = einsum(v.ovoo, (0, 1, 2, 3), tmp355, (4, 2, 3, 5, 6, 1), (4, 0, 5, 6)) - del tmp355 - tmp388 += tmp356 - del tmp356 - tmp357 = einsum(l3, (0, 1, 2, 3, 4, 5), tmp78, (5, 1, 6, 2), (3, 4, 0, 6)) - del tmp78 - tmp388 += tmp357 * -1 - del tmp357 - tmp358 = einsum(tmp41, (0, 1, 2, 3), l3, (4, 3, 1, 5, 6, 0), (5, 6, 2, 4)) - del tmp41 - tmp388 += np.transpose(tmp358, (0, 1, 3, 2)) * -1 - del tmp358 - tmp359 = einsum(tmp331, (0, 1, 2, 3), tmp332, (4, 1, 0, 5, 6, 3), (4, 2, 5, 6)) - del tmp331 - tmp388 += tmp359 * -1 - del tmp359 - tmp372 = np.copy(np.transpose(tmp360, (2, 0, 1, 4, 5, 3))) * -1 - del tmp360 - tmp372 += np.transpose(tmp361, (1, 0, 2, 3, 4, 5)) - del tmp361 - tmp372 += np.transpose(tmp362, (2, 0, 1, 4, 5, 3)) - del tmp362 - tmp372 += np.transpose(tmp363, (1, 0, 2, 4, 5, 3)) - del tmp363 - tmp372 += np.transpose(tmp364, (1, 0, 2, 3, 4, 5)) * -1 - del tmp364 - tmp372 += np.transpose(tmp366, (2, 0, 1, 4, 5, 3)) - del tmp366 - tmp372 += tmp136 - tmp372 += np.transpose(tmp136, (1, 0, 2, 3, 4, 5)) * -2 - tmp372 += np.transpose(tmp136, (1, 0, 2, 3, 5, 4)) - tmp372 += np.transpose(tmp136, (2, 0, 1, 4, 5, 3)) - del tmp136 - tmp367 = einsum(tmp332, (0, 1, 2, 3, 4, 5), v.ovov, (6, 5, 2, 7), (0, 1, 6, 3, 4, 7)) - del tmp332 - tmp368 = np.copy(tmp367) * -1 - del tmp367 - tmp368 += tmp338 - del tmp338 - tmp372 += np.transpose(tmp368, (1, 0, 2, 3, 4, 5)) - tmp372 += np.transpose(tmp368, (2, 0, 1, 3, 5, 4)) - del tmp368 - tmp370 = np.copy(np.transpose(tmp240, (1, 0, 2, 3, 4, 5, 6, 7))) * -1 - del tmp240 - tmp370 += np.transpose(tmp369, (1, 0, 2, 3, 5, 4, 7, 6)) - del tmp369 - tmp371 = einsum(t1, (0, 1), tmp370, (2, 3, 4, 0, 5, 1, 6, 7), (2, 3, 4, 5, 6, 7)) - del tmp370 - tmp372 += np.transpose(tmp371, (1, 0, 2, 3, 4, 5)) - del tmp371 - tmp373 = einsum(tmp372, (0, 1, 2, 3, 4, 5), t1, (0, 5), (1, 2, 3, 4)) - del tmp372 - tmp388 += tmp373 * -1 - del tmp373 - tmp375 = np.copy(np.transpose(v.ovov, (0, 2, 1, 3))) - tmp375 += tmp71 * -1 - del tmp71 - tmp374 = einsum(v.ovov, (0, 1, 2, 3), tmp335, (2, 4, 5, 3), (4, 0, 5, 1)) - del tmp335 - tmp375 += tmp374 - del tmp374 - tmp376 = einsum(tmp42, (0, 1, 2, 3), tmp375, (0, 4, 3, 5), (1, 4, 2, 5)) - del tmp42, tmp375 - tmp388 += tmp376 - del tmp376 - tmp377 = einsum(l2, (0, 1, 2, 3), tmp347, (3, 4, 1, 5), (2, 4, 0, 5)) - del tmp347 - tmp388 += tmp377 - del tmp377 - tmp378 = np.copy(tmp106) * -1 - tmp378 += np.transpose(tmp106, (1, 0, 2, 3)) * 2 - tmp379 = einsum(tmp378, (0, 1, 2, 3), v.ovoo, (4, 5, 0, 2), (4, 1, 5, 3)) - del tmp378 - tmp388 += np.transpose(tmp379, (1, 0, 3, 2)) * -1 - del tmp379 - tmp380 = np.copy(tmp187) * -1 - tmp380 += np.transpose(tmp187, (0, 2, 1, 3)) * 2 - del tmp187 - tmp381 = einsum(tmp380, (0, 1, 2, 3), tmp106, (4, 0, 1, 5), (4, 2, 5, 3)) - del tmp380 - tmp388 += tmp381 * -1 - del tmp381 - tmp385 = np.copy(tmp382) - del tmp382 - tmp384 = einsum(t1, (0, 1), tmp383, (2, 1), (0, 2)) - tmp385 += tmp384 * -1 - del tmp384 - tmp386 = einsum(l2, (0, 1, 2, 3), tmp385, (2, 4), (3, 4, 0, 1)) - del tmp385 - tmp388 += np.transpose(tmp386, (0, 1, 3, 2)) - del tmp386 - tmp387 = einsum(tmp106, (0, 1, 2, 3), tmp383, (2, 4), (0, 1, 3, 4)) - del tmp106 - tmp388 += tmp387 * -1 - del tmp387 - tmp388 += einsum(tmp383, (0, 1), l1, (2, 3), (3, 0, 2, 1)) - del tmp383 - l2new += np.transpose(tmp388, (2, 3, 0, 1)) - l2new += np.transpose(tmp388, (3, 2, 1, 0)) - del tmp388 - tmp390 = einsum(tmp389, (0, 1), l2, (2, 1, 3, 4), (3, 4, 2, 0)) - del tmp389 - l2new += np.transpose(tmp390, (2, 3, 0, 1)) * -1 - l2new += np.transpose(tmp390, (3, 2, 1, 0)) * -1 - del tmp390 - tmp392 = np.copy(v.oooo) - tmp392 += np.transpose(tmp96, (1, 3, 0, 2)) - del tmp96 - tmp392 += np.transpose(tmp391, (1, 3, 0, 2)) - del tmp391 - l2new += einsum(tmp392, (0, 1, 2, 3), l2, (4, 5, 0, 2), (4, 5, 1, 3)) - del tmp392 - l2new += einsum(tmp108, (0, 1, 2, 3), v.ovov, (2, 4, 3, 5), (5, 4, 1, 0)) - del tmp108 - - return {f"l1new": l1new, f"l2new": l2new, f"l3new": l3new} - -def make_rdm1_f(l1=None, l2=None, l3=None, t1=None, t2=None, t3=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-10-22T08:48:22.488574. - - Parameters - ---------- - l1 : array - L1 amplitudes. - l2 : array - L2 amplitudes. - l3 : array - L3 amplitudes. - t1 : array - T1 amplitudes. - t2 : array - T2 amplitudes. - t3 : array - T3 amplitudes. - - Returns - ------- - rdm1 : array - One-particle reduced density matrix. - """ - - rdm1 = Namespace() - delta = Namespace( - oo=np.eye(t2.shape[0]), - vv=np.eye(t2.shape[-1]), - ) - rdm1.vo = np.copy(l1) * 2 - rdm1.oo = np.copy(delta.oo) * 2 - del delta - tmp0 = einsum(l1, (0, 1), t1, (2, 0), (1, 2)) - rdm1.oo += np.transpose(tmp0, (1, 0)) * -2 - tmp1 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) - tmp1 += np.transpose(t3, (0, 2, 1, 3, 4, 5)) * -0.28571428571428575 - tmp1 += np.transpose(t3, (1, 0, 2, 3, 5, 4)) * 0.14285714285714288 - tmp1 += np.transpose(t3, (1, 0, 2, 3, 4, 5)) * -0.28571428571428575 - rdm1.oo += einsum(tmp1, (0, 1, 2, 3, 4, 5), l3, (3, 5, 4, 6, 2, 0), (1, 6)) * 1.16666666666662 - del tmp1 - tmp2 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * 3 - tmp2 += np.transpose(t3, (1, 0, 2, 3, 5, 4)) - tmp2 += np.transpose(t3, (1, 0, 2, 3, 4, 5)) * -2 - rdm1.oo += einsum(tmp2, (0, 1, 2, 3, 4, 5), l3, (3, 5, 4, 0, 6, 1), (2, 6)) * -0.16666666666666 - del tmp2 - tmp3 = np.copy(np.transpose(t2, (0, 1, 3, 2))) - tmp3 += t2 * -0.5 - rdm1.oo += einsum(tmp3, (0, 1, 2, 3), l2, (3, 2, 0, 4), (1, 4)) * -4 - rdm1.vv = einsum(t1, (0, 1), l1, (2, 0), (2, 1)) * 2 - rdm1.vv += einsum(t3, (0, 1, 2, 3, 4, 5), l3, (3, 6, 5, 0, 1, 2), (6, 4)) * 0.49999999999998 - tmp18 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * 0.28571428571428575 - tmp18 += np.transpose(t3, (0, 2, 1, 3, 4, 5)) * -0.28571428571428575 - tmp18 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) * 0.28571428571428575 - tmp18 += np.transpose(t3, (1, 0, 2, 3, 5, 4)) * 0.14285714285714288 - tmp18 += np.transpose(t3, (1, 0, 2, 3, 4, 5)) * -0.14285714285714288 - tmp18 += np.transpose(t3, (1, 0, 2, 4, 3, 5)) - rdm1.vv += einsum(l3, (0, 1, 2, 3, 4, 5), tmp18, (4, 3, 5, 1, 6, 2), (0, 6)) * 1.16666666666662 - del tmp18 - tmp19 = np.copy(np.transpose(l2, (3, 2, 0, 1))) * -1 - tmp19 += np.transpose(l2, (2, 3, 0, 1)) * 2 - rdm1.vv += einsum(t2, (0, 1, 2, 3), tmp19, (0, 1, 2, 4), (4, 3)) * 2 - del tmp19 - rdm1.ov = einsum(l2, (0, 1, 2, 3), t3, (4, 2, 3, 5, 1, 0), (4, 5)) * -1 - rdm1.ov += t1 * 2 - tmp4 = einsum(l3, (0, 1, 2, 3, 4, 5), t1, (6, 1), (3, 5, 4, 6, 0, 2)) - rdm1.ov += einsum(t3, (0, 1, 2, 3, 4, 5), tmp4, (2, 0, 1, 6, 5, 3), (6, 4)) * -0.49999999999998 - del tmp4 - tmp6 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * -2 - tmp6 += np.transpose(t3, (0, 2, 1, 3, 4, 5)) * 2 - tmp6 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) * -2 - tmp6 += np.transpose(t3, (1, 0, 2, 3, 5, 4)) * -1 - tmp6 += np.transpose(t3, (1, 0, 2, 3, 4, 5)) - tmp6 += np.transpose(t3, (1, 0, 2, 4, 3, 5)) * -7 - tmp5 = einsum(l3, (0, 1, 2, 3, 4, 5), t1, (6, 2), (3, 5, 4, 6, 0, 1)) - rdm1.ov += einsum(tmp5, (0, 1, 2, 3, 4, 5), tmp6, (2, 1, 0, 5, 4, 6), (3, 6)) * -0.16666666666666 - del tmp5, tmp6 - tmp7 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) - tmp7 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) * 3 - tmp7 += np.transpose(t3, (0, 1, 2, 3, 5, 4)) * -1 - rdm1.ov += einsum(tmp7, (0, 1, 2, 3, 4, 5), l2, (3, 4, 2, 0), (1, 5)) - del tmp7 - tmp8 = einsum(t1, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2)) - tmp11 = np.copy(tmp8) * -2 - tmp11 += np.transpose(tmp8, (1, 0, 2, 3)) * 4 - del tmp8 - tmp9 = np.copy(np.transpose(l3, (3, 5, 4, 0, 2, 1))) - tmp9 += np.transpose(l3, (3, 5, 4, 0, 1, 2)) * -2 - tmp9 += np.transpose(l3, (4, 3, 5, 0, 2, 1)) * 3 - tmp11 += einsum(tmp9, (0, 1, 2, 3, 4, 5), t2, (6, 0, 3, 5), (1, 2, 6, 4)) - del tmp9 - tmp10 = np.copy(np.transpose(l3, (3, 5, 4, 0, 2, 1))) * -1 - tmp10 += np.transpose(l3, (4, 3, 5, 0, 2, 1)) * -1 - tmp11 += einsum(t2, (0, 1, 2, 3), tmp10, (1, 4, 5, 3, 6, 2), (4, 5, 0, 6)) - del tmp10 - rdm1.ov += einsum(tmp11, (0, 1, 2, 3), t2, (1, 0, 3, 4), (2, 4)) * -1 - del tmp11 - tmp12 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * -1 - tmp12 += t2 * 3 - tmp13 = einsum(l3, (0, 1, 2, 3, 4, 5), tmp12, (5, 6, 2, 1), (3, 4, 6, 0)) - del tmp12 - rdm1.ov += einsum(tmp13, (0, 1, 2, 3), t2, (1, 0, 4, 3), (2, 4)) * -1 - del tmp13 - tmp14 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * -1 - tmp14 += t2 * 2 - rdm1.ov += einsum(l1, (0, 1), tmp14, (1, 2, 0, 3), (2, 3)) * 2 - del tmp14 - tmp17 = np.copy(tmp0) * 1.714285714285783 - del tmp0 - tmp15 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * -1 - tmp15 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) * -0.5 - tmp15 += np.transpose(t3, (1, 0, 2, 3, 5, 4)) * -1 - tmp15 += np.transpose(t3, (1, 0, 2, 4, 3, 5)) * -3.4999999999999996 - tmp17 += einsum(l3, (0, 1, 2, 3, 4, 5), tmp15, (4, 6, 5, 1, 0, 2), (3, 6)) * -0.28571428571428575 - del tmp15 - tmp16 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * 2 - tmp16 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) - tmp16 += np.transpose(t3, (0, 1, 2, 4, 3, 5)) * -3 - tmp17 += einsum(tmp16, (0, 1, 2, 3, 4, 5), l3, (4, 3, 5, 2, 6, 0), (6, 1)) * 0.14285714285714288 - del tmp16 - tmp17 += einsum(tmp3, (0, 1, 2, 3), l2, (3, 2, 0, 4), (4, 1)) * 3.428571428571566 - del tmp3 - rdm1.ov += einsum(tmp17, (0, 1), t1, (0, 2), (1, 2)) * -1.16666666666662 - del tmp17 - rdm1 = np.block([[rdm1.oo, rdm1.ov], [rdm1.vo, rdm1.vv]]) - - return rdm1 - -def make_rdm2_f(l1=None, l2=None, l3=None, t1=None, t2=None, t3=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-10-22T08:54:09.495661. - - Parameters - ---------- - l1 : array - L1 amplitudes. - l2 : array - L2 amplitudes. - l3 : array - L3 amplitudes. - t1 : array - T1 amplitudes. - t2 : array - T2 amplitudes. - t3 : array - T3 amplitudes. - - Returns - ------- - rdm2 : array - Two-particle reduced density matrix. - """ - - rdm2 = Namespace() - delta = Namespace( - oo=np.eye(t2.shape[0]), - vv=np.eye(t2.shape[-1]), - ) - rdm2.vvoo = np.copy(np.transpose(l2, (0, 1, 3, 2))) * -2 - rdm2.vvoo += l2 * 4 - tmp114 = einsum(l3, (0, 1, 2, 3, 4, 5), t2, (4, 5, 6, 2), (3, 0, 1, 6)) - rdm2.vvov = np.copy(np.transpose(tmp114, (1, 2, 0, 3))) * 4 - tmp500 = einsum(l2, (0, 1, 2, 3), t1, (3, 4), (2, 0, 1, 4)) - rdm2.vvov += np.transpose(tmp500, (1, 2, 0, 3)) * 4 - rdm2.vvov += np.transpose(tmp500, (2, 1, 0, 3)) * -2 - tmp291 = np.copy(np.transpose(l3, (3, 5, 4, 0, 2, 1))) * -1 - tmp291 += np.transpose(l3, (3, 5, 4, 1, 0, 2)) * -1 - tmp291 += np.transpose(l3, (3, 4, 5, 0, 2, 1)) - tmp292 = einsum(t2, (0, 1, 2, 3), tmp291, (0, 4, 1, 3, 5, 6), (4, 2, 5, 6)) - del tmp291 - rdm2.vvov += np.transpose(tmp292, (2, 3, 0, 1)) * 2 - tmp80 = einsum(l3, (0, 1, 2, 3, 4, 5), t2, (3, 5, 2, 6), (4, 0, 1, 6)) * -1 - rdm2.vvov += np.transpose(tmp80, (2, 1, 0, 3)) * 2 - rdm2.vvvo = np.copy(np.transpose(tmp114, (1, 2, 3, 0))) * -2 - rdm2.vvvo += np.transpose(tmp500, (1, 2, 3, 0)) * -2 - rdm2.vvvo += np.transpose(tmp500, (2, 1, 3, 0)) * 4 - rdm2.vvvo += np.transpose(tmp292, (2, 3, 1, 0)) * -2 - rdm2.vvvo += np.transpose(tmp80, (1, 2, 3, 0)) * 2 - rdm2.vvvo += np.transpose(tmp114, (2, 1, 3, 0)) * 2 - tmp181 = einsum(l1, (0, 1), delta.oo, (2, 3), (1, 2, 3, 0)) - tmp179 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * -1 - tmp179 += t2 - tmp180 = einsum(l3, (0, 1, 2, 3, 4, 5), tmp179, (5, 6, 1, 2), (3, 4, 6, 0)) * 0.5 - tmp181 += np.transpose(tmp180, (0, 2, 1, 3)) - del tmp180 - rdm2.ovoo = np.copy(np.transpose(tmp181, (1, 3, 0, 2))) * -2 - rdm2.ovoo += np.transpose(tmp181, (1, 3, 2, 0)) * 2 - del tmp181 - tmp1 = einsum(l2, (0, 1, 2, 3), t1, (4, 1), (2, 3, 4, 0)) - rdm2.ovoo += np.transpose(tmp1, (2, 3, 0, 1)) * 2 - rdm2.ovoo += np.transpose(tmp1, (2, 3, 1, 0)) * -4 - tmp85 = np.copy(np.transpose(t2, (0, 1, 3, 2))) - tmp85 += t2 * -0.3333333333333333 - tmp182 = einsum(l3, (0, 1, 2, 3, 4, 5), tmp85, (4, 6, 2, 1), (3, 5, 6, 0)) * -1.5 - rdm2.ovoo += np.transpose(tmp182, (2, 3, 1, 0)) * 2 - rdm2.ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (0, 2, 1, 3)) * 2 - tmp183 = np.copy(np.transpose(l3, (3, 5, 4, 0, 2, 1))) - tmp183 += np.transpose(l3, (3, 4, 5, 1, 0, 2)) * -1 - tmp184 = einsum(t2, (0, 1, 2, 3), tmp183, (1, 4, 5, 2, 3, 6), (0, 4, 5, 6)) - del tmp183 - rdm2.ovoo += np.transpose(tmp184, (0, 3, 1, 2)) * 2 - tmp186 = np.copy(tmp1) - tmp185 = einsum(l3, (0, 1, 2, 3, 4, 5), tmp179, (5, 6, 2, 1), (3, 4, 6, 0)) * 0.5 - tmp186 += tmp185 - del tmp185 - rdm2.vooo = np.copy(np.transpose(tmp186, (3, 2, 0, 1))) * -2 - rdm2.vooo += np.transpose(tmp186, (3, 2, 1, 0)) * 2 - rdm2.vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 0, 3, 1)) * 4 - rdm2.vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 0, 1, 3)) * -2 - rdm2.vooo += np.transpose(tmp182, (3, 2, 1, 0)) * -2 - rdm2.vooo += np.transpose(tmp1, (3, 2, 0, 1)) * -2 - rdm2.vooo += np.transpose(tmp184, (3, 0, 2, 1)) * 2 - del tmp184 - tmp187 = einsum(l3, (0, 1, 2, 3, 4, 5), t3, (3, 4, 5, 6, 1, 7), (0, 2, 6, 7)) - rdm2.vvvv = np.copy(np.transpose(tmp187, (1, 0, 3, 2))) - tmp218 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) - tmp218 += np.transpose(t3, (0, 1, 2, 3, 5, 4)) * -0.5 - tmp501 = einsum(l3, (0, 1, 2, 3, 4, 5), tmp218, (5, 4, 3, 2, 6, 7), (0, 1, 6, 7)) * -0.33333333333334 - tmp503 = np.copy(tmp501) * -1 - del tmp501 - tmp82 = np.copy(tmp80) - tmp9 = np.copy(np.transpose(t2, (0, 1, 3, 2))) - tmp9 += t2 * -1 - tmp81 = einsum(tmp9, (0, 1, 2, 3), l3, (4, 5, 3, 6, 1, 0), (6, 4, 5, 2)) - tmp82 += tmp81 * -1 - tmp502 = einsum(t1, (0, 1), tmp82, (0, 2, 3, 4), (1, 2, 3, 4)) - tmp503 += np.transpose(tmp502, (1, 2, 0, 3)) - del tmp502 - rdm2.vvvv += tmp503 * -2 - rdm2.vvvv += np.transpose(tmp503, (0, 1, 3, 2)) * 2 - del tmp503 - tmp286 = einsum(l2, (0, 1, 2, 3), t2, (3, 2, 4, 5), (0, 1, 5, 4)) - tmp506 = np.copy(np.transpose(tmp286, (1, 0, 3, 2))) - tmp504 = einsum(tmp500, (0, 1, 2, 3), t1, (0, 4), (2, 1, 3, 4)) - del tmp500 - tmp506 += np.transpose(tmp504, (1, 0, 3, 2)) - tmp35 = einsum(l3, (0, 1, 2, 3, 4, 5), t2, (4, 5, 1, 6), (3, 0, 2, 6)) - tmp505 = einsum(tmp35, (0, 1, 2, 3), t1, (0, 4), (1, 2, 4, 3)) - tmp506 += np.transpose(tmp505, (1, 0, 3, 2)) - del tmp505 - rdm2.vvvv += np.transpose(tmp506, (0, 1, 3, 2)) * -2 - rdm2.vvvv += tmp506 * 2 - del tmp506 - tmp507 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) - tmp507 += np.transpose(t3, (1, 0, 2, 3, 5, 4)) * 2 - tmp508 = einsum(l3, (0, 1, 2, 3, 4, 5), tmp507, (3, 5, 4, 6, 7, 2), (6, 7, 0, 1)) * -0.16666666666667 - del tmp507 - rdm2.vvvv += np.transpose(tmp508, (2, 3, 1, 0)) * -2 - del tmp508 - rdm2.vvvv += np.transpose(tmp286, (1, 0, 3, 2)) * 2 - rdm2.vvvv += np.transpose(tmp504, (1, 0, 3, 2)) * 2 - del tmp504 - tmp328 = einsum(t3, (0, 1, 2, 3, 4, 5), l3, (6, 7, 5, 0, 1, 2), (6, 7, 3, 4)) - tmp510 = np.copy(tmp328) * 0.50000000000001 - tmp509 = einsum(tmp114, (0, 1, 2, 3), t1, (0, 4), (1, 2, 4, 3)) - tmp510 += tmp509 - del tmp509 - rdm2.vvvv += tmp510 * 2 - rdm2.vvvv += np.transpose(tmp510, (1, 0, 3, 2)) * 2 - del tmp510 - tmp511 = einsum(tmp80, (0, 1, 2, 3), t1, (0, 4), (1, 2, 4, 3)) - rdm2.vvvv += np.transpose(tmp511, (0, 1, 3, 2)) * 2 - rdm2.vvvv += np.transpose(tmp511, (1, 0, 2, 3)) * 2 - del tmp511 - tmp0 = einsum(t2, (0, 1, 2, 3), l2, (3, 2, 4, 5), (5, 4, 0, 1)) - tmp6 = np.copy(np.transpose(tmp0, (1, 0, 3, 2))) - tmp4 = np.copy(tmp1) * 2 - tmp2 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * 3 - tmp2 += t2 * -1 - tmp3 = einsum(l3, (0, 1, 2, 3, 4, 5), tmp2, (4, 6, 2, 1), (3, 5, 6, 0)) * -1 - tmp4 += np.transpose(tmp3, (1, 0, 2, 3)) - tmp5 = einsum(t1, (0, 1), tmp4, (2, 3, 4, 1), (0, 2, 3, 4)) * 0.5 - del tmp4 - tmp6 += np.transpose(tmp5, (2, 1, 3, 0)) - del tmp5 - rdm2.oooo = np.copy(np.transpose(tmp6, (3, 2, 0, 1))) * -2 - rdm2.oooo += np.transpose(tmp6, (2, 3, 0, 1)) * 2 - del tmp6 - tmp7 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) - tmp7 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) * 0.5 - tmp8 = einsum(tmp7, (0, 1, 2, 3, 4, 5), l3, (4, 3, 5, 6, 7, 0), (6, 7, 1, 2)) * -0.33333333333334 - rdm2.oooo += np.transpose(tmp8, (2, 3, 0, 1)) * 2 - rdm2.oooo += np.transpose(tmp8, (2, 3, 1, 0)) * -2 - del tmp8 - tmp10 = einsum(l3, (0, 1, 2, 3, 4, 5), tmp9, (5, 6, 2, 1), (3, 4, 6, 0)) - tmp11 = einsum(tmp10, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) * 0.5 - rdm2.oooo += np.transpose(tmp11, (0, 3, 1, 2)) * -2 - rdm2.oooo += np.transpose(tmp11, (3, 0, 1, 2)) * 2 - rdm2.oooo += np.transpose(tmp11, (0, 3, 2, 1)) * 2 - rdm2.oooo += np.transpose(tmp11, (3, 0, 2, 1)) * -2 - del tmp11 - tmp12 = einsum(l1, (0, 1), t1, (2, 0), (1, 2)) - tmp19 = np.copy(tmp12) * 4 - tmp13 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) - tmp13 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) * 3.4999999999999996 - tmp13 += np.transpose(t3, (1, 0, 2, 3, 5, 4)) - tmp13 += np.transpose(t3, (1, 0, 2, 4, 3, 5)) * 0.5 - tmp14 = einsum(tmp13, (0, 1, 2, 3, 4, 5), l3, (4, 3, 5, 6, 2, 0), (6, 1)) * -0.6666666666666666 - tmp19 += tmp14 - del tmp14 - tmp15 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * 2 - tmp15 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) - tmp15 += np.transpose(t3, (0, 1, 2, 4, 3, 5)) * -3 - tmp16 = einsum(l3, (0, 1, 2, 3, 4, 5), tmp15, (3, 6, 5, 1, 0, 2), (4, 6)) * 0.3333333333333333 - tmp19 += tmp16 * -1 - del tmp16 - tmp17 = np.copy(np.transpose(t2, (0, 1, 3, 2))) - tmp17 += t2 * -0.5 - tmp18 = einsum(tmp17, (0, 1, 2, 3), l2, (3, 2, 0, 4), (4, 1)) * 8 - tmp19 += tmp18 - del tmp18 - rdm2.oooo += einsum(tmp19, (0, 1), delta.oo, (2, 3), (1, 2, 0, 3)) * -0.49999999999998 - rdm2.oooo += einsum(delta.oo, (0, 1), tmp19, (2, 3), (0, 3, 2, 1)) * 0.49999999999998 - rdm2.oooo += einsum(tmp19, (0, 1), delta.oo, (2, 3), (1, 2, 3, 0)) * 0.49999999999998 - rdm2.oooo += einsum(tmp19, (0, 1), delta.oo, (2, 3), (2, 1, 3, 0)) * -0.49999999999998 - del tmp19 - rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (0, 2, 1, 3)) * 2 - rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (0, 2, 3, 1)) * -2 - tmp20 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * 2 - tmp20 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) - tmp20 += np.transpose(t3, (1, 0, 2, 4, 3, 5)) * 3 - tmp21 = einsum(l3, (0, 1, 2, 3, 4, 5), tmp20, (4, 6, 7, 1, 0, 2), (3, 5, 6, 7)) * 0.16666666666667 - rdm2.oooo += np.transpose(tmp21, (2, 3, 1, 0)) * -2 - del tmp21 - rdm2.oooo += np.transpose(tmp0, (3, 2, 1, 0)) * 2 - tmp22 = einsum(t1, (0, 1), tmp1, (2, 3, 4, 1), (2, 3, 0, 4)) - rdm2.oooo += np.transpose(tmp22, (3, 2, 1, 0)) * 2 - rdm2.oooo += einsum(delta.oo, (0, 1), tmp12, (2, 3), (0, 3, 1, 2)) * -2 - tmp23 = einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 7, 5, 0, 1, 2), (3, 4, 6, 7)) - tmp26 = np.copy(tmp23) * 0.50000000000001 - tmp24 = einsum(t2, (0, 1, 2, 3), l3, (4, 2, 3, 5, 6, 1), (5, 6, 0, 4)) - tmp25 = einsum(t1, (0, 1), tmp24, (2, 3, 4, 1), (2, 3, 0, 4)) - tmp26 += tmp25 - del tmp25 - rdm2.oooo += np.transpose(tmp26, (2, 3, 0, 1)) * 2 - rdm2.oooo += np.transpose(tmp26, (3, 2, 1, 0)) * 2 - tmp27 = einsum(l3, (0, 1, 2, 3, 4, 5), t2, (6, 5, 2, 0), (3, 4, 6, 1)) * -1 - tmp28 = einsum(t1, (0, 1), tmp27, (2, 3, 4, 1), (2, 3, 0, 4)) - rdm2.oooo += np.transpose(tmp28, (3, 2, 0, 1)) * 2 - rdm2.oooo += np.transpose(tmp28, (2, 3, 1, 0)) * 2 - tmp29 = einsum(tmp13, (0, 1, 2, 3, 4, 5), l3, (4, 3, 5, 6, 2, 0), (6, 1)) * -2 - tmp32 = np.copy(tmp29) - tmp30 = einsum(l3, (0, 1, 2, 3, 4, 5), tmp15, (3, 6, 5, 1, 0, 2), (4, 6)) - tmp32 += tmp30 * -1 - tmp31 = einsum(tmp17, (0, 1, 2, 3), l2, (3, 2, 0, 4), (4, 1)) * 24 - tmp32 += tmp31 - rdm2.oooo += einsum(delta.oo, (0, 1), tmp32, (2, 3), (3, 0, 2, 1)) * -0.16666666666666 - rdm2.oooo += einsum(delta.oo, (0, 1), tmp32, (2, 3), (0, 3, 1, 2)) * -0.16666666666666 - tmp33 = np.copy(delta.oo) - tmp33 += tmp12 * -1 - rdm2.oooo += einsum(tmp33, (0, 1), delta.oo, (2, 3), (1, 2, 0, 3)) * 2 - del tmp33 - rdm2.ovov = einsum(t1, (0, 1), l1, (2, 3), (0, 2, 3, 1)) * -2 - tmp92 = einsum(l3, (0, 1, 2, 3, 4, 5), t3, (3, 6, 5, 0, 7, 2), (4, 6, 1, 7)) - rdm2.ovov += np.transpose(tmp92, (1, 2, 0, 3)) * -0.5 - tmp386 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * -0.2 - tmp386 += np.transpose(t3, (0, 2, 1, 3, 4, 5)) * 0.2 - tmp386 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) * -0.2 - tmp386 += np.transpose(t3, (1, 0, 2, 3, 5, 4)) * -1 - tmp386 += np.transpose(t3, (1, 0, 2, 3, 4, 5)) * 0.2 - tmp386 += np.transpose(t3, (1, 0, 2, 4, 3, 5)) * -0.2 - tmp387 = einsum(tmp386, (0, 1, 2, 3, 4, 5), l3, (6, 5, 3, 7, 0, 2), (7, 1, 6, 4)) * 1.25 - del tmp386 - rdm2.ovov += np.transpose(tmp387, (1, 2, 0, 3)) * -2 - del tmp387 - tmp95 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) - tmp95 += np.transpose(t3, (0, 2, 1, 3, 4, 5)) * -1 - tmp95 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) - tmp388 = einsum(tmp95, (0, 1, 2, 3, 4, 5), l3, (6, 3, 4, 0, 7, 2), (7, 1, 6, 5)) * -0.25 - rdm2.ovov += np.transpose(tmp388, (1, 2, 0, 3)) * 2 - tmp389 = np.copy(np.transpose(t2, (0, 1, 3, 2))) - tmp389 += t2 * -1 - tmp390 = einsum(l2, (0, 1, 2, 3), tmp389, (2, 4, 5, 1), (3, 4, 0, 5)) - del tmp389 - rdm2.ovov += np.transpose(tmp390, (1, 2, 0, 3)) * 2 - tmp391 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * 2 - tmp391 += t2 * -1 - tmp392 = einsum(l2, (0, 1, 2, 3), tmp391, (3, 4, 5, 1), (2, 4, 0, 5)) - del tmp391 - rdm2.ovov += np.transpose(tmp392, (1, 2, 0, 3)) * -2 - tmp393 = einsum(l3, (0, 1, 2, 3, 4, 5), t2, (3, 5, 6, 1), (4, 0, 2, 6)) - tmp395 = np.copy(np.transpose(tmp393, (0, 2, 1, 3))) * -1 - tmp141 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * -0.5 - tmp141 += t2 - tmp394 = einsum(l3, (0, 1, 2, 3, 4, 5), tmp141, (5, 4, 6, 1), (3, 0, 2, 6)) * -2 - tmp395 += np.transpose(tmp394, (0, 2, 1, 3)) - del tmp394 - tmp396 = einsum(tmp395, (0, 1, 2, 3), t1, (4, 1), (4, 0, 2, 3)) - rdm2.ovov += np.transpose(tmp396, (0, 2, 1, 3)) * -2 - tmp397 = np.copy(tmp186) - tmp397 += np.transpose(tmp186, (1, 0, 2, 3)) * -1 - del tmp186 - tmp397 += np.transpose(tmp182, (1, 0, 2, 3)) - del tmp182 - tmp398 = einsum(t1, (0, 1), tmp397, (0, 2, 3, 4), (2, 3, 1, 4)) - del tmp397 - rdm2.ovov += np.transpose(tmp398, (1, 3, 0, 2)) * -2 - tmp399 = einsum(t1, (0, 1), l1, (2, 0), (2, 1)) - tmp402 = np.copy(tmp399) * 1.714285714285783 - tmp61 = einsum(l3, (0, 1, 2, 3, 4, 5), t3, (3, 4, 5, 0, 6, 2), (1, 6)) - tmp402 += tmp61 * 0.4285714285714286 - tmp62 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) - tmp62 += np.transpose(t3, (0, 2, 1, 3, 4, 5)) * -1 - tmp62 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) - tmp62 += np.transpose(t3, (0, 1, 2, 3, 5, 4)) * -0.5 - tmp62 += t3 * 0.5 - tmp62 += np.transpose(t3, (0, 1, 2, 4, 3, 5)) * -3.4999999999999996 - tmp400 = einsum(tmp62, (0, 1, 2, 3, 4, 5), l3, (6, 3, 5, 0, 1, 2), (6, 4)) * -0.28571428571428575 - tmp402 += tmp400 - del tmp400 - tmp55 = np.copy(np.transpose(l2, (3, 2, 0, 1))) * 2 - tmp55 += np.transpose(l2, (2, 3, 0, 1)) * -1 - tmp401 = einsum(tmp55, (0, 1, 2, 3), t2, (0, 1, 4, 2), (4, 3)) * 1.714285714285783 - tmp402 += np.transpose(tmp401, (1, 0)) - del tmp401 - rdm2.ovov += einsum(tmp402, (0, 1), delta.oo, (2, 3), (2, 0, 3, 1)) * 1.16666666666662 - tmp135 = einsum(t3, (0, 1, 2, 3, 4, 5), l3, (3, 6, 5, 7, 1, 2), (7, 0, 6, 4)) - rdm2.ovov += np.transpose(tmp135, (1, 2, 0, 3)) * -1 - tmp134 = einsum(l3, (0, 1, 2, 3, 4, 5), t3, (3, 6, 5, 7, 1, 2), (4, 6, 0, 7)) - rdm2.ovov += np.transpose(tmp134, (1, 2, 0, 3)) * -1 - tmp133 = einsum(l2, (0, 1, 2, 3), t2, (4, 2, 1, 5), (3, 4, 0, 5)) - rdm2.ovov += np.transpose(tmp133, (1, 2, 0, 3)) * -2 - tmp345 = np.copy(tmp114) - tmp345 += np.transpose(tmp80, (0, 2, 1, 3)) - tmp403 = einsum(tmp345, (0, 1, 2, 3), t1, (4, 1), (4, 0, 2, 3)) - rdm2.ovov += np.transpose(tmp403, (0, 2, 1, 3)) * -2 - tmp404 = np.copy(tmp1) - tmp119 = np.copy(np.transpose(l3, (3, 5, 4, 0, 2, 1))) * -1 - tmp119 += np.transpose(l3, (3, 4, 5, 0, 1, 2)) * -1 - tmp120 = einsum(t2, (0, 1, 2, 3), tmp119, (1, 4, 5, 3, 6, 2), (0, 4, 5, 6)) - del tmp119 - tmp404 += np.transpose(tmp120, (1, 2, 0, 3)) * -1 - tmp405 = einsum(t1, (0, 1), tmp404, (0, 2, 3, 4), (2, 3, 1, 4)) - rdm2.ovov += np.transpose(tmp405, (1, 3, 0, 2)) * -2 - tmp406 = np.copy(tmp399) - tmp406 += tmp61 * 0.24999999999999 - tmp143 = einsum(tmp62, (0, 1, 2, 3, 4, 5), l3, (6, 3, 5, 0, 1, 2), (6, 4)) * -0.16666666666666 - tmp406 += tmp143 - tmp56 = einsum(tmp55, (0, 1, 2, 3), t2, (0, 1, 4, 2), (4, 3)) - tmp406 += np.transpose(tmp56, (1, 0)) - rdm2.ovov += einsum(tmp406, (0, 1), delta.oo, (2, 3), (2, 0, 3, 1)) * 2 - rdm2.vovo = einsum(t1, (0, 1), l1, (2, 3), (2, 0, 1, 3)) * -2 - rdm2.vovo += np.transpose(tmp92, (2, 1, 3, 0)) * -0.5 - tmp93 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * -1 - tmp93 += np.transpose(t3, (0, 2, 1, 3, 4, 5)) - tmp93 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) * -1 - tmp93 += np.transpose(t3, (1, 0, 2, 3, 5, 4)) * -5 - tmp93 += np.transpose(t3, (1, 0, 2, 3, 4, 5)) - tmp93 += np.transpose(t3, (1, 0, 2, 4, 3, 5)) * -1 - tmp424 = einsum(tmp93, (0, 1, 2, 3, 4, 5), l3, (6, 5, 3, 7, 0, 2), (7, 1, 6, 4)) * 0.25 - rdm2.vovo += np.transpose(tmp424, (2, 1, 3, 0)) * -2 - rdm2.vovo += np.transpose(tmp388, (2, 1, 3, 0)) * 2 - tmp192 = np.copy(np.transpose(l2, (3, 2, 0, 1))) * 2 - tmp192 += np.transpose(l2, (2, 3, 0, 1)) * -1 - tmp193 = einsum(t2, (0, 1, 2, 3), tmp192, (1, 4, 5, 3), (0, 4, 2, 5)) - rdm2.vovo += np.transpose(tmp193, (3, 0, 2, 1)) * -2 - tmp425 = np.copy(np.transpose(l2, (3, 2, 0, 1))) * -1 - tmp425 += np.transpose(l2, (2, 3, 0, 1)) - tmp426 = einsum(t2, (0, 1, 2, 3), tmp425, (1, 4, 5, 2), (0, 4, 3, 5)) - del tmp425 - rdm2.vovo += np.transpose(tmp426, (3, 0, 2, 1)) * -2 - del tmp426 - rdm2.vovo += np.transpose(tmp396, (2, 0, 3, 1)) * -2 - del tmp396 - tmp415 = np.copy(tmp1) * 2 - tmp205 = einsum(l3, (0, 1, 2, 3, 4, 5), tmp179, (5, 6, 2, 1), (3, 4, 6, 0)) - tmp415 += tmp205 - tmp416 = np.copy(tmp415) - tmp416 += np.transpose(tmp415, (1, 0, 2, 3)) * -1 - del tmp415 - tmp86 = einsum(l3, (0, 1, 2, 3, 4, 5), tmp85, (4, 6, 2, 1), (3, 5, 6, 0)) * -3 - del tmp85 - tmp416 += np.transpose(tmp86, (1, 0, 2, 3)) - tmp417 = einsum(t1, (0, 1), tmp416, (0, 2, 3, 4), (2, 3, 1, 4)) * 0.5 - del tmp416 - rdm2.vovo += np.transpose(tmp417, (3, 1, 2, 0)) * -2 - tmp419 = np.copy(tmp399) * 6 - tmp419 += tmp61 * 1.5 - tmp63 = einsum(tmp62, (0, 1, 2, 3, 4, 5), l3, (6, 3, 5, 0, 1, 2), (6, 4)) * -1 - tmp419 += tmp63 - tmp418 = einsum(tmp55, (0, 1, 2, 3), t2, (0, 1, 4, 2), (4, 3)) * 6 - tmp419 += np.transpose(tmp418, (1, 0)) - del tmp418 - rdm2.vovo += einsum(delta.oo, (0, 1), tmp419, (2, 3), (2, 0, 3, 1)) * 0.33333333333332 - rdm2.vovo += np.transpose(tmp135, (2, 1, 3, 0)) * -1 - rdm2.vovo += np.transpose(tmp134, (2, 1, 3, 0)) * -1 - rdm2.vovo += np.transpose(tmp133, (2, 1, 3, 0)) * -2 - rdm2.vovo += np.transpose(tmp403, (2, 0, 3, 1)) * -2 - rdm2.vovo += np.transpose(tmp405, (3, 1, 2, 0)) * -2 - del tmp405 - tmp429 = np.copy(tmp399) * 12 - tmp429 += tmp61 * 3 - tmp427 = einsum(tmp62, (0, 1, 2, 3, 4, 5), l3, (6, 3, 5, 0, 1, 2), (6, 4)) * -2 - tmp429 += tmp427 - del tmp427 - tmp428 = einsum(tmp55, (0, 1, 2, 3), t2, (0, 1, 4, 2), (4, 3)) * 12 - tmp429 += np.transpose(tmp428, (1, 0)) - del tmp428 - rdm2.vovo += einsum(delta.oo, (0, 1), tmp429, (2, 3), (2, 0, 3, 1)) * 0.16666666666666 - del tmp429 - rdm2.voov = einsum(t1, (0, 1), l1, (2, 3), (2, 0, 3, 1)) * 4 - rdm2.voov += np.transpose(tmp92, (2, 1, 0, 3)) * 0.5 - rdm2.voov += np.transpose(tmp424, (2, 1, 0, 3)) * 2 - del tmp424 - rdm2.voov += np.transpose(tmp388, (2, 1, 0, 3)) * -2 - del tmp388 - rdm2.voov += np.transpose(tmp392, (2, 1, 0, 3)) * 2 - del tmp392 - rdm2.voov += np.transpose(tmp390, (2, 1, 0, 3)) * -2 - del tmp390 - tmp413 = np.copy(np.transpose(tmp393, (0, 2, 1, 3))) * -0.5 - del tmp393 - tmp412 = einsum(l3, (0, 1, 2, 3, 4, 5), tmp141, (5, 4, 6, 1), (3, 0, 2, 6)) * -1 - tmp413 += np.transpose(tmp412, (0, 2, 1, 3)) - del tmp412 - tmp414 = einsum(tmp413, (0, 1, 2, 3), t1, (4, 1), (4, 0, 2, 3)) * 2 - del tmp413 - rdm2.voov += np.transpose(tmp414, (2, 0, 1, 3)) * 2 - rdm2.voov += np.transpose(tmp398, (3, 1, 0, 2)) * 2 - del tmp398 - rdm2.voov += einsum(tmp406, (0, 1), delta.oo, (2, 3), (0, 2, 3, 1)) * -2 - tmp124 = einsum(t3, (0, 1, 2, 3, 4, 5), l3, (6, 5, 4, 7, 2, 1), (7, 0, 6, 3)) - rdm2.voov += np.transpose(tmp124, (2, 1, 0, 3)) * 2 - tmp123 = einsum(t2, (0, 1, 2, 3), l2, (4, 2, 5, 1), (5, 0, 4, 3)) - rdm2.voov += np.transpose(tmp123, (2, 1, 0, 3)) * -2 - tmp128 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * 0.5 - tmp128 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) - tmp129 = einsum(tmp128, (0, 1, 2, 3, 4, 5), l3, (3, 6, 4, 0, 7, 2), (7, 1, 6, 5)) * 0.5 - rdm2.voov += np.transpose(tmp129, (2, 1, 0, 3)) * -2 - tmp126 = np.copy(np.transpose(l3, (3, 5, 4, 0, 2, 1))) * -1 - tmp126 += np.transpose(l3, (3, 4, 5, 0, 2, 1)) * 2 - tmp127 = einsum(tmp126, (0, 1, 2, 3, 4, 5), t3, (0, 6, 1, 5, 7, 3), (6, 2, 7, 4)) * 0.25 - rdm2.voov += np.transpose(tmp127, (3, 0, 1, 2)) * -2 - rdm2.voov += np.transpose(tmp193, (3, 0, 1, 2)) * 2 - tmp422 = einsum(tmp345, (0, 1, 2, 3), t1, (4, 2), (4, 0, 1, 3)) - rdm2.voov += np.transpose(tmp422, (2, 0, 1, 3)) * -2 - tmp423 = einsum(t1, (0, 1), tmp404, (2, 0, 3, 4), (2, 3, 1, 4)) - del tmp404 - rdm2.voov += np.transpose(tmp423, (3, 1, 0, 2)) * -2 - rdm2.ovvo = einsum(t1, (0, 1), l1, (2, 3), (0, 2, 1, 3)) * 4 - rdm2.ovvo += np.transpose(tmp92, (1, 2, 3, 0)) * 0.5 - tmp407 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) - tmp407 += np.transpose(t3, (0, 2, 1, 3, 4, 5)) * -1 - tmp258 = np.copy(np.transpose(l3, (3, 5, 4, 0, 2, 1))) * -1 - tmp258 += np.transpose(l3, (3, 4, 5, 0, 2, 1)) - tmp408 = einsum(tmp407, (0, 1, 2, 3, 4, 5), tmp258, (0, 2, 6, 4, 7, 3), (6, 1, 7, 5)) * 0.25 - del tmp407 - rdm2.ovvo += np.transpose(tmp408, (1, 2, 3, 0)) * 2 - del tmp408 - tmp409 = np.copy(np.transpose(l3, (3, 5, 4, 0, 2, 1))) * -1 - tmp409 += np.transpose(l3, (3, 4, 5, 0, 2, 1)) * 5 - tmp410 = einsum(tmp409, (0, 1, 2, 3, 4, 5), t3, (6, 1, 0, 7, 5, 3), (6, 2, 7, 4)) * 0.25 - del tmp409 - rdm2.ovvo += np.transpose(tmp410, (0, 3, 2, 1)) * 2 - del tmp410 - tmp411 = einsum(tmp95, (0, 1, 2, 3, 4, 5), l3, (6, 5, 3, 7, 0, 2), (7, 1, 6, 4)) * 0.25 - rdm2.ovvo += np.transpose(tmp411, (1, 2, 3, 0)) * -2 - del tmp411 - rdm2.ovvo += np.transpose(tmp193, (0, 3, 2, 1)) * 4 - tmp195 = np.copy(np.transpose(l2, (3, 2, 0, 1))) - tmp195 += np.transpose(l2, (2, 3, 0, 1)) * -1 - tmp196 = einsum(t2, (0, 1, 2, 3), tmp195, (1, 4, 5, 2), (0, 4, 3, 5)) - del tmp195 - rdm2.ovvo += np.transpose(tmp196, (0, 3, 2, 1)) * -2 - rdm2.ovvo += np.transpose(tmp414, (0, 2, 3, 1)) * 2 - del tmp414 - rdm2.ovvo += np.transpose(tmp417, (1, 3, 2, 0)) * 2 - del tmp417 - rdm2.ovvo += einsum(delta.oo, (0, 1), tmp419, (2, 3), (0, 2, 3, 1)) * -0.33333333333332 - rdm2.ovvo += np.transpose(tmp124, (1, 2, 3, 0)) * 2 - rdm2.ovvo += np.transpose(tmp123, (1, 2, 3, 0)) * -2 - rdm2.ovvo += np.transpose(tmp129, (1, 2, 3, 0)) * -2 - tmp420 = np.copy(np.transpose(l3, (3, 5, 4, 0, 2, 1))) * -0.5 - tmp420 += np.transpose(l3, (3, 4, 5, 0, 2, 1)) - tmp421 = einsum(tmp420, (0, 1, 2, 3, 4, 5), t3, (0, 6, 1, 5, 7, 3), (6, 2, 7, 4)) * 0.5 - del tmp420 - rdm2.ovvo += np.transpose(tmp421, (0, 3, 2, 1)) * -2 - del tmp421 - rdm2.ovvo += np.transpose(tmp422, (0, 2, 3, 1)) * -2 - rdm2.ovvo += np.transpose(tmp423, (1, 3, 2, 0)) * -2 - del tmp423 - tmp304 = einsum(t2, (0, 1, 2, 3), tmp80, (1, 4, 2, 5), (0, 4, 3, 5)) - rdm2.vovv = np.copy(np.transpose(tmp304, (1, 0, 3, 2))) * -2 - tmp229 = einsum(t2, (0, 1, 2, 3), tmp114, (1, 3, 4, 5), (0, 4, 2, 5)) - tmp477 = np.copy(tmp229) - tmp230 = np.copy(np.transpose(l2, (3, 2, 0, 1))) * -1 - tmp230 += np.transpose(l2, (2, 3, 0, 1)) - tmp430 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp230, (1, 2, 6, 5), (0, 3, 4, 6)) * 0.5 - tmp477 += np.transpose(tmp430, (0, 3, 1, 2)) - tmp431 = einsum(tmp10, (0, 1, 2, 3), t2, (0, 1, 4, 5), (2, 4, 5, 3)) * 0.5 - tmp477 += np.transpose(tmp431, (0, 3, 1, 2)) * -1 - tmp434 = np.copy(tmp92) - tmp94 = einsum(tmp93, (0, 1, 2, 3, 4, 5), l3, (6, 5, 3, 7, 0, 2), (7, 1, 6, 4)) - del tmp93 - tmp434 += tmp94 - tmp96 = einsum(tmp95, (0, 1, 2, 3, 4, 5), l3, (6, 3, 4, 0, 7, 2), (7, 1, 6, 5)) * -1 - tmp434 += tmp96 * -1 - tmp432 = einsum(tmp395, (0, 1, 2, 3), t1, (4, 1), (4, 0, 2, 3)) * 4 - del tmp395 - tmp434 += np.transpose(tmp432, (1, 0, 2, 3)) - del tmp432 - tmp433 = einsum(t1, (0, 1), tmp10, (2, 0, 3, 4), (2, 3, 1, 4)) * 2 - tmp434 += np.transpose(tmp433, (0, 1, 3, 2)) - del tmp433 - tmp435 = einsum(tmp434, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4)) * 0.25 - del tmp434 - tmp477 += np.transpose(tmp435, (0, 1, 3, 2)) * -1 - tmp438 = np.copy(np.transpose(tmp286, (1, 0, 3, 2))) - tmp436 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * -1 - tmp436 += np.transpose(t3, (1, 0, 2, 3, 5, 4)) * -2 - tmp437 = einsum(tmp436, (0, 1, 2, 3, 4, 5), l3, (6, 3, 7, 0, 2, 1), (4, 5, 6, 7)) * 0.16666666666667 - del tmp436 - tmp438 += np.transpose(tmp437, (3, 2, 1, 0)) * -1 - del tmp437 - tmp439 = einsum(tmp438, (0, 1, 2, 3), t1, (4, 0), (4, 1, 2, 3)) - del tmp438 - tmp477 += np.transpose(tmp439, (0, 1, 3, 2)) - tmp477 += einsum(tmp406, (0, 1), t1, (2, 3), (2, 0, 3, 1)) - del tmp406 - rdm2.vovv += np.transpose(tmp477, (1, 0, 2, 3)) * -2 - rdm2.vovv += np.transpose(tmp477, (1, 0, 3, 2)) * 2 - del tmp477 - tmp444 = einsum(tmp35, (0, 1, 2, 3), tmp9, (0, 4, 5, 1), (4, 2, 3, 5)) * 2 - rdm2.vovv += np.transpose(tmp444, (1, 0, 3, 2)) * -2 - rdm2.vovv += np.transpose(tmp444, (1, 0, 2, 3)) - tmp308 = einsum(t2, (0, 1, 2, 3), tmp80, (1, 4, 3, 5), (0, 4, 2, 5)) - rdm2.vovv += np.transpose(tmp308, (1, 0, 2, 3)) * -2 - rdm2.vovv += np.transpose(tmp308, (1, 0, 3, 2)) * 4 - tmp445 = einsum(t2, (0, 1, 2, 3), l1, (4, 1), (0, 4, 2, 3)) - tmp480 = np.copy(tmp445) - tmp448 = einsum(t1, (0, 1), tmp1, (2, 0, 3, 4), (2, 3, 4, 1)) - tmp478 = np.copy(tmp448) - tmp74 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * -1 - tmp74 += t2 - tmp75 = einsum(l2, (0, 1, 2, 3), tmp74, (2, 4, 1, 5), (3, 4, 0, 5)) - del tmp74 - tmp478 += tmp75 - tmp40 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * -1 - tmp40 += t2 * 2 - tmp73 = einsum(l2, (0, 1, 2, 3), tmp40, (3, 4, 1, 5), (2, 4, 0, 5)) - tmp478 += tmp73 * -1 - tmp479 = einsum(tmp478, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4)) - del tmp478 - tmp480 += np.transpose(tmp479, (0, 1, 3, 2)) - del tmp479 - rdm2.vovv += np.transpose(tmp480, (1, 0, 2, 3)) * -2 - rdm2.vovv += np.transpose(tmp480, (1, 0, 3, 2)) * 2 - del tmp480 - tmp450 = np.copy(np.transpose(l2, (3, 2, 0, 1))) - tmp450 += np.transpose(l2, (2, 3, 0, 1)) * -0.3333333333333333 - tmp451 = einsum(tmp450, (0, 1, 2, 3), t3, (4, 0, 1, 5, 3, 6), (4, 5, 6, 2)) * -1.5 - del tmp450 - rdm2.vovv += np.transpose(tmp451, (3, 0, 2, 1)) * -2 - tmp259 = einsum(t2, (0, 1, 2, 3), tmp258, (0, 1, 4, 5, 6, 2), (4, 3, 5, 6)) - del tmp258 - tmp481 = einsum(tmp259, (0, 1, 2, 3), tmp179, (0, 4, 5, 3), (4, 5, 2, 1)) - rdm2.vovv += np.transpose(tmp481, (2, 0, 1, 3)) * -2 - del tmp481 - tmp453 = einsum(tmp81, (0, 1, 2, 3), tmp179, (0, 4, 5, 2), (4, 5, 1, 3)) * -1 - rdm2.vovv += np.transpose(tmp453, (2, 0, 3, 1)) * -2 - tmp482 = einsum(tmp3, (0, 1, 2, 3), t2, (1, 0, 4, 5), (2, 4, 5, 3)) * 0.5 - rdm2.vovv += np.transpose(tmp482, (3, 0, 2, 1)) * 2 - del tmp482 - tmp483 = np.copy(np.transpose(tmp187, (1, 0, 3, 2))) * 2 - tmp455 = einsum(t3, (0, 1, 2, 3, 4, 5), l3, (6, 4, 7, 0, 2, 1), (6, 7, 3, 5)) - tmp483 += np.transpose(tmp455, (1, 0, 3, 2)) * -1 - tmp484 = einsum(tmp483, (0, 1, 2, 3), t1, (4, 0), (4, 1, 2, 3)) * 0.33333333333334 - del tmp483 - rdm2.vovv += np.transpose(tmp484, (1, 0, 3, 2)) * -2 - del tmp484 - tmp485 = einsum(t1, (0, 1), tmp3, (2, 0, 3, 4), (2, 3, 1, 4)) - tmp486 = einsum(t1, (0, 1), tmp485, (0, 2, 3, 4), (2, 4, 3, 1)) * -0.5 - del tmp485 - rdm2.vovv += np.transpose(tmp486, (1, 0, 3, 2)) * -2 - del tmp486 - tmp344 = einsum(tmp24, (0, 1, 2, 3), t2, (1, 0, 4, 5), (2, 3, 5, 4)) - rdm2.vovv += np.transpose(tmp344, (1, 0, 2, 3)) * -2 - tmp364 = einsum(t2, (0, 1, 2, 3), tmp27, (1, 0, 4, 5), (4, 5, 3, 2)) - rdm2.vovv += np.transpose(tmp364, (1, 0, 3, 2)) * -2 - tmp363 = einsum(l2, (0, 1, 2, 3), t3, (4, 2, 3, 5, 6, 1), (4, 0, 5, 6)) - rdm2.vovv += np.transpose(tmp363, (1, 0, 3, 2)) * 2 - tmp342 = einsum(l2, (0, 1, 2, 3), t3, (2, 4, 3, 5, 6, 1), (4, 0, 5, 6)) - rdm2.vovv += np.transpose(tmp342, (1, 0, 2, 3)) * 2 - rdm2.vovv += np.transpose(tmp445, (1, 0, 3, 2)) * 2 - tmp489 = np.copy(tmp114) * -0.5 - tmp489 += np.transpose(tmp114, (0, 2, 1, 3)) * 0.5 - tmp487 = np.copy(np.transpose(l3, (3, 5, 4, 0, 2, 1))) * -0.5 - tmp487 += np.transpose(l3, (3, 5, 4, 1, 0, 2)) * -0.5 - tmp487 += np.transpose(l3, (3, 4, 5, 0, 2, 1)) - tmp488 = einsum(t2, (0, 1, 2, 3), tmp487, (0, 4, 1, 3, 5, 6), (4, 5, 6, 2)) - del tmp487 - tmp489 += tmp488 * -1 - del tmp488 - tmp490 = einsum(tmp489, (0, 1, 2, 3), t2, (4, 0, 5, 2), (4, 1, 3, 5)) * 2 - del tmp489 - rdm2.vovv += np.transpose(tmp490, (1, 0, 2, 3)) * 2 - del tmp490 - tmp466 = einsum(t2, (0, 1, 2, 3), tmp345, (1, 2, 4, 5), (0, 3, 4, 5)) - rdm2.vovv += np.transpose(tmp466, (2, 0, 3, 1)) * -2 - tmp346 = einsum(t2, (0, 1, 2, 3), tmp345, (1, 4, 2, 5), (0, 3, 4, 5)) - rdm2.vovv += np.transpose(tmp346, (2, 0, 1, 3)) * -2 - tmp496 = np.copy(tmp123) * 2 - tmp496 += tmp124 * -2 - tmp491 = einsum(tmp126, (0, 1, 2, 3, 4, 5), t3, (0, 6, 1, 5, 7, 3), (6, 2, 7, 4)) * 0.5 - del tmp126 - tmp496 += np.transpose(tmp491, (1, 0, 3, 2)) - del tmp491 - tmp492 = einsum(tmp128, (0, 1, 2, 3, 4, 5), l3, (3, 6, 4, 0, 7, 2), (7, 1, 6, 5)) - tmp496 += tmp492 - del tmp492 - tmp493 = einsum(t2, (0, 1, 2, 3), tmp55, (1, 4, 5, 3), (0, 4, 2, 5)) * 2 - tmp496 += np.transpose(tmp493, (1, 0, 3, 2)) * -1 - del tmp493 - tmp494 = einsum(tmp345, (0, 1, 2, 3), t1, (4, 2), (4, 0, 1, 3)) * 2 - tmp496 += np.transpose(tmp494, (1, 0, 2, 3)) - del tmp494 - tmp467 = np.copy(tmp1) - tmp467 += tmp24 - tmp495 = einsum(t1, (0, 1), tmp467, (2, 0, 3, 4), (2, 3, 4, 1)) * 2 - tmp496 += tmp495 - del tmp495 - tmp497 = einsum(tmp496, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4)) * 0.5 - del tmp496 - rdm2.vovv += np.transpose(tmp497, (1, 0, 3, 2)) * -2 - del tmp497 - tmp471 = np.copy(np.transpose(tmp286, (1, 0, 3, 2))) * 2 - tmp471 += tmp328 - tmp471 += np.transpose(tmp328, (1, 0, 3, 2)) - tmp472 = einsum(tmp471, (0, 1, 2, 3), t1, (4, 0), (4, 1, 2, 3)) * 0.50000000000001 - del tmp471 - rdm2.vovv += np.transpose(tmp472, (1, 0, 3, 2)) * -2 - tmp498 = np.copy(tmp133) - tmp498 += tmp134 * 0.5 - tmp498 += tmp135 * 0.5 - tmp473 = einsum(tmp27, (0, 1, 2, 3), t1, (1, 4), (0, 2, 3, 4)) - tmp498 += tmp473 - tmp498 += np.transpose(tmp403, (1, 0, 2, 3)) - del tmp403 - tmp499 = einsum(tmp498, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4)) - del tmp498 - rdm2.vovv += np.transpose(tmp499, (1, 0, 2, 3)) * -2 - del tmp499 - rdm2.vovv += einsum(tmp419, (0, 1), t1, (2, 3), (0, 2, 1, 3)) * 0.33333333333332 - del tmp419 - rdm2.ovvv = np.copy(np.transpose(tmp304, (0, 1, 3, 2))) * 2 - tmp443 = np.copy(tmp229) - tmp443 += np.transpose(tmp430, (0, 3, 1, 2)) - del tmp430 - tmp443 += np.transpose(tmp431, (0, 3, 1, 2)) * -1 - del tmp431 - tmp443 += np.transpose(tmp435, (0, 1, 3, 2)) * -1 - del tmp435 - tmp443 += np.transpose(tmp439, (0, 1, 3, 2)) - del tmp439 - tmp442 = np.copy(tmp61) * 0.124999999999995 - tmp440 = einsum(tmp62, (0, 1, 2, 3, 4, 5), l3, (6, 3, 5, 0, 1, 2), (6, 4)) * -0.08333333333333 - del tmp62 - tmp442 += tmp440 - del tmp440 - tmp441 = einsum(tmp55, (0, 1, 2, 3), t2, (0, 1, 4, 2), (4, 3)) * 0.5 - tmp442 += np.transpose(tmp441, (1, 0)) - del tmp441 - tmp443 += einsum(t1, (0, 1), tmp442, (2, 3), (0, 2, 1, 3)) * 2 - del tmp442 - rdm2.ovvv += tmp443 * 2 - rdm2.ovvv += np.transpose(tmp443, (0, 1, 3, 2)) * -2 - del tmp443 - rdm2.ovvv += np.transpose(tmp444, (0, 1, 3, 2)) * 2 - rdm2.ovvv += tmp444 * -1 - del tmp444 - rdm2.ovvv += tmp308 * 2 - rdm2.ovvv += np.transpose(tmp308, (0, 1, 3, 2)) * -4 - tmp447 = np.copy(tmp445) - tmp447 += einsum(t1, (0, 1), tmp399, (2, 3), (0, 2, 1, 3)) - del tmp399 - tmp76 = np.copy(tmp73) - del tmp73 - tmp76 += tmp75 * -1 - del tmp75 - tmp446 = einsum(t1, (0, 1), tmp76, (0, 2, 3, 4), (2, 1, 3, 4)) - tmp447 += np.transpose(tmp446, (0, 2, 1, 3)) * -1 - del tmp446 - rdm2.ovvv += tmp447 * 2 - rdm2.ovvv += np.transpose(tmp447, (0, 1, 3, 2)) * -2 - del tmp447 - tmp449 = einsum(t1, (0, 1), tmp448, (0, 2, 3, 4), (2, 3, 1, 4)) - del tmp448 - rdm2.ovvv += tmp449 * 2 - rdm2.ovvv += np.transpose(tmp449, (0, 1, 3, 2)) * -2 - del tmp449 - rdm2.ovvv += np.transpose(tmp451, (0, 3, 2, 1)) * 2 - del tmp451 - tmp452 = einsum(tmp259, (0, 1, 2, 3), tmp9, (0, 4, 5, 3), (4, 5, 2, 1)) - rdm2.ovvv += np.transpose(tmp452, (0, 2, 1, 3)) * -2 - del tmp452 - rdm2.ovvv += np.transpose(tmp453, (0, 2, 3, 1)) * 2 - del tmp453 - tmp156 = einsum(l3, (0, 1, 2, 3, 4, 5), tmp2, (4, 6, 2, 1), (3, 5, 6, 0)) * -0.3333333333333333 - del tmp2 - tmp454 = einsum(tmp156, (0, 1, 2, 3), t2, (1, 0, 4, 5), (2, 4, 5, 3)) * 1.5 - rdm2.ovvv += np.transpose(tmp454, (0, 3, 2, 1)) * -2 - del tmp454 - tmp456 = np.copy(np.transpose(tmp187, (1, 0, 3, 2))) - tmp456 += np.transpose(tmp455, (1, 0, 3, 2)) * -0.5 - del tmp455 - tmp457 = einsum(tmp456, (0, 1, 2, 3), t1, (4, 0), (4, 1, 2, 3)) * 0.66666666666668 - del tmp456 - rdm2.ovvv += np.transpose(tmp457, (0, 1, 3, 2)) * 2 - del tmp457 - tmp458 = einsum(t1, (0, 1), tmp3, (2, 0, 3, 4), (2, 3, 1, 4)) * 0.3333333333333333 - tmp459 = einsum(t1, (0, 1), tmp458, (0, 2, 3, 4), (2, 4, 3, 1)) * -1.5 - del tmp458 - rdm2.ovvv += np.transpose(tmp459, (0, 1, 3, 2)) * 2 - del tmp459 - rdm2.ovvv += tmp364 * -2 - rdm2.ovvv += np.transpose(tmp344, (0, 1, 3, 2)) * -2 - rdm2.ovvv += tmp363 * 2 - rdm2.ovvv += np.transpose(tmp342, (0, 1, 3, 2)) * 2 - rdm2.ovvv += tmp445 * 2 - del tmp445 - tmp460 = np.copy(np.transpose(l3, (3, 5, 4, 0, 2, 1))) - tmp460 += np.transpose(l3, (3, 5, 4, 1, 0, 2)) - tmp460 += np.transpose(l3, (3, 4, 5, 1, 0, 2)) * -1 - tmp461 = einsum(t2, (0, 1, 2, 3), tmp460, (0, 4, 1, 2, 5, 6), (4, 5, 6, 3)) - del tmp460 - tmp464 = np.copy(tmp461) - del tmp461 - tmp462 = np.copy(np.transpose(l3, (3, 5, 4, 0, 2, 1))) - tmp462 += np.transpose(l3, (3, 4, 5, 0, 1, 2)) * 0.5 - tmp463 = einsum(tmp462, (0, 1, 2, 3, 4, 5), t2, (0, 2, 6, 5), (1, 3, 4, 6)) * 2 - del tmp462 - tmp464 += np.transpose(tmp463, (0, 2, 1, 3)) - del tmp463 - tmp465 = einsum(t2, (0, 1, 2, 3), tmp464, (1, 3, 4, 5), (0, 4, 5, 2)) - del tmp464 - rdm2.ovvv += np.transpose(tmp465, (0, 1, 3, 2)) * 2 - del tmp465 - rdm2.ovvv += np.transpose(tmp466, (0, 2, 1, 3)) * -2 - del tmp466 - rdm2.ovvv += np.transpose(tmp346, (0, 2, 3, 1)) * -2 - tmp469 = np.copy(tmp123) - tmp469 += tmp124 * -1 - tmp469 += np.transpose(tmp127, (1, 0, 3, 2)) - tmp469 += tmp129 - tmp130 = einsum(t2, (0, 1, 2, 3), tmp55, (1, 4, 5, 3), (0, 4, 2, 5)) - del tmp55 - tmp469 += np.transpose(tmp130, (1, 0, 3, 2)) * -1 - tmp469 += np.transpose(tmp422, (1, 0, 2, 3)) - del tmp422 - tmp468 = einsum(t1, (0, 1), tmp467, (2, 0, 3, 4), (2, 3, 4, 1)) - del tmp467 - tmp469 += tmp468 - del tmp468 - tmp470 = einsum(t1, (0, 1), tmp469, (0, 2, 3, 4), (2, 3, 4, 1)) - del tmp469 - rdm2.ovvv += tmp470 * -2 - del tmp470 - rdm2.ovvv += tmp472 * -2 - del tmp472 - tmp475 = np.copy(tmp133) * 2 - tmp475 += tmp134 - tmp475 += tmp135 - tmp475 += tmp473 * 2 - del tmp473 - tmp474 = einsum(tmp345, (0, 1, 2, 3), t1, (4, 1), (4, 0, 2, 3)) * 2 - del tmp345 - tmp475 += np.transpose(tmp474, (1, 0, 2, 3)) - del tmp474 - tmp476 = einsum(tmp475, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4)) * 0.5 - del tmp475 - rdm2.ovvv += np.transpose(tmp476, (0, 1, 3, 2)) * -2 - del tmp476 - rdm2.ovvv += einsum(t1, (0, 1), tmp402, (2, 3), (0, 2, 1, 3)) * 1.16666666666662 - del tmp402 - tmp34 = einsum(t3, (0, 1, 2, 3, 4, 5), l2, (5, 4, 2, 6), (6, 0, 1, 3)) - rdm2.ooov = np.copy(np.transpose(tmp34, (1, 2, 0, 3))) * 2 - tmp36 = einsum(t2, (0, 1, 2, 3), tmp35, (4, 2, 3, 5), (4, 0, 1, 5)) - rdm2.ooov += np.transpose(tmp36, (1, 2, 0, 3)) * 2 - tmp37 = einsum(tmp35, (0, 1, 2, 3), t1, (4, 1), (0, 4, 2, 3)) * -1 - tmp38 = einsum(t1, (0, 1), tmp37, (2, 3, 1, 4), (2, 3, 0, 4)) * -1 - del tmp37 - rdm2.ooov += np.transpose(tmp38, (2, 1, 0, 3)) * -2 - tmp39 = einsum(tmp12, (0, 1), t1, (0, 2), (1, 2)) - tmp42 = np.copy(tmp39) - tmp41 = einsum(l1, (0, 1), tmp40, (1, 2, 0, 3), (2, 3)) - del tmp40 - tmp42 += tmp41 * -1 - rdm2.ooov += einsum(tmp42, (0, 1), delta.oo, (2, 3), (0, 2, 3, 1)) * 2 - rdm2.ooov += einsum(delta.oo, (0, 1), tmp42, (2, 3), (0, 2, 1, 3)) * -2 - tmp60 = np.copy(t1) - tmp43 = einsum(l2, (0, 1, 2, 3), t3, (4, 2, 3, 5, 1, 0), (4, 5)) - tmp60 += tmp43 * -0.5 - tmp44 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * -0.3333333333333333 - tmp44 += np.transpose(t3, (0, 1, 2, 3, 5, 4)) * 0.3333333333333333 - tmp44 += np.transpose(t3, (0, 1, 2, 4, 3, 5)) - tmp45 = einsum(tmp44, (0, 1, 2, 3, 4, 5), l2, (4, 3, 0, 1), (2, 5)) * 1.5 - tmp60 += tmp45 - tmp46 = np.copy(np.transpose(l3, (3, 5, 4, 0, 2, 1))) - tmp46 += np.transpose(l3, (3, 5, 4, 0, 1, 2)) * -2 - tmp46 += np.transpose(l3, (4, 3, 5, 0, 2, 1)) - tmp47 = einsum(t2, (0, 1, 2, 3), tmp46, (1, 4, 5, 3, 6, 2), (0, 4, 5, 6)) - del tmp46 - tmp50 = np.copy(np.transpose(tmp47, (1, 2, 0, 3))) * -1 - del tmp47 - tmp48 = np.copy(np.transpose(l3, (3, 5, 4, 0, 2, 1))) * -1 - tmp48 += np.transpose(l3, (4, 3, 5, 0, 2, 1)) * -3 - tmp49 = einsum(t2, (0, 1, 2, 3), tmp48, (1, 4, 5, 2, 6, 3), (0, 4, 5, 6)) - del tmp48 - tmp50 += np.transpose(tmp49, (1, 2, 0, 3)) * -1 - del tmp49 - tmp51 = einsum(tmp50, (0, 1, 2, 3), t2, (0, 1, 4, 3), (2, 4)) * 0.5 - tmp60 += tmp51 * -1 - tmp52 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * -1 - tmp52 += t2 * 3 - tmp53 = einsum(l3, (0, 1, 2, 3, 4, 5), tmp52, (5, 6, 2, 1), (3, 4, 6, 0)) - del tmp52 - tmp54 = einsum(t2, (0, 1, 2, 3), tmp53, (0, 1, 4, 2), (4, 3)) * 0.5 - tmp60 += tmp54 * -1 - tmp57 = einsum(t1, (0, 1), tmp56, (2, 1), (0, 2)) - tmp60 += tmp57 * -1 - tmp58 = einsum(tmp17, (0, 1, 2, 3), l2, (3, 2, 0, 4), (4, 1)) - tmp59 = einsum(tmp58, (0, 1), t1, (0, 2), (1, 2)) * 2 - del tmp58 - tmp60 += tmp59 * -1 - del tmp59 - rdm2.ooov += einsum(tmp60, (0, 1), delta.oo, (2, 3), (0, 2, 3, 1)) * -2 - rdm2.ooov += einsum(tmp60, (0, 1), delta.oo, (2, 3), (2, 0, 3, 1)) * 2 - del tmp60 - tmp64 = np.copy(tmp61) * 1.5 - tmp64 += tmp63 - del tmp63 - tmp65 = einsum(t1, (0, 1), tmp64, (1, 2), (0, 2)) - del tmp64 - tmp70 = np.copy(tmp65) - del tmp65 - tmp66 = einsum(tmp13, (0, 1, 2, 3, 4, 5), l3, (4, 3, 5, 6, 2, 0), (6, 1)) * -1 - tmp68 = np.copy(tmp66) - tmp67 = einsum(l3, (0, 1, 2, 3, 4, 5), tmp15, (3, 6, 5, 1, 0, 2), (4, 6)) * 0.5 - tmp68 += tmp67 * -1 - tmp69 = einsum(tmp68, (0, 1), t1, (0, 2), (1, 2)) - del tmp68 - tmp70 += tmp69 - del tmp69 - rdm2.ooov += einsum(tmp70, (0, 1), delta.oo, (2, 3), (0, 2, 3, 1)) * 0.33333333333332 - rdm2.ooov += einsum(tmp70, (0, 1), delta.oo, (2, 3), (2, 0, 3, 1)) * -0.33333333333332 - tmp71 = einsum(l1, (0, 1), t2, (2, 3, 4, 0), (1, 2, 3, 4)) - tmp78 = np.copy(tmp71) - tmp72 = einsum(t1, (0, 1), tmp22, (2, 0, 3, 4), (2, 3, 4, 1)) - tmp78 += tmp72 - tmp77 = einsum(t1, (0, 1), tmp76, (2, 3, 1, 4), (0, 2, 3, 4)) - del tmp76 - tmp78 += np.transpose(tmp77, (1, 0, 2, 3)) * -1 - rdm2.ooov += np.transpose(tmp78, (1, 2, 0, 3)) * 2 - rdm2.ooov += np.transpose(tmp78, (2, 1, 0, 3)) * -2 - del tmp78 - rdm2.ooov += einsum(tmp12, (0, 1), t1, (2, 3), (2, 1, 0, 3)) * 2 - rdm2.ooov += einsum(tmp12, (0, 1), t1, (2, 3), (1, 2, 0, 3)) * -2 - tmp79 = einsum(tmp24, (0, 1, 2, 3), t2, (4, 0, 3, 5), (1, 4, 2, 5)) - tmp103 = np.copy(tmp79) * -0.5 - tmp83 = einsum(t2, (0, 1, 2, 3), tmp82, (4, 3, 2, 5), (0, 1, 4, 5)) * 0.5 - tmp103 += np.transpose(tmp83, (2, 1, 0, 3)) * -1 - tmp87 = np.copy(tmp24) - tmp84 = einsum(t2, (0, 1, 2, 3), l3, (4, 3, 2, 5, 6, 1), (5, 6, 0, 4)) - tmp87 += tmp84 * -1 - tmp87 += np.transpose(tmp84, (1, 0, 2, 3)) - tmp87 += np.transpose(tmp86, (1, 0, 2, 3)) - tmp88 = einsum(tmp9, (0, 1, 2, 3), tmp87, (4, 0, 5, 2), (1, 4, 5, 3)) * 0.5 - tmp103 += np.transpose(tmp88, (1, 0, 2, 3)) - tmp89 = np.copy(np.transpose(l3, (3, 5, 4, 0, 2, 1))) - tmp89 += np.transpose(l3, (3, 4, 5, 0, 1, 2)) * 0.6666666666666666 - tmp90 = einsum(t2, (0, 1, 2, 3), tmp89, (1, 4, 5, 3, 6, 2), (0, 4, 5, 6)) - del tmp89 - tmp91 = einsum(t2, (0, 1, 2, 3), tmp90, (4, 1, 5, 3), (0, 5, 4, 2)) * 1.5 - tmp103 += np.transpose(tmp91, (1, 0, 2, 3)) - tmp97 = np.copy(tmp92) - del tmp92 - tmp97 += tmp94 - del tmp94 - tmp97 += tmp96 * -1 - del tmp96 - tmp98 = einsum(t1, (0, 1), tmp97, (2, 3, 1, 4), (0, 2, 3, 4)) * 0.25 - tmp103 += np.transpose(tmp98, (1, 0, 2, 3)) * -1 - tmp101 = np.copy(np.transpose(tmp0, (1, 0, 3, 2))) * 2 - tmp99 = einsum(tmp10, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) - tmp101 += np.transpose(tmp99, (1, 2, 3, 0)) - tmp101 += np.transpose(tmp99, (2, 1, 3, 0)) * -1 - tmp100 = einsum(t1, (0, 1), tmp3, (2, 3, 4, 1), (0, 3, 2, 4)) - tmp101 += np.transpose(tmp100, (2, 1, 3, 0)) - del tmp100 - tmp102 = einsum(t1, (0, 1), tmp101, (0, 2, 3, 4), (2, 3, 4, 1)) * 0.5 - del tmp101 - tmp103 += np.transpose(tmp102, (0, 2, 1, 3)) - del tmp102 - tmp103 += einsum(tmp32, (0, 1), t1, (2, 3), (0, 2, 1, 3)) * 0.08333333333333 - rdm2.ooov += np.transpose(tmp103, (1, 2, 0, 3)) * 2 - rdm2.ooov += np.transpose(tmp103, (2, 1, 0, 3)) * -2 - del tmp103 - tmp104 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) - tmp104 += np.transpose(t3, (0, 2, 1, 3, 4, 5)) * -1 - tmp104 += np.transpose(t3, (1, 0, 2, 3, 5, 4)) - tmp105 = einsum(l2, (0, 1, 2, 3), tmp104, (2, 4, 5, 1, 6, 0), (3, 4, 5, 6)) - del tmp104 - rdm2.ooov += np.transpose(tmp105, (1, 2, 0, 3)) * -2 - del tmp105 - tmp106 = einsum(tmp82, (0, 1, 2, 3), t1, (4, 2), (4, 0, 1, 3)) - tmp107 = einsum(t1, (0, 1), tmp106, (2, 3, 1, 4), (0, 3, 2, 4)) - del tmp106 - rdm2.ooov += np.transpose(tmp107, (2, 0, 1, 3)) * 2 - tmp108 = einsum(tmp7, (0, 1, 2, 3, 4, 5), l3, (4, 3, 5, 6, 7, 0), (6, 7, 1, 2)) * -2 - tmp111 = np.copy(tmp108) * -1 - tmp111 += np.transpose(tmp108, (1, 0, 2, 3)) - tmp109 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) - tmp109 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) * 0.5 - tmp109 += np.transpose(t3, (1, 0, 2, 4, 3, 5)) * 1.5 - tmp110 = einsum(l3, (0, 1, 2, 3, 4, 5), tmp109, (4, 6, 7, 1, 0, 2), (3, 5, 6, 7)) * 2 - tmp111 += np.transpose(tmp110, (1, 0, 2, 3)) - del tmp110 - tmp112 = einsum(t1, (0, 1), tmp111, (0, 2, 3, 4), (2, 3, 4, 1)) * 0.16666666666667 - del tmp111 - rdm2.ooov += np.transpose(tmp112, (1, 2, 0, 3)) * 2 - del tmp112 - rdm2.ooov += np.transpose(tmp71, (2, 1, 0, 3)) * -2 - tmp113 = einsum(t3, (0, 1, 2, 3, 4, 5), l2, (3, 5, 6, 2), (6, 0, 1, 4)) - rdm2.ooov += np.transpose(tmp113, (1, 2, 0, 3)) * -2 - rdm2.ooov += np.transpose(tmp34, (2, 1, 0, 3)) * -2 - tmp115 = einsum(t2, (0, 1, 2, 3), tmp114, (4, 2, 3, 5), (4, 0, 1, 5)) - rdm2.ooov += np.transpose(tmp115, (1, 2, 0, 3)) * 2 - tmp116 = einsum(t2, (0, 1, 2, 3), tmp80, (4, 2, 3, 5), (4, 0, 1, 5)) - rdm2.ooov += np.transpose(tmp116, (2, 1, 0, 3)) * 2 - tmp117 = np.copy(np.transpose(tmp27, (1, 0, 2, 3))) * 2 - tmp117 += tmp24 * 3 - tmp117 += np.transpose(tmp24, (1, 0, 2, 3)) * -1 - tmp117 += tmp84 * -1 - tmp117 += np.transpose(tmp84, (1, 0, 2, 3)) - del tmp84 - tmp117 += np.transpose(tmp86, (1, 0, 2, 3)) - tmp118 = einsum(t2, (0, 1, 2, 3), tmp117, (1, 4, 5, 3), (0, 4, 5, 2)) * 0.5 - del tmp117 - rdm2.ooov += np.transpose(tmp118, (2, 0, 1, 3)) * -2 - tmp121 = einsum(tmp120, (0, 1, 2, 3), t2, (4, 1, 3, 5), (4, 2, 0, 5)) * -1 - rdm2.ooov += np.transpose(tmp121, (2, 0, 1, 3)) * 2 - tmp122 = einsum(tmp120, (0, 1, 2, 3), t2, (4, 2, 3, 5), (4, 1, 0, 5)) * -1 - del tmp120 - rdm2.ooov += np.transpose(tmp122, (0, 2, 1, 3)) * 2 - tmp131 = np.copy(tmp123) * -1 - tmp131 += tmp124 - tmp125 = einsum(tmp114, (0, 1, 2, 3), t1, (4, 2), (0, 4, 1, 3)) - tmp131 += tmp125 * -1 - tmp131 += np.transpose(tmp127, (1, 0, 3, 2)) * -1 - tmp131 += tmp129 * -1 - tmp131 += np.transpose(tmp130, (1, 0, 3, 2)) - del tmp130 - tmp132 = einsum(t1, (0, 1), tmp131, (2, 3, 1, 4), (0, 2, 3, 4)) - del tmp131 - rdm2.ooov += np.transpose(tmp132, (0, 2, 1, 3)) * -2 - tmp137 = np.copy(tmp133) - tmp137 += tmp134 * 0.5 - tmp137 += tmp135 * 0.5 - tmp136 = einsum(t1, (0, 1), tmp80, (2, 3, 1, 4), (2, 0, 3, 4)) - del tmp80 - tmp137 += tmp136 - tmp138 = einsum(t1, (0, 1), tmp137, (2, 3, 1, 4), (0, 2, 3, 4)) - del tmp137 - rdm2.ooov += np.transpose(tmp138, (2, 0, 1, 3)) * 2 - tmp139 = np.copy(np.transpose(tmp0, (1, 0, 3, 2))) - tmp139 += np.transpose(tmp22, (1, 0, 3, 2)) - del tmp22 - tmp139 += tmp26 - tmp139 += np.transpose(tmp26, (1, 0, 3, 2)) - tmp139 += np.transpose(tmp28, (0, 1, 3, 2)) - tmp139 += np.transpose(tmp28, (1, 0, 2, 3)) - tmp140 = einsum(tmp139, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4)) - del tmp139 - rdm2.ooov += np.transpose(tmp140, (2, 1, 0, 3)) * 2 - tmp149 = np.copy(t1) - tmp149 += tmp43 * -0.5 - tmp149 += tmp45 - tmp149 += tmp51 * -1 - tmp149 += tmp54 * -1 - tmp142 = einsum(l1, (0, 1), tmp141, (1, 2, 0, 3), (2, 3)) * 2 - tmp149 += tmp142 - del tmp142 - tmp144 = np.copy(tmp61) * 0.24999999999999 - del tmp61 - tmp144 += tmp143 - del tmp143 - tmp144 += np.transpose(tmp56, (1, 0)) - del tmp56 - tmp145 = einsum(tmp144, (0, 1), t1, (2, 0), (2, 1)) - tmp149 += tmp145 * -1 - del tmp145 - tmp147 = np.copy(tmp12) * 6 - tmp147 += tmp66 - del tmp66 - tmp147 += tmp67 * -1 - del tmp67 - tmp146 = einsum(tmp17, (0, 1, 2, 3), l2, (3, 2, 0, 4), (4, 1)) * 12 - tmp147 += tmp146 - del tmp146 - tmp148 = einsum(tmp147, (0, 1), t1, (0, 2), (1, 2)) * 0.16666666666666 - tmp149 += tmp148 * -1 - del tmp148 - rdm2.ooov += einsum(tmp149, (0, 1), delta.oo, (2, 3), (2, 0, 3, 1)) * 2 - del tmp149 - tmp150 = np.copy(tmp12) * 12 - tmp150 += tmp29 - del tmp29 - tmp150 += tmp30 * -1 - del tmp30 - tmp150 += tmp31 - del tmp31 - rdm2.ooov += einsum(tmp150, (0, 1), t1, (2, 3), (1, 2, 0, 3)) * -0.16666666666666 - del tmp150 - rdm2.oovo = np.copy(np.transpose(tmp34, (1, 2, 3, 0))) * -4 - rdm2.oovo += np.transpose(tmp36, (1, 2, 3, 0)) * -2 - rdm2.oovo += np.transpose(tmp38, (2, 1, 3, 0)) * 2 - del tmp38 - tmp151 = np.copy(t1) - tmp151 += tmp41 - rdm2.oovo += einsum(delta.oo, (0, 1), tmp151, (2, 3), (2, 0, 3, 1)) * 2 - rdm2.oovo += einsum(delta.oo, (0, 1), tmp151, (2, 3), (0, 2, 3, 1)) * -2 - del tmp151 - tmp155 = np.copy(tmp43) * -0.5 - tmp155 += tmp45 - del tmp45 - tmp155 += tmp51 * -1 - del tmp51 - tmp155 += tmp54 * -1 - del tmp54 - tmp155 += tmp57 * -1 - del tmp57 - tmp153 = np.copy(tmp12) - tmp152 = einsum(tmp17, (0, 1, 2, 3), l2, (3, 2, 0, 4), (4, 1)) * 2 - tmp153 += tmp152 - tmp154 = einsum(tmp153, (0, 1), t1, (0, 2), (1, 2)) - del tmp153 - tmp155 += tmp154 * -1 - del tmp154 - rdm2.oovo += einsum(tmp155, (0, 1), delta.oo, (2, 3), (0, 2, 1, 3)) * 2 - rdm2.oovo += einsum(tmp155, (0, 1), delta.oo, (2, 3), (2, 0, 1, 3)) * -2 - del tmp155 - rdm2.oovo += einsum(tmp70, (0, 1), delta.oo, (2, 3), (0, 2, 1, 3)) * -0.33333333333332 - rdm2.oovo += einsum(tmp70, (0, 1), delta.oo, (2, 3), (2, 0, 1, 3)) * 0.33333333333332 - del tmp70 - tmp161 = np.copy(tmp71) - tmp161 += tmp79 * -0.5 - tmp161 += np.transpose(tmp83, (2, 1, 0, 3)) * -1 - del tmp83 - tmp161 += np.transpose(tmp88, (1, 0, 2, 3)) - del tmp88 - tmp161 += np.transpose(tmp91, (1, 0, 2, 3)) - del tmp91 - tmp161 += np.transpose(tmp98, (1, 0, 2, 3)) * -1 - del tmp98 - tmp159 = np.copy(np.transpose(tmp0, (1, 0, 3, 2))) * 2 - tmp159 += np.transpose(tmp99, (1, 2, 3, 0)) - tmp159 += np.transpose(tmp99, (2, 1, 3, 0)) * -1 - tmp157 = np.copy(tmp1) * 0.6666666666666666 - del tmp1 - tmp157 += np.transpose(tmp156, (1, 0, 2, 3)) - tmp158 = einsum(t1, (0, 1), tmp157, (2, 3, 4, 1), (0, 2, 3, 4)) * 3 - del tmp157 - tmp159 += np.transpose(tmp158, (2, 1, 3, 0)) - del tmp158 - tmp160 = einsum(t1, (0, 1), tmp159, (0, 2, 3, 4), (2, 3, 4, 1)) * 0.5 - del tmp159 - tmp161 += np.transpose(tmp160, (0, 2, 1, 3)) - del tmp160 - tmp161 += einsum(tmp32, (0, 1), t1, (2, 3), (0, 2, 1, 3)) * 0.08333333333333 - del tmp32 - rdm2.oovo += np.transpose(tmp161, (1, 2, 3, 0)) * -2 - rdm2.oovo += np.transpose(tmp161, (2, 1, 3, 0)) * 2 - del tmp161 - tmp162 = einsum(t1, (0, 1), tmp12, (2, 3), (2, 0, 3, 1)) - tmp162 += np.transpose(tmp77, (1, 0, 2, 3)) * -1 - rdm2.oovo += np.transpose(tmp162, (1, 2, 3, 0)) * -2 - rdm2.oovo += np.transpose(tmp162, (2, 1, 3, 0)) * 2 - del tmp162 - tmp163 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) - tmp163 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) - tmp163 += np.transpose(t3, (1, 0, 2, 4, 3, 5)) - tmp164 = einsum(l2, (0, 1, 2, 3), tmp163, (2, 4, 5, 0, 1, 6), (3, 4, 5, 6)) - del tmp163 - rdm2.oovo += np.transpose(tmp164, (1, 2, 3, 0)) * 2 - del tmp164 - rdm2.oovo += np.transpose(tmp107, (2, 0, 3, 1)) * -2 - del tmp107 - tmp165 = einsum(tmp7, (0, 1, 2, 3, 4, 5), l3, (4, 3, 5, 6, 7, 0), (6, 7, 1, 2)) * -0.6666666666666666 - del tmp7 - tmp167 = np.copy(tmp165) * -1 - tmp167 += np.transpose(tmp165, (1, 0, 2, 3)) - del tmp165 - tmp166 = einsum(l3, (0, 1, 2, 3, 4, 5), tmp109, (4, 6, 7, 1, 0, 2), (3, 5, 6, 7)) * 0.6666666666666666 - del tmp109 - tmp167 += np.transpose(tmp166, (1, 0, 2, 3)) - del tmp166 - tmp168 = einsum(t1, (0, 1), tmp167, (0, 2, 3, 4), (2, 3, 4, 1)) * 0.50000000000001 - del tmp167 - rdm2.oovo += np.transpose(tmp168, (1, 2, 3, 0)) * -2 - del tmp168 - rdm2.oovo += np.transpose(tmp71, (1, 2, 3, 0)) * -2 - rdm2.oovo += np.transpose(tmp113, (2, 1, 3, 0)) * -2 - rdm2.oovo += np.transpose(tmp115, (2, 1, 3, 0)) * 2 - rdm2.oovo += np.transpose(tmp116, (1, 2, 3, 0)) * 2 - rdm2.oovo += np.transpose(tmp118, (0, 2, 3, 1)) * -2 - rdm2.oovo += np.transpose(tmp121, (0, 2, 3, 1)) * 2 - rdm2.oovo += np.transpose(tmp122, (2, 0, 3, 1)) * 2 - rdm2.oovo += np.transpose(tmp132, (2, 0, 3, 1)) * -2 - del tmp132 - rdm2.oovo += np.transpose(tmp138, (0, 2, 3, 1)) * 2 - del tmp138 - rdm2.oovo += np.transpose(tmp140, (1, 2, 3, 0)) * 2 - del tmp140 - tmp175 = np.copy(t1) * 2 - tmp175 += tmp43 * -1 - tmp169 = einsum(tmp44, (0, 1, 2, 3, 4, 5), l2, (4, 3, 0, 1), (2, 5)) * 3 - tmp175 += tmp169 - del tmp169 - tmp170 = einsum(tmp50, (0, 1, 2, 3), t2, (0, 1, 4, 3), (2, 4)) - tmp175 += tmp170 * -1 - del tmp170 - tmp171 = einsum(t2, (0, 1, 2, 3), tmp53, (0, 1, 4, 2), (4, 3)) - tmp175 += tmp171 * -1 - del tmp171 - tmp172 = einsum(l1, (0, 1), tmp141, (1, 2, 0, 3), (2, 3)) * 4 - del tmp141 - tmp175 += tmp172 - del tmp172 - tmp173 = einsum(tmp144, (0, 1), t1, (2, 0), (2, 1)) * 2 - tmp175 += tmp173 * -1 - del tmp173 - tmp174 = einsum(tmp147, (0, 1), t1, (0, 2), (1, 2)) * 0.33333333333332 - del tmp147 - tmp175 += tmp174 * -1 - del tmp174 - rdm2.oovo += einsum(delta.oo, (0, 1), tmp175, (2, 3), (2, 0, 3, 1)) - del delta, tmp175 - tmp178 = np.copy(tmp12) - tmp176 = einsum(tmp13, (0, 1, 2, 3, 4, 5), l3, (4, 3, 5, 6, 2, 0), (6, 1)) * -0.16666666666666 - tmp178 += tmp176 - del tmp176 - tmp177 = einsum(l3, (0, 1, 2, 3, 4, 5), tmp15, (3, 6, 5, 1, 0, 2), (4, 6)) * 0.08333333333333 - tmp178 += tmp177 * -1 - del tmp177 - tmp178 += tmp152 - del tmp152 - rdm2.oovo += einsum(t1, (0, 1), tmp178, (2, 3), (0, 3, 1, 2)) * -2 - del tmp178 - tmp188 = einsum(tmp187, (0, 1, 2, 3), t2, (4, 5, 0, 1), (4, 5, 2, 3)) - rdm2.oovv = np.copy(np.transpose(tmp188, (0, 1, 3, 2))) * -1 - del tmp188 - tmp189 = einsum(tmp187, (0, 1, 2, 3), t1, (4, 0), (4, 1, 2, 3)) * -1 - del tmp187 - tmp190 = einsum(tmp189, (0, 1, 2, 3), t1, (4, 1), (0, 4, 2, 3)) * -1 - del tmp189 - rdm2.oovv += np.transpose(tmp190, (1, 0, 3, 2)) - del tmp190 - tmp198 = np.copy(t2) - tmp191 = einsum(t1, (0, 1), tmp72, (0, 2, 3, 4), (3, 2, 4, 1)) - del tmp72 - tmp198 += np.transpose(tmp191, (1, 0, 3, 2)) - tmp194 = einsum(tmp193, (0, 1, 2, 3), t2, (4, 1, 5, 3), (4, 0, 5, 2)) - tmp198 += tmp194 * 2 - tmp197 = einsum(t2, (0, 1, 2, 3), tmp196, (4, 1, 5, 2), (0, 4, 3, 5)) - del tmp196 - tmp198 += tmp197 - del tmp197 - rdm2.oovv += np.transpose(tmp198, (0, 1, 3, 2)) * -2 - rdm2.oovv += tmp198 * 2 - del tmp198 - tmp199 = einsum(tmp12, (0, 1), t2, (2, 0, 3, 4), (1, 2, 3, 4)) - del tmp12 - tmp204 = np.copy(tmp199) - tmp200 = einsum(t2, (0, 1, 2, 3), tmp192, (1, 4, 5, 2), (0, 4, 3, 5)) - del tmp192 - tmp201 = einsum(t2, (0, 1, 2, 3), tmp200, (4, 1, 5, 3), (0, 4, 2, 5)) - del tmp200 - tmp204 += tmp201 * -1 - tmp202 = np.copy(tmp71) - tmp202 += np.transpose(tmp77, (1, 0, 2, 3)) * -1 - del tmp77 - tmp203 = einsum(t1, (0, 1), tmp202, (0, 2, 3, 4), (2, 3, 1, 4)) - del tmp202 - tmp204 += tmp203 - del tmp203 - tmp204 += einsum(t1, (0, 1), tmp42, (2, 3), (0, 2, 1, 3)) * -1 - del tmp42 - rdm2.oovv += tmp204 * 2 - rdm2.oovv += np.transpose(tmp204, (0, 1, 3, 2)) * -2 - rdm2.oovv += np.transpose(tmp204, (1, 0, 2, 3)) * -2 - rdm2.oovv += np.transpose(tmp204, (1, 0, 3, 2)) * 2 - del tmp204 - tmp206 = np.copy(tmp205) - del tmp205 - tmp206 += np.transpose(tmp86, (1, 0, 2, 3)) - tmp207 = einsum(tmp206, (0, 1, 2, 3), t3, (4, 0, 1, 5, 6, 3), (4, 2, 5, 6)) * 0.25 - del tmp206 - tmp246 = np.copy(np.transpose(tmp207, (1, 0, 2, 3))) * -1 - del tmp207 - tmp208 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp10, (2, 1, 6, 5), (0, 6, 3, 4)) * 0.25 - tmp246 += np.transpose(tmp208, (1, 0, 2, 3)) * -1 - del tmp208 - tmp209 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * 0.4 - tmp209 += np.transpose(t3, (0, 1, 2, 3, 5, 4)) * -0.2 - tmp209 += t3 * 0.2 - tmp209 += np.transpose(t3, (0, 1, 2, 4, 3, 5)) * -1 - tmp209 += np.transpose(t3, (1, 0, 2, 3, 5, 4)) * 0.2 - tmp209 += np.transpose(t3, (1, 0, 2, 3, 4, 5)) * -1 - tmp209 += np.transpose(t3, (1, 0, 2, 4, 3, 5)) * 0.2 - tmp210 = einsum(l3, (0, 1, 2, 3, 4, 5), tmp209, (5, 4, 6, 1, 2, 7), (3, 6, 0, 7)) - del tmp209 - tmp215 = np.copy(tmp210) * -1 - del tmp210 - tmp211 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * -1 - tmp211 += np.transpose(t3, (0, 1, 2, 3, 5, 4)) - tmp211 += t3 * -1 - tmp211 += np.transpose(t3, (0, 1, 2, 4, 3, 5)) - tmp212 = einsum(tmp211, (0, 1, 2, 3, 4, 5), l3, (6, 3, 4, 0, 7, 1), (7, 2, 6, 5)) * -0.2 - del tmp211 - tmp215 += tmp212 * -1 - del tmp212 - tmp213 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * -0.5 - tmp213 += np.transpose(t3, (0, 1, 2, 3, 5, 4)) * 0.5 - tmp213 += np.transpose(t3, (0, 1, 2, 4, 3, 5)) - tmp214 = einsum(tmp213, (0, 1, 2, 3, 4, 5), l3, (3, 6, 4, 0, 7, 1), (7, 2, 6, 5)) * 0.4 - del tmp213 - tmp215 += tmp214 * -1 - del tmp214 - tmp216 = einsum(tmp215, (0, 1, 2, 3), t2, (4, 0, 5, 2), (4, 1, 5, 3)) * 1.25 - del tmp215 - tmp246 += tmp216 - tmp217 = einsum(t2, (0, 1, 2, 3), tmp97, (1, 4, 2, 5), (0, 4, 3, 5)) * 0.25 - tmp246 += tmp217 * -1 - del tmp217 - tmp219 = einsum(l3, (0, 1, 2, 3, 4, 5), tmp218, (5, 4, 3, 2, 6, 7), (0, 1, 6, 7)) * -2 - tmp220 = einsum(t2, (0, 1, 2, 3), tmp219, (3, 2, 4, 5), (0, 1, 4, 5)) * -0.08333333333333 - del tmp219 - tmp246 += np.transpose(tmp220, (1, 0, 2, 3)) * -1 - del tmp220 - tmp221 = einsum(t2, (0, 1, 2, 3), tmp144, (2, 4), (0, 1, 3, 4)) - tmp246 += np.transpose(tmp221, (1, 0, 2, 3)) * -1 - tmp227 = np.copy(tmp79) * 2 - del tmp79 - tmp222 = einsum(t2, (0, 1, 2, 3), tmp82, (4, 3, 2, 5), (0, 1, 4, 5)) * 2 - del tmp82 - tmp227 += np.transpose(tmp222, (2, 1, 0, 3)) - del tmp222 - tmp223 = einsum(tmp9, (0, 1, 2, 3), tmp87, (4, 0, 5, 2), (1, 4, 5, 3)) * 2 - del tmp87 - tmp227 += np.transpose(tmp223, (1, 0, 2, 3)) * -1 - del tmp223 - tmp224 = einsum(t2, (0, 1, 2, 3), tmp90, (4, 1, 5, 3), (0, 5, 4, 2)) * 6 - del tmp90 - tmp227 += np.transpose(tmp224, (1, 0, 2, 3)) * -1 - del tmp224 - tmp225 = einsum(t1, (0, 1), tmp97, (2, 3, 1, 4), (0, 2, 3, 4)) - del tmp97 - tmp227 += np.transpose(tmp225, (1, 0, 2, 3)) - del tmp225 - tmp226 = einsum(t1, (0, 1), tmp99, (2, 3, 0, 4), (3, 2, 4, 1)) * 2 - del tmp99 - tmp227 += tmp226 - del tmp226 - tmp228 = einsum(t1, (0, 1), tmp227, (0, 2, 3, 4), (2, 3, 1, 4)) * 0.25 - del tmp227 - tmp246 += tmp228 * -1 - del tmp228 - tmp233 = np.copy(tmp229) * 2 - del tmp229 - tmp231 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp230, (1, 2, 6, 5), (0, 3, 4, 6)) - del tmp230 - tmp233 += np.transpose(tmp231, (0, 3, 1, 2)) - del tmp231 - tmp232 = einsum(tmp10, (0, 1, 2, 3), t2, (0, 1, 4, 5), (2, 4, 5, 3)) - tmp233 += np.transpose(tmp232, (0, 3, 1, 2)) * -1 - del tmp232 - tmp234 = einsum(tmp233, (0, 1, 2, 3), t1, (4, 1), (4, 0, 2, 3)) * 0.5 - del tmp233 - tmp246 += tmp234 - del tmp234 - tmp235 = einsum(tmp13, (0, 1, 2, 3, 4, 5), l3, (4, 3, 5, 6, 2, 0), (6, 1)) * -0.28571428571428575 - del tmp13 - tmp238 = np.copy(tmp235) - del tmp235 - tmp236 = einsum(l3, (0, 1, 2, 3, 4, 5), tmp15, (3, 6, 5, 1, 0, 2), (4, 6)) * 0.14285714285714288 - del tmp15 - tmp238 += tmp236 * -1 - del tmp236 - tmp237 = einsum(tmp17, (0, 1, 2, 3), l2, (3, 2, 0, 4), (4, 1)) * 3.428571428571566 - del tmp17 - tmp238 += tmp237 - del tmp237 - tmp239 = einsum(t2, (0, 1, 2, 3), tmp238, (1, 4), (0, 4, 3, 2)) * 0.58333333333331 - tmp246 += np.transpose(tmp239, (0, 1, 3, 2)) * -1 - tmp245 = np.copy(tmp43) * -0.3333333333333333 - del tmp43 - tmp240 = einsum(tmp44, (0, 1, 2, 3, 4, 5), l2, (4, 3, 0, 1), (2, 5)) - del tmp44 - tmp245 += tmp240 - del tmp240 - tmp241 = einsum(tmp50, (0, 1, 2, 3), t2, (0, 1, 4, 3), (2, 4)) * 0.3333333333333333 - del tmp50 - tmp245 += tmp241 * -1 - del tmp241 - tmp242 = einsum(t2, (0, 1, 2, 3), tmp53, (0, 1, 4, 2), (4, 3)) * 0.3333333333333333 - del tmp53 - tmp245 += tmp242 * -1 - del tmp242 - tmp243 = einsum(tmp144, (0, 1), t1, (2, 0), (2, 1)) * 0.6666666666666666 - del tmp144 - tmp245 += tmp243 * -1 - del tmp243 - tmp244 = einsum(tmp238, (0, 1), t1, (0, 2), (1, 2)) * 0.3888888888888733 - del tmp238 - tmp245 += tmp244 * -1 - del tmp244 - tmp246 += einsum(t1, (0, 1), tmp245, (2, 3), (0, 2, 1, 3)) * 1.5 - rdm2.oovv += tmp246 * 2 - rdm2.oovv += np.transpose(tmp246, (0, 1, 3, 2)) * -2 - rdm2.oovv += np.transpose(tmp246, (1, 0, 2, 3)) * -2 - rdm2.oovv += np.transpose(tmp246, (1, 0, 3, 2)) * 2 - del tmp246 - tmp247 = np.copy(tmp27) * 4 - tmp247 += tmp10 - del tmp10 - tmp248 = einsum(tmp247, (0, 1, 2, 3), t3, (4, 1, 0, 5, 3, 6), (4, 2, 5, 6)) * -0.25 - del tmp247 - tmp267 = np.copy(np.transpose(tmp248, (1, 0, 3, 2))) * -1 - del tmp248 - tmp249 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * -1 - tmp249 += t2 * 5 - tmp250 = einsum(l3, (0, 1, 2, 3, 4, 5), tmp249, (5, 6, 2, 1), (3, 4, 6, 0)) - del tmp249 - tmp251 = np.copy(tmp250) - del tmp250 - tmp251 += np.transpose(tmp86, (1, 0, 2, 3)) - tmp252 = einsum(tmp251, (0, 1, 2, 3), t3, (4, 0, 1, 5, 3, 6), (4, 2, 5, 6)) * -0.25 - del tmp251 - tmp267 += np.transpose(tmp252, (1, 0, 3, 2)) * -1 - del tmp252 - tmp253 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * 0.5 - tmp253 += np.transpose(t3, (1, 0, 2, 3, 5, 4)) - tmp254 = einsum(tmp253, (0, 1, 2, 3, 4, 5), l3, (6, 7, 5, 0, 2, 1), (6, 7, 3, 4)) * -2 - tmp255 = einsum(tmp254, (0, 1, 2, 3), t2, (4, 5, 1, 0), (4, 5, 3, 2)) * -0.08333333333333 - del tmp254 - tmp267 += np.transpose(tmp255, (1, 0, 3, 2)) - del tmp255 - tmp256 = np.copy(np.transpose(l2, (3, 2, 0, 1))) * 3 - tmp256 += np.transpose(l2, (2, 3, 0, 1)) * -1 - tmp257 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp256, (1, 2, 6, 4), (0, 3, 5, 6)) * -1 - del tmp256 - tmp262 = np.copy(np.transpose(tmp257, (0, 3, 2, 1))) - del tmp257 - tmp260 = einsum(tmp259, (0, 1, 2, 3), tmp9, (0, 4, 5, 3), (4, 5, 2, 1)) * 2 - tmp262 += np.transpose(tmp260, (0, 2, 1, 3)) * -1 - del tmp260 - tmp261 = einsum(tmp3, (0, 1, 2, 3), t2, (1, 0, 4, 5), (2, 4, 5, 3)) - del tmp3 - tmp262 += np.transpose(tmp261, (0, 3, 2, 1)) * -1 - del tmp261 - tmp263 = einsum(tmp262, (0, 1, 2, 3), t1, (4, 1), (4, 0, 2, 3)) * 0.5 - del tmp262 - tmp267 += np.transpose(tmp263, (0, 1, 3, 2)) - del tmp263 - tmp264 = einsum(t1, (0, 1), tmp156, (2, 3, 4, 1), (0, 3, 2, 4)) * 3 - del tmp156 - tmp265 = einsum(t1, (0, 1), tmp264, (2, 3, 0, 4), (3, 2, 4, 1)) * -1 - del tmp264 - tmp266 = einsum(t1, (0, 1), tmp265, (0, 2, 3, 4), (2, 3, 1, 4)) * -0.5 - del tmp265 - tmp267 += tmp266 * -1 - del tmp266 - rdm2.oovv += tmp267 * -2 - rdm2.oovv += np.transpose(tmp267, (1, 0, 2, 3)) * 2 - del tmp267 - tmp268 = einsum(t3, (0, 1, 2, 3, 4, 5), l3, (6, 5, 4, 7, 8, 1), (7, 8, 0, 2, 6, 3)) - tmp272 = np.copy(np.transpose(tmp268, (0, 1, 3, 2, 4, 5))) * 2 - del tmp268 - tmp269 = einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 4, 7, 8, 1, 2), (3, 5, 6, 7, 0, 8)) - tmp272 += np.transpose(tmp269, (1, 0, 3, 2, 4, 5)) * -2 - del tmp269 - tmp270 = np.copy(np.transpose(l3, (3, 5, 4, 0, 2, 1))) - tmp270 += np.transpose(l3, (4, 3, 5, 0, 2, 1)) - tmp271 = einsum(tmp95, (0, 1, 2, 3, 4, 5), tmp270, (0, 6, 7, 4, 8, 3), (1, 2, 6, 7, 5, 8)) - del tmp270 - tmp272 += np.transpose(tmp271, (2, 3, 0, 1, 5, 4)) * -1 - del tmp271 - tmp273 = einsum(tmp272, (0, 1, 2, 3, 4, 5), t2, (0, 1, 4, 6), (2, 3, 6, 5)) * 0.5 - del tmp272 - tmp284 = np.copy(tmp273) - del tmp273 - tmp274 = einsum(tmp95, (0, 1, 2, 3, 4, 5), l3, (6, 3, 4, 7, 8, 0), (7, 8, 1, 2, 6, 5)) - del tmp95 - tmp276 = np.copy(tmp274) - del tmp274 - tmp275 = einsum(l3, (0, 1, 2, 3, 4, 5), tmp128, (5, 6, 7, 0, 2, 8), (3, 4, 6, 7, 1, 8)) * -2 - del tmp128 - tmp276 += tmp275 - del tmp275 - tmp277 = einsum(t2, (0, 1, 2, 3), tmp276, (0, 1, 4, 5, 3, 6), (4, 5, 2, 6)) * 0.5 - del tmp276 - tmp284 += tmp277 - del tmp277 - tmp278 = einsum(t2, (0, 1, 2, 3), tmp108, (0, 1, 4, 5), (4, 5, 2, 3)) * -0.16666666666666 - tmp284 += tmp278 - del tmp278 - tmp282 = np.copy(tmp113) - tmp279 = np.copy(np.transpose(l2, (3, 2, 0, 1))) - tmp279 += np.transpose(l2, (2, 3, 0, 1)) * -1 - tmp280 = einsum(tmp279, (0, 1, 2, 3), t3, (4, 5, 0, 6, 3, 2), (4, 5, 1, 6)) - del tmp279 - tmp282 += np.transpose(tmp280, (2, 0, 1, 3)) - del tmp280 - tmp281 = einsum(t1, (0, 1), tmp108, (2, 0, 3, 4), (2, 3, 4, 1)) * -0.16666666666667 - del tmp108 - tmp282 += tmp281 - del tmp281 - tmp283 = einsum(t1, (0, 1), tmp282, (0, 2, 3, 4), (2, 3, 1, 4)) - del tmp282 - tmp284 += tmp283 - del tmp283 - rdm2.oovv += tmp284 * -2 - rdm2.oovv += np.transpose(tmp284, (0, 1, 3, 2)) * 2 - del tmp284 - tmp301 = einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) * -1 - tmp285 = einsum(tmp0, (0, 1, 2, 3), t2, (1, 0, 4, 5), (3, 2, 4, 5)) - tmp301 += np.transpose(tmp285, (1, 0, 3, 2)) * -1 - tmp287 = einsum(tmp286, (0, 1, 2, 3), t1, (4, 0), (4, 1, 3, 2)) - del tmp286 - tmp288 = einsum(t1, (0, 1), tmp287, (2, 1, 3, 4), (2, 0, 4, 3)) - tmp301 += np.transpose(tmp288, (1, 0, 3, 2)) * -1 - del tmp288 - tmp289 = einsum(l2, (0, 1, 2, 3), t3, (4, 3, 5, 6, 1, 0), (2, 4, 5, 6)) - tmp296 = np.copy(np.transpose(tmp289, (0, 2, 1, 3))) * -1 - del tmp289 - tmp290 = einsum(tmp0, (0, 1, 2, 3), t1, (1, 4), (0, 2, 3, 4)) - del tmp0 - tmp296 += tmp290 - tmp296 += np.transpose(tmp36, (0, 2, 1, 3)) * -1 - del tmp36 - tmp293 = np.copy(tmp114) * -1 - tmp293 += np.transpose(tmp292, (0, 2, 3, 1)) * -1 - del tmp292 - tmp294 = einsum(tmp293, (0, 1, 2, 3), t1, (4, 2), (4, 0, 1, 3)) - del tmp293 - tmp295 = einsum(t1, (0, 1), tmp294, (2, 3, 1, 4), (0, 3, 2, 4)) * -1 - del tmp294 - tmp296 += np.transpose(tmp295, (1, 0, 2, 3)) - del tmp295 - tmp297 = einsum(t1, (0, 1), tmp296, (0, 2, 3, 4), (2, 3, 1, 4)) - del tmp296 - tmp301 += np.transpose(tmp297, (1, 0, 3, 2)) * -1 - del tmp297 - tmp298 = einsum(l3, (0, 1, 2, 3, 4, 5), tmp218, (5, 4, 3, 2, 6, 7), (0, 1, 6, 7)) * -1 - del tmp218 - tmp299 = einsum(tmp298, (0, 1, 2, 3), t1, (4, 1), (4, 0, 2, 3)) * -1 - del tmp298 - tmp300 = einsum(tmp299, (0, 1, 2, 3), t1, (4, 1), (4, 0, 2, 3)) * 0.33333333333334 - del tmp299 - tmp301 += np.transpose(tmp300, (1, 0, 3, 2)) - del tmp300 - rdm2.oovv += np.transpose(tmp301, (0, 1, 3, 2)) * 2 - rdm2.oovv += tmp301 * -2 - del tmp301 - tmp302 = einsum(tmp35, (0, 1, 2, 3), tmp9, (0, 4, 5, 1), (4, 2, 3, 5)) - tmp303 = einsum(tmp302, (0, 1, 2, 3), t1, (4, 1), (4, 0, 3, 2)) * -1 - del tmp302 - rdm2.oovv += tmp303 * -2 - rdm2.oovv += np.transpose(tmp303, (0, 1, 3, 2)) * 4 - rdm2.oovv += np.transpose(tmp303, (1, 0, 2, 3)) * 2 - rdm2.oovv += np.transpose(tmp303, (1, 0, 3, 2)) * -4 - del tmp303 - tmp306 = np.copy(tmp304) - tmp305 = einsum(tmp81, (0, 1, 2, 3), tmp9, (0, 4, 5, 2), (4, 5, 1, 3)) * -1 - tmp306 += np.transpose(tmp305, (0, 2, 1, 3)) * -1 - del tmp305 - tmp307 = einsum(tmp306, (0, 1, 2, 3), t1, (4, 1), (4, 0, 2, 3)) - del tmp306 - rdm2.oovv += tmp307 * -2 - rdm2.oovv += np.transpose(tmp307, (1, 0, 2, 3)) * 2 - del tmp307 - tmp309 = einsum(tmp308, (0, 1, 2, 3), t1, (4, 1), (4, 0, 2, 3)) - del tmp308 - rdm2.oovv += tmp309 * 4 - rdm2.oovv += np.transpose(tmp309, (0, 1, 3, 2)) * -4 - rdm2.oovv += np.transpose(tmp309, (1, 0, 2, 3)) * -8 - rdm2.oovv += np.transpose(tmp309, (1, 0, 3, 2)) * 2 - del tmp309 - tmp310 = einsum(l1, (0, 1), t3, (2, 3, 1, 4, 5, 0), (2, 3, 4, 5)) - rdm2.oovv += tmp310 * 2 - rdm2.oovv += np.transpose(tmp310, (0, 1, 3, 2)) * -2 - tmp311 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * -1 - tmp311 += np.transpose(t3, (1, 0, 2, 3, 5, 4)) * -1 - tmp312 = einsum(tmp311, (0, 1, 2, 3, 4, 5), l1, (5, 2), (0, 1, 3, 4)) - del tmp311 - rdm2.oovv += np.transpose(tmp312, (1, 0, 3, 2)) * -2 - del tmp312 - tmp313 = einsum(l3, (0, 1, 2, 3, 4, 5), tmp20, (4, 6, 7, 1, 0, 2), (3, 5, 6, 7)) - tmp314 = einsum(tmp313, (0, 1, 2, 3), t2, (1, 0, 4, 5), (2, 3, 4, 5)) * 0.16666666666666 - del tmp313 - rdm2.oovv += np.transpose(tmp314, (0, 1, 3, 2)) * 2 - del tmp314 - tmp315 = einsum(tmp253, (0, 1, 2, 3, 4, 5), l3, (6, 7, 5, 0, 2, 1), (6, 7, 3, 4)) * -1 - del tmp253 - tmp316 = einsum(tmp315, (0, 1, 2, 3), t1, (4, 1), (4, 0, 3, 2)) * -2 - del tmp315 - tmp317 = einsum(tmp316, (0, 1, 2, 3), t1, (4, 1), (4, 0, 3, 2)) * -0.16666666666667 - del tmp316 - rdm2.oovv += np.transpose(tmp317, (1, 0, 3, 2)) * 2 - del tmp317 - tmp318 = einsum(l3, (0, 1, 2, 3, 4, 5), tmp20, (4, 6, 7, 1, 0, 2), (3, 5, 6, 7)) * 0.5 - del tmp20 - tmp319 = einsum(tmp318, (0, 1, 2, 3), t1, (1, 4), (0, 2, 3, 4)) * 0.6666666666666666 - del tmp318 - tmp320 = einsum(t1, (0, 1), tmp319, (0, 2, 3, 4), (2, 3, 1, 4)) * -0.50000000000001 - del tmp319 - rdm2.oovv += tmp320 * -2 - del tmp320 - tmp321 = einsum(t2, (0, 1, 2, 3), tmp123, (1, 4, 2, 5), (4, 0, 5, 3)) - rdm2.oovv += np.transpose(tmp321, (1, 0, 3, 2)) * 2 - del tmp321 - tmp322 = einsum(tmp133, (0, 1, 2, 3), t2, (4, 0, 2, 5), (1, 4, 3, 5)) - rdm2.oovv += np.transpose(tmp322, (1, 0, 2, 3)) * 2 - del tmp322 - rdm2.oovv += np.transpose(tmp285, (1, 0, 3, 2)) * 2 - del tmp285 - tmp323 = einsum(t1, (0, 1), tmp290, (0, 2, 3, 4), (2, 3, 1, 4)) - del tmp290 - rdm2.oovv += np.transpose(tmp323, (1, 0, 3, 2)) * 2 - del tmp323 - rdm2.oovv += np.transpose(tmp191, (1, 0, 3, 2)) * 2 - del tmp191 - rdm2.oovv += einsum(t1, (0, 1), tmp39, (2, 3), (0, 2, 1, 3)) * -2 - rdm2.oovv += t2 * 2 - tmp327 = np.copy(tmp310) - del tmp310 - tmp327 += tmp201 * -1 - del tmp201 - tmp324 = np.copy(tmp123) - del tmp123 - tmp324 += np.transpose(tmp193, (1, 0, 3, 2)) * -1 - del tmp193 - tmp325 = einsum(t1, (0, 1), tmp324, (2, 3, 1, 4), (0, 2, 3, 4)) - del tmp324 - tmp326 = einsum(t1, (0, 1), tmp325, (2, 0, 3, 4), (2, 3, 1, 4)) - del tmp325 - tmp327 += tmp326 - del tmp326 - tmp327 += einsum(t1, (0, 1), tmp41, (2, 3), (0, 2, 1, 3)) - del tmp41 - rdm2.oovv += tmp327 * 2 - rdm2.oovv += np.transpose(tmp327, (1, 0, 3, 2)) * 2 - del tmp327 - tmp329 = einsum(t2, (0, 1, 2, 3), tmp328, (2, 3, 4, 5), (0, 1, 4, 5)) - tmp354 = np.copy(tmp329) * 0.49999999999997996 - del tmp329 - tmp330 = einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 7, 4, 2, 8, 1), (3, 5, 6, 7, 0, 8)) - tmp331 = einsum(tmp330, (0, 1, 2, 3, 4, 5), t2, (1, 0, 6, 4), (2, 3, 6, 5)) * -1 - del tmp330 - tmp354 += tmp331 * 0.5 - del tmp331 - tmp332 = einsum(t2, (0, 1, 2, 3), tmp23, (1, 0, 4, 5), (4, 5, 3, 2)) - del tmp23 - tmp354 += tmp332 * 0.49999999999997996 - del tmp332 - tmp333 = einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 7, 5, 0, 8, 2), (3, 4, 6, 7, 1, 8)) - tmp334 = einsum(tmp333, (0, 1, 2, 3, 4, 5), t2, (1, 0, 4, 6), (2, 3, 6, 5)) - del tmp333 - tmp354 += tmp334 * -0.5 - del tmp334 - tmp335 = einsum(l3, (0, 1, 2, 3, 4, 5), tmp179, (5, 6, 2, 1), (3, 4, 6, 0)) * 2 - tmp336 = np.copy(tmp335) - del tmp335 - tmp336 += np.transpose(tmp86, (1, 0, 2, 3)) - del tmp86 - tmp337 = einsum(tmp336, (0, 1, 2, 3), t3, (0, 4, 1, 5, 6, 3), (4, 2, 5, 6)) * -0.25 - del tmp336 - tmp354 += np.transpose(tmp337, (1, 0, 2, 3)) * -1 - del tmp337 - tmp338 = einsum(t3, (0, 1, 2, 3, 4, 5), l3, (6, 5, 3, 7, 8, 2), (7, 8, 0, 1, 6, 4)) - tmp339 = einsum(tmp338, (0, 1, 2, 3, 4, 5), tmp9, (0, 1, 6, 4), (2, 3, 6, 5)) * 0.5 - del tmp9, tmp338 - tmp354 += tmp339 - del tmp339 - tmp354 += tmp216 - del tmp216 - tmp340 = np.copy(tmp124) - tmp340 += np.transpose(tmp127, (1, 0, 3, 2)) * -1 - tmp340 += tmp129 * -1 - tmp341 = einsum(t2, (0, 1, 2, 3), tmp340, (1, 4, 2, 5), (0, 4, 3, 5)) - del tmp340 - tmp354 += tmp341 * -1 - del tmp341 - tmp354 += np.transpose(tmp221, (1, 0, 2, 3)) * -1 - del tmp221 - tmp347 = np.copy(tmp342) * -1 - del tmp342 - tmp343 = einsum(tmp328, (0, 1, 2, 3), t1, (4, 1), (4, 0, 2, 3)) - del tmp328 - tmp347 += tmp343 * 0.50000000000001 - del tmp343 - tmp347 += tmp344 - del tmp344 - tmp347 += np.transpose(tmp346, (0, 2, 1, 3)) - del tmp346 - tmp348 = einsum(tmp347, (0, 1, 2, 3), t1, (4, 1), (4, 0, 2, 3)) - del tmp347 - tmp354 += tmp348 - del tmp348 - tmp352 = np.copy(tmp113) * -1 - del tmp113 - tmp352 += tmp115 - del tmp115 - tmp352 += np.transpose(tmp122, (1, 0, 2, 3)) - del tmp122 - tmp349 = np.copy(tmp124) - del tmp124 - tmp349 += tmp125 * -1 - del tmp125 - tmp349 += np.transpose(tmp127, (1, 0, 3, 2)) * -1 - del tmp127 - tmp349 += tmp129 * -1 - del tmp129 - tmp350 = einsum(t1, (0, 1), tmp349, (2, 3, 1, 4), (0, 2, 3, 4)) - del tmp349 - tmp352 += np.transpose(tmp350, (1, 0, 2, 3)) * -1 - del tmp350 - tmp351 = einsum(t1, (0, 1), tmp26, (2, 0, 3, 4), (2, 3, 4, 1)) - del tmp26 - tmp352 += tmp351 - del tmp351 - tmp353 = einsum(t1, (0, 1), tmp352, (0, 2, 3, 4), (2, 3, 1, 4)) - del tmp352 - tmp354 += tmp353 - del tmp353 - tmp354 += np.transpose(tmp239, (0, 1, 3, 2)) * -1 - del tmp239 - tmp354 += einsum(t1, (0, 1), tmp245, (2, 3), (0, 2, 1, 3)) * 1.5 - del tmp245 - rdm2.oovv += tmp354 * 2 - rdm2.oovv += np.transpose(tmp354, (1, 0, 3, 2)) * 2 - del tmp354 - tmp355 = einsum(tmp27, (0, 1, 2, 3), t3, (4, 0, 1, 5, 6, 3), (2, 4, 5, 6)) * -1 - del tmp27 - tmp373 = np.copy(tmp355) - del tmp355 - tmp356 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp24, (2, 1, 6, 5), (6, 0, 3, 4)) - del tmp24 - tmp373 += tmp356 * -1 - del tmp356 - tmp357 = einsum(t3, (0, 1, 2, 3, 4, 5), l3, (6, 4, 5, 7, 8, 2), (7, 8, 0, 1, 6, 3)) - tmp359 = np.copy(tmp357) - del tmp357 - tmp358 = einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 7, 4, 8, 2, 1), (3, 5, 6, 7, 0, 8)) - tmp359 += np.transpose(tmp358, (1, 0, 2, 3, 4, 5)) * -1 - del tmp358 - tmp360 = einsum(t2, (0, 1, 2, 3), tmp359, (0, 1, 4, 5, 2, 6), (4, 5, 3, 6)) - del tmp359 - tmp373 += tmp360 * -1 - del tmp360 - tmp361 = np.copy(tmp134) - tmp361 += tmp135 - tmp362 = einsum(t2, (0, 1, 2, 3), tmp361, (1, 4, 2, 5), (0, 4, 3, 5)) * 0.5 - del tmp361 - tmp373 += tmp362 - del tmp362 - tmp366 = np.copy(tmp363) * -1 - del tmp363 - tmp366 += tmp304 - del tmp304 - tmp366 += tmp364 - del tmp364 - tmp365 = einsum(tmp179, (0, 1, 2, 3), tmp114, (0, 3, 4, 5), (1, 4, 5, 2)) - del tmp114, tmp179 - tmp366 += np.transpose(tmp365, (0, 1, 3, 2)) - del tmp365 - tmp367 = einsum(tmp366, (0, 1, 2, 3), t1, (4, 1), (4, 0, 2, 3)) - del tmp366 - tmp373 += tmp367 - del tmp367 - tmp371 = np.copy(tmp34) * -1 - del tmp34 - tmp371 += tmp116 - del tmp116 - tmp368 = einsum(t1, (0, 1), tmp28, (2, 0, 3, 4), (2, 3, 4, 1)) - del tmp28 - tmp371 += tmp368 - del tmp368 - tmp371 += np.transpose(tmp118, (1, 0, 2, 3)) * -1 - del tmp118 - tmp371 += np.transpose(tmp121, (1, 0, 2, 3)) - del tmp121 - tmp369 = np.copy(tmp134) - del tmp134 - tmp369 += tmp135 - del tmp135 - tmp369 += tmp136 * 2 - del tmp136 - tmp370 = einsum(t1, (0, 1), tmp369, (2, 3, 1, 4), (0, 2, 3, 4)) * 0.5 - del tmp369 - tmp371 += np.transpose(tmp370, (1, 0, 2, 3)) - del tmp370 - tmp372 = einsum(t1, (0, 1), tmp371, (0, 2, 3, 4), (2, 3, 1, 4)) - del tmp371 - tmp373 += tmp372 - del tmp372 - rdm2.oovv += np.transpose(tmp373, (0, 1, 3, 2)) * 2 - rdm2.oovv += np.transpose(tmp373, (1, 0, 2, 3)) * 2 - del tmp373 - tmp377 = np.copy(tmp199) - del tmp199 - tmp375 = np.copy(tmp71) - del tmp71 - tmp374 = einsum(t1, (0, 1), tmp133, (2, 3, 1, 4), (2, 0, 3, 4)) - del tmp133 - tmp375 += tmp374 * -1 - del tmp374 - tmp376 = einsum(t1, (0, 1), tmp375, (0, 2, 3, 4), (2, 3, 1, 4)) - del tmp375 - tmp377 += tmp376 - del tmp376 - rdm2.oovv += np.transpose(tmp377, (0, 1, 3, 2)) * -2 - rdm2.oovv += np.transpose(tmp377, (1, 0, 2, 3)) * -2 - del tmp377 - tmp378 = einsum(t2, (0, 1, 2, 3), tmp35, (1, 3, 4, 5), (0, 4, 2, 5)) * -1 - del tmp35 - tmp379 = einsum(tmp378, (0, 1, 2, 3), t1, (4, 1), (4, 0, 2, 3)) - del tmp378 - rdm2.oovv += np.transpose(tmp379, (0, 1, 3, 2)) * 4 - rdm2.oovv += np.transpose(tmp379, (1, 0, 2, 3)) * 2 - del tmp379 - rdm2.oovv += tmp194 * 4 - del tmp194 - tmp381 = np.copy(tmp287) - del tmp287 - tmp380 = einsum(tmp259, (0, 1, 2, 3), t2, (4, 0, 5, 3), (4, 5, 2, 1)) - del tmp259 - tmp381 += np.transpose(tmp380, (0, 2, 3, 1)) - del tmp380 - tmp382 = einsum(tmp381, (0, 1, 2, 3), t1, (4, 1), (4, 0, 2, 3)) - del tmp381 - rdm2.oovv += tmp382 * 2 - del tmp382 - tmp383 = einsum(tmp81, (0, 1, 2, 3), t2, (4, 0, 5, 2), (4, 5, 1, 3)) * -1 - del tmp81 - tmp384 = einsum(tmp383, (0, 1, 2, 3), t1, (4, 2), (4, 0, 1, 3)) - del tmp383 - rdm2.oovv += np.transpose(tmp384, (1, 0, 2, 3)) * -2 - del tmp384 - tmp385 = np.copy(t1) - tmp385 += tmp39 * -1 - del tmp39 - rdm2.oovv += einsum(tmp385, (0, 1), t1, (2, 3), (0, 2, 1, 3)) * 2 - del tmp385 - rdm2 = pack_2e(rdm2.oooo, rdm2.ooov, rdm2.oovo, rdm2.ovoo, rdm2.vooo, rdm2.oovv, rdm2.ovov, rdm2.ovvo, rdm2.voov, rdm2.vovo, rdm2.vvoo, rdm2.ovvv, rdm2.vovv, rdm2.vvov, rdm2.vvvo, rdm2.vvvv) - rdm2 = np.transpose(rdm2, (0, 2, 1, 3)) - - return rdm2 - -def hbar_matvec_ip_intermediates(f=None, t1=None, t2=None, t3=None, v=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-10-22T08:59:11.896724. - - Parameters - ---------- - f : array - Fock matrix. - t1 : array - T1 amplitudes. - t2 : array - T2 amplitudes. - t3 : array - T3 amplitudes. - v : array - Electron repulsion integrals. - - Returns - ------- - tmp0 : array - tmp102 : array - tmp104 : array - tmp106 : array - tmp107 : array - tmp108 : array - tmp109 : array - tmp113 : array - tmp118 : array - tmp119 : array - tmp120 : array - tmp121 : array - tmp122 : array - tmp123 : array - tmp127 : array - tmp128 : array - tmp129 : array - tmp130 : array - tmp139 : array - tmp140 : array - tmp141 : array - tmp142 : array - tmp143 : array - tmp144 : array - tmp149 : array - tmp150 : array - tmp151 : array - tmp154 : array - tmp160 : array - tmp161 : array - tmp162 : array - tmp163 : array - tmp165 : array - tmp166 : array - tmp169 : array - tmp17 : array - tmp176 : array - tmp178 : array - tmp181 : array - tmp19 : array - tmp190 : array - tmp192 : array - tmp194 : array - tmp196 : array - tmp201 : array - tmp207 : array - tmp209 : array - tmp21 : array - tmp215 : array - tmp216 : array - tmp217 : array - tmp219 : array - tmp22 : array - tmp221 : array - tmp224 : array - tmp227 : array - tmp228 : array - tmp23 : array - tmp24 : array - tmp240 : array - tmp241 : array - tmp244 : array - tmp245 : array - tmp257 : array - tmp259 : array - tmp265 : array - tmp266 : array - tmp267 : array - tmp268 : array - tmp27 : array - tmp274 : array - tmp275 : array - tmp28 : array - tmp280 : array - tmp282 : array - tmp284 : array - tmp286 : array - tmp288 : array - tmp290 : array - tmp30 : array - tmp308 : array - tmp309 : array - tmp310 : array - tmp312 : array - tmp315 : array - tmp32 : array - tmp325 : array - tmp327 : array - tmp330 : array - tmp334 : array - tmp34 : array - tmp341 : array - tmp343 : array - tmp345 : array - tmp352 : array - tmp353 : array - tmp354 : array - tmp356 : array - tmp36 : array - tmp363 : array - tmp364 : array - tmp365 : array - tmp366 : array - tmp374 : array - tmp375 : array - tmp38 : array - tmp386 : array - tmp393 : array - tmp394 : array - tmp415 : array - tmp416 : array - tmp417 : array - tmp419 : array - tmp420 : array - tmp421 : array - tmp422 : array - tmp423 : array - tmp424 : array - tmp426 : array - tmp428 : array - tmp432 : array - tmp434 : array - tmp442 : array - tmp452 : array - tmp453 : array - tmp454 : array - tmp455 : array - tmp461 : array - tmp466 : array - tmp47 : array - tmp474 : array - tmp475 : array - tmp476 : array - tmp479 : array - tmp48 : array - tmp483 : array - tmp49 : array - tmp493 : array - tmp5 : array - tmp50 : array - tmp500 : array - tmp501 : array - tmp503 : array - tmp505 : array - tmp506 : array - tmp508 : array - tmp509 : array - tmp51 : array - tmp512 : array - tmp519 : array - tmp52 : array - tmp521 : array - tmp527 : array - tmp53 : array - tmp54 : array - tmp56 : array - tmp57 : array - tmp6 : array - tmp60 : array - tmp63 : array - tmp64 : array - tmp66 : array - tmp67 : array - tmp69 : array - tmp70 : array - tmp71 : array - tmp72 : array - tmp73 : array - tmp74 : array - tmp75 : array - tmp76 : array - tmp77 : array - tmp79 : array - tmp93 : array - tmp94 : array - tmp95 : array - tmp96 : array - tmp98 : array - """ - - tmp38 = einsum(v.oovv, (0, 1, 2, 3), t1, (1, 3), (0, 2)) - tmp56 = einsum(f.ov, (0, 1), t2, (2, 0, 1, 3), (2, 3)) - tmp69 = einsum(v.ovov, (0, 1, 2, 3), t3, (4, 2, 0, 1, 5, 3), (4, 5)) - tmp77 = einsum(t1, (0, 1), f.oo, (2, 0), (2, 1)) - tmp113 = einsum(t1, (0, 1), f.vv, (2, 1), (0, 2)) - tmp118 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 3, 4, 2), (0, 4)) - tmp207 = einsum(v.oooo, (0, 1, 2, 3), t2, (4, 3, 5, 6), (4, 0, 1, 2, 5, 6)) - tmp493 = einsum(v.vvvv, (0, 1, 2, 3), t2, (4, 5, 1, 3), (4, 5, 0, 2)) - tmp53 = einsum(t1, (0, 1), v.ooov, (2, 3, 4, 1), (0, 2, 3, 4)) - tmp54 = einsum(t1, (0, 1), tmp53, (2, 3, 0, 4), (2, 3, 4, 1)) - tmp57 = einsum(t2, (0, 1, 2, 3), f.ov, (1, 3), (0, 2)) - tmp70 = einsum(v.ovov, (0, 1, 2, 3), t3, (4, 2, 0, 5, 1, 3), (4, 5)) - tmp71 = einsum(v.ovov, (0, 1, 2, 3), t3, (4, 2, 0, 5, 3, 1), (4, 5)) - tmp72 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovov, (0, 3, 2, 5), (1, 4)) - tmp93 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 1, 0, 3), (4, 2)) - tmp94 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 0, 1, 3), (4, 2)) - tmp119 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 2, 4, 3), (0, 4)) - tmp151 = einsum(f.vv, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4)) - tmp160 = einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 0, 1, 6, 3), (4, 5, 6, 2)) - tmp161 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovvv, (2, 5, 6, 4), (0, 1, 3, 6)) - tmp165 = einsum(t1, (0, 1), v.ooov, (2, 0, 3, 4), (2, 3, 1, 4)) - tmp166 = einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 2), (0, 4, 3, 5)) - tmp169 = einsum(v.oovv, (0, 1, 2, 3), t2, (4, 1, 5, 3), (4, 0, 5, 2)) - tmp176 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovov, (6, 5, 2, 4), (0, 1, 6, 3)) - tmp178 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovov, (6, 5, 1, 4), (0, 2, 6, 3)) - tmp192 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovvv, (6, 3, 7, 5), (0, 2, 1, 6, 4, 7)) - tmp201 = einsum(t2, (0, 1, 2, 3), f.oo, (4, 1), (4, 0, 2, 3)) - tmp215 = einsum(v.ooov, (0, 1, 2, 3), t3, (2, 4, 1, 5, 6, 3), (4, 0, 5, 6)) * -1 - tmp216 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ooov, (6, 1, 2, 5), (0, 6, 3, 4)) - tmp217 = einsum(v.ooov, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (4, 5, 0, 2, 6, 7)) - tmp219 = einsum(v.ooov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 3), (4, 5, 0, 1, 6, 7)) - tmp240 = einsum(v.ooov, (0, 1, 2, 3), t3, (4, 1, 5, 6, 7, 3), (4, 5, 0, 2, 6, 7)) - tmp244 = einsum(f.ov, (0, 1), t3, (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) - tmp245 = einsum(f.ov, (0, 1), t3, (2, 3, 4, 5, 6, 1), (0, 2, 4, 3, 5, 6)) - tmp286 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovvv, (6, 5, 7, 4), (0, 2, 1, 6, 3, 7)) - tmp393 = einsum(v.oooo, (0, 1, 2, 3), t2, (1, 3, 4, 5), (0, 2, 4, 5)) - tmp434 = einsum(v.oovv, (0, 1, 2, 3), t2, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) - tmp5 = einsum(t1, (0, 1), v.ooov, (2, 0, 3, 1), (2, 3)) - tmp108 = einsum(t1, (0, 1), tmp5, (2, 0), (2, 1)) - tmp6 = einsum(t1, (0, 1), v.ooov, (2, 3, 0, 1), (2, 3)) - tmp109 = einsum(tmp6, (0, 1), t1, (1, 2), (0, 2)) - tmp28 = einsum(v.ovvv, (0, 1, 2, 3), t1, (0, 1), (2, 3)) - tmp120 = einsum(t1, (0, 1), tmp28, (2, 1), (0, 2)) - tmp30 = einsum(v.ovvv, (0, 1, 2, 3), t1, (0, 3), (1, 2)) - tmp121 = einsum(t1, (0, 1), tmp30, (1, 2), (0, 2)) - tmp0 = einsum(f.ov, (0, 1), t1, (2, 1), (0, 2)) - tmp129 = einsum(tmp0, (0, 1), t1, (0, 2), (1, 2)) - tmp98 = einsum(v.ovov, (0, 1, 2, 3), t2, (0, 2, 4, 3), (4, 1)) - tmp274 = einsum(tmp98, (0, 1), t2, (2, 3, 4, 1), (2, 3, 4, 0)) - tmp96 = einsum(v.ovov, (0, 1, 2, 3), t2, (0, 2, 4, 1), (4, 3)) - tmp275 = einsum(tmp96, (0, 1), t2, (2, 3, 4, 1), (2, 3, 4, 0)) - tmp130 = einsum(t1, (0, 1), v.oovv, (2, 3, 4, 1), (0, 2, 3, 4)) - tmp330 = einsum(t1, (0, 1), tmp130, (2, 3, 0, 4), (2, 3, 1, 4)) - tmp341 = einsum(t2, (0, 1, 2, 3), tmp53, (4, 5, 1, 6), (4, 0, 5, 6, 2, 3)) - tmp343 = einsum(t2, (0, 1, 2, 3), tmp53, (4, 5, 6, 1), (4, 0, 5, 6, 2, 3)) - tmp17 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 2, 3, 1), (4, 0)) - tmp363 = einsum(tmp17, (0, 1), t2, (2, 1, 3, 4), (2, 0, 3, 4)) - tmp19 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 2, 1, 3), (4, 0)) - tmp364 = einsum(tmp19, (0, 1), t2, (2, 1, 3, 4), (2, 0, 3, 4)) - tmp144 = einsum(t1, (0, 1), tmp53, (2, 3, 4, 0), (2, 3, 4, 1)) - tmp386 = einsum(t1, (0, 1), tmp144, (2, 3, 0, 4), (2, 3, 1, 4)) - tmp60 = einsum(t1, (0, 1), v.oooo, (2, 3, 4, 0), (2, 3, 4, 1)) - tmp394 = einsum(t1, (0, 1), tmp60, (2, 0, 3, 4), (3, 2, 4, 1)) - tmp67 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 2, 1, 5), (0, 4, 3, 5)) - tmp419 = einsum(tmp67, (0, 1, 2, 3), t2, (4, 1, 5, 3), (4, 0, 5, 2)) - tmp49 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 2, 5, 1), (4, 0, 5, 3)) - tmp420 = einsum(t2, (0, 1, 2, 3), tmp49, (4, 1, 5, 3), (4, 0, 5, 2)) - tmp51 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 5, 1, 2), (0, 4, 3, 5)) - tmp421 = einsum(tmp51, (0, 1, 2, 3), t2, (4, 1, 5, 3), (4, 0, 5, 2)) - tmp47 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 2, 5, 3), (4, 0, 5, 1)) - tmp422 = einsum(tmp47, (0, 1, 2, 3), t2, (4, 1, 5, 3), (0, 4, 2, 5)) - tmp423 = einsum(t2, (0, 1, 2, 3), tmp51, (4, 1, 5, 2), (4, 0, 5, 3)) - tmp424 = einsum(tmp47, (0, 1, 2, 3), t2, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) - tmp426 = einsum(tmp49, (0, 1, 2, 3), t2, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) - tmp428 = einsum(tmp51, (0, 1, 2, 3), t2, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) - tmp461 = einsum(t2, (0, 1, 2, 3), tmp67, (4, 5, 6, 3), (0, 1, 4, 5, 2, 6)) - tmp34 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 2, 5, 3), (0, 1, 4, 5)) - tmp500 = einsum(tmp34, (0, 1, 2, 3), t2, (2, 3, 4, 5), (0, 1, 4, 5)) - tmp501 = einsum(t2, (0, 1, 2, 3), tmp34, (4, 5, 6, 1), (4, 5, 0, 6, 2, 3)) - tmp27 = einsum(t1, (0, 1), v.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) - tmp509 = einsum(t1, (0, 1), tmp27, (2, 3, 0, 4), (2, 3, 1, 4)) - tmp518 = einsum(v.vvvv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) - tmp519 = einsum(tmp518, (0, 1, 2, 3), t1, (4, 2), (0, 4, 3, 1)) - del tmp518 - tmp527 = einsum(tmp67, (0, 1, 2, 3), t2, (4, 1, 3, 5), (0, 4, 2, 5)) - tmp73 = einsum(tmp67, (0, 1, 2, 3), t1, (1, 3), (0, 2)) - tmp74 = einsum(t1, (0, 1), tmp49, (2, 0, 3, 1), (2, 3)) - tmp75 = einsum(tmp51, (0, 1, 2, 3), t1, (1, 3), (0, 2)) - tmp76 = einsum(t1, (0, 1), tmp47, (2, 0, 3, 1), (2, 3)) - tmp139 = einsum(tmp98, (0, 1), t1, (2, 1), (2, 0)) - tmp140 = einsum(t1, (0, 1), tmp96, (2, 1), (0, 2)) - tmp142 = einsum(tmp19, (0, 1), t1, (1, 2), (0, 2)) - tmp143 = einsum(tmp17, (0, 1), t1, (1, 2), (0, 2)) - tmp21 = einsum(v.ovov, (0, 1, 2, 3), t1, (2, 1), (0, 3)) - tmp22 = einsum(t1, (0, 1), tmp21, (2, 1), (0, 2)) - tmp149 = einsum(tmp22, (0, 1), t1, (1, 2), (0, 2)) - tmp23 = einsum(t1, (0, 1), v.ovov, (2, 3, 0, 1), (2, 3)) - tmp24 = einsum(tmp23, (0, 1), t1, (2, 1), (2, 0)) - tmp150 = einsum(t1, (0, 1), tmp24, (2, 0), (2, 1)) - tmp162 = einsum(tmp28, (0, 1), t2, (2, 3, 4, 1), (2, 3, 4, 0)) - tmp163 = einsum(tmp30, (0, 1), t2, (2, 3, 4, 0), (2, 3, 4, 1)) - tmp180 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), (0, 1, 4, 5, 6, 2)) - tmp181 = einsum(tmp180, (0, 1, 2, 3, 4, 5), t1, (3, 6), (0, 1, 2, 4, 6, 5)) - tmp194 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovov, (6, 3, 7, 5), (0, 2, 1, 6, 7, 4)) - tmp196 = einsum(t1, (0, 1), tmp194, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 1, 6)) * -1 - tmp227 = einsum(t2, (0, 1, 2, 3), tmp5, (4, 1), (0, 4, 2, 3)) - tmp228 = einsum(tmp6, (0, 1), t2, (2, 1, 3, 4), (2, 0, 3, 4)) - tmp221 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovov, (6, 5, 2, 7), (0, 1, 6, 3, 4, 7)) - tmp265 = einsum(tmp221, (0, 1, 2, 3, 4, 5), t1, (2, 5), (0, 1, 3, 4)) - tmp224 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovov, (6, 7, 2, 5), (0, 1, 6, 3, 4, 7)) - tmp266 = einsum(tmp224, (0, 1, 2, 3, 4, 5), t1, (2, 5), (0, 1, 3, 4)) - tmp267 = einsum(tmp21, (0, 1), t3, (2, 3, 4, 5, 6, 1), (2, 4, 3, 0, 5, 6)) - tmp268 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp23, (6, 5), (0, 2, 1, 6, 3, 4)) - tmp288 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovov, (6, 5, 7, 4), (0, 2, 1, 6, 7, 3)) - tmp290 = einsum(tmp288, (0, 1, 2, 3, 4, 5), t1, (4, 6), (0, 1, 2, 3, 6, 5)) - tmp282 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 3), (0, 2, 4, 5)) - tmp308 = einsum(tmp282, (0, 1, 2, 3), t1, (4, 2), (4, 0, 1, 3)) - tmp280 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 0, 5, 1), (4, 5, 2, 3)) - tmp309 = einsum(tmp280, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) - tmp284 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 2, 4, 5), (0, 3, 4, 5)) - tmp310 = einsum(tmp284, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) - tmp311 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 5, 6, 3), (4, 5, 0, 6, 1, 2)) - tmp312 = einsum(tmp311, (0, 1, 2, 3, 4, 5), t1, (6, 4), (6, 0, 1, 2, 3, 5)) - del tmp311 - tmp314 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 5, 6, 1), (4, 5, 0, 6, 2, 3)) - tmp315 = einsum(tmp314, (0, 1, 2, 3, 4, 5), t1, (6, 5), (6, 0, 1, 2, 3, 4)) - del tmp314 - tmp334 = einsum(tmp0, (0, 1), t2, (2, 0, 3, 4), (1, 2, 3, 4)) - tmp257 = einsum(v.ovov, (0, 1, 2, 3), t3, (0, 4, 2, 5, 6, 1), (4, 5, 6, 3)) * -1 - tmp352 = einsum(tmp257, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) - tmp259 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovov, (1, 6, 2, 5), (0, 3, 4, 6)) - tmp353 = einsum(tmp259, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) - tmp354 = einsum(tmp224, (0, 1, 2, 3, 4, 5), t1, (6, 5), (6, 0, 1, 2, 3, 4)) - tmp356 = einsum(tmp221, (0, 1, 2, 3, 4, 5), t1, (6, 5), (6, 0, 1, 2, 3, 4)) - tmp209 = einsum(v.ooov, (0, 1, 2, 3), t2, (2, 1, 4, 5), (0, 5, 4, 3)) - tmp374 = einsum(tmp209, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) - tmp241 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovov, (6, 5, 1, 7), (0, 2, 6, 3, 4, 7)) - tmp375 = einsum(tmp241, (0, 1, 2, 3, 4, 5), t1, (6, 5), (6, 0, 1, 2, 3, 4)) - tmp64 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 1, 3), (0, 4, 5, 2)) - tmp415 = einsum(t1, (0, 1), tmp64, (2, 3, 0, 4), (2, 3, 1, 4)) - tmp63 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 1, 5, 3), (0, 4, 5, 2)) - tmp416 = einsum(t1, (0, 1), tmp63, (2, 3, 0, 4), (2, 3, 1, 4)) - tmp66 = einsum(v.ooov, (0, 1, 2, 3), t2, (4, 2, 3, 5), (4, 0, 1, 5)) - tmp417 = einsum(t1, (0, 1), tmp66, (2, 3, 0, 4), (2, 3, 1, 4)) - tmp79 = einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), (0, 2, 3, 4)) - tmp432 = einsum(t1, (0, 1), tmp79, (0, 2, 3, 4), (2, 3, 1, 4)) - tmp442 = einsum(tmp180, (0, 1, 2, 3, 4, 5), t1, (4, 6), (0, 1, 2, 3, 6, 5)) - del tmp180 - tmp102 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovov, (6, 3, 2, 5), (0, 1, 6, 4)) - tmp452 = einsum(t1, (0, 1), tmp102, (2, 3, 0, 4), (2, 3, 1, 4)) - tmp104 = einsum(v.ovov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 1, 3), (4, 5, 0, 6)) - tmp453 = einsum(t1, (0, 1), tmp104, (2, 3, 0, 4), (2, 3, 1, 4)) - tmp122 = einsum(v.ovvv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) - tmp123 = einsum(t1, (0, 1), tmp122, (2, 3, 1, 4), (0, 2, 3, 4)) - tmp466 = einsum(t1, (0, 1), tmp123, (2, 3, 0, 4), (2, 3, 1, 4)) - tmp32 = einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 2, 5, 3), (0, 1, 4, 5)) - tmp479 = einsum(t1, (0, 1), tmp32, (2, 3, 0, 4), (2, 3, 1, 4)) - tmp190 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 2), (0, 3, 4, 5)) - tmp508 = einsum(tmp190, (0, 1, 2, 3), t1, (4, 2), (4, 0, 1, 3)) - tmp95 = einsum(v.ooov, (0, 1, 2, 3), t2, (4, 1, 3, 5), (4, 0, 2, 5)) - tmp521 = einsum(t1, (0, 1), tmp95, (2, 3, 0, 4), (2, 3, 1, 4)) - tmp154 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 5, 6, 3), (4, 5, 0, 2, 6, 1)) - tmp324 = einsum(t1, (0, 1), tmp154, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) - tmp325 = einsum(tmp324, (0, 1, 2, 3, 4, 5), t1, (4, 6), (0, 1, 2, 3, 6, 5)) - tmp327 = einsum(tmp324, (0, 1, 2, 3, 4, 5), t1, (3, 6), (0, 1, 2, 4, 6, 5)) - del tmp324 - tmp365 = einsum(tmp22, (0, 1), t2, (2, 1, 3, 4), (0, 2, 3, 4)) - tmp366 = einsum(t2, (0, 1, 2, 3), tmp24, (4, 1), (4, 0, 2, 3)) - tmp106 = einsum(t2, (0, 1, 2, 3), tmp21, (4, 3), (0, 1, 4, 2)) - tmp454 = einsum(t1, (0, 1), tmp106, (2, 3, 0, 4), (2, 3, 1, 4)) - tmp107 = einsum(t2, (0, 1, 2, 3), tmp23, (4, 3), (0, 1, 4, 2)) - tmp455 = einsum(t1, (0, 1), tmp107, (2, 3, 0, 4), (2, 3, 1, 4)) - tmp50 = einsum(t1, (0, 1), tmp49, (2, 3, 4, 1), (0, 2, 3, 4)) - tmp474 = einsum(t1, (0, 1), tmp50, (2, 3, 0, 4), (2, 3, 1, 4)) - tmp48 = einsum(t1, (0, 1), tmp47, (2, 3, 4, 1), (0, 2, 3, 4)) - tmp475 = einsum(t1, (0, 1), tmp48, (2, 3, 0, 4), (2, 3, 1, 4)) - tmp52 = einsum(t1, (0, 1), tmp51, (2, 3, 4, 1), (0, 2, 3, 4)) - tmp476 = einsum(t1, (0, 1), tmp52, (2, 3, 0, 4), (2, 3, 1, 4)) - tmp127 = einsum(tmp27, (0, 1, 2, 3), t1, (4, 3), (0, 4, 2, 1)) - tmp483 = einsum(tmp127, (0, 1, 2, 3), t2, (4, 2, 5, 6), (1, 0, 4, 3, 5, 6)) - tmp36 = einsum(t1, (0, 1), tmp34, (2, 3, 4, 0), (2, 3, 4, 1)) - tmp503 = einsum(t1, (0, 1), tmp36, (2, 3, 0, 4), (3, 2, 4, 1)) - tmp345 = einsum(t2, (0, 1, 2, 3), v.ovov, (0, 4, 1, 5), (3, 2, 5, 4)) - tmp504 = einsum(tmp345, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) - tmp505 = einsum(t1, (0, 1), tmp504, (2, 3, 4, 1), (2, 0, 4, 3)) - del tmp504 - tmp128 = einsum(t1, (0, 1), tmp127, (2, 3, 0, 4), (3, 2, 4, 1)) - tmp506 = einsum(tmp128, (0, 1, 2, 3), t1, (2, 4), (1, 0, 3, 4)) - tmp141 = einsum(t1, (0, 1), tmp67, (2, 3, 4, 1), (0, 2, 3, 4)) - tmp512 = einsum(t1, (0, 1), tmp141, (2, 3, 0, 4), (2, 3, 1, 4)) - - return {f"tmp0": tmp0, f"tmp102": tmp102, f"tmp104": tmp104, f"tmp106": tmp106, f"tmp107": tmp107, f"tmp108": tmp108, f"tmp109": tmp109, f"tmp113": tmp113, f"tmp118": tmp118, f"tmp119": tmp119, f"tmp120": tmp120, f"tmp121": tmp121, f"tmp122": tmp122, f"tmp123": tmp123, f"tmp127": tmp127, f"tmp128": tmp128, f"tmp129": tmp129, f"tmp130": tmp130, f"tmp139": tmp139, f"tmp140": tmp140, f"tmp141": tmp141, f"tmp142": tmp142, f"tmp143": tmp143, f"tmp144": tmp144, f"tmp149": tmp149, f"tmp150": tmp150, f"tmp151": tmp151, f"tmp154": tmp154, f"tmp160": tmp160, f"tmp161": tmp161, f"tmp162": tmp162, f"tmp163": tmp163, f"tmp165": tmp165, f"tmp166": tmp166, f"tmp169": tmp169, f"tmp17": tmp17, f"tmp176": tmp176, f"tmp178": tmp178, f"tmp181": tmp181, f"tmp19": tmp19, f"tmp190": tmp190, f"tmp192": tmp192, f"tmp194": tmp194, f"tmp196": tmp196, f"tmp201": tmp201, f"tmp207": tmp207, f"tmp209": tmp209, f"tmp21": tmp21, f"tmp215": tmp215, f"tmp216": tmp216, f"tmp217": tmp217, f"tmp219": tmp219, f"tmp22": tmp22, f"tmp221": tmp221, f"tmp224": tmp224, f"tmp227": tmp227, f"tmp228": tmp228, f"tmp23": tmp23, f"tmp24": tmp24, f"tmp240": tmp240, f"tmp241": tmp241, f"tmp244": tmp244, f"tmp245": tmp245, f"tmp257": tmp257, f"tmp259": tmp259, f"tmp265": tmp265, f"tmp266": tmp266, f"tmp267": tmp267, f"tmp268": tmp268, f"tmp27": tmp27, f"tmp274": tmp274, f"tmp275": tmp275, f"tmp28": tmp28, f"tmp280": tmp280, f"tmp282": tmp282, f"tmp284": tmp284, f"tmp286": tmp286, f"tmp288": tmp288, f"tmp290": tmp290, f"tmp30": tmp30, f"tmp308": tmp308, f"tmp309": tmp309, f"tmp310": tmp310, f"tmp312": tmp312, f"tmp315": tmp315, f"tmp32": tmp32, f"tmp325": tmp325, f"tmp327": tmp327, f"tmp330": tmp330, f"tmp334": tmp334, f"tmp34": tmp34, f"tmp341": tmp341, f"tmp343": tmp343, f"tmp345": tmp345, f"tmp352": tmp352, f"tmp353": tmp353, f"tmp354": tmp354, f"tmp356": tmp356, f"tmp36": tmp36, f"tmp363": tmp363, f"tmp364": tmp364, f"tmp365": tmp365, f"tmp366": tmp366, f"tmp374": tmp374, f"tmp375": tmp375, f"tmp38": tmp38, f"tmp386": tmp386, f"tmp393": tmp393, f"tmp394": tmp394, f"tmp415": tmp415, f"tmp416": tmp416, f"tmp417": tmp417, f"tmp419": tmp419, f"tmp420": tmp420, f"tmp421": tmp421, f"tmp422": tmp422, f"tmp423": tmp423, f"tmp424": tmp424, f"tmp426": tmp426, f"tmp428": tmp428, f"tmp432": tmp432, f"tmp434": tmp434, f"tmp442": tmp442, f"tmp452": tmp452, f"tmp453": tmp453, f"tmp454": tmp454, f"tmp455": tmp455, f"tmp461": tmp461, f"tmp466": tmp466, f"tmp47": tmp47, f"tmp474": tmp474, f"tmp475": tmp475, f"tmp476": tmp476, f"tmp479": tmp479, f"tmp48": tmp48, f"tmp483": tmp483, f"tmp49": tmp49, f"tmp493": tmp493, f"tmp5": tmp5, f"tmp50": tmp50, f"tmp500": tmp500, f"tmp501": tmp501, f"tmp503": tmp503, f"tmp505": tmp505, f"tmp506": tmp506, f"tmp508": tmp508, f"tmp509": tmp509, f"tmp51": tmp51, f"tmp512": tmp512, f"tmp519": tmp519, f"tmp52": tmp52, f"tmp521": tmp521, f"tmp527": tmp527, f"tmp53": tmp53, f"tmp54": tmp54, f"tmp56": tmp56, f"tmp57": tmp57, f"tmp6": tmp6, f"tmp60": tmp60, f"tmp63": tmp63, f"tmp64": tmp64, f"tmp66": tmp66, f"tmp67": tmp67, f"tmp69": tmp69, f"tmp70": tmp70, f"tmp71": tmp71, f"tmp72": tmp72, f"tmp73": tmp73, f"tmp74": tmp74, f"tmp75": tmp75, f"tmp76": tmp76, f"tmp77": tmp77, f"tmp79": tmp79, f"tmp93": tmp93, f"tmp94": tmp94, f"tmp95": tmp95, f"tmp96": tmp96, f"tmp98": tmp98} - -def hbar_matvec_ip(f=None, r1=None, r2=None, r3=None, t1=None, t2=None, t3=None, v=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-10-22T08:59:13.119259. - - Parameters - ---------- - f : array - Fock matrix. - r1 : array - R1 amplitudes. - r2 : array - R2 amplitudes. - r3 : array - R3 amplitudes. - t1 : array - T1 amplitudes. - t2 : array - T2 amplitudes. - t3 : array - T3 amplitudes. - v : array - Electron repulsion integrals. - - Returns - ------- - r1new : array - Updated R1 residuals. - r2new : array - Updated R2 residuals. - r3new : array - Updated R3 residuals. - """ - - ints = kwargs["ints"] - tmp0 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1))) - tmp0 += np.transpose(v.ovov, (0, 2, 1, 3)) * -1 - r1new = einsum(tmp0, (0, 1, 2, 3), r3, (1, 0, 4, 2, 3), (4,)) * 0.25 - tmp1 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1))) * -0.42857142857142855 - tmp1 += np.transpose(v.ovov, (0, 2, 1, 3)) - r1new += einsum(tmp1, (0, 1, 2, 3), r3, (4, 1, 0, 2, 3), (4,)) * -1.75 - del tmp1 - tmp2 = np.copy(v.ooov) * -0.5 - tmp2 += np.transpose(v.ovoo, (0, 2, 3, 1)) - r1new += einsum(r2, (0, 1, 2), tmp2, (0, 3, 1, 2), (3,)) * 2 - del tmp2 - tmp4 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1))) * -0.5 - tmp4 += np.transpose(v.ovov, (0, 2, 1, 3)) - tmp3 = np.copy(r2) - tmp3 += np.transpose(r2, (1, 0, 2)) * -0.5 - tmp5 = einsum(tmp4, (0, 1, 2, 3), tmp3, (0, 4, 2), (4, 1, 3)) * -2 - del tmp4 - r1new += einsum(t1, (0, 1), tmp5, (2, 0, 1), (2,)) * 2 - del tmp5 - tmp6 = np.copy(r2) * 2 - tmp6 += np.transpose(r2, (1, 0, 2)) * -1 - r1new += einsum(f.ov, (0, 1), tmp6, (0, 2, 1), (2,)) * -1 - del tmp6 - tmp7 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1))) - tmp7 += np.transpose(v.ovov, (0, 2, 1, 3)) * -0.5 - tmp8 = einsum(r2, (0, 1, 2), tmp7, (1, 0, 2, 3), (3,)) * 2 - r1new += einsum(t1, (0, 1), tmp8, (1,), (0,)) - del tmp8 - tmp9 = np.copy(f.oo) - tmp9 += ints.tmp0 - tmp9 += np.transpose(ints.tmp19, (1, 0)) * 2 - tmp9 += np.transpose(ints.tmp24, (1, 0)) * 2 - tmp9 += np.transpose(ints.tmp6, (1, 0)) * 2 - tmp9 += np.transpose(ints.tmp17, (1, 0)) * -1 - tmp9 += np.transpose(ints.tmp22, (1, 0)) * -1 - tmp9 += np.transpose(ints.tmp5, (1, 0)) * -1 - r1new += einsum(tmp9, (0, 1), r1, (0,), (1,)) * -1 - del tmp9 - r2new = einsum(r3, (0, 1, 2, 3, 4), v.ovvv, (2, 3, 5, 4), (1, 0, 5)) - r2new += einsum(r3, (0, 1, 2, 3, 4), v.ooov, (5, 2, 1, 4), (0, 5, 3)) - r2new += einsum(r3, (0, 1, 2, 3, 4), v.ooov, (5, 1, 2, 3), (5, 0, 4)) * -1 - tmp10 = np.copy(v.ovvv) * -1 - tmp10 += np.transpose(v.ovvv, (0, 2, 1, 3)) - r2new += einsum(tmp10, (0, 1, 2, 3), r3, (4, 0, 5, 1, 2), (4, 5, 3)) * -0.5 - del tmp10 - tmp11 = np.copy(v.ooov) - tmp11 += np.transpose(v.ovoo, (0, 2, 3, 1)) * -1 - r2new += einsum(tmp11, (0, 1, 2, 3), r3, (2, 4, 0, 3, 5), (4, 1, 5)) * 0.5 - r2new += einsum(tmp11, (0, 1, 2, 3), r3, (0, 2, 4, 5, 3), (1, 4, 5)) * 0.5 - tmp12 = np.copy(ints.tmp47) * 2 - tmp12 += np.transpose(v.ovov, (0, 2, 1, 3)) - tmp12 += ints.tmp49 * -1 - tmp12 += ints.tmp51 * -1 - r2new += einsum(tmp3, (0, 1, 2), tmp12, (3, 0, 4, 2), (3, 1, 4)) * 2 - del tmp12 - tmp13 = np.copy(r3) - tmp13 += np.transpose(r3, (2, 0, 1, 4, 3)) * -1 - tmp14 = einsum(tmp7, (0, 1, 2, 3), tmp13, (4, 5, 0, 3, 6), (4, 5, 1, 6, 2)) * 2 - del tmp13 - r2new += einsum(t1, (0, 1), tmp14, (2, 3, 0, 4, 1), (3, 2, 4)) - del tmp14 - tmp15 = np.copy(ints.tmp67) - tmp15 += v.oovv * -1 - r2new += einsum(r2, (0, 1, 2), tmp15, (3, 1, 4, 2), (0, 3, 4)) - r2new += einsum(tmp15, (0, 1, 2, 3), r2, (1, 4, 3), (0, 4, 2)) - del tmp15 - tmp16 = np.copy(r3) - tmp16 += np.transpose(r3, (1, 2, 0, 4, 3)) * -1 - r2new += einsum(tmp16, (0, 1, 2, 3, 4), f.ov, (1, 4), (0, 2, 3)) * -1 - del tmp16 - tmp17 = np.copy(ints.tmp34) - tmp17 += np.transpose(v.oooo, (0, 2, 1, 3)) - r2new += einsum(r2, (0, 1, 2), tmp17, (3, 4, 0, 1), (3, 4, 2)) - del tmp17 - tmp18 = einsum(r2, (0, 1, 2), v.ooov, (3, 1, 0, 4), (3, 2, 4)) - tmp23 = np.copy(tmp18) * 0.5 - tmp19 = einsum(v.ovvv, (0, 1, 2, 3), r2, (0, 4, 3), (4, 1, 2)) - tmp23 += np.transpose(tmp19, (0, 2, 1)) * -0.5 - tmp20 = einsum(v.ovov, (0, 1, 2, 3), r3, (4, 0, 2, 3, 5), (4, 5, 1)) - tmp23 += tmp20 * -0.5 - tmp21 = einsum(r2, (0, 1, 2), v.ovov, (1, 3, 0, 4), (2, 4, 3)) - tmp23 += einsum(tmp21, (0, 1, 2), t1, (3, 2), (3, 0, 1)) * 0.5 - tmp23 += einsum(r3, (0, 1, 2, 3, 4), tmp0, (1, 0, 4, 5), (2, 3, 5)) * -0.25 - tmp22 = np.copy(r2) * -1 - tmp22 += np.transpose(r2, (1, 0, 2)) * 2 - tmp23 += einsum(v.ovvv, (0, 1, 2, 3), tmp22, (4, 0, 1), (4, 2, 3)) * 0.5 - r2new += einsum(tmp23, (0, 1, 2), t1, (3, 2), (3, 0, 1)) * 2 - del tmp23 - tmp24 = np.copy(f.vv) - tmp24 += np.transpose(ints.tmp28, (1, 0)) * 2 - del ints.tmp28 - tmp24 += np.transpose(ints.tmp96, (1, 0)) - del ints.tmp96 - tmp24 += ints.tmp30 * -1 - del ints.tmp30 - tmp24 += np.transpose(ints.tmp98, (1, 0)) * -2 - del ints.tmp98 - r2new += einsum(r2, (0, 1, 2), tmp24, (2, 3), (0, 1, 3)) - tmp25 = einsum(r2, (0, 1, 2), v.ooov, (3, 0, 1, 4), (3, 2, 4)) - tmp29 = np.copy(tmp25) - tmp26 = einsum(v.ovvv, (0, 1, 2, 3), r2, (4, 0, 3), (4, 1, 2)) - tmp29 += np.transpose(tmp26, (0, 2, 1)) * -1 - tmp27 = einsum(v.ovov, (0, 1, 2, 3), r3, (4, 0, 2, 5, 1), (4, 5, 3)) - tmp29 += tmp27 - tmp28 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1))) * -1 - tmp28 += np.transpose(v.ovov, (0, 2, 1, 3)) - tmp29 += einsum(tmp28, (0, 1, 2, 3), r3, (1, 4, 0, 2, 5), (4, 5, 3)) * -0.5 - r2new += einsum(tmp29, (0, 1, 2), t1, (3, 2), (0, 3, 1)) - del tmp29 - tmp30 = einsum(r2, (0, 1, 2), v.ooov, (3, 1, 4, 2), (0, 3, 4)) - tmp38 = np.copy(np.transpose(tmp30, (2, 0, 1))) * 0.5 - tmp31 = einsum(r2, (0, 1, 2), v.ooov, (3, 0, 4, 2), (1, 3, 4)) - tmp38 += np.transpose(tmp31, (2, 1, 0)) * 0.5 - tmp32 = einsum(r3, (0, 1, 2, 3, 4), v.ovov, (5, 4, 2, 3), (0, 1, 5)) - tmp38 += np.transpose(tmp32, (2, 1, 0)) * -0.5 - tmp33 = einsum(r2, (0, 1, 2), v.ovov, (3, 2, 1, 4), (0, 3, 4)) - tmp34 = einsum(tmp33, (0, 1, 2), t1, (3, 2), (0, 3, 1)) - tmp38 += np.transpose(tmp34, (2, 0, 1)) * 0.5 - tmp38 += einsum(r3, (0, 1, 2, 3, 4), tmp28, (1, 5, 4, 3), (5, 0, 2)) * 0.25 - del tmp28 - tmp38 += einsum(tmp22, (0, 1, 2), v.ooov, (3, 4, 1, 2), (3, 4, 0)) * -0.5 - tmp35 = np.copy(f.ov) - tmp35 += ints.tmp23 * 2 - tmp35 += ints.tmp21 * -1 - tmp38 += einsum(r2, (0, 1, 2), tmp35, (3, 2), (3, 0, 1)) * -0.5 - tmp36 = einsum(v.ovov, (0, 1, 2, 3), r2, (2, 4, 1), (4, 0, 3)) - tmp37 = np.copy(tmp36) - tmp37 += einsum(v.ovov, (0, 1, 2, 3), tmp3, (2, 4, 3), (4, 0, 1)) * -2 - del tmp3 - tmp38 += einsum(tmp37, (0, 1, 2), t1, (3, 2), (1, 3, 0)) * 0.5 - del tmp37 - r2new += einsum(t1, (0, 1), tmp38, (0, 2, 3), (2, 3, 1)) * 2 - del tmp38 - tmp39 = np.copy(np.transpose(ints.tmp106, (1, 0, 2, 3))) - tmp39 += ints.tmp128 - del ints.tmp128 - tmp39 += np.transpose(ints.tmp141, (1, 0, 2, 3)) - tmp39 += np.transpose(ints.tmp144, (1, 0, 2, 3)) - del ints.tmp144 - tmp39 += ints.tmp36 - del ints.tmp36 - tmp39 += ints.tmp50 - tmp39 += ints.tmp52 - tmp39 += ints.tmp54 - del ints.tmp54 - tmp39 += np.transpose(ints.tmp60, (0, 2, 1, 3)) - del ints.tmp60 - tmp39 += np.transpose(ints.tmp63, (1, 0, 2, 3)) - tmp39 += np.transpose(ints.tmp66, (1, 0, 2, 3)) - tmp39 += ints.tmp95 - tmp39 += ints.tmp102 * -1 - tmp39 += np.transpose(ints.tmp104, (1, 0, 2, 3)) * -1 - tmp39 += np.transpose(ints.tmp107, (1, 0, 2, 3)) * -2 - tmp39 += ints.tmp123 * -1 - tmp39 += np.transpose(ints.tmp130, (1, 0, 2, 3)) * -1 - tmp39 += ints.tmp27 * -1 - tmp39 += ints.tmp32 * -1 - tmp39 += ints.tmp48 * -2 - tmp39 += np.transpose(ints.tmp64, (1, 0, 2, 3)) * -2 - tmp39 += np.transpose(ints.tmp79, (2, 1, 0, 3)) * -1 - tmp39 += np.transpose(v.ooov, (0, 2, 1, 3)) * -1 - r2new += einsum(tmp39, (0, 1, 2, 3), r1, (2,), (1, 0, 3)) * -1 - del tmp39 - tmp40 = np.copy(f.oo) * 0.5 - tmp40 += ints.tmp0 * 0.5 - tmp40 += np.transpose(ints.tmp19, (1, 0)) - tmp40 += np.transpose(ints.tmp24, (1, 0)) - tmp40 += np.transpose(ints.tmp6, (1, 0)) - tmp40 += np.transpose(ints.tmp17, (1, 0)) * -0.5 - tmp40 += np.transpose(ints.tmp22, (1, 0)) * -0.5 - tmp40 += np.transpose(ints.tmp5, (1, 0)) * -0.5 - r2new += einsum(r2, (0, 1, 2), tmp40, (0, 3), (3, 1, 2)) * -2 - r2new += einsum(r2, (0, 1, 2), tmp40, (1, 3), (0, 3, 2)) * -2 - tmp41 = einsum(r2, (0, 1, 2), tmp7, (1, 0, 2, 3), (3,)) - del tmp7 - r2new += einsum(t2, (0, 1, 2, 3), tmp41, (3,), (0, 1, 2)) * -2 - tmp42 = np.copy(f.ov) - tmp42 += ints.tmp108 - tmp42 += ints.tmp113 - tmp42 += ints.tmp118 * 2 - tmp42 += ints.tmp120 * 2 - tmp42 += ints.tmp140 - tmp42 += ints.tmp143 - tmp42 += ints.tmp149 - tmp42 += ints.tmp23 * 2 - tmp42 += ints.tmp57 * 2 - tmp42 += ints.tmp69 * 0.5 - tmp42 += ints.tmp71 * 1.5 - tmp42 += ints.tmp72 * 0.5 - tmp42 += ints.tmp73 - tmp42 += ints.tmp76 * 4 - tmp42 += ints.tmp93 - tmp42 += ints.tmp109 * -2 - tmp42 += ints.tmp119 * -1 - tmp42 += ints.tmp121 * -1 - tmp42 += ints.tmp129 * -1 - tmp42 += ints.tmp139 * -2 - tmp42 += ints.tmp142 * -2 - tmp42 += ints.tmp150 * -2 - tmp42 += ints.tmp38 * -1 - tmp42 += ints.tmp56 * -1 - tmp42 += ints.tmp70 * -0.5 - tmp42 += ints.tmp74 * -2 - tmp42 += ints.tmp75 * -2 - tmp42 += ints.tmp77 * -1 - tmp42 += ints.tmp94 * -2 - r2new += einsum(r1, (0,), tmp42, (1, 2), (1, 0, 2)) * -1 - r3new = einsum(v.vvvv, (0, 1, 2, 3), r3, (4, 5, 6, 1, 3), (4, 5, 6, 0, 2)) - tmp43 = einsum(v.ovov, (0, 1, 2, 3), r3, (4, 5, 6, 1, 3), (4, 5, 6, 0, 2)) - r3new += einsum(tmp43, (0, 1, 2, 3, 4), t2, (4, 3, 5, 6), (0, 1, 2, 6, 5)) - tmp44 = einsum(v.ovov, (0, 1, 2, 3), r3, (4, 2, 5, 1, 6), (4, 5, 0, 6, 3)) - r3new += einsum(tmp44, (0, 1, 2, 3, 4), t2, (5, 2, 4, 6), (0, 5, 1, 6, 3)) - tmp45 = einsum(v.ovov, (0, 1, 2, 3), r3, (4, 5, 2, 6, 1), (4, 5, 0, 6, 3)) - r3new += einsum(tmp45, (0, 1, 2, 3, 4), t2, (5, 2, 6, 4), (0, 5, 1, 3, 6)) - r3new += einsum(ints.tmp194, (0, 1, 2, 3, 4, 5), r2, (3, 4, 6), (1, 2, 0, 6, 5)) - del ints.tmp194 - r3new += einsum(ints.tmp288, (0, 1, 2, 3, 4, 5), r2, (4, 3, 6), (1, 2, 0, 5, 6)) - del ints.tmp288 - r3new += einsum(ints.tmp241, (0, 1, 2, 3, 4, 5), r2, (6, 2, 5), (1, 6, 0, 3, 4)) - del ints.tmp241 - r3new += einsum(v.oovv, (0, 1, 2, 3), r3, (4, 1, 5, 3, 6), (4, 0, 5, 2, 6)) * -1 - tmp46 = einsum(r3, (0, 1, 2, 3, 4), v.oovv, (5, 2, 6, 3), (0, 1, 5, 4, 6)) - tmp51 = np.copy(tmp46) - del tmp46 - tmp47 = einsum(r3, (0, 1, 2, 3, 4), v.ovvv, (2, 5, 6, 3), (0, 1, 4, 5, 6)) - tmp48 = einsum(tmp47, (0, 1, 2, 3, 4), t1, (5, 3), (0, 1, 5, 2, 4)) - del tmp47 - tmp51 += tmp48 - del tmp48 - tmp49 = np.copy(ints.tmp102) - tmp49 += ints.tmp123 - tmp49 += ints.tmp27 - tmp49 += ints.tmp32 - tmp49 += ints.tmp48 * 2 - tmp50 = einsum(r2, (0, 1, 2), tmp49, (3, 4, 1, 5), (0, 3, 4, 2, 5)) - del tmp49 - tmp51 += np.transpose(tmp50, (1, 2, 0, 4, 3)) - del tmp50 - r3new += np.transpose(tmp51, (0, 1, 2, 4, 3)) * -1 - r3new += np.transpose(tmp51, (2, 1, 0, 4, 3)) - del tmp51 - tmp52 = einsum(r3, (0, 1, 2, 3, 4), v.ovvv, (1, 4, 5, 6), (0, 2, 3, 5, 6)) - tmp53 = einsum(tmp52, (0, 1, 2, 3, 4), t1, (5, 4), (0, 1, 5, 2, 3)) - del tmp52 - tmp61 = np.copy(tmp53) * -2 - del tmp53 - tmp54 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * 2 - tmp54 += t2 * -1 - tmp55 = einsum(v.ovov, (0, 1, 2, 3), r3, (4, 2, 5, 6, 3), (4, 5, 0, 6, 1)) - tmp56 = einsum(tmp54, (0, 1, 2, 3), tmp55, (4, 5, 0, 6, 3), (4, 5, 1, 6, 2)) * 2 - del tmp54 - tmp61 += tmp56 * -1 - del tmp56 - tmp57 = einsum(v.ooov, (0, 1, 2, 3), r3, (4, 2, 5, 6, 3), (4, 5, 0, 1, 6)) - tmp59 = np.copy(np.transpose(tmp57, (0, 1, 3, 2, 4))) - del tmp57 - tmp58 = einsum(tmp55, (0, 1, 2, 3, 4), t1, (5, 4), (0, 1, 5, 2, 3)) - tmp59 += np.transpose(tmp58, (0, 1, 3, 2, 4)) - del tmp58 - tmp60 = einsum(t1, (0, 1), tmp59, (2, 3, 0, 4, 5), (2, 3, 4, 1, 5)) * 2 - del tmp59 - tmp61 += np.transpose(tmp60, (0, 1, 2, 4, 3)) - del tmp60 - r3new += np.transpose(tmp61, (0, 2, 1, 3, 4)) * -1 - r3new += np.transpose(tmp61, (1, 0, 2, 4, 3)) * 0.5 - r3new += np.transpose(tmp61, (2, 0, 1, 4, 3)) * -0.5 - del tmp61 - tmp62 = einsum(r3, (0, 1, 2, 3, 4), ints.tmp34, (5, 6, 2, 1), (5, 6, 0, 3, 4)) - tmp69 = np.copy(tmp62) - del tmp62 - tmp63 = einsum(r2, (0, 1, 2), ints.tmp221, (3, 4, 1, 5, 6, 2), (3, 4, 0, 5, 6)) - tmp69 += tmp63 - del tmp63 - tmp64 = einsum(r3, (0, 1, 2, 3, 4), v.oovv, (5, 2, 6, 4), (0, 1, 5, 3, 6)) - tmp69 += tmp64 - del tmp64 - tmp65 = einsum(v.ovvv, (0, 1, 2, 3), r3, (4, 5, 0, 6, 3), (4, 5, 6, 1, 2)) - tmp66 = einsum(tmp65, (0, 1, 2, 3, 4), t1, (5, 3), (0, 1, 5, 2, 4)) - del tmp65 - tmp69 += tmp66 - del tmp66 - tmp67 = einsum(v.ovov, (0, 1, 2, 3), r3, (4, 2, 0, 3, 5), (4, 5, 1)) - tmp68 = einsum(t2, (0, 1, 2, 3), tmp67, (4, 5, 3), (4, 0, 1, 5, 2)) - del tmp67 - tmp69 += tmp68 * -0.5 - del tmp68 - r3new += tmp69 * -1 - r3new += np.transpose(tmp69, (2, 1, 0, 3, 4)) - del tmp69 - tmp70 = einsum(r3, (0, 1, 2, 3, 4), v.ovvv, (2, 3, 5, 6), (0, 1, 4, 5, 6)) - tmp71 = einsum(t1, (0, 1), tmp70, (2, 3, 4, 5, 1), (2, 3, 0, 4, 5)) - del tmp70 - tmp74 = np.copy(tmp71) - del tmp71 - tmp72 = einsum(r3, (0, 1, 2, 3, 4), v.ovov, (5, 6, 2, 3), (0, 1, 5, 4, 6)) - tmp73 = einsum(t2, (0, 1, 2, 3), tmp72, (4, 5, 1, 6, 3), (4, 5, 0, 6, 2)) - tmp74 += tmp73 * 2 - del tmp73 - r3new += np.transpose(tmp74, (0, 1, 2, 4, 3)) - r3new += np.transpose(tmp74, (0, 2, 1, 3, 4)) - r3new += np.transpose(tmp74, (2, 1, 0, 4, 3)) * -1 - del tmp74 - tmp75 = einsum(t2, (0, 1, 2, 3), tmp26, (4, 3, 5), (4, 0, 1, 2, 5)) - del tmp26 - tmp82 = np.copy(tmp75) - del tmp75 - tmp76 = np.copy(ints.tmp190) - del ints.tmp190 - tmp76 += np.transpose(ints.tmp257, (0, 1, 3, 2)) - del ints.tmp257 - tmp77 = einsum(tmp76, (0, 1, 2, 3), r2, (4, 5, 2), (4, 5, 0, 1, 3)) - del tmp76 - tmp82 += np.transpose(tmp77, (2, 0, 1, 3, 4)) - del tmp77 - tmp78 = np.copy(ints.tmp102) - tmp78 += ints.tmp123 - tmp78 += ints.tmp27 - tmp78 += ints.tmp32 - tmp79 = einsum(r2, (0, 1, 2), tmp78, (3, 4, 0, 5), (1, 3, 4, 2, 5)) - del tmp78 - tmp82 += np.transpose(tmp79, (1, 2, 0, 4, 3)) - del tmp79 - tmp80 = np.copy(ints.tmp343) - del ints.tmp343 - tmp80 += ints.tmp442 - del ints.tmp442 - tmp81 = einsum(tmp80, (0, 1, 2, 3, 4, 5), r1, (3,), (0, 1, 2, 4, 5)) - del tmp80 - tmp82 += tmp81 - del tmp81 - r3new += np.transpose(tmp82, (0, 1, 2, 4, 3)) - r3new += np.transpose(tmp82, (1, 0, 2, 3, 4)) - r3new += np.transpose(tmp82, (2, 0, 1, 3, 4)) * -1 - r3new += np.transpose(tmp82, (2, 1, 0, 4, 3)) * -1 - del tmp82 - tmp83 = einsum(ints.tmp341, (0, 1, 2, 3, 4, 5), r1, (3,), (0, 1, 2, 4, 5)) - del ints.tmp341 - tmp88 = np.copy(tmp83) - del tmp83 - tmp84 = einsum(r2, (0, 1, 2), v.ooov, (3, 0, 4, 5), (1, 3, 4, 2, 5)) - tmp88 += tmp84 - del tmp84 - tmp85 = einsum(r2, (0, 1, 2), v.ovvv, (1, 2, 3, 4), (0, 3, 4)) - tmp86 = np.copy(np.transpose(tmp85, (0, 2, 1))) - del tmp85 - tmp86 += tmp19 - del tmp19 - tmp87 = einsum(tmp86, (0, 1, 2), t2, (3, 4, 1, 5), (3, 4, 0, 5, 2)) - del tmp86 - tmp88 += np.transpose(tmp87, (2, 1, 0, 3, 4)) - del tmp87 - r3new += np.transpose(tmp88, (0, 1, 2, 4, 3)) * -1 - r3new += np.transpose(tmp88, (0, 2, 1, 3, 4)) * -1 - r3new += np.transpose(tmp88, (1, 2, 0, 3, 4)) - r3new += np.transpose(tmp88, (2, 1, 0, 4, 3)) - del tmp88 - tmp89 = einsum(v.ovvv, (0, 1, 2, 3), r2, (0, 4, 1), (4, 2, 3)) - tmp90 = einsum(t2, (0, 1, 2, 3), tmp89, (4, 5, 3), (4, 0, 1, 2, 5)) - del tmp89 - r3new += np.transpose(tmp90, (0, 1, 2, 4, 3)) * 2 - r3new += np.transpose(tmp90, (0, 2, 1, 3, 4)) * 2 - r3new += np.transpose(tmp90, (1, 2, 0, 3, 4)) * -2 - r3new += np.transpose(tmp90, (2, 1, 0, 4, 3)) * -2 - del tmp90 - tmp91 = einsum(ints.tmp181, (0, 1, 2, 3, 4, 5), r1, (3,), (0, 1, 2, 4, 5)) - del ints.tmp181 - tmp97 = np.copy(tmp91) - del tmp91 - tmp92 = einsum(r2, (0, 1, 2), v.oovv, (3, 4, 5, 2), (0, 1, 3, 4, 5)) - tmp95 = np.copy(np.transpose(tmp92, (0, 1, 3, 2, 4))) - del tmp92 - tmp93 = einsum(v.ovvv, (0, 1, 2, 3), r2, (4, 5, 3), (4, 5, 0, 1, 2)) - tmp94 = einsum(t1, (0, 1), tmp93, (2, 3, 4, 1, 5), (2, 3, 0, 4, 5)) - tmp95 += np.transpose(tmp94, (0, 1, 3, 2, 4)) - del tmp94 - tmp96 = einsum(t1, (0, 1), tmp95, (2, 3, 0, 4, 5), (2, 3, 4, 1, 5)) - del tmp95 - tmp97 += tmp96 - del tmp96 - r3new += np.transpose(tmp97, (0, 2, 1, 4, 3)) - r3new += np.transpose(tmp97, (1, 0, 2, 3, 4)) * -1 - r3new += np.transpose(tmp97, (2, 0, 1, 3, 4)) - r3new += np.transpose(tmp97, (1, 2, 0, 4, 3)) * -1 - del tmp97 - tmp98 = np.copy(ints.tmp207) - del ints.tmp207 - tmp98 += np.transpose(ints.tmp426, (0, 1, 3, 2, 4, 5)) - del ints.tmp426 - tmp98 += np.transpose(ints.tmp428, (0, 1, 3, 2, 4, 5)) - del ints.tmp428 - tmp99 = einsum(tmp98, (0, 1, 2, 3, 4, 5), r1, (2,), (0, 1, 3, 4, 5)) - del tmp98 - tmp105 = np.copy(tmp99) - del tmp99 - tmp100 = einsum(r2, (0, 1, 2), v.ovov, (3, 4, 5, 2), (0, 1, 3, 5, 4)) - tmp103 = np.copy(tmp100) - tmp101 = einsum(v.ovvv, (0, 1, 2, 3), r2, (4, 5, 1), (4, 5, 0, 2, 3)) - tmp102 = einsum(t1, (0, 1), tmp101, (2, 3, 4, 5, 1), (2, 3, 0, 4, 5)) - del tmp101 - tmp103 += tmp102 - del tmp102 - tmp104 = einsum(t1, (0, 1), tmp103, (2, 3, 4, 0, 5), (2, 3, 4, 1, 5)) - del tmp103 - tmp105 += tmp104 - del tmp104 - r3new += np.transpose(tmp105, (0, 2, 1, 3, 4)) - r3new += np.transpose(tmp105, (1, 0, 2, 4, 3)) * -1 - r3new += np.transpose(tmp105, (2, 0, 1, 4, 3)) - r3new += np.transpose(tmp105, (1, 2, 0, 3, 4)) * -1 - del tmp105 - tmp106 = einsum(v.oooo, (0, 1, 2, 3), r2, (4, 3, 5), (4, 0, 1, 2, 5)) - tmp107 = einsum(t1, (0, 1), tmp106, (2, 3, 0, 4, 5), (2, 4, 3, 5, 1)) - del tmp106 - tmp116 = np.copy(tmp107) - del tmp107 - tmp108 = einsum(t1, (0, 1), tmp100, (2, 3, 4, 5, 1), (2, 3, 0, 5, 4)) - del tmp100 - tmp109 = einsum(tmp108, (0, 1, 2, 3, 4), t1, (4, 5), (0, 1, 2, 3, 5)) - del tmp108 - tmp110 = einsum(t1, (0, 1), tmp109, (2, 3, 4, 0, 5), (2, 3, 4, 1, 5)) - del tmp109 - tmp116 += tmp110 - del tmp110 - tmp111 = np.copy(ints.tmp345) - del ints.tmp345 - tmp111 += np.transpose(v.vvvv, (0, 2, 1, 3)) - tmp112 = einsum(tmp111, (0, 1, 2, 3), r2, (4, 5, 2), (4, 5, 0, 1, 3)) - del tmp111 - tmp113 = einsum(tmp112, (0, 1, 2, 3, 4), t1, (5, 4), (5, 0, 1, 2, 3)) - del tmp112 - tmp116 += np.transpose(tmp113, (1, 2, 0, 3, 4)) - del tmp113 - tmp114 = np.copy(ints.tmp154) - del ints.tmp154 - tmp114 += ints.tmp424 * 2 - del ints.tmp424 - tmp115 = einsum(tmp114, (0, 1, 2, 3, 4, 5), r1, (3,), (0, 1, 2, 4, 5)) - del tmp114 - tmp116 += tmp115 - del tmp115 - r3new += np.transpose(tmp116, (0, 2, 1, 3, 4)) * -1 - r3new += np.transpose(tmp116, (1, 0, 2, 4, 3)) - r3new += np.transpose(tmp116, (2, 0, 1, 4, 3)) * -1 - r3new += np.transpose(tmp116, (1, 2, 0, 3, 4)) - del tmp116 - tmp117 = einsum(ints.tmp217, (0, 1, 2, 3, 4, 5), r1, (3,), (0, 1, 2, 4, 5)) - del ints.tmp217 - tmp131 = np.copy(tmp117) - del tmp117 - tmp118 = einsum(v.oooo, (0, 1, 2, 3), r3, (4, 1, 3, 5, 6), (4, 0, 2, 5, 6)) - tmp131 += tmp118 - del tmp118 - tmp119 = einsum(tmp45, (0, 1, 2, 3, 4), t2, (5, 2, 4, 6), (0, 1, 5, 3, 6)) - tmp131 += tmp119 - del tmp119 - tmp120 = einsum(r3, (0, 1, 2, 3, 4), v.ovov, (2, 4, 1, 5), (0, 3, 5)) - tmp121 = einsum(t2, (0, 1, 2, 3), tmp120, (4, 5, 3), (4, 0, 1, 5, 2)) - del tmp120 - tmp131 += tmp121 - del tmp121 - tmp122 = einsum(v.ooov, (0, 1, 2, 3), r3, (4, 2, 1, 5, 6), (4, 0, 5, 6, 3)) - tmp125 = np.copy(tmp122) - del tmp122 - tmp123 = einsum(v.ovov, (0, 1, 2, 3), r3, (4, 2, 0, 5, 6), (4, 5, 6, 3, 1)) - tmp124 = einsum(t1, (0, 1), tmp123, (2, 3, 4, 5, 1), (2, 0, 3, 4, 5)) - del tmp123 - tmp125 += tmp124 - del tmp124 - tmp126 = einsum(tmp125, (0, 1, 2, 3, 4), t1, (5, 4), (5, 0, 1, 2, 3)) - del tmp125 - tmp131 += np.transpose(tmp126, (1, 0, 2, 3, 4)) - del tmp126 - tmp127 = einsum(r3, (0, 1, 2, 3, 4), v.ooov, (5, 2, 6, 4), (0, 1, 5, 6, 3)) - tmp129 = np.copy(tmp127) - del tmp127 - tmp128 = einsum(tmp45, (0, 1, 2, 3, 4), t1, (5, 4), (0, 1, 5, 2, 3)) - del tmp45 - tmp129 += tmp128 - del tmp128 - tmp130 = einsum(t1, (0, 1), tmp129, (2, 3, 4, 0, 5), (2, 3, 4, 1, 5)) - del tmp129 - tmp131 += np.transpose(tmp130, (0, 1, 2, 4, 3)) - del tmp130 - r3new += tmp131 - r3new += np.transpose(tmp131, (2, 1, 0, 3, 4)) * -1 - del tmp131 - tmp132 = einsum(ints.tmp224, (0, 1, 2, 3, 4, 5), r2, (2, 6, 5), (0, 1, 6, 3, 4)) - tmp148 = np.copy(tmp132) * 2 - del tmp132 - tmp133 = einsum(t2, (0, 1, 2, 3), tmp33, (4, 5, 3), (4, 0, 1, 5, 2)) - del tmp33 - tmp134 = einsum(t1, (0, 1), tmp133, (2, 3, 4, 0, 5), (2, 3, 4, 1, 5)) - del tmp133 - tmp148 += tmp134 - del tmp134 - tmp135 = einsum(t2, (0, 1, 2, 3), tmp21, (4, 5, 3), (0, 1, 4, 2, 5)) - tmp136 = einsum(tmp135, (0, 1, 2, 3, 4), t1, (5, 4), (5, 0, 1, 2, 3)) - del tmp135 - tmp148 += tmp136 - del tmp136 - tmp137 = np.copy(ints.tmp209) - del ints.tmp209 - tmp137 += ints.tmp280 * 2 - del ints.tmp280 - tmp138 = einsum(r2, (0, 1, 2), tmp137, (3, 4, 5, 2), (0, 1, 3, 4, 5)) - del tmp137 - tmp148 += np.transpose(tmp138, (2, 0, 1, 3, 4)) - del tmp138 - tmp139 = np.copy(ints.tmp106) - tmp139 += ints.tmp141 - tmp139 += ints.tmp63 - tmp139 += ints.tmp66 - tmp139 += ints.tmp107 * -2 - tmp140 = einsum(r2, (0, 1, 2), tmp139, (3, 4, 0, 5), (1, 3, 4, 2, 5)) - del tmp139 - tmp148 += np.transpose(tmp140, (1, 2, 0, 4, 3)) - del tmp140 - tmp141 = einsum(ints.tmp53, (0, 1, 2, 3), r2, (3, 4, 5), (0, 1, 2, 4, 5)) - tmp144 = np.copy(tmp141) - del tmp141 - tmp142 = np.copy(ints.tmp49) - del ints.tmp49 - tmp142 += ints.tmp51 - tmp143 = einsum(r2, (0, 1, 2), tmp142, (3, 4, 5, 2), (0, 1, 3, 4, 5)) - del tmp142 - tmp144 += np.transpose(tmp143, (2, 0, 3, 1, 4)) - del tmp143 - tmp145 = einsum(t1, (0, 1), tmp144, (2, 3, 0, 4, 5), (2, 3, 4, 1, 5)) - del tmp144 - tmp148 += np.transpose(tmp145, (0, 1, 2, 4, 3)) - del tmp145 - tmp146 = np.copy(ints.tmp219) - del ints.tmp219 - tmp146 += ints.tmp434 - del ints.tmp434 - tmp147 = einsum(tmp146, (0, 1, 2, 3, 4, 5), r1, (3,), (0, 1, 2, 4, 5)) - del tmp146 - tmp148 += tmp147 - del tmp147 - r3new += tmp148 * -1 - r3new += np.transpose(tmp148, (1, 0, 2, 4, 3)) * -1 - r3new += np.transpose(tmp148, (2, 0, 1, 4, 3)) - r3new += np.transpose(tmp148, (2, 1, 0, 3, 4)) - del tmp148 - tmp149 = einsum(v.oooo, (0, 1, 2, 3), r2, (3, 4, 5), (4, 0, 1, 2, 5)) - tmp150 = einsum(t1, (0, 1), tmp149, (2, 3, 0, 4, 5), (2, 4, 3, 5, 1)) - del tmp149 - tmp153 = np.copy(tmp150) - del tmp150 - tmp151 = np.copy(ints.tmp312) - del ints.tmp312 - tmp151 += ints.tmp354 - del ints.tmp354 - tmp152 = einsum(tmp151, (0, 1, 2, 3, 4, 5), r1, (3,), (0, 1, 2, 4, 5)) - del tmp151 - tmp153 += tmp152 - del tmp152 - r3new += np.transpose(tmp153, (0, 1, 2, 4, 3)) - r3new += np.transpose(tmp153, (0, 2, 1, 3, 4)) - r3new += np.transpose(tmp153, (1, 2, 0, 3, 4)) * -1 - r3new += np.transpose(tmp153, (2, 1, 0, 4, 3)) * -1 - del tmp153 - tmp154 = einsum(ints.tmp315, (0, 1, 2, 3, 4, 5), r1, (3,), (0, 1, 2, 4, 5)) - del ints.tmp315 - tmp163 = np.copy(tmp154) - del tmp154 - tmp155 = einsum(t2, (0, 1, 2, 3), tmp18, (4, 5, 3), (0, 1, 4, 5, 2)) - del tmp18 - tmp163 += tmp155 - del tmp155 - tmp156 = einsum(ints.tmp67, (0, 1, 2, 3), r2, (4, 5, 3), (0, 1, 4, 5, 2)) - del ints.tmp67 - tmp159 = np.copy(np.transpose(tmp156, (0, 2, 1, 3, 4))) - del tmp156 - tmp157 = np.copy(ints.tmp127) - del ints.tmp127 - tmp157 += ints.tmp34 - tmp157 += np.transpose(ints.tmp53, (0, 1, 3, 2)) - tmp158 = einsum(tmp157, (0, 1, 2, 3), r2, (3, 4, 5), (4, 0, 1, 2, 5)) - tmp159 += np.transpose(tmp158, (1, 2, 3, 0, 4)) - del tmp158 - tmp160 = einsum(t1, (0, 1), tmp159, (2, 3, 0, 4, 5), (2, 3, 4, 1, 5)) - del tmp159 - tmp163 += np.transpose(tmp160, (0, 1, 2, 4, 3)) - del tmp160 - tmp161 = np.copy(ints.tmp50) - tmp161 += ints.tmp52 - tmp161 += ints.tmp95 - tmp162 = einsum(tmp161, (0, 1, 2, 3), r2, (2, 4, 5), (4, 0, 1, 5, 3)) - del tmp161 - tmp163 += np.transpose(tmp162, (1, 2, 0, 4, 3)) - del tmp162 - r3new += np.transpose(tmp163, (0, 1, 2, 4, 3)) * -1 - r3new += np.transpose(tmp163, (1, 0, 2, 3, 4)) * -1 - r3new += np.transpose(tmp163, (2, 0, 1, 3, 4)) - r3new += np.transpose(tmp163, (2, 1, 0, 4, 3)) - del tmp163 - tmp164 = einsum(v.ovov, (0, 1, 2, 3), r2, (2, 4, 3), (4, 0, 1)) - tmp165 = einsum(tmp164, (0, 1, 2), t1, (3, 2), (0, 3, 1)) - tmp166 = einsum(tmp165, (0, 1, 2), t2, (3, 2, 4, 5), (0, 1, 3, 4, 5)) - del tmp165 - tmp171 = np.copy(tmp166) * 2 - del tmp166 - tmp167 = einsum(tmp164, (0, 1, 2), t2, (3, 4, 5, 2), (0, 3, 4, 1, 5)) - del tmp164 - tmp168 = einsum(t1, (0, 1), tmp167, (2, 3, 4, 0, 5), (2, 3, 4, 1, 5)) - del tmp167 - tmp171 += tmp168 * 2 - del tmp168 - tmp169 = np.copy(ints.tmp325) - del ints.tmp325 - tmp169 += ints.tmp483 - del ints.tmp483 - tmp169 += ints.tmp501 - del ints.tmp501 - tmp170 = einsum(tmp169, (0, 1, 2, 3, 4, 5), r1, (3,), (0, 1, 2, 4, 5)) - del tmp169 - tmp171 += tmp170 - del tmp170 - r3new += tmp171 * -1 - r3new += np.transpose(tmp171, (0, 2, 1, 4, 3)) * -1 - r3new += np.transpose(tmp171, (1, 2, 0, 4, 3)) - r3new += np.transpose(tmp171, (2, 1, 0, 3, 4)) - del tmp171 - tmp172 = einsum(ints.tmp221, (0, 1, 2, 3, 4, 5), r2, (2, 6, 5), (0, 1, 6, 3, 4)) - del ints.tmp221 - tmp182 = np.copy(tmp172) - del tmp172 - tmp173 = einsum(ints.tmp224, (0, 1, 2, 3, 4, 5), r2, (6, 2, 5), (0, 1, 6, 3, 4)) - del ints.tmp224 - tmp182 += tmp173 - del tmp173 - tmp174 = einsum(ints.tmp47, (0, 1, 2, 3), r2, (4, 5, 3), (0, 1, 4, 5, 2)) - tmp175 = einsum(t1, (0, 1), tmp174, (2, 0, 3, 4, 5), (2, 3, 4, 5, 1)) - del tmp174 - tmp182 += tmp175 * 2 - del tmp175 - tmp176 = np.copy(ints.tmp259) - del ints.tmp259 - tmp176 += np.transpose(ints.tmp282, (0, 1, 3, 2)) - del ints.tmp282 - tmp176 += ints.tmp284 - del ints.tmp284 - tmp177 = einsum(r2, (0, 1, 2), tmp176, (3, 4, 5, 2), (0, 1, 3, 4, 5)) - del tmp176 - tmp182 += np.transpose(tmp177, (2, 0, 1, 3, 4)) - del tmp177 - tmp178 = np.copy(ints.tmp104) - tmp178 += ints.tmp130 - tmp178 += np.transpose(ints.tmp79, (1, 2, 0, 3)) - tmp178 += ints.tmp64 * 2 - tmp179 = einsum(r2, (0, 1, 2), tmp178, (3, 4, 0, 5), (1, 3, 4, 2, 5)) - del tmp178 - tmp182 += np.transpose(tmp179, (1, 2, 0, 4, 3)) - del tmp179 - tmp180 = np.copy(ints.tmp327) - del ints.tmp327 - tmp180 += ints.tmp461 - del ints.tmp461 - tmp181 = einsum(tmp180, (0, 1, 2, 3, 4, 5), r1, (3,), (0, 1, 2, 4, 5)) - del tmp180 - tmp182 += tmp181 - del tmp181 - r3new += tmp182 - r3new += np.transpose(tmp182, (1, 0, 2, 4, 3)) - r3new += np.transpose(tmp182, (2, 0, 1, 4, 3)) * -1 - r3new += np.transpose(tmp182, (2, 1, 0, 3, 4)) * -1 - del tmp182 - tmp183 = einsum(ints.tmp356, (0, 1, 2, 3, 4, 5), r1, (3,), (0, 1, 2, 4, 5)) - del ints.tmp356 - tmp189 = np.copy(tmp183) - del tmp183 - tmp184 = einsum(r3, (0, 1, 2, 3, 4), ints.tmp34, (5, 6, 2, 0), (5, 6, 1, 3, 4)) - del ints.tmp34 - tmp189 += tmp184 * 0.5 - del tmp184 - tmp185 = einsum(r2, (0, 1, 2), v.ooov, (3, 4, 0, 2), (1, 3, 4)) - tmp186 = einsum(t2, (0, 1, 2, 3), tmp185, (4, 5, 1), (4, 0, 5, 2, 3)) - del tmp185 - tmp189 += tmp186 * 2 - del tmp186 - tmp187 = np.copy(ints.tmp17) * 0.5 - del ints.tmp17 - tmp187 += ints.tmp22 * 0.5 - del ints.tmp22 - tmp187 += ints.tmp5 * 0.5 - del ints.tmp5 - tmp187 += ints.tmp19 * -1 - del ints.tmp19 - tmp187 += ints.tmp6 * -1 - del ints.tmp6 - tmp188 = einsum(r3, (0, 1, 2, 3, 4), tmp187, (5, 2), (0, 1, 5, 3, 4)) * 2 - del tmp187 - tmp189 += np.transpose(tmp188, (2, 0, 1, 3, 4)) - del tmp188 - r3new += np.transpose(tmp189, (0, 2, 1, 3, 4)) * -1 - r3new += np.transpose(tmp189, (1, 2, 0, 3, 4)) - del tmp189 - tmp190 = einsum(r2, (0, 1, 2), v.ooov, (3, 1, 4, 5), (0, 3, 4, 2, 5)) - tmp198 = np.copy(tmp190) - del tmp190 - tmp191 = einsum(v.ooov, (0, 1, 2, 3), r3, (4, 1, 2, 5, 6), (4, 0, 5, 6, 3)) - tmp192 = einsum(t1, (0, 1), tmp191, (2, 3, 4, 5, 1), (2, 0, 3, 4, 5)) - del tmp191 - tmp198 += tmp192 - del tmp192 - tmp193 = np.copy(f.oo) - tmp193 += ints.tmp0 - del ints.tmp0 - tmp193 += np.transpose(ints.tmp24, (1, 0)) * 2 - del ints.tmp24 - tmp194 = einsum(tmp193, (0, 1), r3, (2, 3, 0, 4, 5), (2, 3, 1, 4, 5)) - del tmp193 - tmp198 += np.transpose(tmp194, (2, 0, 1, 3, 4)) - del tmp194 - tmp195 = einsum(r2, (0, 1, 2), v.ooov, (3, 4, 1, 2), (0, 3, 4)) - tmp196 = np.copy(np.transpose(tmp195, (0, 2, 1))) - del tmp195 - tmp196 += np.transpose(tmp31, (0, 2, 1)) - del tmp31 - tmp197 = einsum(t2, (0, 1, 2, 3), tmp196, (4, 1, 5), (0, 4, 5, 3, 2)) - del tmp196 - tmp198 += np.transpose(tmp197, (1, 0, 2, 4, 3)) - del tmp197 - r3new += np.transpose(tmp198, (0, 2, 1, 3, 4)) - r3new += np.transpose(tmp198, (1, 2, 0, 3, 4)) * -1 - del tmp198 - tmp203 = np.copy(tmp55) - del tmp55 - tmp199 = einsum(r3, (0, 1, 2, 3, 4), tmp0, (2, 0, 3, 5), (1, 4, 5)) - tmp200 = einsum(tmp199, (0, 1, 2), t2, (3, 4, 2, 5), (3, 4, 0, 5, 1)) * -0.5 - del tmp199 - tmp203 += np.transpose(tmp200, (2, 1, 0, 4, 3)) * -1 - del tmp200 - tmp201 = np.copy(ints.tmp104) * 0.5 - tmp201 += ints.tmp107 - tmp201 += ints.tmp130 * 0.5 - tmp201 += ints.tmp64 - tmp201 += np.transpose(ints.tmp79, (1, 2, 0, 3)) * 0.5 - tmp202 = einsum(tmp201, (0, 1, 2, 3), r2, (4, 2, 5), (4, 0, 1, 5, 3)) * 2 - del tmp201 - tmp203 += np.transpose(tmp202, (1, 2, 0, 4, 3)) - del tmp202 - r3new += np.transpose(tmp203, (1, 0, 2, 4, 3)) * -1 - r3new += np.transpose(tmp203, (2, 0, 1, 4, 3)) - del tmp203 - tmp204 = einsum(v.ovov, (0, 1, 2, 3), r3, (4, 2, 5, 6, 1), (4, 5, 0, 6, 3)) - tmp205 = einsum(t2, (0, 1, 2, 3), tmp204, (4, 5, 1, 6, 3), (4, 5, 0, 6, 2)) - tmp208 = np.copy(tmp205) - del tmp205 - tmp206 = np.copy(ints.tmp106) - tmp206 += ints.tmp141 - tmp206 += ints.tmp63 - tmp206 += ints.tmp66 - tmp207 = einsum(tmp206, (0, 1, 2, 3), r2, (4, 2, 5), (4, 0, 1, 5, 3)) - del tmp206 - tmp208 += np.transpose(tmp207, (1, 2, 0, 4, 3)) - del tmp207 - r3new += np.transpose(tmp208, (1, 0, 2, 4, 3)) - r3new += np.transpose(tmp208, (2, 0, 1, 4, 3)) * -1 - del tmp208 - tmp217 = np.copy(tmp72) - tmp209 = einsum(v.ovov, (0, 1, 2, 3), r3, (4, 5, 2, 1, 6), (4, 5, 0, 6, 3)) - tmp210 = einsum(tmp209, (0, 1, 2, 3, 4), t2, (5, 2, 4, 6), (0, 1, 5, 3, 6)) - tmp217 += tmp210 - del tmp210 - tmp211 = np.copy(ints.tmp50) - tmp211 += ints.tmp52 - tmp211 += ints.tmp95 - tmp212 = einsum(r2, (0, 1, 2), tmp211, (3, 4, 1, 5), (0, 3, 4, 2, 5)) - del tmp211 - tmp217 += np.transpose(tmp212, (1, 2, 0, 4, 3)) - del tmp212 - tmp213 = einsum(r3, (0, 1, 2, 3, 4), v.ooov, (5, 2, 6, 3), (0, 1, 5, 6, 4)) - tmp215 = np.copy(tmp213) - del tmp213 - tmp214 = einsum(t1, (0, 1), tmp209, (2, 3, 4, 5, 1), (2, 3, 0, 4, 5)) - tmp215 += tmp214 - del tmp214 - tmp216 = einsum(t1, (0, 1), tmp215, (2, 3, 4, 0, 5), (2, 3, 4, 1, 5)) - del tmp215 - tmp217 += np.transpose(tmp216, (0, 1, 2, 4, 3)) - del tmp216 - r3new += np.transpose(tmp217, (0, 1, 2, 4, 3)) - r3new += np.transpose(tmp217, (2, 1, 0, 4, 3)) * -1 - del tmp217 - tmp218 = einsum(ints.tmp48, (0, 1, 2, 3), r2, (2, 4, 5), (0, 1, 4, 3, 5)) - r3new += np.transpose(tmp218, (0, 1, 2, 4, 3)) * 2 - r3new += np.transpose(tmp218, (1, 0, 2, 3, 4)) * 2 - r3new += np.transpose(tmp218, (2, 0, 1, 3, 4)) * -2 - r3new += np.transpose(tmp218, (2, 1, 0, 4, 3)) * -2 - del tmp218 - tmp219 = einsum(tmp209, (0, 1, 2, 3, 4), t2, (5, 2, 6, 4), (0, 1, 5, 3, 6)) - del tmp209 - tmp225 = np.copy(tmp219) - del tmp219 - tmp220 = einsum(tmp72, (0, 1, 2, 3, 4), t2, (5, 2, 4, 6), (0, 1, 5, 3, 6)) - tmp225 += tmp220 - del tmp220 - tmp221 = einsum(v.ooov, (0, 1, 2, 3), r3, (4, 5, 2, 3, 6), (4, 5, 0, 1, 6)) - tmp223 = np.copy(np.transpose(tmp221, (0, 1, 3, 2, 4))) - del tmp221 - tmp222 = einsum(t1, (0, 1), tmp72, (2, 3, 4, 5, 1), (2, 3, 0, 4, 5)) - del tmp72 - tmp223 += np.transpose(tmp222, (0, 1, 3, 2, 4)) - del tmp222 - tmp224 = einsum(t1, (0, 1), tmp223, (2, 3, 0, 4, 5), (2, 3, 4, 1, 5)) - del tmp223 - tmp225 += np.transpose(tmp224, (0, 1, 2, 4, 3)) - del tmp224 - r3new += np.transpose(tmp225, (0, 1, 2, 4, 3)) * -1 - r3new += np.transpose(tmp225, (0, 2, 1, 3, 4)) * -1 - r3new += np.transpose(tmp225, (2, 1, 0, 4, 3)) - del tmp225 - tmp226 = einsum(v.oooo, (0, 1, 2, 3), r3, (1, 4, 3, 5, 6), (4, 0, 2, 5, 6)) - tmp236 = np.copy(tmp226) * -0.5 - del tmp226 - tmp227 = einsum(t2, (0, 1, 2, 3), tmp30, (4, 5, 1), (4, 0, 5, 2, 3)) - del tmp30 - tmp236 += tmp227 - del tmp227 - tmp228 = einsum(v.ovov, (0, 1, 2, 3), r3, (2, 4, 0, 5, 6), (4, 5, 6, 3, 1)) - tmp229 = einsum(tmp228, (0, 1, 2, 3, 4), t1, (5, 4), (0, 5, 1, 2, 3)) - del tmp228 - tmp231 = np.copy(tmp229) - del tmp229 - tmp230 = einsum(r3, (0, 1, 2, 3, 4), tmp11, (0, 5, 2, 6), (1, 5, 3, 4, 6)) - del tmp11 - tmp231 += tmp230 * -1 - del tmp230 - tmp232 = einsum(tmp231, (0, 1, 2, 3, 4), t1, (5, 4), (5, 0, 1, 2, 3)) * 0.5 - del tmp231 - tmp236 += np.transpose(tmp232, (1, 0, 2, 3, 4)) * -1 - del tmp232 - tmp233 = np.copy(f.ov) * 0.5 - tmp233 += ints.tmp23 - tmp234 = einsum(tmp233, (0, 1), r2, (2, 3, 1), (2, 3, 0)) - del tmp233 - tmp235 = einsum(t2, (0, 1, 2, 3), tmp234, (4, 5, 1), (0, 4, 5, 3, 2)) * 2 - del tmp234 - tmp236 += np.transpose(tmp235, (1, 2, 0, 4, 3)) - del tmp235 - r3new += np.transpose(tmp236, (1, 0, 2, 3, 4)) * -1 - r3new += np.transpose(tmp236, (2, 0, 1, 3, 4)) - del tmp236 - tmp244 = np.copy(tmp93) - del tmp93 - tmp237 = einsum(t2, (0, 1, 2, 3), tmp25, (4, 5, 3), (0, 1, 4, 5, 2)) - del tmp25 - tmp244 += tmp237 - del tmp237 - tmp238 = einsum(r2, (0, 1, 2), v.ooov, (3, 4, 5, 2), (0, 1, 3, 4, 5)) - tmp239 = einsum(tmp238, (0, 1, 2, 3, 4), t1, (4, 5), (0, 1, 2, 3, 5)) - del tmp238 - tmp240 = einsum(t1, (0, 1), tmp239, (2, 3, 4, 0, 5), (2, 3, 4, 1, 5)) - del tmp239 - tmp244 += tmp240 - del tmp240 - tmp241 = einsum(tmp34, (0, 1, 2), t2, (3, 2, 4, 5), (0, 1, 3, 4, 5)) - del tmp34 - tmp244 += tmp241 - del tmp241 - tmp242 = einsum(tmp157, (0, 1, 2, 3), r2, (4, 3, 5), (4, 0, 1, 2, 5)) - del tmp157 - tmp243 = einsum(tmp242, (0, 1, 2, 3, 4), t1, (3, 5), (1, 2, 0, 4, 5)) - del tmp242 - tmp244 += tmp243 - del tmp243 - r3new += np.transpose(tmp244, (0, 2, 1, 4, 3)) * -1 - r3new += np.transpose(tmp244, (1, 0, 2, 3, 4)) - r3new += np.transpose(tmp244, (2, 0, 1, 3, 4)) * -1 - r3new += np.transpose(tmp244, (1, 2, 0, 4, 3)) - del tmp244 - tmp245 = einsum(tmp20, (0, 1, 2), t2, (3, 4, 5, 2), (0, 3, 4, 1, 5)) - del tmp20 - r3new += tmp245 * -0.5 - r3new += np.transpose(tmp245, (0, 2, 1, 4, 3)) * -1 - r3new += np.transpose(tmp245, (1, 2, 0, 4, 3)) - r3new += np.transpose(tmp245, (2, 1, 0, 3, 4)) * 0.5 - del tmp245 - tmp246 = einsum(t2, (0, 1, 2, 3), tmp27, (4, 5, 3), (4, 0, 1, 5, 2)) - del tmp27 - r3new += tmp246 * -2 - r3new += np.transpose(tmp246, (1, 0, 2, 4, 3)) * -1 - r3new += np.transpose(tmp246, (2, 0, 1, 4, 3)) - r3new += np.transpose(tmp246, (2, 1, 0, 3, 4)) * 2 - del tmp246 - tmp247 = einsum(t2, (0, 1, 2, 3), tmp32, (4, 5, 1), (4, 5, 0, 2, 3)) - del tmp32 - r3new += tmp247 * -1 - r3new += np.transpose(tmp247, (0, 2, 1, 4, 3)) * -1 - r3new += np.transpose(tmp247, (2, 1, 0, 3, 4)) - del tmp247 - tmp248 = einsum(r3, (0, 1, 2, 3, 4), tmp0, (1, 0, 4, 5), (2, 3, 5)) - del tmp0 - tmp249 = einsum(tmp248, (0, 1, 2), t2, (3, 4, 2, 5), (0, 3, 4, 1, 5)) * -0.5 - del tmp248 - r3new += np.transpose(tmp249, (0, 1, 2, 4, 3)) - r3new += np.transpose(tmp249, (2, 1, 0, 4, 3)) * -1 - del tmp249 - tmp250 = einsum(r3, (0, 1, 2, 3, 4), v.ovov, (5, 4, 1, 3), (0, 2, 5)) - tmp251 = einsum(tmp250, (0, 1, 2), t2, (3, 2, 4, 5), (0, 1, 3, 4, 5)) - del tmp250 - r3new += np.transpose(tmp251, (0, 2, 1, 4, 3)) * 0.5 - r3new += np.transpose(tmp251, (1, 0, 2, 3, 4)) * -0.5 - r3new += np.transpose(tmp251, (2, 0, 1, 3, 4)) * 0.5 - del tmp251 - tmp252 = einsum(r3, (0, 1, 2, 3, 4), v.ovov, (5, 3, 1, 4), (0, 2, 5)) - tmp253 = einsum(t2, (0, 1, 2, 3), tmp252, (4, 5, 1), (4, 5, 0, 2, 3)) - del tmp252 - r3new += np.transpose(tmp253, (0, 2, 1, 4, 3)) * -1.5 - r3new += np.transpose(tmp253, (1, 0, 2, 3, 4)) * 0.5 - r3new += np.transpose(tmp253, (2, 0, 1, 3, 4)) * -0.5 - del tmp253 - tmp254 = einsum(ints.tmp53, (0, 1, 2, 3), r2, (4, 3, 5), (0, 1, 2, 4, 5)) - del ints.tmp53 - tmp255 = einsum(tmp254, (0, 1, 2, 3, 4), t1, (2, 5), (0, 1, 3, 4, 5)) - del tmp254 - tmp264 = np.copy(tmp255) - del tmp255 - tmp256 = einsum(t2, (0, 1, 2, 3), tmp21, (4, 3, 5), (0, 1, 4, 2, 5)) - del tmp21 - tmp257 = einsum(tmp256, (0, 1, 2, 3, 4), t1, (5, 4), (5, 0, 1, 2, 3)) - del tmp256 - tmp264 += tmp257 - del tmp257 - tmp258 = einsum(r2, (0, 1, 2), v.ovov, (3, 4, 1, 2), (0, 3, 4)) - tmp259 = np.copy(tmp258) - del tmp258 - tmp259 += tmp36 - del tmp36 - tmp260 = einsum(t1, (0, 1), tmp259, (2, 3, 1), (2, 3, 0)) - tmp261 = einsum(tmp260, (0, 1, 2), t2, (3, 1, 4, 5), (0, 2, 3, 5, 4)) - del tmp260 - tmp264 += np.transpose(tmp261, (0, 1, 2, 4, 3)) - del tmp261 - tmp262 = einsum(tmp259, (0, 1, 2), t2, (3, 4, 2, 5), (0, 1, 3, 4, 5)) - del tmp259 - tmp263 = einsum(t1, (0, 1), tmp262, (2, 0, 3, 4, 5), (2, 4, 3, 5, 1)) - del tmp262 - tmp264 += np.transpose(tmp263, (0, 1, 2, 4, 3)) - del tmp263 - r3new += tmp264 - r3new += np.transpose(tmp264, (0, 2, 1, 4, 3)) - r3new += np.transpose(tmp264, (1, 2, 0, 4, 3)) * -1 - r3new += np.transpose(tmp264, (2, 1, 0, 3, 4)) * -1 - del tmp264 - tmp265 = einsum(r2, (0, 1, 2), ints.tmp21, (3, 2), (3, 0, 1)) - tmp266 = einsum(t2, (0, 1, 2, 3), tmp265, (1, 4, 5), (4, 5, 0, 2, 3)) - del tmp265 - r3new += np.transpose(tmp266, (1, 0, 2, 3, 4)) - r3new += np.transpose(tmp266, (2, 0, 1, 3, 4)) * -1 - del tmp266 - tmp267 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * -0.5 - tmp267 += t2 - tmp268 = einsum(r3, (0, 1, 2, 3, 4), v.ovov, (5, 6, 2, 4), (0, 1, 5, 3, 6)) - tmp269 = np.copy(tmp268) - del tmp268 - tmp269 += tmp204 - del tmp204 - r3new += einsum(tmp267, (0, 1, 2, 3), tmp269, (4, 5, 0, 6, 2), (4, 1, 5, 6, 3)) * -2 - del tmp267 - r3new += einsum(r3, (0, 1, 2, 3, 4), tmp24, (3, 5), (0, 1, 2, 5, 4)) - r3new += einsum(r3, (0, 1, 2, 3, 4), tmp24, (4, 5), (0, 1, 2, 3, 5)) - del tmp24 - tmp270 = einsum(r3, (0, 1, 2, 3, 4), v.ovvv, (2, 4, 5, 6), (0, 1, 3, 5, 6)) - tmp270 += einsum(r3, (0, 1, 2, 3, 4), v.ovvv, (1, 5, 6, 4), (0, 2, 3, 5, 6)) - tmp270 += einsum(v.ovvv, (0, 1, 2, 3), r3, (4, 0, 5, 3, 6), (4, 5, 2, 1, 6)) - r3new += einsum(t1, (0, 1), tmp270, (2, 3, 4, 1, 5), (2, 0, 3, 4, 5)) * -1 - del tmp270 - r3new += einsum(r3, (0, 1, 2, 3, 4), tmp40, (1, 5), (0, 5, 2, 3, 4)) * -2 - del tmp40 - tmp271 = einsum(r3, (0, 1, 2, 3, 4), v.ooov, (5, 6, 2, 4), (5, 0, 6, 1, 3)) - tmp271 += einsum(r3, (0, 1, 2, 3, 4), v.ovoo, (5, 4, 6, 1), (5, 0, 6, 2, 3)) - tmp271 += einsum(r3, (0, 1, 2, 3, 4), v.ovvv, (5, 4, 6, 3), (5, 0, 1, 2, 6)) * -1 - tmp271 += einsum(tmp35, (0, 1), r3, (2, 3, 4, 5, 1), (0, 2, 3, 4, 5)) * -1 - tmp271 += einsum(t1, (0, 1), tmp269, (2, 3, 4, 5, 1), (4, 2, 0, 3, 5)) - del tmp269 - r3new += einsum(tmp271, (0, 1, 2, 3, 4), t1, (0, 5), (1, 2, 3, 4, 5)) - del tmp271 - tmp272 = einsum(r3, (0, 1, 2, 3, 4), v.ovoo, (5, 3, 6, 1), (5, 0, 6, 2, 4)) - tmp272 += einsum(v.ovvv, (0, 1, 2, 3), r3, (4, 5, 6, 1, 3), (0, 4, 5, 6, 2)) * -1 - tmp272 += einsum(tmp43, (0, 1, 2, 3, 4), t1, (4, 5), (3, 0, 1, 2, 5)) - del tmp43 - tmp272 += einsum(t1, (0, 1), tmp44, (2, 3, 4, 5, 1), (4, 2, 0, 3, 5)) - del tmp44 - tmp272 += einsum(r3, (0, 1, 2, 3, 4), tmp35, (5, 3), (5, 0, 1, 2, 4)) * -1 - del tmp35 - r3new += einsum(t1, (0, 1), tmp272, (0, 2, 3, 4, 5), (2, 3, 4, 1, 5)) - del tmp272 - r3new += einsum(t3, (0, 1, 2, 3, 4, 5), tmp41, (5,), (0, 1, 2, 3, 4)) * 2 - del tmp41 - tmp273 = np.copy(ints.tmp192) - del ints.tmp192 - tmp273 += np.transpose(ints.tmp240, (0, 1, 2, 3, 5, 4)) - del ints.tmp240 - tmp273 += np.transpose(ints.tmp267, (0, 1, 2, 3, 5, 4)) - del ints.tmp267 - tmp273 += ints.tmp290 - del ints.tmp290 - tmp273 += np.transpose(ints.tmp375, (1, 2, 0, 3, 5, 4)) - del ints.tmp375 - tmp273 += np.transpose(ints.tmp196, (0, 1, 2, 3, 5, 4)) * -1 - del ints.tmp196 - tmp273 += np.transpose(ints.tmp245, (1, 2, 3, 0, 5, 4)) * -1 - del ints.tmp245 - tmp273 += np.transpose(ints.tmp268, (0, 1, 2, 3, 5, 4)) * -2 - del ints.tmp268 - tmp273 += np.transpose(ints.tmp286, (0, 1, 2, 3, 5, 4)) * -1 - del ints.tmp286 - r3new += einsum(tmp273, (0, 1, 2, 3, 4, 5), r1, (3,), (1, 2, 0, 5, 4)) * -1 - del tmp273 - tmp276 = np.copy(ints.tmp102) * 0.5 - del ints.tmp102 - tmp276 += ints.tmp176 * 0.5 - del ints.tmp176 - tmp276 += np.transpose(ints.tmp178, (1, 0, 2, 3)) * 0.5 - del ints.tmp178 - tmp276 += ints.tmp104 * -0.5 - del ints.tmp104 - tmp274 = np.copy(ints.tmp106) * 0.5 - del ints.tmp106 - tmp274 += ints.tmp123 * 0.5 - del ints.tmp123 - tmp274 += ints.tmp141 * 0.5 - del ints.tmp141 - tmp274 += ints.tmp27 * 0.5 - del ints.tmp27 - tmp274 += ints.tmp32 * 0.5 - del ints.tmp32 - tmp274 += ints.tmp48 - del ints.tmp48 - tmp274 += ints.tmp63 * 0.5 - del ints.tmp63 - tmp274 += ints.tmp66 * 0.5 - del ints.tmp66 - tmp274 += ints.tmp107 * -1 - del ints.tmp107 - tmp274 += ints.tmp130 * -0.5 - del ints.tmp130 - tmp274 += ints.tmp50 * -0.5 - del ints.tmp50 - tmp274 += ints.tmp52 * -0.5 - del ints.tmp52 - tmp274 += ints.tmp64 * -1 - del ints.tmp64 - tmp274 += ints.tmp95 * -0.5 - del ints.tmp95 - tmp276 += tmp274 - tmp276 += np.transpose(tmp274, (1, 0, 2, 3)) * -1 - del tmp274 - tmp275 = np.copy(ints.tmp79) * 0.5 - del ints.tmp79 - tmp275 += v.ooov * -0.5 - tmp276 += np.transpose(tmp275, (1, 2, 0, 3)) * -1 - tmp276 += np.transpose(tmp275, (2, 1, 0, 3)) - del tmp275 - r3new += einsum(tmp276, (0, 1, 2, 3), r2, (4, 2, 5), (0, 4, 1, 3, 5)) * -2 - del tmp276 - tmp279 = np.copy(ints.tmp420) * 2 - tmp279 += ints.tmp393 * -1 - del ints.tmp393 - tmp279 += ints.tmp394 * -1 - del ints.tmp394 - tmp279 += ints.tmp422 * -4 - tmp279 += ints.tmp423 * -1 - tmp279 += ints.tmp493 * -1 - del ints.tmp493 - tmp279 += ints.tmp500 * -1 - del ints.tmp500 - tmp279 += ints.tmp503 * -1 - del ints.tmp503 - tmp279 += ints.tmp505 * -1 - del ints.tmp505 - tmp279 += ints.tmp506 * -1 - del ints.tmp506 - tmp279 += ints.tmp519 * -1 - del ints.tmp519 - tmp279 += np.transpose(ints.tmp527, (0, 1, 3, 2)) * -1 - tmp279 += np.transpose(v.ovov, (0, 2, 1, 3)) * -1 - tmp277 = np.copy(ints.tmp160) - del ints.tmp160 - tmp277 += ints.tmp166 - del ints.tmp166 - tmp277 += ints.tmp201 - del ints.tmp201 - tmp277 += ints.tmp215 - del ints.tmp215 - tmp277 += ints.tmp308 - del ints.tmp308 - tmp277 += ints.tmp310 - del ints.tmp310 - tmp277 += ints.tmp330 - del ints.tmp330 - tmp277 += ints.tmp334 - del ints.tmp334 - tmp277 += ints.tmp353 - del ints.tmp353 - tmp277 += ints.tmp366 * 2 - del ints.tmp366 - tmp277 += ints.tmp415 * 2 - del ints.tmp415 - tmp277 += ints.tmp432 - del ints.tmp432 - tmp277 += ints.tmp453 - del ints.tmp453 - tmp277 += ints.tmp455 * 2 - del ints.tmp455 - tmp277 += ints.tmp122 * -1 - del ints.tmp122 - tmp277 += ints.tmp151 * -1 - del ints.tmp151 - tmp277 += ints.tmp309 * -2 - del ints.tmp309 - tmp277 += ints.tmp365 * -1 - del ints.tmp365 - tmp277 += ints.tmp374 * -1 - del ints.tmp374 - tmp277 += ints.tmp386 * -1 - del ints.tmp386 - tmp277 += ints.tmp416 * -1 - del ints.tmp416 - tmp277 += ints.tmp417 * -1 - del ints.tmp417 - tmp277 += ints.tmp454 * -1 - del ints.tmp454 - tmp277 += ints.tmp512 * -1 - del ints.tmp512 - tmp279 += np.transpose(tmp277, (0, 1, 3, 2)) - tmp279 += np.transpose(tmp277, (1, 0, 2, 3)) - tmp278 = np.copy(ints.tmp163) - tmp278 += ints.tmp165 - tmp278 += ints.tmp169 - tmp278 += ints.tmp216 - tmp278 += ints.tmp228 * 2 - tmp278 += ints.tmp265 - del ints.tmp265 - tmp278 += ints.tmp274 * 2 - del ints.tmp274 - tmp278 += ints.tmp352 - tmp278 += ints.tmp364 * 2 - tmp278 += ints.tmp421 * 2 - tmp278 += ints.tmp452 - tmp278 += ints.tmp466 - tmp278 += ints.tmp475 * 2 - tmp278 += ints.tmp479 - tmp278 += ints.tmp508 - tmp278 += ints.tmp509 - tmp278 += ints.tmp51 - tmp278 += ints.tmp161 * -1 - tmp278 += ints.tmp162 * -2 - tmp278 += ints.tmp227 * -1 - tmp278 += ints.tmp244 * -1 - del ints.tmp244 - tmp278 += ints.tmp266 * -2 - del ints.tmp266 - tmp278 += ints.tmp275 * -1 - del ints.tmp275 - tmp278 += ints.tmp363 * -1 - tmp278 += ints.tmp419 * -1 - tmp278 += ints.tmp474 * -1 - tmp278 += ints.tmp476 * -1 - tmp278 += ints.tmp47 * -2 - tmp278 += ints.tmp521 * -1 - tmp279 += tmp278 - tmp279 += np.transpose(tmp278, (1, 0, 3, 2)) - del tmp278 - r3new += einsum(tmp279, (0, 1, 2, 3), r1, (4,), (4, 1, 0, 2, 3)) - del tmp279 - tmp281 = np.copy(ints.tmp420) * 2 - del ints.tmp420 - tmp281 += ints.tmp422 * -4 - del ints.tmp422 - tmp281 += ints.tmp423 * -1 - del ints.tmp423 - tmp281 += np.transpose(ints.tmp527, (0, 1, 3, 2)) * -1 - del ints.tmp527 - tmp281 += np.transpose(v.ovov, (0, 2, 1, 3)) * -1 - tmp281 += np.transpose(tmp277, (0, 1, 3, 2)) - tmp281 += np.transpose(tmp277, (1, 0, 2, 3)) - del tmp277 - tmp280 = np.copy(ints.tmp163) - del ints.tmp163 - tmp280 += ints.tmp165 - del ints.tmp165 - tmp280 += ints.tmp169 - del ints.tmp169 - tmp280 += ints.tmp216 - del ints.tmp216 - tmp280 += ints.tmp228 * 2 - del ints.tmp228 - tmp280 += ints.tmp352 - del ints.tmp352 - tmp280 += ints.tmp364 * 2 - del ints.tmp364 - tmp280 += ints.tmp421 * 2 - del ints.tmp421 - tmp280 += ints.tmp452 - del ints.tmp452 - tmp280 += ints.tmp466 - del ints.tmp466 - tmp280 += ints.tmp475 * 2 - del ints.tmp475 - tmp280 += ints.tmp479 - del ints.tmp479 - tmp280 += ints.tmp508 - del ints.tmp508 - tmp280 += ints.tmp509 - del ints.tmp509 - tmp280 += ints.tmp51 - del ints.tmp51 - tmp280 += ints.tmp161 * -1 - del ints.tmp161 - tmp280 += ints.tmp162 * -2 - del ints.tmp162 - tmp280 += ints.tmp227 * -1 - del ints.tmp227 - tmp280 += ints.tmp363 * -1 - del ints.tmp363 - tmp280 += ints.tmp419 * -1 - del ints.tmp419 - tmp280 += ints.tmp474 * -1 - del ints.tmp474 - tmp280 += ints.tmp476 * -1 - del ints.tmp476 - tmp280 += ints.tmp47 * -2 - del ints.tmp47 - tmp280 += ints.tmp521 * -1 - del ints.tmp521 - tmp281 += tmp280 - tmp281 += np.transpose(tmp280, (1, 0, 3, 2)) - del tmp280 - r3new += einsum(tmp281, (0, 1, 2, 3), r1, (4,), (1, 0, 4, 3, 2)) * -1 - del tmp281 - tmp282 = np.copy(r2) * -1 - tmp282 += np.transpose(r2, (1, 0, 2)) - r3new += einsum(tmp282, (0, 1, 2), tmp42, (3, 4), (0, 3, 1, 2, 4)) - del tmp42, tmp282 - tmp283 = np.copy(f.ov) * 0.6666666666666666 - tmp283 += ints.tmp108 * 0.6666666666666666 - del ints.tmp108 - tmp283 += ints.tmp113 * 0.6666666666666666 - del ints.tmp113 - tmp283 += ints.tmp118 * 1.3333333333333333 - del ints.tmp118 - tmp283 += ints.tmp120 * 1.3333333333333333 - del ints.tmp120 - tmp283 += ints.tmp140 * 0.6666666666666666 - del ints.tmp140 - tmp283 += ints.tmp143 * 0.6666666666666666 - del ints.tmp143 - tmp283 += ints.tmp149 * 0.6666666666666666 - del ints.tmp149 - tmp283 += ints.tmp23 * 1.3333333333333333 - tmp283 += ints.tmp57 * 1.3333333333333333 - del ints.tmp57 - tmp283 += ints.tmp69 * 0.3333333333333333 - del ints.tmp69 - tmp283 += ints.tmp71 - del ints.tmp71 - tmp283 += ints.tmp72 * 0.3333333333333333 - del ints.tmp72 - tmp283 += ints.tmp73 * 0.6666666666666666 - del ints.tmp73 - tmp283 += ints.tmp76 * 2.6666666666666665 - del ints.tmp76 - tmp283 += ints.tmp93 * 0.6666666666666666 - del ints.tmp93 - tmp283 += ints.tmp109 * -1.3333333333333333 - del ints.tmp109 - tmp283 += ints.tmp119 * -0.6666666666666666 - del ints.tmp119 - tmp283 += ints.tmp121 * -0.6666666666666666 - del ints.tmp121 - tmp283 += ints.tmp129 * -0.6666666666666666 - del ints.tmp129 - tmp283 += ints.tmp139 * -1.3333333333333333 - del ints.tmp139 - tmp283 += ints.tmp142 * -1.3333333333333333 - del ints.tmp142 - tmp283 += ints.tmp150 * -1.3333333333333333 - del ints.tmp150 - tmp283 += ints.tmp38 * -0.6666666666666666 - del ints.tmp38 - tmp283 += ints.tmp56 * -0.6666666666666666 - del ints.tmp56 - tmp283 += ints.tmp70 * -0.3333333333333333 - del ints.tmp70 - tmp283 += ints.tmp74 * -1.3333333333333333 - del ints.tmp74 - tmp283 += ints.tmp75 * -1.3333333333333333 - del ints.tmp75 - tmp283 += ints.tmp77 * -0.6666666666666666 - del ints.tmp77 - tmp283 += ints.tmp94 * -1.3333333333333333 - del ints.tmp94 - r3new += einsum(tmp283, (0, 1), r2, (2, 3, 4), (3, 2, 0, 1, 4)) * 1.5 - r3new += einsum(r2, (0, 1, 2), tmp283, (3, 4), (3, 0, 1, 4, 2)) * -1.5 - del tmp283 - tmp289 = einsum(v.ovov, (0, 1, 2, 3), r3, (4, 5, 2, 1, 3), (4, 5, 0)) - tmp284 = np.copy(f.ov) * 0.5 - tmp284 += ints.tmp23 - del ints.tmp23 - tmp284 += ints.tmp21 * -0.5 - del ints.tmp21 - tmp285 = einsum(tmp284, (0, 1), r2, (2, 3, 1), (2, 3, 0)) * 2 - del tmp284 - tmp289 += tmp285 - tmp289 += np.transpose(tmp285, (1, 0, 2)) * -1 - del tmp285 - tmp286 = einsum(tmp22, (0, 1, 2), v.ooov, (3, 4, 1, 2), (3, 4, 0)) - del tmp22 - tmp289 += np.transpose(tmp286, (2, 1, 0)) * -1 - tmp289 += np.transpose(tmp286, (1, 2, 0)) - del tmp286 - tmp287 = np.copy(r2) - tmp287 += np.transpose(r2, (1, 0, 2)) * -1 - tmp288 = einsum(tmp287, (0, 1, 2), v.ooov, (3, 1, 4, 2), (3, 4, 0)) - del tmp287 - tmp289 += np.transpose(tmp288, (2, 0, 1)) * -1 - tmp289 += np.transpose(tmp288, (0, 2, 1)) - del tmp288 - r3new += einsum(tmp289, (0, 1, 2), t2, (3, 2, 4, 5), (0, 3, 1, 5, 4)) - del tmp289 - tmp290 = np.copy(np.transpose(v.ovov, (0, 2, 1, 3))) - tmp290 += v.oovv * -0.5 - r3new += einsum(r3, (0, 1, 2, 3, 4), tmp290, (1, 5, 4, 6), (0, 5, 2, 3, 6)) * 2 - del tmp290 - tmp291 = np.copy(r3) - tmp291 += np.transpose(r3, (0, 1, 2, 4, 3)) * -1 - r3new += einsum(v.ovov, (0, 1, 2, 3), tmp291, (4, 5, 2, 6, 3), (4, 0, 5, 6, 1)) * -1 - del tmp291 - - return {f"r1new": r1new, f"r2new": r2new, f"r3new": r3new} - -def hbar_matvec_ea_intermediates(f=None, t1=None, t2=None, t3=None, v=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-10-22T09:04:23.092127. - - Parameters - ---------- - f : array - Fock matrix. - t1 : array - T1 amplitudes. - t2 : array - T2 amplitudes. - t3 : array - T3 amplitudes. - v : array - Electron repulsion integrals. - - Returns - ------- - tmp100 : array - tmp103 : array - tmp104 : array - tmp105 : array - tmp106 : array - tmp107 : array - tmp112 : array - tmp113 : array - tmp114 : array - tmp119 : array - tmp120 : array - tmp121 : array - tmp122 : array - tmp124 : array - tmp125 : array - tmp132 : array - tmp133 : array - tmp134 : array - tmp137 : array - tmp138 : array - tmp139 : array - tmp141 : array - tmp142 : array - tmp143 : array - tmp144 : array - tmp145 : array - tmp146 : array - tmp147 : array - tmp148 : array - tmp156 : array - tmp167 : array - tmp168 : array - tmp169 : array - tmp170 : array - tmp171 : array - tmp172 : array - tmp175 : array - tmp176 : array - tmp18 : array - tmp188 : array - tmp190 : array - tmp192 : array - tmp196 : array - tmp198 : array - tmp199 : array - tmp20 : array - tmp200 : array - tmp201 : array - tmp202 : array - tmp203 : array - tmp204 : array - tmp205 : array - tmp206 : array - tmp207 : array - tmp22 : array - tmp221 : array - tmp227 : array - tmp24 : array - tmp243 : array - tmp244 : array - tmp248 : array - tmp253 : array - tmp260 : array - tmp262 : array - tmp271 : array - tmp272 : array - tmp283 : array - tmp284 : array - tmp290 : array - tmp293 : array - tmp294 : array - tmp296 : array - tmp299 : array - tmp300 : array - tmp304 : array - tmp317 : array - tmp318 : array - tmp319 : array - tmp321 : array - tmp323 : array - tmp324 : array - tmp325 : array - tmp328 : array - tmp330 : array - tmp341 : array - tmp35 : array - tmp366 : array - tmp370 : array - tmp372 : array - tmp374 : array - tmp38 : array - tmp381 : array - tmp382 : array - tmp383 : array - tmp384 : array - tmp385 : array - tmp386 : array - tmp387 : array - tmp388 : array - tmp389 : array - tmp390 : array - tmp398 : array - tmp412 : array - tmp419 : array - tmp420 : array - tmp421 : array - tmp422 : array - tmp423 : array - tmp424 : array - tmp428 : array - tmp43 : array - tmp44 : array - tmp440 : array - tmp442 : array - tmp448 : array - tmp45 : array - tmp451 : array - tmp462 : array - tmp463 : array - tmp47 : array - tmp476 : array - tmp477 : array - tmp479 : array - tmp492 : array - tmp5 : array - tmp500 : array - tmp505 : array - tmp506 : array - tmp522 : array - tmp525 : array - tmp529 : array - tmp53 : array - tmp530 : array - tmp531 : array - tmp532 : array - tmp533 : array - tmp537 : array - tmp539 : array - tmp543 : array - tmp544 : array - tmp55 : array - tmp61 : array - tmp62 : array - tmp65 : array - tmp7 : array - tmp80 : array - tmp81 : array - tmp82 : array - tmp84 : array - tmp86 : array - tmp87 : array - tmp89 : array - tmp90 : array - tmp91 : array - tmp93 : array - tmp94 : array - tmp97 : array - """ - - tmp43 = einsum(v.oovv, (0, 1, 2, 3), t1, (1, 3), (0, 2)) - tmp80 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 3, 4, 2), (0, 4)) - tmp61 = einsum(t1, (0, 1), f.vv, (2, 1), (0, 2)) - tmp114 = einsum(t1, (0, 1), f.oo, (2, 0), (2, 1)) - tmp119 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 1, 0, 3), (4, 2)) - tmp141 = einsum(v.ovov, (0, 1, 2, 3), t3, (4, 2, 0, 1, 5, 3), (4, 5)) - tmp243 = einsum(v.vvvv, (0, 1, 2, 3), t2, (4, 5, 1, 3), (4, 5, 0, 2)) - tmp537 = einsum(v.oooo, (0, 1, 2, 3), t2, (1, 3, 4, 5), (0, 2, 4, 5)) - tmp81 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 2, 4, 3), (0, 4)) - tmp62 = einsum(f.ov, (0, 1), t1, (2, 1), (0, 2)) - tmp100 = einsum(t1, (0, 1), tmp62, (0, 2), (2, 1)) - tmp107 = einsum(v.ovvv, (0, 1, 2, 3), t1, (4, 1), (4, 0, 2, 3)) - tmp120 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 0, 1, 3), (4, 2)) - tmp124 = einsum(f.ov, (0, 1), t2, (2, 0, 1, 3), (2, 3)) - tmp125 = einsum(t2, (0, 1, 2, 3), f.ov, (1, 3), (0, 2)) - tmp142 = einsum(v.ovov, (0, 1, 2, 3), t3, (4, 2, 0, 5, 1, 3), (4, 5)) - tmp143 = einsum(v.ovov, (0, 1, 2, 3), t3, (4, 2, 0, 5, 3, 1), (4, 5)) - tmp144 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovov, (0, 3, 2, 5), (1, 4)) - tmp271 = einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 2), (0, 4, 3, 5)) - tmp299 = einsum(t2, (0, 1, 2, 3), f.vv, (4, 3), (0, 1, 4, 2)) - tmp304 = einsum(v.vvvv, (0, 1, 2, 3), t2, (4, 5, 6, 3), (4, 5, 6, 0, 1, 2)) - tmp317 = einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 0, 1, 6, 3), (4, 5, 6, 2)) - tmp318 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovvv, (2, 5, 6, 4), (0, 1, 3, 6)) - tmp325 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 5, 6, 3), (4, 5, 0, 6, 1, 2)) - tmp341 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 5, 6, 1), (4, 5, 0, 6, 2, 3)) - tmp366 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 5, 6, 3), (0, 1, 4, 6, 2, 5)) - tmp372 = einsum(t2, (0, 1, 2, 3), f.oo, (4, 1), (4, 0, 2, 3)) - tmp374 = einsum(t1, (0, 1), v.ooov, (2, 0, 3, 4), (2, 3, 1, 4)) - tmp381 = einsum(v.ooov, (0, 1, 2, 3), t3, (1, 4, 2, 5, 6, 3), (4, 0, 5, 6)) - tmp382 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ooov, (6, 1, 2, 5), (0, 6, 3, 4)) - tmp20 = einsum(v.ovov, (0, 1, 2, 3), t2, (0, 2, 1, 4), (4, 3)) - tmp422 = einsum(tmp20, (0, 1), t2, (2, 3, 4, 1), (2, 3, 4, 0)) - tmp428 = einsum(f.ov, (0, 1), t3, (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) - tmp440 = einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 0, 6, 7, 1), (4, 5, 6, 7, 2, 3)) - tmp442 = einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 0, 6, 7, 3), (4, 5, 6, 7, 1, 2)) - tmp476 = einsum(v.ovov, (0, 1, 2, 3), t3, (4, 2, 0, 5, 1, 6), (4, 5, 6, 3)) - tmp477 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovov, (2, 6, 1, 5), (0, 3, 4, 6)) - tmp479 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovov, (2, 6, 1, 4), (0, 3, 5, 6)) - tmp492 = einsum(v.ooov, (0, 1, 2, 3), t3, (1, 4, 2, 5, 6, 7), (4, 0, 5, 7, 6, 3)) - tmp500 = einsum(v.ooov, (0, 1, 2, 3), t3, (4, 1, 2, 5, 6, 7), (4, 0, 5, 7, 6, 3)) - tmp525 = einsum(v.oovv, (0, 1, 2, 3), t2, (4, 1, 5, 3), (4, 0, 5, 2)) - tmp543 = einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 0, 6, 3, 7), (4, 5, 6, 7, 1, 2)) - tmp544 = einsum(v.ovov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 1, 7), (4, 5, 0, 6, 7, 3)) - tmp5 = einsum(v.ovvv, (0, 1, 2, 3), t1, (0, 1), (2, 3)) - tmp89 = einsum(t1, (0, 1), tmp5, (2, 1), (0, 2)) - tmp7 = einsum(v.ovvv, (0, 1, 2, 3), t1, (0, 3), (1, 2)) - tmp90 = einsum(tmp7, (0, 1), t1, (2, 0), (2, 1)) - tmp103 = einsum(t1, (0, 1), tmp20, (2, 1), (0, 2)) - tmp44 = einsum(t1, (0, 1), v.ooov, (2, 0, 3, 1), (2, 3)) - tmp121 = einsum(tmp44, (0, 1), t1, (1, 2), (0, 2)) - tmp45 = einsum(t1, (0, 1), v.ooov, (2, 3, 0, 1), (2, 3)) - tmp122 = einsum(tmp45, (0, 1), t1, (1, 2), (0, 2)) - tmp156 = einsum(tmp62, (0, 1), t2, (2, 0, 3, 4), (1, 2, 3, 4)) - tmp82 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 2, 3, 1), (4, 0)) - tmp169 = einsum(t2, (0, 1, 2, 3), tmp82, (4, 1), (0, 4, 2, 3)) - tmp84 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 2, 1, 3), (4, 0)) - tmp170 = einsum(tmp84, (0, 1), t2, (2, 1, 3, 4), (2, 0, 3, 4)) - tmp97 = einsum(t1, (0, 1), v.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) - tmp198 = einsum(t1, (0, 1), tmp97, (2, 3, 0, 4), (2, 3, 1, 4)) - tmp248 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 2, 5, 3), (0, 1, 4, 5)) - tmp260 = einsum(tmp248, (0, 1, 2, 3), t2, (2, 3, 4, 5), (0, 1, 4, 5)) - tmp65 = einsum(v.vvvv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) - tmp283 = einsum(t1, (0, 1), tmp65, (2, 3, 1, 4), (2, 0, 4, 3)) - tmp86 = einsum(t2, (0, 1, 2, 3), v.ovov, (0, 4, 1, 5), (3, 2, 5, 4)) - tmp370 = einsum(tmp86, (0, 1, 2, 3), t2, (4, 5, 6, 2), (4, 5, 1, 0, 6, 3)) - tmp18 = einsum(v.ovov, (0, 1, 2, 3), t2, (0, 2, 3, 4), (4, 1)) - tmp421 = einsum(tmp18, (0, 1), t2, (2, 3, 4, 1), (2, 3, 4, 0)) - tmp221 = einsum(t1, (0, 1), v.oovv, (2, 3, 4, 1), (0, 2, 3, 4)) - tmp505 = einsum(t1, (0, 1), tmp221, (2, 3, 0, 4), (2, 3, 1, 4)) - tmp38 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 2, 1, 5), (0, 4, 3, 5)) - tmp522 = einsum(t2, (0, 1, 2, 3), tmp38, (4, 1, 5, 2), (4, 0, 5, 3)) - tmp529 = einsum(t2, (0, 1, 2, 3), tmp38, (4, 1, 5, 3), (0, 4, 2, 5)) - tmp137 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 2, 5, 1), (4, 0, 5, 3)) - tmp530 = einsum(t2, (0, 1, 2, 3), tmp137, (4, 1, 5, 3), (4, 0, 5, 2)) - tmp138 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 5, 1, 2), (0, 4, 3, 5)) - tmp531 = einsum(t2, (0, 1, 2, 3), tmp138, (4, 1, 5, 3), (0, 4, 2, 5)) - tmp139 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 2, 5, 3), (4, 0, 5, 1)) - tmp532 = einsum(t2, (0, 1, 2, 3), tmp139, (4, 1, 5, 3), (4, 0, 5, 2)) - tmp533 = einsum(t2, (0, 1, 2, 3), tmp138, (4, 1, 5, 2), (4, 0, 5, 3)) - tmp538 = einsum(t1, (0, 1), v.oooo, (2, 3, 4, 0), (2, 3, 4, 1)) - tmp539 = einsum(t1, (0, 1), tmp538, (2, 0, 3, 4), (2, 3, 1, 4)) - del tmp538 - tmp104 = einsum(t1, (0, 1), tmp18, (2, 1), (0, 2)) - tmp105 = einsum(tmp84, (0, 1), t1, (1, 2), (0, 2)) - tmp106 = einsum(tmp82, (0, 1), t1, (1, 2), (0, 2)) - tmp22 = einsum(v.ovov, (0, 1, 2, 3), t1, (2, 1), (0, 3)) - tmp93 = einsum(t1, (0, 1), tmp22, (2, 1), (0, 2)) - tmp112 = einsum(tmp93, (0, 1), t1, (1, 2), (0, 2)) - tmp24 = einsum(t1, (0, 1), v.ovov, (2, 3, 0, 1), (2, 3)) - tmp94 = einsum(t1, (0, 1), tmp24, (2, 1), (0, 2)) - tmp113 = einsum(t1, (0, 1), tmp94, (2, 0), (2, 1)) - tmp145 = einsum(tmp38, (0, 1, 2, 3), t1, (1, 3), (0, 2)) - tmp146 = einsum(t1, (0, 1), tmp137, (2, 0, 3, 1), (2, 3)) - tmp147 = einsum(t1, (0, 1), tmp138, (2, 0, 3, 1), (2, 3)) - tmp148 = einsum(tmp139, (0, 1, 2, 3), t1, (1, 3), (0, 2)) - tmp53 = einsum(v.ovov, (0, 1, 2, 3), t3, (0, 4, 2, 5, 6, 3), (4, 5, 6, 1)) - tmp167 = einsum(tmp53, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) - tmp55 = einsum(v.ovov, (0, 1, 2, 3), t3, (4, 2, 0, 5, 6, 1), (4, 5, 6, 3)) - tmp168 = einsum(tmp55, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) - tmp47 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 0, 1, 5), (4, 2, 3, 5)) - tmp188 = einsum(tmp47, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) - tmp189 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovov, (2, 6, 1, 7), (0, 3, 5, 4, 6, 7)) - tmp190 = einsum(tmp189, (0, 1, 2, 3, 4, 5), t1, (6, 5), (6, 0, 1, 2, 3, 4)) - del tmp189 - tmp192 = einsum(t1, (0, 1), v.ooov, (2, 3, 4, 1), (0, 2, 3, 4)) - tmp195 = einsum(t1, (0, 1), tmp192, (2, 3, 4, 0), (2, 3, 4, 1)) - tmp196 = einsum(t1, (0, 1), tmp195, (2, 3, 0, 4), (2, 3, 1, 4)) - del tmp195 - tmp133 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 3), (0, 2, 4, 5)) - tmp205 = einsum(tmp133, (0, 1, 2, 3), t1, (4, 2), (4, 0, 1, 3)) - tmp132 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 0, 5, 1), (4, 5, 2, 3)) - tmp206 = einsum(tmp132, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) - tmp134 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 2, 4, 5), (0, 3, 4, 5)) - tmp207 = einsum(tmp134, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) - tmp226 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovov, (0, 6, 2, 7), (1, 3, 5, 4, 7, 6)) * -1 - tmp227 = einsum(tmp226, (0, 1, 2, 3, 4, 5), t1, (6, 4), (6, 0, 1, 2, 3, 5)) * -1 - del tmp226 - tmp244 = einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 2, 5, 3), (0, 1, 4, 5)) - tmp253 = einsum(t1, (0, 1), tmp244, (2, 3, 0, 4), (2, 3, 1, 4)) - tmp91 = einsum(v.ovvv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) - tmp284 = einsum(t1, (0, 1), tmp91, (2, 3, 1, 4), (0, 2, 3, 4)) - tmp294 = einsum(t1, (0, 1), tmp284, (2, 3, 0, 4), (2, 3, 1, 4)) - tmp323 = einsum(t2, (0, 1, 2, 3), tmp5, (4, 3), (0, 1, 2, 4)) - tmp324 = einsum(tmp7, (0, 1), t2, (2, 3, 4, 0), (2, 3, 4, 1)) - tmp383 = einsum(tmp44, (0, 1), t2, (2, 1, 3, 4), (2, 0, 3, 4)) - tmp384 = einsum(tmp45, (0, 1), t2, (2, 1, 3, 4), (2, 0, 3, 4)) - tmp385 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 1, 3), (0, 4, 5, 2)) - tmp386 = einsum(t1, (0, 1), tmp385, (2, 3, 0, 4), (2, 3, 1, 4)) - tmp387 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 1, 5, 3), (0, 4, 5, 2)) - tmp388 = einsum(t1, (0, 1), tmp387, (2, 3, 0, 4), (2, 3, 1, 4)) - tmp389 = einsum(v.ooov, (0, 1, 2, 3), t2, (4, 2, 3, 5), (4, 0, 1, 5)) - tmp390 = einsum(t1, (0, 1), tmp389, (2, 3, 0, 4), (2, 3, 1, 4)) - tmp272 = einsum(v.ooov, (0, 1, 2, 3), t2, (4, 1, 3, 5), (4, 0, 2, 5)) - tmp398 = einsum(t1, (0, 1), tmp272, (2, 3, 0, 4), (2, 3, 1, 4)) - tmp300 = einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), (0, 2, 3, 4)) - tmp412 = einsum(t1, (0, 1), tmp300, (0, 2, 3, 4), (2, 3, 1, 4)) - tmp319 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovov, (6, 3, 2, 5), (0, 1, 6, 4)) - tmp419 = einsum(t1, (0, 1), tmp319, (2, 3, 0, 4), (2, 3, 1, 4)) - tmp321 = einsum(v.ovov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 1, 3), (4, 5, 0, 6)) - tmp420 = einsum(t1, (0, 1), tmp321, (2, 3, 0, 4), (2, 3, 1, 4)) - tmp448 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovov, (6, 5, 2, 7), (0, 1, 6, 3, 4, 7)) - tmp462 = einsum(tmp448, (0, 1, 2, 3, 4, 5), t1, (2, 5), (0, 1, 3, 4)) - tmp451 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovov, (6, 7, 2, 5), (0, 1, 6, 3, 4, 7)) - tmp463 = einsum(tmp451, (0, 1, 2, 3, 4, 5), t1, (2, 5), (0, 1, 3, 4)) - tmp35 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 2), (0, 3, 4, 5)) - tmp506 = einsum(tmp35, (0, 1, 2, 3), t1, (4, 2), (4, 0, 1, 3)) - tmp171 = einsum(tmp93, (0, 1), t2, (2, 1, 3, 4), (0, 2, 3, 4)) - tmp172 = einsum(tmp94, (0, 1), t2, (2, 1, 3, 4), (0, 2, 3, 4)) - tmp175 = einsum(t1, (0, 1), tmp38, (2, 3, 4, 1), (0, 2, 3, 4)) - tmp176 = einsum(t1, (0, 1), tmp175, (2, 3, 0, 4), (2, 3, 1, 4)) - tmp199 = einsum(t1, (0, 1), tmp137, (2, 3, 4, 1), (0, 2, 3, 4)) - tmp200 = einsum(t1, (0, 1), tmp199, (2, 3, 0, 4), (2, 3, 1, 4)) - tmp201 = einsum(tmp139, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) - tmp202 = einsum(t1, (0, 1), tmp201, (2, 3, 0, 4), (2, 3, 1, 4)) - tmp203 = einsum(t1, (0, 1), tmp138, (2, 3, 4, 1), (0, 2, 3, 4)) - tmp204 = einsum(t1, (0, 1), tmp203, (2, 3, 0, 4), (2, 3, 1, 4)) - tmp261 = einsum(t1, (0, 1), tmp248, (2, 3, 4, 0), (2, 3, 4, 1)) - tmp262 = einsum(t1, (0, 1), tmp261, (2, 3, 0, 4), (2, 3, 1, 4)) - del tmp261 - tmp87 = einsum(tmp86, (0, 1, 2, 3), t1, (4, 2), (4, 1, 0, 3)) - tmp293 = einsum(t1, (0, 1), tmp87, (2, 3, 4, 1), (2, 0, 4, 3)) - tmp290 = einsum(t1, (0, 1), tmp97, (2, 3, 4, 1), (2, 0, 4, 3)) - tmp295 = einsum(t1, (0, 1), tmp290, (2, 3, 0, 4), (3, 2, 4, 1)) - tmp296 = einsum(t1, (0, 1), tmp295, (2, 3, 0, 4), (3, 2, 4, 1)) - del tmp295 - tmp328 = einsum(t2, (0, 1, 2, 3), tmp22, (4, 3), (0, 1, 4, 2)) - tmp423 = einsum(t1, (0, 1), tmp328, (2, 3, 0, 4), (2, 3, 1, 4)) - tmp330 = einsum(t2, (0, 1, 2, 3), tmp24, (4, 3), (0, 1, 4, 2)) - tmp424 = einsum(t1, (0, 1), tmp330, (2, 3, 0, 4), (2, 3, 1, 4)) - - return {f"tmp100": tmp100, f"tmp103": tmp103, f"tmp104": tmp104, f"tmp105": tmp105, f"tmp106": tmp106, f"tmp107": tmp107, f"tmp112": tmp112, f"tmp113": tmp113, f"tmp114": tmp114, f"tmp119": tmp119, f"tmp120": tmp120, f"tmp121": tmp121, f"tmp122": tmp122, f"tmp124": tmp124, f"tmp125": tmp125, f"tmp132": tmp132, f"tmp133": tmp133, f"tmp134": tmp134, f"tmp137": tmp137, f"tmp138": tmp138, f"tmp139": tmp139, f"tmp141": tmp141, f"tmp142": tmp142, f"tmp143": tmp143, f"tmp144": tmp144, f"tmp145": tmp145, f"tmp146": tmp146, f"tmp147": tmp147, f"tmp148": tmp148, f"tmp156": tmp156, f"tmp167": tmp167, f"tmp168": tmp168, f"tmp169": tmp169, f"tmp170": tmp170, f"tmp171": tmp171, f"tmp172": tmp172, f"tmp175": tmp175, f"tmp176": tmp176, f"tmp18": tmp18, f"tmp188": tmp188, f"tmp190": tmp190, f"tmp192": tmp192, f"tmp196": tmp196, f"tmp198": tmp198, f"tmp199": tmp199, f"tmp20": tmp20, f"tmp200": tmp200, f"tmp201": tmp201, f"tmp202": tmp202, f"tmp203": tmp203, f"tmp204": tmp204, f"tmp205": tmp205, f"tmp206": tmp206, f"tmp207": tmp207, f"tmp22": tmp22, f"tmp221": tmp221, f"tmp227": tmp227, f"tmp24": tmp24, f"tmp243": tmp243, f"tmp244": tmp244, f"tmp248": tmp248, f"tmp253": tmp253, f"tmp260": tmp260, f"tmp262": tmp262, f"tmp271": tmp271, f"tmp272": tmp272, f"tmp283": tmp283, f"tmp284": tmp284, f"tmp290": tmp290, f"tmp293": tmp293, f"tmp294": tmp294, f"tmp296": tmp296, f"tmp299": tmp299, f"tmp300": tmp300, f"tmp304": tmp304, f"tmp317": tmp317, f"tmp318": tmp318, f"tmp319": tmp319, f"tmp321": tmp321, f"tmp323": tmp323, f"tmp324": tmp324, f"tmp325": tmp325, f"tmp328": tmp328, f"tmp330": tmp330, f"tmp341": tmp341, f"tmp35": tmp35, f"tmp366": tmp366, f"tmp370": tmp370, f"tmp372": tmp372, f"tmp374": tmp374, f"tmp38": tmp38, f"tmp381": tmp381, f"tmp382": tmp382, f"tmp383": tmp383, f"tmp384": tmp384, f"tmp385": tmp385, f"tmp386": tmp386, f"tmp387": tmp387, f"tmp388": tmp388, f"tmp389": tmp389, f"tmp390": tmp390, f"tmp398": tmp398, f"tmp412": tmp412, f"tmp419": tmp419, f"tmp420": tmp420, f"tmp421": tmp421, f"tmp422": tmp422, f"tmp423": tmp423, f"tmp424": tmp424, f"tmp428": tmp428, f"tmp43": tmp43, f"tmp44": tmp44, f"tmp440": tmp440, f"tmp442": tmp442, f"tmp448": tmp448, f"tmp45": tmp45, f"tmp451": tmp451, f"tmp462": tmp462, f"tmp463": tmp463, f"tmp47": tmp47, f"tmp476": tmp476, f"tmp477": tmp477, f"tmp479": tmp479, f"tmp492": tmp492, f"tmp5": tmp5, f"tmp500": tmp500, f"tmp505": tmp505, f"tmp506": tmp506, f"tmp522": tmp522, f"tmp525": tmp525, f"tmp529": tmp529, f"tmp53": tmp53, f"tmp530": tmp530, f"tmp531": tmp531, f"tmp532": tmp532, f"tmp533": tmp533, f"tmp537": tmp537, f"tmp539": tmp539, f"tmp543": tmp543, f"tmp544": tmp544, f"tmp55": tmp55, f"tmp61": tmp61, f"tmp62": tmp62, f"tmp65": tmp65, f"tmp7": tmp7, f"tmp80": tmp80, f"tmp81": tmp81, f"tmp82": tmp82, f"tmp84": tmp84, f"tmp86": tmp86, f"tmp87": tmp87, f"tmp89": tmp89, f"tmp90": tmp90, f"tmp91": tmp91, f"tmp93": tmp93, f"tmp94": tmp94, f"tmp97": tmp97} - -def hbar_matvec_ea(f=None, r1=None, r2=None, r3=None, t1=None, t2=None, t3=None, v=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-10-22T09:04:24.062505. - - Parameters - ---------- - f : array - Fock matrix. - r1 : array - R1 amplitudes. - r2 : array - R2 amplitudes. - r3 : array - R3 amplitudes. - t1 : array - T1 amplitudes. - t2 : array - T2 amplitudes. - t3 : array - T3 amplitudes. - v : array - Electron repulsion integrals. - - Returns - ------- - r1new : array - Updated R1 residuals. - r2new : array - Updated R2 residuals. - r3new : array - Updated R3 residuals. - """ - - ints = kwargs["ints"] - tmp0 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1))) * -1 - tmp0 += np.transpose(v.ovov, (0, 2, 1, 3)) - r1new = einsum(r3, (0, 1, 2, 3, 4), tmp0, (3, 4, 0, 1), (2,)) * 0.25 - tmp1 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1))) - tmp1 += np.transpose(v.ovov, (0, 2, 1, 3)) * -0.42857142857142855 - r1new += einsum(tmp1, (0, 1, 2, 3), r3, (4, 2, 3, 0, 1), (4,)) * -1.75 - del tmp1 - tmp2 = np.copy(v.ovvv) * 2 - tmp2 += np.transpose(v.ovvv, (0, 2, 1, 3)) * -1 - r1new += einsum(r2, (0, 1, 2), tmp2, (2, 0, 1, 3), (3,)) * -1 - del tmp2 - tmp4 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1))) - tmp4 += np.transpose(v.ovov, (0, 2, 1, 3)) * -0.5 - tmp3 = np.copy(np.transpose(r2, (2, 0, 1))) * -0.5 - tmp3 += np.transpose(r2, (2, 1, 0)) - tmp5 = einsum(tmp3, (0, 1, 2), tmp4, (0, 3, 4, 2), (3, 1, 4)) * -2 - del tmp4 - r1new += einsum(t1, (0, 1), tmp5, (0, 2, 1), (2,)) * 2 - del tmp5 - tmp6 = np.copy(np.transpose(r2, (2, 0, 1))) * -1 - tmp6 += np.transpose(r2, (2, 1, 0)) * 2 - r1new += einsum(f.ov, (0, 1), tmp6, (0, 2, 1), (2,)) * -1 - tmp7 = np.copy(f.vv) - tmp7 += np.transpose(ints.tmp18, (1, 0)) - tmp7 += np.transpose(ints.tmp5, (1, 0)) * 2 - tmp7 += np.transpose(ints.tmp20, (1, 0)) * -2 - tmp7 += ints.tmp7 * -1 - r1new += einsum(tmp7, (0, 1), r1, (0,), (1,)) - tmp8 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1))) * 2 - tmp8 += np.transpose(v.ovov, (0, 2, 1, 3)) * -1 - tmp9 = einsum(r2, (0, 1, 2), tmp8, (2, 3, 1, 0), (3,)) - tmp12 = np.copy(tmp9) * -1 - del tmp9 - tmp10 = np.copy(f.ov) - tmp10 += ints.tmp24 * 2 - tmp10 += ints.tmp22 * -1 - tmp11 = einsum(r1, (0,), tmp10, (1, 0), (1,)) - tmp12 += tmp11 - del tmp11 - r1new += einsum(t1, (0, 1), tmp12, (0,), (1,)) * -1 - r2new = einsum(r3, (0, 1, 2, 3, 4), v.ovvv, (3, 2, 5, 1), (5, 0, 4)) - r2new += einsum(r3, (0, 1, 2, 3, 4), v.ovvv, (4, 1, 5, 2), (0, 5, 3)) * -1 - r2new += einsum(v.vvvv, (0, 1, 2, 3), r2, (1, 3, 4), (0, 2, 4)) - r2new += einsum(v.ooov, (0, 1, 2, 3), r3, (4, 5, 3, 2, 1), (5, 4, 0)) * -1 - tmp13 = einsum(r2, (0, 1, 2), v.ovov, (3, 0, 4, 1), (2, 3, 4)) - r2new += einsum(tmp13, (0, 1, 2), t2, (1, 2, 3, 4), (3, 4, 0)) - tmp14 = np.copy(v.ovvv) * -1 - tmp14 += np.transpose(v.ovvv, (0, 2, 1, 3)) - r2new += einsum(r3, (0, 1, 2, 3, 4), tmp14, (4, 0, 1, 5), (5, 2, 3)) * -0.5 - del tmp14 - tmp15 = np.copy(v.ovvv) - tmp15 += np.transpose(v.ovvv, (0, 2, 1, 3)) * -1 - r2new += einsum(tmp15, (0, 1, 2, 3), r3, (2, 4, 1, 0, 5), (4, 3, 5)) * 0.5 - tmp16 = np.copy(v.ooov) * -1 - tmp16 += np.transpose(v.ovoo, (0, 2, 3, 1)) - r2new += einsum(tmp16, (0, 1, 2, 3), r3, (4, 3, 5, 0, 2), (4, 5, 1)) * -0.5 - del tmp16 - tmp17 = np.copy(ints.tmp139) * 2 - tmp17 += np.transpose(v.ovov, (0, 2, 1, 3)) - tmp17 += ints.tmp137 * -1 - tmp17 += ints.tmp138 * -1 - r2new += einsum(tmp3, (0, 1, 2), tmp17, (3, 0, 4, 2), (4, 1, 3)) * 2 - del tmp17 - tmp19 = np.copy(np.transpose(r3, (3, 4, 0, 1, 2))) * -1 - tmp19 += np.transpose(r3, (4, 3, 1, 2, 0)) - tmp18 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1))) * -0.5 - tmp18 += np.transpose(v.ovov, (0, 2, 1, 3)) - tmp20 = einsum(tmp18, (0, 1, 2, 3), tmp19, (4, 0, 5, 2, 6), (4, 1, 6, 5, 3)) * 2 - del tmp18, tmp19 - r2new += einsum(tmp20, (0, 1, 2, 3, 4), t1, (1, 4), (3, 2, 0)) - del tmp20 - tmp21 = np.copy(ints.tmp38) - tmp21 += v.oovv * -1 - r2new += einsum(r2, (0, 1, 2), tmp21, (3, 2, 4, 1), (0, 4, 3)) - r2new += einsum(r2, (0, 1, 2), tmp21, (3, 2, 4, 0), (4, 1, 3)) - del tmp21 - tmp22 = np.copy(np.transpose(r3, (3, 4, 0, 1, 2))) * -1 - tmp22 += np.transpose(r3, (4, 3, 2, 0, 1)) - r2new += einsum(tmp22, (0, 1, 2, 3, 4), f.ov, (0, 4), (3, 2, 1)) * -1 - del tmp22 - tmp23 = einsum(r2, (0, 1, 2), v.ovvv, (2, 3, 4, 1), (0, 3, 4)) - tmp26 = np.copy(tmp23) - tmp24 = einsum(v.ovvv, (0, 1, 2, 3), r2, (3, 4, 0), (4, 1, 2)) - tmp26 += np.transpose(tmp24, (2, 1, 0)) - tmp25 = einsum(r3, (0, 1, 2, 3, 4), v.ovov, (3, 2, 4, 5), (0, 1, 5)) - tmp26 += np.transpose(tmp25, (1, 2, 0)) - tmp26 += einsum(r3, (0, 1, 2, 3, 4), tmp0, (4, 3, 5, 1), (0, 5, 2)) * 0.5 - tmp26 += einsum(v.ovvv, (0, 1, 2, 3), tmp6, (0, 4, 1), (2, 3, 4)) * -1 - del tmp6 - r2new += einsum(tmp26, (0, 1, 2), t1, (3, 1), (0, 2, 3)) * -1 - del tmp26 - tmp27 = np.copy(ints.tmp132) * 2 - tmp27 += ints.tmp47 - tmp27 += np.transpose(ints.tmp65, (0, 3, 1, 2)) - del ints.tmp65 - tmp27 += np.transpose(ints.tmp87, (0, 2, 1, 3)) - del ints.tmp87 - tmp27 += v.ovvv - tmp27 += np.transpose(ints.tmp133, (0, 1, 3, 2)) * -1 - tmp27 += ints.tmp134 * -1 - tmp27 += np.transpose(ints.tmp35, (0, 3, 1, 2)) * -1 - tmp27 += np.transpose(ints.tmp53, (0, 2, 1, 3)) * -1 - tmp27 += ints.tmp55 * -1 - r2new += einsum(r1, (0,), tmp27, (1, 2, 3, 0), (2, 3, 1)) * -1 - del tmp27 - r2new += einsum(r2, (0, 1, 2), tmp7, (0, 3), (3, 1, 2)) - r2new += einsum(tmp7, (0, 1), r2, (2, 0, 3), (2, 1, 3)) - tmp28 = einsum(r2, (0, 1, 2), v.ooov, (3, 2, 4, 0), (3, 4, 1)) - tmp39 = np.copy(np.transpose(tmp28, (1, 0, 2))) * -1 - tmp29 = einsum(r2, (0, 1, 2), v.ovvv, (3, 0, 4, 1), (2, 3, 4)) - tmp39 += np.transpose(tmp29, (1, 0, 2)) - tmp30 = einsum(v.ovov, (0, 1, 2, 3), r3, (4, 1, 3, 2, 5), (5, 0, 4)) - tmp39 += np.transpose(tmp30, (1, 0, 2)) - tmp31 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1))) - tmp31 += np.transpose(v.ovov, (0, 2, 1, 3)) * -1 - tmp39 += einsum(tmp31, (0, 1, 2, 3), r3, (2, 3, 4, 5, 0), (1, 5, 4)) * -0.5 - del tmp31 - tmp32 = np.copy(np.transpose(r2, (2, 0, 1))) - tmp32 += np.transpose(r2, (2, 1, 0)) * -0.5 - tmp39 += einsum(tmp32, (0, 1, 2), v.ooov, (3, 4, 0, 1), (3, 4, 2)) * 2 - del tmp32 - tmp33 = np.copy(f.ov) * 0.5 - tmp33 += ints.tmp24 - tmp33 += ints.tmp22 * -0.5 - tmp39 += einsum(r2, (0, 1, 2), tmp33, (3, 0), (3, 2, 1)) * 2 - del tmp33 - tmp34 = einsum(r2, (0, 1, 2), v.ovov, (3, 0, 2, 4), (3, 1, 4)) - tmp35 = np.copy(tmp34) * 0.5 - tmp35 += einsum(v.ovov, (0, 1, 2, 3), tmp3, (2, 4, 3), (0, 4, 1)) * -1 - tmp39 += einsum(t1, (0, 1), tmp35, (2, 3, 1), (2, 0, 3)) * -2 - del tmp35 - tmp36 = np.copy(ints.tmp107) - tmp36 += v.oovv - tmp36 += ints.tmp38 * -1 - tmp39 += einsum(tmp36, (0, 1, 2, 3), r1, (3,), (1, 0, 2)) * -1 - del tmp36 - tmp37 = einsum(v.ooov, (0, 1, 2, 3), r1, (3,), (0, 1, 2)) - tmp38 = np.copy(np.transpose(tmp37, (1, 0, 2))) - tmp38 += tmp13 * -1 - tmp39 += einsum(t1, (0, 1), tmp38, (2, 3, 0), (3, 2, 1)) - del tmp38 - r2new += einsum(tmp39, (0, 1, 2), t1, (0, 3), (3, 2, 1)) * -1 - del tmp39 - tmp40 = einsum(v.ooov, (0, 1, 2, 3), r2, (4, 3, 1), (0, 2, 4)) - tmp47 = np.copy(np.transpose(tmp40, (1, 0, 2))) - tmp41 = einsum(ints.tmp97, (0, 1, 2, 3), r1, (3,), (0, 1, 2)) - tmp47 += einsum(t1, (0, 1), tmp41, (2, 3, 0), (3, 2, 1)) * -1 - tmp42 = einsum(r2, (0, 1, 2), v.ovvv, (3, 1, 4, 0), (2, 3, 4)) - tmp47 += np.transpose(tmp42, (1, 0, 2)) * -1 - tmp43 = einsum(v.ovov, (0, 1, 2, 3), r3, (4, 3, 1, 5, 2), (5, 0, 4)) - tmp47 += np.transpose(tmp43, (1, 0, 2)) - tmp44 = einsum(r2, (0, 1, 2), v.ovov, (3, 1, 2, 4), (3, 0, 4)) - tmp45 = einsum(t1, (0, 1), tmp44, (2, 3, 1), (0, 2, 3)) - tmp47 += np.transpose(tmp45, (1, 0, 2)) - tmp47 += einsum(tmp0, (0, 1, 2, 3), r3, (2, 4, 3, 0, 5), (1, 5, 4)) * 0.5 - tmp46 = np.copy(ints.tmp139) - tmp46 += np.transpose(ints.tmp91, (0, 1, 3, 2)) * 0.5 - tmp46 += np.transpose(v.ovov, (0, 2, 1, 3)) * 0.5 - tmp46 += ints.tmp137 * -0.5 - tmp46 += ints.tmp138 * -0.5 - tmp47 += einsum(r1, (0,), tmp46, (1, 2, 3, 0), (2, 1, 3)) * 2 - del tmp46 - tmp47 += einsum(tmp10, (0, 1), r2, (2, 1, 3), (0, 3, 2)) * -1 - r2new += einsum(tmp47, (0, 1, 2), t1, (0, 3), (2, 3, 1)) - del tmp47 - tmp48 = np.copy(f.oo) - tmp48 += np.transpose(ints.tmp45, (1, 0)) * 2 - tmp48 += ints.tmp62 - tmp48 += np.transpose(ints.tmp84, (1, 0)) * 2 - tmp48 += np.transpose(ints.tmp94, (1, 0)) * 2 - tmp48 += np.transpose(ints.tmp44, (1, 0)) * -1 - tmp48 += np.transpose(ints.tmp82, (1, 0)) * -1 - tmp48 += np.transpose(ints.tmp93, (1, 0)) * -1 - r2new += einsum(tmp48, (0, 1), r2, (2, 3, 0), (2, 3, 1)) * -1 - tmp49 = einsum(r2, (0, 1, 2), tmp8, (2, 3, 1, 0), (3,)) * -0.5 - del tmp8 - tmp49 += einsum(r1, (0,), tmp10, (1, 0), (1,)) * 0.5 - r2new += einsum(t2, (0, 1, 2, 3), tmp49, (1,), (2, 3, 0)) * 2 - del tmp49 - tmp50 = np.copy(f.ov) - tmp50 += ints.tmp104 - tmp50 += ints.tmp106 - tmp50 += ints.tmp112 - tmp50 += ints.tmp119 - tmp50 += ints.tmp121 - tmp50 += ints.tmp125 * 2 - tmp50 += ints.tmp141 * 0.5 - tmp50 += ints.tmp143 * 1.5 - tmp50 += ints.tmp144 * 0.5 - tmp50 += ints.tmp145 - tmp50 += ints.tmp148 * 4 - tmp50 += ints.tmp24 * 2 - tmp50 += ints.tmp61 - tmp50 += ints.tmp80 * 2 - tmp50 += ints.tmp89 * 2 - tmp50 += ints.tmp100 * -1 - tmp50 += ints.tmp103 * -2 - tmp50 += ints.tmp105 * -2 - tmp50 += ints.tmp113 * -2 - tmp50 += ints.tmp114 * -1 - tmp50 += ints.tmp120 * -2 - tmp50 += ints.tmp122 * -2 - tmp50 += ints.tmp124 * -1 - tmp50 += ints.tmp142 * -0.5 - tmp50 += ints.tmp146 * -2 - tmp50 += ints.tmp147 * -2 - tmp50 += ints.tmp43 * -1 - tmp50 += ints.tmp81 * -1 - tmp50 += ints.tmp90 * -1 - r2new += einsum(tmp50, (0, 1), r1, (2,), (1, 2, 0)) * -1 - r3new = einsum(ints.tmp544, (0, 1, 2, 3, 4, 5), r2, (6, 5, 2), (4, 6, 3, 0, 1)) - r3new += einsum(v.oovv, (0, 1, 2, 3), r3, (4, 3, 5, 1, 6), (4, 2, 5, 0, 6)) * -1 - tmp51 = einsum(r3, (0, 1, 2, 3, 4), v.ovov, (3, 5, 4, 2), (0, 1, 5)) - r3new += einsum(t2, (0, 1, 2, 3), tmp51, (4, 5, 2), (4, 3, 5, 0, 1)) - del tmp51 - tmp52 = einsum(v.ovov, (0, 1, 2, 3), r3, (4, 1, 5, 2, 6), (6, 0, 4, 5, 3)) - r3new += einsum(t2, (0, 1, 2, 3), tmp52, (4, 1, 5, 6, 2), (5, 3, 6, 0, 4)) - tmp53 = einsum(v.ovov, (0, 1, 2, 3), r3, (4, 5, 1, 6, 2), (6, 0, 4, 5, 3)) - r3new += einsum(t2, (0, 1, 2, 3), tmp53, (4, 1, 5, 6, 3), (5, 2, 6, 4, 0)) - r3new += einsum(tmp13, (0, 1, 2), t3, (1, 3, 2, 4, 5, 6), (4, 5, 6, 0, 3)) * -1 - r3new += einsum(t3, (0, 1, 2, 3, 4, 5), tmp13, (6, 1, 2), (3, 4, 5, 0, 6)) * -1 - tmp54 = einsum(r1, (0,), ints.tmp442, (1, 2, 3, 4, 0, 5), (1, 2, 3, 4, 5)) - del ints.tmp442 - tmp67 = np.copy(tmp54) - del tmp54 - tmp55 = einsum(r2, (0, 1, 2), v.ovvv, (3, 4, 5, 1), (2, 3, 0, 4, 5)) - tmp67 += tmp55 - tmp56 = einsum(ints.tmp448, (0, 1, 2, 3, 4, 5), r2, (6, 5, 2), (0, 1, 3, 4, 6)) - tmp67 += tmp56 - del tmp56 - tmp57 = einsum(r3, (0, 1, 2, 3, 4), v.oovv, (5, 4, 6, 2), (3, 5, 0, 1, 6)) - tmp67 += tmp57 - del tmp57 - tmp58 = einsum(v.ovvv, (0, 1, 2, 3), r3, (4, 5, 3, 6, 0), (6, 4, 5, 1, 2)) - tmp59 = einsum(tmp58, (0, 1, 2, 3, 4), t1, (5, 3), (0, 5, 1, 2, 4)) - del tmp58 - tmp67 += tmp59 - del tmp59 - tmp60 = einsum(v.ovvv, (0, 1, 2, 3), r3, (4, 1, 3, 5, 6), (5, 6, 0, 4, 2)) - tmp61 = einsum(t1, (0, 1), tmp60, (2, 3, 0, 4, 5), (2, 3, 4, 1, 5)) - del tmp60 - tmp67 += tmp61 - del tmp61 - tmp62 = einsum(v.ovov, (0, 1, 2, 3), r3, (4, 3, 1, 2, 5), (5, 0, 4)) - tmp63 = einsum(tmp62, (0, 1, 2), t2, (3, 1, 4, 5), (0, 3, 2, 4, 5)) - del tmp62 - tmp67 += tmp63 * -0.5 - del tmp63 - tmp64 = np.copy(f.ov) * 0.5 - tmp64 += ints.tmp24 - tmp65 = einsum(r3, (0, 1, 2, 3, 4), tmp64, (5, 2), (3, 4, 5, 0, 1)) - tmp66 = einsum(t1, (0, 1), tmp65, (2, 3, 0, 4, 5), (2, 3, 1, 4, 5)) * 2 - del tmp65 - tmp67 += np.transpose(tmp66, (0, 1, 3, 4, 2)) - del tmp66 - r3new += np.transpose(tmp67, (2, 3, 4, 0, 1)) * -1 - r3new += np.transpose(tmp67, (4, 3, 2, 0, 1)) - del tmp67 - tmp68 = einsum(r1, (0,), ints.tmp440, (1, 2, 3, 4, 5, 0), (1, 2, 3, 4, 5)) - del ints.tmp440 - tmp87 = np.copy(tmp68) - del tmp68 - tmp69 = einsum(r2, (0, 1, 2), ints.tmp448, (3, 4, 2, 5, 6, 0), (3, 4, 5, 6, 1)) - tmp87 += tmp69 - del tmp69 - tmp70 = einsum(ints.tmp451, (0, 1, 2, 3, 4, 5), r2, (6, 5, 2), (0, 1, 3, 4, 6)) - tmp87 += tmp70 - del tmp70 - tmp71 = einsum(tmp41, (0, 1, 2), t2, (3, 1, 4, 5), (0, 2, 3, 4, 5)) - tmp72 = einsum(t1, (0, 1), tmp71, (2, 0, 3, 4, 5), (2, 3, 1, 4, 5)) - del tmp71 - tmp87 += tmp72 - del tmp72 - tmp73 = np.copy(ints.tmp133) - tmp73 += np.transpose(ints.tmp134, (0, 1, 3, 2)) - tmp73 += np.transpose(ints.tmp55, (0, 1, 3, 2)) - tmp74 = einsum(r2, (0, 1, 2), tmp73, (3, 4, 0, 5), (2, 3, 1, 4, 5)) - del tmp73 - tmp87 += np.transpose(tmp74, (1, 0, 3, 4, 2)) - del tmp74 - tmp75 = np.copy(f.ov) - tmp75 += ints.tmp24 * 2 - tmp76 = einsum(r2, (0, 1, 2), tmp75, (3, 1), (2, 3, 0)) - del tmp75 - tmp79 = np.copy(np.transpose(tmp76, (1, 0, 2))) - del tmp76 - tmp77 = np.copy(ints.tmp137) - tmp77 += ints.tmp138 - tmp78 = einsum(tmp77, (0, 1, 2, 3), r1, (3,), (0, 1, 2)) - del tmp77 - tmp79 += np.transpose(tmp78, (1, 0, 2)) - del tmp78 - tmp80 = einsum(t2, (0, 1, 2, 3), tmp79, (1, 4, 5), (0, 4, 3, 2, 5)) - del tmp79 - tmp87 += np.transpose(tmp80, (1, 0, 4, 3, 2)) - del tmp80 - tmp81 = np.copy(ints.tmp221) - del ints.tmp221 - tmp81 += np.transpose(ints.tmp300, (1, 2, 0, 3)) - del ints.tmp300 - tmp81 += ints.tmp321 - del ints.tmp321 - tmp81 += ints.tmp385 * 2 - del ints.tmp385 - tmp82 = einsum(tmp81, (0, 1, 2, 3), r2, (4, 5, 2), (0, 1, 4, 5, 3)) - del tmp81 - tmp87 += np.transpose(tmp82, (0, 1, 4, 2, 3)) - del tmp82 - tmp83 = einsum(v.oovv, (0, 1, 2, 3), r2, (4, 3, 5), (5, 0, 1, 4, 2)) - tmp85 = np.copy(np.transpose(tmp83, (0, 2, 1, 3, 4))) - del tmp83 - tmp84 = einsum(t1, (0, 1), tmp55, (2, 3, 4, 1, 5), (2, 0, 3, 4, 5)) - del tmp55 - tmp85 += np.transpose(tmp84, (0, 2, 1, 3, 4)) - del tmp84 - tmp86 = einsum(t1, (0, 1), tmp85, (2, 0, 3, 4, 5), (2, 3, 1, 4, 5)) - del tmp85 - tmp87 += np.transpose(tmp86, (0, 1, 3, 2, 4)) - del tmp86 - r3new += np.transpose(tmp87, (2, 3, 4, 0, 1)) - r3new += np.transpose(tmp87, (4, 3, 2, 0, 1)) * -1 - r3new += np.transpose(tmp87, (3, 2, 4, 1, 0)) - r3new += np.transpose(tmp87, (4, 2, 3, 1, 0)) * -1 - del tmp87 - tmp88 = einsum(r3, (0, 1, 2, 3, 4), v.oovv, (5, 3, 6, 2), (4, 5, 0, 1, 6)) - tmp93 = np.copy(tmp88) - del tmp88 - tmp89 = einsum(r3, (0, 1, 2, 3, 4), v.ovvv, (3, 5, 6, 2), (4, 0, 1, 5, 6)) - tmp90 = einsum(tmp89, (0, 1, 2, 3, 4), t1, (5, 3), (0, 5, 1, 2, 4)) - del tmp89 - tmp93 += tmp90 - del tmp90 - tmp91 = np.copy(ints.tmp35) - tmp91 += np.transpose(ints.tmp53, (0, 1, 3, 2)) - tmp92 = einsum(r2, (0, 1, 2), tmp91, (3, 4, 1, 5), (2, 3, 0, 4, 5)) - del tmp91 - tmp93 += np.transpose(tmp92, (1, 0, 3, 4, 2)) - del tmp92 - r3new += np.transpose(tmp93, (2, 3, 4, 1, 0)) * -1 - r3new += np.transpose(tmp93, (4, 3, 2, 1, 0)) - del tmp93 - tmp94 = einsum(r3, (0, 1, 2, 3, 4), v.ovov, (5, 6, 4, 1), (3, 5, 0, 2, 6)) - tmp99 = np.copy(tmp94) - tmp95 = np.copy(ints.tmp133) - tmp95 += np.transpose(ints.tmp134, (0, 1, 3, 2)) - tmp95 += np.transpose(ints.tmp55, (0, 1, 3, 2)) - tmp96 = einsum(r2, (0, 1, 2), tmp95, (3, 4, 1, 5), (2, 3, 0, 4, 5)) - del tmp95 - tmp99 += np.transpose(tmp96, (1, 0, 3, 4, 2)) - del tmp96 - tmp97 = einsum(r3, (0, 1, 2, 3, 4), tmp0, (3, 5, 2, 0), (4, 5, 1)) - tmp98 = einsum(tmp97, (0, 1, 2), t2, (3, 1, 4, 5), (3, 0, 5, 4, 2)) * 0.5 - del tmp97 - tmp99 += np.transpose(tmp98, (1, 0, 4, 3, 2)) * -1 - del tmp98 - r3new += np.transpose(tmp99, (3, 2, 4, 1, 0)) * -1 - r3new += np.transpose(tmp99, (4, 2, 3, 1, 0)) - del tmp99 - tmp100 = einsum(r3, (0, 1, 2, 3, 4), v.ovov, (5, 6, 3, 2), (4, 5, 0, 1, 6)) - tmp107 = np.copy(tmp100) - tmp101 = einsum(v.ovov, (0, 1, 2, 3), r3, (4, 5, 1, 2, 6), (6, 0, 4, 5, 3)) - tmp102 = einsum(t2, (0, 1, 2, 3), tmp101, (4, 1, 5, 6, 2), (4, 0, 5, 6, 3)) - tmp107 += tmp102 - del tmp102 - tmp103 = einsum(r3, (0, 1, 2, 3, 4), v.ooov, (5, 3, 6, 2), (4, 5, 6, 0, 1)) - tmp105 = np.copy(tmp103) - del tmp103 - tmp104 = einsum(t1, (0, 1), tmp101, (2, 3, 4, 5, 1), (2, 0, 3, 4, 5)) - tmp105 += tmp104 - del tmp104 - tmp106 = einsum(t1, (0, 1), tmp105, (2, 3, 0, 4, 5), (2, 3, 1, 4, 5)) - del tmp105 - tmp107 += np.transpose(tmp106, (0, 1, 3, 4, 2)) - del tmp106 - r3new += np.transpose(tmp107, (2, 3, 4, 1, 0)) - r3new += np.transpose(tmp107, (4, 3, 2, 1, 0)) * -1 - del tmp107 - tmp108 = einsum(r2, (0, 1, 2), ints.tmp451, (3, 4, 2, 5, 6, 0), (3, 4, 5, 6, 1)) - tmp131 = np.copy(tmp108) * 2 - del tmp108 - tmp109 = einsum(v.oovv, (0, 1, 2, 3), r1, (3,), (0, 1, 2)) - tmp110 = einsum(tmp109, (0, 1, 2), t2, (3, 1, 4, 5), (3, 0, 4, 5, 2)) - del tmp109 - tmp131 += tmp110 - del tmp110 - tmp111 = einsum(r2, (0, 1, 2), v.ooov, (3, 4, 5, 1), (2, 3, 4, 5, 0)) - tmp112 = einsum(tmp111, (0, 1, 2, 3, 4), t1, (3, 5), (0, 1, 2, 4, 5)) - del tmp111 - tmp113 = einsum(t1, (0, 1), tmp112, (2, 3, 0, 4, 5), (2, 3, 4, 1, 5)) - del tmp112 - tmp131 += tmp113 - del tmp113 - tmp114 = einsum(t2, (0, 1, 2, 3), tmp13, (4, 5, 1), (4, 0, 5, 2, 3)) - tmp115 = einsum(t1, (0, 1), tmp114, (2, 3, 0, 4, 5), (2, 3, 1, 4, 5)) - del tmp114 - tmp131 += tmp115 - del tmp115 - tmp116 = np.copy(ints.tmp132) * 2 - tmp116 += ints.tmp47 - tmp117 = einsum(r2, (0, 1, 2), tmp116, (3, 4, 5, 0), (2, 3, 1, 4, 5)) - del tmp116 - tmp131 += np.transpose(tmp117, (1, 0, 3, 4, 2)) - del tmp117 - tmp118 = np.copy(ints.tmp175) - del ints.tmp175 - tmp118 += ints.tmp328 - del ints.tmp328 - tmp118 += ints.tmp387 - del ints.tmp387 - tmp118 += ints.tmp389 - del ints.tmp389 - tmp118 += ints.tmp330 * -2 - del ints.tmp330 - tmp119 = einsum(tmp118, (0, 1, 2, 3), r2, (4, 5, 2), (0, 1, 4, 5, 3)) - del tmp118 - tmp131 += np.transpose(tmp119, (0, 1, 4, 2, 3)) - del tmp119 - tmp120 = np.copy(ints.tmp137) - tmp120 += ints.tmp138 - tmp120 += ints.tmp139 * -2 - tmp121 = einsum(tmp120, (0, 1, 2, 3), r2, (4, 3, 5), (5, 0, 1, 4, 2)) - del tmp120 - tmp124 = np.copy(np.transpose(tmp121, (1, 2, 0, 4, 3))) - del tmp121 - tmp122 = np.copy(ints.tmp325) - del ints.tmp325 - tmp122 += np.transpose(ints.tmp451, (0, 1, 2, 3, 5, 4)) - del ints.tmp451 - tmp123 = einsum(r1, (0,), tmp122, (1, 2, 3, 4, 0, 5), (1, 2, 3, 4, 5)) - del tmp122 - tmp124 += np.transpose(tmp123, (0, 2, 1, 3, 4)) - del tmp123 - tmp125 = einsum(t1, (0, 1), tmp124, (2, 0, 3, 4, 5), (2, 3, 1, 4, 5)) - del tmp124 - tmp131 += np.transpose(tmp125, (0, 1, 3, 4, 2)) - del tmp125 - tmp126 = einsum(r2, (0, 1, 2), ints.tmp22, (3, 1), (3, 2, 0)) - tmp129 = np.copy(np.transpose(tmp126, (1, 0, 2))) - del tmp126 - tmp129 += tmp45 - del tmp45 - tmp127 = np.copy(ints.tmp139) - tmp127 += np.transpose(ints.tmp91, (0, 1, 3, 2)) * 0.5 - tmp128 = einsum(tmp127, (0, 1, 2, 3), r1, (3,), (0, 1, 2)) * 2 - del tmp127 - tmp129 += tmp128 - del tmp128 - tmp130 = einsum(tmp129, (0, 1, 2), t2, (3, 1, 4, 5), (3, 0, 5, 4, 2)) - del tmp129 - tmp131 += np.transpose(tmp130, (1, 0, 4, 3, 2)) - del tmp130 - r3new += np.transpose(tmp131, (2, 3, 4, 0, 1)) * -1 - r3new += np.transpose(tmp131, (4, 3, 2, 0, 1)) - r3new += np.transpose(tmp131, (3, 2, 4, 1, 0)) * -1 - r3new += np.transpose(tmp131, (4, 2, 3, 1, 0)) - del tmp131 - tmp132 = einsum(r1, (0,), v.ovov, (1, 2, 3, 0), (1, 3, 2)) - tmp133 = einsum(t2, (0, 1, 2, 3), tmp132, (4, 1, 5), (0, 4, 2, 3, 5)) - del tmp132 - tmp147 = np.copy(tmp133) - del tmp133 - tmp134 = einsum(r2, (0, 1, 2), v.vvvv, (3, 4, 5, 1), (2, 0, 3, 4, 5)) - tmp135 = einsum(t1, (0, 1), tmp134, (2, 3, 4, 1, 5), (2, 0, 3, 5, 4)) - del tmp134 - tmp147 += tmp135 - del tmp135 - tmp136 = einsum(v.ovov, (0, 1, 2, 3), r2, (4, 3, 5), (5, 0, 2, 4, 1)) - tmp137 = einsum(tmp136, (0, 1, 2, 3, 4), t1, (5, 4), (0, 5, 2, 1, 3)) - tmp138 = einsum(tmp137, (0, 1, 2, 3, 4), t1, (3, 5), (0, 1, 2, 4, 5)) - del tmp137 - tmp139 = einsum(t1, (0, 1), tmp138, (2, 3, 0, 4, 5), (2, 3, 4, 1, 5)) - del tmp138 - tmp147 += tmp139 - del tmp139 - tmp140 = einsum(r1, (0,), ints.tmp341, (1, 2, 3, 4, 5, 0), (1, 2, 3, 4, 5)) - del ints.tmp341 - tmp145 = np.copy(tmp140) - del tmp140 - tmp141 = np.copy(ints.tmp137) - del ints.tmp137 - tmp141 += ints.tmp138 - tmp142 = einsum(tmp141, (0, 1, 2, 3), r2, (3, 4, 5), (5, 0, 1, 4, 2)) - del tmp141 - tmp145 += np.transpose(tmp142, (1, 0, 2, 4, 3)) - del tmp142 - tmp143 = np.copy(ints.tmp192) - tmp143 += np.transpose(ints.tmp248, (0, 1, 3, 2)) - tmp143 += np.transpose(v.oooo, (0, 2, 3, 1)) - tmp144 = einsum(r2, (0, 1, 2), tmp143, (3, 4, 5, 2), (3, 4, 5, 0, 1)) - del tmp143 - tmp145 += tmp144 - del tmp144 - tmp146 = einsum(t1, (0, 1), tmp145, (2, 3, 0, 4, 5), (2, 3, 1, 4, 5)) - del tmp145 - tmp147 += np.transpose(tmp146, (0, 1, 3, 4, 2)) - del tmp146 - r3new += np.transpose(tmp147, (2, 4, 3, 0, 1)) * -1 - r3new += np.transpose(tmp147, (3, 4, 2, 0, 1)) - r3new += np.transpose(tmp147, (3, 2, 4, 1, 0)) - r3new += np.transpose(tmp147, (4, 2, 3, 1, 0)) * -1 - del tmp147 - tmp148 = einsum(r3, (0, 1, 2, 3, 4), v.vvvv, (5, 1, 6, 2), (3, 4, 0, 5, 6)) - tmp162 = np.copy(tmp148) - del tmp148 - tmp149 = einsum(t2, (0, 1, 2, 3), tmp53, (4, 1, 5, 6, 2), (4, 0, 5, 6, 3)) - tmp162 += tmp149 - del tmp149 - tmp150 = einsum(r3, (0, 1, 2, 3, 4), v.ovov, (5, 1, 6, 2), (3, 4, 5, 6, 0)) - tmp151 = einsum(tmp150, (0, 1, 2, 3, 4), t2, (2, 3, 5, 6), (0, 1, 4, 5, 6)) - tmp162 += tmp151 - del tmp151 - tmp152 = einsum(v.ovov, (0, 1, 2, 3), r3, (4, 1, 3, 5, 2), (5, 0, 4)) - tmp153 = einsum(t2, (0, 1, 2, 3), tmp152, (4, 1, 5), (4, 0, 5, 2, 3)) - del tmp152 - tmp162 += tmp153 - del tmp153 - tmp154 = einsum(t1, (0, 1), tmp150, (2, 3, 4, 0, 5), (2, 3, 4, 5, 1)) - del tmp150 - tmp155 = einsum(t1, (0, 1), tmp154, (2, 3, 0, 4, 5), (2, 3, 4, 1, 5)) - del tmp154 - tmp162 += tmp155 - del tmp155 - tmp156 = einsum(ints.tmp22, (0, 1), r3, (2, 3, 1, 4, 5), (0, 4, 5, 2, 3)) - tmp160 = np.copy(tmp156) - del tmp156 - tmp157 = einsum(r1, (0,), ints.tmp448, (1, 2, 3, 4, 5, 0), (1, 2, 3, 4, 5)) - del ints.tmp448 - tmp160 += np.transpose(tmp157, (2, 0, 1, 3, 4)) - del tmp157 - tmp158 = einsum(v.ooov, (0, 1, 2, 3), r3, (4, 5, 3, 6, 1), (6, 0, 2, 4, 5)) - tmp160 += np.transpose(tmp158, (2, 0, 1, 3, 4)) - del tmp158 - tmp159 = einsum(t1, (0, 1), tmp53, (2, 3, 4, 5, 1), (2, 0, 3, 4, 5)) - del tmp53 - tmp160 += np.transpose(tmp159, (2, 0, 1, 3, 4)) - del tmp159 - tmp161 = einsum(t1, (0, 1), tmp160, (0, 2, 3, 4, 5), (2, 3, 1, 4, 5)) - del tmp160 - tmp162 += np.transpose(tmp161, (0, 1, 3, 4, 2)) - del tmp161 - r3new += np.transpose(tmp162, (2, 3, 4, 0, 1)) - r3new += np.transpose(tmp162, (4, 3, 2, 0, 1)) * -1 - del tmp162 - tmp163 = einsum(r2, (0, 1, 2), v.ovvv, (3, 4, 5, 0), (2, 3, 1, 4, 5)) - tmp180 = np.copy(tmp163) - tmp164 = einsum(r2, (0, 1, 2), ints.tmp38, (3, 4, 5, 1), (3, 4, 2, 5, 0)) - tmp165 = einsum(t1, (0, 1), tmp164, (2, 0, 3, 4, 5), (2, 3, 4, 5, 1)) - del tmp164 - tmp180 += tmp165 - del tmp165 - tmp166 = einsum(tmp13, (0, 1, 2), t2, (3, 1, 4, 5), (0, 3, 2, 4, 5)) - del tmp13 - tmp167 = einsum(t1, (0, 1), tmp166, (2, 3, 0, 4, 5), (2, 3, 1, 4, 5)) - del tmp166 - tmp180 += tmp167 - del tmp167 - tmp168 = einsum(r1, (0,), ints.tmp107, (1, 2, 3, 0), (1, 2, 3)) - del ints.tmp107 - tmp173 = np.copy(tmp168) - del tmp168 - tmp169 = einsum(ints.tmp22, (0, 1), r2, (1, 2, 3), (0, 3, 2)) - del ints.tmp22 - tmp173 += np.transpose(tmp169, (1, 0, 2)) - del tmp169 - tmp170 = einsum(r2, (0, 1, 2), v.ovov, (3, 4, 2, 1), (3, 0, 4)) - tmp171 = np.copy(tmp170) - del tmp170 - tmp171 += tmp34 - del tmp34 - tmp172 = einsum(tmp171, (0, 1, 2), t1, (3, 2), (3, 0, 1)) - tmp173 += tmp172 - del tmp172 - tmp174 = einsum(t2, (0, 1, 2, 3), tmp173, (4, 1, 5), (0, 4, 3, 2, 5)) - del tmp173 - tmp180 += np.transpose(tmp174, (1, 0, 4, 3, 2)) - del tmp174 - tmp175 = einsum(r2, (0, 1, 2), v.ooov, (3, 4, 5, 0), (2, 3, 4, 5, 1)) - tmp176 = einsum(tmp175, (0, 1, 2, 3, 4), t1, (3, 5), (0, 1, 2, 4, 5)) - del tmp175 - tmp178 = np.copy(np.transpose(tmp176, (0, 2, 1, 3, 4))) - del tmp176 - tmp177 = einsum(t2, (0, 1, 2, 3), tmp171, (4, 5, 2), (0, 1, 4, 3, 5)) - del tmp171 - tmp178 += np.transpose(tmp177, (1, 2, 0, 4, 3)) - del tmp177 - tmp179 = einsum(t1, (0, 1), tmp178, (2, 0, 3, 4, 5), (2, 3, 1, 4, 5)) - del tmp178 - tmp180 += np.transpose(tmp179, (0, 1, 3, 2, 4)) - del tmp179 - r3new += np.transpose(tmp180, (2, 3, 4, 0, 1)) - r3new += np.transpose(tmp180, (4, 3, 2, 0, 1)) * -1 - r3new += np.transpose(tmp180, (2, 4, 3, 1, 0)) - r3new += np.transpose(tmp180, (3, 4, 2, 1, 0)) * -1 - del tmp180 - tmp181 = einsum(r1, (0,), ints.tmp370, (1, 2, 3, 4, 5, 0), (1, 2, 3, 4, 5)) - del ints.tmp370 - tmp195 = np.copy(tmp181) - del tmp181 - tmp182 = einsum(t2, (0, 1, 2, 3), tmp41, (4, 5, 1), (4, 5, 0, 2, 3)) - del tmp41 - tmp183 = einsum(t1, (0, 1), tmp182, (2, 0, 3, 4, 5), (2, 3, 1, 4, 5)) - del tmp182 - tmp195 += tmp183 - del tmp183 - tmp184 = einsum(ints.tmp38, (0, 1, 2, 3), r1, (3,), (0, 1, 2)) - tmp188 = np.copy(tmp184) * 0.5 - del tmp184 - tmp185 = einsum(r2, (0, 1, 2), v.ovov, (3, 4, 2, 0), (3, 1, 4)) - tmp186 = einsum(t1, (0, 1), tmp185, (2, 3, 1), (0, 2, 3)) - tmp188 += tmp186 - del tmp186 - tmp187 = einsum(r2, (0, 1, 2), tmp64, (3, 0), (2, 3, 1)) - del tmp64 - tmp188 += tmp187 - del tmp187 - tmp189 = einsum(t2, (0, 1, 2, 3), tmp188, (4, 1, 5), (0, 4, 3, 2, 5)) * 2 - del tmp188 - tmp195 += np.transpose(tmp189, (1, 0, 4, 3, 2)) - del tmp189 - tmp190 = einsum(v.oovv, (0, 1, 2, 3), r2, (3, 4, 5), (5, 0, 1, 4, 2)) - tmp193 = np.copy(np.transpose(tmp190, (0, 2, 1, 3, 4))) - del tmp190 - tmp191 = einsum(t1, (0, 1), tmp163, (2, 3, 4, 1, 5), (2, 0, 3, 4, 5)) - del tmp163 - tmp193 += np.transpose(tmp191, (0, 2, 1, 3, 4)) - del tmp191 - tmp192 = einsum(t2, (0, 1, 2, 3), tmp185, (4, 5, 3), (0, 1, 4, 5, 2)) - del tmp185 - tmp193 += np.transpose(tmp192, (0, 2, 1, 3, 4)) * 2 - del tmp192 - tmp194 = einsum(t1, (0, 1), tmp193, (2, 0, 3, 4, 5), (2, 3, 1, 4, 5)) - del tmp193 - tmp195 += np.transpose(tmp194, (0, 1, 3, 2, 4)) - del tmp194 - r3new += np.transpose(tmp195, (2, 3, 4, 0, 1)) * -1 - r3new += np.transpose(tmp195, (4, 3, 2, 0, 1)) - r3new += np.transpose(tmp195, (2, 4, 3, 1, 0)) * -1 - r3new += np.transpose(tmp195, (3, 4, 2, 1, 0)) - del tmp195 - tmp196 = einsum(v.ooov, (0, 1, 2, 3), r2, (3, 4, 2), (0, 1, 4)) - tmp197 = einsum(t2, (0, 1, 2, 3), tmp196, (4, 1, 5), (0, 4, 5, 2, 3)) - del tmp196 - tmp208 = np.copy(tmp197) * 2 - del tmp197 - tmp198 = einsum(t2, (0, 1, 2, 3), tmp37, (4, 1, 5), (0, 4, 5, 2, 3)) - tmp199 = einsum(t1, (0, 1), tmp198, (2, 3, 0, 4, 5), (2, 3, 1, 4, 5)) - del tmp198 - tmp208 += tmp199 - del tmp199 - tmp201 = np.copy(tmp24) - del tmp24 - tmp200 = einsum(tmp3, (0, 1, 2), v.ovvv, (0, 2, 3, 4), (3, 4, 1)) * 2 - del tmp3 - tmp201 += np.transpose(tmp200, (2, 1, 0)) * -1 - del tmp200 - tmp202 = einsum(tmp201, (0, 1, 2), t2, (3, 4, 1, 5), (3, 4, 5, 0, 2)) - del tmp201 - tmp208 += np.transpose(tmp202, (1, 0, 3, 2, 4)) - del tmp202 - tmp203 = einsum(v.ovov, (0, 1, 2, 3), r2, (3, 4, 5), (5, 0, 2, 4, 1)) - tmp206 = np.copy(tmp203) - tmp204 = einsum(v.ovvv, (0, 1, 2, 3), r2, (1, 4, 5), (5, 0, 4, 2, 3)) - tmp205 = einsum(tmp204, (0, 1, 2, 3, 4), t1, (5, 4), (0, 5, 1, 2, 3)) - del tmp204 - tmp206 += tmp205 - del tmp205 - tmp207 = einsum(t1, (0, 1), tmp206, (2, 3, 0, 4, 5), (2, 3, 1, 4, 5)) - del tmp206 - tmp208 += np.transpose(tmp207, (0, 1, 3, 2, 4)) - del tmp207 - r3new += np.transpose(tmp208, (2, 4, 3, 0, 1)) * -1 - r3new += np.transpose(tmp208, (3, 4, 2, 0, 1)) - r3new += np.transpose(tmp208, (2, 3, 4, 1, 0)) * -1 - r3new += np.transpose(tmp208, (4, 3, 2, 1, 0)) - del tmp208 - tmp209 = einsum(r2, (0, 1, 2), ints.tmp38, (3, 4, 5, 0), (3, 4, 2, 5, 1)) - del ints.tmp38 - tmp210 = einsum(tmp209, (0, 1, 2, 3, 4), t1, (1, 5), (0, 2, 3, 4, 5)) - del tmp209 - tmp215 = np.copy(tmp210) - del tmp210 - tmp211 = einsum(ints.tmp86, (0, 1, 2, 3), r2, (4, 3, 5), (5, 0, 1, 2, 4)) - tmp212 = einsum(t1, (0, 1), tmp211, (2, 3, 4, 1, 5), (2, 0, 3, 4, 5)) - del tmp211 - tmp215 += tmp212 - del tmp212 - tmp213 = einsum(t2, (0, 1, 2, 3), tmp44, (4, 5, 3), (0, 1, 4, 5, 2)) - del tmp44 - tmp214 = einsum(t1, (0, 1), tmp213, (2, 3, 0, 4, 5), (2, 3, 4, 1, 5)) - del tmp213 - tmp215 += tmp214 - del tmp214 - r3new += np.transpose(tmp215, (3, 2, 4, 0, 1)) - r3new += np.transpose(tmp215, (4, 2, 3, 0, 1)) * -1 - r3new += np.transpose(tmp215, (2, 4, 3, 1, 0)) * -1 - r3new += np.transpose(tmp215, (3, 4, 2, 1, 0)) - del tmp215 - tmp216 = einsum(v.ooov, (0, 1, 2, 3), r2, (4, 5, 1), (0, 2, 4, 5, 3)) - tmp226 = np.copy(tmp216) - del tmp216 - tmp217 = einsum(r1, (0,), ints.tmp304, (1, 2, 3, 4, 0, 5), (1, 2, 3, 4, 5)) - del ints.tmp304 - tmp226 += tmp217 - del tmp217 - tmp218 = einsum(r2, (0, 1, 2), ints.tmp139, (3, 4, 5, 0), (3, 4, 2, 5, 1)) - tmp219 = einsum(tmp218, (0, 1, 2, 3, 4), t1, (1, 5), (0, 2, 3, 4, 5)) - del tmp218 - tmp226 += tmp219 * 2 - del tmp219 - tmp224 = np.copy(tmp136) - del tmp136 - tmp220 = einsum(r1, (0,), ints.tmp366, (1, 2, 3, 4, 5, 0), (1, 2, 3, 4, 5)) - del ints.tmp366 - tmp221 = einsum(t1, (0, 1), tmp220, (2, 3, 4, 0, 5), (2, 3, 4, 5, 1)) - del tmp220 - tmp224 += tmp221 - del tmp221 - tmp222 = einsum(r2, (0, 1, 2), v.ovvv, (3, 1, 4, 5), (2, 3, 0, 4, 5)) - tmp223 = einsum(tmp222, (0, 1, 2, 3, 4), t1, (5, 4), (0, 5, 1, 2, 3)) - del tmp222 - tmp224 += tmp223 - del tmp223 - tmp225 = einsum(t1, (0, 1), tmp224, (2, 3, 0, 4, 5), (2, 3, 1, 4, 5)) - del tmp224 - tmp226 += np.transpose(tmp225, (0, 1, 3, 2, 4)) - del tmp225 - r3new += np.transpose(tmp226, (2, 4, 3, 0, 1)) - r3new += np.transpose(tmp226, (3, 4, 2, 0, 1)) * -1 - r3new += np.transpose(tmp226, (3, 2, 4, 1, 0)) * -1 - r3new += np.transpose(tmp226, (4, 2, 3, 1, 0)) - del tmp226 - tmp227 = einsum(tmp42, (0, 1, 2), t2, (3, 1, 4, 5), (0, 3, 4, 5, 2)) - del tmp42 - tmp231 = np.copy(tmp227) * -1 - del tmp227 - tmp228 = np.copy(ints.tmp192) - del ints.tmp192 - tmp228 += np.transpose(ints.tmp290, (0, 1, 3, 2)) - del ints.tmp290 - tmp229 = einsum(r2, (0, 1, 2), tmp228, (3, 4, 2, 5), (3, 4, 5, 0, 1)) - del tmp228 - tmp230 = einsum(t1, (0, 1), tmp229, (2, 3, 0, 4, 5), (2, 3, 1, 4, 5)) - del tmp229 - tmp231 += np.transpose(tmp230, (0, 1, 3, 4, 2)) - del tmp230 - r3new += np.transpose(tmp231, (3, 2, 4, 0, 1)) - r3new += np.transpose(tmp231, (4, 2, 3, 0, 1)) * -1 - r3new += np.transpose(tmp231, (2, 4, 3, 1, 0)) * -1 - r3new += np.transpose(tmp231, (3, 4, 2, 1, 0)) - del tmp231 - tmp232 = einsum(r3, (0, 1, 2, 3, 4), v.ovvv, (4, 1, 5, 6), (3, 0, 2, 5, 6)) - tmp233 = einsum(t1, (0, 1), tmp232, (2, 3, 4, 5, 1), (2, 0, 3, 4, 5)) - del tmp232 - tmp240 = np.copy(tmp233) * -2 - del tmp233 - tmp234 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * 2 - tmp234 += t2 * -1 - tmp235 = einsum(tmp94, (0, 1, 2, 3, 4), tmp234, (1, 5, 6, 4), (5, 0, 6, 2, 3)) * 2 - del tmp234 - tmp240 += np.transpose(tmp235, (1, 0, 3, 4, 2)) * -1 - del tmp235 - tmp236 = einsum(v.ooov, (0, 1, 2, 3), r3, (4, 3, 5, 6, 2), (6, 0, 1, 4, 5)) - tmp238 = np.copy(np.transpose(tmp236, (0, 2, 1, 3, 4))) - del tmp236 - tmp237 = einsum(tmp94, (0, 1, 2, 3, 4), t1, (5, 4), (0, 5, 1, 2, 3)) - del tmp94 - tmp238 += np.transpose(tmp237, (0, 2, 1, 3, 4)) - del tmp237 - tmp239 = einsum(t1, (0, 1), tmp238, (2, 0, 3, 4, 5), (2, 3, 4, 5, 1)) * 2 - del tmp238 - tmp240 += tmp239 - del tmp239 - r3new += np.transpose(tmp240, (2, 4, 3, 0, 1)) * -1 - r3new += np.transpose(tmp240, (3, 2, 4, 1, 0)) * 0.5 - r3new += np.transpose(tmp240, (4, 2, 3, 1, 0)) * -0.5 - del tmp240 - tmp241 = einsum(r3, (0, 1, 2, 3, 4), v.ovvv, (3, 2, 5, 6), (4, 0, 1, 5, 6)) - tmp242 = einsum(t1, (0, 1), tmp241, (2, 3, 4, 5, 1), (2, 0, 3, 4, 5)) - del tmp241 - tmp244 = np.copy(tmp242) - del tmp242 - tmp243 = einsum(t2, (0, 1, 2, 3), tmp100, (4, 1, 5, 6, 3), (4, 0, 5, 6, 2)) - tmp244 += tmp243 * 2 - del tmp243 - r3new += np.transpose(tmp244, (2, 4, 3, 0, 1)) - r3new += np.transpose(tmp244, (2, 3, 4, 1, 0)) - r3new += np.transpose(tmp244, (4, 3, 2, 1, 0)) * -1 - del tmp244 - tmp245 = einsum(r3, (0, 1, 2, 3, 4), v.ovvv, (5, 2, 6, 1), (3, 4, 5, 0, 6)) - tmp246 = einsum(t1, (0, 1), tmp245, (2, 3, 0, 4, 5), (2, 3, 4, 1, 5)) - del tmp245 - tmp249 = np.copy(tmp246) - del tmp246 - tmp247 = np.copy(f.vv) - tmp247 += np.transpose(ints.tmp18, (1, 0)) - del ints.tmp18 - tmp247 += np.transpose(ints.tmp5, (1, 0)) * 2 - del ints.tmp5 - tmp247 += np.transpose(ints.tmp20, (1, 0)) * -2 - del ints.tmp20 - tmp248 = einsum(tmp247, (0, 1), r3, (2, 3, 0, 4, 5), (4, 5, 1, 2, 3)) - del tmp247 - tmp249 += tmp248 - del tmp248 - r3new += np.transpose(tmp249, (2, 4, 3, 0, 1)) * -1 - r3new += np.transpose(tmp249, (3, 4, 2, 0, 1)) - del tmp249 - tmp250 = einsum(t2, (0, 1, 2, 3), tmp37, (4, 5, 1), (0, 4, 5, 2, 3)) - del tmp37 - tmp251 = einsum(t1, (0, 1), tmp250, (2, 3, 0, 4, 5), (2, 3, 1, 4, 5)) - del tmp250 - tmp258 = np.copy(tmp251) - del tmp251 - tmp252 = einsum(t2, (0, 1, 2, 3), tmp23, (4, 3, 5), (0, 1, 4, 2, 5)) - del tmp23 - tmp258 += tmp252 - del tmp252 - tmp253 = einsum(t2, (0, 1, 2, 3), tmp29, (4, 1, 5), (4, 0, 2, 3, 5)) - del tmp29 - tmp258 += tmp253 - del tmp253 - tmp254 = np.copy(ints.tmp35) - tmp254 += np.transpose(ints.tmp53, (0, 1, 3, 2)) - del ints.tmp53 - tmp255 = einsum(tmp254, (0, 1, 2, 3), r2, (2, 4, 5), (0, 5, 1, 3, 4)) - del tmp254 - tmp258 += tmp255 - del tmp255 - tmp256 = np.copy(ints.tmp244) - del ints.tmp244 - tmp256 += ints.tmp284 - del ints.tmp284 - tmp256 += ints.tmp319 - del ints.tmp319 - tmp256 += ints.tmp97 - del ints.tmp97 - tmp257 = einsum(r2, (0, 1, 2), tmp256, (3, 4, 2, 5), (3, 4, 5, 0, 1)) - del tmp256 - tmp258 += tmp257 - del tmp257 - r3new += np.transpose(tmp258, (3, 2, 4, 0, 1)) - r3new += np.transpose(tmp258, (4, 2, 3, 0, 1)) * -1 - r3new += np.transpose(tmp258, (2, 3, 4, 1, 0)) - r3new += np.transpose(tmp258, (4, 3, 2, 1, 0)) * -1 - del tmp258 - tmp259 = einsum(r3, (0, 1, 2, 3, 4), v.vvvv, (5, 0, 6, 2), (3, 4, 1, 5, 6)) - tmp266 = np.copy(tmp259) * 0.5 - del tmp259 - tmp260 = einsum(v.ovov, (0, 1, 2, 3), r3, (1, 4, 3, 5, 6), (5, 6, 0, 2, 4)) - tmp261 = einsum(tmp260, (0, 1, 2, 3, 4), t2, (2, 3, 5, 6), (0, 1, 4, 5, 6)) - tmp266 += tmp261 * 0.5 - del tmp261 - tmp262 = einsum(tmp260, (0, 1, 2, 3, 4), t1, (3, 5), (0, 1, 2, 4, 5)) - del tmp260 - tmp264 = np.copy(tmp262) - del tmp262 - tmp263 = einsum(tmp15, (0, 1, 2, 3), r3, (1, 4, 2, 5, 6), (5, 6, 0, 4, 3)) - del tmp15 - tmp264 += tmp263 * -1 - del tmp263 - tmp265 = einsum(t1, (0, 1), tmp264, (2, 3, 0, 4, 5), (2, 3, 4, 5, 1)) * 0.5 - del tmp264 - tmp266 += np.transpose(tmp265, (0, 1, 2, 4, 3)) - del tmp265 - r3new += np.transpose(tmp266, (3, 2, 4, 0, 1)) - r3new += np.transpose(tmp266, (4, 2, 3, 0, 1)) * -1 - del tmp266 - tmp267 = einsum(ints.tmp86, (0, 1, 2, 3), r2, (3, 4, 5), (5, 0, 1, 2, 4)) - del ints.tmp86 - tmp268 = einsum(tmp267, (0, 1, 2, 3, 4), t1, (5, 3), (0, 5, 1, 2, 4)) - del tmp267 - tmp272 = np.copy(tmp268) - del tmp268 - tmp269 = einsum(t2, (0, 1, 2, 3), tmp40, (4, 1, 5), (0, 4, 5, 2, 3)) - del tmp40 - tmp272 += tmp269 - del tmp269 - tmp270 = np.copy(ints.tmp199) - del ints.tmp199 - tmp270 += ints.tmp203 - del ints.tmp203 - tmp270 += ints.tmp272 - del ints.tmp272 - tmp271 = einsum(r2, (0, 1, 2), tmp270, (3, 4, 2, 5), (3, 4, 5, 0, 1)) - del tmp270 - tmp272 += tmp271 - del tmp271 - r3new += np.transpose(tmp272, (3, 2, 4, 0, 1)) * -1 - r3new += np.transpose(tmp272, (4, 2, 3, 0, 1)) - r3new += np.transpose(tmp272, (2, 3, 4, 1, 0)) * -1 - r3new += np.transpose(tmp272, (4, 3, 2, 1, 0)) - del tmp272 - tmp273 = einsum(ints.tmp201, (0, 1, 2, 3), r2, (4, 5, 2), (0, 1, 3, 4, 5)) - del ints.tmp201 - r3new += np.transpose(tmp273, (3, 2, 4, 0, 1)) * 2 - r3new += np.transpose(tmp273, (4, 2, 3, 0, 1)) * -2 - r3new += np.transpose(tmp273, (2, 3, 4, 1, 0)) * 2 - r3new += np.transpose(tmp273, (4, 3, 2, 1, 0)) * -2 - del tmp273 - tmp274 = einsum(ints.tmp7, (0, 1), r3, (2, 3, 0, 4, 5), (4, 5, 1, 2, 3)) - del ints.tmp7 - r3new += np.transpose(tmp274, (2, 4, 3, 0, 1)) - r3new += np.transpose(tmp274, (3, 4, 2, 0, 1)) * -1 - del tmp274 - tmp275 = einsum(v.ovov, (0, 1, 2, 3), r3, (4, 1, 5, 6, 2), (6, 0, 4, 5, 3)) - tmp276 = einsum(tmp275, (0, 1, 2, 3, 4), t2, (5, 1, 6, 4), (0, 5, 2, 3, 6)) - tmp279 = np.copy(tmp276) - del tmp276 - tmp277 = np.copy(ints.tmp47) - tmp277 += ints.tmp132 * 2 - tmp278 = einsum(tmp277, (0, 1, 2, 3), r2, (4, 3, 5), (0, 5, 1, 2, 4)) - del tmp277 - tmp279 += tmp278 - del tmp278 - r3new += np.transpose(tmp279, (3, 2, 4, 1, 0)) - r3new += np.transpose(tmp279, (4, 2, 3, 1, 0)) * -1 - del tmp279 - tmp280 = einsum(t2, (0, 1, 2, 3), tmp25, (4, 5, 3), (0, 1, 4, 5, 2)) - del tmp25 - r3new += np.transpose(tmp280, (2, 3, 4, 0, 1)) * -1 - r3new += np.transpose(tmp280, (4, 3, 2, 0, 1)) - r3new += np.transpose(tmp280, (2, 4, 3, 1, 0)) * -1 - del tmp280 - tmp281 = einsum(tmp30, (0, 1, 2), t2, (3, 1, 4, 5), (0, 3, 2, 4, 5)) - del tmp30 - r3new += np.transpose(tmp281, (2, 3, 4, 0, 1)) * -0.5 - r3new += np.transpose(tmp281, (4, 3, 2, 0, 1)) * 0.5 - r3new += np.transpose(tmp281, (2, 4, 3, 1, 0)) * -1 - r3new += np.transpose(tmp281, (3, 4, 2, 1, 0)) - del tmp281 - tmp282 = einsum(t2, (0, 1, 2, 3), tmp101, (4, 1, 5, 6, 3), (4, 0, 5, 6, 2)) - del tmp101 - tmp288 = np.copy(tmp282) - del tmp282 - tmp283 = einsum(t2, (0, 1, 2, 3), tmp100, (4, 1, 5, 6, 2), (4, 0, 5, 6, 3)) - tmp288 += tmp283 - del tmp283 - tmp284 = einsum(r3, (0, 1, 2, 3, 4), v.ooov, (5, 6, 3, 2), (4, 5, 6, 0, 1)) - tmp286 = np.copy(np.transpose(tmp284, (0, 2, 1, 3, 4))) - del tmp284 - tmp285 = einsum(tmp100, (0, 1, 2, 3, 4), t1, (5, 4), (0, 5, 1, 2, 3)) - del tmp100 - tmp286 += np.transpose(tmp285, (0, 2, 1, 3, 4)) - del tmp285 - tmp287 = einsum(tmp286, (0, 1, 2, 3, 4), t1, (1, 5), (0, 2, 3, 4, 5)) - del tmp286 - tmp288 += tmp287 - del tmp287 - r3new += np.transpose(tmp288, (2, 4, 3, 0, 1)) * -1 - r3new += np.transpose(tmp288, (2, 3, 4, 1, 0)) * -1 - r3new += np.transpose(tmp288, (4, 3, 2, 1, 0)) - del tmp288 - tmp289 = einsum(t2, (0, 1, 2, 3), tmp43, (4, 1, 5), (4, 0, 5, 2, 3)) - del tmp43 - r3new += np.transpose(tmp289, (2, 3, 4, 0, 1)) * -2 - r3new += np.transpose(tmp289, (4, 3, 2, 0, 1)) * 2 - r3new += np.transpose(tmp289, (3, 2, 4, 1, 0)) * -1 - r3new += np.transpose(tmp289, (4, 2, 3, 1, 0)) - del tmp289 - tmp290 = einsum(r3, (0, 1, 2, 3, 4), v.ovov, (3, 1, 4, 5), (0, 2, 5)) - tmp291 = einsum(t2, (0, 1, 2, 3), tmp290, (4, 5, 3), (0, 1, 4, 5, 2)) - del tmp290 - r3new += np.transpose(tmp291, (3, 2, 4, 0, 1)) * -0.5 - r3new += np.transpose(tmp291, (4, 2, 3, 0, 1)) * 0.5 - r3new += np.transpose(tmp291, (2, 4, 3, 1, 0)) * 0.5 - del tmp291 - tmp292 = einsum(r3, (0, 1, 2, 3, 4), v.ovov, (3, 5, 4, 1), (0, 2, 5)) - tmp293 = einsum(tmp292, (0, 1, 2), t2, (3, 4, 5, 2), (3, 4, 0, 1, 5)) - del tmp292 - r3new += np.transpose(tmp293, (3, 2, 4, 0, 1)) * 0.5 - r3new += np.transpose(tmp293, (4, 2, 3, 0, 1)) * -0.5 - r3new += np.transpose(tmp293, (2, 4, 3, 1, 0)) * -1.5 - del tmp293 - tmp294 = einsum(tmp0, (0, 1, 2, 3), r3, (3, 2, 4, 5, 0), (5, 1, 4)) - del tmp0 - tmp295 = einsum(t2, (0, 1, 2, 3), tmp294, (4, 1, 5), (4, 0, 5, 3, 2)) * 0.5 - del tmp294 - r3new += np.transpose(tmp295, (2, 3, 4, 1, 0)) - r3new += np.transpose(tmp295, (4, 3, 2, 1, 0)) * -1 - del tmp295 - tmp296 = einsum(r2, (0, 1, 2), v.vvvv, (3, 4, 5, 0), (2, 1, 3, 4, 5)) - tmp297 = einsum(t1, (0, 1), tmp296, (2, 3, 4, 1, 5), (2, 0, 3, 5, 4)) - del tmp296 - tmp304 = np.copy(tmp297) - del tmp297 - tmp298 = einsum(t1, (0, 1), tmp203, (2, 3, 4, 5, 1), (2, 0, 4, 3, 5)) - del tmp203 - tmp299 = einsum(t1, (0, 1), tmp298, (2, 3, 4, 0, 5), (2, 3, 4, 5, 1)) - del tmp298 - tmp300 = einsum(t1, (0, 1), tmp299, (2, 3, 0, 4, 5), (2, 3, 4, 1, 5)) - del tmp299 - tmp304 += tmp300 - del tmp300 - tmp301 = einsum(v.ooov, (0, 1, 2, 3), r2, (4, 3, 2), (0, 1, 4)) - tmp302 = np.copy(np.transpose(tmp301, (1, 0, 2))) - del tmp301 - tmp302 += np.transpose(tmp28, (1, 0, 2)) - del tmp28 - tmp303 = einsum(tmp302, (0, 1, 2), t2, (3, 0, 4, 5), (1, 3, 2, 5, 4)) - del tmp302 - tmp304 += np.transpose(tmp303, (1, 0, 2, 4, 3)) - del tmp303 - r3new += np.transpose(tmp304, (2, 4, 3, 0, 1)) - r3new += np.transpose(tmp304, (3, 4, 2, 0, 1)) * -1 - r3new += np.transpose(tmp304, (2, 3, 4, 1, 0)) - r3new += np.transpose(tmp304, (4, 3, 2, 1, 0)) * -1 - del tmp304 - tmp305 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * -1 - tmp305 += t2 * 2 - tmp306 = einsum(r3, (0, 1, 2, 3, 4), v.ovov, (5, 6, 4, 2), (3, 5, 0, 1, 6)) - tmp307 = np.copy(tmp306) - tmp307 += tmp275 - r3new += einsum(tmp305, (0, 1, 2, 3), tmp307, (4, 0, 5, 6, 2), (5, 3, 6, 4, 1)) * -1 - del tmp305, tmp307 - tmp308 = np.copy(ints.tmp248) - del ints.tmp248 - tmp308 += np.transpose(v.oooo, (0, 2, 1, 3)) - r3new += einsum(r3, (0, 1, 2, 3, 4), tmp308, (5, 6, 3, 4), (0, 1, 2, 5, 6)) - del tmp308 - r3new += einsum(r3, (0, 1, 2, 3, 4), tmp7, (1, 5), (0, 5, 2, 3, 4)) - del tmp7 - tmp309 = np.copy(ints.tmp190) - del ints.tmp190 - tmp309 += ints.tmp492 - del ints.tmp492 - tmp309 += np.transpose(ints.tmp500, (1, 0, 2, 3, 4, 5)) - del ints.tmp500 - tmp309 += np.transpose(ints.tmp227, (1, 0, 2, 3, 4, 5)) * -1 - del ints.tmp227 - tmp309 += np.transpose(ints.tmp543, (1, 0, 2, 3, 5, 4)) * -1 - del ints.tmp543 - r3new += einsum(tmp309, (0, 1, 2, 3, 4, 5), r1, (5,), (3, 4, 2, 1, 0)) * -1 - del tmp309 - tmp311 = einsum(v.ooov, (0, 1, 2, 3), r3, (4, 5, 6, 2, 1), (0, 4, 5, 6, 3)) - tmp311 += einsum(v.ovvv, (0, 1, 2, 3), r3, (4, 3, 5, 0, 6), (6, 4, 2, 5, 1)) * -1 - tmp310 = einsum(v.ovov, (0, 1, 2, 3), r3, (4, 5, 6, 0, 2), (4, 5, 6, 1, 3)) - tmp311 += einsum(tmp310, (0, 1, 2, 3, 4), t1, (5, 4), (5, 0, 1, 2, 3)) - del tmp310 - r3new += einsum(tmp311, (0, 1, 2, 3, 4), t1, (5, 4), (1, 2, 3, 5, 0)) - del tmp311 - tmp312 = einsum(v.ooov, (0, 1, 2, 3), r3, (4, 5, 6, 1, 2), (0, 4, 5, 6, 3)) * -1 - tmp312 += einsum(v.ovvv, (0, 1, 2, 3), r3, (4, 5, 1, 6, 0), (6, 4, 2, 5, 3)) - tmp312 += einsum(v.ovvv, (0, 1, 2, 3), r3, (4, 3, 5, 6, 0), (6, 4, 2, 5, 1)) - r3new += einsum(tmp312, (0, 1, 2, 3, 4), t1, (5, 4), (1, 2, 3, 0, 5)) * -1 - del tmp312 - tmp314 = einsum(r1, (0,), ints.tmp544, (1, 2, 3, 4, 5, 0), (3, 1, 2, 5, 4)) * -1 - del ints.tmp544 - tmp314 += einsum(v.ooov, (0, 1, 2, 3), r3, (4, 5, 3, 6, 2), (0, 6, 1, 4, 5)) - tmp314 += einsum(v.ovoo, (0, 1, 2, 3), r3, (4, 1, 5, 6, 3), (0, 6, 2, 4, 5)) - tmp314 += einsum(v.ovoo, (0, 1, 2, 3), r3, (4, 1, 5, 3, 6), (0, 2, 6, 4, 5)) - tmp314 += einsum(t1, (0, 1), tmp52, (2, 3, 4, 5, 1), (3, 0, 2, 4, 5)) - del tmp52 - tmp314 += einsum(r3, (0, 1, 2, 3, 4), tmp10, (5, 1), (5, 3, 4, 0, 2)) * -1 - del tmp10 - tmp313 = np.copy(tmp306) - del tmp306 - tmp313 += tmp275 - del tmp275 - tmp314 += einsum(tmp313, (0, 1, 2, 3, 4), t1, (5, 4), (1, 0, 5, 2, 3)) - del tmp313 - r3new += einsum(t1, (0, 1), tmp314, (0, 2, 3, 4, 5), (4, 1, 5, 2, 3)) - del tmp314 - tmp315 = np.copy(f.oo) * 0.5 - tmp315 += np.transpose(ints.tmp45, (1, 0)) - del ints.tmp45 - tmp315 += ints.tmp62 * 0.5 - del ints.tmp62 - tmp315 += np.transpose(ints.tmp84, (1, 0)) - del ints.tmp84 - tmp315 += np.transpose(ints.tmp94, (1, 0)) - del ints.tmp94 - tmp315 += np.transpose(ints.tmp44, (1, 0)) * -0.5 - del ints.tmp44 - tmp315 += np.transpose(ints.tmp82, (1, 0)) * -0.5 - del ints.tmp82 - tmp315 += np.transpose(ints.tmp93, (1, 0)) * -0.5 - del ints.tmp93 - r3new += einsum(tmp315, (0, 1), r3, (2, 3, 4, 0, 5), (2, 3, 4, 1, 5)) * -2 - del tmp315 - r3new += einsum(r3, (0, 1, 2, 3, 4), tmp48, (4, 5), (0, 1, 2, 3, 5)) * -1 - del tmp48 - tmp318 = np.copy(ints.tmp479) * 3 - del ints.tmp479 - tmp318 += ints.tmp476 * -1 - del ints.tmp476 - tmp316 = np.copy(ints.tmp132) * 4 - del ints.tmp132 - tmp316 += ints.tmp477 - del ints.tmp477 - tmp316 += ints.tmp47 * 2 - del ints.tmp47 - tmp316 += ints.tmp134 * -2 - del ints.tmp134 - tmp316 += ints.tmp55 * -1 - del ints.tmp55 - tmp318 += tmp316 * -1 - tmp318 += np.transpose(tmp316, (0, 2, 1, 3)) - del tmp316 - tmp317 = np.copy(ints.tmp35) * 2 - del ints.tmp35 - tmp317 += v.ovvv * 2 - tmp317 += ints.tmp133 * -2 - del ints.tmp133 - tmp318 += np.transpose(tmp317, (0, 1, 3, 2)) * -1 - tmp318 += np.transpose(tmp317, (0, 3, 1, 2)) - del tmp317 - r3new += einsum(r2, (0, 1, 2), tmp318, (3, 4, 5, 1), (5, 0, 4, 3, 2)) * -0.5 - del tmp318 - r3new += einsum(tmp12, (0,), t3, (1, 2, 0, 3, 4, 5), (3, 4, 5, 1, 2)) * -1 - del tmp12 - tmp321 = np.copy(ints.tmp530) * 2 - tmp321 += ints.tmp243 * -1 - del ints.tmp243 - tmp321 += ints.tmp260 * -1 - del ints.tmp260 - tmp321 += ints.tmp262 * -1 - del ints.tmp262 - tmp321 += ints.tmp283 * -1 - del ints.tmp283 - tmp321 += ints.tmp293 * -1 - del ints.tmp293 - tmp321 += ints.tmp296 * -1 - del ints.tmp296 - tmp321 += np.transpose(ints.tmp522, (0, 1, 3, 2)) * -1 - tmp321 += ints.tmp532 * -4 - tmp321 += ints.tmp533 * -1 - tmp321 += ints.tmp537 * -1 - del ints.tmp537 - tmp321 += ints.tmp539 * -1 - del ints.tmp539 - tmp321 += np.transpose(v.ovov, (0, 2, 1, 3)) * -1 - tmp319 = np.copy(ints.tmp138) - tmp319 += ints.tmp167 - tmp319 += ints.tmp170 * 2 - tmp319 += ints.tmp198 - tmp319 += ints.tmp202 * 2 - tmp319 += ints.tmp253 - tmp319 += ints.tmp294 - tmp319 += ints.tmp324 - tmp319 += ints.tmp374 - tmp319 += ints.tmp382 - tmp319 += ints.tmp384 * 2 - tmp319 += ints.tmp419 - tmp319 += ints.tmp422 * 2 - del ints.tmp422 - tmp319 += ints.tmp462 - del ints.tmp462 - tmp319 += ints.tmp506 - tmp319 += ints.tmp525 - tmp319 += ints.tmp531 * 2 - tmp319 += ints.tmp139 * -2 - tmp319 += ints.tmp169 * -1 - tmp319 += ints.tmp200 * -1 - tmp319 += ints.tmp204 * -1 - tmp319 += ints.tmp318 * -1 - tmp319 += ints.tmp323 * -2 - tmp319 += ints.tmp383 * -1 - tmp319 += ints.tmp398 * -1 - tmp319 += ints.tmp421 * -1 - del ints.tmp421 - tmp319 += ints.tmp428 * -1 - del ints.tmp428 - tmp319 += ints.tmp463 * -2 - del ints.tmp463 - tmp319 += ints.tmp529 * -1 - tmp321 += tmp319 - tmp321 += np.transpose(tmp319, (1, 0, 3, 2)) - del tmp319 - tmp320 = np.copy(ints.tmp156) - del ints.tmp156 - tmp320 += ints.tmp168 - del ints.tmp168 - tmp320 += ints.tmp172 * 2 - del ints.tmp172 - tmp320 += ints.tmp205 - del ints.tmp205 - tmp320 += ints.tmp207 - del ints.tmp207 - tmp320 += ints.tmp271 - del ints.tmp271 - tmp320 += ints.tmp317 - del ints.tmp317 - tmp320 += ints.tmp372 - del ints.tmp372 - tmp320 += ints.tmp381 - del ints.tmp381 - tmp320 += ints.tmp386 * 2 - del ints.tmp386 - tmp320 += ints.tmp412 - del ints.tmp412 - tmp320 += ints.tmp420 - del ints.tmp420 - tmp320 += ints.tmp424 * 2 - del ints.tmp424 - tmp320 += ints.tmp505 - del ints.tmp505 - tmp320 += ints.tmp171 * -1 - del ints.tmp171 - tmp320 += ints.tmp176 * -1 - del ints.tmp176 - tmp320 += ints.tmp188 * -1 - del ints.tmp188 - tmp320 += ints.tmp196 * -1 - del ints.tmp196 - tmp320 += ints.tmp206 * -2 - del ints.tmp206 - tmp320 += ints.tmp299 * -1 - del ints.tmp299 - tmp320 += ints.tmp388 * -1 - del ints.tmp388 - tmp320 += ints.tmp390 * -1 - del ints.tmp390 - tmp320 += ints.tmp423 * -1 - del ints.tmp423 - tmp320 += ints.tmp91 * -1 - del ints.tmp91 - tmp321 += np.transpose(tmp320, (0, 1, 3, 2)) - tmp321 += np.transpose(tmp320, (1, 0, 2, 3)) - r3new += einsum(r1, (0,), tmp321, (1, 2, 3, 4), (4, 3, 0, 2, 1)) * -1 - del tmp321 - tmp323 = np.copy(np.transpose(ints.tmp530, (0, 1, 3, 2))) * 2 - del ints.tmp530 - tmp323 += ints.tmp522 * -1 - del ints.tmp522 - tmp323 += np.transpose(ints.tmp532, (0, 1, 3, 2)) * -4 - del ints.tmp532 - tmp323 += np.transpose(ints.tmp533, (0, 1, 3, 2)) * -1 - del ints.tmp533 - tmp323 += np.transpose(v.ovov, (0, 2, 3, 1)) * -1 - tmp322 = np.copy(ints.tmp138) - del ints.tmp138 - tmp322 += ints.tmp167 - del ints.tmp167 - tmp322 += ints.tmp170 * 2 - del ints.tmp170 - tmp322 += ints.tmp198 - del ints.tmp198 - tmp322 += ints.tmp202 * 2 - del ints.tmp202 - tmp322 += ints.tmp253 - del ints.tmp253 - tmp322 += ints.tmp294 - del ints.tmp294 - tmp322 += ints.tmp324 - del ints.tmp324 - tmp322 += ints.tmp374 - del ints.tmp374 - tmp322 += ints.tmp382 - del ints.tmp382 - tmp322 += ints.tmp384 * 2 - del ints.tmp384 - tmp322 += ints.tmp419 - del ints.tmp419 - tmp322 += ints.tmp506 - del ints.tmp506 - tmp322 += ints.tmp525 - del ints.tmp525 - tmp322 += ints.tmp531 * 2 - del ints.tmp531 - tmp322 += ints.tmp139 * -2 - del ints.tmp139 - tmp322 += ints.tmp169 * -1 - del ints.tmp169 - tmp322 += ints.tmp200 * -1 - del ints.tmp200 - tmp322 += ints.tmp204 * -1 - del ints.tmp204 - tmp322 += ints.tmp318 * -1 - del ints.tmp318 - tmp322 += ints.tmp323 * -2 - del ints.tmp323 - tmp322 += ints.tmp383 * -1 - del ints.tmp383 - tmp322 += ints.tmp398 * -1 - del ints.tmp398 - tmp322 += ints.tmp529 * -1 - del ints.tmp529 - tmp323 += np.transpose(tmp322, (0, 1, 3, 2)) - tmp323 += np.transpose(tmp322, (1, 0, 2, 3)) - del tmp322 - tmp323 += tmp320 - tmp323 += np.transpose(tmp320, (1, 0, 3, 2)) - del tmp320 - r3new += einsum(r1, (0,), tmp323, (1, 2, 3, 4), (0, 4, 3, 2, 1)) - del tmp323 - tmp324 = np.copy(np.transpose(r2, (2, 0, 1))) * -1 - tmp324 += np.transpose(r2, (2, 1, 0)) - r3new += einsum(tmp50, (0, 1), tmp324, (2, 3, 4), (3, 1, 4, 2, 0)) - del tmp50, tmp324 - tmp325 = np.copy(f.ov) * 0.6666666666666666 - tmp325 += ints.tmp104 * 0.6666666666666666 - del ints.tmp104 - tmp325 += ints.tmp106 * 0.6666666666666666 - del ints.tmp106 - tmp325 += ints.tmp112 * 0.6666666666666666 - del ints.tmp112 - tmp325 += ints.tmp119 * 0.6666666666666666 - del ints.tmp119 - tmp325 += ints.tmp121 * 0.6666666666666666 - del ints.tmp121 - tmp325 += ints.tmp125 * 1.3333333333333333 - del ints.tmp125 - tmp325 += ints.tmp141 * 0.3333333333333333 - del ints.tmp141 - tmp325 += ints.tmp143 - del ints.tmp143 - tmp325 += ints.tmp144 * 0.3333333333333333 - del ints.tmp144 - tmp325 += ints.tmp145 * 0.6666666666666666 - del ints.tmp145 - tmp325 += ints.tmp148 * 2.6666666666666665 - del ints.tmp148 - tmp325 += ints.tmp24 * 1.3333333333333333 - del ints.tmp24 - tmp325 += ints.tmp61 * 0.6666666666666666 - del ints.tmp61 - tmp325 += ints.tmp80 * 1.3333333333333333 - del ints.tmp80 - tmp325 += ints.tmp89 * 1.3333333333333333 - del ints.tmp89 - tmp325 += ints.tmp100 * -0.6666666666666666 - del ints.tmp100 - tmp325 += ints.tmp103 * -1.3333333333333333 - del ints.tmp103 - tmp325 += ints.tmp105 * -1.3333333333333333 - del ints.tmp105 - tmp325 += ints.tmp113 * -1.3333333333333333 - del ints.tmp113 - tmp325 += ints.tmp114 * -0.6666666666666666 - del ints.tmp114 - tmp325 += ints.tmp120 * -1.3333333333333333 - del ints.tmp120 - tmp325 += ints.tmp122 * -1.3333333333333333 - del ints.tmp122 - tmp325 += ints.tmp124 * -0.6666666666666666 - del ints.tmp124 - tmp325 += ints.tmp142 * -0.3333333333333333 - del ints.tmp142 - tmp325 += ints.tmp146 * -1.3333333333333333 - del ints.tmp146 - tmp325 += ints.tmp147 * -1.3333333333333333 - del ints.tmp147 - tmp325 += ints.tmp43 * -0.6666666666666666 - del ints.tmp43 - tmp325 += ints.tmp81 * -0.6666666666666666 - del ints.tmp81 - tmp325 += ints.tmp90 * -0.6666666666666666 - del ints.tmp90 - r3new += einsum(tmp325, (0, 1), r2, (2, 3, 4), (3, 2, 1, 0, 4)) * 1.5 - r3new += einsum(r2, (0, 1, 2), tmp325, (3, 4), (4, 0, 1, 3, 2)) * -1.5 - del tmp325 - tmp326 = np.copy(np.transpose(v.ovov, (0, 2, 1, 3))) - tmp326 += v.oovv * -0.5 - r3new += einsum(tmp326, (0, 1, 2, 3), r3, (4, 2, 5, 6, 0), (4, 3, 5, 6, 1)) * 2 - del tmp326 - tmp327 = np.copy(np.transpose(r3, (3, 4, 0, 1, 2))) - tmp327 += np.transpose(r3, (4, 3, 0, 1, 2)) * -1 - r3new += einsum(tmp327, (0, 1, 2, 3, 4), v.ovov, (5, 6, 0, 4), (2, 6, 3, 1, 5)) - del tmp327 - - return {f"r1new": r1new, f"r2new": r2new, f"r3new": r3new} - -def hbar_lmatvec_ip_intermediates(f=None, t1=None, t2=None, t3=None, v=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-10-22T09:22:24.837052. - - Parameters - ---------- - f : array - Fock matrix. - t1 : array - T1 amplitudes. - t2 : array - T2 amplitudes. - t3 : array - T3 amplitudes. - v : array - Electron repulsion integrals. - - Returns - ------- - tmp0 : array - tmp103 : array - tmp112 : array - tmp114 : array - tmp116 : array - tmp119 : array - tmp122 : array - tmp123 : array - tmp125 : array - tmp126 : array - tmp128 : array - tmp131 : array - tmp134 : array - tmp176 : array - tmp179 : array - tmp182 : array - tmp185 : array - tmp188 : array - tmp191 : array - tmp194 : array - tmp197 : array - tmp2 : array - tmp237 : array - tmp241 : array - tmp245 : array - tmp253 : array - tmp273 : array - tmp279 : array - tmp288 : array - tmp291 : array - tmp295 : array - tmp300 : array - tmp305 : array - tmp308 : array - tmp311 : array - tmp315 : array - tmp325 : array - tmp416 : array - tmp421 : array - tmp426 : array - tmp431 : array - tmp608 : array - tmp609 : array - tmp611 : array - tmp614 : array - tmp618 : array - tmp72 : array - tmp73 : array - tmp759 : array - tmp98 : array - tmp992 : array - """ - - tmp0 = einsum(f.ov, (0, 1), t1, (2, 1), (0, 2)) - tmp98 = np.copy(v.oooo) - tmp112 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 3, 1, 2), (0, 4)) - tmp2 = einsum(t1, (0, 1), f.vv, (2, 1), (0, 2)) - tmp72 = einsum(t1, (0, 1), v.ooov, (2, 0, 3, 1), (2, 3)) - tmp103 = np.copy(np.transpose(v.oooo, (0, 2))) - tmp128 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 3, 4, 2), (0, 4)) - tmp176 = einsum(v.ovov, (0, 1, 2, 3), t3, (4, 2, 0, 1, 5, 3), (4, 5)) - tmp73 = einsum(t1, (0, 1), v.ooov, (2, 3, 0, 1), (2, 3)) - tmp114 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 2, 1, 3), (4, 0)) - tmp116 = einsum(v.ooov, (0, 1, 2, 3), t2, (1, 2, 3, 4), (0, 4)) - tmp119 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 0, 1, 3), (4, 2)) - tmp122 = einsum(v.ooov, (0, 1, 2, 3), t2, (4, 1, 3, 5), (4, 0, 2, 5)) - tmp123 = einsum(v.ooov, (0, 1, 2, 3), t2, (4, 1, 5, 3), (4, 0, 2, 5)) - tmp125 = einsum(v.ooov, (0, 1, 2, 3), t2, (4, 2, 3, 5), (4, 0, 1, 5)) - tmp126 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 1, 3), (0, 4, 5, 2)) - tmp131 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 2, 4, 3), (0, 4)) - tmp134 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 5, 1, 3), (4, 5, 0, 2)) - tmp179 = einsum(v.ovov, (0, 1, 2, 3), t3, (4, 2, 0, 5, 1, 3), (4, 5)) - tmp182 = einsum(v.ovov, (0, 1, 2, 3), t3, (4, 2, 0, 5, 3, 1), (4, 5)) - tmp185 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovov, (0, 3, 2, 5), (1, 4)) - tmp188 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovov, (6, 3, 2, 5), (0, 1, 6, 4)) - tmp191 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovov, (6, 4, 2, 5), (0, 1, 6, 3)) - tmp194 = einsum(v.ovov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 3, 1), (4, 5, 0, 6)) - tmp197 = einsum(v.ovov, (0, 1, 2, 3), t3, (4, 2, 5, 6, 3, 1), (4, 5, 0, 6)) - tmp237 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovvv, (2, 3, 6, 5), (0, 1, 4, 6)) - tmp241 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovvv, (2, 4, 6, 5), (0, 1, 3, 6)) - tmp245 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovvv, (2, 5, 6, 4), (0, 1, 3, 6)) - tmp253 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovvv, (1, 4, 6, 5), (0, 2, 3, 6)) - tmp272 = np.copy(v.ovoo) - tmp273 = einsum(t1, (0, 1), tmp272, (2, 1), (0, 2)) - del tmp272 - tmp288 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 2, 1, 5), (0, 4, 3, 5)) - tmp291 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 2, 5, 1), (4, 0, 5, 3)) - tmp295 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 5, 1, 2), (0, 4, 3, 5)) - tmp300 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 2, 5, 3), (4, 0, 5, 1)) - tmp311 = einsum(v.ovov, (0, 1, 2, 3), t2, (0, 2, 4, 3), (4, 1)) - tmp315 = einsum(v.ovov, (0, 1, 2, 3), t2, (0, 2, 4, 1), (4, 3)) - tmp325 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 2, 5, 3), (0, 1, 4, 5)) - tmp416 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 2), (0, 3, 4, 5)) - tmp421 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 0, 5, 3), (4, 5, 1, 2)) - tmp426 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 2, 4, 5), (0, 3, 4, 5)) - tmp431 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 0, 5, 1), (4, 5, 2, 3)) - tmp611 = einsum(t1, (0, 1), v.ooov, (2, 3, 4, 1), (0, 2, 3, 4)) - tmp614 = einsum(v.ovvv, (0, 1, 2, 3), t1, (0, 1), (2, 3)) - tmp618 = einsum(v.ovvv, (0, 1, 2, 3), t1, (0, 3), (1, 2)) - tmp278 = np.copy(np.transpose(v.ooov, (0, 3))) - tmp279 = einsum(t1, (0, 1), tmp278, (2, 1), (0, 2)) - del tmp278 - tmp305 = einsum(t1, (0, 1), v.ovov, (2, 1, 0, 3), (2, 3)) - tmp608 = einsum(t1, (0, 1), tmp305, (2, 1), (0, 2)) - tmp308 = einsum(t1, (0, 1), v.ovov, (2, 3, 0, 1), (2, 3)) - tmp609 = einsum(t1, (0, 1), tmp308, (2, 1), (0, 2)) - tmp759 = einsum(t1, (0, 1), v.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) - tmp992 = einsum(t1, (0, 1), tmp759, (2, 3, 4, 1), (2, 0, 4, 3)) - - return {f"tmp0": tmp0, f"tmp103": tmp103, f"tmp112": tmp112, f"tmp114": tmp114, f"tmp116": tmp116, f"tmp119": tmp119, f"tmp122": tmp122, f"tmp123": tmp123, f"tmp125": tmp125, f"tmp126": tmp126, f"tmp128": tmp128, f"tmp131": tmp131, f"tmp134": tmp134, f"tmp176": tmp176, f"tmp179": tmp179, f"tmp182": tmp182, f"tmp185": tmp185, f"tmp188": tmp188, f"tmp191": tmp191, f"tmp194": tmp194, f"tmp197": tmp197, f"tmp2": tmp2, f"tmp237": tmp237, f"tmp241": tmp241, f"tmp245": tmp245, f"tmp253": tmp253, f"tmp273": tmp273, f"tmp279": tmp279, f"tmp288": tmp288, f"tmp291": tmp291, f"tmp295": tmp295, f"tmp300": tmp300, f"tmp305": tmp305, f"tmp308": tmp308, f"tmp311": tmp311, f"tmp315": tmp315, f"tmp325": tmp325, f"tmp416": tmp416, f"tmp421": tmp421, f"tmp426": tmp426, f"tmp431": tmp431, f"tmp608": tmp608, f"tmp609": tmp609, f"tmp611": tmp611, f"tmp614": tmp614, f"tmp618": tmp618, f"tmp72": tmp72, f"tmp73": tmp73, f"tmp759": tmp759, f"tmp98": tmp98, f"tmp992": tmp992} - -def hbar_lmatvec_ip(f=None, r1=None, r2=None, r3=None, t1=None, t2=None, t3=None, v=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-10-22T09:22:25.066322. - - Parameters - ---------- - f : array - Fock matrix. - r1 : array - R1 amplitudes. - r2 : array - R2 amplitudes. - r3 : array - R3 amplitudes. - t1 : array - T1 amplitudes. - t2 : array - T2 amplitudes. - t3 : array - T3 amplitudes. - v : array - Electron repulsion integrals. - - Returns - ------- - r1new : array - Updated R1 residuals. - r2new : array - Updated R2 residuals. - r3new : array - Updated R3 residuals. - """ - - ints = kwargs["ints"] - tmp0 = einsum(r3, (0, 1, 2, 3, 4), v.vvvv, (5, 3, 6, 4), (0, 1, 2, 5, 6)) - r3new = np.copy(tmp0) - tmp34 = einsum(r3, (0, 1, 2, 3, 4), t2, (5, 6, 3, 4), (0, 1, 2, 5, 6)) - tmp159 = einsum(v.ovov, (0, 1, 2, 3), tmp34, (4, 5, 6, 2, 0), (4, 5, 6, 3, 1)) - r3new += tmp159 - tmp326 = einsum(r3, (0, 1, 2, 3, 4), t2, (5, 2, 6, 4), (0, 1, 5, 3, 6)) - r3new += einsum(v.ovov, (0, 1, 2, 3), tmp326, (4, 5, 2, 6, 1), (4, 0, 5, 6, 3)) - del tmp326 - tmp90 = einsum(t1, (0, 1), r3, (2, 3, 4, 5, 1), (2, 3, 4, 0, 5)) - tmp160 = einsum(t1, (0, 1), tmp90, (2, 3, 4, 5, 1), (2, 3, 4, 0, 5)) - tmp161 = einsum(v.ovov, (0, 1, 2, 3), tmp160, (4, 5, 6, 0, 2), (4, 5, 6, 1, 3)) - del tmp160 - r3new += tmp161 - tmp251 = einsum(v.oovv, (0, 1, 2, 3), r3, (4, 5, 1, 3, 6), (4, 5, 0, 6, 2)) - tmp328 = np.copy(tmp251) - tmp165 = einsum(r3, (0, 1, 2, 3, 4), v.ovvv, (5, 6, 7, 3), (0, 1, 2, 5, 4, 6, 7)) - tmp327 = einsum(tmp165, (0, 1, 2, 3, 4, 5, 6), t1, (2, 5), (0, 1, 3, 4, 6)) - tmp328 += tmp327 - del tmp327 - r3new += np.transpose(tmp328, (0, 1, 2, 4, 3)) * -1 - r3new += np.transpose(tmp328, (2, 1, 0, 4, 3)) - del tmp328 - tmp163 = einsum(r3, (0, 1, 2, 3, 4), v.ovvv, (5, 6, 7, 4), (0, 1, 2, 5, 3, 6, 7)) - tmp329 = einsum(tmp163, (0, 1, 2, 3, 4, 5, 6), t1, (1, 6), (0, 2, 3, 4, 5)) - r3new += np.transpose(tmp329, (0, 2, 1, 3, 4)) * 2 - r3new += np.transpose(tmp329, (1, 0, 2, 4, 3)) * -1 - r3new += np.transpose(tmp329, (2, 0, 1, 4, 3)) - del tmp329 - tmp267 = einsum(tmp165, (0, 1, 2, 3, 4, 5, 6), t1, (2, 6), (0, 1, 3, 4, 5)) - r3new += np.transpose(tmp267, (0, 1, 2, 4, 3)) - r3new += np.transpose(tmp267, (0, 2, 1, 3, 4)) - r3new += np.transpose(tmp267, (2, 1, 0, 4, 3)) * -1 - tmp330 = einsum(r3, (0, 1, 2, 3, 4), ints.tmp992, (2, 1, 5, 6), (5, 6, 0, 3, 4)) - tmp334 = np.copy(tmp330) - del tmp330 - tmp261 = einsum(v.oovv, (0, 1, 2, 3), r3, (4, 5, 1, 6, 3), (4, 5, 0, 6, 2)) - tmp334 += tmp261 - tmp331 = einsum(tmp163, (0, 1, 2, 3, 4, 5, 6), t1, (2, 5), (0, 1, 3, 4, 6)) - tmp334 += tmp331 - del tmp331 - tmp268 = einsum(t2, (0, 1, 2, 3), r3, (4, 0, 1, 2, 5), (4, 5, 3)) - tmp269 = einsum(v.ovov, (0, 1, 2, 3), tmp268, (4, 5, 3), (4, 0, 2, 5, 1)) - tmp334 += tmp269 * -0.5 - tmp332 = np.copy(ints.tmp291) - tmp332 += ints.tmp295 - tmp333 = einsum(tmp332, (0, 1, 2, 3), r3, (4, 0, 5, 6, 2), (4, 5, 1, 6, 3)) - del tmp332 - tmp334 += np.transpose(tmp333, (2, 0, 1, 4, 3)) - del tmp333 - tmp255 = np.copy(ints.tmp325) - tmp255 += np.transpose(ints.tmp611, (2, 0, 1, 3)) - tmp256 = einsum(r3, (0, 1, 2, 3, 4), tmp255, (2, 1, 5, 6), (0, 5, 6, 3, 4)) - del tmp255 - tmp334 += np.transpose(tmp256, (1, 2, 0, 3, 4)) - r3new += tmp334 * -1 - r3new += np.transpose(tmp334, (2, 1, 0, 3, 4)) - del tmp334 - tmp335 = np.copy(f.oo) - tmp335 += np.transpose(ints.tmp0, (1, 0)) - tmp335 += ints.tmp114 * 2 - tmp336 = einsum(tmp335, (0, 1), r3, (2, 3, 0, 4, 5), (2, 3, 1, 4, 5)) - del tmp335 - r3new += np.transpose(tmp336, (2, 1, 0, 3, 4)) - r3new += tmp336 * -1 - del tmp336 - tmp257 = einsum(ints.tmp325, (0, 1, 2, 3), r3, (1, 4, 0, 5, 6), (2, 3, 4, 5, 6)) - tmp343 = np.copy(tmp257) * 0.5 - tmp337 = einsum(r3, (0, 1, 2, 3, 4), ints.tmp288, (2, 5, 3, 6), (5, 0, 1, 6, 4)) - tmp343 += tmp337 - del tmp337 - tmp108 = einsum(r3, (0, 1, 2, 3, 4), t1, (5, 3), (0, 1, 2, 5, 4)) - tmp338 = einsum(ints.tmp759, (0, 1, 2, 3), tmp108, (4, 5, 0, 1, 6), (2, 4, 5, 3, 6)) - tmp343 += tmp338 - del tmp338 - tmp339 = np.copy(ints.tmp611) - tmp339 += np.transpose(ints.tmp992, (1, 0, 2, 3)) * 0.5 - tmp340 = einsum(tmp339, (0, 1, 2, 3), r3, (0, 4, 1, 5, 6), (4, 2, 3, 5, 6)) - del tmp339 - tmp343 += np.transpose(tmp340, (1, 2, 0, 3, 4)) - del tmp340 - tmp341 = np.copy(ints.tmp112) * 0.5 - tmp341 += ints.tmp608 * 0.5 - tmp341 += ints.tmp72 * 0.5 - tmp341 += ints.tmp609 * -1 - tmp341 += np.transpose(ints.tmp73, (1, 0)) * -1 - tmp342 = einsum(r3, (0, 1, 2, 3, 4), tmp341, (2, 5), (0, 1, 5, 3, 4)) * 2 - del tmp341 - tmp343 += np.transpose(tmp342, (2, 0, 1, 3, 4)) - del tmp342 - r3new += np.transpose(tmp343, (0, 2, 1, 3, 4)) * -1 - r3new += np.transpose(tmp343, (1, 2, 0, 3, 4)) - del tmp343 - tmp344 = einsum(ints.tmp759, (0, 1, 2, 3), r2, (4, 0, 5), (1, 2, 4, 3, 5)) - tmp346 = np.copy(tmp344) - del tmp344 - tmp345 = einsum(r2, (0, 1, 2), v.ooov, (3, 1, 4, 5), (0, 3, 4, 2, 5)) - tmp346 += tmp345 - del tmp345 - r3new += np.transpose(tmp346, (0, 2, 1, 3, 4)) - r3new += np.transpose(tmp346, (1, 0, 2, 4, 3)) * -1 - r3new += np.transpose(tmp346, (2, 0, 1, 4, 3)) - r3new += np.transpose(tmp346, (1, 2, 0, 3, 4)) * -1 - del tmp346 - tmp347 = einsum(ints.tmp759, (0, 1, 2, 3), r2, (0, 4, 5), (1, 2, 4, 3, 5)) - r3new += tmp347 - r3new += np.transpose(tmp347, (1, 0, 2, 4, 3)) - r3new += np.transpose(tmp347, (2, 0, 1, 4, 3)) * -1 - r3new += np.transpose(tmp347, (2, 1, 0, 3, 4)) * -1 - del tmp347 - tmp348 = einsum(r2, (0, 1, 2), v.ooov, (3, 0, 4, 5), (1, 3, 4, 2, 5)) - r3new += np.transpose(tmp348, (0, 1, 2, 4, 3)) * -1 - r3new += np.transpose(tmp348, (0, 2, 1, 3, 4)) * -1 - r3new += np.transpose(tmp348, (1, 2, 0, 3, 4)) - r3new += np.transpose(tmp348, (2, 1, 0, 4, 3)) - del tmp348 - tmp266 = einsum(ints.tmp759, (0, 1, 2, 3), tmp108, (4, 5, 0, 2, 6), (1, 4, 5, 3, 6)) - tmp351 = np.copy(tmp266) - tmp349 = np.copy(ints.tmp291) - tmp349 += ints.tmp295 - tmp350 = einsum(r3, (0, 1, 2, 3, 4), tmp349, (2, 5, 3, 6), (0, 1, 5, 4, 6)) - del tmp349 - tmp351 += np.transpose(tmp350, (2, 0, 1, 4, 3)) - del tmp350 - r3new += np.transpose(tmp351, (0, 2, 1, 3, 4)) - r3new += np.transpose(tmp351, (1, 0, 2, 4, 3)) * -1 - r3new += np.transpose(tmp351, (1, 2, 0, 3, 4)) * -1 - del tmp351 - tmp352 = einsum(ints.tmp759, (0, 1, 2, 3), tmp90, (4, 0, 5, 2, 6), (1, 4, 5, 3, 6)) - r3new += tmp352 * -1 - r3new += np.transpose(tmp352, (1, 0, 2, 4, 3)) * -2 - r3new += np.transpose(tmp352, (2, 1, 0, 3, 4)) - del tmp352 - tmp250 = einsum(ints.tmp288, (0, 1, 2, 3), r3, (4, 5, 0, 6, 2), (1, 4, 5, 3, 6)) - tmp355 = np.copy(tmp250) - tmp353 = einsum(ints.tmp759, (0, 1, 2, 3), tmp90, (4, 5, 0, 1, 6), (2, 4, 5, 3, 6)) - tmp355 += tmp353 - del tmp353 - tmp101 = np.copy(np.transpose(t2, (0, 1, 3, 2))) - tmp101 += t2 * -1 - tmp286 = einsum(r3, (0, 1, 2, 3, 4), tmp101, (1, 0, 4, 5), (2, 3, 5)) - tmp354 = einsum(tmp286, (0, 1, 2), v.ovov, (3, 2, 4, 5), (3, 4, 0, 5, 1)) * -0.5 - tmp355 += np.transpose(tmp354, (2, 1, 0, 4, 3)) * -1 - del tmp354 - r3new += np.transpose(tmp355, (0, 2, 1, 4, 3)) * -1 - r3new += np.transpose(tmp355, (1, 2, 0, 4, 3)) - del tmp355 - tmp356 = einsum(tmp108, (0, 1, 2, 3, 4), v.ovoo, (5, 6, 3, 2), (0, 1, 5, 4, 6)) - r3new += np.transpose(tmp356, (0, 1, 2, 4, 3)) * -1 - r3new += np.transpose(tmp356, (0, 2, 1, 3, 4)) * -1 - r3new += np.transpose(tmp356, (2, 1, 0, 4, 3)) - del tmp356 - tmp91 = einsum(v.ovoo, (0, 1, 2, 3), tmp90, (4, 3, 5, 2, 6), (4, 5, 0, 6, 1)) - r3new += np.transpose(tmp91, (0, 2, 1, 3, 4)) * -2 - r3new += np.transpose(tmp91, (1, 0, 2, 4, 3)) - r3new += np.transpose(tmp91, (2, 0, 1, 4, 3)) * -1 - tmp264 = einsum(r3, (0, 1, 2, 3, 4), v.ovov, (5, 6, 2, 3), (0, 1, 5, 4, 6)) - tmp358 = np.copy(tmp264) - tmp357 = einsum(tmp108, (0, 1, 2, 3, 4), v.ooov, (5, 2, 3, 6), (0, 1, 5, 4, 6)) - tmp358 += tmp357 - del tmp357 - r3new += np.transpose(tmp358, (0, 1, 2, 4, 3)) - r3new += np.transpose(tmp358, (2, 1, 0, 4, 3)) * -1 - del tmp358 - tmp157 = einsum(r3, (0, 1, 2, 3, 4), v.oooo, (5, 1, 6, 2), (0, 5, 6, 3, 4)) - tmp363 = np.copy(tmp157) - tmp359 = einsum(ints.tmp300, (0, 1, 2, 3), r3, (4, 0, 5, 6, 2), (1, 4, 5, 3, 6)) - tmp363 += tmp359 * 2 - del tmp359 - tmp360 = einsum(v.ooov, (0, 1, 2, 3), tmp90, (4, 5, 1, 2, 6), (4, 5, 0, 6, 3)) - tmp363 += tmp360 - del tmp360 - tmp361 = einsum(t2, (0, 1, 2, 3), r3, (4, 0, 1, 5, 3), (4, 5, 2)) - tmp362 = einsum(v.ovov, (0, 1, 2, 3), tmp361, (4, 5, 3), (4, 0, 2, 5, 1)) - del tmp361 - tmp363 += tmp362 - del tmp362 - r3new += tmp363 - r3new += np.transpose(tmp363, (2, 1, 0, 3, 4)) * -1 - del tmp363 - r3new += einsum(v.ovov, (0, 1, 2, 3), r1, (4,), (4, 0, 2, 3, 1)) * -1 - r3new += einsum(r1, (0,), v.ovov, (1, 2, 3, 4), (1, 3, 0, 2, 4)) - tmp154 = einsum(r2, (0, 1, 2), v.ovvv, (3, 4, 5, 2), (0, 1, 3, 4, 5)) - r3new += np.transpose(tmp154, (0, 2, 1, 4, 3)) * -1 - r3new += np.transpose(tmp154, (1, 0, 2, 3, 4)) - r3new += np.transpose(tmp154, (2, 0, 1, 3, 4)) * -1 - r3new += np.transpose(tmp154, (1, 2, 0, 4, 3)) - tmp307 = einsum(r3, (0, 1, 2, 3, 4), t2, (5, 2, 4, 3), (0, 1, 5)) - tmp364 = einsum(v.ovov, (0, 1, 2, 3), tmp307, (4, 5, 2), (4, 5, 0, 1, 3)) - r3new += tmp364 * -1 - r3new += np.transpose(tmp364, (0, 2, 1, 4, 3)) * -1 - r3new += np.transpose(tmp364, (2, 1, 0, 3, 4)) - del tmp364 - tmp317 = einsum(r3, (0, 1, 2, 3, 4), t2, (1, 2, 4, 5), (0, 3, 5)) - tmp365 = einsum(v.ovov, (0, 1, 2, 3), tmp317, (4, 5, 3), (4, 0, 2, 5, 1)) - r3new += tmp365 * -2 - r3new += np.transpose(tmp365, (1, 0, 2, 4, 3)) * -1 - r3new += np.transpose(tmp365, (2, 0, 1, 4, 3)) - r3new += np.transpose(tmp365, (2, 1, 0, 3, 4)) * 2 - del tmp365 - tmp270 = einsum(t2, (0, 1, 2, 3), r3, (4, 0, 1, 3, 5), (4, 5, 2)) - tmp271 = einsum(v.ovov, (0, 1, 2, 3), tmp270, (4, 5, 3), (4, 0, 2, 5, 1)) - r3new += tmp271 * -0.5 - r3new += np.transpose(tmp271, (0, 2, 1, 4, 3)) * -1 - r3new += np.transpose(tmp271, (1, 2, 0, 4, 3)) - r3new += np.transpose(tmp271, (2, 1, 0, 3, 4)) * 0.5 - tmp366 = einsum(r3, (0, 1, 2, 3, 4), t2, (5, 1, 4, 3), (0, 2, 5)) - tmp367 = einsum(tmp366, (0, 1, 2), v.ovov, (3, 4, 2, 5), (0, 1, 3, 4, 5)) - del tmp366 - r3new += np.transpose(tmp367, (0, 2, 1, 4, 3)) * 0.5 - r3new += np.transpose(tmp367, (1, 0, 2, 3, 4)) * -0.5 - r3new += np.transpose(tmp367, (2, 0, 1, 3, 4)) * 0.5 - del tmp367 - tmp83 = einsum(v.ovov, (0, 1, 2, 3), r3, (4, 2, 5, 6, 3), (4, 5, 0, 6, 1)) - tmp368 = np.copy(tmp83) - tmp272 = einsum(r3, (0, 1, 2, 3, 4), tmp101, (2, 0, 3, 5), (1, 4, 5)) - tmp273 = einsum(tmp272, (0, 1, 2), v.ovov, (3, 2, 4, 5), (3, 4, 0, 5, 1)) * -0.5 - del tmp272 - tmp368 += np.transpose(tmp273, (2, 1, 0, 4, 3)) * -1 - r3new += np.transpose(tmp368, (1, 0, 2, 4, 3)) * -1 - r3new += np.transpose(tmp368, (2, 0, 1, 4, 3)) - del tmp368 - tmp190 = einsum(t2, (0, 1, 2, 3), r3, (4, 1, 5, 2, 3), (4, 5, 0)) - tmp369 = einsum(v.ovov, (0, 1, 2, 3), tmp190, (4, 5, 2), (4, 5, 0, 1, 3)) - r3new += np.transpose(tmp369, (0, 2, 1, 4, 3)) * -1.5 - r3new += np.transpose(tmp369, (1, 0, 2, 3, 4)) * 0.5 - r3new += np.transpose(tmp369, (2, 0, 1, 3, 4)) * -0.5 - del tmp369 - tmp260 = einsum(ints.tmp611, (0, 1, 2, 3), r3, (4, 1, 0, 5, 6), (2, 3, 4, 5, 6)) - tmp371 = np.copy(tmp260) - tmp263 = einsum(v.oooo, (0, 1, 2, 3), r3, (1, 4, 3, 5, 6), (4, 0, 2, 5, 6)) - tmp371 += tmp263 * -0.5 - tmp199 = einsum(t1, (0, 1), r2, (2, 3, 1), (2, 3, 0)) - tmp370 = einsum(v.ovov, (0, 1, 2, 3), tmp199, (4, 5, 2), (4, 5, 0, 1, 3)) - tmp371 += tmp370 - del tmp370 - r3new += np.transpose(tmp371, (1, 0, 2, 3, 4)) * -1 - r3new += np.transpose(tmp371, (2, 0, 1, 3, 4)) - del tmp371 - tmp372 = einsum(r3, (0, 1, 2, 3, 4), ints.tmp300, (2, 5, 3, 6), (5, 0, 1, 6, 4)) - r3new += np.transpose(tmp372, (0, 2, 1, 3, 4)) * -2 - r3new += np.transpose(tmp372, (1, 0, 2, 4, 3)) * 2 - r3new += np.transpose(tmp372, (1, 2, 0, 3, 4)) * 2 - del tmp372 - tmp373 = np.copy(np.transpose(tmp163, (0, 1, 2, 3, 4, 6, 5))) - tmp373 += np.transpose(tmp163, (0, 3, 1, 2, 6, 5, 4)) - tmp373 += np.transpose(tmp163, (0, 3, 2, 1, 5, 6, 4)) - tmp373 += tmp165 - tmp373 += np.transpose(tmp165, (0, 3, 2, 1, 5, 4, 6)) - r3new += einsum(tmp373, (0, 1, 2, 3, 4, 5, 6), t1, (3, 4), (0, 1, 2, 6, 5)) * -1 - del tmp373 - tmp374 = np.copy(r3) * -0.5 - tmp374 += np.transpose(r3, (0, 1, 2, 4, 3)) * 0.5 - tmp374 += np.transpose(r3, (0, 2, 1, 3, 4)) - tmp181 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * 2 - tmp181 += t2 * -1 - tmp374 += einsum(r3, (0, 1, 2, 3, 4), tmp181, (2, 5, 6, 4), (0, 1, 5, 3, 6)) * -0.5 - r3new += einsum(v.ovov, (0, 1, 2, 3), tmp374, (4, 5, 2, 6, 3), (4, 0, 5, 6, 1)) * 2 - del tmp374 - tmp375 = np.copy(ints.tmp291) * 2 - tmp375 += ints.tmp295 * 2 - tmp375 += v.oovv - tmp375 += ints.tmp288 * -1 - tmp375 += ints.tmp300 * -4 - r3new += einsum(tmp375, (0, 1, 2, 3), r3, (4, 0, 5, 6, 2), (4, 1, 5, 6, 3)) * -1 - del tmp375 - tmp287 = np.copy(ints.tmp288) - tmp287 += v.oovv * -1 - tmp288 = einsum(tmp287, (0, 1, 2, 3), r3, (4, 0, 5, 2, 6), (4, 5, 1, 6, 3)) - r3new += np.transpose(tmp288, (0, 2, 1, 4, 3)) - tmp325 = np.copy(ints.tmp759) - tmp325 += np.transpose(v.ooov, (0, 2, 1, 3)) - r3new += einsum(tmp325, (0, 1, 2, 3), tmp90, (4, 5, 0, 2, 6), (4, 1, 5, 6, 3)) - r3new += einsum(tmp325, (0, 1, 2, 3), tmp90, (4, 0, 5, 1, 6), (4, 2, 5, 6, 3)) - r3new += einsum(tmp108, (0, 1, 2, 3, 4), tmp325, (1, 3, 5, 6), (0, 5, 2, 6, 4)) - tmp322 = np.copy(f.vv) - tmp322 += ints.tmp315 - tmp322 += ints.tmp614 * 2 - tmp322 += ints.tmp311 * -2 - tmp322 += np.transpose(ints.tmp618, (1, 0)) * -1 - r3new += einsum(r3, (0, 1, 2, 3, 4), tmp322, (3, 5), (0, 1, 2, 5, 4)) - r3new += einsum(r3, (0, 1, 2, 3, 4), tmp322, (4, 5), (0, 1, 2, 3, 5)) - tmp324 = np.copy(f.oo) * 0.5 - tmp324 += np.transpose(ints.tmp0, (1, 0)) * 0.5 - tmp324 += ints.tmp114 - tmp324 += ints.tmp609 - tmp324 += np.transpose(ints.tmp73, (1, 0)) - tmp324 += ints.tmp112 * -0.5 - tmp324 += ints.tmp608 * -0.5 - tmp324 += ints.tmp72 * -0.5 - r3new += einsum(tmp324, (0, 1), r3, (2, 0, 3, 4, 5), (2, 1, 3, 4, 5)) * -2 - tmp214 = np.copy(f.ov) - tmp214 += ints.tmp308 * 2 - tmp214 += ints.tmp305 * -1 - r3new += einsum(tmp214, (0, 1), tmp108, (2, 3, 4, 0, 5), (2, 3, 4, 1, 5)) * -1 - r3new += einsum(tmp214, (0, 1), tmp90, (2, 3, 4, 0, 5), (2, 3, 4, 5, 1)) * -1 - tmp376 = np.copy(r2) * -1 - tmp376 += np.transpose(r2, (1, 0, 2)) - r3new += einsum(tmp376, (0, 1, 2), tmp214, (3, 4), (0, 3, 1, 2, 4)) - del tmp376 - tmp377 = einsum(t2, (0, 1, 2, 3), r3, (4, 5, 1, 2, 3), (4, 5, 0)) - tmp377 += tmp199 - tmp377 += np.transpose(tmp199, (1, 0, 2)) * -1 - r3new += einsum(v.ovov, (0, 1, 2, 3), tmp377, (4, 5, 2), (4, 0, 5, 3, 1)) - del tmp377 - r3new += einsum(r2, (0, 1, 2), tmp214, (3, 4), (1, 0, 3, 4, 2)) - r3new += einsum(tmp214, (0, 1), r2, (2, 3, 4), (0, 2, 3, 1, 4)) * -1 - r2new = einsum(r3, (0, 1, 2, 3, 4), ints.tmp421, (2, 3, 5, 4), (1, 0, 5)) * -1 - r2new += einsum(tmp199, (0, 1, 2), ints.tmp759, (1, 2, 3, 4), (0, 3, 4)) - r2new += einsum(tmp199, (0, 1, 2), ints.tmp759, (0, 2, 3, 4), (3, 1, 4)) - tmp137 = einsum(t3, (0, 1, 2, 3, 4, 5), r3, (6, 7, 1, 4, 5), (6, 7, 0, 2, 3)) - r2new += einsum(tmp137, (0, 1, 2, 3, 4), v.ovov, (3, 4, 2, 5), (1, 0, 5)) - tmp233 = einsum(t3, (0, 1, 2, 3, 4, 5), r3, (0, 2, 1, 6, 5), (6, 3, 4)) - r2new += einsum(v.ovov, (0, 1, 2, 3), tmp233, (4, 1, 3), (0, 2, 4)) * -0.49999999999997996 - del tmp233 - tmp32 = einsum(t3, (0, 1, 2, 3, 4, 5), r3, (6, 7, 2, 5, 4), (6, 7, 0, 1, 3)) - r2new += einsum(tmp32, (0, 1, 2, 3, 4), v.ovov, (3, 5, 2, 4), (1, 0, 5)) * -1 - tmp114 = einsum(r3, (0, 1, 2, 3, 4), t3, (0, 1, 2, 5, 6, 3), (4, 5, 6)) - tmp115 = einsum(v.ovov, (0, 1, 2, 3), tmp114, (4, 1, 3), (0, 2, 4)) * -1 - del tmp114 - r2new += np.transpose(tmp115, (1, 0, 2)) * -0.49999999999997996 - tmp234 = np.copy(np.transpose(ints.tmp431, (0, 2, 3, 1))) * 2 - tmp234 += np.transpose(v.ovvv, (0, 2, 3, 1)) - tmp234 += ints.tmp416 * -1 - tmp234 += np.transpose(ints.tmp426, (0, 2, 3, 1)) * -1 - r2new += einsum(r3, (0, 1, 2, 3, 4), tmp234, (2, 4, 5, 3), (1, 0, 5)) - del tmp234 - tmp235 = np.copy(ints.tmp431) * 4 - tmp235 += ints.tmp426 * -2 - tmp235 += v.ovvv - tmp235 += np.transpose(v.ovvv, (0, 2, 1, 3)) * -1 - r2new += einsum(r3, (0, 1, 2, 3, 4), tmp235, (1, 3, 4, 5), (0, 2, 5)) * 0.5 - del tmp235 - tmp236 = np.copy(ints.tmp123) * 2 - tmp236 += np.transpose(ints.tmp125, (0, 2, 1, 3)) * 2 - tmp236 += ints.tmp134 - tmp236 += ints.tmp188 - tmp236 += ints.tmp194 - tmp236 += ints.tmp122 * -2 - tmp236 += np.transpose(ints.tmp126, (0, 2, 1, 3)) * -4 - tmp236 += ints.tmp191 * -1 - tmp236 += np.transpose(v.ooov, (0, 2, 1, 3)) - tmp236 += np.transpose(v.ovoo, (0, 2, 3, 1)) * -1 - r2new += einsum(tmp236, (0, 1, 2, 3), r3, (0, 4, 1, 3, 5), (4, 2, 5)) * -0.5 - del tmp236 - tmp142 = np.copy(ints.tmp416) - tmp142 += ints.tmp421 * -1 - r2new += einsum(tmp142, (0, 1, 2, 3), r3, (4, 0, 5, 1, 3), (4, 5, 2)) - tmp238 = np.copy(r3) - tmp238 += np.transpose(r3, (2, 0, 1, 4, 3)) * -0.5 - tmp237 = np.copy(ints.tmp134) - tmp237 += ints.tmp188 - tmp237 += np.transpose(v.ooov, (0, 2, 1, 3)) - r2new += einsum(tmp237, (0, 1, 2, 3), tmp238, (4, 0, 1, 3, 5), (2, 4, 5)) * -1 - del tmp237, tmp238 - tmp239 = np.copy(ints.tmp126) * 2 - tmp239 += ints.tmp191 - tmp239 += np.transpose(v.ovoo, (0, 2, 3, 1)) - tmp239 += ints.tmp123 * -1 - tmp239 += ints.tmp125 * -1 - r2new += einsum(r3, (0, 1, 2, 3, 4), tmp239, (1, 2, 5, 4), (0, 5, 3)) - del tmp239 - tmp240 = np.copy(ints.tmp126) - tmp240 += ints.tmp191 * 0.5 - tmp240 += ints.tmp123 * -0.5 - tmp240 += ints.tmp125 * -0.5 - r2new += einsum(r3, (0, 1, 2, 3, 4), tmp240, (2, 1, 5, 3), (5, 0, 4)) * -2 - del tmp240 - tmp241 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1))) - tmp241 += np.transpose(v.ovov, (0, 2, 1, 3)) * -1 - tmp133 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) - tmp133 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) - tmp242 = einsum(tmp133, (0, 1, 2, 3, 4, 5), r3, (6, 0, 7, 3, 5), (6, 7, 1, 2, 4)) * -1 - r2new += einsum(tmp242, (0, 1, 2, 3, 4), tmp241, (2, 3, 5, 4), (0, 1, 5)) * 0.25 - del tmp242, tmp241 - tmp243 = np.copy(ints.tmp134) - tmp243 += ints.tmp188 - tmp243 += ints.tmp122 * -1 - r2new += einsum(tmp243, (0, 1, 2, 3), r3, (4, 1, 0, 5, 3), (4, 2, 5)) - del tmp243 - tmp244 = np.copy(ints.tmp134) - tmp244 += ints.tmp197 * -1 - r2new += einsum(r3, (0, 1, 2, 3, 4), tmp244, (1, 0, 5, 4), (5, 2, 3)) * -0.5 - r2new += einsum(tmp244, (0, 1, 2, 3), r3, (1, 4, 0, 3, 5), (4, 2, 5)) * 0.5 - del tmp244 - tmp245 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1))) * -0.3333333333333333 - tmp245 += np.transpose(v.ovov, (0, 2, 1, 3)) - tmp246 = einsum(t3, (0, 1, 2, 3, 4, 5), r3, (6, 2, 7, 5, 3), (6, 7, 0, 1, 4)) * -1 - r2new += einsum(tmp246, (0, 1, 2, 3, 4), tmp245, (2, 3, 5, 4), (0, 1, 5)) * 0.75 - del tmp246, tmp245 - tmp247 = np.copy(r3) * -1 - tmp247 += np.transpose(r3, (2, 0, 1, 4, 3)) - r2new += einsum(tmp247, (0, 1, 2, 3, 4), ints.tmp122, (1, 2, 5, 3), (5, 0, 4)) * -1 - del tmp247 - tmp248 = np.copy(ints.tmp123) * 2 - tmp248 += np.transpose(ints.tmp125, (0, 2, 1, 3)) * 2 - tmp248 += ints.tmp194 - tmp248 += np.transpose(ints.tmp126, (0, 2, 1, 3)) * -4 - tmp248 += ints.tmp191 * -1 - tmp248 += np.transpose(v.ovoo, (0, 2, 3, 1)) * -1 - r2new += einsum(r3, (0, 1, 2, 3, 4), tmp248, (0, 1, 5, 4), (5, 2, 3)) * 0.5 - del tmp248 - tmp249 = np.copy(tmp34) * -1 - tmp249 += np.transpose(tmp34, (0, 1, 2, 4, 3)) - tmp249 += np.transpose(tmp34, (1, 2, 0, 4, 3)) * 2 - r2new += einsum(tmp249, (0, 1, 2, 3, 4), v.ooov, (4, 1, 3, 5), (0, 2, 5)) * 0.5 - del tmp249 - tmp290 = einsum(ints.tmp288, (0, 1, 2, 3), r3, (4, 0, 5, 2, 6), (4, 1, 5, 6, 3)) * -1 - tmp290 += np.transpose(tmp250, (2, 0, 1, 4, 3)) - del tmp250 - tmp290 += np.transpose(tmp251, (1, 0, 2, 4, 3)) - del tmp251 - tmp290 += einsum(ints.tmp288, (0, 1, 2, 3), r3, (0, 4, 5, 6, 2), (1, 4, 5, 3, 6)) * -1 - tmp252 = einsum(t2, (0, 1, 2, 3), r3, (1, 4, 0, 5, 3), (4, 5, 2)) - tmp290 += einsum(v.ovov, (0, 1, 2, 3), tmp252, (4, 5, 3), (0, 4, 2, 1, 5)) - tmp290 += tmp154 * -1 - tmp290 += np.transpose(tmp154, (2, 0, 1, 3, 4)) * -1 - tmp290 += np.transpose(tmp154, (2, 0, 1, 4, 3)) * 2 - tmp290 += np.transpose(tmp154, (2, 1, 0, 4, 3)) * -1 - tmp156 = einsum(ints.tmp325, (0, 1, 2, 3), r3, (1, 0, 4, 5, 6), (2, 3, 4, 5, 6)) - tmp254 = np.copy(tmp156) * 0.5 - tmp253 = einsum(ints.tmp611, (0, 1, 2, 3), r3, (0, 1, 4, 5, 6), (2, 3, 4, 5, 6)) - tmp254 += tmp253 - del tmp253 - tmp290 += np.transpose(tmp254, (0, 1, 2, 4, 3)) - tmp290 += np.transpose(tmp254, (1, 0, 2, 4, 3)) * -1 - del tmp254 - tmp290 += np.transpose(tmp256, (2, 1, 0, 3, 4)) - tmp290 += np.transpose(tmp256, (0, 2, 1, 4, 3)) * -1 - del tmp256 - tmp259 = np.copy(tmp257) * 0.5 - del tmp257 - tmp258 = einsum(ints.tmp611, (0, 1, 2, 3), r3, (0, 4, 1, 5, 6), (2, 3, 4, 5, 6)) - tmp259 += tmp258 - del tmp258 - tmp290 += np.transpose(tmp259, (2, 0, 1, 3, 4)) - tmp290 += np.transpose(tmp259, (2, 1, 0, 3, 4)) * -1 - del tmp259 - tmp290 += tmp260 - tmp290 += np.transpose(tmp260, (2, 0, 1, 4, 3)) * -1 - del tmp260 - tmp262 = np.copy(tmp157) - tmp262 += tmp261 * -1 - del tmp261 - tmp290 += np.transpose(tmp262, (0, 1, 2, 4, 3)) * -1 - tmp290 += np.transpose(tmp262, (1, 2, 0, 3, 4)) - del tmp262 - tmp290 += tmp263 * -0.5 - tmp290 += np.transpose(tmp263, (0, 2, 1, 3, 4)) * 0.5 - del tmp263 - tmp158 = einsum(v.oooo, (0, 1, 2, 3), r3, (1, 3, 4, 5, 6), (4, 0, 2, 5, 6)) - tmp290 += np.transpose(tmp158, (1, 2, 0, 4, 3)) * -0.5 - tmp290 += np.transpose(tmp158, (2, 1, 0, 4, 3)) * 0.5 - tmp290 += np.transpose(tmp83, (0, 1, 2, 4, 3)) - tmp290 += np.transpose(tmp83, (0, 2, 1, 3, 4)) - tmp290 += np.transpose(tmp83, (2, 0, 1, 4, 3)) - tmp107 = einsum(v.oovv, (0, 1, 2, 3), r3, (4, 1, 5, 6, 3), (4, 5, 0, 6, 2)) - tmp290 += np.transpose(tmp107, (0, 2, 1, 3, 4)) * -1 - tmp290 += np.transpose(tmp107, (2, 0, 1, 4, 3)) * -1 - tmp290 += np.transpose(tmp264, (1, 0, 2, 4, 3)) * -1 - tmp290 += np.transpose(tmp264, (1, 2, 0, 3, 4)) * -1 - tmp290 += np.transpose(tmp264, (2, 1, 0, 4, 3)) * -1 - del tmp264 - tmp265 = np.copy(tmp0) * 0.5 - tmp265 += tmp159 * 0.5 - tmp265 += tmp161 * 0.5 - tmp290 += tmp265 - tmp290 += np.transpose(tmp265, (0, 1, 2, 4, 3)) * -1 - tmp290 += np.transpose(tmp265, (1, 2, 0, 3, 4)) * 2 - del tmp265 - tmp290 += np.transpose(tmp266, (0, 2, 1, 3, 4)) - tmp290 += np.transpose(tmp266, (2, 1, 0, 3, 4)) * 0.5 - del tmp266 - tmp164 = einsum(tmp163, (0, 1, 2, 3, 4, 5, 6), t1, (3, 4), (0, 1, 2, 5, 6)) - tmp290 += tmp164 * -1 - tmp290 += np.transpose(tmp164, (0, 1, 2, 4, 3)) - tmp290 += np.transpose(tmp164, (1, 2, 0, 3, 4)) * -1 - tmp290 += np.transpose(tmp267, (1, 0, 2, 4, 3)) * -0.5 - tmp290 += np.transpose(tmp267, (2, 1, 0, 4, 3)) * -1 - del tmp267 - tmp290 += tmp269 - tmp290 += np.transpose(tmp269, (1, 2, 0, 3, 4)) - del tmp269 - tmp290 += np.transpose(tmp271, (1, 2, 0, 3, 4)) * -2 - tmp290 += np.transpose(tmp271, (2, 1, 0, 3, 4)) - del tmp271 - tmp290 += np.transpose(tmp273, (2, 1, 0, 4, 3)) - tmp290 += np.transpose(tmp273, (1, 2, 0, 3, 4)) - del tmp273 - tmp71 = einsum(t2, (0, 1, 2, 3), r3, (0, 1, 4, 2, 5), (4, 5, 3)) - tmp170 = einsum(v.ovov, (0, 1, 2, 3), tmp71, (4, 5, 3), (4, 0, 2, 5, 1)) - tmp290 += np.transpose(tmp170, (2, 0, 1, 4, 3)) * -1 - tmp290 += np.transpose(tmp170, (1, 2, 0, 3, 4)) * 0.5 - tmp290 += np.transpose(tmp170, (2, 1, 0, 3, 4)) * -0.5 - tmp85 = einsum(t2, (0, 1, 2, 3), r3, (0, 1, 4, 3, 5), (4, 5, 2)) - tmp171 = einsum(v.ovov, (0, 1, 2, 3), tmp85, (4, 5, 3), (4, 0, 2, 5, 1)) - tmp290 += np.transpose(tmp171, (1, 2, 0, 3, 4)) * -0.5 - tmp290 += np.transpose(tmp171, (2, 1, 0, 3, 4)) * 0.5 - tmp274 = np.copy(tmp165) * 0.5 - tmp274 += np.transpose(tmp165, (2, 1, 3, 0, 5, 4, 6)) * -1 - tmp274 += np.transpose(tmp163, (0, 3, 1, 2, 4, 5, 6)) * -0.5 - tmp274 += np.transpose(tmp163, (0, 3, 1, 2, 4, 6, 5)) * 0.5 - tmp274 += np.transpose(tmp163, (1, 0, 2, 3, 4, 5, 6)) - del tmp163 - tmp290 += einsum(tmp274, (0, 1, 2, 3, 4, 5, 6), t1, (2, 5), (1, 0, 3, 6, 4)) - del tmp274 - tmp275 = np.copy(r3) - tmp275 += np.transpose(r3, (2, 1, 0, 4, 3)) - tmp45 = np.copy(ints.tmp291) * 0.5 - tmp45 += ints.tmp295 * 0.5 - tmp45 += ints.tmp300 * -1 - tmp290 += einsum(tmp275, (0, 1, 2, 3, 4), tmp45, (2, 5, 3, 6), (5, 1, 0, 6, 4)) * 2 - del tmp275 - tmp276 = np.copy(r3) - tmp276 += np.transpose(r3, (1, 2, 0, 3, 4)) - tmp4 = np.copy(ints.tmp291) - tmp4 += ints.tmp295 - tmp4 += ints.tmp300 * -2 - tmp290 += einsum(tmp276, (0, 1, 2, 3, 4), tmp4, (1, 5, 3, 6), (0, 5, 2, 4, 6)) - del tmp276 - tmp277 = np.copy(r3) - tmp277 += np.transpose(r3, (1, 0, 2, 4, 3)) - tmp290 += einsum(tmp4, (0, 1, 2, 3), tmp277, (4, 0, 5, 6, 2), (4, 5, 1, 3, 6)) * -1 - del tmp277 - tmp279 = np.copy(r3) - tmp279 += np.transpose(r3, (1, 2, 0, 4, 3)) * -1 - tmp278 = np.copy(ints.tmp288) - tmp278 += ints.tmp300 * 4 - tmp278 += np.transpose(v.ovov, (0, 2, 1, 3)) * 2 - tmp278 += ints.tmp291 * -2 - tmp278 += ints.tmp295 * -2 - tmp278 += v.oovv * -1 - tmp290 += einsum(tmp279, (0, 1, 2, 3, 4), tmp278, (1, 5, 4, 6), (0, 5, 2, 6, 3)) * -1 - del tmp278 - tmp280 = np.copy(tmp90) * -0.5 - tmp280 += tmp108 * 0.5 - tmp280 += np.transpose(tmp108, (1, 2, 0, 3, 4)) - tmp290 += einsum(v.ovoo, (0, 1, 2, 3), tmp280, (4, 2, 5, 3, 6), (4, 0, 5, 6, 1)) - del tmp280 - tmp281 = np.copy(ints.tmp759) - tmp281 += np.transpose(ints.tmp759, (0, 2, 1, 3)) * -1 - tmp290 += einsum(tmp281, (0, 1, 2, 3), tmp90, (4, 0, 5, 2, 6), (1, 4, 5, 3, 6)) * -0.5 - del tmp90, tmp281 - tmp282 = np.copy(r3) - tmp282 += np.transpose(r3, (1, 0, 2, 4, 3)) * 0.5 - tmp283 = einsum(t1, (0, 1), tmp282, (2, 3, 4, 5, 1), (2, 3, 4, 0, 5)) * 2 - del tmp282 - tmp290 += einsum(tmp283, (0, 1, 2, 3, 4), ints.tmp759, (2, 3, 5, 6), (0, 1, 5, 6, 4)) * -0.5 - del tmp283 - tmp284 = np.copy(f.vv) - tmp284 += np.transpose(ints.tmp618, (1, 0)) * -1 - tmp290 += einsum(tmp284, (0, 1), tmp279, (2, 3, 4, 5, 0), (2, 3, 4, 1, 5)) * -1 - del tmp284 - tmp151 = np.copy(np.transpose(t2, (0, 1, 3, 2))) - tmp151 += t2 * -0.3333333333333333 - tmp285 = einsum(tmp151, (0, 1, 2, 3), r3, (4, 1, 0, 5, 2), (4, 5, 3)) - tmp290 += einsum(v.ovov, (0, 1, 2, 3), tmp285, (4, 5, 3), (0, 2, 4, 5, 1)) * -1.5 - del tmp285 - tmp290 += einsum(tmp286, (0, 1, 2), v.ovov, (3, 2, 4, 5), (3, 0, 4, 5, 1)) * 0.5 - tmp290 += np.transpose(tmp288, (2, 1, 0, 4, 3)) - del tmp288 - tmp289 = np.copy(r3) - tmp289 += np.transpose(r3, (2, 0, 1, 4, 3)) * -1 - tmp290 += einsum(ints.tmp288, (0, 1, 2, 3), tmp289, (0, 4, 5, 2, 6), (4, 5, 1, 3, 6)) - r2new += einsum(tmp290, (0, 1, 2, 3, 4), t1, (1, 3), (0, 2, 4)) - del tmp290 - tmp207 = np.copy(r3) * -1.5 - tmp207 += np.transpose(r3, (0, 1, 2, 4, 3)) - tmp207 += np.transpose(r3, (2, 0, 1, 4, 3)) * 0.5 - tmp208 = einsum(tmp207, (0, 1, 2, 3, 4), t2, (2, 1, 5, 4), (0, 5, 3)) - tmp211 = np.copy(np.transpose(tmp208, (0, 2, 1))) * -1 - del tmp208 - tmp209 = np.copy(r3) * -0.25 - tmp209 += np.transpose(r3, (0, 1, 2, 4, 3)) - tmp209 += np.transpose(r3, (2, 0, 1, 4, 3)) * 0.25 - tmp210 = einsum(tmp209, (0, 1, 2, 3, 4), t2, (2, 1, 4, 5), (0, 5, 3)) * 2 - tmp211 += np.transpose(tmp210, (0, 2, 1)) - del tmp210 - r2new += einsum(v.ovvv, (0, 1, 2, 3), tmp211, (4, 2, 3), (0, 4, 1)) - tmp291 = np.copy(f.ov) - tmp291 += ints.tmp116 - tmp291 += ints.tmp128 * 2 - tmp291 += ints.tmp176 * 0.5 - tmp291 += ints.tmp182 * 1.5 - tmp291 += ints.tmp185 * 0.5 - tmp291 += ints.tmp119 * -2 - tmp291 += ints.tmp131 * -1 - tmp291 += ints.tmp179 * -0.5 - tmp212 = np.copy(ints.tmp315) - tmp212 += ints.tmp614 * 2 - del ints.tmp614 - tmp212 += ints.tmp311 * -2 - tmp291 += einsum(t1, (0, 1), tmp212, (2, 1), (0, 2)) - r2new += einsum(tmp279, (0, 1, 2, 3, 4), tmp291, (1, 4), (0, 2, 3)) * -1 - del tmp279, tmp291 - tmp292 = np.copy(r2) * 4 - tmp292 += np.transpose(r2, (1, 0, 2)) * -8 - tmp223 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * -1 - tmp223 += np.transpose(t3, (0, 2, 1, 3, 4, 5)) - tmp223 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) * -5 - tmp223 += np.transpose(t3, (0, 1, 2, 3, 5, 4)) * 3 - tmp223 += np.transpose(t3, (1, 0, 2, 3, 5, 4)) * -2 - tmp223 += np.transpose(t3, (1, 0, 2, 3, 4, 5)) * 6 - tmp223 += np.transpose(t3, (1, 0, 2, 4, 3, 5)) * -2 - tmp292 += einsum(r3, (0, 1, 2, 3, 4), tmp223, (2, 5, 1, 4, 3, 6), (0, 5, 6)) - tmp60 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * -1 - tmp60 += np.transpose(t3, (0, 2, 1, 3, 4, 5)) - tmp60 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) * -1 - tmp60 += t3 * -1 - tmp292 += einsum(r3, (0, 1, 2, 3, 4), tmp60, (0, 5, 1, 4, 6, 3), (2, 5, 6)) - r2new += einsum(tmp292, (0, 1, 2), v.ovov, (3, 4, 1, 2), (3, 0, 4)) * -0.25 - del tmp292 - tmp294 = np.copy(tmp268) * 2 - del tmp268 - tmp293 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * -1 - tmp293 += t2 - tmp294 += einsum(r3, (0, 1, 2, 3, 4), tmp293, (2, 0, 3, 5), (1, 4, 5)) - r2new += einsum(tmp294, (0, 1, 2), v.ovvv, (3, 2, 4, 1), (0, 3, 4)) * -0.5 - del tmp294 - tmp295 = np.copy(tmp270) * 2 - tmp102 = einsum(tmp101, (0, 1, 2, 3), r3, (1, 0, 4, 2, 5), (4, 5, 3)) - tmp295 += tmp102 * -1 - r2new += einsum(v.ovvv, (0, 1, 2, 3), tmp295, (4, 3, 1), (0, 4, 2)) * -0.5 - del tmp295 - tmp73 = np.copy(r2) * 2 - tmp73 += np.transpose(r2, (1, 0, 2)) * -1 - r2new += einsum(tmp4, (0, 1, 2, 3), tmp73, (0, 4, 2), (1, 4, 3)) * -1 - tmp296 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * -1 - tmp296 += np.transpose(t3, (0, 2, 1, 3, 4, 5)) - tmp296 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) * -1 - tmp298 = einsum(r3, (0, 1, 2, 3, 4), tmp296, (0, 5, 1, 4, 6, 3), (2, 5, 6)) - del tmp296 - tmp297 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * -1 - tmp297 += np.transpose(t3, (1, 0, 2, 3, 4, 5)) * 1.3333333333333333 - tmp298 += einsum(r3, (0, 1, 2, 3, 4), tmp297, (2, 1, 5, 4, 3, 6), (0, 5, 6)) * -3 - del tmp297 - r2new += einsum(v.ovov, (0, 1, 2, 3), tmp298, (4, 2, 1), (0, 4, 3)) * 0.25 - del tmp298 - tmp300 = np.copy(r3) * -1 - tmp300 += np.transpose(r3, (1, 2, 0, 4, 3)) - tmp301 = einsum(t1, (0, 1), tmp300, (2, 3, 4, 5, 1), (0, 2, 3, 4, 5)) - del tmp300 - tmp299 = np.copy(f.oo) - tmp299 += ints.tmp114 * 2 - tmp299 += ints.tmp609 * 2 - tmp299 += ints.tmp73 * 2 - tmp299 += ints.tmp112 * -1 - tmp299 += ints.tmp608 * -1 - r2new += einsum(tmp299, (0, 1), tmp301, (1, 2, 0, 3, 4), (2, 3, 4)) * -1 - del tmp299 - tmp302 = np.copy(tmp71) * 2 - tmp302 += tmp286 * -1 - del tmp286 - r2new += einsum(v.ovoo, (0, 1, 2, 3), tmp302, (3, 4, 1), (0, 2, 4)) * -0.5 - del tmp302 - tmp303 = np.copy(tmp252) - del tmp252 - tmp303 += einsum(r3, (0, 1, 2, 3, 4), tmp101, (2, 0, 3, 5), (1, 4, 5)) * -0.5 - r2new += einsum(v.ooov, (0, 1, 2, 3), tmp303, (1, 4, 3), (0, 2, 4)) - del tmp303 - tmp8 = np.copy(np.transpose(t2, (0, 1, 3, 2))) - tmp8 += t2 * -0.5 - tmp304 = einsum(tmp289, (0, 1, 2, 3, 4), tmp8, (2, 5, 6, 3), (0, 1, 5, 4, 6)) * 2 - del tmp289 - r2new += einsum(tmp304, (0, 1, 2, 3, 4), f.ov, (2, 4), (1, 0, 3)) - del tmp304 - tmp222 = np.copy(tmp199) * -1 - tmp222 += np.transpose(tmp199, (1, 0, 2)) * 2 - tmp218 = np.copy(r3) - tmp218 += np.transpose(r3, (0, 2, 1, 3, 4)) * -1.5 - tmp218 += np.transpose(r3, (2, 0, 1, 3, 4)) * 0.5 - tmp219 = einsum(tmp218, (0, 1, 2, 3, 4), t2, (5, 1, 4, 3), (5, 0, 2)) - tmp222 += np.transpose(tmp219, (1, 2, 0)) * -1 - del tmp219 - tmp220 = np.copy(r3) - tmp220 += np.transpose(r3, (0, 2, 1, 3, 4)) * -0.25 - tmp220 += np.transpose(r3, (2, 0, 1, 3, 4)) * 0.25 - tmp221 = einsum(t2, (0, 1, 2, 3), tmp220, (4, 1, 5, 2, 3), (0, 4, 5)) * 2 - tmp222 += np.transpose(tmp221, (1, 2, 0)) - del tmp221 - r2new += einsum(v.ovoo, (0, 1, 2, 3), tmp222, (4, 2, 3), (0, 4, 1)) * -1 - tmp305 = einsum(t2, (0, 1, 2, 3), tmp218, (4, 1, 5, 3, 2), (4, 5, 0)) * -2 - del tmp218 - tmp305 += einsum(t2, (0, 1, 2, 3), tmp220, (4, 1, 5, 2, 3), (4, 5, 0)) * 4 - del tmp220 - r2new += einsum(tmp305, (0, 1, 2), ints.tmp759, (1, 3, 2, 4), (3, 0, 4)) * -0.5 - del tmp305 - tmp306 = einsum(r3, (0, 1, 2, 3, 4), t3, (5, 2, 1, 3, 6, 4), (0, 5, 6)) - tmp306 += einsum(r3, (0, 1, 2, 3, 4), t3, (0, 5, 2, 6, 4, 3), (1, 5, 6)) * -1 - r2new += einsum(v.ovov, (0, 1, 2, 3), tmp306, (4, 2, 1), (4, 0, 3)) * -0.5 - del tmp306 - r2new += einsum(r2, (0, 1, 2), tmp287, (1, 3, 2, 4), (0, 3, 4)) - r2new += einsum(tmp287, (0, 1, 2, 3), r2, (0, 4, 2), (1, 4, 3)) - del tmp287 - tmp308 = np.copy(np.transpose(tmp199, (1, 0, 2))) - tmp308 += tmp307 - tmp308 += einsum(r3, (0, 1, 2, 3, 4), tmp293, (0, 5, 4, 3), (2, 1, 5)) * 0.5 - r2new += einsum(v.ooov, (0, 1, 2, 3), tmp308, (4, 1, 2), (0, 4, 3)) - del tmp308 - tmp309 = np.copy(tmp199) * -1 - tmp191 = einsum(r3, (0, 1, 2, 3, 4), t2, (5, 0, 4, 3), (1, 2, 5)) - tmp309 += tmp191 - tmp309 += einsum(r3, (0, 1, 2, 3, 4), tmp101, (1, 5, 4, 3), (0, 2, 5)) * -0.5 - r2new += einsum(tmp309, (0, 1, 2), v.ooov, (3, 1, 2, 4), (0, 3, 4)) * -1 - del tmp309 - tmp310 = np.copy(ints.tmp0) - tmp310 += np.transpose(ints.tmp72, (1, 0)) * -1 - r2new += einsum(tmp310, (0, 1), tmp301, (0, 2, 1, 3, 4), (2, 3, 4)) * -1 - del tmp301, tmp310 - tmp311 = np.copy(tmp307) * 2 - tmp311 += einsum(r3, (0, 1, 2, 3, 4), tmp293, (0, 5, 4, 3), (2, 1, 5)) - r2new += einsum(tmp311, (0, 1, 2), ints.tmp759, (1, 2, 3, 4), (3, 0, 4)) * 0.5 - del tmp311 - tmp312 = np.copy(tmp191) * 2 - tmp312 += einsum(r3, (0, 1, 2, 3, 4), tmp101, (1, 5, 4, 3), (0, 2, 5)) * -1 - r2new += einsum(tmp312, (0, 1, 2), ints.tmp759, (1, 2, 3, 4), (0, 3, 4)) * -0.5 - del tmp312 - tmp313 = np.copy(ints.tmp611) - tmp313 += np.transpose(ints.tmp992, (1, 0, 2, 3)) - del ints.tmp992 - tmp313 += np.transpose(v.oooo, (0, 2, 3, 1)) - r2new += einsum(tmp313, (0, 1, 2, 3), r2, (0, 1, 4), (3, 2, 4)) - del tmp313 - tmp314 = np.copy(tmp199) - tmp314 += np.transpose(tmp199, (1, 0, 2)) * -0.5 - r2new += einsum(tmp314, (0, 1, 2), ints.tmp759, (0, 3, 2, 4), (3, 1, 4)) * -2 - del tmp314 - tmp315 = np.copy(ints.tmp325) - tmp315 += np.transpose(ints.tmp611, (0, 1, 3, 2)) - r2new += einsum(tmp315, (0, 1, 2, 3), r2, (1, 0, 4), (3, 2, 4)) - del tmp315 - tmp316 = np.copy(f.ov) * 0.5 - tmp316 += ints.tmp308 - tmp316 += ints.tmp305 * -0.5 - tmp318 = np.copy(tmp317) - del tmp317 - tmp318 += einsum(r3, (0, 1, 2, 3, 4), tmp293, (2, 0, 3, 5), (1, 4, 5)) * -0.5 - r2new += einsum(tmp318, (0, 1, 2), tmp316, (3, 2), (0, 3, 1)) * 2 - del tmp318 - tmp319 = np.copy(tmp270) - del tmp270 - tmp319 += einsum(r3, (0, 1, 2, 3, 4), tmp101, (1, 0, 4, 5), (2, 3, 5)) * 0.5 - r2new += einsum(tmp316, (0, 1), tmp319, (2, 3, 1), (0, 2, 3)) * -2 - del tmp316, tmp319 - tmp320 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * 0.12499999999999997 - tmp320 += np.transpose(t3, (0, 2, 1, 3, 4, 5)) * -0.4999999999999999 - tmp320 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) * 0.12499999999999997 - tmp320 += np.transpose(t3, (1, 0, 2, 3, 5, 4)) * 0.24999999999999994 - tmp320 += np.transpose(t3, (1, 0, 2, 3, 4, 5)) * -0.24999999999999994 - tmp320 += np.transpose(t3, (1, 0, 2, 4, 3, 5)) - tmp321 = einsum(r3, (0, 1, 2, 3, 4), tmp320, (1, 0, 2, 4, 5, 3), (5,)) * 0.6666666666666401 - del tmp320 - tmp321 += einsum(r2, (0, 1, 2), tmp8, (1, 0, 2, 3), (3,)) * 2 - r2new += einsum(v.ovov, (0, 1, 2, 3), tmp321, (3,), (0, 2, 1)) * -1 - del tmp321 - r2new += einsum(r2, (0, 1, 2), tmp322, (2, 3), (0, 1, 3)) - del tmp322 - tmp323 = np.copy(tmp199) - tmp323 += np.transpose(tmp307, (1, 0, 2)) - del tmp307 - tmp323 += einsum(tmp293, (0, 1, 2, 3), r3, (4, 0, 5, 3, 2), (4, 5, 1)) * -0.5 - del tmp293 - r2new += einsum(tmp214, (0, 1), tmp323, (2, 3, 0), (2, 3, 1)) * -1 - del tmp323 - r2new += einsum(tmp324, (0, 1), r2, (0, 2, 3), (1, 2, 3)) * -2 - r2new += einsum(r2, (0, 1, 2), tmp324, (1, 3), (0, 3, 2)) * -2 - del tmp324 - r2new += einsum(r1, (0,), tmp325, (0, 1, 2, 3), (1, 2, 3)) - del tmp325 - r2new += einsum(tmp214, (0, 1), r1, (2,), (0, 2, 1)) * -1 - r1new = einsum(ints.tmp237, (0, 1, 2, 3), r3, (4, 1, 0, 3, 2), (4,)) - tmp3 = np.copy(np.transpose(tmp0, (0, 2, 1, 3, 4))) * -1 - tmp3 += np.transpose(tmp0, (0, 2, 1, 4, 3)) - tmp3 += np.transpose(tmp0, (1, 0, 2, 3, 4)) * -3 - tmp3 += np.transpose(tmp0, (1, 0, 2, 4, 3)) * 7 - tmp2 = np.copy(r3) * 0.25 - tmp2 += np.transpose(r3, (0, 1, 2, 4, 3)) * -1 - tmp2 += np.transpose(r3, (2, 0, 1, 3, 4)) * 0.25 - tmp1 = np.copy(ints.tmp291) - del ints.tmp291 - tmp1 += ints.tmp295 - del ints.tmp295 - tmp1 += ints.tmp288 * -0.5 - tmp1 += ints.tmp300 * -2 - del ints.tmp300 - tmp3 += einsum(tmp1, (0, 1, 2, 3), tmp2, (4, 5, 0, 6, 2), (1, 4, 5, 3, 6)) * 16 - del tmp1, tmp2 - r1new += einsum(tmp3, (0, 1, 2, 3, 4), t2, (2, 0, 4, 3), (1,)) * -0.25 - del tmp3 - tmp5 = np.copy(r3) - tmp5 += np.transpose(r3, (0, 1, 2, 4, 3)) * -4 - tmp5 += np.transpose(r3, (2, 0, 1, 3, 4)) - tmp7 = einsum(tmp5, (0, 1, 2, 3, 4), tmp4, (2, 5, 4, 6), (5, 0, 1, 6, 3)) * -0.5 - del tmp5 - tmp6 = np.copy(r3) - tmp6 += np.transpose(r3, (0, 1, 2, 4, 3)) * -0.6666666666666666 - tmp6 += np.transpose(r3, (2, 0, 1, 3, 4)) * 0.3333333333333333 - tmp7 += einsum(tmp6, (0, 1, 2, 3, 4), ints.tmp288, (2, 5, 4, 6), (5, 0, 1, 6, 3)) * 1.5 - del tmp6 - r1new += einsum(tmp7, (0, 1, 2, 3, 4), t2, (2, 0, 3, 4), (1,)) * -1 - del tmp7 - tmp10 = np.copy(np.transpose(r3, (0, 2, 1, 3, 4))) * 7 - tmp10 += np.transpose(r3, (2, 1, 0, 3, 4)) - tmp9 = np.copy(r3) - tmp9 += np.transpose(r3, (0, 2, 1, 3, 4)) * -0.5 - tmp9 += np.transpose(r3, (0, 2, 1, 4, 3)) - tmp9 += np.transpose(r3, (2, 1, 0, 3, 4)) * -0.5 - tmp10 += einsum(tmp9, (0, 1, 2, 3, 4), tmp8, (2, 5, 6, 3), (0, 1, 5, 4, 6)) * 16 - r1new += einsum(v.ovov, (0, 1, 2, 3), tmp10, (4, 0, 2, 1, 3), (4,)) * -0.25 - del tmp10 - tmp11 = np.copy(r3) - tmp11 += np.transpose(r3, (0, 1, 2, 4, 3)) * -1 - tmp11 += np.transpose(r3, (0, 2, 1, 3, 4)) * -1 - tmp11 += np.transpose(r3, (0, 2, 1, 4, 3)) * 2 - tmp11 += np.transpose(r3, (2, 1, 0, 4, 3)) - tmp12 = einsum(t2, (0, 1, 2, 3), tmp11, (4, 5, 1, 6, 2), (4, 5, 0, 6, 3)) - del tmp11 - tmp12 += einsum(t2, (0, 1, 2, 3), tmp9, (4, 5, 1, 3, 6), (4, 5, 0, 6, 2)) * 2 - del tmp9 - r1new += einsum(v.oovv, (0, 1, 2, 3), tmp12, (4, 0, 1, 2, 3), (4,)) - del tmp12 - tmp14 = np.copy(r3) - tmp14 += np.transpose(r3, (0, 2, 1, 4, 3)) - tmp14 += np.transpose(r3, (2, 0, 1, 4, 3)) * -1 - tmp13 = np.copy(ints.tmp237) - tmp13 += ints.tmp241 * -1 - r1new += einsum(tmp14, (0, 1, 2, 3, 4), tmp13, (1, 2, 4, 3), (0,)) * -0.5 - del tmp14, tmp13 - tmp15 = np.copy(r3) * 3 - tmp15 += np.transpose(r3, (0, 1, 2, 4, 3)) * -1 - tmp15 += np.transpose(r3, (0, 2, 1, 4, 3)) * 3 - tmp15 += np.transpose(r3, (2, 0, 1, 4, 3)) * -1 - r1new += einsum(ints.tmp245, (0, 1, 2, 3), tmp15, (4, 0, 1, 3, 2), (4,)) * -0.5 - del ints.tmp245, tmp15 - tmp17 = np.copy(r3) * 0.5 - tmp17 += np.transpose(r3, (1, 2, 0, 3, 4)) - tmp19 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp17, (2, 6, 7, 5, 4), (7, 6, 0, 1, 3)) * 2 - del tmp17 - tmp18 = np.copy(r3) * -1 - tmp18 += np.transpose(r3, (2, 1, 0, 3, 4)) - tmp19 += einsum(t3, (0, 1, 2, 3, 4, 5), tmp18, (2, 6, 7, 4, 5), (7, 6, 0, 1, 3)) - tmp16 = np.copy(v.ooov) - tmp16 += np.transpose(v.ovoo, (0, 2, 3, 1)) * -1 - r1new += einsum(tmp16, (0, 1, 2, 3), tmp19, (4, 1, 0, 2, 3), (4,)) * 0.25 - del tmp19 - tmp20 = np.copy(r3) - tmp20 += np.transpose(r3, (1, 2, 0, 3, 4)) * 2 - tmp20 += np.transpose(r3, (1, 2, 0, 4, 3)) * -1 - r1new += einsum(tmp20, (0, 1, 2, 3, 4), ints.tmp253, (1, 0, 3, 4), (2,)) * -0.5 - del tmp20, ints.tmp253 - tmp21 = np.copy(v.ooov) * 3 - tmp21 += np.transpose(v.ovoo, (0, 2, 3, 1)) * -1 - tmp22 = np.copy(r3) - tmp22 += np.transpose(r3, (1, 2, 0, 3, 4)) * 2 - tmp22 += np.transpose(r3, (2, 1, 0, 3, 4)) * -1 - tmp23 = einsum(tmp22, (0, 1, 2, 3, 4), t3, (5, 6, 0, 3, 7, 4), (2, 1, 5, 6, 7)) - r1new += einsum(tmp23, (0, 1, 2, 3, 4), tmp21, (2, 1, 3, 4), (0,)) * 0.25 - del tmp23, tmp21 - tmp24 = np.copy(r3) - tmp24 += np.transpose(r3, (1, 2, 0, 3, 4)) * 3 - r1new += einsum(v.ovov, (0, 1, 2, 3), tmp24, (2, 0, 4, 3, 1), (4,)) * 0.25 - del tmp24 - tmp25 = np.copy(ints.tmp237) * 3 - del ints.tmp237 - tmp25 += ints.tmp241 * -1 - del ints.tmp241 - r1new += einsum(tmp25, (0, 1, 2, 3), r3, (4, 0, 1, 2, 3), (4,)) * 0.5 - del tmp25 - tmp26 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * 2 - tmp26 += np.transpose(t3, (1, 0, 2, 4, 3, 5)) - tmp28 = einsum(tmp26, (0, 1, 2, 3, 4, 5), r3, (6, 2, 7, 3, 5), (6, 7, 1, 0, 4)) * 0.5 - del tmp26 - tmp27 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) - tmp27 += np.transpose(t3, (1, 0, 2, 4, 3, 5)) * 4 - tmp28 += einsum(r3, (0, 1, 2, 3, 4), tmp27, (2, 5, 6, 3, 7, 4), (0, 1, 5, 6, 7)) * 0.25 - del tmp27 - r1new += einsum(tmp28, (0, 1, 2, 3, 4), v.ooov, (2, 1, 3, 4), (0,)) * -1 - del tmp28 - tmp29 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * -0.25 - tmp29 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) * -1 - tmp29 += np.transpose(t3, (1, 0, 2, 3, 5, 4)) * -0.25 - tmp29 += np.transpose(t3, (1, 0, 2, 4, 3, 5)) * -0.25 - tmp31 = einsum(r3, (0, 1, 2, 3, 4), tmp29, (2, 0, 1, 5, 6, 3), (4, 6, 5)) * -4 - del tmp29 - tmp30 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * 4 - tmp30 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) - tmp31 += einsum(r3, (0, 1, 2, 3, 4), tmp30, (2, 0, 1, 5, 6, 4), (3, 6, 5)) * -1 - del tmp30 - r1new += einsum(v.ovvv, (0, 1, 2, 3), tmp31, (3, 1, 2), (0,)) * -0.16666666666666 - del tmp31 - tmp33 = np.copy(tmp32) * 0.8333333333333334 - del tmp32 - tmp33 += einsum(t3, (0, 1, 2, 3, 4, 5), r3, (6, 2, 7, 4, 5), (6, 7, 0, 1, 3)) - r1new += einsum(v.ooov, (0, 1, 2, 3), tmp33, (4, 1, 2, 0, 3), (4,)) * 1.5 - del tmp33 - tmp35 = np.copy(tmp34) * -1 - tmp35 += np.transpose(tmp34, (0, 1, 2, 4, 3)) - tmp35 += np.transpose(tmp34, (1, 2, 0, 3, 4)) * -3 - tmp35 += np.transpose(tmp34, (1, 2, 0, 4, 3)) * 7 - r1new += einsum(ints.tmp325, (0, 1, 2, 3), tmp35, (1, 0, 4, 3, 2), (4,)) * -0.25 - del tmp35 - tmp36 = einsum(t3, (0, 1, 2, 3, 4, 5), r3, (0, 2, 1, 5, 6), (6, 3, 4)) - tmp38 = np.copy(tmp36) * 4 - tmp37 = np.copy(r3) * -1 - tmp37 += np.transpose(r3, (0, 1, 2, 4, 3)) - tmp38 += einsum(t3, (0, 1, 2, 3, 4, 5), tmp37, (2, 1, 0, 5, 6), (6, 3, 4)) * -1 - del tmp37 - r1new += einsum(v.ovvv, (0, 1, 2, 3), tmp38, (3, 2, 1), (0,)) * 0.16666666666666 - del tmp38 - tmp39 = np.copy(r3) * 4 - tmp39 += np.transpose(r3, (0, 1, 2, 4, 3)) * -1 - tmp39 += np.transpose(r3, (1, 0, 2, 4, 3)) - tmp39 += np.transpose(r3, (2, 0, 1, 3, 4)) * 2 - tmp39 += np.transpose(r3, (2, 0, 1, 4, 3)) * -4 - tmp41 = einsum(tmp39, (0, 1, 2, 3, 4), t2, (2, 1, 5, 4), (0, 3, 5)) - del tmp39 - tmp40 = np.copy(r3) * 2 - tmp40 += np.transpose(r3, (0, 1, 2, 4, 3)) * -3 - tmp40 += np.transpose(r3, (1, 0, 2, 4, 3)) - tmp40 += np.transpose(r3, (2, 0, 1, 3, 4)) * 4 - tmp40 += np.transpose(r3, (2, 0, 1, 4, 3)) * -2 - tmp41 += einsum(tmp40, (0, 1, 2, 3, 4), t2, (2, 1, 4, 5), (0, 3, 5)) * -1 - del tmp40 - r1new += einsum(tmp41, (0, 1, 2), ints.tmp288, (0, 3, 1, 2), (3,)) * -0.25 - del tmp41 - tmp42 = np.copy(r3) * 0.6666666666666666 - tmp42 += np.transpose(r3, (0, 1, 2, 4, 3)) * -0.3333333333333333 - tmp42 += np.transpose(r3, (1, 0, 2, 4, 3)) - tmp42 += np.transpose(r3, (2, 0, 1, 3, 4)) - tmp42 += np.transpose(r3, (2, 0, 1, 4, 3)) * -0.3333333333333333 - tmp44 = einsum(tmp42, (0, 1, 2, 3, 4), t2, (2, 1, 4, 5), (0, 3, 5)) - del tmp42 - tmp43 = np.copy(r3) * 1.2 - tmp43 += np.transpose(r3, (0, 1, 2, 4, 3)) * -0.19999999999999998 - tmp43 += np.transpose(r3, (1, 0, 2, 4, 3)) - tmp43 += np.transpose(r3, (2, 0, 1, 3, 4)) * 0.19999999999999998 - tmp43 += np.transpose(r3, (2, 0, 1, 4, 3)) * -0.19999999999999998 - tmp44 += einsum(t2, (0, 1, 2, 3), tmp43, (4, 1, 0, 5, 3), (4, 5, 2)) * -1.6666666666666667 - del tmp43 - r1new += einsum(tmp45, (0, 1, 2, 3), tmp44, (0, 2, 3), (1,)) * -1.5 - del tmp44 - tmp46 = np.copy(np.transpose(v.oooo, (0, 2, 3, 1))) * -1 - tmp46 += v.oooo - r1new += einsum(tmp46, (0, 1, 2, 3), tmp34, (2, 0, 4, 3, 1), (4,)) * 0.25 - del tmp46 - tmp47 = np.copy(np.transpose(v.oooo, (0, 2, 3, 1))) - tmp47 += v.oooo * -0.42857142857142855 - r1new += einsum(tmp34, (0, 1, 2, 3, 4), tmp47, (2, 4, 1, 3), (0,)) * -1.75 - del tmp47 - tmp48 = np.copy(r3) - tmp48 += np.transpose(r3, (0, 1, 2, 4, 3)) * -0.6666666666666666 - tmp48 += np.transpose(r3, (0, 2, 1, 4, 3)) * 0.3333333333333333 - tmp50 = einsum(tmp48, (0, 1, 2, 3, 4), t2, (1, 0, 4, 5), (2, 3, 5)) * 3 - del tmp48 - tmp49 = np.copy(r3) - tmp49 += np.transpose(r3, (0, 1, 2, 4, 3)) * -4 - tmp49 += np.transpose(r3, (0, 2, 1, 4, 3)) - tmp50 += einsum(t2, (0, 1, 2, 3), tmp49, (1, 0, 4, 5, 3), (4, 5, 2)) * -1 - del tmp49 - r1new += einsum(tmp50, (0, 1, 2), v.oovv, (3, 0, 1, 2), (3,)) * -0.5 - del tmp50 - tmp51 = np.copy(r3) - tmp51 += np.transpose(r3, (0, 1, 2, 4, 3)) * -0.3333333333333333 - tmp51 += np.transpose(r3, (0, 2, 1, 4, 3)) * 0.6666666666666666 - tmp53 = einsum(tmp51, (0, 1, 2, 3, 4), t2, (1, 0, 4, 5), (2, 3, 5)) * 1.5 - del tmp51 - tmp52 = np.copy(r3) - tmp52 += np.transpose(r3, (0, 1, 2, 4, 3)) * -1 - tmp52 += np.transpose(r3, (0, 2, 1, 4, 3)) * 4 - tmp53 += einsum(t2, (0, 1, 2, 3), tmp52, (1, 0, 4, 5, 3), (4, 5, 2)) * -0.5 - del tmp52 - r1new += einsum(v.ovov, (0, 1, 2, 3), tmp53, (2, 3, 1), (0,)) - del tmp53 - tmp54 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * 0.5 - tmp54 += np.transpose(t3, (1, 0, 2, 3, 5, 4)) - tmp54 += np.transpose(t3, (1, 0, 2, 3, 4, 5)) * -1 - tmp54 += np.transpose(t3, (1, 0, 2, 4, 3, 5)) * 3 - tmp57 = einsum(tmp54, (0, 1, 2, 3, 4, 5), r3, (1, 0, 6, 4, 3), (6, 2, 5)) * -0.6666666666666666 - del tmp54 - tmp55 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * -2 - tmp55 += np.transpose(t3, (1, 0, 2, 3, 5, 4)) * -1 - tmp55 += np.transpose(t3, (1, 0, 2, 3, 4, 5)) * 3 - tmp55 += np.transpose(t3, (1, 0, 2, 4, 3, 5)) * -1 - tmp56 = einsum(tmp55, (0, 1, 2, 3, 4, 5), r3, (1, 6, 0, 3, 5), (6, 2, 4)) * 0.3333333333333333 - del tmp55 - tmp57 += tmp56 * -1 - r1new += einsum(tmp57, (0, 1, 2), v.ovoo, (3, 2, 1, 0), (3,)) * -0.75 - del tmp57 - tmp61 = np.copy(r2) * 4 - tmp58 = einsum(t3, (0, 1, 2, 3, 4, 5), r3, (1, 2, 6, 4, 5), (6, 0, 3)) - tmp61 += tmp58 * 4 - tmp59 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * -0.42857142857142855 - tmp59 += np.transpose(t3, (0, 2, 1, 3, 4, 5)) * 0.42857142857142855 - tmp59 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) * -1 - tmp59 += t3 * -0.42857142857142855 - tmp61 += einsum(r3, (0, 1, 2, 3, 4), tmp59, (0, 5, 1, 4, 6, 3), (2, 5, 6)) * 7 - del tmp59 - tmp61 += einsum(tmp60, (0, 1, 2, 3, 4, 5), r3, (0, 6, 2, 3, 5), (6, 1, 4)) - r1new += einsum(v.ooov, (0, 1, 2, 3), tmp61, (1, 2, 3), (0,)) * -0.25 - del tmp61 - tmp62 = np.copy(ints.tmp123) * 2 - tmp62 += np.transpose(ints.tmp125, (0, 2, 1, 3)) * 2 - tmp62 += ints.tmp134 - tmp62 += ints.tmp188 * 0.5 - tmp62 += ints.tmp194 * 0.5 - tmp62 += ints.tmp122 * -1 - tmp62 += np.transpose(ints.tmp126, (0, 2, 1, 3)) * -4 - tmp62 += ints.tmp191 * -1.5 - tmp62 += np.transpose(v.ovoo, (0, 2, 3, 1)) * -2 - r1new += einsum(r2, (0, 1, 2), tmp62, (0, 1, 3, 2), (3,)) * -1 - del tmp62 - tmp63 = np.copy(ints.tmp123) * 0.5 - tmp63 += np.transpose(ints.tmp125, (0, 2, 1, 3)) * 0.5 - tmp63 += ints.tmp134 - tmp63 += ints.tmp188 * 0.75 - tmp63 += ints.tmp194 * 0.25 - tmp63 += ints.tmp122 * -1 - tmp63 += np.transpose(ints.tmp126, (0, 2, 1, 3)) * -1 - tmp63 += ints.tmp191 * -0.25 - tmp63 += ints.tmp197 * -0.5 - r1new += einsum(r2, (0, 1, 2), tmp63, (1, 0, 3, 2), (3,)) * 2 - del tmp63 - tmp201 = einsum(r2, (0, 1, 2), v.ovov, (3, 4, 1, 2), (3, 0, 4)) * 2 - tmp201 += einsum(r2, (0, 1, 2), v.ovov, (3, 4, 0, 2), (3, 1, 4)) * -4 - tmp64 = einsum(r2, (0, 1, 2), ints.tmp618, (3, 2), (0, 1, 3)) - del ints.tmp618 - tmp78 = np.copy(tmp64) * -2 - del tmp64 - tmp65 = einsum(ints.tmp611, (0, 1, 2, 3), r2, (1, 0, 4), (2, 3, 4)) - tmp78 += tmp65 * 2 - del tmp65 - tmp66 = einsum(v.oooo, (0, 1, 2, 3), r2, (1, 3, 4), (0, 2, 4)) - tmp78 += tmp66 * 2 - del tmp66 - tmp67 = einsum(r2, (0, 1, 2), ints.tmp288, (0, 3, 2, 4), (3, 1, 4)) - tmp78 += tmp67 * 2 - del tmp67 - tmp68 = einsum(r2, (0, 1, 2), v.oovv, (3, 1, 4, 2), (0, 3, 4)) - tmp78 += tmp68 * -2 - del tmp68 - tmp69 = einsum(t2, (0, 1, 2, 3), r3, (0, 4, 1, 3, 5), (4, 5, 2)) - tmp70 = einsum(tmp69, (0, 1, 2), v.ooov, (3, 0, 4, 2), (3, 4, 1)) - tmp78 += tmp70 - del tmp70 - tmp72 = einsum(tmp71, (0, 1, 2), v.ovvv, (3, 4, 2, 1), (0, 3, 4)) - tmp78 += tmp72 * 2 - del tmp72 - tmp74 = einsum(tmp4, (0, 1, 2, 3), tmp73, (0, 4, 2), (1, 4, 3)) * 2 - del tmp4 - tmp78 += tmp74 * -1 - del tmp74 - tmp75 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) - tmp75 += np.transpose(t3, (0, 2, 1, 3, 4, 5)) * -1 - tmp76 = einsum(r3, (0, 1, 2, 3, 4), tmp75, (0, 5, 1, 4, 3, 6), (2, 5, 6)) - del tmp75 - tmp77 = einsum(tmp76, (0, 1, 2), v.ovov, (3, 2, 1, 4), (3, 0, 4)) * -0.5 - del tmp76 - tmp78 += np.transpose(tmp77, (1, 0, 2)) - del tmp77 - tmp201 += tmp78 * -1 - tmp201 += np.transpose(tmp78, (1, 0, 2)) * 0.5 - del tmp78 - tmp79 = einsum(ints.tmp325, (0, 1, 2, 3), r2, (1, 0, 4), (2, 3, 4)) - tmp87 = np.copy(tmp79) - del tmp79 - tmp80 = einsum(ints.tmp611, (0, 1, 2, 3), r2, (0, 1, 4), (2, 3, 4)) - del ints.tmp611 - tmp87 += tmp80 - del tmp80 - tmp81 = einsum(r2, (0, 1, 2), ints.tmp288, (1, 3, 2, 4), (3, 0, 4)) - tmp87 += tmp81 - del tmp81 - tmp82 = einsum(r2, (0, 1, 2), v.oovv, (3, 0, 4, 2), (1, 3, 4)) - tmp87 += tmp82 * -1 - del tmp82 - tmp84 = einsum(t1, (0, 1), tmp83, (2, 3, 0, 1, 4), (2, 3, 4)) - del tmp83 - tmp87 += tmp84 * -1 - del tmp84 - tmp86 = einsum(tmp85, (0, 1, 2), v.ooov, (3, 0, 4, 2), (3, 4, 1)) - tmp87 += tmp86 * 0.5 - del tmp86 - tmp201 += tmp87 - tmp201 += np.transpose(tmp87, (1, 0, 2)) * -2 - del tmp87 - tmp88 = einsum(v.ovvv, (0, 1, 2, 3), r3, (4, 0, 5, 3, 1), (4, 5, 2)) - tmp93 = np.copy(tmp88) * 0.5 - del tmp88 - tmp89 = einsum(v.ooov, (0, 1, 2, 3), tmp34, (4, 0, 5, 2, 1), (4, 5, 3)) - tmp93 += tmp89 * 0.5 - del tmp89 - tmp92 = einsum(t1, (0, 1), tmp91, (2, 3, 0, 1, 4), (2, 3, 4)) - del tmp91 - tmp93 += tmp92 * 0.5 - del tmp92 - tmp201 += tmp93 - tmp201 += np.transpose(tmp93, (1, 0, 2)) * -3 - del tmp93 - tmp94 = einsum(v.ovvv, (0, 1, 2, 3), r3, (4, 0, 5, 1, 3), (4, 5, 2)) - tmp112 = np.copy(tmp94) * -0.5 - del tmp94 - tmp95 = einsum(v.ooov, (0, 1, 2, 3), tmp34, (4, 0, 5, 1, 2), (4, 5, 3)) - tmp112 += tmp95 * -0.5 - del tmp95 - tmp96 = einsum(tmp85, (0, 1, 2), v.ovvv, (3, 4, 2, 1), (0, 3, 4)) - del tmp85 - tmp112 += tmp96 - del tmp96 - tmp97 = einsum(r3, (0, 1, 2, 3, 4), t3, (0, 5, 1, 3, 6, 4), (2, 5, 6)) - tmp98 = einsum(v.ovov, (0, 1, 2, 3), tmp97, (4, 2, 1), (4, 0, 3)) - del tmp97 - tmp112 += tmp98 * 0.25 - del tmp98 - tmp99 = einsum(r3, (0, 1, 2, 3, 4), t3, (0, 1, 2, 5, 6, 4), (3, 5, 6)) - tmp100 = einsum(v.ovov, (0, 1, 2, 3), tmp99, (4, 1, 3), (0, 2, 4)) * -1 - del tmp99 - tmp112 += tmp100 * 0.16666666666666 - del tmp100 - tmp103 = einsum(v.ovvv, (0, 1, 2, 3), tmp102, (4, 3, 1), (0, 4, 2)) * -0.5 - del tmp102 - tmp112 += np.transpose(tmp103, (1, 0, 2)) * -1 - del tmp103 - tmp104 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * -0.3333333333333333 - tmp104 += t2 - tmp105 = einsum(tmp104, (0, 1, 2, 3), r3, (1, 0, 4, 5, 2), (4, 5, 3)) * 3 - tmp106 = einsum(tmp105, (0, 1, 2), v.ooov, (3, 0, 4, 2), (3, 4, 1)) * 0.5 - tmp112 += tmp106 * -1 - del tmp106 - tmp110 = np.copy(tmp107) - del tmp107 - tmp109 = einsum(v.ovoo, (0, 1, 2, 3), tmp108, (4, 3, 5, 2, 6), (4, 5, 0, 6, 1)) - del tmp108 - tmp110 += tmp109 * -0.5 - del tmp109 - tmp111 = einsum(t1, (0, 1), tmp110, (2, 3, 0, 1, 4), (2, 3, 4)) - del tmp110 - tmp112 += tmp111 - del tmp111 - tmp201 += tmp112 - tmp201 += np.transpose(tmp112, (1, 0, 2)) * -1 - del tmp112 - tmp113 = einsum(tmp71, (0, 1, 2), v.ooov, (3, 0, 4, 2), (3, 4, 1)) - del tmp71 - tmp116 = np.copy(tmp113) * 0.5 - del tmp113 - tmp116 += tmp115 * 0.16666666666666 - del tmp115 - tmp201 += tmp116 * -1 - tmp201 += np.transpose(tmp116, (1, 0, 2)) * 4 - del tmp116 - tmp117 = einsum(r3, (0, 1, 2, 3, 4), t2, (0, 2, 3, 5), (1, 4, 5)) - tmp118 = einsum(v.ooov, (0, 1, 2, 3), tmp117, (1, 4, 3), (0, 2, 4)) - tmp120 = np.copy(tmp118) * 2 - del tmp118 - tmp119 = einsum(v.ovov, (0, 1, 2, 3), tmp36, (4, 1, 3), (0, 2, 4)) * -1 - del tmp36 - tmp120 += tmp119 * 0.66666666666664 - del tmp119 - tmp201 += tmp120 - tmp201 += np.transpose(tmp120, (1, 0, 2)) * -0.25 - del tmp120 - tmp121 = einsum(r3, (0, 1, 2, 3, 4), t3, (5, 1, 0, 6, 4, 3), (2, 5, 6)) - tmp122 = einsum(v.ovov, (0, 1, 2, 3), tmp121, (4, 2, 1), (4, 0, 3)) - tmp201 += tmp122 * 1.5 - tmp201 += np.transpose(tmp122, (1, 0, 2)) * -0.25 - del tmp122 - tmp123 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) - tmp123 += np.transpose(t3, (1, 0, 2, 3, 5, 4)) - tmp123 += np.transpose(t3, (1, 0, 2, 3, 4, 5)) * -1 - tmp124 = einsum(tmp123, (0, 1, 2, 3, 4, 5), r3, (1, 0, 6, 4, 3), (6, 2, 5)) - del tmp123 - tmp125 = einsum(tmp124, (0, 1, 2), v.ovov, (3, 4, 1, 2), (3, 0, 4)) * 0.75 - del tmp124 - tmp201 += np.transpose(tmp125, (1, 0, 2)) * -1 - tmp201 += tmp125 * 0.6666666666666666 - del tmp125 - tmp126 = einsum(v.ovov, (0, 1, 2, 3), tmp121, (4, 2, 3), (4, 0, 1)) - del tmp121 - tmp201 += tmp126 * -1.75 - tmp201 += np.transpose(tmp126, (1, 0, 2)) * 0.5 - del tmp126 - tmp128 = np.copy(r3) * 2 - tmp128 += np.transpose(r3, (0, 1, 2, 4, 3)) * -1 - tmp127 = np.copy(ints.tmp416) - tmp127 += np.transpose(ints.tmp426, (0, 2, 3, 1)) - tmp127 += np.transpose(ints.tmp431, (0, 2, 3, 1)) * -2 - tmp201 += einsum(tmp128, (0, 1, 2, 3, 4), tmp127, (1, 3, 5, 4), (2, 0, 5)) - del tmp128, tmp127 - tmp129 = np.copy(ints.tmp416) - tmp129 += np.transpose(ints.tmp426, (0, 2, 3, 1)) * 2 - tmp129 += np.transpose(ints.tmp431, (0, 2, 3, 1)) * -4 - tmp129 += v.ovvv - tmp129 += np.transpose(v.ovvv, (0, 2, 3, 1)) * -2 - tmp201 += einsum(r3, (0, 1, 2, 3, 4), tmp129, (2, 4, 5, 3), (1, 0, 5)) - del tmp129 - tmp131 = np.copy(r3) - tmp131 += np.transpose(r3, (0, 2, 1, 4, 3)) - tmp130 = np.copy(ints.tmp123) * 0.5 - tmp130 += ints.tmp125 * 0.5 - tmp130 += ints.tmp188 * 0.125 - tmp130 += ints.tmp194 * 0.125 - tmp130 += ints.tmp122 * -0.25 - tmp130 += ints.tmp126 * -1 - tmp130 += ints.tmp191 * -0.375 - tmp201 += einsum(tmp131, (0, 1, 2, 3, 4), tmp130, (1, 2, 5, 4), (5, 0, 3)) * -4 - del tmp131, tmp130 - tmp132 = np.copy(ints.tmp123) * 0.5 - tmp132 += ints.tmp125 * 0.5 - tmp132 += ints.tmp134 * 0.75 - tmp132 += ints.tmp188 * 0.75 - tmp132 += ints.tmp194 * 0.25 - tmp132 += ints.tmp122 * -1 - tmp132 += ints.tmp126 * -1 - tmp132 += ints.tmp191 * -0.25 - tmp132 += np.transpose(v.ooov, (0, 2, 1, 3)) * 0.75 - tmp132 += np.transpose(v.ovoo, (0, 2, 3, 1)) * -0.25 - tmp201 += einsum(r3, (0, 1, 2, 3, 4), tmp132, (1, 2, 5, 3), (5, 0, 4)) * 2 - del tmp132 - tmp136 = einsum(tmp133, (0, 1, 2, 3, 4, 5), tmp18, (0, 6, 7, 3, 4), (7, 6, 1, 2, 5)) * 0.5 - del tmp133, tmp18 - tmp134 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * 0.3333333333333333 - tmp134 += np.transpose(t3, (0, 2, 1, 3, 4, 5)) * -0.3333333333333333 - tmp134 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) - tmp136 += einsum(tmp134, (0, 1, 2, 3, 4, 5), r3, (6, 0, 7, 3, 4), (6, 7, 1, 2, 5)) * -3 - del tmp134 - tmp135 = np.copy(r3) * -1 - tmp135 += np.transpose(r3, (2, 1, 0, 3, 4)) * 5 - tmp136 += einsum(t3, (0, 1, 2, 3, 4, 5), tmp135, (2, 6, 7, 5, 4), (7, 6, 0, 1, 3)) * -0.5 - del tmp135 - tmp201 += einsum(tmp136, (0, 1, 2, 3, 4), v.ovov, (2, 4, 3, 5), (1, 0, 5)) * -0.5 - del tmp136 - tmp139 = np.copy(np.transpose(tmp137, (0, 1, 3, 2, 4))) * -0.6666666666666666 - del tmp137 - tmp139 += einsum(t3, (0, 1, 2, 3, 4, 5), r3, (6, 1, 7, 5, 4), (6, 7, 0, 2, 3)) * 0.6666666666666666 - tmp138 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * 3 - tmp138 += np.transpose(t3, (0, 2, 1, 3, 4, 5)) * -1 - tmp138 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) - tmp139 += einsum(tmp22, (0, 1, 2, 3, 4), tmp138, (0, 5, 6, 3, 4, 7), (2, 1, 5, 6, 7)) * 0.16666666666666666 - del tmp22, tmp138 - tmp201 += einsum(v.ovov, (0, 1, 2, 3), tmp139, (4, 5, 0, 2, 3), (5, 4, 1)) * -1.5 - del tmp139 - tmp140 = np.copy(ints.tmp123) * 0.5 - del ints.tmp123 - tmp140 += ints.tmp125 * 0.5 - del ints.tmp125 - tmp140 += ints.tmp188 * 0.25 - tmp140 += ints.tmp194 * 0.25 - del ints.tmp194 - tmp140 += ints.tmp122 * -0.5 - tmp140 += ints.tmp126 * -1 - del ints.tmp126 - tmp140 += ints.tmp191 * -0.25 - del ints.tmp191 - tmp201 += einsum(tmp140, (0, 1, 2, 3), r3, (0, 1, 4, 3, 5), (2, 4, 5)) * 2 - del tmp140 - tmp141 = np.copy(ints.tmp421) * 2 - tmp141 += ints.tmp416 * -1 - del ints.tmp416 - tmp201 += einsum(r3, (0, 1, 2, 3, 4), tmp141, (2, 3, 5, 4), (1, 0, 5)) - del tmp141 - tmp201 += einsum(tmp142, (0, 1, 2, 3), r3, (0, 4, 5, 1, 3), (4, 5, 2)) - del tmp142 - tmp143 = np.copy(ints.tmp431) * 2 - del ints.tmp431 - tmp143 += ints.tmp426 * -1 - del ints.tmp426 - tmp201 += einsum(r3, (0, 1, 2, 3, 4), tmp143, (0, 3, 4, 5), (1, 2, 5)) - del tmp143 - tmp144 = np.copy(r3) * -1 - tmp144 += np.transpose(r3, (0, 1, 2, 4, 3)) * 2 - tmp201 += einsum(ints.tmp421, (0, 1, 2, 3), tmp144, (4, 0, 5, 1, 3), (5, 4, 2)) - del ints.tmp421, tmp144 - tmp145 = np.copy(r3) - tmp145 += np.transpose(r3, (0, 2, 1, 3, 4)) * -2 - tmp145 += np.transpose(r3, (0, 2, 1, 4, 3)) * 0.5 - tmp145 += np.transpose(r3, (2, 0, 1, 3, 4)) * 0.5 - tmp145 += np.transpose(r3, (2, 1, 0, 3, 4)) * -0.5 - tmp201 += einsum(tmp145, (0, 1, 2, 3, 4), ints.tmp134, (1, 2, 5, 4), (5, 0, 3)) * -1 - del ints.tmp134, tmp145 - tmp146 = np.copy(ints.tmp122) - del ints.tmp122 - tmp146 += ints.tmp197 * 0.5 - tmp146 += ints.tmp188 * -1 - del ints.tmp188 - tmp201 += einsum(tmp146, (0, 1, 2, 3), r3, (4, 1, 0, 5, 3), (2, 4, 5)) * -1 - del tmp146 - tmp147 = np.copy(v.ooov) * -0.5 - tmp147 += np.transpose(v.ovoo, (0, 2, 3, 1)) - tmp201 += einsum(tmp147, (0, 1, 2, 3), r3, (4, 0, 2, 5, 3), (1, 4, 5)) * 2 - del tmp147 - tmp201 += einsum(tmp16, (0, 1, 2, 3), r3, (0, 2, 4, 5, 3), (1, 4, 5)) * -0.5 - del tmp16 - tmp148 = np.copy(r3) - tmp148 += np.transpose(r3, (2, 0, 1, 3, 4)) * 0.5 - tmp201 += einsum(ints.tmp197, (0, 1, 2, 3), tmp148, (4, 1, 0, 3, 5), (2, 4, 5)) - del ints.tmp197, tmp148 - tmp149 = np.copy(tmp34) * -1 - tmp149 += np.transpose(tmp34, (0, 1, 2, 4, 3)) * 2 - del tmp34 - tmp201 += einsum(tmp149, (0, 1, 2, 3, 4), v.ooov, (4, 2, 3, 5), (1, 0, 5)) * -1 - del tmp149 - tmp153 = np.copy(v.ovvv) - tmp153 += np.transpose(v.ovvv, (0, 2, 3, 1)) * -0.5 - tmp150 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * -1 - tmp150 += t2 * 2 - tmp152 = einsum(tmp150, (0, 1, 2, 3), r3, (4, 1, 0, 2, 5), (4, 5, 3)) * 0.5 - del tmp150 - tmp152 += einsum(tmp151, (0, 1, 2, 3), r3, (4, 1, 0, 5, 2), (4, 5, 3)) * 0.75 - del tmp151 - tmp201 += einsum(tmp152, (0, 1, 2), tmp153, (3, 4, 1, 2), (3, 0, 4)) * -4 - del tmp152, tmp153 - tmp178 = np.copy(np.transpose(tmp154, (0, 2, 1, 3, 4))) - tmp178 += np.transpose(tmp154, (0, 2, 1, 4, 3)) * -0.5 - del tmp154 - tmp155 = einsum(ints.tmp325, (0, 1, 2, 3), r3, (4, 1, 0, 5, 6), (2, 3, 4, 5, 6)) - tmp178 += np.transpose(tmp155, (0, 2, 1, 3, 4)) * 0.375 - tmp178 += np.transpose(tmp155, (0, 2, 1, 4, 3)) * -0.875 - del tmp155 - tmp178 += np.transpose(tmp156, (0, 2, 1, 3, 4)) * 0.125 - tmp178 += np.transpose(tmp156, (0, 2, 1, 4, 3)) * -0.125 - del tmp156 - tmp178 += np.transpose(tmp157, (1, 0, 2, 4, 3)) * 0.375 - tmp178 += np.transpose(tmp157, (2, 0, 1, 4, 3)) * -0.875 - del tmp157 - tmp178 += np.transpose(tmp158, (1, 0, 2, 4, 3)) * 0.125 - tmp178 += np.transpose(tmp158, (2, 0, 1, 4, 3)) * -0.125 - del tmp158 - tmp162 = np.copy(tmp0) * 0.125 - del tmp0 - tmp162 += tmp159 * 0.125 - del tmp159 - tmp162 += tmp161 * 0.125 - del tmp161 - tmp178 += np.transpose(tmp162, (0, 2, 1, 3, 4)) * -1 - tmp178 += np.transpose(tmp162, (0, 2, 1, 4, 3)) - tmp178 += np.transpose(tmp162, (1, 0, 2, 3, 4)) * -7 - tmp178 += np.transpose(tmp162, (1, 0, 2, 4, 3)) * 3 - del tmp162 - tmp178 += np.transpose(tmp164, (0, 2, 1, 3, 4)) * 0.25 - tmp178 += np.transpose(tmp164, (0, 2, 1, 4, 3)) * -0.25 - tmp178 += np.transpose(tmp164, (1, 0, 2, 3, 4)) - tmp178 += np.transpose(tmp164, (1, 0, 2, 4, 3)) * -0.5 - del tmp164 - tmp166 = einsum(tmp165, (0, 1, 2, 3, 4, 5, 6), t1, (3, 4), (0, 1, 2, 5, 6)) - del tmp165 - tmp178 += np.transpose(tmp166, (1, 0, 2, 3, 4)) * -0.25 - tmp178 += np.transpose(tmp166, (1, 0, 2, 4, 3)) * 0.75 - del tmp166 - tmp167 = einsum(v.ovov, (0, 1, 2, 3), tmp117, (4, 5, 3), (4, 0, 2, 5, 1)) - del tmp117 - tmp178 += tmp167 * -0.25 - tmp178 += np.transpose(tmp167, (0, 2, 1, 3, 4)) - del tmp167 - tmp168 = einsum(v.ovov, (0, 1, 2, 3), tmp69, (4, 5, 3), (4, 0, 2, 5, 1)) - del tmp69 - tmp178 += tmp168 * 0.25 - tmp178 += np.transpose(tmp168, (0, 2, 1, 3, 4)) * -0.5 - del tmp168 - tmp169 = einsum(tmp105, (0, 1, 2), v.ovov, (3, 2, 4, 5), (3, 4, 0, 5, 1)) * 0.25 - del tmp105 - tmp178 += np.transpose(tmp169, (2, 1, 0, 4, 3)) - tmp178 += np.transpose(tmp169, (2, 0, 1, 4, 3)) * -1 - del tmp169 - tmp178 += tmp170 - tmp178 += np.transpose(tmp170, (0, 2, 1, 3, 4)) * -0.25 - del tmp170 - tmp178 += tmp171 * -0.5 - tmp178 += np.transpose(tmp171, (0, 2, 1, 3, 4)) * 0.25 - del tmp171 - tmp172 = np.copy(r3) * -0.5 - tmp172 += np.transpose(r3, (1, 2, 0, 3, 4)) * -0.5 - tmp172 += np.transpose(r3, (1, 2, 0, 4, 3)) - tmp172 += np.transpose(r3, (2, 1, 0, 3, 4)) - tmp178 += einsum(tmp45, (0, 1, 2, 3), tmp172, (0, 4, 5, 2, 6), (1, 5, 4, 3, 6)) * -2 - del tmp45, tmp172 - tmp173 = np.copy(r3) * 2 - tmp173 += np.transpose(r3, (0, 1, 2, 4, 3)) * -1 - tmp173 += np.transpose(r3, (0, 2, 1, 3, 4)) * -1 - tmp173 += np.transpose(r3, (0, 2, 1, 4, 3)) - tmp173 += np.transpose(r3, (2, 0, 1, 3, 4)) - tmp178 += einsum(ints.tmp288, (0, 1, 2, 3), tmp173, (4, 0, 5, 2, 6), (1, 4, 5, 3, 6)) * -0.5 - del ints.tmp288, tmp173 - tmp174 = np.copy(r3) * -1 - tmp174 += np.transpose(r3, (0, 1, 2, 4, 3)) * 2 - tmp174 += np.transpose(r3, (0, 2, 1, 3, 4)) - tmp178 += einsum(v.oovv, (0, 1, 2, 3), tmp174, (4, 5, 1, 3, 6), (5, 4, 0, 6, 2)) * 0.5 - del tmp174 - tmp175 = np.copy(r3) - tmp175 += np.transpose(r3, (0, 1, 2, 4, 3)) * -0.5 - tmp178 += einsum(tmp175, (0, 1, 2, 3, 4), v.ovov, (5, 6, 2, 3), (1, 0, 5, 4, 6)) - del tmp175 - tmp176 = np.copy(r3) * -0.5 - tmp176 += np.transpose(r3, (0, 1, 2, 4, 3)) - tmp177 = einsum(tmp176, (0, 1, 2, 3, 4), t1, (5, 4), (0, 1, 2, 5, 3)) - del tmp176 - tmp178 += einsum(tmp177, (0, 1, 2, 3, 4), v.ovoo, (5, 6, 2, 3), (1, 0, 5, 4, 6)) * -1 - del tmp177 - tmp201 += einsum(t1, (0, 1), tmp178, (2, 3, 0, 1, 4), (2, 3, 4)) * 2 - del tmp178 - tmp179 = einsum(tmp104, (0, 1, 2, 3), r3, (1, 0, 4, 5, 2), (4, 5, 3)) - del tmp104 - tmp180 = np.copy(tmp179) - tmp180 += einsum(r3, (0, 1, 2, 3, 4), tmp101, (2, 0, 3, 5), (1, 4, 5)) * -0.3333333333333333 - tmp201 += einsum(v.ovvv, (0, 1, 2, 3), tmp180, (4, 2, 3), (4, 0, 1)) * -1.5 - del tmp180 - tmp182 = np.copy(tmp179) - del tmp179 - tmp182 += einsum(tmp181, (0, 1, 2, 3), r3, (1, 4, 0, 2, 5), (4, 5, 3)) * -0.6666666666666666 - del tmp181 - tmp201 += einsum(tmp182, (0, 1, 2), v.ovvv, (3, 2, 4, 1), (0, 3, 4)) * 1.5 - del tmp182 - tmp185 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1))) * -0.5 - tmp185 += np.transpose(v.ovov, (0, 2, 1, 3)) - tmp183 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * -1 - tmp183 += np.transpose(t3, (0, 2, 1, 3, 4, 5)) - tmp183 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) * -5 - tmp183 += np.transpose(t3, (0, 1, 2, 3, 5, 4)) * 3 - tmp183 += np.transpose(t3, (1, 0, 2, 3, 5, 4)) * -2 - tmp183 += np.transpose(t3, (1, 0, 2, 3, 4, 5)) * 6 - tmp183 += np.transpose(t3, (1, 0, 2, 4, 3, 5)) * -2 - tmp184 = einsum(r3, (0, 1, 2, 3, 4), tmp183, (2, 5, 1, 4, 3, 6), (0, 5, 6)) * 0.2 - del tmp183 - tmp201 += einsum(tmp185, (0, 1, 2, 3), tmp184, (4, 0, 2), (1, 4, 3)) * 2.5 - del tmp185, tmp184 - tmp187 = einsum(r3, (0, 1, 2, 3, 4), t3, (0, 2, 1, 5, 3, 6), (4, 5, 6)) * 0.24999999999999994 - tmp186 = np.copy(r3) * -1 - tmp186 += np.transpose(r3, (0, 1, 2, 4, 3)) * 4 - tmp187 += einsum(t3, (0, 1, 2, 3, 4, 5), tmp186, (2, 1, 0, 4, 6), (6, 3, 5)) * -0.24999999999999994 - del tmp186 - tmp201 += einsum(tmp187, (0, 1, 2), v.ovov, (3, 1, 4, 2), (3, 4, 0)) * 0.6666666666666401 - del tmp187 - tmp189 = np.copy(tmp58) * -1 - del tmp58 - tmp189 += r2 * -1 - tmp189 += np.transpose(r2, (1, 0, 2)) * 2 - tmp188 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) - tmp188 += np.transpose(t3, (1, 0, 2, 3, 5, 4)) - tmp188 += np.transpose(t3, (1, 0, 2, 3, 4, 5)) * -1 - tmp188 += np.transpose(t3, (1, 0, 2, 4, 3, 5)) - tmp189 += einsum(r3, (0, 1, 2, 3, 4), tmp188, (2, 0, 5, 3, 4, 6), (1, 5, 6)) * -0.25 - del tmp188 - tmp201 += einsum(tmp189, (0, 1, 2), v.ovov, (3, 4, 1, 2), (0, 3, 4)) - del tmp189 - tmp201 += einsum(v.ovov, (0, 1, 2, 3), tmp56, (4, 2, 1), (4, 0, 3)) * 0.75 - del tmp56 - tmp193 = np.copy(tmp190) * 0.4 - tmp193 += tmp191 - tmp193 += np.transpose(tmp191, (1, 0, 2)) * -0.2 - tmp192 = einsum(t2, (0, 1, 2, 3), r3, (1, 4, 5, 2, 3), (4, 5, 0)) - tmp193 += tmp192 * -0.6 - tmp193 += np.transpose(tmp192, (1, 0, 2)) * 0.2 - tmp201 += einsum(v.ooov, (0, 1, 2, 3), tmp193, (4, 1, 2), (4, 0, 3)) * 2.5 - del tmp193 - tmp194 = np.copy(tmp190) - tmp194 += tmp191 - tmp194 += np.transpose(tmp191, (1, 0, 2)) * -2 - del tmp191 - tmp194 += tmp192 * -1 - tmp194 += np.transpose(tmp192, (1, 0, 2)) - del tmp192 - tmp201 += einsum(v.ovoo, (0, 1, 2, 3), tmp194, (4, 2, 3), (4, 0, 1)) * -1 - del tmp194 - tmp196 = np.copy(tmp190) * 0.6666666666666666 - tmp195 = einsum(r3, (0, 1, 2, 3, 4), tmp101, (0, 5, 4, 3), (1, 2, 5)) - tmp196 += tmp195 - del tmp195 - tmp201 += einsum(ints.tmp759, (0, 1, 2, 3), tmp196, (4, 0, 2), (4, 1, 3)) * -0.75 - tmp198 = np.copy(tmp190) * 0.2222222222222222 - tmp197 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * 1.7999999999999998 - tmp197 += t2 * -1 - tmp198 += einsum(tmp197, (0, 1, 2, 3), r3, (0, 4, 5, 3, 2), (4, 5, 1)) * 0.5555555555555556 - del tmp197 - tmp201 += einsum(tmp198, (0, 1, 2), ints.tmp759, (1, 2, 3, 4), (0, 3, 4)) * 2.25 - del tmp198 - tmp200 = np.copy(ints.tmp759) * -1 - tmp200 += np.transpose(ints.tmp759, (0, 2, 1, 3)) * 2 - del ints.tmp759 - tmp201 += einsum(tmp199, (0, 1, 2), tmp200, (1, 3, 2, 4), (0, 3, 4)) * -1 - del tmp199, tmp200 - r1new += einsum(tmp201, (0, 1, 2), t1, (0, 2), (1,)) - del tmp201 - tmp203 = np.copy(tmp190) * 0.4 - tmp202 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * 1.8 - tmp202 += t2 * -1 - tmp203 += einsum(tmp202, (0, 1, 2, 3), r3, (0, 4, 5, 3, 2), (4, 5, 1)) - r1new += einsum(ints.tmp325, (0, 1, 2, 3), tmp203, (1, 0, 3), (2,)) * 1.25 - del tmp203 - r1new += einsum(ints.tmp325, (0, 1, 2, 3), tmp196, (1, 0, 2), (3,)) * -0.75 - del ints.tmp325, tmp196 - tmp204 = np.copy(tmp190) - tmp204 += einsum(tmp202, (0, 1, 2, 3), r3, (0, 4, 5, 3, 2), (4, 5, 1)) * 2.5 - del tmp202 - r1new += einsum(tmp204, (0, 1, 2), v.oooo, (3, 1, 0, 2), (3,)) * 0.5 - del tmp204 - tmp205 = np.copy(tmp190) - del tmp190 - tmp205 += einsum(r3, (0, 1, 2, 3, 4), tmp101, (0, 5, 4, 3), (1, 2, 5)) * 1.5 - del tmp101 - r1new += einsum(tmp205, (0, 1, 2), v.oooo, (3, 0, 1, 2), (3,)) * -0.5 - del tmp205 - tmp206 = np.copy(f.vv) * 0.5 - tmp206 += np.transpose(ints.tmp315, (1, 0)) * 0.5 - del ints.tmp315 - tmp206 += np.transpose(ints.tmp311, (1, 0)) * -1 - del ints.tmp311 - r1new += einsum(tmp211, (0, 1, 2), tmp206, (2, 1), (0,)) * -2 - del tmp211, tmp206 - tmp213 = np.copy(f.ov) * 2 - tmp213 += ints.tmp116 * 2 - del ints.tmp116 - tmp213 += ints.tmp128 * 4 - del ints.tmp128 - tmp213 += ints.tmp176 - del ints.tmp176 - tmp213 += ints.tmp182 * 3 - del ints.tmp182 - tmp213 += ints.tmp185 - del ints.tmp185 - tmp213 += ints.tmp2 * 2 - del ints.tmp2 - tmp213 += ints.tmp119 * -4 - del ints.tmp119 - tmp213 += ints.tmp131 * -2 - del ints.tmp131 - tmp213 += ints.tmp179 * -1 - del ints.tmp179 - tmp213 += einsum(t1, (0, 1), tmp212, (2, 1), (0, 2)) * 2 - del tmp212 - r1new += einsum(tmp213, (0, 1), tmp73, (0, 2, 1), (2,)) * -0.5 - del tmp73, tmp213 - tmp215 = einsum(tmp207, (0, 1, 2, 3, 4), t2, (2, 1, 5, 4), (0, 3, 5)) * -0.6666666666666666 - del tmp207 - tmp215 += einsum(t2, (0, 1, 2, 3), tmp209, (4, 1, 0, 5, 2), (4, 5, 3)) * 1.3333333333333333 - del tmp209 - tmp216 = einsum(tmp215, (0, 1, 2), t1, (3, 1), (0, 3, 2)) * 1.5 - del tmp215 - r1new += einsum(tmp216, (0, 1, 2), tmp214, (1, 2), (0,)) - del tmp214, tmp216 - tmp217 = np.copy(f.oo) - tmp217 += np.transpose(ints.tmp114, (1, 0)) * 2 - tmp217 += np.transpose(ints.tmp609, (1, 0)) * 2 - tmp217 += np.transpose(ints.tmp73, (1, 0)) * 2 - tmp217 += np.transpose(ints.tmp112, (1, 0)) * -1 - r1new += einsum(tmp217, (0, 1), tmp222, (2, 1, 0), (2,)) - del tmp217 - tmp226 = einsum(r3, (0, 1, 2, 3, 4), tmp223, (2, 5, 1, 4, 3, 6), (0, 5, 6)) * 0.125 - del tmp223 - tmp226 += einsum(r3, (0, 1, 2, 3, 4), tmp60, (0, 5, 1, 4, 6, 3), (2, 5, 6)) * 0.125 - del tmp60 - tmp225 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * -0.5 - tmp225 += t2 - tmp224 = np.copy(r2) - tmp224 += np.transpose(r2, (1, 0, 2)) * -0.5 - tmp226 += einsum(tmp225, (0, 1, 2, 3), tmp224, (0, 4, 2), (4, 1, 3)) * -2 - del tmp225, tmp224 - r1new += einsum(f.ov, (0, 1), tmp226, (2, 0, 1), (2,)) * 2 - del tmp226 - tmp227 = np.copy(np.transpose(ints.tmp608, (1, 0))) - tmp227 += np.transpose(ints.tmp72, (1, 0)) - tmp227 += ints.tmp0 * -1 - r1new += einsum(tmp227, (0, 1), tmp222, (2, 1, 0), (2,)) * -1 - del tmp222, tmp227 - tmp228 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * 0.125 - tmp228 += np.transpose(t3, (0, 2, 1, 3, 4, 5)) * -0.5 - tmp228 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) * 0.125 - tmp228 += np.transpose(t3, (1, 0, 2, 3, 5, 4)) * 0.25 - tmp228 += np.transpose(t3, (1, 0, 2, 3, 4, 5)) * -0.25 - tmp228 += np.transpose(t3, (1, 0, 2, 4, 3, 5)) - tmp229 = einsum(r3, (0, 1, 2, 3, 4), tmp228, (1, 0, 2, 4, 5, 3), (5,)) * 4 - del tmp228 - tmp231 = np.copy(tmp229) - del tmp229 - tmp230 = einsum(r2, (0, 1, 2), tmp8, (1, 0, 2, 3), (3,)) * 12 - del tmp8 - tmp231 += tmp230 - del tmp230 - r1new += einsum(tmp231, (0,), ints.tmp305, (1, 0), (1,)) * -0.16666666666666 - del ints.tmp305 - r1new += einsum(f.ov, (0, 1), tmp231, (1,), (0,)) * 0.16666666666666 - r1new += einsum(ints.tmp308, (0, 1), tmp231, (1,), (0,)) * 0.33333333333332 - del ints.tmp308, tmp231 - tmp232 = np.copy(f.oo) - tmp232 += np.transpose(ints.tmp0, (1, 0)) - del ints.tmp0 - tmp232 += ints.tmp114 * 2 - del ints.tmp114 - tmp232 += ints.tmp609 * 2 - del ints.tmp609 - tmp232 += np.transpose(ints.tmp73, (1, 0)) * 2 - del ints.tmp73 - tmp232 += ints.tmp112 * -1 - del ints.tmp112 - tmp232 += ints.tmp608 * -1 - del ints.tmp608 - tmp232 += ints.tmp72 * -1 - del ints.tmp72 - r1new += einsum(tmp232, (0, 1), r1, (0,), (1,)) * -1 - del tmp232 - - return {f"r1new": r1new, f"r2new": r2new, f"r3new": r3new} - -def hbar_lmatvec_ea_intermediates(f=None, t1=None, t2=None, t3=None, v=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-10-22T09:41:34.776932. - - Parameters - ---------- - f : array - Fock matrix. - t1 : array - T1 amplitudes. - t2 : array - T2 amplitudes. - t3 : array - T3 amplitudes. - v : array - Electron repulsion integrals. - - Returns - ------- - tmp105 : array - tmp1082 : array - tmp110 : array - tmp119 : array - tmp121 : array - tmp123 : array - tmp126 : array - tmp132 : array - tmp135 : array - tmp138 : array - tmp140 : array - tmp143 : array - tmp145 : array - tmp190 : array - tmp193 : array - tmp196 : array - tmp199 : array - tmp249 : array - tmp253 : array - tmp257 : array - tmp265 : array - tmp286 : array - tmp292 : array - tmp301 : array - tmp304 : array - tmp308 : array - tmp313 : array - tmp318 : array - tmp321 : array - tmp335 : array - tmp338 : array - tmp344 : array - tmp348 : array - tmp366 : array - tmp371 : array - tmp377 : array - tmp382 : array - tmp465 : array - tmp578 : array - tmp585 : array - tmp59 : array - tmp592 : array - tmp607 : array - tmp694 : array - tmp76 : array - tmp763 : array - tmp767 : array - tmp78 : array - tmp942 : array - tmp953 : array - tmp964 : array - """ - - tmp59 = einsum(f.ov, (0, 1), t1, (2, 1), (0, 2)) - tmp105 = np.copy(v.oooo) - tmp119 = einsum(v.ovov, (0, 1, 2, 3), t2, (0, 2, 4, 1), (4, 3)) - tmp76 = einsum(v.ovvv, (0, 1, 2, 3), t1, (0, 1), (2, 3)) - tmp110 = np.copy(np.transpose(v.oooo, (0, 2))) - tmp123 = einsum(v.ooov, (0, 1, 2, 3), t2, (1, 2, 3, 4), (0, 4)) - tmp190 = einsum(v.ovov, (0, 1, 2, 3), t3, (4, 2, 0, 1, 5, 3), (4, 5)) - tmp964 = einsum(t1, (0, 1), f.vv, (2, 1), (0, 2)) - tmp78 = einsum(v.ovvv, (0, 1, 2, 3), t1, (0, 3), (1, 2)) - tmp121 = einsum(v.ovov, (0, 1, 2, 3), t2, (0, 2, 1, 4), (4, 3)) - tmp126 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 0, 1, 3), (4, 2)) - tmp132 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 3, 4, 2), (0, 4)) - tmp135 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 2, 4, 3), (0, 4)) - tmp138 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 2, 4, 5), (0, 3, 4, 5)) - tmp140 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 0, 5, 1), (4, 5, 2, 3)) - tmp143 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 2), (0, 3, 4, 5)) - tmp145 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 0, 5, 3), (4, 5, 1, 2)) - tmp193 = einsum(v.ovov, (0, 1, 2, 3), t3, (4, 2, 0, 5, 1, 3), (4, 5)) - tmp196 = einsum(v.ovov, (0, 1, 2, 3), t3, (4, 2, 0, 5, 3, 1), (4, 5)) - tmp199 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovov, (0, 3, 2, 5), (1, 4)) - tmp249 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovvv, (2, 3, 6, 5), (0, 1, 4, 6)) - tmp253 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovvv, (2, 4, 6, 5), (0, 1, 3, 6)) - tmp257 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovvv, (2, 5, 6, 4), (0, 1, 3, 6)) - tmp265 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovvv, (1, 4, 6, 5), (0, 2, 3, 6)) - tmp285 = np.copy(v.ovoo) - tmp286 = einsum(tmp285, (0, 1), t1, (2, 1), (2, 0)) - del tmp285 - tmp301 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 2, 1, 5), (0, 4, 3, 5)) - tmp304 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 2, 5, 1), (4, 0, 5, 3)) - tmp308 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 5, 1, 2), (0, 4, 3, 5)) - tmp313 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 2, 5, 3), (4, 0, 5, 1)) - tmp335 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 2, 1, 3), (0, 4)) - tmp338 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 3, 1, 2), (0, 4)) - tmp344 = einsum(t1, (0, 1), v.ooov, (2, 0, 3, 1), (2, 3)) - tmp348 = einsum(t1, (0, 1), v.ooov, (2, 3, 0, 1), (2, 3)) - tmp366 = einsum(v.ooov, (0, 1, 2, 3), t2, (4, 2, 3, 5), (4, 0, 1, 5)) - tmp371 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 1, 3), (0, 4, 5, 2)) - tmp377 = einsum(v.ooov, (0, 1, 2, 3), t2, (4, 1, 3, 5), (4, 0, 2, 5)) - tmp382 = einsum(v.ooov, (0, 1, 2, 3), t2, (4, 1, 5, 3), (4, 0, 2, 5)) - tmp465 = einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 2, 5, 3), (0, 1, 4, 5)) - tmp578 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovov, (6, 3, 2, 5), (0, 1, 6, 4)) - tmp585 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovov, (6, 5, 2, 4), (0, 1, 6, 3)) - tmp592 = einsum(v.ovov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 1, 3), (4, 5, 0, 6)) - tmp607 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovov, (6, 5, 1, 4), (0, 2, 6, 3)) - tmp694 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 2, 5, 3), (0, 1, 4, 5)) - tmp953 = einsum(t1, (0, 1), v.ooov, (2, 3, 4, 1), (0, 2, 3, 4)) - tmp291 = np.copy(np.transpose(v.ooov, (0, 3))) - tmp292 = einsum(tmp291, (0, 1), t1, (2, 1), (2, 0)) - del tmp291 - tmp318 = einsum(v.ovov, (0, 1, 2, 3), t1, (2, 1), (0, 3)) - tmp763 = einsum(t1, (0, 1), tmp318, (2, 1), (0, 2)) - tmp321 = einsum(t1, (0, 1), v.ovov, (2, 3, 0, 1), (2, 3)) - tmp767 = einsum(t1, (0, 1), tmp321, (2, 1), (0, 2)) - tmp942 = einsum(t1, (0, 1), v.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) - tmp1082 = einsum(tmp942, (0, 1, 2, 3), t1, (4, 3), (0, 4, 2, 1)) - - return {f"tmp105": tmp105, f"tmp1082": tmp1082, f"tmp110": tmp110, f"tmp119": tmp119, f"tmp121": tmp121, f"tmp123": tmp123, f"tmp126": tmp126, f"tmp132": tmp132, f"tmp135": tmp135, f"tmp138": tmp138, f"tmp140": tmp140, f"tmp143": tmp143, f"tmp145": tmp145, f"tmp190": tmp190, f"tmp193": tmp193, f"tmp196": tmp196, f"tmp199": tmp199, f"tmp249": tmp249, f"tmp253": tmp253, f"tmp257": tmp257, f"tmp265": tmp265, f"tmp286": tmp286, f"tmp292": tmp292, f"tmp301": tmp301, f"tmp304": tmp304, f"tmp308": tmp308, f"tmp313": tmp313, f"tmp318": tmp318, f"tmp321": tmp321, f"tmp335": tmp335, f"tmp338": tmp338, f"tmp344": tmp344, f"tmp348": tmp348, f"tmp366": tmp366, f"tmp371": tmp371, f"tmp377": tmp377, f"tmp382": tmp382, f"tmp465": tmp465, f"tmp578": tmp578, f"tmp585": tmp585, f"tmp59": tmp59, f"tmp592": tmp592, f"tmp607": tmp607, f"tmp694": tmp694, f"tmp76": tmp76, f"tmp763": tmp763, f"tmp767": tmp767, f"tmp78": tmp78, f"tmp942": tmp942, f"tmp953": tmp953, f"tmp964": tmp964} - -def hbar_lmatvec_ea(f=None, r1=None, r2=None, r3=None, t1=None, t2=None, t3=None, v=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-10-22T09:41:35.006820. - - Parameters - ---------- - f : array - Fock matrix. - r1 : array - R1 amplitudes. - r2 : array - R2 amplitudes. - r3 : array - R3 amplitudes. - t1 : array - T1 amplitudes. - t2 : array - T2 amplitudes. - t3 : array - T3 amplitudes. - v : array - Electron repulsion integrals. - - Returns - ------- - r1new : array - Updated R1 residuals. - r2new : array - Updated R2 residuals. - r3new : array - Updated R3 residuals. - """ - - ints = kwargs["ints"] - tmp272 = einsum(r3, (0, 1, 2, 3, 4), ints.tmp953, (3, 4, 5, 6), (5, 6, 0, 1, 2)) - r3new = np.copy(np.transpose(tmp272, (2, 3, 4, 1, 0))) - tmp52 = einsum(t2, (0, 1, 2, 3), r3, (4, 5, 2, 1, 0), (4, 5, 3)) - tmp269 = einsum(v.ovov, (0, 1, 2, 3), tmp52, (4, 5, 3), (0, 2, 4, 5, 1)) - r3new += np.transpose(tmp269, (2, 4, 3, 1, 0)) - tmp170 = einsum(r3, (0, 1, 2, 3, 4), t1, (5, 2), (3, 4, 5, 0, 1)) - tmp341 = einsum(ints.tmp318, (0, 1), tmp170, (2, 3, 0, 4, 5), (2, 3, 1, 4, 5)) - tmp347 = np.copy(tmp341) - del tmp341 - tmp342 = einsum(ints.tmp942, (0, 1, 2, 3), tmp170, (0, 4, 1, 5, 6), (2, 4, 3, 5, 6)) - tmp347 += tmp342 - del tmp342 - tmp175 = einsum(r3, (0, 1, 2, 3, 4), v.ovvv, (5, 6, 7, 1), (3, 4, 5, 0, 2, 6, 7)) - tmp185 = einsum(t1, (0, 1), tmp175, (2, 3, 0, 4, 1, 5, 6), (2, 3, 4, 5, 6)) - tmp347 += tmp185 - tmp343 = np.copy(ints.tmp301) * 0.5 - tmp343 += ints.tmp313 - tmp344 = einsum(tmp343, (0, 1, 2, 3), r3, (4, 5, 2, 0, 6), (6, 1, 4, 5, 3)) * 2 - del tmp343 - tmp347 += np.transpose(tmp344, (1, 0, 4, 2, 3)) - del tmp344 - tmp345 = np.copy(f.vv) - tmp345 += ints.tmp119 - tmp345 += ints.tmp76 * 2 - tmp345 += ints.tmp121 * -2 - tmp346 = einsum(r3, (0, 1, 2, 3, 4), tmp345, (2, 5), (3, 4, 0, 1, 5)) - del tmp345 - tmp347 += np.transpose(tmp346, (0, 1, 4, 2, 3)) - del tmp346 - r3new += np.transpose(tmp347, (2, 4, 3, 0, 1)) * -1 - r3new += np.transpose(tmp347, (3, 4, 2, 0, 1)) - del tmp347 - tmp265 = einsum(r3, (0, 1, 2, 3, 4), ints.tmp301, (4, 5, 2, 6), (5, 3, 6, 0, 1)) - tmp349 = np.copy(tmp265) - tmp268 = einsum(ints.tmp942, (0, 1, 2, 3), tmp170, (4, 0, 1, 5, 6), (2, 4, 3, 5, 6)) - tmp349 += tmp268 - tmp308 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * -1 - tmp308 += t2 - tmp323 = einsum(tmp308, (0, 1, 2, 3), r3, (3, 2, 4, 5, 0), (5, 1, 4)) - tmp348 = einsum(tmp323, (0, 1, 2), v.ovov, (3, 4, 1, 5), (3, 0, 5, 4, 2)) * 0.5 - tmp349 += np.transpose(tmp348, (1, 0, 4, 3, 2)) * -1 - del tmp348 - r3new += np.transpose(tmp349, (2, 4, 3, 1, 0)) * -1 - r3new += np.transpose(tmp349, (3, 4, 2, 1, 0)) - del tmp349 - tmp350 = einsum(ints.tmp78, (0, 1), r3, (2, 3, 1, 4, 5), (4, 5, 0, 2, 3)) - tmp355 = np.copy(tmp350) - del tmp350 - tmp351 = np.copy(ints.tmp304) - tmp351 += ints.tmp308 - tmp352 = einsum(r3, (0, 1, 2, 3, 4), tmp351, (3, 5, 2, 6), (4, 5, 0, 1, 6)) - del tmp351 - tmp355 += np.transpose(tmp352, (1, 0, 4, 2, 3)) - del tmp352 - tmp353 = np.copy(f.ov) - tmp353 += ints.tmp321 * 2 - tmp354 = einsum(tmp353, (0, 1), tmp170, (2, 3, 0, 4, 5), (2, 3, 4, 5, 1)) - del tmp353 - tmp355 += np.transpose(tmp354, (0, 1, 4, 2, 3)) - del tmp354 - r3new += np.transpose(tmp355, (2, 4, 3, 0, 1)) - r3new += np.transpose(tmp355, (3, 4, 2, 0, 1)) * -1 - del tmp355 - tmp276 = einsum(r3, (0, 1, 2, 3, 4), v.oovv, (5, 4, 6, 2), (3, 5, 0, 1, 6)) - tmp361 = np.copy(tmp276) - tmp328 = einsum(r3, (0, 1, 2, 3, 4), t2, (5, 3, 2, 1), (4, 5, 0)) - tmp356 = einsum(tmp328, (0, 1, 2), v.ovov, (3, 4, 1, 5), (0, 3, 2, 4, 5)) - tmp361 += tmp356 * -0.5 - del tmp356 - tmp357 = np.copy(ints.tmp304) - tmp357 += ints.tmp308 - tmp358 = einsum(r3, (0, 1, 2, 3, 4), tmp357, (4, 5, 1, 6), (3, 5, 0, 2, 6)) - del tmp357 - tmp361 += np.transpose(tmp358, (1, 0, 4, 2, 3)) - del tmp358 - tmp183 = einsum(v.ovvv, (0, 1, 2, 3), r3, (4, 5, 3, 6, 7), (6, 7, 0, 4, 5, 1, 2)) - tmp359 = np.copy(tmp183) - tmp359 += np.transpose(tmp183, (0, 2, 1, 3, 5, 4, 6)) - tmp360 = einsum(t1, (0, 1), tmp359, (2, 0, 3, 4, 5, 1, 6), (2, 3, 4, 5, 6)) - del tmp359 - tmp361 += tmp360 - del tmp360 - r3new += np.transpose(tmp361, (2, 3, 4, 0, 1)) * -1 - r3new += np.transpose(tmp361, (4, 3, 2, 0, 1)) - del tmp361 - tmp363 = einsum(v.ovov, (0, 1, 2, 3), r1, (4,), (0, 2, 4, 1, 3)) - tmp266 = einsum(r3, (0, 1, 2, 3, 4), v.oovv, (5, 3, 6, 2), (4, 5, 0, 1, 6)) - tmp363 += np.transpose(tmp266, (1, 0, 2, 4, 3)) - tmp362 = einsum(t1, (0, 1), tmp183, (0, 2, 3, 4, 5, 1, 6), (2, 3, 4, 5, 6)) - tmp363 += np.transpose(tmp362, (1, 0, 2, 4, 3)) - del tmp362 - r3new += np.transpose(tmp363, (2, 4, 3, 0, 1)) * -1 - r3new += np.transpose(tmp363, (3, 4, 2, 0, 1)) - del tmp363 - tmp280 = einsum(r3, (0, 1, 2, 3, 4), v.ovov, (5, 6, 4, 1), (3, 5, 0, 2, 6)) - tmp366 = np.copy(tmp280) - tmp364 = einsum(tmp308, (0, 1, 2, 3), r3, (3, 4, 2, 0, 5), (5, 1, 4)) - tmp365 = einsum(tmp364, (0, 1, 2), v.ovov, (3, 4, 1, 5), (3, 0, 5, 4, 2)) * 0.5 - del tmp364 - tmp366 += np.transpose(tmp365, (1, 0, 4, 3, 2)) * -1 - del tmp365 - r3new += np.transpose(tmp366, (3, 2, 4, 1, 0)) * -1 - r3new += np.transpose(tmp366, (4, 2, 3, 1, 0)) - del tmp366 - tmp279 = einsum(r3, (0, 1, 2, 3, 4), v.ovov, (5, 6, 3, 2), (4, 5, 0, 1, 6)) - tmp368 = np.copy(tmp279) - tmp367 = einsum(v.ooov, (0, 1, 2, 3), tmp170, (1, 4, 2, 5, 6), (4, 0, 5, 6, 3)) - tmp368 += tmp367 - del tmp367 - r3new += np.transpose(tmp368, (2, 3, 4, 1, 0)) - r3new += np.transpose(tmp368, (4, 3, 2, 1, 0)) * -1 - del tmp368 - tmp369 = einsum(r3, (0, 1, 2, 3, 4), ints.tmp313, (4, 5, 1, 6), (5, 3, 6, 0, 2)) - tmp375 = np.copy(tmp369) * 2 - del tmp369 - tmp13 = einsum(v.vvvv, (0, 1, 2, 3), r3, (4, 1, 3, 5, 6), (5, 6, 4, 0, 2)) - tmp375 += tmp13 - tmp370 = einsum(tmp170, (0, 1, 2, 3, 4), v.ooov, (5, 1, 2, 6), (0, 5, 3, 4, 6)) - tmp375 += tmp370 - del tmp370 - tmp371 = einsum(t2, (0, 1, 2, 3), r3, (4, 2, 3, 5, 1), (5, 0, 4)) - tmp372 = einsum(tmp371, (0, 1, 2), v.ovov, (3, 4, 1, 5), (0, 3, 2, 4, 5)) - del tmp371 - tmp375 += tmp372 - del tmp372 - tmp30 = einsum(t2, (0, 1, 2, 3), r3, (4, 2, 3, 5, 6), (5, 6, 0, 1, 4)) - tmp373 = np.copy(tmp30) - tmp171 = einsum(t1, (0, 1), tmp170, (2, 3, 4, 5, 1), (2, 3, 0, 4, 5)) - tmp373 += tmp171 - tmp374 = einsum(v.ovov, (0, 1, 2, 3), tmp373, (4, 5, 2, 0, 6), (4, 5, 1, 3, 6)) - del tmp373 - tmp375 += np.transpose(tmp374, (0, 1, 4, 3, 2)) - del tmp374 - r3new += np.transpose(tmp375, (2, 3, 4, 0, 1)) - r3new += np.transpose(tmp375, (4, 3, 2, 0, 1)) * -1 - del tmp375 - tmp376 = einsum(r2, (0, 1, 2), ints.tmp942, (2, 3, 4, 5), (3, 4, 5, 0, 1)) - tmp378 = np.copy(tmp376) - del tmp376 - tmp99 = einsum(r2, (0, 1, 2), t1, (3, 1), (2, 3, 0)) - tmp377 = einsum(v.ovov, (0, 1, 2, 3), tmp99, (4, 2, 5), (4, 0, 5, 1, 3)) - tmp378 += tmp377 - del tmp377 - r3new += np.transpose(tmp378, (2, 3, 4, 0, 1)) - r3new += np.transpose(tmp378, (4, 3, 2, 0, 1)) * -1 - r3new += np.transpose(tmp378, (3, 2, 4, 1, 0)) - r3new += np.transpose(tmp378, (4, 2, 3, 1, 0)) * -1 - del tmp378 - tmp249 = einsum(r2, (0, 1, 2), t1, (3, 0), (2, 3, 1)) - tmp379 = einsum(v.ovov, (0, 1, 2, 3), tmp249, (4, 2, 5), (4, 0, 5, 1, 3)) - r3new += np.transpose(tmp379, (2, 3, 4, 0, 1)) * -1 - r3new += np.transpose(tmp379, (4, 3, 2, 0, 1)) - r3new += np.transpose(tmp379, (2, 4, 3, 1, 0)) * -1 - r3new += np.transpose(tmp379, (3, 4, 2, 1, 0)) - del tmp379 - tmp281 = einsum(v.vvvv, (0, 1, 2, 3), r3, (1, 4, 3, 5, 6), (5, 6, 4, 0, 2)) - tmp286 = np.copy(tmp281) * 0.5 - del tmp281 - tmp282 = einsum(t1, (0, 1), tmp183, (2, 3, 0, 1, 4, 5, 6), (2, 3, 4, 5, 6)) - tmp286 += tmp282 * -1 - del tmp282 - tmp263 = einsum(t2, (0, 1, 2, 3), r3, (2, 4, 3, 5, 6), (5, 6, 0, 1, 4)) - tmp284 = np.copy(tmp263) - tmp283 = einsum(tmp170, (0, 1, 2, 3, 4), t1, (5, 3), (0, 1, 5, 2, 4)) - tmp284 += tmp283 - del tmp283 - tmp285 = einsum(v.ovov, (0, 1, 2, 3), tmp284, (4, 5, 2, 0, 6), (4, 5, 1, 3, 6)) * 0.5 - del tmp284 - tmp286 += np.transpose(tmp285, (0, 1, 4, 3, 2)) - del tmp285 - r3new += np.transpose(tmp286, (3, 2, 4, 0, 1)) - r3new += np.transpose(tmp286, (4, 2, 3, 0, 1)) * -1 - tmp380 = einsum(t1, (0, 1), tmp175, (2, 0, 3, 4, 5, 6, 1), (2, 3, 4, 5, 6)) - r3new += np.transpose(tmp380, (2, 4, 3, 0, 1)) * 2 - r3new += np.transpose(tmp380, (3, 2, 4, 1, 0)) * -1 - r3new += np.transpose(tmp380, (4, 2, 3, 1, 0)) - del tmp380 - tmp381 = einsum(t1, (0, 1), tmp183, (0, 2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 6)) - r3new += np.transpose(tmp381, (2, 4, 3, 0, 1)) - r3new += np.transpose(tmp381, (2, 3, 4, 1, 0)) - r3new += np.transpose(tmp381, (4, 3, 2, 1, 0)) * -1 - del tmp381 - tmp382 = einsum(v.ooov, (0, 1, 2, 3), r2, (4, 5, 1), (0, 2, 4, 5, 3)) - r3new += np.transpose(tmp382, (2, 4, 3, 0, 1)) - r3new += np.transpose(tmp382, (3, 4, 2, 0, 1)) * -1 - r3new += np.transpose(tmp382, (3, 2, 4, 1, 0)) * -1 - r3new += np.transpose(tmp382, (4, 2, 3, 1, 0)) - del tmp382 - tmp92 = einsum(r2, (0, 1, 2), v.ovvv, (3, 4, 5, 1), (2, 3, 0, 4, 5)) - r3new += np.transpose(tmp92, (2, 3, 4, 0, 1)) * -1 - r3new += np.transpose(tmp92, (4, 3, 2, 0, 1)) - r3new += np.transpose(tmp92, (3, 2, 4, 1, 0)) * -1 - r3new += np.transpose(tmp92, (4, 2, 3, 1, 0)) - tmp80 = einsum(r2, (0, 1, 2), v.ovvv, (3, 4, 5, 0), (2, 3, 1, 4, 5)) - r3new += np.transpose(tmp80, (2, 3, 4, 0, 1)) - r3new += np.transpose(tmp80, (4, 3, 2, 0, 1)) * -1 - r3new += np.transpose(tmp80, (2, 4, 3, 1, 0)) - r3new += np.transpose(tmp80, (3, 4, 2, 1, 0)) * -1 - tmp49 = einsum(t2, (0, 1, 2, 3), r3, (4, 5, 3, 1, 0), (4, 5, 2)) - tmp290 = einsum(tmp49, (0, 1, 2), v.ovov, (3, 4, 5, 2), (3, 5, 0, 1, 4)) - r3new += np.transpose(tmp290, (2, 3, 4, 0, 1)) * -1 - r3new += np.transpose(tmp290, (4, 3, 2, 0, 1)) - r3new += np.transpose(tmp290, (2, 4, 3, 1, 0)) * -1 - tmp335 = einsum(r3, (0, 1, 2, 3, 4), t2, (5, 4, 2, 1), (3, 5, 0)) - tmp383 = einsum(v.ovov, (0, 1, 2, 3), tmp335, (4, 2, 5), (4, 0, 5, 1, 3)) - r3new += np.transpose(tmp383, (2, 3, 4, 0, 1)) * -2 - r3new += np.transpose(tmp383, (4, 3, 2, 0, 1)) * 2 - r3new += np.transpose(tmp383, (3, 2, 4, 1, 0)) * -1 - r3new += np.transpose(tmp383, (4, 2, 3, 1, 0)) - del tmp383 - tmp326 = einsum(t2, (0, 1, 2, 3), r3, (4, 2, 3, 1, 5), (5, 0, 4)) - tmp384 = einsum(v.ovov, (0, 1, 2, 3), tmp326, (4, 2, 5), (4, 0, 5, 1, 3)) - r3new += np.transpose(tmp384, (2, 3, 4, 0, 1)) * -0.5 - r3new += np.transpose(tmp384, (4, 3, 2, 0, 1)) * 0.5 - r3new += np.transpose(tmp384, (2, 4, 3, 1, 0)) * -1 - r3new += np.transpose(tmp384, (3, 4, 2, 1, 0)) - del tmp384 - tmp54 = einsum(r3, (0, 1, 2, 3, 4), t2, (4, 3, 5, 1), (0, 2, 5)) - tmp291 = einsum(v.ovov, (0, 1, 2, 3), tmp54, (4, 5, 3), (0, 2, 4, 5, 1)) - r3new += np.transpose(tmp291, (3, 2, 4, 0, 1)) * -0.5 - r3new += np.transpose(tmp291, (4, 2, 3, 0, 1)) * 0.5 - r3new += np.transpose(tmp291, (2, 4, 3, 1, 0)) * 0.5 - tmp39 = einsum(t2, (0, 1, 2, 3), r3, (4, 2, 5, 1, 0), (4, 5, 3)) - tmp186 = einsum(v.ovov, (0, 1, 2, 3), tmp39, (4, 5, 3), (0, 2, 4, 5, 1)) - r3new += np.transpose(tmp186, (3, 2, 4, 0, 1)) * 0.5 - r3new += np.transpose(tmp186, (4, 2, 3, 0, 1)) * -0.5 - r3new += np.transpose(tmp186, (2, 4, 3, 1, 0)) * -1.5 - tmp385 = einsum(ints.tmp942, (0, 1, 2, 3), tmp170, (0, 4, 2, 5, 6), (1, 4, 3, 5, 6)) - r3new += np.transpose(tmp385, (2, 4, 3, 0, 1)) - r3new += np.transpose(tmp385, (3, 4, 2, 0, 1)) * -1 - r3new += np.transpose(tmp385, (3, 2, 4, 1, 0)) * -1 - del tmp385 - tmp177 = einsum(t1, (0, 1), r3, (2, 1, 3, 4, 5), (4, 5, 0, 2, 3)) - tmp386 = einsum(tmp177, (0, 1, 2, 3, 4), ints.tmp942, (1, 5, 2, 6), (5, 0, 6, 3, 4)) - r3new += np.transpose(tmp386, (2, 3, 4, 0, 1)) * -1 - r3new += np.transpose(tmp386, (4, 3, 2, 0, 1)) - r3new += np.transpose(tmp386, (3, 2, 4, 1, 0)) * -2 - del tmp386 - tmp289 = einsum(v.ovoo, (0, 1, 2, 3), tmp170, (3, 4, 2, 5, 6), (4, 0, 5, 6, 1)) - r3new += np.transpose(tmp289, (2, 4, 3, 0, 1)) * -1 - r3new += np.transpose(tmp289, (2, 3, 4, 1, 0)) * -1 - r3new += np.transpose(tmp289, (4, 3, 2, 1, 0)) - tmp182 = einsum(v.ovoo, (0, 1, 2, 3), tmp177, (4, 3, 2, 5, 6), (4, 0, 5, 6, 1)) - r3new += np.transpose(tmp182, (2, 4, 3, 0, 1)) * -2 - r3new += np.transpose(tmp182, (3, 2, 4, 1, 0)) - r3new += np.transpose(tmp182, (4, 2, 3, 1, 0)) * -1 - tmp388 = np.copy(np.transpose(r3, (3, 4, 0, 1, 2))) - tmp388 += np.transpose(r3, (4, 3, 0, 1, 2)) * -1 - tmp388 += np.transpose(r3, (4, 3, 0, 2, 1)) * 2 - tmp387 = np.copy(ints.tmp313) * 2 - tmp387 += np.transpose(v.ovov, (0, 2, 1, 3)) - tmp387 += ints.tmp304 * -1 - tmp387 += ints.tmp308 * -1 - r3new += einsum(tmp388, (0, 1, 2, 3, 4), tmp387, (0, 5, 4, 6), (2, 6, 3, 1, 5)) - del tmp388, tmp387 - tmp389 = np.copy(tmp183) - tmp389 += np.transpose(tmp175, (0, 1, 2, 3, 4, 6, 5)) - tmp389 += np.transpose(tmp175, (2, 0, 1, 3, 4, 6, 5)) - r3new += einsum(t1, (0, 1), tmp389, (2, 0, 3, 4, 5, 6, 1), (4, 6, 5, 2, 3)) * -1 - del tmp389 - tmp300 = np.copy(ints.tmp301) - tmp300 += v.oovv * -1 - tmp301 = einsum(tmp300, (0, 1, 2, 3), r3, (4, 2, 5, 0, 6), (6, 1, 4, 5, 3)) - r3new += np.transpose(tmp301, (2, 4, 3, 1, 0)) - r3new += einsum(tmp300, (0, 1, 2, 3), r3, (4, 2, 5, 6, 0), (4, 3, 5, 6, 1)) - tmp390 = np.copy(ints.tmp1082) - del ints.tmp1082 - tmp390 += np.transpose(ints.tmp694, (1, 0, 3, 2)) - tmp390 += np.transpose(ints.tmp953, (0, 1, 3, 2)) - tmp390 += np.transpose(v.oooo, (0, 2, 1, 3)) - r3new += einsum(r3, (0, 1, 2, 3, 4), tmp390, (4, 3, 5, 6), (0, 1, 2, 6, 5)) - del tmp390 - tmp391 = np.copy(ints.tmp942) - tmp391 += np.transpose(v.ooov, (0, 2, 1, 3)) - r3new += einsum(tmp177, (0, 1, 2, 3, 4), tmp391, (1, 2, 5, 6), (3, 6, 4, 0, 5)) - r3new += einsum(tmp391, (0, 1, 2, 3), tmp170, (4, 0, 2, 5, 6), (5, 3, 6, 4, 1)) - r3new += einsum(tmp391, (0, 1, 2, 3), tmp177, (0, 4, 1, 5, 6), (5, 3, 6, 2, 4)) - del tmp391 - tmp333 = np.copy(f.vv) - tmp333 += ints.tmp119 - tmp333 += ints.tmp76 * 2 - tmp333 += ints.tmp121 * -2 - tmp333 += np.transpose(ints.tmp78, (1, 0)) * -1 - r3new += einsum(r3, (0, 1, 2, 3, 4), tmp333, (1, 5), (0, 5, 2, 3, 4)) - tmp392 = np.copy(f.oo) * 0.5 - tmp392 += ints.tmp335 - tmp392 += np.transpose(ints.tmp348, (1, 0)) - tmp392 += np.transpose(ints.tmp59, (1, 0)) * 0.5 - tmp392 += ints.tmp767 - tmp392 += ints.tmp338 * -0.5 - tmp392 += ints.tmp344 * -0.5 - tmp392 += ints.tmp763 * -0.5 - r3new += einsum(r3, (0, 1, 2, 3, 4), tmp392, (3, 5), (0, 1, 2, 5, 4)) * -2 - del tmp392 - tmp340 = np.copy(f.oo) - tmp340 += ints.tmp335 * 2 - tmp340 += np.transpose(ints.tmp348, (1, 0)) * 2 - tmp340 += np.transpose(ints.tmp59, (1, 0)) - tmp340 += ints.tmp767 * 2 - tmp340 += ints.tmp338 * -1 - tmp340 += ints.tmp344 * -1 - tmp340 += ints.tmp763 * -1 - r3new += einsum(tmp340, (0, 1), r3, (2, 3, 4, 5, 0), (2, 3, 4, 5, 1)) * -1 - tmp228 = np.copy(f.ov) - tmp228 += ints.tmp321 * 2 - tmp228 += ints.tmp318 * -1 - r3new += einsum(tmp228, (0, 1), tmp177, (2, 3, 0, 4, 5), (4, 1, 5, 2, 3)) * -1 - tmp393 = np.copy(np.transpose(r2, (2, 0, 1))) * -1 - tmp393 += np.transpose(r2, (2, 1, 0)) - r3new += einsum(tmp393, (0, 1, 2), tmp228, (3, 4), (1, 4, 2, 0, 3)) - del tmp393 - r3new += einsum(tmp228, (0, 1), r2, (2, 3, 4), (3, 2, 1, 0, 4)) - r3new += einsum(r2, (0, 1, 2), tmp228, (3, 4), (4, 0, 1, 3, 2)) * -1 - r2new = einsum(r3, (0, 1, 2, 3, 4), ints.tmp143, (4, 2, 5, 1), (0, 5, 3)) - tmp91 = einsum(v.vvvv, (0, 1, 2, 3), r2, (1, 3, 4), (4, 0, 2)) - r2new += np.transpose(tmp91, (1, 2, 0)) - tmp105 = einsum(r3, (0, 1, 2, 3, 4), ints.tmp465, (4, 3, 5, 1), (5, 0, 2)) - r2new += np.transpose(tmp105, (1, 2, 0)) * -0.5 - r2new += einsum(ints.tmp942, (0, 1, 2, 3), tmp99, (0, 1, 4), (4, 3, 2)) - r2new += einsum(ints.tmp942, (0, 1, 2, 3), tmp249, (0, 1, 4), (3, 4, 2)) - tmp152 = einsum(t3, (0, 1, 2, 3, 4, 5), r3, (6, 5, 4, 1, 7), (7, 0, 2, 6, 3)) - r2new += einsum(v.ovov, (0, 1, 2, 3), tmp152, (4, 2, 0, 5, 3), (1, 5, 4)) * -1 - tmp28 = einsum(r3, (0, 1, 2, 3, 4), t3, (5, 6, 3, 7, 1, 2), (4, 5, 6, 0, 7)) - r2new += einsum(v.ovov, (0, 1, 2, 3), tmp28, (4, 0, 2, 5, 1), (3, 5, 4)) * -1 - r2new += einsum(r1, (0,), v.ovvv, (1, 2, 3, 0), (2, 3, 1)) * -1 - tmp250 = np.copy(ints.tmp140) * 4 - tmp250 += ints.tmp143 * 2 - tmp250 += ints.tmp138 * -2 - tmp250 += ints.tmp145 * -2 - tmp250 += v.ovvv - tmp250 += np.transpose(v.ovvv, (0, 2, 3, 1)) * -1 - r2new += einsum(tmp250, (0, 1, 2, 3), r3, (1, 4, 3, 0, 5), (4, 2, 5)) * -0.5 - r2new += einsum(r3, (0, 1, 2, 3, 4), tmp250, (4, 0, 5, 1), (5, 2, 3)) * 0.5 - del tmp250 - tmp251 = np.copy(ints.tmp140) - tmp251 += v.ovvv * 0.5 - tmp251 += ints.tmp138 * -0.5 - tmp251 += np.transpose(ints.tmp145, (0, 1, 3, 2)) * -0.5 - r2new += einsum(tmp251, (0, 1, 2, 3), r3, (4, 1, 2, 5, 0), (4, 3, 5)) * -2 - del tmp251 - tmp252 = np.copy(ints.tmp366) - tmp252 += ints.tmp382 - tmp252 += ints.tmp465 * 0.5 - tmp252 += ints.tmp578 * 0.5 - tmp252 += ints.tmp585 * 0.5 - tmp252 += ints.tmp371 * -2 - tmp252 += ints.tmp377 * -1 - tmp252 += ints.tmp592 * -0.5 - tmp252 += ints.tmp607 * -0.5 - tmp252 += np.transpose(v.ooov, (0, 2, 1, 3)) * 0.5 - tmp252 += np.transpose(v.ovoo, (0, 2, 3, 1)) * -0.5 - r2new += einsum(r3, (0, 1, 2, 3, 4), tmp252, (3, 4, 5, 1), (0, 2, 5)) - del tmp252 - tmp146 = np.copy(ints.tmp138) - tmp146 += np.transpose(ints.tmp145, (0, 1, 3, 2)) - tmp146 += ints.tmp140 * -2 - r2new += einsum(tmp146, (0, 1, 2, 3), r3, (4, 2, 1, 0, 5), (3, 4, 5)) * -1 - tmp253 = np.copy(ints.tmp143) - tmp253 += np.transpose(v.ovvv, (0, 2, 3, 1)) * -1 - r2new += einsum(tmp253, (0, 1, 2, 3), r3, (4, 1, 3, 0, 5), (2, 4, 5)) * -1 - del tmp253 - tmp254 = np.copy(ints.tmp371) * 2 - tmp254 += ints.tmp592 - tmp254 += np.transpose(v.ovoo, (0, 2, 3, 1)) - tmp254 += ints.tmp366 * -1 - tmp254 += ints.tmp382 * -1 - r2new += einsum(tmp254, (0, 1, 2, 3), r3, (4, 5, 3, 0, 1), (5, 4, 2)) * -1 - del tmp254 - tmp255 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1))) - tmp255 += np.transpose(v.ovov, (0, 2, 1, 3)) * -1 - tmp195 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) - tmp195 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) - tmp256 = einsum(r3, (0, 1, 2, 3, 4), tmp195, (4, 5, 6, 0, 7, 1), (3, 5, 6, 2, 7)) * -1 - r2new += einsum(tmp256, (0, 1, 2, 3, 4), tmp255, (2, 1, 5, 4), (5, 3, 0)) * -0.25 - del tmp256, tmp255 - tmp27 = einsum(r3, (0, 1, 2, 3, 4), t3, (5, 6, 4, 7, 2, 1), (3, 5, 6, 0, 7)) - tmp257 = np.copy(tmp27) - tmp74 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) - tmp74 += np.transpose(t3, (0, 2, 1, 3, 4, 5)) * -1 - tmp74 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) - tmp257 += einsum(tmp74, (0, 1, 2, 3, 4, 5), r3, (4, 6, 3, 0, 7), (7, 1, 2, 6, 5)) * 0.25 - r2new += einsum(v.ovov, (0, 1, 2, 3), tmp257, (4, 2, 0, 5, 3), (5, 1, 4)) - del tmp257 - tmp151 = einsum(r3, (0, 1, 2, 3, 4), t3, (5, 4, 6, 7, 1, 2), (3, 5, 6, 0, 7)) - tmp258 = np.copy(np.transpose(tmp151, (0, 2, 1, 3, 4))) * -1 - tmp154 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * 3 - tmp154 += np.transpose(t3, (0, 2, 1, 3, 4, 5)) * -1 - tmp154 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) - tmp258 += einsum(tmp154, (0, 1, 2, 3, 4, 5), r3, (4, 6, 3, 0, 7), (7, 2, 1, 6, 5)) * -0.25 - r2new += einsum(tmp258, (0, 1, 2, 3, 4), v.ovov, (1, 4, 2, 5), (3, 5, 0)) - del tmp258 - tmp259 = np.copy(ints.tmp465) - tmp259 += ints.tmp578 - tmp259 += ints.tmp377 * -1 - r2new += einsum(tmp259, (0, 1, 2, 3), r3, (4, 5, 3, 1, 0), (5, 4, 2)) * -1 - del tmp259 - tmp260 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1))) * 3 - tmp260 += np.transpose(v.ovov, (0, 2, 1, 3)) * -1 - tmp261 = einsum(t3, (0, 1, 2, 3, 4, 5), r3, (3, 5, 6, 7, 2), (7, 0, 1, 6, 4)) - r2new += einsum(tmp261, (0, 1, 2, 3, 4), tmp260, (2, 1, 5, 4), (5, 3, 0)) * 0.25 - del tmp261, tmp260 - tmp262 = np.copy(tmp30) - tmp31 = einsum(t2, (0, 1, 2, 3), r3, (2, 3, 4, 5, 6), (5, 6, 0, 1, 4)) - tmp262 += np.transpose(tmp31, (1, 0, 2, 3, 4)) * -0.5 - tmp262 += np.transpose(tmp31, (1, 0, 3, 2, 4)) * 0.5 - r2new += einsum(tmp262, (0, 1, 2, 3, 4), v.ooov, (3, 0, 2, 5), (5, 4, 1)) - del tmp262 - tmp264 = np.copy(tmp30) * 2 - tmp264 += np.transpose(tmp263, (1, 0, 2, 3, 4)) - tmp264 += np.transpose(tmp263, (1, 0, 3, 2, 4)) * -1 - del tmp263 - r2new += einsum(v.ooov, (0, 1, 2, 3), tmp264, (4, 1, 0, 2, 5), (5, 3, 4)) * -0.5 - del tmp264 - tmp302 = np.copy(np.transpose(tmp265, (1, 0, 3, 4, 2))) * -1 - del tmp265 - tmp302 += np.transpose(tmp266, (1, 0, 4, 3, 2)) * -1 - del tmp266 - tmp267 = einsum(r3, (0, 1, 2, 3, 4), t1, (5, 0), (3, 4, 5, 1, 2)) - tmp302 += einsum(tmp267, (0, 1, 2, 3, 4), v.ovoo, (5, 6, 2, 0), (5, 1, 6, 3, 4)) * 0.5 - tmp302 += np.transpose(tmp268, (1, 0, 3, 4, 2)) * -1 - del tmp268 - tmp302 += einsum(v.ovoo, (0, 1, 2, 3), tmp267, (4, 3, 2, 5, 6), (0, 4, 6, 1, 5)) * -0.5 - del tmp267 - tmp302 += np.transpose(tmp269, (1, 0, 2, 4, 3)) * -0.5 - del tmp269 - tmp302 += tmp92 - tmp302 += np.transpose(tmp92, (0, 1, 4, 2, 3)) - tmp302 += np.transpose(tmp92, (1, 0, 4, 3, 2)) - tmp302 += tmp80 * -2 - tmp302 += np.transpose(tmp80, (0, 1, 2, 4, 3)) - tmp302 += np.transpose(tmp80, (1, 0, 3, 4, 2)) - tmp270 = np.copy(ints.tmp694) - tmp270 += np.transpose(v.oooo, (0, 2, 1, 3)) - tmp271 = einsum(r3, (0, 1, 2, 3, 4), tmp270, (3, 4, 5, 6), (5, 6, 0, 1, 2)) * 0.5 - del tmp270 - tmp302 += np.transpose(tmp271, (0, 1, 4, 2, 3)) * -1 - tmp302 += np.transpose(tmp271, (1, 0, 4, 2, 3)) - del tmp271 - tmp302 += np.transpose(tmp272, (0, 1, 4, 2, 3)) - tmp302 += np.transpose(tmp272, (1, 0, 2, 3, 4)) * -1 - tmp302 += np.transpose(tmp272, (1, 0, 4, 2, 3)) * -1 - del tmp272 - tmp273 = einsum(r3, (0, 1, 2, 3, 4), v.oovv, (5, 4, 6, 1), (3, 5, 0, 2, 6)) - tmp275 = np.copy(tmp273) - del tmp273 - tmp1 = np.copy(ints.tmp304) - tmp1 += ints.tmp308 - tmp1 += ints.tmp313 * -2 - tmp274 = einsum(r3, (0, 1, 2, 3, 4), tmp1, (3, 5, 2, 6), (4, 5, 0, 1, 6)) - tmp275 += np.transpose(tmp274, (1, 0, 4, 2, 3)) * -1 - del tmp274 - tmp302 += np.transpose(tmp275, (0, 1, 3, 2, 4)) - tmp302 += np.transpose(tmp275, (1, 0, 3, 4, 2)) - del tmp275 - tmp278 = np.copy(tmp276) * -1 - del tmp276 - tmp278 += tmp13 - tmp184 = einsum(t1, (0, 1), tmp183, (2, 3, 0, 4, 1, 5, 6), (2, 3, 4, 5, 6)) - del tmp183 - tmp278 += tmp184 * -1 - tmp172 = np.copy(tmp30) - tmp172 += tmp171 - del tmp171 - tmp277 = einsum(v.ovov, (0, 1, 2, 3), tmp172, (4, 5, 2, 0, 6), (4, 5, 1, 3, 6)) - tmp278 += np.transpose(tmp277, (0, 1, 4, 3, 2)) - del tmp277 - tmp302 += tmp278 * -1 - tmp302 += np.transpose(tmp278, (1, 0, 4, 2, 3)) - del tmp278 - tmp302 += tmp279 - tmp302 += np.transpose(tmp279, (1, 0, 2, 4, 3)) - tmp302 += np.transpose(tmp279, (1, 0, 4, 3, 2)) - del tmp279 - tmp302 += np.transpose(tmp280, (0, 1, 3, 2, 4)) * -1 - tmp302 += np.transpose(tmp280, (1, 0, 4, 2, 3)) * -1 - tmp302 += np.transpose(tmp280, (1, 0, 3, 4, 2)) * -1 - del tmp280 - tmp302 += np.transpose(tmp286, (0, 1, 3, 2, 4)) * -1 - tmp302 += np.transpose(tmp286, (0, 1, 4, 2, 3)) - del tmp286 - tmp14 = einsum(v.vvvv, (0, 1, 2, 3), r3, (1, 3, 4, 5, 6), (5, 6, 4, 0, 2)) - tmp288 = np.copy(tmp14) * 0.5 - tmp176 = einsum(t1, (0, 1), tmp175, (2, 3, 0, 1, 4, 5, 6), (2, 3, 4, 5, 6)) - tmp288 += tmp176 * -1 - tmp179 = np.copy(tmp31) - tmp178 = einsum(t1, (0, 1), tmp177, (2, 3, 4, 1, 5), (2, 3, 0, 4, 5)) - tmp179 += tmp178 - del tmp178 - tmp287 = einsum(v.ovov, (0, 1, 2, 3), tmp179, (4, 5, 2, 0, 6), (4, 5, 1, 3, 6)) * 0.5 - tmp288 += np.transpose(tmp287, (0, 1, 4, 3, 2)) - del tmp287 - tmp302 += np.transpose(tmp288, (1, 0, 2, 3, 4)) - tmp302 += np.transpose(tmp288, (1, 0, 2, 4, 3)) * -1 - del tmp288 - tmp302 += np.transpose(tmp182, (1, 0, 4, 2, 3)) - tmp302 += np.transpose(tmp182, (1, 0, 3, 4, 2)) * 0.5 - tmp302 += np.transpose(tmp289, (1, 0, 2, 4, 3)) * -1 - tmp302 += np.transpose(tmp289, (1, 0, 4, 3, 2)) * -0.5 - del tmp289 - tmp302 += np.transpose(tmp185, (0, 1, 2, 4, 3)) - tmp302 += np.transpose(tmp185, (1, 0, 3, 2, 4)) * -1 - tmp302 += np.transpose(tmp290, (0, 1, 2, 4, 3)) * -1 - tmp302 += np.transpose(tmp290, (1, 0, 2, 4, 3)) * 1.5 - del tmp290 - tmp302 += np.transpose(tmp186, (0, 1, 4, 2, 3)) * 0.5 - tmp302 += np.transpose(tmp186, (1, 0, 2, 4, 3)) * 2 - tmp94 = einsum(r3, (0, 1, 2, 3, 4), t2, (4, 3, 5, 0), (1, 2, 5)) - tmp187 = einsum(tmp94, (0, 1, 2), v.ovov, (3, 4, 5, 2), (3, 5, 0, 1, 4)) - tmp302 += np.transpose(tmp187, (0, 1, 4, 2, 3)) - tmp302 += np.transpose(tmp187, (0, 1, 3, 4, 2)) * 0.5 - tmp302 += np.transpose(tmp187, (1, 0, 3, 4, 2)) * -0.5 - tmp107 = einsum(r3, (0, 1, 2, 3, 4), t2, (4, 3, 0, 5), (1, 2, 5)) - tmp188 = einsum(v.ovov, (0, 1, 2, 3), tmp107, (4, 5, 3), (0, 2, 4, 5, 1)) - tmp302 += np.transpose(tmp188, (0, 1, 3, 4, 2)) * -0.5 - tmp302 += np.transpose(tmp188, (1, 0, 3, 4, 2)) * 0.5 - tmp302 += np.transpose(tmp291, (0, 1, 4, 2, 3)) * -0.5 - tmp302 += np.transpose(tmp291, (1, 0, 2, 4, 3)) * -1 - del tmp291 - tmp292 = np.copy(ints.tmp301) - tmp292 += ints.tmp313 * 2 - tmp292 += ints.tmp304 * -1 - tmp292 += ints.tmp308 * -1 - tmp302 += einsum(r3, (0, 1, 2, 3, 4), tmp292, (4, 5, 0, 6), (5, 3, 2, 6, 1)) - tmp293 = np.copy(np.transpose(r3, (3, 4, 0, 1, 2))) - tmp293 += np.transpose(r3, (4, 3, 1, 0, 2)) - tmp66 = np.copy(ints.tmp304) * 0.5 - tmp66 += ints.tmp308 * 0.5 - tmp66 += ints.tmp313 * -1 - tmp302 += einsum(tmp66, (0, 1, 2, 3), tmp293, (0, 4, 2, 5, 6), (1, 4, 3, 5, 6)) * 2 - del tmp293 - tmp302 += einsum(tmp292, (0, 1, 2, 3), r3, (4, 2, 5, 0, 6), (6, 1, 5, 4, 3)) - del tmp292 - tmp295 = np.copy(np.transpose(r3, (3, 4, 0, 1, 2))) * -1 - tmp295 += np.transpose(r3, (4, 3, 2, 0, 1)) - tmp294 = np.copy(ints.tmp301) - tmp294 += ints.tmp313 * 4 - del ints.tmp313 - tmp294 += np.transpose(v.ovov, (0, 2, 1, 3)) * 2 - tmp294 += ints.tmp304 * -2 - del ints.tmp304 - tmp294 += ints.tmp308 * -2 - del ints.tmp308 - tmp294 += v.oovv * -1 - tmp302 += einsum(tmp294, (0, 1, 2, 3), tmp295, (0, 4, 5, 6, 2), (1, 4, 5, 6, 3)) - del tmp294 - tmp297 = np.copy(np.transpose(tmp175, (0, 1, 2, 4, 3, 6, 5))) * -0.5 - del tmp175 - tmp296 = np.copy(np.transpose(r3, (3, 4, 0, 1, 2))) * 2 - tmp296 += np.transpose(r3, (3, 4, 2, 0, 1)) - tmp297 += einsum(v.ovvv, (0, 1, 2, 3), tmp296, (4, 5, 6, 7, 3), (4, 5, 0, 6, 7, 1, 2)) * 0.5 - del tmp296 - tmp302 += einsum(t1, (0, 1), tmp297, (2, 0, 3, 4, 5, 1, 6), (2, 3, 4, 5, 6)) - del tmp297 - tmp298 = np.copy(ints.tmp942) * -1 - tmp298 += np.transpose(ints.tmp942, (0, 2, 1, 3)) - tmp302 += einsum(tmp298, (0, 1, 2, 3), tmp177, (4, 0, 2, 5, 6), (4, 1, 6, 5, 3)) * -0.5 - del tmp177, tmp298 - tmp299 = np.copy(ints.tmp694) - tmp299 += np.transpose(ints.tmp953, (1, 0, 2, 3)) - del ints.tmp953 - tmp299 += np.transpose(v.oooo, (0, 2, 1, 3)) - tmp302 += einsum(r3, (0, 1, 2, 3, 4), tmp299, (3, 4, 5, 6), (5, 6, 0, 1, 2)) * -1 - del tmp299 - tmp302 += np.transpose(tmp301, (1, 0, 2, 4, 3)) * -1 - del tmp301 - tmp165 = np.copy(np.transpose(r3, (3, 4, 0, 1, 2))) - tmp165 += np.transpose(r3, (4, 3, 2, 0, 1)) * -1 - tmp302 += einsum(tmp165, (0, 1, 2, 3, 4), ints.tmp301, (0, 5, 2, 6), (5, 1, 6, 3, 4)) * -1 - r2new += einsum(tmp302, (0, 1, 2, 3, 4), t1, (0, 4), (3, 2, 1)) * -1 - del tmp302 - tmp304 = np.copy(f.ov) - tmp304 += ints.tmp123 - tmp304 += ints.tmp132 * 2 - tmp304 += ints.tmp190 * 0.5 - tmp304 += ints.tmp196 * 1.5 - tmp304 += ints.tmp199 * 0.5 - tmp304 += ints.tmp964 - del ints.tmp964 - tmp304 += ints.tmp126 * -2 - tmp304 += ints.tmp135 * -1 - tmp304 += ints.tmp193 * -0.5 - tmp303 = np.copy(ints.tmp119) - tmp303 += ints.tmp76 * 2 - tmp303 += ints.tmp121 * -2 - tmp303 += np.transpose(ints.tmp78, (1, 0)) * -1 - tmp304 += einsum(t1, (0, 1), tmp303, (2, 1), (0, 2)) - del tmp303 - r2new += einsum(tmp295, (0, 1, 2, 3, 4), tmp304, (0, 4), (3, 2, 1)) * -1 - del tmp304 - tmp217 = np.copy(np.transpose(r3, (3, 4, 0, 1, 2))) * 0.5 - tmp217 += np.transpose(r3, (3, 4, 1, 2, 0)) - tmp217 += np.transpose(r3, (3, 4, 2, 1, 0)) * -1.5 - tmp218 = einsum(tmp217, (0, 1, 2, 3, 4), t2, (0, 1, 2, 5), (5, 3, 4)) - tmp221 = np.copy(np.transpose(tmp218, (2, 1, 0))) * -1 - del tmp218 - tmp219 = np.copy(np.transpose(r3, (3, 4, 0, 1, 2))) * 0.25 - tmp219 += np.transpose(r3, (3, 4, 1, 2, 0)) - tmp219 += np.transpose(r3, (3, 4, 2, 1, 0)) * -0.25 - tmp220 = einsum(t2, (0, 1, 2, 3), tmp219, (0, 1, 3, 4, 5), (2, 4, 5)) * 2 - tmp221 += np.transpose(tmp220, (2, 1, 0)) - del tmp220 - r2new += einsum(v.ovvv, (0, 1, 2, 3), tmp221, (4, 2, 3), (1, 4, 0)) - tmp306 = np.copy(np.transpose(r2, (2, 0, 1))) * 0.6666666666666666 - tmp306 += np.transpose(r2, (2, 1, 0)) * -1.3333333333333333 - tmp305 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * 6 - tmp305 += np.transpose(t3, (0, 2, 1, 3, 4, 5)) * -2 - tmp305 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) * 2 - tmp305 += t3 * 3 - tmp305 += np.transpose(t3, (1, 0, 2, 3, 5, 4)) - tmp305 += np.transpose(t3, (1, 0, 2, 3, 4, 5)) * -1 - tmp305 += np.transpose(t3, (1, 0, 2, 4, 3, 5)) * 5 - tmp306 += einsum(r3, (0, 1, 2, 3, 4), tmp305, (3, 5, 4, 2, 6, 1), (5, 0, 6)) * -0.16666666666666666 - del tmp305 - tmp238 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) - tmp238 += np.transpose(t3, (0, 2, 1, 3, 4, 5)) * -1 - tmp238 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) - tmp238 += t3 - tmp306 += einsum(r3, (0, 1, 2, 3, 4), tmp238, (3, 5, 4, 0, 6, 1), (5, 2, 6)) * 0.16666666666666666 - r2new += einsum(tmp306, (0, 1, 2), v.ovov, (3, 4, 0, 2), (4, 1, 3)) * -1.5 - del tmp306 - tmp307 = np.copy(tmp94) * 2 - tmp42 = np.copy(np.transpose(t2, (0, 1, 3, 2))) - tmp42 += t2 * -1 - tmp307 += einsum(r3, (0, 1, 2, 3, 4), tmp42, (3, 4, 5, 1), (0, 2, 5)) * -1 - r2new += einsum(v.ovvv, (0, 1, 2, 3), tmp307, (4, 3, 1), (4, 2, 0)) * 0.5 - del tmp307 - tmp309 = np.copy(tmp49) * 2 - tmp309 += einsum(r3, (0, 1, 2, 3, 4), tmp308, (3, 4, 5, 0), (2, 1, 5)) - r2new += einsum(v.ovvv, (0, 1, 2, 3), tmp309, (4, 3, 1), (2, 4, 0)) * -0.5 - del tmp309 - tmp70 = np.copy(np.transpose(r2, (2, 0, 1))) * -0.5 - tmp70 += np.transpose(r2, (2, 1, 0)) - r2new += einsum(tmp1, (0, 1, 2, 3), tmp70, (0, 4, 2), (3, 4, 1)) * -2 - tmp311 = einsum(tmp74, (0, 1, 2, 3, 4, 5), r3, (3, 5, 6, 0, 2), (1, 6, 4)) - tmp310 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * 1.3333333333333333 - tmp310 += t3 - tmp311 += einsum(r3, (0, 1, 2, 3, 4), tmp310, (4, 5, 3, 1, 6, 2), (5, 0, 6)) * -3 - del tmp310 - r2new += einsum(v.ovov, (0, 1, 2, 3), tmp311, (2, 4, 1), (3, 4, 0)) * 0.25 - del tmp311 - tmp231 = np.copy(f.oo) - tmp231 += np.transpose(ints.tmp335, (1, 0)) * 2 - del ints.tmp335 - tmp231 += np.transpose(ints.tmp348, (1, 0)) * 2 - del ints.tmp348 - tmp231 += np.transpose(ints.tmp767, (1, 0)) * 2 - del ints.tmp767 - tmp231 += np.transpose(ints.tmp338, (1, 0)) * -1 - del ints.tmp338 - tmp231 += np.transpose(ints.tmp344, (1, 0)) * -1 - del ints.tmp344 - tmp231 += np.transpose(ints.tmp763, (1, 0)) * -1 - del ints.tmp763 - tmp312 = einsum(tmp295, (0, 1, 2, 3, 4), t1, (5, 4), (5, 0, 1, 2, 3)) - del tmp295 - r2new += einsum(tmp312, (0, 1, 2, 3, 4), tmp231, (0, 1), (4, 3, 2)) - tmp313 = einsum(t2, (0, 1, 2, 3), r3, (3, 4, 2, 5, 1), (5, 0, 4)) - tmp315 = np.copy(tmp313) * 2 - tmp314 = einsum(r3, (0, 1, 2, 3, 4), tmp42, (3, 5, 2, 0), (4, 5, 1)) - tmp315 += tmp314 * -1 - r2new += einsum(tmp315, (0, 1, 2), v.ovvv, (1, 3, 4, 2), (4, 3, 0)) * -0.5 - del tmp315 - tmp131 = einsum(t2, (0, 1, 2, 3), r3, (3, 2, 4, 1, 5), (5, 0, 4)) - tmp317 = np.copy(tmp131) - tmp316 = einsum(tmp308, (0, 1, 2, 3), r3, (3, 2, 4, 5, 0), (5, 1, 4)) * 0.5 - tmp317 += tmp316 - r2new += einsum(v.ovvv, (0, 1, 2, 3), tmp317, (4, 0, 3), (1, 2, 4)) - del tmp317 - tmp2 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * -0.5 - tmp2 += t2 - tmp19 = np.copy(np.transpose(r3, (3, 4, 0, 1, 2))) * -1 - tmp19 += np.transpose(r3, (4, 3, 1, 2, 0)) - tmp318 = einsum(tmp19, (0, 1, 2, 3, 4), tmp2, (1, 5, 3, 6), (0, 5, 4, 2, 6)) * 2 - r2new += einsum(tmp318, (0, 1, 2, 3, 4), f.ov, (1, 4), (3, 2, 0)) - del tmp318 - tmp232 = np.copy(np.transpose(r3, (3, 4, 0, 1, 2))) * 4 - tmp232 += np.transpose(r3, (3, 4, 2, 0, 1)) - tmp232 += np.transpose(r3, (4, 3, 0, 1, 2)) * -1 - tmp233 = einsum(tmp232, (0, 1, 2, 3, 4), t2, (5, 0, 3, 4), (5, 1, 2)) * 0.5 - tmp237 = np.copy(np.transpose(tmp233, (1, 0, 2))) - del tmp233 - tmp234 = np.copy(np.transpose(r3, (3, 4, 0, 1, 2))) * 0.6666666666666666 - tmp234 += np.transpose(r3, (3, 4, 2, 0, 1)) * 0.3333333333333333 - tmp234 += np.transpose(r3, (4, 3, 0, 1, 2)) * -1 - tmp235 = einsum(tmp234, (0, 1, 2, 3, 4), t2, (5, 0, 4, 3), (5, 1, 2)) * 1.5 - tmp237 += np.transpose(tmp235, (1, 0, 2)) * -1 - del tmp235 - tmp236 = einsum(tmp70, (0, 1, 2), t1, (3, 2), (3, 0, 1)) * 2 - tmp237 += np.transpose(tmp236, (1, 0, 2)) - del tmp236 - r2new += einsum(v.ovoo, (0, 1, 2, 3), tmp237, (2, 3, 4), (1, 4, 0)) * -1 - tmp98 = einsum(r2, (0, 1, 2), t2, (3, 4, 0, 1), (2, 3, 4)) - tmp320 = np.copy(tmp98) * 2 - tmp320 += einsum(t3, (0, 1, 2, 3, 4, 5), r3, (3, 5, 4, 6, 2), (6, 0, 1)) * -1 - tmp319 = np.copy(tmp99) - tmp319 += tmp313 - del tmp313 - tmp319 += einsum(r3, (0, 1, 2, 3, 4), tmp42, (3, 5, 2, 0), (4, 5, 1)) * -0.5 - tmp320 += einsum(tmp319, (0, 1, 2), t1, (3, 2), (0, 3, 1)) * 2 - del tmp319 - r2new += einsum(v.ovov, (0, 1, 2, 3), tmp320, (4, 2, 0), (3, 1, 4)) * 0.49999999999997996 - del tmp320 - tmp321 = einsum(tmp232, (0, 1, 2, 3, 4), t2, (5, 0, 3, 4), (1, 5, 2)) - tmp321 += einsum(tmp234, (0, 1, 2, 3, 4), t2, (5, 0, 4, 3), (1, 5, 2)) * -3 - r2new += einsum(tmp321, (0, 1, 2), ints.tmp942, (0, 3, 1, 4), (4, 2, 3)) * -0.5 - del tmp321 - tmp322 = einsum(r3, (0, 1, 2, 3, 4), t3, (3, 5, 4, 6, 2, 1), (5, 0, 6)) - tmp322 += einsum(r3, (0, 1, 2, 3, 4), t3, (5, 4, 3, 0, 6, 2), (5, 1, 6)) * -1 - r2new += einsum(tmp322, (0, 1, 2), v.ovov, (3, 2, 0, 4), (1, 4, 3)) * -0.5 - del tmp322 - r2new += einsum(r2, (0, 1, 2), tmp300, (2, 3, 0, 4), (4, 1, 3)) - r2new += einsum(r2, (0, 1, 2), tmp300, (2, 3, 1, 4), (0, 4, 3)) - del tmp300 - tmp130 = einsum(r3, (0, 1, 2, 3, 4), t3, (5, 6, 3, 0, 1, 2), (4, 5, 6)) - tmp325 = np.copy(tmp130) * -1 - tmp324 = np.copy(tmp131) * 2 - tmp324 += tmp323 - del tmp323 - tmp325 += einsum(tmp324, (0, 1, 2), t1, (3, 2), (0, 3, 1)) - del tmp324 - r2new += einsum(v.ovov, (0, 1, 2, 3), tmp325, (4, 2, 0), (1, 3, 4)) * -0.49999999999997996 - del tmp325 - tmp327 = np.copy(tmp249) - tmp327 += tmp326 - tmp327 += einsum(tmp308, (0, 1, 2, 3), r3, (3, 2, 4, 0, 5), (5, 1, 4)) * 0.5 - r2new += einsum(v.ooov, (0, 1, 2, 3), tmp327, (1, 2, 4), (3, 4, 0)) - del tmp327 - tmp329 = np.copy(tmp99) * 2 - tmp329 += tmp328 * 2 - tmp329 += tmp314 * -1 - r2new += einsum(v.ooov, (0, 1, 2, 3), tmp329, (1, 2, 4), (4, 3, 0)) * 0.5 - del tmp329 - tmp330 = np.copy(tmp326) * 2 - tmp330 += einsum(tmp308, (0, 1, 2, 3), r3, (3, 2, 4, 0, 5), (5, 1, 4)) - r2new += einsum(ints.tmp942, (0, 1, 2, 3), tmp330, (0, 1, 4), (3, 4, 2)) * 0.5 - del tmp330 - tmp331 = np.copy(tmp328) * 2 - del tmp328 - tmp331 += tmp314 * -1 - del tmp314 - r2new += einsum(ints.tmp942, (0, 1, 2, 3), tmp331, (0, 1, 4), (4, 3, 2)) * 0.5 - del tmp331 - tmp241 = einsum(tmp70, (0, 1, 2), t1, (3, 2), (3, 0, 1)) - r2new += einsum(ints.tmp942, (0, 1, 2, 3), tmp241, (2, 0, 4), (3, 4, 1)) * -2 - del ints.tmp942 - r2new += einsum(tmp312, (0, 1, 2, 3, 4), ints.tmp59, (0, 1), (4, 3, 2)) - del tmp312 - tmp332 = np.copy(tmp49) * 2 - tmp332 += einsum(r3, (0, 1, 2, 3, 4), tmp308, (3, 4, 5, 1), (2, 0, 5)) * -1 - r2new += einsum(tmp332, (0, 1, 2), tmp228, (3, 2), (1, 0, 3)) * -0.5 - del tmp332 - r2new += einsum(r2, (0, 1, 2), tmp333, (0, 3), (3, 1, 2)) - r2new += einsum(tmp333, (0, 1), r2, (2, 0, 3), (2, 1, 3)) - del tmp333 - tmp334 = np.copy(f.ov) * 0.5 - tmp334 += ints.tmp321 - tmp334 += ints.tmp318 * -0.5 - tmp336 = np.copy(tmp99) - tmp336 += tmp335 * -1 - del tmp335 - tmp336 += einsum(tmp308, (0, 1, 2, 3), r3, (3, 4, 2, 0, 5), (5, 1, 4)) * 0.5 - del tmp308 - r2new += einsum(tmp334, (0, 1), tmp336, (2, 0, 3), (3, 1, 2)) * -2 - del tmp336 - tmp337 = np.copy(tmp249) - del tmp249 - tmp337 += tmp326 - del tmp326 - tmp337 += tmp316 * -1 - del tmp316 - r2new += einsum(tmp337, (0, 1, 2), tmp334, (1, 3), (3, 2, 0)) * -2 - del tmp334, tmp337 - tmp243 = einsum(t1, (0, 1), r1, (1,), (0,)) - tmp339 = np.copy(tmp243) * 6 - tmp338 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * -8 - tmp338 += np.transpose(t3, (0, 2, 1, 3, 4, 5)) * 2 - tmp338 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) * -2 - tmp338 += np.transpose(t3, (0, 1, 2, 4, 3, 5)) * 3 - tmp338 += np.transpose(t3, (1, 0, 2, 3, 5, 4)) * -1 - tmp338 += np.transpose(t3, (1, 0, 2, 3, 4, 5)) - tmp338 += np.transpose(t3, (1, 0, 2, 4, 3, 5)) * -1 - tmp339 += einsum(tmp338, (0, 1, 2, 3, 4, 5), r3, (4, 5, 3, 0, 2), (1,)) * 0.5 - del tmp338 - tmp11 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * 2 - tmp11 += t2 * -1 - tmp339 += einsum(r2, (0, 1, 2), tmp11, (2, 3, 1, 0), (3,)) * -6 - r2new += einsum(tmp339, (0,), v.ovov, (1, 2, 0, 3), (2, 3, 1)) * 0.16666666666666 - del tmp339 - r2new += einsum(r2, (0, 1, 2), tmp340, (2, 3), (0, 1, 3)) * -1 - del tmp340 - r2new += einsum(tmp228, (0, 1), r1, (2,), (1, 2, 0)) * -1 - r1new = einsum(ints.tmp249, (0, 1, 2, 3), r3, (4, 3, 2, 1, 0), (4,)) - r1new += einsum(r2, (0, 1, 2), v.ovvv, (2, 0, 3, 1), (3,)) * -2 - tmp0 = einsum(ints.tmp301, (0, 1, 2, 3), t2, (4, 1, 3, 5), (0, 4, 2, 5)) - r1new += einsum(r3, (0, 1, 2, 3, 4), tmp0, (4, 3, 1, 0), (2,)) * -0.5 - tmp4 = np.copy(np.transpose(r3, (3, 4, 0, 1, 2))) * 0.25 - tmp4 += np.transpose(r3, (3, 4, 0, 2, 1)) * -1 - tmp4 += np.transpose(r3, (3, 4, 2, 0, 1)) * 0.25 - tmp3 = einsum(t2, (0, 1, 2, 3), ints.tmp301, (4, 1, 5, 3), (4, 0, 5, 2)) - tmp3 += einsum(tmp2, (0, 1, 2, 3), tmp1, (4, 0, 5, 2), (4, 1, 5, 3)) * -2 - del tmp2 - r1new += einsum(tmp4, (0, 1, 2, 3, 4), tmp3, (1, 0, 4, 3), (2,)) * 2 - del tmp4, tmp3 - tmp5 = np.copy(np.transpose(ints.tmp249, (1, 0, 2, 3))) * 1.5 - tmp5 += np.transpose(ints.tmp257, (1, 0, 2, 3)) * 0.5 - tmp5 += np.transpose(ints.tmp265, (1, 0, 2, 3)) - tmp5 += np.transpose(ints.tmp253, (1, 0, 2, 3)) * -0.5 - tmp5 += tmp0 - tmp5 += np.transpose(v.ovov, (0, 2, 3, 1)) * 0.75 - tmp5 += np.transpose(v.ovov, (0, 2, 1, 3)) * -1.75 - r1new += einsum(tmp5, (0, 1, 2, 3), r3, (4, 2, 3, 1, 0), (4,)) - del tmp5 - tmp6 = np.copy(ints.tmp249) - tmp6 += ints.tmp257 - tmp6 += ints.tmp265 - tmp6 += ints.tmp253 * -1 - tmp6 += np.transpose(v.ovov, (0, 2, 3, 1)) * -0.5 - tmp6 += np.transpose(v.ovov, (0, 2, 1, 3)) * 0.5 - r1new += einsum(tmp6, (0, 1, 2, 3), r3, (2, 3, 4, 0, 1), (4,)) * 0.5 - del tmp6 - tmp7 = np.copy(np.transpose(r3, (3, 4, 0, 1, 2))) * 2 - tmp7 += np.transpose(r3, (3, 4, 0, 2, 1)) * -1 - tmp7 += np.transpose(r3, (3, 4, 2, 0, 1)) - tmp7 += np.transpose(r3, (4, 3, 0, 1, 2)) * -1 - tmp7 += np.transpose(r3, (4, 3, 0, 2, 1)) - tmp9 = einsum(tmp7, (0, 1, 2, 3, 4), t2, (5, 0, 3, 6), (1, 5, 2, 4, 6)) - tmp8 = np.copy(np.transpose(r3, (3, 4, 0, 1, 2))) * -0.5 - tmp8 += np.transpose(r3, (3, 4, 0, 2, 1)) - tmp8 += np.transpose(r3, (3, 4, 2, 0, 1)) * -0.5 - tmp8 += np.transpose(r3, (4, 3, 0, 1, 2)) - tmp9 += einsum(tmp8, (0, 1, 2, 3, 4), t2, (5, 0, 6, 3), (1, 5, 2, 4, 6)) * 2 - r1new += einsum(tmp9, (0, 1, 2, 3, 4), v.oovv, (0, 1, 3, 4), (2,)) - del tmp9 - tmp10 = np.copy(np.transpose(ints.tmp249, (1, 0, 2, 3))) - tmp10 += np.transpose(ints.tmp257, (1, 0, 2, 3)) * 3 - tmp10 += np.transpose(ints.tmp265, (1, 0, 2, 3)) - del ints.tmp265 - tmp10 += np.transpose(ints.tmp253, (1, 0, 2, 3)) * -1 - tmp10 += tmp0 * 3 - del tmp0 - r1new += einsum(r3, (0, 1, 2, 3, 4), tmp10, (4, 3, 2, 1), (0,)) * -0.5 - del tmp10 - tmp12 = einsum(tmp11, (0, 1, 2, 3), tmp8, (0, 4, 5, 3, 6), (4, 1, 5, 6, 2)) * -2 - del tmp8 - r1new += einsum(tmp12, (0, 1, 2, 3, 4), v.ovov, (0, 3, 1, 4), (2,)) - del tmp12 - tmp15 = np.copy(tmp13) * 7 - tmp15 += np.transpose(tmp13, (0, 1, 2, 4, 3)) * -3 - tmp15 += tmp14 - tmp15 += np.transpose(tmp14, (0, 1, 2, 4, 3)) * -1 - r1new += einsum(t2, (0, 1, 2, 3), tmp15, (0, 1, 4, 3, 2), (4,)) * -0.25 - del tmp15 - tmp16 = np.copy(ints.tmp249) - del ints.tmp249 - tmp16 += ints.tmp257 * 3 - del ints.tmp257 - tmp16 += ints.tmp253 * -1 - del ints.tmp253 - r1new += einsum(r3, (0, 1, 2, 3, 4), tmp16, (4, 3, 1, 2), (0,)) * -0.5 - del tmp16 - tmp17 = np.copy(v.ooov) - tmp17 += np.transpose(v.ovoo, (0, 2, 3, 1)) * -1 - tmp18 = np.copy(np.transpose(r3, (3, 4, 0, 1, 2))) - tmp18 += np.transpose(r3, (3, 4, 2, 0, 1)) * 0.5 - tmp20 = einsum(tmp18, (0, 1, 2, 3, 4), t3, (5, 6, 0, 7, 4, 3), (1, 5, 6, 2, 7)) * 2 - del tmp18 - tmp20 += einsum(tmp19, (0, 1, 2, 3, 4), t3, (5, 6, 0, 7, 2, 3), (1, 5, 6, 4, 7)) - r1new += einsum(tmp20, (0, 1, 2, 3, 4), tmp17, (1, 0, 2, 4), (3,)) * 0.25 - del tmp20 - tmp21 = np.copy(v.ooov) * 3 - tmp21 += np.transpose(v.ovoo, (0, 2, 3, 1)) * -1 - tmp22 = np.copy(np.transpose(r3, (3, 4, 0, 1, 2))) - tmp22 += np.transpose(r3, (3, 4, 1, 2, 0)) * 2 - tmp22 += np.transpose(r3, (4, 3, 1, 2, 0)) * -1 - tmp23 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp22, (2, 6, 5, 3, 7), (6, 0, 1, 7, 4)) * -1 - del tmp22 - r1new += einsum(tmp23, (0, 1, 2, 3, 4), tmp21, (1, 0, 2, 4), (3,)) * 0.25 - del tmp23, tmp21 - tmp24 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * 2 - tmp24 += np.transpose(t3, (1, 0, 2, 4, 3, 5)) - tmp26 = einsum(r3, (0, 1, 2, 3, 4), tmp24, (5, 6, 3, 1, 7, 2), (4, 6, 5, 0, 7)) * -0.5 - del tmp24 - tmp25 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) - tmp25 += np.transpose(t3, (1, 0, 2, 4, 3, 5)) * 4 - tmp26 += einsum(tmp25, (0, 1, 2, 3, 4, 5), r3, (6, 3, 5, 7, 0), (7, 1, 2, 6, 4)) * -0.25 - del tmp25 - r1new += einsum(tmp26, (0, 1, 2, 3, 4), v.ooov, (1, 0, 2, 4), (3,)) - del tmp26 - tmp29 = np.copy(tmp27) * 0.8333333333333334 - del tmp27 - tmp29 += tmp28 - del tmp28 - r1new += einsum(v.ooov, (0, 1, 2, 3), tmp29, (1, 2, 0, 4, 3), (4,)) * 1.5 - del tmp29 - tmp32 = np.copy(tmp30) * -3 - tmp32 += np.transpose(tmp30, (0, 1, 3, 2, 4)) * 7 - tmp32 += tmp31 * -1 - tmp32 += np.transpose(tmp31, (0, 1, 3, 2, 4)) - r1new += einsum(ints.tmp694, (0, 1, 2, 3), tmp32, (0, 1, 2, 3, 4), (4,)) * -0.25 - del tmp32 - tmp35 = np.copy(np.transpose(r2, (2, 0, 1))) * 4 - tmp33 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) - tmp33 += np.transpose(t3, (0, 2, 1, 3, 4, 5)) * -1 - tmp33 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) * 3 - tmp33 += t3 * 1.5 - tmp33 += np.transpose(t3, (1, 0, 2, 3, 5, 4)) * 2.5 - tmp33 += np.transpose(t3, (1, 0, 2, 3, 4, 5)) * -0.5 - tmp33 += np.transpose(t3, (1, 0, 2, 4, 3, 5)) * 0.5 - tmp35 += einsum(r3, (0, 1, 2, 3, 4), tmp33, (3, 5, 4, 1, 6, 0), (5, 2, 6)) * -2 - del tmp33 - tmp34 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * -1 - tmp34 += np.transpose(t3, (0, 2, 1, 3, 4, 5)) - tmp34 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) * -1 - tmp34 += t3 * -1 - tmp35 += einsum(tmp34, (0, 1, 2, 3, 4, 5), r3, (3, 6, 5, 0, 2), (1, 6, 4)) - del tmp34 - r1new += einsum(tmp35, (0, 1, 2), v.ovvv, (0, 2, 3, 1), (3,)) * 0.25 - del tmp35 - tmp36 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * 0.2 - tmp36 += np.transpose(t3, (0, 2, 1, 3, 4, 5)) * -0.2 - tmp36 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) - tmp36 += t3 * 0.2 - tmp36 += np.transpose(t3, (1, 0, 2, 3, 5, 4)) * 0.2 - tmp36 += np.transpose(t3, (1, 0, 2, 3, 4, 5)) * -0.2 - tmp36 += np.transpose(t3, (1, 0, 2, 4, 3, 5)) * 0.2 - tmp38 = einsum(tmp36, (0, 1, 2, 3, 4, 5), r3, (5, 3, 6, 0, 2), (1, 6, 4)) * 2.5 - del tmp36 - tmp37 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) - tmp37 += np.transpose(t3, (0, 2, 1, 3, 4, 5)) * -3 - tmp37 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) - tmp37 += np.transpose(t3, (0, 1, 2, 3, 5, 4)) * -2 - tmp38 += einsum(tmp37, (0, 1, 2, 3, 4, 5), r3, (3, 6, 5, 0, 2), (1, 6, 4)) * 0.5 - del tmp37 - r1new += einsum(v.ovvv, (0, 1, 2, 3), tmp38, (0, 3, 2), (1,)) * 0.5 - del tmp38 - tmp41 = np.copy(tmp39) * 0.4 - tmp40 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * 1.8 - tmp40 += t2 * -1 - tmp41 += einsum(tmp40, (0, 1, 2, 3), r3, (3, 4, 5, 0, 1), (4, 5, 2)) - del tmp40 - r1new += einsum(tmp41, (0, 1, 2), v.vvvv, (3, 1, 0, 2), (3,)) * 1.25 - del tmp41 - tmp44 = np.copy(tmp39) * 0.6666666666666666 - tmp43 = einsum(r3, (0, 1, 2, 3, 4), tmp42, (3, 4, 5, 0), (1, 2, 5)) - del tmp42 - tmp44 += tmp43 - r1new += einsum(tmp44, (0, 1, 2), v.vvvv, (3, 0, 1, 2), (3,)) * -0.75 - del tmp44 - tmp45 = np.copy(np.transpose(v.oooo, (0, 2, 1, 3))) - tmp45 += v.oooo * -1 - r1new += einsum(tmp31, (0, 1, 2, 3, 4), tmp45, (0, 3, 2, 1), (4,)) * 0.25 - del tmp45 - tmp46 = np.copy(np.transpose(v.oooo, (0, 2, 1, 3))) * -0.42857142857142855 - tmp46 += v.oooo - r1new += einsum(tmp46, (0, 1, 2, 3), tmp30, (0, 3, 2, 1, 4), (4,)) * -1.75 - del tmp46 - tmp48 = np.copy(ints.tmp138) - del ints.tmp138 - tmp48 += ints.tmp145 - del ints.tmp145 - tmp48 += ints.tmp140 * -2 - del ints.tmp140 - tmp47 = np.copy(np.transpose(r2, (2, 0, 1))) * 2 - tmp47 += np.transpose(r2, (2, 1, 0)) * -1 - r1new += einsum(tmp47, (0, 1, 2), tmp48, (0, 1, 3, 2), (3,)) - del tmp47, tmp48 - tmp50 = einsum(t2, (0, 1, 2, 3), tmp49, (2, 3, 4), (0, 1, 4)) - del tmp49 - tmp59 = np.copy(tmp50) * 3 - tmp59 += np.transpose(tmp50, (1, 0, 2)) * -1 - del tmp50 - tmp51 = einsum(t2, (0, 1, 2, 3), tmp39, (2, 3, 4), (0, 1, 4)) - tmp59 += tmp51 * 1.5 - tmp59 += np.transpose(tmp51, (1, 0, 2)) * -2.5 - del tmp51 - tmp53 = einsum(tmp52, (0, 1, 2), t2, (3, 4, 0, 1), (3, 4, 2)) - del tmp52 - tmp59 += tmp53 * -1 - tmp59 += np.transpose(tmp53, (1, 0, 2)) - del tmp53 - tmp55 = einsum(t2, (0, 1, 2, 3), tmp54, (2, 3, 4), (0, 1, 4)) - tmp59 += tmp55 * -0.5 - tmp59 += np.transpose(tmp55, (1, 0, 2)) * 1.5 - del tmp55 - tmp56 = np.copy(np.transpose(r3, (3, 4, 0, 1, 2))) * 1.5 - tmp56 += np.transpose(r3, (4, 3, 0, 1, 2)) * -0.5 - tmp56 += np.transpose(r3, (4, 3, 0, 2, 1)) - tmp59 += einsum(tmp56, (0, 1, 2, 3, 4), t2, (5, 1, 2, 3), (5, 0, 4)) * -2 - del tmp56 - tmp57 = np.copy(np.transpose(r3, (3, 4, 0, 1, 2))) * 0.25 - tmp57 += np.transpose(r3, (4, 3, 0, 1, 2)) * -0.25 - tmp57 += np.transpose(r3, (4, 3, 0, 2, 1)) - tmp59 += einsum(tmp57, (0, 1, 2, 3, 4), t2, (5, 1, 3, 2), (5, 0, 4)) * 4 - del tmp57 - tmp58 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * -1 - tmp58 += np.transpose(t3, (0, 2, 1, 3, 4, 5)) * 3 - tmp58 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) * -1 - tmp58 += np.transpose(t3, (1, 0, 2, 3, 5, 4)) * -2 - tmp59 += einsum(r2, (0, 1, 2), tmp58, (2, 3, 4, 1, 5, 0), (3, 4, 5)) - del tmp58 - r1new += einsum(v.ovov, (0, 1, 2, 3), tmp59, (2, 0, 1), (3,)) * -0.5 - del tmp59 - tmp60 = np.copy(np.transpose(r3, (3, 4, 0, 1, 2))) - tmp60 += np.transpose(r3, (3, 4, 2, 0, 1)) * 2 - tmp60 += np.transpose(r3, (4, 3, 0, 1, 2)) * -1.5 - tmp60 += np.transpose(r3, (4, 3, 1, 0, 2)) * 0.5 - tmp60 += np.transpose(r3, (4, 3, 2, 0, 1)) * -1 - tmp62 = einsum(tmp60, (0, 1, 2, 3, 4), t2, (5, 1, 3, 4), (0, 5, 2)) * -0.5 - del tmp60 - tmp61 = np.copy(np.transpose(r3, (3, 4, 0, 1, 2))) - tmp61 += np.transpose(r3, (3, 4, 2, 0, 1)) * 0.5 - tmp61 += np.transpose(r3, (4, 3, 0, 1, 2)) * -0.25 - tmp61 += np.transpose(r3, (4, 3, 1, 0, 2)) * 0.25 - tmp61 += np.transpose(r3, (4, 3, 2, 0, 1)) * -1 - tmp62 += einsum(tmp61, (0, 1, 2, 3, 4), t2, (5, 1, 4, 3), (0, 5, 2)) - del tmp61 - r1new += einsum(tmp62, (0, 1, 2), ints.tmp301, (0, 1, 2, 3), (3,)) * -1 - del tmp62 - tmp63 = np.copy(np.transpose(r3, (3, 4, 0, 1, 2))) - tmp63 += np.transpose(r3, (3, 4, 2, 0, 1)) * 0.16666666666666666 - tmp63 += np.transpose(r3, (4, 3, 0, 1, 2)) * -0.16666666666666666 - tmp63 += np.transpose(r3, (4, 3, 1, 0, 2)) * 0.8333333333333334 - tmp63 += np.transpose(r3, (4, 3, 2, 0, 1)) * -0.16666666666666666 - tmp65 = einsum(tmp63, (0, 1, 2, 3, 4), t2, (5, 1, 4, 3), (0, 5, 2)) * -2 - del tmp63 - tmp64 = np.copy(np.transpose(r3, (3, 4, 0, 1, 2))) - tmp64 += np.transpose(r3, (3, 4, 2, 0, 1)) * 1.5 - tmp64 += np.transpose(r3, (4, 3, 0, 1, 2)) * -0.5 - tmp64 += np.transpose(r3, (4, 3, 1, 0, 2)) * 1.5 - tmp64 += np.transpose(r3, (4, 3, 2, 0, 1)) * -0.5 - tmp65 += einsum(tmp64, (0, 1, 2, 3, 4), t2, (5, 1, 3, 4), (0, 5, 2)) * 0.6666666666666666 - del tmp64 - r1new += einsum(tmp65, (0, 1, 2), tmp66, (0, 1, 2, 3), (3,)) * -1.5 - del tmp65 - tmp67 = np.copy(np.transpose(r3, (3, 4, 0, 1, 2))) - tmp67 += np.transpose(r3, (3, 4, 0, 2, 1)) * -4 - tmp67 += np.transpose(r3, (4, 3, 0, 2, 1)) - tmp69 = einsum(tmp67, (0, 1, 2, 3, 4), t2, (5, 0, 4, 2), (1, 5, 3)) * -0.3333333333333333 - tmp68 = np.copy(np.transpose(r3, (3, 4, 0, 1, 2))) - tmp68 += np.transpose(r3, (3, 4, 0, 2, 1)) * -2 - tmp68 += np.transpose(r3, (4, 3, 0, 2, 1)) * 3 - tmp69 += einsum(tmp68, (0, 1, 2, 3, 4), t2, (5, 0, 2, 4), (1, 5, 3)) * 0.3333333333333333 - r1new += einsum(v.oovv, (0, 1, 2, 3), tmp69, (0, 1, 3), (2,)) * -1.5 - del tmp69 - r1new += einsum(ints.tmp143, (0, 1, 2, 3), tmp70, (0, 1, 3), (2,)) * 2 - tmp71 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * -0.3333333333333333 - tmp71 += np.transpose(t3, (0, 2, 1, 3, 4, 5)) * 0.3333333333333333 - tmp71 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) * -1 - tmp72 = einsum(r2, (0, 1, 2), tmp71, (2, 3, 4, 1, 5, 0), (3, 4, 5)) * 3 - del tmp71 - r1new += einsum(tmp72, (0, 1, 2), v.ovov, (1, 3, 0, 2), (3,)) * 0.5 - del tmp72 - tmp73 = einsum(r3, (0, 1, 2, 3, 4), t3, (5, 6, 3, 1, 0, 2), (4, 5, 6)) - tmp76 = np.copy(tmp73) * 2 - tmp75 = einsum(tmp74, (0, 1, 2, 3, 4, 5), r3, (5, 4, 3, 6, 0), (6, 1, 2)) - del tmp74 - tmp76 += tmp75 * -1 - r1new += einsum(tmp17, (0, 1, 2, 3), tmp76, (1, 0, 2), (3,)) * -0.08333333333333 - del tmp17, tmp76 - tmp215 = einsum(ints.tmp592, (0, 1, 2, 3), r3, (4, 3, 5, 1, 0), (2, 5, 4)) * 6 - tmp77 = einsum(t3, (0, 1, 2, 3, 4, 5), r3, (3, 4, 5, 6, 1), (6, 0, 2)) - tmp215 += einsum(tmp77, (0, 1, 2), v.ovov, (2, 3, 1, 4), (0, 3, 4)) * -2 - tmp78 = einsum(r2, (0, 1, 2), v.oovv, (3, 2, 4, 0), (3, 1, 4)) - tmp88 = np.copy(tmp78) * 4 - del tmp78 - tmp79 = einsum(ints.tmp301, (0, 1, 2, 3), r2, (4, 2, 0), (1, 3, 4)) - tmp88 += tmp79 * -4 - del tmp79 - tmp81 = einsum(tmp80, (0, 1, 2, 3, 4), t1, (1, 2), (0, 3, 4)) - del tmp80 - tmp88 += tmp81 * 4 - del tmp81 - tmp82 = einsum(v.ovvv, (0, 1, 2, 3), tmp39, (4, 3, 1), (0, 4, 2)) - tmp88 += tmp82 * 4 - del tmp82 - tmp83 = einsum(t2, (0, 1, 2, 3), r3, (2, 4, 3, 1, 5), (5, 0, 4)) - tmp84 = einsum(tmp83, (0, 1, 2), v.ovvv, (1, 3, 4, 2), (0, 3, 4)) - tmp88 += tmp84 * 2 - del tmp84 - tmp85 = einsum(t2, (0, 1, 2, 3), r3, (2, 3, 4, 1, 5), (5, 0, 4)) - tmp86 = einsum(tmp85, (0, 1, 2), t1, (3, 2), (0, 3, 1)) - tmp87 = einsum(v.ovov, (0, 1, 2, 3), tmp86, (4, 0, 2), (4, 1, 3)) - del tmp86 - tmp88 += tmp87 * -2 - del tmp87 - tmp215 += tmp88 * -1 - tmp215 += np.transpose(tmp88, (0, 2, 1)) * 2 - del tmp88 - tmp89 = einsum(ints.tmp301, (0, 1, 2, 3), r2, (2, 4, 0), (1, 3, 4)) - tmp104 = np.copy(tmp89) * 8 - del tmp89 - tmp90 = einsum(r2, (0, 1, 2), v.oovv, (3, 2, 4, 1), (3, 0, 4)) - tmp104 += tmp90 * -8 - del tmp90 - tmp104 += tmp91 * 8 - del tmp91 - tmp93 = einsum(tmp92, (0, 1, 2, 3, 4), t1, (1, 2), (0, 3, 4)) - del tmp92 - tmp104 += tmp93 * -8 - del tmp93 - tmp95 = einsum(tmp94, (0, 1, 2), v.ovvv, (3, 4, 2, 0), (3, 1, 4)) - del tmp94 - tmp104 += tmp95 * 8 - del tmp95 - tmp96 = einsum(v.ovvv, (0, 1, 2, 3), tmp85, (4, 0, 3), (4, 1, 2)) - del tmp85 - tmp104 += tmp96 * -4 - del tmp96 - tmp97 = einsum(tmp1, (0, 1, 2, 3), tmp70, (0, 4, 2), (1, 3, 4)) * 16 - del tmp1 - tmp104 += tmp97 * -1 - del tmp97 - tmp102 = np.copy(tmp98) - tmp100 = np.copy(tmp99) - del tmp99 - tmp100 += tmp83 * 0.5 - del tmp83 - tmp101 = einsum(t1, (0, 1), tmp100, (2, 3, 1), (0, 2, 3)) - del tmp100 - tmp102 += np.transpose(tmp101, (1, 0, 2)) - del tmp101 - tmp103 = einsum(v.ovov, (0, 1, 2, 3), tmp102, (4, 2, 0), (4, 1, 3)) * 8 - del tmp102 - tmp104 += np.transpose(tmp103, (0, 2, 1)) - del tmp103 - tmp215 += tmp104 * -1 - tmp215 += np.transpose(tmp104, (0, 2, 1)) * 0.5 - del tmp104 - tmp122 = np.copy(tmp105) * 2 - del tmp105 - tmp106 = einsum(r3, (0, 1, 2, 3, 4), v.ooov, (5, 4, 3, 1), (5, 0, 2)) - tmp122 += tmp106 * 2 - del tmp106 - tmp108 = einsum(tmp107, (0, 1, 2), v.ovvv, (3, 4, 2, 0), (3, 1, 4)) - del tmp107 - tmp122 += tmp108 * 4 - del tmp108 - tmp109 = einsum(r3, (0, 1, 2, 3, 4), t3, (4, 5, 3, 0, 6, 1), (5, 2, 6)) * -1 - tmp110 = einsum(v.ovov, (0, 1, 2, 3), tmp109, (2, 4, 1), (0, 4, 3)) - tmp122 += tmp110 - del tmp110 - tmp111 = einsum(v.ovvv, (0, 1, 2, 3), tmp43, (3, 4, 1), (0, 2, 4)) * -2 - tmp122 += np.transpose(tmp111, (0, 2, 1)) * -1 - del tmp111 - tmp114 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1))) - tmp114 += np.transpose(v.ovov, (0, 2, 1, 3)) * -0.5 - tmp112 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * -1 - tmp112 += np.transpose(t3, (0, 2, 1, 3, 4, 5)) - tmp113 = einsum(r3, (0, 1, 2, 3, 4), tmp112, (3, 5, 4, 1, 6, 0), (5, 2, 6)) - del tmp112 - tmp115 = einsum(tmp113, (0, 1, 2), tmp114, (0, 3, 4, 2), (3, 1, 4)) * -2 - del tmp113, tmp114 - tmp122 += tmp115 - del tmp115 - tmp119 = np.copy(tmp73) * 2 - del tmp73 - tmp119 += tmp75 * -1 - del tmp75 - tmp116 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * -1 - tmp116 += t2 * 3 - tmp117 = einsum(tmp116, (0, 1, 2, 3), r3, (3, 2, 4, 5, 0), (5, 1, 4)) * 0.3333333333333333 - del tmp116 - tmp118 = einsum(tmp117, (0, 1, 2), t1, (3, 2), (3, 0, 1)) * 18 - tmp119 += np.transpose(tmp118, (1, 0, 2)) - del tmp118 - tmp120 = einsum(v.ovov, (0, 1, 2, 3), tmp119, (4, 2, 0), (4, 1, 3)) * 0.33333333333332 - del tmp119 - tmp122 += np.transpose(tmp120, (0, 2, 1)) * -1 - del tmp120 - tmp121 = einsum(tmp117, (0, 1, 2), v.ovvv, (1, 3, 4, 2), (0, 3, 4)) * 6 - del tmp117 - tmp122 += tmp121 * -1 - del tmp121 - tmp215 += tmp122 - tmp215 += np.transpose(tmp122, (0, 2, 1)) * -1 - del tmp122 - tmp123 = np.copy(ints.tmp465) - tmp123 += np.transpose(v.ooov, (0, 2, 1, 3)) - tmp124 = einsum(r3, (0, 1, 2, 3, 4), tmp123, (3, 4, 5, 1), (5, 0, 2)) * 2 - del tmp123 - tmp215 += tmp124 * -1 - tmp215 += np.transpose(tmp124, (0, 2, 1)) * 3 - del tmp124 - tmp125 = einsum(ints.tmp694, (0, 1, 2, 3), r3, (4, 5, 6, 0, 1), (2, 3, 4, 5, 6)) - del ints.tmp694 - tmp126 = einsum(tmp125, (0, 1, 2, 3, 4), t1, (1, 3), (0, 2, 4)) - tmp215 += tmp126 - tmp215 += np.transpose(tmp126, (0, 2, 1)) * -7 - del tmp126 - tmp127 = einsum(v.ovvv, (0, 1, 2, 3), tmp39, (4, 3, 2), (0, 4, 1)) - del tmp39 - tmp135 = np.copy(tmp127) * 4 - del tmp127 - tmp128 = einsum(r3, (0, 1, 2, 3, 4), t2, (5, 3, 2, 0), (4, 5, 1)) - tmp129 = einsum(v.ovvv, (0, 1, 2, 3), tmp128, (4, 0, 3), (4, 1, 2)) - tmp135 += tmp129 * 2 - del tmp129 - tmp133 = np.copy(tmp130) * -0.33333333333332 - del tmp130 - tmp132 = einsum(t1, (0, 1), tmp131, (2, 3, 1), (2, 0, 3)) - tmp133 += tmp132 - del tmp132 - tmp134 = einsum(tmp133, (0, 1, 2), v.ovov, (2, 3, 1, 4), (0, 3, 4)) * 2 - del tmp133 - tmp135 += np.transpose(tmp134, (0, 2, 1)) * -1 - del tmp134 - tmp215 += tmp135 - tmp215 += np.transpose(tmp135, (0, 2, 1)) * -4 - del tmp135 - tmp136 = einsum(tmp131, (0, 1, 2), v.ovvv, (1, 3, 4, 2), (0, 3, 4)) - del tmp131 - tmp141 = np.copy(tmp136) * -8 - del tmp136 - tmp137 = einsum(r3, (0, 1, 2, 3, 4), t3, (5, 6, 3, 0, 2, 1), (4, 5, 6)) - tmp139 = np.copy(tmp137) * -0.33333333333332 - del tmp137 - tmp138 = einsum(tmp128, (0, 1, 2), t1, (3, 2), (0, 3, 1)) - del tmp128 - tmp139 += tmp138 - del tmp138 - tmp140 = einsum(v.ovov, (0, 1, 2, 3), tmp139, (4, 2, 0), (4, 1, 3)) * 8 - del tmp139 - tmp141 += np.transpose(tmp140, (0, 2, 1)) - del tmp140 - tmp215 += tmp141 - tmp215 += np.transpose(tmp141, (0, 2, 1)) * -0.25 - del tmp141 - tmp142 = einsum(t3, (0, 1, 2, 3, 4, 5), r3, (5, 4, 6, 2, 1), (0, 6, 3)) - tmp143 = einsum(v.ovov, (0, 1, 2, 3), tmp142, (2, 4, 1), (0, 4, 3)) - tmp215 += tmp143 * 5 - tmp215 += np.transpose(tmp143, (0, 2, 1)) * -1 - del tmp143 - tmp144 = einsum(v.ovov, (0, 1, 2, 3), tmp142, (2, 4, 3), (0, 4, 1)) - del tmp142 - tmp215 += tmp144 * -6 - tmp215 += np.transpose(tmp144, (0, 2, 1)) * 2 - del tmp144 - tmp145 = einsum(v.ovov, (0, 1, 2, 3), tmp109, (2, 4, 3), (0, 4, 1)) - del tmp109 - tmp215 += tmp145 * -3 - tmp215 += np.transpose(tmp145, (0, 2, 1)) * 2 - del tmp145 - tmp147 = np.copy(np.transpose(r3, (3, 4, 0, 1, 2))) - tmp147 += np.transpose(r3, (4, 3, 0, 1, 2)) * -0.5 - tmp147 += np.transpose(r3, (4, 3, 0, 2, 1)) - tmp147 += np.transpose(r3, (4, 3, 2, 0, 1)) * -0.5 - tmp215 += einsum(tmp147, (0, 1, 2, 3, 4), tmp146, (1, 3, 4, 5), (0, 5, 2)) * 8 - del tmp146 - tmp148 = np.copy(np.transpose(r3, (3, 4, 0, 1, 2))) * -1 - tmp148 += np.transpose(r3, (3, 4, 0, 2, 1)) - tmp148 += np.transpose(r3, (4, 3, 0, 1, 2)) * 2 - tmp148 += np.transpose(r3, (4, 3, 0, 2, 1)) * -1 - tmp148 += np.transpose(r3, (4, 3, 2, 0, 1)) - tmp215 += einsum(ints.tmp143, (0, 1, 2, 3), tmp148, (4, 0, 5, 1, 3), (4, 2, 5)) * 4 - del ints.tmp143, tmp148 - tmp149 = np.copy(ints.tmp366) - del ints.tmp366 - tmp149 += ints.tmp382 - del ints.tmp382 - tmp149 += ints.tmp371 * -2 - del ints.tmp371 - tmp150 = np.copy(np.transpose(r3, (3, 4, 0, 1, 2))) * 2 - tmp150 += np.transpose(r3, (4, 3, 0, 1, 2)) * -1 - tmp150 += np.transpose(r3, (4, 3, 0, 2, 1)) * 2 - tmp150 += np.transpose(r3, (4, 3, 2, 0, 1)) * -1 - tmp215 += einsum(tmp150, (0, 1, 2, 3, 4), tmp149, (1, 0, 5, 3), (5, 4, 2)) * -4 - del tmp150, tmp149 - tmp155 = np.copy(np.transpose(tmp151, (0, 2, 1, 3, 4))) * 4 - del tmp151 - tmp155 += np.transpose(tmp152, (0, 2, 1, 3, 4)) * 4 - del tmp152 - tmp153 = np.copy(np.transpose(r3, (3, 4, 0, 1, 2))) - tmp153 += np.transpose(r3, (3, 4, 2, 0, 1)) * 0.5 - tmp153 += np.transpose(r3, (4, 3, 0, 1, 2)) * -0.5 - tmp155 += einsum(tmp153, (0, 1, 2, 3, 4), tmp154, (0, 5, 6, 4, 3, 7), (1, 5, 6, 2, 7)) * 2 - del tmp154, tmp153 - tmp215 += einsum(tmp155, (0, 1, 2, 3, 4), v.ovov, (2, 4, 1, 5), (0, 5, 3)) - del tmp155 - tmp156 = np.copy(np.transpose(r3, (3, 4, 0, 1, 2))) - tmp156 += np.transpose(r3, (3, 4, 2, 0, 1)) * 0.5 - tmp156 += np.transpose(r3, (4, 3, 0, 1, 2)) * -1.5 - tmp215 += einsum(tmp156, (0, 1, 2, 3, 4), v.ovvv, (1, 4, 5, 3), (0, 5, 2)) * 4 - del tmp156 - tmp157 = np.copy(np.transpose(r3, (3, 4, 0, 1, 2))) - tmp157 += np.transpose(r3, (3, 4, 2, 0, 1)) * 0.25 - tmp157 += np.transpose(r3, (4, 3, 0, 1, 2)) * -0.25 - tmp215 += einsum(tmp157, (0, 1, 2, 3, 4), v.ovvv, (1, 3, 5, 4), (0, 5, 2)) * -8 - del tmp157 - tmp158 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) - tmp158 += np.transpose(t3, (0, 2, 1, 3, 4, 5)) * -1 - tmp161 = einsum(tmp19, (0, 1, 2, 3, 4), tmp158, (0, 5, 6, 3, 2, 7), (1, 5, 6, 4, 7)) * -0.2 - del tmp158 - tmp159 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * 0.33333333333333337 - tmp159 += np.transpose(t3, (0, 2, 1, 3, 4, 5)) * -1 - tmp159 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) * 0.33333333333333337 - tmp161 += einsum(r3, (0, 1, 2, 3, 4), tmp159, (3, 5, 6, 2, 1, 7), (4, 5, 6, 0, 7)) * 1.2 - del tmp159 - tmp160 = np.copy(np.transpose(r3, (3, 4, 0, 1, 2))) * -1 - tmp160 += np.transpose(r3, (4, 3, 1, 2, 0)) * 5 - tmp161 += einsum(t3, (0, 1, 2, 3, 4, 5), tmp160, (2, 6, 5, 4, 7), (6, 0, 1, 7, 3)) * -0.2 - del tmp160 - tmp215 += einsum(tmp161, (0, 1, 2, 3, 4), v.ovov, (2, 5, 1, 4), (0, 5, 3)) * -5 - del tmp161 - tmp162 = np.copy(ints.tmp377) * 0.5 - tmp162 += ints.tmp592 * 0.75 - tmp162 += ints.tmp607 * 0.25 - tmp162 += ints.tmp465 * -0.5 - tmp162 += ints.tmp578 * -0.25 - tmp162 += ints.tmp585 * -0.25 - tmp162 += np.transpose(v.ooov, (0, 2, 1, 3)) * -0.5 - tmp162 += np.transpose(v.ovoo, (0, 2, 3, 1)) - tmp215 += einsum(tmp162, (0, 1, 2, 3), r3, (4, 5, 3, 0, 1), (2, 5, 4)) * 8 - del tmp162 - tmp163 = np.copy(ints.tmp377) * 4 - tmp163 += ints.tmp592 - tmp163 += ints.tmp607 * 2 - tmp163 += ints.tmp578 * -3 - tmp163 += ints.tmp585 * -1 - tmp215 += einsum(tmp163, (0, 1, 2, 3), r3, (4, 3, 5, 0, 1), (2, 5, 4)) * -2 - del tmp163 - tmp164 = np.copy(ints.tmp578) - tmp164 += ints.tmp585 - del ints.tmp585 - tmp164 += ints.tmp377 * -2 - tmp215 += einsum(tmp164, (0, 1, 2, 3), tmp165, (1, 0, 4, 3, 5), (2, 5, 4)) * -2 - del tmp165, tmp164 - tmp166 = np.copy(ints.tmp465) * 2 - del ints.tmp465 - tmp166 += ints.tmp578 - del ints.tmp578 - tmp166 += ints.tmp377 * -1 - del ints.tmp377 - tmp215 += einsum(tmp166, (0, 1, 2, 3), r3, (4, 5, 3, 1, 0), (2, 5, 4)) * 4 - del tmp166 - tmp167 = np.copy(ints.tmp592) - del ints.tmp592 - tmp167 += ints.tmp607 - del ints.tmp607 - tmp215 += einsum(r3, (0, 1, 2, 3, 4), tmp167, (3, 4, 5, 0), (5, 1, 2)) * -2 - del tmp167 - tmp168 = np.copy(tmp30) * -1 - tmp168 += np.transpose(tmp30, (0, 1, 3, 2, 4)) * 2 - tmp168 += np.transpose(tmp30, (1, 0, 2, 3, 4)) * 1.5 - tmp168 += np.transpose(tmp30, (1, 0, 3, 2, 4)) * -0.5 - del tmp30 - tmp168 += tmp31 * -0.5 - tmp168 += np.transpose(tmp31, (0, 1, 3, 2, 4)) * 0.5 - del tmp31 - tmp215 += einsum(tmp168, (0, 1, 2, 3, 4), v.ooov, (3, 1, 2, 5), (0, 5, 4)) * -4 - del tmp168 - tmp191 = np.copy(np.transpose(tmp125, (0, 1, 2, 4, 3))) * -0.3333333333333333 - tmp191 += np.transpose(tmp125, (0, 1, 4, 2, 3)) - del tmp125 - tmp169 = einsum(v.oooo, (0, 1, 2, 3), r3, (4, 5, 6, 1, 3), (0, 2, 4, 5, 6)) - tmp191 += np.transpose(tmp169, (0, 1, 4, 2, 3)) - tmp191 += np.transpose(tmp169, (0, 1, 3, 4, 2)) * 0.3333333333333333 - tmp191 += np.transpose(tmp169, (1, 0, 4, 2, 3)) * -2.3333333333333335 - tmp191 += np.transpose(tmp169, (1, 0, 3, 4, 2)) * -0.3333333333333333 - del tmp169 - tmp174 = np.copy(tmp13) * 2.3333333333333335 - del tmp13 - tmp173 = einsum(v.ovov, (0, 1, 2, 3), tmp172, (4, 5, 2, 0, 6), (4, 5, 1, 3, 6)) * 2.3333333333333335 - del tmp172 - tmp174 += np.transpose(tmp173, (0, 1, 4, 3, 2)) - del tmp173 - tmp191 += np.transpose(tmp174, (0, 1, 3, 2, 4)) * -1 - tmp191 += np.transpose(tmp174, (0, 1, 4, 2, 3)) * 0.42857142857142855 - del tmp174 - tmp181 = np.copy(tmp14) * 0.3333333333333333 - del tmp14 - tmp181 += tmp176 * -0.6666666666666666 - del tmp176 - tmp180 = einsum(v.ovov, (0, 1, 2, 3), tmp179, (4, 5, 2, 0, 6), (4, 5, 1, 3, 6)) * 0.3333333333333333 - del tmp179 - tmp181 += np.transpose(tmp180, (0, 1, 4, 3, 2)) - del tmp180 - tmp191 += np.transpose(tmp181, (0, 1, 3, 2, 4)) * -1 - tmp191 += np.transpose(tmp181, (0, 1, 4, 2, 3)) - del tmp181 - tmp191 += tmp182 * 0.6666666666666666 - tmp191 += np.transpose(tmp182, (0, 1, 3, 2, 4)) * -2.6666666666666665 - del tmp182 - tmp191 += np.transpose(tmp184, (0, 1, 3, 2, 4)) * 2.6666666666666665 - tmp191 += np.transpose(tmp184, (0, 1, 4, 2, 3)) * -1.3333333333333333 - del tmp184 - tmp191 += np.transpose(tmp185, (0, 1, 3, 2, 4)) * -0.6666666666666666 - tmp191 += np.transpose(tmp185, (0, 1, 4, 2, 3)) * 2 - del tmp185 - tmp191 += np.transpose(tmp186, (0, 1, 2, 4, 3)) * 0.6666666666666666 - tmp191 += np.transpose(tmp186, (0, 1, 3, 4, 2)) * -0.6666666666666666 - del tmp186 - tmp191 += np.transpose(tmp187, (0, 1, 2, 4, 3)) * 3 - tmp191 += np.transpose(tmp187, (0, 1, 3, 4, 2)) * -1 - del tmp187 - tmp191 += np.transpose(tmp188, (0, 1, 2, 4, 3)) * -1.6666666666666667 - tmp191 += np.transpose(tmp188, (0, 1, 3, 4, 2)) - del tmp188 - tmp191 += einsum(tmp66, (0, 1, 2, 3), tmp147, (4, 0, 5, 2, 6), (1, 4, 3, 5, 6)) * -5.333333333333333 - del tmp66 - tmp189 = np.copy(np.transpose(r3, (3, 4, 0, 1, 2))) - tmp189 += np.transpose(r3, (3, 4, 0, 2, 1)) * -1 - tmp189 += np.transpose(r3, (4, 3, 0, 1, 2)) * -1 - tmp189 += np.transpose(r3, (4, 3, 0, 2, 1)) * 2 - tmp189 += np.transpose(r3, (4, 3, 2, 1, 0)) - tmp191 += einsum(tmp189, (0, 1, 2, 3, 4), ints.tmp301, (1, 5, 4, 6), (5, 0, 6, 2, 3)) * -1.3333333333333333 - del ints.tmp301, tmp189 - tmp191 += einsum(v.oovv, (0, 1, 2, 3), tmp7, (4, 1, 5, 6, 3), (4, 0, 6, 5, 2)) * 1.3333333333333333 - del tmp7 - tmp191 += einsum(tmp147, (0, 1, 2, 3, 4), v.ovov, (5, 6, 0, 4), (1, 5, 3, 2, 6)) * 2.6666666666666665 - del tmp147 - tmp190 = np.copy(tmp170) * 3 - tmp190 += np.transpose(tmp170, (1, 0, 2, 3, 4)) * -2 - del tmp170 - tmp190 += einsum(t1, (0, 1), tmp19, (2, 3, 1, 4, 5), (3, 2, 0, 5, 4)) * -1 - del tmp19 - tmp191 += einsum(v.ovoo, (0, 1, 2, 3), tmp190, (2, 4, 3, 5, 6), (4, 0, 6, 5, 1)) * -0.6666666666666666 - del tmp190 - tmp215 += einsum(t1, (0, 1), tmp191, (2, 0, 1, 3, 4), (2, 4, 3)) * 3 - del tmp191 - tmp194 = np.copy(v.ovvv) * -1 - tmp194 += np.transpose(v.ovvv, (0, 2, 3, 1)) * 2 - tmp193 = np.copy(tmp54) - del tmp54 - tmp192 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * 3 - tmp192 += t2 * -1 - tmp193 += einsum(r3, (0, 1, 2, 3, 4), tmp192, (3, 4, 5, 2), (0, 1, 5)) * -0.5 - del tmp192 - tmp215 += einsum(tmp194, (0, 1, 2, 3), tmp193, (4, 2, 1), (0, 3, 4)) * 4 - del tmp194, tmp193 - tmp198 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1))) * -1 - tmp198 += np.transpose(v.ovov, (0, 2, 1, 3)) - tmp197 = einsum(r3, (0, 1, 2, 3, 4), tmp195, (4, 5, 3, 1, 0, 6), (5, 2, 6)) - del tmp195 - tmp196 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * -1 - tmp196 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) * -1 - tmp197 += einsum(tmp196, (0, 1, 2, 3, 4, 5), r3, (3, 6, 5, 0, 2), (1, 6, 4)) * -1 - del tmp196 - tmp215 += einsum(tmp198, (0, 1, 2, 3), tmp197, (0, 4, 3), (1, 4, 2)) * -1 - del tmp198, tmp197 - tmp200 = np.copy(np.transpose(r2, (2, 0, 1))) - tmp200 += np.transpose(r2, (2, 1, 0)) * -2 - tmp199 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * 6 - tmp199 += np.transpose(t3, (0, 2, 1, 3, 4, 5)) * -2 - tmp199 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) * 2 - tmp199 += t3 * 3 - tmp199 += np.transpose(t3, (1, 0, 2, 3, 5, 4)) - tmp199 += np.transpose(t3, (1, 0, 2, 3, 4, 5)) * -1 - tmp199 += np.transpose(t3, (1, 0, 2, 4, 3, 5)) * 5 - tmp200 += einsum(r3, (0, 1, 2, 3, 4), tmp199, (3, 5, 4, 2, 6, 1), (5, 0, 6)) * -0.25 - tmp215 += einsum(tmp200, (0, 1, 2), v.ovov, (3, 4, 0, 2), (3, 4, 1)) * 8 - del tmp200 - tmp201 = einsum(r3, (0, 1, 2, 3, 4), tmp199, (3, 5, 4, 2, 6, 1), (5, 0, 6)) * -0.5 - tmp215 += einsum(v.ovov, (0, 1, 2, 3), tmp201, (2, 4, 1), (0, 3, 4)) * -2 - del tmp201 - tmp215 += einsum(v.ovvv, (0, 1, 2, 3), tmp43, (4, 2, 3), (0, 4, 1)) * 4 - del tmp43 - tmp202 = np.copy(np.transpose(t2, (0, 1, 3, 2))) - tmp202 += t2 * -0.6 - tmp203 = einsum(tmp202, (0, 1, 2, 3), r3, (3, 4, 5, 0, 1), (4, 5, 2)) * 1.6666666666666667 - del tmp202 - tmp215 += einsum(tmp203, (0, 1, 2), v.ovvv, (3, 2, 4, 1), (3, 0, 4)) * -6 - del tmp203 - tmp204 = einsum(t3, (0, 1, 2, 3, 4, 5), r3, (4, 5, 6, 1, 2), (0, 6, 3)) - tmp206 = np.copy(tmp204) * -1 - tmp206 += np.transpose(r2, (2, 0, 1)) * -0.8 - tmp206 += np.transpose(r2, (2, 1, 0)) * 1.6 - tmp205 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * -1 - tmp205 += np.transpose(t3, (0, 1, 2, 3, 5, 4)) - tmp206 += einsum(tmp205, (0, 1, 2, 3, 4, 5), r3, (4, 6, 3, 0, 2), (1, 6, 5)) * -0.2 - del tmp205 - tmp215 += einsum(v.ovov, (0, 1, 2, 3), tmp206, (2, 4, 3), (0, 4, 1)) * 5 - del tmp206 - tmp208 = np.copy(tmp204) * -1 - del tmp204 - tmp207 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) - tmp207 += np.transpose(t3, (0, 1, 2, 4, 3, 5)) * -0.6666666666666666 - tmp208 += einsum(tmp207, (0, 1, 2, 3, 4, 5), r3, (4, 6, 3, 0, 2), (1, 6, 5)) * 3 - del tmp207 - tmp215 += einsum(v.ovov, (0, 1, 2, 3), tmp208, (2, 4, 1), (0, 4, 3)) * -1 - del tmp208 - tmp210 = einsum(tmp67, (0, 1, 2, 3, 4), t2, (5, 0, 4, 2), (1, 5, 3)) * -0.5 - del tmp67 - tmp210 += einsum(tmp68, (0, 1, 2, 3, 4), t2, (5, 0, 2, 4), (1, 5, 3)) * 0.5 - del tmp68 - tmp209 = np.copy(np.transpose(r2, (2, 0, 1))) * -1 - tmp209 += np.transpose(r2, (2, 1, 0)) * 2 - tmp210 += einsum(t1, (0, 1), tmp209, (2, 3, 1), (2, 0, 3)) * -1 - tmp215 += einsum(v.ovoo, (0, 1, 2, 3), tmp210, (2, 3, 4), (0, 4, 1)) * 4 - del tmp210 - tmp211 = np.copy(np.transpose(r3, (3, 4, 0, 1, 2))) - tmp211 += np.transpose(r3, (3, 4, 0, 2, 1)) * -0.25 - tmp211 += np.transpose(r3, (4, 3, 0, 2, 1)) * 0.25 - tmp213 = einsum(tmp211, (0, 1, 2, 3, 4), t2, (5, 0, 4, 2), (1, 5, 3)) * -4 - del tmp211 - tmp212 = np.copy(np.transpose(r3, (3, 4, 0, 1, 2))) - tmp212 += np.transpose(r3, (3, 4, 0, 2, 1)) * -0.5 - tmp212 += np.transpose(r3, (4, 3, 0, 2, 1)) * 1.5 - tmp213 += einsum(tmp212, (0, 1, 2, 3, 4), t2, (5, 0, 2, 4), (1, 5, 3)) * 2 - del tmp212 - tmp215 += einsum(v.ooov, (0, 1, 2, 3), tmp213, (1, 2, 4), (0, 4, 3)) * -2 - del tmp213 - tmp214 = np.copy(f.vv) - tmp214 += np.transpose(ints.tmp78, (1, 0)) * -1 - tmp215 += einsum(tmp214, (0, 1), tmp209, (2, 3, 0), (2, 1, 3)) * -4 - del tmp214 - r1new += einsum(tmp215, (0, 1, 2), t1, (0, 1), (2,)) * 0.25 - del tmp215 - tmp216 = np.copy(ints.tmp121) * 2 - tmp216 += ints.tmp119 * -1 - r1new += einsum(tmp221, (0, 1, 2), tmp216, (1, 2), (0,)) - del tmp216 - tmp222 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) - tmp222 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) * 0.25 - tmp223 = einsum(r3, (0, 1, 2, 3, 4), tmp222, (3, 5, 6, 2, 0, 1), (4, 5, 6)) * 4 - del tmp222 - r1new += einsum(v.ooov, (0, 1, 2, 3), tmp223, (1, 2, 0), (3,)) * -0.16666666666666 - del tmp223 - tmp225 = np.copy(np.transpose(tmp77, (0, 2, 1))) * -0.75 - del tmp77 - tmp225 += tmp98 * -1.50000000000006 - tmp225 += np.transpose(tmp98, (0, 2, 1)) * 3 - del tmp98 - tmp224 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * -0.25 - tmp224 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) * -1 - tmp225 += einsum(r3, (0, 1, 2, 3, 4), tmp224, (3, 5, 6, 2, 0, 1), (4, 6, 5)) - del tmp224 - r1new += einsum(v.ooov, (0, 1, 2, 3), tmp225, (1, 2, 0), (3,)) * -0.66666666666664 - del tmp225 - tmp227 = np.copy(f.ov) * 2 - tmp227 += ints.tmp123 * 2 - del ints.tmp123 - tmp227 += ints.tmp132 * 4 - del ints.tmp132 - tmp227 += ints.tmp190 - del ints.tmp190 - tmp227 += ints.tmp196 * 3 - del ints.tmp196 - tmp227 += ints.tmp199 - del ints.tmp199 - tmp227 += ints.tmp126 * -4 - del ints.tmp126 - tmp227 += ints.tmp135 * -2 - del ints.tmp135 - tmp227 += ints.tmp193 * -1 - del ints.tmp193 - tmp226 = np.copy(ints.tmp119) - tmp226 += ints.tmp76 * 2 - tmp226 += ints.tmp121 * -2 - tmp227 += einsum(t1, (0, 1), tmp226, (2, 1), (0, 2)) * 2 - del tmp226 - r1new += einsum(tmp209, (0, 1, 2), tmp227, (0, 2), (1,)) * -0.5 - del tmp209, tmp227 - tmp229 = einsum(tmp217, (0, 1, 2, 3, 4), t2, (0, 1, 2, 5), (4, 3, 5)) * -0.6666666666666666 - del tmp217 - tmp229 += einsum(t2, (0, 1, 2, 3), tmp219, (0, 1, 3, 4, 5), (5, 4, 2)) * 1.3333333333333333 - del tmp219 - tmp230 = einsum(tmp229, (0, 1, 2), t1, (3, 1), (3, 0, 2)) * 1.5 - del tmp229 - r1new += einsum(tmp228, (0, 1), tmp230, (0, 2, 1), (2,)) - del tmp230 - r1new += einsum(tmp221, (0, 1, 2), f.vv, (1, 2), (0,)) * -1 - del tmp221 - r1new += einsum(tmp237, (0, 1, 2), tmp231, (1, 0), (2,)) - del tmp231, tmp237 - tmp240 = einsum(r3, (0, 1, 2, 3, 4), tmp199, (3, 5, 4, 2, 6, 1), (5, 0, 6)) * -0.125 - del tmp199 - tmp240 += einsum(r3, (0, 1, 2, 3, 4), tmp238, (3, 5, 4, 0, 6, 1), (5, 2, 6)) * 0.125 - del tmp238 - tmp239 = np.copy(np.transpose(t2, (0, 1, 3, 2))) - tmp239 += t2 * -0.5 - tmp240 += einsum(tmp239, (0, 1, 2, 3), tmp70, (0, 4, 3), (1, 4, 2)) * -2 - del tmp70, tmp239 - r1new += einsum(f.ov, (0, 1), tmp240, (0, 2, 1), (2,)) * 2 - del tmp240 - tmp242 = einsum(tmp232, (0, 1, 2, 3, 4), t2, (5, 0, 3, 4), (1, 5, 2)) * 0.25 - del tmp232 - tmp242 += einsum(tmp234, (0, 1, 2, 3, 4), t2, (5, 0, 4, 3), (1, 5, 2)) * -0.75 - del tmp234 - tmp242 += np.transpose(tmp241, (1, 0, 2)) - del tmp241 - r1new += einsum(tmp242, (0, 1, 2), ints.tmp59, (1, 0), (2,)) * 2 - del ints.tmp59, tmp242 - tmp245 = np.copy(tmp243) * 12 - del tmp243 - tmp244 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * 2 - tmp244 += np.transpose(t3, (0, 2, 1, 4, 3, 5)) * 2 - tmp244 += np.transpose(t3, (0, 1, 2, 4, 3, 5)) * -3 - tmp244 += np.transpose(t3, (1, 0, 2, 3, 5, 4)) - tmp244 += np.transpose(t3, (1, 0, 2, 3, 4, 5)) * -1 - tmp244 += np.transpose(t3, (1, 0, 2, 4, 3, 5)) - tmp245 += einsum(tmp244, (0, 1, 2, 3, 4, 5), r3, (5, 4, 3, 0, 2), (1,)) - del tmp244 - tmp245 += einsum(r2, (0, 1, 2), tmp11, (2, 3, 1, 0), (3,)) * -12 - del tmp11 - r1new += einsum(tmp245, (0,), tmp228, (0, 1), (1,)) * -0.08333333333333 - del tmp228, tmp245 - tmp246 = np.copy(f.vv) - tmp246 += ints.tmp119 - del ints.tmp119 - tmp246 += np.transpose(ints.tmp76, (1, 0)) * 2 - del ints.tmp76 - tmp246 += ints.tmp121 * -2 - del ints.tmp121 - tmp246 += np.transpose(ints.tmp78, (1, 0)) * -1 - del ints.tmp78 - r1new += einsum(r1, (0,), tmp246, (0, 1), (1,)) - del tmp246 - tmp247 = einsum(r3, (0, 1, 2, 3, 4), t3, (5, 4, 3, 0, 1, 2), (5,)) - tmp248 = np.copy(f.ov) - tmp248 += ints.tmp321 * 2 - del ints.tmp321 - tmp248 += ints.tmp318 * -1 - del ints.tmp318 - r1new += einsum(tmp247, (0,), tmp248, (0, 1), (1,)) * 0.66666666666664 - del tmp247, tmp248 - - return {f"r1new": r1new, f"r2new": r2new, f"r3new": r3new} - diff --git a/ebcc/codegen/UCCSDT.py b/ebcc/codegen/UCCSDT.py deleted file mode 100644 index e7293473..00000000 --- a/ebcc/codegen/UCCSDT.py +++ /dev/null @@ -1,10847 +0,0 @@ -""" -Code generated by `albert`: -https://github.com/obackhouse/albert - - * date: 2024-10-22T10:42:02.333487 - * python version: 3.9.6 (default, Feb 3 2024, 15:58:27) [Clang 15.0.0 (clang-1500.3.9.4)] - * albert version: 0.0.0 - * caller: /Users/oliver.backhouse/env/default/lib/python3.9/site-packages/albert/codegen/einsum.py - * node: F9HJ673GV7.local - * system: Darwin - * processor: arm - * release: 23.3.0 -""" - -from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, dirsum, Namespace - - -def energy(f=None, t1=None, t2=None, v=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-10-22T10:42:02.921956. - - Parameters - ---------- - f : Namespace of arrays - Fock matrix. - t1 : Namespace of arrays - T1 amplitudes. - t2 : Namespace of arrays - T2 amplitudes. - v : Namespace of arrays - Electron repulsion integrals. - - Returns - ------- - e_cc : float - Coupled cluster energy. - """ - - e_cc = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (0, 2, 1, 3), ()) - e_cc += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 1, 3), ()) - e_cc += einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.aaaa, (0, 2, 3, 1), ()) * -1 - tmp1 = np.copy(f.bb.ov) * 2 - tmp1 += einsum(t1.aa, (0, 1), v.aabb.ovov, (0, 1, 2, 3), (2, 3)) * 2 - tmp0 = np.copy(np.transpose(v.bbbb.ovov, (0, 2, 3, 1))) - tmp0 += np.transpose(v.bbbb.ovov, (0, 2, 1, 3)) * -1 - tmp1 += einsum(tmp0, (0, 1, 2, 3), t1.bb, (0, 2), (1, 3)) * -1 - del tmp0 - e_cc += einsum(t1.bb, (0, 1), tmp1, (0, 1), ()) * 0.5 - del tmp1 - tmp3 = np.copy(f.aa.ov) - tmp2 = np.copy(np.transpose(v.aaaa.ovov, (0, 2, 3, 1))) * -1 - tmp2 += np.transpose(v.aaaa.ovov, (0, 2, 1, 3)) - tmp3 += einsum(t1.aa, (0, 1), tmp2, (0, 2, 3, 1), (2, 3)) * -0.5 - del tmp2 - e_cc += einsum(tmp3, (0, 1), t1.aa, (0, 1), ()) - del tmp3 - - return e_cc - -def update_amps(f=None, t1=None, t2=None, t3=None, v=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-10-22T10:47:00.351204. - - Parameters - ---------- - f : Namespace of arrays - Fock matrix. - t1 : Namespace of arrays - T1 amplitudes. - t2 : Namespace of arrays - T2 amplitudes. - t3 : Namespace of arrays - T3 amplitudes. - v : Namespace of arrays - Electron repulsion integrals. - - Returns - ------- - t1new : Namespace of arrays - Updated T1 residuals. - t2new : Namespace of arrays - Updated T2 residuals. - t3new : Namespace of arrays - Updated T3 residuals. - """ - - t1new = Namespace() - t2new = Namespace() - t3new = Namespace() - tmp0 = einsum(t1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) - t1new.aa = einsum(t2.aaaa, (0, 1, 2, 3), tmp0, (4, 0, 1, 3), (4, 2)) * 2 - t1new.aa += einsum(t1.aa, (0, 1), v.aaaa.ovov, (2, 3, 0, 1), (2, 3)) - tmp1 = einsum(v.aabb.ovov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1)) - t1new.aa += tmp1 - t1new.aa += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovvv, (1, 2, 4, 3), (0, 4)) * -2 - t1new.aa += f.aa.ov - t1new.aa += einsum(v.aabb.vvov, (0, 1, 2, 3), t2.abab, (4, 2, 1, 3), (4, 0)) - tmp2 = einsum(v.aabb.ovov, (0, 1, 2, 3), t1.aa, (4, 1), (4, 0, 2, 3)) - t1new.aa += einsum(t2.abab, (0, 1, 2, 3), tmp2, (4, 0, 1, 3), (4, 2)) * -1 - tmp6 = np.copy(f.aa.vv) - tmp3 = einsum(v.aabb.vvov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1)) - tmp6 += np.transpose(tmp3, (1, 0)) - tmp4 = np.copy(v.aaaa.ovvv) * -1 - tmp4 += np.transpose(v.aaaa.ovvv, (0, 2, 3, 1)) - tmp5 = einsum(tmp4, (0, 1, 2, 3), t1.aa, (0, 1), (2, 3)) - del tmp4 - tmp6 += np.transpose(tmp5, (1, 0)) * -1 - del tmp5 - t1new.aa += einsum(tmp6, (0, 1), t1.aa, (2, 0), (2, 1)) - tmp7 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 2, 1, 3), (0, 4)) - tmp13 = np.copy(np.transpose(tmp7, (1, 0))) * 2 - tmp8 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 1, 3), (0, 4)) - tmp13 += np.transpose(tmp8, (1, 0)) - tmp11 = np.copy(f.aa.ov) - tmp11 += tmp1 - tmp9 = np.copy(np.transpose(v.aaaa.ovov, (0, 2, 3, 1))) * -1 - tmp9 += np.transpose(v.aaaa.ovov, (0, 2, 1, 3)) - tmp10 = einsum(t1.aa, (0, 1), tmp9, (0, 2, 3, 1), (2, 3)) - del tmp9 - tmp11 += tmp10 * -1 - del tmp10 - tmp12 = einsum(t1.aa, (0, 1), tmp11, (2, 1), (2, 0)) - tmp13 += tmp12 - t1new.aa += einsum(t1.aa, (0, 1), tmp13, (0, 2), (2, 1)) * -1 - t1new.aa += einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), v.aaaa.ovov, (1, 5, 2, 4), (0, 3)) * -3 - t1new.aa += einsum(t1.aa, (0, 1), v.aaaa.oovv, (2, 0, 3, 1), (2, 3)) * -1 - t1new.aa += einsum(v.bbbb.ovov, (0, 1, 2, 3), t3.babbab, (0, 4, 2, 1, 5, 3), (4, 5)) - t1new.aa += einsum(v.aaaa.ooov, (0, 1, 2, 3), t2.aaaa, (2, 1, 4, 3), (0, 4)) * 2 - t1new.aa += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ooov, (4, 0, 1, 3), (4, 2)) * -1 - t1new.aa += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.abaaba, (4, 2, 0, 5, 3, 1), (4, 5)) * 2 - t1new.aa += einsum(t2.aaaa, (0, 1, 2, 3), tmp11, (1, 3), (0, 2)) * 2 - tmp17 = np.copy(f.bb.ov) - tmp14 = einsum(t1.aa, (0, 1), v.aabb.ovov, (0, 1, 2, 3), (2, 3)) - tmp17 += tmp14 - tmp15 = np.copy(np.transpose(v.bbbb.ovov, (0, 2, 3, 1))) - tmp15 += np.transpose(v.bbbb.ovov, (0, 2, 1, 3)) * -1 - tmp16 = einsum(t1.bb, (0, 1), tmp15, (0, 2, 1, 3), (2, 3)) - tmp17 += tmp16 * -1 - del tmp16 - t1new.aa += einsum(t2.abab, (0, 1, 2, 3), tmp17, (1, 3), (0, 2)) - tmp21 = np.copy(f.aa.oo) - tmp18 = einsum(v.aabb.ooov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1)) - tmp21 += np.transpose(tmp18, (1, 0)) - tmp19 = np.copy(v.aaaa.ooov) - tmp19 += np.transpose(v.aaaa.ovoo, (0, 2, 3, 1)) * -1 - tmp20 = einsum(t1.aa, (0, 1), tmp19, (0, 2, 3, 1), (2, 3)) - del tmp19 - tmp21 += np.transpose(tmp20, (1, 0)) * -1 - del tmp20 - t1new.aa += einsum(tmp21, (0, 1), t1.aa, (0, 2), (1, 2)) * -1 - t1new.bb = einsum(v.bbbb.ovvv, (0, 1, 2, 3), t2.bbbb, (4, 0, 1, 3), (4, 2)) * -2 - t1new.bb += f.bb.ov - t1new.bb += tmp14 - tmp22 = einsum(v.aabb.ovov, (0, 1, 2, 3), t1.bb, (4, 3), (0, 4, 2, 1)) - t1new.bb += einsum(t2.abab, (0, 1, 2, 3), tmp22, (0, 4, 1, 2), (4, 3)) * -1 - tmp23 = einsum(t1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) - t1new.bb += einsum(t2.bbbb, (0, 1, 2, 3), tmp23, (4, 1, 0, 3), (4, 2)) * -2 - t1new.bb += einsum(v.bbbb.ovov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1)) - t1new.bb += einsum(v.aabb.ovvv, (0, 1, 2, 3), t2.abab, (0, 4, 1, 3), (4, 2)) - tmp27 = np.copy(f.bb.vv) - tmp24 = einsum(v.aabb.ovvv, (0, 1, 2, 3), t1.aa, (0, 1), (2, 3)) - tmp27 += np.transpose(tmp24, (1, 0)) - tmp25 = np.copy(v.bbbb.ovvv) - tmp25 += np.transpose(v.bbbb.ovvv, (0, 2, 1, 3)) * -1 - tmp26 = einsum(tmp25, (0, 1, 2, 3), t1.bb, (0, 2), (1, 3)) - tmp27 += tmp26 * -1 - del tmp26 - t1new.bb += einsum(t1.bb, (0, 1), tmp27, (1, 2), (0, 2)) - tmp28 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 3), (1, 4)) - tmp31 = np.copy(np.transpose(tmp28, (1, 0))) - tmp29 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 2, 1, 3), (0, 4)) - tmp31 += np.transpose(tmp29, (1, 0)) * 2 - tmp30 = einsum(t1.bb, (0, 1), tmp17, (2, 1), (2, 0)) - tmp31 += tmp30 - t1new.bb += einsum(t1.bb, (0, 1), tmp31, (0, 2), (2, 1)) * -1 - t1new.bb += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovoo, (0, 2, 4, 1), (4, 3)) * -1 - t1new.bb += einsum(v.bbbb.ooov, (0, 1, 2, 3), t2.bbbb, (1, 2, 4, 3), (0, 4)) * -2 - t1new.bb += einsum(v.bbbb.ovov, (0, 1, 2, 3), t3.bbbbbb, (4, 0, 2, 5, 1, 3), (4, 5)) * 3 - t1new.bb += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), v.aabb.ovov, (1, 4, 2, 5), (0, 3)) * 2 - t1new.bb += einsum(v.aaaa.ovov, (0, 1, 2, 3), t3.abaaba, (0, 4, 2, 3, 5, 1), (4, 5)) * -1 - t1new.bb += einsum(v.bbbb.oovv, (0, 1, 2, 3), t1.bb, (1, 3), (0, 2)) * -1 - t1new.bb += einsum(t2.abab, (0, 1, 2, 3), tmp11, (0, 2), (1, 3)) - t1new.bb += einsum(t2.bbbb, (0, 1, 2, 3), tmp17, (1, 3), (0, 2)) * 2 - tmp35 = np.copy(f.bb.oo) - tmp32 = einsum(t1.aa, (0, 1), v.aabb.ovoo, (0, 1, 2, 3), (2, 3)) - tmp35 += np.transpose(tmp32, (1, 0)) - tmp33 = np.copy(v.bbbb.ooov) * -1 - tmp33 += np.transpose(v.bbbb.ooov, (0, 2, 1, 3)) - tmp34 = einsum(tmp33, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1)) - tmp35 += np.transpose(tmp34, (1, 0)) * -1 - del tmp34 - t1new.bb += einsum(tmp35, (0, 1), t1.bb, (0, 2), (1, 2)) * -1 - tmp186 = einsum(v.bbbb.ooov, (0, 1, 2, 3), t3.bbbbbb, (4, 2, 1, 5, 6, 3), (4, 0, 5, 6)) * -1 - t2new.bbbb = np.copy(np.transpose(tmp186, (0, 1, 3, 2))) * 6 - tmp187 = einsum(v.bbbb.oooo, (0, 1, 2, 3), t2.bbbb, (3, 1, 4, 5), (0, 2, 4, 5)) * -1 - t2new.bbbb += np.transpose(tmp187, (1, 0, 3, 2)) * 2 - del tmp187 - tmp188 = einsum(t1.bb, (0, 1), v.bbbb.oooo, (2, 3, 4, 0), (2, 3, 4, 1)) - tmp189 = einsum(t1.bb, (0, 1), tmp188, (2, 0, 3, 4), (2, 3, 1, 4)) - t2new.bbbb += np.transpose(tmp189, (1, 0, 3, 2)) - tmp190 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), v.aabb.ovoo, (1, 4, 6, 2), (0, 6, 3, 5)) - t2new.bbbb += np.transpose(tmp190, (0, 1, 3, 2)) * 2 - t2new.bbbb += einsum(tmp35, (0, 1), t2.bbbb, (2, 0, 3, 4), (2, 1, 3, 4)) * -1 - tmp193 = np.copy(f.bb.oo) - tmp193 += np.transpose(tmp32, (1, 0)) - del tmp32 - tmp191 = np.copy(v.bbbb.ooov) * -1 - tmp191 += np.transpose(v.bbbb.ooov, (0, 2, 1, 3)) - tmp192 = einsum(t1.bb, (0, 1), tmp191, (2, 3, 0, 1), (2, 3)) - del tmp191 - tmp193 += np.transpose(tmp192, (1, 0)) * -1 - del tmp192 - tmp194 = einsum(t2.bbbb, (0, 1, 2, 3), tmp193, (1, 4), (0, 4, 2, 3)) * -1 - t2new.bbbb += np.transpose(tmp194, (0, 1, 3, 2)) * -1 - t2new.bbbb += np.transpose(tmp189, (1, 0, 2, 3)) * -1 - del tmp189 - t2new.bbbb += np.transpose(tmp190, (1, 0, 3, 2)) * -2 - del tmp190 - t2new.bbbb += np.transpose(tmp186, (1, 0, 3, 2)) * -6 - del tmp186 - t2new.bbbb += einsum(tmp11, (0, 1), t3.babbab, (2, 0, 3, 4, 1, 5), (2, 3, 4, 5)) - tmp195 = einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), tmp17, (2, 5), (0, 1, 3, 4)) * 3 - t2new.bbbb += tmp195 * 2 - del tmp195 - tmp123 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 1, 4), (3, 4)) - tmp196 = np.copy(tmp123) * 0.5 - tmp124 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (0, 2, 4, 3), (4, 1)) - tmp196 += tmp124 - t2new.bbbb += einsum(t2.bbbb, (0, 1, 2, 3), tmp196, (4, 3), (0, 1, 2, 4)) * -4 - del tmp196 - t2new.bbbb += np.transpose(tmp194, (1, 0, 3, 2)) * 2 - del tmp194 - tmp198 = np.copy(f.aa.ov) - tmp198 += tmp1 - del tmp1 - tmp91 = np.copy(np.transpose(v.aaaa.ovov, (0, 2, 3, 1))) * -1 - tmp91 += np.transpose(v.aaaa.ovov, (0, 2, 1, 3)) - tmp197 = einsum(t1.aa, (0, 1), tmp91, (0, 2, 3, 1), (2, 3)) - tmp198 += tmp197 * -1 - del tmp197 - t2new.bbbb += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), tmp198, (1, 4), (0, 2, 3, 5)) - tmp199 = einsum(v.bbbb.ovvv, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 0, 6, 1, 3), (4, 5, 6, 2)) - t2new.bbbb += np.transpose(tmp199, (1, 0, 3, 2)) * -6 - tmp200 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 5), (1, 4, 3, 5)) - t2new.bbbb += np.transpose(tmp200, (1, 0, 3, 2)) - tmp201 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), v.aabb.ovvv, (1, 4, 6, 5), (0, 2, 3, 6)) - t2new.bbbb += np.transpose(tmp201, (1, 0, 3, 2)) * 2 - tmp202 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 5, 1, 3), (0, 4, 2, 5)) - t2new.bbbb += np.transpose(tmp202, (1, 0, 3, 2)) * 2 - tmp205 = np.copy(f.bb.vv) * -0.5 - tmp205 += np.transpose(tmp24, (1, 0)) * -0.5 - tmp205 += np.transpose(tmp123, (1, 0)) * 0.5 - tmp205 += np.transpose(tmp124, (1, 0)) - tmp203 = np.copy(v.bbbb.ovvv) * -1 - tmp203 += np.transpose(v.bbbb.ovvv, (0, 2, 1, 3)) - tmp204 = einsum(tmp203, (0, 1, 2, 3), t1.bb, (0, 2), (1, 3)) * 0.5 - tmp205 += tmp204 * -1 - del tmp204 - t2new.bbbb += einsum(tmp205, (0, 1), t2.bbbb, (2, 3, 4, 0), (2, 3, 1, 4)) * 4 - tmp206 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), v.aabb.ovov, (1, 4, 6, 5), (0, 2, 6, 3)) - tmp209 = np.copy(np.transpose(tmp206, (2, 1, 0, 3))) * -0.3333333333333333 - tmp207 = einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), v.bbbb.ovov, (6, 4, 2, 5), (0, 1, 6, 3)) - tmp209 += np.transpose(tmp207, (2, 1, 0, 3)) * -1 - tmp208 = einsum(tmp17, (0, 1), t2.bbbb, (2, 3, 4, 1), (0, 2, 3, 4)) * -0.3333333333333333 - tmp209 += np.transpose(tmp208, (0, 2, 1, 3)) - t2new.bbbb += einsum(tmp209, (0, 1, 2, 3), t1.bb, (0, 4), (2, 1, 4, 3)) * -6 - del tmp209 - t2new.bbbb += np.transpose(tmp199, (1, 0, 2, 3)) * 6 - del tmp199 - t2new.bbbb += np.transpose(tmp200, (1, 0, 2, 3)) * -1 - t2new.bbbb += np.transpose(tmp201, (1, 0, 2, 3)) * -2 - del tmp201 - t2new.bbbb += np.transpose(tmp202, (1, 0, 2, 3)) * -2 - tmp211 = np.copy(f.bb.vv) - tmp211 += np.transpose(tmp24, (1, 0)) - tmp210 = np.copy(v.bbbb.ovvv) - tmp210 += np.transpose(v.bbbb.ovvv, (0, 2, 1, 3)) * -1 - tmp211 += einsum(tmp210, (0, 1, 2, 3), t1.bb, (0, 2), (1, 3)) * -1 - del tmp210 - t2new.bbbb += einsum(t2.bbbb, (0, 1, 2, 3), tmp211, (3, 4), (0, 1, 2, 4)) * 2 - del tmp211 - tmp213 = np.copy(np.transpose(tmp206, (2, 1, 0, 3))) * -1 - tmp213 += np.transpose(tmp207, (2, 1, 0, 3)) * -3 - tmp212 = einsum(tmp17, (0, 1), t2.bbbb, (2, 3, 4, 1), (0, 2, 3, 4)) * -1 - tmp213 += np.transpose(tmp212, (0, 2, 1, 3)) - t2new.bbbb += einsum(t1.bb, (0, 1), tmp213, (0, 2, 3, 4), (3, 2, 4, 1)) * 2 - tmp214 = einsum(t1.bb, (0, 1), v.bbbb.oovv, (2, 3, 4, 1), (0, 2, 3, 4)) - tmp215 = einsum(tmp214, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 4, 3)) - t2new.bbbb += np.transpose(tmp215, (1, 0, 3, 2)) - tmp216 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), tmp22, (1, 6, 2, 4), (6, 0, 3, 5)) - t2new.bbbb += np.transpose(tmp216, (1, 0, 3, 2)) * 2 - tmp217 = einsum(v.bbbb.ooov, (0, 1, 2, 3), t1.bb, (4, 3), (4, 0, 1, 2)) - tmp218 = einsum(t2.bbbb, (0, 1, 2, 3), tmp217, (4, 5, 1, 0), (4, 5, 2, 3)) * -1 - t2new.bbbb += np.transpose(tmp218, (1, 0, 3, 2)) * -2 - tmp219 = einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), tmp23, (6, 1, 2, 5), (6, 0, 3, 4)) * -1 - t2new.bbbb += np.transpose(tmp219, (1, 0, 3, 2)) * 6 - tmp220 = einsum(tmp217, (0, 1, 2, 3), t1.bb, (3, 4), (0, 1, 2, 4)) - tmp221 = einsum(tmp220, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 4, 3)) - del tmp220 - t2new.bbbb += np.transpose(tmp221, (1, 0, 2, 3)) - t2new.bbbb += np.transpose(tmp221, (1, 0, 3, 2)) * -1 - tmp223 = np.copy(tmp28) * 0.5 - tmp223 += tmp29 - tmp222 = einsum(t1.bb, (0, 1), tmp17, (2, 1), (2, 0)) * 0.5 - tmp223 += np.transpose(tmp222, (1, 0)) - tmp224 = einsum(tmp223, (0, 1), t2.bbbb, (2, 1, 3, 4), (2, 0, 3, 4)) * -2 - t2new.bbbb += np.transpose(tmp224, (0, 1, 3, 2)) * -2 - t2new.bbbb += np.transpose(tmp215, (1, 0, 2, 3)) * -1 - t2new.bbbb += np.transpose(tmp215, (0, 1, 3, 2)) * -1 - t2new.bbbb += np.transpose(tmp216, (0, 1, 3, 2)) * -2 - del tmp216 - t2new.bbbb += np.transpose(tmp218, (0, 1, 3, 2)) * 2 - del tmp218 - t2new.bbbb += np.transpose(tmp219, (0, 1, 3, 2)) * -6 - del tmp219 - t2new.bbbb += tmp221 * -1 - t2new.bbbb += np.transpose(tmp221, (0, 1, 3, 2)) - del tmp221 - t2new.bbbb += np.transpose(tmp224, (1, 0, 3, 2)) * 2 - del tmp224 - t2new.bbbb += tmp215 - del tmp215 - t2new.bbbb += np.transpose(v.bbbb.ovov, (0, 2, 1, 3)) - tmp143 = einsum(t1.bb, (0, 1), v.aabb.ovvv, (2, 3, 4, 1), (2, 0, 3, 4)) - tmp225 = einsum(t2.abab, (0, 1, 2, 3), tmp143, (0, 4, 2, 5), (4, 1, 3, 5)) - t2new.bbbb += np.transpose(tmp225, (1, 0, 3, 2)) * -1 - tmp226 = einsum(t1.bb, (0, 1), tmp23, (2, 3, 0, 4), (2, 3, 1, 4)) - t2new.bbbb += np.transpose(tmp226, (1, 0, 3, 2)) * -1 - tmp227 = einsum(v.bbbb.ovvv, (0, 1, 2, 3), t1.bb, (4, 3), (4, 0, 1, 2)) - t2new.bbbb += np.transpose(tmp227, (1, 0, 2, 3)) - tmp228 = einsum(tmp203, (0, 1, 2, 3), t1.bb, (4, 2), (0, 4, 1, 3)) - t2new.bbbb += einsum(t2.bbbb, (0, 1, 2, 3), tmp228, (1, 4, 3, 5), (0, 4, 5, 2)) * 2 - tmp229 = einsum(t2.abab, (0, 1, 2, 3), tmp22, (0, 4, 5, 2), (4, 1, 5, 3)) - tmp231 = np.copy(tmp229) - tmp178 = np.copy(tmp23) - tmp178 += np.transpose(tmp23, (0, 2, 1, 3)) * -1 - tmp230 = einsum(tmp178, (0, 1, 2, 3), t2.bbbb, (4, 1, 5, 3), (4, 0, 2, 5)) - tmp231 += np.transpose(tmp230, (1, 0, 2, 3)) * 2 - del tmp230 - tmp232 = einsum(t1.bb, (0, 1), tmp231, (2, 3, 0, 4), (2, 3, 4, 1)) - t2new.bbbb += np.transpose(tmp232, (1, 0, 3, 2)) - t2new.bbbb += np.transpose(v.bbbb.ovov, (0, 2, 3, 1)) * -1 - t2new.bbbb += np.transpose(tmp225, (0, 1, 3, 2)) - t2new.bbbb += np.transpose(tmp226, (0, 1, 3, 2)) - t2new.bbbb += tmp227 * -1 - tmp175 = np.copy(v.bbbb.ovvv) * -1 - tmp175 += np.transpose(v.bbbb.ovvv, (0, 2, 1, 3)) - tmp176 = einsum(t1.bb, (0, 1), tmp175, (2, 3, 1, 4), (2, 0, 3, 4)) - tmp233 = einsum(tmp176, (0, 1, 2, 3), t2.bbbb, (4, 0, 5, 2), (4, 1, 5, 3)) * -1 - t2new.bbbb += np.transpose(tmp233, (1, 0, 3, 2)) * 2 - t2new.bbbb += np.transpose(tmp232, (0, 1, 3, 2)) * -1 - tmp234 = einsum(v.bbbb.ooov, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 4, 3)) - t2new.bbbb += np.transpose(tmp234, (0, 1, 3, 2)) - tmp126 = einsum(t2.bbbb, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (4, 0, 5, 2)) - tmp235 = einsum(t2.abab, (0, 1, 2, 3), tmp126, (0, 4, 2, 5), (1, 4, 3, 5)) - t2new.bbbb += tmp235 * 2 - t2new.bbbb += np.transpose(tmp235, (1, 0, 3, 2)) * 2 - tmp238 = np.copy(v.bbbb.oovv) - tmp236 = np.copy(np.transpose(v.bbbb.ovov, (0, 2, 3, 1))) * -1 - tmp236 += np.transpose(v.bbbb.ovov, (0, 2, 1, 3)) - tmp237 = einsum(tmp236, (0, 1, 2, 3), t2.bbbb, (4, 0, 5, 2), (4, 1, 5, 3)) - del tmp236 - tmp238 += tmp237 * -2 - del tmp237 - tmp239 = einsum(tmp238, (0, 1, 2, 3), t2.bbbb, (4, 1, 5, 3), (4, 0, 5, 2)) - del tmp238 - t2new.bbbb += np.transpose(tmp239, (1, 0, 3, 2)) * -2 - tmp240 = np.copy(np.transpose(v.aaaa.ovov, (0, 2, 3, 1))) - tmp240 += np.transpose(v.aaaa.ovov, (0, 2, 1, 3)) * -1 - tmp241 = einsum(tmp240, (0, 1, 2, 3), t2.abab, (0, 4, 3, 5), (1, 4, 2, 5)) - tmp242 = einsum(tmp241, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (1, 4, 3, 5)) - t2new.bbbb += tmp242 - tmp243 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovoo, (0, 2, 4, 5), (1, 4, 5, 3)) - tmp246 = np.copy(np.transpose(tmp243, (0, 2, 1, 3))) - tmp244 = np.copy(v.bbbb.ooov) - tmp244 += np.transpose(v.bbbb.ooov, (0, 2, 1, 3)) * -1 - tmp245 = einsum(tmp244, (0, 1, 2, 3), t2.bbbb, (4, 2, 5, 3), (4, 0, 1, 5)) - tmp246 += np.transpose(tmp245, (0, 2, 1, 3)) * 2 - tmp247 = einsum(t1.bb, (0, 1), tmp246, (2, 0, 3, 4), (2, 3, 4, 1)) - t2new.bbbb += np.transpose(tmp247, (1, 0, 3, 2)) * -1 - t2new.bbbb += np.transpose(tmp234, (1, 0, 3, 2)) * -1 - t2new.bbbb += np.transpose(tmp235, (0, 1, 3, 2)) * -2 - t2new.bbbb += np.transpose(tmp235, (1, 0, 2, 3)) * -2 - del tmp235 - t2new.bbbb += np.transpose(tmp239, (0, 1, 3, 2)) * 2 - del tmp239 - t2new.bbbb += np.transpose(tmp242, (1, 0, 2, 3)) * -1 - del tmp242 - tmp249 = np.copy(np.transpose(tmp243, (0, 2, 1, 3))) - tmp248 = np.copy(v.bbbb.ooov) - tmp248 += np.transpose(v.bbbb.ooov, (0, 2, 1, 3)) * -1 - tmp249 += einsum(tmp248, (0, 1, 2, 3), t2.bbbb, (4, 2, 5, 3), (4, 1, 0, 5)) * 2 - t2new.bbbb += einsum(tmp249, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 4, 3)) - del tmp249 - tmp250 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.oovv, (4, 1, 5, 3), (0, 4, 2, 5)) - t2new.bbbb += np.transpose(tmp250, (1, 0, 2, 3)) * 2 - t2new.bbbb += tmp234 * -1 - t2new.bbbb += np.transpose(tmp247, (1, 0, 2, 3)) - t2new.bbbb += tmp250 * -2 - del tmp250 - t2new.bbbb += np.transpose(tmp234, (1, 0, 2, 3)) - del tmp234 - t2new.bbbb += tmp247 * -1 - del tmp247 - tmp251 = einsum(tmp23, (0, 1, 2, 3), t1.bb, (4, 3), (0, 4, 2, 1)) - tmp252 = einsum(tmp251, (0, 1, 2, 3), t2.bbbb, (2, 3, 4, 5), (0, 1, 4, 5)) - t2new.bbbb += np.transpose(tmp252, (1, 0, 3, 2)) * 2 - del tmp252 - t2new.bbbb += np.transpose(tmp227, (0, 1, 3, 2)) - tmp253 = einsum(t1.bb, (0, 1), tmp251, (2, 3, 4, 0), (2, 3, 4, 1)) - tmp254 = einsum(t1.bb, (0, 1), tmp253, (2, 3, 0, 4), (3, 2, 4, 1)) - t2new.bbbb += np.transpose(tmp254, (1, 0, 2, 3)) * -1 - t2new.bbbb += np.transpose(tmp254, (1, 0, 3, 2)) - del tmp254 - tmp255 = einsum(v.bbbb.vvvv, (0, 1, 2, 3), t1.bb, (4, 3), (4, 0, 1, 2)) - tmp256 = einsum(tmp255, (0, 1, 2, 3), t1.bb, (4, 2), (0, 4, 3, 1)) - t2new.bbbb += np.transpose(tmp256, (1, 0, 2, 3)) * -1 - t2new.bbbb += np.transpose(tmp256, (1, 0, 3, 2)) - del tmp256 - tmp257 = einsum(t1.bb, (0, 1), tmp227, (2, 3, 1, 4), (0, 2, 3, 4)) - tmp258 = einsum(tmp257, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 4, 3)) - t2new.bbbb += np.transpose(tmp258, (0, 1, 3, 2)) - t2new.bbbb += np.transpose(tmp258, (1, 0, 3, 2)) * -1 - tmp259 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 2, 5, 3), (0, 1, 4, 5)) - tmp260 = einsum(tmp259, (0, 1, 2, 3), t2.bbbb, (3, 2, 4, 5), (0, 1, 4, 5)) * -1 - t2new.bbbb += np.transpose(tmp260, (1, 0, 3, 2)) * 2 - del tmp260 - t2new.bbbb += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.vvvv, (4, 3, 5, 2), (0, 1, 4, 5)) * -2 - t2new.bbbb += np.transpose(tmp227, (1, 0, 3, 2)) * -1 - del tmp227 - tmp261 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovvv, (4, 2, 5, 3), (0, 1, 4, 5)) - tmp263 = np.copy(np.transpose(tmp261, (1, 0, 2, 3))) * -1 - tmp262 = einsum(tmp259, (0, 1, 2, 3), t1.bb, (3, 4), (0, 1, 2, 4)) - tmp263 += np.transpose(tmp262, (1, 0, 2, 3)) - t2new.bbbb += einsum(t1.bb, (0, 1), tmp263, (2, 3, 0, 4), (3, 2, 4, 1)) * -2 - t2new.bbbb += np.transpose(tmp202, (0, 1, 3, 2)) * -2 - t2new.bbbb += np.transpose(tmp200, (0, 1, 3, 2)) * -1 - t2new.bbbb += tmp202 * 2 - del tmp202 - t2new.bbbb += tmp200 - t2new.bbbb += np.transpose(tmp225, (1, 0, 2, 3)) - t2new.bbbb += np.transpose(tmp226, (1, 0, 2, 3)) - t2new.bbbb += tmp233 * 2 - t2new.bbbb += np.transpose(tmp232, (1, 0, 2, 3)) * -1 - t2new.bbbb += tmp225 * -1 - del tmp225 - t2new.bbbb += tmp226 * -1 - del tmp226 - t2new.bbbb += np.transpose(tmp233, (1, 0, 2, 3)) * -2 - del tmp233 - t2new.bbbb += tmp232 - del tmp232 - t2new.bbbb += einsum(t1.bb, (0, 1), tmp261, (2, 3, 0, 4), (3, 2, 1, 4)) * 2 - t2new.bbbb += tmp258 * -1 - t2new.bbbb += np.transpose(tmp258, (1, 0, 2, 3)) - del tmp258 - tmp36 = einsum(v.aabb.ooov, (0, 1, 2, 3), t3.abaaba, (4, 2, 1, 5, 3, 6), (4, 0, 5, 6)) - t2new.aaaa = np.copy(np.transpose(tmp36, (0, 1, 3, 2))) * 2 - tmp37 = einsum(v.aaaa.oooo, (0, 1, 2, 3), t2.aaaa, (1, 3, 4, 5), (0, 2, 4, 5)) - t2new.aaaa += np.transpose(tmp37, (1, 0, 3, 2)) * 2 - del tmp37 - tmp38 = einsum(t1.aa, (0, 1), v.aaaa.oooo, (2, 3, 4, 0), (2, 3, 4, 1)) - tmp39 = einsum(t1.aa, (0, 1), tmp38, (2, 0, 3, 4), (3, 2, 4, 1)) - t2new.aaaa += np.transpose(tmp39, (1, 0, 3, 2)) - tmp40 = einsum(v.aaaa.ooov, (0, 1, 2, 3), t3.aaaaaa, (4, 2, 1, 5, 6, 3), (4, 0, 5, 6)) * -1 - t2new.aaaa += np.transpose(tmp40, (0, 1, 3, 2)) * 6 - t2new.aaaa += einsum(tmp21, (0, 1), t2.aaaa, (2, 0, 3, 4), (2, 1, 3, 4)) * -1 - tmp43 = np.copy(f.aa.oo) - tmp43 += np.transpose(tmp18, (1, 0)) - del tmp18 - tmp41 = np.copy(v.aaaa.ooov) - tmp41 += np.transpose(v.aaaa.ovoo, (0, 2, 3, 1)) * -1 - tmp42 = einsum(t1.aa, (0, 1), tmp41, (0, 2, 3, 1), (2, 3)) - del tmp41 - tmp43 += np.transpose(tmp42, (1, 0)) * -1 - del tmp42 - tmp44 = einsum(tmp43, (0, 1), t2.aaaa, (2, 0, 3, 4), (1, 2, 3, 4)) * -1 - t2new.aaaa += np.transpose(tmp44, (1, 0, 3, 2)) * -1 - t2new.aaaa += np.transpose(tmp39, (1, 0, 2, 3)) * -1 - del tmp39 - t2new.aaaa += np.transpose(tmp36, (1, 0, 3, 2)) * -2 - del tmp36 - t2new.aaaa += np.transpose(tmp40, (1, 0, 3, 2)) * -6 - del tmp40 - t2new.aaaa += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), tmp17, (1, 4), (0, 2, 3, 5)) - tmp45 = einsum(tmp11, (0, 1), t3.aaaaaa, (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) * 3 - t2new.aaaa += tmp45 * 2 - del tmp45 - tmp46 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (0, 3, 1, 4), (2, 4)) * -1 - tmp48 = np.copy(tmp46) * 2 - tmp47 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 4, 1, 3), (2, 4)) - tmp48 += tmp47 - t2new.aaaa += einsum(tmp48, (0, 1), t2.aaaa, (2, 3, 4, 1), (2, 3, 4, 0)) * -2 - t2new.aaaa += np.transpose(tmp44, (0, 1, 3, 2)) * 2 - del tmp44 - tmp51 = np.copy(f.bb.ov) - tmp51 += tmp14 - del tmp14 - tmp49 = np.copy(np.transpose(v.bbbb.ovov, (0, 2, 3, 1))) - tmp49 += np.transpose(v.bbbb.ovov, (0, 2, 1, 3)) * -1 - tmp50 = einsum(tmp49, (0, 1, 2, 3), t1.bb, (0, 2), (1, 3)) - tmp51 += tmp50 * -1 - del tmp50 - t2new.aaaa += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), tmp51, (1, 4), (0, 2, 3, 5)) - tmp52 = einsum(v.aaaa.ovvv, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 0, 6, 3, 1), (4, 5, 6, 2)) * -1 - t2new.aaaa += np.transpose(tmp52, (1, 0, 3, 2)) * -6 - tmp53 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (0, 4, 2, 5)) - t2new.aaaa += np.transpose(tmp53, (1, 0, 3, 2)) - tmp54 = einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), v.aabb.vvov, (6, 5, 1, 4), (0, 2, 3, 6)) - t2new.aaaa += np.transpose(tmp54, (1, 0, 3, 2)) * 2 - tmp55 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 5, 1, 3), (0, 4, 2, 5)) - t2new.aaaa += np.transpose(tmp55, (1, 0, 3, 2)) * 2 - tmp58 = np.copy(f.aa.vv) * -1 - tmp58 += np.transpose(tmp3, (1, 0)) * -1 - tmp58 += np.transpose(tmp46, (1, 0)) * 2 - tmp58 += np.transpose(tmp47, (1, 0)) - tmp56 = np.copy(v.aaaa.ovvv) - tmp56 += np.transpose(v.aaaa.ovvv, (0, 2, 3, 1)) * -1 - tmp57 = einsum(t1.aa, (0, 1), tmp56, (0, 1, 2, 3), (2, 3)) - tmp58 += np.transpose(tmp57, (1, 0)) * -1 - del tmp57 - t2new.aaaa += einsum(tmp58, (0, 1), t2.aaaa, (2, 3, 4, 0), (2, 3, 1, 4)) * 2 - tmp59 = einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), v.aaaa.ovov, (6, 5, 2, 4), (0, 1, 6, 3)) * -1 - tmp62 = np.copy(np.transpose(tmp59, (2, 1, 0, 3))) * -3 - tmp60 = einsum(v.aabb.ovov, (0, 1, 2, 3), t3.abaaba, (4, 2, 5, 6, 3, 1), (4, 5, 0, 6)) - tmp62 += np.transpose(tmp60, (2, 1, 0, 3)) * -1 - tmp61 = einsum(t2.aaaa, (0, 1, 2, 3), tmp11, (4, 3), (4, 0, 1, 2)) * -1 - tmp62 += np.transpose(tmp61, (0, 2, 1, 3)) - t2new.aaaa += einsum(t1.aa, (0, 1), tmp62, (0, 2, 3, 4), (3, 2, 1, 4)) * -2 - t2new.aaaa += np.transpose(tmp52, (1, 0, 2, 3)) * 6 - del tmp52 - t2new.aaaa += np.transpose(tmp53, (1, 0, 2, 3)) * -1 - t2new.aaaa += np.transpose(tmp54, (1, 0, 2, 3)) * -2 - del tmp54 - t2new.aaaa += np.transpose(tmp55, (1, 0, 2, 3)) * -2 - t2new.aaaa += einsum(tmp6, (0, 1), t2.aaaa, (2, 3, 4, 0), (2, 3, 4, 1)) * 2 - del tmp6 - tmp64 = np.copy(np.transpose(tmp59, (2, 1, 0, 3))) * -1 - tmp64 += np.transpose(tmp60, (2, 1, 0, 3)) * -0.3333333333333333 - tmp63 = einsum(t2.aaaa, (0, 1, 2, 3), tmp11, (4, 3), (4, 0, 1, 2)) * -0.3333333333333333 - tmp64 += np.transpose(tmp63, (0, 2, 1, 3)) - t2new.aaaa += einsum(tmp64, (0, 1, 2, 3), t1.aa, (0, 4), (2, 1, 3, 4)) * 6 - del tmp64 - tmp65 = einsum(t1.aa, (0, 1), v.aaaa.oovv, (2, 3, 4, 1), (0, 2, 3, 4)) - tmp66 = einsum(t1.aa, (0, 1), tmp65, (2, 3, 0, 4), (2, 3, 1, 4)) - t2new.aaaa += np.transpose(tmp66, (1, 0, 3, 2)) - tmp67 = einsum(v.aaaa.ooov, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 1, 2)) - tmp68 = einsum(tmp67, (0, 1, 2, 3), t2.aaaa, (3, 2, 4, 5), (0, 1, 4, 5)) * -1 - t2new.aaaa += np.transpose(tmp68, (1, 0, 3, 2)) * -2 - tmp69 = einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), tmp2, (6, 2, 1, 4), (6, 0, 3, 5)) - t2new.aaaa += np.transpose(tmp69, (1, 0, 3, 2)) * 2 - tmp70 = einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), tmp0, (6, 1, 2, 5), (6, 0, 3, 4)) * -1 - t2new.aaaa += np.transpose(tmp70, (1, 0, 3, 2)) * 6 - tmp71 = einsum(tmp67, (0, 1, 2, 3), t1.aa, (3, 4), (0, 1, 2, 4)) - tmp72 = einsum(t1.aa, (0, 1), tmp71, (2, 3, 0, 4), (2, 3, 1, 4)) - del tmp71 - t2new.aaaa += np.transpose(tmp72, (1, 0, 2, 3)) - t2new.aaaa += np.transpose(tmp72, (1, 0, 3, 2)) * -1 - tmp74 = np.copy(tmp7) - tmp74 += tmp8 * 0.5 - tmp73 = einsum(t1.aa, (0, 1), tmp11, (2, 1), (2, 0)) * 0.5 - tmp74 += np.transpose(tmp73, (1, 0)) - del tmp73 - tmp75 = einsum(tmp74, (0, 1), t2.aaaa, (2, 1, 3, 4), (0, 2, 3, 4)) * -2 - t2new.aaaa += np.transpose(tmp75, (1, 0, 3, 2)) * -2 - t2new.aaaa += np.transpose(tmp66, (1, 0, 2, 3)) * -1 - t2new.aaaa += np.transpose(tmp66, (0, 1, 3, 2)) * -1 - t2new.aaaa += np.transpose(tmp68, (0, 1, 3, 2)) * 2 - del tmp68 - t2new.aaaa += np.transpose(tmp69, (0, 1, 3, 2)) * -2 - del tmp69 - t2new.aaaa += np.transpose(tmp70, (0, 1, 3, 2)) * -6 - del tmp70 - t2new.aaaa += tmp72 * -1 - t2new.aaaa += np.transpose(tmp72, (0, 1, 3, 2)) - del tmp72 - t2new.aaaa += np.transpose(tmp75, (0, 1, 3, 2)) * 2 - del tmp75 - t2new.aaaa += tmp66 - del tmp66 - tmp76 = einsum(v.aabb.vvov, (0, 1, 2, 3), t1.aa, (4, 1), (4, 2, 0, 3)) - tmp77 = einsum(tmp76, (0, 1, 2, 3), t2.abab, (4, 1, 5, 3), (0, 4, 5, 2)) - t2new.aaaa += np.transpose(tmp77, (1, 0, 3, 2)) * -1 - t2new.aaaa += np.transpose(v.aaaa.ovov, (0, 2, 1, 3)) - tmp78 = einsum(v.aaaa.ovvv, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 1, 2)) - t2new.aaaa += np.transpose(tmp78, (1, 0, 2, 3)) - tmp79 = einsum(t1.aa, (0, 1), tmp0, (2, 3, 0, 4), (2, 3, 1, 4)) - t2new.aaaa += np.transpose(tmp79, (1, 0, 3, 2)) * -1 - tmp80 = einsum(t1.aa, (0, 1), tmp56, (2, 1, 3, 4), (2, 0, 3, 4)) - t2new.aaaa += einsum(tmp80, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 3), (4, 1, 2, 5)) * 2 - tmp81 = einsum(t2.abab, (0, 1, 2, 3), tmp2, (4, 5, 1, 3), (4, 0, 5, 2)) - tmp84 = np.copy(tmp81) - tmp82 = np.copy(tmp0) * -1 - tmp82 += np.transpose(tmp0, (0, 2, 1, 3)) - tmp83 = einsum(t2.aaaa, (0, 1, 2, 3), tmp82, (4, 5, 1, 3), (4, 5, 0, 2)) - tmp84 += np.transpose(tmp83, (0, 2, 1, 3)) * 2 - tmp85 = einsum(t1.aa, (0, 1), tmp84, (2, 3, 0, 4), (2, 3, 4, 1)) - t2new.aaaa += np.transpose(tmp85, (1, 0, 3, 2)) - t2new.aaaa += np.transpose(tmp77, (0, 1, 3, 2)) - t2new.aaaa += np.transpose(v.aaaa.ovov, (0, 2, 3, 1)) * -1 - t2new.aaaa += tmp78 * -1 - t2new.aaaa += np.transpose(tmp79, (0, 1, 3, 2)) - tmp86 = np.copy(v.aaaa.ovvv) - tmp86 += np.transpose(v.aaaa.ovvv, (0, 2, 3, 1)) * -1 - tmp87 = einsum(tmp86, (0, 1, 2, 3), t1.aa, (4, 1), (0, 4, 2, 3)) - tmp88 = einsum(t2.aaaa, (0, 1, 2, 3), tmp87, (1, 4, 5, 3), (4, 0, 5, 2)) * -1 - t2new.aaaa += tmp88 * 2 - t2new.aaaa += np.transpose(tmp85, (0, 1, 3, 2)) * -1 - tmp89 = einsum(t1.aa, (0, 1), v.aaaa.ooov, (2, 0, 3, 4), (2, 3, 1, 4)) - t2new.aaaa += np.transpose(tmp89, (0, 1, 3, 2)) - tmp90 = einsum(tmp53, (0, 1, 2, 3), t2.aaaa, (4, 1, 5, 3), (4, 0, 5, 2)) - t2new.aaaa += tmp90 * 2 - t2new.aaaa += np.transpose(tmp90, (1, 0, 3, 2)) * 2 - tmp93 = np.copy(v.aaaa.oovv) - tmp92 = einsum(t2.aaaa, (0, 1, 2, 3), tmp91, (1, 4, 3, 5), (4, 0, 5, 2)) - tmp93 += np.transpose(tmp92, (1, 0, 3, 2)) * -2 - del tmp92 - tmp94 = einsum(t2.aaaa, (0, 1, 2, 3), tmp93, (4, 1, 5, 3), (4, 0, 5, 2)) - del tmp93 - t2new.aaaa += tmp94 * -2 - tmp95 = einsum(tmp49, (0, 1, 2, 3), t2.abab, (4, 0, 5, 2), (4, 1, 5, 3)) - tmp96 = einsum(tmp95, (0, 1, 2, 3), t2.abab, (4, 1, 5, 3), (0, 4, 2, 5)) * -1 - t2new.aaaa += tmp96 - tmp97 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ooov, (4, 5, 1, 3), (0, 4, 5, 2)) - tmp100 = np.copy(np.transpose(tmp97, (0, 2, 1, 3))) - tmp98 = np.copy(v.aaaa.ooov) - tmp98 += np.transpose(v.aaaa.ooov, (0, 2, 1, 3)) * -1 - tmp99 = einsum(t2.aaaa, (0, 1, 2, 3), tmp98, (4, 5, 1, 3), (4, 5, 0, 2)) - tmp100 += np.transpose(tmp99, (2, 1, 0, 3)) * 2 - tmp101 = einsum(t1.aa, (0, 1), tmp100, (2, 0, 3, 4), (2, 3, 4, 1)) - t2new.aaaa += np.transpose(tmp101, (1, 0, 3, 2)) * -1 - t2new.aaaa += np.transpose(tmp89, (1, 0, 3, 2)) * -1 - t2new.aaaa += np.transpose(tmp90, (0, 1, 3, 2)) * -2 - t2new.aaaa += np.transpose(tmp90, (1, 0, 2, 3)) * -2 - del tmp90 - t2new.aaaa += np.transpose(tmp94, (1, 0, 2, 3)) * 2 - del tmp94 - t2new.aaaa += np.transpose(tmp96, (0, 1, 3, 2)) * -1 - del tmp96 - tmp104 = np.copy(np.transpose(tmp97, (0, 2, 1, 3))) - tmp102 = np.copy(v.aaaa.ooov) - tmp102 += np.transpose(v.aaaa.ooov, (0, 2, 1, 3)) * -1 - tmp103 = einsum(t2.aaaa, (0, 1, 2, 3), tmp102, (4, 5, 1, 3), (4, 5, 0, 2)) * 2 - tmp104 += np.transpose(tmp103, (2, 1, 0, 3)) - t2new.aaaa += einsum(t1.aa, (0, 1), tmp104, (2, 0, 3, 4), (2, 3, 1, 4)) - del tmp104 - tmp105 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.oovv, (4, 1, 5, 3), (0, 4, 2, 5)) - t2new.aaaa += np.transpose(tmp105, (1, 0, 2, 3)) * 2 - t2new.aaaa += tmp89 * -1 - t2new.aaaa += np.transpose(tmp101, (1, 0, 2, 3)) - t2new.aaaa += tmp105 * -2 - del tmp105 - t2new.aaaa += np.transpose(tmp89, (1, 0, 2, 3)) - del tmp89 - t2new.aaaa += tmp101 * -1 - del tmp101 - t2new.aaaa += np.transpose(tmp78, (0, 1, 3, 2)) - tmp106 = einsum(t1.aa, (0, 1), tmp0, (2, 3, 4, 1), (2, 0, 4, 3)) - tmp107 = einsum(t2.aaaa, (0, 1, 2, 3), tmp106, (4, 5, 0, 1), (4, 5, 2, 3)) - t2new.aaaa += np.transpose(tmp107, (1, 0, 3, 2)) * 2 - del tmp107 - tmp108 = einsum(tmp78, (0, 1, 2, 3), t1.aa, (4, 2), (4, 0, 1, 3)) - tmp109 = einsum(t1.aa, (0, 1), tmp108, (2, 3, 0, 4), (2, 3, 1, 4)) - t2new.aaaa += np.transpose(tmp109, (0, 1, 3, 2)) - t2new.aaaa += np.transpose(tmp109, (1, 0, 3, 2)) * -1 - tmp110 = einsum(t1.aa, (0, 1), tmp106, (2, 3, 4, 0), (2, 3, 4, 1)) - tmp111 = einsum(t1.aa, (0, 1), tmp110, (2, 3, 0, 4), (3, 2, 4, 1)) - t2new.aaaa += np.transpose(tmp111, (1, 0, 2, 3)) * -1 - t2new.aaaa += np.transpose(tmp111, (1, 0, 3, 2)) - del tmp111 - tmp112 = einsum(v.aaaa.vvvv, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 1, 2)) - tmp113 = einsum(t1.aa, (0, 1), tmp112, (2, 3, 1, 4), (2, 0, 4, 3)) - t2new.aaaa += np.transpose(tmp113, (1, 0, 2, 3)) * -1 - t2new.aaaa += np.transpose(tmp113, (1, 0, 3, 2)) - del tmp113 - t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.vvvv, (4, 2, 5, 3), (0, 1, 4, 5)) * 2 - tmp114 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 3, 5, 2), (0, 1, 4, 5)) * -1 - tmp115 = einsum(t2.aaaa, (0, 1, 2, 3), tmp114, (4, 5, 1, 0), (4, 5, 2, 3)) * -1 - t2new.aaaa += np.transpose(tmp115, (1, 0, 3, 2)) * 2 - del tmp115 - t2new.aaaa += np.transpose(tmp78, (1, 0, 3, 2)) * -1 - del tmp78 - tmp116 = einsum(v.aaaa.ovvv, (0, 1, 2, 3), t2.aaaa, (4, 5, 3, 1), (4, 5, 0, 2)) * -1 - tmp118 = np.copy(np.transpose(tmp116, (1, 0, 2, 3))) * -1 - tmp117 = einsum(t1.aa, (0, 1), tmp114, (2, 3, 4, 0), (2, 3, 4, 1)) - tmp118 += np.transpose(tmp117, (1, 0, 2, 3)) - t2new.aaaa += einsum(t1.aa, (0, 1), tmp118, (2, 3, 0, 4), (3, 2, 4, 1)) * -2 - t2new.aaaa += np.transpose(tmp55, (0, 1, 3, 2)) * -2 - t2new.aaaa += np.transpose(tmp53, (0, 1, 3, 2)) * -1 - t2new.aaaa += tmp55 * 2 - del tmp55 - t2new.aaaa += tmp53 - t2new.aaaa += np.transpose(tmp77, (1, 0, 2, 3)) - t2new.aaaa += np.transpose(tmp79, (1, 0, 2, 3)) - t2new.aaaa += np.transpose(tmp88, (1, 0, 3, 2)) * 2 - t2new.aaaa += np.transpose(tmp85, (1, 0, 2, 3)) * -1 - t2new.aaaa += tmp77 * -1 - del tmp77 - t2new.aaaa += tmp79 * -1 - del tmp79 - t2new.aaaa += np.transpose(tmp88, (0, 1, 3, 2)) * -2 - del tmp88 - t2new.aaaa += tmp85 - del tmp85 - t2new.aaaa += einsum(t1.aa, (0, 1), tmp116, (2, 3, 0, 4), (3, 2, 1, 4)) * 2 - t2new.aaaa += tmp109 * -1 - t2new.aaaa += np.transpose(tmp109, (1, 0, 2, 3)) - del tmp109 - tmp119 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.oooo, (4, 0, 5, 1), (4, 5, 2, 3)) - t2new.abab = np.copy(tmp119) - del tmp119 - tmp120 = einsum(t1.bb, (0, 1), v.aabb.oooo, (2, 3, 4, 0), (2, 3, 4, 1)) - t2new.abab += einsum(t1.aa, (0, 1), tmp120, (2, 0, 3, 4), (2, 3, 1, 4)) - tmp121 = einsum(v.bbbb.ooov, (0, 1, 2, 3), t3.babbab, (1, 4, 2, 5, 6, 3), (4, 0, 6, 5)) - t2new.abab += tmp121 * -2 - del tmp121 - t2new.abab += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), v.aabb.ovoo, (2, 5, 6, 1), (0, 6, 3, 4)) * -2 - t2new.abab += einsum(tmp35, (0, 1), t2.abab, (2, 0, 3, 4), (2, 1, 3, 4)) * -1 - tmp122 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), v.aabb.ooov, (6, 1, 2, 5), (6, 0, 4, 3)) - t2new.abab += tmp122 * -2 - del tmp122 - t2new.abab += einsum(v.aaaa.ooov, (0, 1, 2, 3), t3.abaaba, (2, 4, 1, 5, 6, 3), (0, 4, 5, 6)) * 2 - t2new.abab += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), tmp11, (2, 5), (0, 1, 3, 4)) * 2 - t2new.abab += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), tmp17, (2, 5), (1, 0, 4, 3)) - tmp125 = np.copy(tmp123) - tmp125 += tmp124 * 2 - t2new.abab += einsum(tmp125, (0, 1), t2.abab, (2, 3, 4, 1), (2, 3, 4, 0)) * -1 - t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp43, (0, 4), (4, 1, 2, 3)) * -1 - t2new.abab += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), v.aabb.vvov, (6, 4, 2, 5), (1, 0, 6, 3)) * 2 - t2new.abab += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), v.aaaa.ovvv, (2, 3, 6, 5), (0, 1, 6, 4)) * -2 - t2new.abab += tmp126 * 2 - t2new.abab += einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.abab, (2, 4, 3, 5), (0, 4, 1, 5)) - t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp58, (2, 4), (0, 1, 4, 3)) * -1 - tmp127 = einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), v.aaaa.ovov, (6, 3, 2, 5), (0, 6, 1, 4)) - tmp130 = np.copy(np.transpose(tmp127, (1, 0, 2, 3))) - tmp128 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), v.aabb.ovov, (6, 4, 2, 5), (1, 6, 0, 3)) - tmp130 += np.transpose(tmp128, (1, 0, 2, 3)) - tmp129 = einsum(t2.abab, (0, 1, 2, 3), tmp11, (4, 2), (4, 0, 1, 3)) * 0.5 - tmp130 += tmp129 - t2new.abab += einsum(t1.aa, (0, 1), tmp130, (0, 2, 3, 4), (2, 3, 1, 4)) * -2 - del tmp130 - t2new.abab += einsum(v.bbbb.ovvv, (0, 1, 2, 3), t3.babbab, (4, 5, 0, 1, 6, 3), (5, 4, 6, 2)) * -2 - t2new.abab += einsum(v.aabb.ovvv, (0, 1, 2, 3), t3.abaaba, (4, 5, 0, 6, 3, 1), (4, 5, 6, 2)) * 2 - t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp27, (3, 4), (0, 1, 2, 4)) - tmp131 = einsum(v.aabb.ovov, (0, 1, 2, 3), t3.abaaba, (4, 5, 0, 6, 3, 1), (4, 5, 2, 6)) - tmp134 = np.copy(np.transpose(tmp131, (0, 2, 1, 3))) * 2 - tmp132 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), v.bbbb.ovov, (6, 3, 2, 5), (1, 0, 6, 4)) - tmp134 += np.transpose(tmp132, (0, 2, 1, 3)) * 2 - tmp133 = einsum(t2.abab, (0, 1, 2, 3), tmp17, (4, 3), (0, 4, 1, 2)) - tmp134 += tmp133 - t2new.abab += einsum(t1.bb, (0, 1), tmp134, (2, 0, 3, 4), (2, 3, 4, 1)) * -1 - del tmp134 - t2new.abab += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), tmp51, (2, 5), (1, 0, 4, 3)) - t2new.abab += einsum(tmp22, (0, 1, 2, 3), t3.abaaba, (4, 2, 0, 5, 6, 3), (4, 1, 5, 6)) * -2 - tmp135 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), tmp23, (6, 2, 0, 5), (1, 6, 4, 3)) - t2new.abab += tmp135 * -2 - del tmp135 - tmp136 = einsum(t1.bb, (0, 1), v.aabb.ooov, (2, 3, 4, 1), (2, 3, 0, 4)) - t2new.abab += einsum(tmp136, (0, 1, 2, 3), t2.abab, (1, 3, 4, 5), (0, 2, 4, 5)) - tmp137 = einsum(tmp136, (0, 1, 2, 3), t1.bb, (3, 4), (0, 1, 2, 4)) - t2new.abab += einsum(t1.aa, (0, 1), tmp137, (2, 0, 3, 4), (2, 3, 1, 4)) - t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp31, (1, 4), (0, 4, 2, 3)) * -1 - t2new.abab += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), tmp0, (6, 0, 2, 5), (6, 1, 3, 4)) * 2 - tmp138 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), tmp2, (6, 1, 2, 5), (6, 0, 4, 3)) - t2new.abab += tmp138 * -2 - del tmp138 - tmp139 = einsum(v.aabb.ovoo, (0, 1, 2, 3), t1.aa, (4, 1), (4, 0, 2, 3)) - t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp139, (4, 0, 5, 1), (4, 5, 2, 3)) - t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp13, (0, 4), (4, 1, 2, 3)) * -1 - tmp140 = einsum(v.aabb.vvoo, (0, 1, 2, 3), t1.aa, (4, 1), (4, 2, 3, 0)) - tmp142 = np.copy(np.transpose(tmp140, (0, 2, 1, 3))) - tmp141 = einsum(t1.aa, (0, 1), tmp139, (2, 0, 3, 4), (2, 3, 4, 1)) - tmp142 += np.transpose(tmp141, (0, 2, 1, 3)) * -1 - t2new.abab += einsum(tmp142, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 3, 4)) * -1 - del tmp142 - t2new.abab += tmp143 - tmp144 = einsum(t1.bb, (0, 1), v.aabb.vvov, (2, 3, 4, 1), (0, 4, 2, 3)) - t2new.abab += einsum(tmp144, (0, 1, 2, 3), t2.abab, (4, 1, 3, 5), (4, 0, 2, 5)) * -1 - tmp145 = einsum(t2.abab, (0, 1, 2, 3), tmp22, (4, 5, 1, 2), (0, 4, 5, 3)) - t2new.abab += einsum(t1.aa, (0, 1), tmp145, (2, 0, 3, 4), (2, 3, 1, 4)) - t2new.abab += np.transpose(v.aabb.ovov, (0, 2, 1, 3)) - t2new.abab += einsum(t1.bb, (0, 1), tmp22, (2, 3, 0, 4), (2, 3, 4, 1)) * -1 - tmp146 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovoo, (4, 2, 5, 1), (0, 4, 5, 3)) - t2new.abab += einsum(t1.aa, (0, 1), tmp146, (2, 0, 3, 4), (2, 3, 1, 4)) - t2new.abab += einsum(t1.bb, (0, 1), v.aabb.ovoo, (2, 3, 4, 0), (2, 4, 3, 1)) * -1 - tmp148 = np.copy(np.transpose(v.aabb.vvoo, (2, 3, 0, 1))) - tmp147 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 4, 5, 3), (1, 5, 2, 4)) - tmp148 += np.transpose(tmp147, (1, 0, 3, 2)) * -1 - t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp148, (1, 4, 2, 5), (0, 4, 5, 3)) * -1 - del tmp148 - t2new.abab += einsum(t1.aa, (0, 1), v.aabb.ooov, (2, 0, 3, 4), (2, 3, 1, 4)) * -1 - tmp149 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ooov, (4, 0, 5, 3), (4, 1, 5, 2)) - t2new.abab += einsum(t1.bb, (0, 1), tmp149, (2, 3, 0, 4), (2, 3, 4, 1)) - t2new.abab += einsum(t2.abab, (0, 1, 2, 3), v.aabb.oovv, (4, 0, 5, 3), (4, 1, 2, 5)) * -1 - tmp150 = einsum(t1.aa, (0, 1), tmp22, (2, 3, 4, 1), (0, 2, 3, 4)) - t2new.abab += einsum(tmp150, (0, 1, 2, 3), t2.abab, (1, 3, 4, 5), (0, 2, 4, 5)) - tmp152 = np.copy(np.transpose(v.aabb.vvov, (2, 0, 1, 3))) - tmp151 = einsum(t1.bb, (0, 1), v.aabb.vvvv, (2, 3, 4, 1), (0, 2, 3, 4)) - tmp152 += np.transpose(tmp151, (0, 2, 1, 3)) - t2new.abab += einsum(tmp152, (0, 1, 2, 3), t1.aa, (4, 1), (4, 0, 2, 3)) - del tmp152 - tmp153 = einsum(tmp144, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 1, 2)) - tmp155 = np.copy(tmp153) - tmp154 = einsum(t1.aa, (0, 1), tmp150, (2, 0, 3, 4), (2, 3, 4, 1)) - tmp155 += tmp154 * -1 - t2new.abab += einsum(t1.bb, (0, 1), tmp155, (2, 3, 0, 4), (2, 3, 4, 1)) * -1 - tmp156 = np.copy(v.aaaa.oovv) - tmp156 += np.transpose(tmp53, (1, 0, 3, 2)) * -1 - tmp156 += einsum(t2.aaaa, (0, 1, 2, 3), tmp91, (1, 4, 5, 3), (4, 0, 5, 2)) * 2 - del tmp91 - t2new.abab += einsum(tmp156, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (1, 4, 3, 5)) * -1 - del tmp156 - tmp157 = einsum(t2.aaaa, (0, 1, 2, 3), v.aabb.ovov, (1, 3, 4, 5), (0, 4, 2, 5)) - tmp158 = np.copy(tmp157) * 2 - tmp158 += tmp95 * -1 - del tmp95 - t2new.abab += einsum(t2.bbbb, (0, 1, 2, 3), tmp158, (4, 1, 5, 3), (4, 0, 5, 2)) * 2 - tmp159 = einsum(t2.bbbb, (0, 1, 2, 3), v.aabb.ooov, (4, 5, 1, 3), (4, 5, 0, 2)) - tmp162 = np.copy(np.transpose(tmp159, (1, 0, 2, 3))) * 2 - tmp160 = np.copy(v.aaaa.ooov) * -1 - tmp160 += np.transpose(v.aaaa.ovoo, (0, 2, 3, 1)) - tmp161 = einsum(tmp160, (0, 1, 2, 3), t2.abab, (0, 4, 3, 5), (1, 2, 4, 5)) - tmp162 += np.transpose(tmp161, (1, 0, 2, 3)) - t2new.abab += einsum(t1.aa, (0, 1), tmp162, (0, 2, 3, 4), (2, 3, 1, 4)) * -1 - t2new.abab += tmp157 * 2 - t2new.abab += einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 5, 3), (4, 0, 5, 1)) - t2new.abab += einsum(v.bbbb.oovv, (0, 1, 2, 3), t2.abab, (4, 1, 5, 3), (4, 0, 5, 2)) * -1 - tmp163 = einsum(t2.aaaa, (0, 1, 2, 3), v.aabb.ovoo, (1, 3, 4, 5), (0, 4, 5, 2)) - tmp166 = np.copy(np.transpose(tmp163, (0, 2, 1, 3))) * 2 - tmp164 = np.copy(v.bbbb.ooov) * -1 - tmp164 += np.transpose(v.bbbb.ovoo, (0, 2, 3, 1)) - tmp165 = einsum(t2.abab, (0, 1, 2, 3), tmp164, (1, 4, 5, 3), (0, 4, 5, 2)) - tmp166 += np.transpose(tmp165, (0, 2, 1, 3)) - t2new.abab += einsum(tmp166, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 3, 4)) * -1 - t2new.abab += einsum(t2.abab, (0, 1, 2, 3), v.aabb.vvvv, (4, 2, 5, 3), (0, 1, 4, 5)) - tmp167 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 5, 3), (0, 4, 1, 5)) - t2new.abab += einsum(tmp167, (0, 1, 2, 3), t2.abab, (1, 3, 4, 5), (0, 2, 4, 5)) - tmp168 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.vvov, (4, 2, 5, 3), (0, 1, 5, 4)) - tmp170 = np.copy(tmp168) - tmp169 = einsum(t1.aa, (0, 1), tmp167, (2, 0, 3, 4), (2, 3, 4, 1)) - tmp170 += tmp169 * -1 - t2new.abab += einsum(t1.bb, (0, 1), tmp170, (2, 3, 0, 4), (2, 3, 4, 1)) * -1 - t2new.abab += einsum(t2.bbbb, (0, 1, 2, 3), tmp76, (4, 1, 5, 3), (4, 0, 5, 2)) * 2 - t2new.abab += einsum(tmp87, (0, 1, 2, 3), t2.abab, (0, 4, 3, 5), (1, 4, 2, 5)) * -1 - tmp171 = einsum(t2.bbbb, (0, 1, 2, 3), tmp2, (4, 5, 1, 3), (4, 5, 0, 2)) - tmp174 = np.copy(tmp171) * 2 - tmp172 = np.copy(tmp0) - tmp172 += np.transpose(tmp0, (0, 2, 1, 3)) * -1 - tmp173 = einsum(tmp172, (0, 1, 2, 3), t2.abab, (1, 4, 3, 5), (0, 2, 4, 5)) - tmp174 += tmp173 - t2new.abab += einsum(t1.aa, (0, 1), tmp174, (2, 0, 3, 4), (2, 3, 1, 4)) * -1 - t2new.abab += einsum(tmp143, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 2), (4, 1, 5, 3)) * 2 - t2new.abab += einsum(tmp176, (0, 1, 2, 3), t2.abab, (4, 0, 5, 2), (4, 1, 5, 3)) * -1 - tmp177 = einsum(tmp22, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 3), (4, 1, 2, 5)) - tmp180 = np.copy(tmp177) * 2 - tmp179 = einsum(t2.abab, (0, 1, 2, 3), tmp178, (4, 1, 5, 3), (0, 4, 5, 2)) - tmp180 += tmp179 - t2new.abab += einsum(t1.bb, (0, 1), tmp180, (2, 3, 0, 4), (2, 3, 4, 1)) * -1 - tmp181 = einsum(t2.abab, (0, 1, 2, 3), tmp2, (4, 0, 5, 3), (4, 1, 5, 2)) - t2new.abab += einsum(tmp181, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 3, 4)) - t2new.abab += einsum(t1.aa, (0, 1), tmp2, (2, 0, 3, 4), (2, 3, 1, 4)) * -1 - tmp182 = einsum(t1.aa, (0, 1), v.aabb.ovvv, (2, 1, 3, 4), (0, 2, 3, 4)) - t2new.abab += einsum(tmp182, (0, 1, 2, 3), t2.abab, (1, 4, 5, 3), (0, 4, 5, 2)) * -1 - tmp183 = einsum(v.aabb.ovvv, (0, 1, 2, 3), t2.abab, (4, 5, 1, 3), (4, 0, 5, 2)) - t2new.abab += einsum(t1.aa, (0, 1), tmp183, (2, 0, 3, 4), (2, 3, 1, 4)) * -1 - tmp184 = einsum(t1.bb, (0, 1), v.aabb.oovv, (2, 3, 4, 1), (2, 3, 0, 4)) - t2new.abab += einsum(t1.aa, (0, 1), tmp184, (2, 0, 3, 4), (2, 3, 1, 4)) * -1 - tmp185 = einsum(t1.aa, (0, 1), tmp143, (2, 3, 1, 4), (0, 2, 3, 4)) - t2new.abab += einsum(t1.aa, (0, 1), tmp185, (2, 0, 3, 4), (2, 3, 1, 4)) * -1 - tmp264 = einsum(v.aaaa.oooo, (0, 1, 2, 3), t3.aaaaaa, (4, 3, 1, 5, 6, 7), (4, 0, 2, 5, 6, 7)) * -1 - t3new.aaaaaa = np.copy(np.transpose(tmp264, (2, 0, 1, 4, 5, 3))) * 6 - tmp265 = einsum(t2.aaaa, (0, 1, 2, 3), tmp38, (4, 1, 5, 6), (0, 5, 4, 6, 2, 3)) - t3new.aaaaaa += np.transpose(tmp265, (1, 0, 2, 5, 4, 3)) * -2 - tmp266 = einsum(v.aaaa.ooov, (0, 1, 2, 3), t2.aaaa, (2, 1, 4, 5), (0, 4, 5, 3)) * -1 - tmp267 = einsum(tmp266, (0, 1, 2, 3), t2.aaaa, (4, 5, 6, 3), (4, 5, 0, 1, 2, 6)) - t3new.aaaaaa += np.transpose(tmp267, (1, 0, 2, 5, 4, 3)) * -4 - tmp268 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ooov, (4, 5, 6, 3), (0, 1, 4, 5, 6, 2)) - tmp269 = einsum(t1.aa, (0, 1), tmp268, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del tmp268 - tmp270 = einsum(t1.aa, (0, 1), tmp269, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) - del tmp269 - t3new.aaaaaa += np.transpose(tmp270, (1, 0, 2, 5, 3, 4)) * 2 - t3new.aaaaaa += np.transpose(tmp270, (1, 0, 2, 5, 4, 3)) * -2 - tmp271 = einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), tmp21, (2, 6), (0, 1, 6, 3, 4, 5)) * -1 - t3new.aaaaaa += np.transpose(tmp271, (1, 0, 2, 4, 5, 3)) * -3 - tmp272 = einsum(v.aabb.ooov, (0, 1, 2, 3), t3.abaaba, (4, 2, 5, 6, 3, 7), (4, 5, 0, 1, 6, 7)) - tmp274 = np.copy(np.transpose(tmp272, (1, 0, 3, 2, 5, 4))) * 0.3333333333333333 - tmp273 = einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), tmp102, (6, 7, 2, 5), (0, 1, 6, 7, 3, 4)) - tmp274 += np.transpose(tmp273, (0, 1, 3, 2, 4, 5)) - del tmp273 - tmp275 = einsum(tmp274, (0, 1, 2, 3, 4, 5), t1.aa, (2, 6), (0, 1, 3, 4, 5, 6)) * 3 - del tmp274 - t3new.aaaaaa += np.transpose(tmp275, (1, 0, 2, 4, 3, 5)) * -2 - tmp276 = einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), tmp43, (2, 6), (0, 1, 6, 3, 4, 5)) * -1 - t3new.aaaaaa += np.transpose(tmp276, (1, 0, 2, 4, 5, 3)) * -3 - t3new.aaaaaa += np.transpose(tmp267, (1, 0, 2, 4, 5, 3)) * 4 - t3new.aaaaaa += np.transpose(tmp264, (2, 1, 0, 4, 5, 3)) * -6 - t3new.aaaaaa += np.transpose(tmp265, (1, 2, 0, 5, 4, 3)) * 2 - t3new.aaaaaa += np.transpose(tmp267, (1, 2, 0, 5, 4, 3)) * 4 - t3new.aaaaaa += np.transpose(tmp270, (1, 2, 0, 5, 3, 4)) * -2 - t3new.aaaaaa += np.transpose(tmp270, (1, 2, 0, 5, 4, 3)) * 2 - t3new.aaaaaa += np.transpose(tmp276, (1, 2, 0, 4, 5, 3)) * 6 - tmp278 = np.copy(np.transpose(tmp272, (1, 0, 3, 2, 5, 4))) - tmp277 = einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), tmp98, (6, 7, 2, 5), (0, 1, 6, 7, 3, 4)) - tmp278 += np.transpose(tmp277, (0, 1, 3, 2, 4, 5)) * 3 - del tmp277 - tmp279 = einsum(tmp278, (0, 1, 2, 3, 4, 5), t1.aa, (2, 6), (0, 1, 3, 4, 5, 6)) - del tmp278 - t3new.aaaaaa += np.transpose(tmp279, (1, 2, 0, 4, 3, 5)) * 2 - t3new.aaaaaa += np.transpose(tmp267, (1, 2, 0, 4, 5, 3)) * -4 - t3new.aaaaaa += np.transpose(tmp265, (2, 1, 0, 5, 4, 3)) * -2 - t3new.aaaaaa += np.transpose(tmp267, (2, 1, 0, 5, 4, 3)) * -4 - tmp280 = einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), v.aaaa.ovov, (6, 5, 7, 4), (0, 1, 2, 6, 7, 3)) * -1 - tmp281 = einsum(t2.aaaa, (0, 1, 2, 3), tmp280, (4, 5, 6, 1, 0, 7), (4, 5, 6, 2, 3, 7)) * -1 - t3new.aaaaaa += np.transpose(tmp281, (1, 2, 0, 5, 4, 3)) * -6 - t3new.aaaaaa += np.transpose(tmp270, (2, 1, 0, 5, 3, 4)) * 2 - t3new.aaaaaa += np.transpose(tmp270, (2, 1, 0, 5, 4, 3)) * -2 - tmp284 = np.copy(np.transpose(tmp272, (3, 1, 2, 0, 5, 4))) * -1 - tmp282 = einsum(tmp280, (0, 1, 2, 3, 4, 5), t1.aa, (4, 6), (0, 1, 2, 3, 6, 5)) - del tmp280 - tmp284 += np.transpose(tmp282, (3, 1, 2, 0, 4, 5)) * -6 - tmp283 = np.copy(v.aaaa.ooov) * -1 - tmp283 += np.transpose(v.aaaa.ooov, (0, 2, 1, 3)) - tmp284 += einsum(tmp283, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 2, 6, 7, 3), (1, 4, 0, 5, 6, 7)) * 3 - tmp284 += einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), tmp11, (6, 5), (6, 0, 1, 2, 3, 4)) * 3 - t3new.aaaaaa += einsum(t1.aa, (0, 1), tmp284, (0, 2, 3, 4, 5, 6), (3, 4, 2, 6, 5, 1)) - del tmp284 - tmp285 = einsum(tmp48, (0, 1), t3.aaaaaa, (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 6, 0)) * 3 - t3new.aaaaaa += np.transpose(tmp285, (1, 2, 0, 3, 4, 5)) * -2 - del tmp285 - t3new.aaaaaa += np.transpose(tmp271, (2, 1, 0, 4, 5, 3)) * -3 - del tmp271 - t3new.aaaaaa += np.transpose(tmp276, (2, 1, 0, 4, 5, 3)) * -3 - del tmp276 - t3new.aaaaaa += np.transpose(tmp267, (2, 1, 0, 4, 5, 3)) * 4 - del tmp267 - tmp287 = np.copy(np.transpose(tmp272, (3, 1, 2, 0, 5, 4))) * -0.3333333333333333 - del tmp272 - tmp287 += einsum(tmp283, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 2, 6, 7, 3), (1, 4, 0, 5, 6, 7)) - del tmp283 - tmp286 = einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), tmp11, (6, 5), (6, 0, 1, 2, 3, 4)) - tmp287 += np.transpose(tmp286, (0, 2, 3, 1, 4, 5)) - t3new.aaaaaa += einsum(tmp287, (0, 1, 2, 3, 4, 5), t1.aa, (0, 6), (2, 3, 1, 5, 4, 6)) * 3 - del tmp287 - tmp288 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 2, 6, 7, 3), (4, 5, 0, 6, 7, 1)) - t3new.aaaaaa += np.transpose(tmp288, (2, 1, 0, 5, 4, 3)) * 6 - tmp289 = einsum(v.aabb.ovov, (0, 1, 2, 3), t3.abaaba, (4, 2, 5, 6, 3, 7), (4, 5, 0, 6, 7, 1)) - t3new.aaaaaa += np.transpose(tmp289, (2, 1, 0, 5, 4, 3)) * 2 - tmp290 = einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), tmp58, (5, 6), (0, 1, 2, 3, 4, 6)) * 3 - t3new.aaaaaa += np.transpose(tmp290, (1, 2, 0, 5, 3, 4)) * -2 - tmp291 = einsum(tmp286, (0, 1, 2, 3, 4, 5), t1.aa, (0, 6), (2, 3, 1, 4, 5, 6)) * 3 - del tmp286 - t3new.aaaaaa += np.transpose(tmp291, (1, 2, 0, 5, 4, 3)) * 2 - t3new.aaaaaa += np.transpose(tmp288, (2, 1, 0, 4, 5, 3)) * -6 - t3new.aaaaaa += np.transpose(tmp289, (2, 1, 0, 4, 5, 3)) * -2 - t3new.aaaaaa += np.transpose(tmp290, (1, 2, 0, 3, 5, 4)) * 2 - del tmp290 - t3new.aaaaaa += np.transpose(tmp291, (1, 2, 0, 4, 5, 3)) * -2 - del tmp291 - t3new.aaaaaa += np.transpose(tmp288, (2, 1, 0, 4, 3, 5)) * 6 - t3new.aaaaaa += np.transpose(tmp289, (2, 1, 0, 4, 3, 5)) * 2 - tmp294 = np.copy(f.aa.vv) - tmp294 += np.transpose(tmp3, (1, 0)) - tmp292 = np.copy(v.aaaa.ovvv) * -1 - tmp292 += np.transpose(v.aaaa.ovvv, (0, 2, 3, 1)) - tmp293 = einsum(t1.aa, (0, 1), tmp292, (0, 1, 2, 3), (2, 3)) - del tmp292 - tmp294 += np.transpose(tmp293, (1, 0)) * -1 - del tmp293 - tmp295 = einsum(tmp294, (0, 1), t3.aaaaaa, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 6, 1)) - t3new.aaaaaa += np.transpose(tmp295, (1, 2, 0, 3, 4, 5)) * 6 - del tmp295 - tmp296 = einsum(tmp0, (0, 1, 2, 3), t2.aaaa, (1, 2, 4, 5), (0, 4, 5, 3)) - tmp297 = einsum(t2.aaaa, (0, 1, 2, 3), tmp296, (4, 5, 6, 3), (4, 0, 1, 5, 6, 2)) * -1 - t3new.aaaaaa += np.transpose(tmp297, (2, 1, 0, 5, 4, 3)) * -4 - tmp298 = einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), tmp67, (6, 7, 2, 1), (6, 0, 7, 3, 4, 5)) * -1 - t3new.aaaaaa += np.transpose(tmp298, (2, 1, 0, 4, 5, 3)) * -6 - tmp299 = einsum(t2.aaaa, (0, 1, 2, 3), tmp0, (4, 5, 6, 3), (4, 0, 1, 6, 5, 2)) - tmp300 = einsum(t1.aa, (0, 1), tmp299, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del tmp299 - tmp301 = einsum(t1.aa, (0, 1), tmp300, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) - del tmp300 - t3new.aaaaaa += np.transpose(tmp301, (2, 1, 0, 5, 3, 4)) * 2 - t3new.aaaaaa += np.transpose(tmp301, (2, 1, 0, 5, 4, 3)) * -2 - tmp302 = np.copy(tmp7) * 2 - del tmp7 - tmp302 += tmp8 - del tmp8 - tmp302 += np.transpose(tmp12, (1, 0)) - del tmp12 - tmp303 = einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), tmp302, (6, 2), (0, 1, 6, 3, 4, 5)) * -1 - del tmp302 - t3new.aaaaaa += np.transpose(tmp303, (1, 0, 2, 4, 5, 3)) * -6 - del tmp303 - tmp304 = einsum(tmp2, (0, 1, 2, 3), t3.abaaba, (4, 2, 5, 6, 3, 7), (0, 4, 5, 1, 6, 7)) - tmp306 = np.copy(np.transpose(tmp304, (0, 2, 1, 3, 5, 4))) - del tmp304 - tmp305 = einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), tmp172, (6, 2, 7, 5), (0, 1, 6, 7, 3, 4)) - tmp306 += np.transpose(tmp305, (2, 0, 1, 3, 4, 5)) * 3 - del tmp305 - tmp307 = einsum(tmp306, (0, 1, 2, 3, 4, 5), t1.aa, (3, 6), (0, 1, 2, 4, 5, 6)) - del tmp306 - t3new.aaaaaa += np.transpose(tmp307, (2, 1, 0, 4, 3, 5)) * -2 - tmp308 = np.copy(np.transpose(tmp67, (0, 2, 1, 3))) * -1 - tmp308 += np.transpose(tmp67, (0, 3, 2, 1)) - tmp309 = einsum(t1.aa, (0, 1), tmp308, (2, 0, 3, 4), (2, 3, 4, 1)) - del tmp308 - tmp310 = einsum(t2.aaaa, (0, 1, 2, 3), tmp309, (4, 5, 1, 6), (4, 5, 0, 6, 2, 3)) * -1 - t3new.aaaaaa += np.transpose(tmp310, (1, 2, 0, 5, 4, 3)) * -2 - t3new.aaaaaa += np.transpose(tmp297, (2, 1, 0, 4, 5, 3)) * 4 - t3new.aaaaaa += np.transpose(tmp297, (2, 0, 1, 5, 4, 3)) * 4 - t3new.aaaaaa += np.transpose(tmp298, (2, 0, 1, 4, 5, 3)) * 6 - t3new.aaaaaa += np.transpose(tmp301, (2, 0, 1, 5, 3, 4)) * -2 - t3new.aaaaaa += np.transpose(tmp301, (2, 0, 1, 5, 4, 3)) * 2 - tmp311 = einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), tmp13, (2, 6), (6, 0, 1, 3, 4, 5)) * -1 - t3new.aaaaaa += np.transpose(tmp311, (2, 0, 1, 4, 5, 3)) * 6 - t3new.aaaaaa += np.transpose(tmp307, (2, 0, 1, 4, 3, 5)) * 2 - t3new.aaaaaa += np.transpose(tmp310, (1, 0, 2, 5, 4, 3)) * 2 - t3new.aaaaaa += np.transpose(tmp297, (2, 0, 1, 4, 5, 3)) * -4 - t3new.aaaaaa += np.transpose(tmp297, (0, 2, 1, 5, 4, 3)) * -4 - t3new.aaaaaa += np.transpose(tmp298, (0, 2, 1, 4, 5, 3)) * -6 - t3new.aaaaaa += np.transpose(tmp301, (0, 2, 1, 5, 3, 4)) * 2 - t3new.aaaaaa += np.transpose(tmp301, (0, 2, 1, 5, 4, 3)) * -2 - t3new.aaaaaa += np.transpose(tmp311, (0, 2, 1, 4, 5, 3)) * -6 - del tmp311 - t3new.aaaaaa += np.transpose(tmp307, (0, 2, 1, 4, 3, 5)) * -2 - t3new.aaaaaa += np.transpose(tmp310, (0, 1, 2, 5, 4, 3)) * -2 - t3new.aaaaaa += np.transpose(tmp297, (0, 2, 1, 4, 5, 3)) * 4 - tmp313 = np.copy(np.transpose(tmp38, (1, 0, 2, 3))) * -1 - tmp313 += np.transpose(tmp97, (2, 1, 0, 3)) - tmp313 += np.transpose(tmp59, (2, 1, 0, 3)) * 6 - tmp313 += np.transpose(tmp60, (2, 1, 0, 3)) * 2 - tmp313 += np.transpose(tmp103, (1, 0, 2, 3)) - del tmp103 - tmp312 = einsum(t2.aaaa, (0, 1, 2, 3), tmp11, (4, 3), (4, 0, 1, 2)) * -2 - tmp313 += np.transpose(tmp312, (0, 2, 1, 3)) * -1 - tmp314 = einsum(tmp313, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 6), (1, 2, 4, 3, 5, 6)) * -1 - del tmp313 - t3new.aaaaaa += np.transpose(tmp314, (2, 0, 1, 3, 5, 4)) * -2 - tmp315 = einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), v.aaaa.ovov, (1, 5, 2, 6), (0, 3, 4, 6)) * -1 - tmp317 = np.copy(np.transpose(tmp315, (0, 2, 1, 3))) * -3 - tmp316 = einsum(v.aabb.ovov, (0, 1, 2, 3), t3.abaaba, (4, 2, 0, 5, 3, 6), (4, 5, 6, 1)) - tmp317 += np.transpose(tmp316, (0, 2, 1, 3)) * -1 - tmp318 = einsum(t2.aaaa, (0, 1, 2, 3), tmp317, (4, 5, 6, 3), (4, 0, 1, 5, 6, 2)) * -2 - t3new.aaaaaa += np.transpose(tmp318, (0, 2, 1, 5, 4, 3)) * -2 - tmp321 = np.copy(tmp53) * 0.5 - tmp319 = np.copy(np.transpose(v.aaaa.ovov, (0, 2, 3, 1))) - tmp319 += np.transpose(v.aaaa.ovov, (0, 2, 1, 3)) * -1 - tmp320 = einsum(t2.aaaa, (0, 1, 2, 3), tmp319, (1, 4, 3, 5), (4, 0, 5, 2)) - tmp321 += np.transpose(tmp320, (1, 0, 3, 2)) * -1 - del tmp320 - tmp322 = einsum(t2.aaaa, (0, 1, 2, 3), tmp321, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) * -1 - tmp323 = einsum(t1.aa, (0, 1), tmp322, (2, 0, 3, 4, 5, 6), (4, 3, 2, 6, 5, 1)) * 4 - del tmp322 - t3new.aaaaaa += np.transpose(tmp323, (2, 1, 0, 3, 4, 5)) * -1 - t3new.aaaaaa += np.transpose(tmp314, (0, 2, 1, 3, 5, 4)) * 2 - t3new.aaaaaa += np.transpose(tmp318, (2, 0, 1, 5, 4, 3)) * 2 - t3new.aaaaaa += np.transpose(tmp323, (1, 2, 0, 3, 4, 5)) - tmp324 = np.copy(np.transpose(tmp38, (2, 1, 0, 3))) * -1 - tmp324 += np.transpose(tmp97, (0, 2, 1, 3)) - tmp324 += np.transpose(tmp99, (2, 1, 0, 3)) * 2 - tmp324 += np.transpose(tmp312, (2, 0, 1, 3)) - del tmp312 - tmp325 = einsum(tmp324, (0, 1, 2, 3), t2.aaaa, (4, 1, 5, 6), (0, 2, 4, 3, 5, 6)) * -1 - del tmp324 - t3new.aaaaaa += np.transpose(tmp325, (2, 1, 0, 5, 3, 4)) * 2 - t3new.aaaaaa += np.transpose(tmp318, (0, 2, 1, 4, 5, 3)) * 2 - tmp327 = np.copy(np.transpose(tmp38, (2, 1, 0, 3))) * -0.5 - tmp327 += np.transpose(tmp97, (0, 2, 1, 3)) * 0.5 - tmp326 = einsum(t2.aaaa, (0, 1, 2, 3), tmp102, (4, 5, 1, 3), (4, 5, 0, 2)) - tmp327 += np.transpose(tmp326, (2, 1, 0, 3)) - tmp327 += np.transpose(tmp61, (2, 0, 1, 3)) - tmp328 = einsum(t2.aaaa, (0, 1, 2, 3), tmp327, (4, 1, 5, 6), (4, 5, 0, 6, 2, 3)) * -2 - del tmp327 - t3new.aaaaaa += np.transpose(tmp328, (1, 2, 0, 5, 3, 4)) * -2 - del tmp328 - t3new.aaaaaa += np.transpose(tmp318, (2, 0, 1, 4, 5, 3)) * -2 - t3new.aaaaaa += np.transpose(tmp314, (0, 1, 2, 3, 5, 4)) * -2 - del tmp314 - t3new.aaaaaa += np.transpose(tmp318, (2, 1, 0, 5, 4, 3)) * -2 - t3new.aaaaaa += np.transpose(tmp323, (1, 0, 2, 3, 4, 5)) * -1 - t3new.aaaaaa += np.transpose(tmp325, (1, 0, 2, 5, 3, 4)) * 2 - del tmp325 - t3new.aaaaaa += np.transpose(tmp318, (2, 1, 0, 4, 5, 3)) * 2 - del tmp318 - tmp329 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.oovv, (4, 5, 6, 3), (0, 1, 4, 5, 2, 6)) - tmp330 = einsum(t1.aa, (0, 1), tmp329, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) - del tmp329 - t3new.aaaaaa += np.transpose(tmp330, (2, 1, 0, 5, 3, 4)) * 2 - t3new.aaaaaa += np.transpose(tmp270, (2, 1, 0, 3, 4, 5)) * 2 - t3new.aaaaaa += np.transpose(tmp270, (2, 1, 0, 4, 3, 5)) * -2 - tmp331 = np.copy(np.transpose(tmp266, (0, 2, 1, 3))) - tmp331 += np.transpose(tmp315, (0, 2, 1, 3)) * -3 - del tmp315 - tmp331 += np.transpose(tmp316, (0, 2, 1, 3)) * -1 - del tmp316 - tmp332 = einsum(t2.aaaa, (0, 1, 2, 3), tmp331, (4, 5, 6, 3), (4, 0, 1, 5, 6, 2)) * -2 - del tmp331 - t3new.aaaaaa += np.transpose(tmp332, (0, 2, 1, 4, 3, 5)) * -2 - tmp333 = np.copy(np.transpose(tmp59, (1, 0, 2, 3))) * -1 - tmp333 += np.transpose(tmp60, (1, 0, 2, 3)) * -0.3333333333333333 - tmp333 += np.transpose(tmp63, (2, 1, 0, 3)) - del tmp63 - tmp334 = einsum(t2.aaaa, (0, 1, 2, 3), tmp333, (4, 5, 1, 6), (4, 5, 0, 6, 2, 3)) * -6 - del tmp333 - t3new.aaaaaa += np.transpose(tmp334, (2, 1, 0, 5, 4, 3)) * -2 - t3new.aaaaaa += np.transpose(tmp330, (2, 1, 0, 3, 5, 4)) * -2 - t3new.aaaaaa += np.transpose(tmp330, (1, 2, 0, 5, 3, 4)) * -2 - t3new.aaaaaa += np.transpose(tmp270, (1, 2, 0, 3, 4, 5)) * -2 - t3new.aaaaaa += np.transpose(tmp270, (1, 2, 0, 4, 3, 5)) * 2 - t3new.aaaaaa += np.transpose(tmp332, (2, 0, 1, 4, 3, 5)) * 2 - t3new.aaaaaa += np.transpose(tmp334, (1, 2, 0, 5, 4, 3)) * 2 - t3new.aaaaaa += np.transpose(tmp330, (1, 2, 0, 3, 5, 4)) * 2 - t3new.aaaaaa += np.transpose(tmp330, (1, 0, 2, 5, 3, 4)) * 2 - t3new.aaaaaa += np.transpose(tmp270, (1, 0, 2, 3, 4, 5)) * 2 - t3new.aaaaaa += np.transpose(tmp270, (1, 0, 2, 4, 3, 5)) * -2 - t3new.aaaaaa += np.transpose(tmp332, (2, 1, 0, 4, 3, 5)) * -2 - del tmp332 - t3new.aaaaaa += np.transpose(tmp334, (1, 0, 2, 5, 4, 3)) * -2 - del tmp334 - t3new.aaaaaa += np.transpose(tmp330, (1, 0, 2, 3, 5, 4)) * -2 - tmp335 = einsum(v.aaaa.ooov, (0, 1, 2, 3), t2.aaaa, (4, 1, 5, 6), (4, 0, 2, 5, 6, 3)) - t3new.aaaaaa += np.transpose(tmp335, (0, 1, 2, 5, 4, 3)) * 2 - t3new.aaaaaa += np.transpose(tmp335, (0, 2, 1, 5, 4, 3)) * -2 - t3new.aaaaaa += np.transpose(tmp335, (1, 0, 2, 5, 4, 3)) * -2 - t3new.aaaaaa += np.transpose(tmp335, (2, 0, 1, 5, 4, 3)) * 2 - tmp337 = np.copy(v.aaaa.oovv) * -1 - tmp337 += tmp53 - tmp336 = einsum(t2.aaaa, (0, 1, 2, 3), tmp319, (1, 4, 3, 5), (4, 0, 5, 2)) * 2 - tmp337 += np.transpose(tmp336, (1, 0, 3, 2)) * -1 - del tmp336 - tmp338 = einsum(tmp337, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 1, 6, 7, 3), (4, 5, 0, 6, 7, 2)) * 3 - del tmp337 - t3new.aaaaaa += np.transpose(tmp338, (0, 1, 2, 5, 3, 4)) * 2 - tmp340 = np.copy(tmp157) * 2 - tmp339 = einsum(t2.abab, (0, 1, 2, 3), tmp15, (1, 4, 3, 5), (0, 4, 2, 5)) - tmp340 += tmp339 * -1 - tmp341 = einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), tmp340, (6, 1, 7, 4), (0, 2, 6, 3, 5, 7)) - t3new.aaaaaa += np.transpose(tmp341, (1, 0, 2, 5, 4, 3)) * 2 - t3new.aaaaaa += np.transpose(tmp323, (1, 0, 2, 4, 3, 5)) - t3new.aaaaaa += np.transpose(tmp275, (1, 0, 2, 5, 4, 3)) * -2 - t3new.aaaaaa += np.transpose(tmp335, (0, 1, 2, 4, 5, 3)) * -2 - t3new.aaaaaa += np.transpose(tmp335, (0, 2, 1, 4, 5, 3)) * 2 - t3new.aaaaaa += np.transpose(tmp335, (1, 0, 2, 4, 5, 3)) * 2 - t3new.aaaaaa += np.transpose(tmp335, (2, 0, 1, 4, 5, 3)) * -2 - t3new.aaaaaa += np.transpose(tmp338, (0, 1, 2, 3, 5, 4)) * -2 - del tmp338 - t3new.aaaaaa += np.transpose(tmp341, (1, 0, 2, 4, 5, 3)) * -2 - t3new.aaaaaa += np.transpose(tmp279, (1, 0, 2, 4, 5, 3)) * 2 - t3new.aaaaaa += np.transpose(tmp335, (1, 2, 0, 5, 4, 3)) * 2 - tmp343 = np.copy(v.aaaa.oovv) * -1 - tmp343 += np.transpose(tmp53, (1, 0, 3, 2)) - tmp342 = einsum(t2.aaaa, (0, 1, 2, 3), tmp319, (1, 4, 5, 3), (4, 0, 5, 2)) * 2 - tmp343 += tmp342 - del tmp342 - tmp344 = einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), tmp343, (2, 6, 5, 7), (0, 1, 6, 3, 4, 7)) * 3 - del tmp343 - t3new.aaaaaa += np.transpose(tmp344, (2, 0, 1, 5, 3, 4)) * 2 - t3new.aaaaaa += np.transpose(tmp341, (2, 1, 0, 5, 4, 3)) * 2 - t3new.aaaaaa += np.transpose(tmp323, (2, 1, 0, 4, 3, 5)) - t3new.aaaaaa += np.transpose(tmp275, (2, 1, 0, 5, 4, 3)) * -2 - del tmp275 - t3new.aaaaaa += np.transpose(tmp335, (2, 1, 0, 5, 4, 3)) * -2 - t3new.aaaaaa += np.transpose(tmp344, (0, 2, 1, 5, 3, 4)) * -2 - t3new.aaaaaa += np.transpose(tmp341, (1, 2, 0, 5, 4, 3)) * -2 - tmp346 = np.copy(tmp53) - tmp345 = einsum(t2.aaaa, (0, 1, 2, 3), tmp240, (1, 4, 3, 5), (4, 0, 5, 2)) - del tmp240 - tmp346 += np.transpose(tmp345, (1, 0, 3, 2)) * -2 - del tmp345 - tmp347 = einsum(t2.aaaa, (0, 1, 2, 3), tmp346, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) * -1 - del tmp346 - tmp348 = einsum(t1.aa, (0, 1), tmp347, (2, 0, 3, 4, 5, 6), (4, 3, 2, 6, 5, 1)) - del tmp347 - t3new.aaaaaa += np.transpose(tmp348, (1, 2, 0, 4, 3, 5)) * -2 - t3new.aaaaaa += np.transpose(tmp279, (1, 2, 0, 5, 4, 3)) * 2 - t3new.aaaaaa += np.transpose(tmp335, (1, 2, 0, 4, 5, 3)) * -2 - t3new.aaaaaa += np.transpose(tmp344, (2, 0, 1, 3, 5, 4)) * -2 - t3new.aaaaaa += np.transpose(tmp341, (2, 1, 0, 4, 5, 3)) * -2 - t3new.aaaaaa += np.transpose(tmp279, (2, 1, 0, 4, 5, 3)) * 2 - t3new.aaaaaa += np.transpose(tmp335, (2, 1, 0, 4, 5, 3)) * 2 - t3new.aaaaaa += np.transpose(tmp344, (0, 2, 1, 3, 5, 4)) * 2 - del tmp344 - t3new.aaaaaa += np.transpose(tmp341, (1, 2, 0, 4, 5, 3)) * 2 - del tmp341 - t3new.aaaaaa += np.transpose(tmp279, (1, 2, 0, 4, 5, 3)) * -2 - del tmp279 - t3new.aaaaaa += np.transpose(tmp335, (0, 1, 2, 4, 3, 5)) * 2 - t3new.aaaaaa += np.transpose(tmp335, (0, 2, 1, 4, 3, 5)) * -2 - t3new.aaaaaa += np.transpose(tmp335, (1, 0, 2, 4, 3, 5)) * -2 - tmp349 = einsum(v.aaaa.oovv, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 1, 6, 7, 3), (4, 5, 0, 6, 7, 2)) - t3new.aaaaaa += np.transpose(tmp349, (1, 0, 2, 4, 3, 5)) * -6 - t3new.aaaaaa += np.transpose(tmp335, (2, 0, 1, 4, 3, 5)) * 2 - t3new.aaaaaa += np.transpose(tmp349, (2, 1, 0, 4, 3, 5)) * -6 - t3new.aaaaaa += np.transpose(tmp335, (1, 2, 0, 4, 3, 5)) * 2 - t3new.aaaaaa += np.transpose(tmp349, (1, 2, 0, 4, 3, 5)) * 6 - del tmp349 - t3new.aaaaaa += np.transpose(tmp335, (2, 1, 0, 4, 3, 5)) * -2 - del tmp335 - tmp350 = einsum(v.aaaa.ovvv, (0, 1, 2, 3), t2.aaaa, (4, 5, 6, 3), (4, 5, 0, 6, 1, 2)) - t3new.aaaaaa += np.transpose(tmp350, (1, 0, 2, 5, 4, 3)) * -2 - tmp351 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 5, 6, 3), (0, 1, 4, 6, 2, 5)) - tmp352 = einsum(t1.aa, (0, 1), tmp351, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) - del tmp351 - t3new.aaaaaa += np.transpose(tmp352, (1, 0, 2, 5, 3, 4)) * -2 - tmp356 = np.copy(np.transpose(v.aaaa.ovvv, (0, 2, 3, 1))) - tmp353 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.vvov, (4, 5, 1, 3), (0, 2, 4, 5)) - tmp356 += np.transpose(tmp353, (0, 1, 3, 2)) * -1 - tmp354 = np.copy(v.aaaa.ovvv) * -1 - tmp354 += np.transpose(v.aaaa.ovvv, (0, 2, 1, 3)) - tmp355 = einsum(tmp354, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 2), (4, 1, 3, 5)) - del tmp354 - tmp356 += np.transpose(tmp355, (0, 3, 1, 2)) * -2 - del tmp355 - tmp357 = einsum(t2.aaaa, (0, 1, 2, 3), tmp356, (4, 5, 3, 6), (4, 0, 1, 5, 6, 2)) * -1 - del tmp356 - t3new.aaaaaa += np.transpose(tmp357, (2, 1, 0, 4, 3, 5)) * -2 - tmp358 = einsum(t2.aaaa, (0, 1, 2, 3), tmp321, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) * -2 - tmp359 = einsum(tmp358, (0, 1, 2, 3, 4, 5), t1.aa, (1, 6), (3, 2, 0, 5, 4, 6)) * 2 - del tmp358 - t3new.aaaaaa += np.transpose(tmp359, (1, 0, 2, 5, 4, 3)) - t3new.aaaaaa += np.transpose(tmp350, (1, 2, 0, 5, 4, 3)) * 2 - t3new.aaaaaa += np.transpose(tmp352, (1, 2, 0, 5, 3, 4)) * 2 - t3new.aaaaaa += np.transpose(tmp357, (2, 0, 1, 4, 3, 5)) * 2 - t3new.aaaaaa += np.transpose(tmp348, (1, 2, 0, 5, 4, 3)) * -2 - t3new.aaaaaa += np.transpose(tmp350, (1, 0, 2, 5, 3, 4)) * 2 - t3new.aaaaaa += np.transpose(tmp350, (1, 0, 2, 4, 3, 5)) * -2 - t3new.aaaaaa += np.transpose(tmp352, (1, 0, 2, 5, 4, 3)) * 2 - t3new.aaaaaa += np.transpose(tmp350, (1, 2, 0, 5, 3, 4)) * -2 - t3new.aaaaaa += np.transpose(tmp350, (1, 2, 0, 4, 3, 5)) * 2 - t3new.aaaaaa += np.transpose(tmp352, (1, 2, 0, 5, 4, 3)) * -2 - t3new.aaaaaa += np.transpose(tmp281, (1, 2, 0, 4, 3, 5)) * -6 - t3new.aaaaaa += np.transpose(tmp350, (2, 1, 0, 5, 4, 3)) * -2 - tmp360 = einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), v.aaaa.vvvv, (6, 4, 7, 5), (0, 1, 2, 3, 6, 7)) - t3new.aaaaaa += np.transpose(tmp360, (1, 2, 0, 5, 4, 3)) * -6 - tmp361 = einsum(v.aaaa.ovvv, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 6, 7, 3, 1), (4, 5, 6, 0, 7, 2)) * -1 - tmp362 = np.copy(np.transpose(tmp361, (1, 2, 0, 3, 4, 5))) - tmp362 += np.transpose(tmp282, (1, 2, 0, 3, 5, 4)) * -1 - del tmp282 - tmp363 = einsum(tmp362, (0, 1, 2, 3, 4, 5), t1.aa, (3, 6), (0, 1, 2, 4, 5, 6)) * 6 - del tmp362 - t3new.aaaaaa += np.transpose(tmp363, (1, 2, 0, 4, 5, 3)) - t3new.aaaaaa += np.transpose(tmp352, (2, 1, 0, 5, 3, 4)) * -2 - t3new.aaaaaa += np.transpose(tmp357, (0, 2, 1, 4, 3, 5)) * -2 - del tmp357 - t3new.aaaaaa += np.transpose(tmp359, (2, 1, 0, 5, 4, 3)) - del tmp359 - t3new.aaaaaa += np.transpose(tmp281, (1, 2, 0, 4, 5, 3)) * 6 - del tmp281 - t3new.aaaaaa += np.transpose(tmp350, (2, 1, 0, 5, 3, 4)) * 2 - t3new.aaaaaa += np.transpose(tmp360, (1, 2, 0, 5, 3, 4)) * 6 - t3new.aaaaaa += np.transpose(tmp363, (1, 2, 0, 4, 3, 5)) * -1 - del tmp363 - t3new.aaaaaa += np.transpose(tmp350, (2, 1, 0, 4, 3, 5)) * -2 - t3new.aaaaaa += np.transpose(tmp352, (2, 1, 0, 5, 4, 3)) * 2 - t3new.aaaaaa += np.transpose(tmp350, (1, 0, 2, 3, 5, 4)) * -2 - t3new.aaaaaa += np.transpose(tmp350, (1, 0, 2, 3, 4, 5)) * 2 - t3new.aaaaaa += np.transpose(tmp352, (1, 0, 2, 4, 5, 3)) * -2 - t3new.aaaaaa += np.transpose(tmp350, (1, 2, 0, 3, 5, 4)) * 2 - t3new.aaaaaa += np.transpose(tmp350, (1, 2, 0, 3, 4, 5)) * -2 - t3new.aaaaaa += np.transpose(tmp352, (1, 2, 0, 4, 5, 3)) * 2 - t3new.aaaaaa += np.transpose(tmp350, (2, 1, 0, 3, 5, 4)) * -2 - tmp364 = einsum(t1.aa, (0, 1), tmp361, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) - del tmp361 - t3new.aaaaaa += np.transpose(tmp364, (1, 2, 0, 4, 5, 3)) * 6 - t3new.aaaaaa += np.transpose(tmp360, (1, 2, 0, 3, 5, 4)) * -6 - del tmp360 - t3new.aaaaaa += np.transpose(tmp350, (2, 1, 0, 3, 4, 5)) * 2 - del tmp350 - t3new.aaaaaa += np.transpose(tmp352, (2, 1, 0, 4, 5, 3)) * -2 - t3new.aaaaaa += np.transpose(tmp264, (0, 2, 1, 4, 5, 3)) * -6 - del tmp264 - t3new.aaaaaa += np.transpose(tmp265, (0, 2, 1, 5, 4, 3)) * -2 - t3new.aaaaaa += np.transpose(tmp265, (0, 1, 2, 5, 4, 3)) * 2 - t3new.aaaaaa += np.transpose(tmp265, (2, 0, 1, 5, 4, 3)) * 2 - del tmp265 - t3new.aaaaaa += np.transpose(tmp288, (1, 0, 2, 5, 4, 3)) * 6 - t3new.aaaaaa += np.transpose(tmp289, (1, 0, 2, 5, 4, 3)) * 2 - t3new.aaaaaa += np.transpose(tmp288, (1, 2, 0, 5, 4, 3)) * -6 - t3new.aaaaaa += np.transpose(tmp289, (1, 2, 0, 5, 4, 3)) * -2 - t3new.aaaaaa += np.transpose(tmp288, (1, 0, 2, 4, 5, 3)) * -6 - t3new.aaaaaa += np.transpose(tmp289, (1, 0, 2, 4, 5, 3)) * -2 - t3new.aaaaaa += np.transpose(tmp288, (1, 2, 0, 4, 5, 3)) * 6 - t3new.aaaaaa += np.transpose(tmp289, (1, 2, 0, 4, 5, 3)) * 2 - t3new.aaaaaa += np.transpose(tmp288, (1, 0, 2, 4, 3, 5)) * 6 - t3new.aaaaaa += np.transpose(tmp289, (1, 0, 2, 4, 3, 5)) * 2 - t3new.aaaaaa += np.transpose(tmp288, (1, 2, 0, 4, 3, 5)) * -6 - del tmp288 - t3new.aaaaaa += np.transpose(tmp289, (1, 2, 0, 4, 3, 5)) * -2 - del tmp289 - tmp367 = np.copy(np.transpose(tmp38, (1, 0, 2, 3))) - tmp367 += np.transpose(tmp97, (2, 1, 0, 3)) * -1 - tmp365 = np.copy(v.aaaa.ooov) * -1 - tmp365 += np.transpose(v.aaaa.ooov, (0, 2, 1, 3)) - tmp366 = einsum(t2.aaaa, (0, 1, 2, 3), tmp365, (4, 5, 1, 3), (4, 5, 0, 2)) - del tmp365 - tmp367 += np.transpose(tmp366, (1, 0, 2, 3)) * 2 - del tmp366 - tmp368 = einsum(t2.aaaa, (0, 1, 2, 3), tmp367, (1, 4, 5, 6), (4, 5, 0, 6, 2, 3)) * -1 - t3new.aaaaaa += np.transpose(tmp368, (2, 1, 0, 3, 5, 4)) * -2 - t3new.aaaaaa += np.transpose(tmp368, (1, 2, 0, 3, 5, 4)) * 2 - tmp369 = np.copy(np.transpose(tmp38, (2, 1, 0, 3))) * -1 - tmp369 += np.transpose(tmp97, (0, 2, 1, 3)) - tmp369 += np.transpose(tmp99, (2, 1, 0, 3)) * 2 - del tmp99 - tmp370 = einsum(tmp369, (0, 1, 2, 3), t2.aaaa, (4, 1, 5, 6), (0, 2, 4, 3, 5, 6)) * -1 - del tmp369 - t3new.aaaaaa += np.transpose(tmp370, (2, 0, 1, 5, 3, 4)) * -2 - t3new.aaaaaa += np.transpose(tmp370, (0, 2, 1, 5, 3, 4)) * 2 - t3new.aaaaaa += np.transpose(tmp368, (1, 0, 2, 3, 5, 4)) * -2 - del tmp368 - t3new.aaaaaa += np.transpose(tmp370, (0, 1, 2, 5, 3, 4)) * -2 - del tmp370 - tmp371 = einsum(tmp0, (0, 1, 2, 3), t2.aaaa, (4, 2, 5, 6), (0, 4, 1, 5, 6, 3)) - t3new.aaaaaa += np.transpose(tmp371, (1, 0, 2, 5, 4, 3)) * 2 - tmp372 = np.copy(np.transpose(tmp65, (0, 2, 1, 3))) * -1 - tmp372 += np.transpose(tmp81, (0, 2, 1, 3)) - tmp372 += tmp83 * 2 - del tmp83 - tmp372 += np.transpose(tmp309, (0, 2, 1, 3)) - tmp373 = einsum(t2.aaaa, (0, 1, 2, 3), tmp372, (4, 1, 5, 6), (4, 5, 0, 6, 2, 3)) * -1 - del tmp372 - t3new.aaaaaa += np.transpose(tmp373, (2, 0, 1, 3, 5, 4)) * -2 - t3new.aaaaaa += np.transpose(tmp371, (0, 1, 2, 5, 4, 3)) * -2 - tmp378 = np.copy(np.transpose(tmp65, (0, 2, 1, 3))) * -1 - tmp378 += np.transpose(tmp81, (0, 2, 1, 3)) - tmp374 = np.copy(tmp0) * -1 - tmp374 += np.transpose(tmp0, (0, 2, 1, 3)) - tmp375 = einsum(t2.aaaa, (0, 1, 2, 3), tmp374, (4, 5, 1, 3), (4, 5, 0, 2)) * 2 - tmp378 += tmp375 - tmp376 = np.copy(np.transpose(tmp67, (0, 2, 1, 3))) * -1 - tmp376 += np.transpose(tmp67, (0, 3, 2, 1)) - tmp377 = einsum(t1.aa, (0, 1), tmp376, (2, 0, 3, 4), (2, 3, 4, 1)) - del tmp376 - tmp378 += np.transpose(tmp377, (0, 2, 1, 3)) - tmp379 = einsum(t2.aaaa, (0, 1, 2, 3), tmp378, (4, 1, 5, 6), (4, 5, 0, 6, 2, 3)) * -1 - del tmp378 - t3new.aaaaaa += np.transpose(tmp379, (0, 2, 1, 3, 5, 4)) - t3new.aaaaaa += np.transpose(tmp373, (0, 2, 1, 3, 5, 4)) - t3new.aaaaaa += np.transpose(tmp371, (1, 0, 2, 4, 5, 3)) * -2 - t3new.aaaaaa += np.transpose(tmp373, (2, 0, 1, 5, 3, 4)) * 2 - t3new.aaaaaa += np.transpose(tmp371, (0, 1, 2, 4, 5, 3)) * 2 - t3new.aaaaaa += np.transpose(tmp373, (0, 2, 1, 5, 3, 4)) * -2 - t3new.aaaaaa += np.transpose(tmp330, (1, 0, 2, 5, 4, 3)) * -2 - t3new.aaaaaa += np.transpose(tmp270, (1, 0, 2, 3, 5, 4)) * -2 - t3new.aaaaaa += np.transpose(tmp270, (1, 0, 2, 4, 5, 3)) * 2 - tmp380 = np.copy(np.transpose(tmp59, (1, 0, 2, 3))) * -3 - tmp380 += np.transpose(tmp60, (1, 0, 2, 3)) * -1 - tmp381 = einsum(t2.aaaa, (0, 1, 2, 3), tmp380, (4, 5, 1, 6), (4, 5, 0, 6, 2, 3)) * -2 - del tmp380 - t3new.aaaaaa += np.transpose(tmp381, (1, 0, 2, 5, 3, 4)) * 2 - t3new.aaaaaa += np.transpose(tmp330, (1, 2, 0, 5, 4, 3)) * 2 - t3new.aaaaaa += np.transpose(tmp270, (1, 2, 0, 3, 5, 4)) * 2 - t3new.aaaaaa += np.transpose(tmp270, (1, 2, 0, 4, 5, 3)) * -2 - t3new.aaaaaa += np.transpose(tmp381, (1, 2, 0, 5, 3, 4)) * -2 - t3new.aaaaaa += np.transpose(tmp371, (1, 2, 0, 5, 4, 3)) * -2 - t3new.aaaaaa += np.transpose(tmp379, (2, 1, 0, 3, 5, 4)) - del tmp379 - t3new.aaaaaa += np.transpose(tmp373, (2, 1, 0, 3, 5, 4)) - t3new.aaaaaa += np.transpose(tmp371, (0, 2, 1, 5, 4, 3)) * 2 - tmp382 = einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), tmp76, (6, 1, 7, 4), (6, 0, 2, 3, 5, 7)) - t3new.aaaaaa += np.transpose(tmp382, (0, 2, 1, 5, 4, 3)) * 2 - tmp383 = einsum(tmp80, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 0, 6, 7, 3), (4, 5, 1, 6, 7, 2)) * -3 - t3new.aaaaaa += np.transpose(tmp383, (2, 0, 1, 5, 3, 4)) * 2 - t3new.aaaaaa += np.transpose(tmp307, (0, 2, 1, 5, 4, 3)) * -2 - t3new.aaaaaa += np.transpose(tmp373, (0, 1, 2, 3, 5, 4)) * -2 - t3new.aaaaaa += np.transpose(tmp371, (1, 2, 0, 4, 5, 3)) * 2 - t3new.aaaaaa += np.transpose(tmp373, (2, 1, 0, 5, 3, 4)) * -2 - t3new.aaaaaa += np.transpose(tmp371, (0, 2, 1, 4, 5, 3)) * -2 - t3new.aaaaaa += np.transpose(tmp382, (0, 2, 1, 4, 5, 3)) * -2 - tmp384 = einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), tmp87, (2, 6, 7, 5), (0, 1, 6, 3, 4, 7)) * -1 - t3new.aaaaaa += np.transpose(tmp384, (2, 0, 1, 3, 5, 4)) * -6 - t3new.aaaaaa += np.transpose(tmp307, (0, 2, 1, 4, 5, 3)) * 2 - t3new.aaaaaa += np.transpose(tmp373, (0, 1, 2, 5, 3, 4)) * 2 - t3new.aaaaaa += np.transpose(tmp371, (2, 1, 0, 5, 4, 3)) * 2 - t3new.aaaaaa += np.transpose(tmp382, (2, 1, 0, 5, 4, 3)) * 2 - t3new.aaaaaa += np.transpose(tmp383, (0, 1, 2, 5, 3, 4)) * 2 - t3new.aaaaaa += np.transpose(tmp307, (2, 1, 0, 5, 4, 3)) * -2 - t3new.aaaaaa += np.transpose(tmp373, (1, 2, 0, 3, 5, 4)) * -2 - t3new.aaaaaa += np.transpose(tmp371, (2, 0, 1, 5, 4, 3)) * -2 - t3new.aaaaaa += np.transpose(tmp382, (2, 0, 1, 5, 4, 3)) * -2 - t3new.aaaaaa += np.transpose(tmp384, (0, 2, 1, 5, 3, 4)) * -6 - t3new.aaaaaa += np.transpose(tmp307, (2, 0, 1, 5, 4, 3)) * 2 - t3new.aaaaaa += np.transpose(tmp373, (1, 0, 2, 3, 5, 4)) * 2 - t3new.aaaaaa += np.transpose(tmp371, (2, 1, 0, 4, 5, 3)) * -2 - t3new.aaaaaa += np.transpose(tmp382, (2, 1, 0, 4, 5, 3)) * -2 - t3new.aaaaaa += np.transpose(tmp384, (0, 1, 2, 3, 5, 4)) * -6 - t3new.aaaaaa += np.transpose(tmp307, (2, 1, 0, 4, 5, 3)) * 2 - t3new.aaaaaa += np.transpose(tmp373, (1, 2, 0, 5, 3, 4)) * 2 - t3new.aaaaaa += np.transpose(tmp371, (2, 0, 1, 4, 5, 3)) * 2 - t3new.aaaaaa += np.transpose(tmp382, (2, 0, 1, 4, 5, 3)) * 2 - t3new.aaaaaa += np.transpose(tmp384, (0, 2, 1, 3, 5, 4)) * 6 - t3new.aaaaaa += np.transpose(tmp307, (2, 0, 1, 4, 5, 3)) * -2 - del tmp307 - t3new.aaaaaa += np.transpose(tmp373, (1, 0, 2, 5, 3, 4)) * -2 - del tmp373 - t3new.aaaaaa += np.transpose(tmp330, (2, 1, 0, 5, 4, 3)) * -2 - t3new.aaaaaa += np.transpose(tmp270, (2, 1, 0, 3, 5, 4)) * -2 - t3new.aaaaaa += np.transpose(tmp270, (2, 1, 0, 4, 5, 3)) * 2 - del tmp270 - t3new.aaaaaa += np.transpose(tmp381, (2, 1, 0, 5, 3, 4)) * 2 - del tmp381 - t3new.aaaaaa += np.transpose(tmp352, (1, 0, 2, 3, 5, 4)) * 2 - tmp387 = np.copy(np.transpose(tmp353, (0, 1, 3, 2))) - del tmp353 - tmp385 = np.copy(v.aaaa.ovvv) - tmp385 += np.transpose(v.aaaa.ovvv, (0, 2, 1, 3)) * -1 - tmp386 = einsum(t2.aaaa, (0, 1, 2, 3), tmp385, (1, 4, 3, 5), (0, 4, 5, 2)) - del tmp385 - tmp387 += np.transpose(tmp386, (0, 3, 1, 2)) * -2 - del tmp386 - tmp388 = einsum(t2.aaaa, (0, 1, 2, 3), tmp387, (4, 5, 3, 6), (4, 0, 1, 5, 6, 2)) * -1 - t3new.aaaaaa += np.transpose(tmp388, (2, 1, 0, 3, 4, 5)) * -2 - t3new.aaaaaa += np.transpose(tmp348, (1, 0, 2, 4, 5, 3)) * -2 - t3new.aaaaaa += np.transpose(tmp352, (1, 2, 0, 3, 5, 4)) * -2 - t3new.aaaaaa += np.transpose(tmp388, (2, 0, 1, 3, 4, 5)) * 2 - t3new.aaaaaa += np.transpose(tmp348, (1, 2, 0, 4, 5, 3)) * 2 - t3new.aaaaaa += np.transpose(tmp330, (1, 0, 2, 4, 5, 3)) * 2 - t3new.aaaaaa += np.transpose(tmp330, (1, 2, 0, 4, 5, 3)) * -2 - t3new.aaaaaa += np.transpose(tmp352, (2, 1, 0, 3, 5, 4)) * 2 - t3new.aaaaaa += np.transpose(tmp388, (0, 2, 1, 3, 4, 5)) * -2 - t3new.aaaaaa += np.transpose(tmp348, (2, 1, 0, 4, 5, 3)) * -2 - t3new.aaaaaa += np.transpose(tmp330, (2, 1, 0, 4, 5, 3)) * 2 - t3new.aaaaaa += np.transpose(tmp371, (1, 0, 2, 4, 3, 5)) * 2 - tmp389 = einsum(tmp65, (0, 1, 2, 3), t2.aaaa, (4, 2, 5, 6), (0, 4, 1, 5, 6, 3)) - t3new.aaaaaa += np.transpose(tmp389, (1, 0, 2, 4, 3, 5)) * -2 - t3new.aaaaaa += np.transpose(tmp371, (0, 1, 2, 4, 3, 5)) * -2 - t3new.aaaaaa += np.transpose(tmp389, (0, 1, 2, 4, 3, 5)) * 2 - t3new.aaaaaa += np.transpose(tmp352, (1, 0, 2, 3, 4, 5)) * -2 - t3new.aaaaaa += np.transpose(tmp388, (2, 1, 0, 3, 5, 4)) * 2 - t3new.aaaaaa += np.transpose(tmp330, (1, 0, 2, 3, 4, 5)) * 2 - t3new.aaaaaa += np.transpose(tmp352, (1, 2, 0, 3, 4, 5)) * 2 - t3new.aaaaaa += np.transpose(tmp388, (2, 0, 1, 3, 5, 4)) * -2 - t3new.aaaaaa += np.transpose(tmp330, (1, 2, 0, 3, 4, 5)) * -2 - t3new.aaaaaa += np.transpose(tmp352, (1, 0, 2, 4, 3, 5)) * 2 - t3new.aaaaaa += np.transpose(tmp330, (1, 0, 2, 4, 3, 5)) * -2 - t3new.aaaaaa += np.transpose(tmp352, (1, 2, 0, 4, 3, 5)) * -2 - t3new.aaaaaa += np.transpose(tmp330, (1, 2, 0, 4, 3, 5)) * 2 - t3new.aaaaaa += np.transpose(tmp371, (1, 2, 0, 4, 3, 5)) * -2 - t3new.aaaaaa += np.transpose(tmp389, (1, 2, 0, 4, 3, 5)) * 2 - t3new.aaaaaa += np.transpose(tmp371, (0, 2, 1, 4, 3, 5)) * 2 - t3new.aaaaaa += np.transpose(tmp382, (0, 2, 1, 4, 3, 5)) * 2 - t3new.aaaaaa += np.transpose(tmp383, (2, 0, 1, 3, 4, 5)) * 2 - t3new.aaaaaa += np.transpose(tmp389, (0, 2, 1, 4, 3, 5)) * -2 - t3new.aaaaaa += np.transpose(tmp371, (2, 1, 0, 4, 3, 5)) * 2 - t3new.aaaaaa += np.transpose(tmp382, (2, 1, 0, 4, 3, 5)) * 2 - t3new.aaaaaa += tmp383 * 2 - del tmp383 - t3new.aaaaaa += np.transpose(tmp389, (2, 1, 0, 4, 3, 5)) * -2 - t3new.aaaaaa += np.transpose(tmp371, (2, 0, 1, 4, 3, 5)) * -2 - del tmp371 - t3new.aaaaaa += np.transpose(tmp382, (2, 0, 1, 4, 3, 5)) * -2 - del tmp382 - t3new.aaaaaa += np.transpose(tmp384, (0, 2, 1, 3, 4, 5)) * -6 - del tmp384 - t3new.aaaaaa += np.transpose(tmp389, (2, 0, 1, 4, 3, 5)) * 2 - del tmp389 - t3new.aaaaaa += np.transpose(tmp352, (2, 1, 0, 3, 4, 5)) * -2 - t3new.aaaaaa += np.transpose(tmp388, (0, 2, 1, 3, 5, 4)) * 2 - t3new.aaaaaa += np.transpose(tmp330, (2, 1, 0, 3, 4, 5)) * 2 - t3new.aaaaaa += np.transpose(tmp352, (2, 1, 0, 4, 3, 5)) * 2 - del tmp352 - t3new.aaaaaa += np.transpose(tmp330, (2, 1, 0, 4, 3, 5)) * -2 - del tmp330 - t3new.aaaaaa += np.transpose(tmp301, (2, 1, 0, 3, 4, 5)) * 2 - t3new.aaaaaa += np.transpose(tmp301, (2, 1, 0, 4, 3, 5)) * -2 - tmp390 = einsum(t2.aaaa, (0, 1, 2, 3), tmp87, (4, 5, 6, 3), (5, 4, 0, 1, 6, 2)) - tmp391 = einsum(tmp390, (0, 1, 2, 3, 4, 5), t1.aa, (1, 6), (0, 3, 2, 5, 4, 6)) * -1 - del tmp390 - t3new.aaaaaa += np.transpose(tmp391, (2, 1, 0, 4, 5, 3)) * 2 - tmp392 = np.copy(np.transpose(tmp296, (0, 2, 1, 3))) * -1 - tmp392 += np.transpose(tmp112, (0, 2, 3, 1)) - tmp392 += np.transpose(tmp112, (0, 3, 2, 1)) * -1 - tmp393 = einsum(t2.aaaa, (0, 1, 2, 3), tmp392, (4, 5, 6, 3), (4, 0, 1, 5, 6, 2)) * -2 - del tmp392 - t3new.aaaaaa += np.transpose(tmp393, (2, 1, 0, 4, 3, 5)) * -1 - t3new.aaaaaa += np.transpose(tmp301, (2, 0, 1, 3, 4, 5)) * -2 - t3new.aaaaaa += np.transpose(tmp301, (2, 0, 1, 4, 3, 5)) * 2 - t3new.aaaaaa += np.transpose(tmp391, (2, 0, 1, 4, 5, 3)) * -2 - t3new.aaaaaa += np.transpose(tmp393, (2, 0, 1, 4, 3, 5)) - t3new.aaaaaa += np.transpose(tmp301, (2, 1, 0, 3, 5, 4)) * -2 - t3new.aaaaaa += np.transpose(tmp301, (2, 1, 0, 4, 5, 3)) * 2 - tmp394 = einsum(tmp112, (0, 1, 2, 3), t2.aaaa, (4, 5, 6, 2), (0, 4, 5, 6, 3, 1)) - t3new.aaaaaa += np.transpose(tmp394, (2, 1, 0, 4, 3, 5)) * -2 - t3new.aaaaaa += np.transpose(tmp394, (2, 1, 0, 5, 3, 4)) * 2 - t3new.aaaaaa += np.transpose(tmp391, (2, 1, 0, 4, 3, 5)) * -2 - t3new.aaaaaa += np.transpose(tmp301, (2, 0, 1, 3, 5, 4)) * 2 - t3new.aaaaaa += np.transpose(tmp301, (2, 0, 1, 4, 5, 3)) * -2 - t3new.aaaaaa += np.transpose(tmp394, (2, 0, 1, 4, 3, 5)) * 2 - t3new.aaaaaa += np.transpose(tmp394, (2, 0, 1, 5, 3, 4)) * -2 - t3new.aaaaaa += np.transpose(tmp391, (2, 0, 1, 4, 3, 5)) * 2 - t3new.aaaaaa += np.transpose(tmp301, (0, 2, 1, 3, 4, 5)) * 2 - t3new.aaaaaa += np.transpose(tmp301, (0, 2, 1, 4, 3, 5)) * -2 - t3new.aaaaaa += np.transpose(tmp391, (0, 2, 1, 4, 5, 3)) * 2 - t3new.aaaaaa += np.transpose(tmp393, (0, 2, 1, 4, 3, 5)) * -1 - del tmp393 - t3new.aaaaaa += np.transpose(tmp301, (0, 2, 1, 3, 5, 4)) * -2 - t3new.aaaaaa += np.transpose(tmp301, (0, 2, 1, 4, 5, 3)) * 2 - del tmp301 - t3new.aaaaaa += np.transpose(tmp394, (0, 2, 1, 4, 3, 5)) * -2 - t3new.aaaaaa += np.transpose(tmp394, (0, 2, 1, 5, 3, 4)) * 2 - t3new.aaaaaa += np.transpose(tmp391, (0, 2, 1, 4, 3, 5)) * -2 - t3new.aaaaaa += np.transpose(tmp394, (2, 1, 0, 3, 4, 5)) * 2 - t3new.aaaaaa += np.transpose(tmp394, (2, 1, 0, 3, 5, 4)) * -2 - t3new.aaaaaa += np.transpose(tmp391, (2, 1, 0, 3, 4, 5)) * 2 - t3new.aaaaaa += np.transpose(tmp394, (2, 0, 1, 3, 4, 5)) * -2 - t3new.aaaaaa += np.transpose(tmp394, (2, 0, 1, 3, 5, 4)) * 2 - t3new.aaaaaa += np.transpose(tmp391, (2, 0, 1, 3, 4, 5)) * -2 - t3new.aaaaaa += np.transpose(tmp394, (0, 2, 1, 3, 4, 5)) * 2 - t3new.aaaaaa += np.transpose(tmp394, (0, 2, 1, 3, 5, 4)) * -2 - del tmp394 - t3new.aaaaaa += np.transpose(tmp391, (0, 2, 1, 3, 4, 5)) * 2 - t3new.aaaaaa += np.transpose(tmp298, (1, 0, 2, 4, 5, 3)) * -6 - t3new.aaaaaa += np.transpose(tmp310, (2, 0, 1, 5, 4, 3)) * -2 - t3new.aaaaaa += np.transpose(tmp298, (0, 1, 2, 4, 5, 3)) * 6 - t3new.aaaaaa += np.transpose(tmp310, (0, 2, 1, 5, 4, 3)) * 2 - t3new.aaaaaa += np.transpose(tmp298, (1, 2, 0, 4, 5, 3)) * 6 - del tmp298 - t3new.aaaaaa += einsum(tmp377, (0, 1, 2, 3), t2.aaaa, (4, 2, 5, 6), (4, 1, 0, 5, 6, 3)) - del tmp377 - t3new.aaaaaa += np.transpose(tmp310, (2, 1, 0, 5, 4, 3)) - del tmp310 - t3new.aaaaaa += np.transpose(tmp364, (1, 2, 0, 3, 5, 4)) * -6 - t3new.aaaaaa += np.transpose(tmp364, (1, 2, 0, 3, 4, 5)) * 6 - t3new.aaaaaa += np.transpose(tmp364, (1, 2, 0, 4, 3, 5)) * -6 - del tmp364 - tmp395 = einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), tmp114, (6, 7, 2, 1), (6, 7, 0, 3, 4, 5)) * -1 - t3new.aaaaaa += np.transpose(tmp395, (2, 1, 0, 4, 5, 3)) * -6 - tmp396 = einsum(t2.aaaa, (0, 1, 2, 3), tmp117, (4, 5, 1, 6), (4, 5, 0, 6, 2, 3)) * -1 - t3new.aaaaaa += np.transpose(tmp396, (2, 1, 0, 5, 4, 3)) * -4 - t3new.aaaaaa += np.transpose(tmp395, (1, 2, 0, 4, 5, 3)) * 6 - t3new.aaaaaa += np.transpose(tmp396, (1, 2, 0, 5, 4, 3)) * 4 - t3new.aaaaaa += np.transpose(tmp395, (1, 0, 2, 4, 5, 3)) * -6 - del tmp395 - t3new.aaaaaa += np.transpose(tmp396, (1, 0, 2, 5, 4, 3)) * -4 - del tmp396 - tmp398 = np.copy(tmp53) - tmp397 = einsum(t2.aaaa, (0, 1, 2, 3), tmp319, (1, 4, 3, 5), (4, 0, 5, 2)) * 2 - tmp398 += np.transpose(tmp397, (1, 0, 3, 2)) * -1 - del tmp397 - tmp399 = einsum(tmp398, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 1, 6, 7, 3), (4, 5, 0, 6, 7, 2)) * 3 - del tmp398 - t3new.aaaaaa += tmp399 * 2 - tmp401 = np.copy(tmp157) - tmp400 = einsum(t2.abab, (0, 1, 2, 3), tmp15, (1, 4, 3, 5), (0, 4, 2, 5)) * 0.5 - tmp401 += tmp400 * -1 - del tmp400 - tmp402 = einsum(tmp401, (0, 1, 2, 3), t3.abaaba, (4, 1, 5, 6, 3, 7), (4, 5, 0, 6, 7, 2)) * 2 - t3new.aaaaaa += np.transpose(tmp402, (1, 0, 2, 4, 3, 5)) * 2 - tmp403 = einsum(tmp100, (0, 1, 2, 3), t2.aaaa, (4, 1, 5, 6), (0, 2, 4, 3, 5, 6)) * -1 - t3new.aaaaaa += np.transpose(tmp403, (1, 2, 0, 5, 4, 3)) * 2 - t3new.aaaaaa += np.transpose(tmp399, (0, 2, 1, 3, 4, 5)) * -2 - t3new.aaaaaa += np.transpose(tmp402, (1, 2, 0, 4, 3, 5)) * -2 - t3new.aaaaaa += np.transpose(tmp403, (1, 0, 2, 5, 4, 3)) * -2 - t3new.aaaaaa += np.transpose(tmp399, (2, 0, 1, 3, 4, 5)) * 2 - del tmp399 - t3new.aaaaaa += np.transpose(tmp402, (2, 1, 0, 4, 3, 5)) * 2 - del tmp402 - t3new.aaaaaa += np.transpose(tmp403, (0, 1, 2, 5, 4, 3)) * 2 - t3new.aaaaaa += np.transpose(tmp403, (2, 0, 1, 5, 4, 3)) * 2 - t3new.aaaaaa += np.transpose(tmp403, (0, 2, 1, 5, 4, 3)) * -2 - tmp404 = np.copy(np.transpose(tmp97, (0, 2, 1, 3))) * 0.5 - tmp404 += np.transpose(tmp326, (2, 1, 0, 3)) - t3new.aaaaaa += einsum(tmp404, (0, 1, 2, 3), t2.aaaa, (4, 1, 5, 6), (4, 2, 0, 5, 6, 3)) * -2 - del tmp404 - t3new.aaaaaa += np.transpose(tmp403, (2, 1, 0, 5, 4, 3)) * -1 - del tmp403 - tmp405 = np.copy(np.transpose(tmp116, (1, 0, 2, 3))) - tmp405 += np.transpose(tmp117, (1, 0, 2, 3)) * -1 - tmp406 = einsum(t2.aaaa, (0, 1, 2, 3), tmp405, (4, 5, 1, 6), (4, 5, 0, 6, 2, 3)) * -2 - del tmp405 - t3new.aaaaaa += np.transpose(tmp406, (2, 1, 0, 3, 5, 4)) * -2 - t3new.aaaaaa += np.transpose(tmp406, (1, 2, 0, 3, 5, 4)) * 2 - t3new.aaaaaa += np.transpose(tmp406, (2, 1, 0, 5, 3, 4)) * 2 - t3new.aaaaaa += np.transpose(tmp406, (1, 2, 0, 5, 3, 4)) * -2 - t3new.aaaaaa += np.transpose(tmp406, (1, 0, 2, 3, 5, 4)) * -2 - t3new.aaaaaa += np.transpose(tmp406, (1, 0, 2, 5, 3, 4)) * 2 - del tmp406 - t3new.aaaaaa += np.transpose(tmp388, (0, 2, 1, 4, 5, 3)) * -2 - t3new.aaaaaa += np.transpose(tmp323, (2, 1, 0, 5, 3, 4)) * -1 - t3new.aaaaaa += np.transpose(tmp388, (2, 0, 1, 4, 5, 3)) * 2 - t3new.aaaaaa += np.transpose(tmp348, (1, 2, 0, 5, 3, 4)) * 2 - t3new.aaaaaa += np.transpose(tmp388, (0, 2, 1, 5, 4, 3)) * 2 - t3new.aaaaaa += np.transpose(tmp348, (2, 1, 0, 3, 5, 4)) * 2 - t3new.aaaaaa += np.transpose(tmp388, (2, 0, 1, 5, 4, 3)) * -2 - t3new.aaaaaa += np.transpose(tmp348, (1, 2, 0, 3, 5, 4)) * -2 - t3new.aaaaaa += np.transpose(tmp388, (2, 1, 0, 4, 5, 3)) * -2 - t3new.aaaaaa += np.transpose(tmp323, (1, 0, 2, 5, 3, 4)) * -1 - del tmp323 - t3new.aaaaaa += np.transpose(tmp388, (2, 1, 0, 5, 4, 3)) * 2 - t3new.aaaaaa += np.transpose(tmp348, (1, 0, 2, 3, 5, 4)) * 2 - del tmp348 - tmp407 = einsum(t2.aaaa, (0, 1, 2, 3), tmp116, (4, 5, 1, 6), (4, 5, 0, 2, 3, 6)) - t3new.aaaaaa += np.transpose(tmp407, (2, 1, 0, 4, 3, 5)) * -4 - t3new.aaaaaa += np.transpose(tmp407, (1, 2, 0, 4, 3, 5)) * 4 - t3new.aaaaaa += np.transpose(tmp407, (1, 0, 2, 4, 3, 5)) * -4 - del tmp407 - t3new.aaaaaa += np.transpose(tmp388, (0, 2, 1, 5, 3, 4)) * -2 - t3new.aaaaaa += np.transpose(tmp388, (2, 0, 1, 5, 3, 4)) * 2 - t3new.aaaaaa += np.transpose(tmp388, (2, 1, 0, 5, 3, 4)) * -2 - del tmp388 - tmp409 = np.copy(tmp81) * 0.5 - tmp408 = einsum(t2.aaaa, (0, 1, 2, 3), tmp374, (4, 5, 1, 3), (4, 5, 0, 2)) - tmp409 += np.transpose(tmp408, (0, 2, 1, 3)) - del tmp408 - tmp410 = einsum(t2.aaaa, (0, 1, 2, 3), tmp409, (4, 5, 1, 6), (4, 5, 0, 6, 2, 3)) * -2 - del tmp409 - t3new.aaaaaa += np.transpose(tmp410, (2, 1, 0, 5, 4, 3)) - tmp411 = einsum(t2.aaaa, (0, 1, 2, 3), tmp84, (4, 5, 1, 6), (4, 5, 0, 6, 2, 3)) * -1 - t3new.aaaaaa += np.transpose(tmp411, (2, 1, 0, 5, 4, 3)) - t3new.aaaaaa += np.transpose(tmp411, (1, 2, 0, 5, 4, 3)) * -2 - t3new.aaaaaa += np.transpose(tmp297, (2, 1, 0, 4, 3, 5)) * -2 - tmp412 = einsum(t2.aaaa, (0, 1, 2, 3), tmp80, (4, 5, 6, 3), (5, 4, 0, 1, 6, 2)) - tmp413 = einsum(tmp412, (0, 1, 2, 3, 4, 5), t1.aa, (1, 6), (0, 3, 2, 5, 4, 6)) * -2 - del tmp412 - t3new.aaaaaa += np.transpose(tmp413, (2, 1, 0, 5, 4, 3)) * -1 - t3new.aaaaaa += np.transpose(tmp297, (2, 0, 1, 4, 3, 5)) * 2 - t3new.aaaaaa += np.transpose(tmp391, (2, 0, 1, 5, 4, 3)) * 2 - t3new.aaaaaa += np.transpose(tmp411, (2, 0, 1, 5, 4, 3)) * -2 - t3new.aaaaaa += np.transpose(tmp411, (1, 0, 2, 5, 4, 3)) * 2 - t3new.aaaaaa += np.transpose(tmp410, (0, 2, 1, 5, 4, 3)) - del tmp410 - t3new.aaaaaa += np.transpose(tmp411, (0, 2, 1, 5, 4, 3)) - t3new.aaaaaa += np.transpose(tmp411, (0, 1, 2, 5, 4, 3)) * -2 - del tmp411 - t3new.aaaaaa += np.transpose(tmp297, (0, 2, 1, 4, 3, 5)) * -2 - del tmp297 - t3new.aaaaaa += np.transpose(tmp413, (0, 2, 1, 5, 4, 3)) * -1 - del tmp413 - tmp414 = einsum(tmp110, (0, 1, 2, 3), t2.aaaa, (4, 2, 5, 6), (1, 0, 4, 3, 5, 6)) - t3new.aaaaaa += np.transpose(tmp414, (2, 0, 1, 3, 5, 4)) * 2 - t3new.aaaaaa += np.transpose(tmp414, (2, 1, 0, 3, 5, 4)) * -2 - tmp415 = einsum(t2.aaaa, (0, 1, 2, 3), tmp108, (4, 5, 1, 6), (4, 5, 0, 2, 3, 6)) - t3new.aaaaaa += np.transpose(tmp415, (2, 0, 1, 5, 4, 3)) * 2 - t3new.aaaaaa += np.transpose(tmp415, (2, 1, 0, 5, 4, 3)) * -2 - t3new.aaaaaa += np.transpose(tmp414, (0, 2, 1, 3, 5, 4)) * -2 - t3new.aaaaaa += np.transpose(tmp414, (1, 2, 0, 3, 5, 4)) * 2 - t3new.aaaaaa += np.transpose(tmp415, (0, 2, 1, 5, 4, 3)) * -2 - t3new.aaaaaa += np.transpose(tmp415, (1, 2, 0, 5, 4, 3)) * 2 - t3new.aaaaaa += np.transpose(tmp414, (2, 0, 1, 5, 3, 4)) * -2 - t3new.aaaaaa += np.transpose(tmp414, (2, 1, 0, 5, 3, 4)) * 2 - t3new.aaaaaa += np.transpose(tmp415, (2, 0, 1, 4, 5, 3)) * -2 - t3new.aaaaaa += np.transpose(tmp415, (2, 1, 0, 4, 5, 3)) * 2 - t3new.aaaaaa += np.transpose(tmp414, (0, 2, 1, 5, 3, 4)) * 2 - t3new.aaaaaa += np.transpose(tmp414, (1, 2, 0, 5, 3, 4)) * -2 - t3new.aaaaaa += np.transpose(tmp415, (0, 2, 1, 4, 5, 3)) * 2 - t3new.aaaaaa += np.transpose(tmp415, (1, 2, 0, 4, 5, 3)) * -2 - t3new.aaaaaa += np.transpose(tmp414, (0, 1, 2, 3, 5, 4)) * 2 - t3new.aaaaaa += np.transpose(tmp414, (1, 0, 2, 3, 5, 4)) * -2 - t3new.aaaaaa += np.transpose(tmp415, (0, 1, 2, 5, 4, 3)) * 2 - t3new.aaaaaa += np.transpose(tmp415, (1, 0, 2, 5, 4, 3)) * -2 - t3new.aaaaaa += np.transpose(tmp414, (0, 1, 2, 5, 3, 4)) * -2 - t3new.aaaaaa += np.transpose(tmp414, (1, 0, 2, 5, 3, 4)) * 2 - t3new.aaaaaa += np.transpose(tmp415, (0, 1, 2, 4, 5, 3)) * -2 - t3new.aaaaaa += np.transpose(tmp415, (1, 0, 2, 4, 5, 3)) * 2 - t3new.aaaaaa += np.transpose(tmp415, (2, 0, 1, 4, 3, 5)) * 2 - t3new.aaaaaa += np.transpose(tmp415, (2, 1, 0, 4, 3, 5)) * -2 - t3new.aaaaaa += np.transpose(tmp415, (0, 2, 1, 4, 3, 5)) * -2 - t3new.aaaaaa += np.transpose(tmp415, (1, 2, 0, 4, 3, 5)) * 2 - t3new.aaaaaa += np.transpose(tmp391, (2, 1, 0, 5, 3, 4)) * 2 - t3new.aaaaaa += np.transpose(tmp391, (2, 0, 1, 5, 3, 4)) * -2 - t3new.aaaaaa += np.transpose(tmp391, (2, 1, 0, 3, 5, 4)) * -2 - t3new.aaaaaa += np.transpose(tmp391, (2, 0, 1, 3, 5, 4)) * 2 - t3new.aaaaaa += np.transpose(tmp415, (0, 1, 2, 4, 3, 5)) * 2 - t3new.aaaaaa += np.transpose(tmp415, (1, 0, 2, 4, 3, 5)) * -2 - del tmp415 - t3new.aaaaaa += np.transpose(tmp391, (0, 2, 1, 5, 3, 4)) * 2 - t3new.aaaaaa += np.transpose(tmp391, (0, 2, 1, 3, 5, 4)) * -2 - del tmp391 - tmp416 = einsum(tmp106, (0, 1, 2, 3), t3.aaaaaa, (4, 2, 3, 5, 6, 7), (0, 1, 4, 5, 6, 7)) - t3new.aaaaaa += np.transpose(tmp416, (2, 1, 0, 4, 5, 3)) * -6 - t3new.aaaaaa += np.transpose(tmp414, (2, 0, 1, 5, 4, 3)) * 2 - t3new.aaaaaa += np.transpose(tmp414, (2, 1, 0, 5, 4, 3)) * -2 - t3new.aaaaaa += np.transpose(tmp416, (1, 2, 0, 4, 5, 3)) * 6 - t3new.aaaaaa += np.transpose(tmp414, (0, 2, 1, 5, 4, 3)) * -2 - t3new.aaaaaa += np.transpose(tmp414, (1, 2, 0, 5, 4, 3)) * 2 - t3new.aaaaaa += np.transpose(tmp416, (1, 0, 2, 4, 5, 3)) * -6 - del tmp416 - t3new.aaaaaa += np.transpose(tmp414, (0, 1, 2, 5, 4, 3)) * 2 - t3new.aaaaaa += np.transpose(tmp414, (1, 0, 2, 5, 4, 3)) * -2 - del tmp414 - tmp929 = einsum(v.bbbb.oooo, (0, 1, 2, 3), t3.bbbbbb, (4, 3, 1, 5, 6, 7), (4, 0, 2, 5, 6, 7)) * -1 - t3new.bbbbbb = np.copy(np.transpose(tmp929, (2, 0, 1, 4, 5, 3))) * 6 - tmp930 = einsum(t2.bbbb, (0, 1, 2, 3), tmp188, (4, 1, 5, 6), (0, 5, 4, 6, 2, 3)) - t3new.bbbbbb += np.transpose(tmp930, (1, 0, 2, 5, 4, 3)) * -2 - tmp881 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ooov, (4, 1, 0, 5), (4, 2, 3, 5)) * -1 - tmp931 = einsum(tmp881, (0, 1, 2, 3), t2.bbbb, (4, 5, 6, 3), (4, 5, 0, 1, 2, 6)) - t3new.bbbbbb += np.transpose(tmp931, (1, 0, 2, 5, 4, 3)) * -4 - tmp932 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ooov, (4, 5, 6, 3), (0, 1, 4, 5, 6, 2)) - tmp933 = einsum(tmp932, (0, 1, 2, 3, 4, 5), t1.bb, (4, 6), (0, 1, 2, 3, 6, 5)) - del tmp932 - tmp934 = einsum(t1.bb, (0, 1), tmp933, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) - del tmp933 - t3new.bbbbbb += np.transpose(tmp934, (1, 0, 2, 5, 3, 4)) * 2 - t3new.bbbbbb += np.transpose(tmp934, (1, 0, 2, 5, 4, 3)) * -2 - tmp935 = einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), tmp35, (2, 6), (0, 1, 6, 3, 4, 5)) * -1 - t3new.bbbbbb += np.transpose(tmp935, (1, 0, 2, 4, 5, 3)) * -3 - tmp936 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), v.aabb.ovoo, (1, 4, 6, 7), (0, 2, 6, 7, 3, 5)) - tmp938 = np.copy(np.transpose(tmp936, (1, 0, 3, 2, 5, 4))) * 0.3333333333333333 - tmp473 = np.copy(v.bbbb.ooov) * -1 - tmp473 += np.transpose(v.bbbb.ovoo, (0, 2, 3, 1)) - tmp937 = einsum(tmp473, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 0, 6, 7, 3), (4, 5, 1, 2, 6, 7)) - tmp938 += np.transpose(tmp937, (0, 1, 3, 2, 4, 5)) - del tmp937 - tmp939 = einsum(t1.bb, (0, 1), tmp938, (2, 3, 0, 4, 5, 6), (2, 3, 4, 5, 6, 1)) * 3 - del tmp938 - t3new.bbbbbb += np.transpose(tmp939, (1, 0, 2, 4, 3, 5)) * -2 - del tmp939 - tmp940 = einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), tmp193, (2, 6), (0, 1, 6, 3, 4, 5)) * -1 - t3new.bbbbbb += np.transpose(tmp940, (1, 0, 2, 4, 5, 3)) * -3 - t3new.bbbbbb += np.transpose(tmp931, (1, 0, 2, 4, 5, 3)) * 4 - t3new.bbbbbb += np.transpose(tmp929, (2, 1, 0, 4, 5, 3)) * -6 - t3new.bbbbbb += np.transpose(tmp930, (1, 2, 0, 5, 4, 3)) * 2 - t3new.bbbbbb += np.transpose(tmp931, (1, 2, 0, 5, 4, 3)) * 4 - t3new.bbbbbb += np.transpose(tmp934, (1, 2, 0, 5, 3, 4)) * -2 - t3new.bbbbbb += np.transpose(tmp934, (1, 2, 0, 5, 4, 3)) * 2 - t3new.bbbbbb += np.transpose(tmp940, (1, 2, 0, 4, 5, 3)) * 6 - tmp942 = np.copy(np.transpose(tmp936, (1, 0, 3, 2, 5, 4))) - tmp941 = einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), tmp164, (2, 6, 7, 5), (0, 1, 6, 7, 3, 4)) - tmp942 += np.transpose(tmp941, (0, 1, 3, 2, 4, 5)) * 3 - del tmp941 - tmp943 = einsum(tmp942, (0, 1, 2, 3, 4, 5), t1.bb, (2, 6), (0, 1, 3, 4, 5, 6)) - del tmp942 - t3new.bbbbbb += np.transpose(tmp943, (1, 2, 0, 4, 3, 5)) * 2 - t3new.bbbbbb += np.transpose(tmp931, (1, 2, 0, 4, 5, 3)) * -4 - tmp944 = einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), v.bbbb.ovov, (6, 4, 7, 5), (0, 1, 2, 6, 7, 3)) - tmp945 = einsum(tmp944, (0, 1, 2, 3, 4, 5), t2.bbbb, (4, 3, 6, 7), (0, 1, 2, 6, 7, 5)) * -1 - t3new.bbbbbb += np.transpose(tmp945, (1, 2, 0, 5, 4, 3)) * -6 - t3new.bbbbbb += np.transpose(tmp930, (2, 1, 0, 5, 4, 3)) * -2 - t3new.bbbbbb += np.transpose(tmp931, (2, 1, 0, 5, 4, 3)) * -4 - t3new.bbbbbb += np.transpose(tmp934, (2, 1, 0, 5, 3, 4)) * 2 - t3new.bbbbbb += np.transpose(tmp934, (2, 1, 0, 5, 4, 3)) * -2 - tmp949 = np.copy(np.transpose(tmp936, (3, 1, 2, 0, 5, 4))) * -0.3333333333333333 - tmp946 = einsum(tmp944, (0, 1, 2, 3, 4, 5), t1.bb, (4, 6), (0, 1, 2, 3, 6, 5)) - del tmp944 - tmp949 += np.transpose(tmp946, (3, 1, 2, 0, 4, 5)) * -2 - tmp947 = einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), tmp33, (6, 7, 2, 5), (0, 1, 6, 7, 3, 4)) - del tmp33 - tmp949 += np.transpose(tmp947, (3, 0, 2, 1, 4, 5)) - tmp948 = einsum(tmp17, (0, 1), t3.bbbbbb, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) - tmp949 += np.transpose(tmp948, (0, 2, 3, 1, 4, 5)) - t3new.bbbbbb += einsum(t1.bb, (0, 1), tmp949, (0, 2, 3, 4, 5, 6), (3, 4, 2, 6, 5, 1)) * 3 - del tmp949 - tmp950 = einsum(tmp125, (0, 1), t3.bbbbbb, (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 6, 0)) * 3 - t3new.bbbbbb += np.transpose(tmp950, (1, 2, 0, 3, 4, 5)) * -2 - del tmp950 - t3new.bbbbbb += np.transpose(tmp935, (2, 1, 0, 4, 5, 3)) * -3 - del tmp935 - t3new.bbbbbb += np.transpose(tmp940, (2, 1, 0, 4, 5, 3)) * -3 - del tmp940 - t3new.bbbbbb += np.transpose(tmp931, (2, 1, 0, 4, 5, 3)) * 4 - del tmp931 - tmp951 = np.copy(np.transpose(tmp936, (3, 1, 2, 0, 5, 4))) * -0.3333333333333333 - tmp951 += np.transpose(tmp947, (3, 0, 2, 1, 4, 5)) - del tmp947 - tmp951 += np.transpose(tmp948, (0, 2, 3, 1, 4, 5)) - t3new.bbbbbb += einsum(tmp951, (0, 1, 2, 3, 4, 5), t1.bb, (0, 6), (2, 3, 1, 5, 4, 6)) * 3 - del tmp951 - tmp952 = einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), v.bbbb.ovov, (6, 7, 2, 5), (0, 1, 6, 3, 4, 7)) - t3new.bbbbbb += np.transpose(tmp952, (2, 1, 0, 5, 4, 3)) * 6 - tmp953 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), v.aabb.ovov, (1, 4, 6, 7), (0, 2, 6, 3, 5, 7)) - t3new.bbbbbb += np.transpose(tmp953, (2, 1, 0, 5, 4, 3)) * 2 - tmp445 = np.copy(f.bb.vv) * -1 - tmp445 += np.transpose(tmp24, (1, 0)) * -1 - del tmp24 - tmp445 += np.transpose(tmp123, (1, 0)) - del tmp123 - tmp445 += np.transpose(tmp124, (1, 0)) * 2 - del tmp124 - tmp444 = einsum(tmp203, (0, 1, 2, 3), t1.bb, (0, 2), (1, 3)) - del tmp203 - tmp445 += tmp444 * -1 - del tmp444 - tmp954 = einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), tmp445, (5, 6), (0, 1, 2, 3, 4, 6)) * 3 - t3new.bbbbbb += np.transpose(tmp954, (1, 2, 0, 5, 3, 4)) * -2 - tmp955 = einsum(t1.bb, (0, 1), tmp948, (0, 2, 3, 4, 5, 6), (3, 4, 2, 5, 6, 1)) * 3 - del tmp948 - t3new.bbbbbb += np.transpose(tmp955, (1, 2, 0, 5, 4, 3)) * 2 - t3new.bbbbbb += np.transpose(tmp952, (2, 1, 0, 4, 5, 3)) * -6 - t3new.bbbbbb += np.transpose(tmp953, (2, 1, 0, 4, 5, 3)) * -2 - t3new.bbbbbb += np.transpose(tmp954, (1, 2, 0, 3, 5, 4)) * 2 - del tmp954 - t3new.bbbbbb += np.transpose(tmp955, (1, 2, 0, 4, 5, 3)) * -2 - del tmp955 - t3new.bbbbbb += np.transpose(tmp952, (2, 1, 0, 4, 3, 5)) * 6 - t3new.bbbbbb += np.transpose(tmp953, (2, 1, 0, 4, 3, 5)) * 2 - tmp956 = einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), tmp27, (5, 6), (0, 1, 2, 6, 3, 4)) - t3new.bbbbbb += np.transpose(tmp956, (1, 2, 0, 4, 5, 3)) * 6 - del tmp956 - tmp957 = einsum(tmp217, (0, 1, 2, 3), t3.bbbbbb, (4, 2, 3, 5, 6, 7), (0, 4, 1, 5, 6, 7)) - t3new.bbbbbb += np.transpose(tmp957, (2, 1, 0, 4, 5, 3)) * -6 - tmp911 = einsum(tmp23, (0, 1, 2, 3), t2.bbbb, (1, 2, 4, 5), (0, 4, 5, 3)) - tmp958 = einsum(tmp911, (0, 1, 2, 3), t2.bbbb, (4, 5, 6, 3), (0, 4, 5, 1, 2, 6)) * -1 - t3new.bbbbbb += np.transpose(tmp958, (2, 1, 0, 5, 4, 3)) * -4 - tmp959 = einsum(t2.bbbb, (0, 1, 2, 3), tmp23, (4, 5, 6, 3), (4, 0, 1, 6, 5, 2)) - tmp960 = einsum(t1.bb, (0, 1), tmp959, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del tmp959 - tmp961 = einsum(tmp960, (0, 1, 2, 3, 4, 5), t1.bb, (3, 6), (0, 1, 2, 6, 4, 5)) - del tmp960 - t3new.bbbbbb += np.transpose(tmp961, (2, 1, 0, 5, 3, 4)) * 2 - t3new.bbbbbb += np.transpose(tmp961, (2, 1, 0, 5, 4, 3)) * -2 - tmp962 = einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), tmp223, (6, 2), (0, 1, 6, 3, 4, 5)) * -2 - del tmp223 - t3new.bbbbbb += np.transpose(tmp962, (1, 0, 2, 4, 5, 3)) * -6 - del tmp962 - tmp963 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), tmp22, (1, 6, 7, 4), (6, 0, 2, 7, 3, 5)) - tmp966 = np.copy(np.transpose(tmp963, (0, 2, 1, 3, 5, 4))) - del tmp963 - tmp964 = np.copy(tmp23) * -1 - tmp964 += np.transpose(tmp23, (0, 2, 1, 3)) - tmp965 = einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), tmp964, (6, 7, 2, 5), (0, 1, 6, 7, 3, 4)) - tmp966 += np.transpose(tmp965, (2, 0, 1, 3, 4, 5)) * 3 - del tmp965 - tmp967 = einsum(t1.bb, (0, 1), tmp966, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 6, 1)) - del tmp966 - t3new.bbbbbb += np.transpose(tmp967, (2, 1, 0, 4, 3, 5)) * -2 - tmp722 = np.copy(np.transpose(tmp217, (0, 2, 1, 3))) - tmp722 += np.transpose(tmp217, (0, 2, 3, 1)) * -1 - tmp723 = einsum(tmp722, (0, 1, 2, 3), t1.bb, (3, 4), (0, 1, 2, 4)) - del tmp722 - tmp968 = einsum(t2.bbbb, (0, 1, 2, 3), tmp723, (4, 5, 1, 6), (0, 4, 5, 2, 3, 6)) * -1 - t3new.bbbbbb += np.transpose(tmp968, (2, 0, 1, 4, 3, 5)) * -2 - t3new.bbbbbb += np.transpose(tmp958, (2, 1, 0, 4, 5, 3)) * 4 - t3new.bbbbbb += np.transpose(tmp957, (2, 0, 1, 4, 5, 3)) * 6 - t3new.bbbbbb += np.transpose(tmp958, (2, 0, 1, 5, 4, 3)) * 4 - t3new.bbbbbb += np.transpose(tmp961, (2, 0, 1, 5, 3, 4)) * -2 - t3new.bbbbbb += np.transpose(tmp961, (2, 0, 1, 5, 4, 3)) * 2 - tmp969 = np.copy(np.transpose(tmp28, (1, 0))) * 0.5 - tmp969 += np.transpose(tmp29, (1, 0)) - tmp969 += tmp222 - del tmp222 - tmp970 = einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), tmp969, (2, 6), (0, 1, 6, 3, 4, 5)) * -2 - del tmp969 - t3new.bbbbbb += np.transpose(tmp970, (1, 2, 0, 4, 5, 3)) * 6 - t3new.bbbbbb += np.transpose(tmp967, (2, 0, 1, 4, 3, 5)) * 2 - t3new.bbbbbb += np.transpose(tmp968, (2, 1, 0, 4, 3, 5)) * 2 - t3new.bbbbbb += np.transpose(tmp958, (2, 0, 1, 4, 5, 3)) * -4 - t3new.bbbbbb += np.transpose(tmp957, (0, 2, 1, 4, 5, 3)) * -6 - t3new.bbbbbb += np.transpose(tmp958, (0, 2, 1, 5, 4, 3)) * -4 - t3new.bbbbbb += np.transpose(tmp961, (0, 2, 1, 5, 3, 4)) * 2 - t3new.bbbbbb += np.transpose(tmp961, (0, 2, 1, 5, 4, 3)) * -2 - t3new.bbbbbb += np.transpose(tmp970, (2, 1, 0, 4, 5, 3)) * -6 - del tmp970 - t3new.bbbbbb += np.transpose(tmp967, (0, 2, 1, 4, 3, 5)) * -2 - t3new.bbbbbb += np.transpose(tmp968, (1, 2, 0, 4, 3, 5)) * -2 - t3new.bbbbbb += np.transpose(tmp958, (0, 2, 1, 4, 5, 3)) * 4 - tmp972 = np.copy(np.transpose(tmp188, (1, 0, 2, 3))) * -0.5 - tmp972 += np.transpose(tmp243, (2, 1, 0, 3)) * 0.5 - tmp972 += np.transpose(tmp206, (2, 1, 0, 3)) - tmp972 += np.transpose(tmp207, (2, 1, 0, 3)) * 3 - tmp971 = einsum(tmp473, (0, 1, 2, 3), t2.bbbb, (4, 0, 5, 3), (4, 1, 2, 5)) - tmp972 += np.transpose(tmp971, (2, 1, 0, 3)) - del tmp971 - tmp972 += np.transpose(tmp212, (0, 2, 1, 3)) * -1 - tmp973 = einsum(t2.bbbb, (0, 1, 2, 3), tmp972, (1, 4, 5, 6), (0, 4, 5, 2, 3, 6)) * -2 - del tmp972 - t3new.bbbbbb += np.transpose(tmp973, (0, 1, 2, 5, 4, 3)) * -2 - tmp743 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), v.aabb.ovov, (1, 4, 2, 6), (0, 3, 5, 6)) - tmp753 = np.copy(np.transpose(tmp743, (0, 2, 1, 3))) * -1 - tmp744 = einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), v.bbbb.ovov, (1, 5, 2, 6), (0, 3, 4, 6)) * -1 - tmp753 += np.transpose(tmp744, (0, 2, 1, 3)) * -3 - tmp974 = einsum(tmp753, (0, 1, 2, 3), t2.bbbb, (4, 5, 6, 3), (4, 5, 0, 6, 1, 2)) * -2 - t3new.bbbbbb += np.transpose(tmp974, (2, 1, 0, 3, 5, 4)) * -2 - tmp772 = np.copy(tmp200) - tmp771 = einsum(tmp15, (0, 1, 2, 3), t2.bbbb, (4, 0, 5, 2), (1, 4, 3, 5)) * 2 - tmp772 += np.transpose(tmp771, (1, 0, 3, 2)) * -1 - del tmp771 - tmp975 = einsum(t2.bbbb, (0, 1, 2, 3), tmp772, (4, 5, 6, 3), (0, 1, 4, 5, 2, 6)) * -0.5 - tmp976 = einsum(t1.bb, (0, 1), tmp975, (2, 3, 4, 0, 5, 6), (3, 2, 4, 5, 6, 1)) * 4 - del tmp975 - t3new.bbbbbb += np.transpose(tmp976, (2, 1, 0, 3, 4, 5)) * -1 - t3new.bbbbbb += np.transpose(tmp973, (1, 0, 2, 5, 4, 3)) * 2 - t3new.bbbbbb += np.transpose(tmp974, (1, 2, 0, 3, 5, 4)) * 2 - t3new.bbbbbb += np.transpose(tmp976, (1, 2, 0, 3, 4, 5)) - tmp978 = np.copy(np.transpose(tmp188, (2, 1, 0, 3))) * -0.5 - tmp978 += np.transpose(tmp243, (0, 2, 1, 3)) * 0.5 - tmp977 = einsum(tmp248, (0, 1, 2, 3), t2.bbbb, (4, 2, 5, 3), (4, 0, 1, 5)) - tmp978 += np.transpose(tmp977, (0, 2, 1, 3)) - tmp978 += np.transpose(tmp212, (2, 0, 1, 3)) - tmp979 = einsum(t2.bbbb, (0, 1, 2, 3), tmp978, (4, 1, 5, 6), (0, 4, 5, 2, 3, 6)) * -2 - del tmp978 - t3new.bbbbbb += np.transpose(tmp979, (0, 2, 1, 4, 5, 3)) - t3new.bbbbbb += np.transpose(tmp974, (2, 1, 0, 5, 3, 4)) * 2 - tmp981 = np.copy(np.transpose(tmp188, (2, 1, 0, 3))) * -1 - tmp981 += np.transpose(tmp243, (0, 2, 1, 3)) - tmp981 += np.transpose(tmp245, (0, 2, 1, 3)) * 2 - tmp980 = einsum(tmp17, (0, 1), t2.bbbb, (2, 3, 4, 1), (0, 2, 3, 4)) * -2 - tmp981 += np.transpose(tmp980, (2, 0, 1, 3)) - del tmp980 - tmp982 = einsum(t2.bbbb, (0, 1, 2, 3), tmp981, (4, 1, 5, 6), (0, 4, 5, 2, 3, 6)) * -1 - del tmp981 - t3new.bbbbbb += np.transpose(tmp982, (0, 2, 1, 4, 5, 3)) - t3new.bbbbbb += np.transpose(tmp979, (2, 0, 1, 4, 5, 3)) * -1 - t3new.bbbbbb += np.transpose(tmp974, (1, 2, 0, 5, 3, 4)) * -2 - t3new.bbbbbb += np.transpose(tmp982, (2, 0, 1, 4, 5, 3)) * -1 - t3new.bbbbbb += np.transpose(tmp973, (1, 2, 0, 5, 4, 3)) * -2 - del tmp973 - t3new.bbbbbb += np.transpose(tmp974, (1, 0, 2, 3, 5, 4)) * -2 - t3new.bbbbbb += np.transpose(tmp976, (1, 0, 2, 3, 4, 5)) * -1 - t3new.bbbbbb += np.transpose(tmp979, (2, 1, 0, 4, 5, 3)) - del tmp979 - t3new.bbbbbb += np.transpose(tmp974, (1, 0, 2, 5, 3, 4)) * 2 - del tmp974 - t3new.bbbbbb += np.transpose(tmp982, (2, 1, 0, 4, 5, 3)) - del tmp982 - tmp983 = einsum(v.bbbb.oovv, (0, 1, 2, 3), t2.bbbb, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) - tmp984 = einsum(t1.bb, (0, 1), tmp983, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) - del tmp983 - t3new.bbbbbb += np.transpose(tmp984, (2, 1, 0, 5, 3, 4)) * 2 - t3new.bbbbbb += np.transpose(tmp934, (2, 1, 0, 3, 4, 5)) * 2 - t3new.bbbbbb += np.transpose(tmp934, (2, 1, 0, 4, 3, 5)) * -2 - tmp985 = np.copy(np.transpose(tmp881, (0, 2, 1, 3))) - tmp985 += np.transpose(tmp743, (0, 2, 1, 3)) * -1 - tmp985 += np.transpose(tmp744, (0, 2, 1, 3)) * -3 - tmp986 = einsum(tmp985, (0, 1, 2, 3), t2.bbbb, (4, 5, 6, 3), (4, 5, 0, 6, 1, 2)) * -2 - del tmp985 - t3new.bbbbbb += np.transpose(tmp986, (2, 1, 0, 5, 4, 3)) * -2 - tmp987 = np.copy(np.transpose(tmp206, (1, 0, 2, 3))) * -1 - tmp987 += np.transpose(tmp207, (1, 0, 2, 3)) * -3 - tmp987 += np.transpose(tmp212, (2, 1, 0, 3)) - del tmp212 - tmp988 = einsum(t2.bbbb, (0, 1, 2, 3), tmp987, (4, 5, 1, 6), (0, 4, 5, 2, 3, 6)) * -2 - del tmp987 - t3new.bbbbbb += np.transpose(tmp988, (0, 2, 1, 4, 3, 5)) * -2 - t3new.bbbbbb += np.transpose(tmp984, (2, 1, 0, 3, 5, 4)) * -2 - t3new.bbbbbb += np.transpose(tmp984, (1, 2, 0, 5, 3, 4)) * -2 - t3new.bbbbbb += np.transpose(tmp934, (1, 2, 0, 3, 4, 5)) * -2 - t3new.bbbbbb += np.transpose(tmp934, (1, 2, 0, 4, 3, 5)) * 2 - t3new.bbbbbb += np.transpose(tmp986, (1, 2, 0, 5, 4, 3)) * 2 - t3new.bbbbbb += np.transpose(tmp988, (2, 0, 1, 4, 3, 5)) * 2 - t3new.bbbbbb += np.transpose(tmp984, (1, 2, 0, 3, 5, 4)) * 2 - t3new.bbbbbb += np.transpose(tmp984, (1, 0, 2, 5, 3, 4)) * 2 - t3new.bbbbbb += np.transpose(tmp934, (1, 0, 2, 3, 4, 5)) * 2 - t3new.bbbbbb += np.transpose(tmp934, (1, 0, 2, 4, 3, 5)) * -2 - t3new.bbbbbb += np.transpose(tmp986, (1, 0, 2, 5, 4, 3)) * -2 - del tmp986 - t3new.bbbbbb += np.transpose(tmp988, (2, 1, 0, 4, 3, 5)) * -2 - del tmp988 - t3new.bbbbbb += np.transpose(tmp984, (1, 0, 2, 3, 5, 4)) * -2 - tmp989 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ooov, (4, 1, 5, 6), (0, 4, 5, 2, 3, 6)) - t3new.bbbbbb += np.transpose(tmp989, (0, 1, 2, 5, 4, 3)) * 2 - t3new.bbbbbb += np.transpose(tmp989, (0, 2, 1, 5, 4, 3)) * -2 - t3new.bbbbbb += np.transpose(tmp989, (1, 0, 2, 5, 4, 3)) * -2 - t3new.bbbbbb += np.transpose(tmp989, (2, 0, 1, 5, 4, 3)) * 2 - tmp990 = np.copy(v.bbbb.oovv) * -0.49999999999999506 - tmp990 += tmp200 * 0.5000000000000001 - tmp766 = einsum(tmp15, (0, 1, 2, 3), t2.bbbb, (4, 0, 5, 2), (1, 4, 3, 5)) - tmp990 += np.transpose(tmp766, (1, 0, 3, 2)) * -1 - tmp991 = einsum(tmp990, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 1, 6, 7, 3), (4, 5, 0, 6, 7, 2)) * 6 - del tmp990 - t3new.bbbbbb += np.transpose(tmp991, (0, 1, 2, 5, 3, 4)) * 2 - tmp769 = np.copy(tmp126) * 2 - tmp550 = einsum(tmp319, (0, 1, 2, 3), t2.abab, (0, 4, 3, 5), (1, 4, 2, 5)) - tmp769 += tmp550 - tmp992 = einsum(tmp769, (0, 1, 2, 3), t3.babbab, (4, 0, 5, 6, 2, 7), (4, 5, 1, 6, 7, 3)) - t3new.bbbbbb += np.transpose(tmp992, (1, 0, 2, 5, 4, 3)) * 2 - t3new.bbbbbb += np.transpose(tmp976, (1, 0, 2, 4, 3, 5)) - tmp994 = np.copy(np.transpose(tmp936, (1, 0, 3, 2, 5, 4))) - del tmp936 - tmp993 = einsum(tmp473, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 0, 6, 7, 3), (4, 5, 1, 2, 6, 7)) * 3 - tmp994 += np.transpose(tmp993, (0, 1, 3, 2, 4, 5)) - del tmp993 - tmp995 = einsum(tmp994, (0, 1, 2, 3, 4, 5), t1.bb, (2, 6), (0, 1, 3, 4, 5, 6)) - del tmp994 - t3new.bbbbbb += np.transpose(tmp995, (1, 0, 2, 5, 4, 3)) * -2 - t3new.bbbbbb += np.transpose(tmp989, (0, 1, 2, 4, 5, 3)) * -2 - t3new.bbbbbb += np.transpose(tmp989, (0, 2, 1, 4, 5, 3)) * 2 - t3new.bbbbbb += np.transpose(tmp989, (1, 0, 2, 4, 5, 3)) * 2 - t3new.bbbbbb += np.transpose(tmp989, (2, 0, 1, 4, 5, 3)) * -2 - t3new.bbbbbb += np.transpose(tmp991, (0, 1, 2, 3, 5, 4)) * -2 - del tmp991 - t3new.bbbbbb += np.transpose(tmp992, (1, 0, 2, 4, 5, 3)) * -2 - t3new.bbbbbb += np.transpose(tmp943, (1, 0, 2, 4, 5, 3)) * 2 - t3new.bbbbbb += np.transpose(tmp989, (1, 2, 0, 5, 4, 3)) * 2 - tmp996 = np.copy(v.bbbb.oovv) * -0.49999999999999506 - tmp996 += np.transpose(tmp200, (1, 0, 3, 2)) * 0.5000000000000001 - tmp546 = np.copy(np.transpose(v.bbbb.ovov, (0, 2, 3, 1))) * -1 - tmp546 += np.transpose(v.bbbb.ovov, (0, 2, 1, 3)) - tmp547 = einsum(tmp546, (0, 1, 2, 3), t2.bbbb, (4, 0, 5, 2), (4, 1, 5, 3)) - del tmp546 - tmp996 += np.transpose(tmp547, (1, 0, 3, 2)) - tmp997 = einsum(tmp996, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 0, 6, 7, 2), (4, 5, 1, 6, 7, 3)) * 6 - del tmp996 - t3new.bbbbbb += np.transpose(tmp997, (2, 0, 1, 5, 3, 4)) * 2 - t3new.bbbbbb += np.transpose(tmp992, (2, 1, 0, 5, 4, 3)) * 2 - t3new.bbbbbb += np.transpose(tmp976, (2, 1, 0, 4, 3, 5)) - del tmp976 - t3new.bbbbbb += np.transpose(tmp995, (2, 1, 0, 5, 4, 3)) * -2 - del tmp995 - t3new.bbbbbb += np.transpose(tmp989, (2, 1, 0, 5, 4, 3)) * -2 - t3new.bbbbbb += np.transpose(tmp997, (0, 2, 1, 5, 3, 4)) * -2 - t3new.bbbbbb += np.transpose(tmp992, (1, 2, 0, 5, 4, 3)) * -2 - tmp999 = np.copy(tmp200) - tmp998 = einsum(tmp49, (0, 1, 2, 3), t2.bbbb, (4, 0, 5, 2), (4, 1, 5, 3)) - del tmp49 - tmp999 += tmp998 * -2 - del tmp998 - tmp1000 = einsum(t2.bbbb, (0, 1, 2, 3), tmp999, (4, 5, 6, 3), (0, 1, 4, 5, 2, 6)) * -1 - del tmp999 - tmp1001 = einsum(tmp1000, (0, 1, 2, 3, 4, 5), t1.bb, (3, 6), (1, 0, 2, 4, 5, 6)) - del tmp1000 - t3new.bbbbbb += np.transpose(tmp1001, (1, 2, 0, 4, 3, 5)) * -2 - t3new.bbbbbb += np.transpose(tmp943, (1, 2, 0, 5, 4, 3)) * 2 - t3new.bbbbbb += np.transpose(tmp989, (1, 2, 0, 4, 5, 3)) * -2 - t3new.bbbbbb += np.transpose(tmp997, (2, 0, 1, 3, 5, 4)) * -2 - t3new.bbbbbb += np.transpose(tmp992, (2, 1, 0, 4, 5, 3)) * -2 - t3new.bbbbbb += np.transpose(tmp943, (2, 1, 0, 4, 5, 3)) * 2 - t3new.bbbbbb += np.transpose(tmp989, (2, 1, 0, 4, 5, 3)) * 2 - t3new.bbbbbb += np.transpose(tmp997, (0, 2, 1, 3, 5, 4)) * 2 - del tmp997 - t3new.bbbbbb += np.transpose(tmp992, (1, 2, 0, 4, 5, 3)) * 2 - del tmp992 - t3new.bbbbbb += np.transpose(tmp943, (1, 2, 0, 4, 5, 3)) * -2 - del tmp943 - t3new.bbbbbb += np.transpose(tmp989, (0, 1, 2, 4, 3, 5)) * 2 - t3new.bbbbbb += np.transpose(tmp989, (0, 2, 1, 4, 3, 5)) * -2 - t3new.bbbbbb += np.transpose(tmp989, (1, 0, 2, 4, 3, 5)) * -2 - tmp1002 = einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), v.bbbb.oovv, (6, 2, 7, 5), (0, 1, 6, 3, 4, 7)) - t3new.bbbbbb += np.transpose(tmp1002, (1, 0, 2, 4, 3, 5)) * -6 - t3new.bbbbbb += np.transpose(tmp989, (2, 0, 1, 4, 3, 5)) * 2 - t3new.bbbbbb += np.transpose(tmp1002, (2, 1, 0, 4, 3, 5)) * -6 - t3new.bbbbbb += np.transpose(tmp989, (1, 2, 0, 4, 3, 5)) * 2 - t3new.bbbbbb += np.transpose(tmp1002, (1, 2, 0, 4, 3, 5)) * 6 - del tmp1002 - t3new.bbbbbb += np.transpose(tmp989, (2, 1, 0, 4, 3, 5)) * -2 - del tmp989 - tmp1003 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovvv, (4, 5, 6, 3), (0, 1, 4, 2, 5, 6)) - t3new.bbbbbb += np.transpose(tmp1003, (1, 0, 2, 5, 4, 3)) * -2 - tmp1004 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (4, 5, 6, 3), (4, 5, 0, 2, 6, 1)) - tmp1005 = einsum(tmp1004, (0, 1, 2, 3, 4, 5), t1.bb, (3, 6), (0, 1, 2, 6, 4, 5)) - del tmp1004 - t3new.bbbbbb += np.transpose(tmp1005, (1, 0, 2, 5, 3, 4)) * -2 - tmp1007 = np.copy(np.transpose(v.bbbb.ovvv, (0, 2, 3, 1))) - tmp856 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovvv, (0, 2, 4, 5), (1, 3, 4, 5)) - tmp1007 += np.transpose(tmp856, (0, 1, 3, 2)) * -1 - tmp1006 = einsum(t2.bbbb, (0, 1, 2, 3), tmp175, (1, 4, 3, 5), (0, 2, 4, 5)) - del tmp175 - tmp1007 += tmp1006 * -2 - del tmp1006 - tmp1008 = einsum(tmp1007, (0, 1, 2, 3), t2.bbbb, (4, 5, 6, 2), (4, 5, 0, 6, 1, 3)) * -1 - del tmp1007 - t3new.bbbbbb += np.transpose(tmp1008, (1, 0, 2, 5, 4, 3)) * -2 - tmp1009 = einsum(t2.bbbb, (0, 1, 2, 3), tmp772, (4, 5, 6, 3), (0, 1, 4, 5, 2, 6)) * -1 - tmp1010 = einsum(t1.bb, (0, 1), tmp1009, (2, 3, 4, 0, 5, 6), (3, 2, 4, 5, 6, 1)) * 2 - del tmp1009 - t3new.bbbbbb += np.transpose(tmp1010, (1, 0, 2, 5, 4, 3)) - t3new.bbbbbb += np.transpose(tmp1003, (1, 2, 0, 5, 4, 3)) * 2 - t3new.bbbbbb += np.transpose(tmp1005, (1, 2, 0, 5, 3, 4)) * 2 - t3new.bbbbbb += np.transpose(tmp1008, (1, 2, 0, 5, 4, 3)) * 2 - t3new.bbbbbb += np.transpose(tmp1001, (1, 2, 0, 5, 4, 3)) * -2 - t3new.bbbbbb += np.transpose(tmp1003, (1, 0, 2, 5, 3, 4)) * 2 - t3new.bbbbbb += np.transpose(tmp1005, (1, 0, 2, 5, 4, 3)) * 2 - t3new.bbbbbb += np.transpose(tmp1003, (1, 0, 2, 4, 3, 5)) * -2 - t3new.bbbbbb += np.transpose(tmp1003, (1, 2, 0, 5, 3, 4)) * -2 - t3new.bbbbbb += np.transpose(tmp1005, (1, 2, 0, 5, 4, 3)) * -2 - t3new.bbbbbb += np.transpose(tmp1003, (1, 2, 0, 4, 3, 5)) * 2 - tmp1011 = einsum(v.bbbb.vvvv, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 6, 7, 1, 3), (4, 5, 6, 7, 0, 2)) - t3new.bbbbbb += np.transpose(tmp1011, (1, 2, 0, 5, 4, 3)) * -6 - t3new.bbbbbb += np.transpose(tmp1003, (2, 1, 0, 5, 4, 3)) * -2 - t3new.bbbbbb += np.transpose(tmp945, (1, 2, 0, 4, 3, 5)) * -6 - tmp1012 = einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), v.bbbb.ovvv, (6, 5, 7, 4), (0, 1, 2, 6, 3, 7)) * -1 - tmp1013 = np.copy(np.transpose(tmp1012, (1, 2, 0, 3, 4, 5))) - tmp1013 += np.transpose(tmp946, (1, 2, 0, 3, 5, 4)) * -1 - del tmp946 - tmp1014 = einsum(t1.bb, (0, 1), tmp1013, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 6, 1)) * 6 - del tmp1013 - t3new.bbbbbb += np.transpose(tmp1014, (1, 2, 0, 4, 5, 3)) - t3new.bbbbbb += np.transpose(tmp1005, (2, 1, 0, 5, 3, 4)) * -2 - t3new.bbbbbb += np.transpose(tmp1008, (2, 1, 0, 5, 4, 3)) * -2 - del tmp1008 - t3new.bbbbbb += np.transpose(tmp1010, (2, 1, 0, 5, 4, 3)) - t3new.bbbbbb += np.transpose(tmp1011, (1, 2, 0, 5, 3, 4)) * 6 - t3new.bbbbbb += np.transpose(tmp1003, (2, 1, 0, 5, 3, 4)) * 2 - t3new.bbbbbb += np.transpose(tmp945, (1, 2, 0, 4, 5, 3)) * 6 - del tmp945 - t3new.bbbbbb += np.transpose(tmp1014, (1, 2, 0, 4, 3, 5)) * -1 - del tmp1014 - t3new.bbbbbb += np.transpose(tmp1005, (2, 1, 0, 5, 4, 3)) * 2 - t3new.bbbbbb += np.transpose(tmp1003, (2, 1, 0, 4, 3, 5)) * -2 - t3new.bbbbbb += np.transpose(tmp1003, (1, 0, 2, 3, 5, 4)) * -2 - t3new.bbbbbb += np.transpose(tmp1005, (1, 0, 2, 4, 5, 3)) * -2 - t3new.bbbbbb += np.transpose(tmp1003, (1, 0, 2, 3, 4, 5)) * 2 - t3new.bbbbbb += np.transpose(tmp1003, (1, 2, 0, 3, 5, 4)) * 2 - t3new.bbbbbb += np.transpose(tmp1005, (1, 2, 0, 4, 5, 3)) * 2 - t3new.bbbbbb += np.transpose(tmp1003, (1, 2, 0, 3, 4, 5)) * -2 - t3new.bbbbbb += np.transpose(tmp1011, (1, 2, 0, 3, 5, 4)) * -6 - del tmp1011 - t3new.bbbbbb += np.transpose(tmp1003, (2, 1, 0, 3, 5, 4)) * -2 - tmp1015 = einsum(t1.bb, (0, 1), tmp1012, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) - del tmp1012 - t3new.bbbbbb += np.transpose(tmp1015, (1, 2, 0, 4, 5, 3)) * 6 - t3new.bbbbbb += np.transpose(tmp1005, (2, 1, 0, 4, 5, 3)) * -2 - t3new.bbbbbb += np.transpose(tmp1003, (2, 1, 0, 3, 4, 5)) * 2 - del tmp1003 - t3new.bbbbbb += np.transpose(tmp929, (0, 2, 1, 4, 5, 3)) * -6 - del tmp929 - t3new.bbbbbb += np.transpose(tmp930, (0, 2, 1, 5, 4, 3)) * -2 - t3new.bbbbbb += np.transpose(tmp930, (0, 1, 2, 5, 4, 3)) * 2 - t3new.bbbbbb += np.transpose(tmp930, (2, 0, 1, 5, 4, 3)) * 2 - del tmp930 - t3new.bbbbbb += np.transpose(tmp952, (1, 0, 2, 5, 4, 3)) * 6 - t3new.bbbbbb += np.transpose(tmp953, (1, 0, 2, 5, 4, 3)) * 2 - t3new.bbbbbb += np.transpose(tmp952, (1, 2, 0, 5, 4, 3)) * -6 - t3new.bbbbbb += np.transpose(tmp953, (1, 2, 0, 5, 4, 3)) * -2 - t3new.bbbbbb += np.transpose(tmp952, (1, 0, 2, 4, 5, 3)) * -6 - t3new.bbbbbb += np.transpose(tmp953, (1, 0, 2, 4, 5, 3)) * -2 - t3new.bbbbbb += np.transpose(tmp952, (1, 2, 0, 4, 5, 3)) * 6 - t3new.bbbbbb += np.transpose(tmp953, (1, 2, 0, 4, 5, 3)) * 2 - t3new.bbbbbb += np.transpose(tmp952, (1, 0, 2, 4, 3, 5)) * 6 - t3new.bbbbbb += np.transpose(tmp953, (1, 0, 2, 4, 3, 5)) * 2 - t3new.bbbbbb += np.transpose(tmp952, (1, 2, 0, 4, 3, 5)) * -6 - del tmp952 - t3new.bbbbbb += np.transpose(tmp953, (1, 2, 0, 4, 3, 5)) * -2 - del tmp953 - tmp821 = np.copy(np.transpose(tmp188, (1, 0, 2, 3))) - tmp821 += np.transpose(tmp243, (2, 1, 0, 3)) * -1 - tmp819 = np.copy(v.bbbb.ooov) - tmp819 += np.transpose(v.bbbb.ovoo, (0, 2, 3, 1)) * -1 - tmp820 = einsum(tmp819, (0, 1, 2, 3), t2.bbbb, (4, 0, 5, 3), (4, 1, 2, 5)) - del tmp819 - tmp821 += np.transpose(tmp820, (2, 1, 0, 3)) * 2 - del tmp820 - tmp1016 = einsum(tmp821, (0, 1, 2, 3), t2.bbbb, (4, 0, 5, 6), (4, 1, 2, 5, 6, 3)) * -1 - t3new.bbbbbb += np.transpose(tmp1016, (0, 2, 1, 5, 4, 3)) * -2 - t3new.bbbbbb += np.transpose(tmp1016, (2, 0, 1, 5, 4, 3)) * 2 - tmp1017 = np.copy(np.transpose(tmp188, (2, 1, 0, 3))) * -1 - tmp1017 += np.transpose(tmp243, (0, 2, 1, 3)) - tmp1017 += np.transpose(tmp245, (0, 2, 1, 3)) * 2 - del tmp245 - tmp1018 = einsum(t2.bbbb, (0, 1, 2, 3), tmp1017, (4, 1, 5, 6), (0, 4, 5, 2, 3, 6)) * -1 - del tmp1017 - t3new.bbbbbb += np.transpose(tmp1018, (0, 1, 2, 4, 5, 3)) * -2 - t3new.bbbbbb += np.transpose(tmp1018, (1, 0, 2, 4, 5, 3)) * 2 - t3new.bbbbbb += np.transpose(tmp1016, (2, 1, 0, 5, 4, 3)) * -2 - del tmp1016 - t3new.bbbbbb += np.transpose(tmp1018, (1, 2, 0, 4, 5, 3)) * -2 - del tmp1018 - tmp1019 = einsum(t2.bbbb, (0, 1, 2, 3), tmp23, (4, 5, 1, 6), (4, 0, 5, 2, 3, 6)) - t3new.bbbbbb += np.transpose(tmp1019, (1, 0, 2, 5, 4, 3)) * 2 - tmp1021 = np.copy(np.transpose(tmp214, (0, 2, 1, 3))) * -1 - tmp1021 += np.transpose(tmp229, (0, 2, 1, 3)) - tmp1020 = einsum(t2.bbbb, (0, 1, 2, 3), tmp964, (4, 5, 1, 3), (0, 4, 5, 2)) - del tmp964 - tmp1021 += np.transpose(tmp1020, (1, 2, 0, 3)) * 2 - del tmp1020 - tmp1021 += np.transpose(tmp723, (0, 2, 1, 3)) - tmp1022 = einsum(t2.bbbb, (0, 1, 2, 3), tmp1021, (4, 1, 5, 6), (0, 4, 5, 2, 3, 6)) * -1 - del tmp1021 - t3new.bbbbbb += np.transpose(tmp1022, (0, 1, 2, 5, 4, 3)) * -2 - t3new.bbbbbb += np.transpose(tmp1019, (0, 1, 2, 5, 4, 3)) * -2 - tmp1027 = np.copy(np.transpose(tmp214, (0, 2, 1, 3))) * -1 - tmp1027 += np.transpose(tmp229, (0, 2, 1, 3)) - tmp1023 = np.copy(tmp23) * -1 - tmp1023 += np.transpose(tmp23, (0, 2, 1, 3)) - tmp1024 = einsum(tmp1023, (0, 1, 2, 3), t2.bbbb, (4, 2, 5, 3), (4, 0, 1, 5)) * 2 - del tmp1023 - tmp1027 += np.transpose(tmp1024, (1, 2, 0, 3)) - del tmp1024 - tmp1025 = np.copy(np.transpose(tmp217, (0, 2, 1, 3))) - tmp1025 += np.transpose(tmp217, (0, 2, 3, 1)) * -1 - tmp1026 = einsum(t1.bb, (0, 1), tmp1025, (2, 3, 4, 0), (2, 3, 4, 1)) - del tmp1025 - tmp1027 += np.transpose(tmp1026, (0, 2, 1, 3)) - tmp1028 = einsum(t2.bbbb, (0, 1, 2, 3), tmp1027, (4, 1, 5, 6), (0, 4, 5, 2, 3, 6)) * -1 - del tmp1027 - t3new.bbbbbb += np.transpose(tmp1028, (1, 0, 2, 5, 4, 3)) - t3new.bbbbbb += np.transpose(tmp1022, (1, 0, 2, 5, 4, 3)) - t3new.bbbbbb += np.transpose(tmp1019, (1, 0, 2, 4, 5, 3)) * -2 - t3new.bbbbbb += np.transpose(tmp1022, (0, 1, 2, 4, 5, 3)) * 2 - t3new.bbbbbb += np.transpose(tmp1019, (0, 1, 2, 4, 5, 3)) * 2 - t3new.bbbbbb += np.transpose(tmp1022, (1, 0, 2, 4, 5, 3)) * -2 - t3new.bbbbbb += np.transpose(tmp984, (1, 0, 2, 5, 4, 3)) * -2 - t3new.bbbbbb += np.transpose(tmp934, (1, 0, 2, 3, 5, 4)) * -2 - t3new.bbbbbb += np.transpose(tmp934, (1, 0, 2, 4, 5, 3)) * 2 - tmp1029 = np.copy(np.transpose(tmp206, (1, 0, 2, 3))) * -0.3333333333333333 - tmp1029 += np.transpose(tmp207, (1, 0, 2, 3)) * -1 - tmp1030 = einsum(t2.bbbb, (0, 1, 2, 3), tmp1029, (4, 5, 1, 6), (0, 4, 5, 2, 3, 6)) * -6 - del tmp1029 - t3new.bbbbbb += np.transpose(tmp1030, (2, 1, 0, 4, 5, 3)) * 2 - t3new.bbbbbb += np.transpose(tmp984, (1, 2, 0, 5, 4, 3)) * 2 - t3new.bbbbbb += np.transpose(tmp934, (1, 2, 0, 3, 5, 4)) * 2 - t3new.bbbbbb += np.transpose(tmp934, (1, 2, 0, 4, 5, 3)) * -2 - t3new.bbbbbb += np.transpose(tmp1030, (2, 0, 1, 4, 5, 3)) * -2 - t3new.bbbbbb += np.transpose(tmp1019, (1, 2, 0, 5, 4, 3)) * -2 - t3new.bbbbbb += np.transpose(tmp1028, (0, 2, 1, 5, 4, 3)) - del tmp1028 - t3new.bbbbbb += np.transpose(tmp1022, (0, 2, 1, 5, 4, 3)) - t3new.bbbbbb += np.transpose(tmp1019, (0, 2, 1, 5, 4, 3)) * 2 - tmp1031 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), tmp143, (1, 6, 4, 7), (6, 0, 2, 3, 5, 7)) - t3new.bbbbbb += np.transpose(tmp1031, (0, 2, 1, 5, 4, 3)) * 2 - tmp1032 = einsum(tmp228, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 0, 6, 7, 2), (4, 5, 1, 6, 7, 3)) * -3 - t3new.bbbbbb += np.transpose(tmp1032, (2, 0, 1, 5, 3, 4)) * 2 - t3new.bbbbbb += np.transpose(tmp967, (0, 2, 1, 5, 4, 3)) * -2 - t3new.bbbbbb += np.transpose(tmp1022, (1, 2, 0, 5, 4, 3)) * -2 - t3new.bbbbbb += np.transpose(tmp1019, (1, 2, 0, 4, 5, 3)) * 2 - t3new.bbbbbb += np.transpose(tmp1022, (0, 2, 1, 4, 5, 3)) * -2 - t3new.bbbbbb += np.transpose(tmp1019, (0, 2, 1, 4, 5, 3)) * -2 - t3new.bbbbbb += np.transpose(tmp1031, (0, 2, 1, 4, 5, 3)) * -2 - tmp1033 = einsum(tmp176, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 0, 6, 7, 2), (4, 5, 1, 6, 7, 3)) * -1 - t3new.bbbbbb += np.transpose(tmp1033, (2, 0, 1, 3, 5, 4)) * -6 - t3new.bbbbbb += np.transpose(tmp967, (0, 2, 1, 4, 5, 3)) * 2 - t3new.bbbbbb += np.transpose(tmp1022, (1, 2, 0, 4, 5, 3)) * 2 - t3new.bbbbbb += np.transpose(tmp1019, (2, 1, 0, 5, 4, 3)) * 2 - t3new.bbbbbb += np.transpose(tmp1031, (2, 1, 0, 5, 4, 3)) * 2 - t3new.bbbbbb += np.transpose(tmp1032, (0, 1, 2, 5, 3, 4)) * 2 - t3new.bbbbbb += np.transpose(tmp967, (2, 1, 0, 5, 4, 3)) * -2 - t3new.bbbbbb += np.transpose(tmp1022, (2, 0, 1, 5, 4, 3)) * -2 - t3new.bbbbbb += np.transpose(tmp1019, (2, 0, 1, 5, 4, 3)) * -2 - t3new.bbbbbb += np.transpose(tmp1031, (2, 0, 1, 5, 4, 3)) * -2 - t3new.bbbbbb += np.transpose(tmp1033, (0, 2, 1, 5, 3, 4)) * -6 - t3new.bbbbbb += np.transpose(tmp967, (2, 0, 1, 5, 4, 3)) * 2 - t3new.bbbbbb += np.transpose(tmp1022, (2, 1, 0, 5, 4, 3)) * 2 - t3new.bbbbbb += np.transpose(tmp1019, (2, 1, 0, 4, 5, 3)) * -2 - t3new.bbbbbb += np.transpose(tmp1031, (2, 1, 0, 4, 5, 3)) * -2 - t3new.bbbbbb += np.transpose(tmp1033, (0, 1, 2, 3, 5, 4)) * -6 - t3new.bbbbbb += np.transpose(tmp967, (2, 1, 0, 4, 5, 3)) * 2 - t3new.bbbbbb += np.transpose(tmp1022, (2, 0, 1, 4, 5, 3)) * 2 - t3new.bbbbbb += np.transpose(tmp1019, (2, 0, 1, 4, 5, 3)) * 2 - t3new.bbbbbb += np.transpose(tmp1031, (2, 0, 1, 4, 5, 3)) * 2 - t3new.bbbbbb += np.transpose(tmp1033, (0, 2, 1, 3, 5, 4)) * 6 - t3new.bbbbbb += np.transpose(tmp967, (2, 0, 1, 4, 5, 3)) * -2 - del tmp967 - t3new.bbbbbb += np.transpose(tmp1022, (2, 1, 0, 4, 5, 3)) * -2 - del tmp1022 - t3new.bbbbbb += np.transpose(tmp984, (2, 1, 0, 5, 4, 3)) * -2 - t3new.bbbbbb += np.transpose(tmp934, (2, 1, 0, 3, 5, 4)) * -2 - t3new.bbbbbb += np.transpose(tmp934, (2, 1, 0, 4, 5, 3)) * 2 - del tmp934 - t3new.bbbbbb += np.transpose(tmp1030, (0, 2, 1, 4, 5, 3)) * 2 - del tmp1030 - t3new.bbbbbb += np.transpose(tmp1005, (1, 0, 2, 3, 5, 4)) * 2 - tmp858 = np.copy(np.transpose(tmp856, (0, 1, 3, 2))) - del tmp856 - tmp857 = einsum(t2.bbbb, (0, 1, 2, 3), tmp25, (1, 4, 3, 5), (0, 2, 4, 5)) - tmp858 += tmp857 * -2 - del tmp857 - tmp1034 = einsum(tmp858, (0, 1, 2, 3), t2.bbbb, (4, 5, 6, 2), (4, 5, 0, 6, 1, 3)) * -1 - t3new.bbbbbb += np.transpose(tmp1034, (1, 0, 2, 4, 5, 3)) * -2 - t3new.bbbbbb += np.transpose(tmp1001, (1, 0, 2, 4, 5, 3)) * -2 - t3new.bbbbbb += np.transpose(tmp1005, (1, 2, 0, 3, 5, 4)) * -2 - t3new.bbbbbb += np.transpose(tmp1034, (1, 2, 0, 4, 5, 3)) * 2 - t3new.bbbbbb += np.transpose(tmp1001, (1, 2, 0, 4, 5, 3)) * 2 - t3new.bbbbbb += np.transpose(tmp984, (1, 0, 2, 4, 5, 3)) * 2 - t3new.bbbbbb += np.transpose(tmp984, (1, 2, 0, 4, 5, 3)) * -2 - t3new.bbbbbb += np.transpose(tmp1005, (2, 1, 0, 3, 5, 4)) * 2 - t3new.bbbbbb += np.transpose(tmp1034, (2, 1, 0, 4, 5, 3)) * -2 - t3new.bbbbbb += np.transpose(tmp1001, (2, 1, 0, 4, 5, 3)) * -2 - t3new.bbbbbb += np.transpose(tmp984, (2, 1, 0, 4, 5, 3)) * 2 - t3new.bbbbbb += np.transpose(tmp1019, (1, 0, 2, 4, 3, 5)) * 2 - tmp1035 = einsum(t2.bbbb, (0, 1, 2, 3), tmp214, (4, 5, 1, 6), (4, 0, 5, 2, 3, 6)) - t3new.bbbbbb += np.transpose(tmp1035, (1, 0, 2, 4, 3, 5)) * -2 - t3new.bbbbbb += np.transpose(tmp1019, (0, 1, 2, 4, 3, 5)) * -2 - t3new.bbbbbb += np.transpose(tmp1035, (0, 1, 2, 4, 3, 5)) * 2 - t3new.bbbbbb += np.transpose(tmp1005, (1, 0, 2, 3, 4, 5)) * -2 - t3new.bbbbbb += np.transpose(tmp1034, (1, 0, 2, 4, 3, 5)) * 2 - t3new.bbbbbb += np.transpose(tmp984, (1, 0, 2, 3, 4, 5)) * 2 - t3new.bbbbbb += np.transpose(tmp1005, (1, 2, 0, 3, 4, 5)) * 2 - t3new.bbbbbb += np.transpose(tmp1034, (1, 2, 0, 4, 3, 5)) * -2 - t3new.bbbbbb += np.transpose(tmp984, (1, 2, 0, 3, 4, 5)) * -2 - t3new.bbbbbb += np.transpose(tmp1005, (1, 0, 2, 4, 3, 5)) * 2 - t3new.bbbbbb += np.transpose(tmp984, (1, 0, 2, 4, 3, 5)) * -2 - t3new.bbbbbb += np.transpose(tmp1005, (1, 2, 0, 4, 3, 5)) * -2 - t3new.bbbbbb += np.transpose(tmp984, (1, 2, 0, 4, 3, 5)) * 2 - t3new.bbbbbb += np.transpose(tmp1019, (1, 2, 0, 4, 3, 5)) * -2 - t3new.bbbbbb += np.transpose(tmp1035, (1, 2, 0, 4, 3, 5)) * 2 - t3new.bbbbbb += np.transpose(tmp1031, (0, 2, 1, 4, 3, 5)) * 2 - t3new.bbbbbb += np.transpose(tmp1019, (0, 2, 1, 4, 3, 5)) * 2 - t3new.bbbbbb += np.transpose(tmp1032, (2, 0, 1, 3, 4, 5)) * 2 - t3new.bbbbbb += np.transpose(tmp1035, (0, 2, 1, 4, 3, 5)) * -2 - t3new.bbbbbb += np.transpose(tmp1031, (2, 1, 0, 4, 3, 5)) * 2 - t3new.bbbbbb += np.transpose(tmp1019, (2, 1, 0, 4, 3, 5)) * 2 - t3new.bbbbbb += tmp1032 * 2 - del tmp1032 - t3new.bbbbbb += np.transpose(tmp1035, (2, 1, 0, 4, 3, 5)) * -2 - t3new.bbbbbb += np.transpose(tmp1019, (2, 0, 1, 4, 3, 5)) * -2 - del tmp1019 - t3new.bbbbbb += np.transpose(tmp1031, (2, 0, 1, 4, 3, 5)) * -2 - del tmp1031 - t3new.bbbbbb += np.transpose(tmp1033, (0, 2, 1, 3, 4, 5)) * -6 - del tmp1033 - t3new.bbbbbb += np.transpose(tmp1035, (2, 0, 1, 4, 3, 5)) * 2 - del tmp1035 - t3new.bbbbbb += np.transpose(tmp1005, (2, 1, 0, 3, 4, 5)) * -2 - t3new.bbbbbb += np.transpose(tmp1034, (2, 1, 0, 4, 3, 5)) * 2 - t3new.bbbbbb += np.transpose(tmp984, (2, 1, 0, 3, 4, 5)) * 2 - t3new.bbbbbb += np.transpose(tmp1005, (2, 1, 0, 4, 3, 5)) * 2 - del tmp1005 - t3new.bbbbbb += np.transpose(tmp984, (2, 1, 0, 4, 3, 5)) * -2 - del tmp984 - t3new.bbbbbb += np.transpose(tmp961, (2, 1, 0, 3, 4, 5)) * 2 - t3new.bbbbbb += np.transpose(tmp961, (2, 1, 0, 4, 3, 5)) * -2 - tmp1036 = einsum(t2.bbbb, (0, 1, 2, 3), tmp176, (4, 5, 3, 6), (0, 1, 5, 4, 2, 6)) - tmp1037 = einsum(tmp1036, (0, 1, 2, 3, 4, 5), t1.bb, (3, 6), (2, 1, 0, 4, 5, 6)) * -1 - del tmp1036 - t3new.bbbbbb += np.transpose(tmp1037, (2, 1, 0, 4, 5, 3)) * 2 - tmp1038 = np.copy(np.transpose(tmp911, (0, 2, 1, 3))) * -1 - tmp1038 += np.transpose(tmp255, (0, 2, 3, 1)) - tmp1038 += np.transpose(tmp255, (0, 3, 2, 1)) * -1 - tmp1039 = einsum(tmp1038, (0, 1, 2, 3), t2.bbbb, (4, 5, 6, 3), (4, 5, 0, 6, 1, 2)) * -2 - del tmp1038 - t3new.bbbbbb += np.transpose(tmp1039, (1, 0, 2, 5, 4, 3)) * -1 - t3new.bbbbbb += np.transpose(tmp961, (2, 0, 1, 3, 4, 5)) * -2 - t3new.bbbbbb += np.transpose(tmp961, (2, 0, 1, 4, 3, 5)) * 2 - t3new.bbbbbb += np.transpose(tmp1037, (2, 0, 1, 4, 5, 3)) * -2 - t3new.bbbbbb += np.transpose(tmp1039, (1, 2, 0, 5, 4, 3)) - tmp1040 = einsum(tmp255, (0, 1, 2, 3), t2.bbbb, (4, 5, 6, 2), (0, 4, 5, 6, 3, 1)) - t3new.bbbbbb += np.transpose(tmp1040, (2, 1, 0, 4, 3, 5)) * -2 - t3new.bbbbbb += np.transpose(tmp1040, (2, 1, 0, 5, 3, 4)) * 2 - t3new.bbbbbb += np.transpose(tmp961, (2, 1, 0, 3, 5, 4)) * -2 - t3new.bbbbbb += np.transpose(tmp961, (2, 1, 0, 4, 5, 3)) * 2 - t3new.bbbbbb += np.transpose(tmp1037, (2, 1, 0, 4, 3, 5)) * -2 - t3new.bbbbbb += np.transpose(tmp1040, (2, 0, 1, 4, 3, 5)) * 2 - t3new.bbbbbb += np.transpose(tmp1040, (2, 0, 1, 5, 3, 4)) * -2 - t3new.bbbbbb += np.transpose(tmp961, (2, 0, 1, 3, 5, 4)) * 2 - t3new.bbbbbb += np.transpose(tmp961, (2, 0, 1, 4, 5, 3)) * -2 - t3new.bbbbbb += np.transpose(tmp1037, (2, 0, 1, 4, 3, 5)) * 2 - t3new.bbbbbb += np.transpose(tmp961, (0, 2, 1, 3, 4, 5)) * 2 - t3new.bbbbbb += np.transpose(tmp961, (0, 2, 1, 4, 3, 5)) * -2 - t3new.bbbbbb += np.transpose(tmp1037, (0, 2, 1, 4, 5, 3)) * 2 - t3new.bbbbbb += np.transpose(tmp1039, (2, 1, 0, 5, 4, 3)) * -1 - del tmp1039 - t3new.bbbbbb += np.transpose(tmp1040, (0, 2, 1, 4, 3, 5)) * -2 - t3new.bbbbbb += np.transpose(tmp1040, (0, 2, 1, 5, 3, 4)) * 2 - t3new.bbbbbb += np.transpose(tmp961, (0, 2, 1, 3, 5, 4)) * -2 - t3new.bbbbbb += np.transpose(tmp961, (0, 2, 1, 4, 5, 3)) * 2 - del tmp961 - t3new.bbbbbb += np.transpose(tmp1037, (0, 2, 1, 4, 3, 5)) * -2 - t3new.bbbbbb += np.transpose(tmp1040, (2, 1, 0, 3, 4, 5)) * 2 - t3new.bbbbbb += np.transpose(tmp1040, (2, 1, 0, 3, 5, 4)) * -2 - t3new.bbbbbb += np.transpose(tmp1037, (2, 1, 0, 3, 4, 5)) * 2 - t3new.bbbbbb += np.transpose(tmp1040, (2, 0, 1, 3, 4, 5)) * -2 - t3new.bbbbbb += np.transpose(tmp1040, (2, 0, 1, 3, 5, 4)) * 2 - t3new.bbbbbb += np.transpose(tmp1037, (2, 0, 1, 3, 4, 5)) * -2 - t3new.bbbbbb += np.transpose(tmp1040, (0, 2, 1, 3, 4, 5)) * 2 - t3new.bbbbbb += np.transpose(tmp1040, (0, 2, 1, 3, 5, 4)) * -2 - del tmp1040 - t3new.bbbbbb += np.transpose(tmp1037, (0, 2, 1, 3, 4, 5)) * 2 - t3new.bbbbbb += np.transpose(tmp957, (1, 0, 2, 4, 5, 3)) * -6 - t3new.bbbbbb += np.transpose(tmp968, (0, 1, 2, 4, 3, 5)) * -2 - t3new.bbbbbb += np.transpose(tmp957, (0, 1, 2, 4, 5, 3)) * 6 - t3new.bbbbbb += np.transpose(tmp968, (1, 0, 2, 4, 3, 5)) * 2 - t3new.bbbbbb += np.transpose(tmp957, (1, 2, 0, 4, 5, 3)) * 6 - del tmp957 - t3new.bbbbbb += einsum(t2.bbbb, (0, 1, 2, 3), tmp1026, (4, 5, 1, 6), (0, 5, 4, 2, 3, 6)) - del tmp1026 - t3new.bbbbbb += np.transpose(tmp968, (0, 2, 1, 4, 3, 5)) - del tmp968 - t3new.bbbbbb += np.transpose(tmp1015, (1, 2, 0, 3, 5, 4)) * -6 - t3new.bbbbbb += np.transpose(tmp1015, (1, 2, 0, 3, 4, 5)) * 6 - t3new.bbbbbb += np.transpose(tmp1015, (1, 2, 0, 4, 3, 5)) * -6 - del tmp1015 - tmp1041 = einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), tmp259, (6, 7, 2, 1), (6, 7, 0, 3, 4, 5)) * -1 - t3new.bbbbbb += np.transpose(tmp1041, (2, 1, 0, 4, 5, 3)) * -6 - tmp1042 = einsum(t2.bbbb, (0, 1, 2, 3), tmp262, (4, 5, 1, 6), (4, 5, 0, 6, 2, 3)) * -1 - t3new.bbbbbb += np.transpose(tmp1042, (2, 1, 0, 5, 4, 3)) * -4 - t3new.bbbbbb += np.transpose(tmp1041, (1, 2, 0, 4, 5, 3)) * 6 - t3new.bbbbbb += np.transpose(tmp1042, (1, 2, 0, 5, 4, 3)) * 4 - t3new.bbbbbb += np.transpose(tmp1041, (1, 0, 2, 4, 5, 3)) * -6 - del tmp1041 - t3new.bbbbbb += np.transpose(tmp1042, (1, 0, 2, 5, 4, 3)) * -4 - del tmp1042 - tmp1044 = np.copy(tmp200) - tmp1043 = einsum(tmp15, (0, 1, 2, 3), t2.bbbb, (4, 0, 5, 2), (1, 4, 3, 5)) * 2 - del tmp15 - tmp1044 += np.transpose(tmp1043, (1, 0, 3, 2)) * -1 - del tmp1043 - tmp1045 = einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), tmp1044, (6, 2, 7, 5), (0, 1, 6, 3, 4, 7)) * 3 - del tmp1044 - t3new.bbbbbb += tmp1045 * 2 - tmp1047 = np.copy(tmp126) - tmp1046 = einsum(tmp319, (0, 1, 2, 3), t2.abab, (0, 4, 3, 5), (1, 4, 2, 5)) * 0.5 - tmp1047 += tmp1046 - del tmp1046 - tmp1048 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), tmp1047, (1, 6, 4, 7), (0, 2, 6, 3, 5, 7)) * 2 - del tmp1047 - t3new.bbbbbb += np.transpose(tmp1048, (1, 0, 2, 4, 3, 5)) * 2 - tmp1049 = einsum(t2.bbbb, (0, 1, 2, 3), tmp246, (4, 1, 5, 6), (0, 4, 5, 2, 3, 6)) * -1 - t3new.bbbbbb += np.transpose(tmp1049, (2, 0, 1, 4, 3, 5)) * 2 - t3new.bbbbbb += np.transpose(tmp1045, (0, 2, 1, 3, 4, 5)) * -2 - t3new.bbbbbb += np.transpose(tmp1048, (1, 2, 0, 4, 3, 5)) * -2 - t3new.bbbbbb += np.transpose(tmp1049, (2, 1, 0, 4, 3, 5)) * -2 - t3new.bbbbbb += np.transpose(tmp1045, (2, 0, 1, 3, 4, 5)) * 2 - del tmp1045 - t3new.bbbbbb += np.transpose(tmp1048, (2, 1, 0, 4, 3, 5)) * 2 - del tmp1048 - t3new.bbbbbb += np.transpose(tmp1049, (1, 2, 0, 4, 3, 5)) * 2 - t3new.bbbbbb += np.transpose(tmp1049, (0, 1, 2, 4, 3, 5)) * 2 - t3new.bbbbbb += np.transpose(tmp1049, (1, 0, 2, 4, 3, 5)) * -2 - tmp1050 = np.copy(np.transpose(tmp243, (0, 2, 1, 3))) * 0.5 - tmp1050 += np.transpose(tmp977, (0, 2, 1, 3)) - del tmp977 - t3new.bbbbbb += einsum(t2.bbbb, (0, 1, 2, 3), tmp1050, (4, 1, 5, 6), (0, 5, 4, 2, 3, 6)) * -2 - del tmp1050 - t3new.bbbbbb += np.transpose(tmp1049, (0, 2, 1, 4, 3, 5)) * -1 - del tmp1049 - tmp1051 = np.copy(np.transpose(tmp261, (1, 0, 2, 3))) - tmp1051 += np.transpose(tmp262, (1, 0, 2, 3)) * -1 - tmp1052 = einsum(t2.bbbb, (0, 1, 2, 3), tmp1051, (4, 5, 1, 6), (0, 4, 5, 2, 3, 6)) * -2 - del tmp1051 - t3new.bbbbbb += np.transpose(tmp1052, (0, 2, 1, 5, 4, 3)) * -2 - t3new.bbbbbb += np.transpose(tmp1052, (2, 0, 1, 5, 4, 3)) * 2 - t3new.bbbbbb += np.transpose(tmp1052, (0, 2, 1, 4, 5, 3)) * 2 - t3new.bbbbbb += np.transpose(tmp1052, (2, 0, 1, 4, 5, 3)) * -2 - t3new.bbbbbb += np.transpose(tmp1052, (2, 1, 0, 5, 4, 3)) * -2 - t3new.bbbbbb += np.transpose(tmp1052, (2, 1, 0, 4, 5, 3)) * 2 - del tmp1052 - t3new.bbbbbb += np.transpose(tmp1034, (2, 1, 0, 5, 3, 4)) * -2 - t3new.bbbbbb += np.transpose(tmp1010, (2, 1, 0, 5, 3, 4)) * -1 - t3new.bbbbbb += np.transpose(tmp1034, (1, 2, 0, 5, 3, 4)) * 2 - t3new.bbbbbb += np.transpose(tmp1001, (1, 2, 0, 5, 3, 4)) * 2 - t3new.bbbbbb += np.transpose(tmp1034, (2, 1, 0, 3, 5, 4)) * 2 - t3new.bbbbbb += np.transpose(tmp1001, (2, 1, 0, 3, 5, 4)) * 2 - t3new.bbbbbb += np.transpose(tmp1034, (1, 2, 0, 3, 5, 4)) * -2 - t3new.bbbbbb += np.transpose(tmp1001, (1, 2, 0, 3, 5, 4)) * -2 - t3new.bbbbbb += np.transpose(tmp1034, (1, 0, 2, 5, 3, 4)) * -2 - t3new.bbbbbb += np.transpose(tmp1010, (1, 0, 2, 5, 3, 4)) * -1 - del tmp1010 - t3new.bbbbbb += np.transpose(tmp1034, (1, 0, 2, 3, 5, 4)) * 2 - t3new.bbbbbb += np.transpose(tmp1001, (1, 0, 2, 3, 5, 4)) * 2 - del tmp1001 - tmp1053 = einsum(t2.bbbb, (0, 1, 2, 3), tmp261, (4, 5, 1, 6), (4, 5, 0, 2, 3, 6)) - t3new.bbbbbb += np.transpose(tmp1053, (2, 1, 0, 4, 3, 5)) * -4 - t3new.bbbbbb += np.transpose(tmp1053, (1, 2, 0, 4, 3, 5)) * 4 - t3new.bbbbbb += np.transpose(tmp1053, (1, 0, 2, 4, 3, 5)) * -4 - del tmp1053 - t3new.bbbbbb += np.transpose(tmp1034, (2, 1, 0, 3, 4, 5)) * -2 - t3new.bbbbbb += np.transpose(tmp1034, (1, 2, 0, 3, 4, 5)) * 2 - t3new.bbbbbb += np.transpose(tmp1034, (1, 0, 2, 3, 4, 5)) * -2 - del tmp1034 - tmp1055 = np.copy(tmp229) - tmp718 = np.copy(tmp23) - tmp718 += np.transpose(tmp23, (0, 2, 1, 3)) * -1 - tmp1054 = einsum(tmp718, (0, 1, 2, 3), t2.bbbb, (4, 1, 5, 3), (4, 0, 2, 5)) * 2 - tmp1055 += np.transpose(tmp1054, (1, 0, 2, 3)) - del tmp1054 - tmp1056 = einsum(t2.bbbb, (0, 1, 2, 3), tmp1055, (4, 5, 1, 6), (0, 4, 5, 2, 3, 6)) * -1 - del tmp1055 - t3new.bbbbbb += np.transpose(tmp1056, (0, 2, 1, 4, 3, 5)) - tmp1057 = einsum(t2.bbbb, (0, 1, 2, 3), tmp231, (4, 5, 1, 6), (0, 4, 5, 2, 3, 6)) * -1 - t3new.bbbbbb += np.transpose(tmp1057, (0, 2, 1, 4, 3, 5)) - t3new.bbbbbb += np.transpose(tmp1057, (2, 0, 1, 4, 3, 5)) * -2 - t3new.bbbbbb += np.transpose(tmp958, (2, 1, 0, 4, 3, 5)) * -2 - tmp1058 = einsum(t2.bbbb, (0, 1, 2, 3), tmp228, (4, 5, 3, 6), (0, 1, 5, 4, 2, 6)) - tmp1059 = einsum(tmp1058, (0, 1, 2, 3, 4, 5), t1.bb, (3, 6), (2, 1, 0, 4, 5, 6)) * -2 - del tmp1058 - t3new.bbbbbb += np.transpose(tmp1059, (2, 1, 0, 5, 4, 3)) * -1 - t3new.bbbbbb += np.transpose(tmp958, (2, 0, 1, 4, 3, 5)) * 2 - t3new.bbbbbb += np.transpose(tmp1037, (2, 0, 1, 5, 4, 3)) * 2 - t3new.bbbbbb += np.transpose(tmp1057, (0, 1, 2, 4, 3, 5)) * -2 - t3new.bbbbbb += np.transpose(tmp1057, (2, 1, 0, 4, 3, 5)) * 2 - t3new.bbbbbb += np.transpose(tmp1056, (1, 0, 2, 4, 3, 5)) - del tmp1056 - t3new.bbbbbb += np.transpose(tmp1057, (1, 0, 2, 4, 3, 5)) - t3new.bbbbbb += np.transpose(tmp1057, (1, 2, 0, 4, 3, 5)) * -2 - del tmp1057 - t3new.bbbbbb += np.transpose(tmp958, (0, 2, 1, 4, 3, 5)) * -2 - del tmp958 - t3new.bbbbbb += np.transpose(tmp1059, (0, 2, 1, 5, 4, 3)) * -1 - del tmp1059 - tmp1060 = einsum(t2.bbbb, (0, 1, 2, 3), tmp253, (4, 5, 1, 6), (5, 4, 0, 6, 2, 3)) - t3new.bbbbbb += np.transpose(tmp1060, (2, 0, 1, 3, 5, 4)) * 2 - t3new.bbbbbb += np.transpose(tmp1060, (2, 1, 0, 3, 5, 4)) * -2 - tmp1061 = einsum(t2.bbbb, (0, 1, 2, 3), tmp257, (4, 5, 1, 6), (4, 5, 0, 2, 3, 6)) - t3new.bbbbbb += np.transpose(tmp1061, (2, 0, 1, 5, 4, 3)) * 2 - t3new.bbbbbb += np.transpose(tmp1061, (2, 1, 0, 5, 4, 3)) * -2 - t3new.bbbbbb += np.transpose(tmp1060, (0, 2, 1, 3, 5, 4)) * -2 - t3new.bbbbbb += np.transpose(tmp1060, (1, 2, 0, 3, 5, 4)) * 2 - t3new.bbbbbb += np.transpose(tmp1061, (0, 2, 1, 5, 4, 3)) * -2 - t3new.bbbbbb += np.transpose(tmp1061, (1, 2, 0, 5, 4, 3)) * 2 - t3new.bbbbbb += np.transpose(tmp1060, (2, 0, 1, 5, 3, 4)) * -2 - t3new.bbbbbb += np.transpose(tmp1060, (2, 1, 0, 5, 3, 4)) * 2 - t3new.bbbbbb += np.transpose(tmp1061, (2, 0, 1, 4, 5, 3)) * -2 - t3new.bbbbbb += np.transpose(tmp1061, (2, 1, 0, 4, 5, 3)) * 2 - t3new.bbbbbb += np.transpose(tmp1060, (0, 2, 1, 5, 3, 4)) * 2 - t3new.bbbbbb += np.transpose(tmp1060, (1, 2, 0, 5, 3, 4)) * -2 - t3new.bbbbbb += np.transpose(tmp1061, (0, 2, 1, 4, 5, 3)) * 2 - t3new.bbbbbb += np.transpose(tmp1061, (1, 2, 0, 4, 5, 3)) * -2 - t3new.bbbbbb += np.transpose(tmp1060, (0, 1, 2, 3, 5, 4)) * 2 - t3new.bbbbbb += np.transpose(tmp1060, (1, 0, 2, 3, 5, 4)) * -2 - t3new.bbbbbb += np.transpose(tmp1061, (0, 1, 2, 5, 4, 3)) * 2 - t3new.bbbbbb += np.transpose(tmp1061, (1, 0, 2, 5, 4, 3)) * -2 - t3new.bbbbbb += np.transpose(tmp1060, (0, 1, 2, 5, 3, 4)) * -2 - t3new.bbbbbb += np.transpose(tmp1060, (1, 0, 2, 5, 3, 4)) * 2 - t3new.bbbbbb += np.transpose(tmp1061, (0, 1, 2, 4, 5, 3)) * -2 - t3new.bbbbbb += np.transpose(tmp1061, (1, 0, 2, 4, 5, 3)) * 2 - t3new.bbbbbb += np.transpose(tmp1061, (2, 0, 1, 4, 3, 5)) * 2 - t3new.bbbbbb += np.transpose(tmp1061, (2, 1, 0, 4, 3, 5)) * -2 - t3new.bbbbbb += np.transpose(tmp1061, (0, 2, 1, 4, 3, 5)) * -2 - t3new.bbbbbb += np.transpose(tmp1061, (1, 2, 0, 4, 3, 5)) * 2 - t3new.bbbbbb += np.transpose(tmp1037, (2, 1, 0, 5, 3, 4)) * 2 - t3new.bbbbbb += np.transpose(tmp1037, (2, 0, 1, 5, 3, 4)) * -2 - t3new.bbbbbb += np.transpose(tmp1037, (2, 1, 0, 3, 5, 4)) * -2 - t3new.bbbbbb += np.transpose(tmp1037, (2, 0, 1, 3, 5, 4)) * 2 - t3new.bbbbbb += np.transpose(tmp1061, (0, 1, 2, 4, 3, 5)) * 2 - t3new.bbbbbb += np.transpose(tmp1061, (1, 0, 2, 4, 3, 5)) * -2 - del tmp1061 - t3new.bbbbbb += np.transpose(tmp1037, (0, 2, 1, 5, 3, 4)) * 2 - t3new.bbbbbb += np.transpose(tmp1037, (0, 2, 1, 3, 5, 4)) * -2 - del tmp1037 - tmp1062 = einsum(tmp251, (0, 1, 2, 3), t3.bbbbbb, (4, 3, 2, 5, 6, 7), (0, 1, 4, 5, 6, 7)) * -1 - t3new.bbbbbb += np.transpose(tmp1062, (2, 1, 0, 4, 5, 3)) * -6 - t3new.bbbbbb += np.transpose(tmp1060, (2, 0, 1, 5, 4, 3)) * 2 - t3new.bbbbbb += np.transpose(tmp1060, (2, 1, 0, 5, 4, 3)) * -2 - t3new.bbbbbb += np.transpose(tmp1062, (1, 2, 0, 4, 5, 3)) * 6 - t3new.bbbbbb += np.transpose(tmp1060, (0, 2, 1, 5, 4, 3)) * -2 - t3new.bbbbbb += np.transpose(tmp1060, (1, 2, 0, 5, 4, 3)) * 2 - t3new.bbbbbb += np.transpose(tmp1062, (1, 0, 2, 4, 5, 3)) * -6 - del tmp1062 - t3new.bbbbbb += np.transpose(tmp1060, (0, 1, 2, 5, 4, 3)) * 2 - t3new.bbbbbb += np.transpose(tmp1060, (1, 0, 2, 5, 4, 3)) * -2 - del tmp1060 - tmp685 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), v.bbbb.oooo, (6, 2, 7, 0), (1, 6, 7, 4, 3, 5)) * -1 - t3new.babbab = np.copy(np.transpose(tmp685, (2, 0, 1, 5, 3, 4))) * 2 - del tmp685 - tmp686 = einsum(tmp188, (0, 1, 2, 3), t2.abab, (4, 1, 5, 6), (4, 2, 0, 5, 3, 6)) - t3new.babbab += np.transpose(tmp686, (1, 0, 2, 5, 3, 4)) * -1 - tmp426 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovoo, (0, 4, 5, 1), (5, 2, 4, 3)) - tmp687 = einsum(tmp426, (0, 1, 2, 3), t2.abab, (4, 5, 2, 6), (4, 5, 0, 1, 6, 3)) - t3new.babbab += np.transpose(tmp687, (1, 0, 2, 4, 3, 5)) - tmp688 = einsum(tmp35, (0, 1), t3.babbab, (2, 3, 0, 4, 5, 6), (3, 2, 1, 5, 4, 6)) * -1 - del tmp35 - t3new.babbab += np.transpose(tmp688, (1, 0, 2, 5, 3, 4)) * -1 - tmp689 = einsum(v.aabb.ovoo, (0, 1, 2, 3), t3.abaaba, (4, 5, 0, 6, 7, 1), (4, 5, 2, 3, 6, 7)) - tmp692 = np.copy(np.transpose(tmp689, (0, 1, 3, 2, 4, 5))) * 0.5 - tmp690 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovoo, (4, 2, 5, 6), (0, 4, 1, 5, 6, 3)) - tmp692 += einsum(t1.aa, (0, 1), tmp690, (2, 0, 3, 4, 5, 6), (2, 3, 5, 4, 1, 6)) * -0.5 - tmp691 = einsum(tmp248, (0, 1, 2, 3), t3.babbab, (4, 5, 2, 6, 7, 3), (5, 4, 0, 1, 7, 6)) - tmp692 += np.transpose(tmp691, (0, 1, 3, 2, 4, 5)) - t3new.babbab += einsum(t1.bb, (0, 1), tmp692, (2, 3, 0, 4, 5, 6), (3, 2, 4, 6, 5, 1)) * -2 - del tmp692 - tmp693 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), tmp193, (2, 6), (1, 0, 6, 4, 3, 5)) * -1 - t3new.babbab += np.transpose(tmp693, (1, 0, 2, 5, 3, 4)) * -1 - tmp419 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ooov, (4, 0, 1, 5), (4, 2, 3, 5)) - t3new.babbab += einsum(t2.bbbb, (0, 1, 2, 3), tmp419, (4, 5, 6, 3), (0, 4, 1, 2, 5, 6)) * 2 - tmp694 = einsum(v.aabb.oooo, (0, 1, 2, 3), t3.babbab, (4, 1, 3, 5, 6, 7), (0, 4, 2, 6, 5, 7)) - t3new.babbab += np.transpose(tmp694, (2, 0, 1, 5, 3, 4)) * 2 - tmp695 = einsum(tmp120, (0, 1, 2, 3), t2.abab, (1, 4, 5, 6), (0, 4, 2, 5, 3, 6)) - t3new.babbab += np.transpose(tmp695, (2, 0, 1, 5, 3, 4)) * -1 - tmp696 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), tmp43, (1, 6), (6, 0, 2, 4, 3, 5)) - t3new.babbab += np.transpose(tmp696, (2, 0, 1, 5, 3, 4)) * -2 - del tmp696 - tmp697 = einsum(v.aabb.ooov, (0, 1, 2, 3), t3.babbab, (4, 1, 5, 6, 7, 3), (0, 4, 5, 2, 7, 6)) - tmp699 = np.copy(np.transpose(tmp697, (0, 2, 1, 3, 4, 5))) * -1 - tmp698 = einsum(v.aabb.ooov, (0, 1, 2, 3), t2.bbbb, (4, 5, 6, 3), (0, 1, 4, 5, 2, 6)) - tmp699 += einsum(t1.aa, (0, 1), tmp698, (2, 0, 3, 4, 5, 6), (2, 4, 3, 5, 1, 6)) * -1 - t3new.babbab += einsum(t1.bb, (0, 1), tmp699, (2, 3, 4, 0, 5, 6), (4, 2, 3, 6, 5, 1)) * -2 - del tmp699 - tmp700 = einsum(v.aabb.ovov, (0, 1, 2, 3), t3.babbab, (4, 5, 6, 7, 1, 3), (5, 0, 4, 6, 2, 7)) - tmp701 = einsum(tmp700, (0, 1, 2, 3, 4, 5), t2.abab, (1, 4, 6, 7), (0, 2, 3, 6, 7, 5)) - t3new.babbab += np.transpose(tmp701, (2, 0, 1, 5, 3, 4)) * -2 - t3new.babbab += np.transpose(tmp687, (2, 0, 1, 4, 3, 5)) * -1 - del tmp687 - tmp704 = np.copy(np.transpose(tmp689, (0, 3, 1, 2, 4, 5))) * 0.5 - tmp704 += np.transpose(tmp691, (0, 3, 1, 2, 4, 5)) - del tmp691 - tmp702 = einsum(tmp17, (0, 1), t3.babbab, (2, 3, 4, 5, 6, 1), (3, 2, 4, 0, 6, 5)) * -1 - tmp704 += np.transpose(tmp702, (0, 3, 2, 1, 4, 5)) - tmp703 = np.copy(np.transpose(tmp690, (0, 1, 2, 4, 3, 5))) * -1 - tmp703 += np.transpose(tmp700, (0, 1, 3, 2, 4, 5)) * 2 - tmp704 += einsum(t1.aa, (0, 1), tmp703, (2, 0, 3, 4, 5, 6), (2, 5, 3, 4, 1, 6)) * 0.5 - del tmp703 - t3new.babbab += einsum(t1.bb, (0, 1), tmp704, (2, 0, 3, 4, 5, 6), (4, 2, 3, 6, 5, 1)) * 2 - del tmp704 - t3new.babbab += einsum(tmp125, (0, 1), t3.babbab, (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 6, 0)) * -2 - del tmp125 - t3new.babbab += np.transpose(tmp688, (2, 0, 1, 5, 3, 4)) - del tmp688 - t3new.babbab += np.transpose(tmp693, (2, 0, 1, 5, 3, 4)) - del tmp693 - tmp705 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), v.bbbb.ovov, (6, 7, 2, 5), (1, 0, 6, 4, 3, 7)) - t3new.babbab += np.transpose(tmp705, (2, 0, 1, 5, 3, 4)) * 2 - tmp706 = einsum(v.aabb.ovov, (0, 1, 2, 3), t3.abaaba, (4, 5, 0, 6, 7, 1), (4, 5, 2, 6, 7, 3)) - t3new.babbab += np.transpose(tmp706, (2, 0, 1, 5, 3, 4)) * 2 - t3new.babbab += einsum(tmp445, (0, 1), t3.babbab, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 6, 5)) - t3new.babbab += einsum(tmp702, (0, 1, 2, 3, 4, 5), t1.bb, (3, 6), (1, 0, 2, 6, 4, 5)) * -1 - del tmp702 - t3new.babbab += einsum(tmp205, (0, 1), t3.babbab, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 6, 5)) * 2 - del tmp205 - tmp707 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), tmp51, (6, 5), (1, 6, 0, 2, 4, 3)) - t3new.babbab += einsum(tmp707, (0, 1, 2, 3, 4, 5), t1.bb, (1, 6), (3, 0, 2, 6, 4, 5)) * -1 - del tmp707 - tmp708 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), tmp58, (4, 6), (1, 0, 2, 6, 3, 5)) - t3new.babbab += np.transpose(tmp708, (2, 0, 1, 5, 3, 4)) * -2 - del tmp708 - tmp709 = einsum(tmp198, (0, 1), t3.babbab, (2, 3, 4, 5, 1, 6), (3, 0, 2, 4, 5, 6)) - tmp710 = einsum(t1.aa, (0, 1), tmp709, (2, 0, 3, 4, 5, 6), (2, 4, 3, 1, 6, 5)) - del tmp709 - t3new.babbab += np.transpose(tmp710, (2, 0, 1, 5, 3, 4)) * -2 - del tmp710 - t3new.babbab += np.transpose(tmp706, (2, 0, 1, 4, 3, 5)) * -2 - t3new.babbab += np.transpose(tmp705, (2, 0, 1, 4, 3, 5)) * -2 - t3new.babbab += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), tmp27, (5, 6), (0, 1, 2, 3, 4, 6)) * 2 - del tmp27 - tmp711 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), tmp217, (6, 7, 2, 0), (1, 6, 7, 4, 3, 5)) * -1 - t3new.babbab += np.transpose(tmp711, (2, 0, 1, 5, 3, 4)) * -2 - tmp463 = einsum(t2.abab, (0, 1, 2, 3), tmp22, (0, 4, 1, 5), (4, 2, 5, 3)) - tmp712 = einsum(t2.abab, (0, 1, 2, 3), tmp463, (4, 5, 2, 6), (0, 4, 1, 5, 3, 6)) - t3new.babbab += np.transpose(tmp712, (2, 0, 1, 4, 3, 5)) - tmp713 = np.copy(tmp28) - del tmp28 - tmp713 += tmp29 * 2 - del tmp29 - tmp713 += np.transpose(tmp30, (1, 0)) - del tmp30 - tmp714 = einsum(tmp713, (0, 1), t3.babbab, (2, 3, 1, 4, 5, 6), (3, 2, 0, 5, 4, 6)) * -1 - del tmp713 - t3new.babbab += np.transpose(tmp714, (1, 0, 2, 5, 3, 4)) * -2 - tmp715 = einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), tmp22, (2, 6, 7, 5), (0, 6, 1, 7, 3, 4)) - tmp720 = np.copy(tmp715) * 0.5 - tmp716 = einsum(t2.abab, (0, 1, 2, 3), tmp22, (4, 5, 6, 2), (0, 4, 5, 1, 6, 3)) - tmp717 = einsum(t1.aa, (0, 1), tmp716, (2, 0, 3, 4, 5, 6), (2, 3, 4, 5, 1, 6)) - tmp720 += tmp717 * -0.5 - del tmp717 - tmp719 = einsum(tmp718, (0, 1, 2, 3), t3.babbab, (4, 5, 1, 6, 7, 3), (5, 4, 0, 2, 7, 6)) - tmp720 += np.transpose(tmp719, (0, 2, 1, 3, 4, 5)) - del tmp719 - tmp721 = einsum(t1.bb, (0, 1), tmp720, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 6, 1)) * 2 - del tmp720 - t3new.babbab += np.transpose(tmp721, (2, 0, 1, 4, 3, 5)) * -1 - tmp724 = einsum(t2.abab, (0, 1, 2, 3), tmp723, (4, 5, 1, 6), (0, 4, 5, 2, 6, 3)) - del tmp723 - t3new.babbab += np.transpose(tmp724, (2, 0, 1, 5, 3, 4)) - tmp450 = einsum(t2.abab, (0, 1, 2, 3), tmp2, (4, 0, 1, 5), (4, 2, 3, 5)) - t3new.babbab += einsum(tmp450, (0, 1, 2, 3), t2.bbbb, (4, 5, 6, 3), (4, 0, 5, 6, 1, 2)) * 2 - tmp725 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), tmp139, (6, 1, 7, 2), (6, 0, 7, 4, 3, 5)) - t3new.babbab += np.transpose(tmp725, (2, 0, 1, 5, 3, 4)) * 2 - tmp664 = einsum(t1.bb, (0, 1), tmp139, (2, 3, 4, 0), (2, 3, 4, 1)) - tmp726 = einsum(t2.abab, (0, 1, 2, 3), tmp664, (4, 0, 5, 6), (4, 1, 5, 2, 6, 3)) - t3new.babbab += np.transpose(tmp726, (2, 0, 1, 5, 3, 4)) * -1 - tmp727 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), tmp13, (1, 6), (6, 0, 2, 4, 3, 5)) - del tmp13 - t3new.babbab += np.transpose(tmp727, (2, 0, 1, 5, 3, 4)) * -2 - del tmp727 - tmp728 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), tmp2, (6, 1, 7, 5), (6, 0, 2, 7, 4, 3)) - tmp730 = np.copy(np.transpose(tmp728, (0, 2, 1, 3, 4, 5))) * -1 - tmp729 = einsum(t2.bbbb, (0, 1, 2, 3), tmp2, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) - tmp730 += einsum(t1.aa, (0, 1), tmp729, (2, 0, 3, 4, 5, 6), (2, 4, 3, 5, 1, 6)) * -1 - t3new.babbab += einsum(t1.bb, (0, 1), tmp730, (2, 3, 4, 0, 5, 6), (4, 2, 3, 6, 5, 1)) * -2 - del tmp730 - t3new.babbab += np.transpose(tmp712, (1, 0, 2, 4, 3, 5)) * -1 - del tmp712 - tmp731 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), tmp136, (6, 1, 7, 2), (6, 7, 0, 4, 3, 5)) - t3new.babbab += np.transpose(tmp731, (1, 0, 2, 5, 3, 4)) * 2 - tmp732 = einsum(t2.abab, (0, 1, 2, 3), tmp137, (4, 0, 5, 6), (4, 5, 1, 2, 6, 3)) - t3new.babbab += np.transpose(tmp732, (1, 0, 2, 5, 3, 4)) * -1 - t3new.babbab += np.transpose(tmp714, (2, 0, 1, 5, 3, 4)) * 2 - del tmp714 - t3new.babbab += np.transpose(tmp721, (1, 0, 2, 4, 3, 5)) - del tmp721 - tmp733 = einsum(tmp147, (0, 1, 2, 3), t2.abab, (4, 5, 3, 6), (4, 5, 0, 1, 2, 6)) - tmp734 = einsum(t1.bb, (0, 1), tmp733, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 1, 6)) - del tmp733 - t3new.babbab += np.transpose(tmp734, (2, 0, 1, 5, 3, 4)) * -1 - tmp736 = np.copy(np.transpose(tmp120, (1, 0, 2, 3))) * -1 - tmp736 += np.transpose(tmp159, (1, 0, 2, 3)) * 2 - tmp736 += np.transpose(tmp127, (1, 0, 2, 3)) * 2 - tmp736 += np.transpose(tmp128, (1, 0, 2, 3)) * 2 - tmp436 = np.copy(v.aaaa.ooov) * -1 - tmp436 += np.transpose(v.aaaa.ovoo, (0, 2, 3, 1)) - tmp736 += einsum(tmp436, (0, 1, 2, 3), t2.abab, (0, 4, 3, 5), (2, 1, 4, 5)) - tmp735 = einsum(t2.abab, (0, 1, 2, 3), tmp11, (4, 2), (4, 0, 1, 3)) - tmp736 += tmp735 - t3new.babbab += einsum(tmp736, (0, 1, 2, 3), t2.abab, (0, 4, 5, 6), (4, 1, 2, 3, 5, 6)) - del tmp736 - tmp479 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t3.abaaba, (0, 4, 2, 5, 6, 1), (4, 5, 3, 6)) * -1 - tmp737 = np.copy(tmp479) - tmp480 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), v.aabb.ovov, (1, 6, 2, 5), (0, 4, 6, 3)) - tmp737 += tmp480 * 0.5 - tmp738 = einsum(tmp737, (0, 1, 2, 3), t2.abab, (4, 5, 2, 6), (4, 0, 5, 1, 3, 6)) * 2 - del tmp737 - t3new.babbab += np.transpose(tmp738, (1, 0, 2, 5, 3, 4)) - tmp739 = np.copy(np.transpose(tmp188, (1, 0, 2, 3))) * -0.16666666666666666 - del tmp188 - tmp739 += np.transpose(tmp243, (2, 1, 0, 3)) * 0.16666666666666666 - del tmp243 - tmp739 += np.transpose(tmp206, (2, 1, 0, 3)) * 0.3333333333333333 - del tmp206 - tmp739 += np.transpose(tmp207, (2, 1, 0, 3)) - del tmp207 - tmp739 += einsum(tmp473, (0, 1, 2, 3), t2.bbbb, (4, 0, 5, 3), (2, 1, 4, 5)) * 0.3333333333333333 - tmp739 += np.transpose(tmp208, (0, 2, 1, 3)) * -1 - del tmp208 - t3new.babbab += einsum(t2.abab, (0, 1, 2, 3), tmp739, (1, 4, 5, 6), (4, 0, 5, 6, 2, 3)) * 6 - del tmp739 - tmp475 = einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), v.aabb.ovov, (2, 5, 1, 6), (0, 3, 4, 6)) - tmp740 = np.copy(tmp475) - tmp476 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), v.bbbb.ovov, (0, 6, 2, 5), (1, 4, 3, 6)) - tmp740 += tmp476 * 0.5 - t3new.babbab += einsum(tmp740, (0, 1, 2, 3), t2.bbbb, (4, 5, 6, 3), (4, 0, 5, 6, 1, 2)) * -4 - del tmp740 - tmp741 = einsum(tmp158, (0, 1, 2, 3), t2.bbbb, (4, 5, 6, 3), (0, 4, 5, 1, 2, 6)) * -1 - tmp742 = einsum(t1.bb, (0, 1), tmp741, (2, 3, 4, 0, 5, 6), (2, 4, 3, 5, 6, 1)) - del tmp741 - t3new.babbab += np.transpose(tmp742, (2, 0, 1, 4, 3, 5)) * 2 - tmp745 = np.copy(np.transpose(tmp743, (0, 2, 1, 3))) * -0.3333333333333333 - del tmp743 - tmp745 += np.transpose(tmp744, (0, 2, 1, 3)) * -1 - del tmp744 - tmp746 = einsum(t2.abab, (0, 1, 2, 3), tmp745, (4, 5, 6, 3), (0, 4, 1, 2, 5, 6)) * 3 - del tmp745 - t3new.babbab += np.transpose(tmp746, (1, 0, 2, 5, 3, 4)) * 2 - del tmp746 - tmp748 = np.copy(tmp149) * -1 - tmp747 = einsum(t2.abab, (0, 1, 2, 3), tmp51, (4, 3), (0, 4, 1, 2)) - tmp748 += np.transpose(tmp747, (0, 2, 1, 3)) - tmp749 = einsum(tmp748, (0, 1, 2, 3), t2.bbbb, (4, 2, 5, 6), (0, 4, 1, 3, 5, 6)) * -1 - del tmp748 - t3new.babbab += np.transpose(tmp749, (1, 0, 2, 5, 3, 4)) * -2 - del tmp749 - t3new.babbab += np.transpose(tmp734, (1, 0, 2, 5, 3, 4)) - tmp750 = np.copy(np.transpose(tmp146, (1, 0, 2, 3))) * -1 - tmp750 += np.transpose(tmp127, (1, 0, 2, 3)) * 2 - tmp750 += np.transpose(tmp128, (1, 0, 2, 3)) * 2 - tmp750 += tmp735 - del tmp735 - t3new.babbab += einsum(tmp750, (0, 1, 2, 3), t2.abab, (0, 4, 5, 6), (2, 1, 4, 3, 5, 6)) * -1 - del tmp750 - t3new.babbab += np.transpose(tmp738, (2, 0, 1, 5, 3, 4)) * -1 - del tmp738 - tmp428 = einsum(t1.aa, (0, 1), v.aabb.oooo, (2, 0, 3, 4), (2, 3, 4, 1)) - tmp751 = np.copy(np.transpose(tmp428, (0, 2, 1, 3))) * -1 - tmp751 += np.transpose(tmp163, (0, 2, 1, 3)) * 2 - tmp751 += np.transpose(tmp165, (0, 2, 1, 3)) - tmp751 += tmp747 - del tmp747 - tmp752 = einsum(tmp751, (0, 1, 2, 3), t2.bbbb, (4, 1, 5, 6), (0, 4, 2, 3, 5, 6)) * -1 - del tmp751 - t3new.babbab += np.transpose(tmp752, (2, 0, 1, 5, 3, 4)) * 2 - del tmp752 - tmp754 = einsum(tmp753, (0, 1, 2, 3), t2.abab, (4, 5, 6, 3), (4, 0, 5, 6, 1, 2)) - del tmp753 - t3new.babbab += np.transpose(tmp754, (2, 0, 1, 5, 3, 4)) * -2 - del tmp754 - tmp755 = einsum(tmp690, (0, 1, 2, 3, 4, 5), t1.bb, (4, 6), (0, 1, 2, 3, 6, 5)) - del tmp690 - tmp756 = einsum(t1.aa, (0, 1), tmp755, (2, 0, 3, 4, 5, 6), (2, 3, 4, 1, 5, 6)) - del tmp755 - t3new.babbab += np.transpose(tmp756, (2, 0, 1, 4, 3, 5)) - tmp757 = np.copy(tmp426) * -0.5 - tmp757 += tmp479 * 0.5 - tmp757 += tmp480 - tmp758 = einsum(t2.abab, (0, 1, 2, 3), tmp757, (4, 5, 2, 6), (0, 4, 1, 5, 6, 3)) * 2 - del tmp757 - t3new.babbab += np.transpose(tmp758, (1, 0, 2, 4, 3, 5)) * -1 - tmp759 = np.copy(tmp127) - tmp759 += tmp128 - tmp759 += np.transpose(tmp129, (1, 0, 2, 3)) - del tmp129 - tmp760 = einsum(t2.abab, (0, 1, 2, 3), tmp759, (4, 0, 5, 6), (4, 5, 1, 2, 6, 3)) * 2 - del tmp759 - t3new.babbab += np.transpose(tmp760, (2, 0, 1, 5, 3, 4)) * -1 - tmp761 = np.copy(tmp419) * -1 - tmp761 += tmp475 - tmp761 += tmp476 * 2 - t3new.babbab += einsum(tmp761, (0, 1, 2, 3), t2.bbbb, (4, 5, 6, 3), (4, 0, 5, 2, 1, 6)) * 2 - del tmp761 - t3new.babbab += einsum(t2.abab, (0, 1, 2, 3), tmp213, (1, 4, 5, 6), (5, 0, 4, 3, 2, 6)) * -2 - del tmp213 - tmp762 = einsum(v.aabb.oovv, (0, 1, 2, 3), t2.bbbb, (4, 5, 6, 3), (0, 1, 4, 5, 6, 2)) - tmp763 = np.copy(np.transpose(tmp762, (1, 0, 3, 2, 4, 5))) * -1 - tmp763 += einsum(t1.bb, (0, 1), tmp698, (2, 3, 4, 5, 0, 6), (3, 2, 5, 4, 6, 1)) - del tmp698 - t3new.babbab += einsum(t1.aa, (0, 1), tmp763, (0, 2, 3, 4, 5, 6), (4, 2, 3, 6, 1, 5)) * -2 - del tmp763 - t3new.babbab += np.transpose(tmp756, (1, 0, 2, 4, 3, 5)) * -1 - del tmp756 - t3new.babbab += np.transpose(tmp758, (2, 0, 1, 4, 3, 5)) - del tmp758 - t3new.babbab += np.transpose(tmp760, (1, 0, 2, 5, 3, 4)) - del tmp760 - tmp764 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ooov, (4, 0, 5, 6), (4, 1, 5, 2, 3, 6)) - t3new.babbab += np.transpose(tmp764, (1, 0, 2, 5, 3, 4)) - tmp765 = einsum(t2.abab, (0, 1, 2, 3), v.bbbb.ooov, (4, 1, 5, 6), (0, 4, 5, 2, 3, 6)) - t3new.babbab += np.transpose(tmp765, (1, 0, 2, 5, 3, 4)) - t3new.babbab += np.transpose(tmp765, (2, 0, 1, 5, 3, 4)) * -1 - tmp767 = np.copy(v.bbbb.oovv) * -0.499999999999995 - tmp767 += tmp200 * 0.5 - tmp767 += np.transpose(tmp766, (1, 0, 3, 2)) * -1 - del tmp766 - tmp768 = einsum(tmp767, (0, 1, 2, 3), t3.babbab, (4, 5, 1, 6, 7, 3), (5, 4, 0, 7, 6, 2)) * 2 - del tmp767 - t3new.babbab += np.transpose(tmp768, (1, 0, 2, 5, 3, 4)) * -2 - tmp770 = einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), tmp769, (2, 6, 5, 7), (0, 1, 6, 3, 4, 7)) * 2 - t3new.babbab += np.transpose(tmp770, (1, 0, 2, 5, 3, 4)) * -1 - tmp773 = einsum(t2.abab, (0, 1, 2, 3), tmp772, (4, 5, 6, 3), (0, 4, 5, 1, 2, 6)) * 0.5 - tmp774 = einsum(t1.bb, (0, 1), tmp773, (2, 3, 0, 4, 5, 6), (2, 4, 3, 5, 6, 1)) * 2 - del tmp773 - t3new.babbab += np.transpose(tmp774, (1, 0, 2, 4, 3, 5)) - tmp776 = np.copy(np.transpose(tmp689, (0, 1, 3, 2, 4, 5))) - tmp775 = einsum(tmp248, (0, 1, 2, 3), t3.babbab, (4, 5, 2, 6, 7, 3), (5, 4, 0, 1, 7, 6)) * 0.5 - del tmp248 - tmp776 += np.transpose(tmp775, (0, 1, 3, 2, 4, 5)) - del tmp775 - tmp777 = einsum(tmp776, (0, 1, 2, 3, 4, 5), t1.bb, (2, 6), (0, 1, 3, 4, 5, 6)) * 2 - del tmp776 - t3new.babbab += np.transpose(tmp777, (1, 0, 2, 5, 3, 4)) - tmp778 = einsum(t2.bbbb, (0, 1, 2, 3), v.aabb.ovoo, (4, 5, 6, 1), (4, 0, 6, 5, 2, 3)) - t3new.babbab += np.transpose(tmp778, (1, 0, 2, 5, 3, 4)) * 2 - tmp779 = einsum(t1.bb, (0, 1), tmp697, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 1, 6)) - del tmp697 - t3new.babbab += np.transpose(tmp779, (2, 0, 1, 4, 3, 5)) * 2 - del tmp779 - t3new.babbab += np.transpose(tmp764, (2, 0, 1, 5, 3, 4)) * -1 - tmp780 = np.copy(v.aabb.oovv) * -1 - tmp470 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 1, 5), (0, 4, 3, 5)) - tmp780 += np.transpose(tmp470, (1, 0, 3, 2)) - tmp781 = einsum(tmp780, (0, 1, 2, 3), t3.babbab, (4, 0, 5, 6, 7, 2), (1, 4, 5, 7, 6, 3)) * -1 - del tmp780 - t3new.babbab += np.transpose(tmp781, (2, 0, 1, 5, 3, 4)) * -2 - del tmp781 - t3new.babbab += np.transpose(tmp778, (2, 0, 1, 5, 3, 4)) * -2 - del tmp778 - tmp782 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), v.aabb.ovoo, (6, 4, 7, 2), (1, 6, 0, 7, 3, 5)) - tmp783 = einsum(t1.aa, (0, 1), tmp782, (2, 0, 3, 4, 5, 6), (2, 3, 4, 1, 5, 6)) - del tmp782 - t3new.babbab += np.transpose(tmp783, (2, 0, 1, 5, 3, 4)) * 2 - tmp516 = np.copy(np.transpose(v.aabb.vvoo, (2, 3, 0, 1))) * -1 - tmp516 += np.transpose(tmp147, (1, 0, 3, 2)) - tmp784 = einsum(tmp516, (0, 1, 2, 3), t3.babbab, (4, 5, 0, 6, 2, 7), (5, 4, 1, 3, 6, 7)) * -1 - t3new.babbab += np.transpose(tmp784, (2, 0, 1, 5, 3, 4)) * -2 - t3new.babbab += np.transpose(tmp764, (1, 0, 2, 4, 3, 5)) * -1 - t3new.babbab += np.transpose(tmp765, (1, 0, 2, 4, 3, 5)) * -1 - tmp785 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), v.bbbb.oovv, (6, 2, 7, 5), (1, 0, 6, 4, 3, 7)) - t3new.babbab += np.transpose(tmp785, (1, 0, 2, 4, 3, 5)) * -2 - t3new.babbab += np.transpose(tmp765, (2, 0, 1, 4, 3, 5)) - del tmp765 - t3new.babbab += np.transpose(tmp764, (2, 0, 1, 4, 3, 5)) - del tmp764 - t3new.babbab += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), v.aabb.oovv, (6, 1, 7, 5), (0, 6, 2, 3, 4, 7)) * -2 - tmp786 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 5, 6), (0, 4, 1, 5, 3, 6)) - tmp787 = einsum(t1.aa, (0, 1), tmp786, (2, 0, 3, 4, 5, 6), (2, 3, 4, 1, 5, 6)) - del tmp786 - t3new.babbab += np.transpose(tmp787, (1, 0, 2, 5, 3, 4)) - t3new.babbab += np.transpose(tmp734, (1, 0, 2, 4, 3, 5)) * -1 - tmp788 = np.copy(np.transpose(v.aabb.vvov, (2, 0, 1, 3))) - tmp594 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovvv, (0, 4, 5, 3), (1, 2, 4, 5)) - tmp788 += np.transpose(tmp594, (0, 2, 1, 3)) * -1 - tmp789 = einsum(t2.abab, (0, 1, 2, 3), tmp788, (4, 2, 5, 6), (0, 4, 1, 5, 6, 3)) - del tmp788 - t3new.babbab += np.transpose(tmp789, (2, 0, 1, 4, 3, 5)) * -1 - tmp790 = einsum(t2.bbbb, (0, 1, 2, 3), v.aabb.ovvv, (4, 5, 6, 3), (4, 0, 1, 5, 2, 6)) - t3new.babbab += np.transpose(tmp790, (2, 0, 1, 5, 3, 4)) * 2 - tmp791 = einsum(t2.abab, (0, 1, 2, 3), v.bbbb.ovvv, (4, 5, 6, 3), (0, 1, 4, 2, 5, 6)) - t3new.babbab += np.transpose(tmp791, (1, 0, 2, 5, 3, 4)) - tmp792 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.abab, (4, 5, 6, 3), (4, 5, 0, 2, 6, 1)) - tmp793 = einsum(tmp792, (0, 1, 2, 3, 4, 5), t1.bb, (3, 6), (0, 1, 2, 4, 6, 5)) - del tmp792 - t3new.babbab += np.transpose(tmp793, (1, 0, 2, 5, 3, 4)) - t3new.babbab += np.transpose(tmp791, (1, 0, 2, 4, 3, 5)) * -1 - t3new.babbab += np.transpose(tmp787, (2, 0, 1, 5, 3, 4)) * -1 - t3new.babbab += np.transpose(tmp734, (2, 0, 1, 4, 3, 5)) - del tmp734 - t3new.babbab += np.transpose(tmp789, (1, 0, 2, 4, 3, 5)) - del tmp789 - tmp794 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), v.bbbb.ovov, (6, 3, 7, 5), (1, 0, 2, 6, 7, 4)) - tmp795 = einsum(tmp794, (0, 1, 2, 3, 4, 5), t2.bbbb, (4, 3, 6, 7), (0, 1, 2, 5, 6, 7)) * -1 - t3new.babbab += np.transpose(tmp795, (2, 0, 1, 5, 3, 4)) * 2 - del tmp795 - t3new.babbab += einsum(v.bbbb.vvvv, (0, 1, 2, 3), t3.babbab, (4, 5, 6, 3, 7, 1), (4, 5, 6, 0, 7, 2)) * -2 - t3new.babbab += np.transpose(tmp791, (2, 0, 1, 5, 3, 4)) * -1 - tmp796 = einsum(v.bbbb.ovvv, (0, 1, 2, 3), t3.babbab, (4, 5, 6, 1, 7, 3), (5, 4, 6, 0, 7, 2)) - tmp797 = np.copy(np.transpose(tmp796, (0, 2, 1, 3, 4, 5))) * -1 - tmp797 += einsum(t1.bb, (0, 1), tmp794, (2, 3, 4, 5, 0, 6), (2, 4, 3, 5, 6, 1)) - del tmp794 - t3new.babbab += einsum(t1.bb, (0, 1), tmp797, (2, 3, 4, 0, 5, 6), (4, 2, 3, 6, 5, 1)) * -2 - del tmp797 - t3new.babbab += np.transpose(tmp793, (2, 0, 1, 5, 3, 4)) * -1 - t3new.babbab += np.transpose(tmp791, (2, 0, 1, 4, 3, 5)) - del tmp791 - tmp798 = einsum(v.aabb.vvov, (0, 1, 2, 3), t2.abab, (4, 5, 1, 6), (4, 5, 2, 0, 6, 3)) - t3new.babbab += np.transpose(tmp798, (1, 0, 2, 4, 3, 5)) - tmp799 = einsum(t2.bbbb, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 6, 3), (4, 0, 1, 6, 5, 2)) - tmp800 = einsum(t1.bb, (0, 1), tmp799, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 1, 6)) - del tmp799 - t3new.babbab += np.transpose(tmp800, (2, 0, 1, 5, 3, 4)) * 2 - t3new.babbab += np.transpose(tmp790, (2, 0, 1, 4, 3, 5)) * -2 - del tmp790 - t3new.babbab += np.transpose(tmp798, (2, 0, 1, 4, 3, 5)) * -1 - del tmp798 - tmp801 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), v.aabb.vvov, (6, 4, 7, 5), (1, 0, 2, 7, 6, 3)) - tmp802 = einsum(tmp801, (0, 1, 2, 3, 4, 5), t1.bb, (3, 6), (0, 1, 2, 4, 6, 5)) - del tmp801 - t3new.babbab += np.transpose(tmp802, (2, 0, 1, 5, 3, 4)) * 2 - tmp803 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), v.aabb.vvvv, (6, 4, 7, 5), (1, 0, 2, 6, 3, 7)) - t3new.babbab += np.transpose(tmp803, (2, 0, 1, 4, 3, 5)) * -2 - t3new.babbab += np.transpose(tmp694, (1, 0, 2, 5, 3, 4)) * -2 - del tmp694 - t3new.babbab += np.transpose(tmp695, (1, 0, 2, 5, 3, 4)) - del tmp695 - t3new.babbab += np.transpose(tmp686, (2, 0, 1, 5, 3, 4)) - del tmp686 - t3new.babbab += np.transpose(tmp705, (1, 0, 2, 5, 3, 4)) * -2 - t3new.babbab += np.transpose(tmp706, (1, 0, 2, 5, 3, 4)) * -2 - tmp804 = einsum(tmp244, (0, 1, 2, 3), t3.babbab, (4, 5, 2, 6, 7, 3), (5, 4, 0, 1, 7, 6)) - del tmp244 - tmp805 = einsum(t1.bb, (0, 1), tmp804, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 6, 1)) - del tmp804 - t3new.babbab += np.transpose(tmp805, (1, 0, 2, 5, 3, 4)) - t3new.babbab += np.transpose(tmp783, (1, 0, 2, 5, 3, 4)) * -2 - del tmp783 - t3new.babbab += np.transpose(tmp784, (1, 0, 2, 5, 3, 4)) * 2 - del tmp784 - tmp806 = einsum(v.aabb.ovov, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 2, 6, 7, 3), (0, 4, 5, 1, 6, 7)) - t3new.babbab += np.transpose(tmp806, (2, 0, 1, 5, 3, 4)) * 6 - del tmp806 - tmp807 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), v.aaaa.ovov, (6, 7, 1, 4), (6, 0, 2, 7, 3, 5)) - t3new.babbab += np.transpose(tmp807, (2, 0, 1, 5, 3, 4)) * 2 - del tmp807 - tmp809 = np.copy(v.aaaa.oovv) * -0.499999999999995 - tmp809 += np.transpose(tmp53, (1, 0, 3, 2)) * 0.5 - tmp808 = einsum(t2.aaaa, (0, 1, 2, 3), tmp319, (1, 4, 5, 3), (4, 0, 5, 2)) - tmp809 += tmp808 - del tmp808 - tmp810 = einsum(tmp809, (0, 1, 2, 3), t3.babbab, (4, 0, 5, 6, 2, 7), (1, 4, 5, 3, 6, 7)) * 2 - del tmp809 - t3new.babbab += np.transpose(tmp810, (2, 0, 1, 5, 3, 4)) * 2 - del tmp810 - tmp811 = np.copy(tmp157) * 2 - del tmp157 - tmp811 += tmp339 * -1 - del tmp339 - tmp812 = einsum(tmp811, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 1, 6, 7, 3), (0, 4, 5, 2, 6, 7)) * 3 - del tmp811 - t3new.babbab += np.transpose(tmp812, (1, 0, 2, 4, 3, 5)) * 2 - del tmp812 - tmp813 = einsum(v.aabb.ooov, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 2, 6, 7, 3), (0, 1, 4, 5, 6, 7)) - tmp815 = np.copy(np.transpose(tmp813, (1, 0, 3, 2, 5, 4))) * 3 - del tmp813 - tmp814 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), tmp160, (1, 6, 7, 4), (6, 7, 0, 2, 3, 5)) - del tmp160 - tmp815 += np.transpose(tmp814, (1, 0, 3, 2, 5, 4)) - del tmp814 - tmp816 = einsum(t1.aa, (0, 1), tmp815, (0, 2, 3, 4, 5, 6), (2, 3, 4, 1, 5, 6)) - del tmp815 - t3new.babbab += np.transpose(tmp816, (2, 0, 1, 5, 3, 4)) * -2 - del tmp816 - t3new.babbab += np.transpose(tmp768, (2, 0, 1, 5, 3, 4)) * 2 - del tmp768 - t3new.babbab += np.transpose(tmp770, (2, 0, 1, 5, 3, 4)) - del tmp770 - t3new.babbab += np.transpose(tmp774, (2, 0, 1, 4, 3, 5)) * -1 - t3new.babbab += np.transpose(tmp777, (2, 0, 1, 5, 3, 4)) * -1 - del tmp777 - t3new.babbab += np.transpose(tmp805, (2, 0, 1, 5, 3, 4)) * -1 - del tmp805 - t3new.babbab += np.transpose(tmp705, (1, 0, 2, 4, 3, 5)) * 2 - del tmp705 - t3new.babbab += np.transpose(tmp706, (1, 0, 2, 4, 3, 5)) * 2 - del tmp706 - t3new.babbab += np.transpose(tmp785, (2, 0, 1, 4, 3, 5)) * 2 - del tmp785 - t3new.babbab += np.transpose(tmp701, (2, 0, 1, 4, 3, 5)) * 2 - del tmp701 - t3new.babbab += np.transpose(tmp803, (2, 0, 1, 5, 3, 4)) * 2 - del tmp803 - tmp817 = einsum(v.aabb.ovvv, (0, 1, 2, 3), t3.babbab, (4, 5, 6, 7, 1, 3), (5, 0, 4, 6, 7, 2)) - tmp818 = np.copy(np.transpose(tmp817, (0, 1, 3, 2, 4, 5))) * -1 - tmp818 += einsum(t1.bb, (0, 1), tmp700, (2, 3, 4, 5, 0, 6), (2, 3, 5, 4, 6, 1)) - del tmp700 - t3new.babbab += einsum(t1.aa, (0, 1), tmp818, (2, 0, 3, 4, 5, 6), (4, 2, 3, 6, 1, 5)) * -2 - del tmp818 - t3new.babbab += einsum(tmp821, (0, 1, 2, 3), t2.abab, (4, 0, 5, 6), (2, 4, 1, 3, 5, 6)) - del tmp821 - tmp561 = np.copy(np.transpose(tmp428, (0, 2, 1, 3))) * -1 - tmp561 += np.transpose(tmp163, (0, 2, 1, 3)) * 2 - tmp561 += np.transpose(tmp165, (0, 2, 1, 3)) - del tmp165 - tmp822 = einsum(tmp561, (0, 1, 2, 3), t2.bbbb, (4, 1, 5, 6), (0, 4, 2, 3, 5, 6)) * -1 - t3new.babbab += np.transpose(tmp822, (1, 0, 2, 5, 3, 4)) * -2 - del tmp822 - tmp559 = np.copy(np.transpose(tmp120, (1, 0, 2, 3))) * -1 - tmp559 += np.transpose(tmp159, (1, 0, 2, 3)) * 2 - tmp559 += np.transpose(tmp161, (1, 0, 2, 3)) - t3new.babbab += einsum(t2.abab, (0, 1, 2, 3), tmp559, (0, 4, 5, 6), (5, 4, 1, 6, 2, 3)) * -1 - tmp823 = einsum(tmp2, (0, 1, 2, 3), t2.abab, (1, 4, 5, 6), (0, 4, 2, 5, 6, 3)) - t3new.babbab += np.transpose(tmp823, (1, 0, 2, 5, 3, 4)) - tmp824 = einsum(t2.abab, (0, 1, 2, 3), tmp23, (4, 5, 1, 6), (0, 4, 5, 2, 3, 6)) - t3new.babbab += np.transpose(tmp824, (1, 0, 2, 5, 3, 4)) - tmp826 = np.copy(np.transpose(tmp214, (0, 2, 1, 3))) - tmp826 += np.transpose(tmp229, (0, 2, 1, 3)) * -1 - tmp826 += einsum(tmp718, (0, 1, 2, 3), t2.bbbb, (4, 2, 5, 3), (0, 1, 4, 5)) * 2 - tmp825 = np.copy(np.transpose(tmp217, (0, 2, 1, 3))) * -1 - tmp825 += np.transpose(tmp217, (0, 2, 3, 1)) - tmp826 += einsum(t1.bb, (0, 1), tmp825, (2, 3, 4, 0), (2, 4, 3, 1)) - del tmp825 - t3new.babbab += einsum(tmp826, (0, 1, 2, 3), t2.abab, (4, 1, 5, 6), (0, 4, 2, 3, 5, 6)) * -1 - del tmp826 - tmp576 = np.copy(np.transpose(tmp140, (0, 2, 1, 3))) * -1 - tmp576 += np.transpose(tmp141, (0, 2, 1, 3)) - tmp576 += np.transpose(tmp181, (0, 2, 1, 3)) - tmp827 = einsum(tmp576, (0, 1, 2, 3), t2.bbbb, (4, 1, 5, 6), (0, 4, 2, 3, 5, 6)) * -1 - t3new.babbab += np.transpose(tmp827, (1, 0, 2, 5, 3, 4)) * 2 - tmp828 = einsum(v.bbbb.oovv, (0, 1, 2, 3), t2.abab, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) - tmp829 = einsum(t1.bb, (0, 1), tmp828, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 1, 6)) - del tmp828 - t3new.babbab += np.transpose(tmp829, (1, 0, 2, 5, 3, 4)) * -1 - tmp830 = einsum(t2.abab, (0, 1, 2, 3), v.bbbb.ooov, (4, 5, 6, 3), (0, 1, 4, 5, 6, 2)) - tmp831 = einsum(tmp830, (0, 1, 2, 3, 4, 5), t1.bb, (4, 6), (0, 1, 2, 3, 5, 6)) - del tmp830 - tmp832 = einsum(tmp831, (0, 1, 2, 3, 4, 5), t1.bb, (3, 6), (0, 1, 2, 4, 6, 5)) - del tmp831 - t3new.babbab += np.transpose(tmp832, (1, 0, 2, 4, 3, 5)) * -1 - t3new.babbab += np.transpose(tmp832, (1, 0, 2, 5, 3, 4)) - tmp833 = np.copy(tmp131) - tmp833 += tmp132 - tmp834 = einsum(tmp833, (0, 1, 2, 3), t2.bbbb, (4, 2, 5, 6), (0, 4, 1, 3, 5, 6)) * -2 - del tmp833 - t3new.babbab += np.transpose(tmp834, (2, 0, 1, 5, 3, 4)) * 2 - tmp567 = np.copy(np.transpose(tmp184, (1, 0, 2, 3))) * -1 - tmp567 += np.transpose(tmp137, (1, 0, 2, 3)) - del tmp137 - tmp567 += np.transpose(tmp145, (1, 0, 2, 3)) - tmp835 = einsum(tmp567, (0, 1, 2, 3), t2.abab, (0, 4, 5, 6), (1, 2, 4, 5, 3, 6)) - t3new.babbab += np.transpose(tmp835, (2, 0, 1, 4, 3, 5)) * -1 - t3new.babbab += np.transpose(tmp835, (1, 0, 2, 4, 3, 5)) - del tmp835 - tmp836 = einsum(t2.bbbb, (0, 1, 2, 3), tmp22, (4, 5, 1, 6), (4, 5, 0, 6, 2, 3)) - t3new.babbab += np.transpose(tmp836, (2, 0, 1, 5, 3, 4)) * 2 - t3new.babbab += np.transpose(tmp836, (1, 0, 2, 5, 3, 4)) * -2 - del tmp836 - tmp837 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), tmp144, (6, 2, 7, 4), (1, 6, 0, 7, 3, 5)) - t3new.babbab += np.transpose(tmp837, (1, 0, 2, 5, 3, 4)) * -2 - tmp838 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), tmp22, (6, 7, 2, 4), (1, 6, 7, 0, 3, 5)) - tmp839 = einsum(t1.aa, (0, 1), tmp838, (2, 0, 3, 4, 5, 6), (2, 3, 4, 1, 5, 6)) - del tmp838 - t3new.babbab += np.transpose(tmp839, (1, 0, 2, 5, 3, 4)) * 2 - tmp840 = einsum(tmp143, (0, 1, 2, 3), t3.abaaba, (4, 5, 0, 6, 7, 2), (4, 1, 5, 6, 7, 3)) - t3new.babbab += np.transpose(tmp840, (2, 0, 1, 5, 3, 4)) * -2 - t3new.babbab += np.transpose(tmp824, (2, 0, 1, 5, 3, 4)) * -1 - tmp841 = einsum(tmp228, (0, 1, 2, 3), t3.babbab, (4, 5, 0, 6, 7, 2), (5, 4, 1, 7, 6, 3)) * -1 - t3new.babbab += np.transpose(tmp841, (1, 0, 2, 5, 3, 4)) * -1 - tmp843 = np.copy(tmp715) * 2 - tmp842 = einsum(tmp178, (0, 1, 2, 3), t3.babbab, (4, 5, 1, 6, 7, 3), (5, 4, 0, 2, 7, 6)) - tmp843 += np.transpose(tmp842, (0, 2, 1, 3, 4, 5)) - tmp844 = einsum(t1.bb, (0, 1), tmp843, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 6, 1)) - del tmp843 - t3new.babbab += np.transpose(tmp844, (2, 0, 1, 5, 3, 4)) - tmp846 = np.copy(np.transpose(tmp214, (0, 2, 1, 3))) - tmp846 += np.transpose(tmp229, (0, 2, 1, 3)) * -1 - tmp846 += einsum(tmp178, (0, 1, 2, 3), t2.bbbb, (4, 2, 5, 3), (0, 1, 4, 5)) * 2 - tmp845 = np.copy(np.transpose(tmp217, (0, 2, 1, 3))) * -1 - tmp845 += np.transpose(tmp217, (0, 2, 3, 1)) - del tmp217 - tmp846 += einsum(t1.bb, (0, 1), tmp845, (2, 3, 4, 0), (2, 4, 3, 1)) - del tmp845 - t3new.babbab += einsum(tmp846, (0, 1, 2, 3), t2.abab, (4, 1, 5, 6), (2, 4, 0, 3, 5, 6)) - del tmp846 - t3new.babbab += np.transpose(tmp823, (2, 0, 1, 5, 3, 4)) * -1 - tmp847 = einsum(tmp182, (0, 1, 2, 3), t3.babbab, (4, 1, 5, 6, 7, 3), (0, 4, 5, 7, 6, 2)) - t3new.babbab += np.transpose(tmp847, (2, 0, 1, 5, 3, 4)) * -2 - tmp848 = einsum(t1.bb, (0, 1), tmp728, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 1, 6)) - del tmp728 - t3new.babbab += np.transpose(tmp848, (2, 0, 1, 4, 3, 5)) * 2 - del tmp848 - t3new.babbab += np.transpose(tmp827, (2, 0, 1, 5, 3, 4)) * -2 - del tmp827 - t3new.babbab += np.transpose(tmp829, (2, 0, 1, 5, 3, 4)) - t3new.babbab += np.transpose(tmp832, (2, 0, 1, 4, 3, 5)) - t3new.babbab += np.transpose(tmp832, (2, 0, 1, 5, 3, 4)) * -1 - del tmp832 - t3new.babbab += np.transpose(tmp834, (1, 0, 2, 5, 3, 4)) * -2 - del tmp834 - tmp849 = einsum(tmp479, (0, 1, 2, 3), t2.abab, (4, 5, 2, 6), (4, 5, 0, 1, 6, 3)) - t3new.babbab += np.transpose(tmp849, (1, 0, 2, 5, 3, 4)) - tmp850 = einsum(v.aabb.vvoo, (0, 1, 2, 3), t2.abab, (4, 5, 1, 6), (4, 5, 2, 3, 0, 6)) - tmp851 = einsum(tmp850, (0, 1, 2, 3, 4, 5), t1.bb, (3, 6), (0, 1, 2, 4, 6, 5)) - del tmp850 - t3new.babbab += np.transpose(tmp851, (1, 0, 2, 4, 3, 5)) - t3new.babbab += np.transpose(tmp800, (2, 0, 1, 4, 3, 5)) * -2 - del tmp800 - tmp525 = einsum(v.aabb.vvov, (0, 1, 2, 3), t2.abab, (4, 2, 1, 5), (4, 0, 5, 3)) - tmp852 = einsum(tmp525, (0, 1, 2, 3), t2.bbbb, (4, 5, 6, 3), (0, 4, 5, 1, 6, 2)) - t3new.babbab += np.transpose(tmp852, (2, 0, 1, 5, 3, 4)) * -2 - tmp853 = einsum(tmp470, (0, 1, 2, 3), t2.bbbb, (4, 5, 6, 3), (0, 1, 4, 5, 6, 2)) - tmp854 = einsum(t1.aa, (0, 1), tmp853, (2, 0, 3, 4, 5, 6), (2, 3, 4, 1, 5, 6)) - del tmp853 - t3new.babbab += np.transpose(tmp854, (2, 0, 1, 5, 3, 4)) * 2 - t3new.babbab += np.transpose(tmp851, (1, 0, 2, 5, 3, 4)) * -1 - t3new.babbab += np.transpose(tmp849, (2, 0, 1, 5, 3, 4)) * -1 - del tmp849 - t3new.babbab += np.transpose(tmp851, (2, 0, 1, 4, 3, 5)) * -1 - t3new.babbab += np.transpose(tmp851, (2, 0, 1, 5, 3, 4)) - del tmp851 - t3new.babbab += np.transpose(tmp823, (1, 0, 2, 4, 3, 5)) * -1 - t3new.babbab += np.transpose(tmp824, (1, 0, 2, 4, 3, 5)) * -1 - tmp855 = einsum(tmp214, (0, 1, 2, 3), t2.abab, (4, 2, 5, 6), (4, 0, 1, 5, 6, 3)) - del tmp214 - t3new.babbab += np.transpose(tmp855, (1, 0, 2, 4, 3, 5)) - t3new.babbab += np.transpose(tmp793, (1, 0, 2, 4, 3, 5)) * -1 - tmp859 = einsum(t2.abab, (0, 1, 2, 3), tmp858, (4, 5, 3, 6), (0, 4, 1, 2, 5, 6)) - del tmp858 - t3new.babbab += np.transpose(tmp859, (2, 0, 1, 4, 3, 5)) * -1 - t3new.babbab += np.transpose(tmp829, (1, 0, 2, 4, 3, 5)) - t3new.babbab += np.transpose(tmp787, (1, 0, 2, 4, 3, 5)) * -1 - t3new.babbab += einsum(t1.aa, (0, 1), tmp762, (2, 0, 3, 4, 5, 6), (4, 2, 3, 5, 1, 6)) * 2 - del tmp762 - tmp860 = einsum(tmp184, (0, 1, 2, 3), t2.abab, (1, 4, 5, 6), (0, 2, 4, 5, 6, 3)) - del tmp184 - t3new.babbab += np.transpose(tmp860, (2, 0, 1, 4, 3, 5)) * -1 - t3new.babbab += np.transpose(tmp860, (1, 0, 2, 4, 3, 5)) - del tmp860 - t3new.babbab += np.transpose(tmp824, (2, 0, 1, 4, 3, 5)) - del tmp824 - t3new.babbab += np.transpose(tmp840, (2, 0, 1, 4, 3, 5)) * 2 - tmp861 = einsum(tmp228, (0, 1, 2, 3), t3.babbab, (4, 5, 0, 6, 7, 2), (5, 4, 1, 7, 6, 3)) * -2 - del tmp228 - t3new.babbab += np.transpose(tmp861, (1, 0, 2, 4, 3, 5)) - t3new.babbab += np.transpose(tmp855, (2, 0, 1, 4, 3, 5)) * -1 - del tmp855 - t3new.babbab += np.transpose(tmp823, (2, 0, 1, 4, 3, 5)) - del tmp823 - t3new.babbab += np.transpose(tmp847, (2, 0, 1, 4, 3, 5)) * 2 - del tmp847 - t3new.babbab += np.transpose(tmp793, (2, 0, 1, 4, 3, 5)) - del tmp793 - t3new.babbab += np.transpose(tmp859, (1, 0, 2, 4, 3, 5)) - t3new.babbab += np.transpose(tmp829, (2, 0, 1, 4, 3, 5)) * -1 - del tmp829 - t3new.babbab += np.transpose(tmp787, (2, 0, 1, 4, 3, 5)) - del tmp787 - tmp862 = np.copy(np.transpose(tmp151, (0, 2, 1, 3))) - tmp862 += tmp463 - t3new.babbab += einsum(tmp862, (0, 1, 2, 3), t2.abab, (4, 5, 2, 6), (5, 4, 0, 3, 1, 6)) * -1 - del tmp862 - tmp863 = einsum(t2.abab, (0, 1, 2, 3), tmp143, (4, 5, 2, 6), (0, 4, 5, 1, 3, 6)) - tmp865 = np.copy(tmp863) - tmp864 = einsum(t1.bb, (0, 1), tmp716, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del tmp716 - tmp865 += np.transpose(tmp864, (0, 1, 2, 3, 5, 4)) * -1 - del tmp864 - tmp866 = einsum(t1.aa, (0, 1), tmp865, (2, 0, 3, 4, 5, 6), (2, 3, 4, 1, 5, 6)) - del tmp865 - t3new.babbab += np.transpose(tmp866, (2, 0, 1, 5, 3, 4)) - tmp602 = einsum(t1.aa, (0, 1), v.aabb.vvvv, (2, 1, 3, 4), (0, 2, 3, 4)) - tmp618 = np.copy(np.transpose(tmp602, (0, 1, 3, 2))) - tmp618 += np.transpose(tmp450, (0, 1, 3, 2)) - t3new.babbab += einsum(tmp618, (0, 1, 2, 3), t2.bbbb, (4, 5, 6, 2), (4, 0, 5, 3, 1, 6)) * -2 - tmp867 = einsum(tmp182, (0, 1, 2, 3), t2.bbbb, (4, 5, 6, 3), (0, 1, 4, 5, 6, 2)) - tmp868 = np.copy(np.transpose(tmp867, (0, 1, 3, 2, 4, 5))) * -1 - tmp868 += einsum(t1.bb, (0, 1), tmp729, (2, 3, 4, 5, 0, 6), (2, 3, 5, 4, 6, 1)) - del tmp729 - t3new.babbab += einsum(t1.aa, (0, 1), tmp868, (2, 0, 3, 4, 5, 6), (4, 2, 3, 6, 1, 5)) * -2 - del tmp868 - tmp869 = einsum(t2.abab, (0, 1, 2, 3), tmp255, (4, 5, 3, 6), (0, 4, 1, 2, 6, 5)) - del tmp255 - tmp873 = np.copy(tmp869) - del tmp869 - tmp870 = einsum(t2.abab, (0, 1, 2, 3), tmp23, (4, 5, 6, 3), (0, 4, 1, 6, 5, 2)) - del tmp23 - tmp871 = einsum(t1.bb, (0, 1), tmp870, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 6, 1)) - del tmp870 - tmp872 = einsum(tmp871, (0, 1, 2, 3, 4, 5), t1.bb, (3, 6), (0, 1, 2, 4, 6, 5)) - del tmp871 - tmp873 += tmp872 - del tmp872 - t3new.babbab += np.transpose(tmp873, (2, 0, 1, 4, 3, 5)) * -1 - t3new.babbab += np.transpose(tmp873, (2, 0, 1, 5, 3, 4)) - tmp874 = einsum(tmp176, (0, 1, 2, 3), t2.abab, (4, 5, 6, 2), (4, 1, 0, 5, 6, 3)) * -1 - tmp875 = einsum(t1.bb, (0, 1), tmp874, (2, 3, 0, 4, 5, 6), (2, 3, 4, 5, 6, 1)) * -1 - del tmp874 - t3new.babbab += np.transpose(tmp875, (2, 0, 1, 4, 3, 5)) * -1 - tmp608 = np.copy(np.transpose(tmp151, (0, 2, 1, 3))) - tmp608 += np.transpose(tmp463, (0, 2, 1, 3)) - t3new.babbab += einsum(t2.abab, (0, 1, 2, 3), tmp608, (4, 2, 5, 6), (4, 0, 1, 6, 5, 3)) - t3new.babbab += np.transpose(tmp866, (1, 0, 2, 5, 3, 4)) * -1 - del tmp866 - t3new.babbab += np.transpose(tmp873, (1, 0, 2, 4, 3, 5)) - t3new.babbab += np.transpose(tmp873, (1, 0, 2, 5, 3, 4)) * -1 - del tmp873 - t3new.babbab += np.transpose(tmp875, (1, 0, 2, 4, 3, 5)) - tmp876 = einsum(t2.abab, (0, 1, 2, 3), tmp144, (4, 5, 6, 2), (0, 4, 1, 5, 6, 3)) - tmp877 = einsum(t1.bb, (0, 1), tmp876, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 1, 6)) - del tmp876 - t3new.babbab += np.transpose(tmp877, (2, 0, 1, 5, 3, 4)) * -1 - tmp878 = einsum(tmp151, (0, 1, 2, 3), t2.abab, (4, 5, 2, 6), (4, 0, 5, 1, 6, 3)) - t3new.babbab += np.transpose(tmp878, (2, 0, 1, 4, 3, 5)) - tmp879 = einsum(t2.bbbb, (0, 1, 2, 3), tmp76, (4, 5, 6, 3), (4, 0, 1, 5, 6, 2)) - tmp880 = einsum(t1.bb, (0, 1), tmp879, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 1, 6)) - del tmp879 - t3new.babbab += np.transpose(tmp880, (2, 0, 1, 5, 3, 4)) * 2 - t3new.babbab += einsum(tmp602, (0, 1, 2, 3), t2.bbbb, (4, 5, 6, 3), (4, 0, 5, 6, 1, 2)) * 2 - t3new.babbab += np.transpose(tmp877, (1, 0, 2, 5, 3, 4)) - t3new.babbab += np.transpose(tmp878, (1, 0, 2, 4, 3, 5)) * -1 - del tmp878 - t3new.babbab += np.transpose(tmp725, (1, 0, 2, 5, 3, 4)) * -2 - del tmp725 - t3new.babbab += np.transpose(tmp726, (1, 0, 2, 5, 3, 4)) - del tmp726 - t3new.babbab += np.transpose(tmp711, (1, 0, 2, 5, 3, 4)) * 2 - del tmp711 - t3new.babbab += np.transpose(tmp724, (1, 0, 2, 5, 3, 4)) * -1 - del tmp724 - tmp882 = einsum(tmp881, (0, 1, 2, 3), t2.abab, (4, 5, 6, 3), (4, 5, 0, 6, 1, 2)) - del tmp881 - t3new.babbab += np.transpose(tmp882, (1, 0, 2, 5, 3, 4)) * 2 - tmp883 = einsum(tmp689, (0, 1, 2, 3, 4, 5), t1.bb, (3, 6), (0, 1, 2, 4, 6, 5)) - del tmp689 - t3new.babbab += np.transpose(tmp883, (1, 0, 2, 5, 3, 4)) * -1 - t3new.babbab += np.transpose(tmp731, (2, 0, 1, 5, 3, 4)) * -2 - del tmp731 - t3new.babbab += np.transpose(tmp732, (2, 0, 1, 5, 3, 4)) - del tmp732 - t3new.babbab += np.transpose(tmp882, (2, 0, 1, 5, 3, 4)) * -2 - del tmp882 - t3new.babbab += np.transpose(tmp883, (2, 0, 1, 5, 3, 4)) - del tmp883 - tmp884 = einsum(tmp176, (0, 1, 2, 3), t3.babbab, (4, 5, 0, 6, 7, 2), (5, 4, 1, 7, 6, 3)) * -1 - t3new.babbab += np.transpose(tmp884, (1, 0, 2, 5, 3, 4)) * -1 - tmp885 = einsum(t1.bb, (0, 1), tmp842, (2, 3, 4, 0, 5, 6), (2, 4, 3, 5, 6, 1)) - del tmp842 - t3new.babbab += np.transpose(tmp885, (2, 0, 1, 5, 3, 4)) - t3new.babbab += np.transpose(tmp837, (2, 0, 1, 5, 3, 4)) * 2 - del tmp837 - t3new.babbab += np.transpose(tmp839, (2, 0, 1, 5, 3, 4)) * -2 - del tmp839 - tmp886 = einsum(tmp76, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 1, 6, 7, 3), (0, 4, 5, 2, 6, 7)) - t3new.babbab += np.transpose(tmp886, (2, 0, 1, 5, 3, 4)) * 6 - del tmp886 - tmp887 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), tmp87, (1, 6, 7, 4), (6, 0, 2, 7, 3, 5)) * -1 - t3new.babbab += np.transpose(tmp887, (2, 0, 1, 5, 3, 4)) * 2 - del tmp887 - tmp888 = einsum(tmp2, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 2, 6, 7, 3), (0, 1, 4, 5, 6, 7)) - tmp890 = np.copy(np.transpose(tmp888, (0, 1, 3, 2, 5, 4))) * 3 - del tmp888 - tmp889 = einsum(tmp172, (0, 1, 2, 3), t3.babbab, (4, 1, 5, 6, 3, 7), (0, 2, 4, 5, 6, 7)) - tmp890 += np.transpose(tmp889, (0, 1, 3, 2, 5, 4)) - del tmp889 - tmp891 = einsum(t1.aa, (0, 1), tmp890, (2, 0, 3, 4, 5, 6), (2, 3, 4, 1, 5, 6)) - del tmp890 - t3new.babbab += np.transpose(tmp891, (2, 0, 1, 5, 3, 4)) * -2 - del tmp891 - t3new.babbab += np.transpose(tmp840, (1, 0, 2, 5, 3, 4)) * 2 - t3new.babbab += np.transpose(tmp841, (2, 0, 1, 5, 3, 4)) - del tmp841 - t3new.babbab += np.transpose(tmp844, (1, 0, 2, 5, 3, 4)) * -1 - del tmp844 - t3new.babbab += np.transpose(tmp884, (2, 0, 1, 5, 3, 4)) - del tmp884 - t3new.babbab += np.transpose(tmp885, (1, 0, 2, 5, 3, 4)) * -1 - del tmp885 - t3new.babbab += np.transpose(tmp802, (2, 0, 1, 4, 3, 5)) * -2 - del tmp802 - t3new.babbab += np.transpose(tmp840, (1, 0, 2, 4, 3, 5)) * -2 - del tmp840 - t3new.babbab += np.transpose(tmp861, (2, 0, 1, 4, 3, 5)) * -1 - del tmp861 - t3new.babbab += einsum(tmp796, (0, 1, 2, 3, 4, 5), t1.bb, (3, 6), (2, 0, 1, 6, 4, 5)) * 2 - del tmp796 - t3new.babbab += einsum(tmp817, (0, 1, 2, 3, 4, 5), t1.aa, (1, 6), (3, 0, 2, 4, 6, 5)) * 2 - del tmp817 - tmp892 = einsum(tmp167, (0, 1, 2, 3), t3.babbab, (4, 1, 3, 5, 6, 7), (0, 2, 4, 6, 5, 7)) - t3new.babbab += np.transpose(tmp892, (2, 0, 1, 5, 3, 4)) * -2 - tmp647 = einsum(tmp167, (0, 1, 2, 3), t1.bb, (3, 4), (0, 1, 2, 4)) - tmp893 = einsum(t2.abab, (0, 1, 2, 3), tmp647, (4, 0, 5, 6), (4, 5, 1, 2, 6, 3)) - t3new.babbab += np.transpose(tmp893, (2, 0, 1, 5, 3, 4)) - tmp894 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), tmp259, (6, 7, 2, 0), (1, 6, 7, 4, 3, 5)) * -1 - del tmp259 - t3new.babbab += np.transpose(tmp894, (2, 0, 1, 5, 3, 4)) * 2 - del tmp894 - t3new.babbab += einsum(t2.abab, (0, 1, 2, 3), tmp262, (4, 5, 1, 6), (5, 0, 4, 3, 2, 6)) * -2 - del tmp262 - t3new.babbab += np.transpose(tmp892, (1, 0, 2, 5, 3, 4)) * 2 - del tmp892 - t3new.babbab += np.transpose(tmp893, (1, 0, 2, 5, 3, 4)) * -1 - del tmp893 - tmp895 = einsum(tmp480, (0, 1, 2, 3), t2.abab, (4, 5, 2, 6), (4, 5, 0, 1, 6, 3)) - t3new.babbab += np.transpose(tmp895, (2, 0, 1, 4, 3, 5)) - t3new.babbab += einsum(t2.bbbb, (0, 1, 2, 3), tmp476, (4, 5, 6, 3), (0, 4, 1, 2, 5, 6)) * -2 - t3new.babbab += np.transpose(tmp895, (1, 0, 2, 4, 3, 5)) * -1 - del tmp895 - tmp896 = einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), tmp769, (2, 6, 5, 7), (0, 1, 6, 3, 4, 7)) - del tmp769 - t3new.babbab += np.transpose(tmp896, (1, 0, 2, 4, 3, 5)) * 2 - tmp897 = einsum(tmp772, (0, 1, 2, 3), t3.babbab, (4, 5, 1, 6, 7, 3), (5, 4, 0, 7, 6, 2)) * 2 - del tmp772 - t3new.babbab += np.transpose(tmp897, (1, 0, 2, 4, 3, 5)) - tmp898 = einsum(t2.abab, (0, 1, 2, 3), tmp246, (4, 1, 5, 6), (0, 4, 5, 2, 6, 3)) - del tmp246 - t3new.babbab += np.transpose(tmp898, (2, 0, 1, 5, 3, 4)) * -1 - t3new.babbab += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), tmp470, (6, 1, 7, 5), (0, 6, 2, 3, 4, 7)) * 2 - tmp899 = einsum(t2.abab, (0, 1, 2, 3), tmp146, (4, 0, 5, 6), (4, 1, 5, 2, 6, 3)) - t3new.babbab += np.transpose(tmp899, (2, 0, 1, 5, 3, 4)) * -1 - t3new.babbab += np.transpose(tmp896, (2, 0, 1, 4, 3, 5)) * -2 - del tmp896 - t3new.babbab += np.transpose(tmp897, (2, 0, 1, 4, 3, 5)) * -1 - del tmp897 - t3new.babbab += einsum(t2.abab, (0, 1, 2, 3), tmp162, (0, 4, 5, 6), (5, 4, 1, 3, 2, 6)) - del tmp162 - t3new.babbab += einsum(tmp475, (0, 1, 2, 3), t2.bbbb, (4, 5, 6, 3), (4, 0, 5, 2, 1, 6)) * 2 - t3new.babbab += np.transpose(tmp899, (1, 0, 2, 4, 3, 5)) * -1 - t3new.babbab += np.transpose(tmp899, (1, 0, 2, 5, 3, 4)) - del tmp899 - t3new.babbab += np.transpose(tmp898, (1, 0, 2, 5, 3, 4)) - del tmp898 - tmp900 = einsum(t2.bbbb, (0, 1, 2, 3), tmp149, (4, 5, 1, 6), (4, 0, 5, 6, 2, 3)) - t3new.babbab += np.transpose(tmp900, (2, 0, 1, 5, 3, 4)) * 2 - del tmp900 - tmp901 = np.copy(np.transpose(tmp159, (1, 0, 2, 3))) - tmp901 += einsum(tmp436, (0, 1, 2, 3), t2.abab, (0, 4, 3, 5), (2, 1, 4, 5)) * 0.5 - t3new.babbab += einsum(t2.abab, (0, 1, 2, 3), tmp901, (0, 4, 5, 6), (1, 4, 5, 3, 2, 6)) * -2 - del tmp901 - tmp902 = np.copy(tmp183) * -1 - tmp902 += tmp647 - t3new.babbab += einsum(tmp902, (0, 1, 2, 3), t2.abab, (1, 4, 5, 6), (4, 0, 2, 3, 5, 6)) * -1 - del tmp902 - t3new.babbab += einsum(tmp263, (0, 1, 2, 3), t2.abab, (4, 2, 5, 6), (1, 4, 0, 3, 5, 6)) * -2 - del tmp263 - tmp903 = einsum(tmp170, (0, 1, 2, 3), t2.bbbb, (4, 2, 5, 6), (0, 4, 1, 3, 5, 6)) * -1 - t3new.babbab += np.transpose(tmp903, (1, 0, 2, 5, 3, 4)) * -2 - tmp648 = np.copy(tmp183) - tmp648 += tmp647 * -1 - del tmp647 - t3new.babbab += einsum(t2.abab, (0, 1, 2, 3), tmp648, (4, 0, 5, 6), (5, 4, 1, 6, 2, 3)) * -1 - t3new.babbab += np.transpose(tmp903, (2, 0, 1, 5, 3, 4)) * 2 - del tmp903 - tmp654 = einsum(t2.aaaa, (0, 1, 2, 3), v.aabb.ovvv, (1, 3, 4, 5), (0, 2, 4, 5)) - tmp656 = np.copy(np.transpose(tmp654, (0, 1, 3, 2))) * 2 - del tmp654 - tmp655 = einsum(tmp25, (0, 1, 2, 3), t2.abab, (4, 0, 5, 2), (4, 5, 1, 3)) - del tmp25 - tmp656 += tmp655 * -1 - del tmp655 - tmp904 = einsum(t2.bbbb, (0, 1, 2, 3), tmp656, (4, 5, 3, 6), (4, 0, 1, 5, 2, 6)) * -1 - t3new.babbab += np.transpose(tmp904, (2, 0, 1, 5, 3, 4)) * -2 - t3new.babbab += np.transpose(tmp742, (2, 0, 1, 5, 3, 4)) * -2 - del tmp742 - tmp650 = einsum(t2.bbbb, (0, 1, 2, 3), v.aabb.vvov, (4, 5, 1, 3), (0, 4, 5, 2)) - tmp652 = np.copy(np.transpose(tmp650, (0, 2, 1, 3))) * 2 - del tmp650 - tmp651 = einsum(tmp86, (0, 1, 2, 3), t2.abab, (0, 4, 1, 5), (4, 2, 3, 5)) - del tmp86 - tmp652 += np.transpose(tmp651, (0, 2, 1, 3)) - del tmp651 - tmp905 = einsum(t2.abab, (0, 1, 2, 3), tmp652, (4, 2, 5, 6), (0, 4, 1, 5, 6, 3)) - t3new.babbab += np.transpose(tmp905, (2, 0, 1, 4, 3, 5)) * -1 - tmp482 = np.copy(tmp126) * 2 - tmp482 += tmp241 - del tmp241 - tmp906 = einsum(t2.abab, (0, 1, 2, 3), tmp482, (4, 5, 2, 6), (4, 0, 5, 1, 6, 3)) - tmp907 = einsum(t1.aa, (0, 1), tmp906, (0, 2, 3, 4, 5, 6), (2, 4, 3, 1, 6, 5)) - del tmp906 - t3new.babbab += np.transpose(tmp907, (1, 0, 2, 5, 3, 4)) - t3new.babbab += np.transpose(tmp905, (1, 0, 2, 4, 3, 5)) - t3new.babbab += np.transpose(tmp907, (2, 0, 1, 5, 3, 4)) * -1 - t3new.babbab += np.transpose(tmp859, (1, 0, 2, 5, 3, 4)) * -1 - t3new.babbab += np.transpose(tmp774, (2, 0, 1, 5, 3, 4)) - t3new.babbab += np.transpose(tmp905, (1, 0, 2, 5, 3, 4)) * -1 - t3new.babbab += np.transpose(tmp907, (2, 0, 1, 4, 3, 5)) - t3new.babbab += np.transpose(tmp852, (2, 0, 1, 4, 3, 5)) * 2 - del tmp852 - t3new.babbab += np.transpose(tmp854, (2, 0, 1, 4, 3, 5)) * -2 - del tmp854 - t3new.babbab += np.transpose(tmp859, (2, 0, 1, 5, 3, 4)) - del tmp859 - t3new.babbab += np.transpose(tmp774, (1, 0, 2, 5, 3, 4)) * -1 - del tmp774 - t3new.babbab += np.transpose(tmp905, (2, 0, 1, 5, 3, 4)) - del tmp905 - t3new.babbab += np.transpose(tmp907, (1, 0, 2, 4, 3, 5)) * -1 - del tmp907 - tmp908 = einsum(tmp183, (0, 1, 2, 3), t2.abab, (1, 4, 5, 6), (0, 2, 4, 5, 6, 3)) - del tmp183 - t3new.babbab += np.transpose(tmp908, (2, 0, 1, 4, 3, 5)) * -1 - t3new.babbab += einsum(t2.abab, (0, 1, 2, 3), tmp261, (4, 5, 1, 6), (5, 0, 4, 3, 2, 6)) * 2 - del tmp261 - t3new.babbab += np.transpose(tmp908, (1, 0, 2, 4, 3, 5)) - del tmp908 - tmp909 = einsum(t2.abab, (0, 1, 2, 3), tmp594, (4, 5, 2, 6), (0, 1, 4, 5, 3, 6)) - t3new.babbab += np.transpose(tmp909, (2, 0, 1, 4, 3, 5)) - t3new.babbab += np.transpose(tmp904, (2, 0, 1, 4, 3, 5)) * 2 - del tmp904 - t3new.babbab += np.transpose(tmp909, (1, 0, 2, 4, 3, 5)) * -1 - del tmp909 - tmp461 = einsum(tmp136, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 3, 4)) - tmp670 = np.copy(tmp461) * -1 - tmp670 += tmp177 * 2 - del tmp177 - tmp670 += tmp179 - del tmp179 - tmp910 = einsum(tmp670, (0, 1, 2, 3), t2.bbbb, (4, 2, 5, 6), (0, 4, 1, 3, 5, 6)) * -1 - t3new.babbab += np.transpose(tmp910, (1, 0, 2, 5, 3, 4)) * -2 - tmp912 = einsum(t2.abab, (0, 1, 2, 3), tmp911, (4, 5, 6, 3), (0, 4, 1, 2, 5, 6)) * -1 - del tmp911 - t3new.babbab += np.transpose(tmp912, (2, 0, 1, 5, 3, 4)) * 2 - tmp913 = einsum(tmp715, (0, 1, 2, 3, 4, 5), t1.bb, (3, 6), (0, 1, 2, 4, 6, 5)) - del tmp715 - t3new.babbab += np.transpose(tmp913, (2, 0, 1, 5, 3, 4)) * -1 - tmp914 = einsum(t2.abab, (0, 1, 2, 3), tmp145, (4, 0, 5, 6), (4, 5, 1, 2, 6, 3)) - del tmp145 - t3new.babbab += np.transpose(tmp914, (2, 0, 1, 5, 3, 4)) - t3new.babbab += einsum(t2.abab, (0, 1, 2, 3), tmp231, (4, 5, 1, 6), (5, 0, 4, 3, 2, 6)) - del tmp231 - tmp665 = np.copy(tmp664) * -1 - del tmp664 - tmp665 += tmp171 * 2 - del tmp171 - tmp665 += tmp173 - del tmp173 - tmp915 = einsum(t2.abab, (0, 1, 2, 3), tmp665, (4, 0, 5, 6), (4, 5, 1, 2, 6, 3)) - t3new.babbab += np.transpose(tmp915, (2, 0, 1, 4, 3, 5)) - t3new.babbab += np.transpose(tmp915, (1, 0, 2, 4, 3, 5)) * -1 - del tmp915 - tmp916 = einsum(t2.abab, (0, 1, 2, 3), tmp174, (4, 0, 5, 6), (4, 5, 1, 2, 6, 3)) - del tmp174 - t3new.babbab += np.transpose(tmp916, (2, 0, 1, 5, 3, 4)) * -1 - t3new.babbab += np.transpose(tmp916, (1, 0, 2, 5, 3, 4)) - del tmp916 - t3new.babbab += np.transpose(tmp910, (2, 0, 1, 5, 3, 4)) * 2 - del tmp910 - t3new.babbab += np.transpose(tmp912, (1, 0, 2, 5, 3, 4)) * -2 - del tmp912 - t3new.babbab += np.transpose(tmp913, (1, 0, 2, 5, 3, 4)) - del tmp913 - tmp917 = np.copy(tmp229) * 0.5 - del tmp229 - tmp917 += einsum(t2.bbbb, (0, 1, 2, 3), tmp718, (4, 1, 5, 3), (4, 0, 5, 2)) - del tmp718 - t3new.babbab += einsum(t2.abab, (0, 1, 2, 3), tmp917, (4, 5, 1, 6), (4, 0, 5, 3, 2, 6)) * -2 - del tmp917 - t3new.babbab += np.transpose(tmp914, (1, 0, 2, 5, 3, 4)) * -1 - del tmp914 - tmp918 = np.copy(tmp185) * -1 - tmp677 = einsum(tmp150, (0, 1, 2, 3), t1.bb, (3, 4), (0, 1, 2, 4)) - tmp918 += tmp677 - t3new.babbab += einsum(tmp918, (0, 1, 2, 3), t2.abab, (1, 4, 5, 6), (4, 0, 2, 3, 5, 6)) * -1 - del tmp918 - tmp919 = einsum(tmp253, (0, 1, 2, 3), t2.abab, (4, 2, 5, 6), (4, 1, 0, 5, 3, 6)) - del tmp253 - t3new.babbab += np.transpose(tmp919, (1, 0, 2, 4, 3, 5)) - t3new.babbab += np.transpose(tmp919, (2, 0, 1, 4, 3, 5)) * -1 - tmp920 = einsum(t2.abab, (0, 1, 2, 3), tmp257, (4, 5, 1, 6), (0, 4, 5, 2, 3, 6)) - del tmp257 - t3new.babbab += np.transpose(tmp920, (1, 0, 2, 5, 3, 4)) - t3new.babbab += np.transpose(tmp920, (2, 0, 1, 5, 3, 4)) * -1 - tmp921 = np.copy(tmp153) - tmp921 += tmp154 * -1 - tmp922 = einsum(tmp921, (0, 1, 2, 3), t2.bbbb, (4, 2, 5, 6), (0, 4, 1, 3, 5, 6)) * -1 - del tmp921 - t3new.babbab += np.transpose(tmp922, (1, 0, 2, 5, 3, 4)) * -2 - tmp923 = np.copy(tmp185) - tmp923 += tmp677 * -1 - t3new.babbab += einsum(t2.abab, (0, 1, 2, 3), tmp923, (4, 0, 5, 6), (5, 4, 1, 6, 2, 3)) * -1 - del tmp923 - t3new.babbab += np.transpose(tmp922, (2, 0, 1, 5, 3, 4)) * 2 - del tmp922 - t3new.babbab += np.transpose(tmp877, (2, 0, 1, 4, 3, 5)) - t3new.babbab += np.transpose(tmp880, (2, 0, 1, 4, 3, 5)) * -2 - del tmp880 - t3new.babbab += np.transpose(tmp877, (1, 0, 2, 4, 3, 5)) * -1 - del tmp877 - tmp924 = einsum(t2.abab, (0, 1, 2, 3), tmp185, (4, 0, 5, 6), (4, 5, 1, 2, 3, 6)) - t3new.babbab += np.transpose(tmp924, (2, 0, 1, 4, 3, 5)) * -1 - t3new.babbab += np.transpose(tmp920, (1, 0, 2, 4, 3, 5)) * -1 - t3new.babbab += np.transpose(tmp920, (2, 0, 1, 4, 3, 5)) - del tmp920 - t3new.babbab += np.transpose(tmp875, (2, 0, 1, 5, 3, 4)) - tmp925 = einsum(tmp863, (0, 1, 2, 3, 4, 5), t1.aa, (1, 6), (0, 2, 3, 6, 4, 5)) - del tmp863 - t3new.babbab += np.transpose(tmp925, (2, 0, 1, 4, 3, 5)) * -1 - t3new.babbab += einsum(t1.aa, (0, 1), tmp867, (2, 0, 3, 4, 5, 6), (4, 2, 3, 5, 1, 6)) * 2 - del tmp867 - t3new.babbab += np.transpose(tmp924, (1, 0, 2, 4, 3, 5)) - del tmp924 - t3new.babbab += np.transpose(tmp875, (1, 0, 2, 5, 3, 4)) * -1 - del tmp875 - t3new.babbab += np.transpose(tmp925, (1, 0, 2, 4, 3, 5)) - del tmp925 - tmp926 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), tmp150, (6, 1, 7, 2), (6, 7, 0, 4, 3, 5)) - t3new.babbab += np.transpose(tmp926, (2, 0, 1, 5, 3, 4)) * -2 - tmp927 = einsum(t2.abab, (0, 1, 2, 3), tmp677, (4, 0, 5, 6), (4, 5, 1, 2, 6, 3)) - t3new.babbab += np.transpose(tmp927, (2, 0, 1, 5, 3, 4)) - tmp928 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), tmp251, (6, 7, 0, 2), (1, 6, 7, 4, 3, 5)) - del tmp251 - t3new.babbab += np.transpose(tmp928, (2, 0, 1, 5, 3, 4)) * 2 - del tmp928 - t3new.babbab += np.transpose(tmp919, (1, 0, 2, 5, 3, 4)) * -1 - t3new.babbab += np.transpose(tmp919, (2, 0, 1, 5, 3, 4)) - del tmp919 - t3new.babbab += np.transpose(tmp926, (1, 0, 2, 5, 3, 4)) * 2 - del tmp926 - t3new.babbab += np.transpose(tmp927, (1, 0, 2, 5, 3, 4)) * -1 - del tmp927 - tmp417 = einsum(v.aaaa.oooo, (0, 1, 2, 3), t3.abaaba, (1, 4, 3, 5, 6, 7), (0, 2, 4, 5, 7, 6)) - t3new.abaaba = np.copy(np.transpose(tmp417, (1, 2, 0, 4, 5, 3))) * 2 - del tmp417 - tmp418 = einsum(t2.abab, (0, 1, 2, 3), tmp38, (4, 0, 5, 6), (5, 4, 1, 6, 2, 3)) - t3new.abaaba += np.transpose(tmp418, (0, 2, 1, 4, 5, 3)) * -1 - tmp420 = einsum(tmp419, (0, 1, 2, 3), t2.abab, (4, 5, 6, 3), (4, 0, 5, 6, 1, 2)) - t3new.abaaba += np.transpose(tmp420, (0, 2, 1, 3, 5, 4)) - tmp421 = einsum(tmp21, (0, 1), t3.abaaba, (2, 3, 0, 4, 5, 6), (2, 1, 3, 4, 6, 5)) * -1 - del tmp21 - t3new.abaaba += np.transpose(tmp421, (0, 2, 1, 4, 5, 3)) * -1 - tmp422 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), v.aabb.ooov, (6, 7, 2, 5), (1, 6, 7, 0, 4, 3)) - tmp424 = np.copy(np.transpose(tmp422, (0, 2, 1, 3, 4, 5))) - tmp423 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ooov, (4, 5, 6, 3), (0, 4, 5, 1, 6, 2)) - tmp424 += einsum(t1.bb, (0, 1), tmp423, (2, 3, 4, 5, 0, 6), (2, 4, 3, 5, 6, 1)) * -1 - tmp424 += einsum(tmp102, (0, 1, 2, 3), t3.abaaba, (4, 5, 2, 6, 7, 3), (4, 1, 0, 5, 6, 7)) * 2 - t3new.abaaba += einsum(tmp424, (0, 1, 2, 3, 4, 5), t1.aa, (1, 6), (0, 3, 2, 4, 5, 6)) * -1 - del tmp424 - tmp425 = einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), tmp43, (2, 6), (0, 6, 1, 3, 5, 4)) * -1 - del tmp43 - t3new.abaaba += np.transpose(tmp425, (0, 2, 1, 4, 5, 3)) * -1 - t3new.abaaba += einsum(t2.aaaa, (0, 1, 2, 3), tmp426, (4, 5, 3, 6), (0, 4, 1, 2, 6, 5)) * 2 - tmp427 = einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), v.aabb.oooo, (6, 2, 7, 1), (0, 6, 7, 3, 5, 4)) - t3new.abaaba += np.transpose(tmp427, (1, 2, 0, 4, 5, 3)) * 2 - tmp429 = einsum(tmp428, (0, 1, 2, 3), t2.abab, (4, 2, 5, 6), (4, 0, 1, 3, 5, 6)) - t3new.abaaba += np.transpose(tmp429, (1, 2, 0, 4, 5, 3)) * -1 - tmp430 = einsum(tmp193, (0, 1), t3.abaaba, (2, 0, 3, 4, 5, 6), (2, 3, 1, 4, 6, 5)) - del tmp193 - t3new.abaaba += np.transpose(tmp430, (1, 2, 0, 4, 5, 3)) * -2 - del tmp430 - tmp431 = einsum(v.aabb.ovoo, (0, 1, 2, 3), t3.abaaba, (4, 3, 5, 6, 7, 1), (4, 5, 0, 2, 6, 7)) - tmp433 = np.copy(np.transpose(tmp431, (1, 0, 2, 3, 4, 5))) * -1 - tmp432 = einsum(t2.aaaa, (0, 1, 2, 3), v.aabb.ovoo, (4, 3, 5, 6), (0, 1, 4, 5, 6, 2)) - tmp433 += einsum(t1.bb, (0, 1), tmp432, (2, 3, 4, 5, 0, 6), (3, 2, 4, 5, 6, 1)) * -1 - t3new.abaaba += einsum(t1.aa, (0, 1), tmp433, (2, 3, 0, 4, 5, 6), (3, 4, 2, 5, 6, 1)) * -2 - del tmp433 - t3new.abaaba += np.transpose(tmp420, (1, 2, 0, 3, 5, 4)) * -1 - del tmp420 - tmp434 = einsum(v.aabb.ovov, (0, 1, 2, 3), t3.abaaba, (4, 5, 6, 7, 3, 1), (4, 6, 0, 5, 2, 7)) - tmp435 = einsum(t2.abab, (0, 1, 2, 3), tmp434, (4, 5, 0, 6, 1, 7), (4, 5, 6, 2, 7, 3)) - t3new.abaaba += np.transpose(tmp435, (1, 2, 0, 4, 5, 3)) * -2 - tmp439 = np.copy(np.transpose(tmp422, (2, 0, 1, 3, 4, 5))) * 0.5 - tmp439 += einsum(tmp436, (0, 1, 2, 3), t3.abaaba, (4, 5, 0, 6, 7, 3), (2, 4, 1, 5, 6, 7)) - del tmp436 - tmp437 = einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), tmp11, (6, 5), (6, 0, 2, 1, 3, 4)) * -1 - del tmp11 - tmp439 += np.transpose(tmp437, (0, 2, 1, 3, 4, 5)) - tmp438 = np.copy(np.transpose(tmp423, (0, 2, 1, 3, 4, 5))) * -0.5 - tmp438 += np.transpose(tmp434, (1, 0, 2, 3, 4, 5)) - tmp439 += einsum(t1.bb, (0, 1), tmp438, (2, 3, 4, 5, 0, 6), (4, 2, 3, 5, 6, 1)) - del tmp438 - t3new.abaaba += einsum(t1.aa, (0, 1), tmp439, (0, 2, 3, 4, 5, 6), (3, 4, 2, 5, 6, 1)) * 2 - del tmp439 - t3new.abaaba += einsum(tmp48, (0, 1), t3.abaaba, (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 6, 0)) * -2 - del tmp48 - t3new.abaaba += np.transpose(tmp421, (1, 2, 0, 4, 5, 3)) - del tmp421 - t3new.abaaba += np.transpose(tmp425, (1, 2, 0, 4, 5, 3)) - del tmp425 - tmp440 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), v.aabb.ovov, (6, 7, 2, 5), (1, 6, 0, 4, 7, 3)) - t3new.abaaba += np.transpose(tmp440, (1, 2, 0, 4, 5, 3)) * 2 - tmp441 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t3.abaaba, (4, 5, 2, 6, 7, 3), (4, 0, 5, 6, 1, 7)) - t3new.abaaba += np.transpose(tmp441, (1, 2, 0, 4, 5, 3)) * 2 - t3new.abaaba += einsum(tmp58, (0, 1), t3.abaaba, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 6, 5)) - del tmp58 - t3new.abaaba += einsum(t1.aa, (0, 1), tmp437, (0, 2, 3, 4, 5, 6), (2, 4, 3, 1, 6, 5)) * -1 - del tmp437 - tmp442 = np.copy(f.aa.vv) * -0.5 - tmp442 += np.transpose(tmp3, (1, 0)) * -0.5 - del tmp3 - tmp442 += np.transpose(tmp46, (1, 0)) - del tmp46 - tmp442 += np.transpose(tmp47, (1, 0)) * 0.5 - del tmp47 - tmp442 += einsum(t1.aa, (0, 1), tmp56, (0, 1, 2, 3), (3, 2)) * -0.5 - del tmp56 - t3new.abaaba += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), tmp442, (5, 6), (0, 1, 2, 6, 4, 3)) * 2 - del tmp442 - tmp443 = einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), tmp198, (6, 5), (6, 0, 2, 1, 3, 4)) - t3new.abaaba += einsum(t1.aa, (0, 1), tmp443, (0, 2, 3, 4, 5, 6), (3, 4, 2, 1, 6, 5)) * -1 - del tmp443 - tmp446 = einsum(tmp445, (0, 1), t3.abaaba, (2, 3, 4, 5, 0, 6), (2, 4, 3, 5, 6, 1)) - del tmp445 - t3new.abaaba += np.transpose(tmp446, (1, 2, 0, 4, 5, 3)) * -2 - del tmp446 - tmp447 = einsum(tmp51, (0, 1), t3.abaaba, (2, 3, 4, 5, 1, 6), (2, 4, 3, 0, 5, 6)) - del tmp51 - tmp448 = einsum(tmp447, (0, 1, 2, 3, 4, 5), t1.bb, (3, 6), (1, 0, 2, 5, 4, 6)) - del tmp447 - t3new.abaaba += np.transpose(tmp448, (1, 2, 0, 4, 5, 3)) * -2 - del tmp448 - t3new.abaaba += np.transpose(tmp440, (1, 2, 0, 3, 5, 4)) * -2 - t3new.abaaba += np.transpose(tmp441, (1, 2, 0, 3, 5, 4)) * -2 - t3new.abaaba += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), tmp294, (5, 6), (0, 1, 2, 3, 4, 6)) * 2 - del tmp294 - tmp449 = einsum(tmp67, (0, 1, 2, 3), t3.abaaba, (3, 4, 2, 5, 6, 7), (0, 1, 4, 5, 7, 6)) * -1 - t3new.abaaba += np.transpose(tmp449, (1, 2, 0, 4, 5, 3)) * -2 - tmp451 = einsum(t2.abab, (0, 1, 2, 3), tmp450, (4, 5, 6, 3), (4, 0, 1, 2, 5, 6)) - t3new.abaaba += np.transpose(tmp451, (1, 2, 0, 3, 5, 4)) - tmp452 = einsum(tmp74, (0, 1), t3.abaaba, (2, 3, 1, 4, 5, 6), (2, 0, 3, 4, 6, 5)) * -2 - del tmp74 - t3new.abaaba += np.transpose(tmp452, (0, 2, 1, 4, 5, 3)) * -2 - tmp453 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), tmp2, (6, 7, 2, 5), (6, 1, 7, 0, 4, 3)) - tmp457 = np.copy(tmp453) - tmp454 = einsum(t2.abab, (0, 1, 2, 3), tmp2, (4, 5, 6, 3), (4, 0, 5, 1, 6, 2)) - tmp455 = einsum(tmp454, (0, 1, 2, 3, 4, 5), t1.bb, (4, 6), (0, 1, 2, 3, 5, 6)) - tmp457 += tmp455 * -1 - del tmp455 - tmp456 = einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), tmp374, (6, 7, 2, 5), (0, 6, 7, 1, 3, 4)) * 2 - del tmp374 - tmp457 += np.transpose(tmp456, (1, 0, 2, 3, 4, 5)) - del tmp456 - tmp458 = einsum(t1.aa, (0, 1), tmp457, (2, 3, 0, 4, 5, 6), (2, 3, 4, 5, 1, 6)) - del tmp457 - t3new.abaaba += np.transpose(tmp458, (1, 2, 0, 3, 5, 4)) * -1 - tmp459 = einsum(t2.abab, (0, 1, 2, 3), tmp309, (4, 5, 0, 6), (4, 5, 1, 6, 2, 3)) - del tmp309 - t3new.abaaba += np.transpose(tmp459, (1, 2, 0, 4, 5, 3)) - tmp460 = einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), tmp136, (6, 2, 7, 1), (0, 6, 7, 3, 5, 4)) - del tmp136 - t3new.abaaba += np.transpose(tmp460, (1, 2, 0, 4, 5, 3)) * 2 - tmp462 = einsum(tmp461, (0, 1, 2, 3), t2.abab, (4, 2, 5, 6), (4, 0, 1, 3, 5, 6)) - del tmp461 - t3new.abaaba += np.transpose(tmp462, (1, 2, 0, 4, 5, 3)) * -1 - t3new.abaaba += einsum(t2.aaaa, (0, 1, 2, 3), tmp463, (4, 5, 3, 6), (0, 4, 1, 2, 6, 5)) * 2 - del tmp463 - tmp464 = einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), tmp31, (1, 6), (0, 2, 6, 3, 5, 4)) - del tmp31 - t3new.abaaba += np.transpose(tmp464, (1, 2, 0, 4, 5, 3)) * -2 - del tmp464 - tmp465 = einsum(tmp22, (0, 1, 2, 3), t3.abaaba, (4, 2, 5, 6, 7, 3), (4, 5, 0, 1, 6, 7)) - tmp467 = np.copy(np.transpose(tmp465, (1, 0, 2, 3, 4, 5))) * -1 - tmp466 = einsum(t2.aaaa, (0, 1, 2, 3), tmp22, (4, 5, 6, 3), (0, 1, 4, 5, 6, 2)) - tmp467 += einsum(tmp466, (0, 1, 2, 3, 4, 5), t1.bb, (4, 6), (1, 0, 2, 3, 5, 6)) * -1 - t3new.abaaba += einsum(t1.aa, (0, 1), tmp467, (2, 3, 0, 4, 5, 6), (3, 4, 2, 5, 6, 1)) * -2 - del tmp467 - tmp468 = einsum(tmp139, (0, 1, 2, 3), t3.abaaba, (4, 3, 1, 5, 6, 7), (0, 4, 2, 5, 7, 6)) - del tmp139 - t3new.abaaba += np.transpose(tmp468, (0, 2, 1, 4, 5, 3)) * 2 - tmp469 = einsum(t2.abab, (0, 1, 2, 3), tmp141, (4, 5, 1, 6), (4, 0, 5, 6, 2, 3)) - del tmp141 - t3new.abaaba += np.transpose(tmp469, (0, 2, 1, 4, 5, 3)) * -1 - t3new.abaaba += np.transpose(tmp451, (0, 2, 1, 3, 5, 4)) * -1 - del tmp451 - t3new.abaaba += np.transpose(tmp452, (1, 2, 0, 4, 5, 3)) * 2 - del tmp452 - t3new.abaaba += np.transpose(tmp458, (0, 2, 1, 3, 5, 4)) - del tmp458 - tmp471 = einsum(tmp470, (0, 1, 2, 3), t2.abab, (4, 5, 6, 3), (4, 0, 1, 5, 6, 2)) - tmp472 = einsum(t1.aa, (0, 1), tmp471, (2, 3, 0, 4, 5, 6), (2, 3, 4, 1, 5, 6)) - del tmp471 - t3new.abaaba += np.transpose(tmp472, (1, 2, 0, 4, 5, 3)) * -1 - tmp474 = np.copy(np.transpose(tmp428, (0, 2, 1, 3))) * -1 - del tmp428 - tmp474 += np.transpose(tmp163, (0, 2, 1, 3)) * 2 - tmp474 += np.transpose(tmp131, (0, 2, 1, 3)) * 2 - tmp474 += np.transpose(tmp132, (0, 2, 1, 3)) * 2 - tmp474 += einsum(t2.abab, (0, 1, 2, 3), tmp473, (1, 4, 5, 3), (0, 5, 4, 2)) - tmp474 += tmp133 - t3new.abaaba += einsum(t2.abab, (0, 1, 2, 3), tmp474, (4, 1, 5, 6), (0, 5, 4, 6, 3, 2)) - del tmp474 - tmp477 = np.copy(tmp475) * 0.5 - tmp477 += tmp476 - t3new.abaaba += einsum(t2.abab, (0, 1, 2, 3), tmp477, (4, 5, 6, 3), (4, 1, 0, 2, 6, 5)) * 2 - del tmp477 - tmp478 = np.copy(np.transpose(tmp38, (1, 0, 2, 3))) * -0.5 - del tmp38 - tmp478 += np.transpose(tmp97, (2, 1, 0, 3)) * 0.5 - del tmp97 - tmp478 += np.transpose(tmp59, (2, 1, 0, 3)) * 3 - del tmp59 - tmp478 += np.transpose(tmp60, (2, 1, 0, 3)) - del tmp60 - tmp478 += np.transpose(tmp326, (1, 0, 2, 3)) - del tmp326 - tmp478 += np.transpose(tmp61, (0, 2, 1, 3)) * -1 - del tmp61 - t3new.abaaba += einsum(t2.abab, (0, 1, 2, 3), tmp478, (0, 4, 5, 6), (4, 1, 5, 6, 3, 2)) * 2 - del tmp478 - tmp481 = np.copy(tmp479) * 0.5 - tmp481 += tmp480 - t3new.abaaba += einsum(tmp481, (0, 1, 2, 3), t2.aaaa, (4, 5, 6, 2), (4, 0, 5, 6, 3, 1)) * -4 - del tmp481 - tmp483 = einsum(tmp482, (0, 1, 2, 3), t2.aaaa, (4, 5, 6, 2), (0, 4, 5, 1, 6, 3)) * -1 - del tmp482 - tmp484 = einsum(t1.aa, (0, 1), tmp483, (0, 2, 3, 4, 5, 6), (3, 2, 4, 5, 1, 6)) - del tmp483 - t3new.abaaba += np.transpose(tmp484, (1, 2, 0, 3, 5, 4)) * 2 - tmp485 = einsum(tmp317, (0, 1, 2, 3), t2.abab, (4, 5, 3, 6), (0, 4, 5, 1, 2, 6)) - del tmp317 - t3new.abaaba += np.transpose(tmp485, (0, 2, 1, 4, 5, 3)) * 2 - tmp487 = np.copy(tmp146) * -1 - tmp486 = einsum(t2.abab, (0, 1, 2, 3), tmp198, (4, 2), (4, 0, 1, 3)) - del tmp198 - tmp487 += np.transpose(tmp486, (1, 0, 2, 3)) - tmp488 = einsum(tmp487, (0, 1, 2, 3), t2.aaaa, (4, 1, 5, 6), (0, 4, 2, 5, 6, 3)) * -1 - del tmp487 - t3new.abaaba += np.transpose(tmp488, (1, 2, 0, 4, 5, 3)) * -2 - del tmp488 - t3new.abaaba += np.transpose(tmp472, (0, 2, 1, 4, 5, 3)) - tmp489 = np.copy(np.transpose(tmp149, (0, 2, 1, 3))) * -1 - tmp489 += np.transpose(tmp131, (0, 2, 1, 3)) * 2 - tmp489 += np.transpose(tmp132, (0, 2, 1, 3)) * 2 - tmp489 += tmp133 - del tmp133 - t3new.abaaba += einsum(t2.abab, (0, 1, 2, 3), tmp489, (4, 1, 5, 6), (4, 5, 0, 6, 3, 2)) * -1 - del tmp489 - tmp490 = np.copy(tmp475) - tmp490 += tmp476 * 2 - t3new.abaaba += einsum(tmp490, (0, 1, 2, 3), t2.abab, (4, 5, 6, 3), (4, 5, 0, 6, 2, 1)) * -1 - del tmp490 - tmp491 = np.copy(np.transpose(tmp120, (1, 0, 2, 3))) * -1 - del tmp120 - tmp491 += np.transpose(tmp159, (1, 0, 2, 3)) * 2 - del tmp159 - tmp491 += np.transpose(tmp161, (1, 0, 2, 3)) - del tmp161 - tmp491 += tmp486 - del tmp486 - tmp492 = einsum(tmp491, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 6), (1, 4, 2, 5, 6, 3)) * -1 - del tmp491 - t3new.abaaba += np.transpose(tmp492, (0, 2, 1, 4, 5, 3)) * 2 - del tmp492 - t3new.abaaba += np.transpose(tmp485, (1, 2, 0, 4, 5, 3)) * -2 - del tmp485 - tmp493 = einsum(t1.aa, (0, 1), tmp423, (2, 3, 0, 4, 5, 6), (2, 3, 4, 5, 1, 6)) - del tmp423 - tmp494 = einsum(t1.bb, (0, 1), tmp493, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 6, 1)) - del tmp493 - t3new.abaaba += np.transpose(tmp494, (1, 2, 0, 3, 5, 4)) - tmp495 = np.copy(tmp419) * -0.5 - del tmp419 - tmp495 += tmp475 - tmp495 += tmp476 * 0.5 - tmp496 = einsum(tmp495, (0, 1, 2, 3), t2.abab, (4, 5, 6, 3), (0, 4, 5, 1, 6, 2)) * 2 - del tmp495 - t3new.abaaba += np.transpose(tmp496, (0, 2, 1, 3, 5, 4)) * -1 - tmp498 = np.copy(tmp131) - del tmp131 - tmp498 += tmp132 - del tmp132 - tmp497 = einsum(t2.abab, (0, 1, 2, 3), tmp17, (4, 3), (0, 4, 1, 2)) * 0.5 - del tmp17 - tmp498 += np.transpose(tmp497, (0, 2, 1, 3)) - del tmp497 - tmp499 = einsum(tmp498, (0, 1, 2, 3), t2.abab, (4, 2, 5, 6), (0, 4, 1, 3, 5, 6)) * 2 - del tmp498 - t3new.abaaba += np.transpose(tmp499, (1, 2, 0, 4, 5, 3)) * -1 - tmp500 = np.copy(tmp426) * -1 - del tmp426 - tmp500 += tmp479 * 2 - tmp500 += tmp480 - t3new.abaaba += einsum(tmp500, (0, 1, 2, 3), t2.aaaa, (4, 5, 6, 2), (4, 0, 5, 1, 3, 6)) * 2 - del tmp500 - t3new.abaaba += einsum(t2.abab, (0, 1, 2, 3), tmp62, (0, 4, 5, 6), (5, 1, 4, 2, 3, 6)) * -2 - del tmp62 - tmp501 = einsum(t2.aaaa, (0, 1, 2, 3), v.aabb.vvoo, (4, 3, 5, 6), (0, 1, 5, 6, 2, 4)) - tmp502 = np.copy(np.transpose(tmp501, (1, 0, 3, 2, 4, 5))) * -1 - tmp502 += einsum(t1.aa, (0, 1), tmp432, (2, 3, 0, 4, 5, 6), (3, 2, 5, 4, 6, 1)) - del tmp432 - t3new.abaaba += einsum(tmp502, (0, 1, 2, 3, 4, 5), t1.bb, (2, 6), (1, 3, 0, 5, 6, 4)) * -2 - del tmp502 - t3new.abaaba += np.transpose(tmp494, (0, 2, 1, 3, 5, 4)) * -1 - del tmp494 - t3new.abaaba += np.transpose(tmp496, (1, 2, 0, 3, 5, 4)) - del tmp496 - t3new.abaaba += np.transpose(tmp499, (0, 2, 1, 4, 5, 3)) - del tmp499 - tmp503 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovoo, (4, 5, 6, 1), (0, 4, 6, 2, 5, 3)) - t3new.abaaba += np.transpose(tmp503, (0, 2, 1, 4, 5, 3)) - tmp504 = einsum(v.aaaa.ooov, (0, 1, 2, 3), t2.abab, (1, 4, 5, 6), (0, 2, 4, 5, 3, 6)) - t3new.abaaba += np.transpose(tmp504, (0, 2, 1, 4, 5, 3)) - t3new.abaaba += np.transpose(tmp504, (1, 2, 0, 4, 5, 3)) * -1 - tmp506 = np.copy(v.aaaa.oovv) * -1 - tmp506 += tmp53 - tmp505 = einsum(t2.aaaa, (0, 1, 2, 3), tmp319, (1, 4, 3, 5), (4, 0, 5, 2)) * 2 - del tmp319 - tmp506 += np.transpose(tmp505, (1, 0, 3, 2)) * -1 - tmp507 = einsum(tmp506, (0, 1, 2, 3), t3.abaaba, (4, 5, 1, 6, 7, 3), (4, 0, 5, 6, 2, 7)) - del tmp506 - t3new.abaaba += np.transpose(tmp507, (0, 2, 1, 4, 5, 3)) * -2 - tmp508 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), tmp340, (6, 2, 7, 5), (1, 6, 0, 4, 7, 3)) * 2 - t3new.abaaba += np.transpose(tmp508, (0, 2, 1, 4, 5, 3)) * -1 - tmp510 = np.copy(np.transpose(tmp422, (0, 2, 1, 3, 4, 5))) - tmp509 = einsum(tmp102, (0, 1, 2, 3), t3.abaaba, (4, 5, 2, 6, 7, 3), (4, 0, 1, 5, 6, 7)) * 0.5 - del tmp102 - tmp510 += np.transpose(tmp509, (0, 2, 1, 3, 4, 5)) - del tmp509 - tmp511 = einsum(t1.aa, (0, 1), tmp510, (2, 0, 3, 4, 5, 6), (2, 3, 4, 5, 1, 6)) * 2 - del tmp510 - t3new.abaaba += np.transpose(tmp511, (0, 2, 1, 4, 5, 3)) - tmp512 = einsum(t2.abab, (0, 1, 2, 3), tmp321, (4, 5, 6, 2), (4, 5, 0, 1, 6, 3)) - tmp513 = einsum(tmp512, (0, 1, 2, 3, 4, 5), t1.aa, (1, 6), (0, 2, 3, 4, 6, 5)) * 2 - del tmp512 - t3new.abaaba += np.transpose(tmp513, (1, 2, 0, 3, 5, 4)) - tmp514 = einsum(v.aabb.ooov, (0, 1, 2, 3), t2.aaaa, (4, 1, 5, 6), (4, 0, 2, 5, 6, 3)) - t3new.abaaba += np.transpose(tmp514, (0, 2, 1, 4, 5, 3)) * 2 - tmp515 = einsum(t1.aa, (0, 1), tmp431, (2, 3, 0, 4, 5, 6), (2, 3, 4, 1, 5, 6)) - del tmp431 - t3new.abaaba += np.transpose(tmp515, (1, 2, 0, 3, 5, 4)) * 2 - del tmp515 - t3new.abaaba += np.transpose(tmp503, (1, 2, 0, 4, 5, 3)) * -1 - tmp517 = einsum(tmp516, (0, 1, 2, 3), t3.abaaba, (4, 0, 5, 6, 7, 2), (4, 5, 1, 6, 3, 7)) * -1 - del tmp516 - t3new.abaaba += np.transpose(tmp517, (1, 2, 0, 4, 5, 3)) * -2 - del tmp517 - t3new.abaaba += np.transpose(tmp514, (1, 2, 0, 4, 5, 3)) * -2 - del tmp514 - tmp518 = einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), v.aabb.ooov, (6, 2, 7, 4), (0, 6, 1, 7, 3, 5)) - tmp519 = einsum(t1.bb, (0, 1), tmp518, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 6, 1)) - del tmp518 - t3new.abaaba += np.transpose(tmp519, (1, 2, 0, 4, 5, 3)) * 2 - tmp520 = np.copy(v.aabb.oovv) * -1 - tmp520 += np.transpose(tmp470, (1, 0, 3, 2)) - del tmp470 - tmp521 = einsum(tmp520, (0, 1, 2, 3), t3.abaaba, (4, 5, 0, 6, 2, 7), (4, 1, 5, 6, 7, 3)) * -1 - del tmp520 - t3new.abaaba += np.transpose(tmp521, (1, 2, 0, 4, 5, 3)) * -2 - t3new.abaaba += np.transpose(tmp503, (0, 2, 1, 3, 5, 4)) * -1 - t3new.abaaba += np.transpose(tmp504, (0, 2, 1, 3, 5, 4)) * -1 - tmp522 = einsum(v.aaaa.oovv, (0, 1, 2, 3), t3.abaaba, (4, 5, 1, 6, 7, 3), (4, 0, 5, 6, 2, 7)) - t3new.abaaba += np.transpose(tmp522, (0, 2, 1, 3, 5, 4)) * -2 - t3new.abaaba += np.transpose(tmp504, (1, 2, 0, 3, 5, 4)) - del tmp504 - t3new.abaaba += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), v.aabb.vvoo, (6, 5, 7, 1), (0, 7, 2, 3, 4, 6)) * -2 - t3new.abaaba += np.transpose(tmp503, (1, 2, 0, 3, 5, 4)) - del tmp503 - t3new.abaaba += np.transpose(tmp472, (0, 2, 1, 3, 5, 4)) * -1 - tmp523 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 6, 3), (0, 4, 1, 6, 2, 5)) - tmp524 = einsum(tmp523, (0, 1, 2, 3, 4, 5), t1.bb, (3, 6), (0, 1, 2, 4, 5, 6)) - del tmp523 - t3new.abaaba += np.transpose(tmp524, (0, 2, 1, 4, 5, 3)) - tmp526 = np.copy(v.aabb.ovvv) - tmp526 += np.transpose(tmp525, (0, 1, 3, 2)) * -1 - tmp527 = einsum(tmp526, (0, 1, 2, 3), t2.abab, (4, 5, 6, 2), (0, 4, 5, 1, 6, 3)) - del tmp526 - t3new.abaaba += np.transpose(tmp527, (1, 2, 0, 3, 5, 4)) * -1 - tmp528 = einsum(t2.aaaa, (0, 1, 2, 3), v.aabb.vvov, (4, 3, 5, 6), (0, 1, 5, 2, 4, 6)) - t3new.abaaba += np.transpose(tmp528, (1, 2, 0, 4, 5, 3)) * 2 - tmp529 = einsum(t2.abab, (0, 1, 2, 3), v.aaaa.ovvv, (4, 5, 6, 2), (0, 4, 1, 5, 6, 3)) - t3new.abaaba += np.transpose(tmp529, (0, 2, 1, 4, 5, 3)) - t3new.abaaba += np.transpose(tmp529, (0, 2, 1, 3, 5, 4)) * -1 - tmp530 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.abab, (4, 5, 3, 6), (4, 0, 2, 5, 1, 6)) - tmp531 = einsum(t1.aa, (0, 1), tmp530, (2, 3, 0, 4, 5, 6), (2, 3, 4, 1, 5, 6)) - del tmp530 - t3new.abaaba += np.transpose(tmp531, (0, 2, 1, 4, 5, 3)) - t3new.abaaba += np.transpose(tmp472, (1, 2, 0, 3, 5, 4)) - del tmp472 - t3new.abaaba += np.transpose(tmp524, (1, 2, 0, 4, 5, 3)) * -1 - t3new.abaaba += np.transpose(tmp527, (0, 2, 1, 3, 5, 4)) - del tmp527 - t3new.abaaba += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), v.aaaa.vvvv, (6, 3, 7, 5), (0, 1, 2, 6, 4, 7)) * 2 - tmp532 = einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), v.aaaa.ovov, (6, 5, 7, 3), (0, 2, 6, 7, 1, 4)) * -1 - tmp533 = einsum(t2.aaaa, (0, 1, 2, 3), tmp532, (4, 5, 1, 0, 6, 7), (4, 5, 6, 2, 3, 7)) * -1 - t3new.abaaba += np.transpose(tmp533, (1, 2, 0, 4, 5, 3)) * 2 - del tmp533 - t3new.abaaba += np.transpose(tmp529, (1, 2, 0, 4, 5, 3)) * -1 - tmp534 = einsum(v.aaaa.ovvv, (0, 1, 2, 3), t3.abaaba, (4, 5, 6, 3, 7, 1), (4, 6, 0, 5, 2, 7)) * -1 - tmp535 = np.copy(np.transpose(tmp534, (1, 0, 2, 3, 4, 5))) * -1 - tmp535 += einsum(t1.aa, (0, 1), tmp532, (2, 3, 4, 0, 5, 6), (3, 2, 4, 5, 1, 6)) - del tmp532 - t3new.abaaba += einsum(t1.aa, (0, 1), tmp535, (2, 3, 0, 4, 5, 6), (3, 4, 2, 5, 6, 1)) * -2 - del tmp535 - t3new.abaaba += np.transpose(tmp529, (1, 2, 0, 3, 5, 4)) - del tmp529 - t3new.abaaba += np.transpose(tmp531, (1, 2, 0, 4, 5, 3)) * -1 - tmp536 = einsum(v.aabb.ovvv, (0, 1, 2, 3), t2.abab, (4, 5, 6, 3), (4, 0, 5, 6, 1, 2)) - t3new.abaaba += np.transpose(tmp536, (0, 2, 1, 3, 5, 4)) - t3new.abaaba += np.transpose(tmp528, (1, 2, 0, 3, 5, 4)) * -2 - del tmp528 - tmp537 = einsum(t2.aaaa, (0, 1, 2, 3), v.aabb.ovov, (4, 3, 5, 6), (0, 1, 4, 5, 2, 6)) - tmp538 = einsum(t1.aa, (0, 1), tmp537, (2, 3, 0, 4, 5, 6), (2, 3, 4, 1, 5, 6)) - del tmp537 - t3new.abaaba += np.transpose(tmp538, (1, 2, 0, 4, 5, 3)) * 2 - tmp539 = einsum(v.aabb.ovvv, (0, 1, 2, 3), t3.abaaba, (4, 5, 6, 7, 3, 1), (4, 6, 0, 5, 7, 2)) - tmp540 = einsum(t1.aa, (0, 1), tmp539, (2, 3, 0, 4, 5, 6), (2, 3, 4, 1, 5, 6)) - del tmp539 - t3new.abaaba += np.transpose(tmp540, (1, 2, 0, 4, 5, 3)) * 2 - tmp541 = einsum(v.aabb.vvvv, (0, 1, 2, 3), t3.abaaba, (4, 5, 6, 7, 3, 1), (4, 6, 5, 7, 0, 2)) - t3new.abaaba += np.transpose(tmp541, (1, 2, 0, 3, 5, 4)) * -2 - t3new.abaaba += np.transpose(tmp536, (1, 2, 0, 3, 5, 4)) * -1 - del tmp536 - t3new.abaaba += np.transpose(tmp427, (0, 2, 1, 4, 5, 3)) * -2 - del tmp427 - t3new.abaaba += np.transpose(tmp429, (0, 2, 1, 4, 5, 3)) - del tmp429 - t3new.abaaba += np.transpose(tmp418, (1, 2, 0, 4, 5, 3)) - del tmp418 - t3new.abaaba += np.transpose(tmp441, (0, 2, 1, 4, 5, 3)) * -2 - t3new.abaaba += np.transpose(tmp440, (0, 2, 1, 4, 5, 3)) * -2 - tmp542 = einsum(tmp98, (0, 1, 2, 3), t3.abaaba, (4, 5, 2, 6, 7, 3), (4, 0, 1, 5, 6, 7)) - del tmp98 - tmp543 = einsum(t1.aa, (0, 1), tmp542, (2, 3, 0, 4, 5, 6), (2, 3, 4, 5, 1, 6)) - del tmp542 - t3new.abaaba += np.transpose(tmp543, (0, 2, 1, 4, 5, 3)) - t3new.abaaba += np.transpose(tmp519, (0, 2, 1, 4, 5, 3)) * -2 - del tmp519 - t3new.abaaba += np.transpose(tmp521, (0, 2, 1, 4, 5, 3)) * 2 - del tmp521 - tmp544 = einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), v.aabb.ovov, (2, 5, 6, 7), (0, 1, 6, 3, 4, 7)) - t3new.abaaba += np.transpose(tmp544, (1, 2, 0, 4, 5, 3)) * 6 - del tmp544 - tmp545 = einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), v.bbbb.ovov, (6, 7, 1, 4), (0, 2, 6, 3, 5, 7)) - t3new.abaaba += np.transpose(tmp545, (1, 2, 0, 4, 5, 3)) * 2 - del tmp545 - tmp548 = np.copy(v.bbbb.oovv) * -0.499999999999995 - tmp548 += np.transpose(tmp200, (1, 0, 3, 2)) * 0.5 - del tmp200 - tmp548 += np.transpose(tmp547, (1, 0, 3, 2)) - del tmp547 - tmp549 = einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), tmp548, (1, 6, 4, 7), (0, 2, 6, 3, 5, 7)) * 2 - del tmp548 - t3new.abaaba += np.transpose(tmp549, (1, 2, 0, 4, 5, 3)) * 2 - del tmp549 - tmp551 = np.copy(tmp126) * 2 - del tmp126 - tmp551 += tmp550 - del tmp550 - tmp552 = einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), tmp551, (2, 6, 5, 7), (0, 1, 6, 3, 4, 7)) * 3 - del tmp551 - t3new.abaaba += np.transpose(tmp552, (0, 2, 1, 3, 5, 4)) * 2 - del tmp552 - tmp553 = einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), v.aabb.ovoo, (2, 5, 6, 7), (0, 1, 6, 7, 3, 4)) - tmp555 = np.copy(np.transpose(tmp553, (1, 0, 3, 2, 5, 4))) * 3 - del tmp553 - tmp554 = einsum(tmp164, (0, 1, 2, 3), t3.abaaba, (4, 0, 5, 6, 3, 7), (4, 5, 1, 2, 6, 7)) - del tmp164 - tmp555 += np.transpose(tmp554, (1, 0, 3, 2, 5, 4)) - del tmp554 - tmp556 = einsum(tmp555, (0, 1, 2, 3, 4, 5), t1.bb, (2, 6), (0, 1, 3, 4, 5, 6)) - del tmp555 - t3new.abaaba += np.transpose(tmp556, (1, 2, 0, 4, 5, 3)) * -2 - del tmp556 - t3new.abaaba += np.transpose(tmp507, (1, 2, 0, 4, 5, 3)) * 2 - del tmp507 - t3new.abaaba += np.transpose(tmp508, (1, 2, 0, 4, 5, 3)) - del tmp508 - t3new.abaaba += np.transpose(tmp511, (1, 2, 0, 4, 5, 3)) * -1 - del tmp511 - t3new.abaaba += np.transpose(tmp513, (0, 2, 1, 3, 5, 4)) * -1 - del tmp513 - t3new.abaaba += np.transpose(tmp543, (1, 2, 0, 4, 5, 3)) * -1 - del tmp543 - t3new.abaaba += np.transpose(tmp441, (0, 2, 1, 3, 5, 4)) * 2 - del tmp441 - t3new.abaaba += np.transpose(tmp440, (0, 2, 1, 3, 5, 4)) * 2 - del tmp440 - t3new.abaaba += np.transpose(tmp522, (1, 2, 0, 3, 5, 4)) * 2 - del tmp522 - t3new.abaaba += np.transpose(tmp435, (1, 2, 0, 3, 5, 4)) * 2 - del tmp435 - t3new.abaaba += np.transpose(tmp541, (1, 2, 0, 4, 5, 3)) * 2 - del tmp541 - tmp557 = einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), v.aabb.vvov, (6, 5, 7, 4), (0, 2, 1, 7, 3, 6)) - tmp558 = np.copy(np.transpose(tmp557, (1, 0, 2, 3, 4, 5))) * -1 - tmp558 += einsum(t1.aa, (0, 1), tmp434, (2, 3, 0, 4, 5, 6), (3, 2, 4, 5, 6, 1)) - del tmp434 - t3new.abaaba += einsum(tmp558, (0, 1, 2, 3, 4, 5), t1.bb, (3, 6), (1, 2, 0, 5, 6, 4)) * -2 - del tmp558 - t3new.abaaba += einsum(t2.abab, (0, 1, 2, 3), tmp367, (0, 4, 5, 6), (5, 1, 4, 6, 3, 2)) - del tmp367 - tmp560 = einsum(tmp559, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 6), (1, 4, 2, 5, 6, 3)) * -1 - del tmp559 - t3new.abaaba += np.transpose(tmp560, (1, 2, 0, 4, 5, 3)) * -2 - del tmp560 - t3new.abaaba += einsum(t2.abab, (0, 1, 2, 3), tmp561, (4, 1, 5, 6), (4, 5, 0, 6, 3, 2)) * -1 - del tmp561 - tmp562 = einsum(t2.abab, (0, 1, 2, 3), tmp22, (4, 5, 1, 6), (0, 4, 5, 2, 6, 3)) - t3new.abaaba += np.transpose(tmp562, (0, 2, 1, 4, 5, 3)) - tmp563 = einsum(t2.abab, (0, 1, 2, 3), tmp0, (4, 5, 0, 6), (4, 5, 1, 2, 6, 3)) - t3new.abaaba += np.transpose(tmp563, (0, 2, 1, 4, 5, 3)) - tmp566 = np.copy(np.transpose(tmp65, (0, 2, 1, 3))) - tmp566 += np.transpose(tmp81, (0, 2, 1, 3)) * -1 - tmp564 = np.copy(tmp0) - tmp564 += np.transpose(tmp0, (0, 2, 1, 3)) * -1 - tmp566 += einsum(t2.aaaa, (0, 1, 2, 3), tmp564, (4, 5, 1, 3), (4, 5, 0, 2)) * 2 - del tmp564 - tmp565 = np.copy(np.transpose(tmp67, (0, 2, 1, 3))) - tmp565 += np.transpose(tmp67, (0, 3, 2, 1)) * -1 - tmp566 += einsum(tmp565, (0, 1, 2, 3), t1.aa, (1, 4), (0, 3, 2, 4)) - del tmp565 - t3new.abaaba += einsum(t2.abab, (0, 1, 2, 3), tmp566, (4, 0, 5, 6), (4, 1, 5, 6, 3, 2)) * -1 - del tmp566 - tmp568 = einsum(tmp567, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 6), (1, 4, 2, 5, 6, 3)) * -1 - del tmp567 - t3new.abaaba += np.transpose(tmp568, (1, 2, 0, 4, 5, 3)) * 2 - tmp569 = einsum(t2.abab, (0, 1, 2, 3), v.aaaa.oovv, (4, 5, 6, 2), (0, 4, 5, 1, 6, 3)) - tmp570 = einsum(t1.aa, (0, 1), tmp569, (2, 3, 0, 4, 5, 6), (2, 3, 4, 1, 5, 6)) - del tmp569 - t3new.abaaba += np.transpose(tmp570, (0, 2, 1, 4, 5, 3)) * -1 - tmp571 = einsum(t2.abab, (0, 1, 2, 3), v.aaaa.ooov, (4, 5, 6, 2), (0, 4, 5, 6, 1, 3)) - tmp572 = einsum(t1.aa, (0, 1), tmp571, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 1, 6)) - del tmp571 - tmp573 = einsum(t1.aa, (0, 1), tmp572, (2, 3, 0, 4, 5, 6), (2, 3, 4, 1, 5, 6)) - del tmp572 - t3new.abaaba += np.transpose(tmp573, (0, 2, 1, 3, 5, 4)) * -1 - t3new.abaaba += np.transpose(tmp573, (0, 2, 1, 4, 5, 3)) - tmp574 = np.copy(tmp127) - del tmp127 - tmp574 += tmp128 - del tmp128 - tmp575 = einsum(tmp574, (0, 1, 2, 3), t2.aaaa, (4, 1, 5, 6), (0, 4, 2, 5, 6, 3)) * -2 - del tmp574 - t3new.abaaba += np.transpose(tmp575, (0, 2, 1, 4, 5, 3)) * 2 - tmp577 = einsum(t2.abab, (0, 1, 2, 3), tmp576, (4, 1, 5, 6), (4, 0, 5, 6, 2, 3)) - del tmp576 - t3new.abaaba += np.transpose(tmp577, (1, 2, 0, 3, 5, 4)) * -1 - t3new.abaaba += np.transpose(tmp577, (0, 2, 1, 3, 5, 4)) - del tmp577 - tmp578 = einsum(tmp2, (0, 1, 2, 3), t2.aaaa, (4, 1, 5, 6), (0, 4, 2, 5, 6, 3)) - t3new.abaaba += np.transpose(tmp578, (1, 2, 0, 4, 5, 3)) * 2 - tmp579 = einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), tmp182, (6, 2, 7, 4), (6, 0, 1, 3, 5, 7)) - t3new.abaaba += np.transpose(tmp579, (0, 2, 1, 4, 5, 3)) * -2 - t3new.abaaba += np.transpose(tmp578, (0, 2, 1, 4, 5, 3)) * -2 - del tmp578 - tmp580 = einsum(tmp2, (0, 1, 2, 3), t3.abaaba, (4, 5, 1, 6, 3, 7), (0, 4, 5, 2, 6, 7)) - del tmp2 - tmp581 = einsum(tmp580, (0, 1, 2, 3, 4, 5), t1.bb, (3, 6), (0, 1, 2, 4, 5, 6)) - del tmp580 - t3new.abaaba += np.transpose(tmp581, (0, 2, 1, 4, 5, 3)) * 2 - t3new.abaaba += np.transpose(tmp563, (1, 2, 0, 4, 5, 3)) * -1 - tmp582 = einsum(tmp76, (0, 1, 2, 3), t3.babbab, (4, 5, 1, 6, 7, 3), (0, 5, 4, 7, 2, 6)) - t3new.abaaba += np.transpose(tmp582, (1, 2, 0, 4, 5, 3)) * -2 - tmp583 = einsum(tmp80, (0, 1, 2, 3), t3.abaaba, (4, 5, 0, 6, 7, 3), (4, 1, 5, 6, 2, 7)) * -1 - t3new.abaaba += np.transpose(tmp583, (0, 2, 1, 4, 5, 3)) * -1 - tmp585 = np.copy(tmp453) * 2 - tmp584 = einsum(tmp82, (0, 1, 2, 3), t3.abaaba, (4, 5, 2, 6, 7, 3), (4, 0, 1, 5, 6, 7)) - del tmp82 - tmp585 += np.transpose(tmp584, (1, 0, 2, 3, 4, 5)) - tmp586 = einsum(t1.aa, (0, 1), tmp585, (2, 3, 0, 4, 5, 6), (2, 3, 4, 5, 1, 6)) - del tmp585 - t3new.abaaba += np.transpose(tmp586, (1, 2, 0, 4, 5, 3)) - tmp588 = np.copy(np.transpose(tmp65, (0, 2, 1, 3))) - tmp588 += np.transpose(tmp81, (0, 2, 1, 3)) * -1 - tmp588 += einsum(t2.aaaa, (0, 1, 2, 3), tmp172, (4, 5, 1, 3), (4, 5, 0, 2)) * 2 - del tmp172 - tmp587 = np.copy(np.transpose(tmp67, (0, 2, 1, 3))) - tmp587 += np.transpose(tmp67, (0, 3, 2, 1)) * -1 - del tmp67 - tmp588 += einsum(tmp587, (0, 1, 2, 3), t1.aa, (1, 4), (0, 3, 2, 4)) - del tmp587 - t3new.abaaba += einsum(tmp588, (0, 1, 2, 3), t2.abab, (1, 4, 5, 6), (2, 4, 0, 3, 6, 5)) - del tmp588 - tmp589 = einsum(t1.aa, (0, 1), tmp465, (2, 3, 0, 4, 5, 6), (2, 3, 4, 1, 5, 6)) - del tmp465 - t3new.abaaba += np.transpose(tmp589, (1, 2, 0, 3, 5, 4)) * 2 - del tmp589 - tmp590 = einsum(tmp144, (0, 1, 2, 3), t3.abaaba, (4, 1, 5, 6, 7, 3), (4, 5, 0, 6, 2, 7)) - t3new.abaaba += np.transpose(tmp590, (1, 2, 0, 4, 5, 3)) * -2 - t3new.abaaba += np.transpose(tmp562, (1, 2, 0, 4, 5, 3)) * -1 - t3new.abaaba += np.transpose(tmp568, (0, 2, 1, 4, 5, 3)) * -2 - del tmp568 - t3new.abaaba += np.transpose(tmp570, (1, 2, 0, 4, 5, 3)) - t3new.abaaba += np.transpose(tmp573, (1, 2, 0, 3, 5, 4)) - t3new.abaaba += np.transpose(tmp573, (1, 2, 0, 4, 5, 3)) * -1 - del tmp573 - t3new.abaaba += np.transpose(tmp575, (1, 2, 0, 4, 5, 3)) * -2 - del tmp575 - tmp591 = einsum(v.aabb.oovv, (0, 1, 2, 3), t2.abab, (4, 5, 6, 3), (4, 0, 1, 5, 6, 2)) - tmp592 = einsum(t1.aa, (0, 1), tmp591, (2, 3, 0, 4, 5, 6), (2, 3, 4, 1, 5, 6)) - del tmp591 - t3new.abaaba += np.transpose(tmp592, (0, 2, 1, 3, 5, 4)) - tmp593 = einsum(t2.abab, (0, 1, 2, 3), tmp476, (4, 5, 6, 3), (0, 4, 1, 2, 5, 6)) - del tmp476 - t3new.abaaba += np.transpose(tmp593, (0, 2, 1, 4, 5, 3)) - tmp595 = einsum(tmp594, (0, 1, 2, 3), t2.aaaa, (4, 5, 6, 2), (4, 5, 0, 6, 1, 3)) - del tmp594 - t3new.abaaba += np.transpose(tmp595, (1, 2, 0, 4, 5, 3)) * -2 - t3new.abaaba += np.transpose(tmp538, (1, 2, 0, 3, 5, 4)) * -2 - del tmp538 - tmp596 = einsum(tmp147, (0, 1, 2, 3), t2.aaaa, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) - tmp597 = einsum(tmp596, (0, 1, 2, 3, 4, 5), t1.bb, (3, 6), (0, 1, 2, 4, 5, 6)) - del tmp596 - t3new.abaaba += np.transpose(tmp597, (1, 2, 0, 4, 5, 3)) * 2 - t3new.abaaba += np.transpose(tmp592, (0, 2, 1, 4, 5, 3)) * -1 - t3new.abaaba += np.transpose(tmp592, (1, 2, 0, 3, 5, 4)) * -1 - t3new.abaaba += np.transpose(tmp593, (1, 2, 0, 4, 5, 3)) * -1 - del tmp593 - t3new.abaaba += np.transpose(tmp592, (1, 2, 0, 4, 5, 3)) - del tmp592 - t3new.abaaba += np.transpose(tmp562, (0, 2, 1, 3, 5, 4)) * -1 - t3new.abaaba += np.transpose(tmp563, (0, 2, 1, 3, 5, 4)) * -1 - tmp598 = einsum(t2.abab, (0, 1, 2, 3), tmp65, (4, 5, 0, 6), (4, 5, 1, 2, 6, 3)) - del tmp65 - t3new.abaaba += np.transpose(tmp598, (0, 2, 1, 3, 5, 4)) - t3new.abaaba += np.transpose(tmp531, (0, 2, 1, 3, 5, 4)) * -1 - tmp599 = einsum(tmp387, (0, 1, 2, 3), t2.abab, (4, 5, 2, 6), (0, 4, 5, 1, 3, 6)) - del tmp387 - t3new.abaaba += np.transpose(tmp599, (1, 2, 0, 3, 5, 4)) * -1 - t3new.abaaba += np.transpose(tmp570, (0, 2, 1, 3, 5, 4)) - t3new.abaaba += np.transpose(tmp524, (0, 2, 1, 3, 5, 4)) * -1 - t3new.abaaba += einsum(tmp501, (0, 1, 2, 3, 4, 5), t1.bb, (3, 6), (1, 2, 0, 4, 6, 5)) * 2 - del tmp501 - tmp600 = einsum(tmp140, (0, 1, 2, 3), t2.abab, (4, 2, 5, 6), (0, 4, 1, 5, 3, 6)) - del tmp140 - t3new.abaaba += np.transpose(tmp600, (1, 2, 0, 3, 5, 4)) * -1 - t3new.abaaba += np.transpose(tmp600, (0, 2, 1, 3, 5, 4)) - del tmp600 - t3new.abaaba += np.transpose(tmp563, (1, 2, 0, 3, 5, 4)) - del tmp563 - t3new.abaaba += np.transpose(tmp582, (1, 2, 0, 3, 5, 4)) * 2 - tmp601 = einsum(tmp80, (0, 1, 2, 3), t3.abaaba, (4, 5, 0, 6, 7, 3), (4, 1, 5, 6, 2, 7)) * -2 - del tmp80 - t3new.abaaba += np.transpose(tmp601, (0, 2, 1, 3, 5, 4)) - t3new.abaaba += np.transpose(tmp598, (1, 2, 0, 3, 5, 4)) * -1 - del tmp598 - t3new.abaaba += np.transpose(tmp590, (1, 2, 0, 3, 5, 4)) * 2 - del tmp590 - t3new.abaaba += np.transpose(tmp562, (1, 2, 0, 3, 5, 4)) - del tmp562 - t3new.abaaba += np.transpose(tmp531, (1, 2, 0, 3, 5, 4)) - del tmp531 - t3new.abaaba += np.transpose(tmp599, (0, 2, 1, 3, 5, 4)) - t3new.abaaba += np.transpose(tmp570, (1, 2, 0, 3, 5, 4)) * -1 - del tmp570 - t3new.abaaba += np.transpose(tmp524, (1, 2, 0, 3, 5, 4)) - del tmp524 - tmp603 = np.copy(np.transpose(tmp602, (0, 1, 3, 2))) - tmp603 += tmp450 - del tmp450 - t3new.abaaba += einsum(t2.abab, (0, 1, 2, 3), tmp603, (4, 5, 6, 3), (0, 1, 4, 5, 6, 2)) * -1 - del tmp603 - tmp604 = einsum(t2.abab, (0, 1, 2, 3), tmp76, (4, 5, 6, 3), (4, 0, 1, 5, 2, 6)) - del tmp76 - tmp606 = np.copy(tmp604) - tmp605 = einsum(t1.aa, (0, 1), tmp454, (2, 3, 0, 4, 5, 6), (2, 3, 4, 5, 1, 6)) - del tmp454 - tmp606 += np.transpose(tmp605, (0, 1, 2, 3, 5, 4)) * -1 - del tmp605 - tmp607 = einsum(tmp606, (0, 1, 2, 3, 4, 5), t1.bb, (3, 6), (0, 1, 2, 4, 5, 6)) - del tmp606 - t3new.abaaba += np.transpose(tmp607, (1, 2, 0, 4, 5, 3)) - t3new.abaaba += einsum(tmp608, (0, 1, 2, 3), t2.aaaa, (4, 5, 6, 1), (4, 0, 5, 2, 3, 6)) * -2 - del tmp608 - tmp609 = einsum(tmp144, (0, 1, 2, 3), t2.aaaa, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) - del tmp144 - tmp610 = np.copy(np.transpose(tmp609, (1, 0, 2, 3, 4, 5))) * -1 - tmp610 += einsum(tmp466, (0, 1, 2, 3, 4, 5), t1.aa, (2, 6), (1, 0, 3, 4, 5, 6)) - del tmp466 - t3new.abaaba += einsum(t1.bb, (0, 1), tmp610, (2, 3, 4, 0, 5, 6), (3, 4, 2, 6, 1, 5)) * -2 - del tmp610 - tmp611 = einsum(tmp112, (0, 1, 2, 3), t2.abab, (4, 5, 2, 6), (0, 4, 5, 3, 1, 6)) - del tmp112 - tmp615 = np.copy(tmp611) - del tmp611 - tmp612 = einsum(t2.abab, (0, 1, 2, 3), tmp0, (4, 5, 6, 2), (4, 0, 6, 5, 1, 3)) - del tmp0 - tmp613 = einsum(tmp612, (0, 1, 2, 3, 4, 5), t1.aa, (3, 6), (0, 1, 2, 4, 6, 5)) - del tmp612 - tmp614 = einsum(t1.aa, (0, 1), tmp613, (2, 3, 0, 4, 5, 6), (2, 3, 4, 1, 5, 6)) - del tmp613 - tmp615 += tmp614 - del tmp614 - t3new.abaaba += np.transpose(tmp615, (1, 2, 0, 3, 5, 4)) * -1 - t3new.abaaba += np.transpose(tmp615, (1, 2, 0, 4, 5, 3)) - tmp616 = einsum(t2.abab, (0, 1, 2, 3), tmp87, (4, 5, 6, 2), (5, 4, 0, 1, 6, 3)) * -1 - tmp617 = einsum(t1.aa, (0, 1), tmp616, (2, 0, 3, 4, 5, 6), (2, 3, 4, 5, 1, 6)) * -1 - del tmp616 - t3new.abaaba += np.transpose(tmp617, (1, 2, 0, 3, 5, 4)) * -1 - t3new.abaaba += einsum(tmp618, (0, 1, 2, 3), t2.abab, (4, 5, 6, 2), (0, 5, 4, 1, 3, 6)) - del tmp618 - t3new.abaaba += np.transpose(tmp607, (0, 2, 1, 4, 5, 3)) * -1 - del tmp607 - t3new.abaaba += np.transpose(tmp615, (0, 2, 1, 3, 5, 4)) - t3new.abaaba += np.transpose(tmp615, (0, 2, 1, 4, 5, 3)) * -1 - del tmp615 - t3new.abaaba += np.transpose(tmp617, (0, 2, 1, 3, 5, 4)) - tmp619 = einsum(t2.abab, (0, 1, 2, 3), tmp182, (4, 5, 6, 3), (4, 0, 5, 1, 2, 6)) - del tmp182 - tmp620 = einsum(t1.aa, (0, 1), tmp619, (2, 3, 0, 4, 5, 6), (2, 3, 4, 1, 5, 6)) - del tmp619 - t3new.abaaba += np.transpose(tmp620, (1, 2, 0, 4, 5, 3)) * -1 - tmp621 = einsum(t2.abab, (0, 1, 2, 3), tmp602, (4, 5, 6, 3), (4, 0, 1, 2, 5, 6)) - del tmp602 - t3new.abaaba += np.transpose(tmp621, (1, 2, 0, 3, 5, 4)) - tmp622 = einsum(t2.aaaa, (0, 1, 2, 3), tmp143, (4, 5, 3, 6), (0, 1, 4, 5, 2, 6)) - tmp623 = einsum(t1.aa, (0, 1), tmp622, (2, 3, 0, 4, 5, 6), (2, 3, 4, 1, 5, 6)) - del tmp622 - t3new.abaaba += np.transpose(tmp623, (1, 2, 0, 4, 5, 3)) * 2 - t3new.abaaba += einsum(t2.aaaa, (0, 1, 2, 3), tmp151, (4, 5, 3, 6), (0, 4, 1, 2, 6, 5)) * 2 - del tmp151 - t3new.abaaba += np.transpose(tmp620, (0, 2, 1, 4, 5, 3)) - t3new.abaaba += np.transpose(tmp621, (0, 2, 1, 3, 5, 4)) * -1 - del tmp621 - t3new.abaaba += np.transpose(tmp460, (0, 2, 1, 4, 5, 3)) * -2 - del tmp460 - t3new.abaaba += np.transpose(tmp462, (0, 2, 1, 4, 5, 3)) - del tmp462 - t3new.abaaba += np.transpose(tmp449, (0, 2, 1, 4, 5, 3)) * 2 - del tmp449 - t3new.abaaba += np.transpose(tmp459, (0, 2, 1, 4, 5, 3)) * -1 - del tmp459 - tmp624 = einsum(t1.aa, (0, 1), tmp422, (2, 3, 0, 4, 5, 6), (2, 3, 4, 1, 5, 6)) - del tmp422 - t3new.abaaba += np.transpose(tmp624, (0, 2, 1, 4, 5, 3)) * -1 - tmp625 = einsum(t2.abab, (0, 1, 2, 3), tmp266, (4, 5, 6, 2), (0, 4, 1, 5, 6, 3)) - del tmp266 - t3new.abaaba += np.transpose(tmp625, (0, 2, 1, 4, 5, 3)) * 2 - t3new.abaaba += np.transpose(tmp468, (1, 2, 0, 4, 5, 3)) * -2 - del tmp468 - t3new.abaaba += np.transpose(tmp469, (1, 2, 0, 4, 5, 3)) - del tmp469 - t3new.abaaba += np.transpose(tmp624, (1, 2, 0, 4, 5, 3)) - del tmp624 - t3new.abaaba += np.transpose(tmp625, (1, 2, 0, 4, 5, 3)) * -2 - del tmp625 - tmp626 = einsum(tmp87, (0, 1, 2, 3), t3.abaaba, (4, 5, 0, 6, 7, 3), (4, 1, 5, 6, 2, 7)) * -1 - del tmp87 - t3new.abaaba += np.transpose(tmp626, (0, 2, 1, 4, 5, 3)) * -1 - tmp627 = einsum(t1.aa, (0, 1), tmp584, (2, 3, 0, 4, 5, 6), (3, 2, 4, 5, 1, 6)) - del tmp584 - t3new.abaaba += np.transpose(tmp627, (1, 2, 0, 4, 5, 3)) - t3new.abaaba += np.transpose(tmp579, (1, 2, 0, 4, 5, 3)) * 2 - del tmp579 - t3new.abaaba += np.transpose(tmp581, (1, 2, 0, 4, 5, 3)) * -2 - del tmp581 - tmp628 = einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), tmp143, (2, 6, 5, 7), (0, 1, 6, 3, 4, 7)) - del tmp143 - t3new.abaaba += np.transpose(tmp628, (1, 2, 0, 4, 5, 3)) * 6 - del tmp628 - tmp629 = einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), tmp176, (1, 6, 4, 7), (0, 2, 6, 3, 5, 7)) * -1 - del tmp176 - t3new.abaaba += np.transpose(tmp629, (1, 2, 0, 4, 5, 3)) * 2 - del tmp629 - tmp630 = einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), tmp22, (2, 6, 7, 5), (0, 1, 6, 7, 3, 4)) - del tmp22 - tmp632 = np.copy(np.transpose(tmp630, (1, 0, 2, 3, 5, 4))) * 3 - del tmp630 - tmp631 = einsum(tmp178, (0, 1, 2, 3), t3.abaaba, (4, 1, 5, 6, 3, 7), (4, 5, 0, 2, 6, 7)) - del tmp178 - tmp632 += np.transpose(tmp631, (1, 0, 2, 3, 5, 4)) - del tmp631 - tmp633 = einsum(t1.bb, (0, 1), tmp632, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 6, 1)) - del tmp632 - t3new.abaaba += np.transpose(tmp633, (1, 2, 0, 4, 5, 3)) * -2 - del tmp633 - t3new.abaaba += np.transpose(tmp582, (0, 2, 1, 4, 5, 3)) * 2 - t3new.abaaba += np.transpose(tmp583, (1, 2, 0, 4, 5, 3)) - del tmp583 - t3new.abaaba += np.transpose(tmp586, (0, 2, 1, 4, 5, 3)) * -1 - del tmp586 - t3new.abaaba += np.transpose(tmp626, (1, 2, 0, 4, 5, 3)) - del tmp626 - t3new.abaaba += np.transpose(tmp627, (0, 2, 1, 4, 5, 3)) * -1 - del tmp627 - t3new.abaaba += np.transpose(tmp540, (1, 2, 0, 3, 5, 4)) * -2 - del tmp540 - t3new.abaaba += np.transpose(tmp582, (0, 2, 1, 3, 5, 4)) * -2 - del tmp582 - t3new.abaaba += np.transpose(tmp601, (1, 2, 0, 3, 5, 4)) * -1 - del tmp601 - t3new.abaaba += einsum(t1.aa, (0, 1), tmp534, (2, 3, 0, 4, 5, 6), (3, 4, 2, 1, 6, 5)) * 2 - del tmp534 - t3new.abaaba += einsum(tmp557, (0, 1, 2, 3, 4, 5), t1.bb, (3, 6), (1, 2, 0, 4, 6, 5)) * 2 - del tmp557 - tmp634 = einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), tmp167, (6, 2, 7, 1), (6, 0, 7, 3, 5, 4)) - del tmp167 - t3new.abaaba += np.transpose(tmp634, (1, 2, 0, 4, 5, 3)) * -2 - tmp635 = einsum(t2.abab, (0, 1, 2, 3), tmp169, (4, 5, 1, 6), (4, 0, 5, 6, 2, 3)) - t3new.abaaba += np.transpose(tmp635, (1, 2, 0, 4, 5, 3)) - tmp636 = einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), tmp114, (6, 7, 2, 0), (6, 7, 1, 3, 5, 4)) * -1 - del tmp114 - t3new.abaaba += np.transpose(tmp636, (1, 2, 0, 4, 5, 3)) * 2 - del tmp636 - t3new.abaaba += einsum(t2.abab, (0, 1, 2, 3), tmp117, (4, 5, 0, 6), (5, 1, 4, 2, 3, 6)) * -2 - del tmp117 - t3new.abaaba += np.transpose(tmp634, (0, 2, 1, 4, 5, 3)) * 2 - del tmp634 - t3new.abaaba += np.transpose(tmp635, (0, 2, 1, 4, 5, 3)) * -1 - del tmp635 - tmp637 = einsum(t2.abab, (0, 1, 2, 3), tmp475, (4, 5, 6, 3), (0, 4, 1, 2, 5, 6)) - del tmp475 - t3new.abaaba += np.transpose(tmp637, (1, 2, 0, 3, 5, 4)) - t3new.abaaba += einsum(t2.aaaa, (0, 1, 2, 3), tmp479, (4, 5, 3, 6), (0, 4, 1, 2, 6, 5)) * -2 - del tmp479 - t3new.abaaba += np.transpose(tmp637, (0, 2, 1, 3, 5, 4)) * -1 - del tmp637 - tmp638 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), tmp340, (6, 2, 7, 5), (1, 6, 0, 4, 7, 3)) - del tmp340 - t3new.abaaba += np.transpose(tmp638, (0, 2, 1, 3, 5, 4)) - tmp639 = np.copy(tmp53) - del tmp53 - tmp639 += np.transpose(tmp505, (1, 0, 3, 2)) * -1 - del tmp505 - tmp640 = einsum(tmp639, (0, 1, 2, 3), t3.abaaba, (4, 5, 1, 6, 7, 3), (4, 0, 5, 6, 2, 7)) * 2 - del tmp639 - t3new.abaaba += np.transpose(tmp640, (0, 2, 1, 3, 5, 4)) - tmp641 = einsum(t2.abab, (0, 1, 2, 3), tmp100, (4, 0, 5, 6), (4, 5, 1, 6, 2, 3)) - del tmp100 - t3new.abaaba += np.transpose(tmp641, (1, 2, 0, 4, 5, 3)) * -1 - tmp642 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), tmp401, (6, 2, 7, 5), (1, 6, 0, 4, 7, 3)) * 2 - del tmp401 - t3new.abaaba += np.transpose(tmp642, (0, 2, 1, 3, 5, 4)) - tmp643 = einsum(t2.abab, (0, 1, 2, 3), tmp149, (4, 5, 1, 6), (0, 4, 5, 2, 6, 3)) - del tmp149 - t3new.abaaba += np.transpose(tmp643, (1, 2, 0, 3, 5, 4)) * -1 - t3new.abaaba += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), tmp147, (6, 1, 7, 5), (0, 6, 2, 3, 4, 7)) * 2 - del tmp147 - t3new.abaaba += np.transpose(tmp638, (1, 2, 0, 3, 5, 4)) * -1 - del tmp638 - t3new.abaaba += np.transpose(tmp640, (1, 2, 0, 3, 5, 4)) * -1 - del tmp640 - t3new.abaaba += einsum(tmp166, (0, 1, 2, 3), t2.abab, (4, 1, 5, 6), (0, 2, 4, 5, 6, 3)) - del tmp166 - t3new.abaaba += np.transpose(tmp642, (1, 2, 0, 3, 5, 4)) * -1 - del tmp642 - t3new.abaaba += einsum(tmp480, (0, 1, 2, 3), t2.aaaa, (4, 5, 6, 2), (4, 0, 5, 1, 3, 6)) * 2 - del tmp480 - t3new.abaaba += np.transpose(tmp643, (0, 2, 1, 4, 5, 3)) * -1 - t3new.abaaba += np.transpose(tmp643, (0, 2, 1, 3, 5, 4)) - del tmp643 - t3new.abaaba += np.transpose(tmp641, (0, 2, 1, 4, 5, 3)) - del tmp641 - tmp644 = einsum(t2.aaaa, (0, 1, 2, 3), tmp146, (4, 1, 5, 6), (0, 4, 5, 2, 3, 6)) - del tmp146 - t3new.abaaba += np.transpose(tmp644, (1, 2, 0, 4, 5, 3)) * 2 - del tmp644 - tmp645 = np.copy(np.transpose(tmp163, (0, 2, 1, 3))) - del tmp163 - tmp645 += einsum(t2.abab, (0, 1, 2, 3), tmp473, (1, 4, 5, 3), (0, 5, 4, 2)) * 0.5 - del tmp473 - t3new.abaaba += einsum(t2.abab, (0, 1, 2, 3), tmp645, (4, 1, 5, 6), (0, 5, 4, 2, 3, 6)) * -2 - del tmp645 - tmp646 = np.copy(tmp168) * -1 - tmp646 += tmp169 - del tmp169 - t3new.abaaba += einsum(tmp646, (0, 1, 2, 3), t2.abab, (4, 2, 5, 6), (4, 1, 0, 3, 6, 5)) * -1 - del tmp646 - t3new.abaaba += einsum(t2.abab, (0, 1, 2, 3), tmp118, (4, 5, 0, 6), (5, 1, 4, 6, 3, 2)) * -2 - del tmp118 - tmp649 = einsum(tmp648, (0, 1, 2, 3), t2.aaaa, (4, 1, 5, 6), (0, 4, 2, 5, 6, 3)) * -1 - del tmp648 - t3new.abaaba += np.transpose(tmp649, (1, 2, 0, 4, 5, 3)) * -2 - t3new.abaaba += einsum(tmp170, (0, 1, 2, 3), t2.abab, (4, 2, 5, 6), (0, 1, 4, 3, 6, 5)) * -1 - del tmp170 - t3new.abaaba += np.transpose(tmp649, (0, 2, 1, 4, 5, 3)) * 2 - del tmp649 - tmp653 = einsum(t2.aaaa, (0, 1, 2, 3), tmp652, (4, 3, 5, 6), (0, 1, 4, 5, 2, 6)) * -1 - del tmp652 - t3new.abaaba += np.transpose(tmp653, (1, 2, 0, 3, 5, 4)) * -2 - t3new.abaaba += np.transpose(tmp484, (1, 2, 0, 4, 5, 3)) * -2 - del tmp484 - tmp657 = einsum(t2.abab, (0, 1, 2, 3), tmp656, (4, 5, 3, 6), (4, 0, 1, 5, 2, 6)) - del tmp656 - t3new.abaaba += np.transpose(tmp657, (1, 2, 0, 3, 5, 4)) * -1 - tmp658 = einsum(tmp158, (0, 1, 2, 3), t2.abab, (4, 5, 6, 3), (0, 4, 1, 5, 2, 6)) - del tmp158 - tmp659 = einsum(t1.bb, (0, 1), tmp658, (2, 3, 0, 4, 5, 6), (2, 3, 4, 5, 6, 1)) - del tmp658 - t3new.abaaba += np.transpose(tmp659, (1, 2, 0, 3, 5, 4)) - t3new.abaaba += np.transpose(tmp657, (0, 2, 1, 3, 5, 4)) - t3new.abaaba += np.transpose(tmp659, (0, 2, 1, 3, 5, 4)) * -1 - t3new.abaaba += np.transpose(tmp599, (0, 2, 1, 4, 5, 3)) * -1 - tmp660 = einsum(t2.abab, (0, 1, 2, 3), tmp321, (4, 5, 6, 2), (4, 5, 0, 1, 6, 3)) * 2 - del tmp321 - tmp661 = einsum(t1.aa, (0, 1), tmp660, (2, 0, 3, 4, 5, 6), (2, 3, 4, 5, 1, 6)) - del tmp660 - t3new.abaaba += np.transpose(tmp661, (0, 2, 1, 4, 5, 3)) - t3new.abaaba += np.transpose(tmp657, (0, 2, 1, 4, 5, 3)) * -1 - t3new.abaaba += np.transpose(tmp659, (0, 2, 1, 4, 5, 3)) - t3new.abaaba += np.transpose(tmp595, (1, 2, 0, 3, 5, 4)) * 2 - del tmp595 - t3new.abaaba += np.transpose(tmp597, (1, 2, 0, 3, 5, 4)) * -2 - del tmp597 - t3new.abaaba += np.transpose(tmp599, (1, 2, 0, 4, 5, 3)) - del tmp599 - t3new.abaaba += np.transpose(tmp661, (1, 2, 0, 4, 5, 3)) * -1 - del tmp661 - t3new.abaaba += np.transpose(tmp657, (1, 2, 0, 4, 5, 3)) - del tmp657 - t3new.abaaba += np.transpose(tmp659, (1, 2, 0, 4, 5, 3)) * -1 - del tmp659 - tmp662 = einsum(t2.abab, (0, 1, 2, 3), tmp168, (4, 5, 1, 6), (4, 0, 5, 2, 6, 3)) - del tmp168 - t3new.abaaba += np.transpose(tmp662, (1, 2, 0, 3, 5, 4)) * -1 - t3new.abaaba += einsum(t2.abab, (0, 1, 2, 3), tmp116, (4, 5, 0, 6), (5, 1, 4, 2, 3, 6)) * 2 - del tmp116 - t3new.abaaba += np.transpose(tmp662, (0, 2, 1, 3, 5, 4)) - del tmp662 - tmp663 = einsum(tmp525, (0, 1, 2, 3), t2.abab, (4, 5, 6, 3), (4, 0, 5, 6, 1, 2)) - del tmp525 - t3new.abaaba += np.transpose(tmp663, (1, 2, 0, 3, 5, 4)) - t3new.abaaba += np.transpose(tmp653, (1, 2, 0, 4, 5, 3)) * 2 - del tmp653 - t3new.abaaba += np.transpose(tmp663, (0, 2, 1, 3, 5, 4)) * -1 - del tmp663 - tmp666 = einsum(tmp665, (0, 1, 2, 3), t2.aaaa, (4, 1, 5, 6), (0, 4, 2, 5, 6, 3)) * -1 - del tmp665 - t3new.abaaba += np.transpose(tmp666, (1, 2, 0, 4, 5, 3)) * -2 - tmp667 = einsum(t1.aa, (0, 1), tmp453, (2, 3, 0, 4, 5, 6), (2, 3, 4, 1, 5, 6)) - del tmp453 - t3new.abaaba += np.transpose(tmp667, (1, 2, 0, 4, 5, 3)) * -1 - tmp668 = einsum(tmp296, (0, 1, 2, 3), t2.abab, (4, 5, 3, 6), (0, 4, 5, 1, 2, 6)) * -1 - del tmp296 - t3new.abaaba += np.transpose(tmp668, (1, 2, 0, 4, 5, 3)) * 2 - tmp669 = einsum(t2.abab, (0, 1, 2, 3), tmp181, (4, 5, 1, 6), (4, 0, 5, 2, 6, 3)) - del tmp181 - t3new.abaaba += np.transpose(tmp669, (1, 2, 0, 3, 5, 4)) - t3new.abaaba += einsum(t2.abab, (0, 1, 2, 3), tmp84, (4, 5, 0, 6), (5, 1, 4, 2, 3, 6)) - del tmp84 - tmp671 = einsum(tmp670, (0, 1, 2, 3), t2.abab, (4, 2, 5, 6), (0, 4, 1, 3, 5, 6)) - del tmp670 - t3new.abaaba += np.transpose(tmp671, (1, 2, 0, 3, 5, 4)) - t3new.abaaba += np.transpose(tmp671, (0, 2, 1, 3, 5, 4)) * -1 - del tmp671 - tmp672 = einsum(t2.abab, (0, 1, 2, 3), tmp180, (4, 5, 1, 6), (4, 0, 5, 6, 2, 3)) - del tmp180 - t3new.abaaba += np.transpose(tmp672, (1, 2, 0, 4, 5, 3)) * -1 - t3new.abaaba += np.transpose(tmp672, (0, 2, 1, 4, 5, 3)) - del tmp672 - t3new.abaaba += np.transpose(tmp666, (0, 2, 1, 4, 5, 3)) * 2 - del tmp666 - t3new.abaaba += np.transpose(tmp667, (0, 2, 1, 4, 5, 3)) - del tmp667 - t3new.abaaba += np.transpose(tmp668, (0, 2, 1, 4, 5, 3)) * -2 - del tmp668 - tmp673 = np.copy(tmp81) - del tmp81 - tmp673 += np.transpose(tmp375, (0, 2, 1, 3)) - del tmp375 - t3new.abaaba += einsum(tmp673, (0, 1, 2, 3), t2.abab, (2, 4, 5, 6), (0, 4, 1, 5, 6, 3)) * -1 - del tmp673 - t3new.abaaba += np.transpose(tmp669, (0, 2, 1, 3, 5, 4)) * -1 - del tmp669 - tmp674 = np.copy(tmp153) * -1 - tmp674 += tmp154 - t3new.abaaba += einsum(tmp674, (0, 1, 2, 3), t2.abab, (4, 2, 5, 6), (4, 1, 0, 3, 6, 5)) * -1 - del tmp674 - tmp675 = einsum(tmp108, (0, 1, 2, 3), t2.abab, (2, 4, 5, 6), (0, 1, 4, 5, 3, 6)) - del tmp108 - t3new.abaaba += np.transpose(tmp675, (0, 2, 1, 4, 5, 3)) - t3new.abaaba += np.transpose(tmp675, (1, 2, 0, 4, 5, 3)) * -1 - tmp676 = einsum(t2.abab, (0, 1, 2, 3), tmp110, (4, 5, 0, 6), (5, 4, 1, 6, 2, 3)) - del tmp110 - t3new.abaaba += np.transpose(tmp676, (0, 2, 1, 3, 5, 4)) - t3new.abaaba += np.transpose(tmp676, (1, 2, 0, 3, 5, 4)) * -1 - tmp678 = np.copy(tmp185) - del tmp185 - tmp678 += tmp677 * -1 - del tmp677 - tmp679 = einsum(tmp678, (0, 1, 2, 3), t2.aaaa, (4, 1, 5, 6), (0, 4, 2, 5, 6, 3)) * -1 - del tmp678 - t3new.abaaba += np.transpose(tmp679, (1, 2, 0, 4, 5, 3)) * -2 - t3new.abaaba += einsum(tmp155, (0, 1, 2, 3), t2.abab, (4, 2, 5, 6), (0, 1, 4, 3, 6, 5)) * -1 - del tmp155 - t3new.abaaba += np.transpose(tmp679, (0, 2, 1, 4, 5, 3)) * 2 - del tmp679 - t3new.abaaba += np.transpose(tmp620, (1, 2, 0, 3, 5, 4)) - t3new.abaaba += np.transpose(tmp623, (1, 2, 0, 3, 5, 4)) * -2 - del tmp623 - t3new.abaaba += np.transpose(tmp620, (0, 2, 1, 3, 5, 4)) * -1 - del tmp620 - tmp680 = einsum(tmp153, (0, 1, 2, 3), t2.abab, (4, 2, 5, 6), (0, 4, 1, 5, 3, 6)) - del tmp153 - t3new.abaaba += np.transpose(tmp680, (1, 2, 0, 3, 5, 4)) * -1 - t3new.abaaba += np.transpose(tmp675, (0, 2, 1, 3, 5, 4)) * -1 - t3new.abaaba += np.transpose(tmp675, (1, 2, 0, 3, 5, 4)) - del tmp675 - t3new.abaaba += np.transpose(tmp617, (1, 2, 0, 4, 5, 3)) - tmp681 = einsum(t1.bb, (0, 1), tmp604, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 6, 1)) - del tmp604 - t3new.abaaba += np.transpose(tmp681, (1, 2, 0, 3, 5, 4)) * -1 - t3new.abaaba += einsum(tmp609, (0, 1, 2, 3, 4, 5), t1.bb, (3, 6), (1, 2, 0, 4, 6, 5)) * 2 - del tmp609 - t3new.abaaba += np.transpose(tmp680, (0, 2, 1, 3, 5, 4)) - del tmp680 - t3new.abaaba += np.transpose(tmp617, (0, 2, 1, 4, 5, 3)) * -1 - del tmp617 - t3new.abaaba += np.transpose(tmp681, (0, 2, 1, 3, 5, 4)) - del tmp681 - tmp682 = einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), tmp150, (6, 2, 7, 1), (6, 0, 7, 3, 5, 4)) - del tmp150 - t3new.abaaba += np.transpose(tmp682, (1, 2, 0, 4, 5, 3)) * -2 - tmp683 = einsum(tmp154, (0, 1, 2, 3), t2.abab, (4, 2, 5, 6), (0, 4, 1, 3, 5, 6)) - del tmp154 - t3new.abaaba += np.transpose(tmp683, (1, 2, 0, 4, 5, 3)) - tmp684 = einsum(tmp106, (0, 1, 2, 3), t3.abaaba, (2, 4, 3, 5, 6, 7), (0, 1, 4, 5, 7, 6)) - del tmp106 - t3new.abaaba += np.transpose(tmp684, (1, 2, 0, 4, 5, 3)) * 2 - del tmp684 - t3new.abaaba += np.transpose(tmp676, (0, 2, 1, 4, 5, 3)) * -1 - t3new.abaaba += np.transpose(tmp676, (1, 2, 0, 4, 5, 3)) - del tmp676 - t3new.abaaba += np.transpose(tmp682, (0, 2, 1, 4, 5, 3)) * 2 - del tmp682 - t3new.abaaba += np.transpose(tmp683, (0, 2, 1, 4, 5, 3)) * -1 - del tmp683 - - return {f"t1new": t1new, f"t2new": t2new, f"t3new": t3new} - -def update_lams(f=None, l1=None, l2=None, l3=None, t1=None, t2=None, t3=None, v=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-10-22T13:11:51.163657. - - Parameters - ---------- - f : Namespace of arrays - Fock matrix. - l1 : Namespace of arrays - L1 amplitudes. - l2 : Namespace of arrays - L2 amplitudes. - l3 : Namespace of arrays - L3 amplitudes. - t1 : Namespace of arrays - T1 amplitudes. - t2 : Namespace of arrays - T2 amplitudes. - t3 : Namespace of arrays - T3 amplitudes. - v : Namespace of arrays - Electron repulsion integrals. - - Returns - ------- - l1new : Namespace of arrays - Updated L1 residuals. - l2new : Namespace of arrays - Updated L2 residuals. - l3new : Namespace of arrays - Updated L3 residuals. - """ - - l1new = Namespace() - l2new = Namespace() - l3new = Namespace() - tmp579 = einsum(l3.babbab, (0, 1, 2, 3, 4, 5), v.aabb.vvov, (6, 1, 7, 8), (4, 3, 5, 7, 6, 0, 2, 8)) - tmp960 = einsum(t1.aa, (0, 1), tmp579, (0, 2, 3, 4, 1, 5, 6, 7), (2, 3, 4, 5, 6, 7)) - l3new.bbbbbb = np.copy(np.transpose(tmp960, (5, 4, 3, 1, 0, 2))) * 2 - tmp640 = einsum(t2.abab, (0, 1, 2, 3), l3.bbbbbb, (4, 5, 3, 6, 7, 1), (0, 6, 7, 2, 4, 5)) - tmp651 = einsum(v.aabb.ovov, (0, 1, 2, 3), tmp640, (0, 4, 5, 1, 6, 7), (4, 5, 2, 6, 7, 3)) - l3new.bbbbbb += np.transpose(tmp651, (5, 4, 3, 1, 0, 2)) * 6 - tmp227 = einsum(t1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) - tmp652 = einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), t1.bb, (6, 2), (3, 4, 5, 6, 0, 1)) - tmp653 = einsum(tmp652, (0, 1, 2, 3, 4, 5), tmp227, (2, 6, 3, 7), (0, 1, 6, 4, 5, 7)) - l3new.bbbbbb += np.transpose(tmp653, (5, 4, 3, 1, 0, 2)) * -6 - tmp713 = einsum(tmp652, (0, 1, 2, 3, 4, 5), v.bbbb.ovoo, (6, 7, 3, 1), (0, 2, 6, 4, 5, 7)) * -1 - l3new.bbbbbb += np.transpose(tmp713, (5, 4, 3, 1, 0, 2)) * -6 - tmp284 = einsum(v.bbbb.ovvv, (0, 1, 2, 3), l2.bbbb, (4, 3, 5, 6), (5, 6, 0, 4, 1, 2)) - l3new.bbbbbb += np.transpose(tmp284, (4, 5, 3, 1, 0, 2)) * 2 - tmp577 = einsum(t1.aa, (0, 1), l3.babbab, (2, 1, 3, 4, 5, 6), (5, 0, 4, 6, 2, 3)) - tmp648 = einsum(tmp577, (0, 1, 2, 3, 4, 5), v.aabb.ooov, (1, 0, 6, 7), (2, 3, 6, 4, 5, 7)) - l3new.bbbbbb += np.transpose(tmp648, (5, 4, 3, 1, 0, 2)) * -2 - tmp99 = einsum(v.aabb.ovov, (0, 1, 2, 3), t1.aa, (4, 1), (4, 0, 2, 3)) - tmp961 = einsum(tmp577, (0, 1, 2, 3, 4, 5), tmp99, (0, 1, 6, 7), (2, 3, 6, 4, 5, 7)) - l3new.bbbbbb += np.transpose(tmp961, (5, 4, 3, 1, 0, 2)) * -2 - tmp962 = np.copy(np.transpose(v.aabb.ovov, (0, 2, 1, 3))) - tmp228 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 1), (4, 2, 5, 3)) - tmp962 += tmp228 * 2 - tmp312 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 5, 3), (4, 0, 5, 1)) - tmp962 += tmp312 - tmp963 = einsum(l3.babbab, (0, 1, 2, 3, 4, 5), tmp962, (4, 6, 1, 7), (3, 5, 6, 0, 2, 7)) - del tmp962 - l3new.bbbbbb += np.transpose(tmp963, (5, 4, 3, 1, 0, 2)) * 2 - tmp964 = np.copy(np.transpose(v.bbbb.ovov, (0, 2, 1, 3))) * 0.49999999999999506 - tmp964 += v.bbbb.oovv * -0.49999999999999506 - tmp306 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (4, 2, 5, 3), (4, 0, 5, 1)) - tmp964 += tmp306 - tmp965 = einsum(tmp964, (0, 1, 2, 3), l3.bbbbbb, (4, 5, 2, 6, 7, 0), (6, 7, 1, 4, 5, 3)) * -6 - del tmp964 - l3new.bbbbbb += np.transpose(tmp965, (5, 4, 3, 0, 1, 2)) * 2 - tmp649 = einsum(v.bbbb.ovvv, (0, 1, 2, 3), l3.bbbbbb, (4, 5, 3, 6, 7, 8), (6, 7, 8, 0, 4, 5, 1, 2)) - tmp966 = np.copy(np.transpose(tmp649, (1, 2, 0, 3, 5, 4, 6, 7))) - tmp966 += np.transpose(tmp649, (1, 2, 0, 3, 5, 4, 7, 6)) * -1 - tmp967 = einsum(t1.bb, (0, 1), tmp966, (0, 2, 3, 4, 5, 6, 7, 1), (2, 3, 4, 5, 6, 7)) - l3new.bbbbbb += np.transpose(tmp967, (5, 4, 3, 0, 1, 2)) * 6 - tmp326 = np.copy(f.bb.oo) - tmp320 = einsum(t1.aa, (0, 1), v.aabb.ovoo, (0, 1, 2, 3), (2, 3)) - tmp326 += np.transpose(tmp320, (1, 0)) - tmp321 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 3), (1, 4)) - tmp326 += tmp321 - tmp322 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 2, 1, 3), (0, 4)) - tmp326 += tmp322 * 2 - tmp323 = np.copy(v.bbbb.ooov) * -1 - tmp323 += np.transpose(v.bbbb.ovoo, (0, 2, 3, 1)) - tmp324 = einsum(tmp323, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1)) - tmp326 += np.transpose(tmp324, (1, 0)) * -1 - tmp319 = np.copy(f.bb.ov) - tmp317 = einsum(t1.aa, (0, 1), v.aabb.ovov, (0, 1, 2, 3), (2, 3)) - tmp319 += tmp317 - tmp229 = np.copy(np.transpose(v.bbbb.ovov, (0, 2, 3, 1))) - tmp229 += np.transpose(v.bbbb.ovov, (0, 2, 1, 3)) * -1 - tmp318 = einsum(tmp229, (0, 1, 2, 3), t1.bb, (0, 2), (1, 3)) - tmp319 += tmp318 * -1 - del tmp318 - tmp325 = einsum(t1.bb, (0, 1), tmp319, (2, 1), (0, 2)) - tmp326 += tmp325 - tmp968 = einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), tmp326, (5, 6), (3, 4, 6, 0, 1, 2)) * 3 - l3new.bbbbbb += np.transpose(tmp968, (4, 5, 3, 0, 1, 2)) * -2 - tmp543 = np.copy(f.bb.ov) - tmp543 += tmp317 - tmp542 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1)) - tmp543 += tmp542 - l3new.bbbbbb += einsum(l2.bbbb, (0, 1, 2, 3), tmp543, (4, 5), (5, 0, 1, 2, 3, 4)) * 2 - l3new.bbbbbb += np.transpose(tmp960, (5, 4, 3, 1, 2, 0)) * -2 - l3new.bbbbbb += np.transpose(tmp651, (5, 4, 3, 1, 2, 0)) * -6 - l3new.bbbbbb += np.transpose(tmp653, (5, 4, 3, 1, 2, 0)) * 6 - l3new.bbbbbb += np.transpose(tmp713, (5, 4, 3, 1, 2, 0)) * 6 - l3new.bbbbbb += np.transpose(tmp284, (4, 5, 3, 1, 2, 0)) * -2 - l3new.bbbbbb += np.transpose(tmp648, (5, 4, 3, 1, 2, 0)) * 2 - l3new.bbbbbb += np.transpose(tmp961, (5, 4, 3, 1, 2, 0)) * 2 - tmp969 = np.copy(np.transpose(v.aabb.ovov, (0, 2, 1, 3))) - tmp969 += tmp228 * 2 - tmp969 += tmp312 - tmp970 = einsum(l3.babbab, (0, 1, 2, 3, 4, 5), tmp969, (4, 6, 1, 7), (3, 5, 6, 0, 2, 7)) - del tmp969 - l3new.bbbbbb += np.transpose(tmp970, (5, 4, 3, 1, 2, 0)) * -2 - tmp971 = np.copy(np.transpose(v.bbbb.ovov, (0, 2, 1, 3))) - tmp971 += v.bbbb.oovv * -1 - tmp971 += tmp306 * 2 - tmp972 = einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), tmp971, (5, 6, 2, 7), (3, 4, 6, 0, 1, 7)) * -3 - del tmp971 - l3new.bbbbbb += np.transpose(tmp972, (5, 4, 3, 0, 2, 1)) * -2 - tmp973 = einsum(tmp966, (0, 1, 2, 3, 4, 5, 6, 7), t1.bb, (0, 6), (1, 2, 3, 4, 5, 7)) - del tmp966 - l3new.bbbbbb += np.transpose(tmp973, (5, 4, 3, 0, 2, 1)) * 6 - l3new.bbbbbb += np.transpose(tmp968, (4, 5, 3, 0, 2, 1)) * 2 - l3new.bbbbbb += einsum(l2.bbbb, (0, 1, 2, 3), tmp543, (4, 5), (5, 0, 1, 2, 4, 3)) * -2 - l3new.bbbbbb += np.transpose(tmp960, (4, 5, 3, 1, 0, 2)) * -2 - l3new.bbbbbb += np.transpose(tmp651, (4, 5, 3, 1, 0, 2)) * -6 - l3new.bbbbbb += np.transpose(tmp653, (4, 5, 3, 1, 0, 2)) * 6 - l3new.bbbbbb += np.transpose(tmp713, (4, 5, 3, 1, 0, 2)) * 6 - l3new.bbbbbb += np.transpose(tmp284, (5, 4, 3, 1, 0, 2)) * -2 - l3new.bbbbbb += np.transpose(tmp648, (4, 5, 3, 1, 0, 2)) * 2 - l3new.bbbbbb += np.transpose(tmp961, (4, 5, 3, 1, 0, 2)) * 2 - l3new.bbbbbb += np.transpose(tmp963, (4, 5, 3, 1, 0, 2)) * -2 - l3new.bbbbbb += np.transpose(tmp965, (4, 5, 3, 0, 1, 2)) * -2 - l3new.bbbbbb += np.transpose(tmp973, (4, 5, 3, 0, 1, 2)) * 6 - l3new.bbbbbb += einsum(tmp543, (0, 1), l2.bbbb, (2, 3, 4, 5), (2, 1, 3, 4, 5, 0)) * -2 - l3new.bbbbbb += np.transpose(tmp960, (4, 5, 3, 1, 2, 0)) * 2 - l3new.bbbbbb += np.transpose(tmp651, (4, 5, 3, 1, 2, 0)) * 6 - l3new.bbbbbb += np.transpose(tmp653, (4, 5, 3, 1, 2, 0)) * -6 - l3new.bbbbbb += np.transpose(tmp713, (4, 5, 3, 1, 2, 0)) * -6 - l3new.bbbbbb += np.transpose(tmp284, (5, 4, 3, 1, 2, 0)) * 2 - l3new.bbbbbb += np.transpose(tmp648, (4, 5, 3, 1, 2, 0)) * -2 - l3new.bbbbbb += np.transpose(tmp961, (4, 5, 3, 1, 2, 0)) * -2 - l3new.bbbbbb += np.transpose(tmp970, (4, 5, 3, 1, 2, 0)) * 2 - l3new.bbbbbb += np.transpose(tmp972, (4, 5, 3, 0, 2, 1)) * 2 - tmp974 = np.copy(np.transpose(tmp649, (1, 2, 0, 3, 5, 4, 6, 7))) * -1 - tmp974 += np.transpose(tmp649, (1, 2, 0, 3, 5, 4, 7, 6)) - tmp975 = einsum(tmp974, (0, 1, 2, 3, 4, 5, 6, 7), t1.bb, (0, 6), (1, 2, 3, 4, 5, 7)) - l3new.bbbbbb += np.transpose(tmp975, (4, 5, 3, 0, 2, 1)) * 6 - del tmp975 - l3new.bbbbbb += einsum(l2.bbbb, (0, 1, 2, 3), tmp543, (4, 5), (0, 5, 1, 2, 4, 3)) * 2 - l3new.bbbbbb += np.transpose(tmp960, (5, 4, 3, 2, 1, 0)) * 2 - l3new.bbbbbb += np.transpose(tmp651, (5, 4, 3, 2, 1, 0)) * 6 - l3new.bbbbbb += np.transpose(tmp653, (5, 4, 3, 2, 1, 0)) * -6 - l3new.bbbbbb += np.transpose(tmp713, (5, 4, 3, 2, 1, 0)) * -6 - l3new.bbbbbb += np.transpose(tmp284, (4, 5, 3, 2, 1, 0)) * 2 - l3new.bbbbbb += np.transpose(tmp648, (5, 4, 3, 2, 1, 0)) * -2 - l3new.bbbbbb += np.transpose(tmp961, (5, 4, 3, 2, 1, 0)) * -2 - l3new.bbbbbb += np.transpose(tmp970, (5, 4, 3, 2, 1, 0)) * 2 - l3new.bbbbbb += np.transpose(tmp972, (5, 4, 3, 2, 0, 1)) * 2 - l3new.bbbbbb += np.transpose(tmp967, (5, 4, 3, 2, 0, 1)) * 6 - l3new.bbbbbb += np.transpose(tmp968, (4, 5, 3, 2, 0, 1)) * -2 - del tmp968 - l3new.bbbbbb += einsum(tmp543, (0, 1), l2.bbbb, (2, 3, 4, 5), (1, 2, 3, 0, 4, 5)) * 2 - l3new.bbbbbb += np.transpose(tmp960, (4, 5, 3, 2, 1, 0)) * -2 - l3new.bbbbbb += np.transpose(tmp651, (4, 5, 3, 2, 1, 0)) * -6 - l3new.bbbbbb += np.transpose(tmp653, (4, 5, 3, 2, 1, 0)) * 6 - l3new.bbbbbb += np.transpose(tmp713, (4, 5, 3, 2, 1, 0)) * 6 - l3new.bbbbbb += np.transpose(tmp284, (5, 4, 3, 2, 1, 0)) * -2 - l3new.bbbbbb += np.transpose(tmp648, (4, 5, 3, 2, 1, 0)) * 2 - l3new.bbbbbb += np.transpose(tmp961, (4, 5, 3, 2, 1, 0)) * 2 - l3new.bbbbbb += np.transpose(tmp970, (4, 5, 3, 2, 1, 0)) * -2 - l3new.bbbbbb += np.transpose(tmp972, (4, 5, 3, 2, 0, 1)) * -2 - l3new.bbbbbb += np.transpose(tmp973, (4, 5, 3, 2, 0, 1)) * 6 - del tmp973 - l3new.bbbbbb += einsum(l2.bbbb, (0, 1, 2, 3), tmp543, (4, 5), (0, 5, 1, 4, 2, 3)) * -2 - l3new.bbbbbb += np.transpose(tmp960, (4, 3, 5, 1, 0, 2)) * 2 - l3new.bbbbbb += np.transpose(tmp651, (4, 3, 5, 1, 0, 2)) * 6 - l3new.bbbbbb += np.transpose(tmp653, (4, 3, 5, 1, 0, 2)) * -6 - l3new.bbbbbb += np.transpose(tmp713, (4, 3, 5, 1, 0, 2)) * -6 - l3new.bbbbbb += np.transpose(tmp284, (5, 3, 4, 1, 0, 2)) * 2 - l3new.bbbbbb += np.transpose(tmp648, (4, 3, 5, 1, 0, 2)) * -2 - l3new.bbbbbb += np.transpose(tmp961, (4, 3, 5, 1, 0, 2)) * -2 - l3new.bbbbbb += np.transpose(tmp963, (4, 3, 5, 1, 0, 2)) * 2 - del tmp963 - l3new.bbbbbb += np.transpose(tmp965, (4, 3, 5, 0, 1, 2)) * 2 - del tmp965 - l3new.bbbbbb += np.transpose(tmp967, (4, 3, 5, 0, 1, 2)) * 6 - l3new.bbbbbb += einsum(tmp543, (0, 1), l2.bbbb, (2, 3, 4, 5), (2, 3, 1, 4, 5, 0)) * 2 - l3new.bbbbbb += np.transpose(tmp960, (4, 3, 5, 1, 2, 0)) * -2 - l3new.bbbbbb += np.transpose(tmp651, (4, 3, 5, 1, 2, 0)) * -6 - l3new.bbbbbb += np.transpose(tmp653, (4, 3, 5, 1, 2, 0)) * 6 - l3new.bbbbbb += np.transpose(tmp713, (4, 3, 5, 1, 2, 0)) * 6 - l3new.bbbbbb += np.transpose(tmp284, (5, 3, 4, 1, 2, 0)) * -2 - l3new.bbbbbb += np.transpose(tmp648, (4, 3, 5, 1, 2, 0)) * 2 - l3new.bbbbbb += np.transpose(tmp961, (4, 3, 5, 1, 2, 0)) * 2 - l3new.bbbbbb += np.transpose(tmp970, (4, 3, 5, 1, 2, 0)) * -2 - l3new.bbbbbb += np.transpose(tmp972, (4, 3, 5, 0, 2, 1)) * -2 - tmp976 = einsum(t1.bb, (0, 1), tmp974, (0, 2, 3, 4, 5, 6, 7, 1), (2, 3, 4, 5, 6, 7)) - del tmp974 - l3new.bbbbbb += np.transpose(tmp976, (4, 3, 5, 0, 2, 1)) * 6 - del tmp976 - l3new.bbbbbb += einsum(l2.bbbb, (0, 1, 2, 3), tmp543, (4, 5), (0, 1, 5, 2, 4, 3)) * -2 - l3new.bbbbbb += np.transpose(tmp960, (4, 3, 5, 2, 1, 0)) * 2 - del tmp960 - l3new.bbbbbb += np.transpose(tmp651, (4, 3, 5, 2, 1, 0)) * 6 - l3new.bbbbbb += np.transpose(tmp653, (4, 3, 5, 2, 1, 0)) * -6 - l3new.bbbbbb += np.transpose(tmp713, (4, 3, 5, 2, 1, 0)) * -6 - l3new.bbbbbb += np.transpose(tmp284, (5, 3, 4, 2, 1, 0)) * 2 - l3new.bbbbbb += np.transpose(tmp648, (4, 3, 5, 2, 1, 0)) * -2 - l3new.bbbbbb += np.transpose(tmp961, (4, 3, 5, 2, 1, 0)) * -2 - del tmp961 - l3new.bbbbbb += np.transpose(tmp970, (4, 3, 5, 2, 1, 0)) * 2 - del tmp970 - l3new.bbbbbb += np.transpose(tmp972, (4, 3, 5, 2, 0, 1)) * 2 - del tmp972 - l3new.bbbbbb += np.transpose(tmp967, (4, 3, 5, 2, 0, 1)) * 6 - del tmp967 - l3new.bbbbbb += einsum(l2.bbbb, (0, 1, 2, 3), tmp543, (4, 5), (0, 1, 5, 4, 2, 3)) * 2 - tmp712 = einsum(v.bbbb.vvvv, (0, 1, 2, 3), l3.bbbbbb, (4, 1, 3, 5, 6, 7), (5, 6, 7, 4, 0, 2)) - l3new.bbbbbb += np.transpose(tmp712, (5, 4, 3, 1, 2, 0)) * -6 - tmp714 = einsum(t1.bb, (0, 1), tmp649, (2, 3, 4, 0, 5, 1, 6, 7), (2, 3, 4, 5, 6, 7)) - l3new.bbbbbb += np.transpose(tmp714, (4, 5, 3, 1, 2, 0)) * -6 - tmp701 = einsum(t2.bbbb, (0, 1, 2, 3), l3.bbbbbb, (4, 2, 3, 5, 6, 7), (5, 6, 7, 0, 1, 4)) - tmp717 = np.copy(np.transpose(tmp701, (1, 2, 0, 4, 3, 5))) * -1 - tmp716 = einsum(tmp652, (0, 1, 2, 3, 4, 5), t1.bb, (6, 5), (0, 1, 2, 3, 6, 4)) * -1 - tmp717 += np.transpose(tmp716, (1, 2, 0, 4, 3, 5)) * -1 - del tmp716 - tmp977 = einsum(tmp717, (0, 1, 2, 3, 4, 5), v.bbbb.ovov, (3, 6, 4, 7), (0, 1, 2, 6, 7, 5)) * 0.5 - l3new.bbbbbb += np.transpose(tmp977, (4, 3, 5, 1, 2, 0)) * -12 - tmp362 = np.copy(f.bb.vv) * -1 - tmp358 = einsum(v.aabb.ovvv, (0, 1, 2, 3), t1.aa, (0, 1), (2, 3)) - tmp362 += np.transpose(tmp358, (1, 0)) * -1 - tmp359 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 1, 4), (3, 4)) - tmp362 += tmp359 - tmp360 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (0, 4, 1, 3), (2, 4)) - tmp362 += tmp360 * 2 - tmp267 = np.copy(v.bbbb.ovvv) * -1 - tmp267 += np.transpose(v.bbbb.ovvv, (0, 2, 1, 3)) - tmp361 = einsum(tmp267, (0, 1, 2, 3), t1.bb, (0, 2), (1, 3)) - tmp362 += np.transpose(tmp361, (1, 0)) * -1 - tmp978 = einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), tmp362, (2, 6), (3, 4, 5, 0, 1, 6)) * -1 - l3new.bbbbbb += np.transpose(tmp978, (5, 4, 3, 1, 2, 0)) * -6 - tmp979 = einsum(tmp319, (0, 1), tmp652, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) - l3new.bbbbbb += np.transpose(tmp979, (3, 5, 4, 1, 2, 0)) * 3 - tmp836 = np.copy(f.bb.ov) - tmp836 += tmp317 - tmp834 = np.copy(np.transpose(v.bbbb.ovov, (0, 2, 3, 1))) - tmp834 += np.transpose(v.bbbb.ovov, (0, 2, 1, 3)) * -1 - tmp835 = einsum(tmp834, (0, 1, 2, 3), t1.bb, (0, 2), (1, 3)) - del tmp834 - tmp836 += tmp835 * -1 - del tmp835 - tmp980 = einsum(tmp652, (0, 1, 2, 3, 4, 5), tmp836, (3, 6), (0, 1, 2, 4, 5, 6)) - l3new.bbbbbb += np.transpose(tmp980, (5, 4, 3, 1, 2, 0)) * 3 - l3new.bbbbbb += np.transpose(tmp714, (5, 4, 3, 1, 2, 0)) * 6 - l3new.bbbbbb += np.transpose(tmp978, (4, 5, 3, 1, 2, 0)) * 6 - del tmp978 - l3new.bbbbbb += np.transpose(tmp980, (4, 5, 3, 1, 2, 0)) * -6 - l3new.bbbbbb += np.transpose(tmp712, (5, 3, 4, 1, 2, 0)) * 6 - l3new.bbbbbb += np.transpose(tmp714, (5, 3, 4, 1, 2, 0)) * -6 - l3new.bbbbbb += np.transpose(tmp977, (4, 5, 3, 1, 2, 0)) * 12 - tmp729 = np.copy(f.bb.vv) * -1 - tmp729 += np.transpose(tmp358, (1, 0)) * -1 - tmp729 += np.transpose(tmp359, (1, 0)) - tmp729 += np.transpose(tmp360, (1, 0)) * 2 - tmp729 += tmp361 * -1 - del tmp361 - tmp981 = einsum(tmp729, (0, 1), l3.bbbbbb, (2, 3, 1, 4, 5, 6), (4, 5, 6, 2, 3, 0)) * -1 - l3new.bbbbbb += np.transpose(tmp981, (4, 3, 5, 1, 2, 0)) * -6 - del tmp981 - l3new.bbbbbb += np.transpose(tmp979, (5, 4, 3, 1, 2, 0)) * 3 - del tmp979 - l3new.bbbbbb += np.transpose(tmp980, (4, 3, 5, 1, 2, 0)) * 3 - del tmp980 - l3new.bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (3, 5, 0, 1, 2, 4)) - tmp248 = einsum(t2.abab, (0, 1, 2, 3), l3.babbab, (4, 2, 5, 6, 0, 1), (6, 4, 5, 3)) - tmp285 = np.copy(np.transpose(tmp248, (0, 2, 1, 3))) * -0.3333333333333333 - tmp232 = einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), t2.bbbb, (4, 5, 6, 2), (3, 0, 1, 6)) - tmp285 += np.transpose(tmp232, (0, 2, 1, 3)) * -1 - tmp982 = einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp285, (4, 5, 6, 1), (0, 2, 4, 3, 5, 6)) * 6 - l3new.bbbbbb += np.transpose(tmp982, (3, 5, 4, 2, 1, 0)) * -1 - tmp357 = np.copy(v.bbbb.ooov) - tmp357 += np.transpose(tmp227, (0, 2, 1, 3)) - tmp983 = einsum(tmp357, (0, 1, 2, 3), l2.bbbb, (4, 5, 6, 0), (6, 1, 2, 4, 5, 3)) * -2 - l3new.bbbbbb += np.transpose(tmp983, (5, 4, 3, 0, 2, 1)) - l3new.bbbbbb += einsum(v.bbbb.ovov, (0, 1, 2, 3), l1.bb, (4, 5), (3, 1, 4, 5, 0, 2)) * -1 - l3new.bbbbbb += np.transpose(tmp982, (5, 3, 4, 2, 1, 0)) - tmp638 = np.copy(np.transpose(v.bbbb.ooov, (0, 2, 1, 3))) - tmp638 += tmp227 - tmp984 = einsum(tmp638, (0, 1, 2, 3), l2.bbbb, (4, 5, 6, 0), (6, 1, 2, 4, 5, 3)) * -1 - l3new.bbbbbb += np.transpose(tmp984, (4, 5, 3, 0, 1, 2)) * -2 - l3new.bbbbbb += einsum(v.bbbb.ovov, (0, 1, 2, 3), l1.bb, (4, 5), (1, 3, 4, 0, 5, 2)) * -1 - l3new.bbbbbb += np.transpose(tmp982, (3, 5, 4, 1, 2, 0)) - tmp742 = np.copy(v.bbbb.ooov) - tmp742 += np.transpose(tmp227, (0, 2, 1, 3)) - tmp985 = einsum(tmp742, (0, 1, 2, 3), l2.bbbb, (4, 5, 6, 0), (6, 1, 2, 4, 5, 3)) * -1 - l3new.bbbbbb += np.transpose(tmp985, (5, 4, 3, 2, 0, 1)) * -2 - l3new.bbbbbb += einsum(v.bbbb.ovov, (0, 1, 2, 3), l1.bb, (4, 5), (3, 1, 4, 0, 5, 2)) - l3new.bbbbbb += np.transpose(tmp982, (5, 3, 4, 1, 2, 0)) * -1 - l3new.bbbbbb += np.transpose(tmp984, (4, 5, 3, 1, 0, 2)) * 2 - l3new.bbbbbb += einsum(v.bbbb.ovov, (0, 1, 2, 3), l1.bb, (4, 5), (1, 4, 3, 5, 0, 2)) * -1 - l3new.bbbbbb += einsum(v.bbbb.ovov, (0, 1, 2, 3), l1.bb, (4, 5), (3, 4, 1, 5, 0, 2)) - l3new.bbbbbb += np.transpose(tmp982, (5, 4, 3, 2, 1, 0)) * -1 - l3new.bbbbbb += np.transpose(tmp983, (4, 3, 5, 0, 2, 1)) - l3new.bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (3, 0, 5, 2, 1, 4)) - l3new.bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (5, 0, 3, 2, 1, 4)) * -1 - l3new.bbbbbb += np.transpose(tmp982, (5, 4, 3, 1, 2, 0)) - del tmp982 - l3new.bbbbbb += np.transpose(tmp985, (4, 3, 5, 2, 0, 1)) * -2 - l3new.bbbbbb += einsum(v.bbbb.ovov, (0, 1, 2, 3), l1.bb, (4, 5), (1, 3, 4, 0, 2, 5)) - tmp257 = np.copy(np.transpose(tmp248, (0, 2, 1, 3))) * -1 - tmp257 += np.transpose(tmp232, (0, 2, 1, 3)) * -3 - tmp986 = einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp257, (4, 5, 6, 1), (0, 2, 4, 3, 5, 6)) * 2 - l3new.bbbbbb += np.transpose(tmp986, (3, 5, 4, 1, 0, 2)) * -1 - l3new.bbbbbb += np.transpose(tmp983, (5, 4, 3, 2, 1, 0)) - l3new.bbbbbb += einsum(v.bbbb.ovov, (0, 1, 2, 3), l1.bb, (4, 5), (3, 1, 4, 0, 2, 5)) * -1 - l3new.bbbbbb += np.transpose(tmp986, (5, 3, 4, 1, 0, 2)) - l3new.bbbbbb += np.transpose(tmp984, (4, 5, 3, 1, 2, 0)) * -2 - l3new.bbbbbb += einsum(v.bbbb.ovov, (0, 1, 2, 3), l1.bb, (4, 5), (1, 4, 3, 0, 2, 5)) * -1 - l3new.bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (5, 0, 3, 2, 4, 1)) - l3new.bbbbbb += np.transpose(tmp986, (5, 4, 3, 1, 0, 2)) * -1 - del tmp986 - l3new.bbbbbb += np.transpose(tmp983, (4, 3, 5, 2, 1, 0)) - del tmp983 - l3new.bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (0, 3, 5, 1, 2, 4)) - l3new.bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (0, 5, 3, 1, 2, 4)) * -1 - l3new.bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (0, 3, 5, 2, 1, 4)) * -1 - l3new.bbbbbb += einsum(v.bbbb.ovov, (0, 1, 2, 3), l1.bb, (4, 5), (4, 3, 1, 0, 5, 2)) - l3new.bbbbbb += einsum(v.bbbb.ovov, (0, 1, 2, 3), l1.bb, (4, 5), (4, 1, 3, 0, 2, 5)) - l3new.bbbbbb += einsum(v.bbbb.ovov, (0, 1, 2, 3), l1.bb, (4, 5), (4, 3, 1, 0, 2, 5)) * -1 - tmp987 = np.copy(v.bbbb.oooo) - tmp263 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 2, 5, 3), (0, 1, 4, 5)) - tmp987 += np.transpose(tmp263, (1, 3, 2, 0)) - tmp739 = einsum(tmp227, (0, 1, 2, 3), t1.bb, (4, 3), (0, 4, 2, 1)) - tmp987 += np.transpose(tmp739, (1, 3, 2, 0)) - tmp272 = einsum(v.bbbb.ooov, (0, 1, 2, 3), t1.bb, (4, 3), (4, 0, 1, 2)) - tmp987 += np.transpose(tmp272, (2, 1, 3, 0)) - tmp987 += np.transpose(tmp272, (2, 3, 1, 0)) * -1 - tmp988 = einsum(tmp987, (0, 1, 2, 3), l3.bbbbbb, (4, 5, 6, 7, 0, 3), (7, 1, 2, 4, 5, 6)) * -6 - del tmp987 - l3new.bbbbbb += np.transpose(tmp988, (4, 5, 3, 0, 2, 1)) - tmp989 = einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp285, (4, 5, 6, 3), (0, 2, 4, 1, 5, 6)) * 6 - l3new.bbbbbb += np.transpose(tmp989, (3, 5, 4, 2, 1, 0)) - l3new.bbbbbb += np.transpose(tmp985, (5, 4, 3, 0, 1, 2)) * -2 - l3new.bbbbbb += np.transpose(tmp988, (4, 5, 3, 2, 0, 1)) * -1 - l3new.bbbbbb += np.transpose(tmp989, (3, 5, 4, 1, 2, 0)) * -1 - l3new.bbbbbb += np.transpose(tmp985, (5, 4, 3, 1, 0, 2)) * 2 - l3new.bbbbbb += np.transpose(tmp989, (5, 3, 4, 2, 1, 0)) * -1 - l3new.bbbbbb += np.transpose(tmp984, (4, 5, 3, 0, 2, 1)) * 2 - l3new.bbbbbb += np.transpose(tmp989, (5, 3, 4, 1, 2, 0)) - l3new.bbbbbb += np.transpose(tmp984, (4, 5, 3, 2, 0, 1)) * -2 - l3new.bbbbbb += np.transpose(tmp988, (4, 5, 3, 2, 1, 0)) - del tmp988 - tmp990 = einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp257, (4, 5, 6, 3), (0, 2, 4, 1, 5, 6)) * 2 - l3new.bbbbbb += np.transpose(tmp990, (3, 5, 4, 1, 0, 2)) - l3new.bbbbbb += np.transpose(tmp985, (5, 4, 3, 1, 2, 0)) * -2 - l3new.bbbbbb += np.transpose(tmp990, (5, 3, 4, 1, 0, 2)) * -1 - l3new.bbbbbb += np.transpose(tmp984, (4, 5, 3, 2, 1, 0)) * 2 - del tmp984 - l3new.bbbbbb += np.transpose(tmp989, (5, 4, 3, 2, 1, 0)) - l3new.bbbbbb += np.transpose(tmp985, (4, 3, 5, 0, 1, 2)) * -2 - l3new.bbbbbb += np.transpose(tmp989, (5, 4, 3, 1, 2, 0)) * -1 - del tmp989 - l3new.bbbbbb += np.transpose(tmp985, (4, 3, 5, 1, 0, 2)) * 2 - l3new.bbbbbb += np.transpose(tmp990, (5, 4, 3, 1, 0, 2)) - del tmp990 - l3new.bbbbbb += np.transpose(tmp985, (4, 3, 5, 1, 2, 0)) * -2 - del tmp985 - l3new.bbbbbb += np.transpose(tmp284, (4, 3, 5, 1, 0, 2)) * -2 - l3new.bbbbbb += np.transpose(tmp284, (4, 3, 5, 1, 2, 0)) * 2 - l3new.bbbbbb += np.transpose(tmp284, (4, 3, 5, 2, 1, 0)) * -2 - l3new.bbbbbb += np.transpose(tmp284, (3, 4, 5, 1, 0, 2)) * 2 - l3new.bbbbbb += np.transpose(tmp284, (3, 5, 4, 1, 0, 2)) * -2 - l3new.bbbbbb += np.transpose(tmp284, (3, 4, 5, 1, 2, 0)) * -2 - l3new.bbbbbb += np.transpose(tmp284, (3, 5, 4, 1, 2, 0)) * 2 - l3new.bbbbbb += np.transpose(tmp284, (3, 4, 5, 2, 1, 0)) * 2 - l3new.bbbbbb += np.transpose(tmp284, (3, 5, 4, 2, 1, 0)) * -2 - l3new.bbbbbb += np.transpose(tmp714, (4, 3, 5, 1, 2, 0)) * 6 - l3new.bbbbbb += np.transpose(tmp712, (3, 5, 4, 1, 2, 0)) * -6 - l3new.bbbbbb += np.transpose(tmp714, (3, 4, 5, 1, 2, 0)) * -6 - l3new.bbbbbb += np.transpose(tmp977, (5, 4, 3, 1, 2, 0)) * -12 - del tmp977 - l3new.bbbbbb += np.transpose(tmp714, (3, 5, 4, 1, 2, 0)) * 6 - tmp635 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t1.bb, (2, 1), (0, 3)) - l3new.bbbbbb += einsum(tmp635, (0, 1), l2.bbbb, (2, 3, 4, 5), (1, 2, 3, 4, 5, 0)) * -2 - tmp991 = einsum(v.bbbb.ooov, (0, 1, 2, 3), tmp652, (4, 1, 5, 2, 6, 7), (4, 5, 0, 6, 7, 3)) * -1 - l3new.bbbbbb += np.transpose(tmp991, (5, 4, 3, 1, 0, 2)) * 6 - tmp327 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 5, 1), (4, 0, 5, 3)) - tmp992 = einsum(tmp327, (0, 1, 2, 3), l3.babbab, (4, 2, 5, 6, 0, 7), (6, 7, 1, 4, 5, 3)) - l3new.bbbbbb += np.transpose(tmp992, (5, 4, 3, 1, 0, 2)) * -2 - tmp328 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (4, 2, 5, 1), (4, 0, 5, 3)) - tmp993 = einsum(tmp328, (0, 1, 2, 3), l3.bbbbbb, (4, 5, 2, 6, 7, 0), (6, 7, 1, 4, 5, 3)) - l3new.bbbbbb += np.transpose(tmp993, (5, 4, 3, 1, 0, 2)) * -12 - tmp994 = einsum(tmp227, (0, 1, 2, 3), tmp652, (4, 0, 5, 1, 6, 7), (4, 5, 2, 6, 7, 3)) * -1 - l3new.bbbbbb += np.transpose(tmp994, (5, 4, 3, 1, 0, 2)) * 6 - tmp292 = einsum(t1.bb, (0, 1), l2.bbbb, (2, 1, 3, 4), (3, 4, 0, 2)) - tmp293 = np.copy(np.transpose(tmp292, (1, 0, 2, 3))) * -1 - tmp128 = einsum(t2.abab, (0, 1, 2, 3), l3.babbab, (4, 2, 3, 5, 0, 6), (5, 6, 1, 4)) - tmp293 += np.transpose(tmp128, (1, 0, 2, 3)) * -1 - tmp129 = einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), t2.bbbb, (6, 5, 1, 2), (3, 4, 6, 0)) - tmp293 += np.transpose(tmp129, (1, 0, 2, 3)) * -3 - tmp995 = einsum(tmp293, (0, 1, 2, 3), v.bbbb.ovov, (4, 5, 2, 6), (4, 0, 1, 6, 5, 3)) - l3new.bbbbbb += np.transpose(tmp995, (3, 4, 5, 2, 1, 0)) * 2 - l3new.bbbbbb += einsum(l2.bbbb, (0, 1, 2, 3), tmp635, (4, 5), (0, 5, 1, 2, 3, 4)) * 2 - l3new.bbbbbb += np.transpose(tmp991, (4, 5, 3, 1, 0, 2)) * -6 - l3new.bbbbbb += np.transpose(tmp992, (4, 5, 3, 1, 0, 2)) * 2 - l3new.bbbbbb += np.transpose(tmp993, (4, 5, 3, 1, 0, 2)) * 12 - l3new.bbbbbb += np.transpose(tmp994, (4, 5, 3, 1, 0, 2)) * -6 - l3new.bbbbbb += np.transpose(tmp995, (4, 3, 5, 2, 1, 0)) * -2 - l3new.bbbbbb += einsum(tmp635, (0, 1), l2.bbbb, (2, 3, 4, 5), (1, 2, 3, 4, 0, 5)) * 2 - l3new.bbbbbb += np.transpose(tmp991, (5, 4, 3, 1, 2, 0)) * -6 - l3new.bbbbbb += np.transpose(tmp992, (5, 4, 3, 1, 2, 0)) * 2 - l3new.bbbbbb += np.transpose(tmp993, (5, 4, 3, 1, 2, 0)) * 12 - l3new.bbbbbb += np.transpose(tmp994, (5, 4, 3, 1, 2, 0)) * -6 - l3new.bbbbbb += np.transpose(tmp995, (3, 4, 5, 2, 0, 1)) * -2 - l3new.bbbbbb += einsum(l2.bbbb, (0, 1, 2, 3), tmp635, (4, 5), (0, 5, 1, 2, 4, 3)) * -2 - l3new.bbbbbb += np.transpose(tmp991, (4, 5, 3, 1, 2, 0)) * 6 - l3new.bbbbbb += np.transpose(tmp992, (4, 5, 3, 1, 2, 0)) * -2 - l3new.bbbbbb += np.transpose(tmp993, (4, 5, 3, 1, 2, 0)) * -12 - l3new.bbbbbb += np.transpose(tmp994, (4, 5, 3, 1, 2, 0)) * 6 - l3new.bbbbbb += np.transpose(tmp995, (4, 3, 5, 2, 0, 1)) * 2 - l3new.bbbbbb += np.transpose(tmp995, (3, 5, 4, 2, 1, 0)) * -2 - l3new.bbbbbb += einsum(l2.bbbb, (0, 1, 2, 3), tmp635, (4, 5), (0, 1, 5, 2, 3, 4)) * -2 - l3new.bbbbbb += np.transpose(tmp991, (4, 3, 5, 1, 0, 2)) * 6 - l3new.bbbbbb += np.transpose(tmp992, (4, 3, 5, 1, 0, 2)) * -2 - l3new.bbbbbb += np.transpose(tmp993, (4, 3, 5, 1, 0, 2)) * -12 - l3new.bbbbbb += np.transpose(tmp994, (4, 3, 5, 1, 0, 2)) * 6 - l3new.bbbbbb += np.transpose(tmp995, (4, 5, 3, 2, 1, 0)) * 2 - l3new.bbbbbb += np.transpose(tmp995, (3, 5, 4, 2, 0, 1)) * 2 - l3new.bbbbbb += einsum(l2.bbbb, (0, 1, 2, 3), tmp635, (4, 5), (0, 1, 5, 2, 4, 3)) * 2 - l3new.bbbbbb += np.transpose(tmp991, (4, 3, 5, 1, 2, 0)) * -6 - l3new.bbbbbb += np.transpose(tmp992, (4, 3, 5, 1, 2, 0)) * 2 - l3new.bbbbbb += np.transpose(tmp993, (4, 3, 5, 1, 2, 0)) * 12 - l3new.bbbbbb += np.transpose(tmp994, (4, 3, 5, 1, 2, 0)) * -6 - l3new.bbbbbb += np.transpose(tmp995, (4, 5, 3, 2, 0, 1)) * -2 - l3new.bbbbbb += einsum(tmp635, (0, 1), l2.bbbb, (2, 3, 4, 5), (1, 2, 3, 0, 4, 5)) * -2 - l3new.bbbbbb += np.transpose(tmp991, (5, 4, 3, 2, 1, 0)) * 6 - l3new.bbbbbb += np.transpose(tmp992, (5, 4, 3, 2, 1, 0)) * -2 - l3new.bbbbbb += np.transpose(tmp993, (5, 4, 3, 2, 1, 0)) * -12 - l3new.bbbbbb += np.transpose(tmp994, (5, 4, 3, 2, 1, 0)) * 6 - l3new.bbbbbb += np.transpose(tmp995, (3, 4, 5, 0, 2, 1)) * 2 - l3new.bbbbbb += einsum(tmp635, (0, 1), l2.bbbb, (2, 3, 4, 5), (2, 1, 3, 0, 4, 5)) * 2 - l3new.bbbbbb += np.transpose(tmp991, (4, 5, 3, 2, 1, 0)) * -6 - l3new.bbbbbb += np.transpose(tmp992, (4, 5, 3, 2, 1, 0)) * 2 - l3new.bbbbbb += np.transpose(tmp993, (4, 5, 3, 2, 1, 0)) * 12 - l3new.bbbbbb += np.transpose(tmp994, (4, 5, 3, 2, 1, 0)) * -6 - l3new.bbbbbb += np.transpose(tmp995, (4, 3, 5, 0, 2, 1)) * -2 - l3new.bbbbbb += np.transpose(tmp995, (3, 5, 4, 0, 2, 1)) * -2 - l3new.bbbbbb += einsum(l2.bbbb, (0, 1, 2, 3), tmp635, (4, 5), (0, 1, 5, 4, 2, 3)) * -2 - l3new.bbbbbb += np.transpose(tmp991, (4, 3, 5, 2, 1, 0)) * 6 - del tmp991 - l3new.bbbbbb += np.transpose(tmp992, (4, 3, 5, 2, 1, 0)) * -2 - del tmp992 - l3new.bbbbbb += np.transpose(tmp993, (4, 3, 5, 2, 1, 0)) * -12 - del tmp993 - l3new.bbbbbb += np.transpose(tmp994, (4, 3, 5, 2, 1, 0)) * 6 - del tmp994 - l3new.bbbbbb += np.transpose(tmp995, (4, 5, 3, 0, 2, 1)) * 2 - l3new.bbbbbb += np.transpose(tmp995, (5, 3, 4, 2, 1, 0)) * 2 - l3new.bbbbbb += np.transpose(tmp995, (5, 4, 3, 2, 1, 0)) * -2 - l3new.bbbbbb += np.transpose(tmp995, (5, 3, 4, 2, 0, 1)) * -2 - l3new.bbbbbb += np.transpose(tmp995, (5, 4, 3, 2, 0, 1)) * 2 - l3new.bbbbbb += np.transpose(tmp995, (5, 3, 4, 0, 2, 1)) * 2 - l3new.bbbbbb += np.transpose(tmp995, (5, 4, 3, 0, 2, 1)) * -2 - del tmp995 - tmp381 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t1.bb, (6, 1), (3, 5, 4, 6, 0, 2)) - tmp382 = einsum(tmp381, (0, 1, 2, 3, 4, 5), v.aabb.ovoo, (6, 7, 3, 2), (0, 1, 6, 4, 5, 7)) - l3new.aaaaaa = np.copy(np.transpose(tmp382, (5, 4, 3, 1, 0, 2))) * -2 - tmp148 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.abab, (2, 4, 3, 5), (0, 4, 1, 5)) - tmp755 = einsum(tmp148, (0, 1, 2, 3), l3.abaaba, (4, 3, 5, 6, 1, 7), (6, 7, 0, 4, 5, 2)) - l3new.aaaaaa += np.transpose(tmp755, (5, 4, 3, 1, 0, 2)) * 2 - tmp68 = einsum(l2.aaaa, (0, 1, 2, 3), v.aaaa.ovvv, (4, 5, 6, 1), (2, 3, 4, 0, 5, 6)) - l3new.aaaaaa += np.transpose(tmp68, (4, 5, 3, 1, 0, 2)) * 2 - tmp383 = einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), t1.aa, (6, 2), (3, 4, 5, 6, 0, 1)) - tmp460 = einsum(v.aaaa.ovoo, (0, 1, 2, 3), tmp383, (4, 3, 5, 2, 6, 7), (4, 5, 0, 6, 7, 1)) * -1 - l3new.aaaaaa += np.transpose(tmp460, (5, 4, 3, 1, 0, 2)) * -6 - tmp140 = einsum(v.aabb.ovov, (0, 1, 2, 3), t1.bb, (4, 3), (0, 4, 2, 1)) - tmp756 = einsum(tmp140, (0, 1, 2, 3), tmp381, (4, 5, 1, 2, 6, 7), (4, 5, 0, 6, 7, 3)) - l3new.aaaaaa += np.transpose(tmp756, (5, 4, 3, 1, 0, 2)) * -2 - tmp374 = einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), t2.aaaa, (6, 5, 7, 2), (3, 4, 6, 0, 1, 7)) - tmp757 = einsum(tmp374, (0, 1, 2, 3, 4, 5), v.aaaa.ovov, (6, 7, 2, 5), (0, 1, 6, 3, 4, 7)) - l3new.aaaaaa += np.transpose(tmp757, (5, 4, 3, 1, 0, 2)) * 12 - tmp77 = einsum(t1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) - tmp384 = einsum(tmp77, (0, 1, 2, 3), tmp383, (4, 5, 0, 2, 6, 7), (4, 5, 1, 6, 7, 3)) - l3new.aaaaaa += np.transpose(tmp384, (5, 4, 3, 1, 0, 2)) * -6 - tmp397 = einsum(v.aabb.ovvv, (0, 1, 2, 3), l3.abaaba, (4, 3, 5, 6, 7, 8), (6, 8, 0, 7, 4, 5, 1, 2)) - tmp758 = einsum(tmp397, (0, 1, 2, 3, 4, 5, 6, 7), t1.bb, (3, 7), (0, 1, 2, 4, 5, 6)) - l3new.aaaaaa += np.transpose(tmp758, (5, 4, 3, 1, 0, 2)) * 2 - tmp759 = np.copy(np.transpose(l3.abaaba, (3, 5, 4, 0, 2, 1))) - tmp375 = einsum(t2.abab, (0, 1, 2, 3), l3.aaaaaa, (4, 5, 2, 6, 7, 0), (6, 7, 1, 4, 5, 3)) - tmp759 += np.transpose(tmp375, (1, 0, 2, 4, 3, 5)) * 3 - tmp376 = einsum(t2.bbbb, (0, 1, 2, 3), l3.abaaba, (4, 3, 5, 6, 1, 7), (6, 7, 0, 4, 5, 2)) - tmp759 += np.transpose(tmp376, (1, 0, 2, 4, 3, 5)) * 2 - tmp760 = einsum(v.aabb.ovov, (0, 1, 2, 3), tmp759, (4, 5, 2, 6, 7, 3), (0, 4, 5, 1, 6, 7)) - del tmp759 - l3new.aaaaaa += np.transpose(tmp760, (3, 5, 4, 2, 1, 0)) * 2 - tmp761 = np.copy(np.transpose(v.aaaa.ovov, (0, 2, 1, 3))) - tmp761 += v.aaaa.oovv * -1 - tmp762 = einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), tmp761, (5, 6, 2, 7), (3, 4, 6, 0, 1, 7)) * -1 - l3new.aaaaaa += np.transpose(tmp762, (5, 4, 3, 0, 1, 2)) * 6 - tmp379 = einsum(v.aaaa.ovvv, (0, 1, 2, 3), l3.aaaaaa, (4, 5, 3, 6, 7, 8), (6, 7, 8, 0, 4, 5, 1, 2)) - tmp763 = np.copy(np.transpose(tmp379, (1, 2, 0, 3, 5, 4, 6, 7))) - tmp763 += np.transpose(tmp379, (1, 2, 0, 3, 5, 4, 7, 6)) * -1 - tmp764 = einsum(t1.aa, (0, 1), tmp763, (0, 2, 3, 4, 5, 6, 7, 1), (2, 3, 4, 5, 6, 7)) - l3new.aaaaaa += np.transpose(tmp764, (5, 4, 3, 0, 1, 2)) * 6 - tmp166 = np.copy(f.aa.oo) - tmp161 = einsum(v.aabb.ooov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1)) - tmp166 += np.transpose(tmp161, (1, 0)) - tmp162 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.aaaa, (4, 2, 1, 3), (4, 0)) - tmp166 += tmp162 * 2 - tmp163 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 1, 3), (0, 4)) - tmp166 += tmp163 - tmp31 = np.copy(v.aaaa.ooov) - tmp31 += np.transpose(v.aaaa.ovoo, (0, 2, 3, 1)) * -1 - tmp164 = einsum(t1.aa, (0, 1), tmp31, (0, 2, 3, 1), (2, 3)) - tmp166 += tmp164 * -1 - del tmp164 - tmp160 = np.copy(f.aa.ov) - tmp158 = einsum(v.aabb.ovov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1)) - tmp160 += tmp158 - tmp60 = np.copy(np.transpose(v.aaaa.ovov, (0, 2, 3, 1))) * -1 - tmp60 += np.transpose(v.aaaa.ovov, (0, 2, 1, 3)) - tmp159 = einsum(tmp60, (0, 1, 2, 3), t1.aa, (0, 3), (1, 2)) - tmp160 += tmp159 * -1 - del tmp159 - tmp165 = einsum(tmp160, (0, 1), t1.aa, (2, 1), (2, 0)) - tmp166 += tmp165 - tmp765 = einsum(tmp166, (0, 1), l3.aaaaaa, (2, 3, 4, 5, 6, 0), (5, 6, 1, 2, 3, 4)) * 3 - l3new.aaaaaa += np.transpose(tmp765, (4, 5, 3, 0, 1, 2)) * -2 - del tmp765 - tmp433 = np.copy(f.aa.ov) - tmp419 = einsum(t1.aa, (0, 1), v.aaaa.ovov, (2, 3, 0, 1), (2, 3)) - tmp433 += tmp419 - tmp433 += tmp158 - l3new.aaaaaa += einsum(l2.aaaa, (0, 1, 2, 3), tmp433, (4, 5), (5, 0, 1, 2, 3, 4)) * 2 - l3new.aaaaaa += np.transpose(tmp382, (5, 4, 3, 1, 2, 0)) * 2 - l3new.aaaaaa += np.transpose(tmp755, (5, 4, 3, 1, 2, 0)) * -2 - l3new.aaaaaa += np.transpose(tmp68, (4, 5, 3, 1, 2, 0)) * -2 - l3new.aaaaaa += np.transpose(tmp460, (5, 4, 3, 1, 2, 0)) * 6 - l3new.aaaaaa += np.transpose(tmp756, (5, 4, 3, 1, 2, 0)) * 2 - l3new.aaaaaa += np.transpose(tmp757, (5, 4, 3, 1, 2, 0)) * -12 - l3new.aaaaaa += np.transpose(tmp384, (5, 4, 3, 1, 2, 0)) * 6 - l3new.aaaaaa += np.transpose(tmp758, (5, 4, 3, 1, 2, 0)) * -2 - tmp766 = np.copy(np.transpose(l3.abaaba, (3, 5, 4, 0, 2, 1))) * 0.33333333333333 - tmp766 += np.transpose(tmp375, (1, 0, 2, 4, 3, 5)) - tmp766 += np.transpose(tmp376, (1, 0, 2, 4, 3, 5)) * 0.6666666666666666 - tmp767 = einsum(v.aabb.ovov, (0, 1, 2, 3), tmp766, (4, 5, 2, 6, 7, 3), (0, 4, 5, 1, 6, 7)) * 3 - del tmp766 - l3new.aaaaaa += np.transpose(tmp767, (3, 5, 4, 2, 0, 1)) * -2 - l3new.aaaaaa += np.transpose(tmp762, (5, 4, 3, 0, 2, 1)) * -6 - tmp768 = np.copy(np.transpose(tmp379, (1, 2, 0, 3, 5, 4, 6, 7))) * -1 - tmp768 += np.transpose(tmp379, (1, 2, 0, 3, 5, 4, 7, 6)) - tmp769 = einsum(t1.aa, (0, 1), tmp768, (0, 2, 3, 4, 5, 6, 7, 1), (2, 3, 4, 5, 6, 7)) - l3new.aaaaaa += np.transpose(tmp769, (5, 4, 3, 0, 2, 1)) * 6 - tmp772 = np.copy(f.aa.oo) * 0.5 - tmp772 += np.transpose(tmp161, (1, 0)) * 0.5 - tmp772 += tmp162 - tmp772 += tmp163 * 0.5 - tmp770 = einsum(t1.aa, (0, 1), tmp31, (0, 2, 3, 1), (2, 3)) * 0.5 - tmp772 += tmp770 * -1 - tmp771 = einsum(tmp160, (0, 1), t1.aa, (2, 1), (2, 0)) * 0.5 - tmp772 += tmp771 - tmp773 = einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), tmp772, (5, 6), (3, 4, 6, 0, 1, 2)) * 6 - del tmp772 - l3new.aaaaaa += np.transpose(tmp773, (4, 5, 3, 0, 2, 1)) * 2 - l3new.aaaaaa += einsum(tmp433, (0, 1), l2.aaaa, (2, 3, 4, 5), (1, 2, 3, 4, 0, 5)) * -2 - l3new.aaaaaa += np.transpose(tmp382, (4, 5, 3, 1, 0, 2)) * 2 - l3new.aaaaaa += np.transpose(tmp755, (4, 5, 3, 1, 0, 2)) * -2 - l3new.aaaaaa += np.transpose(tmp460, (4, 5, 3, 1, 0, 2)) * 6 - l3new.aaaaaa += np.transpose(tmp68, (5, 4, 3, 1, 0, 2)) * -2 - l3new.aaaaaa += np.transpose(tmp756, (4, 5, 3, 1, 0, 2)) * 2 - l3new.aaaaaa += np.transpose(tmp757, (4, 5, 3, 1, 0, 2)) * -12 - l3new.aaaaaa += np.transpose(tmp384, (4, 5, 3, 1, 0, 2)) * 6 - l3new.aaaaaa += np.transpose(tmp758, (4, 5, 3, 1, 0, 2)) * -2 - l3new.aaaaaa += np.transpose(tmp760, (5, 3, 4, 2, 1, 0)) * -2 - l3new.aaaaaa += np.transpose(tmp762, (4, 5, 3, 0, 1, 2)) * -6 - tmp774 = einsum(t1.aa, (0, 1), tmp763, (0, 2, 3, 4, 5, 6, 1, 7), (2, 3, 4, 5, 6, 7)) - del tmp763 - l3new.aaaaaa += np.transpose(tmp774, (4, 5, 3, 0, 1, 2)) * 6 - l3new.aaaaaa += einsum(l2.aaaa, (0, 1, 2, 3), tmp433, (4, 5), (0, 5, 1, 2, 3, 4)) * -2 - l3new.aaaaaa += np.transpose(tmp382, (4, 5, 3, 1, 2, 0)) * -2 - l3new.aaaaaa += np.transpose(tmp755, (4, 5, 3, 1, 2, 0)) * 2 - l3new.aaaaaa += np.transpose(tmp68, (5, 4, 3, 1, 2, 0)) * 2 - l3new.aaaaaa += np.transpose(tmp460, (4, 5, 3, 1, 2, 0)) * -6 - l3new.aaaaaa += np.transpose(tmp756, (4, 5, 3, 1, 2, 0)) * -2 - l3new.aaaaaa += np.transpose(tmp757, (4, 5, 3, 1, 2, 0)) * 12 - l3new.aaaaaa += np.transpose(tmp384, (4, 5, 3, 1, 2, 0)) * -6 - l3new.aaaaaa += np.transpose(tmp758, (4, 5, 3, 1, 2, 0)) * 2 - l3new.aaaaaa += np.transpose(tmp767, (5, 3, 4, 2, 0, 1)) * 2 - l3new.aaaaaa += np.transpose(tmp762, (4, 5, 3, 0, 2, 1)) * 6 - tmp775 = einsum(t1.aa, (0, 1), tmp768, (0, 2, 3, 4, 5, 6, 1, 7), (2, 3, 4, 5, 6, 7)) - del tmp768 - l3new.aaaaaa += np.transpose(tmp775, (4, 5, 3, 0, 2, 1)) * 6 - l3new.aaaaaa += einsum(tmp433, (0, 1), l2.aaaa, (2, 3, 4, 5), (2, 1, 3, 4, 0, 5)) * 2 - l3new.aaaaaa += np.transpose(tmp382, (5, 4, 3, 2, 1, 0)) * -2 - l3new.aaaaaa += np.transpose(tmp755, (5, 4, 3, 2, 1, 0)) * 2 - l3new.aaaaaa += np.transpose(tmp68, (4, 5, 3, 2, 1, 0)) * 2 - l3new.aaaaaa += np.transpose(tmp460, (5, 4, 3, 2, 1, 0)) * -6 - l3new.aaaaaa += np.transpose(tmp756, (5, 4, 3, 2, 1, 0)) * -2 - l3new.aaaaaa += np.transpose(tmp757, (5, 4, 3, 2, 1, 0)) * 12 - l3new.aaaaaa += np.transpose(tmp384, (5, 4, 3, 2, 1, 0)) * -6 - l3new.aaaaaa += np.transpose(tmp758, (5, 4, 3, 2, 1, 0)) * 2 - l3new.aaaaaa += np.transpose(tmp767, (3, 5, 4, 0, 2, 1)) * 2 - l3new.aaaaaa += np.transpose(tmp762, (5, 4, 3, 2, 0, 1)) * 6 - l3new.aaaaaa += np.transpose(tmp764, (5, 4, 3, 2, 0, 1)) * 6 - del tmp764 - l3new.aaaaaa += np.transpose(tmp773, (4, 5, 3, 2, 0, 1)) * -2 - del tmp773 - l3new.aaaaaa += einsum(l2.aaaa, (0, 1, 2, 3), tmp433, (4, 5), (5, 0, 1, 4, 2, 3)) * 2 - l3new.aaaaaa += np.transpose(tmp382, (4, 5, 3, 2, 1, 0)) * 2 - l3new.aaaaaa += np.transpose(tmp755, (4, 5, 3, 2, 1, 0)) * -2 - l3new.aaaaaa += np.transpose(tmp460, (4, 5, 3, 2, 1, 0)) * 6 - l3new.aaaaaa += np.transpose(tmp68, (5, 4, 3, 2, 1, 0)) * -2 - l3new.aaaaaa += np.transpose(tmp756, (4, 5, 3, 2, 1, 0)) * 2 - l3new.aaaaaa += np.transpose(tmp757, (4, 5, 3, 2, 1, 0)) * -12 - l3new.aaaaaa += np.transpose(tmp384, (4, 5, 3, 2, 1, 0)) * 6 - l3new.aaaaaa += np.transpose(tmp758, (4, 5, 3, 2, 1, 0)) * -2 - l3new.aaaaaa += np.transpose(tmp767, (5, 3, 4, 0, 2, 1)) * -2 - l3new.aaaaaa += np.transpose(tmp762, (4, 5, 3, 2, 0, 1)) * -6 - l3new.aaaaaa += np.transpose(tmp769, (4, 5, 3, 2, 0, 1)) * 6 - del tmp769 - l3new.aaaaaa += einsum(tmp433, (0, 1), l2.aaaa, (2, 3, 4, 5), (2, 1, 3, 0, 4, 5)) * -2 - l3new.aaaaaa += np.transpose(tmp382, (4, 3, 5, 1, 0, 2)) * -2 - l3new.aaaaaa += np.transpose(tmp755, (4, 3, 5, 1, 0, 2)) * 2 - l3new.aaaaaa += np.transpose(tmp68, (5, 3, 4, 1, 0, 2)) * 2 - l3new.aaaaaa += np.transpose(tmp460, (4, 3, 5, 1, 0, 2)) * -6 - l3new.aaaaaa += np.transpose(tmp756, (4, 3, 5, 1, 0, 2)) * -2 - l3new.aaaaaa += np.transpose(tmp757, (4, 3, 5, 1, 0, 2)) * 12 - l3new.aaaaaa += np.transpose(tmp384, (4, 3, 5, 1, 0, 2)) * -6 - l3new.aaaaaa += np.transpose(tmp758, (4, 3, 5, 1, 0, 2)) * 2 - l3new.aaaaaa += np.transpose(tmp760, (5, 4, 3, 2, 1, 0)) * 2 - del tmp760 - l3new.aaaaaa += np.transpose(tmp762, (4, 3, 5, 0, 1, 2)) * 6 - l3new.aaaaaa += np.transpose(tmp775, (4, 3, 5, 0, 1, 2)) * 6 - l3new.aaaaaa += einsum(l2.aaaa, (0, 1, 2, 3), tmp433, (4, 5), (0, 1, 5, 2, 3, 4)) * 2 - l3new.aaaaaa += np.transpose(tmp382, (4, 3, 5, 1, 2, 0)) * 2 - l3new.aaaaaa += np.transpose(tmp755, (4, 3, 5, 1, 2, 0)) * -2 - l3new.aaaaaa += np.transpose(tmp460, (4, 3, 5, 1, 2, 0)) * 6 - l3new.aaaaaa += np.transpose(tmp68, (5, 3, 4, 1, 2, 0)) * -2 - l3new.aaaaaa += np.transpose(tmp756, (4, 3, 5, 1, 2, 0)) * 2 - l3new.aaaaaa += np.transpose(tmp757, (4, 3, 5, 1, 2, 0)) * -12 - l3new.aaaaaa += np.transpose(tmp384, (4, 3, 5, 1, 2, 0)) * 6 - l3new.aaaaaa += np.transpose(tmp758, (4, 3, 5, 1, 2, 0)) * -2 - l3new.aaaaaa += np.transpose(tmp767, (5, 4, 3, 2, 0, 1)) * -2 - l3new.aaaaaa += np.transpose(tmp762, (4, 3, 5, 0, 2, 1)) * -6 - l3new.aaaaaa += np.transpose(tmp774, (4, 3, 5, 0, 2, 1)) * 6 - del tmp774 - l3new.aaaaaa += einsum(tmp433, (0, 1), l2.aaaa, (2, 3, 4, 5), (2, 3, 1, 4, 0, 5)) * -2 - l3new.aaaaaa += np.transpose(tmp382, (4, 3, 5, 2, 1, 0)) * -2 - l3new.aaaaaa += np.transpose(tmp755, (4, 3, 5, 2, 1, 0)) * 2 - del tmp755 - l3new.aaaaaa += np.transpose(tmp68, (5, 3, 4, 2, 1, 0)) * 2 - l3new.aaaaaa += np.transpose(tmp460, (4, 3, 5, 2, 1, 0)) * -6 - l3new.aaaaaa += np.transpose(tmp756, (4, 3, 5, 2, 1, 0)) * -2 - del tmp756 - l3new.aaaaaa += np.transpose(tmp757, (4, 3, 5, 2, 1, 0)) * 12 - del tmp757 - l3new.aaaaaa += np.transpose(tmp384, (4, 3, 5, 2, 1, 0)) * -6 - l3new.aaaaaa += np.transpose(tmp758, (4, 3, 5, 2, 1, 0)) * 2 - del tmp758 - l3new.aaaaaa += np.transpose(tmp767, (5, 4, 3, 0, 2, 1)) * 2 - del tmp767 - l3new.aaaaaa += np.transpose(tmp762, (4, 3, 5, 2, 0, 1)) * 6 - del tmp762 - l3new.aaaaaa += np.transpose(tmp775, (4, 3, 5, 2, 0, 1)) * 6 - del tmp775 - l3new.aaaaaa += einsum(tmp433, (0, 1), l2.aaaa, (2, 3, 4, 5), (2, 3, 1, 0, 4, 5)) * 2 - tmp459 = einsum(v.aaaa.vvvv, (0, 1, 2, 3), l3.aaaaaa, (4, 3, 1, 5, 6, 7), (5, 6, 7, 4, 0, 2)) * -1 - l3new.aaaaaa += np.transpose(tmp459, (5, 4, 3, 1, 2, 0)) * -6 - tmp461 = einsum(t1.aa, (0, 1), tmp379, (2, 3, 4, 0, 5, 1, 6, 7), (2, 3, 4, 5, 6, 7)) - l3new.aaaaaa += np.transpose(tmp461, (4, 5, 3, 1, 2, 0)) * -6 - tmp443 = einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), t2.aaaa, (6, 7, 1, 2), (3, 4, 5, 6, 7, 0)) - tmp464 = np.copy(np.transpose(tmp443, (1, 2, 0, 4, 3, 5))) * -1 - tmp463 = einsum(tmp383, (0, 1, 2, 3, 4, 5), t1.aa, (6, 5), (0, 1, 2, 3, 6, 4)) * -1 - tmp464 += np.transpose(tmp463, (1, 2, 0, 4, 3, 5)) * -1 - del tmp463 - tmp776 = einsum(v.aaaa.ovov, (0, 1, 2, 3), tmp464, (4, 5, 6, 0, 2, 7), (4, 5, 6, 7, 1, 3)) * 0.5 - l3new.aaaaaa += np.transpose(tmp776, (5, 4, 3, 1, 2, 0)) * -12 - tmp223 = np.copy(f.aa.vv) * -1 - tmp219 = einsum(v.aabb.vvov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1)) - tmp223 += np.transpose(tmp219, (1, 0)) * -1 - tmp220 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (0, 3, 1, 4), (2, 4)) * -1 - tmp223 += tmp220 * 2 - tmp221 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 4, 1, 3), (2, 4)) - tmp223 += tmp221 - tmp172 = np.copy(v.aaaa.ovvv) - tmp172 += np.transpose(v.aaaa.ovvv, (0, 2, 1, 3)) * -1 - tmp222 = einsum(t1.aa, (0, 1), tmp172, (0, 1, 2, 3), (2, 3)) - tmp223 += np.transpose(tmp222, (1, 0)) * -1 - del tmp222 - tmp777 = einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), tmp223, (2, 6), (3, 4, 5, 0, 1, 6)) * -1 - l3new.aaaaaa += np.transpose(tmp777, (5, 4, 3, 1, 2, 0)) * -6 - tmp778 = einsum(tmp160, (0, 1), tmp383, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) - l3new.aaaaaa += np.transpose(tmp778, (3, 5, 4, 1, 2, 0)) * 3 - tmp589 = np.copy(f.aa.ov) - tmp589 += tmp158 - tmp587 = np.copy(np.transpose(v.aaaa.ovov, (0, 2, 3, 1))) * -1 - tmp587 += np.transpose(v.aaaa.ovov, (0, 2, 1, 3)) - tmp588 = einsum(tmp587, (0, 1, 2, 3), t1.aa, (0, 3), (1, 2)) - del tmp587 - tmp589 += tmp588 * -1 - del tmp588 - tmp779 = einsum(tmp589, (0, 1), tmp383, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 6, 1)) - l3new.aaaaaa += np.transpose(tmp779, (5, 4, 3, 1, 2, 0)) * 3 - l3new.aaaaaa += np.transpose(tmp461, (5, 4, 3, 1, 2, 0)) * 6 - l3new.aaaaaa += np.transpose(tmp777, (4, 5, 3, 1, 2, 0)) * 6 - del tmp777 - l3new.aaaaaa += np.transpose(tmp779, (4, 5, 3, 1, 2, 0)) * -6 - l3new.aaaaaa += np.transpose(tmp459, (5, 3, 4, 1, 2, 0)) * 6 - l3new.aaaaaa += np.transpose(tmp461, (5, 3, 4, 1, 2, 0)) * -6 - l3new.aaaaaa += np.transpose(tmp776, (5, 3, 4, 1, 2, 0)) * 12 - tmp484 = np.copy(f.aa.vv) * -1 - tmp484 += np.transpose(tmp219, (1, 0)) * -1 - tmp484 += np.transpose(tmp220, (1, 0)) * 2 - tmp484 += np.transpose(tmp221, (1, 0)) - tmp58 = np.copy(v.aaaa.ovvv) - tmp58 += np.transpose(v.aaaa.ovvv, (0, 2, 3, 1)) * -1 - tmp483 = einsum(t1.aa, (0, 1), tmp58, (0, 1, 2, 3), (2, 3)) - tmp484 += np.transpose(tmp483, (1, 0)) * -1 - del tmp483 - tmp780 = einsum(tmp484, (0, 1), l3.aaaaaa, (2, 3, 1, 4, 5, 6), (4, 5, 6, 2, 3, 0)) * -1 - l3new.aaaaaa += np.transpose(tmp780, (4, 3, 5, 1, 2, 0)) * -6 - del tmp780 - l3new.aaaaaa += np.transpose(tmp778, (5, 4, 3, 1, 2, 0)) * 3 - del tmp778 - l3new.aaaaaa += np.transpose(tmp779, (4, 3, 5, 1, 2, 0)) * 3 - del tmp779 - l3new.aaaaaa += einsum(v.aaaa.ovov, (0, 1, 2, 3), l1.aa, (4, 5), (1, 3, 4, 5, 0, 2)) - tmp3 = einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), t2.aaaa, (4, 5, 6, 2), (3, 0, 1, 6)) - tmp19 = np.copy(np.transpose(tmp3, (0, 2, 1, 3))) * -1 - tmp4 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t2.abab, (5, 4, 6, 1), (3, 0, 2, 6)) - tmp19 += np.transpose(tmp4, (0, 2, 1, 3)) * -0.3333333333333333 - tmp781 = einsum(v.aaaa.ovov, (0, 1, 2, 3), tmp19, (4, 5, 6, 1), (4, 0, 2, 5, 6, 3)) * 6 - l3new.aaaaaa += np.transpose(tmp781, (5, 4, 3, 0, 2, 1)) * -1 - tmp216 = np.copy(v.aaaa.ooov) - tmp216 += np.transpose(tmp77, (0, 2, 1, 3)) - tmp782 = einsum(tmp216, (0, 1, 2, 3), l2.aaaa, (4, 5, 6, 0), (6, 1, 2, 4, 5, 3)) * -2 - l3new.aaaaaa += np.transpose(tmp782, (5, 4, 3, 0, 2, 1)) - l3new.aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (5, 3, 0, 1, 2, 4)) * -1 - l3new.aaaaaa += np.transpose(tmp781, (4, 5, 3, 0, 2, 1)) - tmp366 = np.copy(np.transpose(v.aaaa.ooov, (0, 2, 1, 3))) - tmp366 += tmp77 - tmp783 = einsum(tmp366, (0, 1, 2, 3), l2.aaaa, (4, 5, 6, 0), (6, 1, 2, 4, 5, 3)) * -1 - l3new.aaaaaa += np.transpose(tmp783, (4, 5, 3, 0, 1, 2)) * -2 - l3new.aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (3, 5, 0, 2, 1, 4)) * -1 - l3new.aaaaaa += np.transpose(tmp781, (5, 4, 3, 2, 0, 1)) - tmp497 = np.copy(v.aaaa.ooov) - tmp497 += np.transpose(tmp77, (0, 2, 1, 3)) - tmp784 = einsum(tmp497, (0, 1, 2, 3), l2.aaaa, (4, 5, 6, 0), (6, 1, 2, 4, 5, 3)) * -1 - l3new.aaaaaa += np.transpose(tmp784, (5, 4, 3, 2, 0, 1)) * -2 - l3new.aaaaaa += einsum(v.aaaa.ovov, (0, 1, 2, 3), l1.aa, (4, 5), (3, 1, 4, 0, 5, 2)) - l3new.aaaaaa += np.transpose(tmp781, (4, 5, 3, 2, 0, 1)) * -1 - l3new.aaaaaa += np.transpose(tmp783, (4, 5, 3, 1, 0, 2)) * 2 - l3new.aaaaaa += einsum(v.aaaa.ovov, (0, 1, 2, 3), l1.aa, (4, 5), (1, 4, 3, 5, 0, 2)) * -1 - l3new.aaaaaa += einsum(v.aaaa.ovov, (0, 1, 2, 3), l1.aa, (4, 5), (3, 4, 1, 5, 0, 2)) - l3new.aaaaaa += np.transpose(tmp781, (4, 3, 5, 0, 2, 1)) * -1 - l3new.aaaaaa += np.transpose(tmp782, (4, 3, 5, 0, 2, 1)) - l3new.aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (3, 0, 5, 2, 1, 4)) - l3new.aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (5, 0, 3, 2, 1, 4)) * -1 - l3new.aaaaaa += np.transpose(tmp781, (4, 3, 5, 2, 0, 1)) - del tmp781 - l3new.aaaaaa += np.transpose(tmp784, (4, 3, 5, 2, 0, 1)) * -2 - l3new.aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (3, 5, 0, 2, 4, 1)) - tmp5 = np.copy(np.transpose(tmp3, (0, 2, 1, 3))) * -3 - tmp5 += np.transpose(tmp4, (0, 2, 1, 3)) * -1 - tmp785 = einsum(v.aaaa.ovov, (0, 1, 2, 3), tmp5, (4, 5, 6, 1), (4, 0, 2, 5, 6, 3)) * 2 - l3new.aaaaaa += np.transpose(tmp785, (5, 4, 3, 2, 1, 0)) * -1 - l3new.aaaaaa += np.transpose(tmp782, (5, 4, 3, 2, 1, 0)) - l3new.aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (5, 3, 0, 2, 4, 1)) * -1 - l3new.aaaaaa += np.transpose(tmp785, (4, 5, 3, 2, 1, 0)) - l3new.aaaaaa += np.transpose(tmp783, (4, 5, 3, 1, 2, 0)) * -2 - l3new.aaaaaa += einsum(v.aaaa.ovov, (0, 1, 2, 3), l1.aa, (4, 5), (1, 4, 3, 0, 2, 5)) * -1 - l3new.aaaaaa += einsum(v.aaaa.ovov, (0, 1, 2, 3), l1.aa, (4, 5), (3, 4, 1, 0, 2, 5)) - l3new.aaaaaa += np.transpose(tmp785, (4, 3, 5, 2, 1, 0)) * -1 - del tmp785 - l3new.aaaaaa += np.transpose(tmp782, (4, 3, 5, 2, 1, 0)) - del tmp782 - l3new.aaaaaa += einsum(v.aaaa.ovov, (0, 1, 2, 3), l1.aa, (4, 5), (4, 1, 3, 5, 0, 2)) - l3new.aaaaaa += einsum(v.aaaa.ovov, (0, 1, 2, 3), l1.aa, (4, 5), (4, 3, 1, 5, 0, 2)) * -1 - l3new.aaaaaa += einsum(v.aaaa.ovov, (0, 1, 2, 3), l1.aa, (4, 5), (4, 1, 3, 0, 5, 2)) * -1 - l3new.aaaaaa += einsum(v.aaaa.ovov, (0, 1, 2, 3), l1.aa, (4, 5), (4, 3, 1, 0, 5, 2)) - l3new.aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (0, 3, 5, 2, 4, 1)) - l3new.aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (0, 5, 3, 2, 4, 1)) * -1 - tmp786 = np.copy(v.aaaa.oooo) - tmp47 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 3, 5, 2), (0, 1, 4, 5)) * -1 - tmp786 += np.transpose(tmp47, (1, 3, 2, 0)) - tmp494 = einsum(tmp77, (0, 1, 2, 3), t1.aa, (4, 3), (0, 4, 2, 1)) - tmp786 += np.transpose(tmp494, (1, 2, 3, 0)) * -1 - tmp54 = einsum(v.aaaa.ooov, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 1, 2)) - tmp786 += np.transpose(tmp54, (2, 1, 3, 0)) - tmp786 += np.transpose(tmp54, (2, 3, 1, 0)) * -1 - tmp787 = einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), tmp786, (4, 6, 7, 5), (3, 6, 7, 0, 1, 2)) * -6 - del tmp786 - l3new.aaaaaa += np.transpose(tmp787, (4, 5, 3, 0, 2, 1)) - tmp788 = einsum(v.aaaa.ovov, (0, 1, 2, 3), tmp19, (4, 5, 6, 3), (4, 0, 2, 5, 6, 1)) * 6 - l3new.aaaaaa += np.transpose(tmp788, (5, 4, 3, 0, 2, 1)) - l3new.aaaaaa += np.transpose(tmp784, (5, 4, 3, 0, 1, 2)) * -2 - l3new.aaaaaa += np.transpose(tmp787, (4, 5, 3, 2, 0, 1)) * -1 - l3new.aaaaaa += np.transpose(tmp788, (5, 4, 3, 2, 0, 1)) * -1 - l3new.aaaaaa += np.transpose(tmp784, (5, 4, 3, 1, 0, 2)) * 2 - tmp789 = einsum(v.aaaa.ovov, (0, 1, 2, 3), tmp5, (4, 5, 6, 3), (4, 0, 2, 5, 6, 1)) * 2 - l3new.aaaaaa += np.transpose(tmp789, (4, 5, 3, 0, 2, 1)) * -1 - l3new.aaaaaa += np.transpose(tmp783, (4, 5, 3, 0, 2, 1)) * 2 - l3new.aaaaaa += np.transpose(tmp789, (4, 5, 3, 2, 0, 1)) - l3new.aaaaaa += np.transpose(tmp783, (4, 5, 3, 2, 0, 1)) * -2 - l3new.aaaaaa += np.transpose(tmp787, (4, 5, 3, 2, 1, 0)) - del tmp787 - l3new.aaaaaa += np.transpose(tmp789, (5, 4, 3, 2, 1, 0)) - l3new.aaaaaa += np.transpose(tmp784, (5, 4, 3, 1, 2, 0)) * -2 - l3new.aaaaaa += np.transpose(tmp788, (4, 5, 3, 2, 1, 0)) * -1 - l3new.aaaaaa += np.transpose(tmp783, (4, 5, 3, 2, 1, 0)) * 2 - del tmp783 - l3new.aaaaaa += np.transpose(tmp789, (4, 3, 5, 0, 2, 1)) - l3new.aaaaaa += np.transpose(tmp784, (4, 3, 5, 0, 1, 2)) * -2 - l3new.aaaaaa += np.transpose(tmp789, (4, 3, 5, 2, 0, 1)) * -1 - del tmp789 - l3new.aaaaaa += np.transpose(tmp784, (4, 3, 5, 1, 0, 2)) * 2 - l3new.aaaaaa += np.transpose(tmp788, (4, 3, 5, 2, 1, 0)) - del tmp788 - l3new.aaaaaa += np.transpose(tmp784, (4, 3, 5, 1, 2, 0)) * -2 - del tmp784 - l3new.aaaaaa += np.transpose(tmp68, (4, 3, 5, 1, 0, 2)) * -2 - l3new.aaaaaa += np.transpose(tmp68, (4, 3, 5, 1, 2, 0)) * 2 - l3new.aaaaaa += np.transpose(tmp68, (4, 3, 5, 2, 1, 0)) * -2 - l3new.aaaaaa += np.transpose(tmp68, (3, 4, 5, 1, 0, 2)) * 2 - l3new.aaaaaa += np.transpose(tmp68, (3, 5, 4, 1, 0, 2)) * -2 - l3new.aaaaaa += np.transpose(tmp68, (3, 4, 5, 1, 2, 0)) * -2 - l3new.aaaaaa += np.transpose(tmp68, (3, 5, 4, 1, 2, 0)) * 2 - l3new.aaaaaa += np.transpose(tmp68, (3, 4, 5, 2, 1, 0)) * 2 - l3new.aaaaaa += np.transpose(tmp68, (3, 5, 4, 2, 1, 0)) * -2 - l3new.aaaaaa += np.transpose(tmp461, (4, 3, 5, 1, 2, 0)) * 6 - l3new.aaaaaa += np.transpose(tmp461, (3, 4, 5, 1, 2, 0)) * -6 - l3new.aaaaaa += np.transpose(tmp459, (3, 5, 4, 1, 2, 0)) * -6 - l3new.aaaaaa += np.transpose(tmp776, (3, 5, 4, 1, 2, 0)) * -12 - del tmp776 - l3new.aaaaaa += np.transpose(tmp461, (3, 5, 4, 1, 2, 0)) * 6 - tmp790 = einsum(tmp374, (0, 1, 2, 3, 4, 5), v.aaaa.ovov, (6, 5, 2, 7), (0, 1, 6, 3, 4, 7)) - l3new.aaaaaa += np.transpose(tmp790, (5, 4, 3, 1, 0, 2)) * -12 - tmp791 = einsum(tmp383, (0, 1, 2, 3, 4, 5), tmp77, (1, 3, 6, 7), (0, 2, 6, 4, 5, 7)) * -1 - l3new.aaaaaa += np.transpose(tmp791, (5, 4, 3, 1, 0, 2)) * 6 - tmp167 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.abab, (2, 4, 1, 5), (0, 4, 3, 5)) - tmp792 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), tmp167, (6, 4, 7, 1), (3, 5, 6, 0, 2, 7)) - l3new.aaaaaa += np.transpose(tmp792, (5, 4, 3, 1, 0, 2)) * -2 - tmp499 = einsum(t1.aa, (0, 1), v.aaaa.ovov, (2, 1, 0, 3), (2, 3)) - l3new.aaaaaa += einsum(l2.aaaa, (0, 1, 2, 3), tmp499, (4, 5), (5, 0, 1, 2, 3, 4)) * -2 - tmp793 = einsum(v.aaaa.ooov, (0, 1, 2, 3), tmp383, (4, 1, 5, 2, 6, 7), (4, 5, 0, 6, 7, 3)) * -1 - l3new.aaaaaa += np.transpose(tmp793, (5, 4, 3, 1, 0, 2)) * 6 - tmp78 = einsum(t1.aa, (0, 1), l2.aaaa, (2, 1, 3, 4), (3, 4, 0, 2)) - tmp79 = np.copy(np.transpose(tmp78, (1, 0, 2, 3))) * -1 - tmp44 = einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), t2.aaaa, (6, 5, 1, 2), (3, 4, 6, 0)) - tmp79 += np.transpose(tmp44, (1, 0, 2, 3)) * -3 - tmp45 = einsum(t2.abab, (0, 1, 2, 3), l3.abaaba, (4, 3, 2, 5, 1, 6), (5, 6, 0, 4)) - tmp79 += np.transpose(tmp45, (1, 0, 2, 3)) * -1 - tmp794 = einsum(tmp79, (0, 1, 2, 3), v.aaaa.ovov, (4, 5, 2, 6), (0, 1, 4, 3, 6, 5)) - l3new.aaaaaa += np.transpose(tmp794, (4, 5, 3, 1, 0, 2)) * 2 - l3new.aaaaaa += np.transpose(tmp790, (4, 5, 3, 1, 0, 2)) * 12 - l3new.aaaaaa += np.transpose(tmp791, (4, 5, 3, 1, 0, 2)) * -6 - l3new.aaaaaa += np.transpose(tmp792, (4, 5, 3, 1, 0, 2)) * 2 - l3new.aaaaaa += einsum(l2.aaaa, (0, 1, 2, 3), tmp499, (4, 5), (0, 5, 1, 2, 3, 4)) * 2 - l3new.aaaaaa += np.transpose(tmp793, (4, 5, 3, 1, 0, 2)) * -6 - l3new.aaaaaa += np.transpose(tmp794, (5, 4, 3, 1, 0, 2)) * -2 - l3new.aaaaaa += np.transpose(tmp790, (5, 4, 3, 1, 2, 0)) * 12 - l3new.aaaaaa += np.transpose(tmp791, (5, 4, 3, 1, 2, 0)) * -6 - l3new.aaaaaa += np.transpose(tmp792, (5, 4, 3, 1, 2, 0)) * 2 - l3new.aaaaaa += einsum(l2.aaaa, (0, 1, 2, 3), tmp499, (4, 5), (5, 0, 1, 2, 4, 3)) * 2 - l3new.aaaaaa += np.transpose(tmp793, (5, 4, 3, 1, 2, 0)) * -6 - tmp416 = np.copy(np.transpose(tmp78, (1, 0, 2, 3))) * -0.3333333333333333 - tmp416 += np.transpose(tmp44, (1, 0, 2, 3)) * -1 - tmp416 += np.transpose(tmp45, (1, 0, 2, 3)) * -0.3333333333333333 - tmp795 = einsum(tmp416, (0, 1, 2, 3), v.aaaa.ovov, (4, 5, 2, 6), (0, 1, 4, 3, 6, 5)) * 3 - l3new.aaaaaa += np.transpose(tmp795, (4, 5, 3, 1, 2, 0)) * -2 - l3new.aaaaaa += np.transpose(tmp790, (4, 5, 3, 1, 2, 0)) * -12 - l3new.aaaaaa += np.transpose(tmp791, (4, 5, 3, 1, 2, 0)) * 6 - l3new.aaaaaa += np.transpose(tmp792, (4, 5, 3, 1, 2, 0)) * -2 - l3new.aaaaaa += einsum(tmp499, (0, 1), l2.aaaa, (2, 3, 4, 5), (2, 1, 3, 4, 0, 5)) * -2 - l3new.aaaaaa += np.transpose(tmp793, (4, 5, 3, 1, 2, 0)) * 6 - l3new.aaaaaa += np.transpose(tmp795, (5, 4, 3, 1, 2, 0)) * 2 - l3new.aaaaaa += np.transpose(tmp794, (4, 3, 5, 1, 0, 2)) * -2 - l3new.aaaaaa += np.transpose(tmp790, (4, 3, 5, 1, 0, 2)) * -12 - l3new.aaaaaa += np.transpose(tmp791, (4, 3, 5, 1, 0, 2)) * 6 - l3new.aaaaaa += np.transpose(tmp792, (4, 3, 5, 1, 0, 2)) * -2 - l3new.aaaaaa += einsum(tmp499, (0, 1), l2.aaaa, (2, 3, 4, 5), (2, 3, 1, 4, 5, 0)) * -2 - l3new.aaaaaa += np.transpose(tmp793, (4, 3, 5, 1, 0, 2)) * 6 - l3new.aaaaaa += np.transpose(tmp794, (5, 3, 4, 1, 0, 2)) * 2 - l3new.aaaaaa += np.transpose(tmp795, (4, 3, 5, 1, 2, 0)) * 2 - l3new.aaaaaa += np.transpose(tmp790, (4, 3, 5, 1, 2, 0)) * 12 - l3new.aaaaaa += np.transpose(tmp791, (4, 3, 5, 1, 2, 0)) * -6 - l3new.aaaaaa += np.transpose(tmp792, (4, 3, 5, 1, 2, 0)) * 2 - l3new.aaaaaa += einsum(l2.aaaa, (0, 1, 2, 3), tmp499, (4, 5), (0, 1, 5, 2, 4, 3)) * 2 - l3new.aaaaaa += np.transpose(tmp793, (4, 3, 5, 1, 2, 0)) * -6 - l3new.aaaaaa += np.transpose(tmp795, (5, 3, 4, 1, 2, 0)) * -2 - l3new.aaaaaa += np.transpose(tmp790, (5, 4, 3, 2, 1, 0)) * -12 - l3new.aaaaaa += np.transpose(tmp791, (5, 4, 3, 2, 1, 0)) * 6 - l3new.aaaaaa += np.transpose(tmp792, (5, 4, 3, 2, 1, 0)) * -2 - l3new.aaaaaa += einsum(tmp499, (0, 1), l2.aaaa, (2, 3, 4, 5), (1, 2, 3, 0, 4, 5)) * -2 - l3new.aaaaaa += np.transpose(tmp793, (5, 4, 3, 2, 1, 0)) * 6 - l3new.aaaaaa += np.transpose(tmp795, (4, 5, 3, 2, 1, 0)) * 2 - l3new.aaaaaa += np.transpose(tmp790, (4, 5, 3, 2, 1, 0)) * 12 - l3new.aaaaaa += np.transpose(tmp791, (4, 5, 3, 2, 1, 0)) * -6 - l3new.aaaaaa += np.transpose(tmp792, (4, 5, 3, 2, 1, 0)) * 2 - l3new.aaaaaa += einsum(tmp499, (0, 1), l2.aaaa, (2, 3, 4, 5), (2, 1, 3, 0, 4, 5)) * 2 - l3new.aaaaaa += np.transpose(tmp793, (4, 5, 3, 2, 1, 0)) * -6 - l3new.aaaaaa += np.transpose(tmp795, (5, 4, 3, 2, 1, 0)) * -2 - l3new.aaaaaa += np.transpose(tmp795, (4, 3, 5, 2, 1, 0)) * -2 - l3new.aaaaaa += np.transpose(tmp790, (4, 3, 5, 2, 1, 0)) * -12 - del tmp790 - l3new.aaaaaa += np.transpose(tmp791, (4, 3, 5, 2, 1, 0)) * 6 - del tmp791 - l3new.aaaaaa += np.transpose(tmp792, (4, 3, 5, 2, 1, 0)) * -2 - del tmp792 - l3new.aaaaaa += einsum(tmp499, (0, 1), l2.aaaa, (2, 3, 4, 5), (2, 3, 1, 0, 4, 5)) * -2 - l3new.aaaaaa += np.transpose(tmp793, (4, 3, 5, 2, 1, 0)) * 6 - del tmp793 - l3new.aaaaaa += np.transpose(tmp795, (5, 3, 4, 2, 1, 0)) * 2 - l3new.aaaaaa += np.transpose(tmp794, (3, 4, 5, 1, 0, 2)) * 2 - l3new.aaaaaa += np.transpose(tmp794, (3, 5, 4, 1, 0, 2)) * -2 - del tmp794 - l3new.aaaaaa += np.transpose(tmp795, (3, 4, 5, 1, 2, 0)) * -2 - l3new.aaaaaa += np.transpose(tmp795, (3, 5, 4, 1, 2, 0)) * 2 - l3new.aaaaaa += np.transpose(tmp795, (3, 4, 5, 2, 1, 0)) * 2 - l3new.aaaaaa += np.transpose(tmp795, (3, 5, 4, 2, 1, 0)) * -2 - del tmp795 - tmp473 = einsum(t1.aa, (0, 1), l3.abaaba, (2, 3, 1, 4, 5, 6), (4, 6, 0, 5, 2, 3)) - tmp877 = einsum(tmp99, (0, 1, 2, 3), tmp473, (4, 0, 1, 5, 6, 7), (4, 5, 2, 6, 7, 3)) - l3new.abbabb = np.copy(np.transpose(tmp877, (3, 5, 4, 0, 1, 2))) * 2 - tmp878 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), tmp312, (5, 6, 2, 7), (3, 4, 6, 0, 1, 7)) - l3new.abbabb += np.transpose(tmp878, (3, 5, 4, 0, 1, 2)) * -2 - tmp470 = einsum(v.aabb.vvov, (0, 1, 2, 3), l3.abaaba, (4, 5, 1, 6, 7, 8), (6, 8, 7, 2, 4, 0, 5, 3)) - tmp879 = einsum(t1.aa, (0, 1), tmp470, (2, 0, 3, 4, 5, 1, 6, 7), (2, 3, 4, 5, 6, 7)) - l3new.abbabb += np.transpose(tmp879, (3, 5, 4, 0, 1, 2)) * -2 - tmp204 = einsum(l2.abab, (0, 1, 2, 3), v.aabb.vvov, (4, 0, 5, 6), (2, 3, 5, 4, 1, 6)) - l3new.abbabb += np.transpose(tmp204, (3, 5, 4, 0, 1, 2)) * -1 - tmp880 = einsum(tmp473, (0, 1, 2, 3, 4, 5), v.aabb.ooov, (2, 1, 6, 7), (0, 3, 6, 4, 5, 7)) - l3new.abbabb += np.transpose(tmp880, (3, 5, 4, 0, 1, 2)) * 2 - tmp521 = einsum(t1.bb, (0, 1), l3.babbab, (2, 3, 1, 4, 5, 6), (5, 4, 6, 0, 3, 2)) - tmp602 = einsum(v.bbbb.ovoo, (0, 1, 2, 3), tmp521, (4, 5, 3, 2, 6, 7), (4, 5, 0, 6, 7, 1)) - l3new.abbabb += np.transpose(tmp602, (3, 5, 4, 0, 1, 2)) * 2 - tmp548 = einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t2.bbbb, (6, 5, 7, 2), (4, 3, 6, 1, 0, 7)) - tmp881 = einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp548, (4, 5, 2, 6, 7, 3), (4, 5, 0, 6, 7, 1)) - l3new.abbabb += np.transpose(tmp881, (3, 5, 4, 0, 1, 2)) * -4 - tmp550 = einsum(tmp521, (0, 1, 2, 3, 4, 5), tmp227, (1, 6, 3, 7), (0, 2, 6, 4, 5, 7)) * -1 - l3new.abbabb += np.transpose(tmp550, (3, 5, 4, 0, 1, 2)) * 2 - tmp882 = np.copy(np.transpose(l3.abaaba, (3, 5, 4, 0, 2, 1))) - tmp515 = einsum(t2.aaaa, (0, 1, 2, 3), l3.abaaba, (4, 5, 3, 6, 7, 1), (6, 0, 7, 4, 2, 5)) - tmp882 += tmp515 - tmp554 = einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t2.abab, (6, 5, 7, 2), (4, 6, 3, 1, 7, 0)) - tmp882 += tmp554 - l3new.abbabb += einsum(v.aabb.ovov, (0, 1, 2, 3), tmp882, (4, 0, 5, 6, 1, 7), (6, 3, 7, 4, 5, 2)) * -2 - del tmp882 - tmp883 = np.copy(np.transpose(v.bbbb.ovov, (0, 2, 1, 3))) - tmp883 += v.bbbb.oovv * -1 - tmp884 = einsum(l3.babbab, (0, 1, 2, 3, 4, 5), tmp883, (5, 6, 2, 7), (4, 3, 6, 1, 0, 7)) - del tmp883 - l3new.abbabb += np.transpose(tmp884, (3, 5, 4, 0, 1, 2)) * -2 - tmp549 = einsum(v.bbbb.ovvv, (0, 1, 2, 3), l3.babbab, (4, 5, 3, 6, 7, 8), (7, 6, 8, 0, 5, 4, 1, 2)) - tmp885 = np.copy(np.transpose(tmp549, (0, 2, 1, 3, 4, 5, 6, 7))) - tmp885 += np.transpose(tmp549, (0, 2, 1, 3, 4, 5, 7, 6)) * -1 - tmp886 = einsum(tmp885, (0, 1, 2, 3, 4, 5, 6, 7), t1.bb, (1, 6), (0, 2, 3, 4, 5, 7)) - del tmp885 - l3new.abbabb += np.transpose(tmp886, (3, 5, 4, 0, 1, 2)) * 2 - tmp887 = np.copy(f.bb.oo) * 0.5 - tmp887 += np.transpose(tmp320, (1, 0)) * 0.5 - tmp887 += tmp321 - tmp887 += tmp322 * 2 - tmp887 += einsum(tmp323, (0, 1, 2, 3), t1.bb, (2, 3), (1, 0)) * -0.5 - del tmp323 - tmp887 += tmp325 - l3new.abbabb += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), tmp887, (5, 6), (1, 0, 2, 4, 3, 6)) * -2 - del tmp887 - l3new.abbabb += einsum(l2.abab, (0, 1, 2, 3), tmp543, (4, 5), (0, 5, 1, 2, 3, 4)) * -1 - tmp888 = einsum(tmp77, (0, 1, 2, 3), tmp577, (0, 2, 4, 5, 6, 7), (1, 4, 5, 3, 6, 7)) - l3new.abbabb += np.transpose(tmp888, (3, 5, 4, 0, 2, 1)) * -2 - del tmp888 - tmp889 = einsum(v.aabb.ovvv, (0, 1, 2, 3), l3.bbbbbb, (4, 5, 3, 6, 7, 8), (0, 6, 7, 8, 1, 4, 5, 2)) - tmp890 = einsum(tmp889, (0, 1, 2, 3, 4, 5, 6, 7), t1.bb, (3, 7), (0, 2, 1, 4, 5, 6)) * -1 - del tmp889 - l3new.abbabb += np.transpose(tmp890, (3, 5, 4, 0, 2, 1)) * 6 - del tmp890 - tmp891 = einsum(v.aaaa.ovoo, (0, 1, 2, 3), tmp577, (3, 2, 4, 5, 6, 7), (0, 4, 5, 1, 6, 7)) - l3new.abbabb += np.transpose(tmp891, (3, 5, 4, 0, 2, 1)) * -2 - del tmp891 - tmp892 = einsum(v.aabb.ovoo, (0, 1, 2, 3), tmp652, (4, 3, 5, 2, 6, 7), (0, 4, 5, 1, 6, 7)) * -1 - l3new.abbabb += np.transpose(tmp892, (3, 5, 4, 0, 2, 1)) * -6 - del tmp892 - tmp893 = einsum(tmp652, (0, 1, 2, 3, 4, 5), tmp140, (6, 1, 3, 7), (6, 0, 2, 7, 4, 5)) * -1 - del tmp652 - l3new.abbabb += np.transpose(tmp893, (3, 5, 4, 0, 2, 1)) * -6 - del tmp893 - tmp526 = einsum(l2.bbbb, (0, 1, 2, 3), v.aabb.ovvv, (4, 5, 6, 1), (4, 2, 3, 5, 0, 6)) - l3new.abbabb += np.transpose(tmp526, (3, 5, 4, 0, 2, 1)) * 2 - tmp894 = np.copy(np.transpose(v.aaaa.ovov, (0, 2, 1, 3))) - tmp894 += v.aaaa.oovv * -1 - tmp62 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (0, 4, 2, 5)) - tmp894 += tmp62 - tmp895 = einsum(tmp894, (0, 1, 2, 3), l3.babbab, (4, 2, 5, 6, 0, 7), (1, 6, 7, 3, 4, 5)) - del tmp894 - l3new.abbabb += np.transpose(tmp895, (3, 5, 4, 0, 2, 1)) * 2 - del tmp895 - tmp896 = einsum(t2.aaaa, (0, 1, 2, 3), l3.babbab, (4, 3, 5, 6, 1, 7), (0, 6, 7, 2, 4, 5)) - tmp897 = np.copy(np.transpose(tmp896, (0, 2, 1, 3, 5, 4))) - del tmp896 - tmp897 += np.transpose(tmp640, (0, 2, 1, 3, 5, 4)) * 1.5 - tmp898 = einsum(tmp897, (0, 1, 2, 3, 4, 5), v.aaaa.ovov, (6, 7, 0, 3), (6, 1, 2, 7, 4, 5)) * 2 - l3new.abbabb += np.transpose(tmp898, (3, 5, 4, 0, 2, 1)) * 2 - del tmp898 - tmp899 = np.copy(np.transpose(l3.bbbbbb, (3, 4, 5, 0, 1, 2))) - tmp647 = einsum(t2.bbbb, (0, 1, 2, 3), l3.bbbbbb, (4, 5, 3, 6, 7, 1), (6, 7, 0, 4, 5, 2)) - tmp899 += np.transpose(tmp647, (2, 1, 0, 4, 5, 3)) * -2 - tmp900 = einsum(tmp899, (0, 1, 2, 3, 4, 5), v.aabb.ovov, (6, 7, 0, 4), (6, 1, 2, 7, 3, 5)) * 3 - del tmp899 - l3new.abbabb += np.transpose(tmp900, (3, 5, 4, 0, 1, 2)) * 2 - del tmp900 - tmp901 = einsum(v.aaaa.ovvv, (0, 1, 2, 3), l3.babbab, (4, 3, 5, 6, 7, 8), (7, 0, 6, 8, 1, 2, 4, 5)) - tmp902 = np.copy(np.transpose(tmp901, (0, 1, 3, 2, 4, 5, 7, 6))) * -1 - tmp902 += np.transpose(tmp901, (0, 1, 3, 2, 5, 4, 7, 6)) - del tmp901 - tmp903 = einsum(tmp902, (0, 1, 2, 3, 4, 5, 6, 7), t1.aa, (0, 4), (1, 2, 3, 5, 6, 7)) - del tmp902 - l3new.abbabb += np.transpose(tmp903, (3, 5, 4, 0, 2, 1)) * 2 - del tmp903 - l3new.abbabb += einsum(l2.bbbb, (0, 1, 2, 3), tmp433, (4, 5), (5, 0, 1, 4, 2, 3)) * 2 - l3new.abbabb += np.transpose(tmp877, (3, 5, 4, 0, 2, 1)) * -2 - l3new.abbabb += np.transpose(tmp878, (3, 5, 4, 0, 2, 1)) * 2 - l3new.abbabb += np.transpose(tmp879, (3, 5, 4, 0, 2, 1)) * 2 - l3new.abbabb += np.transpose(tmp204, (3, 5, 4, 0, 2, 1)) - l3new.abbabb += np.transpose(tmp880, (3, 5, 4, 0, 2, 1)) * -2 - l3new.abbabb += np.transpose(tmp602, (3, 5, 4, 0, 2, 1)) * -2 - l3new.abbabb += np.transpose(tmp881, (3, 5, 4, 0, 2, 1)) * 4 - l3new.abbabb += np.transpose(tmp550, (3, 5, 4, 0, 2, 1)) * -2 - tmp904 = np.copy(np.transpose(l3.abaaba, (3, 5, 4, 0, 2, 1))) * 0.2499999999999975 - tmp904 += tmp515 - tmp904 += tmp554 * 0.25 - tmp905 = einsum(v.aabb.ovov, (0, 1, 2, 3), tmp904, (4, 0, 5, 6, 1, 7), (4, 2, 5, 6, 3, 7)) * 4 - del tmp904 - l3new.abbabb += np.transpose(tmp905, (3, 4, 5, 0, 1, 2)) - l3new.abbabb += np.transpose(tmp884, (3, 5, 4, 0, 2, 1)) * 2 - l3new.abbabb += np.transpose(tmp886, (3, 5, 4, 0, 2, 1)) * -2 - del tmp886 - tmp906 = np.copy(f.bb.oo) - tmp906 += np.transpose(tmp320, (1, 0)) - tmp906 += tmp321 * 0.5 - tmp906 += tmp322 - tmp906 += np.transpose(tmp324, (1, 0)) * -1 - del tmp324 - tmp906 += einsum(t1.bb, (0, 1), tmp319, (2, 1), (0, 2)) * 0.5 - l3new.abbabb += einsum(tmp906, (0, 1), l3.babbab, (2, 3, 4, 5, 6, 0), (3, 2, 4, 6, 1, 5)) * 2 - del tmp906 - l3new.abbabb += einsum(tmp543, (0, 1), l2.abab, (2, 3, 4, 5), (2, 1, 3, 4, 0, 5)) - l3new.abbabb += np.transpose(tmp877, (3, 4, 5, 0, 1, 2)) * -2 - l3new.abbabb += np.transpose(tmp878, (3, 4, 5, 0, 1, 2)) * 2 - l3new.abbabb += np.transpose(tmp879, (3, 4, 5, 0, 1, 2)) * 2 - l3new.abbabb += np.transpose(tmp880, (3, 4, 5, 0, 1, 2)) * -2 - l3new.abbabb += np.transpose(tmp602, (3, 4, 5, 0, 1, 2)) * -2 - l3new.abbabb += np.transpose(tmp881, (3, 4, 5, 0, 1, 2)) * 4 - l3new.abbabb += np.transpose(tmp550, (3, 4, 5, 0, 1, 2)) * -2 - tmp536 = einsum(l2.abab, (0, 1, 2, 3), v.bbbb.ovvv, (4, 5, 6, 1), (2, 3, 4, 0, 5, 6)) - l3new.abbabb += np.transpose(tmp536, (3, 5, 4, 0, 1, 2)) - tmp907 = np.copy(np.transpose(l3.abaaba, (3, 5, 4, 0, 2, 1))) - tmp907 += np.transpose(tmp515, (1, 0, 2, 4, 3, 5)) - tmp907 += np.transpose(tmp554, (1, 0, 2, 4, 3, 5)) - l3new.abbabb += einsum(tmp907, (0, 1, 2, 3, 4, 5), v.aabb.ovov, (0, 3, 6, 7), (4, 5, 7, 1, 2, 6)) * 2 - del tmp907 - l3new.abbabb += np.transpose(tmp884, (3, 4, 5, 0, 1, 2)) * 2 - tmp908 = np.copy(np.transpose(tmp549, (0, 2, 1, 3, 4, 5, 6, 7))) * -1 - tmp908 += np.transpose(tmp549, (0, 2, 1, 3, 4, 5, 7, 6)) - tmp909 = einsum(tmp908, (0, 1, 2, 3, 4, 5, 6, 7), t1.bb, (1, 6), (0, 2, 3, 4, 5, 7)) - del tmp908 - l3new.abbabb += np.transpose(tmp909, (3, 4, 5, 0, 1, 2)) * 2 - l3new.abbabb += einsum(l2.abab, (0, 1, 2, 3), tmp543, (4, 5), (0, 1, 5, 2, 3, 4)) - l3new.abbabb += np.transpose(tmp877, (3, 4, 5, 0, 2, 1)) * 2 - del tmp877 - l3new.abbabb += np.transpose(tmp878, (3, 4, 5, 0, 2, 1)) * -2 - del tmp878 - l3new.abbabb += np.transpose(tmp879, (3, 4, 5, 0, 2, 1)) * -2 - del tmp879 - l3new.abbabb += np.transpose(tmp880, (3, 4, 5, 0, 2, 1)) * 2 - del tmp880 - l3new.abbabb += np.transpose(tmp602, (3, 4, 5, 0, 2, 1)) * 2 - l3new.abbabb += np.transpose(tmp881, (3, 4, 5, 0, 2, 1)) * -4 - del tmp881 - l3new.abbabb += np.transpose(tmp550, (3, 4, 5, 0, 2, 1)) * 2 - l3new.abbabb += np.transpose(tmp536, (3, 5, 4, 0, 2, 1)) * -1 - l3new.abbabb += np.transpose(tmp905, (3, 5, 4, 0, 1, 2)) * -1 - del tmp905 - l3new.abbabb += np.transpose(tmp884, (3, 4, 5, 0, 2, 1)) * -2 - del tmp884 - l3new.abbabb += np.transpose(tmp909, (3, 4, 5, 0, 2, 1)) * -2 - del tmp909 - l3new.abbabb += einsum(l2.abab, (0, 1, 2, 3), tmp543, (4, 5), (0, 1, 5, 2, 4, 3)) * -1 - tmp910 = einsum(tmp515, (0, 1, 2, 3, 4, 5), v.aabb.ovov, (1, 4, 6, 7), (0, 2, 6, 3, 5, 7)) - l3new.abbabb += np.transpose(tmp910, (3, 5, 4, 0, 1, 2)) * -2 - tmp912 = np.copy(f.bb.oo) - tmp912 += np.transpose(tmp320, (1, 0)) - del tmp320 - tmp911 = np.copy(v.bbbb.ooov) * -1 - tmp911 += np.transpose(v.bbbb.ovoo, (0, 2, 3, 1)) - tmp912 += einsum(t1.bb, (0, 1), tmp911, (2, 3, 0, 1), (3, 2)) * -1 - del tmp911 - l3new.abbabb += einsum(tmp912, (0, 1), l3.babbab, (2, 3, 4, 5, 6, 0), (3, 2, 4, 6, 5, 1)) * -1 - del tmp912 - tmp527 = einsum(v.aabb.oovv, (0, 1, 2, 3), l3.babbab, (4, 5, 3, 6, 1, 7), (0, 6, 7, 5, 4, 2)) - l3new.abbabb += np.transpose(tmp527, (3, 5, 4, 0, 2, 1)) * -2 - tmp517 = einsum(l3.babbab, (0, 1, 2, 3, 4, 5), v.aabb.ovvv, (6, 7, 8, 2), (4, 6, 3, 5, 1, 7, 0, 8)) - tmp913 = einsum(tmp517, (0, 1, 2, 3, 4, 5, 6, 7), t1.aa, (0, 5), (1, 2, 3, 4, 6, 7)) - l3new.abbabb += np.transpose(tmp913, (3, 5, 4, 0, 2, 1)) * -2 - tmp914 = einsum(tmp166, (0, 1), l3.babbab, (2, 3, 4, 5, 0, 6), (1, 5, 6, 3, 2, 4)) - l3new.abbabb += np.transpose(tmp914, (3, 5, 4, 0, 2, 1)) * -2 - del tmp914 - tmp580 = einsum(tmp579, (0, 1, 2, 3, 4, 5, 6, 7), t1.bb, (3, 6), (0, 1, 2, 4, 5, 7)) - l3new.abbabb += np.transpose(tmp580, (3, 5, 4, 0, 2, 1)) * -2 - tmp576 = einsum(v.aabb.vvvv, (0, 1, 2, 3), l3.babbab, (4, 1, 3, 5, 6, 7), (6, 5, 7, 0, 4, 2)) - l3new.abbabb += np.transpose(tmp576, (3, 5, 4, 0, 2, 1)) * 2 - tmp560 = einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t2.abab, (6, 7, 1, 2), (4, 6, 3, 5, 7, 0)) - tmp723 = np.copy(np.transpose(tmp560, (0, 1, 3, 2, 4, 5))) * -1 - tmp722 = einsum(t1.aa, (0, 1), tmp521, (2, 3, 4, 5, 1, 6), (2, 0, 3, 4, 5, 6)) - tmp723 += np.transpose(tmp722, (0, 1, 3, 2, 4, 5)) * -1 - del tmp722 - tmp915 = einsum(tmp723, (0, 1, 2, 3, 4, 5), v.aabb.ovov, (1, 6, 4, 7), (0, 2, 3, 6, 7, 5)) * 0.5 - l3new.abbabb += np.transpose(tmp915, (3, 4, 5, 0, 2, 1)) * 4 - tmp916 = einsum(l3.babbab, (0, 1, 2, 3, 4, 5), tmp729, (6, 2), (4, 3, 5, 1, 0, 6)) * -1 - l3new.abbabb += np.transpose(tmp916, (3, 5, 4, 0, 2, 1)) * 2 - del tmp916 - tmp917 = einsum(tmp521, (0, 1, 2, 3, 4, 5), tmp319, (3, 6), (0, 1, 2, 4, 6, 5)) - l3new.abbabb += np.transpose(tmp917, (3, 4, 5, 0, 2, 1)) * -1 - tmp918 = einsum(tmp836, (0, 1), tmp521, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 6, 1)) - l3new.abbabb += np.transpose(tmp918, (3, 5, 4, 0, 2, 1)) * -1 - tmp721 = einsum(t1.aa, (0, 1), tmp517, (2, 0, 3, 4, 1, 5, 6, 7), (2, 3, 4, 5, 6, 7)) - l3new.abbabb += np.transpose(tmp721, (3, 5, 4, 0, 2, 1)) * -2 - tmp919 = einsum(l3.babbab, (0, 1, 2, 3, 4, 5), tmp223, (1, 6), (4, 3, 5, 6, 0, 2)) - l3new.abbabb += np.transpose(tmp919, (3, 5, 4, 0, 2, 1)) * -2 - del tmp919 - tmp920 = einsum(tmp577, (0, 1, 2, 3, 4, 5), tmp589, (1, 6), (0, 2, 3, 6, 4, 5)) - l3new.abbabb += np.transpose(tmp920, (3, 5, 4, 0, 2, 1)) * -2 - del tmp920 - tmp603 = einsum(tmp549, (0, 1, 2, 3, 4, 5, 6, 7), t1.bb, (3, 5), (0, 1, 2, 4, 6, 7)) - l3new.abbabb += np.transpose(tmp603, (3, 5, 4, 0, 2, 1)) * -2 - tmp601 = einsum(v.bbbb.vvvv, (0, 1, 2, 3), l3.babbab, (1, 4, 3, 5, 6, 7), (6, 5, 7, 4, 0, 2)) - l3new.abbabb += np.transpose(tmp601, (3, 5, 4, 0, 2, 1)) * 2 - tmp593 = einsum(t2.bbbb, (0, 1, 2, 3), l3.babbab, (2, 4, 3, 5, 6, 7), (6, 5, 7, 0, 1, 4)) - tmp607 = np.copy(np.transpose(tmp593, (0, 2, 1, 4, 3, 5))) - tmp606 = einsum(t1.bb, (0, 1), tmp521, (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 0, 6)) * -1 - tmp607 += np.transpose(tmp606, (0, 2, 1, 4, 3, 5)) - del tmp606 - tmp921 = einsum(tmp607, (0, 1, 2, 3, 4, 5), v.bbbb.ovov, (3, 6, 4, 7), (0, 1, 2, 5, 6, 7)) * 0.5 - l3new.abbabb += np.transpose(tmp921, (3, 5, 4, 0, 2, 1)) * 4 - del tmp921 - tmp923 = np.copy(f.bb.vv) * -0.5 - tmp923 += np.transpose(tmp358, (1, 0)) * -0.5 - del tmp358 - tmp923 += np.transpose(tmp359, (1, 0)) * 0.5 - del tmp359 - tmp923 += np.transpose(tmp360, (1, 0)) - del tmp360 - tmp922 = einsum(tmp267, (0, 1, 2, 3), t1.bb, (0, 2), (1, 3)) * 0.5 - tmp923 += tmp922 * -1 - del tmp922 - tmp924 = einsum(l3.babbab, (0, 1, 2, 3, 4, 5), tmp923, (6, 2), (4, 3, 5, 1, 0, 6)) * -2 - del tmp923 - l3new.abbabb += np.transpose(tmp924, (3, 4, 5, 0, 2, 1)) * -2 - del tmp924 - l3new.abbabb += np.transpose(tmp917, (3, 5, 4, 0, 2, 1)) - del tmp917 - l3new.abbabb += np.transpose(tmp918, (3, 4, 5, 0, 2, 1)) - del tmp918 - tmp925 = np.copy(np.transpose(l3.abaaba, (3, 5, 4, 0, 2, 1))) - tmp925 += tmp554 - tmp926 = einsum(v.aabb.ovov, (0, 1, 2, 3), tmp925, (4, 0, 5, 6, 1, 7), (4, 2, 5, 6, 3, 7)) - del tmp925 - l3new.abbabb += np.transpose(tmp926, (3, 4, 5, 0, 1, 2)) - tmp927 = np.copy(tmp321) - del tmp321 - tmp927 += tmp322 * 2 - del tmp322 - tmp927 += tmp325 - del tmp325 - l3new.abbabb += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), tmp927, (5, 6), (1, 0, 2, 4, 6, 3)) - del tmp927 - l3new.abbabb += einsum(v.aabb.ovov, (0, 1, 2, 3), l1.bb, (4, 5), (1, 3, 4, 0, 5, 2)) * -1 - tmp928 = einsum(tmp285, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 6, 3), (4, 6, 0, 5, 1, 2)) * 6 - l3new.abbabb += np.transpose(tmp928, (3, 5, 4, 0, 2, 1)) - tmp849 = np.copy(np.transpose(v.aabb.ovoo, (0, 2, 3, 1))) - tmp849 += tmp140 - tmp929 = einsum(l2.bbbb, (0, 1, 2, 3), tmp849, (4, 3, 5, 6), (4, 2, 5, 6, 0, 1)) * -1 - l3new.abbabb += np.transpose(tmp929, (3, 5, 4, 0, 1, 2)) * -2 - l3new.abbabb += einsum(v.bbbb.ovov, (0, 1, 2, 3), l1.aa, (4, 5), (4, 1, 3, 5, 0, 2)) - l3new.abbabb += einsum(v.bbbb.ovov, (0, 1, 2, 3), l1.aa, (4, 5), (4, 3, 1, 5, 0, 2)) * -1 - tmp6 = einsum(t2.abab, (0, 1, 2, 3), l3.abaaba, (4, 5, 2, 6, 1, 0), (6, 4, 5, 3)) - tmp8 = np.copy(tmp6) - tmp7 = einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t2.bbbb, (3, 5, 6, 2), (4, 1, 0, 6)) - tmp8 += tmp7 - tmp930 = einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp8, (4, 5, 6, 1), (4, 0, 2, 5, 3, 6)) * 2 - l3new.abbabb += np.transpose(tmp930, (3, 5, 4, 0, 2, 1)) - tmp931 = einsum(tmp638, (0, 1, 2, 3), l2.abab, (4, 5, 6, 0), (6, 1, 2, 4, 5, 3)) - l3new.abbabb += np.transpose(tmp931, (3, 4, 5, 0, 1, 2)) - l3new.abbabb += einsum(l1.bb, (0, 1), v.aabb.ovov, (2, 3, 4, 5), (3, 5, 0, 2, 4, 1)) - tmp2 = einsum(t2.aaaa, (0, 1, 2, 3), l3.abaaba, (4, 5, 3, 0, 6, 1), (6, 4, 2, 5)) - tmp16 = np.copy(tmp2) - tmp0 = einsum(t2.abab, (0, 1, 2, 3), l3.babbab, (4, 5, 3, 6, 0, 1), (6, 5, 2, 4)) - tmp16 += tmp0 - tmp667 = einsum(tmp16, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 5, 6), (4, 5, 0, 1, 6, 3)) * 2 - l3new.abbabb += np.transpose(tmp667, (3, 4, 5, 0, 1, 2)) * -1 - tmp110 = np.copy(v.aabb.ooov) - tmp110 += tmp99 - tmp932 = einsum(l2.abab, (0, 1, 2, 3), tmp110, (2, 4, 5, 6), (4, 3, 5, 0, 1, 6)) - l3new.abbabb += np.transpose(tmp932, (3, 5, 4, 0, 2, 1)) * -1 - l3new.abbabb += einsum(l1.bb, (0, 1), v.aabb.ovov, (2, 3, 4, 5), (3, 0, 5, 2, 1, 4)) - l3new.abbabb += einsum(l1.bb, (0, 1), v.aabb.ovov, (2, 3, 4, 5), (3, 0, 5, 2, 4, 1)) * -1 - tmp631 = np.copy(v.aabb.oooo) - tmp108 = einsum(t1.bb, (0, 1), v.aabb.ooov, (2, 3, 4, 1), (2, 3, 0, 4)) - tmp631 += np.transpose(tmp108, (1, 0, 2, 3)) - tmp52 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 5, 3), (0, 4, 1, 5)) - tmp631 += tmp52 - tmp141 = np.copy(np.transpose(v.aabb.ovoo, (0, 2, 3, 1))) - tmp141 += np.transpose(tmp140, (0, 2, 1, 3)) - tmp630 = einsum(t1.aa, (0, 1), tmp141, (2, 3, 4, 1), (0, 2, 3, 4)) - tmp631 += np.transpose(tmp630, (0, 1, 3, 2)) - del tmp630 - tmp933 = einsum(l3.babbab, (0, 1, 2, 3, 4, 5), tmp631, (4, 6, 5, 7), (6, 3, 7, 1, 0, 2)) * -2 - l3new.abbabb += np.transpose(tmp933, (3, 5, 4, 0, 1, 2)) - l3new.abbabb += np.transpose(tmp667, (3, 4, 5, 0, 2, 1)) - tmp629 = np.copy(v.aabb.ooov) - tmp629 += tmp99 - tmp934 = einsum(l2.abab, (0, 1, 2, 3), tmp629, (2, 4, 5, 6), (4, 3, 5, 0, 1, 6)) - l3new.abbabb += np.transpose(tmp934, (3, 5, 4, 0, 1, 2)) - l3new.abbabb += np.transpose(tmp930, (3, 4, 5, 0, 2, 1)) * -1 - del tmp930 - tmp935 = einsum(tmp742, (0, 1, 2, 3), l2.abab, (4, 5, 6, 0), (6, 1, 2, 4, 5, 3)) - l3new.abbabb += np.transpose(tmp935, (3, 5, 4, 0, 2, 1)) * -1 - tmp936 = np.copy(v.bbbb.oooo) - tmp936 += np.transpose(tmp263, (1, 3, 0, 2)) - tmp936 += np.transpose(tmp739, (1, 3, 0, 2)) - tmp936 += np.transpose(tmp272, (2, 1, 0, 3)) - tmp936 += np.transpose(tmp272, (2, 3, 0, 1)) * -1 - l3new.abbabb += einsum(tmp936, (0, 1, 2, 3), l3.babbab, (4, 5, 6, 0, 7, 2), (5, 4, 6, 7, 1, 3)) * 2 - del tmp936 - tmp937 = einsum(tmp8, (0, 1, 2, 3), v.bbbb.ovov, (4, 5, 6, 3), (0, 4, 6, 1, 5, 2)) * 2 - l3new.abbabb += np.transpose(tmp937, (3, 4, 5, 0, 2, 1)) - l3new.abbabb += np.transpose(tmp935, (3, 5, 4, 0, 1, 2)) - del tmp935 - l3new.abbabb += np.transpose(tmp928, (3, 5, 4, 0, 1, 2)) * -1 - del tmp928 - l3new.abbabb += np.transpose(tmp929, (3, 5, 4, 0, 2, 1)) * 2 - del tmp929 - l3new.abbabb += np.transpose(tmp667, (3, 5, 4, 0, 2, 1)) * -1 - l3new.abbabb += np.transpose(tmp934, (3, 4, 5, 0, 1, 2)) * -1 - del tmp934 - l3new.abbabb += np.transpose(tmp937, (3, 5, 4, 0, 2, 1)) * -1 - del tmp937 - l3new.abbabb += np.transpose(tmp931, (3, 4, 5, 0, 2, 1)) * -1 - del tmp931 - l3new.abbabb += np.transpose(tmp667, (3, 5, 4, 0, 1, 2)) - l3new.abbabb += np.transpose(tmp932, (3, 4, 5, 0, 2, 1)) - del tmp932 - l3new.abbabb += np.transpose(tmp536, (3, 4, 5, 0, 1, 2)) * -1 - l3new.abbabb += np.transpose(tmp536, (3, 4, 5, 0, 2, 1)) - l3new.abbabb += np.transpose(tmp204, (3, 4, 5, 0, 1, 2)) - l3new.abbabb += np.transpose(tmp526, (3, 4, 5, 0, 2, 1)) * -2 - l3new.abbabb += np.transpose(tmp204, (3, 4, 5, 0, 2, 1)) * -1 - l3new.abbabb += np.transpose(tmp933, (3, 5, 4, 0, 2, 1)) * -1 - del tmp933 - tmp663 = einsum(tmp579, (0, 1, 2, 3, 4, 5, 6, 7), t1.bb, (2, 7), (0, 1, 3, 4, 5, 6)) - del tmp579 - l3new.abbabb += np.transpose(tmp663, (3, 5, 4, 0, 1, 2)) * 2 - tmp938 = einsum(l3.babbab, (0, 1, 2, 3, 4, 5), v.aabb.vvoo, (6, 1, 7, 5), (4, 3, 7, 6, 0, 2)) - l3new.abbabb += np.transpose(tmp938, (3, 5, 4, 0, 1, 2)) * 2 - l3new.abbabb += np.transpose(tmp663, (3, 5, 4, 0, 2, 1)) * -2 - l3new.abbabb += np.transpose(tmp938, (3, 5, 4, 0, 2, 1)) * -2 - del tmp938 - l3new.abbabb += np.transpose(tmp910, (3, 4, 5, 0, 1, 2)) * 2 - del tmp910 - l3new.abbabb += np.transpose(tmp913, (3, 4, 5, 0, 2, 1)) * 2 - del tmp913 - l3new.abbabb += np.transpose(tmp527, (3, 4, 5, 0, 2, 1)) * 2 - l3new.abbabb += np.transpose(tmp926, (3, 5, 4, 0, 1, 2)) * -1 - del tmp926 - l3new.abbabb += np.transpose(tmp603, (3, 4, 5, 0, 2, 1)) * 2 - l3new.abbabb += np.transpose(tmp721, (3, 4, 5, 0, 2, 1)) * 2 - l3new.abbabb += np.transpose(tmp576, (3, 4, 5, 0, 2, 1)) * -2 - l3new.abbabb += np.transpose(tmp915, (3, 5, 4, 0, 2, 1)) * -4 - del tmp915 - l3new.abbabb += np.transpose(tmp580, (3, 4, 5, 0, 2, 1)) * 2 - tmp182 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 4, 5, 3), (1, 5, 2, 4)) - tmp620 = einsum(tmp182, (0, 1, 2, 3), l3.babbab, (4, 2, 5, 6, 7, 0), (7, 6, 1, 3, 4, 5)) - l3new.abbabb += np.transpose(tmp620, (3, 5, 4, 0, 1, 2)) * -2 - tmp939 = np.copy(np.transpose(v.aabb.ovoo, (0, 2, 3, 1))) - tmp939 += tmp140 * 2 - l3new.abbabb += einsum(tmp577, (0, 1, 2, 3, 4, 5), tmp939, (1, 2, 6, 7), (7, 5, 4, 0, 3, 6)) - del tmp939 - tmp211 = einsum(t1.aa, (0, 1), l2.abab, (1, 2, 3, 4), (3, 0, 4, 2)) - tmp867 = np.copy(tmp211) - tmp120 = einsum(t2.aaaa, (0, 1, 2, 3), l3.abaaba, (2, 4, 3, 5, 6, 1), (5, 0, 6, 4)) - tmp867 += tmp120 - tmp121 = einsum(t2.abab, (0, 1, 2, 3), l3.babbab, (4, 2, 3, 5, 6, 1), (6, 0, 5, 4)) - tmp867 += tmp121 * 2 - tmp940 = einsum(v.aabb.ovov, (0, 1, 2, 3), tmp867, (4, 0, 5, 6), (4, 2, 5, 1, 3, 6)) - l3new.abbabb += np.transpose(tmp940, (3, 4, 5, 0, 2, 1)) - tmp511 = einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t2.abab, (4, 6, 7, 2), (3, 5, 6, 1, 7, 0)) - tmp528 = einsum(v.aabb.ovov, (0, 1, 2, 3), tmp511, (4, 5, 2, 6, 1, 7), (0, 4, 5, 6, 7, 3)) - l3new.abbabb += np.transpose(tmp528, (3, 5, 4, 0, 2, 1)) * 2 - tmp941 = einsum(tmp521, (0, 1, 2, 3, 4, 5), tmp629, (0, 6, 3, 7), (6, 1, 2, 4, 5, 7)) - l3new.abbabb += np.transpose(tmp941, (3, 5, 4, 0, 2, 1)) * 2 - tmp533 = np.copy(np.transpose(tmp292, (1, 0, 2, 3))) * -0.3333333333333333 - tmp533 += np.transpose(tmp128, (1, 0, 2, 3)) * -0.3333333333333333 - tmp533 += np.transpose(tmp129, (1, 0, 2, 3)) * -1 - tmp942 = einsum(tmp533, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 2, 6), (4, 0, 1, 5, 6, 3)) * 3 - l3new.abbabb += np.transpose(tmp942, (3, 4, 5, 0, 2, 1)) * -2 - tmp100 = einsum(l2.abab, (0, 1, 2, 3), t1.bb, (4, 1), (2, 3, 4, 0)) - tmp865 = np.copy(tmp100) - tmp49 = einsum(t2.abab, (0, 1, 2, 3), l3.abaaba, (4, 3, 2, 5, 6, 0), (5, 6, 1, 4)) - tmp865 += tmp49 - tmp50 = einsum(t2.bbbb, (0, 1, 2, 3), l3.babbab, (2, 4, 3, 5, 6, 1), (6, 5, 0, 4)) - tmp865 += tmp50 * 2 - tmp943 = einsum(tmp865, (0, 1, 2, 3), v.bbbb.ovov, (4, 5, 2, 6), (0, 4, 1, 3, 6, 5)) - l3new.abbabb += np.transpose(tmp943, (3, 4, 5, 0, 2, 1)) * -1 - tmp944 = einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp548, (4, 5, 2, 6, 7, 1), (4, 5, 0, 6, 7, 3)) - l3new.abbabb += np.transpose(tmp944, (3, 4, 5, 0, 1, 2)) * -4 - tmp945 = einsum(tmp227, (0, 1, 2, 3), tmp521, (4, 5, 0, 1, 6, 7), (4, 5, 2, 6, 7, 3)) - l3new.abbabb += np.transpose(tmp945, (3, 4, 5, 0, 1, 2)) * 2 - l3new.abbabb += einsum(l2.abab, (0, 1, 2, 3), tmp635, (4, 5), (0, 1, 5, 2, 3, 4)) * -1 - tmp946 = einsum(v.bbbb.ooov, (0, 1, 2, 3), tmp521, (4, 5, 1, 2, 6, 7), (4, 5, 0, 6, 7, 3)) - l3new.abbabb += np.transpose(tmp946, (3, 4, 5, 0, 1, 2)) * 2 - tmp947 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), tmp327, (5, 6, 2, 7), (3, 4, 6, 0, 1, 7)) - l3new.abbabb += np.transpose(tmp947, (3, 4, 5, 0, 1, 2)) * -2 - l3new.abbabb += np.transpose(tmp943, (3, 5, 4, 0, 2, 1)) - del tmp943 - l3new.abbabb += np.transpose(tmp620, (3, 5, 4, 0, 2, 1)) * 2 - tmp948 = np.copy(np.transpose(v.aabb.ovoo, (0, 2, 3, 1))) * 2 - tmp948 += tmp140 - l3new.abbabb += einsum(tmp577, (0, 1, 2, 3, 4, 5), tmp948, (1, 2, 6, 7), (7, 5, 4, 0, 6, 3)) * -1 - del tmp948 - tmp949 = np.copy(tmp211) * 0.5 - tmp949 += tmp120 - tmp949 += tmp121 * 0.5 - tmp950 = einsum(v.aabb.ovov, (0, 1, 2, 3), tmp949, (4, 0, 5, 6), (4, 2, 5, 1, 3, 6)) * 2 - del tmp949 - l3new.abbabb += np.transpose(tmp950, (3, 4, 5, 0, 1, 2)) * -1 - tmp951 = np.copy(tmp100) - tmp951 += tmp49 * 2 - tmp951 += tmp50 - tmp952 = einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp951, (4, 5, 2, 6), (4, 0, 5, 6, 3, 1)) - del tmp951 - l3new.abbabb += np.transpose(tmp952, (3, 4, 5, 0, 1, 2)) - l3new.abbabb += np.transpose(tmp944, (3, 4, 5, 0, 2, 1)) * 4 - l3new.abbabb += np.transpose(tmp945, (3, 4, 5, 0, 2, 1)) * -2 - l3new.abbabb += einsum(tmp635, (0, 1), l2.abab, (2, 3, 4, 5), (2, 3, 1, 4, 0, 5)) - l3new.abbabb += np.transpose(tmp946, (3, 4, 5, 0, 2, 1)) * -2 - l3new.abbabb += np.transpose(tmp947, (3, 4, 5, 0, 2, 1)) * 2 - l3new.abbabb += np.transpose(tmp952, (3, 5, 4, 0, 1, 2)) * -1 - del tmp952 - l3new.abbabb += np.transpose(tmp944, (3, 5, 4, 0, 1, 2)) * 4 - l3new.abbabb += np.transpose(tmp945, (3, 5, 4, 0, 1, 2)) * -2 - l3new.abbabb += einsum(l2.abab, (0, 1, 2, 3), tmp635, (4, 5), (0, 5, 1, 2, 3, 4)) - l3new.abbabb += np.transpose(tmp946, (3, 5, 4, 0, 1, 2)) * -2 - l3new.abbabb += np.transpose(tmp947, (3, 5, 4, 0, 1, 2)) * 2 - tmp953 = einsum(tmp577, (0, 1, 2, 3, 4, 5), tmp77, (0, 1, 6, 7), (6, 2, 3, 7, 4, 5)) - l3new.abbabb += np.transpose(tmp953, (3, 5, 4, 0, 2, 1)) * 2 - del tmp953 - l3new.abbabb += einsum(l2.bbbb, (0, 1, 2, 3), tmp499, (4, 5), (5, 0, 1, 4, 2, 3)) * -2 - tmp954 = einsum(v.aaaa.ooov, (0, 1, 2, 3), tmp577, (1, 2, 4, 5, 6, 7), (0, 4, 5, 3, 6, 7)) - l3new.abbabb += np.transpose(tmp954, (3, 5, 4, 0, 2, 1)) * 2 - del tmp954 - tmp955 = einsum(v.aaaa.ovov, (0, 1, 2, 3), tmp897, (2, 4, 5, 1, 6, 7), (0, 4, 5, 3, 6, 7)) * 2 - del tmp897 - l3new.abbabb += np.transpose(tmp955, (3, 5, 4, 0, 2, 1)) * -2 - del tmp955 - l3new.abbabb += np.transpose(tmp944, (3, 5, 4, 0, 2, 1)) * -4 - del tmp944 - l3new.abbabb += np.transpose(tmp945, (3, 5, 4, 0, 2, 1)) * 2 - del tmp945 - l3new.abbabb += einsum(tmp635, (0, 1), l2.abab, (2, 3, 4, 5), (2, 1, 3, 4, 0, 5)) * -1 - l3new.abbabb += np.transpose(tmp946, (3, 5, 4, 0, 2, 1)) * 2 - del tmp946 - l3new.abbabb += np.transpose(tmp947, (3, 5, 4, 0, 2, 1)) * -2 - del tmp947 - l3new.abbabb += np.transpose(tmp940, (3, 5, 4, 0, 2, 1)) * -1 - del tmp940 - l3new.abbabb += np.transpose(tmp942, (3, 5, 4, 0, 2, 1)) * 2 - del tmp942 - l3new.abbabb += np.transpose(tmp950, (3, 5, 4, 0, 1, 2)) - del tmp950 - tmp956 = einsum(v.aabb.ovov, (0, 1, 2, 3), tmp120, (4, 0, 5, 6), (4, 5, 2, 1, 6, 3)) * -1 - l3new.abbabb += np.transpose(tmp956, (3, 5, 4, 0, 1, 2)) * -1 - tmp578 = einsum(v.aabb.ovoo, (0, 1, 2, 3), tmp577, (4, 0, 5, 3, 6, 7), (4, 5, 2, 1, 6, 7)) - l3new.abbabb += np.transpose(tmp578, (3, 5, 4, 0, 1, 2)) * -1 - tmp957 = einsum(tmp49, (0, 1, 2, 3), v.bbbb.ovov, (4, 5, 2, 6), (0, 1, 4, 3, 5, 6)) - l3new.abbabb += np.transpose(tmp957, (3, 4, 5, 0, 1, 2)) - l3new.abbabb += np.transpose(tmp528, (3, 4, 5, 0, 2, 1)) * -2 - l3new.abbabb += np.transpose(tmp941, (3, 4, 5, 0, 2, 1)) * -2 - del tmp941 - l3new.abbabb += np.transpose(tmp957, (3, 5, 4, 0, 1, 2)) * -1 - del tmp957 - tmp958 = einsum(v.aabb.ovov, (0, 1, 2, 3), tmp121, (4, 0, 5, 6), (4, 5, 2, 1, 6, 3)) - l3new.abbabb += np.transpose(tmp958, (3, 5, 4, 0, 2, 1)) * -1 - tmp664 = einsum(tmp140, (0, 1, 2, 3), tmp577, (4, 0, 5, 1, 6, 7), (4, 5, 2, 3, 6, 7)) - del tmp577 - l3new.abbabb += np.transpose(tmp664, (3, 5, 4, 0, 2, 1)) - tmp959 = einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp50, (4, 5, 2, 6), (4, 5, 0, 6, 1, 3)) * -1 - l3new.abbabb += np.transpose(tmp959, (3, 5, 4, 0, 2, 1)) * -1 - l3new.abbabb += np.transpose(tmp959, (3, 4, 5, 0, 2, 1)) - del tmp959 - l3new.abbabb += np.transpose(tmp956, (3, 4, 5, 0, 1, 2)) - del tmp956 - l3new.abbabb += np.transpose(tmp958, (3, 4, 5, 0, 2, 1)) - del tmp958 - tmp97 = einsum(v.aabb.ovvv, (0, 1, 2, 3), l2.abab, (4, 3, 5, 6), (5, 0, 6, 4, 1, 2)) - l3new.aabaab = np.copy(np.transpose(tmp97, (4, 3, 5, 0, 1, 2))) * -1 - tmp518 = einsum(tmp517, (0, 1, 2, 3, 4, 5, 6, 7), t1.bb, (3, 7), (0, 1, 2, 4, 5, 6)) - del tmp517 - l3new.aabaab += np.transpose(tmp518, (4, 3, 5, 0, 1, 2)) * -2 - tmp796 = einsum(tmp521, (0, 1, 2, 3, 4, 5), v.aabb.ovoo, (6, 7, 3, 2), (0, 6, 1, 4, 7, 5)) - l3new.aabaab += np.transpose(tmp796, (4, 3, 5, 0, 1, 2)) * 2 - tmp522 = einsum(tmp140, (0, 1, 2, 3), tmp521, (4, 5, 1, 2, 6, 7), (4, 0, 5, 6, 3, 7)) - del tmp521 - l3new.aabaab += np.transpose(tmp522, (4, 3, 5, 0, 1, 2)) * 2 - tmp570 = einsum(v.aaaa.ovoo, (0, 1, 2, 3), tmp473, (4, 3, 2, 5, 6, 7), (4, 0, 5, 6, 1, 7)) - l3new.aabaab += np.transpose(tmp570, (4, 3, 5, 0, 1, 2)) * 2 - tmp512 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t2.abab, (5, 6, 2, 7), (3, 4, 6, 0, 1, 7)) - tmp520 = einsum(v.aabb.ovov, (0, 1, 2, 3), tmp512, (4, 5, 2, 6, 7, 3), (4, 0, 5, 6, 1, 7)) - l3new.aabaab += np.transpose(tmp520, (4, 3, 5, 0, 1, 2)) * -2 - tmp797 = einsum(v.aaaa.ovov, (0, 1, 2, 3), tmp515, (4, 2, 5, 6, 3, 7), (4, 0, 5, 6, 1, 7)) - l3new.aabaab += np.transpose(tmp797, (4, 3, 5, 0, 1, 2)) * -4 - tmp519 = einsum(tmp473, (0, 1, 2, 3, 4, 5), tmp77, (0, 6, 2, 7), (1, 6, 3, 4, 7, 5)) * -1 - l3new.aabaab += np.transpose(tmp519, (4, 3, 5, 0, 1, 2)) * 2 - tmp798 = np.copy(np.transpose(v.aabb.ovov, (0, 2, 1, 3))) - tmp798 += tmp148 * 0.500000000000005 - tmp1 = einsum(t2.bbbb, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (4, 0, 5, 2)) - tmp798 += tmp1 - tmp799 = einsum(tmp798, (0, 1, 2, 3), l3.babbab, (4, 5, 3, 6, 7, 1), (7, 0, 6, 5, 2, 4)) * 2 - del tmp798 - l3new.aabaab += np.transpose(tmp799, (4, 3, 5, 0, 1, 2)) * -1 - tmp800 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), tmp761, (5, 6, 2, 7), (3, 6, 4, 0, 7, 1)) - del tmp761 - l3new.aabaab += np.transpose(tmp800, (4, 3, 5, 0, 1, 2)) * -2 - tmp516 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), v.aaaa.ovvv, (6, 7, 8, 2), (3, 5, 6, 4, 0, 7, 8, 1)) - tmp801 = np.copy(np.transpose(tmp516, (1, 0, 2, 3, 4, 5, 6, 7))) - tmp801 += np.transpose(tmp516, (1, 0, 2, 3, 4, 6, 5, 7)) * -1 - tmp802 = einsum(t1.aa, (0, 1), tmp801, (0, 2, 3, 4, 5, 1, 6, 7), (2, 3, 4, 5, 6, 7)) - l3new.aabaab += np.transpose(tmp802, (4, 3, 5, 0, 1, 2)) * 2 - tmp803 = np.copy(f.aa.oo) * 0.5 - tmp803 += np.transpose(tmp161, (1, 0)) * 0.5 - tmp803 += tmp162 * 2 - tmp803 += tmp163 - tmp803 += tmp770 * -1 - del tmp770 - tmp803 += tmp165 - l3new.aabaab += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), tmp803, (5, 6), (0, 2, 1, 3, 6, 4)) * -2 - del tmp803 - l3new.aabaab += einsum(l2.abab, (0, 1, 2, 3), tmp433, (4, 5), (5, 0, 1, 2, 4, 3)) * -1 - tmp804 = einsum(v.aabb.vvov, (0, 1, 2, 3), l3.aaaaaa, (4, 5, 1, 6, 7, 8), (6, 7, 8, 2, 4, 5, 0, 3)) - tmp805 = einsum(t1.aa, (0, 1), tmp804, (2, 0, 3, 4, 5, 6, 1, 7), (2, 3, 4, 5, 6, 7)) * -1 - del tmp804 - l3new.aabaab += np.transpose(tmp805, (4, 3, 5, 1, 0, 2)) * 6 - del tmp805 - tmp539 = einsum(v.aabb.vvov, (0, 1, 2, 3), l2.aaaa, (4, 1, 5, 6), (5, 6, 2, 4, 0, 3)) - l3new.aabaab += np.transpose(tmp539, (4, 3, 5, 1, 0, 2)) * 2 - tmp806 = einsum(v.bbbb.ovoo, (0, 1, 2, 3), tmp381, (4, 5, 3, 2, 6, 7), (4, 5, 0, 6, 7, 1)) - l3new.aabaab += np.transpose(tmp806, (4, 3, 5, 1, 0, 2)) * -2 - del tmp806 - tmp807 = einsum(tmp227, (0, 1, 2, 3), tmp381, (4, 5, 0, 2, 6, 7), (4, 5, 1, 6, 7, 3)) - l3new.aabaab += np.transpose(tmp807, (4, 3, 5, 1, 0, 2)) * -2 - del tmp807 - tmp808 = einsum(tmp383, (0, 1, 2, 3, 4, 5), v.aabb.ooov, (3, 1, 6, 7), (0, 2, 6, 4, 5, 7)) * -1 - l3new.aabaab += np.transpose(tmp808, (4, 3, 5, 1, 0, 2)) * -6 - del tmp808 - tmp809 = einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp375, (4, 5, 2, 6, 7, 3), (4, 5, 0, 6, 7, 1)) - l3new.aabaab += np.transpose(tmp809, (4, 3, 5, 1, 0, 2)) * 6 - del tmp809 - tmp810 = einsum(tmp99, (0, 1, 2, 3), tmp383, (4, 0, 5, 1, 6, 7), (4, 5, 2, 6, 7, 3)) * -1 - del tmp383 - l3new.aabaab += np.transpose(tmp810, (4, 3, 5, 1, 0, 2)) * -6 - del tmp810 - tmp811 = np.copy(np.transpose(v.bbbb.ovov, (0, 2, 1, 3))) * 0.499999999999995 - tmp811 += v.bbbb.oovv * -0.499999999999995 - tmp279 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 5), (1, 4, 3, 5)) - tmp811 += tmp279 * 0.5 - tmp811 += tmp306 - tmp812 = einsum(tmp811, (0, 1, 2, 3), l3.abaaba, (4, 2, 5, 6, 0, 7), (6, 7, 1, 4, 5, 3)) * 2 - del tmp811 - l3new.aabaab += np.transpose(tmp812, (4, 3, 5, 1, 0, 2)) * 2 - del tmp812 - tmp813 = np.copy(np.transpose(l3.aaaaaa, (3, 4, 5, 0, 1, 2))) * 0.49999999999999506 - tmp813 += np.transpose(tmp374, (2, 1, 0, 4, 5, 3)) * -1 - tmp814 = einsum(v.aabb.ovov, (0, 1, 2, 3), tmp813, (0, 4, 5, 6, 1, 7), (4, 5, 2, 6, 7, 3)) * 6 - del tmp813 - l3new.aabaab += np.transpose(tmp814, (4, 3, 5, 0, 1, 2)) * 2 - del tmp814 - tmp815 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), v.bbbb.ovvv, (6, 7, 8, 1), (3, 5, 4, 6, 0, 2, 7, 8)) - tmp816 = np.copy(np.transpose(tmp815, (1, 0, 2, 3, 5, 4, 6, 7))) * -1 - tmp816 += np.transpose(tmp815, (1, 0, 2, 3, 5, 4, 7, 6)) - del tmp815 - tmp817 = einsum(t1.bb, (0, 1), tmp816, (2, 3, 0, 4, 5, 6, 7, 1), (2, 3, 4, 5, 6, 7)) - del tmp816 - l3new.aabaab += np.transpose(tmp817, (4, 3, 5, 1, 0, 2)) * -2 - del tmp817 - l3new.aabaab += einsum(tmp543, (0, 1), l2.aaaa, (2, 3, 4, 5), (2, 3, 1, 4, 5, 0)) * 2 - l3new.aabaab += np.transpose(tmp97, (4, 3, 5, 1, 0, 2)) - l3new.aabaab += np.transpose(tmp518, (4, 3, 5, 1, 0, 2)) * 2 - l3new.aabaab += np.transpose(tmp796, (4, 3, 5, 1, 0, 2)) * -2 - l3new.aabaab += np.transpose(tmp522, (4, 3, 5, 1, 0, 2)) * -2 - l3new.aabaab += np.transpose(tmp570, (4, 3, 5, 1, 0, 2)) * -2 - l3new.aabaab += np.transpose(tmp520, (4, 3, 5, 1, 0, 2)) - l3new.aabaab += np.transpose(tmp797, (4, 3, 5, 1, 0, 2)) * 4 - l3new.aabaab += np.transpose(tmp519, (4, 3, 5, 1, 0, 2)) * -2 - tmp818 = np.copy(np.transpose(v.aabb.ovov, (0, 2, 1, 3))) - tmp818 += tmp148 * 2 - tmp818 += tmp1 * 4 - tmp819 = einsum(tmp818, (0, 1, 2, 3), l3.babbab, (4, 5, 3, 6, 7, 1), (7, 0, 6, 5, 2, 4)) - del tmp818 - l3new.aabaab += np.transpose(tmp819, (4, 3, 5, 1, 0, 2)) - l3new.aabaab += np.transpose(tmp800, (4, 3, 5, 1, 0, 2)) * 2 - l3new.aabaab += np.transpose(tmp802, (4, 3, 5, 1, 0, 2)) * -2 - del tmp802 - tmp820 = np.copy(f.aa.oo) * 2 - tmp820 += np.transpose(tmp161, (1, 0)) * 2 - tmp820 += tmp162 * 2 - tmp820 += tmp163 - tmp820 += einsum(t1.aa, (0, 1), tmp31, (0, 2, 3, 1), (2, 3)) * -2 - tmp820 += tmp165 - del tmp165 - l3new.aabaab += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), tmp820, (5, 6), (0, 2, 1, 6, 3, 4)) - del tmp820 - l3new.aabaab += einsum(l2.abab, (0, 1, 2, 3), tmp433, (4, 5), (5, 0, 1, 4, 2, 3)) - l3new.aabaab += np.transpose(tmp518, (3, 4, 5, 0, 1, 2)) * 2 - tmp523 = einsum(l2.abab, (0, 1, 2, 3), v.aaaa.ovvv, (4, 5, 6, 0), (2, 4, 3, 5, 6, 1)) - l3new.aabaab += np.transpose(tmp523, (4, 3, 5, 0, 1, 2)) - l3new.aabaab += np.transpose(tmp796, (3, 4, 5, 0, 1, 2)) * -2 - l3new.aabaab += np.transpose(tmp522, (3, 4, 5, 0, 1, 2)) * -2 - l3new.aabaab += np.transpose(tmp570, (3, 4, 5, 0, 1, 2)) * -2 - l3new.aabaab += np.transpose(tmp520, (3, 4, 5, 0, 1, 2)) * 2 - l3new.aabaab += np.transpose(tmp797, (3, 4, 5, 0, 1, 2)) * 4 - l3new.aabaab += np.transpose(tmp519, (3, 4, 5, 0, 1, 2)) * -2 - l3new.aabaab += np.transpose(tmp799, (3, 4, 5, 0, 1, 2)) - del tmp799 - l3new.aabaab += np.transpose(tmp800, (3, 4, 5, 0, 1, 2)) * 2 - l3new.aabaab += einsum(t1.aa, (0, 1), tmp801, (0, 2, 3, 4, 5, 6, 1, 7), (5, 6, 7, 2, 3, 4)) * 2 - del tmp801 - l3new.aabaab += einsum(l2.abab, (0, 1, 2, 3), tmp433, (4, 5), (0, 5, 1, 2, 4, 3)) - l3new.aabaab += np.transpose(tmp518, (3, 4, 5, 1, 0, 2)) * -2 - l3new.aabaab += np.transpose(tmp523, (4, 3, 5, 1, 0, 2)) * -1 - l3new.aabaab += np.transpose(tmp796, (3, 4, 5, 1, 0, 2)) * 2 - del tmp796 - l3new.aabaab += np.transpose(tmp522, (3, 4, 5, 1, 0, 2)) * 2 - l3new.aabaab += np.transpose(tmp570, (3, 4, 5, 1, 0, 2)) * 2 - l3new.aabaab += np.transpose(tmp520, (3, 4, 5, 1, 0, 2)) * -1 - l3new.aabaab += np.transpose(tmp797, (3, 4, 5, 1, 0, 2)) * -4 - del tmp797 - l3new.aabaab += np.transpose(tmp519, (3, 4, 5, 1, 0, 2)) * 2 - l3new.aabaab += np.transpose(tmp819, (3, 4, 5, 1, 0, 2)) * -1 - del tmp819 - l3new.aabaab += np.transpose(tmp800, (3, 4, 5, 1, 0, 2)) * -2 - del tmp800 - tmp821 = np.copy(np.transpose(tmp516, (1, 0, 2, 3, 4, 5, 6, 7))) * -1 - tmp821 += np.transpose(tmp516, (1, 0, 2, 3, 4, 6, 5, 7)) - tmp822 = einsum(t1.aa, (0, 1), tmp821, (0, 2, 3, 4, 5, 1, 6, 7), (2, 3, 4, 5, 6, 7)) - del tmp821 - l3new.aabaab += np.transpose(tmp822, (3, 4, 5, 1, 0, 2)) * -2 - del tmp822 - l3new.aabaab += einsum(tmp433, (0, 1), l2.abab, (2, 3, 4, 5), (2, 1, 3, 0, 4, 5)) * -1 - tmp823 = np.copy(tmp148) - tmp823 += tmp1 * 2 - tmp824 = einsum(tmp823, (0, 1, 2, 3), l3.babbab, (4, 5, 3, 6, 7, 1), (7, 0, 6, 5, 2, 4)) - del tmp823 - l3new.aabaab += np.transpose(tmp824, (4, 3, 5, 0, 1, 2)) * -1 - tmp826 = np.copy(f.aa.oo) - tmp826 += np.transpose(tmp161, (1, 0)) - del tmp161 - tmp825 = np.copy(v.aaaa.ooov) - tmp825 += np.transpose(v.aaaa.ovoo, (0, 2, 3, 1)) * -1 - tmp826 += einsum(t1.aa, (0, 1), tmp825, (0, 2, 3, 1), (2, 3)) * -1 - del tmp825 - l3new.aabaab += einsum(tmp826, (0, 1), l3.abaaba, (2, 3, 4, 5, 6, 0), (2, 4, 3, 5, 1, 6)) * -1 - del tmp826 - tmp827 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), v.aabb.vvoo, (6, 2, 7, 4), (3, 5, 7, 0, 6, 1)) - l3new.aabaab += np.transpose(tmp827, (4, 3, 5, 1, 0, 2)) * -2 - tmp558 = einsum(tmp470, (0, 1, 2, 3, 4, 5, 6, 7), t1.bb, (2, 7), (0, 1, 3, 4, 5, 6)) - l3new.aabaab += np.transpose(tmp558, (4, 3, 5, 1, 0, 2)) * -2 - tmp828 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), tmp326, (4, 6), (3, 5, 6, 0, 2, 1)) - l3new.aabaab += np.transpose(tmp828, (4, 3, 5, 1, 0, 2)) * -2 - del tmp828 - tmp469 = einsum(t1.aa, (0, 1), tmp397, (2, 3, 0, 4, 5, 1, 6, 7), (2, 3, 4, 5, 6, 7)) - l3new.aabaab += np.transpose(tmp469, (4, 3, 5, 1, 0, 2)) * -2 - tmp468 = einsum(v.aabb.vvvv, (0, 1, 2, 3), l3.abaaba, (4, 3, 1, 5, 6, 7), (5, 7, 6, 4, 0, 2)) - l3new.aabaab += np.transpose(tmp468, (4, 3, 5, 1, 0, 2)) * 2 - tmp440 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t2.abab, (6, 7, 2, 1), (3, 5, 6, 4, 7, 0)) - tmp475 = np.copy(np.transpose(tmp440, (1, 0, 2, 3, 4, 5))) * -1 - tmp474 = einsum(tmp473, (0, 1, 2, 3, 4, 5), t1.bb, (6, 5), (0, 1, 2, 3, 6, 4)) - tmp475 += np.transpose(tmp474, (1, 0, 2, 3, 4, 5)) * -1 - del tmp474 - tmp829 = einsum(v.aabb.ovov, (0, 1, 2, 3), tmp475, (4, 5, 0, 6, 2, 7), (4, 5, 6, 1, 7, 3)) * 0.5 - l3new.aabaab += np.transpose(tmp829, (3, 4, 5, 1, 0, 2)) * 4 - tmp830 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), tmp484, (6, 2), (3, 5, 4, 0, 6, 1)) * -1 - l3new.aabaab += np.transpose(tmp830, (4, 3, 5, 1, 0, 2)) * 2 - tmp831 = einsum(tmp473, (0, 1, 2, 3, 4, 5), tmp160, (2, 6), (0, 1, 3, 6, 4, 5)) - l3new.aabaab += np.transpose(tmp831, (3, 4, 5, 1, 0, 2)) * -1 - tmp832 = einsum(tmp473, (0, 1, 2, 3, 4, 5), tmp589, (2, 6), (0, 1, 3, 4, 6, 5)) - l3new.aabaab += np.transpose(tmp832, (4, 3, 5, 1, 0, 2)) * -1 - tmp471 = einsum(tmp470, (0, 1, 2, 3, 4, 5, 6, 7), t1.bb, (3, 6), (0, 1, 2, 4, 5, 7)) - del tmp470 - l3new.aabaab += np.transpose(tmp471, (4, 3, 5, 1, 0, 2)) * -2 - tmp833 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), tmp362, (1, 6), (3, 5, 4, 0, 2, 6)) - l3new.aabaab += np.transpose(tmp833, (4, 3, 5, 1, 0, 2)) * -2 - del tmp833 - tmp837 = einsum(tmp381, (0, 1, 2, 3, 4, 5), tmp836, (3, 6), (0, 1, 2, 4, 5, 6)) - del tmp836 - l3new.aabaab += np.transpose(tmp837, (4, 3, 5, 1, 0, 2)) * -2 - del tmp837 - tmp571 = einsum(t1.aa, (0, 1), tmp516, (2, 3, 0, 4, 1, 5, 6, 7), (2, 3, 4, 5, 6, 7)) - l3new.aabaab += np.transpose(tmp571, (4, 3, 5, 1, 0, 2)) * -2 - tmp569 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), v.aaaa.vvvv, (6, 0, 7, 2), (3, 5, 4, 6, 7, 1)) - l3new.aabaab += np.transpose(tmp569, (4, 3, 5, 1, 0, 2)) * 2 - tmp562 = einsum(t2.aaaa, (0, 1, 2, 3), l3.abaaba, (2, 4, 3, 5, 6, 7), (5, 7, 0, 1, 6, 4)) - tmp574 = np.copy(np.transpose(tmp562, (1, 0, 3, 2, 4, 5))) - tmp573 = einsum(tmp473, (0, 1, 2, 3, 4, 5), t1.aa, (6, 4), (0, 1, 2, 6, 3, 5)) * -1 - tmp574 += np.transpose(tmp573, (1, 0, 3, 2, 4, 5)) - del tmp573 - tmp838 = einsum(tmp574, (0, 1, 2, 3, 4, 5), v.aaaa.ovov, (2, 6, 3, 7), (0, 1, 4, 6, 7, 5)) * 0.5 - l3new.aabaab += np.transpose(tmp838, (4, 3, 5, 1, 0, 2)) * 4 - del tmp838 - l3new.aabaab += np.transpose(tmp830, (3, 4, 5, 1, 0, 2)) * -1 - del tmp830 - l3new.aabaab += np.transpose(tmp831, (4, 3, 5, 1, 0, 2)) - del tmp831 - tmp839 = np.copy(f.aa.vv) * -0.5 - tmp839 += np.transpose(tmp219, (1, 0)) * -0.5 - del tmp219 - tmp839 += np.transpose(tmp220, (1, 0)) - del tmp220 - tmp839 += np.transpose(tmp221, (1, 0)) * 0.5 - del tmp221 - tmp839 += einsum(t1.aa, (0, 1), tmp58, (0, 1, 2, 3), (3, 2)) * -0.5 - l3new.aabaab += einsum(tmp839, (0, 1), l3.abaaba, (2, 3, 1, 4, 5, 6), (2, 0, 3, 4, 6, 5)) * -2 - del tmp839 - l3new.aabaab += np.transpose(tmp832, (3, 4, 5, 1, 0, 2)) - del tmp832 - tmp840 = np.copy(np.transpose(l3.babbab, (4, 3, 5, 1, 0, 2))) - tmp840 += tmp512 - tmp841 = einsum(tmp840, (0, 1, 2, 3, 4, 5), v.aabb.ovov, (6, 7, 2, 5), (6, 0, 1, 7, 3, 4)) - del tmp840 - l3new.aabaab += np.transpose(tmp841, (3, 4, 5, 0, 1, 2)) - tmp842 = np.copy(tmp162) - del tmp162 - tmp842 += tmp163 * 0.5 - del tmp163 - tmp842 += tmp771 - del tmp771 - l3new.aabaab += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), tmp842, (5, 6), (0, 2, 1, 6, 3, 4)) * 2 - del tmp842 - l3new.aabaab += einsum(v.aabb.ovov, (0, 1, 2, 3), l1.aa, (4, 5), (1, 4, 3, 5, 0, 2)) * -1 - tmp843 = einsum(tmp19, (0, 1, 2, 3), v.aabb.ovov, (4, 3, 5, 6), (4, 0, 5, 1, 2, 6)) * 6 - l3new.aabaab += np.transpose(tmp843, (4, 3, 5, 1, 0, 2)) - tmp844 = einsum(tmp629, (0, 1, 2, 3), l2.aaaa, (4, 5, 6, 0), (6, 1, 2, 4, 5, 3)) * -1 - l3new.aabaab += np.transpose(tmp844, (4, 3, 5, 0, 1, 2)) * -2 - l3new.aabaab += einsum(l1.bb, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (3, 5, 0, 2, 4, 1)) - l3new.aabaab += einsum(l1.bb, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (5, 3, 0, 2, 4, 1)) * -1 - tmp845 = einsum(tmp16, (0, 1, 2, 3), v.aaaa.ovov, (4, 2, 5, 6), (4, 5, 0, 1, 6, 3)) * 2 - l3new.aabaab += np.transpose(tmp845, (3, 4, 5, 1, 0, 2)) - tmp846 = einsum(l2.abab, (0, 1, 2, 3), tmp366, (2, 4, 5, 6), (4, 5, 3, 0, 6, 1)) - l3new.aabaab += np.transpose(tmp846, (3, 4, 5, 0, 1, 2)) - l3new.aabaab += einsum(l1.aa, (0, 1), v.aabb.ovov, (2, 3, 4, 5), (3, 0, 5, 2, 1, 4)) - tmp437 = einsum(v.aabb.ovov, (0, 1, 2, 3), tmp8, (4, 5, 6, 3), (0, 4, 2, 1, 5, 6)) * 2 - l3new.aabaab += np.transpose(tmp437, (3, 4, 5, 0, 1, 2)) * -1 - tmp297 = np.copy(np.transpose(v.aabb.ovoo, (0, 2, 3, 1))) - tmp297 += tmp140 - tmp847 = einsum(tmp297, (0, 1, 2, 3), l2.abab, (4, 5, 6, 1), (6, 0, 2, 4, 3, 5)) - l3new.aabaab += np.transpose(tmp847, (4, 3, 5, 1, 0, 2)) * -1 - l3new.aabaab += einsum(v.aabb.ovov, (0, 1, 2, 3), l1.aa, (4, 5), (4, 1, 3, 5, 0, 2)) - l3new.aabaab += einsum(v.aabb.ovov, (0, 1, 2, 3), l1.aa, (4, 5), (4, 1, 3, 0, 5, 2)) * -1 - tmp848 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), tmp631, (5, 6, 4, 7), (3, 6, 7, 0, 2, 1)) * -2 - l3new.aabaab += np.transpose(tmp848, (4, 3, 5, 0, 1, 2)) - l3new.aabaab += np.transpose(tmp437, (3, 4, 5, 1, 0, 2)) - tmp850 = einsum(tmp849, (0, 1, 2, 3), l2.abab, (4, 5, 6, 1), (6, 0, 2, 4, 3, 5)) - l3new.aabaab += np.transpose(tmp850, (4, 3, 5, 0, 1, 2)) - l3new.aabaab += np.transpose(tmp845, (4, 3, 5, 1, 0, 2)) * -1 - del tmp845 - tmp851 = einsum(l2.abab, (0, 1, 2, 3), tmp497, (2, 4, 5, 6), (4, 5, 3, 0, 6, 1)) - l3new.aabaab += np.transpose(tmp851, (4, 3, 5, 1, 0, 2)) * -1 - tmp852 = np.copy(v.aaaa.oooo) - tmp852 += np.transpose(tmp47, (1, 3, 2, 0)) - tmp852 += np.transpose(tmp494, (1, 3, 2, 0)) - tmp852 += np.transpose(tmp54, (2, 1, 3, 0)) - tmp852 += np.transpose(tmp54, (2, 3, 1, 0)) * -1 - l3new.aabaab += einsum(tmp852, (0, 1, 2, 3), l3.abaaba, (4, 5, 6, 0, 7, 3), (4, 6, 5, 2, 1, 7)) * -2 - del tmp852 - tmp853 = einsum(tmp16, (0, 1, 2, 3), v.aaaa.ovov, (4, 5, 6, 2), (4, 6, 0, 1, 5, 3)) * 2 - l3new.aabaab += np.transpose(tmp853, (4, 3, 5, 1, 0, 2)) - l3new.aabaab += np.transpose(tmp851, (4, 3, 5, 0, 1, 2)) - del tmp851 - l3new.aabaab += np.transpose(tmp843, (4, 3, 5, 0, 1, 2)) * -1 - del tmp843 - l3new.aabaab += np.transpose(tmp844, (4, 3, 5, 1, 0, 2)) * 2 - del tmp844 - l3new.aabaab += np.transpose(tmp437, (4, 3, 5, 1, 0, 2)) * -1 - l3new.aabaab += np.transpose(tmp850, (3, 4, 5, 0, 1, 2)) * -1 - del tmp850 - l3new.aabaab += np.transpose(tmp853, (3, 4, 5, 1, 0, 2)) * -1 - del tmp853 - l3new.aabaab += np.transpose(tmp846, (3, 4, 5, 1, 0, 2)) * -1 - del tmp846 - l3new.aabaab += np.transpose(tmp437, (4, 3, 5, 0, 1, 2)) - l3new.aabaab += np.transpose(tmp847, (3, 4, 5, 1, 0, 2)) - del tmp847 - l3new.aabaab += np.transpose(tmp523, (3, 4, 5, 0, 1, 2)) * -1 - l3new.aabaab += np.transpose(tmp523, (3, 4, 5, 1, 0, 2)) - l3new.aabaab += np.transpose(tmp97, (3, 4, 5, 0, 1, 2)) - l3new.aabaab += np.transpose(tmp539, (3, 4, 5, 1, 0, 2)) * -2 - l3new.aabaab += np.transpose(tmp97, (3, 4, 5, 1, 0, 2)) * -1 - l3new.aabaab += np.transpose(tmp848, (4, 3, 5, 1, 0, 2)) * -1 - del tmp848 - tmp398 = einsum(t1.aa, (0, 1), tmp397, (2, 0, 3, 4, 5, 6, 1, 7), (2, 3, 4, 5, 6, 7)) - del tmp397 - l3new.aabaab += np.transpose(tmp398, (4, 3, 5, 0, 1, 2)) * 2 - tmp396 = einsum(v.aabb.oovv, (0, 1, 2, 3), l3.abaaba, (4, 3, 5, 6, 7, 1), (6, 0, 7, 4, 5, 2)) - l3new.aabaab += np.transpose(tmp396, (4, 3, 5, 0, 1, 2)) * 2 - l3new.aabaab += np.transpose(tmp398, (4, 3, 5, 1, 0, 2)) * -2 - l3new.aabaab += np.transpose(tmp396, (4, 3, 5, 1, 0, 2)) * -2 - l3new.aabaab += np.transpose(tmp824, (3, 4, 5, 0, 1, 2)) - del tmp824 - l3new.aabaab += np.transpose(tmp827, (3, 4, 5, 1, 0, 2)) * 2 - del tmp827 - l3new.aabaab += np.transpose(tmp558, (3, 4, 5, 1, 0, 2)) * 2 - l3new.aabaab += np.transpose(tmp841, (4, 3, 5, 0, 1, 2)) * -1 - del tmp841 - l3new.aabaab += np.transpose(tmp571, (3, 4, 5, 1, 0, 2)) * 2 - l3new.aabaab += np.transpose(tmp468, (3, 4, 5, 1, 0, 2)) * -2 - l3new.aabaab += np.transpose(tmp471, (3, 4, 5, 1, 0, 2)) * 2 - l3new.aabaab += np.transpose(tmp829, (4, 3, 5, 1, 0, 2)) * -4 - del tmp829 - l3new.aabaab += np.transpose(tmp469, (3, 4, 5, 1, 0, 2)) * 2 - tmp369 = einsum(t2.abab, (0, 1, 2, 3), l3.abaaba, (4, 3, 5, 6, 7, 0), (6, 7, 1, 4, 5, 2)) - tmp399 = einsum(v.aabb.ovov, (0, 1, 2, 3), tmp369, (4, 5, 2, 6, 7, 1), (4, 0, 5, 6, 7, 3)) - l3new.aabaab += np.transpose(tmp399, (4, 3, 5, 0, 1, 2)) * -2 - tmp854 = np.copy(v.aabb.ooov) - tmp854 += tmp99 * 2 - l3new.aabaab += einsum(tmp854, (0, 1, 2, 3), tmp381, (0, 4, 5, 2, 6, 7), (7, 6, 3, 4, 1, 5)) - del tmp854 - tmp615 = np.copy(tmp100) * 0.5 - tmp615 += tmp49 - tmp615 += tmp50 * 0.5 - tmp855 = einsum(v.aabb.ovov, (0, 1, 2, 3), tmp615, (4, 5, 2, 6), (0, 4, 5, 1, 6, 3)) * 2 - l3new.aabaab += np.transpose(tmp855, (3, 4, 5, 1, 0, 2)) - tmp856 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), tmp182, (4, 6, 2, 7), (3, 5, 6, 0, 7, 1)) - l3new.aabaab += np.transpose(tmp856, (4, 3, 5, 1, 0, 2)) * 2 - tmp857 = einsum(tmp849, (0, 1, 2, 3), tmp473, (4, 5, 0, 1, 6, 7), (4, 5, 2, 6, 3, 7)) - del tmp849 - l3new.aabaab += np.transpose(tmp857, (4, 3, 5, 1, 0, 2)) * 2 - tmp858 = einsum(v.aabb.ovov, (0, 1, 2, 3), tmp79, (4, 5, 0, 6), (4, 5, 2, 1, 6, 3)) - l3new.aabaab += np.transpose(tmp858, (3, 4, 5, 1, 0, 2)) * -2 - tmp590 = np.copy(tmp211) - tmp590 += tmp120 * 2 - tmp590 += tmp121 - tmp859 = einsum(tmp590, (0, 1, 2, 3), v.aaaa.ovov, (4, 5, 1, 6), (0, 4, 2, 6, 5, 3)) - l3new.aabaab += np.transpose(tmp859, (3, 4, 5, 0, 1, 2)) * -1 - l3new.aabaab += einsum(l2.abab, (0, 1, 2, 3), tmp499, (4, 5), (0, 5, 1, 2, 4, 3)) * -1 - tmp860 = einsum(v.aaaa.ooov, (0, 1, 2, 3), tmp473, (4, 1, 2, 5, 6, 7), (4, 0, 5, 6, 3, 7)) - l3new.aabaab += np.transpose(tmp860, (3, 4, 5, 0, 1, 2)) * 2 - tmp861 = einsum(l3.babbab, (0, 1, 2, 3, 4, 5), tmp167, (6, 5, 7, 2), (4, 6, 3, 1, 7, 0)) - l3new.aabaab += np.transpose(tmp861, (3, 4, 5, 0, 1, 2)) * -2 - tmp862 = einsum(v.aaaa.ovov, (0, 1, 2, 3), tmp515, (4, 2, 5, 6, 1, 7), (4, 0, 5, 6, 3, 7)) - l3new.aabaab += np.transpose(tmp862, (3, 4, 5, 0, 1, 2)) * -4 - tmp863 = einsum(tmp473, (0, 1, 2, 3, 4, 5), tmp77, (1, 2, 6, 7), (0, 6, 3, 4, 7, 5)) - l3new.aabaab += np.transpose(tmp863, (3, 4, 5, 0, 1, 2)) * 2 - l3new.aabaab += np.transpose(tmp859, (4, 3, 5, 0, 1, 2)) - del tmp859 - l3new.aabaab += np.transpose(tmp399, (4, 3, 5, 1, 0, 2)) * 2 - tmp864 = np.copy(v.aabb.ooov) * 2 - tmp864 += tmp99 - l3new.aabaab += einsum(tmp381, (0, 1, 2, 3, 4, 5), tmp864, (0, 6, 3, 7), (5, 4, 7, 6, 1, 2)) * -1 - del tmp864 - tmp866 = einsum(tmp865, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 2, 6), (4, 0, 1, 5, 3, 6)) - del tmp865 - l3new.aabaab += np.transpose(tmp866, (3, 4, 5, 0, 1, 2)) * -1 - tmp868 = einsum(tmp867, (0, 1, 2, 3), v.aaaa.ovov, (4, 5, 1, 6), (0, 4, 2, 6, 5, 3)) - del tmp867 - l3new.aabaab += np.transpose(tmp868, (3, 4, 5, 1, 0, 2)) - l3new.aabaab += einsum(tmp499, (0, 1), l2.abab, (2, 3, 4, 5), (2, 1, 3, 0, 4, 5)) - l3new.aabaab += np.transpose(tmp860, (3, 4, 5, 1, 0, 2)) * -2 - l3new.aabaab += np.transpose(tmp861, (3, 4, 5, 1, 0, 2)) * 2 - l3new.aabaab += np.transpose(tmp862, (3, 4, 5, 1, 0, 2)) * 4 - l3new.aabaab += np.transpose(tmp863, (3, 4, 5, 1, 0, 2)) * -2 - l3new.aabaab += np.transpose(tmp868, (4, 3, 5, 1, 0, 2)) * -1 - del tmp868 - l3new.aabaab += einsum(l2.abab, (0, 1, 2, 3), tmp499, (4, 5), (5, 0, 1, 2, 4, 3)) - l3new.aabaab += np.transpose(tmp860, (4, 3, 5, 0, 1, 2)) * -2 - l3new.aabaab += np.transpose(tmp861, (4, 3, 5, 0, 1, 2)) * 2 - l3new.aabaab += np.transpose(tmp862, (4, 3, 5, 0, 1, 2)) * 4 - l3new.aabaab += np.transpose(tmp863, (4, 3, 5, 0, 1, 2)) * -2 - tmp869 = einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp375, (4, 5, 2, 6, 7, 1), (4, 5, 0, 6, 7, 3)) - l3new.aabaab += np.transpose(tmp869, (4, 3, 5, 1, 0, 2)) * -6 - del tmp869 - tmp870 = einsum(tmp381, (0, 1, 2, 3, 4, 5), v.bbbb.ooov, (6, 2, 3, 7), (0, 1, 6, 4, 5, 7)) - l3new.aabaab += np.transpose(tmp870, (4, 3, 5, 1, 0, 2)) * 2 - del tmp870 - tmp871 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), tmp328, (4, 6, 1, 7), (3, 5, 6, 0, 2, 7)) - l3new.aabaab += np.transpose(tmp871, (4, 3, 5, 1, 0, 2)) * -4 - del tmp871 - tmp872 = einsum(tmp381, (0, 1, 2, 3, 4, 5), tmp227, (2, 3, 6, 7), (0, 1, 6, 4, 5, 7)) - l3new.aabaab += np.transpose(tmp872, (4, 3, 5, 1, 0, 2)) * 2 - del tmp872 - l3new.aabaab += einsum(l2.aaaa, (0, 1, 2, 3), tmp635, (4, 5), (0, 1, 5, 2, 3, 4)) * -2 - l3new.aabaab += einsum(l2.abab, (0, 1, 2, 3), tmp499, (4, 5), (5, 0, 1, 4, 2, 3)) * -1 - l3new.aabaab += np.transpose(tmp860, (4, 3, 5, 1, 0, 2)) * 2 - del tmp860 - l3new.aabaab += np.transpose(tmp861, (4, 3, 5, 1, 0, 2)) * -2 - del tmp861 - l3new.aabaab += np.transpose(tmp862, (4, 3, 5, 1, 0, 2)) * -4 - del tmp862 - l3new.aabaab += np.transpose(tmp863, (4, 3, 5, 1, 0, 2)) * 2 - del tmp863 - l3new.aabaab += np.transpose(tmp855, (4, 3, 5, 1, 0, 2)) * -1 - del tmp855 - l3new.aabaab += np.transpose(tmp858, (4, 3, 5, 1, 0, 2)) * 2 - del tmp858 - l3new.aabaab += np.transpose(tmp866, (4, 3, 5, 0, 1, 2)) - del tmp866 - tmp610 = einsum(v.aabb.ooov, (0, 1, 2, 3), tmp381, (4, 1, 5, 2, 6, 7), (4, 0, 5, 6, 7, 3)) - l3new.aabaab += np.transpose(tmp610, (4, 3, 5, 0, 1, 2)) * -1 - tmp873 = einsum(v.aabb.ovov, (0, 1, 2, 3), tmp50, (4, 5, 2, 6), (4, 0, 5, 6, 1, 3)) * -1 - l3new.aabaab += np.transpose(tmp873, (4, 3, 5, 0, 1, 2)) * -1 - tmp874 = einsum(v.aaaa.ovov, (0, 1, 2, 3), tmp121, (4, 2, 5, 6), (4, 0, 5, 1, 3, 6)) - l3new.aabaab += np.transpose(tmp874, (3, 4, 5, 0, 1, 2)) - l3new.aabaab += np.transpose(tmp856, (3, 4, 5, 1, 0, 2)) * -2 - del tmp856 - l3new.aabaab += np.transpose(tmp857, (3, 4, 5, 1, 0, 2)) * -2 - del tmp857 - l3new.aabaab += np.transpose(tmp874, (4, 3, 5, 0, 1, 2)) * -1 - del tmp874 - tmp875 = einsum(v.aabb.ovov, (0, 1, 2, 3), tmp49, (4, 5, 2, 6), (4, 0, 5, 6, 1, 3)) - l3new.aabaab += np.transpose(tmp875, (4, 3, 5, 1, 0, 2)) * -1 - tmp400 = einsum(tmp99, (0, 1, 2, 3), tmp381, (4, 0, 5, 2, 6, 7), (4, 1, 5, 6, 7, 3)) - del tmp381 - l3new.aabaab += np.transpose(tmp400, (4, 3, 5, 1, 0, 2)) - tmp876 = einsum(tmp120, (0, 1, 2, 3), v.aaaa.ovov, (4, 5, 1, 6), (0, 4, 2, 5, 6, 3)) * -1 - l3new.aabaab += np.transpose(tmp876, (4, 3, 5, 1, 0, 2)) * -1 - l3new.aabaab += np.transpose(tmp876, (3, 4, 5, 1, 0, 2)) - del tmp876 - l3new.aabaab += np.transpose(tmp873, (3, 4, 5, 0, 1, 2)) - del tmp873 - l3new.aabaab += np.transpose(tmp875, (3, 4, 5, 1, 0, 2)) - del tmp875 - tmp225 = einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), t3.bbbbbb, (3, 4, 5, 6, 7, 2), (0, 1, 6, 7)) - l1new.bb = einsum(tmp225, (0, 1, 2, 3), v.bbbb.ovvv, (4, 2, 1, 3), (0, 4)) * -6 - tmp226 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), l3.babbab, (6, 4, 7, 0, 1, 2), (6, 7, 3, 5)) - l1new.bb += einsum(tmp226, (0, 1, 2, 3), v.bbbb.ovvv, (4, 3, 1, 2), (0, 4)) * 2 - l1new.bb += np.transpose(f.bb.ov, (1, 0)) - tmp138 = einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (6, 4, 5, 0, 1, 2), (3, 6)) - l1new.bb += einsum(tmp138, (0, 1), tmp227, (0, 2, 1, 3), (3, 2)) * -2 - l1new.bb += einsum(tmp138, (0, 1), v.bbbb.ovoo, (2, 3, 1, 0), (3, 2)) * -2 - tmp231 = np.copy(np.transpose(v.aabb.ovov, (0, 2, 1, 3))) * 0.5 - tmp231 += tmp228 - tmp230 = einsum(tmp229, (0, 1, 2, 3), t2.abab, (4, 0, 5, 2), (4, 1, 5, 3)) * 0.5 - tmp231 += tmp230 * -1 - del tmp230 - l1new.bb += einsum(tmp8, (0, 1, 2, 3), tmp231, (0, 4, 1, 3), (2, 4)) * -4 - tmp10 = einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), l3.abaaba, (6, 7, 5, 0, 1, 2), (6, 3, 7, 4)) - tmp12 = np.copy(tmp10) - del tmp10 - tmp11 = einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (3, 4, 5, 6, 7, 2), (1, 7, 0, 6)) - tmp12 += tmp11 - del tmp11 - l1new.bb += einsum(tmp12, (0, 1, 2, 3), v.aabb.vvov, (0, 1, 4, 3), (2, 4)) * -2 - tmp234 = np.copy(np.transpose(v.bbbb.ovov, (0, 2, 1, 3))) - tmp234 += v.bbbb.oovv * -1 - tmp233 = einsum(tmp229, (0, 1, 2, 3), t2.bbbb, (4, 0, 5, 2), (4, 1, 5, 3)) * 2 - tmp234 += tmp233 * -1 - del tmp233 - l1new.bb += einsum(tmp234, (0, 1, 2, 3), tmp232, (0, 2, 4, 3), (4, 1)) * -6 - tmp183 = np.copy(np.transpose(v.aabb.vvoo, (2, 3, 0, 1))) - tmp183 += tmp182 * -1 - l1new.bb += einsum(tmp183, (0, 1, 2, 3), tmp16, (0, 2, 3, 4), (4, 1)) * -2 - tmp242 = np.copy(np.transpose(v.aabb.ovoo, (0, 2, 3, 1))) * 0.5 - tmp235 = einsum(t2.aaaa, (0, 1, 2, 3), v.aabb.ovoo, (1, 3, 4, 5), (0, 4, 5, 2)) - tmp242 += np.transpose(tmp235, (0, 2, 1, 3)) - tmp236 = einsum(v.aabb.ooov, (0, 1, 2, 3), t2.abab, (1, 4, 5, 3), (0, 4, 2, 5)) - tmp242 += tmp236 * -0.5 - tmp237 = einsum(v.aabb.vvov, (0, 1, 2, 3), t2.abab, (4, 5, 1, 3), (4, 5, 2, 0)) - tmp242 += tmp237 * 0.5 - tmp238 = einsum(v.aabb.ovov, (0, 1, 2, 3), t3.abaaba, (4, 5, 0, 6, 3, 1), (4, 5, 2, 6)) - tmp242 += tmp238 - tmp239 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), v.bbbb.ovov, (6, 3, 2, 5), (1, 0, 6, 4)) - tmp242 += tmp239 - tmp240 = np.copy(v.bbbb.ooov) - tmp240 += np.transpose(v.bbbb.ovoo, (0, 2, 3, 1)) * -1 - tmp241 = einsum(tmp240, (0, 1, 2, 3), t2.abab, (4, 2, 5, 3), (4, 0, 1, 5)) * 0.5 - tmp242 += np.transpose(tmp241, (0, 2, 1, 3)) - l1new.bb += einsum(l2.abab, (0, 1, 2, 3), tmp242, (2, 3, 4, 0), (1, 4)) * -2 - del tmp242 - tmp247 = np.copy(np.transpose(v.bbbb.ovoo, (0, 2, 3, 1))) - tmp243 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovoo, (0, 2, 4, 5), (1, 4, 5, 3)) - tmp247 += np.transpose(tmp243, (0, 2, 1, 3)) - tmp244 = einsum(v.bbbb.ovvv, (0, 1, 2, 3), t2.bbbb, (4, 5, 1, 3), (4, 5, 0, 2)) - tmp247 += np.transpose(tmp244, (1, 0, 2, 3)) - tmp245 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), v.aabb.ovov, (1, 4, 6, 5), (0, 2, 6, 3)) - tmp247 += np.transpose(tmp245, (1, 0, 2, 3)) * -1 - tmp246 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 2, 6, 1, 3), (4, 5, 0, 6)) - tmp247 += np.transpose(tmp246, (1, 0, 2, 3)) * -3 - tmp247 += einsum(t2.bbbb, (0, 1, 2, 3), tmp240, (4, 5, 1, 3), (0, 5, 4, 2)) * 2 - l1new.bb += einsum(tmp247, (0, 1, 2, 3), l2.bbbb, (4, 3, 0, 1), (4, 2)) * 2 - del tmp247 - tmp249 = np.copy(np.transpose(v.bbbb.ovov, (0, 2, 1, 3))) - tmp249 += v.bbbb.oovv * -1 - l1new.bb += einsum(tmp248, (0, 1, 2, 3), tmp249, (0, 4, 1, 3), (2, 4)) * -2 - tmp250 = einsum(t2.bbbb, (0, 1, 2, 3), tmp248, (1, 4, 3, 5), (0, 4, 5, 2)) * -1 - tmp251 = np.copy(np.transpose(v.bbbb.ovov, (0, 2, 3, 1))) * -1 - tmp251 += np.transpose(v.bbbb.ovov, (0, 2, 1, 3)) - l1new.bb += einsum(tmp250, (0, 1, 2, 3), tmp251, (0, 4, 2, 3), (1, 4)) * 4 - del tmp250 - tmp256 = np.copy(v.bbbb.ooov) * -1 - tmp256 += np.transpose(v.bbbb.ooov, (0, 2, 1, 3)) - tmp252 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (3, 6, 5, 0, 7, 2), (4, 6, 1, 7)) - tmp255 = np.copy(tmp252) - tmp253 = einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (6, 4, 5, 7, 1, 2), (3, 6, 0, 7)) - tmp255 += tmp253 * 4 - tmp254 = einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), t3.bbbbbb, (6, 4, 5, 7, 1, 2), (3, 6, 0, 7)) - tmp255 += tmp254 * 9 - l1new.bb += einsum(tmp255, (0, 1, 2, 3), tmp256, (0, 4, 1, 3), (2, 4)) - tmp258 = einsum(t2.abab, (0, 1, 2, 3), tmp257, (1, 3, 4, 5), (0, 2, 4, 5)) * 0.3333333333333333 - l1new.bb += einsum(tmp258, (0, 1, 2, 3), v.aabb.ovov, (0, 1, 4, 3), (2, 4)) * -6 - del tmp258 - tmp259 = einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), l3.abaaba, (4, 6, 5, 1, 7, 2), (0, 7, 3, 6)) - tmp262 = np.copy(tmp259) - tmp260 = einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.abaaba, (6, 5, 4, 7, 2, 1), (6, 3, 7, 0)) - tmp262 += tmp260 * 1.3333333333333333 - tmp261 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), l3.bbbbbb, (6, 3, 5, 7, 0, 2), (1, 7, 4, 6)) - tmp262 += tmp261 - l1new.bb += einsum(v.aabb.ovoo, (0, 1, 2, 3), tmp262, (0, 3, 1, 4), (4, 2)) * -3 - tmp178 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (6, 4, 5, 0, 7, 2), (3, 6, 1, 7)) - tmp180 = np.copy(tmp178) - del tmp178 - tmp179 = einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (3, 6, 5, 7, 1, 2), (4, 6, 0, 7)) - tmp180 += tmp179 - del tmp179 - l1new.bb += einsum(v.aabb.ooov, (0, 1, 2, 3), tmp180, (1, 0, 4, 3), (4, 2)) * 2 - tmp53 = np.copy(v.aabb.oooo) - tmp53 += tmp52 - tmp122 = np.copy(tmp120) - tmp122 += tmp121 - l1new.bb += einsum(tmp122, (0, 1, 2, 3), tmp53, (0, 1, 2, 4), (3, 4)) * 2 - tmp264 = np.copy(v.bbbb.oooo) - tmp264 += np.transpose(tmp263, (1, 3, 2, 0)) - l1new.bb += einsum(tmp264, (0, 1, 2, 3), tmp128, (0, 3, 1, 4), (4, 2)) * -2 - del tmp264 - tmp265 = np.copy(v.bbbb.oooo) - tmp265 += np.transpose(tmp263, (1, 3, 0, 2)) - l1new.bb += einsum(tmp265, (0, 1, 2, 3), tmp129, (0, 2, 3, 4), (4, 1)) * 6 - tmp91 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 0, 4), (1, 4)) - tmp266 = np.copy(tmp91) - tmp92 = einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (2, 3, 4, 1), (0, 4)) - tmp266 += tmp92 * 2 - tmp93 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (3, 4, 5, 0, 6, 2), (1, 6)) - tmp266 += tmp93 - tmp94 = einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (3, 4, 5, 6, 1, 2), (0, 6)) - tmp266 += tmp94 * 2 - l1new.bb += einsum(tmp266, (0, 1), tmp267, (2, 3, 1, 0), (3, 2)) * -1 - del tmp266 - tmp295 = np.copy(np.transpose(v.bbbb.ovov, (0, 2, 1, 3))) * -0.5 - tmp268 = einsum(tmp2, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 5, 6), (4, 0, 5, 1, 3, 6)) * -1 - tmp269 = einsum(t1.aa, (0, 1), tmp268, (0, 2, 3, 1, 4, 5), (2, 3, 4, 5)) - del tmp268 - tmp295 += np.transpose(tmp269, (0, 1, 3, 2)) - tmp270 = einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp226, (4, 5, 1, 3), (0, 2, 4, 5)) - del tmp226 - tmp295 += np.transpose(tmp270, (0, 1, 3, 2)) - tmp271 = einsum(tmp225, (0, 1, 2, 3), v.bbbb.ovov, (4, 3, 5, 2), (4, 5, 0, 1)) * -1 - del tmp225 - tmp295 += np.transpose(tmp271, (0, 1, 3, 2)) * 3 - tmp273 = einsum(tmp272, (0, 1, 2, 3), l2.bbbb, (4, 5, 0, 1), (2, 3, 4, 5)) - tmp275 = np.copy(np.transpose(tmp273, (0, 1, 3, 2))) * -1 - tmp274 = einsum(v.bbbb.ooov, (0, 1, 2, 3), tmp257, (1, 4, 5, 3), (0, 2, 4, 5)) - tmp275 += np.transpose(tmp274, (0, 1, 3, 2)) - del tmp274 - tmp295 += tmp275 - tmp295 += np.transpose(tmp275, (1, 0, 2, 3)) * -1 - del tmp275 - tmp276 = np.copy(v.bbbb.ovvv) * -1 - tmp276 += np.transpose(v.bbbb.ovvv, (0, 2, 3, 1)) - tmp295 += einsum(tmp257, (0, 1, 2, 3), tmp276, (4, 3, 1, 5), (0, 4, 5, 2)) * -1 - tmp277 = einsum(tmp251, (0, 1, 2, 3), tmp255, (4, 0, 5, 2), (1, 4, 3, 5)) * 0.5 - tmp295 += np.transpose(tmp277, (1, 0, 2, 3)) - tmp278 = einsum(v.aabb.vvov, (0, 1, 2, 3), tmp16, (4, 0, 1, 5), (4, 2, 5, 3)) - tmp295 += np.transpose(tmp278, (0, 1, 3, 2)) - tmp281 = np.copy(np.transpose(v.bbbb.ovov, (0, 2, 1, 3))) * 0.5 - tmp281 += v.bbbb.oovv * -0.5 - tmp281 += tmp279 * 0.5 - tmp280 = einsum(tmp229, (0, 1, 2, 3), t2.bbbb, (4, 0, 5, 2), (4, 1, 5, 3)) - tmp281 += tmp280 * -1 - tmp282 = einsum(tmp281, (0, 1, 2, 3), l2.bbbb, (4, 2, 5, 0), (5, 1, 4, 3)) * 2 - del tmp281 - tmp295 += np.transpose(tmp282, (0, 1, 3, 2)) - tmp283 = einsum(l2.abab, (0, 1, 2, 3), tmp231, (2, 4, 0, 5), (3, 4, 1, 5)) - tmp295 += np.transpose(tmp283, (0, 1, 3, 2)) - tmp287 = np.copy(np.transpose(tmp284, (1, 0, 2, 3, 4, 5))) * -1 - tmp286 = einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp285, (4, 5, 6, 1), (0, 2, 4, 3, 5, 6)) * 3 - tmp287 += np.transpose(tmp286, (1, 2, 0, 5, 3, 4)) - tmp287 += np.transpose(tmp286, (0, 2, 1, 5, 3, 4)) * -1 - tmp295 += einsum(tmp287, (0, 1, 2, 3, 4, 5), t1.bb, (0, 5), (1, 2, 4, 3)) * -1 - del tmp287 - tmp288 = einsum(tmp262, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 5), (4, 1, 5, 3)) * 1.5 - del tmp262 - tmp295 += np.transpose(tmp288, (1, 0, 2, 3)) - tmp289 = np.copy(np.transpose(tmp128, (1, 0, 2, 3))) * -1 - tmp289 += np.transpose(tmp129, (1, 0, 2, 3)) * -3 - tmp290 = einsum(tmp256, (0, 1, 2, 3), tmp289, (0, 4, 2, 5), (1, 4, 3, 5)) - del tmp256 - tmp295 += np.transpose(tmp290, (1, 0, 2, 3)) - tmp212 = np.copy(tmp211) - tmp212 += tmp120 * 2 - tmp212 += tmp121 * 2 - tmp291 = einsum(tmp212, (0, 1, 2, 3), v.aabb.ooov, (0, 1, 4, 5), (4, 2, 5, 3)) * 0.5 - tmp295 += np.transpose(tmp291, (1, 0, 2, 3)) * -1 - tmp295 += einsum(tmp293, (0, 1, 2, 3), tmp227, (0, 4, 2, 5), (1, 4, 5, 3)) - tmp295 += einsum(tmp265, (0, 1, 2, 3), l2.bbbb, (4, 5, 0, 2), (1, 3, 4, 5)) * -1 - del tmp265 - tmp294 = np.copy(tmp91) * 0.5000000000000202 - tmp294 += tmp92 - tmp294 += tmp93 * 0.5000000000000002 - tmp294 += tmp94 - tmp95 = einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), l3.bbbbbb, (6, 4, 5, 0, 1, 2), (6, 3)) - tmp294 += tmp95 * 1.4999999999999998 - tmp295 += einsum(tmp294, (0, 1), v.bbbb.ovov, (2, 1, 3, 4), (2, 3, 0, 4)) - del tmp294 - l1new.bb += einsum(t1.bb, (0, 1), tmp295, (0, 2, 1, 3), (3, 2)) * -2 - del tmp295 - tmp83 = einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (2, 3, 4, 1), (0, 4)) - tmp296 = np.copy(tmp83) * 0.6666666666666936 - tmp84 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 4, 1), (0, 4)) - tmp296 += tmp84 * 0.3333333333333468 - tmp85 = einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), l3.aaaaaa, (6, 4, 5, 0, 1, 2), (6, 3)) - tmp296 += np.transpose(tmp85, (1, 0)) - tmp86 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (3, 4, 5, 6, 1, 2), (0, 6)) - tmp296 += tmp86 * 0.6666666666666667 - tmp87 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), l3.babbab, (3, 6, 5, 0, 1, 2), (6, 4)) - tmp296 += np.transpose(tmp87, (1, 0)) * 0.33333333333333354 - l1new.bb += einsum(v.aabb.vvov, (0, 1, 2, 3), tmp296, (1, 0), (3, 2)) * 3 - del tmp296 - tmp301 = np.copy(np.transpose(v.aabb.ovov, (0, 2, 1, 3))) * -0.5 - tmp301 += einsum(tmp211, (0, 1, 2, 3), tmp140, (1, 2, 4, 5), (0, 4, 5, 3)) * -0.5 - tmp301 += einsum(tmp8, (0, 1, 2, 3), v.aabb.vvov, (4, 1, 5, 3), (0, 5, 4, 2)) - tmp301 += einsum(tmp12, (0, 1, 2, 3), v.aabb.ovov, (4, 1, 5, 3), (4, 5, 0, 2)) * -1 - tmp301 += einsum(l2.abab, (0, 1, 2, 3), tmp183, (3, 4, 0, 5), (2, 4, 5, 1)) * 0.5 - tmp301 += einsum(tmp180, (0, 1, 2, 3), v.aabb.ovov, (1, 4, 5, 3), (0, 5, 4, 2)) * -1 - tmp301 += einsum(tmp16, (0, 1, 2, 3), v.aabb.ovoo, (4, 2, 5, 0), (4, 5, 1, 3)) * -1 - tmp301 += einsum(tmp8, (0, 1, 2, 3), v.aabb.ooov, (4, 0, 5, 3), (4, 5, 1, 2)) * -1 - tmp301 += einsum(tmp297, (0, 1, 2, 3), tmp122, (4, 0, 1, 5), (4, 2, 3, 5)) * -1 - tmp299 = np.copy(tmp204) * -1 - tmp298 = einsum(tmp0, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 5, 6), (4, 0, 5, 1, 3, 6)) - tmp299 += tmp298 * 2 - del tmp298 - tmp301 += einsum(tmp299, (0, 1, 2, 3, 4, 5), t1.bb, (1, 5), (0, 2, 3, 4)) * -0.5 - tmp76 = einsum(v.aabb.ovov, (0, 1, 2, 3), tmp8, (4, 5, 6, 3), (0, 4, 2, 1, 5, 6)) - tmp301 += einsum(t1.aa, (0, 1), tmp76, (0, 2, 3, 4, 1, 5), (2, 3, 4, 5)) * -1 - tmp300 = np.copy(v.aabb.oooo) - tmp107 = einsum(v.aabb.ovoo, (0, 1, 2, 3), t1.aa, (4, 1), (4, 0, 2, 3)) - tmp300 += np.transpose(tmp107, (0, 1, 3, 2)) - tmp300 += tmp52 - tmp301 += einsum(tmp300, (0, 1, 2, 3), l2.abab, (4, 5, 0, 2), (1, 3, 4, 5)) * -0.5 - tmp88 = np.copy(tmp83) - tmp88 += tmp84 * 0.5000000000000202 - tmp88 += tmp85 * 1.4999999999999998 - tmp88 += tmp86 - tmp88 += tmp87 * 0.5000000000000002 - tmp301 += einsum(tmp88, (0, 1), v.aabb.ovov, (2, 1, 3, 4), (2, 3, 0, 4)) - l1new.bb += einsum(t1.aa, (0, 1), tmp301, (0, 2, 1, 3), (3, 2)) * -2 - del tmp301 - tmp304 = np.copy(np.transpose(l1.bb, (1, 0))) * 0.5 - tmp125 = einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), l2.aaaa, (3, 5, 0, 2), (1, 4)) - tmp304 += tmp125 * 0.5 - tmp126 = einsum(l2.abab, (0, 1, 2, 3), t3.babbab, (4, 2, 3, 5, 0, 1), (4, 5)) - tmp304 += tmp126 - tmp127 = einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), l2.bbbb, (4, 5, 1, 2), (0, 3)) - tmp304 += tmp127 * 1.5 - tmp51 = np.copy(tmp49) - tmp51 += tmp50 - tmp302 = einsum(t2.abab, (0, 1, 2, 3), tmp51, (0, 1, 4, 2), (4, 3)) - tmp304 += tmp302 * -1 - tmp130 = np.copy(np.transpose(tmp128, (1, 0, 2, 3))) * -0.3333333333333333 - tmp130 += np.transpose(tmp129, (1, 0, 2, 3)) * -1 - tmp303 = einsum(tmp130, (0, 1, 2, 3), t2.bbbb, (0, 1, 4, 3), (2, 4)) * -3 - tmp304 += tmp303 * -1 - l1new.bb += einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp304, (2, 3), (1, 0)) * 2 - del tmp304 - tmp124 = np.copy(np.transpose(l1.aa, (1, 0))) * 0.5 - tmp116 = einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), l2.aaaa, (4, 5, 1, 2), (0, 3)) - tmp124 += tmp116 * 1.5 - tmp117 = einsum(l2.abab, (0, 1, 2, 3), t3.abaaba, (4, 3, 2, 5, 1, 0), (4, 5)) - tmp124 += tmp117 - tmp118 = einsum(l2.bbbb, (0, 1, 2, 3), t3.babbab, (2, 4, 3, 0, 5, 1), (4, 5)) - tmp124 += tmp118 * 0.5 - tmp46 = np.copy(np.transpose(tmp44, (1, 0, 2, 3))) * -3 - tmp46 += np.transpose(tmp45, (1, 0, 2, 3)) * -1 - tmp119 = einsum(t2.aaaa, (0, 1, 2, 3), tmp46, (0, 1, 4, 3), (4, 2)) * -1 - tmp124 += tmp119 * -1 - tmp123 = einsum(tmp122, (0, 1, 2, 3), t2.abab, (0, 2, 4, 3), (1, 4)) - tmp124 += tmp123 * -1 - l1new.bb += einsum(tmp124, (0, 1), v.aabb.ovov, (0, 1, 2, 3), (3, 2)) * 2 - tmp305 = np.copy(v.bbbb.ovvv) - tmp305 += np.transpose(v.bbbb.ovvv, (0, 2, 3, 1)) * -1 - l1new.bb += einsum(tmp95, (0, 1), tmp305, (2, 1, 0, 3), (3, 2)) * -3 - tmp307 = np.copy(v.bbbb.oovv) * -1 - tmp307 += tmp279 - tmp307 += tmp306 * 2 - tmp307 += einsum(tmp267, (0, 1, 2, 3), t1.bb, (4, 2), (4, 0, 3, 1)) * -1 - l1new.bb += einsum(l1.bb, (0, 1), tmp307, (1, 2, 0, 3), (3, 2)) - del tmp307 - tmp309 = np.copy(v.bbbb.ooov) - tmp309 += np.transpose(tmp227, (2, 0, 1, 3)) - tmp135 = einsum(l1.bb, (0, 1), t1.bb, (2, 0), (1, 2)) - tmp308 = np.copy(tmp135) * 0.3333333333333468 - tmp136 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 3, 0, 4), (4, 1)) - tmp308 += tmp136 * 0.3333333333333468 - tmp137 = einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 3, 0, 1), (2, 4)) - tmp308 += tmp137 * 0.6666666666666936 - tmp150 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (3, 6, 5, 0, 1, 2), (4, 6)) - tmp308 += tmp150 * 0.33333333333333354 - tmp151 = einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), t3.bbbbbb, (6, 4, 5, 0, 1, 2), (3, 6)) - tmp308 += tmp151 - l1new.bb += einsum(tmp309, (0, 1, 2, 3), tmp308, (1, 0), (3, 2)) * -3 - del tmp309 - tmp311 = np.copy(v.aabb.ooov) - tmp311 += np.transpose(tmp99, (1, 0, 2, 3)) - tmp142 = einsum(t1.aa, (0, 1), l1.aa, (1, 2), (2, 0)) - tmp310 = np.copy(tmp142) - tmp143 = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (2, 3, 4, 1), (4, 0)) - tmp310 += tmp143 * 2 - tmp144 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 0, 1), (2, 4)) - tmp310 += tmp144 - tmp154 = einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (3, 6, 5, 0, 1, 2), (4, 6)) - tmp310 += tmp154 - l1new.bb += einsum(tmp310, (0, 1), tmp311, (1, 0, 2, 3), (3, 2)) * -1 - del tmp310, tmp311 - tmp313 = einsum(t1.aa, (0, 1), v.aabb.vvov, (2, 1, 3, 4), (0, 3, 2, 4)) - tmp313 += tmp228 * 2 - tmp313 += tmp312 - l1new.bb += einsum(tmp313, (0, 1, 2, 3), l1.aa, (2, 0), (3, 1)) - del tmp313 - tmp145 = einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), l3.aaaaaa, (3, 4, 5, 6, 1, 2), (6, 0)) - tmp314 = np.copy(tmp145) * 1.4999999999999998 - tmp153 = einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), l3.abaaba, (3, 4, 5, 6, 1, 2), (6, 0)) - tmp314 += tmp153 - l1new.bb += einsum(tmp99, (0, 1, 2, 3), tmp314, (0, 1), (3, 2)) * -2 - del tmp314 - tmp315 = np.copy(tmp145) - tmp315 += tmp153 * 0.6666666666666667 - l1new.bb += einsum(tmp315, (0, 1), v.aabb.ooov, (0, 1, 2, 3), (3, 2)) * -3 - del tmp315 - tmp316 = np.copy(tmp91) * 0.3333333333333468 - tmp316 += tmp92 * 0.6666666666666936 - tmp316 += tmp93 * 0.33333333333333354 - tmp316 += tmp94 * 0.6666666666666667 - tmp316 += tmp95 - l1new.bb += einsum(tmp316, (0, 1), tmp319, (2, 1), (0, 2)) * -3 - del tmp316 - l1new.bb += einsum(l1.bb, (0, 1), tmp326, (1, 2), (0, 2)) * -1 - l1new.bb += einsum(v.bbbb.oovv, (0, 1, 2, 3), tmp129, (4, 1, 0, 3), (2, 4)) * -6 - l1new.bb += einsum(tmp327, (0, 1, 2, 3), l1.aa, (2, 0), (3, 1)) * -1 - l1new.bb += einsum(l1.bb, (0, 1), tmp328, (1, 2, 0, 3), (3, 2)) * -2 - tmp103 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 1, 5), (0, 4, 3, 5)) - l1new.bb += einsum(tmp103, (0, 1, 2, 3), tmp121, (0, 1, 4, 2), (3, 4)) * 2 - l1new.bb += einsum(tmp50, (0, 1, 2, 3), tmp327, (0, 2, 3, 4), (4, 1)) * 2 - l1new.bb += einsum(tmp138, (0, 1), tmp227, (0, 1, 2, 3), (3, 2)) * 2 - l1new.bb += einsum(tmp138, (0, 1), v.bbbb.ooov, (2, 0, 1, 3), (3, 2)) * 2 - tmp329 = einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), l3.bbbbbb, (3, 4, 5, 6, 7, 2), (6, 7, 0, 1)) - l1new.bb += einsum(tmp329, (0, 1, 2, 3), v.bbbb.ooov, (1, 3, 2, 4), (4, 0)) * 6 - l1new.bb += einsum(v.bbbb.vvvv, (0, 1, 2, 3), tmp257, (4, 2, 1, 3), (0, 4)) * -2 - l1new.bb += einsum(v.aabb.vvvv, (0, 1, 2, 3), tmp16, (4, 0, 1, 3), (2, 4)) * 2 - l1new.bb += einsum(tmp276, (0, 1, 2, 3), tmp255, (4, 0, 2, 1), (3, 4)) * -1 - del tmp255 - tmp333 = np.copy(v.aabb.ovvv) * 0.5 - tmp330 = einsum(v.aabb.ovvv, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 1), (4, 5, 2, 3)) - tmp333 += np.transpose(tmp330, (0, 1, 3, 2)) - tmp331 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.vvov, (4, 2, 1, 5), (0, 4, 3, 5)) - tmp333 += tmp331 * -0.5 - tmp332 = np.copy(v.bbbb.ovvv) - tmp332 += np.transpose(v.bbbb.ovvv, (0, 2, 1, 3)) * -1 - tmp333 += einsum(tmp332, (0, 1, 2, 3), t2.abab, (4, 0, 5, 2), (4, 5, 3, 1)) * -0.5 - l1new.bb += einsum(l2.abab, (0, 1, 2, 3), tmp333, (2, 0, 1, 4), (4, 3)) * 2 - del tmp333 - tmp335 = np.copy(np.transpose(v.bbbb.ovvv, (0, 2, 3, 1))) * 0.5 - tmp334 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovvv, (0, 2, 4, 5), (1, 3, 4, 5)) - tmp335 += np.transpose(tmp334, (0, 1, 3, 2)) * -0.5 - tmp335 += einsum(t2.bbbb, (0, 1, 2, 3), tmp267, (1, 4, 3, 5), (0, 2, 4, 5)) * -1 - l1new.bb += einsum(tmp335, (0, 1, 2, 3), l2.bbbb, (1, 3, 4, 0), (2, 4)) * 4 - del tmp335 - tmp336 = np.copy(tmp259) * 0.75 - tmp336 += tmp260 - tmp336 += tmp261 * 0.75 - l1new.bb += einsum(v.aabb.ovvv, (0, 1, 2, 3), tmp336, (0, 4, 1, 3), (2, 4)) * 4 - del tmp336 - tmp337 = einsum(l2.abab, (0, 1, 2, 3), t3.abaaba, (4, 5, 2, 6, 1, 0), (4, 3, 5, 6)) - tmp337 += tmp49 - tmp337 += einsum(l2.bbbb, (0, 1, 2, 3), t3.babbab, (4, 5, 3, 0, 6, 1), (5, 2, 4, 6)) - tmp337 += tmp50 - tmp337 += einsum(t2.abab, (0, 1, 2, 3), tmp120, (0, 4, 5, 3), (4, 5, 1, 2)) * -1 - tmp337 += einsum(t2.abab, (0, 1, 2, 3), tmp129, (4, 1, 5, 3), (0, 4, 5, 2)) * -3 - tmp337 += einsum(tmp16, (0, 1, 2, 3), t2.abab, (4, 5, 1, 3), (4, 0, 5, 2)) * -1 - l1new.bb += einsum(tmp337, (0, 1, 2, 3), v.aabb.ovov, (0, 3, 2, 4), (4, 1)) * -2 - del tmp337 - tmp41 = einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), l3.abaaba, (6, 4, 5, 0, 7, 2), (7, 1, 6, 3)) - tmp43 = np.copy(tmp41) - del tmp41 - tmp42 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), l3.babbab, (3, 6, 5, 7, 1, 2), (7, 0, 6, 4)) - tmp43 += tmp42 - del tmp42 - l1new.bb += einsum(tmp43, (0, 1, 2, 3), v.aabb.vvov, (2, 3, 1, 4), (4, 0)) * -2 - tmp339 = einsum(l2.abab, (0, 1, 2, 3), t3.babbab, (4, 2, 5, 6, 0, 1), (3, 4, 5, 6)) * 0.3333333333333333 - tmp339 += np.transpose(tmp128, (1, 0, 2, 3)) * 0.3333333333333333 - tmp339 += np.transpose(tmp129, (1, 0, 2, 3)) - tmp339 += einsum(t2.bbbb, (0, 1, 2, 3), tmp232, (4, 3, 2, 5), (4, 0, 1, 5)) * -1 - del tmp232 - tmp338 = einsum(tmp129, (0, 1, 2, 3), t2.bbbb, (4, 1, 5, 3), (0, 2, 4, 5)) * -1 - del tmp129 - tmp339 += np.transpose(tmp338, (0, 2, 1, 3)) * 2 - l1new.bb += einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp339, (4, 0, 2, 1), (3, 4)) * -6 - del tmp339 - tmp340 = einsum(l2.bbbb, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 3, 6, 0, 1), (2, 4, 5, 6)) - tmp340 += einsum(t2.abab, (0, 1, 2, 3), tmp49, (0, 4, 5, 2), (4, 1, 5, 3)) * 0.3333333333333333 - tmp340 += einsum(t2.bbbb, (0, 1, 2, 3), tmp248, (4, 3, 2, 5), (4, 0, 1, 5)) * -0.3333333333333333 - del tmp248 - tmp340 += np.transpose(tmp338, (0, 2, 1, 3)) * 2 - del tmp338 - l1new.bb += einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp340, (4, 0, 2, 3), (1, 4)) * 6 - del tmp340 - tmp341 = np.copy(tmp228) - tmp341 += tmp312 * 0.5 - l1new.bb += einsum(tmp51, (0, 1, 2, 3), tmp341, (0, 2, 3, 4), (4, 1)) * -4 - del tmp341 - tmp342 = np.copy(v.bbbb.oovv) * -0.5 - tmp342 += tmp279 * 0.5 - tmp342 += tmp280 * -1 - del tmp280 - l1new.bb += einsum(tmp342, (0, 1, 2, 3), tmp128, (0, 4, 1, 2), (3, 4)) * -4 - del tmp128, tmp342 - l1new.bb += einsum(v.aabb.oovv, (0, 1, 2, 3), tmp122, (0, 1, 4, 3), (2, 4)) * -2 - tmp184 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 5, 0, 1), (2, 4, 3, 5)) - tmp187 = np.copy(tmp184) * 0.5000000000000202 - tmp185 = einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), l3.abaaba, (3, 4, 5, 6, 7, 2), (6, 0, 7, 1)) - tmp187 += tmp185 - tmp186 = einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (6, 7, 5, 0, 1, 2), (4, 7, 3, 6)) - tmp187 += tmp186 - l1new.bb += einsum(tmp187, (0, 1, 2, 3), v.aabb.ooov, (1, 0, 3, 4), (4, 2)) * 2 - tmp343 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (2, 3, 4, 5), (4, 5, 0, 1)) - tmp345 = np.copy(np.transpose(tmp343, (1, 0, 3, 2))) - tmp344 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), l3.babbab, (3, 4, 5, 6, 1, 7), (6, 7, 0, 2)) - tmp345 += np.transpose(tmp344, (1, 0, 3, 2)) - l1new.bb += einsum(v.bbbb.ooov, (0, 1, 2, 3), tmp345, (1, 4, 0, 2), (3, 4)) * 2 - del tmp345 - tmp354 = np.copy(np.transpose(v.bbbb.ovov, (0, 2, 1, 3))) * 0.5 - tmp346 = einsum(v.bbbb.vvvv, (0, 1, 2, 3), l2.bbbb, (1, 3, 4, 5), (4, 5, 0, 2)) - tmp354 += np.transpose(tmp346, (1, 0, 3, 2)) - tmp354 += einsum(v.bbbb.ovoo, (0, 1, 2, 3), tmp292, (4, 3, 2, 5), (0, 4, 1, 5)) * -1 - tmp354 += np.transpose(tmp269, (1, 0, 3, 2)) - del tmp269 - tmp347 = einsum(tmp284, (0, 1, 2, 3, 4, 5), t1.bb, (2, 3), (0, 1, 4, 5)) - tmp350 = np.copy(np.transpose(tmp347, (1, 0, 2, 3))) * -1 - del tmp347 - tmp348 = einsum(tmp289, (0, 1, 2, 3), t1.bb, (4, 3), (4, 0, 1, 2)) * 0.3333333333333333 - del tmp289 - tmp349 = einsum(tmp348, (0, 1, 2, 3), v.bbbb.ovov, (3, 4, 0, 5), (2, 1, 4, 5)) * -3 - del tmp348 - tmp350 += np.transpose(tmp349, (1, 0, 3, 2)) - tmp354 += tmp350 * -1 - tmp354 += np.transpose(tmp350, (0, 1, 3, 2)) - del tmp350 - tmp351 = einsum(tmp130, (0, 1, 2, 3), v.bbbb.ovvv, (2, 4, 5, 3), (0, 1, 4, 5)) * 3 - tmp354 += np.transpose(tmp351, (1, 0, 2, 3)) * -1 - tmp354 += np.transpose(tmp351, (1, 0, 3, 2)) - tmp354 += einsum(tmp257, (0, 1, 2, 3), tmp305, (4, 5, 1, 3), (4, 0, 5, 2)) * -1 - tmp354 += tmp277 - del tmp277 - tmp354 += np.transpose(tmp278, (1, 0, 3, 2)) - del tmp278 - tmp354 += np.transpose(tmp282, (1, 0, 3, 2)) - del tmp282 - tmp354 += np.transpose(tmp283, (1, 0, 3, 2)) - del tmp283 - tmp354 += tmp288 - del tmp288 - tmp353 = np.copy(np.transpose(tmp343, (1, 0, 3, 2))) - tmp352 = einsum(tmp292, (0, 1, 2, 3), t1.bb, (4, 3), (0, 1, 2, 4)) * -1 - del tmp292 - tmp353 += np.transpose(tmp352, (1, 0, 3, 2)) - tmp353 += np.transpose(tmp344, (1, 0, 3, 2)) - tmp353 += np.transpose(tmp329, (1, 0, 3, 2)) * 3 - tmp354 += einsum(tmp353, (0, 1, 2, 3), v.bbbb.ovov, (2, 4, 3, 5), (1, 0, 5, 4)) - del tmp353 - tmp354 += tmp290 - del tmp290 - tmp354 += einsum(tmp286, (0, 1, 2, 3, 4, 5), t1.bb, (0, 5), (1, 2, 3, 4)) * -1 - tmp354 += tmp291 * -1 - del tmp291 - tmp113 = np.copy(tmp91) - tmp113 += tmp92 * 2 - tmp113 += tmp93 - tmp113 += tmp94 * 2 - tmp113 += tmp95 * 3 - tmp354 += einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp113, (4, 3), (0, 2, 1, 4)) * -0.5 - l1new.bb += einsum(tmp354, (0, 1, 2, 3), t1.bb, (0, 3), (2, 1)) * -2 - del tmp354 - tmp203 = einsum(v.aabb.vvvv, (0, 1, 2, 3), l2.abab, (1, 3, 4, 5), (4, 5, 0, 2)) - tmp355 = np.copy(tmp203) * 0.5 - tmp355 += einsum(tmp97, (0, 1, 2, 3, 4, 5), t1.aa, (1, 3), (0, 2, 4, 5)) * -0.5 - tmp355 += einsum(v.aabb.ovvv, (0, 1, 2, 3), tmp16, (4, 5, 1, 3), (0, 4, 5, 2)) * -1 - tmp209 = np.copy(tmp184) * 0.5 - tmp209 += tmp185 - tmp209 += tmp186 - tmp206 = np.copy(tmp100) - tmp206 += tmp49 * 2 - tmp206 += tmp50 * 2 - tmp207 = einsum(tmp206, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 1, 2)) * 0.5 - tmp209 += np.transpose(tmp207, (1, 0, 2, 3)) - del tmp207 - tmp208 = einsum(tmp122, (0, 1, 2, 3), t1.bb, (4, 3), (0, 1, 4, 2)) - tmp209 += np.transpose(tmp208, (0, 1, 3, 2)) - del tmp208 - tmp355 += einsum(v.aabb.ovov, (0, 1, 2, 3), tmp209, (4, 0, 5, 2), (4, 5, 1, 3)) - tmp355 += einsum(v.aabb.ovvv, (0, 1, 2, 3), tmp122, (4, 0, 5, 3), (4, 5, 1, 2)) * -1 - tmp355 += einsum(tmp51, (0, 1, 2, 3), v.aabb.vvov, (4, 3, 2, 5), (0, 1, 4, 5)) * -1 - tmp104 = np.copy(v.aabb.oovv) - tmp104 += tmp103 * -1 - tmp355 += einsum(l2.abab, (0, 1, 2, 3), tmp104, (2, 4, 1, 5), (4, 3, 0, 5)) * -0.5 - tmp355 += einsum(tmp43, (0, 1, 2, 3), v.aabb.ovov, (4, 3, 1, 5), (4, 0, 2, 5)) - tmp355 += einsum(t1.bb, (0, 1), tmp299, (2, 3, 0, 4, 1, 5), (2, 3, 4, 5)) * 0.5 - del tmp299 - tmp355 += einsum(v.aabb.ooov, (0, 1, 2, 3), tmp51, (1, 4, 2, 5), (0, 4, 5, 3)) - l1new.bb += einsum(tmp355, (0, 1, 2, 3), t1.aa, (0, 2), (3, 1)) * 2 - del tmp355 - tmp356 = np.copy(tmp125) * 0.5 - tmp356 += tmp126 - tmp356 += tmp127 * 1.5 - tmp356 += tmp302 * -1 - del tmp302 - tmp356 += tmp303 * -1 - del tmp303 - l1new.bb += einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp356, (2, 1), (3, 0)) * -2 - del tmp356 - l1new.bb += einsum(tmp357, (0, 1, 2, 3), tmp308, (0, 2), (3, 1)) * 3 - del tmp308 - l1new.bb += einsum(tmp362, (0, 1), l1.bb, (0, 2), (1, 2)) * -1 - tmp363 = np.copy(tmp135) - tmp363 += tmp136 - tmp363 += tmp137 * 2 - tmp363 += tmp150 - tmp363 += tmp138 * 2 - tmp363 += tmp151 * 3 - l1new.bb += einsum(tmp363, (0, 1), tmp319, (1, 2), (2, 0)) * -1 - del tmp363 - l1new.aa = np.copy(np.transpose(f.aa.ov, (1, 0))) - l1new.aa += einsum(tmp1, (0, 1, 2, 3), tmp0, (1, 4, 2, 3), (4, 0)) * -4 - tmp9 = np.copy(tmp2) - tmp9 += tmp0 - del tmp0 - tmp9 += einsum(tmp2, (0, 1, 2, 3), t2.bbbb, (4, 0, 5, 3), (4, 1, 2, 5)) * 2 - del tmp2 - tmp9 += einsum(t2.abab, (0, 1, 2, 3), tmp5, (0, 2, 4, 5), (1, 4, 5, 3)) - tmp9 += einsum(t2.abab, (0, 1, 2, 3), tmp8, (0, 4, 3, 5), (1, 4, 2, 5)) * -1 - l1new.aa += einsum(v.aabb.ovov, (0, 1, 2, 3), tmp9, (2, 4, 1, 3), (4, 0)) * -2 - del tmp9 - l1new.aa += einsum(tmp12, (0, 1, 2, 3), v.aabb.ovvv, (4, 1, 3, 2), (0, 4)) * -2 - tmp13 = einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), l3.aaaaaa, (6, 7, 5, 0, 1, 2), (6, 7, 3, 4)) - tmp15 = np.copy(np.transpose(tmp13, (1, 0, 3, 2))) - tmp14 = einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), l3.abaaba, (6, 4, 7, 0, 1, 2), (6, 7, 3, 5)) - tmp15 += np.transpose(tmp14, (1, 0, 3, 2)) * 0.33333333333333354 - l1new.aa += einsum(tmp15, (0, 1, 2, 3), v.aaaa.ovvv, (4, 2, 3, 0), (1, 4)) * 6 - tmp17 = np.copy(np.transpose(v.aaaa.ovov, (0, 2, 3, 1))) - tmp17 += np.transpose(v.aaaa.ovov, (0, 2, 1, 3)) * -1 - tmp18 = einsum(tmp17, (0, 1, 2, 3), t2.abab, (0, 4, 3, 5), (1, 4, 2, 5)) - l1new.aa += einsum(tmp16, (0, 1, 2, 3), tmp18, (4, 0, 2, 3), (1, 4)) * -2 - tmp20 = np.copy(np.transpose(v.aaaa.ovov, (0, 2, 1, 3))) - tmp20 += v.aaaa.oovv * -1 - l1new.aa += einsum(tmp20, (0, 1, 2, 3), tmp19, (0, 2, 4, 3), (4, 1)) * -6 - tmp21 = einsum(tmp5, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 1), (4, 2, 3, 5)) * 0.3333333333333333 - l1new.aa += einsum(tmp17, (0, 1, 2, 3), tmp21, (0, 4, 3, 2), (4, 1)) * 12 - del tmp21 - tmp27 = np.copy(v.aabb.ooov) * 0.5 - tmp27 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovoo, (4, 2, 5, 1), (0, 4, 5, 3)) * -0.5 - tmp22 = einsum(t2.bbbb, (0, 1, 2, 3), v.aabb.ooov, (4, 5, 1, 3), (4, 5, 0, 2)) - tmp27 += np.transpose(tmp22, (1, 0, 2, 3)) - tmp23 = einsum(v.aabb.ovvv, (0, 1, 2, 3), t2.abab, (4, 5, 1, 3), (4, 0, 5, 2)) - tmp27 += tmp23 * 0.5 - tmp24 = einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), v.aaaa.ovov, (6, 3, 2, 5), (0, 6, 1, 4)) - tmp27 += tmp24 - tmp25 = einsum(v.aabb.ovov, (0, 1, 2, 3), t3.babbab, (4, 5, 2, 6, 1, 3), (5, 0, 4, 6)) - tmp27 += tmp25 - tmp26 = np.copy(v.aaaa.ooov) * -1 - tmp26 += np.transpose(v.aaaa.ovoo, (0, 2, 3, 1)) - tmp27 += einsum(t2.abab, (0, 1, 2, 3), tmp26, (0, 4, 5, 2), (4, 5, 1, 3)) * 0.5 - l1new.aa += einsum(tmp27, (0, 1, 2, 3), l2.abab, (4, 3, 0, 2), (4, 1)) * -2 - del tmp27 - tmp32 = np.copy(np.transpose(v.aaaa.ooov, (0, 2, 1, 3))) * -1 - tmp32 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ooov, (4, 5, 1, 3), (0, 4, 5, 2)) - tmp28 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovvv, (4, 3, 5, 2), (0, 1, 4, 5)) * -1 - tmp32 += np.transpose(tmp28, (1, 0, 2, 3)) - tmp29 = einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), v.aaaa.ovov, (6, 5, 2, 4), (0, 1, 6, 3)) * -1 - tmp32 += np.transpose(tmp29, (1, 0, 2, 3)) * -3 - tmp30 = einsum(v.aabb.ovov, (0, 1, 2, 3), t3.abaaba, (4, 2, 5, 6, 3, 1), (4, 5, 0, 6)) - tmp32 += np.transpose(tmp30, (1, 0, 2, 3)) * -1 - tmp32 += einsum(tmp31, (0, 1, 2, 3), t2.aaaa, (4, 2, 5, 3), (4, 1, 0, 5)) * 2 - l1new.aa += einsum(tmp32, (0, 1, 2, 3), l2.aaaa, (4, 3, 0, 1), (4, 2)) * 2 - del tmp32 - tmp33 = einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), t3.aaaaaa, (6, 4, 5, 7, 1, 2), (3, 6, 0, 7)) - tmp36 = np.copy(tmp33) - tmp34 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (6, 4, 5, 7, 1, 2), (3, 6, 0, 7)) - tmp36 += tmp34 * 0.4444444444444444 - tmp35 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), l3.babbab, (3, 6, 5, 0, 7, 2), (7, 1, 6, 4)) - tmp36 += tmp35 * 0.1111111111111111 - l1new.aa += einsum(tmp36, (0, 1, 2, 3), tmp31, (1, 0, 4, 3), (2, 4)) * 9 - del tmp31 - l1new.aa += einsum(v.aabb.oovv, (0, 1, 2, 3), tmp8, (1, 4, 2, 3), (4, 0)) * -2 - tmp37 = einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), l3.aaaaaa, (6, 3, 5, 7, 0, 2), (7, 1, 6, 4)) - tmp40 = np.copy(tmp37) * 0.75 - tmp38 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.babbab, (6, 5, 4, 7, 2, 1), (3, 6, 0, 7)) - tmp40 += tmp38 - tmp39 = einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), l3.babbab, (4, 6, 5, 1, 7, 2), (7, 0, 6, 3)) - tmp40 += tmp39 * 0.75 - l1new.aa += einsum(tmp40, (0, 1, 2, 3), v.aabb.ooov, (4, 0, 1, 3), (2, 4)) * -4 - del tmp40 - l1new.aa += einsum(tmp43, (0, 1, 2, 3), v.aabb.ovoo, (4, 3, 1, 0), (2, 4)) * 2 - tmp48 = np.copy(v.aaaa.oooo) - tmp48 += np.transpose(tmp47, (1, 3, 0, 2)) - l1new.aa += einsum(tmp46, (0, 1, 2, 3), tmp48, (0, 4, 1, 2), (3, 4)) * 2 - del tmp48 - l1new.aa += einsum(tmp53, (0, 1, 2, 3), tmp51, (0, 2, 3, 4), (4, 1)) * 2 - del tmp53 - tmp89 = np.copy(np.transpose(v.aaaa.ovov, (0, 2, 1, 3))) * -1 - tmp55 = einsum(l2.aaaa, (0, 1, 2, 3), tmp54, (2, 3, 4, 5), (4, 5, 0, 1)) - tmp57 = np.copy(np.transpose(tmp55, (0, 1, 3, 2))) * -2 - tmp56 = einsum(tmp19, (0, 1, 2, 3), v.aaaa.ooov, (4, 0, 5, 3), (4, 5, 1, 2)) * 6 - tmp57 += np.transpose(tmp56, (0, 1, 3, 2)) - tmp89 += tmp57 - tmp89 += np.transpose(tmp57, (1, 0, 2, 3)) * -1 - del tmp57 - tmp59 = einsum(tmp58, (0, 1, 2, 3), tmp19, (4, 2, 5, 3), (4, 0, 5, 1)) * 6 - tmp89 += np.transpose(tmp59, (0, 1, 3, 2)) * -1 - tmp89 += einsum(tmp60, (0, 1, 2, 3), tmp36, (4, 0, 5, 2), (4, 1, 3, 5)) * 9 - tmp61 = einsum(v.aabb.ovvv, (0, 1, 2, 3), tmp8, (4, 5, 2, 3), (0, 4, 1, 5)) * 2 - tmp89 += np.transpose(tmp61, (1, 0, 2, 3)) - tmp89 += einsum(tmp15, (0, 1, 2, 3), v.aaaa.ovov, (4, 3, 5, 2), (4, 5, 1, 0)) * -6 - del tmp15 - tmp64 = np.copy(np.transpose(v.aaaa.ovov, (0, 2, 1, 3))) * 0.5 - tmp64 += v.aaaa.oovv * -0.5 - tmp64 += tmp62 * 0.5 - tmp63 = einsum(t2.aaaa, (0, 1, 2, 3), tmp17, (1, 4, 3, 5), (0, 4, 2, 5)) - tmp64 += tmp63 * -1 - del tmp63 - tmp65 = einsum(tmp64, (0, 1, 2, 3), l2.aaaa, (4, 2, 5, 0), (5, 1, 4, 3)) * 4 - del tmp64 - tmp89 += np.transpose(tmp65, (0, 1, 3, 2)) - tmp66 = np.copy(np.transpose(v.aabb.ovov, (0, 2, 1, 3))) - tmp66 += tmp1 * 2 - tmp66 += tmp18 - tmp67 = einsum(l2.abab, (0, 1, 2, 3), tmp66, (4, 3, 5, 1), (2, 4, 0, 5)) - tmp89 += np.transpose(tmp67, (0, 1, 3, 2)) - tmp70 = np.copy(np.transpose(tmp68, (1, 0, 2, 3, 4, 5))) * -1 - tmp69 = einsum(v.aaaa.ovov, (0, 1, 2, 3), tmp5, (4, 5, 6, 1), (4, 0, 2, 5, 6, 3)) - tmp70 += np.transpose(tmp69, (2, 0, 1, 4, 5, 3)) - tmp70 += np.transpose(tmp69, (1, 0, 2, 4, 5, 3)) * -1 - tmp89 += einsum(t1.aa, (0, 1), tmp70, (0, 2, 3, 4, 5, 1), (2, 3, 5, 4)) * -2 - del tmp70 - tmp71 = np.copy(tmp37) - tmp71 += tmp38 * 1.3333333333333333 - tmp71 += tmp39 - tmp72 = einsum(tmp71, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (4, 0, 5, 2)) * 3 - tmp89 += np.transpose(tmp72, (1, 0, 2, 3)) - tmp73 = np.copy(v.aaaa.ooov) - tmp73 += np.transpose(v.aaaa.ooov, (0, 2, 1, 3)) * -1 - tmp74 = np.copy(np.transpose(tmp44, (1, 0, 2, 3))) * -1 - tmp74 += np.transpose(tmp45, (1, 0, 2, 3)) * -0.3333333333333333 - tmp75 = einsum(tmp73, (0, 1, 2, 3), tmp74, (0, 4, 1, 5), (2, 4, 3, 5)) * 6 - del tmp73 - tmp89 += np.transpose(tmp75, (1, 0, 2, 3)) - tmp89 += einsum(t1.bb, (0, 1), tmp76, (2, 3, 0, 4, 5, 1), (3, 2, 4, 5)) * -2 - tmp80 = einsum(tmp79, (0, 1, 2, 3), tmp77, (0, 4, 2, 5), (4, 1, 5, 3)) * 2 - tmp89 += np.transpose(tmp80, (1, 0, 2, 3)) - tmp81 = np.copy(v.aaaa.oooo) - tmp81 += np.transpose(tmp47, (1, 3, 2, 0)) - tmp89 += einsum(tmp81, (0, 1, 2, 3), l2.aaaa, (4, 5, 0, 3), (2, 1, 4, 5)) * 2 - del tmp81 - tmp82 = einsum(tmp51, (0, 1, 2, 3), v.aabb.ovoo, (4, 5, 1, 2), (4, 0, 5, 3)) * 2 - tmp89 += np.transpose(tmp82, (1, 0, 2, 3)) * -1 - tmp89 += einsum(tmp88, (0, 1), v.aaaa.ovov, (2, 1, 3, 4), (2, 3, 0, 4)) * 2 - del tmp88 - l1new.aa += einsum(t1.aa, (0, 1), tmp89, (0, 2, 1, 3), (3, 2)) * -1 - del tmp89 - tmp90 = np.copy(tmp83) - tmp90 += tmp84 * 0.5 - tmp90 += tmp87 * 0.49999999999998007 - l1new.aa += einsum(tmp90, (0, 1), tmp58, (2, 1, 0, 3), (3, 2)) * -2 - del tmp90 - tmp96 = np.copy(tmp91) * 0.5000000000000202 - tmp96 += tmp92 - tmp96 += np.transpose(tmp93, (1, 0)) * 0.5000000000000002 - tmp96 += tmp94 - tmp96 += tmp95 * 1.4999999999999998 - l1new.aa += einsum(v.aabb.ovvv, (0, 1, 2, 3), tmp96, (3, 2), (1, 0)) * 2 - del tmp96 - tmp114 = np.copy(np.transpose(v.aabb.ovov, (0, 2, 1, 3))) * -1 - tmp98 = einsum(t1.aa, (0, 1), tmp97, (0, 2, 3, 4, 1, 5), (2, 3, 4, 5)) - tmp114 += tmp98 - tmp114 += einsum(tmp100, (0, 1, 2, 3), tmp99, (0, 4, 2, 5), (4, 1, 3, 5)) * -1 - tmp101 = einsum(v.aabb.ovvv, (0, 1, 2, 3), tmp16, (4, 5, 1, 3), (0, 4, 5, 2)) * 2 - tmp114 += tmp101 - tmp102 = einsum(tmp12, (0, 1, 2, 3), v.aabb.ovov, (4, 1, 5, 3), (4, 5, 0, 2)) * 2 - del tmp12 - tmp114 += tmp102 * -1 - tmp114 += einsum(l2.abab, (0, 1, 2, 3), tmp104, (2, 4, 1, 5), (4, 3, 0, 5)) - del tmp104 - tmp114 += einsum(tmp43, (0, 1, 2, 3), v.aabb.ovov, (4, 3, 1, 5), (4, 0, 2, 5)) * -2 - tmp105 = einsum(tmp16, (0, 1, 2, 3), v.aabb.ovoo, (4, 2, 5, 0), (4, 5, 1, 3)) * 2 - tmp114 += tmp105 * -1 - tmp106 = einsum(tmp8, (0, 1, 2, 3), v.aabb.ooov, (4, 0, 5, 3), (4, 5, 1, 2)) * 2 - tmp114 += tmp106 * -1 - tmp109 = np.copy(v.aabb.oooo) - tmp109 += np.transpose(tmp107, (0, 1, 3, 2)) - del tmp107 - tmp109 += np.transpose(tmp108, (1, 0, 2, 3)) - tmp109 += tmp52 - tmp114 += einsum(l2.abab, (0, 1, 2, 3), tmp109, (2, 4, 3, 5), (4, 5, 0, 1)) * -1 - tmp114 += einsum(tmp110, (0, 1, 2, 3), tmp51, (0, 4, 2, 5), (1, 4, 5, 3)) * -2 - del tmp110 - tmp111 = einsum(tmp16, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 5, 6), (4, 5, 0, 1, 6, 3)) - tmp112 = einsum(tmp111, (0, 1, 2, 3, 4, 5), t1.bb, (1, 5), (0, 2, 3, 4)) * -2 - tmp114 += tmp112 - tmp114 += einsum(tmp113, (0, 1), v.aabb.ovov, (2, 3, 4, 1), (2, 4, 3, 0)) - l1new.aa += einsum(tmp114, (0, 1, 2, 3), t1.bb, (1, 3), (2, 0)) * -1 - del tmp114 - tmp115 = np.copy(tmp85) - tmp115 += tmp86 * 0.6666666666666667 - l1new.aa += einsum(tmp58, (0, 1, 2, 3), tmp115, (2, 1), (3, 0)) * -3 - del tmp115 - l1new.aa += einsum(tmp124, (0, 1), v.aaaa.ovov, (2, 3, 0, 1), (3, 2)) * 2 - del tmp124 - tmp131 = np.copy(np.transpose(l1.bb, (1, 0))) * 0.16666666666666666 - tmp131 += tmp125 * 0.16666666666666666 - del tmp125 - tmp131 += tmp126 * 0.3333333333333333 - del tmp126 - tmp131 += tmp127 * 0.5 - del tmp127 - tmp131 += einsum(t2.abab, (0, 1, 2, 3), tmp51, (0, 1, 4, 2), (4, 3)) * -0.3333333333333333 - tmp131 += einsum(tmp130, (0, 1, 2, 3), t2.bbbb, (0, 1, 4, 3), (2, 4)) - l1new.aa += einsum(v.aabb.ovov, (0, 1, 2, 3), tmp131, (2, 3), (1, 0)) * 6 - del tmp131 - tmp134 = np.copy(v.aaaa.oovv) * -1 - tmp132 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.aaaa, (4, 2, 5, 3), (4, 0, 5, 1)) - tmp134 += tmp132 * 2 - tmp134 += tmp62 - tmp133 = np.copy(v.aaaa.ovvv) * -1 - tmp133 += np.transpose(v.aaaa.ovvv, (0, 2, 1, 3)) - tmp134 += einsum(t1.aa, (0, 1), tmp133, (2, 3, 1, 4), (0, 2, 4, 3)) * -1 - l1new.aa += einsum(l1.aa, (0, 1), tmp134, (1, 2, 0, 3), (3, 2)) - del tmp134 - tmp139 = np.copy(tmp135) * 0.5000000000000202 - tmp139 += tmp136 * 0.5000000000000202 - tmp139 += tmp137 - tmp139 += tmp138 - l1new.aa += einsum(tmp139, (0, 1), tmp141, (2, 1, 0, 3), (3, 2)) * -2 - del tmp141, tmp139 - tmp147 = np.copy(v.aaaa.ooov) - tmp147 += np.transpose(tmp77, (2, 0, 1, 3)) - tmp146 = np.copy(tmp142) * 0.5 - tmp146 += tmp143 - tmp146 += tmp144 * 0.5 - tmp146 += tmp145 * 1.4999999999999394 - l1new.aa += einsum(tmp146, (0, 1), tmp147, (1, 0, 2, 3), (3, 2)) * -2 - del tmp146, tmp147 - tmp149 = einsum(t1.bb, (0, 1), v.aabb.ovvv, (2, 3, 4, 1), (2, 0, 3, 4)) * 0.5 - tmp149 += tmp148 * 0.5 - tmp149 += tmp1 - l1new.aa += einsum(l1.bb, (0, 1), tmp149, (2, 1, 3, 0), (3, 2)) * 2 - del tmp149 - tmp152 = np.copy(tmp150) * 0.33333333333333354 - tmp152 += tmp151 - l1new.aa += einsum(tmp152, (0, 1), v.aabb.ovoo, (2, 3, 0, 1), (3, 2)) * -3 - l1new.aa += einsum(tmp140, (0, 1, 2, 3), tmp152, (1, 2), (3, 0)) * -3 - del tmp152 - tmp155 = np.copy(tmp153) * 2 - tmp155 += tmp154 - l1new.aa += einsum(v.aaaa.ovoo, (0, 1, 2, 3), tmp155, (2, 3), (1, 0)) * -1 - del tmp155 - tmp156 = np.copy(tmp153) - tmp156 += tmp154 * 0.5000000000000002 - l1new.aa += einsum(tmp77, (0, 1, 2, 3), tmp156, (0, 2), (3, 1)) * -2 - del tmp156 - tmp157 = np.copy(tmp83) - tmp157 += tmp84 * 0.5 - tmp157 += tmp85 * 1.4999999999999394 - tmp157 += tmp86 - tmp157 += tmp87 * 0.49999999999998007 - l1new.aa += einsum(tmp160, (0, 1), tmp157, (2, 1), (2, 0)) * -2 - l1new.aa += einsum(tmp166, (0, 1), l1.aa, (2, 0), (2, 1)) * -1 - l1new.aa += einsum(l1.bb, (0, 1), tmp167, (2, 1, 3, 0), (3, 2)) * -1 - tmp168 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.aaaa, (4, 2, 5, 1), (4, 0, 5, 3)) - l1new.aa += einsum(l1.aa, (0, 1), tmp168, (1, 2, 0, 3), (3, 2)) * -2 - l1new.aa += einsum(tmp4, (0, 1, 2, 3), v.aaaa.vvvv, (4, 2, 3, 1), (4, 0)) * -2 - del tmp4 - l1new.aa += einsum(tmp3, (0, 1, 2, 3), v.aaaa.vvvv, (4, 1, 3, 2), (4, 0)) * 6 - del tmp3 - l1new.aa += einsum(tmp121, (0, 1, 2, 3), tmp1, (1, 2, 4, 3), (4, 0)) * -4 - l1new.aa += einsum(v.aabb.vvvv, (0, 1, 2, 3), tmp8, (4, 1, 2, 3), (0, 4)) * 2 - tmp169 = np.copy(tmp33) * 2.25 - tmp169 += tmp34 - tmp169 += tmp35 * 0.25 - l1new.aa += einsum(tmp58, (0, 1, 2, 3), tmp169, (4, 0, 2, 1), (3, 4)) * 4 - del tmp169 - tmp173 = np.copy(np.transpose(v.aabb.vvov, (2, 0, 1, 3))) - tmp170 = einsum(v.aabb.ovvv, (0, 1, 2, 3), t2.abab, (0, 4, 5, 3), (4, 5, 1, 2)) - tmp173 += tmp170 * -1 - tmp171 = einsum(t2.bbbb, (0, 1, 2, 3), v.aabb.vvov, (4, 5, 1, 3), (0, 4, 5, 2)) - tmp173 += np.transpose(tmp171, (0, 2, 1, 3)) * 2 - tmp173 += einsum(t2.abab, (0, 1, 2, 3), tmp172, (0, 2, 4, 5), (1, 5, 4, 3)) - l1new.aa += einsum(l2.abab, (0, 1, 2, 3), tmp173, (3, 0, 4, 1), (4, 2)) - del tmp173 - tmp174 = np.copy(np.transpose(v.aaaa.ovvv, (0, 2, 3, 1))) - tmp174 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.vvov, (4, 5, 1, 3), (0, 2, 4, 5)) * -1 - tmp174 += einsum(tmp133, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 2), (4, 5, 1, 3)) * -2 - del tmp133 - l1new.aa += einsum(l2.aaaa, (0, 1, 2, 3), tmp174, (3, 0, 4, 1), (4, 2)) * 2 - del tmp174 - l1new.aa += einsum(tmp71, (0, 1, 2, 3), v.aabb.vvov, (4, 2, 1, 3), (4, 0)) * 3 - del tmp71 - tmp175 = einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), l2.aaaa, (3, 5, 6, 2), (6, 0, 1, 4)) - tmp175 += tmp120 - tmp175 += einsum(l2.abab, (0, 1, 2, 3), t3.babbab, (4, 5, 3, 6, 0, 1), (2, 5, 4, 6)) - tmp175 += tmp121 - tmp175 += einsum(t2.bbbb, (0, 1, 2, 3), tmp120, (4, 5, 1, 3), (4, 5, 0, 2)) * 2 - tmp175 += einsum(tmp8, (0, 1, 2, 3), t2.abab, (4, 5, 1, 2), (0, 4, 5, 3)) * -1 - tmp175 += einsum(tmp46, (0, 1, 2, 3), t2.abab, (0, 4, 3, 5), (1, 2, 4, 5)) - l1new.aa += einsum(tmp175, (0, 1, 2, 3), v.aabb.ovov, (1, 4, 2, 3), (4, 0)) * -2 - del tmp175 - tmp177 = einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), l2.aaaa, (4, 5, 6, 2), (6, 0, 1, 3)) * 0.5 - tmp177 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), l2.abab, (5, 4, 6, 1), (6, 0, 2, 3)) * 0.16666666666666666 - tmp177 += einsum(t2.aaaa, (0, 1, 2, 3), tmp19, (4, 2, 3, 5), (4, 0, 1, 5)) * 0.5 - tmp176 = einsum(tmp46, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 3), (4, 1, 2, 5)) * 0.3333333333333333 - tmp177 += np.transpose(tmp176, (1, 0, 2, 3)) - l1new.aa += einsum(tmp177, (0, 1, 2, 3), v.aaaa.ovov, (1, 4, 2, 3), (4, 0)) * 12 - del tmp177 - l1new.aa += einsum(v.aabb.ovvv, (0, 1, 2, 3), tmp180, (4, 0, 3, 2), (1, 4)) * -2 - tmp181 = np.copy(np.transpose(tmp44, (1, 0, 2, 3))) * -0.5 - del tmp44 - tmp181 += np.transpose(tmp45, (1, 0, 2, 3)) * -0.16666666666666666 - del tmp45 - tmp181 += tmp176 - del tmp176 - l1new.aa += einsum(v.aaaa.ovov, (0, 1, 2, 3), tmp181, (0, 4, 2, 1), (3, 4)) * -12 - del tmp181 - l1new.aa += einsum(tmp18, (0, 1, 2, 3), tmp122, (4, 0, 1, 3), (2, 4)) * -2 - l1new.aa += einsum(tmp183, (0, 1, 2, 3), tmp51, (4, 0, 1, 2), (3, 4)) * -2 - l1new.aa += einsum(v.aaaa.oovv, (0, 1, 2, 3), tmp74, (0, 4, 1, 3), (2, 4)) * 6 - l1new.aa += einsum(v.aabb.ovoo, (0, 1, 2, 3), tmp187, (4, 0, 3, 2), (1, 4)) * 2 - del tmp187 - tmp188 = einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 5, 0, 1), (2, 3, 4, 5)) - tmp191 = np.copy(np.transpose(tmp188, (1, 0, 3, 2))) - tmp189 = einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), t3.aaaaaa, (6, 7, 5, 0, 1, 2), (3, 4, 6, 7)) - tmp191 += np.transpose(tmp189, (1, 0, 3, 2)) * 3 - tmp190 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (6, 4, 7, 0, 1, 2), (3, 5, 6, 7)) - tmp191 += np.transpose(tmp190, (1, 0, 3, 2)) - l1new.aa += einsum(v.aaaa.ooov, (0, 1, 2, 3), tmp191, (1, 4, 0, 2), (3, 4)) * 2 - del tmp191 - tmp202 = np.copy(np.transpose(v.aaaa.ovov, (0, 2, 1, 3))) - tmp192 = einsum(l2.aaaa, (0, 1, 2, 3), v.aaaa.vvvv, (4, 0, 5, 1), (2, 3, 4, 5)) - tmp202 += np.transpose(tmp192, (1, 0, 3, 2)) * 2 - tmp202 += einsum(v.aaaa.ovoo, (0, 1, 2, 3), tmp78, (4, 3, 2, 5), (0, 4, 1, 5)) * -2 - tmp193 = einsum(v.aabb.ovov, (0, 1, 2, 3), tmp7, (4, 5, 6, 3), (4, 0, 2, 5, 1, 6)) * -1 - del tmp7 - tmp202 += einsum(tmp193, (0, 1, 2, 3, 4, 5), t1.bb, (2, 5), (1, 0, 4, 3)) * 2 - del tmp193 - tmp194 = einsum(t1.aa, (0, 1), tmp68, (2, 3, 0, 1, 4, 5), (2, 3, 4, 5)) - tmp197 = np.copy(np.transpose(tmp194, (1, 0, 2, 3))) * -2 - del tmp194 - tmp195 = einsum(tmp74, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 1, 2)) * 3 - tmp196 = einsum(v.aaaa.ovov, (0, 1, 2, 3), tmp195, (0, 4, 5, 2), (5, 4, 3, 1)) * -2 - tmp197 += np.transpose(tmp196, (1, 0, 3, 2)) - del tmp196 - tmp202 += tmp197 * -1 - tmp202 += np.transpose(tmp197, (0, 1, 3, 2)) - del tmp197 - tmp198 = einsum(tmp46, (0, 1, 2, 3), v.aaaa.ovvv, (2, 4, 5, 3), (0, 1, 4, 5)) * 2 - tmp202 += np.transpose(tmp198, (1, 0, 2, 3)) * -1 - tmp202 += np.transpose(tmp198, (1, 0, 3, 2)) - del tmp198 - tmp202 += np.transpose(tmp59, (1, 0, 3, 2)) * -1 - tmp202 += einsum(tmp36, (0, 1, 2, 3), tmp17, (1, 4, 5, 3), (4, 0, 5, 2)) * 9 - del tmp36 - tmp202 += tmp61 - tmp202 += np.transpose(tmp65, (1, 0, 3, 2)) - del tmp65 - tmp202 += np.transpose(tmp67, (1, 0, 3, 2)) - del tmp67 - tmp202 += tmp72 - del tmp72 - tmp200 = np.copy(np.transpose(tmp188, (1, 0, 3, 2))) - tmp199 = einsum(t1.aa, (0, 1), tmp78, (2, 3, 4, 1), (2, 3, 4, 0)) * -1 - del tmp78 - tmp200 += np.transpose(tmp199, (1, 0, 3, 2)) - tmp200 += np.transpose(tmp189, (1, 0, 3, 2)) * 3 - tmp200 += np.transpose(tmp190, (1, 0, 3, 2)) - tmp202 += einsum(tmp200, (0, 1, 2, 3), v.aaaa.ovov, (2, 4, 3, 5), (1, 0, 5, 4)) * 2 - del tmp200 - tmp202 += tmp75 - del tmp75 - tmp201 = einsum(v.aaaa.ovov, (0, 1, 2, 3), tmp5, (4, 5, 6, 1), (4, 0, 2, 5, 6, 3)) * 0.3333333333333333 - tmp202 += einsum(tmp201, (0, 1, 2, 3, 4, 5), t1.aa, (1, 4), (2, 0, 5, 3)) * -6 - tmp202 += tmp82 * -1 - del tmp82 - tmp202 += einsum(v.aaaa.ovov, (0, 1, 2, 3), tmp157, (4, 3), (0, 2, 1, 4)) * -2 - del tmp157 - l1new.aa += einsum(tmp202, (0, 1, 2, 3), t1.aa, (0, 3), (2, 1)) * -1 - del tmp202 - tmp213 = np.copy(tmp203) - tmp213 += einsum(tmp204, (0, 1, 2, 3, 4, 5), t1.bb, (2, 4), (0, 1, 3, 5)) * -1 - tmp205 = einsum(tmp8, (0, 1, 2, 3), v.aabb.vvov, (4, 1, 5, 3), (0, 5, 4, 2)) * 2 - tmp213 += tmp205 * -1 - tmp213 += einsum(v.aabb.ovov, (0, 1, 2, 3), tmp209, (4, 0, 5, 2), (4, 5, 1, 3)) * 2 - del tmp209 - tmp213 += einsum(v.aabb.ovvv, (0, 1, 2, 3), tmp122, (4, 0, 5, 3), (4, 5, 1, 2)) * -2 - del tmp122 - tmp213 += einsum(tmp51, (0, 1, 2, 3), v.aabb.vvov, (4, 3, 2, 5), (0, 1, 4, 5)) * -2 - del tmp51 - tmp213 += einsum(l2.abab, (0, 1, 2, 3), tmp183, (3, 4, 0, 5), (2, 4, 5, 1)) * -1 - tmp213 += einsum(tmp180, (0, 1, 2, 3), v.aabb.ovov, (1, 4, 5, 3), (0, 5, 4, 2)) * 2 - tmp210 = np.copy(tmp97) * -1 - tmp210 += einsum(v.aabb.ovov, (0, 1, 2, 3), tmp6, (4, 5, 6, 3), (4, 0, 2, 5, 1, 6)) * 2 - del tmp6 - tmp213 += einsum(t1.aa, (0, 1), tmp210, (2, 0, 3, 1, 4, 5), (2, 3, 4, 5)) - del tmp210 - tmp213 += einsum(v.aabb.ovoo, (0, 1, 2, 3), tmp212, (4, 0, 3, 5), (4, 2, 1, 5)) - l1new.aa += einsum(tmp213, (0, 1, 2, 3), t1.bb, (1, 3), (2, 0)) - del tmp213 - tmp214 = np.copy(tmp116) * 1.5 - del tmp116 - tmp214 += tmp117 - del tmp117 - tmp214 += tmp118 * 0.5 - del tmp118 - tmp214 += tmp119 * -1 - del tmp119 - tmp214 += tmp123 * -1 - del tmp123 - l1new.aa += einsum(tmp214, (0, 1), v.aaaa.ovov, (2, 1, 0, 3), (3, 2)) * -2 - del tmp214 - tmp215 = np.copy(tmp142) * 0.5 - tmp215 += tmp143 - tmp215 += tmp144 * 0.5 - l1new.aa += einsum(tmp216, (0, 1, 2, 3), tmp215, (0, 2), (3, 1)) * 2 - del tmp215 - tmp217 = np.copy(tmp145) * 1.4999999999999998 - tmp217 += tmp153 - tmp217 += tmp154 * 0.5000000000000002 - l1new.aa += einsum(tmp217, (0, 1), tmp77, (0, 1, 2, 3), (3, 2)) * 2 - del tmp217 - tmp218 = np.copy(tmp145) - tmp218 += tmp153 * 0.6666666666666667 - tmp218 += tmp154 * 0.33333333333333354 - l1new.aa += einsum(tmp218, (0, 1), v.aaaa.ooov, (2, 0, 1, 3), (3, 2)) * 3 - del tmp218 - l1new.aa += einsum(l1.aa, (0, 1), tmp223, (0, 2), (2, 1)) * -1 - tmp224 = np.copy(tmp142) - tmp224 += tmp143 * 2 - tmp224 += tmp144 - tmp224 += tmp145 * 3 - tmp224 += tmp153 * 2 - tmp224 += tmp154 - l1new.aa += einsum(tmp160, (0, 1), tmp224, (2, 0), (1, 2)) * -1 - l2new.aaaa = np.copy(np.transpose(v.aaaa.ovov, (1, 3, 0, 2))) - tmp364 = np.copy(tmp83) * 2 - del tmp83 - tmp364 += tmp84 - del tmp84 - tmp364 += tmp85 * 3 - del tmp85 - tmp364 += tmp86 * 2 - del tmp86 - tmp364 += tmp87 - del tmp87 - tmp365 = einsum(tmp364, (0, 1), v.aaaa.ovov, (2, 1, 3, 4), (2, 3, 0, 4)) - l2new.aaaa += np.transpose(tmp365, (3, 2, 1, 0)) * -1 - l2new.aaaa += einsum(tmp216, (0, 1, 2, 3), l1.aa, (4, 0), (3, 4, 2, 1)) * -1 - del tmp216 - l2new.aaaa += np.transpose(v.aaaa.ovov, (3, 1, 0, 2)) * -1 - l2new.aaaa += np.transpose(tmp365, (2, 3, 1, 0)) - del tmp365 - tmp367 = einsum(l1.aa, (0, 1), tmp366, (1, 2, 3, 4), (2, 3, 0, 4)) - del tmp366 - l2new.aaaa += np.transpose(tmp367, (2, 3, 0, 1)) - tmp368 = einsum(v.aaaa.ovvv, (0, 1, 2, 3), l1.aa, (3, 4), (4, 0, 1, 2)) - l2new.aaaa += np.transpose(tmp368, (2, 3, 0, 1)) * -1 - tmp370 = einsum(tmp369, (0, 1, 2, 3, 4, 5), v.aabb.ovoo, (6, 5, 1, 2), (0, 6, 3, 4)) - l2new.aaaa += np.transpose(tmp370, (2, 3, 0, 1)) * 2 - tmp371 = np.copy(v.aabb.ooov) * 0.5000000000000198 - tmp371 += tmp23 * 0.5000000000000198 - tmp371 += tmp24 - tmp371 += tmp25 - tmp371 += einsum(t2.abab, (0, 1, 2, 3), tmp26, (0, 4, 5, 2), (4, 5, 1, 3)) * 0.5000000000000198 - l2new.aaaa += einsum(tmp371, (0, 1, 2, 3), l3.abaaba, (4, 3, 5, 6, 2, 0), (4, 5, 6, 1)) * -4 - del tmp371 - tmp372 = np.copy(np.transpose(v.aaaa.ooov, (0, 2, 1, 3))) - tmp372 += np.transpose(tmp28, (1, 0, 2, 3)) * -1 - tmp372 += np.transpose(tmp29, (1, 0, 2, 3)) * 3 - tmp372 += np.transpose(tmp30, (1, 0, 2, 3)) - l2new.aaaa += einsum(tmp372, (0, 1, 2, 3), l3.aaaaaa, (4, 5, 3, 6, 0, 1), (4, 5, 6, 2)) * -6 - del tmp372 - tmp373 = np.copy(v.aaaa.ooov) - tmp373 += np.transpose(v.aaaa.ooov, (0, 2, 1, 3)) * -1 - l2new.aaaa += einsum(tmp373, (0, 1, 2, 3), tmp374, (0, 4, 2, 5, 6, 3), (6, 5, 4, 1)) * -12 - del tmp373 - tmp377 = np.copy(np.transpose(tmp375, (1, 0, 2, 4, 3, 5))) * 3 - tmp377 += np.transpose(tmp376, (1, 0, 2, 4, 3, 5)) * 2 - tmp378 = einsum(v.aabb.ooov, (0, 1, 2, 3), tmp377, (1, 4, 2, 5, 6, 3), (0, 4, 5, 6)) - l2new.aaaa += np.transpose(tmp378, (3, 2, 1, 0)) * -2 - l2new.aaaa += einsum(tmp58, (0, 1, 2, 3), tmp5, (4, 2, 5, 3), (1, 5, 4, 0)) * 2 - tmp380 = einsum(t1.aa, (0, 1), tmp379, (0, 2, 3, 4, 5, 6, 7, 1), (2, 3, 4, 5, 6, 7)) - del tmp379 - tmp394 = np.copy(np.transpose(tmp380, (1, 0, 2, 4, 5, 3))) * -1 - del tmp380 - tmp394 += np.transpose(tmp382, (1, 0, 2, 4, 5, 3)) * 0.3333333333333333 - tmp394 += np.transpose(tmp384, (1, 0, 2, 4, 5, 3)) - del tmp384 - tmp394 += np.transpose(tmp68, (1, 0, 2, 3, 4, 5)) * 0.3333333333333333 - tmp394 += np.transpose(tmp68, (1, 0, 2, 3, 5, 4)) * -0.3333333333333333 - tmp385 = np.copy(np.transpose(v.aabb.ovov, (0, 2, 1, 3))) - tmp385 += tmp18 - tmp386 = einsum(tmp385, (0, 1, 2, 3), l3.abaaba, (4, 3, 5, 6, 1, 7), (6, 7, 0, 4, 5, 2)) * 0.3333333333333333 - del tmp385 - tmp394 += np.transpose(tmp386, (1, 0, 2, 4, 5, 3)) * -1 - tmp387 = einsum(tmp20, (0, 1, 2, 3), l3.aaaaaa, (4, 5, 2, 6, 7, 0), (6, 7, 1, 4, 5, 3)) - tmp394 += np.transpose(tmp387, (0, 1, 2, 3, 5, 4)) * -1 - tmp388 = einsum(tmp374, (0, 1, 2, 3, 4, 5), tmp17, (2, 6, 5, 7), (6, 0, 1, 7, 3, 4)) * 2 - del tmp17 - tmp394 += np.transpose(tmp388, (2, 1, 0, 5, 3, 4)) - del tmp388 - tmp389 = np.copy(np.transpose(tmp375, (1, 0, 2, 4, 3, 5))) - del tmp375 - tmp389 += np.transpose(tmp376, (1, 0, 2, 4, 3, 5)) * 0.6666666666666666 - del tmp376 - tmp390 = einsum(v.aabb.ovov, (0, 1, 2, 3), tmp389, (4, 5, 2, 6, 7, 3), (0, 4, 5, 1, 6, 7)) - del tmp389 - tmp394 += np.transpose(tmp390, (2, 1, 0, 5, 3, 4)) * -1 - tmp391 = np.copy(v.aaaa.oooo) - tmp391 += np.transpose(tmp47, (1, 3, 2, 0)) - tmp391 += np.transpose(tmp54, (2, 1, 3, 0)) - tmp391 += np.transpose(tmp54, (2, 3, 1, 0)) * -1 - del tmp54 - tmp392 = einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), tmp391, (5, 6, 7, 4), (3, 6, 7, 0, 1, 2)) - tmp394 += np.transpose(tmp392, (0, 2, 1, 4, 5, 3)) - del tmp392 - tmp393 = einsum(v.aaaa.ovov, (0, 1, 2, 3), tmp5, (4, 5, 6, 3), (4, 0, 2, 5, 6, 1)) * 0.3333333333333333 - tmp394 += np.transpose(tmp393, (0, 2, 1, 4, 3, 5)) - del tmp393 - tmp395 = einsum(t1.aa, (0, 1), tmp394, (2, 0, 3, 4, 1, 5), (2, 3, 4, 5)) * 6 - del tmp394 - l2new.aaaa += np.transpose(tmp395, (3, 2, 0, 1)) * -1 - l2new.aaaa += np.transpose(tmp61, (2, 3, 1, 0)) * -1 - tmp403 = np.copy(tmp97) * 0.5 - tmp403 += np.transpose(tmp396, (0, 1, 2, 4, 3, 5)) - tmp403 += np.transpose(tmp398, (0, 1, 2, 4, 3, 5)) - del tmp398 - tmp403 += np.transpose(tmp399, (0, 1, 2, 4, 3, 5)) * -1 - tmp403 += np.transpose(tmp400, (0, 1, 2, 4, 3, 5)) * -1 - del tmp400 - tmp401 = np.copy(v.aabb.oooo) - tmp401 += np.transpose(tmp108, (1, 0, 2, 3)) - del tmp108 - tmp401 += tmp52 - del tmp52 - tmp402 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), tmp401, (5, 6, 4, 7), (3, 6, 7, 0, 2, 1)) * -1 - del tmp401 - tmp403 += np.transpose(tmp402, (0, 1, 2, 4, 3, 5)) - del tmp402 - tmp403 += np.transpose(tmp76, (1, 0, 2, 4, 3, 5)) * -1 - tmp404 = einsum(tmp403, (0, 1, 2, 3, 4, 5), t1.bb, (2, 5), (0, 1, 3, 4)) * 2 - del tmp403 - l2new.aaaa += np.transpose(tmp404, (3, 2, 0, 1)) * -1 - tmp405 = np.copy(np.transpose(l2.abab, (2, 3, 0, 1))) * 0.3333333333333466 - tmp405 += tmp37 - tmp405 += tmp38 * 1.3333333333333335 - tmp405 += tmp39 - tmp406 = einsum(tmp405, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (4, 0, 5, 2)) * 3 - l2new.aaaa += np.transpose(tmp406, (2, 3, 1, 0)) * -1 - tmp407 = np.copy(np.transpose(l2.aaaa, (2, 3, 0, 1))) * 2 - tmp407 += tmp33 * 9 - tmp407 += tmp34 * 4 - tmp407 += tmp35 - tmp408 = einsum(v.aaaa.ovov, (0, 1, 2, 3), tmp407, (4, 2, 5, 3), (4, 0, 5, 1)) - del tmp407 - l2new.aaaa += np.transpose(tmp408, (3, 2, 0, 1)) * -1 - tmp409 = np.copy(v.aaaa.oovv) * -1 - tmp409 += tmp132 * 2 - tmp409 += tmp62 - tmp410 = einsum(tmp409, (0, 1, 2, 3), l2.aaaa, (4, 2, 5, 0), (5, 1, 4, 3)) - l2new.aaaa += np.transpose(tmp410, (3, 2, 0, 1)) * -2 - tmp411 = np.copy(tmp148) - del tmp148 - tmp411 += tmp1 * 2 - tmp412 = einsum(tmp411, (0, 1, 2, 3), l2.abab, (4, 3, 5, 1), (5, 0, 4, 2)) - l2new.aaaa += np.transpose(tmp412, (3, 2, 0, 1)) * -1 - tmp413 = np.copy(tmp100) * 0.5 - tmp413 += tmp49 - tmp413 += tmp50 - tmp414 = einsum(tmp140, (0, 1, 2, 3), tmp413, (4, 1, 2, 5), (0, 4, 3, 5)) * 2 - l2new.aaaa += np.transpose(tmp414, (2, 3, 1, 0)) - tmp415 = einsum(tmp206, (0, 1, 2, 3), v.aabb.ovoo, (4, 5, 1, 2), (4, 0, 5, 3)) - l2new.aaaa += np.transpose(tmp415, (2, 3, 1, 0)) - tmp417 = einsum(v.aaaa.ovoo, (0, 1, 2, 3), tmp416, (2, 4, 3, 5), (0, 4, 1, 5)) * 6 - l2new.aaaa += np.transpose(tmp417, (2, 3, 1, 0)) * -1 - l2new.aaaa += np.transpose(tmp80, (2, 3, 1, 0)) * -1 - l2new.aaaa += einsum(tmp19, (0, 1, 2, 3), tmp160, (4, 3), (2, 1, 0, 4)) * 6 - tmp418 = einsum(tmp166, (0, 1), l2.aaaa, (2, 3, 4, 0), (4, 1, 2, 3)) * -2 - l2new.aaaa += np.transpose(tmp418, (3, 2, 0, 1)) * -1 - tmp420 = np.copy(f.aa.ov) - tmp420 += tmp419 - del tmp419 - tmp420 += tmp158 - del tmp158 - l2new.aaaa += einsum(tmp420, (0, 1), l1.aa, (2, 3), (1, 2, 3, 0)) * -1 - del tmp420 - l2new.aaaa += np.transpose(tmp368, (2, 3, 1, 0)) - l2new.aaaa += np.transpose(tmp370, (2, 3, 1, 0)) * -2 - del tmp370 - tmp422 = np.copy(v.aabb.ooov) - tmp422 += tmp23 - tmp422 += tmp24 * 2 - tmp422 += tmp25 * 2 - tmp421 = einsum(t2.abab, (0, 1, 2, 3), tmp26, (0, 4, 5, 2), (4, 5, 1, 3)) - del tmp26 - tmp422 += tmp421 - l2new.aaaa += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), tmp422, (5, 6, 4, 1), (0, 2, 6, 3)) * 2 - del tmp422 - tmp423 = np.copy(np.transpose(v.aaaa.ooov, (0, 2, 1, 3))) * 0.333333333333347 - tmp423 += np.transpose(tmp28, (1, 0, 2, 3)) * -0.333333333333347 - tmp423 += np.transpose(tmp29, (1, 0, 2, 3)) - tmp423 += np.transpose(tmp30, (1, 0, 2, 3)) * 0.33333333333333387 - l2new.aaaa += einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), tmp423, (4, 5, 6, 2), (0, 1, 6, 3)) * 18 - del tmp423 - tmp424 = np.copy(v.aaaa.ooov) * -1 - tmp424 += np.transpose(v.aaaa.ovoo, (0, 2, 3, 1)) - l2new.aaaa += einsum(tmp424, (0, 1, 2, 3), tmp374, (1, 4, 0, 5, 6, 3), (6, 5, 2, 4)) * 12 - l2new.aaaa += np.transpose(tmp378, (3, 2, 0, 1)) * 2 - del tmp378 - l2new.aaaa += np.transpose(tmp59, (3, 2, 1, 0)) * -1 - del tmp59 - l2new.aaaa += np.transpose(tmp395, (3, 2, 1, 0)) - del tmp395 - l2new.aaaa += np.transpose(tmp61, (2, 3, 0, 1)) - l2new.aaaa += np.transpose(tmp404, (3, 2, 1, 0)) - del tmp404 - tmp425 = np.copy(np.transpose(l2.abab, (2, 3, 0, 1))) - tmp425 += tmp37 * 3 - tmp425 += tmp38 * 4 - tmp425 += tmp39 * 3 - tmp426 = einsum(v.aabb.ovov, (0, 1, 2, 3), tmp425, (4, 2, 5, 3), (0, 4, 1, 5)) - del tmp425 - l2new.aaaa += np.transpose(tmp426, (2, 3, 0, 1)) - tmp427 = np.copy(np.transpose(v.aaaa.ovov, (0, 2, 1, 3))) - tmp427 += v.aaaa.oovv * -1 - tmp427 += tmp132 * 2 - del tmp132 - tmp427 += tmp62 - del tmp62 - tmp428 = einsum(tmp427, (0, 1, 2, 3), l2.aaaa, (4, 2, 5, 0), (5, 1, 4, 3)) - del tmp427 - l2new.aaaa += np.transpose(tmp428, (3, 2, 1, 0)) * 2 - tmp429 = np.copy(tmp33) * 2.2499999999999996 - tmp429 += tmp34 - tmp429 += tmp35 * 0.2499999999999999 - tmp430 = einsum(tmp429, (0, 1, 2, 3), v.aaaa.ovov, (4, 5, 1, 3), (0, 4, 2, 5)) * 4 - l2new.aaaa += np.transpose(tmp430, (3, 2, 1, 0)) - l2new.aaaa += np.transpose(tmp412, (3, 2, 1, 0)) - l2new.aaaa += np.transpose(tmp415, (2, 3, 0, 1)) * -1 - tmp431 = einsum(tmp140, (0, 1, 2, 3), tmp206, (4, 1, 2, 5), (0, 4, 3, 5)) - l2new.aaaa += np.transpose(tmp431, (2, 3, 0, 1)) * -1 - tmp432 = einsum(tmp79, (0, 1, 2, 3), v.aaaa.ovoo, (4, 5, 0, 2), (4, 1, 5, 3)) * 2 - l2new.aaaa += np.transpose(tmp432, (2, 3, 0, 1)) - l2new.aaaa += np.transpose(tmp80, (2, 3, 0, 1)) - l2new.aaaa += einsum(tmp160, (0, 1), tmp5, (2, 3, 4, 1), (4, 3, 0, 2)) * -2 - l2new.aaaa += np.transpose(tmp418, (3, 2, 1, 0)) - del tmp418 - l2new.aaaa += einsum(l1.aa, (0, 1), tmp433, (2, 3), (3, 0, 2, 1)) - l2new.aaaa += np.transpose(tmp368, (3, 2, 0, 1)) - tmp434 = np.copy(v.aaaa.ovvv) * -1 - tmp434 += np.transpose(v.aaaa.ovvv, (0, 2, 3, 1)) - l2new.aaaa += einsum(tmp5, (0, 1, 2, 3), tmp434, (4, 5, 1, 3), (2, 5, 0, 4)) * 2 - l2new.aaaa += np.transpose(tmp61, (3, 2, 1, 0)) - l2new.aaaa += np.transpose(tmp406, (3, 2, 1, 0)) - del tmp406 - l2new.aaaa += np.transpose(tmp408, (2, 3, 0, 1)) - del tmp408 - l2new.aaaa += np.transpose(tmp410, (2, 3, 0, 1)) * 2 - del tmp410 - tmp435 = np.copy(np.transpose(tmp68, (1, 2, 0, 4, 3, 5))) * -1 - tmp435 += np.transpose(tmp68, (1, 2, 0, 5, 3, 4)) - tmp435 += np.transpose(tmp69, (0, 2, 1, 4, 3, 5)) - tmp436 = einsum(t1.aa, (0, 1), tmp435, (2, 3, 0, 1, 4, 5), (2, 3, 4, 5)) * 2 - del tmp435 - l2new.aaaa += np.transpose(tmp436, (2, 3, 0, 1)) * -1 - tmp438 = np.copy(tmp97) - tmp438 += np.transpose(tmp437, (1, 0, 2, 4, 3, 5)) * -1 - del tmp437 - tmp439 = einsum(t1.bb, (0, 1), tmp438, (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) - del tmp438 - l2new.aaaa += np.transpose(tmp439, (2, 3, 0, 1)) - l2new.aaaa += np.transpose(tmp412, (2, 3, 0, 1)) - l2new.aaaa += np.transpose(tmp414, (3, 2, 1, 0)) * -1 - del tmp414 - l2new.aaaa += np.transpose(tmp415, (3, 2, 1, 0)) * -1 - l2new.aaaa += np.transpose(tmp417, (3, 2, 1, 0)) - del tmp417 - l2new.aaaa += np.transpose(tmp80, (3, 2, 1, 0)) - l2new.aaaa += einsum(tmp433, (0, 1), l1.aa, (2, 3), (2, 1, 3, 0)) - l2new.aaaa += np.transpose(tmp368, (3, 2, 1, 0)) * -1 - del tmp368 - l2new.aaaa += einsum(tmp19, (0, 1, 2, 3), tmp58, (4, 3, 1, 5), (2, 5, 4, 0)) * -6 - del tmp58, tmp19 - l2new.aaaa += np.transpose(tmp61, (3, 2, 0, 1)) * -1 - del tmp61 - l2new.aaaa += np.transpose(tmp426, (3, 2, 0, 1)) * -1 - del tmp426 - l2new.aaaa += np.transpose(tmp428, (2, 3, 1, 0)) * -2 - del tmp428 - l2new.aaaa += np.transpose(tmp430, (2, 3, 1, 0)) * -1 - del tmp430 - l2new.aaaa += np.transpose(tmp436, (2, 3, 1, 0)) - del tmp436 - l2new.aaaa += np.transpose(tmp439, (2, 3, 1, 0)) * -1 - del tmp439 - l2new.aaaa += np.transpose(tmp412, (2, 3, 1, 0)) * -1 - del tmp412 - l2new.aaaa += np.transpose(tmp415, (3, 2, 0, 1)) - del tmp415 - l2new.aaaa += np.transpose(tmp431, (3, 2, 0, 1)) - del tmp431 - l2new.aaaa += np.transpose(tmp432, (3, 2, 0, 1)) * -1 - del tmp432 - l2new.aaaa += np.transpose(tmp80, (3, 2, 0, 1)) * -1 - del tmp80 - l2new.aaaa += einsum(tmp433, (0, 1), l1.aa, (2, 3), (2, 1, 0, 3)) * -1 - tmp441 = einsum(v.aabb.ovoo, (0, 1, 2, 3), tmp440, (4, 5, 0, 2, 3, 6), (4, 5, 6, 1)) - l2new.aaaa += np.transpose(tmp441, (3, 2, 1, 0)) * 2 - l2new.aaaa += np.transpose(tmp192, (3, 2, 1, 0)) * 2 - del tmp192 - tmp442 = einsum(v.aaaa.ovvv, (0, 1, 2, 3), l3.aaaaaa, (4, 3, 1, 5, 6, 0), (5, 6, 4, 2)) * -1 - l2new.aaaa += np.transpose(tmp442, (3, 2, 1, 0)) * -6 - tmp444 = einsum(tmp443, (0, 1, 2, 3, 4, 5), v.aaaa.ooov, (1, 3, 4, 6), (0, 2, 5, 6)) * -1 - del tmp443 - l2new.aaaa += np.transpose(tmp444, (3, 2, 1, 0)) * -6 - tmp446 = np.copy(np.transpose(v.aabb.vvov, (2, 0, 1, 3))) * -1 - tmp446 += np.transpose(tmp170, (0, 2, 1, 3)) - tmp445 = einsum(t2.abab, (0, 1, 2, 3), tmp434, (0, 2, 4, 5), (1, 4, 5, 3)) - tmp446 += np.transpose(tmp445, (0, 2, 1, 3)) - del tmp445 - tmp447 = einsum(tmp446, (0, 1, 2, 3), l3.abaaba, (4, 3, 2, 5, 0, 6), (5, 6, 4, 1)) * -1 - del tmp446 - l2new.aaaa += np.transpose(tmp447, (3, 2, 1, 0)) * 2 - tmp448 = np.copy(v.aaaa.ovvv) * -1 - tmp448 += np.transpose(v.aaaa.ovvv, (0, 2, 3, 1)) - tmp449 = einsum(tmp448, (0, 1, 2, 3), tmp374, (4, 5, 0, 2, 6, 1), (4, 5, 6, 3)) - l2new.aaaa += np.transpose(tmp449, (3, 2, 1, 0)) * 12 - del tmp449 - tmp450 = einsum(v.aabb.vvov, (0, 1, 2, 3), tmp377, (4, 5, 2, 1, 6, 3), (4, 5, 0, 6)) - del tmp377 - l2new.aaaa += np.transpose(tmp450, (2, 3, 1, 0)) * -2 - tmp451 = einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), t3.aaaaaa, (6, 7, 5, 8, 1, 2), (3, 4, 6, 7, 0, 8)) - tmp453 = np.copy(np.transpose(tmp451, (1, 0, 3, 2, 4, 5))) * 4.500000000000002 - del tmp451 - tmp452 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (6, 4, 7, 8, 1, 2), (3, 5, 6, 7, 0, 8)) - tmp453 += np.transpose(tmp452, (1, 0, 3, 2, 4, 5)) - del tmp452 - tmp454 = einsum(tmp453, (0, 1, 2, 3, 4, 5), v.aaaa.ovov, (2, 6, 3, 5), (0, 1, 4, 6)) * 2 - del tmp453 - l2new.aaaa += np.transpose(tmp454, (3, 2, 1, 0)) * 2 - tmp455 = einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), l3.aaaaaa, (6, 3, 5, 7, 8, 2), (7, 8, 0, 1, 6, 4)) - tmp457 = np.copy(np.transpose(tmp455, (1, 0, 2, 3, 4, 5))) * -1 - del tmp455 - tmp456 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), l3.abaaba, (6, 5, 4, 7, 2, 8), (7, 8, 1, 0, 6, 3)) - tmp457 += np.transpose(tmp456, (1, 0, 2, 3, 4, 5)) * -0.6666666666666665 - del tmp456 - tmp458 = einsum(tmp457, (0, 1, 2, 3, 4, 5), v.aabb.ovov, (2, 6, 3, 5), (0, 1, 6, 4)) * 3 - del tmp457 - l2new.aaaa += np.transpose(tmp458, (2, 3, 1, 0)) * -2 - tmp466 = np.copy(np.transpose(tmp68, (1, 0, 2, 3, 4, 5))) * -0.3333333333333333 - del tmp68 - tmp466 += np.transpose(tmp459, (1, 2, 0, 5, 4, 3)) - del tmp459 - tmp466 += np.transpose(tmp460, (1, 0, 2, 4, 5, 3)) * -1 - del tmp460 - tmp466 += np.transpose(tmp382, (1, 0, 2, 4, 5, 3)) * -0.3333333333333333 - del tmp382 - tmp466 += np.transpose(tmp461, (1, 2, 0, 4, 5, 3)) - tmp466 += np.transpose(tmp461, (1, 2, 0, 5, 4, 3)) * -1 - del tmp461 - tmp466 += np.transpose(tmp386, (1, 0, 2, 4, 5, 3)) - del tmp386 - tmp466 += np.transpose(tmp387, (0, 1, 2, 3, 5, 4)) - del tmp387 - tmp462 = einsum(tmp374, (0, 1, 2, 3, 4, 5), tmp60, (2, 6, 5, 7), (6, 0, 1, 7, 3, 4)) * 2 - tmp466 += np.transpose(tmp462, (2, 1, 0, 5, 3, 4)) - del tmp462 - tmp466 += np.transpose(tmp390, (2, 1, 0, 5, 3, 4)) - del tmp390 - tmp465 = einsum(v.aaaa.ovov, (0, 1, 2, 3), tmp464, (4, 5, 6, 0, 2, 7), (4, 5, 6, 7, 1, 3)) - del tmp464 - tmp466 += np.transpose(tmp465, (1, 2, 0, 5, 4, 3)) - del tmp465 - tmp467 = einsum(t1.aa, (0, 1), tmp466, (2, 3, 0, 1, 4, 5), (2, 3, 4, 5)) * 3 - del tmp466 - l2new.aaaa += np.transpose(tmp467, (2, 3, 1, 0)) * 2 - tmp477 = np.copy(np.transpose(tmp468, (1, 0, 2, 3, 4, 5))) * -1 - tmp477 += np.transpose(tmp469, (1, 0, 2, 3, 4, 5)) - tmp477 += np.transpose(tmp471, (1, 0, 2, 3, 4, 5)) - tmp472 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), tmp183, (4, 6, 2, 7), (3, 5, 6, 0, 7, 1)) * -1 - tmp477 += np.transpose(tmp472, (1, 0, 2, 3, 4, 5)) * -1 - tmp476 = einsum(v.aabb.ovov, (0, 1, 2, 3), tmp475, (4, 5, 0, 6, 2, 7), (4, 5, 6, 1, 7, 3)) - del tmp475 - tmp477 += np.transpose(tmp476, (1, 0, 2, 4, 3, 5)) * -1 - tmp478 = einsum(tmp477, (0, 1, 2, 3, 4, 5), t1.bb, (2, 5), (0, 1, 3, 4)) - del tmp477 - l2new.aaaa += np.transpose(tmp478, (3, 2, 1, 0)) * 2 - tmp479 = einsum(tmp74, (0, 1, 2, 3), v.aaaa.ovvv, (2, 4, 5, 3), (0, 1, 4, 5)) * 3 - del tmp74 - l2new.aaaa += np.transpose(tmp479, (2, 3, 1, 0)) * -2 - tmp480 = np.copy(np.transpose(tmp188, (1, 0, 3, 2))) - tmp480 += np.transpose(tmp199, (1, 0, 3, 2)) - tmp480 += np.transpose(tmp189, (1, 0, 3, 2)) * 3 - tmp480 += np.transpose(tmp190, (1, 0, 3, 2)) - tmp481 = einsum(v.aaaa.ovov, (0, 1, 2, 3), tmp480, (4, 5, 0, 2), (4, 5, 1, 3)) * 0.49999999999997996 - del tmp480 - l2new.aaaa += np.transpose(tmp481, (3, 2, 1, 0)) * 2 - del tmp481 - tmp482 = einsum(v.aaaa.ovov, (0, 1, 2, 3), tmp195, (0, 4, 5, 2), (5, 4, 3, 1)) * -1 - del tmp195 - l2new.aaaa += np.transpose(tmp482, (2, 3, 1, 0)) * 2 - del tmp482 - tmp485 = einsum(l2.aaaa, (0, 1, 2, 3), tmp484, (4, 1), (2, 3, 0, 4)) * -1 - del tmp484 - l2new.aaaa += np.transpose(tmp485, (3, 2, 1, 0)) * 2 - tmp486 = einsum(tmp79, (0, 1, 2, 3), tmp160, (2, 4), (0, 1, 3, 4)) - l2new.aaaa += np.transpose(tmp486, (3, 2, 1, 0)) * -2 - l2new.aaaa += np.transpose(tmp441, (2, 3, 1, 0)) * -2 - del tmp441 - l2new.aaaa += np.transpose(tmp442, (2, 3, 1, 0)) * 6 - del tmp442 - l2new.aaaa += np.transpose(tmp444, (2, 3, 1, 0)) * 6 - del tmp444 - l2new.aaaa += np.transpose(tmp447, (2, 3, 1, 0)) * -2 - del tmp447 - tmp487 = np.copy(v.aaaa.ovvv) - tmp487 += np.transpose(v.aaaa.ovvv, (0, 2, 3, 1)) * -1 - tmp488 = einsum(tmp487, (0, 1, 2, 3), tmp374, (4, 5, 0, 2, 6, 1), (4, 5, 6, 3)) - del tmp374, tmp487 - l2new.aaaa += np.transpose(tmp488, (2, 3, 1, 0)) * 12 - del tmp488 - l2new.aaaa += np.transpose(tmp450, (3, 2, 1, 0)) * 2 - del tmp450 - l2new.aaaa += np.transpose(tmp458, (3, 2, 1, 0)) * 2 - del tmp458 - l2new.aaaa += np.transpose(tmp454, (2, 3, 1, 0)) * -2 - del tmp454 - l2new.aaaa += np.transpose(tmp467, (3, 2, 1, 0)) * -2 - del tmp467 - l2new.aaaa += np.transpose(tmp478, (2, 3, 1, 0)) * -2 - del tmp478 - tmp490 = np.copy(np.transpose(tmp188, (1, 0, 3, 2))) - del tmp188 - tmp490 += np.transpose(tmp199, (1, 0, 3, 2)) - del tmp199 - tmp490 += np.transpose(tmp189, (1, 0, 3, 2)) * 3 - del tmp189 - tmp490 += np.transpose(tmp190, (1, 0, 3, 2)) - del tmp190 - tmp489 = einsum(tmp46, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 1, 2)) * 2 - del tmp46 - tmp490 += np.transpose(tmp489, (2, 1, 3, 0)) - del tmp489 - tmp491 = einsum(tmp490, (0, 1, 2, 3), v.aaaa.ovov, (2, 4, 3, 5), (0, 1, 4, 5)) * 0.49999999999997996 - del tmp490 - l2new.aaaa += np.transpose(tmp491, (3, 2, 1, 0)) * 2 - del tmp491 - l2new.aaaa += np.transpose(tmp479, (3, 2, 1, 0)) * 2 - del tmp479 - l2new.aaaa += np.transpose(tmp485, (2, 3, 1, 0)) * -2 - del tmp485 - l2new.aaaa += np.transpose(tmp486, (2, 3, 1, 0)) * 2 - del tmp486 - l2new.aaaa += np.transpose(tmp56, (2, 3, 0, 1)) - l2new.aaaa += np.transpose(tmp56, (2, 3, 1, 0)) * -1 - del tmp56 - tmp492 = einsum(t1.aa, (0, 1), tmp201, (0, 2, 3, 4, 5, 1), (3, 2, 5, 4)) * 6 - del tmp201 - l2new.aaaa += np.transpose(tmp492, (3, 2, 0, 1)) - l2new.aaaa += np.transpose(tmp492, (3, 2, 1, 0)) * -1 - del tmp492 - l2new.aaaa += np.transpose(tmp55, (3, 2, 0, 1)) * 2 - l2new.aaaa += np.transpose(tmp55, (3, 2, 1, 0)) * -2 - del tmp55 - tmp493 = np.copy(np.transpose(tmp13, (1, 0, 3, 2))) - del tmp13 - tmp493 += np.transpose(tmp14, (1, 0, 3, 2)) * 0.33333333333333287 - del tmp14 - l2new.aaaa += einsum(v.aaaa.ovov, (0, 1, 2, 3), tmp493, (4, 5, 1, 3), (5, 4, 0, 2)) * -6 - del tmp493 - tmp495 = np.copy(v.aaaa.oooo) - tmp495 += np.transpose(tmp47, (1, 3, 2, 0)) - del tmp47 - tmp495 += np.transpose(tmp494, (1, 3, 2, 0)) - del tmp494 - l2new.aaaa += einsum(tmp495, (0, 1, 2, 3), l2.aaaa, (4, 5, 0, 3), (4, 5, 2, 1)) * -2 - del tmp495 - tmp496 = einsum(tmp364, (0, 1), v.aaaa.ovov, (2, 3, 4, 1), (2, 4, 0, 3)) - l2new.aaaa += np.transpose(tmp496, (3, 2, 1, 0)) - l2new.aaaa += einsum(tmp497, (0, 1, 2, 3), l1.aa, (4, 0), (3, 4, 1, 2)) - del tmp497 - l2new.aaaa += np.transpose(tmp496, (2, 3, 1, 0)) * -1 - del tmp496 - l2new.aaaa += np.transpose(tmp367, (2, 3, 1, 0)) * -1 - del tmp367 - tmp498 = einsum(tmp168, (0, 1, 2, 3), l2.aaaa, (4, 2, 5, 0), (5, 1, 4, 3)) - l2new.aaaa += np.transpose(tmp498, (3, 2, 0, 1)) * 4 - l2new.aaaa += einsum(tmp499, (0, 1), l1.aa, (2, 3), (1, 2, 3, 0)) - tmp500 = einsum(l2.abab, (0, 1, 2, 3), tmp167, (4, 3, 5, 1), (2, 4, 0, 5)) - l2new.aaaa += np.transpose(tmp500, (3, 2, 0, 1)) - tmp501 = einsum(tmp429, (0, 1, 2, 3), v.aaaa.ovov, (4, 3, 1, 5), (0, 4, 2, 5)) * 4 - del tmp429 - l2new.aaaa += np.transpose(tmp501, (3, 2, 0, 1)) - tmp502 = einsum(t1.aa, (0, 1), tmp69, (2, 3, 0, 4, 1, 5), (2, 3, 4, 5)) * 2 - del tmp69 - l2new.aaaa += np.transpose(tmp502, (3, 2, 0, 1)) * -1 - tmp503 = einsum(tmp416, (0, 1, 2, 3), tmp77, (0, 2, 4, 5), (4, 1, 5, 3)) * 6 - l2new.aaaa += np.transpose(tmp503, (2, 3, 1, 0)) - tmp504 = einsum(v.aaaa.ooov, (0, 1, 2, 3), tmp416, (1, 4, 2, 5), (0, 4, 3, 5)) * 6 - l2new.aaaa += np.transpose(tmp504, (2, 3, 1, 0)) - tmp505 = np.copy(tmp142) - tmp505 += tmp143 * 2 - tmp505 += tmp144 - tmp505 += tmp145 * 3 - tmp505 += tmp153 * 2 - tmp505 += tmp154 - tmp506 = einsum(tmp505, (0, 1), v.aaaa.ovov, (2, 3, 1, 4), (0, 2, 4, 3)) - del tmp505 - l2new.aaaa += np.transpose(tmp506, (2, 3, 0, 1)) * -1 - l2new.aaaa += np.transpose(tmp498, (2, 3, 0, 1)) * -4 - l2new.aaaa += einsum(l1.aa, (0, 1), tmp499, (2, 3), (0, 3, 1, 2)) * -1 - l2new.aaaa += np.transpose(tmp500, (2, 3, 0, 1)) * -1 - l2new.aaaa += np.transpose(tmp501, (2, 3, 0, 1)) * -1 - l2new.aaaa += np.transpose(tmp502, (2, 3, 0, 1)) - l2new.aaaa += np.transpose(tmp503, (3, 2, 1, 0)) * -1 - del tmp503 - l2new.aaaa += np.transpose(tmp504, (3, 2, 1, 0)) * -1 - l2new.aaaa += np.transpose(tmp506, (3, 2, 0, 1)) - del tmp506 - l2new.aaaa += np.transpose(tmp498, (3, 2, 1, 0)) * -4 - l2new.aaaa += einsum(l1.aa, (0, 1), tmp499, (2, 3), (3, 0, 2, 1)) * -1 - l2new.aaaa += np.transpose(tmp500, (3, 2, 1, 0)) * -1 - l2new.aaaa += np.transpose(tmp501, (3, 2, 1, 0)) * -1 - l2new.aaaa += np.transpose(tmp502, (3, 2, 1, 0)) - l2new.aaaa += np.transpose(tmp504, (2, 3, 0, 1)) * -1 - tmp507 = einsum(tmp79, (0, 1, 2, 3), tmp77, (0, 2, 4, 5), (4, 1, 5, 3)) * 2 - l2new.aaaa += np.transpose(tmp507, (2, 3, 0, 1)) * -1 - tmp508 = np.copy(tmp142) * 0.5 - del tmp142 - tmp508 += tmp143 - del tmp143 - tmp508 += tmp144 * 0.5 - del tmp144 - tmp508 += tmp145 * 1.4999999999999394 - del tmp145 - tmp508 += tmp153 - del tmp153 - tmp508 += tmp154 * 0.49999999999998007 - del tmp154 - tmp509 = einsum(tmp508, (0, 1), v.aaaa.ovov, (2, 3, 1, 4), (0, 2, 4, 3)) * 2 - del tmp508 - l2new.aaaa += np.transpose(tmp509, (2, 3, 1, 0)) - l2new.aaaa += np.transpose(tmp498, (2, 3, 1, 0)) * 4 - del tmp498 - l2new.aaaa += einsum(tmp499, (0, 1), l1.aa, (2, 3), (2, 1, 0, 3)) - l2new.aaaa += np.transpose(tmp500, (2, 3, 1, 0)) - del tmp500 - l2new.aaaa += np.transpose(tmp501, (2, 3, 1, 0)) - del tmp501 - l2new.aaaa += np.transpose(tmp502, (2, 3, 1, 0)) * -1 - del tmp502 - l2new.aaaa += np.transpose(tmp504, (3, 2, 0, 1)) - del tmp504 - l2new.aaaa += np.transpose(tmp507, (3, 2, 0, 1)) - del tmp507 - l2new.aaaa += np.transpose(tmp509, (3, 2, 1, 0)) * -1 - del tmp509 - l2new.bbbb = np.copy(np.transpose(v.bbbb.ovov, (1, 3, 0, 2))) - tmp637 = einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp113, (4, 1), (0, 2, 3, 4)) - l2new.bbbb += np.transpose(tmp637, (2, 3, 1, 0)) * -1 - l2new.bbbb += einsum(tmp357, (0, 1, 2, 3), l1.bb, (4, 0), (3, 4, 2, 1)) * -1 - del tmp357 - l2new.bbbb += np.transpose(v.bbbb.ovov, (3, 1, 0, 2)) * -1 - l2new.bbbb += np.transpose(tmp637, (3, 2, 1, 0)) - del tmp637 - tmp639 = einsum(tmp638, (0, 1, 2, 3), l1.bb, (4, 0), (1, 2, 4, 3)) - del tmp638 - l2new.bbbb += np.transpose(tmp639, (2, 3, 0, 1)) - tmp641 = einsum(v.aabb.ovoo, (0, 1, 2, 3), tmp640, (0, 4, 3, 1, 5, 6), (4, 2, 5, 6)) * -1 - l2new.bbbb += np.transpose(tmp641, (2, 3, 0, 1)) * 6 - tmp642 = einsum(l1.bb, (0, 1), v.bbbb.ovvv, (2, 3, 4, 0), (1, 2, 3, 4)) - l2new.bbbb += np.transpose(tmp642, (2, 3, 0, 1)) * -1 - tmp643 = np.copy(np.transpose(v.aabb.ovoo, (0, 2, 3, 1))) - tmp643 += np.transpose(tmp235, (0, 2, 1, 3)) * 2 - tmp643 += tmp236 * -1 - tmp643 += tmp237 - tmp643 += tmp238 * 2 - tmp643 += tmp239 * 2 - tmp544 = einsum(tmp240, (0, 1, 2, 3), t2.abab, (4, 2, 5, 3), (4, 0, 1, 5)) - del tmp240 - tmp643 += np.transpose(tmp544, (0, 2, 1, 3)) - l2new.bbbb += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), tmp643, (4, 5, 6, 1), (0, 2, 3, 6)) * -2 - del tmp643 - tmp644 = np.copy(np.transpose(v.bbbb.ooov, (0, 2, 1, 3))) - tmp644 += np.transpose(tmp244, (1, 0, 2, 3)) * -1 - tmp644 += np.transpose(tmp245, (1, 0, 2, 3)) - tmp644 += np.transpose(tmp246, (1, 0, 2, 3)) * 3 - tmp645 = einsum(tmp644, (0, 1, 2, 3), l3.bbbbbb, (4, 5, 3, 6, 0, 1), (6, 2, 4, 5)) * 6 - del tmp644 - l2new.bbbb += np.transpose(tmp645, (3, 2, 0, 1)) - tmp646 = np.copy(v.bbbb.ooov) - tmp646 += np.transpose(v.bbbb.ooov, (0, 2, 1, 3)) * -1 - l2new.bbbb += einsum(tmp647, (0, 1, 2, 3, 4, 5), tmp646, (0, 6, 2, 5), (4, 3, 1, 6)) * -12 - del tmp646 - l2new.bbbb += einsum(tmp257, (0, 1, 2, 3), tmp276, (4, 3, 1, 5), (5, 2, 0, 4)) * 2 - tmp660 = np.copy(np.transpose(tmp648, (1, 0, 2, 4, 3, 5))) * -0.5 - tmp650 = einsum(t1.bb, (0, 1), tmp649, (0, 2, 3, 4, 5, 6, 7, 1), (2, 3, 4, 5, 6, 7)) - del tmp649 - tmp660 += np.transpose(tmp650, (1, 0, 2, 4, 3, 5)) * 1.5 - del tmp650 - tmp660 += np.transpose(tmp651, (1, 0, 2, 4, 3, 5)) * 1.5 - tmp660 += np.transpose(tmp653, (1, 0, 2, 4, 3, 5)) * -1.5 - del tmp653 - tmp660 += np.transpose(tmp284, (1, 0, 2, 3, 4, 5)) * 0.5 - tmp660 += np.transpose(tmp284, (1, 0, 2, 3, 5, 4)) * -0.5 - tmp654 = np.copy(np.transpose(v.aabb.ovov, (0, 2, 1, 3))) - tmp654 += tmp228 * 2 - tmp551 = einsum(tmp229, (0, 1, 2, 3), t2.abab, (4, 0, 5, 2), (4, 1, 5, 3)) - tmp654 += tmp551 * -1 - tmp655 = einsum(l3.babbab, (0, 1, 2, 3, 4, 5), tmp654, (4, 6, 1, 7), (3, 5, 6, 0, 2, 7)) * 0.5 - del tmp654 - tmp660 += np.transpose(tmp655, (1, 0, 2, 4, 3, 5)) - del tmp655 - tmp656 = einsum(tmp234, (0, 1, 2, 3), l3.bbbbbb, (4, 5, 2, 6, 7, 0), (6, 7, 1, 4, 5, 3)) * 1.5 - del tmp234 - tmp660 += tmp656 - tmp657 = np.copy(v.bbbb.oooo) - tmp657 += np.transpose(tmp263, (1, 3, 2, 0)) - tmp657 += np.transpose(tmp272, (2, 1, 3, 0)) - tmp657 += np.transpose(tmp272, (2, 3, 1, 0)) * -1 - tmp658 = einsum(tmp657, (0, 1, 2, 3), l3.bbbbbb, (4, 5, 6, 7, 3, 0), (7, 1, 2, 4, 5, 6)) * 1.5 - del tmp657 - tmp660 += np.transpose(tmp658, (2, 0, 1, 4, 5, 3)) * -1 - del tmp658 - tmp659 = einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp257, (4, 5, 6, 3), (0, 2, 4, 1, 5, 6)) * 0.5 - tmp660 += np.transpose(tmp659, (1, 2, 0, 5, 3, 4)) - del tmp659 - tmp661 = einsum(tmp660, (0, 1, 2, 3, 4, 5), t1.bb, (0, 5), (1, 2, 3, 4)) * 4 - del tmp660 - l2new.bbbb += np.transpose(tmp661, (3, 2, 0, 1)) * -1 - tmp662 = einsum(v.aabb.vvov, (0, 1, 2, 3), tmp16, (4, 0, 1, 5), (4, 2, 5, 3)) * 2 - l2new.bbbb += np.transpose(tmp662, (3, 2, 0, 1)) * -1 - tmp668 = np.copy(tmp204) - tmp668 += np.transpose(tmp663, (0, 1, 2, 3, 5, 4)) * 2 - del tmp663 - tmp668 += np.transpose(tmp664, (0, 1, 2, 3, 5, 4)) * -2 - del tmp664 - tmp665 = einsum(tmp183, (0, 1, 2, 3), l3.babbab, (4, 2, 5, 6, 7, 0), (7, 6, 1, 3, 4, 5)) * -2 - del tmp183 - tmp668 += np.transpose(tmp665, (0, 1, 2, 3, 5, 4)) * -1 - del tmp665 - tmp666 = einsum(l3.babbab, (0, 1, 2, 3, 4, 5), tmp300, (4, 6, 5, 7), (6, 3, 7, 1, 0, 2)) * -2 - del tmp300 - tmp668 += np.transpose(tmp666, (0, 1, 2, 3, 5, 4)) - del tmp666 - tmp668 += np.transpose(tmp667, (0, 2, 1, 3, 5, 4)) * -1 - tmp669 = einsum(t1.aa, (0, 1), tmp668, (0, 2, 3, 1, 4, 5), (2, 3, 4, 5)) - del tmp668 - l2new.bbbb += np.transpose(tmp669, (3, 2, 0, 1)) * -1 - tmp670 = np.copy(np.transpose(l2.bbbb, (2, 3, 0, 1))) * 0.5000000000000198 - tmp670 += tmp252 * 0.2499999999999999 - tmp670 += tmp253 - tmp670 += tmp254 * 2.2499999999999996 - tmp671 = einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp670, (4, 2, 5, 3), (0, 4, 1, 5)) * 4 - del tmp670 - l2new.bbbb += np.transpose(tmp671, (2, 3, 1, 0)) * -1 - tmp530 = np.copy(np.transpose(l2.abab, (2, 3, 0, 1))) - tmp530 += tmp259 * 3 - tmp530 += tmp260 * 4 - tmp530 += tmp261 * 3 - tmp672 = einsum(tmp530, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 5), (4, 1, 5, 3)) - l2new.bbbb += np.transpose(tmp672, (2, 3, 1, 0)) * -1 - tmp535 = np.copy(v.bbbb.oovv) * -1 - tmp535 += tmp279 - tmp535 += tmp306 * 2 - tmp673 = einsum(tmp535, (0, 1, 2, 3), l2.bbbb, (4, 2, 5, 0), (5, 1, 4, 3)) - l2new.bbbb += np.transpose(tmp673, (3, 2, 0, 1)) * -2 - tmp541 = np.copy(tmp228) * 2 - del tmp228 - tmp541 += tmp312 - del tmp312 - tmp674 = einsum(l2.abab, (0, 1, 2, 3), tmp541, (2, 4, 0, 5), (3, 4, 1, 5)) - l2new.bbbb += np.transpose(tmp674, (3, 2, 0, 1)) * -1 - tmp675 = einsum(tmp293, (0, 1, 2, 3), v.bbbb.ovoo, (4, 5, 0, 2), (4, 1, 5, 3)) * 2 - l2new.bbbb += np.transpose(tmp675, (2, 3, 1, 0)) * -1 - tmp676 = einsum(tmp227, (0, 1, 2, 3), tmp533, (0, 4, 2, 5), (1, 4, 3, 5)) * 6 - l2new.bbbb += np.transpose(tmp676, (2, 3, 1, 0)) * -1 - tmp532 = np.copy(tmp211) * 0.5 - del tmp211 - tmp532 += tmp120 - tmp532 += tmp121 - tmp677 = einsum(tmp532, (0, 1, 2, 3), v.aabb.ooov, (0, 1, 4, 5), (4, 2, 5, 3)) * 2 - l2new.bbbb += np.transpose(tmp677, (2, 3, 1, 0)) - tmp678 = einsum(tmp99, (0, 1, 2, 3), tmp212, (0, 1, 4, 5), (2, 4, 3, 5)) - l2new.bbbb += np.transpose(tmp678, (2, 3, 1, 0)) - l2new.bbbb += einsum(tmp285, (0, 1, 2, 3), tmp319, (4, 3), (2, 1, 0, 4)) * 6 - tmp679 = einsum(l2.bbbb, (0, 1, 2, 3), tmp326, (3, 4), (2, 4, 0, 1)) * -2 - l2new.bbbb += np.transpose(tmp679, (3, 2, 0, 1)) * -1 - tmp680 = np.copy(f.bb.ov) - tmp680 += tmp317 - del tmp317 - tmp680 += tmp542 - del tmp542 - l2new.bbbb += einsum(tmp680, (0, 1), l1.bb, (2, 3), (1, 2, 3, 0)) * -1 - del tmp680 - l2new.bbbb += np.transpose(tmp641, (2, 3, 1, 0)) * -6 - del tmp641 - l2new.bbbb += np.transpose(tmp642, (2, 3, 1, 0)) - tmp681 = np.copy(np.transpose(v.aabb.ovoo, (0, 2, 3, 1))) * 0.5 - tmp681 += np.transpose(tmp235, (0, 2, 1, 3)) - del tmp235 - tmp681 += tmp236 * -0.5 - tmp681 += tmp237 * 0.5 - tmp681 += tmp238 - tmp681 += tmp239 - tmp681 += np.transpose(tmp241, (0, 2, 1, 3)) - del tmp241 - l2new.bbbb += einsum(tmp681, (0, 1, 2, 3), l3.babbab, (4, 3, 5, 6, 0, 1), (4, 5, 2, 6)) * 4 - del tmp681 - l2new.bbbb += np.transpose(tmp645, (3, 2, 1, 0)) * -1 - del tmp645 - tmp547 = np.copy(v.bbbb.ooov) * -1 - tmp547 += np.transpose(v.bbbb.ooov, (0, 2, 1, 3)) - l2new.bbbb += einsum(tmp647, (0, 1, 2, 3, 4, 5), tmp547, (0, 6, 2, 5), (4, 3, 6, 1)) * -12 - l2new.bbbb += einsum(tmp285, (0, 1, 2, 3), tmp305, (4, 5, 1, 3), (5, 2, 4, 0)) * -6 - l2new.bbbb += np.transpose(tmp661, (3, 2, 1, 0)) - del tmp661 - l2new.bbbb += np.transpose(tmp662, (3, 2, 1, 0)) - l2new.bbbb += np.transpose(tmp669, (3, 2, 1, 0)) - del tmp669 - tmp682 = np.copy(np.transpose(v.bbbb.ovov, (0, 2, 1, 3))) - tmp682 += v.bbbb.oovv * -1 - tmp682 += tmp279 - del tmp279 - tmp682 += tmp306 * 2 - del tmp306 - tmp683 = einsum(l2.bbbb, (0, 1, 2, 3), tmp682, (3, 4, 1, 5), (2, 4, 0, 5)) - del tmp682 - l2new.bbbb += np.transpose(tmp683, (3, 2, 1, 0)) * 2 - tmp684 = np.copy(np.transpose(l2.abab, (2, 3, 0, 1))) * 0.2500000000000099 - tmp684 += tmp259 * 0.7499999999999999 - tmp684 += tmp260 - tmp684 += tmp261 * 0.7499999999999999 - tmp685 = einsum(v.aabb.ovov, (0, 1, 2, 3), tmp684, (0, 4, 1, 5), (2, 4, 3, 5)) * 4 - del tmp684 - l2new.bbbb += np.transpose(tmp685, (2, 3, 0, 1)) - tmp686 = np.copy(tmp252) - tmp686 += tmp253 * 4 - tmp686 += tmp254 * 9 - tmp687 = einsum(tmp686, (0, 1, 2, 3), v.bbbb.ovov, (4, 5, 1, 3), (4, 0, 5, 2)) - l2new.bbbb += np.transpose(tmp687, (2, 3, 0, 1)) - l2new.bbbb += np.transpose(tmp674, (3, 2, 1, 0)) - l2new.bbbb += np.transpose(tmp676, (2, 3, 0, 1)) - l2new.bbbb += np.transpose(tmp675, (2, 3, 0, 1)) - l2new.bbbb += np.transpose(tmp677, (2, 3, 0, 1)) * -1 - tmp688 = einsum(tmp532, (0, 1, 2, 3), tmp99, (0, 1, 4, 5), (4, 2, 5, 3)) * 2 - l2new.bbbb += np.transpose(tmp688, (2, 3, 0, 1)) * -1 - l2new.bbbb += einsum(tmp319, (0, 1), tmp257, (2, 3, 4, 1), (4, 3, 0, 2)) * -2 - l2new.bbbb += np.transpose(tmp679, (3, 2, 1, 0)) - del tmp679 - l2new.bbbb += einsum(l1.bb, (0, 1), tmp543, (2, 3), (3, 0, 2, 1)) - l2new.bbbb += np.transpose(tmp642, (3, 2, 0, 1)) - l2new.bbbb += einsum(tmp276, (0, 1, 2, 3), tmp257, (4, 2, 5, 3), (5, 1, 4, 0)) * 2 - del tmp276 - l2new.bbbb += np.transpose(tmp662, (2, 3, 0, 1)) - l2new.bbbb += np.transpose(tmp671, (3, 2, 1, 0)) - del tmp671 - l2new.bbbb += np.transpose(tmp672, (3, 2, 1, 0)) - del tmp672 - l2new.bbbb += np.transpose(tmp673, (2, 3, 0, 1)) * 2 - del tmp673 - tmp690 = np.copy(np.transpose(tmp284, (1, 2, 0, 4, 3, 5))) * -0.3333333333333333 - tmp690 += np.transpose(tmp284, (1, 2, 0, 5, 3, 4)) * 0.3333333333333333 - tmp689 = einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp285, (4, 5, 6, 1), (0, 2, 4, 3, 5, 6)) - tmp690 += np.transpose(tmp689, (2, 1, 0, 5, 4, 3)) - tmp691 = einsum(tmp690, (0, 1, 2, 3, 4, 5), t1.bb, (2, 3), (0, 1, 4, 5)) * 6 - del tmp690 - l2new.bbbb += np.transpose(tmp691, (2, 3, 0, 1)) * -1 - tmp692 = np.copy(tmp204) - tmp692 += np.transpose(tmp667, (0, 2, 1, 3, 5, 4)) * -1 - del tmp667 - tmp693 = einsum(t1.aa, (0, 1), tmp692, (0, 2, 3, 1, 4, 5), (2, 3, 4, 5)) - del tmp692 - l2new.bbbb += np.transpose(tmp693, (2, 3, 0, 1)) - l2new.bbbb += np.transpose(tmp674, (2, 3, 0, 1)) - l2new.bbbb += einsum(tmp533, (0, 1, 2, 3), v.bbbb.ovoo, (4, 5, 0, 2), (3, 5, 1, 4)) * 6 - l2new.bbbb += np.transpose(tmp676, (3, 2, 1, 0)) - l2new.bbbb += np.transpose(tmp677, (3, 2, 1, 0)) * -1 - l2new.bbbb += np.transpose(tmp678, (3, 2, 1, 0)) * -1 - del tmp678 - l2new.bbbb += einsum(l1.bb, (0, 1), tmp543, (2, 3), (0, 3, 1, 2)) - l2new.bbbb += np.transpose(tmp642, (3, 2, 1, 0)) * -1 - del tmp642 - l2new.bbbb += einsum(tmp305, (0, 1, 2, 3), tmp285, (4, 2, 5, 1), (5, 3, 0, 4)) * -6 - l2new.bbbb += np.transpose(tmp662, (2, 3, 1, 0)) * -1 - del tmp662 - l2new.bbbb += np.transpose(tmp683, (2, 3, 1, 0)) * -2 - del tmp683 - l2new.bbbb += np.transpose(tmp685, (3, 2, 0, 1)) * -1 - del tmp685 - l2new.bbbb += np.transpose(tmp687, (3, 2, 0, 1)) * -1 - del tmp687 - l2new.bbbb += np.transpose(tmp691, (2, 3, 1, 0)) - del tmp691 - l2new.bbbb += np.transpose(tmp693, (2, 3, 1, 0)) * -1 - del tmp693 - l2new.bbbb += np.transpose(tmp674, (2, 3, 1, 0)) * -1 - del tmp674 - l2new.bbbb += np.transpose(tmp676, (3, 2, 0, 1)) * -1 - del tmp676 - l2new.bbbb += np.transpose(tmp675, (3, 2, 0, 1)) * -1 - del tmp675 - l2new.bbbb += np.transpose(tmp677, (3, 2, 0, 1)) - del tmp677 - l2new.bbbb += np.transpose(tmp688, (3, 2, 0, 1)) - del tmp688 - l2new.bbbb += einsum(l1.bb, (0, 1), tmp543, (2, 3), (0, 3, 2, 1)) * -1 - tmp694 = einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), t3.bbbbbb, (6, 7, 5, 8, 1, 2), (3, 4, 6, 7, 0, 8)) - tmp695 = einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp694, (4, 5, 2, 0, 6, 3), (4, 5, 6, 1)) * -1 - del tmp694 - l2new.bbbb += np.transpose(tmp695, (3, 2, 1, 0)) * 18 - tmp696 = einsum(tmp640, (0, 1, 2, 3, 4, 5), v.aabb.ovvv, (0, 3, 6, 5), (1, 2, 4, 6)) * -1 - del tmp640 - l2new.bbbb += np.transpose(tmp696, (3, 2, 1, 0)) * -6 - tmp697 = einsum(v.bbbb.ovvv, (0, 1, 2, 3), l3.bbbbbb, (4, 1, 3, 5, 6, 0), (5, 6, 4, 2)) - l2new.bbbb += np.transpose(tmp697, (3, 2, 1, 0)) * -6 - l2new.bbbb += np.transpose(tmp346, (3, 2, 1, 0)) * 2 - del tmp346 - tmp698 = einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (6, 4, 7, 8, 1, 2), (3, 5, 6, 7, 0, 8)) - tmp699 = einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp698, (4, 5, 2, 0, 6, 1), (4, 5, 6, 3)) * -1 - del tmp698 - l2new.bbbb += np.transpose(tmp699, (3, 2, 1, 0)) * -4 - tmp700 = einsum(v.aabb.ooov, (0, 1, 2, 3), tmp560, (0, 1, 4, 5, 2, 6), (4, 5, 6, 3)) - l2new.bbbb += np.transpose(tmp700, (3, 2, 1, 0)) * 2 - tmp702 = einsum(tmp701, (0, 1, 2, 3, 4, 5), v.bbbb.ooov, (1, 4, 3, 6), (0, 2, 5, 6)) - del tmp701 - l2new.bbbb += np.transpose(tmp702, (3, 2, 1, 0)) * -6 - tmp704 = np.copy(v.aabb.ovvv) - tmp704 += np.transpose(tmp330, (0, 1, 3, 2)) * 2 - del tmp330 - tmp704 += np.transpose(tmp331, (0, 1, 3, 2)) * -1 - del tmp331 - tmp703 = einsum(tmp332, (0, 1, 2, 3), t2.abab, (4, 0, 5, 2), (4, 5, 1, 3)) - del tmp332 - tmp704 += tmp703 * -1 - del tmp703 - tmp705 = einsum(l3.babbab, (0, 1, 2, 3, 4, 5), tmp704, (4, 1, 6, 2), (3, 5, 0, 6)) * -1 - del tmp704 - l2new.bbbb += np.transpose(tmp705, (3, 2, 1, 0)) * -2 - tmp706 = np.copy(v.bbbb.ovvv) * -1 - tmp706 += np.transpose(v.bbbb.ovvv, (0, 2, 3, 1)) - tmp707 = einsum(tmp647, (0, 1, 2, 3, 4, 5), tmp706, (2, 5, 3, 6), (0, 1, 4, 6)) - del tmp706 - l2new.bbbb += np.transpose(tmp707, (3, 2, 1, 0)) * 12 - del tmp707 - tmp708 = einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), l3.babbab, (6, 5, 4, 7, 2, 8), (0, 7, 8, 1, 3, 6)) - tmp710 = np.copy(np.transpose(tmp708, (0, 2, 1, 3, 4, 5))) * -1 - del tmp708 - tmp709 = einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), t3.babbab, (6, 7, 5, 1, 8, 2), (7, 3, 4, 6, 8, 0)) - tmp710 += np.transpose(tmp709, (0, 2, 1, 3, 4, 5)) * -1.5000000000000004 - del tmp709 - tmp711 = einsum(tmp710, (0, 1, 2, 3, 4, 5), v.aabb.ovov, (0, 4, 3, 6), (1, 2, 6, 5)) * 2 - del tmp710 - l2new.bbbb += np.transpose(tmp711, (2, 3, 1, 0)) * -2 - tmp719 = np.copy(np.transpose(tmp284, (1, 0, 2, 3, 4, 5))) * -0.5 - del tmp284 - tmp719 += np.transpose(tmp712, (1, 2, 0, 5, 4, 3)) * 1.5 - del tmp712 - tmp719 += np.transpose(tmp648, (1, 0, 2, 4, 5, 3)) * -0.5 - del tmp648 - tmp719 += np.transpose(tmp713, (1, 0, 2, 4, 5, 3)) * -1.5 - del tmp713 - tmp719 += np.transpose(tmp651, (1, 0, 2, 4, 5, 3)) * 1.5 - del tmp651 - tmp719 += np.transpose(tmp714, (1, 2, 0, 4, 5, 3)) * 1.5 - tmp719 += np.transpose(tmp714, (1, 2, 0, 5, 4, 3)) * -1.5 - del tmp714 - tmp715 = einsum(tmp231, (0, 1, 2, 3), l3.babbab, (4, 2, 5, 6, 0, 7), (6, 7, 1, 4, 5, 3)) - del tmp231 - tmp719 += np.transpose(tmp715, (1, 0, 2, 4, 5, 3)) - del tmp715 - tmp719 += np.transpose(tmp656, (0, 1, 2, 3, 5, 4)) - del tmp656 - tmp718 = einsum(tmp717, (0, 1, 2, 3, 4, 5), v.bbbb.ovov, (3, 6, 4, 7), (0, 1, 2, 6, 7, 5)) * 1.5 - del tmp717 - tmp719 += np.transpose(tmp718, (1, 2, 0, 4, 3, 5)) - del tmp718 - tmp720 = einsum(tmp719, (0, 1, 2, 3, 4, 5), t1.bb, (2, 3), (0, 1, 4, 5)) * 2 - del tmp719 - l2new.bbbb += np.transpose(tmp720, (2, 3, 1, 0)) * 2 - tmp725 = np.copy(np.transpose(tmp527, (0, 2, 1, 3, 4, 5))) - tmp725 += np.transpose(tmp576, (0, 2, 1, 3, 4, 5)) * -1 - tmp725 += np.transpose(tmp721, (0, 2, 1, 3, 4, 5)) - del tmp721 - tmp725 += np.transpose(tmp580, (0, 2, 1, 3, 4, 5)) - tmp725 += np.transpose(tmp528, (0, 2, 1, 3, 4, 5)) * -1 - tmp724 = einsum(tmp723, (0, 1, 2, 3, 4, 5), v.aabb.ovov, (1, 6, 4, 7), (0, 2, 3, 6, 7, 5)) - del tmp723 - tmp725 += np.transpose(tmp724, (0, 2, 1, 3, 5, 4)) * -1 - del tmp724 - tmp726 = einsum(tmp725, (0, 1, 2, 3, 4, 5), t1.aa, (0, 3), (1, 2, 4, 5)) - del tmp725 - l2new.bbbb += np.transpose(tmp726, (3, 2, 1, 0)) * 2 - l2new.bbbb += np.transpose(tmp351, (2, 3, 1, 0)) * -2 - tmp727 = np.copy(np.transpose(tmp343, (1, 0, 3, 2))) * 0.3333333333333467 - tmp727 += np.transpose(tmp352, (1, 0, 3, 2)) * 0.3333333333333467 - tmp727 += np.transpose(tmp344, (1, 0, 3, 2)) * 0.33333333333333337 - tmp727 += np.transpose(tmp329, (1, 0, 3, 2)) - tmp728 = einsum(tmp727, (0, 1, 2, 3), v.bbbb.ovov, (2, 4, 3, 5), (0, 1, 4, 5)) * 1.4999999999999398 - del tmp727 - l2new.bbbb += np.transpose(tmp728, (3, 2, 1, 0)) * 2 - del tmp728 - l2new.bbbb += np.transpose(tmp349, (2, 3, 1, 0)) * 2 - del tmp349 - tmp730 = einsum(l2.bbbb, (0, 1, 2, 3), tmp729, (4, 1), (2, 3, 0, 4)) * -1 - del tmp729 - l2new.bbbb += np.transpose(tmp730, (3, 2, 1, 0)) * 2 - tmp731 = einsum(tmp293, (0, 1, 2, 3), tmp319, (2, 4), (0, 1, 3, 4)) - l2new.bbbb += np.transpose(tmp731, (3, 2, 1, 0)) * -2 - l2new.bbbb += np.transpose(tmp695, (2, 3, 1, 0)) * -18 - del tmp695 - l2new.bbbb += np.transpose(tmp696, (2, 3, 1, 0)) * 6 - del tmp696 - l2new.bbbb += np.transpose(tmp697, (2, 3, 1, 0)) * 6 - del tmp697 - l2new.bbbb += np.transpose(tmp699, (2, 3, 1, 0)) * 4 - del tmp699 - l2new.bbbb += np.transpose(tmp700, (2, 3, 1, 0)) * -2 - del tmp700 - l2new.bbbb += np.transpose(tmp702, (2, 3, 1, 0)) * 6 - del tmp702 - l2new.bbbb += np.transpose(tmp705, (2, 3, 1, 0)) * 2 - del tmp705 - tmp732 = np.copy(v.bbbb.ovvv) - tmp732 += np.transpose(v.bbbb.ovvv, (0, 2, 3, 1)) * -1 - tmp733 = einsum(tmp732, (0, 1, 2, 3), tmp647, (4, 5, 0, 2, 6, 1), (4, 5, 6, 3)) - del tmp647, tmp732 - l2new.bbbb += np.transpose(tmp733, (2, 3, 1, 0)) * 12 - del tmp733 - l2new.bbbb += np.transpose(tmp711, (3, 2, 1, 0)) * 2 - del tmp711 - l2new.bbbb += np.transpose(tmp720, (3, 2, 1, 0)) * -2 - del tmp720 - l2new.bbbb += np.transpose(tmp726, (2, 3, 1, 0)) * -2 - del tmp726 - tmp735 = np.copy(np.transpose(tmp343, (1, 0, 3, 2))) * 0.3333333333333467 - del tmp343 - tmp735 += np.transpose(tmp352, (1, 0, 3, 2)) * 0.3333333333333467 - del tmp352 - tmp735 += np.transpose(tmp344, (1, 0, 3, 2)) * 0.33333333333333337 - del tmp344 - tmp735 += np.transpose(tmp329, (1, 0, 3, 2)) - del tmp329 - tmp734 = einsum(t1.bb, (0, 1), tmp130, (2, 3, 4, 1), (0, 2, 3, 4)) * 2 - del tmp130 - tmp735 += np.transpose(tmp734, (2, 1, 3, 0)) - del tmp734 - tmp736 = einsum(tmp735, (0, 1, 2, 3), v.bbbb.ovov, (2, 4, 3, 5), (0, 1, 4, 5)) * 1.4999999999999398 - del tmp735 - l2new.bbbb += np.transpose(tmp736, (3, 2, 1, 0)) * 2 - del tmp736 - l2new.bbbb += np.transpose(tmp351, (3, 2, 1, 0)) * 2 - del tmp351 - l2new.bbbb += np.transpose(tmp730, (2, 3, 1, 0)) * -2 - del tmp730 - l2new.bbbb += np.transpose(tmp731, (2, 3, 1, 0)) * 2 - del tmp731 - l2new.bbbb += np.transpose(tmp271, (2, 3, 1, 0)) * -6 - del tmp271 - l2new.bbbb += np.transpose(tmp270, (2, 3, 1, 0)) * -2 - del tmp270 - tmp737 = einsum(v.bbbb.ooov, (0, 1, 2, 3), tmp257, (1, 4, 5, 3), (0, 2, 4, 5)) * 2 - l2new.bbbb += np.transpose(tmp737, (2, 3, 0, 1)) - l2new.bbbb += np.transpose(tmp737, (2, 3, 1, 0)) * -1 - del tmp737 - tmp738 = einsum(tmp286, (0, 1, 2, 3, 4, 5), t1.bb, (2, 3), (1, 0, 5, 4)) * 2 - del tmp286 - l2new.bbbb += np.transpose(tmp738, (3, 2, 0, 1)) - l2new.bbbb += np.transpose(tmp738, (3, 2, 1, 0)) * -1 - del tmp738 - l2new.bbbb += np.transpose(tmp273, (3, 2, 0, 1)) * 2 - l2new.bbbb += np.transpose(tmp273, (3, 2, 1, 0)) * -2 - del tmp273 - tmp740 = np.copy(v.bbbb.oooo) - tmp740 += np.transpose(tmp263, (1, 3, 0, 2)) - tmp740 += np.transpose(tmp739, (1, 3, 0, 2)) - del tmp739 - l2new.bbbb += einsum(l2.bbbb, (0, 1, 2, 3), tmp740, (2, 4, 3, 5), (0, 1, 4, 5)) * 2 - del tmp740 - tmp741 = einsum(tmp113, (0, 1), v.bbbb.ovov, (2, 3, 4, 1), (2, 4, 3, 0)) - del tmp113 - l2new.bbbb += np.transpose(tmp741, (2, 3, 1, 0)) - l2new.bbbb += einsum(tmp742, (0, 1, 2, 3), l1.bb, (4, 0), (3, 4, 1, 2)) - del tmp742 - l2new.bbbb += np.transpose(tmp741, (3, 2, 1, 0)) * -1 - del tmp741 - l2new.bbbb += np.transpose(tmp639, (2, 3, 1, 0)) * -1 - del tmp639 - tmp743 = einsum(tmp328, (0, 1, 2, 3), l2.bbbb, (4, 2, 5, 0), (5, 1, 4, 3)) - l2new.bbbb += np.transpose(tmp743, (3, 2, 0, 1)) * 4 - tmp744 = einsum(l2.abab, (0, 1, 2, 3), tmp327, (2, 4, 0, 5), (3, 4, 1, 5)) - l2new.bbbb += np.transpose(tmp744, (3, 2, 0, 1)) - l2new.bbbb += einsum(tmp635, (0, 1), l1.bb, (2, 3), (1, 2, 3, 0)) - tmp745 = einsum(tmp686, (0, 1, 2, 3), v.bbbb.ovov, (4, 3, 1, 5), (4, 0, 5, 2)) - del tmp686 - l2new.bbbb += np.transpose(tmp745, (2, 3, 1, 0)) - tmp746 = einsum(tmp689, (0, 1, 2, 3, 4, 5), t1.bb, (1, 5), (2, 0, 4, 3)) * 6 - del tmp689 - l2new.bbbb += np.transpose(tmp746, (3, 2, 0, 1)) * -1 - tmp747 = einsum(tmp227, (0, 1, 2, 3), tmp293, (0, 4, 1, 5), (2, 4, 3, 5)) * 2 - l2new.bbbb += np.transpose(tmp747, (2, 3, 1, 0)) - tmp748 = einsum(tmp293, (0, 1, 2, 3), v.bbbb.ooov, (4, 0, 2, 5), (4, 1, 5, 3)) * 2 - l2new.bbbb += np.transpose(tmp748, (2, 3, 1, 0)) - tmp632 = np.copy(tmp135) - tmp632 += tmp136 - tmp632 += tmp137 * 2 - tmp632 += tmp150 - tmp632 += tmp138 * 2 - tmp632 += tmp151 * 3 - tmp749 = einsum(tmp632, (0, 1), v.bbbb.ovov, (2, 3, 1, 4), (2, 0, 4, 3)) - l2new.bbbb += np.transpose(tmp749, (2, 3, 1, 0)) * -1 - l2new.bbbb += np.transpose(tmp743, (2, 3, 0, 1)) * -4 - l2new.bbbb += np.transpose(tmp744, (2, 3, 0, 1)) * -1 - l2new.bbbb += einsum(l1.bb, (0, 1), tmp635, (2, 3), (0, 3, 1, 2)) * -1 - l2new.bbbb += np.transpose(tmp745, (3, 2, 1, 0)) * -1 - del tmp745 - l2new.bbbb += np.transpose(tmp746, (2, 3, 0, 1)) - l2new.bbbb += np.transpose(tmp747, (3, 2, 1, 0)) * -1 - del tmp747 - l2new.bbbb += np.transpose(tmp748, (3, 2, 1, 0)) * -1 - l2new.bbbb += np.transpose(tmp749, (3, 2, 1, 0)) - del tmp749 - l2new.bbbb += np.transpose(tmp743, (3, 2, 1, 0)) * -4 - l2new.bbbb += np.transpose(tmp744, (3, 2, 1, 0)) * -1 - l2new.bbbb += einsum(l1.bb, (0, 1), tmp635, (2, 3), (3, 0, 2, 1)) * -1 - tmp750 = np.copy(tmp252) * 0.11111111111111108 - tmp750 += tmp253 * 0.44444444444444453 - tmp750 += tmp254 - tmp751 = einsum(tmp750, (0, 1, 2, 3), v.bbbb.ovov, (4, 3, 1, 5), (4, 0, 5, 2)) * 9 - del tmp750 - l2new.bbbb += np.transpose(tmp751, (2, 3, 0, 1)) * -1 - l2new.bbbb += np.transpose(tmp746, (3, 2, 1, 0)) - tmp752 = einsum(tmp227, (0, 1, 2, 3), tmp533, (0, 4, 1, 5), (2, 4, 3, 5)) * 6 - l2new.bbbb += np.transpose(tmp752, (2, 3, 0, 1)) * -1 - l2new.bbbb += np.transpose(tmp748, (2, 3, 0, 1)) * -1 - tmp753 = np.copy(tmp135) * 0.3333333333333468 - del tmp135 - tmp753 += tmp136 * 0.3333333333333468 - del tmp136 - tmp753 += tmp137 * 0.6666666666666936 - del tmp137 - tmp753 += tmp150 * 0.33333333333333354 - del tmp150 - tmp753 += tmp138 * 0.6666666666666667 - del tmp138 - tmp753 += tmp151 - del tmp151 - tmp754 = einsum(tmp753, (0, 1), v.bbbb.ovov, (2, 3, 1, 4), (2, 0, 4, 3)) * 3 - del tmp753 - l2new.bbbb += np.transpose(tmp754, (2, 3, 0, 1)) - l2new.bbbb += np.transpose(tmp743, (2, 3, 1, 0)) * 4 - del tmp743 - l2new.bbbb += np.transpose(tmp744, (2, 3, 1, 0)) - del tmp744 - l2new.bbbb += einsum(tmp635, (0, 1), l1.bb, (2, 3), (2, 1, 0, 3)) - l2new.bbbb += np.transpose(tmp751, (3, 2, 0, 1)) - del tmp751 - l2new.bbbb += np.transpose(tmp746, (2, 3, 1, 0)) * -1 - del tmp746 - l2new.bbbb += np.transpose(tmp752, (3, 2, 0, 1)) - del tmp752 - l2new.bbbb += np.transpose(tmp748, (3, 2, 0, 1)) - del tmp748 - l2new.bbbb += np.transpose(tmp754, (3, 2, 0, 1)) * -1 - del tmp754 - l2new.abab = np.copy(np.transpose(v.aabb.ovov, (1, 3, 0, 2))) - tmp510 = np.copy(tmp91) * 0.5 - del tmp91 - tmp510 += tmp92 - del tmp92 - tmp510 += tmp93 * 0.49999999999998007 - del tmp93 - tmp510 += tmp94 - del tmp94 - tmp510 += tmp95 * 1.4999999999999394 - del tmp95 - l2new.abab += einsum(v.aabb.ovov, (0, 1, 2, 3), tmp510, (4, 3), (1, 4, 0, 2)) * -2 - del tmp510 - l2new.abab += einsum(tmp297, (0, 1, 2, 3), l1.bb, (4, 1), (3, 4, 0, 2)) * -1 - l2new.abab += einsum(v.aabb.ovoo, (0, 1, 2, 3), tmp511, (4, 2, 3, 5, 1, 6), (5, 6, 0, 4)) * 2 - del tmp511 - l2new.abab += einsum(v.aabb.ovvv, (0, 1, 2, 3), l1.bb, (3, 4), (1, 2, 0, 4)) - l2new.abab += einsum(tmp512, (0, 1, 2, 3, 4, 5), v.aabb.ooov, (6, 0, 2, 5), (3, 4, 6, 1)) * -2 - tmp513 = np.copy(v.aabb.ooov) - tmp513 += np.transpose(tmp22, (1, 0, 2, 3)) * 2 - del tmp22 - tmp513 += tmp23 - del tmp23 - tmp513 += tmp24 * 2 - del tmp24 - tmp513 += tmp25 * 2 - del tmp25 - tmp513 += tmp421 - del tmp421 - l2new.abab += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), tmp513, (4, 6, 5, 2), (1, 0, 6, 3)) * -2 - del tmp513 - tmp514 = np.copy(np.transpose(v.aaaa.ooov, (0, 2, 1, 3))) - tmp514 += np.transpose(tmp28, (1, 0, 2, 3)) * -1 - del tmp28 - tmp514 += np.transpose(tmp29, (1, 0, 2, 3)) * 3 - del tmp29 - tmp514 += np.transpose(tmp30, (1, 0, 2, 3)) - del tmp30 - l2new.abab += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), tmp514, (3, 5, 6, 2), (0, 1, 6, 4)) * -2 - del tmp514 - l2new.abab += einsum(tmp515, (0, 1, 2, 3, 4, 5), tmp424, (1, 0, 6, 4), (3, 5, 6, 2)) * -4 - del tmp424 - l2new.abab += einsum(tmp434, (0, 1, 2, 3), tmp16, (4, 2, 1, 5), (3, 5, 0, 4)) * 2 - del tmp434 - tmp525 = einsum(t1.aa, (0, 1), tmp516, (0, 2, 3, 4, 5, 6, 1, 7), (2, 3, 4, 6, 5, 7)) * -1 - del tmp516 - tmp525 += np.transpose(tmp518, (0, 1, 2, 4, 3, 5)) - tmp525 += np.transpose(tmp519, (0, 1, 2, 4, 3, 5)) * -1 - del tmp519 - tmp525 += np.transpose(tmp520, (0, 1, 2, 4, 3, 5)) - tmp525 += np.transpose(tmp522, (0, 1, 2, 4, 3, 5)) * -1 - tmp525 += tmp523 * 0.5 - tmp525 += np.transpose(tmp523, (0, 1, 2, 4, 3, 5)) * -0.5 - del tmp523 - tmp525 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), tmp66, (6, 5, 7, 2), (4, 6, 3, 7, 1, 0)) - del tmp66 - tmp524 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), tmp20, (5, 6, 2, 7), (3, 6, 4, 0, 7, 1)) - del tmp20 - tmp525 += np.transpose(tmp524, (0, 1, 2, 4, 3, 5)) - tmp525 += einsum(tmp60, (0, 1, 2, 3), tmp515, (4, 0, 5, 6, 2, 7), (4, 1, 5, 3, 6, 7)) * 2 - tmp525 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), tmp391, (3, 6, 7, 5), (7, 6, 4, 0, 2, 1)) - del tmp391 - tmp525 += einsum(tmp16, (0, 1, 2, 3), v.aaaa.ovov, (4, 2, 5, 6), (4, 5, 0, 1, 6, 3)) - l2new.abab += einsum(tmp525, (0, 1, 2, 3, 4, 5), t1.aa, (0, 3), (4, 5, 1, 2)) * -2 - del tmp525 - l2new.abab += einsum(tmp285, (0, 1, 2, 3), v.aabb.ovvv, (4, 5, 1, 3), (5, 2, 4, 0)) * -6 - del tmp285 - tmp529 = np.copy(np.transpose(tmp526, (0, 2, 1, 3, 4, 5))) * -1 - del tmp526 - tmp529 += np.transpose(tmp527, (0, 2, 1, 3, 4, 5)) - del tmp527 - tmp529 += np.transpose(tmp528, (0, 2, 1, 3, 4, 5)) * -1 - del tmp528 - tmp529 += einsum(tmp109, (0, 1, 2, 3), l3.babbab, (4, 5, 6, 7, 0, 2), (1, 3, 7, 5, 4, 6)) * -1 - tmp529 += einsum(tmp257, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 6, 3), (4, 6, 0, 5, 2, 1)) * -1 - del tmp257 - l2new.abab += einsum(tmp529, (0, 1, 2, 3, 4, 5), t1.bb, (1, 5), (3, 4, 0, 2)) * -2 - del tmp529 - l2new.abab += einsum(v.aaaa.ovov, (0, 1, 2, 3), tmp530, (2, 4, 3, 5), (1, 5, 0, 4)) - del tmp530 - tmp531 = np.copy(np.transpose(l2.bbbb, (2, 3, 0, 1))) - tmp531 += np.transpose(tmp252, (1, 0, 3, 2)) * 0.49999999999998 - del tmp252 - tmp531 += np.transpose(tmp253, (1, 0, 3, 2)) * 2 - del tmp253 - tmp531 += np.transpose(tmp254, (1, 0, 3, 2)) * 4.4999999999998215 - del tmp254 - l2new.abab += einsum(v.aabb.ovov, (0, 1, 2, 3), tmp531, (2, 4, 3, 5), (1, 5, 0, 4)) * 2 - del tmp531 - l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp409, (2, 4, 0, 5), (5, 1, 4, 3)) - del tmp409 - l2new.abab += einsum(l2.bbbb, (0, 1, 2, 3), tmp411, (4, 3, 5, 1), (5, 0, 4, 2)) * 2 - del tmp411 - l2new.abab += einsum(tmp77, (0, 1, 2, 3), tmp532, (0, 2, 4, 5), (3, 5, 1, 4)) * -2 - l2new.abab += einsum(v.aaaa.ovoo, (0, 1, 2, 3), tmp212, (2, 3, 4, 5), (1, 5, 0, 4)) * -1 - l2new.abab += einsum(v.aabb.ovoo, (0, 1, 2, 3), tmp293, (2, 4, 3, 5), (1, 5, 0, 4)) * 2 - del tmp293 - l2new.abab += einsum(tmp533, (0, 1, 2, 3), tmp140, (4, 0, 2, 5), (5, 3, 4, 1)) * 6 - del tmp533 - l2new.abab += einsum(tmp160, (0, 1), tmp16, (2, 3, 1, 4), (3, 4, 0, 2)) * -2 - l2new.abab += einsum(tmp166, (0, 1), l2.abab, (2, 3, 0, 4), (2, 3, 1, 4)) * -1 - del tmp166 - l2new.abab += einsum(l1.bb, (0, 1), tmp433, (2, 3), (3, 0, 2, 1)) - del tmp433 - l2new.abab += einsum(v.aabb.vvov, (0, 1, 2, 3), l1.aa, (1, 4), (0, 3, 4, 2)) - l2new.abab += einsum(tmp305, (0, 1, 2, 3), tmp8, (4, 5, 2, 1), (5, 3, 4, 0)) * -2 - del tmp305 - l2new.abab += einsum(tmp5, (0, 1, 2, 3), v.aabb.vvov, (1, 3, 4, 5), (2, 5, 0, 4)) * -2 - tmp534 = np.copy(np.transpose(l2.aaaa, (2, 3, 0, 1))) * 0.22222222222223104 - tmp534 += np.transpose(tmp33, (1, 0, 3, 2)) - del tmp33 - tmp534 += np.transpose(tmp34, (1, 0, 3, 2)) * 0.44444444444444453 - del tmp34 - tmp534 += np.transpose(tmp35, (1, 0, 3, 2)) * 0.11111111111111108 - del tmp35 - l2new.abab += einsum(tmp534, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 5), (3, 5, 1, 4)) * 9 - del tmp534 - l2new.abab += einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp405, (4, 2, 5, 3), (5, 1, 4, 0)) * 3 - del tmp405 - l2new.abab += einsum(tmp535, (0, 1, 2, 3), l2.abab, (4, 2, 5, 0), (4, 3, 5, 1)) - del tmp535 - tmp538 = np.copy(np.transpose(tmp536, (0, 2, 1, 3, 4, 5))) * 0.5 - tmp538 += np.transpose(tmp536, (0, 2, 1, 3, 5, 4)) * -0.5 - del tmp536 - tmp537 = einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp8, (4, 5, 6, 1), (4, 0, 2, 5, 3, 6)) - tmp538 += np.transpose(tmp537, (0, 2, 1, 3, 5, 4)) - l2new.abab += einsum(tmp538, (0, 1, 2, 3, 4, 5), t1.bb, (2, 4), (3, 5, 0, 1)) * -2 - del tmp538 - tmp540 = np.copy(np.transpose(tmp539, (1, 0, 2, 3, 4, 5))) * -0.3333333333333333 - del tmp539 - tmp540 += einsum(v.aabb.ovov, (0, 1, 2, 3), tmp5, (4, 5, 6, 1), (0, 4, 2, 6, 5, 3)) * -0.3333333333333333 - del tmp5 - l2new.abab += einsum(t1.aa, (0, 1), tmp540, (0, 2, 3, 4, 1, 5), (4, 5, 2, 3)) * -6 - del tmp540 - l2new.abab += einsum(l2.aaaa, (0, 1, 2, 3), tmp541, (3, 4, 1, 5), (0, 5, 2, 4)) * 2 - del tmp541 - l2new.abab += einsum(v.aabb.ooov, (0, 1, 2, 3), tmp79, (0, 4, 1, 5), (5, 3, 4, 2)) * 2 - del tmp79 - l2new.abab += einsum(tmp99, (0, 1, 2, 3), tmp416, (0, 4, 1, 5), (5, 3, 4, 2)) * 6 - del tmp99, tmp416 - l2new.abab += einsum(tmp206, (0, 1, 2, 3), tmp227, (1, 4, 2, 5), (3, 5, 0, 4)) * -1 - l2new.abab += einsum(tmp206, (0, 1, 2, 3), v.bbbb.ovoo, (4, 5, 1, 2), (3, 5, 0, 4)) * -1 - l2new.abab += einsum(tmp543, (0, 1), l1.aa, (2, 3), (2, 1, 3, 0)) - del tmp543 - l2new.abab += einsum(v.aabb.vvoo, (0, 1, 2, 3), l2.abab, (1, 4, 5, 3), (0, 4, 5, 2)) * -1 - l2new.abab += einsum(tmp515, (0, 1, 2, 3, 4, 5), v.aabb.ovoo, (1, 4, 6, 2), (3, 5, 0, 6)) * -4 - tmp545 = np.copy(np.transpose(v.aabb.ovoo, (0, 2, 3, 1))) - tmp545 += tmp236 * -1 - del tmp236 - tmp545 += tmp237 - del tmp237 - tmp545 += tmp238 * 2 - del tmp238 - tmp545 += tmp239 * 2 - del tmp239 - tmp545 += np.transpose(tmp544, (0, 2, 1, 3)) - del tmp544 - l2new.abab += einsum(tmp545, (0, 1, 2, 3), l3.abaaba, (4, 5, 3, 6, 1, 0), (4, 5, 6, 2)) * -2 - del tmp545 - tmp546 = np.copy(np.transpose(v.bbbb.ovoo, (0, 2, 3, 1))) - tmp546 += np.transpose(tmp243, (0, 2, 1, 3)) - del tmp243 - tmp546 += np.transpose(tmp244, (1, 0, 2, 3)) - del tmp244 - tmp546 += np.transpose(tmp245, (1, 0, 2, 3)) * -1 - del tmp245 - tmp546 += np.transpose(tmp246, (1, 0, 2, 3)) * -3 - del tmp246 - l2new.abab += einsum(tmp546, (0, 1, 2, 3), l3.babbab, (4, 5, 3, 0, 6, 1), (5, 4, 6, 2)) * 2 - del tmp546 - l2new.abab += einsum(tmp548, (0, 1, 2, 3, 4, 5), tmp547, (1, 6, 2, 5), (3, 4, 0, 6)) * 4 - del tmp547 - tmp557 = np.copy(tmp204) * 0.5 - tmp557 += einsum(tmp549, (0, 1, 2, 3, 4, 5, 6, 7), t1.bb, (1, 7), (0, 2, 3, 4, 5, 6)) * -1 - del tmp549 - tmp557 += tmp550 * -1 - del tmp550 - tmp552 = np.copy(np.transpose(v.aabb.ovov, (0, 2, 1, 3))) - tmp552 += tmp551 * -1 - del tmp551 - tmp557 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), tmp552, (5, 6, 2, 7), (3, 4, 6, 0, 1, 7)) - del tmp552 - tmp553 = einsum(tmp548, (0, 1, 2, 3, 4, 5), tmp229, (2, 6, 5, 7), (0, 6, 1, 3, 7, 4)) * 2 - tmp557 += np.transpose(tmp553, (0, 2, 1, 3, 5, 4)) * -1 - tmp557 += einsum(tmp249, (0, 1, 2, 3), l3.babbab, (4, 5, 2, 6, 7, 0), (7, 6, 1, 5, 4, 3)) - tmp555 = np.copy(tmp515) - tmp555 += tmp554 * 0.5 - tmp557 += einsum(v.aabb.ovov, (0, 1, 2, 3), tmp555, (4, 0, 5, 6, 1, 7), (4, 5, 2, 6, 7, 3)) * 2 - del tmp555 - tmp556 = np.copy(v.bbbb.oooo) - tmp556 += np.transpose(tmp263, (1, 3, 0, 2)) - del tmp263 - tmp556 += np.transpose(tmp272, (2, 1, 0, 3)) - tmp556 += np.transpose(tmp272, (2, 3, 0, 1)) * -1 - del tmp272 - tmp557 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), tmp556, (3, 6, 5, 7), (4, 6, 7, 1, 0, 2)) - del tmp556 - l2new.abab += einsum(tmp557, (0, 1, 2, 3, 4, 5), t1.bb, (1, 5), (3, 4, 0, 2)) * -2 - del tmp557 - l2new.abab += np.transpose(tmp205, (2, 3, 0, 1)) * -1 - del tmp205 - tmp559 = np.copy(np.transpose(tmp558, (1, 0, 2, 4, 3, 5))) * -1 - del tmp558 - tmp559 += einsum(tmp140, (0, 1, 2, 3), tmp473, (4, 5, 0, 1, 6, 7), (5, 4, 2, 3, 6, 7)) - del tmp140, tmp473 - tmp559 += np.transpose(tmp472, (1, 0, 2, 4, 3, 5)) - del tmp472 - tmp559 += einsum(tmp109, (0, 1, 2, 3), l3.abaaba, (4, 5, 6, 7, 2, 0), (7, 1, 3, 4, 6, 5)) - del tmp109 - l2new.abab += einsum(t1.aa, (0, 1), tmp559, (2, 0, 3, 1, 4, 5), (4, 5, 2, 3)) * -2 - del tmp559 - l2new.abab += einsum(tmp8, (0, 1, 2, 3), tmp319, (4, 3), (1, 2, 0, 4)) * -2 - del tmp8 - l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp326, (3, 4), (0, 1, 2, 4)) * -1 - del tmp326 - l2new.abab += einsum(tmp512, (0, 1, 2, 3, 4, 5), v.aabb.vvov, (6, 3, 2, 5), (6, 4, 0, 1)) * 2 - l2new.abab += np.transpose(tmp203, (2, 3, 0, 1)) - del tmp203 - l2new.abab += einsum(v.aabb.ovoo, (0, 1, 2, 3), tmp560, (4, 0, 5, 2, 3, 6), (1, 6, 4, 5)) * 2 - tmp561 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), v.aaaa.ovvv, (5, 0, 6, 2), (3, 4, 6, 1)) - l2new.abab += np.transpose(tmp561, (2, 3, 0, 1)) * -2 - del tmp561 - tmp563 = einsum(tmp562, (0, 1, 2, 3, 4, 5), v.aaaa.ooov, (1, 2, 3, 6), (0, 4, 6, 5)) - del tmp562 - l2new.abab += np.transpose(tmp563, (2, 3, 0, 1)) * -2 - del tmp563 - tmp564 = np.copy(np.transpose(v.aabb.vvov, (2, 0, 1, 3))) - tmp564 += tmp170 * -0.5 - tmp564 += np.transpose(tmp171, (0, 2, 1, 3)) - tmp564 += einsum(t2.abab, (0, 1, 2, 3), tmp172, (0, 2, 4, 5), (1, 5, 4, 3)) * 0.5 - del tmp172 - l2new.abab += einsum(tmp564, (0, 1, 2, 3), l3.babbab, (4, 1, 3, 5, 6, 0), (2, 4, 6, 5)) * 2 - del tmp564 - l2new.abab += einsum(tmp515, (0, 1, 2, 3, 4, 5), tmp448, (1, 4, 3, 6), (6, 5, 0, 2)) * -4 - del tmp448 - tmp566 = einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), l3.abaaba, (4, 6, 5, 7, 8, 2), (7, 0, 1, 8, 3, 6)) - tmp565 = einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), l3.babbab, (6, 5, 4, 7, 8, 1), (8, 0, 2, 7, 3, 6)) - tmp566 += np.transpose(tmp565, (0, 2, 1, 3, 4, 5)) * -0.33333333333333315 - l2new.abab += einsum(v.aaaa.ovov, (0, 1, 2, 3), tmp566, (4, 0, 2, 5, 3, 6), (1, 6, 4, 5)) * 6 - del tmp566 - tmp568 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (6, 7, 5, 0, 8, 2), (3, 6, 4, 7, 1, 8)) - tmp567 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), l3.babbab, (6, 4, 5, 7, 8, 2), (8, 1, 7, 0, 6, 3)) - tmp568 += tmp567 - l2new.abab += einsum(tmp568, (0, 1, 2, 3, 4, 5), v.aabb.ovov, (1, 6, 3, 5), (6, 4, 0, 2)) * -2 - del tmp568 - tmp575 = np.copy(tmp97) - del tmp97 - tmp575 += np.transpose(tmp569, (1, 0, 2, 4, 3, 5)) * 2 - del tmp569 - tmp575 += tmp570 * -1 - tmp575 += tmp518 - tmp575 += tmp520 * 2 - del tmp520 - tmp575 += tmp522 * -1 - tmp575 += np.transpose(tmp571, (1, 0, 2, 3, 4, 5)) * 2 - tmp575 += np.transpose(tmp571, (1, 0, 2, 4, 3, 5)) * -2 - del tmp571 - tmp572 = np.copy(np.transpose(v.aabb.ovov, (0, 2, 1, 3))) * 2 - tmp572 += tmp1 * 2 - tmp572 += tmp18 - tmp575 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), tmp572, (6, 5, 7, 2), (4, 6, 3, 1, 7, 0)) - del tmp572 - tmp575 += tmp524 - tmp575 += einsum(tmp60, (0, 1, 2, 3), tmp515, (4, 0, 5, 6, 2, 7), (4, 1, 5, 6, 3, 7)) * 4 - del tmp60 - tmp575 += einsum(tmp574, (0, 1, 2, 3, 4, 5), v.aaaa.ovov, (2, 6, 3, 7), (1, 0, 4, 7, 6, 5)) * 2 - del tmp574 - l2new.abab += einsum(tmp575, (0, 1, 2, 3, 4, 5), t1.aa, (1, 3), (4, 5, 0, 2)) * -1 - del tmp575 - tmp583 = np.copy(np.transpose(tmp576, (0, 2, 1, 3, 5, 4))) * 0.5 - tmp583 += np.transpose(tmp578, (0, 1, 2, 3, 5, 4)) * -1 - del tmp578 - tmp583 += np.transpose(tmp580, (0, 2, 1, 3, 5, 4)) * -0.5 - tmp581 = einsum(v.aabb.ovov, (0, 1, 2, 3), tmp560, (4, 0, 5, 6, 2, 7), (4, 5, 6, 1, 7, 3)) - del tmp560 - tmp583 += np.transpose(tmp581, (0, 2, 1, 3, 5, 4)) * 0.5 - tmp582 = np.copy(np.transpose(v.aabb.vvoo, (2, 3, 0, 1))) * 2 - tmp582 += tmp182 * -1 - tmp583 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), tmp582, (5, 6, 1, 7), (4, 3, 6, 7, 0, 2)) * -0.5 - del tmp582 - l2new.abab += einsum(tmp583, (0, 1, 2, 3, 4, 5), t1.bb, (2, 4), (3, 5, 0, 1)) * -2 - del tmp583 - tmp585 = np.copy(tmp184) - tmp585 += einsum(t1.aa, (0, 1), tmp100, (2, 3, 4, 1), (2, 0, 3, 4)) - tmp585 += tmp185 * 2 - tmp585 += tmp186 - tmp584 = np.copy(tmp120) * 2 - tmp584 += tmp121 - tmp585 += einsum(t1.bb, (0, 1), tmp584, (2, 3, 4, 1), (2, 3, 4, 0)) * 2 - del tmp584 - l2new.abab += einsum(v.aabb.ovov, (0, 1, 2, 3), tmp585, (4, 0, 5, 2), (1, 3, 4, 5)) * 0.5 - del tmp585 - tmp586 = np.copy(tmp120) - del tmp120 - tmp586 += tmp121 * 0.5 - l2new.abab += einsum(tmp586, (0, 1, 2, 3), v.aabb.ovvv, (1, 4, 5, 3), (4, 5, 0, 2)) * -2 - del tmp586 - l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp223, (0, 4), (4, 1, 2, 3)) * -1 - del tmp223 - l2new.abab += einsum(tmp589, (0, 1), tmp590, (2, 0, 3, 4), (1, 4, 2, 3)) * -1 - del tmp589, tmp590 - tmp591 = einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), l3.babbab, (4, 6, 5, 7, 8, 2), (8, 7, 0, 1, 6, 3)) - tmp592 = einsum(tmp591, (0, 1, 2, 3, 4, 5), v.bbbb.ovov, (3, 5, 2, 6), (0, 1, 4, 6)) - del tmp591 - l2new.abab += np.transpose(tmp592, (2, 3, 0, 1)) * 6 - del tmp592 - l2new.abab += einsum(v.aabb.vvov, (0, 1, 2, 3), tmp369, (4, 5, 2, 6, 0, 1), (6, 3, 4, 5)) * -2 - del tmp369 - l2new.abab += einsum(tmp593, (0, 1, 2, 3, 4, 5), v.bbbb.ooov, (2, 3, 4, 6), (5, 6, 0, 1)) * -2 - del tmp593 - tmp594 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.babbab, (6, 5, 7, 8, 2, 1), (3, 4, 6, 7, 0, 8)) - l2new.abab += einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp594, (4, 5, 2, 0, 6, 3), (6, 1, 4, 5)) * -4 - del tmp594 - tmp595 = einsum(v.aabb.ooov, (0, 1, 2, 3), tmp440, (4, 0, 1, 5, 2, 6), (4, 5, 6, 3)) - del tmp440 - l2new.abab += np.transpose(tmp595, (2, 3, 0, 1)) * 2 - del tmp595 - tmp596 = np.copy(np.transpose(v.bbbb.ovvv, (0, 2, 3, 1))) * 2 - tmp596 += np.transpose(tmp334, (0, 1, 3, 2)) * -1 - tmp596 += einsum(t2.bbbb, (0, 1, 2, 3), tmp267, (1, 4, 3, 5), (0, 2, 4, 5)) * -2 - del tmp267 - l2new.abab += einsum(tmp596, (0, 1, 2, 3), l3.babbab, (1, 4, 3, 5, 6, 0), (4, 2, 6, 5)) - del tmp596 - tmp597 = np.copy(v.bbbb.ovvv) * -1 - tmp597 += np.transpose(v.bbbb.ovvv, (0, 2, 1, 3)) - l2new.abab += einsum(tmp512, (0, 1, 2, 3, 4, 5), tmp597, (2, 6, 5, 4), (3, 6, 0, 1)) * 2 - del tmp512, tmp597 - tmp598 = np.copy(np.transpose(l3.abaaba, (3, 5, 4, 0, 2, 1))) - tmp598 += np.transpose(tmp515, (1, 0, 2, 4, 3, 5)) * 4 - l2new.abab += einsum(v.aabb.ovvv, (0, 1, 2, 3), tmp598, (0, 4, 5, 1, 6, 3), (6, 2, 4, 5)) - del tmp598 - tmp600 = einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), l3.abaaba, (6, 4, 5, 7, 8, 2), (7, 0, 8, 1, 6, 3)) - tmp599 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), l3.babbab, (3, 6, 5, 7, 8, 2), (8, 1, 7, 0, 6, 4)) - tmp600 += tmp599 * 0.2499999999999999 - l2new.abab += einsum(v.aabb.ovov, (0, 1, 2, 3), tmp600, (4, 0, 5, 2, 6, 1), (6, 3, 4, 5)) * -4 - del tmp600 - tmp609 = np.copy(tmp204) - del tmp204 - tmp609 += np.transpose(tmp601, (0, 2, 1, 3, 5, 4)) - tmp609 += tmp602 * -2 - del tmp602 - tmp609 += np.transpose(tmp603, (0, 2, 1, 3, 4, 5)) - tmp609 += np.transpose(tmp603, (0, 2, 1, 3, 5, 4)) * -1 - tmp604 = np.copy(np.transpose(v.aabb.ovov, (0, 2, 1, 3))) - tmp604 += einsum(tmp229, (0, 1, 2, 3), t2.abab, (4, 0, 5, 2), (4, 1, 5, 3)) * -2 - del tmp229 - tmp609 += einsum(tmp604, (0, 1, 2, 3), l3.abaaba, (4, 5, 2, 6, 7, 0), (6, 7, 1, 4, 5, 3)) - del tmp604 - tmp609 += np.transpose(tmp553, (0, 2, 1, 3, 5, 4)) * -1 - del tmp553 - tmp609 += einsum(tmp249, (0, 1, 2, 3), l3.babbab, (4, 5, 2, 6, 7, 0), (7, 6, 1, 5, 4, 3)) * 2 - del tmp249 - tmp605 = np.copy(tmp515) - del tmp515 - tmp605 += tmp554 * 0.25 - tmp609 += einsum(tmp605, (0, 1, 2, 3, 4, 5), v.aabb.ovov, (1, 4, 6, 7), (0, 2, 6, 3, 5, 7)) * 4 - del tmp605 - tmp608 = einsum(tmp607, (0, 1, 2, 3, 4, 5), v.bbbb.ovov, (3, 6, 4, 7), (0, 1, 2, 5, 6, 7)) - del tmp607 - tmp609 += np.transpose(tmp608, (0, 2, 1, 3, 5, 4)) - l2new.abab += einsum(tmp609, (0, 1, 2, 3, 4, 5), t1.bb, (2, 4), (3, 5, 0, 1)) * -1 - del tmp609 - tmp611 = np.copy(np.transpose(tmp396, (0, 1, 2, 4, 3, 5))) * 0.5 - tmp611 += np.transpose(tmp468, (1, 0, 2, 4, 3, 5)) - del tmp468 - tmp611 += np.transpose(tmp610, (0, 1, 2, 4, 3, 5)) * -0.5 - tmp611 += np.transpose(tmp469, (1, 0, 2, 4, 3, 5)) * -1 - del tmp469 - tmp611 += np.transpose(tmp471, (1, 0, 2, 4, 3, 5)) * -1 - del tmp471 - tmp611 += np.transpose(tmp399, (0, 1, 2, 4, 3, 5)) * -1 - del tmp399 - tmp611 += np.transpose(tmp476, (1, 0, 2, 3, 4, 5)) - del tmp476 - l2new.abab += einsum(t1.aa, (0, 1), tmp611, (2, 0, 3, 1, 4, 5), (4, 5, 2, 3)) * -2 - del tmp611 - tmp613 = np.copy(tmp184) - del tmp184 - tmp613 += tmp185 * 2 - del tmp185 - tmp613 += tmp186 - tmp612 = np.copy(tmp100) - del tmp100 - tmp612 += tmp49 * 4 - tmp612 += tmp50 * 2 - tmp613 += einsum(t1.aa, (0, 1), tmp612, (2, 3, 4, 1), (2, 0, 3, 4)) - del tmp612 - l2new.abab += einsum(tmp613, (0, 1, 2, 3), v.aabb.ovov, (1, 4, 3, 5), (4, 5, 0, 2)) * 0.5 - del tmp613 - tmp614 = np.copy(tmp49) - del tmp49 - tmp614 += tmp50 * 0.5 - l2new.abab += einsum(v.aabb.vvov, (0, 1, 2, 3), tmp614, (4, 5, 2, 1), (0, 3, 4, 5)) * -2 - del tmp614 - l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp362, (1, 4), (0, 4, 2, 3)) * -1 - del tmp362 - l2new.abab += einsum(tmp615, (0, 1, 2, 3), tmp319, (2, 4), (3, 4, 0, 1)) * -2 - del tmp615 - l2new.abab += einsum(v.aabb.ovvv, (0, 1, 2, 3), tmp121, (4, 0, 5, 3), (1, 2, 4, 5)) * -1 - l2new.abab += einsum(tmp567, (0, 1, 2, 3, 4, 5), v.aabb.ovov, (1, 6, 3, 5), (6, 4, 0, 2)) * -2 - del tmp567 - l2new.abab += einsum(tmp565, (0, 1, 2, 3, 4, 5), v.aaaa.ovov, (2, 4, 1, 6), (6, 5, 0, 3)) * 2 - del tmp565 - tmp617 = np.copy(tmp170) * -1 - del tmp170 - tmp617 += np.transpose(tmp171, (0, 2, 1, 3)) * 2 - del tmp171 - tmp616 = np.copy(v.aaaa.ovvv) - tmp616 += np.transpose(v.aaaa.ovvv, (0, 2, 1, 3)) * -1 - tmp617 += einsum(tmp616, (0, 1, 2, 3), t2.abab, (0, 4, 1, 5), (4, 3, 2, 5)) - del tmp616 - l2new.abab += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), tmp617, (5, 1, 6, 2), (6, 0, 4, 3)) - del tmp617 - tmp619 = np.copy(tmp570) * -1 - del tmp570 - tmp619 += tmp518 - del tmp518 - tmp619 += tmp522 * -1 - del tmp522 - tmp618 = np.copy(tmp1) * 2 - del tmp1 - tmp618 += tmp18 - del tmp18 - tmp619 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), tmp618, (6, 5, 7, 2), (4, 6, 3, 1, 7, 0)) - del tmp618 - tmp619 += tmp524 - del tmp524 - l2new.abab += einsum(t1.aa, (0, 1), tmp619, (2, 0, 3, 1, 4, 5), (4, 5, 2, 3)) * -1 - del tmp619 - tmp621 = np.copy(np.transpose(tmp576, (0, 2, 1, 3, 4, 5))) * -1 - del tmp576 - tmp621 += np.transpose(tmp580, (0, 2, 1, 3, 4, 5)) - del tmp580 - tmp621 += np.transpose(tmp581, (0, 2, 1, 3, 4, 5)) * -1 - del tmp581 - tmp621 += np.transpose(tmp620, (0, 2, 1, 3, 5, 4)) - del tmp620 - l2new.abab += einsum(tmp621, (0, 1, 2, 3, 4, 5), t1.bb, (1, 5), (3, 4, 0, 2)) * -1 - del tmp621 - tmp622 = np.copy(tmp186) - tmp622 += einsum(t1.bb, (0, 1), tmp121, (2, 3, 4, 1), (2, 3, 4, 0)) * 2 - l2new.abab += einsum(v.aabb.ovov, (0, 1, 2, 3), tmp622, (4, 0, 5, 2), (1, 3, 4, 5)) * 0.49999999999997996 - del tmp622 - l2new.abab += einsum(tmp160, (0, 1), tmp121, (2, 0, 3, 4), (1, 4, 2, 3)) * -1 - del tmp160, tmp121 - l2new.abab += einsum(tmp50, (0, 1, 2, 3), v.aabb.vvov, (4, 3, 2, 5), (4, 5, 0, 1)) * -1 - l2new.abab += einsum(v.aabb.ovov, (0, 1, 2, 3), tmp599, (4, 0, 5, 2, 6, 1), (6, 3, 4, 5)) * -1 - del tmp599 - l2new.abab += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), v.aabb.ovvv, (5, 2, 6, 1), (0, 6, 3, 4)) - tmp624 = np.copy(np.transpose(tmp334, (0, 1, 3, 2))) - del tmp334 - tmp623 = np.copy(v.bbbb.ovvv) - tmp623 += np.transpose(v.bbbb.ovvv, (0, 2, 1, 3)) * -1 - tmp624 += einsum(t2.bbbb, (0, 1, 2, 3), tmp623, (1, 4, 3, 5), (0, 2, 4, 5)) * -2 - del tmp623 - l2new.abab += einsum(tmp624, (0, 1, 2, 3), l3.babbab, (1, 4, 3, 5, 6, 0), (4, 2, 6, 5)) * -1 - del tmp624 - tmp626 = np.copy(np.transpose(tmp601, (0, 2, 1, 3, 5, 4))) * -1 - del tmp601 - tmp626 += np.transpose(tmp603, (0, 2, 1, 3, 4, 5)) * -1 - tmp626 += np.transpose(tmp603, (0, 2, 1, 3, 5, 4)) - del tmp603 - tmp626 += einsum(tmp251, (0, 1, 2, 3), tmp548, (4, 5, 0, 6, 7, 2), (4, 5, 1, 6, 7, 3)) * -2 - del tmp548, tmp251 - tmp625 = np.copy(np.transpose(l3.abaaba, (3, 5, 4, 0, 2, 1))) - tmp625 += np.transpose(tmp554, (1, 0, 2, 4, 3, 5)) - del tmp554 - tmp626 += einsum(v.aabb.ovov, (0, 1, 2, 3), tmp625, (0, 4, 5, 1, 6, 7), (4, 5, 2, 6, 7, 3)) * -1 - del tmp625 - tmp626 += np.transpose(tmp608, (0, 2, 1, 3, 5, 4)) * -1 - del tmp608 - l2new.abab += einsum(tmp626, (0, 1, 2, 3, 4, 5), t1.bb, (2, 4), (3, 5, 0, 1)) - del tmp626 - tmp627 = np.copy(np.transpose(tmp396, (0, 1, 2, 4, 3, 5))) * -1 - del tmp396 - tmp627 += np.transpose(tmp610, (0, 1, 2, 4, 3, 5)) - del tmp610 - l2new.abab += einsum(t1.aa, (0, 1), tmp627, (2, 0, 3, 1, 4, 5), (4, 5, 2, 3)) - del tmp627 - tmp628 = np.copy(tmp186) - del tmp186 - tmp628 += einsum(t1.aa, (0, 1), tmp50, (2, 3, 4, 1), (2, 0, 3, 4)) * 2 - l2new.abab += einsum(v.aabb.ovov, (0, 1, 2, 3), tmp628, (4, 0, 5, 2), (1, 3, 4, 5)) * 0.49999999999997996 - del tmp628 - l2new.abab += einsum(tmp50, (0, 1, 2, 3), tmp319, (2, 4), (3, 4, 0, 1)) * -1 - del tmp319, tmp50 - l2new.abab += einsum(tmp364, (0, 1), v.aabb.ovov, (2, 1, 3, 4), (0, 4, 2, 3)) * -1 - del tmp364 - l2new.abab += einsum(tmp629, (0, 1, 2, 3), l1.aa, (4, 0), (4, 3, 1, 2)) * -1 - l2new.abab += np.transpose(tmp102, (2, 3, 0, 1)) - del tmp102 - l2new.abab += np.transpose(tmp106, (2, 3, 0, 1)) - del tmp106 - l2new.abab += np.transpose(tmp105, (2, 3, 0, 1)) - del tmp105 - l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp631, (2, 4, 3, 5), (0, 1, 4, 5)) - del tmp631 - l2new.abab += einsum(tmp111, (0, 1, 2, 3, 4, 5), t1.bb, (2, 4), (3, 5, 0, 1)) * 2 - del tmp111 - l2new.abab += einsum(t1.aa, (0, 1), tmp76, (2, 0, 3, 1, 4, 5), (4, 5, 2, 3)) * 2 - l2new.abab += np.transpose(tmp98, (2, 3, 0, 1)) * -1 - del tmp98 - l2new.abab += einsum(v.aabb.oovv, (0, 1, 2, 3), l2.abab, (4, 3, 1, 5), (4, 2, 0, 5)) * -1 - l2new.abab += np.transpose(tmp101, (2, 3, 0, 1)) * -1 - del tmp101 - l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp182, (3, 4, 0, 5), (5, 1, 2, 4)) - del tmp182 - l2new.abab += einsum(tmp297, (0, 1, 2, 3), tmp532, (4, 0, 1, 5), (3, 5, 4, 2)) * 2 - del tmp297 - l2new.abab += einsum(tmp180, (0, 1, 2, 3), v.aabb.ovov, (1, 4, 5, 3), (4, 2, 0, 5)) * 2 - del tmp180 - l2new.abab += einsum(t1.aa, (0, 1), tmp76, (0, 2, 3, 4, 1, 5), (4, 5, 2, 3)) * 2 - del tmp76 - l2new.abab += einsum(v.aabb.ovov, (0, 1, 2, 3), tmp224, (4, 0), (1, 3, 4, 2)) * -1 - del tmp224 - l2new.abab += einsum(tmp103, (0, 1, 2, 3), l2.abab, (4, 2, 0, 5), (4, 3, 1, 5)) - del tmp103 - l2new.abab += einsum(tmp206, (0, 1, 2, 3), tmp629, (0, 4, 2, 5), (3, 5, 4, 1)) - del tmp629, tmp206 - l2new.abab += einsum(tmp43, (0, 1, 2, 3), v.aabb.ovov, (4, 3, 1, 5), (2, 5, 4, 0)) * 2 - del tmp43 - l2new.abab += np.transpose(tmp112, (2, 3, 0, 1)) * -1 - del tmp112 - l2new.abab += einsum(v.aabb.ovov, (0, 1, 2, 3), tmp632, (4, 2), (1, 3, 0, 4)) * -1 - del tmp632 - l2new.abab += einsum(tmp168, (0, 1, 2, 3), l2.abab, (2, 4, 0, 5), (3, 4, 1, 5)) * -2 - del tmp168 - l2new.abab += einsum(tmp167, (0, 1, 2, 3), l2.bbbb, (4, 3, 5, 1), (2, 4, 0, 5)) * -2 - del tmp167 - l2new.abab += einsum(l1.bb, (0, 1), tmp499, (2, 3), (3, 0, 2, 1)) * -1 - del tmp499 - tmp633 = np.copy(tmp259) - del tmp259 - tmp633 += tmp260 * 1.3333333333333335 - del tmp260 - tmp633 += tmp261 - del tmp261 - l2new.abab += einsum(tmp633, (0, 1, 2, 3), v.aaaa.ovov, (4, 2, 0, 5), (5, 3, 4, 1)) * -3 - del tmp633 - tmp634 = einsum(tmp16, (0, 1, 2, 3), v.aaaa.ovov, (4, 5, 6, 2), (4, 6, 0, 1, 5, 3)) * -1 - del tmp16 - l2new.abab += einsum(t1.aa, (0, 1), tmp634, (0, 2, 3, 1, 4, 5), (4, 5, 2, 3)) * -2 - del tmp634 - l2new.abab += einsum(tmp532, (0, 1, 2, 3), v.aaaa.ooov, (4, 0, 1, 5), (5, 3, 4, 2)) * 2 - del tmp532 - l2new.abab += einsum(tmp77, (0, 1, 2, 3), tmp212, (0, 1, 4, 5), (3, 5, 2, 4)) - del tmp77, tmp212 - l2new.abab += einsum(l2.aaaa, (0, 1, 2, 3), tmp327, (3, 4, 1, 5), (0, 5, 2, 4)) * -2 - del tmp327 - l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp328, (3, 4, 1, 5), (0, 5, 2, 4)) * -2 - del tmp328 - l2new.abab += einsum(tmp635, (0, 1), l1.aa, (2, 3), (2, 1, 3, 0)) * -1 - del tmp635 - tmp636 = np.copy(tmp37) * 0.7499999999999999 - del tmp37 - tmp636 += tmp38 - del tmp38 - tmp636 += tmp39 * 0.7499999999999999 - del tmp39 - l2new.abab += einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp636, (4, 2, 5, 1), (5, 3, 4, 0)) * -4 - del tmp636 - l2new.abab += einsum(tmp537, (0, 1, 2, 3, 4, 5), t1.bb, (2, 5), (3, 4, 0, 1)) * 2 - del tmp537 - l2new.abab += einsum(v.bbbb.ooov, (0, 1, 2, 3), tmp413, (4, 1, 2, 5), (5, 3, 4, 0)) * 2 - l2new.abab += einsum(tmp227, (0, 1, 2, 3), tmp413, (4, 0, 1, 5), (5, 3, 4, 2)) * 2 - del tmp227, tmp413 - - return {f"l1new": l1new, f"l2new": l2new, f"l3new": l3new} - -def make_rdm1_f(l1=None, l2=None, l3=None, t1=None, t2=None, t3=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-10-22T13:13:34.688883. - - Parameters - ---------- - l1 : Namespace of arrays - L1 amplitudes. - l2 : Namespace of arrays - L2 amplitudes. - l3 : Namespace of arrays - L3 amplitudes. - t1 : Namespace of arrays - T1 amplitudes. - t2 : Namespace of arrays - T2 amplitudes. - t3 : Namespace of arrays - T3 amplitudes. - - Returns - ------- - rdm1 : Namespace of arrays - One-particle reduced density matrix. - """ - - rdm1 = Namespace() - rdm1.aa = Namespace() - rdm1.bb = Namespace() - delta = Namespace( - aa=Namespace(oo=np.eye(t2.aaaa.shape[0]), vv=np.eye(t2.aaaa.shape[-1])), - bb=Namespace(oo=np.eye(t2.bbbb.shape[0]), vv=np.eye(t2.bbbb.shape[-1])), - ) - rdm1.aa.vo = np.copy(l1.aa) - rdm1.bb.vo = np.copy(l1.bb) - tmp0 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 0, 1), (2, 4)) - rdm1.aa.oo = np.copy(np.transpose(tmp0, (1, 0))) * -1 - tmp1 = einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), l3.aaaaaa, (3, 4, 5, 6, 1, 2), (6, 0)) - rdm1.aa.oo += np.transpose(tmp1, (1, 0)) * -3 - tmp2 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (6, 4, 5, 0, 1, 2), (3, 6)) - rdm1.aa.oo += np.transpose(tmp2, (1, 0)) * -2 - tmp3 = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (2, 3, 4, 1), (4, 0)) - rdm1.aa.oo += np.transpose(tmp3, (1, 0)) * -2 - rdm1.aa.oo += delta.aa.oo - tmp4 = einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (3, 6, 5, 0, 1, 2), (4, 6)) - rdm1.aa.oo += np.transpose(tmp4, (1, 0)) * -1 - tmp5 = einsum(t1.aa, (0, 1), l1.aa, (1, 2), (2, 0)) - rdm1.aa.oo += np.transpose(tmp5, (1, 0)) * -1 - tmp6 = einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (6, 4, 5, 0, 1, 2), (3, 6)) - rdm1.bb.oo = np.copy(np.transpose(tmp6, (1, 0))) * -2 - rdm1.bb.oo += delta.bb.oo - del delta - tmp7 = einsum(l1.bb, (0, 1), t1.bb, (2, 0), (1, 2)) - rdm1.bb.oo += np.transpose(tmp7, (1, 0)) * -1 - tmp8 = einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), t3.bbbbbb, (6, 4, 5, 0, 1, 2), (3, 6)) - rdm1.bb.oo += np.transpose(tmp8, (1, 0)) * -3 - tmp9 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (2, 3, 4, 1), (4, 0)) - rdm1.bb.oo += np.transpose(tmp9, (1, 0)) * -2 - tmp10 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 3, 0, 4), (4, 1)) - rdm1.bb.oo += np.transpose(tmp10, (1, 0)) * -1 - tmp11 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (3, 6, 5, 0, 1, 2), (4, 6)) - rdm1.bb.oo += np.transpose(tmp11, (1, 0)) * -1 - rdm1.aa.vv = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 4, 1), (0, 4)) - rdm1.aa.vv += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (3, 4, 5, 6, 1, 2), (0, 6)) * 2 - rdm1.aa.vv += einsum(t1.aa, (0, 1), l1.aa, (2, 0), (2, 1)) - rdm1.aa.vv += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (2, 3, 4, 1), (0, 4)) * 2 - rdm1.aa.vv += einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), l3.aaaaaa, (6, 4, 5, 0, 1, 2), (6, 3)) * 3 - rdm1.aa.vv += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), l3.babbab, (3, 6, 5, 0, 1, 2), (6, 4)) - rdm1.bb.vv = einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (3, 4, 5, 6, 1, 2), (0, 6)) * 2 - rdm1.bb.vv += einsum(l1.bb, (0, 1), t1.bb, (1, 2), (0, 2)) - rdm1.bb.vv += einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (4, 3, 0, 1), (4, 2)) * 2 - rdm1.bb.vv += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 0, 4), (1, 4)) - rdm1.bb.vv += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (3, 4, 5, 0, 6, 2), (1, 6)) - rdm1.bb.vv += einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), l3.bbbbbb, (6, 4, 5, 0, 1, 2), (6, 3)) * 3 - rdm1.aa.ov = einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), l2.aaaa, (4, 5, 1, 2), (0, 3)) * 3 - rdm1.aa.ov += einsum(l1.aa, (0, 1), t2.aaaa, (2, 1, 3, 0), (2, 3)) * 2 - rdm1.aa.ov += einsum(l2.bbbb, (0, 1, 2, 3), t3.babbab, (2, 4, 3, 0, 5, 1), (4, 5)) - rdm1.aa.ov += einsum(l1.bb, (0, 1), t2.abab, (2, 1, 3, 0), (2, 3)) - rdm1.aa.ov += t1.aa - rdm1.aa.ov += einsum(l2.abab, (0, 1, 2, 3), t3.abaaba, (4, 3, 2, 5, 1, 0), (4, 5)) * 2 - tmp12 = einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), t1.aa, (6, 2), (3, 4, 5, 6, 0, 1)) - rdm1.aa.ov += einsum(tmp12, (0, 1, 2, 3, 4, 5), t3.aaaaaa, (1, 2, 0, 6, 5, 4), (3, 6)) * 3 - del tmp12 - tmp13 = einsum(t1.aa, (0, 1), l3.babbab, (2, 1, 3, 4, 5, 6), (5, 0, 4, 6, 2, 3)) - rdm1.aa.ov += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), tmp13, (1, 6, 2, 0, 5, 3), (6, 4)) * -1 - del tmp13 - tmp14 = einsum(t1.aa, (0, 1), l3.abaaba, (2, 3, 1, 4, 5, 6), (4, 6, 0, 5, 2, 3)) - rdm1.aa.ov += einsum(tmp14, (0, 1, 2, 3, 4, 5), t3.abaaba, (1, 3, 0, 6, 5, 4), (2, 6)) * -2 - del tmp14 - tmp15 = einsum(t1.aa, (0, 1), l2.aaaa, (2, 1, 3, 4), (3, 4, 0, 2)) * 0.3333333333333333 - tmp15 += einsum(t2.aaaa, (0, 1, 2, 3), l3.aaaaaa, (4, 2, 3, 5, 6, 1), (5, 6, 0, 4)) - tmp15 += einsum(t2.abab, (0, 1, 2, 3), l3.abaaba, (4, 3, 2, 5, 1, 6), (5, 6, 0, 4)) * 0.3333333333333333 - rdm1.aa.ov += einsum(t2.aaaa, (0, 1, 2, 3), tmp15, (0, 1, 4, 3), (4, 2)) * 6 - del tmp15 - tmp16 = einsum(t1.aa, (0, 1), l2.abab, (1, 2, 3, 4), (3, 0, 4, 2)) - tmp16 += einsum(t2.aaaa, (0, 1, 2, 3), l3.abaaba, (2, 4, 3, 5, 6, 1), (5, 0, 6, 4)) * 2 - tmp16 += einsum(t2.abab, (0, 1, 2, 3), l3.babbab, (4, 2, 3, 5, 6, 1), (6, 0, 5, 4)) * 2 - rdm1.aa.ov += einsum(t2.abab, (0, 1, 2, 3), tmp16, (0, 4, 1, 3), (4, 2)) * -1 - del tmp16 - tmp17 = np.copy(tmp5) - del tmp5 - tmp17 += tmp3 * 2 - del tmp3 - tmp17 += tmp0 - del tmp0 - tmp17 += tmp1 * 3 - del tmp1 - tmp17 += tmp2 * 2 - del tmp2 - tmp17 += tmp4 - del tmp4 - rdm1.aa.ov += einsum(t1.aa, (0, 1), tmp17, (0, 2), (2, 1)) * -1 - del tmp17 - rdm1.bb.ov = np.copy(t1.bb) - rdm1.bb.ov += einsum(t2.abab, (0, 1, 2, 3), l1.aa, (2, 0), (1, 3)) - rdm1.bb.ov += einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), l2.bbbb, (4, 5, 1, 2), (0, 3)) * 3 - rdm1.bb.ov += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), l2.abab, (4, 5, 1, 2), (0, 3)) * 2 - rdm1.bb.ov += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), l2.aaaa, (3, 5, 0, 2), (1, 4)) - rdm1.bb.ov += einsum(l1.bb, (0, 1), t2.bbbb, (2, 1, 3, 0), (2, 3)) * 2 - tmp18 = einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), t1.bb, (6, 2), (3, 4, 5, 6, 0, 1)) - rdm1.bb.ov += einsum(tmp18, (0, 1, 2, 3, 4, 5), t3.bbbbbb, (1, 2, 0, 6, 5, 4), (3, 6)) * 3 - del tmp18 - tmp19 = einsum(t1.bb, (0, 1), l3.babbab, (2, 3, 1, 4, 5, 6), (5, 4, 6, 0, 3, 2)) - rdm1.bb.ov += einsum(tmp19, (0, 1, 2, 3, 4, 5), t3.babbab, (2, 0, 1, 6, 4, 5), (3, 6)) * -2 - del tmp19 - tmp20 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t1.bb, (6, 1), (3, 5, 4, 6, 0, 2)) - rdm1.bb.ov += einsum(tmp20, (0, 1, 2, 3, 4, 5), t3.abaaba, (1, 2, 0, 5, 6, 4), (3, 6)) * -1 - del tmp20 - tmp21 = einsum(t1.bb, (0, 1), l2.bbbb, (2, 1, 3, 4), (3, 4, 0, 2)) - tmp21 += einsum(t2.abab, (0, 1, 2, 3), l3.babbab, (4, 2, 3, 5, 0, 6), (5, 6, 1, 4)) - tmp21 += einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), t2.bbbb, (6, 5, 1, 2), (3, 4, 6, 0)) * 3 - rdm1.bb.ov += einsum(t2.bbbb, (0, 1, 2, 3), tmp21, (0, 1, 4, 3), (4, 2)) * 2 - del tmp21 - tmp22 = einsum(l2.abab, (0, 1, 2, 3), t1.bb, (4, 1), (2, 3, 4, 0)) * 0.5 - tmp22 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t2.abab, (5, 6, 2, 1), (3, 4, 6, 0)) - tmp22 += einsum(t2.bbbb, (0, 1, 2, 3), l3.babbab, (2, 4, 3, 5, 6, 1), (6, 5, 0, 4)) - rdm1.bb.ov += einsum(t2.abab, (0, 1, 2, 3), tmp22, (0, 1, 4, 2), (4, 3)) * -2 - del tmp22 - tmp23 = np.copy(tmp7) - del tmp7 - tmp23 += tmp10 - del tmp10 - tmp23 += tmp9 * 2 - del tmp9 - tmp23 += tmp11 - del tmp11 - tmp23 += tmp6 * 2 - del tmp6 - tmp23 += tmp8 * 3 - del tmp8 - rdm1.bb.ov += einsum(tmp23, (0, 1), t1.bb, (0, 2), (1, 2)) * -1 - del tmp23 - rdm1.aa = np.block([[rdm1.aa.oo, rdm1.aa.ov], [rdm1.aa.vo, rdm1.aa.vv]]) - rdm1.bb = np.block([[rdm1.bb.oo, rdm1.bb.ov], [rdm1.bb.vo, rdm1.bb.vv]]) - - return rdm1 - -def make_rdm2_f(l1=None, l2=None, l3=None, t1=None, t2=None, t3=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-10-22T13:24:43.753719. - - Parameters - ---------- - l1 : Namespace of arrays - L1 amplitudes. - l2 : Namespace of arrays - L2 amplitudes. - l3 : Namespace of arrays - L3 amplitudes. - t1 : Namespace of arrays - T1 amplitudes. - t2 : Namespace of arrays - T2 amplitudes. - t3 : Namespace of arrays - T3 amplitudes. - - Returns - ------- - rdm2 : Namespace of arrays - Two-particle reduced density matrix. - """ - - rdm2 = Namespace() - rdm2.aaaa = Namespace() - rdm2.abab = Namespace() - rdm2.bbbb = Namespace() - delta = Namespace( - aa=Namespace(oo=np.eye(t2.aaaa.shape[0]), vv=np.eye(t2.aaaa.shape[-1])), - bb=Namespace(oo=np.eye(t2.bbbb.shape[0]), vv=np.eye(t2.bbbb.shape[-1])), - ) - rdm2.aaaa.vvoo = np.copy(l2.aaaa) * 2 - rdm2.abab.vvoo = np.copy(l2.abab) - rdm2.bbbb.vvoo = np.copy(l2.bbbb) * 2 - rdm2.aaaa.ovoo = einsum(delta.aa.oo, (0, 1), l1.aa, (2, 3), (0, 2, 3, 1)) * -1 - rdm2.aaaa.ovoo += einsum(l1.aa, (0, 1), delta.aa.oo, (2, 3), (2, 0, 3, 1)) - tmp11 = einsum(t1.aa, (0, 1), l2.aaaa, (2, 1, 3, 4), (3, 4, 0, 2)) - rdm2.aaaa.ovoo += np.transpose(tmp11, (2, 3, 1, 0)) * -2 - tmp14 = einsum(t2.abab, (0, 1, 2, 3), l3.abaaba, (4, 3, 2, 5, 1, 6), (5, 6, 0, 4)) - rdm2.aaaa.ovoo += np.transpose(tmp14, (2, 3, 1, 0)) * -2 - tmp13 = einsum(t2.aaaa, (0, 1, 2, 3), l3.aaaaaa, (4, 2, 3, 5, 6, 1), (5, 6, 0, 4)) - rdm2.aaaa.ovoo += np.transpose(tmp13, (2, 3, 1, 0)) * -6 - rdm2.aaaa.vooo = einsum(delta.aa.oo, (0, 1), l1.aa, (2, 3), (2, 0, 3, 1)) - rdm2.aaaa.vooo += einsum(l1.aa, (0, 1), delta.aa.oo, (2, 3), (0, 2, 3, 1)) * -1 - rdm2.aaaa.vooo += np.transpose(tmp13, (3, 2, 1, 0)) * 6 - rdm2.aaaa.vooo += np.transpose(tmp11, (3, 2, 1, 0)) * 2 - rdm2.aaaa.vooo += np.transpose(tmp14, (3, 2, 1, 0)) * 2 - tmp185 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t2.aaaa, (3, 5, 6, 2), (4, 0, 6, 1)) - rdm2.abab.vvvo = np.copy(np.transpose(tmp185, (1, 3, 2, 0))) * 2 - tmp186 = einsum(t2.abab, (0, 1, 2, 3), l3.babbab, (4, 5, 3, 6, 0, 1), (6, 5, 2, 4)) - rdm2.abab.vvvo += np.transpose(tmp186, (1, 3, 2, 0)) * 2 - rdm2.abab.vvvo += einsum(l2.abab, (0, 1, 2, 3), t1.aa, (2, 4), (0, 1, 4, 3)) - tmp79 = einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), t2.aaaa, (4, 5, 6, 2), (3, 0, 1, 6)) - rdm2.aaaa.vvov = np.copy(np.transpose(tmp79, (2, 1, 0, 3))) * -6 - tmp80 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t2.abab, (5, 4, 6, 1), (3, 0, 2, 6)) - rdm2.aaaa.vvov += np.transpose(tmp80, (2, 1, 0, 3)) * -2 - tmp418 = einsum(l2.aaaa, (0, 1, 2, 3), t1.aa, (3, 4), (2, 0, 1, 4)) - rdm2.aaaa.vvov += np.transpose(tmp418, (2, 1, 0, 3)) * -2 - tmp419 = einsum(t1.bb, (0, 1), l2.abab, (2, 3, 4, 0), (4, 2, 3, 1)) - rdm2.abab.vvov = np.copy(np.transpose(tmp419, (1, 2, 0, 3))) - tmp117 = einsum(t2.abab, (0, 1, 2, 3), l3.abaaba, (4, 5, 2, 6, 1, 0), (6, 4, 5, 3)) - rdm2.abab.vvov += np.transpose(tmp117, (1, 2, 0, 3)) * 2 - tmp118 = einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t2.bbbb, (3, 5, 6, 2), (4, 1, 0, 6)) - rdm2.abab.vvov += np.transpose(tmp118, (1, 2, 0, 3)) * 2 - tmp154 = einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t2.abab, (4, 5, 1, 6), (3, 0, 2, 6)) - rdm2.bbbb.vvov = np.copy(np.transpose(tmp154, (2, 1, 0, 3))) * -2 - tmp155 = einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), t2.bbbb, (4, 5, 6, 2), (3, 0, 1, 6)) - rdm2.bbbb.vvov += np.transpose(tmp155, (2, 1, 0, 3)) * -6 - tmp420 = einsum(l2.bbbb, (0, 1, 2, 3), t1.bb, (3, 4), (2, 0, 1, 4)) - rdm2.bbbb.vvov += np.transpose(tmp420, (2, 1, 0, 3)) * -2 - rdm2.aaaa.vvvo = np.copy(np.transpose(tmp79, (2, 1, 3, 0))) * 6 - rdm2.aaaa.vvvo += np.transpose(tmp80, (2, 1, 3, 0)) * 2 - rdm2.aaaa.vvvo += np.transpose(tmp418, (2, 1, 3, 0)) * 2 - rdm2.bbbb.vvvo = np.copy(np.transpose(tmp154, (2, 1, 3, 0))) * 2 - rdm2.bbbb.vvvo += np.transpose(tmp155, (2, 1, 3, 0)) * 6 - rdm2.bbbb.vvvo += np.transpose(tmp420, (2, 1, 3, 0)) * 2 - rdm2.abab.ovoo = einsum(l1.bb, (0, 1), delta.aa.oo, (2, 3), (2, 0, 3, 1)) - tmp29 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t2.aaaa, (6, 5, 0, 2), (3, 6, 4, 1)) - rdm2.abab.ovoo += np.transpose(tmp29, (1, 3, 0, 2)) * -2 - tmp198 = einsum(t1.aa, (0, 1), l2.abab, (1, 2, 3, 4), (3, 0, 4, 2)) - rdm2.abab.ovoo += np.transpose(tmp198, (1, 3, 0, 2)) * -1 - tmp30 = einsum(t2.abab, (0, 1, 2, 3), l3.babbab, (4, 2, 3, 5, 6, 1), (6, 0, 5, 4)) - rdm2.abab.ovoo += np.transpose(tmp30, (1, 3, 0, 2)) * -2 - rdm2.bbbb.ovoo = einsum(l1.bb, (0, 1), delta.bb.oo, (2, 3), (2, 0, 1, 3)) * -1 - rdm2.bbbb.ovoo += einsum(delta.bb.oo, (0, 1), l1.bb, (2, 3), (0, 2, 1, 3)) - tmp40 = einsum(t1.bb, (0, 1), l2.bbbb, (2, 1, 3, 4), (3, 4, 0, 2)) - rdm2.bbbb.ovoo += np.transpose(tmp40, (2, 3, 1, 0)) * -2 - tmp42 = einsum(t2.abab, (0, 1, 2, 3), l3.babbab, (4, 2, 3, 5, 0, 6), (5, 6, 1, 4)) - rdm2.bbbb.ovoo += np.transpose(tmp42, (2, 3, 1, 0)) * -2 - tmp43 = einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), t2.bbbb, (6, 5, 1, 2), (3, 4, 6, 0)) - rdm2.bbbb.ovoo += np.transpose(tmp43, (2, 3, 1, 0)) * -6 - rdm2.abab.vooo = einsum(delta.bb.oo, (0, 1), l1.aa, (2, 3), (2, 0, 3, 1)) - tmp33 = einsum(t2.bbbb, (0, 1, 2, 3), l3.babbab, (2, 4, 3, 5, 6, 1), (6, 5, 0, 4)) - rdm2.abab.vooo += np.transpose(tmp33, (3, 2, 0, 1)) * -2 - tmp25 = einsum(l2.abab, (0, 1, 2, 3), t1.bb, (4, 1), (2, 3, 4, 0)) - rdm2.abab.vooo += np.transpose(tmp25, (3, 2, 0, 1)) * -1 - tmp32 = einsum(t2.abab, (0, 1, 2, 3), l3.abaaba, (4, 3, 2, 5, 6, 0), (5, 6, 1, 4)) - rdm2.abab.vooo += np.transpose(tmp32, (3, 2, 0, 1)) * -2 - rdm2.bbbb.vooo = einsum(l1.bb, (0, 1), delta.bb.oo, (2, 3), (0, 2, 1, 3)) - rdm2.bbbb.vooo += einsum(delta.bb.oo, (0, 1), l1.bb, (2, 3), (2, 0, 1, 3)) * -1 - rdm2.bbbb.vooo += np.transpose(tmp40, (3, 2, 1, 0)) * 2 - rdm2.bbbb.vooo += np.transpose(tmp42, (3, 2, 1, 0)) * 2 - rdm2.bbbb.vooo += np.transpose(tmp43, (3, 2, 1, 0)) * 6 - tmp236 = einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), l3.abaaba, (6, 4, 7, 0, 1, 2), (6, 7, 3, 5)) - rdm2.aaaa.vvvv = np.copy(np.transpose(tmp236, (1, 0, 3, 2))) * 2 - tmp235 = einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), t3.aaaaaa, (3, 4, 5, 6, 7, 2), (0, 1, 6, 7)) - rdm2.aaaa.vvvv += np.transpose(tmp235, (1, 0, 3, 2)) * 6 - tmp241 = einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (2, 3, 4, 5), (0, 1, 4, 5)) - rdm2.aaaa.vvvv += np.transpose(tmp241, (1, 0, 3, 2)) * 2 - tmp421 = np.copy(np.transpose(tmp418, (0, 2, 1, 3))) * -1 - del tmp418 - tmp421 += np.transpose(tmp79, (0, 2, 1, 3)) * -3 - tmp421 += np.transpose(tmp80, (0, 2, 1, 3)) * -1 - rdm2.aaaa.vvvv += einsum(t1.aa, (0, 1), tmp421, (0, 2, 3, 4), (3, 2, 1, 4)) * -2 - del tmp421 - tmp81 = np.copy(np.transpose(tmp79, (0, 2, 1, 3))) * -1 - tmp81 += np.transpose(tmp80, (0, 2, 1, 3)) * -0.3333333333333333 - rdm2.aaaa.vvvv += einsum(tmp81, (0, 1, 2, 3), t1.aa, (0, 4), (2, 1, 3, 4)) * 6 - tmp343 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), l3.babbab, (6, 4, 7, 0, 1, 2), (6, 7, 3, 5)) - rdm2.bbbb.vvvv = np.copy(np.transpose(tmp343, (1, 0, 3, 2))) * 2 - tmp344 = einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), l3.bbbbbb, (6, 7, 5, 0, 1, 2), (6, 7, 3, 4)) - rdm2.bbbb.vvvv += np.transpose(tmp344, (1, 0, 3, 2)) * 6 - tmp349 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (4, 5, 0, 1), (4, 5, 2, 3)) - rdm2.bbbb.vvvv += np.transpose(tmp349, (1, 0, 3, 2)) * 2 - tmp423 = np.copy(np.transpose(tmp420, (0, 2, 1, 3))) * -1 - del tmp420 - tmp423 += np.transpose(tmp154, (0, 2, 1, 3)) * -1 - tmp423 += np.transpose(tmp155, (0, 2, 1, 3)) * -3 - rdm2.bbbb.vvvv += einsum(tmp423, (0, 1, 2, 3), t1.bb, (0, 4), (2, 1, 4, 3)) * -2 - del tmp423 - tmp156 = np.copy(np.transpose(tmp154, (0, 2, 1, 3))) * -0.3333333333333333 - tmp156 += np.transpose(tmp155, (0, 2, 1, 3)) * -1 - rdm2.bbbb.vvvv += einsum(tmp156, (0, 1, 2, 3), t1.bb, (0, 4), (2, 1, 3, 4)) * 6 - tmp283 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (3, 4, 5, 6, 7, 2), (0, 6, 1, 7)) - rdm2.abab.vvvv = np.copy(np.transpose(tmp283, (0, 2, 1, 3))) * 2 - tmp284 = einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (3, 4, 5, 6, 7, 2), (1, 7, 0, 6)) - rdm2.abab.vvvv += np.transpose(tmp284, (0, 2, 1, 3)) * 2 - tmp287 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 4, 5), (0, 4, 1, 5)) - rdm2.abab.vvvv += np.transpose(tmp287, (0, 2, 1, 3)) - tmp422 = np.copy(tmp419) * 0.5 - del tmp419 - tmp422 += tmp117 - tmp422 += tmp118 - rdm2.abab.vvvv += einsum(tmp422, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3)) * 2 - del tmp422 - tmp187 = np.copy(tmp185) - del tmp185 - tmp187 += tmp186 - del tmp186 - rdm2.abab.vvvv += einsum(t1.bb, (0, 1), tmp187, (0, 2, 3, 4), (2, 4, 3, 1)) * 2 - tmp180 = einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), l3.abaaba, (4, 6, 5, 1, 7, 2), (0, 7, 3, 6)) - rdm2.abab.ovvo = np.copy(np.transpose(tmp180, (0, 3, 2, 1))) * 3 - tmp181 = einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), l3.babbab, (6, 5, 4, 7, 2, 1), (0, 7, 3, 6)) - rdm2.abab.ovvo += np.transpose(tmp181, (0, 3, 2, 1)) * 4 - rdm2.abab.ovvo += einsum(l1.bb, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1)) - tmp182 = einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), t3.babbab, (4, 6, 5, 1, 7, 2), (6, 3, 7, 0)) - rdm2.abab.ovvo += np.transpose(tmp182, (0, 3, 2, 1)) * 3 - tmp179 = einsum(t2.abab, (0, 1, 2, 3), l2.bbbb, (4, 3, 5, 1), (0, 5, 2, 4)) - rdm2.abab.ovvo += np.transpose(tmp179, (0, 3, 2, 1)) * 2 - tmp178 = einsum(l2.abab, (0, 1, 2, 3), t2.aaaa, (4, 2, 5, 0), (4, 3, 5, 1)) - rdm2.abab.ovvo += np.transpose(tmp178, (0, 3, 2, 1)) * 2 - rdm2.abab.ovvo += einsum(tmp187, (0, 1, 2, 3), t1.aa, (4, 1), (4, 3, 2, 0)) * -2 - tmp381 = np.copy(tmp198) * 0.5 - tmp381 += tmp29 - tmp381 += tmp30 - rdm2.abab.ovvo += einsum(tmp381, (0, 1, 2, 3), t1.aa, (0, 4), (1, 3, 4, 2)) * -2 - del tmp381 - tmp112 = einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), l3.aaaaaa, (6, 3, 5, 7, 0, 2), (7, 1, 6, 4)) - rdm2.abab.voov = np.copy(np.transpose(tmp112, (2, 1, 0, 3))) * 3 - tmp113 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), l3.abaaba, (6, 5, 4, 7, 2, 1), (7, 0, 6, 3)) - rdm2.abab.voov += np.transpose(tmp113, (2, 1, 0, 3)) * 4 - rdm2.abab.voov += einsum(t1.bb, (0, 1), l1.aa, (2, 3), (2, 0, 3, 1)) - tmp114 = einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), l3.babbab, (4, 6, 5, 1, 7, 2), (7, 0, 6, 3)) - rdm2.abab.voov += np.transpose(tmp114, (2, 1, 0, 3)) * 3 - tmp111 = einsum(t2.bbbb, (0, 1, 2, 3), l2.abab, (4, 3, 5, 1), (5, 0, 4, 2)) - rdm2.abab.voov += np.transpose(tmp111, (2, 1, 0, 3)) * 2 - tmp110 = einsum(l2.aaaa, (0, 1, 2, 3), t2.abab, (3, 4, 1, 5), (2, 4, 0, 5)) - rdm2.abab.voov += np.transpose(tmp110, (2, 1, 0, 3)) * 2 - tmp119 = np.copy(tmp117) - del tmp117 - tmp119 += tmp118 - del tmp118 - rdm2.abab.voov += einsum(t1.bb, (0, 1), tmp119, (2, 3, 1, 4), (3, 0, 2, 4)) * -2 - tmp382 = np.copy(tmp25) * 0.5 - tmp382 += tmp32 - tmp382 += tmp33 - rdm2.abab.voov += einsum(t1.bb, (0, 1), tmp382, (2, 0, 3, 4), (4, 3, 2, 1)) * -2 - tmp6 = np.copy(delta.aa.oo) * -0.5000000000000202 - tmp0 = einsum(t1.aa, (0, 1), l1.aa, (1, 2), (2, 0)) - tmp6 += tmp0 * 0.5000000000000202 - tmp1 = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (2, 3, 4, 1), (4, 0)) - tmp6 += tmp1 - tmp2 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 0, 1), (2, 4)) - tmp6 += tmp2 * 0.5000000000000202 - tmp3 = einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), l3.aaaaaa, (3, 4, 5, 6, 1, 2), (6, 0)) - tmp6 += tmp3 * 1.4999999999999998 - tmp4 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (6, 4, 5, 0, 1, 2), (3, 6)) - tmp6 += tmp4 - tmp5 = einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (3, 6, 5, 0, 1, 2), (4, 6)) - tmp6 += tmp5 * 0.5000000000000002 - rdm2.aaaa.oooo = einsum(tmp6, (0, 1), delta.aa.oo, (2, 3), (2, 1, 3, 0)) * -2 - rdm2.aaaa.oooo += einsum(tmp6, (0, 1), delta.aa.oo, (2, 3), (1, 2, 3, 0)) * 2 - del tmp6 - tmp7 = np.copy(tmp0) - tmp7 += tmp1 * 2 - tmp7 += tmp2 - tmp7 += tmp3 * 3 - tmp7 += tmp4 * 2 - tmp7 += tmp5 - rdm2.aaaa.oooo += einsum(delta.aa.oo, (0, 1), tmp7, (2, 3), (3, 0, 2, 1)) * -1 - rdm2.aaaa.oooo += einsum(delta.aa.oo, (0, 1), tmp7, (2, 3), (0, 3, 2, 1)) - tmp8 = einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), l3.aaaaaa, (3, 4, 5, 6, 7, 2), (6, 7, 0, 1)) - rdm2.aaaa.oooo += np.transpose(tmp8, (3, 2, 1, 0)) * 6 - tmp9 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (6, 4, 7, 0, 1, 2), (3, 5, 6, 7)) - rdm2.aaaa.oooo += np.transpose(tmp9, (3, 2, 1, 0)) * 2 - tmp10 = einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 5, 0, 1), (2, 3, 4, 5)) - rdm2.aaaa.oooo += np.transpose(tmp10, (3, 2, 1, 0)) * 2 - tmp12 = einsum(tmp11, (0, 1, 2, 3), t1.aa, (4, 3), (0, 1, 2, 4)) * -1 - rdm2.aaaa.oooo += np.transpose(tmp12, (3, 2, 1, 0)) * 2 - tmp15 = np.copy(np.transpose(tmp13, (1, 0, 2, 3))) * -1 - tmp15 += np.transpose(tmp14, (1, 0, 2, 3)) * -0.3333333333333333 - tmp16 = einsum(t1.aa, (0, 1), tmp15, (2, 3, 4, 1), (0, 2, 3, 4)) * 3 - rdm2.aaaa.oooo += np.transpose(tmp16, (3, 0, 2, 1)) * 2 - rdm2.aaaa.oooo += np.transpose(tmp16, (0, 3, 2, 1)) * -2 - tmp35 = np.copy(delta.bb.oo) * -0.3333333333333468 - tmp17 = einsum(l1.bb, (0, 1), t1.bb, (2, 0), (1, 2)) - tmp35 += tmp17 * 0.3333333333333468 - tmp18 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 3, 0, 4), (4, 1)) - tmp35 += tmp18 * 0.3333333333333468 - tmp19 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (2, 3, 4, 1), (4, 0)) - tmp35 += tmp19 * 0.6666666666666936 - tmp20 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (3, 6, 5, 0, 1, 2), (4, 6)) - tmp35 += tmp20 * 0.33333333333333354 - tmp21 = einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (6, 4, 5, 0, 1, 2), (3, 6)) - tmp35 += tmp21 * 0.6666666666666667 - tmp22 = einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), t3.bbbbbb, (6, 4, 5, 0, 1, 2), (3, 6)) - tmp35 += tmp22 - rdm2.bbbb.oooo = einsum(delta.bb.oo, (0, 1), tmp35, (2, 3), (0, 3, 1, 2)) * -3 - rdm2.bbbb.oooo += einsum(tmp35, (0, 1), delta.bb.oo, (2, 3), (1, 2, 3, 0)) * 3 - del tmp35 - tmp36 = np.copy(tmp17) * 0.5 - tmp36 += tmp18 * 0.5 - tmp36 += tmp19 - tmp36 += tmp20 * 0.49999999999998007 - tmp36 += tmp21 - tmp36 += tmp22 * 1.4999999999999394 - rdm2.bbbb.oooo += einsum(delta.bb.oo, (0, 1), tmp36, (2, 3), (3, 0, 2, 1)) * -2 - rdm2.bbbb.oooo += einsum(tmp36, (0, 1), delta.bb.oo, (2, 3), (2, 1, 0, 3)) * 2 - tmp37 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), l3.babbab, (3, 4, 5, 6, 1, 7), (6, 7, 0, 2)) - rdm2.bbbb.oooo += np.transpose(tmp37, (3, 2, 1, 0)) * 2 - tmp38 = einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), t3.bbbbbb, (6, 7, 5, 0, 1, 2), (3, 4, 6, 7)) - rdm2.bbbb.oooo += np.transpose(tmp38, (3, 2, 1, 0)) * 6 - tmp39 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (2, 3, 4, 5), (4, 5, 0, 1)) - rdm2.bbbb.oooo += np.transpose(tmp39, (3, 2, 1, 0)) * 2 - tmp41 = einsum(t1.bb, (0, 1), tmp40, (2, 3, 4, 1), (2, 3, 4, 0)) * -1 - rdm2.bbbb.oooo += np.transpose(tmp41, (3, 2, 1, 0)) * 2 - tmp44 = np.copy(np.transpose(tmp42, (1, 0, 2, 3))) * -1 - tmp44 += np.transpose(tmp43, (1, 0, 2, 3)) * -3 - tmp45 = einsum(tmp44, (0, 1, 2, 3), t1.bb, (4, 3), (4, 0, 1, 2)) - rdm2.bbbb.oooo += np.transpose(tmp45, (3, 0, 2, 1)) * 2 - rdm2.bbbb.oooo += np.transpose(tmp45, (0, 3, 2, 1)) * -2 - tmp374 = einsum(l1.bb, (0, 1), t1.bb, (1, 2), (0, 2)) - tmp375 = np.copy(tmp374) - tmp100 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 0, 4), (1, 4)) - tmp375 += tmp100 - tmp101 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (4, 3, 0, 1), (4, 2)) - tmp375 += tmp101 * 2 - tmp102 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (3, 4, 5, 0, 6, 2), (1, 6)) - tmp375 += tmp102 - tmp103 = einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (3, 4, 5, 6, 1, 2), (0, 6)) - tmp375 += tmp103 * 2 - tmp104 = einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), l3.bbbbbb, (6, 4, 5, 0, 1, 2), (6, 3)) - tmp375 += tmp104 * 3 - rdm2.abab.ovov = einsum(delta.aa.oo, (0, 1), tmp375, (2, 3), (0, 2, 1, 3)) - tmp129 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), l3.babbab, (6, 4, 5, 0, 7, 2), (7, 1, 6, 3)) - rdm2.abab.ovov += np.transpose(tmp129, (1, 2, 0, 3)) * -2 - tmp127 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 0, 5), (2, 4, 1, 5)) - rdm2.abab.ovov += np.transpose(tmp127, (1, 2, 0, 3)) * -1 - tmp128 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (6, 4, 5, 0, 7, 2), (3, 6, 1, 7)) - rdm2.abab.ovov += np.transpose(tmp128, (1, 2, 0, 3)) * -2 - rdm2.abab.ovov += einsum(t1.aa, (0, 1), tmp119, (2, 1, 3, 4), (0, 3, 2, 4)) * -2 - tmp376 = np.copy(tmp198) - del tmp198 - tmp376 += tmp29 * 2 - tmp376 += tmp30 * 2 - rdm2.abab.ovov += einsum(t1.bb, (0, 1), tmp376, (2, 3, 0, 4), (3, 4, 2, 1)) * -1 - tmp370 = einsum(t1.aa, (0, 1), l1.aa, (2, 0), (2, 1)) - tmp383 = np.copy(tmp370) * 0.5 - tmp59 = einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (2, 3, 4, 1), (0, 4)) - tmp383 += tmp59 - tmp60 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 4, 1), (0, 4)) - tmp383 += tmp60 * 0.5 - tmp61 = einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), t3.aaaaaa, (3, 4, 5, 6, 1, 2), (0, 6)) - tmp383 += tmp61 * 1.4999999999999394 - tmp62 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (3, 4, 5, 6, 1, 2), (0, 6)) - tmp383 += tmp62 - tmp63 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), l3.babbab, (3, 6, 5, 0, 1, 2), (6, 4)) - tmp383 += tmp63 * 0.49999999999998007 - rdm2.abab.vovo = einsum(tmp383, (0, 1), delta.bb.oo, (2, 3), (0, 2, 1, 3)) * 2 - tmp190 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 5, 1), (3, 4, 0, 5)) - rdm2.abab.vovo += np.transpose(tmp190, (2, 1, 3, 0)) * -1 - tmp192 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), l3.babbab, (3, 6, 5, 7, 1, 2), (7, 0, 6, 4)) - rdm2.abab.vovo += np.transpose(tmp192, (2, 1, 3, 0)) * -2 - tmp191 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (3, 6, 5, 7, 1, 2), (4, 6, 0, 7)) - rdm2.abab.vovo += np.transpose(tmp191, (2, 1, 3, 0)) * -2 - rdm2.abab.vovo += einsum(tmp187, (0, 1, 2, 3), t1.bb, (4, 3), (1, 4, 2, 0)) * -2 - tmp384 = np.copy(tmp25) - tmp384 += tmp32 * 2 - tmp384 += tmp33 * 2 - rdm2.abab.vovo += einsum(tmp384, (0, 1, 2, 3), t1.aa, (0, 4), (3, 2, 4, 1)) * -1 - del tmp384 - tmp371 = np.copy(tmp370) * 0.3333333333333468 - tmp371 += tmp59 * 0.6666666666666936 - tmp371 += tmp60 * 0.3333333333333468 - tmp371 += tmp61 - tmp371 += tmp62 * 0.6666666666666667 - tmp371 += tmp63 * 0.33333333333333354 - rdm2.aaaa.ovov = einsum(tmp371, (0, 1), delta.aa.oo, (2, 3), (2, 0, 3, 1)) * 3 - tmp75 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), l3.babbab, (3, 6, 5, 0, 7, 2), (7, 1, 6, 4)) - rdm2.aaaa.ovov += np.transpose(tmp75, (1, 2, 0, 3)) * -1 - tmp72 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 5, 1), (2, 4, 0, 5)) - rdm2.aaaa.ovov += np.transpose(tmp72, (1, 2, 0, 3)) * -1 - rdm2.aaaa.ovov += einsum(t1.aa, (0, 1), l1.aa, (2, 3), (0, 2, 3, 1)) * -1 - tmp71 = einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 3, 5, 1), (2, 4, 0, 5)) - rdm2.aaaa.ovov += np.transpose(tmp71, (1, 2, 0, 3)) * -4 - tmp74 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (6, 4, 5, 7, 1, 2), (3, 6, 0, 7)) - rdm2.aaaa.ovov += np.transpose(tmp74, (1, 2, 0, 3)) * -4 - tmp73 = einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), l3.aaaaaa, (6, 4, 5, 7, 1, 2), (7, 0, 6, 3)) - rdm2.aaaa.ovov += np.transpose(tmp73, (1, 2, 0, 3)) * -9 - tmp227 = np.copy(np.transpose(tmp79, (0, 2, 1, 3))) * -3 - del tmp79 - tmp227 += np.transpose(tmp80, (0, 2, 1, 3)) * -1 - del tmp80 - tmp372 = einsum(tmp227, (0, 1, 2, 3), t1.aa, (4, 1), (0, 4, 2, 3)) * 2 - rdm2.aaaa.ovov += np.transpose(tmp372, (1, 2, 0, 3)) * -1 - tmp83 = np.copy(np.transpose(tmp11, (1, 0, 2, 3))) * -1 - tmp83 += np.transpose(tmp13, (1, 0, 2, 3)) * -3 - tmp83 += np.transpose(tmp14, (1, 0, 2, 3)) * -1 - tmp373 = einsum(t1.aa, (0, 1), tmp83, (0, 2, 3, 4), (2, 3, 1, 4)) * 2 - rdm2.aaaa.ovov += np.transpose(tmp373, (1, 3, 0, 2)) * -1 - tmp377 = np.copy(tmp374) * 0.5000000000000202 - tmp377 += tmp100 * 0.5000000000000202 - tmp377 += tmp101 - tmp377 += tmp102 * 0.5000000000000002 - tmp377 += tmp103 - tmp377 += tmp104 * 1.4999999999999998 - rdm2.bbbb.ovov = einsum(tmp377, (0, 1), delta.bb.oo, (2, 3), (2, 0, 3, 1)) * 2 - rdm2.bbbb.ovov += einsum(t1.bb, (0, 1), l1.bb, (2, 3), (0, 2, 3, 1)) * -1 - tmp147 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 5), (3, 4, 1, 5)) - rdm2.bbbb.ovov += np.transpose(tmp147, (1, 2, 0, 3)) * -1 - tmp149 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (3, 6, 5, 0, 7, 2), (4, 6, 1, 7)) - rdm2.bbbb.ovov += np.transpose(tmp149, (1, 2, 0, 3)) * -1 - tmp151 = einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), l3.bbbbbb, (6, 4, 5, 7, 1, 2), (7, 0, 6, 3)) - rdm2.bbbb.ovov += np.transpose(tmp151, (1, 2, 0, 3)) * -9 - tmp150 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), l3.babbab, (6, 4, 5, 7, 1, 2), (7, 0, 6, 3)) - rdm2.bbbb.ovov += np.transpose(tmp150, (1, 2, 0, 3)) * -4 - tmp148 = einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 3, 5, 1), (2, 4, 0, 5)) - rdm2.bbbb.ovov += np.transpose(tmp148, (1, 2, 0, 3)) * -4 - tmp160 = np.copy(np.transpose(tmp154, (0, 2, 1, 3))) * -1 - del tmp154 - tmp160 += np.transpose(tmp155, (0, 2, 1, 3)) * -3 - del tmp155 - tmp378 = einsum(tmp160, (0, 1, 2, 3), t1.bb, (4, 1), (0, 4, 2, 3)) * 2 - rdm2.bbbb.ovov += np.transpose(tmp378, (1, 2, 0, 3)) * -1 - tmp158 = np.copy(np.transpose(tmp40, (1, 0, 2, 3))) * -1 - del tmp40 - tmp158 += np.transpose(tmp42, (1, 0, 2, 3)) * -1 - tmp158 += np.transpose(tmp43, (1, 0, 2, 3)) * -3 - tmp379 = einsum(t1.bb, (0, 1), tmp158, (0, 2, 3, 4), (2, 3, 4, 1)) * 2 - rdm2.bbbb.ovov += np.transpose(tmp379, (1, 2, 0, 3)) * -1 - tmp380 = np.copy(tmp370) * 0.5000000000000202 - tmp380 += tmp59 - tmp380 += tmp60 * 0.5000000000000202 - tmp380 += tmp61 * 1.4999999999999998 - tmp380 += tmp62 - tmp380 += tmp63 * 0.5000000000000002 - rdm2.aaaa.ovvo = einsum(tmp380, (0, 1), delta.aa.oo, (2, 3), (2, 0, 1, 3)) * -2 - rdm2.aaaa.ovvo += np.transpose(tmp75, (1, 2, 3, 0)) - rdm2.aaaa.ovvo += np.transpose(tmp72, (1, 2, 3, 0)) - rdm2.aaaa.ovvo += einsum(t1.aa, (0, 1), l1.aa, (2, 3), (0, 2, 1, 3)) - rdm2.aaaa.ovvo += np.transpose(tmp71, (1, 2, 3, 0)) * 4 - rdm2.aaaa.ovvo += np.transpose(tmp74, (1, 2, 3, 0)) * 4 - rdm2.aaaa.ovvo += np.transpose(tmp73, (1, 2, 3, 0)) * 9 - rdm2.aaaa.ovvo += np.transpose(tmp372, (1, 2, 3, 0)) - rdm2.aaaa.ovvo += np.transpose(tmp373, (1, 3, 2, 0)) - rdm2.bbbb.ovvo = einsum(delta.bb.oo, (0, 1), tmp375, (2, 3), (0, 2, 3, 1)) * -1 - rdm2.bbbb.ovvo += einsum(t1.bb, (0, 1), l1.bb, (2, 3), (0, 2, 1, 3)) - rdm2.bbbb.ovvo += np.transpose(tmp147, (1, 2, 3, 0)) - rdm2.bbbb.ovvo += np.transpose(tmp149, (1, 2, 3, 0)) - rdm2.bbbb.ovvo += np.transpose(tmp151, (1, 2, 3, 0)) * 9 - rdm2.bbbb.ovvo += np.transpose(tmp150, (1, 2, 3, 0)) * 4 - rdm2.bbbb.ovvo += np.transpose(tmp148, (1, 2, 3, 0)) * 4 - rdm2.bbbb.ovvo += np.transpose(tmp378, (1, 2, 3, 0)) - rdm2.bbbb.ovvo += np.transpose(tmp379, (1, 2, 3, 0)) - rdm2.aaaa.voov = einsum(tmp371, (0, 1), delta.aa.oo, (2, 3), (0, 2, 3, 1)) * -3 - del tmp371 - rdm2.aaaa.voov += np.transpose(tmp75, (2, 1, 0, 3)) - rdm2.aaaa.voov += np.transpose(tmp72, (2, 1, 0, 3)) - rdm2.aaaa.voov += einsum(t1.aa, (0, 1), l1.aa, (2, 3), (2, 0, 3, 1)) - rdm2.aaaa.voov += np.transpose(tmp71, (2, 1, 0, 3)) * 4 - rdm2.aaaa.voov += np.transpose(tmp74, (2, 1, 0, 3)) * 4 - rdm2.aaaa.voov += np.transpose(tmp73, (2, 1, 0, 3)) * 9 - rdm2.aaaa.voov += np.transpose(tmp372, (2, 1, 0, 3)) - rdm2.aaaa.voov += np.transpose(tmp373, (3, 1, 0, 2)) - rdm2.bbbb.voov = einsum(tmp377, (0, 1), delta.bb.oo, (2, 3), (0, 2, 3, 1)) * -2 - rdm2.bbbb.voov += einsum(t1.bb, (0, 1), l1.bb, (2, 3), (2, 0, 3, 1)) - rdm2.bbbb.voov += np.transpose(tmp147, (2, 1, 0, 3)) - rdm2.bbbb.voov += np.transpose(tmp149, (2, 1, 0, 3)) - rdm2.bbbb.voov += np.transpose(tmp151, (2, 1, 0, 3)) * 9 - rdm2.bbbb.voov += np.transpose(tmp150, (2, 1, 0, 3)) * 4 - rdm2.bbbb.voov += np.transpose(tmp148, (2, 1, 0, 3)) * 4 - rdm2.bbbb.voov += np.transpose(tmp378, (2, 1, 0, 3)) - rdm2.bbbb.voov += np.transpose(tmp379, (2, 1, 0, 3)) - rdm2.aaaa.vovo = einsum(tmp380, (0, 1), delta.aa.oo, (2, 3), (0, 2, 1, 3)) * 2 - del tmp380 - rdm2.aaaa.vovo += np.transpose(tmp75, (2, 1, 3, 0)) * -1 - rdm2.aaaa.vovo += np.transpose(tmp72, (2, 1, 3, 0)) * -1 - rdm2.aaaa.vovo += einsum(t1.aa, (0, 1), l1.aa, (2, 3), (2, 0, 1, 3)) * -1 - rdm2.aaaa.vovo += np.transpose(tmp71, (2, 1, 3, 0)) * -4 - rdm2.aaaa.vovo += np.transpose(tmp74, (2, 1, 3, 0)) * -4 - rdm2.aaaa.vovo += np.transpose(tmp73, (2, 1, 3, 0)) * -9 - rdm2.aaaa.vovo += np.transpose(tmp372, (2, 1, 3, 0)) * -1 - del tmp372 - rdm2.aaaa.vovo += np.transpose(tmp373, (3, 1, 2, 0)) * -1 - del tmp373 - rdm2.bbbb.vovo = einsum(delta.bb.oo, (0, 1), tmp375, (2, 3), (2, 0, 3, 1)) - del tmp375 - rdm2.bbbb.vovo += einsum(t1.bb, (0, 1), l1.bb, (2, 3), (2, 0, 1, 3)) * -1 - rdm2.bbbb.vovo += np.transpose(tmp147, (2, 1, 3, 0)) * -1 - rdm2.bbbb.vovo += np.transpose(tmp149, (2, 1, 3, 0)) * -1 - rdm2.bbbb.vovo += np.transpose(tmp151, (2, 1, 3, 0)) * -9 - rdm2.bbbb.vovo += np.transpose(tmp150, (2, 1, 3, 0)) * -4 - rdm2.bbbb.vovo += np.transpose(tmp148, (2, 1, 3, 0)) * -4 - rdm2.bbbb.vovo += np.transpose(tmp378, (2, 1, 3, 0)) * -1 - del tmp378 - rdm2.bbbb.vovo += np.transpose(tmp379, (2, 1, 3, 0)) * -1 - del tmp379 - tmp23 = np.copy(delta.bb.oo) * -0.5000000000000202 - tmp23 += tmp17 * 0.5000000000000202 - tmp23 += tmp18 * 0.5000000000000202 - tmp23 += tmp19 - tmp23 += tmp20 * 0.5000000000000002 - tmp23 += tmp21 - tmp23 += tmp22 * 1.4999999999999998 - rdm2.abab.oooo = einsum(tmp23, (0, 1), delta.aa.oo, (2, 3), (2, 1, 3, 0)) * -2 - del tmp23 - rdm2.abab.oooo += einsum(tmp7, (0, 1), delta.bb.oo, (2, 3), (1, 2, 0, 3)) * -1 - tmp24 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 5, 0, 1), (2, 4, 3, 5)) - rdm2.abab.oooo += np.transpose(tmp24, (1, 3, 0, 2)) - tmp26 = einsum(t1.aa, (0, 1), tmp25, (2, 3, 4, 1), (2, 0, 3, 4)) - del tmp25 - rdm2.abab.oooo += np.transpose(tmp26, (1, 3, 0, 2)) - tmp27 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (6, 7, 5, 0, 1, 2), (3, 6, 4, 7)) - rdm2.abab.oooo += np.transpose(tmp27, (1, 3, 0, 2)) * 2 - tmp28 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), l3.babbab, (3, 4, 5, 6, 7, 2), (7, 1, 6, 0)) - rdm2.abab.oooo += np.transpose(tmp28, (1, 3, 0, 2)) * 2 - tmp31 = np.copy(tmp29) - tmp31 += tmp30 * 0.5 - rdm2.abab.oooo += einsum(t1.bb, (0, 1), tmp31, (2, 3, 4, 1), (3, 0, 2, 4)) * 2 - del tmp31 - rdm2.abab.oooo += einsum(t1.bb, (0, 1), tmp30, (2, 3, 4, 1), (3, 0, 2, 4)) - tmp34 = np.copy(tmp32) - tmp34 += tmp33 * 0.5 - rdm2.abab.oooo += einsum(t1.aa, (0, 1), tmp34, (2, 3, 4, 1), (0, 4, 2, 3)) * 2 - del tmp34 - rdm2.abab.oooo += einsum(tmp33, (0, 1, 2, 3), t1.aa, (4, 3), (4, 2, 0, 1)) - rdm2.abab.vovv = einsum(t2.abab, (0, 1, 2, 3), l1.aa, (4, 0), (4, 1, 2, 3)) - tmp278 = einsum(l2.aaaa, (0, 1, 2, 3), t3.abaaba, (2, 4, 3, 5, 6, 1), (4, 0, 5, 6)) - rdm2.abab.vovv += np.transpose(tmp278, (1, 0, 2, 3)) * 2 - tmp279 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), l2.abab, (6, 5, 1, 2), (0, 6, 4, 3)) - rdm2.abab.vovv += np.transpose(tmp279, (1, 0, 2, 3)) * 2 - tmp280 = einsum(tmp119, (0, 1, 2, 3), t2.abab, (0, 4, 5, 2), (4, 1, 5, 3)) * 2 - rdm2.abab.vovv += np.transpose(tmp280, (1, 0, 2, 3)) * -1 - tmp388 = np.copy(tmp370) - del tmp370 - tmp388 += tmp59 * 2 - tmp388 += tmp60 - tmp388 += tmp61 * 3 - tmp388 += tmp62 * 2 - tmp388 += tmp63 - rdm2.abab.vovv += einsum(tmp388, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3)) - rdm2.abab.vovv += einsum(t2.bbbb, (0, 1, 2, 3), tmp187, (1, 4, 5, 3), (4, 0, 5, 2)) * 4 - rdm2.abab.vovv += einsum(tmp227, (0, 1, 2, 3), t2.abab, (0, 4, 1, 5), (2, 4, 3, 5)) * 2 - tmp297 = np.copy(tmp110) - tmp297 += tmp111 - tmp297 += tmp112 * 1.5 - tmp297 += tmp113 * 2 - tmp297 += tmp114 * 1.5 - rdm2.abab.vovv += einsum(tmp297, (0, 1, 2, 3), t1.aa, (0, 4), (2, 1, 4, 3)) * 2 - tmp302 = np.copy(tmp190) - tmp302 += tmp191 * 2 - tmp302 += tmp192 * 2 - rdm2.abab.vovv += einsum(t1.bb, (0, 1), tmp302, (0, 2, 3, 4), (3, 2, 4, 1)) * -1 - tmp96 = np.copy(tmp32) - del tmp32 - tmp96 += tmp33 - del tmp33 - rdm2.abab.vovv += einsum(tmp96, (0, 1, 2, 3), t2.abab, (0, 1, 4, 5), (3, 2, 4, 5)) * -2 - tmp416 = np.copy(tmp287) * 0.4999999999999899 - tmp416 += tmp283 * 0.4999999999999999 - tmp416 += tmp284 - rdm2.abab.vovv += einsum(t1.bb, (0, 1), tmp416, (2, 3, 1, 4), (2, 0, 3, 4)) * -2 - del tmp416 - tmp417 = einsum(t1.bb, (0, 1), tmp119, (2, 3, 1, 4), (2, 0, 3, 4)) - tmp417 += einsum(t1.bb, (0, 1), tmp382, (2, 0, 3, 4), (2, 3, 4, 1)) - del tmp382 - rdm2.abab.vovv += einsum(t1.aa, (0, 1), tmp417, (0, 2, 3, 4), (3, 2, 1, 4)) * -2 - del tmp417 - tmp294 = einsum(t1.bb, (0, 1), tmp283, (2, 3, 1, 4), (0, 2, 3, 4)) - rdm2.abab.vovv += np.transpose(tmp294, (1, 0, 2, 3)) * -1 - tmp189 = einsum(t1.bb, (0, 1), tmp187, (2, 3, 4, 1), (2, 0, 3, 4)) - rdm2.abab.vovv += einsum(t1.bb, (0, 1), tmp189, (0, 2, 3, 4), (3, 2, 4, 1)) * -2 - rdm2.abab.ovvv = einsum(l1.bb, (0, 1), t2.abab, (2, 1, 3, 4), (2, 0, 3, 4)) - tmp271 = einsum(l2.abab, (0, 1, 2, 3), t3.abaaba, (4, 3, 2, 5, 6, 0), (4, 5, 1, 6)) - rdm2.abab.ovvv += np.transpose(tmp271, (0, 2, 1, 3)) * 2 - tmp272 = einsum(l2.bbbb, (0, 1, 2, 3), t3.babbab, (2, 4, 3, 5, 6, 1), (4, 6, 0, 5)) - rdm2.abab.ovvv += np.transpose(tmp272, (0, 2, 1, 3)) * 2 - tmp273 = einsum(tmp119, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 1), (4, 5, 2, 3)) * 4 - rdm2.abab.ovvv += np.transpose(tmp273, (0, 2, 1, 3)) - tmp274 = einsum(t2.abab, (0, 1, 2, 3), tmp160, (1, 3, 4, 5), (0, 2, 4, 5)) * 2 - rdm2.abab.ovvv += np.transpose(tmp274, (0, 2, 1, 3)) - rdm2.abab.ovvv += einsum(tmp377, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1)) * 2 - rdm2.abab.ovvv += einsum(tmp187, (0, 1, 2, 3), t2.abab, (4, 0, 1, 5), (4, 3, 2, 5)) * -2 - tmp300 = np.copy(tmp127) - tmp300 += tmp128 * 2 - tmp300 += tmp129 * 2 - rdm2.abab.ovvv += einsum(t1.aa, (0, 1), tmp300, (0, 2, 3, 4), (2, 3, 1, 4)) * -1 - tmp304 = np.copy(tmp178) - tmp304 += tmp179 - tmp304 += tmp180 * 1.5 - tmp304 += tmp181 * 2 - tmp304 += tmp182 * 1.5 - rdm2.abab.ovvv += einsum(t1.bb, (0, 1), tmp304, (2, 0, 3, 4), (2, 4, 3, 1)) * 2 - tmp57 = np.copy(tmp29) - del tmp29 - tmp57 += tmp30 - del tmp30 - rdm2.abab.ovvv += einsum(tmp57, (0, 1, 2, 3), t2.abab, (0, 2, 4, 5), (1, 3, 4, 5)) * -2 - tmp288 = np.copy(tmp287) - del tmp287 - tmp288 += tmp283 - tmp288 += tmp284 * 2 - rdm2.abab.ovvv += einsum(t1.aa, (0, 1), tmp288, (1, 2, 3, 4), (0, 3, 2, 4)) * -1 - tmp400 = einsum(t1.aa, (0, 1), tmp376, (0, 2, 3, 4), (2, 3, 1, 4)) * 0.5 - del tmp376 - rdm2.abab.ovvv += einsum(t1.bb, (0, 1), tmp400, (2, 0, 3, 4), (2, 4, 3, 1)) * -2 - del tmp400 - tmp124 = einsum(t1.aa, (0, 1), tmp119, (2, 1, 3, 4), (2, 0, 3, 4)) - rdm2.abab.ovvv += einsum(t1.aa, (0, 1), tmp124, (0, 2, 3, 4), (2, 3, 1, 4)) * -2 - rdm2.abab.ovvv += einsum(tmp283, (0, 1, 2, 3), t1.aa, (4, 0), (4, 2, 1, 3)) * -1 - tmp401 = einsum(tmp187, (0, 1, 2, 3), t1.aa, (4, 1), (4, 0, 2, 3)) - rdm2.abab.ovvv += einsum(t1.bb, (0, 1), tmp401, (2, 0, 3, 4), (2, 4, 3, 1)) * -2 - del tmp401 - tmp225 = einsum(l2.aaaa, (0, 1, 2, 3), t3.aaaaaa, (4, 2, 3, 5, 6, 1), (4, 0, 5, 6)) - rdm2.aaaa.ovvv = np.copy(np.transpose(tmp225, (0, 1, 3, 2))) * -6 - tmp226 = einsum(l2.abab, (0, 1, 2, 3), t3.abaaba, (4, 3, 2, 5, 1, 6), (4, 0, 5, 6)) - rdm2.aaaa.ovvv += np.transpose(tmp226, (0, 1, 3, 2)) * -2 - tmp385 = einsum(t2.aaaa, (0, 1, 2, 3), l1.aa, (4, 1), (0, 4, 2, 3)) - rdm2.aaaa.ovvv += np.transpose(tmp385, (0, 1, 3, 2)) * -2 - tmp386 = einsum(t2.aaaa, (0, 1, 2, 3), tmp81, (1, 3, 4, 5), (0, 2, 4, 5)) * 12 - rdm2.aaaa.ovvv += np.transpose(tmp386, (0, 2, 1, 3)) - tmp387 = einsum(t2.abab, (0, 1, 2, 3), tmp187, (1, 4, 5, 3), (0, 4, 5, 2)) * 2 - rdm2.aaaa.ovvv += np.transpose(tmp387, (0, 1, 3, 2)) - rdm2.aaaa.ovvv += einsum(tmp383, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1)) * 2 - rdm2.aaaa.ovvv += einsum(tmp388, (0, 1), t1.aa, (2, 3), (2, 0, 1, 3)) * -1 - tmp389 = einsum(t2.aaaa, (0, 1, 2, 3), tmp227, (1, 3, 4, 5), (0, 4, 5, 2)) * 4 - rdm2.aaaa.ovvv += tmp389 * -1 - rdm2.aaaa.ovvv += tmp387 * -1 - tmp76 = np.copy(tmp71) - tmp76 += tmp72 * 0.25 - tmp76 += tmp73 * 2.25 - tmp76 += tmp74 - tmp76 += tmp75 * 0.25 - tmp390 = einsum(t1.aa, (0, 1), tmp76, (0, 2, 3, 4), (2, 1, 3, 4)) * 4 - rdm2.aaaa.ovvv += np.transpose(tmp390, (0, 2, 1, 3)) * -1 - tmp391 = np.copy(tmp71) * 4 - tmp391 += tmp72 - del tmp72 - tmp391 += tmp73 * 9 - tmp391 += tmp74 * 4 - tmp391 += tmp75 - tmp392 = einsum(tmp391, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 3, 4)) - del tmp391 - rdm2.aaaa.ovvv += tmp392 - tmp55 = np.copy(np.transpose(tmp13, (1, 0, 2, 3))) * -3 - tmp55 += np.transpose(tmp14, (1, 0, 2, 3)) * -1 - tmp393 = einsum(tmp55, (0, 1, 2, 3), t2.aaaa, (0, 1, 4, 5), (2, 4, 5, 3)) - rdm2.aaaa.ovvv += np.transpose(tmp393, (0, 3, 2, 1)) * -2 - tmp242 = np.copy(np.transpose(tmp241, (1, 0, 3, 2))) - del tmp241 - tmp242 += np.transpose(tmp235, (1, 0, 3, 2)) * 3 - tmp242 += np.transpose(tmp236, (1, 0, 3, 2)) - tmp243 = einsum(tmp242, (0, 1, 2, 3), t1.aa, (4, 0), (4, 1, 2, 3)) - del tmp242 - rdm2.aaaa.ovvv += np.transpose(tmp243, (0, 1, 3, 2)) * 2 - tmp394 = einsum(tmp81, (0, 1, 2, 3), t1.aa, (4, 1), (4, 0, 2, 3)) * 3 - tmp397 = np.copy(np.transpose(tmp394, (1, 0, 2, 3))) * -1 - tmp395 = np.copy(np.transpose(tmp11, (1, 0, 2, 3))) * -0.3333333333333333 - del tmp11 - tmp395 += np.transpose(tmp13, (1, 0, 2, 3)) * -1 - tmp395 += np.transpose(tmp14, (1, 0, 2, 3)) * -0.3333333333333333 - tmp396 = einsum(t1.aa, (0, 1), tmp395, (0, 2, 3, 4), (2, 3, 4, 1)) * 3 - del tmp395 - tmp397 += tmp396 * -1 - del tmp396 - tmp398 = einsum(t1.aa, (0, 1), tmp397, (0, 2, 3, 4), (2, 3, 4, 1)) * 2 - del tmp397 - rdm2.aaaa.ovvv += np.transpose(tmp398, (0, 1, 3, 2)) - tmp399 = einsum(tmp394, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 3, 4)) * -2 - del tmp394 - rdm2.aaaa.ovvv += tmp399 * -1 - rdm2.aaaa.vovv = np.copy(np.transpose(tmp225, (1, 0, 3, 2))) * 6 - rdm2.aaaa.vovv += np.transpose(tmp226, (1, 0, 3, 2)) * 2 - rdm2.aaaa.vovv += np.transpose(tmp385, (1, 0, 3, 2)) * 2 - del tmp385 - rdm2.aaaa.vovv += np.transpose(tmp386, (2, 0, 1, 3)) * -1 - del tmp386 - rdm2.aaaa.vovv += np.transpose(tmp387, (1, 0, 3, 2)) * -1 - rdm2.aaaa.vovv += einsum(tmp383, (0, 1), t1.aa, (2, 3), (0, 2, 3, 1)) * -2 - del tmp383 - rdm2.aaaa.vovv += einsum(tmp388, (0, 1), t1.aa, (2, 3), (0, 2, 1, 3)) - del tmp388 - rdm2.aaaa.vovv += np.transpose(tmp389, (1, 0, 2, 3)) - del tmp389 - rdm2.aaaa.vovv += np.transpose(tmp387, (1, 0, 2, 3)) - del tmp387 - rdm2.aaaa.vovv += np.transpose(tmp390, (2, 0, 1, 3)) - del tmp390 - rdm2.aaaa.vovv += np.transpose(tmp392, (1, 0, 2, 3)) * -1 - del tmp392 - rdm2.aaaa.vovv += np.transpose(tmp393, (3, 0, 2, 1)) * 2 - del tmp393 - rdm2.aaaa.vovv += np.transpose(tmp243, (1, 0, 3, 2)) * -2 - rdm2.aaaa.vovv += np.transpose(tmp398, (1, 0, 3, 2)) * -1 - del tmp398 - rdm2.aaaa.vovv += np.transpose(tmp399, (1, 0, 2, 3)) - del tmp399 - tmp335 = einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), l2.bbbb, (6, 5, 1, 2), (0, 6, 3, 4)) - rdm2.bbbb.ovvv = np.copy(np.transpose(tmp335, (0, 1, 3, 2))) * -6 - tmp334 = einsum(l2.abab, (0, 1, 2, 3), t3.babbab, (4, 2, 3, 5, 0, 6), (4, 1, 5, 6)) - rdm2.bbbb.ovvv += np.transpose(tmp334, (0, 1, 3, 2)) * -2 - tmp402 = einsum(l1.bb, (0, 1), t2.bbbb, (2, 1, 3, 4), (2, 0, 3, 4)) - rdm2.bbbb.ovvv += np.transpose(tmp402, (0, 1, 3, 2)) * -2 - tmp403 = einsum(t2.abab, (0, 1, 2, 3), tmp119, (0, 2, 4, 5), (1, 4, 5, 3)) * 2 - rdm2.bbbb.ovvv += np.transpose(tmp403, (0, 1, 3, 2)) - tmp404 = einsum(tmp160, (0, 1, 2, 3), t2.bbbb, (4, 0, 5, 1), (4, 2, 3, 5)) * 4 - rdm2.bbbb.ovvv += np.transpose(tmp404, (0, 1, 3, 2)) - rdm2.bbbb.ovvv += einsum(t1.bb, (0, 1), tmp377, (2, 3), (0, 2, 1, 3)) * 2 - tmp405 = np.copy(tmp374) - del tmp374 - tmp405 += tmp100 - tmp405 += tmp101 * 2 - tmp405 += tmp102 - tmp405 += tmp103 * 2 - tmp405 += tmp104 * 3 - rdm2.bbbb.ovvv += einsum(tmp405, (0, 1), t1.bb, (2, 3), (2, 0, 1, 3)) * -1 - tmp406 = einsum(t2.bbbb, (0, 1, 2, 3), tmp156, (1, 3, 4, 5), (0, 4, 5, 2)) * 12 - rdm2.bbbb.ovvv += tmp406 * -1 - rdm2.bbbb.ovvv += tmp403 * -1 - tmp152 = np.copy(tmp147) * 0.25 - tmp152 += tmp148 - tmp152 += tmp149 * 0.25 - tmp152 += tmp150 - tmp152 += tmp151 * 2.25 - tmp407 = einsum(tmp152, (0, 1, 2, 3), t1.bb, (0, 4), (1, 2, 3, 4)) * 4 - rdm2.bbbb.ovvv += np.transpose(tmp407, (0, 1, 3, 2)) * -1 - tmp260 = np.copy(tmp147) - del tmp147 - tmp260 += tmp148 * 4 - tmp260 += tmp149 - tmp260 += tmp150 * 4 - tmp260 += tmp151 * 9 - tmp408 = einsum(t1.bb, (0, 1), tmp260, (0, 2, 3, 4), (2, 3, 4, 1)) - rdm2.bbbb.ovvv += tmp408 - tmp98 = np.copy(np.transpose(tmp42, (1, 0, 2, 3))) * -0.3333333333333333 - tmp98 += np.transpose(tmp43, (1, 0, 2, 3)) * -1 - tmp409 = einsum(t2.bbbb, (0, 1, 2, 3), tmp98, (0, 1, 4, 5), (4, 5, 2, 3)) * 3 - rdm2.bbbb.ovvv += np.transpose(tmp409, (0, 1, 3, 2)) * -2 - tmp410 = np.copy(np.transpose(tmp349, (1, 0, 3, 2))) - tmp410 += np.transpose(tmp343, (1, 0, 3, 2)) - tmp410 += np.transpose(tmp344, (1, 0, 3, 2)) * 3 - tmp411 = einsum(tmp410, (0, 1, 2, 3), t1.bb, (4, 0), (4, 1, 2, 3)) - del tmp410 - rdm2.bbbb.ovvv += np.transpose(tmp411, (0, 1, 3, 2)) * 2 - tmp354 = einsum(tmp160, (0, 1, 2, 3), t1.bb, (4, 1), (0, 4, 2, 3)) - tmp413 = np.copy(tmp354) * -1 - tmp412 = einsum(t1.bb, (0, 1), tmp158, (0, 2, 3, 4), (2, 3, 4, 1)) - tmp413 += tmp412 * -1 - del tmp412 - tmp414 = einsum(tmp413, (0, 1, 2, 3), t1.bb, (0, 4), (1, 2, 3, 4)) * 2 - del tmp413 - rdm2.bbbb.ovvv += np.transpose(tmp414, (0, 1, 3, 2)) - tmp161 = einsum(tmp160, (0, 1, 2, 3), t1.bb, (4, 1), (0, 4, 2, 3)) * 0.3333333333333333 - tmp415 = einsum(t1.bb, (0, 1), tmp161, (0, 2, 3, 4), (2, 3, 4, 1)) * -6 - rdm2.bbbb.ovvv += tmp415 * -1 - rdm2.bbbb.vovv = np.copy(np.transpose(tmp335, (1, 0, 3, 2))) * 6 - rdm2.bbbb.vovv += np.transpose(tmp334, (1, 0, 3, 2)) * 2 - rdm2.bbbb.vovv += np.transpose(tmp402, (1, 0, 3, 2)) * 2 - del tmp402 - rdm2.bbbb.vovv += np.transpose(tmp404, (1, 0, 3, 2)) * -1 - del tmp404 - rdm2.bbbb.vovv += np.transpose(tmp403, (1, 0, 3, 2)) * -1 - rdm2.bbbb.vovv += einsum(t1.bb, (0, 1), tmp377, (2, 3), (2, 0, 1, 3)) * -2 - del tmp377 - rdm2.bbbb.vovv += einsum(tmp405, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3)) - del tmp405 - rdm2.bbbb.vovv += np.transpose(tmp403, (1, 0, 2, 3)) - del tmp403 - rdm2.bbbb.vovv += np.transpose(tmp406, (1, 0, 2, 3)) - del tmp406 - rdm2.bbbb.vovv += np.transpose(tmp407, (1, 0, 3, 2)) - del tmp407 - rdm2.bbbb.vovv += np.transpose(tmp408, (1, 0, 2, 3)) * -1 - del tmp408 - rdm2.bbbb.vovv += np.transpose(tmp409, (1, 0, 3, 2)) * 2 - del tmp409 - rdm2.bbbb.vovv += np.transpose(tmp411, (1, 0, 3, 2)) * -2 - del tmp411 - rdm2.bbbb.vovv += np.transpose(tmp414, (1, 0, 3, 2)) * -1 - del tmp414 - rdm2.bbbb.vovv += np.transpose(tmp415, (1, 0, 2, 3)) - del tmp415 - tmp51 = np.copy(t1.aa) - tmp46 = einsum(l1.aa, (0, 1), t2.aaaa, (2, 1, 3, 0), (2, 3)) - tmp51 += tmp46 * 2 - tmp47 = einsum(l1.bb, (0, 1), t2.abab, (2, 1, 3, 0), (2, 3)) - tmp51 += tmp47 - tmp48 = einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), l2.aaaa, (4, 5, 1, 2), (0, 3)) - tmp51 += tmp48 * 3 - tmp49 = einsum(l2.abab, (0, 1, 2, 3), t3.abaaba, (4, 3, 2, 5, 1, 0), (4, 5)) - tmp51 += tmp49 * 2 - tmp50 = einsum(l2.bbbb, (0, 1, 2, 3), t3.babbab, (2, 4, 3, 0, 5, 1), (4, 5)) - tmp51 += tmp50 - rdm2.aaaa.ooov = einsum(tmp51, (0, 1), delta.aa.oo, (2, 3), (0, 2, 3, 1)) * -1 - rdm2.aaaa.ooov += einsum(delta.aa.oo, (0, 1), tmp51, (2, 3), (0, 2, 1, 3)) - tmp52 = einsum(t2.aaaa, (0, 1, 2, 3), l1.aa, (3, 4), (4, 0, 1, 2)) - rdm2.aaaa.ooov += np.transpose(tmp52, (2, 1, 0, 3)) * -2 - tmp53 = einsum(l2.abab, (0, 1, 2, 3), t3.abaaba, (4, 3, 5, 6, 1, 0), (2, 4, 5, 6)) - rdm2.aaaa.ooov += np.transpose(tmp53, (2, 1, 0, 3)) * -2 - tmp54 = einsum(l2.aaaa, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 3, 6, 0, 1), (2, 4, 5, 6)) - rdm2.aaaa.ooov += np.transpose(tmp54, (2, 1, 0, 3)) * -6 - tmp56 = einsum(t2.aaaa, (0, 1, 2, 3), tmp55, (0, 1, 4, 3), (4, 2)) * -1 - tmp68 = np.copy(tmp56) - del tmp56 - tmp58 = einsum(t2.abab, (0, 1, 2, 3), tmp57, (0, 4, 1, 3), (4, 2)) - tmp68 += tmp58 - del tmp58 - tmp64 = np.copy(tmp59) - tmp64 += tmp60 * 0.5 - tmp64 += tmp61 * 1.4999999999999394 - tmp64 += tmp62 - tmp64 += tmp63 * 0.49999999999998007 - tmp65 = einsum(tmp64, (0, 1), t1.aa, (2, 0), (2, 1)) - tmp68 += tmp65 - del tmp65 - tmp66 = np.copy(tmp0) * 0.3333333333333468 - tmp66 += tmp1 * 0.6666666666666936 - tmp66 += tmp2 * 0.3333333333333468 - tmp66 += tmp3 - tmp66 += tmp4 * 0.6666666666666667 - tmp66 += tmp5 * 0.33333333333333354 - tmp67 = einsum(t1.aa, (0, 1), tmp66, (0, 2), (2, 1)) * 1.4999999999999394 - tmp68 += tmp67 - del tmp67 - rdm2.aaaa.ooov += einsum(tmp68, (0, 1), delta.aa.oo, (2, 3), (0, 2, 3, 1)) * 2 - rdm2.aaaa.ooov += einsum(tmp68, (0, 1), delta.aa.oo, (2, 3), (2, 0, 3, 1)) * -2 - tmp69 = einsum(tmp55, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 3), (4, 1, 2, 5)) * 4 - rdm2.aaaa.ooov += np.transpose(tmp69, (2, 0, 1, 3)) * -1 - tmp70 = einsum(t2.abab, (0, 1, 2, 3), tmp57, (4, 5, 1, 3), (0, 4, 5, 2)) * 2 - rdm2.aaaa.ooov += np.transpose(tmp70, (2, 0, 1, 3)) * -1 - tmp77 = einsum(t1.aa, (0, 1), tmp76, (2, 3, 1, 4), (0, 2, 3, 4)) * 4 - rdm2.aaaa.ooov += np.transpose(tmp77, (0, 2, 1, 3)) * -1 - tmp78 = np.copy(tmp0) - tmp78 += tmp1 * 2 - tmp78 += tmp2 - tmp78 += tmp3 * 3 - tmp78 += tmp4 * 2 - tmp78 += tmp5 - rdm2.aaaa.ooov += einsum(t1.aa, (0, 1), tmp78, (2, 3), (3, 0, 2, 1)) * -1 - rdm2.aaaa.ooov += np.transpose(tmp69, (0, 2, 1, 3)) - del tmp69 - rdm2.aaaa.ooov += np.transpose(tmp70, (0, 2, 1, 3)) - rdm2.aaaa.ooov += np.transpose(tmp77, (2, 0, 1, 3)) - rdm2.aaaa.ooov += einsum(tmp78, (0, 1), t1.aa, (2, 3), (2, 1, 0, 3)) - tmp82 = einsum(tmp81, (0, 1, 2, 3), t2.aaaa, (4, 5, 1, 2), (4, 5, 0, 3)) * 6 - rdm2.aaaa.ooov += np.transpose(tmp82, (1, 0, 2, 3)) * -1 - tmp84 = np.copy(np.transpose(tmp10, (1, 0, 3, 2))) * 0.3333333333333333 - tmp84 += np.transpose(tmp8, (1, 0, 3, 2)) - tmp84 += np.transpose(tmp9, (1, 0, 3, 2)) * 0.3333333333333401 - tmp84 += einsum(t1.aa, (0, 1), tmp83, (2, 3, 4, 1), (3, 2, 0, 4)) * -0.3333333333333333 - rdm2.aaaa.ooov += einsum(t1.aa, (0, 1), tmp84, (0, 2, 3, 4), (4, 3, 2, 1)) * 6 - del tmp84 - tmp85 = einsum(tmp81, (0, 1, 2, 3), t1.aa, (4, 1), (4, 0, 2, 3)) - tmp86 = einsum(t1.aa, (0, 1), tmp85, (2, 3, 1, 4), (0, 3, 2, 4)) * -6 - rdm2.aaaa.ooov += np.transpose(tmp86, (0, 2, 1, 3)) - rdm2.aaaa.ooov += einsum(tmp16, (0, 1, 2, 3), t1.aa, (2, 4), (0, 3, 1, 4)) * 2 - tmp92 = np.copy(t1.bb) - tmp87 = einsum(t2.abab, (0, 1, 2, 3), l1.aa, (2, 0), (1, 3)) - tmp92 += tmp87 - tmp88 = einsum(l1.bb, (0, 1), t2.bbbb, (2, 1, 3, 0), (2, 3)) - tmp92 += tmp88 * 2 - tmp89 = einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), l2.aaaa, (3, 5, 0, 2), (1, 4)) - tmp92 += tmp89 - tmp90 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), l2.abab, (4, 5, 1, 2), (0, 3)) - tmp92 += tmp90 * 2 - tmp91 = einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), l2.bbbb, (4, 5, 1, 2), (0, 3)) - tmp92 += tmp91 * 3 - rdm2.bbbb.oovo = einsum(tmp92, (0, 1), delta.bb.oo, (2, 3), (0, 2, 1, 3)) - rdm2.bbbb.oovo += einsum(tmp92, (0, 1), delta.bb.oo, (2, 3), (2, 0, 1, 3)) * -1 - tmp133 = einsum(t2.bbbb, (0, 1, 2, 3), l1.bb, (3, 4), (4, 0, 1, 2)) - rdm2.bbbb.oovo += np.transpose(tmp133, (2, 1, 3, 0)) * 2 - tmp134 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), l2.abab, (4, 5, 1, 6), (6, 0, 2, 3)) - rdm2.bbbb.oovo += np.transpose(tmp134, (2, 1, 3, 0)) * 2 - tmp135 = einsum(l2.bbbb, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 3, 6, 0, 1), (2, 4, 5, 6)) - rdm2.bbbb.oovo += np.transpose(tmp135, (2, 1, 3, 0)) * 6 - tmp140 = einsum(t2.abab, (0, 1, 2, 3), tmp96, (0, 1, 4, 2), (4, 3)) - tmp144 = np.copy(tmp140) - del tmp140 - tmp141 = einsum(tmp98, (0, 1, 2, 3), t2.bbbb, (0, 1, 4, 3), (2, 4)) * -3 - tmp144 += tmp141 - del tmp141 - tmp105 = np.copy(tmp100) - tmp105 += tmp101 * 2 - tmp105 += tmp102 - tmp105 += tmp103 * 2 - tmp105 += tmp104 * 3 - tmp142 = einsum(t1.bb, (0, 1), tmp105, (1, 2), (0, 2)) * 0.5 - tmp144 += tmp142 - del tmp142 - tmp138 = np.copy(tmp17) - tmp138 += tmp18 - tmp138 += tmp19 * 2 - tmp138 += tmp20 - tmp138 += tmp21 * 2 - tmp138 += tmp22 * 3 - tmp143 = einsum(t1.bb, (0, 1), tmp138, (0, 2), (2, 1)) * 0.49999999999998007 - tmp144 += tmp143 - del tmp143 - rdm2.bbbb.oovo += einsum(tmp144, (0, 1), delta.bb.oo, (2, 3), (0, 2, 1, 3)) * -2 - rdm2.bbbb.oovo += einsum(tmp144, (0, 1), delta.bb.oo, (2, 3), (2, 0, 1, 3)) * 2 - tmp194 = einsum(t2.bbbb, (0, 1, 2, 3), tmp44, (1, 4, 5, 3), (0, 4, 5, 2)) * 4 - rdm2.bbbb.oovo += np.transpose(tmp194, (2, 0, 3, 1)) - tmp145 = einsum(t2.abab, (0, 1, 2, 3), tmp96, (0, 4, 5, 2), (4, 5, 1, 3)) * 2 - rdm2.bbbb.oovo += np.transpose(tmp145, (1, 2, 3, 0)) - tmp153 = einsum(t1.bb, (0, 1), tmp152, (2, 3, 1, 4), (2, 3, 0, 4)) * 4 - del tmp152 - rdm2.bbbb.oovo += np.transpose(tmp153, (2, 1, 3, 0)) - tmp195 = np.copy(tmp17) - tmp195 += tmp18 - tmp195 += tmp19 * 2 - tmp195 += tmp20 - tmp195 += tmp21 * 2 - tmp195 += tmp22 * 3 - rdm2.bbbb.oovo += einsum(t1.bb, (0, 1), tmp195, (2, 3), (3, 0, 1, 2)) - rdm2.bbbb.oovo += np.transpose(tmp145, (2, 1, 3, 0)) * -1 - rdm2.bbbb.oovo += np.transpose(tmp194, (0, 2, 3, 1)) * -1 - del tmp194 - rdm2.bbbb.oovo += np.transpose(tmp153, (1, 2, 3, 0)) * -1 - rdm2.bbbb.oovo += einsum(t1.bb, (0, 1), tmp195, (2, 3), (0, 3, 1, 2)) * -1 - tmp157 = einsum(tmp156, (0, 1, 2, 3), t2.bbbb, (4, 5, 1, 2), (0, 4, 5, 3)) * 6 - rdm2.bbbb.oovo += np.transpose(tmp157, (2, 1, 3, 0)) - tmp196 = np.copy(np.transpose(tmp39, (1, 0, 3, 2))) * 0.3333333333333269 - tmp196 += np.transpose(tmp37, (1, 0, 3, 2)) * 0.3333333333333336 - tmp196 += np.transpose(tmp38, (1, 0, 3, 2)) - tmp196 += einsum(t1.bb, (0, 1), tmp158, (2, 3, 4, 1), (3, 2, 0, 4)) * -0.3333333333333269 - rdm2.bbbb.oovo += einsum(tmp196, (0, 1, 2, 3), t1.bb, (0, 4), (3, 2, 4, 1)) * -6 - del tmp196 - tmp162 = einsum(t1.bb, (0, 1), tmp161, (2, 3, 1, 4), (2, 3, 0, 4)) * -6 - del tmp161 - rdm2.bbbb.oovo += np.transpose(tmp162, (2, 1, 3, 0)) * -1 - tmp197 = einsum(tmp44, (0, 1, 2, 3), t1.bb, (4, 3), (4, 0, 1, 2)) * 0.3333333333333333 - rdm2.bbbb.oovo += einsum(t1.bb, (0, 1), tmp197, (2, 3, 0, 4), (2, 4, 1, 3)) * -6 - tmp132 = np.copy(t1.bb) * 0.5 - tmp132 += tmp87 * 0.5 - tmp132 += tmp88 - tmp132 += tmp89 * 0.5 - tmp132 += tmp90 - tmp132 += tmp91 * 1.5 - rdm2.bbbb.ooov = einsum(tmp132, (0, 1), delta.bb.oo, (2, 3), (0, 2, 3, 1)) * -2 - rdm2.bbbb.ooov += einsum(delta.bb.oo, (0, 1), tmp132, (2, 3), (0, 2, 1, 3)) * 2 - del tmp132 - rdm2.bbbb.ooov += np.transpose(tmp133, (2, 1, 0, 3)) * -2 - rdm2.bbbb.ooov += np.transpose(tmp134, (2, 1, 0, 3)) * -2 - rdm2.bbbb.ooov += np.transpose(tmp135, (2, 1, 0, 3)) * -6 - tmp139 = einsum(t2.abab, (0, 1, 2, 3), tmp96, (0, 1, 4, 2), (4, 3)) * 2 - tmp136 = np.copy(np.transpose(tmp42, (1, 0, 2, 3))) * -0.33333333333333337 - del tmp42 - tmp136 += np.transpose(tmp43, (1, 0, 2, 3)) * -1 - del tmp43 - tmp139 += einsum(t2.bbbb, (0, 1, 2, 3), tmp136, (0, 1, 4, 3), (4, 2)) * -6 - del tmp136 - tmp137 = np.copy(tmp100) - tmp137 += tmp101 * 2 - tmp137 += tmp102 - tmp137 += tmp103 * 2 - tmp137 += tmp104 * 3 - tmp139 += einsum(t1.bb, (0, 1), tmp137, (1, 2), (0, 2)) - del tmp137 - tmp139 += einsum(t1.bb, (0, 1), tmp138, (0, 2), (2, 1)) - rdm2.bbbb.ooov += einsum(tmp139, (0, 1), delta.bb.oo, (2, 3), (0, 2, 3, 1)) - del tmp139 - rdm2.bbbb.ooov += einsum(tmp144, (0, 1), delta.bb.oo, (2, 3), (2, 0, 3, 1)) * -2 - rdm2.bbbb.ooov += np.transpose(tmp145, (1, 2, 0, 3)) * -1 - tmp146 = einsum(tmp98, (0, 1, 2, 3), t2.bbbb, (4, 0, 5, 3), (1, 2, 4, 5)) * 12 - rdm2.bbbb.ooov += np.transpose(tmp146, (1, 2, 0, 3)) * -1 - rdm2.bbbb.ooov += np.transpose(tmp153, (2, 1, 0, 3)) * -1 - rdm2.bbbb.ooov += einsum(t1.bb, (0, 1), tmp36, (2, 3), (3, 0, 2, 1)) * -2 - rdm2.bbbb.ooov += np.transpose(tmp146, (2, 1, 0, 3)) - del tmp146 - rdm2.bbbb.ooov += np.transpose(tmp145, (2, 1, 0, 3)) - del tmp145 - rdm2.bbbb.ooov += np.transpose(tmp153, (1, 2, 0, 3)) - del tmp153 - rdm2.bbbb.ooov += einsum(tmp36, (0, 1), t1.bb, (2, 3), (2, 1, 0, 3)) * 2 - rdm2.bbbb.ooov += np.transpose(tmp157, (2, 1, 0, 3)) * -1 - del tmp157 - tmp159 = np.copy(np.transpose(tmp39, (1, 0, 3, 2))) - tmp159 += np.transpose(tmp37, (1, 0, 3, 2)) - tmp159 += np.transpose(tmp38, (1, 0, 3, 2)) * 3 - tmp159 += einsum(t1.bb, (0, 1), tmp158, (2, 3, 4, 1), (3, 2, 0, 4)) * -1 - del tmp158 - rdm2.bbbb.ooov += einsum(t1.bb, (0, 1), tmp159, (0, 2, 3, 4), (4, 3, 2, 1)) * 2 - del tmp159 - rdm2.bbbb.ooov += np.transpose(tmp162, (2, 1, 0, 3)) - del tmp162 - rdm2.bbbb.ooov += einsum(tmp45, (0, 1, 2, 3), t1.bb, (2, 4), (0, 3, 1, 4)) * 2 - del tmp45 - tmp163 = np.copy(t1.aa) * 0.5 - tmp163 += tmp46 - tmp163 += tmp47 * 0.5 - tmp163 += tmp48 * 1.5 - tmp163 += tmp49 - tmp163 += tmp50 * 0.5 - rdm2.aaaa.oovo = einsum(tmp163, (0, 1), delta.aa.oo, (2, 3), (0, 2, 1, 3)) * 2 - rdm2.aaaa.oovo += einsum(delta.aa.oo, (0, 1), tmp163, (2, 3), (0, 2, 3, 1)) * -2 - rdm2.aaaa.oovo += np.transpose(tmp52, (2, 1, 3, 0)) * 2 - rdm2.aaaa.oovo += np.transpose(tmp53, (2, 1, 3, 0)) * 2 - rdm2.aaaa.oovo += np.transpose(tmp54, (2, 1, 3, 0)) * 6 - tmp164 = np.copy(np.transpose(tmp13, (1, 0, 2, 3))) * -3 - del tmp13 - tmp164 += np.transpose(tmp14, (1, 0, 2, 3)) * -1 - del tmp14 - tmp165 = einsum(tmp164, (0, 1, 2, 3), t2.aaaa, (0, 1, 4, 3), (2, 4)) * -2 - del tmp164 - tmp171 = np.copy(tmp165) - del tmp165 - tmp166 = einsum(t2.abab, (0, 1, 2, 3), tmp57, (0, 4, 1, 3), (4, 2)) * 2 - tmp171 += tmp166 - del tmp166 - tmp167 = np.copy(tmp59) - tmp167 += tmp60 * 0.5 - tmp167 += tmp61 * 1.4999999999999392 - tmp167 += tmp62 - tmp167 += tmp63 * 0.49999999999998 - tmp168 = einsum(t1.aa, (0, 1), tmp167, (1, 2), (0, 2)) * 2 - del tmp167 - tmp171 += tmp168 - del tmp168 - tmp169 = np.copy(tmp0) * 0.33333333333334686 - tmp169 += tmp1 * 0.6666666666666937 - tmp169 += tmp2 * 0.33333333333334686 - tmp169 += tmp3 - tmp169 += tmp4 * 0.6666666666666667 - tmp169 += tmp5 * 0.33333333333333354 - tmp170 = einsum(t1.aa, (0, 1), tmp169, (0, 2), (2, 1)) * 3 - del tmp169 - tmp171 += tmp170 - del tmp170 - rdm2.aaaa.oovo += einsum(delta.aa.oo, (0, 1), tmp171, (2, 3), (2, 0, 3, 1)) * -1 - rdm2.aaaa.oovo += einsum(tmp68, (0, 1), delta.aa.oo, (2, 3), (2, 0, 1, 3)) * 2 - tmp172 = einsum(tmp15, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 3), (4, 1, 2, 5)) * 12 - rdm2.aaaa.oovo += np.transpose(tmp172, (2, 0, 3, 1)) - rdm2.aaaa.oovo += np.transpose(tmp70, (2, 0, 3, 1)) - rdm2.aaaa.oovo += np.transpose(tmp77, (0, 2, 3, 1)) - tmp116 = np.copy(tmp0) * 0.5 - del tmp0 - tmp116 += tmp1 - del tmp1 - tmp116 += tmp2 * 0.5 - del tmp2 - tmp116 += tmp3 * 1.4999999999999394 - del tmp3 - tmp116 += tmp4 - del tmp4 - tmp116 += tmp5 * 0.49999999999998007 - del tmp5 - rdm2.aaaa.oovo += einsum(tmp116, (0, 1), t1.aa, (2, 3), (1, 2, 3, 0)) * 2 - rdm2.aaaa.oovo += np.transpose(tmp172, (0, 2, 3, 1)) * -1 - del tmp172 - rdm2.aaaa.oovo += np.transpose(tmp70, (0, 2, 3, 1)) * -1 - del tmp70 - rdm2.aaaa.oovo += np.transpose(tmp77, (2, 0, 3, 1)) * -1 - del tmp77 - rdm2.aaaa.oovo += einsum(tmp116, (0, 1), t1.aa, (2, 3), (2, 1, 3, 0)) * -2 - rdm2.aaaa.oovo += np.transpose(tmp82, (1, 0, 3, 2)) - del tmp82 - tmp173 = np.copy(np.transpose(tmp10, (1, 0, 3, 2))) - tmp173 += np.transpose(tmp8, (1, 0, 3, 2)) * 3 - tmp173 += np.transpose(tmp9, (1, 0, 3, 2)) - tmp173 += einsum(t1.aa, (0, 1), tmp83, (2, 3, 4, 1), (3, 2, 0, 4)) * -1 - del tmp83 - rdm2.aaaa.oovo += einsum(tmp173, (0, 1, 2, 3), t1.aa, (0, 4), (3, 2, 4, 1)) * -2 - del tmp173 - rdm2.aaaa.oovo += np.transpose(tmp86, (0, 2, 3, 1)) * -1 - del tmp86 - tmp174 = einsum(t1.aa, (0, 1), tmp15, (2, 3, 4, 1), (3, 2, 0, 4)) * -1 - rdm2.aaaa.oovo += einsum(tmp174, (0, 1, 2, 3), t1.aa, (0, 4), (2, 3, 4, 1)) * 6 - del tmp174 - rdm2.abab.oovo = einsum(tmp163, (0, 1), delta.bb.oo, (2, 3), (0, 2, 1, 3)) * 2 - del tmp163 - tmp175 = einsum(l2.bbbb, (0, 1, 2, 3), t3.babbab, (4, 5, 3, 0, 6, 1), (5, 2, 4, 6)) - rdm2.abab.oovo += np.transpose(tmp175, (0, 2, 3, 1)) * -2 - tmp176 = einsum(l1.bb, (0, 1), t2.abab, (2, 3, 4, 0), (2, 1, 3, 4)) - rdm2.abab.oovo += np.transpose(tmp176, (0, 2, 3, 1)) * -1 - tmp177 = einsum(l2.abab, (0, 1, 2, 3), t3.abaaba, (4, 5, 2, 6, 1, 0), (4, 3, 5, 6)) - rdm2.abab.oovo += np.transpose(tmp177, (0, 2, 3, 1)) * -2 - rdm2.abab.oovo += einsum(delta.bb.oo, (0, 1), tmp171, (2, 3), (2, 0, 3, 1)) * -1 - del tmp171 - rdm2.abab.oovo += einsum(t2.aaaa, (0, 1, 2, 3), tmp96, (1, 4, 5, 3), (0, 5, 2, 4)) * -4 - rdm2.abab.oovo += einsum(t2.abab, (0, 1, 2, 3), tmp44, (1, 4, 5, 3), (0, 5, 2, 4)) * -2 - tmp183 = np.copy(tmp178) * 0.5 - tmp183 += tmp179 * 0.5 - tmp183 += tmp180 * 0.75 - tmp183 += tmp181 - tmp183 += tmp182 * 0.75 - rdm2.abab.oovo += einsum(tmp183, (0, 1, 2, 3), t1.bb, (4, 3), (0, 4, 2, 1)) * -4 - del tmp183 - tmp184 = np.copy(tmp17) * 0.5000000000000202 - tmp184 += tmp18 * 0.5000000000000202 - tmp184 += tmp19 - tmp184 += tmp20 * 0.5000000000000002 - tmp184 += tmp21 - tmp184 += tmp22 * 1.4999999999999998 - rdm2.abab.oovo += einsum(t1.aa, (0, 1), tmp184, (2, 3), (0, 3, 1, 2)) * -2 - del tmp184 - rdm2.abab.oovo += einsum(tmp187, (0, 1, 2, 3), t2.abab, (4, 5, 1, 3), (4, 5, 2, 0)) * 2 - tmp188 = np.copy(tmp24) * 0.4999999999999899 - tmp188 += tmp26 * 0.4999999999999899 - tmp188 += tmp27 - tmp188 += tmp28 - tmp188 += einsum(t1.bb, (0, 1), tmp57, (2, 3, 4, 1), (2, 3, 4, 0)) - rdm2.abab.oovo += einsum(t1.aa, (0, 1), tmp188, (0, 2, 3, 4), (2, 4, 1, 3)) * 2 - del tmp188 - rdm2.abab.oovo += einsum(tmp189, (0, 1, 2, 3), t1.aa, (4, 2), (4, 1, 3, 0)) * 2 - rdm2.abab.oovo += einsum(tmp57, (0, 1, 2, 3), t2.abab, (0, 4, 5, 3), (1, 4, 5, 2)) * 2 - tmp193 = np.copy(tmp190) * 0.5 - tmp193 += tmp191 - tmp193 += tmp192 - rdm2.abab.oovo += einsum(t1.aa, (0, 1), tmp193, (2, 3, 1, 4), (0, 3, 4, 2)) * 2 - del tmp193 - tmp131 = einsum(t1.aa, (0, 1), tmp96, (2, 3, 4, 1), (2, 0, 3, 4)) - rdm2.abab.oovo += einsum(t1.aa, (0, 1), tmp131, (0, 2, 3, 4), (2, 4, 1, 3)) * 2 - rdm2.abab.ooov = einsum(delta.aa.oo, (0, 1), tmp92, (2, 3), (0, 2, 1, 3)) - tmp93 = einsum(l2.aaaa, (0, 1, 2, 3), t3.abaaba, (4, 5, 3, 0, 6, 1), (2, 4, 5, 6)) - rdm2.abab.ooov += np.transpose(tmp93, (1, 2, 0, 3)) * -2 - tmp94 = einsum(t2.abab, (0, 1, 2, 3), l1.aa, (2, 4), (4, 0, 1, 3)) - rdm2.abab.ooov += np.transpose(tmp94, (1, 2, 0, 3)) * -1 - tmp95 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), l2.abab, (4, 5, 6, 2), (6, 1, 0, 3)) - rdm2.abab.ooov += np.transpose(tmp95, (1, 2, 0, 3)) * -2 - tmp97 = einsum(t2.abab, (0, 1, 2, 3), tmp96, (0, 1, 4, 2), (4, 3)) * 0.3333333333333333 - tmp109 = np.copy(tmp97) - del tmp97 - tmp99 = einsum(tmp98, (0, 1, 2, 3), t2.bbbb, (0, 1, 4, 3), (2, 4)) * -1 - tmp109 += tmp99 - del tmp99 - tmp106 = einsum(t1.bb, (0, 1), tmp105, (1, 2), (0, 2)) * 0.16666666666666666 - tmp109 += tmp106 - del tmp106 - tmp107 = np.copy(tmp17) - del tmp17 - tmp107 += tmp18 - del tmp18 - tmp107 += tmp19 * 2 - del tmp19 - tmp107 += tmp20 - del tmp20 - tmp107 += tmp21 * 2 - del tmp21 - tmp107 += tmp22 * 3 - del tmp22 - tmp108 = einsum(t1.bb, (0, 1), tmp107, (0, 2), (2, 1)) * 0.16666666666666002 - del tmp107 - tmp109 += tmp108 - del tmp108 - rdm2.abab.ooov += einsum(delta.aa.oo, (0, 1), tmp109, (2, 3), (0, 2, 1, 3)) * -6 - del delta - rdm2.abab.ooov += einsum(t2.bbbb, (0, 1, 2, 3), tmp57, (4, 5, 1, 3), (5, 0, 4, 2)) * -4 - rdm2.abab.ooov += einsum(t2.abab, (0, 1, 2, 3), tmp55, (0, 4, 5, 2), (5, 1, 4, 3)) * -2 - tmp115 = np.copy(tmp110) * 0.6666666666666666 - tmp115 += tmp111 * 0.6666666666666666 - tmp115 += tmp112 - tmp115 += tmp113 * 1.3333333333333333 - tmp115 += tmp114 - rdm2.abab.ooov += einsum(tmp115, (0, 1, 2, 3), t1.aa, (4, 2), (4, 1, 0, 3)) * -3 - del tmp115 - rdm2.abab.ooov += einsum(tmp116, (0, 1), t1.bb, (2, 3), (1, 2, 0, 3)) * -2 - del tmp116 - tmp120 = einsum(tmp119, (0, 1, 2, 3), t2.abab, (4, 5, 1, 2), (0, 4, 5, 3)) * 2 - rdm2.abab.ooov += np.transpose(tmp120, (1, 2, 0, 3)) - tmp122 = np.copy(tmp24) * 0.5 - tmp122 += tmp26 * 0.5 - del tmp26 - tmp122 += tmp27 - tmp122 += tmp28 - tmp121 = einsum(tmp57, (0, 1, 2, 3), t1.bb, (4, 3), (0, 1, 4, 2)) - tmp122 += np.transpose(tmp121, (0, 1, 3, 2)) - del tmp121 - tmp123 = einsum(t1.bb, (0, 1), tmp122, (2, 3, 0, 4), (2, 3, 4, 1)) * 2 - del tmp122 - rdm2.abab.ooov += np.transpose(tmp123, (1, 2, 0, 3)) - tmp125 = einsum(t1.bb, (0, 1), tmp124, (2, 3, 1, 4), (2, 3, 0, 4)) * 2 - del tmp124 - rdm2.abab.ooov += np.transpose(tmp125, (1, 2, 0, 3)) - tmp126 = einsum(t2.abab, (0, 1, 2, 3), tmp96, (4, 1, 5, 2), (4, 0, 5, 3)) * 2 - rdm2.abab.ooov += np.transpose(tmp126, (1, 2, 0, 3)) - tmp130 = np.copy(tmp127) * 0.5 - del tmp127 - tmp130 += tmp128 - tmp130 += tmp129 - rdm2.abab.ooov += einsum(t1.bb, (0, 1), tmp130, (2, 3, 1, 4), (3, 0, 2, 4)) * 2 - del tmp130 - rdm2.abab.ooov += einsum(t1.bb, (0, 1), tmp131, (2, 3, 0, 4), (3, 4, 2, 1)) * 2 - tmp199 = einsum(l1.bb, (0, 1), t3.abaaba, (2, 1, 3, 4, 0, 5), (2, 3, 4, 5)) - rdm2.aaaa.oovv = np.copy(np.transpose(tmp199, (1, 0, 3, 2))) * 2 - del tmp199 - rdm2.aaaa.oovv += t2.aaaa * 2 - tmp200 = einsum(l1.aa, (0, 1), t3.aaaaaa, (2, 3, 1, 4, 5, 0), (2, 3, 4, 5)) - rdm2.aaaa.oovv += np.transpose(tmp200, (1, 0, 3, 2)) * 6 - del tmp200 - tmp201 = np.copy(tmp59) - tmp201 += tmp60 * 0.5000000000000203 - tmp201 += tmp61 * 1.5000000000000024 - tmp201 += tmp62 - tmp201 += tmp63 * 0.5000000000000001 - rdm2.aaaa.oovv += einsum(tmp201, (0, 1), t2.aaaa, (2, 3, 4, 0), (2, 3, 4, 1)) * -4 - del tmp201 - tmp202 = np.copy(tmp61) * 3 - tmp202 += tmp62 * 2 - tmp202 += tmp63 - rdm2.aaaa.oovv += einsum(t2.aaaa, (0, 1, 2, 3), tmp202, (3, 4), (0, 1, 4, 2)) * 2 - del tmp202 - tmp203 = einsum(tmp178, (0, 1, 2, 3), t2.abab, (4, 1, 5, 3), (0, 4, 2, 5)) - rdm2.aaaa.oovv += np.transpose(tmp203, (0, 1, 3, 2)) * -2 - rdm2.aaaa.oovv += np.transpose(tmp203, (1, 0, 2, 3)) * -2 - tmp204 = np.copy(tmp179) - tmp204 += tmp180 * 1.5 - tmp204 += tmp181 * 2 - tmp204 += tmp182 * 1.5 - rdm2.aaaa.oovv += einsum(t2.abab, (0, 1, 2, 3), tmp204, (4, 1, 5, 3), (4, 0, 2, 5)) * -2 - del tmp204 - tmp205 = np.copy(tmp71) - tmp205 += tmp73 * 2.25 - tmp205 += tmp74 - tmp205 += tmp75 * 0.25 - rdm2.aaaa.oovv += einsum(tmp205, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 2), (1, 4, 5, 3)) * -8 - del tmp205 - rdm2.aaaa.oovv += einsum(t1.aa, (0, 1), tmp51, (2, 3), (2, 0, 1, 3)) * -1 - rdm2.aaaa.oovv += einsum(tmp179, (0, 1, 2, 3), t2.abab, (4, 1, 5, 3), (0, 4, 2, 5)) * 2 - del tmp179 - rdm2.aaaa.oovv += einsum(t2.aaaa, (0, 1, 2, 3), tmp71, (1, 4, 3, 5), (4, 0, 5, 2)) * 8 - rdm2.aaaa.oovv += tmp203 * 2 - rdm2.aaaa.oovv += np.transpose(tmp203, (1, 0, 3, 2)) * 2 - del tmp203 - tmp206 = np.copy(tmp180) - tmp206 += tmp181 * 1.3333333333333333 - tmp206 += tmp182 - tmp207 = einsum(tmp206, (0, 1, 2, 3), t2.abab, (4, 1, 5, 3), (0, 4, 2, 5)) * 3 - del tmp206 - rdm2.aaaa.oovv += np.transpose(tmp207, (1, 0, 3, 2)) - tmp208 = np.copy(tmp73) * 2.25 - tmp208 += tmp74 - tmp208 += tmp75 * 0.25 - rdm2.aaaa.oovv += einsum(tmp208, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 2), (4, 1, 5, 3)) * 8 - del tmp208 - rdm2.aaaa.oovv += einsum(t1.aa, (0, 1), tmp51, (2, 3), (0, 2, 1, 3)) - del tmp51 - tmp209 = np.copy(tmp73) * 9 - del tmp73 - tmp209 += tmp74 * 4 - del tmp74 - tmp209 += tmp75 - del tmp75 - tmp210 = einsum(t2.aaaa, (0, 1, 2, 3), tmp209, (1, 4, 3, 5), (4, 0, 5, 2)) * 2 - rdm2.aaaa.oovv += tmp210 - rdm2.aaaa.oovv += tmp207 - tmp211 = np.copy(tmp46) * 0.6666666666666666 - tmp211 += tmp47 * 0.3333333333333333 - tmp211 += tmp48 - tmp211 += tmp49 * 0.6666666666666666 - tmp211 += tmp50 * 0.3333333333333333 - rdm2.aaaa.oovv += einsum(t1.aa, (0, 1), tmp211, (2, 3), (2, 0, 3, 1)) * 3 - rdm2.aaaa.oovv += np.transpose(tmp210, (1, 0, 2, 3)) * -1 - del tmp210 - rdm2.aaaa.oovv += np.transpose(tmp207, (1, 0, 2, 3)) * -1 - del tmp207 - rdm2.aaaa.oovv += einsum(t1.aa, (0, 1), tmp211, (2, 3), (0, 2, 3, 1)) * -3 - del tmp211 - tmp212 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.aaaaaa, (6, 7, 5, 8, 0, 2), (3, 6, 7, 4, 8, 1)) - tmp214 = np.copy(np.transpose(tmp212, (0, 2, 1, 3, 4, 5))) * -1 - tmp213 = einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.abaaba, (6, 5, 7, 8, 2, 1), (4, 6, 7, 3, 8, 0)) - tmp214 += np.transpose(tmp213, (0, 2, 1, 3, 4, 5)) * -0.6666666666666666 - rdm2.aaaa.oovv += einsum(t2.abab, (0, 1, 2, 3), tmp214, (0, 4, 5, 1, 6, 3), (5, 4, 2, 6)) * -6 - del tmp214 - tmp215 = einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), l3.aaaaaa, (6, 4, 5, 7, 8, 2), (7, 8, 0, 1, 6, 3)) - tmp217 = np.copy(np.transpose(tmp215, (1, 0, 3, 2, 4, 5))) * 4.5 - tmp216 = einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), l3.abaaba, (6, 4, 5, 7, 1, 8), (7, 8, 0, 2, 6, 3)) - tmp217 += np.transpose(tmp216, (1, 0, 3, 2, 4, 5)) - rdm2.aaaa.oovv += einsum(t2.aaaa, (0, 1, 2, 3), tmp217, (0, 1, 4, 5, 3, 6), (5, 4, 2, 6)) * 4 - del tmp217 - tmp218 = np.copy(tmp59) * 2 - del tmp59 - tmp218 += tmp60 - del tmp60 - rdm2.aaaa.oovv += einsum(tmp218, (0, 1), t2.aaaa, (2, 3, 4, 0), (2, 3, 1, 4)) * 2 - tmp219 = np.copy(np.transpose(tmp52, (0, 2, 1, 3))) * -1 - tmp219 += np.transpose(tmp54, (0, 2, 1, 3)) * -3 - tmp219 += np.transpose(tmp53, (0, 2, 1, 3)) * -1 - rdm2.aaaa.oovv += einsum(t1.aa, (0, 1), tmp219, (0, 2, 3, 4), (3, 2, 1, 4)) * -2 - del tmp219 - tmp220 = np.copy(np.transpose(tmp215, (1, 0, 3, 2, 4, 5))) - del tmp215 - tmp220 += np.transpose(tmp216, (1, 0, 3, 2, 4, 5)) * 0.2222222222222222 - del tmp216 - rdm2.aaaa.oovv += einsum(tmp220, (0, 1, 2, 3, 4, 5), t2.aaaa, (0, 1, 6, 4), (3, 2, 5, 6)) * -18 - del tmp220 - tmp221 = np.copy(np.transpose(tmp212, (0, 2, 1, 3, 4, 5))) * -1.5 - del tmp212 - tmp221 += np.transpose(tmp213, (0, 2, 1, 3, 4, 5)) * -1 - del tmp213 - rdm2.aaaa.oovv += einsum(t2.abab, (0, 1, 2, 3), tmp221, (0, 4, 5, 1, 6, 3), (5, 4, 6, 2)) * 4 - del tmp221 - tmp222 = np.copy(np.transpose(tmp52, (0, 2, 1, 3))) * -0.3333333333333333 - del tmp52 - tmp222 += np.transpose(tmp54, (0, 2, 1, 3)) * -1 - del tmp54 - tmp222 += np.transpose(tmp53, (0, 2, 1, 3)) * -0.3333333333333333 - del tmp53 - rdm2.aaaa.oovv += einsum(t1.aa, (0, 1), tmp222, (0, 2, 3, 4), (3, 2, 4, 1)) * 6 - del tmp222 - tmp223 = einsum(tmp15, (0, 1, 2, 3), t3.aaaaaa, (4, 0, 1, 5, 6, 3), (4, 2, 5, 6)) * -9 - del tmp15 - rdm2.aaaa.oovv += tmp223 * -2 - tmp224 = einsum(tmp57, (0, 1, 2, 3), t3.abaaba, (4, 2, 0, 5, 3, 6), (4, 1, 5, 6)) * -2 - rdm2.aaaa.oovv += np.transpose(tmp224, (0, 1, 3, 2)) * -2 - tmp230 = np.copy(np.transpose(tmp225, (0, 1, 3, 2))) * 1.5 - tmp230 += np.transpose(tmp226, (0, 1, 3, 2)) * 0.5 - tmp228 = einsum(t2.aaaa, (0, 1, 2, 3), tmp227, (1, 3, 4, 5), (0, 4, 5, 2)) * 2 - tmp230 += tmp228 - tmp229 = einsum(t2.abab, (0, 1, 2, 3), tmp187, (1, 4, 5, 3), (0, 4, 5, 2)) - tmp230 += tmp229 - tmp231 = einsum(t1.aa, (0, 1), tmp230, (2, 1, 3, 4), (2, 0, 3, 4)) * 2 - del tmp230 - rdm2.aaaa.oovv += np.transpose(tmp231, (0, 1, 3, 2)) * -1 - tmp232 = einsum(tmp78, (0, 1), t2.aaaa, (2, 0, 3, 4), (2, 1, 3, 4)) * -1 - del tmp78 - rdm2.aaaa.oovv += np.transpose(tmp232, (0, 1, 3, 2)) * -2 - rdm2.aaaa.oovv += einsum(tmp68, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1)) * -2 - tmp233 = np.copy(np.transpose(tmp225, (0, 1, 3, 2))) * -1 - del tmp225 - tmp233 += np.transpose(tmp226, (0, 1, 3, 2)) * -0.3333333333333333 - del tmp226 - tmp234 = einsum(t1.aa, (0, 1), tmp233, (2, 1, 3, 4), (2, 0, 3, 4)) * 3 - del tmp233 - rdm2.aaaa.oovv += np.transpose(tmp234, (0, 1, 3, 2)) - rdm2.aaaa.oovv += einsum(tmp68, (0, 1), t1.aa, (2, 3), (2, 0, 1, 3)) * 2 - rdm2.aaaa.oovv += np.transpose(tmp224, (1, 0, 3, 2)) * 2 - del tmp224 - rdm2.aaaa.oovv += np.transpose(tmp223, (1, 0, 2, 3)) * 2 - del tmp223 - rdm2.aaaa.oovv += np.transpose(tmp231, (1, 0, 3, 2)) - del tmp231 - rdm2.aaaa.oovv += np.transpose(tmp232, (1, 0, 3, 2)) * 2 - del tmp232 - rdm2.aaaa.oovv += einsum(t1.aa, (0, 1), tmp68, (2, 3), (2, 0, 1, 3)) * 2 - rdm2.aaaa.oovv += np.transpose(tmp234, (1, 0, 3, 2)) * -1 - del tmp234 - rdm2.aaaa.oovv += einsum(tmp68, (0, 1), t1.aa, (2, 3), (0, 2, 1, 3)) * -2 - del tmp68 - tmp237 = np.copy(np.transpose(tmp235, (1, 0, 3, 2))) - del tmp235 - tmp237 += np.transpose(tmp236, (1, 0, 3, 2)) * 0.33333333333333354 - del tmp236 - tmp238 = einsum(t2.aaaa, (0, 1, 2, 3), tmp237, (2, 3, 4, 5), (0, 1, 4, 5)) * 3 - del tmp237 - rdm2.aaaa.oovv += np.transpose(tmp238, (1, 0, 3, 2)) * 2 - del tmp238 - tmp239 = np.copy(np.transpose(tmp10, (1, 0, 3, 2))) * 0.3333333333333468 - tmp239 += np.transpose(tmp8, (1, 0, 3, 2)) - tmp239 += np.transpose(tmp9, (1, 0, 3, 2)) * 0.33333333333333354 - tmp240 = einsum(t2.aaaa, (0, 1, 2, 3), tmp239, (0, 1, 4, 5), (4, 5, 2, 3)) * 3 - del tmp239 - rdm2.aaaa.oovv += np.transpose(tmp240, (1, 0, 3, 2)) * 2 - del tmp240 - tmp244 = einsum(t1.aa, (0, 1), tmp243, (2, 1, 3, 4), (2, 0, 4, 3)) - del tmp243 - rdm2.aaaa.oovv += np.transpose(tmp244, (1, 0, 3, 2)) * -2 - del tmp244 - tmp246 = einsum(t2.aaaa, (0, 1, 2, 3), tmp81, (4, 2, 3, 5), (4, 0, 1, 5)) * 3 - tmp245 = np.copy(np.transpose(tmp10, (1, 0, 3, 2))) * 0.3333333333333333 - del tmp10 - tmp245 += np.transpose(tmp12, (1, 0, 3, 2)) * 0.3333333333333333 - del tmp12 - tmp245 += np.transpose(tmp8, (1, 0, 3, 2)) - del tmp8 - tmp245 += np.transpose(tmp9, (1, 0, 3, 2)) * 0.3333333333333401 - del tmp9 - tmp245 += einsum(t1.aa, (0, 1), tmp55, (2, 3, 4, 1), (3, 2, 4, 0)) * 0.3333333333333333 - tmp246 += einsum(t1.aa, (0, 1), tmp245, (0, 2, 3, 4), (2, 4, 3, 1)) * 3 - del tmp245 - tmp246 += einsum(tmp85, (0, 1, 2, 3), t1.aa, (4, 2), (1, 4, 0, 3)) * -3 - rdm2.aaaa.oovv += einsum(t1.aa, (0, 1), tmp246, (0, 2, 3, 4), (3, 2, 1, 4)) * -2 - del tmp246 - tmp247 = einsum(tmp55, (0, 1, 2, 3), t2.aaaa, (0, 1, 4, 5), (2, 4, 5, 3)) * 0.3333333333333333 - tmp248 = einsum(t1.aa, (0, 1), tmp247, (2, 3, 4, 1), (2, 0, 4, 3)) * -3 - del tmp247 - rdm2.aaaa.oovv += np.transpose(tmp248, (0, 1, 3, 2)) * 2 - tmp249 = einsum(t2.aaaa, (0, 1, 2, 3), tmp81, (4, 2, 3, 5), (4, 0, 1, 5)) - del tmp81 - tmp249 += einsum(tmp85, (0, 1, 2, 3), t1.aa, (4, 2), (1, 4, 0, 3)) * -1 - del tmp85 - rdm2.aaaa.oovv += einsum(tmp249, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 3, 4)) * -6 - del tmp249 - tmp250 = np.copy(tmp228) - del tmp228 - tmp250 += tmp229 - del tmp229 - tmp251 = einsum(tmp250, (0, 1, 2, 3), t1.aa, (4, 1), (0, 4, 2, 3)) * 2 - del tmp250 - rdm2.aaaa.oovv += np.transpose(tmp251, (1, 0, 2, 3)) * -1 - tmp252 = einsum(tmp55, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 3), (4, 1, 2, 5)) * 2 - tmp255 = np.copy(np.transpose(tmp252, (1, 2, 0, 3))) - del tmp252 - tmp253 = einsum(t2.abab, (0, 1, 2, 3), tmp57, (4, 5, 1, 3), (0, 4, 5, 2)) - tmp255 += np.transpose(tmp253, (1, 2, 0, 3)) - del tmp253 - tmp254 = einsum(t1.aa, (0, 1), tmp76, (2, 3, 1, 4), (0, 2, 3, 4)) * 2 - del tmp76 - tmp255 += np.transpose(tmp254, (1, 0, 2, 3)) - del tmp254 - tmp256 = einsum(t1.aa, (0, 1), tmp255, (0, 2, 3, 4), (2, 3, 4, 1)) * 2 - del tmp255 - rdm2.aaaa.oovv += np.transpose(tmp256, (0, 1, 3, 2)) * -1 - rdm2.aaaa.oovv += tmp251 - del tmp251 - rdm2.aaaa.oovv += np.transpose(tmp256, (1, 0, 3, 2)) - rdm2.aaaa.oovv += tmp256 - rdm2.aaaa.oovv += np.transpose(tmp256, (1, 0, 2, 3)) * -1 - del tmp256 - rdm2.aaaa.oovv += np.transpose(tmp248, (1, 0, 3, 2)) * -2 - del tmp248 - tmp257 = einsum(tmp16, (0, 1, 2, 3), t1.aa, (2, 4), (1, 0, 3, 4)) * 0.3333333333333333 - del tmp16 - rdm2.aaaa.oovv += einsum(t1.aa, (0, 1), tmp257, (0, 2, 3, 4), (2, 3, 1, 4)) * 6 - del tmp257 - rdm2.bbbb.oovv = np.copy(t2.bbbb) * 2 - tmp308 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), l1.aa, (4, 1), (0, 2, 3, 5)) - rdm2.bbbb.oovv += np.transpose(tmp308, (1, 0, 3, 2)) * 2 - del tmp308 - tmp309 = einsum(l1.bb, (0, 1), t3.bbbbbb, (2, 3, 1, 4, 5, 0), (2, 3, 4, 5)) - rdm2.bbbb.oovv += np.transpose(tmp309, (1, 0, 3, 2)) * 6 - del tmp309 - tmp310 = np.copy(tmp100) * 0.3333333333333463 - tmp310 += tmp101 * 0.6666666666666926 - tmp310 += tmp102 * 0.33333333333333287 - tmp310 += tmp103 * 0.6666666666666656 - tmp310 += tmp104 - rdm2.bbbb.oovv += einsum(tmp310, (0, 1), t2.bbbb, (2, 3, 4, 0), (2, 3, 4, 1)) * -6 - del tmp310 - tmp311 = np.copy(tmp102) - del tmp102 - tmp311 += tmp103 * 2 - del tmp103 - tmp311 += tmp104 * 3 - del tmp104 - rdm2.bbbb.oovv += einsum(tmp311, (0, 1), t2.bbbb, (2, 3, 4, 0), (2, 3, 1, 4)) * 2 - del tmp311 - tmp312 = einsum(t2.abab, (0, 1, 2, 3), tmp111, (0, 4, 2, 5), (1, 4, 3, 5)) - del tmp111 - rdm2.bbbb.oovv += np.transpose(tmp312, (0, 1, 3, 2)) * -2 - rdm2.bbbb.oovv += np.transpose(tmp312, (1, 0, 2, 3)) * -2 - tmp313 = np.copy(tmp148) * 0.4444444444444444 - tmp313 += tmp149 * 0.1111111111111111 - tmp313 += tmp150 * 0.4444444444444444 - tmp313 += tmp151 - rdm2.bbbb.oovv += einsum(tmp313, (0, 1, 2, 3), t2.bbbb, (4, 0, 5, 2), (1, 4, 5, 3)) * -18 - del tmp313 - tmp314 = np.copy(tmp110) * 0.5 - del tmp110 - tmp314 += tmp112 * 0.75 - tmp314 += tmp113 - tmp314 += tmp114 * 0.75 - tmp315 = einsum(tmp314, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (1, 4, 3, 5)) * 4 - del tmp314 - rdm2.bbbb.oovv += np.transpose(tmp315, (0, 1, 3, 2)) * -1 - rdm2.bbbb.oovv += einsum(tmp92, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1)) * -1 - rdm2.bbbb.oovv += einsum(tmp148, (0, 1, 2, 3), t2.bbbb, (4, 0, 5, 2), (1, 4, 3, 5)) * 8 - del tmp148 - rdm2.bbbb.oovv += tmp312 * 2 - rdm2.bbbb.oovv += np.transpose(tmp312, (1, 0, 3, 2)) * 2 - del tmp312 - rdm2.bbbb.oovv += np.transpose(tmp315, (1, 0, 3, 2)) - del tmp315 - tmp316 = np.copy(tmp149) * 0.1111111111111111 - tmp316 += tmp150 * 0.4444444444444444 - tmp316 += tmp151 - rdm2.bbbb.oovv += einsum(tmp316, (0, 1, 2, 3), t2.bbbb, (4, 0, 5, 2), (4, 1, 5, 3)) * 18 - del tmp316 - rdm2.bbbb.oovv += einsum(t1.bb, (0, 1), tmp92, (2, 3), (0, 2, 1, 3)) - tmp317 = np.copy(tmp149) - del tmp149 - tmp317 += tmp150 * 4 - del tmp150 - tmp317 += tmp151 * 9 - del tmp151 - tmp318 = einsum(t2.bbbb, (0, 1, 2, 3), tmp317, (1, 4, 3, 5), (4, 0, 5, 2)) * 2 - del tmp317 - rdm2.bbbb.oovv += tmp318 - tmp261 = np.copy(tmp112) - del tmp112 - tmp261 += tmp113 * 1.3333333333333333 - del tmp113 - tmp261 += tmp114 - del tmp114 - tmp319 = einsum(t2.abab, (0, 1, 2, 3), tmp261, (0, 4, 2, 5), (4, 1, 5, 3)) * 3 - rdm2.bbbb.oovv += tmp319 - tmp320 = np.copy(tmp87) * 0.5 - del tmp87 - tmp320 += tmp88 - del tmp88 - tmp320 += tmp89 * 0.5 - del tmp89 - tmp320 += tmp90 - del tmp90 - tmp320 += tmp91 * 1.5 - del tmp91 - rdm2.bbbb.oovv += einsum(t1.bb, (0, 1), tmp320, (2, 3), (2, 0, 3, 1)) * 2 - rdm2.bbbb.oovv += np.transpose(tmp318, (1, 0, 2, 3)) * -1 - del tmp318 - rdm2.bbbb.oovv += np.transpose(tmp319, (1, 0, 2, 3)) * -1 - del tmp319 - rdm2.bbbb.oovv += einsum(t1.bb, (0, 1), tmp320, (2, 3), (0, 2, 3, 1)) * -2 - del tmp320 - tmp321 = einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (6, 4, 7, 8, 1, 2), (3, 5, 6, 7, 0, 8)) - tmp323 = np.copy(np.transpose(tmp321, (1, 0, 3, 2, 4, 5))) * 0.2222222222222222 - tmp322 = einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), l3.bbbbbb, (6, 4, 5, 7, 8, 2), (7, 8, 0, 1, 6, 3)) - tmp323 += np.transpose(tmp322, (1, 0, 3, 2, 4, 5)) - rdm2.bbbb.oovv += einsum(tmp323, (0, 1, 2, 3, 4, 5), t2.bbbb, (0, 1, 6, 4), (3, 2, 6, 5)) * 18 - del tmp323 - tmp324 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), l3.abaaba, (6, 5, 4, 7, 8, 1), (7, 8, 0, 2, 6, 3)) - tmp326 = np.copy(np.transpose(tmp324, (0, 1, 3, 2, 4, 5))) * -1 - tmp325 = einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.bbbbbb, (6, 7, 5, 8, 0, 2), (4, 3, 6, 7, 1, 8)) - tmp326 += np.transpose(tmp325, (0, 1, 3, 2, 4, 5)) * -1.5 - rdm2.bbbb.oovv += einsum(t2.abab, (0, 1, 2, 3), tmp326, (0, 1, 4, 5, 2, 6), (5, 4, 3, 6)) * -4 - del tmp326 - tmp327 = np.copy(tmp100) - del tmp100 - tmp327 += tmp101 * 2 - del tmp101 - rdm2.bbbb.oovv += einsum(tmp327, (0, 1), t2.bbbb, (2, 3, 4, 0), (2, 3, 1, 4)) * 2 - del tmp327 - tmp328 = np.copy(np.transpose(tmp133, (0, 2, 1, 3))) * -0.3333333333333333 - tmp328 += np.transpose(tmp134, (0, 2, 1, 3)) * -0.3333333333333333 - tmp328 += np.transpose(tmp135, (0, 2, 1, 3)) * -1 - rdm2.bbbb.oovv += einsum(t1.bb, (0, 1), tmp328, (0, 2, 3, 4), (3, 2, 1, 4)) * -6 - del tmp328 - tmp329 = np.copy(np.transpose(tmp321, (1, 0, 3, 2, 4, 5))) - del tmp321 - tmp329 += np.transpose(tmp322, (1, 0, 3, 2, 4, 5)) * 4.5 - del tmp322 - rdm2.bbbb.oovv += einsum(tmp329, (0, 1, 2, 3, 4, 5), t2.bbbb, (0, 1, 6, 4), (3, 2, 5, 6)) * -4 - del tmp329 - tmp330 = np.copy(np.transpose(tmp324, (0, 1, 3, 2, 4, 5))) * -0.6666666666666666 - del tmp324 - tmp330 += np.transpose(tmp325, (0, 1, 3, 2, 4, 5)) * -1 - del tmp325 - rdm2.bbbb.oovv += einsum(t2.abab, (0, 1, 2, 3), tmp330, (0, 1, 4, 5, 2, 6), (5, 4, 6, 3)) * 6 - del tmp330 - tmp331 = np.copy(np.transpose(tmp133, (0, 2, 1, 3))) * -1 - del tmp133 - tmp331 += np.transpose(tmp134, (0, 2, 1, 3)) * -1 - del tmp134 - tmp331 += np.transpose(tmp135, (0, 2, 1, 3)) * -3 - del tmp135 - rdm2.bbbb.oovv += einsum(tmp331, (0, 1, 2, 3), t1.bb, (0, 4), (2, 1, 3, 4)) * 2 - del tmp331 - tmp332 = einsum(tmp44, (0, 1, 2, 3), t3.bbbbbb, (4, 0, 1, 5, 6, 3), (4, 2, 5, 6)) * -3 - rdm2.bbbb.oovv += tmp332 * -2 - tmp333 = einsum(tmp96, (0, 1, 2, 3), t3.babbab, (4, 0, 1, 5, 3, 6), (2, 4, 5, 6)) * -2 - rdm2.bbbb.oovv += np.transpose(tmp333, (1, 0, 3, 2)) * -2 - tmp338 = np.copy(np.transpose(tmp334, (0, 1, 3, 2))) * 0.08333333333333333 - tmp338 += np.transpose(tmp335, (0, 1, 3, 2)) * 0.25 - tmp336 = einsum(t2.abab, (0, 1, 2, 3), tmp119, (0, 2, 4, 5), (1, 4, 5, 3)) * 0.16666666666666666 - del tmp119 - tmp338 += tmp336 - tmp337 = einsum(t2.bbbb, (0, 1, 2, 3), tmp156, (1, 3, 4, 5), (0, 4, 5, 2)) - del tmp156 - tmp338 += tmp337 - del tmp337 - tmp339 = einsum(t1.bb, (0, 1), tmp338, (2, 1, 3, 4), (2, 0, 3, 4)) * 12 - del tmp338 - rdm2.bbbb.oovv += np.transpose(tmp339, (0, 1, 3, 2)) * -1 - tmp340 = einsum(tmp195, (0, 1), t2.bbbb, (2, 0, 3, 4), (1, 2, 3, 4)) * -1 - del tmp195 - rdm2.bbbb.oovv += np.transpose(tmp340, (1, 0, 3, 2)) * -2 - rdm2.bbbb.oovv += einsum(tmp109, (0, 1), t1.bb, (2, 3), (2, 0, 3, 1)) * -6 - tmp341 = np.copy(np.transpose(tmp334, (0, 1, 3, 2))) * -0.3333333333333333 - del tmp334 - tmp341 += np.transpose(tmp335, (0, 1, 3, 2)) * -1 - del tmp335 - tmp342 = einsum(tmp341, (0, 1, 2, 3), t1.bb, (4, 1), (0, 4, 2, 3)) * 3 - del tmp341 - rdm2.bbbb.oovv += np.transpose(tmp342, (0, 1, 3, 2)) - rdm2.bbbb.oovv += einsum(t1.bb, (0, 1), tmp144, (2, 3), (0, 2, 3, 1)) * 2 - rdm2.bbbb.oovv += np.transpose(tmp332, (1, 0, 2, 3)) * 2 - del tmp332 - rdm2.bbbb.oovv += np.transpose(tmp333, (0, 1, 3, 2)) * 2 - del tmp333 - rdm2.bbbb.oovv += np.transpose(tmp339, (1, 0, 3, 2)) - del tmp339 - rdm2.bbbb.oovv += np.transpose(tmp340, (0, 1, 3, 2)) * 2 - del tmp340 - rdm2.bbbb.oovv += einsum(tmp109, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1)) * 6 - del tmp109 - rdm2.bbbb.oovv += np.transpose(tmp342, (1, 0, 3, 2)) * -1 - del tmp342 - rdm2.bbbb.oovv += einsum(tmp144, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3)) * -2 - del tmp144 - tmp345 = np.copy(np.transpose(tmp343, (1, 0, 3, 2))) * 0.33333333333333354 - tmp345 += np.transpose(tmp344, (1, 0, 3, 2)) - tmp346 = einsum(tmp345, (0, 1, 2, 3), t2.bbbb, (4, 5, 0, 1), (4, 5, 2, 3)) * 3 - del tmp345 - rdm2.bbbb.oovv += np.transpose(tmp346, (1, 0, 3, 2)) * 2 - del tmp346 - tmp347 = np.copy(np.transpose(tmp39, (1, 0, 3, 2))) * 0.3333333333333468 - tmp347 += np.transpose(tmp37, (1, 0, 3, 2)) * 0.33333333333333354 - tmp347 += np.transpose(tmp38, (1, 0, 3, 2)) - tmp348 = einsum(t2.bbbb, (0, 1, 2, 3), tmp347, (0, 1, 4, 5), (4, 5, 2, 3)) * 3 - del tmp347 - rdm2.bbbb.oovv += np.transpose(tmp348, (1, 0, 3, 2)) * 2 - del tmp348 - tmp350 = np.copy(np.transpose(tmp349, (1, 0, 3, 2))) - del tmp349 - tmp350 += np.transpose(tmp343, (1, 0, 3, 2)) - del tmp343 - tmp350 += np.transpose(tmp344, (1, 0, 3, 2)) * 3 - del tmp344 - tmp351 = einsum(tmp350, (0, 1, 2, 3), t1.bb, (4, 0), (4, 1, 2, 3)) - del tmp350 - tmp352 = einsum(tmp351, (0, 1, 2, 3), t1.bb, (4, 1), (0, 4, 3, 2)) - del tmp351 - rdm2.bbbb.oovv += np.transpose(tmp352, (1, 0, 3, 2)) * -2 - del tmp352 - tmp355 = einsum(t2.bbbb, (0, 1, 2, 3), tmp160, (4, 2, 3, 5), (4, 0, 1, 5)) - tmp353 = np.copy(np.transpose(tmp39, (1, 0, 3, 2))) - del tmp39 - tmp353 += np.transpose(tmp41, (1, 0, 3, 2)) - del tmp41 - tmp353 += np.transpose(tmp37, (1, 0, 3, 2)) - del tmp37 - tmp353 += np.transpose(tmp38, (1, 0, 3, 2)) * 3 - del tmp38 - tmp353 += einsum(t1.bb, (0, 1), tmp98, (2, 3, 4, 1), (3, 2, 4, 0)) * 3 - tmp355 += einsum(t1.bb, (0, 1), tmp353, (0, 2, 3, 4), (2, 4, 3, 1)) - del tmp353 - tmp355 += einsum(tmp354, (0, 1, 2, 3), t1.bb, (4, 2), (0, 4, 1, 3)) * -1 - rdm2.bbbb.oovv += einsum(t1.bb, (0, 1), tmp355, (0, 2, 3, 4), (3, 2, 1, 4)) * -2 - del tmp355 - tmp356 = einsum(t2.bbbb, (0, 1, 2, 3), tmp98, (0, 1, 4, 5), (4, 5, 2, 3)) - tmp357 = einsum(t1.bb, (0, 1), tmp356, (2, 1, 3, 4), (2, 0, 4, 3)) * -3 - del tmp356 - rdm2.bbbb.oovv += np.transpose(tmp357, (0, 1, 3, 2)) * 2 - tmp358 = einsum(t2.bbbb, (0, 1, 2, 3), tmp160, (4, 2, 3, 5), (4, 0, 1, 5)) * 0.3333333333333333 - tmp358 += einsum(tmp354, (0, 1, 2, 3), t1.bb, (4, 2), (0, 4, 1, 3)) * -0.3333333333333333 - del tmp354 - rdm2.bbbb.oovv += einsum(t1.bb, (0, 1), tmp358, (0, 2, 3, 4), (2, 3, 4, 1)) * -6 - del tmp358 - tmp360 = np.copy(np.transpose(tmp336, (0, 1, 3, 2))) - del tmp336 - tmp359 = einsum(tmp160, (0, 1, 2, 3), t2.bbbb, (4, 0, 5, 1), (4, 2, 3, 5)) * 0.3333333333333333 - del tmp160 - tmp360 += np.transpose(tmp359, (0, 1, 3, 2)) - del tmp359 - tmp361 = einsum(tmp360, (0, 1, 2, 3), t1.bb, (4, 1), (0, 4, 2, 3)) * 12 - del tmp360 - rdm2.bbbb.oovv += np.transpose(tmp361, (1, 0, 3, 2)) * -1 - tmp362 = einsum(t2.abab, (0, 1, 2, 3), tmp96, (0, 4, 5, 2), (4, 5, 1, 3)) * 0.16666666666666666 - tmp365 = np.copy(tmp362) - del tmp362 - tmp363 = einsum(tmp98, (0, 1, 2, 3), t2.bbbb, (4, 0, 5, 3), (1, 2, 4, 5)) - tmp365 += tmp363 - del tmp363 - tmp364 = einsum(tmp260, (0, 1, 2, 3), t1.bb, (4, 2), (0, 1, 4, 3)) * 0.08333333333333333 - tmp365 += np.transpose(tmp364, (0, 2, 1, 3)) - del tmp364 - tmp366 = einsum(t1.bb, (0, 1), tmp365, (0, 2, 3, 4), (2, 3, 4, 1)) * 12 - del tmp365 - rdm2.bbbb.oovv += np.transpose(tmp366, (0, 1, 3, 2)) * -1 - rdm2.bbbb.oovv += np.transpose(tmp361, (0, 1, 3, 2)) - del tmp361 - rdm2.bbbb.oovv += np.transpose(tmp366, (1, 0, 3, 2)) - del tmp366 - tmp367 = einsum(t2.abab, (0, 1, 2, 3), tmp96, (0, 4, 5, 2), (4, 5, 1, 3)) - tmp367 += einsum(tmp98, (0, 1, 2, 3), t2.bbbb, (4, 0, 5, 3), (1, 2, 4, 5)) * 6 - tmp367 += einsum(tmp260, (0, 1, 2, 3), t1.bb, (4, 2), (0, 4, 1, 3)) * 0.5 - rdm2.bbbb.oovv += einsum(tmp367, (0, 1, 2, 3), t1.bb, (0, 4), (1, 2, 3, 4)) * 2 - del tmp367 - tmp368 = einsum(t2.abab, (0, 1, 2, 3), tmp96, (0, 4, 5, 2), (4, 5, 1, 3)) * 0.5 - tmp368 += einsum(tmp98, (0, 1, 2, 3), t2.bbbb, (4, 0, 5, 3), (1, 2, 4, 5)) * 3 - tmp368 += einsum(tmp260, (0, 1, 2, 3), t1.bb, (4, 2), (0, 4, 1, 3)) * 0.25 - rdm2.bbbb.oovv += einsum(t1.bb, (0, 1), tmp368, (0, 2, 3, 4), (3, 2, 4, 1)) * -4 - del tmp368 - rdm2.bbbb.oovv += np.transpose(tmp357, (1, 0, 3, 2)) * -2 - del tmp357 - tmp369 = einsum(tmp197, (0, 1, 2, 3), t1.bb, (2, 4), (1, 0, 3, 4)) - del tmp197 - rdm2.bbbb.oovv += einsum(t1.bb, (0, 1), tmp369, (0, 2, 3, 4), (2, 3, 1, 4)) * 6 - del tmp369 - rdm2.abab.oovv = np.copy(t2.abab) - rdm2.abab.oovv += einsum(l1.bb, (0, 1), t3.babbab, (2, 3, 1, 4, 5, 0), (3, 2, 5, 4)) * 2 - tmp258 = einsum(l1.aa, (0, 1), t3.abaaba, (2, 3, 1, 4, 5, 0), (2, 3, 4, 5)) - rdm2.abab.oovv += tmp258 * 2 - del tmp258 - rdm2.abab.oovv += einsum(t2.abab, (0, 1, 2, 3), tmp105, (3, 4), (0, 1, 2, 4)) * -1 - tmp259 = np.copy(tmp61) * 3 - del tmp61 - tmp259 += tmp62 * 2 - del tmp62 - tmp259 += tmp63 - del tmp63 - rdm2.abab.oovv += einsum(tmp259, (0, 1), t2.abab, (2, 3, 0, 4), (2, 3, 1, 4)) * -1 - del tmp259 - rdm2.abab.oovv += einsum(tmp71, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (1, 4, 3, 5)) * 4 - del tmp71 - rdm2.abab.oovv += einsum(t2.bbbb, (0, 1, 2, 3), tmp178, (4, 1, 5, 3), (4, 0, 5, 2)) * 4 - del tmp178 - rdm2.abab.oovv += einsum(tmp260, (0, 1, 2, 3), t2.abab, (4, 0, 5, 2), (4, 1, 5, 3)) - del tmp260 - rdm2.abab.oovv += einsum(tmp261, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 2), (4, 1, 5, 3)) * 6 - del tmp261 - rdm2.abab.oovv += einsum(t1.aa, (0, 1), tmp92, (2, 3), (0, 2, 1, 3)) - del tmp92 - rdm2.abab.oovv += einsum(tmp209, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (1, 4, 3, 5)) - del tmp209 - tmp262 = np.copy(tmp180) * 0.75 - del tmp180 - tmp262 += tmp181 - del tmp181 - tmp262 += tmp182 * 0.75 - del tmp182 - rdm2.abab.oovv += einsum(tmp262, (0, 1, 2, 3), t2.bbbb, (4, 1, 5, 3), (0, 4, 2, 5)) * 8 - del tmp262 - tmp263 = np.copy(tmp46) * 2 - del tmp46 - tmp263 += tmp47 - del tmp47 - tmp263 += tmp48 * 3 - del tmp48 - tmp263 += tmp49 * 2 - del tmp49 - tmp263 += tmp50 - del tmp50 - rdm2.abab.oovv += einsum(tmp263, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3)) - del tmp263 - tmp264 = einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), t3.abaaba, (6, 7, 5, 1, 8, 2), (3, 4, 6, 7, 0, 8)) - tmp264 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), l3.abaaba, (6, 5, 4, 7, 2, 8), (7, 8, 1, 0, 6, 3)) * 0.6666666666666666 - rdm2.abab.oovv += einsum(t2.aaaa, (0, 1, 2, 3), tmp264, (0, 1, 4, 5, 3, 6), (4, 5, 2, 6)) * 6 - del tmp264 - tmp265 = einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (6, 7, 5, 0, 8, 2), (3, 6, 4, 7, 1, 8)) * 0.5 - tmp265 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (6, 7, 5, 8, 1, 2), (4, 7, 3, 6, 0, 8)) - rdm2.abab.oovv += einsum(t2.abab, (0, 1, 2, 3), tmp265, (0, 4, 1, 5, 3, 6), (4, 5, 2, 6)) * -4 - del tmp265 - rdm2.abab.oovv += einsum(t2.abab, (0, 1, 2, 3), tmp218, (2, 4), (0, 1, 4, 3)) * -1 - del tmp218 - tmp266 = np.copy(tmp94) * 0.5 - del tmp94 - tmp266 += tmp93 - del tmp93 - tmp266 += tmp95 - del tmp95 - rdm2.abab.oovv += einsum(t1.aa, (0, 1), tmp266, (0, 2, 3, 4), (2, 3, 1, 4)) * -2 - del tmp266 - tmp267 = einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.abaaba, (6, 7, 4, 8, 2, 1), (6, 3, 5, 7, 8, 0)) - tmp267 += einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), t3.babbab, (6, 7, 5, 1, 8, 2), (7, 3, 4, 6, 8, 0)) * 1.5 - rdm2.abab.oovv += einsum(t2.bbbb, (0, 1, 2, 3), tmp267, (4, 0, 1, 5, 6, 3), (4, 5, 6, 2)) * 4 - del tmp267 - tmp268 = einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), l3.abaaba, (6, 4, 5, 7, 8, 2), (7, 0, 8, 1, 6, 3)) - tmp268 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (6, 7, 5, 0, 8, 2), (4, 7, 3, 6, 1, 8)) * 0.5 - rdm2.abab.oovv += einsum(t2.abab, (0, 1, 2, 3), tmp268, (0, 4, 1, 5, 2, 6), (4, 5, 6, 3)) * -4 - del tmp268 - tmp269 = np.copy(tmp176) * 0.5 - del tmp176 - tmp269 += tmp177 - del tmp177 - tmp269 += tmp175 - del tmp175 - rdm2.abab.oovv += einsum(tmp269, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 3, 4)) * -2 - del tmp269 - rdm2.abab.oovv += einsum(tmp44, (0, 1, 2, 3), t3.babbab, (0, 4, 1, 5, 6, 3), (4, 2, 6, 5)) * 2 - del tmp44 - tmp270 = einsum(tmp96, (0, 1, 2, 3), t3.abaaba, (4, 1, 0, 5, 6, 3), (4, 2, 5, 6)) * 2 - rdm2.abab.oovv += tmp270 * -2 - del tmp270 - tmp275 = np.copy(tmp271) - tmp275 += tmp272 * 2 - del tmp272 - tmp275 += tmp273 - del tmp273 - tmp275 += tmp274 - del tmp274 - rdm2.abab.oovv += einsum(t1.bb, (0, 1), tmp275, (2, 3, 1, 4), (2, 0, 3, 4)) * -1 - del tmp275 - rdm2.abab.oovv += einsum(t2.abab, (0, 1, 2, 3), tmp36, (1, 4), (0, 4, 2, 3)) * -2 - del tmp36 - tmp276 = einsum(t2.abab, (0, 1, 2, 3), tmp96, (0, 1, 4, 2), (4, 3)) * 2 - tmp276 += einsum(tmp98, (0, 1, 2, 3), t2.bbbb, (0, 1, 4, 3), (2, 4)) * -6 - tmp276 += einsum(t1.bb, (0, 1), tmp105, (1, 2), (0, 2)) - del tmp105 - tmp276 += einsum(t1.bb, (0, 1), tmp138, (0, 2), (2, 1)) - del tmp138 - rdm2.abab.oovv += einsum(tmp276, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1)) * -1 - del tmp276 - tmp277 = einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), tmp55, (0, 2, 6, 5), (6, 1, 3, 4)) * -1 - rdm2.abab.oovv += tmp277 * -2 - del tmp277 - rdm2.abab.oovv += einsum(tmp57, (0, 1, 2, 3), t3.babbab, (4, 0, 2, 5, 6, 3), (1, 4, 6, 5)) * -4 - tmp281 = np.copy(tmp278) - tmp281 += tmp279 * 2 - del tmp279 - tmp281 += tmp280 * -1 - del tmp280 - rdm2.abab.oovv += einsum(t1.aa, (0, 1), tmp281, (2, 1, 3, 4), (0, 2, 3, 4)) * -1 - del tmp281 - rdm2.abab.oovv += einsum(t2.abab, (0, 1, 2, 3), tmp7, (0, 4), (4, 1, 2, 3)) * -1 - del tmp7 - rdm2.abab.oovv += einsum(t1.bb, (0, 1), tmp271, (2, 3, 1, 4), (2, 0, 3, 4)) * -1 - del tmp271 - rdm2.abab.oovv += einsum(t1.aa, (0, 1), tmp278, (2, 1, 3, 4), (0, 2, 3, 4)) * -1 - del tmp278 - tmp282 = einsum(t2.aaaa, (0, 1, 2, 3), tmp55, (0, 1, 4, 3), (4, 2)) * -2 - tmp282 += einsum(t2.abab, (0, 1, 2, 3), tmp57, (0, 4, 1, 3), (4, 2)) * 2 - tmp282 += einsum(tmp64, (0, 1), t1.aa, (2, 0), (2, 1)) * 2 - del tmp64 - tmp282 += einsum(t1.aa, (0, 1), tmp66, (0, 2), (2, 1)) * 3 - del tmp66 - rdm2.abab.oovv += einsum(t1.bb, (0, 1), tmp282, (2, 3), (2, 0, 3, 1)) * -1 - del tmp282 - tmp285 = np.copy(tmp283) * 0.5000000000000002 - tmp285 += tmp284 - del tmp284 - rdm2.abab.oovv += einsum(t2.abab, (0, 1, 2, 3), tmp285, (2, 4, 3, 5), (0, 1, 4, 5)) * 2 - del tmp285 - tmp286 = np.copy(tmp24) * 0.5000000000000202 - del tmp24 - tmp286 += tmp27 - del tmp27 - tmp286 += tmp28 - del tmp28 - rdm2.abab.oovv += einsum(tmp286, (0, 1, 2, 3), t2.abab, (0, 2, 4, 5), (1, 3, 4, 5)) * 2 - del tmp286 - tmp289 = einsum(t1.bb, (0, 1), tmp288, (2, 3, 1, 4), (0, 2, 3, 4)) - del tmp288 - rdm2.abab.oovv += einsum(tmp289, (0, 1, 2, 3), t1.aa, (4, 1), (4, 0, 2, 3)) - del tmp289 - tmp290 = np.copy(tmp120) - del tmp120 - tmp290 += tmp123 - del tmp123 - tmp290 += tmp125 - del tmp125 - rdm2.abab.oovv += einsum(t1.aa, (0, 1), tmp290, (0, 2, 3, 4), (2, 3, 1, 4)) - del tmp290 - tmp291 = einsum(tmp57, (0, 1, 2, 3), t2.abab, (0, 2, 4, 5), (1, 4, 3, 5)) * -1 - rdm2.abab.oovv += einsum(t1.bb, (0, 1), tmp291, (2, 3, 1, 4), (2, 0, 3, 4)) * -2 - del tmp291 - rdm2.abab.oovv += einsum(t2.abab, (0, 1, 2, 3), tmp190, (1, 4, 2, 5), (0, 4, 5, 3)) - del tmp190 - tmp292 = np.copy(tmp128) - del tmp128 - tmp292 += tmp129 - del tmp129 - rdm2.abab.oovv += einsum(t2.abab, (0, 1, 2, 3), tmp292, (0, 4, 3, 5), (4, 1, 2, 5)) * 2 - del tmp292 - tmp293 = np.copy(tmp191) - del tmp191 - tmp293 += tmp192 - del tmp192 - rdm2.abab.oovv += einsum(tmp293, (0, 1, 2, 3), t2.abab, (4, 0, 2, 5), (4, 1, 3, 5)) * 2 - del tmp293 - rdm2.abab.oovv += einsum(tmp283, (0, 1, 2, 3), t2.abab, (4, 5, 0, 2), (4, 5, 1, 3)) - del tmp283 - rdm2.abab.oovv += einsum(tmp294, (0, 1, 2, 3), t1.aa, (4, 1), (4, 0, 2, 3)) - del tmp294 - tmp295 = einsum(tmp187, (0, 1, 2, 3), t2.abab, (4, 5, 1, 3), (4, 0, 5, 2)) - tmp295 += einsum(tmp189, (0, 1, 2, 3), t1.aa, (4, 2), (4, 0, 1, 3)) - del tmp189 - rdm2.abab.oovv += einsum(tmp295, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 3, 4)) * 2 - del tmp295 - tmp296 = einsum(tmp227, (0, 1, 2, 3), t2.abab, (0, 4, 1, 5), (4, 2, 3, 5)) * 0.3333333333333333 - del tmp227 - tmp296 += einsum(t2.bbbb, (0, 1, 2, 3), tmp187, (1, 4, 5, 3), (0, 4, 5, 2)) * 0.6666666666666666 - rdm2.abab.oovv += einsum(tmp296, (0, 1, 2, 3), t1.aa, (4, 1), (4, 0, 2, 3)) * -6 - del tmp296 - tmp298 = einsum(t2.abab, (0, 1, 2, 3), tmp55, (0, 4, 5, 2), (4, 5, 1, 3)) - del tmp55 - tmp298 += einsum(tmp57, (0, 1, 2, 3), t2.bbbb, (4, 2, 5, 3), (0, 1, 4, 5)) * 2 - tmp298 += einsum(t1.aa, (0, 1), tmp297, (2, 3, 1, 4), (2, 0, 3, 4)) - del tmp297 - rdm2.abab.oovv += einsum(t1.aa, (0, 1), tmp298, (0, 2, 3, 4), (2, 3, 1, 4)) * -2 - del tmp298 - tmp299 = einsum(tmp187, (0, 1, 2, 3), t2.abab, (4, 0, 1, 5), (4, 2, 3, 5)) * -1 - del tmp187 - rdm2.abab.oovv += einsum(t1.bb, (0, 1), tmp299, (2, 3, 1, 4), (2, 0, 3, 4)) * -2 - del tmp299 - tmp301 = np.copy(tmp126) - del tmp126 - tmp301 += einsum(t1.bb, (0, 1), tmp300, (2, 3, 1, 4), (2, 3, 0, 4)) - del tmp300 - rdm2.abab.oovv += einsum(t1.aa, (0, 1), tmp301, (0, 2, 3, 4), (2, 3, 1, 4)) - del tmp301 - tmp303 = einsum(tmp57, (0, 1, 2, 3), t2.abab, (0, 4, 5, 3), (1, 2, 4, 5)) - del tmp57 - tmp303 += einsum(t1.aa, (0, 1), tmp302, (2, 3, 1, 4), (0, 2, 3, 4)) * 0.5 - del tmp302 - rdm2.abab.oovv += einsum(t1.bb, (0, 1), tmp303, (2, 0, 3, 4), (2, 3, 4, 1)) * 2 - del tmp303 - tmp305 = einsum(t2.aaaa, (0, 1, 2, 3), tmp96, (1, 4, 5, 3), (0, 4, 5, 2)) * 2 - tmp305 += einsum(t2.abab, (0, 1, 2, 3), tmp98, (1, 4, 5, 3), (0, 4, 5, 2)) * 3 - del tmp98 - tmp305 += einsum(t1.bb, (0, 1), tmp304, (2, 3, 4, 1), (2, 3, 0, 4)) - del tmp304 - rdm2.abab.oovv += einsum(t1.bb, (0, 1), tmp305, (2, 0, 3, 4), (2, 3, 4, 1)) * -2 - del tmp305 - tmp306 = einsum(tmp96, (0, 1, 2, 3), t2.abab, (0, 1, 4, 5), (2, 3, 4, 5)) * -1 - del tmp96 - rdm2.abab.oovv += einsum(t1.aa, (0, 1), tmp306, (2, 1, 3, 4), (0, 2, 3, 4)) * -2 - del tmp306 - tmp307 = einsum(tmp131, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 3, 4)) - del tmp131 - rdm2.abab.oovv += einsum(t1.aa, (0, 1), tmp307, (0, 2, 3, 4), (2, 3, 1, 4)) * 2 - del tmp307 - rdm2.aaaa = pack_2e(rdm2.aaaa.oooo, rdm2.aaaa.ooov, rdm2.aaaa.oovo, rdm2.aaaa.ovoo, rdm2.aaaa.vooo, rdm2.aaaa.oovv, rdm2.aaaa.ovov, rdm2.aaaa.ovvo, rdm2.aaaa.voov, rdm2.aaaa.vovo, rdm2.aaaa.vvoo, rdm2.aaaa.ovvv, rdm2.aaaa.vovv, rdm2.aaaa.vvov, rdm2.aaaa.vvvo, rdm2.aaaa.vvvv) - rdm2.abab = pack_2e(rdm2.abab.oooo, rdm2.abab.ooov, rdm2.abab.oovo, rdm2.abab.ovoo, rdm2.abab.vooo, rdm2.abab.oovv, rdm2.abab.ovov, rdm2.abab.ovvo, rdm2.abab.voov, rdm2.abab.vovo, rdm2.abab.vvoo, rdm2.abab.ovvv, rdm2.abab.vovv, rdm2.abab.vvov, rdm2.abab.vvvo, rdm2.abab.vvvv) - rdm2.bbbb = pack_2e(rdm2.bbbb.oooo, rdm2.bbbb.ooov, rdm2.bbbb.oovo, rdm2.bbbb.ovoo, rdm2.bbbb.vooo, rdm2.bbbb.oovv, rdm2.bbbb.ovov, rdm2.bbbb.ovvo, rdm2.bbbb.voov, rdm2.bbbb.vovo, rdm2.bbbb.vvoo, rdm2.bbbb.ovvv, rdm2.bbbb.vovv, rdm2.bbbb.vvov, rdm2.bbbb.vvvo, rdm2.bbbb.vvvv) - rdm2 = Namespace( - aaaa=np.transpose(rdm2.aaaa, (0, 2, 1, 3)), - aabb=np.transpose(rdm2.abab, (0, 2, 1, 3)), - bbbb=np.transpose(rdm2.bbbb, (0, 2, 1, 3)), - ) - - return rdm2 - From 1058a371e3ea8119822ad8ca922c545c290cdcbf Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Fri, 22 Nov 2024 21:42:33 +0000 Subject: [PATCH 147/168] CCSDt' working again --- ebcc/codegen/bootstrap_CCSDwtwp.py | 224 +++++++++++++++++++++++++++++ 1 file changed, 224 insertions(+) create mode 100644 ebcc/codegen/bootstrap_CCSDwtwp.py diff --git a/ebcc/codegen/bootstrap_CCSDwtwp.py b/ebcc/codegen/bootstrap_CCSDwtwp.py new file mode 100644 index 00000000..dc0f06e2 --- /dev/null +++ b/ebcc/codegen/bootstrap_CCSDwtwp.py @@ -0,0 +1,224 @@ +""" +Generate the CCSDt' code. +""" + +import sys + +import pdaggerq +from albert.qc._pdaggerq import remove_reference_energy, remove_reference_energy_eom +from albert.qc.spin import ghf_to_uhf, ghf_to_rhf +from albert.qc import ghf, uhf, rhf +from albert.tensor import Tensor +from albert.index import Index +from albert.code._ebcc import EBCCCodeGenerator +from albert.misc import Stopwatch +from albert.opt.tools import _tensor_info +from albert.opt import optimise +from albert.algebra import Mul +from albert.misc import ExclusionSet + +from ebcc.codegen.bootstrap_common import get_energy, get_amplitudes, get_rdm1, get_rdm2, get_eom + +# Get the spin case +spin = sys.argv[1] + +# Set up the code generators +class CodeGenerator(EBCCCodeGenerator): + _add_spaces = ExclusionSet() + + def get_name(self, tensor, add_spins=None, add_spaces=None, spin_delimiter=".", space_delimiter="."): + if isinstance(tensor, Tensor) and tensor.name.startswith("t") and not tensor.name.startswith("tmp"): + spaces = tuple(i.space for i in tensor.indices) + if spaces not in (("o", "v"), ("o", "o", "v", "v"), ("O", "O", "O", "V", "V", "V")): + space_delimiter = "_" + else: + add_spaces = False + return super().get_name(tensor, add_spins=add_spins, add_spaces=add_spaces, spin_delimiter=spin_delimiter, space_delimiter=space_delimiter) + + def module_imports(self): + super().module_imports() + self.write("from ebcc.backend import _inflate") + + def ignore_argument(self, tensor): + if "_" in self.get_name(tensor): + return True + return super().ignore_argument(tensor) + + def tensor_cleanup(self, *args): + names = tuple(self.get_name(arg) for arg in args) + args = tuple(arg for arg, name in zip(args, names) if "_" not in name) + super().tensor_cleanup(*args) + +code_generators = { + "einsum": CodeGenerator( + stdout=open(f"{spin[0].upper()}CCSDwtwp.py", "w"), + ), +} + +# Write the preamble +for codegen in code_generators.values(): + codegen.preamble() + +# Set up pdaggerq +pq = pdaggerq.pq_helper("fermi") +pq.set_print_level(0) + +with Stopwatch("Energy"): + # Get the energy contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["1"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) + pq.simplify() + terms = pq.fully_contracted_strings() + terms = remove_reference_energy(terms) + + # Get the energy in albert format + output_expr, returns = get_energy(terms, spin) + + # Generate the energy code + for codegen in code_generators.values(): + codegen( + "energy", + returns, + output_expr, + ) + +with Stopwatch("T amplitudes"): + # Get the T1 contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["e1(i,a)"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2", "t3"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3"]) + pq.simplify() + terms_t1 = pq.fully_contracted_strings() + + # Get the T2 contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["e2(i,j,b,a)"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2", "t3"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3"]) + pq.simplify() + terms_t2 = pq.fully_contracted_strings() + + # Get the T3 contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["e3(i,j,k,c,b,a)"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2", "t3"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3"]) + pq.simplify() + terms_t3 = pq.fully_contracted_strings() + + # Get the T amplitudes in albert format + output_expr, returns = get_amplitudes([terms_t1, terms_t2, terms_t3], spin, strategy=None) + + # Make the T3 indices active + new_expr = [] + new_output = [] + for i, (o, e) in enumerate(output_expr): + # Get the indices + indices = set() + if o.name.startswith("t3"): + indices = indices.union(set(o.external_indices)) + + for add in e.expand()._children: + indices_a = indices.copy() + def _get_indices(tensor): + global indices_a + if tensor.name.startswith("t3"): + indices_a = indices_a.union(set(tensor.external_indices)) + return tensor + + add = add.apply(_get_indices, Tensor) + + # Substitute the indices + subs = {i: Index(i.name.upper(), spin=i.spin, space=i.space.upper()) for i in indices_a} + def _substitute(tensor): + return tensor.map_indices(subs) + + new_output.append(o.map_indices(subs)) + new_expr.append(add.apply(_substitute, Tensor)) + + # Optimise + output_expr = optimise(new_output, new_expr, strategy="exhaust" if spin != "uhf" else "greedy") + + # Generate the T amplitude code + for name, codegen in code_generators.items(): + if name != "einsum": + raise NotImplementedError # FIXME remove packing + ignore_arguments = [] + preamble = "space = kwargs[\"space\"]" + preamble += "\nt1new = Namespace()" + preamble += "\nt2new = Namespace()" + preamble += "\nt3new = Namespace()" + if spin == "uhf": + preamble += "\nsoa = np.ones((t1.aa.shape[0],), dtype=bool)" + preamble += "\nsva = np.ones((t1.aa.shape[1],), dtype=bool)" + preamble += "\nsob = np.ones((t1.bb.shape[0],), dtype=bool)" + preamble += "\nsvb = np.ones((t1.bb.shape[1],), dtype=bool)" + preamble += "\nsOa = space[0].active[space[0].correlated][space[0].occupied[space[0].correlated]]" + preamble += "\nsVa = space[0].active[space[0].correlated][space[0].virtual[space[0].correlated]]" + preamble += "\nsOb = space[1].active[space[1].correlated][space[1].occupied[space[1].correlated]]" + preamble += "\nsVb = space[1].active[space[1].correlated][space[1].virtual[space[1].correlated]]" + preamble += "\n" + postamble = "" + inp_keys = {"aa": set(), "bb": set(), "aaaa": set(), "abab": set(), "bbbb": set()} + out_keys = {"aa": set(), "bb": set(), "aaaa": set(), "abab": set(), "bbbb": set()} + for o, e in output_expr: + if o.name.startswith("t") and not (o.name.startswith("tmp") or o.name.startswith("t3")): + spaces = "".join(tuple(i.space for i in o.indices)) + spins = "".join(tuple({"α": "a", "β": "b"}[i.spin] for i in o.indices)) + if set(spaces) != {"o", "v"}: + inp_keys[spins].add(spaces) + for t in e.search_leaves(Tensor): + if isinstance(t, Tensor) and t.name.startswith("t") and not (t.name.startswith("tmp") or t.name.startswith("t3")): + spaces = "".join(tuple(i.space for i in t.indices)) + spins = "".join(tuple({"α": "a", "β": "b"}[i.spin] for i in t.indices)) + inp_keys[spins].add(spaces) + for spins, inp_keys in inp_keys.items(): + for key in inp_keys: + slices = ", ".join(f"s{c}{s}" for c, s in zip(key, spins)) + preamble += f"\nt{len(key)//2}_{spins}_{key} = np.copy(t{len(key)//2}.{spins}[np.ix_({slices})])" + ignore_arguments.append(f"t{len(key)//2}_{spins}_{key}") + for spins, out_keys in out_keys.items(): + for key in out_keys: + slices = ", ".join(f"s{c}{s}" for c, s in zip(key, spins)) + postamble += f"\nt{len(key)//2}new.{spins} += _inflate(t{len(key)//2}new.{spins}.shape, np.ix_({slices}), t{len(key)//2}new_{spins}_{key})" + else: + preamble += "\nso = np.ones((t1.shape[0],), dtype=bool)" + preamble += "\nsv = np.ones((t1.shape[1],), dtype=bool)" + preamble += "\nsO = space.active[space.correlated][space.occupied[space.correlated]]" + preamble += "\nsV = space.active[space.correlated][space.virtual[space.correlated]]" + postamble = "" + inp_keys = set() + out_keys = set() + for o, e in output_expr: + if o.name.startswith("t") and not (o.name.startswith("tmp") or o.name.startswith("t3")): + spaces = "".join(tuple(i.space for i in o.indices)) + if set(spaces) != {"o", "v"}: + out_keys.add(spaces) + for t in e.search_leaves(Tensor): + if isinstance(t, Tensor) and t.name.startswith("t") and not (t.name.startswith("tmp") or t.name.startswith("t3")): + spaces = "".join(tuple(i.space for i in t.indices)) + if set(spaces) != {"o", "v"}: + inp_keys.add(spaces) + for key in sorted(inp_keys): + slices = ", ".join(f"s{c}" for c in key) + preamble += f"\nt{len(key)//2}_{key} = np.copy(t{len(key)//2}[np.ix_({slices})])" + ignore_arguments.append(f"t{len(key)//2}_{key}") + for key in sorted(out_keys): + slices = ", ".join(f"s{c}" for c in key) + postamble += f"\nt{len(key)//2}new += _inflate(t{len(key)//2}new.shape, np.ix_({slices}), t{len(key)//2}new_{key})" + preamble += "\n" + codegen( + "update_amps", + returns, + output_expr, + preamble = lambda: codegen.write(preamble), + postamble = lambda: codegen.write(postamble), + as_dict=True, + ) + +for codegen in code_generators.values(): + codegen.postamble() + codegen.stdout.close() From 2d118d9ff13af2e78adf584be7298c66e6fd216c Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Fri, 22 Nov 2024 21:43:52 +0000 Subject: [PATCH 148/168] Fix CCSDt' for UHF --- ebcc/codegen/bootstrap_CCSDwtwp.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ebcc/codegen/bootstrap_CCSDwtwp.py b/ebcc/codegen/bootstrap_CCSDwtwp.py index dc0f06e2..475f0f52 100644 --- a/ebcc/codegen/bootstrap_CCSDwtwp.py +++ b/ebcc/codegen/bootstrap_CCSDwtwp.py @@ -167,13 +167,13 @@ def _substitute(tensor): for o, e in output_expr: if o.name.startswith("t") and not (o.name.startswith("tmp") or o.name.startswith("t3")): spaces = "".join(tuple(i.space for i in o.indices)) - spins = "".join(tuple({"α": "a", "β": "b"}[i.spin] for i in o.indices)) + spins = "".join(tuple(i.spin for i in o.indices)) if set(spaces) != {"o", "v"}: inp_keys[spins].add(spaces) for t in e.search_leaves(Tensor): if isinstance(t, Tensor) and t.name.startswith("t") and not (t.name.startswith("tmp") or t.name.startswith("t3")): spaces = "".join(tuple(i.space for i in t.indices)) - spins = "".join(tuple({"α": "a", "β": "b"}[i.spin] for i in t.indices)) + spins = "".join(tuple(i.spin for i in t.indices)) inp_keys[spins].add(spaces) for spins, inp_keys in inp_keys.items(): for key in inp_keys: From 0f55e29d3498c8e7033ec7bb8194ff9c83e31f0e Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Fri, 22 Nov 2024 21:44:49 +0000 Subject: [PATCH 149/168] Add CCSDt' to bootstrap script --- .github/workflows/bootstrap_all.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/bootstrap_all.sh b/.github/workflows/bootstrap_all.sh index 1519a61d..845ac2b0 100644 --- a/.github/workflows/bootstrap_all.sh +++ b/.github/workflows/bootstrap_all.sh @@ -20,7 +20,7 @@ for method in CCD CCSD QCISD CC2 DCD DCSD; do done done -for method in CC3 CCSDT; do +for method in CCSDwtwp CC3 CCSDT; do for i in rhf uhf ghf; do echo "Bootstrapping $method ($i)" python -W ignore bootstrap_${method}.py $i &> output_${method}_${i}.dat & @@ -49,7 +49,7 @@ for method in CCD CCSD QCISD CC2 DCD DCSD; do done done -for method in CC3 CCSDT; do +for method in CCSDwtwp CC3 CCSDT; do for i in rhf uhf ghf; do echo "Output for $method ($i)" cat output_${method}_${i}.dat From 0bec19781c48f9daf734e1a7004f21281458c3d6 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Fri, 22 Nov 2024 22:06:48 +0000 Subject: [PATCH 150/168] Skip UCCSDt' for now --- .github/workflows/bootstrap_all.sh | 18 +- ebcc/codegen/GCCSDwtwp.py | 890 --------------- ebcc/codegen/RCCSDwtwp.py | 1618 ---------------------------- ebcc/codegen/bootstrap_CCSDwtwp.py | 1 + 4 files changed, 17 insertions(+), 2510 deletions(-) delete mode 100644 ebcc/codegen/GCCSDwtwp.py delete mode 100644 ebcc/codegen/RCCSDwtwp.py diff --git a/.github/workflows/bootstrap_all.sh b/.github/workflows/bootstrap_all.sh index 845ac2b0..61f7a69f 100644 --- a/.github/workflows/bootstrap_all.sh +++ b/.github/workflows/bootstrap_all.sh @@ -20,7 +20,14 @@ for method in CCD CCSD QCISD CC2 DCD DCSD; do done done -for method in CCSDwtwp CC3 CCSDT; do +for method in CCSDwtwp; do + for i in rhf ghf; do + echo "Bootstrapping $method ($i)" + python -W ignore bootstrap_${method}.py $i &> output_${method}_${i}.dat & + done +done + +for method in CC3 CCSDT; do for i in rhf uhf ghf; do echo "Bootstrapping $method ($i)" python -W ignore bootstrap_${method}.py $i &> output_${method}_${i}.dat & @@ -49,7 +56,14 @@ for method in CCD CCSD QCISD CC2 DCD DCSD; do done done -for method in CCSDwtwp CC3 CCSDT; do +for method in CCSDwtwp; do + for i in rhf ghf; do + echo "Output for $method ($i)" + cat output_${method}_${i}.dat + done +done + +for method in CC3 CCSDT; do for i in rhf uhf ghf; do echo "Output for $method ($i)" cat output_${method}_${i}.dat diff --git a/ebcc/codegen/GCCSDwtwp.py b/ebcc/codegen/GCCSDwtwp.py deleted file mode 100644 index 8e0ef679..00000000 --- a/ebcc/codegen/GCCSDwtwp.py +++ /dev/null @@ -1,890 +0,0 @@ -""" -Code generated by `albert`: -https://github.com/obackhouse/albert - - * date: 2024-09-29T17:18:28.820515 - * python version: 3.10.15 (main, Sep 9 2024, 03:02:45) [GCC 11.4.0] - * albert version: 0.0.0 - * caller: /opt/hostedtoolcache/Python/3.10.15/x64/lib/python3.10/site-packages/albert/codegen/einsum.py - * node: fv-az1788-690 - * system: Linux - * processor: x86_64 - * release: 6.8.0-1014-azure -""" - -from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, dirsum, Namespace -from ebcc.backend import _inflate - - -def energy(f=None, t1=None, t2=None, v=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-09-29T17:18:29.071491. - - Parameters - ---------- - f : array - Fock matrix. - t1 : array - T1 amplitudes. - t2 : array - T2 amplitudes. - v : array - Electron repulsion integrals. - - Returns - ------- - e_cc : float - Coupled cluster energy. - """ - - tmp0 = np.copy(t2) - tmp0 += einsum(t1, (0, 1), t1, (2, 3), (2, 0, 3, 1)) * 2 - e_cc = einsum(f.ov, (0, 1), t1, (0, 1), ()) - e_cc += einsum(tmp0, (0, 1, 2, 3), v.oovv, (0, 1, 2, 3), ()) * 0.25 - del tmp0 - - return e_cc - -def update_amps(f=None, t1=None, t2=None, t3=None, v=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-09-29T17:19:16.670741. - - Parameters - ---------- - f : array - Fock matrix. - t1 : array - T1 amplitudes. - t2 : array - T2 amplitudes. - t3 : array - T3 amplitudes. - v : array - Electron repulsion integrals. - - Returns - ------- - t1new : array - Updated T1 residuals. - t2new : array - Updated T2 residuals. - t3new : array - Updated T3 residuals. - """ - - space = kwargs["space"] - t1new = Namespace() - t2new = Namespace() - t3new = Namespace() - so = np.ones((t1.shape[0],), dtype=bool) - sv = np.ones((t1.shape[1],), dtype=bool) - sO = space.active[space.correlated][space.occupied[space.correlated]] - sV = space.active[space.correlated][space.virtual[space.correlated]] - t2_OOvv = np.copy(t2[np.ix_(sO, sO, sv, sv)]) - t2_OoVv = np.copy(t2[np.ix_(sO, so, sV, sv)]) - t1_ov = np.copy(t1[np.ix_(so, sv)]) - t1_Ov = np.copy(t1[np.ix_(sO, sv)]) - t2_oovv = np.copy(t2[np.ix_(so, so, sv, sv)]) - t2_OoVV = np.copy(t2[np.ix_(sO, so, sV, sV)]) - t2_ooVv = np.copy(t2[np.ix_(so, so, sV, sv)]) - t2_Oovv = np.copy(t2[np.ix_(sO, so, sv, sv)]) - t1_oV = np.copy(t1[np.ix_(so, sV)]) - t2_OOVv = np.copy(t2[np.ix_(sO, sO, sV, sv)]) - t2_ooVV = np.copy(t2[np.ix_(so, so, sV, sV)]) - - tmp110 = einsum(t1_Ov, (0, 1), v.oovv, (2, 3, 4, 1), (2, 3, 4, 0)) - tmp140 = einsum(v.OoVv, (0, 1, 2, 3), t1_Ov, (4, 3), (1, 4, 0, 2)) - tmp115 = einsum(t1_oV, (0, 1), v.oovv, (2, 0, 3, 4), (2, 3, 4, 1)) - tmp137 = einsum(t1_Ov, (0, 1), v.OOvv, (2, 3, 4, 1), (4, 0, 2, 3)) - tmp123 = einsum(t1_oV, (0, 1), v.Ovoo, (2, 3, 4, 0), (4, 3, 2, 1)) * -1 - tmp126 = einsum(v.Vovv, (0, 1, 2, 3), t1_Ov, (4, 3), (1, 2, 4, 0)) * -1 - tmp146 = einsum(t1_Ov, (0, 1), tmp110, (2, 3, 1, 4), (3, 2, 4, 0)) - tmp1 = einsum(t1, (0, 1), v.oovv, (2, 0, 3, 1), (2, 3)) - tmp143 = einsum(v.VVoo, (0, 1, 2, 3), t1_oV, (3, 4), (2, 4, 0, 1)) - tmp120 = einsum(v.Ovoo, (0, 1, 2, 3), t1_Ov, (4, 1), (2, 3, 4, 0)) * -1 - tmp131 = einsum(v.Oovv, (0, 1, 2, 3), t1, (1, 3), (2, 0)) * -1 - tmp149 = einsum(t1_oV, (0, 1), tmp110, (2, 0, 3, 4), (2, 3, 4, 1)) - tmp134 = einsum(t1, (0, 1), v.Vvoo, (2, 1, 3, 0), (3, 2)) * -1 - tmp2 = einsum(v.oovv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) - tmp18 = einsum(v.ooov, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) - tmp23 = einsum(v.ovvv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) - tmp104 = einsum(v.Vovv, (0, 1, 2, 3), t2_OOvv, (4, 5, 2, 3), (1, 4, 5, 0)) * -1 - tmp87 = einsum(v.Oovv, (0, 1, 2, 3), t2_Oovv, (4, 1, 2, 3), (4, 0)) - tmp100 = einsum(t2_OoVv, (0, 1, 2, 3), v.Ovoo, (4, 3, 5, 1), (5, 0, 4, 2)) * -1 - tmp106 = einsum(v.Vovv, (0, 1, 2, 3), t2_OoVv, (4, 1, 5, 3), (2, 4, 5, 0)) * -1 - tmp141 = einsum(tmp140, (0, 1, 2, 3), t1_oV, (0, 4), (1, 2, 4, 3)) - del tmp140 - tmp118 = einsum(tmp115, (0, 1, 2, 3), t2_OoVv, (4, 0, 5, 1), (2, 4, 3, 5)) - tmp138 = einsum(t1_Ov, (0, 1), tmp137, (1, 2, 3, 4), (2, 0, 4, 3)) - del tmp137 - tmp102 = einsum(t2_ooVV, (0, 1, 2, 3), v.Ovoo, (4, 5, 0, 1), (5, 4, 2, 3)) * -1 - tmp56 = einsum(f.Ov, (0, 1), t1_Ov, (2, 1), (0, 2)) - tmp97 = einsum(t2_ooVV, (0, 1, 2, 3), v.VVoo, (4, 5, 0, 1), (2, 3, 4, 5)) - tmp124 = einsum(tmp123, (0, 1, 2, 3), t1_oV, (0, 4), (1, 2, 3, 4)) * -1 - del tmp123 - tmp129 = einsum(tmp126, (0, 1, 2, 3), t1_oV, (0, 4), (1, 2, 4, 3)) - tmp147 = einsum(t1_oV, (0, 1), tmp146, (0, 2, 3, 4), (2, 3, 4, 1)) * -1 - del tmp146 - tmp108 = einsum(t2_OOVv, (0, 1, 2, 3), tmp1, (4, 3), (4, 0, 1, 2)) - tmp116 = einsum(tmp115, (0, 1, 2, 3), t2_OOvv, (4, 5, 2, 1), (0, 4, 5, 3)) * -1 - del tmp115 - tmp85 = einsum(v.VoVV, (0, 1, 2, 3), t1_oV, (1, 4), (4, 0, 2, 3)) * -1 - tmp111 = einsum(t2_OoVv, (0, 1, 2, 3), tmp110, (1, 4, 3, 5), (4, 5, 0, 2)) - tmp91 = einsum(t2_ooVv, (0, 1, 2, 3), v.Vvoo, (4, 3, 0, 1), (2, 4)) - tmp144 = einsum(t1_oV, (0, 1), tmp143, (0, 2, 3, 4), (2, 1, 4, 3)) - del tmp143 - tmp113 = einsum(t2_ooVV, (0, 1, 2, 3), tmp110, (1, 0, 4, 5), (4, 5, 2, 3)) * -1 - del tmp110 - tmp93 = einsum(v.OoVv, (0, 1, 2, 3), t2_OoVv, (4, 1, 5, 3), (4, 0, 5, 2)) - tmp121 = einsum(t1_oV, (0, 1), tmp120, (2, 0, 3, 4), (2, 3, 4, 1)) - del tmp120 - tmp69 = einsum(v.OvVo, (0, 1, 2, 3), t1_Ov, (4, 1), (3, 4, 0, 2)) - tmp132 = einsum(tmp131, (0, 1), t1_Ov, (2, 0), (2, 1)) * -1 - del tmp131 - tmp150 = einsum(tmp149, (0, 1, 2, 3), t1_oV, (0, 4), (1, 2, 3, 4)) * -1 - del tmp149 - tmp71 = einsum(v.OvVo, (0, 1, 2, 3), t1_oV, (3, 4), (1, 0, 4, 2)) - tmp127 = einsum(t1_Ov, (0, 1), tmp126, (2, 1, 3, 4), (2, 3, 0, 4)) * -1 - del tmp126 - tmp75 = einsum(v.OoOv, (0, 1, 2, 3), t1, (1, 3), (0, 2)) - tmp60 = einsum(f.ov, (0, 1), t2_OOVv, (2, 3, 4, 1), (0, 2, 3, 4)) * -1 - tmp30 = einsum(t3, (0, 1, 2, 3, 4, 5), v.OoVV, (2, 6, 4, 5), (6, 0, 1, 3)) * -1 - tmp79 = einsum(v.OoOV, (0, 1, 2, 3), t1_oV, (1, 4), (0, 2, 4, 3)) * -1 - tmp73 = einsum(v.VVvv, (0, 1, 2, 3), t1_Ov, (4, 3), (2, 4, 0, 1)) - tmp77 = einsum(v.OvOO, (0, 1, 2, 3), t1_Ov, (4, 1), (4, 0, 2, 3)) * -1 - tmp81 = einsum(v.VoVv, (0, 1, 2, 3), t1, (1, 3), (0, 2)) - tmp89 = einsum(v.OOvv, (0, 1, 2, 3), t2_OOvv, (4, 5, 2, 3), (4, 5, 0, 1)) - tmp83 = einsum(v.OVVv, (0, 1, 2, 3), t1_Ov, (4, 3), (4, 0, 2, 1)) * -1 - tmp67 = einsum(t1_oV, (0, 1), v.OOoo, (2, 3, 4, 0), (4, 2, 3, 1)) - tmp95 = einsum(t2_OOVv, (0, 1, 2, 3), v.OOVv, (4, 5, 6, 3), (0, 1, 4, 5, 2, 6)) - tmp58 = einsum(t1_oV, (0, 1), f.Vo, (2, 0), (2, 1)) - tmp135 = einsum(tmp134, (0, 1), t1_oV, (0, 2), (2, 1)) * -1 - del tmp134 - tmp28 = einsum(v.OOVv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) * -1 - tmp43 = einsum(t2, (0, 1, 2, 3), tmp1, (4, 3), (0, 1, 4, 2)) * -1 - tmp0 = einsum(f.ov, (0, 1), t1, (2, 1), (0, 2)) - tmp4 = einsum(v.ooov, (0, 1, 2, 3), t1, (1, 3), (0, 2)) - tmp37 = einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 2, 3), (0, 1, 4, 5)) - tmp3 = einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 2, 3), (0, 4)) - tmp40 = einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 3), (0, 4, 2, 5)) - tmp46 = einsum(tmp2, (0, 1, 2, 3), t2, (4, 1, 5, 3), (0, 4, 2, 5)) - tmp20 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 1, 5, 3), (0, 4, 5, 2)) - tmp25 = einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 2, 3), (0, 1, 4, 5)) - tmp33 = einsum(v.ovov, (0, 1, 2, 3), t1, (4, 3), (4, 0, 2, 1)) - tmp5 = einsum(v.ovvv, (0, 1, 2, 3), t1, (0, 3), (1, 2)) - tmp10 = einsum(t2, (0, 1, 2, 3), f.ov, (4, 3), (4, 0, 1, 2)) - tmp6 = einsum(tmp1, (0, 1), t1, (2, 1), (2, 0)) - tmp45 = einsum(tmp2, (0, 1, 2, 3), t1, (4, 3), (0, 4, 2, 1)) - tmp49 = einsum(tmp18, (0, 1, 2, 3), t1, (1, 4), (0, 2, 3, 4)) * -1 - tmp51 = einsum(t1, (0, 1), tmp23, (2, 3, 4, 1), (2, 0, 3, 4)) * -1 - tmp38 = einsum(t2, (0, 1, 2, 3), v.oovv, (0, 1, 4, 3), (2, 4)) - tmp105 = einsum(t2_OoVV, (0, 1, 2, 3), tmp104, (1, 4, 5, 6), (4, 5, 0, 2, 3, 6)) * -1 - del tmp104 - tmp88 = einsum(tmp87, (0, 1), t3, (2, 3, 1, 4, 5, 6), (0, 2, 3, 4, 5, 6)) - del tmp87 - tmp101 = einsum(tmp100, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), (4, 1, 2, 5, 6, 3)) * -1 - del tmp100 - tmp107 = einsum(t2_OOVv, (0, 1, 2, 3), tmp106, (3, 4, 5, 6), (0, 1, 4, 2, 5, 6)) * -1 - del tmp106 - tmp142 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp141, (6, 2, 7, 5), (6, 0, 1, 7, 3, 4)) - del tmp141 - tmp119 = einsum(t2_OOVv, (0, 1, 2, 3), tmp118, (3, 4, 5, 6), (0, 1, 4, 5, 2, 6)) * -1 - del tmp118 - tmp139 = einsum(tmp138, (0, 1, 2, 3), t3, (4, 2, 3, 5, 6, 7), (1, 0, 4, 5, 6, 7)) * -1 - del tmp138 - tmp103 = einsum(tmp102, (0, 1, 2, 3), t2_OOVv, (4, 5, 6, 0), (4, 5, 1, 2, 3, 6)) * -1 - del tmp102 - tmp57 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp56, (2, 6), (6, 0, 1, 3, 4, 5)) - del tmp56 - tmp98 = einsum(tmp97, (0, 1, 2, 3), t3, (4, 5, 6, 7, 3, 2), (4, 5, 6, 1, 0, 7)) - del tmp97 - tmp125 = einsum(tmp124, (0, 1, 2, 3), t2_OOVv, (4, 5, 6, 0), (4, 5, 1, 2, 3, 6)) * -1 - del tmp124 - tmp130 = einsum(t2_OOVv, (0, 1, 2, 3), tmp129, (3, 4, 5, 6), (4, 0, 1, 5, 2, 6)) - del tmp129 - tmp148 = einsum(t2_OoVV, (0, 1, 2, 3), tmp147, (1, 4, 5, 6), (5, 4, 0, 6, 2, 3)) * -1 - del tmp147 - tmp109 = einsum(t2_OoVV, (0, 1, 2, 3), tmp108, (1, 4, 5, 6), (4, 5, 0, 6, 2, 3)) - del tmp108 - tmp66 = einsum(v.VVVV, (0, 1, 2, 3), t3, (4, 5, 6, 7, 2, 3), (4, 5, 6, 7, 0, 1)) - tmp55 = einsum(f.VV, (0, 1), t3, (2, 3, 4, 5, 6, 1), (2, 3, 4, 0, 5, 6)) - tmp117 = einsum(t2_OoVV, (0, 1, 2, 3), tmp116, (1, 4, 5, 6), (4, 5, 0, 6, 2, 3)) - del tmp116 - tmp54 = einsum(f.OO, (0, 1), t3, (2, 3, 1, 4, 5, 6), (0, 2, 3, 4, 5, 6)) - tmp86 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp85, (6, 7, 5, 4), (0, 1, 2, 6, 3, 7)) * -1 - del tmp85 - tmp65 = einsum(v.OVOV, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 1), (4, 5, 0, 6, 7, 3)) - tmp112 = einsum(tmp111, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), (1, 4, 2, 5, 6, 3)) * -1 - del tmp111 - tmp92 = einsum(tmp91, (0, 1), t3, (2, 3, 4, 5, 6, 1), (2, 3, 4, 0, 5, 6)) - del tmp91 - tmp145 = einsum(tmp144, (0, 1, 2, 3), t3, (4, 5, 6, 7, 2, 3), (4, 5, 6, 0, 1, 7)) - del tmp144 - tmp114 = einsum(t2_OOVv, (0, 1, 2, 3), tmp113, (3, 4, 5, 6), (4, 0, 1, 5, 6, 2)) - del tmp113 - tmp94 = einsum(tmp93, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (0, 4, 5, 2, 6, 7)) - del tmp93 - tmp122 = einsum(tmp121, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), (1, 4, 2, 3, 5, 6)) - del tmp121 - tmp70 = einsum(tmp69, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), (1, 4, 2, 5, 6, 3)) * -1 - del tmp69 - tmp133 = einsum(tmp132, (0, 1), t3, (2, 3, 1, 4, 5, 6), (0, 2, 3, 4, 5, 6)) - del tmp132 - tmp151 = einsum(tmp150, (0, 1, 2, 3), t2_OOVv, (4, 5, 6, 0), (1, 4, 5, 2, 3, 6)) - del tmp150 - tmp63 = einsum(t2_OOVv, (0, 1, 2, 3), v.OvVV, (4, 3, 5, 6), (0, 1, 4, 2, 5, 6)) - tmp72 = einsum(t2_OOVv, (0, 1, 2, 3), tmp71, (3, 4, 5, 6), (0, 1, 4, 5, 2, 6)) * -1 - del tmp71 - tmp128 = einsum(t2_OoVV, (0, 1, 2, 3), tmp127, (1, 4, 5, 6), (4, 5, 0, 2, 3, 6)) * -1 - del tmp127 - tmp76 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp75, (2, 6), (0, 1, 6, 3, 4, 5)) - del tmp75 - tmp61 = einsum(tmp60, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), (1, 2, 4, 3, 5, 6)) * -1 - del tmp60 - tmp64 = einsum(t3, (0, 1, 2, 3, 4, 5), v.OOOO, (6, 7, 1, 2), (0, 6, 7, 3, 4, 5)) - tmp99 = einsum(tmp30, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), (4, 2, 1, 5, 6, 3)) - tmp80 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp79, (2, 6, 7, 5), (0, 1, 6, 7, 3, 4)) - del tmp79 - tmp74 = einsum(t2_OOVv, (0, 1, 2, 3), tmp73, (3, 4, 5, 6), (4, 0, 1, 2, 5, 6)) - del tmp73 - tmp78 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp77, (6, 7, 2, 1), (6, 0, 7, 3, 4, 5)) * -1 - del tmp77 - tmp62 = einsum(v.OOVo, (0, 1, 2, 3), t2_OoVV, (4, 3, 5, 6), (4, 0, 1, 5, 6, 2)) - tmp82 = einsum(tmp81, (0, 1), t3, (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 6, 0)) - del tmp81 - tmp90 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp89, (6, 7, 2, 1), (7, 6, 0, 3, 4, 5)) - del tmp89 - tmp84 = einsum(tmp83, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 2), (0, 4, 5, 6, 7, 3)) - del tmp83 - tmp68 = einsum(tmp67, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), (4, 1, 2, 3, 5, 6)) - del tmp67 - tmp96 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp95, (6, 7, 1, 2, 8, 5), (6, 7, 0, 8, 3, 4)) - del tmp95 - tmp59 = einsum(tmp58, (0, 1), t3, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) - del tmp58 - tmp136 = einsum(tmp135, (0, 1), t3, (2, 3, 4, 5, 6, 1), (2, 3, 4, 0, 5, 6)) - del tmp135 - tmp16 = einsum(t3, (0, 1, 2, 3, 4, 5), v.OvVV, (2, 6, 4, 5), (6, 0, 1, 3)) * -1 - tmp31 = einsum(tmp30, (0, 1, 2, 3), t1, (0, 4), (4, 1, 2, 3)) - del tmp30 - tmp29 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp28, (6, 2, 1, 5), (6, 0, 3, 4)) * -1 - del tmp28 - tmp15 = einsum(v.OOVo, (0, 1, 2, 3), t3, (4, 0, 1, 5, 6, 2), (3, 4, 5, 6)) * -1 - tmp27 = einsum(v.OoVv, (0, 1, 2, 3), t1, (1, 3), (0, 2)) - tmp44 = einsum(tmp43, (0, 1, 2, 3), t1, (2, 4), (0, 1, 4, 3)) - del tmp43 - tmp9 = einsum(tmp0, (0, 1), t2, (2, 0, 3, 4), (1, 2, 3, 4)) - tmp8 = einsum(f.vv, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4)) - tmp14 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 3, 1, 5), (0, 4, 2, 5)) - tmp17 = einsum(t2, (0, 1, 2, 3), tmp4, (1, 4), (0, 4, 2, 3)) * -1 - tmp48 = einsum(tmp37, (0, 1, 2, 3), t1, (2, 4), (0, 1, 3, 4)) * -1 - tmp36 = einsum(tmp3, (0, 1), t2, (2, 1, 3, 4), (2, 0, 3, 4)) - tmp12 = einsum(v.ooov, (0, 1, 2, 3), t1, (2, 4), (0, 1, 4, 3)) - tmp41 = einsum(tmp40, (0, 1, 2, 3), t2, (4, 1, 5, 3), (0, 4, 2, 5)) - del tmp40 - tmp47 = einsum(tmp46, (0, 1, 2, 3), t1, (2, 4), (0, 1, 4, 3)) - del tmp46 - tmp21 = einsum(t1, (0, 1), tmp20, (2, 0, 3, 4), (2, 3, 1, 4)) - del tmp20 - tmp26 = einsum(tmp25, (0, 1, 2, 3), t1, (2, 4), (0, 1, 4, 3)) - del tmp25 - tmp19 = einsum(tmp18, (0, 1, 2, 3), t2, (2, 1, 4, 5), (0, 3, 4, 5)) * -1 - del tmp18 - tmp34 = einsum(t1, (0, 1), tmp33, (2, 0, 3, 4), (2, 3, 1, 4)) - del tmp33 - tmp22 = einsum(tmp5, (0, 1), t2, (2, 3, 4, 1), (2, 3, 4, 0)) * -1 - tmp24 = einsum(t2, (0, 1, 2, 3), tmp23, (4, 1, 5, 3), (4, 0, 2, 5)) * -1 - del tmp23 - tmp11 = einsum(tmp10, (0, 1, 2, 3), t1, (0, 4), (1, 2, 4, 3)) - del tmp10 - tmp7 = einsum(f.oo, (0, 1), t2, (2, 1, 3, 4), (0, 2, 3, 4)) - tmp13 = einsum(v.ovvv, (0, 1, 2, 3), t1, (4, 1), (4, 0, 2, 3)) - tmp42 = einsum(tmp6, (0, 1), t2, (2, 1, 3, 4), (0, 2, 3, 4)) * -1 - tmp53 = einsum(tmp45, (0, 1, 2, 3), t1, (3, 4), (0, 1, 2, 4)) - tmp50 = einsum(t1, (0, 1), tmp49, (2, 0, 3, 4), (2, 3, 4, 1)) * -1 - del tmp49 - tmp35 = einsum(t1, (0, 1), v.vvvv, (2, 3, 4, 1), (0, 2, 3, 4)) - tmp52 = einsum(t1, (0, 1), tmp51, (2, 3, 0, 4), (3, 2, 1, 4)) * -1 - del tmp51 - tmp32 = einsum(v.oooo, (0, 1, 2, 3), t1, (3, 4), (0, 1, 2, 4)) - tmp39 = einsum(tmp38, (0, 1), t2, (2, 3, 4, 1), (2, 3, 4, 0)) - del tmp38 - t3new = np.copy(np.transpose(tmp54, (1, 2, 0, 4, 5, 3))) * -1 - t3new += np.transpose(tmp54, (1, 0, 2, 4, 5, 3)) - t3new += np.transpose(tmp54, (0, 2, 1, 4, 5, 3)) - del tmp54 - t3new += np.transpose(tmp55, (0, 1, 2, 3, 5, 4)) * -1 - t3new += np.transpose(tmp55, (0, 1, 2, 5, 3, 4)) - t3new += np.transpose(tmp55, (0, 1, 2, 5, 4, 3)) * -1 - del tmp55 - t3new += np.transpose(tmp57, (1, 2, 0, 4, 5, 3)) * -1 - t3new += np.transpose(tmp57, (1, 0, 2, 4, 5, 3)) - t3new += np.transpose(tmp57, (0, 2, 1, 4, 5, 3)) - del tmp57 - t3new += np.transpose(tmp59, (0, 1, 2, 3, 5, 4)) - t3new += np.transpose(tmp59, (0, 1, 2, 5, 3, 4)) * -1 - t3new += np.transpose(tmp59, (0, 1, 2, 5, 4, 3)) - del tmp59 - t3new += np.transpose(tmp61, (2, 1, 0, 3, 5, 4)) - t3new += np.transpose(tmp61, (0, 2, 1, 3, 5, 4)) - t3new += np.transpose(tmp61, (2, 1, 0, 5, 3, 4)) * -1 - t3new += np.transpose(tmp61, (0, 2, 1, 5, 3, 4)) * -1 - t3new += np.transpose(tmp61, (0, 1, 2, 3, 5, 4)) * -1 - t3new += np.transpose(tmp61, (0, 1, 2, 5, 3, 4)) - t3new += np.transpose(tmp61, (2, 1, 0, 5, 4, 3)) - t3new += np.transpose(tmp61, (0, 2, 1, 5, 4, 3)) - t3new += np.transpose(tmp61, (0, 1, 2, 5, 4, 3)) * -1 - del tmp61 - t3new += np.transpose(tmp62, (0, 2, 1, 5, 4, 3)) - t3new += np.transpose(tmp62, (1, 0, 2, 5, 4, 3)) - t3new += np.transpose(tmp62, (0, 2, 1, 4, 5, 3)) * -1 - t3new += np.transpose(tmp62, (1, 0, 2, 4, 5, 3)) * -1 - t3new += np.transpose(tmp62, (1, 2, 0, 5, 4, 3)) * -1 - t3new += np.transpose(tmp62, (1, 2, 0, 4, 5, 3)) - t3new += np.transpose(tmp62, (0, 2, 1, 4, 3, 5)) - t3new += np.transpose(tmp62, (1, 0, 2, 4, 3, 5)) - t3new += np.transpose(tmp62, (1, 2, 0, 4, 3, 5)) * -1 - del tmp62 - t3new += np.transpose(tmp63, (0, 1, 2, 5, 4, 3)) - t3new += np.transpose(tmp63, (0, 2, 1, 5, 4, 3)) * -1 - t3new += np.transpose(tmp63, (0, 1, 2, 5, 3, 4)) * -1 - t3new += np.transpose(tmp63, (0, 2, 1, 5, 3, 4)) - t3new += np.transpose(tmp63, (2, 1, 0, 5, 4, 3)) * -1 - t3new += np.transpose(tmp63, (2, 1, 0, 5, 3, 4)) - t3new += np.transpose(tmp63, (0, 1, 2, 3, 5, 4)) - t3new += np.transpose(tmp63, (0, 2, 1, 3, 5, 4)) * -1 - t3new += np.transpose(tmp63, (2, 1, 0, 3, 5, 4)) * -1 - del tmp63 - t3new += np.transpose(tmp64, (0, 2, 1, 4, 5, 3)) * -0.5 - t3new += np.transpose(tmp64, (1, 0, 2, 4, 5, 3)) * -0.5 - t3new += np.transpose(tmp64, (1, 2, 0, 4, 5, 3)) * 0.5 - del tmp64 - t3new += np.transpose(tmp65, (0, 1, 2, 5, 4, 3)) - t3new += np.transpose(tmp65, (0, 2, 1, 5, 4, 3)) * -1 - t3new += np.transpose(tmp65, (0, 1, 2, 4, 5, 3)) * -1 - t3new += np.transpose(tmp65, (0, 2, 1, 4, 5, 3)) - t3new += np.transpose(tmp65, (2, 1, 0, 5, 4, 3)) * -1 - t3new += np.transpose(tmp65, (2, 1, 0, 4, 5, 3)) - t3new += np.transpose(tmp65, (0, 1, 2, 4, 3, 5)) - t3new += np.transpose(tmp65, (0, 2, 1, 4, 3, 5)) * -1 - t3new += np.transpose(tmp65, (2, 1, 0, 4, 3, 5)) * -1 - del tmp65 - t3new += np.transpose(tmp66, (0, 1, 2, 5, 4, 3)) * -0.5 - t3new += np.transpose(tmp66, (0, 1, 2, 5, 3, 4)) * 0.5 - t3new += np.transpose(tmp66, (0, 1, 2, 3, 5, 4)) * -0.5 - del tmp66 - t3new += np.transpose(tmp68, (0, 2, 1, 3, 5, 4)) - t3new += np.transpose(tmp68, (1, 0, 2, 3, 5, 4)) - t3new += np.transpose(tmp68, (0, 2, 1, 5, 3, 4)) * -1 - t3new += np.transpose(tmp68, (1, 0, 2, 5, 3, 4)) * -1 - t3new += np.transpose(tmp68, (0, 2, 1, 5, 4, 3)) - t3new += np.transpose(tmp68, (1, 0, 2, 5, 4, 3)) - t3new += np.transpose(tmp68, (1, 2, 0, 3, 5, 4)) * -1 - t3new += np.transpose(tmp68, (1, 2, 0, 5, 3, 4)) - t3new += np.transpose(tmp68, (1, 2, 0, 5, 4, 3)) * -1 - del tmp68 - t3new += np.transpose(tmp70, (1, 0, 2, 5, 4, 3)) * -1 - t3new += np.transpose(tmp70, (0, 1, 2, 5, 4, 3)) - t3new += np.transpose(tmp70, (1, 0, 2, 4, 5, 3)) - t3new += np.transpose(tmp70, (0, 1, 2, 4, 5, 3)) * -1 - t3new += np.transpose(tmp72, (0, 1, 2, 5, 3, 4)) * -1 - t3new += np.transpose(tmp72, (0, 2, 1, 5, 3, 4)) - t3new += np.transpose(tmp72, (0, 1, 2, 5, 4, 3)) - t3new += np.transpose(tmp72, (0, 2, 1, 5, 4, 3)) * -1 - t3new += np.transpose(tmp70, (1, 2, 0, 5, 4, 3)) - t3new += np.transpose(tmp70, (0, 2, 1, 5, 4, 3)) * -1 - t3new += np.transpose(tmp70, (1, 2, 0, 4, 5, 3)) * -1 - t3new += np.transpose(tmp70, (0, 2, 1, 4, 5, 3)) - t3new += np.transpose(tmp70, (2, 1, 0, 5, 4, 3)) * -1 - t3new += np.transpose(tmp70, (2, 0, 1, 5, 4, 3)) - t3new += np.transpose(tmp70, (2, 1, 0, 4, 5, 3)) - t3new += np.transpose(tmp70, (2, 0, 1, 4, 5, 3)) * -1 - t3new += np.transpose(tmp72, (2, 1, 0, 5, 3, 4)) - t3new += np.transpose(tmp72, (2, 1, 0, 5, 4, 3)) * -1 - t3new += np.transpose(tmp72, (0, 1, 2, 3, 5, 4)) - t3new += np.transpose(tmp72, (0, 2, 1, 3, 5, 4)) * -1 - t3new += np.transpose(tmp72, (0, 1, 2, 4, 5, 3)) * -1 - t3new += np.transpose(tmp72, (0, 2, 1, 4, 5, 3)) - t3new += np.transpose(tmp72, (2, 1, 0, 3, 5, 4)) * -1 - t3new += np.transpose(tmp72, (2, 1, 0, 4, 5, 3)) - t3new += np.transpose(tmp70, (1, 0, 2, 4, 3, 5)) * -1 - t3new += np.transpose(tmp70, (0, 1, 2, 4, 3, 5)) - t3new += tmp72 * -1 - t3new += np.transpose(tmp72, (0, 2, 1, 3, 4, 5)) - t3new += np.transpose(tmp72, (0, 1, 2, 4, 3, 5)) - t3new += np.transpose(tmp72, (0, 2, 1, 4, 3, 5)) * -1 - t3new += np.transpose(tmp70, (1, 2, 0, 4, 3, 5)) - t3new += np.transpose(tmp70, (0, 2, 1, 4, 3, 5)) * -1 - t3new += np.transpose(tmp70, (2, 1, 0, 4, 3, 5)) * -1 - t3new += np.transpose(tmp70, (2, 0, 1, 4, 3, 5)) - del tmp70 - t3new += np.transpose(tmp72, (2, 1, 0, 3, 4, 5)) - t3new += np.transpose(tmp72, (2, 1, 0, 4, 3, 5)) * -1 - del tmp72 - t3new += np.transpose(tmp74, (1, 2, 0, 5, 4, 3)) * -1 - t3new += np.transpose(tmp74, (1, 0, 2, 5, 4, 3)) - t3new += np.transpose(tmp74, (1, 2, 0, 5, 3, 4)) - t3new += np.transpose(tmp74, (1, 0, 2, 5, 3, 4)) * -1 - t3new += np.transpose(tmp74, (0, 2, 1, 5, 4, 3)) - t3new += np.transpose(tmp74, (0, 2, 1, 5, 3, 4)) * -1 - t3new += np.transpose(tmp74, (1, 2, 0, 3, 5, 4)) * -1 - t3new += np.transpose(tmp74, (1, 0, 2, 3, 5, 4)) - t3new += np.transpose(tmp74, (0, 2, 1, 3, 5, 4)) - del tmp74 - t3new += np.transpose(tmp76, (0, 1, 2, 4, 5, 3)) * -1 - t3new += np.transpose(tmp76, (0, 2, 1, 4, 5, 3)) - t3new += np.transpose(tmp78, (1, 0, 2, 4, 5, 3)) * 0.5 - t3new += np.transpose(tmp78, (0, 1, 2, 4, 5, 3)) * -0.5 - t3new += np.transpose(tmp80, (0, 1, 2, 3, 5, 4)) - t3new += np.transpose(tmp80, (0, 2, 1, 3, 5, 4)) * -1 - t3new += np.transpose(tmp80, (0, 1, 2, 5, 3, 4)) * -1 - t3new += np.transpose(tmp80, (0, 2, 1, 5, 3, 4)) - t3new += np.transpose(tmp80, (0, 1, 2, 5, 4, 3)) - t3new += np.transpose(tmp80, (0, 2, 1, 5, 4, 3)) * -1 - t3new += np.transpose(tmp78, (1, 2, 0, 4, 5, 3)) * -0.5 - t3new += np.transpose(tmp78, (0, 2, 1, 4, 5, 3)) * 0.5 - t3new += np.transpose(tmp76, (2, 1, 0, 4, 5, 3)) - del tmp76 - t3new += np.transpose(tmp78, (2, 1, 0, 4, 5, 3)) * 0.5 - t3new += np.transpose(tmp78, (2, 0, 1, 4, 5, 3)) * -0.5 - del tmp78 - t3new += np.transpose(tmp80, (2, 1, 0, 3, 5, 4)) * -1 - t3new += np.transpose(tmp80, (2, 1, 0, 5, 3, 4)) - t3new += np.transpose(tmp80, (2, 1, 0, 5, 4, 3)) * -1 - del tmp80 - t3new += np.transpose(tmp82, (0, 1, 2, 5, 4, 3)) * -1 - t3new += np.transpose(tmp82, (0, 1, 2, 4, 5, 3)) - t3new += np.transpose(tmp84, (1, 2, 0, 5, 4, 3)) - t3new += np.transpose(tmp84, (1, 0, 2, 5, 4, 3)) * -1 - t3new += np.transpose(tmp84, (1, 2, 0, 4, 5, 3)) * -1 - t3new += np.transpose(tmp84, (1, 0, 2, 4, 5, 3)) - t3new += np.transpose(tmp84, (0, 2, 1, 5, 4, 3)) * -1 - t3new += np.transpose(tmp84, (0, 2, 1, 4, 5, 3)) - t3new += np.transpose(tmp86, (0, 1, 2, 5, 3, 4)) * 0.5 - t3new += np.transpose(tmp86, (0, 1, 2, 5, 4, 3)) * -0.5 - t3new += np.transpose(tmp86, (0, 1, 2, 3, 5, 4)) * -0.5 - t3new += np.transpose(tmp86, (0, 1, 2, 4, 5, 3)) * 0.5 - t3new += np.transpose(tmp82, (0, 1, 2, 4, 3, 5)) * -1 - del tmp82 - t3new += np.transpose(tmp84, (1, 2, 0, 4, 3, 5)) - t3new += np.transpose(tmp84, (1, 0, 2, 4, 3, 5)) * -1 - t3new += np.transpose(tmp84, (0, 2, 1, 4, 3, 5)) * -1 - del tmp84 - t3new += tmp86 * 0.5 - t3new += np.transpose(tmp86, (0, 1, 2, 4, 3, 5)) * -0.5 - del tmp86 - t3new += np.transpose(tmp88, (1, 2, 0, 3, 5, 4)) * 0.5 - t3new += np.transpose(tmp88, (2, 0, 1, 3, 5, 4)) * 0.5 - t3new += np.transpose(tmp88, (0, 2, 1, 3, 5, 4)) * -0.5 - del tmp88 - t3new += np.transpose(tmp90, (2, 1, 0, 3, 4, 5)) * -0.25 - t3new += np.transpose(tmp90, (1, 2, 0, 3, 4, 5)) * 0.25 - t3new += tmp90 * 0.25 - del tmp90 - t3new += np.transpose(tmp92, (2, 1, 0, 3, 4, 5)) * 0.5 - t3new += np.transpose(tmp92, (2, 1, 0, 4, 3, 5)) * -0.5 - t3new += np.transpose(tmp94, (1, 2, 0, 3, 5, 4)) * -1 - t3new += np.transpose(tmp94, (2, 0, 1, 3, 5, 4)) * -1 - t3new += np.transpose(tmp94, (1, 2, 0, 4, 3, 5)) * -1 - t3new += np.transpose(tmp94, (2, 0, 1, 4, 3, 5)) * -1 - t3new += np.transpose(tmp94, (0, 2, 1, 3, 5, 4)) - t3new += np.transpose(tmp94, (0, 2, 1, 4, 3, 5)) - t3new += np.transpose(tmp96, (2, 1, 0, 3, 5, 4)) * -0.5 - t3new += np.transpose(tmp96, (1, 2, 0, 3, 5, 4)) * 0.5 - t3new += np.transpose(tmp96, (2, 1, 0, 5, 3, 4)) * 0.5 - t3new += np.transpose(tmp96, (1, 2, 0, 5, 3, 4)) * -0.5 - t3new += np.transpose(tmp96, (0, 1, 2, 3, 5, 4)) * 0.5 - t3new += np.transpose(tmp96, (0, 1, 2, 5, 3, 4)) * -0.5 - t3new += np.transpose(tmp92, (2, 1, 0, 4, 5, 3)) * 0.5 - del tmp92 - t3new += np.transpose(tmp94, (1, 2, 0, 4, 5, 3)) - t3new += np.transpose(tmp94, (2, 0, 1, 4, 5, 3)) - t3new += np.transpose(tmp94, (0, 2, 1, 4, 5, 3)) * -1 - del tmp94 - t3new += np.transpose(tmp96, (2, 1, 0, 5, 4, 3)) * -0.5 - t3new += np.transpose(tmp96, (1, 2, 0, 5, 4, 3)) * 0.5 - t3new += np.transpose(tmp96, (0, 1, 2, 5, 4, 3)) * 0.5 - del tmp96 - t3new += np.transpose(tmp98, (2, 1, 0, 3, 4, 5)) * -0.25 - t3new += np.transpose(tmp98, (2, 1, 0, 3, 5, 4)) * 0.25 - t3new += np.transpose(tmp99, (1, 2, 0, 4, 3, 5)) * 0.5 - t3new += np.transpose(tmp99, (2, 0, 1, 4, 3, 5)) * 0.5 - t3new += np.transpose(tmp99, (1, 2, 0, 4, 5, 3)) * -0.5 - t3new += np.transpose(tmp99, (2, 0, 1, 4, 5, 3)) * -0.5 - t3new += np.transpose(tmp99, (0, 2, 1, 4, 3, 5)) * -0.5 - t3new += np.transpose(tmp99, (0, 2, 1, 4, 5, 3)) * 0.5 - t3new += np.transpose(tmp98, (2, 1, 0, 5, 4, 3)) * 0.25 - del tmp98 - t3new += np.transpose(tmp99, (1, 2, 0, 5, 4, 3)) * 0.5 - t3new += np.transpose(tmp99, (2, 0, 1, 5, 4, 3)) * 0.5 - t3new += np.transpose(tmp99, (0, 2, 1, 5, 4, 3)) * -0.5 - del tmp99 - t3new += np.transpose(tmp101, (0, 1, 2, 5, 4, 3)) * -1 - t3new += np.transpose(tmp101, (1, 0, 2, 5, 4, 3)) - t3new += np.transpose(tmp101, (0, 1, 2, 4, 5, 3)) - t3new += np.transpose(tmp101, (1, 0, 2, 4, 5, 3)) * -1 - t3new += np.transpose(tmp103, (0, 1, 2, 5, 4, 3)) * 0.5 - t3new += np.transpose(tmp103, (0, 2, 1, 5, 4, 3)) * -0.5 - t3new += np.transpose(tmp103, (0, 1, 2, 4, 5, 3)) * -0.5 - t3new += np.transpose(tmp103, (0, 2, 1, 4, 5, 3)) * 0.5 - t3new += np.transpose(tmp101, (0, 1, 2, 4, 3, 5)) * -1 - t3new += np.transpose(tmp101, (1, 0, 2, 4, 3, 5)) - t3new += np.transpose(tmp103, (0, 1, 2, 4, 3, 5)) * 0.5 - t3new += np.transpose(tmp103, (0, 2, 1, 4, 3, 5)) * -0.5 - t3new += np.transpose(tmp101, (0, 2, 1, 5, 4, 3)) - t3new += np.transpose(tmp101, (1, 2, 0, 5, 4, 3)) * -1 - t3new += np.transpose(tmp101, (0, 2, 1, 4, 5, 3)) * -1 - t3new += np.transpose(tmp101, (1, 2, 0, 4, 5, 3)) - t3new += np.transpose(tmp101, (0, 2, 1, 4, 3, 5)) - t3new += np.transpose(tmp101, (1, 2, 0, 4, 3, 5)) * -1 - t3new += np.transpose(tmp101, (2, 0, 1, 5, 4, 3)) * -1 - t3new += np.transpose(tmp101, (2, 1, 0, 5, 4, 3)) - t3new += np.transpose(tmp101, (2, 0, 1, 4, 5, 3)) - t3new += np.transpose(tmp101, (2, 1, 0, 4, 5, 3)) * -1 - t3new += np.transpose(tmp103, (2, 1, 0, 5, 4, 3)) * -0.5 - t3new += np.transpose(tmp103, (2, 1, 0, 4, 5, 3)) * 0.5 - t3new += np.transpose(tmp101, (2, 0, 1, 4, 3, 5)) * -1 - t3new += np.transpose(tmp101, (2, 1, 0, 4, 3, 5)) - del tmp101 - t3new += np.transpose(tmp103, (2, 1, 0, 4, 3, 5)) * -0.5 - del tmp103 - t3new += np.transpose(tmp105, (2, 1, 0, 5, 4, 3)) * 0.5 - t3new += np.transpose(tmp105, (0, 2, 1, 5, 4, 3)) * 0.5 - t3new += np.transpose(tmp105, (2, 1, 0, 4, 5, 3)) * -0.5 - t3new += np.transpose(tmp105, (0, 2, 1, 4, 5, 3)) * -0.5 - t3new += np.transpose(tmp105, (0, 1, 2, 5, 4, 3)) * -0.5 - t3new += np.transpose(tmp105, (0, 1, 2, 4, 5, 3)) * 0.5 - t3new += np.transpose(tmp107, (0, 1, 2, 5, 4, 3)) - t3new += np.transpose(tmp107, (0, 2, 1, 5, 4, 3)) * -1 - t3new += np.transpose(tmp107, (0, 1, 2, 4, 5, 3)) * -1 - t3new += np.transpose(tmp107, (0, 2, 1, 4, 5, 3)) - t3new += np.transpose(tmp107, (2, 1, 0, 5, 4, 3)) * -1 - t3new += np.transpose(tmp107, (2, 1, 0, 4, 5, 3)) - t3new += np.transpose(tmp107, (2, 1, 0, 5, 3, 4)) - t3new += np.transpose(tmp107, (0, 2, 1, 5, 3, 4)) - t3new += np.transpose(tmp107, (2, 1, 0, 3, 5, 4)) * -1 - t3new += np.transpose(tmp107, (0, 2, 1, 3, 5, 4)) * -1 - t3new += np.transpose(tmp107, (0, 1, 2, 5, 3, 4)) * -1 - t3new += np.transpose(tmp107, (0, 1, 2, 3, 5, 4)) - t3new += np.transpose(tmp105, (2, 1, 0, 4, 3, 5)) * 0.5 - t3new += np.transpose(tmp105, (0, 2, 1, 4, 3, 5)) * 0.5 - t3new += np.transpose(tmp105, (0, 1, 2, 4, 3, 5)) * -0.5 - del tmp105 - t3new += np.transpose(tmp107, (0, 1, 2, 4, 3, 5)) - t3new += np.transpose(tmp107, (0, 2, 1, 4, 3, 5)) * -1 - t3new += np.transpose(tmp107, (2, 1, 0, 4, 3, 5)) * -1 - t3new += np.transpose(tmp107, (2, 1, 0, 3, 4, 5)) - t3new += np.transpose(tmp107, (0, 2, 1, 3, 4, 5)) - t3new += tmp107 * -1 - del tmp107 - t3new += np.transpose(tmp109, (2, 1, 0, 3, 4, 5)) * -1 - t3new += np.transpose(tmp109, (1, 2, 0, 3, 4, 5)) - t3new += np.transpose(tmp109, (2, 1, 0, 4, 3, 5)) - t3new += np.transpose(tmp109, (1, 2, 0, 4, 3, 5)) * -1 - t3new += tmp109 - t3new += np.transpose(tmp109, (0, 1, 2, 4, 3, 5)) * -1 - t3new += np.transpose(tmp109, (2, 1, 0, 4, 5, 3)) * -1 - t3new += np.transpose(tmp109, (1, 2, 0, 4, 5, 3)) - t3new += np.transpose(tmp109, (0, 1, 2, 4, 5, 3)) - del tmp109 - t3new += np.transpose(tmp112, (1, 2, 0, 5, 3, 4)) * -1 - t3new += np.transpose(tmp112, (2, 1, 0, 5, 3, 4)) - t3new += np.transpose(tmp112, (1, 2, 0, 3, 5, 4)) - t3new += np.transpose(tmp112, (2, 1, 0, 3, 5, 4)) * -1 - t3new += np.transpose(tmp114, (1, 2, 0, 5, 3, 4)) * 0.5 - t3new += np.transpose(tmp114, (2, 0, 1, 5, 3, 4)) * 0.5 - t3new += np.transpose(tmp114, (1, 2, 0, 3, 5, 4)) * -0.5 - t3new += np.transpose(tmp114, (2, 0, 1, 3, 5, 4)) * -0.5 - t3new += np.transpose(tmp112, (1, 2, 0, 3, 4, 5)) * -1 - t3new += np.transpose(tmp112, (2, 1, 0, 3, 4, 5)) - t3new += np.transpose(tmp114, (1, 2, 0, 3, 4, 5)) * 0.5 - t3new += np.transpose(tmp114, (2, 0, 1, 3, 4, 5)) * 0.5 - t3new += np.transpose(tmp112, (1, 0, 2, 5, 3, 4)) - t3new += np.transpose(tmp112, (2, 0, 1, 5, 3, 4)) * -1 - t3new += np.transpose(tmp112, (1, 0, 2, 3, 5, 4)) * -1 - t3new += np.transpose(tmp112, (2, 0, 1, 3, 5, 4)) - t3new += np.transpose(tmp112, (1, 0, 2, 3, 4, 5)) - t3new += np.transpose(tmp112, (2, 0, 1, 3, 4, 5)) * -1 - t3new += np.transpose(tmp112, (0, 1, 2, 5, 3, 4)) * -1 - t3new += np.transpose(tmp112, (0, 2, 1, 5, 3, 4)) - t3new += np.transpose(tmp112, (0, 1, 2, 3, 5, 4)) - t3new += np.transpose(tmp112, (0, 2, 1, 3, 5, 4)) * -1 - t3new += np.transpose(tmp114, (0, 2, 1, 5, 3, 4)) * -0.5 - t3new += np.transpose(tmp114, (0, 2, 1, 3, 5, 4)) * 0.5 - t3new += tmp112 * -1 - t3new += np.transpose(tmp112, (0, 2, 1, 3, 4, 5)) - del tmp112 - t3new += np.transpose(tmp114, (0, 2, 1, 3, 4, 5)) * -0.5 - del tmp114 - t3new += np.transpose(tmp117, (2, 1, 0, 3, 4, 5)) * -0.5 - t3new += np.transpose(tmp117, (1, 2, 0, 3, 4, 5)) * 0.5 - t3new += np.transpose(tmp117, (2, 1, 0, 4, 3, 5)) * 0.5 - t3new += np.transpose(tmp117, (1, 2, 0, 4, 3, 5)) * -0.5 - t3new += tmp117 * 0.5 - t3new += np.transpose(tmp117, (0, 1, 2, 4, 3, 5)) * -0.5 - t3new += np.transpose(tmp119, (0, 1, 2, 3, 5, 4)) - t3new += np.transpose(tmp119, (1, 2, 0, 3, 5, 4)) - t3new += np.transpose(tmp119, (0, 1, 2, 5, 3, 4)) * -1 - t3new += np.transpose(tmp119, (1, 2, 0, 5, 3, 4)) * -1 - t3new += np.transpose(tmp119, (2, 1, 0, 3, 5, 4)) * -1 - t3new += np.transpose(tmp119, (2, 1, 0, 5, 3, 4)) - t3new += np.transpose(tmp119, (2, 1, 0, 3, 4, 5)) - t3new += np.transpose(tmp119, (1, 2, 0, 3, 4, 5)) * -1 - t3new += np.transpose(tmp119, (2, 1, 0, 4, 3, 5)) * -1 - t3new += np.transpose(tmp119, (1, 2, 0, 4, 3, 5)) - t3new += tmp119 * -1 - t3new += np.transpose(tmp119, (0, 1, 2, 4, 3, 5)) - t3new += np.transpose(tmp117, (2, 1, 0, 4, 5, 3)) * -0.5 - t3new += np.transpose(tmp117, (1, 2, 0, 4, 5, 3)) * 0.5 - t3new += np.transpose(tmp117, (0, 1, 2, 4, 5, 3)) * 0.5 - del tmp117 - t3new += np.transpose(tmp119, (0, 1, 2, 5, 4, 3)) - t3new += np.transpose(tmp119, (1, 2, 0, 5, 4, 3)) - t3new += np.transpose(tmp119, (2, 1, 0, 5, 4, 3)) * -1 - t3new += np.transpose(tmp119, (2, 1, 0, 4, 5, 3)) - t3new += np.transpose(tmp119, (1, 2, 0, 4, 5, 3)) * -1 - t3new += np.transpose(tmp119, (0, 1, 2, 4, 5, 3)) * -1 - del tmp119 - t3new += np.transpose(tmp122, (1, 0, 2, 3, 5, 4)) * -1 - t3new += np.transpose(tmp122, (0, 1, 2, 3, 5, 4)) - t3new += np.transpose(tmp122, (1, 0, 2, 5, 3, 4)) - t3new += np.transpose(tmp122, (0, 1, 2, 5, 3, 4)) * -1 - t3new += np.transpose(tmp122, (1, 0, 2, 5, 4, 3)) * -1 - t3new += np.transpose(tmp122, (0, 1, 2, 5, 4, 3)) - t3new += np.transpose(tmp125, (0, 1, 2, 4, 3, 5)) - t3new += np.transpose(tmp125, (0, 2, 1, 4, 3, 5)) * -1 - t3new += np.transpose(tmp125, (0, 1, 2, 4, 5, 3)) * -1 - t3new += np.transpose(tmp125, (0, 2, 1, 4, 5, 3)) - t3new += np.transpose(tmp125, (0, 1, 2, 5, 4, 3)) - t3new += np.transpose(tmp125, (0, 2, 1, 5, 4, 3)) * -1 - t3new += np.transpose(tmp122, (1, 2, 0, 3, 5, 4)) - t3new += np.transpose(tmp122, (0, 2, 1, 3, 5, 4)) * -1 - t3new += np.transpose(tmp122, (1, 2, 0, 5, 3, 4)) * -1 - t3new += np.transpose(tmp122, (0, 2, 1, 5, 3, 4)) - t3new += np.transpose(tmp122, (1, 2, 0, 5, 4, 3)) - t3new += np.transpose(tmp122, (0, 2, 1, 5, 4, 3)) * -1 - t3new += np.transpose(tmp122, (2, 1, 0, 3, 5, 4)) * -1 - t3new += np.transpose(tmp122, (2, 0, 1, 3, 5, 4)) - t3new += np.transpose(tmp122, (2, 1, 0, 5, 3, 4)) - t3new += np.transpose(tmp122, (2, 0, 1, 5, 3, 4)) * -1 - t3new += np.transpose(tmp122, (2, 1, 0, 5, 4, 3)) * -1 - t3new += np.transpose(tmp122, (2, 0, 1, 5, 4, 3)) - del tmp122 - t3new += np.transpose(tmp125, (2, 1, 0, 4, 3, 5)) * -1 - t3new += np.transpose(tmp125, (2, 1, 0, 4, 5, 3)) - t3new += np.transpose(tmp125, (2, 1, 0, 5, 4, 3)) * -1 - del tmp125 - t3new += np.transpose(tmp128, (2, 1, 0, 5, 4, 3)) - t3new += np.transpose(tmp128, (1, 2, 0, 5, 4, 3)) * -1 - t3new += np.transpose(tmp128, (2, 1, 0, 4, 5, 3)) * -1 - t3new += np.transpose(tmp128, (1, 2, 0, 4, 5, 3)) - t3new += np.transpose(tmp130, (1, 2, 0, 5, 3, 4)) - t3new += np.transpose(tmp130, (1, 0, 2, 5, 3, 4)) * -1 - t3new += np.transpose(tmp130, (1, 2, 0, 5, 4, 3)) * -1 - t3new += np.transpose(tmp130, (1, 0, 2, 5, 4, 3)) - t3new += np.transpose(tmp128, (1, 0, 2, 5, 4, 3)) - t3new += np.transpose(tmp128, (1, 0, 2, 4, 5, 3)) * -1 - t3new += np.transpose(tmp130, (0, 2, 1, 5, 3, 4)) * -1 - t3new += np.transpose(tmp130, (0, 2, 1, 5, 4, 3)) - t3new += np.transpose(tmp130, (1, 2, 0, 3, 5, 4)) * -1 - t3new += np.transpose(tmp130, (1, 0, 2, 3, 5, 4)) - t3new += np.transpose(tmp130, (1, 2, 0, 4, 5, 3)) - t3new += np.transpose(tmp130, (1, 0, 2, 4, 5, 3)) * -1 - t3new += np.transpose(tmp130, (0, 2, 1, 3, 5, 4)) - t3new += np.transpose(tmp130, (0, 2, 1, 4, 5, 3)) * -1 - t3new += np.transpose(tmp128, (2, 1, 0, 4, 3, 5)) - t3new += np.transpose(tmp128, (1, 2, 0, 4, 3, 5)) * -1 - t3new += np.transpose(tmp130, (1, 2, 0, 3, 4, 5)) - t3new += np.transpose(tmp130, (1, 0, 2, 3, 4, 5)) * -1 - t3new += np.transpose(tmp130, (1, 2, 0, 4, 3, 5)) * -1 - t3new += np.transpose(tmp130, (1, 0, 2, 4, 3, 5)) - t3new += np.transpose(tmp128, (1, 0, 2, 4, 3, 5)) - del tmp128 - t3new += np.transpose(tmp130, (0, 2, 1, 3, 4, 5)) * -1 - t3new += np.transpose(tmp130, (0, 2, 1, 4, 3, 5)) - del tmp130 - t3new += np.transpose(tmp133, (1, 2, 0, 3, 5, 4)) - t3new += np.transpose(tmp133, (2, 0, 1, 3, 5, 4)) - t3new += np.transpose(tmp133, (0, 2, 1, 3, 5, 4)) * -1 - del tmp133 - t3new += np.transpose(tmp136, (2, 1, 0, 3, 4, 5)) - t3new += np.transpose(tmp136, (2, 1, 0, 4, 3, 5)) * -1 - t3new += np.transpose(tmp136, (2, 1, 0, 4, 5, 3)) - del tmp136 - t3new += np.transpose(tmp139, (2, 0, 1, 3, 4, 5)) * 0.5 - t3new += np.transpose(tmp139, (0, 2, 1, 3, 4, 5)) * -0.5 - t3new += np.transpose(tmp142, (1, 2, 0, 3, 5, 4)) - t3new += np.transpose(tmp142, (2, 0, 1, 3, 5, 4)) - t3new += np.transpose(tmp142, (1, 2, 0, 4, 3, 5)) - t3new += np.transpose(tmp142, (2, 0, 1, 4, 3, 5)) - t3new += np.transpose(tmp142, (1, 2, 0, 4, 5, 3)) * -1 - t3new += np.transpose(tmp142, (2, 0, 1, 4, 5, 3)) * -1 - t3new += tmp139 * 0.5 - del tmp139 - t3new += np.transpose(tmp142, (0, 2, 1, 3, 5, 4)) * -1 - t3new += np.transpose(tmp142, (0, 2, 1, 4, 3, 5)) * -1 - t3new += np.transpose(tmp142, (0, 2, 1, 4, 5, 3)) - del tmp142 - t3new += np.transpose(tmp145, (2, 1, 0, 3, 4, 5)) * -0.5 - t3new += np.transpose(tmp145, (2, 1, 0, 3, 5, 4)) * 0.5 - t3new += np.transpose(tmp145, (2, 1, 0, 5, 3, 4)) * -0.5 - del tmp145 - t3new += np.transpose(tmp148, (2, 0, 1, 3, 4, 5)) - t3new += np.transpose(tmp148, (0, 2, 1, 3, 4, 5)) * -1 - t3new += np.transpose(tmp148, (2, 0, 1, 4, 3, 5)) * -1 - t3new += np.transpose(tmp148, (0, 2, 1, 4, 3, 5)) - t3new += np.transpose(tmp148, (2, 0, 1, 4, 5, 3)) - t3new += np.transpose(tmp148, (0, 2, 1, 4, 5, 3)) * -1 - t3new += np.transpose(tmp151, (1, 2, 0, 3, 4, 5)) - t3new += np.transpose(tmp151, (2, 0, 1, 3, 4, 5)) - t3new += np.transpose(tmp151, (1, 2, 0, 3, 5, 4)) * -1 - t3new += np.transpose(tmp151, (2, 0, 1, 3, 5, 4)) * -1 - t3new += np.transpose(tmp151, (1, 2, 0, 5, 3, 4)) - t3new += np.transpose(tmp151, (2, 0, 1, 5, 3, 4)) - t3new += tmp148 - t3new += np.transpose(tmp148, (0, 1, 2, 4, 3, 5)) * -1 - t3new += np.transpose(tmp148, (0, 1, 2, 4, 5, 3)) - del tmp148 - t3new += np.transpose(tmp151, (0, 2, 1, 3, 4, 5)) * -1 - t3new += np.transpose(tmp151, (0, 2, 1, 3, 5, 4)) - t3new += np.transpose(tmp151, (0, 2, 1, 5, 3, 4)) * -1 - del tmp151 - t2new_OOVv = np.copy(np.transpose(tmp16, (1, 2, 3, 0))) * 0.5 - t2new_OOVv += np.transpose(tmp31, (1, 2, 3, 0)) * -0.5 - t2new_OOvV = np.copy(np.transpose(tmp16, (1, 2, 0, 3))) * -0.5 - del tmp16 - t2new_OOvV += np.transpose(tmp31, (1, 2, 0, 3)) * 0.5 - del tmp31 - t2new_oOVV = np.copy(np.transpose(tmp15, (0, 1, 3, 2))) * -0.5 - t2new_oOVV += np.transpose(tmp29, (0, 1, 3, 2)) * -0.5 - t2new_OoVV = np.copy(np.transpose(tmp15, (1, 0, 3, 2))) * 0.5 - del tmp15 - t2new_OoVV += np.transpose(tmp29, (1, 0, 3, 2)) * 0.5 - del tmp29 - t2new_OOVV = einsum(f.OV, (0, 1), t3, (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) - t2new_OOVV += einsum(t3, (0, 1, 2, 3, 4, 5), tmp27, (2, 5), (0, 1, 3, 4)) - del tmp27 - t2new = np.copy(np.transpose(tmp7, (1, 0, 3, 2))) - t2new += np.transpose(tmp7, (0, 1, 3, 2)) * -1 - del tmp7 - t2new += np.transpose(tmp8, (1, 0, 2, 3)) - t2new += np.transpose(tmp8, (1, 0, 3, 2)) * -1 - del tmp8 - t2new += np.transpose(tmp9, (1, 0, 3, 2)) - t2new += np.transpose(tmp9, (0, 1, 3, 2)) * -1 - del tmp9 - t2new += tmp11 - t2new += np.transpose(tmp11, (0, 1, 3, 2)) * -1 - del tmp11 - t2new += v.oovv - t2new += np.transpose(tmp12, (1, 0, 3, 2)) * -1 - t2new += np.transpose(tmp12, (1, 0, 2, 3)) - del tmp12 - t2new += np.transpose(tmp13, (0, 1, 3, 2)) - t2new += np.transpose(tmp13, (1, 0, 3, 2)) * -1 - del tmp13 - t2new += einsum(v.oooo, (0, 1, 2, 3), t2, (2, 3, 4, 5), (0, 1, 4, 5)) * 0.5 - t2new += np.transpose(tmp14, (0, 1, 3, 2)) - t2new += np.transpose(tmp14, (1, 0, 3, 2)) * -1 - t2new += tmp14 * -1 - t2new += np.transpose(tmp14, (1, 0, 2, 3)) - del tmp14 - t2new += einsum(v.vvvv, (0, 1, 2, 3), t2, (4, 5, 2, 3), (4, 5, 0, 1)) * 0.5 - t2new += np.transpose(tmp17, (0, 1, 3, 2)) * -1 - t2new += np.transpose(tmp17, (1, 0, 3, 2)) - del tmp17 - t2new += np.transpose(tmp19, (0, 1, 3, 2)) * 0.5 - t2new += np.transpose(tmp19, (1, 0, 3, 2)) * -0.5 - del tmp19 - t2new += tmp21 - t2new += np.transpose(tmp21, (1, 0, 2, 3)) * -1 - t2new += np.transpose(tmp21, (0, 1, 3, 2)) * -1 - t2new += np.transpose(tmp21, (1, 0, 3, 2)) - del tmp21 - t2new += np.transpose(tmp22, (0, 1, 3, 2)) * -1 - t2new += tmp22 - del tmp22 - t2new += np.transpose(tmp24, (1, 0, 3, 2)) - t2new += np.transpose(tmp24, (0, 1, 3, 2)) * -1 - t2new += np.transpose(tmp24, (1, 0, 2, 3)) * -1 - t2new += tmp24 - del tmp24 - t2new += np.transpose(tmp26, (0, 1, 3, 2)) * 0.5 - t2new += tmp26 * -0.5 - del tmp26 - t2new += einsum(tmp32, (0, 1, 2, 3), t1, (2, 4), (0, 1, 4, 3)) - del tmp32 - t2new += np.transpose(tmp34, (0, 1, 3, 2)) * -1 - t2new += np.transpose(tmp34, (1, 0, 3, 2)) - t2new += tmp34 - t2new += np.transpose(tmp34, (1, 0, 2, 3)) * -1 - del tmp34 - t2new += einsum(tmp35, (0, 1, 2, 3), t1, (4, 3), (4, 0, 2, 1)) * -1 - del tmp35 - t2new += np.transpose(tmp36, (0, 1, 3, 2)) * 0.5 - t2new += np.transpose(tmp36, (1, 0, 3, 2)) * -0.5 - del tmp36 - t2new += einsum(tmp37, (0, 1, 2, 3), t2, (3, 2, 4, 5), (1, 0, 4, 5)) * 0.25 - del tmp37 - t2new += np.transpose(tmp39, (0, 1, 3, 2)) * 0.5 - t2new += np.transpose(tmp41, (0, 1, 3, 2)) * -1 - t2new += tmp41 - del tmp41 - t2new += tmp39 * -0.5 - del tmp39 - t2new += np.transpose(tmp42, (1, 0, 3, 2)) * -1 - t2new += np.transpose(tmp42, (0, 1, 3, 2)) - del tmp42 - t2new += tmp44 * -1 - t2new += np.transpose(tmp44, (0, 1, 3, 2)) - del tmp44 - t2new += einsum(tmp45, (0, 1, 2, 3), t2, (2, 3, 4, 5), (1, 0, 4, 5)) * -0.5 - del tmp45 - t2new += np.transpose(tmp47, (1, 0, 2, 3)) - t2new += tmp47 * -1 - t2new += np.transpose(tmp47, (1, 0, 3, 2)) * -1 - t2new += np.transpose(tmp47, (0, 1, 3, 2)) - del tmp47 - t2new += einsum(tmp48, (0, 1, 2, 3), t1, (2, 4), (0, 1, 4, 3)) * 0.5 - del tmp48 - t2new += np.transpose(tmp50, (0, 1, 3, 2)) - t2new += np.transpose(tmp50, (1, 0, 3, 2)) * -1 - del tmp50 - t2new += np.transpose(tmp52, (0, 1, 3, 2)) - t2new += tmp52 * -1 - del tmp52 - t2new += einsum(tmp53, (0, 1, 2, 3), t1, (2, 4), (1, 0, 4, 3)) * -1 - del tmp53 - t1new_OV = einsum(t3, (0, 1, 2, 3, 4, 5), v.OOVV, (1, 2, 4, 5), (0, 3)) * 0.25 - t1new = np.copy(f.ov) - t1new += einsum(f.oo, (0, 1), t1, (1, 2), (0, 2)) * -1 - t1new += einsum(f.vv, (0, 1), t1, (2, 1), (2, 0)) - t1new += einsum(t2, (0, 1, 2, 3), f.ov, (1, 3), (0, 2)) - t1new += einsum(tmp0, (0, 1), t1, (0, 2), (1, 2)) * -1 - del tmp0 - t1new += einsum(t1, (0, 1), v.ovov, (2, 1, 0, 3), (2, 3)) * -1 - t1new += einsum(t2, (0, 1, 2, 3), v.ovoo, (4, 3, 0, 1), (4, 2)) * -0.5 - t1new += einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 0, 2, 3), (4, 1)) * -0.5 - t1new += einsum(tmp1, (0, 1), t2, (2, 0, 3, 1), (2, 3)) - del tmp1 - t1new += einsum(t2, (0, 1, 2, 3), tmp2, (4, 1, 0, 3), (4, 2)) * -0.5 - del tmp2 - t1new += einsum(tmp3, (0, 1), t1, (1, 2), (0, 2)) * -0.5 - del tmp3 - t1new += einsum(t1, (0, 1), tmp4, (0, 2), (2, 1)) * -1 - del tmp4 - t1new += einsum(tmp5, (0, 1), t1, (2, 1), (2, 0)) * -1 - del tmp5 - t1new += einsum(tmp6, (0, 1), t1, (1, 2), (0, 2)) * -1 - del tmp6 - - t2new += _inflate(t2new.shape, np.ix_(sO, sO, sV, sV), t2new_OOVV) - t2new += _inflate(t2new.shape, np.ix_(sO, sO, sv, sV), t2new_OOvV) - t2new += _inflate(t2new.shape, np.ix_(sO, so, sV, sV), t2new_OoVV) - t2new += _inflate(t2new.shape, np.ix_(so, sO, sV, sV), t2new_oOVV) - t1new += _inflate(t1new.shape, np.ix_(sO, sV), t1new_OV) - t2new += _inflate(t2new.shape, np.ix_(sO, sO, sV, sv), t2new_OOVv) - - return {f"t1new": t1new, f"t2new": t2new, f"t3new": t3new} - diff --git a/ebcc/codegen/RCCSDwtwp.py b/ebcc/codegen/RCCSDwtwp.py deleted file mode 100644 index ba33f50c..00000000 --- a/ebcc/codegen/RCCSDwtwp.py +++ /dev/null @@ -1,1618 +0,0 @@ -""" -Code generated by `albert`: -https://github.com/obackhouse/albert - - * date: 2024-09-29T17:16:22.166169 - * python version: 3.10.15 (main, Sep 9 2024, 03:02:45) [GCC 11.4.0] - * albert version: 0.0.0 - * caller: /opt/hostedtoolcache/Python/3.10.15/x64/lib/python3.10/site-packages/albert/codegen/einsum.py - * node: fv-az1788-690 - * system: Linux - * processor: x86_64 - * release: 6.8.0-1014-azure -""" - -from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, dirsum, Namespace -from ebcc.backend import _inflate - - -def energy(f=None, t1=None, t2=None, v=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-09-29T17:16:22.869247. - - Parameters - ---------- - f : array - Fock matrix. - t1 : array - T1 amplitudes. - t2 : array - T2 amplitudes. - v : array - Electron repulsion integrals. - - Returns - ------- - e_cc : float - Coupled cluster energy. - """ - - tmp0 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1))) - tmp0 += np.transpose(v.ovov, (0, 2, 1, 3)) * -0.5 - tmp1 = np.copy(f.ov) - tmp1 += einsum(t1, (0, 1), tmp0, (0, 2, 3, 1), (2, 3)) - del tmp0 - e_cc = einsum(t2, (0, 1, 2, 3), v.ovov, (0, 2, 1, 3), ()) * 2 - e_cc += einsum(t2, (0, 1, 2, 3), v.ovov, (0, 3, 1, 2), ()) * -1 - e_cc += einsum(tmp1, (0, 1), t1, (0, 1), ()) * 2 - del tmp1 - - return e_cc - -def update_amps(f=None, t1=None, t2=None, t3=None, v=None, **kwargs): - """ - Code generated by `albert` 0.0.0 on 2024-09-29T17:18:26.069150. - - Parameters - ---------- - f : array - Fock matrix. - t1 : array - T1 amplitudes. - t2 : array - T2 amplitudes. - t3 : array - T3 amplitudes. - v : array - Electron repulsion integrals. - - Returns - ------- - t1new : array - Updated T1 residuals. - t2new : array - Updated T2 residuals. - t3new : array - Updated T3 residuals. - """ - - space = kwargs["space"] - t1new = Namespace() - t2new = Namespace() - t3new = Namespace() - so = np.ones((t1.shape[0],), dtype=bool) - sv = np.ones((t1.shape[1],), dtype=bool) - sO = space.active[space.correlated][space.occupied[space.correlated]] - sV = space.active[space.correlated][space.virtual[space.correlated]] - t2_OoVv = np.copy(t2[np.ix_(sO, so, sV, sv)]) - t1_oV = np.copy(t1[np.ix_(so, sV)]) - t1_Ov = np.copy(t1[np.ix_(sO, sv)]) - t2_Oovv = np.copy(t2[np.ix_(sO, so, sv, sv)]) - t2_OOvv = np.copy(t2[np.ix_(sO, sO, sv, sv)]) - t2_OovV = np.copy(t2[np.ix_(sO, so, sv, sV)]) - t2_OoVV = np.copy(t2[np.ix_(sO, so, sV, sV)]) - t2_oovv = np.copy(t2[np.ix_(so, so, sv, sv)]) - t2_ooVV = np.copy(t2[np.ix_(so, so, sV, sV)]) - t2_ooVv = np.copy(t2[np.ix_(so, so, sV, sv)]) - t2_OOvV = np.copy(t2[np.ix_(sO, sO, sv, sV)]) - t1_ov = np.copy(t1[np.ix_(so, sv)]) - - tmp173 = einsum(v.ovov, (0, 1, 2, 3), t1_Ov, (4, 3), (0, 2, 1, 4)) - tmp294 = einsum(v.Vvov, (0, 1, 2, 3), t1_Ov, (4, 1), (2, 3, 4, 0)) - tmp218 = einsum(v.ovov, (0, 1, 2, 3), t1_oV, (2, 4), (0, 1, 3, 4)) - tmp1 = einsum(t1, (0, 1), v.ovov, (2, 3, 0, 1), (2, 3)) - tmp187 = einsum(v.OvVo, (0, 1, 2, 3), t1_Ov, (4, 1), (3, 4, 0, 2)) - tmp148 = einsum(t1, (0, 1), v.Voov, (2, 0, 3, 1), (3, 2)) - tmp14 = einsum(v.ovov, (0, 1, 2, 3), t1, (2, 1), (0, 3)) - tmp154 = einsum(t1_oV, (0, 1), v.VoVo, (2, 3, 4, 0), (3, 1, 2, 4)) - tmp307 = einsum(tmp173, (0, 1, 2, 3), t1_Ov, (4, 2), (0, 1, 4, 3)) - tmp176 = einsum(t1_Ov, (0, 1), v.Ooov, (2, 3, 4, 1), (4, 3, 0, 2)) - tmp134 = einsum(t1_oV, (0, 1), v.Ooov, (2, 0, 3, 4), (3, 4, 2, 1)) - tmp184 = einsum(v.Ovov, (0, 1, 2, 3), t1, (2, 3), (1, 0)) - tmp297 = einsum(v.Vvov, (0, 1, 2, 3), t1_Ov, (4, 3), (2, 1, 4, 0)) - tmp181 = einsum(v.Ovov, (0, 1, 2, 3), t1, (2, 1), (3, 0)) - tmp193 = einsum(tmp173, (0, 1, 2, 3), t1_oV, (0, 4), (1, 2, 3, 4)) - tmp151 = einsum(t1, (0, 1), v.Voov, (2, 3, 0, 1), (3, 2)) - tmp190 = einsum(v.OVov, (0, 1, 2, 3), t1_Ov, (4, 3), (2, 4, 0, 1)) - tmp304 = einsum(v.OvOv, (0, 1, 2, 3), t1_Ov, (4, 3), (1, 4, 0, 2)) - tmp4 = einsum(v.ovov, (0, 1, 2, 3), t1, (4, 3), (4, 0, 2, 1)) - tmp116 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 2, 5, 3), (0, 1, 4, 5)) - tmp62 = einsum(v.ooov, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) - tmp75 = einsum(t1, (0, 1), v.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) - tmp122 = einsum(v.OoOo, (0, 1, 2, 3), t1_oV, (3, 4), (1, 0, 2, 4)) - tmp313 = einsum(tmp294, (0, 1, 2, 3), t1_Ov, (4, 1), (0, 4, 2, 3)) - tmp231 = einsum(tmp218, (0, 1, 2, 3), t2_OovV, (4, 0, 1, 5), (2, 4, 3, 5)) - tmp275 = einsum(t2_OoVv, (0, 1, 2, 3), tmp173, (1, 4, 3, 5), (4, 5, 0, 2)) - tmp216 = einsum(tmp1, (0, 1), t2_OOvV, (2, 3, 1, 4), (0, 2, 3, 4)) - tmp188 = einsum(tmp187, (0, 1, 2, 3), t1_oV, (0, 4), (1, 2, 4, 3)) - del tmp187 - tmp260 = einsum(v.Vvov, (0, 1, 2, 3), t2_OoVv, (4, 2, 5, 1), (3, 4, 5, 0)) - tmp292 = einsum(t1_Ov, (0, 1), v.VvVv, (2, 3, 4, 1), (3, 0, 2, 4)) - tmp300 = einsum(v.OvOv, (0, 1, 2, 3), t2_OOvv, (4, 5, 1, 3), (4, 5, 0, 2)) - tmp167 = einsum(v.OvOO, (0, 1, 2, 3), t1_Ov, (4, 1), (4, 0, 2, 3)) - tmp219 = einsum(tmp218, (0, 1, 2, 3), t2_OovV, (4, 0, 2, 5), (1, 4, 3, 5)) - tmp149 = einsum(t1_oV, (0, 1), tmp148, (0, 2), (1, 2)) - del tmp148 - tmp285 = einsum(t1_Ov, (0, 1), v.OvVV, (2, 1, 3, 4), (0, 2, 3, 4)) - tmp53 = einsum(v.OVVo, (0, 1, 2, 3), t3, (4, 5, 0, 2, 6, 1), (3, 4, 5, 6)) - tmp203 = einsum(v.OvOV, (0, 1, 2, 3), t2_OOvV, (4, 5, 1, 6), (4, 5, 0, 2, 6, 3)) - tmp227 = einsum(t2_OoVv, (0, 1, 2, 3), tmp218, (1, 4, 3, 5), (4, 0, 5, 2)) - tmp161 = einsum(v.VoVv, (0, 1, 2, 3), t1, (1, 3), (0, 2)) - tmp214 = einsum(tmp14, (0, 1), t2_OOvV, (2, 3, 1, 4), (0, 2, 3, 4)) - tmp281 = einsum(v.OoVv, (0, 1, 2, 3), t1_Ov, (4, 3), (1, 4, 0, 2)) - tmp223 = einsum(v.OVVo, (0, 1, 2, 3), t3, (4, 5, 0, 6, 1, 2), (3, 4, 5, 6)) - tmp201 = einsum(t2_OOvV, (0, 1, 2, 3), f.ov, (4, 2), (4, 0, 1, 3)) - tmp265 = einsum(t1_oV, (0, 1), v.VoVV, (2, 0, 3, 4), (1, 2, 3, 4)) - tmp239 = einsum(v.OvVo, (0, 1, 2, 3), t2_OovV, (4, 3, 1, 5), (4, 0, 5, 2)) - tmp142 = einsum(v.Voov, (0, 1, 2, 3), t2_ooVv, (2, 1, 4, 3), (4, 0)) - tmp155 = einsum(tmp154, (0, 1, 2, 3), t1_oV, (0, 4), (1, 4, 3, 2)) - del tmp154 - tmp165 = einsum(f.Ov, (0, 1), t1_Ov, (2, 1), (0, 2)) - tmp308 = einsum(t1_oV, (0, 1), tmp307, (0, 2, 3, 4), (2, 4, 3, 1)) - del tmp307 - tmp171 = einsum(t2_Oovv, (0, 1, 2, 3), v.Ovov, (4, 2, 1, 3), (0, 4)) - tmp252 = einsum(v.OVov, (0, 1, 2, 3), t2_OovV, (4, 2, 3, 5), (4, 0, 5, 1)) - tmp130 = einsum(t1_oV, (0, 1), v.OOVo, (2, 3, 4, 0), (2, 3, 1, 4)) - tmp128 = einsum(t1_oV, (0, 1), v.OoOV, (2, 0, 3, 4), (2, 3, 1, 4)) - tmp179 = einsum(t1_oV, (0, 1), tmp176, (0, 2, 3, 4), (2, 3, 4, 1)) - tmp279 = einsum(t2_OovV, (0, 1, 2, 3), tmp173, (1, 4, 2, 5), (4, 5, 0, 3)) - tmp126 = einsum(v.OOov, (0, 1, 2, 3), t1, (2, 3), (0, 1)) - tmp246 = einsum(t1_oV, (0, 1), v.OoVv, (2, 0, 3, 4), (4, 2, 1, 3)) - tmp254 = einsum(t2_OoVv, (0, 1, 2, 3), v.OVov, (4, 5, 1, 3), (0, 4, 2, 5)) - tmp283 = einsum(t2_OovV, (0, 1, 2, 3), tmp173, (4, 1, 2, 5), (4, 5, 0, 3)) - tmp229 = einsum(tmp218, (0, 1, 2, 3), t2_OoVv, (4, 0, 5, 1), (2, 4, 3, 5)) - tmp159 = einsum(v.VVov, (0, 1, 2, 3), t1, (2, 3), (0, 1)) - tmp55 = einsum(v.OVVo, (0, 1, 2, 3), t3, (4, 5, 0, 6, 2, 1), (3, 4, 5, 6)) - tmp144 = einsum(t2_ooVv, (0, 1, 2, 3), v.Voov, (4, 0, 1, 3), (2, 4)) - tmp146 = einsum(t2_ooVV, (0, 1, 2, 3), v.VoVo, (4, 1, 5, 0), (3, 2, 4, 5)) - tmp140 = einsum(f.Vo, (0, 1), t1_oV, (1, 2), (0, 2)) - tmp132 = einsum(t2_ooVV, (0, 1, 2, 3), v.Ooov, (4, 0, 1, 5), (5, 4, 3, 2)) - tmp244 = einsum(v.Vvov, (0, 1, 2, 3), t2_OovV, (4, 2, 1, 5), (3, 4, 5, 0)) - tmp295 = einsum(t1_oV, (0, 1), tmp294, (0, 2, 3, 4), (2, 3, 1, 4)) - del tmp294 - tmp135 = einsum(t1_oV, (0, 1), tmp134, (0, 2, 3, 4), (2, 3, 1, 4)) - del tmp134 - tmp302 = einsum(tmp218, (0, 1, 2, 3), t2_OOvv, (4, 5, 1, 2), (0, 4, 5, 3)) - del tmp218 - tmp242 = einsum(t1_oV, (0, 1), v.OVov, (2, 3, 0, 4), (4, 2, 1, 3)) - tmp185 = einsum(tmp184, (0, 1), t1_Ov, (2, 0), (2, 1)) - del tmp184 - tmp225 = einsum(v.OVVo, (0, 1, 2, 3), t3, (4, 0, 5, 6, 1, 2), (3, 4, 5, 6)) - tmp258 = einsum(v.Vvov, (0, 1, 2, 3), t2_OoVv, (4, 2, 5, 3), (1, 4, 5, 0)) - tmp298 = einsum(t1_oV, (0, 1), tmp297, (0, 2, 3, 4), (2, 3, 1, 4)) - del tmp297 - tmp182 = einsum(tmp181, (0, 1), t1_Ov, (2, 0), (2, 1)) - del tmp181 - tmp124 = einsum(v.OoOv, (0, 1, 2, 3), t1, (1, 3), (0, 2)) - tmp169 = einsum(t2_Oovv, (0, 1, 2, 3), v.Ovov, (4, 3, 1, 2), (0, 4)) - tmp289 = einsum(v.OVVv, (0, 1, 2, 3), t1_Ov, (4, 3), (4, 0, 2, 1)) - tmp177 = einsum(tmp176, (0, 1, 2, 3), t1_oV, (1, 4), (0, 2, 3, 4)) - del tmp176 - tmp174 = einsum(tmp173, (0, 1, 2, 3), t2_ooVV, (0, 1, 4, 5), (2, 3, 4, 5)) - tmp262 = einsum(v.Vvov, (0, 1, 2, 3), t2_OovV, (4, 2, 3, 5), (1, 4, 5, 0)) - tmp250 = einsum(v.OvVo, (0, 1, 2, 3), t2_OoVv, (4, 3, 5, 1), (4, 0, 5, 2)) - tmp277 = einsum(t2_OoVv, (0, 1, 2, 3), tmp173, (4, 1, 3, 5), (4, 5, 0, 2)) - del tmp173 - tmp194 = einsum(t1_oV, (0, 1), tmp193, (0, 2, 3, 4), (2, 3, 4, 1)) - del tmp193 - tmp152 = einsum(t1_oV, (0, 1), tmp151, (0, 2), (1, 2)) - del tmp151 - tmp311 = einsum(v.Vvov, (0, 1, 2, 3), t2_OOvv, (4, 5, 3, 1), (2, 4, 5, 0)) - tmp208 = einsum(t2_OoVv, (0, 1, 2, 3), v.Ooov, (4, 1, 5, 3), (5, 0, 4, 2)) - tmp191 = einsum(t1_oV, (0, 1), tmp190, (0, 2, 3, 4), (2, 3, 1, 4)) - tmp305 = einsum(tmp304, (0, 1, 2, 3), t1_Ov, (4, 0), (1, 4, 3, 2)) - del tmp304 - tmp210 = einsum(t2_OoVv, (0, 1, 2, 3), v.Ooov, (4, 5, 1, 3), (5, 0, 4, 2)) - tmp221 = einsum(t2_OovV, (0, 1, 2, 3), v.Ooov, (4, 1, 5, 2), (5, 0, 4, 3)) - tmp212 = einsum(v.Ooov, (0, 1, 2, 3), t2_OovV, (4, 2, 3, 5), (1, 4, 0, 5)) - tmp64 = einsum(v.OvOV, (0, 1, 2, 3), t1, (4, 1), (4, 0, 2, 3)) - tmp38 = einsum(v.OVov, (0, 1, 2, 3), t1, (2, 3), (0, 1)) - tmp36 = einsum(v.OvVo, (0, 1, 2, 3), t1, (3, 1), (0, 2)) - tmp79 = einsum(t2, (0, 1, 2, 3), tmp4, (4, 5, 1, 2), (4, 0, 5, 3)) - tmp94 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 2, 5, 1), (4, 0, 5, 3)) - tmp87 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 1, 3), (0, 4, 5, 2)) - tmp27 = einsum(v.ooov, (0, 1, 2, 3), t1, (2, 3), (0, 1)) - tmp83 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 1, 5, 2), (0, 4, 5, 3)) - tmp45 = einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), (0, 2, 3, 4)) - tmp91 = einsum(v.ooov, (0, 1, 2, 3), t2, (4, 2, 3, 5), (4, 0, 1, 5)) - tmp118 = einsum(tmp116, (0, 1, 2, 3), t1, (3, 4), (0, 1, 2, 4)) - tmp89 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 1, 5, 3), (0, 4, 5, 2)) - tmp11 = einsum(t1, (0, 1), v.ovvv, (0, 1, 2, 3), (2, 3)) - tmp40 = einsum(v.ovov, (0, 1, 2, 3), t2, (0, 2, 4, 3), (4, 1)) - tmp109 = einsum(tmp4, (0, 1, 2, 3), t2, (4, 1, 5, 3), (0, 4, 2, 5)) - tmp13 = einsum(t1, (0, 1), v.ovvv, (0, 2, 3, 1), (2, 3)) - tmp111 = einsum(t2, (0, 1, 2, 3), tmp4, (4, 1, 5, 2), (4, 0, 5, 3)) - tmp9 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 3, 1, 2), (0, 4)) - tmp15 = einsum(tmp14, (0, 1), t1, (2, 1), (2, 0)) - tmp0 = einsum(t1, (0, 1), f.ov, (2, 1), (2, 0)) - tmp76 = einsum(t1, (0, 1), v.ovvv, (2, 1, 3, 4), (0, 2, 3, 4)) - tmp47 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 5, 1, 3), (0, 4, 2, 5)) - tmp48 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 5, 1, 2), (0, 4, 3, 5)) - tmp107 = einsum(tmp4, (0, 1, 2, 3), t2, (4, 2, 5, 3), (0, 4, 1, 5)) - tmp57 = einsum(t2, (0, 1, 2, 3), tmp14, (4, 3), (0, 1, 4, 2)) - tmp7 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 2, 1, 3), (0, 4)) - tmp16 = einsum(tmp1, (0, 1), t1, (2, 1), (2, 0)) - tmp26 = einsum(v.ooov, (0, 1, 2, 3), t1, (1, 3), (0, 2)) - tmp114 = einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 2, 5, 3), (0, 1, 4, 5)) - tmp85 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 2, 1, 5), (0, 4, 3, 5)) - tmp99 = einsum(t1, (0, 1), tmp4, (2, 3, 4, 1), (2, 0, 4, 3)) - tmp73 = einsum(v.oovv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) - tmp71 = einsum(t1, (0, 1), tmp62, (2, 3, 4, 0), (2, 4, 3, 1)) - tmp59 = einsum(t2, (0, 1, 2, 3), tmp1, (4, 3), (0, 1, 4, 2)) - tmp101 = einsum(tmp75, (0, 1, 2, 3), t1, (4, 2), (4, 0, 1, 3)) - tmp42 = einsum(v.ovov, (0, 1, 2, 3), t2, (0, 2, 4, 1), (4, 3)) - tmp237 = einsum(t3, (0, 1, 2, 3, 4, 5), v.OOVV, (6, 2, 7, 4), (0, 1, 6, 3, 5, 7)) - tmp123 = einsum(t2_OoVV, (0, 1, 2, 3), tmp122, (1, 4, 5, 6), (0, 5, 4, 6, 3, 2)) - del tmp122 - tmp314 = einsum(t2_OoVV, (0, 1, 2, 3), tmp313, (1, 4, 5, 6), (4, 5, 0, 3, 2, 6)) - del tmp313 - tmp232 = einsum(t2_OOvV, (0, 1, 2, 3), tmp231, (2, 4, 5, 6), (4, 0, 1, 5, 6, 3)) - del tmp231 - tmp276 = einsum(t2_OoVV, (0, 1, 2, 3), tmp275, (1, 4, 5, 6), (4, 5, 0, 6, 3, 2)) - del tmp275 - tmp217 = einsum(t2_OoVV, (0, 1, 2, 3), tmp216, (1, 4, 5, 6), (0, 4, 5, 3, 2, 6)) - del tmp216 - tmp199 = einsum(tmp188, (0, 1, 2, 3), t3, (4, 1, 5, 6, 7, 3), (0, 4, 5, 2, 6, 7)) - tmp261 = einsum(tmp260, (0, 1, 2, 3), t2_OOvV, (4, 5, 0, 6), (1, 4, 5, 2, 6, 3)) - del tmp260 - tmp293 = einsum(t2_OOvV, (0, 1, 2, 3), tmp292, (2, 4, 5, 6), (4, 0, 1, 3, 6, 5)) - del tmp292 - tmp310 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp300, (6, 7, 0, 2), (7, 6, 1, 3, 5, 4)) * -1 - tmp168 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp167, (6, 2, 7, 0), (6, 1, 7, 3, 5, 4)) * -1 - tmp220 = einsum(t2_OOvV, (0, 1, 2, 3), tmp219, (2, 4, 5, 6), (4, 0, 1, 5, 6, 3)) - del tmp219 - tmp120 = einsum(t3, (0, 1, 2, 3, 4, 5), f.OO, (6, 2), (6, 0, 1, 3, 5, 4)) - tmp150 = einsum(tmp149, (0, 1), t3, (2, 3, 4, 5, 6, 1), (2, 4, 3, 0, 5, 6)) - tmp286 = einsum(tmp285, (0, 1, 2, 3), t3, (4, 5, 1, 6, 3, 7), (0, 4, 5, 6, 7, 2)) - tmp206 = einsum(tmp53, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), (4, 1, 2, 6, 5, 3)) - tmp205 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp203, (6, 7, 1, 2, 8, 5), (6, 7, 0, 8, 3, 4)) - tmp228 = einsum(t2_OOvV, (0, 1, 2, 3), tmp227, (2, 4, 5, 6), (4, 0, 1, 5, 6, 3)) - del tmp227 - tmp137 = einsum(v.OOOO, (0, 1, 2, 3), t3, (4, 3, 1, 5, 6, 7), (4, 0, 2, 5, 7, 6)) - tmp233 = einsum(v.OoOV, (0, 1, 2, 3), t2_OoVV, (4, 1, 5, 6), (4, 0, 2, 6, 5, 3)) - tmp162 = einsum(tmp161, (0, 1), t3, (2, 3, 4, 5, 6, 0), (2, 4, 3, 5, 6, 1)) - tmp215 = einsum(tmp214, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), (4, 1, 2, 6, 5, 3)) - del tmp214 - tmp157 = einsum(t3, (0, 1, 2, 3, 4, 5), f.VV, (6, 5), (0, 2, 1, 6, 3, 4)) - tmp282 = einsum(tmp281, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), (1, 4, 2, 6, 5, 3)) - del tmp281 - tmp158 = einsum(t3, (0, 1, 2, 3, 4, 5), v.OVOV, (6, 7, 2, 5), (0, 1, 6, 3, 4, 7)) - tmp224 = einsum(tmp223, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), (4, 1, 2, 6, 5, 3)) - del tmp223 - tmp202 = einsum(tmp201, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), (4, 1, 2, 6, 5, 3)) - del tmp201 - tmp266 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp265, (6, 5, 7, 3), (0, 2, 1, 6, 4, 7)) * -1 - tmp240 = einsum(tmp239, (0, 1, 2, 3), t3, (4, 5, 1, 6, 3, 7), (0, 4, 5, 2, 6, 7)) - tmp163 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp142, (6, 4), (0, 2, 1, 6, 3, 5)) - tmp268 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp155, (6, 7, 3, 5), (0, 2, 1, 6, 7, 4)) - tmp166 = einsum(tmp165, (0, 1), t3, (2, 3, 0, 4, 5, 6), (1, 2, 3, 4, 6, 5)) - tmp309 = einsum(t2_OoVV, (0, 1, 2, 3), tmp308, (1, 4, 5, 6), (5, 4, 0, 6, 3, 2)) - del tmp308 - tmp172 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp171, (6, 2), (6, 0, 1, 3, 5, 4)) - tmp253 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp252, (6, 2, 7, 5), (6, 0, 1, 7, 3, 4)) - tmp196 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp167, (6, 1, 7, 2), (6, 0, 7, 3, 5, 4)) - tmp257 = einsum(tmp239, (0, 1, 2, 3), t3, (4, 1, 5, 6, 7, 3), (0, 4, 5, 2, 6, 7)) - tmp131 = einsum(tmp130, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (4, 5, 0, 2, 6, 7)) - tmp129 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp128, (6, 2, 7, 5), (0, 1, 6, 7, 3, 4)) - tmp180 = einsum(tmp179, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), (1, 4, 2, 3, 6, 5)) - del tmp179 - tmp236 = einsum(tmp203, (0, 1, 2, 3, 4, 5), t3, (6, 2, 3, 7, 5, 8), (0, 1, 6, 4, 7, 8)) - tmp280 = einsum(t2_OoVV, (0, 1, 2, 3), tmp279, (1, 4, 5, 6), (4, 5, 0, 6, 3, 2)) - del tmp279 - tmp270 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp265, (6, 5, 7, 4), (0, 2, 1, 6, 3, 7)) - tmp138 = einsum(tmp126, (0, 1), t3, (2, 1, 3, 4, 5, 6), (2, 3, 0, 4, 6, 5)) - tmp247 = einsum(tmp246, (0, 1, 2, 3), t2_OOvV, (4, 5, 0, 6), (4, 5, 1, 2, 6, 3)) - del tmp246 - tmp271 = einsum(tmp254, (0, 1, 2, 3), t3, (4, 5, 1, 6, 3, 7), (0, 4, 5, 2, 6, 7)) - tmp127 = einsum(tmp126, (0, 1), t3, (2, 3, 1, 4, 5, 6), (2, 3, 0, 4, 6, 5)) - del tmp126 - tmp284 = einsum(t2_OoVV, (0, 1, 2, 3), tmp283, (1, 4, 5, 6), (4, 5, 0, 6, 3, 2)) - del tmp283 - tmp139 = einsum(tmp130, (0, 1, 2, 3), t3, (4, 1, 5, 6, 7, 3), (4, 5, 0, 2, 6, 7)) - tmp230 = einsum(t2_OOvV, (0, 1, 2, 3), tmp229, (2, 4, 5, 6), (4, 0, 1, 5, 6, 3)) - del tmp229 - tmp143 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp142, (6, 5), (0, 2, 1, 6, 3, 4)) - del tmp142 - tmp160 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp159, (6, 5), (0, 2, 1, 3, 4, 6)) - tmp198 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp171, (6, 1), (6, 0, 2, 3, 5, 4)) - del tmp171 - tmp255 = einsum(tmp254, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (0, 4, 5, 2, 6, 7)) - tmp207 = einsum(t2_OoVV, (0, 1, 2, 3), tmp55, (1, 4, 5, 6), (0, 4, 5, 3, 2, 6)) - tmp291 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp285, (6, 1, 7, 5), (6, 0, 2, 3, 4, 7)) - tmp200 = einsum(tmp167, (0, 1, 2, 3), t3, (4, 3, 1, 5, 6, 7), (0, 4, 2, 5, 7, 6)) - del tmp167 - tmp145 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp144, (6, 5), (0, 2, 1, 6, 3, 4)) - tmp267 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp146, (6, 7, 5, 3), (0, 2, 1, 7, 6, 4)) - tmp141 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp140, (5, 6), (0, 2, 1, 6, 3, 4)) - tmp133 = einsum(t2_OOvV, (0, 1, 2, 3), tmp132, (2, 4, 5, 6), (0, 1, 4, 5, 6, 3)) - del tmp132 - tmp164 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp144, (6, 4), (0, 2, 1, 6, 3, 5)) - del tmp144 - tmp301 = einsum(tmp300, (0, 1, 2, 3), t3, (4, 2, 3, 5, 6, 7), (1, 0, 4, 5, 7, 6)) - del tmp300 - tmp245 = einsum(t2_OOvV, (0, 1, 2, 3), tmp244, (2, 4, 5, 6), (4, 0, 1, 5, 3, 6)) - del tmp244 - tmp296 = einsum(t2_OOvV, (0, 1, 2, 3), tmp295, (2, 4, 5, 6), (4, 0, 1, 5, 3, 6)) - del tmp295 - tmp204 = einsum(tmp203, (0, 1, 2, 3, 4, 5), t3, (3, 6, 2, 7, 8, 5), (0, 1, 6, 4, 7, 8)) * -1 - tmp136 = einsum(t2_OOvV, (0, 1, 2, 3), tmp135, (2, 4, 5, 6), (0, 1, 4, 5, 6, 3)) - del tmp135 - tmp287 = einsum(tmp188, (0, 1, 2, 3), t3, (4, 5, 1, 6, 3, 7), (0, 4, 5, 2, 6, 7)) - tmp147 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp146, (6, 7, 5, 4), (0, 2, 1, 6, 7, 3)) - del tmp146 - tmp303 = einsum(t2_OoVV, (0, 1, 2, 3), tmp302, (1, 4, 5, 6), (5, 4, 0, 6, 3, 2)) - del tmp302 - tmp243 = einsum(tmp242, (0, 1, 2, 3), t2_OOvV, (4, 5, 0, 6), (4, 5, 1, 2, 6, 3)) - del tmp242 - tmp186 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp185, (6, 2), (6, 0, 1, 3, 5, 4)) - tmp226 = einsum(t2_OoVV, (0, 1, 2, 3), tmp225, (1, 4, 5, 6), (0, 5, 4, 3, 2, 6)) * -1 - del tmp225 - tmp259 = einsum(t2_OOvV, (0, 1, 2, 3), tmp258, (2, 4, 5, 6), (4, 0, 1, 5, 3, 6)) - del tmp258 - tmp299 = einsum(t2_OOvV, (0, 1, 2, 3), tmp298, (2, 4, 5, 6), (4, 0, 1, 5, 3, 6)) - del tmp298 - tmp183 = einsum(tmp182, (0, 1), t3, (2, 3, 1, 4, 5, 6), (0, 2, 3, 4, 6, 5)) - tmp121 = einsum(t3, (0, 1, 2, 3, 4, 5), v.OOOO, (6, 0, 7, 2), (1, 6, 7, 3, 5, 4)) - tmp241 = einsum(v.OVVv, (0, 1, 2, 3), t2_OOvV, (4, 5, 3, 6), (4, 5, 0, 6, 2, 1)) - tmp125 = einsum(tmp124, (0, 1), t3, (2, 3, 1, 4, 5, 6), (2, 3, 0, 4, 6, 5)) - tmp156 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp155, (6, 7, 4, 5), (0, 2, 1, 7, 6, 3)) - del tmp155 - tmp235 = einsum(tmp203, (0, 1, 2, 3, 4, 5), t3, (6, 3, 2, 7, 5, 8), (0, 1, 6, 4, 7, 8)) - tmp170 = einsum(tmp169, (0, 1), t3, (2, 3, 1, 4, 5, 6), (0, 2, 3, 4, 6, 5)) - tmp273 = einsum(tmp265, (0, 1, 2, 3), t3, (4, 5, 6, 7, 1, 3), (4, 6, 5, 0, 7, 2)) - del tmp265 - tmp238 = einsum(tmp130, (0, 1, 2, 3), t3, (4, 5, 1, 6, 3, 7), (4, 5, 0, 2, 6, 7)) - tmp256 = einsum(v.OOVV, (0, 1, 2, 3), t3, (4, 1, 5, 6, 7, 3), (4, 5, 0, 6, 7, 2)) - tmp269 = einsum(t3, (0, 1, 2, 3, 4, 5), v.VVVV, (6, 5, 7, 4), (0, 2, 1, 3, 6, 7)) - tmp274 = einsum(t2_OoVV, (0, 1, 2, 3), tmp190, (1, 4, 5, 6), (4, 0, 5, 3, 2, 6)) - del tmp190 - tmp264 = einsum(t3, (0, 1, 2, 3, 4, 5), v.VVVV, (6, 5, 7, 3), (0, 2, 1, 4, 6, 7)) * -1 - tmp290 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp289, (6, 2, 7, 5), (6, 0, 1, 3, 4, 7)) - tmp178 = einsum(t2_OoVV, (0, 1, 2, 3), tmp177, (1, 4, 5, 6), (4, 0, 5, 6, 3, 2)) - del tmp177 - tmp175 = einsum(tmp174, (0, 1, 2, 3), t2_OOvV, (4, 5, 0, 6), (1, 4, 5, 3, 2, 6)) - del tmp174 - tmp197 = einsum(tmp169, (0, 1), t3, (2, 1, 3, 4, 5, 6), (0, 2, 3, 4, 6, 5)) - del tmp169 - tmp263 = einsum(tmp262, (0, 1, 2, 3), t2_OOvV, (4, 5, 0, 6), (1, 4, 5, 2, 6, 3)) - del tmp262 - tmp251 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp250, (6, 2, 7, 5), (6, 0, 1, 7, 3, 4)) - tmp249 = einsum(tmp239, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (0, 4, 5, 2, 6, 7)) - tmp272 = einsum(tmp254, (0, 1, 2, 3), t3, (4, 1, 5, 6, 3, 7), (0, 4, 5, 2, 6, 7)) - del tmp254 - tmp278 = einsum(t2_OoVV, (0, 1, 2, 3), tmp277, (1, 4, 5, 6), (4, 5, 0, 6, 3, 2)) - del tmp277 - tmp195 = einsum(tmp194, (0, 1, 2, 3), t2_OOvV, (4, 5, 0, 6), (1, 4, 5, 3, 2, 6)) - del tmp194 - tmp153 = einsum(tmp152, (0, 1), t3, (2, 3, 4, 5, 6, 1), (2, 4, 3, 0, 5, 6)) - tmp288 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp285, (6, 2, 7, 5), (6, 0, 1, 3, 4, 7)) - tmp312 = einsum(tmp311, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), (1, 2, 4, 6, 5, 3)) - del tmp311 - tmp209 = einsum(t2_OoVV, (0, 1, 2, 3), tmp208, (1, 4, 5, 6), (4, 0, 5, 6, 3, 2)) - del tmp208 - tmp192 = einsum(tmp191, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (0, 4, 5, 2, 6, 7)) - tmp306 = einsum(tmp305, (0, 1, 2, 3), t3, (4, 2, 3, 5, 6, 7), (1, 0, 4, 5, 7, 6)) - tmp211 = einsum(tmp210, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), (1, 4, 2, 3, 6, 5)) - del tmp210 - tmp234 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp203, (6, 7, 2, 1, 8, 5), (6, 7, 0, 8, 3, 4)) - del tmp203 - tmp248 = einsum(v.OOVV, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (4, 5, 0, 6, 7, 2)) - tmp222 = einsum(tmp221, (0, 1, 2, 3), t2_OoVV, (4, 0, 5, 6), (1, 4, 2, 3, 6, 5)) - del tmp221 - tmp213 = einsum(t2_OoVV, (0, 1, 2, 3), tmp212, (1, 4, 5, 6), (4, 0, 5, 6, 3, 2)) - del tmp212 - tmp189 = einsum(tmp188, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (0, 4, 5, 2, 6, 7)) - tmp315 = einsum(tmp305, (0, 1, 2, 3), t3, (2, 4, 3, 5, 6, 7), (1, 0, 4, 5, 7, 6)) * -1 - del tmp305 - tmp50 = einsum(v.OVVv, (0, 1, 2, 3), t3, (4, 5, 0, 6, 2, 1), (3, 4, 5, 6)) - tmp56 = einsum(tmp55, (0, 1, 2, 3), t1, (0, 4), (4, 1, 2, 3)) - del tmp55 - tmp54 = einsum(tmp53, (0, 1, 2, 3), t1, (0, 4), (4, 1, 2, 3)) - del tmp53 - tmp49 = einsum(v.OVVv, (0, 1, 2, 3), t3, (4, 5, 0, 2, 6, 1), (3, 4, 5, 6)) - tmp31 = einsum(v.OoOV, (0, 1, 2, 3), t3, (4, 0, 2, 5, 6, 3), (1, 4, 5, 6)) - tmp66 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp64, (6, 1, 2, 5), (6, 0, 3, 4)) - tmp30 = einsum(v.OVOo, (0, 1, 2, 3), t3, (0, 4, 2, 5, 6, 1), (3, 4, 5, 6)) * -1 - tmp65 = einsum(tmp64, (0, 1, 2, 3), t3, (2, 4, 1, 5, 6, 3), (0, 4, 5, 6)) * -1 - del tmp64 - tmp35 = einsum(f.OV, (0, 1), t3, (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) - tmp39 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp38, (2, 5), (0, 1, 3, 4)) - del tmp38 - tmp37 = einsum(tmp36, (0, 1), t3, (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) - del tmp36 - tmp63 = einsum(t2, (0, 1, 2, 3), tmp62, (4, 5, 1, 0), (4, 5, 3, 2)) - del tmp62 - tmp80 = einsum(tmp79, (0, 1, 2, 3), t1, (2, 4), (0, 1, 4, 3)) - del tmp79 - tmp81 = einsum(v.ooov, (0, 1, 2, 3), t1, (1, 4), (0, 2, 4, 3)) - tmp95 = einsum(tmp94, (0, 1, 2, 3), t2, (4, 1, 5, 3), (0, 4, 2, 5)) - del tmp94 - tmp88 = einsum(tmp87, (0, 1, 2, 3), t1, (2, 4), (0, 1, 4, 3)) - del tmp87 - tmp33 = einsum(t2, (0, 1, 2, 3), tmp27, (4, 1), (0, 4, 2, 3)) - tmp28 = einsum(t2, (0, 1, 2, 3), f.oo, (4, 1), (4, 0, 2, 3)) - tmp29 = einsum(v.oooo, (0, 1, 2, 3), t2, (3, 1, 4, 5), (0, 2, 5, 4)) - tmp84 = einsum(tmp83, (0, 1, 2, 3), t1, (2, 4), (0, 1, 4, 3)) - del tmp83 - tmp46 = einsum(tmp45, (0, 1, 2, 3), t1, (0, 4), (1, 2, 4, 3)) - del tmp45 - tmp92 = einsum(tmp91, (0, 1, 2, 3), t1, (2, 4), (0, 1, 4, 3)) - del tmp91 - tmp119 = einsum(tmp118, (0, 1, 2, 3), t1, (2, 4), (0, 1, 4, 3)) - del tmp118 - tmp90 = einsum(tmp89, (0, 1, 2, 3), t1, (2, 4), (0, 1, 4, 3)) - del tmp89 - tmp51 = einsum(t2, (0, 1, 2, 3), tmp11, (4, 3), (0, 1, 2, 4)) - tmp41 = einsum(t2, (0, 1, 2, 3), tmp40, (4, 3), (0, 1, 2, 4)) - del tmp40 - tmp110 = einsum(tmp109, (0, 1, 2, 3), t1, (2, 4), (0, 1, 4, 3)) - del tmp109 - tmp52 = einsum(t2, (0, 1, 2, 3), tmp13, (3, 4), (0, 1, 2, 4)) - tmp112 = einsum(tmp111, (0, 1, 2, 3), t1, (2, 4), (0, 1, 4, 3)) - del tmp111 - tmp105 = einsum(tmp75, (0, 1, 2, 3), t2, (4, 1, 5, 2), (0, 4, 5, 3)) - tmp67 = einsum(t2, (0, 1, 2, 3), tmp9, (4, 1), (0, 4, 2, 3)) - tmp69 = einsum(tmp15, (0, 1), t2, (2, 1, 3, 4), (0, 2, 3, 4)) - tmp61 = einsum(tmp0, (0, 1), t2, (2, 0, 3, 4), (1, 2, 3, 4)) - tmp77 = einsum(t2, (0, 1, 2, 3), tmp76, (4, 1, 5, 2), (4, 0, 3, 5)) - tmp98 = einsum(v.vvvv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) - tmp97 = einsum(tmp47, (0, 1, 2, 3), t2, (4, 1, 5, 3), (0, 4, 2, 5)) - tmp78 = einsum(tmp4, (0, 1, 2, 3), t1, (2, 4), (0, 1, 4, 3)) - tmp117 = einsum(tmp116, (0, 1, 2, 3), t2, (3, 2, 4, 5), (1, 0, 4, 5)) - del tmp116 - tmp96 = einsum(t2, (0, 1, 2, 3), tmp48, (4, 1, 5, 3), (0, 4, 2, 5)) - tmp34 = einsum(v.oooo, (0, 1, 2, 3), t1, (3, 4), (0, 1, 2, 4)) - tmp113 = einsum(v.vvvv, (0, 1, 2, 3), t2, (4, 5, 1, 3), (4, 5, 0, 2)) - tmp108 = einsum(tmp107, (0, 1, 2, 3), t1, (2, 4), (0, 1, 4, 3)) - del tmp107 - tmp58 = einsum(tmp57, (0, 1, 2, 3), t1, (2, 4), (0, 1, 4, 3)) - del tmp57 - tmp68 = einsum(t2, (0, 1, 2, 3), tmp7, (4, 1), (0, 4, 2, 3)) - tmp70 = einsum(tmp16, (0, 1), t2, (2, 1, 3, 4), (0, 2, 3, 4)) - tmp32 = einsum(tmp26, (0, 1), t2, (2, 1, 3, 4), (2, 0, 3, 4)) - tmp115 = einsum(tmp114, (0, 1, 2, 3), t1, (2, 4), (0, 1, 4, 3)) - del tmp114 - tmp93 = einsum(t2, (0, 1, 2, 3), tmp85, (4, 1, 5, 3), (0, 4, 2, 5)) - tmp100 = einsum(t2, (0, 1, 2, 3), tmp99, (4, 5, 0, 1), (5, 4, 3, 2)) - tmp74 = einsum(tmp73, (0, 1, 2, 3), t1, (2, 4), (0, 1, 4, 3)) - del tmp73 - tmp44 = einsum(f.vv, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4)) - tmp103 = einsum(t1, (0, 1), tmp99, (2, 3, 0, 4), (3, 2, 4, 1)) - del tmp99 - tmp72 = einsum(tmp71, (0, 1, 2, 3), t1, (1, 4), (0, 2, 4, 3)) - del tmp71 - tmp60 = einsum(tmp59, (0, 1, 2, 3), t1, (2, 4), (0, 1, 4, 3)) - del tmp59 - tmp102 = einsum(tmp101, (0, 1, 2, 3), t1, (2, 4), (0, 1, 4, 3)) - del tmp101 - tmp106 = einsum(t2, (0, 1, 2, 3), tmp75, (4, 1, 2, 5), (4, 0, 3, 5)) - tmp82 = einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 2), (0, 4, 3, 5)) - tmp104 = einsum(t2, (0, 1, 2, 3), tmp76, (4, 1, 5, 3), (4, 0, 2, 5)) - del tmp76 - tmp43 = einsum(tmp42, (0, 1), t2, (2, 3, 4, 1), (2, 3, 4, 0)) - del tmp42 - tmp86 = einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 3), (0, 4, 2, 5)) - tmp21 = einsum(v.OVOV, (0, 1, 2, 3), t3, (4, 0, 2, 5, 3, 1), (4, 5)) - tmp20 = einsum(v.OVOV, (0, 1, 2, 3), t3, (4, 0, 2, 3, 5, 1), (4, 5)) - tmp22 = einsum(v.OVOV, (0, 1, 2, 3), t3, (4, 0, 2, 5, 1, 3), (4, 5)) - tmp23 = einsum(v.OVOV, (0, 1, 2, 3), t3, (0, 4, 2, 3, 5, 1), (4, 5)) * -1 - tmp2 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 3, 4, 2), (0, 4)) - tmp24 = einsum(t2, (0, 1, 2, 3), tmp1, (1, 2), (0, 3)) - tmp12 = einsum(tmp11, (0, 1), t1, (2, 1), (2, 0)) - del tmp11 - tmp10 = einsum(t1, (0, 1), tmp9, (2, 0), (2, 1)) - del tmp9 - tmp17 = einsum(t1, (0, 1), tmp16, (2, 0), (2, 1)) - del tmp16 - tmp8 = einsum(tmp7, (0, 1), t1, (1, 2), (0, 2)) - del tmp7 - tmp18 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 1, 0, 3), (4, 2)) - tmp6 = einsum(t2, (0, 1, 2, 3), tmp4, (4, 0, 1, 3), (4, 2)) - tmp19 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 0, 1, 3), (4, 2)) - tmp25 = einsum(t2, (0, 1, 2, 3), tmp1, (1, 3), (0, 2)) - tmp3 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 2, 4, 3), (0, 4)) - tmp5 = einsum(t2, (0, 1, 2, 3), tmp4, (4, 1, 0, 3), (4, 2)) - del tmp4 - t3new = np.copy(np.transpose(tmp120, (1, 2, 0, 4, 5, 3))) - t3new += np.transpose(tmp121, (1, 0, 2, 4, 5, 3)) * -1 - del tmp121 - t3new += np.transpose(tmp123, (1, 0, 2, 4, 5, 3)) * -1 - t3new += np.transpose(tmp125, (0, 1, 2, 4, 5, 3)) * -1 - t3new += np.transpose(tmp127, (0, 1, 2, 4, 5, 3)) * 2 - t3new += np.transpose(tmp129, (0, 1, 2, 4, 5, 3)) * -1 - t3new += np.transpose(tmp131, (0, 1, 2, 4, 5, 3)) - t3new += np.transpose(tmp129, (1, 0, 2, 5, 4, 3)) * -1 - t3new += np.transpose(tmp133, (1, 0, 2, 5, 3, 4)) - t3new += np.transpose(tmp136, (1, 0, 2, 5, 3, 4)) - t3new += einsum(t3, (0, 1, 2, 3, 4, 5), f.OO, (6, 1), (0, 6, 2, 3, 4, 5)) * -1 - t3new += np.transpose(tmp137, (1, 2, 0, 4, 5, 3)) - t3new += np.transpose(tmp123, (1, 2, 0, 5, 4, 3)) * -1 - t3new += einsum(t3, (0, 1, 2, 3, 4, 5), tmp124, (6, 1), (0, 6, 2, 3, 4, 5)) - del tmp124 - t3new += np.transpose(tmp138, (0, 2, 1, 4, 5, 3)) * 2 - del tmp138 - t3new += np.transpose(tmp139, (0, 2, 1, 4, 5, 3)) - t3new += np.transpose(tmp133, (0, 2, 1, 5, 4, 3)) * -1 - t3new += np.transpose(tmp133, (1, 2, 0, 5, 4, 3)) - t3new += np.transpose(tmp136, (0, 2, 1, 5, 4, 3)) * -1 - t3new += np.transpose(tmp136, (1, 2, 0, 5, 4, 3)) - t3new += np.transpose(tmp120, (0, 2, 1, 4, 5, 3)) * -1 - del tmp120 - t3new += np.transpose(tmp141, (0, 2, 1, 4, 5, 3)) * -1 - t3new += np.transpose(tmp125, (2, 1, 0, 4, 5, 3)) - del tmp125 - t3new += np.transpose(tmp127, (2, 1, 0, 4, 5, 3)) * -2 - del tmp127 - t3new += np.transpose(tmp129, (2, 1, 0, 4, 5, 3)) - t3new += np.transpose(tmp131, (2, 1, 0, 4, 5, 3)) * -1 - t3new += np.transpose(tmp129, (2, 0, 1, 5, 4, 3)) - t3new += np.transpose(tmp143, (1, 2, 0, 4, 5, 3)) * -1 - t3new += np.transpose(tmp145, (1, 2, 0, 4, 5, 3)) * 2 - t3new += np.transpose(tmp147, (1, 2, 0, 5, 4, 3)) * -1 - t3new += np.transpose(tmp133, (2, 0, 1, 5, 3, 4)) * -1 - t3new += np.transpose(tmp136, (2, 0, 1, 5, 3, 4)) * -1 - t3new += np.transpose(tmp150, (1, 2, 0, 4, 5, 3)) * -1 - t3new += np.transpose(tmp153, (1, 2, 0, 4, 5, 3)) * 2 - t3new += np.transpose(tmp156, (1, 2, 0, 5, 4, 3)) * -1 - t3new += np.transpose(tmp123, (2, 0, 1, 4, 5, 3)) - t3new += np.transpose(tmp157, (0, 2, 1, 3, 5, 4)) * -1 - t3new += np.transpose(tmp141, (0, 2, 1, 3, 5, 4)) - del tmp141 - t3new += np.transpose(tmp158, (2, 1, 0, 5, 4, 3)) - t3new += np.transpose(tmp158, (2, 0, 1, 5, 3, 4)) - t3new += np.transpose(tmp160, (0, 2, 1, 5, 4, 3)) * -2 - t3new += np.transpose(tmp162, (0, 2, 1, 5, 4, 3)) - t3new += np.transpose(tmp143, (1, 2, 0, 3, 5, 4)) - del tmp143 - t3new += np.transpose(tmp145, (1, 2, 0, 3, 5, 4)) * -2 - del tmp145 - t3new += np.transpose(tmp150, (1, 2, 0, 3, 5, 4)) - del tmp150 - t3new += np.transpose(tmp153, (1, 2, 0, 3, 5, 4)) * -2 - del tmp153 - t3new += einsum(t3, (0, 1, 2, 3, 4, 5), f.VV, (6, 4), (0, 1, 2, 3, 6, 5)) - t3new += einsum(tmp140, (0, 1), t3, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) * -1 - del tmp140 - t3new += einsum(tmp159, (0, 1), t3, (2, 3, 4, 5, 1, 6), (2, 3, 4, 5, 0, 6)) * 2 - del tmp159 - t3new += einsum(t3, (0, 1, 2, 3, 4, 5), tmp161, (4, 6), (0, 1, 2, 3, 6, 5)) * -1 - del tmp161 - t3new += np.transpose(tmp163, (1, 2, 0, 4, 3, 5)) * -1 - del tmp163 - t3new += np.transpose(tmp164, (1, 2, 0, 4, 3, 5)) * 2 - del tmp164 - t3new += einsum(t3, (0, 1, 2, 3, 4, 5), tmp149, (6, 4), (0, 1, 2, 3, 6, 5)) - del tmp149 - t3new += einsum(t3, (0, 1, 2, 3, 4, 5), tmp152, (6, 4), (0, 1, 2, 3, 6, 5)) * -2 - del tmp152 - t3new += np.transpose(tmp157, (0, 2, 1, 4, 5, 3)) - del tmp157 - t3new += np.transpose(tmp158, (2, 1, 0, 3, 4, 5)) * -1 - t3new += np.transpose(tmp158, (2, 0, 1, 4, 3, 5)) * -1 - t3new += np.transpose(tmp160, (0, 2, 1, 3, 4, 5)) * 2 - del tmp160 - t3new += np.transpose(tmp162, (0, 2, 1, 3, 4, 5)) * -1 - del tmp162 - t3new += np.transpose(tmp166, (1, 2, 0, 4, 5, 3)) - t3new += np.transpose(tmp168, (2, 1, 0, 4, 5, 3)) - t3new += np.transpose(tmp170, (1, 2, 0, 3, 5, 4)) - t3new += np.transpose(tmp172, (1, 2, 0, 3, 5, 4)) * -2 - t3new += np.transpose(tmp175, (2, 1, 0, 5, 4, 3)) - t3new += np.transpose(tmp178, (2, 1, 0, 4, 5, 3)) * -1 - t3new += np.transpose(tmp180, (2, 1, 0, 4, 5, 3)) - t3new += np.transpose(tmp183, (1, 2, 0, 3, 5, 4)) - t3new += np.transpose(tmp186, (1, 2, 0, 3, 5, 4)) * -2 - t3new += np.transpose(tmp189, (1, 2, 0, 4, 5, 3)) - t3new += np.transpose(tmp192, (1, 2, 0, 4, 5, 3)) * -1 - t3new += np.transpose(tmp192, (2, 1, 0, 5, 4, 3)) * -1 - t3new += np.transpose(tmp195, (2, 1, 0, 5, 4, 3)) - t3new += einsum(tmp165, (0, 1), t3, (2, 0, 3, 4, 5, 6), (2, 1, 3, 4, 5, 6)) * -1 - del tmp165 - t3new += np.transpose(tmp196, (2, 0, 1, 4, 5, 3)) - t3new += np.transpose(tmp197, (2, 0, 1, 3, 5, 4)) * -1 - del tmp197 - t3new += np.transpose(tmp198, (2, 0, 1, 3, 5, 4)) * 2 - del tmp198 - t3new += np.transpose(tmp175, (1, 0, 2, 5, 3, 4)) * -1 - t3new += np.transpose(tmp175, (2, 0, 1, 5, 3, 4)) - t3new += np.transpose(tmp178, (2, 0, 1, 5, 4, 3)) * -1 - t3new += einsum(t3, (0, 1, 2, 3, 4, 5), tmp182, (6, 1), (0, 6, 2, 3, 4, 5)) - del tmp182 - t3new += einsum(t3, (0, 1, 2, 3, 4, 5), tmp185, (6, 1), (0, 6, 2, 3, 4, 5)) * -2 - del tmp185 - t3new += np.transpose(tmp199, (2, 0, 1, 4, 5, 3)) * -1 - t3new += np.transpose(tmp195, (1, 0, 2, 5, 3, 4)) * -1 - t3new += np.transpose(tmp195, (2, 0, 1, 5, 3, 4)) - t3new += np.transpose(tmp166, (0, 2, 1, 4, 5, 3)) * -1 - del tmp166 - t3new += np.transpose(tmp200, (0, 2, 1, 4, 5, 3)) - t3new += np.transpose(tmp170, (0, 2, 1, 3, 5, 4)) * -1 - del tmp170 - t3new += np.transpose(tmp172, (0, 2, 1, 3, 5, 4)) * 2 - del tmp172 - t3new += np.transpose(tmp175, (0, 1, 2, 5, 4, 3)) * -1 - t3new += np.transpose(tmp180, (0, 2, 1, 5, 4, 3)) * -1 - t3new += np.transpose(tmp183, (0, 2, 1, 3, 5, 4)) * -1 - del tmp183 - t3new += np.transpose(tmp186, (0, 2, 1, 3, 5, 4)) * 2 - del tmp186 - t3new += np.transpose(tmp189, (0, 2, 1, 4, 5, 3)) * -1 - t3new += np.transpose(tmp192, (0, 2, 1, 4, 5, 3)) - t3new += np.transpose(tmp192, (0, 1, 2, 5, 4, 3)) - t3new += np.transpose(tmp195, (0, 1, 2, 5, 4, 3)) * -1 - t3new += np.transpose(tmp168, (0, 1, 2, 4, 5, 3)) * -1 - del tmp168 - t3new += np.transpose(tmp178, (0, 1, 2, 4, 5, 3)) - t3new += np.transpose(tmp180, (0, 1, 2, 4, 5, 3)) * -1 - t3new += np.transpose(tmp202, (0, 1, 2, 5, 3, 4)) - t3new += np.transpose(tmp123, (0, 2, 1, 3, 4, 5)) * -1 - t3new += np.transpose(tmp204, (2, 0, 1, 3, 4, 5)) - t3new += np.transpose(tmp205, (2, 0, 1, 3, 5, 4)) - t3new += np.transpose(tmp206, (0, 1, 2, 5, 3, 4)) - t3new += np.transpose(tmp207, (0, 2, 1, 5, 3, 4)) - t3new += np.transpose(tmp209, (1, 2, 0, 3, 4, 5)) * -1 - t3new += np.transpose(tmp211, (1, 2, 0, 3, 4, 5)) * 2 - t3new += np.transpose(tmp213, (1, 2, 0, 3, 4, 5)) * -1 - t3new += np.transpose(tmp215, (0, 1, 2, 5, 3, 4)) * -1 - t3new += np.transpose(tmp217, (0, 1, 2, 5, 3, 4)) * 2 - t3new += np.transpose(tmp220, (0, 1, 2, 5, 4, 3)) * -1 - t3new += np.transpose(tmp222, (1, 0, 2, 3, 4, 5)) * -1 - t3new += np.transpose(tmp202, (1, 0, 2, 5, 4, 3)) - t3new += np.transpose(tmp202, (2, 0, 1, 5, 4, 3)) * -1 - t3new += np.transpose(tmp123, (2, 0, 1, 3, 5, 4)) * -1 - t3new += np.transpose(tmp204, (0, 2, 1, 3, 5, 4)) - t3new += np.transpose(tmp204, (1, 2, 0, 3, 5, 4)) * -1 - t3new += np.transpose(tmp205, (0, 2, 1, 3, 4, 5)) - t3new += np.transpose(tmp205, (1, 2, 0, 3, 4, 5)) * -1 - t3new += np.transpose(tmp206, (1, 0, 2, 5, 4, 3)) - t3new += np.transpose(tmp224, (1, 0, 2, 5, 4, 3)) - t3new += np.transpose(tmp207, (1, 0, 2, 5, 4, 3)) * -1 - t3new += np.transpose(tmp226, (2, 0, 1, 5, 4, 3)) - t3new += np.transpose(tmp222, (2, 1, 0, 3, 5, 4)) - t3new += np.transpose(tmp209, (2, 1, 0, 3, 5, 4)) * -1 - t3new += np.transpose(tmp213, (2, 1, 0, 3, 5, 4)) * -1 - t3new += np.transpose(tmp211, (2, 1, 0, 3, 5, 4)) * 2 - t3new += np.transpose(tmp215, (1, 0, 2, 5, 4, 3)) * -1 - t3new += np.transpose(tmp215, (2, 0, 1, 5, 4, 3)) - t3new += np.transpose(tmp217, (1, 0, 2, 5, 4, 3)) * 2 - t3new += np.transpose(tmp217, (2, 0, 1, 5, 4, 3)) * -2 - t3new += np.transpose(tmp228, (1, 0, 2, 5, 4, 3)) * -1 - t3new += np.transpose(tmp228, (2, 0, 1, 5, 4, 3)) - t3new += np.transpose(tmp230, (1, 0, 2, 5, 4, 3)) * 2 - t3new += np.transpose(tmp230, (2, 0, 1, 5, 4, 3)) * -2 - t3new += np.transpose(tmp232, (1, 0, 2, 5, 4, 3)) * -1 - t3new += np.transpose(tmp232, (2, 0, 1, 5, 4, 3)) - t3new += np.transpose(tmp233, (1, 0, 2, 5, 4, 3)) - t3new += np.transpose(tmp123, (1, 0, 2, 3, 5, 4)) - t3new += np.transpose(tmp222, (0, 1, 2, 3, 5, 4)) * -1 - t3new += np.transpose(tmp209, (0, 1, 2, 3, 5, 4)) - t3new += np.transpose(tmp213, (0, 1, 2, 3, 5, 4)) - t3new += np.transpose(tmp211, (0, 1, 2, 3, 5, 4)) * -2 - t3new += np.transpose(tmp202, (0, 2, 1, 3, 5, 4)) - t3new += np.transpose(tmp202, (0, 2, 1, 4, 5, 3)) * -1 - t3new += np.transpose(tmp234, (2, 1, 0, 5, 3, 4)) * -0.5 - t3new += np.transpose(tmp234, (2, 1, 0, 4, 3, 5)) * 0.5 - t3new += np.transpose(tmp235, (2, 1, 0, 5, 3, 4)) * 1.5 - t3new += np.transpose(tmp205, (2, 1, 0, 5, 3, 4)) * 0.5 - t3new += np.transpose(tmp205, (2, 1, 0, 4, 3, 5)) * -0.5 - t3new += np.transpose(tmp236, (2, 1, 0, 5, 3, 4)) * -0.5 - t3new += np.transpose(tmp222, (1, 2, 0, 4, 3, 5)) * -1 - t3new += np.transpose(tmp222, (1, 2, 0, 5, 3, 4)) - t3new += np.transpose(tmp215, (0, 2, 1, 3, 5, 4)) * -1 - t3new += np.transpose(tmp215, (0, 2, 1, 4, 5, 3)) - t3new += np.transpose(tmp217, (0, 2, 1, 3, 5, 4)) * 2 - t3new += np.transpose(tmp217, (0, 2, 1, 4, 5, 3)) * -2 - t3new += np.transpose(tmp233, (0, 2, 1, 3, 5, 4)) - t3new += np.transpose(tmp233, (0, 2, 1, 4, 5, 3)) * -1 - t3new += np.transpose(tmp123, (0, 1, 2, 4, 3, 5)) * -1 - t3new += np.transpose(tmp123, (0, 1, 2, 5, 3, 4)) - t3new += np.transpose(tmp209, (1, 0, 2, 4, 3, 5)) * -1 - t3new += np.transpose(tmp209, (1, 0, 2, 5, 3, 4)) - t3new += np.transpose(tmp211, (1, 0, 2, 4, 3, 5)) * 2 - t3new += np.transpose(tmp211, (1, 0, 2, 5, 3, 4)) * -2 - t3new += np.transpose(tmp213, (1, 0, 2, 4, 3, 5)) * -1 - t3new += np.transpose(tmp213, (1, 0, 2, 5, 3, 4)) - t3new += np.transpose(tmp202, (2, 1, 0, 5, 3, 4)) * -1 - t3new += np.transpose(tmp204, (1, 0, 2, 3, 4, 5)) * -1 - t3new += np.transpose(tmp205, (1, 0, 2, 3, 5, 4)) * -1 - t3new += np.transpose(tmp206, (2, 1, 0, 5, 3, 4)) * -1 - t3new += np.transpose(tmp207, (1, 2, 0, 5, 3, 4)) * -1 - t3new += np.transpose(tmp222, (2, 0, 1, 3, 4, 5)) - t3new += np.transpose(tmp215, (2, 1, 0, 5, 3, 4)) - t3new += np.transpose(tmp217, (2, 1, 0, 5, 3, 4)) * -2 - t3new += np.transpose(tmp220, (2, 1, 0, 5, 4, 3)) - t3new += np.transpose(tmp123, (1, 2, 0, 3, 4, 5)) - t3new += np.transpose(tmp209, (0, 2, 1, 3, 4, 5)) - t3new += np.transpose(tmp211, (0, 2, 1, 3, 4, 5)) * -2 - t3new += np.transpose(tmp213, (0, 2, 1, 3, 4, 5)) - t3new += np.transpose(tmp202, (1, 2, 0, 3, 5, 4)) * -1 - t3new += np.transpose(tmp202, (1, 2, 0, 4, 5, 3)) - t3new += np.transpose(tmp123, (2, 1, 0, 4, 3, 5)) - t3new += np.transpose(tmp123, (2, 1, 0, 5, 3, 4)) * -1 - t3new += np.transpose(tmp234, (0, 1, 2, 5, 3, 4)) * 0.5 - t3new += np.transpose(tmp234, (0, 1, 2, 4, 3, 5)) * -0.5 - del tmp234 - t3new += np.transpose(tmp235, (0, 1, 2, 5, 3, 4)) * -1.5 - del tmp235 - t3new += np.transpose(tmp205, (0, 1, 2, 5, 3, 4)) * -0.5 - t3new += np.transpose(tmp205, (0, 1, 2, 4, 3, 5)) * 0.5 - t3new += np.transpose(tmp236, (0, 1, 2, 5, 3, 4)) * 0.5 - del tmp236 - t3new += np.transpose(tmp209, (2, 0, 1, 4, 3, 5)) - t3new += np.transpose(tmp209, (2, 0, 1, 5, 3, 4)) * -1 - t3new += np.transpose(tmp211, (2, 0, 1, 4, 3, 5)) * -2 - t3new += np.transpose(tmp211, (2, 0, 1, 5, 3, 4)) * 2 - t3new += np.transpose(tmp213, (2, 0, 1, 4, 3, 5)) - t3new += np.transpose(tmp213, (2, 0, 1, 5, 3, 4)) * -1 - t3new += np.transpose(tmp215, (1, 2, 0, 3, 5, 4)) - t3new += np.transpose(tmp215, (1, 2, 0, 4, 5, 3)) * -1 - t3new += np.transpose(tmp217, (1, 2, 0, 3, 5, 4)) * -2 - t3new += np.transpose(tmp217, (1, 2, 0, 4, 5, 3)) * 2 - t3new += np.transpose(tmp233, (1, 2, 0, 3, 5, 4)) * -1 - t3new += np.transpose(tmp233, (1, 2, 0, 4, 5, 3)) - t3new += np.transpose(tmp237, (2, 1, 0, 4, 5, 3)) * -1 - t3new += np.transpose(tmp238, (2, 1, 0, 5, 3, 4)) - t3new += np.transpose(tmp240, (0, 2, 1, 4, 3, 5)) * -1 - t3new += np.transpose(tmp202, (0, 1, 2, 4, 3, 5)) * -1 - t3new += np.transpose(tmp204, (2, 0, 1, 5, 4, 3)) * -1 - t3new += np.transpose(tmp205, (2, 0, 1, 4, 5, 3)) * -1 - t3new += np.transpose(tmp206, (0, 1, 2, 4, 3, 5)) * -1 - t3new += np.transpose(tmp207, (0, 2, 1, 4, 3, 5)) * -1 - t3new += np.transpose(tmp133, (2, 0, 1, 4, 3, 5)) - t3new += np.transpose(tmp215, (0, 1, 2, 4, 3, 5)) - t3new += np.transpose(tmp217, (0, 1, 2, 4, 3, 5)) * -2 - t3new += np.transpose(tmp136, (2, 0, 1, 4, 3, 5)) - t3new += np.transpose(tmp241, (2, 0, 1, 5, 4, 3)) - t3new += np.transpose(tmp243, (2, 0, 1, 5, 3, 4)) * -1 - t3new += np.transpose(tmp245, (0, 1, 2, 5, 3, 4)) * -1 - t3new += tmp220 - t3new += np.transpose(tmp202, (1, 0, 2, 3, 4, 5)) * -1 - t3new += np.transpose(tmp202, (2, 0, 1, 3, 4, 5)) - t3new += np.transpose(tmp247, (0, 2, 1, 5, 3, 4)) * -1 - t3new += np.transpose(tmp247, (1, 2, 0, 5, 3, 4)) - t3new += np.transpose(tmp204, (0, 2, 1, 4, 5, 3)) * -1 - t3new += np.transpose(tmp204, (1, 2, 0, 4, 5, 3)) - t3new += np.transpose(tmp205, (0, 2, 1, 5, 4, 3)) * -1 - t3new += np.transpose(tmp205, (1, 2, 0, 5, 4, 3)) - t3new += np.transpose(tmp206, (1, 0, 2, 3, 4, 5)) * -1 - t3new += np.transpose(tmp224, (1, 0, 2, 3, 4, 5)) * -1 - del tmp224 - t3new += np.transpose(tmp207, (1, 0, 2, 3, 4, 5)) - t3new += np.transpose(tmp226, (2, 0, 1, 3, 4, 5)) * -1 - del tmp226 - t3new += np.transpose(tmp133, (0, 2, 1, 3, 4, 5)) - t3new += np.transpose(tmp133, (1, 2, 0, 3, 4, 5)) * -1 - t3new += np.transpose(tmp215, (1, 0, 2, 3, 4, 5)) - t3new += np.transpose(tmp215, (2, 0, 1, 3, 4, 5)) * -1 - t3new += np.transpose(tmp217, (1, 0, 2, 3, 4, 5)) * -2 - t3new += np.transpose(tmp217, (2, 0, 1, 3, 4, 5)) * 2 - t3new += np.transpose(tmp136, (0, 2, 1, 3, 4, 5)) - t3new += np.transpose(tmp136, (1, 2, 0, 3, 4, 5)) * -1 - t3new += np.transpose(tmp202, (2, 1, 0, 4, 3, 5)) - del tmp202 - t3new += np.transpose(tmp204, (1, 0, 2, 5, 4, 3)) - del tmp204 - t3new += np.transpose(tmp205, (1, 0, 2, 4, 5, 3)) - del tmp205 - t3new += np.transpose(tmp206, (2, 1, 0, 4, 3, 5)) - t3new += np.transpose(tmp207, (1, 2, 0, 4, 3, 5)) - t3new += np.transpose(tmp133, (1, 0, 2, 4, 3, 5)) * -1 - t3new += np.transpose(tmp215, (2, 1, 0, 4, 3, 5)) * -1 - del tmp215 - t3new += np.transpose(tmp217, (2, 1, 0, 4, 3, 5)) * 2 - del tmp217 - t3new += np.transpose(tmp136, (1, 0, 2, 4, 3, 5)) * -1 - t3new += np.transpose(tmp241, (1, 0, 2, 5, 4, 3)) * -1 - t3new += np.transpose(tmp243, (1, 0, 2, 5, 3, 4)) - t3new += np.transpose(tmp245, (2, 1, 0, 5, 3, 4)) - t3new += np.transpose(tmp220, (2, 1, 0, 3, 4, 5)) * -1 - t3new += np.transpose(tmp233, (0, 1, 2, 5, 3, 4)) - t3new += np.transpose(tmp233, (2, 0, 1, 5, 4, 3)) * -1 - t3new += np.transpose(tmp248, (0, 1, 2, 5, 4, 3)) - t3new += np.transpose(tmp129, (0, 1, 2, 3, 5, 4)) - t3new += np.transpose(tmp131, (0, 1, 2, 3, 5, 4)) * -1 - t3new += np.transpose(tmp129, (1, 0, 2, 3, 4, 5)) - t3new += np.transpose(tmp249, (1, 2, 0, 3, 5, 4)) * -1 - t3new += np.transpose(tmp251, (1, 2, 0, 3, 5, 4)) - t3new += np.transpose(tmp253, (1, 2, 0, 3, 5, 4)) - t3new += np.transpose(tmp255, (1, 2, 0, 3, 5, 4)) * -2 - t3new += np.transpose(tmp251, (2, 1, 0, 3, 4, 5)) - t3new += np.transpose(tmp255, (2, 1, 0, 3, 4, 5)) * -2 - t3new += np.transpose(tmp253, (2, 1, 0, 3, 4, 5)) - t3new += np.transpose(tmp232, (1, 2, 0, 4, 5, 3)) * -1 - t3new += np.transpose(tmp230, (1, 2, 0, 4, 5, 3)) * 2 - t3new += np.transpose(tmp220, (1, 2, 0, 4, 5, 3)) - t3new += np.transpose(tmp228, (1, 2, 0, 4, 5, 3)) * -1 - t3new += np.transpose(tmp248, (2, 1, 0, 5, 4, 3)) * -1 - t3new += np.transpose(tmp129, (2, 1, 0, 3, 5, 4)) * -1 - t3new += np.transpose(tmp131, (2, 1, 0, 3, 5, 4)) - del tmp131 - t3new += np.transpose(tmp129, (2, 0, 1, 3, 4, 5)) * -1 - t3new += np.transpose(tmp249, (0, 2, 1, 3, 5, 4)) - t3new += np.transpose(tmp251, (0, 2, 1, 3, 5, 4)) * -1 - t3new += np.transpose(tmp253, (0, 2, 1, 3, 5, 4)) * -1 - t3new += np.transpose(tmp255, (0, 2, 1, 3, 5, 4)) * 2 - t3new += tmp251 * -1 - t3new += tmp255 * 2 - t3new += tmp253 * -1 - t3new += np.transpose(tmp232, (0, 2, 1, 4, 5, 3)) - t3new += np.transpose(tmp230, (0, 2, 1, 4, 5, 3)) * -2 - t3new += np.transpose(tmp220, (0, 2, 1, 4, 5, 3)) * -1 - t3new += np.transpose(tmp228, (0, 2, 1, 4, 5, 3)) - t3new += np.transpose(tmp233, (2, 1, 0, 5, 3, 4)) * -1 - t3new += np.transpose(tmp256, (0, 2, 1, 5, 4, 3)) - t3new += np.transpose(tmp139, (0, 2, 1, 3, 5, 4)) * -1 - del tmp139 - t3new += np.transpose(tmp257, (2, 0, 1, 3, 5, 4)) - t3new += np.transpose(tmp233, (0, 1, 2, 4, 3, 5)) * -1 - t3new += np.transpose(tmp233, (1, 0, 2, 3, 4, 5)) * -1 - t3new += np.transpose(tmp233, (2, 0, 1, 3, 4, 5)) - t3new += tmp248 * -1 - t3new += np.transpose(tmp248, (2, 1, 0, 3, 4, 5)) - del tmp248 - t3new += np.transpose(tmp233, (2, 1, 0, 4, 3, 5)) - del tmp233 - t3new += np.transpose(tmp256, (0, 2, 1, 3, 4, 5)) * -1 - del tmp256 - t3new += np.transpose(tmp241, (0, 2, 1, 4, 5, 3)) - t3new += np.transpose(tmp241, (1, 2, 0, 4, 5, 3)) * -1 - t3new += np.transpose(tmp259, (1, 0, 2, 5, 3, 4)) * 2 - t3new += np.transpose(tmp259, (2, 0, 1, 5, 3, 4)) * -2 - t3new += np.transpose(tmp261, (1, 0, 2, 5, 3, 4)) * -1 - t3new += np.transpose(tmp261, (2, 0, 1, 5, 3, 4)) - t3new += np.transpose(tmp263, (1, 0, 2, 5, 3, 4)) * -1 - t3new += np.transpose(tmp263, (2, 0, 1, 5, 3, 4)) - t3new += np.transpose(tmp230, (1, 0, 2, 3, 4, 5)) * -2 - t3new += np.transpose(tmp230, (2, 0, 1, 3, 4, 5)) * 2 - t3new += np.transpose(tmp228, (1, 0, 2, 3, 4, 5)) - t3new += np.transpose(tmp228, (2, 0, 1, 3, 4, 5)) * -1 - t3new += np.transpose(tmp232, (1, 0, 2, 3, 4, 5)) - t3new += np.transpose(tmp232, (2, 0, 1, 3, 4, 5)) * -1 - t3new += np.transpose(tmp241, (0, 1, 2, 4, 3, 5)) - t3new += tmp243 * -1 - t3new += np.transpose(tmp263, (1, 2, 0, 3, 4, 5)) - t3new += np.transpose(tmp259, (1, 2, 0, 3, 4, 5)) * -2 - t3new += np.transpose(tmp245, (1, 2, 0, 3, 4, 5)) * -1 - t3new += np.transpose(tmp261, (1, 2, 0, 3, 4, 5)) - t3new += tmp247 - t3new += np.transpose(tmp241, (0, 1, 2, 5, 3, 4)) * -1 - t3new += np.transpose(tmp243, (0, 1, 2, 5, 4, 3)) - t3new += np.transpose(tmp247, (0, 1, 2, 5, 4, 3)) * -1 - t3new += np.transpose(tmp206, (1, 2, 0, 3, 5, 4)) * -1 - t3new += np.transpose(tmp206, (1, 2, 0, 4, 5, 3)) - t3new += np.transpose(tmp207, (2, 1, 0, 3, 5, 4)) * -1 - t3new += np.transpose(tmp207, (2, 1, 0, 4, 5, 3)) - t3new += np.transpose(tmp136, (0, 1, 2, 4, 5, 3)) * -1 - t3new += np.transpose(tmp136, (0, 1, 2, 3, 5, 4)) - t3new += np.transpose(tmp241, (2, 1, 0, 4, 3, 5)) * -1 - t3new += np.transpose(tmp264, (0, 2, 1, 5, 3, 4)) * -1 - del tmp264 - t3new += np.transpose(tmp266, (0, 2, 1, 5, 4, 3)) - t3new += np.transpose(tmp267, (1, 2, 0, 3, 5, 4)) * -1 - del tmp267 - t3new += np.transpose(tmp268, (1, 2, 0, 3, 5, 4)) * -1 - del tmp268 - t3new += np.transpose(tmp243, (2, 1, 0, 3, 4, 5)) - t3new += np.transpose(tmp263, (0, 2, 1, 3, 4, 5)) * -1 - t3new += np.transpose(tmp259, (0, 2, 1, 3, 4, 5)) * 2 - t3new += np.transpose(tmp245, (0, 2, 1, 3, 4, 5)) - t3new += np.transpose(tmp261, (0, 2, 1, 3, 4, 5)) * -1 - t3new += np.transpose(tmp247, (2, 1, 0, 3, 4, 5)) * -1 - t3new += np.transpose(tmp241, (2, 1, 0, 5, 3, 4)) - t3new += np.transpose(tmp243, (2, 1, 0, 5, 4, 3)) * -1 - t3new += np.transpose(tmp247, (2, 1, 0, 5, 4, 3)) - t3new += np.transpose(tmp206, (0, 2, 1, 3, 5, 4)) - t3new += np.transpose(tmp206, (0, 2, 1, 4, 5, 3)) * -1 - del tmp206 - t3new += np.transpose(tmp207, (0, 1, 2, 3, 5, 4)) - t3new += np.transpose(tmp207, (0, 1, 2, 4, 5, 3)) * -1 - del tmp207 - t3new += np.transpose(tmp136, (2, 1, 0, 4, 5, 3)) - t3new += np.transpose(tmp136, (2, 1, 0, 3, 5, 4)) * -1 - del tmp136 - t3new += np.transpose(tmp241, (1, 0, 2, 3, 4, 5)) - t3new += np.transpose(tmp243, (1, 0, 2, 4, 3, 5)) * -1 - t3new += np.transpose(tmp241, (0, 2, 1, 3, 5, 4)) * -1 - t3new += np.transpose(tmp241, (1, 2, 0, 3, 5, 4)) - t3new += np.transpose(tmp243, (0, 2, 1, 4, 5, 3)) - t3new += np.transpose(tmp243, (1, 2, 0, 4, 5, 3)) * -1 - t3new += np.transpose(tmp247, (0, 2, 1, 4, 3, 5)) - t3new += np.transpose(tmp247, (1, 2, 0, 4, 3, 5)) * -1 - t3new += np.transpose(tmp241, (2, 0, 1, 3, 4, 5)) * -1 - del tmp241 - t3new += np.transpose(tmp269, (0, 2, 1, 3, 5, 4)) - t3new += np.transpose(tmp270, (0, 2, 1, 4, 5, 3)) * -1 - t3new += np.transpose(tmp243, (2, 0, 1, 4, 3, 5)) - t3new += np.transpose(tmp137, (0, 2, 1, 4, 5, 3)) * -1 - del tmp137 - t3new += np.transpose(tmp123, (0, 2, 1, 5, 4, 3)) - del tmp123 - t3new += np.transpose(tmp158, (0, 1, 2, 5, 4, 3)) * -1 - t3new += np.transpose(tmp158, (1, 0, 2, 5, 3, 4)) * -1 - t3new += np.transpose(tmp237, (0, 1, 2, 4, 5, 3)) - del tmp237 - t3new += np.transpose(tmp238, (0, 1, 2, 5, 3, 4)) * -1 - del tmp238 - t3new += np.transpose(tmp240, (1, 2, 0, 4, 3, 5)) - del tmp240 - t3new += einsum(t3, (0, 1, 2, 3, 4, 5), v.OVOV, (6, 7, 1, 4), (0, 6, 2, 3, 7, 5)) - t3new += np.transpose(tmp158, (0, 2, 1, 4, 5, 3)) * -1 - t3new += np.transpose(tmp158, (0, 2, 1, 3, 5, 4)) - t3new += einsum(t3, (0, 1, 2, 3, 4, 5), v.OVOV, (6, 7, 2, 4), (0, 6, 1, 3, 7, 5)) * -1 - t3new += einsum(v.OOVV, (0, 1, 2, 3), t3, (4, 1, 5, 6, 3, 7), (4, 0, 5, 6, 2, 7)) * -1 - t3new += einsum(t3, (0, 1, 2, 3, 4, 5), tmp128, (6, 1, 7, 4), (0, 6, 2, 3, 7, 5)) * -1 - t3new += einsum(t3, (0, 1, 2, 3, 4, 5), tmp130, (6, 1, 7, 4), (0, 6, 2, 3, 7, 5)) - del tmp130 - t3new += np.transpose(tmp129, (0, 2, 1, 5, 3, 4)) - t3new += np.transpose(tmp129, (0, 2, 1, 4, 3, 5)) * -1 - del tmp129 - t3new += einsum(t3, (0, 1, 2, 3, 4, 5), tmp128, (6, 2, 7, 4), (0, 6, 1, 3, 7, 5)) - del tmp128 - t3new += np.transpose(tmp251, (1, 0, 2, 5, 3, 4)) - t3new += np.transpose(tmp251, (1, 0, 2, 4, 3, 5)) * -1 - t3new += einsum(t3, (0, 1, 2, 3, 4, 5), tmp250, (6, 2, 7, 4), (0, 6, 1, 3, 7, 5)) - t3new += np.transpose(tmp255, (1, 0, 2, 5, 3, 4)) * -2 - t3new += np.transpose(tmp255, (1, 0, 2, 4, 3, 5)) * 2 - t3new += np.transpose(tmp271, (1, 0, 2, 4, 3, 5)) * -2 - del tmp271 - t3new += einsum(t3, (0, 1, 2, 3, 4, 5), tmp239, (6, 1, 7, 4), (0, 6, 2, 3, 7, 5)) - del tmp239 - t3new += einsum(t3, (0, 1, 2, 3, 4, 5), tmp250, (6, 1, 7, 4), (0, 6, 2, 3, 7, 5)) * -1 - del tmp250 - t3new += einsum(t3, (0, 1, 2, 3, 4, 5), tmp252, (6, 1, 7, 4), (0, 6, 2, 3, 7, 5)) * -1 - t3new += np.transpose(tmp272, (2, 0, 1, 4, 3, 5)) * -2 - del tmp272 - t3new += np.transpose(tmp253, (1, 0, 2, 5, 3, 4)) - t3new += np.transpose(tmp253, (1, 0, 2, 4, 3, 5)) * -1 - t3new += einsum(t3, (0, 1, 2, 3, 4, 5), tmp252, (6, 2, 7, 4), (0, 6, 1, 3, 7, 5)) - del tmp252 - t3new += tmp158 - t3new += np.transpose(tmp158, (1, 0, 2, 4, 3, 5)) - del tmp158 - t3new += np.transpose(tmp269, (0, 2, 1, 4, 5, 3)) * -1 - del tmp269 - t3new += np.transpose(tmp273, (0, 2, 1, 5, 3, 4)) - t3new += np.transpose(tmp147, (1, 2, 0, 3, 4, 5)) - del tmp147 - t3new += np.transpose(tmp156, (1, 2, 0, 3, 4, 5)) - del tmp156 - t3new += np.transpose(tmp274, (1, 0, 2, 5, 3, 4)) - t3new += np.transpose(tmp276, (2, 0, 1, 3, 4, 5)) * 2 - t3new += np.transpose(tmp278, (2, 0, 1, 3, 4, 5)) * -1 - t3new += np.transpose(tmp280, (2, 0, 1, 3, 4, 5)) * -1 - t3new += np.transpose(tmp178, (1, 0, 2, 3, 4, 5)) * -1 - t3new += np.transpose(tmp274, (0, 1, 2, 5, 4, 3)) - t3new += np.transpose(tmp282, (0, 1, 2, 5, 4, 3)) * -1 - t3new += np.transpose(tmp280, (0, 2, 1, 3, 5, 4)) * -1 - t3new += np.transpose(tmp276, (0, 2, 1, 3, 5, 4)) * 2 - t3new += np.transpose(tmp284, (0, 2, 1, 3, 5, 4)) - t3new += np.transpose(tmp278, (0, 2, 1, 3, 5, 4)) * -1 - t3new += np.transpose(tmp178, (0, 1, 2, 3, 5, 4)) * -1 - t3new += np.transpose(tmp180, (0, 1, 2, 3, 5, 4)) - t3new += np.transpose(tmp282, (1, 0, 2, 3, 5, 4)) - t3new += np.transpose(tmp282, (1, 0, 2, 4, 5, 3)) * -1 - t3new += np.transpose(tmp284, (2, 0, 1, 4, 3, 5)) * -1 - t3new += np.transpose(tmp284, (2, 0, 1, 5, 3, 4)) - t3new += np.transpose(tmp180, (1, 0, 2, 4, 3, 5)) * -1 - t3new += np.transpose(tmp180, (1, 0, 2, 5, 3, 4)) - t3new += np.transpose(tmp282, (1, 2, 0, 5, 3, 4)) - t3new += np.transpose(tmp284, (2, 1, 0, 3, 4, 5)) * -1 - t3new += np.transpose(tmp180, (1, 2, 0, 3, 4, 5)) * -1 - t3new += np.transpose(tmp282, (0, 2, 1, 5, 3, 4)) * -1 - t3new += tmp284 - t3new += np.transpose(tmp180, (0, 2, 1, 3, 4, 5)) - t3new += np.transpose(tmp274, (1, 2, 0, 3, 5, 4)) - t3new += np.transpose(tmp274, (1, 2, 0, 4, 5, 3)) * -1 - t3new += np.transpose(tmp276, (2, 1, 0, 4, 3, 5)) * 2 - t3new += np.transpose(tmp276, (2, 1, 0, 5, 3, 4)) * -2 - t3new += np.transpose(tmp278, (2, 1, 0, 4, 3, 5)) * -1 - t3new += np.transpose(tmp278, (2, 1, 0, 5, 3, 4)) - t3new += np.transpose(tmp280, (2, 1, 0, 4, 3, 5)) * -1 - t3new += np.transpose(tmp280, (2, 1, 0, 5, 3, 4)) - t3new += np.transpose(tmp178, (1, 2, 0, 4, 3, 5)) * -1 - t3new += np.transpose(tmp178, (1, 2, 0, 5, 3, 4)) - t3new += np.transpose(tmp274, (0, 2, 1, 3, 5, 4)) * -1 - t3new += np.transpose(tmp274, (0, 2, 1, 4, 5, 3)) - t3new += np.transpose(tmp286, (0, 2, 1, 4, 5, 3)) * -1 - t3new += np.transpose(tmp287, (0, 2, 1, 4, 3, 5)) * -1 - t3new += np.transpose(tmp276, (0, 1, 2, 4, 3, 5)) * -2 - t3new += np.transpose(tmp276, (0, 1, 2, 5, 3, 4)) * 2 - t3new += np.transpose(tmp278, (0, 1, 2, 4, 3, 5)) - t3new += np.transpose(tmp278, (0, 1, 2, 5, 3, 4)) * -1 - t3new += np.transpose(tmp280, (0, 1, 2, 4, 3, 5)) - t3new += np.transpose(tmp280, (0, 1, 2, 5, 3, 4)) * -1 - t3new += np.transpose(tmp178, (0, 2, 1, 4, 3, 5)) - t3new += np.transpose(tmp178, (0, 2, 1, 5, 3, 4)) * -1 - t3new += np.transpose(tmp274, (2, 1, 0, 5, 4, 3)) * -1 - t3new += np.transpose(tmp288, (1, 2, 0, 5, 4, 3)) - t3new += np.transpose(tmp290, (1, 2, 0, 5, 4, 3)) * -1 - t3new += np.transpose(tmp290, (2, 1, 0, 5, 3, 4)) * -1 - t3new += np.transpose(tmp189, (1, 2, 0, 3, 5, 4)) * -1 - t3new += np.transpose(tmp192, (1, 2, 0, 3, 5, 4)) - t3new += np.transpose(tmp192, (2, 1, 0, 3, 4, 5)) - t3new += np.transpose(tmp282, (2, 1, 0, 5, 4, 3)) - t3new += np.transpose(tmp280, (1, 2, 0, 3, 5, 4)) - t3new += np.transpose(tmp276, (1, 2, 0, 3, 5, 4)) * -2 - t3new += np.transpose(tmp284, (1, 2, 0, 3, 5, 4)) * -1 - t3new += np.transpose(tmp278, (1, 2, 0, 3, 5, 4)) - t3new += np.transpose(tmp178, (2, 1, 0, 3, 5, 4)) - t3new += np.transpose(tmp180, (2, 1, 0, 3, 5, 4)) * -1 - t3new += np.transpose(tmp274, (2, 0, 1, 5, 3, 4)) * -1 - t3new += np.transpose(tmp291, (1, 0, 2, 5, 4, 3)) - t3new += np.transpose(tmp199, (2, 0, 1, 3, 5, 4)) - del tmp199 - t3new += np.transpose(tmp276, (1, 0, 2, 3, 4, 5)) * -2 - t3new += np.transpose(tmp278, (1, 0, 2, 3, 4, 5)) - t3new += np.transpose(tmp280, (1, 0, 2, 3, 4, 5)) - t3new += np.transpose(tmp178, (2, 0, 1, 3, 4, 5)) - t3new += np.transpose(tmp282, (2, 0, 1, 3, 5, 4)) * -1 - t3new += np.transpose(tmp282, (2, 0, 1, 4, 5, 3)) - t3new += np.transpose(tmp284, (1, 0, 2, 4, 3, 5)) - t3new += np.transpose(tmp284, (1, 0, 2, 5, 3, 4)) * -1 - t3new += np.transpose(tmp180, (2, 0, 1, 4, 3, 5)) - t3new += np.transpose(tmp180, (2, 0, 1, 5, 3, 4)) * -1 - t3new += np.transpose(tmp247, (1, 0, 2, 3, 5, 4)) - t3new += np.transpose(tmp243, (0, 2, 1, 3, 5, 4)) * -1 - t3new += np.transpose(tmp243, (1, 2, 0, 3, 5, 4)) - del tmp243 - t3new += np.transpose(tmp245, (1, 0, 2, 3, 5, 4)) * -1 - t3new += np.transpose(tmp245, (2, 0, 1, 3, 5, 4)) - t3new += np.transpose(tmp220, (1, 0, 2, 4, 3, 5)) - t3new += np.transpose(tmp220, (2, 0, 1, 4, 3, 5)) * -1 - t3new += np.transpose(tmp247, (1, 0, 2, 4, 5, 3)) * -1 - t3new += np.transpose(tmp247, (2, 0, 1, 3, 5, 4)) * -1 - t3new += np.transpose(tmp247, (2, 0, 1, 4, 5, 3)) - del tmp247 - t3new += np.transpose(tmp274, (1, 0, 2, 4, 3, 5)) * -1 - t3new += tmp274 * -1 - t3new += tmp282 - t3new += np.transpose(tmp282, (1, 2, 0, 4, 3, 5)) * -1 - t3new += np.transpose(tmp282, (0, 2, 1, 4, 3, 5)) - t3new += np.transpose(tmp274, (2, 1, 0, 3, 4, 5)) - t3new += np.transpose(tmp288, (1, 2, 0, 3, 4, 5)) * -1 - t3new += np.transpose(tmp290, (1, 2, 0, 3, 4, 5)) - t3new += np.transpose(tmp290, (2, 1, 0, 4, 3, 5)) - t3new += np.transpose(tmp282, (2, 1, 0, 3, 4, 5)) * -1 - del tmp282 - t3new += np.transpose(tmp274, (2, 0, 1, 4, 3, 5)) - del tmp274 - t3new += np.transpose(tmp291, (1, 0, 2, 3, 4, 5)) * -1 - del tmp291 - t3new += np.transpose(tmp293, (2, 1, 0, 4, 5, 3)) * -1 - t3new += np.transpose(tmp175, (2, 1, 0, 3, 4, 5)) * -1 - t3new += np.transpose(tmp296, (2, 1, 0, 5, 3, 4)) - t3new += np.transpose(tmp195, (2, 1, 0, 3, 4, 5)) * -1 - t3new += np.transpose(tmp293, (1, 0, 2, 5, 4, 3)) - t3new += np.transpose(tmp293, (2, 0, 1, 5, 4, 3)) * -1 - t3new += np.transpose(tmp175, (1, 0, 2, 4, 3, 5)) - t3new += np.transpose(tmp175, (2, 0, 1, 4, 3, 5)) * -1 - t3new += np.transpose(tmp299, (1, 0, 2, 5, 3, 4)) * -1 - t3new += np.transpose(tmp299, (2, 0, 1, 5, 3, 4)) - t3new += np.transpose(tmp195, (1, 0, 2, 4, 3, 5)) - t3new += np.transpose(tmp195, (2, 0, 1, 4, 3, 5)) * -1 - t3new += np.transpose(tmp293, (1, 2, 0, 4, 3, 5)) * -1 - t3new += np.transpose(tmp293, (1, 2, 0, 5, 3, 4)) - t3new += np.transpose(tmp299, (1, 2, 0, 5, 4, 3)) * -1 - t3new += np.transpose(tmp296, (1, 2, 0, 5, 4, 3)) - t3new += np.transpose(tmp195, (1, 2, 0, 4, 5, 3)) - t3new += np.transpose(tmp195, (1, 2, 0, 3, 5, 4)) * -1 - t3new += np.transpose(tmp293, (0, 1, 2, 4, 5, 3)) - t3new += tmp175 - t3new += np.transpose(tmp296, (0, 1, 2, 5, 3, 4)) * -1 - t3new += tmp195 - t3new += np.transpose(tmp293, (0, 2, 1, 4, 3, 5)) - t3new += np.transpose(tmp293, (0, 2, 1, 5, 3, 4)) * -1 - t3new += np.transpose(tmp299, (0, 2, 1, 5, 4, 3)) - t3new += np.transpose(tmp296, (0, 2, 1, 5, 4, 3)) * -1 - t3new += np.transpose(tmp195, (0, 2, 1, 4, 5, 3)) * -1 - t3new += np.transpose(tmp195, (0, 2, 1, 3, 5, 4)) - del tmp195 - t3new += np.transpose(tmp293, (2, 1, 0, 3, 5, 4)) - t3new += np.transpose(tmp299, (2, 1, 0, 4, 5, 3)) * -1 - t3new += np.transpose(tmp296, (2, 1, 0, 4, 3, 5)) * -1 - t3new += np.transpose(tmp293, (1, 0, 2, 3, 4, 5)) * -1 - t3new += np.transpose(tmp293, (2, 0, 1, 3, 4, 5)) - t3new += np.transpose(tmp296, (1, 0, 2, 4, 5, 3)) - t3new += np.transpose(tmp296, (2, 0, 1, 4, 5, 3)) * -1 - t3new += np.transpose(tmp299, (1, 0, 2, 4, 3, 5)) - t3new += np.transpose(tmp299, (2, 0, 1, 4, 3, 5)) * -1 - t3new += np.transpose(tmp293, (0, 1, 2, 3, 5, 4)) * -1 - del tmp293 - t3new += np.transpose(tmp299, (0, 1, 2, 4, 5, 3)) - t3new += np.transpose(tmp296, (0, 1, 2, 4, 3, 5)) - t3new += np.transpose(tmp196, (1, 0, 2, 4, 5, 3)) * -1 - del tmp196 - t3new += np.transpose(tmp178, (1, 0, 2, 5, 4, 3)) - del tmp178 - t3new += np.transpose(tmp200, (1, 2, 0, 4, 5, 3)) * -1 - del tmp200 - t3new += np.transpose(tmp180, (1, 2, 0, 5, 4, 3)) - del tmp180 - t3new += np.transpose(tmp286, (1, 2, 0, 4, 5, 3)) - del tmp286 - t3new += np.transpose(tmp287, (1, 2, 0, 4, 3, 5)) - del tmp287 - t3new += einsum(tmp285, (0, 1, 2, 3), t3, (4, 1, 5, 6, 3, 7), (4, 0, 5, 6, 2, 7)) * -1 - del tmp285 - t3new += einsum(t3, (0, 1, 2, 3, 4, 5), tmp289, (6, 1, 7, 4), (0, 6, 2, 3, 7, 5)) - t3new += np.transpose(tmp290, (1, 0, 2, 4, 5, 3)) * -1 - t3new += np.transpose(tmp290, (1, 0, 2, 3, 5, 4)) - t3new += einsum(t3, (0, 1, 2, 3, 4, 5), tmp289, (6, 2, 7, 4), (0, 6, 1, 3, 7, 5)) * -1 - del tmp289 - t3new += einsum(t3, (0, 1, 2, 3, 4, 5), tmp188, (6, 1, 7, 4), (0, 6, 2, 3, 7, 5)) - del tmp188 - t3new += einsum(tmp191, (0, 1, 2, 3), t3, (4, 1, 5, 6, 3, 7), (4, 0, 5, 6, 2, 7)) * -1 - t3new += np.transpose(tmp192, (1, 0, 2, 5, 3, 4)) - t3new += np.transpose(tmp192, (1, 0, 2, 4, 3, 5)) * -1 - t3new += einsum(tmp191, (0, 1, 2, 3), t3, (4, 5, 1, 6, 3, 7), (4, 0, 5, 6, 2, 7)) - del tmp191 - t3new += np.transpose(tmp288, (0, 2, 1, 5, 4, 3)) * -1 - t3new += np.transpose(tmp290, (0, 2, 1, 5, 4, 3)) - t3new += np.transpose(tmp290, (0, 1, 2, 5, 3, 4)) - t3new += np.transpose(tmp189, (0, 2, 1, 3, 5, 4)) - del tmp189 - t3new += np.transpose(tmp192, (0, 2, 1, 3, 5, 4)) * -1 - t3new += tmp192 * -1 - del tmp192 - t3new += np.transpose(tmp270, (0, 2, 1, 3, 5, 4)) - del tmp270 - t3new += np.transpose(tmp288, (0, 2, 1, 3, 4, 5)) - del tmp288 - t3new += np.transpose(tmp290, (0, 2, 1, 3, 4, 5)) * -1 - t3new += np.transpose(tmp290, (0, 1, 2, 4, 3, 5)) * -1 - del tmp290 - t3new += np.transpose(tmp266, (0, 2, 1, 3, 4, 5)) * -1 - del tmp266 - t3new += np.transpose(tmp273, (0, 2, 1, 4, 3, 5)) * -1 - del tmp273 - t3new += np.transpose(tmp301, (2, 1, 0, 3, 5, 4)) - t3new += np.transpose(tmp303, (2, 1, 0, 5, 4, 3)) - t3new += np.transpose(tmp306, (2, 1, 0, 3, 5, 4)) - t3new += np.transpose(tmp309, (2, 1, 0, 5, 4, 3)) - t3new += np.transpose(tmp310, (0, 2, 1, 3, 5, 4)) - del tmp310 - t3new += np.transpose(tmp303, (0, 2, 1, 4, 5, 3)) * -1 - t3new += np.transpose(tmp303, (1, 2, 0, 4, 5, 3)) - t3new += np.transpose(tmp301, (0, 1, 2, 3, 5, 4)) * -1 - del tmp301 - t3new += np.transpose(tmp303, (0, 1, 2, 5, 4, 3)) * -1 - t3new += np.transpose(tmp249, (1, 2, 0, 4, 5, 3)) - t3new += np.transpose(tmp251, (1, 2, 0, 4, 5, 3)) * -1 - t3new += np.transpose(tmp253, (1, 2, 0, 4, 5, 3)) * -1 - t3new += np.transpose(tmp255, (1, 2, 0, 4, 5, 3)) * 2 - t3new += np.transpose(tmp251, (2, 1, 0, 5, 4, 3)) * -1 - t3new += np.transpose(tmp255, (2, 1, 0, 5, 4, 3)) * 2 - t3new += np.transpose(tmp253, (2, 1, 0, 5, 4, 3)) * -1 - t3new += np.transpose(tmp222, (2, 1, 0, 4, 5, 3)) * -1 - t3new += np.transpose(tmp209, (2, 1, 0, 4, 5, 3)) - t3new += np.transpose(tmp213, (2, 1, 0, 4, 5, 3)) - t3new += np.transpose(tmp211, (2, 1, 0, 4, 5, 3)) * -2 - t3new += np.transpose(tmp257, (2, 0, 1, 4, 5, 3)) * -1 - del tmp257 - t3new += np.transpose(tmp222, (2, 0, 1, 5, 4, 3)) * -1 - t3new += np.transpose(tmp249, (0, 2, 1, 4, 5, 3)) * -1 - del tmp249 - t3new += np.transpose(tmp251, (0, 2, 1, 4, 5, 3)) - t3new += np.transpose(tmp253, (0, 2, 1, 4, 5, 3)) - t3new += np.transpose(tmp255, (0, 2, 1, 4, 5, 3)) * -2 - t3new += np.transpose(tmp251, (0, 1, 2, 5, 4, 3)) - del tmp251 - t3new += np.transpose(tmp255, (0, 1, 2, 5, 4, 3)) * -2 - del tmp255 - t3new += np.transpose(tmp253, (0, 1, 2, 5, 4, 3)) - del tmp253 - t3new += np.transpose(tmp209, (0, 2, 1, 5, 4, 3)) * -1 - t3new += np.transpose(tmp211, (0, 2, 1, 5, 4, 3)) * 2 - t3new += np.transpose(tmp213, (0, 2, 1, 5, 4, 3)) * -1 - t3new += np.transpose(tmp222, (0, 1, 2, 4, 5, 3)) - t3new += np.transpose(tmp209, (0, 1, 2, 4, 5, 3)) * -1 - t3new += np.transpose(tmp213, (0, 1, 2, 4, 5, 3)) * -1 - t3new += np.transpose(tmp211, (0, 1, 2, 4, 5, 3)) * 2 - t3new += np.transpose(tmp133, (0, 1, 2, 3, 5, 4)) - t3new += np.transpose(tmp133, (0, 1, 2, 4, 5, 3)) * -1 - t3new += np.transpose(tmp222, (1, 0, 2, 5, 4, 3)) - t3new += np.transpose(tmp222, (0, 2, 1, 4, 3, 5)) - t3new += np.transpose(tmp222, (0, 2, 1, 5, 3, 4)) * -1 - del tmp222 - t3new += np.transpose(tmp209, (1, 2, 0, 5, 4, 3)) - del tmp209 - t3new += np.transpose(tmp211, (1, 2, 0, 5, 4, 3)) * -2 - del tmp211 - t3new += np.transpose(tmp213, (1, 2, 0, 5, 4, 3)) - del tmp213 - t3new += np.transpose(tmp133, (2, 1, 0, 3, 5, 4)) * -1 - t3new += np.transpose(tmp133, (2, 1, 0, 4, 5, 3)) - del tmp133 - t3new += np.transpose(tmp312, (2, 0, 1, 5, 3, 4)) - t3new += np.transpose(tmp303, (2, 1, 0, 3, 4, 5)) * -1 - t3new += np.transpose(tmp314, (2, 0, 1, 5, 3, 4)) - t3new += np.transpose(tmp309, (2, 1, 0, 3, 4, 5)) * -1 - t3new += np.transpose(tmp312, (1, 2, 0, 5, 4, 3)) * -1 - t3new += np.transpose(tmp312, (0, 2, 1, 5, 4, 3)) - t3new += np.transpose(tmp303, (0, 2, 1, 3, 5, 4)) - t3new += np.transpose(tmp303, (1, 2, 0, 3, 5, 4)) * -1 - t3new += np.transpose(tmp312, (2, 1, 0, 3, 5, 4)) - t3new += np.transpose(tmp312, (2, 1, 0, 4, 5, 3)) * -1 - t3new += np.transpose(tmp303, (2, 0, 1, 4, 3, 5)) * -1 - t3new += np.transpose(tmp303, (2, 0, 1, 5, 3, 4)) - t3new += np.transpose(tmp314, (2, 1, 0, 3, 5, 4)) - t3new += np.transpose(tmp314, (2, 1, 0, 4, 5, 3)) * -1 - t3new += np.transpose(tmp309, (2, 0, 1, 4, 3, 5)) * -1 - t3new += np.transpose(tmp309, (2, 0, 1, 5, 3, 4)) - t3new += np.transpose(tmp312, (1, 0, 2, 5, 3, 4)) * -1 - t3new += tmp303 - t3new += np.transpose(tmp312, (0, 1, 2, 3, 5, 4)) * -1 - t3new += np.transpose(tmp312, (0, 1, 2, 4, 5, 3)) - t3new += np.transpose(tmp303, (1, 0, 2, 4, 3, 5)) - t3new += np.transpose(tmp303, (1, 0, 2, 5, 3, 4)) * -1 - del tmp303 - t3new += np.transpose(tmp259, (2, 1, 0, 3, 5, 4)) * -2 - t3new += np.transpose(tmp261, (2, 1, 0, 3, 5, 4)) - t3new += np.transpose(tmp263, (2, 1, 0, 3, 5, 4)) - t3new += np.transpose(tmp230, (2, 1, 0, 4, 3, 5)) * 2 - t3new += np.transpose(tmp228, (2, 1, 0, 4, 3, 5)) * -1 - t3new += np.transpose(tmp232, (2, 1, 0, 4, 3, 5)) * -1 - t3new += np.transpose(tmp259, (0, 1, 2, 3, 5, 4)) * 2 - t3new += np.transpose(tmp261, (0, 1, 2, 3, 5, 4)) * -1 - t3new += np.transpose(tmp263, (0, 1, 2, 3, 5, 4)) * -1 - t3new += np.transpose(tmp230, (0, 1, 2, 4, 3, 5)) * -2 - t3new += np.transpose(tmp228, (0, 1, 2, 4, 3, 5)) - t3new += np.transpose(tmp232, (0, 1, 2, 4, 3, 5)) - t3new += np.transpose(tmp245, (0, 2, 1, 5, 4, 3)) * -1 - t3new += np.transpose(tmp261, (0, 2, 1, 5, 4, 3)) - t3new += np.transpose(tmp263, (0, 2, 1, 5, 4, 3)) - t3new += np.transpose(tmp259, (0, 2, 1, 5, 4, 3)) * -2 - t3new += np.transpose(tmp220, (0, 2, 1, 3, 5, 4)) - t3new += np.transpose(tmp228, (0, 2, 1, 3, 5, 4)) * -1 - t3new += np.transpose(tmp232, (0, 2, 1, 3, 5, 4)) * -1 - t3new += np.transpose(tmp230, (0, 2, 1, 3, 5, 4)) * 2 - t3new += np.transpose(tmp261, (0, 1, 2, 4, 5, 3)) - t3new += np.transpose(tmp259, (0, 1, 2, 4, 5, 3)) * -2 - t3new += np.transpose(tmp263, (0, 1, 2, 4, 5, 3)) - t3new += np.transpose(tmp228, (0, 1, 2, 5, 3, 4)) * -1 - t3new += np.transpose(tmp230, (0, 1, 2, 5, 3, 4)) * 2 - t3new += np.transpose(tmp232, (0, 1, 2, 5, 3, 4)) * -1 - t3new += np.transpose(tmp245, (1, 0, 2, 4, 5, 3)) - t3new += np.transpose(tmp245, (2, 0, 1, 4, 5, 3)) * -1 - t3new += np.transpose(tmp220, (1, 0, 2, 5, 3, 4)) * -1 - t3new += np.transpose(tmp220, (2, 0, 1, 5, 3, 4)) - t3new += np.transpose(tmp245, (1, 2, 0, 5, 4, 3)) - t3new += np.transpose(tmp261, (1, 2, 0, 5, 4, 3)) * -1 - t3new += np.transpose(tmp263, (1, 2, 0, 5, 4, 3)) * -1 - t3new += np.transpose(tmp259, (1, 2, 0, 5, 4, 3)) * 2 - t3new += np.transpose(tmp220, (1, 2, 0, 3, 5, 4)) * -1 - del tmp220 - t3new += np.transpose(tmp228, (1, 2, 0, 3, 5, 4)) - t3new += np.transpose(tmp232, (1, 2, 0, 3, 5, 4)) - t3new += np.transpose(tmp230, (1, 2, 0, 3, 5, 4)) * -2 - t3new += np.transpose(tmp261, (2, 1, 0, 4, 5, 3)) * -1 - t3new += np.transpose(tmp259, (2, 1, 0, 4, 5, 3)) * 2 - t3new += np.transpose(tmp263, (2, 1, 0, 4, 5, 3)) * -1 - t3new += np.transpose(tmp228, (2, 1, 0, 5, 3, 4)) - del tmp228 - t3new += np.transpose(tmp230, (2, 1, 0, 5, 3, 4)) * -2 - del tmp230 - t3new += np.transpose(tmp232, (2, 1, 0, 5, 3, 4)) - del tmp232 - t3new += np.transpose(tmp312, (2, 0, 1, 4, 3, 5)) * -1 - t3new += np.transpose(tmp314, (2, 0, 1, 4, 3, 5)) * -1 - t3new += np.transpose(tmp312, (1, 2, 0, 3, 4, 5)) - t3new += np.transpose(tmp312, (0, 2, 1, 3, 4, 5)) * -1 - t3new += np.transpose(tmp312, (1, 0, 2, 4, 3, 5)) - del tmp312 - t3new += np.transpose(tmp245, (0, 1, 2, 4, 3, 5)) - t3new += np.transpose(tmp261, (1, 0, 2, 4, 3, 5)) - t3new += np.transpose(tmp261, (2, 0, 1, 4, 3, 5)) * -1 - del tmp261 - t3new += np.transpose(tmp259, (1, 0, 2, 4, 3, 5)) * -2 - t3new += np.transpose(tmp259, (2, 0, 1, 4, 3, 5)) * 2 - del tmp259 - t3new += np.transpose(tmp263, (1, 0, 2, 4, 3, 5)) - t3new += np.transpose(tmp263, (2, 0, 1, 4, 3, 5)) * -1 - del tmp263 - t3new += np.transpose(tmp245, (2, 1, 0, 4, 3, 5)) * -1 - del tmp245 - t3new += np.transpose(tmp175, (1, 2, 0, 3, 5, 4)) * -1 - t3new += np.transpose(tmp175, (1, 2, 0, 4, 5, 3)) - t3new += np.transpose(tmp284, (2, 1, 0, 5, 4, 3)) - t3new += np.transpose(tmp280, (1, 2, 0, 4, 5, 3)) * -1 - t3new += np.transpose(tmp276, (1, 2, 0, 4, 5, 3)) * 2 - t3new += np.transpose(tmp284, (1, 2, 0, 4, 5, 3)) - t3new += np.transpose(tmp278, (1, 2, 0, 4, 5, 3)) * -1 - t3new += np.transpose(tmp276, (2, 0, 1, 5, 4, 3)) * -2 - t3new += np.transpose(tmp278, (2, 0, 1, 5, 4, 3)) - t3new += np.transpose(tmp280, (2, 0, 1, 5, 4, 3)) - t3new += np.transpose(tmp276, (1, 0, 2, 5, 4, 3)) * 2 - t3new += np.transpose(tmp278, (1, 0, 2, 5, 4, 3)) * -1 - t3new += np.transpose(tmp280, (1, 0, 2, 5, 4, 3)) * -1 - t3new += np.transpose(tmp175, (0, 2, 1, 3, 5, 4)) - t3new += np.transpose(tmp175, (0, 2, 1, 4, 5, 3)) * -1 - del tmp175 - t3new += np.transpose(tmp280, (0, 2, 1, 4, 5, 3)) - del tmp280 - t3new += np.transpose(tmp276, (0, 2, 1, 4, 5, 3)) * -2 - del tmp276 - t3new += np.transpose(tmp284, (0, 2, 1, 4, 5, 3)) * -1 - t3new += np.transpose(tmp278, (0, 2, 1, 4, 5, 3)) - del tmp278 - t3new += np.transpose(tmp284, (0, 1, 2, 5, 4, 3)) * -1 - del tmp284 - t3new += np.transpose(tmp314, (1, 2, 0, 5, 4, 3)) * -1 - t3new += np.transpose(tmp314, (0, 2, 1, 5, 4, 3)) - t3new += np.transpose(tmp309, (0, 2, 1, 3, 5, 4)) - t3new += np.transpose(tmp309, (1, 2, 0, 3, 5, 4)) * -1 - t3new += np.transpose(tmp314, (1, 0, 2, 5, 3, 4)) * -1 - t3new += tmp309 - t3new += np.transpose(tmp314, (0, 1, 2, 3, 5, 4)) * -1 - t3new += np.transpose(tmp314, (0, 1, 2, 4, 5, 3)) - t3new += np.transpose(tmp309, (1, 0, 2, 4, 3, 5)) - t3new += np.transpose(tmp309, (1, 0, 2, 5, 3, 4)) * -1 - t3new += np.transpose(tmp299, (2, 1, 0, 3, 5, 4)) - t3new += np.transpose(tmp296, (1, 0, 2, 3, 5, 4)) * -1 - t3new += np.transpose(tmp296, (2, 0, 1, 3, 5, 4)) - t3new += np.transpose(tmp299, (0, 1, 2, 3, 5, 4)) * -1 - t3new += np.transpose(tmp314, (1, 2, 0, 3, 4, 5)) - t3new += np.transpose(tmp314, (0, 2, 1, 3, 4, 5)) * -1 - t3new += np.transpose(tmp299, (1, 2, 0, 3, 4, 5)) - t3new += np.transpose(tmp296, (1, 2, 0, 3, 4, 5)) * -1 - t3new += np.transpose(tmp314, (1, 0, 2, 4, 3, 5)) - del tmp314 - t3new += np.transpose(tmp299, (0, 2, 1, 3, 4, 5)) * -1 - del tmp299 - t3new += np.transpose(tmp296, (0, 2, 1, 3, 4, 5)) - del tmp296 - t3new += np.transpose(tmp315, (0, 2, 1, 3, 5, 4)) - del tmp315 - t3new += np.transpose(tmp309, (0, 2, 1, 4, 5, 3)) * -1 - t3new += np.transpose(tmp309, (1, 2, 0, 4, 5, 3)) - t3new += np.transpose(tmp306, (0, 1, 2, 3, 5, 4)) * -1 - del tmp306 - t3new += np.transpose(tmp309, (0, 1, 2, 5, 4, 3)) * -1 - del tmp309 - t2new_OOVv = np.copy(np.transpose(tmp49, (2, 1, 3, 0))) - t2new_OOVv += np.transpose(tmp50, (1, 2, 3, 0)) - t2new_OOVv += np.transpose(tmp54, (2, 1, 3, 0)) * -1 - t2new_OOVv += np.transpose(tmp56, (1, 2, 3, 0)) * -1 - t2new_OOvV = np.copy(np.transpose(tmp49, (1, 2, 0, 3))) - del tmp49 - t2new_OOvV += np.transpose(tmp50, (2, 1, 0, 3)) - del tmp50 - t2new_OOvV += np.transpose(tmp54, (1, 2, 0, 3)) * -1 - del tmp54 - t2new_OOvV += np.transpose(tmp56, (2, 1, 0, 3)) * -1 - del tmp56 - t2new_oOVV = np.copy(tmp30) * -1 - t2new_oOVV += np.transpose(tmp31, (0, 1, 3, 2)) * -1 - t2new_oOVV += tmp65 * -1 - t2new_oOVV += np.transpose(tmp66, (0, 1, 3, 2)) * -1 - t2new_OOVV = np.copy(tmp35) - t2new_OOVV += np.transpose(tmp35, (1, 0, 3, 2)) - del tmp35 - t2new_OOVV += tmp37 * -1 - t2new_OOVV += tmp39 * 2 - t2new_OOVV += np.transpose(tmp37, (1, 0, 3, 2)) * -1 - del tmp37 - t2new_OOVV += np.transpose(tmp39, (1, 0, 3, 2)) * 2 - del tmp39 - t2new_OoVV = np.copy(np.transpose(tmp30, (1, 0, 3, 2))) * -1 - del tmp30 - t2new_OoVV += np.transpose(tmp31, (1, 0, 2, 3)) * -1 - del tmp31 - t2new_OoVV += np.transpose(tmp65, (1, 0, 3, 2)) * -1 - del tmp65 - t2new_OoVV += np.transpose(tmp66, (1, 0, 2, 3)) * -1 - del tmp66 - t2new = np.copy(np.transpose(tmp28, (1, 0, 2, 3))) * -1 - t2new += np.transpose(tmp29, (1, 0, 3, 2)) - del tmp29 - t2new += tmp32 - t2new += tmp33 * -2 - t2new += einsum(tmp34, (0, 1, 2, 3), t1, (1, 4), (0, 2, 4, 3)) - del tmp34 - t2new += np.transpose(tmp28, (0, 1, 3, 2)) * -1 - del tmp28 - t2new += np.transpose(tmp32, (1, 0, 3, 2)) - del tmp32 - t2new += np.transpose(tmp33, (1, 0, 3, 2)) * -2 - del tmp33 - t2new += tmp41 * -2 - t2new += tmp43 - t2new += np.transpose(tmp44, (1, 0, 2, 3)) - t2new += np.transpose(tmp46, (1, 0, 2, 3)) * -1 - t2new += np.transpose(tmp47, (1, 0, 3, 2)) * 2 - t2new += np.transpose(tmp48, (1, 0, 3, 2)) * -1 - t2new += np.transpose(tmp51, (1, 0, 3, 2)) * 2 - t2new += np.transpose(tmp52, (1, 0, 3, 2)) * -1 - t2new += np.transpose(tmp43, (1, 0, 3, 2)) - del tmp43 - t2new += np.transpose(tmp41, (1, 0, 3, 2)) * -2 - del tmp41 - t2new += np.transpose(tmp58, (1, 0, 2, 3)) - t2new += np.transpose(tmp60, (1, 0, 2, 3)) * -2 - t2new += np.transpose(tmp44, (0, 1, 3, 2)) - del tmp44 - t2new += np.transpose(tmp46, (0, 1, 3, 2)) * -1 - del tmp46 - t2new += tmp51 * 2 - del tmp51 - t2new += tmp52 * -1 - del tmp52 - t2new += np.transpose(tmp58, (0, 1, 3, 2)) - del tmp58 - t2new += np.transpose(tmp60, (0, 1, 3, 2)) * -2 - del tmp60 - t2new += np.transpose(tmp61, (1, 0, 2, 3)) * -1 - t2new += np.transpose(tmp63, (1, 0, 2, 3)) - t2new += tmp67 - t2new += tmp68 * -2 - t2new += np.transpose(tmp69, (1, 0, 2, 3)) - t2new += np.transpose(tmp70, (1, 0, 2, 3)) * -2 - t2new += np.transpose(tmp72, (1, 0, 2, 3)) - t2new += np.transpose(tmp61, (0, 1, 3, 2)) * -1 - del tmp61 - t2new += np.transpose(tmp63, (0, 1, 3, 2)) - del tmp63 - t2new += np.transpose(tmp74, (0, 1, 3, 2)) * -1 - t2new += np.transpose(tmp67, (1, 0, 3, 2)) - del tmp67 - t2new += np.transpose(tmp68, (1, 0, 3, 2)) * -2 - del tmp68 - t2new += np.transpose(tmp69, (0, 1, 3, 2)) - del tmp69 - t2new += np.transpose(tmp70, (0, 1, 3, 2)) * -2 - del tmp70 - t2new += np.transpose(tmp72, (0, 1, 3, 2)) - del tmp72 - t2new += np.transpose(v.ovov, (0, 2, 1, 3)) - t2new += np.transpose(tmp75, (1, 0, 2, 3)) - t2new += np.transpose(tmp77, (1, 0, 3, 2)) * -1 - t2new += np.transpose(tmp78, (1, 0, 3, 2)) * -1 - t2new += np.transpose(tmp80, (1, 0, 2, 3)) - t2new += np.transpose(tmp81, (1, 0, 3, 2)) * -1 - t2new += np.transpose(tmp82, (0, 1, 3, 2)) * -1 - t2new += tmp84 - t2new += einsum(t2, (0, 1, 2, 3), tmp85, (4, 1, 5, 2), (4, 0, 3, 5)) - del tmp85 - t2new += np.transpose(tmp86, (1, 0, 3, 2)) * -1 - t2new += np.transpose(tmp88, (1, 0, 2, 3)) * -2 - t2new += np.transpose(tmp90, (1, 0, 2, 3)) - t2new += np.transpose(tmp92, (1, 0, 2, 3)) - t2new += np.transpose(tmp93, (1, 0, 3, 2)) - t2new += tmp95 * -2 - del tmp95 - t2new += np.transpose(tmp96, (1, 0, 3, 2)) * -2 - t2new += tmp97 * 4 - del tmp97 - t2new += tmp93 - del tmp93 - t2new += tmp96 * -2 - del tmp96 - t2new += einsum(t2, (0, 1, 2, 3), tmp48, (4, 1, 5, 2), (4, 0, 5, 3)) - t2new += tmp81 * -1 - del tmp81 - t2new += np.transpose(tmp82, (1, 0, 2, 3)) * -1 - del tmp82 - t2new += np.transpose(tmp84, (1, 0, 3, 2)) - del tmp84 - t2new += np.transpose(tmp75, (0, 1, 3, 2)) - del tmp75 - t2new += einsum(t1, (0, 1), tmp98, (2, 3, 1, 4), (0, 2, 3, 4)) - del tmp98 - t2new += tmp100 - del tmp100 - t2new += np.transpose(tmp102, (1, 0, 3, 2)) * -1 - t2new += einsum(tmp103, (0, 1, 2, 3), t1, (2, 4), (0, 1, 4, 3)) - del tmp103 - t2new += np.transpose(tmp104, (0, 1, 3, 2)) * -1 - t2new += np.transpose(tmp105, (0, 1, 3, 2)) * 2 - t2new += np.transpose(tmp106, (0, 1, 3, 2)) * -1 - t2new += tmp108 - t2new += tmp110 * -2 - t2new += tmp112 - t2new += tmp47 * 2 - del tmp47 - t2new += tmp48 * -1 - del tmp48 - t2new += tmp86 * -1 - del tmp86 - t2new += np.transpose(tmp88, (0, 1, 3, 2)) * -2 - del tmp88 - t2new += np.transpose(tmp90, (0, 1, 3, 2)) - del tmp90 - t2new += np.transpose(tmp92, (0, 1, 3, 2)) - del tmp92 - t2new += np.transpose(tmp113, (1, 0, 3, 2)) - del tmp113 - t2new += np.transpose(tmp115, (1, 0, 3, 2)) * -1 - t2new += tmp117 - del tmp117 - t2new += tmp119 - del tmp119 - t2new += np.transpose(tmp104, (1, 0, 2, 3)) * -1 - del tmp104 - t2new += np.transpose(tmp105, (1, 0, 2, 3)) * 2 - del tmp105 - t2new += np.transpose(tmp106, (1, 0, 2, 3)) * -1 - del tmp106 - t2new += np.transpose(tmp108, (1, 0, 3, 2)) - del tmp108 - t2new += np.transpose(tmp110, (1, 0, 3, 2)) * -2 - del tmp110 - t2new += np.transpose(tmp112, (1, 0, 3, 2)) - del tmp112 - t2new += tmp77 * -1 - del tmp77 - t2new += tmp78 * -1 - del tmp78 - t2new += np.transpose(tmp80, (0, 1, 3, 2)) - del tmp80 - t2new += tmp115 * -1 - del tmp115 - t2new += np.transpose(tmp74, (1, 0, 2, 3)) * -1 - del tmp74 - t2new += tmp102 * -1 - del tmp102 - t1new_OV = np.copy(tmp20) * 0.5 - del tmp20 - t1new_OV += tmp21 * -0.5 - del tmp21 - t1new_OV += tmp22 * 1.5 - del tmp22 - t1new_OV += tmp23 * 0.5 - del tmp23 - t1new = np.copy(f.ov) - t1new += einsum(t1, (0, 1), f.vv, (2, 1), (0, 2)) - t1new += einsum(t1, (0, 1), tmp0, (0, 2), (2, 1)) * -1 - del tmp0 - t1new += tmp1 * 2 - del tmp1 - t1new += tmp2 * 2 - del tmp2 - t1new += tmp3 * -1 - del tmp3 - t1new += tmp5 * -2 - del tmp5 - t1new += tmp6 - del tmp6 - t1new += tmp8 * -2 - del tmp8 - t1new += tmp10 - del tmp10 - t1new += tmp12 * 2 - del tmp12 - t1new += einsum(tmp13, (0, 1), t1, (2, 0), (2, 1)) * -1 - del tmp13 - t1new += einsum(t1, (0, 1), tmp15, (2, 0), (2, 1)) - del tmp15 - t1new += tmp17 * -2 - del tmp17 - t1new += einsum(t1, (0, 1), f.oo, (2, 0), (2, 1)) * -1 - t1new += einsum(f.ov, (0, 1), t2, (2, 0, 1, 3), (2, 3)) * -1 - t1new += einsum(t2, (0, 1, 2, 3), f.ov, (1, 3), (0, 2)) * 2 - t1new += einsum(t1, (0, 1), v.oovv, (2, 0, 3, 1), (2, 3)) * -1 - t1new += tmp18 - del tmp18 - t1new += tmp19 * -2 - del tmp19 - t1new += einsum(tmp14, (0, 1), t2, (2, 0, 1, 3), (2, 3)) - t1new += einsum(t2, (0, 1, 2, 3), tmp14, (1, 3), (0, 2)) * -2 - del tmp14 - t1new += tmp24 * -2 - del tmp24 - t1new += tmp25 * 4 - del tmp25 - t1new += einsum(t1, (0, 1), tmp26, (2, 0), (2, 1)) - del tmp26 - t1new += einsum(tmp27, (0, 1), t1, (1, 2), (0, 2)) * -2 - del tmp27 - - t2new += _inflate(t2new.shape, np.ix_(sO, sO, sV, sV), t2new_OOVV) - t1new += _inflate(t1new.shape, np.ix_(sO, sV), t1new_OV) - t2new += _inflate(t2new.shape, np.ix_(sO, sO, sV, sv), t2new_OOVv) - t2new += _inflate(t2new.shape, np.ix_(sO, so, sV, sV), t2new_OoVV) - t2new += _inflate(t2new.shape, np.ix_(sO, sO, sv, sV), t2new_OOvV) - t2new += _inflate(t2new.shape, np.ix_(so, sO, sV, sV), t2new_oOVV) - - return {f"t1new": t1new, f"t2new": t2new, f"t3new": t3new} - diff --git a/ebcc/codegen/bootstrap_CCSDwtwp.py b/ebcc/codegen/bootstrap_CCSDwtwp.py index 475f0f52..5b343047 100644 --- a/ebcc/codegen/bootstrap_CCSDwtwp.py +++ b/ebcc/codegen/bootstrap_CCSDwtwp.py @@ -141,6 +141,7 @@ def _substitute(tensor): # Optimise output_expr = optimise(new_output, new_expr, strategy="exhaust" if spin != "uhf" else "greedy") + output_expr = [(o, e.apply(lambda tensor: tensor.canonicalise(), Tensor)) for o, e in output_expr] # Generate the T amplitude code for name, codegen in code_generators.items(): From 6e24dc5229cae8c1a1e7081e270661024478fa24 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Sat, 23 Nov 2024 11:37:17 +0000 Subject: [PATCH 151/168] Missed statements --- ebcc/codegen/bootstrap_DFDCD.py | 4 ++-- ebcc/codegen/bootstrap_DFDCSD.py | 2 +- ebcc/codegen/bootstrap_MPn.py | 4 ++-- ebcc/codegen/bootstrap_common.py | 2 ++ 4 files changed, 7 insertions(+), 5 deletions(-) diff --git a/ebcc/codegen/bootstrap_DFDCD.py b/ebcc/codegen/bootstrap_DFDCD.py index 4e49f1cd..5e5b2520 100644 --- a/ebcc/codegen/bootstrap_DFDCD.py +++ b/ebcc/codegen/bootstrap_DFDCD.py @@ -38,8 +38,8 @@ # Get the energy contractions in pdaggerq format pq.clear() pq.set_left_operators([["1"]]) - pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) - pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) + pq.add_st_operator(1.0, ["f"], ["t2"]) + pq.add_st_operator(1.0, ["v"], ["t2"]) pq.simplify() terms = pq.fully_contracted_strings() terms = remove_reference_energy(terms) diff --git a/ebcc/codegen/bootstrap_DFDCSD.py b/ebcc/codegen/bootstrap_DFDCSD.py index 7cca030a..19dd9d21 100644 --- a/ebcc/codegen/bootstrap_DFDCSD.py +++ b/ebcc/codegen/bootstrap_DFDCSD.py @@ -81,7 +81,7 @@ ] # Get the T amplitudes in albert format - output_expr, returns = get_amplitudes([terms], spin, orders=[2], density_fit=True) + output_expr, returns = get_amplitudes([terms_t1, terms_t2], spin, density_fit=True) # Generate the T amplitude code for name, codegen in code_generators.items(): diff --git a/ebcc/codegen/bootstrap_MPn.py b/ebcc/codegen/bootstrap_MPn.py index 96a5d131..3b737095 100644 --- a/ebcc/codegen/bootstrap_MPn.py +++ b/ebcc/codegen/bootstrap_MPn.py @@ -140,7 +140,7 @@ def postamble(): if tuple(key) in {("o", "o", "v", "v") , ("v", "v", "o", "o")}: continue i, j, k, l = ["ov".index(k) for k in key] - codegen.write(f"rdm2.{key} = np.zeros((t1.shape[{i}], t1.shape[{j}], t1.shape[{k}], t1.shape[{l}]))") + codegen.write(f"rdm2.{''.join(key)} = np.zeros((t1.shape[{i}], t1.shape[{j}], t1.shape[{k}], t1.shape[{l}]))") codegen.write("rdm2 = pack_2e(rdm2.oooo, rdm2.ooov, rdm2.oovo, rdm2.ovoo, rdm2.vooo, rdm2.oovv, rdm2.ovov, rdm2.ovvo, rdm2.voov, rdm2.vovo, rdm2.vvoo, rdm2.ovvv, rdm2.vovv, rdm2.vvov, rdm2.vvvo, rdm2.vvvv).transpose((0, 2, 1, 3))") else: for s in ("aaaa", "aabb", "bbbb"): @@ -149,7 +149,7 @@ def postamble(): continue i, j, k, l = ["ov".index(k) for k in key] si, sj, sk, sl = s - codegen.write(f"rdm2.{si+sj+sk+sl}.{key} = np.zeros((t1.{si}.shape[{i}], t1.{sj}.shape[{j}], t1.{sk}.shape[{k}], t1.{sl}.shape[{l}]))") + codegen.write(f"rdm2.{si+sj+sk+sl}.{''.join(key)} = np.zeros((t1.{si}.shape[{i}], t1.{sj}.shape[{j}], t1.{sk}.shape[{k}], t1.{sl}.shape[{l}]))") codegen.write("rdm2.aaaa = pack_2e(rdm2.aaaa.oooo, rdm2.aaaa.ooov, rdm2.aaaa.oovo, rdm2.aaaa.ovoo, rdm2.aaaa.vooo, rdm2.aaaa.oovv, rdm2.aaaa.ovov, rdm2.aaaa.ovvo, rdm2.aaaa.voov, rdm2.aaaa.vovo, rdm2.aaaa.vvoo, rdm2.aaaa.ovvv, rdm2.aaaa.vovv, rdm2.aaaa.vvov, rdm2.aaaa.vvvo, rdm2.aaaa.vvvv).transpose((0, 2, 1, 3))") codegen.write("rdm2.aabb = pack_2e(rdm2.abab.oooo, rdm2.abab.ooov, rdm2.abab.oovo, rdm2.abab.ovoo, rdm2.abab.vooo, rdm2.abab.oovv, rdm2.abab.ovov, rdm2.abab.ovvo, rdm2.abab.voov, rdm2.abab.vovo, rdm2.abab.vvoo, rdm2.abab.ovvv, rdm2.abab.vovv, rdm2.abab.vvov, rdm2.abab.vvvo, rdm2.abab.vvvv).transpose((0, 2, 1, 3))") codegen.write("rdm2.bbbb = pack_2e(rdm2.bbbb.oooo, rdm2.bbbb.ooov, rdm2.bbbb.oovo, rdm2.bbbb.ovoo, rdm2.bbbb.vooo, rdm2.bbbb.oovv, rdm2.bbbb.ovov, rdm2.bbbb.ovvo, rdm2.bbbb.voov, rdm2.bbbb.vovo, rdm2.bbbb.vvoo, rdm2.bbbb.ovvv, rdm2.bbbb.vovv, rdm2.bbbb.vvov, rdm2.bbbb.vvvo, rdm2.bbbb.vvvv).transpose((0, 2, 1, 3))") diff --git a/ebcc/codegen/bootstrap_common.py b/ebcc/codegen/bootstrap_common.py index 9322e777..1fbbcbf3 100644 --- a/ebcc/codegen/bootstrap_common.py +++ b/ebcc/codegen/bootstrap_common.py @@ -47,6 +47,8 @@ def get_amplitudes(terms_grouped, spin, strategy="exhaust", which="t", orders=No for index_spins in get_amplitude_spins(indices[: n + 1], indices[n + 1 :], spin): expr_n = import_from_pdaggerq(terms, index_spins=index_spins) expr_n = spin_integrate(expr_n, spin) + if density_fit: + expr_n = tuple(_density_fit(e) for e in expr_n) output_n = [Tensor(*tuple(sorted(e.external_indices, key=lambda i: indices.index(i.name))), name=f"{which}{order}new") for e in expr_n] returns_n = (output_n[0],) expr.extend(expr_n) From 9566ef34640f2784fc0669c3058d2c0b44d403d5 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Sat, 23 Nov 2024 15:51:55 +0000 Subject: [PATCH 152/168] Hardcore CCSDT for now --- .github/workflows/bootstrap_all.sh | 4 +- ebcc/codegen/GCCSDT.py | 1692 +++++ ebcc/codegen/RCCSDT.py | 6763 ++++++++++++++++++++ ebcc/codegen/UCCSDT.py | 9150 ++++++++++++++++++++++++++++ ebcc/codegen/bootstrap_MPn.py | 14 +- 5 files changed, 17614 insertions(+), 9 deletions(-) create mode 100644 ebcc/codegen/GCCSDT.py create mode 100644 ebcc/codegen/RCCSDT.py create mode 100644 ebcc/codegen/UCCSDT.py diff --git a/.github/workflows/bootstrap_all.sh b/.github/workflows/bootstrap_all.sh index 61f7a69f..46b19acc 100644 --- a/.github/workflows/bootstrap_all.sh +++ b/.github/workflows/bootstrap_all.sh @@ -27,7 +27,7 @@ for method in CCSDwtwp; do done done -for method in CC3 CCSDT; do +for method in CC3; do for i in rhf uhf ghf; do echo "Bootstrapping $method ($i)" python -W ignore bootstrap_${method}.py $i &> output_${method}_${i}.dat & @@ -63,7 +63,7 @@ for method in CCSDwtwp; do done done -for method in CC3 CCSDT; do +for method in CC3; do for i in rhf uhf ghf; do echo "Output for $method ($i)" cat output_${method}_${i}.dat diff --git a/ebcc/codegen/GCCSDT.py b/ebcc/codegen/GCCSDT.py new file mode 100644 index 00000000..c0bf1564 --- /dev/null +++ b/ebcc/codegen/GCCSDT.py @@ -0,0 +1,1692 @@ +# Code generated for ebcc. + +from ebcc import numpy as np +from ebcc.util import pack_2e, einsum, Namespace +from ebcc.precision import types + +def energy(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, t3=None, **kwargs): + # energy + e_cc = 0 + e_cc += einsum(f.ov, (0, 1), t1, (0, 1), ()) + x0 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x0 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) + x0 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) * 2.0 + e_cc += einsum(v.oovv, (0, 1, 2, 3), x0, (0, 1, 2, 3), ()) * 0.25 + del x0 + + return e_cc + +def update_amps(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, t3=None, **kwargs): + # T amplitudes + t1new = np.zeros((nocc, nvir), dtype=types[float]) + t1new += einsum(f.vv, (0, 1), t1, (2, 1), (2, 0)) + t1new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 0, 1, 5, 2, 3), (4, 5)) * 0.25 + t1new += einsum(f.ov, (0, 1), (0, 1)) + t1new += einsum(t1, (0, 1), v.ovov, (2, 1, 0, 3), (2, 3)) * -1.0 + t2new = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + t2new += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) + x0 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x0 += einsum(t1, (0, 1), v.oovv, (2, 3, 4, 1), (0, 2, 3, 4)) + x1 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x1 += einsum(v.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 + x1 += einsum(x0, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + t1new += einsum(t2, (0, 1, 2, 3), x1, (4, 1, 0, 3), (4, 2)) * -0.5 + del x1 + x2 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x2 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) + x2 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) * 2.0 + t1new += einsum(v.ovvv, (0, 1, 2, 3), x2, (0, 4, 2, 3), (4, 1)) * 0.5 + x3 = np.zeros((nocc, nvir), dtype=types[float]) + x3 += einsum(t1, (0, 1), v.oovv, (2, 0, 3, 1), (2, 3)) + x4 = np.zeros((nocc, nvir), dtype=types[float]) + x4 += einsum(f.ov, (0, 1), (0, 1)) + x4 += einsum(x3, (0, 1), (0, 1)) + del x3 + t1new += einsum(x4, (0, 1), t2, (2, 0, 3, 1), (2, 3)) + t2new += einsum(x4, (0, 1), t3, (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) + x5 = np.zeros((nocc, nocc), dtype=types[float]) + x5 += einsum(f.ov, (0, 1), t1, (2, 1), (0, 2)) + x6 = np.zeros((nocc, nocc), dtype=types[float]) + x6 += einsum(t1, (0, 1), v.ooov, (2, 0, 3, 1), (2, 3)) + x7 = np.zeros((nocc, nocc), dtype=types[float]) + x7 += einsum(v.oovv, (0, 1, 2, 3), x2, (1, 4, 2, 3), (4, 0)) * -1.0 + x8 = np.zeros((nocc, nocc), dtype=types[float]) + x8 += einsum(f.oo, (0, 1), (0, 1)) * 2.0 + x8 += einsum(x5, (0, 1), (0, 1)) * 2.0 + x8 += einsum(x6, (0, 1), (0, 1)) * 2.0 + x8 += einsum(x7, (0, 1), (1, 0)) + t1new += einsum(t1, (0, 1), x8, (0, 2), (2, 1)) * -0.5 + del x8 + x9 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x9 += einsum(t1, (0, 1), v.ovvv, (2, 1, 3, 4), (0, 2, 3, 4)) + x10 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x10 += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 0, 1, 5, 6, 3), (4, 2, 5, 6)) + x11 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x11 += einsum(x0, (0, 1, 2, 3), t3, (4, 2, 1, 5, 6, 3), (0, 4, 5, 6)) + x12 = np.zeros((nocc, nocc), dtype=types[float]) + x12 += einsum(t1, (0, 1), x4, (2, 1), (2, 0)) + x13 = np.zeros((nocc, nocc), dtype=types[float]) + x13 += einsum(f.oo, (0, 1), (0, 1)) + x13 += einsum(x12, (0, 1), (1, 0)) + del x12 + x14 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x14 += einsum(x13, (0, 1), t2, (2, 1, 3, 4), (2, 0, 3, 4)) * -1.0 + del x13 + x15 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x15 += einsum(t1, (0, 1), v.ooov, (2, 3, 4, 1), (0, 2, 3, 4)) + x16 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x16 += einsum(x15, (0, 1, 2, 3), x2, (1, 2, 4, 5), (0, 3, 4, 5)) * 0.5 + x17 = np.zeros((nocc, nocc), dtype=types[float]) + x17 += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 2, 3), (0, 4)) + x18 = np.zeros((nocc, nocc), dtype=types[float]) + x18 += einsum(x6, (0, 1), (0, 1)) + x18 += einsum(x17, (0, 1), (1, 0)) * 0.5 + del x17 + x19 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x19 += einsum(x18, (0, 1), t2, (2, 0, 3, 4), (2, 1, 3, 4)) * -1.0 + del x18 + x20 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x20 += einsum(x9, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x9 + x20 += einsum(x10, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.5 + del x10 + x20 += einsum(x11, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.5 + del x11 + x20 += einsum(x14, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x14 + x20 += einsum(x16, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x16 + x20 += einsum(x19, (0, 1, 2, 3), (0, 1, 3, 2)) + del x19 + t2new += einsum(x20, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + t2new += einsum(x20, (0, 1, 2, 3), (1, 0, 2, 3)) + del x20 + x21 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x21 += einsum(t1, (0, 1), v.ooov, (2, 3, 0, 4), (2, 3, 1, 4)) + x22 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x22 += einsum(f.vv, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4)) + x23 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x23 += einsum(x21, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x21 + x23 += einsum(x22, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x22 + t2new += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + t2new += einsum(x23, (0, 1, 2, 3), (0, 1, 3, 2)) + del x23 + x24 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x24 += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 0, 6, 2, 3), (4, 5, 6, 1)) + x25 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x25 += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 3), (0, 4, 2, 5)) + x26 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x26 += einsum(t2, (0, 1, 2, 3), x25, (4, 1, 5, 3), (0, 4, 2, 5)) + x27 = np.zeros((nvir, nvir), dtype=types[float]) + x27 += einsum(t1, (0, 1), v.ovvv, (0, 2, 3, 1), (2, 3)) + x28 = np.zeros((nvir, nvir), dtype=types[float]) + x28 += einsum(t2, (0, 1, 2, 3), v.oovv, (0, 1, 4, 3), (2, 4)) + x29 = np.zeros((nvir, nvir), dtype=types[float]) + x29 += einsum(x27, (0, 1), (0, 1)) + x29 += einsum(x28, (0, 1), (0, 1)) * 0.5 + del x28 + x30 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x30 += einsum(x29, (0, 1), t2, (2, 3, 4, 1), (2, 3, 4, 0)) * -1.0 + del x29 + x31 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x31 += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 1, 6, 2, 3), (4, 5, 0, 6)) + x32 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x32 += einsum(v.ovvv, (0, 1, 2, 3), x2, (4, 5, 2, 3), (0, 4, 5, 1)) * 0.5 + x33 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x33 += einsum(x4, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4)) * -1.0 + x34 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x34 += einsum(x31, (0, 1, 2, 3), (2, 1, 0, 3)) * -0.5 + x34 += einsum(x32, (0, 1, 2, 3), (0, 2, 1, 3)) + del x32 + x34 += einsum(x33, (0, 1, 2, 3), (2, 1, 0, 3)) + del x33 + x35 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x35 += einsum(t1, (0, 1), x34, (0, 2, 3, 4), (2, 3, 4, 1)) + del x34 + x36 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x36 += einsum(x24, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 + del x24 + x36 += einsum(x26, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x26 + x36 += einsum(x30, (0, 1, 2, 3), (1, 0, 2, 3)) + del x30 + x36 += einsum(x35, (0, 1, 2, 3), (1, 0, 3, 2)) + del x35 + t2new += einsum(x36, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + t2new += einsum(x36, (0, 1, 2, 3), (0, 1, 3, 2)) + del x36 + x37 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x37 += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 3, 1, 5), (0, 4, 2, 5)) + x38 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x38 += einsum(t1, (0, 1), v.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) + x39 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x39 += einsum(t2, (0, 1, 2, 3), x38, (4, 1, 5, 3), (4, 0, 2, 5)) * -1.0 + x40 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x40 += einsum(t1, (0, 1), v.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) + x41 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x41 += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 1, 5, 3), (0, 4, 5, 2)) + x42 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x42 += einsum(t2, (0, 1, 2, 3), x0, (4, 1, 5, 3), (4, 0, 5, 2)) + x43 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x43 += einsum(x40, (0, 1, 2, 3), (0, 1, 2, 3)) + x43 += einsum(x41, (0, 1, 2, 3), (0, 1, 2, 3)) + x43 += einsum(x42, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x44 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x44 += einsum(t1, (0, 1), x43, (2, 0, 3, 4), (2, 3, 4, 1)) + del x43 + x45 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x45 += einsum(x37, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x37 + x45 += einsum(x39, (0, 1, 2, 3), (0, 1, 2, 3)) + del x39 + x45 += einsum(x44, (0, 1, 2, 3), (0, 1, 3, 2)) + del x44 + t2new += einsum(x45, (0, 1, 2, 3), (0, 1, 2, 3)) + t2new += einsum(x45, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + t2new += einsum(x45, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + t2new += einsum(x45, (0, 1, 2, 3), (1, 0, 3, 2)) + del x45 + x46 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x46 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 + x46 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) + t2new += einsum(v.vvvv, (0, 1, 2, 3), x46, (4, 5, 2, 3), (5, 4, 0, 1)) * -1.0 + del x46 + x47 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x47 += einsum(v.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x47 += einsum(v.oovv, (0, 1, 2, 3), x2, (4, 5, 2, 3), (0, 1, 5, 4)) * -1.0 + t2new += einsum(x2, (0, 1, 2, 3), x47, (0, 1, 4, 5), (4, 5, 3, 2)) * -0.25 + del x47 + x48 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x48 += einsum(x15, (0, 1, 2, 3), t3, (4, 1, 2, 5, 6, 7), (0, 4, 3, 5, 6, 7)) + t3new = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + t3new += einsum(x48, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 0.5 + t3new += einsum(x48, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -0.5 + t3new += einsum(x48, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -0.5 + t3new += einsum(x48, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * 0.5 + t3new += einsum(x48, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 0.5 + t3new += einsum(x48, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -0.5 + del x48 + x49 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x49 += einsum(v.ovov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 1), (4, 5, 0, 6, 7, 3)) + x50 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x50 += einsum(v.ooov, (0, 1, 2, 3), x2, (0, 1, 4, 5), (2, 3, 4, 5)) + x51 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x51 += einsum(t2, (0, 1, 2, 3), x50, (4, 3, 5, 6), (0, 1, 4, 2, 6, 5)) * 0.5 + del x50 + x52 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x52 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 3, 1)) * 2.0 + x52 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x53 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x53 += einsum(v.ovvv, (0, 1, 2, 3), x52, (4, 5, 2, 3), (0, 4, 5, 1)) + x54 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x54 += einsum(t2, (0, 1, 2, 3), x53, (1, 4, 5, 6), (0, 5, 4, 2, 3, 6)) * 0.5 + del x53 + x55 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x55 += einsum(x49, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 + del x49 + x55 += einsum(x51, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -1.0 + del x51 + x55 += einsum(x54, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) + del x54 + t3new += einsum(x55, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 + t3new += einsum(x55, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) + t3new += einsum(x55, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -1.0 + t3new += einsum(x55, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) + t3new += einsum(x55, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + t3new += einsum(x55, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) + t3new += einsum(x55, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) + t3new += einsum(x55, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -1.0 + t3new += einsum(x55, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) + del x55 + x56 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x56 += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 0, 1, 5, 6, 3), (4, 5, 6, 2)) + x57 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x57 += einsum(x4, (0, 1), t2, (2, 0, 3, 4), (2, 3, 4, 1)) * -1.0 + del x4 + x58 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x58 += einsum(v.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) + x58 += einsum(x56, (0, 1, 2, 3), (0, 2, 1, 3)) * 0.5 + del x56 + x58 += einsum(x57, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + del x57 + x59 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x59 += einsum(t2, (0, 1, 2, 3), x58, (4, 5, 6, 3), (0, 1, 4, 2, 5, 6)) * -1.0 + del x58 + x60 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x60 += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (4, 5, 0, 2, 6, 7)) + x61 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x61 += einsum(v.oovv, (0, 1, 2, 3), x52, (4, 5, 2, 3), (0, 1, 4, 5)) + del x52 + x62 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x62 += einsum(t2, (0, 1, 2, 3), x61, (4, 1, 5, 6), (0, 6, 5, 4, 2, 3)) * -0.5 + x63 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x63 += einsum(x60, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 + del x60 + x63 += einsum(x62, (0, 1, 2, 3, 4, 5), (2, 1, 3, 0, 5, 4)) * -1.0 + del x62 + x64 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x64 += einsum(t1, (0, 1), x63, (2, 3, 0, 4, 5, 6), (2, 3, 4, 5, 6, 1)) + del x63 + x65 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x65 += einsum(x59, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * -1.0 + del x59 + x65 += einsum(x64, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -1.0 + del x64 + t3new += einsum(x65, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 + t3new += einsum(x65, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) + t3new += einsum(x65, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -1.0 + t3new += einsum(x65, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) + t3new += einsum(x65, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -1.0 + t3new += einsum(x65, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) + t3new += einsum(x65, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) + t3new += einsum(x65, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -1.0 + t3new += einsum(x65, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) + del x65 + x66 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x66 += einsum(x6, (0, 1), t3, (2, 3, 0, 4, 5, 6), (2, 3, 1, 4, 5, 6)) * -1.0 + del x6 + x67 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x67 += einsum(x61, (0, 1, 2, 3), t3, (4, 1, 0, 5, 6, 7), (4, 3, 2, 5, 6, 7)) * -0.25 + del x61 + x68 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x68 += einsum(x66, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) + del x66 + x68 += einsum(x67, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -1.0 + del x67 + t3new += einsum(x68, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) + t3new += einsum(x68, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -1.0 + t3new += einsum(x68, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * -1.0 + del x68 + x69 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x69 += einsum(t2, (0, 1, 2, 3), x41, (4, 1, 5, 6), (0, 4, 5, 2, 3, 6)) + del x41 + x70 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x70 += einsum(x40, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + del x40 + x70 += einsum(x42, (0, 1, 2, 3), (0, 1, 2, 3)) + del x42 + x71 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x71 += einsum(t2, (0, 1, 2, 3), x70, (4, 5, 1, 6), (0, 4, 5, 2, 3, 6)) * -1.0 + del x70 + x72 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x72 += einsum(x69, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 + del x69 + x72 += einsum(x71, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) + del x71 + t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 + t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) + t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 + t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -1.0 + t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * -1.0 + t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) + t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 + t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) + t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) * -1.0 + t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) + t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) + t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -1.0 + t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) + t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -1.0 + t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) + t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * -1.0 + del x72 + x73 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x73 += einsum(t1, (0, 1), x15, (2, 0, 3, 4), (2, 3, 4, 1)) * -1.0 + del x15 + x74 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x74 += einsum(t2, (0, 1, 2, 3), x73, (4, 1, 5, 6), (4, 0, 5, 6, 2, 3)) * -1.0 + del x73 + t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) + t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -1.0 + t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) + t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) + t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -1.0 + t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * -1.0 + t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) + t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -1.0 + t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) + t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 + t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) + t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) + t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -1.0 + t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) + t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -1.0 + t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) + t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -1.0 + del x74 + x75 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x75 += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 2, 3), (4, 5, 6, 0, 7, 1)) + x76 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x76 += einsum(t1, (0, 1), x75, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) + del x75 + t3new += einsum(x76, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 0.5 + t3new += einsum(x76, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -0.5 + t3new += einsum(x76, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -0.5 + t3new += einsum(x76, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * 0.5 + t3new += einsum(x76, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 0.5 + t3new += einsum(x76, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -0.5 + del x76 + x77 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x77 += einsum(x38, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (0, 4, 5, 6, 7, 2)) * -1.0 + x78 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x78 += einsum(x0, (0, 1, 2, 3), x2, (1, 2, 4, 5), (0, 3, 4, 5)) + del x0 + x79 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x79 += einsum(t2, (0, 1, 2, 3), x78, (4, 3, 5, 6), (0, 1, 4, 2, 6, 5)) * 0.5 + del x78 + x80 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x80 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x80 += einsum(x31, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 + del x31 + x81 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x81 += einsum(t2, (0, 1, 2, 3), x80, (4, 5, 1, 6), (0, 4, 5, 2, 3, 6)) * -1.0 + del x80 + x82 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x82 += einsum(x77, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) + del x77 + x82 += einsum(x79, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) + del x79 + x82 += einsum(x81, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 + del x81 + t3new += einsum(x82, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 + t3new += einsum(x82, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) + t3new += einsum(x82, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -1.0 + t3new += einsum(x82, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) * -1.0 + t3new += einsum(x82, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) + t3new += einsum(x82, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 + t3new += einsum(x82, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) + t3new += einsum(x82, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -1.0 + t3new += einsum(x82, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) + del x82 + x83 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x83 += einsum(x27, (0, 1), t3, (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 6, 0)) * -1.0 + del x27 + x84 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) + x84 += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 2, 3), (4, 5, 6, 0, 1, 7)) + x85 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x85 += einsum(x2, (0, 1, 2, 3), x84, (4, 5, 6, 0, 1, 7), (4, 5, 6, 2, 3, 7)) * 0.25 + del x84 + x86 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x86 += einsum(x83, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 + del x83 + x86 += einsum(x85, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 + del x85 + t3new += einsum(x86, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + t3new += einsum(x86, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 + t3new += einsum(x86, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) + del x86 + x87 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x87 += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 3), (0, 2, 4, 5)) + x88 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x88 += einsum(t2, (0, 1, 2, 3), x87, (4, 5, 6, 3), (0, 1, 4, 2, 5, 6)) + del x87 + x89 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x89 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 + x89 += einsum(x25, (0, 1, 2, 3), (0, 1, 2, 3)) + del x25 + x90 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x90 += einsum(t2, (0, 1, 2, 3), x89, (4, 5, 6, 3), (0, 1, 4, 5, 2, 6)) * -1.0 + del x89 + x91 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x91 += einsum(t1, (0, 1), x90, (2, 3, 4, 0, 5, 6), (3, 2, 4, 5, 6, 1)) * -1.0 + del x90 + x92 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x92 += einsum(x88, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x88 + x92 += einsum(x91, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -1.0 + del x91 + t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 + t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 + t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) + t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) + t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -1.0 + t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 + t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) + t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -1.0 + t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 + t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) + t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -1.0 + t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) + t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) + t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * -1.0 + t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -1.0 + t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) + del x92 + x93 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x93 += einsum(t2, (0, 1, 2, 3), x38, (4, 5, 6, 3), (4, 0, 1, 5, 2, 6)) * -1.0 + del x38 + x94 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x94 += einsum(t1, (0, 1), x93, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) + del x93 + t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) + t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -1.0 + t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) + t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) + t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -1.0 + t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) + t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * -1.0 + t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 + t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) + t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) + t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -1.0 + t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) * -1.0 + t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) + t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) + t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -1.0 + t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 + t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) + del x94 + x95 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x95 += einsum(v.vvvv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 2, 3), (4, 5, 6, 7, 0, 1)) + x96 = np.zeros((nvir, nvir), dtype=types[float]) + x96 += einsum(f.ov, (0, 1), t1, (0, 2), (1, 2)) + x97 = np.zeros((nvir, nvir), dtype=types[float]) + x97 += einsum(v.oovv, (0, 1, 2, 3), x2, (0, 1, 3, 4), (4, 2)) * -1.0 + del x2 + x98 = np.zeros((nvir, nvir), dtype=types[float]) + x98 += einsum(f.vv, (0, 1), (0, 1)) * -2.0 + x98 += einsum(x96, (0, 1), (0, 1)) * 2.0 + del x96 + x98 += einsum(x97, (0, 1), (1, 0)) + del x97 + x99 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x99 += einsum(x98, (0, 1), t3, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 6, 1)) * 0.5 + del x98 + x100 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x100 += einsum(x95, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -0.5 + del x95 + x100 += einsum(x99, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -1.0 + del x99 + t3new += einsum(x100, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + t3new += einsum(x100, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 + t3new += einsum(x100, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) + del x100 + x101 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x101 += einsum(t1, (0, 1), v.oooo, (2, 3, 4, 0), (2, 3, 4, 1)) + x102 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x102 += einsum(t2, (0, 1, 2, 3), x101, (4, 5, 1, 6), (0, 4, 5, 6, 2, 3)) * -1.0 + del x101 + x103 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x103 += einsum(t1, (0, 1), v.vvvv, (2, 3, 4, 1), (0, 2, 3, 4)) + x104 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x104 += einsum(t2, (0, 1, 2, 3), x103, (4, 5, 6, 3), (4, 0, 1, 2, 5, 6)) * -1.0 + del x103 + x105 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x105 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) + x105 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 3, 1)) * -0.99999999999999 + x106 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x106 += einsum(v.oovv, (0, 1, 2, 3), x105, (1, 4, 3, 5), (0, 4, 2, 5)) + del x105 + x107 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x107 += einsum(x106, (0, 1, 2, 3), t3, (4, 5, 0, 6, 7, 2), (4, 5, 1, 6, 7, 3)) * 1.00000000000001 + del x106 + x108 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x108 += einsum(x102, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + del x102 + x108 += einsum(x104, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + del x104 + x108 += einsum(x107, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 + del x107 + t3new += einsum(x108, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 + t3new += einsum(x108, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) + t3new += einsum(x108, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -1.0 + t3new += einsum(x108, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) * -1.0 + t3new += einsum(x108, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) + t3new += einsum(x108, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * -1.0 + t3new += einsum(x108, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) + t3new += einsum(x108, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -1.0 + t3new += einsum(x108, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) + del x108 + x109 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x109 += einsum(v.oooo, (0, 1, 2, 3), t3, (4, 2, 3, 5, 6, 7), (4, 0, 1, 5, 6, 7)) + x110 = np.zeros((nocc, nocc), dtype=types[float]) + x110 += einsum(f.oo, (0, 1), (0, 1)) * 2.0 + x110 += einsum(x5, (0, 1), (0, 1)) * 2.0 + del x5 + x110 += einsum(x7, (0, 1), (1, 0)) + del x7 + x111 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x111 += einsum(x110, (0, 1), t3, (2, 3, 0, 4, 5, 6), (2, 3, 1, 4, 5, 6)) * 0.5 + del x110 + x112 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x112 += einsum(x109, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -0.5 + del x109 + x112 += einsum(x111, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * -1.0 + del x111 + t3new += einsum(x112, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) + t3new += einsum(x112, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) + t3new += einsum(x112, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * -1.0 + del x112 + + return {"t1new": t1new, "t2new": t2new, "t3new": t3new} + +def update_lams(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, t3=None, l1=None, l2=None, l3=None, **kwargs): + # L amplitudes + l1new = np.zeros((nvir, nocc), dtype=types[float]) + l1new += einsum(l2, (0, 1, 2, 3), v.ovvv, (3, 4, 0, 1), (4, 2)) * -0.5 + l1new += einsum(f.ov, (0, 1), (1, 0)) + l1new += einsum(l1, (0, 1), v.ovov, (2, 0, 1, 3), (3, 2)) * -1.0 + l2new = np.zeros((nvir, nvir, nocc, nocc), dtype=types[float]) + l2new += einsum(v.oovv, (0, 1, 2, 3), (2, 3, 0, 1)) + l2new += einsum(l2, (0, 1, 2, 3), v.vvvv, (4, 5, 0, 1), (4, 5, 2, 3)) * 0.5 + x0 = np.zeros((nocc, nocc), dtype=types[float]) + x0 += einsum(l1, (0, 1), t1, (2, 0), (1, 2)) + x1 = np.zeros((nocc, nvir), dtype=types[float]) + x1 += einsum(t1, (0, 1), v.oovv, (2, 0, 3, 1), (2, 3)) + l1new += einsum(x0, (0, 1), x1, (1, 2), (2, 0)) * -1.0 + l3new = np.zeros((nvir, nvir, nvir, nocc, nocc, nocc), dtype=types[float]) + l3new += einsum(x1, (0, 1), l2, (2, 3, 4, 5), (2, 3, 1, 4, 5, 0)) + l3new += einsum(x1, (0, 1), l2, (2, 3, 4, 5), (2, 1, 3, 4, 5, 0)) * -1.0 + l3new += einsum(x1, (0, 1), l2, (2, 3, 4, 5), (1, 2, 3, 4, 5, 0)) + l3new += einsum(x1, (0, 1), l2, (2, 3, 4, 5), (2, 3, 1, 4, 0, 5)) * -1.0 + l3new += einsum(x1, (0, 1), l2, (2, 3, 4, 5), (2, 1, 3, 4, 0, 5)) + l3new += einsum(x1, (0, 1), l2, (2, 3, 4, 5), (1, 2, 3, 4, 0, 5)) * -1.0 + l3new += einsum(x1, (0, 1), l2, (2, 3, 4, 5), (2, 3, 1, 0, 4, 5)) + l3new += einsum(x1, (0, 1), l2, (2, 3, 4, 5), (2, 1, 3, 0, 4, 5)) * -1.0 + l3new += einsum(x1, (0, 1), l2, (2, 3, 4, 5), (1, 2, 3, 0, 4, 5)) + x2 = np.zeros((nvir, nvir), dtype=types[float]) + x2 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (3, 4, 5, 6, 1, 2), (0, 6)) + l1new += einsum(x2, (0, 1), v.ovvv, (2, 0, 3, 1), (3, 2)) * 0.08333333333333 + x3 = np.zeros((nocc, nocc), dtype=types[float]) + x3 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 4, 5, 0, 1, 2), (3, 6)) + l1new += einsum(x3, (0, 1), v.ooov, (2, 1, 0, 3), (3, 2)) * 0.08333333333333 + x4 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x4 += einsum(t1, (0, 1), v.oovv, (2, 3, 4, 1), (0, 2, 3, 4)) + x5 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x5 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) + x5 += einsum(x4, (0, 1, 2, 3), (2, 1, 0, 3)) + x6 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x6 += einsum(t1, (0, 1), v.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) + x7 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x7 += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 3), (0, 4, 2, 5)) + x8 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x8 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 + x8 += einsum(x6, (0, 1, 2, 3), (0, 1, 2, 3)) + x8 += einsum(x7, (0, 1, 2, 3), (0, 1, 2, 3)) + x9 = np.zeros((nocc, nvir), dtype=types[float]) + x9 += einsum(f.ov, (0, 1), (0, 1)) + x9 += einsum(x1, (0, 1), (0, 1)) + x10 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x10 += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 2, 3), (0, 1, 4, 5)) + x11 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x11 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) + x11 += einsum(x4, (0, 1, 2, 3), (2, 1, 0, 3)) * 0.5 + x12 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x12 += einsum(t1, (0, 1), x11, (2, 3, 4, 1), (0, 2, 3, 4)) * 4.0 + del x11 + x13 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x13 += einsum(v.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x13 += einsum(x10, (0, 1, 2, 3), (3, 2, 1, 0)) + x13 += einsum(x12, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 + x14 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) + x14 += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 2, 3), (4, 5, 6, 0, 1, 7)) + l2new += einsum(l3, (0, 1, 2, 3, 4, 5), x14, (3, 4, 5, 6, 7, 2), (0, 1, 6, 7)) * 0.08333333333333 + x15 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x15 += einsum(v.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 + x15 += einsum(x4, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x16 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) + x16 += einsum(x14, (0, 1, 2, 3, 4, 5), (0, 1, 4, 3, 2, 5)) * 0.16666666666666 + del x14 + x16 += einsum(t2, (0, 1, 2, 3), x15, (4, 5, 6, 3), (0, 1, 6, 5, 4, 2)) + x17 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x17 += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 2, 3), (0, 4, 5, 6, 7, 1)) * 0.66666666666664 + x17 += einsum(x5, (0, 1, 2, 3), t3, (4, 5, 0, 6, 7, 3), (1, 4, 2, 5, 6, 7)) * -2.0 + x17 += einsum(t2, (0, 1, 2, 3), x8, (4, 5, 6, 3), (5, 0, 4, 1, 2, 6)) * -4.0 + del x8 + x17 += einsum(x9, (0, 1), t3, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) * -0.66666666666664 + x17 += einsum(t2, (0, 1, 2, 3), x13, (1, 4, 5, 6), (4, 0, 6, 5, 2, 3)) * -1.0 + x17 += einsum(t1, (0, 1), x16, (2, 3, 4, 0, 5, 6), (4, 3, 5, 2, 6, 1)) * 4.0 + del x16 + l1new += einsum(l3, (0, 1, 2, 3, 4, 5), x17, (6, 3, 4, 5, 2, 1), (0, 6)) * -0.125 + del x17 + x18 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x18 += einsum(t2, (0, 1, 2, 3), l3, (4, 5, 3, 6, 0, 1), (6, 4, 5, 2)) + l2new += einsum(x18, (0, 1, 2, 3), x5, (4, 5, 0, 3), (1, 2, 5, 4)) * -0.5 + x19 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x19 += einsum(t1, (0, 1), l2, (2, 3, 4, 0), (4, 2, 3, 1)) * 2.0 + x19 += einsum(x18, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + l1new += einsum(v.vvvv, (0, 1, 2, 3), x19, (4, 3, 2, 1), (0, 4)) * -0.25 + del x19 + x20 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x20 += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 2, 3), (0, 1, 4, 5)) + x21 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x21 += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 1, 6, 2, 3), (4, 5, 0, 6)) + x22 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x22 += einsum(t2, (0, 1, 2, 3), x15, (4, 1, 5, 3), (0, 4, 5, 2)) * 2.0 + x23 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x23 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + x23 += einsum(x6, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.5 + x24 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x24 += einsum(v.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 + x24 += einsum(x10, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 + x24 += einsum(x12, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 + x25 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x25 += einsum(v.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 + x25 += einsum(x20, (0, 1, 2, 3), (2, 1, 0, 3)) * 0.5 + x25 += einsum(x21, (0, 1, 2, 3), (2, 1, 0, 3)) * -0.5 + x25 += einsum(x22, (0, 1, 2, 3), (2, 0, 1, 3)) + x25 += einsum(x9, (0, 1), t2, (2, 3, 4, 1), (0, 2, 3, 4)) + x25 += einsum(t1, (0, 1), x23, (2, 3, 1, 4), (3, 2, 0, 4)) * -2.0 + del x23 + x25 += einsum(t1, (0, 1), x24, (0, 2, 3, 4), (2, 4, 3, 1)) * -0.5 + del x24 + l1new += einsum(l2, (0, 1, 2, 3), x25, (4, 2, 3, 1), (0, 4)) * 0.5 + del x25 + x26 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x26 += einsum(t1, (0, 1), l3, (2, 3, 1, 4, 5, 6), (4, 5, 6, 0, 2, 3)) + x27 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) + x27 += einsum(t1, (0, 1), x26, (2, 3, 4, 5, 6, 1), (2, 3, 4, 0, 5, 6)) + x28 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x28 += einsum(t1, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2)) + x29 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x29 += einsum(t2, (0, 1, 2, 3), l3, (4, 2, 3, 5, 6, 1), (5, 6, 0, 4)) + x30 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x30 += einsum(x28, (0, 1, 2, 3), (1, 0, 2, 3)) + x30 += einsum(x29, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 + l2new += einsum(v.ovvv, (0, 1, 2, 3), x30, (4, 5, 0, 1), (2, 3, 4, 5)) * -1.0 + x31 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x31 += einsum(l2, (0, 1, 2, 3), t2, (4, 5, 0, 1), (2, 3, 4, 5)) + x32 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x32 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 7, 5, 0, 1, 2), (3, 4, 6, 7)) + x33 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x33 += einsum(x28, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + x33 += einsum(x29, (0, 1, 2, 3), (0, 1, 2, 3)) + x34 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x34 += einsum(x31, (0, 1, 2, 3), (1, 0, 3, 2)) * -3.00000000000012 + x34 += einsum(x32, (0, 1, 2, 3), (0, 1, 3, 2)) + x34 += einsum(t1, (0, 1), x33, (2, 3, 4, 1), (2, 3, 0, 4)) * -6.00000000000024 + x35 = np.zeros((nocc, nocc), dtype=types[float]) + x35 += einsum(l2, (0, 1, 2, 3), t2, (4, 3, 0, 1), (2, 4)) + x36 = np.zeros((nocc, nocc), dtype=types[float]) + x36 += einsum(x35, (0, 1), (0, 1)) + x36 += einsum(x3, (0, 1), (0, 1)) * 0.16666666666666 + x37 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x37 += einsum(l1, (0, 1), t2, (2, 3, 4, 0), (1, 2, 3, 4)) + x37 += einsum(l2, (0, 1, 2, 3), t3, (4, 5, 3, 6, 0, 1), (2, 4, 5, 6)) * 0.5 + x37 += einsum(t3, (0, 1, 2, 3, 4, 5), x26, (6, 1, 2, 7, 5, 4), (6, 0, 7, 3)) * -0.5 + x37 += einsum(t2, (0, 1, 2, 3), x18, (4, 3, 2, 5), (4, 0, 1, 5)) * -0.25 + x37 += einsum(t2, (0, 1, 2, 3), x27, (4, 0, 1, 5, 6, 3), (4, 6, 5, 2)) * -0.5 + x37 += einsum(t2, (0, 1, 2, 3), x30, (4, 1, 5, 3), (4, 0, 5, 2)) * 2.0 + x37 += einsum(t1, (0, 1), x34, (0, 2, 3, 4), (2, 4, 3, 1)) * -0.16666666666666 + del x34 + x37 += einsum(t1, (0, 1), x36, (2, 3), (2, 0, 3, 1)) + del x36 + l1new += einsum(v.oovv, (0, 1, 2, 3), x37, (4, 0, 1, 3), (2, 4)) * 0.5 + del x37 + x38 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x38 += einsum(t2, (0, 1, 2, 3), x26, (4, 0, 1, 5, 3, 6), (4, 5, 6, 2)) + x39 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x39 += einsum(x28, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + x39 += einsum(x29, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 + l1new += einsum(v.ovov, (0, 1, 2, 3), x39, (0, 4, 2, 3), (1, 4)) + x40 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x40 += einsum(x38, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 + x40 += einsum(t1, (0, 1), x39, (0, 2, 3, 4), (2, 3, 4, 1)) * -1.0 + l1new += einsum(v.ovvv, (0, 1, 2, 3), x40, (4, 0, 1, 3), (2, 4)) + del x40 + x41 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x41 += einsum(l2, (0, 1, 2, 3), t2, (4, 3, 5, 1), (2, 4, 0, 5)) + x42 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x42 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 4, 5, 7, 1, 2), (3, 6, 0, 7)) + x43 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x43 += einsum(x41, (0, 1, 2, 3), (0, 1, 2, 3)) + x43 += einsum(x42, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.25 + l1new += einsum(v.ovvv, (0, 1, 2, 3), x43, (4, 0, 1, 3), (2, 4)) * -1.0 + del x43 + x44 = np.zeros((nocc, nocc), dtype=types[float]) + x44 += einsum(x0, (0, 1), (0, 1)) * 12.00000000000048 + x44 += einsum(x35, (0, 1), (0, 1)) * 6.00000000000024 + x44 += einsum(x3, (0, 1), (0, 1)) + x45 = np.zeros((nocc, nvir), dtype=types[float]) + x45 += einsum(t1, (0, 1), (0, 1)) * -1.0 + x45 += einsum(l1, (0, 1), t2, (2, 1, 3, 0), (2, 3)) * -1.0 + x45 += einsum(l2, (0, 1, 2, 3), t3, (4, 2, 3, 5, 0, 1), (4, 5)) * -0.25 + x45 += einsum(t3, (0, 1, 2, 3, 4, 5), x26, (2, 0, 1, 6, 5, 4), (6, 3)) * -0.08333333333333 + x45 += einsum(t2, (0, 1, 2, 3), x39, (0, 1, 4, 3), (4, 2)) * -0.5 + x45 += einsum(t1, (0, 1), x44, (0, 2), (2, 1)) * 0.08333333333333 + l1new += einsum(x45, (0, 1), v.oovv, (2, 0, 3, 1), (3, 2)) * -1.0 + del x45 + x46 = np.zeros((nvir, nvir), dtype=types[float]) + x46 += einsum(l2, (0, 1, 2, 3), t2, (2, 3, 4, 1), (0, 4)) + x47 = np.zeros((nvir, nvir), dtype=types[float]) + x47 += einsum(l1, (0, 1), t1, (1, 2), (0, 2)) + x47 += einsum(x46, (0, 1), (0, 1)) * 0.5 + l1new += einsum(x47, (0, 1), v.ovvv, (2, 0, 3, 1), (3, 2)) + del x47 + x48 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x48 += einsum(x31, (0, 1, 2, 3), (1, 0, 3, 2)) * 3.00000000000012 + x48 += einsum(x32, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + l1new += einsum(v.ooov, (0, 1, 2, 3), x48, (2, 4, 0, 1), (3, 4)) * 0.08333333333333 + del x48 + x49 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x49 += einsum(t1, (0, 1), x33, (2, 3, 4, 1), (3, 2, 4, 0)) + l1new += einsum(v.ooov, (0, 1, 2, 3), x49, (4, 2, 0, 1), (3, 4)) * -0.5 + del x49 + x50 = np.zeros((nocc, nocc), dtype=types[float]) + x50 += einsum(x0, (0, 1), (0, 1)) * 2.0 + x50 += einsum(x35, (0, 1), (0, 1)) + l1new += einsum(x50, (0, 1), v.ooov, (2, 1, 0, 3), (3, 2)) * 0.5 + del x50 + x51 = np.zeros((nvir, nvir), dtype=types[float]) + x51 += einsum(t1, (0, 1), v.ovvv, (0, 2, 3, 1), (2, 3)) + x52 = np.zeros((nvir, nvir), dtype=types[float]) + x52 += einsum(f.vv, (0, 1), (0, 1)) + x52 += einsum(x51, (0, 1), (0, 1)) * -1.0 + l1new += einsum(l1, (0, 1), x52, (0, 2), (2, 1)) + del x52 + x53 = np.zeros((nocc, nocc), dtype=types[float]) + x53 += einsum(t1, (0, 1), v.ooov, (2, 0, 3, 1), (2, 3)) + x54 = np.zeros((nocc, nocc), dtype=types[float]) + x54 += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 2, 3), (0, 4)) + x55 = np.zeros((nocc, nocc), dtype=types[float]) + x55 += einsum(f.oo, (0, 1), (0, 1)) * 2.0 + x55 += einsum(x53, (0, 1), (1, 0)) * 2.0 + x55 += einsum(x54, (0, 1), (0, 1)) + x55 += einsum(t1, (0, 1), x9, (2, 1), (0, 2)) * 2.0 + del x9 + l1new += einsum(l1, (0, 1), x55, (1, 2), (0, 2)) * -0.5 + del x55 + x56 = np.zeros((nocc, nocc), dtype=types[float]) + x56 += einsum(x0, (0, 1), (0, 1)) * 2.0 + del x0 + x56 += einsum(x35, (0, 1), (0, 1)) + del x35 + x56 += einsum(x3, (0, 1), (0, 1)) * 0.16666666666666 + del x3 + l1new += einsum(f.ov, (0, 1), x56, (2, 0), (1, 2)) * -0.5 + del x56 + x57 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x57 += einsum(f.vv, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2)) + x58 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x58 += einsum(t1, (0, 1), v.vvvv, (2, 3, 4, 1), (0, 2, 3, 4)) + x59 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x59 += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 3), (0, 2, 4, 5)) + x60 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x60 += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 0, 1, 5, 6, 3), (4, 5, 6, 2)) + x61 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x61 += einsum(t2, (0, 1, 2, 3), x5, (0, 1, 4, 5), (4, 2, 3, 5)) * 0.5 + del x5 + x62 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x62 += einsum(v.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 + x62 += einsum(x58, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + del x58 + x62 += einsum(x59, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + del x59 + x62 += einsum(x60, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.49999999999998 + del x60 + x62 += einsum(x61, (0, 1, 2, 3), (0, 2, 1, 3)) + del x61 + x63 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x63 += einsum(x62, (0, 1, 2, 3), l3, (4, 1, 2, 5, 6, 0), (5, 6, 4, 3)) * -0.5 + del x62 + x64 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x64 += einsum(t1, (0, 1), v.ooov, (2, 0, 3, 4), (2, 3, 1, 4)) + x65 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x65 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 + x65 += einsum(x64, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.5 + del x64 + x65 += einsum(x7, (0, 1, 2, 3), (0, 1, 2, 3)) + x66 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x66 += einsum(x65, (0, 1, 2, 3), x26, (4, 5, 0, 1, 2, 6), (4, 5, 6, 3)) + del x65 + x67 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x67 += einsum(t1, (0, 1), x4, (2, 3, 0, 4), (2, 3, 1, 4)) + x68 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x68 += einsum(x6, (0, 1, 2, 3), (0, 1, 2, 3)) + x68 += einsum(x67, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 + del x67 + x69 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x69 += einsum(x68, (0, 1, 2, 3), x26, (4, 5, 0, 1, 2, 6), (4, 5, 6, 3)) + del x68 + x70 = np.zeros((nvir, nvir), dtype=types[float]) + x70 += einsum(x46, (0, 1), (0, 1)) + del x46 + x70 += einsum(x2, (0, 1), (0, 1)) * 0.16666666666666 + del x2 + x71 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x71 += einsum(x70, (0, 1), v.oovv, (2, 3, 4, 1), (2, 3, 0, 4)) * -0.5 + del x70 + x72 = np.zeros((nvir, nvir), dtype=types[float]) + x72 += einsum(t2, (0, 1, 2, 3), v.oovv, (0, 1, 4, 3), (2, 4)) + x73 = np.zeros((nvir, nvir), dtype=types[float]) + x73 += einsum(x51, (0, 1), (0, 1)) + del x51 + x73 += einsum(x72, (0, 1), (0, 1)) * 0.5 + del x72 + x74 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x74 += einsum(x73, (0, 1), l2, (2, 0, 3, 4), (3, 4, 2, 1)) * -1.0 + x75 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x75 += einsum(l1, (0, 1), x15, (1, 2, 3, 4), (2, 3, 0, 4)) + del x15 + x76 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x76 += einsum(f.ov, (0, 1), x39, (2, 3, 0, 4), (2, 3, 4, 1)) + x77 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x77 += einsum(x1, (0, 1), x39, (2, 3, 0, 4), (2, 3, 4, 1)) + del x39 + x78 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x78 += einsum(x57, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x57 + x78 += einsum(x63, (0, 1, 2, 3), (0, 1, 2, 3)) + del x63 + x78 += einsum(x66, (0, 1, 2, 3), (0, 1, 2, 3)) + del x66 + x78 += einsum(x69, (0, 1, 2, 3), (0, 1, 2, 3)) + del x69 + x78 += einsum(x71, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x71 + x78 += einsum(x74, (0, 1, 2, 3), (1, 0, 2, 3)) + del x74 + x78 += einsum(x75, (0, 1, 2, 3), (1, 0, 2, 3)) + del x75 + x78 += einsum(x76, (0, 1, 2, 3), (1, 0, 3, 2)) + del x76 + x78 += einsum(x77, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x77 + l2new += einsum(x78, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 + l2new += einsum(x78, (0, 1, 2, 3), (3, 2, 0, 1)) + del x78 + x79 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x79 += einsum(x28, (0, 1, 2, 3), x4, (0, 4, 2, 5), (1, 4, 3, 5)) * -1.0 + x80 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x80 += einsum(v.ovvv, (0, 1, 2, 3), x18, (4, 5, 1, 3), (4, 0, 5, 2)) + x81 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x81 += einsum(t1, (0, 1), x29, (0, 2, 3, 4), (2, 3, 4, 1)) * -1.0 + x82 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x82 += einsum(x41, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 + del x41 + x82 += einsum(x42, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.49999999999998 + del x42 + x82 += einsum(x38, (0, 1, 2, 3), (0, 1, 2, 3)) + del x38 + x82 += einsum(x81, (0, 1, 2, 3), (0, 1, 2, 3)) + del x81 + x83 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x83 += einsum(v.oovv, (0, 1, 2, 3), x82, (4, 1, 5, 3), (4, 0, 5, 2)) * 0.5 + del x82 + x84 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x84 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 + x84 += einsum(x6, (0, 1, 2, 3), (0, 1, 2, 3)) + x85 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x85 += einsum(l2, (0, 1, 2, 3), x84, (3, 4, 1, 5), (2, 4, 0, 5)) + del x84 + x86 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x86 += einsum(v.ooov, (0, 1, 2, 3), x30, (4, 2, 1, 5), (0, 4, 3, 5)) * -1.0 + del x30 + x87 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x87 += einsum(f.ov, (0, 1), l1, (2, 3), (0, 3, 1, 2)) + x87 += einsum(l1, (0, 1), x1, (2, 3), (1, 2, 0, 3)) + x87 += einsum(x79, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x79 + x87 += einsum(x80, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 + del x80 + x87 += einsum(x83, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x83 + x87 += einsum(x85, (0, 1, 2, 3), (0, 1, 2, 3)) + del x85 + x87 += einsum(x86, (0, 1, 2, 3), (1, 0, 3, 2)) + del x86 + l2new += einsum(x87, (0, 1, 2, 3), (2, 3, 0, 1)) + l2new += einsum(x87, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 + l2new += einsum(x87, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 + l2new += einsum(x87, (0, 1, 2, 3), (3, 2, 1, 0)) + del x87 + x88 = np.zeros((nocc, nocc), dtype=types[float]) + x88 += einsum(f.ov, (0, 1), t1, (2, 1), (0, 2)) + x89 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x89 += einsum(x88, (0, 1), l2, (2, 3, 4, 1), (0, 4, 2, 3)) + x90 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x90 += einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), (0, 2, 3, 4)) + x91 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x91 += einsum(x90, (0, 1, 2, 3), l3, (4, 5, 3, 6, 2, 1), (0, 6, 4, 5)) + del x90 + x92 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x92 += einsum(x1, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4)) * -1.0 + x93 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x93 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + x93 += einsum(x6, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.5 + x94 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x94 += einsum(t1, (0, 1), x93, (2, 3, 4, 1), (0, 2, 3, 4)) * 2.0 + del x93 + x95 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x95 += einsum(t1, (0, 1), x13, (0, 2, 3, 4), (2, 3, 4, 1)) * 0.5 + del x13 + x96 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x96 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x96 += einsum(x20, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.5 + del x20 + x96 += einsum(x21, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.49999999999998 + del x21 + x96 += einsum(x92, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x92 + x96 += einsum(x22, (0, 1, 2, 3), (0, 1, 2, 3)) + del x22 + x96 += einsum(x94, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 + del x94 + x96 += einsum(x95, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 + del x95 + x97 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x97 += einsum(x96, (0, 1, 2, 3), l3, (4, 5, 3, 6, 0, 1), (6, 2, 4, 5)) * -0.5 + del x96 + x98 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x98 += einsum(x44, (0, 1), v.oovv, (2, 1, 3, 4), (0, 2, 3, 4)) * -0.08333333333333 + del x44 + x99 = np.zeros((nocc, nocc), dtype=types[float]) + x99 += einsum(t1, (0, 1), x1, (2, 1), (0, 2)) + x100 = np.zeros((nocc, nocc), dtype=types[float]) + x100 += einsum(x53, (0, 1), (0, 1)) + del x53 + x100 += einsum(x54, (0, 1), (1, 0)) * 0.5 + del x54 + x100 += einsum(x99, (0, 1), (1, 0)) + del x99 + x101 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x101 += einsum(x100, (0, 1), l2, (2, 3, 4, 1), (4, 0, 2, 3)) * -1.0 + x102 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x102 += einsum(x89, (0, 1, 2, 3), (0, 1, 3, 2)) + del x89 + x102 += einsum(x91, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.5 + del x91 + x102 += einsum(x97, (0, 1, 2, 3), (0, 1, 2, 3)) + del x97 + x102 += einsum(x98, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x98 + x102 += einsum(x101, (0, 1, 2, 3), (0, 1, 3, 2)) + del x101 + l2new += einsum(x102, (0, 1, 2, 3), (3, 2, 0, 1)) + l2new += einsum(x102, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 + del x102 + x103 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x103 += einsum(f.oo, (0, 1), l2, (2, 3, 4, 1), (0, 4, 2, 3)) + x104 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x104 += einsum(l1, (0, 1), v.ovvv, (2, 0, 3, 4), (1, 2, 3, 4)) + x105 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x105 += einsum(x103, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x103 + x105 += einsum(x104, (0, 1, 2, 3), (0, 1, 3, 2)) + del x104 + l2new += einsum(x105, (0, 1, 2, 3), (2, 3, 0, 1)) + l2new += einsum(x105, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 + del x105 + x106 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x106 += einsum(v.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x106 += einsum(x10, (0, 1, 2, 3), (1, 0, 3, 2)) + del x10 + x106 += einsum(x12, (0, 1, 2, 3), (3, 0, 2, 1)) * -1.0 + del x12 + l2new += einsum(l2, (0, 1, 2, 3), x106, (2, 3, 4, 5), (0, 1, 4, 5)) * 0.25 + x107 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x107 += einsum(x31, (0, 1, 2, 3), (1, 0, 3, 2)) + del x31 + x107 += einsum(x32, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.33333333333332 + del x32 + x107 += einsum(t1, (0, 1), x33, (2, 3, 4, 1), (3, 2, 4, 0)) * 2.0 + del x33 + l2new += einsum(v.oovv, (0, 1, 2, 3), x107, (4, 5, 0, 1), (2, 3, 5, 4)) * -0.25 + del x107 + x108 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x108 += einsum(x106, (0, 1, 2, 3), l3, (4, 5, 6, 7, 0, 1), (7, 2, 3, 4, 5, 6)) * -0.25 + del x106 + x109 = np.zeros((nocc, nocc), dtype=types[float]) + x109 += einsum(f.oo, (0, 1), (0, 1)) + x109 += einsum(x88, (0, 1), (1, 0)) + del x88 + x110 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x110 += einsum(x109, (0, 1), l3, (2, 3, 4, 5, 6, 0), (5, 6, 1, 2, 3, 4)) + del x109 + x111 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x111 += einsum(x108, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) + del x108 + x111 += einsum(x110, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) + del x110 + l3new += einsum(x111, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 1, 2)) * -1.0 + l3new += einsum(x111, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 0, 2)) + l3new += einsum(x111, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) * -1.0 + del x111 + x112 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x112 += einsum(x100, (0, 1), l3, (2, 3, 4, 5, 6, 1), (5, 6, 0, 2, 3, 4)) + del x100 + l3new += einsum(x112, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) + l3new += einsum(x112, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) * -1.0 + l3new += einsum(x112, (0, 1, 2, 3, 4, 5), (5, 3, 4, 2, 1, 0)) + del x112 + x113 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x113 += einsum(v.ooov, (0, 1, 2, 3), x26, (4, 2, 5, 1, 6, 7), (4, 5, 0, 6, 7, 3)) * -1.0 + x114 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x114 += einsum(x4, (0, 1, 2, 3), x26, (0, 4, 5, 2, 6, 7), (5, 4, 1, 6, 7, 3)) * -1.0 + x115 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x115 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 + x115 += einsum(x6, (0, 1, 2, 3), (0, 1, 2, 3)) + del x6 + x115 += einsum(x7, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.00000000000001 + del x7 + x116 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x116 += einsum(x115, (0, 1, 2, 3), l3, (4, 5, 2, 6, 7, 0), (6, 7, 1, 4, 5, 3)) + del x115 + x117 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x117 += einsum(x113, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 + del x113 + x117 += einsum(x114, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) + del x114 + x117 += einsum(x116, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x116 + l3new += einsum(x117, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 0, 2)) + l3new += einsum(x117, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 0, 2)) * -1.0 + l3new += einsum(x117, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) * -1.0 + l3new += einsum(x117, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 2, 0)) * -1.0 + l3new += einsum(x117, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) + l3new += einsum(x117, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) + l3new += einsum(x117, (0, 1, 2, 3, 4, 5), (4, 3, 5, 2, 1, 0)) + l3new += einsum(x117, (0, 1, 2, 3, 4, 5), (4, 5, 3, 2, 1, 0)) * -1.0 + l3new += einsum(x117, (0, 1, 2, 3, 4, 5), (5, 3, 4, 2, 1, 0)) * -1.0 + del x117 + x118 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x118 += einsum(f.vv, (0, 1), l3, (2, 3, 1, 4, 5, 6), (4, 5, 6, 0, 2, 3)) + x119 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x119 += einsum(f.ov, (0, 1), x26, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) + x120 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x120 += einsum(v.vvvv, (0, 1, 2, 3), l3, (4, 2, 3, 5, 6, 7), (5, 6, 7, 4, 0, 1)) + x121 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x121 += einsum(v.ovvv, (0, 1, 2, 3), x26, (4, 5, 6, 0, 7, 1), (4, 5, 6, 7, 2, 3)) * -1.0 + x122 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) + x122 += einsum(t2, (0, 1, 2, 3), l3, (4, 2, 3, 5, 6, 7), (5, 6, 7, 0, 1, 4)) + x123 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) + x123 += einsum(x122, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 + del x122 + x123 += einsum(x27, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -2.0 + del x27 + x124 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x124 += einsum(v.oovv, (0, 1, 2, 3), x123, (4, 5, 6, 0, 1, 7), (4, 5, 6, 7, 2, 3)) * 0.25 + del x123 + x125 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x125 += einsum(x118, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 + del x118 + x125 += einsum(x119, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) + del x119 + x125 += einsum(x120, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -0.5 + del x120 + x125 += einsum(x121, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) + del x121 + x125 += einsum(x124, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 + del x124 + l3new += einsum(x125, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 2, 0)) + l3new += einsum(x125, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) + l3new += einsum(x125, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 2, 0)) * -1.0 + del x125 + x126 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x126 += einsum(x1, (0, 1), x26, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 6, 1)) + del x1, x26 + x127 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x127 += einsum(x73, (0, 1), l3, (2, 3, 0, 4, 5, 6), (4, 5, 6, 2, 3, 1)) + del x73 + x128 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x128 += einsum(x126, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 + del x126 + x128 += einsum(x127, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) + del x127 + l3new += einsum(x128, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 2, 0)) + l3new += einsum(x128, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) * -1.0 + l3new += einsum(x128, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) * -1.0 + del x128 + x129 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x129 += einsum(l2, (0, 1, 2, 3), v.ovvv, (4, 1, 5, 6), (2, 3, 4, 0, 5, 6)) + x130 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x130 += einsum(v.oovv, (0, 1, 2, 3), x29, (4, 5, 1, 6), (5, 4, 0, 6, 2, 3)) + del x29 + x131 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x131 += einsum(x129, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 + del x129 + x131 += einsum(x130, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -0.5 + del x130 + l3new += einsum(x131, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 0, 2)) + l3new += einsum(x131, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) + l3new += einsum(x131, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 0, 2)) * -1.0 + l3new += einsum(x131, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 2, 0)) * -1.0 + l3new += einsum(x131, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) * -1.0 + l3new += einsum(x131, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 2, 0)) + l3new += einsum(x131, (0, 1, 2, 3, 4, 5), (3, 4, 5, 2, 1, 0)) + l3new += einsum(x131, (0, 1, 2, 3, 4, 5), (5, 3, 4, 2, 1, 0)) + l3new += einsum(x131, (0, 1, 2, 3, 4, 5), (5, 4, 3, 2, 1, 0)) * -1.0 + del x131 + x132 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x132 += einsum(l2, (0, 1, 2, 3), v.ooov, (4, 5, 3, 6), (2, 4, 5, 0, 1, 6)) + x133 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x133 += einsum(v.oovv, (0, 1, 2, 3), x18, (4, 5, 6, 3), (4, 0, 1, 6, 5, 2)) + del x18 + x134 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x134 += einsum(x132, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) + del x132 + x134 += einsum(x133, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 0.5 + del x133 + l3new += einsum(x134, (0, 1, 2, 3, 4, 5), (4, 3, 5, 0, 1, 2)) + l3new += einsum(x134, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 1, 2)) * -1.0 + l3new += einsum(x134, (0, 1, 2, 3, 4, 5), (5, 3, 4, 0, 1, 2)) * -1.0 + l3new += einsum(x134, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 0, 2)) * -1.0 + l3new += einsum(x134, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 0, 2)) + l3new += einsum(x134, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) + l3new += einsum(x134, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 2, 0)) + l3new += einsum(x134, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) * -1.0 + l3new += einsum(x134, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) * -1.0 + del x134 + x135 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x135 += einsum(f.ov, (0, 1), l2, (2, 3, 4, 5), (0, 4, 5, 1, 2, 3)) + x135 += einsum(l1, (0, 1), v.oovv, (2, 3, 4, 5), (1, 2, 3, 0, 4, 5)) + l3new += einsum(x135, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 1, 2)) + l3new += einsum(x135, (0, 1, 2, 3, 4, 5), (4, 3, 5, 0, 1, 2)) * -1.0 + l3new += einsum(x135, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 1, 2)) + l3new += einsum(x135, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 0, 2)) * -1.0 + l3new += einsum(x135, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 0, 2)) + l3new += einsum(x135, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 0, 2)) * -1.0 + l3new += einsum(x135, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 2, 0)) + l3new += einsum(x135, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 2, 0)) * -1.0 + l3new += einsum(x135, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) + del x135 + x136 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x136 += einsum(l2, (0, 1, 2, 3), x4, (3, 4, 5, 6), (2, 5, 4, 0, 1, 6)) * -1.0 + del x4 + l3new += einsum(x136, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 2, 1)) * -1.0 + l3new += einsum(x136, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) * -1.0 + l3new += einsum(x136, (0, 1, 2, 3, 4, 5), (5, 4, 3, 0, 2, 1)) + l3new += einsum(x136, (0, 1, 2, 3, 4, 5), (3, 4, 5, 2, 0, 1)) + l3new += einsum(x136, (0, 1, 2, 3, 4, 5), (4, 5, 3, 2, 0, 1)) + l3new += einsum(x136, (0, 1, 2, 3, 4, 5), (5, 4, 3, 2, 0, 1)) * -1.0 + l3new += einsum(x136, (0, 1, 2, 3, 4, 5), (3, 4, 5, 2, 1, 0)) * -1.0 + l3new += einsum(x136, (0, 1, 2, 3, 4, 5), (4, 5, 3, 2, 1, 0)) * -1.0 + l3new += einsum(x136, (0, 1, 2, 3, 4, 5), (5, 4, 3, 2, 1, 0)) + del x136 + x137 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x137 += einsum(v.oovv, (0, 1, 2, 3), x28, (4, 5, 1, 6), (4, 5, 0, 6, 2, 3)) + del x28 + l3new += einsum(x137, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 0, 2)) + l3new += einsum(x137, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) * -1.0 + l3new += einsum(x137, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 0, 2)) * -1.0 + l3new += einsum(x137, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 2, 0)) * -1.0 + l3new += einsum(x137, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) + l3new += einsum(x137, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) + l3new += einsum(x137, (0, 1, 2, 3, 4, 5), (3, 5, 4, 2, 1, 0)) + l3new += einsum(x137, (0, 1, 2, 3, 4, 5), (5, 3, 4, 2, 1, 0)) * -1.0 + l3new += einsum(x137, (0, 1, 2, 3, 4, 5), (4, 5, 3, 2, 1, 0)) * -1.0 + del x137 + + return {"l1new": l1new, "l2new": l2new, "l3new": l3new} + +def make_rdm1_f(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, t3=None, l1=None, l2=None, l3=None, **kwargs): + delta = Namespace(oo=np.eye(nocc), vv=np.eye(nvir)) + + # RDM1 + rdm1_f_oo = np.zeros((nocc, nocc), dtype=types[float]) + rdm1_f_oo += einsum(delta.oo, (0, 1), (0, 1)) + rdm1_f_ov = np.zeros((nocc, nvir), dtype=types[float]) + rdm1_f_ov += einsum(t1, (0, 1), (0, 1)) + rdm1_f_ov += einsum(l2, (0, 1, 2, 3), t3, (4, 2, 3, 5, 0, 1), (4, 5)) * 0.25 + rdm1_f_ov += einsum(l1, (0, 1), t2, (2, 1, 3, 0), (2, 3)) + rdm1_f_vo = np.zeros((nvir, nocc), dtype=types[float]) + rdm1_f_vo += einsum(l1, (0, 1), (0, 1)) + rdm1_f_vv = np.zeros((nvir, nvir), dtype=types[float]) + rdm1_f_vv += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (3, 4, 5, 6, 1, 2), (0, 6)) * 0.08333333333333 + rdm1_f_vv += einsum(l2, (0, 1, 2, 3), t2, (2, 3, 4, 1), (0, 4)) * 0.5 + rdm1_f_vv += einsum(l1, (0, 1), t1, (1, 2), (0, 2)) + x0 = np.zeros((nocc, nocc), dtype=types[float]) + x0 += einsum(l2, (0, 1, 2, 3), t2, (4, 3, 0, 1), (2, 4)) + rdm1_f_oo += einsum(x0, (0, 1), (1, 0)) * -0.5 + x1 = np.zeros((nocc, nocc), dtype=types[float]) + x1 += einsum(l1, (0, 1), t1, (2, 0), (1, 2)) + rdm1_f_oo += einsum(x1, (0, 1), (1, 0)) * -1.0 + x2 = np.zeros((nocc, nocc), dtype=types[float]) + x2 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 4, 5, 0, 1, 2), (3, 6)) + rdm1_f_oo += einsum(x2, (0, 1), (1, 0)) * -0.08333333333333 + x3 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x3 += einsum(t1, (0, 1), l3, (2, 3, 1, 4, 5, 6), (4, 5, 6, 0, 2, 3)) + rdm1_f_ov += einsum(t3, (0, 1, 2, 3, 4, 5), x3, (0, 1, 2, 6, 5, 4), (6, 3)) * 0.08333333333333 + del x3 + x4 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x4 += einsum(t1, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2)) + x4 += einsum(t2, (0, 1, 2, 3), l3, (4, 2, 3, 5, 6, 1), (5, 6, 0, 4)) * 0.5 + rdm1_f_ov += einsum(t2, (0, 1, 2, 3), x4, (0, 1, 4, 3), (4, 2)) * 0.5 + del x4 + x5 = np.zeros((nocc, nocc), dtype=types[float]) + x5 += einsum(x1, (0, 1), (0, 1)) + del x1 + x5 += einsum(x0, (0, 1), (0, 1)) * 0.5 + del x0 + x5 += einsum(x2, (0, 1), (0, 1)) * 0.08333333333333 + del x2 + rdm1_f_ov += einsum(t1, (0, 1), x5, (0, 2), (2, 1)) * -1.0 + del x5 + + rdm1_f = np.block([[rdm1_f_oo, rdm1_f_ov], [rdm1_f_vo, rdm1_f_vv]]) + + return rdm1_f + +def make_rdm2_f(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, t3=None, l1=None, l2=None, l3=None, **kwargs): + delta = Namespace(oo=np.eye(nocc), vv=np.eye(nvir)) + + # RDM2 + rdm2_f_oooo = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + rdm2_f_oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (0, 2, 1, 3)) + rdm2_f_oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (0, 2, 3, 1)) * -1.0 + rdm2_f_ovoo = np.zeros((nocc, nvir, nocc, nocc), dtype=types[float]) + rdm2_f_ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (0, 2, 1, 3)) + rdm2_f_ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (0, 2, 3, 1)) * -1.0 + rdm2_f_vooo = np.zeros((nvir, nocc, nocc, nocc), dtype=types[float]) + rdm2_f_vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 0, 1, 3)) * -1.0 + rdm2_f_vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 0, 3, 1)) + rdm2_f_oovv = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + rdm2_f_oovv += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) + rdm2_f_oovv += einsum(l1, (0, 1), t3, (2, 3, 1, 4, 5, 0), (2, 3, 4, 5)) + rdm2_f_oovv += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 3, 1)) * -1.0 + rdm2_f_oovv += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) + rdm2_f_ovov = np.zeros((nocc, nvir, nocc, nvir), dtype=types[float]) + rdm2_f_ovov += einsum(l1, (0, 1), t1, (2, 3), (2, 0, 1, 3)) * -1.0 + rdm2_f_ovvo = np.zeros((nocc, nvir, nvir, nocc), dtype=types[float]) + rdm2_f_ovvo += einsum(l1, (0, 1), t1, (2, 3), (2, 0, 3, 1)) + rdm2_f_voov = np.zeros((nvir, nocc, nocc, nvir), dtype=types[float]) + rdm2_f_voov += einsum(l1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) + rdm2_f_vovo = np.zeros((nvir, nocc, nvir, nocc), dtype=types[float]) + rdm2_f_vovo += einsum(l1, (0, 1), t1, (2, 3), (0, 2, 3, 1)) * -1.0 + rdm2_f_vvoo = np.zeros((nvir, nvir, nocc, nocc), dtype=types[float]) + rdm2_f_vvoo += einsum(l2, (0, 1, 2, 3), (0, 1, 2, 3)) + rdm2_f_vvvv = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) + rdm2_f_vvvv += einsum(l2, (0, 1, 2, 3), t2, (2, 3, 4, 5), (0, 1, 4, 5)) * 0.5 + rdm2_f_vvvv += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (3, 4, 5, 6, 7, 2), (0, 1, 6, 7)) * 0.16666666666667 + x0 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x0 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 7, 5, 0, 1, 2), (3, 4, 6, 7)) + rdm2_f_oooo += einsum(x0, (0, 1, 2, 3), (2, 3, 1, 0)) * -0.16666666666667 + x1 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x1 += einsum(l2, (0, 1, 2, 3), t2, (4, 5, 0, 1), (2, 3, 4, 5)) + rdm2_f_oooo += einsum(x1, (0, 1, 2, 3), (3, 2, 1, 0)) * 0.5 + x2 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x2 += einsum(t1, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2)) + rdm2_f_ovoo += einsum(x2, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 + rdm2_f_vooo += einsum(x2, (0, 1, 2, 3), (3, 2, 1, 0)) + x3 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x3 += einsum(t1, (0, 1), x2, (2, 3, 4, 1), (2, 3, 0, 4)) + rdm2_f_oooo += einsum(x3, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 + x4 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x4 += einsum(t2, (0, 1, 2, 3), l3, (4, 2, 3, 5, 6, 1), (5, 6, 0, 4)) + rdm2_f_ovoo += einsum(x4, (0, 1, 2, 3), (2, 3, 1, 0)) * -0.5 + rdm2_f_vooo += einsum(x4, (0, 1, 2, 3), (3, 2, 1, 0)) * 0.5 + x5 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x5 += einsum(t1, (0, 1), x4, (2, 3, 4, 1), (2, 3, 0, 4)) + rdm2_f_oooo += einsum(x5, (0, 1, 2, 3), (2, 3, 1, 0)) * -0.5 + rdm2_f_oooo += einsum(x5, (0, 1, 2, 3), (3, 2, 1, 0)) * 0.5 + x6 = np.zeros((nocc, nocc), dtype=types[float]) + x6 += einsum(l2, (0, 1, 2, 3), t2, (4, 3, 0, 1), (2, 4)) + x7 = np.zeros((nocc, nocc), dtype=types[float]) + x7 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 4, 5, 0, 1, 2), (3, 6)) + x8 = np.zeros((nocc, nocc), dtype=types[float]) + x8 += einsum(x6, (0, 1), (0, 1)) + x8 += einsum(x7, (0, 1), (0, 1)) * 0.16666666666666 + rdm2_f_oooo += einsum(delta.oo, (0, 1), x8, (2, 3), (0, 3, 1, 2)) * -0.5 + rdm2_f_oooo += einsum(delta.oo, (0, 1), x8, (2, 3), (0, 3, 2, 1)) * 0.5 + rdm2_f_oooo += einsum(delta.oo, (0, 1), x8, (2, 3), (3, 0, 1, 2)) * 0.5 + rdm2_f_oooo += einsum(delta.oo, (0, 1), x8, (2, 3), (3, 0, 2, 1)) * -0.5 + del x8 + x9 = np.zeros((nocc, nocc), dtype=types[float]) + x9 += einsum(l1, (0, 1), t1, (2, 0), (1, 2)) + rdm2_f_oooo += einsum(delta.oo, (0, 1), x9, (2, 3), (0, 3, 1, 2)) * -1.0 + rdm2_f_oooo += einsum(delta.oo, (0, 1), x9, (2, 3), (3, 0, 1, 2)) + rdm2_f_oooo += einsum(delta.oo, (0, 1), x9, (2, 3), (0, 3, 2, 1)) + rdm2_f_oooo += einsum(delta.oo, (0, 1), x9, (2, 3), (3, 0, 2, 1)) * -1.0 + x10 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x10 += einsum(l1, (0, 1), t2, (2, 3, 4, 0), (1, 2, 3, 4)) + rdm2_f_ooov = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + rdm2_f_ooov += einsum(x10, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 + rdm2_f_oovo = np.zeros((nocc, nocc, nvir, nocc), dtype=types[float]) + rdm2_f_oovo += einsum(x10, (0, 1, 2, 3), (2, 1, 3, 0)) + x11 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x11 += einsum(l2, (0, 1, 2, 3), t3, (4, 5, 3, 6, 0, 1), (2, 4, 5, 6)) + rdm2_f_ooov += einsum(x11, (0, 1, 2, 3), (1, 2, 0, 3)) * 0.5 + rdm2_f_oovo += einsum(x11, (0, 1, 2, 3), (1, 2, 3, 0)) * -0.5 + x12 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x12 += einsum(t2, (0, 1, 2, 3), l3, (4, 5, 3, 6, 0, 1), (6, 4, 5, 2)) + rdm2_f_vvov = np.zeros((nvir, nvir, nocc, nvir), dtype=types[float]) + rdm2_f_vvov += einsum(x12, (0, 1, 2, 3), (1, 2, 0, 3)) * 0.5 + rdm2_f_vvvo = np.zeros((nvir, nvir, nvir, nocc), dtype=types[float]) + rdm2_f_vvvo += einsum(x12, (0, 1, 2, 3), (1, 2, 3, 0)) * -0.5 + x13 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x13 += einsum(t2, (0, 1, 2, 3), x12, (4, 3, 2, 5), (4, 0, 1, 5)) * -1.0 + rdm2_f_ooov += einsum(x13, (0, 1, 2, 3), (1, 2, 0, 3)) * 0.25 + rdm2_f_oovo += einsum(x13, (0, 1, 2, 3), (1, 2, 3, 0)) * -0.25 + x14 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x14 += einsum(t1, (0, 1), l3, (2, 3, 1, 4, 5, 6), (4, 5, 6, 0, 2, 3)) + x15 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) + x15 += einsum(t1, (0, 1), x14, (2, 3, 4, 5, 1, 6), (2, 3, 4, 5, 0, 6)) + x16 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x16 += einsum(t2, (0, 1, 2, 3), x15, (4, 1, 0, 5, 6, 3), (4, 6, 5, 2)) + rdm2_f_ooov += einsum(x16, (0, 1, 2, 3), (1, 2, 0, 3)) * 0.5 + rdm2_f_oovo += einsum(x16, (0, 1, 2, 3), (1, 2, 3, 0)) * -0.5 + x17 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x17 += einsum(t3, (0, 1, 2, 3, 4, 5), x14, (6, 1, 2, 7, 4, 5), (6, 7, 0, 3)) + x18 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x18 += einsum(t1, (0, 1), x5, (0, 2, 3, 4), (2, 3, 4, 1)) * -1.0 + x19 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x19 += einsum(x2, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + x19 += einsum(x4, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 + x20 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x20 += einsum(t2, (0, 1, 2, 3), x19, (1, 4, 5, 3), (4, 5, 0, 2)) + x21 = np.zeros((nocc, nocc), dtype=types[float]) + x21 += einsum(x9, (0, 1), (0, 1)) * 12.00000000000048 + x21 += einsum(x6, (0, 1), (0, 1)) * 6.00000000000024 + x21 += einsum(x7, (0, 1), (0, 1)) + x22 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x22 += einsum(delta.oo, (0, 1), t1, (2, 3), (0, 1, 2, 3)) + x22 += einsum(x17, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.25 + x22 += einsum(x18, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.5 + del x18 + x22 += einsum(x20, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x20 + x22 += einsum(t1, (0, 1), x21, (2, 3), (0, 2, 3, 1)) * 0.08333333333333 + rdm2_f_ooov += einsum(x22, (0, 1, 2, 3), (0, 2, 1, 3)) + rdm2_f_ooov += einsum(x22, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 + rdm2_f_oovo += einsum(x22, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 + rdm2_f_oovo += einsum(x22, (0, 1, 2, 3), (2, 0, 3, 1)) + del x22 + x23 = np.zeros((nocc, nvir), dtype=types[float]) + x23 += einsum(l1, (0, 1), t2, (2, 1, 3, 0), (2, 3)) + x24 = np.zeros((nocc, nvir), dtype=types[float]) + x24 += einsum(l2, (0, 1, 2, 3), t3, (4, 2, 3, 5, 0, 1), (4, 5)) + x25 = np.zeros((nocc, nvir), dtype=types[float]) + x25 += einsum(t3, (0, 1, 2, 3, 4, 5), x14, (0, 1, 2, 6, 4, 5), (6, 3)) + x26 = np.zeros((nocc, nvir), dtype=types[float]) + x26 += einsum(t2, (0, 1, 2, 3), x19, (0, 1, 4, 3), (4, 2)) * -0.5 + x27 = np.zeros((nocc, nvir), dtype=types[float]) + x27 += einsum(t1, (0, 1), x21, (0, 2), (2, 1)) * 0.08333333333333 + del x21 + x28 = np.zeros((nocc, nvir), dtype=types[float]) + x28 += einsum(x23, (0, 1), (0, 1)) * -1.0 + del x23 + x28 += einsum(x24, (0, 1), (0, 1)) * -0.25 + del x24 + x28 += einsum(x25, (0, 1), (0, 1)) * 0.08333333333333 + del x25 + x28 += einsum(x26, (0, 1), (0, 1)) + del x26 + x28 += einsum(x27, (0, 1), (0, 1)) + del x27 + rdm2_f_ooov += einsum(delta.oo, (0, 1), x28, (2, 3), (0, 2, 1, 3)) * -1.0 + rdm2_f_ooov += einsum(delta.oo, (0, 1), x28, (2, 3), (2, 0, 1, 3)) + rdm2_f_oovo += einsum(delta.oo, (0, 1), x28, (2, 3), (0, 2, 3, 1)) + rdm2_f_oovo += einsum(delta.oo, (0, 1), x28, (2, 3), (2, 0, 3, 1)) * -1.0 + x29 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x29 += einsum(x1, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + x29 += einsum(x3, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 + x29 += einsum(x0, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.33333333333334 + x30 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x30 += einsum(t1, (0, 1), x29, (0, 2, 3, 4), (2, 3, 4, 1)) * 0.5 + del x29 + rdm2_f_ooov += einsum(x30, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 + rdm2_f_oovo += einsum(x30, (0, 1, 2, 3), (2, 1, 3, 0)) + del x30 + x31 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x31 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 4, 5, 7, 1, 2), (3, 6, 0, 7)) + rdm2_f_ovov += einsum(x31, (0, 1, 2, 3), (1, 2, 0, 3)) * -0.25 + rdm2_f_ovvo += einsum(x31, (0, 1, 2, 3), (1, 2, 3, 0)) * 0.25 + rdm2_f_voov += einsum(x31, (0, 1, 2, 3), (2, 1, 0, 3)) * 0.25 + rdm2_f_vovo += einsum(x31, (0, 1, 2, 3), (2, 1, 3, 0)) * -0.25 + x32 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x32 += einsum(t2, (0, 1, 2, 3), x31, (1, 4, 3, 5), (0, 4, 2, 5)) + x33 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x33 += einsum(t2, (0, 1, 2, 3), x14, (4, 1, 0, 5, 6, 3), (4, 5, 6, 2)) + rdm2_f_ovov += einsum(x33, (0, 1, 2, 3), (1, 2, 0, 3)) * 0.5 + rdm2_f_ovvo += einsum(x33, (0, 1, 2, 3), (1, 2, 3, 0)) * -0.5 + rdm2_f_voov += einsum(x33, (0, 1, 2, 3), (2, 1, 0, 3)) * -0.5 + rdm2_f_vovo += einsum(x33, (0, 1, 2, 3), (2, 1, 3, 0)) * 0.5 + x34 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x34 += einsum(t1, (0, 1), x4, (0, 2, 3, 4), (2, 3, 4, 1)) * -1.0 + x35 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x35 += einsum(x33, (0, 1, 2, 3), (0, 1, 2, 3)) + x35 += einsum(x34, (0, 1, 2, 3), (0, 1, 2, 3)) + del x34 + x36 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x36 += einsum(t2, (0, 1, 2, 3), x35, (1, 4, 3, 5), (4, 0, 5, 2)) * 0.5 + del x35 + x37 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x37 += einsum(t2, (0, 1, 2, 3), x2, (4, 1, 5, 3), (4, 5, 0, 2)) * -1.0 + x38 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x38 += einsum(x37, (0, 1, 2, 3), (0, 1, 2, 3)) + del x37 + x38 += einsum(x17, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.25 + del x17 + x39 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x39 += einsum(t1, (0, 1), x38, (0, 2, 3, 4), (2, 3, 1, 4)) + del x38 + x40 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x40 += einsum(x32, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.25 + del x32 + x40 += einsum(x36, (0, 1, 2, 3), (0, 1, 2, 3)) + del x36 + x40 += einsum(x39, (0, 1, 2, 3), (0, 1, 2, 3)) + del x39 + x40 += einsum(t1, (0, 1), x28, (2, 3), (0, 2, 1, 3)) + del x28 + rdm2_f_oovv += einsum(x40, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + rdm2_f_oovv += einsum(x40, (0, 1, 2, 3), (0, 1, 3, 2)) + rdm2_f_oovv += einsum(x40, (0, 1, 2, 3), (1, 0, 2, 3)) + rdm2_f_oovv += einsum(x40, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x40 + x41 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x41 += einsum(x7, (0, 1), t2, (2, 0, 3, 4), (2, 1, 3, 4)) + del x7 + x42 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x42 += einsum(x4, (0, 1, 2, 3), t3, (4, 0, 1, 5, 6, 3), (2, 4, 5, 6)) + x43 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x43 += einsum(x41, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.08333333333333 + del x41 + x43 += einsum(x42, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.25 + del x42 + rdm2_f_oovv += einsum(x43, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + rdm2_f_oovv += einsum(x43, (0, 1, 2, 3), (1, 0, 2, 3)) + del x43 + x44 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x44 += einsum(l2, (0, 1, 2, 3), t2, (4, 3, 5, 1), (2, 4, 0, 5)) + rdm2_f_ovov += einsum(x44, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 + rdm2_f_ovvo += einsum(x44, (0, 1, 2, 3), (1, 2, 3, 0)) + rdm2_f_voov += einsum(x44, (0, 1, 2, 3), (2, 1, 0, 3)) + rdm2_f_vovo += einsum(x44, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 + x45 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x45 += einsum(t2, (0, 1, 2, 3), x44, (1, 4, 3, 5), (4, 0, 5, 2)) + x46 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x46 += einsum(x12, (0, 1, 2, 3), t3, (4, 5, 0, 6, 1, 2), (4, 5, 3, 6)) + x47 = np.zeros((nvir, nvir), dtype=types[float]) + x47 += einsum(l2, (0, 1, 2, 3), t2, (2, 3, 4, 1), (0, 4)) + x48 = np.zeros((nvir, nvir), dtype=types[float]) + x48 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (3, 4, 5, 6, 1, 2), (0, 6)) + x49 = np.zeros((nvir, nvir), dtype=types[float]) + x49 += einsum(x47, (0, 1), (0, 1)) + x49 += einsum(x48, (0, 1), (0, 1)) * 0.16666666666666 + x50 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x50 += einsum(x49, (0, 1), t2, (2, 3, 4, 0), (2, 3, 1, 4)) * -0.5 + del x49 + x51 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x51 += einsum(x10, (0, 1, 2, 3), (0, 2, 1, 3)) + del x10 + x51 += einsum(x11, (0, 1, 2, 3), (0, 2, 1, 3)) * 0.5 + del x11 + x51 += einsum(x13, (0, 1, 2, 3), (0, 2, 1, 3)) * 0.25 + del x13 + x51 += einsum(x16, (0, 1, 2, 3), (0, 2, 1, 3)) * 0.5 + del x16 + x52 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x52 += einsum(t1, (0, 1), x51, (0, 2, 3, 4), (2, 3, 1, 4)) + del x51 + x53 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x53 += einsum(x45, (0, 1, 2, 3), (0, 1, 2, 3)) + del x45 + x53 += einsum(x46, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.25 + del x46 + x53 += einsum(x50, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x50 + x53 += einsum(x52, (0, 1, 2, 3), (1, 0, 2, 3)) + del x52 + rdm2_f_oovv += einsum(x53, (0, 1, 2, 3), (0, 1, 2, 3)) + rdm2_f_oovv += einsum(x53, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x53 + x54 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x54 += einsum(x9, (0, 1), t2, (2, 0, 3, 4), (1, 2, 3, 4)) + del x9 + x55 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x55 += einsum(x2, (0, 1, 2, 3), t3, (4, 1, 0, 5, 6, 3), (2, 4, 5, 6)) + x56 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x56 += einsum(x6, (0, 1), t2, (2, 0, 3, 4), (2, 1, 3, 4)) + del x6 + x57 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x57 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 3, 1)) * 2.0 + x57 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x58 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x58 += einsum(x5, (0, 1, 2, 3), x57, (0, 1, 4, 5), (2, 3, 4, 5)) * 0.25 + del x5, x57 + x59 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x59 += einsum(x54, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x54 + x59 += einsum(x55, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.5 + del x55 + x59 += einsum(x56, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.5 + del x56 + x59 += einsum(x58, (0, 1, 2, 3), (0, 1, 3, 2)) + del x58 + rdm2_f_oovv += einsum(x59, (0, 1, 2, 3), (0, 1, 2, 3)) + rdm2_f_oovv += einsum(x59, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x59 + x60 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) + x60 += einsum(t2, (0, 1, 2, 3), l3, (4, 2, 3, 5, 6, 7), (5, 6, 7, 0, 1, 4)) + x60 += einsum(x15, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -2.00000000000012 + del x15 + rdm2_f_oovv += einsum(t3, (0, 1, 2, 3, 4, 5), x60, (0, 1, 2, 6, 7, 5), (6, 7, 3, 4)) * 0.08333333333333 + del x60 + x61 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x61 += einsum(x1, (0, 1, 2, 3), (1, 0, 3, 2)) * -3.00000000000012 + x61 += einsum(x3, (0, 1, 2, 3), (0, 1, 3, 2)) * 6.00000000000024 + x61 += einsum(x0, (0, 1, 2, 3), (0, 1, 3, 2)) + rdm2_f_oovv += einsum(t2, (0, 1, 2, 3), x61, (0, 1, 4, 5), (5, 4, 2, 3)) * 0.08333333333333 + del x61 + x62 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x62 += einsum(x1, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.99999999999994 + del x1 + x62 += einsum(x3, (0, 1, 2, 3), (0, 1, 3, 2)) * 5.99999999999988 + del x3 + x62 += einsum(x0, (0, 1, 2, 3), (0, 1, 3, 2)) + del x0 + x63 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x63 += einsum(t1, (0, 1), x62, (0, 2, 3, 4), (2, 4, 3, 1)) * -0.16666666666667 + del x62 + rdm2_f_oovv += einsum(t1, (0, 1), x63, (0, 2, 3, 4), (2, 3, 4, 1)) * -1.0 + del x63 + x64 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x64 += einsum(x2, (0, 1, 2, 3), (1, 0, 2, 3)) * -2.0 + del x2 + x64 += einsum(x4, (0, 1, 2, 3), (0, 1, 2, 3)) + del x4 + x65 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x65 += einsum(t1, (0, 1), x64, (0, 2, 3, 4), (2, 3, 1, 4)) * 0.5 + del x64 + rdm2_f_ovov += einsum(x65, (0, 1, 2, 3), (1, 3, 0, 2)) * -1.0 + rdm2_f_ovvo += einsum(x65, (0, 1, 2, 3), (1, 3, 2, 0)) + rdm2_f_voov += einsum(x65, (0, 1, 2, 3), (3, 1, 0, 2)) + rdm2_f_vovo += einsum(x65, (0, 1, 2, 3), (3, 1, 2, 0)) * -1.0 + del x65 + x66 = np.zeros((nvir, nvir), dtype=types[float]) + x66 += einsum(l1, (0, 1), t1, (1, 2), (0, 2)) + x67 = np.zeros((nvir, nvir), dtype=types[float]) + x67 += einsum(x66, (0, 1), (0, 1)) * 12.00000000000048 + x67 += einsum(x47, (0, 1), (0, 1)) * 6.00000000000024 + x67 += einsum(x48, (0, 1), (0, 1)) + rdm2_f_ovov += einsum(delta.oo, (0, 1), x67, (2, 3), (0, 2, 1, 3)) * 0.08333333333333 + rdm2_f_voov += einsum(delta.oo, (0, 1), x67, (2, 3), (2, 0, 1, 3)) * -0.08333333333333 + del x67 + x68 = np.zeros((nvir, nvir), dtype=types[float]) + x68 += einsum(x66, (0, 1), (0, 1)) * 2.0 + x68 += einsum(x47, (0, 1), (0, 1)) + x68 += einsum(x48, (0, 1), (0, 1)) * 0.16666666666666 + rdm2_f_ovvo += einsum(delta.oo, (0, 1), x68, (2, 3), (0, 2, 3, 1)) * -0.5 + rdm2_f_vovo += einsum(delta.oo, (0, 1), x68, (2, 3), (2, 0, 3, 1)) * 0.5 + del x68 + x69 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x69 += einsum(l2, (0, 1, 2, 3), t3, (4, 2, 3, 5, 6, 1), (4, 0, 5, 6)) + rdm2_f_ovvv = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + rdm2_f_ovvv += einsum(x69, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.5 + rdm2_f_vovv = np.zeros((nvir, nocc, nvir, nvir), dtype=types[float]) + rdm2_f_vovv += einsum(x69, (0, 1, 2, 3), (1, 0, 3, 2)) * 0.5 + del x69 + x70 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x70 += einsum(t3, (0, 1, 2, 3, 4, 5), x14, (0, 1, 2, 6, 7, 5), (6, 7, 3, 4)) * -1.0 + del x14 + rdm2_f_ovvv += einsum(x70, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.16666666666667 + rdm2_f_vovv += einsum(x70, (0, 1, 2, 3), (1, 0, 3, 2)) * 0.16666666666667 + del x70 + x71 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x71 += einsum(l1, (0, 1), t2, (2, 1, 3, 4), (2, 0, 3, 4)) + rdm2_f_ovvv += einsum(x71, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + rdm2_f_vovv += einsum(x71, (0, 1, 2, 3), (1, 0, 3, 2)) + del x71 + x72 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x72 += einsum(t2, (0, 1, 2, 3), x12, (1, 4, 3, 5), (0, 4, 5, 2)) * -1.0 + x73 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x73 += einsum(x44, (0, 1, 2, 3), (0, 1, 2, 3)) + del x44 + x73 += einsum(x31, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.25 + del x31 + x73 += einsum(x33, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 + del x33 + x74 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x74 += einsum(t1, (0, 1), x73, (0, 2, 3, 4), (2, 1, 3, 4)) + del x73 + x75 = np.zeros((nvir, nvir), dtype=types[float]) + x75 += einsum(x66, (0, 1), (0, 1)) + del x66 + x75 += einsum(x47, (0, 1), (0, 1)) * 0.5 + del x47 + x75 += einsum(x48, (0, 1), (0, 1)) * 0.08333333333333 + del x48 + x76 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x76 += einsum(x72, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 + del x72 + x76 += einsum(x74, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + del x74 + x76 += einsum(t1, (0, 1), x75, (2, 3), (0, 2, 1, 3)) + del x75 + rdm2_f_ovvv += einsum(x76, (0, 1, 2, 3), (0, 1, 2, 3)) + rdm2_f_ovvv += einsum(x76, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + rdm2_f_vovv += einsum(x76, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + rdm2_f_vovv += einsum(x76, (0, 1, 2, 3), (1, 0, 3, 2)) + del x76 + x77 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x77 += einsum(t2, (0, 1, 2, 3), x19, (0, 1, 4, 5), (4, 5, 2, 3)) * 0.5 + rdm2_f_ovvv += einsum(x77, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + rdm2_f_vovv += einsum(x77, (0, 1, 2, 3), (1, 0, 3, 2)) + del x77 + x78 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x78 += einsum(t1, (0, 1), x19, (0, 2, 3, 4), (2, 3, 4, 1)) * -1.0 + rdm2_f_ovvv += einsum(t1, (0, 1), x78, (0, 2, 3, 4), (2, 3, 1, 4)) + del x78 + x79 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x79 += einsum(t1, (0, 1), x19, (0, 2, 3, 4), (2, 3, 4, 1)) * -2.0 + del x19 + rdm2_f_vovv += einsum(t1, (0, 1), x79, (0, 2, 3, 4), (3, 2, 4, 1)) * 0.5 + del x79 + x80 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x80 += einsum(t1, (0, 1), l2, (2, 3, 4, 0), (4, 2, 3, 1)) + rdm2_f_vvov += einsum(x80, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 + rdm2_f_vvvo += einsum(x80, (0, 1, 2, 3), (2, 1, 3, 0)) + rdm2_f_vvvv += einsum(t1, (0, 1), x80, (0, 2, 3, 4), (2, 3, 1, 4)) + del x80 + x81 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) + x81 += einsum(t1, (0, 1), x12, (0, 2, 3, 4), (3, 2, 1, 4)) * -1.0 + del x12 + rdm2_f_vvvv += einsum(x81, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 + rdm2_f_vvvv += einsum(x81, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.5 + del x81 + + rdm2_f = pack_2e(rdm2_f_oooo, rdm2_f_ooov, rdm2_f_oovo, rdm2_f_ovoo, rdm2_f_vooo, rdm2_f_oovv, rdm2_f_ovov, rdm2_f_ovvo, rdm2_f_voov, rdm2_f_vovo, rdm2_f_vvoo, rdm2_f_ovvv, rdm2_f_vovv, rdm2_f_vvov, rdm2_f_vvvo, rdm2_f_vvvv) + + rdm2_f = np.transpose(rdm2_f, (0, 2, 1, 3)) + + return rdm2_f + diff --git a/ebcc/codegen/RCCSDT.py b/ebcc/codegen/RCCSDT.py new file mode 100644 index 00000000..28de518e --- /dev/null +++ b/ebcc/codegen/RCCSDT.py @@ -0,0 +1,6763 @@ +# Code generated for ebcc. + +from ebcc import numpy as np +from ebcc.util import pack_2e, einsum, Namespace +from ebcc.precision import types + +def energy(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, t3=None, **kwargs): + # energy + e_cc = 0 + e_cc += einsum(f.ov, (0, 1), t1, (0, 1), ()) * 2.0 + x0 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x0 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -0.5 + x0 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + x1 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x1 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) + x1 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) + e_cc += einsum(x0, (0, 1, 2, 3), x1, (0, 1, 2, 3), ()) * 2.0 + del x0, x1 + + return e_cc + +def update_amps(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, t3=None, **kwargs): + # T amplitudes + t1new = np.zeros((nocc, nvir), dtype=types[float]) + t1new += einsum(f.ov, (0, 1), (0, 1)) + t1new += einsum(f.vv, (0, 1), t1, (2, 1), (2, 0)) + t2new = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + t2new += einsum(t2, (0, 1, 2, 3), v.vvvv, (4, 2, 5, 3), (0, 1, 4, 5)) + t2new += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + t2new += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 5, 1, 3), (4, 0, 5, 2)) * 2.0 + t2new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 2), (4, 0, 3, 5)) * -1.0 + t2new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 3), (4, 0, 5, 2)) * -1.0 + x0 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x0 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) + x0 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x1 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x1 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + x1 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) + t1new += einsum(x0, (0, 1, 2, 3), x1, (1, 4, 0, 2, 3, 5), (4, 5)) * -0.25 + del x1 + x2 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x2 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -0.3333333333333333 + x2 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + t1new += einsum(x2, (0, 1, 2, 3), t3, (4, 0, 1, 5, 2, 3), (4, 5)) * 1.5 + x3 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x3 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) + x3 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) + x4 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x4 += einsum(v.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) + x4 += einsum(v.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 + t1new += einsum(x3, (0, 1, 2, 3), x4, (0, 2, 3, 4), (1, 4)) * 2.0 + x5 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x5 += einsum(t1, (0, 1), v.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) + x6 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x6 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x6 += einsum(v.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x6 += einsum(x5, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x6 += einsum(x5, (0, 1, 2, 3), (0, 2, 1, 3)) * 2.0 + t1new += einsum(t2, (0, 1, 2, 3), x6, (4, 0, 1, 3), (4, 2)) * -1.0 + del x6 + x7 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x7 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -0.5 + x7 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + x8 = np.zeros((nocc, nvir), dtype=types[float]) + x8 += einsum(t1, (0, 1), x7, (0, 2, 1, 3), (2, 3)) + x9 = np.zeros((nocc, nvir), dtype=types[float]) + x9 += einsum(f.ov, (0, 1), (0, 1)) * 0.5 + x9 += einsum(x8, (0, 1), (0, 1)) + x10 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x10 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 + x10 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + t1new += einsum(x9, (0, 1), x10, (0, 2, 3, 1), (2, 3)) * 2.0 + del x10 + x11 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x11 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + x11 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 + t1new += einsum(t1, (0, 1), x11, (0, 2, 1, 3), (2, 3)) * 2.0 + del x11 + x12 = np.zeros((nocc, nocc), dtype=types[float]) + x12 += einsum(f.ov, (0, 1), t1, (2, 1), (0, 2)) + x13 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x13 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) + x13 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 + x14 = np.zeros((nocc, nocc), dtype=types[float]) + x14 += einsum(x13, (0, 1, 2, 3), x3, (0, 4, 3, 2), (4, 1)) * 2.0 + x15 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x15 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) + x15 += einsum(v.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 + x16 = np.zeros((nocc, nocc), dtype=types[float]) + x16 += einsum(t1, (0, 1), x15, (2, 3, 0, 1), (2, 3)) * 2.0 + x17 = np.zeros((nocc, nocc), dtype=types[float]) + x17 += einsum(f.oo, (0, 1), (0, 1)) + x17 += einsum(x12, (0, 1), (0, 1)) + x17 += einsum(x14, (0, 1), (1, 0)) + x17 += einsum(x16, (0, 1), (1, 0)) + del x16 + t1new += einsum(t1, (0, 1), x17, (0, 2), (2, 1)) * -1.0 + t3new = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + t3new += einsum(x17, (0, 1), t3, (2, 0, 3, 4, 5, 6), (2, 1, 3, 4, 5, 6)) * -1.0 + del x17 + x18 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x18 += einsum(t1, (0, 1), v.ooov, (2, 0, 3, 4), (2, 3, 1, 4)) + t2new += einsum(x18, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + x19 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x19 += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 2, 5, 3), (0, 1, 4, 5)) + t2new += einsum(t2, (0, 1, 2, 3), x19, (4, 5, 0, 1), (5, 4, 3, 2)) + x20 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x20 += einsum(t1, (0, 1), v.vvvv, (2, 3, 4, 1), (0, 2, 3, 4)) + t2new += einsum(t1, (0, 1), x20, (2, 3, 1, 4), (0, 2, 3, 4)) + x21 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x21 += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 5, 1, 2), (0, 4, 3, 5)) + t2new += einsum(x21, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x22 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x22 += einsum(f.vv, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4)) + x23 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x23 += einsum(t1, (0, 1), v.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) + x24 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x24 += einsum(t1, (0, 1), v.ooov, (2, 3, 4, 1), (0, 2, 3, 4)) + x25 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x25 += einsum(t2, (0, 1, 2, 3), x24, (4, 5, 0, 1), (4, 5, 2, 3)) + x26 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x26 += einsum(t2, (0, 1, 2, 3), x23, (4, 1, 2, 5), (4, 0, 3, 5)) + x27 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x27 += einsum(x5, (0, 1, 2, 3), t3, (4, 2, 1, 5, 6, 3), (0, 4, 5, 6)) + x28 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x28 += einsum(v.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x28 += einsum(v.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) + x29 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x29 += einsum(x28, (0, 1, 2, 3), t3, (4, 5, 0, 1, 6, 2), (4, 5, 6, 3)) * 0.5 + del x28 + x30 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x30 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x30 += einsum(v.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) + x31 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x31 += einsum(x30, (0, 1, 2, 3), t3, (0, 4, 2, 5, 6, 3), (4, 1, 5, 6)) * 0.5 + del x30 + x32 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x32 += einsum(t1, (0, 1), x4, (2, 3, 1, 4), (0, 2, 3, 4)) * 2.0 + del x4 + x33 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x33 += einsum(t2, (0, 1, 2, 3), x32, (4, 1, 3, 5), (0, 4, 2, 5)) + del x32 + x34 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x34 += einsum(t1, (0, 1), v.oovv, (2, 3, 4, 1), (0, 2, 3, 4)) + x35 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x35 += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 1, 5, 3), (0, 4, 5, 2)) + x36 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x36 += einsum(v.ovov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 1, 3), (4, 5, 0, 6)) + x37 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x37 += einsum(t2, (0, 1, 2, 3), x5, (4, 5, 1, 2), (4, 0, 5, 3)) + x38 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x38 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) * 0.5 + x38 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + x38 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 + x39 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x39 += einsum(v.ooov, (0, 1, 2, 3), x38, (2, 4, 5, 3), (0, 1, 4, 5)) * 2.0 + x40 = np.zeros((nocc, nvir), dtype=types[float]) + x40 += einsum(t1, (0, 1), x7, (0, 2, 1, 3), (2, 3)) * 2.0 + x41 = np.zeros((nocc, nvir), dtype=types[float]) + x41 += einsum(f.ov, (0, 1), (0, 1)) + x41 += einsum(x40, (0, 1), (0, 1)) + del x40 + x42 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x42 += einsum(x41, (0, 1), t2, (2, 3, 1, 4), (2, 3, 0, 4)) + x43 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x43 += einsum(x34, (0, 1, 2, 3), (2, 0, 1, 3)) + x43 += einsum(x35, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 + del x35 + x43 += einsum(x36, (0, 1, 2, 3), (2, 0, 1, 3)) + x43 += einsum(x37, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 + x43 += einsum(x39, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 + del x39 + x43 += einsum(x42, (0, 1, 2, 3), (2, 1, 0, 3)) + del x42 + x44 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x44 += einsum(t1, (0, 1), x43, (0, 2, 3, 4), (2, 3, 1, 4)) + del x43 + x45 = np.zeros((nocc, nocc), dtype=types[float]) + x45 += einsum(t1, (0, 1), x41, (2, 1), (0, 2)) * 0.5 + del x41 + x46 = np.zeros((nocc, nocc), dtype=types[float]) + x46 += einsum(f.oo, (0, 1), (0, 1)) * 0.5 + x46 += einsum(x45, (0, 1), (0, 1)) + del x45 + x47 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x47 += einsum(x46, (0, 1), t2, (2, 1, 3, 4), (2, 0, 4, 3)) * 2.0 + del x46 + x48 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x48 += einsum(x22, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x22 + x48 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x48 += einsum(x25, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x25 + x48 += einsum(x26, (0, 1, 2, 3), (0, 1, 2, 3)) + del x26 + x48 += einsum(x27, (0, 1, 2, 3), (0, 1, 2, 3)) + del x27 + x48 += einsum(x29, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x29 + x48 += einsum(x31, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x31 + x48 += einsum(x33, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x33 + x48 += einsum(x44, (0, 1, 2, 3), (0, 1, 2, 3)) + del x44 + x48 += einsum(x47, (0, 1, 2, 3), (1, 0, 3, 2)) + del x47 + t2new += einsum(x48, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + t2new += einsum(x48, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x48 + x49 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x49 += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 1, 2, 5, 6, 3), (4, 0, 5, 6)) + x50 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x50 += einsum(x5, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x50 += einsum(x5, (0, 1, 2, 3), (0, 2, 1, 3)) + x51 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x51 += einsum(x50, (0, 1, 2, 3), t3, (2, 4, 1, 5, 6, 3), (4, 0, 5, 6)) * 0.5 + del x50 + x52 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x52 += einsum(x9, (0, 1), t3, (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) * 2.0 + x53 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x53 += einsum(t1, (0, 1), x5, (2, 3, 0, 4), (2, 3, 1, 4)) + x54 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x54 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 + x54 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * 2.0 + x55 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x55 += einsum(t2, (0, 1, 2, 3), x54, (1, 4, 3, 5), (0, 4, 2, 5)) * 0.5 + x56 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x56 += einsum(x53, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 + x56 += einsum(x55, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x55 + x57 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x57 += einsum(t2, (0, 1, 2, 3), x56, (4, 1, 5, 2), (0, 4, 3, 5)) * 2.0 + del x56 + x58 = np.zeros((nvir, nvir), dtype=types[float]) + x58 += einsum(t2, (0, 1, 2, 3), x7, (0, 1, 2, 4), (3, 4)) * 2.0 + x59 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x59 += einsum(v.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x59 += einsum(v.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 + x60 = np.zeros((nvir, nvir), dtype=types[float]) + x60 += einsum(t1, (0, 1), x59, (0, 1, 2, 3), (2, 3)) + del x59 + x61 = np.zeros((nvir, nvir), dtype=types[float]) + x61 += einsum(x58, (0, 1), (1, 0)) + del x58 + x61 += einsum(x60, (0, 1), (1, 0)) * -1.0 + x62 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x62 += einsum(x61, (0, 1), t2, (2, 3, 0, 4), (2, 3, 4, 1)) + del x61 + x63 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x63 += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 1, 5, 2), (0, 4, 5, 3)) + x64 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x64 += einsum(x0, (0, 1, 2, 3), t3, (4, 5, 0, 3, 6, 2), (4, 5, 1, 6)) * 0.5 + x65 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x65 += einsum(x5, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 + x65 += einsum(x5, (0, 1, 2, 3), (0, 2, 1, 3)) + x66 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x66 += einsum(t2, (0, 1, 2, 3), x65, (4, 5, 1, 3), (0, 4, 5, 2)) * 2.0 + del x65 + x67 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x67 += einsum(v.ovvv, (0, 1, 2, 3), x3, (4, 5, 3, 1), (0, 4, 5, 2)) + x68 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x68 += einsum(x5, (0, 1, 2, 3), (0, 1, 2, 3)) + x68 += einsum(x63, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x68 += einsum(x64, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x64 + x68 += einsum(x66, (0, 1, 2, 3), (1, 0, 2, 3)) + x68 += einsum(x67, (0, 1, 2, 3), (2, 1, 0, 3)) + del x67 + x69 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x69 += einsum(t1, (0, 1), x68, (2, 3, 0, 4), (2, 3, 1, 4)) + del x68 + x70 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x70 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + x70 += einsum(t1, (0, 1), t2, (2, 3, 4, 5), (2, 0, 3, 1, 4, 5)) * -1.0 + x71 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x71 += einsum(v.ovvv, (0, 1, 2, 3), x70, (0, 4, 5, 1, 6, 3), (4, 5, 2, 6)) + del x70 + x72 = np.zeros((nocc, nocc), dtype=types[float]) + x72 += einsum(t2, (0, 1, 2, 3), x13, (1, 4, 2, 3), (0, 4)) + x73 = np.zeros((nocc, nocc), dtype=types[float]) + x73 += einsum(t1, (0, 1), x15, (2, 3, 0, 1), (2, 3)) + del x15 + x74 = np.zeros((nocc, nocc), dtype=types[float]) + x74 += einsum(x72, (0, 1), (1, 0)) + del x72 + x74 += einsum(x73, (0, 1), (1, 0)) + x75 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x75 += einsum(x74, (0, 1), t2, (2, 0, 3, 4), (2, 1, 4, 3)) * 2.0 + del x74 + x76 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x76 += einsum(x49, (0, 1, 2, 3), (0, 1, 2, 3)) + del x49 + x76 += einsum(x51, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x51 + x76 += einsum(x52, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x52 + x76 += einsum(x57, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x57 + x76 += einsum(x62, (0, 1, 2, 3), (1, 0, 2, 3)) + del x62 + x76 += einsum(x69, (0, 1, 2, 3), (0, 1, 2, 3)) + del x69 + x76 += einsum(x71, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x71 + x76 += einsum(x75, (0, 1, 2, 3), (0, 1, 3, 2)) + del x75 + t2new += einsum(x76, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + t2new += einsum(x76, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x76 + x77 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x77 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + x77 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 + x77 += einsum(t2, (0, 1, 2, 3), x7, (1, 4, 3, 5), (0, 4, 2, 5)) * 2.0 + t2new += einsum(t2, (0, 1, 2, 3), x77, (4, 1, 5, 3), (0, 4, 2, 5)) * 2.0 + del x77 + x78 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x78 += einsum(t1, (0, 1), x5, (2, 3, 4, 1), (2, 0, 4, 3)) + x79 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x79 += einsum(v.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) + x79 += einsum(x78, (0, 1, 2, 3), (3, 1, 2, 0)) + t2new += einsum(t2, (0, 1, 2, 3), x79, (1, 4, 0, 5), (4, 5, 3, 2)) + del x79 + x80 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x80 += einsum(v.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) + x80 += einsum(x19, (0, 1, 2, 3), (3, 1, 0, 2)) + x80 += einsum(x78, (0, 1, 2, 3), (3, 1, 0, 2)) + x81 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x81 += einsum(v.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x81 += einsum(t1, (0, 1), x80, (0, 2, 3, 4), (3, 2, 4, 1)) + del x80 + t2new += einsum(t1, (0, 1), x81, (2, 3, 0, 4), (2, 3, 1, 4)) + del x81 + x82 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x82 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x82 += einsum(x21, (0, 1, 2, 3), (0, 1, 2, 3)) + del x21 + t2new += einsum(t2, (0, 1, 2, 3), x82, (4, 1, 5, 2), (4, 0, 5, 3)) + del x82 + x83 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x83 += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 2, 1, 5), (0, 4, 3, 5)) + x84 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x84 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x84 += einsum(x83, (0, 1, 2, 3), (0, 1, 2, 3)) + del x83 + t2new += einsum(t2, (0, 1, 2, 3), x84, (4, 1, 5, 2), (0, 4, 5, 3)) + x85 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x85 += einsum(v.oooo, (0, 1, 2, 3), t3, (3, 4, 1, 5, 6, 7), (4, 0, 2, 7, 5, 6)) + x86 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x86 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) + x86 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) * 0.99999999999999 + x87 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x87 += einsum(v.ovov, (0, 1, 2, 3), x86, (2, 4, 5, 1), (4, 0, 5, 3)) + x88 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x88 += einsum(x87, (0, 1, 2, 3), t3, (4, 1, 5, 6, 7, 3), (4, 5, 0, 6, 7, 2)) * 1.00000000000001 + x89 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x89 += einsum(x85, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -0.5 + del x85 + x89 += einsum(x88, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) + del x88 + t3new += einsum(x89, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * -1.0 + t3new += einsum(x89, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) + del x89 + x90 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x90 += einsum(v.oooo, (0, 1, 2, 3), t3, (4, 3, 1, 5, 6, 7), (4, 0, 2, 5, 7, 6)) + x91 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x91 += einsum(x24, (0, 1, 2, 3), t3, (4, 2, 3, 5, 6, 7), (0, 4, 1, 5, 7, 6)) + x92 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x92 += einsum(t1, (0, 1), v.ovvv, (2, 1, 3, 4), (0, 2, 3, 4)) + x93 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x93 += einsum(x92, (0, 1, 2, 3), t3, (4, 5, 1, 6, 3, 7), (0, 4, 5, 6, 7, 2)) + x94 = np.zeros((nocc, nocc), dtype=types[float]) + x94 += einsum(f.oo, (0, 1), (0, 1)) + x94 += einsum(x12, (0, 1), (0, 1)) + del x12 + x94 += einsum(x14, (0, 1), (1, 0)) + del x14 + x95 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x95 += einsum(x94, (0, 1), t3, (2, 3, 0, 4, 5, 6), (2, 3, 1, 6, 4, 5)) + del x94 + x96 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x96 += einsum(x90, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x90 + x96 += einsum(x91, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 + del x91 + x96 += einsum(x93, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x93 + x96 += einsum(x95, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) + del x95 + t3new += einsum(x96, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + t3new += einsum(x96, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -1.0 + del x96 + x97 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x97 += einsum(v.ovov, (0, 1, 2, 3), x86, (2, 4, 5, 1), (4, 0, 5, 3)) * 1.00000000000001 + x98 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x98 += einsum(x97, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (4, 5, 0, 6, 7, 2)) + x99 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x99 += einsum(t2, (0, 1, 2, 3), v.oooo, (4, 5, 6, 1), (0, 4, 5, 6, 2, 3)) + x100 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x100 += einsum(t2, (0, 1, 2, 3), x24, (4, 5, 1, 6), (4, 0, 5, 6, 2, 3)) + x101 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x101 += einsum(x99, (0, 1, 2, 3, 4, 5), (0, 2, 3, 1, 4, 5)) * -1.0 + del x99 + x101 += einsum(x100, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x100 + x102 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x102 += einsum(t1, (0, 1), x101, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) + del x101 + x103 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x103 += einsum(x98, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) + del x98 + x103 += einsum(x102, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x102 + t3new += einsum(x103, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + t3new += einsum(x103, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 + t3new += einsum(x103, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -1.0 + t3new += einsum(x103, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) + del x103 + x104 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x104 += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (4, 5, 0, 6, 7, 2)) + x105 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x105 += einsum(v.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x105 += einsum(x63, (0, 1, 2, 3), (0, 1, 2, 3)) + del x63 + x106 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x106 += einsum(t2, (0, 1, 2, 3), x105, (4, 5, 1, 6), (0, 4, 5, 3, 2, 6)) + del x105 + x107 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x107 += einsum(x104, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x104 + x107 += einsum(x106, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 + del x106 + t3new += einsum(x107, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 + t3new += einsum(x107, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) + t3new += einsum(x107, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) + t3new += einsum(x107, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -1.0 + del x107 + x108 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x108 += einsum(v.vvvv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 3, 1), (4, 6, 5, 7, 0, 2)) + x109 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x109 += einsum(x19, (0, 1, 2, 3), t3, (3, 4, 2, 5, 6, 7), (1, 0, 4, 5, 7, 6)) + x110 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) + x110 += einsum(v.ovov, (0, 1, 2, 3), t3, (4, 5, 6, 1, 7, 3), (4, 6, 5, 0, 2, 7)) + x111 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x111 += einsum(t2, (0, 1, 2, 3), x110, (4, 5, 6, 0, 1, 7), (4, 5, 6, 2, 3, 7)) + x112 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x112 += einsum(x78, (0, 1, 2, 3), t3, (2, 4, 3, 5, 6, 7), (1, 0, 4, 7, 5, 6)) + del x78 + x113 = np.zeros((nvir, nvir), dtype=types[float]) + x113 += einsum(f.ov, (0, 1), t1, (0, 2), (1, 2)) + x114 = np.zeros((nvir, nvir), dtype=types[float]) + x114 += einsum(x3, (0, 1, 2, 3), x7, (0, 1, 2, 4), (3, 4)) * 2.0 + del x7 + x115 = np.zeros((nvir, nvir), dtype=types[float]) + x115 += einsum(f.vv, (0, 1), (0, 1)) * -1.0 + x115 += einsum(x113, (0, 1), (0, 1)) + x115 += einsum(x114, (0, 1), (1, 0)) + x116 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x116 += einsum(x115, (0, 1), t3, (2, 3, 4, 0, 5, 6), (2, 4, 3, 6, 5, 1)) + del x115 + x117 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x117 += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 1, 5, 6, 7, 3), (4, 5, 0, 2, 6, 7)) + x118 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x118 += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 3, 1), (4, 6, 5, 0, 7, 2)) + x119 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x119 += einsum(t1, (0, 1), x110, (2, 3, 4, 0, 5, 6), (3, 2, 4, 5, 1, 6)) + del x110 + x120 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x120 += einsum(x117, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 + del x117 + x120 += einsum(x118, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x118 + x120 += einsum(x119, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 0.5 + del x119 + x121 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x121 += einsum(t1, (0, 1), x120, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) + del x120 + x122 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x122 += einsum(x108, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x108 + x122 += einsum(x109, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 0.5 + del x109 + x122 += einsum(x111, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 0.5 + del x111 + x122 += einsum(x112, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 0.5 + del x112 + x122 += einsum(x116, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) + del x116 + x122 += einsum(x121, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x121 + t3new += einsum(x122, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + t3new += einsum(x122, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 + del x122 + x123 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x123 += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 3), (0, 2, 4, 5)) + x124 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x124 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + x124 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x125 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x125 += einsum(v.ovvv, (0, 1, 2, 3), x124, (0, 4, 1, 5), (4, 2, 3, 5)) + x126 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x126 += einsum(v.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) + x126 += einsum(x123, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x123 + x126 += einsum(x125, (0, 1, 2, 3), (0, 3, 2, 1)) + del x125 + x127 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x127 += einsum(t2, (0, 1, 2, 3), x126, (4, 5, 2, 6), (0, 1, 4, 3, 5, 6)) + del x126 + x128 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x128 += einsum(t2, (0, 1, 2, 3), x5, (4, 0, 1, 5), (4, 2, 3, 5)) + x129 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x129 += einsum(t1, (0, 1), x53, (2, 0, 3, 4), (2, 1, 3, 4)) + del x53 + x130 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x130 += einsum(x128, (0, 1, 2, 3), (0, 1, 2, 3)) + del x128 + x130 += einsum(x129, (0, 1, 2, 3), (0, 1, 2, 3)) + del x129 + x131 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x131 += einsum(t2, (0, 1, 2, 3), x130, (4, 5, 6, 2), (0, 1, 4, 3, 5, 6)) + del x130 + x132 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x132 += einsum(x127, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) + del x127 + x132 += einsum(x131, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) + del x131 + t3new += einsum(x132, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) + t3new += einsum(x132, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -1.0 + t3new += einsum(x132, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) + t3new += einsum(x132, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -1.0 + t3new += einsum(x132, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 + t3new += einsum(x132, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) + t3new += einsum(x132, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) + t3new += einsum(x132, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 + t3new += einsum(x132, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) * -1.0 + t3new += einsum(x132, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) + t3new += einsum(x132, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -1.0 + t3new += einsum(x132, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) + del x132 + x133 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x133 += einsum(t2, (0, 1, 2, 3), x54, (1, 4, 3, 5), (0, 4, 2, 5)) + del x54 + x134 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x134 += einsum(v.ovov, (0, 1, 2, 3), x86, (2, 4, 5, 3), (4, 0, 5, 1)) + del x86 + x135 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x135 += einsum(x133, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x133 + x135 += einsum(x134, (0, 1, 2, 3), (0, 1, 2, 3)) + del x134 + x136 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x136 += einsum(x135, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (4, 5, 0, 6, 7, 2)) * 1.00000000000001 + del x135 + x137 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x137 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 + x137 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + x138 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x138 += einsum(x137, (0, 1, 2, 3), t3, (0, 4, 1, 5, 6, 2), (4, 5, 6, 3)) + del x137 + x139 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x139 += einsum(t2, (0, 1, 2, 3), x138, (4, 5, 6, 2), (0, 1, 4, 3, 5, 6)) * -0.5 + del x138 + x140 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x140 += einsum(x0, (0, 1, 2, 3), t3, (4, 5, 0, 3, 6, 2), (4, 5, 1, 6)) + del x0 + x141 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x141 += einsum(t2, (0, 1, 2, 3), x140, (4, 5, 1, 6), (0, 4, 5, 3, 2, 6)) * -0.5 + del x140 + x142 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x142 += einsum(x136, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) + del x136 + x142 += einsum(x139, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) + del x139 + x142 += einsum(x141, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) + del x141 + t3new += einsum(x142, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 + t3new += einsum(x142, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) + t3new += einsum(x142, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + t3new += einsum(x142, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) + t3new += einsum(x142, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) + t3new += einsum(x142, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 + t3new += einsum(x142, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) + t3new += einsum(x142, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -1.0 + del x142 + x143 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x143 += einsum(v.ovov, (0, 1, 2, 3), t3, (4, 0, 2, 5, 6, 1), (4, 5, 6, 3)) + x144 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x144 += einsum(t2, (0, 1, 2, 3), x143, (4, 5, 6, 3), (0, 1, 4, 2, 5, 6)) + del x143 + x145 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x145 += einsum(v.ovov, (0, 1, 2, 3), t3, (4, 2, 5, 1, 6, 3), (4, 5, 0, 6)) + x146 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x146 += einsum(t2, (0, 1, 2, 3), x145, (4, 5, 1, 6), (0, 4, 5, 2, 3, 6)) + del x145 + x147 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x147 += einsum(x144, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 0.5 + del x144 + x147 += einsum(x146, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -0.5 + del x146 + t3new += einsum(x147, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 + t3new += einsum(x147, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) + t3new += einsum(x147, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) + t3new += einsum(x147, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 + del x147 + x148 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x148 += einsum(v.ovov, (0, 1, 2, 3), t3, (4, 0, 2, 5, 6, 3), (4, 5, 6, 1)) + x149 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x149 += einsum(t2, (0, 1, 2, 3), x148, (4, 5, 6, 3), (0, 1, 4, 2, 5, 6)) + del x148 + t3new += einsum(x149, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 + t3new += einsum(x149, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) + t3new += einsum(x149, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 + t3new += einsum(x149, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) + t3new += einsum(x149, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 0.5 + t3new += einsum(x149, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -0.5 + t3new += einsum(x149, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -0.5 + t3new += einsum(x149, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * 0.5 + t3new += einsum(x149, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) + t3new += einsum(x149, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -1.0 + t3new += einsum(x149, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) + t3new += einsum(x149, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -1.0 + del x149 + x150 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x150 += einsum(x2, (0, 1, 2, 3), t3, (4, 0, 1, 5, 2, 6), (4, 6, 5, 3)) + del x2 + x151 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x151 += einsum(t2, (0, 1, 2, 3), x150, (4, 5, 6, 2), (0, 1, 4, 3, 6, 5)) * 1.5 + del x150 + t3new += einsum(x151, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) + t3new += einsum(x151, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -1.0 + del x151 + x152 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x152 += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 1, 6, 3, 7), (4, 5, 0, 6, 7, 2)) + x153 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x153 += einsum(v.ovov, (0, 1, 2, 3), x3, (4, 5, 1, 3), (4, 5, 0, 2)) + x154 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x154 += einsum(x153, (0, 1, 2, 3), t3, (4, 3, 2, 5, 6, 7), (4, 1, 0, 7, 5, 6)) + x155 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x155 += einsum(x73, (0, 1), t3, (2, 3, 1, 4, 5, 6), (2, 3, 0, 6, 4, 5)) * 2.0 + del x73 + x156 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x156 += einsum(x152, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x152 + x156 += einsum(x154, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) + del x154 + x156 += einsum(x155, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) + del x155 + t3new += einsum(x156, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 + t3new += einsum(x156, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) + del x156 + x157 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x157 += einsum(t2, (0, 1, 2, 3), x36, (4, 5, 1, 6), (0, 4, 5, 2, 3, 6)) + del x36 + t3new += einsum(x157, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 + t3new += einsum(x157, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) + t3new += einsum(x157, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 + t3new += einsum(x157, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) + t3new += einsum(x157, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) + t3new += einsum(x157, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -1.0 + t3new += einsum(x157, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) + t3new += einsum(x157, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -1.0 + del x157 + x158 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x158 += einsum(x13, (0, 1, 2, 3), t3, (4, 0, 5, 2, 3, 6), (4, 5, 1, 6)) + del x13 + x159 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x159 += einsum(t2, (0, 1, 2, 3), x158, (4, 5, 1, 6), (0, 5, 4, 3, 2, 6)) * 2.0 + del x158 + t3new += einsum(x159, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) + t3new += einsum(x159, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -1.0 + del x159 + x160 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x160 += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 1, 5, 6, 7, 3), (4, 5, 0, 6, 7, 2)) + x161 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x161 += einsum(v.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) + x161 += einsum(v.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) * -0.5 + x162 = np.zeros((nvir, nvir), dtype=types[float]) + x162 += einsum(t1, (0, 1), x161, (0, 1, 2, 3), (2, 3)) * 2.0 + del x161 + x163 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x163 += einsum(x162, (0, 1), t3, (2, 3, 4, 1, 5, 6), (2, 4, 3, 6, 5, 0)) + del x162 + x164 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) + x164 += einsum(v.ovov, (0, 1, 2, 3), t3, (4, 5, 6, 7, 3, 1), (4, 6, 5, 0, 2, 7)) + x165 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x165 += einsum(x3, (0, 1, 2, 3), x164, (4, 5, 6, 1, 0, 7), (4, 5, 6, 2, 3, 7)) + del x3, x164 + x166 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x166 += einsum(x160, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x160 + x166 += einsum(x163, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * -1.0 + del x163 + x166 += einsum(x165, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) + del x165 + t3new += einsum(x166, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 + t3new += einsum(x166, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) + del x166 + x167 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x167 += einsum(x87, (0, 1, 2, 3), t3, (4, 5, 1, 6, 3, 7), (4, 5, 0, 7, 6, 2)) * 1.00000000000001 + del x87 + t3new += einsum(x167, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -1.0 + t3new += einsum(x167, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) + del x167 + x168 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x168 += einsum(x92, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (0, 4, 5, 6, 7, 2)) + x169 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x169 += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 6, 1, 7, 3), (4, 6, 5, 0, 7, 2)) + x170 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x170 += einsum(t1, (0, 1), x169, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) + del x169 + x171 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x171 += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 1, 2), (0, 4, 5, 3)) + x172 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x172 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x172 += einsum(v.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x173 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x173 += einsum(t2, (0, 1, 2, 3), x172, (4, 5, 1, 3), (0, 4, 5, 2)) + del x172 + x174 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x174 += einsum(x171, (0, 1, 2, 3), (0, 2, 1, 3)) + del x171 + x174 += einsum(x173, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + del x173 + x175 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x175 += einsum(t2, (0, 1, 2, 3), x174, (4, 1, 5, 6), (0, 4, 5, 3, 2, 6)) + del x174 + x176 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x176 += einsum(x34, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x176 += einsum(x37, (0, 1, 2, 3), (0, 1, 2, 3)) + del x37 + x177 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x177 += einsum(t2, (0, 1, 2, 3), x176, (4, 5, 1, 6), (0, 4, 5, 3, 2, 6)) + del x176 + x178 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x178 += einsum(x168, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x168 + x178 += einsum(x170, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -0.5 + del x170 + x178 += einsum(x175, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) + del x175 + x178 += einsum(x177, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 + del x177 + t3new += einsum(x178, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) + t3new += einsum(x178, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -1.0 + t3new += einsum(x178, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) * -1.0 + t3new += einsum(x178, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) + del x178 + x179 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x179 += einsum(t1, (0, 1), x23, (2, 3, 1, 4), (0, 2, 3, 4)) + x180 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x180 += einsum(t2, (0, 1, 2, 3), x179, (4, 5, 1, 6), (4, 5, 0, 2, 3, 6)) + del x179 + x181 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x181 += einsum(t2, (0, 1, 2, 3), x5, (4, 1, 5, 2), (4, 0, 5, 3)) + x182 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x182 += einsum(x5, (0, 1, 2, 3), (0, 1, 2, 3)) + x182 += einsum(x181, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x181 + x182 += einsum(x66, (0, 1, 2, 3), (1, 0, 2, 3)) + del x66 + x183 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x183 += einsum(t2, (0, 1, 2, 3), x182, (4, 5, 1, 6), (0, 4, 5, 3, 2, 6)) + del x182 + x184 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x184 += einsum(x180, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x180 + x184 += einsum(x183, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 + del x183 + t3new += einsum(x184, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) + t3new += einsum(x184, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -1.0 + t3new += einsum(x184, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) * -1.0 + t3new += einsum(x184, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) + del x184 + x185 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x185 += einsum(x24, (0, 1, 2, 3), t3, (3, 4, 2, 5, 6, 7), (0, 4, 1, 7, 5, 6)) + x186 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x186 += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (4, 5, 0, 2, 6, 7)) + x187 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x187 += einsum(t1, (0, 1), x186, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) + del x186 + x188 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x188 += einsum(x9, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4)) * 2.0 + x189 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x189 += einsum(t1, (0, 1), x153, (2, 3, 4, 0), (3, 2, 4, 1)) + del x153 + x190 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x190 += einsum(x188, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x188 + x190 += einsum(x189, (0, 1, 2, 3), (1, 0, 2, 3)) + del x189 + x191 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x191 += einsum(t2, (0, 1, 2, 3), x190, (4, 5, 1, 6), (0, 4, 5, 3, 2, 6)) + del x190 + x192 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x192 += einsum(x185, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 0.5 + del x185 + x192 += einsum(x187, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x187 + x192 += einsum(x191, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -1.0 + del x191 + t3new += einsum(x192, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 + t3new += einsum(x192, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) + t3new += einsum(x192, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) + t3new += einsum(x192, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -1.0 + del x192 + x193 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x193 += einsum(t2, (0, 1, 2, 3), x20, (4, 5, 3, 6), (4, 0, 1, 2, 6, 5)) + del x20 + x194 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x194 += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 3, 1, 5), (0, 4, 2, 5)) + x195 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x195 += einsum(v.ovov, (0, 1, 2, 3), x124, (2, 4, 3, 5), (4, 0, 5, 1)) + del x124 + x196 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x196 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + x196 += einsum(x194, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x196 += einsum(x195, (0, 1, 2, 3), (0, 1, 2, 3)) + del x195 + x197 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x197 += einsum(t2, (0, 1, 2, 3), x196, (4, 5, 6, 2), (0, 1, 4, 5, 3, 6)) + del x196 + x198 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x198 += einsum(t1, (0, 1), x197, (2, 3, 4, 0, 5, 6), (3, 2, 4, 1, 5, 6)) + del x197 + x199 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x199 += einsum(x193, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x193 + x199 += einsum(x198, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 + del x198 + t3new += einsum(x199, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) + t3new += einsum(x199, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -1.0 + t3new += einsum(x199, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + t3new += einsum(x199, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) + t3new += einsum(x199, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) + t3new += einsum(x199, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -1.0 + t3new += einsum(x199, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) * -1.0 + t3new += einsum(x199, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) + t3new += einsum(x199, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) + t3new += einsum(x199, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 + t3new += einsum(x199, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -1.0 + t3new += einsum(x199, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) + del x199 + x200 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x200 += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 2, 5, 3), (0, 1, 4, 5)) + x201 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x201 += einsum(t2, (0, 1, 2, 3), x200, (4, 5, 1, 6), (4, 5, 0, 2, 3, 6)) + del x200 + x202 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x202 += einsum(t2, (0, 1, 2, 3), x84, (4, 5, 6, 2), (0, 1, 4, 5, 3, 6)) + del x84 + x203 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x203 += einsum(t1, (0, 1), x202, (2, 3, 4, 0, 5, 6), (3, 2, 4, 1, 5, 6)) * -1.0 + del x202 + x204 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x204 += einsum(x201, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x201 + x204 += einsum(x203, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x203 + t3new += einsum(x204, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) + t3new += einsum(x204, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -1.0 + t3new += einsum(x204, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -1.0 + t3new += einsum(x204, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) + t3new += einsum(x204, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) + t3new += einsum(x204, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -1.0 + t3new += einsum(x204, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) * -1.0 + t3new += einsum(x204, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) + t3new += einsum(x204, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) + t3new += einsum(x204, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -1.0 + t3new += einsum(x204, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -1.0 + t3new += einsum(x204, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) + del x204 + x205 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x205 += einsum(x23, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 2), (0, 4, 5, 6, 7, 3)) + t3new += einsum(x205, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 + t3new += einsum(x205, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) + t3new += einsum(x205, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 + t3new += einsum(x205, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) + t3new += einsum(x205, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) + t3new += einsum(x205, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -1.0 + t3new += einsum(x205, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) + t3new += einsum(x205, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * -1.0 + del x205 + x206 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x206 += einsum(x92, (0, 1, 2, 3), t3, (4, 1, 5, 6, 7, 3), (0, 4, 5, 6, 7, 2)) + t3new += einsum(x206, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * -1.0 + t3new += einsum(x206, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) + del x206 + x207 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x207 += einsum(v.vvvv, (0, 1, 2, 3), t3, (4, 5, 6, 1, 7, 3), (4, 6, 5, 7, 0, 2)) + x208 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x208 += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 1, 3), (4, 6, 5, 0, 7, 2)) + x209 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x209 += einsum(t1, (0, 1), x208, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) + del x208 + x210 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x210 += einsum(x207, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -0.5 + del x207 + x210 += einsum(x209, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x209 + t3new += einsum(x210, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -1.0 + t3new += einsum(x210, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) + del x210 + x211 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x211 += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 2), (0, 3, 4, 5)) + x212 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x212 += einsum(t2, (0, 1, 2, 3), x211, (4, 5, 3, 6), (0, 1, 4, 2, 5, 6)) + del x211 + x213 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x213 += einsum(t2, (0, 1, 2, 3), x92, (4, 5, 6, 3), (4, 0, 1, 5, 2, 6)) + x214 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x214 += einsum(t1, (0, 1), x213, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) + del x213 + x215 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x215 += einsum(x212, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x212 + x215 += einsum(x214, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x214 + t3new += einsum(x215, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 + t3new += einsum(x215, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) + t3new += einsum(x215, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + t3new += einsum(x215, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) + t3new += einsum(x215, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 + t3new += einsum(x215, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) + t3new += einsum(x215, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) + t3new += einsum(x215, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 + t3new += einsum(x215, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) + t3new += einsum(x215, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 + t3new += einsum(x215, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) + t3new += einsum(x215, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -1.0 + del x215 + x216 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x216 += einsum(t2, (0, 1, 2, 3), x23, (4, 5, 3, 6), (4, 0, 1, 5, 2, 6)) + x217 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x217 += einsum(t1, (0, 1), x216, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) + del x216 + x218 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x218 += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 0, 1, 5), (4, 2, 3, 5)) + x219 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x219 += einsum(t1, (0, 1), v.ooov, (2, 3, 0, 4), (2, 3, 1, 4)) + x220 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x220 += einsum(t1, (0, 1), x219, (2, 0, 3, 4), (2, 1, 3, 4)) + x221 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x221 += einsum(x218, (0, 1, 2, 3), (0, 1, 2, 3)) + del x218 + x221 += einsum(x220, (0, 1, 2, 3), (0, 1, 2, 3)) + del x220 + x222 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x222 += einsum(t2, (0, 1, 2, 3), x221, (4, 5, 6, 2), (0, 1, 4, 3, 5, 6)) + del x221 + x223 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x223 += einsum(x217, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 + del x217 + x223 += einsum(x222, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) + del x222 + t3new += einsum(x223, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 + t3new += einsum(x223, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) + t3new += einsum(x223, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -1.0 + t3new += einsum(x223, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) + t3new += einsum(x223, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * -1.0 + t3new += einsum(x223, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) + t3new += einsum(x223, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) + t3new += einsum(x223, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * -1.0 + t3new += einsum(x223, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) + t3new += einsum(x223, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -1.0 + t3new += einsum(x223, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) + t3new += einsum(x223, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -1.0 + del x223 + x224 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x224 += einsum(x24, (0, 1, 2, 3), t3, (4, 3, 2, 5, 6, 7), (0, 4, 1, 5, 7, 6)) + t3new += einsum(x224, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) + t3new += einsum(x224, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) * -1.0 + del x224 + x225 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x225 += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 3), (4, 5, 0, 1, 6, 7)) + x226 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x226 += einsum(t1, (0, 1), x225, (2, 3, 0, 4, 5, 6), (2, 3, 4, 1, 5, 6)) + del x225 + t3new += einsum(x226, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) + t3new += einsum(x226, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -1.0 + t3new += einsum(x226, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) + t3new += einsum(x226, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -1.0 + t3new += einsum(x226, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) * -1.0 + t3new += einsum(x226, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) + t3new += einsum(x226, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -1.0 + t3new += einsum(x226, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) + del x226 + x227 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x227 += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 5, 1, 6, 3, 7), (4, 5, 0, 2, 6, 7)) + x228 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x228 += einsum(t1, (0, 1), x227, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) + del x227 + t3new += einsum(x228, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) + t3new += einsum(x228, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -1.0 + del x228 + x229 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x229 += einsum(t1, (0, 1), x24, (2, 3, 0, 4), (2, 3, 4, 1)) + x230 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x230 += einsum(t2, (0, 1, 2, 3), x229, (4, 5, 1, 6), (4, 0, 5, 6, 2, 3)) + del x229 + t3new += einsum(x230, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * -1.0 + t3new += einsum(x230, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) + t3new += einsum(x230, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) + t3new += einsum(x230, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * -1.0 + del x230 + x231 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x231 += einsum(v.ovov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 3), (4, 5, 0, 6, 7, 1)) + t3new += einsum(x231, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + t3new += einsum(x231, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -1.0 + t3new += einsum(x231, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) + t3new += einsum(x231, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 + t3new += einsum(x231, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -1.0 + t3new += einsum(x231, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) + t3new += einsum(x231, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -1.0 + t3new += einsum(x231, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) + del x231 + x232 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x232 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) * 0.499999999999995 + x232 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + x232 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 + x233 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x233 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x233 += einsum(x18, (0, 1, 2, 3), (1, 0, 3, 2)) + del x18 + x233 += einsum(x23, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + x233 += einsum(x194, (0, 1, 2, 3), (1, 0, 3, 2)) * 1.00000000000001 + del x194 + x233 += einsum(v.ovov, (0, 1, 2, 3), x232, (2, 4, 5, 3), (0, 4, 1, 5)) * 2.00000000000002 + del x232 + x234 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x234 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + x234 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 + x234 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) + x234 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -1.0 + t3new += einsum(x233, (0, 1, 2, 3), x234, (0, 4, 5, 2, 6, 7), (4, 1, 5, 7, 3, 6)) + del x233, x234 + x235 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x235 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x235 += einsum(x219, (0, 1, 2, 3), (1, 0, 3, 2)) + del x219 + x235 += einsum(x92, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + x235 += einsum(x97, (0, 1, 2, 3), (1, 0, 3, 2)) + del x97 + t3new += einsum(x235, (0, 1, 2, 3), t3, (4, 0, 5, 6, 2, 7), (4, 1, 5, 6, 3, 7)) + del x235 + x236 = np.zeros((nvir, nvir), dtype=types[float]) + x236 += einsum(f.vv, (0, 1), (0, 1)) * -1.0 + x236 += einsum(x113, (0, 1), (0, 1)) + del x113 + x236 += einsum(x114, (0, 1), (1, 0)) + del x114 + x236 += einsum(x60, (0, 1), (1, 0)) * -1.0 + del x60 + t3new += einsum(x236, (0, 1), t3, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) * -1.0 + del x236 + x237 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x237 += einsum(v.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) + x237 += einsum(x5, (0, 1, 2, 3), (0, 1, 2, 3)) + x238 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x238 += einsum(x237, (0, 1, 2, 3), x38, (1, 4, 5, 3), (4, 0, 2, 5)) + x239 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x239 += einsum(t2, (0, 1, 2, 3), x237, (4, 5, 1, 3), (0, 4, 5, 2)) * 0.5 + x240 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x240 += einsum(t2, (0, 1, 2, 3), x237, (4, 5, 1, 2), (0, 4, 5, 3)) * 0.5 + del x237 + x241 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x241 += einsum(x9, (0, 1), t2, (2, 3, 1, 4), (2, 3, 0, 4)) + del x9 + x242 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x242 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) + x242 += einsum(x92, (0, 1, 2, 3), (0, 1, 3, 2)) + del x92 + x243 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x243 += einsum(t1, (0, 1), x242, (2, 3, 1, 4), (0, 2, 3, 4)) * 0.5 + del x242 + x244 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x244 += einsum(v.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) + x244 += einsum(x24, (0, 1, 2, 3), (2, 1, 0, 3)) + x244 += einsum(x19, (0, 1, 2, 3), (3, 1, 0, 2)) + x245 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x245 += einsum(t1, (0, 1), x244, (0, 2, 3, 4), (2, 3, 4, 1)) * 0.5 + del x244 + x246 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x246 += einsum(v.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) * -0.5 + x246 += einsum(x5, (0, 1, 2, 3), (1, 2, 0, 3)) * -0.5 + x246 += einsum(x238, (0, 1, 2, 3), (0, 2, 1, 3)) + del x238 + x246 += einsum(x239, (0, 1, 2, 3), (0, 2, 1, 3)) + del x239 + x246 += einsum(x240, (0, 1, 2, 3), (1, 2, 0, 3)) + del x240 + x246 += einsum(x241, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 + del x241 + x246 += einsum(x243, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + del x243 + x246 += einsum(x245, (0, 1, 2, 3), (0, 2, 1, 3)) + del x245 + x247 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x247 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + x247 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) + t3new += einsum(x246, (0, 1, 2, 3), x247, (1, 4, 5, 6), (4, 0, 2, 5, 3, 6)) * -2.0 + x248 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x248 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) + x248 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + t3new += einsum(x246, (0, 1, 2, 3), x248, (1, 4, 5, 6), (2, 0, 4, 5, 3, 6)) * -2.0 + del x246 + x249 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x249 += einsum(v.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) + x249 += einsum(x24, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 + x250 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x250 += einsum(t1, (0, 1), x249, (0, 2, 3, 4), (2, 3, 4, 1)) + del x249 + x251 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x251 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) + x251 += einsum(x250, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 + del x250 + x252 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x252 += einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), (0, 2, 3, 4)) + x253 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x253 += einsum(t1, (0, 1), x19, (2, 3, 4, 0), (2, 3, 4, 1)) + del x19 + x254 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x254 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) + x254 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + x254 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) + x255 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x255 += einsum(v.ooov, (0, 1, 2, 3), x254, (1, 4, 5, 3), (0, 2, 4, 5)) + del x254 + x256 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x256 += einsum(x38, (0, 1, 2, 3), x5, (4, 0, 5, 3), (4, 5, 1, 2)) * 2.0 + del x38 + x257 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x257 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) + x257 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 + x258 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x258 += einsum(v.ooov, (0, 1, 2, 3), x257, (2, 4, 5, 3), (0, 1, 4, 5)) * 2.0 + del x257 + x259 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x259 += einsum(x247, (0, 1, 2, 3), x5, (4, 5, 0, 3), (4, 5, 1, 2)) + del x247 + x260 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x260 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) + x260 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x260 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) + x261 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x261 += einsum(t1, (0, 1), x260, (2, 3, 1, 4), (0, 2, 3, 4)) + del x260 + x262 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x262 += einsum(x8, (0, 1), t2, (2, 3, 1, 4), (2, 3, 0, 4)) * 2.0 + del x8 + x263 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x263 += einsum(x253, (0, 1, 2, 3), (0, 2, 1, 3)) + x263 += einsum(x255, (0, 1, 2, 3), (2, 1, 0, 3)) + x263 += einsum(x256, (0, 1, 2, 3), (0, 1, 2, 3)) + x263 += einsum(x258, (0, 1, 2, 3), (2, 1, 0, 3)) + x263 += einsum(x259, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x259 + x263 += einsum(x261, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + del x261 + x263 += einsum(x262, (0, 1, 2, 3), (1, 2, 0, 3)) + x264 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x264 += einsum(x251, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x264 += einsum(x251, (0, 1, 2, 3), (0, 2, 1, 3)) + del x251 + x264 += einsum(x252, (0, 1, 2, 3), (0, 1, 2, 3)) + x264 += einsum(x252, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x264 += einsum(x263, (0, 1, 2, 3), (1, 0, 2, 3)) + x264 += einsum(x263, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 + del x263 + t3new += einsum(t2, (0, 1, 2, 3), x264, (1, 4, 5, 6), (4, 0, 5, 6, 2, 3)) * -1.0 + del x264 + x265 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x265 += einsum(t1, (0, 1), v.oooo, (2, 3, 4, 0), (2, 3, 4, 1)) + x266 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x266 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x266 += einsum(x265, (0, 1, 2, 3), (1, 0, 2, 3)) + del x265 + x266 += einsum(x252, (0, 1, 2, 3), (1, 0, 2, 3)) + del x252 + x267 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x267 += einsum(x34, (0, 1, 2, 3), (0, 2, 1, 3)) + del x34 + x267 += einsum(x258, (0, 1, 2, 3), (2, 1, 0, 3)) + del x258 + x268 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x268 += einsum(x248, (0, 1, 2, 3), x5, (4, 5, 0, 2), (4, 5, 1, 3)) + del x5, x248 + x269 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x269 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + x269 += einsum(x23, (0, 1, 2, 3), (1, 0, 2, 3)) + del x23 + x270 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x270 += einsum(t1, (0, 1), x269, (2, 3, 1, 4), (0, 2, 3, 4)) + del x269 + x271 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x271 += einsum(x253, (0, 1, 2, 3), (0, 1, 2, 3)) + del x253 + x271 += einsum(x255, (0, 1, 2, 3), (2, 0, 1, 3)) + del x255 + x271 += einsum(x256, (0, 1, 2, 3), (0, 2, 1, 3)) + del x256 + x271 += einsum(x268, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + del x268 + x271 += einsum(x262, (0, 1, 2, 3), (1, 0, 2, 3)) + del x262 + x271 += einsum(x270, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + del x270 + x272 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x272 += einsum(t1, (0, 1), x24, (2, 3, 4, 0), (2, 4, 3, 1)) + del x24 + x273 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x273 += einsum(x266, (0, 1, 2, 3), (0, 2, 1, 3)) + x273 += einsum(x266, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 + del x266 + x273 += einsum(x267, (0, 1, 2, 3), (0, 1, 2, 3)) + x273 += einsum(x267, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x267 + x273 += einsum(x271, (0, 1, 2, 3), (0, 1, 2, 3)) + x273 += einsum(x271, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x271 + x273 += einsum(x272, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x273 += einsum(x272, (0, 1, 2, 3), (1, 0, 2, 3)) + del x272 + t3new += einsum(t2, (0, 1, 2, 3), x273, (4, 5, 1, 6), (5, 0, 4, 3, 2, 6)) * -1.0 + del x273 + + return {"t1new": t1new, "t2new": t2new, "t3new": t3new} + +def update_lams(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, t3=None, l1=None, l2=None, l3=None, **kwargs): + # L amplitudes + l1new = np.zeros((nvir, nocc), dtype=types[float]) + l1new += einsum(f.ov, (0, 1), (1, 0)) + l2new = np.zeros((nvir, nvir, nocc, nocc), dtype=types[float]) + l2new += einsum(l2, (0, 1, 2, 3), v.vvvv, (4, 1, 5, 0), (4, 5, 3, 2)) + l2new += einsum(v.ovov, (0, 1, 2, 3), (1, 3, 0, 2)) + l2new += einsum(l2, (0, 1, 2, 3), v.oooo, (4, 2, 5, 3), (0, 1, 4, 5)) + l3new = np.zeros((nvir, nvir, nvir, nocc, nocc, nocc), dtype=types[float]) + l3new += einsum(l1, (0, 1), v.ovov, (2, 3, 4, 5), (0, 3, 5, 1, 2, 4)) + l3new += einsum(l1, (0, 1), v.ovov, (2, 3, 4, 5), (5, 3, 0, 1, 2, 4)) * -1.0 + l3new += einsum(l1, (0, 1), v.ovov, (2, 3, 4, 5), (5, 0, 3, 2, 1, 4)) * -1.0 + l3new += einsum(l1, (0, 1), v.ovov, (2, 3, 4, 5), (3, 0, 5, 2, 1, 4)) + l3new += einsum(l1, (0, 1), v.ovov, (2, 3, 4, 5), (0, 5, 3, 2, 4, 1)) * -1.0 + l3new += einsum(l1, (0, 1), v.ovov, (2, 3, 4, 5), (3, 5, 0, 2, 4, 1)) + x0 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x0 += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 3), (4, 5, 0, 1, 6, 7)) + x1 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x1 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) + x1 += einsum(v.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 + x2 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x2 += einsum(x1, (0, 1, 2, 3), t3, (4, 5, 0, 6, 3, 7), (4, 5, 1, 2, 7, 6)) * 0.25 + x3 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x3 += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (4, 5, 0, 2, 6, 7)) + x4 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x4 += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 2, 5, 6, 3, 7), (4, 5, 0, 1, 6, 7)) + x5 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x5 += einsum(t1, (0, 1), v.ooov, (2, 3, 4, 1), (0, 2, 3, 4)) + x6 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x6 += einsum(t2, (0, 1, 2, 3), x5, (4, 5, 1, 6), (4, 0, 5, 6, 2, 3)) + x7 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x7 += einsum(t2, (0, 1, 2, 3), x5, (4, 5, 6, 1), (4, 0, 5, 6, 2, 3)) + x8 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x8 += einsum(t1, (0, 1), v.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) + x9 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x9 += einsum(x8, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (0, 4, 5, 2, 6, 7)) + x10 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x10 += einsum(x8, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x10 += einsum(x8, (0, 1, 2, 3), (0, 2, 1, 3)) + x11 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x11 += einsum(x10, (0, 1, 2, 3), t3, (4, 5, 1, 6, 3, 7), (4, 5, 0, 2, 7, 6)) * 0.25 + x12 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x12 += einsum(x8, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 3), (0, 4, 5, 1, 6, 7)) + x13 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x13 += einsum(x8, (0, 1, 2, 3), t3, (4, 1, 5, 6, 3, 7), (0, 4, 5, 2, 6, 7)) + x14 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x14 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -0.5 + x14 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + x15 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x15 += einsum(t2, (0, 1, 2, 3), x14, (1, 4, 3, 5), (0, 4, 2, 5)) + x16 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x16 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) + x16 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x17 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x17 += einsum(t2, (0, 1, 2, 3), x16, (1, 4, 2, 5), (0, 4, 3, 5)) * 0.5 + x18 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x18 += einsum(x15, (0, 1, 2, 3), (0, 1, 2, 3)) + x18 += einsum(x17, (0, 1, 2, 3), (0, 1, 2, 3)) + x19 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x19 += einsum(t2, (0, 1, 2, 3), x18, (4, 5, 6, 2), (0, 1, 4, 5, 3, 6)) * 2.0 + x20 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x20 += einsum(t1, (0, 1), x8, (2, 3, 4, 1), (0, 2, 3, 4)) + x21 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x21 += einsum(t2, (0, 1, 2, 3), x20, (4, 5, 1, 6), (5, 4, 0, 6, 2, 3)) + x22 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x22 += einsum(v.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x22 += einsum(v.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) + x23 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x23 += einsum(t1, (0, 1), x22, (2, 3, 1, 4), (0, 2, 3, 4)) * -1.0 + x24 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) + x24 += einsum(t2, (0, 1, 2, 3), x8, (4, 5, 6, 3), (4, 0, 1, 6, 5, 2)) + x25 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) + x25 += einsum(x24, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 + x25 += einsum(x24, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) + x26 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x26 += einsum(x0, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) * 1.25 + x26 += einsum(x0, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) * -0.25 + x26 += einsum(x0, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -0.25 + x26 += einsum(x0, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * 1.25 + del x0 + x26 += einsum(x2, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) + x26 += einsum(x2, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -1.0 + del x2 + x26 += einsum(x3, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) * -0.25 + x26 += einsum(x3, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) * 0.25 + x26 += einsum(x3, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * 0.25 + x26 += einsum(x3, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -1.25 + del x3 + x26 += einsum(x4, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -0.25 + x26 += einsum(x4, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * 0.25 + del x4 + x26 += einsum(x6, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * 0.5 + x26 += einsum(x6, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.5 + x26 += einsum(x7, (0, 1, 2, 3, 4, 5), (0, 3, 1, 2, 4, 5)) * -0.5 + x26 += einsum(x7, (0, 1, 2, 3, 4, 5), (0, 3, 1, 2, 5, 4)) * 0.5 + x26 += einsum(x9, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 1.25 + x26 += einsum(x9, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -0.25 + x26 += einsum(x9, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -0.25 + x26 += einsum(x9, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 1.25 + del x9 + x26 += einsum(x11, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) + x26 += einsum(x11, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -1.0 + del x11 + x26 += einsum(x12, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -0.25 + x26 += einsum(x12, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 0.25 + x26 += einsum(x12, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * 0.25 + x26 += einsum(x12, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.25 + del x12 + x26 += einsum(x13, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -0.25 + x26 += einsum(x13, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 0.25 + del x13 + x26 += einsum(x19, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -1.0 + x26 += einsum(x19, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) * 0.5 + del x19 + x26 += einsum(x21, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 0.5 + x26 += einsum(x21, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.5 + x26 += einsum(x21, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * -0.5 + x26 += einsum(x21, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * 0.5 + x26 += einsum(t2, (0, 1, 2, 3), x23, (4, 5, 3, 6), (4, 0, 1, 5, 2, 6)) * -1.0 + del x23 + x26 += einsum(t1, (0, 1), x25, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 6, 1)) * -1.0 + del x25 + l1new += einsum(l3, (0, 1, 2, 3, 4, 5), x26, (3, 4, 5, 6, 1, 2), (0, 6)) * -1.0 + del x26 + x27 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x27 += einsum(f.ov, (0, 1), t3, (2, 3, 4, 5, 6, 1), (0, 2, 4, 3, 5, 6)) + x28 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x28 += einsum(f.ov, (0, 1), t3, (2, 3, 4, 5, 1, 6), (0, 2, 4, 3, 5, 6)) + x29 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x29 += einsum(x1, (0, 1, 2, 3), t3, (4, 5, 0, 6, 7, 3), (4, 5, 1, 2, 6, 7)) * 1.00000000000004 + x30 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x30 += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 6, 1, 7, 3), (4, 6, 5, 0, 7, 2)) + x31 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x31 += einsum(t2, (0, 1, 2, 3), x18, (4, 5, 6, 2), (0, 1, 4, 5, 3, 6)) * 2.00000000000008 + del x18 + x32 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x32 += einsum(x30, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + x32 += einsum(x31, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) + del x31 + x33 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x33 += einsum(x10, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (4, 5, 0, 2, 6, 7)) * 1.00000000000004 + x34 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) + x34 += einsum(v.ovov, (0, 1, 2, 3), t3, (4, 5, 6, 1, 7, 3), (4, 6, 5, 0, 2, 7)) + x35 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x35 += einsum(t1, (0, 1), x34, (2, 3, 4, 0, 5, 6), (3, 2, 4, 5, 1, 6)) + del x34 + x36 = np.zeros((nocc, nvir), dtype=types[float]) + x36 += einsum(t1, (0, 1), x14, (0, 2, 1, 3), (2, 3)) + x37 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x37 += einsum(x36, (0, 1), t3, (2, 3, 4, 5, 1, 6), (2, 4, 3, 0, 5, 6)) * 0.6666666666666666 + x38 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x38 += einsum(x36, (0, 1), t3, (2, 3, 4, 1, 5, 6), (2, 4, 3, 0, 6, 5)) * 0.6666666666666666 + x39 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x39 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) + x39 += einsum(v.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 + x39 += einsum(x8, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + x39 += einsum(x8, (0, 1, 2, 3), (2, 0, 1, 3)) + x40 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x40 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) + x40 += einsum(x8, (0, 1, 2, 3), (0, 2, 1, 3)) + x41 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x41 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) + x41 += einsum(x8, (0, 1, 2, 3), (2, 0, 1, 3)) + x42 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x42 += einsum(x27, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -0.3333333333333333 + x42 += einsum(x27, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * 2.333333333333333 + x42 += einsum(x27, (0, 1, 2, 3, 4, 5), (2, 3, 0, 1, 4, 5)) * 0.3333333333333333 + x42 += einsum(x27, (0, 1, 2, 3, 4, 5), (2, 3, 0, 1, 5, 4)) * -0.3333333333333333 + x42 += einsum(x28, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * 0.3333333333333333 + x42 += einsum(x28, (0, 1, 2, 3, 4, 5), (1, 3, 0, 2, 5, 4)) * -0.3333333333333333 + del x28 + x42 += einsum(x29, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) + x42 += einsum(x29, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -1.0 + del x29 + x42 += einsum(x32, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) + x42 += einsum(x32, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) * -1.0 + del x32 + x42 += einsum(x33, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) + x42 += einsum(x33, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -1.0 + del x33 + x42 += einsum(x35, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -1.0 + x42 += einsum(x35, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 5, 4)) + x42 += einsum(x37, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) + x42 += einsum(x37, (0, 1, 2, 3, 4, 5), (1, 2, 3, 0, 4, 5)) * -1.0 + del x37 + x42 += einsum(x38, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 + x42 += einsum(x38, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * 6.999999999999999 + x42 += einsum(x38, (0, 1, 2, 3, 4, 5), (0, 2, 3, 1, 4, 5)) + x42 += einsum(x38, (0, 1, 2, 3, 4, 5), (0, 2, 3, 1, 5, 4)) * -1.0 + del x38 + x42 += einsum(x39, (0, 1, 2, 3), t3, (4, 5, 0, 6, 3, 7), (4, 5, 2, 1, 6, 7)) * -1.00000000000004 + del x39 + x42 += einsum(x40, (0, 1, 2, 3), t3, (4, 2, 5, 6, 3, 7), (4, 5, 1, 0, 7, 6)) * 1.00000000000004 + x42 += einsum(x41, (0, 1, 2, 3), t3, (4, 0, 5, 3, 6, 7), (4, 5, 2, 1, 6, 7)) * -2.00000000000008 + l1new += einsum(l3, (0, 1, 2, 3, 4, 5), x42, (3, 5, 6, 4, 1, 2), (0, 6)) * -0.24999999999999 + del x42 + x43 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x43 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 + x43 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * 2.0 + x44 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x44 += einsum(t2, (0, 1, 2, 3), x43, (1, 4, 3, 5), (0, 4, 2, 5)) * 1.5000000000000002 + x45 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x45 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 + x45 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * 3.0000000000000004 + x46 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x46 += einsum(t2, (0, 1, 2, 3), x45, (1, 4, 2, 5), (0, 4, 3, 5)) * 0.5 + del x45 + x47 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x47 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) + x47 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -2.0 + x47 += einsum(x44, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x44 + x47 += einsum(x46, (0, 1, 2, 3), (0, 1, 2, 3)) + del x46 + x48 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x48 += einsum(t2, (0, 1, 2, 3), x47, (4, 5, 6, 2), (0, 1, 4, 5, 3, 6)) * 6.00000000000024 + del x47 + x49 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) + x49 += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), (0, 1, 4, 5, 6, 2)) + x50 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) + x50 += einsum(x49, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -0.5 + x50 += einsum(x49, (0, 1, 2, 3, 4, 5), (0, 1, 3, 4, 2, 5)) + x51 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x51 += einsum(t1, (0, 1), x50, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) * 12.00000000000048 + del x50 + x52 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x52 += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 1, 3), (4, 6, 5, 0, 7, 2)) + x53 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x53 += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 3, 1), (4, 6, 5, 0, 7, 2)) + x54 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x54 += einsum(v.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) + x54 += einsum(v.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 + x55 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x55 += einsum(t1, (0, 1), x54, (2, 3, 1, 4), (0, 2, 3, 4)) + x56 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x56 += einsum(t2, (0, 1, 2, 3), x55, (4, 5, 2, 6), (0, 1, 4, 5, 3, 6)) * 12.00000000000048 + del x55 + x57 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) + x57 += einsum(v.ovov, (0, 1, 2, 3), t3, (4, 5, 6, 7, 3, 1), (4, 6, 5, 0, 2, 7)) + x58 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x58 += einsum(t1, (0, 1), x57, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) + x59 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x59 += einsum(t1, (0, 1), x57, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 1, 6)) + x60 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) + x60 += einsum(x24, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + x60 += einsum(x24, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -0.5 + x61 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x61 += einsum(t1, (0, 1), x60, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 1, 6)) * 12.00000000000048 + del x60 + x62 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x62 += einsum(x48, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) + x62 += einsum(x48, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 + del x48 + x62 += einsum(x51, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) + x62 += einsum(x51, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 5, 4)) * -1.0 + del x51 + x62 += einsum(x52, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * 2.0 + x62 += einsum(x52, (0, 1, 2, 3, 4, 5), (2, 1, 3, 0, 4, 5)) * -2.0 + x62 += einsum(x30, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 + x62 += einsum(x30, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) + x62 += einsum(x30, (0, 1, 2, 3, 4, 5), (2, 0, 3, 1, 4, 5)) * -1.0 + x62 += einsum(x30, (0, 1, 2, 3, 4, 5), (2, 1, 3, 0, 4, 5)) + x62 += einsum(x53, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -8.0 + x62 += einsum(x53, (0, 1, 2, 3, 4, 5), (2, 1, 3, 0, 4, 5)) * 2.0 + del x53 + x62 += einsum(x56, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) * -1.0 + x62 += einsum(x56, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) + del x56 + x62 += einsum(x58, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * 8.0 + x62 += einsum(x58, (0, 1, 2, 3, 4, 5), (2, 1, 3, 0, 5, 4)) * -2.0 + del x58 + x62 += einsum(x35, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) + x62 += einsum(x35, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 5, 4)) * -1.0 + x62 += einsum(x35, (0, 1, 2, 3, 4, 5), (2, 0, 3, 1, 5, 4)) + x62 += einsum(x35, (0, 1, 2, 3, 4, 5), (2, 1, 3, 0, 5, 4)) * -1.0 + x62 += einsum(x59, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -2.0 + x62 += einsum(x59, (0, 1, 2, 3, 4, 5), (2, 1, 3, 0, 5, 4)) * 2.0 + x62 += einsum(x61, (0, 1, 2, 3, 4, 5), (1, 2, 3, 0, 5, 4)) + x62 += einsum(x61, (0, 1, 2, 3, 4, 5), (2, 1, 3, 0, 5, 4)) * -1.0 + del x61 + l1new += einsum(l3, (0, 1, 2, 3, 4, 5), x62, (5, 3, 6, 4, 2, 1), (0, 6)) * 0.08333333333333 + del x62 + x63 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x63 += einsum(t2, (0, 1, 2, 3), v.oooo, (4, 5, 6, 1), (0, 4, 5, 6, 2, 3)) + x64 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x64 += einsum(x36, (0, 1), t3, (2, 3, 4, 1, 5, 6), (2, 4, 3, 0, 6, 5)) * 0.11111111111110666 + x65 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x65 += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 2, 5, 3), (0, 1, 4, 5)) + x66 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x66 += einsum(t2, (0, 1, 2, 3), x65, (4, 5, 6, 1), (4, 5, 0, 6, 2, 3)) + x67 = np.zeros((nocc, nvir), dtype=types[float]) + x67 += einsum(t1, (0, 1), x14, (0, 2, 1, 3), (2, 3)) * 2.0 + x68 = np.zeros((nocc, nvir), dtype=types[float]) + x68 += einsum(f.ov, (0, 1), (0, 1)) + x68 += einsum(x67, (0, 1), (0, 1)) + l3new += einsum(x68, (0, 1), l2, (2, 3, 4, 5), (1, 2, 3, 0, 4, 5)) + l3new += einsum(x68, (0, 1), l2, (2, 3, 4, 5), (2, 3, 1, 4, 5, 0)) + l3new += einsum(x68, (0, 1), l2, (2, 3, 4, 5), (2, 3, 1, 0, 5, 4)) * -1.0 + l3new += einsum(x68, (0, 1), l2, (2, 3, 4, 5), (1, 2, 3, 5, 4, 0)) * -1.0 + x69 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x69 += einsum(x63, (0, 1, 2, 3, 4, 5), (1, 2, 3, 0, 4, 5)) * 0.3333333333333333 + x69 += einsum(x63, (0, 1, 2, 3, 4, 5), (1, 2, 3, 0, 5, 4)) * -1.0 + x69 += einsum(x63, (0, 1, 2, 3, 4, 5), (1, 3, 2, 0, 4, 5)) * -0.3333333333333333 + x69 += einsum(x63, (0, 1, 2, 3, 4, 5), (1, 3, 2, 0, 5, 4)) * 0.3333333333333333 + x69 += einsum(x27, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -0.05555555555555333 + x69 += einsum(x27, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 0.05555555555555333 + del x27 + x69 += einsum(x7, (0, 1, 2, 3, 4, 5), (2, 3, 0, 1, 4, 5)) * 0.3333333333333333 + x69 += einsum(x7, (0, 1, 2, 3, 4, 5), (2, 3, 0, 1, 5, 4)) * -1.0 + x69 += einsum(x6, (0, 1, 2, 3, 4, 5), (3, 2, 0, 1, 4, 5)) * -0.3333333333333333 + x69 += einsum(x6, (0, 1, 2, 3, 4, 5), (3, 2, 0, 1, 5, 4)) * 0.3333333333333333 + x69 += einsum(x64, (0, 1, 2, 3, 4, 5), (3, 1, 0, 2, 4, 5)) * -1.0 + x69 += einsum(x64, (0, 1, 2, 3, 4, 5), (3, 1, 0, 2, 5, 4)) + del x64 + x69 += einsum(x66, (0, 1, 2, 3, 4, 5), (3, 0, 1, 2, 4, 5)) * 0.3333333333333333 + x69 += einsum(x66, (0, 1, 2, 3, 4, 5), (3, 0, 1, 2, 5, 4)) * -1.0 + x69 += einsum(x66, (0, 1, 2, 3, 4, 5), (3, 1, 0, 2, 4, 5)) * -0.3333333333333333 + x69 += einsum(x66, (0, 1, 2, 3, 4, 5), (3, 1, 0, 2, 5, 4)) * 0.3333333333333333 + x69 += einsum(x68, (0, 1), t3, (2, 3, 4, 5, 1, 6), (0, 2, 4, 3, 5, 6)) * 0.05555555555555333 + l1new += einsum(l3, (0, 1, 2, 3, 4, 5), x69, (6, 5, 4, 3, 1, 2), (0, 6)) * 1.5 + del x69 + x70 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x70 += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 2, 1, 5), (0, 4, 3, 5)) + x71 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x71 += einsum(t2, (0, 1, 2, 3), x70, (4, 5, 6, 3), (0, 1, 4, 5, 2, 6)) + x72 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x72 += einsum(t1, (0, 1), x49, (2, 3, 4, 5, 0, 6), (2, 3, 5, 4, 1, 6)) + x73 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x73 += einsum(t1, (0, 1), x24, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) + x74 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x74 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + x74 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) + x74 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) + x75 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x75 += einsum(x71, (0, 1, 2, 3, 4, 5), (3, 1, 0, 2, 4, 5)) * 2.0 + x75 += einsum(x66, (0, 1, 2, 3, 4, 5), (3, 2, 1, 0, 5, 4)) * 2.0 + del x66 + x75 += einsum(x59, (0, 1, 2, 3, 4, 5), (3, 0, 1, 2, 5, 4)) * -1.9999999999999198 + del x59 + x75 += einsum(x72, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) * -2.0 + x75 += einsum(x72, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * 2.0 + x75 += einsum(x73, (0, 1, 2, 3, 4, 5), (3, 1, 2, 0, 5, 4)) * -2.0 + x75 += einsum(x73, (0, 1, 2, 3, 4, 5), (3, 2, 1, 0, 5, 4)) * 2.0 + x75 += einsum(x40, (0, 1, 2, 3), x74, (2, 4, 5, 3, 6, 7), (1, 5, 4, 0, 7, 6)) + del x74 + x75 += einsum(x41, (0, 1, 2, 3), t3, (4, 0, 5, 6, 3, 7), (2, 4, 5, 1, 6, 7)) * -1.0 + del x41 + x75 += einsum(x68, (0, 1), t3, (2, 3, 4, 5, 1, 6), (0, 2, 4, 3, 5, 6)) * 0.99999999999996 + l1new += einsum(l3, (0, 1, 2, 3, 4, 5), x75, (6, 3, 5, 4, 0, 2), (1, 6)) * -0.25 + del x75 + x76 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x76 += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 3, 1, 5), (0, 4, 2, 5)) + x77 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x77 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + x77 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x78 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x78 += einsum(v.ovov, (0, 1, 2, 3), x77, (2, 4, 3, 5), (0, 4, 1, 5)) * 0.5 + x79 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x79 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + x79 += einsum(x76, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 + x79 += einsum(x78, (0, 1, 2, 3), (1, 0, 3, 2)) + del x78 + x80 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x80 += einsum(t2, (0, 1, 2, 3), x79, (4, 5, 6, 2), (0, 1, 4, 5, 3, 6)) + del x79 + x81 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x81 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) + x81 += einsum(x70, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 + x82 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x82 += einsum(t2, (0, 1, 2, 3), x81, (4, 5, 6, 2), (0, 1, 4, 5, 3, 6)) * 2.0 + del x81 + x83 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x83 += einsum(t1, (0, 1), x49, (2, 3, 0, 4, 5, 6), (2, 3, 4, 5, 1, 6)) + x84 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x84 += einsum(x80, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) + x84 += einsum(x80, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 + del x80 + x84 += einsum(x82, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) * -1.0 + x84 += einsum(x82, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * 0.5 + del x82 + x84 += einsum(x72, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * 2.0 + x84 += einsum(x72, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 5, 4)) * -1.0 + del x72 + x84 += einsum(x83, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -1.0 + x84 += einsum(x83, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 5, 4)) + l1new += einsum(l3, (0, 1, 2, 3, 4, 5), x84, (3, 4, 6, 5, 2, 1), (0, 6)) * -1.0 + del x84 + x85 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x85 += einsum(x5, (0, 1, 2, 3), (0, 2, 1, 3)) + x85 += einsum(x5, (0, 1, 2, 3), (0, 3, 2, 1)) * -1.0 + x86 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x86 += einsum(t2, (0, 1, 2, 3), x85, (4, 1, 5, 6), (0, 4, 5, 6, 3, 2)) * 6.0 + del x85 + x87 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x87 += einsum(x65, (0, 1, 2, 3), (1, 0, 3, 2)) + x87 += einsum(x20, (0, 1, 2, 3), (0, 1, 2, 3)) + l2new += einsum(l2, (0, 1, 2, 3), x87, (3, 2, 4, 5), (0, 1, 5, 4)) + x88 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x88 += einsum(t2, (0, 1, 2, 3), x87, (4, 5, 1, 6), (0, 4, 5, 6, 3, 2)) * 3.0 + x89 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x89 += einsum(x63, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * -3.0 + x89 += einsum(x63, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) + x89 += einsum(x63, (0, 1, 2, 3, 4, 5), (3, 0, 2, 1, 4, 5)) * 3.0 + x89 += einsum(x63, (0, 1, 2, 3, 4, 5), (3, 0, 2, 1, 5, 4)) * -1.0 + x89 += einsum(x86, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 5, 4)) * -1.0 + x89 += einsum(x86, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) * 0.3333333333333333 + del x86 + x89 += einsum(x88, (0, 1, 2, 3, 4, 5), (2, 0, 3, 1, 5, 4)) * -1.0 + x89 += einsum(x88, (0, 1, 2, 3, 4, 5), (2, 0, 3, 1, 4, 5)) * 0.3333333333333333 + x89 += einsum(x88, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 5, 4)) + x89 += einsum(x88, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) * -0.3333333333333333 + del x88 + l1new += einsum(l3, (0, 1, 2, 3, 4, 5), x89, (3, 4, 6, 5, 1, 2), (0, 6)) * -0.25 + del x89 + x90 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x90 += einsum(t1, (0, 1), v.ovvv, (2, 1, 3, 4), (0, 2, 3, 4)) + x91 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x91 += einsum(t2, (0, 1, 2, 3), x90, (4, 5, 6, 3), (4, 0, 1, 5, 2, 6)) + x92 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x92 += einsum(v.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) + x92 += einsum(x5, (0, 1, 2, 3), (2, 1, 0, 3)) + x92 += einsum(x65, (0, 1, 2, 3), (3, 1, 0, 2)) + x93 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x93 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) + x93 += einsum(x90, (0, 1, 2, 3), (0, 1, 3, 2)) + x93 += einsum(x70, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x94 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x94 += einsum(x63, (0, 1, 2, 3, 4, 5), (3, 0, 2, 1, 5, 4)) * -1.0000000000000402 + del x63 + x94 += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 6, 2), (0, 1, 4, 5, 6, 3)) * 1.0000000000000402 + x94 += einsum(x6, (0, 1, 2, 3, 4, 5), (2, 1, 3, 0, 5, 4)) * -1.0000000000000402 + del x6 + x94 += einsum(x52, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -1.0 + del x52 + x94 += einsum(x91, (0, 1, 2, 3, 4, 5), (2, 1, 3, 0, 5, 4)) * 1.0000000000000402 + x94 += einsum(x40, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 3), (4, 5, 1, 0, 6, 7)) * 0.5000000000000201 + x94 += einsum(t2, (0, 1, 2, 3), x92, (1, 4, 5, 6), (4, 0, 6, 5, 2, 3)) * 1.0000000000000402 + del x92 + x94 += einsum(t2, (0, 1, 2, 3), x93, (4, 5, 6, 3), (0, 1, 5, 4, 6, 2)) * -1.0000000000000402 + del x93 + l1new += einsum(l3, (0, 1, 2, 3, 4, 5), x94, (5, 3, 6, 4, 0, 2), (1, 6)) * 0.49999999999997996 + del x94 + x95 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x95 += einsum(t1, (0, 1), x24, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 1, 6)) + del x24 + x96 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x96 += einsum(v.ovov, (0, 1, 2, 3), x77, (2, 4, 3, 5), (0, 4, 1, 5)) + x97 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x97 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + x97 += einsum(x76, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x97 += einsum(x96, (0, 1, 2, 3), (1, 0, 3, 2)) + x98 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x98 += einsum(x8, (0, 1, 2, 3), t3, (4, 5, 2, 6, 3, 7), (4, 5, 0, 1, 6, 7)) + x98 += einsum(x95, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * 2.0 + x98 += einsum(x7, (0, 1, 2, 3, 4, 5), (1, 3, 0, 2, 4, 5)) + x98 += einsum(x7, (0, 1, 2, 3, 4, 5), (1, 3, 0, 2, 5, 4)) * -1.0 + del x7 + x98 += einsum(x21, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) + x98 += einsum(x21, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) * -1.0 + del x21 + x98 += einsum(t2, (0, 1, 2, 3), x97, (4, 5, 6, 3), (0, 1, 4, 5, 2, 6)) * -2.0 + del x97 + l1new += einsum(l3, (0, 1, 2, 3, 4, 5), x98, (3, 4, 5, 6, 0, 2), (1, 6)) * 0.5 + del x98 + x99 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x99 += einsum(t1, (0, 1), v.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) + x100 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x100 += einsum(t2, (0, 1, 2, 3), x99, (4, 5, 3, 6), (4, 0, 1, 5, 2, 6)) + x101 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x101 += einsum(x71, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 0.25 + del x71 + x101 += einsum(x100, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) * 0.5 + x101 += einsum(x100, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -0.5 + x101 += einsum(x91, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) * -1.0 + x101 += einsum(x91, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * 0.5 + del x91 + x101 += einsum(x73, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) + x101 += einsum(x73, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -0.5 + del x73 + x101 += einsum(x95, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -0.5 + x101 += einsum(x95, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * 0.5 + del x95 + l1new += einsum(l3, (0, 1, 2, 3, 4, 5), x101, (5, 4, 3, 6, 2, 1), (0, 6)) * 2.0 + del x101 + x102 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x102 += einsum(v.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) + x102 += einsum(v.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x103 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) + x103 += einsum(x57, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 + x103 += einsum(x57, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) + x104 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x104 += einsum(x30, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + x104 += einsum(x30, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * -1.0 + del x30 + x104 += einsum(x35, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 + x104 += einsum(x35, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) + del x35 + x104 += einsum(x102, (0, 1, 2, 3), t3, (4, 5, 6, 7, 1, 2), (4, 6, 5, 0, 7, 3)) * -2.0 + del x102 + x104 += einsum(t1, (0, 1), x103, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 6, 1)) * -2.0 + del x103 + l1new += einsum(l3, (0, 1, 2, 3, 4, 5), x104, (5, 4, 3, 6, 2, 1), (0, 6)) * 0.08333333333333 + del x104 + x105 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x105 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + x105 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x105 += einsum(x15, (0, 1, 2, 3), (0, 1, 2, 3)) + del x15 + x105 += einsum(x17, (0, 1, 2, 3), (0, 1, 2, 3)) + del x17 + x106 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) + x106 += einsum(x49, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 + x106 += einsum(x49, (0, 1, 2, 3, 4, 5), (0, 1, 3, 4, 2, 5)) + del x49 + x107 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x107 += einsum(t2, (0, 1, 2, 3), x105, (4, 5, 6, 3), (0, 1, 5, 4, 2, 6)) * 2.0 + del x105 + x107 += einsum(t1, (0, 1), x106, (2, 3, 4, 5, 0, 6), (2, 3, 5, 4, 6, 1)) * -2.0 + del x106 + l1new += einsum(l3, (0, 1, 2, 3, 4, 5), x107, (4, 3, 6, 5, 1, 2), (0, 6)) * -0.5 + del x107 + x108 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x108 += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 5, 1, 6, 3, 7), (4, 5, 0, 2, 6, 7)) * 0.5 + x108 += einsum(x83, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 + del x83 + x108 += einsum(x100, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) + del x100 + l1new += einsum(l3, (0, 1, 2, 3, 4, 5), x108, (3, 4, 5, 6, 0, 2), (1, 6)) + del x108 + x109 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x109 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (3, 6, 5, 7, 1, 2), (4, 6, 0, 7)) + x110 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x110 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 4, 3, 2, 7, 0), (5, 6, 1, 7)) + x111 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x111 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (3, 6, 5, 0, 7, 2), (4, 6, 1, 7)) + x112 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x112 += einsum(t1, (0, 1), l3, (2, 3, 1, 4, 5, 6), (4, 6, 5, 0, 2, 3)) + l3new += einsum(v.ooov, (0, 1, 2, 3), x112, (4, 5, 1, 0, 6, 7), (6, 3, 7, 4, 2, 5)) + x113 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x113 += einsum(t2, (0, 1, 2, 3), x112, (0, 4, 1, 5, 6, 3), (4, 5, 6, 2)) + x114 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x114 += einsum(t2, (0, 1, 2, 3), x112, (0, 4, 1, 5, 2, 6), (4, 5, 6, 3)) + x115 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x115 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) + x115 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 5.0 + x115 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 + x115 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 + x115 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * -1.0 + x115 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) + x116 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x116 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + x116 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) + x116 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) + x117 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x117 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) + x117 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x118 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x118 += einsum(t1, (0, 1), l3, (2, 1, 3, 4, 5, 6), (4, 6, 5, 0, 2, 3)) + l3new += einsum(x8, (0, 1, 2, 3), x118, (4, 5, 0, 1, 6, 7), (7, 3, 6, 5, 2, 4)) + l3new += einsum(x68, (0, 1), x118, (2, 3, 4, 0, 5, 6), (6, 1, 5, 3, 4, 2)) * -1.0 + x119 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x119 += einsum(x118, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + x119 += einsum(x118, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) + x120 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x120 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.5 + x120 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) + x121 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x121 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 + x121 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x122 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x122 += einsum(t1, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2)) + x123 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x123 += einsum(t2, (0, 1, 2, 3), l3, (4, 2, 3, 1, 5, 6), (6, 5, 0, 4)) + x124 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x124 += einsum(t2, (0, 1, 2, 3), l3, (4, 3, 2, 1, 5, 6), (6, 5, 0, 4)) + x125 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x125 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.3333333333333333 + x125 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) + x126 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x126 += einsum(x125, (0, 1, 2, 3), l3, (4, 2, 3, 5, 0, 6), (6, 5, 1, 4)) * 0.75 + x127 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x127 += einsum(x122, (0, 1, 2, 3), (0, 1, 2, 3)) + x127 += einsum(x122, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.5 + x127 += einsum(x123, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.75 + x127 += einsum(x123, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.25 + x127 += einsum(x124, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.25 + x127 += einsum(x124, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.25 + x127 += einsum(x126, (0, 1, 2, 3), (1, 0, 2, 3)) + x127 += einsum(x117, (0, 1, 2, 3), l3, (2, 4, 3, 0, 5, 6), (5, 6, 1, 4)) * -0.25 + x128 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x128 += einsum(x109, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x128 += einsum(x110, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x128 += einsum(x111, (0, 1, 2, 3), (0, 1, 2, 3)) + x128 += einsum(x113, (0, 1, 2, 3), (0, 1, 3, 2)) * 4.0 + x128 += einsum(x114, (0, 1, 2, 3), (0, 1, 3, 2)) * 4.0 + x128 += einsum(l3, (0, 1, 2, 3, 4, 5), x115, (5, 6, 4, 2, 7, 1), (3, 6, 0, 7)) + x128 += einsum(l3, (0, 1, 2, 3, 4, 5), x116, (3, 6, 5, 1, 7, 2), (4, 6, 0, 7)) + x128 += einsum(x117, (0, 1, 2, 3), x119, (0, 1, 4, 5, 6, 3), (4, 5, 2, 6)) * -4.0 + del x119 + x128 += einsum(l2, (0, 1, 2, 3), x120, (3, 4, 1, 5), (2, 4, 0, 5)) * 8.0 + x128 += einsum(l2, (0, 1, 2, 3), x121, (2, 4, 1, 5), (3, 4, 0, 5)) * 4.0 + x128 += einsum(t1, (0, 1), x127, (0, 2, 3, 4), (2, 3, 1, 4)) * 8.0 + del x127 + l1new += einsum(v.ovvv, (0, 1, 2, 3), x128, (4, 0, 3, 2), (1, 4)) * -0.25 + del x128 + x129 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x129 += einsum(t1, (0, 1), l2, (2, 3, 4, 0), (4, 2, 3, 1)) + x130 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x130 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + x130 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) + x131 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x131 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * -1.0 + x131 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) * 0.3333333333333333 + x131 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 3, 5, 0, 1, 2)) * 0.3333333333333333 + x132 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x132 += einsum(x129, (0, 1, 2, 3), (0, 1, 2, 3)) + x132 += einsum(x130, (0, 1, 2, 3), l3, (4, 5, 2, 1, 6, 0), (6, 4, 5, 3)) * -0.125 + x132 += einsum(t2, (0, 1, 2, 3), x131, (0, 4, 1, 5, 2, 6), (4, 5, 6, 3)) * 0.75 + del x131 + l1new += einsum(v.vvvv, (0, 1, 2, 3), x132, (4, 1, 2, 3), (0, 4)) * 2.0 + del x132 + x133 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x133 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * -1.0 + x133 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) + x133 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 3, 5, 0, 1, 2)) + x134 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x134 += einsum(x129, (0, 1, 2, 3), (0, 1, 2, 3)) + del x129 + x134 += einsum(x130, (0, 1, 2, 3), l3, (4, 5, 2, 1, 6, 0), (6, 4, 5, 3)) * -0.75 + x134 += einsum(t2, (0, 1, 2, 3), x133, (0, 4, 1, 5, 2, 6), (4, 5, 6, 3)) * 0.5 + del x133 + l1new += einsum(v.vvvv, (0, 1, 2, 3), x134, (4, 2, 1, 3), (0, 4)) * -1.0 + del x134 + x135 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x135 += einsum(l2, (0, 1, 2, 3), t3, (4, 5, 3, 6, 0, 1), (2, 4, 5, 6)) + x136 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x136 += einsum(l1, (0, 1), t2, (2, 3, 4, 0), (1, 2, 3, 4)) + x137 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x137 += einsum(t1, (0, 1), x122, (2, 3, 4, 1), (3, 2, 4, 0)) + l2new += einsum(v.ovov, (0, 1, 2, 3), x137, (4, 5, 0, 2), (3, 1, 5, 4)) + x138 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x138 += einsum(t1, (0, 1), x137, (0, 2, 3, 4), (2, 4, 3, 1)) + x139 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x139 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 4, 7, 0, 1, 2), (3, 5, 6, 7)) + x140 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x140 += einsum(t1, (0, 1), x139, (0, 2, 3, 4), (2, 4, 3, 1)) + x141 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x141 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * -1.0 + x141 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) + x142 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x142 += einsum(t1, (0, 1), x141, (2, 3, 4, 1, 5, 6), (0, 2, 3, 4, 5, 6)) + l3new += einsum(x8, (0, 1, 2, 3), x142, (2, 4, 5, 0, 6, 7), (6, 3, 7, 5, 1, 4)) * -1.0 + x143 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) + x143 += einsum(t1, (0, 1), x142, (2, 3, 4, 5, 1, 6), (0, 4, 3, 5, 2, 6)) * -1.0 + del x142 + x144 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x144 += einsum(t2, (0, 1, 2, 3), x143, (4, 5, 0, 1, 6, 3), (5, 4, 6, 2)) * -0.25 + del x143 + x145 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x145 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 3, 4, 0, 1, 2)) + x145 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) + x146 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x146 += einsum(t2, (0, 1, 2, 3), x145, (1, 4, 0, 5, 2, 6), (4, 3, 5, 6)) + del x145 + x147 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x147 += einsum(t2, (0, 1, 2, 3), x146, (4, 5, 3, 2), (0, 1, 4, 5)) * 0.25 + del x146 + x148 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x148 += einsum(x140, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.124999999999995 + del x140 + x148 += einsum(x144, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x144 + x148 += einsum(x147, (0, 1, 2, 3), (2, 1, 0, 3)) + del x147 + x149 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x149 += einsum(t2, (0, 1, 2, 3), l3, (4, 5, 2, 0, 1, 6), (6, 4, 5, 3)) + x150 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x150 += einsum(t2, (0, 1, 2, 3), x149, (4, 2, 3, 5), (4, 0, 1, 5)) + x151 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) + x151 += einsum(t1, (0, 1), x118, (2, 3, 4, 5, 6, 1), (2, 3, 4, 0, 5, 6)) + x152 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x152 += einsum(t2, (0, 1, 2, 3), x151, (1, 4, 0, 5, 6, 3), (4, 5, 6, 2)) + x153 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x153 += einsum(x150, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.25 + del x150 + x153 += einsum(x152, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.25 + del x152 + x154 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x154 += einsum(x130, (0, 1, 2, 3), x151, (0, 1, 4, 5, 6, 2), (4, 5, 6, 3)) * 0.375 + x155 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x155 += einsum(x117, (0, 1, 2, 3), l3, (4, 5, 2, 1, 6, 0), (6, 4, 5, 3)) + x156 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x156 += einsum(t2, (0, 1, 2, 3), x155, (4, 3, 2, 5), (0, 1, 4, 5)) * -0.375 + x157 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x157 += einsum(x154, (0, 1, 2, 3), (0, 1, 2, 3)) + del x154 + x157 += einsum(x156, (0, 1, 2, 3), (2, 1, 0, 3)) + del x156 + x158 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x158 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 0.2 + x158 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + x158 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -0.2 + x158 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -0.2 + x158 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 0.2 + x158 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -0.2 + x158 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * -0.2 + x158 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) + x159 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x159 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) + x159 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 0, 2)) + x160 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x160 += einsum(t1, (0, 1), x159, (2, 3, 4, 1, 5, 6), (0, 2, 3, 4, 5, 6)) + x161 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x161 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + x161 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) + x161 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) + x162 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x162 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * -0.3333333333333333 + x162 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) * 0.3333333333333333 + x162 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 0, 2)) + x162 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 0, 2)) * -0.3333333333333333 + x163 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x163 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) + x163 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) * -1.0 + x163 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 0, 2)) * -1.0 + x163 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 0, 2)) * 3.0 + x164 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x164 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) + x164 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.0 + x164 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 + x165 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x165 += einsum(t2, (0, 1, 2, 3), l3, (4, 2, 3, 5, 6, 1), (5, 6, 0, 4)) + x166 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x166 += einsum(x125, (0, 1, 2, 3), l3, (4, 2, 3, 5, 0, 6), (6, 5, 1, 4)) * 0.1875 + x167 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x167 += einsum(t2, (0, 1, 2, 3), l3, (4, 3, 2, 5, 6, 1), (5, 6, 0, 4)) + x168 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x168 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * 1.3333333333333333 + x168 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) * -1.0 + x169 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x169 += einsum(x122, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 + x169 += einsum(x122, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + x169 += einsum(x165, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.0625 + x169 += einsum(x165, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.75 + x169 += einsum(x166, (0, 1, 2, 3), (1, 0, 2, 3)) + x169 += einsum(x166, (0, 1, 2, 3), (0, 1, 2, 3)) * -3.0 + del x166 + x169 += einsum(x167, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.0625 + x169 += einsum(x167, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.25 + x169 += einsum(x117, (0, 1, 2, 3), x168, (0, 4, 5, 2, 3, 6), (4, 5, 1, 6)) * 0.1875 + x170 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x170 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 7, 4, 1, 0, 2), (5, 3, 6, 7)) + x171 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x171 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 7, 3, 2, 1, 0), (5, 4, 6, 7)) + x172 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x172 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 7, 3, 2, 0, 1), (5, 4, 6, 7)) + x173 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x173 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 7, 3, 1, 2, 0), (5, 4, 6, 7)) + x174 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x174 += einsum(t1, (0, 1), x167, (2, 3, 4, 1), (2, 3, 0, 4)) + x175 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x175 += einsum(x172, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.16666666666666 + x175 += einsum(x173, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.16666666666666 + x175 += einsum(x174, (0, 1, 2, 3), (0, 1, 2, 3)) + del x174 + x176 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x176 += einsum(t1, (0, 1), x165, (2, 3, 4, 1), (2, 3, 0, 4)) + x177 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x177 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + x177 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) + x178 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x178 += einsum(l3, (0, 1, 2, 3, 4, 5), x177, (4, 6, 7, 0, 2, 1), (3, 5, 6, 7)) * 0.16666666666666 + x179 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x179 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + x179 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0 + x180 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x180 += einsum(x179, (0, 1, 2, 3), l3, (4, 2, 3, 5, 0, 6), (5, 6, 1, 4)) * 0.3333333333333333 + x180 += einsum(x130, (0, 1, 2, 3), l3, (3, 4, 2, 5, 6, 0), (6, 5, 1, 4)) * 0.3333333333333333 + x181 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x181 += einsum(x170, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.16666666666666 + x181 += einsum(x171, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.16666666666662 + x181 += einsum(x171, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.16666666666666 + x181 += einsum(x175, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x181 += einsum(x175, (0, 1, 2, 3), (1, 0, 2, 3)) + x181 += einsum(x176, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0 + x181 += einsum(x176, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + x181 += einsum(x178, (0, 1, 2, 3), (1, 0, 2, 3)) + x181 += einsum(t1, (0, 1), x180, (2, 3, 4, 1), (2, 3, 0, 4)) * 3.0 + del x180 + x182 = np.zeros((nocc, nocc), dtype=types[float]) + x182 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (3, 6, 5, 0, 1, 2), (4, 6)) + x183 = np.zeros((nocc, nocc), dtype=types[float]) + x183 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 4, 3, 1, 2, 0), (5, 6)) + x184 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x184 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * -1.0 + x184 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 2, 1)) + x185 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x185 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + x185 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 + x186 = np.zeros((nocc, nocc), dtype=types[float]) + x186 += einsum(x184, (0, 1, 2, 3, 4, 5), x185, (1, 6, 0, 3, 4, 5), (2, 6)) * 0.041666666666665 + x187 = np.zeros((nocc, nocc), dtype=types[float]) + x187 += einsum(t3, (0, 1, 2, 3, 4, 5), x184, (1, 2, 6, 5, 4, 3), (0, 6)) * 0.041666666666665 + x188 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x188 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + x188 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -0.14285714285714288 + x189 = np.zeros((nocc, nocc), dtype=types[float]) + x189 += einsum(l3, (0, 1, 2, 3, 4, 5), x188, (3, 6, 4, 0, 2, 1), (5, 6)) * 0.291666666666655 + x190 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x190 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) + x190 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 + x191 = np.zeros((nocc, nocc), dtype=types[float]) + x191 += einsum(l2, (0, 1, 2, 3), x190, (3, 4, 0, 1), (2, 4)) + x192 = np.zeros((nocc, nocc), dtype=types[float]) + x192 += einsum(x182, (0, 1), (0, 1)) * 0.124999999999995 + x192 += einsum(x183, (0, 1), (0, 1)) * -0.041666666666665 + x192 += einsum(x186, (0, 1), (0, 1)) * -1.0 + del x186 + x192 += einsum(x187, (0, 1), (1, 0)) + del x187 + x192 += einsum(x189, (0, 1), (0, 1)) + del x189 + x192 += einsum(x191, (0, 1), (0, 1)) + x193 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x193 += einsum(x135, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.75 + x193 += einsum(t3, (0, 1, 2, 3, 4, 5), x112, (1, 2, 6, 7, 4, 5), (6, 0, 7, 3)) * -0.125 + x193 += einsum(t3, (0, 1, 2, 3, 4, 5), x118, (1, 2, 6, 7, 5, 4), (6, 0, 7, 3)) * -0.125 + x193 += einsum(x136, (0, 1, 2, 3), (0, 1, 2, 3)) + x193 += einsum(x136, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 + del x136 + x193 += einsum(x122, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 + x193 += einsum(x122, (0, 1, 2, 3), (1, 0, 2, 3)) + x193 += einsum(x138, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 + x193 += einsum(x138, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + del x138 + x193 += einsum(x148, (0, 1, 2, 3), (0, 1, 2, 3)) + x193 += einsum(x148, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + del x148 + x193 += einsum(x153, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x193 += einsum(x153, (0, 1, 2, 3), (0, 2, 1, 3)) * 3.0 + del x153 + x193 += einsum(x157, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x193 += einsum(x157, (0, 1, 2, 3), (0, 2, 1, 3)) * 0.3333333333333333 + del x157 + x193 += einsum(x112, (0, 1, 2, 3, 4, 5), x158, (0, 6, 2, 4, 7, 5), (1, 6, 3, 7)) * 0.625 + x193 += einsum(x160, (0, 1, 2, 3, 4, 5), x161, (1, 6, 2, 5, 4, 7), (3, 6, 0, 7)) * 0.125 + x193 += einsum(t2, (0, 1, 2, 3), x162, (1, 4, 5, 2, 3, 6), (4, 5, 0, 6)) * 0.75 + del x162 + x193 += einsum(t2, (0, 1, 2, 3), x163, (1, 4, 5, 3, 2, 6), (4, 5, 0, 6)) * 0.25 + del x163 + x193 += einsum(l2, (0, 1, 2, 3), x164, (2, 4, 5, 1, 6, 0), (3, 4, 5, 6)) * -0.125 + del x164 + x193 += einsum(x120, (0, 1, 2, 3), x169, (4, 0, 5, 2), (4, 1, 5, 3)) * -2.0 + del x169 + x193 += einsum(t1, (0, 1), x181, (2, 0, 3, 4), (2, 4, 3, 1)) * -0.25 + del x181 + x193 += einsum(t1, (0, 1), x192, (2, 3), (2, 0, 3, 1)) * 2.0 + l1new += einsum(v.ovov, (0, 1, 2, 3), x193, (4, 0, 2, 1), (3, 4)) * -2.0 + del x193 + x194 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x194 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 5, 3, 7, 2, 1), (4, 6, 0, 7)) + x195 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x195 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 3, 5, 7, 2, 0), (4, 6, 1, 7)) + x196 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x196 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + x196 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) + x197 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x197 += einsum(l2, (0, 1, 2, 3), (3, 2, 0, 1)) * -0.5 + x197 += einsum(l2, (0, 1, 2, 3), (2, 3, 0, 1)) + x198 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x198 += einsum(l2, (0, 1, 2, 3), (2, 3, 0, 1)) * 8.0 + x198 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (3, 6, 5, 2, 7, 1), (4, 6, 0, 7)) + x198 += einsum(x111, (0, 1, 2, 3), (0, 1, 2, 3)) + del x111 + x198 += einsum(x194, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x198 += einsum(x195, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x198 += einsum(l3, (0, 1, 2, 3, 4, 5), x158, (5, 6, 4, 2, 7, 1), (3, 6, 0, 7)) * 5.0 + del x158 + x198 += einsum(x159, (0, 1, 2, 3, 4, 5), x196, (1, 6, 0, 3, 4, 7), (2, 6, 5, 7)) + x198 += einsum(x120, (0, 1, 2, 3), x197, (0, 4, 2, 5), (4, 1, 5, 3)) * 16.0 + l1new += einsum(v.ovvv, (0, 1, 2, 3), x198, (4, 0, 3, 1), (2, 4)) * 0.25 + del x198 + x199 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x199 += einsum(x117, (0, 1, 2, 3), l3, (2, 4, 3, 0, 5, 6), (6, 5, 1, 4)) * 0.5 + x200 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x200 += einsum(x122, (0, 1, 2, 3), (0, 1, 2, 3)) + x200 += einsum(x122, (0, 1, 2, 3), (1, 0, 2, 3)) * -2.0 + x200 += einsum(x123, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 + x200 += einsum(x123, (0, 1, 2, 3), (1, 0, 2, 3)) * 1.5 + x200 += einsum(x124, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 + x200 += einsum(x124, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.5 + x200 += einsum(x125, (0, 1, 2, 3), l3, (4, 2, 3, 5, 0, 6), (5, 6, 1, 4)) * 1.5 + x200 += einsum(x199, (0, 1, 2, 3), (0, 1, 2, 3)) + x201 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x201 += einsum(l2, (0, 1, 2, 3), (3, 2, 0, 1)) * -2.0 + x201 += einsum(x113, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + del x113 + x201 += einsum(x130, (0, 1, 2, 3), x160, (4, 1, 0, 5, 2, 6), (5, 4, 6, 3)) * -1.0 + del x160 + x201 += einsum(x190, (0, 1, 2, 3), x118, (4, 1, 0, 5, 2, 6), (4, 5, 6, 3)) * 4.0 + x201 += einsum(t1, (0, 1), x200, (0, 2, 3, 4), (2, 3, 4, 1)) * 2.0 + del x200 + l1new += einsum(v.ovvv, (0, 1, 2, 3), x201, (4, 0, 3, 1), (2, 4)) * 0.5 + del x201 + x202 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x202 += einsum(l2, (0, 1, 2, 3), t3, (4, 3, 5, 6, 1, 0), (2, 4, 5, 6)) + x203 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x203 += einsum(l2, (0, 1, 2, 3), t2, (4, 5, 0, 1), (2, 3, 4, 5)) + l2new += einsum(v.ovov, (0, 1, 2, 3), x203, (4, 5, 0, 2), (1, 3, 4, 5)) + x204 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x204 += einsum(t1, (0, 1), x203, (2, 0, 3, 4), (2, 3, 4, 1)) + x205 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x205 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + x205 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) + x205 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) + x205 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 2.0 + x206 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x206 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) + x206 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 0.6666666666666666 + x206 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 + x207 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x207 += einsum(x124, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.75 + del x124 + x207 += einsum(x126, (0, 1, 2, 3), (1, 0, 2, 3)) + x207 += einsum(x126, (0, 1, 2, 3), (0, 1, 2, 3)) * -3.0 + x207 += einsum(x167, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.25 + x207 += einsum(x167, (0, 1, 2, 3), (1, 0, 2, 3)) + x208 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x208 += einsum(t2, (0, 1, 2, 3), l3, (3, 4, 2, 1, 5, 6), (6, 5, 0, 4)) + x209 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x209 += einsum(x208, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.25 + x209 += einsum(x122, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 + x209 += einsum(x122, (0, 1, 2, 3), (1, 0, 2, 3)) + x209 += einsum(x165, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.0625 + x209 += einsum(x165, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.75 + x209 += einsum(t2, (0, 1, 2, 3), x168, (1, 4, 5, 2, 3, 6), (4, 5, 0, 6)) * -0.1875 + del x168 + x210 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x210 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * 0.4444444444444444 + x210 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 0, 2)) + x211 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x211 += einsum(x208, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.5 + x211 += einsum(x122, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 + x211 += einsum(x122, (0, 1, 2, 3), (1, 0, 2, 3)) + x211 += einsum(x165, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.375 + x211 += einsum(x165, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.5 + x211 += einsum(t2, (0, 1, 2, 3), x210, (1, 4, 5, 2, 3, 6), (5, 4, 0, 6)) * 1.125 + del x210 + x212 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x212 += einsum(x117, (0, 1, 2, 3), l3, (2, 4, 3, 0, 5, 6), (6, 5, 1, 4)) + x213 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x213 += einsum(x125, (0, 1, 2, 3), l3, (4, 2, 3, 5, 0, 6), (5, 6, 1, 4)) * 3.0 + x213 += einsum(x212, (0, 1, 2, 3), (0, 1, 2, 3)) + x214 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x214 += einsum(x170, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.16666666666666 + x214 += einsum(x171, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.16666666666666 + x214 += einsum(x171, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.16666666666662 + x214 += einsum(x175, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x214 += einsum(x175, (0, 1, 2, 3), (1, 0, 2, 3)) + del x175 + x214 += einsum(x176, (0, 1, 2, 3), (0, 1, 2, 3)) + x214 += einsum(x176, (0, 1, 2, 3), (1, 0, 2, 3)) * -3.0 + x214 += einsum(x178, (0, 1, 2, 3), (1, 0, 2, 3)) + del x178 + x214 += einsum(t1, (0, 1), x213, (2, 3, 4, 1), (2, 3, 0, 4)) + del x213 + x215 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x215 += einsum(x135, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.0 + del x135 + x215 += einsum(t3, (0, 1, 2, 3, 4, 5), x118, (6, 2, 1, 7, 3, 5), (6, 0, 7, 4)) * 4.0 + x215 += einsum(t3, (0, 1, 2, 3, 4, 5), x118, (2, 0, 6, 7, 5, 3), (6, 1, 7, 4)) * 2.0 + x215 += einsum(x202, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.0 + x215 += einsum(x202, (0, 1, 2, 3), (0, 2, 1, 3)) * -4.0 + del x202 + x215 += einsum(x204, (0, 1, 2, 3), (0, 1, 2, 3)) * 16.0 + x215 += einsum(x204, (0, 1, 2, 3), (0, 2, 1, 3)) * -8.0 + del x204 + x215 += einsum(x112, (0, 1, 2, 3, 4, 5), x115, (0, 6, 2, 4, 7, 5), (1, 6, 3, 7)) * 2.0 + del x115 + x215 += einsum(x112, (0, 1, 2, 3, 4, 5), x205, (1, 6, 0, 5, 7, 4), (2, 6, 3, 7)) * 2.0 + del x205 + x215 += einsum(l2, (0, 1, 2, 3), x206, (2, 4, 5, 1, 6, 0), (3, 4, 5, 6)) * -6.0 + del x206 + x215 += einsum(x117, (0, 1, 2, 3), x207, (4, 0, 5, 2), (4, 1, 5, 3)) * 4.0 + del x207 + x215 += einsum(t2, (0, 1, 2, 3), x209, (4, 1, 5, 3), (4, 0, 5, 2)) * 16.0 + del x209 + x215 += einsum(t2, (0, 1, 2, 3), x211, (4, 1, 5, 2), (4, 0, 5, 3)) * -8.0 + del x211 + x215 += einsum(t1, (0, 1), x214, (2, 0, 3, 4), (2, 4, 3, 1)) * -4.0 + del x214 + x215 += einsum(t1, (0, 1), x192, (2, 3), (2, 0, 3, 1)) * 16.0 + del x192 + l1new += einsum(v.ovov, (0, 1, 2, 3), x215, (4, 0, 2, 3), (1, 4)) * 0.125 + del x215 + x216 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x216 += einsum(v.ovov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 1, 3), (4, 5, 0, 6)) + x217 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x217 += einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), (0, 2, 3, 4)) + x218 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x218 += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 2, 5, 3), (0, 1, 4, 5)) + x219 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x219 += einsum(t1, (0, 1), x90, (2, 3, 4, 1), (2, 0, 3, 4)) + x220 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x220 += einsum(t1, (0, 1), x87, (2, 3, 0, 4), (2, 3, 4, 1)) + del x87 + x221 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x221 += einsum(x218, (0, 1, 2, 3), (0, 1, 2, 3)) + x221 += einsum(x219, (0, 1, 2, 3), (0, 1, 2, 3)) + x221 += einsum(x220, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x220 + x222 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x222 += einsum(v.ovov, (0, 1, 2, 3), t3, (4, 2, 5, 6, 3, 1), (4, 5, 0, 6)) + x223 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x223 += einsum(x36, (0, 1), t2, (2, 3, 1, 4), (2, 3, 0, 4)) + x224 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x224 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -1.5 + x224 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 1.5 + x224 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) + x225 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x225 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x225 += einsum(v.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x225 += einsum(x8, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x225 += einsum(x8, (0, 1, 2, 3), (0, 2, 1, 3)) * 2.0 + x226 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x226 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * 2.0 + x226 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x227 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x227 += einsum(v.oooo, (0, 1, 2, 3), (0, 2, 3, 1)) + x227 += einsum(v.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 + x227 += einsum(x5, (0, 1, 2, 3), (2, 0, 3, 1)) + x227 += einsum(x5, (0, 1, 2, 3), (3, 0, 2, 1)) * -0.5 + x228 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x228 += einsum(x216, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.25 + x228 += einsum(v.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x228 += einsum(v.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) * 0.5 + x228 += einsum(x217, (0, 1, 2, 3), (1, 2, 0, 3)) * 0.5 + x228 += einsum(x217, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 + x228 += einsum(x221, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x228 += einsum(x221, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.5 + del x221 + x228 += einsum(x222, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.25 + x228 += einsum(x222, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.25 + del x222 + x228 += einsum(x223, (0, 1, 2, 3), (1, 0, 2, 3)) + x228 += einsum(x223, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 + x228 += einsum(v.ovov, (0, 1, 2, 3), x224, (2, 4, 5, 3, 1, 6), (4, 5, 0, 6)) * -0.25 + del x224 + x228 += einsum(x120, (0, 1, 2, 3), x225, (4, 5, 0, 2), (4, 1, 5, 3)) * -1.0 + x228 += einsum(t1, (0, 1), x226, (2, 3, 1, 4), (0, 3, 2, 4)) * -0.5 + del x226 + x228 += einsum(t1, (0, 1), x227, (0, 2, 3, 4), (2, 4, 3, 1)) + del x227 + l1new += einsum(l2, (0, 1, 2, 3), x228, (2, 3, 4, 1), (0, 4)) * 2.0 + del x228 + x229 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x229 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -0.5 + x229 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 0.5 + x229 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) + x230 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x230 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 + x230 += einsum(v.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) + x230 += einsum(x8, (0, 1, 2, 3), (0, 1, 2, 3)) + x230 += einsum(x8, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 + x231 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x231 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) + x231 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 + x232 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x232 += einsum(x5, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x232 += einsum(x5, (0, 1, 2, 3), (0, 3, 2, 1)) * 2.0 + x233 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x233 += einsum(x216, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.5 + x233 += einsum(v.ovov, (0, 1, 2, 3), x229, (2, 4, 5, 3, 1, 6), (4, 5, 0, 6)) * -0.5 + del x229 + x233 += einsum(t2, (0, 1, 2, 3), x225, (4, 5, 1, 3), (4, 0, 5, 2)) * -1.0 + del x225 + x233 += einsum(t2, (0, 1, 2, 3), x230, (4, 5, 1, 2), (4, 0, 5, 3)) * -2.0 + del x230 + x233 += einsum(t1, (0, 1), x231, (2, 3, 1, 4), (0, 3, 2, 4)) * 2.0 + del x231 + x233 += einsum(t1, (0, 1), x232, (2, 0, 3, 4), (2, 3, 4, 1)) * -1.0 + del x232 + l1new += einsum(l2, (0, 1, 2, 3), x233, (3, 2, 4, 1), (0, 4)) * -1.0 + del x233 + x234 = np.zeros((nvir, nvir), dtype=types[float]) + x234 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (3, 4, 5, 0, 6, 2), (1, 6)) + x235 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x235 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -0.14285714285714288 + x235 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 0.14285714285714288 + x235 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) + x235 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 0.14285714285714288 + x235 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -0.14285714285714288 + x235 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -0.14285714285714288 + x236 = np.zeros((nvir, nvir), dtype=types[float]) + x236 += einsum(x234, (0, 1), (0, 1)) * 3.0 + x236 += einsum(l3, (0, 1, 2, 3, 4, 5), x235, (3, 5, 4, 6, 1, 2), (0, 6)) * 6.999999999999999 + x236 += einsum(l3, (0, 1, 2, 3, 4, 5), x116, (3, 4, 5, 6, 1, 2), (0, 6)) * -1.0 + x237 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x237 += einsum(v.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) + x237 += einsum(v.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) * -0.5 + l1new += einsum(x236, (0, 1), x237, (2, 3, 0, 1), (3, 2)) * 0.16666666666666 + del x236, x237 + x238 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x238 += einsum(x130, (0, 1, 2, 3), x159, (0, 4, 5, 2, 3, 6), (1, 4, 5, 6)) * 0.5 + x239 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x239 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) + x239 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.3333333333333333 + x240 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x240 += einsum(x122, (0, 1, 2, 3), (0, 1, 2, 3)) + x240 += einsum(x122, (0, 1, 2, 3), (1, 0, 2, 3)) * -2.0 + x240 += einsum(x238, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 + x240 += einsum(x179, (0, 1, 2, 3), l3, (4, 2, 3, 5, 0, 6), (5, 6, 1, 4)) * 0.5 + x240 += einsum(x239, (0, 1, 2, 3), l3, (4, 2, 3, 0, 5, 6), (5, 6, 1, 4)) * 1.5 + l1new += einsum(v.oovv, (0, 1, 2, 3), x240, (0, 4, 1, 3), (2, 4)) + del x240 + x241 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x241 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + x241 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 6.999999999999999 + x241 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) + x241 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) + x241 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -1.0 + x241 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 + x242 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x242 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) + x242 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + x242 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 + x243 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x243 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) + x243 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 6.0 + x243 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 + x243 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -1.0 + x243 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + x244 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x244 += einsum(x122, (0, 1, 2, 3), (0, 1, 2, 3)) + x244 += einsum(x239, (0, 1, 2, 3), l3, (4, 2, 3, 5, 6, 0), (5, 6, 1, 4)) * 0.75 + x245 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x245 += einsum(x122, (0, 1, 2, 3), (0, 1, 2, 3)) + x245 += einsum(x126, (0, 1, 2, 3), (1, 0, 2, 3)) + x245 += einsum(x126, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x126 + x245 += einsum(x238, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 + del x238 + x246 = np.zeros((nocc, nocc), dtype=types[float]) + x246 += einsum(l1, (0, 1), t1, (2, 0), (1, 2)) + l1new += einsum(x246, (0, 1), x36, (1, 2), (2, 0)) * -2.0 + x247 = np.zeros((nocc, nocc), dtype=types[float]) + x247 += einsum(x246, (0, 1), (0, 1)) + x247 += einsum(x182, (0, 1), (0, 1)) * 0.24999999999999 + x247 += einsum(x183, (0, 1), (0, 1)) * -0.08333333333333 + x247 += einsum(x184, (0, 1, 2, 3, 4, 5), x185, (1, 6, 0, 3, 4, 5), (2, 6)) * -0.08333333333333 + x247 += einsum(t3, (0, 1, 2, 3, 4, 5), x184, (1, 2, 6, 5, 4, 3), (6, 0)) * 0.08333333333333 + x247 += einsum(l3, (0, 1, 2, 3, 4, 5), x188, (3, 6, 4, 0, 2, 1), (5, 6)) * 0.58333333333331 + x247 += einsum(l2, (0, 1, 2, 3), x190, (2, 4, 1, 0), (3, 4)) * 2.0 + x248 = np.zeros((nocc, nvir), dtype=types[float]) + x248 += einsum(t1, (0, 1), (0, 1)) * -4.0 + x248 += einsum(l2, (0, 1, 2, 3), t3, (4, 2, 3, 5, 1, 0), (4, 5)) * 2.0 + x248 += einsum(t3, (0, 1, 2, 3, 4, 5), x118, (2, 0, 1, 6, 5, 3), (6, 4)) * 0.99999999999996 + x248 += einsum(x112, (0, 1, 2, 3, 4, 5), x241, (0, 1, 2, 5, 6, 4), (3, 6)) * 0.33333333333332 + del x241 + x248 += einsum(x112, (0, 1, 2, 3, 4, 5), x242, (0, 2, 1, 4, 6, 5), (3, 6)) * -0.33333333333332 + del x242 + x248 += einsum(l2, (0, 1, 2, 3), x243, (3, 4, 2, 1, 5, 0), (4, 5)) * -1.0 + del x243 + x248 += einsum(t2, (0, 1, 2, 3), x244, (0, 1, 4, 2), (4, 3)) * 8.0 + del x244 + x248 += einsum(t2, (0, 1, 2, 3), x245, (0, 1, 4, 3), (4, 2)) * -4.0 + del x245 + x248 += einsum(l1, (0, 1), x121, (1, 2, 3, 0), (2, 3)) * -4.0 + del x121 + x248 += einsum(t1, (0, 1), x247, (0, 2), (2, 1)) * 4.0 + del x247 + x249 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x249 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * 2.0 + x249 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + l1new += einsum(x248, (0, 1), x249, (0, 2, 3, 1), (3, 2)) * -0.25 + del x248, x249 + x250 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x250 += einsum(x172, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.041666666666665 + x250 += einsum(x173, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.041666666666665 + x251 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x251 += einsum(x130, (0, 1, 2, 3), x159, (0, 4, 5, 2, 3, 6), (4, 5, 1, 6)) * -1.0 + del x159 + x251 += einsum(x179, (0, 1, 2, 3), l3, (4, 2, 3, 5, 0, 6), (5, 6, 1, 4)) + del x179 + x251 += einsum(x239, (0, 1, 2, 3), l3, (4, 2, 3, 0, 5, 6), (5, 6, 1, 4)) * 3.0 + del x239 + x252 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x252 += einsum(x170, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.041666666666665 + x252 += einsum(x203, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.5 + x252 += einsum(x203, (0, 1, 2, 3), (1, 0, 3, 2)) + del x203 + x252 += einsum(x137, (0, 1, 2, 3), (0, 2, 3, 1)) * -0.5 + x252 += einsum(x137, (0, 1, 2, 3), (0, 3, 2, 1)) + del x137 + x252 += einsum(x171, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.291666666666655 + x252 += einsum(x171, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.041666666666665 + x252 += einsum(x250, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x252 += einsum(x250, (0, 1, 2, 3), (1, 0, 2, 3)) + del x250 + x252 += einsum(l3, (0, 1, 2, 3, 4, 5), x177, (4, 6, 7, 0, 2, 1), (5, 3, 6, 7)) * 0.041666666666665 + x252 += einsum(t1, (0, 1), x251, (2, 3, 4, 1), (2, 0, 4, 3)) * -0.25 + del x251 + l1new += einsum(v.ooov, (0, 1, 2, 3), x252, (4, 1, 2, 0), (3, 4)) * 2.0 + del x252 + x253 = np.zeros((nvir, nvir), dtype=types[float]) + x253 += einsum(l1, (0, 1), t1, (1, 2), (0, 2)) * 0.5 + x253 += einsum(l2, (0, 1, 2, 3), x120, (2, 3, 4, 1), (0, 4)) + x254 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x254 += einsum(v.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 + x254 += einsum(v.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) + l1new += einsum(x253, (0, 1), x254, (2, 1, 0, 3), (3, 2)) * 4.0 + del x253, x254 + x255 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x255 += einsum(x172, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.14285714285714288 + del x172 + x255 += einsum(x173, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.14285714285714288 + del x173 + x256 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x256 += einsum(x170, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.14285714285714288 + del x170 + x256 += einsum(x171, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.14285714285714288 + x256 += einsum(x171, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + x256 += einsum(x139, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.4285714285714286 + x256 += einsum(x139, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.4285714285714286 + del x139 + x256 += einsum(x255, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x256 += einsum(x255, (0, 1, 2, 3), (1, 0, 2, 3)) + del x255 + x256 += einsum(l3, (0, 1, 2, 3, 4, 5), x177, (4, 6, 7, 0, 2, 1), (5, 3, 6, 7)) * 0.14285714285714288 + del x177 + l1new += einsum(v.ooov, (0, 1, 2, 3), x256, (4, 1, 0, 2), (3, 4)) * -0.58333333333331 + del x256 + x257 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x257 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * 0.3333333333333333 + x257 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) * -0.3333333333333333 + x257 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 4, 3, 0, 2, 1)) + x257 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) * -0.3333333333333333 + x258 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x258 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * -1.0 + x258 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) + x258 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 4, 3, 0, 2, 1)) * -1.0 + x258 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) * 3.0 + x259 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x259 += einsum(t2, (0, 1, 2, 3), x257, (1, 4, 5, 6, 3, 2), (5, 4, 0, 6)) + del x257 + x259 += einsum(t2, (0, 1, 2, 3), x258, (1, 4, 5, 6, 2, 3), (5, 4, 0, 6)) * 0.3333333333333333 + del x258 + x260 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x260 += einsum(t1, (0, 1), x259, (2, 3, 4, 1), (2, 3, 0, 4)) * 3.0 + del x259 + l1new += einsum(v.ooov, (0, 1, 2, 3), x260, (4, 0, 2, 1), (3, 4)) * 0.5 + del x260 + x261 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x261 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 3.0 + x261 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) + x261 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -1.0 + x262 = np.zeros((nocc, nocc), dtype=types[float]) + x262 += einsum(x246, (0, 1), (0, 1)) * 0.5 + x262 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 3, 5, 1, 2, 0), (4, 6)) * -0.041666666666665 + x262 += einsum(l3, (0, 1, 2, 3, 4, 5), x261, (3, 5, 6, 0, 2, 1), (4, 6)) * 0.041666666666665 + del x261 + x262 += einsum(x191, (0, 1), (0, 1)) + del x191 + x263 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x263 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x263 += einsum(v.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * 2.0 + l1new += einsum(x262, (0, 1), x263, (0, 2, 1, 3), (3, 2)) * -2.0 + del x262 + x264 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x264 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + x264 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) + x264 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 6.999999999999999 + x264 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 + x265 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x265 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + x265 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) + x266 = np.zeros((nocc, nocc), dtype=types[float]) + x266 += einsum(l3, (0, 1, 2, 3, 4, 5), x264, (4, 6, 3, 0, 2, 1), (5, 6)) + del x264 + x266 += einsum(l3, (0, 1, 2, 3, 4, 5), x265, (4, 6, 3, 0, 1, 2), (5, 6)) * -1.0 + x267 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x267 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 + x267 += einsum(v.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) + l1new += einsum(x266, (0, 1), x267, (0, 2, 1, 3), (3, 2)) * -0.16666666666666 + del x266, x267 + x268 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x268 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + x268 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 + l1new += einsum(l1, (0, 1), x268, (1, 2, 0, 3), (3, 2)) * 2.0 + del x268 + x269 = np.zeros((nocc, nocc), dtype=types[float]) + x269 += einsum(x246, (0, 1), (0, 1)) * 1.714285714285783 + x269 += einsum(x182, (0, 1), (0, 1)) * 0.4285714285714286 + x269 += einsum(x183, (0, 1), (0, 1)) * -0.14285714285714288 + x269 += einsum(x184, (0, 1, 2, 3, 4, 5), x185, (1, 6, 0, 3, 4, 5), (2, 6)) * -0.14285714285714288 + x269 += einsum(t3, (0, 1, 2, 3, 4, 5), x184, (1, 2, 6, 5, 4, 3), (6, 0)) * 0.14285714285714288 + x269 += einsum(l3, (0, 1, 2, 3, 4, 5), x188, (3, 6, 4, 0, 2, 1), (5, 6)) + x269 += einsum(l2, (0, 1, 2, 3), x190, (2, 4, 1, 0), (3, 4)) * 3.428571428571566 + l1new += einsum(f.ov, (0, 1), x269, (2, 0), (1, 2)) * -0.58333333333331 + del x269 + x270 = np.zeros((nvir, nvir), dtype=types[float]) + x270 += einsum(f.vv, (0, 1), (0, 1)) * 0.5 + x270 += einsum(t1, (0, 1), x54, (0, 1, 2, 3), (3, 2)) + l1new += einsum(l1, (0, 1), x270, (0, 2), (2, 1)) * 2.0 + del x270 + x271 = np.zeros((nocc, nocc), dtype=types[float]) + x271 += einsum(v.ovov, (0, 1, 2, 3), x190, (2, 4, 1, 3), (0, 4)) * 2.0 + x272 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x272 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) + x272 += einsum(v.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) * -0.5 + x273 = np.zeros((nocc, nocc), dtype=types[float]) + x273 += einsum(t1, (0, 1), x272, (2, 3, 0, 1), (2, 3)) * 2.0 + del x272 + x274 = np.zeros((nocc, nocc), dtype=types[float]) + x274 += einsum(t1, (0, 1), x68, (2, 1), (0, 2)) + x275 = np.zeros((nocc, nocc), dtype=types[float]) + x275 += einsum(f.oo, (0, 1), (0, 1)) + x275 += einsum(x271, (0, 1), (1, 0)) + x275 += einsum(x273, (0, 1), (1, 0)) + x275 += einsum(x274, (0, 1), (0, 1)) + del x274 + l1new += einsum(l1, (0, 1), x275, (1, 2), (0, 2)) * -1.0 + l3new += einsum(x275, (0, 1), l3, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) * -1.0 + del x275 + x276 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x276 += einsum(f.vv, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2)) + x277 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x277 += einsum(l1, (0, 1), v.ovvv, (2, 3, 4, 0), (1, 2, 3, 4)) + x278 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x278 += einsum(l1, (0, 1), x8, (1, 2, 3, 4), (2, 3, 0, 4)) + x279 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x279 += einsum(l2, (0, 1, 2, 3), x5, (2, 4, 3, 5), (4, 5, 0, 1)) + x280 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x280 += einsum(x217, (0, 1, 2, 3), l3, (4, 5, 3, 6, 2, 1), (0, 6, 4, 5)) + x281 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x281 += einsum(x122, (0, 1, 2, 3), x8, (0, 2, 4, 5), (1, 4, 3, 5)) + x282 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x282 += einsum(v.ovvv, (0, 1, 2, 3), x123, (4, 5, 0, 3), (4, 5, 1, 2)) + x283 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x283 += einsum(t1, (0, 1), v.vvvv, (2, 3, 4, 1), (0, 2, 3, 4)) + x284 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x284 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) + x284 += einsum(x8, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + x285 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x285 += einsum(t2, (0, 1, 2, 3), x284, (0, 4, 1, 5), (4, 2, 3, 5)) + del x284 + x286 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x286 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 + x286 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + x287 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x287 += einsum(x286, (0, 1, 2, 3), t3, (4, 1, 0, 5, 6, 2), (4, 5, 6, 3)) * 0.49999999999998 + del x286 + x288 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x288 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) + x288 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.3333333333333333 + x289 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x289 += einsum(x288, (0, 1, 2, 3), t3, (4, 1, 0, 5, 2, 6), (4, 6, 5, 3)) * 1.49999999999994 + del x288 + x290 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x290 += einsum(v.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) + x290 += einsum(v.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x290 += einsum(x283, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 + x290 += einsum(x283, (0, 1, 2, 3), (0, 3, 2, 1)) + x290 += einsum(x285, (0, 1, 2, 3), (0, 1, 2, 3)) + x290 += einsum(x285, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + del x285 + x290 += einsum(x287, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x287 + x290 += einsum(x289, (0, 1, 2, 3), (0, 1, 2, 3)) + del x289 + x291 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x291 += einsum(x290, (0, 1, 2, 3), l3, (2, 4, 1, 0, 5, 6), (6, 5, 4, 3)) * 0.5 + del x290 + x292 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x292 += einsum(x16, (0, 1, 2, 3), t3, (4, 1, 0, 5, 6, 2), (4, 5, 6, 3)) * 0.24999999999999 + x293 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x293 += einsum(v.ovvv, (0, 1, 2, 3), x120, (0, 4, 1, 5), (4, 2, 3, 5)) * 2.0 + x294 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x294 += einsum(v.ovvv, (0, 1, 2, 3), x117, (0, 4, 3, 5), (4, 1, 2, 5)) + x295 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x295 += einsum(x292, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x292 + x295 += einsum(x293, (0, 1, 2, 3), (0, 2, 3, 1)) + del x293 + x295 += einsum(x294, (0, 1, 2, 3), (0, 2, 3, 1)) + del x294 + x296 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x296 += einsum(x295, (0, 1, 2, 3), l3, (1, 4, 2, 0, 5, 6), (6, 5, 4, 3)) + del x295 + x297 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x297 += einsum(t1, (0, 1), v.oooo, (2, 3, 4, 0), (2, 3, 4, 1)) + x298 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x298 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 + x298 += einsum(x297, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.5 + del x297 + x299 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x299 += einsum(t1, (0, 1), x65, (2, 3, 0, 4), (3, 2, 4, 1)) + x300 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x300 += einsum(x218, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 + x300 += einsum(x299, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 + del x299 + x300 += einsum(x223, (0, 1, 2, 3), (1, 0, 2, 3)) + del x223 + x301 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x301 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -0.5 + x301 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 0.5 + x301 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) + x301 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) + x302 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x302 += einsum(v.ovov, (0, 1, 2, 3), x301, (2, 4, 5, 3, 1, 6), (0, 4, 5, 6)) * 0.49999999999998 + del x301 + x303 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x303 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x303 += einsum(v.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 + x304 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x304 += einsum(t2, (0, 1, 2, 3), x303, (4, 5, 1, 3), (0, 4, 5, 2)) + del x303 + x305 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x305 += einsum(t2, (0, 1, 2, 3), x1, (4, 5, 1, 2), (0, 4, 5, 3)) + x306 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x306 += einsum(x216, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.49999999999998 + x306 += einsum(x298, (0, 1, 2, 3), (0, 2, 1, 3)) + x306 += einsum(x298, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 + del x298 + x306 += einsum(x300, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x306 += einsum(x300, (0, 1, 2, 3), (1, 0, 2, 3)) + del x300 + x306 += einsum(x302, (0, 1, 2, 3), (1, 2, 0, 3)) + del x302 + x306 += einsum(x304, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + del x304 + x306 += einsum(x305, (0, 1, 2, 3), (0, 2, 1, 3)) + del x305 + x307 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x307 += einsum(x306, (0, 1, 2, 3), l3, (4, 5, 3, 0, 6, 1), (6, 2, 4, 5)) + del x306 + x308 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x308 += einsum(t1, (0, 1), x20, (2, 3, 4, 0), (2, 3, 4, 1)) + x309 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x309 += einsum(x219, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 + del x219 + x309 += einsum(x308, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 + del x308 + x310 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x310 += einsum(x8, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 + x310 += einsum(x8, (0, 1, 2, 3), (0, 2, 1, 3)) + x311 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x311 += einsum(t2, (0, 1, 2, 3), x310, (4, 5, 1, 3), (0, 4, 5, 2)) * 2.0 + del x310 + x312 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x312 += einsum(x8, (0, 1, 2, 3), (0, 1, 2, 3)) + x312 += einsum(x8, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x313 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x313 += einsum(t2, (0, 1, 2, 3), x312, (4, 5, 1, 2), (0, 4, 5, 3)) + del x312 + x314 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x314 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) + x314 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x315 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x315 += einsum(t1, (0, 1), x314, (2, 3, 1, 4), (0, 2, 3, 4)) + del x314 + x316 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x316 += einsum(x5, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x316 += einsum(x5, (0, 1, 2, 3), (0, 3, 2, 1)) + x317 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x317 += einsum(t1, (0, 1), x316, (2, 3, 4, 0), (2, 3, 4, 1)) + del x316 + x318 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x318 += einsum(x309, (0, 1, 2, 3), (0, 1, 2, 3)) + x318 += einsum(x309, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x309 + x318 += einsum(x311, (0, 1, 2, 3), (1, 0, 2, 3)) + del x311 + x318 += einsum(x313, (0, 1, 2, 3), (1, 0, 2, 3)) + del x313 + x318 += einsum(x315, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + del x315 + x318 += einsum(x317, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + del x317 + x319 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x319 += einsum(x318, (0, 1, 2, 3), l3, (4, 5, 3, 0, 6, 1), (6, 2, 4, 5)) + del x318 + x320 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x320 += einsum(t2, (0, 1, 2, 3), x14, (1, 4, 3, 5), (0, 4, 2, 5)) * 2.0 + del x14 + x321 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x321 += einsum(t2, (0, 1, 2, 3), x16, (1, 4, 2, 5), (0, 4, 3, 5)) + del x16 + x322 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x322 += einsum(t1, (0, 1), x1, (0, 2, 3, 4), (2, 3, 1, 4)) * 0.5 + del x1 + x323 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x323 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + x323 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x323 += einsum(x320, (0, 1, 2, 3), (0, 1, 2, 3)) + del x320 + x323 += einsum(x321, (0, 1, 2, 3), (0, 1, 2, 3)) + del x321 + x323 += einsum(x322, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x322 + x324 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x324 += einsum(x323, (0, 1, 2, 3), x112, (0, 4, 5, 1, 2, 6), (4, 5, 6, 3)) + del x323 + x325 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x325 += einsum(t1, (0, 1), x22, (2, 1, 3, 4), (0, 2, 3, 4)) + del x22 + x326 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x326 += einsum(t1, (0, 1), x10, (2, 3, 0, 4), (2, 3, 1, 4)) * 0.5 + del x10 + x327 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x327 += einsum(x325, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x325 + x327 += einsum(x326, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x326 + x328 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x328 += einsum(x327, (0, 1, 2, 3), x112, (0, 4, 5, 1, 2, 6), (4, 5, 6, 3)) + del x327 + x329 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x329 += einsum(x130, (0, 1, 2, 3), l3, (4, 5, 2, 1, 6, 0), (6, 4, 5, 3)) + x330 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x330 += einsum(x149, (0, 1, 2, 3), (0, 2, 1, 3)) * 2.0 + x330 += einsum(x329, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x329 + x331 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x331 += einsum(v.ovvv, (0, 1, 2, 3), x330, (4, 5, 3, 1), (0, 4, 2, 5)) * 0.5 + del x330 + x332 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x332 += einsum(l2, (0, 1, 2, 3), t2, (4, 2, 1, 5), (3, 4, 0, 5)) + x333 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x333 += einsum(x130, (0, 1, 2, 3), x118, (0, 1, 4, 5, 6, 2), (4, 5, 6, 3)) + del x130 + x334 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x334 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * -0.5 + x334 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 0, 2)) + x335 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x335 += einsum(t2, (0, 1, 2, 3), x334, (1, 4, 5, 2, 3, 6), (0, 4, 5, 6)) * 2.0 + del x334 + x336 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x336 += einsum(x208, (0, 1, 2, 3), (1, 0, 2, 3)) + del x208 + x336 += einsum(x335, (0, 1, 2, 3), (2, 1, 0, 3)) + del x335 + x337 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x337 += einsum(t1, (0, 1), x336, (0, 2, 3, 4), (2, 3, 1, 4)) + x338 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x338 += einsum(x332, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + del x332 + x338 += einsum(x109, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.99999999999996 + del x109 + x338 += einsum(x110, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.99999999999996 + del x110 + x338 += einsum(x114, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + del x114 + x338 += einsum(x333, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x333 + x338 += einsum(x337, (0, 1, 2, 3), (0, 1, 3, 2)) + del x337 + x339 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x339 += einsum(v.ovov, (0, 1, 2, 3), x338, (4, 2, 5, 1), (0, 4, 3, 5)) * 0.5 + del x338 + x340 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x340 += einsum(x155, (0, 1, 2, 3), x40, (0, 4, 5, 3), (4, 5, 1, 2)) * -0.5 + x341 = np.zeros((nvir, nvir), dtype=types[float]) + x341 += einsum(l3, (0, 1, 2, 3, 4, 5), x235, (3, 5, 4, 6, 1, 2), (0, 6)) * 2.333333333333333 + del x235 + x342 = np.zeros((nvir, nvir), dtype=types[float]) + x342 += einsum(l3, (0, 1, 2, 3, 4, 5), x116, (3, 4, 5, 6, 1, 2), (0, 6)) * 0.3333333333333333 + del x116 + x343 = np.zeros((nvir, nvir), dtype=types[float]) + x343 += einsum(l2, (0, 1, 2, 3), x120, (2, 3, 4, 1), (0, 4)) * 8.00000000000032 + del x120 + x344 = np.zeros((nvir, nvir), dtype=types[float]) + x344 += einsum(x234, (0, 1), (0, 1)) + del x234 + x344 += einsum(x341, (0, 1), (0, 1)) + del x341 + x344 += einsum(x342, (0, 1), (0, 1)) * -1.0 + del x342 + x344 += einsum(x343, (0, 1), (0, 1)) + del x343 + x345 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x345 += einsum(x344, (0, 1), v.ovov, (2, 1, 3, 4), (2, 3, 4, 0)) * 0.24999999999999 + del x344 + x346 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x346 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) + x346 += einsum(x90, (0, 1, 2, 3), (0, 1, 3, 2)) + x347 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x347 += einsum(l2, (0, 1, 2, 3), x346, (2, 4, 1, 5), (3, 4, 0, 5)) + del x346 + x348 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x348 += einsum(x122, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x348 += einsum(x123, (0, 1, 2, 3), (0, 1, 2, 3)) + del x123 + x348 += einsum(x199, (0, 1, 2, 3), (1, 0, 2, 3)) + x349 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x349 += einsum(v.ooov, (0, 1, 2, 3), x348, (1, 4, 2, 5), (0, 4, 3, 5)) + del x348 + x350 = np.zeros((nocc, nocc), dtype=types[float]) + x350 += einsum(x184, (0, 1, 2, 3, 4, 5), x185, (1, 6, 0, 3, 4, 5), (2, 6)) * 0.3333333333333333 + del x185 + x351 = np.zeros((nocc, nocc), dtype=types[float]) + x351 += einsum(t3, (0, 1, 2, 3, 4, 5), x184, (1, 2, 6, 5, 4, 3), (0, 6)) * 0.3333333333333333 + del x184 + x352 = np.zeros((nocc, nocc), dtype=types[float]) + x352 += einsum(l3, (0, 1, 2, 3, 4, 5), x188, (3, 6, 4, 0, 2, 1), (5, 6)) * 2.333333333333333 + del x188 + x353 = np.zeros((nocc, nocc), dtype=types[float]) + x353 += einsum(l2, (0, 1, 2, 3), x190, (3, 4, 0, 1), (2, 4)) * 8.00000000000032 + x354 = np.zeros((nocc, nocc), dtype=types[float]) + x354 += einsum(x246, (0, 1), (0, 1)) * 4.00000000000016 + del x246 + x354 += einsum(x182, (0, 1), (0, 1)) + del x182 + x354 += einsum(x183, (0, 1), (0, 1)) * -0.3333333333333333 + del x183 + x354 += einsum(x350, (0, 1), (0, 1)) * -1.0 + del x350 + x354 += einsum(x351, (0, 1), (1, 0)) + del x351 + x354 += einsum(x352, (0, 1), (0, 1)) + del x352 + x354 += einsum(x353, (0, 1), (0, 1)) + del x353 + x355 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x355 += einsum(x354, (0, 1), v.ovov, (2, 3, 1, 4), (2, 0, 4, 3)) * 0.24999999999999 + del x354 + x356 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x356 += einsum(t1, (0, 1), x212, (2, 3, 4, 1), (0, 2, 3, 4)) * -1.0 + x357 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x357 += einsum(v.ovov, (0, 1, 2, 3), x356, (0, 4, 5, 2), (4, 5, 3, 1)) * 0.5 + del x356 + x358 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x358 += einsum(x36, (0, 1), x212, (2, 3, 0, 4), (2, 3, 1, 4)) * -1.0 + x359 = np.zeros((nocc, nocc), dtype=types[float]) + x359 += einsum(f.ov, (0, 1), t1, (2, 1), (0, 2)) + x360 = np.zeros((nocc, nocc), dtype=types[float]) + x360 += einsum(f.oo, (0, 1), (0, 1)) + x360 += einsum(x359, (0, 1), (1, 0)) + del x359 + x361 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x361 += einsum(x360, (0, 1), l2, (2, 3, 0, 4), (4, 1, 2, 3)) + x362 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x362 += einsum(x122, (0, 1, 2, 3), (0, 1, 2, 3)) + x362 += einsum(x165, (0, 1, 2, 3), (0, 1, 2, 3)) + x363 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x363 += einsum(f.ov, (0, 1), x362, (2, 3, 0, 4), (2, 3, 4, 1)) + x364 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x364 += einsum(x276, (0, 1, 2, 3), (0, 1, 2, 3)) + del x276 + x364 += einsum(x277, (0, 1, 2, 3), (0, 1, 2, 3)) + del x277 + x364 += einsum(x278, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x278 + x364 += einsum(x279, (0, 1, 2, 3), (0, 1, 2, 3)) + del x279 + x364 += einsum(x280, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x280 + x364 += einsum(x281, (0, 1, 2, 3), (0, 1, 2, 3)) + del x281 + x364 += einsum(x282, (0, 1, 2, 3), (0, 1, 2, 3)) + del x282 + x364 += einsum(x291, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x291 + x364 += einsum(x296, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x296 + x364 += einsum(x307, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x307 + x364 += einsum(x319, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x319 + x364 += einsum(x324, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x324 + x364 += einsum(x328, (0, 1, 2, 3), (0, 1, 2, 3)) + del x328 + x364 += einsum(x331, (0, 1, 2, 3), (1, 0, 3, 2)) + del x331 + x364 += einsum(x339, (0, 1, 2, 3), (1, 0, 3, 2)) + del x339 + x364 += einsum(x340, (0, 1, 2, 3), (0, 1, 2, 3)) + del x340 + x364 += einsum(x345, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x345 + x364 += einsum(x347, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x347 + x364 += einsum(x349, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x349 + x364 += einsum(x355, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x355 + x364 += einsum(x357, (0, 1, 2, 3), (0, 1, 3, 2)) + del x357 + x364 += einsum(x358, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x358 + x364 += einsum(x361, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x361 + x364 += einsum(x363, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x363 + l2new += einsum(x364, (0, 1, 2, 3), (3, 2, 0, 1)) + l2new += einsum(x364, (0, 1, 2, 3), (2, 3, 1, 0)) + del x364 + x365 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x365 += einsum(l1, (0, 1), v.ooov, (2, 1, 3, 4), (2, 3, 0, 4)) + x366 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x366 += einsum(l2, (0, 1, 2, 3), x99, (2, 4, 5, 1), (3, 4, 0, 5)) + x367 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x367 += einsum(x122, (0, 1, 2, 3), x8, (1, 2, 4, 5), (0, 4, 3, 5)) + x368 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x368 += einsum(v.ooov, (0, 1, 2, 3), x165, (4, 1, 2, 5), (4, 0, 5, 3)) + x369 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x369 += einsum(v.ooov, (0, 1, 2, 3), x149, (1, 4, 5, 3), (0, 2, 4, 5)) + del x149 + x370 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x370 += einsum(x99, (0, 1, 2, 3), x118, (0, 4, 5, 1, 3, 6), (4, 5, 6, 2)) + x371 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x371 += einsum(l3, (0, 1, 2, 3, 4, 5), x57, (5, 3, 4, 6, 7, 2), (6, 7, 0, 1)) + del x57 + x372 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x372 += einsum(t2, (0, 1, 2, 3), l3, (4, 5, 2, 6, 1, 0), (6, 4, 5, 3)) + x373 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x373 += einsum(x372, (0, 1, 2, 3), x8, (0, 4, 5, 3), (5, 4, 1, 2)) + x374 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x374 += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 0, 1, 5), (4, 2, 3, 5)) + x375 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x375 += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 2), (0, 3, 4, 5)) + x376 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x376 += einsum(v.ovov, (0, 1, 2, 3), t3, (4, 0, 2, 5, 6, 3), (4, 5, 6, 1)) + x377 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x377 += einsum(t2, (0, 1, 2, 3), x8, (4, 0, 1, 5), (4, 2, 3, 5)) + x378 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x378 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -1.0 + x378 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + x379 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x379 += einsum(v.ovov, (0, 1, 2, 3), x378, (0, 2, 4, 5, 3, 6), (4, 1, 5, 6)) * 0.49999999999998 + x380 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x380 += einsum(v.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) + x380 += einsum(x283, (0, 1, 2, 3), (0, 3, 2, 1)) + del x283 + x380 += einsum(x374, (0, 1, 2, 3), (0, 1, 2, 3)) + del x374 + x380 += einsum(x375, (0, 1, 2, 3), (0, 3, 1, 2)) * -1.0 + del x375 + x380 += einsum(x376, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.99999999999996 + del x376 + x380 += einsum(x377, (0, 1, 2, 3), (0, 2, 1, 3)) + del x377 + x380 += einsum(x379, (0, 1, 2, 3), (0, 3, 2, 1)) * -1.0 + del x379 + x381 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x381 += einsum(x380, (0, 1, 2, 3), l3, (4, 2, 1, 5, 6, 0), (5, 6, 4, 3)) + del x380 + x382 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x382 += einsum(v.ovov, (0, 1, 2, 3), x378, (2, 4, 5, 3, 1, 6), (0, 4, 5, 6)) * 0.49999999999998 + del x378 + x383 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x383 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x383 += einsum(v.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * 2.0 + x383 += einsum(x8, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x383 += einsum(x8, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x384 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x384 += einsum(t2, (0, 1, 2, 3), x383, (4, 1, 5, 3), (0, 4, 5, 2)) + del x383 + x385 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x385 += einsum(v.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) + x385 += einsum(x8, (0, 1, 2, 3), (0, 1, 2, 3)) + x386 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x386 += einsum(t2, (0, 1, 2, 3), x385, (4, 1, 5, 2), (0, 4, 5, 3)) + x387 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x387 += einsum(x67, (0, 1), t2, (2, 3, 1, 4), (2, 3, 0, 4)) + x388 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x388 += einsum(v.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) + x388 += einsum(x5, (0, 1, 2, 3), (2, 1, 3, 0)) + x388 += einsum(x65, (0, 1, 2, 3), (3, 1, 2, 0)) + x389 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x389 += einsum(t1, (0, 1), x388, (0, 2, 3, 4), (2, 3, 4, 1)) + del x388 + x390 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x390 += einsum(v.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 + x390 += einsum(x8, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + x390 += einsum(x218, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x218 + x390 += einsum(x216, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.99999999999996 + del x216 + x390 += einsum(x382, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 + del x382 + x390 += einsum(x384, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x384 + x390 += einsum(x386, (0, 1, 2, 3), (0, 1, 2, 3)) + del x386 + x390 += einsum(x387, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x387 + x390 += einsum(x389, (0, 1, 2, 3), (0, 2, 1, 3)) + del x389 + x391 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x391 += einsum(x390, (0, 1, 2, 3), l3, (4, 5, 3, 6, 1, 0), (6, 2, 4, 5)) + del x390 + x392 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x392 += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 2, 4, 5), (0, 3, 4, 5)) + x393 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x393 += einsum(v.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x393 += einsum(v.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 + x394 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x394 += einsum(t2, (0, 1, 2, 3), x393, (1, 3, 4, 5), (0, 2, 4, 5)) * 0.5 + x395 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x395 += einsum(x392, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.5 + del x392 + x395 += einsum(x394, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x394 + x396 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x396 += einsum(x395, (0, 1, 2, 3), l3, (4, 3, 1, 5, 6, 0), (5, 6, 4, 2)) * 2.0 + del x395 + x397 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x397 += einsum(t2, (0, 1, 2, 3), x385, (4, 5, 1, 2), (0, 4, 5, 3)) + del x385 + x398 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x398 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) + x398 += einsum(x90, (0, 1, 2, 3), (1, 0, 3, 2)) + x399 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x399 += einsum(t1, (0, 1), x398, (2, 3, 1, 4), (0, 2, 3, 4)) + del x398 + x400 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x400 += einsum(t1, (0, 1), x40, (2, 3, 4, 1), (0, 2, 3, 4)) + del x40 + x401 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x401 += einsum(t1, (0, 1), x400, (2, 3, 4, 0), (2, 4, 3, 1)) + del x400 + x402 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x402 += einsum(x397, (0, 1, 2, 3), (1, 0, 2, 3)) + del x397 + x402 += einsum(x399, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + del x399 + x402 += einsum(x401, (0, 1, 2, 3), (0, 2, 1, 3)) + del x401 + x403 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x403 += einsum(x402, (0, 1, 2, 3), l3, (4, 5, 3, 6, 1, 0), (6, 2, 4, 5)) + del x402 + x404 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x404 += einsum(t1, (0, 1), v.ooov, (2, 0, 3, 4), (2, 3, 1, 4)) + x405 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x405 += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 5, 1, 2), (0, 4, 3, 5)) + x406 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x406 += einsum(t2, (0, 1, 2, 3), x43, (1, 4, 3, 5), (0, 4, 2, 5)) + del x43 + x407 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x407 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x407 += einsum(x404, (0, 1, 2, 3), (0, 1, 2, 3)) + del x404 + x407 += einsum(x405, (0, 1, 2, 3), (0, 1, 2, 3)) + del x405 + x407 += einsum(x406, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x406 + x408 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x408 += einsum(x407, (0, 1, 2, 3), x118, (4, 0, 5, 1, 6, 2), (4, 5, 6, 3)) + del x407 + x409 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x409 += einsum(t2, (0, 1, 2, 3), l3, (4, 5, 3, 1, 6, 0), (6, 4, 5, 2)) + x410 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x410 += einsum(t2, (0, 1, 2, 3), l3, (4, 2, 5, 1, 6, 0), (6, 4, 5, 3)) + x411 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x411 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) + x411 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) * -1.0 + x411 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 1, 2)) * 0.5 + x411 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 0, 2)) * 2.0 + x412 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x412 += einsum(t2, (0, 1, 2, 3), x411, (0, 4, 1, 2, 5, 6), (4, 3, 5, 6)) + del x411 + x413 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x413 += einsum(x409, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 + del x409 + x413 += einsum(x410, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 + x413 += einsum(x410, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 + x413 += einsum(x412, (0, 1, 2, 3), (0, 2, 3, 1)) + del x412 + x414 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x414 += einsum(v.ovvv, (0, 1, 2, 3), x413, (4, 5, 2, 3), (0, 4, 1, 5)) + del x413 + x415 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x415 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 5.0 + x415 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 + x415 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -1.0 + x415 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + x415 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 + x415 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 5.0 + x416 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x416 += einsum(l3, (0, 1, 2, 3, 4, 5), x415, (5, 6, 4, 2, 7, 1), (3, 6, 0, 7)) + del x415 + x417 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x417 += einsum(l3, (0, 1, 2, 3, 4, 5), x161, (5, 6, 3, 0, 2, 7), (4, 6, 1, 7)) + del x161 + x418 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x418 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) + x418 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 1, 2)) * -1.0 + x419 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x419 += einsum(t3, (0, 1, 2, 3, 4, 5), x418, (1, 2, 6, 5, 7, 4), (0, 6, 3, 7)) + del x418 + x420 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x420 += einsum(l3, (0, 1, 2, 3, 4, 5), x265, (5, 6, 4, 2, 1, 7), (3, 6, 0, 7)) + del x265 + x421 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x421 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + x421 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) + x422 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x422 += einsum(l3, (0, 1, 2, 3, 4, 5), x421, (3, 6, 5, 2, 1, 7), (4, 6, 0, 7)) + del x421 + x423 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x423 += einsum(x118, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 0.5 + x423 += einsum(x112, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -0.5 + x423 += einsum(x112, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) + x423 += einsum(x112, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) * -0.25 + x423 += einsum(x112, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) * 0.25 + x424 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x424 += einsum(t2, (0, 1, 2, 3), x423, (4, 0, 1, 5, 6, 2), (4, 5, 3, 6)) * 8.00000000000032 + del x423 + x425 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x425 += einsum(x112, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 + x425 += einsum(x112, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) + x426 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x426 += einsum(t2, (0, 1, 2, 3), x425, (0, 1, 4, 5, 6, 3), (4, 5, 2, 6)) * 2.00000000000008 + del x425 + x427 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x427 += einsum(x197, (0, 1, 2, 3), x77, (0, 4, 2, 5), (4, 1, 5, 3)) * 8.00000000000032 + del x197 + x428 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x428 += einsum(x125, (0, 1, 2, 3), l3, (4, 2, 3, 5, 0, 6), (6, 5, 1, 4)) + del x125 + x429 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x429 += einsum(x117, (0, 1, 2, 3), l3, (2, 4, 3, 0, 5, 6), (6, 5, 1, 4)) * 0.3333333333333333 + x430 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x430 += einsum(x165, (0, 1, 2, 3), (0, 1, 2, 3)) + x430 += einsum(x165, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.3333333333333333 + x430 += einsum(x167, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.3333333333333333 + x430 += einsum(x167, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.3333333333333333 + x430 += einsum(x428, (0, 1, 2, 3), (1, 0, 2, 3)) + x430 += einsum(x429, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x429 + x431 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x431 += einsum(t1, (0, 1), x430, (2, 0, 3, 4), (2, 3, 1, 4)) * 6.00000000000024 + del x430 + x432 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x432 += einsum(x194, (0, 1, 2, 3), (0, 1, 2, 3)) + del x194 + x432 += einsum(l2, (0, 1, 2, 3), (3, 2, 0, 1)) * 4.00000000000016 + x432 += einsum(l2, (0, 1, 2, 3), (2, 3, 0, 1)) * -8.00000000000032 + x432 += einsum(x416, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x416 + x432 += einsum(x417, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x417 + x432 += einsum(x419, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x419 + x432 += einsum(x420, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x420 + x432 += einsum(x422, (0, 1, 2, 3), (0, 1, 2, 3)) + del x422 + x432 += einsum(x424, (0, 1, 2, 3), (0, 1, 3, 2)) + del x424 + x432 += einsum(x426, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x426 + x432 += einsum(x427, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x427 + x432 += einsum(x431, (0, 1, 2, 3), (0, 1, 3, 2)) + del x431 + x433 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x433 += einsum(v.ovov, (0, 1, 2, 3), x432, (4, 2, 5, 3), (0, 4, 1, 5)) * 0.24999999999999 + del x432 + x434 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x434 += einsum(l2, (0, 1, 2, 3), t2, (4, 2, 5, 1), (3, 4, 0, 5)) + x435 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x435 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (3, 6, 5, 1, 7, 2), (4, 6, 0, 7)) + x436 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x436 += einsum(t2, (0, 1, 2, 3), x118, (4, 0, 1, 5, 6, 2), (4, 5, 6, 3)) + x437 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x437 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 4.0 + x437 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -1.0 + x437 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + x438 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x438 += einsum(l3, (0, 1, 2, 3, 4, 5), x437, (4, 6, 5, 1, 7, 2), (3, 6, 0, 7)) + del x437 + x439 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x439 += einsum(l3, (0, 1, 2, 3, 4, 5), x196, (5, 6, 3, 0, 2, 7), (4, 6, 1, 7)) + del x196 + x440 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x440 += einsum(x117, (0, 1, 2, 3), x112, (0, 1, 4, 5, 2, 6), (4, 5, 6, 3)) * 2.00000000000008 + x441 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x441 += einsum(l2, (0, 1, 2, 3), x77, (3, 4, 1, 5), (2, 4, 0, 5)) * 4.00000000000016 + x442 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x442 += einsum(t1, (0, 1), x336, (2, 0, 3, 4), (2, 3, 1, 4)) * 2.00000000000008 + del x336 + x443 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x443 += einsum(x434, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.00000000000016 + del x434 + x443 += einsum(x435, (0, 1, 2, 3), (0, 1, 2, 3)) + del x435 + x443 += einsum(x195, (0, 1, 2, 3), (0, 1, 2, 3)) + del x195 + x443 += einsum(x436, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.00000000000016 + del x436 + x443 += einsum(x438, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x438 + x443 += einsum(x439, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x439 + x443 += einsum(x440, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x440 + x443 += einsum(x441, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x441 + x443 += einsum(x442, (0, 1, 2, 3), (0, 1, 3, 2)) + del x442 + x444 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x444 += einsum(v.ovov, (0, 1, 2, 3), x443, (4, 2, 5, 1), (0, 4, 3, 5)) * 0.24999999999999 + del x443 + x445 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x445 += einsum(x217, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x445 += einsum(x217, (0, 1, 2, 3), (0, 2, 1, 3)) + del x217 + x446 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x446 += einsum(x445, (0, 1, 2, 3), l3, (4, 5, 3, 1, 6, 2), (6, 0, 4, 5)) * 0.5 + del x445 + x447 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x447 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x447 += einsum(x70, (0, 1, 2, 3), (0, 1, 2, 3)) + x448 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x448 += einsum(x447, (0, 1, 2, 3), x112, (4, 0, 5, 1, 6, 2), (4, 5, 6, 3)) + del x447 + x449 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x449 += einsum(x117, (0, 1, 2, 3), l3, (4, 5, 2, 1, 6, 0), (6, 4, 5, 3)) * 0.5 + del x117 + x450 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x450 += einsum(x372, (0, 1, 2, 3), (0, 1, 2, 3)) + x450 += einsum(x449, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + del x449 + x451 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x451 += einsum(v.ovvv, (0, 1, 2, 3), x450, (4, 5, 3, 1), (0, 4, 2, 5)) + del x450 + x452 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x452 += einsum(t1, (0, 1), x8, (2, 0, 3, 4), (2, 3, 1, 4)) + x453 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x453 += einsum(x90, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + x453 += einsum(x452, (0, 1, 2, 3), (0, 1, 2, 3)) + del x452 + x454 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x454 += einsum(x453, (0, 1, 2, 3), x112, (4, 0, 5, 1, 6, 2), (4, 5, 6, 3)) + del x453 + x455 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x455 += einsum(x122, (0, 1, 2, 3), (1, 0, 2, 3)) + x455 += einsum(x199, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x199 + x456 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x456 += einsum(v.ovvv, (0, 1, 2, 3), x455, (4, 5, 0, 3), (4, 5, 1, 2)) + del x455 + x457 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x457 += einsum(v.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x457 += einsum(v.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) * 2.0 + x458 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x458 += einsum(t1, (0, 1), x457, (2, 1, 3, 4), (0, 2, 3, 4)) + del x457 + x459 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x459 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) + x459 += einsum(x458, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x458 + x460 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x460 += einsum(l2, (0, 1, 2, 3), x459, (3, 4, 5, 1), (2, 4, 0, 5)) + del x459 + x461 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x461 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x461 += einsum(v.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) + x462 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x462 += einsum(x212, (0, 1, 2, 3), x461, (0, 4, 2, 5), (1, 4, 3, 5)) * -0.5 + del x461 + x463 = np.zeros((nvir, nvir), dtype=types[float]) + x463 += einsum(v.ovov, (0, 1, 2, 3), x190, (0, 2, 4, 1), (3, 4)) + x464 = np.zeros((nvir, nvir), dtype=types[float]) + x464 += einsum(t1, (0, 1), x393, (0, 1, 2, 3), (2, 3)) * 0.5 + x465 = np.zeros((nvir, nvir), dtype=types[float]) + x465 += einsum(x463, (0, 1), (0, 1)) + del x463 + x465 += einsum(x464, (0, 1), (1, 0)) * -1.0 + del x464 + x466 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x466 += einsum(x465, (0, 1), l2, (2, 1, 3, 4), (4, 3, 2, 0)) * 2.0 + del x465 + x467 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x467 += einsum(x171, (0, 1, 2, 3), (0, 1, 2, 3)) + del x171 + x467 += einsum(x176, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0000000000000804 + del x176 + x468 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x468 += einsum(v.ovov, (0, 1, 2, 3), x467, (4, 5, 0, 2), (4, 5, 3, 1)) * 0.49999999999997996 + del x467 + x469 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x469 += einsum(x122, (0, 1, 2, 3), x263, (1, 4, 2, 5), (0, 4, 3, 5)) + del x263 + x470 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x470 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) + x470 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 4, 3, 0, 2, 1)) + x470 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) * -3.0 + x471 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x471 += einsum(t2, (0, 1, 2, 3), x470, (1, 4, 5, 6, 2, 3), (0, 4, 5, 6)) + del x470 + x472 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x472 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * 0.3333333333333333 + x472 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 4, 3, 0, 2, 1)) + x472 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) * -0.3333333333333333 + x473 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x473 += einsum(t2, (0, 1, 2, 3), x472, (1, 4, 5, 6, 3, 2), (0, 4, 5, 6)) * 3.0 + del x472 + x474 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x474 += einsum(x122, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 + x474 += einsum(x471, (0, 1, 2, 3), (2, 1, 0, 3)) + del x471 + x474 += einsum(x473, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 + del x473 + x475 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x475 += einsum(v.ooov, (0, 1, 2, 3), x474, (4, 0, 1, 5), (2, 4, 3, 5)) * 0.5 + del x474 + x476 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x476 += einsum(x122, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x476 += einsum(x122, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 + x477 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x477 += einsum(x476, (0, 1, 2, 3), x8, (0, 4, 2, 5), (4, 1, 5, 3)) + del x476 + x478 = np.zeros((nocc, nocc), dtype=types[float]) + x478 += einsum(t1, (0, 1), x36, (2, 1), (0, 2)) * 2.0 + x479 = np.zeros((nocc, nocc), dtype=types[float]) + x479 += einsum(x271, (0, 1), (1, 0)) + del x271 + x479 += einsum(x273, (0, 1), (1, 0)) + del x273 + x479 += einsum(x478, (0, 1), (0, 1)) + del x478 + x480 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x480 += einsum(x479, (0, 1), l2, (2, 3, 0, 4), (4, 1, 2, 3)) + x481 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x481 += einsum(x67, (0, 1), x362, (2, 3, 0, 4), (2, 3, 4, 1)) + del x67, x362 + x482 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x482 += einsum(f.ov, (0, 1), x212, (2, 3, 0, 4), (2, 3, 4, 1)) * -0.5 + x483 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x483 += einsum(f.ov, (0, 1), l1, (2, 3), (0, 3, 1, 2)) + x483 += einsum(x365, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x365 + x483 += einsum(x366, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x366 + x483 += einsum(x367, (0, 1, 2, 3), (0, 1, 2, 3)) + del x367 + x483 += einsum(x368, (0, 1, 2, 3), (0, 1, 2, 3)) + del x368 + x483 += einsum(x369, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x369 + x483 += einsum(x370, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x370 + x483 += einsum(x371, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.49999999999997996 + del x371 + x483 += einsum(x373, (0, 1, 2, 3), (0, 1, 2, 3)) + del x373 + x483 += einsum(x381, (0, 1, 2, 3), (0, 1, 2, 3)) + del x381 + x483 += einsum(x391, (0, 1, 2, 3), (0, 1, 2, 3)) + del x391 + x483 += einsum(x396, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x396 + x483 += einsum(x403, (0, 1, 2, 3), (0, 1, 2, 3)) + del x403 + x483 += einsum(x408, (0, 1, 2, 3), (0, 1, 2, 3)) + del x408 + x483 += einsum(x414, (0, 1, 2, 3), (1, 0, 3, 2)) + del x414 + x483 += einsum(x433, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x433 + x483 += einsum(x444, (0, 1, 2, 3), (1, 0, 3, 2)) + del x444 + x483 += einsum(x446, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x446 + x483 += einsum(x448, (0, 1, 2, 3), (0, 1, 2, 3)) + del x448 + x483 += einsum(x451, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x451 + x483 += einsum(x454, (0, 1, 2, 3), (0, 1, 2, 3)) + del x454 + x483 += einsum(x456, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x456 + x483 += einsum(x460, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x460 + x483 += einsum(x462, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x462 + x483 += einsum(x466, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x466 + x483 += einsum(x468, (0, 1, 2, 3), (0, 1, 3, 2)) + del x468 + x483 += einsum(x469, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x469 + x483 += einsum(x475, (0, 1, 2, 3), (1, 0, 3, 2)) + del x475 + x483 += einsum(x477, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x477 + x483 += einsum(x480, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x480 + x483 += einsum(x481, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x481 + x483 += einsum(x482, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x482 + x483 += einsum(l1, (0, 1), x36, (2, 3), (1, 2, 0, 3)) * 2.0 + l2new += einsum(x483, (0, 1, 2, 3), (2, 3, 0, 1)) + l2new += einsum(x483, (0, 1, 2, 3), (3, 2, 1, 0)) + del x483 + x484 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x484 += einsum(v.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) + x484 += einsum(x65, (0, 1, 2, 3), (1, 3, 0, 2)) + x484 += einsum(x20, (0, 1, 2, 3), (0, 2, 1, 3)) + x485 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x485 += einsum(x484, (0, 1, 2, 3), l3, (4, 5, 6, 0, 7, 2), (7, 1, 3, 4, 6, 5)) * 0.5 + del x484 + l3new += einsum(x485, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 0, 2)) * -1.0 + l3new += einsum(x485, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 0, 2)) + del x485 + x486 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x486 += einsum(x20, (0, 1, 2, 3), l3, (4, 5, 6, 7, 1, 0), (7, 2, 3, 4, 6, 5)) + del x20 + x487 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x487 += einsum(v.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) + x487 += einsum(x5, (0, 1, 2, 3), (2, 1, 0, 3)) + x487 += einsum(x65, (0, 1, 2, 3), (1, 3, 0, 2)) + del x65 + x488 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x488 += einsum(x487, (0, 1, 2, 3), l3, (4, 5, 6, 0, 2, 7), (7, 1, 3, 4, 6, 5)) + del x487 + x489 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x489 += einsum(x360, (0, 1), l3, (2, 3, 4, 0, 5, 6), (6, 5, 1, 2, 4, 3)) + del x360 + x490 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x490 += einsum(x486, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x486 + x490 += einsum(x488, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) + del x488 + x490 += einsum(x489, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) + del x489 + l3new += einsum(x490, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) + l3new += einsum(x490, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 2, 0)) * -1.0 + del x490 + x491 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x491 += einsum(l2, (0, 1, 2, 3), v.ooov, (4, 3, 5, 6), (2, 4, 5, 0, 1, 6)) + l3new += einsum(x491, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 1, 2)) * -1.0 + l3new += einsum(x491, (0, 1, 2, 3, 4, 5), (5, 4, 3, 0, 1, 2)) + l3new += einsum(x491, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * -1.0 + l3new += einsum(x491, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) + l3new += einsum(x491, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 0, 2)) * -1.0 + l3new += einsum(x491, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) + l3new += einsum(x491, (0, 1, 2, 3, 4, 5), (4, 3, 5, 2, 0, 1)) + l3new += einsum(x491, (0, 1, 2, 3, 4, 5), (5, 3, 4, 2, 0, 1)) * -1.0 + l3new += einsum(x491, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 2, 0)) + l3new += einsum(x491, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) * -1.0 + l3new += einsum(x491, (0, 1, 2, 3, 4, 5), (3, 4, 5, 2, 1, 0)) + l3new += einsum(x491, (0, 1, 2, 3, 4, 5), (5, 4, 3, 2, 1, 0)) * -1.0 + del x491 + x492 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x492 += einsum(f.vv, (0, 1), l3, (2, 3, 1, 4, 5, 6), (4, 6, 5, 0, 2, 3)) + x493 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x493 += einsum(f.ov, (0, 1), x112, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) + x494 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x494 += einsum(v.vvvv, (0, 1, 2, 3), l3, (4, 3, 1, 5, 6, 7), (5, 7, 6, 4, 0, 2)) + x495 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x495 += einsum(v.ovvv, (0, 1, 2, 3), x112, (4, 5, 6, 0, 7, 3), (4, 5, 6, 7, 1, 2)) + x496 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) + x496 += einsum(t2, (0, 1, 2, 3), l3, (4, 3, 2, 5, 6, 7), (5, 7, 6, 0, 1, 4)) + x497 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) + x497 += einsum(x496, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x496 + x497 += einsum(x151, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x151 + x498 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x498 += einsum(v.ovov, (0, 1, 2, 3), x497, (4, 5, 6, 2, 0, 7), (4, 5, 6, 1, 3, 7)) + del x497 + x499 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x499 += einsum(x492, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 + del x492 + x499 += einsum(x493, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x493 + x499 += einsum(x494, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x494 + x499 += einsum(x495, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 + del x495 + x499 += einsum(x498, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) + del x498 + l3new += einsum(x499, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) + l3new += einsum(x499, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) * -1.0 + del x499 + x500 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x500 += einsum(l2, (0, 1, 2, 3), v.ovvv, (4, 5, 6, 1), (2, 3, 4, 0, 5, 6)) + x501 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x501 += einsum(l2, (0, 1, 2, 3), x8, (3, 4, 5, 6), (2, 4, 5, 0, 1, 6)) + x502 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x502 += einsum(v.ovov, (0, 1, 2, 3), x122, (4, 5, 2, 6), (4, 5, 0, 6, 1, 3)) + del x122 + x503 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x503 += einsum(x500, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 + del x500 + x503 += einsum(x501, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x501 + x503 += einsum(x502, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x502 + l3new += einsum(x503, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 1, 2)) * -1.0 + l3new += einsum(x503, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 1, 2)) + l3new += einsum(x503, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 2, 1)) * -1.0 + l3new += einsum(x503, (0, 1, 2, 3, 4, 5), (5, 4, 3, 0, 2, 1)) + l3new += einsum(x503, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 0, 2)) + l3new += einsum(x503, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) * -1.0 + l3new += einsum(x503, (0, 1, 2, 3, 4, 5), (4, 3, 5, 2, 0, 1)) * -1.0 + l3new += einsum(x503, (0, 1, 2, 3, 4, 5), (5, 3, 4, 2, 0, 1)) + l3new += einsum(x503, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 2, 0)) + l3new += einsum(x503, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 2, 0)) * -1.0 + l3new += einsum(x503, (0, 1, 2, 3, 4, 5), (3, 5, 4, 2, 1, 0)) + l3new += einsum(x503, (0, 1, 2, 3, 4, 5), (4, 5, 3, 2, 1, 0)) * -1.0 + del x503 + x504 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x504 += einsum(v.vvvv, (0, 1, 2, 3), l3, (1, 4, 3, 5, 6, 7), (5, 7, 6, 4, 0, 2)) + x505 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) + x505 += einsum(t2, (0, 1, 2, 3), l3, (2, 4, 3, 5, 6, 7), (5, 7, 6, 0, 1, 4)) + x506 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) + x506 += einsum(t1, (0, 1), x112, (2, 3, 4, 5, 1, 6), (2, 3, 4, 0, 5, 6)) + x507 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) + x507 += einsum(x505, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x505 + x507 += einsum(x506, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x506 + x508 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x508 += einsum(v.ovov, (0, 1, 2, 3), x507, (4, 5, 6, 2, 0, 7), (4, 5, 6, 1, 3, 7)) * 0.5 + del x507 + x509 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x509 += einsum(x504, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 0.5 + del x504 + x509 += einsum(x508, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) + del x508 + l3new += einsum(x509, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 2, 0)) * -1.0 + l3new += einsum(x509, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) + del x509 + x510 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x510 += einsum(v.ovov, (0, 1, 2, 3), x212, (4, 5, 2, 6), (0, 4, 5, 3, 1, 6)) * -0.5 + del x212 + l3new += einsum(x510, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) + l3new += einsum(x510, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 2, 0)) * -1.0 + l3new += einsum(x510, (0, 1, 2, 3, 4, 5), (5, 3, 4, 2, 1, 0)) * -1.0 + l3new += einsum(x510, (0, 1, 2, 3, 4, 5), (4, 3, 5, 2, 1, 0)) + l3new += einsum(x510, (0, 1, 2, 3, 4, 5), (5, 3, 4, 0, 1, 2)) + l3new += einsum(x510, (0, 1, 2, 3, 4, 5), (4, 3, 5, 0, 1, 2)) * -1.0 + l3new += einsum(x510, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) * -1.0 + l3new += einsum(x510, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) + del x510 + x511 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x511 += einsum(v.ovov, (0, 1, 2, 3), x165, (4, 5, 2, 6), (4, 5, 0, 6, 1, 3)) + del x165 + l3new += einsum(x511, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 1, 2)) * -1.0 + l3new += einsum(x511, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 1, 2)) + l3new += einsum(x511, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 2, 1)) * -0.5 + l3new += einsum(x511, (0, 1, 2, 3, 4, 5), (5, 4, 3, 0, 2, 1)) * 0.5 + l3new += einsum(x511, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 0, 2)) + l3new += einsum(x511, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) * -1.0 + l3new += einsum(x511, (0, 1, 2, 3, 4, 5), (4, 3, 5, 2, 0, 1)) * -1.0 + l3new += einsum(x511, (0, 1, 2, 3, 4, 5), (5, 3, 4, 2, 0, 1)) + l3new += einsum(x511, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 2, 0)) * 0.5 + l3new += einsum(x511, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 2, 0)) * -0.5 + l3new += einsum(x511, (0, 1, 2, 3, 4, 5), (3, 5, 4, 2, 1, 0)) + l3new += einsum(x511, (0, 1, 2, 3, 4, 5), (4, 5, 3, 2, 1, 0)) * -1.0 + del x511 + x512 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x512 += einsum(v.ooov, (0, 1, 2, 3), x112, (4, 5, 1, 2, 6, 7), (4, 5, 0, 6, 7, 3)) + x513 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x513 += einsum(v.ovvv, (0, 1, 2, 3), x118, (4, 5, 6, 0, 3, 7), (5, 4, 6, 7, 1, 2)) + x514 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x514 += einsum(x8, (0, 1, 2, 3), x112, (4, 5, 0, 1, 6, 7), (4, 5, 2, 6, 7, 3)) + x515 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x515 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) + x515 += einsum(x90, (0, 1, 2, 3), (0, 1, 3, 2)) + del x90 + x515 += einsum(x70, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.00000000000001 + del x70 + l3new += einsum(x515, (0, 1, 2, 3), l3, (4, 2, 5, 6, 0, 7), (4, 3, 5, 6, 1, 7)) * -1.0 + x516 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x516 += einsum(x515, (0, 1, 2, 3), l3, (4, 5, 2, 6, 0, 7), (7, 6, 1, 4, 5, 3)) + x517 = np.zeros((nvir, nvir), dtype=types[float]) + x517 += einsum(v.ovov, (0, 1, 2, 3), x190, (0, 2, 4, 1), (3, 4)) * 2.0 + del x190 + x518 = np.zeros((nvir, nvir), dtype=types[float]) + x518 += einsum(t1, (0, 1), x393, (0, 1, 2, 3), (2, 3)) + del x393 + x519 = np.zeros((nvir, nvir), dtype=types[float]) + x519 += einsum(x517, (0, 1), (0, 1)) + del x517 + x519 += einsum(x518, (0, 1), (1, 0)) * -1.0 + del x518 + x520 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x520 += einsum(x519, (0, 1), l3, (2, 3, 1, 4, 5, 6), (6, 4, 5, 2, 3, 0)) + del x519 + x521 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x521 += einsum(x36, (0, 1), x112, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 6, 1)) * 2.0 + del x36 + x522 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x522 += einsum(v.ovov, (0, 1, 2, 3), x428, (4, 5, 2, 6), (0, 5, 4, 3, 1, 6)) * 1.5 + del x428 + x523 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x523 += einsum(x512, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 + del x512 + x523 += einsum(x513, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x513 + x523 += einsum(x514, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 + del x514 + x523 += einsum(x516, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) + del x516 + x523 += einsum(x520, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) + del x520 + x523 += einsum(x521, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x521 + x523 += einsum(x522, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) + del x522 + l3new += einsum(x523, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 2, 1)) * -1.0 + l3new += einsum(x523, (0, 1, 2, 3, 4, 5), (5, 4, 3, 0, 2, 1)) + del x523 + x524 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x524 += einsum(v.ovov, (0, 1, 2, 3), x155, (4, 5, 6, 1), (0, 2, 4, 3, 5, 6)) * -0.5 + del x155 + l3new += einsum(x524, (0, 1, 2, 3, 4, 5), (5, 4, 3, 2, 0, 1)) * -1.0 + l3new += einsum(x524, (0, 1, 2, 3, 4, 5), (3, 4, 5, 2, 0, 1)) + l3new += einsum(x524, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) + l3new += einsum(x524, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 2, 0)) * -1.0 + l3new += einsum(x524, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) * -1.0 + l3new += einsum(x524, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) + l3new += einsum(x524, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 0, 2)) + l3new += einsum(x524, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 0, 2)) * -1.0 + del x524 + x525 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x525 += einsum(v.ovov, (0, 1, 2, 3), x410, (4, 5, 6, 3), (4, 0, 2, 6, 5, 1)) + del x410 + l3new += einsum(x525, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 1, 2)) * 0.5 + l3new += einsum(x525, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 1, 2)) * -0.5 + l3new += einsum(x525, (0, 1, 2, 3, 4, 5), (3, 5, 4, 2, 1, 0)) * -0.5 + l3new += einsum(x525, (0, 1, 2, 3, 4, 5), (4, 5, 3, 2, 1, 0)) * 0.5 + del x525 + x526 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x526 += einsum(v.ovov, (0, 1, 2, 3), x167, (4, 5, 2, 6), (4, 5, 0, 6, 1, 3)) + del x167 + l3new += einsum(x526, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 2, 1)) * 0.5 + l3new += einsum(x526, (0, 1, 2, 3, 4, 5), (5, 4, 3, 0, 2, 1)) * -0.5 + l3new += einsum(x526, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 2, 0)) * -0.5 + l3new += einsum(x526, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 2, 0)) * 0.5 + del x526 + x527 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x527 += einsum(x5, (0, 1, 2, 3), l3, (4, 5, 6, 7, 2, 0), (7, 1, 3, 4, 6, 5)) + x528 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x528 += einsum(v.ooov, (0, 1, 2, 3), x118, (4, 1, 5, 2, 6, 7), (4, 5, 0, 6, 7, 3)) + x529 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x529 += einsum(x8, (0, 1, 2, 3), x118, (0, 4, 5, 1, 6, 7), (4, 5, 2, 7, 6, 3)) + x530 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x530 += einsum(x515, (0, 1, 2, 3), l3, (4, 2, 5, 0, 6, 7), (7, 6, 1, 4, 5, 3)) + x531 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x531 += einsum(x479, (0, 1), l3, (2, 3, 4, 0, 5, 6), (6, 5, 1, 2, 4, 3)) + del x479 + x532 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x532 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * -0.5 + x532 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) + x533 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x533 += einsum(t2, (0, 1, 2, 3), x532, (0, 4, 1, 5, 6, 2), (4, 3, 5, 6)) * 2.0 + del x532 + x534 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x534 += einsum(v.ovov, (0, 1, 2, 3), x533, (4, 1, 5, 6), (0, 2, 4, 3, 6, 5)) + del x533 + x535 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x535 += einsum(x527, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x527 + x535 += einsum(x528, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x528 + x535 += einsum(x529, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x529 + x535 += einsum(x530, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 + del x530 + x535 += einsum(x531, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 + del x531 + x535 += einsum(x534, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -1.0 + del x534 + l3new += einsum(x535, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 1, 2)) + l3new += einsum(x535, (0, 1, 2, 3, 4, 5), (3, 5, 4, 2, 1, 0)) * -1.0 + del x535 + x536 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x536 += einsum(v.ovov, (0, 1, 2, 3), x372, (4, 5, 6, 3), (4, 0, 2, 5, 6, 1)) + del x372 + l3new += einsum(x536, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 2, 1)) * -1.0 + l3new += einsum(x536, (0, 1, 2, 3, 4, 5), (5, 4, 3, 0, 2, 1)) + l3new += einsum(x536, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 0, 2)) + l3new += einsum(x536, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) * -1.0 + l3new += einsum(x536, (0, 1, 2, 3, 4, 5), (4, 3, 5, 2, 0, 1)) * -1.0 + l3new += einsum(x536, (0, 1, 2, 3, 4, 5), (5, 3, 4, 2, 0, 1)) + l3new += einsum(x536, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 2, 0)) + l3new += einsum(x536, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 2, 0)) * -1.0 + del x536 + x537 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x537 += einsum(v.ooov, (0, 1, 2, 3), x112, (4, 0, 5, 1, 6, 7), (4, 5, 2, 6, 7, 3)) + x538 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x538 += einsum(x8, (0, 1, 2, 3), x112, (4, 0, 5, 2, 6, 7), (4, 5, 1, 6, 7, 3)) + x539 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x539 += einsum(v.ovov, (0, 1, 2, 3), x77, (2, 4, 3, 5), (0, 4, 1, 5)) * 1.00000000000001 + x540 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x540 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + x540 += einsum(x99, (0, 1, 2, 3), (0, 1, 3, 2)) + x540 += einsum(x76, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.00000000000001 + x540 += einsum(x539, (0, 1, 2, 3), (1, 0, 3, 2)) + del x539 + x541 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x541 += einsum(x540, (0, 1, 2, 3), l3, (4, 5, 2, 6, 7, 0), (6, 7, 1, 4, 5, 3)) + del x540 + x542 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x542 += einsum(x537, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x537 + x542 += einsum(x538, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x538 + x542 += einsum(x541, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 + del x541 + l3new += einsum(x542, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 1, 2)) * -1.0 + l3new += einsum(x542, (0, 1, 2, 3, 4, 5), (5, 4, 3, 0, 1, 2)) + l3new += einsum(x542, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * -1.0 + l3new += einsum(x542, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 0, 2)) * -1.0 + l3new += einsum(x542, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) + l3new += einsum(x542, (0, 1, 2, 3, 4, 5), (4, 3, 5, 2, 0, 1)) + l3new += einsum(x542, (0, 1, 2, 3, 4, 5), (5, 3, 4, 2, 0, 1)) * -1.0 + l3new += einsum(x542, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 2, 0)) + l3new += einsum(x542, (0, 1, 2, 3, 4, 5), (3, 4, 5, 2, 1, 0)) + l3new += einsum(x542, (0, 1, 2, 3, 4, 5), (5, 4, 3, 2, 1, 0)) * -1.0 + del x542 + x543 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x543 += einsum(v.ooov, (0, 1, 2, 3), x112, (4, 1, 5, 2, 6, 7), (4, 5, 0, 6, 7, 3)) + x544 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x544 += einsum(x8, (0, 1, 2, 3), x112, (4, 0, 5, 1, 6, 7), (4, 5, 2, 6, 7, 3)) + del x8 + x545 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x545 += einsum(x515, (0, 1, 2, 3), l3, (4, 5, 2, 6, 7, 0), (6, 7, 1, 4, 5, 3)) + del x515 + x546 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x546 += einsum(x543, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x543 + x546 += einsum(x544, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x544 + x546 += einsum(x545, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 + del x545 + l3new += einsum(x546, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 1, 2)) + l3new += einsum(x546, (0, 1, 2, 3, 4, 5), (5, 4, 3, 0, 1, 2)) * -1.0 + l3new += einsum(x546, (0, 1, 2, 3, 4, 5), (3, 4, 5, 2, 1, 0)) * -1.0 + l3new += einsum(x546, (0, 1, 2, 3, 4, 5), (5, 4, 3, 2, 1, 0)) + del x546 + x547 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x547 += einsum(v.ovvv, (0, 1, 2, 3), x112, (4, 5, 6, 0, 3, 7), (5, 4, 6, 7, 1, 2)) + del x112 + l3new += einsum(x547, (0, 1, 2, 3, 4, 5), (4, 3, 5, 0, 2, 1)) * -1.0 + l3new += einsum(x547, (0, 1, 2, 3, 4, 5), (5, 3, 4, 0, 2, 1)) + del x547 + x548 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x548 += einsum(x5, (0, 1, 2, 3), l3, (4, 5, 6, 0, 7, 2), (7, 1, 3, 4, 6, 5)) + del x5 + l3new += einsum(x548, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 0, 2)) * -1.0 + l3new += einsum(x548, (0, 1, 2, 3, 4, 5), (3, 5, 4, 2, 0, 1)) + del x548 + x549 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x549 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * 0.99999999999999 + x549 += einsum(x99, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.99999999999999 + del x99 + x549 += einsum(x76, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x76 + x549 += einsum(x96, (0, 1, 2, 3), (1, 0, 3, 2)) + del x96 + l3new += einsum(x549, (0, 1, 2, 3), x141, (4, 5, 0, 2, 6, 7), (6, 3, 7, 5, 1, 4)) * 1.00000000000001 + del x141, x549 + x550 = np.zeros((nvir, nvir), dtype=types[float]) + x550 += einsum(f.vv, (0, 1), (0, 1)) + x550 += einsum(v.ovov, (0, 1, 2, 3), x77, (0, 2, 1, 4), (4, 3)) * -1.0 + del x77 + x550 += einsum(t1, (0, 1), x54, (0, 1, 2, 3), (3, 2)) * 2.0 + del x54 + l3new += einsum(x550, (0, 1), l3, (2, 0, 3, 4, 5, 6), (2, 1, 3, 4, 5, 6)) + del x550 + x551 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x551 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) + x551 += einsum(v.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + l3new += einsum(x551, (0, 1, 2, 3), x118, (4, 5, 0, 1, 6, 7), (7, 3, 6, 5, 2, 4)) * -1.0 + del x118, x551 + x552 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x552 += einsum(l2, (0, 1, 2, 3), (3, 2, 0, 1)) + x552 += einsum(l2, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 + l3new += einsum(x68, (0, 1), x552, (2, 3, 4, 5), (5, 1, 4, 3, 0, 2)) * -1.0 + del x68, x552 + + return {"l1new": l1new, "l2new": l2new, "l3new": l3new} + +def make_rdm1_f(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, t3=None, l1=None, l2=None, l3=None, **kwargs): + delta = Namespace(oo=np.eye(nocc), vv=np.eye(nvir)) + + # RDM1 + rdm1_f_oo = np.zeros((nocc, nocc), dtype=types[float]) + rdm1_f_oo += einsum(delta.oo, (0, 1), (0, 1)) * 2.0 + rdm1_f_oo += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 5, 3, 1, 0, 2), (6, 4)) * 0.16666666666666 + rdm1_f_ov = np.zeros((nocc, nvir), dtype=types[float]) + rdm1_f_ov += einsum(t1, (0, 1), (0, 1)) * 2.0 + rdm1_f_vo = np.zeros((nvir, nocc), dtype=types[float]) + rdm1_f_vo += einsum(l1, (0, 1), (0, 1)) * 2.0 + rdm1_f_vv = np.zeros((nvir, nvir), dtype=types[float]) + rdm1_f_vv += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (3, 4, 5, 0, 6, 2), (1, 6)) * 0.49999999999998 + rdm1_f_vv += einsum(l1, (0, 1), t1, (1, 2), (0, 2)) * 2.0 + x0 = np.zeros((nocc, nocc), dtype=types[float]) + x0 += einsum(l1, (0, 1), t1, (2, 0), (1, 2)) + rdm1_f_oo += einsum(x0, (0, 1), (1, 0)) * -2.0 + x1 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x1 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -0.14285714285714288 + x1 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 0.14285714285714288 + x1 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) + x1 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -0.14285714285714288 + rdm1_f_oo += einsum(l3, (0, 1, 2, 3, 4, 5), x1, (4, 6, 3, 0, 2, 1), (6, 5)) * -1.16666666666662 + del x1 + x2 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x2 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 3.0 + x2 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) + x2 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -1.0 + rdm1_f_oo += einsum(l3, (0, 1, 2, 3, 4, 5), x2, (3, 5, 6, 0, 2, 1), (6, 4)) * -0.16666666666666 + del x2 + x3 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x3 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + x3 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 + rdm1_f_oo += einsum(l3, (0, 1, 2, 3, 4, 5), x3, (3, 6, 4, 0, 1, 2), (6, 5)) * 0.16666666666666 + del x3 + x4 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x4 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + x4 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + rdm1_f_oo += einsum(l2, (0, 1, 2, 3), x4, (2, 4, 0, 1), (4, 3)) * -2.0 + del x4 + x5 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x5 += einsum(t1, (0, 1), l3, (2, 1, 3, 4, 5, 6), (4, 6, 5, 0, 2, 3)) + rdm1_f_ov += einsum(t3, (0, 1, 2, 3, 4, 5), x5, (0, 2, 1, 6, 3, 5), (6, 4)) * -0.49999999999998 + del x5 + x6 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x6 += einsum(t1, (0, 1), l3, (2, 3, 1, 4, 5, 6), (4, 6, 5, 0, 2, 3)) + x7 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x7 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + x7 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 6.999999999999999 + x7 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) + x7 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) + x7 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -1.0 + x7 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 + rdm1_f_ov += einsum(x6, (0, 1, 2, 3, 4, 5), x7, (0, 1, 2, 5, 6, 4), (3, 6)) * -0.16666666666666 + del x7 + x8 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x8 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + x8 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 + x8 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) + rdm1_f_ov += einsum(x6, (0, 1, 2, 3, 4, 5), x8, (0, 2, 1, 5, 4, 6), (3, 6)) * 0.16666666666666 + del x6, x8 + x9 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x9 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + x9 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 6.0 + x9 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) + x9 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 + rdm1_f_ov += einsum(l2, (0, 1, 2, 3), x9, (2, 4, 3, 1, 0, 5), (4, 5)) * 0.5 + del x9 + x10 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x10 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + x10 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 2.0 + rdm1_f_ov += einsum(l2, (0, 1, 2, 3), x10, (3, 4, 2, 1, 0, 5), (4, 5)) * -0.5 + del x10 + x11 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x11 += einsum(t1, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2)) + x12 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x12 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.3333333333333333 + x12 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) + x13 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x13 += einsum(x12, (0, 1, 2, 3), l3, (4, 2, 3, 5, 0, 6), (1, 6, 5, 4)) * 0.75 + del x12 + x14 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x14 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) + x14 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.3333333333333333 + x15 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x15 += einsum(x11, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x15 += einsum(x11, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x11 + x15 += einsum(x13, (0, 1, 2, 3), (2, 1, 0, 3)) + x15 += einsum(x13, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 + del x13 + x15 += einsum(x14, (0, 1, 2, 3), l3, (4, 2, 3, 5, 6, 0), (5, 6, 1, 4)) * 1.5 + del x14 + rdm1_f_ov += einsum(t2, (0, 1, 2, 3), x15, (0, 1, 4, 2), (4, 3)) * -2.0 + del x15 + x16 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x16 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 3, 4, 0, 2, 1)) * -1.0 + x16 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) + x16 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 0, 2)) + x17 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x17 += einsum(t2, (0, 1, 2, 3), l3, (4, 2, 3, 5, 6, 1), (5, 6, 0, 4)) * -1.0 + x17 += einsum(t2, (0, 1, 2, 3), x16, (1, 4, 5, 3, 2, 6), (4, 5, 0, 6)) + del x16 + rdm1_f_ov += einsum(t2, (0, 1, 2, 3), x17, (0, 1, 4, 3), (4, 2)) * -1.0 + del x17 + x18 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x18 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.5 + x18 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) + rdm1_f_ov += einsum(l1, (0, 1), x18, (1, 2, 0, 3), (2, 3)) * 4.0 + del x18 + x19 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x19 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + x19 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) + x19 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 6.999999999999999 + x19 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 + x20 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x20 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + x20 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) + x20 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 3.0 + x21 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x21 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) + x21 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 4, 3, 0, 2, 1)) + x22 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x22 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) + x22 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 + x23 = np.zeros((nocc, nocc), dtype=types[float]) + x23 += einsum(x0, (0, 1), (0, 1)) + del x0 + x23 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 5, 4, 1, 0, 2), (3, 6)) * 0.08333333333333 + x23 += einsum(l3, (0, 1, 2, 3, 4, 5), x19, (4, 6, 5, 2, 0, 1), (3, 6)) * 0.08333333333333 + del x19 + x23 += einsum(l3, (0, 1, 2, 3, 4, 5), x20, (3, 6, 5, 1, 0, 2), (4, 6)) * 0.08333333333333 + del x20 + x23 += einsum(t3, (0, 1, 2, 3, 4, 5), x21, (2, 6, 1, 5, 4, 3), (6, 0)) * -0.08333333333333 + del x21 + x23 += einsum(l2, (0, 1, 2, 3), x22, (2, 4, 1, 0), (3, 4)) * 2.0 + del x22 + rdm1_f_ov += einsum(t1, (0, 1), x23, (0, 2), (2, 1)) * -2.0 + del x23 + x24 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x24 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 0.14285714285714288 + x24 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -0.14285714285714288 + x24 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) + x24 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -0.14285714285714288 + x24 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * 0.14285714285714288 + x24 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -0.14285714285714288 + rdm1_f_vv += einsum(l3, (0, 1, 2, 3, 4, 5), x24, (5, 3, 4, 1, 2, 6), (0, 6)) * 1.16666666666662 + del x24 + x25 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x25 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + x25 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) + x25 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) + rdm1_f_vv += einsum(l3, (0, 1, 2, 3, 4, 5), x25, (5, 4, 3, 1, 6, 2), (0, 6)) * -0.16666666666666 + del x25 + x26 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x26 += einsum(l2, (0, 1, 2, 3), (3, 2, 0, 1)) * -0.5 + x26 += einsum(l2, (0, 1, 2, 3), (2, 3, 0, 1)) + rdm1_f_vv += einsum(t2, (0, 1, 2, 3), x26, (0, 1, 2, 4), (4, 3)) * 4.0 + del x26 + + rdm1_f = np.block([[rdm1_f_oo, rdm1_f_ov], [rdm1_f_vo, rdm1_f_vv]]) + + return rdm1_f + +def make_rdm2_f(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, t3=None, l1=None, l2=None, l3=None, **kwargs): + delta = Namespace(oo=np.eye(nocc), vv=np.eye(nvir)) + + # RDM2 + rdm2_f_oooo = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + rdm2_f_oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (0, 2, 1, 3)) + rdm2_f_oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (0, 2, 3, 1)) * -1.0 + rdm2_f_oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (0, 2, 1, 3)) + rdm2_f_oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (0, 2, 1, 3)) + rdm2_f_oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (0, 2, 1, 3)) + rdm2_f_oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (0, 2, 3, 1)) * -1.0 + rdm2_f_ovoo = np.zeros((nocc, nvir, nocc, nocc), dtype=types[float]) + rdm2_f_ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (0, 2, 1, 3)) + rdm2_f_ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (0, 2, 3, 1)) * -1.0 + rdm2_f_ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (0, 2, 1, 3)) + rdm2_f_ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (0, 2, 1, 3)) + rdm2_f_ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (0, 2, 1, 3)) + rdm2_f_ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (0, 2, 3, 1)) * -1.0 + rdm2_f_vooo = np.zeros((nvir, nocc, nocc, nocc), dtype=types[float]) + rdm2_f_vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 0, 1, 3)) * -1.0 + rdm2_f_vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 0, 3, 1)) + rdm2_f_vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 0, 3, 1)) + rdm2_f_vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 0, 3, 1)) + rdm2_f_vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 0, 1, 3)) * -1.0 + rdm2_f_vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 0, 3, 1)) + rdm2_f_oovv = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + rdm2_f_oovv += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) + rdm2_f_oovv += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) + rdm2_f_ovov = np.zeros((nocc, nvir, nocc, nvir), dtype=types[float]) + rdm2_f_ovov += einsum(l1, (0, 1), t1, (2, 3), (2, 0, 1, 3)) * -1.0 + rdm2_f_ovov += einsum(l1, (0, 1), t1, (2, 3), (2, 0, 1, 3)) * -1.0 + rdm2_f_ovvo = np.zeros((nocc, nvir, nvir, nocc), dtype=types[float]) + rdm2_f_ovvo += einsum(l1, (0, 1), t1, (2, 3), (2, 0, 3, 1)) + rdm2_f_ovvo += einsum(l1, (0, 1), t1, (2, 3), (2, 0, 3, 1)) + rdm2_f_ovvo += einsum(l1, (0, 1), t1, (2, 3), (2, 0, 3, 1)) + rdm2_f_ovvo += einsum(l1, (0, 1), t1, (2, 3), (2, 0, 3, 1)) + rdm2_f_voov = np.zeros((nvir, nocc, nocc, nvir), dtype=types[float]) + rdm2_f_voov += einsum(l1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) + rdm2_f_voov += einsum(l1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) + rdm2_f_voov += einsum(l1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) + rdm2_f_voov += einsum(l1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) + rdm2_f_vovo = np.zeros((nvir, nocc, nvir, nocc), dtype=types[float]) + rdm2_f_vovo += einsum(l1, (0, 1), t1, (2, 3), (0, 2, 3, 1)) * -1.0 + rdm2_f_vovo += einsum(l1, (0, 1), t1, (2, 3), (0, 2, 3, 1)) * -1.0 + rdm2_f_vvoo = np.zeros((nvir, nvir, nocc, nocc), dtype=types[float]) + rdm2_f_vvoo += einsum(l2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + rdm2_f_vvoo += einsum(l2, (0, 1, 2, 3), (0, 1, 2, 3)) + rdm2_f_vvoo += einsum(l2, (0, 1, 2, 3), (0, 1, 2, 3)) + rdm2_f_vvoo += einsum(l2, (0, 1, 2, 3), (0, 1, 2, 3)) + rdm2_f_vvoo += einsum(l2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + rdm2_f_vvoo += einsum(l2, (0, 1, 2, 3), (0, 1, 2, 3)) + x0 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x0 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 7, 4, 1, 2, 0), (3, 5, 6, 7)) + rdm2_f_oooo += einsum(x0, (0, 1, 2, 3), (3, 2, 1, 0)) * -0.16666666666667 + rdm2_f_oooo += einsum(x0, (0, 1, 2, 3), (3, 2, 1, 0)) * -0.16666666666667 + del x0 + x1 = np.zeros((nocc, nocc), dtype=types[float]) + x1 += einsum(l1, (0, 1), t1, (2, 0), (1, 2)) + rdm2_f_oooo += einsum(delta.oo, (0, 1), x1, (2, 3), (0, 3, 1, 2)) * -1.0 + rdm2_f_oooo += einsum(delta.oo, (0, 1), x1, (2, 3), (3, 0, 1, 2)) + rdm2_f_oooo += einsum(delta.oo, (0, 1), x1, (2, 3), (0, 3, 2, 1)) + rdm2_f_oooo += einsum(delta.oo, (0, 1), x1, (2, 3), (3, 0, 2, 1)) * -1.0 + rdm2_f_oooo += einsum(delta.oo, (0, 1), x1, (2, 3), (0, 3, 1, 2)) * -1.0 + rdm2_f_oooo += einsum(delta.oo, (0, 1), x1, (2, 3), (3, 0, 2, 1)) * -1.0 + rdm2_f_oooo += einsum(delta.oo, (0, 1), x1, (2, 3), (0, 3, 1, 2)) * -1.0 + rdm2_f_oooo += einsum(delta.oo, (0, 1), x1, (2, 3), (3, 0, 2, 1)) * -1.0 + rdm2_f_oooo += einsum(delta.oo, (0, 1), x1, (2, 3), (0, 3, 1, 2)) * -1.0 + rdm2_f_oooo += einsum(delta.oo, (0, 1), x1, (2, 3), (3, 0, 1, 2)) + rdm2_f_oooo += einsum(delta.oo, (0, 1), x1, (2, 3), (0, 3, 2, 1)) + rdm2_f_oooo += einsum(delta.oo, (0, 1), x1, (2, 3), (3, 0, 2, 1)) * -1.0 + x2 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x2 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 7, 5, 1, 0, 2), (3, 4, 6, 7)) + x3 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x3 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + x3 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) + x4 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x4 += einsum(l3, (0, 1, 2, 3, 4, 5), x3, (5, 6, 7, 1, 0, 2), (3, 4, 6, 7)) * 0.16666666666667 + x5 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x5 += einsum(x2, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.16666666666667 + x5 += einsum(x4, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x4 + rdm2_f_oooo += einsum(x5, (0, 1, 2, 3), (3, 2, 0, 1)) + rdm2_f_oooo += einsum(x5, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 + rdm2_f_oooo += einsum(x5, (0, 1, 2, 3), (3, 2, 0, 1)) + rdm2_f_oooo += einsum(x5, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 + del x5 + x6 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x6 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) + x6 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x7 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x7 += einsum(x6, (0, 1, 2, 3), l3, (4, 2, 3, 5, 6, 0), (5, 6, 1, 4)) + x8 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x8 += einsum(t1, (0, 1), x7, (2, 3, 4, 1), (0, 2, 3, 4)) * -0.5 + rdm2_f_oooo += einsum(x8, (0, 1, 2, 3), (0, 3, 1, 2)) * -1.0 + rdm2_f_oooo += einsum(x8, (0, 1, 2, 3), (3, 0, 1, 2)) + rdm2_f_oooo += einsum(x8, (0, 1, 2, 3), (0, 3, 2, 1)) + rdm2_f_oooo += einsum(x8, (0, 1, 2, 3), (3, 0, 2, 1)) * -1.0 + rdm2_f_oooo += einsum(x8, (0, 1, 2, 3), (0, 3, 1, 2)) * -1.0 + rdm2_f_oooo += einsum(x8, (0, 1, 2, 3), (3, 0, 1, 2)) + rdm2_f_oooo += einsum(x8, (0, 1, 2, 3), (0, 3, 2, 1)) + rdm2_f_oooo += einsum(x8, (0, 1, 2, 3), (3, 0, 2, 1)) * -1.0 + del x8 + x9 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x9 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.3333333333333333 + x9 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) + x10 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x10 += einsum(x9, (0, 1, 2, 3), l3, (4, 2, 3, 5, 0, 6), (6, 5, 1, 4)) + x11 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x11 += einsum(t1, (0, 1), x10, (2, 3, 4, 1), (0, 3, 2, 4)) * 1.5 + rdm2_f_oooo += einsum(x11, (0, 1, 2, 3), (0, 3, 1, 2)) + rdm2_f_oooo += einsum(x11, (0, 1, 2, 3), (3, 0, 1, 2)) * -1.0 + rdm2_f_oooo += einsum(x11, (0, 1, 2, 3), (0, 3, 1, 2)) + rdm2_f_oooo += einsum(x11, (0, 1, 2, 3), (3, 0, 1, 2)) * -1.0 + del x11 + x12 = np.zeros((nocc, nocc), dtype=types[float]) + x12 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 5, 4, 1, 0, 2), (3, 6)) + x13 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x13 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + x13 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 6.999999999999999 + x13 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) + x13 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 + x14 = np.zeros((nocc, nocc), dtype=types[float]) + x14 += einsum(l3, (0, 1, 2, 3, 4, 5), x13, (3, 6, 4, 1, 2, 0), (5, 6)) * 0.041666666666665 + x15 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x15 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + x15 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 + x15 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * 3.0 + x16 = np.zeros((nocc, nocc), dtype=types[float]) + x16 += einsum(l3, (0, 1, 2, 3, 4, 5), x15, (5, 6, 3, 0, 2, 1), (4, 6)) * 0.041666666666665 + x17 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x17 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) + x17 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 3, 5, 0, 2, 1)) + x18 = np.zeros((nocc, nocc), dtype=types[float]) + x18 += einsum(t3, (0, 1, 2, 3, 4, 5), x17, (1, 2, 6, 5, 4, 3), (0, 6)) * 0.041666666666665 + x19 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x19 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) + x19 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 + x20 = np.zeros((nocc, nocc), dtype=types[float]) + x20 += einsum(l2, (0, 1, 2, 3), x19, (3, 4, 0, 1), (2, 4)) + x21 = np.zeros((nocc, nocc), dtype=types[float]) + x21 += einsum(x12, (0, 1), (0, 1)) * 0.041666666666665 + x21 += einsum(x14, (0, 1), (0, 1)) + del x14 + x21 += einsum(x16, (0, 1), (0, 1)) + del x16 + x21 += einsum(x18, (0, 1), (1, 0)) * -1.0 + del x18 + x21 += einsum(x20, (0, 1), (0, 1)) + del x20 + rdm2_f_oooo += einsum(delta.oo, (0, 1), x21, (2, 3), (0, 3, 1, 2)) * -2.0 + rdm2_f_oooo += einsum(delta.oo, (0, 1), x21, (2, 3), (0, 3, 2, 1)) * 2.0 + rdm2_f_oooo += einsum(delta.oo, (0, 1), x21, (2, 3), (3, 0, 1, 2)) * 2.0 + rdm2_f_oooo += einsum(delta.oo, (0, 1), x21, (2, 3), (3, 0, 2, 1)) * -2.0 + rdm2_f_oooo += einsum(delta.oo, (0, 1), x21, (2, 3), (0, 3, 1, 2)) * -2.0 + rdm2_f_oooo += einsum(delta.oo, (0, 1), x21, (2, 3), (3, 0, 2, 1)) * -2.0 + rdm2_f_oooo += einsum(delta.oo, (0, 1), x21, (2, 3), (0, 3, 1, 2)) * -2.0 + rdm2_f_oooo += einsum(delta.oo, (0, 1), x21, (2, 3), (3, 0, 2, 1)) * -2.0 + rdm2_f_oooo += einsum(delta.oo, (0, 1), x21, (2, 3), (0, 3, 1, 2)) * -2.0 + rdm2_f_oooo += einsum(delta.oo, (0, 1), x21, (2, 3), (0, 3, 2, 1)) * 2.0 + rdm2_f_oooo += einsum(delta.oo, (0, 1), x21, (2, 3), (3, 0, 1, 2)) * 2.0 + rdm2_f_oooo += einsum(delta.oo, (0, 1), x21, (2, 3), (3, 0, 2, 1)) * -2.0 + x22 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x22 += einsum(l2, (0, 1, 2, 3), t2, (4, 5, 0, 1), (2, 3, 4, 5)) + rdm2_f_oooo += einsum(x22, (0, 1, 2, 3), (3, 2, 1, 0)) + rdm2_f_oooo += einsum(x22, (0, 1, 2, 3), (3, 2, 1, 0)) + x23 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x23 += einsum(t1, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2)) + rdm2_f_ovoo += einsum(x23, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 + rdm2_f_ovoo += einsum(x23, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 + rdm2_f_vooo += einsum(x23, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 + rdm2_f_vooo += einsum(x23, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 + x24 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x24 += einsum(t1, (0, 1), x23, (2, 3, 4, 1), (2, 3, 0, 4)) + rdm2_f_oooo += einsum(x24, (0, 1, 2, 3), (3, 2, 1, 0)) + rdm2_f_oooo += einsum(x24, (0, 1, 2, 3), (3, 2, 1, 0)) + x25 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x25 += einsum(x22, (0, 1, 2, 3), (1, 0, 3, 2)) + x25 += einsum(x24, (0, 1, 2, 3), (0, 1, 2, 3)) + rdm2_f_oooo += einsum(x25, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 + rdm2_f_oooo += einsum(x25, (0, 1, 2, 3), (2, 3, 0, 1)) + rdm2_f_oooo += einsum(x25, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 + rdm2_f_oooo += einsum(x25, (0, 1, 2, 3), (2, 3, 0, 1)) + x26 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x26 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -0.3333333333333333 + x26 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 0.3333333333333333 + x26 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) + x27 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x27 += einsum(l3, (0, 1, 2, 3, 4, 5), x26, (4, 6, 7, 1, 0, 2), (5, 3, 6, 7)) * 0.50000000000001 + del x26 + rdm2_f_oooo += einsum(x27, (0, 1, 2, 3), (3, 2, 1, 0)) + rdm2_f_oooo += einsum(x27, (0, 1, 2, 3), (3, 2, 1, 0)) + del x27 + x28 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x28 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 7, 5, 0, 1, 2), (3, 4, 6, 7)) + x29 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x29 += einsum(t2, (0, 1, 2, 3), l3, (4, 2, 3, 5, 6, 1), (5, 6, 0, 4)) + rdm2_f_ovoo += einsum(x29, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 + rdm2_f_ovoo += einsum(x29, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 + rdm2_f_vooo += einsum(x29, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 + rdm2_f_vooo += einsum(x29, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 + x30 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x30 += einsum(t1, (0, 1), x29, (2, 3, 4, 1), (2, 3, 0, 4)) + x31 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x31 += einsum(x28, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.50000000000001 + x31 += einsum(x30, (0, 1, 2, 3), (0, 1, 2, 3)) + rdm2_f_oooo += einsum(x31, (0, 1, 2, 3), (2, 3, 0, 1)) + rdm2_f_oooo += einsum(x31, (0, 1, 2, 3), (3, 2, 1, 0)) + rdm2_f_oooo += einsum(x31, (0, 1, 2, 3), (2, 3, 0, 1)) + rdm2_f_oooo += einsum(x31, (0, 1, 2, 3), (3, 2, 1, 0)) + x32 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x32 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + x32 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) + x33 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x33 += einsum(x32, (0, 1, 2, 3), l3, (2, 4, 3, 5, 6, 0), (5, 6, 1, 4)) + x34 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x34 += einsum(t1, (0, 1), x33, (2, 3, 4, 1), (0, 2, 3, 4)) * -0.5 + rdm2_f_oooo += einsum(x34, (0, 1, 2, 3), (3, 0, 1, 2)) + rdm2_f_oooo += einsum(x34, (0, 1, 2, 3), (0, 3, 2, 1)) + rdm2_f_oooo += einsum(x34, (0, 1, 2, 3), (3, 0, 1, 2)) + rdm2_f_oooo += einsum(x34, (0, 1, 2, 3), (0, 3, 2, 1)) + x35 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x35 += einsum(t1, (0, 1), l3, (2, 1, 3, 4, 5, 6), (4, 6, 5, 0, 2, 3)) + x36 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) + x36 += einsum(t1, (0, 1), x35, (2, 3, 4, 5, 6, 1), (2, 3, 4, 0, 5, 6)) + x37 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x37 += einsum(t2, (0, 1, 2, 3), x36, (0, 4, 1, 5, 6, 2), (4, 5, 6, 3)) + rdm2_f_ooov = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + rdm2_f_ooov += einsum(x37, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 + rdm2_f_ooov += einsum(x37, (0, 1, 2, 3), (1, 2, 0, 3)) + rdm2_f_ooov += einsum(x37, (0, 1, 2, 3), (1, 2, 0, 3)) + rdm2_f_ooov += einsum(x37, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 + rdm2_f_oovo = np.zeros((nocc, nocc, nvir, nocc), dtype=types[float]) + rdm2_f_oovo += einsum(x37, (0, 1, 2, 3), (2, 1, 3, 0)) + rdm2_f_oovo += einsum(x37, (0, 1, 2, 3), (2, 1, 3, 0)) + rdm2_f_oovo += einsum(x37, (0, 1, 2, 3), (2, 1, 3, 0)) + rdm2_f_oovo += einsum(x37, (0, 1, 2, 3), (2, 1, 3, 0)) + x38 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x38 += einsum(l1, (0, 1), t2, (2, 3, 4, 0), (1, 2, 3, 4)) + rdm2_f_ooov += einsum(x38, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 + rdm2_f_ooov += einsum(x38, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 + rdm2_f_oovo += einsum(x38, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 + rdm2_f_oovo += einsum(x38, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 + x39 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x39 += einsum(l2, (0, 1, 2, 3), t3, (4, 3, 5, 0, 6, 1), (2, 4, 5, 6)) + x40 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x40 += einsum(t3, (0, 1, 2, 3, 4, 5), x35, (0, 2, 6, 7, 3, 5), (6, 7, 1, 4)) + x41 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x41 += einsum(t2, (0, 1, 2, 3), x29, (1, 4, 5, 2), (4, 0, 5, 3)) + x42 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x42 += einsum(t1, (0, 1), l3, (2, 3, 1, 4, 5, 6), (4, 6, 5, 0, 2, 3)) + x43 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x43 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -1.0 + x43 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + x43 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) + x43 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 5.0 + x43 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) + x43 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 + x44 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x44 += einsum(x42, (0, 1, 2, 3, 4, 5), x43, (2, 6, 0, 4, 7, 5), (1, 3, 6, 7)) * 0.25 + del x43 + x45 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x45 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + x45 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) + x45 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) + x46 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x46 += einsum(x42, (0, 1, 2, 3, 4, 5), x45, (0, 6, 1, 5, 7, 4), (2, 3, 6, 7)) * 0.25 + x47 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x47 += einsum(t2, (0, 1, 2, 3), l3, (4, 5, 3, 1, 0, 6), (6, 4, 5, 2)) + x48 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x48 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) + x48 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 0, 2)) + x48 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 0, 2)) * 0.5 + x48 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 0, 2)) * -0.5 + x49 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x49 += einsum(t2, (0, 1, 2, 3), x48, (1, 4, 0, 5, 6, 2), (4, 3, 5, 6)) + del x48 + x50 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x50 += einsum(x47, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x50 += einsum(x49, (0, 1, 2, 3), (0, 3, 2, 1)) + del x49 + x51 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x51 += einsum(t2, (0, 1, 2, 3), x50, (4, 3, 2, 5), (0, 1, 4, 5)) * 0.5 + del x50 + x52 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x52 += einsum(t2, (0, 1, 2, 3), l3, (4, 3, 2, 5, 1, 6), (5, 6, 0, 4)) + x53 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x53 += einsum(t2, (0, 1, 2, 3), l3, (4, 3, 2, 5, 6, 1), (5, 6, 0, 4)) + x54 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x54 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * -1.0 + x54 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) + x55 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x55 += einsum(t2, (0, 1, 2, 3), x54, (1, 4, 5, 3, 6, 2), (0, 4, 5, 6)) + del x54 + x56 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x56 += einsum(x52, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0 + del x52 + x56 += einsum(x53, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x56 += einsum(x53, (0, 1, 2, 3), (1, 0, 2, 3)) + x56 += einsum(x55, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 + del x55 + x57 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x57 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) + x57 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + x57 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) + x58 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x58 += einsum(x56, (0, 1, 2, 3), x57, (1, 4, 5, 3), (0, 2, 4, 5)) * 0.5 + del x57 + x59 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x59 += einsum(x6, (0, 1, 2, 3), l3, (2, 4, 3, 5, 6, 0), (5, 6, 1, 4)) + x60 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x60 += einsum(x29, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0 + x60 += einsum(x59, (0, 1, 2, 3), (1, 0, 2, 3)) + x61 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x61 += einsum(t2, (0, 1, 2, 3), x60, (1, 4, 5, 3), (0, 4, 5, 2)) * 0.5 + del x60 + x62 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x62 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x62 += einsum(x23, (0, 1, 2, 3), (1, 0, 2, 3)) + x63 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x63 += einsum(t2, (0, 1, 2, 3), x62, (1, 4, 5, 2), (0, 4, 5, 3)) + del x62 + x64 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x64 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) + x64 += einsum(x23, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.5 + x65 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x65 += einsum(t2, (0, 1, 2, 3), x64, (1, 4, 5, 3), (0, 4, 5, 2)) * 2.0 + del x64 + x66 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x66 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) + x66 += einsum(x29, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.5 + x67 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x67 += einsum(t1, (0, 1), x66, (2, 3, 4, 1), (0, 2, 3, 4)) + del x66 + x68 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x68 += einsum(x22, (0, 1, 2, 3), (1, 0, 3, 2)) + x68 += einsum(x67, (0, 1, 2, 3), (2, 1, 3, 0)) + del x67 + x69 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x69 += einsum(t1, (0, 1), x68, (0, 2, 3, 4), (2, 3, 4, 1)) + del x68 + x70 = np.zeros((nocc, nocc), dtype=types[float]) + x70 += einsum(l3, (0, 1, 2, 3, 4, 5), x13, (3, 6, 4, 1, 2, 0), (5, 6)) * 0.08333333333333 + del x13 + x71 = np.zeros((nocc, nocc), dtype=types[float]) + x71 += einsum(l3, (0, 1, 2, 3, 4, 5), x15, (5, 6, 3, 0, 2, 1), (4, 6)) * 0.08333333333333 + del x15 + x72 = np.zeros((nocc, nocc), dtype=types[float]) + x72 += einsum(t3, (0, 1, 2, 3, 4, 5), x17, (1, 2, 6, 5, 4, 3), (0, 6)) * 0.08333333333333 + del x17 + x73 = np.zeros((nocc, nocc), dtype=types[float]) + x73 += einsum(l2, (0, 1, 2, 3), x19, (3, 4, 0, 1), (2, 4)) * 2.0 + x74 = np.zeros((nocc, nocc), dtype=types[float]) + x74 += einsum(x1, (0, 1), (0, 1)) + x74 += einsum(x12, (0, 1), (0, 1)) * 0.08333333333333 + x74 += einsum(x70, (0, 1), (0, 1)) + x74 += einsum(x71, (0, 1), (0, 1)) + x74 += einsum(x72, (0, 1), (1, 0)) * -1.0 + x74 += einsum(x73, (0, 1), (0, 1)) + rdm2_f_ooov += einsum(t1, (0, 1), x74, (2, 3), (3, 0, 2, 1)) * -1.0 + rdm2_f_ooov += einsum(t1, (0, 1), x74, (2, 3), (3, 0, 2, 1)) * -1.0 + rdm2_f_oovo += einsum(t1, (0, 1), x74, (2, 3), (0, 3, 1, 2)) * -1.0 + rdm2_f_oovo += einsum(t1, (0, 1), x74, (2, 3), (0, 3, 1, 2)) * -1.0 + x75 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x75 += einsum(delta.oo, (0, 1), t1, (2, 3), (0, 1, 2, 3)) + x75 += einsum(x38, (0, 1, 2, 3), (1, 0, 2, 3)) + x75 += einsum(x39, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.5 + x75 += einsum(x40, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.25 + x75 += einsum(x41, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.5 + x75 += einsum(x44, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + x75 += einsum(x46, (0, 1, 2, 3), (1, 0, 2, 3)) + x75 += einsum(x51, (0, 1, 2, 3), (1, 2, 0, 3)) + x75 += einsum(x58, (0, 1, 2, 3), (2, 0, 1, 3)) + del x58 + x75 += einsum(x61, (0, 1, 2, 3), (0, 1, 2, 3)) + x75 += einsum(x63, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 + del x63 + x75 += einsum(x65, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 + del x65 + x75 += einsum(x69, (0, 1, 2, 3), (2, 0, 1, 3)) + del x69 + x75 += einsum(t1, (0, 1), x74, (2, 3), (0, 2, 3, 1)) + rdm2_f_ooov += einsum(x75, (0, 1, 2, 3), (0, 2, 1, 3)) + rdm2_f_ooov += einsum(x75, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 + rdm2_f_ooov += einsum(x75, (0, 1, 2, 3), (0, 2, 1, 3)) + rdm2_f_ooov += einsum(x75, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 + rdm2_f_oovo += einsum(x75, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 + rdm2_f_oovo += einsum(x75, (0, 1, 2, 3), (2, 0, 3, 1)) + rdm2_f_oovo += einsum(x75, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 + rdm2_f_oovo += einsum(x75, (0, 1, 2, 3), (2, 0, 3, 1)) + del x75 + x76 = np.zeros((nocc, nvir), dtype=types[float]) + x76 += einsum(t3, (0, 1, 2, 3, 4, 5), x35, (2, 0, 1, 6, 5, 3), (6, 4)) + x77 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x77 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + x77 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 + x77 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 6.999999999999999 + x77 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 + x77 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) + x77 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -1.0 + x78 = np.zeros((nocc, nvir), dtype=types[float]) + x78 += einsum(x42, (0, 1, 2, 3, 4, 5), x77, (0, 1, 2, 5, 4, 6), (3, 6)) * 0.08333333333333 + x79 = np.zeros((nocc, nvir), dtype=types[float]) + x79 += einsum(x42, (0, 1, 2, 3, 4, 5), x45, (2, 0, 1, 6, 5, 4), (3, 6)) * 0.08333333333333 + x80 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x80 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) + x80 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + x80 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) + x80 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * 6.0 + x81 = np.zeros((nocc, nvir), dtype=types[float]) + x81 += einsum(l2, (0, 1, 2, 3), x80, (2, 3, 4, 1, 0, 5), (4, 5)) * 0.25 + x82 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x82 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 0.5 + x82 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + x83 = np.zeros((nocc, nvir), dtype=types[float]) + x83 += einsum(l2, (0, 1, 2, 3), x82, (3, 4, 2, 0, 5, 1), (4, 5)) * 0.5 + x84 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x84 += einsum(x9, (0, 1, 2, 3), l3, (4, 2, 3, 5, 0, 6), (6, 5, 1, 4)) * 0.375 + x85 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x85 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) + x85 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 1, 2)) * -1.0 + x86 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x86 += einsum(x6, (0, 1, 2, 3), x85, (0, 4, 5, 3, 2, 6), (1, 4, 5, 6)) * 0.25 + del x85 + x87 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x87 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 + x87 += einsum(x23, (0, 1, 2, 3), (1, 0, 2, 3)) + x87 += einsum(x84, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + x87 += einsum(x84, (0, 1, 2, 3), (0, 1, 2, 3)) + del x84 + x87 += einsum(x86, (0, 1, 2, 3), (1, 2, 0, 3)) + x88 = np.zeros((nocc, nvir), dtype=types[float]) + x88 += einsum(t2, (0, 1, 2, 3), x87, (0, 1, 4, 3), (4, 2)) * 2.0 + x89 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x89 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) + x89 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.3333333333333333 + x90 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x90 += einsum(x89, (0, 1, 2, 3), l3, (4, 2, 3, 5, 6, 0), (5, 6, 1, 4)) * 3.0 + x91 = np.zeros((nocc, nvir), dtype=types[float]) + x91 += einsum(t2, (0, 1, 2, 3), x90, (0, 1, 4, 2), (4, 3)) * 0.5 + x92 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x92 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 + x92 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x93 = np.zeros((nocc, nvir), dtype=types[float]) + x93 += einsum(l1, (0, 1), x92, (1, 2, 3, 0), (2, 3)) + x94 = np.zeros((nocc, nvir), dtype=types[float]) + x94 += einsum(t1, (0, 1), x74, (0, 2), (2, 1)) + x95 = np.zeros((nocc, nvir), dtype=types[float]) + x95 += einsum(x76, (0, 1), (0, 1)) * 0.24999999999999 + x95 += einsum(x78, (0, 1), (0, 1)) + x95 += einsum(x79, (0, 1), (0, 1)) * -1.0 + x95 += einsum(x81, (0, 1), (0, 1)) * -1.0 + x95 += einsum(x83, (0, 1), (0, 1)) + x95 += einsum(x88, (0, 1), (0, 1)) + x95 += einsum(x91, (0, 1), (0, 1)) + x95 += einsum(x93, (0, 1), (0, 1)) * -1.0 + x95 += einsum(x94, (0, 1), (0, 1)) + rdm2_f_ooov += einsum(delta.oo, (0, 1), x95, (2, 3), (0, 2, 1, 3)) * -1.0 + rdm2_f_ooov += einsum(delta.oo, (0, 1), x95, (2, 3), (2, 0, 1, 3)) + rdm2_f_ooov += einsum(delta.oo, (0, 1), x95, (2, 3), (0, 2, 1, 3)) * -1.0 + rdm2_f_ooov += einsum(delta.oo, (0, 1), x95, (2, 3), (2, 0, 1, 3)) + rdm2_f_oovo += einsum(delta.oo, (0, 1), x95, (2, 3), (0, 2, 3, 1)) + rdm2_f_oovo += einsum(delta.oo, (0, 1), x95, (2, 3), (2, 0, 3, 1)) * -1.0 + rdm2_f_oovo += einsum(delta.oo, (0, 1), x95, (2, 3), (0, 2, 3, 1)) + rdm2_f_oovo += einsum(delta.oo, (0, 1), x95, (2, 3), (2, 0, 3, 1)) * -1.0 + del x95 + x96 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x96 += einsum(l2, (0, 1, 2, 3), (3, 2, 0, 1)) * -0.5 + x96 += einsum(l2, (0, 1, 2, 3), (2, 3, 0, 1)) + x97 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x97 += einsum(x96, (0, 1, 2, 3), t3, (4, 0, 5, 3, 2, 6), (4, 5, 1, 6)) * 2.0 + rdm2_f_ooov += einsum(x97, (0, 1, 2, 3), (1, 0, 2, 3)) + rdm2_f_ooov += einsum(x97, (0, 1, 2, 3), (1, 0, 2, 3)) + rdm2_f_oovo += einsum(x97, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + rdm2_f_oovo += einsum(x97, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x97 + x98 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) + x98 += einsum(t1, (0, 1), x42, (2, 3, 4, 5, 1, 6), (3, 2, 4, 5, 0, 6)) + x99 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) + x99 += einsum(x98, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 2.0 + x99 += einsum(x36, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 2.0 + x99 += einsum(x36, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 + x99 += einsum(x36, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) + x100 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x100 += einsum(t2, (0, 1, 2, 3), x99, (1, 4, 0, 5, 6, 2), (4, 5, 6, 3)) * 0.5 + del x99 + rdm2_f_ooov += einsum(x100, (0, 1, 2, 3), (2, 1, 0, 3)) + rdm2_f_ooov += einsum(x100, (0, 1, 2, 3), (2, 1, 0, 3)) + rdm2_f_oovo += einsum(x100, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 + rdm2_f_oovo += einsum(x100, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 + del x100 + x101 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x101 += einsum(l3, (0, 1, 2, 3, 4, 5), x3, (5, 6, 7, 1, 0, 2), (3, 4, 6, 7)) + x102 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x102 += einsum(x2, (0, 1, 2, 3), (0, 1, 2, 3)) + del x2 + x102 += einsum(x101, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x101 + x103 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x103 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -0.3333333333333333 + x103 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) + x104 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x104 += einsum(l3, (0, 1, 2, 3, 4, 5), x103, (4, 6, 7, 0, 1, 2), (3, 5, 6, 7)) * 3.0 + del x103 + x105 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x105 += einsum(l3, (0, 1, 2, 3, 4, 5), x3, (4, 6, 7, 1, 0, 2), (5, 3, 6, 7)) + x106 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x106 += einsum(x102, (0, 1, 2, 3), (0, 1, 2, 3)) + x106 += einsum(x102, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + x106 += einsum(x104, (0, 1, 2, 3), (1, 0, 2, 3)) + x106 += einsum(x105, (0, 1, 2, 3), (1, 0, 2, 3)) + del x105 + x107 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x107 += einsum(t1, (0, 1), x106, (2, 0, 3, 4), (2, 3, 4, 1)) * 0.16666666666667 + del x106 + rdm2_f_ooov += einsum(x107, (0, 1, 2, 3), (2, 1, 0, 3)) + rdm2_f_ooov += einsum(x107, (0, 1, 2, 3), (2, 1, 0, 3)) + rdm2_f_oovo += einsum(x107, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 + rdm2_f_oovo += einsum(x107, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 + del x107 + x108 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x108 += einsum(l2, (0, 1, 2, 3), t3, (4, 5, 3, 6, 0, 1), (2, 4, 5, 6)) + rdm2_f_ooov += einsum(x108, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 + rdm2_f_ooov += einsum(x108, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 + rdm2_f_oovo += einsum(x108, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 + rdm2_f_oovo += einsum(x108, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 + x109 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x109 += einsum(t3, (0, 1, 2, 3, 4, 5), x42, (0, 2, 6, 7, 3, 4), (6, 7, 1, 5)) + rdm2_f_ooov += einsum(x109, (0, 1, 2, 3), (2, 1, 0, 3)) * 0.5 + rdm2_f_ooov += einsum(x109, (0, 1, 2, 3), (2, 1, 0, 3)) * 0.5 + rdm2_f_oovo += einsum(x109, (0, 1, 2, 3), (1, 2, 3, 0)) * 0.5 + rdm2_f_oovo += einsum(x109, (0, 1, 2, 3), (1, 2, 3, 0)) * 0.5 + x110 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x110 += einsum(t3, (0, 1, 2, 3, 4, 5), x35, (2, 6, 1, 7, 5, 3), (6, 7, 0, 4)) + rdm2_f_ooov += einsum(x110, (0, 1, 2, 3), (2, 1, 0, 3)) * 0.5 + rdm2_f_ooov += einsum(x110, (0, 1, 2, 3), (2, 1, 0, 3)) * 0.5 + rdm2_f_oovo += einsum(x110, (0, 1, 2, 3), (1, 2, 3, 0)) * 0.5 + rdm2_f_oovo += einsum(x110, (0, 1, 2, 3), (1, 2, 3, 0)) * 0.5 + x111 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x111 += einsum(t3, (0, 1, 2, 3, 4, 5), x42, (0, 2, 6, 7, 5, 3), (6, 7, 1, 4)) + rdm2_f_ooov += einsum(x111, (0, 1, 2, 3), (1, 2, 0, 3)) * -0.25 + rdm2_f_ooov += einsum(x111, (0, 1, 2, 3), (1, 2, 0, 3)) * -0.25 + rdm2_f_oovo += einsum(x111, (0, 1, 2, 3), (2, 1, 3, 0)) * -0.25 + rdm2_f_oovo += einsum(x111, (0, 1, 2, 3), (2, 1, 3, 0)) * -0.25 + x112 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x112 += einsum(t3, (0, 1, 2, 3, 4, 5), x35, (2, 1, 6, 7, 5, 4), (6, 7, 0, 3)) + rdm2_f_ooov += einsum(x112, (0, 1, 2, 3), (1, 2, 0, 3)) * -0.25 + rdm2_f_ooov += einsum(x112, (0, 1, 2, 3), (1, 2, 0, 3)) * -0.25 + del x112 + x113 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x113 += einsum(t2, (0, 1, 2, 3), x47, (4, 2, 3, 5), (4, 0, 1, 5)) + rdm2_f_ooov += einsum(x113, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 + rdm2_f_ooov += einsum(x113, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 + rdm2_f_oovo += einsum(x113, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 + rdm2_f_oovo += einsum(x113, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 + x114 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x114 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) + x114 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + x114 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 4.0 + x115 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x115 += einsum(x114, (0, 1, 2, 3, 4, 5), x42, (1, 6, 0, 7, 3, 4), (6, 7, 2, 5)) * 0.25 + del x114 + rdm2_f_ooov += einsum(x115, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 + rdm2_f_ooov += einsum(x115, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 + del x115 + x116 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x116 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) + x116 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + x117 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x117 += einsum(x116, (0, 1, 2, 3, 4, 5), x35, (2, 0, 6, 7, 3, 5), (6, 7, 1, 4)) * 0.25 + del x116 + rdm2_f_ooov += einsum(x117, (0, 1, 2, 3), (1, 2, 0, 3)) + rdm2_f_ooov += einsum(x117, (0, 1, 2, 3), (1, 2, 0, 3)) + del x117 + x118 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x118 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) + x118 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + x119 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x119 += einsum(l2, (0, 1, 2, 3), x118, (3, 4, 5, 0, 1, 6), (2, 4, 5, 6)) * 0.5 + del x118 + rdm2_f_ooov += einsum(x119, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 + rdm2_f_ooov += einsum(x119, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 + del x119 + x120 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) + x120 += einsum(x36, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 + x120 += einsum(x36, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) + x121 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x121 += einsum(t2, (0, 1, 2, 3), x120, (1, 0, 4, 5, 6, 2), (4, 5, 6, 3)) * 0.5 + rdm2_f_ooov += einsum(x121, (0, 1, 2, 3), (2, 1, 0, 3)) + rdm2_f_ooov += einsum(x121, (0, 1, 2, 3), (2, 1, 0, 3)) + del x121 + x122 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x122 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + x122 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0 + x123 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x123 += einsum(x122, (0, 1, 2, 3), l3, (4, 2, 3, 5, 0, 6), (6, 5, 1, 4)) * 0.5 + rdm2_f_vooo += einsum(x123, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 + rdm2_f_vooo += einsum(x123, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 + x124 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x124 += einsum(x32, (0, 1, 2, 3), l3, (2, 4, 3, 5, 6, 0), (5, 6, 1, 4)) * 0.5 + x125 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x125 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x125 += einsum(x23, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 + x125 += einsum(x53, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 + x125 += einsum(x53, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.5 + x125 += einsum(x29, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 + x125 += einsum(x29, (0, 1, 2, 3), (1, 0, 2, 3)) * 1.5 + x125 += einsum(x123, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + x125 += einsum(x124, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x126 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x126 += einsum(t2, (0, 1, 2, 3), x125, (4, 1, 5, 3), (0, 4, 5, 2)) + del x125 + rdm2_f_ooov += einsum(x126, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 + rdm2_f_ooov += einsum(x126, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 + rdm2_f_oovo += einsum(x126, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 + rdm2_f_oovo += einsum(x126, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 + del x126 + x127 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x127 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 3, 4, 0, 2, 1)) * -1.0 + x127 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) + x128 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x128 += einsum(t2, (0, 1, 2, 3), x127, (0, 1, 4, 5, 2, 6), (4, 3, 5, 6)) + x129 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x129 += einsum(t2, (0, 1, 2, 3), x128, (4, 5, 2, 3), (0, 1, 4, 5)) * -0.5 + rdm2_f_ooov += einsum(x129, (0, 1, 2, 3), (1, 0, 2, 3)) + rdm2_f_ooov += einsum(x129, (0, 1, 2, 3), (1, 0, 2, 3)) + del x129 + x130 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x130 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x130 += einsum(x29, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x130 += einsum(x59, (0, 1, 2, 3), (1, 0, 2, 3)) + x131 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x131 += einsum(t2, (0, 1, 2, 3), x130, (1, 4, 5, 2), (0, 4, 5, 3)) * 0.5 + rdm2_f_ooov += einsum(x131, (0, 1, 2, 3), (2, 0, 1, 3)) + rdm2_f_ooov += einsum(x131, (0, 1, 2, 3), (2, 0, 1, 3)) + del x131 + x132 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x132 += einsum(t2, (0, 1, 2, 3), l3, (2, 4, 3, 1, 5, 6), (6, 5, 0, 4)) + x133 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x133 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) + x133 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 0, 2)) * -0.5 + x134 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x134 += einsum(t2, (0, 1, 2, 3), x133, (1, 4, 5, 6, 3, 2), (0, 4, 5, 6)) + x135 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x135 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x135 += einsum(x132, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.5 + x135 += einsum(x134, (0, 1, 2, 3), (1, 2, 0, 3)) + del x134 + x136 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x136 += einsum(t2, (0, 1, 2, 3), x135, (4, 1, 5, 2), (0, 4, 5, 3)) + del x135 + rdm2_f_ooov += einsum(x136, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + rdm2_f_ooov += einsum(x136, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + rdm2_f_oovo += einsum(x136, (0, 1, 2, 3), (2, 0, 3, 1)) * -1.0 + rdm2_f_oovo += einsum(x136, (0, 1, 2, 3), (2, 0, 3, 1)) * -1.0 + del x136 + x137 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x137 += einsum(x22, (0, 1, 2, 3), (1, 0, 3, 2)) + x137 += einsum(x24, (0, 1, 2, 3), (0, 1, 2, 3)) + x137 += einsum(x31, (0, 1, 2, 3), (0, 1, 2, 3)) + x137 += einsum(x31, (0, 1, 2, 3), (1, 0, 3, 2)) + del x31 + x137 += einsum(x34, (0, 1, 2, 3), (1, 2, 3, 0)) + x137 += einsum(x34, (0, 1, 2, 3), (2, 1, 0, 3)) + del x34 + x138 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x138 += einsum(t1, (0, 1), x137, (0, 2, 3, 4), (2, 3, 4, 1)) + del x137 + rdm2_f_ooov += einsum(x138, (0, 1, 2, 3), (2, 1, 0, 3)) + rdm2_f_ooov += einsum(x138, (0, 1, 2, 3), (2, 1, 0, 3)) + rdm2_f_oovo += einsum(x138, (0, 1, 2, 3), (1, 2, 3, 0)) + rdm2_f_oovo += einsum(x138, (0, 1, 2, 3), (1, 2, 3, 0)) + del x138 + x139 = np.zeros((nocc, nvir), dtype=types[float]) + x139 += einsum(t1, (0, 1), (0, 1)) * -1.0 + x139 += einsum(x76, (0, 1), (0, 1)) * 0.24999999999999 + x139 += einsum(x78, (0, 1), (0, 1)) + del x78 + x139 += einsum(x79, (0, 1), (0, 1)) * -1.0 + del x79 + x139 += einsum(x81, (0, 1), (0, 1)) * -1.0 + del x81 + x139 += einsum(x83, (0, 1), (0, 1)) + del x83 + x139 += einsum(x88, (0, 1), (0, 1)) + del x88 + x139 += einsum(x91, (0, 1), (0, 1)) + del x91 + x139 += einsum(x93, (0, 1), (0, 1)) * -1.0 + del x93 + x139 += einsum(x94, (0, 1), (0, 1)) + del x94 + rdm2_f_ooov += einsum(delta.oo, (0, 1), x139, (2, 3), (0, 2, 1, 3)) * -1.0 + rdm2_f_ooov += einsum(delta.oo, (0, 1), x139, (2, 3), (0, 2, 1, 3)) * -1.0 + del x139 + x140 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x140 += einsum(t3, (0, 1, 2, 3, 4, 5), x35, (2, 1, 6, 7, 5, 3), (6, 7, 0, 4)) + rdm2_f_oovo += einsum(x140, (0, 1, 2, 3), (2, 1, 3, 0)) * 0.25 + rdm2_f_oovo += einsum(x140, (0, 1, 2, 3), (2, 1, 3, 0)) * 0.25 + x141 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x141 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -1.0 + x141 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + x141 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 4.0 + x142 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x142 += einsum(x141, (0, 1, 2, 3, 4, 5), x42, (1, 6, 0, 7, 4, 3), (6, 7, 2, 5)) * 0.25 + del x141 + rdm2_f_oovo += einsum(x142, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 + rdm2_f_oovo += einsum(x142, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 + del x142 + x143 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x143 += einsum(x35, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + x143 += einsum(x35, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 + x144 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x144 += einsum(t3, (0, 1, 2, 3, 4, 5), x143, (1, 2, 6, 7, 4, 5), (0, 6, 7, 3)) * 0.25 + rdm2_f_oovo += einsum(x144, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 + rdm2_f_oovo += einsum(x144, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 + del x144 + x145 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x145 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -1.0 + x145 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + x146 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x146 += einsum(l2, (0, 1, 2, 3), x145, (2, 4, 5, 0, 1, 6), (3, 4, 5, 6)) * 0.5 + rdm2_f_oovo += einsum(x146, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 + rdm2_f_oovo += einsum(x146, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 + del x146 + x147 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) + x147 += einsum(x36, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + x147 += einsum(x36, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * -1.0 + x148 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x148 += einsum(t2, (0, 1, 2, 3), x147, (1, 0, 4, 5, 6, 2), (4, 5, 6, 3)) * 0.5 + del x147 + rdm2_f_oovo += einsum(x148, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 + rdm2_f_oovo += einsum(x148, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 + del x148 + x149 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x149 += einsum(t2, (0, 1, 2, 3), x128, (4, 5, 3, 2), (0, 1, 4, 5)) * -0.5 + rdm2_f_oovo += einsum(x149, (0, 1, 2, 3), (1, 0, 3, 2)) + rdm2_f_oovo += einsum(x149, (0, 1, 2, 3), (1, 0, 3, 2)) + x150 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x150 += einsum(x6, (0, 1, 2, 3), l3, (2, 4, 3, 5, 6, 0), (5, 6, 1, 4)) * 0.5 + rdm2_f_ovoo += einsum(x150, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 + rdm2_f_ovoo += einsum(x150, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 + rdm2_f_vooo += einsum(x150, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 + rdm2_f_vooo += einsum(x150, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 + x151 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x151 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) + x151 += einsum(x29, (0, 1, 2, 3), (0, 1, 2, 3)) + x151 += einsum(x150, (0, 1, 2, 3), (1, 0, 2, 3)) + del x150 + x152 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x152 += einsum(t2, (0, 1, 2, 3), x151, (1, 4, 5, 2), (0, 4, 5, 3)) + rdm2_f_oovo += einsum(x152, (0, 1, 2, 3), (0, 2, 3, 1)) + rdm2_f_oovo += einsum(x152, (0, 1, 2, 3), (0, 2, 3, 1)) + del x152 + x153 = np.zeros((nocc, nvir), dtype=types[float]) + x153 += einsum(x42, (0, 1, 2, 3, 4, 5), x77, (0, 1, 2, 5, 4, 6), (3, 6)) + x154 = np.zeros((nocc, nvir), dtype=types[float]) + x154 += einsum(x42, (0, 1, 2, 3, 4, 5), x45, (2, 0, 1, 6, 5, 4), (3, 6)) + x155 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x155 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) + x155 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + x155 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) + x155 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * 6.000000000000001 + x156 = np.zeros((nocc, nvir), dtype=types[float]) + x156 += einsum(l2, (0, 1, 2, 3), x155, (2, 3, 4, 1, 0, 5), (4, 5)) * 3.00000000000012 + del x155 + x157 = np.zeros((nocc, nvir), dtype=types[float]) + x157 += einsum(l2, (0, 1, 2, 3), x82, (3, 4, 2, 0, 5, 1), (4, 5)) * 6.00000000000024 + x158 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x158 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.33333333333333326 + x158 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) + x159 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x159 += einsum(x158, (0, 1, 2, 3), l3, (4, 2, 3, 5, 0, 6), (6, 5, 1, 4)) * 0.37500000000000006 + del x158 + x160 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x160 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 + x160 += einsum(x23, (0, 1, 2, 3), (1, 0, 2, 3)) + x160 += einsum(x159, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + x160 += einsum(x159, (0, 1, 2, 3), (0, 1, 2, 3)) + del x159 + x160 += einsum(x86, (0, 1, 2, 3), (1, 2, 0, 3)) + del x86 + x161 = np.zeros((nocc, nvir), dtype=types[float]) + x161 += einsum(t2, (0, 1, 2, 3), x160, (1, 0, 4, 2), (4, 3)) * 24.00000000000096 + del x160 + x162 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x162 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) + x162 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.33333333333333326 + x163 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x163 += einsum(x162, (0, 1, 2, 3), l3, (4, 2, 3, 5, 6, 0), (5, 6, 1, 4)) * 3.0000000000000004 + del x162 + x164 = np.zeros((nocc, nvir), dtype=types[float]) + x164 += einsum(t2, (0, 1, 2, 3), x163, (0, 1, 4, 2), (4, 3)) * 6.00000000000024 + del x163 + x165 = np.zeros((nocc, nvir), dtype=types[float]) + x165 += einsum(l1, (0, 1), x92, (1, 2, 3, 0), (2, 3)) * 12.00000000000048 + x166 = np.zeros((nocc, nvir), dtype=types[float]) + x166 += einsum(t1, (0, 1), x74, (0, 2), (2, 1)) * 12.00000000000048 + x167 = np.zeros((nocc, nvir), dtype=types[float]) + x167 += einsum(t1, (0, 1), (0, 1)) * -12.00000000000048 + x167 += einsum(x76, (0, 1), (0, 1)) * 3.0 + x167 += einsum(x153, (0, 1), (0, 1)) + del x153 + x167 += einsum(x154, (0, 1), (0, 1)) * -1.0 + del x154 + x167 += einsum(x156, (0, 1), (0, 1)) * -1.0 + del x156 + x167 += einsum(x157, (0, 1), (0, 1)) + del x157 + x167 += einsum(x161, (0, 1), (0, 1)) + del x161 + x167 += einsum(x164, (0, 1), (0, 1)) + del x164 + x167 += einsum(x165, (0, 1), (0, 1)) * -1.0 + del x165 + x167 += einsum(x166, (0, 1), (0, 1)) + del x166 + rdm2_f_oovo += einsum(delta.oo, (0, 1), x167, (2, 3), (2, 0, 3, 1)) * -0.08333333333333 + rdm2_f_oovo += einsum(delta.oo, (0, 1), x167, (2, 3), (2, 0, 3, 1)) * -0.08333333333333 + del x167 + x168 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x168 += einsum(x32, (0, 1, 2, 3), l3, (4, 2, 3, 5, 6, 0), (5, 6, 1, 4)) * 0.5 + x169 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x169 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) + x169 += einsum(x168, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + rdm2_f_ovoo += einsum(x169, (0, 1, 2, 3), (2, 3, 0, 1)) + rdm2_f_ovoo += einsum(x169, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 + rdm2_f_ovoo += einsum(x169, (0, 1, 2, 3), (2, 3, 0, 1)) + rdm2_f_ovoo += einsum(x169, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 + rdm2_f_vooo += einsum(x169, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 + rdm2_f_vooo += einsum(x169, (0, 1, 2, 3), (3, 2, 1, 0)) + rdm2_f_vooo += einsum(x169, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 + rdm2_f_vooo += einsum(x169, (0, 1, 2, 3), (3, 2, 1, 0)) + del x169 + x170 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x170 += einsum(x9, (0, 1, 2, 3), l3, (4, 2, 3, 5, 0, 6), (6, 5, 1, 4)) * 1.5 + rdm2_f_ovoo += einsum(x170, (0, 1, 2, 3), (2, 3, 1, 0)) + rdm2_f_ovoo += einsum(x170, (0, 1, 2, 3), (2, 3, 1, 0)) + del x170 + x171 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x171 += einsum(t3, (0, 1, 2, 3, 4, 5), x36, (1, 0, 2, 6, 7, 4), (6, 7, 3, 5)) + rdm2_f_oovv += einsum(x171, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.16666666666667 + rdm2_f_oovv += einsum(x171, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.16666666666667 + del x171 + x172 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x172 += einsum(t3, (0, 1, 2, 3, 4, 5), x36, (0, 1, 2, 6, 7, 4), (6, 7, 3, 5)) + rdm2_f_oovv += einsum(x172, (0, 1, 2, 3), (1, 0, 3, 2)) * -0.16666666666667 + rdm2_f_oovv += einsum(x172, (0, 1, 2, 3), (1, 0, 3, 2)) * -0.16666666666667 + del x172 + x173 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x173 += einsum(x1, (0, 1), t2, (2, 0, 3, 4), (1, 2, 3, 4)) + x174 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) + x174 += einsum(t2, (0, 1, 2, 3), l3, (4, 3, 2, 5, 6, 7), (5, 7, 6, 0, 1, 4)) + x175 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x175 += einsum(t3, (0, 1, 2, 3, 4, 5), x174, (0, 1, 2, 6, 7, 3), (6, 7, 5, 4)) + x176 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x176 += einsum(t2, (0, 1, 2, 3), x35, (4, 1, 0, 5, 6, 3), (4, 5, 6, 2)) + rdm2_f_ovvo += einsum(x176, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 + rdm2_f_ovvo += einsum(x176, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 + rdm2_f_voov += einsum(x176, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 + rdm2_f_voov += einsum(x176, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 + x177 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x177 += einsum(t2, (0, 1, 2, 3), x176, (1, 4, 3, 5), (4, 0, 2, 5)) + x178 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x178 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + x178 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 + x179 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x179 += einsum(x174, (0, 1, 2, 3, 4, 5), x178, (1, 2, 0, 6, 5, 7), (3, 4, 6, 7)) * 0.08333333333333 + x180 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x180 += einsum(x122, (0, 1, 2, 3), l3, (4, 2, 3, 5, 0, 6), (5, 6, 1, 4)) * 0.5 + del x122 + x181 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x181 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x181 += einsum(x23, (0, 1, 2, 3), (1, 0, 2, 3)) + x181 += einsum(x168, (0, 1, 2, 3), (0, 1, 2, 3)) + x181 += einsum(x180, (0, 1, 2, 3), (1, 0, 2, 3)) + del x180 + x182 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x182 += einsum(x181, (0, 1, 2, 3), t3, (4, 0, 1, 5, 6, 3), (4, 2, 5, 6)) * 0.5 + del x181 + x183 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x183 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (5, 6, 3, 1, 7, 2), (4, 6, 0, 7)) + x184 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x184 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 3, 5, 7, 2, 1), (4, 6, 0, 7)) + rdm2_f_vovo += einsum(x184, (0, 1, 2, 3), (2, 1, 3, 0)) * -0.25 + rdm2_f_vovo += einsum(x184, (0, 1, 2, 3), (2, 1, 3, 0)) * -0.25 + x185 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x185 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 0.2 + x185 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + x185 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -0.2 + x185 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -0.2 + x185 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 0.2 + x185 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -0.2 + x185 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * -0.2 + x185 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) + x186 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x186 += einsum(l3, (0, 1, 2, 3, 4, 5), x185, (5, 6, 4, 2, 7, 1), (3, 6, 0, 7)) * 1.25 + del x185 + x187 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x187 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) + x187 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 0, 2)) + x188 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x188 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + x188 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) + x189 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x189 += einsum(x187, (0, 1, 2, 3, 4, 5), x188, (1, 6, 0, 5, 4, 7), (2, 6, 3, 7)) * 0.25 + del x187 + x190 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x190 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + x190 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) + x191 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x191 += einsum(l3, (0, 1, 2, 3, 4, 5), x190, (3, 5, 6, 0, 2, 7), (4, 6, 1, 7)) * 0.25 + del x190 + x192 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x192 += einsum(l2, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 + x192 += einsum(l2, (0, 1, 2, 3), (2, 3, 0, 1)) * 2.0 + x193 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x193 += einsum(t2, (0, 1, 2, 3), x192, (1, 4, 2, 5), (0, 4, 3, 5)) + x194 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x194 += einsum(x183, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.25 + x194 += einsum(x184, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.25 + del x184 + x194 += einsum(x186, (0, 1, 2, 3), (0, 1, 2, 3)) + del x186 + x194 += einsum(x189, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x189 + x194 += einsum(x191, (0, 1, 2, 3), (0, 1, 2, 3)) + del x191 + x194 += einsum(x193, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x193 + x195 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x195 += einsum(t2, (0, 1, 2, 3), x194, (1, 4, 3, 5), (0, 4, 2, 5)) + del x194 + x196 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x196 += einsum(x7, (0, 1, 2, 3), t3, (4, 1, 0, 5, 6, 3), (4, 2, 5, 6)) * -0.25 + x197 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x197 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (3, 6, 5, 0, 7, 2), (4, 6, 1, 7)) + rdm2_f_ovov += einsum(x197, (0, 1, 2, 3), (1, 2, 0, 3)) * -0.25 + rdm2_f_ovov += einsum(x197, (0, 1, 2, 3), (1, 2, 0, 3)) * -0.25 + rdm2_f_ovvo += einsum(x197, (0, 1, 2, 3), (1, 2, 3, 0)) * 0.25 + rdm2_f_ovvo += einsum(x197, (0, 1, 2, 3), (1, 2, 3, 0)) * 0.25 + rdm2_f_voov += einsum(x197, (0, 1, 2, 3), (2, 1, 0, 3)) * 0.25 + rdm2_f_voov += einsum(x197, (0, 1, 2, 3), (2, 1, 0, 3)) * 0.25 + rdm2_f_vovo += einsum(x197, (0, 1, 2, 3), (2, 1, 3, 0)) * -0.25 + rdm2_f_vovo += einsum(x197, (0, 1, 2, 3), (2, 1, 3, 0)) * -0.25 + x198 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x198 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) + x198 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 5.0 + x198 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 + x198 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 + x198 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * -1.0 + x198 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) + x199 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x199 += einsum(l3, (0, 1, 2, 3, 4, 5), x198, (5, 6, 4, 2, 7, 1), (3, 6, 0, 7)) + x200 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x200 += einsum(l3, (0, 1, 2, 3, 4, 5), x45, (5, 6, 3, 1, 7, 2), (4, 6, 0, 7)) + x201 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x201 += einsum(x197, (0, 1, 2, 3), (0, 1, 2, 3)) + x201 += einsum(x199, (0, 1, 2, 3), (0, 1, 2, 3)) + del x199 + x201 += einsum(x200, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x200 + x202 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x202 += einsum(t2, (0, 1, 2, 3), x201, (1, 4, 2, 5), (0, 4, 3, 5)) * 0.25 + del x201 + x203 = np.zeros((nvir, nvir), dtype=types[float]) + x203 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (3, 4, 5, 0, 6, 2), (1, 6)) + x204 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x204 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + x204 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 + x204 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 + x204 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 + x204 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) + x204 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 6.999999999999999 + x205 = np.zeros((nvir, nvir), dtype=types[float]) + x205 += einsum(l3, (0, 1, 2, 3, 4, 5), x204, (4, 3, 5, 1, 6, 2), (0, 6)) * 0.08333333333333 + x206 = np.zeros((nvir, nvir), dtype=types[float]) + x206 += einsum(l3, (0, 1, 2, 3, 4, 5), x45, (4, 5, 3, 6, 1, 2), (0, 6)) * 0.08333333333333 + x207 = np.zeros((nvir, nvir), dtype=types[float]) + x207 += einsum(t2, (0, 1, 2, 3), x96, (0, 1, 2, 4), (3, 4)) * 2.0 + x208 = np.zeros((nvir, nvir), dtype=types[float]) + x208 += einsum(x203, (0, 1), (0, 1)) * 0.24999999999999 + x208 += einsum(x205, (0, 1), (0, 1)) + x208 += einsum(x206, (0, 1), (0, 1)) * -1.0 + x208 += einsum(x207, (0, 1), (1, 0)) + x209 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x209 += einsum(x208, (0, 1), t2, (2, 3, 0, 4), (2, 3, 4, 1)) + del x208 + x210 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x210 += einsum(t1, (0, 1), x56, (0, 2, 3, 4), (2, 3, 1, 4)) + del x56 + x211 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x211 += einsum(x210, (0, 1, 2, 3), x32, (0, 4, 5, 3), (4, 1, 5, 2)) * 0.5 + del x210 + x212 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x212 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) + x212 += einsum(x23, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + x213 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x213 += einsum(t2, (0, 1, 2, 3), x212, (4, 1, 5, 2), (0, 4, 5, 3)) + del x212 + x214 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x214 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 + x214 += einsum(x23, (0, 1, 2, 3), (1, 0, 2, 3)) + x215 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x215 += einsum(t2, (0, 1, 2, 3), x214, (4, 1, 5, 3), (0, 4, 5, 2)) * 2.0 + del x214 + x216 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x216 += einsum(t1, (0, 1), x7, (2, 3, 4, 1), (0, 2, 3, 4)) * -1.0 + x217 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x217 += einsum(t1, (0, 1), x216, (2, 3, 0, 4), (3, 2, 4, 1)) * 0.5 + del x216 + x218 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x218 += einsum(x38, (0, 1, 2, 3), (0, 1, 2, 3)) + x218 += einsum(x39, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 + del x39 + x218 += einsum(x40, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.25 + del x40 + x218 += einsum(x41, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 + del x41 + x218 += einsum(x44, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x44 + x218 += einsum(x46, (0, 1, 2, 3), (0, 1, 2, 3)) + del x46 + x218 += einsum(x51, (0, 1, 2, 3), (2, 1, 0, 3)) + del x51 + x218 += einsum(x61, (0, 1, 2, 3), (1, 0, 2, 3)) + del x61 + x218 += einsum(x213, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 + del x213 + x218 += einsum(x215, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 + del x215 + x218 += einsum(x217, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x217 + x219 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x219 += einsum(t1, (0, 1), x218, (0, 2, 3, 4), (2, 3, 1, 4)) + del x218 + x220 = np.zeros((nocc, nocc), dtype=types[float]) + x220 += einsum(x12, (0, 1), (0, 1)) * 0.08333333333333 + del x12 + x220 += einsum(x70, (0, 1), (0, 1)) + del x70 + x220 += einsum(x71, (0, 1), (0, 1)) + del x71 + x220 += einsum(x72, (0, 1), (1, 0)) * -1.0 + del x72 + x220 += einsum(x73, (0, 1), (0, 1)) + del x73 + x221 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x221 += einsum(x220, (0, 1), t2, (2, 0, 3, 4), (2, 1, 4, 3)) + del x220 + x222 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x222 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * -1.0 + x222 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 1, 2)) + x223 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x223 += einsum(t2, (0, 1, 2, 3), x222, (1, 4, 5, 6, 2, 3), (4, 5, 0, 6)) + x224 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x224 += einsum(t1, (0, 1), x223, (2, 3, 4, 1), (2, 3, 4, 0)) * -1.0 + del x223 + x225 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x225 += einsum(t2, (0, 1, 2, 3), x224, (0, 1, 4, 5), (5, 4, 3, 2)) * 0.5 + del x224 + x226 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x226 += einsum(t1, (0, 1), x10, (2, 3, 4, 1), (0, 3, 2, 4)) * 3.0 + x227 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x227 += einsum(t2, (0, 1, 2, 3), x226, (4, 0, 1, 5), (4, 5, 2, 3)) * 0.25 + del x226 + x228 = np.zeros((nocc, nvir), dtype=types[float]) + x228 += einsum(x42, (0, 1, 2, 3, 4, 5), x77, (0, 1, 2, 5, 4, 6), (3, 6)) * 0.041666666666665 + del x77 + x229 = np.zeros((nocc, nvir), dtype=types[float]) + x229 += einsum(x42, (0, 1, 2, 3, 4, 5), x45, (2, 0, 1, 6, 5, 4), (3, 6)) * 0.041666666666665 + x230 = np.zeros((nocc, nvir), dtype=types[float]) + x230 += einsum(l2, (0, 1, 2, 3), x80, (2, 3, 4, 1, 0, 5), (4, 5)) * 0.125 + del x80 + x231 = np.zeros((nocc, nvir), dtype=types[float]) + x231 += einsum(l2, (0, 1, 2, 3), x82, (3, 4, 2, 0, 5, 1), (4, 5)) * 0.25 + del x82 + x232 = np.zeros((nocc, nvir), dtype=types[float]) + x232 += einsum(t2, (0, 1, 2, 3), x87, (0, 1, 4, 3), (4, 2)) + del x87 + x233 = np.zeros((nocc, nvir), dtype=types[float]) + x233 += einsum(t2, (0, 1, 2, 3), x90, (0, 1, 4, 2), (4, 3)) * 0.25 + del x90 + x234 = np.zeros((nocc, nvir), dtype=types[float]) + x234 += einsum(l1, (0, 1), x92, (1, 2, 3, 0), (2, 3)) * 0.5 + x235 = np.zeros((nocc, nvir), dtype=types[float]) + x235 += einsum(t1, (0, 1), x74, (0, 2), (2, 1)) * 0.5 + del x74 + x236 = np.zeros((nocc, nvir), dtype=types[float]) + x236 += einsum(x76, (0, 1), (0, 1)) * 0.124999999999995 + x236 += einsum(x228, (0, 1), (0, 1)) + x236 += einsum(x229, (0, 1), (0, 1)) * -1.0 + x236 += einsum(x230, (0, 1), (0, 1)) * -1.0 + x236 += einsum(x231, (0, 1), (0, 1)) + x236 += einsum(x232, (0, 1), (0, 1)) + x236 += einsum(x233, (0, 1), (0, 1)) + x236 += einsum(x234, (0, 1), (0, 1)) * -1.0 + x236 += einsum(x235, (0, 1), (0, 1)) + del x235 + x237 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x237 += einsum(x173, (0, 1, 2, 3), (0, 1, 2, 3)) + x237 += einsum(x175, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.08333333333333 + del x175 + x237 += einsum(x177, (0, 1, 2, 3), (0, 1, 2, 3)) + x237 += einsum(x179, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x179 + x237 += einsum(x182, (0, 1, 2, 3), (1, 0, 2, 3)) + del x182 + x237 += einsum(x195, (0, 1, 2, 3), (0, 1, 2, 3)) + x237 += einsum(x196, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x196 + x237 += einsum(x202, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x202 + x237 += einsum(x209, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + x237 += einsum(x211, (0, 1, 2, 3), (0, 1, 3, 2)) + del x211 + x237 += einsum(x219, (0, 1, 2, 3), (0, 1, 2, 3)) + del x219 + x237 += einsum(x221, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + x237 += einsum(x225, (0, 1, 2, 3), (0, 1, 3, 2)) + del x225 + x237 += einsum(x227, (0, 1, 2, 3), (0, 1, 2, 3)) + del x227 + x237 += einsum(t1, (0, 1), x236, (2, 3), (0, 2, 1, 3)) * -2.0 + del x236 + rdm2_f_oovv += einsum(x237, (0, 1, 2, 3), (0, 1, 2, 3)) + rdm2_f_oovv += einsum(x237, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + rdm2_f_oovv += einsum(x237, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + rdm2_f_oovv += einsum(x237, (0, 1, 2, 3), (1, 0, 3, 2)) + rdm2_f_oovv += einsum(x237, (0, 1, 2, 3), (0, 1, 2, 3)) + rdm2_f_oovv += einsum(x237, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + rdm2_f_oovv += einsum(x237, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + rdm2_f_oovv += einsum(x237, (0, 1, 2, 3), (1, 0, 3, 2)) + del x237 + x238 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x238 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + x238 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) + x239 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x239 += einsum(x174, (0, 1, 2, 3, 4, 5), x238, (1, 2, 0, 6, 7, 5), (3, 4, 6, 7)) * 0.08333333333333 + x240 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x240 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * 5.000000000000001 + x240 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x241 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x241 += einsum(x240, (0, 1, 2, 3), l3, (4, 2, 3, 5, 6, 0), (1, 5, 6, 4)) * 0.16666666666666666 + del x240 + x242 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x242 += einsum(x9, (0, 1, 2, 3), l3, (4, 2, 3, 5, 0, 6), (5, 6, 1, 4)) * 0.5 + x243 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x243 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) + x243 += einsum(x23, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.3333333333333333 + x243 += einsum(x241, (0, 1, 2, 3), (1, 2, 0, 3)) + del x241 + x243 += einsum(x242, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x242 + x244 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x244 += einsum(x243, (0, 1, 2, 3), t3, (4, 0, 1, 5, 3, 6), (2, 4, 6, 5)) * 1.5 + del x243 + x245 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x245 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * 2.0 + x245 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 1, 2)) * -1.0 + x246 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x246 += einsum(x6, (0, 1, 2, 3), x245, (0, 4, 5, 3, 2, 6), (4, 5, 1, 6)) + del x245 + x247 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x247 += einsum(x246, (0, 1, 2, 3), t3, (4, 1, 0, 5, 3, 6), (2, 4, 6, 5)) * 0.25 + del x246 + x248 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x248 += einsum(x6, (0, 1, 2, 3), x42, (1, 4, 0, 5, 2, 6), (4, 5, 6, 3)) + x249 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x249 += einsum(x248, (0, 1, 2, 3), x32, (0, 4, 5, 2), (1, 4, 3, 5)) * -1.0 + x250 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x250 += einsum(x42, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + x250 += einsum(x42, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * -1.0 + x251 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x251 += einsum(t2, (0, 1, 2, 3), x250, (0, 1, 4, 5, 3, 6), (4, 5, 6, 2)) + x252 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x252 += einsum(t2, (0, 1, 2, 3), x251, (1, 4, 2, 5), (4, 0, 5, 3)) * -0.5 + x253 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x253 += einsum(x239, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x239 + x253 += einsum(x244, (0, 1, 2, 3), (0, 1, 3, 2)) + del x244 + x253 += einsum(x247, (0, 1, 2, 3), (0, 1, 3, 2)) + del x247 + x253 += einsum(x249, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x249 + x253 += einsum(x252, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x252 + rdm2_f_oovv += einsum(x253, (0, 1, 2, 3), (0, 1, 2, 3)) + rdm2_f_oovv += einsum(x253, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + rdm2_f_oovv += einsum(x253, (0, 1, 2, 3), (0, 1, 2, 3)) + rdm2_f_oovv += einsum(x253, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x253 + x254 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x254 += einsum(l1, (0, 1), t3, (2, 3, 1, 4, 5, 0), (2, 3, 4, 5)) + x255 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x255 += einsum(t2, (0, 1, 2, 3), x24, (1, 0, 4, 5), (5, 4, 2, 3)) + rdm2_f_oovv += einsum(x255, (0, 1, 2, 3), (0, 1, 2, 3)) + rdm2_f_oovv += einsum(x255, (0, 1, 2, 3), (0, 1, 2, 3)) + x256 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) + x256 += einsum(t2, (0, 1, 2, 3), l3, (2, 4, 3, 5, 6, 7), (5, 7, 6, 0, 1, 4)) + x257 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x257 += einsum(t3, (0, 1, 2, 3, 4, 5), x256, (2, 0, 1, 6, 7, 4), (6, 7, 5, 3)) + del x256 + x258 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x258 += einsum(t2, (0, 1, 2, 3), l3, (4, 2, 5, 6, 0, 1), (6, 4, 5, 3)) + x259 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x259 += einsum(x258, (0, 1, 2, 3), t3, (4, 0, 5, 2, 6, 1), (4, 5, 3, 6)) + x260 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x260 += einsum(x89, (0, 1, 2, 3), l3, (4, 5, 2, 6, 0, 1), (6, 4, 5, 3)) * 6.0 + del x89 + x261 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x261 += einsum(x258, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x261 += einsum(x258, (0, 1, 2, 3), (0, 2, 1, 3)) * -2.0 + x261 += einsum(x260, (0, 1, 2, 3), (0, 1, 2, 3)) + del x260 + x261 += einsum(x128, (0, 1, 2, 3), (0, 2, 3, 1)) + x262 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x262 += einsum(x261, (0, 1, 2, 3), t3, (4, 0, 5, 2, 1, 6), (4, 5, 3, 6)) * 0.25 + del x261 + x263 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x263 += einsum(t2, (0, 1, 2, 3), l3, (4, 5, 3, 6, 0, 1), (6, 4, 5, 2)) + rdm2_f_vvov = np.zeros((nvir, nvir, nocc, nvir), dtype=types[float]) + rdm2_f_vvov += einsum(x263, (0, 1, 2, 3), (1, 2, 0, 3)) + rdm2_f_vvov += einsum(x263, (0, 1, 2, 3), (1, 2, 0, 3)) + rdm2_f_vvvo = np.zeros((nvir, nvir, nvir, nocc), dtype=types[float]) + rdm2_f_vvvo += einsum(x263, (0, 1, 2, 3), (2, 1, 3, 0)) + rdm2_f_vvvo += einsum(x263, (0, 1, 2, 3), (2, 1, 3, 0)) + x264 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x264 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 3, 4, 0, 2, 1)) * 1.5 + x264 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * -1.5 + x264 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) + x265 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x265 += einsum(t2, (0, 1, 2, 3), x264, (0, 1, 4, 5, 2, 6), (4, 5, 6, 3)) * 0.6666666666666666 + del x264 + x266 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x266 += einsum(x263, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.6666666666666666 + x266 += einsum(x265, (0, 1, 2, 3), (0, 1, 2, 3)) + del x265 + x267 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x267 += einsum(x266, (0, 1, 2, 3), t3, (4, 0, 5, 1, 2, 6), (4, 5, 3, 6)) * 0.75 + del x266 + x268 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x268 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 3, 4, 0, 2, 1)) * 0.5 + x268 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * -0.5 + x268 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) + x269 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x269 += einsum(t2, (0, 1, 2, 3), x268, (0, 1, 4, 5, 2, 6), (4, 5, 6, 3)) * 2.0 + del x268 + x270 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x270 += einsum(x263, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 + x270 += einsum(x269, (0, 1, 2, 3), (0, 1, 2, 3)) + del x269 + x271 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x271 += einsum(x270, (0, 1, 2, 3), t3, (4, 0, 5, 2, 6, 1), (4, 5, 3, 6)) * 0.25 + x272 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x272 += einsum(t2, (0, 1, 2, 3), x96, (1, 4, 3, 5), (0, 4, 2, 5)) + x273 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x273 += einsum(t2, (0, 1, 2, 3), x272, (4, 1, 5, 3), (4, 0, 5, 2)) * 4.0 + del x272 + x274 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x274 += einsum(l2, (0, 1, 2, 3), (3, 2, 0, 1)) + x274 += einsum(l2, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 + x275 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x275 += einsum(t2, (0, 1, 2, 3), x274, (1, 4, 2, 5), (4, 0, 5, 3)) + x276 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x276 += einsum(t2, (0, 1, 2, 3), x275, (1, 4, 2, 5), (4, 0, 5, 3)) * -1.0 + del x275 + x277 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x277 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 4, 7, 2, 1, 0), (5, 3, 6, 7)) + x278 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x278 += einsum(x22, (0, 1, 2, 3), (1, 0, 3, 2)) + x278 += einsum(x277, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.24999999999999 + del x277 + x279 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x279 += einsum(t2, (0, 1, 2, 3), x278, (0, 1, 4, 5), (4, 5, 2, 3)) + del x278 + x280 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x280 += einsum(t2, (0, 1, 2, 3), x98, (1, 4, 0, 5, 6, 2), (4, 6, 5, 3)) + del x98 + x281 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x281 += einsum(x96, (0, 1, 2, 3), t3, (4, 0, 5, 3, 2, 6), (4, 5, 1, 6)) + x282 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x282 += einsum(t1, (0, 1), x25, (0, 2, 3, 4), (2, 3, 4, 1)) * 0.5 + del x25 + x283 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x283 += einsum(x280, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 + del x280 + x283 += einsum(x281, (0, 1, 2, 3), (2, 1, 0, 3)) + del x281 + x283 += einsum(x282, (0, 1, 2, 3), (0, 2, 1, 3)) + del x282 + x284 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x284 += einsum(t1, (0, 1), x283, (0, 2, 3, 4), (2, 3, 4, 1)) * 2.0 + del x283 + x285 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x285 += einsum(x254, (0, 1, 2, 3), (0, 1, 2, 3)) + x285 += einsum(x255, (0, 1, 2, 3), (0, 1, 2, 3)) + del x255 + x285 += einsum(x257, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.24999999999999 + del x257 + x285 += einsum(x259, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 + del x259 + x285 += einsum(x262, (0, 1, 2, 3), (1, 0, 2, 3)) + del x262 + x285 += einsum(x267, (0, 1, 2, 3), (1, 0, 2, 3)) + del x267 + x285 += einsum(x271, (0, 1, 2, 3), (1, 0, 2, 3)) + del x271 + x285 += einsum(x273, (0, 1, 2, 3), (0, 1, 2, 3)) + del x273 + x285 += einsum(x276, (0, 1, 2, 3), (1, 0, 3, 2)) + del x276 + x285 += einsum(x279, (0, 1, 2, 3), (1, 0, 3, 2)) + del x279 + x285 += einsum(x284, (0, 1, 2, 3), (0, 1, 3, 2)) + del x284 + rdm2_f_oovv += einsum(x285, (0, 1, 2, 3), (0, 1, 2, 3)) + rdm2_f_oovv += einsum(x285, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + rdm2_f_oovv += einsum(x285, (0, 1, 2, 3), (0, 1, 2, 3)) + rdm2_f_oovv += einsum(x285, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x285 + x286 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x286 += einsum(t3, (0, 1, 2, 3, 4, 5), x174, (0, 1, 2, 6, 7, 4), (6, 7, 3, 5)) + x287 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x287 += einsum(x42, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + x287 += einsum(x42, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * -1.0 + x287 += einsum(x42, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) * 2.0 + x288 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x288 += einsum(t2, (0, 1, 2, 3), x287, (0, 1, 4, 5, 6, 3), (4, 5, 6, 2)) * 0.5 + x289 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x289 += einsum(x288, (0, 1, 2, 3), x6, (0, 4, 5, 2), (1, 4, 3, 5)) + del x288 + x290 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x290 += einsum(t1, (0, 1), x10, (2, 3, 4, 1), (0, 3, 2, 4)) + x291 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x291 += einsum(t1, (0, 1), x290, (2, 3, 0, 4), (3, 2, 4, 1)) * 3.0 + del x290 + x292 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x292 += einsum(t1, (0, 1), x291, (0, 2, 3, 4), (2, 3, 4, 1)) * 0.5 + del x291 + x293 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x293 += einsum(x286, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.08333333333333 + del x286 + x293 += einsum(x289, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x289 + x293 += einsum(x292, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x292 + rdm2_f_oovv += einsum(x293, (0, 1, 2, 3), (0, 1, 3, 2)) + rdm2_f_oovv += einsum(x293, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + rdm2_f_oovv += einsum(x293, (0, 1, 2, 3), (0, 1, 3, 2)) + rdm2_f_oovv += einsum(x293, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x293 + x294 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x294 += einsum(t3, (0, 1, 2, 3, 4, 5), x36, (0, 1, 2, 6, 7, 3), (6, 7, 5, 4)) + x295 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x295 += einsum(x178, (0, 1, 2, 3, 4, 5), x36, (1, 0, 2, 6, 7, 4), (6, 7, 3, 5)) * 0.16666666666667 + x296 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x296 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) + x296 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) * -0.5 + x297 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x297 += einsum(x296, (0, 1, 2, 3, 4, 5), x3, (0, 6, 7, 5, 4, 3), (1, 2, 6, 7)) + del x3, x296 + x298 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x298 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * 0.5 + x298 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 3, 5, 0, 2, 1)) + x299 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x299 += einsum(t3, (0, 1, 2, 3, 4, 5), x298, (6, 7, 2, 4, 5, 3), (6, 7, 0, 1)) + del x298 + x300 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x300 += einsum(x297, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x297 + x300 += einsum(x299, (0, 1, 2, 3), (1, 0, 2, 3)) + del x299 + x301 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x301 += einsum(t2, (0, 1, 2, 3), x300, (0, 1, 4, 5), (4, 5, 2, 3)) * 0.16666666666666 + del x300 + x302 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) + x302 += einsum(x36, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + x302 += einsum(x36, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -0.5 + x302 += einsum(x36, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) * 0.5 + x303 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x303 += einsum(t2, (0, 1, 2, 3), x302, (0, 4, 1, 5, 6, 3), (4, 5, 6, 2)) * 5.99999999999988 + del x302 + x304 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x304 += einsum(t1, (0, 1), x102, (2, 0, 3, 4), (2, 3, 4, 1)) + del x102 + x305 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x305 += einsum(x37, (0, 1, 2, 3), (0, 1, 2, 3)) * -5.99999999999988 + x305 += einsum(x303, (0, 1, 2, 3), (0, 1, 2, 3)) + del x303 + x305 += einsum(x304, (0, 1, 2, 3), (0, 1, 2, 3)) + del x304 + x306 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x306 += einsum(t1, (0, 1), x305, (0, 2, 3, 4), (2, 3, 4, 1)) * 0.16666666666667 + del x305 + x307 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x307 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x307 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) * -1.0 + x307 += einsum(x294, (0, 1, 2, 3), (1, 0, 3, 2)) * 0.16666666666667 + del x294 + x307 += einsum(x295, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x295 + x307 += einsum(x301, (0, 1, 2, 3), (1, 0, 3, 2)) + del x301 + x307 += einsum(x306, (0, 1, 2, 3), (1, 0, 2, 3)) + del x306 + rdm2_f_oovv += einsum(x307, (0, 1, 2, 3), (0, 1, 3, 2)) + rdm2_f_oovv += einsum(x307, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + rdm2_f_oovv += einsum(x307, (0, 1, 2, 3), (0, 1, 3, 2)) + rdm2_f_oovv += einsum(x307, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x307 + x308 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x308 += einsum(t2, (0, 1, 2, 3), x251, (1, 4, 3, 5), (4, 0, 5, 2)) * -1.0 + rdm2_f_oovv += einsum(x308, (0, 1, 2, 3), (0, 1, 3, 2)) + rdm2_f_oovv += einsum(x308, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 + rdm2_f_oovv += einsum(x308, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + rdm2_f_oovv += einsum(x308, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.5 + rdm2_f_oovv += einsum(x308, (0, 1, 2, 3), (0, 1, 3, 2)) + rdm2_f_oovv += einsum(x308, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 + rdm2_f_oovv += einsum(x308, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + rdm2_f_oovv += einsum(x308, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.5 + del x308 + x309 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x309 += einsum(t2, (0, 1, 2, 3), x42, (1, 4, 0, 5, 6, 2), (4, 5, 6, 3)) + x310 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x310 += einsum(x309, (0, 1, 2, 3), x32, (0, 4, 5, 2), (4, 1, 5, 3)) + rdm2_f_oovv += einsum(x310, (0, 1, 2, 3), (1, 0, 2, 3)) + rdm2_f_oovv += einsum(x310, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 + rdm2_f_oovv += einsum(x310, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + rdm2_f_oovv += einsum(x310, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 + rdm2_f_oovv += einsum(x310, (0, 1, 2, 3), (1, 0, 2, 3)) + rdm2_f_oovv += einsum(x310, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 + rdm2_f_oovv += einsum(x310, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + rdm2_f_oovv += einsum(x310, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 + del x310 + x311 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x311 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) + x311 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 0, 2)) * 0.3333333333333333 + x312 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x312 += einsum(t1, (0, 1), x311, (2, 3, 4, 1, 5, 6), (0, 2, 3, 4, 5, 6)) * 3.0 + del x311 + x313 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) + x313 += einsum(t1, (0, 1), x312, (2, 3, 4, 5, 1, 6), (0, 4, 3, 5, 2, 6)) * 0.3333333333333333 + del x312 + x314 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x314 += einsum(t3, (0, 1, 2, 3, 4, 5), x313, (6, 0, 2, 1, 7, 4), (6, 7, 5, 3)) * 0.50000000000001 + del x313 + rdm2_f_oovv += einsum(x314, (0, 1, 2, 3), (1, 0, 2, 3)) + rdm2_f_oovv += einsum(x314, (0, 1, 2, 3), (1, 0, 2, 3)) + del x314 + x315 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x315 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + x315 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) + x316 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x316 += einsum(l1, (0, 1), x315, (2, 3, 1, 4, 5, 0), (2, 3, 4, 5)) + rdm2_f_oovv += einsum(x316, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + rdm2_f_oovv += einsum(x316, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x316 + x317 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x317 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + x317 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 + x318 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x318 += einsum(l3, (0, 1, 2, 3, 4, 5), x317, (4, 6, 7, 1, 2, 0), (3, 5, 6, 7)) + x319 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x319 += einsum(x318, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x318 + x319 += einsum(x104, (0, 1, 2, 3), (1, 0, 2, 3)) + del x104 + x320 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x320 += einsum(t1, (0, 1), x319, (0, 2, 3, 4), (2, 3, 4, 1)) + del x319 + x321 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x321 += einsum(t1, (0, 1), x320, (0, 2, 3, 4), (2, 3, 1, 4)) * 0.16666666666667 + del x320 + rdm2_f_oovv += einsum(x321, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + rdm2_f_oovv += einsum(x321, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x321 + x322 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x322 += einsum(t2, (0, 1, 2, 3), x42, (4, 0, 1, 5, 2, 6), (4, 5, 6, 3)) + x323 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x323 += einsum(t2, (0, 1, 2, 3), x322, (1, 4, 2, 5), (4, 0, 3, 5)) + del x322 + rdm2_f_oovv += einsum(x323, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + rdm2_f_oovv += einsum(x323, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x323 + x324 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x324 += einsum(l2, (0, 1, 2, 3), t2, (4, 3, 1, 5), (2, 4, 0, 5)) + x325 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x325 += einsum(t2, (0, 1, 2, 3), x324, (1, 4, 2, 5), (4, 0, 5, 3)) + del x324 + rdm2_f_oovv += einsum(x325, (0, 1, 2, 3), (0, 1, 2, 3)) + rdm2_f_oovv += einsum(x325, (0, 1, 2, 3), (0, 1, 2, 3)) + del x325 + x326 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x326 += einsum(t1, (0, 1), x24, (0, 2, 3, 4), (2, 4, 3, 1)) + del x24 + x327 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x327 += einsum(t1, (0, 1), x326, (0, 2, 3, 4), (2, 3, 1, 4)) + del x326 + rdm2_f_oovv += einsum(x327, (0, 1, 2, 3), (0, 1, 2, 3)) + rdm2_f_oovv += einsum(x327, (0, 1, 2, 3), (0, 1, 2, 3)) + del x327 + x328 = np.zeros((nocc, nvir), dtype=types[float]) + x328 += einsum(t1, (0, 1), x1, (0, 2), (2, 1)) + del x1 + rdm2_f_oovv += einsum(t1, (0, 1), x328, (2, 3), (0, 2, 1, 3)) * -1.0 + rdm2_f_oovv += einsum(t1, (0, 1), x328, (2, 3), (0, 2, 1, 3)) * -1.0 + x329 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x329 += einsum(t2, (0, 1, 2, 3), x28, (0, 1, 4, 5), (4, 5, 2, 3)) + x330 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x330 += einsum(x258, (0, 1, 2, 3), t3, (4, 5, 0, 2, 6, 1), (4, 5, 3, 6)) + x331 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x331 += einsum(t2, (0, 1, 2, 3), l3, (4, 2, 3, 1, 5, 6), (6, 5, 0, 4)) + x332 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x332 += einsum(t1, (0, 1), x331, (2, 3, 4, 1), (2, 3, 0, 4)) + x333 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x333 += einsum(t2, (0, 1, 2, 3), x332, (1, 0, 4, 5), (4, 5, 3, 2)) + del x332 + x334 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x334 += einsum(x270, (0, 1, 2, 3), t3, (4, 5, 0, 1, 6, 2), (4, 5, 3, 6)) * 0.25 + x335 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) + x335 += einsum(x174, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x174 + x335 += einsum(x36, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 1.0000000000000602 + del x36 + x336 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x336 += einsum(t3, (0, 1, 2, 3, 4, 5), x335, (0, 2, 1, 6, 7, 3), (6, 7, 5, 4)) * 0.49999999999997996 + del x335 + x337 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x337 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) + x337 += einsum(x23, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + x337 += einsum(x168, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x168 + x337 += einsum(x123, (0, 1, 2, 3), (1, 0, 2, 3)) + del x123 + x338 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x338 += einsum(x337, (0, 1, 2, 3), t3, (0, 4, 1, 3, 5, 6), (2, 4, 6, 5)) * 0.5 + del x337 + x339 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x339 += einsum(x7, (0, 1, 2, 3), t3, (0, 4, 1, 5, 6, 3), (4, 2, 5, 6)) * -0.25 + del x7 + x340 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x340 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 3, 5, 7, 0, 2), (4, 6, 1, 7)) + x341 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x341 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + x341 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -0.25 + x341 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 0.25 + x342 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x342 += einsum(l3, (0, 1, 2, 3, 4, 5), x341, (4, 6, 5, 1, 7, 2), (6, 3, 7, 0)) + del x341 + rdm2_f_ovvo += einsum(x342, (0, 1, 2, 3), (0, 3, 2, 1)) + rdm2_f_ovvo += einsum(x342, (0, 1, 2, 3), (0, 3, 2, 1)) + x343 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x343 += einsum(l3, (0, 1, 2, 3, 4, 5), x188, (3, 6, 5, 0, 2, 7), (4, 6, 1, 7)) * 0.25 + del x188 + x344 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x344 += einsum(x183, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.25 + x344 += einsum(x340, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.25 + del x340 + x344 += einsum(x342, (0, 1, 2, 3), (1, 0, 3, 2)) + del x342 + x344 += einsum(x343, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x343 + x345 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x345 += einsum(t2, (0, 1, 2, 3), x344, (1, 4, 2, 5), (4, 0, 5, 3)) + del x344 + x346 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x346 += einsum(t2, (0, 1, 2, 3), x143, (0, 1, 4, 5, 6, 2), (4, 5, 3, 6)) + x347 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x347 += einsum(t2, (0, 1, 2, 3), x346, (1, 4, 5, 2), (4, 0, 5, 3)) * -0.5 + del x346 + x348 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x348 += einsum(t2, (0, 1, 2, 3), x23, (4, 1, 5, 3), (4, 5, 0, 2)) + x349 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x349 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 4.0 + x349 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -1.0 + x349 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + x350 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x350 += einsum(x349, (0, 1, 2, 3, 4, 5), x42, (2, 6, 0, 7, 5, 3), (1, 6, 7, 4)) * 0.5 + x351 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x351 += einsum(x35, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 + x351 += einsum(x35, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) + x352 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x352 += einsum(t3, (0, 1, 2, 3, 4, 5), x351, (1, 2, 6, 7, 4, 5), (6, 7, 0, 3)) * 0.5 + del x351 + x353 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x353 += einsum(l2, (0, 1, 2, 3), x145, (2, 4, 5, 0, 1, 6), (3, 4, 5, 6)) + del x145 + x354 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x354 += einsum(t2, (0, 1, 2, 3), x133, (1, 4, 5, 6, 3, 2), (0, 4, 5, 6)) * 2.0 + del x133 + x355 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x355 += einsum(x132, (0, 1, 2, 3), (1, 0, 2, 3)) + del x132 + x355 += einsum(x354, (0, 1, 2, 3), (1, 2, 0, 3)) + del x354 + x356 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x356 += einsum(t2, (0, 1, 2, 3), x355, (4, 1, 5, 2), (4, 5, 0, 3)) + del x355 + x357 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x357 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + x357 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x358 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x358 += einsum(x23, (0, 1, 2, 3), x357, (0, 4, 3, 5), (4, 1, 2, 5)) * 2.0 + x359 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x359 += einsum(x28, (0, 1, 2, 3), (0, 1, 2, 3)) + del x28 + x359 += einsum(x30, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.99999999999996 + del x30 + x360 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x360 += einsum(t1, (0, 1), x359, (2, 0, 3, 4), (2, 3, 4, 1)) * 1.00000000000002 + del x359 + x361 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x361 += einsum(x348, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + del x348 + x361 += einsum(x140, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 + del x140 + x361 += einsum(x113, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 + del x113 + x361 += einsum(x111, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 + del x111 + x361 += einsum(x37, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + del x37 + x361 += einsum(x350, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 + del x350 + x361 += einsum(x352, (0, 1, 2, 3), (0, 1, 2, 3)) + del x352 + x361 += einsum(x353, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x353 + x361 += einsum(x356, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + del x356 + x361 += einsum(x358, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 + del x358 + x361 += einsum(x360, (0, 1, 2, 3), (0, 1, 2, 3)) + del x360 + x362 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x362 += einsum(t1, (0, 1), x361, (0, 2, 3, 4), (2, 3, 4, 1)) * 0.5 + del x361 + x363 = np.zeros((nocc, nvir), dtype=types[float]) + x363 += einsum(t1, (0, 1), x21, (0, 2), (2, 1)) + del x21 + x364 = np.zeros((nocc, nvir), dtype=types[float]) + x364 += einsum(x76, (0, 1), (0, 1)) * 0.124999999999995 + del x76 + x364 += einsum(x228, (0, 1), (0, 1)) + del x228 + x364 += einsum(x229, (0, 1), (0, 1)) * -1.0 + del x229 + x364 += einsum(x230, (0, 1), (0, 1)) * -1.0 + del x230 + x364 += einsum(x231, (0, 1), (0, 1)) + del x231 + x364 += einsum(x232, (0, 1), (0, 1)) + del x232 + x364 += einsum(x233, (0, 1), (0, 1)) + del x233 + x364 += einsum(x234, (0, 1), (0, 1)) * -1.0 + del x234 + x364 += einsum(x363, (0, 1), (0, 1)) + del x363 + x365 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x365 += einsum(x254, (0, 1, 2, 3), (0, 1, 2, 3)) + del x254 + x365 += einsum(x329, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.49999999999997996 + del x329 + x365 += einsum(x330, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 + del x330 + x365 += einsum(x333, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x333 + x365 += einsum(x334, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x334 + x365 += einsum(x336, (0, 1, 2, 3), (0, 1, 2, 3)) + del x336 + x365 += einsum(x338, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x338 + x365 += einsum(x195, (0, 1, 2, 3), (0, 1, 2, 3)) + del x195 + x365 += einsum(x339, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x339 + x365 += einsum(x345, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x345 + x365 += einsum(x209, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x209 + x365 += einsum(x347, (0, 1, 2, 3), (0, 1, 3, 2)) + del x347 + x365 += einsum(x362, (0, 1, 2, 3), (0, 1, 3, 2)) + del x362 + x365 += einsum(x221, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x221 + x365 += einsum(t1, (0, 1), x364, (2, 3), (0, 2, 1, 3)) * -2.0 + del x364 + rdm2_f_oovv += einsum(x365, (0, 1, 2, 3), (0, 1, 2, 3)) + rdm2_f_oovv += einsum(x365, (0, 1, 2, 3), (1, 0, 3, 2)) + rdm2_f_oovv += einsum(x365, (0, 1, 2, 3), (0, 1, 2, 3)) + rdm2_f_oovv += einsum(x365, (0, 1, 2, 3), (1, 0, 3, 2)) + del x365 + x366 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x366 += einsum(x29, (0, 1, 2, 3), t3, (4, 1, 0, 5, 6, 3), (2, 4, 5, 6)) + x367 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x367 += einsum(x263, (0, 1, 2, 3), t3, (4, 5, 0, 6, 2, 1), (4, 5, 3, 6)) + x368 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x368 += einsum(x128, (0, 1, 2, 3), t3, (4, 5, 0, 6, 2, 3), (4, 5, 6, 1)) * -0.5 + x369 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x369 += einsum(x23, (0, 1, 2, 3), (1, 0, 2, 3)) + x369 += einsum(x124, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x124 + x370 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x370 += einsum(x369, (0, 1, 2, 3), t3, (4, 0, 1, 5, 6, 3), (2, 4, 5, 6)) + del x369 + x371 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x371 += einsum(t2, (0, 1, 2, 3), x250, (0, 1, 4, 5, 3, 6), (4, 5, 6, 2)) * 0.5 + x372 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x372 += einsum(x176, (0, 1, 2, 3), (0, 1, 2, 3)) + x372 += einsum(x371, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x371 + x373 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x373 += einsum(t2, (0, 1, 2, 3), x372, (1, 4, 2, 5), (4, 0, 5, 3)) + del x372 + x374 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x374 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (5, 6, 3, 2, 1, 7), (4, 6, 0, 7)) + rdm2_f_ovov += einsum(x374, (0, 1, 2, 3), (1, 2, 0, 3)) * -0.5 + rdm2_f_ovov += einsum(x374, (0, 1, 2, 3), (1, 2, 0, 3)) * -0.5 + rdm2_f_vovo += einsum(x374, (0, 1, 2, 3), (2, 1, 3, 0)) * -0.5 + rdm2_f_vovo += einsum(x374, (0, 1, 2, 3), (2, 1, 3, 0)) * -0.5 + x375 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x375 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 4, 5, 0, 7, 2), (3, 6, 1, 7)) + rdm2_f_ovov += einsum(x375, (0, 1, 2, 3), (1, 2, 0, 3)) * -0.5 + rdm2_f_ovov += einsum(x375, (0, 1, 2, 3), (1, 2, 0, 3)) * -0.5 + rdm2_f_vovo += einsum(x375, (0, 1, 2, 3), (2, 1, 3, 0)) * -0.5 + rdm2_f_vovo += einsum(x375, (0, 1, 2, 3), (2, 1, 3, 0)) * -0.5 + x376 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x376 += einsum(x374, (0, 1, 2, 3), (0, 1, 2, 3)) + x376 += einsum(x375, (0, 1, 2, 3), (0, 1, 2, 3)) + x377 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x377 += einsum(t2, (0, 1, 2, 3), x376, (1, 4, 2, 5), (4, 0, 5, 3)) * 0.5 + del x376 + x378 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x378 += einsum(x9, (0, 1, 2, 3), l3, (4, 2, 3, 5, 0, 6), (6, 5, 1, 4)) * 3.0 + del x9 + x379 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x379 += einsum(x29, (0, 1, 2, 3), (0, 1, 2, 3)) + x379 += einsum(x29, (0, 1, 2, 3), (1, 0, 2, 3)) * -3.0 + x379 += einsum(x53, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x379 += einsum(x53, (0, 1, 2, 3), (1, 0, 2, 3)) + del x53 + x379 += einsum(x378, (0, 1, 2, 3), (1, 0, 2, 3)) + x379 += einsum(x59, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x380 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x380 += einsum(t1, (0, 1), x379, (0, 2, 3, 4), (2, 3, 4, 1)) + del x379 + x381 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x381 += einsum(t2, (0, 1, 2, 3), x380, (1, 4, 3, 5), (4, 0, 5, 2)) * 0.5 + del x380 + x382 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x382 += einsum(t2, (0, 1, 2, 3), x23, (4, 1, 5, 2), (4, 5, 0, 3)) + x383 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x383 += einsum(t2, (0, 1, 2, 3), x120, (0, 1, 4, 5, 6, 2), (4, 5, 6, 3)) * 0.5 + del x120 + x384 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x384 += einsum(x29, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + del x29 + x384 += einsum(x59, (0, 1, 2, 3), (1, 0, 2, 3)) + del x59 + x385 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x385 += einsum(t2, (0, 1, 2, 3), x384, (1, 4, 5, 2), (4, 5, 0, 3)) * 0.5 + del x384 + x386 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) + x386 += einsum(t1, (0, 1), x33, (2, 3, 4, 1), (0, 2, 3, 4)) * -1.0 + x387 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x387 += einsum(t1, (0, 1), x386, (2, 3, 0, 4), (3, 2, 4, 1)) * 0.5 + x388 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x388 += einsum(x38, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x38 + x388 += einsum(x108, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x108 + x388 += einsum(x382, (0, 1, 2, 3), (0, 1, 2, 3)) + del x382 + x388 += einsum(x110, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 + del x110 + x388 += einsum(x109, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 + del x109 + x388 += einsum(x383, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x383 + x388 += einsum(x149, (0, 1, 2, 3), (2, 1, 0, 3)) + del x149 + x388 += einsum(x385, (0, 1, 2, 3), (0, 2, 1, 3)) + del x385 + x388 += einsum(x387, (0, 1, 2, 3), (0, 1, 2, 3)) + del x387 + x389 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x389 += einsum(t1, (0, 1), x388, (0, 2, 3, 4), (2, 3, 4, 1)) + del x388 + x390 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x390 += einsum(t2, (0, 1, 2, 3), x386, (4, 0, 1, 5), (4, 5, 3, 2)) * 0.5 + del x386 + x391 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x391 += einsum(x173, (0, 1, 2, 3), (0, 1, 2, 3)) + del x173 + x391 += einsum(x366, (0, 1, 2, 3), (0, 1, 2, 3)) + del x366 + x391 += einsum(x367, (0, 1, 2, 3), (0, 1, 2, 3)) + del x367 + x391 += einsum(x177, (0, 1, 2, 3), (0, 1, 2, 3)) + del x177 + x391 += einsum(x368, (0, 1, 2, 3), (0, 1, 3, 2)) + del x368 + x391 += einsum(x370, (0, 1, 2, 3), (0, 1, 2, 3)) + del x370 + x391 += einsum(x373, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x373 + x391 += einsum(x377, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x377 + x391 += einsum(x381, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x381 + x391 += einsum(x389, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x389 + x391 += einsum(x390, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x390 + rdm2_f_oovv += einsum(x391, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + rdm2_f_oovv += einsum(x391, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + rdm2_f_oovv += einsum(x391, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + rdm2_f_oovv += einsum(x391, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x391 + x392 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x392 += einsum(t2, (0, 1, 2, 3), x251, (1, 4, 3, 5), (4, 0, 5, 2)) * -0.5 + del x251 + rdm2_f_oovv += einsum(x392, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + rdm2_f_oovv += einsum(x392, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 + rdm2_f_oovv += einsum(x392, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + rdm2_f_oovv += einsum(x392, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 + del x392 + x393 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x393 += einsum(t2, (0, 1, 2, 3), x309, (1, 4, 3, 5), (4, 0, 2, 5)) + del x309 + rdm2_f_oovv += einsum(x393, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 + rdm2_f_oovv += einsum(x393, (0, 1, 2, 3), (1, 0, 2, 3)) + rdm2_f_oovv += einsum(x393, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 + rdm2_f_oovv += einsum(x393, (0, 1, 2, 3), (1, 0, 2, 3)) + del x393 + x394 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x394 += einsum(t2, (0, 1, 2, 3), x287, (0, 1, 4, 5, 6, 3), (4, 5, 6, 2)) * 0.25 + del x287 + x395 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x395 += einsum(t2, (0, 1, 2, 3), x192, (1, 4, 3, 5), (0, 4, 2, 5)) + del x192 + x396 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x396 += einsum(x394, (0, 1, 2, 3), (0, 1, 2, 3)) + del x394 + x396 += einsum(x395, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x395 + x397 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x397 += einsum(t2, (0, 1, 2, 3), x396, (1, 4, 3, 5), (4, 0, 5, 2)) * 2.0 + del x396 + rdm2_f_oovv += einsum(x397, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + rdm2_f_oovv += einsum(x397, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x397 + x398 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x398 += einsum(t2, (0, 1, 2, 3), x248, (1, 4, 3, 5), (4, 0, 5, 2)) * -1.0 + del x248 + rdm2_f_oovv += einsum(x398, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + rdm2_f_oovv += einsum(x398, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x398 + x399 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x399 += einsum(l2, (0, 1, 2, 3), t2, (4, 2, 1, 5), (3, 4, 0, 5)) + rdm2_f_ovov += einsum(x399, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 + rdm2_f_ovov += einsum(x399, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 + rdm2_f_vovo += einsum(x399, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 + rdm2_f_vovo += einsum(x399, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 + x400 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x400 += einsum(t2, (0, 1, 2, 3), x42, (0, 4, 1, 5, 2, 6), (4, 5, 6, 3)) + rdm2_f_ovov += einsum(x400, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 + rdm2_f_ovov += einsum(x400, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 + rdm2_f_vovo += einsum(x400, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 + rdm2_f_vovo += einsum(x400, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 + x401 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x401 += einsum(x399, (0, 1, 2, 3), (0, 1, 2, 3)) + x401 += einsum(x400, (0, 1, 2, 3), (0, 1, 2, 3)) + x402 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x402 += einsum(t2, (0, 1, 2, 3), x401, (1, 4, 2, 5), (4, 0, 5, 3)) + del x401 + rdm2_f_oovv += einsum(x402, (0, 1, 2, 3), (1, 0, 2, 3)) + rdm2_f_oovv += einsum(x402, (0, 1, 2, 3), (1, 0, 2, 3)) + del x402 + x403 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x403 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) + x403 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) + x404 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x404 += einsum(x22, (0, 1, 2, 3), x403, (0, 1, 4, 5), (2, 3, 4, 5)) + del x22, x403 + rdm2_f_oovv += einsum(x404, (0, 1, 2, 3), (1, 0, 3, 2)) + rdm2_f_oovv += einsum(x404, (0, 1, 2, 3), (1, 0, 3, 2)) + del x404 + x405 = np.zeros((nocc, nvir), dtype=types[float]) + x405 += einsum(t1, (0, 1), (0, 1)) + x405 += einsum(x328, (0, 1), (0, 1)) * -1.0 + del x328 + rdm2_f_oovv += einsum(t1, (0, 1), x405, (2, 3), (2, 0, 3, 1)) + rdm2_f_oovv += einsum(t1, (0, 1), x405, (2, 3), (2, 0, 3, 1)) + del x405 + x406 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x406 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 5, 4, 1, 7, 2), (3, 6, 0, 7)) + rdm2_f_ovov += einsum(x406, (0, 1, 2, 3), (1, 2, 0, 3)) * -0.25 + rdm2_f_ovov += einsum(x406, (0, 1, 2, 3), (1, 2, 0, 3)) * -0.25 + rdm2_f_voov += einsum(x406, (0, 1, 2, 3), (2, 1, 0, 3)) * 0.25 + rdm2_f_voov += einsum(x406, (0, 1, 2, 3), (2, 1, 0, 3)) * 0.25 + del x406 + x407 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x407 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 0.2 + x407 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -0.2 + x407 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -0.2 + x407 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) + x408 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x408 += einsum(l3, (0, 1, 2, 3, 4, 5), x407, (4, 6, 5, 1, 7, 2), (6, 3, 7, 0)) * 1.25 + del x407 + rdm2_f_ovov += einsum(x408, (0, 1, 2, 3), (0, 3, 1, 2)) * -1.0 + rdm2_f_ovov += einsum(x408, (0, 1, 2, 3), (0, 3, 1, 2)) * -1.0 + del x408 + x409 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x409 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * -1.0 + x409 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 2, 1)) + x410 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x410 += einsum(t3, (0, 1, 2, 3, 4, 5), x409, (2, 1, 6, 5, 7, 3), (6, 0, 7, 4)) * 0.25 + del x409 + rdm2_f_ovov += einsum(x410, (0, 1, 2, 3), (1, 2, 0, 3)) + rdm2_f_ovov += einsum(x410, (0, 1, 2, 3), (1, 2, 0, 3)) + del x410 + x411 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x411 += einsum(l3, (0, 1, 2, 3, 4, 5), x317, (5, 6, 3, 1, 7, 2), (4, 6, 0, 7)) * 0.25 + rdm2_f_ovov += einsum(x411, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 + rdm2_f_ovov += einsum(x411, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 + rdm2_f_ovvo += einsum(x411, (0, 1, 2, 3), (1, 2, 3, 0)) + rdm2_f_ovvo += einsum(x411, (0, 1, 2, 3), (1, 2, 3, 0)) + del x411 + x412 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x412 += einsum(t2, (0, 1, 2, 3), x250, (0, 1, 4, 5, 6, 2), (4, 5, 6, 3)) * 0.5 + rdm2_f_ovov += einsum(x412, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 + rdm2_f_ovov += einsum(x412, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 + rdm2_f_vovo += einsum(x412, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 + rdm2_f_vovo += einsum(x412, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 + del x412 + x413 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x413 += einsum(x42, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 2.0 + x413 += einsum(x42, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 + x414 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x414 += einsum(t2, (0, 1, 2, 3), x413, (4, 0, 1, 5, 6, 3), (4, 5, 6, 2)) + del x413 + rdm2_f_ovov += einsum(x414, (0, 1, 2, 3), (1, 2, 0, 3)) + rdm2_f_ovov += einsum(x414, (0, 1, 2, 3), (1, 2, 0, 3)) + rdm2_f_ovvo += einsum(x414, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 + rdm2_f_ovvo += einsum(x414, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 + del x414 + x415 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x415 += einsum(l2, (0, 1, 2, 3), x32, (2, 4, 5, 1), (3, 4, 0, 5)) + rdm2_f_ovov += einsum(x415, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 + rdm2_f_ovov += einsum(x415, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 + del x415 + x416 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x416 += einsum(l2, (0, 1, 2, 3), x19, (3, 4, 5, 1), (2, 4, 0, 5)) * 2.0 + del x19 + rdm2_f_ovov += einsum(x416, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 + rdm2_f_ovov += einsum(x416, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 + rdm2_f_voov += einsum(x416, (0, 1, 2, 3), (2, 1, 0, 3)) + rdm2_f_voov += einsum(x416, (0, 1, 2, 3), (2, 1, 0, 3)) + del x416 + x417 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x417 += einsum(x32, (0, 1, 2, 3), l3, (4, 2, 3, 5, 6, 0), (5, 6, 1, 4)) + x418 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x418 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x418 += einsum(x417, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x417 + x419 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x419 += einsum(x418, (0, 1, 2, 3), (0, 1, 2, 3)) + x419 += einsum(x418, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + x419 += einsum(x378, (0, 1, 2, 3), (1, 0, 2, 3)) + x420 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x420 += einsum(t1, (0, 1), x419, (2, 0, 3, 4), (2, 3, 4, 1)) * 0.5 + del x419 + rdm2_f_ovov += einsum(x420, (0, 1, 2, 3), (1, 2, 0, 3)) + rdm2_f_ovov += einsum(x420, (0, 1, 2, 3), (1, 2, 0, 3)) + rdm2_f_ovvo += einsum(x420, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 + rdm2_f_ovvo += einsum(x420, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 + rdm2_f_voov += einsum(x420, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 + rdm2_f_voov += einsum(x420, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 + rdm2_f_vovo += einsum(x420, (0, 1, 2, 3), (2, 1, 3, 0)) + rdm2_f_vovo += einsum(x420, (0, 1, 2, 3), (2, 1, 3, 0)) + del x420 + x421 = np.zeros((nvir, nvir), dtype=types[float]) + x421 += einsum(l1, (0, 1), t1, (1, 2), (0, 2)) + x422 = np.zeros((nvir, nvir), dtype=types[float]) + x422 += einsum(x421, (0, 1), (0, 1)) + x422 += einsum(x203, (0, 1), (0, 1)) * 0.24999999999999 + x422 += einsum(x205, (0, 1), (0, 1)) + del x205 + x422 += einsum(x206, (0, 1), (0, 1)) * -1.0 + del x206 + x422 += einsum(x207, (0, 1), (1, 0)) + del x207 + rdm2_f_ovov += einsum(delta.oo, (0, 1), x422, (2, 3), (0, 2, 1, 3)) + rdm2_f_ovov += einsum(delta.oo, (0, 1), x422, (2, 3), (0, 2, 1, 3)) + rdm2_f_ovov += einsum(delta.oo, (0, 1), x422, (2, 3), (0, 2, 1, 3)) + rdm2_f_ovov += einsum(delta.oo, (0, 1), x422, (2, 3), (0, 2, 1, 3)) + rdm2_f_ovvo += einsum(delta.oo, (0, 1), x422, (2, 3), (0, 2, 3, 1)) * -1.0 + rdm2_f_ovvo += einsum(delta.oo, (0, 1), x422, (2, 3), (0, 2, 3, 1)) * -1.0 + rdm2_f_voov += einsum(delta.oo, (0, 1), x422, (2, 3), (2, 0, 1, 3)) * -1.0 + rdm2_f_voov += einsum(delta.oo, (0, 1), x422, (2, 3), (2, 0, 1, 3)) * -1.0 + rdm2_f_vovo += einsum(delta.oo, (0, 1), x422, (2, 3), (2, 0, 3, 1)) + rdm2_f_vovo += einsum(delta.oo, (0, 1), x422, (2, 3), (2, 0, 3, 1)) + rdm2_f_vovo += einsum(delta.oo, (0, 1), x422, (2, 3), (2, 0, 3, 1)) + rdm2_f_vovo += einsum(delta.oo, (0, 1), x422, (2, 3), (2, 0, 3, 1)) + x423 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x423 += einsum(t2, (0, 1, 2, 3), x143, (0, 1, 4, 5, 2, 6), (4, 5, 3, 6)) * 0.5 + rdm2_f_ovov += einsum(x423, (0, 1, 2, 3), (1, 3, 0, 2)) * -1.0 + rdm2_f_ovov += einsum(x423, (0, 1, 2, 3), (1, 3, 0, 2)) * -1.0 + rdm2_f_vovo += einsum(x423, (0, 1, 2, 3), (3, 1, 2, 0)) * -1.0 + rdm2_f_vovo += einsum(x423, (0, 1, 2, 3), (3, 1, 2, 0)) * -1.0 + del x423 + x424 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x424 += einsum(t1, (0, 1), x151, (0, 2, 3, 4), (2, 3, 1, 4)) + rdm2_f_ovov += einsum(x424, (0, 1, 2, 3), (1, 3, 0, 2)) * -1.0 + rdm2_f_ovov += einsum(x424, (0, 1, 2, 3), (1, 3, 0, 2)) * -1.0 + del x424 + x425 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x425 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 3, 5, 1, 7, 2), (4, 6, 0, 7)) + rdm2_f_ovvo += einsum(x425, (0, 1, 2, 3), (1, 2, 3, 0)) * 0.25 + rdm2_f_ovvo += einsum(x425, (0, 1, 2, 3), (1, 2, 3, 0)) * 0.25 + rdm2_f_vovo += einsum(x425, (0, 1, 2, 3), (2, 1, 3, 0)) * -0.25 + rdm2_f_vovo += einsum(x425, (0, 1, 2, 3), (2, 1, 3, 0)) * -0.25 + del x425 + x426 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x426 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + x426 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 + x426 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 + x426 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 5.0 + x427 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x427 += einsum(l3, (0, 1, 2, 3, 4, 5), x426, (4, 6, 5, 1, 7, 2), (6, 3, 7, 0)) * 0.25 + del x426 + rdm2_f_ovvo += einsum(x427, (0, 1, 2, 3), (0, 3, 2, 1)) + rdm2_f_ovvo += einsum(x427, (0, 1, 2, 3), (0, 3, 2, 1)) + rdm2_f_voov += einsum(x427, (0, 1, 2, 3), (3, 0, 1, 2)) + rdm2_f_voov += einsum(x427, (0, 1, 2, 3), (3, 0, 1, 2)) + del x427 + x428 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x428 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + x428 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 + x429 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x429 += einsum(l3, (0, 1, 2, 3, 4, 5), x428, (5, 6, 4, 2, 1, 7), (6, 3, 7, 0)) * 0.25 + del x428 + rdm2_f_ovvo += einsum(x429, (0, 1, 2, 3), (0, 3, 2, 1)) * -1.0 + rdm2_f_ovvo += einsum(x429, (0, 1, 2, 3), (0, 3, 2, 1)) * -1.0 + del x429 + x430 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x430 += einsum(x42, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 + x430 += einsum(x42, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) + x431 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x431 += einsum(t2, (0, 1, 2, 3), x430, (0, 1, 4, 5, 6, 2), (4, 5, 6, 3)) * 0.5 + del x430 + rdm2_f_ovvo += einsum(x431, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 + rdm2_f_ovvo += einsum(x431, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 + rdm2_f_voov += einsum(x431, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 + rdm2_f_voov += einsum(x431, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 + del x431 + x432 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x432 += einsum(t2, (0, 1, 2, 3), x274, (1, 4, 5, 2), (4, 0, 5, 3)) + rdm2_f_ovvo += einsum(x432, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 + rdm2_f_ovvo += einsum(x432, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 + rdm2_f_vovo += einsum(x432, (0, 1, 2, 3), (2, 1, 3, 0)) + rdm2_f_vovo += einsum(x432, (0, 1, 2, 3), (2, 1, 3, 0)) + del x432 + x433 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x433 += einsum(l2, (0, 1, 2, 3), (3, 2, 0, 1)) * 2.0 + x433 += einsum(l2, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 + x434 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x434 += einsum(t2, (0, 1, 2, 3), x433, (1, 4, 5, 3), (4, 0, 5, 2)) + del x433 + rdm2_f_ovvo += einsum(x434, (0, 1, 2, 3), (1, 2, 3, 0)) + rdm2_f_ovvo += einsum(x434, (0, 1, 2, 3), (1, 2, 3, 0)) + rdm2_f_vovo += einsum(x434, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 + rdm2_f_vovo += einsum(x434, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 + del x434 + x435 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x435 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 3, 5, 0, 7, 2), (4, 6, 1, 7)) + rdm2_f_ovvo += einsum(x435, (0, 1, 2, 3), (1, 2, 3, 0)) * -0.25 + rdm2_f_ovvo += einsum(x435, (0, 1, 2, 3), (1, 2, 3, 0)) * -0.25 + rdm2_f_voov += einsum(x435, (0, 1, 2, 3), (2, 1, 0, 3)) * -0.25 + rdm2_f_voov += einsum(x435, (0, 1, 2, 3), (2, 1, 0, 3)) * -0.25 + x436 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x436 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (3, 6, 5, 1, 7, 2), (4, 6, 0, 7)) + rdm2_f_ovvo += einsum(x436, (0, 1, 2, 3), (1, 2, 3, 0)) * -0.25 + rdm2_f_ovvo += einsum(x436, (0, 1, 2, 3), (1, 2, 3, 0)) * -0.25 + rdm2_f_voov += einsum(x436, (0, 1, 2, 3), (2, 1, 0, 3)) * -0.25 + rdm2_f_voov += einsum(x436, (0, 1, 2, 3), (2, 1, 0, 3)) * -0.25 + del x436 + x437 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x437 += einsum(l2, (0, 1, 2, 3), t2, (4, 2, 5, 1), (3, 4, 0, 5)) + rdm2_f_ovvo += einsum(x437, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 + rdm2_f_ovvo += einsum(x437, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 + rdm2_f_voov += einsum(x437, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 + rdm2_f_voov += einsum(x437, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 + x438 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x438 += einsum(t3, (0, 1, 2, 3, 4, 5), x127, (1, 2, 6, 5, 4, 7), (0, 6, 3, 7)) * 0.25 + rdm2_f_ovvo += einsum(x438, (0, 1, 2, 3), (0, 3, 2, 1)) * -1.0 + rdm2_f_ovvo += einsum(x438, (0, 1, 2, 3), (0, 3, 2, 1)) * -1.0 + rdm2_f_voov += einsum(x438, (0, 1, 2, 3), (3, 0, 1, 2)) * -1.0 + rdm2_f_voov += einsum(x438, (0, 1, 2, 3), (3, 0, 1, 2)) * -1.0 + del x438 + x439 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x439 += einsum(t2, (0, 1, 2, 3), x250, (0, 1, 4, 5, 2, 6), (4, 5, 6, 3)) * 0.5 + rdm2_f_ovvo += einsum(x439, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 + rdm2_f_ovvo += einsum(x439, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 + rdm2_f_voov += einsum(x439, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 + rdm2_f_voov += einsum(x439, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 + del x439 + x440 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x440 += einsum(l2, (0, 1, 2, 3), x92, (3, 4, 5, 1), (2, 4, 0, 5)) + del x92 + rdm2_f_ovvo += einsum(x440, (0, 1, 2, 3), (1, 2, 3, 0)) + rdm2_f_ovvo += einsum(x440, (0, 1, 2, 3), (1, 2, 3, 0)) + rdm2_f_voov += einsum(x440, (0, 1, 2, 3), (2, 1, 0, 3)) + rdm2_f_voov += einsum(x440, (0, 1, 2, 3), (2, 1, 0, 3)) + del x440 + x441 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x441 += einsum(t1, (0, 1), x130, (2, 0, 3, 4), (2, 3, 1, 4)) * 0.5 + rdm2_f_ovvo += einsum(x441, (0, 1, 2, 3), (1, 3, 2, 0)) * -1.0 + rdm2_f_ovvo += einsum(x441, (0, 1, 2, 3), (1, 3, 2, 0)) * -1.0 + del x441 + x442 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x442 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) + x442 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 2, 1)) * -1.0 + x443 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x443 += einsum(t3, (0, 1, 2, 3, 4, 5), x442, (2, 1, 6, 5, 7, 3), (6, 0, 7, 4)) * 0.25 + del x442 + rdm2_f_voov += einsum(x443, (0, 1, 2, 3), (2, 1, 0, 3)) + rdm2_f_voov += einsum(x443, (0, 1, 2, 3), (2, 1, 0, 3)) + del x443 + x444 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x444 += einsum(l3, (0, 1, 2, 3, 4, 5), x317, (5, 6, 3, 2, 7, 1), (4, 6, 0, 7)) * 0.25 + del x317 + rdm2_f_voov += einsum(x444, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 + rdm2_f_voov += einsum(x444, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 + del x444 + x445 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x445 += einsum(x42, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -0.5 + x445 += einsum(x42, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) + x446 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x446 += einsum(t2, (0, 1, 2, 3), x445, (4, 0, 1, 5, 6, 2), (4, 5, 6, 3)) * 2.0 + del x445 + rdm2_f_voov += einsum(x446, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 + rdm2_f_voov += einsum(x446, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 + rdm2_f_vovo += einsum(x446, (0, 1, 2, 3), (2, 1, 3, 0)) + rdm2_f_vovo += einsum(x446, (0, 1, 2, 3), (2, 1, 3, 0)) + del x446 + x447 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x447 += einsum(l2, (0, 1, 2, 3), x6, (2, 4, 5, 1), (3, 4, 0, 5)) + rdm2_f_voov += einsum(x447, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 + rdm2_f_voov += einsum(x447, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 + del x447 + x448 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x448 += einsum(l3, (0, 1, 2, 3, 4, 5), x349, (4, 6, 5, 1, 7, 2), (6, 3, 7, 0)) * 0.25 + rdm2_f_voov += einsum(x448, (0, 1, 2, 3), (3, 0, 1, 2)) + rdm2_f_voov += einsum(x448, (0, 1, 2, 3), (3, 0, 1, 2)) + del x448 + x449 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x449 += einsum(t1, (0, 1), x151, (2, 0, 3, 4), (2, 3, 1, 4)) + del x151 + rdm2_f_voov += einsum(x449, (0, 1, 2, 3), (3, 1, 0, 2)) * -1.0 + rdm2_f_voov += einsum(x449, (0, 1, 2, 3), (3, 1, 0, 2)) * -1.0 + del x449 + x450 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x450 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * 5.0 + x450 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 2, 1)) * -1.0 + x451 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x451 += einsum(t3, (0, 1, 2, 3, 4, 5), x450, (2, 6, 1, 5, 7, 4), (6, 0, 7, 3)) * 0.25 + del x450 + rdm2_f_vovo += einsum(x451, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 + rdm2_f_vovo += einsum(x451, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 + del x451 + x452 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x452 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + x452 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) + x452 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) + x453 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x453 += einsum(l3, (0, 1, 2, 3, 4, 5), x452, (4, 6, 5, 1, 7, 2), (6, 3, 7, 0)) * 0.25 + del x452 + rdm2_f_vovo += einsum(x453, (0, 1, 2, 3), (3, 0, 2, 1)) + rdm2_f_vovo += einsum(x453, (0, 1, 2, 3), (3, 0, 2, 1)) + del x453 + x454 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x454 += einsum(l3, (0, 1, 2, 3, 4, 5), x315, (5, 6, 4, 2, 1, 7), (3, 6, 0, 7)) * 0.25 + del x315 + rdm2_f_vovo += einsum(x454, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 + rdm2_f_vovo += einsum(x454, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 + del x454 + x455 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x455 += einsum(t1, (0, 1), x130, (0, 2, 3, 4), (2, 3, 1, 4)) * 0.5 + rdm2_f_vovo += einsum(x455, (0, 1, 2, 3), (3, 1, 2, 0)) * -1.0 + rdm2_f_vovo += einsum(x455, (0, 1, 2, 3), (3, 1, 2, 0)) * -1.0 + del x455 + x456 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x456 += einsum(t3, (0, 1, 2, 3, 4, 5), x42, (2, 0, 1, 6, 7, 4), (6, 7, 5, 3)) + rdm2_f_ovvv = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + rdm2_f_ovvv += einsum(x456, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.50000000000001 + rdm2_f_ovvv += einsum(x456, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.50000000000001 + rdm2_f_vovv = np.zeros((nvir, nocc, nvir, nvir), dtype=types[float]) + rdm2_f_vovv += einsum(x456, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.50000000000001 + rdm2_f_vovv += einsum(x456, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.50000000000001 + del x456 + x457 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x457 += einsum(t3, (0, 1, 2, 3, 4, 5), x35, (0, 1, 2, 6, 4, 7), (6, 7, 3, 5)) + rdm2_f_ovvv += einsum(x457, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.16666666666667 + rdm2_f_ovvv += einsum(x457, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.16666666666667 + rdm2_f_vovv += einsum(x457, (0, 1, 2, 3), (1, 0, 3, 2)) * -0.16666666666667 + rdm2_f_vovv += einsum(x457, (0, 1, 2, 3), (1, 0, 3, 2)) * -0.16666666666667 + del x457 + x458 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x458 += einsum(l1, (0, 1), t2, (2, 1, 3, 4), (2, 0, 3, 4)) + rdm2_f_ovvv += einsum(x458, (0, 1, 2, 3), (0, 1, 2, 3)) + rdm2_f_ovvv += einsum(x458, (0, 1, 2, 3), (0, 1, 2, 3)) + rdm2_f_vovv += einsum(x458, (0, 1, 2, 3), (1, 0, 3, 2)) + rdm2_f_vovv += einsum(x458, (0, 1, 2, 3), (1, 0, 3, 2)) + x459 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x459 += einsum(t2, (0, 1, 2, 3), x263, (1, 3, 4, 5), (0, 4, 2, 5)) + x460 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x460 += einsum(t3, (0, 1, 2, 3, 4, 5), x35, (0, 1, 2, 6, 3, 7), (6, 7, 5, 4)) + x461 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x461 += einsum(x238, (0, 1, 2, 3, 4, 5), x35, (0, 1, 2, 6, 7, 4), (6, 3, 5, 7)) * 0.16666666666667 + x462 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x462 += einsum(l2, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 + x462 += einsum(l2, (0, 1, 2, 3), (2, 3, 0, 1)) + x463 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x463 += einsum(x462, (0, 1, 2, 3), t3, (4, 1, 0, 5, 6, 3), (4, 2, 5, 6)) * 0.5 + del x462 + x464 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x464 += einsum(l3, (0, 1, 2, 3, 4, 5), x198, (5, 6, 4, 2, 7, 1), (3, 6, 0, 7)) * 0.25 + del x198 + x465 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x465 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) + x465 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + x465 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 + x466 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x466 += einsum(l3, (0, 1, 2, 3, 4, 5), x465, (5, 6, 3, 2, 7, 1), (6, 4, 7, 0)) * 0.25 + del x465 + x467 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) + x467 += einsum(x42, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + x467 += einsum(x35, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 + x467 += einsum(x35, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * 0.5 + x467 += einsum(x35, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -0.5 + x468 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x468 += einsum(t2, (0, 1, 2, 3), x467, (4, 1, 0, 5, 6, 2), (4, 5, 6, 3)) + del x467 + x469 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x469 += einsum(l2, (0, 1, 2, 3), x357, (3, 4, 1, 5), (4, 2, 5, 0)) + x470 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x470 += einsum(l2, (0, 1, 2, 3), x32, (2, 4, 1, 5), (3, 4, 0, 5)) + x471 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x471 += einsum(t1, (0, 1), x418, (2, 0, 3, 4), (2, 3, 4, 1)) * 0.5 + del x418 + x472 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x472 += einsum(x197, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.25 + del x197 + x472 += einsum(x176, (0, 1, 2, 3), (0, 1, 2, 3)) + x472 += einsum(x464, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x464 + x472 += einsum(x466, (0, 1, 2, 3), (1, 0, 3, 2)) + del x466 + x472 += einsum(x468, (0, 1, 2, 3), (0, 1, 2, 3)) + del x468 + x472 += einsum(x469, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x469 + x472 += einsum(x470, (0, 1, 2, 3), (0, 1, 2, 3)) + del x470 + x472 += einsum(x471, (0, 1, 2, 3), (0, 1, 2, 3)) + del x471 + x473 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x473 += einsum(t1, (0, 1), x472, (0, 2, 3, 4), (2, 3, 4, 1)) + del x472 + x474 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x474 += einsum(t2, (0, 1, 2, 3), x222, (1, 4, 5, 6, 2, 3), (4, 5, 0, 6)) * 0.5 + del x222 + x475 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x475 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) + x475 += einsum(x474, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x474 + x476 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x476 += einsum(t2, (0, 1, 2, 3), x475, (1, 0, 4, 5), (4, 5, 2, 3)) + del x475 + x477 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x477 += einsum(t2, (0, 1, 2, 3), x378, (1, 0, 4, 5), (4, 5, 2, 3)) * 0.25 + del x378 + x478 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x478 += einsum(x458, (0, 1, 2, 3), (0, 1, 2, 3)) + del x458 + x478 += einsum(x459, (0, 1, 2, 3), (0, 1, 2, 3)) + del x459 + x478 += einsum(x460, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.16666666666667 + del x460 + x478 += einsum(x461, (0, 1, 2, 3), (0, 3, 1, 2)) * -1.0 + del x461 + x478 += einsum(x463, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x463 + x478 += einsum(x473, (0, 1, 2, 3), (0, 1, 3, 2)) + del x473 + x478 += einsum(x476, (0, 1, 2, 3), (0, 1, 3, 2)) + del x476 + x478 += einsum(x477, (0, 1, 2, 3), (0, 1, 2, 3)) + del x477 + x478 += einsum(t1, (0, 1), x422, (2, 3), (0, 2, 1, 3)) + del x422 + rdm2_f_ovvv += einsum(x478, (0, 1, 2, 3), (0, 1, 2, 3)) + rdm2_f_ovvv += einsum(x478, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + rdm2_f_ovvv += einsum(x478, (0, 1, 2, 3), (0, 1, 2, 3)) + rdm2_f_ovvv += einsum(x478, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + rdm2_f_vovv += einsum(x478, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + rdm2_f_vovv += einsum(x478, (0, 1, 2, 3), (1, 0, 3, 2)) + rdm2_f_vovv += einsum(x478, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + rdm2_f_vovv += einsum(x478, (0, 1, 2, 3), (1, 0, 3, 2)) + del x478 + x479 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x479 += einsum(t2, (0, 1, 2, 3), x128, (1, 4, 5, 3), (0, 2, 5, 4)) * -1.0 + rdm2_f_ovvv += einsum(x479, (0, 1, 2, 3), (0, 2, 1, 3)) + rdm2_f_ovvv += einsum(x479, (0, 1, 2, 3), (0, 2, 3, 1)) * -0.5 + rdm2_f_ovvv += einsum(x479, (0, 1, 2, 3), (0, 2, 1, 3)) + rdm2_f_ovvv += einsum(x479, (0, 1, 2, 3), (0, 2, 3, 1)) * -0.5 + rdm2_f_vovv += einsum(x479, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 + rdm2_f_vovv += einsum(x479, (0, 1, 2, 3), (2, 0, 3, 1)) * 0.5 + rdm2_f_vovv += einsum(x479, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 + rdm2_f_vovv += einsum(x479, (0, 1, 2, 3), (2, 0, 3, 1)) * 0.5 + del x479 + x480 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x480 += einsum(x258, (0, 1, 2, 3), x6, (0, 4, 2, 5), (4, 1, 3, 5)) + rdm2_f_ovvv += einsum(x480, (0, 1, 2, 3), (0, 1, 3, 2)) + rdm2_f_ovvv += einsum(x480, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 + rdm2_f_ovvv += einsum(x480, (0, 1, 2, 3), (0, 1, 3, 2)) + rdm2_f_ovvv += einsum(x480, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 + rdm2_f_vovv += einsum(x480, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + rdm2_f_vovv += einsum(x480, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 + rdm2_f_vovv += einsum(x480, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + rdm2_f_vovv += einsum(x480, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 + del x480 + x481 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x481 += einsum(x238, (0, 1, 2, 3, 4, 5), x35, (0, 2, 1, 6, 7, 5), (6, 3, 4, 7)) * 0.16666666666667 + rdm2_f_ovvv += einsum(x481, (0, 1, 2, 3), (0, 3, 1, 2)) * -1.0 + rdm2_f_ovvv += einsum(x481, (0, 1, 2, 3), (0, 3, 1, 2)) * -1.0 + del x481 + x482 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x482 += einsum(l2, (0, 1, 2, 3), (3, 2, 0, 1)) * -0.3333333333333333 + x482 += einsum(l2, (0, 1, 2, 3), (2, 3, 0, 1)) + x483 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x483 += einsum(x482, (0, 1, 2, 3), t3, (4, 1, 0, 5, 3, 6), (4, 2, 6, 5)) * 1.5 + del x482 + rdm2_f_ovvv += einsum(x483, (0, 1, 2, 3), (0, 1, 3, 2)) + rdm2_f_ovvv += einsum(x483, (0, 1, 2, 3), (0, 1, 3, 2)) + del x483 + x484 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x484 += einsum(t2, (0, 1, 2, 3), l3, (4, 3, 5, 6, 0, 1), (6, 4, 5, 2)) + x485 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x485 += einsum(t2, (0, 1, 2, 3), l3, (4, 3, 5, 0, 6, 1), (6, 4, 5, 2)) + x486 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x486 += einsum(x484, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x486 += einsum(x485, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x486 += einsum(x485, (0, 1, 2, 3), (0, 2, 1, 3)) + x487 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x487 += einsum(x32, (0, 1, 2, 3), x486, (0, 4, 3, 5), (1, 4, 5, 2)) * 0.5 + del x486 + rdm2_f_ovvv += einsum(x487, (0, 1, 2, 3), (0, 1, 2, 3)) + rdm2_f_ovvv += einsum(x487, (0, 1, 2, 3), (0, 1, 2, 3)) + del x487 + x488 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x488 += einsum(t2, (0, 1, 2, 3), x270, (1, 4, 2, 5), (0, 4, 5, 3)) * 0.5 + del x270 + rdm2_f_ovvv += einsum(x488, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + rdm2_f_ovvv += einsum(x488, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x488 + x489 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x489 += einsum(x6, (0, 1, 2, 3), l3, (4, 5, 2, 6, 0, 1), (6, 4, 5, 3)) + x490 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x490 += einsum(t2, (0, 1, 2, 3), x489, (1, 4, 3, 5), (0, 4, 5, 2)) * -1.0 + rdm2_f_ovvv += einsum(x490, (0, 1, 2, 3), (0, 1, 3, 2)) + rdm2_f_ovvv += einsum(x490, (0, 1, 2, 3), (0, 1, 3, 2)) + del x490 + x491 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x491 += einsum(t1, (0, 1), x10, (2, 0, 3, 4), (2, 3, 1, 4)) * 3.0 + x492 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x492 += einsum(t1, (0, 1), x491, (0, 2, 3, 4), (2, 4, 3, 1)) * 0.5 + del x491 + rdm2_f_ovvv += einsum(x492, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + rdm2_f_ovvv += einsum(x492, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x492 + x493 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x493 += einsum(l2, (0, 1, 2, 3), t3, (4, 2, 3, 5, 6, 1), (4, 0, 5, 6)) + rdm2_f_ovvv += einsum(x493, (0, 1, 2, 3), (0, 1, 2, 3)) + rdm2_f_ovvv += einsum(x493, (0, 1, 2, 3), (0, 1, 2, 3)) + rdm2_f_vovv += einsum(x493, (0, 1, 2, 3), (1, 0, 3, 2)) + rdm2_f_vovv += einsum(x493, (0, 1, 2, 3), (1, 0, 3, 2)) + del x493 + x494 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x494 += einsum(t3, (0, 1, 2, 3, 4, 5), x42, (2, 0, 1, 6, 5, 7), (6, 7, 3, 4)) + del x42 + rdm2_f_ovvv += einsum(x494, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.50000000000001 + rdm2_f_ovvv += einsum(x494, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.50000000000001 + rdm2_f_vovv += einsum(x494, (0, 1, 2, 3), (1, 0, 3, 2)) * -0.50000000000001 + rdm2_f_vovv += einsum(x494, (0, 1, 2, 3), (1, 0, 3, 2)) * -0.50000000000001 + del x494 + x495 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x495 += einsum(t3, (0, 1, 2, 3, 4, 5), x35, (0, 2, 1, 6, 7, 5), (6, 7, 3, 4)) + rdm2_f_ovvv += einsum(x495, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.50000000000001 + rdm2_f_ovvv += einsum(x495, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.50000000000001 + rdm2_f_vovv += einsum(x495, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.50000000000001 + rdm2_f_vovv += einsum(x495, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.50000000000001 + del x495 + x496 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x496 += einsum(x274, (0, 1, 2, 3), t3, (0, 4, 1, 5, 6, 3), (4, 2, 5, 6)) * 0.5 + del x274 + rdm2_f_ovvv += einsum(x496, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + rdm2_f_ovvv += einsum(x496, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + rdm2_f_vovv += einsum(x496, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + rdm2_f_vovv += einsum(x496, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x496 + x497 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x497 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 3, 4, 0, 2, 1)) + x497 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * -1.0 + x497 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) + x497 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 1, 2)) * -1.0 + x498 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x498 += einsum(t2, (0, 1, 2, 3), x497, (0, 1, 4, 5, 2, 6), (4, 5, 6, 3)) + del x497 + x499 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x499 += einsum(x263, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x499 += einsum(x263, (0, 1, 2, 3), (0, 2, 1, 3)) + x499 += einsum(x498, (0, 1, 2, 3), (0, 1, 2, 3)) + del x498 + x500 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x500 += einsum(t2, (0, 1, 2, 3), x499, (1, 4, 3, 5), (0, 4, 5, 2)) + del x499 + rdm2_f_ovvv += einsum(x500, (0, 1, 2, 3), (0, 1, 3, 2)) + rdm2_f_ovvv += einsum(x500, (0, 1, 2, 3), (0, 1, 3, 2)) + del x500 + x501 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x501 += einsum(t2, (0, 1, 2, 3), x127, (0, 1, 4, 5, 2, 6), (4, 3, 5, 6)) * 0.5 + del x127 + rdm2_f_vvov += einsum(x501, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 + rdm2_f_vvov += einsum(x501, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 + rdm2_f_vvvo += einsum(x501, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 + rdm2_f_vvvo += einsum(x501, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 + x502 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x502 += einsum(x263, (0, 1, 2, 3), (0, 1, 2, 3)) + x502 += einsum(x501, (0, 1, 2, 3), (0, 3, 2, 1)) * -1.0 + del x501 + x503 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x503 += einsum(t2, (0, 1, 2, 3), x502, (1, 4, 2, 5), (0, 4, 5, 3)) + rdm2_f_ovvv += einsum(x503, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + rdm2_f_ovvv += einsum(x503, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x503 + x504 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x504 += einsum(x263, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x504 += einsum(x128, (0, 1, 2, 3), (0, 3, 2, 1)) * -1.0 + x505 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x505 += einsum(t2, (0, 1, 2, 3), x504, (1, 2, 4, 5), (0, 4, 5, 3)) * 0.5 + del x504 + rdm2_f_ovvv += einsum(x505, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + rdm2_f_ovvv += einsum(x505, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x505 + x506 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x506 += einsum(l3, (0, 1, 2, 3, 4, 5), x349, (4, 6, 5, 1, 7, 2), (6, 3, 7, 0)) * 0.125 + del x349 + x507 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x507 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 3, 4, 0, 2, 1)) + x507 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * -1.0 + x508 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x508 += einsum(t3, (0, 1, 2, 3, 4, 5), x507, (1, 2, 6, 4, 5, 7), (6, 0, 7, 3)) * 0.125 + x509 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x509 += einsum(t2, (0, 1, 2, 3), x250, (0, 1, 4, 5, 3, 6), (4, 5, 6, 2)) * 0.25 + del x250 + x510 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x510 += einsum(l2, (0, 1, 2, 3), x357, (3, 4, 1, 5), (4, 2, 5, 0)) * 0.5 + x511 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x511 += einsum(t1, (0, 1), x130, (2, 0, 3, 4), (2, 3, 1, 4)) * 0.25 + del x130 + x512 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x512 += einsum(x437, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 + del x437 + x512 += einsum(x435, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.125 + del x435 + x512 += einsum(x183, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.125 + del x183 + x512 += einsum(x176, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 + del x176 + x512 += einsum(x506, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x506 + x512 += einsum(x508, (0, 1, 2, 3), (0, 1, 2, 3)) + del x508 + x512 += einsum(x509, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x509 + x512 += einsum(x510, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x510 + x512 += einsum(x511, (0, 1, 2, 3), (0, 1, 3, 2)) + del x511 + x513 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x513 += einsum(t1, (0, 1), x512, (0, 2, 3, 4), (2, 3, 4, 1)) * 2.0 + del x512 + rdm2_f_ovvv += einsum(x513, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + rdm2_f_ovvv += einsum(x513, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + rdm2_f_vovv += einsum(x513, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + rdm2_f_vovv += einsum(x513, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x513 + x514 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) + x514 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) + del x23 + x514 += einsum(x331, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x331 + x515 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x515 += einsum(t2, (0, 1, 2, 3), x514, (0, 1, 4, 5), (4, 5, 3, 2)) + del x514 + rdm2_f_ovvv += einsum(x515, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + rdm2_f_ovvv += einsum(x515, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + rdm2_f_vovv += einsum(x515, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + rdm2_f_vovv += einsum(x515, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x515 + x516 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x516 += einsum(t2, (0, 1, 2, 3), x33, (0, 1, 4, 5), (4, 3, 2, 5)) * -0.5 + del x33 + rdm2_f_ovvv += einsum(x516, (0, 1, 2, 3), (0, 3, 2, 1)) * -1.0 + rdm2_f_ovvv += einsum(x516, (0, 1, 2, 3), (0, 3, 2, 1)) * -1.0 + rdm2_f_vovv += einsum(x516, (0, 1, 2, 3), (3, 0, 1, 2)) * -1.0 + rdm2_f_vovv += einsum(x516, (0, 1, 2, 3), (3, 0, 1, 2)) * -1.0 + del x516 + x517 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x517 += einsum(t2, (0, 1, 2, 3), x143, (0, 1, 4, 5, 6, 2), (4, 5, 3, 6)) * 0.5 + del x143 + x518 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x518 += einsum(x399, (0, 1, 2, 3), (0, 1, 2, 3)) + del x399 + x518 += einsum(x374, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 + del x374 + x518 += einsum(x375, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 + del x375 + x518 += einsum(x400, (0, 1, 2, 3), (0, 1, 2, 3)) + del x400 + x518 += einsum(x517, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x517 + x519 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x519 += einsum(t1, (0, 1), x518, (0, 2, 3, 4), (2, 3, 4, 1)) + del x518 + rdm2_f_ovvv += einsum(x519, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + rdm2_f_ovvv += einsum(x519, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + rdm2_f_vovv += einsum(x519, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + rdm2_f_vovv += einsum(x519, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x519 + x520 = np.zeros((nvir, nvir), dtype=types[float]) + x520 += einsum(l3, (0, 1, 2, 3, 4, 5), x204, (4, 3, 5, 1, 6, 2), (0, 6)) * 0.041666666666665 + del x204 + x521 = np.zeros((nvir, nvir), dtype=types[float]) + x521 += einsum(l3, (0, 1, 2, 3, 4, 5), x45, (4, 5, 3, 6, 1, 2), (0, 6)) * 0.041666666666665 + del x45 + x522 = np.zeros((nvir, nvir), dtype=types[float]) + x522 += einsum(t2, (0, 1, 2, 3), x96, (0, 1, 2, 4), (3, 4)) + del x96 + x523 = np.zeros((nvir, nvir), dtype=types[float]) + x523 += einsum(x421, (0, 1), (0, 1)) * 0.5 + del x421 + x523 += einsum(x203, (0, 1), (0, 1)) * 0.124999999999995 + del x203 + x523 += einsum(x520, (0, 1), (0, 1)) + del x520 + x523 += einsum(x521, (0, 1), (0, 1)) * -1.0 + del x521 + x523 += einsum(x522, (0, 1), (1, 0)) + del x522 + rdm2_f_ovvv += einsum(t1, (0, 1), x523, (2, 3), (0, 2, 1, 3)) * 2.0 + rdm2_f_ovvv += einsum(t1, (0, 1), x523, (2, 3), (0, 2, 1, 3)) * 2.0 + rdm2_f_vovv += einsum(t1, (0, 1), x523, (2, 3), (2, 0, 3, 1)) * 2.0 + rdm2_f_vovv += einsum(t1, (0, 1), x523, (2, 3), (2, 0, 3, 1)) * 2.0 + del x523 + x524 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x524 += einsum(x178, (0, 1, 2, 3, 4, 5), x35, (0, 2, 1, 6, 7, 5), (6, 7, 3, 4)) * 0.16666666666667 + del x35, x178 + rdm2_f_vovv += einsum(x524, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + rdm2_f_vovv += einsum(x524, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x524 + x525 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x525 += einsum(l2, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 + x525 += einsum(l2, (0, 1, 2, 3), (2, 3, 0, 1)) * 3.0 + x526 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x526 += einsum(x525, (0, 1, 2, 3), t3, (4, 1, 0, 5, 3, 6), (4, 2, 6, 5)) * 0.5 + del x525 + rdm2_f_vovv += einsum(x526, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + rdm2_f_vovv += einsum(x526, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x526 + x527 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x527 += einsum(x484, (0, 1, 2, 3), (0, 1, 2, 3)) + del x484 + x527 += einsum(x485, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 + x527 += einsum(x485, (0, 1, 2, 3), (0, 2, 1, 3)) * 0.5 + x528 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x528 += einsum(x32, (0, 1, 2, 3), x527, (0, 4, 3, 5), (1, 4, 5, 2)) + del x527 + rdm2_f_vovv += einsum(x528, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + rdm2_f_vovv += einsum(x528, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x528 + x529 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x529 += einsum(x489, (0, 1, 2, 3), x6, (0, 4, 2, 5), (4, 1, 3, 5)) * -1.0 + del x6, x489 + rdm2_f_vovv += einsum(x529, (0, 1, 2, 3), (1, 0, 3, 2)) + rdm2_f_vovv += einsum(x529, (0, 1, 2, 3), (1, 0, 3, 2)) + del x529 + x530 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x530 += einsum(t2, (0, 1, 2, 3), x128, (1, 4, 5, 2), (0, 3, 5, 4)) * -0.5 + rdm2_f_vovv += einsum(x530, (0, 1, 2, 3), (2, 0, 1, 3)) + rdm2_f_vovv += einsum(x530, (0, 1, 2, 3), (2, 0, 1, 3)) + del x530 + x531 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) + x531 += einsum(t1, (0, 1), x10, (2, 0, 3, 4), (2, 3, 1, 4)) + del x10 + x532 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x532 += einsum(t1, (0, 1), x531, (0, 2, 3, 4), (2, 4, 3, 1)) * 1.5 + del x531 + rdm2_f_vovv += einsum(x532, (0, 1, 2, 3), (1, 0, 3, 2)) + rdm2_f_vovv += einsum(x532, (0, 1, 2, 3), (1, 0, 3, 2)) + del x532 + x533 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x533 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 3, 4, 0, 2, 1)) + x533 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * -1.0 + x533 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 0, 2)) * 4.0 + x534 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x534 += einsum(t2, (0, 1, 2, 3), x533, (0, 1, 4, 2, 5, 6), (4, 5, 6, 3)) + del x533 + x535 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) + x535 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 3, 4, 0, 1, 2)) + x535 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) + x536 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x536 += einsum(t2, (0, 1, 2, 3), x535, (1, 4, 0, 5, 6, 3), (4, 5, 6, 2)) * 2.0 + del x535 + x537 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x537 += einsum(x485, (0, 1, 2, 3), (0, 1, 2, 3)) + x537 += einsum(x485, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x537 += einsum(x534, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + del x534 + x537 += einsum(x536, (0, 1, 2, 3), (0, 1, 2, 3)) + del x536 + x538 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x538 += einsum(t2, (0, 1, 2, 3), x537, (1, 3, 4, 5), (0, 4, 5, 2)) * 0.5 + del x537 + rdm2_f_vovv += einsum(x538, (0, 1, 2, 3), (1, 0, 2, 3)) + rdm2_f_vovv += einsum(x538, (0, 1, 2, 3), (1, 0, 2, 3)) + del x538 + x539 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x539 += einsum(t2, (0, 1, 2, 3), x507, (0, 1, 4, 5, 2, 6), (4, 5, 6, 3)) + x540 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x540 += einsum(x47, (0, 1, 2, 3), (0, 2, 1, 3)) * 2.0 + del x47 + x540 += einsum(x539, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x539 + x541 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x541 += einsum(t2, (0, 1, 2, 3), x540, (1, 2, 4, 5), (0, 4, 5, 3)) * 0.5 + del x540 + rdm2_f_vovv += einsum(x541, (0, 1, 2, 3), (1, 0, 3, 2)) + rdm2_f_vovv += einsum(x541, (0, 1, 2, 3), (1, 0, 3, 2)) + del x541 + x542 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x542 += einsum(t2, (0, 1, 2, 3), x502, (1, 2, 4, 5), (0, 4, 5, 3)) + del x502 + rdm2_f_vovv += einsum(x542, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + rdm2_f_vovv += einsum(x542, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x542 + x543 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x543 += einsum(t1, (0, 1), l2, (2, 3, 4, 0), (4, 2, 3, 1)) + rdm2_f_vvov += einsum(x543, (0, 1, 2, 3), (1, 2, 0, 3)) + rdm2_f_vvov += einsum(x543, (0, 1, 2, 3), (1, 2, 0, 3)) + rdm2_f_vvvo += einsum(x543, (0, 1, 2, 3), (2, 1, 3, 0)) + rdm2_f_vvvo += einsum(x543, (0, 1, 2, 3), (2, 1, 3, 0)) + x544 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x544 += einsum(x543, (0, 1, 2, 3), (0, 1, 2, 3)) + x544 += einsum(x485, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 + del x485 + rdm2_f_vvov += einsum(x544, (0, 1, 2, 3), (1, 2, 0, 3)) + rdm2_f_vvov += einsum(x544, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 + rdm2_f_vvov += einsum(x544, (0, 1, 2, 3), (1, 2, 0, 3)) + rdm2_f_vvov += einsum(x544, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 + rdm2_f_vvvo += einsum(x544, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 + rdm2_f_vvvo += einsum(x544, (0, 1, 2, 3), (2, 1, 3, 0)) + rdm2_f_vvvo += einsum(x544, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 + rdm2_f_vvvo += einsum(x544, (0, 1, 2, 3), (2, 1, 3, 0)) + del x544 + x545 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x545 += einsum(x357, (0, 1, 2, 3), l3, (4, 2, 5, 1, 0, 6), (6, 3, 4, 5)) + del x357 + rdm2_f_vvov += einsum(x545, (0, 1, 2, 3), (3, 2, 0, 1)) + rdm2_f_vvov += einsum(x545, (0, 1, 2, 3), (3, 2, 0, 1)) + rdm2_f_vvvo += einsum(x545, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 + rdm2_f_vvvo += einsum(x545, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 + del x545 + x546 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) + x546 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (3, 4, 5, 6, 1, 7), (0, 2, 6, 7)) + rdm2_f_vvvv = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) + rdm2_f_vvvv += einsum(x546, (0, 1, 2, 3), (1, 0, 3, 2)) * 0.50000000000001 + rdm2_f_vvvv += einsum(x546, (0, 1, 2, 3), (1, 0, 3, 2)) * 0.50000000000001 + del x546 + x547 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) + x547 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (5, 3, 4, 6, 2, 7), (0, 1, 6, 7)) + rdm2_f_vvvv += einsum(x547, (0, 1, 2, 3), (1, 0, 3, 2)) * -0.16666666666667 + rdm2_f_vvvv += einsum(x547, (0, 1, 2, 3), (1, 0, 3, 2)) * -0.16666666666667 + del x547 + x548 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) + x548 += einsum(l2, (0, 1, 2, 3), t2, (2, 3, 4, 5), (0, 1, 4, 5)) + rdm2_f_vvvv += einsum(x548, (0, 1, 2, 3), (1, 0, 3, 2)) + rdm2_f_vvvv += einsum(x548, (0, 1, 2, 3), (1, 0, 3, 2)) + x549 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) + x549 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (5, 3, 4, 2, 6, 7), (0, 1, 7, 6)) + x550 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) + x550 += einsum(l3, (0, 1, 2, 3, 4, 5), x238, (3, 5, 4, 6, 2, 7), (6, 7, 0, 1)) * 0.16666666666667 + x551 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x551 += einsum(x32, (0, 1, 2, 3), l3, (4, 5, 2, 6, 0, 1), (6, 4, 5, 3)) + del x32 + x552 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x552 += einsum(t2, (0, 1, 2, 3), x507, (0, 1, 4, 5, 2, 6), (4, 5, 6, 3)) * 0.5 + del x507 + x553 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) + x553 += einsum(x543, (0, 1, 2, 3), (0, 1, 2, 3)) + x553 += einsum(x551, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x551 + x553 += einsum(x552, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x552 + x554 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) + x554 += einsum(t1, (0, 1), x553, (0, 2, 3, 4), (2, 3, 4, 1)) + del x553 + x555 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) + x555 += einsum(x548, (0, 1, 2, 3), (1, 0, 3, 2)) + del x548 + x555 += einsum(x549, (0, 1, 2, 3), (1, 0, 3, 2)) * -0.16666666666667 + del x549 + x555 += einsum(x550, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 + del x550 + x555 += einsum(x554, (0, 1, 2, 3), (1, 0, 2, 3)) + del x554 + rdm2_f_vvvv += einsum(x555, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + rdm2_f_vvvv += einsum(x555, (0, 1, 2, 3), (0, 1, 2, 3)) + rdm2_f_vvvv += einsum(x555, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + rdm2_f_vvvv += einsum(x555, (0, 1, 2, 3), (0, 1, 2, 3)) + del x555 + x556 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) + x556 += einsum(t1, (0, 1), x258, (0, 2, 3, 4), (2, 3, 1, 4)) + del x258 + rdm2_f_vvvv += einsum(x556, (0, 1, 2, 3), (0, 1, 2, 3)) + rdm2_f_vvvv += einsum(x556, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + rdm2_f_vvvv += einsum(x556, (0, 1, 2, 3), (0, 1, 2, 3)) + rdm2_f_vvvv += einsum(x556, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x556 + x557 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) + x557 += einsum(l3, (0, 1, 2, 3, 4, 5), x238, (3, 5, 4, 6, 7, 2), (6, 7, 0, 1)) * 0.16666666666667 + del x238 + rdm2_f_vvvv += einsum(x557, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 + rdm2_f_vvvv += einsum(x557, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 + del x557 + x558 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) + x558 += einsum(t1, (0, 1), x543, (0, 2, 3, 4), (3, 2, 4, 1)) + del x543 + rdm2_f_vvvv += einsum(x558, (0, 1, 2, 3), (1, 0, 3, 2)) + rdm2_f_vvvv += einsum(x558, (0, 1, 2, 3), (1, 0, 3, 2)) + del x558 + x559 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) + x559 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (3, 4, 5, 6, 7, 2), (0, 1, 6, 7)) + x560 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) + x560 += einsum(t1, (0, 1), x263, (0, 2, 3, 4), (2, 3, 1, 4)) + del x263 + x561 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) + x561 += einsum(x559, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.50000000000001 + del x559 + x561 += einsum(x560, (0, 1, 2, 3), (0, 1, 2, 3)) + del x560 + rdm2_f_vvvv += einsum(x561, (0, 1, 2, 3), (0, 1, 2, 3)) + rdm2_f_vvvv += einsum(x561, (0, 1, 2, 3), (1, 0, 3, 2)) + rdm2_f_vvvv += einsum(x561, (0, 1, 2, 3), (0, 1, 2, 3)) + rdm2_f_vvvv += einsum(x561, (0, 1, 2, 3), (1, 0, 3, 2)) + del x561 + x562 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) + x562 += einsum(t1, (0, 1), x128, (0, 2, 3, 4), (1, 3, 4, 2)) * -0.5 + del x128 + rdm2_f_vvvv += einsum(x562, (0, 1, 2, 3), (1, 2, 3, 0)) + rdm2_f_vvvv += einsum(x562, (0, 1, 2, 3), (2, 1, 0, 3)) + rdm2_f_vvvv += einsum(x562, (0, 1, 2, 3), (1, 2, 3, 0)) + rdm2_f_vvvv += einsum(x562, (0, 1, 2, 3), (2, 1, 0, 3)) + del x562 + + rdm2_f = pack_2e(rdm2_f_oooo, rdm2_f_ooov, rdm2_f_oovo, rdm2_f_ovoo, rdm2_f_vooo, rdm2_f_oovv, rdm2_f_ovov, rdm2_f_ovvo, rdm2_f_voov, rdm2_f_vovo, rdm2_f_vvoo, rdm2_f_ovvv, rdm2_f_vovv, rdm2_f_vvov, rdm2_f_vvvo, rdm2_f_vvvv) + + rdm2_f = np.transpose(rdm2_f, (0, 2, 1, 3)) + + return rdm2_f + diff --git a/ebcc/codegen/UCCSDT.py b/ebcc/codegen/UCCSDT.py new file mode 100644 index 00000000..e2d90271 --- /dev/null +++ b/ebcc/codegen/UCCSDT.py @@ -0,0 +1,9150 @@ +# Code generated for ebcc. + +from ebcc import numpy as np +from ebcc.util import pack_2e, einsum, Namespace +from ebcc.precision import types + +def energy(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, t3=None, **kwargs): + # energy + e_cc = 0 + e_cc += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 1, 3), ()) + e_cc += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (0, 3, 1, 2), ()) * -1.0 + e_cc += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (0, 2, 1, 3), ()) + x0 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x0 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) + x0 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x1 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x1 += einsum(f.bb.ov, (0, 1), (0, 1)) + x1 += einsum(t1.aa, (0, 1), v.aabb.ovov, (0, 1, 2, 3), (2, 3)) + x1 += einsum(t1.bb, (0, 1), x0, (0, 2, 1, 3), (2, 3)) * -0.5 + del x0 + e_cc += einsum(t1.bb, (0, 1), x1, (0, 1), ()) + del x1 + x2 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x2 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) + x2 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x3 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x3 += einsum(f.aa.ov, (0, 1), (0, 1)) + x3 += einsum(t1.aa, (0, 1), x2, (0, 2, 1, 3), (2, 3)) * -0.5 + del x2 + e_cc += einsum(t1.aa, (0, 1), x3, (0, 1), ()) + del x3 + + return e_cc + +def update_amps(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, t3=None, **kwargs): + t1new = Namespace() + t2new = Namespace() + t3new = Namespace() + + # T amplitudes + t1new_bb = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + t1new_bb += einsum(f.bb.ov, (0, 1), (0, 1)) + t1new_bb += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.babbab, (4, 0, 2, 5, 1, 3), (4, 5)) * 2.0 + t1new_bb += einsum(v.bbbb.ovov, (0, 1, 2, 3), t3.bbbbbb, (4, 0, 2, 5, 1, 3), (4, 5)) * 3.0 + t1new_bb += einsum(v.aaaa.ovov, (0, 1, 2, 3), t3.abaaba, (0, 4, 2, 1, 5, 3), (4, 5)) + t1new_aa = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + t1new_aa += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.abaaba, (4, 2, 0, 5, 3, 1), (4, 5)) * 2.0 + t1new_aa += einsum(v.aaaa.ovov, (0, 1, 2, 3), t3.aaaaaa, (4, 0, 2, 5, 1, 3), (4, 5)) * 3.0 + t1new_aa += einsum(f.aa.ov, (0, 1), (0, 1)) + t1new_aa += einsum(v.bbbb.ovov, (0, 1, 2, 3), t3.babbab, (0, 4, 2, 3, 5, 1), (4, 5)) * -1.0 + t2new_aaaa = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + t2new_aaaa += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.vvvv, (4, 2, 5, 3), (0, 1, 4, 5)) * 2.0 + t2new_abab = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + t2new_abab += einsum(v.aabb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + t2new_bbbb = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + t2new_bbbb += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.vvvv, (4, 3, 5, 2), (0, 1, 4, 5)) * -2.0 + x0 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x0 += einsum(t1.aa, (0, 1), v.aabb.ovov, (0, 1, 2, 3), (2, 3)) + t1new_bb += einsum(x0, (0, 1), (0, 1)) + x1 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x1 += einsum(t1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) + x2 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x2 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) + x2 += einsum(x1, (0, 1, 2, 3), (0, 1, 2, 3)) + t1new_bb += einsum(t2.bbbb, (0, 1, 2, 3), x2, (4, 0, 1, 3), (4, 2)) * 2.0 + t2new_abab += einsum(x2, (0, 1, 2, 3), t3.babbab, (1, 4, 2, 5, 6, 3), (4, 0, 6, 5)) * 2.0 + del x2 + x3 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x3 += einsum(t1.bb, (0, 1), v.aabb.ovov, (2, 3, 4, 1), (0, 4, 2, 3)) + x4 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x4 += einsum(v.aabb.ovoo, (0, 1, 2, 3), (2, 3, 0, 1)) + x4 += einsum(x3, (0, 1, 2, 3), (1, 0, 2, 3)) + t1new_bb += einsum(t2.abab, (0, 1, 2, 3), x4, (1, 4, 0, 2), (4, 3)) * -1.0 + t2new_abab += einsum(x4, (0, 1, 2, 3), t3.abaaba, (4, 0, 2, 5, 6, 3), (4, 1, 5, 6)) * -2.0 + x5 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x5 += einsum(t2.abab, (0, 1, 2, 3), (1, 3, 0, 2)) + x5 += einsum(t1.aa, (0, 1), t1.bb, (2, 3), (2, 3, 0, 1)) + t1new_bb += einsum(v.aabb.ovvv, (0, 1, 2, 3), x5, (4, 3, 0, 1), (4, 2)) + t1new_aa += einsum(v.aabb.vvov, (0, 1, 2, 3), x5, (2, 3, 4, 1), (4, 0)) + x6 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x6 += einsum(t2.bbbb, (0, 1, 2, 3), (0, 1, 2, 3)) + x6 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3)) * 0.5 + t1new_bb += einsum(v.bbbb.ovvv, (0, 1, 2, 3), x6, (0, 4, 1, 3), (4, 2)) * 2.0 + x7 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x7 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) + x7 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x8 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x8 += einsum(t1.bb, (0, 1), x7, (0, 2, 1, 3), (2, 3)) + x9 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x9 += einsum(f.bb.ov, (0, 1), (0, 1)) + x9 += einsum(x0, (0, 1), (0, 1)) + x9 += einsum(x8, (0, 1), (0, 1)) * -1.0 + del x8 + t1new_bb += einsum(x9, (0, 1), t2.bbbb, (2, 0, 3, 1), (2, 3)) * 2.0 + t1new_aa += einsum(x9, (0, 1), t2.abab, (2, 0, 3, 1), (2, 3)) + t2new_aaaa += einsum(x9, (0, 1), t3.abaaba, (2, 0, 3, 4, 1, 5), (2, 3, 4, 5)) * 2.0 + t2new_abab += einsum(x9, (0, 1), t3.babbab, (2, 3, 0, 4, 5, 1), (3, 2, 5, 4)) * 2.0 + t2new_bbbb += einsum(x9, (0, 1), t3.bbbbbb, (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) * 6.0 + x10 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x10 += einsum(t1.bb, (0, 1), v.aabb.ovov, (2, 3, 0, 1), (2, 3)) + t1new_aa += einsum(x10, (0, 1), (0, 1)) + x11 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x11 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) + x11 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x12 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x12 += einsum(t1.aa, (0, 1), x11, (0, 2, 1, 3), (2, 3)) + x13 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x13 += einsum(f.aa.ov, (0, 1), (0, 1)) + x13 += einsum(x10, (0, 1), (0, 1)) + del x10 + x13 += einsum(x12, (0, 1), (0, 1)) * -1.0 + del x12 + t1new_bb += einsum(x13, (0, 1), t2.abab, (0, 2, 1, 3), (2, 3)) + t1new_aa += einsum(x13, (0, 1), t2.aaaa, (2, 0, 3, 1), (2, 3)) * 2.0 + t2new_aaaa += einsum(x13, (0, 1), t3.aaaaaa, (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) * 6.0 + t2new_abab += einsum(x13, (0, 1), t3.abaaba, (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) * 2.0 + t2new_bbbb += einsum(x13, (0, 1), t3.babbab, (2, 0, 3, 4, 1, 5), (2, 3, 4, 5)) * 2.0 + x14 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x14 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) + x14 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + t1new_bb += einsum(t1.bb, (0, 1), x14, (0, 2, 1, 3), (2, 3)) * -1.0 + x15 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x15 += einsum(t1.aa, (0, 1), v.aabb.ovoo, (0, 1, 2, 3), (2, 3)) + x16 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x16 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 2, 1, 3), (0, 4)) + x17 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x17 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 3), (1, 4)) + x18 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x18 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x18 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) + x19 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x19 += einsum(t1.bb, (0, 1), x18, (2, 3, 0, 1), (2, 3)) + x20 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x20 += einsum(t1.bb, (0, 1), x9, (2, 1), (2, 0)) + x21 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x21 += einsum(f.bb.oo, (0, 1), (0, 1)) + x21 += einsum(x15, (0, 1), (1, 0)) + x21 += einsum(x16, (0, 1), (1, 0)) * 2.0 + x21 += einsum(x17, (0, 1), (1, 0)) + x21 += einsum(x19, (0, 1), (1, 0)) * -1.0 + x21 += einsum(x20, (0, 1), (0, 1)) + t1new_bb += einsum(t1.bb, (0, 1), x21, (0, 2), (2, 1)) * -1.0 + t2new_abab += einsum(x21, (0, 1), t2.abab, (2, 0, 3, 4), (2, 1, 3, 4)) * -1.0 + t3new_abaaba = np.zeros((nocc[0], nocc[1], nocc[0], nvir[0], nvir[1], nvir[0]), dtype=types[float]) + t3new_abaaba += einsum(x21, (0, 1), t3.abaaba, (2, 0, 3, 4, 5, 6), (2, 1, 3, 4, 5, 6)) * -2.0 + del x21 + x22 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x22 += einsum(f.bb.vv, (0, 1), (0, 1)) + x22 += einsum(t1.bb, (0, 1), v.bbbb.ovvv, (0, 2, 3, 1), (2, 3)) * -1.0 + t1new_bb += einsum(t1.bb, (0, 1), x22, (1, 2), (0, 2)) + del x22 + x23 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x23 += einsum(t1.aa, (0, 1), v.aabb.ovov, (2, 1, 3, 4), (3, 4, 0, 2)) + x24 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x24 += einsum(v.aabb.ooov, (0, 1, 2, 3), (2, 3, 0, 1)) + x24 += einsum(x23, (0, 1, 2, 3), (0, 1, 3, 2)) + t1new_aa += einsum(t2.abab, (0, 1, 2, 3), x24, (1, 3, 0, 4), (4, 2)) * -1.0 + t2new_abab += einsum(x24, (0, 1, 2, 3), t3.babbab, (4, 2, 0, 5, 6, 1), (3, 4, 6, 5)) * -2.0 + x25 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x25 += einsum(t1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) + x26 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x26 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) + x26 += einsum(x25, (0, 1, 2, 3), (0, 1, 2, 3)) + t1new_aa += einsum(t2.aaaa, (0, 1, 2, 3), x26, (4, 0, 1, 3), (4, 2)) * 2.0 + t2new_abab += einsum(x26, (0, 1, 2, 3), t3.abaaba, (1, 4, 2, 5, 6, 3), (0, 4, 5, 6)) * 2.0 + del x26 + x27 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x27 += einsum(t2.aaaa, (0, 1, 2, 3), (0, 1, 2, 3)) + x27 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 1, 3)) * 0.5 + t1new_aa += einsum(v.aaaa.ovvv, (0, 1, 2, 3), x27, (0, 4, 3, 1), (4, 2)) * -2.0 + del x27 + x28 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x28 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) + x28 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + t1new_aa += einsum(t1.aa, (0, 1), x28, (0, 2, 1, 3), (2, 3)) * -1.0 + x29 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x29 += einsum(t1.bb, (0, 1), v.aabb.ooov, (2, 3, 0, 1), (2, 3)) + x30 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x30 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 1, 3), (0, 4)) + x31 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x31 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 3, 1, 2), (0, 4)) * -1.0 + x32 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x32 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x32 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) + x33 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x33 += einsum(t1.aa, (0, 1), x32, (2, 3, 0, 1), (2, 3)) + x34 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x34 += einsum(t1.aa, (0, 1), x13, (2, 1), (2, 0)) + x35 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x35 += einsum(f.aa.oo, (0, 1), (0, 1)) + x35 += einsum(x29, (0, 1), (1, 0)) + x35 += einsum(x30, (0, 1), (1, 0)) + x35 += einsum(x31, (0, 1), (1, 0)) * 2.0 + x35 += einsum(x33, (0, 1), (1, 0)) * -1.0 + x35 += einsum(x34, (0, 1), (0, 1)) + t1new_aa += einsum(t1.aa, (0, 1), x35, (0, 2), (2, 1)) * -1.0 + t2new_abab += einsum(x35, (0, 1), t2.abab, (0, 2, 3, 4), (1, 2, 3, 4)) * -1.0 + t3new_babbab = np.zeros((nocc[1], nocc[0], nocc[1], nvir[1], nvir[0], nvir[1]), dtype=types[float]) + t3new_babbab += einsum(x35, (0, 1), t3.babbab, (2, 0, 3, 4, 5, 6), (2, 1, 3, 4, 5, 6)) * -2.0 + del x35 + x36 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x36 += einsum(f.aa.vv, (0, 1), (0, 1)) + x36 += einsum(t1.aa, (0, 1), v.aaaa.ovvv, (0, 1, 2, 3), (2, 3)) + t1new_aa += einsum(t1.aa, (0, 1), x36, (1, 2), (0, 2)) + del x36 + x37 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x37 += einsum(t1.aa, (0, 1), v.aaaa.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) + x38 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x38 += einsum(t1.aa, (0, 1), v.aabb.vvov, (2, 1, 3, 4), (3, 4, 0, 2)) + t2new_abab += einsum(x38, (0, 1, 2, 3), (2, 0, 3, 1)) + x39 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x39 += einsum(t2.abab, (0, 1, 2, 3), x38, (1, 3, 4, 5), (4, 0, 2, 5)) + x40 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x40 += einsum(t2.aaaa, (0, 1, 2, 3), (0, 1, 2, 3)) + x40 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 3, 1)) * -0.5 + x41 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x41 += einsum(x28, (0, 1, 2, 3), x40, (0, 4, 2, 5), (1, 4, 3, 5)) * 2.0 + x42 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x42 += einsum(t2.aaaa, (0, 1, 2, 3), v.aabb.ovov, (1, 3, 4, 5), (4, 5, 0, 2)) + x43 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x43 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) + x43 += einsum(x42, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x44 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x44 += einsum(t2.abab, (0, 1, 2, 3), x43, (1, 3, 4, 5), (4, 0, 5, 2)) + del x43 + x45 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x45 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) + x45 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 + x46 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x46 += einsum(t1.aa, (0, 1), x45, (2, 1, 3, 4), (2, 0, 3, 4)) + x47 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x47 += einsum(t2.aaaa, (0, 1, 2, 3), x46, (1, 4, 5, 3), (0, 4, 2, 5)) * -2.0 + x48 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x48 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ooov, (4, 5, 1, 3), (0, 4, 5, 2)) + x49 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x49 += einsum(t1.aa, (0, 1), v.aaaa.ooov, (2, 3, 4, 1), (0, 2, 3, 4)) + x50 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x50 += einsum(t1.aa, (0, 1), x49, (2, 3, 4, 0), (2, 4, 3, 1)) + x51 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x51 += einsum(t1.aa, (0, 1), x37, (2, 3, 1, 4), (0, 2, 3, 4)) + x52 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x52 += einsum(t2.abab, (0, 1, 2, 3), x23, (1, 3, 4, 5), (4, 0, 5, 2)) + x53 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x53 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) + x53 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x54 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x54 += einsum(t2.aaaa, (0, 1, 2, 3), x53, (4, 5, 1, 3), (0, 4, 5, 2)) * 2.0 + del x53 + x55 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x55 += einsum(x25, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x55 += einsum(x25, (0, 1, 2, 3), (0, 2, 1, 3)) + x56 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x56 += einsum(t2.aaaa, (0, 1, 2, 3), x55, (4, 1, 5, 3), (0, 4, 5, 2)) * 2.0 + x57 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x57 += einsum(x48, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x57 += einsum(x50, (0, 1, 2, 3), (0, 2, 1, 3)) + x57 += einsum(x51, (0, 1, 2, 3), (0, 2, 1, 3)) + del x51 + x57 += einsum(x52, (0, 1, 2, 3), (0, 2, 1, 3)) + x57 += einsum(x54, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + del x54 + x57 += einsum(x56, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 + x58 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x58 += einsum(t1.aa, (0, 1), x57, (2, 0, 3, 4), (2, 3, 4, 1)) + del x57 + x59 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x59 += einsum(x37, (0, 1, 2, 3), (0, 1, 2, 3)) + x59 += einsum(x39, (0, 1, 2, 3), (0, 1, 2, 3)) + del x39 + x59 += einsum(x41, (0, 1, 2, 3), (1, 0, 3, 2)) + del x41 + x59 += einsum(x44, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x44 + x59 += einsum(x47, (0, 1, 2, 3), (1, 0, 2, 3)) + del x47 + x59 += einsum(x58, (0, 1, 2, 3), (0, 1, 3, 2)) + del x58 + t2new_aaaa += einsum(x59, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + t2new_aaaa += einsum(x59, (0, 1, 2, 3), (0, 1, 3, 2)) + t2new_aaaa += einsum(x59, (0, 1, 2, 3), (1, 0, 2, 3)) + t2new_aaaa += einsum(x59, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x59 + x60 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x60 += einsum(f.aa.vv, (0, 1), t2.aaaa, (2, 3, 4, 1), (2, 3, 0, 4)) + x61 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x61 += einsum(t2.abab, (0, 1, 2, 3), x7, (1, 4, 3, 5), (4, 5, 0, 2)) + x62 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x62 += einsum(t2.abab, (0, 1, 2, 3), x61, (1, 3, 4, 5), (4, 0, 5, 2)) * -1.0 + x63 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x63 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + x63 += einsum(x60, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 + del x60 + x63 += einsum(x62, (0, 1, 2, 3), (1, 0, 3, 2)) + del x62 + t2new_aaaa += einsum(x63, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + t2new_aaaa += einsum(x63, (0, 1, 2, 3), (0, 1, 2, 3)) + del x63 + x64 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x64 += einsum(t1.aa, (0, 1), v.aaaa.vvvv, (2, 3, 4, 1), (0, 2, 3, 4)) + x65 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x65 += einsum(t1.aa, (0, 1), x64, (2, 3, 1, 4), (0, 2, 3, 4)) + x66 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x66 += einsum(v.aabb.vvov, (0, 1, 2, 3), t3.abaaba, (4, 2, 5, 6, 3, 1), (4, 5, 6, 0)) + x67 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x67 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 0, 6, 3, 1), (4, 5, 6, 2)) * -1.0 + x68 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x68 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 + x68 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + x69 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x69 += einsum(t2.aaaa, (0, 1, 2, 3), x68, (1, 4, 5, 3), (0, 4, 2, 5)) + x70 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x70 += einsum(t2.aaaa, (0, 1, 2, 3), x69, (4, 1, 5, 3), (0, 4, 2, 5)) * -4.0 + del x69 + x71 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x71 += einsum(t1.bb, (0, 1), v.aabb.vvov, (2, 3, 0, 1), (2, 3)) + x72 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x72 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 4, 1, 3), (2, 4)) + x73 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x73 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (0, 3, 1, 4), (2, 4)) * -1.0 + x74 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x74 += einsum(t1.aa, (0, 1), x45, (0, 1, 2, 3), (2, 3)) + del x45 + x75 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x75 += einsum(x71, (0, 1), (1, 0)) * -1.0 + x75 += einsum(x72, (0, 1), (1, 0)) + x75 += einsum(x73, (0, 1), (1, 0)) * 2.0 + x75 += einsum(x74, (0, 1), (1, 0)) * -1.0 + x76 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x76 += einsum(x75, (0, 1), t2.aaaa, (2, 3, 4, 0), (2, 3, 4, 1)) * -2.0 + del x75 + x77 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x77 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovvv, (4, 2, 5, 3), (0, 1, 4, 5)) + x78 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x78 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.abaaba, (4, 2, 5, 6, 3, 1), (4, 5, 0, 6)) + x79 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x79 += einsum(v.aaaa.ovov, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 2, 6, 3, 1), (4, 5, 0, 6)) * -1.0 + x80 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x80 += einsum(x13, (0, 1), t2.aaaa, (2, 3, 4, 1), (0, 2, 3, 4)) * -2.0 + x81 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x81 += einsum(t1.aa, (0, 1), x25, (2, 3, 4, 1), (2, 0, 4, 3)) + x82 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x82 += einsum(v.aaaa.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) + x82 += einsum(x81, (0, 1, 2, 3), (3, 1, 2, 0)) + x83 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x83 += einsum(t1.aa, (0, 1), x82, (0, 2, 3, 4), (2, 3, 4, 1)) + del x82 + x84 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x84 += einsum(x77, (0, 1, 2, 3), (2, 1, 0, 3)) * -2.0 + x84 += einsum(x78, (0, 1, 2, 3), (2, 1, 0, 3)) * 2.0 + x84 += einsum(x79, (0, 1, 2, 3), (2, 1, 0, 3)) * 6.0 + x84 += einsum(x80, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x84 += einsum(x83, (0, 1, 2, 3), (1, 0, 2, 3)) + del x83 + x85 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x85 += einsum(t1.aa, (0, 1), x84, (0, 2, 3, 4), (2, 3, 4, 1)) + del x84 + x86 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x86 += einsum(x65, (0, 1, 2, 3), (0, 1, 2, 3)) + del x65 + x86 += einsum(x66, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + del x66 + x86 += einsum(x67, (0, 1, 2, 3), (0, 1, 2, 3)) * -6.0 + del x67 + x86 += einsum(x70, (0, 1, 2, 3), (1, 0, 3, 2)) + del x70 + x86 += einsum(x76, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x76 + x86 += einsum(x85, (0, 1, 2, 3), (1, 0, 3, 2)) + del x85 + t2new_aaaa += einsum(x86, (0, 1, 2, 3), (0, 1, 2, 3)) + t2new_aaaa += einsum(x86, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x86 + x87 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x87 += einsum(v.aabb.ooov, (0, 1, 2, 3), t3.abaaba, (4, 2, 1, 5, 3, 6), (4, 0, 5, 6)) + x88 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x88 += einsum(v.aaaa.ooov, (0, 1, 2, 3), t3.aaaaaa, (4, 1, 2, 5, 6, 3), (4, 0, 5, 6)) + x89 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x89 += einsum(t2.aaaa, (0, 1, 2, 3), x49, (4, 5, 0, 1), (4, 5, 2, 3)) + x90 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x90 += einsum(x23, (0, 1, 2, 3), t3.abaaba, (4, 0, 3, 5, 1, 6), (2, 4, 5, 6)) + x91 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x91 += einsum(x25, (0, 1, 2, 3), t3.aaaaaa, (4, 1, 2, 5, 6, 3), (0, 4, 5, 6)) * -1.0 + x92 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x92 += einsum(f.aa.oo, (0, 1), (0, 1)) + x92 += einsum(x34, (0, 1), (1, 0)) + x93 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x93 += einsum(x92, (0, 1), t2.aaaa, (2, 1, 3, 4), (2, 0, 3, 4)) * -2.0 + del x92 + x94 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x94 += einsum(x29, (0, 1), (1, 0)) + x94 += einsum(x30, (0, 1), (1, 0)) + x94 += einsum(x31, (0, 1), (1, 0)) * 2.0 + x94 += einsum(x33, (0, 1), (1, 0)) * -1.0 + x95 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x95 += einsum(x94, (0, 1), t2.aaaa, (2, 0, 3, 4), (2, 1, 3, 4)) * -2.0 + del x94 + x96 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x96 += einsum(x87, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 + del x87 + x96 += einsum(x88, (0, 1, 2, 3), (0, 1, 3, 2)) * -6.0 + del x88 + x96 += einsum(x89, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 + del x89 + x96 += einsum(x90, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 + del x90 + x96 += einsum(x91, (0, 1, 2, 3), (0, 1, 3, 2)) * 6.0 + del x91 + x96 += einsum(x93, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x93 + x96 += einsum(x95, (0, 1, 2, 3), (0, 1, 3, 2)) + del x95 + t2new_aaaa += einsum(x96, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + t2new_aaaa += einsum(x96, (0, 1, 2, 3), (1, 0, 2, 3)) + del x96 + x97 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x97 += einsum(t1.aa, (0, 1), v.aaaa.ooov, (2, 0, 3, 4), (2, 3, 1, 4)) + t2new_aaaa += einsum(x97, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + t2new_aaaa += einsum(x97, (0, 1, 2, 3), (1, 0, 2, 3)) + del x97 + x98 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x98 += einsum(t2.aaaa, (0, 1, 2, 3), (0, 1, 2, 3)) + x98 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 1, 3)) + x99 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x99 += einsum(v.aaaa.ovov, (0, 1, 2, 3), x98, (4, 5, 1, 3), (0, 2, 4, 5)) + x100 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x100 += einsum(v.aaaa.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) + x100 += einsum(x99, (0, 1, 2, 3), (1, 3, 0, 2)) + t2new_aaaa += einsum(t2.aaaa, (0, 1, 2, 3), x100, (0, 4, 1, 5), (4, 5, 2, 3)) * 2.0 + del x100 + x101 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x101 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 2, 5, 3), (0, 1, 4, 5)) + x102 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x102 += einsum(t1.aa, (0, 1), x101, (2, 3, 0, 4), (2, 3, 4, 1)) * -2.0 + x102 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x102 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) + t2new_aaaa += einsum(t1.aa, (0, 1), x102, (2, 3, 0, 4), (2, 3, 4, 1)) * -1.0 + del x102 + x103 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x103 += einsum(t1.bb, (0, 1), v.aabb.ovov, (2, 3, 0, 4), (1, 4, 2, 3)) + x104 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x104 += einsum(v.aabb.ovvv, (0, 1, 2, 3), (2, 3, 0, 1)) + x104 += einsum(x103, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + t2new_abab += einsum(x104, (0, 1, 2, 3), t3.abaaba, (4, 5, 2, 6, 0, 3), (4, 5, 6, 1)) * 2.0 + x105 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) + x105 += einsum(t1.aa, (0, 1), v.aabb.ovov, (0, 2, 3, 4), (3, 4, 1, 2)) + x106 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) + x106 += einsum(v.aabb.vvov, (0, 1, 2, 3), (2, 3, 0, 1)) + x106 += einsum(x105, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + t2new_abab += einsum(x106, (0, 1, 2, 3), t3.babbab, (4, 5, 0, 6, 2, 1), (5, 4, 3, 6)) * 2.0 + x107 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x107 += einsum(t1.bb, (0, 1), v.bbbb.ovov, (2, 3, 0, 4), (2, 1, 3, 4)) + x108 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x108 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) + x108 += einsum(x107, (0, 1, 2, 3), (0, 1, 2, 3)) + t2new_abab += einsum(x108, (0, 1, 2, 3), t3.babbab, (4, 5, 0, 2, 6, 3), (5, 4, 6, 1)) * 2.0 + del x108 + x109 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x109 += einsum(t1.aa, (0, 1), v.aaaa.ovov, (2, 3, 0, 4), (2, 1, 3, 4)) + x110 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x110 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) + x110 += einsum(x109, (0, 1, 2, 3), (0, 1, 2, 3)) + t2new_abab += einsum(x110, (0, 1, 2, 3), t3.abaaba, (4, 5, 0, 2, 6, 3), (4, 5, 1, 6)) * 2.0 + del x110 + x111 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x111 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 5), (1, 4, 3, 5)) + x112 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x112 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 + x112 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + x113 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x113 += einsum(t2.bbbb, (0, 1, 2, 3), (0, 1, 2, 3)) + x113 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1)) * -0.5 + x114 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x114 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x114 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) + x115 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x115 += einsum(t1.bb, (0, 1), x114, (2, 3, 1, 4), (2, 0, 3, 4)) + x116 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x116 += einsum(t1.bb, (0, 1), x18, (2, 3, 0, 4), (2, 3, 4, 1)) + x117 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x117 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + x117 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x117 += einsum(x111, (0, 1, 2, 3), (1, 0, 3, 2)) + x117 += einsum(x112, (0, 1, 2, 3), x113, (0, 4, 3, 5), (1, 4, 2, 5)) * -2.0 + x117 += einsum(x115, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x117 += einsum(x116, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + t2new_abab += einsum(t2.abab, (0, 1, 2, 3), x117, (1, 4, 3, 5), (0, 4, 2, 5)) + del x117 + x118 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x118 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x118 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) + x119 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x119 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x119 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) + x120 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x120 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) + x120 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x120 += einsum(x11, (0, 1, 2, 3), x40, (0, 4, 3, 5), (1, 4, 2, 5)) * -2.0 + x120 += einsum(t1.aa, (0, 1), x118, (2, 1, 3, 4), (2, 0, 4, 3)) * -1.0 + x120 += einsum(t1.aa, (0, 1), x119, (0, 2, 3, 4), (3, 2, 4, 1)) * -1.0 + del x119 + t2new_abab += einsum(t2.abab, (0, 1, 2, 3), x120, (0, 4, 2, 5), (4, 1, 5, 3)) * -1.0 + del x120 + x121 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x121 += einsum(t1.bb, (0, 1), v.aabb.ooov, (2, 3, 0, 4), (1, 4, 2, 3)) + x122 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x122 += einsum(t1.aa, (0, 1), v.aabb.ovvv, (2, 1, 3, 4), (3, 4, 0, 2)) + x123 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x123 += einsum(v.aabb.oovv, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 + x123 += einsum(x121, (0, 1, 2, 3), (1, 0, 3, 2)) + x123 += einsum(x122, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + x123 += einsum(v.aabb.ovov, (0, 1, 2, 3), x5, (2, 4, 5, 1), (3, 4, 0, 5)) + t2new_abab += einsum(t2.abab, (0, 1, 2, 3), x123, (3, 4, 0, 5), (5, 1, 2, 4)) + del x123 + x124 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x124 += einsum(t1.aa, (0, 1), v.aabb.ooov, (2, 0, 3, 4), (3, 4, 2, 1)) + x125 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x125 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) + x125 += einsum(x124, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x125 += einsum(x38, (0, 1, 2, 3), (0, 1, 2, 3)) + x125 += einsum(v.aabb.ovov, (0, 1, 2, 3), x40, (0, 4, 1, 5), (2, 3, 4, 5)) * 2.0 + t2new_abab += einsum(t2.bbbb, (0, 1, 2, 3), x125, (1, 3, 4, 5), (4, 0, 5, 2)) * 2.0 + del x125 + x126 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x126 += einsum(t2.aaaa, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x126 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 3, 1)) * -1.0 + x127 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x127 += einsum(t1.bb, (0, 1), v.aabb.ovvv, (2, 3, 4, 1), (0, 4, 2, 3)) + x128 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x128 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) + x128 += einsum(x127, (0, 1, 2, 3), (0, 1, 2, 3)) + x128 += einsum(t1.bb, (0, 1), x4, (0, 2, 3, 4), (2, 1, 3, 4)) * -1.0 + t2new_abab += einsum(x126, (0, 1, 2, 3), x128, (4, 5, 0, 2), (1, 4, 3, 5)) + del x126, x128 + x129 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + x129 += einsum(t1.bb, (0, 1), v.aabb.vvov, (2, 3, 4, 1), (0, 4, 2, 3)) + x130 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x130 += einsum(v.aabb.ovoo, (0, 1, 2, 3), (2, 3, 0, 1)) + x130 += einsum(x3, (0, 1, 2, 3), (0, 1, 2, 3)) + x131 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + x131 += einsum(v.aabb.vvoo, (0, 1, 2, 3), (2, 3, 0, 1)) + x131 += einsum(x129, (0, 1, 2, 3), (1, 0, 3, 2)) + x131 += einsum(t1.aa, (0, 1), x130, (2, 3, 0, 4), (3, 2, 4, 1)) * -1.0 + t2new_abab += einsum(t2.abab, (0, 1, 2, 3), x131, (1, 4, 2, 5), (0, 4, 5, 3)) * -1.0 + del x131 + x132 = np.zeros((nvir[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) + x132 += einsum(t1.bb, (0, 1), v.aabb.vvov, (2, 3, 0, 4), (1, 4, 2, 3)) + x133 = np.zeros((nvir[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) + x133 += einsum(t1.aa, (0, 1), v.aabb.ovvv, (0, 2, 3, 4), (3, 4, 1, 2)) + x134 = np.zeros((nvir[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) + x134 += einsum(v.aabb.vvvv, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 + x134 += einsum(x132, (0, 1, 2, 3), (1, 0, 3, 2)) + x134 += einsum(x133, (0, 1, 2, 3), (1, 0, 3, 2)) + t2new_abab += einsum(t2.abab, (0, 1, 2, 3), x134, (3, 4, 2, 5), (0, 1, 5, 4)) * -1.0 + del x134 + x135 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) + x135 += einsum(t1.bb, (0, 1), v.aabb.ooov, (2, 3, 4, 1), (0, 4, 2, 3)) + x136 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) + x136 += einsum(t1.aa, (0, 1), v.aabb.ovoo, (2, 1, 3, 4), (3, 4, 0, 2)) + x137 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) + x137 += einsum(v.aabb.ovov, (0, 1, 2, 3), x5, (4, 3, 5, 1), (4, 2, 5, 0)) + x138 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) + x138 += einsum(v.aabb.oooo, (0, 1, 2, 3), (2, 3, 0, 1)) + x138 += einsum(x135, (0, 1, 2, 3), (1, 0, 3, 2)) + x138 += einsum(x136, (0, 1, 2, 3), (1, 0, 3, 2)) + x138 += einsum(x137, (0, 1, 2, 3), (1, 0, 3, 2)) + t2new_abab += einsum(t2.abab, (0, 1, 2, 3), x138, (1, 4, 0, 5), (5, 4, 2, 3)) + del x138 + x139 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x139 += einsum(t1.aa, (0, 1), x13, (0, 2), (2, 1)) + x140 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x140 += einsum(f.aa.vv, (0, 1), (0, 1)) * -1.0 + x140 += einsum(x71, (0, 1), (1, 0)) * -1.0 + x140 += einsum(x72, (0, 1), (1, 0)) + x140 += einsum(x73, (0, 1), (1, 0)) * 2.0 + x140 += einsum(x74, (0, 1), (1, 0)) * -1.0 + del x74 + x140 += einsum(x139, (0, 1), (0, 1)) + t2new_abab += einsum(x140, (0, 1), t2.abab, (2, 3, 0, 4), (2, 3, 1, 4)) * -1.0 + t3new_babbab += einsum(x140, (0, 1), t3.babbab, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) * -2.0 + del x140 + x141 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x141 += einsum(t1.aa, (0, 1), v.aabb.ovvv, (0, 1, 2, 3), (2, 3)) + x142 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x142 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (0, 4, 1, 3), (2, 4)) + x143 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x143 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 1, 4), (3, 4)) + x144 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x144 += einsum(t1.bb, (0, 1), x114, (0, 2, 1, 3), (2, 3)) + del x114 + x145 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x145 += einsum(t1.bb, (0, 1), x9, (0, 2), (2, 1)) + x146 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x146 += einsum(f.bb.vv, (0, 1), (0, 1)) * -1.0 + x146 += einsum(x141, (0, 1), (1, 0)) * -1.0 + x146 += einsum(x142, (0, 1), (1, 0)) * 2.0 + x146 += einsum(x143, (0, 1), (1, 0)) + x146 += einsum(x144, (0, 1), (0, 1)) * -1.0 + x146 += einsum(x145, (0, 1), (0, 1)) + t2new_abab += einsum(x146, (0, 1), t2.abab, (2, 3, 4, 0), (2, 3, 4, 1)) * -1.0 + t3new_abaaba += einsum(x146, (0, 1), t3.abaaba, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) * -2.0 + del x146 + x147 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x147 += einsum(t1.aa, (0, 1), v.aabb.vvoo, (2, 1, 3, 4), (3, 4, 0, 2)) + x148 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x148 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) + x148 += einsum(x38, (0, 1, 2, 3), (0, 1, 2, 3)) + x149 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x149 += einsum(t1.bb, (0, 1), x148, (2, 1, 3, 4), (2, 0, 3, 4)) + del x148 + x150 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) + x150 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 5, 3), (1, 5, 0, 4)) + x151 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) + x151 += einsum(v.aabb.oooo, (0, 1, 2, 3), (2, 3, 0, 1)) + x151 += einsum(x135, (0, 1, 2, 3), (0, 1, 3, 2)) + x151 += einsum(x150, (0, 1, 2, 3), (0, 1, 3, 2)) + x152 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x152 += einsum(v.aabb.ovoo, (0, 1, 2, 3), (2, 3, 0, 1)) + x152 += einsum(x147, (0, 1, 2, 3), (1, 0, 2, 3)) + x152 += einsum(x149, (0, 1, 2, 3), (0, 1, 2, 3)) + x152 += einsum(t1.aa, (0, 1), x151, (2, 3, 0, 4), (3, 2, 4, 1)) * -1.0 + del x151 + t2new_abab += einsum(t1.bb, (0, 1), x152, (0, 2, 3, 4), (3, 2, 4, 1)) * -1.0 + del x152 + x153 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x153 += einsum(t1.aa, (0, 1), v.aabb.vvvv, (2, 1, 3, 4), (3, 4, 0, 2)) + x154 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x154 += einsum(v.aabb.ovvv, (0, 1, 2, 3), (2, 3, 0, 1)) + x154 += einsum(x153, (0, 1, 2, 3), (1, 0, 2, 3)) + t2new_abab += einsum(t1.bb, (0, 1), x154, (1, 2, 3, 4), (3, 0, 4, 2)) + del x154 + x155 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x155 += einsum(t1.bb, (0, 1), v.aabb.oovv, (2, 3, 4, 1), (0, 4, 2, 3)) + x156 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x156 += einsum(v.aabb.ooov, (0, 1, 2, 3), (2, 3, 0, 1)) + x156 += einsum(x155, (0, 1, 2, 3), (0, 1, 3, 2)) + t2new_abab += einsum(t1.aa, (0, 1), x156, (2, 3, 0, 4), (4, 2, 1, 3)) * -1.0 + del x156 + x157 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x157 += einsum(t1.bb, (0, 1), v.bbbb.vvvv, (2, 3, 4, 1), (0, 2, 3, 4)) + x158 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x158 += einsum(t1.bb, (0, 1), x157, (2, 3, 1, 4), (0, 2, 3, 4)) + x159 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x159 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 0, 6, 1, 3), (4, 5, 6, 2)) + x160 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x160 += einsum(v.aabb.ovvv, (0, 1, 2, 3), t3.babbab, (4, 0, 5, 6, 1, 3), (4, 5, 6, 2)) + x161 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x161 += einsum(t2.bbbb, (0, 1, 2, 3), x7, (1, 4, 3, 5), (4, 0, 5, 2)) + x162 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x162 += einsum(t2.bbbb, (0, 1, 2, 3), x161, (1, 4, 3, 5), (4, 0, 5, 2)) * -4.0 + del x161 + x163 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x163 += einsum(t2.abab, (0, 1, 2, 3), x11, (0, 4, 2, 5), (1, 3, 4, 5)) + x164 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x164 += einsum(t2.abab, (0, 1, 2, 3), x163, (4, 5, 0, 2), (4, 1, 5, 3)) * -1.0 + x165 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x165 += einsum(x141, (0, 1), (1, 0)) * -1.0 + x165 += einsum(x142, (0, 1), (1, 0)) * 2.0 + x165 += einsum(x143, (0, 1), (1, 0)) + x165 += einsum(x144, (0, 1), (0, 1)) * -1.0 + del x144 + x166 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x166 += einsum(x165, (0, 1), t2.bbbb, (2, 3, 4, 0), (2, 3, 1, 4)) * -2.0 + del x165 + x167 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x167 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovvv, (4, 2, 5, 3), (0, 1, 4, 5)) + x168 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x168 += einsum(v.bbbb.ovov, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 2, 6, 3, 1), (4, 5, 0, 6)) * -1.0 + x169 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x169 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.babbab, (4, 0, 5, 6, 1, 3), (4, 5, 2, 6)) + x170 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x170 += einsum(x9, (0, 1), t2.bbbb, (2, 3, 4, 1), (0, 2, 3, 4)) * -2.0 + x171 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x171 += einsum(t1.bb, (0, 1), x1, (2, 3, 4, 1), (2, 0, 4, 3)) + x172 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x172 += einsum(v.bbbb.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) + x172 += einsum(x171, (0, 1, 2, 3), (3, 1, 2, 0)) + x173 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x173 += einsum(t1.bb, (0, 1), x172, (0, 2, 3, 4), (2, 3, 4, 1)) + del x172 + x174 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x174 += einsum(x167, (0, 1, 2, 3), (2, 1, 0, 3)) * -2.0 + x174 += einsum(x168, (0, 1, 2, 3), (2, 1, 0, 3)) * 6.0 + x174 += einsum(x169, (0, 1, 2, 3), (2, 1, 0, 3)) * 2.0 + x174 += einsum(x170, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x174 += einsum(x173, (0, 1, 2, 3), (1, 0, 2, 3)) + del x173 + x175 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x175 += einsum(t1.bb, (0, 1), x174, (0, 2, 3, 4), (2, 3, 4, 1)) + del x174 + x176 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x176 += einsum(x158, (0, 1, 2, 3), (0, 1, 2, 3)) + del x158 + x176 += einsum(x159, (0, 1, 2, 3), (0, 1, 2, 3)) * -6.0 + del x159 + x176 += einsum(x160, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + del x160 + x176 += einsum(x162, (0, 1, 2, 3), (0, 1, 2, 3)) + del x162 + x176 += einsum(x164, (0, 1, 2, 3), (0, 1, 2, 3)) + del x164 + x176 += einsum(x166, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x166 + x176 += einsum(x175, (0, 1, 2, 3), (1, 0, 3, 2)) + del x175 + t2new_bbbb += einsum(x176, (0, 1, 2, 3), (0, 1, 2, 3)) + t2new_bbbb += einsum(x176, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x176 + x177 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x177 += einsum(t1.bb, (0, 1), v.bbbb.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) + x178 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x178 += einsum(t2.abab, (0, 1, 2, 3), x127, (4, 5, 0, 2), (4, 1, 3, 5)) + x179 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x179 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + x179 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x179 += einsum(x111, (0, 1, 2, 3), (1, 0, 3, 2)) + x180 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x180 += einsum(t2.bbbb, (0, 1, 2, 3), x179, (1, 4, 3, 5), (4, 0, 5, 2)) * 2.0 + del x179 + x181 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x181 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) + x181 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 + x182 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x182 += einsum(t1.bb, (0, 1), x181, (2, 1, 3, 4), (2, 0, 3, 4)) + del x181 + x183 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x183 += einsum(t2.bbbb, (0, 1, 2, 3), x182, (1, 4, 5, 3), (4, 0, 5, 2)) * -2.0 + x184 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x184 += einsum(t1.bb, (0, 1), v.bbbb.ooov, (2, 3, 4, 1), (0, 2, 3, 4)) + x185 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x185 += einsum(t1.bb, (0, 1), x184, (2, 3, 4, 0), (2, 4, 3, 1)) + x186 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x186 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovoo, (0, 2, 4, 5), (1, 4, 5, 3)) + x187 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x187 += einsum(t2.abab, (0, 1, 2, 3), x3, (4, 5, 0, 2), (4, 1, 5, 3)) + x188 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x188 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x188 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) + x189 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x189 += einsum(t2.bbbb, (0, 1, 2, 3), x188, (1, 4, 5, 3), (4, 5, 0, 2)) * 2.0 + x190 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x190 += einsum(x1, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x190 += einsum(x1, (0, 1, 2, 3), (0, 2, 1, 3)) + x191 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x191 += einsum(t2.bbbb, (0, 1, 2, 3), x190, (4, 1, 5, 3), (4, 5, 0, 2)) * 2.0 + x192 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x192 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) + x192 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x192 += einsum(x177, (0, 1, 2, 3), (0, 1, 2, 3)) + x193 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x193 += einsum(t1.bb, (0, 1), x192, (2, 3, 1, 4), (2, 3, 0, 4)) + x194 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x194 += einsum(x185, (0, 1, 2, 3), (0, 2, 1, 3)) + x194 += einsum(x186, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x194 += einsum(x187, (0, 1, 2, 3), (0, 2, 1, 3)) + x194 += einsum(x189, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 + del x189 + x194 += einsum(x191, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x191 + x194 += einsum(x193, (0, 1, 2, 3), (2, 1, 0, 3)) + x195 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x195 += einsum(t1.bb, (0, 1), x194, (2, 0, 3, 4), (2, 3, 4, 1)) + del x194 + x196 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x196 += einsum(x177, (0, 1, 2, 3), (0, 1, 2, 3)) + x196 += einsum(x111, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x196 += einsum(x178, (0, 1, 2, 3), (0, 1, 2, 3)) + del x178 + x196 += einsum(x180, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x180 + x196 += einsum(x183, (0, 1, 2, 3), (0, 1, 3, 2)) + del x183 + x196 += einsum(x195, (0, 1, 2, 3), (0, 1, 3, 2)) + del x195 + t2new_bbbb += einsum(x196, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + t2new_bbbb += einsum(x196, (0, 1, 2, 3), (0, 1, 3, 2)) + t2new_bbbb += einsum(x196, (0, 1, 2, 3), (1, 0, 2, 3)) + t2new_bbbb += einsum(x196, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x196 + x197 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x197 += einsum(t1.bb, (0, 1), v.bbbb.ooov, (2, 0, 3, 4), (2, 3, 1, 4)) + x198 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x198 += einsum(v.bbbb.ooov, (0, 1, 2, 3), t3.bbbbbb, (4, 1, 2, 5, 6, 3), (4, 0, 5, 6)) + x199 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x199 += einsum(t2.bbbb, (0, 1, 2, 3), x184, (4, 5, 0, 1), (4, 5, 2, 3)) + x200 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x200 += einsum(v.aabb.ovoo, (0, 1, 2, 3), t3.babbab, (4, 0, 3, 5, 1, 6), (4, 2, 5, 6)) + x201 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x201 += einsum(x1, (0, 1, 2, 3), t3.bbbbbb, (4, 1, 2, 5, 6, 3), (0, 4, 5, 6)) * -1.0 + x202 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x202 += einsum(x3, (0, 1, 2, 3), t3.babbab, (4, 2, 1, 5, 3, 6), (0, 4, 5, 6)) + x203 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x203 += einsum(f.bb.oo, (0, 1), (0, 1)) + x203 += einsum(x20, (0, 1), (1, 0)) + x204 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x204 += einsum(x203, (0, 1), t2.bbbb, (2, 1, 3, 4), (0, 2, 3, 4)) * -2.0 + del x203 + x205 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x205 += einsum(x15, (0, 1), (1, 0)) + x205 += einsum(x16, (0, 1), (1, 0)) * 2.0 + x205 += einsum(x17, (0, 1), (1, 0)) + x205 += einsum(x19, (0, 1), (1, 0)) * -1.0 + x206 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x206 += einsum(x205, (0, 1), t2.bbbb, (2, 0, 3, 4), (1, 2, 3, 4)) * -2.0 + del x205 + x207 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x207 += einsum(x197, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x197 + x207 += einsum(x198, (0, 1, 2, 3), (0, 1, 3, 2)) * -6.0 + del x198 + x207 += einsum(x199, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 + del x199 + x207 += einsum(x200, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 + del x200 + x207 += einsum(x201, (0, 1, 2, 3), (0, 1, 3, 2)) * 6.0 + del x201 + x207 += einsum(x202, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 + del x202 + x207 += einsum(x204, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x204 + x207 += einsum(x206, (0, 1, 2, 3), (1, 0, 3, 2)) + del x206 + t2new_bbbb += einsum(x207, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + t2new_bbbb += einsum(x207, (0, 1, 2, 3), (1, 0, 2, 3)) + del x207 + x208 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x208 += einsum(f.bb.vv, (0, 1), t2.bbbb, (2, 3, 4, 1), (2, 3, 0, 4)) + x209 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x209 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + x209 += einsum(x208, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 + del x208 + t2new_bbbb += einsum(x209, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + t2new_bbbb += einsum(x209, (0, 1, 2, 3), (0, 1, 2, 3)) + del x209 + x210 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x210 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 2, 5, 3), (0, 1, 4, 5)) + x211 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x211 += einsum(v.bbbb.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x211 += einsum(x210, (0, 1, 2, 3), (3, 1, 2, 0)) * -1.0 + x211 += einsum(x171, (0, 1, 2, 3), (2, 1, 3, 0)) + t2new_bbbb += einsum(t2.bbbb, (0, 1, 2, 3), x211, (0, 4, 1, 5), (4, 5, 2, 3)) * -2.0 + del x211 + x212 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x212 += einsum(t1.bb, (0, 1), x210, (2, 3, 0, 4), (2, 3, 4, 1)) * -2.0 + x212 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x212 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) + t2new_bbbb += einsum(t1.bb, (0, 1), x212, (2, 3, 0, 4), (2, 3, 1, 4)) + del x212 + x213 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x213 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.abaaba, (4, 2, 5, 6, 3, 7), (4, 5, 0, 6, 7, 1)) + x214 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x214 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ooov, (4, 0, 1, 5), (4, 2, 3, 5)) + x215 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x215 += einsum(t2.aaaa, (0, 1, 2, 3), x214, (4, 5, 6, 3), (0, 1, 4, 5, 6, 2)) + x216 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x216 += einsum(t2.aaaa, (0, 1, 2, 3), x77, (4, 5, 1, 6), (4, 5, 0, 2, 3, 6)) + x217 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x217 += einsum(x28, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 0, 6, 7, 2), (4, 5, 1, 6, 7, 3)) * 6.0 + x218 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x218 += einsum(x213, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 2.0 + del x213 + x218 += einsum(x215, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -4.0 + del x215 + x218 += einsum(x216, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -4.0 + del x216 + x218 += einsum(x217, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x217 + t3new_aaaaaa = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + t3new_aaaaaa += einsum(x218, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 + t3new_aaaaaa += einsum(x218, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) + t3new_aaaaaa += einsum(x218, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -1.0 + t3new_aaaaaa += einsum(x218, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) + t3new_aaaaaa += einsum(x218, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + t3new_aaaaaa += einsum(x218, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) + t3new_aaaaaa += einsum(x218, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) + t3new_aaaaaa += einsum(x218, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -1.0 + t3new_aaaaaa += einsum(x218, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) + del x218 + x219 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x219 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.vvov, (4, 5, 1, 3), (0, 2, 4, 5)) + x220 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x220 += einsum(t2.aaaa, (0, 1, 2, 3), x118, (1, 3, 4, 5), (0, 2, 4, 5)) * 2.0 + x221 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x221 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) + x221 += einsum(x219, (0, 1, 2, 3), (0, 1, 3, 2)) + x221 += einsum(x220, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x220 + x222 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x222 += einsum(t2.aaaa, (0, 1, 2, 3), x221, (4, 5, 3, 6), (0, 1, 4, 2, 5, 6)) * -2.0 + del x221 + x223 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x223 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ooov, (4, 5, 6, 3), (0, 1, 4, 5, 6, 2)) + x224 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x224 += einsum(t1.aa, (0, 1), x223, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) + del x223 + x225 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x225 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (0, 4, 2, 5)) + x226 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x226 += einsum(t2.aaaa, (0, 1, 2, 3), x68, (1, 4, 5, 3), (0, 4, 2, 5)) * 2.0 + x227 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x227 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + x227 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x227 += einsum(x225, (0, 1, 2, 3), (0, 1, 2, 3)) + x227 += einsum(x226, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x228 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x228 += einsum(t2.aaaa, (0, 1, 2, 3), x227, (4, 5, 6, 3), (0, 1, 4, 5, 2, 6)) * -1.0 + del x227 + x229 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x229 += einsum(x224, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) + del x224 + x229 += einsum(x228, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) * -1.0 + del x228 + x230 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x230 += einsum(t1.aa, (0, 1), x229, (2, 3, 0, 4, 5, 6), (2, 3, 4, 5, 6, 1)) * 2.0 + del x229 + x231 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x231 += einsum(x222, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) + del x222 + x231 += einsum(x230, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) + del x230 + t3new_aaaaaa += einsum(x231, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 + t3new_aaaaaa += einsum(x231, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) + t3new_aaaaaa += einsum(x231, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) + t3new_aaaaaa += einsum(x231, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -1.0 + t3new_aaaaaa += einsum(x231, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -1.0 + t3new_aaaaaa += einsum(x231, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) + t3new_aaaaaa += einsum(x231, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) + t3new_aaaaaa += einsum(x231, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + t3new_aaaaaa += einsum(x231, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -1.0 + t3new_aaaaaa += einsum(x231, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) + t3new_aaaaaa += einsum(x231, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) + t3new_aaaaaa += einsum(x231, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -1.0 + t3new_aaaaaa += einsum(x231, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) + t3new_aaaaaa += einsum(x231, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -1.0 + t3new_aaaaaa += einsum(x231, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -1.0 + t3new_aaaaaa += einsum(x231, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) + t3new_aaaaaa += einsum(x231, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) + t3new_aaaaaa += einsum(x231, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -1.0 + del x231 + x232 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x232 += einsum(v.aaaa.oooo, (0, 1, 2, 3), t3.aaaaaa, (4, 3, 1, 5, 6, 7), (4, 0, 2, 5, 6, 7)) * -1.0 + x233 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x233 += einsum(f.aa.oo, (0, 1), (0, 1)) + x233 += einsum(x30, (0, 1), (1, 0)) + x233 += einsum(x31, (0, 1), (1, 0)) * 2.0 + x233 += einsum(x34, (0, 1), (0, 1)) + x234 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x234 += einsum(x233, (0, 1), t3.aaaaaa, (2, 3, 0, 4, 5, 6), (2, 3, 1, 4, 5, 6)) * 6.0 + del x233 + x235 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x235 += einsum(x232, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 6.0 + del x232 + x235 += einsum(x234, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) + del x234 + t3new_aaaaaa += einsum(x235, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -1.0 + t3new_aaaaaa += einsum(x235, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 + t3new_aaaaaa += einsum(x235, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) + del x235 + x236 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x236 += einsum(v.aaaa.vvvv, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 6, 7, 3, 1), (4, 5, 6, 7, 0, 2)) * -1.0 + x237 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x237 += einsum(f.aa.vv, (0, 1), (0, 1)) * -1.0 + x237 += einsum(x72, (0, 1), (1, 0)) + x237 += einsum(x73, (0, 1), (1, 0)) * 2.0 + x237 += einsum(x139, (0, 1), (0, 1)) + x238 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x238 += einsum(x237, (0, 1), t3.aaaaaa, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 6, 1)) * 6.0 + del x237 + x239 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x239 += einsum(x236, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -6.0 + del x236 + x239 += einsum(x238, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -1.0 + del x238 + t3new_aaaaaa += einsum(x239, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + t3new_aaaaaa += einsum(x239, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 + t3new_aaaaaa += einsum(x239, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) + del x239 + x240 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x240 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.abaaba, (4, 2, 0, 5, 3, 6), (4, 5, 6, 1)) + x241 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x241 += einsum(v.aaaa.ovov, (0, 1, 2, 3), t3.aaaaaa, (4, 0, 2, 5, 6, 3), (4, 5, 6, 1)) + x242 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x242 += einsum(x240, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x242 += einsum(x241, (0, 1, 2, 3), (0, 2, 1, 3)) * -3.0 + x243 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x243 += einsum(t2.aaaa, (0, 1, 2, 3), x242, (4, 5, 6, 3), (0, 1, 4, 2, 5, 6)) * -4.0 + del x242 + x244 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x244 += einsum(v.aabb.ooov, (0, 1, 2, 3), t3.abaaba, (4, 2, 5, 6, 3, 7), (4, 5, 0, 1, 6, 7)) + x245 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x245 += einsum(x32, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 2, 6, 7, 3), (4, 5, 0, 1, 6, 7)) * 3.0 + x246 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x246 += einsum(x244, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -1.0 + del x244 + x246 += einsum(x245, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 + del x245 + x247 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x247 += einsum(t1.aa, (0, 1), x246, (2, 3, 0, 4, 5, 6), (2, 3, 4, 5, 6, 1)) * 2.0 + del x246 + x248 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x248 += einsum(x243, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * -1.0 + del x243 + x248 += einsum(x247, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) + del x247 + t3new_aaaaaa += einsum(x248, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + t3new_aaaaaa += einsum(x248, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 + t3new_aaaaaa += einsum(x248, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) + t3new_aaaaaa += einsum(x248, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 + t3new_aaaaaa += einsum(x248, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) + t3new_aaaaaa += einsum(x248, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 + t3new_aaaaaa += einsum(x248, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -1.0 + t3new_aaaaaa += einsum(x248, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) + t3new_aaaaaa += einsum(x248, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -1.0 + del x248 + x249 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x249 += einsum(x101, (0, 1, 2, 3), (1, 0, 3, 2)) + x249 += einsum(x81, (0, 1, 2, 3), (0, 1, 2, 3)) + x250 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x250 += einsum(x249, (0, 1, 2, 3), t3.aaaaaa, (4, 2, 3, 5, 6, 7), (4, 0, 1, 5, 6, 7)) * -6.0 + del x249 + x251 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x251 += einsum(x29, (0, 1), (1, 0)) + del x29 + x251 += einsum(x33, (0, 1), (1, 0)) * -1.0 + del x33 + x252 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x252 += einsum(x251, (0, 1), t3.aaaaaa, (2, 3, 0, 4, 5, 6), (2, 3, 1, 4, 5, 6)) * 6.0 + x253 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x253 += einsum(x250, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) + del x250 + x253 += einsum(x252, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -1.0 + del x252 + t3new_aaaaaa += einsum(x253, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) + t3new_aaaaaa += einsum(x253, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -1.0 + t3new_aaaaaa += einsum(x253, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * -1.0 + del x253 + x254 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x254 += einsum(t1.aa, (0, 1), x118, (0, 1, 2, 3), (2, 3)) + x255 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x255 += einsum(x71, (0, 1), (1, 0)) + del x71 + x255 += einsum(x254, (0, 1), (1, 0)) * -1.0 + del x254 + x256 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x256 += einsum(x255, (0, 1), t3.aaaaaa, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 6, 1)) * 6.0 + x257 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x257 += einsum(v.aaaa.ovov, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 6, 7, 3, 1), (4, 5, 6, 0, 2, 7)) * -1.0 + x258 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x258 += einsum(x98, (0, 1, 2, 3), x257, (4, 5, 6, 0, 1, 7), (4, 5, 6, 2, 3, 7)) * 6.0 + del x98, x257 + x259 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x259 += einsum(x256, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) + del x256 + x259 += einsum(x258, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 + del x258 + t3new_aaaaaa += einsum(x259, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + t3new_aaaaaa += einsum(x259, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 + t3new_aaaaaa += einsum(x259, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) + del x259 + x260 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x260 += einsum(x38, (0, 1, 2, 3), t3.abaaba, (4, 0, 5, 6, 1, 7), (2, 4, 5, 6, 7, 3)) + x261 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x261 += einsum(t2.aaaa, (0, 1, 2, 3), x25, (4, 0, 1, 5), (4, 2, 3, 5)) + x262 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x262 += einsum(t2.aaaa, (0, 1, 2, 3), x261, (4, 5, 6, 3), (4, 0, 1, 5, 6, 2)) * -1.0 + x263 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x263 += einsum(x46, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 0, 6, 7, 3), (4, 5, 1, 6, 7, 2)) * -6.0 + x264 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x264 += einsum(x78, (0, 1, 2, 3), (0, 1, 2, 3)) + x264 += einsum(x79, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0 + x265 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x265 += einsum(t2.aaaa, (0, 1, 2, 3), x264, (4, 5, 1, 6), (0, 4, 5, 2, 3, 6)) * -4.0 + del x264 + x266 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x266 += einsum(x260, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 2.0 + del x260 + x266 += einsum(x262, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -4.0 + del x262 + x266 += einsum(x263, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) + del x263 + x266 += einsum(x265, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) + del x265 + t3new_aaaaaa += einsum(x266, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + t3new_aaaaaa += einsum(x266, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 + t3new_aaaaaa += einsum(x266, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) + t3new_aaaaaa += einsum(x266, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) + t3new_aaaaaa += einsum(x266, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) * -1.0 + t3new_aaaaaa += einsum(x266, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) + t3new_aaaaaa += einsum(x266, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -1.0 + t3new_aaaaaa += einsum(x266, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) + t3new_aaaaaa += einsum(x266, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * -1.0 + del x266 + x267 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x267 += einsum(t2.aaaa, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0000000000000204 + x267 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 3, 1)) * -1.0 + x268 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x268 += einsum(x267, (0, 1, 2, 3), x68, (0, 4, 5, 2), (4, 1, 5, 3)) * 0.9999999999999901 + del x267 + x269 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x269 += einsum(x225, (0, 1, 2, 3), (0, 1, 2, 3)) + x269 += einsum(x268, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x268 + x270 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x270 += einsum(x269, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 1, 6, 7, 3), (4, 5, 0, 6, 7, 2)) * 6.0000000000000595 + del x269 + x271 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x271 += einsum(t2.aaaa, (0, 1, 2, 3), (0, 1, 2, 3)) + x271 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 3, 1)) * -0.499999999999995 + x272 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x272 += einsum(v.aabb.ovov, (0, 1, 2, 3), x271, (0, 4, 1, 5), (2, 3, 4, 5)) + x273 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x273 += einsum(x272, (0, 1, 2, 3), t3.abaaba, (4, 0, 5, 6, 1, 7), (4, 5, 2, 6, 7, 3)) * 4.00000000000004 + del x272 + x274 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x274 += einsum(x270, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) + del x270 + x274 += einsum(x273, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) + del x273 + t3new_aaaaaa += einsum(x274, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + t3new_aaaaaa += einsum(x274, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 + t3new_aaaaaa += einsum(x274, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) + t3new_aaaaaa += einsum(x274, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) + t3new_aaaaaa += einsum(x274, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -1.0 + t3new_aaaaaa += einsum(x274, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) + t3new_aaaaaa += einsum(x274, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -1.0 + t3new_aaaaaa += einsum(x274, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) + t3new_aaaaaa += einsum(x274, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -1.0 + del x274 + x275 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x275 += einsum(t2.aaaa, (0, 1, 2, 3), x64, (4, 5, 3, 6), (4, 0, 1, 2, 6, 5)) + x276 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x276 += einsum(t2.aaaa, (0, 1, 2, 3), x25, (4, 5, 6, 3), (4, 0, 1, 6, 5, 2)) + x277 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x277 += einsum(t1.aa, (0, 1), x276, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) + del x276 + x278 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x278 += einsum(t2.aaaa, (0, 1, 2, 3), x46, (4, 5, 6, 3), (0, 1, 5, 4, 2, 6)) + x279 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x279 += einsum(x277, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 + del x277 + x279 += einsum(x278, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -1.0 + del x278 + x280 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x280 += einsum(t1.aa, (0, 1), x279, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 6, 1)) * 2.0 + del x279 + x281 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x281 += einsum(x275, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -2.0 + del x275 + x281 += einsum(x280, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -1.0 + del x280 + t3new_aaaaaa += einsum(x281, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 + t3new_aaaaaa += einsum(x281, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) + t3new_aaaaaa += einsum(x281, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) + t3new_aaaaaa += einsum(x281, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -1.0 + t3new_aaaaaa += einsum(x281, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -1.0 + t3new_aaaaaa += einsum(x281, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) + t3new_aaaaaa += einsum(x281, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) * -1.0 + t3new_aaaaaa += einsum(x281, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) + t3new_aaaaaa += einsum(x281, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) + t3new_aaaaaa += einsum(x281, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 + t3new_aaaaaa += einsum(x281, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * -1.0 + t3new_aaaaaa += einsum(x281, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) + t3new_aaaaaa += einsum(x281, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) + t3new_aaaaaa += einsum(x281, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -1.0 + t3new_aaaaaa += einsum(x281, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -1.0 + t3new_aaaaaa += einsum(x281, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) + t3new_aaaaaa += einsum(x281, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) + t3new_aaaaaa += einsum(x281, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -1.0 + del x281 + x282 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x282 += einsum(x49, (0, 1, 2, 3), t3.aaaaaa, (4, 2, 3, 5, 6, 7), (0, 4, 1, 5, 6, 7)) + t3new_aaaaaa += einsum(x282, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 6.0 + t3new_aaaaaa += einsum(x282, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -6.0 + t3new_aaaaaa += einsum(x282, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -6.0 + t3new_aaaaaa += einsum(x282, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * 6.0 + t3new_aaaaaa += einsum(x282, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 6.0 + t3new_aaaaaa += einsum(x282, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -6.0 + del x282 + x283 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x283 += einsum(x61, (0, 1, 2, 3), t3.abaaba, (4, 0, 5, 6, 1, 7), (4, 5, 2, 6, 7, 3)) * -2.00000000000002 + t3new_aaaaaa += einsum(x283, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) + t3new_aaaaaa += einsum(x283, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -1.0 + t3new_aaaaaa += einsum(x283, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) + t3new_aaaaaa += einsum(x283, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -1.0 + t3new_aaaaaa += einsum(x283, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) + t3new_aaaaaa += einsum(x283, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * -1.0 + t3new_aaaaaa += einsum(x283, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -1.0 + t3new_aaaaaa += einsum(x283, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) + t3new_aaaaaa += einsum(x283, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 + del x283 + x284 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x284 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 6, 7, 1, 3), (4, 5, 6, 0, 7, 2)) + x285 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x285 += einsum(t1.aa, (0, 1), x284, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) + del x284 + t3new_aaaaaa += einsum(x285, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 6.0 + t3new_aaaaaa += einsum(x285, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -6.0 + t3new_aaaaaa += einsum(x285, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -6.0 + t3new_aaaaaa += einsum(x285, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * 6.0 + t3new_aaaaaa += einsum(x285, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 6.0 + t3new_aaaaaa += einsum(x285, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -6.0 + del x285 + x286 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x286 += einsum(t1.aa, (0, 1), v.aaaa.oovv, (2, 3, 4, 1), (0, 2, 3, 4)) + x287 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x287 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ooov, (4, 5, 1, 3), (0, 4, 5, 2)) + x288 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x288 += einsum(x286, (0, 1, 2, 3), (0, 2, 1, 3)) + x288 += einsum(x48, (0, 1, 2, 3), (0, 2, 1, 3)) + x288 += einsum(x287, (0, 1, 2, 3), (0, 2, 1, 3)) * 2.0 + x289 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x289 += einsum(t1.aa, (0, 1), x81, (2, 3, 0, 4), (3, 2, 4, 1)) + del x81 + x290 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x290 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + x290 += einsum(x37, (0, 1, 2, 3), (1, 0, 2, 3)) + x291 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x291 += einsum(t1.aa, (0, 1), x290, (2, 3, 1, 4), (2, 3, 0, 4)) + x292 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x292 += einsum(v.aaaa.ooov, (0, 1, 2, 3), x40, (1, 4, 3, 5), (0, 2, 4, 5)) * 2.0 + x293 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x293 += einsum(x52, (0, 1, 2, 3), (0, 1, 2, 3)) + x293 += einsum(x289, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x293 += einsum(x56, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x56 + x293 += einsum(x291, (0, 1, 2, 3), (2, 1, 0, 3)) + del x291 + x293 += einsum(x292, (0, 1, 2, 3), (2, 0, 1, 3)) + del x292 + x294 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x294 += einsum(x101, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 + del x101 + x294 += einsum(v.aaaa.oooo, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 + x294 += einsum(v.aaaa.oooo, (0, 1, 2, 3), (0, 2, 1, 3)) + x295 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x295 += einsum(t1.aa, (0, 1), x294, (2, 3, 0, 4), (2, 3, 4, 1)) + x296 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x296 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x296 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) + x296 += einsum(x288, (0, 1, 2, 3), (0, 1, 2, 3)) + x296 += einsum(x288, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x288 + x296 += einsum(x293, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x296 += einsum(x293, (0, 1, 2, 3), (1, 0, 2, 3)) + del x293 + x296 += einsum(x50, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x296 += einsum(x50, (0, 1, 2, 3), (1, 0, 2, 3)) + x296 += einsum(x80, (0, 1, 2, 3), (2, 1, 0, 3)) + x296 += einsum(x295, (0, 1, 2, 3), (1, 0, 2, 3)) + x297 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x297 += einsum(t2.aaaa, (0, 1, 2, 3), x296, (4, 5, 1, 6), (0, 4, 5, 2, 3, 6)) * -2.0 + del x296 + t3new_aaaaaa += einsum(x297, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 + t3new_aaaaaa += einsum(x297, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) + t3new_aaaaaa += einsum(x297, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) + del x297 + x298 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x298 += einsum(x286, (0, 1, 2, 3), (0, 2, 1, 3)) * 0.5 + del x286 + x298 += einsum(x48, (0, 1, 2, 3), (0, 2, 1, 3)) * 0.5 + x298 += einsum(x287, (0, 1, 2, 3), (0, 2, 1, 3)) + del x287 + x299 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x299 += einsum(t2.aaaa, (0, 1, 2, 3), x55, (4, 1, 5, 3), (0, 4, 5, 2)) + x300 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x300 += einsum(t1.aa, (0, 1), x290, (2, 3, 1, 4), (2, 3, 0, 4)) * 0.5 + del x290 + x301 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x301 += einsum(v.aaaa.ooov, (0, 1, 2, 3), x40, (1, 4, 3, 5), (0, 2, 4, 5)) + x302 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x302 += einsum(x52, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 + x302 += einsum(x289, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 + del x289 + x302 += einsum(x299, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x299 + x302 += einsum(x300, (0, 1, 2, 3), (2, 1, 0, 3)) + del x300 + x302 += einsum(x301, (0, 1, 2, 3), (2, 0, 1, 3)) + del x301 + x303 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x303 += einsum(x13, (0, 1), t2.aaaa, (2, 3, 4, 1), (0, 2, 3, 4)) * -1.0 + x304 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x304 += einsum(t1.aa, (0, 1), x294, (2, 3, 0, 4), (2, 3, 4, 1)) * 0.5 + del x294 + x305 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x305 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 + x305 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) * 0.5 + x305 += einsum(x298, (0, 1, 2, 3), (0, 1, 2, 3)) + x305 += einsum(x298, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x298 + x305 += einsum(x302, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x305 += einsum(x302, (0, 1, 2, 3), (1, 0, 2, 3)) + del x302 + x305 += einsum(x50, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 + x305 += einsum(x50, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.5 + x305 += einsum(x303, (0, 1, 2, 3), (2, 1, 0, 3)) + del x303 + x305 += einsum(x304, (0, 1, 2, 3), (1, 0, 2, 3)) + del x304 + x306 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x306 += einsum(t2.aaaa, (0, 1, 2, 3), x305, (4, 5, 1, 6), (0, 4, 5, 2, 3, 6)) * -4.0 + del x305 + t3new_aaaaaa += einsum(x306, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -1.0 + t3new_aaaaaa += einsum(x306, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 + t3new_aaaaaa += einsum(x306, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -1.0 + t3new_aaaaaa += einsum(x306, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) + t3new_aaaaaa += einsum(x306, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) + t3new_aaaaaa += einsum(x306, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) + del x306 + x307 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x307 += einsum(t2.abab, (0, 1, 2, 3), v.bbbb.ovvv, (4, 5, 6, 3), (1, 4, 5, 6, 0, 2)) + x308 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x308 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.abaaba, (4, 5, 0, 6, 7, 1), (5, 2, 7, 3, 4, 6)) + x309 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x309 += einsum(x127, (0, 1, 2, 3), t3.abaaba, (4, 5, 2, 6, 7, 3), (0, 5, 7, 1, 4, 6)) + x310 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x310 += einsum(t2.bbbb, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.00000000000002 + x310 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1)) * -1.0 + x311 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x311 += einsum(x310, (0, 1, 2, 3), x7, (0, 4, 2, 5), (4, 1, 5, 3)) + del x310 + x312 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x312 += einsum(x111, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.00000000000001 + x312 += einsum(x311, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x311 + x313 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x313 += einsum(x312, (0, 1, 2, 3), t3.babbab, (4, 5, 1, 6, 7, 3), (0, 4, 2, 6, 5, 7)) * 2.0 + del x312 + x314 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x314 += einsum(t2.abab, (0, 1, 2, 3), x11, (0, 4, 2, 5), (1, 3, 4, 5)) * 1.00000000000001 + x315 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x315 += einsum(t2.bbbb, (0, 1, 2, 3), (0, 1, 2, 3)) + x315 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1)) * -0.499999999999995 + x316 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x316 += einsum(v.aabb.ovov, (0, 1, 2, 3), x315, (2, 4, 3, 5), (4, 5, 0, 1)) * 2.00000000000002 + x317 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x317 += einsum(x314, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x317 += einsum(x316, (0, 1, 2, 3), (0, 1, 2, 3)) + del x316 + x318 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x318 += einsum(x317, (0, 1, 2, 3), t3.abaaba, (4, 5, 2, 6, 7, 3), (5, 0, 7, 1, 4, 6)) * 2.0 + del x317 + x319 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x319 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), (0, 2, 3, 5, 1, 4)) + x319 += einsum(t1.bb, (0, 1), t2.abab, (2, 3, 4, 5), (0, 3, 5, 1, 2, 4)) * -0.5 + x320 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x320 += einsum(x14, (0, 1, 2, 3), x319, (0, 4, 2, 5, 6, 7), (1, 4, 3, 5, 6, 7)) * 2.0 + x321 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x321 += einsum(x182, (0, 1, 2, 3), x319, (0, 4, 3, 5, 6, 7), (1, 4, 2, 5, 6, 7)) * -2.0 + del x319 + x322 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) + x322 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovoo, (0, 4, 5, 1), (5, 3, 2, 4)) + x323 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) + x323 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovvv, (0, 4, 5, 3), (1, 5, 2, 4)) + x324 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) + x324 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.babbab, (4, 0, 2, 5, 6, 3), (4, 5, 6, 1)) + x325 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) + x325 += einsum(v.aaaa.ovov, (0, 1, 2, 3), t3.abaaba, (0, 4, 2, 5, 6, 1), (4, 6, 5, 3)) * -1.0 + x326 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x326 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x326 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) + x326 += einsum(x109, (0, 1, 2, 3), (0, 2, 3, 1)) + x326 += einsum(x109, (0, 1, 2, 3), (0, 3, 2, 1)) * -1.0 + x327 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) + x327 += einsum(t2.abab, (0, 1, 2, 3), x326, (0, 4, 2, 5), (1, 3, 4, 5)) + del x326 + x328 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) + x328 += einsum(x13, (0, 1), t2.abab, (0, 2, 3, 4), (2, 4, 1, 3)) + x329 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) + x329 += einsum(v.aabb.vvov, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 + x329 += einsum(x105, (0, 1, 2, 3), (0, 1, 2, 3)) + x329 += einsum(x322, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x322 + x329 += einsum(x323, (0, 1, 2, 3), (0, 1, 2, 3)) + del x323 + x329 += einsum(x324, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x329 += einsum(x325, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x329 += einsum(x327, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x327 + x329 += einsum(x328, (0, 1, 2, 3), (0, 1, 3, 2)) + del x328 + x330 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x330 += einsum(t2.abab, (0, 1, 2, 3), x329, (4, 5, 6, 2), (4, 1, 5, 3, 0, 6)) + del x329 + x331 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x331 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovvv, (0, 2, 4, 5), (1, 3, 4, 5)) + x332 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x332 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x332 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) + x333 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x333 += einsum(t2.bbbb, (0, 1, 2, 3), x332, (1, 3, 4, 5), (0, 4, 5, 2)) * 2.0 + del x332 + x334 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x334 += einsum(t1.bb, (0, 1), x1, (2, 0, 3, 4), (2, 3, 1, 4)) + x335 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x335 += einsum(t2.bbbb, (0, 1, 2, 3), x7, (1, 4, 3, 5), (4, 0, 5, 2)) * 2.0 + x336 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x336 += einsum(x334, (0, 1, 2, 3), (0, 1, 2, 3)) + del x334 + x336 += einsum(x111, (0, 1, 2, 3), (0, 1, 2, 3)) + x336 += einsum(x335, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + x337 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x337 += einsum(t1.bb, (0, 1), x336, (2, 0, 3, 4), (2, 3, 4, 1)) + del x336 + x338 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x338 += einsum(x157, (0, 1, 2, 3), (0, 2, 1, 3)) + x338 += einsum(x331, (0, 1, 2, 3), (0, 3, 2, 1)) + x338 += einsum(x333, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + del x333 + x338 += einsum(x337, (0, 1, 2, 3), (0, 2, 1, 3)) + del x337 + x339 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x339 += einsum(t2.abab, (0, 1, 2, 3), x338, (4, 3, 5, 6), (4, 1, 5, 6, 0, 2)) + del x338 + x340 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x340 += einsum(t2.abab, (0, 1, 2, 3), v.bbbb.ooov, (4, 5, 6, 3), (1, 4, 5, 6, 0, 2)) + x341 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x341 += einsum(t1.bb, (0, 1), x340, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) + del x340 + x342 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x342 += einsum(v.aabb.ovoo, (0, 1, 2, 3), t3.abaaba, (4, 5, 0, 6, 7, 1), (5, 2, 3, 7, 4, 6)) + x343 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x343 += einsum(x188, (0, 1, 2, 3), t3.babbab, (4, 5, 0, 6, 7, 3), (1, 2, 4, 6, 5, 7)) * 2.0 + del x188 + x344 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + x344 += einsum(t1.aa, (0, 1), v.aabb.ovoo, (0, 2, 3, 4), (3, 4, 1, 2)) + x345 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + x345 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 4, 5, 3), (1, 5, 2, 4)) + x346 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + x346 += einsum(v.aabb.vvoo, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 + x346 += einsum(x344, (0, 1, 2, 3), (1, 0, 3, 2)) + x346 += einsum(x345, (0, 1, 2, 3), (0, 1, 3, 2)) + del x345 + x347 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x347 += einsum(t2.abab, (0, 1, 2, 3), x346, (4, 5, 2, 6), (4, 5, 1, 3, 0, 6)) + del x346 + x348 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) + x348 += einsum(v.aabb.oooo, (0, 1, 2, 3), (2, 3, 0, 1)) + x348 += einsum(x136, (0, 1, 2, 3), (1, 0, 3, 2)) + x348 += einsum(x150, (0, 1, 2, 3), (0, 1, 3, 2)) + del x150 + x349 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x349 += einsum(t2.abab, (0, 1, 2, 3), x348, (4, 5, 0, 6), (4, 5, 1, 3, 6, 2)) + del x348 + x350 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + x350 += einsum(t1.aa, (0, 1), x3, (2, 3, 0, 4), (2, 3, 1, 4)) + x351 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + x351 += einsum(x129, (0, 1, 2, 3), (0, 1, 3, 2)) + x351 += einsum(x350, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x350 + x352 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x352 += einsum(t2.abab, (0, 1, 2, 3), x351, (4, 5, 2, 6), (4, 5, 1, 3, 0, 6)) + del x351 + x353 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x353 += einsum(v.aabb.ooov, (0, 1, 2, 3), (2, 3, 0, 1)) + x353 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) + x354 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) + x354 += einsum(t1.bb, (0, 1), x353, (2, 1, 3, 4), (2, 0, 3, 4)) + x355 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x355 += einsum(t2.abab, (0, 1, 2, 3), x354, (4, 5, 6, 0), (5, 4, 1, 3, 6, 2)) + del x354 + x356 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x356 += einsum(x341, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) + del x341 + x356 += einsum(x342, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -2.0 + del x342 + x356 += einsum(x343, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -1.0 + del x343 + x356 += einsum(x347, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) + del x347 + x356 += einsum(x349, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) + del x349 + x356 += einsum(x352, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x352 + x356 += einsum(x355, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 + del x355 + x357 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x357 += einsum(t1.bb, (0, 1), x356, (2, 0, 3, 4, 5, 6), (2, 3, 4, 1, 5, 6)) + del x356 + x358 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x358 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovoo, (4, 2, 5, 1), (5, 3, 0, 4)) + x359 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x359 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovvv, (4, 2, 5, 3), (1, 5, 0, 4)) + x360 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x360 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.babbab, (4, 5, 2, 6, 1, 3), (4, 6, 5, 0)) + x361 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x361 += einsum(v.aaaa.ovov, (0, 1, 2, 3), t3.abaaba, (4, 5, 2, 3, 6, 1), (5, 6, 4, 0)) * -1.0 + x362 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x362 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x362 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) + x362 += einsum(x25, (0, 1, 2, 3), (1, 0, 2, 3)) + x362 += einsum(x25, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 + x363 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x363 += einsum(t2.abab, (0, 1, 2, 3), x362, (4, 5, 0, 2), (1, 3, 4, 5)) + del x362 + x364 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x364 += einsum(v.aabb.ooov, (0, 1, 2, 3), (2, 3, 0, 1)) + x364 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) + x364 += einsum(x358, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x358 + x364 += einsum(x359, (0, 1, 2, 3), (0, 1, 2, 3)) + del x359 + x364 += einsum(x360, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x364 += einsum(x361, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x364 += einsum(x363, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x363 + x365 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x365 += einsum(t2.abab, (0, 1, 2, 3), x364, (4, 5, 6, 0), (4, 1, 5, 3, 6, 2)) + del x364 + x366 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) + x366 += einsum(t1.bb, (0, 1), v.aabb.vvvv, (2, 3, 4, 1), (0, 4, 2, 3)) + x367 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) + x367 += einsum(t1.aa, (0, 1), x127, (2, 3, 0, 4), (2, 3, 1, 4)) + x368 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) + x368 += einsum(t2.abab, (0, 1, 2, 3), x3, (4, 1, 0, 5), (4, 3, 2, 5)) + x369 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) + x369 += einsum(x366, (0, 1, 2, 3), (0, 1, 3, 2)) + del x366 + x369 += einsum(x367, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x367 + x369 += einsum(x368, (0, 1, 2, 3), (0, 1, 3, 2)) + del x368 + x370 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x370 += einsum(t2.abab, (0, 1, 2, 3), x369, (4, 5, 2, 6), (4, 1, 5, 3, 0, 6)) + del x369 + x371 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x371 += einsum(t2.abab, (0, 1, 2, 3), x3, (4, 1, 5, 2), (4, 3, 0, 5)) + x372 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x372 += einsum(v.aabb.oovv, (0, 1, 2, 3), (2, 3, 0, 1)) + x372 += einsum(x122, (0, 1, 2, 3), (1, 0, 2, 3)) + x373 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x373 += einsum(t1.bb, (0, 1), x372, (1, 2, 3, 4), (0, 2, 3, 4)) + del x372 + x374 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x374 += einsum(x371, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x371 + x374 += einsum(x373, (0, 1, 2, 3), (0, 1, 3, 2)) + del x373 + x375 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x375 += einsum(t2.abab, (0, 1, 2, 3), x374, (4, 5, 0, 6), (4, 1, 5, 3, 6, 2)) + del x374 + x376 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) + x376 += einsum(v.aabb.vvov, (0, 1, 2, 3), (2, 3, 0, 1)) + x376 += einsum(x105, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x105 + x377 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) + x377 += einsum(t2.bbbb, (0, 1, 2, 3), x376, (1, 3, 4, 5), (0, 2, 4, 5)) + del x376 + x378 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x378 += einsum(t2.abab, (0, 1, 2, 3), x377, (4, 5, 6, 2), (4, 1, 5, 3, 0, 6)) * 2.0 + del x377 + x379 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x379 += einsum(t2.bbbb, (0, 1, 2, 3), x353, (1, 3, 4, 5), (0, 2, 4, 5)) + del x353 + x380 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x380 += einsum(t2.abab, (0, 1, 2, 3), x379, (4, 5, 6, 0), (4, 1, 5, 3, 6, 2)) * 2.0 + del x379 + x381 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x381 += einsum(x307, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x307 + x381 += einsum(x308, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -2.0 + del x308 + x381 += einsum(x309, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 2.0 + del x309 + x381 += einsum(x313, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 + del x313 + x381 += einsum(x318, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) * -1.0 + del x318 + x381 += einsum(x320, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) + del x320 + x381 += einsum(x321, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) + del x321 + x381 += einsum(x330, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) + del x330 + x381 += einsum(x339, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 + del x339 + x381 += einsum(x357, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) + del x357 + x381 += einsum(x365, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) + del x365 + x381 += einsum(x370, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) + del x370 + x381 += einsum(x375, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 + del x375 + x381 += einsum(x378, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 + del x378 + x381 += einsum(x380, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x380 + t3new_babbab += einsum(x381, (0, 1, 2, 3, 4, 5), (0, 4, 1, 2, 5, 3)) * -1.0 + t3new_babbab += einsum(x381, (0, 1, 2, 3, 4, 5), (0, 4, 1, 3, 5, 2)) + t3new_babbab += einsum(x381, (0, 1, 2, 3, 4, 5), (1, 4, 0, 2, 5, 3)) + t3new_babbab += einsum(x381, (0, 1, 2, 3, 4, 5), (1, 4, 0, 3, 5, 2)) * -1.0 + del x381 + x382 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x382 += einsum(t2.bbbb, (0, 1, 2, 3), x1, (4, 0, 1, 5), (4, 2, 3, 5)) + x383 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x383 += einsum(t2.abab, (0, 1, 2, 3), x382, (4, 5, 6, 3), (4, 1, 5, 6, 0, 2)) * -1.0 + x384 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x384 += einsum(t2.abab, (0, 1, 2, 3), (1, 3, 0, 2)) + x384 += einsum(t1.aa, (0, 1), t1.bb, (2, 3), (2, 3, 0, 1)) * 0.99999999999999 + x385 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + x385 += einsum(v.aabb.ovov, (0, 1, 2, 3), x384, (4, 3, 0, 5), (2, 4, 1, 5)) * 1.00000000000001 + x386 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + x386 += einsum(x129, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + x386 += einsum(x385, (0, 1, 2, 3), (1, 0, 2, 3)) + del x385 + x387 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x387 += einsum(x386, (0, 1, 2, 3), t3.babbab, (4, 5, 1, 6, 2, 7), (0, 4, 6, 7, 5, 3)) * -2.0 + del x386 + x388 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) + x388 += einsum(x135, (0, 1, 2, 3), (0, 1, 3, 2)) + x388 += einsum(x137, (0, 1, 2, 3), (0, 1, 3, 2)) + x389 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x389 += einsum(x388, (0, 1, 2, 3), t3.babbab, (4, 2, 1, 5, 6, 7), (0, 4, 5, 7, 3, 6)) * -2.0 + del x388 + x390 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x390 += einsum(t1.aa, (0, 1), v.aabb.oooo, (2, 0, 3, 4), (3, 4, 2, 1)) + x391 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x391 += einsum(v.bbbb.ovov, (0, 1, 2, 3), t3.babbab, (4, 5, 2, 3, 6, 1), (4, 0, 5, 6)) * -1.0 + x392 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x392 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.abaaba, (4, 5, 0, 6, 3, 1), (5, 2, 4, 6)) + x393 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x393 += einsum(t2.abab, (0, 1, 2, 3), x18, (4, 5, 1, 3), (4, 5, 0, 2)) + x394 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x394 += einsum(t2.abab, (0, 1, 2, 3), x24, (4, 3, 0, 5), (4, 1, 5, 2)) + x395 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x395 += einsum(t2.abab, (0, 1, 2, 3), x106, (4, 3, 2, 5), (4, 1, 0, 5)) + x396 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x396 += einsum(x9, (0, 1), t2.abab, (2, 3, 4, 1), (0, 3, 2, 4)) + x397 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x397 += einsum(v.aabb.ovoo, (0, 1, 2, 3), x40, (0, 4, 1, 5), (2, 3, 4, 5)) * 2.0 + x398 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x398 += einsum(v.aabb.ovoo, (0, 1, 2, 3), (2, 3, 0, 1)) + x398 += einsum(x390, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x390 + x398 += einsum(x147, (0, 1, 2, 3), (1, 0, 2, 3)) + x398 += einsum(x391, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 + x398 += einsum(x392, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 + x398 += einsum(x393, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x393 + x398 += einsum(x394, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x394 + x398 += einsum(x395, (0, 1, 2, 3), (0, 1, 2, 3)) + del x395 + x398 += einsum(x396, (0, 1, 2, 3), (0, 1, 2, 3)) + del x396 + x398 += einsum(x397, (0, 1, 2, 3), (1, 0, 2, 3)) + del x397 + x399 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x399 += einsum(t2.bbbb, (0, 1, 2, 3), x398, (1, 4, 5, 6), (4, 0, 2, 3, 5, 6)) * -2.0 + del x398 + x400 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + x400 += einsum(v.aabb.vvoo, (0, 1, 2, 3), (2, 3, 0, 1)) + x400 += einsum(x344, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + x401 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x401 += einsum(x400, (0, 1, 2, 3), t3.babbab, (4, 5, 0, 6, 2, 7), (1, 4, 6, 7, 5, 3)) * -2.0 + del x400 + x402 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x402 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ooov, (4, 1, 0, 5), (4, 2, 3, 5)) * -1.0 + x403 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x403 += einsum(v.bbbb.ovov, (0, 1, 2, 3), t3.bbbbbb, (4, 0, 2, 5, 6, 3), (4, 5, 6, 1)) + x404 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x404 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.babbab, (4, 0, 2, 5, 1, 6), (4, 5, 6, 3)) + x405 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x405 += einsum(x402, (0, 1, 2, 3), (0, 2, 1, 3)) + x405 += einsum(x403, (0, 1, 2, 3), (0, 2, 1, 3)) * -3.0 + x405 += einsum(x404, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x406 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x406 += einsum(t2.abab, (0, 1, 2, 3), x405, (4, 5, 6, 3), (4, 1, 5, 6, 0, 2)) * 2.0 + del x405 + x407 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) + x407 += einsum(v.aabb.oooo, (0, 1, 2, 3), (2, 3, 0, 1)) + x407 += einsum(x136, (0, 1, 2, 3), (1, 0, 3, 2)) + x408 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x408 += einsum(x407, (0, 1, 2, 3), t3.babbab, (4, 2, 0, 5, 6, 7), (1, 4, 5, 7, 3, 6)) * -2.0 + del x407 + x409 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x409 += einsum(f.bb.oo, (0, 1), (0, 1)) + x409 += einsum(x16, (0, 1), (0, 1)) * 2.0 + x409 += einsum(x17, (0, 1), (0, 1)) + x409 += einsum(x20, (0, 1), (1, 0)) + x410 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x410 += einsum(x409, (0, 1), t3.babbab, (2, 3, 1, 4, 5, 6), (0, 2, 4, 6, 3, 5)) * -2.0 + del x409 + x411 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x411 += einsum(t1.aa, (0, 1), x135, (2, 3, 4, 0), (2, 3, 4, 1)) + x412 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x412 += einsum(x1, (0, 1, 2, 3), (0, 1, 2, 3)) + x412 += einsum(x1, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x413 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x413 += einsum(t2.abab, (0, 1, 2, 3), x412, (4, 5, 1, 3), (4, 5, 0, 2)) + x414 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x414 += einsum(x3, (0, 1, 2, 3), x40, (2, 4, 3, 5), (0, 1, 4, 5)) * 2.0 + del x40 + x415 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x415 += einsum(x411, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x411 + x415 += einsum(x413, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x413 + x415 += einsum(x149, (0, 1, 2, 3), (1, 0, 2, 3)) + del x149 + x415 += einsum(x414, (0, 1, 2, 3), (0, 1, 2, 3)) + del x414 + x416 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x416 += einsum(t2.bbbb, (0, 1, 2, 3), x415, (4, 1, 5, 6), (4, 0, 2, 3, 5, 6)) * -2.0 + del x415 + x417 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x417 += einsum(x15, (0, 1), (1, 0)) + del x15 + x417 += einsum(x19, (0, 1), (1, 0)) * -1.0 + del x19 + x418 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x418 += einsum(x417, (0, 1), t3.babbab, (2, 3, 0, 4, 5, 6), (1, 2, 4, 6, 3, 5)) * -2.0 + x419 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x419 += einsum(x383, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * 2.0 + del x383 + x419 += einsum(x387, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) + del x387 + x419 += einsum(x389, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) + del x389 + x419 += einsum(x399, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) + del x399 + x419 += einsum(x401, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) + del x401 + x419 += einsum(x406, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) + del x406 + x419 += einsum(x408, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) * -1.0 + del x408 + x419 += einsum(x410, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 + del x410 + x419 += einsum(x416, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 + del x416 + x419 += einsum(x418, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) + del x418 + t3new_babbab += einsum(x419, (0, 1, 2, 3, 4, 5), (0, 4, 1, 2, 5, 3)) * -1.0 + t3new_babbab += einsum(x419, (0, 1, 2, 3, 4, 5), (1, 4, 0, 2, 5, 3)) + del x419 + x420 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x420 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.babbab, (4, 5, 6, 7, 1, 3), (4, 6, 2, 7, 5, 0)) + x421 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x421 += einsum(t2.abab, (0, 1, 2, 3), x420, (4, 5, 1, 6, 7, 0), (4, 5, 3, 6, 7, 2)) + del x420 + x422 = np.zeros((nvir[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) + x422 += einsum(v.aabb.vvvv, (0, 1, 2, 3), (2, 3, 0, 1)) + x422 += einsum(x133, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x133 + x423 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x423 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), (0, 2, 3, 5, 1, 4)) + x423 += einsum(t1.aa, (0, 1), t2.bbbb, (2, 3, 4, 5), (2, 3, 4, 5, 0, 1)) + x424 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x424 += einsum(x422, (0, 1, 2, 3), x423, (4, 5, 0, 6, 7, 2), (4, 5, 6, 1, 7, 3)) * 2.0 + del x422 + x425 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x425 += einsum(v.aabb.oovv, (0, 1, 2, 3), (2, 3, 0, 1)) + x425 += einsum(x122, (0, 1, 2, 3), (1, 0, 3, 2)) + x426 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x426 += einsum(x425, (0, 1, 2, 3), t3.babbab, (4, 2, 5, 6, 7, 0), (4, 5, 1, 6, 3, 7)) * -2.0 + del x425 + x427 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x427 += einsum(t1.aa, (0, 1), v.aabb.oovv, (2, 0, 3, 4), (3, 4, 2, 1)) + x428 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x428 += einsum(t2.aaaa, (0, 1, 2, 3), v.aabb.ovvv, (1, 3, 4, 5), (4, 5, 0, 2)) + x429 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x429 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.abaaba, (4, 2, 0, 5, 6, 1), (6, 3, 4, 5)) + x430 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x430 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) + x430 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x431 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x431 += einsum(t2.abab, (0, 1, 2, 3), x430, (1, 4, 3, 5), (4, 5, 0, 2)) + x432 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x432 += einsum(t2.abab, (0, 1, 2, 3), x24, (1, 4, 0, 5), (4, 3, 5, 2)) + del x24 + x433 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x433 += einsum(t2.abab, (0, 1, 2, 3), x106, (1, 4, 2, 5), (4, 3, 0, 5)) + x434 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x434 += einsum(v.aabb.ovvv, (0, 1, 2, 3), (2, 3, 0, 1)) + x434 += einsum(x427, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x427 + x434 += einsum(x428, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 + del x428 + x434 += einsum(x429, (0, 1, 2, 3), (1, 0, 2, 3)) * -2.0 + x434 += einsum(x431, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x431 + x434 += einsum(x432, (0, 1, 2, 3), (0, 1, 2, 3)) + del x432 + x434 += einsum(x433, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x433 + x435 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x435 += einsum(t2.bbbb, (0, 1, 2, 3), x434, (3, 4, 5, 6), (0, 1, 4, 2, 5, 6)) * -2.0 + del x434 + x436 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x436 += einsum(v.aabb.ovov, (0, 1, 2, 3), x384, (2, 4, 5, 1), (3, 4, 0, 5)) + x437 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x437 += einsum(x121, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.99999999999999 + x437 += einsum(x436, (0, 1, 2, 3), (1, 0, 2, 3)) + x438 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x438 += einsum(x437, (0, 1, 2, 3), t3.babbab, (4, 2, 5, 6, 7, 1), (4, 5, 0, 6, 3, 7)) * -2.00000000000002 + del x437 + x439 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x439 += einsum(t1.bb, (0, 1), x430, (0, 2, 1, 3), (2, 3)) + x440 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x440 += einsum(x141, (0, 1), (1, 0)) + del x141 + x440 += einsum(x439, (0, 1), (0, 1)) * -1.0 + del x439 + x441 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x441 += einsum(x440, (0, 1), t3.babbab, (2, 3, 4, 5, 6, 0), (2, 4, 1, 5, 3, 6)) * -2.0 + x442 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x442 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), t3.babbab, (4, 5, 6, 3, 7, 1), (4, 6, 0, 2, 5, 7)) * -1.0 + x443 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x443 += einsum(x106, (0, 1, 2, 3), x423, (4, 5, 1, 6, 7, 2), (0, 4, 5, 6, 7, 3)) + del x106, x423 + x444 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x444 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) + x444 += einsum(x124, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x444 += einsum(x42, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + del x42 + x445 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x445 += einsum(t2.bbbb, (0, 1, 2, 3), x444, (4, 3, 5, 6), (4, 0, 1, 2, 5, 6)) * -1.0 + del x444 + x446 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x446 += einsum(f.bb.ov, (0, 1), (0, 1)) + x446 += einsum(x0, (0, 1), (0, 1)) + del x0 + x447 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x447 += einsum(x446, (0, 1), t3.babbab, (2, 3, 4, 5, 6, 1), (0, 2, 4, 5, 3, 6)) * -1.0 + del x446 + x448 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x448 += einsum(x442, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) + del x442 + x448 += einsum(x443, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) + del x443 + x448 += einsum(x445, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) + del x445 + x448 += einsum(x447, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) + del x447 + x449 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x449 += einsum(t1.bb, (0, 1), x448, (0, 2, 3, 4, 5, 6), (2, 3, 4, 1, 5, 6)) * 2.0 + del x448 + x450 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x450 += einsum(f.bb.vv, (0, 1), (0, 1)) + x450 += einsum(x143, (0, 1), (1, 0)) * -1.0 + x451 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x451 += einsum(x450, (0, 1), t3.babbab, (2, 3, 4, 5, 6, 0), (2, 4, 1, 5, 3, 6)) * -2.0 + del x450 + x452 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x452 += einsum(x167, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + x452 += einsum(x169, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x453 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x453 += einsum(t2.abab, (0, 1, 2, 3), x452, (4, 5, 1, 6), (4, 5, 6, 3, 0, 2)) * 2.0 + del x452 + x454 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x454 += einsum(x421, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 2.0 + del x421 + x454 += einsum(x424, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * -1.0 + del x424 + x454 += einsum(x426, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) + del x426 + x454 += einsum(x435, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) * -1.0 + del x435 + x454 += einsum(x438, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) + del x438 + x454 += einsum(x441, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) * -1.0 + del x441 + x454 += einsum(x449, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 + del x449 + x454 += einsum(x451, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) + del x451 + x454 += einsum(x453, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) * -1.0 + del x453 + t3new_babbab += einsum(x454, (0, 1, 2, 3, 4, 5), (0, 4, 1, 2, 5, 3)) * -1.0 + t3new_babbab += einsum(x454, (0, 1, 2, 3, 4, 5), (0, 4, 1, 3, 5, 2)) + del x454 + x455 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x455 += einsum(v.bbbb.ovov, (0, 1, 2, 3), t3.babbab, (0, 4, 2, 5, 6, 3), (5, 1, 4, 6)) + x456 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x456 += einsum(t2.bbbb, (0, 1, 2, 3), x455, (4, 3, 5, 6), (0, 1, 2, 4, 5, 6)) + x457 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x457 += einsum(t2.abab, (0, 1, 2, 3), x168, (4, 5, 1, 6), (5, 4, 3, 6, 0, 2)) * -1.0 + x458 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x458 += einsum(t1.bb, (0, 1), v.bbbb.ovov, (2, 3, 0, 1), (2, 3)) + x459 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x459 += einsum(t1.bb, (0, 1), x458, (0, 2), (1, 2)) + del x458 + x460 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x460 += einsum(v.bbbb.ovov, (0, 1, 2, 3), x6, (0, 2, 3, 4), (4, 1)) * 2.0 + del x6 + x461 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x461 += einsum(x459, (0, 1), (0, 1)) + del x459 + x461 += einsum(x460, (0, 1), (0, 1)) * -1.0 + del x460 + x462 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x462 += einsum(x461, (0, 1), t3.babbab, (2, 3, 4, 5, 6, 1), (2, 4, 0, 5, 3, 6)) * -2.0 + del x461 + x463 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x463 += einsum(t2.bbbb, (0, 1, 2, 3), x61, (4, 3, 5, 6), (4, 0, 1, 2, 5, 6)) + x464 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x464 += einsum(t1.bb, (0, 1), x463, (0, 2, 3, 4, 5, 6), (3, 2, 4, 1, 5, 6)) * 2.0 + del x463 + x465 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x465 += einsum(x456, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 4.0 + del x456 + x465 += einsum(x457, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -6.0 + del x457 + x465 += einsum(x462, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * -1.0 + del x462 + x465 += einsum(x464, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 + del x464 + t3new_babbab += einsum(x465, (0, 1, 2, 3, 4, 5), (1, 4, 0, 2, 5, 3)) + t3new_babbab += einsum(x465, (0, 1, 2, 3, 4, 5), (1, 4, 0, 3, 5, 2)) * -1.0 + del x465 + x466 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x466 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + x466 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x466 += einsum(x225, (0, 1, 2, 3), (1, 0, 3, 2)) * 1.00000000000001 + x466 += einsum(x11, (0, 1, 2, 3), x271, (0, 4, 2, 5), (1, 4, 3, 5)) * -2.00000000000002 + x466 += einsum(x46, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + x466 += einsum(t1.aa, (0, 1), x32, (2, 3, 0, 4), (3, 2, 4, 1)) * -1.0 + t3new_babbab += einsum(x466, (0, 1, 2, 3), t3.babbab, (4, 0, 5, 6, 2, 7), (4, 1, 5, 6, 3, 7)) * 2.0 + del x466 + x467 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x467 += einsum(t2.aaaa, (0, 1, 2, 3), (0, 1, 2, 3)) + x467 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 3, 1)) * -0.4999999999999949 + x468 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x468 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) + x468 += einsum(x124, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x124 + x468 += einsum(x38, (0, 1, 2, 3), (0, 1, 2, 3)) + x468 += einsum(t2.abab, (0, 1, 2, 3), x7, (1, 4, 3, 5), (4, 5, 0, 2)) * -1.00000000000001 + x468 += einsum(v.aabb.ovov, (0, 1, 2, 3), x467, (0, 4, 1, 5), (2, 3, 4, 5)) * 2.0000000000000204 + del x467 + t3new_babbab += einsum(x468, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 0, 6, 7, 1), (4, 2, 5, 6, 3, 7)) * 6.0 + del x468 + x469 = np.zeros((nvir[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x469 += einsum(v.bbbb.vvvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x469 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (0, 4, 1, 5), (5, 2, 4, 3)) + x469 += einsum(t1.bb, (0, 1), x107, (0, 2, 3, 4), (4, 1, 3, 2)) + t3new_babbab += einsum(x469, (0, 1, 2, 3), t3.babbab, (4, 5, 6, 0, 7, 2), (4, 5, 6, 1, 7, 3)) * -2.0 + del x469 + x470 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x470 += einsum(t2.bbbb, (0, 1, 2, 3), (0, 1, 2, 3)) + x470 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3)) + x471 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x471 += einsum(v.bbbb.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) + x471 += einsum(x184, (0, 1, 2, 3), (3, 0, 2, 1)) + x471 += einsum(x184, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 + x471 += einsum(v.bbbb.ovov, (0, 1, 2, 3), x470, (4, 5, 3, 1), (0, 5, 2, 4)) + t3new_babbab += einsum(x471, (0, 1, 2, 3), t3.babbab, (0, 4, 2, 5, 6, 7), (1, 4, 3, 5, 6, 7)) * 2.0 + del x471 + x472 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x472 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) + x472 += einsum(x185, (0, 1, 2, 3), (1, 0, 2, 3)) + x473 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x473 += einsum(t2.bbbb, (0, 1, 2, 3), x18, (4, 5, 1, 3), (4, 5, 0, 2)) * 2.0 + x474 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x474 += einsum(t2.bbbb, (0, 1, 2, 3), x190, (4, 5, 1, 3), (4, 5, 0, 2)) * 2.0 + x475 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x475 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) + x475 += einsum(x1, (0, 1, 2, 3), (0, 2, 1, 3)) + x476 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x476 += einsum(t1.bb, (0, 1), x475, (2, 3, 4, 1), (2, 3, 4, 0)) + del x475 + x477 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x477 += einsum(t1.bb, (0, 1), x476, (2, 0, 3, 4), (4, 2, 3, 1)) + x478 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x478 += einsum(x186, (0, 1, 2, 3), (0, 2, 1, 3)) + x478 += einsum(x187, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x478 += einsum(x473, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 + del x473 + x478 += einsum(x474, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x474 + x478 += einsum(x193, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 + del x193 + x478 += einsum(x477, (0, 1, 2, 3), (0, 2, 1, 3)) + del x477 + x479 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x479 += einsum(x210, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 + x479 += einsum(v.bbbb.oooo, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 + x479 += einsum(v.bbbb.oooo, (0, 1, 2, 3), (0, 2, 1, 3)) + x480 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x480 += einsum(t1.bb, (0, 1), x479, (2, 3, 0, 4), (2, 3, 4, 1)) + x481 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x481 += einsum(x472, (0, 1, 2, 3), (0, 1, 2, 3)) + x481 += einsum(x472, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + del x472 + x481 += einsum(x478, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + x481 += einsum(x478, (0, 1, 2, 3), (1, 2, 0, 3)) + del x478 + x481 += einsum(x170, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x481 += einsum(x480, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 + t3new_babbab += einsum(t2.abab, (0, 1, 2, 3), x481, (1, 4, 5, 6), (5, 0, 4, 6, 2, 3)) * -1.0 + del x481 + x482 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x482 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 + x482 += einsum(x185, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.5 + x483 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x483 += einsum(t2.bbbb, (0, 1, 2, 3), x18, (4, 5, 1, 3), (4, 5, 0, 2)) + del x18 + x484 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x484 += einsum(t2.bbbb, (0, 1, 2, 3), x190, (4, 5, 1, 3), (4, 5, 0, 2)) + del x190 + x485 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x485 += einsum(t1.bb, (0, 1), x192, (2, 3, 1, 4), (2, 3, 0, 4)) * 0.5 + del x192 + x486 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x486 += einsum(t1.bb, (0, 1), x476, (2, 0, 3, 4), (4, 2, 3, 1)) * 0.5 + del x476 + x487 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x487 += einsum(x186, (0, 1, 2, 3), (0, 2, 1, 3)) * 0.5 + x487 += einsum(x187, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 + x487 += einsum(x483, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 + del x483 + x487 += einsum(x484, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x484 + x487 += einsum(x485, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 + del x485 + x487 += einsum(x486, (0, 1, 2, 3), (0, 2, 1, 3)) + del x486 + x488 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x488 += einsum(x482, (0, 1, 2, 3), (0, 1, 2, 3)) + x488 += einsum(x482, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + del x482 + x488 += einsum(x487, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + x488 += einsum(x487, (0, 1, 2, 3), (1, 2, 0, 3)) + del x487 + x488 += einsum(x9, (0, 1), t2.bbbb, (2, 3, 4, 1), (0, 2, 3, 4)) * -1.0 + x488 += einsum(t1.bb, (0, 1), x479, (2, 3, 0, 4), (4, 3, 2, 1)) * -0.5 + del x479 + t3new_babbab += einsum(t2.abab, (0, 1, 2, 3), x488, (1, 4, 5, 6), (5, 0, 4, 3, 2, 6)) * 2.0 + del x488 + x489 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x489 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.abaaba, (4, 5, 6, 7, 3, 1), (5, 2, 4, 6, 0, 7)) + x490 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x490 += einsum(t2.abab, (0, 1, 2, 3), x489, (4, 1, 5, 6, 0, 7), (4, 3, 5, 6, 2, 7)) + del x489 + x491 = np.zeros((nvir[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) + x491 += einsum(v.aabb.vvvv, (0, 1, 2, 3), (2, 3, 0, 1)) + x491 += einsum(x132, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x132 + x492 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x492 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), (1, 4, 0, 2, 3, 5)) + x492 += einsum(t1.bb, (0, 1), t2.aaaa, (2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + x493 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x493 += einsum(x491, (0, 1, 2, 3), x492, (4, 0, 5, 6, 2, 7), (4, 1, 5, 6, 7, 3)) * 2.0 + del x491 + x494 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + x494 += einsum(v.aabb.vvoo, (0, 1, 2, 3), (2, 3, 0, 1)) + x494 += einsum(x129, (0, 1, 2, 3), (1, 0, 3, 2)) + del x129 + x495 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x495 += einsum(x494, (0, 1, 2, 3), t3.abaaba, (4, 0, 5, 6, 7, 2), (1, 7, 4, 5, 6, 3)) * -2.0 + del x494 + x496 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) + x496 += einsum(t1.bb, (0, 1), v.aabb.vvoo, (2, 3, 4, 0), (4, 1, 2, 3)) + x497 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) + x497 += einsum(t2.bbbb, (0, 1, 2, 3), v.aabb.vvov, (4, 5, 1, 3), (0, 2, 4, 5)) + x498 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) + x498 += einsum(t2.abab, (0, 1, 2, 3), x118, (0, 2, 4, 5), (1, 3, 4, 5)) + del x118 + x499 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) + x499 += einsum(t2.abab, (0, 1, 2, 3), x4, (1, 4, 0, 5), (4, 3, 5, 2)) + x500 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) + x500 += einsum(t2.abab, (0, 1, 2, 3), x104, (3, 4, 0, 5), (1, 4, 5, 2)) + x501 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) + x501 += einsum(v.aabb.vvov, (0, 1, 2, 3), (2, 3, 0, 1)) + x501 += einsum(x496, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x496 + x501 += einsum(x497, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 + del x497 + x501 += einsum(x324, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 + del x324 + x501 += einsum(x325, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 + del x325 + x501 += einsum(x498, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x498 + x501 += einsum(x499, (0, 1, 2, 3), (0, 1, 2, 3)) + del x499 + x501 += einsum(x500, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x500 + x502 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x502 += einsum(t2.aaaa, (0, 1, 2, 3), x501, (4, 5, 3, 6), (4, 5, 0, 1, 2, 6)) * -2.0 + del x501 + x503 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + x503 += einsum(v.aabb.ovov, (0, 1, 2, 3), x384, (4, 3, 0, 5), (2, 4, 1, 5)) + del x384 + x504 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + x504 += einsum(x344, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.99999999999999 + del x344 + x504 += einsum(x503, (0, 1, 2, 3), (0, 1, 3, 2)) + del x503 + x505 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x505 += einsum(x504, (0, 1, 2, 3), t3.abaaba, (4, 0, 5, 6, 7, 3), (1, 7, 4, 5, 6, 2)) * -2.00000000000002 + del x504 + x506 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x506 += einsum(f.aa.vv, (0, 1), (0, 1)) * -1.0 + x506 += einsum(x72, (0, 1), (0, 1)) + del x72 + x506 += einsum(x73, (0, 1), (0, 1)) * 2.0 + del x73 + x506 += einsum(x139, (0, 1), (1, 0)) + del x139 + x507 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x507 += einsum(x506, (0, 1), t3.abaaba, (2, 3, 4, 5, 6, 1), (3, 6, 2, 4, 5, 0)) * -2.0 + del x506 + x508 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x508 += einsum(x255, (0, 1), t3.abaaba, (2, 3, 4, 5, 6, 0), (3, 6, 2, 4, 5, 1)) * -2.0 + del x255 + x509 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x509 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), t3.abaaba, (4, 5, 6, 1, 7, 3), (5, 7, 4, 6, 0, 2)) + x510 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x510 += einsum(x104, (0, 1, 2, 3), x492, (4, 0, 5, 6, 3, 7), (4, 1, 2, 5, 6, 7)) + del x492 + x511 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x511 += einsum(t1.bb, (0, 1), v.aabb.ovoo, (2, 3, 4, 0), (4, 1, 2, 3)) + x512 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x512 += einsum(t2.bbbb, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (0, 2, 4, 5)) + x513 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x513 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) + x513 += einsum(x511, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x513 += einsum(x512, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + del x512 + x513 += einsum(x163, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x163 + x514 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x514 += einsum(t2.aaaa, (0, 1, 2, 3), x513, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) * -1.0 + del x513 + x515 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x515 += einsum(x509, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) + del x509 + x515 += einsum(x510, (0, 1, 2, 3, 4, 5), (0, 1, 4, 3, 2, 5)) + del x510 + x515 += einsum(x514, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) + del x514 + x516 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x516 += einsum(t1.aa, (0, 1), x515, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 6, 1)) * 2.0 + del x515 + x517 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x517 += einsum(x77, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x77 + x517 += einsum(x78, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x78 + x517 += einsum(x79, (0, 1, 2, 3), (0, 1, 2, 3)) * -3.0 + del x79 + x518 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x518 += einsum(t2.abab, (0, 1, 2, 3), x517, (4, 5, 0, 6), (1, 3, 4, 5, 6, 2)) * 2.0 + del x517 + x519 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x519 += einsum(x490, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -2.0 + del x490 + x519 += einsum(x493, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 + del x493 + x519 += einsum(x495, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) + del x495 + x519 += einsum(x502, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 + del x502 + x519 += einsum(x505, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) + del x505 + x519 += einsum(x507, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -1.0 + del x507 + x519 += einsum(x508, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 + del x508 + x519 += einsum(x516, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) + del x516 + x519 += einsum(x518, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -1.0 + del x518 + t3new_abaaba += einsum(x519, (0, 1, 2, 3, 4, 5), (3, 0, 2, 4, 1, 5)) + t3new_abaaba += einsum(x519, (0, 1, 2, 3, 4, 5), (3, 0, 2, 5, 1, 4)) * -1.0 + del x519 + x520 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x520 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.babbab, (4, 5, 2, 6, 7, 3), (4, 6, 5, 0, 7, 1)) + x521 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x521 += einsum(t2.abab, (0, 1, 2, 3), x64, (4, 5, 2, 6), (1, 3, 4, 0, 6, 5)) + del x64 + x522 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x522 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ooov, (4, 0, 5, 3), (1, 5, 4, 2)) + x523 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x523 += einsum(t2.abab, (0, 1, 2, 3), x522, (4, 1, 5, 6), (4, 3, 0, 5, 6, 2)) + del x522 + x524 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x524 += einsum(x38, (0, 1, 2, 3), t3.babbab, (4, 5, 0, 6, 7, 1), (4, 6, 2, 5, 7, 3)) + x525 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x525 += einsum(t2.abab, (0, 1, 2, 3), x23, (4, 3, 5, 0), (1, 4, 5, 2)) + x526 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x526 += einsum(t2.abab, (0, 1, 2, 3), x525, (4, 1, 5, 6), (4, 3, 5, 0, 6, 2)) + del x525 + x527 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x527 += einsum(t2.aaaa, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.00000000000002 + x527 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 3, 1)) * -1.0 + x528 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x528 += einsum(x527, (0, 1, 2, 3), x68, (0, 4, 5, 2), (4, 1, 5, 3)) + del x68, x527 + x529 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x529 += einsum(x225, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.00000000000001 + x529 += einsum(x528, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x528 + x530 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x530 += einsum(x529, (0, 1, 2, 3), t3.abaaba, (4, 5, 1, 6, 7, 3), (5, 7, 4, 0, 6, 2)) * 2.0 + del x529 + x531 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x531 += einsum(v.aabb.ovov, (0, 1, 2, 3), x271, (0, 4, 1, 5), (2, 3, 4, 5)) * 2.0 + del x271 + x532 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x532 += einsum(x61, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x61 + x532 += einsum(x531, (0, 1, 2, 3), (0, 1, 2, 3)) + del x531 + x533 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x533 += einsum(x532, (0, 1, 2, 3), t3.babbab, (4, 5, 0, 6, 7, 1), (4, 6, 2, 5, 3, 7)) * 2.00000000000002 + del x532 + x534 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x534 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), (1, 4, 0, 2, 3, 5)) + x534 += einsum(t1.aa, (0, 1), t2.abab, (2, 3, 4, 5), (3, 5, 0, 2, 4, 1)) * -0.5 + x535 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x535 += einsum(x28, (0, 1, 2, 3), x534, (4, 5, 0, 6, 2, 7), (4, 5, 1, 6, 3, 7)) * 2.0 + del x28, x534 + x536 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x536 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), (1, 4, 0, 2, 3, 5)) * 2.0 + x536 += einsum(t1.aa, (0, 1), t2.abab, (2, 3, 4, 5), (3, 5, 0, 2, 4, 1)) * -1.0 + x537 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x537 += einsum(x46, (0, 1, 2, 3), x536, (4, 5, 0, 6, 3, 7), (4, 5, 1, 6, 2, 7)) * -1.0 + del x46, x536 + x538 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x538 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ooov, (4, 0, 1, 5), (3, 5, 4, 2)) + x539 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x539 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.vvov, (4, 2, 1, 5), (3, 5, 0, 4)) + x540 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x540 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x540 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) + x540 += einsum(x107, (0, 1, 2, 3), (0, 2, 3, 1)) + x540 += einsum(x107, (0, 1, 2, 3), (0, 3, 2, 1)) * -1.0 + del x107 + x541 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x541 += einsum(t2.abab, (0, 1, 2, 3), x540, (1, 4, 3, 5), (4, 5, 0, 2)) + del x540 + x542 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x542 += einsum(v.aabb.ovvv, (0, 1, 2, 3), (2, 3, 0, 1)) + x542 += einsum(x103, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x543 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x543 += einsum(t2.aaaa, (0, 1, 2, 3), x542, (4, 5, 1, 3), (4, 5, 0, 2)) * 2.0 + del x542 + x544 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x544 += einsum(x9, (0, 1), t2.abab, (2, 0, 3, 4), (1, 4, 2, 3)) + del x9 + x545 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x545 += einsum(v.aabb.ovvv, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 + x545 += einsum(x103, (0, 1, 2, 3), (1, 0, 2, 3)) + del x103 + x545 += einsum(x538, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x538 + x545 += einsum(x539, (0, 1, 2, 3), (1, 0, 2, 3)) + del x539 + x545 += einsum(x455, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 + del x455 + x545 += einsum(x429, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 + del x429 + x545 += einsum(x541, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x541 + x545 += einsum(x543, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x543 + x545 += einsum(x544, (0, 1, 2, 3), (0, 1, 2, 3)) + del x544 + x546 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x546 += einsum(t2.abab, (0, 1, 2, 3), x545, (3, 4, 5, 6), (1, 4, 5, 0, 6, 2)) + del x545 + x547 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x547 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x547 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) + x548 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x548 += einsum(t2.aaaa, (0, 1, 2, 3), x547, (1, 3, 4, 5), (0, 2, 4, 5)) * 2.0 + del x547 + x549 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x549 += einsum(t1.aa, (0, 1), v.aaaa.ooov, (2, 3, 0, 4), (2, 3, 1, 4)) + x550 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x550 += einsum(x549, (0, 1, 2, 3), (1, 0, 2, 3)) + del x549 + x550 += einsum(x225, (0, 1, 2, 3), (0, 1, 2, 3)) + del x225 + x550 += einsum(x226, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x226 + x551 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x551 += einsum(t1.aa, (0, 1), x550, (2, 0, 3, 4), (2, 3, 4, 1)) + del x550 + x552 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x552 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) + x552 += einsum(x219, (0, 1, 2, 3), (0, 1, 3, 2)) + del x219 + x552 += einsum(x548, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x548 + x552 += einsum(x551, (0, 1, 2, 3), (0, 3, 1, 2)) + del x551 + x553 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x553 += einsum(t2.abab, (0, 1, 2, 3), x552, (4, 5, 6, 2), (1, 3, 4, 0, 5, 6)) + del x552 + x554 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x554 += einsum(v.aabb.ooov, (0, 1, 2, 3), t3.babbab, (4, 5, 2, 6, 7, 3), (4, 6, 5, 0, 1, 7)) + x555 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x555 += einsum(t2.abab, (0, 1, 2, 3), x25, (4, 5, 6, 2), (1, 3, 4, 0, 6, 5)) + x556 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x556 += einsum(t1.aa, (0, 1), x555, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 6, 1)) + del x555 + x557 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x557 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) + x557 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 + x558 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x558 += einsum(x557, (0, 1, 2, 3), t3.abaaba, (4, 5, 0, 6, 7, 3), (5, 7, 4, 1, 2, 6)) * 2.0 + del x557 + x559 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x559 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 1, 5), (3, 5, 0, 4)) + x560 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x560 += einsum(v.aabb.oovv, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 + x560 += einsum(x121, (0, 1, 2, 3), (1, 0, 3, 2)) + x560 += einsum(x559, (0, 1, 2, 3), (1, 0, 3, 2)) + del x559 + x561 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x561 += einsum(t2.abab, (0, 1, 2, 3), x560, (3, 4, 5, 6), (1, 4, 5, 6, 0, 2)) + del x560 + x562 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) + x562 += einsum(x136, (0, 1, 2, 3), (1, 0, 2, 3)) + x562 += einsum(x137, (0, 1, 2, 3), (1, 0, 2, 3)) + del x137 + x563 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x563 += einsum(t2.abab, (0, 1, 2, 3), x562, (1, 4, 5, 6), (4, 3, 5, 6, 0, 2)) + x564 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x564 += einsum(t1.bb, (0, 1), x23, (0, 2, 3, 4), (1, 2, 3, 4)) + x565 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x565 += einsum(x122, (0, 1, 2, 3), (1, 0, 2, 3)) + x565 += einsum(x564, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x564 + x566 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x566 += einsum(t2.abab, (0, 1, 2, 3), x565, (3, 4, 5, 6), (1, 4, 5, 6, 0, 2)) + del x565 + x567 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) + x567 += einsum(v.aabb.oooo, (0, 1, 2, 3), (2, 3, 0, 1)) + x567 += einsum(x135, (0, 1, 2, 3), (1, 0, 3, 2)) + del x135 + x568 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x568 += einsum(t2.abab, (0, 1, 2, 3), x567, (1, 4, 5, 6), (4, 3, 5, 6, 0, 2)) + x569 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x569 += einsum(x554, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 2.0 + del x554 + x569 += einsum(x556, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x556 + x569 += einsum(x558, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 + del x558 + x569 += einsum(x561, (0, 1, 2, 3, 4, 5), (0, 1, 4, 3, 2, 5)) * -1.0 + del x561 + x569 += einsum(x563, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) + del x563 + x569 += einsum(x566, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 + del x566 + x569 += einsum(x568, (0, 1, 2, 3, 4, 5), (0, 1, 4, 3, 2, 5)) * -1.0 + del x568 + x570 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x570 += einsum(t1.aa, (0, 1), x569, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 6, 1)) + del x569 + x571 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x571 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x571 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) + x571 += einsum(x1, (0, 1, 2, 3), (0, 1, 2, 3)) + x571 += einsum(x1, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x572 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x572 += einsum(t2.abab, (0, 1, 2, 3), x571, (4, 5, 1, 3), (4, 5, 0, 2)) + del x571 + x573 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x573 += einsum(t2.aaaa, (0, 1, 2, 3), x130, (4, 5, 1, 3), (4, 5, 0, 2)) * 2.0 + del x130 + x574 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x574 += einsum(v.aabb.ovoo, (0, 1, 2, 3), (2, 3, 0, 1)) + x574 += einsum(x3, (0, 1, 2, 3), (1, 0, 2, 3)) + del x3 + x574 += einsum(x391, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 + del x391 + x574 += einsum(x392, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 + del x392 + x574 += einsum(x572, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x572 + x574 += einsum(x573, (0, 1, 2, 3), (1, 0, 2, 3)) + del x573 + x575 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x575 += einsum(t2.abab, (0, 1, 2, 3), x574, (1, 4, 5, 6), (4, 3, 5, 0, 6, 2)) + del x574 + x576 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x576 += einsum(t1.bb, (0, 1), x38, (0, 2, 3, 4), (1, 2, 3, 4)) + del x38 + x577 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x577 += einsum(t2.abab, (0, 1, 2, 3), x23, (1, 4, 5, 0), (3, 4, 5, 2)) + x578 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x578 += einsum(x153, (0, 1, 2, 3), (1, 0, 2, 3)) + del x153 + x578 += einsum(x576, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x576 + x578 += einsum(x577, (0, 1, 2, 3), (1, 0, 2, 3)) + del x577 + x579 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x579 += einsum(t2.abab, (0, 1, 2, 3), x578, (3, 4, 5, 6), (1, 4, 5, 0, 6, 2)) + del x578 + x580 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x580 += einsum(v.aabb.vvov, (0, 1, 2, 3), x5, (4, 3, 5, 1), (4, 2, 5, 0)) + del x5 + x581 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x581 += einsum(x147, (0, 1, 2, 3), (1, 0, 2, 3)) + del x147 + x581 += einsum(x580, (0, 1, 2, 3), (1, 0, 2, 3)) + del x580 + x582 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x582 += einsum(t2.abab, (0, 1, 2, 3), x581, (1, 4, 5, 6), (4, 3, 5, 0, 6, 2)) + del x581 + x583 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x583 += einsum(x520, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -2.0 + del x520 + x583 += einsum(x521, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 + del x521 + x583 += einsum(x523, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x523 + x583 += einsum(x524, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 2.0 + del x524 + x583 += einsum(x526, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 + del x526 + x583 += einsum(x530, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -1.0 + del x530 + x583 += einsum(x533, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 + del x533 + x583 += einsum(x535, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) + del x535 + x583 += einsum(x537, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) + del x537 + x583 += einsum(x546, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) + del x546 + x583 += einsum(x553, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) + del x553 + x583 += einsum(x570, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 + del x570 + x583 += einsum(x575, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) + del x575 + x583 += einsum(x579, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) + del x579 + x583 += einsum(x582, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 + del x582 + t3new_abaaba += einsum(x583, (0, 1, 2, 3, 4, 5), (2, 0, 3, 4, 1, 5)) * -1.0 + t3new_abaaba += einsum(x583, (0, 1, 2, 3, 4, 5), (2, 0, 3, 5, 1, 4)) + t3new_abaaba += einsum(x583, (0, 1, 2, 3, 4, 5), (3, 0, 2, 4, 1, 5)) + t3new_abaaba += einsum(x583, (0, 1, 2, 3, 4, 5), (3, 0, 2, 5, 1, 4)) * -1.0 + del x583 + x584 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x584 += einsum(t2.abab, (0, 1, 2, 3), x261, (4, 5, 6, 2), (1, 3, 4, 0, 5, 6)) * -1.0 + del x261 + x585 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x585 += einsum(x122, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.99999999999999 + del x122 + x585 += einsum(x436, (0, 1, 2, 3), (0, 1, 3, 2)) + del x436 + x586 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x586 += einsum(x585, (0, 1, 2, 3), t3.abaaba, (4, 5, 3, 6, 0, 7), (5, 1, 4, 2, 6, 7)) * -2.00000000000002 + del x585 + x587 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x587 += einsum(x562, (0, 1, 2, 3), t3.abaaba, (4, 0, 3, 5, 6, 7), (1, 6, 4, 2, 5, 7)) * -2.0 + del x562 + x588 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x588 += einsum(t1.bb, (0, 1), v.aabb.oooo, (2, 3, 4, 0), (4, 1, 2, 3)) + x589 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x589 += einsum(t2.abab, (0, 1, 2, 3), x4, (1, 4, 5, 2), (4, 3, 5, 0)) + del x4 + x590 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x590 += einsum(t2.abab, (0, 1, 2, 3), x32, (4, 5, 0, 2), (1, 3, 4, 5)) + x591 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x591 += einsum(t2.abab, (0, 1, 2, 3), x104, (3, 4, 5, 2), (1, 4, 5, 0)) + del x104 + x592 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x592 += einsum(x13, (0, 1), t2.abab, (2, 3, 1, 4), (3, 4, 0, 2)) + del x13 + x593 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x593 += einsum(v.aabb.ooov, (0, 1, 2, 3), x113, (2, 4, 3, 5), (4, 5, 0, 1)) * 2.0 + x594 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x594 += einsum(v.aabb.ooov, (0, 1, 2, 3), (2, 3, 0, 1)) + x594 += einsum(x588, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x588 + x594 += einsum(x155, (0, 1, 2, 3), (0, 1, 3, 2)) + del x155 + x594 += einsum(x360, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 + del x360 + x594 += einsum(x361, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 + del x361 + x594 += einsum(x589, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x589 + x594 += einsum(x590, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x590 + x594 += einsum(x591, (0, 1, 2, 3), (0, 1, 2, 3)) + del x591 + x594 += einsum(x592, (0, 1, 2, 3), (0, 1, 2, 3)) + del x592 + x594 += einsum(x593, (0, 1, 2, 3), (0, 1, 3, 2)) + del x593 + x595 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x595 += einsum(t2.aaaa, (0, 1, 2, 3), x594, (4, 5, 1, 6), (4, 5, 0, 6, 2, 3)) * -2.0 + del x594 + x596 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x596 += einsum(v.aabb.oovv, (0, 1, 2, 3), (2, 3, 0, 1)) + x596 += einsum(x121, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x121 + x597 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x597 += einsum(x596, (0, 1, 2, 3), t3.abaaba, (4, 5, 2, 6, 0, 7), (5, 1, 4, 3, 6, 7)) * -2.0 + del x596 + x598 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x598 += einsum(x214, (0, 1, 2, 3), (0, 2, 1, 3)) + del x214 + x598 += einsum(x240, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + del x240 + x598 += einsum(x241, (0, 1, 2, 3), (0, 2, 1, 3)) * -3.0 + del x241 + x599 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x599 += einsum(t2.abab, (0, 1, 2, 3), x598, (4, 5, 6, 2), (1, 3, 4, 0, 5, 6)) * 2.0 + del x598 + x600 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x600 += einsum(x567, (0, 1, 2, 3), t3.abaaba, (4, 0, 2, 5, 6, 7), (1, 6, 4, 3, 5, 7)) * -2.0 + del x567 + x601 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x601 += einsum(f.aa.oo, (0, 1), (0, 1)) + x601 += einsum(x30, (0, 1), (0, 1)) + del x30 + x601 += einsum(x31, (0, 1), (0, 1)) * 2.0 + del x31 + x601 += einsum(x34, (0, 1), (1, 0)) + del x34 + x602 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x602 += einsum(x601, (0, 1), t3.abaaba, (2, 3, 1, 4, 5, 6), (3, 5, 2, 0, 4, 6)) * -2.0 + del x601 + x603 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x603 += einsum(t1.bb, (0, 1), x136, (2, 0, 3, 4), (2, 1, 3, 4)) + del x136 + x604 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x604 += einsum(t2.abab, (0, 1, 2, 3), x55, (4, 0, 5, 2), (1, 3, 4, 5)) + x605 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x605 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) + x605 += einsum(x127, (0, 1, 2, 3), (0, 1, 2, 3)) + x606 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x606 += einsum(t1.aa, (0, 1), x605, (2, 3, 4, 1), (2, 3, 4, 0)) + del x605 + x607 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x607 += einsum(x113, (0, 1, 2, 3), x23, (0, 2, 4, 5), (1, 3, 4, 5)) * 2.0 + del x23 + x608 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x608 += einsum(x603, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x603 + x608 += einsum(x604, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x604 + x608 += einsum(x606, (0, 1, 2, 3), (0, 1, 3, 2)) + del x606 + x608 += einsum(x607, (0, 1, 2, 3), (0, 1, 2, 3)) + del x607 + x609 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x609 += einsum(t2.aaaa, (0, 1, 2, 3), x608, (4, 5, 6, 1), (4, 5, 0, 6, 2, 3)) * -2.0 + del x608 + x610 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x610 += einsum(x251, (0, 1), t3.abaaba, (2, 3, 0, 4, 5, 6), (3, 5, 2, 1, 4, 6)) * -2.0 + del x251 + x611 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x611 += einsum(x584, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 2.0 + del x584 + x611 += einsum(x586, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) + del x586 + x611 += einsum(x587, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) + del x587 + x611 += einsum(x595, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) + del x595 + x611 += einsum(x597, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) + del x597 + x611 += einsum(x599, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) + del x599 + x611 += einsum(x600, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 + del x600 + x611 += einsum(x602, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -1.0 + del x602 + x611 += einsum(x609, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -1.0 + del x609 + x611 += einsum(x610, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) + del x610 + t3new_abaaba += einsum(x611, (0, 1, 2, 3, 4, 5), (2, 0, 3, 4, 1, 5)) * -1.0 + t3new_abaaba += einsum(x611, (0, 1, 2, 3, 4, 5), (3, 0, 2, 4, 1, 5)) + del x611 + x612 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x612 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + x612 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x612 += einsum(x111, (0, 1, 2, 3), (1, 0, 3, 2)) * 1.00000000000001 + x612 += einsum(x112, (0, 1, 2, 3), x315, (0, 4, 3, 5), (1, 4, 2, 5)) * -2.00000000000002 + del x112 + x612 += einsum(x115, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x115 + x612 += einsum(x116, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x116 + t3new_abaaba += einsum(x612, (0, 1, 2, 3), t3.abaaba, (4, 0, 5, 6, 2, 7), (4, 1, 5, 6, 3, 7)) * 2.0 + del x612 + x613 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x613 += einsum(t2.bbbb, (0, 1, 2, 3), (0, 1, 2, 3)) + x613 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1)) * -0.4999999999999949 + x614 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x614 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) + x614 += einsum(x511, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x511 + x614 += einsum(x127, (0, 1, 2, 3), (0, 1, 2, 3)) + x614 += einsum(x314, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x314 + x614 += einsum(v.aabb.ovov, (0, 1, 2, 3), x613, (2, 4, 3, 5), (4, 5, 0, 1)) * 2.0000000000000204 + del x613 + t3new_abaaba += einsum(x614, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 2, 6, 7, 3), (4, 0, 5, 6, 1, 7)) * 6.0 + del x614 + x615 = np.zeros((nvir[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x615 += einsum(v.aaaa.vvvv, (0, 1, 2, 3), (0, 1, 2, 3)) + x615 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (0, 4, 1, 5), (5, 2, 3, 4)) * -1.0 + x615 += einsum(t1.aa, (0, 1), x109, (0, 2, 3, 4), (4, 1, 2, 3)) * -1.0 + del x109 + t3new_abaaba += einsum(x615, (0, 1, 2, 3), t3.abaaba, (4, 5, 6, 0, 7, 3), (4, 5, 6, 2, 7, 1)) * -2.0 + del x615 + x616 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x616 += einsum(v.aaaa.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) + x616 += einsum(x49, (0, 1, 2, 3), (2, 0, 3, 1)) * -1.0 + x616 += einsum(x49, (0, 1, 2, 3), (2, 1, 3, 0)) + del x49 + x616 += einsum(x99, (0, 1, 2, 3), (1, 3, 0, 2)) + del x99 + t3new_abaaba += einsum(x616, (0, 1, 2, 3), t3.abaaba, (0, 4, 2, 5, 6, 7), (1, 4, 3, 5, 6, 7)) * 2.0 + del x616 + x617 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x617 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) + x617 += einsum(x50, (0, 1, 2, 3), (1, 0, 2, 3)) + del x50 + x618 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x618 += einsum(t2.aaaa, (0, 1, 2, 3), x32, (4, 5, 1, 3), (0, 4, 5, 2)) * 2.0 + del x32 + x619 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x619 += einsum(t2.aaaa, (0, 1, 2, 3), x55, (4, 5, 1, 3), (0, 4, 5, 2)) * 2.0 + del x55 + x620 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x620 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) + x620 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x620 += einsum(x37, (0, 1, 2, 3), (0, 1, 2, 3)) + del x37 + x621 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x621 += einsum(t1.aa, (0, 1), x620, (2, 3, 1, 4), (2, 3, 0, 4)) + del x620 + x622 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x622 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) + x622 += einsum(x25, (0, 1, 2, 3), (0, 2, 1, 3)) + del x25 + x623 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x623 += einsum(t1.aa, (0, 1), x622, (2, 3, 4, 1), (2, 3, 4, 0)) + del x622 + x624 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x624 += einsum(t1.aa, (0, 1), x623, (2, 0, 3, 4), (4, 2, 3, 1)) + del x623 + x625 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x625 += einsum(x48, (0, 1, 2, 3), (0, 2, 1, 3)) + del x48 + x625 += einsum(x52, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + del x52 + x625 += einsum(x618, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + del x618 + x625 += einsum(x619, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 + del x619 + x625 += einsum(x621, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 + del x621 + x625 += einsum(x624, (0, 1, 2, 3), (0, 2, 1, 3)) + del x624 + x626 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x626 += einsum(x617, (0, 1, 2, 3), (0, 1, 2, 3)) + x626 += einsum(x617, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + del x617 + x626 += einsum(x625, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + x626 += einsum(x625, (0, 1, 2, 3), (1, 2, 0, 3)) + del x625 + x626 += einsum(x80, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + del x80 + x626 += einsum(x295, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 + del x295 + x627 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x627 += einsum(t2.abab, (0, 1, 2, 3), x626, (0, 4, 5, 6), (1, 3, 4, 5, 6, 2)) + del x626 + t3new_abaaba += einsum(x627, (0, 1, 2, 3, 4, 5), (3, 0, 2, 4, 1, 5)) * -1.0 + t3new_abaaba += einsum(x627, (0, 1, 2, 3, 4, 5), (3, 0, 2, 5, 1, 4)) + del x627 + x628 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x628 += einsum(t2.bbbb, (0, 1, 2, 3), x430, (1, 4, 3, 5), (0, 4, 5, 2)) * 2.0 + del x430 + x629 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x629 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) + x629 += einsum(x331, (0, 1, 2, 3), (0, 1, 3, 2)) + del x331 + x629 += einsum(x628, (0, 1, 2, 3), (0, 3, 1, 2)) * -1.0 + del x628 + x630 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x630 += einsum(t2.bbbb, (0, 1, 2, 3), x629, (4, 5, 3, 6), (4, 0, 1, 5, 6, 2)) * -2.0 + del x629 + x631 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x631 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ooov, (4, 5, 6, 3), (0, 1, 4, 5, 6, 2)) + x632 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x632 += einsum(t1.bb, (0, 1), x631, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) + del x631 + x633 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x633 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + x633 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x633 += einsum(x111, (0, 1, 2, 3), (0, 1, 2, 3)) + x633 += einsum(x335, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x335 + x634 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x634 += einsum(t2.bbbb, (0, 1, 2, 3), x633, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) * -1.0 + del x633 + x635 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x635 += einsum(x632, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) + del x632 + x635 += einsum(x634, (0, 1, 2, 3, 4, 5), (3, 2, 1, 0, 5, 4)) * -1.0 + del x634 + x636 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x636 += einsum(t1.bb, (0, 1), x635, (2, 3, 0, 4, 5, 6), (2, 3, 4, 5, 6, 1)) * 2.0 + del x635 + x637 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x637 += einsum(x630, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) + del x630 + x637 += einsum(x636, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) + del x636 + t3new_bbbbbb = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + t3new_bbbbbb += einsum(x637, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 + t3new_bbbbbb += einsum(x637, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) + t3new_bbbbbb += einsum(x637, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) + t3new_bbbbbb += einsum(x637, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -1.0 + t3new_bbbbbb += einsum(x637, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -1.0 + t3new_bbbbbb += einsum(x637, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) + t3new_bbbbbb += einsum(x637, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) + t3new_bbbbbb += einsum(x637, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + t3new_bbbbbb += einsum(x637, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -1.0 + t3new_bbbbbb += einsum(x637, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) + t3new_bbbbbb += einsum(x637, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) + t3new_bbbbbb += einsum(x637, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -1.0 + t3new_bbbbbb += einsum(x637, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) + t3new_bbbbbb += einsum(x637, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -1.0 + t3new_bbbbbb += einsum(x637, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -1.0 + t3new_bbbbbb += einsum(x637, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) + t3new_bbbbbb += einsum(x637, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) + t3new_bbbbbb += einsum(x637, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -1.0 + del x637 + x638 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x638 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.babbab, (4, 0, 5, 6, 1, 7), (4, 5, 2, 6, 7, 3)) + x639 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x639 += einsum(t2.bbbb, (0, 1, 2, 3), x402, (4, 5, 6, 3), (0, 1, 4, 5, 6, 2)) + del x402 + x640 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x640 += einsum(t2.bbbb, (0, 1, 2, 3), x167, (4, 5, 1, 6), (4, 5, 0, 2, 3, 6)) + del x167 + x641 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x641 += einsum(x14, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 0, 6, 7, 2), (4, 5, 1, 6, 7, 3)) * 6.0 + del x14 + x642 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x642 += einsum(x638, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 2.0 + del x638 + x642 += einsum(x639, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -4.0 + del x639 + x642 += einsum(x640, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -4.0 + del x640 + x642 += einsum(x641, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x641 + t3new_bbbbbb += einsum(x642, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 + t3new_bbbbbb += einsum(x642, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) + t3new_bbbbbb += einsum(x642, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -1.0 + t3new_bbbbbb += einsum(x642, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) + t3new_bbbbbb += einsum(x642, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + t3new_bbbbbb += einsum(x642, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) + t3new_bbbbbb += einsum(x642, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) + t3new_bbbbbb += einsum(x642, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -1.0 + t3new_bbbbbb += einsum(x642, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) + del x642 + x643 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x643 += einsum(x127, (0, 1, 2, 3), t3.babbab, (4, 2, 5, 6, 3, 7), (0, 4, 5, 6, 7, 1)) + del x127 + x644 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x644 += einsum(t2.bbbb, (0, 1, 2, 3), x382, (4, 5, 6, 3), (4, 0, 1, 5, 6, 2)) * -1.0 + del x382 + x645 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x645 += einsum(x182, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 0, 6, 7, 3), (4, 5, 1, 6, 7, 2)) * -6.0 + x646 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x646 += einsum(x168, (0, 1, 2, 3), (0, 1, 2, 3)) + del x168 + x646 += einsum(x169, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.3333333333333333 + del x169 + x647 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x647 += einsum(t2.bbbb, (0, 1, 2, 3), x646, (4, 5, 1, 6), (4, 5, 0, 6, 2, 3)) * -12.0 + del x646 + x648 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x648 += einsum(x643, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 2.0 + del x643 + x648 += einsum(x644, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -4.0 + del x644 + x648 += einsum(x645, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) + del x645 + x648 += einsum(x647, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) + del x647 + t3new_bbbbbb += einsum(x648, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + t3new_bbbbbb += einsum(x648, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 + t3new_bbbbbb += einsum(x648, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) + t3new_bbbbbb += einsum(x648, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) + t3new_bbbbbb += einsum(x648, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) * -1.0 + t3new_bbbbbb += einsum(x648, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) + t3new_bbbbbb += einsum(x648, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -1.0 + t3new_bbbbbb += einsum(x648, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) + t3new_bbbbbb += einsum(x648, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * -1.0 + del x648 + x649 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x649 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 6, 7, 1, 3), (4, 5, 6, 0, 7, 2)) + x650 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x650 += einsum(t1.bb, (0, 1), x649, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) + del x649 + t3new_bbbbbb += einsum(x650, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 6.0 + t3new_bbbbbb += einsum(x650, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -6.0 + t3new_bbbbbb += einsum(x650, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -6.0 + t3new_bbbbbb += einsum(x650, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * 6.0 + t3new_bbbbbb += einsum(x650, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 6.0 + t3new_bbbbbb += einsum(x650, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -6.0 + del x650 + x651 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x651 += einsum(x440, (0, 1), t3.bbbbbb, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 6, 1)) * 6.0 + del x440 + x652 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x652 += einsum(v.bbbb.ovov, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 6, 7, 3, 1), (4, 5, 6, 0, 2, 7)) * -1.0 + x653 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x653 += einsum(x470, (0, 1, 2, 3), x652, (4, 5, 6, 0, 1, 7), (4, 5, 6, 2, 3, 7)) * 6.0 + del x470, x652 + x654 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x654 += einsum(x651, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) + del x651 + x654 += einsum(x653, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 + del x653 + t3new_bbbbbb += einsum(x654, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + t3new_bbbbbb += einsum(x654, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 + t3new_bbbbbb += einsum(x654, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) + del x654 + x655 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x655 += einsum(t2.bbbb, (0, 1, 2, 3), x157, (4, 5, 3, 6), (4, 0, 1, 2, 6, 5)) + del x157 + x656 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x656 += einsum(t2.bbbb, (0, 1, 2, 3), x1, (4, 5, 6, 3), (4, 0, 1, 6, 5, 2)) + del x1 + x657 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x657 += einsum(t1.bb, (0, 1), x656, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) + del x656 + x658 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x658 += einsum(t2.bbbb, (0, 1, 2, 3), x182, (4, 5, 6, 3), (5, 4, 0, 1, 6, 2)) + del x182 + x659 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x659 += einsum(x657, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 + del x657 + x659 += einsum(x658, (0, 1, 2, 3, 4, 5), (0, 3, 2, 1, 5, 4)) * -1.0 + del x658 + x660 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x660 += einsum(t1.bb, (0, 1), x659, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 6, 1)) * 2.0 + del x659 + x661 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x661 += einsum(x655, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -2.0 + del x655 + x661 += einsum(x660, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -1.0 + del x660 + t3new_bbbbbb += einsum(x661, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 + t3new_bbbbbb += einsum(x661, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) + t3new_bbbbbb += einsum(x661, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) + t3new_bbbbbb += einsum(x661, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -1.0 + t3new_bbbbbb += einsum(x661, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -1.0 + t3new_bbbbbb += einsum(x661, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) + t3new_bbbbbb += einsum(x661, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) * -1.0 + t3new_bbbbbb += einsum(x661, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) + t3new_bbbbbb += einsum(x661, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) + t3new_bbbbbb += einsum(x661, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 + t3new_bbbbbb += einsum(x661, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * -1.0 + t3new_bbbbbb += einsum(x661, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) + t3new_bbbbbb += einsum(x661, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) + t3new_bbbbbb += einsum(x661, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -1.0 + t3new_bbbbbb += einsum(x661, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -1.0 + t3new_bbbbbb += einsum(x661, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) + t3new_bbbbbb += einsum(x661, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) + t3new_bbbbbb += einsum(x661, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -1.0 + del x661 + x662 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x662 += einsum(v.bbbb.oooo, (0, 1, 2, 3), t3.bbbbbb, (4, 3, 1, 5, 6, 7), (4, 0, 2, 5, 6, 7)) * -1.0 + x663 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x663 += einsum(f.bb.oo, (0, 1), (0, 1)) + x663 += einsum(x16, (0, 1), (1, 0)) * 2.0 + del x16 + x663 += einsum(x17, (0, 1), (1, 0)) + del x17 + x663 += einsum(x20, (0, 1), (0, 1)) + del x20 + x664 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x664 += einsum(x663, (0, 1), t3.bbbbbb, (2, 3, 0, 4, 5, 6), (2, 3, 1, 4, 5, 6)) * 6.0 + del x663 + x665 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x665 += einsum(x662, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 6.0 + del x662 + x665 += einsum(x664, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) + del x664 + t3new_bbbbbb += einsum(x665, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -1.0 + t3new_bbbbbb += einsum(x665, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 + t3new_bbbbbb += einsum(x665, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) + del x665 + x666 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x666 += einsum(v.bbbb.vvvv, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 6, 7, 3, 1), (4, 5, 6, 7, 0, 2)) * -1.0 + x667 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x667 += einsum(f.bb.vv, (0, 1), (0, 1)) * -1.0 + x667 += einsum(x142, (0, 1), (1, 0)) * 2.0 + del x142 + x667 += einsum(x143, (0, 1), (1, 0)) + del x143 + x667 += einsum(x145, (0, 1), (0, 1)) + del x145 + x668 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x668 += einsum(x667, (0, 1), t3.bbbbbb, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 6, 1)) * 6.0 + del x667 + x669 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x669 += einsum(x666, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -6.0 + del x666 + x669 += einsum(x668, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -1.0 + del x668 + t3new_bbbbbb += einsum(x669, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + t3new_bbbbbb += einsum(x669, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 + t3new_bbbbbb += einsum(x669, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) + del x669 + x670 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x670 += einsum(x210, (0, 1, 2, 3), (1, 0, 3, 2)) + del x210 + x670 += einsum(x171, (0, 1, 2, 3), (0, 1, 2, 3)) + x671 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x671 += einsum(x670, (0, 1, 2, 3), t3.bbbbbb, (4, 2, 3, 5, 6, 7), (4, 0, 1, 5, 6, 7)) * -6.0 + del x670 + x672 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x672 += einsum(x417, (0, 1), t3.bbbbbb, (2, 3, 0, 4, 5, 6), (2, 3, 1, 4, 5, 6)) * 6.0 + del x417 + x673 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x673 += einsum(x671, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) + del x671 + x673 += einsum(x672, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -1.0 + del x672 + t3new_bbbbbb += einsum(x673, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) + t3new_bbbbbb += einsum(x673, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -1.0 + t3new_bbbbbb += einsum(x673, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * -1.0 + del x673 + x674 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x674 += einsum(x403, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + del x403 + x674 += einsum(x404, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.3333333333333333 + del x404 + x675 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x675 += einsum(t2.bbbb, (0, 1, 2, 3), x674, (4, 5, 6, 3), (4, 0, 1, 5, 6, 2)) * -12.0 + del x674 + x676 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x676 += einsum(v.aabb.ovoo, (0, 1, 2, 3), t3.babbab, (4, 0, 5, 6, 1, 7), (4, 5, 2, 3, 6, 7)) + x677 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x677 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) + x677 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 + x678 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x678 += einsum(x677, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 0, 6, 7, 3), (4, 5, 1, 2, 6, 7)) + del x677 + x679 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x679 += einsum(x676, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -0.3333333333333333 + del x676 + x679 += einsum(x678, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 + del x678 + x680 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x680 += einsum(t1.bb, (0, 1), x679, (2, 3, 0, 4, 5, 6), (2, 3, 4, 5, 6, 1)) * 6.0 + del x679 + x681 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x681 += einsum(x675, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -1.0 + del x675 + x681 += einsum(x680, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) + del x680 + t3new_bbbbbb += einsum(x681, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + t3new_bbbbbb += einsum(x681, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 + t3new_bbbbbb += einsum(x681, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) + t3new_bbbbbb += einsum(x681, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 + t3new_bbbbbb += einsum(x681, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) + t3new_bbbbbb += einsum(x681, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 + t3new_bbbbbb += einsum(x681, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -1.0 + t3new_bbbbbb += einsum(x681, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) + t3new_bbbbbb += einsum(x681, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -1.0 + del x681 + x682 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x682 += einsum(t2.bbbb, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0000000000000204 + x682 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1)) * -1.0 + x683 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x683 += einsum(x682, (0, 1, 2, 3), x7, (0, 4, 2, 5), (4, 1, 5, 3)) * 0.4999999999999949 + del x7, x682 + x684 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x684 += einsum(x111, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.49999999999999983 + del x111 + x684 += einsum(x683, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x683 + x685 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x685 += einsum(x684, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 1, 6, 7, 3), (4, 5, 0, 6, 7, 2)) * 12.000000000000123 + del x684 + x686 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x686 += einsum(t2.abab, (0, 1, 2, 3), x11, (0, 4, 2, 5), (1, 3, 4, 5)) * 0.5 + del x11 + x687 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x687 += einsum(v.aabb.ovov, (0, 1, 2, 3), x315, (2, 4, 3, 5), (4, 5, 0, 1)) + del x315 + x688 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x688 += einsum(x686, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x686 + x688 += einsum(x687, (0, 1, 2, 3), (0, 1, 2, 3)) + del x687 + x689 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x689 += einsum(x688, (0, 1, 2, 3), t3.babbab, (4, 2, 5, 6, 3, 7), (0, 4, 5, 1, 6, 7)) * 4.00000000000004 + del x688 + x690 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x690 += einsum(x685, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) + del x685 + x690 += einsum(x689, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) + del x689 + t3new_bbbbbb += einsum(x690, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + t3new_bbbbbb += einsum(x690, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 + t3new_bbbbbb += einsum(x690, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) + t3new_bbbbbb += einsum(x690, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) + t3new_bbbbbb += einsum(x690, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -1.0 + t3new_bbbbbb += einsum(x690, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) + t3new_bbbbbb += einsum(x690, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -1.0 + t3new_bbbbbb += einsum(x690, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) + t3new_bbbbbb += einsum(x690, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -1.0 + del x690 + x691 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x691 += einsum(x184, (0, 1, 2, 3), t3.bbbbbb, (4, 2, 3, 5, 6, 7), (0, 4, 1, 5, 6, 7)) + del x184 + t3new_bbbbbb += einsum(x691, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 6.0 + t3new_bbbbbb += einsum(x691, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -6.0 + t3new_bbbbbb += einsum(x691, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -6.0 + t3new_bbbbbb += einsum(x691, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * 6.0 + t3new_bbbbbb += einsum(x691, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 6.0 + t3new_bbbbbb += einsum(x691, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -6.0 + del x691 + x692 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x692 += einsum(t1.bb, (0, 1), v.bbbb.oovv, (2, 3, 4, 1), (0, 2, 3, 4)) + x693 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x693 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ooov, (4, 5, 1, 3), (0, 4, 5, 2)) + x694 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x694 += einsum(x692, (0, 1, 2, 3), (0, 2, 1, 3)) + del x692 + x694 += einsum(x693, (0, 1, 2, 3), (0, 2, 1, 3)) * 2.0 + del x693 + x694 += einsum(x186, (0, 1, 2, 3), (0, 2, 1, 3)) + del x186 + x695 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x695 += einsum(t1.bb, (0, 1), x171, (2, 3, 0, 4), (3, 2, 4, 1)) + del x171 + x696 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x696 += einsum(t2.bbbb, (0, 1, 2, 3), x412, (4, 5, 1, 3), (4, 5, 0, 2)) * 2.0 + del x412 + x697 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x697 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + x697 += einsum(x177, (0, 1, 2, 3), (1, 0, 2, 3)) + del x177 + x698 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x698 += einsum(t1.bb, (0, 1), x697, (2, 3, 1, 4), (2, 3, 0, 4)) + del x697 + x699 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x699 += einsum(v.bbbb.ooov, (0, 1, 2, 3), x113, (1, 4, 3, 5), (4, 0, 2, 5)) * 2.0 + del x113 + x700 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x700 += einsum(x695, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x695 + x700 += einsum(x187, (0, 1, 2, 3), (0, 1, 2, 3)) + del x187 + x700 += einsum(x696, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + del x696 + x700 += einsum(x698, (0, 1, 2, 3), (2, 1, 0, 3)) + del x698 + x700 += einsum(x699, (0, 1, 2, 3), (0, 1, 2, 3)) + del x699 + x701 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x701 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x701 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) + x701 += einsum(x694, (0, 1, 2, 3), (0, 1, 2, 3)) + x701 += einsum(x694, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x694 + x701 += einsum(x700, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x701 += einsum(x700, (0, 1, 2, 3), (1, 0, 2, 3)) + del x700 + x701 += einsum(x185, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x701 += einsum(x185, (0, 1, 2, 3), (1, 0, 2, 3)) + del x185 + x701 += einsum(x170, (0, 1, 2, 3), (2, 1, 0, 3)) + del x170 + x701 += einsum(x480, (0, 1, 2, 3), (1, 0, 2, 3)) + del x480 + x702 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x702 += einsum(t2.bbbb, (0, 1, 2, 3), x701, (4, 5, 1, 6), (4, 5, 0, 6, 2, 3)) * -2.0 + del x701 + t3new_bbbbbb += einsum(x702, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) + t3new_bbbbbb += einsum(x702, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) + t3new_bbbbbb += einsum(x702, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) + t3new_bbbbbb += einsum(x702, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) + t3new_bbbbbb += einsum(x702, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) + t3new_bbbbbb += einsum(x702, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -1.0 + t3new_bbbbbb += einsum(x702, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -1.0 + t3new_bbbbbb += einsum(x702, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 + t3new_bbbbbb += einsum(x702, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 + del x702 + + t1new.aa = t1new_aa + t1new.bb = t1new_bb + t2new.aaaa = t2new_aaaa + t2new.abab = t2new_abab + t2new.bbbb = t2new_bbbb + t3new.aaaaaa = t3new_aaaaaa + t3new.abaaba = t3new_abaaba + t3new.babbab = t3new_babbab + t3new.bbbbbb = t3new_bbbbbb + + return {"t1new": t1new, "t2new": t2new, "t3new": t3new} + +def update_lams(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, t3=None, l1=None, l2=None, l3=None, **kwargs): + l1new = Namespace() + l2new = Namespace() + l3new = Namespace() + + # L amplitudes + l1new_bb = np.zeros((nvir[1], nocc[1]), dtype=types[float]) + l1new_bb += einsum(f.bb.ov, (0, 1), (1, 0)) + l1new_bb += einsum(l2.bbbb, (0, 1, 2, 3), v.bbbb.ovvv, (3, 0, 4, 1), (4, 2)) * -2.0 + l1new_aa = np.zeros((nvir[0], nocc[0]), dtype=types[float]) + l1new_aa += einsum(f.aa.ov, (0, 1), (1, 0)) + l2new_aaaa = np.zeros((nvir[0], nvir[0], nocc[0], nocc[0]), dtype=types[float]) + l2new_aaaa += einsum(l2.aaaa, (0, 1, 2, 3), v.aaaa.vvvv, (4, 1, 5, 0), (4, 5, 2, 3)) * -2.0 + l2new_abab = np.zeros((nvir[0], nvir[1], nocc[0], nocc[1]), dtype=types[float]) + l2new_abab += einsum(l1.aa, (0, 1), v.aabb.vvov, (2, 0, 3, 4), (2, 4, 1, 3)) + l2new_abab += einsum(v.aabb.ovov, (0, 1, 2, 3), (1, 3, 0, 2)) + l2new_abab += einsum(l1.bb, (0, 1), v.aabb.ovvv, (2, 3, 4, 0), (3, 4, 2, 1)) + l2new_abab += einsum(l2.abab, (0, 1, 2, 3), v.aabb.vvvv, (4, 0, 5, 1), (4, 5, 2, 3)) + l2new_bbbb = np.zeros((nvir[1], nvir[1], nocc[1], nocc[1]), dtype=types[float]) + l2new_bbbb += einsum(l2.bbbb, (0, 1, 2, 3), v.bbbb.vvvv, (4, 0, 5, 1), (4, 5, 2, 3)) * 2.0 + l3new_aaaaaa = np.zeros((nvir[0], nvir[0], nvir[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + l3new_aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (0, 5, 3, 1, 2, 4)) * -1.0 + l3new_aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (0, 3, 5, 1, 2, 4)) + l3new_aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (5, 0, 3, 1, 2, 4)) + l3new_aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (3, 0, 5, 1, 2, 4)) * -1.0 + l3new_aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (5, 3, 0, 1, 2, 4)) * -1.0 + l3new_aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (3, 5, 0, 1, 2, 4)) + l3new_aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (0, 5, 3, 2, 1, 4)) + l3new_aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (0, 3, 5, 2, 1, 4)) * -1.0 + l3new_aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (5, 0, 3, 2, 1, 4)) * -1.0 + l3new_aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (3, 0, 5, 2, 1, 4)) + l3new_aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (5, 3, 0, 2, 1, 4)) + l3new_aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (3, 5, 0, 2, 1, 4)) * -1.0 + l3new_aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (0, 5, 3, 2, 4, 1)) * -1.0 + l3new_aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (0, 3, 5, 2, 4, 1)) + l3new_aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (5, 0, 3, 2, 4, 1)) + l3new_aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (3, 0, 5, 2, 4, 1)) * -1.0 + l3new_aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (5, 3, 0, 2, 4, 1)) * -1.0 + l3new_aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (3, 5, 0, 2, 4, 1)) + l3new_babbab = np.zeros((nvir[1], nvir[0], nvir[1], nocc[1], nocc[0], nocc[1]), dtype=types[float]) + l3new_babbab += einsum(v.bbbb.vvvv, (0, 1, 2, 3), l3.babbab, (3, 4, 1, 5, 6, 7), (0, 4, 2, 5, 6, 7)) * -2.0 + l3new_abaaba = np.zeros((nvir[0], nvir[1], nvir[0], nocc[0], nocc[1], nocc[0]), dtype=types[float]) + l3new_abaaba += einsum(v.aaaa.vvvv, (0, 1, 2, 3), l3.abaaba, (1, 4, 3, 5, 6, 7), (0, 4, 2, 5, 6, 7)) * 2.0 + l3new_bbbbbb = np.zeros((nvir[1], nvir[1], nvir[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + l3new_bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (0, 5, 3, 1, 2, 4)) * -1.0 + l3new_bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (0, 3, 5, 1, 2, 4)) + l3new_bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (5, 0, 3, 1, 2, 4)) + l3new_bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (3, 0, 5, 1, 2, 4)) * -1.0 + l3new_bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (5, 3, 0, 1, 2, 4)) * -1.0 + l3new_bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (3, 5, 0, 1, 2, 4)) + l3new_bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (0, 5, 3, 2, 1, 4)) + l3new_bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (0, 3, 5, 2, 1, 4)) * -1.0 + l3new_bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (5, 0, 3, 2, 1, 4)) * -1.0 + l3new_bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (3, 0, 5, 2, 1, 4)) + l3new_bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (5, 3, 0, 2, 1, 4)) + l3new_bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (3, 5, 0, 2, 1, 4)) * -1.0 + l3new_bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (0, 5, 3, 2, 4, 1)) * -1.0 + l3new_bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (0, 3, 5, 2, 4, 1)) + l3new_bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (5, 0, 3, 2, 4, 1)) + l3new_bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (3, 0, 5, 2, 4, 1)) * -1.0 + l3new_bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (5, 3, 0, 2, 4, 1)) * -1.0 + l3new_bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (3, 5, 0, 2, 4, 1)) + x0 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x0 += einsum(t2.bbbb, (0, 1, 2, 3), l3.bbbbbb, (4, 5, 3, 6, 0, 1), (6, 4, 5, 2)) + l1new_bb += einsum(v.bbbb.vvvv, (0, 1, 2, 3), x0, (4, 3, 1, 2), (0, 4)) * -6.0 + x1 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x1 += einsum(t1.bb, (0, 1), l2.bbbb, (2, 1, 3, 4), (3, 4, 0, 2)) + x2 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x2 += einsum(t1.bb, (0, 1), x1, (2, 3, 4, 1), (3, 2, 4, 0)) + l1new_bb += einsum(v.bbbb.ooov, (0, 1, 2, 3), x2, (4, 1, 0, 2), (3, 4)) * -2.0 + x3 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x3 += einsum(t1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) + x4 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x4 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x4 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) + x4 += einsum(x3, (0, 1, 2, 3), (0, 1, 2, 3)) + x4 += einsum(x3, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x5 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x5 += einsum(t1.bb, (0, 1), v.aabb.ovov, (2, 3, 4, 1), (0, 4, 2, 3)) + l2new_abab += einsum(x1, (0, 1, 2, 3), x5, (1, 2, 4, 5), (5, 3, 4, 0)) * -2.0 + x6 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x6 += einsum(v.aabb.ovoo, (0, 1, 2, 3), (2, 3, 0, 1)) + x6 += einsum(x5, (0, 1, 2, 3), (0, 1, 2, 3)) + l2new_abab += einsum(l1.bb, (0, 1), x6, (1, 2, 3, 4), (4, 0, 3, 2)) * -1.0 + x7 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x7 += einsum(t1.aa, (0, 1), v.aabb.ovov, (2, 1, 3, 4), (3, 4, 0, 2)) + x8 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x8 += einsum(v.aabb.ooov, (0, 1, 2, 3), (2, 3, 0, 1)) + x8 += einsum(x7, (0, 1, 2, 3), (0, 1, 3, 2)) + x9 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x9 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 5), (1, 4, 3, 5)) + x10 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x10 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) + x10 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x11 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x11 += einsum(t2.bbbb, (0, 1, 2, 3), x10, (1, 4, 3, 5), (0, 4, 2, 5)) * 2.0 + x12 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x12 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x12 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) + x13 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x13 += einsum(t1.bb, (0, 1), x12, (2, 3, 1, 4), (0, 2, 3, 4)) + x14 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x14 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + x14 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x14 += einsum(x9, (0, 1, 2, 3), (0, 1, 2, 3)) + x14 += einsum(x11, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x14 += einsum(x13, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + x15 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x15 += einsum(t1.aa, (0, 1), v.aabb.vvov, (2, 1, 3, 4), (3, 4, 0, 2)) + l2new_abab += einsum(l2.aaaa, (0, 1, 2, 3), x15, (4, 5, 3, 1), (0, 5, 2, 4)) * 2.0 + x16 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x16 += einsum(t2.aaaa, (0, 1, 2, 3), v.aabb.ovov, (1, 3, 4, 5), (4, 5, 0, 2)) + x17 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x17 += einsum(t2.abab, (0, 1, 2, 3), x10, (1, 4, 3, 5), (4, 5, 0, 2)) + x18 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x18 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) + x18 += einsum(x15, (0, 1, 2, 3), (0, 1, 2, 3)) + x18 += einsum(x16, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x18 += einsum(x17, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x19 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x19 += einsum(t1.aa, (0, 1), v.aabb.ovov, (0, 1, 2, 3), (2, 3)) + x20 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x20 += einsum(t1.bb, (0, 1), x10, (0, 2, 1, 3), (2, 3)) + x21 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x21 += einsum(f.bb.ov, (0, 1), (0, 1)) + x21 += einsum(x19, (0, 1), (0, 1)) + x21 += einsum(x20, (0, 1), (0, 1)) * -1.0 + l2new_abab += einsum(l1.aa, (0, 1), x21, (2, 3), (0, 3, 1, 2)) + l3new_babbab += einsum(x21, (0, 1), l2.abab, (2, 3, 4, 5), (1, 2, 3, 0, 4, 5)) + l3new_babbab += einsum(x21, (0, 1), l2.abab, (2, 3, 4, 5), (3, 2, 1, 5, 4, 0)) + l3new_babbab += einsum(x21, (0, 1), l2.abab, (2, 3, 4, 5), (3, 2, 1, 0, 4, 5)) * -1.0 + l3new_babbab += einsum(x21, (0, 1), l2.abab, (2, 3, 4, 5), (1, 2, 3, 5, 4, 0)) * -1.0 + l3new_abaaba += einsum(x21, (0, 1), l2.aaaa, (2, 3, 4, 5), (2, 1, 3, 4, 0, 5)) * 2.0 + l3new_bbbbbb += einsum(x21, (0, 1), l2.bbbb, (2, 3, 4, 5), (2, 3, 1, 4, 5, 0)) * 2.0 + l3new_bbbbbb += einsum(x21, (0, 1), l2.bbbb, (2, 3, 4, 5), (2, 3, 1, 0, 4, 5)) * 2.0 + l3new_bbbbbb += einsum(x21, (0, 1), l2.bbbb, (2, 3, 4, 5), (2, 1, 3, 4, 0, 5)) * 2.0 + l3new_bbbbbb += einsum(x21, (0, 1), l2.bbbb, (2, 3, 4, 5), (1, 2, 3, 4, 5, 0)) * 2.0 + l3new_bbbbbb += einsum(x21, (0, 1), l2.bbbb, (2, 3, 4, 5), (1, 2, 3, 0, 4, 5)) * 2.0 + l3new_bbbbbb += einsum(x21, (0, 1), l2.bbbb, (2, 3, 4, 5), (2, 3, 1, 4, 0, 5)) * -2.0 + l3new_bbbbbb += einsum(x21, (0, 1), l2.bbbb, (2, 3, 4, 5), (2, 1, 3, 4, 5, 0)) * -2.0 + l3new_bbbbbb += einsum(x21, (0, 1), l2.bbbb, (2, 3, 4, 5), (2, 1, 3, 0, 4, 5)) * -2.0 + l3new_bbbbbb += einsum(x21, (0, 1), l2.bbbb, (2, 3, 4, 5), (1, 2, 3, 4, 0, 5)) * -2.0 + x22 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + x22 += einsum(t1.bb, (0, 1), v.aabb.vvov, (2, 3, 4, 1), (0, 4, 2, 3)) + x23 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + x23 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 4, 5, 3), (1, 5, 2, 4)) + x24 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + x24 += einsum(v.aabb.vvoo, (0, 1, 2, 3), (2, 3, 0, 1)) + x24 += einsum(x22, (0, 1, 2, 3), (0, 1, 3, 2)) + x24 += einsum(x23, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + x25 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x25 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 2, 5, 3), (0, 1, 4, 5)) + x26 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x26 += einsum(t1.bb, (0, 1), x3, (2, 3, 4, 1), (0, 2, 3, 4)) + x27 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x27 += einsum(t1.bb, (0, 1), v.bbbb.ooov, (2, 3, 4, 1), (0, 2, 3, 4)) + x28 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x28 += einsum(v.bbbb.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) + x28 += einsum(x25, (0, 1, 2, 3), (3, 1, 2, 0)) + x28 += einsum(x26, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 + x28 += einsum(x27, (0, 1, 2, 3), (2, 0, 3, 1)) * -1.0 + x28 += einsum(x27, (0, 1, 2, 3), (3, 0, 2, 1)) + x29 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) + x29 += einsum(t1.aa, (0, 1), v.aabb.ovoo, (2, 1, 3, 4), (3, 4, 0, 2)) + x30 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) + x30 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 5, 3), (1, 5, 0, 4)) + x31 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x31 += einsum(v.aabb.ooov, (0, 1, 2, 3), (2, 3, 0, 1)) + x31 += einsum(x7, (0, 1, 2, 3), (0, 1, 2, 3)) + l2new_abab += einsum(l1.aa, (0, 1), x31, (2, 3, 1, 4), (0, 3, 4, 2)) * -1.0 + x32 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) + x32 += einsum(t1.bb, (0, 1), x31, (2, 1, 3, 4), (0, 2, 3, 4)) + x33 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) + x33 += einsum(v.aabb.oooo, (0, 1, 2, 3), (2, 3, 0, 1)) + x33 += einsum(x29, (0, 1, 2, 3), (1, 0, 3, 2)) + x33 += einsum(x30, (0, 1, 2, 3), (0, 1, 3, 2)) + x33 += einsum(x32, (0, 1, 2, 3), (0, 1, 3, 2)) + x34 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x34 += einsum(v.bbbb.ovov, (0, 1, 2, 3), t3.babbab, (4, 5, 6, 3, 7, 1), (4, 6, 0, 2, 5, 7)) * -1.0 + l2new_bbbb += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), x34, (3, 5, 6, 7, 4, 1), (0, 2, 6, 7)) * 1.9999999999999203 + x35 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x35 += einsum(t2.abab, (0, 1, 2, 3), v.bbbb.ooov, (4, 5, 6, 3), (1, 4, 5, 6, 0, 2)) + x36 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x36 += einsum(t2.abab, (0, 1, 2, 3), x3, (4, 5, 6, 3), (4, 1, 6, 5, 0, 2)) + x37 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x37 += einsum(x34, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -0.9999999999999601 + del x34 + x37 += einsum(x35, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) + x37 += einsum(x35, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) * -1.0 + del x35 + x37 += einsum(x36, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + x37 += einsum(x36, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 + del x36 + x38 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x38 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.babbab, (4, 5, 6, 7, 1, 3), (4, 6, 2, 7, 5, 0)) + l2new_abab += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), x38, (5, 3, 6, 2, 4, 7), (1, 0, 7, 6)) * 1.9999999999999194 + x39 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x39 += einsum(v.aabb.ovoo, (0, 1, 2, 3), (2, 3, 0, 1)) + x39 += einsum(x5, (0, 1, 2, 3), (1, 0, 2, 3)) + x40 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x40 += einsum(t2.abab, (0, 1, 2, 3), x39, (4, 5, 6, 2), (1, 4, 5, 3, 0, 6)) + x41 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x41 += einsum(x38, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 0.9999999999999597 + x41 += einsum(t2.bbbb, (0, 1, 2, 3), x31, (4, 3, 5, 6), (0, 1, 4, 2, 6, 5)) + x41 += einsum(x40, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) * -1.0 + x42 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x42 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), t3.babbab, (4, 5, 6, 3, 7, 1), (0, 4, 6, 2, 5, 7)) * -0.9999999999999601 + x42 += einsum(v.aabb.vvov, (0, 1, 2, 3), t3.babbab, (4, 5, 6, 7, 1, 3), (2, 4, 6, 7, 5, 0)) * -0.9999999999999597 + x42 += einsum(x4, (0, 1, 2, 3), t3.babbab, (4, 5, 1, 6, 7, 3), (2, 4, 0, 6, 5, 7)) * -2.0 + x42 += einsum(x6, (0, 1, 2, 3), t3.abaaba, (4, 5, 2, 6, 7, 3), (1, 5, 0, 7, 4, 6)) * -2.0 + x42 += einsum(x8, (0, 1, 2, 3), t3.babbab, (4, 2, 5, 6, 7, 1), (0, 4, 5, 6, 3, 7)) + x42 += einsum(t2.abab, (0, 1, 2, 3), x14, (4, 5, 6, 3), (5, 1, 4, 6, 0, 2)) + x42 += einsum(t2.bbbb, (0, 1, 2, 3), x18, (4, 3, 5, 6), (4, 0, 1, 2, 5, 6)) * -1.0 + x42 += einsum(x21, (0, 1), t3.babbab, (2, 3, 4, 5, 6, 1), (0, 2, 4, 5, 3, 6)) * -0.9999999999999597 + x42 += einsum(t2.abab, (0, 1, 2, 3), x24, (4, 5, 2, 6), (5, 1, 4, 3, 0, 6)) * -1.0 + x42 += einsum(t2.abab, (0, 1, 2, 3), x28, (1, 4, 5, 6), (5, 6, 4, 3, 0, 2)) * -1.0 + x42 += einsum(t2.abab, (0, 1, 2, 3), x33, (4, 5, 0, 6), (5, 1, 4, 3, 6, 2)) + x42 += einsum(t1.bb, (0, 1), x37, (2, 3, 4, 0, 5, 6), (4, 3, 2, 1, 5, 6)) + del x37 + x42 += einsum(t1.aa, (0, 1), x41, (2, 3, 4, 5, 0, 6), (4, 3, 2, 5, 6, 1)) * -1.0 + del x41 + l1new_bb += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), x42, (6, 3, 5, 2, 4, 1), (0, 6)) * -2.0 + del x42 + x43 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x43 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) + x43 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x43 += einsum(x3, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x43 += einsum(x3, (0, 1, 2, 3), (0, 2, 1, 3)) + x44 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x44 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.abaaba, (4, 5, 6, 7, 3, 1), (5, 2, 4, 6, 0, 7)) + l2new_abab += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), x44, (4, 6, 5, 3, 7, 2), (0, 1, 7, 6)) * 1.9999999999999194 + x45 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x45 += einsum(t2.aaaa, (0, 1, 2, 3), x39, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) * -1.0 + x46 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x46 += einsum(x44, (0, 1, 2, 3, 4, 5), (0, 1, 3, 4, 2, 5)) * 0.9999999999999597 + x46 += einsum(t2.abab, (0, 1, 2, 3), x31, (4, 3, 5, 6), (1, 4, 0, 6, 5, 2)) * -1.0 + x46 += einsum(x45, (0, 1, 2, 3, 4, 5), (1, 0, 3, 4, 2, 5)) * -1.0 + x47 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x47 += einsum(v.aabb.vvov, (0, 1, 2, 3), t3.abaaba, (4, 5, 6, 7, 3, 1), (2, 5, 4, 6, 7, 0)) * -1.9999999999999194 + x47 += einsum(x43, (0, 1, 2, 3), t3.abaaba, (4, 2, 5, 6, 3, 7), (1, 0, 4, 5, 6, 7)) * -1.0 + x47 += einsum(x6, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 2, 6, 7, 3), (1, 0, 4, 5, 6, 7)) * -3.0 + x47 += einsum(x8, (0, 1, 2, 3), t3.abaaba, (4, 5, 2, 6, 1, 7), (0, 5, 4, 3, 6, 7)) * 2.0 + x47 += einsum(t2.abab, (0, 1, 2, 3), x18, (4, 3, 5, 6), (4, 1, 0, 5, 2, 6)) * -2.0 + del x18 + x47 += einsum(x21, (0, 1), t3.abaaba, (2, 3, 4, 5, 1, 6), (0, 3, 2, 4, 5, 6)) * -0.9999999999999601 + x47 += einsum(t2.aaaa, (0, 1, 2, 3), x24, (4, 5, 3, 6), (5, 4, 0, 1, 2, 6)) * -2.0 + del x24 + x47 += einsum(t2.aaaa, (0, 1, 2, 3), x33, (4, 5, 1, 6), (5, 4, 0, 6, 2, 3)) * 2.0 + del x33 + x47 += einsum(t1.aa, (0, 1), x46, (2, 3, 4, 0, 5, 6), (3, 2, 4, 5, 6, 1)) * -2.0 + del x46 + l1new_bb += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), x47, (6, 4, 3, 5, 0, 2), (1, 6)) + del x47 + x48 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x48 += einsum(v.bbbb.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) + x48 += einsum(x25, (0, 1, 2, 3), (3, 1, 2, 0)) + x48 += einsum(x26, (0, 1, 2, 3), (3, 1, 2, 0)) + x48 += einsum(x27, (0, 1, 2, 3), (2, 1, 3, 0)) + x48 += einsum(x27, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 + x49 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x49 += einsum(v.bbbb.ovov, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 6, 7, 3, 1), (4, 5, 6, 0, 2, 7)) * -1.0 + l2new_bbbb += einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), x49, (5, 4, 3, 6, 7, 2), (0, 1, 6, 7)) * -5.9999999999997575 + x50 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x50 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ooov, (4, 5, 6, 3), (0, 1, 4, 5, 6, 2)) + x51 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x51 += einsum(t2.bbbb, (0, 1, 2, 3), x3, (4, 5, 6, 3), (4, 0, 1, 6, 5, 2)) + x52 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x52 += einsum(x49, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -0.9999999999999596 + del x49 + x52 += einsum(x50, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 + x52 += einsum(x50, (0, 1, 2, 3, 4, 5), (0, 1, 3, 4, 2, 5)) + del x50 + x52 += einsum(x51, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) * -1.0 + x52 += einsum(x51, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) + del x51 + x53 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x53 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 6, 7, 1, 3), (0, 4, 5, 6, 7, 2)) * -0.9999999999999596 + x53 += einsum(x43, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 2, 6, 7, 3), (1, 4, 0, 5, 6, 7)) * -1.5 + del x43 + x53 += einsum(x6, (0, 1, 2, 3), t3.babbab, (4, 2, 5, 6, 3, 7), (1, 4, 0, 5, 6, 7)) * -0.5 + x53 += einsum(t2.bbbb, (0, 1, 2, 3), x14, (4, 5, 6, 3), (5, 0, 4, 1, 2, 6)) + del x14 + x53 += einsum(x21, (0, 1), t3.bbbbbb, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) * 0.4999999999999798 + x53 += einsum(t2.bbbb, (0, 1, 2, 3), x48, (1, 4, 5, 6), (5, 0, 6, 4, 2, 3)) + x53 += einsum(t1.bb, (0, 1), x52, (2, 3, 4, 5, 0, 6), (5, 3, 4, 2, 6, 1)) + del x52 + l1new_bb += einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), x53, (6, 3, 5, 4, 2, 1), (0, 6)) * -6.0 + del x53 + x54 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x54 += einsum(l2.bbbb, (0, 1, 2, 3), t2.abab, (4, 3, 5, 1), (2, 0, 4, 5)) + x55 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x55 += einsum(l2.abab, (0, 1, 2, 3), t2.aaaa, (4, 2, 5, 0), (3, 1, 4, 5)) + x56 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x56 += einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), t3.babbab, (4, 6, 5, 1, 7, 2), (3, 0, 6, 7)) + x57 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x57 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.abaaba, (6, 5, 4, 7, 2, 1), (3, 0, 6, 7)) + x58 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x58 += einsum(t1.aa, (0, 1), l3.babbab, (2, 1, 3, 4, 5, 6), (4, 6, 2, 3, 5, 0)) + x59 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x59 += einsum(t2.abab, (0, 1, 2, 3), x58, (4, 1, 5, 3, 0, 6), (4, 5, 6, 2)) + x60 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x60 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.aaaaaa, (6, 3, 5, 7, 0, 2), (4, 1, 6, 7)) + x61 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x61 += einsum(t1.aa, (0, 1), l3.abaaba, (2, 3, 1, 4, 5, 6), (5, 3, 4, 6, 0, 2)) + x62 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x62 += einsum(t2.aaaa, (0, 1, 2, 3), x61, (4, 5, 0, 1, 6, 3), (4, 5, 6, 2)) * -1.0 + x63 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x63 += einsum(t1.aa, (0, 1), l2.abab, (1, 2, 3, 4), (4, 2, 3, 0)) + l2new_abab += einsum(x5, (0, 1, 2, 3), x63, (0, 4, 5, 2), (3, 4, 5, 1)) + x64 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x64 += einsum(t2.abab, (0, 1, 2, 3), l3.babbab, (4, 2, 3, 5, 6, 1), (5, 4, 6, 0)) + x65 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x65 += einsum(t2.aaaa, (0, 1, 2, 3), l3.abaaba, (2, 4, 3, 5, 6, 1), (6, 4, 5, 0)) + x66 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x66 += einsum(x63, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 + x66 += einsum(x64, (0, 1, 2, 3), (0, 1, 2, 3)) + x66 += einsum(x65, (0, 1, 2, 3), (0, 1, 2, 3)) + l2new_abab += einsum(v.aabb.ovvv, (0, 1, 2, 3), x66, (4, 3, 5, 0), (1, 2, 5, 4)) * -2.0 + l2new_abab += einsum(v.aabb.ovoo, (0, 1, 2, 3), x66, (3, 4, 5, 0), (1, 4, 5, 2)) * 2.0 + x67 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x67 += einsum(l2.abab, (0, 1, 2, 3), (3, 1, 2, 0)) + x67 += einsum(x54, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x67 += einsum(x55, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x67 += einsum(x56, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0 + x67 += einsum(x57, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.0 + x67 += einsum(x59, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 + x67 += einsum(x60, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0 + x67 += einsum(x62, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 + x67 += einsum(t1.aa, (0, 1), x66, (2, 3, 0, 4), (2, 3, 4, 1)) * -2.0 + l1new_bb += einsum(v.aabb.ovvv, (0, 1, 2, 3), x67, (4, 3, 0, 1), (2, 4)) + del x67 + x68 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) + x68 += einsum(t2.abab, (0, 1, 2, 3), l3.babbab, (4, 5, 3, 6, 0, 1), (6, 4, 5, 2)) + x69 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) + x69 += einsum(t2.aaaa, (0, 1, 2, 3), l3.abaaba, (4, 5, 3, 0, 6, 1), (6, 5, 4, 2)) + x70 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) + x70 += einsum(t1.aa, (0, 1), l2.abab, (2, 3, 0, 4), (4, 3, 2, 1)) * 0.5 + x70 += einsum(x68, (0, 1, 2, 3), (0, 1, 2, 3)) + x70 += einsum(x69, (0, 1, 2, 3), (0, 1, 2, 3)) + l1new_bb += einsum(v.aabb.vvvv, (0, 1, 2, 3), x70, (4, 3, 0, 1), (2, 4)) * 2.0 + del x70 + x71 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x71 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x71 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) + x72 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x72 += einsum(t1.bb, (0, 1), l3.bbbbbb, (2, 3, 1, 4, 5, 6), (4, 5, 6, 0, 2, 3)) + l3new_babbab += einsum(v.aabb.ovoo, (0, 1, 2, 3), x72, (4, 2, 5, 3, 6, 7), (6, 1, 7, 5, 0, 4)) * -6.0 + l3new_babbab += einsum(x5, (0, 1, 2, 3), x72, (0, 4, 5, 1, 6, 7), (7, 3, 6, 4, 2, 5)) * 6.0 + x73 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x73 += einsum(t2.bbbb, (0, 1, 2, 3), x72, (0, 4, 1, 5, 6, 3), (4, 5, 6, 2)) + x74 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x74 += einsum(t1.bb, (0, 1), l3.babbab, (2, 3, 1, 4, 5, 6), (4, 6, 0, 2, 5, 3)) + l2new_abab += einsum(x22, (0, 1, 2, 3), x74, (0, 4, 1, 5, 6, 3), (2, 5, 6, 4)) * 2.0 + x75 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x75 += einsum(t2.abab, (0, 1, 2, 3), x74, (4, 1, 5, 6, 0, 2), (4, 5, 6, 3)) + x76 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x76 += einsum(t2.bbbb, (0, 1, 2, 3), l3.bbbbbb, (4, 2, 3, 5, 6, 1), (5, 6, 0, 4)) + x77 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x77 += einsum(t2.abab, (0, 1, 2, 3), l3.babbab, (4, 2, 3, 5, 0, 6), (5, 6, 1, 4)) + x78 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x78 += einsum(x1, (0, 1, 2, 3), (1, 0, 2, 3)) + x78 += einsum(x76, (0, 1, 2, 3), (0, 1, 2, 3)) * -3.0 + x78 += einsum(x77, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + l1new_bb += einsum(v.bbbb.oovv, (0, 1, 2, 3), x78, (0, 4, 1, 3), (2, 4)) * -2.0 + x79 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x79 += einsum(x73, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0 + x79 += einsum(x75, (0, 1, 2, 3), (0, 1, 2, 3)) + x79 += einsum(t1.bb, (0, 1), x78, (0, 2, 3, 4), (2, 3, 4, 1)) + l1new_bb += einsum(x71, (0, 1, 2, 3), x79, (4, 0, 2, 1), (3, 4)) * 2.0 + del x79 + x80 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x80 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) + x80 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 + x81 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x81 += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 3, 5, 1), (2, 4, 0, 5)) + x82 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x82 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 5), (3, 4, 1, 5)) + x83 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x83 += einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), t3.bbbbbb, (6, 4, 5, 7, 1, 2), (3, 6, 0, 7)) + x84 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x84 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (6, 4, 5, 7, 1, 2), (3, 6, 0, 7)) + x85 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x85 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (3, 6, 5, 0, 7, 2), (4, 6, 1, 7)) + x86 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x86 += einsum(x81, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.0 + x86 += einsum(x82, (0, 1, 2, 3), (0, 1, 2, 3)) + x86 += einsum(x83, (0, 1, 2, 3), (0, 1, 2, 3)) * 9.0 + x86 += einsum(x84, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.0 + x86 += einsum(x85, (0, 1, 2, 3), (0, 1, 2, 3)) + l1new_bb += einsum(x80, (0, 1, 2, 3), x86, (4, 0, 2, 1), (3, 4)) + del x86 + x87 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + x87 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 5, 1), (3, 4, 0, 5)) + x88 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + x88 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (6, 4, 5, 0, 7, 2), (3, 6, 1, 7)) + x89 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + x89 += einsum(t2.abab, (0, 1, 2, 3), x74, (4, 1, 5, 3, 0, 6), (4, 5, 6, 2)) * -1.0 + x90 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + x90 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (3, 6, 5, 7, 1, 2), (4, 6, 0, 7)) + x91 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x91 += einsum(t1.bb, (0, 1), l3.abaaba, (2, 1, 3, 4, 5, 6), (5, 0, 4, 6, 2, 3)) + l3new_abaaba += einsum(x21, (0, 1), x91, (2, 0, 3, 4, 5, 6), (5, 1, 6, 4, 2, 3)) * 2.0 + x92 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + x92 += einsum(t2.aaaa, (0, 1, 2, 3), x91, (4, 5, 0, 1, 3, 6), (4, 5, 6, 2)) * -1.0 + x93 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x93 += einsum(t1.bb, (0, 1), l2.abab, (2, 1, 3, 4), (4, 0, 3, 2)) + l2new_abab += einsum(x7, (0, 1, 2, 3), x93, (4, 0, 2, 5), (5, 1, 3, 4)) + x94 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x94 += einsum(t2.bbbb, (0, 1, 2, 3), l3.babbab, (2, 4, 3, 5, 6, 1), (5, 0, 6, 4)) + x95 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x95 += einsum(t2.abab, (0, 1, 2, 3), l3.abaaba, (4, 3, 2, 5, 6, 0), (6, 1, 5, 4)) + x96 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x96 += einsum(x93, (0, 1, 2, 3), (0, 1, 2, 3)) + x96 += einsum(x94, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x96 += einsum(x95, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x97 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + x97 += einsum(x87, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 + x97 += einsum(x88, (0, 1, 2, 3), (0, 1, 2, 3)) + x97 += einsum(x89, (0, 1, 2, 3), (0, 1, 3, 2)) + x97 += einsum(x90, (0, 1, 2, 3), (0, 1, 2, 3)) + x97 += einsum(x92, (0, 1, 2, 3), (0, 1, 3, 2)) + x97 += einsum(t1.aa, (0, 1), x96, (2, 3, 0, 4), (2, 3, 1, 4)) * 0.5 + l1new_bb += einsum(v.aabb.vvov, (0, 1, 2, 3), x97, (4, 2, 1, 0), (3, 4)) * -2.0 + del x97 + x98 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x98 += einsum(t1.bb, (0, 1), x58, (2, 3, 4, 1, 5, 6), (2, 3, 0, 4, 5, 6)) + x99 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x99 += einsum(t1.bb, (0, 1), x61, (2, 1, 3, 4, 5, 6), (2, 0, 3, 4, 5, 6)) + x100 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) + x100 += einsum(x68, (0, 1, 2, 3), (0, 1, 2, 3)) + del x68 + x100 += einsum(x69, (0, 1, 2, 3), (0, 1, 2, 3)) + del x69 + l2new_abab += einsum(v.aabb.ovvv, (0, 1, 2, 3), x100, (4, 3, 5, 1), (5, 2, 0, 4)) * -2.0 + l2new_abab += einsum(x100, (0, 1, 2, 3), x6, (0, 4, 5, 3), (2, 1, 5, 4)) * 2.0 + x101 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x101 += einsum(x63, (0, 1, 2, 3), (0, 1, 2, 3)) + x101 += einsum(x64, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x101 += einsum(x65, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + l1new_bb += einsum(v.aabb.oovv, (0, 1, 2, 3), x101, (4, 3, 0, 1), (2, 4)) * -1.0 + x102 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) + x102 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 5, 0, 1), (3, 5, 2, 4)) + x103 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) + x103 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (6, 7, 5, 0, 1, 2), (3, 6, 4, 7)) + x104 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) + x104 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (6, 7, 5, 0, 1, 2), (4, 7, 3, 6)) + x105 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) + x105 += einsum(t1.bb, (0, 1), x101, (2, 1, 3, 4), (0, 2, 3, 4)) + x106 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x106 += einsum(x94, (0, 1, 2, 3), (0, 1, 2, 3)) + x106 += einsum(x95, (0, 1, 2, 3), (0, 1, 2, 3)) + x107 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) + x107 += einsum(t1.aa, (0, 1), x106, (2, 3, 4, 1), (2, 3, 0, 4)) * 2.0 + x108 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) + x108 += einsum(x102, (0, 1, 2, 3), (0, 1, 2, 3)) + x108 += einsum(x103, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.9999999999999194 + x108 += einsum(x104, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.9999999999999194 + x108 += einsum(x105, (0, 1, 2, 3), (1, 0, 2, 3)) + x108 += einsum(x107, (0, 1, 2, 3), (0, 1, 3, 2)) + l2new_abab += einsum(v.aabb.ovov, (0, 1, 2, 3), x108, (4, 2, 5, 0), (1, 3, 5, 4)) + x109 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x109 += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 3, 0, 1), (2, 4)) + x110 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x110 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 1), (3, 4)) + x111 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x111 += einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), t3.bbbbbb, (6, 4, 5, 0, 1, 2), (3, 6)) + x112 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x112 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (6, 4, 5, 0, 1, 2), (3, 6)) + x113 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x113 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (3, 6, 5, 0, 1, 2), (4, 6)) + x114 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x114 += einsum(x109, (0, 1), (0, 1)) + x114 += einsum(x110, (0, 1), (0, 1)) * 0.5 + x114 += einsum(x111, (0, 1), (0, 1)) * 1.4999999999999394 + x114 += einsum(x112, (0, 1), (0, 1)) * 0.9999999999999597 + x114 += einsum(x113, (0, 1), (0, 1)) * 0.49999999999998007 + x115 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x115 += einsum(l1.bb, (0, 1), t2.abab, (2, 3, 4, 0), (1, 3, 2, 4)) + x115 += einsum(x93, (0, 1, 2, 3), (0, 1, 2, 3)) + x115 += einsum(l2.bbbb, (0, 1, 2, 3), t3.babbab, (4, 5, 3, 0, 6, 1), (2, 4, 5, 6)) * 2.0 + x115 += einsum(x94, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x115 += einsum(l2.abab, (0, 1, 2, 3), t3.abaaba, (4, 5, 2, 6, 1, 0), (3, 5, 4, 6)) * 2.0 + x115 += einsum(x95, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x115 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x72, (6, 0, 2, 7, 5, 3), (6, 7, 1, 4)) * -3.0 + x115 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x74, (6, 1, 7, 4, 2, 5), (6, 7, 0, 3)) * -4.0 + x115 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x58, (6, 2, 5, 3, 1, 7), (6, 0, 7, 4)) * 2.0 + x115 += einsum(t2.abab, (0, 1, 2, 3), x98, (4, 1, 5, 3, 0, 6), (4, 5, 6, 2)) * 2.0 + x115 += einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), x91, (6, 7, 2, 1, 5, 4), (6, 7, 0, 3)) * 3.0 + x115 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x61, (6, 4, 2, 0, 7, 5), (6, 1, 7, 3)) * -2.0 + x115 += einsum(t2.aaaa, (0, 1, 2, 3), x99, (4, 5, 1, 0, 6, 3), (4, 5, 6, 2)) * -2.0 + x115 += einsum(t2.abab, (0, 1, 2, 3), x100, (4, 3, 2, 5), (4, 1, 0, 5)) * -2.0 + x115 += einsum(t2.abab, (0, 1, 2, 3), x78, (1, 4, 5, 3), (4, 5, 0, 2)) * -2.0 + x115 += einsum(t2.aaaa, (0, 1, 2, 3), x96, (4, 5, 1, 3), (4, 5, 0, 2)) * 2.0 + x115 += einsum(t2.abab, (0, 1, 2, 3), x101, (4, 3, 0, 5), (4, 1, 5, 2)) * -1.0 + x115 += einsum(t1.aa, (0, 1), x108, (2, 3, 0, 4), (2, 3, 4, 1)) * -1.0 + x115 += einsum(t1.aa, (0, 1), x114, (2, 3), (2, 3, 0, 1)) * 2.0 + l1new_bb += einsum(v.aabb.ovov, (0, 1, 2, 3), x115, (4, 2, 0, 1), (3, 4)) * -1.0 + del x115 + x116 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x116 += einsum(t2.abab, (0, 1, 2, 3), l3.babbab, (4, 2, 5, 6, 0, 1), (6, 4, 5, 3)) + x117 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x117 += einsum(t1.bb, (0, 1), l2.bbbb, (2, 3, 4, 0), (4, 2, 3, 1)) + x117 += einsum(x116, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + l1new_bb += einsum(v.bbbb.vvvv, (0, 1, 2, 3), x117, (4, 1, 2, 3), (0, 4)) * 2.0 + del x117 + x118 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x118 += einsum(t1.aa, (0, 1), v.aabb.vvoo, (2, 1, 3, 4), (3, 4, 0, 2)) + x119 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x119 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.vvov, (4, 2, 5, 3), (1, 5, 0, 4)) + x120 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x120 += einsum(v.bbbb.ovov, (0, 1, 2, 3), t3.babbab, (4, 5, 2, 1, 6, 3), (4, 0, 5, 6)) + x121 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x121 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.abaaba, (4, 5, 0, 6, 3, 1), (5, 2, 4, 6)) + x122 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x122 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x122 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) + x122 += einsum(x3, (0, 1, 2, 3), (1, 0, 2, 3)) + x122 += einsum(x3, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 + x123 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x123 += einsum(t2.abab, (0, 1, 2, 3), x122, (4, 5, 1, 3), (4, 5, 0, 2)) + x124 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x124 += einsum(t2.aaaa, (0, 1, 2, 3), x39, (4, 5, 1, 3), (4, 5, 0, 2)) * 2.0 + x125 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x125 += einsum(t2.abab, (0, 1, 2, 3), x8, (4, 3, 0, 5), (1, 4, 5, 2)) + x126 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x126 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) + x126 += einsum(x15, (0, 1, 2, 3), (0, 1, 2, 3)) + x127 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x127 += einsum(t1.bb, (0, 1), x126, (2, 1, 3, 4), (0, 2, 3, 4)) + x128 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) + x128 += einsum(v.aabb.oooo, (0, 1, 2, 3), (2, 3, 0, 1)) + x128 += einsum(x29, (0, 1, 2, 3), (1, 0, 3, 2)) + x128 += einsum(x30, (0, 1, 2, 3), (1, 0, 3, 2)) + x128 += einsum(x32, (0, 1, 2, 3), (1, 0, 3, 2)) + del x32 + x129 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x129 += einsum(t1.aa, (0, 1), x128, (2, 3, 0, 4), (2, 3, 4, 1)) + x130 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x130 += einsum(v.aabb.ovoo, (0, 1, 2, 3), (2, 3, 0, 1)) + x130 += einsum(x118, (0, 1, 2, 3), (1, 0, 2, 3)) + x130 += einsum(x119, (0, 1, 2, 3), (0, 1, 2, 3)) + x130 += einsum(x120, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x130 += einsum(x121, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x130 += einsum(x123, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + x130 += einsum(x124, (0, 1, 2, 3), (1, 0, 2, 3)) + x130 += einsum(x125, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x130 += einsum(x21, (0, 1), t2.abab, (2, 3, 4, 1), (3, 0, 2, 4)) + x130 += einsum(x127, (0, 1, 2, 3), (0, 1, 2, 3)) + x130 += einsum(x129, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + l1new_bb += einsum(l2.abab, (0, 1, 2, 3), x130, (3, 4, 2, 0), (1, 4)) * -1.0 + del x130 + x131 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x131 += einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), x72, (6, 2, 1, 7, 4, 5), (6, 7, 0, 3)) * -1.0 + x132 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x132 += einsum(t1.bb, (0, 1), x72, (2, 3, 4, 5, 6, 1), (2, 3, 4, 0, 5, 6)) + x133 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x133 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x74, (6, 2, 7, 5, 1, 4), (6, 7, 0, 3)) * -1.0 + x134 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x134 += einsum(t1.bb, (0, 1), x74, (2, 3, 4, 1, 5, 6), (2, 3, 0, 4, 5, 6)) + x135 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x135 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x91, (6, 7, 0, 2, 3, 5), (6, 7, 1, 4)) + x136 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x136 += einsum(x0, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x136 += einsum(x116, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.3333333333333333 + x137 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x137 += einsum(x1, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + x137 += einsum(x76, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0 + x137 += einsum(x77, (0, 1, 2, 3), (0, 1, 2, 3)) + l2new_abab += einsum(v.aabb.ovoo, (0, 1, 2, 3), x137, (2, 4, 3, 5), (1, 5, 0, 4)) * 2.0 + x138 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x138 += einsum(t2.bbbb, (0, 1, 2, 3), x137, (4, 1, 5, 3), (0, 4, 5, 2)) * 4.0 + x139 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x139 += einsum(x93, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 + x139 += einsum(x94, (0, 1, 2, 3), (0, 1, 2, 3)) + del x94 + x139 += einsum(x95, (0, 1, 2, 3), (0, 1, 2, 3)) + del x95 + l1new_aa += einsum(v.aabb.vvoo, (0, 1, 2, 3), x139, (2, 3, 4, 1), (0, 4)) * -2.0 + l2new_abab += einsum(v.aabb.vvov, (0, 1, 2, 3), x139, (4, 2, 5, 1), (0, 3, 5, 4)) * -2.0 + l2new_abab += einsum(v.aabb.ooov, (0, 1, 2, 3), x139, (4, 2, 1, 5), (5, 3, 0, 4)) * 2.0 + l2new_abab += einsum(x21, (0, 1), x139, (2, 0, 3, 4), (4, 1, 3, 2)) * -2.0 + x140 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x140 += einsum(t2.abab, (0, 1, 2, 3), x139, (4, 5, 0, 2), (1, 4, 5, 3)) * 2.0 + x141 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x141 += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 5, 0, 1), (2, 3, 4, 5)) + x142 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x142 += einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), t3.bbbbbb, (6, 7, 5, 0, 1, 2), (3, 4, 6, 7)) + x143 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x143 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (6, 4, 7, 0, 1, 2), (3, 5, 6, 7)) + l2new_bbbb += einsum(v.bbbb.ovov, (0, 1, 2, 3), x143, (4, 5, 0, 2), (1, 3, 4, 5)) * 1.9999999999999203 + x144 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x144 += einsum(x141, (0, 1, 2, 3), (1, 0, 3, 2)) + x144 += einsum(x142, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.9999999999998788 + x144 += einsum(x143, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.9999999999999601 + x144 += einsum(t1.bb, (0, 1), x137, (2, 3, 4, 1), (2, 3, 0, 4)) + x145 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x145 += einsum(x1, (0, 1, 2, 3), (1, 0, 2, 3)) * -2.0 + x145 += einsum(l2.bbbb, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 3, 6, 0, 1), (4, 2, 5, 6)) * 6.0 + x145 += einsum(x76, (0, 1, 2, 3), (0, 1, 2, 3)) * 6.0 + x145 += einsum(x77, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x145 += einsum(x131, (0, 1, 2, 3), (2, 0, 1, 3)) * 9.0 + x145 += einsum(t2.bbbb, (0, 1, 2, 3), x132, (4, 0, 1, 5, 6, 3), (5, 4, 6, 2)) * 6.0 + x145 += einsum(x133, (0, 1, 2, 3), (2, 0, 1, 3)) * 4.0 + x145 += einsum(t2.abab, (0, 1, 2, 3), x134, (4, 1, 5, 6, 0, 2), (5, 4, 6, 3)) * 2.0 + x145 += einsum(x135, (0, 1, 2, 3), (2, 0, 1, 3)) + x145 += einsum(t2.bbbb, (0, 1, 2, 3), x136, (4, 3, 2, 5), (0, 4, 1, 5)) * -6.0 + x145 += einsum(x138, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x145 += einsum(x140, (0, 1, 2, 3), (0, 1, 2, 3)) + x145 += einsum(t1.bb, (0, 1), x144, (0, 2, 3, 4), (4, 2, 3, 1)) * 2.0 + del x144 + x145 += einsum(t1.bb, (0, 1), x114, (2, 3), (0, 2, 3, 1)) * 2.0 + l1new_bb += einsum(v.bbbb.ovov, (0, 1, 2, 3), x145, (0, 4, 2, 1), (3, 4)) * -1.0 + del x145 + x146 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x146 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovvv, (4, 2, 5, 3), (0, 1, 4, 5)) + x147 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x147 += einsum(v.bbbb.ovov, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 2, 6, 1, 3), (4, 5, 0, 6)) + x148 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x148 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.babbab, (4, 0, 5, 6, 1, 3), (4, 5, 2, 6)) + x149 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x149 += einsum(t2.bbbb, (0, 1, 2, 3), x4, (4, 5, 1, 3), (0, 4, 5, 2)) * 2.0 + del x4 + x150 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x150 += einsum(t2.abab, (0, 1, 2, 3), x6, (4, 5, 0, 2), (1, 4, 5, 3)) + x151 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x151 += einsum(x21, (0, 1), t2.bbbb, (2, 3, 4, 1), (2, 3, 0, 4)) * -1.0 + x152 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x152 += einsum(t1.bb, (0, 1), v.bbbb.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) + x153 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x153 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) + x153 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x153 += einsum(x152, (0, 1, 2, 3), (0, 1, 2, 3)) + x154 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x154 += einsum(t1.bb, (0, 1), x153, (2, 3, 1, 4), (0, 2, 3, 4)) + del x153 + x155 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x155 += einsum(t1.bb, (0, 1), x28, (0, 2, 3, 4), (2, 3, 4, 1)) + del x28 + x156 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x156 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x156 += einsum(x146, (0, 1, 2, 3), (2, 1, 0, 3)) + x156 += einsum(x147, (0, 1, 2, 3), (2, 1, 0, 3)) * -3.0 + x156 += einsum(x148, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 + x156 += einsum(x149, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 + x156 += einsum(x150, (0, 1, 2, 3), (2, 0, 1, 3)) + x156 += einsum(x151, (0, 1, 2, 3), (2, 1, 0, 3)) + x156 += einsum(x154, (0, 1, 2, 3), (2, 1, 0, 3)) + x156 += einsum(x155, (0, 1, 2, 3), (1, 2, 0, 3)) + l1new_bb += einsum(l2.bbbb, (0, 1, 2, 3), x156, (4, 2, 3, 1), (0, 4)) * 2.0 + del x156 + x157 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x157 += einsum(x76, (0, 1, 2, 3), (0, 1, 2, 3)) + x157 += einsum(x77, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.3333333333333333 + x158 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x158 += einsum(t1.bb, (0, 1), x157, (2, 3, 4, 1), (0, 2, 3, 4)) + x159 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x159 += einsum(l1.bb, (0, 1), t2.bbbb, (2, 3, 4, 0), (1, 2, 3, 4)) * 2.0 + x159 += einsum(l2.abab, (0, 1, 2, 3), t3.babbab, (4, 2, 5, 6, 0, 1), (3, 4, 5, 6)) * 2.0 + x159 += einsum(x131, (0, 1, 2, 3), (0, 2, 1, 3)) * 9.0 + del x131 + x159 += einsum(x133, (0, 1, 2, 3), (0, 2, 1, 3)) * 4.0 + del x133 + x159 += einsum(x135, (0, 1, 2, 3), (0, 2, 1, 3)) + del x135 + x159 += einsum(x138, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x138 + x159 += einsum(x140, (0, 1, 2, 3), (1, 0, 2, 3)) + del x140 + x159 += einsum(t1.bb, (0, 1), x158, (2, 3, 0, 4), (3, 4, 2, 1)) * -6.0 + x159 += einsum(t1.bb, (0, 1), x114, (2, 3), (2, 0, 3, 1)) * 2.0 + del x114 + l1new_bb += einsum(v.bbbb.ovov, (0, 1, 2, 3), x159, (4, 0, 2, 3), (1, 4)) + del x159 + x160 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x160 += einsum(l1.bb, (0, 1), t1.bb, (1, 2), (0, 2)) + x161 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x161 += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (2, 3, 4, 1), (0, 4)) + x162 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x162 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 0, 4), (1, 4)) + x163 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x163 += einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), t3.bbbbbb, (3, 4, 5, 6, 1, 2), (0, 6)) + x164 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x164 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (3, 4, 5, 6, 1, 2), (0, 6)) + x165 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x165 += einsum(x160, (0, 1), (0, 1)) + x165 += einsum(x161, (0, 1), (0, 1)) * 2.0 + x165 += einsum(x162, (0, 1), (0, 1)) + x165 += einsum(x163, (0, 1), (0, 1)) * 2.9999999999998788 + x165 += einsum(x164, (0, 1), (0, 1)) * 1.9999999999999194 + l1new_bb += einsum(x165, (0, 1), x12, (2, 3, 1, 0), (3, 2)) * -1.0 + del x165 + x166 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x166 += einsum(l1.bb, (0, 1), t2.bbbb, (2, 1, 3, 0), (2, 3)) + x167 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x167 += einsum(l1.aa, (0, 1), t2.abab, (1, 2, 0, 3), (2, 3)) + x168 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x168 += einsum(l2.bbbb, (0, 1, 2, 3), t3.bbbbbb, (4, 2, 3, 5, 0, 1), (4, 5)) + x169 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x169 += einsum(l2.abab, (0, 1, 2, 3), t3.babbab, (4, 2, 3, 5, 0, 1), (4, 5)) + x170 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x170 += einsum(l2.aaaa, (0, 1, 2, 3), t3.abaaba, (2, 4, 3, 0, 5, 1), (4, 5)) + x171 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x171 += einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), x72, (0, 1, 2, 6, 4, 5), (6, 3)) + x172 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x172 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x74, (0, 2, 6, 5, 1, 4), (6, 3)) * -1.0 + x173 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x173 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x91, (1, 6, 0, 2, 3, 5), (6, 4)) + x174 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x174 += einsum(x1, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + x174 += einsum(x76, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.9999999999999996 + x174 += einsum(x77, (0, 1, 2, 3), (0, 1, 2, 3)) + x175 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x175 += einsum(l1.bb, (0, 1), t1.bb, (2, 0), (1, 2)) + x176 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x176 += einsum(x175, (0, 1), (0, 1)) + x176 += einsum(x109, (0, 1), (0, 1)) * 2.0 + x176 += einsum(x110, (0, 1), (0, 1)) + x176 += einsum(x111, (0, 1), (0, 1)) * 2.9999999999998783 + x176 += einsum(x112, (0, 1), (0, 1)) * 1.9999999999999192 + x176 += einsum(x113, (0, 1), (0, 1)) * 0.99999999999996 + x177 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x177 += einsum(t1.bb, (0, 1), (0, 1)) * -0.5000000000000202 + x177 += einsum(x166, (0, 1), (0, 1)) * -1.0000000000000404 + x177 += einsum(x167, (0, 1), (0, 1)) * -0.5000000000000202 + x177 += einsum(x168, (0, 1), (0, 1)) * -1.5000000000000604 + x177 += einsum(x169, (0, 1), (0, 1)) * -1.0000000000000404 + x177 += einsum(x170, (0, 1), (0, 1)) * -0.5000000000000202 + x177 += einsum(x171, (0, 1), (0, 1)) * 1.4999999999999998 + x177 += einsum(x172, (0, 1), (0, 1)) + x177 += einsum(x173, (0, 1), (0, 1)) * 0.5000000000000002 + x177 += einsum(t2.bbbb, (0, 1, 2, 3), x174, (0, 1, 4, 3), (4, 2)) * -1.0000000000000404 + del x174 + x177 += einsum(t2.abab, (0, 1, 2, 3), x139, (1, 4, 0, 2), (4, 3)) * 1.0000000000000404 + x177 += einsum(t1.bb, (0, 1), x176, (0, 2), (2, 1)) * 0.5000000000000202 + del x176 + x178 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x178 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 + x178 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + l1new_bb += einsum(x177, (0, 1), x178, (0, 2, 1, 3), (3, 2)) * -1.9999999999999194 + del x177, x178 + x179 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x179 += einsum(l1.aa, (0, 1), t1.aa, (1, 2), (0, 2)) + x180 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x180 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 4, 1), (0, 4)) + x181 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x181 += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (2, 3, 4, 1), (0, 4)) + x182 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x182 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (3, 4, 5, 0, 6, 2), (1, 6)) + x183 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x183 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (3, 4, 5, 6, 1, 2), (0, 6)) + x184 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x184 += einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), t3.aaaaaa, (3, 4, 5, 6, 1, 2), (0, 6)) + x185 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x185 += einsum(x179, (0, 1), (0, 1)) * 1.00000000000004 + x185 += einsum(x180, (0, 1), (0, 1)) * 1.00000000000004 + x185 += einsum(x181, (0, 1), (0, 1)) * 2.00000000000008 + x185 += einsum(x182, (0, 1), (0, 1)) + x185 += einsum(x183, (0, 1), (0, 1)) * 1.9999999999999991 + x185 += einsum(x184, (0, 1), (1, 0)) * 2.9999999999999982 + l1new_bb += einsum(x185, (0, 1), v.aabb.vvov, (1, 0, 2, 3), (3, 2)) * 0.9999999999999601 + del x185 + x186 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x186 += einsum(l1.bb, (0, 1), t2.abab, (2, 1, 3, 0), (2, 3)) + x187 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x187 += einsum(l1.aa, (0, 1), t2.aaaa, (2, 1, 3, 0), (2, 3)) + x188 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x188 += einsum(l2.bbbb, (0, 1, 2, 3), t3.babbab, (2, 4, 3, 0, 5, 1), (4, 5)) + x189 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x189 += einsum(l2.abab, (0, 1, 2, 3), t3.abaaba, (4, 3, 2, 5, 1, 0), (4, 5)) + x190 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x190 += einsum(l2.aaaa, (0, 1, 2, 3), t3.aaaaaa, (4, 2, 3, 5, 0, 1), (4, 5)) + x191 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x191 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x58, (0, 2, 3, 5, 1, 6), (6, 4)) + x192 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x192 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x61, (1, 4, 0, 2, 6, 5), (6, 3)) * -1.0 + x193 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x193 += einsum(t1.aa, (0, 1), l3.aaaaaa, (2, 3, 1, 4, 5, 6), (4, 5, 6, 0, 2, 3)) + l3new_abaaba += einsum(v.aabb.ooov, (0, 1, 2, 3), x193, (4, 0, 5, 1, 6, 7), (6, 3, 7, 5, 2, 4)) * -6.0 + l3new_abaaba += einsum(x7, (0, 1, 2, 3), x193, (2, 4, 5, 3, 6, 7), (6, 1, 7, 4, 0, 5)) * -6.0 + x194 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x194 += einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), x193, (0, 1, 2, 6, 4, 5), (6, 3)) + x195 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x195 += einsum(t1.aa, (0, 1), l2.aaaa, (2, 1, 3, 4), (3, 4, 0, 2)) + l2new_abab += einsum(x195, (0, 1, 2, 3), x7, (4, 5, 1, 2), (3, 5, 0, 4)) * -2.0 + x196 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x196 += einsum(t2.abab, (0, 1, 2, 3), l3.abaaba, (4, 3, 2, 5, 1, 6), (5, 6, 0, 4)) + x197 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x197 += einsum(t2.aaaa, (0, 1, 2, 3), l3.aaaaaa, (4, 2, 3, 5, 6, 1), (5, 6, 0, 4)) + x198 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x198 += einsum(x195, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.33333333333333337 + x198 += einsum(x196, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.33333333333333337 + x198 += einsum(x197, (0, 1, 2, 3), (0, 1, 2, 3)) + x199 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x199 += einsum(l1.aa, (0, 1), t1.aa, (2, 0), (1, 2)) + x200 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x200 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 0, 1), (2, 4)) + x201 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x201 += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 3, 0, 1), (2, 4)) + x202 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x202 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (3, 6, 5, 0, 1, 2), (4, 6)) + x203 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x203 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (6, 4, 5, 0, 1, 2), (3, 6)) + x204 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x204 += einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), t3.aaaaaa, (6, 4, 5, 0, 1, 2), (3, 6)) + x205 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x205 += einsum(x199, (0, 1), (0, 1)) + x205 += einsum(x200, (0, 1), (0, 1)) + x205 += einsum(x201, (0, 1), (0, 1)) * 2.0 + x205 += einsum(x202, (0, 1), (0, 1)) * 0.99999999999996 + x205 += einsum(x203, (0, 1), (0, 1)) * 1.9999999999999192 + x205 += einsum(x204, (0, 1), (0, 1)) * 2.9999999999998783 + x206 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x206 += einsum(l1.aa, (0, 1), (1, 0)) * -1.00000000000004 + x206 += einsum(t1.aa, (0, 1), (0, 1)) * -1.00000000000004 + x206 += einsum(x186, (0, 1), (0, 1)) * -1.00000000000004 + x206 += einsum(x187, (0, 1), (0, 1)) * -2.00000000000008 + x206 += einsum(x188, (0, 1), (0, 1)) * -1.00000000000004 + x206 += einsum(x189, (0, 1), (0, 1)) * -2.00000000000008 + x206 += einsum(x190, (0, 1), (0, 1)) * -3.0000000000001195 + x206 += einsum(x191, (0, 1), (0, 1)) + x206 += einsum(x192, (0, 1), (0, 1)) * 1.9999999999999991 + x206 += einsum(x194, (0, 1), (0, 1)) * 2.9999999999999982 + x206 += einsum(t2.abab, (0, 1, 2, 3), x66, (1, 3, 0, 4), (4, 2)) * 2.00000000000008 + x206 += einsum(t2.aaaa, (0, 1, 2, 3), x198, (0, 1, 4, 3), (4, 2)) * -6.000000000000239 + x206 += einsum(t1.aa, (0, 1), x205, (0, 2), (2, 1)) * 1.00000000000004 + l1new_bb += einsum(x206, (0, 1), v.aabb.ovov, (0, 1, 2, 3), (3, 2)) * -0.9999999999999601 + del x206 + x207 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) + x207 += einsum(x102, (0, 1, 2, 3), (0, 1, 2, 3)) + x207 += einsum(x103, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.9999999999999194 + x207 += einsum(x104, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.9999999999999194 + x207 += einsum(x105, (0, 1, 2, 3), (1, 0, 3, 2)) + del x105 + x207 += einsum(x107, (0, 1, 2, 3), (0, 1, 2, 3)) + del x107 + l1new_bb += einsum(v.aabb.ooov, (0, 1, 2, 3), x207, (4, 2, 1, 0), (3, 4)) + del x207 + x208 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x208 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) + x208 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + l2new_abab += einsum(x208, (0, 1, 2, 3), x96, (0, 1, 4, 5), (5, 3, 4, 2)) * -1.0 + l3new_abaaba += einsum(x208, (0, 1, 2, 3), x91, (0, 1, 4, 5, 6, 7), (6, 3, 7, 5, 2, 4)) * 2.0 + x209 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x209 += einsum(t1.bb, (0, 1), x157, (2, 3, 4, 1), (2, 3, 0, 4)) * 3.0 + l1new_bb += einsum(x208, (0, 1, 2, 3), x209, (4, 0, 2, 1), (3, 4)) * 2.0 + del x209 + x210 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x210 += einsum(x141, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.00000000000004 + x210 += einsum(x142, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.9999999999999982 + x210 += einsum(x143, (0, 1, 2, 3), (0, 1, 3, 2)) + del x143 + l1new_bb += einsum(v.bbbb.ooov, (0, 1, 2, 3), x210, (1, 4, 2, 0), (3, 4)) * 1.9999999999999203 + del x210 + x211 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x211 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (3, 4, 5, 0, 6, 2), (1, 6)) + l1new_bb += einsum(x211, (0, 1), x71, (2, 3, 0, 1), (3, 2)) * -0.9999999999999601 + x212 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x212 += einsum(x175, (0, 1), (0, 1)) * 0.5 + x212 += einsum(x109, (0, 1), (0, 1)) + x212 += einsum(x110, (0, 1), (0, 1)) * 0.5 + x212 += einsum(x111, (0, 1), (0, 1)) * 1.4999999999999394 + x212 += einsum(x112, (0, 1), (0, 1)) * 0.9999999999999597 + x213 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x213 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x213 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) + l1new_bb += einsum(x212, (0, 1), x213, (0, 2, 1, 3), (3, 2)) * -2.0 + del x212 + l1new_bb += einsum(x113, (0, 1), x213, (0, 1, 2, 3), (3, 2)) * 0.9999999999999601 + x214 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x214 += einsum(x199, (0, 1), (0, 1)) + x214 += einsum(x200, (0, 1), (0, 1)) + x214 += einsum(x201, (0, 1), (0, 1)) * 2.0 + x214 += einsum(x202, (0, 1), (0, 1)) * 0.9999999999999601 + x214 += einsum(x203, (0, 1), (0, 1)) * 1.9999999999999194 + x214 += einsum(x204, (0, 1), (1, 0)) * 2.9999999999998788 + l1new_bb += einsum(x214, (0, 1), v.aabb.ooov, (1, 0, 2, 3), (3, 2)) * -1.0 + del x214 + x215 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x215 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) + x215 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + l1new_bb += einsum(l1.bb, (0, 1), x215, (1, 2, 0, 3), (3, 2)) * -1.0 + del x215 + x216 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x216 += einsum(t1.aa, (0, 1), v.aabb.ovvv, (0, 1, 2, 3), (2, 3)) + x217 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x217 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) + x217 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x218 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x218 += einsum(f.bb.vv, (0, 1), (0, 1)) + x218 += einsum(x216, (0, 1), (1, 0)) + x218 += einsum(t1.bb, (0, 1), x217, (0, 2, 1, 3), (3, 2)) * -1.0 + l1new_bb += einsum(l1.bb, (0, 1), x218, (0, 2), (2, 1)) + del x218 + x219 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x219 += einsum(t1.aa, (0, 1), v.aabb.ovoo, (0, 1, 2, 3), (2, 3)) + x220 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x220 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 2, 1, 3), (0, 4)) + x221 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x221 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 3), (1, 4)) + x222 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x222 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x222 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) + x223 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x223 += einsum(t1.bb, (0, 1), x222, (2, 3, 0, 1), (2, 3)) + del x222 + x224 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x224 += einsum(t1.bb, (0, 1), x21, (2, 1), (0, 2)) + x225 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x225 += einsum(f.bb.oo, (0, 1), (0, 1)) + x225 += einsum(x219, (0, 1), (1, 0)) + x225 += einsum(x220, (0, 1), (0, 1)) * 2.0 + x225 += einsum(x221, (0, 1), (0, 1)) + x225 += einsum(x223, (0, 1), (1, 0)) * -1.0 + x225 += einsum(x224, (0, 1), (0, 1)) + del x224 + l1new_bb += einsum(l1.bb, (0, 1), x225, (1, 2), (0, 2)) * -1.0 + l2new_abab += einsum(x225, (0, 1), l2.abab, (2, 3, 4, 0), (2, 3, 4, 1)) * -1.0 + l3new_abaaba += einsum(x225, (0, 1), l3.abaaba, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) * -2.0 + del x225 + x226 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x226 += einsum(x175, (0, 1), (0, 1)) * 0.5000000000000202 + x226 += einsum(x109, (0, 1), (0, 1)) * 1.0000000000000404 + x226 += einsum(x110, (0, 1), (0, 1)) * 0.5000000000000202 + x226 += einsum(x111, (0, 1), (0, 1)) * 1.4999999999999998 + x226 += einsum(x112, (0, 1), (0, 1)) + x226 += einsum(x113, (0, 1), (0, 1)) * 0.5000000000000002 + l1new_bb += einsum(f.bb.ov, (0, 1), x226, (2, 0), (1, 2)) * -1.9999999999999194 + del x226 + x227 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x227 += einsum(x19, (0, 1), (0, 1)) + x227 += einsum(x20, (0, 1), (0, 1)) * -1.0 + l1new_bb += einsum(x175, (0, 1), x227, (1, 2), (2, 0)) * -1.0 + x228 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x228 += einsum(t2.aaaa, (0, 1, 2, 3), l3.aaaaaa, (4, 5, 3, 6, 0, 1), (6, 4, 5, 2)) + l1new_aa += einsum(v.aaaa.vvvv, (0, 1, 2, 3), x228, (4, 1, 2, 3), (0, 4)) * 6.0 + x229 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x229 += einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), t3.aaaaaa, (6, 7, 5, 0, 1, 2), (3, 4, 6, 7)) + l1new_aa += einsum(v.aaaa.ooov, (0, 1, 2, 3), x229, (1, 4, 2, 0), (3, 4)) * -5.9999999999997575 + x230 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x230 += einsum(t1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) + x231 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x231 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x231 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) + x231 += einsum(x230, (0, 1, 2, 3), (0, 1, 2, 3)) + x231 += einsum(x230, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x232 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x232 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (0, 4, 2, 5)) + x233 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x233 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 + x233 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + x234 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x234 += einsum(t2.aaaa, (0, 1, 2, 3), x233, (1, 4, 5, 3), (0, 4, 2, 5)) * 2.0 + x235 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x235 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x235 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) + x236 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x236 += einsum(t1.aa, (0, 1), x235, (2, 3, 1, 4), (0, 2, 3, 4)) + x237 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x237 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + x237 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x237 += einsum(x232, (0, 1, 2, 3), (0, 1, 2, 3)) + x237 += einsum(x234, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x237 += einsum(x236, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + x238 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x238 += einsum(t1.bb, (0, 1), v.aabb.ovvv, (2, 3, 4, 1), (0, 4, 2, 3)) + l2new_abab += einsum(l2.bbbb, (0, 1, 2, 3), x238, (3, 1, 4, 5), (5, 0, 4, 2)) * 2.0 + x239 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x239 += einsum(t2.bbbb, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (0, 2, 4, 5)) + x240 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x240 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) + x240 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x241 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x241 += einsum(t2.abab, (0, 1, 2, 3), x240, (0, 4, 2, 5), (1, 3, 4, 5)) + x242 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x242 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) + x242 += einsum(x238, (0, 1, 2, 3), (0, 1, 2, 3)) + x242 += einsum(x239, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x242 += einsum(x241, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x243 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x243 += einsum(t1.bb, (0, 1), v.aabb.ovov, (2, 3, 0, 1), (2, 3)) + x244 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x244 += einsum(t1.aa, (0, 1), x240, (0, 2, 1, 3), (2, 3)) + x245 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x245 += einsum(f.aa.ov, (0, 1), (0, 1)) + x245 += einsum(x243, (0, 1), (0, 1)) + x245 += einsum(x244, (0, 1), (0, 1)) * -1.0 + l2new_abab += einsum(x245, (0, 1), x66, (2, 3, 4, 0), (1, 3, 4, 2)) * -2.0 + l2new_abab += einsum(l1.bb, (0, 1), x245, (2, 3), (3, 0, 2, 1)) + l3new_aaaaaa += einsum(x245, (0, 1), l2.aaaa, (2, 3, 4, 5), (2, 3, 1, 4, 5, 0)) * 2.0 + l3new_aaaaaa += einsum(x245, (0, 1), l2.aaaa, (2, 3, 4, 5), (2, 3, 1, 0, 4, 5)) * 2.0 + l3new_aaaaaa += einsum(x245, (0, 1), l2.aaaa, (2, 3, 4, 5), (2, 1, 3, 4, 0, 5)) * 2.0 + l3new_aaaaaa += einsum(x245, (0, 1), l2.aaaa, (2, 3, 4, 5), (1, 2, 3, 4, 5, 0)) * 2.0 + l3new_aaaaaa += einsum(x245, (0, 1), l2.aaaa, (2, 3, 4, 5), (1, 2, 3, 0, 4, 5)) * 2.0 + l3new_aaaaaa += einsum(x245, (0, 1), l2.aaaa, (2, 3, 4, 5), (2, 3, 1, 4, 0, 5)) * -2.0 + l3new_aaaaaa += einsum(x245, (0, 1), l2.aaaa, (2, 3, 4, 5), (2, 1, 3, 4, 5, 0)) * -2.0 + l3new_aaaaaa += einsum(x245, (0, 1), l2.aaaa, (2, 3, 4, 5), (2, 1, 3, 0, 4, 5)) * -2.0 + l3new_aaaaaa += einsum(x245, (0, 1), l2.aaaa, (2, 3, 4, 5), (1, 2, 3, 4, 0, 5)) * -2.0 + l3new_babbab += einsum(x245, (0, 1), x58, (2, 3, 4, 5, 6, 0), (4, 1, 5, 3, 6, 2)) * 2.0 + l3new_babbab += einsum(x245, (0, 1), l2.bbbb, (2, 3, 4, 5), (2, 1, 3, 4, 0, 5)) * 2.0 + l3new_abaaba += einsum(x245, (0, 1), l2.abab, (2, 3, 4, 5), (1, 3, 2, 0, 5, 4)) + l3new_abaaba += einsum(x245, (0, 1), l2.abab, (2, 3, 4, 5), (2, 3, 1, 4, 5, 0)) + l3new_abaaba += einsum(x245, (0, 1), l2.abab, (2, 3, 4, 5), (2, 3, 1, 0, 5, 4)) * -1.0 + l3new_abaaba += einsum(x245, (0, 1), l2.abab, (2, 3, 4, 5), (1, 3, 2, 4, 5, 0)) * -1.0 + x246 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x246 += einsum(t1.aa, (0, 1), v.aabb.ovvv, (2, 1, 3, 4), (3, 4, 0, 2)) + l2new_abab += einsum(x246, (0, 1, 2, 3), x61, (4, 1, 2, 5, 3, 6), (6, 0, 5, 4)) * 2.0 + x247 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x247 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 1, 5), (3, 5, 0, 4)) + x248 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x248 += einsum(v.aabb.oovv, (0, 1, 2, 3), (2, 3, 0, 1)) + x248 += einsum(x246, (0, 1, 2, 3), (1, 0, 2, 3)) + x248 += einsum(x247, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + x249 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) + x249 += einsum(t1.bb, (0, 1), x8, (2, 1, 3, 4), (0, 2, 3, 4)) + x250 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) + x250 += einsum(v.aabb.oooo, (0, 1, 2, 3), (2, 3, 0, 1)) + x250 += einsum(x29, (0, 1, 2, 3), (1, 0, 2, 3)) + x250 += einsum(x30, (0, 1, 2, 3), (1, 0, 2, 3)) + x250 += einsum(x249, (0, 1, 2, 3), (1, 0, 3, 2)) + x251 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x251 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 2, 5, 3), (0, 1, 4, 5)) + x252 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x252 += einsum(t1.aa, (0, 1), x230, (2, 3, 4, 1), (0, 2, 3, 4)) + x253 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x253 += einsum(t1.aa, (0, 1), v.aaaa.ooov, (2, 3, 4, 1), (0, 2, 3, 4)) + x254 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x254 += einsum(v.aaaa.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) + x254 += einsum(x251, (0, 1, 2, 3), (3, 1, 2, 0)) + x254 += einsum(x252, (0, 1, 2, 3), (3, 1, 2, 0)) + x254 += einsum(x253, (0, 1, 2, 3), (2, 1, 3, 0)) + x254 += einsum(x253, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 + x255 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x255 += einsum(x44, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * 0.9999999999999597 + del x44 + x255 += einsum(t2.abab, (0, 1, 2, 3), x8, (4, 3, 5, 6), (1, 4, 0, 6, 5, 2)) * -1.0 + x255 += einsum(x45, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) * -1.0 + del x45 + x256 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x256 += einsum(v.aaaa.ovov, (0, 1, 2, 3), t3.abaaba, (4, 5, 6, 3, 7, 1), (5, 7, 4, 6, 0, 2)) * -1.0 + l2new_aaaa += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), x256, (4, 1, 5, 3, 6, 7), (0, 2, 6, 7)) * -1.9999999999999203 + x257 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x257 += einsum(t2.abab, (0, 1, 2, 3), v.aaaa.ooov, (4, 5, 6, 2), (1, 3, 0, 4, 5, 6)) + x258 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x258 += einsum(t2.abab, (0, 1, 2, 3), x230, (4, 5, 6, 2), (1, 3, 4, 0, 6, 5)) + x259 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x259 += einsum(x256, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * 0.9999999999999601 + del x256 + x259 += einsum(x257, (0, 1, 2, 3, 4, 5), (0, 1, 4, 2, 3, 5)) + x259 += einsum(x257, (0, 1, 2, 3, 4, 5), (0, 1, 4, 2, 5, 3)) * -1.0 + del x257 + x259 += einsum(x258, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + x259 += einsum(x258, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 + del x258 + x260 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x260 += einsum(v.aabb.ovvv, (0, 1, 2, 3), t3.abaaba, (4, 5, 6, 7, 3, 1), (5, 2, 0, 4, 6, 7)) * -0.9999999999999597 + x260 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), t3.abaaba, (4, 5, 6, 3, 7, 1), (5, 7, 0, 4, 6, 2)) * -0.9999999999999601 + x260 += einsum(x231, (0, 1, 2, 3), t3.abaaba, (4, 5, 1, 6, 7, 3), (5, 7, 2, 4, 0, 6)) * -2.0 + x260 += einsum(x31, (0, 1, 2, 3), t3.babbab, (4, 5, 0, 6, 7, 1), (4, 6, 3, 5, 2, 7)) * -2.0 + x260 += einsum(x39, (0, 1, 2, 3), t3.abaaba, (4, 0, 5, 6, 7, 3), (1, 7, 2, 4, 5, 6)) + x260 += einsum(t2.abab, (0, 1, 2, 3), x237, (4, 5, 6, 2), (1, 3, 5, 0, 4, 6)) + x260 += einsum(t2.aaaa, (0, 1, 2, 3), x242, (4, 5, 6, 3), (4, 5, 6, 0, 1, 2)) * -1.0 + x260 += einsum(x245, (0, 1), t3.abaaba, (2, 3, 4, 5, 6, 1), (3, 6, 0, 2, 4, 5)) * -0.9999999999999597 + x260 += einsum(t2.abab, (0, 1, 2, 3), x248, (3, 4, 5, 6), (1, 4, 6, 0, 5, 2)) * -1.0 + x260 += einsum(t2.abab, (0, 1, 2, 3), x250, (1, 4, 5, 6), (4, 3, 6, 0, 5, 2)) + x260 += einsum(t2.abab, (0, 1, 2, 3), x254, (0, 4, 5, 6), (1, 3, 5, 4, 6, 2)) + x260 += einsum(t1.bb, (0, 1), x255, (2, 0, 3, 4, 5, 6), (2, 1, 5, 3, 4, 6)) * -1.0 + del x255 + x260 += einsum(t1.aa, (0, 1), x259, (2, 3, 4, 5, 0, 6), (2, 3, 6, 5, 4, 1)) * -1.0 + del x259 + l1new_aa += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), x260, (4, 1, 6, 5, 3, 2), (0, 6)) * 2.0 + del x260 + x261 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x261 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x261 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) + x261 += einsum(x230, (0, 1, 2, 3), (1, 0, 2, 3)) + x261 += einsum(x230, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 + x262 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x262 += einsum(x38, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 0.9999999999999597 + del x38 + x262 += einsum(t2.bbbb, (0, 1, 2, 3), x8, (4, 3, 5, 6), (0, 1, 4, 2, 6, 5)) + x262 += einsum(x40, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) + del x40 + x263 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x263 += einsum(v.aabb.ovvv, (0, 1, 2, 3), t3.babbab, (4, 5, 6, 7, 1, 3), (4, 6, 7, 2, 0, 5)) * -0.9999999999999597 + x263 += einsum(x261, (0, 1, 2, 3), t3.babbab, (4, 0, 5, 6, 3, 7), (4, 5, 6, 7, 2, 1)) * -0.5 + x263 += einsum(x31, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 0, 6, 7, 1), (4, 5, 6, 7, 3, 2)) * -1.5 + x263 += einsum(x39, (0, 1, 2, 3), t3.babbab, (4, 5, 0, 6, 3, 7), (4, 1, 6, 7, 2, 5)) + x263 += einsum(t2.abab, (0, 1, 2, 3), x242, (4, 5, 6, 2), (1, 4, 3, 5, 6, 0)) * -1.0 + del x242 + x263 += einsum(x245, (0, 1), t3.babbab, (2, 3, 4, 5, 1, 6), (2, 4, 5, 6, 0, 3)) * -0.49999999999998007 + x263 += einsum(t2.bbbb, (0, 1, 2, 3), x248, (3, 4, 5, 6), (0, 1, 2, 4, 6, 5)) * -1.0 + del x248 + x263 += einsum(t2.bbbb, (0, 1, 2, 3), x250, (1, 4, 5, 6), (0, 4, 2, 3, 6, 5)) + del x250 + x263 += einsum(t1.bb, (0, 1), x262, (2, 3, 0, 4, 5, 6), (2, 3, 4, 1, 6, 5)) + del x262 + l1new_aa += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), x263, (3, 5, 0, 2, 6, 4), (1, 6)) * 2.0 + del x263 + x264 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x264 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) + x264 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 + x264 += einsum(x230, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + x264 += einsum(x230, (0, 1, 2, 3), (2, 0, 1, 3)) + x265 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x265 += einsum(v.aaaa.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x265 += einsum(x251, (0, 1, 2, 3), (3, 1, 2, 0)) * -1.0 + x265 += einsum(x252, (0, 1, 2, 3), (2, 1, 3, 0)) + x265 += einsum(x253, (0, 1, 2, 3), (2, 0, 3, 1)) + x265 += einsum(x253, (0, 1, 2, 3), (3, 0, 2, 1)) * -1.0 + x266 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x266 += einsum(v.aaaa.ovov, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 6, 7, 1, 3), (4, 5, 6, 0, 2, 7)) + l2new_aaaa += einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), x266, (3, 4, 5, 6, 7, 2), (0, 1, 6, 7)) * 5.9999999999997575 + x267 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x267 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ooov, (4, 5, 6, 3), (0, 1, 4, 5, 6, 2)) + x268 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x268 += einsum(t2.aaaa, (0, 1, 2, 3), x230, (4, 5, 6, 3), (4, 0, 1, 6, 5, 2)) + x269 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x269 += einsum(x266, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -0.9999999999999596 + del x266 + x269 += einsum(x267, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 + x269 += einsum(x267, (0, 1, 2, 3, 4, 5), (0, 1, 3, 4, 2, 5)) + del x267 + x269 += einsum(x268, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) * -1.0 + x269 += einsum(x268, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) + del x268 + x270 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x270 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 6, 7, 3, 1), (0, 4, 5, 6, 7, 2)) * -0.9999999999999596 + x270 += einsum(x264, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 0, 6, 7, 3), (2, 4, 1, 5, 6, 7)) * -1.5 + del x264 + x270 += einsum(x31, (0, 1, 2, 3), t3.abaaba, (4, 0, 5, 6, 1, 7), (3, 4, 2, 5, 6, 7)) * 0.5 + x270 += einsum(t2.aaaa, (0, 1, 2, 3), x237, (4, 5, 6, 3), (5, 0, 4, 1, 2, 6)) * -1.0 + del x237 + x270 += einsum(x245, (0, 1), t3.aaaaaa, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) * -0.4999999999999798 + x270 += einsum(t2.aaaa, (0, 1, 2, 3), x265, (1, 4, 5, 6), (5, 0, 4, 6, 2, 3)) * -1.0 + del x265 + x270 += einsum(t1.aa, (0, 1), x269, (2, 3, 4, 5, 0, 6), (5, 3, 4, 2, 6, 1)) * -1.0 + del x269 + l1new_aa += einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), x270, (6, 4, 3, 5, 2, 1), (0, 6)) * 6.0 + del x270 + x271 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x271 += einsum(l2.abab, (0, 1, 2, 3), t2.bbbb, (4, 3, 5, 1), (4, 5, 2, 0)) + x272 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x272 += einsum(l2.aaaa, (0, 1, 2, 3), t2.abab, (3, 4, 1, 5), (4, 5, 2, 0)) + x273 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x273 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.bbbbbb, (6, 3, 5, 7, 0, 2), (6, 7, 4, 1)) + x274 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x274 += einsum(t2.bbbb, (0, 1, 2, 3), x74, (0, 1, 4, 3, 5, 6), (4, 2, 5, 6)) * -1.0 + x275 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x275 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.babbab, (6, 5, 4, 7, 2, 1), (6, 7, 3, 0)) + x276 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x276 += einsum(t2.abab, (0, 1, 2, 3), x91, (1, 4, 5, 0, 2, 6), (4, 3, 5, 6)) * -1.0 + x277 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x277 += einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), t3.abaaba, (4, 6, 5, 1, 7, 2), (6, 7, 3, 0)) + x278 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x278 += einsum(l2.abab, (0, 1, 2, 3), (3, 1, 2, 0)) + x278 += einsum(x271, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x278 += einsum(x272, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x278 += einsum(x273, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0 + x278 += einsum(x274, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 + x278 += einsum(x275, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.0 + x278 += einsum(x276, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 + x278 += einsum(x277, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0 + x278 += einsum(t1.bb, (0, 1), x96, (0, 2, 3, 4), (2, 1, 3, 4)) * -1.0 + l1new_aa += einsum(v.aabb.vvov, (0, 1, 2, 3), x278, (2, 3, 4, 1), (0, 4)) + del x278 + x279 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x279 += einsum(t2.bbbb, (0, 1, 2, 3), l3.babbab, (4, 5, 3, 0, 6, 1), (4, 2, 6, 5)) + x280 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x280 += einsum(t2.abab, (0, 1, 2, 3), l3.abaaba, (4, 5, 2, 6, 1, 0), (5, 3, 6, 4)) + x281 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x281 += einsum(t1.bb, (0, 1), l2.abab, (2, 3, 4, 0), (3, 1, 4, 2)) * 0.5 + x281 += einsum(x279, (0, 1, 2, 3), (0, 1, 2, 3)) + x281 += einsum(x280, (0, 1, 2, 3), (0, 1, 2, 3)) + l1new_aa += einsum(v.aabb.vvvv, (0, 1, 2, 3), x281, (2, 3, 4, 1), (0, 4)) * 2.0 + del x281 + x282 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x282 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 5, 1), (2, 4, 0, 5)) + x283 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x283 += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 3, 5, 1), (2, 4, 0, 5)) + x284 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x284 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (3, 6, 5, 0, 7, 2), (4, 6, 1, 7)) + x285 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x285 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (6, 4, 5, 7, 1, 2), (3, 6, 0, 7)) + x286 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x286 += einsum(t2.abab, (0, 1, 2, 3), x61, (1, 3, 0, 4, 5, 6), (4, 5, 6, 2)) * -1.0 + x287 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x287 += einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), t3.aaaaaa, (6, 4, 5, 7, 1, 2), (3, 6, 0, 7)) + x288 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x288 += einsum(t2.aaaa, (0, 1, 2, 3), x193, (4, 0, 1, 5, 6, 3), (4, 5, 6, 2)) * -1.0 + x289 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x289 += einsum(x195, (0, 1, 2, 3), (1, 0, 2, 3)) + x289 += einsum(x196, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x289 += einsum(x197, (0, 1, 2, 3), (0, 1, 2, 3)) * -3.0 + x290 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x290 += einsum(x282, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.1111111111111111 + x290 += einsum(x283, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.4444444444444444 + x290 += einsum(x284, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.1111111111111111 + x290 += einsum(x285, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.4444444444444444 + x290 += einsum(x286, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.2222222222222222 + x290 += einsum(x287, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x290 += einsum(x288, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.6666666666666666 + x290 += einsum(t1.aa, (0, 1), x289, (0, 2, 3, 4), (2, 3, 1, 4)) * 0.2222222222222222 + l1new_aa += einsum(v.aaaa.ovvv, (0, 1, 2, 3), x290, (4, 0, 2, 3), (1, 4)) * 9.0 + del x290 + x291 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x291 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 0, 5), (1, 5, 2, 4)) + x292 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x292 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (3, 6, 5, 7, 1, 2), (0, 7, 4, 6)) + x293 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x293 += einsum(t2.bbbb, (0, 1, 2, 3), x58, (0, 1, 4, 3, 5, 6), (4, 2, 5, 6)) + x294 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x294 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (6, 4, 5, 0, 7, 2), (1, 7, 3, 6)) + x295 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x295 += einsum(t2.abab, (0, 1, 2, 3), x61, (1, 4, 0, 5, 6, 2), (4, 3, 5, 6)) + x296 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x296 += einsum(x291, (0, 1, 2, 3), (0, 1, 2, 3)) + x296 += einsum(x292, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x296 += einsum(x293, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 + x296 += einsum(x294, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x296 += einsum(x295, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 + x296 += einsum(t1.bb, (0, 1), x101, (0, 2, 3, 4), (1, 2, 3, 4)) + l1new_aa += einsum(v.aabb.ovvv, (0, 1, 2, 3), x296, (3, 2, 4, 0), (1, 4)) * -1.0 + del x296 + x297 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x297 += einsum(x279, (0, 1, 2, 3), (0, 1, 2, 3)) + del x279 + x297 += einsum(x280, (0, 1, 2, 3), (0, 1, 2, 3)) + del x280 + l2new_abab += einsum(x297, (0, 1, 2, 3), x71, (4, 5, 0, 1), (3, 5, 2, 4)) * -2.0 + del x71 + l2new_abab += einsum(v.aabb.vvov, (0, 1, 2, 3), x297, (4, 3, 5, 1), (0, 4, 5, 2)) * -2.0 + l2new_abab += einsum(x297, (0, 1, 2, 3), x31, (4, 1, 2, 5), (3, 0, 5, 4)) * 2.0 + x298 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x298 += einsum(x200, (0, 1), (0, 1)) + x298 += einsum(x201, (0, 1), (0, 1)) * 2.0 + x298 += einsum(x202, (0, 1), (0, 1)) * 0.9999999999999601 + x298 += einsum(x203, (0, 1), (0, 1)) * 1.9999999999999194 + x298 += einsum(x204, (0, 1), (0, 1)) * 2.9999999999998788 + x299 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x299 += einsum(l1.aa, (0, 1), t2.abab, (2, 3, 0, 4), (3, 4, 1, 2)) + x299 += einsum(x63, (0, 1, 2, 3), (0, 1, 2, 3)) + x299 += einsum(l2.abab, (0, 1, 2, 3), t3.babbab, (4, 5, 3, 6, 0, 1), (4, 6, 2, 5)) * 2.0 + x299 += einsum(x64, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x299 += einsum(l2.aaaa, (0, 1, 2, 3), t3.abaaba, (4, 5, 3, 0, 6, 1), (5, 6, 2, 4)) * 2.0 + x299 += einsum(x65, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x299 += einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), x58, (2, 1, 5, 4, 6, 7), (0, 3, 6, 7)) * 3.0 + x299 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x74, (2, 0, 6, 5, 7, 4), (6, 3, 7, 1)) * -2.0 + x299 += einsum(t2.bbbb, (0, 1, 2, 3), x98, (1, 0, 4, 3, 5, 6), (4, 2, 5, 6)) * -2.0 + x299 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x61, (2, 5, 6, 1, 7, 4), (0, 3, 6, 7)) * -4.0 + x299 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x91, (1, 6, 7, 2, 5, 3), (6, 4, 7, 0)) * 2.0 + x299 += einsum(t2.abab, (0, 1, 2, 3), x99, (1, 4, 5, 0, 6, 2), (4, 3, 5, 6)) * 2.0 + x299 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x193, (6, 0, 2, 7, 5, 3), (1, 4, 6, 7)) * -3.0 + x299 += einsum(t2.abab, (0, 1, 2, 3), x297, (3, 4, 5, 2), (1, 4, 5, 0)) * -2.0 + x299 += einsum(t2.bbbb, (0, 1, 2, 3), x101, (1, 3, 4, 5), (0, 2, 4, 5)) * 2.0 + x299 += einsum(t2.abab, (0, 1, 2, 3), x96, (1, 4, 5, 2), (4, 3, 5, 0)) * -1.0 + x299 += einsum(t2.abab, (0, 1, 2, 3), x289, (0, 4, 5, 2), (1, 3, 4, 5)) * -2.0 + x299 += einsum(t1.bb, (0, 1), x108, (0, 2, 3, 4), (2, 1, 3, 4)) * -1.0 + del x108 + x299 += einsum(t1.bb, (0, 1), x298, (2, 3), (0, 1, 2, 3)) + l1new_aa += einsum(v.aabb.ovov, (0, 1, 2, 3), x299, (2, 3, 4, 0), (1, 4)) * -1.0 + del x299 + x300 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x300 += einsum(x195, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.3333333333333333 + x300 += einsum(x196, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.3333333333333333 + x300 += einsum(x197, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + l1new_aa += einsum(v.aaaa.oovv, (0, 1, 2, 3), x300, (1, 4, 0, 3), (2, 4)) * -6.0 + x301 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x301 += einsum(l2.aaaa, (0, 1, 2, 3), (2, 3, 0, 1)) * -0.3333333333333333 + x301 += einsum(x286, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.3333333333333333 + x301 += einsum(x288, (0, 1, 2, 3), (0, 1, 2, 3)) + x301 += einsum(t1.aa, (0, 1), x300, (0, 2, 3, 4), (2, 3, 4, 1)) + l1new_aa += einsum(v.aaaa.ovvv, (0, 1, 2, 3), x301, (4, 0, 3, 1), (2, 4)) * -6.0 + del x301 + x302 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x302 += einsum(t2.abab, (0, 1, 2, 3), l3.abaaba, (4, 3, 5, 6, 1, 0), (6, 4, 5, 2)) + x303 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x303 += einsum(t1.aa, (0, 1), l2.aaaa, (2, 3, 4, 0), (4, 2, 3, 1)) + x303 += einsum(x302, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + l1new_aa += einsum(v.aaaa.vvvv, (0, 1, 2, 3), x303, (4, 3, 1, 2), (0, 4)) * -2.0 + del x303 + x304 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x304 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovvv, (4, 2, 5, 3), (1, 5, 0, 4)) + x305 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x305 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.babbab, (4, 5, 2, 6, 1, 3), (4, 6, 5, 0)) + x306 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x306 += einsum(v.aaaa.ovov, (0, 1, 2, 3), t3.abaaba, (4, 5, 2, 3, 6, 1), (5, 6, 4, 0)) * -1.0 + x307 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x307 += einsum(t2.abab, (0, 1, 2, 3), x261, (4, 5, 0, 2), (1, 3, 4, 5)) + del x261 + x308 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x308 += einsum(t2.bbbb, (0, 1, 2, 3), x8, (1, 3, 4, 5), (0, 2, 4, 5)) * 2.0 + x309 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x309 += einsum(t2.abab, (0, 1, 2, 3), x39, (1, 4, 5, 2), (4, 3, 0, 5)) + x310 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x310 += einsum(x245, (0, 1), t2.abab, (2, 3, 1, 4), (3, 4, 2, 0)) + x311 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x311 += einsum(v.aabb.oovv, (0, 1, 2, 3), (2, 3, 0, 1)) + x311 += einsum(x246, (0, 1, 2, 3), (1, 0, 3, 2)) + x312 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x312 += einsum(t1.bb, (0, 1), x311, (1, 2, 3, 4), (0, 2, 3, 4)) + del x311 + x313 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x313 += einsum(t1.bb, (0, 1), x128, (0, 2, 3, 4), (2, 1, 3, 4)) + x314 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x314 += einsum(v.aabb.ooov, (0, 1, 2, 3), (2, 3, 0, 1)) + x314 += einsum(x7, (0, 1, 2, 3), (0, 1, 2, 3)) + x314 += einsum(x304, (0, 1, 2, 3), (0, 1, 2, 3)) + x314 += einsum(x305, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x314 += einsum(x306, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x314 += einsum(x307, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + x314 += einsum(x308, (0, 1, 2, 3), (0, 1, 3, 2)) + x314 += einsum(x309, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x314 += einsum(x310, (0, 1, 2, 3), (0, 1, 2, 3)) + x314 += einsum(x312, (0, 1, 2, 3), (0, 1, 3, 2)) + x314 += einsum(x313, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + l1new_aa += einsum(l2.abab, (0, 1, 2, 3), x314, (3, 1, 2, 4), (0, 4)) * -1.0 + del x314 + x315 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x315 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovvv, (4, 2, 5, 3), (0, 1, 4, 5)) + x316 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x316 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.abaaba, (4, 2, 5, 6, 3, 1), (4, 5, 0, 6)) + x317 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x317 += einsum(v.aaaa.ovov, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 2, 6, 1, 3), (4, 5, 0, 6)) + x318 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x318 += einsum(t1.aa, (0, 1), v.aaaa.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) + x319 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x319 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) + x319 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x319 += einsum(x318, (0, 1, 2, 3), (0, 1, 2, 3)) + x320 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x320 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) + x320 += einsum(x315, (0, 1, 2, 3), (2, 1, 0, 3)) + x320 += einsum(x316, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 + x320 += einsum(x317, (0, 1, 2, 3), (2, 1, 0, 3)) * -3.0 + x320 += einsum(t2.aaaa, (0, 1, 2, 3), x231, (4, 5, 1, 3), (5, 0, 4, 2)) * -2.0 + x320 += einsum(t2.abab, (0, 1, 2, 3), x31, (1, 3, 4, 5), (5, 0, 4, 2)) + x320 += einsum(x245, (0, 1), t2.aaaa, (2, 3, 4, 1), (0, 2, 3, 4)) + x320 += einsum(t1.aa, (0, 1), x319, (2, 3, 1, 4), (3, 2, 0, 4)) + x320 += einsum(t1.aa, (0, 1), x254, (0, 2, 3, 4), (3, 2, 4, 1)) * -1.0 + l1new_aa += einsum(l2.aaaa, (0, 1, 2, 3), x320, (4, 3, 2, 1), (0, 4)) * -2.0 + del x320 + x321 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x321 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x58, (0, 2, 3, 5, 6, 7), (6, 7, 1, 4)) + x322 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x322 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x61, (1, 4, 6, 2, 7, 5), (6, 7, 0, 3)) * -1.0 + x323 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x323 += einsum(t1.aa, (0, 1), x61, (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 0, 6)) + x324 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x324 += einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), x193, (6, 2, 1, 7, 4, 5), (6, 7, 0, 3)) * -1.0 + x325 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x325 += einsum(t1.aa, (0, 1), x193, (2, 3, 4, 5, 6, 1), (2, 3, 4, 0, 5, 6)) + x326 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x326 += einsum(x195, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.3333333333333333 + x326 += einsum(x196, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.3333333333333333 + x326 += einsum(x197, (0, 1, 2, 3), (0, 1, 2, 3)) + x327 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x327 += einsum(x195, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + x327 += einsum(x196, (0, 1, 2, 3), (0, 1, 2, 3)) + x327 += einsum(x197, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0 + l2new_abab += einsum(v.aabb.ooov, (0, 1, 2, 3), x327, (0, 4, 1, 5), (5, 3, 4, 2)) * 2.0 + x328 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x328 += einsum(x229, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + x328 += einsum(t1.aa, (0, 1), x327, (2, 3, 4, 1), (2, 3, 0, 4)) * 0.3333333333333468 + x329 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x329 += einsum(l1.aa, (0, 1), t2.aaaa, (2, 3, 4, 0), (1, 2, 3, 4)) * 0.3333333333333333 + x329 += einsum(x195, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.3333333333333333 + x329 += einsum(l2.abab, (0, 1, 2, 3), t3.abaaba, (4, 3, 5, 6, 1, 0), (2, 4, 5, 6)) * 0.3333333333333333 + x329 += einsum(x196, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.3333333333333333 + x329 += einsum(x197, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x329 += einsum(x321, (0, 1, 2, 3), (0, 2, 1, 3)) * 0.16666666666666666 + x329 += einsum(x322, (0, 1, 2, 3), (0, 2, 1, 3)) * 0.6666666666666666 + x329 += einsum(t2.abab, (0, 1, 2, 3), x323, (1, 3, 4, 0, 5, 6), (4, 6, 5, 2)) * -0.3333333333333333 + x329 += einsum(x324, (0, 1, 2, 3), (0, 2, 1, 3)) * 1.5 + x329 += einsum(t2.aaaa, (0, 1, 2, 3), x228, (4, 3, 2, 5), (4, 0, 1, 5)) * -1.0 + x329 += einsum(t2.aaaa, (0, 1, 2, 3), x325, (4, 0, 1, 5, 6, 3), (4, 6, 5, 2)) * -1.0 + x329 += einsum(t2.abab, (0, 1, 2, 3), x66, (1, 3, 4, 5), (4, 0, 5, 2)) * 0.3333333333333333 + x329 += einsum(t2.aaaa, (0, 1, 2, 3), x326, (4, 1, 5, 3), (4, 0, 5, 2)) * -2.0 + x329 += einsum(t1.aa, (0, 1), x328, (2, 0, 3, 4), (2, 4, 3, 1)) * -0.9999999999999596 + del x328 + x329 += einsum(t1.aa, (0, 1), x298, (2, 3), (2, 0, 3, 1)) * 0.16666666666666666 + l1new_aa += einsum(v.aaaa.ovov, (0, 1, 2, 3), x329, (4, 2, 0, 3), (1, 4)) * -6.0 + del x329 + x330 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x330 += einsum(x282, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.1111111111111111 + x330 += einsum(x283, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.4444444444444444 + x330 += einsum(x284, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.1111111111111111 + x330 += einsum(x285, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.4444444444444444 + x330 += einsum(x287, (0, 1, 2, 3), (0, 1, 2, 3)) + l1new_aa += einsum(v.aaaa.ovvv, (0, 1, 2, 3), x330, (4, 0, 3, 1), (2, 4)) * 9.0 + del x330 + x331 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x331 += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 5, 0, 1), (2, 3, 4, 5)) + x332 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x332 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (6, 4, 7, 0, 1, 2), (3, 5, 6, 7)) + x333 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x333 += einsum(x196, (0, 1, 2, 3), (0, 1, 2, 3)) + x333 += einsum(x197, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0 + x334 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x334 += einsum(t1.aa, (0, 1), x333, (2, 3, 4, 1), (0, 2, 3, 4)) + x335 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x335 += einsum(x331, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + x335 += einsum(x332, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.9999999999999601 + x335 += einsum(x334, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 + x336 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x336 += einsum(l2.aaaa, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 3, 6, 0, 1), (2, 4, 5, 6)) * 0.5 + x336 += einsum(x321, (0, 1, 2, 3), (0, 2, 1, 3)) * 0.08333333333333333 + del x321 + x336 += einsum(x322, (0, 1, 2, 3), (0, 2, 1, 3)) * 0.3333333333333333 + del x322 + x336 += einsum(t2.aaaa, (0, 1, 2, 3), x302, (4, 2, 3, 5), (4, 0, 1, 5)) * 0.16666666666666666 + x336 += einsum(x324, (0, 1, 2, 3), (0, 2, 1, 3)) * 0.75 + del x324 + x336 += einsum(t2.abab, (0, 1, 2, 3), x66, (1, 3, 4, 5), (4, 0, 5, 2)) * 0.16666666666666666 + x336 += einsum(t2.aaaa, (0, 1, 2, 3), x326, (4, 1, 5, 3), (4, 0, 5, 2)) * -1.0 + x336 += einsum(t1.aa, (0, 1), x335, (0, 2, 3, 4), (2, 4, 3, 1)) * -0.16666666666666666 + del x335 + x336 += einsum(t1.aa, (0, 1), x298, (2, 3), (2, 0, 3, 1)) * 0.08333333333333333 + del x298 + l1new_aa += einsum(v.aaaa.ovov, (0, 1, 2, 3), x336, (4, 2, 0, 1), (3, 4)) * 12.0 + del x336 + x337 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x337 += einsum(t1.aa, (0, 1), (0, 1)) * -0.5000000000000202 + x337 += einsum(x186, (0, 1), (0, 1)) * -0.5000000000000202 + del x186 + x337 += einsum(x187, (0, 1), (0, 1)) * -1.0000000000000404 + del x187 + x337 += einsum(x188, (0, 1), (0, 1)) * -0.5000000000000202 + del x188 + x337 += einsum(x189, (0, 1), (0, 1)) * -1.0000000000000404 + del x189 + x337 += einsum(x190, (0, 1), (0, 1)) * -1.5000000000000604 + del x190 + x337 += einsum(x191, (0, 1), (0, 1)) * 0.5000000000000002 + del x191 + x337 += einsum(x192, (0, 1), (0, 1)) + del x192 + x337 += einsum(x194, (0, 1), (0, 1)) * 1.4999999999999998 + del x194 + x337 += einsum(t2.abab, (0, 1, 2, 3), x66, (1, 3, 0, 4), (4, 2)) * 1.0000000000000404 + x337 += einsum(t2.aaaa, (0, 1, 2, 3), x198, (0, 1, 4, 3), (4, 2)) * -3.000000000000121 + del x198 + x337 += einsum(t1.aa, (0, 1), x205, (0, 2), (2, 1)) * 0.5000000000000202 + del x205 + l1new_aa += einsum(x337, (0, 1), x240, (0, 2, 1, 3), (3, 2)) * 1.9999999999999194 + del x337 + x338 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x338 += einsum(x179, (0, 1), (0, 1)) * 0.5 + del x179 + x338 += einsum(x180, (0, 1), (0, 1)) * 0.5 + x338 += einsum(x181, (0, 1), (0, 1)) + x338 += einsum(x182, (0, 1), (0, 1)) * 0.49999999999998007 + x339 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x339 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) + x339 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 + l1new_aa += einsum(x338, (0, 1), x339, (2, 1, 0, 3), (3, 2)) * -2.0 + del x338 + l2new_abab += einsum(x100, (0, 1, 2, 3), x339, (4, 3, 2, 5), (5, 1, 4, 0)) * -2.0 + x340 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x340 += einsum(x160, (0, 1), (0, 1)) * 0.5 + del x160 + x340 += einsum(x161, (0, 1), (0, 1)) + x340 += einsum(x162, (0, 1), (0, 1)) * 0.5 + x340 += einsum(x163, (0, 1), (0, 1)) * 1.4999999999999394 + x340 += einsum(x164, (0, 1), (1, 0)) * 0.9999999999999597 + x340 += einsum(x211, (0, 1), (0, 1)) * 0.49999999999998007 + l1new_aa += einsum(x340, (0, 1), v.aabb.ovvv, (2, 3, 1, 0), (3, 2)) * 2.0 + del x340 + x341 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x341 += einsum(x175, (0, 1), (0, 1)) + x341 += einsum(x109, (0, 1), (0, 1)) * 2.0 + x341 += einsum(x110, (0, 1), (0, 1)) + x341 += einsum(x111, (0, 1), (0, 1)) * 2.9999999999998788 + x341 += einsum(x112, (0, 1), (0, 1)) * 1.9999999999999194 + x341 += einsum(x113, (0, 1), (0, 1)) * 0.9999999999999601 + l2new_abab += einsum(x341, (0, 1), v.aabb.ovov, (2, 3, 1, 4), (3, 4, 2, 0)) * -1.0 + x342 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x342 += einsum(l1.bb, (0, 1), (1, 0)) * -1.0 + x342 += einsum(t1.bb, (0, 1), (0, 1)) * -1.0 + x342 += einsum(x166, (0, 1), (0, 1)) * -2.0 + del x166 + x342 += einsum(x167, (0, 1), (0, 1)) * -1.0 + del x167 + x342 += einsum(x168, (0, 1), (0, 1)) * -3.0 + del x168 + x342 += einsum(x169, (0, 1), (0, 1)) * -2.0 + del x169 + x342 += einsum(x170, (0, 1), (0, 1)) * -1.0 + del x170 + x342 += einsum(x171, (0, 1), (0, 1)) * 2.9999999999998788 + del x171 + x342 += einsum(x172, (0, 1), (0, 1)) * 1.9999999999999194 + del x172 + x342 += einsum(x173, (0, 1), (0, 1)) * 0.9999999999999601 + del x173 + x342 += einsum(t2.bbbb, (0, 1, 2, 3), x137, (0, 1, 4, 3), (4, 2)) * -2.0 + x342 += einsum(t2.abab, (0, 1, 2, 3), x139, (1, 4, 0, 2), (4, 3)) * 2.0 + x342 += einsum(t1.bb, (0, 1), x341, (0, 2), (2, 1)) + l1new_aa += einsum(x342, (0, 1), v.aabb.ovov, (2, 3, 0, 1), (3, 2)) * -1.0 + del x342 + x343 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) + x343 += einsum(x102, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5000000000000202 + del x102 + x343 += einsum(x103, (0, 1, 2, 3), (0, 1, 2, 3)) + del x103 + x343 += einsum(x104, (0, 1, 2, 3), (0, 1, 2, 3)) + del x104 + x343 += einsum(t1.bb, (0, 1), x101, (2, 1, 3, 4), (0, 2, 3, 4)) * 0.5000000000000202 + x343 += einsum(t1.aa, (0, 1), x106, (2, 3, 4, 1), (3, 2, 4, 0)) * 1.0000000000000404 + l1new_aa += einsum(v.aabb.ovoo, (0, 1, 2, 3), x343, (3, 2, 4, 0), (1, 4)) * 1.9999999999999194 + del x343 + x344 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x344 += einsum(x183, (0, 1), (0, 1)) + x344 += einsum(x184, (0, 1), (0, 1)) * 1.4999999999999998 + l1new_aa += einsum(x344, (0, 1), x339, (2, 1, 0, 3), (3, 2)) * -1.9999999999999194 + del x344 + x345 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x345 += einsum(x331, (0, 1, 2, 3), (1, 0, 3, 2)) * -0.3333333333333333 + x345 += einsum(x332, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.33333333333332005 + x345 += einsum(t1.aa, (0, 1), x327, (2, 3, 4, 1), (0, 2, 3, 4)) * 0.3333333333333333 + l1new_aa += einsum(v.aaaa.ooov, (0, 1, 2, 3), x345, (0, 4, 1, 2), (3, 4)) * -6.0 + del x345 + x346 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x346 += einsum(t1.aa, (0, 1), x333, (2, 3, 4, 1), (2, 3, 0, 4)) * 0.3333333333333333 + l1new_aa += einsum(v.aaaa.ooov, (0, 1, 2, 3), x346, (4, 1, 2, 0), (3, 4)) * 6.0 + del x346 + x347 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x347 += einsum(x199, (0, 1), (0, 1)) * 0.3333333333333468 + x347 += einsum(x200, (0, 1), (0, 1)) * 0.3333333333333468 + x347 += einsum(x201, (0, 1), (0, 1)) * 0.6666666666666936 + x347 += einsum(x202, (0, 1), (0, 1)) * 0.33333333333333354 + x347 += einsum(x204, (0, 1), (0, 1)) + x348 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x348 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x348 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) + l1new_aa += einsum(x347, (0, 1), x348, (0, 2, 1, 3), (3, 2)) * -2.9999999999998788 + del x347 + l1new_aa += einsum(x203, (0, 1), x348, (0, 1, 2, 3), (3, 2)) * 1.9999999999999194 + l2new_abab += einsum(x348, (0, 1, 2, 3), x66, (4, 5, 0, 1), (3, 5, 2, 4)) * 2.0 + l3new_babbab += einsum(x348, (0, 1, 2, 3), x58, (4, 5, 6, 7, 0, 2), (6, 3, 7, 5, 1, 4)) * 2.0 + x349 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x349 += einsum(x175, (0, 1), (0, 1)) * 0.5 + del x175 + x349 += einsum(x109, (0, 1), (0, 1)) + del x109 + x349 += einsum(x110, (0, 1), (0, 1)) * 0.5 + del x110 + x349 += einsum(x111, (0, 1), (0, 1)) * 1.4999999999999394 + del x111 + x349 += einsum(x112, (0, 1), (1, 0)) * 0.9999999999999597 + del x112 + x349 += einsum(x113, (0, 1), (1, 0)) * 0.49999999999998007 + del x113 + l1new_aa += einsum(x349, (0, 1), v.aabb.ovoo, (2, 3, 1, 0), (3, 2)) * -2.0 + del x349 + x350 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x350 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) + x350 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + l1new_aa += einsum(l1.aa, (0, 1), x350, (1, 2, 0, 3), (3, 2)) * -1.0 + del x350 + x351 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x351 += einsum(t1.bb, (0, 1), v.aabb.vvov, (2, 3, 0, 1), (2, 3)) + x352 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x352 += einsum(f.aa.vv, (0, 1), (0, 1)) + x352 += einsum(x351, (0, 1), (1, 0)) + x352 += einsum(t1.aa, (0, 1), x235, (0, 1, 2, 3), (3, 2)) * -1.0 + l1new_aa += einsum(l1.aa, (0, 1), x352, (0, 2), (2, 1)) + del x352 + x353 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x353 += einsum(t1.bb, (0, 1), v.aabb.ooov, (2, 3, 0, 1), (2, 3)) + x354 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x354 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 1, 3), (0, 4)) + x355 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x355 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 2, 1, 3), (0, 4)) + x356 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x356 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x356 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) + x357 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x357 += einsum(t1.aa, (0, 1), x356, (2, 3, 0, 1), (2, 3)) + del x356 + x358 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x358 += einsum(t1.aa, (0, 1), x245, (2, 1), (0, 2)) + x359 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x359 += einsum(f.aa.oo, (0, 1), (0, 1)) + x359 += einsum(x353, (0, 1), (1, 0)) + x359 += einsum(x354, (0, 1), (0, 1)) + x359 += einsum(x355, (0, 1), (0, 1)) * 2.0 + x359 += einsum(x357, (0, 1), (1, 0)) * -1.0 + x359 += einsum(x358, (0, 1), (0, 1)) + del x358 + l1new_aa += einsum(l1.aa, (0, 1), x359, (1, 2), (0, 2)) * -1.0 + l2new_abab += einsum(x359, (0, 1), l2.abab, (2, 3, 0, 4), (2, 3, 1, 4)) * -1.0 + l3new_babbab += einsum(x359, (0, 1), l3.babbab, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) * -2.0 + del x359 + x360 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x360 += einsum(x199, (0, 1), (0, 1)) * 0.3333333333333468 + x360 += einsum(x200, (0, 1), (0, 1)) * 0.3333333333333468 + x360 += einsum(x201, (0, 1), (0, 1)) * 0.6666666666666936 + x360 += einsum(x202, (0, 1), (0, 1)) * 0.33333333333333354 + x360 += einsum(x203, (0, 1), (0, 1)) * 0.6666666666666667 + x360 += einsum(x204, (0, 1), (0, 1)) + l1new_aa += einsum(f.aa.ov, (0, 1), x360, (2, 0), (1, 2)) * -2.9999999999998788 + del x360 + x361 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x361 += einsum(x243, (0, 1), (0, 1)) + del x243 + x361 += einsum(x244, (0, 1), (0, 1)) * -1.0 + del x244 + l1new_aa += einsum(x199, (0, 1), x361, (1, 2), (2, 0)) * -1.0 + x362 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x362 += einsum(l1.aa, (0, 1), v.aaaa.ovvv, (2, 3, 4, 0), (1, 2, 3, 4)) + x363 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x363 += einsum(l2.abab, (0, 1, 2, 3), x238, (3, 1, 4, 5), (2, 4, 0, 5)) + x364 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x364 += einsum(x5, (0, 1, 2, 3), x93, (0, 1, 4, 5), (4, 2, 5, 3)) + x365 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x365 += einsum(x302, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.3333333333333333 + x365 += einsum(x228, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + l2new_abab += einsum(v.aabb.vvov, (0, 1, 2, 3), x365, (4, 5, 0, 1), (5, 3, 4, 2)) * 6.0 + x366 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x366 += einsum(x339, (0, 1, 2, 3), x365, (4, 2, 5, 1), (0, 4, 3, 5)) * 6.0 + del x365 + x367 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x367 += einsum(x196, (0, 1, 2, 3), (0, 1, 2, 3)) + del x196 + x367 += einsum(x197, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0000000000000004 + del x197 + x368 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x368 += einsum(t1.aa, (0, 1), x367, (2, 0, 3, 4), (2, 3, 1, 4)) * 0.22222222222223104 + del x367 + x369 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x369 += einsum(x282, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.11111111111111552 + x369 += einsum(x283, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.4444444444444621 + x369 += einsum(x284, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.11111111111111108 + x369 += einsum(x285, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.44444444444444453 + x369 += einsum(x286, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.22222222222223104 + x369 += einsum(x287, (0, 1, 2, 3), (0, 1, 2, 3)) + x369 += einsum(x288, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.6666666666666932 + x369 += einsum(x368, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x368 + x370 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x370 += einsum(x233, (0, 1, 2, 3), x369, (4, 0, 5, 3), (1, 4, 2, 5)) * 8.999999999999643 + del x369 + x371 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x371 += einsum(t1.bb, (0, 1), x106, (0, 2, 3, 4), (2, 1, 3, 4)) * 2.0 + x372 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x372 += einsum(l2.abab, (0, 1, 2, 3), (3, 1, 2, 0)) + x372 += einsum(x271, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x372 += einsum(x272, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x372 += einsum(x273, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.999999999999881 + x372 += einsum(x274, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 + x372 += einsum(x275, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.999999999999842 + x372 += einsum(x276, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 + x372 += einsum(x277, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.999999999999881 + x372 += einsum(x371, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x371 + x373 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x373 += einsum(v.aabb.ovov, (0, 1, 2, 3), x372, (2, 3, 4, 5), (0, 4, 1, 5)) + del x372 + x374 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x374 += einsum(v.aabb.ovvv, (0, 1, 2, 3), x297, (2, 3, 4, 5), (0, 4, 1, 5)) * 2.0 + x375 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x375 += einsum(t1.aa, (0, 1), x339, (2, 1, 3, 4), (0, 2, 3, 4)) + x376 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x376 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) + x376 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x376 += einsum(x375, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x375 + x377 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x377 += einsum(l2.aaaa, (0, 1, 2, 3), x376, (3, 4, 5, 1), (2, 4, 0, 5)) * 2.0 + del x376 + x378 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x378 += einsum(x327, (0, 1, 2, 3), x348, (1, 4, 2, 5), (0, 4, 3, 5)) * 2.0 + del x327 + x379 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x379 += einsum(x180, (0, 1), (0, 1)) + x379 += einsum(x181, (0, 1), (0, 1)) * 2.0 + x379 += einsum(x182, (0, 1), (0, 1)) * 0.9999999999999601 + x379 += einsum(x183, (0, 1), (0, 1)) * 1.9999999999999194 + x379 += einsum(x184, (0, 1), (0, 1)) * 2.9999999999998788 + x380 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x380 += einsum(x379, (0, 1), v.aaaa.ovov, (2, 1, 3, 4), (2, 3, 0, 4)) + del x379 + x381 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x381 += einsum(v.aabb.ovoo, (0, 1, 2, 3), x96, (2, 3, 4, 5), (0, 4, 1, 5)) + x382 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x382 += einsum(x230, (0, 1, 2, 3), (0, 1, 2, 3)) + x382 += einsum(x230, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x383 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x383 += einsum(x195, (0, 1, 2, 3), x382, (0, 4, 2, 5), (1, 4, 3, 5)) * 2.0 + x384 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x384 += einsum(x199, (0, 1), (0, 1)) + x384 += einsum(x200, (0, 1), (0, 1)) + x384 += einsum(x201, (0, 1), (0, 1)) * 2.0 + x384 += einsum(x202, (0, 1), (0, 1)) * 0.9999999999999601 + x384 += einsum(x203, (0, 1), (0, 1)) * 1.9999999999999194 + x384 += einsum(x204, (0, 1), (0, 1)) * 2.9999999999998788 + x385 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x385 += einsum(x384, (0, 1), v.aaaa.ovov, (2, 3, 1, 4), (0, 2, 4, 3)) + del x384 + x386 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x386 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x386 += einsum(x230, (0, 1, 2, 3), (0, 1, 2, 3)) + x387 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x387 += einsum(l1.aa, (0, 1), x386, (1, 2, 3, 4), (2, 3, 0, 4)) + x388 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x388 += einsum(f.aa.ov, (0, 1), l1.aa, (2, 3), (0, 3, 1, 2)) + x388 += einsum(x362, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x362 + x388 += einsum(x363, (0, 1, 2, 3), (0, 1, 2, 3)) + del x363 + x388 += einsum(x364, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x364 + x388 += einsum(x366, (0, 1, 2, 3), (1, 0, 3, 2)) + del x366 + x388 += einsum(x370, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x370 + x388 += einsum(x373, (0, 1, 2, 3), (1, 0, 3, 2)) + del x373 + x388 += einsum(x374, (0, 1, 2, 3), (1, 0, 3, 2)) + del x374 + x388 += einsum(x377, (0, 1, 2, 3), (0, 1, 2, 3)) + del x377 + x388 += einsum(x378, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x378 + x388 += einsum(x380, (0, 1, 2, 3), (1, 0, 2, 3)) + del x380 + x388 += einsum(x381, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x381 + x388 += einsum(x383, (0, 1, 2, 3), (0, 1, 2, 3)) + del x383 + x388 += einsum(x385, (0, 1, 2, 3), (0, 1, 3, 2)) + del x385 + x388 += einsum(x387, (0, 1, 2, 3), (0, 1, 2, 3)) + del x387 + x388 += einsum(l1.aa, (0, 1), x361, (2, 3), (1, 2, 0, 3)) + l2new_aaaa += einsum(x388, (0, 1, 2, 3), (2, 3, 0, 1)) + l2new_aaaa += einsum(x388, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 + l2new_aaaa += einsum(x388, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 + l2new_aaaa += einsum(x388, (0, 1, 2, 3), (3, 2, 1, 0)) + del x388 + x389 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x389 += einsum(f.aa.ov, (0, 1), t1.aa, (2, 1), (0, 2)) + x390 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x390 += einsum(x389, (0, 1), l2.aaaa, (2, 3, 4, 1), (0, 4, 2, 3)) + x391 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x391 += einsum(l2.aaaa, (0, 1, 2, 3), x253, (2, 4, 3, 5), (4, 5, 0, 1)) + x392 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x392 += einsum(f.aa.ov, (0, 1), t2.abab, (2, 3, 1, 4), (3, 4, 0, 2)) + x393 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x393 += einsum(x392, (0, 1, 2, 3), l3.abaaba, (4, 1, 5, 6, 0, 3), (2, 6, 4, 5)) + del x392 + x394 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x394 += einsum(f.aa.ov, (0, 1), t2.aaaa, (2, 3, 4, 1), (0, 2, 3, 4)) + x395 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x395 += einsum(x394, (0, 1, 2, 3), l3.aaaaaa, (4, 5, 3, 6, 1, 2), (0, 6, 4, 5)) * -1.0 + del x394 + x396 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x396 += einsum(x361, (0, 1), t2.abab, (2, 3, 1, 4), (3, 4, 2, 0)) + x397 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x397 += einsum(v.aabb.ooov, (0, 1, 2, 3), (2, 3, 0, 1)) + x397 += einsum(x7, (0, 1, 2, 3), (0, 1, 2, 3)) + x397 += einsum(x304, (0, 1, 2, 3), (0, 1, 2, 3)) + x397 += einsum(x305, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.999999999999921 + x397 += einsum(x306, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.99999999999992 + x397 += einsum(x307, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + x397 += einsum(x308, (0, 1, 2, 3), (0, 1, 3, 2)) + x397 += einsum(x309, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x397 += einsum(x396, (0, 1, 2, 3), (0, 1, 2, 3)) + del x396 + x397 += einsum(x312, (0, 1, 2, 3), (0, 1, 3, 2)) + x397 += einsum(x313, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + x398 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x398 += einsum(x397, (0, 1, 2, 3), l3.abaaba, (4, 1, 5, 6, 0, 2), (6, 3, 4, 5)) * -2.0 + del x397 + x399 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x399 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) + x399 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x399 += einsum(x230, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x399 += einsum(x230, (0, 1, 2, 3), (0, 2, 1, 3)) + x400 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x400 += einsum(t2.aaaa, (0, 1, 2, 3), x399, (4, 1, 5, 3), (0, 4, 5, 2)) * 2.0 + del x399 + x401 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x401 += einsum(t2.abab, (0, 1, 2, 3), x8, (1, 3, 4, 5), (0, 4, 5, 2)) + x402 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x402 += einsum(x361, (0, 1), t2.aaaa, (2, 3, 4, 1), (2, 3, 0, 4)) * -1.0 + x403 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x403 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + x403 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x403 += einsum(x318, (0, 1, 2, 3), (1, 0, 2, 3)) + del x318 + x404 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x404 += einsum(t1.aa, (0, 1), x403, (2, 3, 1, 4), (0, 2, 3, 4)) + del x403 + x405 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x405 += einsum(v.aaaa.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) + x405 += einsum(x251, (0, 1, 2, 3), (3, 1, 0, 2)) + x405 += einsum(x252, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 + x405 += einsum(x253, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 + x405 += einsum(x253, (0, 1, 2, 3), (3, 0, 2, 1)) + x406 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x406 += einsum(t1.aa, (0, 1), x405, (0, 2, 3, 4), (2, 3, 4, 1)) + del x405 + x407 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x407 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x407 += einsum(x315, (0, 1, 2, 3), (1, 0, 2, 3)) + x407 += einsum(x316, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.9999999999999606 + x407 += einsum(x317, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.999999999999881 + x407 += einsum(x400, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x400 + x407 += einsum(x401, (0, 1, 2, 3), (0, 2, 1, 3)) + del x401 + x407 += einsum(x402, (0, 1, 2, 3), (1, 0, 2, 3)) + del x402 + x407 += einsum(x404, (0, 1, 2, 3), (2, 0, 1, 3)) + del x404 + x407 += einsum(x406, (0, 1, 2, 3), (1, 0, 2, 3)) + del x406 + x408 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x408 += einsum(x407, (0, 1, 2, 3), l3.aaaaaa, (4, 5, 3, 6, 0, 1), (6, 2, 4, 5)) * -6.0 + del x407 + x409 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x409 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) + x409 += einsum(x230, (0, 1, 2, 3), (0, 2, 1, 3)) + x410 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x410 += einsum(x302, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + del x302 + x410 += einsum(x228, (0, 1, 2, 3), (0, 2, 1, 3)) * -3.0 + del x228 + x411 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x411 += einsum(x409, (0, 1, 2, 3), x410, (0, 4, 5, 3), (1, 2, 4, 5)) * 2.0 + del x409 + x412 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x412 += einsum(t1.aa, (0, 1), x361, (2, 1), (0, 2)) + x413 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x413 += einsum(x353, (0, 1), (1, 0)) + del x353 + x413 += einsum(x354, (0, 1), (0, 1)) + del x354 + x413 += einsum(x355, (0, 1), (0, 1)) * 2.0 + del x355 + x413 += einsum(x357, (0, 1), (1, 0)) * -1.0 + del x357 + x413 += einsum(x412, (0, 1), (0, 1)) + del x412 + x414 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x414 += einsum(x413, (0, 1), l2.aaaa, (2, 3, 4, 0), (4, 1, 2, 3)) * -2.0 + x415 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x415 += einsum(x390, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 + del x390 + x415 += einsum(x391, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 + del x391 + x415 += einsum(x393, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 + del x393 + x415 += einsum(x395, (0, 1, 2, 3), (0, 1, 3, 2)) * 6.0 + del x395 + x415 += einsum(x398, (0, 1, 2, 3), (0, 1, 3, 2)) + del x398 + x415 += einsum(x408, (0, 1, 2, 3), (0, 1, 2, 3)) + del x408 + x415 += einsum(x411, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x411 + x415 += einsum(x414, (0, 1, 2, 3), (0, 1, 3, 2)) + del x414 + l2new_aaaa += einsum(x415, (0, 1, 2, 3), (3, 2, 0, 1)) + l2new_aaaa += einsum(x415, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 + del x415 + x416 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x416 += einsum(f.aa.vv, (0, 1), l2.aaaa, (2, 1, 3, 4), (3, 4, 0, 2)) + x417 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x417 += einsum(x22, (0, 1, 2, 3), x91, (0, 1, 4, 5, 6, 3), (4, 5, 6, 2)) + x418 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) + x418 += einsum(t1.bb, (0, 1), v.aabb.vvvv, (2, 3, 4, 1), (0, 4, 2, 3)) + x419 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) + x419 += einsum(t2.bbbb, (0, 1, 2, 3), v.aabb.vvov, (4, 5, 1, 3), (0, 2, 4, 5)) + x420 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) + x420 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovvv, (0, 4, 5, 3), (1, 5, 2, 4)) + x421 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) + x421 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.babbab, (4, 0, 2, 5, 6, 3), (4, 5, 6, 1)) + x422 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) + x422 += einsum(v.aaaa.ovov, (0, 1, 2, 3), t3.abaaba, (0, 4, 2, 5, 6, 1), (4, 6, 5, 3)) * -1.0 + x423 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x423 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x423 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) + x424 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) + x424 += einsum(t2.abab, (0, 1, 2, 3), x423, (0, 2, 4, 5), (1, 3, 4, 5)) + del x423 + x425 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) + x425 += einsum(t2.abab, (0, 1, 2, 3), x39, (1, 4, 0, 5), (4, 3, 2, 5)) + x426 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) + x426 += einsum(v.aabb.vvov, (0, 1, 2, 3), (2, 3, 0, 1)) + x426 += einsum(x418, (0, 1, 2, 3), (0, 1, 3, 2)) + x426 += einsum(x419, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 + x426 += einsum(x420, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + x426 += einsum(x421, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.999999999999921 + x426 += einsum(x422, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.99999999999992 + x426 += einsum(x424, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x424 + x426 += einsum(x425, (0, 1, 2, 3), (0, 1, 3, 2)) + x427 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x427 += einsum(x426, (0, 1, 2, 3), l3.abaaba, (4, 1, 3, 5, 0, 6), (5, 6, 4, 2)) * -2.0 + del x426 + x428 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x428 += einsum(t1.aa, (0, 1), v.aaaa.vvvv, (2, 3, 4, 1), (0, 2, 3, 4)) + x429 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x429 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.vvov, (4, 5, 1, 3), (0, 2, 4, 5)) + x430 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x430 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.abaaba, (4, 2, 0, 5, 3, 6), (4, 5, 6, 1)) + x431 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x431 += einsum(v.aaaa.ovov, (0, 1, 2, 3), t3.aaaaaa, (4, 0, 2, 5, 6, 3), (4, 5, 6, 1)) + x432 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x432 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) + x432 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x433 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x433 += einsum(t2.aaaa, (0, 1, 2, 3), x432, (1, 3, 4, 5), (0, 2, 4, 5)) * 2.0 + x434 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x434 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) + x434 += einsum(x230, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + x435 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x435 += einsum(t2.aaaa, (0, 1, 2, 3), x434, (0, 4, 1, 5), (4, 2, 3, 5)) + x436 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x436 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x436 += einsum(x428, (0, 1, 2, 3), (0, 2, 3, 1)) + x436 += einsum(x429, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + x436 += einsum(x430, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.9999999999999606 + x436 += einsum(x431, (0, 1, 2, 3), (0, 2, 1, 3)) * -2.999999999999881 + x436 += einsum(x433, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x433 + x436 += einsum(x435, (0, 1, 2, 3), (0, 2, 1, 3)) + del x435 + x437 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x437 += einsum(x436, (0, 1, 2, 3), l3.aaaaaa, (4, 1, 2, 5, 6, 0), (5, 6, 4, 3)) * -6.0 + del x436 + x438 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x438 += einsum(t1.bb, (0, 1), x39, (0, 2, 3, 4), (2, 1, 3, 4)) + x439 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x439 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) + x439 += einsum(x238, (0, 1, 2, 3), (0, 1, 2, 3)) + x439 += einsum(x239, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x439 += einsum(x241, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x241 + x439 += einsum(x438, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x438 + l2new_abab += einsum(x439, (0, 1, 2, 3), x58, (0, 4, 5, 1, 6, 2), (3, 5, 6, 4)) * 2.0 + x440 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x440 += einsum(x439, (0, 1, 2, 3), x61, (0, 1, 4, 5, 2, 6), (4, 5, 6, 3)) * 2.0 + del x439 + x441 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x441 += einsum(t1.aa, (0, 1), v.aaaa.ooov, (2, 0, 3, 4), (2, 3, 1, 4)) + x442 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x442 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + x442 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x442 += einsum(x441, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x441 + x442 += einsum(x232, (0, 1, 2, 3), (0, 1, 2, 3)) + x442 += einsum(x234, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x443 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x443 += einsum(x442, (0, 1, 2, 3), x193, (4, 5, 0, 1, 2, 6), (4, 5, 6, 3)) * 6.0 + del x442 + x444 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x444 += einsum(t1.aa, (0, 1), x230, (2, 3, 0, 4), (2, 3, 1, 4)) + x445 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x445 += einsum(t1.aa, (0, 1), x235, (2, 1, 3, 4), (0, 2, 3, 4)) + x446 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x446 += einsum(x444, (0, 1, 2, 3), (0, 1, 2, 3)) + del x444 + x446 += einsum(x445, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + l2new_abab += einsum(x446, (0, 1, 2, 3), x61, (4, 5, 0, 6, 1, 2), (3, 5, 6, 4)) * 2.0 + x447 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x447 += einsum(x446, (0, 1, 2, 3), x193, (4, 5, 0, 1, 2, 6), (4, 5, 6, 3)) * 6.0 + del x446 + x448 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + x448 += einsum(v.aabb.vvoo, (0, 1, 2, 3), (2, 3, 0, 1)) + x448 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + l2new_abab += einsum(x448, (0, 1, 2, 3), x74, (0, 4, 1, 5, 6, 2), (3, 5, 6, 4)) * 2.0 + x449 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x449 += einsum(x448, (0, 1, 2, 3), x91, (0, 1, 4, 5, 2, 6), (4, 5, 6, 3)) * 2.0 + del x448 + x450 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x450 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), x326, (4, 5, 0, 3), (4, 5, 1, 2)) * 6.0 + x451 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x451 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 4, 1, 3), (2, 4)) + x452 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x452 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (0, 3, 1, 4), (2, 4)) * -1.0 + x453 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x453 += einsum(t1.aa, (0, 1), x339, (0, 1, 2, 3), (2, 3)) + del x339 + x454 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x454 += einsum(x351, (0, 1), (1, 0)) * -1.0 + x454 += einsum(x451, (0, 1), (1, 0)) + x454 += einsum(x452, (0, 1), (1, 0)) * 2.0 + x454 += einsum(x453, (0, 1), (1, 0)) * -1.0 + del x453 + x455 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x455 += einsum(x454, (0, 1), l2.aaaa, (2, 1, 3, 4), (3, 4, 2, 0)) * -2.0 + x456 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x456 += einsum(v.aaaa.ovov, (0, 1, 2, 3), x334, (0, 4, 5, 2), (4, 5, 3, 1)) * 2.0 + del x334 + x457 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x457 += einsum(x361, (0, 1), x289, (2, 3, 0, 4), (2, 3, 4, 1)) * 2.0 + x458 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x458 += einsum(f.aa.ov, (0, 1), x300, (2, 3, 0, 4), (2, 3, 4, 1)) * 6.0 + del x300 + x459 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x459 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x459 += einsum(x416, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 + del x416 + x459 += einsum(x417, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 + del x417 + x459 += einsum(x427, (0, 1, 2, 3), (1, 0, 3, 2)) + del x427 + x459 += einsum(x437, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x437 + x459 += einsum(x440, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x440 + x459 += einsum(x443, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x443 + x459 += einsum(x447, (0, 1, 2, 3), (0, 1, 3, 2)) + del x447 + x459 += einsum(x449, (0, 1, 2, 3), (0, 1, 3, 2)) + del x449 + x459 += einsum(x450, (0, 1, 2, 3), (0, 1, 3, 2)) + del x450 + x459 += einsum(x455, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x455 + x459 += einsum(x456, (0, 1, 2, 3), (0, 1, 2, 3)) + del x456 + x459 += einsum(x457, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x457 + x459 += einsum(x458, (0, 1, 2, 3), (1, 0, 2, 3)) + del x458 + l2new_aaaa += einsum(x459, (0, 1, 2, 3), (3, 2, 0, 1)) + l2new_aaaa += einsum(x459, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 + del x459 + x460 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x460 += einsum(f.aa.oo, (0, 1), l2.aaaa, (2, 3, 4, 1), (0, 4, 2, 3)) + l2new_aaaa += einsum(x460, (0, 1, 2, 3), (3, 2, 0, 1)) * -2.0 + l2new_aaaa += einsum(x460, (0, 1, 2, 3), (3, 2, 1, 0)) * 2.0 + del x460 + x461 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x461 += einsum(x331, (0, 1, 2, 3), (1, 0, 3, 2)) * -0.3333333333333468 + del x331 + x461 += einsum(t1.aa, (0, 1), x195, (2, 3, 4, 1), (2, 3, 4, 0)) * 0.3333333333333468 + del x195 + x461 += einsum(x332, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.33333333333333354 + del x332 + x461 += einsum(x229, (0, 1, 2, 3), (0, 1, 3, 2)) + del x229 + l2new_aaaa += einsum(v.aaaa.ovov, (0, 1, 2, 3), x461, (4, 5, 0, 2), (3, 1, 5, 4)) * -5.9999999999997575 + del x461 + x462 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x462 += einsum(v.aaaa.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x462 += einsum(x251, (0, 1, 2, 3), (1, 3, 0, 2)) * -1.0 + x462 += einsum(x252, (0, 1, 2, 3), (0, 3, 1, 2)) + l2new_aaaa += einsum(l2.aaaa, (0, 1, 2, 3), x462, (2, 4, 3, 5), (0, 1, 4, 5)) * -2.0 + x463 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x463 += einsum(t1.aa, (0, 1), v.aabb.vvvv, (2, 1, 3, 4), (3, 4, 0, 2)) + x464 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x464 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.vvov, (4, 2, 1, 5), (3, 5, 0, 4)) + x465 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x465 += einsum(t2.aaaa, (0, 1, 2, 3), v.aabb.ovvv, (1, 3, 4, 5), (4, 5, 0, 2)) + x466 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x466 += einsum(v.bbbb.ovov, (0, 1, 2, 3), t3.babbab, (0, 4, 2, 5, 6, 3), (5, 1, 4, 6)) + x467 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x467 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.abaaba, (4, 2, 0, 5, 6, 1), (6, 3, 4, 5)) + x468 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x468 += einsum(t2.abab, (0, 1, 2, 3), x217, (1, 4, 3, 5), (4, 5, 0, 2)) + x469 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x469 += einsum(t2.abab, (0, 1, 2, 3), x8, (1, 4, 0, 5), (3, 4, 5, 2)) + x470 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x470 += einsum(v.aabb.ovvv, (0, 1, 2, 3), (2, 3, 0, 1)) + x470 += einsum(x463, (0, 1, 2, 3), (1, 0, 2, 3)) + x470 += einsum(x464, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x470 += einsum(x465, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 + x470 += einsum(x466, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.99999999999992 + x470 += einsum(x467, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.999999999999921 + x470 += einsum(x468, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + x470 += einsum(x469, (0, 1, 2, 3), (0, 1, 2, 3)) + l2new_abab += einsum(x470, (0, 1, 2, 3), l3.abaaba, (4, 0, 3, 5, 6, 2), (4, 1, 5, 6)) * 2.0 + del x470 + x471 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) + x471 += einsum(v.aabb.vvov, (0, 1, 2, 3), (2, 3, 0, 1)) + x471 += einsum(x418, (0, 1, 2, 3), (0, 1, 3, 2)) + del x418 + x471 += einsum(x419, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 + del x419 + x471 += einsum(x420, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x420 + x471 += einsum(x421, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.999999999999921 + del x421 + x471 += einsum(x422, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.99999999999992 + del x422 + x471 += einsum(t2.abab, (0, 1, 2, 3), x235, (0, 2, 4, 5), (1, 3, 5, 4)) * -1.0 + x471 += einsum(x425, (0, 1, 2, 3), (0, 1, 2, 3)) + del x425 + l2new_abab += einsum(x471, (0, 1, 2, 3), l3.babbab, (4, 2, 1, 5, 6, 0), (3, 4, 6, 5)) * 2.0 + del x471 + x472 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x472 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) * 0.5 + x472 += einsum(x428, (0, 1, 2, 3), (0, 3, 2, 1)) * -0.5 + del x428 + x472 += einsum(x429, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.5 + del x429 + x472 += einsum(x430, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.49999999999998 + del x430 + x472 += einsum(x431, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.4999999999999405 + del x431 + x472 += einsum(t2.aaaa, (0, 1, 2, 3), x432, (1, 3, 4, 5), (0, 2, 5, 4)) * -1.0 + del x432 + x472 += einsum(t2.aaaa, (0, 1, 2, 3), x434, (0, 4, 1, 5), (4, 2, 3, 5)) * -0.5 + del x434 + l2new_abab += einsum(x472, (0, 1, 2, 3), l3.abaaba, (1, 4, 2, 5, 6, 0), (3, 4, 5, 6)) * 4.0 + del x472 + x473 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x473 += einsum(t1.bb, (0, 1), v.bbbb.vvvv, (2, 3, 4, 1), (0, 2, 3, 4)) + x474 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x474 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovvv, (0, 2, 4, 5), (1, 3, 4, 5)) + x475 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x475 += einsum(v.bbbb.ovov, (0, 1, 2, 3), t3.bbbbbb, (4, 0, 2, 5, 6, 3), (4, 5, 6, 1)) + x476 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x476 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.babbab, (4, 0, 2, 5, 1, 6), (4, 5, 6, 3)) + x477 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x477 += einsum(t2.bbbb, (0, 1, 2, 3), x217, (1, 3, 4, 5), (0, 2, 4, 5)) * 2.0 + x478 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x478 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) + x478 += einsum(x3, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + x479 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x479 += einsum(t2.bbbb, (0, 1, 2, 3), x478, (0, 4, 1, 5), (4, 2, 3, 5)) * -1.0 + del x478 + x480 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x480 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x480 += einsum(x473, (0, 1, 2, 3), (0, 2, 3, 1)) + x480 += einsum(x474, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + x480 += einsum(x475, (0, 1, 2, 3), (0, 2, 1, 3)) * -2.999999999999881 + x480 += einsum(x476, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.99999999999996 + x480 += einsum(x477, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + x480 += einsum(x479, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + l2new_abab += einsum(x480, (0, 1, 2, 3), l3.babbab, (1, 4, 2, 5, 6, 0), (4, 3, 6, 5)) * 2.0 + del x480 + x481 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x481 += einsum(v.aabb.ooov, (0, 1, 2, 3), (2, 3, 0, 1)) + x481 += einsum(x7, (0, 1, 2, 3), (0, 1, 2, 3)) + x481 += einsum(x304, (0, 1, 2, 3), (0, 1, 2, 3)) + del x304 + x481 += einsum(x305, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.999999999999921 + del x305 + x481 += einsum(x306, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.99999999999992 + del x306 + x481 += einsum(x307, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x307 + x481 += einsum(x308, (0, 1, 2, 3), (0, 1, 3, 2)) + del x308 + x481 += einsum(x309, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x309 + x481 += einsum(x310, (0, 1, 2, 3), (0, 1, 2, 3)) + del x310 + x481 += einsum(x312, (0, 1, 2, 3), (0, 1, 3, 2)) + del x312 + x481 += einsum(x313, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x313 + l2new_abab += einsum(x481, (0, 1, 2, 3), l3.babbab, (4, 5, 1, 6, 2, 0), (5, 4, 3, 6)) * -2.0 + del x481 + x482 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x482 += einsum(v.aabb.ovoo, (0, 1, 2, 3), (2, 3, 0, 1)) * 0.5 + x482 += einsum(x118, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.5 + x482 += einsum(x119, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 + x482 += einsum(x120, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.99999999999996 + x482 += einsum(x121, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.9999999999999605 + x482 += einsum(t2.abab, (0, 1, 2, 3), x122, (4, 5, 1, 3), (5, 4, 0, 2)) * -0.5 + del x122 + x482 += einsum(t2.aaaa, (0, 1, 2, 3), x39, (4, 5, 1, 3), (5, 4, 0, 2)) + x482 += einsum(t2.abab, (0, 1, 2, 3), x8, (4, 3, 0, 5), (1, 4, 5, 2)) * -0.5 + x482 += einsum(x21, (0, 1), t2.abab, (2, 3, 4, 1), (3, 0, 2, 4)) * 0.5 + del x21 + x482 += einsum(t1.bb, (0, 1), x126, (2, 1, 3, 4), (0, 2, 3, 4)) * 0.5 + del x126 + x482 += einsum(t1.aa, (0, 1), x128, (2, 3, 0, 4), (3, 2, 4, 1)) * -0.5 + del x128 + l2new_abab += einsum(x482, (0, 1, 2, 3), l3.abaaba, (4, 5, 3, 6, 0, 2), (4, 5, 6, 1)) * -4.0 + del x482 + x483 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x483 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * 0.3333333333333466 + x483 += einsum(x315, (0, 1, 2, 3), (2, 1, 0, 3)) * 0.3333333333333466 + del x315 + x483 += einsum(x316, (0, 1, 2, 3), (2, 1, 0, 3)) * -0.33333333333333326 + del x316 + x483 += einsum(x317, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 + del x317 + x483 += einsum(t2.aaaa, (0, 1, 2, 3), x231, (4, 5, 1, 3), (5, 0, 4, 2)) * -0.6666666666666932 + del x231 + x483 += einsum(t2.abab, (0, 1, 2, 3), x31, (1, 3, 4, 5), (5, 0, 4, 2)) * 0.3333333333333466 + x483 += einsum(x245, (0, 1), t2.aaaa, (2, 3, 4, 1), (0, 2, 3, 4)) * 0.3333333333333466 + del x245 + x483 += einsum(t1.aa, (0, 1), x319, (2, 3, 1, 4), (3, 2, 0, 4)) * 0.3333333333333466 + del x319 + x483 += einsum(t1.aa, (0, 1), x254, (0, 2, 3, 4), (3, 2, 4, 1)) * -0.3333333333333466 + del x254 + l2new_abab += einsum(x483, (0, 1, 2, 3), l3.abaaba, (4, 5, 3, 1, 6, 2), (4, 5, 0, 6)) * 5.999999999999762 + del x483 + x484 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x484 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x484 += einsum(x146, (0, 1, 2, 3), (2, 1, 0, 3)) + x484 += einsum(x147, (0, 1, 2, 3), (2, 1, 0, 3)) * -2.999999999999881 + x484 += einsum(x148, (0, 1, 2, 3), (2, 1, 0, 3)) * -0.99999999999996 + x484 += einsum(x149, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 + x484 += einsum(x150, (0, 1, 2, 3), (2, 0, 1, 3)) + del x150 + x484 += einsum(x151, (0, 1, 2, 3), (2, 1, 0, 3)) + del x151 + x484 += einsum(x154, (0, 1, 2, 3), (2, 1, 0, 3)) + del x154 + x484 += einsum(x155, (0, 1, 2, 3), (1, 2, 0, 3)) + del x155 + l2new_abab += einsum(x484, (0, 1, 2, 3), l3.babbab, (4, 5, 3, 1, 6, 2), (5, 4, 6, 0)) * 2.0 + del x484 + x485 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x485 += einsum(t1.aa, (0, 1), x8, (2, 3, 0, 4), (2, 3, 4, 1)) + del x8 + x486 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x486 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) + x486 += einsum(x15, (0, 1, 2, 3), (0, 1, 2, 3)) + x486 += einsum(x16, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x486 += einsum(x17, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x17 + x486 += einsum(x485, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x485 + l2new_abab += einsum(x486, (0, 1, 2, 3), x91, (4, 0, 2, 5, 6, 3), (6, 1, 5, 4)) * 2.0 + x487 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x487 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + x487 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x487 += einsum(t1.aa, (0, 1), v.aaaa.ooov, (2, 3, 0, 4), (2, 3, 1, 4)) + x487 += einsum(x232, (0, 1, 2, 3), (0, 1, 2, 3)) + x487 += einsum(x234, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x234 + l2new_abab += einsum(x487, (0, 1, 2, 3), x61, (4, 5, 0, 6, 1, 2), (3, 5, 6, 4)) * -2.0 + del x487 + x488 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x488 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + x488 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x488 += einsum(t1.bb, (0, 1), v.bbbb.ooov, (2, 3, 0, 4), (2, 3, 1, 4)) + x488 += einsum(x9, (0, 1, 2, 3), (0, 1, 2, 3)) + x488 += einsum(x11, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + l2new_abab += einsum(x488, (0, 1, 2, 3), x74, (0, 4, 1, 2, 5, 6), (6, 3, 5, 4)) * -2.0 + del x488 + x489 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x489 += einsum(t1.bb, (0, 1), x12, (2, 1, 3, 4), (0, 2, 3, 4)) + x490 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x490 += einsum(t1.bb, (0, 1), x3, (2, 3, 0, 4), (2, 3, 1, 4)) + x490 += einsum(x489, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + l2new_abab += einsum(x490, (0, 1, 2, 3), x74, (0, 4, 1, 2, 5, 6), (6, 3, 5, 4)) * 2.0 + del x490 + x491 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x491 += einsum(x271, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5000000000000198 + del x271 + x491 += einsum(x272, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5000000000000198 + del x272 + x491 += einsum(x273, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.7499999999999999 + del x273 + x491 += einsum(x274, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5000000000000198 + del x274 + x491 += einsum(x275, (0, 1, 2, 3), (0, 1, 2, 3)) + del x275 + x491 += einsum(x276, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5000000000000198 + del x276 + x491 += einsum(x277, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.7499999999999999 + del x277 + x491 += einsum(t1.bb, (0, 1), x106, (0, 2, 3, 4), (2, 1, 3, 4)) * -0.5000000000000198 + l2new_abab += einsum(x10, (0, 1, 2, 3), x491, (0, 2, 4, 5), (5, 3, 4, 1)) * -3.999999999999842 + del x491 + x492 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x492 += einsum(v.aabb.oovv, (0, 1, 2, 3), (2, 3, 0, 1)) + x492 += einsum(x247, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + l2new_abab += einsum(x492, (0, 1, 2, 3), x61, (4, 0, 2, 5, 3, 6), (6, 1, 5, 4)) * 2.0 + x493 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x493 += einsum(l2.aaaa, (0, 1, 2, 3), (2, 3, 0, 1)) + x493 += einsum(x282, (0, 1, 2, 3), (1, 0, 3, 2)) * 0.5 + del x282 + x493 += einsum(x283, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 + del x283 + x493 += einsum(x284, (0, 1, 2, 3), (1, 0, 3, 2)) * 0.49999999999998 + del x284 + x493 += einsum(x285, (0, 1, 2, 3), (1, 0, 3, 2)) * 1.999999999999921 + del x285 + x493 += einsum(x286, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x286 + x493 += einsum(x287, (0, 1, 2, 3), (1, 0, 3, 2)) * 4.4999999999998215 + del x287 + x493 += einsum(x288, (0, 1, 2, 3), (1, 0, 3, 2)) * -3.0 + del x288 + x493 += einsum(t1.aa, (0, 1), x333, (0, 2, 3, 4), (3, 2, 1, 4)) + del x333 + l2new_abab += einsum(v.aabb.ovov, (0, 1, 2, 3), x493, (0, 4, 1, 5), (5, 3, 4, 2)) * 2.0 + del x493 + x494 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x494 += einsum(x64, (0, 1, 2, 3), (0, 1, 2, 3)) + del x64 + x494 += einsum(x65, (0, 1, 2, 3), (0, 1, 2, 3)) + del x65 + x495 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x495 += einsum(t1.aa, (0, 1), x494, (2, 3, 0, 4), (2, 3, 4, 1)) * 2.0 + x496 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x496 += einsum(l2.abab, (0, 1, 2, 3), (3, 1, 2, 0)) + x496 += einsum(x54, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x496 += einsum(x55, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x496 += einsum(x56, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.999999999999881 + x496 += einsum(x57, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.999999999999842 + x496 += einsum(x59, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 + x496 += einsum(x60, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.999999999999881 + x496 += einsum(x62, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 + x496 += einsum(x495, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x495 + l2new_abab += einsum(v.aaaa.ovov, (0, 1, 2, 3), x496, (4, 5, 2, 3), (1, 5, 0, 4)) + x497 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x497 += einsum(l2.bbbb, (0, 1, 2, 3), (2, 3, 0, 1)) * 2.0 + x497 += einsum(x81, (0, 1, 2, 3), (1, 0, 3, 2)) * 4.0 + x497 += einsum(x82, (0, 1, 2, 3), (1, 0, 3, 2)) + x497 += einsum(x83, (0, 1, 2, 3), (1, 0, 3, 2)) * 8.999999999999643 + x497 += einsum(x73, (0, 1, 2, 3), (1, 0, 3, 2)) * -6.0 + x497 += einsum(x84, (0, 1, 2, 3), (1, 0, 3, 2)) * 3.999999999999842 + x497 += einsum(x75, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 + x497 += einsum(x85, (0, 1, 2, 3), (1, 0, 3, 2)) * 0.99999999999996 + x497 += einsum(t1.bb, (0, 1), x157, (0, 2, 3, 4), (3, 2, 1, 4)) * 6.0 + l2new_abab += einsum(v.aabb.ovov, (0, 1, 2, 3), x497, (2, 4, 3, 5), (1, 5, 0, 4)) + del x497 + x498 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x498 += einsum(x54, (0, 1, 2, 3), (0, 1, 2, 3)) + del x54 + x498 += einsum(x55, (0, 1, 2, 3), (0, 1, 2, 3)) + del x55 + x498 += einsum(x56, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.4999999999999405 + del x56 + x498 += einsum(x57, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.999999999999921 + del x57 + x498 += einsum(x59, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x59 + x498 += einsum(x60, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.4999999999999405 + del x60 + x498 += einsum(x62, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x62 + x498 += einsum(t1.aa, (0, 1), x494, (2, 3, 0, 4), (2, 3, 4, 1)) * -1.0 + l2new_abab += einsum(v.aaaa.ovov, (0, 1, 2, 3), x498, (4, 5, 2, 1), (3, 5, 0, 4)) * -2.0 + del x498 + x499 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x499 += einsum(x0, (0, 1, 2, 3), (0, 2, 1, 3)) * -3.0 + x499 += einsum(x116, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + l2new_abab += einsum(v.aabb.ovvv, (0, 1, 2, 3), x499, (4, 5, 2, 3), (1, 5, 0, 4)) * 2.0 + x500 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x500 += einsum(x291, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 + del x291 + x500 += einsum(x292, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.99999999999996 + del x292 + x500 += einsum(x293, (0, 1, 2, 3), (0, 1, 2, 3)) + del x293 + x500 += einsum(x294, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.99999999999996 + del x294 + x500 += einsum(x295, (0, 1, 2, 3), (0, 1, 2, 3)) + del x295 + x500 += einsum(t1.bb, (0, 1), x494, (0, 2, 3, 4), (2, 1, 3, 4)) + del x494 + l2new_abab += einsum(v.aabb.ovov, (0, 1, 2, 3), x500, (4, 3, 5, 0), (1, 4, 5, 2)) * 2.0 + del x500 + x501 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + x501 += einsum(x87, (0, 1, 2, 3), (0, 1, 2, 3)) + del x87 + x501 += einsum(x88, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.99999999999992 + del x88 + x501 += einsum(x89, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + del x89 + x501 += einsum(x90, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.99999999999992 + del x90 + x501 += einsum(x92, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + del x92 + x501 += einsum(t1.aa, (0, 1), x106, (2, 3, 0, 4), (2, 3, 4, 1)) * 2.0 + del x106 + l2new_abab += einsum(v.aabb.ovov, (0, 1, 2, 3), x501, (4, 2, 5, 1), (5, 3, 0, 4)) + del x501 + x502 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x502 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) + x502 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x502 += einsum(x489, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x489 + l2new_abab += einsum(l2.abab, (0, 1, 2, 3), x502, (3, 4, 1, 5), (0, 5, 2, 4)) * -1.0 + del x502 + x503 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x503 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) + x503 += einsum(x445, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x445 + l2new_abab += einsum(l2.abab, (0, 1, 2, 3), x503, (2, 4, 0, 5), (5, 1, 4, 3)) * -1.0 + del x503 + x504 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x504 += einsum(v.aabb.oovv, (0, 1, 2, 3), (2, 3, 0, 1)) + x504 += einsum(x246, (0, 1, 2, 3), (1, 0, 2, 3)) + l2new_abab += einsum(l2.abab, (0, 1, 2, 3), x504, (1, 4, 2, 5), (0, 4, 5, 3)) * -1.0 + del x504 + x505 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + x505 += einsum(v.aabb.vvoo, (0, 1, 2, 3), (2, 3, 0, 1)) + x505 += einsum(x22, (0, 1, 2, 3), (0, 1, 3, 2)) + l2new_abab += einsum(l2.abab, (0, 1, 2, 3), x505, (3, 4, 0, 5), (5, 1, 2, 4)) * -1.0 + del x505 + x506 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) + x506 += einsum(v.aabb.oooo, (0, 1, 2, 3), (2, 3, 0, 1)) + x506 += einsum(x29, (0, 1, 2, 3), (1, 0, 2, 3)) + del x29 + x506 += einsum(x30, (0, 1, 2, 3), (0, 1, 2, 3)) + del x30 + x506 += einsum(x249, (0, 1, 2, 3), (0, 1, 3, 2)) + del x249 + l2new_abab += einsum(l2.abab, (0, 1, 2, 3), x506, (3, 4, 2, 5), (0, 1, 5, 4)) + x507 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x507 += einsum(t1.aa, (0, 1), x235, (0, 2, 1, 3), (2, 3)) + del x235 + x508 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x508 += einsum(f.aa.vv, (0, 1), (0, 1)) * -1.0 + x508 += einsum(x351, (0, 1), (1, 0)) * -1.0 + del x351 + x508 += einsum(x451, (0, 1), (0, 1)) + del x451 + x508 += einsum(x452, (0, 1), (0, 1)) * 2.0 + del x452 + x508 += einsum(x507, (0, 1), (1, 0)) * -1.0 + del x507 + l2new_abab += einsum(x508, (0, 1), l2.abab, (0, 2, 3, 4), (1, 2, 3, 4)) * -1.0 + l3new_babbab += einsum(x508, (0, 1), l3.babbab, (2, 0, 3, 4, 5, 6), (2, 1, 3, 4, 5, 6)) * -2.0 + del x508 + x509 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x509 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (0, 4, 1, 3), (2, 4)) + x510 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x510 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 1, 4), (3, 4)) + x511 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x511 += einsum(t1.bb, (0, 1), x217, (0, 1, 2, 3), (2, 3)) + del x217 + x512 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x512 += einsum(f.bb.vv, (0, 1), (0, 1)) * -1.0 + x512 += einsum(x216, (0, 1), (1, 0)) * -1.0 + x512 += einsum(x509, (0, 1), (0, 1)) * 2.0 + x512 += einsum(x510, (0, 1), (0, 1)) + x512 += einsum(x511, (0, 1), (1, 0)) * -1.0 + del x511 + l2new_abab += einsum(x512, (0, 1), l2.abab, (2, 0, 3, 4), (2, 1, 3, 4)) * -1.0 + l3new_abaaba += einsum(x512, (0, 1), l3.abaaba, (2, 0, 3, 4, 5, 6), (2, 1, 3, 4, 5, 6)) * -2.0 + del x512 + x513 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x513 += einsum(x180, (0, 1), (0, 1)) * 1.00000000000004 + del x180 + x513 += einsum(x181, (0, 1), (0, 1)) * 2.00000000000008 + del x181 + x513 += einsum(x182, (0, 1), (0, 1)) + del x182 + x513 += einsum(x183, (0, 1), (0, 1)) * 1.9999999999999991 + del x183 + x513 += einsum(x184, (0, 1), (0, 1)) * 2.9999999999999982 + del x184 + l2new_abab += einsum(x513, (0, 1), v.aabb.ovov, (2, 1, 3, 4), (0, 4, 2, 3)) * -0.9999999999999601 + del x513 + x514 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x514 += einsum(x161, (0, 1), (0, 1)) * 2.0 + x514 += einsum(x162, (0, 1), (0, 1)) + x514 += einsum(x163, (0, 1), (0, 1)) * 2.9999999999998788 + x514 += einsum(x164, (0, 1), (0, 1)) * 1.9999999999999194 + x514 += einsum(x211, (0, 1), (0, 1)) * 0.9999999999999601 + l2new_abab += einsum(x514, (0, 1), v.aabb.ovov, (2, 3, 4, 1), (3, 0, 2, 4)) * -1.0 + del x514 + x515 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x515 += einsum(x230, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x515 += einsum(x230, (0, 1, 2, 3), (0, 2, 1, 3)) + l2new_abab += einsum(x515, (0, 1, 2, 3), x63, (4, 5, 0, 1), (3, 5, 2, 4)) * -1.0 + l3new_babbab += einsum(x515, (0, 1, 2, 3), x58, (4, 5, 6, 7, 0, 1), (6, 3, 7, 5, 2, 4)) * 2.0 + x516 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x516 += einsum(x3, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x516 += einsum(x3, (0, 1, 2, 3), (0, 2, 1, 3)) + l2new_abab += einsum(x516, (0, 1, 2, 3), x93, (0, 2, 4, 5), (5, 3, 4, 1)) + del x93 + l3new_abaaba += einsum(x516, (0, 1, 2, 3), x91, (0, 1, 4, 5, 6, 7), (6, 3, 7, 5, 2, 4)) * 2.0 + x517 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x517 += einsum(x199, (0, 1), (0, 1)) * 1.00000000000004 + del x199 + x517 += einsum(x200, (0, 1), (0, 1)) * 1.00000000000004 + del x200 + x517 += einsum(x201, (0, 1), (0, 1)) * 2.00000000000008 + del x201 + x517 += einsum(x202, (0, 1), (0, 1)) + del x202 + x517 += einsum(x203, (0, 1), (0, 1)) * 1.9999999999999991 + del x203 + x517 += einsum(x204, (0, 1), (0, 1)) * 2.9999999999999982 + del x204 + l2new_abab += einsum(x517, (0, 1), v.aabb.ovov, (1, 2, 3, 4), (2, 4, 0, 3)) * -0.9999999999999601 + del x517 + x518 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x518 += einsum(l1.bb, (0, 1), v.bbbb.ovvv, (2, 3, 4, 0), (1, 2, 3, 4)) + x519 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x519 += einsum(l2.abab, (0, 1, 2, 3), x15, (4, 5, 2, 0), (3, 4, 1, 5)) + x520 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x520 += einsum(x63, (0, 1, 2, 3), x7, (4, 5, 2, 3), (0, 4, 1, 5)) + del x63 + x521 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x521 += einsum(x499, (0, 1, 2, 3), x80, (4, 3, 1, 5), (4, 0, 5, 2)) * 2.0 + del x499 + x522 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x522 += einsum(t1.bb, (0, 1), x157, (2, 0, 3, 4), (2, 3, 1, 4)) * 3.0 + del x157 + x523 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x523 += einsum(x81, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + del x81 + x523 += einsum(x82, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 + del x82 + x523 += einsum(x83, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.4999999999998215 + del x83 + x523 += einsum(x73, (0, 1, 2, 3), (0, 1, 2, 3)) * -3.0 + del x73 + x523 += einsum(x84, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.999999999999921 + del x84 + x523 += einsum(x75, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x75 + x523 += einsum(x85, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.49999999999998 + del x85 + x523 += einsum(x522, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x522 + x524 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x524 += einsum(x10, (0, 1, 2, 3), x523, (4, 0, 5, 2), (1, 4, 3, 5)) * 2.0 + del x523 + x525 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x525 += einsum(v.aabb.ovov, (0, 1, 2, 3), x496, (4, 5, 0, 1), (2, 4, 3, 5)) + del x496 + x526 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x526 += einsum(v.aabb.vvov, (0, 1, 2, 3), x100, (4, 5, 0, 1), (2, 4, 3, 5)) * 2.0 + x527 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x527 += einsum(t1.bb, (0, 1), x80, (2, 1, 3, 4), (0, 2, 3, 4)) + del x80 + x528 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x528 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) + x528 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x528 += einsum(x527, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x527 + x529 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x529 += einsum(l2.bbbb, (0, 1, 2, 3), x528, (3, 4, 5, 1), (2, 4, 0, 5)) * 2.0 + del x528 + x530 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x530 += einsum(x1, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.3333333333333333 + x530 += einsum(x76, (0, 1, 2, 3), (0, 1, 2, 3)) + del x76 + x530 += einsum(x77, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.3333333333333333 + del x77 + x531 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x531 += einsum(x213, (0, 1, 2, 3), x530, (4, 0, 2, 5), (1, 4, 3, 5)) * 6.0 + del x530 + x532 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x532 += einsum(x161, (0, 1), (0, 1)) + del x161 + x532 += einsum(x162, (0, 1), (0, 1)) * 0.5 + del x162 + x532 += einsum(x163, (0, 1), (0, 1)) * 1.4999999999999394 + del x163 + x532 += einsum(x164, (0, 1), (0, 1)) * 0.9999999999999597 + del x164 + x532 += einsum(x211, (0, 1), (0, 1)) * 0.49999999999998007 + del x211 + x533 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x533 += einsum(x532, (0, 1), v.bbbb.ovov, (2, 1, 3, 4), (2, 3, 4, 0)) * 2.0 + del x532 + x534 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x534 += einsum(v.aabb.ooov, (0, 1, 2, 3), x101, (4, 5, 0, 1), (2, 4, 3, 5)) + del x101 + x535 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x535 += einsum(x1, (0, 1, 2, 3), x516, (0, 2, 4, 5), (1, 4, 3, 5)) * 2.0 + del x1 + x536 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x536 += einsum(x341, (0, 1), v.bbbb.ovov, (2, 3, 1, 4), (2, 0, 4, 3)) + del x341 + x537 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x537 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x537 += einsum(x3, (0, 1, 2, 3), (0, 1, 2, 3)) + x538 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x538 += einsum(l1.bb, (0, 1), x537, (1, 2, 3, 4), (2, 3, 0, 4)) + x539 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x539 += einsum(f.bb.ov, (0, 1), l1.bb, (2, 3), (0, 3, 1, 2)) + x539 += einsum(x518, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x518 + x539 += einsum(x519, (0, 1, 2, 3), (0, 1, 2, 3)) + del x519 + x539 += einsum(x520, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x520 + x539 += einsum(x521, (0, 1, 2, 3), (1, 0, 3, 2)) + del x521 + x539 += einsum(x524, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x524 + x539 += einsum(x525, (0, 1, 2, 3), (1, 0, 3, 2)) + del x525 + x539 += einsum(x526, (0, 1, 2, 3), (1, 0, 3, 2)) + del x526 + x539 += einsum(x529, (0, 1, 2, 3), (0, 1, 2, 3)) + del x529 + x539 += einsum(x531, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x531 + x539 += einsum(x533, (0, 1, 2, 3), (1, 0, 3, 2)) + del x533 + x539 += einsum(x534, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x534 + x539 += einsum(x535, (0, 1, 2, 3), (0, 1, 2, 3)) + del x535 + x539 += einsum(x536, (0, 1, 2, 3), (1, 0, 3, 2)) + del x536 + x539 += einsum(x538, (0, 1, 2, 3), (0, 1, 2, 3)) + del x538 + x539 += einsum(l1.bb, (0, 1), x227, (2, 3), (1, 2, 0, 3)) + l2new_bbbb += einsum(x539, (0, 1, 2, 3), (2, 3, 0, 1)) + l2new_bbbb += einsum(x539, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 + l2new_bbbb += einsum(x539, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 + l2new_bbbb += einsum(x539, (0, 1, 2, 3), (3, 2, 1, 0)) + del x539 + x540 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x540 += einsum(f.bb.ov, (0, 1), t1.bb, (2, 1), (0, 2)) + x541 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x541 += einsum(x540, (0, 1), l2.bbbb, (2, 3, 4, 1), (0, 4, 2, 3)) + x542 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x542 += einsum(l2.bbbb, (0, 1, 2, 3), x27, (3, 2, 4, 5), (4, 5, 0, 1)) * -1.0 + x543 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x543 += einsum(f.bb.ov, (0, 1), t2.bbbb, (2, 3, 4, 1), (0, 2, 3, 4)) + x544 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x544 += einsum(x543, (0, 1, 2, 3), l3.bbbbbb, (4, 5, 3, 6, 1, 2), (0, 6, 4, 5)) * -1.0 + del x543 + x545 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x545 += einsum(f.bb.ov, (0, 1), t2.abab, (2, 3, 4, 1), (0, 3, 2, 4)) + x546 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x546 += einsum(x545, (0, 1, 2, 3), l3.babbab, (4, 3, 5, 6, 2, 1), (0, 6, 4, 5)) + del x545 + x547 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x547 += einsum(x227, (0, 1), t2.abab, (2, 3, 4, 1), (3, 0, 2, 4)) + x548 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x548 += einsum(v.aabb.ovoo, (0, 1, 2, 3), (2, 3, 0, 1)) + x548 += einsum(x118, (0, 1, 2, 3), (1, 0, 2, 3)) + del x118 + x548 += einsum(x119, (0, 1, 2, 3), (0, 1, 2, 3)) + del x119 + x548 += einsum(x120, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.99999999999992 + del x120 + x548 += einsum(x121, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.999999999999921 + del x121 + x548 += einsum(x123, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x123 + x548 += einsum(x124, (0, 1, 2, 3), (1, 0, 2, 3)) + del x124 + x548 += einsum(x125, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x125 + x548 += einsum(x547, (0, 1, 2, 3), (0, 1, 2, 3)) + del x547 + x548 += einsum(x127, (0, 1, 2, 3), (0, 1, 2, 3)) + del x127 + x548 += einsum(x129, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x129 + x549 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x549 += einsum(x548, (0, 1, 2, 3), l3.babbab, (4, 3, 5, 6, 2, 0), (6, 1, 4, 5)) * -2.0 + del x548 + x550 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x550 += einsum(t2.abab, (0, 1, 2, 3), x39, (4, 5, 0, 2), (1, 4, 5, 3)) + del x39 + x551 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x551 += einsum(x227, (0, 1), t2.bbbb, (2, 3, 4, 1), (2, 3, 0, 4)) * -1.0 + x552 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x552 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + x552 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x552 += einsum(x152, (0, 1, 2, 3), (1, 0, 2, 3)) + del x152 + x553 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x553 += einsum(t1.bb, (0, 1), x552, (2, 3, 1, 4), (0, 2, 3, 4)) + del x552 + x554 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x554 += einsum(t1.bb, (0, 1), x48, (0, 2, 3, 4), (2, 3, 4, 1)) + del x48 + x555 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x555 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) + x555 += einsum(x146, (0, 1, 2, 3), (1, 0, 2, 3)) + del x146 + x555 += einsum(x147, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.999999999999881 + del x147 + x555 += einsum(x148, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.9999999999999606 + del x148 + x555 += einsum(x149, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x149 + x555 += einsum(x550, (0, 1, 2, 3), (0, 2, 1, 3)) + del x550 + x555 += einsum(x551, (0, 1, 2, 3), (1, 0, 2, 3)) + del x551 + x555 += einsum(x553, (0, 1, 2, 3), (2, 0, 1, 3)) + del x553 + x555 += einsum(x554, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + del x554 + x556 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x556 += einsum(x555, (0, 1, 2, 3), l3.bbbbbb, (4, 5, 3, 6, 0, 1), (6, 2, 4, 5)) * -6.0 + del x555 + x557 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x557 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) + x557 += einsum(x3, (0, 1, 2, 3), (0, 2, 1, 3)) + x558 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x558 += einsum(x136, (0, 1, 2, 3), x557, (0, 4, 5, 3), (4, 5, 1, 2)) * 6.0 + del x557 + x559 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x559 += einsum(t1.bb, (0, 1), x227, (2, 1), (0, 2)) + x560 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x560 += einsum(x219, (0, 1), (1, 0)) + x560 += einsum(x220, (0, 1), (0, 1)) * 2.0 + x560 += einsum(x221, (0, 1), (0, 1)) + x560 += einsum(x223, (0, 1), (1, 0)) * -1.0 + x560 += einsum(x559, (0, 1), (0, 1)) + del x559 + x561 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x561 += einsum(x560, (0, 1), l2.bbbb, (2, 3, 4, 0), (4, 1, 2, 3)) * -2.0 + x562 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x562 += einsum(x541, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 + del x541 + x562 += einsum(x542, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 + del x542 + x562 += einsum(x544, (0, 1, 2, 3), (0, 1, 3, 2)) * 6.0 + del x544 + x562 += einsum(x546, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 + del x546 + x562 += einsum(x549, (0, 1, 2, 3), (0, 1, 3, 2)) + del x549 + x562 += einsum(x556, (0, 1, 2, 3), (0, 1, 2, 3)) + del x556 + x562 += einsum(x558, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x558 + x562 += einsum(x561, (0, 1, 2, 3), (0, 1, 3, 2)) + del x561 + l2new_bbbb += einsum(x562, (0, 1, 2, 3), (3, 2, 0, 1)) + l2new_bbbb += einsum(x562, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 + del x562 + x563 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x563 += einsum(f.bb.vv, (0, 1), l2.bbbb, (2, 1, 3, 4), (3, 4, 0, 2)) + x564 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x564 += einsum(x246, (0, 1, 2, 3), x58, (4, 5, 6, 1, 2, 3), (4, 5, 6, 0)) + x565 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x565 += einsum(v.aabb.ovvv, (0, 1, 2, 3), (2, 3, 0, 1)) + x565 += einsum(x463, (0, 1, 2, 3), (1, 0, 2, 3)) + del x463 + x565 += einsum(x464, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x464 + x565 += einsum(x465, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 + del x465 + x565 += einsum(x466, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.99999999999992 + del x466 + x565 += einsum(x467, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.999999999999921 + del x467 + x565 += einsum(x468, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x468 + x565 += einsum(x469, (0, 1, 2, 3), (1, 0, 2, 3)) + del x469 + x566 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x566 += einsum(x565, (0, 1, 2, 3), l3.babbab, (4, 3, 1, 5, 2, 6), (5, 6, 4, 0)) * -2.0 + del x565 + x567 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x567 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) + x567 += einsum(x473, (0, 1, 2, 3), (0, 3, 2, 1)) * -1.0 + del x473 + x567 += einsum(x474, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x474 + x567 += einsum(x475, (0, 1, 2, 3), (0, 2, 1, 3)) * -2.999999999999881 + del x475 + x567 += einsum(x476, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.9999999999999606 + del x476 + x567 += einsum(x477, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x477 + x567 += einsum(x479, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + del x479 + x568 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x568 += einsum(x567, (0, 1, 2, 3), l3.bbbbbb, (4, 1, 2, 5, 6, 0), (5, 6, 4, 3)) * -6.0 + del x567 + x569 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x569 += einsum(x486, (0, 1, 2, 3), x74, (4, 5, 0, 6, 2, 3), (4, 5, 6, 1)) * 2.0 + del x486 + x570 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x570 += einsum(t1.bb, (0, 1), v.bbbb.ooov, (2, 0, 3, 4), (2, 3, 1, 4)) + x571 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x571 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + x571 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x571 += einsum(x570, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x570 + x571 += einsum(x9, (0, 1, 2, 3), (0, 1, 2, 3)) + x571 += einsum(x11, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x11 + x572 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x572 += einsum(x571, (0, 1, 2, 3), x72, (4, 5, 0, 1, 2, 6), (4, 5, 6, 3)) * 6.0 + del x571 + x573 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x573 += einsum(t1.bb, (0, 1), x3, (2, 0, 3, 4), (2, 3, 1, 4)) + x574 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x574 += einsum(x573, (0, 1, 2, 3), (0, 1, 2, 3)) + del x573 + x574 += einsum(x13, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + x575 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x575 += einsum(x574, (0, 1, 2, 3), x72, (4, 5, 0, 1, 2, 6), (4, 5, 6, 3)) * 6.0 + del x574 + x576 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x576 += einsum(x492, (0, 1, 2, 3), x58, (4, 5, 0, 6, 2, 3), (4, 5, 6, 1)) * 2.0 + del x492 + x577 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x577 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), x137, (4, 5, 0, 3), (4, 5, 1, 2)) * 2.0 + x578 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x578 += einsum(t1.bb, (0, 1), x12, (0, 2, 1, 3), (2, 3)) + del x12 + x579 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x579 += einsum(x216, (0, 1), (1, 0)) * -1.0 + del x216 + x579 += einsum(x509, (0, 1), (1, 0)) * 2.0 + del x509 + x579 += einsum(x510, (0, 1), (1, 0)) + del x510 + x579 += einsum(x578, (0, 1), (0, 1)) * -1.0 + del x578 + x580 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x580 += einsum(x579, (0, 1), l2.bbbb, (2, 1, 3, 4), (3, 4, 2, 0)) * -2.0 + x581 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x581 += einsum(v.bbbb.ovov, (0, 1, 2, 3), x158, (2, 4, 5, 0), (4, 5, 1, 3)) * 6.0 + del x158 + x582 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x582 += einsum(x227, (0, 1), x78, (2, 3, 0, 4), (2, 3, 4, 1)) * 2.0 + x583 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x583 += einsum(f.bb.ov, (0, 1), x78, (2, 3, 0, 4), (2, 3, 1, 4)) * 2.0 + x584 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x584 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x584 += einsum(x563, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 + del x563 + x584 += einsum(x564, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 + del x564 + x584 += einsum(x566, (0, 1, 2, 3), (1, 0, 3, 2)) + del x566 + x584 += einsum(x568, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x568 + x584 += einsum(x569, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x569 + x584 += einsum(x572, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x572 + x584 += einsum(x575, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x575 + x584 += einsum(x576, (0, 1, 2, 3), (0, 1, 3, 2)) + del x576 + x584 += einsum(x577, (0, 1, 2, 3), (0, 1, 3, 2)) + del x577 + x584 += einsum(x580, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x580 + x584 += einsum(x581, (0, 1, 2, 3), (0, 1, 2, 3)) + del x581 + x584 += einsum(x582, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x582 + x584 += einsum(x583, (0, 1, 2, 3), (1, 0, 3, 2)) + del x583 + l2new_bbbb += einsum(x584, (0, 1, 2, 3), (3, 2, 0, 1)) + l2new_bbbb += einsum(x584, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 + del x584 + x585 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x585 += einsum(f.bb.oo, (0, 1), l2.bbbb, (2, 3, 4, 1), (0, 4, 2, 3)) + l2new_bbbb += einsum(x585, (0, 1, 2, 3), (3, 2, 0, 1)) * -2.0 + l2new_bbbb += einsum(x585, (0, 1, 2, 3), (3, 2, 1, 0)) * 2.0 + del x585 + x586 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x586 += einsum(v.bbbb.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) + x586 += einsum(x25, (0, 1, 2, 3), (1, 3, 2, 0)) + x586 += einsum(x26, (0, 1, 2, 3), (0, 2, 3, 1)) + l2new_bbbb += einsum(l2.bbbb, (0, 1, 2, 3), x586, (3, 4, 5, 2), (0, 1, 5, 4)) * 2.0 + x587 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x587 += einsum(x141, (0, 1, 2, 3), (1, 0, 3, 2)) * -0.3333333333333468 + del x141 + x587 += einsum(x2, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.3333333333333468 + del x2 + x587 += einsum(x142, (0, 1, 2, 3), (0, 1, 3, 2)) + del x142 + l2new_bbbb += einsum(v.bbbb.ovov, (0, 1, 2, 3), x587, (4, 5, 2, 0), (1, 3, 5, 4)) * -5.9999999999997575 + del x587 + x588 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x588 += einsum(v.aabb.ovoo, (0, 1, 2, 3), x91, (2, 3, 4, 5, 6, 7), (4, 5, 0, 6, 7, 1)) + x589 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x589 += einsum(t2.aaaa, (0, 1, 2, 3), x233, (1, 4, 5, 3), (0, 4, 2, 5)) * 2.0000000000000204 + x590 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x590 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + x590 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x590 += einsum(x232, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.00000000000001 + x590 += einsum(x589, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x589 + x590 += einsum(x236, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + x591 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x591 += einsum(x590, (0, 1, 2, 3), l3.aaaaaa, (4, 5, 2, 6, 7, 0), (6, 7, 1, 4, 5, 3)) * 6.0 + del x590 + x592 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x592 += einsum(t2.abab, (0, 1, 2, 3), x240, (0, 4, 2, 5), (1, 3, 4, 5)) * 1.00000000000001 + x593 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x593 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) + x593 += einsum(x238, (0, 1, 2, 3), (0, 1, 2, 3)) + x593 += einsum(x592, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x594 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x594 += einsum(x593, (0, 1, 2, 3), l3.abaaba, (4, 1, 5, 6, 0, 7), (6, 7, 2, 4, 5, 3)) * 2.0 + del x593 + x595 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x595 += einsum(x515, (0, 1, 2, 3), x193, (4, 5, 0, 1, 6, 7), (4, 5, 2, 6, 7, 3)) * 6.0 + del x515 + x596 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x596 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) + x596 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x597 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x597 += einsum(x596, (0, 1, 2, 3), x193, (4, 5, 0, 1, 6, 7), (4, 5, 2, 6, 7, 3)) * 6.0 + del x596 + x598 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x598 += einsum(x588, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 2.0 + del x588 + x598 += einsum(x591, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x591 + x598 += einsum(x594, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) + del x594 + x598 += einsum(x595, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) + del x595 + x598 += einsum(x597, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) + del x597 + l3new_aaaaaa += einsum(x598, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 0, 2)) + l3new_aaaaaa += einsum(x598, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 0, 2)) * -1.0 + l3new_aaaaaa += einsum(x598, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) * -1.0 + l3new_aaaaaa += einsum(x598, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 2, 0)) * -1.0 + l3new_aaaaaa += einsum(x598, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) + l3new_aaaaaa += einsum(x598, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) + l3new_aaaaaa += einsum(x598, (0, 1, 2, 3, 4, 5), (4, 3, 5, 2, 1, 0)) + l3new_aaaaaa += einsum(x598, (0, 1, 2, 3, 4, 5), (4, 5, 3, 2, 1, 0)) * -1.0 + l3new_aaaaaa += einsum(x598, (0, 1, 2, 3, 4, 5), (5, 3, 4, 2, 1, 0)) * -1.0 + del x598 + x599 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x599 += einsum(l2.aaaa, (0, 1, 2, 3), x230, (3, 4, 5, 6), (2, 4, 5, 0, 1, 6)) + del x230 + l3new_aaaaaa += einsum(x599, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 1, 2)) * 2.0 + l3new_aaaaaa += einsum(x599, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 1, 2)) * 2.0 + l3new_aaaaaa += einsum(x599, (0, 1, 2, 3, 4, 5), (5, 4, 3, 0, 1, 2)) * -2.0 + l3new_aaaaaa += einsum(x599, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 2, 1)) * -2.0 + l3new_aaaaaa += einsum(x599, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) * -2.0 + l3new_aaaaaa += einsum(x599, (0, 1, 2, 3, 4, 5), (5, 4, 3, 0, 2, 1)) * 2.0 + l3new_aaaaaa += einsum(x599, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 0, 2)) * -2.0 + l3new_aaaaaa += einsum(x599, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 0, 2)) * -2.0 + l3new_aaaaaa += einsum(x599, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 0, 2)) * 2.0 + l3new_aaaaaa += einsum(x599, (0, 1, 2, 3, 4, 5), (3, 4, 5, 2, 0, 1)) * 2.0 + l3new_aaaaaa += einsum(x599, (0, 1, 2, 3, 4, 5), (4, 5, 3, 2, 0, 1)) * 2.0 + l3new_aaaaaa += einsum(x599, (0, 1, 2, 3, 4, 5), (5, 4, 3, 2, 0, 1)) * -2.0 + l3new_aaaaaa += einsum(x599, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 2, 0)) * 2.0 + l3new_aaaaaa += einsum(x599, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) * 2.0 + l3new_aaaaaa += einsum(x599, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 2, 0)) * -2.0 + l3new_aaaaaa += einsum(x599, (0, 1, 2, 3, 4, 5), (3, 4, 5, 2, 1, 0)) * -2.0 + l3new_aaaaaa += einsum(x599, (0, 1, 2, 3, 4, 5), (4, 5, 3, 2, 1, 0)) * -2.0 + l3new_aaaaaa += einsum(x599, (0, 1, 2, 3, 4, 5), (5, 4, 3, 2, 1, 0)) * 2.0 + del x599 + x600 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x600 += einsum(l2.aaaa, (0, 1, 2, 3), v.aaaa.ovvv, (4, 5, 6, 1), (2, 3, 4, 0, 5, 6)) + x601 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x601 += einsum(v.aaaa.ovov, (0, 1, 2, 3), x326, (4, 5, 2, 6), (4, 5, 0, 6, 3, 1)) * 6.0 + del x326 + x602 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x602 += einsum(x600, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 2.0 + del x600 + x602 += einsum(x601, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 + del x601 + l3new_aaaaaa += einsum(x602, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 0, 2)) + l3new_aaaaaa += einsum(x602, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 0, 2)) * -1.0 + l3new_aaaaaa += einsum(x602, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 0, 2)) * -1.0 + l3new_aaaaaa += einsum(x602, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) + l3new_aaaaaa += einsum(x602, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 0, 2)) + l3new_aaaaaa += einsum(x602, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 0, 2)) * -1.0 + l3new_aaaaaa += einsum(x602, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 2, 0)) * -1.0 + l3new_aaaaaa += einsum(x602, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 2, 0)) + l3new_aaaaaa += einsum(x602, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 2, 0)) + l3new_aaaaaa += einsum(x602, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) * -1.0 + l3new_aaaaaa += einsum(x602, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) * -1.0 + l3new_aaaaaa += einsum(x602, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 2, 0)) + l3new_aaaaaa += einsum(x602, (0, 1, 2, 3, 4, 5), (3, 4, 5, 2, 1, 0)) + l3new_aaaaaa += einsum(x602, (0, 1, 2, 3, 4, 5), (3, 5, 4, 2, 1, 0)) * -1.0 + l3new_aaaaaa += einsum(x602, (0, 1, 2, 3, 4, 5), (4, 3, 5, 2, 1, 0)) * -1.0 + l3new_aaaaaa += einsum(x602, (0, 1, 2, 3, 4, 5), (5, 3, 4, 2, 1, 0)) + l3new_aaaaaa += einsum(x602, (0, 1, 2, 3, 4, 5), (4, 5, 3, 2, 1, 0)) + l3new_aaaaaa += einsum(x602, (0, 1, 2, 3, 4, 5), (5, 4, 3, 2, 1, 0)) * -1.0 + del x602 + x603 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x603 += einsum(f.aa.vv, (0, 1), l3.aaaaaa, (2, 3, 1, 4, 5, 6), (4, 5, 6, 0, 2, 3)) + x604 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x604 += einsum(f.aa.ov, (0, 1), x193, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) + x605 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x605 += einsum(v.aaaa.vvvv, (0, 1, 2, 3), l3.aaaaaa, (4, 1, 3, 5, 6, 7), (5, 6, 7, 4, 0, 2)) + x606 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x606 += einsum(x603, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -6.0 + del x603 + x606 += einsum(x604, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 6.0 + del x604 + x606 += einsum(x605, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -6.0 + del x605 + l3new_aaaaaa += einsum(x606, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 2, 0)) + l3new_aaaaaa += einsum(x606, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) + l3new_aaaaaa += einsum(x606, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 2, 0)) * -1.0 + del x606 + x607 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x607 += einsum(x462, (0, 1, 2, 3), l3.aaaaaa, (4, 5, 6, 7, 0, 2), (7, 1, 3, 4, 5, 6)) * -6.0 + del x462 + x608 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x608 += einsum(f.aa.oo, (0, 1), (0, 1)) + x608 += einsum(x389, (0, 1), (1, 0)) + del x389 + x609 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x609 += einsum(x608, (0, 1), l3.aaaaaa, (2, 3, 4, 5, 6, 0), (5, 6, 1, 2, 3, 4)) * 6.0 + x610 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x610 += einsum(x607, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) + del x607 + x610 += einsum(x609, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * -1.0 + del x609 + l3new_aaaaaa += einsum(x610, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 1, 2)) + l3new_aaaaaa += einsum(x610, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 0, 2)) * -1.0 + l3new_aaaaaa += einsum(x610, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) + del x610 + x611 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x611 += einsum(t2.aaaa, (0, 1, 2, 3), l3.aaaaaa, (4, 2, 3, 5, 6, 7), (5, 6, 7, 0, 1, 4)) + x612 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x612 += einsum(x611, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 + del x611 + x612 += einsum(x325, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 + del x325 + x613 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x613 += einsum(v.aaaa.ovov, (0, 1, 2, 3), x612, (4, 5, 6, 0, 2, 7), (4, 5, 6, 7, 1, 3)) * 6.0 + del x612 + l3new_aaaaaa += einsum(x613, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 2, 0)) * -1.0 + l3new_aaaaaa += einsum(x613, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) + l3new_aaaaaa += einsum(x613, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 2, 0)) * -1.0 + del x613 + x614 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x614 += einsum(l2.aaaa, (0, 1, 2, 3), v.aaaa.ooov, (4, 3, 5, 6), (2, 4, 5, 0, 1, 6)) + x615 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x615 += einsum(v.aaaa.ovov, (0, 1, 2, 3), x410, (4, 5, 6, 1), (4, 0, 2, 5, 6, 3)) * 2.0 + x616 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x616 += einsum(x614, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -2.0 + del x614 + x616 += einsum(x615, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) + del x615 + l3new_aaaaaa += einsum(x616, (0, 1, 2, 3, 4, 5), (4, 3, 5, 0, 1, 2)) + l3new_aaaaaa += einsum(x616, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 1, 2)) * -1.0 + l3new_aaaaaa += einsum(x616, (0, 1, 2, 3, 4, 5), (5, 3, 4, 0, 1, 2)) * -1.0 + l3new_aaaaaa += einsum(x616, (0, 1, 2, 3, 4, 5), (4, 3, 5, 0, 2, 1)) * -1.0 + l3new_aaaaaa += einsum(x616, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) + l3new_aaaaaa += einsum(x616, (0, 1, 2, 3, 4, 5), (5, 3, 4, 0, 2, 1)) + l3new_aaaaaa += einsum(x616, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 0, 2)) * -1.0 + l3new_aaaaaa += einsum(x616, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 0, 2)) + l3new_aaaaaa += einsum(x616, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) + l3new_aaaaaa += einsum(x616, (0, 1, 2, 3, 4, 5), (4, 3, 5, 2, 0, 1)) + l3new_aaaaaa += einsum(x616, (0, 1, 2, 3, 4, 5), (4, 5, 3, 2, 0, 1)) * -1.0 + l3new_aaaaaa += einsum(x616, (0, 1, 2, 3, 4, 5), (5, 3, 4, 2, 0, 1)) * -1.0 + l3new_aaaaaa += einsum(x616, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 2, 0)) + l3new_aaaaaa += einsum(x616, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) * -1.0 + l3new_aaaaaa += einsum(x616, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) * -1.0 + l3new_aaaaaa += einsum(x616, (0, 1, 2, 3, 4, 5), (4, 3, 5, 2, 1, 0)) * -1.0 + l3new_aaaaaa += einsum(x616, (0, 1, 2, 3, 4, 5), (4, 5, 3, 2, 1, 0)) + l3new_aaaaaa += einsum(x616, (0, 1, 2, 3, 4, 5), (5, 3, 4, 2, 1, 0)) + del x616 + x617 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x617 += einsum(x454, (0, 1), l3.aaaaaa, (2, 3, 1, 4, 5, 6), (4, 5, 6, 2, 3, 0)) * 6.0 + x618 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x618 += einsum(x361, (0, 1), x193, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 6, 1)) * 6.0 + x619 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x619 += einsum(x617, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) + del x617 + x619 += einsum(x618, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 + del x618 + l3new_aaaaaa += einsum(x619, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 2, 0)) + l3new_aaaaaa += einsum(x619, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) * -1.0 + l3new_aaaaaa += einsum(x619, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) * -1.0 + del x619 + x620 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x620 += einsum(x413, (0, 1), l3.aaaaaa, (2, 3, 4, 5, 6, 0), (5, 6, 1, 2, 3, 4)) * 6.0 + l3new_aaaaaa += einsum(x620, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) + l3new_aaaaaa += einsum(x620, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) * -1.0 + l3new_aaaaaa += einsum(x620, (0, 1, 2, 3, 4, 5), (5, 3, 4, 2, 1, 0)) + del x620 + x621 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x621 += einsum(x253, (0, 1, 2, 3), l3.aaaaaa, (4, 5, 6, 7, 0, 1), (7, 2, 3, 4, 5, 6)) + l3new_aaaaaa += einsum(x621, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 1, 2)) * -6.0 + l3new_aaaaaa += einsum(x621, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 2, 1)) * 6.0 + l3new_aaaaaa += einsum(x621, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 0, 2)) * 6.0 + l3new_aaaaaa += einsum(x621, (0, 1, 2, 3, 4, 5), (3, 4, 5, 2, 0, 1)) * -6.0 + l3new_aaaaaa += einsum(x621, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 2, 0)) * -6.0 + l3new_aaaaaa += einsum(x621, (0, 1, 2, 3, 4, 5), (3, 4, 5, 2, 1, 0)) * 6.0 + del x621 + x622 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x622 += einsum(x239, (0, 1, 2, 3), l3.abaaba, (4, 1, 5, 6, 0, 7), (6, 7, 2, 4, 5, 3)) + x623 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x623 += einsum(x5, (0, 1, 2, 3), x91, (0, 1, 4, 5, 6, 7), (4, 5, 2, 6, 7, 3)) + x624 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x624 += einsum(x622, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 4.00000000000004 + del x622 + x624 += einsum(x623, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -2.0 + del x623 + l3new_aaaaaa += einsum(x624, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 0, 2)) * -1.0 + l3new_aaaaaa += einsum(x624, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 0, 2)) * -1.0 + l3new_aaaaaa += einsum(x624, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 0, 2)) + l3new_aaaaaa += einsum(x624, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 2, 0)) + l3new_aaaaaa += einsum(x624, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) + l3new_aaaaaa += einsum(x624, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 2, 0)) * -1.0 + l3new_aaaaaa += einsum(x624, (0, 1, 2, 3, 4, 5), (3, 4, 5, 2, 1, 0)) * -1.0 + l3new_aaaaaa += einsum(x624, (0, 1, 2, 3, 4, 5), (4, 5, 3, 2, 1, 0)) * -1.0 + l3new_aaaaaa += einsum(x624, (0, 1, 2, 3, 4, 5), (5, 4, 3, 2, 1, 0)) + del x624 + x625 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x625 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), x193, (4, 5, 6, 0, 7, 3), (4, 5, 6, 7, 1, 2)) * -1.0 + del x193 + l3new_aaaaaa += einsum(x625, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 2, 0)) * -6.0 + l3new_aaaaaa += einsum(x625, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 2, 0)) * 6.0 + l3new_aaaaaa += einsum(x625, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 2, 0)) * 6.0 + l3new_aaaaaa += einsum(x625, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) * -6.0 + l3new_aaaaaa += einsum(x625, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) * -6.0 + l3new_aaaaaa += einsum(x625, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 2, 0)) * 6.0 + del x625 + x626 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x626 += einsum(l2.bbbb, (0, 1, 2, 3), v.aabb.ovoo, (4, 5, 6, 3), (2, 6, 0, 1, 4, 5)) + x627 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x627 += einsum(v.aabb.ovov, (0, 1, 2, 3), x116, (4, 5, 6, 3), (4, 2, 5, 6, 0, 1)) + del x116 + x628 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + x628 += einsum(v.aabb.vvoo, (0, 1, 2, 3), (2, 3, 0, 1)) + x628 += einsum(x22, (0, 1, 2, 3), (0, 1, 3, 2)) + x628 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.00000000000001 + x629 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x629 += einsum(x628, (0, 1, 2, 3), l3.babbab, (4, 2, 5, 6, 7, 0), (6, 1, 4, 5, 7, 3)) * -2.0 + del x628 + x630 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x630 += einsum(x506, (0, 1, 2, 3), l3.babbab, (4, 5, 6, 7, 2, 0), (7, 1, 4, 6, 3, 5)) * -2.0 + x631 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x631 += einsum(x6, (0, 1, 2, 3), x58, (4, 0, 5, 6, 7, 2), (4, 1, 5, 6, 7, 3)) * 2.0 + x632 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x632 += einsum(t1.bb, (0, 1), x19, (2, 1), (0, 2)) + del x19 + x633 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x633 += einsum(x219, (0, 1), (1, 0)) + del x219 + x633 += einsum(x221, (0, 1), (0, 1)) + del x221 + x633 += einsum(x632, (0, 1), (0, 1)) + del x632 + x633 += einsum(x223, (0, 1), (1, 0)) * -1.0 + del x223 + x634 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x634 += einsum(x633, (0, 1), l3.babbab, (2, 3, 4, 5, 6, 0), (5, 1, 2, 4, 6, 3)) * -2.0 + del x633 + x635 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x635 += einsum(f.bb.oo, (0, 1), (0, 1)) + x635 += einsum(x540, (0, 1), (1, 0)) + del x540 + x636 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x636 += einsum(x635, (0, 1), l3.babbab, (2, 3, 4, 5, 6, 0), (5, 1, 2, 4, 6, 3)) * -2.0 + x637 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x637 += einsum(x626, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * 2.0 + del x626 + x637 += einsum(x627, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * 2.0 + del x627 + x637 += einsum(x629, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 + del x629 + x637 += einsum(x630, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) + del x630 + x637 += einsum(x631, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 + del x631 + x637 += einsum(x634, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 + del x634 + x637 += einsum(x636, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) + del x636 + l3new_babbab += einsum(x637, (0, 1, 2, 3, 4, 5), (3, 5, 2, 0, 4, 1)) * -1.0 + l3new_babbab += einsum(x637, (0, 1, 2, 3, 4, 5), (3, 5, 2, 1, 4, 0)) + del x637 + x638 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x638 += einsum(l2.abab, (0, 1, 2, 3), v.bbbb.ovvv, (4, 5, 6, 1), (3, 4, 5, 6, 2, 0)) + x639 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x639 += einsum(l2.abab, (0, 1, 2, 3), v.aabb.vvov, (4, 0, 5, 6), (3, 5, 1, 6, 2, 4)) + x640 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x640 += einsum(v.aabb.ooov, (0, 1, 2, 3), x61, (4, 5, 6, 0, 1, 7), (4, 2, 5, 3, 6, 7)) + x641 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x641 += einsum(x7, (0, 1, 2, 3), x61, (4, 5, 2, 6, 3, 7), (4, 0, 5, 1, 6, 7)) * -1.0 + x642 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x642 += einsum(t2.bbbb, (0, 1, 2, 3), x10, (1, 4, 3, 5), (0, 4, 2, 5)) * 2.00000000000002 + x643 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x643 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + x643 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x643 += einsum(x9, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.00000000000001 + x643 += einsum(x642, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x642 + x643 += einsum(x13, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + l3new_abaaba += einsum(x643, (0, 1, 2, 3), l3.abaaba, (4, 2, 5, 6, 0, 7), (4, 3, 5, 6, 1, 7)) * 2.0 + x644 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x644 += einsum(x643, (0, 1, 2, 3), l3.babbab, (4, 5, 2, 6, 7, 0), (6, 1, 4, 3, 7, 5)) * 2.0 + del x643 + x645 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x645 += einsum(t2.abab, (0, 1, 2, 3), x10, (1, 4, 3, 5), (4, 5, 0, 2)) * 1.00000000000001 + x646 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x646 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) + x646 += einsum(x15, (0, 1, 2, 3), (0, 1, 2, 3)) + x646 += einsum(x16, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.00000000000002 + x646 += einsum(x645, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x647 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x647 += einsum(x646, (0, 1, 2, 3), l3.abaaba, (4, 5, 3, 6, 7, 2), (7, 0, 5, 1, 6, 4)) * 2.0 + x648 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x648 += einsum(x516, (0, 1, 2, 3), x74, (4, 0, 1, 5, 6, 7), (4, 2, 5, 3, 6, 7)) * 2.0 + del x516 + x649 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x649 += einsum(x213, (0, 1, 2, 3), x74, (4, 0, 2, 5, 6, 7), (4, 1, 5, 3, 6, 7)) * 2.0 + del x213 + x650 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x650 += einsum(v.bbbb.ovov, (0, 1, 2, 3), x297, (4, 1, 5, 6), (0, 2, 3, 4, 5, 6)) * 2.0 + x651 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x651 += einsum(v.aabb.ovov, (0, 1, 2, 3), x100, (4, 5, 6, 1), (2, 4, 3, 5, 0, 6)) * 2.0 + x652 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x652 += einsum(v.bbbb.ovov, (0, 1, 2, 3), x96, (4, 2, 5, 6), (0, 4, 3, 1, 5, 6)) + del x96 + x653 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x653 += einsum(v.aabb.ovov, (0, 1, 2, 3), x66, (4, 5, 6, 0), (2, 4, 3, 5, 6, 1)) * 2.0 + x654 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x654 += einsum(l2.abab, (0, 1, 2, 3), x537, (3, 4, 5, 6), (4, 5, 1, 6, 2, 0)) + del x537 + x655 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x655 += einsum(l2.abab, (0, 1, 2, 3), x31, (4, 5, 2, 6), (3, 4, 1, 5, 6, 0)) + x656 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x656 += einsum(l1.bb, (0, 1), v.aabb.ovov, (2, 3, 4, 5), (1, 4, 0, 5, 2, 3)) + x656 += einsum(x638, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 + del x638 + x656 += einsum(x639, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x639 + x656 += einsum(x640, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -2.0 + del x640 + x656 += einsum(x641, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -2.0 + del x641 + x656 += einsum(x644, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x644 + x656 += einsum(x647, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x647 + x656 += einsum(x648, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 + del x648 + x656 += einsum(x649, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 + del x649 + x656 += einsum(x650, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) + del x650 + x656 += einsum(x651, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) * -1.0 + del x651 + x656 += einsum(x652, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) + del x652 + x656 += einsum(x653, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) * -1.0 + del x653 + x656 += einsum(x654, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x654 + x656 += einsum(x655, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 + del x655 + l3new_babbab += einsum(x656, (0, 1, 2, 3, 4, 5), (2, 5, 3, 0, 4, 1)) + l3new_babbab += einsum(x656, (0, 1, 2, 3, 4, 5), (3, 5, 2, 0, 4, 1)) * -1.0 + l3new_babbab += einsum(x656, (0, 1, 2, 3, 4, 5), (2, 5, 3, 1, 4, 0)) * -1.0 + l3new_babbab += einsum(x656, (0, 1, 2, 3, 4, 5), (3, 5, 2, 1, 4, 0)) + del x656 + x657 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x657 += einsum(l2.bbbb, (0, 1, 2, 3), v.aabb.ovvv, (4, 5, 6, 1), (2, 3, 0, 6, 4, 5)) + x658 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x658 += einsum(f.bb.vv, (0, 1), l3.babbab, (2, 3, 1, 4, 5, 6), (4, 6, 0, 2, 5, 3)) + x659 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x659 += einsum(f.bb.ov, (0, 1), x74, (2, 3, 0, 4, 5, 6), (2, 3, 1, 4, 5, 6)) + x660 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x660 += einsum(v.aabb.vvvv, (0, 1, 2, 3), l3.babbab, (4, 1, 3, 5, 6, 7), (5, 7, 4, 2, 6, 0)) + x661 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x661 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), x74, (4, 5, 0, 3, 6, 7), (4, 5, 1, 2, 6, 7)) * -1.0 + x662 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x662 += einsum(v.aabb.vvov, (0, 1, 2, 3), x74, (4, 5, 2, 6, 7, 1), (4, 5, 6, 3, 7, 0)) + x663 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x663 += einsum(v.aabb.ovvv, (0, 1, 2, 3), x58, (4, 5, 6, 3, 7, 0), (4, 5, 6, 2, 7, 1)) + x664 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x664 += einsum(v.aabb.oovv, (0, 1, 2, 3), (2, 3, 0, 1)) * 0.99999999999999 + x664 += einsum(x246, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.99999999999999 + del x246 + x664 += einsum(x247, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x247 + x665 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x665 += einsum(x664, (0, 1, 2, 3), l3.babbab, (4, 5, 0, 6, 2, 7), (6, 7, 4, 1, 3, 5)) * -2.00000000000002 + x666 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x666 += einsum(x579, (0, 1), l3.babbab, (2, 3, 1, 4, 5, 6), (4, 6, 2, 0, 5, 3)) * -2.0 + x667 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x667 += einsum(x31, (0, 1, 2, 3), x74, (4, 5, 0, 6, 2, 7), (4, 5, 6, 1, 3, 7)) * 2.0 + x668 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x668 += einsum(t2.abab, (0, 1, 2, 3), l3.babbab, (4, 2, 3, 5, 6, 7), (5, 7, 1, 4, 6, 0)) + x669 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x669 += einsum(x668, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x668 + x669 += einsum(x98, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x98 + x670 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x670 += einsum(v.aabb.ovov, (0, 1, 2, 3), x669, (4, 5, 2, 6, 7, 0), (4, 5, 3, 6, 7, 1)) * 2.0 + del x669 + x671 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x671 += einsum(x227, (0, 1), x74, (2, 3, 0, 4, 5, 6), (2, 3, 4, 1, 5, 6)) * 2.0 + x672 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x672 += einsum(v.aabb.ovov, (0, 1, 2, 3), x78, (4, 5, 2, 6), (4, 5, 3, 6, 0, 1)) * 2.0 + del x78 + x673 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x673 += einsum(l1.aa, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (2, 4, 3, 5, 1, 0)) * -1.0 + x673 += einsum(x657, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * 2.0 + del x657 + x673 += einsum(x658, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -2.0 + del x658 + x673 += einsum(x659, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * 2.0 + del x659 + x673 += einsum(x660, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * 2.0 + del x660 + x673 += einsum(x661, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -2.0 + del x661 + x673 += einsum(x662, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -2.0 + del x662 + x673 += einsum(x663, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -2.0 + del x663 + x673 += einsum(x665, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) * -1.0 + del x665 + x673 += einsum(x666, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) * -1.0 + del x666 + x673 += einsum(x667, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) + del x667 + x673 += einsum(x670, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x670 + x673 += einsum(x671, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 + del x671 + x673 += einsum(x672, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * -1.0 + del x672 + l3new_babbab += einsum(x673, (0, 1, 2, 3, 4, 5), (3, 5, 2, 0, 4, 1)) + l3new_babbab += einsum(x673, (0, 1, 2, 3, 4, 5), (2, 5, 3, 0, 4, 1)) * -1.0 + del x673 + x674 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x674 += einsum(l2.bbbb, (0, 1, 2, 3), x5, (3, 4, 5, 6), (2, 4, 0, 1, 5, 6)) + x675 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x675 += einsum(v.aabb.ovov, (0, 1, 2, 3), x0, (4, 5, 6, 3), (4, 2, 5, 6, 0, 1)) * -1.0 + del x0 + x676 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x676 += einsum(t1.bb, (0, 1), x20, (2, 1), (0, 2)) * -1.0 + del x20 + x677 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x677 += einsum(x220, (0, 1), (0, 1)) * 2.0 + del x220 + x677 += einsum(x676, (0, 1), (0, 1)) + del x676 + x678 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x678 += einsum(x677, (0, 1), l3.babbab, (2, 3, 4, 5, 6, 0), (5, 1, 2, 4, 6, 3)) * -2.0 + del x677 + x679 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x679 += einsum(x674, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 2.0 + del x674 + x679 += einsum(x675, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * 6.0 + del x675 + x679 += einsum(x678, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) + del x678 + l3new_babbab += einsum(x679, (0, 1, 2, 3, 4, 5), (3, 5, 2, 0, 4, 1)) + l3new_babbab += einsum(x679, (0, 1, 2, 3, 4, 5), (3, 5, 2, 1, 4, 0)) * -1.0 + del x679 + x680 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x680 += einsum(t2.aaaa, (0, 1, 2, 3), x233, (1, 4, 5, 3), (0, 4, 2, 5)) * 2.00000000000002 + del x233 + x681 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x681 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + x681 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x681 += einsum(x232, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.00000000000001 + del x232 + x681 += einsum(x680, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x680 + x681 += einsum(x236, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x236 + l3new_babbab += einsum(x681, (0, 1, 2, 3), l3.babbab, (4, 2, 5, 6, 0, 7), (4, 3, 5, 6, 1, 7)) * 2.0 + x682 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x682 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) * 0.4999999999999949 + x682 += einsum(x238, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.4999999999999949 + x682 += einsum(x239, (0, 1, 2, 3), (0, 1, 2, 3)) + x682 += einsum(t2.abab, (0, 1, 2, 3), x240, (0, 4, 2, 5), (1, 3, 4, 5)) * -0.49999999999999983 + del x240 + l3new_babbab += einsum(x682, (0, 1, 2, 3), l3.bbbbbb, (4, 5, 1, 6, 7, 0), (4, 3, 5, 6, 2, 7)) * 12.000000000000123 + del x682 + x683 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x683 += einsum(v.bbbb.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) + x683 += einsum(x25, (0, 1, 2, 3), (1, 3, 0, 2)) + del x25 + x683 += einsum(x26, (0, 1, 2, 3), (0, 2, 1, 3)) + del x26 + x683 += einsum(x27, (0, 1, 2, 3), (2, 1, 0, 3)) + x683 += einsum(x27, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 + l3new_babbab += einsum(x683, (0, 1, 2, 3), l3.babbab, (4, 5, 6, 2, 7, 0), (4, 5, 6, 1, 7, 3)) * -2.0 + del x683 + x684 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x684 += einsum(t2.bbbb, (0, 1, 2, 3), l3.babbab, (2, 4, 3, 5, 6, 7), (5, 7, 0, 1, 6, 4)) + x684 += einsum(x134, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 + del x134 + l3new_babbab += einsum(v.bbbb.ovov, (0, 1, 2, 3), x684, (4, 5, 2, 0, 6, 7), (1, 7, 3, 5, 6, 4)) * 2.0 + del x684 + x685 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x685 += einsum(l2.aaaa, (0, 1, 2, 3), v.aabb.vvov, (4, 1, 5, 6), (5, 6, 2, 3, 0, 4)) + x686 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x686 += einsum(f.aa.vv, (0, 1), l3.abaaba, (2, 3, 1, 4, 5, 6), (5, 3, 4, 6, 0, 2)) + x687 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x687 += einsum(f.aa.ov, (0, 1), x61, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) + x688 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x688 += einsum(v.aabb.vvvv, (0, 1, 2, 3), l3.abaaba, (4, 3, 1, 5, 6, 7), (6, 2, 5, 7, 4, 0)) + x689 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x689 += einsum(v.aabb.vvov, (0, 1, 2, 3), x91, (4, 2, 5, 6, 7, 1), (4, 3, 5, 6, 7, 0)) + x690 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x690 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), x61, (4, 5, 6, 7, 0, 3), (4, 5, 6, 7, 1, 2)) * -1.0 + x691 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x691 += einsum(v.aabb.ovvv, (0, 1, 2, 3), x61, (4, 3, 5, 6, 0, 7), (4, 2, 5, 6, 7, 1)) + x692 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + x692 += einsum(v.aabb.vvoo, (0, 1, 2, 3), (2, 3, 0, 1)) * 0.99999999999999 + x692 += einsum(x22, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.99999999999999 + del x22 + x692 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x23 + x693 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x693 += einsum(x692, (0, 1, 2, 3), l3.abaaba, (4, 5, 2, 6, 0, 7), (1, 5, 6, 7, 4, 3)) * -2.00000000000002 + del x692 + x694 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x694 += einsum(x454, (0, 1), l3.abaaba, (2, 3, 1, 4, 5, 6), (5, 3, 4, 6, 2, 0)) * -2.0 + del x454 + x695 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x695 += einsum(x6, (0, 1, 2, 3), x61, (0, 4, 5, 6, 2, 7), (1, 4, 5, 6, 7, 3)) * 2.0 + x696 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x696 += einsum(t2.abab, (0, 1, 2, 3), l3.abaaba, (4, 3, 2, 5, 6, 7), (6, 1, 5, 7, 0, 4)) + x697 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x697 += einsum(x696, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 + del x696 + x697 += einsum(x99, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 + del x99 + x698 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x698 += einsum(v.aabb.ovov, (0, 1, 2, 3), x697, (4, 2, 5, 6, 0, 7), (4, 3, 5, 6, 1, 7)) * 2.0 + del x697 + x699 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x699 += einsum(x361, (0, 1), x61, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 6, 1)) * 2.0 + del x361 + x700 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x700 += einsum(v.aabb.ovov, (0, 1, 2, 3), x289, (4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) * 2.0 + del x289 + x701 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x701 += einsum(l1.bb, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 + x701 += einsum(x685, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -2.0 + del x685 + x701 += einsum(x686, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * 2.0 + del x686 + x701 += einsum(x687, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -2.0 + del x687 + x701 += einsum(x688, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -2.0 + del x688 + x701 += einsum(x689, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * 2.0 + del x689 + x701 += einsum(x690, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * 2.0 + del x690 + x701 += einsum(x691, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * 2.0 + del x691 + x701 += einsum(x693, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -1.0 + del x693 + x701 += einsum(x694, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -1.0 + del x694 + x701 += einsum(x695, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -1.0 + del x695 + x701 += einsum(x698, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 + del x698 + x701 += einsum(x699, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) + del x699 + x701 += einsum(x700, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 + del x700 + l3new_abaaba += einsum(x701, (0, 1, 2, 3, 4, 5), (5, 1, 4, 2, 0, 3)) + l3new_abaaba += einsum(x701, (0, 1, 2, 3, 4, 5), (4, 1, 5, 2, 0, 3)) * -1.0 + del x701 + x702 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x702 += einsum(l2.aaaa, (0, 1, 2, 3), v.aabb.ooov, (4, 3, 5, 6), (5, 6, 2, 4, 0, 1)) + x703 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x703 += einsum(x664, (0, 1, 2, 3), l3.abaaba, (4, 0, 5, 6, 7, 2), (7, 1, 6, 3, 4, 5)) * -2.00000000000002 + del x664 + x704 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x704 += einsum(x506, (0, 1, 2, 3), l3.abaaba, (4, 5, 6, 7, 0, 2), (1, 5, 7, 3, 4, 6)) * -2.0 + del x506 + x705 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x705 += einsum(x31, (0, 1, 2, 3), x91, (4, 0, 2, 5, 6, 7), (4, 1, 5, 3, 6, 7)) * 2.0 + del x31, x91 + x706 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x706 += einsum(x413, (0, 1), l3.abaaba, (2, 3, 4, 5, 6, 0), (6, 3, 5, 1, 2, 4)) * -2.0 + del x413 + x707 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x707 += einsum(v.aabb.ovov, (0, 1, 2, 3), x410, (4, 5, 6, 1), (2, 3, 0, 4, 5, 6)) * 2.0 + del x410 + x708 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x708 += einsum(x608, (0, 1), l3.abaaba, (2, 3, 4, 5, 6, 0), (6, 3, 5, 1, 2, 4)) * -2.0 + del x608 + x709 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x709 += einsum(x702, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 2.0 + del x702 + x709 += einsum(x703, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 + del x703 + x709 += einsum(x704, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) + del x704 + x709 += einsum(x705, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) + del x705 + x709 += einsum(x706, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 + del x706 + x709 += einsum(x707, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) + del x707 + x709 += einsum(x708, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) + del x708 + l3new_abaaba += einsum(x709, (0, 1, 2, 3, 4, 5), (5, 1, 4, 2, 0, 3)) * -1.0 + l3new_abaaba += einsum(x709, (0, 1, 2, 3, 4, 5), (5, 1, 4, 3, 0, 2)) + del x709 + x710 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x710 += einsum(l2.abab, (0, 1, 2, 3), v.aabb.ovvv, (4, 5, 6, 1), (3, 6, 2, 4, 0, 5)) + x711 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x711 += einsum(l2.abab, (0, 1, 2, 3), v.aaaa.ovvv, (4, 5, 6, 0), (3, 1, 2, 4, 5, 6)) + x712 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x712 += einsum(v.aabb.ovoo, (0, 1, 2, 3), x74, (4, 2, 3, 5, 6, 7), (4, 5, 6, 0, 7, 1)) + x713 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x713 += einsum(x5, (0, 1, 2, 3), x74, (0, 4, 1, 5, 6, 7), (4, 5, 6, 2, 7, 3)) * -1.0 + del x5, x74 + x714 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x714 += einsum(x681, (0, 1, 2, 3), l3.abaaba, (4, 5, 2, 6, 7, 0), (7, 5, 6, 1, 4, 3)) * 2.0 + del x681 + x715 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x715 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) + x715 += einsum(x238, (0, 1, 2, 3), (0, 1, 2, 3)) + del x238 + x715 += einsum(x239, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.00000000000002 + del x239 + x715 += einsum(x592, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x592 + x716 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x716 += einsum(x715, (0, 1, 2, 3), l3.babbab, (4, 5, 1, 6, 7, 0), (6, 4, 7, 2, 5, 3)) * 2.0 + del x715 + x717 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x717 += einsum(x382, (0, 1, 2, 3), x61, (4, 5, 0, 6, 2, 7), (4, 5, 6, 1, 7, 3)) * 2.0 + del x382 + x718 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x718 += einsum(x348, (0, 1, 2, 3), x61, (4, 5, 0, 6, 2, 7), (4, 5, 6, 1, 7, 3)) * 2.0 + del x61, x348 + x719 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x719 += einsum(v.aabb.ovov, (0, 1, 2, 3), x297, (4, 3, 5, 6), (2, 4, 0, 5, 1, 6)) * 2.0 + del x297 + x720 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x720 += einsum(v.aaaa.ovov, (0, 1, 2, 3), x100, (4, 5, 6, 1), (4, 5, 0, 2, 6, 3)) * 2.0 + del x100 + x721 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x721 += einsum(v.aabb.ovov, (0, 1, 2, 3), x139, (4, 2, 5, 6), (4, 3, 0, 5, 1, 6)) * 2.0 + del x139 + x722 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x722 += einsum(v.aaaa.ovov, (0, 1, 2, 3), x66, (4, 5, 6, 2), (4, 5, 6, 0, 3, 1)) * 2.0 + del x66 + x723 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x723 += einsum(l2.abab, (0, 1, 2, 3), x6, (3, 4, 5, 6), (4, 1, 2, 5, 0, 6)) + del x6 + x724 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x724 += einsum(l2.abab, (0, 1, 2, 3), x386, (2, 4, 5, 6), (3, 1, 4, 5, 0, 6)) + del x386 + x725 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x725 += einsum(l1.aa, (0, 1), v.aabb.ovov, (2, 3, 4, 5), (4, 5, 1, 2, 0, 3)) + x725 += einsum(x710, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x710 + x725 += einsum(x711, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 + del x711 + x725 += einsum(x712, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -2.0 + del x712 + x725 += einsum(x713, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -2.0 + del x713 + x725 += einsum(x714, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x714 + x725 += einsum(x716, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x716 + x725 += einsum(x717, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x717 + x725 += einsum(x718, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x718 + x725 += einsum(x719, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -1.0 + del x719 + x725 += einsum(x720, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) + del x720 + x725 += einsum(x721, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -1.0 + del x721 + x725 += einsum(x722, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) + del x722 + x725 += einsum(x723, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 + del x723 + x725 += einsum(x724, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x724 + l3new_abaaba += einsum(x725, (0, 1, 2, 3, 4, 5), (4, 1, 5, 2, 0, 3)) + l3new_abaaba += einsum(x725, (0, 1, 2, 3, 4, 5), (5, 1, 4, 2, 0, 3)) * -1.0 + l3new_abaaba += einsum(x725, (0, 1, 2, 3, 4, 5), (4, 1, 5, 3, 0, 2)) * -1.0 + l3new_abaaba += einsum(x725, (0, 1, 2, 3, 4, 5), (5, 1, 4, 3, 0, 2)) + del x725 + x726 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x726 += einsum(l2.aaaa, (0, 1, 2, 3), x7, (4, 5, 3, 6), (4, 5, 2, 6, 0, 1)) + l3new_abaaba += einsum(x726, (0, 1, 2, 3, 4, 5), (5, 1, 4, 2, 0, 3)) * 2.0 + l3new_abaaba += einsum(x726, (0, 1, 2, 3, 4, 5), (5, 1, 4, 3, 0, 2)) * -2.0 + del x726 + x727 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x727 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) + x727 += einsum(x15, (0, 1, 2, 3), (0, 1, 2, 3)) + del x15 + x727 += einsum(x16, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0000000000000204 + del x16 + x727 += einsum(x645, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x645 + l3new_abaaba += einsum(x727, (0, 1, 2, 3), l3.aaaaaa, (4, 5, 3, 6, 7, 2), (4, 1, 5, 6, 0, 7)) * 6.0 + del x727 + x728 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x728 += einsum(v.aaaa.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) + x728 += einsum(x251, (0, 1, 2, 3), (1, 3, 2, 0)) + del x251 + x728 += einsum(x252, (0, 1, 2, 3), (0, 2, 3, 1)) + del x252 + x728 += einsum(x253, (0, 1, 2, 3), (2, 1, 3, 0)) + x728 += einsum(x253, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 + del x253 + l3new_abaaba += einsum(x728, (0, 1, 2, 3), l3.abaaba, (4, 5, 6, 3, 7, 0), (4, 5, 6, 2, 7, 1)) * 2.0 + del x728 + x729 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x729 += einsum(t2.aaaa, (0, 1, 2, 3), l3.abaaba, (2, 4, 3, 5, 6, 7), (6, 4, 5, 7, 0, 1)) + x729 += einsum(x323, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) + del x323 + l3new_abaaba += einsum(v.aaaa.ovov, (0, 1, 2, 3), x729, (4, 5, 6, 7, 2, 0), (1, 5, 3, 7, 4, 6)) * 2.0 + del x729 + x730 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x730 += einsum(v.aabb.ooov, (0, 1, 2, 3), x58, (4, 5, 6, 7, 0, 1), (4, 5, 2, 6, 7, 3)) + x731 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x731 += einsum(x7, (0, 1, 2, 3), x58, (4, 5, 6, 7, 2, 3), (4, 5, 0, 6, 7, 1)) + del x7, x58 + x732 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x732 += einsum(t2.bbbb, (0, 1, 2, 3), x10, (1, 4, 3, 5), (0, 4, 2, 5)) * 2.0000000000000204 + del x10 + x733 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x733 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) + x733 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + x733 += einsum(x9, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.00000000000001 + del x9 + x733 += einsum(x732, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x732 + x733 += einsum(x13, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x13 + x734 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x734 += einsum(x733, (0, 1, 2, 3), l3.bbbbbb, (4, 5, 2, 6, 7, 0), (6, 7, 1, 4, 5, 3)) * 6.0 + del x733 + x735 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x735 += einsum(x646, (0, 1, 2, 3), l3.babbab, (4, 3, 5, 6, 2, 7), (6, 7, 0, 4, 5, 1)) * 2.0 + del x646 + x736 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x736 += einsum(x3, (0, 1, 2, 3), (0, 1, 2, 3)) + x736 += einsum(x3, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x737 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x737 += einsum(x736, (0, 1, 2, 3), x72, (4, 5, 0, 2, 6, 7), (4, 5, 1, 6, 7, 3)) * 6.0 + del x736 + x738 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x738 += einsum(x208, (0, 1, 2, 3), x72, (4, 5, 0, 1, 6, 7), (4, 5, 2, 6, 7, 3)) * 6.0 + del x208 + x739 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x739 += einsum(x730, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 2.0 + del x730 + x739 += einsum(x731, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 2.0 + del x731 + x739 += einsum(x734, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) + del x734 + x739 += einsum(x735, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) + del x735 + x739 += einsum(x737, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) + del x737 + x739 += einsum(x738, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) + del x738 + l3new_bbbbbb += einsum(x739, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 0, 2)) + l3new_bbbbbb += einsum(x739, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 0, 2)) * -1.0 + l3new_bbbbbb += einsum(x739, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) * -1.0 + l3new_bbbbbb += einsum(x739, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 2, 0)) * -1.0 + l3new_bbbbbb += einsum(x739, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) + l3new_bbbbbb += einsum(x739, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) + l3new_bbbbbb += einsum(x739, (0, 1, 2, 3, 4, 5), (4, 3, 5, 2, 1, 0)) + l3new_bbbbbb += einsum(x739, (0, 1, 2, 3, 4, 5), (4, 5, 3, 2, 1, 0)) * -1.0 + l3new_bbbbbb += einsum(x739, (0, 1, 2, 3, 4, 5), (5, 3, 4, 2, 1, 0)) * -1.0 + del x739 + x740 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x740 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), x72, (4, 5, 6, 0, 7, 3), (4, 5, 6, 7, 1, 2)) * -1.0 + l3new_bbbbbb += einsum(x740, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 2, 0)) * -6.0 + l3new_bbbbbb += einsum(x740, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 2, 0)) * 6.0 + l3new_bbbbbb += einsum(x740, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 2, 0)) * 6.0 + l3new_bbbbbb += einsum(x740, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) * -6.0 + l3new_bbbbbb += einsum(x740, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) * -6.0 + l3new_bbbbbb += einsum(x740, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 2, 0)) * 6.0 + del x740 + x741 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x741 += einsum(x579, (0, 1), l3.bbbbbb, (2, 3, 1, 4, 5, 6), (4, 5, 6, 2, 3, 0)) * 6.0 + del x579 + x742 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x742 += einsum(x227, (0, 1), x72, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 6, 1)) * 6.0 + del x227 + x743 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x743 += einsum(x741, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) + del x741 + x743 += einsum(x742, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 + del x742 + l3new_bbbbbb += einsum(x743, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 2, 0)) + l3new_bbbbbb += einsum(x743, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) * -1.0 + l3new_bbbbbb += einsum(x743, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) * -1.0 + del x743 + x744 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x744 += einsum(x586, (0, 1, 2, 3), l3.bbbbbb, (4, 5, 6, 7, 0, 3), (7, 1, 2, 4, 5, 6)) * -6.0 + del x586 + x745 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x745 += einsum(x635, (0, 1), l3.bbbbbb, (2, 3, 4, 5, 6, 0), (5, 6, 1, 2, 3, 4)) * 6.0 + del x635 + x746 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x746 += einsum(x744, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) + del x744 + x746 += einsum(x745, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * -1.0 + del x745 + l3new_bbbbbb += einsum(x746, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 1, 2)) + l3new_bbbbbb += einsum(x746, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 0, 2)) * -1.0 + l3new_bbbbbb += einsum(x746, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) + del x746 + x747 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x747 += einsum(l2.bbbb, (0, 1, 2, 3), x3, (3, 4, 5, 6), (2, 4, 5, 0, 1, 6)) + del x3 + l3new_bbbbbb += einsum(x747, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 1, 2)) * 2.0 + l3new_bbbbbb += einsum(x747, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 1, 2)) * 2.0 + l3new_bbbbbb += einsum(x747, (0, 1, 2, 3, 4, 5), (5, 4, 3, 0, 1, 2)) * -2.0 + l3new_bbbbbb += einsum(x747, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 2, 1)) * -2.0 + l3new_bbbbbb += einsum(x747, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) * -2.0 + l3new_bbbbbb += einsum(x747, (0, 1, 2, 3, 4, 5), (5, 4, 3, 0, 2, 1)) * 2.0 + l3new_bbbbbb += einsum(x747, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 0, 2)) * -2.0 + l3new_bbbbbb += einsum(x747, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 0, 2)) * -2.0 + l3new_bbbbbb += einsum(x747, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 0, 2)) * 2.0 + l3new_bbbbbb += einsum(x747, (0, 1, 2, 3, 4, 5), (3, 4, 5, 2, 0, 1)) * 2.0 + l3new_bbbbbb += einsum(x747, (0, 1, 2, 3, 4, 5), (4, 5, 3, 2, 0, 1)) * 2.0 + l3new_bbbbbb += einsum(x747, (0, 1, 2, 3, 4, 5), (5, 4, 3, 2, 0, 1)) * -2.0 + l3new_bbbbbb += einsum(x747, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 2, 0)) * 2.0 + l3new_bbbbbb += einsum(x747, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) * 2.0 + l3new_bbbbbb += einsum(x747, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 2, 0)) * -2.0 + l3new_bbbbbb += einsum(x747, (0, 1, 2, 3, 4, 5), (3, 4, 5, 2, 1, 0)) * -2.0 + l3new_bbbbbb += einsum(x747, (0, 1, 2, 3, 4, 5), (4, 5, 3, 2, 1, 0)) * -2.0 + l3new_bbbbbb += einsum(x747, (0, 1, 2, 3, 4, 5), (5, 4, 3, 2, 1, 0)) * 2.0 + del x747 + x748 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x748 += einsum(l2.bbbb, (0, 1, 2, 3), v.bbbb.ovvv, (4, 5, 6, 1), (2, 3, 4, 0, 5, 6)) + x749 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x749 += einsum(v.bbbb.ovov, (0, 1, 2, 3), x137, (4, 5, 2, 6), (0, 4, 5, 3, 1, 6)) * 2.0 + del x137 + x750 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x750 += einsum(x748, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 2.0 + del x748 + x750 += einsum(x749, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -1.0 + del x749 + l3new_bbbbbb += einsum(x750, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 0, 2)) + l3new_bbbbbb += einsum(x750, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 0, 2)) * -1.0 + l3new_bbbbbb += einsum(x750, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 0, 2)) * -1.0 + l3new_bbbbbb += einsum(x750, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) + l3new_bbbbbb += einsum(x750, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 0, 2)) + l3new_bbbbbb += einsum(x750, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 0, 2)) * -1.0 + l3new_bbbbbb += einsum(x750, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 2, 0)) * -1.0 + l3new_bbbbbb += einsum(x750, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 2, 0)) + l3new_bbbbbb += einsum(x750, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 2, 0)) + l3new_bbbbbb += einsum(x750, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) * -1.0 + l3new_bbbbbb += einsum(x750, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) * -1.0 + l3new_bbbbbb += einsum(x750, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 2, 0)) + l3new_bbbbbb += einsum(x750, (0, 1, 2, 3, 4, 5), (3, 4, 5, 2, 1, 0)) + l3new_bbbbbb += einsum(x750, (0, 1, 2, 3, 4, 5), (3, 5, 4, 2, 1, 0)) * -1.0 + l3new_bbbbbb += einsum(x750, (0, 1, 2, 3, 4, 5), (4, 3, 5, 2, 1, 0)) * -1.0 + l3new_bbbbbb += einsum(x750, (0, 1, 2, 3, 4, 5), (5, 3, 4, 2, 1, 0)) + l3new_bbbbbb += einsum(x750, (0, 1, 2, 3, 4, 5), (4, 5, 3, 2, 1, 0)) + l3new_bbbbbb += einsum(x750, (0, 1, 2, 3, 4, 5), (5, 4, 3, 2, 1, 0)) * -1.0 + del x750 + x751 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x751 += einsum(f.bb.vv, (0, 1), l3.bbbbbb, (2, 3, 1, 4, 5, 6), (4, 5, 6, 0, 2, 3)) + x752 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x752 += einsum(f.bb.ov, (0, 1), x72, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) + del x72 + x753 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x753 += einsum(v.bbbb.vvvv, (0, 1, 2, 3), l3.bbbbbb, (4, 3, 1, 5, 6, 7), (5, 6, 7, 4, 0, 2)) * -1.0 + x754 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x754 += einsum(x751, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -6.0 + del x751 + x754 += einsum(x752, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 6.0 + del x752 + x754 += einsum(x753, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -6.0 + del x753 + l3new_bbbbbb += einsum(x754, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 2, 0)) + l3new_bbbbbb += einsum(x754, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) + l3new_bbbbbb += einsum(x754, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 2, 0)) * -1.0 + del x754 + x755 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x755 += einsum(x27, (0, 1, 2, 3), l3.bbbbbb, (4, 5, 6, 7, 0, 1), (7, 2, 3, 4, 5, 6)) + del x27 + l3new_bbbbbb += einsum(x755, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 1, 2)) * -6.0 + l3new_bbbbbb += einsum(x755, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 2, 1)) * 6.0 + l3new_bbbbbb += einsum(x755, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 0, 2)) * 6.0 + l3new_bbbbbb += einsum(x755, (0, 1, 2, 3, 4, 5), (3, 4, 5, 2, 0, 1)) * -6.0 + l3new_bbbbbb += einsum(x755, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 2, 0)) * -6.0 + l3new_bbbbbb += einsum(x755, (0, 1, 2, 3, 4, 5), (3, 4, 5, 2, 1, 0)) * 6.0 + del x755 + x756 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x756 += einsum(x560, (0, 1), l3.bbbbbb, (2, 3, 4, 5, 6, 0), (5, 6, 1, 2, 3, 4)) * 6.0 + del x560 + l3new_bbbbbb += einsum(x756, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) + l3new_bbbbbb += einsum(x756, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) * -1.0 + l3new_bbbbbb += einsum(x756, (0, 1, 2, 3, 4, 5), (5, 3, 4, 2, 1, 0)) + del x756 + x757 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x757 += einsum(l2.bbbb, (0, 1, 2, 3), v.bbbb.ooov, (4, 3, 5, 6), (2, 4, 5, 0, 1, 6)) + x758 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x758 += einsum(v.bbbb.ovov, (0, 1, 2, 3), x136, (4, 5, 6, 1), (0, 2, 4, 3, 5, 6)) * 6.0 + del x136 + x759 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x759 += einsum(x757, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -2.0 + del x757 + x759 += einsum(x758, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) + del x758 + l3new_bbbbbb += einsum(x759, (0, 1, 2, 3, 4, 5), (4, 3, 5, 0, 1, 2)) + l3new_bbbbbb += einsum(x759, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 1, 2)) * -1.0 + l3new_bbbbbb += einsum(x759, (0, 1, 2, 3, 4, 5), (5, 3, 4, 0, 1, 2)) * -1.0 + l3new_bbbbbb += einsum(x759, (0, 1, 2, 3, 4, 5), (4, 3, 5, 0, 2, 1)) * -1.0 + l3new_bbbbbb += einsum(x759, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) + l3new_bbbbbb += einsum(x759, (0, 1, 2, 3, 4, 5), (5, 3, 4, 0, 2, 1)) + l3new_bbbbbb += einsum(x759, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 0, 2)) * -1.0 + l3new_bbbbbb += einsum(x759, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 0, 2)) + l3new_bbbbbb += einsum(x759, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) + l3new_bbbbbb += einsum(x759, (0, 1, 2, 3, 4, 5), (4, 3, 5, 2, 0, 1)) + l3new_bbbbbb += einsum(x759, (0, 1, 2, 3, 4, 5), (4, 5, 3, 2, 0, 1)) * -1.0 + l3new_bbbbbb += einsum(x759, (0, 1, 2, 3, 4, 5), (5, 3, 4, 2, 0, 1)) * -1.0 + l3new_bbbbbb += einsum(x759, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 2, 0)) + l3new_bbbbbb += einsum(x759, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) * -1.0 + l3new_bbbbbb += einsum(x759, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) * -1.0 + l3new_bbbbbb += einsum(x759, (0, 1, 2, 3, 4, 5), (4, 3, 5, 2, 1, 0)) * -1.0 + l3new_bbbbbb += einsum(x759, (0, 1, 2, 3, 4, 5), (4, 5, 3, 2, 1, 0)) + l3new_bbbbbb += einsum(x759, (0, 1, 2, 3, 4, 5), (5, 3, 4, 2, 1, 0)) + del x759 + x760 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x760 += einsum(t2.bbbb, (0, 1, 2, 3), l3.bbbbbb, (4, 2, 3, 5, 6, 7), (5, 6, 7, 0, 1, 4)) + x761 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x761 += einsum(x760, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 + del x760 + x761 += einsum(x132, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 + del x132 + x762 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x762 += einsum(v.bbbb.ovov, (0, 1, 2, 3), x761, (4, 5, 6, 0, 2, 7), (4, 5, 6, 1, 3, 7)) * 6.0 + del x761 + l3new_bbbbbb += einsum(x762, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 2, 0)) * -1.0 + l3new_bbbbbb += einsum(x762, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) + l3new_bbbbbb += einsum(x762, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 2, 0)) * -1.0 + del x762 + + l1new.aa = l1new_aa + l1new.bb = l1new_bb + l2new.aaaa = l2new_aaaa + l2new.abab = l2new_abab + l2new.bbbb = l2new_bbbb + l3new.aaaaaa = l3new_aaaaaa + l3new.abaaba = l3new_abaaba + l3new.babbab = l3new_babbab + l3new.bbbbbb = l3new_bbbbbb + + return {"l1new": l1new, "l2new": l2new, "l3new": l3new} + +def make_rdm1_f(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, t3=None, l1=None, l2=None, l3=None, **kwargs): + rdm1_f = Namespace() + + delta = Namespace(aa=Namespace(), bb=Namespace()) + delta.aa = Namespace(oo=np.eye(nocc[0]), vv=np.eye(nvir[0])) + delta.bb = Namespace(oo=np.eye(nocc[1]), vv=np.eye(nvir[1])) + + # RDM1 + rdm1_f_aa_oo = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + rdm1_f_aa_oo += einsum(delta.aa.oo, (0, 1), (0, 1)) + rdm1_f_bb_oo = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + rdm1_f_bb_oo += einsum(delta.bb.oo, (0, 1), (0, 1)) + rdm1_f_aa_ov = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + rdm1_f_aa_ov += einsum(l1.bb, (0, 1), t2.abab, (2, 1, 3, 0), (2, 3)) + rdm1_f_aa_ov += einsum(l2.abab, (0, 1, 2, 3), t3.abaaba, (4, 3, 2, 5, 1, 0), (4, 5)) * 2.0 + rdm1_f_aa_ov += einsum(l2.aaaa, (0, 1, 2, 3), t3.aaaaaa, (4, 2, 3, 5, 0, 1), (4, 5)) * 3.0 + rdm1_f_aa_ov += einsum(t1.aa, (0, 1), (0, 1)) + rdm1_f_aa_ov += einsum(l1.aa, (0, 1), t2.aaaa, (2, 1, 3, 0), (2, 3)) * 2.0 + rdm1_f_aa_ov += einsum(l2.bbbb, (0, 1, 2, 3), t3.babbab, (2, 4, 3, 0, 5, 1), (4, 5)) + rdm1_f_bb_ov = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + rdm1_f_bb_ov += einsum(t1.bb, (0, 1), (0, 1)) + rdm1_f_bb_ov += einsum(l1.bb, (0, 1), t2.bbbb, (2, 1, 3, 0), (2, 3)) * 2.0 + rdm1_f_bb_ov += einsum(l2.abab, (0, 1, 2, 3), t3.babbab, (4, 2, 3, 5, 0, 1), (4, 5)) * 2.0 + rdm1_f_bb_ov += einsum(l1.aa, (0, 1), t2.abab, (1, 2, 0, 3), (2, 3)) + rdm1_f_bb_ov += einsum(l2.bbbb, (0, 1, 2, 3), t3.bbbbbb, (4, 2, 3, 5, 0, 1), (4, 5)) * 3.0 + rdm1_f_bb_ov += einsum(l2.aaaa, (0, 1, 2, 3), t3.abaaba, (2, 4, 3, 0, 5, 1), (4, 5)) + rdm1_f_aa_vo = np.zeros((nvir[0], nocc[0]), dtype=types[float]) + rdm1_f_aa_vo += einsum(l1.aa, (0, 1), (0, 1)) + rdm1_f_bb_vo = np.zeros((nvir[1], nocc[1]), dtype=types[float]) + rdm1_f_bb_vo += einsum(l1.bb, (0, 1), (0, 1)) + rdm1_f_aa_vv = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + rdm1_f_aa_vv += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (3, 4, 5, 0, 6, 2), (1, 6)) * 0.9999999999999601 + rdm1_f_aa_vv += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 4, 1), (0, 4)) + rdm1_f_aa_vv += einsum(l1.aa, (0, 1), t1.aa, (1, 2), (0, 2)) + rdm1_f_aa_vv += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (3, 4, 5, 6, 1, 2), (0, 6)) * 1.9999999999999194 + rdm1_f_aa_vv += einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), t3.aaaaaa, (3, 4, 5, 6, 1, 2), (0, 6)) * 2.9999999999998788 + rdm1_f_aa_vv += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (2, 3, 4, 1), (0, 4)) * 2.0 + rdm1_f_bb_vv = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + rdm1_f_bb_vv += einsum(l1.bb, (0, 1), t1.bb, (1, 2), (0, 2)) + rdm1_f_bb_vv += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (3, 4, 5, 6, 1, 2), (0, 6)) * 1.9999999999999194 + rdm1_f_bb_vv += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 0, 4), (1, 4)) + rdm1_f_bb_vv += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (3, 4, 5, 0, 6, 2), (1, 6)) * 0.9999999999999601 + rdm1_f_bb_vv += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (2, 3, 4, 1), (0, 4)) * 2.0 + rdm1_f_bb_vv += einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), t3.bbbbbb, (3, 4, 5, 6, 1, 2), (0, 6)) * 2.9999999999998788 + x0 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x0 += einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), t3.aaaaaa, (6, 4, 5, 0, 1, 2), (3, 6)) + rdm1_f_aa_oo += einsum(x0, (0, 1), (1, 0)) * -2.9999999999998788 + x1 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x1 += einsum(l1.aa, (0, 1), t1.aa, (2, 0), (1, 2)) + rdm1_f_aa_oo += einsum(x1, (0, 1), (1, 0)) * -1.0 + x2 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x2 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 0, 1), (2, 4)) + rdm1_f_aa_oo += einsum(x2, (0, 1), (1, 0)) * -1.0 + x3 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x3 += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 3, 0, 1), (2, 4)) + rdm1_f_aa_oo += einsum(x3, (0, 1), (1, 0)) * -2.0 + x4 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x4 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (6, 4, 5, 0, 1, 2), (3, 6)) + rdm1_f_aa_oo += einsum(x4, (0, 1), (1, 0)) * -1.9999999999999194 + x5 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x5 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (3, 6, 5, 0, 1, 2), (4, 6)) + rdm1_f_aa_oo += einsum(x5, (0, 1), (1, 0)) * -0.9999999999999601 + x6 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x6 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (3, 6, 5, 0, 1, 2), (4, 6)) + rdm1_f_bb_oo += einsum(x6, (0, 1), (1, 0)) * -0.9999999999999601 + x7 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x7 += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 3, 0, 1), (2, 4)) + rdm1_f_bb_oo += einsum(x7, (0, 1), (1, 0)) * -2.0 + x8 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x8 += einsum(l1.bb, (0, 1), t1.bb, (2, 0), (1, 2)) + rdm1_f_bb_oo += einsum(x8, (0, 1), (1, 0)) * -1.0 + x9 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x9 += einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), t3.bbbbbb, (6, 4, 5, 0, 1, 2), (3, 6)) + rdm1_f_bb_oo += einsum(x9, (0, 1), (1, 0)) * -2.9999999999998788 + x10 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x10 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (6, 4, 5, 0, 1, 2), (3, 6)) + rdm1_f_bb_oo += einsum(x10, (0, 1), (1, 0)) * -1.9999999999999194 + x11 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x11 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 1), (3, 4)) + rdm1_f_bb_oo += einsum(x11, (0, 1), (1, 0)) * -1.0 + x12 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x12 += einsum(t1.aa, (0, 1), l3.aaaaaa, (2, 3, 1, 4, 5, 6), (4, 5, 6, 0, 2, 3)) + rdm1_f_aa_ov += einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), x12, (0, 1, 2, 6, 4, 5), (6, 3)) * -2.9999999999998788 + del x12 + x13 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x13 += einsum(t1.aa, (0, 1), l3.babbab, (2, 1, 3, 4, 5, 6), (4, 6, 2, 3, 5, 0)) + rdm1_f_aa_ov += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x13, (0, 2, 5, 3, 1, 6), (6, 4)) * 0.9999999999999601 + del x13 + x14 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x14 += einsum(t1.aa, (0, 1), l3.abaaba, (2, 3, 1, 4, 5, 6), (5, 3, 4, 6, 0, 2)) + rdm1_f_aa_ov += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x14, (1, 4, 2, 0, 6, 5), (6, 3)) * -1.9999999999999194 + del x14 + x15 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x15 += einsum(t1.aa, (0, 1), l2.aaaa, (2, 1, 3, 4), (3, 4, 0, 2)) + x15 += einsum(t2.abab, (0, 1, 2, 3), l3.abaaba, (4, 3, 2, 5, 1, 6), (5, 6, 0, 4)) + x15 += einsum(t2.aaaa, (0, 1, 2, 3), l3.aaaaaa, (4, 2, 3, 5, 6, 1), (5, 6, 0, 4)) * 3.0 + rdm1_f_aa_ov += einsum(t2.aaaa, (0, 1, 2, 3), x15, (0, 1, 4, 3), (4, 2)) * 2.0 + del x15 + x16 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x16 += einsum(t1.aa, (0, 1), l2.abab, (1, 2, 3, 4), (4, 2, 3, 0)) * 0.5 + x16 += einsum(t2.abab, (0, 1, 2, 3), l3.babbab, (4, 2, 3, 5, 6, 1), (5, 4, 6, 0)) + x16 += einsum(t2.aaaa, (0, 1, 2, 3), l3.abaaba, (2, 4, 3, 5, 6, 1), (6, 4, 5, 0)) + rdm1_f_aa_ov += einsum(t2.abab, (0, 1, 2, 3), x16, (1, 3, 0, 4), (4, 2)) * -2.0 + del x16 + x17 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x17 += einsum(x1, (0, 1), (0, 1)) * 0.3333333333333468 + del x1 + x17 += einsum(x2, (0, 1), (0, 1)) * 0.3333333333333468 + del x2 + x17 += einsum(x3, (0, 1), (0, 1)) * 0.6666666666666936 + del x3 + x17 += einsum(x5, (0, 1), (0, 1)) * 0.33333333333333354 + del x5 + x17 += einsum(x4, (0, 1), (0, 1)) * 0.6666666666666667 + del x4 + x17 += einsum(x0, (0, 1), (0, 1)) + del x0 + rdm1_f_aa_ov += einsum(t1.aa, (0, 1), x17, (0, 2), (2, 1)) * -2.9999999999998788 + del x17 + x18 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x18 += einsum(t1.bb, (0, 1), l3.abaaba, (2, 1, 3, 4, 5, 6), (5, 0, 4, 6, 2, 3)) + rdm1_f_bb_ov += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x18, (1, 6, 0, 2, 3, 5), (6, 4)) * -0.9999999999999601 + del x18 + x19 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x19 += einsum(t1.bb, (0, 1), l3.babbab, (2, 3, 1, 4, 5, 6), (4, 6, 0, 2, 5, 3)) + rdm1_f_bb_ov += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x19, (0, 2, 6, 5, 1, 4), (6, 3)) * 1.9999999999999194 + del x19 + x20 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x20 += einsum(t1.bb, (0, 1), l3.bbbbbb, (2, 3, 1, 4, 5, 6), (4, 5, 6, 0, 2, 3)) + rdm1_f_bb_ov += einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), x20, (0, 1, 2, 6, 5, 4), (6, 3)) * 2.9999999999998788 + del x20 + x21 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x21 += einsum(t1.bb, (0, 1), l2.abab, (2, 1, 3, 4), (4, 0, 3, 2)) + x21 += einsum(t2.bbbb, (0, 1, 2, 3), l3.babbab, (2, 4, 3, 5, 6, 1), (5, 0, 6, 4)) * 2.0 + x21 += einsum(t2.abab, (0, 1, 2, 3), l3.abaaba, (4, 3, 2, 5, 6, 0), (6, 1, 5, 4)) * 2.0 + rdm1_f_bb_ov += einsum(t2.abab, (0, 1, 2, 3), x21, (1, 4, 0, 2), (4, 3)) * -1.0 + del x21 + x22 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x22 += einsum(t1.bb, (0, 1), l2.bbbb, (2, 1, 3, 4), (3, 4, 0, 2)) * 0.3333333333333333 + x22 += einsum(t2.bbbb, (0, 1, 2, 3), l3.bbbbbb, (4, 2, 3, 5, 6, 1), (5, 6, 0, 4)) + x22 += einsum(t2.abab, (0, 1, 2, 3), l3.babbab, (4, 2, 3, 5, 0, 6), (5, 6, 1, 4)) * 0.3333333333333333 + rdm1_f_bb_ov += einsum(t2.bbbb, (0, 1, 2, 3), x22, (0, 1, 4, 3), (4, 2)) * 6.0 + del x22 + x23 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x23 += einsum(x8, (0, 1), (0, 1)) * 1.00000000000004 + del x8 + x23 += einsum(x7, (0, 1), (0, 1)) * 2.00000000000008 + del x7 + x23 += einsum(x11, (0, 1), (0, 1)) * 1.00000000000004 + del x11 + x23 += einsum(x9, (0, 1), (0, 1)) * 2.9999999999999982 + del x9 + x23 += einsum(x10, (0, 1), (0, 1)) * 1.9999999999999991 + del x10 + x23 += einsum(x6, (0, 1), (0, 1)) + del x6 + rdm1_f_bb_ov += einsum(t1.bb, (0, 1), x23, (0, 2), (2, 1)) * -0.9999999999999601 + del x23 + + rdm1_f_aa = np.block([[rdm1_f_aa_oo, rdm1_f_aa_ov], [rdm1_f_aa_vo, rdm1_f_aa_vv]]) + rdm1_f_bb = np.block([[rdm1_f_bb_oo, rdm1_f_bb_ov], [rdm1_f_bb_vo, rdm1_f_bb_vv]]) + + rdm1_f.aa = rdm1_f_aa + rdm1_f.bb = rdm1_f_bb + + return rdm1_f + +def make_rdm2_f(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, t3=None, l1=None, l2=None, l3=None, **kwargs): + rdm2_f = Namespace() + + delta = Namespace(aa=Namespace(), bb=Namespace()) + delta.aa = Namespace(oo=np.eye(nocc[0]), vv=np.eye(nvir[0])) + delta.bb = Namespace(oo=np.eye(nocc[1]), vv=np.eye(nvir[1])) + + # RDM2 + rdm2_f_aaaa_oooo = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + rdm2_f_aaaa_oooo += einsum(delta.aa.oo, (0, 1), delta.aa.oo, (2, 3), (0, 2, 1, 3)) + rdm2_f_aaaa_oooo += einsum(delta.aa.oo, (0, 1), delta.aa.oo, (2, 3), (0, 2, 3, 1)) * -1.0 + rdm2_f_bbbb_oooo = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + rdm2_f_bbbb_oooo += einsum(delta.bb.oo, (0, 1), delta.bb.oo, (2, 3), (0, 2, 1, 3)) + rdm2_f_bbbb_oooo += einsum(delta.bb.oo, (0, 1), delta.bb.oo, (2, 3), (0, 2, 3, 1)) * -1.0 + rdm2_f_aaaa_ovoo = np.zeros((nocc[0], nvir[0], nocc[0], nocc[0]), dtype=types[float]) + rdm2_f_aaaa_ovoo += einsum(delta.aa.oo, (0, 1), l1.aa, (2, 3), (0, 2, 1, 3)) + rdm2_f_aaaa_ovoo += einsum(delta.aa.oo, (0, 1), l1.aa, (2, 3), (0, 2, 3, 1)) * -1.0 + rdm2_f_abab_ovoo = np.zeros((nocc[0], nvir[1], nocc[0], nocc[1]), dtype=types[float]) + rdm2_f_abab_ovoo += einsum(delta.aa.oo, (0, 1), l1.bb, (2, 3), (0, 2, 1, 3)) + rdm2_f_bbbb_ovoo = np.zeros((nocc[1], nvir[1], nocc[1], nocc[1]), dtype=types[float]) + rdm2_f_bbbb_ovoo += einsum(delta.bb.oo, (0, 1), l1.bb, (2, 3), (0, 2, 1, 3)) + rdm2_f_bbbb_ovoo += einsum(delta.bb.oo, (0, 1), l1.bb, (2, 3), (0, 2, 3, 1)) * -1.0 + rdm2_f_aaaa_vooo = np.zeros((nvir[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + rdm2_f_aaaa_vooo += einsum(delta.aa.oo, (0, 1), l1.aa, (2, 3), (2, 0, 1, 3)) * -1.0 + rdm2_f_aaaa_vooo += einsum(delta.aa.oo, (0, 1), l1.aa, (2, 3), (2, 0, 3, 1)) + rdm2_f_abab_vooo = np.zeros((nvir[0], nocc[1], nocc[0], nocc[1]), dtype=types[float]) + rdm2_f_abab_vooo += einsum(delta.bb.oo, (0, 1), l1.aa, (2, 3), (2, 0, 3, 1)) + rdm2_f_bbbb_vooo = np.zeros((nvir[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + rdm2_f_bbbb_vooo += einsum(delta.bb.oo, (0, 1), l1.bb, (2, 3), (2, 0, 1, 3)) * -1.0 + rdm2_f_bbbb_vooo += einsum(delta.bb.oo, (0, 1), l1.bb, (2, 3), (2, 0, 3, 1)) + rdm2_f_aaaa_oovv = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + rdm2_f_aaaa_oovv += einsum(l1.bb, (0, 1), t3.abaaba, (2, 1, 3, 4, 0, 5), (2, 3, 4, 5)) * 2.0 + rdm2_f_aaaa_oovv += einsum(t2.aaaa, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + rdm2_f_aaaa_oovv += einsum(l1.aa, (0, 1), t3.aaaaaa, (2, 3, 1, 4, 5, 0), (2, 3, 4, 5)) * 6.0 + rdm2_f_abab_oovv = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + rdm2_f_abab_oovv += einsum(t2.abab, (0, 1, 2, 3), (0, 1, 2, 3)) + rdm2_f_abab_oovv += einsum(l1.bb, (0, 1), t3.babbab, (2, 3, 1, 4, 5, 0), (3, 2, 5, 4)) * 2.0 + rdm2_f_abab_oovv += einsum(l1.aa, (0, 1), t3.abaaba, (2, 3, 1, 4, 5, 0), (2, 3, 4, 5)) * 2.0 + rdm2_f_bbbb_oovv = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + rdm2_f_bbbb_oovv += einsum(l1.bb, (0, 1), t3.bbbbbb, (2, 3, 1, 4, 5, 0), (2, 3, 4, 5)) * 6.0 + rdm2_f_bbbb_oovv += einsum(t2.bbbb, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + rdm2_f_bbbb_oovv += einsum(l1.aa, (0, 1), t3.babbab, (2, 1, 3, 4, 0, 5), (2, 3, 4, 5)) * 2.0 + rdm2_f_bbbb_oovv += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1)) * -1.0 + rdm2_f_bbbb_oovv += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3)) + rdm2_f_aaaa_ovov = np.zeros((nocc[0], nvir[0], nocc[0], nvir[0]), dtype=types[float]) + rdm2_f_aaaa_ovov += einsum(l1.aa, (0, 1), t1.aa, (2, 3), (2, 0, 1, 3)) * -1.0 + rdm2_f_bbbb_ovov = np.zeros((nocc[1], nvir[1], nocc[1], nvir[1]), dtype=types[float]) + rdm2_f_bbbb_ovov += einsum(l1.bb, (0, 1), t1.bb, (2, 3), (2, 0, 1, 3)) * -1.0 + rdm2_f_aaaa_ovvo = np.zeros((nocc[0], nvir[0], nvir[0], nocc[0]), dtype=types[float]) + rdm2_f_aaaa_ovvo += einsum(l1.aa, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1)) + rdm2_f_abab_ovvo = np.zeros((nocc[0], nvir[1], nvir[0], nocc[1]), dtype=types[float]) + rdm2_f_abab_ovvo += einsum(l1.bb, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1)) + rdm2_f_bbbb_ovvo = np.zeros((nocc[1], nvir[1], nvir[1], nocc[1]), dtype=types[float]) + rdm2_f_bbbb_ovvo += einsum(l1.bb, (0, 1), t1.bb, (2, 3), (2, 0, 3, 1)) + rdm2_f_aaaa_voov = np.zeros((nvir[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + rdm2_f_aaaa_voov += einsum(l1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 1, 3)) + rdm2_f_abab_voov = np.zeros((nvir[0], nocc[1], nocc[0], nvir[1]), dtype=types[float]) + rdm2_f_abab_voov += einsum(l1.aa, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3)) + rdm2_f_bbbb_voov = np.zeros((nvir[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + rdm2_f_bbbb_voov += einsum(l1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3)) + rdm2_f_aaaa_vovo = np.zeros((nvir[0], nocc[0], nvir[0], nocc[0]), dtype=types[float]) + rdm2_f_aaaa_vovo += einsum(l1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 3, 1)) * -1.0 + rdm2_f_bbbb_vovo = np.zeros((nvir[1], nocc[1], nvir[1], nocc[1]), dtype=types[float]) + rdm2_f_bbbb_vovo += einsum(l1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1)) * -1.0 + rdm2_f_aaaa_vvoo = np.zeros((nvir[0], nvir[0], nocc[0], nocc[0]), dtype=types[float]) + rdm2_f_aaaa_vvoo += einsum(l2.aaaa, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + rdm2_f_abab_vvoo = np.zeros((nvir[0], nvir[1], nocc[0], nocc[1]), dtype=types[float]) + rdm2_f_abab_vvoo += einsum(l2.abab, (0, 1, 2, 3), (0, 1, 2, 3)) + rdm2_f_bbbb_vvoo = np.zeros((nvir[1], nvir[1], nocc[1], nocc[1]), dtype=types[float]) + rdm2_f_bbbb_vvoo += einsum(l2.bbbb, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + rdm2_f_abab_ovvv = np.zeros((nocc[0], nvir[1], nvir[0], nvir[1]), dtype=types[float]) + rdm2_f_abab_ovvv += einsum(l1.bb, (0, 1), t2.abab, (2, 1, 3, 4), (2, 0, 3, 4)) + rdm2_f_abab_ovvv += einsum(l2.bbbb, (0, 1, 2, 3), t3.babbab, (2, 4, 3, 5, 6, 1), (4, 0, 6, 5)) * 2.0 + rdm2_f_abab_ovvv += einsum(l2.abab, (0, 1, 2, 3), t3.abaaba, (4, 3, 2, 5, 6, 0), (4, 1, 5, 6)) * 2.0 + rdm2_f_abab_vovv = np.zeros((nvir[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) + rdm2_f_abab_vovv += einsum(l2.abab, (0, 1, 2, 3), t3.babbab, (4, 2, 3, 5, 6, 1), (0, 4, 6, 5)) * 2.0 + rdm2_f_abab_vovv += einsum(l1.aa, (0, 1), t2.abab, (1, 2, 3, 4), (0, 2, 3, 4)) + rdm2_f_abab_vovv += einsum(l2.aaaa, (0, 1, 2, 3), t3.abaaba, (2, 4, 3, 5, 6, 1), (0, 4, 5, 6)) * 2.0 + rdm2_f_abab_vvov = np.zeros((nvir[0], nvir[1], nocc[0], nvir[1]), dtype=types[float]) + rdm2_f_abab_vvov += einsum(t1.bb, (0, 1), l2.abab, (2, 3, 4, 0), (2, 3, 4, 1)) + rdm2_f_aaaa_vvvv = np.zeros((nvir[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + rdm2_f_aaaa_vvvv += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (3, 4, 5, 6, 1, 7), (0, 2, 6, 7)) * 2.0000000000000404 + rdm2_f_aaaa_vvvv += einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), t3.aaaaaa, (3, 4, 5, 6, 7, 2), (0, 1, 6, 7)) * 6.000000000000116 + rdm2_f_aaaa_vvvv += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (2, 3, 4, 5), (0, 1, 4, 5)) * 2.0 + rdm2_f_abab_vvvv = np.zeros((nvir[0], nvir[1], nvir[0], nvir[1]), dtype=types[float]) + rdm2_f_abab_vvvv += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (3, 4, 5, 6, 7, 2), (1, 0, 7, 6)) * 2.0000000000000404 + rdm2_f_abab_vvvv += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (3, 4, 5, 6, 7, 2), (0, 1, 6, 7)) * 2.0000000000000404 + rdm2_f_abab_vvvv += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 4, 5), (0, 1, 4, 5)) + rdm2_f_bbbb_vvvv = np.zeros((nvir[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + rdm2_f_bbbb_vvvv += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (3, 4, 5, 6, 1, 7), (0, 2, 6, 7)) * 2.0000000000000404 + rdm2_f_bbbb_vvvv += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (2, 3, 4, 5), (0, 1, 4, 5)) * 2.0 + rdm2_f_bbbb_vvvv += einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), t3.bbbbbb, (3, 4, 5, 6, 7, 2), (0, 1, 6, 7)) * 6.000000000000116 + x0 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x0 += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 5, 0, 1), (2, 3, 4, 5)) + rdm2_f_aaaa_oooo += einsum(x0, (0, 1, 2, 3), (3, 2, 1, 0)) * 2.0 + x1 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x1 += einsum(t1.aa, (0, 1), l2.aaaa, (2, 1, 3, 4), (3, 4, 0, 2)) + rdm2_f_aaaa_ovoo += einsum(x1, (0, 1, 2, 3), (2, 3, 1, 0)) * -2.0 + rdm2_f_aaaa_vooo += einsum(x1, (0, 1, 2, 3), (3, 2, 1, 0)) * 2.0 + x2 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x2 += einsum(t1.aa, (0, 1), x1, (2, 3, 4, 1), (2, 3, 0, 4)) + rdm2_f_aaaa_oooo += einsum(x2, (0, 1, 2, 3), (2, 3, 1, 0)) * -2.0 + x3 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x3 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (6, 4, 7, 0, 1, 2), (3, 5, 6, 7)) + rdm2_f_aaaa_oooo += einsum(x3, (0, 1, 2, 3), (2, 3, 1, 0)) * -2.0000000000000404 + x4 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x4 += einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), t3.aaaaaa, (6, 7, 5, 0, 1, 2), (3, 4, 6, 7)) + rdm2_f_aaaa_oooo += einsum(x4, (0, 1, 2, 3), (2, 3, 1, 0)) * -6.000000000000116 + x5 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x5 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 0, 1), (2, 4)) + x6 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x6 += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 3, 0, 1), (2, 4)) + x7 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x7 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (3, 6, 5, 0, 1, 2), (4, 6)) + x8 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x8 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (6, 4, 5, 0, 1, 2), (3, 6)) + x9 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x9 += einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), t3.aaaaaa, (6, 4, 5, 0, 1, 2), (3, 6)) + x10 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x10 += einsum(x5, (0, 1), (0, 1)) + x10 += einsum(x6, (0, 1), (0, 1)) * 2.0 + x10 += einsum(x7, (0, 1), (0, 1)) * 0.9999999999999601 + x10 += einsum(x8, (0, 1), (0, 1)) * 1.9999999999999194 + x10 += einsum(x9, (0, 1), (0, 1)) * 2.9999999999998788 + rdm2_f_aaaa_oooo += einsum(delta.aa.oo, (0, 1), x10, (2, 3), (0, 3, 1, 2)) * -1.0 + rdm2_f_aaaa_oooo += einsum(delta.aa.oo, (0, 1), x10, (2, 3), (0, 3, 2, 1)) + rdm2_f_aaaa_oooo += einsum(delta.aa.oo, (0, 1), x10, (2, 3), (3, 0, 1, 2)) + rdm2_f_aaaa_oooo += einsum(delta.aa.oo, (0, 1), x10, (2, 3), (3, 0, 2, 1)) * -1.0 + del x10 + x11 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x11 += einsum(l1.aa, (0, 1), t1.aa, (2, 0), (1, 2)) + rdm2_f_aaaa_oooo += einsum(delta.aa.oo, (0, 1), x11, (2, 3), (0, 3, 1, 2)) * -1.0 + rdm2_f_aaaa_oooo += einsum(delta.aa.oo, (0, 1), x11, (2, 3), (3, 0, 1, 2)) + rdm2_f_aaaa_oooo += einsum(delta.aa.oo, (0, 1), x11, (2, 3), (0, 3, 2, 1)) + rdm2_f_aaaa_oooo += einsum(delta.aa.oo, (0, 1), x11, (2, 3), (3, 0, 2, 1)) * -1.0 + x12 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x12 += einsum(t2.abab, (0, 1, 2, 3), l3.abaaba, (4, 3, 2, 5, 1, 6), (5, 6, 0, 4)) + rdm2_f_aaaa_ovoo += einsum(x12, (0, 1, 2, 3), (2, 3, 1, 0)) * -2.0 + rdm2_f_aaaa_vooo += einsum(x12, (0, 1, 2, 3), (3, 2, 1, 0)) * 2.0 + x13 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x13 += einsum(t2.aaaa, (0, 1, 2, 3), l3.aaaaaa, (4, 2, 3, 5, 6, 1), (5, 6, 0, 4)) + rdm2_f_aaaa_ovoo += einsum(x13, (0, 1, 2, 3), (2, 3, 1, 0)) * -6.0 + rdm2_f_aaaa_vooo += einsum(x13, (0, 1, 2, 3), (3, 2, 1, 0)) * 6.0 + x14 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x14 += einsum(x12, (0, 1, 2, 3), (0, 1, 2, 3)) + x14 += einsum(x13, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0 + x15 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x15 += einsum(t1.aa, (0, 1), x14, (2, 3, 4, 1), (0, 2, 3, 4)) * 2.0 + rdm2_f_aaaa_oooo += einsum(x15, (0, 1, 2, 3), (0, 3, 2, 1)) * -1.0 + rdm2_f_aaaa_oooo += einsum(x15, (0, 1, 2, 3), (3, 0, 2, 1)) + del x15 + x16 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) + x16 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (6, 7, 5, 0, 1, 2), (4, 7, 3, 6)) + rdm2_f_abab_oooo = np.zeros((nocc[0], nocc[1], nocc[0], nocc[1]), dtype=types[float]) + rdm2_f_abab_oooo += einsum(x16, (0, 1, 2, 3), (3, 1, 2, 0)) * 2.0000000000000404 + x17 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) + x17 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (6, 7, 5, 0, 1, 2), (3, 6, 4, 7)) + rdm2_f_abab_oooo += einsum(x17, (0, 1, 2, 3), (3, 1, 2, 0)) * 2.0000000000000404 + x18 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) + x18 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 5, 0, 1), (3, 5, 2, 4)) + rdm2_f_abab_oooo += einsum(x18, (0, 1, 2, 3), (3, 1, 2, 0)) + x19 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x19 += einsum(t1.aa, (0, 1), l2.abab, (1, 2, 3, 4), (4, 2, 3, 0)) + rdm2_f_abab_ovoo += einsum(x19, (0, 1, 2, 3), (3, 1, 2, 0)) * -1.0 + x20 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x20 += einsum(t2.abab, (0, 1, 2, 3), l3.babbab, (4, 2, 3, 5, 6, 1), (5, 4, 6, 0)) + rdm2_f_abab_ovoo += einsum(x20, (0, 1, 2, 3), (3, 1, 2, 0)) * -2.0 + x21 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x21 += einsum(t2.aaaa, (0, 1, 2, 3), l3.abaaba, (2, 4, 3, 5, 6, 1), (6, 4, 5, 0)) + rdm2_f_abab_ovoo += einsum(x21, (0, 1, 2, 3), (3, 1, 2, 0)) * -2.0 + x22 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x22 += einsum(x19, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 + x22 += einsum(x20, (0, 1, 2, 3), (0, 1, 2, 3)) + x22 += einsum(x21, (0, 1, 2, 3), (0, 1, 2, 3)) + rdm2_f_abab_oooo += einsum(t1.bb, (0, 1), x22, (2, 1, 3, 4), (4, 0, 3, 2)) * 2.0 + rdm2_f_abab_ooov = np.zeros((nocc[0], nocc[1], nocc[0], nvir[1]), dtype=types[float]) + rdm2_f_abab_ooov += einsum(t2.bbbb, (0, 1, 2, 3), x22, (1, 3, 4, 5), (5, 0, 4, 2)) * -4.0 + rdm2_f_abab_oovo = np.zeros((nocc[0], nocc[1], nvir[0], nocc[1]), dtype=types[float]) + rdm2_f_abab_oovo += einsum(t2.abab, (0, 1, 2, 3), x22, (4, 3, 0, 5), (5, 1, 2, 4)) * 2.0 + rdm2_f_abab_ovvo += einsum(t1.aa, (0, 1), x22, (2, 3, 0, 4), (4, 3, 1, 2)) * -2.0 + rdm2_f_abab_ovvv += einsum(t2.abab, (0, 1, 2, 3), x22, (1, 4, 0, 5), (5, 4, 2, 3)) * -2.0 + x23 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x23 += einsum(t2.bbbb, (0, 1, 2, 3), l3.babbab, (2, 4, 3, 5, 6, 1), (5, 0, 6, 4)) + rdm2_f_abab_vooo += einsum(x23, (0, 1, 2, 3), (3, 1, 2, 0)) * -2.0 + x24 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x24 += einsum(t2.abab, (0, 1, 2, 3), l3.abaaba, (4, 3, 2, 5, 6, 0), (6, 1, 5, 4)) + rdm2_f_abab_vooo += einsum(x24, (0, 1, 2, 3), (3, 1, 2, 0)) * -2.0 + x25 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x25 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) + x25 += einsum(x24, (0, 1, 2, 3), (0, 1, 2, 3)) + x26 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) + x26 += einsum(t1.aa, (0, 1), x25, (2, 3, 4, 1), (2, 3, 0, 4)) * 2.0 + rdm2_f_abab_oooo += einsum(x26, (0, 1, 2, 3), (2, 1, 3, 0)) + x27 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x27 += einsum(delta.aa.oo, (0, 1), (0, 1)) * -1.0 + x27 += einsum(x11, (0, 1), (0, 1)) + x27 += einsum(x5, (0, 1), (0, 1)) + x27 += einsum(x6, (0, 1), (0, 1)) * 2.0 + x27 += einsum(x7, (0, 1), (0, 1)) * 0.9999999999999601 + x27 += einsum(x8, (0, 1), (0, 1)) * 1.9999999999999194 + x27 += einsum(x9, (0, 1), (0, 1)) * 2.9999999999998788 + rdm2_f_abab_oooo += einsum(delta.bb.oo, (0, 1), x27, (2, 3), (3, 0, 2, 1)) * -1.0 + del x27 + x28 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x28 += einsum(l1.bb, (0, 1), t1.bb, (2, 0), (1, 2)) + rdm2_f_bbbb_oooo += einsum(delta.bb.oo, (0, 1), x28, (2, 3), (0, 3, 1, 2)) * -1.0 + rdm2_f_bbbb_oooo += einsum(delta.bb.oo, (0, 1), x28, (2, 3), (3, 0, 1, 2)) + rdm2_f_bbbb_oooo += einsum(delta.bb.oo, (0, 1), x28, (2, 3), (0, 3, 2, 1)) + rdm2_f_bbbb_oooo += einsum(delta.bb.oo, (0, 1), x28, (2, 3), (3, 0, 2, 1)) * -1.0 + x29 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x29 += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 3, 0, 1), (2, 4)) + x30 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x30 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 1), (3, 4)) + x31 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x31 += einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), t3.bbbbbb, (6, 4, 5, 0, 1, 2), (3, 6)) + x32 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x32 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (6, 4, 5, 0, 1, 2), (3, 6)) + x33 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x33 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (3, 6, 5, 0, 1, 2), (4, 6)) + x34 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x34 += einsum(x28, (0, 1), (0, 1)) * 0.5 + x34 += einsum(x29, (0, 1), (0, 1)) + x34 += einsum(x30, (0, 1), (0, 1)) * 0.5 + x34 += einsum(x31, (0, 1), (0, 1)) * 1.4999999999999394 + x34 += einsum(x32, (0, 1), (0, 1)) * 0.9999999999999597 + x34 += einsum(x33, (0, 1), (0, 1)) * 0.49999999999998007 + rdm2_f_abab_oooo += einsum(delta.aa.oo, (0, 1), x34, (2, 3), (0, 3, 1, 2)) * -2.0 + rdm2_f_abab_oovo += einsum(t1.aa, (0, 1), x34, (2, 3), (0, 3, 1, 2)) * -2.0 + del x34 + x35 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x35 += einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), t3.bbbbbb, (6, 7, 5, 0, 1, 2), (3, 4, 6, 7)) + rdm2_f_bbbb_oooo += einsum(x35, (0, 1, 2, 3), (2, 3, 1, 0)) * -6.000000000000116 + x36 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x36 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (6, 4, 7, 0, 1, 2), (3, 5, 6, 7)) + rdm2_f_bbbb_oooo += einsum(x36, (0, 1, 2, 3), (2, 3, 1, 0)) * -2.0000000000000404 + x37 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x37 += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 5, 0, 1), (2, 3, 4, 5)) + rdm2_f_bbbb_oooo += einsum(x37, (0, 1, 2, 3), (3, 2, 1, 0)) * 2.0 + x38 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x38 += einsum(t1.bb, (0, 1), l2.bbbb, (2, 1, 3, 4), (3, 4, 0, 2)) + rdm2_f_bbbb_ovoo += einsum(x38, (0, 1, 2, 3), (2, 3, 1, 0)) * -2.0 + rdm2_f_bbbb_vooo += einsum(x38, (0, 1, 2, 3), (3, 2, 1, 0)) * 2.0 + x39 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x39 += einsum(t1.bb, (0, 1), x38, (2, 3, 4, 1), (2, 3, 0, 4)) + rdm2_f_bbbb_oooo += einsum(x39, (0, 1, 2, 3), (2, 3, 1, 0)) * -2.0 + x40 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x40 += einsum(t2.bbbb, (0, 1, 2, 3), l3.bbbbbb, (4, 2, 3, 5, 6, 1), (5, 6, 0, 4)) + rdm2_f_bbbb_ovoo += einsum(x40, (0, 1, 2, 3), (2, 3, 1, 0)) * -6.0 + rdm2_f_bbbb_vooo += einsum(x40, (0, 1, 2, 3), (3, 2, 1, 0)) * 6.0 + x41 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x41 += einsum(t2.abab, (0, 1, 2, 3), l3.babbab, (4, 2, 3, 5, 0, 6), (5, 6, 1, 4)) + rdm2_f_bbbb_ovoo += einsum(x41, (0, 1, 2, 3), (2, 3, 1, 0)) * -2.0 + rdm2_f_bbbb_vooo += einsum(x41, (0, 1, 2, 3), (3, 2, 1, 0)) * 2.0 + x42 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x42 += einsum(x40, (0, 1, 2, 3), (0, 1, 2, 3)) + x42 += einsum(x41, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.3333333333333333 + x43 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x43 += einsum(t1.bb, (0, 1), x42, (2, 3, 4, 1), (0, 2, 3, 4)) * 6.0 + rdm2_f_bbbb_oooo += einsum(x43, (0, 1, 2, 3), (0, 3, 2, 1)) * -1.0 + rdm2_f_bbbb_oooo += einsum(x43, (0, 1, 2, 3), (3, 0, 2, 1)) + del x43 + x44 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x44 += einsum(x29, (0, 1), (0, 1)) + x44 += einsum(x30, (0, 1), (0, 1)) * 0.5 + x44 += einsum(x31, (0, 1), (0, 1)) * 1.4999999999999394 + x44 += einsum(x32, (0, 1), (0, 1)) * 0.9999999999999597 + x44 += einsum(x33, (0, 1), (0, 1)) * 0.49999999999998007 + rdm2_f_bbbb_oooo += einsum(delta.bb.oo, (0, 1), x44, (2, 3), (0, 3, 1, 2)) * -2.0 + rdm2_f_bbbb_oooo += einsum(delta.bb.oo, (0, 1), x44, (2, 3), (0, 3, 2, 1)) * 2.0 + rdm2_f_bbbb_oooo += einsum(delta.bb.oo, (0, 1), x44, (2, 3), (3, 0, 1, 2)) * 2.0 + rdm2_f_bbbb_oooo += einsum(delta.bb.oo, (0, 1), x44, (2, 3), (3, 0, 2, 1)) * -2.0 + del x44 + x45 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x45 += einsum(t1.aa, (0, 1), l3.aaaaaa, (2, 3, 1, 4, 5, 6), (4, 5, 6, 0, 2, 3)) + x46 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x46 += einsum(t1.aa, (0, 1), x45, (2, 3, 4, 5, 1, 6), (3, 4, 2, 5, 0, 6)) + x47 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x47 += einsum(t2.aaaa, (0, 1, 2, 3), x46, (1, 0, 4, 5, 6, 3), (4, 6, 5, 2)) + rdm2_f_aaaa_ooov = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + rdm2_f_aaaa_ooov += einsum(x47, (0, 1, 2, 3), (1, 2, 0, 3)) * 6.0 + rdm2_f_aaaa_oovo = np.zeros((nocc[0], nocc[0], nvir[0], nocc[0]), dtype=types[float]) + rdm2_f_aaaa_oovo += einsum(x47, (0, 1, 2, 3), (1, 2, 3, 0)) * -6.0 + x48 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x48 += einsum(l2.aaaa, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 3, 6, 0, 1), (2, 4, 5, 6)) + rdm2_f_aaaa_ooov += einsum(x48, (0, 1, 2, 3), (1, 2, 0, 3)) * 6.0 + rdm2_f_aaaa_oovo += einsum(x48, (0, 1, 2, 3), (1, 2, 3, 0)) * -6.0 + x49 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x49 += einsum(l2.abab, (0, 1, 2, 3), t3.abaaba, (4, 3, 5, 6, 1, 0), (2, 4, 5, 6)) + rdm2_f_aaaa_ooov += einsum(x49, (0, 1, 2, 3), (1, 2, 0, 3)) * 2.0 + rdm2_f_aaaa_oovo += einsum(x49, (0, 1, 2, 3), (1, 2, 3, 0)) * -2.0 + x50 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x50 += einsum(l1.aa, (0, 1), t2.aaaa, (2, 3, 4, 0), (1, 2, 3, 4)) + rdm2_f_aaaa_ooov += einsum(x50, (0, 1, 2, 3), (2, 1, 0, 3)) * -2.0 + rdm2_f_aaaa_oovo += einsum(x50, (0, 1, 2, 3), (2, 1, 3, 0)) * 2.0 + x51 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x51 += einsum(t1.aa, (0, 1), l3.abaaba, (2, 3, 1, 4, 5, 6), (5, 3, 4, 6, 0, 2)) + rdm2_f_abab_ovvv += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x51, (1, 6, 0, 2, 7, 5), (7, 6, 3, 4)) * 2.0000000000000404 + x52 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x52 += einsum(t1.aa, (0, 1), x51, (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 6, 0)) * -1.0 + x53 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x53 += einsum(t2.abab, (0, 1, 2, 3), x52, (1, 3, 4, 0, 5, 6), (4, 6, 5, 2)) * -1.0 + rdm2_f_aaaa_ooov += einsum(x53, (0, 1, 2, 3), (1, 2, 0, 3)) * 2.0 + rdm2_f_aaaa_oovo += einsum(x53, (0, 1, 2, 3), (1, 2, 3, 0)) * -2.0 + x54 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x54 += einsum(l1.bb, (0, 1), t2.abab, (2, 1, 3, 0), (2, 3)) + x55 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x55 += einsum(l1.aa, (0, 1), t2.aaaa, (2, 1, 3, 0), (2, 3)) + x56 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x56 += einsum(l2.bbbb, (0, 1, 2, 3), t3.babbab, (2, 4, 3, 0, 5, 1), (4, 5)) + x57 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x57 += einsum(l2.abab, (0, 1, 2, 3), t3.abaaba, (4, 3, 2, 5, 1, 0), (4, 5)) + x58 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x58 += einsum(l2.aaaa, (0, 1, 2, 3), t3.aaaaaa, (4, 2, 3, 5, 0, 1), (4, 5)) + x59 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x59 += einsum(t1.aa, (0, 1), l3.babbab, (2, 1, 3, 4, 5, 6), (4, 6, 2, 3, 5, 0)) + rdm2_f_abab_ovvv += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x59, (2, 0, 6, 5, 1, 7), (7, 6, 4, 3)) * 2.0000000000000404 + x60 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x60 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x59, (0, 2, 3, 5, 1, 6), (6, 4)) + x61 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x61 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x51, (1, 4, 0, 2, 6, 5), (6, 3)) * -1.0 + x62 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x62 += einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), x45, (0, 1, 2, 6, 4, 5), (6, 3)) + x63 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x63 += einsum(t2.abab, (0, 1, 2, 3), x22, (1, 3, 0, 4), (4, 2)) * 2.0 + x64 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x64 += einsum(x1, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.3333333333333333 + x64 += einsum(x12, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.3333333333333333 + x64 += einsum(x13, (0, 1, 2, 3), (0, 1, 2, 3)) + x65 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x65 += einsum(t2.aaaa, (0, 1, 2, 3), x64, (0, 1, 4, 3), (4, 2)) * -6.0 + x66 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x66 += einsum(x11, (0, 1), (0, 1)) + x66 += einsum(x5, (0, 1), (0, 1)) + x66 += einsum(x6, (0, 1), (0, 1)) * 2.0 + x66 += einsum(x7, (0, 1), (0, 1)) * 0.9999999999999601 + x66 += einsum(x8, (0, 1), (0, 1)) * 1.9999999999999194 + x66 += einsum(x9, (0, 1), (0, 1)) * 2.9999999999998788 + rdm2_f_abab_ooov += einsum(t1.bb, (0, 1), x66, (2, 3), (3, 0, 2, 1)) * -1.0 + x67 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x67 += einsum(t1.aa, (0, 1), x66, (0, 2), (2, 1)) + x68 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x68 += einsum(x54, (0, 1), (0, 1)) * -1.0 + x68 += einsum(x55, (0, 1), (0, 1)) * -2.0 + x68 += einsum(x56, (0, 1), (0, 1)) * -1.0 + x68 += einsum(x57, (0, 1), (0, 1)) * -2.0 + x68 += einsum(x58, (0, 1), (0, 1)) * -3.0 + x68 += einsum(x60, (0, 1), (0, 1)) * 0.9999999999999601 + x68 += einsum(x61, (0, 1), (0, 1)) * 1.9999999999999194 + x68 += einsum(x62, (0, 1), (0, 1)) * 2.9999999999998788 + x68 += einsum(x63, (0, 1), (0, 1)) + x68 += einsum(x65, (0, 1), (0, 1)) + x68 += einsum(x67, (0, 1), (0, 1)) + rdm2_f_aaaa_ooov += einsum(delta.aa.oo, (0, 1), x68, (2, 3), (0, 2, 1, 3)) * -1.0 + rdm2_f_aaaa_ooov += einsum(delta.aa.oo, (0, 1), x68, (2, 3), (2, 0, 1, 3)) + rdm2_f_aaaa_oovo += einsum(delta.aa.oo, (0, 1), x68, (2, 3), (0, 2, 3, 1)) + rdm2_f_aaaa_oovo += einsum(delta.aa.oo, (0, 1), x68, (2, 3), (2, 0, 3, 1)) * -1.0 + x69 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x69 += einsum(t2.abab, (0, 1, 2, 3), x20, (1, 3, 4, 5), (4, 0, 5, 2)) + x70 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x70 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x59, (2, 0, 3, 5, 6, 7), (6, 7, 1, 4)) * -1.0 + x71 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x71 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x51, (1, 4, 6, 2, 7, 5), (6, 7, 0, 3)) * -1.0 + x72 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x72 += einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), x45, (1, 2, 6, 7, 5, 4), (6, 7, 0, 3)) * -1.0 + x73 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x73 += einsum(t2.aaaa, (0, 1, 2, 3), x64, (1, 4, 5, 3), (0, 4, 5, 2)) * 12.0 + x74 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x74 += einsum(x19, (0, 1, 2, 3), (0, 1, 2, 3)) + x74 += einsum(x21, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x75 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x75 += einsum(t2.abab, (0, 1, 2, 3), x74, (1, 3, 4, 5), (0, 4, 5, 2)) + x76 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x76 += einsum(t1.aa, (0, 1), x14, (2, 3, 4, 1), (0, 2, 3, 4)) + x77 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x77 += einsum(t1.aa, (0, 1), x76, (2, 0, 3, 4), (3, 2, 4, 1)) * 2.0 + del x76 + x78 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x78 += einsum(delta.aa.oo, (0, 1), t1.aa, (2, 3), (0, 1, 2, 3)) + x78 += einsum(x69, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 + x78 += einsum(x70, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + x78 += einsum(x71, (0, 1, 2, 3), (1, 0, 2, 3)) * -4.0 + x78 += einsum(x72, (0, 1, 2, 3), (1, 0, 2, 3)) * -9.0 + x78 += einsum(x73, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 + del x73 + x78 += einsum(x75, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 + del x75 + x78 += einsum(x77, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x77 + x78 += einsum(t1.aa, (0, 1), x66, (2, 3), (0, 2, 3, 1)) + del x66 + rdm2_f_aaaa_ooov += einsum(x78, (0, 1, 2, 3), (0, 2, 1, 3)) + rdm2_f_aaaa_ooov += einsum(x78, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 + rdm2_f_aaaa_oovo += einsum(x78, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 + rdm2_f_aaaa_oovo += einsum(x78, (0, 1, 2, 3), (2, 0, 3, 1)) + del x78 + x79 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x79 += einsum(t2.abab, (0, 1, 2, 3), l3.abaaba, (4, 3, 5, 6, 1, 0), (6, 4, 5, 2)) + rdm2_f_aaaa_vvov = np.zeros((nvir[0], nvir[0], nocc[0], nvir[0]), dtype=types[float]) + rdm2_f_aaaa_vvov += einsum(x79, (0, 1, 2, 3), (1, 2, 0, 3)) * 2.0 + rdm2_f_aaaa_vvvo = np.zeros((nvir[0], nvir[0], nvir[0], nocc[0]), dtype=types[float]) + rdm2_f_aaaa_vvvo += einsum(x79, (0, 1, 2, 3), (1, 2, 3, 0)) * -2.0 + x80 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x80 += einsum(t2.aaaa, (0, 1, 2, 3), l3.aaaaaa, (4, 5, 3, 6, 0, 1), (6, 4, 5, 2)) + rdm2_f_aaaa_vvov += einsum(x80, (0, 1, 2, 3), (1, 2, 0, 3)) * 6.0 + rdm2_f_aaaa_vvvo += einsum(x80, (0, 1, 2, 3), (1, 2, 3, 0)) * -6.0 + x81 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x81 += einsum(x79, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.3333333333333333 + x81 += einsum(x80, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + rdm2_f_abab_oovv += einsum(x81, (0, 1, 2, 3), t3.abaaba, (4, 5, 0, 1, 6, 2), (4, 5, 3, 6)) * 6.0 + x82 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x82 += einsum(t2.aaaa, (0, 1, 2, 3), x81, (4, 2, 3, 5), (0, 1, 4, 5)) * 6.0 + del x81 + rdm2_f_aaaa_ooov += einsum(x82, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + rdm2_f_aaaa_oovo += einsum(x82, (0, 1, 2, 3), (1, 0, 3, 2)) + del x82 + x83 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x83 += einsum(x0, (0, 1, 2, 3), (1, 0, 3, 2)) * -0.3333333333333269 + x83 += einsum(x2, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.3333333333333269 + x83 += einsum(x3, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.3333333333333336 + x83 += einsum(x4, (0, 1, 2, 3), (0, 1, 3, 2)) + x84 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x84 += einsum(t1.aa, (0, 1), x83, (0, 2, 3, 4), (2, 3, 4, 1)) * 6.000000000000116 + del x83 + rdm2_f_aaaa_ooov += einsum(x84, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 + rdm2_f_aaaa_oovo += einsum(x84, (0, 1, 2, 3), (2, 1, 3, 0)) + del x84 + x85 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x85 += einsum(t1.bb, (0, 1), l3.abaaba, (2, 1, 3, 4, 5, 6), (5, 0, 4, 6, 2, 3)) + rdm2_f_abab_vovv += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x85, (1, 6, 0, 2, 7, 5), (7, 6, 3, 4)) * -2.0000000000000404 + x86 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x86 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x85, (1, 6, 7, 2, 5, 3), (6, 4, 7, 0)) * -1.0 + rdm2_f_abab_ooov += einsum(x86, (0, 1, 2, 3), (3, 0, 2, 1)) * 2.0 + x87 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x87 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x51, (2, 5, 6, 1, 7, 4), (0, 3, 6, 7)) * -1.0 + rdm2_f_abab_ooov += einsum(x87, (0, 1, 2, 3), (3, 0, 2, 1)) * -4.0 + x88 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x88 += einsum(t1.bb, (0, 1), x51, (2, 1, 3, 4, 5, 6), (2, 0, 3, 4, 5, 6)) + x89 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x89 += einsum(t2.abab, (0, 1, 2, 3), x88, (1, 4, 5, 0, 6, 2), (4, 3, 5, 6)) * -1.0 + rdm2_f_abab_ooov += einsum(x89, (0, 1, 2, 3), (3, 0, 2, 1)) * 2.0 + x90 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x90 += einsum(t1.bb, (0, 1), l3.babbab, (2, 3, 1, 4, 5, 6), (4, 6, 0, 2, 5, 3)) + rdm2_f_abab_vovv += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x90, (2, 0, 6, 5, 1, 7), (7, 6, 4, 3)) * -2.0000000000000404 + x91 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x91 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x90, (2, 0, 6, 5, 7, 4), (6, 3, 7, 1)) + rdm2_f_abab_ooov += einsum(x91, (0, 1, 2, 3), (3, 0, 2, 1)) * 2.0 + x92 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x92 += einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), x59, (1, 2, 4, 5, 6, 7), (0, 3, 6, 7)) + rdm2_f_abab_ooov += einsum(x92, (0, 1, 2, 3), (3, 0, 2, 1)) * -3.0 + x93 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x93 += einsum(t1.bb, (0, 1), x59, (2, 3, 1, 4, 5, 6), (3, 2, 0, 4, 5, 6)) + x94 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x94 += einsum(t2.bbbb, (0, 1, 2, 3), x93, (1, 0, 4, 3, 5, 6), (4, 2, 5, 6)) + rdm2_f_abab_ooov += einsum(x94, (0, 1, 2, 3), (3, 0, 2, 1)) * 2.0 + x95 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x95 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x45, (6, 2, 0, 7, 5, 3), (1, 4, 6, 7)) + rdm2_f_abab_ooov += einsum(x95, (0, 1, 2, 3), (3, 0, 2, 1)) * -3.0 + x96 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x96 += einsum(l1.aa, (0, 1), t2.abab, (2, 3, 0, 4), (3, 4, 1, 2)) + rdm2_f_abab_ooov += einsum(x96, (0, 1, 2, 3), (3, 0, 2, 1)) * -1.0 + x97 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x97 += einsum(l2.aaaa, (0, 1, 2, 3), t3.abaaba, (4, 5, 3, 0, 6, 1), (5, 6, 2, 4)) + rdm2_f_abab_ooov += einsum(x97, (0, 1, 2, 3), (3, 0, 2, 1)) * -2.0 + x98 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x98 += einsum(l2.abab, (0, 1, 2, 3), t3.babbab, (4, 5, 3, 6, 0, 1), (4, 6, 2, 5)) + rdm2_f_abab_ooov += einsum(x98, (0, 1, 2, 3), (3, 0, 2, 1)) * -2.0 + x99 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x99 += einsum(t2.bbbb, (0, 1, 2, 3), l3.babbab, (4, 5, 3, 0, 6, 1), (4, 2, 6, 5)) + rdm2_f_abab_vvov += einsum(x99, (0, 1, 2, 3), (3, 0, 2, 1)) * 2.0 + x100 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x100 += einsum(t2.abab, (0, 1, 2, 3), l3.abaaba, (4, 5, 2, 6, 1, 0), (5, 3, 6, 4)) + rdm2_f_abab_vvov += einsum(x100, (0, 1, 2, 3), (3, 0, 2, 1)) * 2.0 + x101 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x101 += einsum(x99, (0, 1, 2, 3), (0, 1, 2, 3)) + x101 += einsum(x100, (0, 1, 2, 3), (0, 1, 2, 3)) + rdm2_f_abab_ooov += einsum(t2.abab, (0, 1, 2, 3), x101, (3, 4, 5, 2), (0, 1, 5, 4)) * 2.0 + rdm2_f_abab_ovvv += einsum(t2.aaaa, (0, 1, 2, 3), x101, (4, 5, 1, 3), (0, 4, 2, 5)) * 4.0 + rdm2_f_abab_vovv += einsum(t2.abab, (0, 1, 2, 3), x101, (3, 4, 0, 5), (5, 1, 2, 4)) * -2.0 + rdm2_f_abab_vvvv += einsum(t1.aa, (0, 1), x101, (2, 3, 0, 4), (4, 2, 1, 3)) * 2.0 + x102 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x102 += einsum(x1, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + x102 += einsum(x12, (0, 1, 2, 3), (0, 1, 2, 3)) + x102 += einsum(x13, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0 + rdm2_f_abab_ooov += einsum(t2.abab, (0, 1, 2, 3), x102, (0, 4, 5, 2), (5, 1, 4, 3)) * -2.0 + rdm2_f_abab_oovv += einsum(x102, (0, 1, 2, 3), t3.abaaba, (0, 4, 1, 5, 6, 3), (2, 4, 5, 6)) * 2.0 + x103 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x103 += einsum(t1.bb, (0, 1), l2.abab, (2, 1, 3, 4), (4, 0, 3, 2)) + rdm2_f_abab_vooo += einsum(x103, (0, 1, 2, 3), (3, 1, 2, 0)) * -1.0 + x104 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x104 += einsum(x103, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 + x104 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) + x104 += einsum(x24, (0, 1, 2, 3), (0, 1, 2, 3)) + rdm2_f_abab_ooov += einsum(t2.abab, (0, 1, 2, 3), x104, (1, 4, 5, 2), (0, 4, 5, 3)) * 2.0 + rdm2_f_abab_oovo += einsum(t2.aaaa, (0, 1, 2, 3), x104, (4, 5, 1, 3), (0, 5, 2, 4)) * -4.0 + rdm2_f_abab_voov += einsum(t1.bb, (0, 1), x104, (0, 2, 3, 4), (4, 2, 3, 1)) * -2.0 + rdm2_f_abab_vovo = np.zeros((nvir[0], nocc[1], nvir[0], nocc[1]), dtype=types[float]) + rdm2_f_abab_vovo += einsum(t1.aa, (0, 1), x104, (2, 3, 0, 4), (4, 3, 1, 2)) * -2.0 + x105 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x105 += einsum(x19, (0, 1, 2, 3), (0, 1, 2, 3)) + x105 += einsum(x20, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x105 += einsum(x21, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + rdm2_f_abab_oovv += einsum(x105, (0, 1, 2, 3), t3.babbab, (4, 2, 0, 5, 6, 1), (3, 4, 6, 5)) * -2.0 + rdm2_f_abab_ovov = np.zeros((nocc[0], nvir[1], nocc[0], nvir[1]), dtype=types[float]) + rdm2_f_abab_ovov += einsum(t1.bb, (0, 1), x105, (0, 2, 3, 4), (4, 2, 3, 1)) * -1.0 + x106 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) + x106 += einsum(t1.bb, (0, 1), x105, (2, 1, 3, 4), (2, 0, 3, 4)) * 0.4999999999999899 + x107 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) + x107 += einsum(t1.aa, (0, 1), x25, (2, 3, 4, 1), (2, 3, 0, 4)) * 0.9999999999999798 + x108 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) + x108 += einsum(x18, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.4999999999999899 + x108 += einsum(x17, (0, 1, 2, 3), (0, 1, 2, 3)) + x108 += einsum(x16, (0, 1, 2, 3), (0, 1, 2, 3)) + x108 += einsum(x106, (0, 1, 2, 3), (0, 1, 2, 3)) + del x106 + x108 += einsum(x107, (0, 1, 2, 3), (0, 1, 3, 2)) + del x107 + rdm2_f_abab_ooov += einsum(t1.bb, (0, 1), x108, (0, 2, 3, 4), (4, 2, 3, 1)) * 2.0000000000000404 + rdm2_f_abab_oovo += einsum(t1.aa, (0, 1), x108, (2, 3, 0, 4), (4, 3, 1, 2)) * 2.0000000000000404 + del x108 + x109 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x109 += einsum(l1.bb, (0, 1), t2.bbbb, (2, 1, 3, 0), (2, 3)) + x110 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x110 += einsum(l1.aa, (0, 1), t2.abab, (1, 2, 0, 3), (2, 3)) + x111 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x111 += einsum(l2.bbbb, (0, 1, 2, 3), t3.bbbbbb, (4, 2, 3, 5, 0, 1), (4, 5)) + x112 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x112 += einsum(l2.abab, (0, 1, 2, 3), t3.babbab, (4, 2, 3, 5, 0, 1), (4, 5)) + x113 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x113 += einsum(l2.aaaa, (0, 1, 2, 3), t3.abaaba, (2, 4, 3, 0, 5, 1), (4, 5)) + x114 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x114 += einsum(t1.bb, (0, 1), l3.bbbbbb, (2, 3, 1, 4, 5, 6), (4, 5, 6, 0, 2, 3)) + x115 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x115 += einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), x114, (0, 1, 2, 6, 4, 5), (6, 3)) + x116 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x116 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x90, (2, 0, 6, 5, 1, 4), (6, 3)) + x117 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x117 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x85, (1, 6, 0, 2, 3, 5), (6, 4)) + x118 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x118 += einsum(x38, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + x118 += einsum(x40, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0 + x118 += einsum(x41, (0, 1, 2, 3), (0, 1, 2, 3)) + rdm2_f_abab_oovo += einsum(t2.abab, (0, 1, 2, 3), x118, (1, 4, 5, 3), (0, 5, 2, 4)) * -2.0 + rdm2_f_abab_oovv += einsum(x118, (0, 1, 2, 3), t3.babbab, (0, 4, 1, 5, 6, 3), (4, 2, 6, 5)) * 2.0 + x119 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x119 += einsum(x28, (0, 1), (0, 1)) + x119 += einsum(x29, (0, 1), (0, 1)) * 2.0 + x119 += einsum(x30, (0, 1), (0, 1)) + x119 += einsum(x31, (0, 1), (0, 1)) * 2.9999999999998788 + x119 += einsum(x32, (0, 1), (0, 1)) * 1.9999999999999194 + x119 += einsum(x33, (0, 1), (0, 1)) * 0.9999999999999601 + rdm2_f_abab_oovv += einsum(x119, (0, 1), t2.abab, (2, 0, 3, 4), (2, 1, 3, 4)) * -1.0 + x120 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x120 += einsum(t1.bb, (0, 1), (0, 1)) * -1.0 + x120 += einsum(x109, (0, 1), (0, 1)) * -2.0 + x120 += einsum(x110, (0, 1), (0, 1)) * -1.0 + x120 += einsum(x111, (0, 1), (0, 1)) * -3.0 + x120 += einsum(x112, (0, 1), (0, 1)) * -2.0 + x120 += einsum(x113, (0, 1), (0, 1)) * -1.0 + x120 += einsum(x115, (0, 1), (0, 1)) * 2.9999999999998788 + x120 += einsum(x116, (0, 1), (0, 1)) * 1.9999999999999194 + x120 += einsum(x117, (0, 1), (0, 1)) * 0.9999999999999601 + x120 += einsum(t2.bbbb, (0, 1, 2, 3), x118, (0, 1, 4, 3), (4, 2)) * -2.0 + x120 += einsum(t2.abab, (0, 1, 2, 3), x104, (1, 4, 0, 2), (4, 3)) * 2.0 + x120 += einsum(t1.bb, (0, 1), x119, (0, 2), (2, 1)) + rdm2_f_abab_ooov += einsum(delta.aa.oo, (0, 1), x120, (2, 3), (0, 2, 1, 3)) * -1.0 + del x120 + x121 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x121 += einsum(l1.bb, (0, 1), t2.bbbb, (2, 3, 4, 0), (1, 2, 3, 4)) + rdm2_f_bbbb_ooov = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + rdm2_f_bbbb_ooov += einsum(x121, (0, 1, 2, 3), (2, 1, 0, 3)) * -2.0 + rdm2_f_bbbb_oovo = np.zeros((nocc[1], nocc[1], nvir[1], nocc[1]), dtype=types[float]) + rdm2_f_bbbb_oovo += einsum(x121, (0, 1, 2, 3), (2, 1, 3, 0)) * 2.0 + x122 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x122 += einsum(t1.bb, (0, 1), x90, (2, 3, 4, 1, 5, 6), (2, 3, 4, 0, 5, 6)) * -1.0 + x123 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x123 += einsum(t2.abab, (0, 1, 2, 3), x122, (4, 1, 5, 6, 0, 2), (4, 6, 5, 3)) * -1.0 + rdm2_f_bbbb_ooov += einsum(x123, (0, 1, 2, 3), (1, 2, 0, 3)) * 2.0 + rdm2_f_bbbb_oovo += einsum(x123, (0, 1, 2, 3), (1, 2, 3, 0)) * -2.0 + x124 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x124 += einsum(l2.bbbb, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 3, 6, 0, 1), (2, 4, 5, 6)) + rdm2_f_bbbb_ooov += einsum(x124, (0, 1, 2, 3), (1, 2, 0, 3)) * 6.0 + rdm2_f_bbbb_oovo += einsum(x124, (0, 1, 2, 3), (1, 2, 3, 0)) * -6.0 + x125 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x125 += einsum(l2.abab, (0, 1, 2, 3), t3.babbab, (4, 2, 5, 6, 0, 1), (3, 4, 5, 6)) + rdm2_f_bbbb_ooov += einsum(x125, (0, 1, 2, 3), (1, 2, 0, 3)) * 2.0 + rdm2_f_bbbb_oovo += einsum(x125, (0, 1, 2, 3), (1, 2, 3, 0)) * -2.0 + x126 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x126 += einsum(t1.bb, (0, 1), x114, (2, 3, 4, 5, 1, 6), (3, 4, 2, 5, 0, 6)) + x127 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x127 += einsum(t2.bbbb, (0, 1, 2, 3), x126, (0, 1, 4, 5, 6, 3), (4, 6, 5, 2)) * -1.0 + rdm2_f_bbbb_ooov += einsum(x127, (0, 1, 2, 3), (1, 2, 0, 3)) * 6.0 + rdm2_f_bbbb_oovo += einsum(x127, (0, 1, 2, 3), (1, 2, 3, 0)) * -6.0 + x128 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x128 += einsum(t2.bbbb, (0, 1, 2, 3), x118, (0, 1, 4, 3), (4, 2)) * -1.0 + x129 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x129 += einsum(t2.abab, (0, 1, 2, 3), x104, (1, 4, 0, 2), (4, 3)) + del x104 + x130 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x130 += einsum(t1.bb, (0, 1), x119, (0, 2), (2, 1)) * 0.5 + x131 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) + x131 += einsum(x109, (0, 1), (0, 1)) * -1.0 + del x109 + x131 += einsum(x110, (0, 1), (0, 1)) * -0.5 + del x110 + x131 += einsum(x111, (0, 1), (0, 1)) * -1.5 + del x111 + x131 += einsum(x112, (0, 1), (0, 1)) * -1.0 + del x112 + x131 += einsum(x113, (0, 1), (0, 1)) * -0.5 + del x113 + x131 += einsum(x115, (0, 1), (0, 1)) * 1.4999999999999394 + del x115 + x131 += einsum(x116, (0, 1), (0, 1)) * 0.9999999999999597 + del x116 + x131 += einsum(x117, (0, 1), (0, 1)) * 0.49999999999998007 + del x117 + x131 += einsum(x128, (0, 1), (0, 1)) + del x128 + x131 += einsum(x129, (0, 1), (0, 1)) + del x129 + x131 += einsum(x130, (0, 1), (0, 1)) + del x130 + rdm2_f_bbbb_ooov += einsum(delta.bb.oo, (0, 1), x131, (2, 3), (0, 2, 1, 3)) * -2.0 + rdm2_f_bbbb_ooov += einsum(delta.bb.oo, (0, 1), x131, (2, 3), (2, 0, 1, 3)) * 2.0 + rdm2_f_bbbb_oovo += einsum(delta.bb.oo, (0, 1), x131, (2, 3), (0, 2, 3, 1)) * 2.0 + rdm2_f_bbbb_oovo += einsum(delta.bb.oo, (0, 1), x131, (2, 3), (2, 0, 3, 1)) * -2.0 + rdm2_f_abab_oovv += einsum(t1.aa, (0, 1), x131, (2, 3), (0, 2, 1, 3)) * -2.0 + x132 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x132 += einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), x114, (6, 1, 2, 7, 4, 5), (6, 7, 0, 3)) + x133 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x133 += einsum(t1.bb, (0, 1), x40, (2, 3, 4, 1), (2, 3, 0, 4)) + x134 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x134 += einsum(t1.bb, (0, 1), x133, (0, 2, 3, 4), (2, 3, 4, 1)) * -1.0 + del x133 + x135 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x135 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x90, (6, 2, 7, 5, 1, 4), (6, 7, 0, 3)) * -1.0 + x136 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x136 += einsum(t2.abab, (0, 1, 2, 3), x24, (4, 5, 0, 2), (4, 1, 5, 3)) + x137 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x137 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x85, (6, 7, 0, 2, 5, 3), (6, 7, 1, 4)) * -1.0 + x138 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x138 += einsum(x38, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + x138 += einsum(x40, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0 + x139 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x139 += einsum(t2.bbbb, (0, 1, 2, 3), x138, (1, 4, 5, 3), (4, 5, 0, 2)) * 4.0 + del x138 + x140 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x140 += einsum(x103, (0, 1, 2, 3), (0, 1, 2, 3)) + x140 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x141 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x141 += einsum(t2.abab, (0, 1, 2, 3), x140, (4, 5, 0, 2), (4, 5, 1, 3)) + del x140 + x142 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x142 += einsum(t2.bbbb, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x142 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1)) * -1.0 + x143 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x143 += einsum(x142, (0, 1, 2, 3), x41, (4, 0, 5, 2), (1, 4, 5, 3)) * 2.0 + del x142 + x144 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x144 += einsum(delta.bb.oo, (0, 1), t1.bb, (2, 3), (0, 1, 2, 3)) + x144 += einsum(x132, (0, 1, 2, 3), (1, 0, 2, 3)) * -9.0 + x144 += einsum(x134, (0, 1, 2, 3), (1, 0, 2, 3)) * 6.0 + del x134 + x144 += einsum(x135, (0, 1, 2, 3), (1, 0, 2, 3)) * -4.0 + x144 += einsum(x136, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 + x144 += einsum(x137, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + x144 += einsum(x139, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x139 + x144 += einsum(x141, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x141 + x144 += einsum(x143, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x143 + x144 += einsum(t1.bb, (0, 1), x119, (2, 3), (0, 2, 3, 1)) + del x119 + rdm2_f_bbbb_ooov += einsum(x144, (0, 1, 2, 3), (0, 2, 1, 3)) + rdm2_f_bbbb_ooov += einsum(x144, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 + rdm2_f_bbbb_oovo += einsum(x144, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 + rdm2_f_bbbb_oovo += einsum(x144, (0, 1, 2, 3), (2, 0, 3, 1)) + del x144 + x145 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x145 += einsum(t2.bbbb, (0, 1, 2, 3), l3.bbbbbb, (4, 5, 3, 6, 0, 1), (6, 4, 5, 2)) + rdm2_f_bbbb_vvov = np.zeros((nvir[1], nvir[1], nocc[1], nvir[1]), dtype=types[float]) + rdm2_f_bbbb_vvov += einsum(x145, (0, 1, 2, 3), (1, 2, 0, 3)) * 6.0 + rdm2_f_bbbb_vvvo = np.zeros((nvir[1], nvir[1], nvir[1], nocc[1]), dtype=types[float]) + rdm2_f_bbbb_vvvo += einsum(x145, (0, 1, 2, 3), (1, 2, 3, 0)) * -6.0 + x146 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x146 += einsum(t2.abab, (0, 1, 2, 3), l3.babbab, (4, 2, 5, 6, 0, 1), (6, 4, 5, 3)) + rdm2_f_bbbb_vvov += einsum(x146, (0, 1, 2, 3), (1, 2, 0, 3)) * 2.0 + rdm2_f_bbbb_vvvo += einsum(x146, (0, 1, 2, 3), (1, 2, 3, 0)) * -2.0 + x147 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x147 += einsum(x145, (0, 1, 2, 3), (0, 2, 1, 3)) * -3.0 + x147 += einsum(x146, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + rdm2_f_abab_oovv += einsum(x147, (0, 1, 2, 3), t3.babbab, (4, 5, 0, 1, 6, 2), (5, 4, 6, 3)) * 2.0 + rdm2_f_abab_ovvv += einsum(t2.abab, (0, 1, 2, 3), x147, (1, 4, 3, 5), (0, 4, 2, 5)) * -2.0 + x148 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x148 += einsum(t2.bbbb, (0, 1, 2, 3), x147, (4, 2, 3, 5), (4, 0, 1, 5)) * 2.0 + del x147 + rdm2_f_bbbb_ooov += einsum(x148, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 + rdm2_f_bbbb_oovo += einsum(x148, (0, 1, 2, 3), (2, 1, 3, 0)) + del x148 + x149 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x149 += einsum(x37, (0, 1, 2, 3), (1, 0, 3, 2)) * -0.9999999999999798 + x149 += einsum(x39, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.9999999999999798 + x149 += einsum(x35, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.999999999999998 + x149 += einsum(x36, (0, 1, 2, 3), (0, 1, 3, 2)) + x150 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x150 += einsum(t1.bb, (0, 1), x149, (0, 2, 3, 4), (2, 3, 4, 1)) * 2.0000000000000404 + del x149 + rdm2_f_bbbb_ooov += einsum(x150, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 + rdm2_f_bbbb_oovo += einsum(x150, (0, 1, 2, 3), (2, 1, 3, 0)) + del x150 + x151 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x151 += einsum(l2.bbbb, (0, 1, 2, 3), t3.babbab, (4, 5, 3, 0, 6, 1), (2, 4, 5, 6)) + rdm2_f_abab_oovo += einsum(x151, (0, 1, 2, 3), (2, 1, 3, 0)) * -2.0 + x152 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x152 += einsum(l1.bb, (0, 1), t2.abab, (2, 3, 4, 0), (1, 3, 2, 4)) + rdm2_f_abab_oovo += einsum(x152, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 + x153 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x153 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x114, (0, 2, 6, 7, 3, 5), (6, 7, 1, 4)) + rdm2_f_abab_oovo += einsum(x153, (0, 1, 2, 3), (2, 1, 3, 0)) * -3.0 + x154 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x154 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x59, (2, 6, 3, 5, 1, 7), (6, 0, 7, 4)) * -1.0 + rdm2_f_abab_oovo += einsum(x154, (0, 1, 2, 3), (2, 1, 3, 0)) * 2.0 + x155 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x155 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x90, (1, 6, 7, 4, 2, 5), (6, 7, 0, 3)) + rdm2_f_abab_oovo += einsum(x155, (0, 1, 2, 3), (2, 1, 3, 0)) * -4.0 + x156 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x156 += einsum(t2.abab, (0, 1, 2, 3), x93, (1, 4, 5, 3, 0, 6), (4, 5, 6, 2)) + rdm2_f_abab_oovo += einsum(x156, (0, 1, 2, 3), (2, 1, 3, 0)) * 2.0 + x157 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x157 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x51, (6, 4, 0, 2, 7, 5), (6, 1, 7, 3)) * -1.0 + rdm2_f_abab_oovo += einsum(x157, (0, 1, 2, 3), (2, 1, 3, 0)) * 2.0 + x158 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x158 += einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), x85, (6, 7, 1, 2, 4, 5), (6, 7, 0, 3)) + rdm2_f_abab_oovo += einsum(x158, (0, 1, 2, 3), (2, 1, 3, 0)) * -3.0 + x159 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x159 += einsum(t2.aaaa, (0, 1, 2, 3), x88, (4, 5, 1, 0, 6, 3), (4, 5, 6, 2)) + rdm2_f_abab_oovo += einsum(x159, (0, 1, 2, 3), (2, 1, 3, 0)) * 2.0 + x160 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x160 += einsum(l2.abab, (0, 1, 2, 3), t3.abaaba, (4, 5, 2, 6, 1, 0), (3, 5, 4, 6)) + rdm2_f_abab_oovo += einsum(x160, (0, 1, 2, 3), (2, 1, 3, 0)) * -2.0 + x161 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) + x161 += einsum(t2.abab, (0, 1, 2, 3), l3.babbab, (4, 5, 3, 6, 0, 1), (6, 4, 5, 2)) + rdm2_f_abab_vvvo = np.zeros((nvir[0], nvir[1], nvir[0], nocc[1]), dtype=types[float]) + rdm2_f_abab_vvvo += einsum(x161, (0, 1, 2, 3), (2, 1, 3, 0)) * 2.0 + x162 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) + x162 += einsum(t2.aaaa, (0, 1, 2, 3), l3.abaaba, (4, 5, 3, 0, 6, 1), (6, 5, 4, 2)) + rdm2_f_abab_vvvo += einsum(x162, (0, 1, 2, 3), (2, 1, 3, 0)) * 2.0 + x163 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) + x163 += einsum(x161, (0, 1, 2, 3), (0, 1, 2, 3)) + x163 += einsum(x162, (0, 1, 2, 3), (0, 1, 2, 3)) + rdm2_f_abab_oovo += einsum(t2.abab, (0, 1, 2, 3), x163, (4, 3, 2, 5), (0, 1, 5, 4)) * 2.0 + rdm2_f_abab_ovvv += einsum(t2.abab, (0, 1, 2, 3), x163, (1, 4, 2, 5), (0, 4, 5, 3)) * -2.0 + rdm2_f_abab_vovv += einsum(t2.bbbb, (0, 1, 2, 3), x163, (1, 3, 4, 5), (4, 0, 5, 2)) * 4.0 + x164 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) + x164 += einsum(t1.aa, (0, 1), (0, 1)) * -1.0 + x164 += einsum(x54, (0, 1), (0, 1)) * -1.0 + del x54 + x164 += einsum(x55, (0, 1), (0, 1)) * -2.0 + del x55 + x164 += einsum(x56, (0, 1), (0, 1)) * -1.0 + del x56 + x164 += einsum(x57, (0, 1), (0, 1)) * -2.0 + del x57 + x164 += einsum(x58, (0, 1), (0, 1)) * -3.0 + del x58 + x164 += einsum(x60, (0, 1), (0, 1)) * 0.9999999999999601 + del x60 + x164 += einsum(x61, (0, 1), (0, 1)) * 1.9999999999999194 + del x61 + x164 += einsum(x62, (0, 1), (0, 1)) * 2.9999999999998788 + del x62 + x164 += einsum(x63, (0, 1), (0, 1)) + del x63 + x164 += einsum(x65, (0, 1), (0, 1)) + del x65 + x164 += einsum(x67, (0, 1), (0, 1)) + del x67 + rdm2_f_abab_oovo += einsum(delta.bb.oo, (0, 1), x164, (2, 3), (2, 0, 3, 1)) * -1.0 + rdm2_f_abab_oovv += einsum(t1.bb, (0, 1), x164, (2, 3), (2, 0, 3, 1)) * -1.0 + del x164 + x165 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x165 += einsum(t2.abab, (0, 1, 2, 3), x59, (4, 1, 5, 3, 0, 6), (4, 5, 6, 2)) + rdm2_f_abab_ovvo += einsum(x165, (0, 1, 2, 3), (2, 1, 3, 0)) * -2.0 + x166 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x166 += einsum(t2.abab, (0, 1, 2, 3), x165, (1, 3, 4, 5), (4, 0, 2, 5)) + x167 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x167 += einsum(l2.abab, (0, 1, 2, 3), t2.aaaa, (4, 2, 5, 0), (3, 1, 4, 5)) + rdm2_f_abab_ovvo += einsum(x167, (0, 1, 2, 3), (2, 1, 3, 0)) * 2.0 + x168 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x168 += einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), t3.babbab, (4, 6, 5, 1, 7, 2), (3, 0, 6, 7)) + rdm2_f_abab_ovvo += einsum(x168, (0, 1, 2, 3), (2, 1, 3, 0)) * 3.0 + x169 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x169 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.abaaba, (6, 5, 4, 7, 2, 1), (3, 0, 6, 7)) + rdm2_f_abab_ovvo += einsum(x169, (0, 1, 2, 3), (2, 1, 3, 0)) * 4.0 + x170 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x170 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.aaaaaa, (6, 3, 5, 7, 0, 2), (4, 1, 6, 7)) + rdm2_f_abab_ovvo += einsum(x170, (0, 1, 2, 3), (2, 1, 3, 0)) * 3.0 + x171 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x171 += einsum(x167, (0, 1, 2, 3), (0, 1, 2, 3)) + x171 += einsum(x168, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.5 + x171 += einsum(x169, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x171 += einsum(x170, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.5 + x172 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x172 += einsum(t2.abab, (0, 1, 2, 3), x171, (1, 3, 4, 5), (4, 0, 5, 2)) * 2.0 + del x171 + x173 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x173 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (3, 6, 5, 0, 7, 2), (4, 6, 1, 7)) + rdm2_f_aaaa_ovov += einsum(x173, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 + rdm2_f_aaaa_ovvo += einsum(x173, (0, 1, 2, 3), (1, 2, 3, 0)) + rdm2_f_aaaa_voov += einsum(x173, (0, 1, 2, 3), (2, 1, 0, 3)) + rdm2_f_aaaa_vovo += einsum(x173, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 + x174 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x174 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (6, 4, 5, 7, 1, 2), (3, 6, 0, 7)) + rdm2_f_aaaa_ovov += einsum(x174, (0, 1, 2, 3), (1, 2, 0, 3)) * -4.0 + rdm2_f_aaaa_ovvo += einsum(x174, (0, 1, 2, 3), (1, 2, 3, 0)) * 4.0 + rdm2_f_aaaa_voov += einsum(x174, (0, 1, 2, 3), (2, 1, 0, 3)) * 4.0 + rdm2_f_aaaa_vovo += einsum(x174, (0, 1, 2, 3), (2, 1, 3, 0)) * -4.0 + x175 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x175 += einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), t3.aaaaaa, (6, 4, 5, 7, 1, 2), (3, 6, 0, 7)) + rdm2_f_aaaa_ovov += einsum(x175, (0, 1, 2, 3), (1, 2, 0, 3)) * -9.0 + rdm2_f_aaaa_ovvo += einsum(x175, (0, 1, 2, 3), (1, 2, 3, 0)) * 9.0 + rdm2_f_aaaa_voov += einsum(x175, (0, 1, 2, 3), (2, 1, 0, 3)) * 9.0 + rdm2_f_aaaa_vovo += einsum(x175, (0, 1, 2, 3), (2, 1, 3, 0)) * -9.0 + x176 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x176 += einsum(x173, (0, 1, 2, 3), (0, 1, 2, 3)) + x176 += einsum(x174, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.0 + x176 += einsum(x175, (0, 1, 2, 3), (0, 1, 2, 3)) * 9.0 + x177 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x177 += einsum(t2.aaaa, (0, 1, 2, 3), x176, (1, 4, 3, 5), (4, 0, 5, 2)) * 2.0 + del x176 + x178 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x178 += einsum(t2.abab, (0, 1, 2, 3), x51, (1, 3, 4, 0, 5, 6), (4, 5, 6, 2)) + rdm2_f_aaaa_ovov += einsum(x178, (0, 1, 2, 3), (1, 2, 0, 3)) * 2.0 + rdm2_f_aaaa_ovvo += einsum(x178, (0, 1, 2, 3), (1, 2, 3, 0)) * -2.0 + rdm2_f_aaaa_voov += einsum(x178, (0, 1, 2, 3), (2, 1, 0, 3)) * -2.0 + rdm2_f_aaaa_vovo += einsum(x178, (0, 1, 2, 3), (2, 1, 3, 0)) * 2.0 + x179 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x179 += einsum(t2.aaaa, (0, 1, 2, 3), x45, (4, 1, 0, 5, 6, 3), (4, 5, 6, 2)) + rdm2_f_aaaa_ovov += einsum(x179, (0, 1, 2, 3), (1, 2, 0, 3)) * 6.0 + rdm2_f_aaaa_ovvo += einsum(x179, (0, 1, 2, 3), (1, 2, 3, 0)) * -6.0 + rdm2_f_aaaa_voov += einsum(x179, (0, 1, 2, 3), (2, 1, 0, 3)) * -6.0 + rdm2_f_aaaa_vovo += einsum(x179, (0, 1, 2, 3), (2, 1, 3, 0)) * 6.0 + x180 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x180 += einsum(t1.aa, (0, 1), x14, (2, 0, 3, 4), (2, 3, 1, 4)) + x181 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x181 += einsum(x178, (0, 1, 2, 3), (0, 1, 2, 3)) + x181 += einsum(x179, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0 + x181 += einsum(x180, (0, 1, 2, 3), (0, 1, 3, 2)) + x182 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x182 += einsum(t2.aaaa, (0, 1, 2, 3), x181, (1, 4, 3, 5), (4, 0, 5, 2)) * 4.0 + del x181 + x183 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x183 += einsum(t2.aaaa, (0, 1, 2, 3), x51, (4, 5, 0, 1, 6, 3), (4, 5, 6, 2)) * -1.0 + rdm2_f_abab_ovvo += einsum(x183, (0, 1, 2, 3), (2, 1, 3, 0)) * -2.0 + x184 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x184 += einsum(t1.aa, (0, 1), x21, (2, 3, 0, 4), (2, 3, 4, 1)) + x185 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x185 += einsum(x183, (0, 1, 2, 3), (0, 1, 2, 3)) + x185 += einsum(x184, (0, 1, 2, 3), (0, 1, 2, 3)) + del x184 + x186 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x186 += einsum(t2.abab, (0, 1, 2, 3), x185, (1, 3, 4, 5), (4, 0, 5, 2)) * 2.0 + del x185 + x187 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x187 += einsum(t2.abab, (0, 1, 2, 3), x19, (1, 3, 4, 5), (4, 5, 0, 2)) + x188 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x188 += einsum(t2.aaaa, (0, 1, 2, 3), x1, (4, 1, 5, 3), (4, 5, 0, 2)) * -1.0 + x189 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x189 += einsum(x187, (0, 1, 2, 3), (0, 1, 2, 3)) + del x187 + x189 += einsum(x188, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.0 + del x188 + x189 += einsum(x70, (0, 1, 2, 3), (0, 1, 2, 3)) + del x70 + x189 += einsum(x69, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 + del x69 + x189 += einsum(x71, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.0 + del x71 + x189 += einsum(x72, (0, 1, 2, 3), (0, 1, 2, 3)) * 9.0 + del x72 + x190 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x190 += einsum(t1.aa, (0, 1), x189, (0, 2, 3, 4), (2, 3, 4, 1)) + del x189 + x191 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x191 += einsum(x166, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 + del x166 + x191 += einsum(x172, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x172 + x191 += einsum(x177, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x177 + x191 += einsum(x182, (0, 1, 2, 3), (0, 1, 2, 3)) + del x182 + x191 += einsum(x186, (0, 1, 2, 3), (0, 1, 2, 3)) + del x186 + x191 += einsum(x190, (0, 1, 2, 3), (0, 1, 3, 2)) + del x190 + x191 += einsum(t1.aa, (0, 1), x68, (2, 3), (0, 2, 1, 3)) + del x68 + rdm2_f_aaaa_oovv += einsum(x191, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + rdm2_f_aaaa_oovv += einsum(x191, (0, 1, 2, 3), (0, 1, 3, 2)) + rdm2_f_aaaa_oovv += einsum(x191, (0, 1, 2, 3), (1, 0, 2, 3)) + rdm2_f_aaaa_oovv += einsum(x191, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x191 + x192 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x192 += einsum(x11, (0, 1), t2.aaaa, (2, 0, 3, 4), (1, 2, 3, 4)) + x193 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x193 += einsum(x74, (0, 1, 2, 3), t3.abaaba, (4, 0, 2, 5, 1, 6), (4, 3, 5, 6)) * -2.0 + del x74 + x194 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x194 += einsum(x1, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + x194 += einsum(x12, (0, 1, 2, 3), (0, 1, 2, 3)) + x195 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x195 += einsum(x194, (0, 1, 2, 3), t3.aaaaaa, (4, 0, 1, 5, 6, 3), (2, 4, 5, 6)) * -6.0 + del x194 + x196 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x196 += einsum(t1.aa, (0, 1), x14, (2, 3, 4, 1), (0, 2, 3, 4)) * 0.3333333333333333 + del x14 + x197 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x197 += einsum(t2.aaaa, (0, 1, 2, 3), (0, 1, 2, 3)) + x197 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 1, 3)) + x198 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x198 += einsum(x196, (0, 1, 2, 3), x197, (1, 2, 4, 5), (0, 3, 4, 5)) * 6.0 + del x196, x197 + x199 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x199 += einsum(x5, (0, 1), (0, 1)) * 0.5000000000000203 + x199 += einsum(x6, (0, 1), (0, 1)) * 1.0000000000000406 + x199 += einsum(x8, (0, 1), (0, 1)) + x200 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x200 += einsum(x199, (0, 1), t2.aaaa, (2, 0, 3, 4), (1, 2, 3, 4)) * -3.999999999999838 + del x199 + x201 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x201 += einsum(x192, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 + del x192 + x201 += einsum(x193, (0, 1, 2, 3), (1, 0, 3, 2)) + del x193 + x201 += einsum(x195, (0, 1, 2, 3), (0, 1, 2, 3)) + del x195 + x201 += einsum(x198, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x198 + x201 += einsum(x200, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x200 + rdm2_f_aaaa_oovv += einsum(x201, (0, 1, 2, 3), (0, 1, 2, 3)) + rdm2_f_aaaa_oovv += einsum(x201, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x201 + x202 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x202 += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 3, 5, 1), (2, 4, 0, 5)) + rdm2_f_aaaa_ovov += einsum(x202, (0, 1, 2, 3), (1, 2, 0, 3)) * -4.0 + rdm2_f_aaaa_ovvo += einsum(x202, (0, 1, 2, 3), (1, 2, 3, 0)) * 4.0 + rdm2_f_aaaa_voov += einsum(x202, (0, 1, 2, 3), (2, 1, 0, 3)) * 4.0 + rdm2_f_aaaa_vovo += einsum(x202, (0, 1, 2, 3), (2, 1, 3, 0)) * -4.0 + x203 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x203 += einsum(t2.aaaa, (0, 1, 2, 3), x202, (1, 4, 3, 5), (0, 4, 2, 5)) + x204 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x204 += einsum(x163, (0, 1, 2, 3), t3.abaaba, (4, 0, 5, 6, 1, 2), (4, 5, 3, 6)) * -4.0 + x205 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x205 += einsum(x79, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + del x79 + x205 += einsum(x80, (0, 1, 2, 3), (0, 2, 1, 3)) * -3.0 + del x80 + rdm2_f_abab_vovv += einsum(t2.abab, (0, 1, 2, 3), x205, (0, 4, 2, 5), (4, 1, 5, 3)) * -2.0 + x206 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x206 += einsum(x205, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 0, 6, 1, 2), (4, 5, 3, 6)) * -6.0 + x207 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x207 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 4, 1), (0, 4)) + x208 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x208 += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (2, 3, 4, 1), (0, 4)) + x209 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x209 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (3, 4, 5, 0, 6, 2), (1, 6)) + x210 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x210 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (3, 4, 5, 6, 1, 2), (0, 6)) + x211 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x211 += einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), t3.aaaaaa, (3, 4, 5, 6, 1, 2), (0, 6)) + x212 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x212 += einsum(x207, (0, 1), (0, 1)) + x212 += einsum(x208, (0, 1), (0, 1)) * 2.0 + x212 += einsum(x209, (0, 1), (0, 1)) * 0.9999999999999597 + x212 += einsum(x210, (0, 1), (0, 1)) * 1.999999999999919 + x212 += einsum(x211, (0, 1), (0, 1)) * 2.999999999999883 + x213 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x213 += einsum(x212, (0, 1), t2.aaaa, (2, 3, 4, 0), (2, 3, 1, 4)) * -2.0 + del x212 + x214 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x214 += einsum(t2.aaaa, (0, 1, 2, 3), x205, (4, 2, 3, 5), (4, 0, 1, 5)) + x215 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x215 += einsum(x50, (0, 1, 2, 3), (0, 2, 1, 3)) + del x50 + x215 += einsum(x49, (0, 1, 2, 3), (0, 2, 1, 3)) + del x49 + x215 += einsum(x48, (0, 1, 2, 3), (0, 2, 1, 3)) * 3.0 + del x48 + x215 += einsum(x53, (0, 1, 2, 3), (0, 2, 1, 3)) + del x53 + x215 += einsum(x47, (0, 1, 2, 3), (0, 2, 1, 3)) * 3.0 + del x47 + x215 += einsum(x214, (0, 1, 2, 3), (0, 2, 1, 3)) + del x214 + x216 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x216 += einsum(t1.aa, (0, 1), x215, (0, 2, 3, 4), (2, 3, 4, 1)) * 2.0 + del x215 + x217 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x217 += einsum(x203, (0, 1, 2, 3), (0, 1, 2, 3)) * 8.0 + del x203 + x217 += einsum(x204, (0, 1, 2, 3), (1, 0, 2, 3)) + del x204 + x217 += einsum(x206, (0, 1, 2, 3), (0, 1, 2, 3)) + del x206 + x217 += einsum(x213, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x213 + x217 += einsum(x216, (0, 1, 2, 3), (1, 0, 3, 2)) + del x216 + rdm2_f_aaaa_oovv += einsum(x217, (0, 1, 2, 3), (0, 1, 2, 3)) + rdm2_f_aaaa_oovv += einsum(x217, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x217 + x218 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x218 += einsum(l2.bbbb, (0, 1, 2, 3), t2.abab, (4, 3, 5, 1), (2, 0, 4, 5)) + rdm2_f_abab_ovvo += einsum(x218, (0, 1, 2, 3), (2, 1, 3, 0)) * 2.0 + x219 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x219 += einsum(t2.abab, (0, 1, 2, 3), x218, (1, 3, 4, 5), (4, 0, 5, 2)) + x220 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x220 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 1, 3)) + x220 += einsum(x219, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 + del x219 + rdm2_f_aaaa_oovv += einsum(x220, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + rdm2_f_aaaa_oovv += einsum(x220, (0, 1, 2, 3), (0, 1, 2, 3)) + del x220 + x221 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x221 += einsum(x20, (0, 1, 2, 3), t3.abaaba, (4, 0, 2, 5, 1, 6), (3, 4, 5, 6)) + x222 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x222 += einsum(x13, (0, 1, 2, 3), t3.aaaaaa, (4, 0, 1, 5, 6, 3), (2, 4, 5, 6)) + x223 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x223 += einsum(x7, (0, 1), (0, 1)) + x223 += einsum(x9, (0, 1), (0, 1)) * 3.000000000000004 + x224 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x224 += einsum(x223, (0, 1), t2.aaaa, (2, 0, 3, 4), (1, 2, 3, 4)) * -1.9999999999999194 + del x223 + x225 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x225 += einsum(x221, (0, 1, 2, 3), (0, 1, 3, 2)) * -4.0 + del x221 + x225 += einsum(x222, (0, 1, 2, 3), (0, 1, 2, 3)) * -18.0 + del x222 + x225 += einsum(x224, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x224 + rdm2_f_aaaa_oovv += einsum(x225, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + rdm2_f_aaaa_oovv += einsum(x225, (0, 1, 2, 3), (1, 0, 3, 2)) + del x225 + x226 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x226 += einsum(t2.aaaa, (0, 1, 2, 3), l3.abaaba, (2, 4, 3, 5, 6, 7), (6, 4, 5, 7, 0, 1)) + x226 += einsum(x52, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * 1.0000000000000606 + del x52 + rdm2_f_aaaa_oovv += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x226, (1, 4, 0, 2, 6, 7), (6, 7, 3, 5)) * 1.9999999999999194 + del x226 + x227 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x227 += einsum(t2.aaaa, (0, 1, 2, 3), l3.aaaaaa, (4, 2, 3, 5, 6, 7), (5, 6, 7, 0, 1, 4)) + x227 += einsum(x46, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0000000000000584 + del x46 + rdm2_f_aaaa_oovv += einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), x227, (0, 1, 2, 6, 7, 5), (6, 7, 3, 4)) * 5.999999999999766 + del x227 + x228 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x228 += einsum(x0, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0000000000000404 + x228 += einsum(x2, (0, 1, 2, 3), (0, 1, 3, 2)) * 1.0000000000000404 + x228 += einsum(x3, (0, 1, 2, 3), (0, 1, 3, 2)) + x228 += einsum(x4, (0, 1, 2, 3), (0, 1, 3, 2)) * 3.000000000000004 + rdm2_f_aaaa_oovv += einsum(t2.aaaa, (0, 1, 2, 3), x228, (0, 1, 4, 5), (5, 4, 2, 3)) * 1.9999999999999194 + del x228 + x229 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) + x229 += einsum(x0, (0, 1, 2, 3), (1, 0, 3, 2)) * -0.9999999999999799 + del x0 + x229 += einsum(x2, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.9999999999999799 + del x2 + x229 += einsum(x3, (0, 1, 2, 3), (0, 1, 3, 2)) + del x3 + x229 += einsum(x4, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.999999999999998 + del x4 + x230 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x230 += einsum(t1.aa, (0, 1), x229, (0, 2, 3, 4), (2, 4, 3, 1)) * -0.3333333333333336 + del x229 + rdm2_f_aaaa_oovv += einsum(t1.aa, (0, 1), x230, (0, 2, 3, 4), (2, 3, 4, 1)) * -6.000000000000116 + del x230 + x231 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x231 += einsum(t2.abab, (0, 1, 2, 3), l3.abaaba, (4, 3, 2, 5, 6, 7), (6, 1, 5, 7, 0, 4)) + x231 += einsum(x88, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0000000000000606 + del x88 + rdm2_f_abab_oovv += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x231, (1, 6, 0, 2, 7, 5), (7, 6, 3, 4)) * -1.9999999999999194 + del x231 + x232 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x232 += einsum(t2.abab, (0, 1, 2, 3), l3.babbab, (4, 2, 3, 5, 6, 7), (5, 7, 1, 4, 6, 0)) + x232 += einsum(x93, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 1.0000000000000606 + del x93 + rdm2_f_abab_oovv += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x232, (0, 2, 6, 5, 1, 7), (7, 6, 4, 3)) * -1.9999999999999194 + del x232 + x233 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x233 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), (1, 4, 0, 2, 3, 5)) + x233 += einsum(t1.aa, (0, 1), t2.abab, (2, 3, 4, 5), (3, 5, 0, 2, 4, 1)) * -0.5 + rdm2_f_abab_oovv += einsum(x101, (0, 1, 2, 3), x233, (4, 0, 2, 5, 3, 6), (5, 4, 6, 1)) * -4.0 + del x233 + x234 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x234 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), (0, 2, 3, 5, 1, 4)) + x234 += einsum(t1.bb, (0, 1), t2.abab, (2, 3, 4, 5), (0, 3, 5, 1, 2, 4)) * -0.5 + rdm2_f_abab_oovv += einsum(x163, (0, 1, 2, 3), x234, (0, 4, 1, 5, 6, 2), (6, 4, 3, 5)) * -4.0 + del x163, x234 + x235 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x235 += einsum(x103, (0, 1, 2, 3), (0, 1, 2, 3)) + x235 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x235 += einsum(x24, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + del x24 + rdm2_f_abab_oovv += einsum(x235, (0, 1, 2, 3), t3.abaaba, (4, 0, 2, 5, 6, 3), (4, 1, 5, 6)) * -2.0 + rdm2_f_abab_vovv += einsum(t2.abab, (0, 1, 2, 3), x235, (1, 4, 0, 5), (5, 4, 2, 3)) * -1.0 + x236 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x236 += einsum(l2.abab, (0, 1, 2, 3), t2.bbbb, (4, 3, 5, 1), (4, 5, 2, 0)) + rdm2_f_abab_voov += einsum(x236, (0, 1, 2, 3), (3, 0, 2, 1)) * 2.0 + x237 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x237 += einsum(l2.aaaa, (0, 1, 2, 3), t2.abab, (3, 4, 1, 5), (4, 5, 2, 0)) + rdm2_f_abab_voov += einsum(x237, (0, 1, 2, 3), (3, 0, 2, 1)) * 2.0 + x238 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x238 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.bbbbbb, (6, 3, 5, 7, 0, 2), (6, 7, 4, 1)) + rdm2_f_abab_voov += einsum(x238, (0, 1, 2, 3), (3, 0, 2, 1)) * 3.0 + x239 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x239 += einsum(t2.bbbb, (0, 1, 2, 3), x90, (0, 1, 4, 3, 5, 6), (4, 2, 5, 6)) * -1.0 + rdm2_f_abab_voov += einsum(x239, (0, 1, 2, 3), (3, 0, 2, 1)) * -2.0 + x240 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x240 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.babbab, (6, 5, 4, 7, 2, 1), (6, 7, 3, 0)) + rdm2_f_abab_voov += einsum(x240, (0, 1, 2, 3), (3, 0, 2, 1)) * 4.0 + x241 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x241 += einsum(t2.abab, (0, 1, 2, 3), x85, (1, 4, 5, 0, 6, 2), (4, 3, 5, 6)) + rdm2_f_abab_voov += einsum(x241, (0, 1, 2, 3), (3, 0, 2, 1)) * -2.0 + x242 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x242 += einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), t3.abaaba, (4, 6, 5, 1, 7, 2), (6, 7, 3, 0)) + rdm2_f_abab_voov += einsum(x242, (0, 1, 2, 3), (3, 0, 2, 1)) * 3.0 + x243 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x243 += einsum(x236, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.6666666666666666 + x243 += einsum(x237, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.6666666666666666 + x243 += einsum(x238, (0, 1, 2, 3), (0, 1, 2, 3)) + x243 += einsum(x239, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.6666666666666666 + x243 += einsum(x240, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.3333333333333333 + x243 += einsum(x241, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.6666666666666666 + x243 += einsum(x242, (0, 1, 2, 3), (0, 1, 2, 3)) + x243 += einsum(t1.bb, (0, 1), x25, (0, 2, 3, 4), (2, 1, 3, 4)) * -0.6666666666666666 + rdm2_f_abab_oovv += einsum(t2.aaaa, (0, 1, 2, 3), x243, (4, 5, 1, 3), (0, 4, 2, 5)) * 6.0 + del x243 + x244 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x244 += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 3, 5, 1), (2, 4, 0, 5)) + rdm2_f_bbbb_ovov += einsum(x244, (0, 1, 2, 3), (1, 2, 0, 3)) * -4.0 + rdm2_f_bbbb_ovvo += einsum(x244, (0, 1, 2, 3), (1, 2, 3, 0)) * 4.0 + rdm2_f_bbbb_voov += einsum(x244, (0, 1, 2, 3), (2, 1, 0, 3)) * 4.0 + rdm2_f_bbbb_vovo += einsum(x244, (0, 1, 2, 3), (2, 1, 3, 0)) * -4.0 + x245 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x245 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 5), (3, 4, 1, 5)) + rdm2_f_bbbb_ovov += einsum(x245, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 + rdm2_f_bbbb_ovvo += einsum(x245, (0, 1, 2, 3), (1, 2, 3, 0)) + rdm2_f_bbbb_voov += einsum(x245, (0, 1, 2, 3), (2, 1, 0, 3)) + rdm2_f_bbbb_vovo += einsum(x245, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 + x246 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x246 += einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), t3.bbbbbb, (6, 4, 5, 7, 1, 2), (3, 6, 0, 7)) + rdm2_f_bbbb_ovov += einsum(x246, (0, 1, 2, 3), (1, 2, 0, 3)) * -9.0 + rdm2_f_bbbb_ovvo += einsum(x246, (0, 1, 2, 3), (1, 2, 3, 0)) * 9.0 + rdm2_f_bbbb_voov += einsum(x246, (0, 1, 2, 3), (2, 1, 0, 3)) * 9.0 + rdm2_f_bbbb_vovo += einsum(x246, (0, 1, 2, 3), (2, 1, 3, 0)) * -9.0 + x247 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x247 += einsum(t2.bbbb, (0, 1, 2, 3), x114, (4, 1, 0, 5, 6, 3), (4, 5, 6, 2)) + rdm2_f_bbbb_ovov += einsum(x247, (0, 1, 2, 3), (1, 2, 0, 3)) * 6.0 + rdm2_f_bbbb_ovvo += einsum(x247, (0, 1, 2, 3), (1, 2, 3, 0)) * -6.0 + rdm2_f_bbbb_voov += einsum(x247, (0, 1, 2, 3), (2, 1, 0, 3)) * -6.0 + rdm2_f_bbbb_vovo += einsum(x247, (0, 1, 2, 3), (2, 1, 3, 0)) * 6.0 + x248 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x248 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (6, 4, 5, 7, 1, 2), (3, 6, 0, 7)) + rdm2_f_bbbb_ovov += einsum(x248, (0, 1, 2, 3), (1, 2, 0, 3)) * -4.0 + rdm2_f_bbbb_ovvo += einsum(x248, (0, 1, 2, 3), (1, 2, 3, 0)) * 4.0 + rdm2_f_bbbb_voov += einsum(x248, (0, 1, 2, 3), (2, 1, 0, 3)) * 4.0 + rdm2_f_bbbb_vovo += einsum(x248, (0, 1, 2, 3), (2, 1, 3, 0)) * -4.0 + x249 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x249 += einsum(t2.abab, (0, 1, 2, 3), x90, (4, 1, 5, 6, 0, 2), (4, 5, 6, 3)) + rdm2_f_bbbb_ovov += einsum(x249, (0, 1, 2, 3), (1, 2, 0, 3)) * 2.0 + rdm2_f_bbbb_ovvo += einsum(x249, (0, 1, 2, 3), (1, 2, 3, 0)) * -2.0 + rdm2_f_bbbb_voov += einsum(x249, (0, 1, 2, 3), (2, 1, 0, 3)) * -2.0 + rdm2_f_bbbb_vovo += einsum(x249, (0, 1, 2, 3), (2, 1, 3, 0)) * 2.0 + x250 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x250 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (3, 6, 5, 0, 7, 2), (4, 6, 1, 7)) + rdm2_f_bbbb_ovov += einsum(x250, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 + rdm2_f_bbbb_ovvo += einsum(x250, (0, 1, 2, 3), (1, 2, 3, 0)) + rdm2_f_bbbb_voov += einsum(x250, (0, 1, 2, 3), (2, 1, 0, 3)) + rdm2_f_bbbb_vovo += einsum(x250, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 + x251 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x251 += einsum(x244, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.0 + x251 += einsum(x245, (0, 1, 2, 3), (0, 1, 2, 3)) + x251 += einsum(x246, (0, 1, 2, 3), (0, 1, 2, 3)) * 9.0 + x251 += einsum(x247, (0, 1, 2, 3), (0, 1, 2, 3)) * -6.0 + x251 += einsum(x248, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.0 + x251 += einsum(x249, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 + x251 += einsum(x250, (0, 1, 2, 3), (0, 1, 2, 3)) + x251 += einsum(t1.bb, (0, 1), x42, (2, 0, 3, 4), (2, 3, 4, 1)) * -6.0 + rdm2_f_abab_oovv += einsum(t2.abab, (0, 1, 2, 3), x251, (1, 4, 3, 5), (0, 4, 2, 5)) + del x251 + x252 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x252 += einsum(x173, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 + x252 += einsum(x174, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 + x252 += einsum(x178, (0, 1, 2, 3), (0, 1, 2, 3)) + x252 += einsum(x175, (0, 1, 2, 3), (0, 1, 2, 3)) * -4.5 + x252 += einsum(x179, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0 + x252 += einsum(x180, (0, 1, 2, 3), (0, 1, 3, 2)) + del x180 + rdm2_f_abab_oovv += einsum(t2.abab, (0, 1, 2, 3), x252, (0, 4, 2, 5), (4, 1, 5, 3)) * -2.0 + del x252 + x253 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x253 += einsum(x20, (0, 1, 2, 3), (0, 1, 2, 3)) + del x20 + x253 += einsum(x21, (0, 1, 2, 3), (0, 1, 2, 3)) + del x21 + x254 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x254 += einsum(x168, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.5 + x254 += einsum(x169, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 + x254 += einsum(x165, (0, 1, 2, 3), (0, 1, 2, 3)) + x254 += einsum(x170, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.5 + x254 += einsum(x183, (0, 1, 2, 3), (0, 1, 2, 3)) + x254 += einsum(t1.aa, (0, 1), x253, (2, 3, 0, 4), (2, 3, 4, 1)) + rdm2_f_abab_oovv += einsum(t2.bbbb, (0, 1, 2, 3), x254, (1, 3, 4, 5), (4, 0, 5, 2)) * -4.0 + del x254 + x255 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + x255 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 5, 1), (3, 4, 0, 5)) + rdm2_f_abab_vovo += einsum(x255, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 + x256 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + x256 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (6, 4, 5, 0, 7, 2), (3, 6, 1, 7)) + rdm2_f_abab_vovo += einsum(x256, (0, 1, 2, 3), (2, 1, 3, 0)) * -2.0 + x257 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + x257 += einsum(t2.abab, (0, 1, 2, 3), x90, (4, 1, 5, 3, 0, 6), (4, 5, 6, 2)) * -1.0 + rdm2_f_abab_vovo += einsum(x257, (0, 1, 2, 3), (2, 1, 3, 0)) * -2.0 + x258 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + x258 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (3, 6, 5, 7, 1, 2), (4, 6, 0, 7)) + rdm2_f_abab_vovo += einsum(x258, (0, 1, 2, 3), (2, 1, 3, 0)) * -2.0 + x259 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + x259 += einsum(t2.aaaa, (0, 1, 2, 3), x85, (4, 5, 0, 1, 6, 3), (4, 5, 6, 2)) + del x85 + rdm2_f_abab_vovo += einsum(x259, (0, 1, 2, 3), (2, 1, 3, 0)) * -2.0 + x260 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + x260 += einsum(x255, (0, 1, 2, 3), (0, 1, 2, 3)) + x260 += einsum(x256, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x260 += einsum(x257, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x260 += einsum(x258, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x260 += einsum(x259, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + x260 += einsum(t1.aa, (0, 1), x25, (2, 3, 0, 4), (2, 3, 4, 1)) * 2.0 + rdm2_f_abab_oovv += einsum(t2.abab, (0, 1, 2, 3), x260, (1, 4, 2, 5), (0, 4, 5, 3)) + del x260 + x261 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x261 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (3, 6, 5, 7, 1, 2), (0, 7, 4, 6)) + rdm2_f_abab_ovov += einsum(x261, (0, 1, 2, 3), (3, 0, 2, 1)) * -2.0 + x262 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x262 += einsum(t2.bbbb, (0, 1, 2, 3), x59, (0, 1, 4, 3, 5, 6), (4, 2, 5, 6)) + del x59 + rdm2_f_abab_ovov += einsum(x262, (0, 1, 2, 3), (3, 0, 2, 1)) * -2.0 + x263 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x263 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (6, 4, 5, 0, 7, 2), (1, 7, 3, 6)) + rdm2_f_abab_ovov += einsum(x263, (0, 1, 2, 3), (3, 0, 2, 1)) * -2.0 + x264 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x264 += einsum(t2.abab, (0, 1, 2, 3), x51, (1, 4, 5, 0, 6, 2), (4, 3, 5, 6)) * -1.0 + rdm2_f_abab_ovov += einsum(x264, (0, 1, 2, 3), (3, 0, 2, 1)) * -2.0 + x265 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x265 += einsum(x261, (0, 1, 2, 3), (0, 1, 2, 3)) + x265 += einsum(x262, (0, 1, 2, 3), (0, 1, 2, 3)) + x265 += einsum(x263, (0, 1, 2, 3), (0, 1, 2, 3)) + x265 += einsum(x264, (0, 1, 2, 3), (0, 1, 2, 3)) + x265 += einsum(t1.bb, (0, 1), x253, (0, 2, 3, 4), (2, 1, 3, 4)) + del x253 + rdm2_f_abab_oovv += einsum(t2.abab, (0, 1, 2, 3), x265, (3, 4, 0, 5), (5, 1, 2, 4)) * 2.0 + del x265 + x266 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) + x266 += einsum(t1.bb, (0, 1), x105, (2, 1, 3, 4), (2, 0, 3, 4)) + del x105 + x267 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) + x267 += einsum(x18, (0, 1, 2, 3), (0, 1, 2, 3)) + x267 += einsum(x17, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.9999999999999194 + x267 += einsum(x16, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.9999999999999194 + x267 += einsum(x266, (0, 1, 2, 3), (0, 1, 2, 3)) + x267 += einsum(x26, (0, 1, 2, 3), (0, 1, 3, 2)) + rdm2_f_abab_oovv += einsum(t2.abab, (0, 1, 2, 3), x267, (1, 4, 0, 5), (5, 4, 2, 3)) + del x267 + x268 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) + x268 += einsum(x18, (0, 1, 2, 3), (0, 1, 2, 3)) + del x18 + x268 += einsum(x17, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.000000000000041 + del x17 + x268 += einsum(x16, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.000000000000041 + del x16 + x268 += einsum(x266, (0, 1, 2, 3), (0, 1, 2, 3)) + del x266 + x268 += einsum(x26, (0, 1, 2, 3), (0, 1, 3, 2)) + del x26 + x269 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x269 += einsum(x96, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.3333333333333333 + del x96 + x269 += einsum(x98, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.6666666666666666 + del x98 + x269 += einsum(t2.abab, (0, 1, 2, 3), x103, (1, 4, 5, 2), (4, 3, 5, 0)) * 0.3333333333333333 + x269 += einsum(t2.bbbb, (0, 1, 2, 3), x19, (1, 3, 4, 5), (0, 2, 4, 5)) * -0.6666666666666666 + x269 += einsum(x97, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.6666666666666666 + del x97 + x269 += einsum(t2.abab, (0, 1, 2, 3), x1, (4, 0, 5, 2), (1, 3, 4, 5)) * 0.6666666666666666 + x269 += einsum(x91, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.6666666666666666 + del x91 + x269 += einsum(x92, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x92 + x269 += einsum(x94, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.6666666666666666 + del x94 + x269 += einsum(x86, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.6666666666666666 + del x86 + x269 += einsum(x87, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.3333333333333333 + del x87 + x269 += einsum(x89, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.6666666666666666 + del x89 + x269 += einsum(x95, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x95 + x269 += einsum(t1.bb, (0, 1), x268, (0, 2, 3, 4), (2, 1, 3, 4)) * 0.3333333333333333 + del x268 + rdm2_f_abab_oovv += einsum(t1.aa, (0, 1), x269, (2, 3, 0, 4), (4, 2, 1, 3)) * 3.0 + del x269 + x270 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x270 += einsum(x207, (0, 1), (0, 1)) * 0.3333333333333468 + x270 += einsum(x208, (0, 1), (0, 1)) * 0.6666666666666936 + x270 += einsum(x209, (0, 1), (0, 1)) * 0.33333333333333354 + x270 += einsum(x210, (0, 1), (0, 1)) * 0.6666666666666667 + x270 += einsum(x211, (0, 1), (0, 1)) + rdm2_f_abab_oovv += einsum(x270, (0, 1), t2.abab, (2, 3, 0, 4), (2, 3, 1, 4)) * -2.9999999999998788 + del x270 + x271 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x271 += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (2, 3, 4, 1), (0, 4)) + x272 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x272 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 0, 4), (1, 4)) + x273 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x273 += einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), t3.bbbbbb, (3, 4, 5, 6, 1, 2), (0, 6)) + x274 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x274 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (3, 4, 5, 6, 1, 2), (0, 6)) + x275 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x275 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (3, 4, 5, 0, 6, 2), (1, 6)) + x276 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x276 += einsum(x271, (0, 1), (0, 1)) * 2.0 + x276 += einsum(x272, (0, 1), (0, 1)) + x276 += einsum(x273, (0, 1), (0, 1)) * 2.9999999999998788 + x276 += einsum(x274, (0, 1), (0, 1)) * 1.9999999999999194 + x276 += einsum(x275, (0, 1), (0, 1)) * 0.9999999999999601 + rdm2_f_abab_oovv += einsum(x276, (0, 1), t2.abab, (2, 3, 4, 0), (2, 3, 4, 1)) * -1.0 + del x276 + x277 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x277 += einsum(x152, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 + del x152 + x277 += einsum(x151, (0, 1, 2, 3), (0, 1, 2, 3)) + del x151 + x277 += einsum(t2.abab, (0, 1, 2, 3), x38, (4, 1, 5, 3), (4, 5, 0, 2)) * -1.0 + x277 += einsum(x160, (0, 1, 2, 3), (0, 1, 2, 3)) + del x160 + x277 += einsum(t2.aaaa, (0, 1, 2, 3), x103, (4, 5, 1, 3), (4, 5, 0, 2)) + x277 += einsum(t2.abab, (0, 1, 2, 3), x19, (4, 3, 0, 5), (4, 1, 5, 2)) * -0.5 + del x19 + x277 += einsum(x153, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.5 + del x153 + x277 += einsum(x155, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + del x155 + x277 += einsum(x154, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x154 + x277 += einsum(x156, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x156 + x277 += einsum(x158, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.5 + del x158 + x277 += einsum(x157, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x157 + x277 += einsum(x159, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x159 + rdm2_f_abab_oovv += einsum(t1.bb, (0, 1), x277, (0, 2, 3, 4), (3, 2, 4, 1)) * -2.0 + del x277 + x278 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) + x278 += einsum(x11, (0, 1), (0, 1)) * 0.3333333333333468 + del x11 + x278 += einsum(x5, (0, 1), (0, 1)) * 0.3333333333333468 + del x5 + x278 += einsum(x6, (0, 1), (0, 1)) * 0.6666666666666936 + del x6 + x278 += einsum(x7, (0, 1), (0, 1)) * 0.33333333333333354 + del x7 + x278 += einsum(x8, (0, 1), (0, 1)) * 0.6666666666666667 + del x8 + x278 += einsum(x9, (0, 1), (0, 1)) + del x9 + rdm2_f_abab_oovv += einsum(x278, (0, 1), t2.abab, (0, 2, 3, 4), (1, 2, 3, 4)) * -2.9999999999998788 + del x278 + x279 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x279 += einsum(t2.bbbb, (0, 1, 2, 3), x249, (1, 4, 3, 5), (4, 0, 2, 5)) * -1.0 + x280 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x280 += einsum(t2.abab, (0, 1, 2, 3), x241, (4, 5, 0, 2), (4, 1, 3, 5)) + x281 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x281 += einsum(x245, (0, 1, 2, 3), (0, 1, 2, 3)) + x281 += einsum(x246, (0, 1, 2, 3), (0, 1, 2, 3)) * 9.0 + x281 += einsum(x248, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.0 + x281 += einsum(x250, (0, 1, 2, 3), (0, 1, 2, 3)) + x282 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x282 += einsum(t2.bbbb, (0, 1, 2, 3), x281, (1, 4, 3, 5), (4, 0, 5, 2)) * 2.0 + del x281 + x283 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x283 += einsum(x238, (0, 1, 2, 3), (0, 1, 2, 3)) + x283 += einsum(x240, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.3333333333333333 + x283 += einsum(x242, (0, 1, 2, 3), (0, 1, 2, 3)) + x284 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x284 += einsum(t2.abab, (0, 1, 2, 3), x283, (4, 5, 0, 2), (4, 1, 5, 3)) * 3.0 + del x283 + x285 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x285 += einsum(t1.bb, (0, 1), x40, (0, 2, 3, 4), (2, 3, 4, 1)) * -1.0 + x286 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x286 += einsum(x247, (0, 1, 2, 3), (0, 1, 2, 3)) + x286 += einsum(x285, (0, 1, 2, 3), (0, 1, 2, 3)) + del x285 + x287 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x287 += einsum(t2.bbbb, (0, 1, 2, 3), x286, (1, 4, 3, 5), (4, 0, 5, 2)) * 12.0 + del x286 + x288 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x288 += einsum(t1.bb, (0, 1), x23, (0, 2, 3, 4), (2, 1, 3, 4)) + del x23 + x289 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x289 += einsum(x239, (0, 1, 2, 3), (0, 1, 2, 3)) + x289 += einsum(x288, (0, 1, 2, 3), (0, 1, 2, 3)) + del x288 + x290 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x290 += einsum(t2.abab, (0, 1, 2, 3), x289, (4, 5, 0, 2), (4, 1, 5, 3)) * 2.0 + del x289 + x291 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x291 += einsum(t2.bbbb, (0, 1, 2, 3), x38, (4, 1, 5, 3), (4, 5, 0, 2)) * -1.0 + x292 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x292 += einsum(t2.abab, (0, 1, 2, 3), x103, (4, 5, 0, 2), (4, 5, 1, 3)) + x293 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x293 += einsum(t2.bbbb, (0, 1, 2, 3), x41, (1, 4, 5, 3), (4, 0, 5, 2)) * -1.0 + x294 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x294 += einsum(x291, (0, 1, 2, 3), (0, 1, 2, 3)) + del x291 + x294 += einsum(x292, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.25 + del x292 + x294 += einsum(x132, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.25 + del x132 + x294 += einsum(x135, (0, 1, 2, 3), (0, 1, 2, 3)) + del x135 + x294 += einsum(x293, (0, 1, 2, 3), (0, 1, 2, 3)) + del x293 + x294 += einsum(x137, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.25 + del x137 + x294 += einsum(x136, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 + del x136 + x295 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x295 += einsum(t1.bb, (0, 1), x294, (0, 2, 3, 4), (2, 3, 4, 1)) * 4.0 + del x294 + x296 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x296 += einsum(x279, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.0 + del x279 + x296 += einsum(x280, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 + del x280 + x296 += einsum(x282, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x282 + x296 += einsum(x284, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x284 + x296 += einsum(x287, (0, 1, 2, 3), (0, 1, 2, 3)) + del x287 + x296 += einsum(x290, (0, 1, 2, 3), (0, 1, 2, 3)) + del x290 + x296 += einsum(x295, (0, 1, 2, 3), (0, 1, 3, 2)) + del x295 + x296 += einsum(t1.bb, (0, 1), x131, (2, 3), (0, 2, 1, 3)) * 2.0 + del x131 + rdm2_f_bbbb_oovv += einsum(x296, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + rdm2_f_bbbb_oovv += einsum(x296, (0, 1, 2, 3), (0, 1, 3, 2)) + rdm2_f_bbbb_oovv += einsum(x296, (0, 1, 2, 3), (1, 0, 2, 3)) + rdm2_f_bbbb_oovv += einsum(x296, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x296 + x297 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x297 += einsum(x42, (0, 1, 2, 3), t3.bbbbbb, (4, 0, 1, 5, 6, 3), (4, 2, 5, 6)) * -18.0 + x298 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x298 += einsum(x25, (0, 1, 2, 3), t3.babbab, (4, 2, 0, 5, 3, 6), (4, 1, 5, 6)) * -4.0 + del x25 + x299 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x299 += einsum(x31, (0, 1), (0, 1)) * 3.000000000000004 + del x31 + x299 += einsum(x32, (0, 1), (0, 1)) * 1.9999999999999996 + del x32 + x299 += einsum(x33, (0, 1), (0, 1)) + del x33 + x300 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x300 += einsum(x299, (0, 1), t2.bbbb, (2, 0, 3, 4), (1, 2, 3, 4)) * -1.9999999999999194 + del x299 + x301 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x301 += einsum(x297, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x297 + x301 += einsum(x298, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x298 + x301 += einsum(x300, (0, 1, 2, 3), (1, 0, 3, 2)) + del x300 + rdm2_f_bbbb_oovv += einsum(x301, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + rdm2_f_bbbb_oovv += einsum(x301, (0, 1, 2, 3), (1, 0, 2, 3)) + del x301 + x302 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x302 += einsum(t2.bbbb, (0, 1, 2, 3), x244, (1, 4, 3, 5), (4, 0, 5, 2)) + x303 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x303 += einsum(t2.abab, (0, 1, 2, 3), x237, (4, 5, 0, 2), (4, 1, 5, 3)) + x304 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x304 += einsum(x145, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 + x304 += einsum(x146, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.3333333333333333 + x305 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x305 += einsum(x304, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 0, 6, 1, 2), (4, 5, 3, 6)) * -18.0 + x306 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x306 += einsum(x101, (0, 1, 2, 3), t3.babbab, (4, 2, 5, 6, 3, 0), (4, 5, 1, 6)) * -4.0 + del x101 + x307 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x307 += einsum(x271, (0, 1), (0, 1)) + x307 += einsum(x272, (0, 1), (0, 1)) * 0.5 + x307 += einsum(x273, (0, 1), (0, 1)) * 1.4999999999999416 + x307 += einsum(x274, (0, 1), (0, 1)) * 0.9999999999999595 + x307 += einsum(x275, (0, 1), (0, 1)) * 0.49999999999997985 + x308 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x308 += einsum(x307, (0, 1), t2.bbbb, (2, 3, 4, 0), (2, 3, 1, 4)) * -4.0 + del x307 + x309 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x309 += einsum(t2.bbbb, (0, 1, 2, 3), x304, (4, 2, 3, 5), (4, 0, 1, 5)) * 3.0 + x310 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x310 += einsum(x121, (0, 1, 2, 3), (0, 2, 1, 3)) + del x121 + x310 += einsum(x124, (0, 1, 2, 3), (0, 2, 1, 3)) * 3.0 + del x124 + x310 += einsum(x125, (0, 1, 2, 3), (0, 2, 1, 3)) + del x125 + x310 += einsum(x127, (0, 1, 2, 3), (0, 2, 1, 3)) * 3.0 + del x127 + x310 += einsum(x123, (0, 1, 2, 3), (0, 2, 1, 3)) + del x123 + x310 += einsum(x309, (0, 1, 2, 3), (0, 2, 1, 3)) + del x309 + x311 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x311 += einsum(t1.bb, (0, 1), x310, (0, 2, 3, 4), (2, 3, 4, 1)) * 2.0 + del x310 + x312 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x312 += einsum(x302, (0, 1, 2, 3), (0, 1, 2, 3)) * 8.0 + del x302 + x312 += einsum(x303, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + del x303 + x312 += einsum(x305, (0, 1, 2, 3), (0, 1, 2, 3)) + del x305 + x312 += einsum(x306, (0, 1, 2, 3), (1, 0, 2, 3)) + del x306 + x312 += einsum(x308, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x308 + x312 += einsum(x311, (0, 1, 2, 3), (1, 0, 3, 2)) + del x311 + rdm2_f_bbbb_oovv += einsum(x312, (0, 1, 2, 3), (0, 1, 2, 3)) + rdm2_f_bbbb_oovv += einsum(x312, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x312 + x313 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x313 += einsum(x28, (0, 1), t2.bbbb, (2, 0, 3, 4), (1, 2, 3, 4)) + del x28 + x314 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x314 += einsum(x38, (0, 1, 2, 3), t3.bbbbbb, (4, 1, 0, 5, 6, 3), (2, 4, 5, 6)) + x315 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x315 += einsum(x103, (0, 1, 2, 3), t3.babbab, (4, 2, 0, 5, 3, 6), (1, 4, 5, 6)) + del x103 + x316 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x316 += einsum(t1.bb, (0, 1), x42, (2, 3, 4, 1), (0, 2, 3, 4)) * 3.0 + x317 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x317 += einsum(t2.bbbb, (0, 1, 2, 3), x316, (4, 0, 1, 5), (4, 5, 2, 3)) * 2.0 + del x316 + x318 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) + x318 += einsum(x29, (0, 1), (0, 1)) + del x29 + x318 += einsum(x30, (0, 1), (0, 1)) * 0.5 + del x30 + x319 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x319 += einsum(x318, (0, 1), t2.bbbb, (2, 0, 3, 4), (1, 2, 3, 4)) * -4.0 + del x318 + x320 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x320 += einsum(t1.bb, (0, 1), x42, (2, 3, 4, 1), (0, 2, 3, 4)) + del x42 + x321 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x321 += einsum(t1.bb, (0, 1), x320, (2, 3, 0, 4), (3, 2, 4, 1)) + del x320 + x322 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x322 += einsum(t1.bb, (0, 1), x321, (0, 2, 3, 4), (2, 3, 4, 1)) * 6.0 + del x321 + x323 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x323 += einsum(x313, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 + del x313 + x323 += einsum(x314, (0, 1, 2, 3), (0, 1, 3, 2)) * -6.0 + del x314 + x323 += einsum(x315, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 + del x315 + x323 += einsum(x317, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x317 + x323 += einsum(x319, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + del x319 + x323 += einsum(x322, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x322 + rdm2_f_bbbb_oovv += einsum(x323, (0, 1, 2, 3), (0, 1, 2, 3)) + rdm2_f_bbbb_oovv += einsum(x323, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + del x323 + x324 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) + x324 += einsum(t2.bbbb, (0, 1, 2, 3), l3.babbab, (2, 4, 3, 5, 6, 7), (5, 7, 0, 1, 6, 4)) + x324 += einsum(x122, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0000000000000606 + del x122 + rdm2_f_bbbb_oovv += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x324, (0, 2, 6, 7, 1, 4), (6, 7, 3, 5)) * 1.9999999999999194 + del x324 + x325 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x325 += einsum(t2.bbbb, (0, 1, 2, 3), l3.bbbbbb, (4, 2, 3, 5, 6, 7), (5, 6, 7, 0, 1, 4)) + x325 += einsum(x126, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0000000000000584 + del x126 + rdm2_f_bbbb_oovv += einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), x325, (0, 1, 2, 6, 7, 5), (6, 7, 3, 4)) * 5.999999999999766 + del x325 + x326 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x326 += einsum(x37, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 + x326 += einsum(x39, (0, 1, 2, 3), (0, 1, 3, 2)) + x326 += einsum(x35, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.999999999999883 + x326 += einsum(x36, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.9999999999999597 + rdm2_f_bbbb_oovv += einsum(t2.bbbb, (0, 1, 2, 3), x326, (0, 1, 4, 5), (5, 4, 2, 3)) * 2.0 + del x326 + x327 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) + x327 += einsum(x37, (0, 1, 2, 3), (1, 0, 3, 2)) * -0.3333333333333269 + del x37 + x327 += einsum(x39, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.3333333333333269 + del x39 + x327 += einsum(x35, (0, 1, 2, 3), (0, 1, 3, 2)) + del x35 + x327 += einsum(x36, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.3333333333333336 + del x36 + x328 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x328 += einsum(t1.bb, (0, 1), x327, (0, 2, 3, 4), (2, 4, 3, 1)) * -1.0 + del x327 + rdm2_f_bbbb_oovv += einsum(t1.bb, (0, 1), x328, (0, 2, 3, 4), (2, 3, 4, 1)) * -6.000000000000116 + del x328 + x329 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x329 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 5, 1), (2, 4, 0, 5)) + rdm2_f_aaaa_ovov += einsum(x329, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 + rdm2_f_aaaa_ovvo += einsum(x329, (0, 1, 2, 3), (1, 2, 3, 0)) + rdm2_f_aaaa_voov += einsum(x329, (0, 1, 2, 3), (2, 1, 0, 3)) + rdm2_f_aaaa_vovo += einsum(x329, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 + x330 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x330 += einsum(t1.aa, (0, 1), x64, (0, 2, 3, 4), (2, 3, 1, 4)) * 6.0 + del x64 + rdm2_f_aaaa_ovov += einsum(x330, (0, 1, 2, 3), (1, 3, 0, 2)) * -1.0 + rdm2_f_aaaa_voov += einsum(x330, (0, 1, 2, 3), (3, 1, 0, 2)) + del x330 + x331 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x331 += einsum(l1.aa, (0, 1), t1.aa, (1, 2), (0, 2)) + x332 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x332 += einsum(x331, (0, 1), (0, 1)) + x332 += einsum(x207, (0, 1), (0, 1)) + x332 += einsum(x208, (0, 1), (0, 1)) * 2.0 + x332 += einsum(x209, (0, 1), (0, 1)) * 0.9999999999999601 + x332 += einsum(x210, (0, 1), (0, 1)) * 1.9999999999999194 + x332 += einsum(x211, (0, 1), (0, 1)) * 2.9999999999998788 + rdm2_f_aaaa_ovov += einsum(delta.aa.oo, (0, 1), x332, (2, 3), (0, 2, 1, 3)) + rdm2_f_aaaa_ovvo += einsum(delta.aa.oo, (0, 1), x332, (2, 3), (0, 2, 3, 1)) * -1.0 + rdm2_f_aaaa_voov += einsum(delta.aa.oo, (0, 1), x332, (2, 3), (2, 0, 1, 3)) * -1.0 + rdm2_f_aaaa_vovo += einsum(delta.aa.oo, (0, 1), x332, (2, 3), (2, 0, 3, 1)) + x333 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x333 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 0, 5), (1, 5, 2, 4)) + rdm2_f_abab_ovov += einsum(x333, (0, 1, 2, 3), (3, 0, 2, 1)) * -1.0 + x334 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x334 += einsum(l1.bb, (0, 1), t1.bb, (1, 2), (0, 2)) + x335 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x335 += einsum(x334, (0, 1), (0, 1)) + x335 += einsum(x271, (0, 1), (0, 1)) * 2.0 + x335 += einsum(x272, (0, 1), (0, 1)) + x335 += einsum(x273, (0, 1), (0, 1)) * 2.9999999999998788 + x335 += einsum(x274, (0, 1), (0, 1)) * 1.9999999999999194 + x335 += einsum(x275, (0, 1), (0, 1)) * 0.9999999999999601 + rdm2_f_abab_ovov += einsum(delta.aa.oo, (0, 1), x335, (2, 3), (0, 2, 1, 3)) + rdm2_f_abab_ovvv += einsum(t1.aa, (0, 1), x335, (2, 3), (0, 2, 1, 3)) + x336 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x336 += einsum(t1.bb, (0, 1), x118, (0, 2, 3, 4), (2, 3, 4, 1)) * 2.0 + del x118 + rdm2_f_bbbb_ovov += einsum(x336, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 + rdm2_f_bbbb_ovvo += einsum(x336, (0, 1, 2, 3), (1, 2, 3, 0)) + rdm2_f_bbbb_voov += einsum(x336, (0, 1, 2, 3), (2, 1, 0, 3)) + rdm2_f_bbbb_vovo += einsum(x336, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 + del x336 + x337 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) + x337 += einsum(x334, (0, 1), (0, 1)) * 0.5000000000000202 + del x334 + x337 += einsum(x271, (0, 1), (0, 1)) * 1.0000000000000404 + del x271 + x337 += einsum(x272, (0, 1), (0, 1)) * 0.5000000000000202 + del x272 + x337 += einsum(x273, (0, 1), (0, 1)) * 1.4999999999999998 + del x273 + x337 += einsum(x274, (0, 1), (0, 1)) + del x274 + x337 += einsum(x275, (0, 1), (0, 1)) * 0.5000000000000002 + del x275 + rdm2_f_bbbb_ovov += einsum(delta.bb.oo, (0, 1), x337, (2, 3), (0, 2, 1, 3)) * 1.9999999999999194 + rdm2_f_bbbb_ovvo += einsum(delta.bb.oo, (0, 1), x337, (2, 3), (0, 2, 3, 1)) * -1.9999999999999194 + rdm2_f_bbbb_voov += einsum(delta.bb.oo, (0, 1), x337, (2, 3), (2, 0, 1, 3)) * -1.9999999999999194 + rdm2_f_bbbb_vovo += einsum(delta.bb.oo, (0, 1), x337, (2, 3), (2, 0, 3, 1)) * 1.9999999999999194 + del x337 + x338 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x338 += einsum(t1.aa, (0, 1), x102, (0, 2, 3, 4), (2, 3, 4, 1)) * 2.0 + rdm2_f_aaaa_ovvo += einsum(x338, (0, 1, 2, 3), (1, 2, 3, 0)) + rdm2_f_aaaa_vovo += einsum(x338, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 + del x338 + x339 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x339 += einsum(x331, (0, 1), (0, 1)) * 1.00000000000004 + x339 += einsum(x207, (0, 1), (0, 1)) * 1.00000000000004 + x339 += einsum(x208, (0, 1), (0, 1)) * 2.00000000000008 + x339 += einsum(x209, (0, 1), (0, 1)) + x339 += einsum(x210, (0, 1), (0, 1)) * 1.9999999999999991 + x339 += einsum(x211, (0, 1), (0, 1)) * 2.9999999999999982 + rdm2_f_abab_vovo += einsum(delta.bb.oo, (0, 1), x339, (2, 3), (2, 0, 3, 1)) * 0.9999999999999601 + del x339 + x340 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x340 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x51, (1, 4, 0, 2, 6, 7), (6, 7, 3, 5)) + del x51 + rdm2_f_aaaa_ovvv = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + rdm2_f_aaaa_ovvv += einsum(x340, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0000000000000404 + rdm2_f_aaaa_vovv = np.zeros((nvir[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + rdm2_f_aaaa_vovv += einsum(x340, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0000000000000404 + del x340 + x341 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x341 += einsum(l2.aaaa, (0, 1, 2, 3), t3.aaaaaa, (4, 2, 3, 5, 6, 1), (4, 0, 5, 6)) + rdm2_f_aaaa_ovvv += einsum(x341, (0, 1, 2, 3), (0, 1, 3, 2)) * -6.0 + rdm2_f_aaaa_vovv += einsum(x341, (0, 1, 2, 3), (1, 0, 3, 2)) * 6.0 + del x341 + x342 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x342 += einsum(l1.aa, (0, 1), t2.aaaa, (2, 1, 3, 4), (2, 0, 3, 4)) + rdm2_f_aaaa_ovvv += einsum(x342, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 + rdm2_f_aaaa_vovv += einsum(x342, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 + del x342 + x343 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x343 += einsum(l2.abab, (0, 1, 2, 3), t3.abaaba, (4, 3, 2, 5, 1, 6), (4, 0, 5, 6)) + rdm2_f_aaaa_ovvv += einsum(x343, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 + rdm2_f_aaaa_vovv += einsum(x343, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 + del x343 + x344 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x344 += einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), x45, (0, 1, 2, 6, 7, 5), (6, 7, 3, 4)) * -1.0 + del x45 + rdm2_f_aaaa_ovvv += einsum(x344, (0, 1, 2, 3), (0, 1, 3, 2)) * -6.000000000000116 + rdm2_f_aaaa_vovv += einsum(x344, (0, 1, 2, 3), (1, 0, 3, 2)) * 6.000000000000116 + del x344 + x345 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x345 += einsum(t2.abab, (0, 1, 2, 3), x161, (1, 3, 4, 5), (0, 4, 2, 5)) + x346 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x346 += einsum(t2.abab, (0, 1, 2, 3), x162, (1, 3, 4, 5), (0, 4, 5, 2)) + x347 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x347 += einsum(t2.aaaa, (0, 1, 2, 3), x205, (1, 4, 3, 5), (0, 4, 5, 2)) * 4.0 + x348 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x348 += einsum(x329, (0, 1, 2, 3), (0, 1, 2, 3)) + del x329 + x348 += einsum(x202, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.0 + del x202 + x348 += einsum(x173, (0, 1, 2, 3), (0, 1, 2, 3)) + del x173 + x348 += einsum(x174, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.0 + del x174 + x348 += einsum(x178, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 + del x178 + x348 += einsum(x175, (0, 1, 2, 3), (0, 1, 2, 3)) * 9.0 + del x175 + x348 += einsum(x179, (0, 1, 2, 3), (0, 1, 2, 3)) * -6.0 + del x179 + x349 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x349 += einsum(t1.aa, (0, 1), x348, (0, 2, 3, 4), (2, 3, 4, 1)) + del x348 + x350 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x350 += einsum(x345, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + del x345 + x350 += einsum(x346, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 + del x346 + x350 += einsum(x347, (0, 1, 2, 3), (0, 1, 2, 3)) + del x347 + x350 += einsum(x349, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x349 + x350 += einsum(t1.aa, (0, 1), x332, (2, 3), (0, 2, 1, 3)) + del x332 + rdm2_f_aaaa_ovvv += einsum(x350, (0, 1, 2, 3), (0, 1, 2, 3)) + rdm2_f_aaaa_ovvv += einsum(x350, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + rdm2_f_aaaa_vovv += einsum(x350, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + rdm2_f_aaaa_vovv += einsum(x350, (0, 1, 2, 3), (1, 0, 3, 2)) + del x350 + x351 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x351 += einsum(t2.aaaa, (0, 1, 2, 3), x102, (0, 1, 4, 5), (4, 5, 2, 3)) * 2.0 + del x102 + rdm2_f_aaaa_ovvv += einsum(x351, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + rdm2_f_aaaa_vovv += einsum(x351, (0, 1, 2, 3), (1, 0, 3, 2)) + del x351 + x352 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) + x352 += einsum(x1, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.3333333333333333 + del x1 + x352 += einsum(x12, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.3333333333333333 + del x12 + x352 += einsum(x13, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x13 + x353 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) + x353 += einsum(t1.aa, (0, 1), x352, (0, 2, 3, 4), (2, 3, 4, 1)) * 3.0 + del x352 + x354 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x354 += einsum(t1.aa, (0, 1), x353, (0, 2, 3, 4), (2, 3, 4, 1)) * 2.0 + del x353 + rdm2_f_aaaa_ovvv += einsum(x354, (0, 1, 2, 3), (0, 1, 3, 2)) + rdm2_f_aaaa_vovv += einsum(x354, (0, 1, 2, 3), (1, 0, 2, 3)) + del x354 + x355 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x355 += einsum(x218, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.6666666666666666 + del x218 + x355 += einsum(x167, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.6666666666666666 + del x167 + x355 += einsum(x168, (0, 1, 2, 3), (0, 1, 2, 3)) + del x168 + x355 += einsum(x169, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.3333333333333333 + del x169 + x355 += einsum(x165, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.6666666666666666 + del x165 + x355 += einsum(x170, (0, 1, 2, 3), (0, 1, 2, 3)) + del x170 + x355 += einsum(x183, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.6666666666666666 + del x183 + x355 += einsum(t1.aa, (0, 1), x22, (2, 3, 0, 4), (2, 3, 4, 1)) * -0.6666666666666666 + del x22 + rdm2_f_abab_ovvv += einsum(t1.bb, (0, 1), x355, (0, 2, 3, 4), (3, 2, 4, 1)) * 3.0 + del x355 + x356 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) + x356 += einsum(x333, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 + del x333 + x356 += einsum(x261, (0, 1, 2, 3), (0, 1, 2, 3)) + del x261 + x356 += einsum(x262, (0, 1, 2, 3), (0, 1, 2, 3)) + del x262 + x356 += einsum(x263, (0, 1, 2, 3), (0, 1, 2, 3)) + del x263 + x356 += einsum(x264, (0, 1, 2, 3), (0, 1, 2, 3)) + del x264 + rdm2_f_abab_ovvv += einsum(t1.aa, (0, 1), x356, (2, 3, 0, 4), (4, 2, 1, 3)) * -2.0 + del x356 + x357 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x357 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x90, (0, 2, 6, 7, 1, 4), (6, 7, 3, 5)) + del x90 + rdm2_f_bbbb_ovvv = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + rdm2_f_bbbb_ovvv += einsum(x357, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0000000000000404 + rdm2_f_bbbb_vovv = np.zeros((nvir[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + rdm2_f_bbbb_vovv += einsum(x357, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0000000000000404 + del x357 + x358 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x358 += einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), x114, (0, 1, 2, 6, 7, 5), (6, 7, 3, 4)) * -1.0 + del x114 + rdm2_f_bbbb_ovvv += einsum(x358, (0, 1, 2, 3), (0, 1, 3, 2)) * -6.000000000000116 + rdm2_f_bbbb_vovv += einsum(x358, (0, 1, 2, 3), (1, 0, 3, 2)) * 6.000000000000116 + del x358 + x359 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x359 += einsum(l1.bb, (0, 1), t2.bbbb, (2, 1, 3, 4), (2, 0, 3, 4)) + rdm2_f_bbbb_ovvv += einsum(x359, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 + rdm2_f_bbbb_vovv += einsum(x359, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 + del x359 + x360 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x360 += einsum(l2.bbbb, (0, 1, 2, 3), t3.bbbbbb, (4, 2, 3, 5, 6, 1), (4, 0, 5, 6)) + rdm2_f_bbbb_ovvv += einsum(x360, (0, 1, 2, 3), (0, 1, 3, 2)) * -6.0 + rdm2_f_bbbb_vovv += einsum(x360, (0, 1, 2, 3), (1, 0, 3, 2)) * 6.0 + del x360 + x361 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x361 += einsum(l2.abab, (0, 1, 2, 3), t3.babbab, (4, 2, 3, 5, 0, 6), (4, 1, 5, 6)) + rdm2_f_bbbb_ovvv += einsum(x361, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 + rdm2_f_bbbb_vovv += einsum(x361, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 + del x361 + x362 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x362 += einsum(t2.bbbb, (0, 1, 2, 3), x145, (1, 4, 3, 5), (0, 4, 5, 2)) * -1.0 + del x145 + x363 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x363 += einsum(t2.bbbb, (0, 1, 2, 3), x146, (1, 4, 3, 5), (0, 4, 2, 5)) + del x146 + x364 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x364 += einsum(t2.abab, (0, 1, 2, 3), x99, (4, 5, 0, 2), (1, 4, 5, 3)) + del x99 + x365 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x365 += einsum(t2.abab, (0, 1, 2, 3), x100, (4, 5, 0, 2), (1, 4, 3, 5)) + del x100 + x366 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x366 += einsum(x244, (0, 1, 2, 3), (0, 1, 2, 3)) + del x244 + x366 += einsum(x245, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.25 + del x245 + x366 += einsum(x246, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.25 + del x246 + x366 += einsum(x247, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.5 + del x247 + x366 += einsum(x248, (0, 1, 2, 3), (0, 1, 2, 3)) + del x248 + x366 += einsum(x249, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 + del x249 + x366 += einsum(x250, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.25 + del x250 + x367 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x367 += einsum(t1.bb, (0, 1), x366, (0, 2, 3, 4), (2, 3, 4, 1)) * 4.0 + del x366 + x368 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x368 += einsum(x362, (0, 1, 2, 3), (0, 1, 2, 3)) * -12.0 + del x362 + x368 += einsum(x363, (0, 1, 2, 3), (0, 1, 2, 3)) * -4.0 + del x363 + x368 += einsum(x364, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 + del x364 + x368 += einsum(x365, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + del x365 + x368 += einsum(x367, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + del x367 + x368 += einsum(t1.bb, (0, 1), x335, (2, 3), (0, 2, 1, 3)) + del x335 + rdm2_f_bbbb_ovvv += einsum(x368, (0, 1, 2, 3), (0, 1, 2, 3)) + rdm2_f_bbbb_ovvv += einsum(x368, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + rdm2_f_bbbb_vovv += einsum(x368, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 + rdm2_f_bbbb_vovv += einsum(x368, (0, 1, 2, 3), (1, 0, 3, 2)) + del x368 + x369 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x369 += einsum(x38, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.3333333333333333 + x369 += einsum(x40, (0, 1, 2, 3), (0, 1, 2, 3)) + x369 += einsum(x41, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.3333333333333333 + x370 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x370 += einsum(t2.bbbb, (0, 1, 2, 3), x369, (0, 1, 4, 5), (4, 5, 2, 3)) * 6.0 + del x369 + rdm2_f_bbbb_ovvv += einsum(x370, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 + rdm2_f_bbbb_vovv += einsum(x370, (0, 1, 2, 3), (1, 0, 3, 2)) + del x370 + x371 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) + x371 += einsum(x38, (0, 1, 2, 3), (1, 0, 2, 3)) + del x38 + x371 += einsum(x40, (0, 1, 2, 3), (0, 1, 2, 3)) * -3.0 + del x40 + x371 += einsum(x41, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x41 + x372 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x372 += einsum(t1.bb, (0, 1), x371, (0, 2, 3, 4), (2, 3, 4, 1)) * 0.3333333333333333 + rdm2_f_bbbb_ovvv += einsum(t1.bb, (0, 1), x372, (0, 2, 3, 4), (2, 3, 4, 1)) * -6.0 + del x372 + x373 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) + x373 += einsum(x236, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 + del x236 + x373 += einsum(x237, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 + del x237 + x373 += einsum(x238, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.75 + del x238 + x373 += einsum(x239, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 + del x239 + x373 += einsum(x240, (0, 1, 2, 3), (0, 1, 2, 3)) + del x240 + x373 += einsum(x241, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 + del x241 + x373 += einsum(x242, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.75 + del x242 + x373 += einsum(t1.bb, (0, 1), x235, (0, 2, 3, 4), (2, 1, 3, 4)) * -0.25 + del x235 + rdm2_f_abab_vovv += einsum(t1.aa, (0, 1), x373, (2, 3, 0, 4), (4, 2, 1, 3)) * 4.0 + del x373 + x374 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) + x374 += einsum(x255, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 + del x255 + x374 += einsum(x256, (0, 1, 2, 3), (0, 1, 2, 3)) + del x256 + x374 += einsum(x257, (0, 1, 2, 3), (0, 1, 2, 3)) + del x257 + x374 += einsum(x258, (0, 1, 2, 3), (0, 1, 2, 3)) + del x258 + x374 += einsum(x259, (0, 1, 2, 3), (0, 1, 2, 3)) + del x259 + rdm2_f_abab_vovv += einsum(t1.bb, (0, 1), x374, (0, 2, 3, 4), (3, 2, 4, 1)) * -2.0 + del x374 + x375 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) + x375 += einsum(x331, (0, 1), (0, 1)) * 0.5000000000000202 + del x331 + x375 += einsum(x207, (0, 1), (0, 1)) * 0.5000000000000202 + del x207 + x375 += einsum(x208, (0, 1), (0, 1)) * 1.0000000000000404 + del x208 + x375 += einsum(x209, (0, 1), (0, 1)) * 0.5000000000000002 + del x209 + x375 += einsum(x210, (0, 1), (0, 1)) + del x210 + x375 += einsum(x211, (0, 1), (0, 1)) * 1.4999999999999998 + del x211 + rdm2_f_abab_vovv += einsum(t1.bb, (0, 1), x375, (2, 3), (2, 0, 3, 1)) * 1.9999999999999194 + del x375 + x376 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) + x376 += einsum(t1.bb, (0, 1), x371, (0, 2, 3, 4), (2, 3, 4, 1)) + del x371 + rdm2_f_bbbb_vovv += einsum(t1.bb, (0, 1), x376, (0, 2, 3, 4), (3, 2, 1, 4)) * -2.0 + del x376 + x377 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x377 += einsum(t1.aa, (0, 1), l2.aaaa, (2, 3, 4, 0), (4, 2, 3, 1)) + rdm2_f_aaaa_vvov += einsum(x377, (0, 1, 2, 3), (2, 1, 0, 3)) * -2.0 + rdm2_f_aaaa_vvvo += einsum(x377, (0, 1, 2, 3), (2, 1, 3, 0)) * 2.0 + rdm2_f_aaaa_vvvv += einsum(t1.aa, (0, 1), x377, (0, 2, 3, 4), (2, 3, 1, 4)) * 2.0 + del x377 + x378 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x378 += einsum(t1.bb, (0, 1), l2.bbbb, (2, 3, 4, 0), (4, 2, 3, 1)) + rdm2_f_bbbb_vvov += einsum(x378, (0, 1, 2, 3), (2, 1, 0, 3)) * -2.0 + rdm2_f_bbbb_vvvo += einsum(x378, (0, 1, 2, 3), (2, 1, 3, 0)) * 2.0 + rdm2_f_bbbb_vvvv += einsum(t1.bb, (0, 1), x378, (0, 2, 3, 4), (2, 3, 1, 4)) * 2.0 + del x378 + x379 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) + x379 += einsum(t1.aa, (0, 1), l2.abab, (2, 3, 0, 4), (4, 3, 2, 1)) + rdm2_f_abab_vvvo += einsum(x379, (0, 1, 2, 3), (2, 1, 3, 0)) + x380 = np.zeros((nvir[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) + x380 += einsum(t1.aa, (0, 1), x205, (0, 2, 3, 4), (2, 3, 4, 1)) * 2.0 + del x205 + rdm2_f_aaaa_vvvv += einsum(x380, (0, 1, 2, 3), (0, 1, 3, 2)) + rdm2_f_aaaa_vvvv += einsum(x380, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x380 + x381 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) + x381 += einsum(x379, (0, 1, 2, 3), (0, 1, 2, 3)) + del x379 + x381 += einsum(x161, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + del x161 + x381 += einsum(x162, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 + del x162 + rdm2_f_abab_vvvv += einsum(t1.bb, (0, 1), x381, (0, 2, 3, 4), (3, 2, 4, 1)) + del x381 + x382 = np.zeros((nvir[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) + x382 += einsum(t1.bb, (0, 1), x304, (0, 2, 3, 4), (2, 3, 4, 1)) * 6.0 + del x304 + rdm2_f_bbbb_vvvv += einsum(x382, (0, 1, 2, 3), (0, 1, 3, 2)) + rdm2_f_bbbb_vvvv += einsum(x382, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 + del x382 + + rdm2_f_aaaa = pack_2e(rdm2_f_aaaa_oooo, rdm2_f_aaaa_ooov, rdm2_f_aaaa_oovo, rdm2_f_aaaa_ovoo, rdm2_f_aaaa_vooo, rdm2_f_aaaa_oovv, rdm2_f_aaaa_ovov, rdm2_f_aaaa_ovvo, rdm2_f_aaaa_voov, rdm2_f_aaaa_vovo, rdm2_f_aaaa_vvoo, rdm2_f_aaaa_ovvv, rdm2_f_aaaa_vovv, rdm2_f_aaaa_vvov, rdm2_f_aaaa_vvvo, rdm2_f_aaaa_vvvv) + rdm2_f_abab = pack_2e(rdm2_f_abab_oooo, rdm2_f_abab_ooov, rdm2_f_abab_oovo, rdm2_f_abab_ovoo, rdm2_f_abab_vooo, rdm2_f_abab_oovv, rdm2_f_abab_ovov, rdm2_f_abab_ovvo, rdm2_f_abab_voov, rdm2_f_abab_vovo, rdm2_f_abab_vvoo, rdm2_f_abab_ovvv, rdm2_f_abab_vovv, rdm2_f_abab_vvov, rdm2_f_abab_vvvo, rdm2_f_abab_vvvv) + rdm2_f_bbbb = pack_2e(rdm2_f_bbbb_oooo, rdm2_f_bbbb_ooov, rdm2_f_bbbb_oovo, rdm2_f_bbbb_ovoo, rdm2_f_bbbb_vooo, rdm2_f_bbbb_oovv, rdm2_f_bbbb_ovov, rdm2_f_bbbb_ovvo, rdm2_f_bbbb_voov, rdm2_f_bbbb_vovo, rdm2_f_bbbb_vvoo, rdm2_f_bbbb_ovvv, rdm2_f_bbbb_vovv, rdm2_f_bbbb_vvov, rdm2_f_bbbb_vvvo, rdm2_f_bbbb_vvvv) + + rdm2_f_aaaa = np.transpose(rdm2_f_aaaa, (0, 2, 1, 3)) + rdm2_f_aabb = np.transpose(rdm2_f_abab, (0, 2, 1, 3)) + rdm2_f_bbbb = np.transpose(rdm2_f_bbbb, (0, 2, 1, 3)) + + rdm2_f.aaaa = rdm2_f_aaaa + rdm2_f.aabb = rdm2_f_aabb + rdm2_f.bbbb = rdm2_f_bbbb + + return rdm2_f + diff --git a/ebcc/codegen/bootstrap_MPn.py b/ebcc/codegen/bootstrap_MPn.py index 3b737095..58bb7f06 100644 --- a/ebcc/codegen/bootstrap_MPn.py +++ b/ebcc/codegen/bootstrap_MPn.py @@ -86,14 +86,14 @@ def postamble(): if name != "einsum": raise NotImplementedError # FIXME remove packing if spin != "uhf": - codegen.write("rdm1.ov = np.zeros((t1.shape[0], t1.shape[1]))") - codegen.write("rdm1.vo = np.zeros((t1.shape[1], t1.shape[0]))") + codegen.write("rdm1.ov = np.zeros((t2.shape[0], t2.shape[-1]))") + codegen.write("rdm1.vo = np.zeros((t2.shape[-1], t2.shape[0]))") codegen.write("rdm1 = np.block([[rdm1.oo, rdm1.ov], [rdm1.vo, rdm1.vv]])") else: - codegen.write("rdm1.aa.ov = np.zeros((t1.aa.shape[0], t1.aa.shape[1]))") - codegen.write("rdm1.aa.vo = np.zeros((t1.aa.shape[1], t1.aa.shape[0]))") - codegen.write("rdm1.bb.ov = np.zeros((t1.bb.shape[0], t1.bb.shape[1]))") - codegen.write("rdm1.bb.vo = np.zeros((t1.bb.shape[1], t1.bb.shape[0]))") + codegen.write("rdm1.aa.ov = np.zeros((t2.aa.shape[0], t2.aa.shape[-1]))") + codegen.write("rdm1.aa.vo = np.zeros((t2.aa.shape[-1], t2.aa.shape[0]))") + codegen.write("rdm1.bb.ov = np.zeros((t2.bb.shape[0], t2.bb.shape[-1]))") + codegen.write("rdm1.bb.vo = np.zeros((t2.bb.shape[-1], t2.bb.shape[0]))") codegen.write("rdm1.aa = np.block([[rdm1.aa.oo, rdm1.aa.ov], [rdm1.aa.vo, rdm1.aa.vv]])") codegen.write("rdm1.bb = np.block([[rdm1.bb.oo, rdm1.bb.ov], [rdm1.bb.vo, rdm1.bb.vv]])") @@ -143,7 +143,7 @@ def postamble(): codegen.write(f"rdm2.{''.join(key)} = np.zeros((t1.shape[{i}], t1.shape[{j}], t1.shape[{k}], t1.shape[{l}]))") codegen.write("rdm2 = pack_2e(rdm2.oooo, rdm2.ooov, rdm2.oovo, rdm2.ovoo, rdm2.vooo, rdm2.oovv, rdm2.ovov, rdm2.ovvo, rdm2.voov, rdm2.vovo, rdm2.vvoo, rdm2.ovvv, rdm2.vovv, rdm2.vvov, rdm2.vvvo, rdm2.vvvv).transpose((0, 2, 1, 3))") else: - for s in ("aaaa", "aabb", "bbbb"): + for s in ("aaaa", "abab", "bbbb"): for key in itertools.product("ov", repeat=4): if tuple(key) in {("o", "o", "v", "v") , ("v", "v", "o", "o")}: continue From 44bf5a3bc4b958855416b7b73a4924cf286e6821 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Sun, 24 Nov 2024 11:41:39 +0000 Subject: [PATCH 153/168] Fix MP2 DMs --- ebcc/codegen/bootstrap_MPn.py | 16 ++++++++-------- ebcc/codegen/bootstrap_common.py | 28 ++++++++++++++++++++-------- 2 files changed, 28 insertions(+), 16 deletions(-) diff --git a/ebcc/codegen/bootstrap_MPn.py b/ebcc/codegen/bootstrap_MPn.py index 58bb7f06..45f7925b 100644 --- a/ebcc/codegen/bootstrap_MPn.py +++ b/ebcc/codegen/bootstrap_MPn.py @@ -90,10 +90,10 @@ def postamble(): codegen.write("rdm1.vo = np.zeros((t2.shape[-1], t2.shape[0]))") codegen.write("rdm1 = np.block([[rdm1.oo, rdm1.ov], [rdm1.vo, rdm1.vv]])") else: - codegen.write("rdm1.aa.ov = np.zeros((t2.aa.shape[0], t2.aa.shape[-1]))") - codegen.write("rdm1.aa.vo = np.zeros((t2.aa.shape[-1], t2.aa.shape[0]))") - codegen.write("rdm1.bb.ov = np.zeros((t2.bb.shape[0], t2.bb.shape[-1]))") - codegen.write("rdm1.bb.vo = np.zeros((t2.bb.shape[-1], t2.bb.shape[0]))") + codegen.write("rdm1.aa.ov = np.zeros((t2.aaaa.shape[0], t2.aaaa.shape[-1]))") + codegen.write("rdm1.aa.vo = np.zeros((t2.aaaa.shape[-1], t2.aaaa.shape[0]))") + codegen.write("rdm1.bb.ov = np.zeros((t2.bbbb.shape[0], t2.bbbb.shape[-1]))") + codegen.write("rdm1.bb.vo = np.zeros((t2.bbbb.shape[-1], t2.bbbb.shape[0]))") codegen.write("rdm1.aa = np.block([[rdm1.aa.oo, rdm1.aa.ov], [rdm1.aa.vo, rdm1.aa.vv]])") codegen.write("rdm1.bb = np.block([[rdm1.bb.oo, rdm1.bb.ov], [rdm1.bb.vo, rdm1.bb.vv]])") @@ -139,17 +139,17 @@ def postamble(): for key in itertools.product("ov", repeat=4): if tuple(key) in {("o", "o", "v", "v") , ("v", "v", "o", "o")}: continue - i, j, k, l = ["ov".index(k) for k in key] - codegen.write(f"rdm2.{''.join(key)} = np.zeros((t1.shape[{i}], t1.shape[{j}], t1.shape[{k}], t1.shape[{l}]))") + i, j, k, l = [0 if k == "o" else -1 for k in key] + codegen.write(f"rdm2.{''.join(key)} = np.zeros((t2.shape[{i}], t2.shape[{j}], t2.shape[{k}], t2.shape[{l}]))") codegen.write("rdm2 = pack_2e(rdm2.oooo, rdm2.ooov, rdm2.oovo, rdm2.ovoo, rdm2.vooo, rdm2.oovv, rdm2.ovov, rdm2.ovvo, rdm2.voov, rdm2.vovo, rdm2.vvoo, rdm2.ovvv, rdm2.vovv, rdm2.vvov, rdm2.vvvo, rdm2.vvvv).transpose((0, 2, 1, 3))") else: for s in ("aaaa", "abab", "bbbb"): for key in itertools.product("ov", repeat=4): if tuple(key) in {("o", "o", "v", "v") , ("v", "v", "o", "o")}: continue - i, j, k, l = ["ov".index(k) for k in key] + i, j, k, l = [0 if k == "o" else -1 for k in key] si, sj, sk, sl = s - codegen.write(f"rdm2.{si+sj+sk+sl}.{''.join(key)} = np.zeros((t1.{si}.shape[{i}], t1.{sj}.shape[{j}], t1.{sk}.shape[{k}], t1.{sl}.shape[{l}]))") + codegen.write(f"rdm2.{si+sj+sk+sl}.{''.join(key)} = np.zeros((t2.{si * 4}.shape[{i}], t2.{sj * 4}.shape[{j}], t2.{sk * 4}.shape[{k}], t2.{sl * 4}.shape[{l}]))") codegen.write("rdm2.aaaa = pack_2e(rdm2.aaaa.oooo, rdm2.aaaa.ooov, rdm2.aaaa.oovo, rdm2.aaaa.ovoo, rdm2.aaaa.vooo, rdm2.aaaa.oovv, rdm2.aaaa.ovov, rdm2.aaaa.ovvo, rdm2.aaaa.voov, rdm2.aaaa.vovo, rdm2.aaaa.vvoo, rdm2.aaaa.ovvv, rdm2.aaaa.vovv, rdm2.aaaa.vvov, rdm2.aaaa.vvvo, rdm2.aaaa.vvvv).transpose((0, 2, 1, 3))") codegen.write("rdm2.aabb = pack_2e(rdm2.abab.oooo, rdm2.abab.ooov, rdm2.abab.oovo, rdm2.abab.ovoo, rdm2.abab.vooo, rdm2.abab.oovv, rdm2.abab.ovov, rdm2.abab.ovvo, rdm2.abab.voov, rdm2.abab.vovo, rdm2.abab.vvoo, rdm2.abab.ovvv, rdm2.abab.vovv, rdm2.abab.vvov, rdm2.abab.vvvo, rdm2.abab.vvvv).transpose((0, 2, 1, 3))") codegen.write("rdm2.bbbb = pack_2e(rdm2.bbbb.oooo, rdm2.bbbb.ooov, rdm2.bbbb.oovo, rdm2.bbbb.ovoo, rdm2.bbbb.vooo, rdm2.bbbb.oovv, rdm2.bbbb.ovov, rdm2.bbbb.ovvo, rdm2.bbbb.voov, rdm2.bbbb.vovo, rdm2.bbbb.vvoo, rdm2.bbbb.ovvv, rdm2.bbbb.vovv, rdm2.bbbb.vvov, rdm2.bbbb.vvvo, rdm2.bbbb.vvvv).transpose((0, 2, 1, 3))") diff --git a/ebcc/codegen/bootstrap_common.py b/ebcc/codegen/bootstrap_common.py index 1fbbcbf3..2bd52547 100644 --- a/ebcc/codegen/bootstrap_common.py +++ b/ebcc/codegen/bootstrap_common.py @@ -93,10 +93,16 @@ def get_rdm1(terms_sectors, spin, strategy="exhaust", density_fit=False): if len(set(sectors)) == 1: delta = Delta(*tuple(sorted(expr_n[0].external_indices, key=lambda i: indices.index(i.name)))) deltas.append(delta) - try: - deltas_sources.append(next(expr_n[0].search_leaves(T1))) - except StopIteration: - deltas_sources.append(next(expr_n[0].search_leaves(T2))) + # FIXME improve: + for tensor in expr_n[0].search_leaves(T1): + if spin != "uhf" or len(set(i.spin for i in tensor.external_indices)) == 1: + deltas_sources.append(tensor) + break + else: + for tensor in expr_n[0].search_leaves(T2): + if spin != "uhf" or len(set(i.spin for i in tensor.external_indices)) == 1: + deltas_sources.append(tensor) + break output_expr = optimise(output, expr, strategy=strategy) return output_expr, returns, deltas, deltas_sources @@ -147,10 +153,16 @@ def get_rdm2(terms_sectors, spin, strategy="exhaust", density_fit=False): if len(set(sectors)) == 1: delta = Delta(*tuple(sorted(expr_n[0].external_indices, key=lambda i: indices.index(i.name))[:2])) deltas.append(delta) - try: - deltas_sources.append(next(expr_n[0].search_leaves(T1))) - except StopIteration: - deltas_sources.append(next(expr_n[0].search_leaves(T2))) + # FIXME improve: + for tensor in expr_n[0].search_leaves(T1): + if spin != "uhf" or len(set(i.spin for i in tensor.external_indices)) == 1: + deltas_sources.append(tensor) + break + else: + for tensor in expr_n[0].search_leaves(T2): + if spin != "uhf" or len(set(i.spin for i in tensor.external_indices)) == 1: + deltas_sources.append(tensor) + break output_expr = optimise(output, expr, strategy=strategy) return output_expr, returns, deltas, deltas_sources From 93ed095db23e23b24bb160c1e94bf1ed6d0f611d Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Sun, 24 Nov 2024 13:10:20 +0000 Subject: [PATCH 154/168] Fix RDM2 spins --- ebcc/codegen/bootstrap_CCD.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ebcc/codegen/bootstrap_CCD.py b/ebcc/codegen/bootstrap_CCD.py index fede421b..7d4f40cc 100644 --- a/ebcc/codegen/bootstrap_CCD.py +++ b/ebcc/codegen/bootstrap_CCD.py @@ -216,7 +216,7 @@ def postamble(): codegen.write(f"rdm2.{''.join(spaces)} = np.zeros(({', '.join(shape)}))") codegen.write("rdm2 = pack_2e(rdm2.oooo, rdm2.ooov, rdm2.oovo, rdm2.ovoo, rdm2.vooo, rdm2.oovv, rdm2.ovov, rdm2.ovvo, rdm2.voov, rdm2.vovo, rdm2.vvoo, rdm2.ovvv, rdm2.vovv, rdm2.vvov, rdm2.vvvo, rdm2.vvvv).transpose((0, 2, 1, 3))") else: - for spins in ("aaaa", "aabb", "bbbb"): + for spins in ("aaaa", "abab", "bbbb"): for spaces in itertools.product("ov", repeat=4): if not any(o.name == "rdm2" and all(s == i.space and t == i.spin for s, t, i in zip(spaces, spins, o.external_indices)) for o, _ in output_expr): shape = [f"t2.{t * 4}.shape[{0 if s == 'o' else -1}]" for s, t in zip(spaces, spins)] From 44b2b3353adc3ad35185542aeff57e6206ac260f Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Tue, 26 Nov 2024 18:41:43 +0000 Subject: [PATCH 155/168] Pass optimise kwargs --- ebcc/codegen/bootstrap_common.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ebcc/codegen/bootstrap_common.py b/ebcc/codegen/bootstrap_common.py index 2bd52547..e2f1ce37 100644 --- a/ebcc/codegen/bootstrap_common.py +++ b/ebcc/codegen/bootstrap_common.py @@ -31,7 +31,7 @@ def get_energy(terms, spin, strategy="exhaust", density_fit=False): return output_expr, returns -def get_amplitudes(terms_grouped, spin, strategy="exhaust", which="t", orders=None, density_fit=False): +def get_amplitudes(terms_grouped, spin, strategy="exhaust", which="t", orders=None, density_fit=False, optimise_kwargs={}): """Get the amplitude expressions from `pdaggerq` terms.""" expr = [] output = [] @@ -55,7 +55,7 @@ def get_amplitudes(terms_grouped, spin, strategy="exhaust", which="t", orders=No output.extend(output_n) returns.extend(returns_n) if strategy is not None: - output_expr = optimise(output, expr, strategy="exhaust") + output_expr = optimise(output, expr, strategy="exhaust", **optimise_kwargs) else: output_expr = list(zip(output, expr)) output_expr = [(o, e.apply(lambda tensor: tensor.canonicalise(), Tensor)) for o, e in output_expr] @@ -167,7 +167,7 @@ def get_rdm2(terms_sectors, spin, strategy="exhaust", density_fit=False): return output_expr, returns, deltas, deltas_sources -def get_eom(terms_grouped, spin, strategy="exhaust", which="ip", orders=None, density_fit=False): +def get_eom(terms_grouped, spin, strategy="exhaust", which="ip", orders=None, density_fit=False, optimise_kwargs={}): """Get the EOM expressions from `pdaggerq` terms.""" expr = [] output = [] @@ -192,7 +192,7 @@ def get_eom(terms_grouped, spin, strategy="exhaust", which="ip", orders=None, de expr.extend(expr_n) output.extend(output_n) returns.extend(returns_n) - (returns_nr, output_expr_nr), (returns_r, output_expr_r) = optimise_eom(returns, output, expr, strategy=strategy) + (returns_nr, output_expr_nr), (returns_r, output_expr_r) = optimise_eom(returns, output, expr, strategy=strategy, **optimise_kwargs) if spin == "uhf": # R amplitudes may get wrong spins output_expr_nr = [(output, expr.canonicalise()) for output, expr in output_expr_nr] From e68e5a0cdff85352d224a7c99072532713448fa5 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Tue, 26 Nov 2024 18:42:02 +0000 Subject: [PATCH 156/168] No need for CCSDT LEOM --- ebcc/codegen/bootstrap_CCSDT.py | 185 -------------------------------- 1 file changed, 185 deletions(-) diff --git a/ebcc/codegen/bootstrap_CCSDT.py b/ebcc/codegen/bootstrap_CCSDT.py index 405a1f1d..0504f4b5 100644 --- a/ebcc/codegen/bootstrap_CCSDT.py +++ b/ebcc/codegen/bootstrap_CCSDT.py @@ -447,191 +447,6 @@ def postamble(): as_dict=True, ) -with Stopwatch("L-IP-EOM"): - # Get the L1 contractions in pdaggerq format - pq.clear() - pq.set_left_operators_type("IP") - pq.set_left_operators([["l1"], ["l2"], ["l3"]]) - pq.set_right_operators([["a(i)"]]) - pq.add_st_operator(1.0, ["f"], ["t1", "t2", "t3"]) - pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3"]) - pq.simplify() - terms_r1 = pq.fully_contracted_strings() - terms_r1 = remove_reference_energy_eom(terms_r1) - - # Get the L2 contractions in pdaggerq format - pq.clear() - pq.set_left_operators_type("IP") - pq.set_right_operators([["a*(a)", "a(j)", "a(i)"]]) - pq.set_left_operators([["l1"], ["l2"], ["l3"]]) - pq.add_st_operator(1.0, ["f"], ["t1", "t2", "t3"]) - pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3"]) - pq.simplify() - terms_r2 = pq.fully_contracted_strings() - terms_r2 = remove_reference_energy_eom(terms_r2) - - # Get the L3 contractions in pdaggerq format - pq.clear() - pq.set_left_operators_type("IP") - pq.set_right_operators([["a*(a)", "a*(b)", "a(k)", "a(j)", "a(i)"]]) - pq.set_left_operators([["l1"], ["l2"], ["l3"]]) - pq.add_st_operator(1.0, ["f"], ["t1", "t2", "t3"]) - pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3"]) - pq.simplify() - terms_r3 = pq.fully_contracted_strings() - terms_r3 = remove_reference_energy_eom(terms_r3) - - # Get the L amplitudes in albert format - output_expr_nr, returns_nr, output_expr_r, returns_r = get_eom([terms_r1, terms_r2, terms_r3], spin, strategy="greedy", which="ip") - - # Generate the L amplitude intermediates code - for name, codegen in code_generators.items(): - codegen( - "hbar_lmatvec_ip_intermediates", - returns_nr, - output_expr_nr, - as_dict=True, - ) - - # Generate the L amplitude code - for name, codegen in code_generators.items(): - codegen( - "hbar_lmatvec_ip", - returns_r, - output_expr_r, - as_dict=True, - ) - -with Stopwatch("L-EA-EOM"): - # Get the L1 contractions in pdaggerq format - pq.clear() - pq.set_left_operators_type("EA") - pq.set_left_operators([["l1"], ["l2"], ["l3"]]) - pq.set_right_operators([["a*(a)"]]) - pq.add_st_operator(1.0, ["f"], ["t1", "t2", "t3"]) - pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3"]) - pq.simplify() - terms_r1 = pq.fully_contracted_strings() - terms_r1 = remove_reference_energy_eom(terms_r1) - - # Get the L2 contractions in pdaggerq format - pq.clear() - pq.set_left_operators_type("EA") - pq.set_right_operators([["a*(a)", "a*(b)", "a(i)"]]) - pq.set_left_operators([["l1"], ["l2"], ["l3"]]) - pq.add_st_operator(1.0, ["f"], ["t1", "t2", "t3"]) - pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3"]) - pq.simplify() - terms_r2 = pq.fully_contracted_strings() - terms_r2 = remove_reference_energy_eom(terms_r2) - - # Get the L3 contractions in pdaggerq format - pq.clear() - pq.set_left_operators_type("EA") - pq.set_right_operators([["a*(a)", "a*(b)", "a*(c)", "a(j)", "a(i)"]]) - pq.set_left_operators([["l1"], ["l2"], ["l3"]]) - pq.add_st_operator(1.0, ["f"], ["t1", "t2", "t3"]) - pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3"]) - pq.simplify() - terms_r3 = pq.fully_contracted_strings() - terms_r3 = remove_reference_energy_eom(terms_r3) - - # Get the L amplitudes in albert format - output_expr_nr, returns_nr, output_expr_r, returns_r = get_eom([terms_r1, terms_r2, terms_r3], spin, strategy="greedy", which="ea") - - # Generate the L amplitude intermediates code - for name, codegen in code_generators.items(): - codegen( - "hbar_lmatvec_ea_intermediates", - returns_nr, - output_expr_nr, - as_dict=True, - ) - - # Generate the L amplitude code - for name, codegen in code_generators.items(): - codegen( - "hbar_lmatvec_ea", - returns_r, - output_expr_r, - as_dict=True, - ) - -if spin == "ghf": # FIXME - with Stopwatch("L-EE-EOM"): - # Get the L1 contractions in pdaggerq format - pq.clear() - pq.set_left_operators_type("EE") - pq.set_left_operators([["l1"], ["l2"], ["l3"]]) - pq.set_right_operators([["e1(a,i)"]]) - pq.add_st_operator(1.0, ["f"], ["t1", "t2", "t3"]) - pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3"]) - pq.simplify() - terms_r1 = pq.fully_contracted_strings() - terms_r1 = remove_reference_energy_eom(terms_r1) - - # Get the L2 contractions in pdaggerq format - pq.clear() - pq.set_left_operators_type("EE") - pq.set_left_operators([["l1"], ["l2"], ["l3"]]) - pq.set_right_operators([["e2(a,b,j,i)"]]) - pq.add_st_operator(1.0, ["f"], ["t1", "t2", "t3"]) - pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3"]) - pq.simplify() - terms_r2 = pq.fully_contracted_strings() - terms_r2 = remove_reference_energy_eom(terms_r2) - - # Get the L3 contractions in pdaggerq format - pq.clear() - pq.set_left_operators_type("EE") - pq.set_left_operators([["l1"], ["l2"], ["l3"]]) - pq.set_right_operators([["e3(a,b,c,k,j,i)"]]) - pq.add_st_operator(1.0, ["f"], ["t1", "t2", "t3"]) - pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3"]) - pq.simplify() - terms_r3 = pq.fully_contracted_strings() - terms_r3 = remove_reference_energy_eom(terms_r3) - - # Get the L amplitudes in albert format - output_expr_nr, returns_nr, output_expr_r, returns_r = get_eom([terms_r1, terms_r2, terms_r3], spin, strategy="greedy", which="ee") - - # Generate the L amplitude intermediates code - for name, codegen in code_generators.items(): - codegen( - "hbar_lmatvec_ee_intermediates", - returns_nr, - output_expr_nr, - as_dict=True, - ) - - # Generate the L amplitude code - for name, codegen in code_generators.items(): - def postamble(): - if spin == "uhf": - r2_abab = Tensor( - Index("i", space="o", spin="a"), - Index("j", space="v", spin="b"), - Index("a", space="o", spin="a"), - Index("b", space="v", spin="b"), - name="r2new", - ) - r2_baba = Tensor( - Index("i", space="o", spin="b"), - Index("j", space="v", spin="a"), - Index("a", space="o", spin="b"), - Index("b", space="v", spin="a"), - name="r2new", - ) - codegen.tensor_expression(r2_baba, r2_abab, is_return=True) - - codegen( - "hbar_lmatvec_ee", - returns_r, - output_expr_r, - postamble=postamble, - as_dict=True, - ) - for codegen in code_generators.values(): codegen.postamble() codegen.stdout.close() From ef9a4d5ffcea9f8c5a8bb3ecfb751a44d0f54607 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Tue, 26 Nov 2024 20:52:50 +0000 Subject: [PATCH 157/168] Add CCSDT to bootstrap --- .github/workflows/bootstrap_all.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/bootstrap_all.sh b/.github/workflows/bootstrap_all.sh index 46b19acc..61f7a69f 100644 --- a/.github/workflows/bootstrap_all.sh +++ b/.github/workflows/bootstrap_all.sh @@ -27,7 +27,7 @@ for method in CCSDwtwp; do done done -for method in CC3; do +for method in CC3 CCSDT; do for i in rhf uhf ghf; do echo "Bootstrapping $method ($i)" python -W ignore bootstrap_${method}.py $i &> output_${method}_${i}.dat & @@ -63,7 +63,7 @@ for method in CCSDwtwp; do done done -for method in CC3; do +for method in CC3 CCSDT; do for i in rhf uhf ghf; do echo "Output for $method ($i)" cat output_${method}_${i}.dat From f68ee8ce0caae25767d40833642b6aecce7a743d Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Tue, 26 Nov 2024 20:53:14 +0000 Subject: [PATCH 158/168] Canonicalise optimised outputs --- ebcc/codegen/bootstrap_common.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ebcc/codegen/bootstrap_common.py b/ebcc/codegen/bootstrap_common.py index e2f1ce37..c62005cf 100644 --- a/ebcc/codegen/bootstrap_common.py +++ b/ebcc/codegen/bootstrap_common.py @@ -104,6 +104,7 @@ def get_rdm1(terms_sectors, spin, strategy="exhaust", density_fit=False): deltas_sources.append(tensor) break output_expr = optimise(output, expr, strategy=strategy) + output_expr = [(o, e.apply(lambda tensor: tensor.canonicalise(), Tensor)) for o, e in output_expr] return output_expr, returns, deltas, deltas_sources @@ -164,6 +165,7 @@ def get_rdm2(terms_sectors, spin, strategy="exhaust", density_fit=False): deltas_sources.append(tensor) break output_expr = optimise(output, expr, strategy=strategy) + output_expr = [(o, e.apply(lambda tensor: tensor.canonicalise(), Tensor)) for o, e in output_expr] return output_expr, returns, deltas, deltas_sources From bc23429fd4fcc22cc8beba324d9de6f6510fb85c Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Wed, 27 Nov 2024 09:23:33 +0000 Subject: [PATCH 159/168] Update for new pdaggerq interface --- ebcc/codegen/GCCSDT.py | 1692 ----- ebcc/codegen/RCCSDT.py | 6763 ------------------ ebcc/codegen/UCCSDT.py | 9150 ------------------------- ebcc/codegen/bootstrap_CC2.py | 38 +- ebcc/codegen/bootstrap_CC3.py | 8 +- ebcc/codegen/bootstrap_CCD.py | 34 +- ebcc/codegen/bootstrap_CCSD.py | 38 +- ebcc/codegen/bootstrap_CCSDT.py | 36 +- ebcc/codegen/bootstrap_CCSDTQ.py | 10 +- ebcc/codegen/bootstrap_CCSDt.py | 8 +- ebcc/codegen/bootstrap_CCSDwtw.py | 8 +- ebcc/codegen/bootstrap_CCSDwtwp.py | 8 +- ebcc/codegen/bootstrap_DCD.py | 2 +- ebcc/codegen/bootstrap_DCSD.py | 6 +- ebcc/codegen/bootstrap_DFCC2.py | 38 +- ebcc/codegen/bootstrap_DFCCD.py | 34 +- ebcc/codegen/bootstrap_DFCCSD.py | 38 +- ebcc/codegen/bootstrap_DFDCD.py | 2 +- ebcc/codegen/bootstrap_DFDCSD.py | 6 +- ebcc/codegen/bootstrap_DFQCISD.py | 38 +- ebcc/codegen/bootstrap_QCISD.py | 38 +- ebcc/codegen/new_bootstrap_CCSDxTx.py | 10 +- 22 files changed, 200 insertions(+), 17805 deletions(-) delete mode 100644 ebcc/codegen/GCCSDT.py delete mode 100644 ebcc/codegen/RCCSDT.py delete mode 100644 ebcc/codegen/UCCSDT.py diff --git a/ebcc/codegen/GCCSDT.py b/ebcc/codegen/GCCSDT.py deleted file mode 100644 index c0bf1564..00000000 --- a/ebcc/codegen/GCCSDT.py +++ /dev/null @@ -1,1692 +0,0 @@ -# Code generated for ebcc. - -from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, Namespace -from ebcc.precision import types - -def energy(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, t3=None, **kwargs): - # energy - e_cc = 0 - e_cc += einsum(f.ov, (0, 1), t1, (0, 1), ()) - x0 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x0 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - x0 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) * 2.0 - e_cc += einsum(v.oovv, (0, 1, 2, 3), x0, (0, 1, 2, 3), ()) * 0.25 - del x0 - - return e_cc - -def update_amps(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, t3=None, **kwargs): - # T amplitudes - t1new = np.zeros((nocc, nvir), dtype=types[float]) - t1new += einsum(f.vv, (0, 1), t1, (2, 1), (2, 0)) - t1new += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 0, 1, 5, 2, 3), (4, 5)) * 0.25 - t1new += einsum(f.ov, (0, 1), (0, 1)) - t1new += einsum(t1, (0, 1), v.ovov, (2, 1, 0, 3), (2, 3)) * -1.0 - t2new = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - t2new += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) - x0 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x0 += einsum(t1, (0, 1), v.oovv, (2, 3, 4, 1), (0, 2, 3, 4)) - x1 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x1 += einsum(v.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - x1 += einsum(x0, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - t1new += einsum(t2, (0, 1, 2, 3), x1, (4, 1, 0, 3), (4, 2)) * -0.5 - del x1 - x2 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x2 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - x2 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) * 2.0 - t1new += einsum(v.ovvv, (0, 1, 2, 3), x2, (0, 4, 2, 3), (4, 1)) * 0.5 - x3 = np.zeros((nocc, nvir), dtype=types[float]) - x3 += einsum(t1, (0, 1), v.oovv, (2, 0, 3, 1), (2, 3)) - x4 = np.zeros((nocc, nvir), dtype=types[float]) - x4 += einsum(f.ov, (0, 1), (0, 1)) - x4 += einsum(x3, (0, 1), (0, 1)) - del x3 - t1new += einsum(x4, (0, 1), t2, (2, 0, 3, 1), (2, 3)) - t2new += einsum(x4, (0, 1), t3, (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) - x5 = np.zeros((nocc, nocc), dtype=types[float]) - x5 += einsum(f.ov, (0, 1), t1, (2, 1), (0, 2)) - x6 = np.zeros((nocc, nocc), dtype=types[float]) - x6 += einsum(t1, (0, 1), v.ooov, (2, 0, 3, 1), (2, 3)) - x7 = np.zeros((nocc, nocc), dtype=types[float]) - x7 += einsum(v.oovv, (0, 1, 2, 3), x2, (1, 4, 2, 3), (4, 0)) * -1.0 - x8 = np.zeros((nocc, nocc), dtype=types[float]) - x8 += einsum(f.oo, (0, 1), (0, 1)) * 2.0 - x8 += einsum(x5, (0, 1), (0, 1)) * 2.0 - x8 += einsum(x6, (0, 1), (0, 1)) * 2.0 - x8 += einsum(x7, (0, 1), (1, 0)) - t1new += einsum(t1, (0, 1), x8, (0, 2), (2, 1)) * -0.5 - del x8 - x9 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x9 += einsum(t1, (0, 1), v.ovvv, (2, 1, 3, 4), (0, 2, 3, 4)) - x10 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x10 += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 0, 1, 5, 6, 3), (4, 2, 5, 6)) - x11 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x11 += einsum(x0, (0, 1, 2, 3), t3, (4, 2, 1, 5, 6, 3), (0, 4, 5, 6)) - x12 = np.zeros((nocc, nocc), dtype=types[float]) - x12 += einsum(t1, (0, 1), x4, (2, 1), (2, 0)) - x13 = np.zeros((nocc, nocc), dtype=types[float]) - x13 += einsum(f.oo, (0, 1), (0, 1)) - x13 += einsum(x12, (0, 1), (1, 0)) - del x12 - x14 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x14 += einsum(x13, (0, 1), t2, (2, 1, 3, 4), (2, 0, 3, 4)) * -1.0 - del x13 - x15 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x15 += einsum(t1, (0, 1), v.ooov, (2, 3, 4, 1), (0, 2, 3, 4)) - x16 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x16 += einsum(x15, (0, 1, 2, 3), x2, (1, 2, 4, 5), (0, 3, 4, 5)) * 0.5 - x17 = np.zeros((nocc, nocc), dtype=types[float]) - x17 += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 2, 3), (0, 4)) - x18 = np.zeros((nocc, nocc), dtype=types[float]) - x18 += einsum(x6, (0, 1), (0, 1)) - x18 += einsum(x17, (0, 1), (1, 0)) * 0.5 - del x17 - x19 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x19 += einsum(x18, (0, 1), t2, (2, 0, 3, 4), (2, 1, 3, 4)) * -1.0 - del x18 - x20 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x20 += einsum(x9, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x9 - x20 += einsum(x10, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.5 - del x10 - x20 += einsum(x11, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.5 - del x11 - x20 += einsum(x14, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x14 - x20 += einsum(x16, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x16 - x20 += einsum(x19, (0, 1, 2, 3), (0, 1, 3, 2)) - del x19 - t2new += einsum(x20, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new += einsum(x20, (0, 1, 2, 3), (1, 0, 2, 3)) - del x20 - x21 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x21 += einsum(t1, (0, 1), v.ooov, (2, 3, 0, 4), (2, 3, 1, 4)) - x22 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x22 += einsum(f.vv, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4)) - x23 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x23 += einsum(x21, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x21 - x23 += einsum(x22, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x22 - t2new += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new += einsum(x23, (0, 1, 2, 3), (0, 1, 3, 2)) - del x23 - x24 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x24 += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 0, 6, 2, 3), (4, 5, 6, 1)) - x25 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x25 += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 3), (0, 4, 2, 5)) - x26 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x26 += einsum(t2, (0, 1, 2, 3), x25, (4, 1, 5, 3), (0, 4, 2, 5)) - x27 = np.zeros((nvir, nvir), dtype=types[float]) - x27 += einsum(t1, (0, 1), v.ovvv, (0, 2, 3, 1), (2, 3)) - x28 = np.zeros((nvir, nvir), dtype=types[float]) - x28 += einsum(t2, (0, 1, 2, 3), v.oovv, (0, 1, 4, 3), (2, 4)) - x29 = np.zeros((nvir, nvir), dtype=types[float]) - x29 += einsum(x27, (0, 1), (0, 1)) - x29 += einsum(x28, (0, 1), (0, 1)) * 0.5 - del x28 - x30 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x30 += einsum(x29, (0, 1), t2, (2, 3, 4, 1), (2, 3, 4, 0)) * -1.0 - del x29 - x31 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x31 += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 1, 6, 2, 3), (4, 5, 0, 6)) - x32 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x32 += einsum(v.ovvv, (0, 1, 2, 3), x2, (4, 5, 2, 3), (0, 4, 5, 1)) * 0.5 - x33 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x33 += einsum(x4, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4)) * -1.0 - x34 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x34 += einsum(x31, (0, 1, 2, 3), (2, 1, 0, 3)) * -0.5 - x34 += einsum(x32, (0, 1, 2, 3), (0, 2, 1, 3)) - del x32 - x34 += einsum(x33, (0, 1, 2, 3), (2, 1, 0, 3)) - del x33 - x35 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x35 += einsum(t1, (0, 1), x34, (0, 2, 3, 4), (2, 3, 4, 1)) - del x34 - x36 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x36 += einsum(x24, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - del x24 - x36 += einsum(x26, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x26 - x36 += einsum(x30, (0, 1, 2, 3), (1, 0, 2, 3)) - del x30 - x36 += einsum(x35, (0, 1, 2, 3), (1, 0, 3, 2)) - del x35 - t2new += einsum(x36, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new += einsum(x36, (0, 1, 2, 3), (0, 1, 3, 2)) - del x36 - x37 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x37 += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 3, 1, 5), (0, 4, 2, 5)) - x38 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x38 += einsum(t1, (0, 1), v.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) - x39 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x39 += einsum(t2, (0, 1, 2, 3), x38, (4, 1, 5, 3), (4, 0, 2, 5)) * -1.0 - x40 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x40 += einsum(t1, (0, 1), v.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) - x41 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x41 += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 1, 5, 3), (0, 4, 5, 2)) - x42 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x42 += einsum(t2, (0, 1, 2, 3), x0, (4, 1, 5, 3), (4, 0, 5, 2)) - x43 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x43 += einsum(x40, (0, 1, 2, 3), (0, 1, 2, 3)) - x43 += einsum(x41, (0, 1, 2, 3), (0, 1, 2, 3)) - x43 += einsum(x42, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x44 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x44 += einsum(t1, (0, 1), x43, (2, 0, 3, 4), (2, 3, 4, 1)) - del x43 - x45 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x45 += einsum(x37, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x37 - x45 += einsum(x39, (0, 1, 2, 3), (0, 1, 2, 3)) - del x39 - x45 += einsum(x44, (0, 1, 2, 3), (0, 1, 3, 2)) - del x44 - t2new += einsum(x45, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new += einsum(x45, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new += einsum(x45, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - t2new += einsum(x45, (0, 1, 2, 3), (1, 0, 3, 2)) - del x45 - x46 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x46 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - x46 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) - t2new += einsum(v.vvvv, (0, 1, 2, 3), x46, (4, 5, 2, 3), (5, 4, 0, 1)) * -1.0 - del x46 - x47 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x47 += einsum(v.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x47 += einsum(v.oovv, (0, 1, 2, 3), x2, (4, 5, 2, 3), (0, 1, 5, 4)) * -1.0 - t2new += einsum(x2, (0, 1, 2, 3), x47, (0, 1, 4, 5), (4, 5, 3, 2)) * -0.25 - del x47 - x48 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x48 += einsum(x15, (0, 1, 2, 3), t3, (4, 1, 2, 5, 6, 7), (0, 4, 3, 5, 6, 7)) - t3new = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - t3new += einsum(x48, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 0.5 - t3new += einsum(x48, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -0.5 - t3new += einsum(x48, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -0.5 - t3new += einsum(x48, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * 0.5 - t3new += einsum(x48, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 0.5 - t3new += einsum(x48, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -0.5 - del x48 - x49 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x49 += einsum(v.ovov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 1), (4, 5, 0, 6, 7, 3)) - x50 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x50 += einsum(v.ooov, (0, 1, 2, 3), x2, (0, 1, 4, 5), (2, 3, 4, 5)) - x51 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x51 += einsum(t2, (0, 1, 2, 3), x50, (4, 3, 5, 6), (0, 1, 4, 2, 6, 5)) * 0.5 - del x50 - x52 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x52 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 3, 1)) * 2.0 - x52 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x53 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x53 += einsum(v.ovvv, (0, 1, 2, 3), x52, (4, 5, 2, 3), (0, 4, 5, 1)) - x54 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x54 += einsum(t2, (0, 1, 2, 3), x53, (1, 4, 5, 6), (0, 5, 4, 2, 3, 6)) * 0.5 - del x53 - x55 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x55 += einsum(x49, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - del x49 - x55 += einsum(x51, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -1.0 - del x51 - x55 += einsum(x54, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) - del x54 - t3new += einsum(x55, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - t3new += einsum(x55, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - t3new += einsum(x55, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -1.0 - t3new += einsum(x55, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) - t3new += einsum(x55, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - t3new += einsum(x55, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) - t3new += einsum(x55, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) - t3new += einsum(x55, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -1.0 - t3new += einsum(x55, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) - del x55 - x56 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x56 += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 0, 1, 5, 6, 3), (4, 5, 6, 2)) - x57 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x57 += einsum(x4, (0, 1), t2, (2, 0, 3, 4), (2, 3, 4, 1)) * -1.0 - del x4 - x58 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x58 += einsum(v.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) - x58 += einsum(x56, (0, 1, 2, 3), (0, 2, 1, 3)) * 0.5 - del x56 - x58 += einsum(x57, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x57 - x59 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x59 += einsum(t2, (0, 1, 2, 3), x58, (4, 5, 6, 3), (0, 1, 4, 2, 5, 6)) * -1.0 - del x58 - x60 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x60 += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (4, 5, 0, 2, 6, 7)) - x61 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x61 += einsum(v.oovv, (0, 1, 2, 3), x52, (4, 5, 2, 3), (0, 1, 4, 5)) - del x52 - x62 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x62 += einsum(t2, (0, 1, 2, 3), x61, (4, 1, 5, 6), (0, 6, 5, 4, 2, 3)) * -0.5 - x63 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x63 += einsum(x60, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 - del x60 - x63 += einsum(x62, (0, 1, 2, 3, 4, 5), (2, 1, 3, 0, 5, 4)) * -1.0 - del x62 - x64 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x64 += einsum(t1, (0, 1), x63, (2, 3, 0, 4, 5, 6), (2, 3, 4, 5, 6, 1)) - del x63 - x65 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x65 += einsum(x59, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * -1.0 - del x59 - x65 += einsum(x64, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -1.0 - del x64 - t3new += einsum(x65, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - t3new += einsum(x65, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) - t3new += einsum(x65, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -1.0 - t3new += einsum(x65, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) - t3new += einsum(x65, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -1.0 - t3new += einsum(x65, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - t3new += einsum(x65, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) - t3new += einsum(x65, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -1.0 - t3new += einsum(x65, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) - del x65 - x66 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x66 += einsum(x6, (0, 1), t3, (2, 3, 0, 4, 5, 6), (2, 3, 1, 4, 5, 6)) * -1.0 - del x6 - x67 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x67 += einsum(x61, (0, 1, 2, 3), t3, (4, 1, 0, 5, 6, 7), (4, 3, 2, 5, 6, 7)) * -0.25 - del x61 - x68 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x68 += einsum(x66, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) - del x66 - x68 += einsum(x67, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -1.0 - del x67 - t3new += einsum(x68, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) - t3new += einsum(x68, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -1.0 - t3new += einsum(x68, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * -1.0 - del x68 - x69 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x69 += einsum(t2, (0, 1, 2, 3), x41, (4, 1, 5, 6), (0, 4, 5, 2, 3, 6)) - del x41 - x70 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x70 += einsum(x40, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x40 - x70 += einsum(x42, (0, 1, 2, 3), (0, 1, 2, 3)) - del x42 - x71 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x71 += einsum(t2, (0, 1, 2, 3), x70, (4, 5, 1, 6), (0, 4, 5, 2, 3, 6)) * -1.0 - del x70 - x72 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x72 += einsum(x69, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - del x69 - x72 += einsum(x71, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) - del x71 - t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 - t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) - t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 - t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -1.0 - t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * -1.0 - t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) - t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 - t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) - t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) * -1.0 - t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) - t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) - t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -1.0 - t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) - t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -1.0 - t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) - t3new += einsum(x72, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * -1.0 - del x72 - x73 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x73 += einsum(t1, (0, 1), x15, (2, 0, 3, 4), (2, 3, 4, 1)) * -1.0 - del x15 - x74 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x74 += einsum(t2, (0, 1, 2, 3), x73, (4, 1, 5, 6), (4, 0, 5, 6, 2, 3)) * -1.0 - del x73 - t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -1.0 - t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) - t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) - t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -1.0 - t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * -1.0 - t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) - t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -1.0 - t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) - t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 - t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) - t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) - t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -1.0 - t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) - t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -1.0 - t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) - t3new += einsum(x74, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -1.0 - del x74 - x75 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x75 += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 2, 3), (4, 5, 6, 0, 7, 1)) - x76 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x76 += einsum(t1, (0, 1), x75, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) - del x75 - t3new += einsum(x76, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 0.5 - t3new += einsum(x76, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -0.5 - t3new += einsum(x76, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -0.5 - t3new += einsum(x76, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * 0.5 - t3new += einsum(x76, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 0.5 - t3new += einsum(x76, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -0.5 - del x76 - x77 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x77 += einsum(x38, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (0, 4, 5, 6, 7, 2)) * -1.0 - x78 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x78 += einsum(x0, (0, 1, 2, 3), x2, (1, 2, 4, 5), (0, 3, 4, 5)) - del x0 - x79 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x79 += einsum(t2, (0, 1, 2, 3), x78, (4, 3, 5, 6), (0, 1, 4, 2, 6, 5)) * 0.5 - del x78 - x80 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x80 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x80 += einsum(x31, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - del x31 - x81 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x81 += einsum(t2, (0, 1, 2, 3), x80, (4, 5, 1, 6), (0, 4, 5, 2, 3, 6)) * -1.0 - del x80 - x82 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x82 += einsum(x77, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) - del x77 - x82 += einsum(x79, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) - del x79 - x82 += einsum(x81, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - del x81 - t3new += einsum(x82, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - t3new += einsum(x82, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - t3new += einsum(x82, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -1.0 - t3new += einsum(x82, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) * -1.0 - t3new += einsum(x82, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) - t3new += einsum(x82, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 - t3new += einsum(x82, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) - t3new += einsum(x82, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -1.0 - t3new += einsum(x82, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) - del x82 - x83 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x83 += einsum(x27, (0, 1), t3, (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 6, 0)) * -1.0 - del x27 - x84 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x84 += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 2, 3), (4, 5, 6, 0, 1, 7)) - x85 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x85 += einsum(x2, (0, 1, 2, 3), x84, (4, 5, 6, 0, 1, 7), (4, 5, 6, 2, 3, 7)) * 0.25 - del x84 - x86 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x86 += einsum(x83, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - del x83 - x86 += einsum(x85, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - del x85 - t3new += einsum(x86, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - t3new += einsum(x86, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 - t3new += einsum(x86, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) - del x86 - x87 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x87 += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 3), (0, 2, 4, 5)) - x88 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x88 += einsum(t2, (0, 1, 2, 3), x87, (4, 5, 6, 3), (0, 1, 4, 2, 5, 6)) - del x87 - x89 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x89 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x89 += einsum(x25, (0, 1, 2, 3), (0, 1, 2, 3)) - del x25 - x90 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x90 += einsum(t2, (0, 1, 2, 3), x89, (4, 5, 6, 3), (0, 1, 4, 5, 2, 6)) * -1.0 - del x89 - x91 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x91 += einsum(t1, (0, 1), x90, (2, 3, 4, 0, 5, 6), (3, 2, 4, 5, 6, 1)) * -1.0 - del x90 - x92 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x92 += einsum(x88, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x88 - x92 += einsum(x91, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -1.0 - del x91 - t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 - t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) - t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) - t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -1.0 - t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 - t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) - t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -1.0 - t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 - t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) - t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -1.0 - t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) - t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) - t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * -1.0 - t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -1.0 - t3new += einsum(x92, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) - del x92 - x93 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x93 += einsum(t2, (0, 1, 2, 3), x38, (4, 5, 6, 3), (4, 0, 1, 5, 2, 6)) * -1.0 - del x38 - x94 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x94 += einsum(t1, (0, 1), x93, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) - del x93 - t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) - t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -1.0 - t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) - t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -1.0 - t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) - t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * -1.0 - t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 - t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) - t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) - t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -1.0 - t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) * -1.0 - t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) - t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) - t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -1.0 - t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 - t3new += einsum(x94, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) - del x94 - x95 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x95 += einsum(v.vvvv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 2, 3), (4, 5, 6, 7, 0, 1)) - x96 = np.zeros((nvir, nvir), dtype=types[float]) - x96 += einsum(f.ov, (0, 1), t1, (0, 2), (1, 2)) - x97 = np.zeros((nvir, nvir), dtype=types[float]) - x97 += einsum(v.oovv, (0, 1, 2, 3), x2, (0, 1, 3, 4), (4, 2)) * -1.0 - del x2 - x98 = np.zeros((nvir, nvir), dtype=types[float]) - x98 += einsum(f.vv, (0, 1), (0, 1)) * -2.0 - x98 += einsum(x96, (0, 1), (0, 1)) * 2.0 - del x96 - x98 += einsum(x97, (0, 1), (1, 0)) - del x97 - x99 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x99 += einsum(x98, (0, 1), t3, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 6, 1)) * 0.5 - del x98 - x100 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x100 += einsum(x95, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -0.5 - del x95 - x100 += einsum(x99, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -1.0 - del x99 - t3new += einsum(x100, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - t3new += einsum(x100, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - t3new += einsum(x100, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) - del x100 - x101 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x101 += einsum(t1, (0, 1), v.oooo, (2, 3, 4, 0), (2, 3, 4, 1)) - x102 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x102 += einsum(t2, (0, 1, 2, 3), x101, (4, 5, 1, 6), (0, 4, 5, 6, 2, 3)) * -1.0 - del x101 - x103 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x103 += einsum(t1, (0, 1), v.vvvv, (2, 3, 4, 1), (0, 2, 3, 4)) - x104 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x104 += einsum(t2, (0, 1, 2, 3), x103, (4, 5, 6, 3), (4, 0, 1, 2, 5, 6)) * -1.0 - del x103 - x105 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x105 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - x105 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 3, 1)) * -0.99999999999999 - x106 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x106 += einsum(v.oovv, (0, 1, 2, 3), x105, (1, 4, 3, 5), (0, 4, 2, 5)) - del x105 - x107 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x107 += einsum(x106, (0, 1, 2, 3), t3, (4, 5, 0, 6, 7, 2), (4, 5, 1, 6, 7, 3)) * 1.00000000000001 - del x106 - x108 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x108 += einsum(x102, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - del x102 - x108 += einsum(x104, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - del x104 - x108 += einsum(x107, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 - del x107 - t3new += einsum(x108, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - t3new += einsum(x108, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) - t3new += einsum(x108, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -1.0 - t3new += einsum(x108, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) * -1.0 - t3new += einsum(x108, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) - t3new += einsum(x108, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * -1.0 - t3new += einsum(x108, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) - t3new += einsum(x108, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -1.0 - t3new += einsum(x108, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) - del x108 - x109 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x109 += einsum(v.oooo, (0, 1, 2, 3), t3, (4, 2, 3, 5, 6, 7), (4, 0, 1, 5, 6, 7)) - x110 = np.zeros((nocc, nocc), dtype=types[float]) - x110 += einsum(f.oo, (0, 1), (0, 1)) * 2.0 - x110 += einsum(x5, (0, 1), (0, 1)) * 2.0 - del x5 - x110 += einsum(x7, (0, 1), (1, 0)) - del x7 - x111 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x111 += einsum(x110, (0, 1), t3, (2, 3, 0, 4, 5, 6), (2, 3, 1, 4, 5, 6)) * 0.5 - del x110 - x112 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x112 += einsum(x109, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -0.5 - del x109 - x112 += einsum(x111, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * -1.0 - del x111 - t3new += einsum(x112, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) - t3new += einsum(x112, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) - t3new += einsum(x112, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * -1.0 - del x112 - - return {"t1new": t1new, "t2new": t2new, "t3new": t3new} - -def update_lams(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, t3=None, l1=None, l2=None, l3=None, **kwargs): - # L amplitudes - l1new = np.zeros((nvir, nocc), dtype=types[float]) - l1new += einsum(l2, (0, 1, 2, 3), v.ovvv, (3, 4, 0, 1), (4, 2)) * -0.5 - l1new += einsum(f.ov, (0, 1), (1, 0)) - l1new += einsum(l1, (0, 1), v.ovov, (2, 0, 1, 3), (3, 2)) * -1.0 - l2new = np.zeros((nvir, nvir, nocc, nocc), dtype=types[float]) - l2new += einsum(v.oovv, (0, 1, 2, 3), (2, 3, 0, 1)) - l2new += einsum(l2, (0, 1, 2, 3), v.vvvv, (4, 5, 0, 1), (4, 5, 2, 3)) * 0.5 - x0 = np.zeros((nocc, nocc), dtype=types[float]) - x0 += einsum(l1, (0, 1), t1, (2, 0), (1, 2)) - x1 = np.zeros((nocc, nvir), dtype=types[float]) - x1 += einsum(t1, (0, 1), v.oovv, (2, 0, 3, 1), (2, 3)) - l1new += einsum(x0, (0, 1), x1, (1, 2), (2, 0)) * -1.0 - l3new = np.zeros((nvir, nvir, nvir, nocc, nocc, nocc), dtype=types[float]) - l3new += einsum(x1, (0, 1), l2, (2, 3, 4, 5), (2, 3, 1, 4, 5, 0)) - l3new += einsum(x1, (0, 1), l2, (2, 3, 4, 5), (2, 1, 3, 4, 5, 0)) * -1.0 - l3new += einsum(x1, (0, 1), l2, (2, 3, 4, 5), (1, 2, 3, 4, 5, 0)) - l3new += einsum(x1, (0, 1), l2, (2, 3, 4, 5), (2, 3, 1, 4, 0, 5)) * -1.0 - l3new += einsum(x1, (0, 1), l2, (2, 3, 4, 5), (2, 1, 3, 4, 0, 5)) - l3new += einsum(x1, (0, 1), l2, (2, 3, 4, 5), (1, 2, 3, 4, 0, 5)) * -1.0 - l3new += einsum(x1, (0, 1), l2, (2, 3, 4, 5), (2, 3, 1, 0, 4, 5)) - l3new += einsum(x1, (0, 1), l2, (2, 3, 4, 5), (2, 1, 3, 0, 4, 5)) * -1.0 - l3new += einsum(x1, (0, 1), l2, (2, 3, 4, 5), (1, 2, 3, 0, 4, 5)) - x2 = np.zeros((nvir, nvir), dtype=types[float]) - x2 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (3, 4, 5, 6, 1, 2), (0, 6)) - l1new += einsum(x2, (0, 1), v.ovvv, (2, 0, 3, 1), (3, 2)) * 0.08333333333333 - x3 = np.zeros((nocc, nocc), dtype=types[float]) - x3 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 4, 5, 0, 1, 2), (3, 6)) - l1new += einsum(x3, (0, 1), v.ooov, (2, 1, 0, 3), (3, 2)) * 0.08333333333333 - x4 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x4 += einsum(t1, (0, 1), v.oovv, (2, 3, 4, 1), (0, 2, 3, 4)) - x5 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x5 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x5 += einsum(x4, (0, 1, 2, 3), (2, 1, 0, 3)) - x6 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x6 += einsum(t1, (0, 1), v.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) - x7 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x7 += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 3), (0, 4, 2, 5)) - x8 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x8 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x8 += einsum(x6, (0, 1, 2, 3), (0, 1, 2, 3)) - x8 += einsum(x7, (0, 1, 2, 3), (0, 1, 2, 3)) - x9 = np.zeros((nocc, nvir), dtype=types[float]) - x9 += einsum(f.ov, (0, 1), (0, 1)) - x9 += einsum(x1, (0, 1), (0, 1)) - x10 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x10 += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 2, 3), (0, 1, 4, 5)) - x11 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x11 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x11 += einsum(x4, (0, 1, 2, 3), (2, 1, 0, 3)) * 0.5 - x12 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x12 += einsum(t1, (0, 1), x11, (2, 3, 4, 1), (0, 2, 3, 4)) * 4.0 - del x11 - x13 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x13 += einsum(v.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x13 += einsum(x10, (0, 1, 2, 3), (3, 2, 1, 0)) - x13 += einsum(x12, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - x14 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x14 += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 2, 3), (4, 5, 6, 0, 1, 7)) - l2new += einsum(l3, (0, 1, 2, 3, 4, 5), x14, (3, 4, 5, 6, 7, 2), (0, 1, 6, 7)) * 0.08333333333333 - x15 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x15 += einsum(v.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - x15 += einsum(x4, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x16 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x16 += einsum(x14, (0, 1, 2, 3, 4, 5), (0, 1, 4, 3, 2, 5)) * 0.16666666666666 - del x14 - x16 += einsum(t2, (0, 1, 2, 3), x15, (4, 5, 6, 3), (0, 1, 6, 5, 4, 2)) - x17 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x17 += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 2, 3), (0, 4, 5, 6, 7, 1)) * 0.66666666666664 - x17 += einsum(x5, (0, 1, 2, 3), t3, (4, 5, 0, 6, 7, 3), (1, 4, 2, 5, 6, 7)) * -2.0 - x17 += einsum(t2, (0, 1, 2, 3), x8, (4, 5, 6, 3), (5, 0, 4, 1, 2, 6)) * -4.0 - del x8 - x17 += einsum(x9, (0, 1), t3, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) * -0.66666666666664 - x17 += einsum(t2, (0, 1, 2, 3), x13, (1, 4, 5, 6), (4, 0, 6, 5, 2, 3)) * -1.0 - x17 += einsum(t1, (0, 1), x16, (2, 3, 4, 0, 5, 6), (4, 3, 5, 2, 6, 1)) * 4.0 - del x16 - l1new += einsum(l3, (0, 1, 2, 3, 4, 5), x17, (6, 3, 4, 5, 2, 1), (0, 6)) * -0.125 - del x17 - x18 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x18 += einsum(t2, (0, 1, 2, 3), l3, (4, 5, 3, 6, 0, 1), (6, 4, 5, 2)) - l2new += einsum(x18, (0, 1, 2, 3), x5, (4, 5, 0, 3), (1, 2, 5, 4)) * -0.5 - x19 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x19 += einsum(t1, (0, 1), l2, (2, 3, 4, 0), (4, 2, 3, 1)) * 2.0 - x19 += einsum(x18, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - l1new += einsum(v.vvvv, (0, 1, 2, 3), x19, (4, 3, 2, 1), (0, 4)) * -0.25 - del x19 - x20 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x20 += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 2, 3), (0, 1, 4, 5)) - x21 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x21 += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 1, 6, 2, 3), (4, 5, 0, 6)) - x22 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x22 += einsum(t2, (0, 1, 2, 3), x15, (4, 1, 5, 3), (0, 4, 5, 2)) * 2.0 - x23 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x23 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x23 += einsum(x6, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.5 - x24 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x24 += einsum(v.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - x24 += einsum(x10, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 - x24 += einsum(x12, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - x25 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x25 += einsum(v.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - x25 += einsum(x20, (0, 1, 2, 3), (2, 1, 0, 3)) * 0.5 - x25 += einsum(x21, (0, 1, 2, 3), (2, 1, 0, 3)) * -0.5 - x25 += einsum(x22, (0, 1, 2, 3), (2, 0, 1, 3)) - x25 += einsum(x9, (0, 1), t2, (2, 3, 4, 1), (0, 2, 3, 4)) - x25 += einsum(t1, (0, 1), x23, (2, 3, 1, 4), (3, 2, 0, 4)) * -2.0 - del x23 - x25 += einsum(t1, (0, 1), x24, (0, 2, 3, 4), (2, 4, 3, 1)) * -0.5 - del x24 - l1new += einsum(l2, (0, 1, 2, 3), x25, (4, 2, 3, 1), (0, 4)) * 0.5 - del x25 - x26 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x26 += einsum(t1, (0, 1), l3, (2, 3, 1, 4, 5, 6), (4, 5, 6, 0, 2, 3)) - x27 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x27 += einsum(t1, (0, 1), x26, (2, 3, 4, 5, 6, 1), (2, 3, 4, 0, 5, 6)) - x28 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x28 += einsum(t1, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2)) - x29 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x29 += einsum(t2, (0, 1, 2, 3), l3, (4, 2, 3, 5, 6, 1), (5, 6, 0, 4)) - x30 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x30 += einsum(x28, (0, 1, 2, 3), (1, 0, 2, 3)) - x30 += einsum(x29, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - l2new += einsum(v.ovvv, (0, 1, 2, 3), x30, (4, 5, 0, 1), (2, 3, 4, 5)) * -1.0 - x31 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x31 += einsum(l2, (0, 1, 2, 3), t2, (4, 5, 0, 1), (2, 3, 4, 5)) - x32 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x32 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 7, 5, 0, 1, 2), (3, 4, 6, 7)) - x33 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x33 += einsum(x28, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x33 += einsum(x29, (0, 1, 2, 3), (0, 1, 2, 3)) - x34 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x34 += einsum(x31, (0, 1, 2, 3), (1, 0, 3, 2)) * -3.00000000000012 - x34 += einsum(x32, (0, 1, 2, 3), (0, 1, 3, 2)) - x34 += einsum(t1, (0, 1), x33, (2, 3, 4, 1), (2, 3, 0, 4)) * -6.00000000000024 - x35 = np.zeros((nocc, nocc), dtype=types[float]) - x35 += einsum(l2, (0, 1, 2, 3), t2, (4, 3, 0, 1), (2, 4)) - x36 = np.zeros((nocc, nocc), dtype=types[float]) - x36 += einsum(x35, (0, 1), (0, 1)) - x36 += einsum(x3, (0, 1), (0, 1)) * 0.16666666666666 - x37 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x37 += einsum(l1, (0, 1), t2, (2, 3, 4, 0), (1, 2, 3, 4)) - x37 += einsum(l2, (0, 1, 2, 3), t3, (4, 5, 3, 6, 0, 1), (2, 4, 5, 6)) * 0.5 - x37 += einsum(t3, (0, 1, 2, 3, 4, 5), x26, (6, 1, 2, 7, 5, 4), (6, 0, 7, 3)) * -0.5 - x37 += einsum(t2, (0, 1, 2, 3), x18, (4, 3, 2, 5), (4, 0, 1, 5)) * -0.25 - x37 += einsum(t2, (0, 1, 2, 3), x27, (4, 0, 1, 5, 6, 3), (4, 6, 5, 2)) * -0.5 - x37 += einsum(t2, (0, 1, 2, 3), x30, (4, 1, 5, 3), (4, 0, 5, 2)) * 2.0 - x37 += einsum(t1, (0, 1), x34, (0, 2, 3, 4), (2, 4, 3, 1)) * -0.16666666666666 - del x34 - x37 += einsum(t1, (0, 1), x36, (2, 3), (2, 0, 3, 1)) - del x36 - l1new += einsum(v.oovv, (0, 1, 2, 3), x37, (4, 0, 1, 3), (2, 4)) * 0.5 - del x37 - x38 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x38 += einsum(t2, (0, 1, 2, 3), x26, (4, 0, 1, 5, 3, 6), (4, 5, 6, 2)) - x39 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x39 += einsum(x28, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x39 += einsum(x29, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - l1new += einsum(v.ovov, (0, 1, 2, 3), x39, (0, 4, 2, 3), (1, 4)) - x40 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x40 += einsum(x38, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - x40 += einsum(t1, (0, 1), x39, (0, 2, 3, 4), (2, 3, 4, 1)) * -1.0 - l1new += einsum(v.ovvv, (0, 1, 2, 3), x40, (4, 0, 1, 3), (2, 4)) - del x40 - x41 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x41 += einsum(l2, (0, 1, 2, 3), t2, (4, 3, 5, 1), (2, 4, 0, 5)) - x42 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x42 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 4, 5, 7, 1, 2), (3, 6, 0, 7)) - x43 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x43 += einsum(x41, (0, 1, 2, 3), (0, 1, 2, 3)) - x43 += einsum(x42, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.25 - l1new += einsum(v.ovvv, (0, 1, 2, 3), x43, (4, 0, 1, 3), (2, 4)) * -1.0 - del x43 - x44 = np.zeros((nocc, nocc), dtype=types[float]) - x44 += einsum(x0, (0, 1), (0, 1)) * 12.00000000000048 - x44 += einsum(x35, (0, 1), (0, 1)) * 6.00000000000024 - x44 += einsum(x3, (0, 1), (0, 1)) - x45 = np.zeros((nocc, nvir), dtype=types[float]) - x45 += einsum(t1, (0, 1), (0, 1)) * -1.0 - x45 += einsum(l1, (0, 1), t2, (2, 1, 3, 0), (2, 3)) * -1.0 - x45 += einsum(l2, (0, 1, 2, 3), t3, (4, 2, 3, 5, 0, 1), (4, 5)) * -0.25 - x45 += einsum(t3, (0, 1, 2, 3, 4, 5), x26, (2, 0, 1, 6, 5, 4), (6, 3)) * -0.08333333333333 - x45 += einsum(t2, (0, 1, 2, 3), x39, (0, 1, 4, 3), (4, 2)) * -0.5 - x45 += einsum(t1, (0, 1), x44, (0, 2), (2, 1)) * 0.08333333333333 - l1new += einsum(x45, (0, 1), v.oovv, (2, 0, 3, 1), (3, 2)) * -1.0 - del x45 - x46 = np.zeros((nvir, nvir), dtype=types[float]) - x46 += einsum(l2, (0, 1, 2, 3), t2, (2, 3, 4, 1), (0, 4)) - x47 = np.zeros((nvir, nvir), dtype=types[float]) - x47 += einsum(l1, (0, 1), t1, (1, 2), (0, 2)) - x47 += einsum(x46, (0, 1), (0, 1)) * 0.5 - l1new += einsum(x47, (0, 1), v.ovvv, (2, 0, 3, 1), (3, 2)) - del x47 - x48 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x48 += einsum(x31, (0, 1, 2, 3), (1, 0, 3, 2)) * 3.00000000000012 - x48 += einsum(x32, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - l1new += einsum(v.ooov, (0, 1, 2, 3), x48, (2, 4, 0, 1), (3, 4)) * 0.08333333333333 - del x48 - x49 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x49 += einsum(t1, (0, 1), x33, (2, 3, 4, 1), (3, 2, 4, 0)) - l1new += einsum(v.ooov, (0, 1, 2, 3), x49, (4, 2, 0, 1), (3, 4)) * -0.5 - del x49 - x50 = np.zeros((nocc, nocc), dtype=types[float]) - x50 += einsum(x0, (0, 1), (0, 1)) * 2.0 - x50 += einsum(x35, (0, 1), (0, 1)) - l1new += einsum(x50, (0, 1), v.ooov, (2, 1, 0, 3), (3, 2)) * 0.5 - del x50 - x51 = np.zeros((nvir, nvir), dtype=types[float]) - x51 += einsum(t1, (0, 1), v.ovvv, (0, 2, 3, 1), (2, 3)) - x52 = np.zeros((nvir, nvir), dtype=types[float]) - x52 += einsum(f.vv, (0, 1), (0, 1)) - x52 += einsum(x51, (0, 1), (0, 1)) * -1.0 - l1new += einsum(l1, (0, 1), x52, (0, 2), (2, 1)) - del x52 - x53 = np.zeros((nocc, nocc), dtype=types[float]) - x53 += einsum(t1, (0, 1), v.ooov, (2, 0, 3, 1), (2, 3)) - x54 = np.zeros((nocc, nocc), dtype=types[float]) - x54 += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 2, 3), (0, 4)) - x55 = np.zeros((nocc, nocc), dtype=types[float]) - x55 += einsum(f.oo, (0, 1), (0, 1)) * 2.0 - x55 += einsum(x53, (0, 1), (1, 0)) * 2.0 - x55 += einsum(x54, (0, 1), (0, 1)) - x55 += einsum(t1, (0, 1), x9, (2, 1), (0, 2)) * 2.0 - del x9 - l1new += einsum(l1, (0, 1), x55, (1, 2), (0, 2)) * -0.5 - del x55 - x56 = np.zeros((nocc, nocc), dtype=types[float]) - x56 += einsum(x0, (0, 1), (0, 1)) * 2.0 - del x0 - x56 += einsum(x35, (0, 1), (0, 1)) - del x35 - x56 += einsum(x3, (0, 1), (0, 1)) * 0.16666666666666 - del x3 - l1new += einsum(f.ov, (0, 1), x56, (2, 0), (1, 2)) * -0.5 - del x56 - x57 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x57 += einsum(f.vv, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2)) - x58 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x58 += einsum(t1, (0, 1), v.vvvv, (2, 3, 4, 1), (0, 2, 3, 4)) - x59 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x59 += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 3), (0, 2, 4, 5)) - x60 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x60 += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 0, 1, 5, 6, 3), (4, 5, 6, 2)) - x61 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x61 += einsum(t2, (0, 1, 2, 3), x5, (0, 1, 4, 5), (4, 2, 3, 5)) * 0.5 - del x5 - x62 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x62 += einsum(v.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x62 += einsum(x58, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x58 - x62 += einsum(x59, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x59 - x62 += einsum(x60, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.49999999999998 - del x60 - x62 += einsum(x61, (0, 1, 2, 3), (0, 2, 1, 3)) - del x61 - x63 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x63 += einsum(x62, (0, 1, 2, 3), l3, (4, 1, 2, 5, 6, 0), (5, 6, 4, 3)) * -0.5 - del x62 - x64 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x64 += einsum(t1, (0, 1), v.ooov, (2, 0, 3, 4), (2, 3, 1, 4)) - x65 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x65 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x65 += einsum(x64, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.5 - del x64 - x65 += einsum(x7, (0, 1, 2, 3), (0, 1, 2, 3)) - x66 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x66 += einsum(x65, (0, 1, 2, 3), x26, (4, 5, 0, 1, 2, 6), (4, 5, 6, 3)) - del x65 - x67 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x67 += einsum(t1, (0, 1), x4, (2, 3, 0, 4), (2, 3, 1, 4)) - x68 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x68 += einsum(x6, (0, 1, 2, 3), (0, 1, 2, 3)) - x68 += einsum(x67, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - del x67 - x69 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x69 += einsum(x68, (0, 1, 2, 3), x26, (4, 5, 0, 1, 2, 6), (4, 5, 6, 3)) - del x68 - x70 = np.zeros((nvir, nvir), dtype=types[float]) - x70 += einsum(x46, (0, 1), (0, 1)) - del x46 - x70 += einsum(x2, (0, 1), (0, 1)) * 0.16666666666666 - del x2 - x71 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x71 += einsum(x70, (0, 1), v.oovv, (2, 3, 4, 1), (2, 3, 0, 4)) * -0.5 - del x70 - x72 = np.zeros((nvir, nvir), dtype=types[float]) - x72 += einsum(t2, (0, 1, 2, 3), v.oovv, (0, 1, 4, 3), (2, 4)) - x73 = np.zeros((nvir, nvir), dtype=types[float]) - x73 += einsum(x51, (0, 1), (0, 1)) - del x51 - x73 += einsum(x72, (0, 1), (0, 1)) * 0.5 - del x72 - x74 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x74 += einsum(x73, (0, 1), l2, (2, 0, 3, 4), (3, 4, 2, 1)) * -1.0 - x75 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x75 += einsum(l1, (0, 1), x15, (1, 2, 3, 4), (2, 3, 0, 4)) - del x15 - x76 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x76 += einsum(f.ov, (0, 1), x39, (2, 3, 0, 4), (2, 3, 4, 1)) - x77 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x77 += einsum(x1, (0, 1), x39, (2, 3, 0, 4), (2, 3, 4, 1)) - del x39 - x78 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x78 += einsum(x57, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x57 - x78 += einsum(x63, (0, 1, 2, 3), (0, 1, 2, 3)) - del x63 - x78 += einsum(x66, (0, 1, 2, 3), (0, 1, 2, 3)) - del x66 - x78 += einsum(x69, (0, 1, 2, 3), (0, 1, 2, 3)) - del x69 - x78 += einsum(x71, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x71 - x78 += einsum(x74, (0, 1, 2, 3), (1, 0, 2, 3)) - del x74 - x78 += einsum(x75, (0, 1, 2, 3), (1, 0, 2, 3)) - del x75 - x78 += einsum(x76, (0, 1, 2, 3), (1, 0, 3, 2)) - del x76 - x78 += einsum(x77, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x77 - l2new += einsum(x78, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 - l2new += einsum(x78, (0, 1, 2, 3), (3, 2, 0, 1)) - del x78 - x79 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x79 += einsum(x28, (0, 1, 2, 3), x4, (0, 4, 2, 5), (1, 4, 3, 5)) * -1.0 - x80 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x80 += einsum(v.ovvv, (0, 1, 2, 3), x18, (4, 5, 1, 3), (4, 0, 5, 2)) - x81 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x81 += einsum(t1, (0, 1), x29, (0, 2, 3, 4), (2, 3, 4, 1)) * -1.0 - x82 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x82 += einsum(x41, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - del x41 - x82 += einsum(x42, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.49999999999998 - del x42 - x82 += einsum(x38, (0, 1, 2, 3), (0, 1, 2, 3)) - del x38 - x82 += einsum(x81, (0, 1, 2, 3), (0, 1, 2, 3)) - del x81 - x83 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x83 += einsum(v.oovv, (0, 1, 2, 3), x82, (4, 1, 5, 3), (4, 0, 5, 2)) * 0.5 - del x82 - x84 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x84 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x84 += einsum(x6, (0, 1, 2, 3), (0, 1, 2, 3)) - x85 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x85 += einsum(l2, (0, 1, 2, 3), x84, (3, 4, 1, 5), (2, 4, 0, 5)) - del x84 - x86 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x86 += einsum(v.ooov, (0, 1, 2, 3), x30, (4, 2, 1, 5), (0, 4, 3, 5)) * -1.0 - del x30 - x87 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x87 += einsum(f.ov, (0, 1), l1, (2, 3), (0, 3, 1, 2)) - x87 += einsum(l1, (0, 1), x1, (2, 3), (1, 2, 0, 3)) - x87 += einsum(x79, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x79 - x87 += einsum(x80, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - del x80 - x87 += einsum(x83, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x83 - x87 += einsum(x85, (0, 1, 2, 3), (0, 1, 2, 3)) - del x85 - x87 += einsum(x86, (0, 1, 2, 3), (1, 0, 3, 2)) - del x86 - l2new += einsum(x87, (0, 1, 2, 3), (2, 3, 0, 1)) - l2new += einsum(x87, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - l2new += einsum(x87, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 - l2new += einsum(x87, (0, 1, 2, 3), (3, 2, 1, 0)) - del x87 - x88 = np.zeros((nocc, nocc), dtype=types[float]) - x88 += einsum(f.ov, (0, 1), t1, (2, 1), (0, 2)) - x89 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x89 += einsum(x88, (0, 1), l2, (2, 3, 4, 1), (0, 4, 2, 3)) - x90 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x90 += einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), (0, 2, 3, 4)) - x91 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x91 += einsum(x90, (0, 1, 2, 3), l3, (4, 5, 3, 6, 2, 1), (0, 6, 4, 5)) - del x90 - x92 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x92 += einsum(x1, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4)) * -1.0 - x93 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x93 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x93 += einsum(x6, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.5 - x94 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x94 += einsum(t1, (0, 1), x93, (2, 3, 4, 1), (0, 2, 3, 4)) * 2.0 - del x93 - x95 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x95 += einsum(t1, (0, 1), x13, (0, 2, 3, 4), (2, 3, 4, 1)) * 0.5 - del x13 - x96 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x96 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x96 += einsum(x20, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.5 - del x20 - x96 += einsum(x21, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.49999999999998 - del x21 - x96 += einsum(x92, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x92 - x96 += einsum(x22, (0, 1, 2, 3), (0, 1, 2, 3)) - del x22 - x96 += einsum(x94, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - del x94 - x96 += einsum(x95, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - del x95 - x97 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x97 += einsum(x96, (0, 1, 2, 3), l3, (4, 5, 3, 6, 0, 1), (6, 2, 4, 5)) * -0.5 - del x96 - x98 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x98 += einsum(x44, (0, 1), v.oovv, (2, 1, 3, 4), (0, 2, 3, 4)) * -0.08333333333333 - del x44 - x99 = np.zeros((nocc, nocc), dtype=types[float]) - x99 += einsum(t1, (0, 1), x1, (2, 1), (0, 2)) - x100 = np.zeros((nocc, nocc), dtype=types[float]) - x100 += einsum(x53, (0, 1), (0, 1)) - del x53 - x100 += einsum(x54, (0, 1), (1, 0)) * 0.5 - del x54 - x100 += einsum(x99, (0, 1), (1, 0)) - del x99 - x101 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x101 += einsum(x100, (0, 1), l2, (2, 3, 4, 1), (4, 0, 2, 3)) * -1.0 - x102 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x102 += einsum(x89, (0, 1, 2, 3), (0, 1, 3, 2)) - del x89 - x102 += einsum(x91, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.5 - del x91 - x102 += einsum(x97, (0, 1, 2, 3), (0, 1, 2, 3)) - del x97 - x102 += einsum(x98, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x98 - x102 += einsum(x101, (0, 1, 2, 3), (0, 1, 3, 2)) - del x101 - l2new += einsum(x102, (0, 1, 2, 3), (3, 2, 0, 1)) - l2new += einsum(x102, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 - del x102 - x103 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x103 += einsum(f.oo, (0, 1), l2, (2, 3, 4, 1), (0, 4, 2, 3)) - x104 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x104 += einsum(l1, (0, 1), v.ovvv, (2, 0, 3, 4), (1, 2, 3, 4)) - x105 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x105 += einsum(x103, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x103 - x105 += einsum(x104, (0, 1, 2, 3), (0, 1, 3, 2)) - del x104 - l2new += einsum(x105, (0, 1, 2, 3), (2, 3, 0, 1)) - l2new += einsum(x105, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 - del x105 - x106 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x106 += einsum(v.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x106 += einsum(x10, (0, 1, 2, 3), (1, 0, 3, 2)) - del x10 - x106 += einsum(x12, (0, 1, 2, 3), (3, 0, 2, 1)) * -1.0 - del x12 - l2new += einsum(l2, (0, 1, 2, 3), x106, (2, 3, 4, 5), (0, 1, 4, 5)) * 0.25 - x107 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x107 += einsum(x31, (0, 1, 2, 3), (1, 0, 3, 2)) - del x31 - x107 += einsum(x32, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.33333333333332 - del x32 - x107 += einsum(t1, (0, 1), x33, (2, 3, 4, 1), (3, 2, 4, 0)) * 2.0 - del x33 - l2new += einsum(v.oovv, (0, 1, 2, 3), x107, (4, 5, 0, 1), (2, 3, 5, 4)) * -0.25 - del x107 - x108 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x108 += einsum(x106, (0, 1, 2, 3), l3, (4, 5, 6, 7, 0, 1), (7, 2, 3, 4, 5, 6)) * -0.25 - del x106 - x109 = np.zeros((nocc, nocc), dtype=types[float]) - x109 += einsum(f.oo, (0, 1), (0, 1)) - x109 += einsum(x88, (0, 1), (1, 0)) - del x88 - x110 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x110 += einsum(x109, (0, 1), l3, (2, 3, 4, 5, 6, 0), (5, 6, 1, 2, 3, 4)) - del x109 - x111 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x111 += einsum(x108, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) - del x108 - x111 += einsum(x110, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) - del x110 - l3new += einsum(x111, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 1, 2)) * -1.0 - l3new += einsum(x111, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 0, 2)) - l3new += einsum(x111, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) * -1.0 - del x111 - x112 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x112 += einsum(x100, (0, 1), l3, (2, 3, 4, 5, 6, 1), (5, 6, 0, 2, 3, 4)) - del x100 - l3new += einsum(x112, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) - l3new += einsum(x112, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) * -1.0 - l3new += einsum(x112, (0, 1, 2, 3, 4, 5), (5, 3, 4, 2, 1, 0)) - del x112 - x113 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x113 += einsum(v.ooov, (0, 1, 2, 3), x26, (4, 2, 5, 1, 6, 7), (4, 5, 0, 6, 7, 3)) * -1.0 - x114 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x114 += einsum(x4, (0, 1, 2, 3), x26, (0, 4, 5, 2, 6, 7), (5, 4, 1, 6, 7, 3)) * -1.0 - x115 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x115 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x115 += einsum(x6, (0, 1, 2, 3), (0, 1, 2, 3)) - del x6 - x115 += einsum(x7, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.00000000000001 - del x7 - x116 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x116 += einsum(x115, (0, 1, 2, 3), l3, (4, 5, 2, 6, 7, 0), (6, 7, 1, 4, 5, 3)) - del x115 - x117 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x117 += einsum(x113, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - del x113 - x117 += einsum(x114, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) - del x114 - x117 += einsum(x116, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x116 - l3new += einsum(x117, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 0, 2)) - l3new += einsum(x117, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 0, 2)) * -1.0 - l3new += einsum(x117, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) * -1.0 - l3new += einsum(x117, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 2, 0)) * -1.0 - l3new += einsum(x117, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) - l3new += einsum(x117, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) - l3new += einsum(x117, (0, 1, 2, 3, 4, 5), (4, 3, 5, 2, 1, 0)) - l3new += einsum(x117, (0, 1, 2, 3, 4, 5), (4, 5, 3, 2, 1, 0)) * -1.0 - l3new += einsum(x117, (0, 1, 2, 3, 4, 5), (5, 3, 4, 2, 1, 0)) * -1.0 - del x117 - x118 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x118 += einsum(f.vv, (0, 1), l3, (2, 3, 1, 4, 5, 6), (4, 5, 6, 0, 2, 3)) - x119 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x119 += einsum(f.ov, (0, 1), x26, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) - x120 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x120 += einsum(v.vvvv, (0, 1, 2, 3), l3, (4, 2, 3, 5, 6, 7), (5, 6, 7, 4, 0, 1)) - x121 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x121 += einsum(v.ovvv, (0, 1, 2, 3), x26, (4, 5, 6, 0, 7, 1), (4, 5, 6, 7, 2, 3)) * -1.0 - x122 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x122 += einsum(t2, (0, 1, 2, 3), l3, (4, 2, 3, 5, 6, 7), (5, 6, 7, 0, 1, 4)) - x123 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x123 += einsum(x122, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - del x122 - x123 += einsum(x27, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -2.0 - del x27 - x124 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x124 += einsum(v.oovv, (0, 1, 2, 3), x123, (4, 5, 6, 0, 1, 7), (4, 5, 6, 7, 2, 3)) * 0.25 - del x123 - x125 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x125 += einsum(x118, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 - del x118 - x125 += einsum(x119, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - del x119 - x125 += einsum(x120, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -0.5 - del x120 - x125 += einsum(x121, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - del x121 - x125 += einsum(x124, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 - del x124 - l3new += einsum(x125, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 2, 0)) - l3new += einsum(x125, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) - l3new += einsum(x125, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 2, 0)) * -1.0 - del x125 - x126 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x126 += einsum(x1, (0, 1), x26, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 6, 1)) - del x1, x26 - x127 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x127 += einsum(x73, (0, 1), l3, (2, 3, 0, 4, 5, 6), (4, 5, 6, 2, 3, 1)) - del x73 - x128 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x128 += einsum(x126, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - del x126 - x128 += einsum(x127, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) - del x127 - l3new += einsum(x128, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 2, 0)) - l3new += einsum(x128, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) * -1.0 - l3new += einsum(x128, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) * -1.0 - del x128 - x129 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x129 += einsum(l2, (0, 1, 2, 3), v.ovvv, (4, 1, 5, 6), (2, 3, 4, 0, 5, 6)) - x130 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x130 += einsum(v.oovv, (0, 1, 2, 3), x29, (4, 5, 1, 6), (5, 4, 0, 6, 2, 3)) - del x29 - x131 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x131 += einsum(x129, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 - del x129 - x131 += einsum(x130, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -0.5 - del x130 - l3new += einsum(x131, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 0, 2)) - l3new += einsum(x131, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) - l3new += einsum(x131, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 0, 2)) * -1.0 - l3new += einsum(x131, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 2, 0)) * -1.0 - l3new += einsum(x131, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) * -1.0 - l3new += einsum(x131, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 2, 0)) - l3new += einsum(x131, (0, 1, 2, 3, 4, 5), (3, 4, 5, 2, 1, 0)) - l3new += einsum(x131, (0, 1, 2, 3, 4, 5), (5, 3, 4, 2, 1, 0)) - l3new += einsum(x131, (0, 1, 2, 3, 4, 5), (5, 4, 3, 2, 1, 0)) * -1.0 - del x131 - x132 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x132 += einsum(l2, (0, 1, 2, 3), v.ooov, (4, 5, 3, 6), (2, 4, 5, 0, 1, 6)) - x133 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x133 += einsum(v.oovv, (0, 1, 2, 3), x18, (4, 5, 6, 3), (4, 0, 1, 6, 5, 2)) - del x18 - x134 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x134 += einsum(x132, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) - del x132 - x134 += einsum(x133, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 0.5 - del x133 - l3new += einsum(x134, (0, 1, 2, 3, 4, 5), (4, 3, 5, 0, 1, 2)) - l3new += einsum(x134, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 1, 2)) * -1.0 - l3new += einsum(x134, (0, 1, 2, 3, 4, 5), (5, 3, 4, 0, 1, 2)) * -1.0 - l3new += einsum(x134, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 0, 2)) * -1.0 - l3new += einsum(x134, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 0, 2)) - l3new += einsum(x134, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) - l3new += einsum(x134, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 2, 0)) - l3new += einsum(x134, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) * -1.0 - l3new += einsum(x134, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) * -1.0 - del x134 - x135 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x135 += einsum(f.ov, (0, 1), l2, (2, 3, 4, 5), (0, 4, 5, 1, 2, 3)) - x135 += einsum(l1, (0, 1), v.oovv, (2, 3, 4, 5), (1, 2, 3, 0, 4, 5)) - l3new += einsum(x135, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 1, 2)) - l3new += einsum(x135, (0, 1, 2, 3, 4, 5), (4, 3, 5, 0, 1, 2)) * -1.0 - l3new += einsum(x135, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 1, 2)) - l3new += einsum(x135, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 0, 2)) * -1.0 - l3new += einsum(x135, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 0, 2)) - l3new += einsum(x135, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 0, 2)) * -1.0 - l3new += einsum(x135, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 2, 0)) - l3new += einsum(x135, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 2, 0)) * -1.0 - l3new += einsum(x135, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) - del x135 - x136 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x136 += einsum(l2, (0, 1, 2, 3), x4, (3, 4, 5, 6), (2, 5, 4, 0, 1, 6)) * -1.0 - del x4 - l3new += einsum(x136, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 2, 1)) * -1.0 - l3new += einsum(x136, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) * -1.0 - l3new += einsum(x136, (0, 1, 2, 3, 4, 5), (5, 4, 3, 0, 2, 1)) - l3new += einsum(x136, (0, 1, 2, 3, 4, 5), (3, 4, 5, 2, 0, 1)) - l3new += einsum(x136, (0, 1, 2, 3, 4, 5), (4, 5, 3, 2, 0, 1)) - l3new += einsum(x136, (0, 1, 2, 3, 4, 5), (5, 4, 3, 2, 0, 1)) * -1.0 - l3new += einsum(x136, (0, 1, 2, 3, 4, 5), (3, 4, 5, 2, 1, 0)) * -1.0 - l3new += einsum(x136, (0, 1, 2, 3, 4, 5), (4, 5, 3, 2, 1, 0)) * -1.0 - l3new += einsum(x136, (0, 1, 2, 3, 4, 5), (5, 4, 3, 2, 1, 0)) - del x136 - x137 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x137 += einsum(v.oovv, (0, 1, 2, 3), x28, (4, 5, 1, 6), (4, 5, 0, 6, 2, 3)) - del x28 - l3new += einsum(x137, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 0, 2)) - l3new += einsum(x137, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) * -1.0 - l3new += einsum(x137, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 0, 2)) * -1.0 - l3new += einsum(x137, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 2, 0)) * -1.0 - l3new += einsum(x137, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) - l3new += einsum(x137, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) - l3new += einsum(x137, (0, 1, 2, 3, 4, 5), (3, 5, 4, 2, 1, 0)) - l3new += einsum(x137, (0, 1, 2, 3, 4, 5), (5, 3, 4, 2, 1, 0)) * -1.0 - l3new += einsum(x137, (0, 1, 2, 3, 4, 5), (4, 5, 3, 2, 1, 0)) * -1.0 - del x137 - - return {"l1new": l1new, "l2new": l2new, "l3new": l3new} - -def make_rdm1_f(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, t3=None, l1=None, l2=None, l3=None, **kwargs): - delta = Namespace(oo=np.eye(nocc), vv=np.eye(nvir)) - - # RDM1 - rdm1_f_oo = np.zeros((nocc, nocc), dtype=types[float]) - rdm1_f_oo += einsum(delta.oo, (0, 1), (0, 1)) - rdm1_f_ov = np.zeros((nocc, nvir), dtype=types[float]) - rdm1_f_ov += einsum(t1, (0, 1), (0, 1)) - rdm1_f_ov += einsum(l2, (0, 1, 2, 3), t3, (4, 2, 3, 5, 0, 1), (4, 5)) * 0.25 - rdm1_f_ov += einsum(l1, (0, 1), t2, (2, 1, 3, 0), (2, 3)) - rdm1_f_vo = np.zeros((nvir, nocc), dtype=types[float]) - rdm1_f_vo += einsum(l1, (0, 1), (0, 1)) - rdm1_f_vv = np.zeros((nvir, nvir), dtype=types[float]) - rdm1_f_vv += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (3, 4, 5, 6, 1, 2), (0, 6)) * 0.08333333333333 - rdm1_f_vv += einsum(l2, (0, 1, 2, 3), t2, (2, 3, 4, 1), (0, 4)) * 0.5 - rdm1_f_vv += einsum(l1, (0, 1), t1, (1, 2), (0, 2)) - x0 = np.zeros((nocc, nocc), dtype=types[float]) - x0 += einsum(l2, (0, 1, 2, 3), t2, (4, 3, 0, 1), (2, 4)) - rdm1_f_oo += einsum(x0, (0, 1), (1, 0)) * -0.5 - x1 = np.zeros((nocc, nocc), dtype=types[float]) - x1 += einsum(l1, (0, 1), t1, (2, 0), (1, 2)) - rdm1_f_oo += einsum(x1, (0, 1), (1, 0)) * -1.0 - x2 = np.zeros((nocc, nocc), dtype=types[float]) - x2 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 4, 5, 0, 1, 2), (3, 6)) - rdm1_f_oo += einsum(x2, (0, 1), (1, 0)) * -0.08333333333333 - x3 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x3 += einsum(t1, (0, 1), l3, (2, 3, 1, 4, 5, 6), (4, 5, 6, 0, 2, 3)) - rdm1_f_ov += einsum(t3, (0, 1, 2, 3, 4, 5), x3, (0, 1, 2, 6, 5, 4), (6, 3)) * 0.08333333333333 - del x3 - x4 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x4 += einsum(t1, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2)) - x4 += einsum(t2, (0, 1, 2, 3), l3, (4, 2, 3, 5, 6, 1), (5, 6, 0, 4)) * 0.5 - rdm1_f_ov += einsum(t2, (0, 1, 2, 3), x4, (0, 1, 4, 3), (4, 2)) * 0.5 - del x4 - x5 = np.zeros((nocc, nocc), dtype=types[float]) - x5 += einsum(x1, (0, 1), (0, 1)) - del x1 - x5 += einsum(x0, (0, 1), (0, 1)) * 0.5 - del x0 - x5 += einsum(x2, (0, 1), (0, 1)) * 0.08333333333333 - del x2 - rdm1_f_ov += einsum(t1, (0, 1), x5, (0, 2), (2, 1)) * -1.0 - del x5 - - rdm1_f = np.block([[rdm1_f_oo, rdm1_f_ov], [rdm1_f_vo, rdm1_f_vv]]) - - return rdm1_f - -def make_rdm2_f(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, t3=None, l1=None, l2=None, l3=None, **kwargs): - delta = Namespace(oo=np.eye(nocc), vv=np.eye(nvir)) - - # RDM2 - rdm2_f_oooo = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - rdm2_f_oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (0, 2, 1, 3)) - rdm2_f_oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_ovoo = np.zeros((nocc, nvir, nocc, nocc), dtype=types[float]) - rdm2_f_ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (0, 2, 1, 3)) - rdm2_f_ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_vooo = np.zeros((nvir, nocc, nocc, nocc), dtype=types[float]) - rdm2_f_vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 0, 3, 1)) - rdm2_f_oovv = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - rdm2_f_oovv += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(l1, (0, 1), t3, (2, 3, 1, 4, 5, 0), (2, 3, 4, 5)) - rdm2_f_oovv += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_oovv += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) - rdm2_f_ovov = np.zeros((nocc, nvir, nocc, nvir), dtype=types[float]) - rdm2_f_ovov += einsum(l1, (0, 1), t1, (2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_ovvo = np.zeros((nocc, nvir, nvir, nocc), dtype=types[float]) - rdm2_f_ovvo += einsum(l1, (0, 1), t1, (2, 3), (2, 0, 3, 1)) - rdm2_f_voov = np.zeros((nvir, nocc, nocc, nvir), dtype=types[float]) - rdm2_f_voov += einsum(l1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) - rdm2_f_vovo = np.zeros((nvir, nocc, nvir, nocc), dtype=types[float]) - rdm2_f_vovo += einsum(l1, (0, 1), t1, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_vvoo = np.zeros((nvir, nvir, nocc, nocc), dtype=types[float]) - rdm2_f_vvoo += einsum(l2, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_vvvv = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) - rdm2_f_vvvv += einsum(l2, (0, 1, 2, 3), t2, (2, 3, 4, 5), (0, 1, 4, 5)) * 0.5 - rdm2_f_vvvv += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (3, 4, 5, 6, 7, 2), (0, 1, 6, 7)) * 0.16666666666667 - x0 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x0 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 7, 5, 0, 1, 2), (3, 4, 6, 7)) - rdm2_f_oooo += einsum(x0, (0, 1, 2, 3), (2, 3, 1, 0)) * -0.16666666666667 - x1 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x1 += einsum(l2, (0, 1, 2, 3), t2, (4, 5, 0, 1), (2, 3, 4, 5)) - rdm2_f_oooo += einsum(x1, (0, 1, 2, 3), (3, 2, 1, 0)) * 0.5 - x2 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x2 += einsum(t1, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2)) - rdm2_f_ovoo += einsum(x2, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 - rdm2_f_vooo += einsum(x2, (0, 1, 2, 3), (3, 2, 1, 0)) - x3 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x3 += einsum(t1, (0, 1), x2, (2, 3, 4, 1), (2, 3, 0, 4)) - rdm2_f_oooo += einsum(x3, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 - x4 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x4 += einsum(t2, (0, 1, 2, 3), l3, (4, 2, 3, 5, 6, 1), (5, 6, 0, 4)) - rdm2_f_ovoo += einsum(x4, (0, 1, 2, 3), (2, 3, 1, 0)) * -0.5 - rdm2_f_vooo += einsum(x4, (0, 1, 2, 3), (3, 2, 1, 0)) * 0.5 - x5 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x5 += einsum(t1, (0, 1), x4, (2, 3, 4, 1), (2, 3, 0, 4)) - rdm2_f_oooo += einsum(x5, (0, 1, 2, 3), (2, 3, 1, 0)) * -0.5 - rdm2_f_oooo += einsum(x5, (0, 1, 2, 3), (3, 2, 1, 0)) * 0.5 - x6 = np.zeros((nocc, nocc), dtype=types[float]) - x6 += einsum(l2, (0, 1, 2, 3), t2, (4, 3, 0, 1), (2, 4)) - x7 = np.zeros((nocc, nocc), dtype=types[float]) - x7 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 4, 5, 0, 1, 2), (3, 6)) - x8 = np.zeros((nocc, nocc), dtype=types[float]) - x8 += einsum(x6, (0, 1), (0, 1)) - x8 += einsum(x7, (0, 1), (0, 1)) * 0.16666666666666 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x8, (2, 3), (0, 3, 1, 2)) * -0.5 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x8, (2, 3), (0, 3, 2, 1)) * 0.5 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x8, (2, 3), (3, 0, 1, 2)) * 0.5 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x8, (2, 3), (3, 0, 2, 1)) * -0.5 - del x8 - x9 = np.zeros((nocc, nocc), dtype=types[float]) - x9 += einsum(l1, (0, 1), t1, (2, 0), (1, 2)) - rdm2_f_oooo += einsum(delta.oo, (0, 1), x9, (2, 3), (0, 3, 1, 2)) * -1.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x9, (2, 3), (3, 0, 1, 2)) - rdm2_f_oooo += einsum(delta.oo, (0, 1), x9, (2, 3), (0, 3, 2, 1)) - rdm2_f_oooo += einsum(delta.oo, (0, 1), x9, (2, 3), (3, 0, 2, 1)) * -1.0 - x10 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x10 += einsum(l1, (0, 1), t2, (2, 3, 4, 0), (1, 2, 3, 4)) - rdm2_f_ooov = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - rdm2_f_ooov += einsum(x10, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_oovo = np.zeros((nocc, nocc, nvir, nocc), dtype=types[float]) - rdm2_f_oovo += einsum(x10, (0, 1, 2, 3), (2, 1, 3, 0)) - x11 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x11 += einsum(l2, (0, 1, 2, 3), t3, (4, 5, 3, 6, 0, 1), (2, 4, 5, 6)) - rdm2_f_ooov += einsum(x11, (0, 1, 2, 3), (1, 2, 0, 3)) * 0.5 - rdm2_f_oovo += einsum(x11, (0, 1, 2, 3), (1, 2, 3, 0)) * -0.5 - x12 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x12 += einsum(t2, (0, 1, 2, 3), l3, (4, 5, 3, 6, 0, 1), (6, 4, 5, 2)) - rdm2_f_vvov = np.zeros((nvir, nvir, nocc, nvir), dtype=types[float]) - rdm2_f_vvov += einsum(x12, (0, 1, 2, 3), (1, 2, 0, 3)) * 0.5 - rdm2_f_vvvo = np.zeros((nvir, nvir, nvir, nocc), dtype=types[float]) - rdm2_f_vvvo += einsum(x12, (0, 1, 2, 3), (1, 2, 3, 0)) * -0.5 - x13 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x13 += einsum(t2, (0, 1, 2, 3), x12, (4, 3, 2, 5), (4, 0, 1, 5)) * -1.0 - rdm2_f_ooov += einsum(x13, (0, 1, 2, 3), (1, 2, 0, 3)) * 0.25 - rdm2_f_oovo += einsum(x13, (0, 1, 2, 3), (1, 2, 3, 0)) * -0.25 - x14 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x14 += einsum(t1, (0, 1), l3, (2, 3, 1, 4, 5, 6), (4, 5, 6, 0, 2, 3)) - x15 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x15 += einsum(t1, (0, 1), x14, (2, 3, 4, 5, 1, 6), (2, 3, 4, 5, 0, 6)) - x16 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x16 += einsum(t2, (0, 1, 2, 3), x15, (4, 1, 0, 5, 6, 3), (4, 6, 5, 2)) - rdm2_f_ooov += einsum(x16, (0, 1, 2, 3), (1, 2, 0, 3)) * 0.5 - rdm2_f_oovo += einsum(x16, (0, 1, 2, 3), (1, 2, 3, 0)) * -0.5 - x17 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x17 += einsum(t3, (0, 1, 2, 3, 4, 5), x14, (6, 1, 2, 7, 4, 5), (6, 7, 0, 3)) - x18 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x18 += einsum(t1, (0, 1), x5, (0, 2, 3, 4), (2, 3, 4, 1)) * -1.0 - x19 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x19 += einsum(x2, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x19 += einsum(x4, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - x20 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x20 += einsum(t2, (0, 1, 2, 3), x19, (1, 4, 5, 3), (4, 5, 0, 2)) - x21 = np.zeros((nocc, nocc), dtype=types[float]) - x21 += einsum(x9, (0, 1), (0, 1)) * 12.00000000000048 - x21 += einsum(x6, (0, 1), (0, 1)) * 6.00000000000024 - x21 += einsum(x7, (0, 1), (0, 1)) - x22 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x22 += einsum(delta.oo, (0, 1), t1, (2, 3), (0, 1, 2, 3)) - x22 += einsum(x17, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.25 - x22 += einsum(x18, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.5 - del x18 - x22 += einsum(x20, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x20 - x22 += einsum(t1, (0, 1), x21, (2, 3), (0, 2, 3, 1)) * 0.08333333333333 - rdm2_f_ooov += einsum(x22, (0, 1, 2, 3), (0, 2, 1, 3)) - rdm2_f_ooov += einsum(x22, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_oovo += einsum(x22, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_oovo += einsum(x22, (0, 1, 2, 3), (2, 0, 3, 1)) - del x22 - x23 = np.zeros((nocc, nvir), dtype=types[float]) - x23 += einsum(l1, (0, 1), t2, (2, 1, 3, 0), (2, 3)) - x24 = np.zeros((nocc, nvir), dtype=types[float]) - x24 += einsum(l2, (0, 1, 2, 3), t3, (4, 2, 3, 5, 0, 1), (4, 5)) - x25 = np.zeros((nocc, nvir), dtype=types[float]) - x25 += einsum(t3, (0, 1, 2, 3, 4, 5), x14, (0, 1, 2, 6, 4, 5), (6, 3)) - x26 = np.zeros((nocc, nvir), dtype=types[float]) - x26 += einsum(t2, (0, 1, 2, 3), x19, (0, 1, 4, 3), (4, 2)) * -0.5 - x27 = np.zeros((nocc, nvir), dtype=types[float]) - x27 += einsum(t1, (0, 1), x21, (0, 2), (2, 1)) * 0.08333333333333 - del x21 - x28 = np.zeros((nocc, nvir), dtype=types[float]) - x28 += einsum(x23, (0, 1), (0, 1)) * -1.0 - del x23 - x28 += einsum(x24, (0, 1), (0, 1)) * -0.25 - del x24 - x28 += einsum(x25, (0, 1), (0, 1)) * 0.08333333333333 - del x25 - x28 += einsum(x26, (0, 1), (0, 1)) - del x26 - x28 += einsum(x27, (0, 1), (0, 1)) - del x27 - rdm2_f_ooov += einsum(delta.oo, (0, 1), x28, (2, 3), (0, 2, 1, 3)) * -1.0 - rdm2_f_ooov += einsum(delta.oo, (0, 1), x28, (2, 3), (2, 0, 1, 3)) - rdm2_f_oovo += einsum(delta.oo, (0, 1), x28, (2, 3), (0, 2, 3, 1)) - rdm2_f_oovo += einsum(delta.oo, (0, 1), x28, (2, 3), (2, 0, 3, 1)) * -1.0 - x29 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x29 += einsum(x1, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - x29 += einsum(x3, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - x29 += einsum(x0, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.33333333333334 - x30 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x30 += einsum(t1, (0, 1), x29, (0, 2, 3, 4), (2, 3, 4, 1)) * 0.5 - del x29 - rdm2_f_ooov += einsum(x30, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_oovo += einsum(x30, (0, 1, 2, 3), (2, 1, 3, 0)) - del x30 - x31 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x31 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 4, 5, 7, 1, 2), (3, 6, 0, 7)) - rdm2_f_ovov += einsum(x31, (0, 1, 2, 3), (1, 2, 0, 3)) * -0.25 - rdm2_f_ovvo += einsum(x31, (0, 1, 2, 3), (1, 2, 3, 0)) * 0.25 - rdm2_f_voov += einsum(x31, (0, 1, 2, 3), (2, 1, 0, 3)) * 0.25 - rdm2_f_vovo += einsum(x31, (0, 1, 2, 3), (2, 1, 3, 0)) * -0.25 - x32 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x32 += einsum(t2, (0, 1, 2, 3), x31, (1, 4, 3, 5), (0, 4, 2, 5)) - x33 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x33 += einsum(t2, (0, 1, 2, 3), x14, (4, 1, 0, 5, 6, 3), (4, 5, 6, 2)) - rdm2_f_ovov += einsum(x33, (0, 1, 2, 3), (1, 2, 0, 3)) * 0.5 - rdm2_f_ovvo += einsum(x33, (0, 1, 2, 3), (1, 2, 3, 0)) * -0.5 - rdm2_f_voov += einsum(x33, (0, 1, 2, 3), (2, 1, 0, 3)) * -0.5 - rdm2_f_vovo += einsum(x33, (0, 1, 2, 3), (2, 1, 3, 0)) * 0.5 - x34 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x34 += einsum(t1, (0, 1), x4, (0, 2, 3, 4), (2, 3, 4, 1)) * -1.0 - x35 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x35 += einsum(x33, (0, 1, 2, 3), (0, 1, 2, 3)) - x35 += einsum(x34, (0, 1, 2, 3), (0, 1, 2, 3)) - del x34 - x36 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x36 += einsum(t2, (0, 1, 2, 3), x35, (1, 4, 3, 5), (4, 0, 5, 2)) * 0.5 - del x35 - x37 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x37 += einsum(t2, (0, 1, 2, 3), x2, (4, 1, 5, 3), (4, 5, 0, 2)) * -1.0 - x38 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x38 += einsum(x37, (0, 1, 2, 3), (0, 1, 2, 3)) - del x37 - x38 += einsum(x17, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.25 - del x17 - x39 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x39 += einsum(t1, (0, 1), x38, (0, 2, 3, 4), (2, 3, 1, 4)) - del x38 - x40 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x40 += einsum(x32, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.25 - del x32 - x40 += einsum(x36, (0, 1, 2, 3), (0, 1, 2, 3)) - del x36 - x40 += einsum(x39, (0, 1, 2, 3), (0, 1, 2, 3)) - del x39 - x40 += einsum(t1, (0, 1), x28, (2, 3), (0, 2, 1, 3)) - del x28 - rdm2_f_oovv += einsum(x40, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - rdm2_f_oovv += einsum(x40, (0, 1, 2, 3), (0, 1, 3, 2)) - rdm2_f_oovv += einsum(x40, (0, 1, 2, 3), (1, 0, 2, 3)) - rdm2_f_oovv += einsum(x40, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x40 - x41 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x41 += einsum(x7, (0, 1), t2, (2, 0, 3, 4), (2, 1, 3, 4)) - del x7 - x42 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x42 += einsum(x4, (0, 1, 2, 3), t3, (4, 0, 1, 5, 6, 3), (2, 4, 5, 6)) - x43 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x43 += einsum(x41, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.08333333333333 - del x41 - x43 += einsum(x42, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.25 - del x42 - rdm2_f_oovv += einsum(x43, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - rdm2_f_oovv += einsum(x43, (0, 1, 2, 3), (1, 0, 2, 3)) - del x43 - x44 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x44 += einsum(l2, (0, 1, 2, 3), t2, (4, 3, 5, 1), (2, 4, 0, 5)) - rdm2_f_ovov += einsum(x44, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_ovvo += einsum(x44, (0, 1, 2, 3), (1, 2, 3, 0)) - rdm2_f_voov += einsum(x44, (0, 1, 2, 3), (2, 1, 0, 3)) - rdm2_f_vovo += einsum(x44, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - x45 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x45 += einsum(t2, (0, 1, 2, 3), x44, (1, 4, 3, 5), (4, 0, 5, 2)) - x46 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x46 += einsum(x12, (0, 1, 2, 3), t3, (4, 5, 0, 6, 1, 2), (4, 5, 3, 6)) - x47 = np.zeros((nvir, nvir), dtype=types[float]) - x47 += einsum(l2, (0, 1, 2, 3), t2, (2, 3, 4, 1), (0, 4)) - x48 = np.zeros((nvir, nvir), dtype=types[float]) - x48 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (3, 4, 5, 6, 1, 2), (0, 6)) - x49 = np.zeros((nvir, nvir), dtype=types[float]) - x49 += einsum(x47, (0, 1), (0, 1)) - x49 += einsum(x48, (0, 1), (0, 1)) * 0.16666666666666 - x50 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x50 += einsum(x49, (0, 1), t2, (2, 3, 4, 0), (2, 3, 1, 4)) * -0.5 - del x49 - x51 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x51 += einsum(x10, (0, 1, 2, 3), (0, 2, 1, 3)) - del x10 - x51 += einsum(x11, (0, 1, 2, 3), (0, 2, 1, 3)) * 0.5 - del x11 - x51 += einsum(x13, (0, 1, 2, 3), (0, 2, 1, 3)) * 0.25 - del x13 - x51 += einsum(x16, (0, 1, 2, 3), (0, 2, 1, 3)) * 0.5 - del x16 - x52 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x52 += einsum(t1, (0, 1), x51, (0, 2, 3, 4), (2, 3, 1, 4)) - del x51 - x53 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x53 += einsum(x45, (0, 1, 2, 3), (0, 1, 2, 3)) - del x45 - x53 += einsum(x46, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.25 - del x46 - x53 += einsum(x50, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x50 - x53 += einsum(x52, (0, 1, 2, 3), (1, 0, 2, 3)) - del x52 - rdm2_f_oovv += einsum(x53, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(x53, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x53 - x54 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x54 += einsum(x9, (0, 1), t2, (2, 0, 3, 4), (1, 2, 3, 4)) - del x9 - x55 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x55 += einsum(x2, (0, 1, 2, 3), t3, (4, 1, 0, 5, 6, 3), (2, 4, 5, 6)) - x56 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x56 += einsum(x6, (0, 1), t2, (2, 0, 3, 4), (2, 1, 3, 4)) - del x6 - x57 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x57 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 3, 1)) * 2.0 - x57 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x58 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x58 += einsum(x5, (0, 1, 2, 3), x57, (0, 1, 4, 5), (2, 3, 4, 5)) * 0.25 - del x5, x57 - x59 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x59 += einsum(x54, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x54 - x59 += einsum(x55, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.5 - del x55 - x59 += einsum(x56, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.5 - del x56 - x59 += einsum(x58, (0, 1, 2, 3), (0, 1, 3, 2)) - del x58 - rdm2_f_oovv += einsum(x59, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(x59, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x59 - x60 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x60 += einsum(t2, (0, 1, 2, 3), l3, (4, 2, 3, 5, 6, 7), (5, 6, 7, 0, 1, 4)) - x60 += einsum(x15, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -2.00000000000012 - del x15 - rdm2_f_oovv += einsum(t3, (0, 1, 2, 3, 4, 5), x60, (0, 1, 2, 6, 7, 5), (6, 7, 3, 4)) * 0.08333333333333 - del x60 - x61 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x61 += einsum(x1, (0, 1, 2, 3), (1, 0, 3, 2)) * -3.00000000000012 - x61 += einsum(x3, (0, 1, 2, 3), (0, 1, 3, 2)) * 6.00000000000024 - x61 += einsum(x0, (0, 1, 2, 3), (0, 1, 3, 2)) - rdm2_f_oovv += einsum(t2, (0, 1, 2, 3), x61, (0, 1, 4, 5), (5, 4, 2, 3)) * 0.08333333333333 - del x61 - x62 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x62 += einsum(x1, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.99999999999994 - del x1 - x62 += einsum(x3, (0, 1, 2, 3), (0, 1, 3, 2)) * 5.99999999999988 - del x3 - x62 += einsum(x0, (0, 1, 2, 3), (0, 1, 3, 2)) - del x0 - x63 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x63 += einsum(t1, (0, 1), x62, (0, 2, 3, 4), (2, 4, 3, 1)) * -0.16666666666667 - del x62 - rdm2_f_oovv += einsum(t1, (0, 1), x63, (0, 2, 3, 4), (2, 3, 4, 1)) * -1.0 - del x63 - x64 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x64 += einsum(x2, (0, 1, 2, 3), (1, 0, 2, 3)) * -2.0 - del x2 - x64 += einsum(x4, (0, 1, 2, 3), (0, 1, 2, 3)) - del x4 - x65 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x65 += einsum(t1, (0, 1), x64, (0, 2, 3, 4), (2, 3, 1, 4)) * 0.5 - del x64 - rdm2_f_ovov += einsum(x65, (0, 1, 2, 3), (1, 3, 0, 2)) * -1.0 - rdm2_f_ovvo += einsum(x65, (0, 1, 2, 3), (1, 3, 2, 0)) - rdm2_f_voov += einsum(x65, (0, 1, 2, 3), (3, 1, 0, 2)) - rdm2_f_vovo += einsum(x65, (0, 1, 2, 3), (3, 1, 2, 0)) * -1.0 - del x65 - x66 = np.zeros((nvir, nvir), dtype=types[float]) - x66 += einsum(l1, (0, 1), t1, (1, 2), (0, 2)) - x67 = np.zeros((nvir, nvir), dtype=types[float]) - x67 += einsum(x66, (0, 1), (0, 1)) * 12.00000000000048 - x67 += einsum(x47, (0, 1), (0, 1)) * 6.00000000000024 - x67 += einsum(x48, (0, 1), (0, 1)) - rdm2_f_ovov += einsum(delta.oo, (0, 1), x67, (2, 3), (0, 2, 1, 3)) * 0.08333333333333 - rdm2_f_voov += einsum(delta.oo, (0, 1), x67, (2, 3), (2, 0, 1, 3)) * -0.08333333333333 - del x67 - x68 = np.zeros((nvir, nvir), dtype=types[float]) - x68 += einsum(x66, (0, 1), (0, 1)) * 2.0 - x68 += einsum(x47, (0, 1), (0, 1)) - x68 += einsum(x48, (0, 1), (0, 1)) * 0.16666666666666 - rdm2_f_ovvo += einsum(delta.oo, (0, 1), x68, (2, 3), (0, 2, 3, 1)) * -0.5 - rdm2_f_vovo += einsum(delta.oo, (0, 1), x68, (2, 3), (2, 0, 3, 1)) * 0.5 - del x68 - x69 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x69 += einsum(l2, (0, 1, 2, 3), t3, (4, 2, 3, 5, 6, 1), (4, 0, 5, 6)) - rdm2_f_ovvv = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - rdm2_f_ovvv += einsum(x69, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.5 - rdm2_f_vovv = np.zeros((nvir, nocc, nvir, nvir), dtype=types[float]) - rdm2_f_vovv += einsum(x69, (0, 1, 2, 3), (1, 0, 3, 2)) * 0.5 - del x69 - x70 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x70 += einsum(t3, (0, 1, 2, 3, 4, 5), x14, (0, 1, 2, 6, 7, 5), (6, 7, 3, 4)) * -1.0 - del x14 - rdm2_f_ovvv += einsum(x70, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.16666666666667 - rdm2_f_vovv += einsum(x70, (0, 1, 2, 3), (1, 0, 3, 2)) * 0.16666666666667 - del x70 - x71 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x71 += einsum(l1, (0, 1), t2, (2, 1, 3, 4), (2, 0, 3, 4)) - rdm2_f_ovvv += einsum(x71, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_vovv += einsum(x71, (0, 1, 2, 3), (1, 0, 3, 2)) - del x71 - x72 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x72 += einsum(t2, (0, 1, 2, 3), x12, (1, 4, 3, 5), (0, 4, 5, 2)) * -1.0 - x73 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x73 += einsum(x44, (0, 1, 2, 3), (0, 1, 2, 3)) - del x44 - x73 += einsum(x31, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.25 - del x31 - x73 += einsum(x33, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - del x33 - x74 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x74 += einsum(t1, (0, 1), x73, (0, 2, 3, 4), (2, 1, 3, 4)) - del x73 - x75 = np.zeros((nvir, nvir), dtype=types[float]) - x75 += einsum(x66, (0, 1), (0, 1)) - del x66 - x75 += einsum(x47, (0, 1), (0, 1)) * 0.5 - del x47 - x75 += einsum(x48, (0, 1), (0, 1)) * 0.08333333333333 - del x48 - x76 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x76 += einsum(x72, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - del x72 - x76 += einsum(x74, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x74 - x76 += einsum(t1, (0, 1), x75, (2, 3), (0, 2, 1, 3)) - del x75 - rdm2_f_ovvv += einsum(x76, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_ovvv += einsum(x76, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_vovv += einsum(x76, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - rdm2_f_vovv += einsum(x76, (0, 1, 2, 3), (1, 0, 3, 2)) - del x76 - x77 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x77 += einsum(t2, (0, 1, 2, 3), x19, (0, 1, 4, 5), (4, 5, 2, 3)) * 0.5 - rdm2_f_ovvv += einsum(x77, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_vovv += einsum(x77, (0, 1, 2, 3), (1, 0, 3, 2)) - del x77 - x78 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x78 += einsum(t1, (0, 1), x19, (0, 2, 3, 4), (2, 3, 4, 1)) * -1.0 - rdm2_f_ovvv += einsum(t1, (0, 1), x78, (0, 2, 3, 4), (2, 3, 1, 4)) - del x78 - x79 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x79 += einsum(t1, (0, 1), x19, (0, 2, 3, 4), (2, 3, 4, 1)) * -2.0 - del x19 - rdm2_f_vovv += einsum(t1, (0, 1), x79, (0, 2, 3, 4), (3, 2, 4, 1)) * 0.5 - del x79 - x80 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x80 += einsum(t1, (0, 1), l2, (2, 3, 4, 0), (4, 2, 3, 1)) - rdm2_f_vvov += einsum(x80, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_vvvo += einsum(x80, (0, 1, 2, 3), (2, 1, 3, 0)) - rdm2_f_vvvv += einsum(t1, (0, 1), x80, (0, 2, 3, 4), (2, 3, 1, 4)) - del x80 - x81 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) - x81 += einsum(t1, (0, 1), x12, (0, 2, 3, 4), (3, 2, 1, 4)) * -1.0 - del x12 - rdm2_f_vvvv += einsum(x81, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - rdm2_f_vvvv += einsum(x81, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.5 - del x81 - - rdm2_f = pack_2e(rdm2_f_oooo, rdm2_f_ooov, rdm2_f_oovo, rdm2_f_ovoo, rdm2_f_vooo, rdm2_f_oovv, rdm2_f_ovov, rdm2_f_ovvo, rdm2_f_voov, rdm2_f_vovo, rdm2_f_vvoo, rdm2_f_ovvv, rdm2_f_vovv, rdm2_f_vvov, rdm2_f_vvvo, rdm2_f_vvvv) - - rdm2_f = np.transpose(rdm2_f, (0, 2, 1, 3)) - - return rdm2_f - diff --git a/ebcc/codegen/RCCSDT.py b/ebcc/codegen/RCCSDT.py deleted file mode 100644 index 28de518e..00000000 --- a/ebcc/codegen/RCCSDT.py +++ /dev/null @@ -1,6763 +0,0 @@ -# Code generated for ebcc. - -from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, Namespace -from ebcc.precision import types - -def energy(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, t3=None, **kwargs): - # energy - e_cc = 0 - e_cc += einsum(f.ov, (0, 1), t1, (0, 1), ()) * 2.0 - x0 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x0 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -0.5 - x0 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x1 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x1 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - x1 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) - e_cc += einsum(x0, (0, 1, 2, 3), x1, (0, 1, 2, 3), ()) * 2.0 - del x0, x1 - - return e_cc - -def update_amps(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, t3=None, **kwargs): - # T amplitudes - t1new = np.zeros((nocc, nvir), dtype=types[float]) - t1new += einsum(f.ov, (0, 1), (0, 1)) - t1new += einsum(f.vv, (0, 1), t1, (2, 1), (2, 0)) - t2new = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - t2new += einsum(t2, (0, 1, 2, 3), v.vvvv, (4, 2, 5, 3), (0, 1, 4, 5)) - t2new += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - t2new += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 5, 1, 3), (4, 0, 5, 2)) * 2.0 - t2new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 2), (4, 0, 3, 5)) * -1.0 - t2new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 3), (4, 0, 5, 2)) * -1.0 - x0 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x0 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x0 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x1 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x1 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - x1 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) - t1new += einsum(x0, (0, 1, 2, 3), x1, (1, 4, 0, 2, 3, 5), (4, 5)) * -0.25 - del x1 - x2 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x2 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -0.3333333333333333 - x2 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - t1new += einsum(x2, (0, 1, 2, 3), t3, (4, 0, 1, 5, 2, 3), (4, 5)) * 1.5 - x3 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x3 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - x3 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) - x4 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x4 += einsum(v.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) - x4 += einsum(v.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 - t1new += einsum(x3, (0, 1, 2, 3), x4, (0, 2, 3, 4), (1, 4)) * 2.0 - x5 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x5 += einsum(t1, (0, 1), v.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) - x6 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x6 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x6 += einsum(v.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x6 += einsum(x5, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x6 += einsum(x5, (0, 1, 2, 3), (0, 2, 1, 3)) * 2.0 - t1new += einsum(t2, (0, 1, 2, 3), x6, (4, 0, 1, 3), (4, 2)) * -1.0 - del x6 - x7 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x7 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -0.5 - x7 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x8 = np.zeros((nocc, nvir), dtype=types[float]) - x8 += einsum(t1, (0, 1), x7, (0, 2, 1, 3), (2, 3)) - x9 = np.zeros((nocc, nvir), dtype=types[float]) - x9 += einsum(f.ov, (0, 1), (0, 1)) * 0.5 - x9 += einsum(x8, (0, 1), (0, 1)) - x10 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x10 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - x10 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t1new += einsum(x9, (0, 1), x10, (0, 2, 3, 1), (2, 3)) * 2.0 - del x10 - x11 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x11 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x11 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - t1new += einsum(t1, (0, 1), x11, (0, 2, 1, 3), (2, 3)) * 2.0 - del x11 - x12 = np.zeros((nocc, nocc), dtype=types[float]) - x12 += einsum(f.ov, (0, 1), t1, (2, 1), (0, 2)) - x13 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x13 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x13 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 - x14 = np.zeros((nocc, nocc), dtype=types[float]) - x14 += einsum(x13, (0, 1, 2, 3), x3, (0, 4, 3, 2), (4, 1)) * 2.0 - x15 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x15 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x15 += einsum(v.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 - x16 = np.zeros((nocc, nocc), dtype=types[float]) - x16 += einsum(t1, (0, 1), x15, (2, 3, 0, 1), (2, 3)) * 2.0 - x17 = np.zeros((nocc, nocc), dtype=types[float]) - x17 += einsum(f.oo, (0, 1), (0, 1)) - x17 += einsum(x12, (0, 1), (0, 1)) - x17 += einsum(x14, (0, 1), (1, 0)) - x17 += einsum(x16, (0, 1), (1, 0)) - del x16 - t1new += einsum(t1, (0, 1), x17, (0, 2), (2, 1)) * -1.0 - t3new = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - t3new += einsum(x17, (0, 1), t3, (2, 0, 3, 4, 5, 6), (2, 1, 3, 4, 5, 6)) * -1.0 - del x17 - x18 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x18 += einsum(t1, (0, 1), v.ooov, (2, 0, 3, 4), (2, 3, 1, 4)) - t2new += einsum(x18, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - x19 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x19 += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 2, 5, 3), (0, 1, 4, 5)) - t2new += einsum(t2, (0, 1, 2, 3), x19, (4, 5, 0, 1), (5, 4, 3, 2)) - x20 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x20 += einsum(t1, (0, 1), v.vvvv, (2, 3, 4, 1), (0, 2, 3, 4)) - t2new += einsum(t1, (0, 1), x20, (2, 3, 1, 4), (0, 2, 3, 4)) - x21 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x21 += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 5, 1, 2), (0, 4, 3, 5)) - t2new += einsum(x21, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x22 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x22 += einsum(f.vv, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4)) - x23 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x23 += einsum(t1, (0, 1), v.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) - x24 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x24 += einsum(t1, (0, 1), v.ooov, (2, 3, 4, 1), (0, 2, 3, 4)) - x25 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x25 += einsum(t2, (0, 1, 2, 3), x24, (4, 5, 0, 1), (4, 5, 2, 3)) - x26 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x26 += einsum(t2, (0, 1, 2, 3), x23, (4, 1, 2, 5), (4, 0, 3, 5)) - x27 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x27 += einsum(x5, (0, 1, 2, 3), t3, (4, 2, 1, 5, 6, 3), (0, 4, 5, 6)) - x28 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x28 += einsum(v.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x28 += einsum(v.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) - x29 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x29 += einsum(x28, (0, 1, 2, 3), t3, (4, 5, 0, 1, 6, 2), (4, 5, 6, 3)) * 0.5 - del x28 - x30 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x30 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x30 += einsum(v.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) - x31 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x31 += einsum(x30, (0, 1, 2, 3), t3, (0, 4, 2, 5, 6, 3), (4, 1, 5, 6)) * 0.5 - del x30 - x32 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x32 += einsum(t1, (0, 1), x4, (2, 3, 1, 4), (0, 2, 3, 4)) * 2.0 - del x4 - x33 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x33 += einsum(t2, (0, 1, 2, 3), x32, (4, 1, 3, 5), (0, 4, 2, 5)) - del x32 - x34 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x34 += einsum(t1, (0, 1), v.oovv, (2, 3, 4, 1), (0, 2, 3, 4)) - x35 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x35 += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 1, 5, 3), (0, 4, 5, 2)) - x36 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x36 += einsum(v.ovov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 1, 3), (4, 5, 0, 6)) - x37 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x37 += einsum(t2, (0, 1, 2, 3), x5, (4, 5, 1, 2), (4, 0, 5, 3)) - x38 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x38 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) * 0.5 - x38 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x38 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - x39 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x39 += einsum(v.ooov, (0, 1, 2, 3), x38, (2, 4, 5, 3), (0, 1, 4, 5)) * 2.0 - x40 = np.zeros((nocc, nvir), dtype=types[float]) - x40 += einsum(t1, (0, 1), x7, (0, 2, 1, 3), (2, 3)) * 2.0 - x41 = np.zeros((nocc, nvir), dtype=types[float]) - x41 += einsum(f.ov, (0, 1), (0, 1)) - x41 += einsum(x40, (0, 1), (0, 1)) - del x40 - x42 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x42 += einsum(x41, (0, 1), t2, (2, 3, 1, 4), (2, 3, 0, 4)) - x43 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x43 += einsum(x34, (0, 1, 2, 3), (2, 0, 1, 3)) - x43 += einsum(x35, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - del x35 - x43 += einsum(x36, (0, 1, 2, 3), (2, 0, 1, 3)) - x43 += einsum(x37, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - x43 += einsum(x39, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - del x39 - x43 += einsum(x42, (0, 1, 2, 3), (2, 1, 0, 3)) - del x42 - x44 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x44 += einsum(t1, (0, 1), x43, (0, 2, 3, 4), (2, 3, 1, 4)) - del x43 - x45 = np.zeros((nocc, nocc), dtype=types[float]) - x45 += einsum(t1, (0, 1), x41, (2, 1), (0, 2)) * 0.5 - del x41 - x46 = np.zeros((nocc, nocc), dtype=types[float]) - x46 += einsum(f.oo, (0, 1), (0, 1)) * 0.5 - x46 += einsum(x45, (0, 1), (0, 1)) - del x45 - x47 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x47 += einsum(x46, (0, 1), t2, (2, 1, 3, 4), (2, 0, 4, 3)) * 2.0 - del x46 - x48 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x48 += einsum(x22, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x22 - x48 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x48 += einsum(x25, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x25 - x48 += einsum(x26, (0, 1, 2, 3), (0, 1, 2, 3)) - del x26 - x48 += einsum(x27, (0, 1, 2, 3), (0, 1, 2, 3)) - del x27 - x48 += einsum(x29, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x29 - x48 += einsum(x31, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x31 - x48 += einsum(x33, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x33 - x48 += einsum(x44, (0, 1, 2, 3), (0, 1, 2, 3)) - del x44 - x48 += einsum(x47, (0, 1, 2, 3), (1, 0, 3, 2)) - del x47 - t2new += einsum(x48, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new += einsum(x48, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x48 - x49 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x49 += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 1, 2, 5, 6, 3), (4, 0, 5, 6)) - x50 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x50 += einsum(x5, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x50 += einsum(x5, (0, 1, 2, 3), (0, 2, 1, 3)) - x51 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x51 += einsum(x50, (0, 1, 2, 3), t3, (2, 4, 1, 5, 6, 3), (4, 0, 5, 6)) * 0.5 - del x50 - x52 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x52 += einsum(x9, (0, 1), t3, (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) * 2.0 - x53 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x53 += einsum(t1, (0, 1), x5, (2, 3, 0, 4), (2, 3, 1, 4)) - x54 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x54 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x54 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * 2.0 - x55 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x55 += einsum(t2, (0, 1, 2, 3), x54, (1, 4, 3, 5), (0, 4, 2, 5)) * 0.5 - x56 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x56 += einsum(x53, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - x56 += einsum(x55, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x55 - x57 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x57 += einsum(t2, (0, 1, 2, 3), x56, (4, 1, 5, 2), (0, 4, 3, 5)) * 2.0 - del x56 - x58 = np.zeros((nvir, nvir), dtype=types[float]) - x58 += einsum(t2, (0, 1, 2, 3), x7, (0, 1, 2, 4), (3, 4)) * 2.0 - x59 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x59 += einsum(v.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x59 += einsum(v.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x60 = np.zeros((nvir, nvir), dtype=types[float]) - x60 += einsum(t1, (0, 1), x59, (0, 1, 2, 3), (2, 3)) - del x59 - x61 = np.zeros((nvir, nvir), dtype=types[float]) - x61 += einsum(x58, (0, 1), (1, 0)) - del x58 - x61 += einsum(x60, (0, 1), (1, 0)) * -1.0 - x62 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x62 += einsum(x61, (0, 1), t2, (2, 3, 0, 4), (2, 3, 4, 1)) - del x61 - x63 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x63 += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 1, 5, 2), (0, 4, 5, 3)) - x64 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x64 += einsum(x0, (0, 1, 2, 3), t3, (4, 5, 0, 3, 6, 2), (4, 5, 1, 6)) * 0.5 - x65 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x65 += einsum(x5, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x65 += einsum(x5, (0, 1, 2, 3), (0, 2, 1, 3)) - x66 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x66 += einsum(t2, (0, 1, 2, 3), x65, (4, 5, 1, 3), (0, 4, 5, 2)) * 2.0 - del x65 - x67 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x67 += einsum(v.ovvv, (0, 1, 2, 3), x3, (4, 5, 3, 1), (0, 4, 5, 2)) - x68 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x68 += einsum(x5, (0, 1, 2, 3), (0, 1, 2, 3)) - x68 += einsum(x63, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x68 += einsum(x64, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x64 - x68 += einsum(x66, (0, 1, 2, 3), (1, 0, 2, 3)) - x68 += einsum(x67, (0, 1, 2, 3), (2, 1, 0, 3)) - del x67 - x69 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x69 += einsum(t1, (0, 1), x68, (2, 3, 0, 4), (2, 3, 1, 4)) - del x68 - x70 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x70 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - x70 += einsum(t1, (0, 1), t2, (2, 3, 4, 5), (2, 0, 3, 1, 4, 5)) * -1.0 - x71 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x71 += einsum(v.ovvv, (0, 1, 2, 3), x70, (0, 4, 5, 1, 6, 3), (4, 5, 2, 6)) - del x70 - x72 = np.zeros((nocc, nocc), dtype=types[float]) - x72 += einsum(t2, (0, 1, 2, 3), x13, (1, 4, 2, 3), (0, 4)) - x73 = np.zeros((nocc, nocc), dtype=types[float]) - x73 += einsum(t1, (0, 1), x15, (2, 3, 0, 1), (2, 3)) - del x15 - x74 = np.zeros((nocc, nocc), dtype=types[float]) - x74 += einsum(x72, (0, 1), (1, 0)) - del x72 - x74 += einsum(x73, (0, 1), (1, 0)) - x75 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x75 += einsum(x74, (0, 1), t2, (2, 0, 3, 4), (2, 1, 4, 3)) * 2.0 - del x74 - x76 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x76 += einsum(x49, (0, 1, 2, 3), (0, 1, 2, 3)) - del x49 - x76 += einsum(x51, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x51 - x76 += einsum(x52, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x52 - x76 += einsum(x57, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x57 - x76 += einsum(x62, (0, 1, 2, 3), (1, 0, 2, 3)) - del x62 - x76 += einsum(x69, (0, 1, 2, 3), (0, 1, 2, 3)) - del x69 - x76 += einsum(x71, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x71 - x76 += einsum(x75, (0, 1, 2, 3), (0, 1, 3, 2)) - del x75 - t2new += einsum(x76, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new += einsum(x76, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x76 - x77 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x77 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x77 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x77 += einsum(t2, (0, 1, 2, 3), x7, (1, 4, 3, 5), (0, 4, 2, 5)) * 2.0 - t2new += einsum(t2, (0, 1, 2, 3), x77, (4, 1, 5, 3), (0, 4, 2, 5)) * 2.0 - del x77 - x78 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x78 += einsum(t1, (0, 1), x5, (2, 3, 4, 1), (2, 0, 4, 3)) - x79 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x79 += einsum(v.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x79 += einsum(x78, (0, 1, 2, 3), (3, 1, 2, 0)) - t2new += einsum(t2, (0, 1, 2, 3), x79, (1, 4, 0, 5), (4, 5, 3, 2)) - del x79 - x80 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x80 += einsum(v.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x80 += einsum(x19, (0, 1, 2, 3), (3, 1, 0, 2)) - x80 += einsum(x78, (0, 1, 2, 3), (3, 1, 0, 2)) - x81 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x81 += einsum(v.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x81 += einsum(t1, (0, 1), x80, (0, 2, 3, 4), (3, 2, 4, 1)) - del x80 - t2new += einsum(t1, (0, 1), x81, (2, 3, 0, 4), (2, 3, 1, 4)) - del x81 - x82 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x82 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x82 += einsum(x21, (0, 1, 2, 3), (0, 1, 2, 3)) - del x21 - t2new += einsum(t2, (0, 1, 2, 3), x82, (4, 1, 5, 2), (4, 0, 5, 3)) - del x82 - x83 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x83 += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 2, 1, 5), (0, 4, 3, 5)) - x84 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x84 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x84 += einsum(x83, (0, 1, 2, 3), (0, 1, 2, 3)) - del x83 - t2new += einsum(t2, (0, 1, 2, 3), x84, (4, 1, 5, 2), (0, 4, 5, 3)) - x85 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x85 += einsum(v.oooo, (0, 1, 2, 3), t3, (3, 4, 1, 5, 6, 7), (4, 0, 2, 7, 5, 6)) - x86 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x86 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - x86 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) * 0.99999999999999 - x87 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x87 += einsum(v.ovov, (0, 1, 2, 3), x86, (2, 4, 5, 1), (4, 0, 5, 3)) - x88 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x88 += einsum(x87, (0, 1, 2, 3), t3, (4, 1, 5, 6, 7, 3), (4, 5, 0, 6, 7, 2)) * 1.00000000000001 - x89 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x89 += einsum(x85, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -0.5 - del x85 - x89 += einsum(x88, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) - del x88 - t3new += einsum(x89, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * -1.0 - t3new += einsum(x89, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) - del x89 - x90 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x90 += einsum(v.oooo, (0, 1, 2, 3), t3, (4, 3, 1, 5, 6, 7), (4, 0, 2, 5, 7, 6)) - x91 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x91 += einsum(x24, (0, 1, 2, 3), t3, (4, 2, 3, 5, 6, 7), (0, 4, 1, 5, 7, 6)) - x92 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x92 += einsum(t1, (0, 1), v.ovvv, (2, 1, 3, 4), (0, 2, 3, 4)) - x93 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x93 += einsum(x92, (0, 1, 2, 3), t3, (4, 5, 1, 6, 3, 7), (0, 4, 5, 6, 7, 2)) - x94 = np.zeros((nocc, nocc), dtype=types[float]) - x94 += einsum(f.oo, (0, 1), (0, 1)) - x94 += einsum(x12, (0, 1), (0, 1)) - del x12 - x94 += einsum(x14, (0, 1), (1, 0)) - del x14 - x95 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x95 += einsum(x94, (0, 1), t3, (2, 3, 0, 4, 5, 6), (2, 3, 1, 6, 4, 5)) - del x94 - x96 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x96 += einsum(x90, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x90 - x96 += einsum(x91, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - del x91 - x96 += einsum(x93, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x93 - x96 += einsum(x95, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) - del x95 - t3new += einsum(x96, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - t3new += einsum(x96, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -1.0 - del x96 - x97 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x97 += einsum(v.ovov, (0, 1, 2, 3), x86, (2, 4, 5, 1), (4, 0, 5, 3)) * 1.00000000000001 - x98 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x98 += einsum(x97, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (4, 5, 0, 6, 7, 2)) - x99 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x99 += einsum(t2, (0, 1, 2, 3), v.oooo, (4, 5, 6, 1), (0, 4, 5, 6, 2, 3)) - x100 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x100 += einsum(t2, (0, 1, 2, 3), x24, (4, 5, 1, 6), (4, 0, 5, 6, 2, 3)) - x101 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x101 += einsum(x99, (0, 1, 2, 3, 4, 5), (0, 2, 3, 1, 4, 5)) * -1.0 - del x99 - x101 += einsum(x100, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x100 - x102 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x102 += einsum(t1, (0, 1), x101, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) - del x101 - x103 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x103 += einsum(x98, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) - del x98 - x103 += einsum(x102, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x102 - t3new += einsum(x103, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - t3new += einsum(x103, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 - t3new += einsum(x103, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -1.0 - t3new += einsum(x103, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) - del x103 - x104 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x104 += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (4, 5, 0, 6, 7, 2)) - x105 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x105 += einsum(v.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x105 += einsum(x63, (0, 1, 2, 3), (0, 1, 2, 3)) - del x63 - x106 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x106 += einsum(t2, (0, 1, 2, 3), x105, (4, 5, 1, 6), (0, 4, 5, 3, 2, 6)) - del x105 - x107 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x107 += einsum(x104, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x104 - x107 += einsum(x106, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - del x106 - t3new += einsum(x107, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - t3new += einsum(x107, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) - t3new += einsum(x107, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) - t3new += einsum(x107, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -1.0 - del x107 - x108 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x108 += einsum(v.vvvv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 3, 1), (4, 6, 5, 7, 0, 2)) - x109 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x109 += einsum(x19, (0, 1, 2, 3), t3, (3, 4, 2, 5, 6, 7), (1, 0, 4, 5, 7, 6)) - x110 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x110 += einsum(v.ovov, (0, 1, 2, 3), t3, (4, 5, 6, 1, 7, 3), (4, 6, 5, 0, 2, 7)) - x111 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x111 += einsum(t2, (0, 1, 2, 3), x110, (4, 5, 6, 0, 1, 7), (4, 5, 6, 2, 3, 7)) - x112 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x112 += einsum(x78, (0, 1, 2, 3), t3, (2, 4, 3, 5, 6, 7), (1, 0, 4, 7, 5, 6)) - del x78 - x113 = np.zeros((nvir, nvir), dtype=types[float]) - x113 += einsum(f.ov, (0, 1), t1, (0, 2), (1, 2)) - x114 = np.zeros((nvir, nvir), dtype=types[float]) - x114 += einsum(x3, (0, 1, 2, 3), x7, (0, 1, 2, 4), (3, 4)) * 2.0 - del x7 - x115 = np.zeros((nvir, nvir), dtype=types[float]) - x115 += einsum(f.vv, (0, 1), (0, 1)) * -1.0 - x115 += einsum(x113, (0, 1), (0, 1)) - x115 += einsum(x114, (0, 1), (1, 0)) - x116 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x116 += einsum(x115, (0, 1), t3, (2, 3, 4, 0, 5, 6), (2, 4, 3, 6, 5, 1)) - del x115 - x117 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x117 += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 1, 5, 6, 7, 3), (4, 5, 0, 2, 6, 7)) - x118 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x118 += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 3, 1), (4, 6, 5, 0, 7, 2)) - x119 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x119 += einsum(t1, (0, 1), x110, (2, 3, 4, 0, 5, 6), (3, 2, 4, 5, 1, 6)) - del x110 - x120 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x120 += einsum(x117, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - del x117 - x120 += einsum(x118, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x118 - x120 += einsum(x119, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 0.5 - del x119 - x121 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x121 += einsum(t1, (0, 1), x120, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) - del x120 - x122 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x122 += einsum(x108, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x108 - x122 += einsum(x109, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 0.5 - del x109 - x122 += einsum(x111, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 0.5 - del x111 - x122 += einsum(x112, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 0.5 - del x112 - x122 += einsum(x116, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) - del x116 - x122 += einsum(x121, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x121 - t3new += einsum(x122, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - t3new += einsum(x122, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 - del x122 - x123 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x123 += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 3), (0, 2, 4, 5)) - x124 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x124 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x124 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x125 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x125 += einsum(v.ovvv, (0, 1, 2, 3), x124, (0, 4, 1, 5), (4, 2, 3, 5)) - x126 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x126 += einsum(v.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) - x126 += einsum(x123, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x123 - x126 += einsum(x125, (0, 1, 2, 3), (0, 3, 2, 1)) - del x125 - x127 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x127 += einsum(t2, (0, 1, 2, 3), x126, (4, 5, 2, 6), (0, 1, 4, 3, 5, 6)) - del x126 - x128 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x128 += einsum(t2, (0, 1, 2, 3), x5, (4, 0, 1, 5), (4, 2, 3, 5)) - x129 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x129 += einsum(t1, (0, 1), x53, (2, 0, 3, 4), (2, 1, 3, 4)) - del x53 - x130 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x130 += einsum(x128, (0, 1, 2, 3), (0, 1, 2, 3)) - del x128 - x130 += einsum(x129, (0, 1, 2, 3), (0, 1, 2, 3)) - del x129 - x131 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x131 += einsum(t2, (0, 1, 2, 3), x130, (4, 5, 6, 2), (0, 1, 4, 3, 5, 6)) - del x130 - x132 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x132 += einsum(x127, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) - del x127 - x132 += einsum(x131, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) - del x131 - t3new += einsum(x132, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - t3new += einsum(x132, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -1.0 - t3new += einsum(x132, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) - t3new += einsum(x132, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -1.0 - t3new += einsum(x132, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 - t3new += einsum(x132, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) - t3new += einsum(x132, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) - t3new += einsum(x132, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 - t3new += einsum(x132, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) * -1.0 - t3new += einsum(x132, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) - t3new += einsum(x132, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -1.0 - t3new += einsum(x132, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) - del x132 - x133 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x133 += einsum(t2, (0, 1, 2, 3), x54, (1, 4, 3, 5), (0, 4, 2, 5)) - del x54 - x134 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x134 += einsum(v.ovov, (0, 1, 2, 3), x86, (2, 4, 5, 3), (4, 0, 5, 1)) - del x86 - x135 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x135 += einsum(x133, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x133 - x135 += einsum(x134, (0, 1, 2, 3), (0, 1, 2, 3)) - del x134 - x136 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x136 += einsum(x135, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (4, 5, 0, 6, 7, 2)) * 1.00000000000001 - del x135 - x137 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x137 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x137 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x138 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x138 += einsum(x137, (0, 1, 2, 3), t3, (0, 4, 1, 5, 6, 2), (4, 5, 6, 3)) - del x137 - x139 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x139 += einsum(t2, (0, 1, 2, 3), x138, (4, 5, 6, 2), (0, 1, 4, 3, 5, 6)) * -0.5 - del x138 - x140 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x140 += einsum(x0, (0, 1, 2, 3), t3, (4, 5, 0, 3, 6, 2), (4, 5, 1, 6)) - del x0 - x141 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x141 += einsum(t2, (0, 1, 2, 3), x140, (4, 5, 1, 6), (0, 4, 5, 3, 2, 6)) * -0.5 - del x140 - x142 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x142 += einsum(x136, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) - del x136 - x142 += einsum(x139, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) - del x139 - x142 += einsum(x141, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) - del x141 - t3new += einsum(x142, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - t3new += einsum(x142, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) - t3new += einsum(x142, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - t3new += einsum(x142, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - t3new += einsum(x142, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) - t3new += einsum(x142, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 - t3new += einsum(x142, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) - t3new += einsum(x142, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -1.0 - del x142 - x143 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x143 += einsum(v.ovov, (0, 1, 2, 3), t3, (4, 0, 2, 5, 6, 1), (4, 5, 6, 3)) - x144 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x144 += einsum(t2, (0, 1, 2, 3), x143, (4, 5, 6, 3), (0, 1, 4, 2, 5, 6)) - del x143 - x145 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x145 += einsum(v.ovov, (0, 1, 2, 3), t3, (4, 2, 5, 1, 6, 3), (4, 5, 0, 6)) - x146 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x146 += einsum(t2, (0, 1, 2, 3), x145, (4, 5, 1, 6), (0, 4, 5, 2, 3, 6)) - del x145 - x147 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x147 += einsum(x144, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 0.5 - del x144 - x147 += einsum(x146, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -0.5 - del x146 - t3new += einsum(x147, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 - t3new += einsum(x147, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) - t3new += einsum(x147, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) - t3new += einsum(x147, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 - del x147 - x148 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x148 += einsum(v.ovov, (0, 1, 2, 3), t3, (4, 0, 2, 5, 6, 3), (4, 5, 6, 1)) - x149 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x149 += einsum(t2, (0, 1, 2, 3), x148, (4, 5, 6, 3), (0, 1, 4, 2, 5, 6)) - del x148 - t3new += einsum(x149, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 - t3new += einsum(x149, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) - t3new += einsum(x149, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 - t3new += einsum(x149, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) - t3new += einsum(x149, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 0.5 - t3new += einsum(x149, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -0.5 - t3new += einsum(x149, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -0.5 - t3new += einsum(x149, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * 0.5 - t3new += einsum(x149, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) - t3new += einsum(x149, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -1.0 - t3new += einsum(x149, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) - t3new += einsum(x149, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -1.0 - del x149 - x150 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x150 += einsum(x2, (0, 1, 2, 3), t3, (4, 0, 1, 5, 2, 6), (4, 6, 5, 3)) - del x2 - x151 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x151 += einsum(t2, (0, 1, 2, 3), x150, (4, 5, 6, 2), (0, 1, 4, 3, 6, 5)) * 1.5 - del x150 - t3new += einsum(x151, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) - t3new += einsum(x151, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -1.0 - del x151 - x152 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x152 += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 1, 6, 3, 7), (4, 5, 0, 6, 7, 2)) - x153 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x153 += einsum(v.ovov, (0, 1, 2, 3), x3, (4, 5, 1, 3), (4, 5, 0, 2)) - x154 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x154 += einsum(x153, (0, 1, 2, 3), t3, (4, 3, 2, 5, 6, 7), (4, 1, 0, 7, 5, 6)) - x155 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x155 += einsum(x73, (0, 1), t3, (2, 3, 1, 4, 5, 6), (2, 3, 0, 6, 4, 5)) * 2.0 - del x73 - x156 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x156 += einsum(x152, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x152 - x156 += einsum(x154, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) - del x154 - x156 += einsum(x155, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) - del x155 - t3new += einsum(x156, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 - t3new += einsum(x156, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) - del x156 - x157 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x157 += einsum(t2, (0, 1, 2, 3), x36, (4, 5, 1, 6), (0, 4, 5, 2, 3, 6)) - del x36 - t3new += einsum(x157, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 - t3new += einsum(x157, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) - t3new += einsum(x157, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 - t3new += einsum(x157, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) - t3new += einsum(x157, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) - t3new += einsum(x157, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -1.0 - t3new += einsum(x157, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) - t3new += einsum(x157, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -1.0 - del x157 - x158 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x158 += einsum(x13, (0, 1, 2, 3), t3, (4, 0, 5, 2, 3, 6), (4, 5, 1, 6)) - del x13 - x159 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x159 += einsum(t2, (0, 1, 2, 3), x158, (4, 5, 1, 6), (0, 5, 4, 3, 2, 6)) * 2.0 - del x158 - t3new += einsum(x159, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) - t3new += einsum(x159, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -1.0 - del x159 - x160 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x160 += einsum(v.oovv, (0, 1, 2, 3), t3, (4, 1, 5, 6, 7, 3), (4, 5, 0, 6, 7, 2)) - x161 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x161 += einsum(v.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) - x161 += einsum(v.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) * -0.5 - x162 = np.zeros((nvir, nvir), dtype=types[float]) - x162 += einsum(t1, (0, 1), x161, (0, 1, 2, 3), (2, 3)) * 2.0 - del x161 - x163 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x163 += einsum(x162, (0, 1), t3, (2, 3, 4, 1, 5, 6), (2, 4, 3, 6, 5, 0)) - del x162 - x164 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x164 += einsum(v.ovov, (0, 1, 2, 3), t3, (4, 5, 6, 7, 3, 1), (4, 6, 5, 0, 2, 7)) - x165 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x165 += einsum(x3, (0, 1, 2, 3), x164, (4, 5, 6, 1, 0, 7), (4, 5, 6, 2, 3, 7)) - del x3, x164 - x166 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x166 += einsum(x160, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x160 - x166 += einsum(x163, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * -1.0 - del x163 - x166 += einsum(x165, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) - del x165 - t3new += einsum(x166, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 - t3new += einsum(x166, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) - del x166 - x167 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x167 += einsum(x87, (0, 1, 2, 3), t3, (4, 5, 1, 6, 3, 7), (4, 5, 0, 7, 6, 2)) * 1.00000000000001 - del x87 - t3new += einsum(x167, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -1.0 - t3new += einsum(x167, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) - del x167 - x168 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x168 += einsum(x92, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (0, 4, 5, 6, 7, 2)) - x169 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x169 += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 6, 1, 7, 3), (4, 6, 5, 0, 7, 2)) - x170 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x170 += einsum(t1, (0, 1), x169, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) - del x169 - x171 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x171 += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 1, 2), (0, 4, 5, 3)) - x172 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x172 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x172 += einsum(v.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x173 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x173 += einsum(t2, (0, 1, 2, 3), x172, (4, 5, 1, 3), (0, 4, 5, 2)) - del x172 - x174 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x174 += einsum(x171, (0, 1, 2, 3), (0, 2, 1, 3)) - del x171 - x174 += einsum(x173, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x173 - x175 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x175 += einsum(t2, (0, 1, 2, 3), x174, (4, 1, 5, 6), (0, 4, 5, 3, 2, 6)) - del x174 - x176 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x176 += einsum(x34, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x176 += einsum(x37, (0, 1, 2, 3), (0, 1, 2, 3)) - del x37 - x177 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x177 += einsum(t2, (0, 1, 2, 3), x176, (4, 5, 1, 6), (0, 4, 5, 3, 2, 6)) - del x176 - x178 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x178 += einsum(x168, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x168 - x178 += einsum(x170, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -0.5 - del x170 - x178 += einsum(x175, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) - del x175 - x178 += einsum(x177, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 - del x177 - t3new += einsum(x178, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) - t3new += einsum(x178, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -1.0 - t3new += einsum(x178, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) * -1.0 - t3new += einsum(x178, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) - del x178 - x179 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x179 += einsum(t1, (0, 1), x23, (2, 3, 1, 4), (0, 2, 3, 4)) - x180 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x180 += einsum(t2, (0, 1, 2, 3), x179, (4, 5, 1, 6), (4, 5, 0, 2, 3, 6)) - del x179 - x181 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x181 += einsum(t2, (0, 1, 2, 3), x5, (4, 1, 5, 2), (4, 0, 5, 3)) - x182 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x182 += einsum(x5, (0, 1, 2, 3), (0, 1, 2, 3)) - x182 += einsum(x181, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x181 - x182 += einsum(x66, (0, 1, 2, 3), (1, 0, 2, 3)) - del x66 - x183 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x183 += einsum(t2, (0, 1, 2, 3), x182, (4, 5, 1, 6), (0, 4, 5, 3, 2, 6)) - del x182 - x184 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x184 += einsum(x180, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x180 - x184 += einsum(x183, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 - del x183 - t3new += einsum(x184, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) - t3new += einsum(x184, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -1.0 - t3new += einsum(x184, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) * -1.0 - t3new += einsum(x184, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) - del x184 - x185 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x185 += einsum(x24, (0, 1, 2, 3), t3, (3, 4, 2, 5, 6, 7), (0, 4, 1, 7, 5, 6)) - x186 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x186 += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (4, 5, 0, 2, 6, 7)) - x187 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x187 += einsum(t1, (0, 1), x186, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) - del x186 - x188 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x188 += einsum(x9, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4)) * 2.0 - x189 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x189 += einsum(t1, (0, 1), x153, (2, 3, 4, 0), (3, 2, 4, 1)) - del x153 - x190 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x190 += einsum(x188, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x188 - x190 += einsum(x189, (0, 1, 2, 3), (1, 0, 2, 3)) - del x189 - x191 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x191 += einsum(t2, (0, 1, 2, 3), x190, (4, 5, 1, 6), (0, 4, 5, 3, 2, 6)) - del x190 - x192 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x192 += einsum(x185, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 0.5 - del x185 - x192 += einsum(x187, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x187 - x192 += einsum(x191, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -1.0 - del x191 - t3new += einsum(x192, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 - t3new += einsum(x192, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) - t3new += einsum(x192, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) - t3new += einsum(x192, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -1.0 - del x192 - x193 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x193 += einsum(t2, (0, 1, 2, 3), x20, (4, 5, 3, 6), (4, 0, 1, 2, 6, 5)) - del x20 - x194 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x194 += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 3, 1, 5), (0, 4, 2, 5)) - x195 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x195 += einsum(v.ovov, (0, 1, 2, 3), x124, (2, 4, 3, 5), (4, 0, 5, 1)) - del x124 - x196 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x196 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x196 += einsum(x194, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x196 += einsum(x195, (0, 1, 2, 3), (0, 1, 2, 3)) - del x195 - x197 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x197 += einsum(t2, (0, 1, 2, 3), x196, (4, 5, 6, 2), (0, 1, 4, 5, 3, 6)) - del x196 - x198 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x198 += einsum(t1, (0, 1), x197, (2, 3, 4, 0, 5, 6), (3, 2, 4, 1, 5, 6)) - del x197 - x199 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x199 += einsum(x193, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x193 - x199 += einsum(x198, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - del x198 - t3new += einsum(x199, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) - t3new += einsum(x199, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -1.0 - t3new += einsum(x199, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - t3new += einsum(x199, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - t3new += einsum(x199, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) - t3new += einsum(x199, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -1.0 - t3new += einsum(x199, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) * -1.0 - t3new += einsum(x199, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) - t3new += einsum(x199, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) - t3new += einsum(x199, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 - t3new += einsum(x199, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -1.0 - t3new += einsum(x199, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) - del x199 - x200 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x200 += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 2, 5, 3), (0, 1, 4, 5)) - x201 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x201 += einsum(t2, (0, 1, 2, 3), x200, (4, 5, 1, 6), (4, 5, 0, 2, 3, 6)) - del x200 - x202 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x202 += einsum(t2, (0, 1, 2, 3), x84, (4, 5, 6, 2), (0, 1, 4, 5, 3, 6)) - del x84 - x203 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x203 += einsum(t1, (0, 1), x202, (2, 3, 4, 0, 5, 6), (3, 2, 4, 1, 5, 6)) * -1.0 - del x202 - x204 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x204 += einsum(x201, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x201 - x204 += einsum(x203, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x203 - t3new += einsum(x204, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - t3new += einsum(x204, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -1.0 - t3new += einsum(x204, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -1.0 - t3new += einsum(x204, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) - t3new += einsum(x204, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) - t3new += einsum(x204, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -1.0 - t3new += einsum(x204, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) * -1.0 - t3new += einsum(x204, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) - t3new += einsum(x204, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) - t3new += einsum(x204, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -1.0 - t3new += einsum(x204, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -1.0 - t3new += einsum(x204, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) - del x204 - x205 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x205 += einsum(x23, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 2), (0, 4, 5, 6, 7, 3)) - t3new += einsum(x205, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - t3new += einsum(x205, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) - t3new += einsum(x205, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 - t3new += einsum(x205, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) - t3new += einsum(x205, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) - t3new += einsum(x205, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -1.0 - t3new += einsum(x205, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) - t3new += einsum(x205, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * -1.0 - del x205 - x206 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x206 += einsum(x92, (0, 1, 2, 3), t3, (4, 1, 5, 6, 7, 3), (0, 4, 5, 6, 7, 2)) - t3new += einsum(x206, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * -1.0 - t3new += einsum(x206, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) - del x206 - x207 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x207 += einsum(v.vvvv, (0, 1, 2, 3), t3, (4, 5, 6, 1, 7, 3), (4, 6, 5, 7, 0, 2)) - x208 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x208 += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 1, 3), (4, 6, 5, 0, 7, 2)) - x209 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x209 += einsum(t1, (0, 1), x208, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) - del x208 - x210 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x210 += einsum(x207, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -0.5 - del x207 - x210 += einsum(x209, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x209 - t3new += einsum(x210, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -1.0 - t3new += einsum(x210, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) - del x210 - x211 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x211 += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 2), (0, 3, 4, 5)) - x212 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x212 += einsum(t2, (0, 1, 2, 3), x211, (4, 5, 3, 6), (0, 1, 4, 2, 5, 6)) - del x211 - x213 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x213 += einsum(t2, (0, 1, 2, 3), x92, (4, 5, 6, 3), (4, 0, 1, 5, 2, 6)) - x214 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x214 += einsum(t1, (0, 1), x213, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) - del x213 - x215 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x215 += einsum(x212, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x212 - x215 += einsum(x214, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x214 - t3new += einsum(x215, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - t3new += einsum(x215, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) - t3new += einsum(x215, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - t3new += einsum(x215, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - t3new += einsum(x215, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 - t3new += einsum(x215, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) - t3new += einsum(x215, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) - t3new += einsum(x215, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 - t3new += einsum(x215, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) - t3new += einsum(x215, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 - t3new += einsum(x215, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) - t3new += einsum(x215, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -1.0 - del x215 - x216 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x216 += einsum(t2, (0, 1, 2, 3), x23, (4, 5, 3, 6), (4, 0, 1, 5, 2, 6)) - x217 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x217 += einsum(t1, (0, 1), x216, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) - del x216 - x218 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x218 += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 0, 1, 5), (4, 2, 3, 5)) - x219 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x219 += einsum(t1, (0, 1), v.ooov, (2, 3, 0, 4), (2, 3, 1, 4)) - x220 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x220 += einsum(t1, (0, 1), x219, (2, 0, 3, 4), (2, 1, 3, 4)) - x221 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x221 += einsum(x218, (0, 1, 2, 3), (0, 1, 2, 3)) - del x218 - x221 += einsum(x220, (0, 1, 2, 3), (0, 1, 2, 3)) - del x220 - x222 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x222 += einsum(t2, (0, 1, 2, 3), x221, (4, 5, 6, 2), (0, 1, 4, 3, 5, 6)) - del x221 - x223 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x223 += einsum(x217, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - del x217 - x223 += einsum(x222, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) - del x222 - t3new += einsum(x223, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - t3new += einsum(x223, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) - t3new += einsum(x223, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -1.0 - t3new += einsum(x223, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) - t3new += einsum(x223, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * -1.0 - t3new += einsum(x223, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) - t3new += einsum(x223, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) - t3new += einsum(x223, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * -1.0 - t3new += einsum(x223, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) - t3new += einsum(x223, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -1.0 - t3new += einsum(x223, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) - t3new += einsum(x223, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -1.0 - del x223 - x224 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x224 += einsum(x24, (0, 1, 2, 3), t3, (4, 3, 2, 5, 6, 7), (0, 4, 1, 5, 7, 6)) - t3new += einsum(x224, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) - t3new += einsum(x224, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) * -1.0 - del x224 - x225 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x225 += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 3), (4, 5, 0, 1, 6, 7)) - x226 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x226 += einsum(t1, (0, 1), x225, (2, 3, 0, 4, 5, 6), (2, 3, 4, 1, 5, 6)) - del x225 - t3new += einsum(x226, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - t3new += einsum(x226, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -1.0 - t3new += einsum(x226, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) - t3new += einsum(x226, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -1.0 - t3new += einsum(x226, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) * -1.0 - t3new += einsum(x226, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) - t3new += einsum(x226, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -1.0 - t3new += einsum(x226, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) - del x226 - x227 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x227 += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 5, 1, 6, 3, 7), (4, 5, 0, 2, 6, 7)) - x228 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x228 += einsum(t1, (0, 1), x227, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) - del x227 - t3new += einsum(x228, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) - t3new += einsum(x228, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -1.0 - del x228 - x229 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x229 += einsum(t1, (0, 1), x24, (2, 3, 0, 4), (2, 3, 4, 1)) - x230 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x230 += einsum(t2, (0, 1, 2, 3), x229, (4, 5, 1, 6), (4, 0, 5, 6, 2, 3)) - del x229 - t3new += einsum(x230, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * -1.0 - t3new += einsum(x230, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) - t3new += einsum(x230, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) - t3new += einsum(x230, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * -1.0 - del x230 - x231 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x231 += einsum(v.ovov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 3), (4, 5, 0, 6, 7, 1)) - t3new += einsum(x231, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - t3new += einsum(x231, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -1.0 - t3new += einsum(x231, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) - t3new += einsum(x231, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 - t3new += einsum(x231, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -1.0 - t3new += einsum(x231, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) - t3new += einsum(x231, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -1.0 - t3new += einsum(x231, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) - del x231 - x232 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x232 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) * 0.499999999999995 - x232 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x232 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - x233 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x233 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x233 += einsum(x18, (0, 1, 2, 3), (1, 0, 3, 2)) - del x18 - x233 += einsum(x23, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x233 += einsum(x194, (0, 1, 2, 3), (1, 0, 3, 2)) * 1.00000000000001 - del x194 - x233 += einsum(v.ovov, (0, 1, 2, 3), x232, (2, 4, 5, 3), (0, 4, 1, 5)) * 2.00000000000002 - del x232 - x234 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x234 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - x234 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 - x234 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) - x234 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -1.0 - t3new += einsum(x233, (0, 1, 2, 3), x234, (0, 4, 5, 2, 6, 7), (4, 1, 5, 7, 3, 6)) - del x233, x234 - x235 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x235 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x235 += einsum(x219, (0, 1, 2, 3), (1, 0, 3, 2)) - del x219 - x235 += einsum(x92, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - x235 += einsum(x97, (0, 1, 2, 3), (1, 0, 3, 2)) - del x97 - t3new += einsum(x235, (0, 1, 2, 3), t3, (4, 0, 5, 6, 2, 7), (4, 1, 5, 6, 3, 7)) - del x235 - x236 = np.zeros((nvir, nvir), dtype=types[float]) - x236 += einsum(f.vv, (0, 1), (0, 1)) * -1.0 - x236 += einsum(x113, (0, 1), (0, 1)) - del x113 - x236 += einsum(x114, (0, 1), (1, 0)) - del x114 - x236 += einsum(x60, (0, 1), (1, 0)) * -1.0 - del x60 - t3new += einsum(x236, (0, 1), t3, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) * -1.0 - del x236 - x237 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x237 += einsum(v.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) - x237 += einsum(x5, (0, 1, 2, 3), (0, 1, 2, 3)) - x238 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x238 += einsum(x237, (0, 1, 2, 3), x38, (1, 4, 5, 3), (4, 0, 2, 5)) - x239 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x239 += einsum(t2, (0, 1, 2, 3), x237, (4, 5, 1, 3), (0, 4, 5, 2)) * 0.5 - x240 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x240 += einsum(t2, (0, 1, 2, 3), x237, (4, 5, 1, 2), (0, 4, 5, 3)) * 0.5 - del x237 - x241 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x241 += einsum(x9, (0, 1), t2, (2, 3, 1, 4), (2, 3, 0, 4)) - del x9 - x242 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x242 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) - x242 += einsum(x92, (0, 1, 2, 3), (0, 1, 3, 2)) - del x92 - x243 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x243 += einsum(t1, (0, 1), x242, (2, 3, 1, 4), (0, 2, 3, 4)) * 0.5 - del x242 - x244 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x244 += einsum(v.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x244 += einsum(x24, (0, 1, 2, 3), (2, 1, 0, 3)) - x244 += einsum(x19, (0, 1, 2, 3), (3, 1, 0, 2)) - x245 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x245 += einsum(t1, (0, 1), x244, (0, 2, 3, 4), (2, 3, 4, 1)) * 0.5 - del x244 - x246 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x246 += einsum(v.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) * -0.5 - x246 += einsum(x5, (0, 1, 2, 3), (1, 2, 0, 3)) * -0.5 - x246 += einsum(x238, (0, 1, 2, 3), (0, 2, 1, 3)) - del x238 - x246 += einsum(x239, (0, 1, 2, 3), (0, 2, 1, 3)) - del x239 - x246 += einsum(x240, (0, 1, 2, 3), (1, 2, 0, 3)) - del x240 - x246 += einsum(x241, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - del x241 - x246 += einsum(x243, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x243 - x246 += einsum(x245, (0, 1, 2, 3), (0, 2, 1, 3)) - del x245 - x247 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x247 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x247 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - t3new += einsum(x246, (0, 1, 2, 3), x247, (1, 4, 5, 6), (4, 0, 2, 5, 3, 6)) * -2.0 - x248 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x248 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) - x248 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t3new += einsum(x246, (0, 1, 2, 3), x248, (1, 4, 5, 6), (2, 0, 4, 5, 3, 6)) * -2.0 - del x246 - x249 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x249 += einsum(v.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x249 += einsum(x24, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 - x250 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x250 += einsum(t1, (0, 1), x249, (0, 2, 3, 4), (2, 3, 4, 1)) - del x249 - x251 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x251 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x251 += einsum(x250, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - del x250 - x252 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x252 += einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), (0, 2, 3, 4)) - x253 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x253 += einsum(t1, (0, 1), x19, (2, 3, 4, 0), (2, 3, 4, 1)) - del x19 - x254 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x254 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) - x254 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x254 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - x255 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x255 += einsum(v.ooov, (0, 1, 2, 3), x254, (1, 4, 5, 3), (0, 2, 4, 5)) - del x254 - x256 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x256 += einsum(x38, (0, 1, 2, 3), x5, (4, 0, 5, 3), (4, 5, 1, 2)) * 2.0 - del x38 - x257 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x257 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) - x257 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x258 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x258 += einsum(v.ooov, (0, 1, 2, 3), x257, (2, 4, 5, 3), (0, 1, 4, 5)) * 2.0 - del x257 - x259 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x259 += einsum(x247, (0, 1, 2, 3), x5, (4, 5, 0, 3), (4, 5, 1, 2)) - del x247 - x260 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x260 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x260 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x260 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) - x261 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x261 += einsum(t1, (0, 1), x260, (2, 3, 1, 4), (0, 2, 3, 4)) - del x260 - x262 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x262 += einsum(x8, (0, 1), t2, (2, 3, 1, 4), (2, 3, 0, 4)) * 2.0 - del x8 - x263 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x263 += einsum(x253, (0, 1, 2, 3), (0, 2, 1, 3)) - x263 += einsum(x255, (0, 1, 2, 3), (2, 1, 0, 3)) - x263 += einsum(x256, (0, 1, 2, 3), (0, 1, 2, 3)) - x263 += einsum(x258, (0, 1, 2, 3), (2, 1, 0, 3)) - x263 += einsum(x259, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x259 - x263 += einsum(x261, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x261 - x263 += einsum(x262, (0, 1, 2, 3), (1, 2, 0, 3)) - x264 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x264 += einsum(x251, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x264 += einsum(x251, (0, 1, 2, 3), (0, 2, 1, 3)) - del x251 - x264 += einsum(x252, (0, 1, 2, 3), (0, 1, 2, 3)) - x264 += einsum(x252, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x264 += einsum(x263, (0, 1, 2, 3), (1, 0, 2, 3)) - x264 += einsum(x263, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - del x263 - t3new += einsum(t2, (0, 1, 2, 3), x264, (1, 4, 5, 6), (4, 0, 5, 6, 2, 3)) * -1.0 - del x264 - x265 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x265 += einsum(t1, (0, 1), v.oooo, (2, 3, 4, 0), (2, 3, 4, 1)) - x266 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x266 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x266 += einsum(x265, (0, 1, 2, 3), (1, 0, 2, 3)) - del x265 - x266 += einsum(x252, (0, 1, 2, 3), (1, 0, 2, 3)) - del x252 - x267 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x267 += einsum(x34, (0, 1, 2, 3), (0, 2, 1, 3)) - del x34 - x267 += einsum(x258, (0, 1, 2, 3), (2, 1, 0, 3)) - del x258 - x268 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x268 += einsum(x248, (0, 1, 2, 3), x5, (4, 5, 0, 2), (4, 5, 1, 3)) - del x5, x248 - x269 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x269 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x269 += einsum(x23, (0, 1, 2, 3), (1, 0, 2, 3)) - del x23 - x270 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x270 += einsum(t1, (0, 1), x269, (2, 3, 1, 4), (0, 2, 3, 4)) - del x269 - x271 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x271 += einsum(x253, (0, 1, 2, 3), (0, 1, 2, 3)) - del x253 - x271 += einsum(x255, (0, 1, 2, 3), (2, 0, 1, 3)) - del x255 - x271 += einsum(x256, (0, 1, 2, 3), (0, 2, 1, 3)) - del x256 - x271 += einsum(x268, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x268 - x271 += einsum(x262, (0, 1, 2, 3), (1, 0, 2, 3)) - del x262 - x271 += einsum(x270, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x270 - x272 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x272 += einsum(t1, (0, 1), x24, (2, 3, 4, 0), (2, 4, 3, 1)) - del x24 - x273 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x273 += einsum(x266, (0, 1, 2, 3), (0, 2, 1, 3)) - x273 += einsum(x266, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - del x266 - x273 += einsum(x267, (0, 1, 2, 3), (0, 1, 2, 3)) - x273 += einsum(x267, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x267 - x273 += einsum(x271, (0, 1, 2, 3), (0, 1, 2, 3)) - x273 += einsum(x271, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x271 - x273 += einsum(x272, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x273 += einsum(x272, (0, 1, 2, 3), (1, 0, 2, 3)) - del x272 - t3new += einsum(t2, (0, 1, 2, 3), x273, (4, 5, 1, 6), (5, 0, 4, 3, 2, 6)) * -1.0 - del x273 - - return {"t1new": t1new, "t2new": t2new, "t3new": t3new} - -def update_lams(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, t3=None, l1=None, l2=None, l3=None, **kwargs): - # L amplitudes - l1new = np.zeros((nvir, nocc), dtype=types[float]) - l1new += einsum(f.ov, (0, 1), (1, 0)) - l2new = np.zeros((nvir, nvir, nocc, nocc), dtype=types[float]) - l2new += einsum(l2, (0, 1, 2, 3), v.vvvv, (4, 1, 5, 0), (4, 5, 3, 2)) - l2new += einsum(v.ovov, (0, 1, 2, 3), (1, 3, 0, 2)) - l2new += einsum(l2, (0, 1, 2, 3), v.oooo, (4, 2, 5, 3), (0, 1, 4, 5)) - l3new = np.zeros((nvir, nvir, nvir, nocc, nocc, nocc), dtype=types[float]) - l3new += einsum(l1, (0, 1), v.ovov, (2, 3, 4, 5), (0, 3, 5, 1, 2, 4)) - l3new += einsum(l1, (0, 1), v.ovov, (2, 3, 4, 5), (5, 3, 0, 1, 2, 4)) * -1.0 - l3new += einsum(l1, (0, 1), v.ovov, (2, 3, 4, 5), (5, 0, 3, 2, 1, 4)) * -1.0 - l3new += einsum(l1, (0, 1), v.ovov, (2, 3, 4, 5), (3, 0, 5, 2, 1, 4)) - l3new += einsum(l1, (0, 1), v.ovov, (2, 3, 4, 5), (0, 5, 3, 2, 4, 1)) * -1.0 - l3new += einsum(l1, (0, 1), v.ovov, (2, 3, 4, 5), (3, 5, 0, 2, 4, 1)) - x0 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x0 += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 3), (4, 5, 0, 1, 6, 7)) - x1 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x1 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x1 += einsum(v.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - x2 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x2 += einsum(x1, (0, 1, 2, 3), t3, (4, 5, 0, 6, 3, 7), (4, 5, 1, 2, 7, 6)) * 0.25 - x3 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x3 += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (4, 5, 0, 2, 6, 7)) - x4 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x4 += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 2, 5, 6, 3, 7), (4, 5, 0, 1, 6, 7)) - x5 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x5 += einsum(t1, (0, 1), v.ooov, (2, 3, 4, 1), (0, 2, 3, 4)) - x6 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x6 += einsum(t2, (0, 1, 2, 3), x5, (4, 5, 1, 6), (4, 0, 5, 6, 2, 3)) - x7 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x7 += einsum(t2, (0, 1, 2, 3), x5, (4, 5, 6, 1), (4, 0, 5, 6, 2, 3)) - x8 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x8 += einsum(t1, (0, 1), v.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) - x9 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x9 += einsum(x8, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (0, 4, 5, 2, 6, 7)) - x10 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x10 += einsum(x8, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x10 += einsum(x8, (0, 1, 2, 3), (0, 2, 1, 3)) - x11 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x11 += einsum(x10, (0, 1, 2, 3), t3, (4, 5, 1, 6, 3, 7), (4, 5, 0, 2, 7, 6)) * 0.25 - x12 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x12 += einsum(x8, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 3), (0, 4, 5, 1, 6, 7)) - x13 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x13 += einsum(x8, (0, 1, 2, 3), t3, (4, 1, 5, 6, 3, 7), (0, 4, 5, 2, 6, 7)) - x14 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x14 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -0.5 - x14 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x15 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x15 += einsum(t2, (0, 1, 2, 3), x14, (1, 4, 3, 5), (0, 4, 2, 5)) - x16 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x16 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x16 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x17 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x17 += einsum(t2, (0, 1, 2, 3), x16, (1, 4, 2, 5), (0, 4, 3, 5)) * 0.5 - x18 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x18 += einsum(x15, (0, 1, 2, 3), (0, 1, 2, 3)) - x18 += einsum(x17, (0, 1, 2, 3), (0, 1, 2, 3)) - x19 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x19 += einsum(t2, (0, 1, 2, 3), x18, (4, 5, 6, 2), (0, 1, 4, 5, 3, 6)) * 2.0 - x20 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x20 += einsum(t1, (0, 1), x8, (2, 3, 4, 1), (0, 2, 3, 4)) - x21 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x21 += einsum(t2, (0, 1, 2, 3), x20, (4, 5, 1, 6), (5, 4, 0, 6, 2, 3)) - x22 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x22 += einsum(v.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x22 += einsum(v.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) - x23 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x23 += einsum(t1, (0, 1), x22, (2, 3, 1, 4), (0, 2, 3, 4)) * -1.0 - x24 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x24 += einsum(t2, (0, 1, 2, 3), x8, (4, 5, 6, 3), (4, 0, 1, 6, 5, 2)) - x25 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x25 += einsum(x24, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - x25 += einsum(x24, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) - x26 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x26 += einsum(x0, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) * 1.25 - x26 += einsum(x0, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) * -0.25 - x26 += einsum(x0, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -0.25 - x26 += einsum(x0, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * 1.25 - del x0 - x26 += einsum(x2, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) - x26 += einsum(x2, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -1.0 - del x2 - x26 += einsum(x3, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) * -0.25 - x26 += einsum(x3, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) * 0.25 - x26 += einsum(x3, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * 0.25 - x26 += einsum(x3, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -1.25 - del x3 - x26 += einsum(x4, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -0.25 - x26 += einsum(x4, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * 0.25 - del x4 - x26 += einsum(x6, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * 0.5 - x26 += einsum(x6, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.5 - x26 += einsum(x7, (0, 1, 2, 3, 4, 5), (0, 3, 1, 2, 4, 5)) * -0.5 - x26 += einsum(x7, (0, 1, 2, 3, 4, 5), (0, 3, 1, 2, 5, 4)) * 0.5 - x26 += einsum(x9, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 1.25 - x26 += einsum(x9, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -0.25 - x26 += einsum(x9, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -0.25 - x26 += einsum(x9, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 1.25 - del x9 - x26 += einsum(x11, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) - x26 += einsum(x11, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -1.0 - del x11 - x26 += einsum(x12, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -0.25 - x26 += einsum(x12, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 0.25 - x26 += einsum(x12, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * 0.25 - x26 += einsum(x12, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.25 - del x12 - x26 += einsum(x13, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -0.25 - x26 += einsum(x13, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 0.25 - del x13 - x26 += einsum(x19, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -1.0 - x26 += einsum(x19, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) * 0.5 - del x19 - x26 += einsum(x21, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 0.5 - x26 += einsum(x21, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.5 - x26 += einsum(x21, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * -0.5 - x26 += einsum(x21, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * 0.5 - x26 += einsum(t2, (0, 1, 2, 3), x23, (4, 5, 3, 6), (4, 0, 1, 5, 2, 6)) * -1.0 - del x23 - x26 += einsum(t1, (0, 1), x25, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 6, 1)) * -1.0 - del x25 - l1new += einsum(l3, (0, 1, 2, 3, 4, 5), x26, (3, 4, 5, 6, 1, 2), (0, 6)) * -1.0 - del x26 - x27 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x27 += einsum(f.ov, (0, 1), t3, (2, 3, 4, 5, 6, 1), (0, 2, 4, 3, 5, 6)) - x28 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x28 += einsum(f.ov, (0, 1), t3, (2, 3, 4, 5, 1, 6), (0, 2, 4, 3, 5, 6)) - x29 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x29 += einsum(x1, (0, 1, 2, 3), t3, (4, 5, 0, 6, 7, 3), (4, 5, 1, 2, 6, 7)) * 1.00000000000004 - x30 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x30 += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 6, 1, 7, 3), (4, 6, 5, 0, 7, 2)) - x31 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x31 += einsum(t2, (0, 1, 2, 3), x18, (4, 5, 6, 2), (0, 1, 4, 5, 3, 6)) * 2.00000000000008 - del x18 - x32 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x32 += einsum(x30, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - x32 += einsum(x31, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) - del x31 - x33 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x33 += einsum(x10, (0, 1, 2, 3), t3, (4, 5, 1, 6, 7, 3), (4, 5, 0, 2, 6, 7)) * 1.00000000000004 - x34 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x34 += einsum(v.ovov, (0, 1, 2, 3), t3, (4, 5, 6, 1, 7, 3), (4, 6, 5, 0, 2, 7)) - x35 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x35 += einsum(t1, (0, 1), x34, (2, 3, 4, 0, 5, 6), (3, 2, 4, 5, 1, 6)) - del x34 - x36 = np.zeros((nocc, nvir), dtype=types[float]) - x36 += einsum(t1, (0, 1), x14, (0, 2, 1, 3), (2, 3)) - x37 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x37 += einsum(x36, (0, 1), t3, (2, 3, 4, 5, 1, 6), (2, 4, 3, 0, 5, 6)) * 0.6666666666666666 - x38 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x38 += einsum(x36, (0, 1), t3, (2, 3, 4, 1, 5, 6), (2, 4, 3, 0, 6, 5)) * 0.6666666666666666 - x39 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x39 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x39 += einsum(v.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - x39 += einsum(x8, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x39 += einsum(x8, (0, 1, 2, 3), (2, 0, 1, 3)) - x40 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x40 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x40 += einsum(x8, (0, 1, 2, 3), (0, 2, 1, 3)) - x41 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x41 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x41 += einsum(x8, (0, 1, 2, 3), (2, 0, 1, 3)) - x42 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x42 += einsum(x27, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -0.3333333333333333 - x42 += einsum(x27, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * 2.333333333333333 - x42 += einsum(x27, (0, 1, 2, 3, 4, 5), (2, 3, 0, 1, 4, 5)) * 0.3333333333333333 - x42 += einsum(x27, (0, 1, 2, 3, 4, 5), (2, 3, 0, 1, 5, 4)) * -0.3333333333333333 - x42 += einsum(x28, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * 0.3333333333333333 - x42 += einsum(x28, (0, 1, 2, 3, 4, 5), (1, 3, 0, 2, 5, 4)) * -0.3333333333333333 - del x28 - x42 += einsum(x29, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) - x42 += einsum(x29, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -1.0 - del x29 - x42 += einsum(x32, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) - x42 += einsum(x32, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) * -1.0 - del x32 - x42 += einsum(x33, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) - x42 += einsum(x33, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -1.0 - del x33 - x42 += einsum(x35, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -1.0 - x42 += einsum(x35, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 5, 4)) - x42 += einsum(x37, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) - x42 += einsum(x37, (0, 1, 2, 3, 4, 5), (1, 2, 3, 0, 4, 5)) * -1.0 - del x37 - x42 += einsum(x38, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 - x42 += einsum(x38, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * 6.999999999999999 - x42 += einsum(x38, (0, 1, 2, 3, 4, 5), (0, 2, 3, 1, 4, 5)) - x42 += einsum(x38, (0, 1, 2, 3, 4, 5), (0, 2, 3, 1, 5, 4)) * -1.0 - del x38 - x42 += einsum(x39, (0, 1, 2, 3), t3, (4, 5, 0, 6, 3, 7), (4, 5, 2, 1, 6, 7)) * -1.00000000000004 - del x39 - x42 += einsum(x40, (0, 1, 2, 3), t3, (4, 2, 5, 6, 3, 7), (4, 5, 1, 0, 7, 6)) * 1.00000000000004 - x42 += einsum(x41, (0, 1, 2, 3), t3, (4, 0, 5, 3, 6, 7), (4, 5, 2, 1, 6, 7)) * -2.00000000000008 - l1new += einsum(l3, (0, 1, 2, 3, 4, 5), x42, (3, 5, 6, 4, 1, 2), (0, 6)) * -0.24999999999999 - del x42 - x43 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x43 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x43 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * 2.0 - x44 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x44 += einsum(t2, (0, 1, 2, 3), x43, (1, 4, 3, 5), (0, 4, 2, 5)) * 1.5000000000000002 - x45 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x45 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x45 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * 3.0000000000000004 - x46 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x46 += einsum(t2, (0, 1, 2, 3), x45, (1, 4, 2, 5), (0, 4, 3, 5)) * 0.5 - del x45 - x47 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x47 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) - x47 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -2.0 - x47 += einsum(x44, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x44 - x47 += einsum(x46, (0, 1, 2, 3), (0, 1, 2, 3)) - del x46 - x48 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x48 += einsum(t2, (0, 1, 2, 3), x47, (4, 5, 6, 2), (0, 1, 4, 5, 3, 6)) * 6.00000000000024 - del x47 - x49 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x49 += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), (0, 1, 4, 5, 6, 2)) - x50 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x50 += einsum(x49, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -0.5 - x50 += einsum(x49, (0, 1, 2, 3, 4, 5), (0, 1, 3, 4, 2, 5)) - x51 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x51 += einsum(t1, (0, 1), x50, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) * 12.00000000000048 - del x50 - x52 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x52 += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 1, 3), (4, 6, 5, 0, 7, 2)) - x53 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x53 += einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 6, 7, 3, 1), (4, 6, 5, 0, 7, 2)) - x54 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x54 += einsum(v.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) - x54 += einsum(v.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 - x55 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x55 += einsum(t1, (0, 1), x54, (2, 3, 1, 4), (0, 2, 3, 4)) - x56 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x56 += einsum(t2, (0, 1, 2, 3), x55, (4, 5, 2, 6), (0, 1, 4, 5, 3, 6)) * 12.00000000000048 - del x55 - x57 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x57 += einsum(v.ovov, (0, 1, 2, 3), t3, (4, 5, 6, 7, 3, 1), (4, 6, 5, 0, 2, 7)) - x58 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x58 += einsum(t1, (0, 1), x57, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - x59 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x59 += einsum(t1, (0, 1), x57, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 1, 6)) - x60 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x60 += einsum(x24, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - x60 += einsum(x24, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -0.5 - x61 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x61 += einsum(t1, (0, 1), x60, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 1, 6)) * 12.00000000000048 - del x60 - x62 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x62 += einsum(x48, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) - x62 += einsum(x48, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 - del x48 - x62 += einsum(x51, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) - x62 += einsum(x51, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 5, 4)) * -1.0 - del x51 - x62 += einsum(x52, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * 2.0 - x62 += einsum(x52, (0, 1, 2, 3, 4, 5), (2, 1, 3, 0, 4, 5)) * -2.0 - x62 += einsum(x30, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 - x62 += einsum(x30, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) - x62 += einsum(x30, (0, 1, 2, 3, 4, 5), (2, 0, 3, 1, 4, 5)) * -1.0 - x62 += einsum(x30, (0, 1, 2, 3, 4, 5), (2, 1, 3, 0, 4, 5)) - x62 += einsum(x53, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -8.0 - x62 += einsum(x53, (0, 1, 2, 3, 4, 5), (2, 1, 3, 0, 4, 5)) * 2.0 - del x53 - x62 += einsum(x56, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) * -1.0 - x62 += einsum(x56, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) - del x56 - x62 += einsum(x58, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * 8.0 - x62 += einsum(x58, (0, 1, 2, 3, 4, 5), (2, 1, 3, 0, 5, 4)) * -2.0 - del x58 - x62 += einsum(x35, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) - x62 += einsum(x35, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 5, 4)) * -1.0 - x62 += einsum(x35, (0, 1, 2, 3, 4, 5), (2, 0, 3, 1, 5, 4)) - x62 += einsum(x35, (0, 1, 2, 3, 4, 5), (2, 1, 3, 0, 5, 4)) * -1.0 - x62 += einsum(x59, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -2.0 - x62 += einsum(x59, (0, 1, 2, 3, 4, 5), (2, 1, 3, 0, 5, 4)) * 2.0 - x62 += einsum(x61, (0, 1, 2, 3, 4, 5), (1, 2, 3, 0, 5, 4)) - x62 += einsum(x61, (0, 1, 2, 3, 4, 5), (2, 1, 3, 0, 5, 4)) * -1.0 - del x61 - l1new += einsum(l3, (0, 1, 2, 3, 4, 5), x62, (5, 3, 6, 4, 2, 1), (0, 6)) * 0.08333333333333 - del x62 - x63 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x63 += einsum(t2, (0, 1, 2, 3), v.oooo, (4, 5, 6, 1), (0, 4, 5, 6, 2, 3)) - x64 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x64 += einsum(x36, (0, 1), t3, (2, 3, 4, 1, 5, 6), (2, 4, 3, 0, 6, 5)) * 0.11111111111110666 - x65 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x65 += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 2, 5, 3), (0, 1, 4, 5)) - x66 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x66 += einsum(t2, (0, 1, 2, 3), x65, (4, 5, 6, 1), (4, 5, 0, 6, 2, 3)) - x67 = np.zeros((nocc, nvir), dtype=types[float]) - x67 += einsum(t1, (0, 1), x14, (0, 2, 1, 3), (2, 3)) * 2.0 - x68 = np.zeros((nocc, nvir), dtype=types[float]) - x68 += einsum(f.ov, (0, 1), (0, 1)) - x68 += einsum(x67, (0, 1), (0, 1)) - l3new += einsum(x68, (0, 1), l2, (2, 3, 4, 5), (1, 2, 3, 0, 4, 5)) - l3new += einsum(x68, (0, 1), l2, (2, 3, 4, 5), (2, 3, 1, 4, 5, 0)) - l3new += einsum(x68, (0, 1), l2, (2, 3, 4, 5), (2, 3, 1, 0, 5, 4)) * -1.0 - l3new += einsum(x68, (0, 1), l2, (2, 3, 4, 5), (1, 2, 3, 5, 4, 0)) * -1.0 - x69 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x69 += einsum(x63, (0, 1, 2, 3, 4, 5), (1, 2, 3, 0, 4, 5)) * 0.3333333333333333 - x69 += einsum(x63, (0, 1, 2, 3, 4, 5), (1, 2, 3, 0, 5, 4)) * -1.0 - x69 += einsum(x63, (0, 1, 2, 3, 4, 5), (1, 3, 2, 0, 4, 5)) * -0.3333333333333333 - x69 += einsum(x63, (0, 1, 2, 3, 4, 5), (1, 3, 2, 0, 5, 4)) * 0.3333333333333333 - x69 += einsum(x27, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -0.05555555555555333 - x69 += einsum(x27, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 0.05555555555555333 - del x27 - x69 += einsum(x7, (0, 1, 2, 3, 4, 5), (2, 3, 0, 1, 4, 5)) * 0.3333333333333333 - x69 += einsum(x7, (0, 1, 2, 3, 4, 5), (2, 3, 0, 1, 5, 4)) * -1.0 - x69 += einsum(x6, (0, 1, 2, 3, 4, 5), (3, 2, 0, 1, 4, 5)) * -0.3333333333333333 - x69 += einsum(x6, (0, 1, 2, 3, 4, 5), (3, 2, 0, 1, 5, 4)) * 0.3333333333333333 - x69 += einsum(x64, (0, 1, 2, 3, 4, 5), (3, 1, 0, 2, 4, 5)) * -1.0 - x69 += einsum(x64, (0, 1, 2, 3, 4, 5), (3, 1, 0, 2, 5, 4)) - del x64 - x69 += einsum(x66, (0, 1, 2, 3, 4, 5), (3, 0, 1, 2, 4, 5)) * 0.3333333333333333 - x69 += einsum(x66, (0, 1, 2, 3, 4, 5), (3, 0, 1, 2, 5, 4)) * -1.0 - x69 += einsum(x66, (0, 1, 2, 3, 4, 5), (3, 1, 0, 2, 4, 5)) * -0.3333333333333333 - x69 += einsum(x66, (0, 1, 2, 3, 4, 5), (3, 1, 0, 2, 5, 4)) * 0.3333333333333333 - x69 += einsum(x68, (0, 1), t3, (2, 3, 4, 5, 1, 6), (0, 2, 4, 3, 5, 6)) * 0.05555555555555333 - l1new += einsum(l3, (0, 1, 2, 3, 4, 5), x69, (6, 5, 4, 3, 1, 2), (0, 6)) * 1.5 - del x69 - x70 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x70 += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 2, 1, 5), (0, 4, 3, 5)) - x71 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x71 += einsum(t2, (0, 1, 2, 3), x70, (4, 5, 6, 3), (0, 1, 4, 5, 2, 6)) - x72 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x72 += einsum(t1, (0, 1), x49, (2, 3, 4, 5, 0, 6), (2, 3, 5, 4, 1, 6)) - x73 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x73 += einsum(t1, (0, 1), x24, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - x74 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x74 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - x74 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) - x74 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) - x75 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x75 += einsum(x71, (0, 1, 2, 3, 4, 5), (3, 1, 0, 2, 4, 5)) * 2.0 - x75 += einsum(x66, (0, 1, 2, 3, 4, 5), (3, 2, 1, 0, 5, 4)) * 2.0 - del x66 - x75 += einsum(x59, (0, 1, 2, 3, 4, 5), (3, 0, 1, 2, 5, 4)) * -1.9999999999999198 - del x59 - x75 += einsum(x72, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) * -2.0 - x75 += einsum(x72, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * 2.0 - x75 += einsum(x73, (0, 1, 2, 3, 4, 5), (3, 1, 2, 0, 5, 4)) * -2.0 - x75 += einsum(x73, (0, 1, 2, 3, 4, 5), (3, 2, 1, 0, 5, 4)) * 2.0 - x75 += einsum(x40, (0, 1, 2, 3), x74, (2, 4, 5, 3, 6, 7), (1, 5, 4, 0, 7, 6)) - del x74 - x75 += einsum(x41, (0, 1, 2, 3), t3, (4, 0, 5, 6, 3, 7), (2, 4, 5, 1, 6, 7)) * -1.0 - del x41 - x75 += einsum(x68, (0, 1), t3, (2, 3, 4, 5, 1, 6), (0, 2, 4, 3, 5, 6)) * 0.99999999999996 - l1new += einsum(l3, (0, 1, 2, 3, 4, 5), x75, (6, 3, 5, 4, 0, 2), (1, 6)) * -0.25 - del x75 - x76 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x76 += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 3, 1, 5), (0, 4, 2, 5)) - x77 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x77 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x77 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x78 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x78 += einsum(v.ovov, (0, 1, 2, 3), x77, (2, 4, 3, 5), (0, 4, 1, 5)) * 0.5 - x79 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x79 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x79 += einsum(x76, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x79 += einsum(x78, (0, 1, 2, 3), (1, 0, 3, 2)) - del x78 - x80 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x80 += einsum(t2, (0, 1, 2, 3), x79, (4, 5, 6, 2), (0, 1, 4, 5, 3, 6)) - del x79 - x81 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x81 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) - x81 += einsum(x70, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x82 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x82 += einsum(t2, (0, 1, 2, 3), x81, (4, 5, 6, 2), (0, 1, 4, 5, 3, 6)) * 2.0 - del x81 - x83 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x83 += einsum(t1, (0, 1), x49, (2, 3, 0, 4, 5, 6), (2, 3, 4, 5, 1, 6)) - x84 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x84 += einsum(x80, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) - x84 += einsum(x80, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 - del x80 - x84 += einsum(x82, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) * -1.0 - x84 += einsum(x82, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * 0.5 - del x82 - x84 += einsum(x72, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * 2.0 - x84 += einsum(x72, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 5, 4)) * -1.0 - del x72 - x84 += einsum(x83, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -1.0 - x84 += einsum(x83, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 5, 4)) - l1new += einsum(l3, (0, 1, 2, 3, 4, 5), x84, (3, 4, 6, 5, 2, 1), (0, 6)) * -1.0 - del x84 - x85 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x85 += einsum(x5, (0, 1, 2, 3), (0, 2, 1, 3)) - x85 += einsum(x5, (0, 1, 2, 3), (0, 3, 2, 1)) * -1.0 - x86 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x86 += einsum(t2, (0, 1, 2, 3), x85, (4, 1, 5, 6), (0, 4, 5, 6, 3, 2)) * 6.0 - del x85 - x87 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x87 += einsum(x65, (0, 1, 2, 3), (1, 0, 3, 2)) - x87 += einsum(x20, (0, 1, 2, 3), (0, 1, 2, 3)) - l2new += einsum(l2, (0, 1, 2, 3), x87, (3, 2, 4, 5), (0, 1, 5, 4)) - x88 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x88 += einsum(t2, (0, 1, 2, 3), x87, (4, 5, 1, 6), (0, 4, 5, 6, 3, 2)) * 3.0 - x89 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x89 += einsum(x63, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * -3.0 - x89 += einsum(x63, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) - x89 += einsum(x63, (0, 1, 2, 3, 4, 5), (3, 0, 2, 1, 4, 5)) * 3.0 - x89 += einsum(x63, (0, 1, 2, 3, 4, 5), (3, 0, 2, 1, 5, 4)) * -1.0 - x89 += einsum(x86, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 5, 4)) * -1.0 - x89 += einsum(x86, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) * 0.3333333333333333 - del x86 - x89 += einsum(x88, (0, 1, 2, 3, 4, 5), (2, 0, 3, 1, 5, 4)) * -1.0 - x89 += einsum(x88, (0, 1, 2, 3, 4, 5), (2, 0, 3, 1, 4, 5)) * 0.3333333333333333 - x89 += einsum(x88, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 5, 4)) - x89 += einsum(x88, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) * -0.3333333333333333 - del x88 - l1new += einsum(l3, (0, 1, 2, 3, 4, 5), x89, (3, 4, 6, 5, 1, 2), (0, 6)) * -0.25 - del x89 - x90 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x90 += einsum(t1, (0, 1), v.ovvv, (2, 1, 3, 4), (0, 2, 3, 4)) - x91 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x91 += einsum(t2, (0, 1, 2, 3), x90, (4, 5, 6, 3), (4, 0, 1, 5, 2, 6)) - x92 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x92 += einsum(v.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x92 += einsum(x5, (0, 1, 2, 3), (2, 1, 0, 3)) - x92 += einsum(x65, (0, 1, 2, 3), (3, 1, 0, 2)) - x93 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x93 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) - x93 += einsum(x90, (0, 1, 2, 3), (0, 1, 3, 2)) - x93 += einsum(x70, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x94 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x94 += einsum(x63, (0, 1, 2, 3, 4, 5), (3, 0, 2, 1, 5, 4)) * -1.0000000000000402 - del x63 - x94 += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 6, 2), (0, 1, 4, 5, 6, 3)) * 1.0000000000000402 - x94 += einsum(x6, (0, 1, 2, 3, 4, 5), (2, 1, 3, 0, 5, 4)) * -1.0000000000000402 - del x6 - x94 += einsum(x52, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -1.0 - del x52 - x94 += einsum(x91, (0, 1, 2, 3, 4, 5), (2, 1, 3, 0, 5, 4)) * 1.0000000000000402 - x94 += einsum(x40, (0, 1, 2, 3), t3, (4, 5, 2, 6, 7, 3), (4, 5, 1, 0, 6, 7)) * 0.5000000000000201 - x94 += einsum(t2, (0, 1, 2, 3), x92, (1, 4, 5, 6), (4, 0, 6, 5, 2, 3)) * 1.0000000000000402 - del x92 - x94 += einsum(t2, (0, 1, 2, 3), x93, (4, 5, 6, 3), (0, 1, 5, 4, 6, 2)) * -1.0000000000000402 - del x93 - l1new += einsum(l3, (0, 1, 2, 3, 4, 5), x94, (5, 3, 6, 4, 0, 2), (1, 6)) * 0.49999999999997996 - del x94 - x95 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x95 += einsum(t1, (0, 1), x24, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 1, 6)) - del x24 - x96 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x96 += einsum(v.ovov, (0, 1, 2, 3), x77, (2, 4, 3, 5), (0, 4, 1, 5)) - x97 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x97 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x97 += einsum(x76, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x97 += einsum(x96, (0, 1, 2, 3), (1, 0, 3, 2)) - x98 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x98 += einsum(x8, (0, 1, 2, 3), t3, (4, 5, 2, 6, 3, 7), (4, 5, 0, 1, 6, 7)) - x98 += einsum(x95, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * 2.0 - x98 += einsum(x7, (0, 1, 2, 3, 4, 5), (1, 3, 0, 2, 4, 5)) - x98 += einsum(x7, (0, 1, 2, 3, 4, 5), (1, 3, 0, 2, 5, 4)) * -1.0 - del x7 - x98 += einsum(x21, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) - x98 += einsum(x21, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) * -1.0 - del x21 - x98 += einsum(t2, (0, 1, 2, 3), x97, (4, 5, 6, 3), (0, 1, 4, 5, 2, 6)) * -2.0 - del x97 - l1new += einsum(l3, (0, 1, 2, 3, 4, 5), x98, (3, 4, 5, 6, 0, 2), (1, 6)) * 0.5 - del x98 - x99 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x99 += einsum(t1, (0, 1), v.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) - x100 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x100 += einsum(t2, (0, 1, 2, 3), x99, (4, 5, 3, 6), (4, 0, 1, 5, 2, 6)) - x101 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x101 += einsum(x71, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 0.25 - del x71 - x101 += einsum(x100, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) * 0.5 - x101 += einsum(x100, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -0.5 - x101 += einsum(x91, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) * -1.0 - x101 += einsum(x91, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * 0.5 - del x91 - x101 += einsum(x73, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) - x101 += einsum(x73, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -0.5 - del x73 - x101 += einsum(x95, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) * -0.5 - x101 += einsum(x95, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * 0.5 - del x95 - l1new += einsum(l3, (0, 1, 2, 3, 4, 5), x101, (5, 4, 3, 6, 2, 1), (0, 6)) * 2.0 - del x101 - x102 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x102 += einsum(v.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) - x102 += einsum(v.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x103 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x103 += einsum(x57, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - x103 += einsum(x57, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) - x104 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x104 += einsum(x30, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - x104 += einsum(x30, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * -1.0 - del x30 - x104 += einsum(x35, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 - x104 += einsum(x35, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) - del x35 - x104 += einsum(x102, (0, 1, 2, 3), t3, (4, 5, 6, 7, 1, 2), (4, 6, 5, 0, 7, 3)) * -2.0 - del x102 - x104 += einsum(t1, (0, 1), x103, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 6, 1)) * -2.0 - del x103 - l1new += einsum(l3, (0, 1, 2, 3, 4, 5), x104, (5, 4, 3, 6, 2, 1), (0, 6)) * 0.08333333333333 - del x104 - x105 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x105 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x105 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x105 += einsum(x15, (0, 1, 2, 3), (0, 1, 2, 3)) - del x15 - x105 += einsum(x17, (0, 1, 2, 3), (0, 1, 2, 3)) - del x17 - x106 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x106 += einsum(x49, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 - x106 += einsum(x49, (0, 1, 2, 3, 4, 5), (0, 1, 3, 4, 2, 5)) - del x49 - x107 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x107 += einsum(t2, (0, 1, 2, 3), x105, (4, 5, 6, 3), (0, 1, 5, 4, 2, 6)) * 2.0 - del x105 - x107 += einsum(t1, (0, 1), x106, (2, 3, 4, 5, 0, 6), (2, 3, 5, 4, 6, 1)) * -2.0 - del x106 - l1new += einsum(l3, (0, 1, 2, 3, 4, 5), x107, (4, 3, 6, 5, 1, 2), (0, 6)) * -0.5 - del x107 - x108 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x108 += einsum(v.ooov, (0, 1, 2, 3), t3, (4, 5, 1, 6, 3, 7), (4, 5, 0, 2, 6, 7)) * 0.5 - x108 += einsum(x83, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - del x83 - x108 += einsum(x100, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 5, 4)) - del x100 - l1new += einsum(l3, (0, 1, 2, 3, 4, 5), x108, (3, 4, 5, 6, 0, 2), (1, 6)) - del x108 - x109 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x109 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (3, 6, 5, 7, 1, 2), (4, 6, 0, 7)) - x110 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x110 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 4, 3, 2, 7, 0), (5, 6, 1, 7)) - x111 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x111 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (3, 6, 5, 0, 7, 2), (4, 6, 1, 7)) - x112 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x112 += einsum(t1, (0, 1), l3, (2, 3, 1, 4, 5, 6), (4, 6, 5, 0, 2, 3)) - l3new += einsum(v.ooov, (0, 1, 2, 3), x112, (4, 5, 1, 0, 6, 7), (6, 3, 7, 4, 2, 5)) - x113 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x113 += einsum(t2, (0, 1, 2, 3), x112, (0, 4, 1, 5, 6, 3), (4, 5, 6, 2)) - x114 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x114 += einsum(t2, (0, 1, 2, 3), x112, (0, 4, 1, 5, 2, 6), (4, 5, 6, 3)) - x115 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x115 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) - x115 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 5.0 - x115 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 - x115 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 - x115 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * -1.0 - x115 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) - x116 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x116 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - x116 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - x116 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) - x117 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x117 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) - x117 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x118 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x118 += einsum(t1, (0, 1), l3, (2, 1, 3, 4, 5, 6), (4, 6, 5, 0, 2, 3)) - l3new += einsum(x8, (0, 1, 2, 3), x118, (4, 5, 0, 1, 6, 7), (7, 3, 6, 5, 2, 4)) - l3new += einsum(x68, (0, 1), x118, (2, 3, 4, 0, 5, 6), (6, 1, 5, 3, 4, 2)) * -1.0 - x119 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x119 += einsum(x118, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - x119 += einsum(x118, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) - x120 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x120 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.5 - x120 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - x121 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x121 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - x121 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x122 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x122 += einsum(t1, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2)) - x123 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x123 += einsum(t2, (0, 1, 2, 3), l3, (4, 2, 3, 1, 5, 6), (6, 5, 0, 4)) - x124 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x124 += einsum(t2, (0, 1, 2, 3), l3, (4, 3, 2, 1, 5, 6), (6, 5, 0, 4)) - x125 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x125 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.3333333333333333 - x125 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - x126 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x126 += einsum(x125, (0, 1, 2, 3), l3, (4, 2, 3, 5, 0, 6), (6, 5, 1, 4)) * 0.75 - x127 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x127 += einsum(x122, (0, 1, 2, 3), (0, 1, 2, 3)) - x127 += einsum(x122, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.5 - x127 += einsum(x123, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.75 - x127 += einsum(x123, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.25 - x127 += einsum(x124, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.25 - x127 += einsum(x124, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.25 - x127 += einsum(x126, (0, 1, 2, 3), (1, 0, 2, 3)) - x127 += einsum(x117, (0, 1, 2, 3), l3, (2, 4, 3, 0, 5, 6), (5, 6, 1, 4)) * -0.25 - x128 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x128 += einsum(x109, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x128 += einsum(x110, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x128 += einsum(x111, (0, 1, 2, 3), (0, 1, 2, 3)) - x128 += einsum(x113, (0, 1, 2, 3), (0, 1, 3, 2)) * 4.0 - x128 += einsum(x114, (0, 1, 2, 3), (0, 1, 3, 2)) * 4.0 - x128 += einsum(l3, (0, 1, 2, 3, 4, 5), x115, (5, 6, 4, 2, 7, 1), (3, 6, 0, 7)) - x128 += einsum(l3, (0, 1, 2, 3, 4, 5), x116, (3, 6, 5, 1, 7, 2), (4, 6, 0, 7)) - x128 += einsum(x117, (0, 1, 2, 3), x119, (0, 1, 4, 5, 6, 3), (4, 5, 2, 6)) * -4.0 - del x119 - x128 += einsum(l2, (0, 1, 2, 3), x120, (3, 4, 1, 5), (2, 4, 0, 5)) * 8.0 - x128 += einsum(l2, (0, 1, 2, 3), x121, (2, 4, 1, 5), (3, 4, 0, 5)) * 4.0 - x128 += einsum(t1, (0, 1), x127, (0, 2, 3, 4), (2, 3, 1, 4)) * 8.0 - del x127 - l1new += einsum(v.ovvv, (0, 1, 2, 3), x128, (4, 0, 3, 2), (1, 4)) * -0.25 - del x128 - x129 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x129 += einsum(t1, (0, 1), l2, (2, 3, 4, 0), (4, 2, 3, 1)) - x130 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x130 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x130 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - x131 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x131 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * -1.0 - x131 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) * 0.3333333333333333 - x131 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 3, 5, 0, 1, 2)) * 0.3333333333333333 - x132 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x132 += einsum(x129, (0, 1, 2, 3), (0, 1, 2, 3)) - x132 += einsum(x130, (0, 1, 2, 3), l3, (4, 5, 2, 1, 6, 0), (6, 4, 5, 3)) * -0.125 - x132 += einsum(t2, (0, 1, 2, 3), x131, (0, 4, 1, 5, 2, 6), (4, 5, 6, 3)) * 0.75 - del x131 - l1new += einsum(v.vvvv, (0, 1, 2, 3), x132, (4, 1, 2, 3), (0, 4)) * 2.0 - del x132 - x133 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x133 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * -1.0 - x133 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) - x133 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 3, 5, 0, 1, 2)) - x134 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x134 += einsum(x129, (0, 1, 2, 3), (0, 1, 2, 3)) - del x129 - x134 += einsum(x130, (0, 1, 2, 3), l3, (4, 5, 2, 1, 6, 0), (6, 4, 5, 3)) * -0.75 - x134 += einsum(t2, (0, 1, 2, 3), x133, (0, 4, 1, 5, 2, 6), (4, 5, 6, 3)) * 0.5 - del x133 - l1new += einsum(v.vvvv, (0, 1, 2, 3), x134, (4, 2, 1, 3), (0, 4)) * -1.0 - del x134 - x135 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x135 += einsum(l2, (0, 1, 2, 3), t3, (4, 5, 3, 6, 0, 1), (2, 4, 5, 6)) - x136 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x136 += einsum(l1, (0, 1), t2, (2, 3, 4, 0), (1, 2, 3, 4)) - x137 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x137 += einsum(t1, (0, 1), x122, (2, 3, 4, 1), (3, 2, 4, 0)) - l2new += einsum(v.ovov, (0, 1, 2, 3), x137, (4, 5, 0, 2), (3, 1, 5, 4)) - x138 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x138 += einsum(t1, (0, 1), x137, (0, 2, 3, 4), (2, 4, 3, 1)) - x139 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x139 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 4, 7, 0, 1, 2), (3, 5, 6, 7)) - x140 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x140 += einsum(t1, (0, 1), x139, (0, 2, 3, 4), (2, 4, 3, 1)) - x141 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x141 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * -1.0 - x141 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) - x142 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x142 += einsum(t1, (0, 1), x141, (2, 3, 4, 1, 5, 6), (0, 2, 3, 4, 5, 6)) - l3new += einsum(x8, (0, 1, 2, 3), x142, (2, 4, 5, 0, 6, 7), (6, 3, 7, 5, 1, 4)) * -1.0 - x143 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x143 += einsum(t1, (0, 1), x142, (2, 3, 4, 5, 1, 6), (0, 4, 3, 5, 2, 6)) * -1.0 - del x142 - x144 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x144 += einsum(t2, (0, 1, 2, 3), x143, (4, 5, 0, 1, 6, 3), (5, 4, 6, 2)) * -0.25 - del x143 - x145 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x145 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 3, 4, 0, 1, 2)) - x145 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) - x146 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x146 += einsum(t2, (0, 1, 2, 3), x145, (1, 4, 0, 5, 2, 6), (4, 3, 5, 6)) - del x145 - x147 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x147 += einsum(t2, (0, 1, 2, 3), x146, (4, 5, 3, 2), (0, 1, 4, 5)) * 0.25 - del x146 - x148 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x148 += einsum(x140, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.124999999999995 - del x140 - x148 += einsum(x144, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x144 - x148 += einsum(x147, (0, 1, 2, 3), (2, 1, 0, 3)) - del x147 - x149 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x149 += einsum(t2, (0, 1, 2, 3), l3, (4, 5, 2, 0, 1, 6), (6, 4, 5, 3)) - x150 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x150 += einsum(t2, (0, 1, 2, 3), x149, (4, 2, 3, 5), (4, 0, 1, 5)) - x151 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x151 += einsum(t1, (0, 1), x118, (2, 3, 4, 5, 6, 1), (2, 3, 4, 0, 5, 6)) - x152 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x152 += einsum(t2, (0, 1, 2, 3), x151, (1, 4, 0, 5, 6, 3), (4, 5, 6, 2)) - x153 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x153 += einsum(x150, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.25 - del x150 - x153 += einsum(x152, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.25 - del x152 - x154 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x154 += einsum(x130, (0, 1, 2, 3), x151, (0, 1, 4, 5, 6, 2), (4, 5, 6, 3)) * 0.375 - x155 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x155 += einsum(x117, (0, 1, 2, 3), l3, (4, 5, 2, 1, 6, 0), (6, 4, 5, 3)) - x156 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x156 += einsum(t2, (0, 1, 2, 3), x155, (4, 3, 2, 5), (0, 1, 4, 5)) * -0.375 - x157 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x157 += einsum(x154, (0, 1, 2, 3), (0, 1, 2, 3)) - del x154 - x157 += einsum(x156, (0, 1, 2, 3), (2, 1, 0, 3)) - del x156 - x158 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x158 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 0.2 - x158 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - x158 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -0.2 - x158 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -0.2 - x158 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 0.2 - x158 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -0.2 - x158 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * -0.2 - x158 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) - x159 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x159 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) - x159 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 0, 2)) - x160 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x160 += einsum(t1, (0, 1), x159, (2, 3, 4, 1, 5, 6), (0, 2, 3, 4, 5, 6)) - x161 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x161 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - x161 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) - x161 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) - x162 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x162 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * -0.3333333333333333 - x162 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) * 0.3333333333333333 - x162 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 0, 2)) - x162 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 0, 2)) * -0.3333333333333333 - x163 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x163 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) - x163 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) * -1.0 - x163 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 0, 2)) * -1.0 - x163 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 0, 2)) * 3.0 - x164 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x164 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) - x164 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 2.0 - x164 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 - x165 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x165 += einsum(t2, (0, 1, 2, 3), l3, (4, 2, 3, 5, 6, 1), (5, 6, 0, 4)) - x166 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x166 += einsum(x125, (0, 1, 2, 3), l3, (4, 2, 3, 5, 0, 6), (6, 5, 1, 4)) * 0.1875 - x167 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x167 += einsum(t2, (0, 1, 2, 3), l3, (4, 3, 2, 5, 6, 1), (5, 6, 0, 4)) - x168 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x168 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * 1.3333333333333333 - x168 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) * -1.0 - x169 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x169 += einsum(x122, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - x169 += einsum(x122, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x169 += einsum(x165, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.0625 - x169 += einsum(x165, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.75 - x169 += einsum(x166, (0, 1, 2, 3), (1, 0, 2, 3)) - x169 += einsum(x166, (0, 1, 2, 3), (0, 1, 2, 3)) * -3.0 - del x166 - x169 += einsum(x167, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.0625 - x169 += einsum(x167, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.25 - x169 += einsum(x117, (0, 1, 2, 3), x168, (0, 4, 5, 2, 3, 6), (4, 5, 1, 6)) * 0.1875 - x170 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x170 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 7, 4, 1, 0, 2), (5, 3, 6, 7)) - x171 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x171 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 7, 3, 2, 1, 0), (5, 4, 6, 7)) - x172 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x172 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 7, 3, 2, 0, 1), (5, 4, 6, 7)) - x173 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x173 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 7, 3, 1, 2, 0), (5, 4, 6, 7)) - x174 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x174 += einsum(t1, (0, 1), x167, (2, 3, 4, 1), (2, 3, 0, 4)) - x175 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x175 += einsum(x172, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.16666666666666 - x175 += einsum(x173, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.16666666666666 - x175 += einsum(x174, (0, 1, 2, 3), (0, 1, 2, 3)) - del x174 - x176 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x176 += einsum(t1, (0, 1), x165, (2, 3, 4, 1), (2, 3, 0, 4)) - x177 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x177 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - x177 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - x178 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x178 += einsum(l3, (0, 1, 2, 3, 4, 5), x177, (4, 6, 7, 0, 2, 1), (3, 5, 6, 7)) * 0.16666666666666 - x179 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x179 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x179 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0 - x180 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x180 += einsum(x179, (0, 1, 2, 3), l3, (4, 2, 3, 5, 0, 6), (5, 6, 1, 4)) * 0.3333333333333333 - x180 += einsum(x130, (0, 1, 2, 3), l3, (3, 4, 2, 5, 6, 0), (6, 5, 1, 4)) * 0.3333333333333333 - x181 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x181 += einsum(x170, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.16666666666666 - x181 += einsum(x171, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.16666666666662 - x181 += einsum(x171, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.16666666666666 - x181 += einsum(x175, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x181 += einsum(x175, (0, 1, 2, 3), (1, 0, 2, 3)) - x181 += einsum(x176, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0 - x181 += einsum(x176, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x181 += einsum(x178, (0, 1, 2, 3), (1, 0, 2, 3)) - x181 += einsum(t1, (0, 1), x180, (2, 3, 4, 1), (2, 3, 0, 4)) * 3.0 - del x180 - x182 = np.zeros((nocc, nocc), dtype=types[float]) - x182 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (3, 6, 5, 0, 1, 2), (4, 6)) - x183 = np.zeros((nocc, nocc), dtype=types[float]) - x183 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 4, 3, 1, 2, 0), (5, 6)) - x184 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x184 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * -1.0 - x184 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 2, 1)) - x185 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x185 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - x185 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 - x186 = np.zeros((nocc, nocc), dtype=types[float]) - x186 += einsum(x184, (0, 1, 2, 3, 4, 5), x185, (1, 6, 0, 3, 4, 5), (2, 6)) * 0.041666666666665 - x187 = np.zeros((nocc, nocc), dtype=types[float]) - x187 += einsum(t3, (0, 1, 2, 3, 4, 5), x184, (1, 2, 6, 5, 4, 3), (0, 6)) * 0.041666666666665 - x188 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x188 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - x188 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -0.14285714285714288 - x189 = np.zeros((nocc, nocc), dtype=types[float]) - x189 += einsum(l3, (0, 1, 2, 3, 4, 5), x188, (3, 6, 4, 0, 2, 1), (5, 6)) * 0.291666666666655 - x190 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x190 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) - x190 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x191 = np.zeros((nocc, nocc), dtype=types[float]) - x191 += einsum(l2, (0, 1, 2, 3), x190, (3, 4, 0, 1), (2, 4)) - x192 = np.zeros((nocc, nocc), dtype=types[float]) - x192 += einsum(x182, (0, 1), (0, 1)) * 0.124999999999995 - x192 += einsum(x183, (0, 1), (0, 1)) * -0.041666666666665 - x192 += einsum(x186, (0, 1), (0, 1)) * -1.0 - del x186 - x192 += einsum(x187, (0, 1), (1, 0)) - del x187 - x192 += einsum(x189, (0, 1), (0, 1)) - del x189 - x192 += einsum(x191, (0, 1), (0, 1)) - x193 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x193 += einsum(x135, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.75 - x193 += einsum(t3, (0, 1, 2, 3, 4, 5), x112, (1, 2, 6, 7, 4, 5), (6, 0, 7, 3)) * -0.125 - x193 += einsum(t3, (0, 1, 2, 3, 4, 5), x118, (1, 2, 6, 7, 5, 4), (6, 0, 7, 3)) * -0.125 - x193 += einsum(x136, (0, 1, 2, 3), (0, 1, 2, 3)) - x193 += einsum(x136, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 - del x136 - x193 += einsum(x122, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x193 += einsum(x122, (0, 1, 2, 3), (1, 0, 2, 3)) - x193 += einsum(x138, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - x193 += einsum(x138, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x138 - x193 += einsum(x148, (0, 1, 2, 3), (0, 1, 2, 3)) - x193 += einsum(x148, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x148 - x193 += einsum(x153, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x193 += einsum(x153, (0, 1, 2, 3), (0, 2, 1, 3)) * 3.0 - del x153 - x193 += einsum(x157, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x193 += einsum(x157, (0, 1, 2, 3), (0, 2, 1, 3)) * 0.3333333333333333 - del x157 - x193 += einsum(x112, (0, 1, 2, 3, 4, 5), x158, (0, 6, 2, 4, 7, 5), (1, 6, 3, 7)) * 0.625 - x193 += einsum(x160, (0, 1, 2, 3, 4, 5), x161, (1, 6, 2, 5, 4, 7), (3, 6, 0, 7)) * 0.125 - x193 += einsum(t2, (0, 1, 2, 3), x162, (1, 4, 5, 2, 3, 6), (4, 5, 0, 6)) * 0.75 - del x162 - x193 += einsum(t2, (0, 1, 2, 3), x163, (1, 4, 5, 3, 2, 6), (4, 5, 0, 6)) * 0.25 - del x163 - x193 += einsum(l2, (0, 1, 2, 3), x164, (2, 4, 5, 1, 6, 0), (3, 4, 5, 6)) * -0.125 - del x164 - x193 += einsum(x120, (0, 1, 2, 3), x169, (4, 0, 5, 2), (4, 1, 5, 3)) * -2.0 - del x169 - x193 += einsum(t1, (0, 1), x181, (2, 0, 3, 4), (2, 4, 3, 1)) * -0.25 - del x181 - x193 += einsum(t1, (0, 1), x192, (2, 3), (2, 0, 3, 1)) * 2.0 - l1new += einsum(v.ovov, (0, 1, 2, 3), x193, (4, 0, 2, 1), (3, 4)) * -2.0 - del x193 - x194 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x194 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 5, 3, 7, 2, 1), (4, 6, 0, 7)) - x195 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x195 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 3, 5, 7, 2, 0), (4, 6, 1, 7)) - x196 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x196 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - x196 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) - x197 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x197 += einsum(l2, (0, 1, 2, 3), (3, 2, 0, 1)) * -0.5 - x197 += einsum(l2, (0, 1, 2, 3), (2, 3, 0, 1)) - x198 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x198 += einsum(l2, (0, 1, 2, 3), (2, 3, 0, 1)) * 8.0 - x198 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (3, 6, 5, 2, 7, 1), (4, 6, 0, 7)) - x198 += einsum(x111, (0, 1, 2, 3), (0, 1, 2, 3)) - del x111 - x198 += einsum(x194, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x198 += einsum(x195, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x198 += einsum(l3, (0, 1, 2, 3, 4, 5), x158, (5, 6, 4, 2, 7, 1), (3, 6, 0, 7)) * 5.0 - del x158 - x198 += einsum(x159, (0, 1, 2, 3, 4, 5), x196, (1, 6, 0, 3, 4, 7), (2, 6, 5, 7)) - x198 += einsum(x120, (0, 1, 2, 3), x197, (0, 4, 2, 5), (4, 1, 5, 3)) * 16.0 - l1new += einsum(v.ovvv, (0, 1, 2, 3), x198, (4, 0, 3, 1), (2, 4)) * 0.25 - del x198 - x199 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x199 += einsum(x117, (0, 1, 2, 3), l3, (2, 4, 3, 0, 5, 6), (6, 5, 1, 4)) * 0.5 - x200 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x200 += einsum(x122, (0, 1, 2, 3), (0, 1, 2, 3)) - x200 += einsum(x122, (0, 1, 2, 3), (1, 0, 2, 3)) * -2.0 - x200 += einsum(x123, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x200 += einsum(x123, (0, 1, 2, 3), (1, 0, 2, 3)) * 1.5 - x200 += einsum(x124, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - x200 += einsum(x124, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.5 - x200 += einsum(x125, (0, 1, 2, 3), l3, (4, 2, 3, 5, 0, 6), (5, 6, 1, 4)) * 1.5 - x200 += einsum(x199, (0, 1, 2, 3), (0, 1, 2, 3)) - x201 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x201 += einsum(l2, (0, 1, 2, 3), (3, 2, 0, 1)) * -2.0 - x201 += einsum(x113, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x113 - x201 += einsum(x130, (0, 1, 2, 3), x160, (4, 1, 0, 5, 2, 6), (5, 4, 6, 3)) * -1.0 - del x160 - x201 += einsum(x190, (0, 1, 2, 3), x118, (4, 1, 0, 5, 2, 6), (4, 5, 6, 3)) * 4.0 - x201 += einsum(t1, (0, 1), x200, (0, 2, 3, 4), (2, 3, 4, 1)) * 2.0 - del x200 - l1new += einsum(v.ovvv, (0, 1, 2, 3), x201, (4, 0, 3, 1), (2, 4)) * 0.5 - del x201 - x202 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x202 += einsum(l2, (0, 1, 2, 3), t3, (4, 3, 5, 6, 1, 0), (2, 4, 5, 6)) - x203 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x203 += einsum(l2, (0, 1, 2, 3), t2, (4, 5, 0, 1), (2, 3, 4, 5)) - l2new += einsum(v.ovov, (0, 1, 2, 3), x203, (4, 5, 0, 2), (1, 3, 4, 5)) - x204 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x204 += einsum(t1, (0, 1), x203, (2, 0, 3, 4), (2, 3, 4, 1)) - x205 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x205 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - x205 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - x205 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) - x205 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 2.0 - x206 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x206 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) - x206 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 0.6666666666666666 - x206 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 - x207 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x207 += einsum(x124, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.75 - del x124 - x207 += einsum(x126, (0, 1, 2, 3), (1, 0, 2, 3)) - x207 += einsum(x126, (0, 1, 2, 3), (0, 1, 2, 3)) * -3.0 - x207 += einsum(x167, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.25 - x207 += einsum(x167, (0, 1, 2, 3), (1, 0, 2, 3)) - x208 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x208 += einsum(t2, (0, 1, 2, 3), l3, (3, 4, 2, 1, 5, 6), (6, 5, 0, 4)) - x209 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x209 += einsum(x208, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.25 - x209 += einsum(x122, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x209 += einsum(x122, (0, 1, 2, 3), (1, 0, 2, 3)) - x209 += einsum(x165, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.0625 - x209 += einsum(x165, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.75 - x209 += einsum(t2, (0, 1, 2, 3), x168, (1, 4, 5, 2, 3, 6), (4, 5, 0, 6)) * -0.1875 - del x168 - x210 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x210 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * 0.4444444444444444 - x210 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 0, 2)) - x211 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x211 += einsum(x208, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.5 - x211 += einsum(x122, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - x211 += einsum(x122, (0, 1, 2, 3), (1, 0, 2, 3)) - x211 += einsum(x165, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.375 - x211 += einsum(x165, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.5 - x211 += einsum(t2, (0, 1, 2, 3), x210, (1, 4, 5, 2, 3, 6), (5, 4, 0, 6)) * 1.125 - del x210 - x212 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x212 += einsum(x117, (0, 1, 2, 3), l3, (2, 4, 3, 0, 5, 6), (6, 5, 1, 4)) - x213 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x213 += einsum(x125, (0, 1, 2, 3), l3, (4, 2, 3, 5, 0, 6), (5, 6, 1, 4)) * 3.0 - x213 += einsum(x212, (0, 1, 2, 3), (0, 1, 2, 3)) - x214 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x214 += einsum(x170, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.16666666666666 - x214 += einsum(x171, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.16666666666666 - x214 += einsum(x171, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.16666666666662 - x214 += einsum(x175, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x214 += einsum(x175, (0, 1, 2, 3), (1, 0, 2, 3)) - del x175 - x214 += einsum(x176, (0, 1, 2, 3), (0, 1, 2, 3)) - x214 += einsum(x176, (0, 1, 2, 3), (1, 0, 2, 3)) * -3.0 - x214 += einsum(x178, (0, 1, 2, 3), (1, 0, 2, 3)) - del x178 - x214 += einsum(t1, (0, 1), x213, (2, 3, 4, 1), (2, 3, 0, 4)) - del x213 - x215 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x215 += einsum(x135, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.0 - del x135 - x215 += einsum(t3, (0, 1, 2, 3, 4, 5), x118, (6, 2, 1, 7, 3, 5), (6, 0, 7, 4)) * 4.0 - x215 += einsum(t3, (0, 1, 2, 3, 4, 5), x118, (2, 0, 6, 7, 5, 3), (6, 1, 7, 4)) * 2.0 - x215 += einsum(x202, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.0 - x215 += einsum(x202, (0, 1, 2, 3), (0, 2, 1, 3)) * -4.0 - del x202 - x215 += einsum(x204, (0, 1, 2, 3), (0, 1, 2, 3)) * 16.0 - x215 += einsum(x204, (0, 1, 2, 3), (0, 2, 1, 3)) * -8.0 - del x204 - x215 += einsum(x112, (0, 1, 2, 3, 4, 5), x115, (0, 6, 2, 4, 7, 5), (1, 6, 3, 7)) * 2.0 - del x115 - x215 += einsum(x112, (0, 1, 2, 3, 4, 5), x205, (1, 6, 0, 5, 7, 4), (2, 6, 3, 7)) * 2.0 - del x205 - x215 += einsum(l2, (0, 1, 2, 3), x206, (2, 4, 5, 1, 6, 0), (3, 4, 5, 6)) * -6.0 - del x206 - x215 += einsum(x117, (0, 1, 2, 3), x207, (4, 0, 5, 2), (4, 1, 5, 3)) * 4.0 - del x207 - x215 += einsum(t2, (0, 1, 2, 3), x209, (4, 1, 5, 3), (4, 0, 5, 2)) * 16.0 - del x209 - x215 += einsum(t2, (0, 1, 2, 3), x211, (4, 1, 5, 2), (4, 0, 5, 3)) * -8.0 - del x211 - x215 += einsum(t1, (0, 1), x214, (2, 0, 3, 4), (2, 4, 3, 1)) * -4.0 - del x214 - x215 += einsum(t1, (0, 1), x192, (2, 3), (2, 0, 3, 1)) * 16.0 - del x192 - l1new += einsum(v.ovov, (0, 1, 2, 3), x215, (4, 0, 2, 3), (1, 4)) * 0.125 - del x215 - x216 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x216 += einsum(v.ovov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 1, 3), (4, 5, 0, 6)) - x217 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x217 += einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), (0, 2, 3, 4)) - x218 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x218 += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 2, 5, 3), (0, 1, 4, 5)) - x219 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x219 += einsum(t1, (0, 1), x90, (2, 3, 4, 1), (2, 0, 3, 4)) - x220 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x220 += einsum(t1, (0, 1), x87, (2, 3, 0, 4), (2, 3, 4, 1)) - del x87 - x221 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x221 += einsum(x218, (0, 1, 2, 3), (0, 1, 2, 3)) - x221 += einsum(x219, (0, 1, 2, 3), (0, 1, 2, 3)) - x221 += einsum(x220, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x220 - x222 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x222 += einsum(v.ovov, (0, 1, 2, 3), t3, (4, 2, 5, 6, 3, 1), (4, 5, 0, 6)) - x223 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x223 += einsum(x36, (0, 1), t2, (2, 3, 1, 4), (2, 3, 0, 4)) - x224 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x224 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -1.5 - x224 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 1.5 - x224 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) - x225 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x225 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x225 += einsum(v.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x225 += einsum(x8, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x225 += einsum(x8, (0, 1, 2, 3), (0, 2, 1, 3)) * 2.0 - x226 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x226 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * 2.0 - x226 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x227 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x227 += einsum(v.oooo, (0, 1, 2, 3), (0, 2, 3, 1)) - x227 += einsum(v.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x227 += einsum(x5, (0, 1, 2, 3), (2, 0, 3, 1)) - x227 += einsum(x5, (0, 1, 2, 3), (3, 0, 2, 1)) * -0.5 - x228 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x228 += einsum(x216, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.25 - x228 += einsum(v.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x228 += einsum(v.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) * 0.5 - x228 += einsum(x217, (0, 1, 2, 3), (1, 2, 0, 3)) * 0.5 - x228 += einsum(x217, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - x228 += einsum(x221, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x228 += einsum(x221, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.5 - del x221 - x228 += einsum(x222, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.25 - x228 += einsum(x222, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.25 - del x222 - x228 += einsum(x223, (0, 1, 2, 3), (1, 0, 2, 3)) - x228 += einsum(x223, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - x228 += einsum(v.ovov, (0, 1, 2, 3), x224, (2, 4, 5, 3, 1, 6), (4, 5, 0, 6)) * -0.25 - del x224 - x228 += einsum(x120, (0, 1, 2, 3), x225, (4, 5, 0, 2), (4, 1, 5, 3)) * -1.0 - x228 += einsum(t1, (0, 1), x226, (2, 3, 1, 4), (0, 3, 2, 4)) * -0.5 - del x226 - x228 += einsum(t1, (0, 1), x227, (0, 2, 3, 4), (2, 4, 3, 1)) - del x227 - l1new += einsum(l2, (0, 1, 2, 3), x228, (2, 3, 4, 1), (0, 4)) * 2.0 - del x228 - x229 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x229 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -0.5 - x229 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 0.5 - x229 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) - x230 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x230 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x230 += einsum(v.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) - x230 += einsum(x8, (0, 1, 2, 3), (0, 1, 2, 3)) - x230 += einsum(x8, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 - x231 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x231 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) - x231 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 - x232 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x232 += einsum(x5, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x232 += einsum(x5, (0, 1, 2, 3), (0, 3, 2, 1)) * 2.0 - x233 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x233 += einsum(x216, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.5 - x233 += einsum(v.ovov, (0, 1, 2, 3), x229, (2, 4, 5, 3, 1, 6), (4, 5, 0, 6)) * -0.5 - del x229 - x233 += einsum(t2, (0, 1, 2, 3), x225, (4, 5, 1, 3), (4, 0, 5, 2)) * -1.0 - del x225 - x233 += einsum(t2, (0, 1, 2, 3), x230, (4, 5, 1, 2), (4, 0, 5, 3)) * -2.0 - del x230 - x233 += einsum(t1, (0, 1), x231, (2, 3, 1, 4), (0, 3, 2, 4)) * 2.0 - del x231 - x233 += einsum(t1, (0, 1), x232, (2, 0, 3, 4), (2, 3, 4, 1)) * -1.0 - del x232 - l1new += einsum(l2, (0, 1, 2, 3), x233, (3, 2, 4, 1), (0, 4)) * -1.0 - del x233 - x234 = np.zeros((nvir, nvir), dtype=types[float]) - x234 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (3, 4, 5, 0, 6, 2), (1, 6)) - x235 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x235 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -0.14285714285714288 - x235 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 0.14285714285714288 - x235 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) - x235 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 0.14285714285714288 - x235 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -0.14285714285714288 - x235 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -0.14285714285714288 - x236 = np.zeros((nvir, nvir), dtype=types[float]) - x236 += einsum(x234, (0, 1), (0, 1)) * 3.0 - x236 += einsum(l3, (0, 1, 2, 3, 4, 5), x235, (3, 5, 4, 6, 1, 2), (0, 6)) * 6.999999999999999 - x236 += einsum(l3, (0, 1, 2, 3, 4, 5), x116, (3, 4, 5, 6, 1, 2), (0, 6)) * -1.0 - x237 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x237 += einsum(v.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) - x237 += einsum(v.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) * -0.5 - l1new += einsum(x236, (0, 1), x237, (2, 3, 0, 1), (3, 2)) * 0.16666666666666 - del x236, x237 - x238 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x238 += einsum(x130, (0, 1, 2, 3), x159, (0, 4, 5, 2, 3, 6), (1, 4, 5, 6)) * 0.5 - x239 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x239 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) - x239 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.3333333333333333 - x240 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x240 += einsum(x122, (0, 1, 2, 3), (0, 1, 2, 3)) - x240 += einsum(x122, (0, 1, 2, 3), (1, 0, 2, 3)) * -2.0 - x240 += einsum(x238, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - x240 += einsum(x179, (0, 1, 2, 3), l3, (4, 2, 3, 5, 0, 6), (5, 6, 1, 4)) * 0.5 - x240 += einsum(x239, (0, 1, 2, 3), l3, (4, 2, 3, 0, 5, 6), (5, 6, 1, 4)) * 1.5 - l1new += einsum(v.oovv, (0, 1, 2, 3), x240, (0, 4, 1, 3), (2, 4)) - del x240 - x241 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x241 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - x241 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 6.999999999999999 - x241 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) - x241 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) - x241 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -1.0 - x241 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 - x242 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x242 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) - x242 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - x242 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 - x243 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x243 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) - x243 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 6.0 - x243 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 - x243 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -1.0 - x243 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - x244 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x244 += einsum(x122, (0, 1, 2, 3), (0, 1, 2, 3)) - x244 += einsum(x239, (0, 1, 2, 3), l3, (4, 2, 3, 5, 6, 0), (5, 6, 1, 4)) * 0.75 - x245 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x245 += einsum(x122, (0, 1, 2, 3), (0, 1, 2, 3)) - x245 += einsum(x126, (0, 1, 2, 3), (1, 0, 2, 3)) - x245 += einsum(x126, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x126 - x245 += einsum(x238, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - del x238 - x246 = np.zeros((nocc, nocc), dtype=types[float]) - x246 += einsum(l1, (0, 1), t1, (2, 0), (1, 2)) - l1new += einsum(x246, (0, 1), x36, (1, 2), (2, 0)) * -2.0 - x247 = np.zeros((nocc, nocc), dtype=types[float]) - x247 += einsum(x246, (0, 1), (0, 1)) - x247 += einsum(x182, (0, 1), (0, 1)) * 0.24999999999999 - x247 += einsum(x183, (0, 1), (0, 1)) * -0.08333333333333 - x247 += einsum(x184, (0, 1, 2, 3, 4, 5), x185, (1, 6, 0, 3, 4, 5), (2, 6)) * -0.08333333333333 - x247 += einsum(t3, (0, 1, 2, 3, 4, 5), x184, (1, 2, 6, 5, 4, 3), (6, 0)) * 0.08333333333333 - x247 += einsum(l3, (0, 1, 2, 3, 4, 5), x188, (3, 6, 4, 0, 2, 1), (5, 6)) * 0.58333333333331 - x247 += einsum(l2, (0, 1, 2, 3), x190, (2, 4, 1, 0), (3, 4)) * 2.0 - x248 = np.zeros((nocc, nvir), dtype=types[float]) - x248 += einsum(t1, (0, 1), (0, 1)) * -4.0 - x248 += einsum(l2, (0, 1, 2, 3), t3, (4, 2, 3, 5, 1, 0), (4, 5)) * 2.0 - x248 += einsum(t3, (0, 1, 2, 3, 4, 5), x118, (2, 0, 1, 6, 5, 3), (6, 4)) * 0.99999999999996 - x248 += einsum(x112, (0, 1, 2, 3, 4, 5), x241, (0, 1, 2, 5, 6, 4), (3, 6)) * 0.33333333333332 - del x241 - x248 += einsum(x112, (0, 1, 2, 3, 4, 5), x242, (0, 2, 1, 4, 6, 5), (3, 6)) * -0.33333333333332 - del x242 - x248 += einsum(l2, (0, 1, 2, 3), x243, (3, 4, 2, 1, 5, 0), (4, 5)) * -1.0 - del x243 - x248 += einsum(t2, (0, 1, 2, 3), x244, (0, 1, 4, 2), (4, 3)) * 8.0 - del x244 - x248 += einsum(t2, (0, 1, 2, 3), x245, (0, 1, 4, 3), (4, 2)) * -4.0 - del x245 - x248 += einsum(l1, (0, 1), x121, (1, 2, 3, 0), (2, 3)) * -4.0 - del x121 - x248 += einsum(t1, (0, 1), x247, (0, 2), (2, 1)) * 4.0 - del x247 - x249 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x249 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * 2.0 - x249 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - l1new += einsum(x248, (0, 1), x249, (0, 2, 3, 1), (3, 2)) * -0.25 - del x248, x249 - x250 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x250 += einsum(x172, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.041666666666665 - x250 += einsum(x173, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.041666666666665 - x251 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x251 += einsum(x130, (0, 1, 2, 3), x159, (0, 4, 5, 2, 3, 6), (4, 5, 1, 6)) * -1.0 - del x159 - x251 += einsum(x179, (0, 1, 2, 3), l3, (4, 2, 3, 5, 0, 6), (5, 6, 1, 4)) - del x179 - x251 += einsum(x239, (0, 1, 2, 3), l3, (4, 2, 3, 0, 5, 6), (5, 6, 1, 4)) * 3.0 - del x239 - x252 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x252 += einsum(x170, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.041666666666665 - x252 += einsum(x203, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.5 - x252 += einsum(x203, (0, 1, 2, 3), (1, 0, 3, 2)) - del x203 - x252 += einsum(x137, (0, 1, 2, 3), (0, 2, 3, 1)) * -0.5 - x252 += einsum(x137, (0, 1, 2, 3), (0, 3, 2, 1)) - del x137 - x252 += einsum(x171, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.291666666666655 - x252 += einsum(x171, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.041666666666665 - x252 += einsum(x250, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x252 += einsum(x250, (0, 1, 2, 3), (1, 0, 2, 3)) - del x250 - x252 += einsum(l3, (0, 1, 2, 3, 4, 5), x177, (4, 6, 7, 0, 2, 1), (5, 3, 6, 7)) * 0.041666666666665 - x252 += einsum(t1, (0, 1), x251, (2, 3, 4, 1), (2, 0, 4, 3)) * -0.25 - del x251 - l1new += einsum(v.ooov, (0, 1, 2, 3), x252, (4, 1, 2, 0), (3, 4)) * 2.0 - del x252 - x253 = np.zeros((nvir, nvir), dtype=types[float]) - x253 += einsum(l1, (0, 1), t1, (1, 2), (0, 2)) * 0.5 - x253 += einsum(l2, (0, 1, 2, 3), x120, (2, 3, 4, 1), (0, 4)) - x254 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x254 += einsum(v.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x254 += einsum(v.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) - l1new += einsum(x253, (0, 1), x254, (2, 1, 0, 3), (3, 2)) * 4.0 - del x253, x254 - x255 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x255 += einsum(x172, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.14285714285714288 - del x172 - x255 += einsum(x173, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.14285714285714288 - del x173 - x256 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x256 += einsum(x170, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.14285714285714288 - del x170 - x256 += einsum(x171, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.14285714285714288 - x256 += einsum(x171, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x256 += einsum(x139, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.4285714285714286 - x256 += einsum(x139, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.4285714285714286 - del x139 - x256 += einsum(x255, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x256 += einsum(x255, (0, 1, 2, 3), (1, 0, 2, 3)) - del x255 - x256 += einsum(l3, (0, 1, 2, 3, 4, 5), x177, (4, 6, 7, 0, 2, 1), (5, 3, 6, 7)) * 0.14285714285714288 - del x177 - l1new += einsum(v.ooov, (0, 1, 2, 3), x256, (4, 1, 0, 2), (3, 4)) * -0.58333333333331 - del x256 - x257 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x257 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * 0.3333333333333333 - x257 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) * -0.3333333333333333 - x257 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 4, 3, 0, 2, 1)) - x257 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) * -0.3333333333333333 - x258 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x258 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * -1.0 - x258 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) - x258 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 4, 3, 0, 2, 1)) * -1.0 - x258 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) * 3.0 - x259 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x259 += einsum(t2, (0, 1, 2, 3), x257, (1, 4, 5, 6, 3, 2), (5, 4, 0, 6)) - del x257 - x259 += einsum(t2, (0, 1, 2, 3), x258, (1, 4, 5, 6, 2, 3), (5, 4, 0, 6)) * 0.3333333333333333 - del x258 - x260 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x260 += einsum(t1, (0, 1), x259, (2, 3, 4, 1), (2, 3, 0, 4)) * 3.0 - del x259 - l1new += einsum(v.ooov, (0, 1, 2, 3), x260, (4, 0, 2, 1), (3, 4)) * 0.5 - del x260 - x261 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x261 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 3.0 - x261 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) - x261 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -1.0 - x262 = np.zeros((nocc, nocc), dtype=types[float]) - x262 += einsum(x246, (0, 1), (0, 1)) * 0.5 - x262 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 3, 5, 1, 2, 0), (4, 6)) * -0.041666666666665 - x262 += einsum(l3, (0, 1, 2, 3, 4, 5), x261, (3, 5, 6, 0, 2, 1), (4, 6)) * 0.041666666666665 - del x261 - x262 += einsum(x191, (0, 1), (0, 1)) - del x191 - x263 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x263 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x263 += einsum(v.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * 2.0 - l1new += einsum(x262, (0, 1), x263, (0, 2, 1, 3), (3, 2)) * -2.0 - del x262 - x264 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x264 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - x264 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - x264 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 6.999999999999999 - x264 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 - x265 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x265 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - x265 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) - x266 = np.zeros((nocc, nocc), dtype=types[float]) - x266 += einsum(l3, (0, 1, 2, 3, 4, 5), x264, (4, 6, 3, 0, 2, 1), (5, 6)) - del x264 - x266 += einsum(l3, (0, 1, 2, 3, 4, 5), x265, (4, 6, 3, 0, 1, 2), (5, 6)) * -1.0 - x267 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x267 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x267 += einsum(v.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) - l1new += einsum(x266, (0, 1), x267, (0, 2, 1, 3), (3, 2)) * -0.16666666666666 - del x266, x267 - x268 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x268 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x268 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - l1new += einsum(l1, (0, 1), x268, (1, 2, 0, 3), (3, 2)) * 2.0 - del x268 - x269 = np.zeros((nocc, nocc), dtype=types[float]) - x269 += einsum(x246, (0, 1), (0, 1)) * 1.714285714285783 - x269 += einsum(x182, (0, 1), (0, 1)) * 0.4285714285714286 - x269 += einsum(x183, (0, 1), (0, 1)) * -0.14285714285714288 - x269 += einsum(x184, (0, 1, 2, 3, 4, 5), x185, (1, 6, 0, 3, 4, 5), (2, 6)) * -0.14285714285714288 - x269 += einsum(t3, (0, 1, 2, 3, 4, 5), x184, (1, 2, 6, 5, 4, 3), (6, 0)) * 0.14285714285714288 - x269 += einsum(l3, (0, 1, 2, 3, 4, 5), x188, (3, 6, 4, 0, 2, 1), (5, 6)) - x269 += einsum(l2, (0, 1, 2, 3), x190, (2, 4, 1, 0), (3, 4)) * 3.428571428571566 - l1new += einsum(f.ov, (0, 1), x269, (2, 0), (1, 2)) * -0.58333333333331 - del x269 - x270 = np.zeros((nvir, nvir), dtype=types[float]) - x270 += einsum(f.vv, (0, 1), (0, 1)) * 0.5 - x270 += einsum(t1, (0, 1), x54, (0, 1, 2, 3), (3, 2)) - l1new += einsum(l1, (0, 1), x270, (0, 2), (2, 1)) * 2.0 - del x270 - x271 = np.zeros((nocc, nocc), dtype=types[float]) - x271 += einsum(v.ovov, (0, 1, 2, 3), x190, (2, 4, 1, 3), (0, 4)) * 2.0 - x272 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x272 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x272 += einsum(v.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) * -0.5 - x273 = np.zeros((nocc, nocc), dtype=types[float]) - x273 += einsum(t1, (0, 1), x272, (2, 3, 0, 1), (2, 3)) * 2.0 - del x272 - x274 = np.zeros((nocc, nocc), dtype=types[float]) - x274 += einsum(t1, (0, 1), x68, (2, 1), (0, 2)) - x275 = np.zeros((nocc, nocc), dtype=types[float]) - x275 += einsum(f.oo, (0, 1), (0, 1)) - x275 += einsum(x271, (0, 1), (1, 0)) - x275 += einsum(x273, (0, 1), (1, 0)) - x275 += einsum(x274, (0, 1), (0, 1)) - del x274 - l1new += einsum(l1, (0, 1), x275, (1, 2), (0, 2)) * -1.0 - l3new += einsum(x275, (0, 1), l3, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) * -1.0 - del x275 - x276 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x276 += einsum(f.vv, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2)) - x277 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x277 += einsum(l1, (0, 1), v.ovvv, (2, 3, 4, 0), (1, 2, 3, 4)) - x278 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x278 += einsum(l1, (0, 1), x8, (1, 2, 3, 4), (2, 3, 0, 4)) - x279 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x279 += einsum(l2, (0, 1, 2, 3), x5, (2, 4, 3, 5), (4, 5, 0, 1)) - x280 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x280 += einsum(x217, (0, 1, 2, 3), l3, (4, 5, 3, 6, 2, 1), (0, 6, 4, 5)) - x281 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x281 += einsum(x122, (0, 1, 2, 3), x8, (0, 2, 4, 5), (1, 4, 3, 5)) - x282 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x282 += einsum(v.ovvv, (0, 1, 2, 3), x123, (4, 5, 0, 3), (4, 5, 1, 2)) - x283 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x283 += einsum(t1, (0, 1), v.vvvv, (2, 3, 4, 1), (0, 2, 3, 4)) - x284 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x284 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x284 += einsum(x8, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x285 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x285 += einsum(t2, (0, 1, 2, 3), x284, (0, 4, 1, 5), (4, 2, 3, 5)) - del x284 - x286 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x286 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x286 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x287 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x287 += einsum(x286, (0, 1, 2, 3), t3, (4, 1, 0, 5, 6, 2), (4, 5, 6, 3)) * 0.49999999999998 - del x286 - x288 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x288 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x288 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.3333333333333333 - x289 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x289 += einsum(x288, (0, 1, 2, 3), t3, (4, 1, 0, 5, 2, 6), (4, 6, 5, 3)) * 1.49999999999994 - del x288 - x290 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x290 += einsum(v.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) - x290 += einsum(v.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x290 += einsum(x283, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x290 += einsum(x283, (0, 1, 2, 3), (0, 3, 2, 1)) - x290 += einsum(x285, (0, 1, 2, 3), (0, 1, 2, 3)) - x290 += einsum(x285, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x285 - x290 += einsum(x287, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x287 - x290 += einsum(x289, (0, 1, 2, 3), (0, 1, 2, 3)) - del x289 - x291 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x291 += einsum(x290, (0, 1, 2, 3), l3, (2, 4, 1, 0, 5, 6), (6, 5, 4, 3)) * 0.5 - del x290 - x292 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x292 += einsum(x16, (0, 1, 2, 3), t3, (4, 1, 0, 5, 6, 2), (4, 5, 6, 3)) * 0.24999999999999 - x293 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x293 += einsum(v.ovvv, (0, 1, 2, 3), x120, (0, 4, 1, 5), (4, 2, 3, 5)) * 2.0 - x294 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x294 += einsum(v.ovvv, (0, 1, 2, 3), x117, (0, 4, 3, 5), (4, 1, 2, 5)) - x295 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x295 += einsum(x292, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x292 - x295 += einsum(x293, (0, 1, 2, 3), (0, 2, 3, 1)) - del x293 - x295 += einsum(x294, (0, 1, 2, 3), (0, 2, 3, 1)) - del x294 - x296 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x296 += einsum(x295, (0, 1, 2, 3), l3, (1, 4, 2, 0, 5, 6), (6, 5, 4, 3)) - del x295 - x297 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x297 += einsum(t1, (0, 1), v.oooo, (2, 3, 4, 0), (2, 3, 4, 1)) - x298 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x298 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - x298 += einsum(x297, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.5 - del x297 - x299 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x299 += einsum(t1, (0, 1), x65, (2, 3, 0, 4), (3, 2, 4, 1)) - x300 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x300 += einsum(x218, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x300 += einsum(x299, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - del x299 - x300 += einsum(x223, (0, 1, 2, 3), (1, 0, 2, 3)) - del x223 - x301 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x301 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -0.5 - x301 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 0.5 - x301 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) - x301 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) - x302 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x302 += einsum(v.ovov, (0, 1, 2, 3), x301, (2, 4, 5, 3, 1, 6), (0, 4, 5, 6)) * 0.49999999999998 - del x301 - x303 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x303 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x303 += einsum(v.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - x304 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x304 += einsum(t2, (0, 1, 2, 3), x303, (4, 5, 1, 3), (0, 4, 5, 2)) - del x303 - x305 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x305 += einsum(t2, (0, 1, 2, 3), x1, (4, 5, 1, 2), (0, 4, 5, 3)) - x306 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x306 += einsum(x216, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.49999999999998 - x306 += einsum(x298, (0, 1, 2, 3), (0, 2, 1, 3)) - x306 += einsum(x298, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - del x298 - x306 += einsum(x300, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x306 += einsum(x300, (0, 1, 2, 3), (1, 0, 2, 3)) - del x300 - x306 += einsum(x302, (0, 1, 2, 3), (1, 2, 0, 3)) - del x302 - x306 += einsum(x304, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x304 - x306 += einsum(x305, (0, 1, 2, 3), (0, 2, 1, 3)) - del x305 - x307 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x307 += einsum(x306, (0, 1, 2, 3), l3, (4, 5, 3, 0, 6, 1), (6, 2, 4, 5)) - del x306 - x308 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x308 += einsum(t1, (0, 1), x20, (2, 3, 4, 0), (2, 3, 4, 1)) - x309 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x309 += einsum(x219, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - del x219 - x309 += einsum(x308, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - del x308 - x310 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x310 += einsum(x8, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x310 += einsum(x8, (0, 1, 2, 3), (0, 2, 1, 3)) - x311 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x311 += einsum(t2, (0, 1, 2, 3), x310, (4, 5, 1, 3), (0, 4, 5, 2)) * 2.0 - del x310 - x312 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x312 += einsum(x8, (0, 1, 2, 3), (0, 1, 2, 3)) - x312 += einsum(x8, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x313 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x313 += einsum(t2, (0, 1, 2, 3), x312, (4, 5, 1, 2), (0, 4, 5, 3)) - del x312 - x314 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x314 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) - x314 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x315 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x315 += einsum(t1, (0, 1), x314, (2, 3, 1, 4), (0, 2, 3, 4)) - del x314 - x316 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x316 += einsum(x5, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x316 += einsum(x5, (0, 1, 2, 3), (0, 3, 2, 1)) - x317 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x317 += einsum(t1, (0, 1), x316, (2, 3, 4, 0), (2, 3, 4, 1)) - del x316 - x318 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x318 += einsum(x309, (0, 1, 2, 3), (0, 1, 2, 3)) - x318 += einsum(x309, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x309 - x318 += einsum(x311, (0, 1, 2, 3), (1, 0, 2, 3)) - del x311 - x318 += einsum(x313, (0, 1, 2, 3), (1, 0, 2, 3)) - del x313 - x318 += einsum(x315, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x315 - x318 += einsum(x317, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x317 - x319 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x319 += einsum(x318, (0, 1, 2, 3), l3, (4, 5, 3, 0, 6, 1), (6, 2, 4, 5)) - del x318 - x320 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x320 += einsum(t2, (0, 1, 2, 3), x14, (1, 4, 3, 5), (0, 4, 2, 5)) * 2.0 - del x14 - x321 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x321 += einsum(t2, (0, 1, 2, 3), x16, (1, 4, 2, 5), (0, 4, 3, 5)) - del x16 - x322 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x322 += einsum(t1, (0, 1), x1, (0, 2, 3, 4), (2, 3, 1, 4)) * 0.5 - del x1 - x323 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x323 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x323 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x323 += einsum(x320, (0, 1, 2, 3), (0, 1, 2, 3)) - del x320 - x323 += einsum(x321, (0, 1, 2, 3), (0, 1, 2, 3)) - del x321 - x323 += einsum(x322, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x322 - x324 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x324 += einsum(x323, (0, 1, 2, 3), x112, (0, 4, 5, 1, 2, 6), (4, 5, 6, 3)) - del x323 - x325 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x325 += einsum(t1, (0, 1), x22, (2, 1, 3, 4), (0, 2, 3, 4)) - del x22 - x326 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x326 += einsum(t1, (0, 1), x10, (2, 3, 0, 4), (2, 3, 1, 4)) * 0.5 - del x10 - x327 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x327 += einsum(x325, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x325 - x327 += einsum(x326, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x326 - x328 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x328 += einsum(x327, (0, 1, 2, 3), x112, (0, 4, 5, 1, 2, 6), (4, 5, 6, 3)) - del x327 - x329 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x329 += einsum(x130, (0, 1, 2, 3), l3, (4, 5, 2, 1, 6, 0), (6, 4, 5, 3)) - x330 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x330 += einsum(x149, (0, 1, 2, 3), (0, 2, 1, 3)) * 2.0 - x330 += einsum(x329, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x329 - x331 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x331 += einsum(v.ovvv, (0, 1, 2, 3), x330, (4, 5, 3, 1), (0, 4, 2, 5)) * 0.5 - del x330 - x332 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x332 += einsum(l2, (0, 1, 2, 3), t2, (4, 2, 1, 5), (3, 4, 0, 5)) - x333 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x333 += einsum(x130, (0, 1, 2, 3), x118, (0, 1, 4, 5, 6, 2), (4, 5, 6, 3)) - del x130 - x334 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x334 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * -0.5 - x334 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 0, 2)) - x335 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x335 += einsum(t2, (0, 1, 2, 3), x334, (1, 4, 5, 2, 3, 6), (0, 4, 5, 6)) * 2.0 - del x334 - x336 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x336 += einsum(x208, (0, 1, 2, 3), (1, 0, 2, 3)) - del x208 - x336 += einsum(x335, (0, 1, 2, 3), (2, 1, 0, 3)) - del x335 - x337 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x337 += einsum(t1, (0, 1), x336, (0, 2, 3, 4), (2, 3, 1, 4)) - x338 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x338 += einsum(x332, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x332 - x338 += einsum(x109, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.99999999999996 - del x109 - x338 += einsum(x110, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.99999999999996 - del x110 - x338 += einsum(x114, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x114 - x338 += einsum(x333, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x333 - x338 += einsum(x337, (0, 1, 2, 3), (0, 1, 3, 2)) - del x337 - x339 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x339 += einsum(v.ovov, (0, 1, 2, 3), x338, (4, 2, 5, 1), (0, 4, 3, 5)) * 0.5 - del x338 - x340 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x340 += einsum(x155, (0, 1, 2, 3), x40, (0, 4, 5, 3), (4, 5, 1, 2)) * -0.5 - x341 = np.zeros((nvir, nvir), dtype=types[float]) - x341 += einsum(l3, (0, 1, 2, 3, 4, 5), x235, (3, 5, 4, 6, 1, 2), (0, 6)) * 2.333333333333333 - del x235 - x342 = np.zeros((nvir, nvir), dtype=types[float]) - x342 += einsum(l3, (0, 1, 2, 3, 4, 5), x116, (3, 4, 5, 6, 1, 2), (0, 6)) * 0.3333333333333333 - del x116 - x343 = np.zeros((nvir, nvir), dtype=types[float]) - x343 += einsum(l2, (0, 1, 2, 3), x120, (2, 3, 4, 1), (0, 4)) * 8.00000000000032 - del x120 - x344 = np.zeros((nvir, nvir), dtype=types[float]) - x344 += einsum(x234, (0, 1), (0, 1)) - del x234 - x344 += einsum(x341, (0, 1), (0, 1)) - del x341 - x344 += einsum(x342, (0, 1), (0, 1)) * -1.0 - del x342 - x344 += einsum(x343, (0, 1), (0, 1)) - del x343 - x345 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x345 += einsum(x344, (0, 1), v.ovov, (2, 1, 3, 4), (2, 3, 4, 0)) * 0.24999999999999 - del x344 - x346 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x346 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) - x346 += einsum(x90, (0, 1, 2, 3), (0, 1, 3, 2)) - x347 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x347 += einsum(l2, (0, 1, 2, 3), x346, (2, 4, 1, 5), (3, 4, 0, 5)) - del x346 - x348 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x348 += einsum(x122, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x348 += einsum(x123, (0, 1, 2, 3), (0, 1, 2, 3)) - del x123 - x348 += einsum(x199, (0, 1, 2, 3), (1, 0, 2, 3)) - x349 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x349 += einsum(v.ooov, (0, 1, 2, 3), x348, (1, 4, 2, 5), (0, 4, 3, 5)) - del x348 - x350 = np.zeros((nocc, nocc), dtype=types[float]) - x350 += einsum(x184, (0, 1, 2, 3, 4, 5), x185, (1, 6, 0, 3, 4, 5), (2, 6)) * 0.3333333333333333 - del x185 - x351 = np.zeros((nocc, nocc), dtype=types[float]) - x351 += einsum(t3, (0, 1, 2, 3, 4, 5), x184, (1, 2, 6, 5, 4, 3), (0, 6)) * 0.3333333333333333 - del x184 - x352 = np.zeros((nocc, nocc), dtype=types[float]) - x352 += einsum(l3, (0, 1, 2, 3, 4, 5), x188, (3, 6, 4, 0, 2, 1), (5, 6)) * 2.333333333333333 - del x188 - x353 = np.zeros((nocc, nocc), dtype=types[float]) - x353 += einsum(l2, (0, 1, 2, 3), x190, (3, 4, 0, 1), (2, 4)) * 8.00000000000032 - x354 = np.zeros((nocc, nocc), dtype=types[float]) - x354 += einsum(x246, (0, 1), (0, 1)) * 4.00000000000016 - del x246 - x354 += einsum(x182, (0, 1), (0, 1)) - del x182 - x354 += einsum(x183, (0, 1), (0, 1)) * -0.3333333333333333 - del x183 - x354 += einsum(x350, (0, 1), (0, 1)) * -1.0 - del x350 - x354 += einsum(x351, (0, 1), (1, 0)) - del x351 - x354 += einsum(x352, (0, 1), (0, 1)) - del x352 - x354 += einsum(x353, (0, 1), (0, 1)) - del x353 - x355 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x355 += einsum(x354, (0, 1), v.ovov, (2, 3, 1, 4), (2, 0, 4, 3)) * 0.24999999999999 - del x354 - x356 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x356 += einsum(t1, (0, 1), x212, (2, 3, 4, 1), (0, 2, 3, 4)) * -1.0 - x357 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x357 += einsum(v.ovov, (0, 1, 2, 3), x356, (0, 4, 5, 2), (4, 5, 3, 1)) * 0.5 - del x356 - x358 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x358 += einsum(x36, (0, 1), x212, (2, 3, 0, 4), (2, 3, 1, 4)) * -1.0 - x359 = np.zeros((nocc, nocc), dtype=types[float]) - x359 += einsum(f.ov, (0, 1), t1, (2, 1), (0, 2)) - x360 = np.zeros((nocc, nocc), dtype=types[float]) - x360 += einsum(f.oo, (0, 1), (0, 1)) - x360 += einsum(x359, (0, 1), (1, 0)) - del x359 - x361 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x361 += einsum(x360, (0, 1), l2, (2, 3, 0, 4), (4, 1, 2, 3)) - x362 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x362 += einsum(x122, (0, 1, 2, 3), (0, 1, 2, 3)) - x362 += einsum(x165, (0, 1, 2, 3), (0, 1, 2, 3)) - x363 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x363 += einsum(f.ov, (0, 1), x362, (2, 3, 0, 4), (2, 3, 4, 1)) - x364 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x364 += einsum(x276, (0, 1, 2, 3), (0, 1, 2, 3)) - del x276 - x364 += einsum(x277, (0, 1, 2, 3), (0, 1, 2, 3)) - del x277 - x364 += einsum(x278, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x278 - x364 += einsum(x279, (0, 1, 2, 3), (0, 1, 2, 3)) - del x279 - x364 += einsum(x280, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x280 - x364 += einsum(x281, (0, 1, 2, 3), (0, 1, 2, 3)) - del x281 - x364 += einsum(x282, (0, 1, 2, 3), (0, 1, 2, 3)) - del x282 - x364 += einsum(x291, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x291 - x364 += einsum(x296, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x296 - x364 += einsum(x307, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x307 - x364 += einsum(x319, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x319 - x364 += einsum(x324, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x324 - x364 += einsum(x328, (0, 1, 2, 3), (0, 1, 2, 3)) - del x328 - x364 += einsum(x331, (0, 1, 2, 3), (1, 0, 3, 2)) - del x331 - x364 += einsum(x339, (0, 1, 2, 3), (1, 0, 3, 2)) - del x339 - x364 += einsum(x340, (0, 1, 2, 3), (0, 1, 2, 3)) - del x340 - x364 += einsum(x345, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x345 - x364 += einsum(x347, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x347 - x364 += einsum(x349, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x349 - x364 += einsum(x355, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x355 - x364 += einsum(x357, (0, 1, 2, 3), (0, 1, 3, 2)) - del x357 - x364 += einsum(x358, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x358 - x364 += einsum(x361, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x361 - x364 += einsum(x363, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x363 - l2new += einsum(x364, (0, 1, 2, 3), (3, 2, 0, 1)) - l2new += einsum(x364, (0, 1, 2, 3), (2, 3, 1, 0)) - del x364 - x365 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x365 += einsum(l1, (0, 1), v.ooov, (2, 1, 3, 4), (2, 3, 0, 4)) - x366 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x366 += einsum(l2, (0, 1, 2, 3), x99, (2, 4, 5, 1), (3, 4, 0, 5)) - x367 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x367 += einsum(x122, (0, 1, 2, 3), x8, (1, 2, 4, 5), (0, 4, 3, 5)) - x368 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x368 += einsum(v.ooov, (0, 1, 2, 3), x165, (4, 1, 2, 5), (4, 0, 5, 3)) - x369 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x369 += einsum(v.ooov, (0, 1, 2, 3), x149, (1, 4, 5, 3), (0, 2, 4, 5)) - del x149 - x370 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x370 += einsum(x99, (0, 1, 2, 3), x118, (0, 4, 5, 1, 3, 6), (4, 5, 6, 2)) - x371 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x371 += einsum(l3, (0, 1, 2, 3, 4, 5), x57, (5, 3, 4, 6, 7, 2), (6, 7, 0, 1)) - del x57 - x372 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x372 += einsum(t2, (0, 1, 2, 3), l3, (4, 5, 2, 6, 1, 0), (6, 4, 5, 3)) - x373 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x373 += einsum(x372, (0, 1, 2, 3), x8, (0, 4, 5, 3), (5, 4, 1, 2)) - x374 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x374 += einsum(t2, (0, 1, 2, 3), v.ooov, (4, 0, 1, 5), (4, 2, 3, 5)) - x375 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x375 += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 2), (0, 3, 4, 5)) - x376 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x376 += einsum(v.ovov, (0, 1, 2, 3), t3, (4, 0, 2, 5, 6, 3), (4, 5, 6, 1)) - x377 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x377 += einsum(t2, (0, 1, 2, 3), x8, (4, 0, 1, 5), (4, 2, 3, 5)) - x378 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x378 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -1.0 - x378 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - x379 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x379 += einsum(v.ovov, (0, 1, 2, 3), x378, (0, 2, 4, 5, 3, 6), (4, 1, 5, 6)) * 0.49999999999998 - x380 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x380 += einsum(v.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) - x380 += einsum(x283, (0, 1, 2, 3), (0, 3, 2, 1)) - del x283 - x380 += einsum(x374, (0, 1, 2, 3), (0, 1, 2, 3)) - del x374 - x380 += einsum(x375, (0, 1, 2, 3), (0, 3, 1, 2)) * -1.0 - del x375 - x380 += einsum(x376, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.99999999999996 - del x376 - x380 += einsum(x377, (0, 1, 2, 3), (0, 2, 1, 3)) - del x377 - x380 += einsum(x379, (0, 1, 2, 3), (0, 3, 2, 1)) * -1.0 - del x379 - x381 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x381 += einsum(x380, (0, 1, 2, 3), l3, (4, 2, 1, 5, 6, 0), (5, 6, 4, 3)) - del x380 - x382 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x382 += einsum(v.ovov, (0, 1, 2, 3), x378, (2, 4, 5, 3, 1, 6), (0, 4, 5, 6)) * 0.49999999999998 - del x378 - x383 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x383 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x383 += einsum(v.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * 2.0 - x383 += einsum(x8, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x383 += einsum(x8, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x384 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x384 += einsum(t2, (0, 1, 2, 3), x383, (4, 1, 5, 3), (0, 4, 5, 2)) - del x383 - x385 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x385 += einsum(v.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) - x385 += einsum(x8, (0, 1, 2, 3), (0, 1, 2, 3)) - x386 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x386 += einsum(t2, (0, 1, 2, 3), x385, (4, 1, 5, 2), (0, 4, 5, 3)) - x387 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x387 += einsum(x67, (0, 1), t2, (2, 3, 1, 4), (2, 3, 0, 4)) - x388 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x388 += einsum(v.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x388 += einsum(x5, (0, 1, 2, 3), (2, 1, 3, 0)) - x388 += einsum(x65, (0, 1, 2, 3), (3, 1, 2, 0)) - x389 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x389 += einsum(t1, (0, 1), x388, (0, 2, 3, 4), (2, 3, 4, 1)) - del x388 - x390 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x390 += einsum(v.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - x390 += einsum(x8, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x390 += einsum(x218, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x218 - x390 += einsum(x216, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.99999999999996 - del x216 - x390 += einsum(x382, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - del x382 - x390 += einsum(x384, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x384 - x390 += einsum(x386, (0, 1, 2, 3), (0, 1, 2, 3)) - del x386 - x390 += einsum(x387, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x387 - x390 += einsum(x389, (0, 1, 2, 3), (0, 2, 1, 3)) - del x389 - x391 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x391 += einsum(x390, (0, 1, 2, 3), l3, (4, 5, 3, 6, 1, 0), (6, 2, 4, 5)) - del x390 - x392 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x392 += einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 2, 4, 5), (0, 3, 4, 5)) - x393 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x393 += einsum(v.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x393 += einsum(v.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x394 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x394 += einsum(t2, (0, 1, 2, 3), x393, (1, 3, 4, 5), (0, 2, 4, 5)) * 0.5 - x395 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x395 += einsum(x392, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.5 - del x392 - x395 += einsum(x394, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x394 - x396 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x396 += einsum(x395, (0, 1, 2, 3), l3, (4, 3, 1, 5, 6, 0), (5, 6, 4, 2)) * 2.0 - del x395 - x397 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x397 += einsum(t2, (0, 1, 2, 3), x385, (4, 5, 1, 2), (0, 4, 5, 3)) - del x385 - x398 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x398 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) - x398 += einsum(x90, (0, 1, 2, 3), (1, 0, 3, 2)) - x399 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x399 += einsum(t1, (0, 1), x398, (2, 3, 1, 4), (0, 2, 3, 4)) - del x398 - x400 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x400 += einsum(t1, (0, 1), x40, (2, 3, 4, 1), (0, 2, 3, 4)) - del x40 - x401 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x401 += einsum(t1, (0, 1), x400, (2, 3, 4, 0), (2, 4, 3, 1)) - del x400 - x402 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x402 += einsum(x397, (0, 1, 2, 3), (1, 0, 2, 3)) - del x397 - x402 += einsum(x399, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x399 - x402 += einsum(x401, (0, 1, 2, 3), (0, 2, 1, 3)) - del x401 - x403 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x403 += einsum(x402, (0, 1, 2, 3), l3, (4, 5, 3, 6, 1, 0), (6, 2, 4, 5)) - del x402 - x404 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x404 += einsum(t1, (0, 1), v.ooov, (2, 0, 3, 4), (2, 3, 1, 4)) - x405 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x405 += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 5, 1, 2), (0, 4, 3, 5)) - x406 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x406 += einsum(t2, (0, 1, 2, 3), x43, (1, 4, 3, 5), (0, 4, 2, 5)) - del x43 - x407 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x407 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x407 += einsum(x404, (0, 1, 2, 3), (0, 1, 2, 3)) - del x404 - x407 += einsum(x405, (0, 1, 2, 3), (0, 1, 2, 3)) - del x405 - x407 += einsum(x406, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x406 - x408 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x408 += einsum(x407, (0, 1, 2, 3), x118, (4, 0, 5, 1, 6, 2), (4, 5, 6, 3)) - del x407 - x409 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x409 += einsum(t2, (0, 1, 2, 3), l3, (4, 5, 3, 1, 6, 0), (6, 4, 5, 2)) - x410 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x410 += einsum(t2, (0, 1, 2, 3), l3, (4, 2, 5, 1, 6, 0), (6, 4, 5, 3)) - x411 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x411 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) - x411 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) * -1.0 - x411 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 1, 2)) * 0.5 - x411 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 0, 2)) * 2.0 - x412 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x412 += einsum(t2, (0, 1, 2, 3), x411, (0, 4, 1, 2, 5, 6), (4, 3, 5, 6)) - del x411 - x413 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x413 += einsum(x409, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 - del x409 - x413 += einsum(x410, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - x413 += einsum(x410, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 - x413 += einsum(x412, (0, 1, 2, 3), (0, 2, 3, 1)) - del x412 - x414 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x414 += einsum(v.ovvv, (0, 1, 2, 3), x413, (4, 5, 2, 3), (0, 4, 1, 5)) - del x413 - x415 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x415 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 5.0 - x415 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 - x415 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -1.0 - x415 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - x415 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 - x415 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 5.0 - x416 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x416 += einsum(l3, (0, 1, 2, 3, 4, 5), x415, (5, 6, 4, 2, 7, 1), (3, 6, 0, 7)) - del x415 - x417 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x417 += einsum(l3, (0, 1, 2, 3, 4, 5), x161, (5, 6, 3, 0, 2, 7), (4, 6, 1, 7)) - del x161 - x418 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x418 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) - x418 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 1, 2)) * -1.0 - x419 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x419 += einsum(t3, (0, 1, 2, 3, 4, 5), x418, (1, 2, 6, 5, 7, 4), (0, 6, 3, 7)) - del x418 - x420 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x420 += einsum(l3, (0, 1, 2, 3, 4, 5), x265, (5, 6, 4, 2, 1, 7), (3, 6, 0, 7)) - del x265 - x421 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x421 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - x421 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) - x422 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x422 += einsum(l3, (0, 1, 2, 3, 4, 5), x421, (3, 6, 5, 2, 1, 7), (4, 6, 0, 7)) - del x421 - x423 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x423 += einsum(x118, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 0.5 - x423 += einsum(x112, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -0.5 - x423 += einsum(x112, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) - x423 += einsum(x112, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) * -0.25 - x423 += einsum(x112, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) * 0.25 - x424 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x424 += einsum(t2, (0, 1, 2, 3), x423, (4, 0, 1, 5, 6, 2), (4, 5, 3, 6)) * 8.00000000000032 - del x423 - x425 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x425 += einsum(x112, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - x425 += einsum(x112, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - x426 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x426 += einsum(t2, (0, 1, 2, 3), x425, (0, 1, 4, 5, 6, 3), (4, 5, 2, 6)) * 2.00000000000008 - del x425 - x427 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x427 += einsum(x197, (0, 1, 2, 3), x77, (0, 4, 2, 5), (4, 1, 5, 3)) * 8.00000000000032 - del x197 - x428 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x428 += einsum(x125, (0, 1, 2, 3), l3, (4, 2, 3, 5, 0, 6), (6, 5, 1, 4)) - del x125 - x429 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x429 += einsum(x117, (0, 1, 2, 3), l3, (2, 4, 3, 0, 5, 6), (6, 5, 1, 4)) * 0.3333333333333333 - x430 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x430 += einsum(x165, (0, 1, 2, 3), (0, 1, 2, 3)) - x430 += einsum(x165, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.3333333333333333 - x430 += einsum(x167, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.3333333333333333 - x430 += einsum(x167, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.3333333333333333 - x430 += einsum(x428, (0, 1, 2, 3), (1, 0, 2, 3)) - x430 += einsum(x429, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x429 - x431 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x431 += einsum(t1, (0, 1), x430, (2, 0, 3, 4), (2, 3, 1, 4)) * 6.00000000000024 - del x430 - x432 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x432 += einsum(x194, (0, 1, 2, 3), (0, 1, 2, 3)) - del x194 - x432 += einsum(l2, (0, 1, 2, 3), (3, 2, 0, 1)) * 4.00000000000016 - x432 += einsum(l2, (0, 1, 2, 3), (2, 3, 0, 1)) * -8.00000000000032 - x432 += einsum(x416, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x416 - x432 += einsum(x417, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x417 - x432 += einsum(x419, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x419 - x432 += einsum(x420, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x420 - x432 += einsum(x422, (0, 1, 2, 3), (0, 1, 2, 3)) - del x422 - x432 += einsum(x424, (0, 1, 2, 3), (0, 1, 3, 2)) - del x424 - x432 += einsum(x426, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x426 - x432 += einsum(x427, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x427 - x432 += einsum(x431, (0, 1, 2, 3), (0, 1, 3, 2)) - del x431 - x433 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x433 += einsum(v.ovov, (0, 1, 2, 3), x432, (4, 2, 5, 3), (0, 4, 1, 5)) * 0.24999999999999 - del x432 - x434 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x434 += einsum(l2, (0, 1, 2, 3), t2, (4, 2, 5, 1), (3, 4, 0, 5)) - x435 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x435 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (3, 6, 5, 1, 7, 2), (4, 6, 0, 7)) - x436 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x436 += einsum(t2, (0, 1, 2, 3), x118, (4, 0, 1, 5, 6, 2), (4, 5, 6, 3)) - x437 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x437 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 4.0 - x437 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -1.0 - x437 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - x438 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x438 += einsum(l3, (0, 1, 2, 3, 4, 5), x437, (4, 6, 5, 1, 7, 2), (3, 6, 0, 7)) - del x437 - x439 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x439 += einsum(l3, (0, 1, 2, 3, 4, 5), x196, (5, 6, 3, 0, 2, 7), (4, 6, 1, 7)) - del x196 - x440 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x440 += einsum(x117, (0, 1, 2, 3), x112, (0, 1, 4, 5, 2, 6), (4, 5, 6, 3)) * 2.00000000000008 - x441 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x441 += einsum(l2, (0, 1, 2, 3), x77, (3, 4, 1, 5), (2, 4, 0, 5)) * 4.00000000000016 - x442 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x442 += einsum(t1, (0, 1), x336, (2, 0, 3, 4), (2, 3, 1, 4)) * 2.00000000000008 - del x336 - x443 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x443 += einsum(x434, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.00000000000016 - del x434 - x443 += einsum(x435, (0, 1, 2, 3), (0, 1, 2, 3)) - del x435 - x443 += einsum(x195, (0, 1, 2, 3), (0, 1, 2, 3)) - del x195 - x443 += einsum(x436, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.00000000000016 - del x436 - x443 += einsum(x438, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x438 - x443 += einsum(x439, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x439 - x443 += einsum(x440, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x440 - x443 += einsum(x441, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x441 - x443 += einsum(x442, (0, 1, 2, 3), (0, 1, 3, 2)) - del x442 - x444 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x444 += einsum(v.ovov, (0, 1, 2, 3), x443, (4, 2, 5, 1), (0, 4, 3, 5)) * 0.24999999999999 - del x443 - x445 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x445 += einsum(x217, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x445 += einsum(x217, (0, 1, 2, 3), (0, 2, 1, 3)) - del x217 - x446 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x446 += einsum(x445, (0, 1, 2, 3), l3, (4, 5, 3, 1, 6, 2), (6, 0, 4, 5)) * 0.5 - del x445 - x447 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x447 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x447 += einsum(x70, (0, 1, 2, 3), (0, 1, 2, 3)) - x448 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x448 += einsum(x447, (0, 1, 2, 3), x112, (4, 0, 5, 1, 6, 2), (4, 5, 6, 3)) - del x447 - x449 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x449 += einsum(x117, (0, 1, 2, 3), l3, (4, 5, 2, 1, 6, 0), (6, 4, 5, 3)) * 0.5 - del x117 - x450 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x450 += einsum(x372, (0, 1, 2, 3), (0, 1, 2, 3)) - x450 += einsum(x449, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x449 - x451 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x451 += einsum(v.ovvv, (0, 1, 2, 3), x450, (4, 5, 3, 1), (0, 4, 2, 5)) - del x450 - x452 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x452 += einsum(t1, (0, 1), x8, (2, 0, 3, 4), (2, 3, 1, 4)) - x453 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x453 += einsum(x90, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x453 += einsum(x452, (0, 1, 2, 3), (0, 1, 2, 3)) - del x452 - x454 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x454 += einsum(x453, (0, 1, 2, 3), x112, (4, 0, 5, 1, 6, 2), (4, 5, 6, 3)) - del x453 - x455 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x455 += einsum(x122, (0, 1, 2, 3), (1, 0, 2, 3)) - x455 += einsum(x199, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x199 - x456 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x456 += einsum(v.ovvv, (0, 1, 2, 3), x455, (4, 5, 0, 3), (4, 5, 1, 2)) - del x455 - x457 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x457 += einsum(v.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x457 += einsum(v.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) * 2.0 - x458 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x458 += einsum(t1, (0, 1), x457, (2, 1, 3, 4), (0, 2, 3, 4)) - del x457 - x459 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x459 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) - x459 += einsum(x458, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x458 - x460 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x460 += einsum(l2, (0, 1, 2, 3), x459, (3, 4, 5, 1), (2, 4, 0, 5)) - del x459 - x461 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x461 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x461 += einsum(v.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) - x462 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x462 += einsum(x212, (0, 1, 2, 3), x461, (0, 4, 2, 5), (1, 4, 3, 5)) * -0.5 - del x461 - x463 = np.zeros((nvir, nvir), dtype=types[float]) - x463 += einsum(v.ovov, (0, 1, 2, 3), x190, (0, 2, 4, 1), (3, 4)) - x464 = np.zeros((nvir, nvir), dtype=types[float]) - x464 += einsum(t1, (0, 1), x393, (0, 1, 2, 3), (2, 3)) * 0.5 - x465 = np.zeros((nvir, nvir), dtype=types[float]) - x465 += einsum(x463, (0, 1), (0, 1)) - del x463 - x465 += einsum(x464, (0, 1), (1, 0)) * -1.0 - del x464 - x466 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x466 += einsum(x465, (0, 1), l2, (2, 1, 3, 4), (4, 3, 2, 0)) * 2.0 - del x465 - x467 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x467 += einsum(x171, (0, 1, 2, 3), (0, 1, 2, 3)) - del x171 - x467 += einsum(x176, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0000000000000804 - del x176 - x468 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x468 += einsum(v.ovov, (0, 1, 2, 3), x467, (4, 5, 0, 2), (4, 5, 3, 1)) * 0.49999999999997996 - del x467 - x469 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x469 += einsum(x122, (0, 1, 2, 3), x263, (1, 4, 2, 5), (0, 4, 3, 5)) - del x263 - x470 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x470 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) - x470 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 4, 3, 0, 2, 1)) - x470 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) * -3.0 - x471 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x471 += einsum(t2, (0, 1, 2, 3), x470, (1, 4, 5, 6, 2, 3), (0, 4, 5, 6)) - del x470 - x472 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x472 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * 0.3333333333333333 - x472 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 4, 3, 0, 2, 1)) - x472 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) * -0.3333333333333333 - x473 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x473 += einsum(t2, (0, 1, 2, 3), x472, (1, 4, 5, 6, 3, 2), (0, 4, 5, 6)) * 3.0 - del x472 - x474 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x474 += einsum(x122, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 - x474 += einsum(x471, (0, 1, 2, 3), (2, 1, 0, 3)) - del x471 - x474 += einsum(x473, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - del x473 - x475 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x475 += einsum(v.ooov, (0, 1, 2, 3), x474, (4, 0, 1, 5), (2, 4, 3, 5)) * 0.5 - del x474 - x476 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x476 += einsum(x122, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x476 += einsum(x122, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 - x477 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x477 += einsum(x476, (0, 1, 2, 3), x8, (0, 4, 2, 5), (4, 1, 5, 3)) - del x476 - x478 = np.zeros((nocc, nocc), dtype=types[float]) - x478 += einsum(t1, (0, 1), x36, (2, 1), (0, 2)) * 2.0 - x479 = np.zeros((nocc, nocc), dtype=types[float]) - x479 += einsum(x271, (0, 1), (1, 0)) - del x271 - x479 += einsum(x273, (0, 1), (1, 0)) - del x273 - x479 += einsum(x478, (0, 1), (0, 1)) - del x478 - x480 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x480 += einsum(x479, (0, 1), l2, (2, 3, 0, 4), (4, 1, 2, 3)) - x481 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x481 += einsum(x67, (0, 1), x362, (2, 3, 0, 4), (2, 3, 4, 1)) - del x67, x362 - x482 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x482 += einsum(f.ov, (0, 1), x212, (2, 3, 0, 4), (2, 3, 4, 1)) * -0.5 - x483 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x483 += einsum(f.ov, (0, 1), l1, (2, 3), (0, 3, 1, 2)) - x483 += einsum(x365, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x365 - x483 += einsum(x366, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x366 - x483 += einsum(x367, (0, 1, 2, 3), (0, 1, 2, 3)) - del x367 - x483 += einsum(x368, (0, 1, 2, 3), (0, 1, 2, 3)) - del x368 - x483 += einsum(x369, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x369 - x483 += einsum(x370, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x370 - x483 += einsum(x371, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.49999999999997996 - del x371 - x483 += einsum(x373, (0, 1, 2, 3), (0, 1, 2, 3)) - del x373 - x483 += einsum(x381, (0, 1, 2, 3), (0, 1, 2, 3)) - del x381 - x483 += einsum(x391, (0, 1, 2, 3), (0, 1, 2, 3)) - del x391 - x483 += einsum(x396, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x396 - x483 += einsum(x403, (0, 1, 2, 3), (0, 1, 2, 3)) - del x403 - x483 += einsum(x408, (0, 1, 2, 3), (0, 1, 2, 3)) - del x408 - x483 += einsum(x414, (0, 1, 2, 3), (1, 0, 3, 2)) - del x414 - x483 += einsum(x433, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x433 - x483 += einsum(x444, (0, 1, 2, 3), (1, 0, 3, 2)) - del x444 - x483 += einsum(x446, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x446 - x483 += einsum(x448, (0, 1, 2, 3), (0, 1, 2, 3)) - del x448 - x483 += einsum(x451, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x451 - x483 += einsum(x454, (0, 1, 2, 3), (0, 1, 2, 3)) - del x454 - x483 += einsum(x456, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x456 - x483 += einsum(x460, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x460 - x483 += einsum(x462, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x462 - x483 += einsum(x466, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x466 - x483 += einsum(x468, (0, 1, 2, 3), (0, 1, 3, 2)) - del x468 - x483 += einsum(x469, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x469 - x483 += einsum(x475, (0, 1, 2, 3), (1, 0, 3, 2)) - del x475 - x483 += einsum(x477, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x477 - x483 += einsum(x480, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x480 - x483 += einsum(x481, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x481 - x483 += einsum(x482, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x482 - x483 += einsum(l1, (0, 1), x36, (2, 3), (1, 2, 0, 3)) * 2.0 - l2new += einsum(x483, (0, 1, 2, 3), (2, 3, 0, 1)) - l2new += einsum(x483, (0, 1, 2, 3), (3, 2, 1, 0)) - del x483 - x484 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x484 += einsum(v.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x484 += einsum(x65, (0, 1, 2, 3), (1, 3, 0, 2)) - x484 += einsum(x20, (0, 1, 2, 3), (0, 2, 1, 3)) - x485 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x485 += einsum(x484, (0, 1, 2, 3), l3, (4, 5, 6, 0, 7, 2), (7, 1, 3, 4, 6, 5)) * 0.5 - del x484 - l3new += einsum(x485, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 0, 2)) * -1.0 - l3new += einsum(x485, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 0, 2)) - del x485 - x486 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x486 += einsum(x20, (0, 1, 2, 3), l3, (4, 5, 6, 7, 1, 0), (7, 2, 3, 4, 6, 5)) - del x20 - x487 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x487 += einsum(v.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x487 += einsum(x5, (0, 1, 2, 3), (2, 1, 0, 3)) - x487 += einsum(x65, (0, 1, 2, 3), (1, 3, 0, 2)) - del x65 - x488 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x488 += einsum(x487, (0, 1, 2, 3), l3, (4, 5, 6, 0, 2, 7), (7, 1, 3, 4, 6, 5)) - del x487 - x489 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x489 += einsum(x360, (0, 1), l3, (2, 3, 4, 0, 5, 6), (6, 5, 1, 2, 4, 3)) - del x360 - x490 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x490 += einsum(x486, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x486 - x490 += einsum(x488, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) - del x488 - x490 += einsum(x489, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) - del x489 - l3new += einsum(x490, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) - l3new += einsum(x490, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 2, 0)) * -1.0 - del x490 - x491 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x491 += einsum(l2, (0, 1, 2, 3), v.ooov, (4, 3, 5, 6), (2, 4, 5, 0, 1, 6)) - l3new += einsum(x491, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 1, 2)) * -1.0 - l3new += einsum(x491, (0, 1, 2, 3, 4, 5), (5, 4, 3, 0, 1, 2)) - l3new += einsum(x491, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * -1.0 - l3new += einsum(x491, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) - l3new += einsum(x491, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 0, 2)) * -1.0 - l3new += einsum(x491, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) - l3new += einsum(x491, (0, 1, 2, 3, 4, 5), (4, 3, 5, 2, 0, 1)) - l3new += einsum(x491, (0, 1, 2, 3, 4, 5), (5, 3, 4, 2, 0, 1)) * -1.0 - l3new += einsum(x491, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 2, 0)) - l3new += einsum(x491, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) * -1.0 - l3new += einsum(x491, (0, 1, 2, 3, 4, 5), (3, 4, 5, 2, 1, 0)) - l3new += einsum(x491, (0, 1, 2, 3, 4, 5), (5, 4, 3, 2, 1, 0)) * -1.0 - del x491 - x492 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x492 += einsum(f.vv, (0, 1), l3, (2, 3, 1, 4, 5, 6), (4, 6, 5, 0, 2, 3)) - x493 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x493 += einsum(f.ov, (0, 1), x112, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) - x494 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x494 += einsum(v.vvvv, (0, 1, 2, 3), l3, (4, 3, 1, 5, 6, 7), (5, 7, 6, 4, 0, 2)) - x495 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x495 += einsum(v.ovvv, (0, 1, 2, 3), x112, (4, 5, 6, 0, 7, 3), (4, 5, 6, 7, 1, 2)) - x496 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x496 += einsum(t2, (0, 1, 2, 3), l3, (4, 3, 2, 5, 6, 7), (5, 7, 6, 0, 1, 4)) - x497 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x497 += einsum(x496, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x496 - x497 += einsum(x151, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x151 - x498 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x498 += einsum(v.ovov, (0, 1, 2, 3), x497, (4, 5, 6, 2, 0, 7), (4, 5, 6, 1, 3, 7)) - del x497 - x499 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x499 += einsum(x492, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - del x492 - x499 += einsum(x493, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x493 - x499 += einsum(x494, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x494 - x499 += einsum(x495, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - del x495 - x499 += einsum(x498, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) - del x498 - l3new += einsum(x499, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) - l3new += einsum(x499, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) * -1.0 - del x499 - x500 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x500 += einsum(l2, (0, 1, 2, 3), v.ovvv, (4, 5, 6, 1), (2, 3, 4, 0, 5, 6)) - x501 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x501 += einsum(l2, (0, 1, 2, 3), x8, (3, 4, 5, 6), (2, 4, 5, 0, 1, 6)) - x502 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x502 += einsum(v.ovov, (0, 1, 2, 3), x122, (4, 5, 2, 6), (4, 5, 0, 6, 1, 3)) - del x122 - x503 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x503 += einsum(x500, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - del x500 - x503 += einsum(x501, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x501 - x503 += einsum(x502, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x502 - l3new += einsum(x503, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 1, 2)) * -1.0 - l3new += einsum(x503, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 1, 2)) - l3new += einsum(x503, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 2, 1)) * -1.0 - l3new += einsum(x503, (0, 1, 2, 3, 4, 5), (5, 4, 3, 0, 2, 1)) - l3new += einsum(x503, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 0, 2)) - l3new += einsum(x503, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) * -1.0 - l3new += einsum(x503, (0, 1, 2, 3, 4, 5), (4, 3, 5, 2, 0, 1)) * -1.0 - l3new += einsum(x503, (0, 1, 2, 3, 4, 5), (5, 3, 4, 2, 0, 1)) - l3new += einsum(x503, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 2, 0)) - l3new += einsum(x503, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 2, 0)) * -1.0 - l3new += einsum(x503, (0, 1, 2, 3, 4, 5), (3, 5, 4, 2, 1, 0)) - l3new += einsum(x503, (0, 1, 2, 3, 4, 5), (4, 5, 3, 2, 1, 0)) * -1.0 - del x503 - x504 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x504 += einsum(v.vvvv, (0, 1, 2, 3), l3, (1, 4, 3, 5, 6, 7), (5, 7, 6, 4, 0, 2)) - x505 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x505 += einsum(t2, (0, 1, 2, 3), l3, (2, 4, 3, 5, 6, 7), (5, 7, 6, 0, 1, 4)) - x506 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x506 += einsum(t1, (0, 1), x112, (2, 3, 4, 5, 1, 6), (2, 3, 4, 0, 5, 6)) - x507 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x507 += einsum(x505, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x505 - x507 += einsum(x506, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x506 - x508 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x508 += einsum(v.ovov, (0, 1, 2, 3), x507, (4, 5, 6, 2, 0, 7), (4, 5, 6, 1, 3, 7)) * 0.5 - del x507 - x509 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x509 += einsum(x504, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 0.5 - del x504 - x509 += einsum(x508, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) - del x508 - l3new += einsum(x509, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 2, 0)) * -1.0 - l3new += einsum(x509, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) - del x509 - x510 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x510 += einsum(v.ovov, (0, 1, 2, 3), x212, (4, 5, 2, 6), (0, 4, 5, 3, 1, 6)) * -0.5 - del x212 - l3new += einsum(x510, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) - l3new += einsum(x510, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 2, 0)) * -1.0 - l3new += einsum(x510, (0, 1, 2, 3, 4, 5), (5, 3, 4, 2, 1, 0)) * -1.0 - l3new += einsum(x510, (0, 1, 2, 3, 4, 5), (4, 3, 5, 2, 1, 0)) - l3new += einsum(x510, (0, 1, 2, 3, 4, 5), (5, 3, 4, 0, 1, 2)) - l3new += einsum(x510, (0, 1, 2, 3, 4, 5), (4, 3, 5, 0, 1, 2)) * -1.0 - l3new += einsum(x510, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) * -1.0 - l3new += einsum(x510, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) - del x510 - x511 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x511 += einsum(v.ovov, (0, 1, 2, 3), x165, (4, 5, 2, 6), (4, 5, 0, 6, 1, 3)) - del x165 - l3new += einsum(x511, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 1, 2)) * -1.0 - l3new += einsum(x511, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 1, 2)) - l3new += einsum(x511, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 2, 1)) * -0.5 - l3new += einsum(x511, (0, 1, 2, 3, 4, 5), (5, 4, 3, 0, 2, 1)) * 0.5 - l3new += einsum(x511, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 0, 2)) - l3new += einsum(x511, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) * -1.0 - l3new += einsum(x511, (0, 1, 2, 3, 4, 5), (4, 3, 5, 2, 0, 1)) * -1.0 - l3new += einsum(x511, (0, 1, 2, 3, 4, 5), (5, 3, 4, 2, 0, 1)) - l3new += einsum(x511, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 2, 0)) * 0.5 - l3new += einsum(x511, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 2, 0)) * -0.5 - l3new += einsum(x511, (0, 1, 2, 3, 4, 5), (3, 5, 4, 2, 1, 0)) - l3new += einsum(x511, (0, 1, 2, 3, 4, 5), (4, 5, 3, 2, 1, 0)) * -1.0 - del x511 - x512 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x512 += einsum(v.ooov, (0, 1, 2, 3), x112, (4, 5, 1, 2, 6, 7), (4, 5, 0, 6, 7, 3)) - x513 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x513 += einsum(v.ovvv, (0, 1, 2, 3), x118, (4, 5, 6, 0, 3, 7), (5, 4, 6, 7, 1, 2)) - x514 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x514 += einsum(x8, (0, 1, 2, 3), x112, (4, 5, 0, 1, 6, 7), (4, 5, 2, 6, 7, 3)) - x515 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x515 += einsum(v.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) - x515 += einsum(x90, (0, 1, 2, 3), (0, 1, 3, 2)) - del x90 - x515 += einsum(x70, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.00000000000001 - del x70 - l3new += einsum(x515, (0, 1, 2, 3), l3, (4, 2, 5, 6, 0, 7), (4, 3, 5, 6, 1, 7)) * -1.0 - x516 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x516 += einsum(x515, (0, 1, 2, 3), l3, (4, 5, 2, 6, 0, 7), (7, 6, 1, 4, 5, 3)) - x517 = np.zeros((nvir, nvir), dtype=types[float]) - x517 += einsum(v.ovov, (0, 1, 2, 3), x190, (0, 2, 4, 1), (3, 4)) * 2.0 - del x190 - x518 = np.zeros((nvir, nvir), dtype=types[float]) - x518 += einsum(t1, (0, 1), x393, (0, 1, 2, 3), (2, 3)) - del x393 - x519 = np.zeros((nvir, nvir), dtype=types[float]) - x519 += einsum(x517, (0, 1), (0, 1)) - del x517 - x519 += einsum(x518, (0, 1), (1, 0)) * -1.0 - del x518 - x520 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x520 += einsum(x519, (0, 1), l3, (2, 3, 1, 4, 5, 6), (6, 4, 5, 2, 3, 0)) - del x519 - x521 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x521 += einsum(x36, (0, 1), x112, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 6, 1)) * 2.0 - del x36 - x522 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x522 += einsum(v.ovov, (0, 1, 2, 3), x428, (4, 5, 2, 6), (0, 5, 4, 3, 1, 6)) * 1.5 - del x428 - x523 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x523 += einsum(x512, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - del x512 - x523 += einsum(x513, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x513 - x523 += einsum(x514, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - del x514 - x523 += einsum(x516, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) - del x516 - x523 += einsum(x520, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) - del x520 - x523 += einsum(x521, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x521 - x523 += einsum(x522, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) - del x522 - l3new += einsum(x523, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 2, 1)) * -1.0 - l3new += einsum(x523, (0, 1, 2, 3, 4, 5), (5, 4, 3, 0, 2, 1)) - del x523 - x524 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x524 += einsum(v.ovov, (0, 1, 2, 3), x155, (4, 5, 6, 1), (0, 2, 4, 3, 5, 6)) * -0.5 - del x155 - l3new += einsum(x524, (0, 1, 2, 3, 4, 5), (5, 4, 3, 2, 0, 1)) * -1.0 - l3new += einsum(x524, (0, 1, 2, 3, 4, 5), (3, 4, 5, 2, 0, 1)) - l3new += einsum(x524, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) - l3new += einsum(x524, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 2, 0)) * -1.0 - l3new += einsum(x524, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) * -1.0 - l3new += einsum(x524, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) - l3new += einsum(x524, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 0, 2)) - l3new += einsum(x524, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 0, 2)) * -1.0 - del x524 - x525 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x525 += einsum(v.ovov, (0, 1, 2, 3), x410, (4, 5, 6, 3), (4, 0, 2, 6, 5, 1)) - del x410 - l3new += einsum(x525, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 1, 2)) * 0.5 - l3new += einsum(x525, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 1, 2)) * -0.5 - l3new += einsum(x525, (0, 1, 2, 3, 4, 5), (3, 5, 4, 2, 1, 0)) * -0.5 - l3new += einsum(x525, (0, 1, 2, 3, 4, 5), (4, 5, 3, 2, 1, 0)) * 0.5 - del x525 - x526 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x526 += einsum(v.ovov, (0, 1, 2, 3), x167, (4, 5, 2, 6), (4, 5, 0, 6, 1, 3)) - del x167 - l3new += einsum(x526, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 2, 1)) * 0.5 - l3new += einsum(x526, (0, 1, 2, 3, 4, 5), (5, 4, 3, 0, 2, 1)) * -0.5 - l3new += einsum(x526, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 2, 0)) * -0.5 - l3new += einsum(x526, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 2, 0)) * 0.5 - del x526 - x527 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x527 += einsum(x5, (0, 1, 2, 3), l3, (4, 5, 6, 7, 2, 0), (7, 1, 3, 4, 6, 5)) - x528 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x528 += einsum(v.ooov, (0, 1, 2, 3), x118, (4, 1, 5, 2, 6, 7), (4, 5, 0, 6, 7, 3)) - x529 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x529 += einsum(x8, (0, 1, 2, 3), x118, (0, 4, 5, 1, 6, 7), (4, 5, 2, 7, 6, 3)) - x530 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x530 += einsum(x515, (0, 1, 2, 3), l3, (4, 2, 5, 0, 6, 7), (7, 6, 1, 4, 5, 3)) - x531 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x531 += einsum(x479, (0, 1), l3, (2, 3, 4, 0, 5, 6), (6, 5, 1, 2, 4, 3)) - del x479 - x532 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x532 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * -0.5 - x532 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) - x533 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x533 += einsum(t2, (0, 1, 2, 3), x532, (0, 4, 1, 5, 6, 2), (4, 3, 5, 6)) * 2.0 - del x532 - x534 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x534 += einsum(v.ovov, (0, 1, 2, 3), x533, (4, 1, 5, 6), (0, 2, 4, 3, 6, 5)) - del x533 - x535 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x535 += einsum(x527, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x527 - x535 += einsum(x528, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x528 - x535 += einsum(x529, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x529 - x535 += einsum(x530, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - del x530 - x535 += einsum(x531, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - del x531 - x535 += einsum(x534, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -1.0 - del x534 - l3new += einsum(x535, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 1, 2)) - l3new += einsum(x535, (0, 1, 2, 3, 4, 5), (3, 5, 4, 2, 1, 0)) * -1.0 - del x535 - x536 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x536 += einsum(v.ovov, (0, 1, 2, 3), x372, (4, 5, 6, 3), (4, 0, 2, 5, 6, 1)) - del x372 - l3new += einsum(x536, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 2, 1)) * -1.0 - l3new += einsum(x536, (0, 1, 2, 3, 4, 5), (5, 4, 3, 0, 2, 1)) - l3new += einsum(x536, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 0, 2)) - l3new += einsum(x536, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) * -1.0 - l3new += einsum(x536, (0, 1, 2, 3, 4, 5), (4, 3, 5, 2, 0, 1)) * -1.0 - l3new += einsum(x536, (0, 1, 2, 3, 4, 5), (5, 3, 4, 2, 0, 1)) - l3new += einsum(x536, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 2, 0)) - l3new += einsum(x536, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 2, 0)) * -1.0 - del x536 - x537 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x537 += einsum(v.ooov, (0, 1, 2, 3), x112, (4, 0, 5, 1, 6, 7), (4, 5, 2, 6, 7, 3)) - x538 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x538 += einsum(x8, (0, 1, 2, 3), x112, (4, 0, 5, 2, 6, 7), (4, 5, 1, 6, 7, 3)) - x539 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x539 += einsum(v.ovov, (0, 1, 2, 3), x77, (2, 4, 3, 5), (0, 4, 1, 5)) * 1.00000000000001 - x540 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x540 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x540 += einsum(x99, (0, 1, 2, 3), (0, 1, 3, 2)) - x540 += einsum(x76, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.00000000000001 - x540 += einsum(x539, (0, 1, 2, 3), (1, 0, 3, 2)) - del x539 - x541 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x541 += einsum(x540, (0, 1, 2, 3), l3, (4, 5, 2, 6, 7, 0), (6, 7, 1, 4, 5, 3)) - del x540 - x542 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x542 += einsum(x537, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x537 - x542 += einsum(x538, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x538 - x542 += einsum(x541, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - del x541 - l3new += einsum(x542, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 1, 2)) * -1.0 - l3new += einsum(x542, (0, 1, 2, 3, 4, 5), (5, 4, 3, 0, 1, 2)) - l3new += einsum(x542, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * -1.0 - l3new += einsum(x542, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 0, 2)) * -1.0 - l3new += einsum(x542, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) - l3new += einsum(x542, (0, 1, 2, 3, 4, 5), (4, 3, 5, 2, 0, 1)) - l3new += einsum(x542, (0, 1, 2, 3, 4, 5), (5, 3, 4, 2, 0, 1)) * -1.0 - l3new += einsum(x542, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 2, 0)) - l3new += einsum(x542, (0, 1, 2, 3, 4, 5), (3, 4, 5, 2, 1, 0)) - l3new += einsum(x542, (0, 1, 2, 3, 4, 5), (5, 4, 3, 2, 1, 0)) * -1.0 - del x542 - x543 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x543 += einsum(v.ooov, (0, 1, 2, 3), x112, (4, 1, 5, 2, 6, 7), (4, 5, 0, 6, 7, 3)) - x544 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x544 += einsum(x8, (0, 1, 2, 3), x112, (4, 0, 5, 1, 6, 7), (4, 5, 2, 6, 7, 3)) - del x8 - x545 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x545 += einsum(x515, (0, 1, 2, 3), l3, (4, 5, 2, 6, 7, 0), (6, 7, 1, 4, 5, 3)) - del x515 - x546 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x546 += einsum(x543, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x543 - x546 += einsum(x544, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x544 - x546 += einsum(x545, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - del x545 - l3new += einsum(x546, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 1, 2)) - l3new += einsum(x546, (0, 1, 2, 3, 4, 5), (5, 4, 3, 0, 1, 2)) * -1.0 - l3new += einsum(x546, (0, 1, 2, 3, 4, 5), (3, 4, 5, 2, 1, 0)) * -1.0 - l3new += einsum(x546, (0, 1, 2, 3, 4, 5), (5, 4, 3, 2, 1, 0)) - del x546 - x547 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x547 += einsum(v.ovvv, (0, 1, 2, 3), x112, (4, 5, 6, 0, 3, 7), (5, 4, 6, 7, 1, 2)) - del x112 - l3new += einsum(x547, (0, 1, 2, 3, 4, 5), (4, 3, 5, 0, 2, 1)) * -1.0 - l3new += einsum(x547, (0, 1, 2, 3, 4, 5), (5, 3, 4, 0, 2, 1)) - del x547 - x548 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x548 += einsum(x5, (0, 1, 2, 3), l3, (4, 5, 6, 0, 7, 2), (7, 1, 3, 4, 6, 5)) - del x5 - l3new += einsum(x548, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 0, 2)) * -1.0 - l3new += einsum(x548, (0, 1, 2, 3, 4, 5), (3, 5, 4, 2, 0, 1)) - del x548 - x549 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x549 += einsum(v.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * 0.99999999999999 - x549 += einsum(x99, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.99999999999999 - del x99 - x549 += einsum(x76, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x76 - x549 += einsum(x96, (0, 1, 2, 3), (1, 0, 3, 2)) - del x96 - l3new += einsum(x549, (0, 1, 2, 3), x141, (4, 5, 0, 2, 6, 7), (6, 3, 7, 5, 1, 4)) * 1.00000000000001 - del x141, x549 - x550 = np.zeros((nvir, nvir), dtype=types[float]) - x550 += einsum(f.vv, (0, 1), (0, 1)) - x550 += einsum(v.ovov, (0, 1, 2, 3), x77, (0, 2, 1, 4), (4, 3)) * -1.0 - del x77 - x550 += einsum(t1, (0, 1), x54, (0, 1, 2, 3), (3, 2)) * 2.0 - del x54 - l3new += einsum(x550, (0, 1), l3, (2, 0, 3, 4, 5, 6), (2, 1, 3, 4, 5, 6)) - del x550 - x551 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x551 += einsum(v.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x551 += einsum(v.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - l3new += einsum(x551, (0, 1, 2, 3), x118, (4, 5, 0, 1, 6, 7), (7, 3, 6, 5, 2, 4)) * -1.0 - del x118, x551 - x552 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x552 += einsum(l2, (0, 1, 2, 3), (3, 2, 0, 1)) - x552 += einsum(l2, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 - l3new += einsum(x68, (0, 1), x552, (2, 3, 4, 5), (5, 1, 4, 3, 0, 2)) * -1.0 - del x68, x552 - - return {"l1new": l1new, "l2new": l2new, "l3new": l3new} - -def make_rdm1_f(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, t3=None, l1=None, l2=None, l3=None, **kwargs): - delta = Namespace(oo=np.eye(nocc), vv=np.eye(nvir)) - - # RDM1 - rdm1_f_oo = np.zeros((nocc, nocc), dtype=types[float]) - rdm1_f_oo += einsum(delta.oo, (0, 1), (0, 1)) * 2.0 - rdm1_f_oo += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 5, 3, 1, 0, 2), (6, 4)) * 0.16666666666666 - rdm1_f_ov = np.zeros((nocc, nvir), dtype=types[float]) - rdm1_f_ov += einsum(t1, (0, 1), (0, 1)) * 2.0 - rdm1_f_vo = np.zeros((nvir, nocc), dtype=types[float]) - rdm1_f_vo += einsum(l1, (0, 1), (0, 1)) * 2.0 - rdm1_f_vv = np.zeros((nvir, nvir), dtype=types[float]) - rdm1_f_vv += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (3, 4, 5, 0, 6, 2), (1, 6)) * 0.49999999999998 - rdm1_f_vv += einsum(l1, (0, 1), t1, (1, 2), (0, 2)) * 2.0 - x0 = np.zeros((nocc, nocc), dtype=types[float]) - x0 += einsum(l1, (0, 1), t1, (2, 0), (1, 2)) - rdm1_f_oo += einsum(x0, (0, 1), (1, 0)) * -2.0 - x1 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x1 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -0.14285714285714288 - x1 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 0.14285714285714288 - x1 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) - x1 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -0.14285714285714288 - rdm1_f_oo += einsum(l3, (0, 1, 2, 3, 4, 5), x1, (4, 6, 3, 0, 2, 1), (6, 5)) * -1.16666666666662 - del x1 - x2 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x2 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 3.0 - x2 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) - x2 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -1.0 - rdm1_f_oo += einsum(l3, (0, 1, 2, 3, 4, 5), x2, (3, 5, 6, 0, 2, 1), (6, 4)) * -0.16666666666666 - del x2 - x3 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x3 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - x3 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 - rdm1_f_oo += einsum(l3, (0, 1, 2, 3, 4, 5), x3, (3, 6, 4, 0, 1, 2), (6, 5)) * 0.16666666666666 - del x3 - x4 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x4 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x4 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - rdm1_f_oo += einsum(l2, (0, 1, 2, 3), x4, (2, 4, 0, 1), (4, 3)) * -2.0 - del x4 - x5 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x5 += einsum(t1, (0, 1), l3, (2, 1, 3, 4, 5, 6), (4, 6, 5, 0, 2, 3)) - rdm1_f_ov += einsum(t3, (0, 1, 2, 3, 4, 5), x5, (0, 2, 1, 6, 3, 5), (6, 4)) * -0.49999999999998 - del x5 - x6 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x6 += einsum(t1, (0, 1), l3, (2, 3, 1, 4, 5, 6), (4, 6, 5, 0, 2, 3)) - x7 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x7 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - x7 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 6.999999999999999 - x7 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) - x7 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) - x7 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -1.0 - x7 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 - rdm1_f_ov += einsum(x6, (0, 1, 2, 3, 4, 5), x7, (0, 1, 2, 5, 6, 4), (3, 6)) * -0.16666666666666 - del x7 - x8 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x8 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - x8 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 - x8 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) - rdm1_f_ov += einsum(x6, (0, 1, 2, 3, 4, 5), x8, (0, 2, 1, 5, 4, 6), (3, 6)) * 0.16666666666666 - del x6, x8 - x9 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x9 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - x9 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 6.0 - x9 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) - x9 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 - rdm1_f_ov += einsum(l2, (0, 1, 2, 3), x9, (2, 4, 3, 1, 0, 5), (4, 5)) * 0.5 - del x9 - x10 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x10 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - x10 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 2.0 - rdm1_f_ov += einsum(l2, (0, 1, 2, 3), x10, (3, 4, 2, 1, 0, 5), (4, 5)) * -0.5 - del x10 - x11 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x11 += einsum(t1, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2)) - x12 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x12 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.3333333333333333 - x12 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - x13 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x13 += einsum(x12, (0, 1, 2, 3), l3, (4, 2, 3, 5, 0, 6), (1, 6, 5, 4)) * 0.75 - del x12 - x14 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x14 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) - x14 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.3333333333333333 - x15 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x15 += einsum(x11, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x15 += einsum(x11, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x11 - x15 += einsum(x13, (0, 1, 2, 3), (2, 1, 0, 3)) - x15 += einsum(x13, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - del x13 - x15 += einsum(x14, (0, 1, 2, 3), l3, (4, 2, 3, 5, 6, 0), (5, 6, 1, 4)) * 1.5 - del x14 - rdm1_f_ov += einsum(t2, (0, 1, 2, 3), x15, (0, 1, 4, 2), (4, 3)) * -2.0 - del x15 - x16 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x16 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 3, 4, 0, 2, 1)) * -1.0 - x16 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) - x16 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 0, 2)) - x17 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x17 += einsum(t2, (0, 1, 2, 3), l3, (4, 2, 3, 5, 6, 1), (5, 6, 0, 4)) * -1.0 - x17 += einsum(t2, (0, 1, 2, 3), x16, (1, 4, 5, 3, 2, 6), (4, 5, 0, 6)) - del x16 - rdm1_f_ov += einsum(t2, (0, 1, 2, 3), x17, (0, 1, 4, 3), (4, 2)) * -1.0 - del x17 - x18 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x18 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.5 - x18 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm1_f_ov += einsum(l1, (0, 1), x18, (1, 2, 0, 3), (2, 3)) * 4.0 - del x18 - x19 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x19 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - x19 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - x19 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 6.999999999999999 - x19 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 - x20 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x20 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - x20 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - x20 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 3.0 - x21 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x21 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) - x21 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 4, 3, 0, 2, 1)) - x22 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x22 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) - x22 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x23 = np.zeros((nocc, nocc), dtype=types[float]) - x23 += einsum(x0, (0, 1), (0, 1)) - del x0 - x23 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 5, 4, 1, 0, 2), (3, 6)) * 0.08333333333333 - x23 += einsum(l3, (0, 1, 2, 3, 4, 5), x19, (4, 6, 5, 2, 0, 1), (3, 6)) * 0.08333333333333 - del x19 - x23 += einsum(l3, (0, 1, 2, 3, 4, 5), x20, (3, 6, 5, 1, 0, 2), (4, 6)) * 0.08333333333333 - del x20 - x23 += einsum(t3, (0, 1, 2, 3, 4, 5), x21, (2, 6, 1, 5, 4, 3), (6, 0)) * -0.08333333333333 - del x21 - x23 += einsum(l2, (0, 1, 2, 3), x22, (2, 4, 1, 0), (3, 4)) * 2.0 - del x22 - rdm1_f_ov += einsum(t1, (0, 1), x23, (0, 2), (2, 1)) * -2.0 - del x23 - x24 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x24 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 0.14285714285714288 - x24 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -0.14285714285714288 - x24 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) - x24 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -0.14285714285714288 - x24 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * 0.14285714285714288 - x24 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -0.14285714285714288 - rdm1_f_vv += einsum(l3, (0, 1, 2, 3, 4, 5), x24, (5, 3, 4, 1, 2, 6), (0, 6)) * 1.16666666666662 - del x24 - x25 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x25 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - x25 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - x25 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) - rdm1_f_vv += einsum(l3, (0, 1, 2, 3, 4, 5), x25, (5, 4, 3, 1, 6, 2), (0, 6)) * -0.16666666666666 - del x25 - x26 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x26 += einsum(l2, (0, 1, 2, 3), (3, 2, 0, 1)) * -0.5 - x26 += einsum(l2, (0, 1, 2, 3), (2, 3, 0, 1)) - rdm1_f_vv += einsum(t2, (0, 1, 2, 3), x26, (0, 1, 2, 4), (4, 3)) * 4.0 - del x26 - - rdm1_f = np.block([[rdm1_f_oo, rdm1_f_ov], [rdm1_f_vo, rdm1_f_vv]]) - - return rdm1_f - -def make_rdm2_f(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, t3=None, l1=None, l2=None, l3=None, **kwargs): - delta = Namespace(oo=np.eye(nocc), vv=np.eye(nvir)) - - # RDM2 - rdm2_f_oooo = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - rdm2_f_oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (0, 2, 1, 3)) - rdm2_f_oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (0, 2, 1, 3)) - rdm2_f_oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (0, 2, 1, 3)) - rdm2_f_oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (0, 2, 1, 3)) - rdm2_f_oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_ovoo = np.zeros((nocc, nvir, nocc, nocc), dtype=types[float]) - rdm2_f_ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (0, 2, 1, 3)) - rdm2_f_ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (0, 2, 1, 3)) - rdm2_f_ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (0, 2, 1, 3)) - rdm2_f_ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (0, 2, 1, 3)) - rdm2_f_ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_vooo = np.zeros((nvir, nocc, nocc, nocc), dtype=types[float]) - rdm2_f_vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 0, 3, 1)) - rdm2_f_vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 0, 3, 1)) - rdm2_f_vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 0, 3, 1)) - rdm2_f_vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 0, 3, 1)) - rdm2_f_oovv = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - rdm2_f_oovv += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_ovov = np.zeros((nocc, nvir, nocc, nvir), dtype=types[float]) - rdm2_f_ovov += einsum(l1, (0, 1), t1, (2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_ovov += einsum(l1, (0, 1), t1, (2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_ovvo = np.zeros((nocc, nvir, nvir, nocc), dtype=types[float]) - rdm2_f_ovvo += einsum(l1, (0, 1), t1, (2, 3), (2, 0, 3, 1)) - rdm2_f_ovvo += einsum(l1, (0, 1), t1, (2, 3), (2, 0, 3, 1)) - rdm2_f_ovvo += einsum(l1, (0, 1), t1, (2, 3), (2, 0, 3, 1)) - rdm2_f_ovvo += einsum(l1, (0, 1), t1, (2, 3), (2, 0, 3, 1)) - rdm2_f_voov = np.zeros((nvir, nocc, nocc, nvir), dtype=types[float]) - rdm2_f_voov += einsum(l1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) - rdm2_f_voov += einsum(l1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) - rdm2_f_voov += einsum(l1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) - rdm2_f_voov += einsum(l1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) - rdm2_f_vovo = np.zeros((nvir, nocc, nvir, nocc), dtype=types[float]) - rdm2_f_vovo += einsum(l1, (0, 1), t1, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_vovo += einsum(l1, (0, 1), t1, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_vvoo = np.zeros((nvir, nvir, nocc, nocc), dtype=types[float]) - rdm2_f_vvoo += einsum(l2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_vvoo += einsum(l2, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_vvoo += einsum(l2, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_vvoo += einsum(l2, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_vvoo += einsum(l2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_vvoo += einsum(l2, (0, 1, 2, 3), (0, 1, 2, 3)) - x0 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x0 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 7, 4, 1, 2, 0), (3, 5, 6, 7)) - rdm2_f_oooo += einsum(x0, (0, 1, 2, 3), (3, 2, 1, 0)) * -0.16666666666667 - rdm2_f_oooo += einsum(x0, (0, 1, 2, 3), (3, 2, 1, 0)) * -0.16666666666667 - del x0 - x1 = np.zeros((nocc, nocc), dtype=types[float]) - x1 += einsum(l1, (0, 1), t1, (2, 0), (1, 2)) - rdm2_f_oooo += einsum(delta.oo, (0, 1), x1, (2, 3), (0, 3, 1, 2)) * -1.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x1, (2, 3), (3, 0, 1, 2)) - rdm2_f_oooo += einsum(delta.oo, (0, 1), x1, (2, 3), (0, 3, 2, 1)) - rdm2_f_oooo += einsum(delta.oo, (0, 1), x1, (2, 3), (3, 0, 2, 1)) * -1.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x1, (2, 3), (0, 3, 1, 2)) * -1.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x1, (2, 3), (3, 0, 2, 1)) * -1.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x1, (2, 3), (0, 3, 1, 2)) * -1.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x1, (2, 3), (3, 0, 2, 1)) * -1.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x1, (2, 3), (0, 3, 1, 2)) * -1.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x1, (2, 3), (3, 0, 1, 2)) - rdm2_f_oooo += einsum(delta.oo, (0, 1), x1, (2, 3), (0, 3, 2, 1)) - rdm2_f_oooo += einsum(delta.oo, (0, 1), x1, (2, 3), (3, 0, 2, 1)) * -1.0 - x2 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x2 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 7, 5, 1, 0, 2), (3, 4, 6, 7)) - x3 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x3 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - x3 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - x4 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x4 += einsum(l3, (0, 1, 2, 3, 4, 5), x3, (5, 6, 7, 1, 0, 2), (3, 4, 6, 7)) * 0.16666666666667 - x5 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x5 += einsum(x2, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.16666666666667 - x5 += einsum(x4, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x4 - rdm2_f_oooo += einsum(x5, (0, 1, 2, 3), (3, 2, 0, 1)) - rdm2_f_oooo += einsum(x5, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 - rdm2_f_oooo += einsum(x5, (0, 1, 2, 3), (3, 2, 0, 1)) - rdm2_f_oooo += einsum(x5, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 - del x5 - x6 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x6 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) - x6 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x7 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x7 += einsum(x6, (0, 1, 2, 3), l3, (4, 2, 3, 5, 6, 0), (5, 6, 1, 4)) - x8 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x8 += einsum(t1, (0, 1), x7, (2, 3, 4, 1), (0, 2, 3, 4)) * -0.5 - rdm2_f_oooo += einsum(x8, (0, 1, 2, 3), (0, 3, 1, 2)) * -1.0 - rdm2_f_oooo += einsum(x8, (0, 1, 2, 3), (3, 0, 1, 2)) - rdm2_f_oooo += einsum(x8, (0, 1, 2, 3), (0, 3, 2, 1)) - rdm2_f_oooo += einsum(x8, (0, 1, 2, 3), (3, 0, 2, 1)) * -1.0 - rdm2_f_oooo += einsum(x8, (0, 1, 2, 3), (0, 3, 1, 2)) * -1.0 - rdm2_f_oooo += einsum(x8, (0, 1, 2, 3), (3, 0, 1, 2)) - rdm2_f_oooo += einsum(x8, (0, 1, 2, 3), (0, 3, 2, 1)) - rdm2_f_oooo += einsum(x8, (0, 1, 2, 3), (3, 0, 2, 1)) * -1.0 - del x8 - x9 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x9 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.3333333333333333 - x9 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - x10 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x10 += einsum(x9, (0, 1, 2, 3), l3, (4, 2, 3, 5, 0, 6), (6, 5, 1, 4)) - x11 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x11 += einsum(t1, (0, 1), x10, (2, 3, 4, 1), (0, 3, 2, 4)) * 1.5 - rdm2_f_oooo += einsum(x11, (0, 1, 2, 3), (0, 3, 1, 2)) - rdm2_f_oooo += einsum(x11, (0, 1, 2, 3), (3, 0, 1, 2)) * -1.0 - rdm2_f_oooo += einsum(x11, (0, 1, 2, 3), (0, 3, 1, 2)) - rdm2_f_oooo += einsum(x11, (0, 1, 2, 3), (3, 0, 1, 2)) * -1.0 - del x11 - x12 = np.zeros((nocc, nocc), dtype=types[float]) - x12 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 5, 4, 1, 0, 2), (3, 6)) - x13 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x13 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - x13 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 6.999999999999999 - x13 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) - x13 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 - x14 = np.zeros((nocc, nocc), dtype=types[float]) - x14 += einsum(l3, (0, 1, 2, 3, 4, 5), x13, (3, 6, 4, 1, 2, 0), (5, 6)) * 0.041666666666665 - x15 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x15 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - x15 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 - x15 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * 3.0 - x16 = np.zeros((nocc, nocc), dtype=types[float]) - x16 += einsum(l3, (0, 1, 2, 3, 4, 5), x15, (5, 6, 3, 0, 2, 1), (4, 6)) * 0.041666666666665 - x17 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x17 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) - x17 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 3, 5, 0, 2, 1)) - x18 = np.zeros((nocc, nocc), dtype=types[float]) - x18 += einsum(t3, (0, 1, 2, 3, 4, 5), x17, (1, 2, 6, 5, 4, 3), (0, 6)) * 0.041666666666665 - x19 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x19 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) - x19 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x20 = np.zeros((nocc, nocc), dtype=types[float]) - x20 += einsum(l2, (0, 1, 2, 3), x19, (3, 4, 0, 1), (2, 4)) - x21 = np.zeros((nocc, nocc), dtype=types[float]) - x21 += einsum(x12, (0, 1), (0, 1)) * 0.041666666666665 - x21 += einsum(x14, (0, 1), (0, 1)) - del x14 - x21 += einsum(x16, (0, 1), (0, 1)) - del x16 - x21 += einsum(x18, (0, 1), (1, 0)) * -1.0 - del x18 - x21 += einsum(x20, (0, 1), (0, 1)) - del x20 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x21, (2, 3), (0, 3, 1, 2)) * -2.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x21, (2, 3), (0, 3, 2, 1)) * 2.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x21, (2, 3), (3, 0, 1, 2)) * 2.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x21, (2, 3), (3, 0, 2, 1)) * -2.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x21, (2, 3), (0, 3, 1, 2)) * -2.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x21, (2, 3), (3, 0, 2, 1)) * -2.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x21, (2, 3), (0, 3, 1, 2)) * -2.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x21, (2, 3), (3, 0, 2, 1)) * -2.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x21, (2, 3), (0, 3, 1, 2)) * -2.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x21, (2, 3), (0, 3, 2, 1)) * 2.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x21, (2, 3), (3, 0, 1, 2)) * 2.0 - rdm2_f_oooo += einsum(delta.oo, (0, 1), x21, (2, 3), (3, 0, 2, 1)) * -2.0 - x22 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x22 += einsum(l2, (0, 1, 2, 3), t2, (4, 5, 0, 1), (2, 3, 4, 5)) - rdm2_f_oooo += einsum(x22, (0, 1, 2, 3), (3, 2, 1, 0)) - rdm2_f_oooo += einsum(x22, (0, 1, 2, 3), (3, 2, 1, 0)) - x23 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x23 += einsum(t1, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2)) - rdm2_f_ovoo += einsum(x23, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 - rdm2_f_ovoo += einsum(x23, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 - rdm2_f_vooo += einsum(x23, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - rdm2_f_vooo += einsum(x23, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - x24 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x24 += einsum(t1, (0, 1), x23, (2, 3, 4, 1), (2, 3, 0, 4)) - rdm2_f_oooo += einsum(x24, (0, 1, 2, 3), (3, 2, 1, 0)) - rdm2_f_oooo += einsum(x24, (0, 1, 2, 3), (3, 2, 1, 0)) - x25 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x25 += einsum(x22, (0, 1, 2, 3), (1, 0, 3, 2)) - x25 += einsum(x24, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oooo += einsum(x25, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - rdm2_f_oooo += einsum(x25, (0, 1, 2, 3), (2, 3, 0, 1)) - rdm2_f_oooo += einsum(x25, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - rdm2_f_oooo += einsum(x25, (0, 1, 2, 3), (2, 3, 0, 1)) - x26 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x26 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -0.3333333333333333 - x26 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 0.3333333333333333 - x26 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) - x27 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x27 += einsum(l3, (0, 1, 2, 3, 4, 5), x26, (4, 6, 7, 1, 0, 2), (5, 3, 6, 7)) * 0.50000000000001 - del x26 - rdm2_f_oooo += einsum(x27, (0, 1, 2, 3), (3, 2, 1, 0)) - rdm2_f_oooo += einsum(x27, (0, 1, 2, 3), (3, 2, 1, 0)) - del x27 - x28 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x28 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 7, 5, 0, 1, 2), (3, 4, 6, 7)) - x29 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x29 += einsum(t2, (0, 1, 2, 3), l3, (4, 2, 3, 5, 6, 1), (5, 6, 0, 4)) - rdm2_f_ovoo += einsum(x29, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 - rdm2_f_ovoo += einsum(x29, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 - rdm2_f_vooo += einsum(x29, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - rdm2_f_vooo += einsum(x29, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - x30 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x30 += einsum(t1, (0, 1), x29, (2, 3, 4, 1), (2, 3, 0, 4)) - x31 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x31 += einsum(x28, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.50000000000001 - x31 += einsum(x30, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oooo += einsum(x31, (0, 1, 2, 3), (2, 3, 0, 1)) - rdm2_f_oooo += einsum(x31, (0, 1, 2, 3), (3, 2, 1, 0)) - rdm2_f_oooo += einsum(x31, (0, 1, 2, 3), (2, 3, 0, 1)) - rdm2_f_oooo += einsum(x31, (0, 1, 2, 3), (3, 2, 1, 0)) - x32 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x32 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x32 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - x33 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x33 += einsum(x32, (0, 1, 2, 3), l3, (2, 4, 3, 5, 6, 0), (5, 6, 1, 4)) - x34 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x34 += einsum(t1, (0, 1), x33, (2, 3, 4, 1), (0, 2, 3, 4)) * -0.5 - rdm2_f_oooo += einsum(x34, (0, 1, 2, 3), (3, 0, 1, 2)) - rdm2_f_oooo += einsum(x34, (0, 1, 2, 3), (0, 3, 2, 1)) - rdm2_f_oooo += einsum(x34, (0, 1, 2, 3), (3, 0, 1, 2)) - rdm2_f_oooo += einsum(x34, (0, 1, 2, 3), (0, 3, 2, 1)) - x35 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x35 += einsum(t1, (0, 1), l3, (2, 1, 3, 4, 5, 6), (4, 6, 5, 0, 2, 3)) - x36 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x36 += einsum(t1, (0, 1), x35, (2, 3, 4, 5, 6, 1), (2, 3, 4, 0, 5, 6)) - x37 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x37 += einsum(t2, (0, 1, 2, 3), x36, (0, 4, 1, 5, 6, 2), (4, 5, 6, 3)) - rdm2_f_ooov = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - rdm2_f_ooov += einsum(x37, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_ooov += einsum(x37, (0, 1, 2, 3), (1, 2, 0, 3)) - rdm2_f_ooov += einsum(x37, (0, 1, 2, 3), (1, 2, 0, 3)) - rdm2_f_ooov += einsum(x37, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_oovo = np.zeros((nocc, nocc, nvir, nocc), dtype=types[float]) - rdm2_f_oovo += einsum(x37, (0, 1, 2, 3), (2, 1, 3, 0)) - rdm2_f_oovo += einsum(x37, (0, 1, 2, 3), (2, 1, 3, 0)) - rdm2_f_oovo += einsum(x37, (0, 1, 2, 3), (2, 1, 3, 0)) - rdm2_f_oovo += einsum(x37, (0, 1, 2, 3), (2, 1, 3, 0)) - x38 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x38 += einsum(l1, (0, 1), t2, (2, 3, 4, 0), (1, 2, 3, 4)) - rdm2_f_ooov += einsum(x38, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_ooov += einsum(x38, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_oovo += einsum(x38, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - rdm2_f_oovo += einsum(x38, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - x39 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x39 += einsum(l2, (0, 1, 2, 3), t3, (4, 3, 5, 0, 6, 1), (2, 4, 5, 6)) - x40 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x40 += einsum(t3, (0, 1, 2, 3, 4, 5), x35, (0, 2, 6, 7, 3, 5), (6, 7, 1, 4)) - x41 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x41 += einsum(t2, (0, 1, 2, 3), x29, (1, 4, 5, 2), (4, 0, 5, 3)) - x42 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x42 += einsum(t1, (0, 1), l3, (2, 3, 1, 4, 5, 6), (4, 6, 5, 0, 2, 3)) - x43 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x43 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -1.0 - x43 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - x43 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - x43 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * 5.0 - x43 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) - x43 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 - x44 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x44 += einsum(x42, (0, 1, 2, 3, 4, 5), x43, (2, 6, 0, 4, 7, 5), (1, 3, 6, 7)) * 0.25 - del x43 - x45 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x45 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - x45 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - x45 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) - x46 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x46 += einsum(x42, (0, 1, 2, 3, 4, 5), x45, (0, 6, 1, 5, 7, 4), (2, 3, 6, 7)) * 0.25 - x47 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x47 += einsum(t2, (0, 1, 2, 3), l3, (4, 5, 3, 1, 0, 6), (6, 4, 5, 2)) - x48 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x48 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) - x48 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 0, 2)) - x48 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 0, 2)) * 0.5 - x48 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 0, 2)) * -0.5 - x49 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x49 += einsum(t2, (0, 1, 2, 3), x48, (1, 4, 0, 5, 6, 2), (4, 3, 5, 6)) - del x48 - x50 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x50 += einsum(x47, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x50 += einsum(x49, (0, 1, 2, 3), (0, 3, 2, 1)) - del x49 - x51 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x51 += einsum(t2, (0, 1, 2, 3), x50, (4, 3, 2, 5), (0, 1, 4, 5)) * 0.5 - del x50 - x52 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x52 += einsum(t2, (0, 1, 2, 3), l3, (4, 3, 2, 5, 1, 6), (5, 6, 0, 4)) - x53 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x53 += einsum(t2, (0, 1, 2, 3), l3, (4, 3, 2, 5, 6, 1), (5, 6, 0, 4)) - x54 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x54 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * -1.0 - x54 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) - x55 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x55 += einsum(t2, (0, 1, 2, 3), x54, (1, 4, 5, 3, 6, 2), (0, 4, 5, 6)) - del x54 - x56 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x56 += einsum(x52, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0 - del x52 - x56 += einsum(x53, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x56 += einsum(x53, (0, 1, 2, 3), (1, 0, 2, 3)) - x56 += einsum(x55, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - del x55 - x57 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x57 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) - x57 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x57 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - x58 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x58 += einsum(x56, (0, 1, 2, 3), x57, (1, 4, 5, 3), (0, 2, 4, 5)) * 0.5 - del x57 - x59 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x59 += einsum(x6, (0, 1, 2, 3), l3, (2, 4, 3, 5, 6, 0), (5, 6, 1, 4)) - x60 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x60 += einsum(x29, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0 - x60 += einsum(x59, (0, 1, 2, 3), (1, 0, 2, 3)) - x61 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x61 += einsum(t2, (0, 1, 2, 3), x60, (1, 4, 5, 3), (0, 4, 5, 2)) * 0.5 - del x60 - x62 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x62 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x62 += einsum(x23, (0, 1, 2, 3), (1, 0, 2, 3)) - x63 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x63 += einsum(t2, (0, 1, 2, 3), x62, (1, 4, 5, 2), (0, 4, 5, 3)) - del x62 - x64 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x64 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) - x64 += einsum(x23, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.5 - x65 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x65 += einsum(t2, (0, 1, 2, 3), x64, (1, 4, 5, 3), (0, 4, 5, 2)) * 2.0 - del x64 - x66 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x66 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) - x66 += einsum(x29, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.5 - x67 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x67 += einsum(t1, (0, 1), x66, (2, 3, 4, 1), (0, 2, 3, 4)) - del x66 - x68 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x68 += einsum(x22, (0, 1, 2, 3), (1, 0, 3, 2)) - x68 += einsum(x67, (0, 1, 2, 3), (2, 1, 3, 0)) - del x67 - x69 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x69 += einsum(t1, (0, 1), x68, (0, 2, 3, 4), (2, 3, 4, 1)) - del x68 - x70 = np.zeros((nocc, nocc), dtype=types[float]) - x70 += einsum(l3, (0, 1, 2, 3, 4, 5), x13, (3, 6, 4, 1, 2, 0), (5, 6)) * 0.08333333333333 - del x13 - x71 = np.zeros((nocc, nocc), dtype=types[float]) - x71 += einsum(l3, (0, 1, 2, 3, 4, 5), x15, (5, 6, 3, 0, 2, 1), (4, 6)) * 0.08333333333333 - del x15 - x72 = np.zeros((nocc, nocc), dtype=types[float]) - x72 += einsum(t3, (0, 1, 2, 3, 4, 5), x17, (1, 2, 6, 5, 4, 3), (0, 6)) * 0.08333333333333 - del x17 - x73 = np.zeros((nocc, nocc), dtype=types[float]) - x73 += einsum(l2, (0, 1, 2, 3), x19, (3, 4, 0, 1), (2, 4)) * 2.0 - x74 = np.zeros((nocc, nocc), dtype=types[float]) - x74 += einsum(x1, (0, 1), (0, 1)) - x74 += einsum(x12, (0, 1), (0, 1)) * 0.08333333333333 - x74 += einsum(x70, (0, 1), (0, 1)) - x74 += einsum(x71, (0, 1), (0, 1)) - x74 += einsum(x72, (0, 1), (1, 0)) * -1.0 - x74 += einsum(x73, (0, 1), (0, 1)) - rdm2_f_ooov += einsum(t1, (0, 1), x74, (2, 3), (3, 0, 2, 1)) * -1.0 - rdm2_f_ooov += einsum(t1, (0, 1), x74, (2, 3), (3, 0, 2, 1)) * -1.0 - rdm2_f_oovo += einsum(t1, (0, 1), x74, (2, 3), (0, 3, 1, 2)) * -1.0 - rdm2_f_oovo += einsum(t1, (0, 1), x74, (2, 3), (0, 3, 1, 2)) * -1.0 - x75 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x75 += einsum(delta.oo, (0, 1), t1, (2, 3), (0, 1, 2, 3)) - x75 += einsum(x38, (0, 1, 2, 3), (1, 0, 2, 3)) - x75 += einsum(x39, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.5 - x75 += einsum(x40, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.25 - x75 += einsum(x41, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.5 - x75 += einsum(x44, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x75 += einsum(x46, (0, 1, 2, 3), (1, 0, 2, 3)) - x75 += einsum(x51, (0, 1, 2, 3), (1, 2, 0, 3)) - x75 += einsum(x58, (0, 1, 2, 3), (2, 0, 1, 3)) - del x58 - x75 += einsum(x61, (0, 1, 2, 3), (0, 1, 2, 3)) - x75 += einsum(x63, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - del x63 - x75 += einsum(x65, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - del x65 - x75 += einsum(x69, (0, 1, 2, 3), (2, 0, 1, 3)) - del x69 - x75 += einsum(t1, (0, 1), x74, (2, 3), (0, 2, 3, 1)) - rdm2_f_ooov += einsum(x75, (0, 1, 2, 3), (0, 2, 1, 3)) - rdm2_f_ooov += einsum(x75, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_ooov += einsum(x75, (0, 1, 2, 3), (0, 2, 1, 3)) - rdm2_f_ooov += einsum(x75, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_oovo += einsum(x75, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_oovo += einsum(x75, (0, 1, 2, 3), (2, 0, 3, 1)) - rdm2_f_oovo += einsum(x75, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_oovo += einsum(x75, (0, 1, 2, 3), (2, 0, 3, 1)) - del x75 - x76 = np.zeros((nocc, nvir), dtype=types[float]) - x76 += einsum(t3, (0, 1, 2, 3, 4, 5), x35, (2, 0, 1, 6, 5, 3), (6, 4)) - x77 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x77 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - x77 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 - x77 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 6.999999999999999 - x77 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 - x77 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) - x77 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -1.0 - x78 = np.zeros((nocc, nvir), dtype=types[float]) - x78 += einsum(x42, (0, 1, 2, 3, 4, 5), x77, (0, 1, 2, 5, 4, 6), (3, 6)) * 0.08333333333333 - x79 = np.zeros((nocc, nvir), dtype=types[float]) - x79 += einsum(x42, (0, 1, 2, 3, 4, 5), x45, (2, 0, 1, 6, 5, 4), (3, 6)) * 0.08333333333333 - x80 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x80 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) - x80 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - x80 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) - x80 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * 6.0 - x81 = np.zeros((nocc, nvir), dtype=types[float]) - x81 += einsum(l2, (0, 1, 2, 3), x80, (2, 3, 4, 1, 0, 5), (4, 5)) * 0.25 - x82 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x82 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 0.5 - x82 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - x83 = np.zeros((nocc, nvir), dtype=types[float]) - x83 += einsum(l2, (0, 1, 2, 3), x82, (3, 4, 2, 0, 5, 1), (4, 5)) * 0.5 - x84 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x84 += einsum(x9, (0, 1, 2, 3), l3, (4, 2, 3, 5, 0, 6), (6, 5, 1, 4)) * 0.375 - x85 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x85 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) - x85 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 1, 2)) * -1.0 - x86 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x86 += einsum(x6, (0, 1, 2, 3), x85, (0, 4, 5, 3, 2, 6), (1, 4, 5, 6)) * 0.25 - del x85 - x87 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x87 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x87 += einsum(x23, (0, 1, 2, 3), (1, 0, 2, 3)) - x87 += einsum(x84, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x87 += einsum(x84, (0, 1, 2, 3), (0, 1, 2, 3)) - del x84 - x87 += einsum(x86, (0, 1, 2, 3), (1, 2, 0, 3)) - x88 = np.zeros((nocc, nvir), dtype=types[float]) - x88 += einsum(t2, (0, 1, 2, 3), x87, (0, 1, 4, 3), (4, 2)) * 2.0 - x89 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x89 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) - x89 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.3333333333333333 - x90 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x90 += einsum(x89, (0, 1, 2, 3), l3, (4, 2, 3, 5, 6, 0), (5, 6, 1, 4)) * 3.0 - x91 = np.zeros((nocc, nvir), dtype=types[float]) - x91 += einsum(t2, (0, 1, 2, 3), x90, (0, 1, 4, 2), (4, 3)) * 0.5 - x92 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x92 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - x92 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x93 = np.zeros((nocc, nvir), dtype=types[float]) - x93 += einsum(l1, (0, 1), x92, (1, 2, 3, 0), (2, 3)) - x94 = np.zeros((nocc, nvir), dtype=types[float]) - x94 += einsum(t1, (0, 1), x74, (0, 2), (2, 1)) - x95 = np.zeros((nocc, nvir), dtype=types[float]) - x95 += einsum(x76, (0, 1), (0, 1)) * 0.24999999999999 - x95 += einsum(x78, (0, 1), (0, 1)) - x95 += einsum(x79, (0, 1), (0, 1)) * -1.0 - x95 += einsum(x81, (0, 1), (0, 1)) * -1.0 - x95 += einsum(x83, (0, 1), (0, 1)) - x95 += einsum(x88, (0, 1), (0, 1)) - x95 += einsum(x91, (0, 1), (0, 1)) - x95 += einsum(x93, (0, 1), (0, 1)) * -1.0 - x95 += einsum(x94, (0, 1), (0, 1)) - rdm2_f_ooov += einsum(delta.oo, (0, 1), x95, (2, 3), (0, 2, 1, 3)) * -1.0 - rdm2_f_ooov += einsum(delta.oo, (0, 1), x95, (2, 3), (2, 0, 1, 3)) - rdm2_f_ooov += einsum(delta.oo, (0, 1), x95, (2, 3), (0, 2, 1, 3)) * -1.0 - rdm2_f_ooov += einsum(delta.oo, (0, 1), x95, (2, 3), (2, 0, 1, 3)) - rdm2_f_oovo += einsum(delta.oo, (0, 1), x95, (2, 3), (0, 2, 3, 1)) - rdm2_f_oovo += einsum(delta.oo, (0, 1), x95, (2, 3), (2, 0, 3, 1)) * -1.0 - rdm2_f_oovo += einsum(delta.oo, (0, 1), x95, (2, 3), (0, 2, 3, 1)) - rdm2_f_oovo += einsum(delta.oo, (0, 1), x95, (2, 3), (2, 0, 3, 1)) * -1.0 - del x95 - x96 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x96 += einsum(l2, (0, 1, 2, 3), (3, 2, 0, 1)) * -0.5 - x96 += einsum(l2, (0, 1, 2, 3), (2, 3, 0, 1)) - x97 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x97 += einsum(x96, (0, 1, 2, 3), t3, (4, 0, 5, 3, 2, 6), (4, 5, 1, 6)) * 2.0 - rdm2_f_ooov += einsum(x97, (0, 1, 2, 3), (1, 0, 2, 3)) - rdm2_f_ooov += einsum(x97, (0, 1, 2, 3), (1, 0, 2, 3)) - rdm2_f_oovo += einsum(x97, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - rdm2_f_oovo += einsum(x97, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x97 - x98 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x98 += einsum(t1, (0, 1), x42, (2, 3, 4, 5, 1, 6), (3, 2, 4, 5, 0, 6)) - x99 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x99 += einsum(x98, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 2.0 - x99 += einsum(x36, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 2.0 - x99 += einsum(x36, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 - x99 += einsum(x36, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) - x100 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x100 += einsum(t2, (0, 1, 2, 3), x99, (1, 4, 0, 5, 6, 2), (4, 5, 6, 3)) * 0.5 - del x99 - rdm2_f_ooov += einsum(x100, (0, 1, 2, 3), (2, 1, 0, 3)) - rdm2_f_ooov += einsum(x100, (0, 1, 2, 3), (2, 1, 0, 3)) - rdm2_f_oovo += einsum(x100, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - rdm2_f_oovo += einsum(x100, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - del x100 - x101 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x101 += einsum(l3, (0, 1, 2, 3, 4, 5), x3, (5, 6, 7, 1, 0, 2), (3, 4, 6, 7)) - x102 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x102 += einsum(x2, (0, 1, 2, 3), (0, 1, 2, 3)) - del x2 - x102 += einsum(x101, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x101 - x103 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x103 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -0.3333333333333333 - x103 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) - x104 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x104 += einsum(l3, (0, 1, 2, 3, 4, 5), x103, (4, 6, 7, 0, 1, 2), (3, 5, 6, 7)) * 3.0 - del x103 - x105 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x105 += einsum(l3, (0, 1, 2, 3, 4, 5), x3, (4, 6, 7, 1, 0, 2), (5, 3, 6, 7)) - x106 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x106 += einsum(x102, (0, 1, 2, 3), (0, 1, 2, 3)) - x106 += einsum(x102, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x106 += einsum(x104, (0, 1, 2, 3), (1, 0, 2, 3)) - x106 += einsum(x105, (0, 1, 2, 3), (1, 0, 2, 3)) - del x105 - x107 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x107 += einsum(t1, (0, 1), x106, (2, 0, 3, 4), (2, 3, 4, 1)) * 0.16666666666667 - del x106 - rdm2_f_ooov += einsum(x107, (0, 1, 2, 3), (2, 1, 0, 3)) - rdm2_f_ooov += einsum(x107, (0, 1, 2, 3), (2, 1, 0, 3)) - rdm2_f_oovo += einsum(x107, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - rdm2_f_oovo += einsum(x107, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - del x107 - x108 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x108 += einsum(l2, (0, 1, 2, 3), t3, (4, 5, 3, 6, 0, 1), (2, 4, 5, 6)) - rdm2_f_ooov += einsum(x108, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_ooov += einsum(x108, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_oovo += einsum(x108, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - rdm2_f_oovo += einsum(x108, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - x109 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x109 += einsum(t3, (0, 1, 2, 3, 4, 5), x42, (0, 2, 6, 7, 3, 4), (6, 7, 1, 5)) - rdm2_f_ooov += einsum(x109, (0, 1, 2, 3), (2, 1, 0, 3)) * 0.5 - rdm2_f_ooov += einsum(x109, (0, 1, 2, 3), (2, 1, 0, 3)) * 0.5 - rdm2_f_oovo += einsum(x109, (0, 1, 2, 3), (1, 2, 3, 0)) * 0.5 - rdm2_f_oovo += einsum(x109, (0, 1, 2, 3), (1, 2, 3, 0)) * 0.5 - x110 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x110 += einsum(t3, (0, 1, 2, 3, 4, 5), x35, (2, 6, 1, 7, 5, 3), (6, 7, 0, 4)) - rdm2_f_ooov += einsum(x110, (0, 1, 2, 3), (2, 1, 0, 3)) * 0.5 - rdm2_f_ooov += einsum(x110, (0, 1, 2, 3), (2, 1, 0, 3)) * 0.5 - rdm2_f_oovo += einsum(x110, (0, 1, 2, 3), (1, 2, 3, 0)) * 0.5 - rdm2_f_oovo += einsum(x110, (0, 1, 2, 3), (1, 2, 3, 0)) * 0.5 - x111 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x111 += einsum(t3, (0, 1, 2, 3, 4, 5), x42, (0, 2, 6, 7, 5, 3), (6, 7, 1, 4)) - rdm2_f_ooov += einsum(x111, (0, 1, 2, 3), (1, 2, 0, 3)) * -0.25 - rdm2_f_ooov += einsum(x111, (0, 1, 2, 3), (1, 2, 0, 3)) * -0.25 - rdm2_f_oovo += einsum(x111, (0, 1, 2, 3), (2, 1, 3, 0)) * -0.25 - rdm2_f_oovo += einsum(x111, (0, 1, 2, 3), (2, 1, 3, 0)) * -0.25 - x112 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x112 += einsum(t3, (0, 1, 2, 3, 4, 5), x35, (2, 1, 6, 7, 5, 4), (6, 7, 0, 3)) - rdm2_f_ooov += einsum(x112, (0, 1, 2, 3), (1, 2, 0, 3)) * -0.25 - rdm2_f_ooov += einsum(x112, (0, 1, 2, 3), (1, 2, 0, 3)) * -0.25 - del x112 - x113 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x113 += einsum(t2, (0, 1, 2, 3), x47, (4, 2, 3, 5), (4, 0, 1, 5)) - rdm2_f_ooov += einsum(x113, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_ooov += einsum(x113, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_oovo += einsum(x113, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - rdm2_f_oovo += einsum(x113, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - x114 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x114 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) - x114 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - x114 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 4.0 - x115 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x115 += einsum(x114, (0, 1, 2, 3, 4, 5), x42, (1, 6, 0, 7, 3, 4), (6, 7, 2, 5)) * 0.25 - del x114 - rdm2_f_ooov += einsum(x115, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_ooov += einsum(x115, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - del x115 - x116 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x116 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) - x116 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - x117 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x117 += einsum(x116, (0, 1, 2, 3, 4, 5), x35, (2, 0, 6, 7, 3, 5), (6, 7, 1, 4)) * 0.25 - del x116 - rdm2_f_ooov += einsum(x117, (0, 1, 2, 3), (1, 2, 0, 3)) - rdm2_f_ooov += einsum(x117, (0, 1, 2, 3), (1, 2, 0, 3)) - del x117 - x118 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x118 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) - x118 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - x119 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x119 += einsum(l2, (0, 1, 2, 3), x118, (3, 4, 5, 0, 1, 6), (2, 4, 5, 6)) * 0.5 - del x118 - rdm2_f_ooov += einsum(x119, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_ooov += einsum(x119, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - del x119 - x120 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x120 += einsum(x36, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - x120 += einsum(x36, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) - x121 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x121 += einsum(t2, (0, 1, 2, 3), x120, (1, 0, 4, 5, 6, 2), (4, 5, 6, 3)) * 0.5 - rdm2_f_ooov += einsum(x121, (0, 1, 2, 3), (2, 1, 0, 3)) - rdm2_f_ooov += einsum(x121, (0, 1, 2, 3), (2, 1, 0, 3)) - del x121 - x122 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x122 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x122 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0 - x123 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x123 += einsum(x122, (0, 1, 2, 3), l3, (4, 2, 3, 5, 0, 6), (6, 5, 1, 4)) * 0.5 - rdm2_f_vooo += einsum(x123, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 - rdm2_f_vooo += einsum(x123, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 - x124 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x124 += einsum(x32, (0, 1, 2, 3), l3, (2, 4, 3, 5, 6, 0), (5, 6, 1, 4)) * 0.5 - x125 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x125 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x125 += einsum(x23, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 - x125 += einsum(x53, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - x125 += einsum(x53, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.5 - x125 += einsum(x29, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x125 += einsum(x29, (0, 1, 2, 3), (1, 0, 2, 3)) * 1.5 - x125 += einsum(x123, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x125 += einsum(x124, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x126 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x126 += einsum(t2, (0, 1, 2, 3), x125, (4, 1, 5, 3), (0, 4, 5, 2)) - del x125 - rdm2_f_ooov += einsum(x126, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_ooov += einsum(x126, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_oovo += einsum(x126, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_oovo += einsum(x126, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - del x126 - x127 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x127 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 3, 4, 0, 2, 1)) * -1.0 - x127 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) - x128 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x128 += einsum(t2, (0, 1, 2, 3), x127, (0, 1, 4, 5, 2, 6), (4, 3, 5, 6)) - x129 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x129 += einsum(t2, (0, 1, 2, 3), x128, (4, 5, 2, 3), (0, 1, 4, 5)) * -0.5 - rdm2_f_ooov += einsum(x129, (0, 1, 2, 3), (1, 0, 2, 3)) - rdm2_f_ooov += einsum(x129, (0, 1, 2, 3), (1, 0, 2, 3)) - del x129 - x130 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x130 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x130 += einsum(x29, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x130 += einsum(x59, (0, 1, 2, 3), (1, 0, 2, 3)) - x131 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x131 += einsum(t2, (0, 1, 2, 3), x130, (1, 4, 5, 2), (0, 4, 5, 3)) * 0.5 - rdm2_f_ooov += einsum(x131, (0, 1, 2, 3), (2, 0, 1, 3)) - rdm2_f_ooov += einsum(x131, (0, 1, 2, 3), (2, 0, 1, 3)) - del x131 - x132 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x132 += einsum(t2, (0, 1, 2, 3), l3, (2, 4, 3, 1, 5, 6), (6, 5, 0, 4)) - x133 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x133 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) - x133 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 0, 2)) * -0.5 - x134 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x134 += einsum(t2, (0, 1, 2, 3), x133, (1, 4, 5, 6, 3, 2), (0, 4, 5, 6)) - x135 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x135 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x135 += einsum(x132, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.5 - x135 += einsum(x134, (0, 1, 2, 3), (1, 2, 0, 3)) - del x134 - x136 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x136 += einsum(t2, (0, 1, 2, 3), x135, (4, 1, 5, 2), (0, 4, 5, 3)) - del x135 - rdm2_f_ooov += einsum(x136, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - rdm2_f_ooov += einsum(x136, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - rdm2_f_oovo += einsum(x136, (0, 1, 2, 3), (2, 0, 3, 1)) * -1.0 - rdm2_f_oovo += einsum(x136, (0, 1, 2, 3), (2, 0, 3, 1)) * -1.0 - del x136 - x137 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x137 += einsum(x22, (0, 1, 2, 3), (1, 0, 3, 2)) - x137 += einsum(x24, (0, 1, 2, 3), (0, 1, 2, 3)) - x137 += einsum(x31, (0, 1, 2, 3), (0, 1, 2, 3)) - x137 += einsum(x31, (0, 1, 2, 3), (1, 0, 3, 2)) - del x31 - x137 += einsum(x34, (0, 1, 2, 3), (1, 2, 3, 0)) - x137 += einsum(x34, (0, 1, 2, 3), (2, 1, 0, 3)) - del x34 - x138 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x138 += einsum(t1, (0, 1), x137, (0, 2, 3, 4), (2, 3, 4, 1)) - del x137 - rdm2_f_ooov += einsum(x138, (0, 1, 2, 3), (2, 1, 0, 3)) - rdm2_f_ooov += einsum(x138, (0, 1, 2, 3), (2, 1, 0, 3)) - rdm2_f_oovo += einsum(x138, (0, 1, 2, 3), (1, 2, 3, 0)) - rdm2_f_oovo += einsum(x138, (0, 1, 2, 3), (1, 2, 3, 0)) - del x138 - x139 = np.zeros((nocc, nvir), dtype=types[float]) - x139 += einsum(t1, (0, 1), (0, 1)) * -1.0 - x139 += einsum(x76, (0, 1), (0, 1)) * 0.24999999999999 - x139 += einsum(x78, (0, 1), (0, 1)) - del x78 - x139 += einsum(x79, (0, 1), (0, 1)) * -1.0 - del x79 - x139 += einsum(x81, (0, 1), (0, 1)) * -1.0 - del x81 - x139 += einsum(x83, (0, 1), (0, 1)) - del x83 - x139 += einsum(x88, (0, 1), (0, 1)) - del x88 - x139 += einsum(x91, (0, 1), (0, 1)) - del x91 - x139 += einsum(x93, (0, 1), (0, 1)) * -1.0 - del x93 - x139 += einsum(x94, (0, 1), (0, 1)) - del x94 - rdm2_f_ooov += einsum(delta.oo, (0, 1), x139, (2, 3), (0, 2, 1, 3)) * -1.0 - rdm2_f_ooov += einsum(delta.oo, (0, 1), x139, (2, 3), (0, 2, 1, 3)) * -1.0 - del x139 - x140 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x140 += einsum(t3, (0, 1, 2, 3, 4, 5), x35, (2, 1, 6, 7, 5, 3), (6, 7, 0, 4)) - rdm2_f_oovo += einsum(x140, (0, 1, 2, 3), (2, 1, 3, 0)) * 0.25 - rdm2_f_oovo += einsum(x140, (0, 1, 2, 3), (2, 1, 3, 0)) * 0.25 - x141 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x141 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -1.0 - x141 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - x141 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 4.0 - x142 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x142 += einsum(x141, (0, 1, 2, 3, 4, 5), x42, (1, 6, 0, 7, 4, 3), (6, 7, 2, 5)) * 0.25 - del x141 - rdm2_f_oovo += einsum(x142, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - rdm2_f_oovo += einsum(x142, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - del x142 - x143 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x143 += einsum(x35, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - x143 += einsum(x35, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 - x144 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x144 += einsum(t3, (0, 1, 2, 3, 4, 5), x143, (1, 2, 6, 7, 4, 5), (0, 6, 7, 3)) * 0.25 - rdm2_f_oovo += einsum(x144, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_oovo += einsum(x144, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - del x144 - x145 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x145 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -1.0 - x145 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - x146 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x146 += einsum(l2, (0, 1, 2, 3), x145, (2, 4, 5, 0, 1, 6), (3, 4, 5, 6)) * 0.5 - rdm2_f_oovo += einsum(x146, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - rdm2_f_oovo += einsum(x146, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - del x146 - x147 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x147 += einsum(x36, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - x147 += einsum(x36, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * -1.0 - x148 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x148 += einsum(t2, (0, 1, 2, 3), x147, (1, 0, 4, 5, 6, 2), (4, 5, 6, 3)) * 0.5 - del x147 - rdm2_f_oovo += einsum(x148, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - rdm2_f_oovo += einsum(x148, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - del x148 - x149 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x149 += einsum(t2, (0, 1, 2, 3), x128, (4, 5, 3, 2), (0, 1, 4, 5)) * -0.5 - rdm2_f_oovo += einsum(x149, (0, 1, 2, 3), (1, 0, 3, 2)) - rdm2_f_oovo += einsum(x149, (0, 1, 2, 3), (1, 0, 3, 2)) - x150 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x150 += einsum(x6, (0, 1, 2, 3), l3, (2, 4, 3, 5, 6, 0), (5, 6, 1, 4)) * 0.5 - rdm2_f_ovoo += einsum(x150, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 - rdm2_f_ovoo += einsum(x150, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 - rdm2_f_vooo += einsum(x150, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 - rdm2_f_vooo += einsum(x150, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 - x151 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x151 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) - x151 += einsum(x29, (0, 1, 2, 3), (0, 1, 2, 3)) - x151 += einsum(x150, (0, 1, 2, 3), (1, 0, 2, 3)) - del x150 - x152 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x152 += einsum(t2, (0, 1, 2, 3), x151, (1, 4, 5, 2), (0, 4, 5, 3)) - rdm2_f_oovo += einsum(x152, (0, 1, 2, 3), (0, 2, 3, 1)) - rdm2_f_oovo += einsum(x152, (0, 1, 2, 3), (0, 2, 3, 1)) - del x152 - x153 = np.zeros((nocc, nvir), dtype=types[float]) - x153 += einsum(x42, (0, 1, 2, 3, 4, 5), x77, (0, 1, 2, 5, 4, 6), (3, 6)) - x154 = np.zeros((nocc, nvir), dtype=types[float]) - x154 += einsum(x42, (0, 1, 2, 3, 4, 5), x45, (2, 0, 1, 6, 5, 4), (3, 6)) - x155 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x155 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) - x155 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - x155 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) - x155 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * 6.000000000000001 - x156 = np.zeros((nocc, nvir), dtype=types[float]) - x156 += einsum(l2, (0, 1, 2, 3), x155, (2, 3, 4, 1, 0, 5), (4, 5)) * 3.00000000000012 - del x155 - x157 = np.zeros((nocc, nvir), dtype=types[float]) - x157 += einsum(l2, (0, 1, 2, 3), x82, (3, 4, 2, 0, 5, 1), (4, 5)) * 6.00000000000024 - x158 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x158 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.33333333333333326 - x158 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - x159 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x159 += einsum(x158, (0, 1, 2, 3), l3, (4, 2, 3, 5, 0, 6), (6, 5, 1, 4)) * 0.37500000000000006 - del x158 - x160 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x160 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x160 += einsum(x23, (0, 1, 2, 3), (1, 0, 2, 3)) - x160 += einsum(x159, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x160 += einsum(x159, (0, 1, 2, 3), (0, 1, 2, 3)) - del x159 - x160 += einsum(x86, (0, 1, 2, 3), (1, 2, 0, 3)) - del x86 - x161 = np.zeros((nocc, nvir), dtype=types[float]) - x161 += einsum(t2, (0, 1, 2, 3), x160, (1, 0, 4, 2), (4, 3)) * 24.00000000000096 - del x160 - x162 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x162 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) - x162 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.33333333333333326 - x163 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x163 += einsum(x162, (0, 1, 2, 3), l3, (4, 2, 3, 5, 6, 0), (5, 6, 1, 4)) * 3.0000000000000004 - del x162 - x164 = np.zeros((nocc, nvir), dtype=types[float]) - x164 += einsum(t2, (0, 1, 2, 3), x163, (0, 1, 4, 2), (4, 3)) * 6.00000000000024 - del x163 - x165 = np.zeros((nocc, nvir), dtype=types[float]) - x165 += einsum(l1, (0, 1), x92, (1, 2, 3, 0), (2, 3)) * 12.00000000000048 - x166 = np.zeros((nocc, nvir), dtype=types[float]) - x166 += einsum(t1, (0, 1), x74, (0, 2), (2, 1)) * 12.00000000000048 - x167 = np.zeros((nocc, nvir), dtype=types[float]) - x167 += einsum(t1, (0, 1), (0, 1)) * -12.00000000000048 - x167 += einsum(x76, (0, 1), (0, 1)) * 3.0 - x167 += einsum(x153, (0, 1), (0, 1)) - del x153 - x167 += einsum(x154, (0, 1), (0, 1)) * -1.0 - del x154 - x167 += einsum(x156, (0, 1), (0, 1)) * -1.0 - del x156 - x167 += einsum(x157, (0, 1), (0, 1)) - del x157 - x167 += einsum(x161, (0, 1), (0, 1)) - del x161 - x167 += einsum(x164, (0, 1), (0, 1)) - del x164 - x167 += einsum(x165, (0, 1), (0, 1)) * -1.0 - del x165 - x167 += einsum(x166, (0, 1), (0, 1)) - del x166 - rdm2_f_oovo += einsum(delta.oo, (0, 1), x167, (2, 3), (2, 0, 3, 1)) * -0.08333333333333 - rdm2_f_oovo += einsum(delta.oo, (0, 1), x167, (2, 3), (2, 0, 3, 1)) * -0.08333333333333 - del x167 - x168 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x168 += einsum(x32, (0, 1, 2, 3), l3, (4, 2, 3, 5, 6, 0), (5, 6, 1, 4)) * 0.5 - x169 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x169 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) - x169 += einsum(x168, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - rdm2_f_ovoo += einsum(x169, (0, 1, 2, 3), (2, 3, 0, 1)) - rdm2_f_ovoo += einsum(x169, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 - rdm2_f_ovoo += einsum(x169, (0, 1, 2, 3), (2, 3, 0, 1)) - rdm2_f_ovoo += einsum(x169, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 - rdm2_f_vooo += einsum(x169, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - rdm2_f_vooo += einsum(x169, (0, 1, 2, 3), (3, 2, 1, 0)) - rdm2_f_vooo += einsum(x169, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - rdm2_f_vooo += einsum(x169, (0, 1, 2, 3), (3, 2, 1, 0)) - del x169 - x170 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x170 += einsum(x9, (0, 1, 2, 3), l3, (4, 2, 3, 5, 0, 6), (6, 5, 1, 4)) * 1.5 - rdm2_f_ovoo += einsum(x170, (0, 1, 2, 3), (2, 3, 1, 0)) - rdm2_f_ovoo += einsum(x170, (0, 1, 2, 3), (2, 3, 1, 0)) - del x170 - x171 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x171 += einsum(t3, (0, 1, 2, 3, 4, 5), x36, (1, 0, 2, 6, 7, 4), (6, 7, 3, 5)) - rdm2_f_oovv += einsum(x171, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.16666666666667 - rdm2_f_oovv += einsum(x171, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.16666666666667 - del x171 - x172 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x172 += einsum(t3, (0, 1, 2, 3, 4, 5), x36, (0, 1, 2, 6, 7, 4), (6, 7, 3, 5)) - rdm2_f_oovv += einsum(x172, (0, 1, 2, 3), (1, 0, 3, 2)) * -0.16666666666667 - rdm2_f_oovv += einsum(x172, (0, 1, 2, 3), (1, 0, 3, 2)) * -0.16666666666667 - del x172 - x173 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x173 += einsum(x1, (0, 1), t2, (2, 0, 3, 4), (1, 2, 3, 4)) - x174 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x174 += einsum(t2, (0, 1, 2, 3), l3, (4, 3, 2, 5, 6, 7), (5, 7, 6, 0, 1, 4)) - x175 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x175 += einsum(t3, (0, 1, 2, 3, 4, 5), x174, (0, 1, 2, 6, 7, 3), (6, 7, 5, 4)) - x176 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x176 += einsum(t2, (0, 1, 2, 3), x35, (4, 1, 0, 5, 6, 3), (4, 5, 6, 2)) - rdm2_f_ovvo += einsum(x176, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - rdm2_f_ovvo += einsum(x176, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - rdm2_f_voov += einsum(x176, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_voov += einsum(x176, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - x177 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x177 += einsum(t2, (0, 1, 2, 3), x176, (1, 4, 3, 5), (4, 0, 2, 5)) - x178 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x178 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - x178 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 - x179 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x179 += einsum(x174, (0, 1, 2, 3, 4, 5), x178, (1, 2, 0, 6, 5, 7), (3, 4, 6, 7)) * 0.08333333333333 - x180 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x180 += einsum(x122, (0, 1, 2, 3), l3, (4, 2, 3, 5, 0, 6), (5, 6, 1, 4)) * 0.5 - del x122 - x181 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x181 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x181 += einsum(x23, (0, 1, 2, 3), (1, 0, 2, 3)) - x181 += einsum(x168, (0, 1, 2, 3), (0, 1, 2, 3)) - x181 += einsum(x180, (0, 1, 2, 3), (1, 0, 2, 3)) - del x180 - x182 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x182 += einsum(x181, (0, 1, 2, 3), t3, (4, 0, 1, 5, 6, 3), (4, 2, 5, 6)) * 0.5 - del x181 - x183 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x183 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (5, 6, 3, 1, 7, 2), (4, 6, 0, 7)) - x184 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x184 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 3, 5, 7, 2, 1), (4, 6, 0, 7)) - rdm2_f_vovo += einsum(x184, (0, 1, 2, 3), (2, 1, 3, 0)) * -0.25 - rdm2_f_vovo += einsum(x184, (0, 1, 2, 3), (2, 1, 3, 0)) * -0.25 - x185 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x185 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * 0.2 - x185 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - x185 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -0.2 - x185 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -0.2 - x185 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 0.2 - x185 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -0.2 - x185 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * -0.2 - x185 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) - x186 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x186 += einsum(l3, (0, 1, 2, 3, 4, 5), x185, (5, 6, 4, 2, 7, 1), (3, 6, 0, 7)) * 1.25 - del x185 - x187 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x187 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) - x187 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 0, 2)) - x188 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x188 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - x188 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) - x189 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x189 += einsum(x187, (0, 1, 2, 3, 4, 5), x188, (1, 6, 0, 5, 4, 7), (2, 6, 3, 7)) * 0.25 - del x187 - x190 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x190 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - x190 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) - x191 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x191 += einsum(l3, (0, 1, 2, 3, 4, 5), x190, (3, 5, 6, 0, 2, 7), (4, 6, 1, 7)) * 0.25 - del x190 - x192 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x192 += einsum(l2, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - x192 += einsum(l2, (0, 1, 2, 3), (2, 3, 0, 1)) * 2.0 - x193 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x193 += einsum(t2, (0, 1, 2, 3), x192, (1, 4, 2, 5), (0, 4, 3, 5)) - x194 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x194 += einsum(x183, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.25 - x194 += einsum(x184, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.25 - del x184 - x194 += einsum(x186, (0, 1, 2, 3), (0, 1, 2, 3)) - del x186 - x194 += einsum(x189, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x189 - x194 += einsum(x191, (0, 1, 2, 3), (0, 1, 2, 3)) - del x191 - x194 += einsum(x193, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x193 - x195 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x195 += einsum(t2, (0, 1, 2, 3), x194, (1, 4, 3, 5), (0, 4, 2, 5)) - del x194 - x196 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x196 += einsum(x7, (0, 1, 2, 3), t3, (4, 1, 0, 5, 6, 3), (4, 2, 5, 6)) * -0.25 - x197 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x197 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (3, 6, 5, 0, 7, 2), (4, 6, 1, 7)) - rdm2_f_ovov += einsum(x197, (0, 1, 2, 3), (1, 2, 0, 3)) * -0.25 - rdm2_f_ovov += einsum(x197, (0, 1, 2, 3), (1, 2, 0, 3)) * -0.25 - rdm2_f_ovvo += einsum(x197, (0, 1, 2, 3), (1, 2, 3, 0)) * 0.25 - rdm2_f_ovvo += einsum(x197, (0, 1, 2, 3), (1, 2, 3, 0)) * 0.25 - rdm2_f_voov += einsum(x197, (0, 1, 2, 3), (2, 1, 0, 3)) * 0.25 - rdm2_f_voov += einsum(x197, (0, 1, 2, 3), (2, 1, 0, 3)) * 0.25 - rdm2_f_vovo += einsum(x197, (0, 1, 2, 3), (2, 1, 3, 0)) * -0.25 - rdm2_f_vovo += einsum(x197, (0, 1, 2, 3), (2, 1, 3, 0)) * -0.25 - x198 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x198 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) - x198 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 5.0 - x198 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 - x198 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 - x198 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * -1.0 - x198 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) - x199 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x199 += einsum(l3, (0, 1, 2, 3, 4, 5), x198, (5, 6, 4, 2, 7, 1), (3, 6, 0, 7)) - x200 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x200 += einsum(l3, (0, 1, 2, 3, 4, 5), x45, (5, 6, 3, 1, 7, 2), (4, 6, 0, 7)) - x201 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x201 += einsum(x197, (0, 1, 2, 3), (0, 1, 2, 3)) - x201 += einsum(x199, (0, 1, 2, 3), (0, 1, 2, 3)) - del x199 - x201 += einsum(x200, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x200 - x202 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x202 += einsum(t2, (0, 1, 2, 3), x201, (1, 4, 2, 5), (0, 4, 3, 5)) * 0.25 - del x201 - x203 = np.zeros((nvir, nvir), dtype=types[float]) - x203 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (3, 4, 5, 0, 6, 2), (1, 6)) - x204 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x204 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - x204 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 - x204 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 - x204 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 - x204 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) - x204 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 6.999999999999999 - x205 = np.zeros((nvir, nvir), dtype=types[float]) - x205 += einsum(l3, (0, 1, 2, 3, 4, 5), x204, (4, 3, 5, 1, 6, 2), (0, 6)) * 0.08333333333333 - x206 = np.zeros((nvir, nvir), dtype=types[float]) - x206 += einsum(l3, (0, 1, 2, 3, 4, 5), x45, (4, 5, 3, 6, 1, 2), (0, 6)) * 0.08333333333333 - x207 = np.zeros((nvir, nvir), dtype=types[float]) - x207 += einsum(t2, (0, 1, 2, 3), x96, (0, 1, 2, 4), (3, 4)) * 2.0 - x208 = np.zeros((nvir, nvir), dtype=types[float]) - x208 += einsum(x203, (0, 1), (0, 1)) * 0.24999999999999 - x208 += einsum(x205, (0, 1), (0, 1)) - x208 += einsum(x206, (0, 1), (0, 1)) * -1.0 - x208 += einsum(x207, (0, 1), (1, 0)) - x209 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x209 += einsum(x208, (0, 1), t2, (2, 3, 0, 4), (2, 3, 4, 1)) - del x208 - x210 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x210 += einsum(t1, (0, 1), x56, (0, 2, 3, 4), (2, 3, 1, 4)) - del x56 - x211 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x211 += einsum(x210, (0, 1, 2, 3), x32, (0, 4, 5, 3), (4, 1, 5, 2)) * 0.5 - del x210 - x212 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x212 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) - x212 += einsum(x23, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x213 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x213 += einsum(t2, (0, 1, 2, 3), x212, (4, 1, 5, 2), (0, 4, 5, 3)) - del x212 - x214 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x214 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x214 += einsum(x23, (0, 1, 2, 3), (1, 0, 2, 3)) - x215 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x215 += einsum(t2, (0, 1, 2, 3), x214, (4, 1, 5, 3), (0, 4, 5, 2)) * 2.0 - del x214 - x216 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x216 += einsum(t1, (0, 1), x7, (2, 3, 4, 1), (0, 2, 3, 4)) * -1.0 - x217 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x217 += einsum(t1, (0, 1), x216, (2, 3, 0, 4), (3, 2, 4, 1)) * 0.5 - del x216 - x218 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x218 += einsum(x38, (0, 1, 2, 3), (0, 1, 2, 3)) - x218 += einsum(x39, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - del x39 - x218 += einsum(x40, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.25 - del x40 - x218 += einsum(x41, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - del x41 - x218 += einsum(x44, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x44 - x218 += einsum(x46, (0, 1, 2, 3), (0, 1, 2, 3)) - del x46 - x218 += einsum(x51, (0, 1, 2, 3), (2, 1, 0, 3)) - del x51 - x218 += einsum(x61, (0, 1, 2, 3), (1, 0, 2, 3)) - del x61 - x218 += einsum(x213, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - del x213 - x218 += einsum(x215, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - del x215 - x218 += einsum(x217, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x217 - x219 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x219 += einsum(t1, (0, 1), x218, (0, 2, 3, 4), (2, 3, 1, 4)) - del x218 - x220 = np.zeros((nocc, nocc), dtype=types[float]) - x220 += einsum(x12, (0, 1), (0, 1)) * 0.08333333333333 - del x12 - x220 += einsum(x70, (0, 1), (0, 1)) - del x70 - x220 += einsum(x71, (0, 1), (0, 1)) - del x71 - x220 += einsum(x72, (0, 1), (1, 0)) * -1.0 - del x72 - x220 += einsum(x73, (0, 1), (0, 1)) - del x73 - x221 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x221 += einsum(x220, (0, 1), t2, (2, 0, 3, 4), (2, 1, 4, 3)) - del x220 - x222 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x222 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * -1.0 - x222 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 1, 2)) - x223 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x223 += einsum(t2, (0, 1, 2, 3), x222, (1, 4, 5, 6, 2, 3), (4, 5, 0, 6)) - x224 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x224 += einsum(t1, (0, 1), x223, (2, 3, 4, 1), (2, 3, 4, 0)) * -1.0 - del x223 - x225 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x225 += einsum(t2, (0, 1, 2, 3), x224, (0, 1, 4, 5), (5, 4, 3, 2)) * 0.5 - del x224 - x226 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x226 += einsum(t1, (0, 1), x10, (2, 3, 4, 1), (0, 3, 2, 4)) * 3.0 - x227 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x227 += einsum(t2, (0, 1, 2, 3), x226, (4, 0, 1, 5), (4, 5, 2, 3)) * 0.25 - del x226 - x228 = np.zeros((nocc, nvir), dtype=types[float]) - x228 += einsum(x42, (0, 1, 2, 3, 4, 5), x77, (0, 1, 2, 5, 4, 6), (3, 6)) * 0.041666666666665 - del x77 - x229 = np.zeros((nocc, nvir), dtype=types[float]) - x229 += einsum(x42, (0, 1, 2, 3, 4, 5), x45, (2, 0, 1, 6, 5, 4), (3, 6)) * 0.041666666666665 - x230 = np.zeros((nocc, nvir), dtype=types[float]) - x230 += einsum(l2, (0, 1, 2, 3), x80, (2, 3, 4, 1, 0, 5), (4, 5)) * 0.125 - del x80 - x231 = np.zeros((nocc, nvir), dtype=types[float]) - x231 += einsum(l2, (0, 1, 2, 3), x82, (3, 4, 2, 0, 5, 1), (4, 5)) * 0.25 - del x82 - x232 = np.zeros((nocc, nvir), dtype=types[float]) - x232 += einsum(t2, (0, 1, 2, 3), x87, (0, 1, 4, 3), (4, 2)) - del x87 - x233 = np.zeros((nocc, nvir), dtype=types[float]) - x233 += einsum(t2, (0, 1, 2, 3), x90, (0, 1, 4, 2), (4, 3)) * 0.25 - del x90 - x234 = np.zeros((nocc, nvir), dtype=types[float]) - x234 += einsum(l1, (0, 1), x92, (1, 2, 3, 0), (2, 3)) * 0.5 - x235 = np.zeros((nocc, nvir), dtype=types[float]) - x235 += einsum(t1, (0, 1), x74, (0, 2), (2, 1)) * 0.5 - del x74 - x236 = np.zeros((nocc, nvir), dtype=types[float]) - x236 += einsum(x76, (0, 1), (0, 1)) * 0.124999999999995 - x236 += einsum(x228, (0, 1), (0, 1)) - x236 += einsum(x229, (0, 1), (0, 1)) * -1.0 - x236 += einsum(x230, (0, 1), (0, 1)) * -1.0 - x236 += einsum(x231, (0, 1), (0, 1)) - x236 += einsum(x232, (0, 1), (0, 1)) - x236 += einsum(x233, (0, 1), (0, 1)) - x236 += einsum(x234, (0, 1), (0, 1)) * -1.0 - x236 += einsum(x235, (0, 1), (0, 1)) - del x235 - x237 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x237 += einsum(x173, (0, 1, 2, 3), (0, 1, 2, 3)) - x237 += einsum(x175, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.08333333333333 - del x175 - x237 += einsum(x177, (0, 1, 2, 3), (0, 1, 2, 3)) - x237 += einsum(x179, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x179 - x237 += einsum(x182, (0, 1, 2, 3), (1, 0, 2, 3)) - del x182 - x237 += einsum(x195, (0, 1, 2, 3), (0, 1, 2, 3)) - x237 += einsum(x196, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x196 - x237 += einsum(x202, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x202 - x237 += einsum(x209, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x237 += einsum(x211, (0, 1, 2, 3), (0, 1, 3, 2)) - del x211 - x237 += einsum(x219, (0, 1, 2, 3), (0, 1, 2, 3)) - del x219 - x237 += einsum(x221, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x237 += einsum(x225, (0, 1, 2, 3), (0, 1, 3, 2)) - del x225 - x237 += einsum(x227, (0, 1, 2, 3), (0, 1, 2, 3)) - del x227 - x237 += einsum(t1, (0, 1), x236, (2, 3), (0, 2, 1, 3)) * -2.0 - del x236 - rdm2_f_oovv += einsum(x237, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(x237, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_oovv += einsum(x237, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - rdm2_f_oovv += einsum(x237, (0, 1, 2, 3), (1, 0, 3, 2)) - rdm2_f_oovv += einsum(x237, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(x237, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_oovv += einsum(x237, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - rdm2_f_oovv += einsum(x237, (0, 1, 2, 3), (1, 0, 3, 2)) - del x237 - x238 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x238 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - x238 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - x239 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x239 += einsum(x174, (0, 1, 2, 3, 4, 5), x238, (1, 2, 0, 6, 7, 5), (3, 4, 6, 7)) * 0.08333333333333 - x240 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x240 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * 5.000000000000001 - x240 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x241 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x241 += einsum(x240, (0, 1, 2, 3), l3, (4, 2, 3, 5, 6, 0), (1, 5, 6, 4)) * 0.16666666666666666 - del x240 - x242 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x242 += einsum(x9, (0, 1, 2, 3), l3, (4, 2, 3, 5, 0, 6), (5, 6, 1, 4)) * 0.5 - x243 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x243 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) - x243 += einsum(x23, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.3333333333333333 - x243 += einsum(x241, (0, 1, 2, 3), (1, 2, 0, 3)) - del x241 - x243 += einsum(x242, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x242 - x244 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x244 += einsum(x243, (0, 1, 2, 3), t3, (4, 0, 1, 5, 3, 6), (2, 4, 6, 5)) * 1.5 - del x243 - x245 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x245 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * 2.0 - x245 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 1, 2)) * -1.0 - x246 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x246 += einsum(x6, (0, 1, 2, 3), x245, (0, 4, 5, 3, 2, 6), (4, 5, 1, 6)) - del x245 - x247 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x247 += einsum(x246, (0, 1, 2, 3), t3, (4, 1, 0, 5, 3, 6), (2, 4, 6, 5)) * 0.25 - del x246 - x248 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x248 += einsum(x6, (0, 1, 2, 3), x42, (1, 4, 0, 5, 2, 6), (4, 5, 6, 3)) - x249 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x249 += einsum(x248, (0, 1, 2, 3), x32, (0, 4, 5, 2), (1, 4, 3, 5)) * -1.0 - x250 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x250 += einsum(x42, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - x250 += einsum(x42, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * -1.0 - x251 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x251 += einsum(t2, (0, 1, 2, 3), x250, (0, 1, 4, 5, 3, 6), (4, 5, 6, 2)) - x252 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x252 += einsum(t2, (0, 1, 2, 3), x251, (1, 4, 2, 5), (4, 0, 5, 3)) * -0.5 - x253 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x253 += einsum(x239, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x239 - x253 += einsum(x244, (0, 1, 2, 3), (0, 1, 3, 2)) - del x244 - x253 += einsum(x247, (0, 1, 2, 3), (0, 1, 3, 2)) - del x247 - x253 += einsum(x249, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x249 - x253 += einsum(x252, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x252 - rdm2_f_oovv += einsum(x253, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(x253, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - rdm2_f_oovv += einsum(x253, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(x253, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x253 - x254 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x254 += einsum(l1, (0, 1), t3, (2, 3, 1, 4, 5, 0), (2, 3, 4, 5)) - x255 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x255 += einsum(t2, (0, 1, 2, 3), x24, (1, 0, 4, 5), (5, 4, 2, 3)) - rdm2_f_oovv += einsum(x255, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(x255, (0, 1, 2, 3), (0, 1, 2, 3)) - x256 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x256 += einsum(t2, (0, 1, 2, 3), l3, (2, 4, 3, 5, 6, 7), (5, 7, 6, 0, 1, 4)) - x257 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x257 += einsum(t3, (0, 1, 2, 3, 4, 5), x256, (2, 0, 1, 6, 7, 4), (6, 7, 5, 3)) - del x256 - x258 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x258 += einsum(t2, (0, 1, 2, 3), l3, (4, 2, 5, 6, 0, 1), (6, 4, 5, 3)) - x259 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x259 += einsum(x258, (0, 1, 2, 3), t3, (4, 0, 5, 2, 6, 1), (4, 5, 3, 6)) - x260 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x260 += einsum(x89, (0, 1, 2, 3), l3, (4, 5, 2, 6, 0, 1), (6, 4, 5, 3)) * 6.0 - del x89 - x261 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x261 += einsum(x258, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x261 += einsum(x258, (0, 1, 2, 3), (0, 2, 1, 3)) * -2.0 - x261 += einsum(x260, (0, 1, 2, 3), (0, 1, 2, 3)) - del x260 - x261 += einsum(x128, (0, 1, 2, 3), (0, 2, 3, 1)) - x262 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x262 += einsum(x261, (0, 1, 2, 3), t3, (4, 0, 5, 2, 1, 6), (4, 5, 3, 6)) * 0.25 - del x261 - x263 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x263 += einsum(t2, (0, 1, 2, 3), l3, (4, 5, 3, 6, 0, 1), (6, 4, 5, 2)) - rdm2_f_vvov = np.zeros((nvir, nvir, nocc, nvir), dtype=types[float]) - rdm2_f_vvov += einsum(x263, (0, 1, 2, 3), (1, 2, 0, 3)) - rdm2_f_vvov += einsum(x263, (0, 1, 2, 3), (1, 2, 0, 3)) - rdm2_f_vvvo = np.zeros((nvir, nvir, nvir, nocc), dtype=types[float]) - rdm2_f_vvvo += einsum(x263, (0, 1, 2, 3), (2, 1, 3, 0)) - rdm2_f_vvvo += einsum(x263, (0, 1, 2, 3), (2, 1, 3, 0)) - x264 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x264 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 3, 4, 0, 2, 1)) * 1.5 - x264 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * -1.5 - x264 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) - x265 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x265 += einsum(t2, (0, 1, 2, 3), x264, (0, 1, 4, 5, 2, 6), (4, 5, 6, 3)) * 0.6666666666666666 - del x264 - x266 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x266 += einsum(x263, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.6666666666666666 - x266 += einsum(x265, (0, 1, 2, 3), (0, 1, 2, 3)) - del x265 - x267 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x267 += einsum(x266, (0, 1, 2, 3), t3, (4, 0, 5, 1, 2, 6), (4, 5, 3, 6)) * 0.75 - del x266 - x268 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x268 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 3, 4, 0, 2, 1)) * 0.5 - x268 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * -0.5 - x268 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) - x269 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x269 += einsum(t2, (0, 1, 2, 3), x268, (0, 1, 4, 5, 2, 6), (4, 5, 6, 3)) * 2.0 - del x268 - x270 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x270 += einsum(x263, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - x270 += einsum(x269, (0, 1, 2, 3), (0, 1, 2, 3)) - del x269 - x271 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x271 += einsum(x270, (0, 1, 2, 3), t3, (4, 0, 5, 2, 6, 1), (4, 5, 3, 6)) * 0.25 - x272 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x272 += einsum(t2, (0, 1, 2, 3), x96, (1, 4, 3, 5), (0, 4, 2, 5)) - x273 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x273 += einsum(t2, (0, 1, 2, 3), x272, (4, 1, 5, 3), (4, 0, 5, 2)) * 4.0 - del x272 - x274 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x274 += einsum(l2, (0, 1, 2, 3), (3, 2, 0, 1)) - x274 += einsum(l2, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 - x275 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x275 += einsum(t2, (0, 1, 2, 3), x274, (1, 4, 2, 5), (4, 0, 5, 3)) - x276 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x276 += einsum(t2, (0, 1, 2, 3), x275, (1, 4, 2, 5), (4, 0, 5, 3)) * -1.0 - del x275 - x277 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x277 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 4, 7, 2, 1, 0), (5, 3, 6, 7)) - x278 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x278 += einsum(x22, (0, 1, 2, 3), (1, 0, 3, 2)) - x278 += einsum(x277, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.24999999999999 - del x277 - x279 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x279 += einsum(t2, (0, 1, 2, 3), x278, (0, 1, 4, 5), (4, 5, 2, 3)) - del x278 - x280 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x280 += einsum(t2, (0, 1, 2, 3), x98, (1, 4, 0, 5, 6, 2), (4, 6, 5, 3)) - del x98 - x281 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x281 += einsum(x96, (0, 1, 2, 3), t3, (4, 0, 5, 3, 2, 6), (4, 5, 1, 6)) - x282 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x282 += einsum(t1, (0, 1), x25, (0, 2, 3, 4), (2, 3, 4, 1)) * 0.5 - del x25 - x283 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x283 += einsum(x280, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - del x280 - x283 += einsum(x281, (0, 1, 2, 3), (2, 1, 0, 3)) - del x281 - x283 += einsum(x282, (0, 1, 2, 3), (0, 2, 1, 3)) - del x282 - x284 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x284 += einsum(t1, (0, 1), x283, (0, 2, 3, 4), (2, 3, 4, 1)) * 2.0 - del x283 - x285 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x285 += einsum(x254, (0, 1, 2, 3), (0, 1, 2, 3)) - x285 += einsum(x255, (0, 1, 2, 3), (0, 1, 2, 3)) - del x255 - x285 += einsum(x257, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.24999999999999 - del x257 - x285 += einsum(x259, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - del x259 - x285 += einsum(x262, (0, 1, 2, 3), (1, 0, 2, 3)) - del x262 - x285 += einsum(x267, (0, 1, 2, 3), (1, 0, 2, 3)) - del x267 - x285 += einsum(x271, (0, 1, 2, 3), (1, 0, 2, 3)) - del x271 - x285 += einsum(x273, (0, 1, 2, 3), (0, 1, 2, 3)) - del x273 - x285 += einsum(x276, (0, 1, 2, 3), (1, 0, 3, 2)) - del x276 - x285 += einsum(x279, (0, 1, 2, 3), (1, 0, 3, 2)) - del x279 - x285 += einsum(x284, (0, 1, 2, 3), (0, 1, 3, 2)) - del x284 - rdm2_f_oovv += einsum(x285, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(x285, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_oovv += einsum(x285, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(x285, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x285 - x286 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x286 += einsum(t3, (0, 1, 2, 3, 4, 5), x174, (0, 1, 2, 6, 7, 4), (6, 7, 3, 5)) - x287 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x287 += einsum(x42, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - x287 += einsum(x42, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * -1.0 - x287 += einsum(x42, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) * 2.0 - x288 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x288 += einsum(t2, (0, 1, 2, 3), x287, (0, 1, 4, 5, 6, 3), (4, 5, 6, 2)) * 0.5 - x289 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x289 += einsum(x288, (0, 1, 2, 3), x6, (0, 4, 5, 2), (1, 4, 3, 5)) - del x288 - x290 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x290 += einsum(t1, (0, 1), x10, (2, 3, 4, 1), (0, 3, 2, 4)) - x291 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x291 += einsum(t1, (0, 1), x290, (2, 3, 0, 4), (3, 2, 4, 1)) * 3.0 - del x290 - x292 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x292 += einsum(t1, (0, 1), x291, (0, 2, 3, 4), (2, 3, 4, 1)) * 0.5 - del x291 - x293 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x293 += einsum(x286, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.08333333333333 - del x286 - x293 += einsum(x289, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x289 - x293 += einsum(x292, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x292 - rdm2_f_oovv += einsum(x293, (0, 1, 2, 3), (0, 1, 3, 2)) - rdm2_f_oovv += einsum(x293, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - rdm2_f_oovv += einsum(x293, (0, 1, 2, 3), (0, 1, 3, 2)) - rdm2_f_oovv += einsum(x293, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x293 - x294 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x294 += einsum(t3, (0, 1, 2, 3, 4, 5), x36, (0, 1, 2, 6, 7, 3), (6, 7, 5, 4)) - x295 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x295 += einsum(x178, (0, 1, 2, 3, 4, 5), x36, (1, 0, 2, 6, 7, 4), (6, 7, 3, 5)) * 0.16666666666667 - x296 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x296 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) - x296 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) * -0.5 - x297 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x297 += einsum(x296, (0, 1, 2, 3, 4, 5), x3, (0, 6, 7, 5, 4, 3), (1, 2, 6, 7)) - del x3, x296 - x298 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x298 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * 0.5 - x298 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 3, 5, 0, 2, 1)) - x299 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x299 += einsum(t3, (0, 1, 2, 3, 4, 5), x298, (6, 7, 2, 4, 5, 3), (6, 7, 0, 1)) - del x298 - x300 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x300 += einsum(x297, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x297 - x300 += einsum(x299, (0, 1, 2, 3), (1, 0, 2, 3)) - del x299 - x301 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x301 += einsum(t2, (0, 1, 2, 3), x300, (0, 1, 4, 5), (4, 5, 2, 3)) * 0.16666666666666 - del x300 - x302 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x302 += einsum(x36, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - x302 += einsum(x36, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -0.5 - x302 += einsum(x36, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) * 0.5 - x303 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x303 += einsum(t2, (0, 1, 2, 3), x302, (0, 4, 1, 5, 6, 3), (4, 5, 6, 2)) * 5.99999999999988 - del x302 - x304 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x304 += einsum(t1, (0, 1), x102, (2, 0, 3, 4), (2, 3, 4, 1)) - del x102 - x305 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x305 += einsum(x37, (0, 1, 2, 3), (0, 1, 2, 3)) * -5.99999999999988 - x305 += einsum(x303, (0, 1, 2, 3), (0, 1, 2, 3)) - del x303 - x305 += einsum(x304, (0, 1, 2, 3), (0, 1, 2, 3)) - del x304 - x306 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x306 += einsum(t1, (0, 1), x305, (0, 2, 3, 4), (2, 3, 4, 1)) * 0.16666666666667 - del x305 - x307 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x307 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x307 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) * -1.0 - x307 += einsum(x294, (0, 1, 2, 3), (1, 0, 3, 2)) * 0.16666666666667 - del x294 - x307 += einsum(x295, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x295 - x307 += einsum(x301, (0, 1, 2, 3), (1, 0, 3, 2)) - del x301 - x307 += einsum(x306, (0, 1, 2, 3), (1, 0, 2, 3)) - del x306 - rdm2_f_oovv += einsum(x307, (0, 1, 2, 3), (0, 1, 3, 2)) - rdm2_f_oovv += einsum(x307, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - rdm2_f_oovv += einsum(x307, (0, 1, 2, 3), (0, 1, 3, 2)) - rdm2_f_oovv += einsum(x307, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x307 - x308 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x308 += einsum(t2, (0, 1, 2, 3), x251, (1, 4, 3, 5), (4, 0, 5, 2)) * -1.0 - rdm2_f_oovv += einsum(x308, (0, 1, 2, 3), (0, 1, 3, 2)) - rdm2_f_oovv += einsum(x308, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - rdm2_f_oovv += einsum(x308, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - rdm2_f_oovv += einsum(x308, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.5 - rdm2_f_oovv += einsum(x308, (0, 1, 2, 3), (0, 1, 3, 2)) - rdm2_f_oovv += einsum(x308, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - rdm2_f_oovv += einsum(x308, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - rdm2_f_oovv += einsum(x308, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.5 - del x308 - x309 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x309 += einsum(t2, (0, 1, 2, 3), x42, (1, 4, 0, 5, 6, 2), (4, 5, 6, 3)) - x310 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x310 += einsum(x309, (0, 1, 2, 3), x32, (0, 4, 5, 2), (4, 1, 5, 3)) - rdm2_f_oovv += einsum(x310, (0, 1, 2, 3), (1, 0, 2, 3)) - rdm2_f_oovv += einsum(x310, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 - rdm2_f_oovv += einsum(x310, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - rdm2_f_oovv += einsum(x310, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - rdm2_f_oovv += einsum(x310, (0, 1, 2, 3), (1, 0, 2, 3)) - rdm2_f_oovv += einsum(x310, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 - rdm2_f_oovv += einsum(x310, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - rdm2_f_oovv += einsum(x310, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - del x310 - x311 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x311 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) - x311 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 0, 2)) * 0.3333333333333333 - x312 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x312 += einsum(t1, (0, 1), x311, (2, 3, 4, 1, 5, 6), (0, 2, 3, 4, 5, 6)) * 3.0 - del x311 - x313 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x313 += einsum(t1, (0, 1), x312, (2, 3, 4, 5, 1, 6), (0, 4, 3, 5, 2, 6)) * 0.3333333333333333 - del x312 - x314 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x314 += einsum(t3, (0, 1, 2, 3, 4, 5), x313, (6, 0, 2, 1, 7, 4), (6, 7, 5, 3)) * 0.50000000000001 - del x313 - rdm2_f_oovv += einsum(x314, (0, 1, 2, 3), (1, 0, 2, 3)) - rdm2_f_oovv += einsum(x314, (0, 1, 2, 3), (1, 0, 2, 3)) - del x314 - x315 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x315 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - x315 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) - x316 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x316 += einsum(l1, (0, 1), x315, (2, 3, 1, 4, 5, 0), (2, 3, 4, 5)) - rdm2_f_oovv += einsum(x316, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - rdm2_f_oovv += einsum(x316, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x316 - x317 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x317 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - x317 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 - x318 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x318 += einsum(l3, (0, 1, 2, 3, 4, 5), x317, (4, 6, 7, 1, 2, 0), (3, 5, 6, 7)) - x319 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x319 += einsum(x318, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x318 - x319 += einsum(x104, (0, 1, 2, 3), (1, 0, 2, 3)) - del x104 - x320 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x320 += einsum(t1, (0, 1), x319, (0, 2, 3, 4), (2, 3, 4, 1)) - del x319 - x321 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x321 += einsum(t1, (0, 1), x320, (0, 2, 3, 4), (2, 3, 1, 4)) * 0.16666666666667 - del x320 - rdm2_f_oovv += einsum(x321, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - rdm2_f_oovv += einsum(x321, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x321 - x322 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x322 += einsum(t2, (0, 1, 2, 3), x42, (4, 0, 1, 5, 2, 6), (4, 5, 6, 3)) - x323 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x323 += einsum(t2, (0, 1, 2, 3), x322, (1, 4, 2, 5), (4, 0, 3, 5)) - del x322 - rdm2_f_oovv += einsum(x323, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - rdm2_f_oovv += einsum(x323, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x323 - x324 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x324 += einsum(l2, (0, 1, 2, 3), t2, (4, 3, 1, 5), (2, 4, 0, 5)) - x325 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x325 += einsum(t2, (0, 1, 2, 3), x324, (1, 4, 2, 5), (4, 0, 5, 3)) - del x324 - rdm2_f_oovv += einsum(x325, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(x325, (0, 1, 2, 3), (0, 1, 2, 3)) - del x325 - x326 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x326 += einsum(t1, (0, 1), x24, (0, 2, 3, 4), (2, 4, 3, 1)) - del x24 - x327 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x327 += einsum(t1, (0, 1), x326, (0, 2, 3, 4), (2, 3, 1, 4)) - del x326 - rdm2_f_oovv += einsum(x327, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(x327, (0, 1, 2, 3), (0, 1, 2, 3)) - del x327 - x328 = np.zeros((nocc, nvir), dtype=types[float]) - x328 += einsum(t1, (0, 1), x1, (0, 2), (2, 1)) - del x1 - rdm2_f_oovv += einsum(t1, (0, 1), x328, (2, 3), (0, 2, 1, 3)) * -1.0 - rdm2_f_oovv += einsum(t1, (0, 1), x328, (2, 3), (0, 2, 1, 3)) * -1.0 - x329 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x329 += einsum(t2, (0, 1, 2, 3), x28, (0, 1, 4, 5), (4, 5, 2, 3)) - x330 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x330 += einsum(x258, (0, 1, 2, 3), t3, (4, 5, 0, 2, 6, 1), (4, 5, 3, 6)) - x331 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x331 += einsum(t2, (0, 1, 2, 3), l3, (4, 2, 3, 1, 5, 6), (6, 5, 0, 4)) - x332 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x332 += einsum(t1, (0, 1), x331, (2, 3, 4, 1), (2, 3, 0, 4)) - x333 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x333 += einsum(t2, (0, 1, 2, 3), x332, (1, 0, 4, 5), (4, 5, 3, 2)) - del x332 - x334 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x334 += einsum(x270, (0, 1, 2, 3), t3, (4, 5, 0, 1, 6, 2), (4, 5, 3, 6)) * 0.25 - x335 = np.zeros((nocc, nocc, nocc, nocc, nocc, nvir), dtype=types[float]) - x335 += einsum(x174, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x174 - x335 += einsum(x36, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 1.0000000000000602 - del x36 - x336 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x336 += einsum(t3, (0, 1, 2, 3, 4, 5), x335, (0, 2, 1, 6, 7, 3), (6, 7, 5, 4)) * 0.49999999999997996 - del x335 - x337 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x337 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) - x337 += einsum(x23, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x337 += einsum(x168, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x168 - x337 += einsum(x123, (0, 1, 2, 3), (1, 0, 2, 3)) - del x123 - x338 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x338 += einsum(x337, (0, 1, 2, 3), t3, (0, 4, 1, 3, 5, 6), (2, 4, 6, 5)) * 0.5 - del x337 - x339 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x339 += einsum(x7, (0, 1, 2, 3), t3, (0, 4, 1, 5, 6, 3), (4, 2, 5, 6)) * -0.25 - del x7 - x340 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x340 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 3, 5, 7, 0, 2), (4, 6, 1, 7)) - x341 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x341 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - x341 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -0.25 - x341 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 0.25 - x342 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x342 += einsum(l3, (0, 1, 2, 3, 4, 5), x341, (4, 6, 5, 1, 7, 2), (6, 3, 7, 0)) - del x341 - rdm2_f_ovvo += einsum(x342, (0, 1, 2, 3), (0, 3, 2, 1)) - rdm2_f_ovvo += einsum(x342, (0, 1, 2, 3), (0, 3, 2, 1)) - x343 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x343 += einsum(l3, (0, 1, 2, 3, 4, 5), x188, (3, 6, 5, 0, 2, 7), (4, 6, 1, 7)) * 0.25 - del x188 - x344 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x344 += einsum(x183, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.25 - x344 += einsum(x340, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.25 - del x340 - x344 += einsum(x342, (0, 1, 2, 3), (1, 0, 3, 2)) - del x342 - x344 += einsum(x343, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x343 - x345 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x345 += einsum(t2, (0, 1, 2, 3), x344, (1, 4, 2, 5), (4, 0, 5, 3)) - del x344 - x346 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x346 += einsum(t2, (0, 1, 2, 3), x143, (0, 1, 4, 5, 6, 2), (4, 5, 3, 6)) - x347 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x347 += einsum(t2, (0, 1, 2, 3), x346, (1, 4, 5, 2), (4, 0, 5, 3)) * -0.5 - del x346 - x348 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x348 += einsum(t2, (0, 1, 2, 3), x23, (4, 1, 5, 3), (4, 5, 0, 2)) - x349 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x349 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 4.0 - x349 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -1.0 - x349 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - x350 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x350 += einsum(x349, (0, 1, 2, 3, 4, 5), x42, (2, 6, 0, 7, 5, 3), (1, 6, 7, 4)) * 0.5 - x351 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x351 += einsum(x35, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - x351 += einsum(x35, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - x352 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x352 += einsum(t3, (0, 1, 2, 3, 4, 5), x351, (1, 2, 6, 7, 4, 5), (6, 7, 0, 3)) * 0.5 - del x351 - x353 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x353 += einsum(l2, (0, 1, 2, 3), x145, (2, 4, 5, 0, 1, 6), (3, 4, 5, 6)) - del x145 - x354 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x354 += einsum(t2, (0, 1, 2, 3), x133, (1, 4, 5, 6, 3, 2), (0, 4, 5, 6)) * 2.0 - del x133 - x355 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x355 += einsum(x132, (0, 1, 2, 3), (1, 0, 2, 3)) - del x132 - x355 += einsum(x354, (0, 1, 2, 3), (1, 2, 0, 3)) - del x354 - x356 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x356 += einsum(t2, (0, 1, 2, 3), x355, (4, 1, 5, 2), (4, 5, 0, 3)) - del x355 - x357 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x357 += einsum(t2, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x357 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x358 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x358 += einsum(x23, (0, 1, 2, 3), x357, (0, 4, 3, 5), (4, 1, 2, 5)) * 2.0 - x359 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x359 += einsum(x28, (0, 1, 2, 3), (0, 1, 2, 3)) - del x28 - x359 += einsum(x30, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.99999999999996 - del x30 - x360 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x360 += einsum(t1, (0, 1), x359, (2, 0, 3, 4), (2, 3, 4, 1)) * 1.00000000000002 - del x359 - x361 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x361 += einsum(x348, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x348 - x361 += einsum(x140, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - del x140 - x361 += einsum(x113, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - del x113 - x361 += einsum(x111, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - del x111 - x361 += einsum(x37, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x37 - x361 += einsum(x350, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - del x350 - x361 += einsum(x352, (0, 1, 2, 3), (0, 1, 2, 3)) - del x352 - x361 += einsum(x353, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x353 - x361 += einsum(x356, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x356 - x361 += einsum(x358, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - del x358 - x361 += einsum(x360, (0, 1, 2, 3), (0, 1, 2, 3)) - del x360 - x362 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x362 += einsum(t1, (0, 1), x361, (0, 2, 3, 4), (2, 3, 4, 1)) * 0.5 - del x361 - x363 = np.zeros((nocc, nvir), dtype=types[float]) - x363 += einsum(t1, (0, 1), x21, (0, 2), (2, 1)) - del x21 - x364 = np.zeros((nocc, nvir), dtype=types[float]) - x364 += einsum(x76, (0, 1), (0, 1)) * 0.124999999999995 - del x76 - x364 += einsum(x228, (0, 1), (0, 1)) - del x228 - x364 += einsum(x229, (0, 1), (0, 1)) * -1.0 - del x229 - x364 += einsum(x230, (0, 1), (0, 1)) * -1.0 - del x230 - x364 += einsum(x231, (0, 1), (0, 1)) - del x231 - x364 += einsum(x232, (0, 1), (0, 1)) - del x232 - x364 += einsum(x233, (0, 1), (0, 1)) - del x233 - x364 += einsum(x234, (0, 1), (0, 1)) * -1.0 - del x234 - x364 += einsum(x363, (0, 1), (0, 1)) - del x363 - x365 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x365 += einsum(x254, (0, 1, 2, 3), (0, 1, 2, 3)) - del x254 - x365 += einsum(x329, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.49999999999997996 - del x329 - x365 += einsum(x330, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - del x330 - x365 += einsum(x333, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x333 - x365 += einsum(x334, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x334 - x365 += einsum(x336, (0, 1, 2, 3), (0, 1, 2, 3)) - del x336 - x365 += einsum(x338, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x338 - x365 += einsum(x195, (0, 1, 2, 3), (0, 1, 2, 3)) - del x195 - x365 += einsum(x339, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x339 - x365 += einsum(x345, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x345 - x365 += einsum(x209, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x209 - x365 += einsum(x347, (0, 1, 2, 3), (0, 1, 3, 2)) - del x347 - x365 += einsum(x362, (0, 1, 2, 3), (0, 1, 3, 2)) - del x362 - x365 += einsum(x221, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x221 - x365 += einsum(t1, (0, 1), x364, (2, 3), (0, 2, 1, 3)) * -2.0 - del x364 - rdm2_f_oovv += einsum(x365, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(x365, (0, 1, 2, 3), (1, 0, 3, 2)) - rdm2_f_oovv += einsum(x365, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_oovv += einsum(x365, (0, 1, 2, 3), (1, 0, 3, 2)) - del x365 - x366 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x366 += einsum(x29, (0, 1, 2, 3), t3, (4, 1, 0, 5, 6, 3), (2, 4, 5, 6)) - x367 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x367 += einsum(x263, (0, 1, 2, 3), t3, (4, 5, 0, 6, 2, 1), (4, 5, 3, 6)) - x368 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x368 += einsum(x128, (0, 1, 2, 3), t3, (4, 5, 0, 6, 2, 3), (4, 5, 6, 1)) * -0.5 - x369 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x369 += einsum(x23, (0, 1, 2, 3), (1, 0, 2, 3)) - x369 += einsum(x124, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x124 - x370 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x370 += einsum(x369, (0, 1, 2, 3), t3, (4, 0, 1, 5, 6, 3), (2, 4, 5, 6)) - del x369 - x371 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x371 += einsum(t2, (0, 1, 2, 3), x250, (0, 1, 4, 5, 3, 6), (4, 5, 6, 2)) * 0.5 - x372 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x372 += einsum(x176, (0, 1, 2, 3), (0, 1, 2, 3)) - x372 += einsum(x371, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x371 - x373 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x373 += einsum(t2, (0, 1, 2, 3), x372, (1, 4, 2, 5), (4, 0, 5, 3)) - del x372 - x374 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x374 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (5, 6, 3, 2, 1, 7), (4, 6, 0, 7)) - rdm2_f_ovov += einsum(x374, (0, 1, 2, 3), (1, 2, 0, 3)) * -0.5 - rdm2_f_ovov += einsum(x374, (0, 1, 2, 3), (1, 2, 0, 3)) * -0.5 - rdm2_f_vovo += einsum(x374, (0, 1, 2, 3), (2, 1, 3, 0)) * -0.5 - rdm2_f_vovo += einsum(x374, (0, 1, 2, 3), (2, 1, 3, 0)) * -0.5 - x375 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x375 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 4, 5, 0, 7, 2), (3, 6, 1, 7)) - rdm2_f_ovov += einsum(x375, (0, 1, 2, 3), (1, 2, 0, 3)) * -0.5 - rdm2_f_ovov += einsum(x375, (0, 1, 2, 3), (1, 2, 0, 3)) * -0.5 - rdm2_f_vovo += einsum(x375, (0, 1, 2, 3), (2, 1, 3, 0)) * -0.5 - rdm2_f_vovo += einsum(x375, (0, 1, 2, 3), (2, 1, 3, 0)) * -0.5 - x376 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x376 += einsum(x374, (0, 1, 2, 3), (0, 1, 2, 3)) - x376 += einsum(x375, (0, 1, 2, 3), (0, 1, 2, 3)) - x377 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x377 += einsum(t2, (0, 1, 2, 3), x376, (1, 4, 2, 5), (4, 0, 5, 3)) * 0.5 - del x376 - x378 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x378 += einsum(x9, (0, 1, 2, 3), l3, (4, 2, 3, 5, 0, 6), (6, 5, 1, 4)) * 3.0 - del x9 - x379 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x379 += einsum(x29, (0, 1, 2, 3), (0, 1, 2, 3)) - x379 += einsum(x29, (0, 1, 2, 3), (1, 0, 2, 3)) * -3.0 - x379 += einsum(x53, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x379 += einsum(x53, (0, 1, 2, 3), (1, 0, 2, 3)) - del x53 - x379 += einsum(x378, (0, 1, 2, 3), (1, 0, 2, 3)) - x379 += einsum(x59, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x380 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x380 += einsum(t1, (0, 1), x379, (0, 2, 3, 4), (2, 3, 4, 1)) - del x379 - x381 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x381 += einsum(t2, (0, 1, 2, 3), x380, (1, 4, 3, 5), (4, 0, 5, 2)) * 0.5 - del x380 - x382 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x382 += einsum(t2, (0, 1, 2, 3), x23, (4, 1, 5, 2), (4, 5, 0, 3)) - x383 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x383 += einsum(t2, (0, 1, 2, 3), x120, (0, 1, 4, 5, 6, 2), (4, 5, 6, 3)) * 0.5 - del x120 - x384 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x384 += einsum(x29, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x29 - x384 += einsum(x59, (0, 1, 2, 3), (1, 0, 2, 3)) - del x59 - x385 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x385 += einsum(t2, (0, 1, 2, 3), x384, (1, 4, 5, 2), (4, 5, 0, 3)) * 0.5 - del x384 - x386 = np.zeros((nocc, nocc, nocc, nocc), dtype=types[float]) - x386 += einsum(t1, (0, 1), x33, (2, 3, 4, 1), (0, 2, 3, 4)) * -1.0 - x387 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x387 += einsum(t1, (0, 1), x386, (2, 3, 0, 4), (3, 2, 4, 1)) * 0.5 - x388 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x388 += einsum(x38, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x38 - x388 += einsum(x108, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x108 - x388 += einsum(x382, (0, 1, 2, 3), (0, 1, 2, 3)) - del x382 - x388 += einsum(x110, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - del x110 - x388 += einsum(x109, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - del x109 - x388 += einsum(x383, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x383 - x388 += einsum(x149, (0, 1, 2, 3), (2, 1, 0, 3)) - del x149 - x388 += einsum(x385, (0, 1, 2, 3), (0, 2, 1, 3)) - del x385 - x388 += einsum(x387, (0, 1, 2, 3), (0, 1, 2, 3)) - del x387 - x389 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x389 += einsum(t1, (0, 1), x388, (0, 2, 3, 4), (2, 3, 4, 1)) - del x388 - x390 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x390 += einsum(t2, (0, 1, 2, 3), x386, (4, 0, 1, 5), (4, 5, 3, 2)) * 0.5 - del x386 - x391 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x391 += einsum(x173, (0, 1, 2, 3), (0, 1, 2, 3)) - del x173 - x391 += einsum(x366, (0, 1, 2, 3), (0, 1, 2, 3)) - del x366 - x391 += einsum(x367, (0, 1, 2, 3), (0, 1, 2, 3)) - del x367 - x391 += einsum(x177, (0, 1, 2, 3), (0, 1, 2, 3)) - del x177 - x391 += einsum(x368, (0, 1, 2, 3), (0, 1, 3, 2)) - del x368 - x391 += einsum(x370, (0, 1, 2, 3), (0, 1, 2, 3)) - del x370 - x391 += einsum(x373, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x373 - x391 += einsum(x377, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x377 - x391 += einsum(x381, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x381 - x391 += einsum(x389, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x389 - x391 += einsum(x390, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x390 - rdm2_f_oovv += einsum(x391, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_oovv += einsum(x391, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - rdm2_f_oovv += einsum(x391, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_oovv += einsum(x391, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x391 - x392 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x392 += einsum(t2, (0, 1, 2, 3), x251, (1, 4, 3, 5), (4, 0, 5, 2)) * -0.5 - del x251 - rdm2_f_oovv += einsum(x392, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - rdm2_f_oovv += einsum(x392, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 - rdm2_f_oovv += einsum(x392, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - rdm2_f_oovv += einsum(x392, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 - del x392 - x393 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x393 += einsum(t2, (0, 1, 2, 3), x309, (1, 4, 3, 5), (4, 0, 2, 5)) - del x309 - rdm2_f_oovv += einsum(x393, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - rdm2_f_oovv += einsum(x393, (0, 1, 2, 3), (1, 0, 2, 3)) - rdm2_f_oovv += einsum(x393, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - rdm2_f_oovv += einsum(x393, (0, 1, 2, 3), (1, 0, 2, 3)) - del x393 - x394 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x394 += einsum(t2, (0, 1, 2, 3), x287, (0, 1, 4, 5, 6, 3), (4, 5, 6, 2)) * 0.25 - del x287 - x395 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x395 += einsum(t2, (0, 1, 2, 3), x192, (1, 4, 3, 5), (0, 4, 2, 5)) - del x192 - x396 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x396 += einsum(x394, (0, 1, 2, 3), (0, 1, 2, 3)) - del x394 - x396 += einsum(x395, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x395 - x397 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x397 += einsum(t2, (0, 1, 2, 3), x396, (1, 4, 3, 5), (4, 0, 5, 2)) * 2.0 - del x396 - rdm2_f_oovv += einsum(x397, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - rdm2_f_oovv += einsum(x397, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x397 - x398 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x398 += einsum(t2, (0, 1, 2, 3), x248, (1, 4, 3, 5), (4, 0, 5, 2)) * -1.0 - del x248 - rdm2_f_oovv += einsum(x398, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - rdm2_f_oovv += einsum(x398, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x398 - x399 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x399 += einsum(l2, (0, 1, 2, 3), t2, (4, 2, 1, 5), (3, 4, 0, 5)) - rdm2_f_ovov += einsum(x399, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_ovov += einsum(x399, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_vovo += einsum(x399, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - rdm2_f_vovo += einsum(x399, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - x400 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x400 += einsum(t2, (0, 1, 2, 3), x42, (0, 4, 1, 5, 2, 6), (4, 5, 6, 3)) - rdm2_f_ovov += einsum(x400, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_ovov += einsum(x400, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_vovo += einsum(x400, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - rdm2_f_vovo += einsum(x400, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - x401 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x401 += einsum(x399, (0, 1, 2, 3), (0, 1, 2, 3)) - x401 += einsum(x400, (0, 1, 2, 3), (0, 1, 2, 3)) - x402 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x402 += einsum(t2, (0, 1, 2, 3), x401, (1, 4, 2, 5), (4, 0, 5, 3)) - del x401 - rdm2_f_oovv += einsum(x402, (0, 1, 2, 3), (1, 0, 2, 3)) - rdm2_f_oovv += einsum(x402, (0, 1, 2, 3), (1, 0, 2, 3)) - del x402 - x403 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x403 += einsum(t2, (0, 1, 2, 3), (0, 1, 2, 3)) - x403 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) - x404 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x404 += einsum(x22, (0, 1, 2, 3), x403, (0, 1, 4, 5), (2, 3, 4, 5)) - del x22, x403 - rdm2_f_oovv += einsum(x404, (0, 1, 2, 3), (1, 0, 3, 2)) - rdm2_f_oovv += einsum(x404, (0, 1, 2, 3), (1, 0, 3, 2)) - del x404 - x405 = np.zeros((nocc, nvir), dtype=types[float]) - x405 += einsum(t1, (0, 1), (0, 1)) - x405 += einsum(x328, (0, 1), (0, 1)) * -1.0 - del x328 - rdm2_f_oovv += einsum(t1, (0, 1), x405, (2, 3), (2, 0, 3, 1)) - rdm2_f_oovv += einsum(t1, (0, 1), x405, (2, 3), (2, 0, 3, 1)) - del x405 - x406 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x406 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 5, 4, 1, 7, 2), (3, 6, 0, 7)) - rdm2_f_ovov += einsum(x406, (0, 1, 2, 3), (1, 2, 0, 3)) * -0.25 - rdm2_f_ovov += einsum(x406, (0, 1, 2, 3), (1, 2, 0, 3)) * -0.25 - rdm2_f_voov += einsum(x406, (0, 1, 2, 3), (2, 1, 0, 3)) * 0.25 - rdm2_f_voov += einsum(x406, (0, 1, 2, 3), (2, 1, 0, 3)) * 0.25 - del x406 - x407 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x407 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * 0.2 - x407 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -0.2 - x407 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -0.2 - x407 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) - x408 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x408 += einsum(l3, (0, 1, 2, 3, 4, 5), x407, (4, 6, 5, 1, 7, 2), (6, 3, 7, 0)) * 1.25 - del x407 - rdm2_f_ovov += einsum(x408, (0, 1, 2, 3), (0, 3, 1, 2)) * -1.0 - rdm2_f_ovov += einsum(x408, (0, 1, 2, 3), (0, 3, 1, 2)) * -1.0 - del x408 - x409 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x409 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * -1.0 - x409 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 2, 1)) - x410 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x410 += einsum(t3, (0, 1, 2, 3, 4, 5), x409, (2, 1, 6, 5, 7, 3), (6, 0, 7, 4)) * 0.25 - del x409 - rdm2_f_ovov += einsum(x410, (0, 1, 2, 3), (1, 2, 0, 3)) - rdm2_f_ovov += einsum(x410, (0, 1, 2, 3), (1, 2, 0, 3)) - del x410 - x411 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x411 += einsum(l3, (0, 1, 2, 3, 4, 5), x317, (5, 6, 3, 1, 7, 2), (4, 6, 0, 7)) * 0.25 - rdm2_f_ovov += einsum(x411, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_ovov += einsum(x411, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_ovvo += einsum(x411, (0, 1, 2, 3), (1, 2, 3, 0)) - rdm2_f_ovvo += einsum(x411, (0, 1, 2, 3), (1, 2, 3, 0)) - del x411 - x412 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x412 += einsum(t2, (0, 1, 2, 3), x250, (0, 1, 4, 5, 6, 2), (4, 5, 6, 3)) * 0.5 - rdm2_f_ovov += einsum(x412, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_ovov += einsum(x412, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_vovo += einsum(x412, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - rdm2_f_vovo += einsum(x412, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - del x412 - x413 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x413 += einsum(x42, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 2.0 - x413 += einsum(x42, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 - x414 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x414 += einsum(t2, (0, 1, 2, 3), x413, (4, 0, 1, 5, 6, 3), (4, 5, 6, 2)) - del x413 - rdm2_f_ovov += einsum(x414, (0, 1, 2, 3), (1, 2, 0, 3)) - rdm2_f_ovov += einsum(x414, (0, 1, 2, 3), (1, 2, 0, 3)) - rdm2_f_ovvo += einsum(x414, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - rdm2_f_ovvo += einsum(x414, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - del x414 - x415 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x415 += einsum(l2, (0, 1, 2, 3), x32, (2, 4, 5, 1), (3, 4, 0, 5)) - rdm2_f_ovov += einsum(x415, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_ovov += einsum(x415, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - del x415 - x416 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x416 += einsum(l2, (0, 1, 2, 3), x19, (3, 4, 5, 1), (2, 4, 0, 5)) * 2.0 - del x19 - rdm2_f_ovov += einsum(x416, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_ovov += einsum(x416, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_voov += einsum(x416, (0, 1, 2, 3), (2, 1, 0, 3)) - rdm2_f_voov += einsum(x416, (0, 1, 2, 3), (2, 1, 0, 3)) - del x416 - x417 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x417 += einsum(x32, (0, 1, 2, 3), l3, (4, 2, 3, 5, 6, 0), (5, 6, 1, 4)) - x418 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x418 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x418 += einsum(x417, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x417 - x419 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x419 += einsum(x418, (0, 1, 2, 3), (0, 1, 2, 3)) - x419 += einsum(x418, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x419 += einsum(x378, (0, 1, 2, 3), (1, 0, 2, 3)) - x420 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x420 += einsum(t1, (0, 1), x419, (2, 0, 3, 4), (2, 3, 4, 1)) * 0.5 - del x419 - rdm2_f_ovov += einsum(x420, (0, 1, 2, 3), (1, 2, 0, 3)) - rdm2_f_ovov += einsum(x420, (0, 1, 2, 3), (1, 2, 0, 3)) - rdm2_f_ovvo += einsum(x420, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - rdm2_f_ovvo += einsum(x420, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - rdm2_f_voov += einsum(x420, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_voov += einsum(x420, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_vovo += einsum(x420, (0, 1, 2, 3), (2, 1, 3, 0)) - rdm2_f_vovo += einsum(x420, (0, 1, 2, 3), (2, 1, 3, 0)) - del x420 - x421 = np.zeros((nvir, nvir), dtype=types[float]) - x421 += einsum(l1, (0, 1), t1, (1, 2), (0, 2)) - x422 = np.zeros((nvir, nvir), dtype=types[float]) - x422 += einsum(x421, (0, 1), (0, 1)) - x422 += einsum(x203, (0, 1), (0, 1)) * 0.24999999999999 - x422 += einsum(x205, (0, 1), (0, 1)) - del x205 - x422 += einsum(x206, (0, 1), (0, 1)) * -1.0 - del x206 - x422 += einsum(x207, (0, 1), (1, 0)) - del x207 - rdm2_f_ovov += einsum(delta.oo, (0, 1), x422, (2, 3), (0, 2, 1, 3)) - rdm2_f_ovov += einsum(delta.oo, (0, 1), x422, (2, 3), (0, 2, 1, 3)) - rdm2_f_ovov += einsum(delta.oo, (0, 1), x422, (2, 3), (0, 2, 1, 3)) - rdm2_f_ovov += einsum(delta.oo, (0, 1), x422, (2, 3), (0, 2, 1, 3)) - rdm2_f_ovvo += einsum(delta.oo, (0, 1), x422, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_ovvo += einsum(delta.oo, (0, 1), x422, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_voov += einsum(delta.oo, (0, 1), x422, (2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_voov += einsum(delta.oo, (0, 1), x422, (2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_vovo += einsum(delta.oo, (0, 1), x422, (2, 3), (2, 0, 3, 1)) - rdm2_f_vovo += einsum(delta.oo, (0, 1), x422, (2, 3), (2, 0, 3, 1)) - rdm2_f_vovo += einsum(delta.oo, (0, 1), x422, (2, 3), (2, 0, 3, 1)) - rdm2_f_vovo += einsum(delta.oo, (0, 1), x422, (2, 3), (2, 0, 3, 1)) - x423 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x423 += einsum(t2, (0, 1, 2, 3), x143, (0, 1, 4, 5, 2, 6), (4, 5, 3, 6)) * 0.5 - rdm2_f_ovov += einsum(x423, (0, 1, 2, 3), (1, 3, 0, 2)) * -1.0 - rdm2_f_ovov += einsum(x423, (0, 1, 2, 3), (1, 3, 0, 2)) * -1.0 - rdm2_f_vovo += einsum(x423, (0, 1, 2, 3), (3, 1, 2, 0)) * -1.0 - rdm2_f_vovo += einsum(x423, (0, 1, 2, 3), (3, 1, 2, 0)) * -1.0 - del x423 - x424 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x424 += einsum(t1, (0, 1), x151, (0, 2, 3, 4), (2, 3, 1, 4)) - rdm2_f_ovov += einsum(x424, (0, 1, 2, 3), (1, 3, 0, 2)) * -1.0 - rdm2_f_ovov += einsum(x424, (0, 1, 2, 3), (1, 3, 0, 2)) * -1.0 - del x424 - x425 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x425 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 3, 5, 1, 7, 2), (4, 6, 0, 7)) - rdm2_f_ovvo += einsum(x425, (0, 1, 2, 3), (1, 2, 3, 0)) * 0.25 - rdm2_f_ovvo += einsum(x425, (0, 1, 2, 3), (1, 2, 3, 0)) * 0.25 - rdm2_f_vovo += einsum(x425, (0, 1, 2, 3), (2, 1, 3, 0)) * -0.25 - rdm2_f_vovo += einsum(x425, (0, 1, 2, 3), (2, 1, 3, 0)) * -0.25 - del x425 - x426 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x426 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - x426 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 - x426 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 - x426 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * 5.0 - x427 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x427 += einsum(l3, (0, 1, 2, 3, 4, 5), x426, (4, 6, 5, 1, 7, 2), (6, 3, 7, 0)) * 0.25 - del x426 - rdm2_f_ovvo += einsum(x427, (0, 1, 2, 3), (0, 3, 2, 1)) - rdm2_f_ovvo += einsum(x427, (0, 1, 2, 3), (0, 3, 2, 1)) - rdm2_f_voov += einsum(x427, (0, 1, 2, 3), (3, 0, 1, 2)) - rdm2_f_voov += einsum(x427, (0, 1, 2, 3), (3, 0, 1, 2)) - del x427 - x428 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x428 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - x428 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) * -1.0 - x429 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x429 += einsum(l3, (0, 1, 2, 3, 4, 5), x428, (5, 6, 4, 2, 1, 7), (6, 3, 7, 0)) * 0.25 - del x428 - rdm2_f_ovvo += einsum(x429, (0, 1, 2, 3), (0, 3, 2, 1)) * -1.0 - rdm2_f_ovvo += einsum(x429, (0, 1, 2, 3), (0, 3, 2, 1)) * -1.0 - del x429 - x430 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x430 += einsum(x42, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - x430 += einsum(x42, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) - x431 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x431 += einsum(t2, (0, 1, 2, 3), x430, (0, 1, 4, 5, 6, 2), (4, 5, 6, 3)) * 0.5 - del x430 - rdm2_f_ovvo += einsum(x431, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - rdm2_f_ovvo += einsum(x431, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - rdm2_f_voov += einsum(x431, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_voov += einsum(x431, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - del x431 - x432 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x432 += einsum(t2, (0, 1, 2, 3), x274, (1, 4, 5, 2), (4, 0, 5, 3)) - rdm2_f_ovvo += einsum(x432, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - rdm2_f_ovvo += einsum(x432, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - rdm2_f_vovo += einsum(x432, (0, 1, 2, 3), (2, 1, 3, 0)) - rdm2_f_vovo += einsum(x432, (0, 1, 2, 3), (2, 1, 3, 0)) - del x432 - x433 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x433 += einsum(l2, (0, 1, 2, 3), (3, 2, 0, 1)) * 2.0 - x433 += einsum(l2, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 - x434 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x434 += einsum(t2, (0, 1, 2, 3), x433, (1, 4, 5, 3), (4, 0, 5, 2)) - del x433 - rdm2_f_ovvo += einsum(x434, (0, 1, 2, 3), (1, 2, 3, 0)) - rdm2_f_ovvo += einsum(x434, (0, 1, 2, 3), (1, 2, 3, 0)) - rdm2_f_vovo += einsum(x434, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - rdm2_f_vovo += einsum(x434, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - del x434 - x435 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x435 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (6, 3, 5, 0, 7, 2), (4, 6, 1, 7)) - rdm2_f_ovvo += einsum(x435, (0, 1, 2, 3), (1, 2, 3, 0)) * -0.25 - rdm2_f_ovvo += einsum(x435, (0, 1, 2, 3), (1, 2, 3, 0)) * -0.25 - rdm2_f_voov += einsum(x435, (0, 1, 2, 3), (2, 1, 0, 3)) * -0.25 - rdm2_f_voov += einsum(x435, (0, 1, 2, 3), (2, 1, 0, 3)) * -0.25 - x436 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x436 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (3, 6, 5, 1, 7, 2), (4, 6, 0, 7)) - rdm2_f_ovvo += einsum(x436, (0, 1, 2, 3), (1, 2, 3, 0)) * -0.25 - rdm2_f_ovvo += einsum(x436, (0, 1, 2, 3), (1, 2, 3, 0)) * -0.25 - rdm2_f_voov += einsum(x436, (0, 1, 2, 3), (2, 1, 0, 3)) * -0.25 - rdm2_f_voov += einsum(x436, (0, 1, 2, 3), (2, 1, 0, 3)) * -0.25 - del x436 - x437 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x437 += einsum(l2, (0, 1, 2, 3), t2, (4, 2, 5, 1), (3, 4, 0, 5)) - rdm2_f_ovvo += einsum(x437, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - rdm2_f_ovvo += einsum(x437, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - rdm2_f_voov += einsum(x437, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_voov += einsum(x437, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - x438 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x438 += einsum(t3, (0, 1, 2, 3, 4, 5), x127, (1, 2, 6, 5, 4, 7), (0, 6, 3, 7)) * 0.25 - rdm2_f_ovvo += einsum(x438, (0, 1, 2, 3), (0, 3, 2, 1)) * -1.0 - rdm2_f_ovvo += einsum(x438, (0, 1, 2, 3), (0, 3, 2, 1)) * -1.0 - rdm2_f_voov += einsum(x438, (0, 1, 2, 3), (3, 0, 1, 2)) * -1.0 - rdm2_f_voov += einsum(x438, (0, 1, 2, 3), (3, 0, 1, 2)) * -1.0 - del x438 - x439 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x439 += einsum(t2, (0, 1, 2, 3), x250, (0, 1, 4, 5, 2, 6), (4, 5, 6, 3)) * 0.5 - rdm2_f_ovvo += einsum(x439, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - rdm2_f_ovvo += einsum(x439, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - rdm2_f_voov += einsum(x439, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_voov += einsum(x439, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - del x439 - x440 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x440 += einsum(l2, (0, 1, 2, 3), x92, (3, 4, 5, 1), (2, 4, 0, 5)) - del x92 - rdm2_f_ovvo += einsum(x440, (0, 1, 2, 3), (1, 2, 3, 0)) - rdm2_f_ovvo += einsum(x440, (0, 1, 2, 3), (1, 2, 3, 0)) - rdm2_f_voov += einsum(x440, (0, 1, 2, 3), (2, 1, 0, 3)) - rdm2_f_voov += einsum(x440, (0, 1, 2, 3), (2, 1, 0, 3)) - del x440 - x441 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x441 += einsum(t1, (0, 1), x130, (2, 0, 3, 4), (2, 3, 1, 4)) * 0.5 - rdm2_f_ovvo += einsum(x441, (0, 1, 2, 3), (1, 3, 2, 0)) * -1.0 - rdm2_f_ovvo += einsum(x441, (0, 1, 2, 3), (1, 3, 2, 0)) * -1.0 - del x441 - x442 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x442 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) - x442 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 2, 1)) * -1.0 - x443 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x443 += einsum(t3, (0, 1, 2, 3, 4, 5), x442, (2, 1, 6, 5, 7, 3), (6, 0, 7, 4)) * 0.25 - del x442 - rdm2_f_voov += einsum(x443, (0, 1, 2, 3), (2, 1, 0, 3)) - rdm2_f_voov += einsum(x443, (0, 1, 2, 3), (2, 1, 0, 3)) - del x443 - x444 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x444 += einsum(l3, (0, 1, 2, 3, 4, 5), x317, (5, 6, 3, 2, 7, 1), (4, 6, 0, 7)) * 0.25 - del x317 - rdm2_f_voov += einsum(x444, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_voov += einsum(x444, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - del x444 - x445 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x445 += einsum(x42, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -0.5 - x445 += einsum(x42, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) - x446 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x446 += einsum(t2, (0, 1, 2, 3), x445, (4, 0, 1, 5, 6, 2), (4, 5, 6, 3)) * 2.0 - del x445 - rdm2_f_voov += einsum(x446, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_voov += einsum(x446, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_vovo += einsum(x446, (0, 1, 2, 3), (2, 1, 3, 0)) - rdm2_f_vovo += einsum(x446, (0, 1, 2, 3), (2, 1, 3, 0)) - del x446 - x447 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x447 += einsum(l2, (0, 1, 2, 3), x6, (2, 4, 5, 1), (3, 4, 0, 5)) - rdm2_f_voov += einsum(x447, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_voov += einsum(x447, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - del x447 - x448 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x448 += einsum(l3, (0, 1, 2, 3, 4, 5), x349, (4, 6, 5, 1, 7, 2), (6, 3, 7, 0)) * 0.25 - rdm2_f_voov += einsum(x448, (0, 1, 2, 3), (3, 0, 1, 2)) - rdm2_f_voov += einsum(x448, (0, 1, 2, 3), (3, 0, 1, 2)) - del x448 - x449 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x449 += einsum(t1, (0, 1), x151, (2, 0, 3, 4), (2, 3, 1, 4)) - del x151 - rdm2_f_voov += einsum(x449, (0, 1, 2, 3), (3, 1, 0, 2)) * -1.0 - rdm2_f_voov += einsum(x449, (0, 1, 2, 3), (3, 1, 0, 2)) * -1.0 - del x449 - x450 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x450 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * 5.0 - x450 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 2, 1)) * -1.0 - x451 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x451 += einsum(t3, (0, 1, 2, 3, 4, 5), x450, (2, 6, 1, 5, 7, 4), (6, 0, 7, 3)) * 0.25 - del x450 - rdm2_f_vovo += einsum(x451, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - rdm2_f_vovo += einsum(x451, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - del x451 - x452 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x452 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - x452 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - x452 += einsum(t3, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 3, 4)) - x453 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x453 += einsum(l3, (0, 1, 2, 3, 4, 5), x452, (4, 6, 5, 1, 7, 2), (6, 3, 7, 0)) * 0.25 - del x452 - rdm2_f_vovo += einsum(x453, (0, 1, 2, 3), (3, 0, 2, 1)) - rdm2_f_vovo += einsum(x453, (0, 1, 2, 3), (3, 0, 2, 1)) - del x453 - x454 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x454 += einsum(l3, (0, 1, 2, 3, 4, 5), x315, (5, 6, 4, 2, 1, 7), (3, 6, 0, 7)) * 0.25 - del x315 - rdm2_f_vovo += einsum(x454, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - rdm2_f_vovo += einsum(x454, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - del x454 - x455 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x455 += einsum(t1, (0, 1), x130, (0, 2, 3, 4), (2, 3, 1, 4)) * 0.5 - rdm2_f_vovo += einsum(x455, (0, 1, 2, 3), (3, 1, 2, 0)) * -1.0 - rdm2_f_vovo += einsum(x455, (0, 1, 2, 3), (3, 1, 2, 0)) * -1.0 - del x455 - x456 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x456 += einsum(t3, (0, 1, 2, 3, 4, 5), x42, (2, 0, 1, 6, 7, 4), (6, 7, 5, 3)) - rdm2_f_ovvv = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - rdm2_f_ovvv += einsum(x456, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.50000000000001 - rdm2_f_ovvv += einsum(x456, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.50000000000001 - rdm2_f_vovv = np.zeros((nvir, nocc, nvir, nvir), dtype=types[float]) - rdm2_f_vovv += einsum(x456, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.50000000000001 - rdm2_f_vovv += einsum(x456, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.50000000000001 - del x456 - x457 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x457 += einsum(t3, (0, 1, 2, 3, 4, 5), x35, (0, 1, 2, 6, 4, 7), (6, 7, 3, 5)) - rdm2_f_ovvv += einsum(x457, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.16666666666667 - rdm2_f_ovvv += einsum(x457, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.16666666666667 - rdm2_f_vovv += einsum(x457, (0, 1, 2, 3), (1, 0, 3, 2)) * -0.16666666666667 - rdm2_f_vovv += einsum(x457, (0, 1, 2, 3), (1, 0, 3, 2)) * -0.16666666666667 - del x457 - x458 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x458 += einsum(l1, (0, 1), t2, (2, 1, 3, 4), (2, 0, 3, 4)) - rdm2_f_ovvv += einsum(x458, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_ovvv += einsum(x458, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_vovv += einsum(x458, (0, 1, 2, 3), (1, 0, 3, 2)) - rdm2_f_vovv += einsum(x458, (0, 1, 2, 3), (1, 0, 3, 2)) - x459 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x459 += einsum(t2, (0, 1, 2, 3), x263, (1, 3, 4, 5), (0, 4, 2, 5)) - x460 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x460 += einsum(t3, (0, 1, 2, 3, 4, 5), x35, (0, 1, 2, 6, 3, 7), (6, 7, 5, 4)) - x461 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x461 += einsum(x238, (0, 1, 2, 3, 4, 5), x35, (0, 1, 2, 6, 7, 4), (6, 3, 5, 7)) * 0.16666666666667 - x462 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x462 += einsum(l2, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - x462 += einsum(l2, (0, 1, 2, 3), (2, 3, 0, 1)) - x463 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x463 += einsum(x462, (0, 1, 2, 3), t3, (4, 1, 0, 5, 6, 3), (4, 2, 5, 6)) * 0.5 - del x462 - x464 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x464 += einsum(l3, (0, 1, 2, 3, 4, 5), x198, (5, 6, 4, 2, 7, 1), (3, 6, 0, 7)) * 0.25 - del x198 - x465 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x465 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) - x465 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - x465 += einsum(t3, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 - x466 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x466 += einsum(l3, (0, 1, 2, 3, 4, 5), x465, (5, 6, 3, 2, 7, 1), (6, 4, 7, 0)) * 0.25 - del x465 - x467 = np.zeros((nocc, nocc, nocc, nocc, nvir, nvir), dtype=types[float]) - x467 += einsum(x42, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - x467 += einsum(x35, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - x467 += einsum(x35, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * 0.5 - x467 += einsum(x35, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -0.5 - x468 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x468 += einsum(t2, (0, 1, 2, 3), x467, (4, 1, 0, 5, 6, 2), (4, 5, 6, 3)) - del x467 - x469 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x469 += einsum(l2, (0, 1, 2, 3), x357, (3, 4, 1, 5), (4, 2, 5, 0)) - x470 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x470 += einsum(l2, (0, 1, 2, 3), x32, (2, 4, 1, 5), (3, 4, 0, 5)) - x471 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x471 += einsum(t1, (0, 1), x418, (2, 0, 3, 4), (2, 3, 4, 1)) * 0.5 - del x418 - x472 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x472 += einsum(x197, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.25 - del x197 - x472 += einsum(x176, (0, 1, 2, 3), (0, 1, 2, 3)) - x472 += einsum(x464, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x464 - x472 += einsum(x466, (0, 1, 2, 3), (1, 0, 3, 2)) - del x466 - x472 += einsum(x468, (0, 1, 2, 3), (0, 1, 2, 3)) - del x468 - x472 += einsum(x469, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x469 - x472 += einsum(x470, (0, 1, 2, 3), (0, 1, 2, 3)) - del x470 - x472 += einsum(x471, (0, 1, 2, 3), (0, 1, 2, 3)) - del x471 - x473 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x473 += einsum(t1, (0, 1), x472, (0, 2, 3, 4), (2, 3, 4, 1)) - del x472 - x474 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x474 += einsum(t2, (0, 1, 2, 3), x222, (1, 4, 5, 6, 2, 3), (4, 5, 0, 6)) * 0.5 - del x222 - x475 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x475 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) - x475 += einsum(x474, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x474 - x476 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x476 += einsum(t2, (0, 1, 2, 3), x475, (1, 0, 4, 5), (4, 5, 2, 3)) - del x475 - x477 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x477 += einsum(t2, (0, 1, 2, 3), x378, (1, 0, 4, 5), (4, 5, 2, 3)) * 0.25 - del x378 - x478 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x478 += einsum(x458, (0, 1, 2, 3), (0, 1, 2, 3)) - del x458 - x478 += einsum(x459, (0, 1, 2, 3), (0, 1, 2, 3)) - del x459 - x478 += einsum(x460, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.16666666666667 - del x460 - x478 += einsum(x461, (0, 1, 2, 3), (0, 3, 1, 2)) * -1.0 - del x461 - x478 += einsum(x463, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x463 - x478 += einsum(x473, (0, 1, 2, 3), (0, 1, 3, 2)) - del x473 - x478 += einsum(x476, (0, 1, 2, 3), (0, 1, 3, 2)) - del x476 - x478 += einsum(x477, (0, 1, 2, 3), (0, 1, 2, 3)) - del x477 - x478 += einsum(t1, (0, 1), x422, (2, 3), (0, 2, 1, 3)) - del x422 - rdm2_f_ovvv += einsum(x478, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_ovvv += einsum(x478, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_ovvv += einsum(x478, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_ovvv += einsum(x478, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_vovv += einsum(x478, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - rdm2_f_vovv += einsum(x478, (0, 1, 2, 3), (1, 0, 3, 2)) - rdm2_f_vovv += einsum(x478, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - rdm2_f_vovv += einsum(x478, (0, 1, 2, 3), (1, 0, 3, 2)) - del x478 - x479 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x479 += einsum(t2, (0, 1, 2, 3), x128, (1, 4, 5, 3), (0, 2, 5, 4)) * -1.0 - rdm2_f_ovvv += einsum(x479, (0, 1, 2, 3), (0, 2, 1, 3)) - rdm2_f_ovvv += einsum(x479, (0, 1, 2, 3), (0, 2, 3, 1)) * -0.5 - rdm2_f_ovvv += einsum(x479, (0, 1, 2, 3), (0, 2, 1, 3)) - rdm2_f_ovvv += einsum(x479, (0, 1, 2, 3), (0, 2, 3, 1)) * -0.5 - rdm2_f_vovv += einsum(x479, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_vovv += einsum(x479, (0, 1, 2, 3), (2, 0, 3, 1)) * 0.5 - rdm2_f_vovv += einsum(x479, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_vovv += einsum(x479, (0, 1, 2, 3), (2, 0, 3, 1)) * 0.5 - del x479 - x480 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x480 += einsum(x258, (0, 1, 2, 3), x6, (0, 4, 2, 5), (4, 1, 3, 5)) - rdm2_f_ovvv += einsum(x480, (0, 1, 2, 3), (0, 1, 3, 2)) - rdm2_f_ovvv += einsum(x480, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - rdm2_f_ovvv += einsum(x480, (0, 1, 2, 3), (0, 1, 3, 2)) - rdm2_f_ovvv += einsum(x480, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - rdm2_f_vovv += einsum(x480, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - rdm2_f_vovv += einsum(x480, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 - rdm2_f_vovv += einsum(x480, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - rdm2_f_vovv += einsum(x480, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 - del x480 - x481 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x481 += einsum(x238, (0, 1, 2, 3, 4, 5), x35, (0, 2, 1, 6, 7, 5), (6, 3, 4, 7)) * 0.16666666666667 - rdm2_f_ovvv += einsum(x481, (0, 1, 2, 3), (0, 3, 1, 2)) * -1.0 - rdm2_f_ovvv += einsum(x481, (0, 1, 2, 3), (0, 3, 1, 2)) * -1.0 - del x481 - x482 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x482 += einsum(l2, (0, 1, 2, 3), (3, 2, 0, 1)) * -0.3333333333333333 - x482 += einsum(l2, (0, 1, 2, 3), (2, 3, 0, 1)) - x483 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x483 += einsum(x482, (0, 1, 2, 3), t3, (4, 1, 0, 5, 3, 6), (4, 2, 6, 5)) * 1.5 - del x482 - rdm2_f_ovvv += einsum(x483, (0, 1, 2, 3), (0, 1, 3, 2)) - rdm2_f_ovvv += einsum(x483, (0, 1, 2, 3), (0, 1, 3, 2)) - del x483 - x484 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x484 += einsum(t2, (0, 1, 2, 3), l3, (4, 3, 5, 6, 0, 1), (6, 4, 5, 2)) - x485 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x485 += einsum(t2, (0, 1, 2, 3), l3, (4, 3, 5, 0, 6, 1), (6, 4, 5, 2)) - x486 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x486 += einsum(x484, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x486 += einsum(x485, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x486 += einsum(x485, (0, 1, 2, 3), (0, 2, 1, 3)) - x487 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x487 += einsum(x32, (0, 1, 2, 3), x486, (0, 4, 3, 5), (1, 4, 5, 2)) * 0.5 - del x486 - rdm2_f_ovvv += einsum(x487, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_ovvv += einsum(x487, (0, 1, 2, 3), (0, 1, 2, 3)) - del x487 - x488 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x488 += einsum(t2, (0, 1, 2, 3), x270, (1, 4, 2, 5), (0, 4, 5, 3)) * 0.5 - del x270 - rdm2_f_ovvv += einsum(x488, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_ovvv += einsum(x488, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x488 - x489 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x489 += einsum(x6, (0, 1, 2, 3), l3, (4, 5, 2, 6, 0, 1), (6, 4, 5, 3)) - x490 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x490 += einsum(t2, (0, 1, 2, 3), x489, (1, 4, 3, 5), (0, 4, 5, 2)) * -1.0 - rdm2_f_ovvv += einsum(x490, (0, 1, 2, 3), (0, 1, 3, 2)) - rdm2_f_ovvv += einsum(x490, (0, 1, 2, 3), (0, 1, 3, 2)) - del x490 - x491 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x491 += einsum(t1, (0, 1), x10, (2, 0, 3, 4), (2, 3, 1, 4)) * 3.0 - x492 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x492 += einsum(t1, (0, 1), x491, (0, 2, 3, 4), (2, 4, 3, 1)) * 0.5 - del x491 - rdm2_f_ovvv += einsum(x492, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_ovvv += einsum(x492, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x492 - x493 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x493 += einsum(l2, (0, 1, 2, 3), t3, (4, 2, 3, 5, 6, 1), (4, 0, 5, 6)) - rdm2_f_ovvv += einsum(x493, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_ovvv += einsum(x493, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_vovv += einsum(x493, (0, 1, 2, 3), (1, 0, 3, 2)) - rdm2_f_vovv += einsum(x493, (0, 1, 2, 3), (1, 0, 3, 2)) - del x493 - x494 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x494 += einsum(t3, (0, 1, 2, 3, 4, 5), x42, (2, 0, 1, 6, 5, 7), (6, 7, 3, 4)) - del x42 - rdm2_f_ovvv += einsum(x494, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.50000000000001 - rdm2_f_ovvv += einsum(x494, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.50000000000001 - rdm2_f_vovv += einsum(x494, (0, 1, 2, 3), (1, 0, 3, 2)) * -0.50000000000001 - rdm2_f_vovv += einsum(x494, (0, 1, 2, 3), (1, 0, 3, 2)) * -0.50000000000001 - del x494 - x495 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x495 += einsum(t3, (0, 1, 2, 3, 4, 5), x35, (0, 2, 1, 6, 7, 5), (6, 7, 3, 4)) - rdm2_f_ovvv += einsum(x495, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.50000000000001 - rdm2_f_ovvv += einsum(x495, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.50000000000001 - rdm2_f_vovv += einsum(x495, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.50000000000001 - rdm2_f_vovv += einsum(x495, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.50000000000001 - del x495 - x496 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x496 += einsum(x274, (0, 1, 2, 3), t3, (0, 4, 1, 5, 6, 3), (4, 2, 5, 6)) * 0.5 - del x274 - rdm2_f_ovvv += einsum(x496, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_ovvv += einsum(x496, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_vovv += einsum(x496, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - rdm2_f_vovv += einsum(x496, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x496 - x497 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x497 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 3, 4, 0, 2, 1)) - x497 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * -1.0 - x497 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) - x497 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 1, 2)) * -1.0 - x498 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x498 += einsum(t2, (0, 1, 2, 3), x497, (0, 1, 4, 5, 2, 6), (4, 5, 6, 3)) - del x497 - x499 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x499 += einsum(x263, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x499 += einsum(x263, (0, 1, 2, 3), (0, 2, 1, 3)) - x499 += einsum(x498, (0, 1, 2, 3), (0, 1, 2, 3)) - del x498 - x500 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x500 += einsum(t2, (0, 1, 2, 3), x499, (1, 4, 3, 5), (0, 4, 5, 2)) - del x499 - rdm2_f_ovvv += einsum(x500, (0, 1, 2, 3), (0, 1, 3, 2)) - rdm2_f_ovvv += einsum(x500, (0, 1, 2, 3), (0, 1, 3, 2)) - del x500 - x501 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x501 += einsum(t2, (0, 1, 2, 3), x127, (0, 1, 4, 5, 2, 6), (4, 3, 5, 6)) * 0.5 - del x127 - rdm2_f_vvov += einsum(x501, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - rdm2_f_vvov += einsum(x501, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - rdm2_f_vvvo += einsum(x501, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 - rdm2_f_vvvo += einsum(x501, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 - x502 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x502 += einsum(x263, (0, 1, 2, 3), (0, 1, 2, 3)) - x502 += einsum(x501, (0, 1, 2, 3), (0, 3, 2, 1)) * -1.0 - del x501 - x503 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x503 += einsum(t2, (0, 1, 2, 3), x502, (1, 4, 2, 5), (0, 4, 5, 3)) - rdm2_f_ovvv += einsum(x503, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - rdm2_f_ovvv += einsum(x503, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x503 - x504 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x504 += einsum(x263, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x504 += einsum(x128, (0, 1, 2, 3), (0, 3, 2, 1)) * -1.0 - x505 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x505 += einsum(t2, (0, 1, 2, 3), x504, (1, 2, 4, 5), (0, 4, 5, 3)) * 0.5 - del x504 - rdm2_f_ovvv += einsum(x505, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_ovvv += einsum(x505, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x505 - x506 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x506 += einsum(l3, (0, 1, 2, 3, 4, 5), x349, (4, 6, 5, 1, 7, 2), (6, 3, 7, 0)) * 0.125 - del x349 - x507 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x507 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 3, 4, 0, 2, 1)) - x507 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * -1.0 - x508 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x508 += einsum(t3, (0, 1, 2, 3, 4, 5), x507, (1, 2, 6, 4, 5, 7), (6, 0, 7, 3)) * 0.125 - x509 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x509 += einsum(t2, (0, 1, 2, 3), x250, (0, 1, 4, 5, 3, 6), (4, 5, 6, 2)) * 0.25 - del x250 - x510 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x510 += einsum(l2, (0, 1, 2, 3), x357, (3, 4, 1, 5), (4, 2, 5, 0)) * 0.5 - x511 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x511 += einsum(t1, (0, 1), x130, (2, 0, 3, 4), (2, 3, 1, 4)) * 0.25 - del x130 - x512 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x512 += einsum(x437, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - del x437 - x512 += einsum(x435, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.125 - del x435 - x512 += einsum(x183, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.125 - del x183 - x512 += einsum(x176, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - del x176 - x512 += einsum(x506, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x506 - x512 += einsum(x508, (0, 1, 2, 3), (0, 1, 2, 3)) - del x508 - x512 += einsum(x509, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x509 - x512 += einsum(x510, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x510 - x512 += einsum(x511, (0, 1, 2, 3), (0, 1, 3, 2)) - del x511 - x513 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x513 += einsum(t1, (0, 1), x512, (0, 2, 3, 4), (2, 3, 4, 1)) * 2.0 - del x512 - rdm2_f_ovvv += einsum(x513, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - rdm2_f_ovvv += einsum(x513, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - rdm2_f_vovv += einsum(x513, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - rdm2_f_vovv += einsum(x513, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x513 - x514 = np.zeros((nocc, nocc, nocc, nvir), dtype=types[float]) - x514 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) - del x23 - x514 += einsum(x331, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x331 - x515 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x515 += einsum(t2, (0, 1, 2, 3), x514, (0, 1, 4, 5), (4, 5, 3, 2)) - del x514 - rdm2_f_ovvv += einsum(x515, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - rdm2_f_ovvv += einsum(x515, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - rdm2_f_vovv += einsum(x515, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - rdm2_f_vovv += einsum(x515, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x515 - x516 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x516 += einsum(t2, (0, 1, 2, 3), x33, (0, 1, 4, 5), (4, 3, 2, 5)) * -0.5 - del x33 - rdm2_f_ovvv += einsum(x516, (0, 1, 2, 3), (0, 3, 2, 1)) * -1.0 - rdm2_f_ovvv += einsum(x516, (0, 1, 2, 3), (0, 3, 2, 1)) * -1.0 - rdm2_f_vovv += einsum(x516, (0, 1, 2, 3), (3, 0, 1, 2)) * -1.0 - rdm2_f_vovv += einsum(x516, (0, 1, 2, 3), (3, 0, 1, 2)) * -1.0 - del x516 - x517 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x517 += einsum(t2, (0, 1, 2, 3), x143, (0, 1, 4, 5, 6, 2), (4, 5, 3, 6)) * 0.5 - del x143 - x518 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x518 += einsum(x399, (0, 1, 2, 3), (0, 1, 2, 3)) - del x399 - x518 += einsum(x374, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - del x374 - x518 += einsum(x375, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - del x375 - x518 += einsum(x400, (0, 1, 2, 3), (0, 1, 2, 3)) - del x400 - x518 += einsum(x517, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x517 - x519 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x519 += einsum(t1, (0, 1), x518, (0, 2, 3, 4), (2, 3, 4, 1)) - del x518 - rdm2_f_ovvv += einsum(x519, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_ovvv += einsum(x519, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_vovv += einsum(x519, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - rdm2_f_vovv += einsum(x519, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x519 - x520 = np.zeros((nvir, nvir), dtype=types[float]) - x520 += einsum(l3, (0, 1, 2, 3, 4, 5), x204, (4, 3, 5, 1, 6, 2), (0, 6)) * 0.041666666666665 - del x204 - x521 = np.zeros((nvir, nvir), dtype=types[float]) - x521 += einsum(l3, (0, 1, 2, 3, 4, 5), x45, (4, 5, 3, 6, 1, 2), (0, 6)) * 0.041666666666665 - del x45 - x522 = np.zeros((nvir, nvir), dtype=types[float]) - x522 += einsum(t2, (0, 1, 2, 3), x96, (0, 1, 2, 4), (3, 4)) - del x96 - x523 = np.zeros((nvir, nvir), dtype=types[float]) - x523 += einsum(x421, (0, 1), (0, 1)) * 0.5 - del x421 - x523 += einsum(x203, (0, 1), (0, 1)) * 0.124999999999995 - del x203 - x523 += einsum(x520, (0, 1), (0, 1)) - del x520 - x523 += einsum(x521, (0, 1), (0, 1)) * -1.0 - del x521 - x523 += einsum(x522, (0, 1), (1, 0)) - del x522 - rdm2_f_ovvv += einsum(t1, (0, 1), x523, (2, 3), (0, 2, 1, 3)) * 2.0 - rdm2_f_ovvv += einsum(t1, (0, 1), x523, (2, 3), (0, 2, 1, 3)) * 2.0 - rdm2_f_vovv += einsum(t1, (0, 1), x523, (2, 3), (2, 0, 3, 1)) * 2.0 - rdm2_f_vovv += einsum(t1, (0, 1), x523, (2, 3), (2, 0, 3, 1)) * 2.0 - del x523 - x524 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x524 += einsum(x178, (0, 1, 2, 3, 4, 5), x35, (0, 2, 1, 6, 7, 5), (6, 7, 3, 4)) * 0.16666666666667 - del x35, x178 - rdm2_f_vovv += einsum(x524, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - rdm2_f_vovv += einsum(x524, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x524 - x525 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x525 += einsum(l2, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - x525 += einsum(l2, (0, 1, 2, 3), (2, 3, 0, 1)) * 3.0 - x526 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x526 += einsum(x525, (0, 1, 2, 3), t3, (4, 1, 0, 5, 3, 6), (4, 2, 6, 5)) * 0.5 - del x525 - rdm2_f_vovv += einsum(x526, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - rdm2_f_vovv += einsum(x526, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x526 - x527 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x527 += einsum(x484, (0, 1, 2, 3), (0, 1, 2, 3)) - del x484 - x527 += einsum(x485, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x527 += einsum(x485, (0, 1, 2, 3), (0, 2, 1, 3)) * 0.5 - x528 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x528 += einsum(x32, (0, 1, 2, 3), x527, (0, 4, 3, 5), (1, 4, 5, 2)) - del x527 - rdm2_f_vovv += einsum(x528, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - rdm2_f_vovv += einsum(x528, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x528 - x529 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x529 += einsum(x489, (0, 1, 2, 3), x6, (0, 4, 2, 5), (4, 1, 3, 5)) * -1.0 - del x6, x489 - rdm2_f_vovv += einsum(x529, (0, 1, 2, 3), (1, 0, 3, 2)) - rdm2_f_vovv += einsum(x529, (0, 1, 2, 3), (1, 0, 3, 2)) - del x529 - x530 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x530 += einsum(t2, (0, 1, 2, 3), x128, (1, 4, 5, 2), (0, 3, 5, 4)) * -0.5 - rdm2_f_vovv += einsum(x530, (0, 1, 2, 3), (2, 0, 1, 3)) - rdm2_f_vovv += einsum(x530, (0, 1, 2, 3), (2, 0, 1, 3)) - del x530 - x531 = np.zeros((nocc, nocc, nvir, nvir), dtype=types[float]) - x531 += einsum(t1, (0, 1), x10, (2, 0, 3, 4), (2, 3, 1, 4)) - del x10 - x532 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x532 += einsum(t1, (0, 1), x531, (0, 2, 3, 4), (2, 4, 3, 1)) * 1.5 - del x531 - rdm2_f_vovv += einsum(x532, (0, 1, 2, 3), (1, 0, 3, 2)) - rdm2_f_vovv += einsum(x532, (0, 1, 2, 3), (1, 0, 3, 2)) - del x532 - x533 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x533 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 3, 4, 0, 2, 1)) - x533 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) * -1.0 - x533 += einsum(l3, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 0, 2)) * 4.0 - x534 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x534 += einsum(t2, (0, 1, 2, 3), x533, (0, 1, 4, 2, 5, 6), (4, 5, 6, 3)) - del x533 - x535 = np.zeros((nocc, nocc, nocc, nvir, nvir, nvir), dtype=types[float]) - x535 += einsum(l3, (0, 1, 2, 3, 4, 5), (5, 3, 4, 0, 1, 2)) - x535 += einsum(l3, (0, 1, 2, 3, 4, 5), (3, 5, 4, 0, 2, 1)) - x536 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x536 += einsum(t2, (0, 1, 2, 3), x535, (1, 4, 0, 5, 6, 3), (4, 5, 6, 2)) * 2.0 - del x535 - x537 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x537 += einsum(x485, (0, 1, 2, 3), (0, 1, 2, 3)) - x537 += einsum(x485, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x537 += einsum(x534, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x534 - x537 += einsum(x536, (0, 1, 2, 3), (0, 1, 2, 3)) - del x536 - x538 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x538 += einsum(t2, (0, 1, 2, 3), x537, (1, 3, 4, 5), (0, 4, 5, 2)) * 0.5 - del x537 - rdm2_f_vovv += einsum(x538, (0, 1, 2, 3), (1, 0, 2, 3)) - rdm2_f_vovv += einsum(x538, (0, 1, 2, 3), (1, 0, 2, 3)) - del x538 - x539 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x539 += einsum(t2, (0, 1, 2, 3), x507, (0, 1, 4, 5, 2, 6), (4, 5, 6, 3)) - x540 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x540 += einsum(x47, (0, 1, 2, 3), (0, 2, 1, 3)) * 2.0 - del x47 - x540 += einsum(x539, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x539 - x541 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x541 += einsum(t2, (0, 1, 2, 3), x540, (1, 2, 4, 5), (0, 4, 5, 3)) * 0.5 - del x540 - rdm2_f_vovv += einsum(x541, (0, 1, 2, 3), (1, 0, 3, 2)) - rdm2_f_vovv += einsum(x541, (0, 1, 2, 3), (1, 0, 3, 2)) - del x541 - x542 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x542 += einsum(t2, (0, 1, 2, 3), x502, (1, 2, 4, 5), (0, 4, 5, 3)) - del x502 - rdm2_f_vovv += einsum(x542, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - rdm2_f_vovv += einsum(x542, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x542 - x543 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x543 += einsum(t1, (0, 1), l2, (2, 3, 4, 0), (4, 2, 3, 1)) - rdm2_f_vvov += einsum(x543, (0, 1, 2, 3), (1, 2, 0, 3)) - rdm2_f_vvov += einsum(x543, (0, 1, 2, 3), (1, 2, 0, 3)) - rdm2_f_vvvo += einsum(x543, (0, 1, 2, 3), (2, 1, 3, 0)) - rdm2_f_vvvo += einsum(x543, (0, 1, 2, 3), (2, 1, 3, 0)) - x544 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x544 += einsum(x543, (0, 1, 2, 3), (0, 1, 2, 3)) - x544 += einsum(x485, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - del x485 - rdm2_f_vvov += einsum(x544, (0, 1, 2, 3), (1, 2, 0, 3)) - rdm2_f_vvov += einsum(x544, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_vvov += einsum(x544, (0, 1, 2, 3), (1, 2, 0, 3)) - rdm2_f_vvov += einsum(x544, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_vvvo += einsum(x544, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - rdm2_f_vvvo += einsum(x544, (0, 1, 2, 3), (2, 1, 3, 0)) - rdm2_f_vvvo += einsum(x544, (0, 1, 2, 3), (1, 2, 3, 0)) * -1.0 - rdm2_f_vvvo += einsum(x544, (0, 1, 2, 3), (2, 1, 3, 0)) - del x544 - x545 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x545 += einsum(x357, (0, 1, 2, 3), l3, (4, 2, 5, 1, 0, 6), (6, 3, 4, 5)) - del x357 - rdm2_f_vvov += einsum(x545, (0, 1, 2, 3), (3, 2, 0, 1)) - rdm2_f_vvov += einsum(x545, (0, 1, 2, 3), (3, 2, 0, 1)) - rdm2_f_vvvo += einsum(x545, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 - rdm2_f_vvvo += einsum(x545, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 - del x545 - x546 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) - x546 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (3, 4, 5, 6, 1, 7), (0, 2, 6, 7)) - rdm2_f_vvvv = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) - rdm2_f_vvvv += einsum(x546, (0, 1, 2, 3), (1, 0, 3, 2)) * 0.50000000000001 - rdm2_f_vvvv += einsum(x546, (0, 1, 2, 3), (1, 0, 3, 2)) * 0.50000000000001 - del x546 - x547 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) - x547 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (5, 3, 4, 6, 2, 7), (0, 1, 6, 7)) - rdm2_f_vvvv += einsum(x547, (0, 1, 2, 3), (1, 0, 3, 2)) * -0.16666666666667 - rdm2_f_vvvv += einsum(x547, (0, 1, 2, 3), (1, 0, 3, 2)) * -0.16666666666667 - del x547 - x548 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) - x548 += einsum(l2, (0, 1, 2, 3), t2, (2, 3, 4, 5), (0, 1, 4, 5)) - rdm2_f_vvvv += einsum(x548, (0, 1, 2, 3), (1, 0, 3, 2)) - rdm2_f_vvvv += einsum(x548, (0, 1, 2, 3), (1, 0, 3, 2)) - x549 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) - x549 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (5, 3, 4, 2, 6, 7), (0, 1, 7, 6)) - x550 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) - x550 += einsum(l3, (0, 1, 2, 3, 4, 5), x238, (3, 5, 4, 6, 2, 7), (6, 7, 0, 1)) * 0.16666666666667 - x551 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x551 += einsum(x32, (0, 1, 2, 3), l3, (4, 5, 2, 6, 0, 1), (6, 4, 5, 3)) - del x32 - x552 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x552 += einsum(t2, (0, 1, 2, 3), x507, (0, 1, 4, 5, 2, 6), (4, 5, 6, 3)) * 0.5 - del x507 - x553 = np.zeros((nocc, nvir, nvir, nvir), dtype=types[float]) - x553 += einsum(x543, (0, 1, 2, 3), (0, 1, 2, 3)) - x553 += einsum(x551, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x551 - x553 += einsum(x552, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x552 - x554 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) - x554 += einsum(t1, (0, 1), x553, (0, 2, 3, 4), (2, 3, 4, 1)) - del x553 - x555 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) - x555 += einsum(x548, (0, 1, 2, 3), (1, 0, 3, 2)) - del x548 - x555 += einsum(x549, (0, 1, 2, 3), (1, 0, 3, 2)) * -0.16666666666667 - del x549 - x555 += einsum(x550, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 - del x550 - x555 += einsum(x554, (0, 1, 2, 3), (1, 0, 2, 3)) - del x554 - rdm2_f_vvvv += einsum(x555, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_vvvv += einsum(x555, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_vvvv += einsum(x555, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_vvvv += einsum(x555, (0, 1, 2, 3), (0, 1, 2, 3)) - del x555 - x556 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) - x556 += einsum(t1, (0, 1), x258, (0, 2, 3, 4), (2, 3, 1, 4)) - del x258 - rdm2_f_vvvv += einsum(x556, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_vvvv += einsum(x556, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_vvvv += einsum(x556, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_vvvv += einsum(x556, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x556 - x557 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) - x557 += einsum(l3, (0, 1, 2, 3, 4, 5), x238, (3, 5, 4, 6, 7, 2), (6, 7, 0, 1)) * 0.16666666666667 - del x238 - rdm2_f_vvvv += einsum(x557, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - rdm2_f_vvvv += einsum(x557, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - del x557 - x558 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) - x558 += einsum(t1, (0, 1), x543, (0, 2, 3, 4), (3, 2, 4, 1)) - del x543 - rdm2_f_vvvv += einsum(x558, (0, 1, 2, 3), (1, 0, 3, 2)) - rdm2_f_vvvv += einsum(x558, (0, 1, 2, 3), (1, 0, 3, 2)) - del x558 - x559 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) - x559 += einsum(l3, (0, 1, 2, 3, 4, 5), t3, (3, 4, 5, 6, 7, 2), (0, 1, 6, 7)) - x560 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) - x560 += einsum(t1, (0, 1), x263, (0, 2, 3, 4), (2, 3, 1, 4)) - del x263 - x561 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) - x561 += einsum(x559, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.50000000000001 - del x559 - x561 += einsum(x560, (0, 1, 2, 3), (0, 1, 2, 3)) - del x560 - rdm2_f_vvvv += einsum(x561, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_vvvv += einsum(x561, (0, 1, 2, 3), (1, 0, 3, 2)) - rdm2_f_vvvv += einsum(x561, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_vvvv += einsum(x561, (0, 1, 2, 3), (1, 0, 3, 2)) - del x561 - x562 = np.zeros((nvir, nvir, nvir, nvir), dtype=types[float]) - x562 += einsum(t1, (0, 1), x128, (0, 2, 3, 4), (1, 3, 4, 2)) * -0.5 - del x128 - rdm2_f_vvvv += einsum(x562, (0, 1, 2, 3), (1, 2, 3, 0)) - rdm2_f_vvvv += einsum(x562, (0, 1, 2, 3), (2, 1, 0, 3)) - rdm2_f_vvvv += einsum(x562, (0, 1, 2, 3), (1, 2, 3, 0)) - rdm2_f_vvvv += einsum(x562, (0, 1, 2, 3), (2, 1, 0, 3)) - del x562 - - rdm2_f = pack_2e(rdm2_f_oooo, rdm2_f_ooov, rdm2_f_oovo, rdm2_f_ovoo, rdm2_f_vooo, rdm2_f_oovv, rdm2_f_ovov, rdm2_f_ovvo, rdm2_f_voov, rdm2_f_vovo, rdm2_f_vvoo, rdm2_f_ovvv, rdm2_f_vovv, rdm2_f_vvov, rdm2_f_vvvo, rdm2_f_vvvv) - - rdm2_f = np.transpose(rdm2_f, (0, 2, 1, 3)) - - return rdm2_f - diff --git a/ebcc/codegen/UCCSDT.py b/ebcc/codegen/UCCSDT.py deleted file mode 100644 index e2d90271..00000000 --- a/ebcc/codegen/UCCSDT.py +++ /dev/null @@ -1,9150 +0,0 @@ -# Code generated for ebcc. - -from ebcc import numpy as np -from ebcc.util import pack_2e, einsum, Namespace -from ebcc.precision import types - -def energy(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, t3=None, **kwargs): - # energy - e_cc = 0 - e_cc += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 1, 3), ()) - e_cc += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (0, 3, 1, 2), ()) * -1.0 - e_cc += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (0, 2, 1, 3), ()) - x0 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x0 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x0 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x1 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x1 += einsum(f.bb.ov, (0, 1), (0, 1)) - x1 += einsum(t1.aa, (0, 1), v.aabb.ovov, (0, 1, 2, 3), (2, 3)) - x1 += einsum(t1.bb, (0, 1), x0, (0, 2, 1, 3), (2, 3)) * -0.5 - del x0 - e_cc += einsum(t1.bb, (0, 1), x1, (0, 1), ()) - del x1 - x2 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x2 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x2 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x3 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x3 += einsum(f.aa.ov, (0, 1), (0, 1)) - x3 += einsum(t1.aa, (0, 1), x2, (0, 2, 1, 3), (2, 3)) * -0.5 - del x2 - e_cc += einsum(t1.aa, (0, 1), x3, (0, 1), ()) - del x3 - - return e_cc - -def update_amps(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, t3=None, **kwargs): - t1new = Namespace() - t2new = Namespace() - t3new = Namespace() - - # T amplitudes - t1new_bb = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - t1new_bb += einsum(f.bb.ov, (0, 1), (0, 1)) - t1new_bb += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.babbab, (4, 0, 2, 5, 1, 3), (4, 5)) * 2.0 - t1new_bb += einsum(v.bbbb.ovov, (0, 1, 2, 3), t3.bbbbbb, (4, 0, 2, 5, 1, 3), (4, 5)) * 3.0 - t1new_bb += einsum(v.aaaa.ovov, (0, 1, 2, 3), t3.abaaba, (0, 4, 2, 1, 5, 3), (4, 5)) - t1new_aa = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - t1new_aa += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.abaaba, (4, 2, 0, 5, 3, 1), (4, 5)) * 2.0 - t1new_aa += einsum(v.aaaa.ovov, (0, 1, 2, 3), t3.aaaaaa, (4, 0, 2, 5, 1, 3), (4, 5)) * 3.0 - t1new_aa += einsum(f.aa.ov, (0, 1), (0, 1)) - t1new_aa += einsum(v.bbbb.ovov, (0, 1, 2, 3), t3.babbab, (0, 4, 2, 3, 5, 1), (4, 5)) * -1.0 - t2new_aaaa = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - t2new_aaaa += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.vvvv, (4, 2, 5, 3), (0, 1, 4, 5)) * 2.0 - t2new_abab = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - t2new_abab += einsum(v.aabb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - t2new_bbbb = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - t2new_bbbb += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.vvvv, (4, 3, 5, 2), (0, 1, 4, 5)) * -2.0 - x0 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x0 += einsum(t1.aa, (0, 1), v.aabb.ovov, (0, 1, 2, 3), (2, 3)) - t1new_bb += einsum(x0, (0, 1), (0, 1)) - x1 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x1 += einsum(t1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) - x2 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x2 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) - x2 += einsum(x1, (0, 1, 2, 3), (0, 1, 2, 3)) - t1new_bb += einsum(t2.bbbb, (0, 1, 2, 3), x2, (4, 0, 1, 3), (4, 2)) * 2.0 - t2new_abab += einsum(x2, (0, 1, 2, 3), t3.babbab, (1, 4, 2, 5, 6, 3), (4, 0, 6, 5)) * 2.0 - del x2 - x3 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x3 += einsum(t1.bb, (0, 1), v.aabb.ovov, (2, 3, 4, 1), (0, 4, 2, 3)) - x4 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x4 += einsum(v.aabb.ovoo, (0, 1, 2, 3), (2, 3, 0, 1)) - x4 += einsum(x3, (0, 1, 2, 3), (1, 0, 2, 3)) - t1new_bb += einsum(t2.abab, (0, 1, 2, 3), x4, (1, 4, 0, 2), (4, 3)) * -1.0 - t2new_abab += einsum(x4, (0, 1, 2, 3), t3.abaaba, (4, 0, 2, 5, 6, 3), (4, 1, 5, 6)) * -2.0 - x5 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x5 += einsum(t2.abab, (0, 1, 2, 3), (1, 3, 0, 2)) - x5 += einsum(t1.aa, (0, 1), t1.bb, (2, 3), (2, 3, 0, 1)) - t1new_bb += einsum(v.aabb.ovvv, (0, 1, 2, 3), x5, (4, 3, 0, 1), (4, 2)) - t1new_aa += einsum(v.aabb.vvov, (0, 1, 2, 3), x5, (2, 3, 4, 1), (4, 0)) - x6 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x6 += einsum(t2.bbbb, (0, 1, 2, 3), (0, 1, 2, 3)) - x6 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3)) * 0.5 - t1new_bb += einsum(v.bbbb.ovvv, (0, 1, 2, 3), x6, (0, 4, 1, 3), (4, 2)) * 2.0 - x7 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x7 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x7 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x8 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x8 += einsum(t1.bb, (0, 1), x7, (0, 2, 1, 3), (2, 3)) - x9 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x9 += einsum(f.bb.ov, (0, 1), (0, 1)) - x9 += einsum(x0, (0, 1), (0, 1)) - x9 += einsum(x8, (0, 1), (0, 1)) * -1.0 - del x8 - t1new_bb += einsum(x9, (0, 1), t2.bbbb, (2, 0, 3, 1), (2, 3)) * 2.0 - t1new_aa += einsum(x9, (0, 1), t2.abab, (2, 0, 3, 1), (2, 3)) - t2new_aaaa += einsum(x9, (0, 1), t3.abaaba, (2, 0, 3, 4, 1, 5), (2, 3, 4, 5)) * 2.0 - t2new_abab += einsum(x9, (0, 1), t3.babbab, (2, 3, 0, 4, 5, 1), (3, 2, 5, 4)) * 2.0 - t2new_bbbb += einsum(x9, (0, 1), t3.bbbbbb, (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) * 6.0 - x10 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x10 += einsum(t1.bb, (0, 1), v.aabb.ovov, (2, 3, 0, 1), (2, 3)) - t1new_aa += einsum(x10, (0, 1), (0, 1)) - x11 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x11 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x11 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x12 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x12 += einsum(t1.aa, (0, 1), x11, (0, 2, 1, 3), (2, 3)) - x13 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x13 += einsum(f.aa.ov, (0, 1), (0, 1)) - x13 += einsum(x10, (0, 1), (0, 1)) - del x10 - x13 += einsum(x12, (0, 1), (0, 1)) * -1.0 - del x12 - t1new_bb += einsum(x13, (0, 1), t2.abab, (0, 2, 1, 3), (2, 3)) - t1new_aa += einsum(x13, (0, 1), t2.aaaa, (2, 0, 3, 1), (2, 3)) * 2.0 - t2new_aaaa += einsum(x13, (0, 1), t3.aaaaaa, (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) * 6.0 - t2new_abab += einsum(x13, (0, 1), t3.abaaba, (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) * 2.0 - t2new_bbbb += einsum(x13, (0, 1), t3.babbab, (2, 0, 3, 4, 1, 5), (2, 3, 4, 5)) * 2.0 - x14 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x14 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) - x14 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - t1new_bb += einsum(t1.bb, (0, 1), x14, (0, 2, 1, 3), (2, 3)) * -1.0 - x15 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x15 += einsum(t1.aa, (0, 1), v.aabb.ovoo, (0, 1, 2, 3), (2, 3)) - x16 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x16 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 2, 1, 3), (0, 4)) - x17 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x17 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 3), (1, 4)) - x18 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x18 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x18 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) - x19 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x19 += einsum(t1.bb, (0, 1), x18, (2, 3, 0, 1), (2, 3)) - x20 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x20 += einsum(t1.bb, (0, 1), x9, (2, 1), (2, 0)) - x21 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x21 += einsum(f.bb.oo, (0, 1), (0, 1)) - x21 += einsum(x15, (0, 1), (1, 0)) - x21 += einsum(x16, (0, 1), (1, 0)) * 2.0 - x21 += einsum(x17, (0, 1), (1, 0)) - x21 += einsum(x19, (0, 1), (1, 0)) * -1.0 - x21 += einsum(x20, (0, 1), (0, 1)) - t1new_bb += einsum(t1.bb, (0, 1), x21, (0, 2), (2, 1)) * -1.0 - t2new_abab += einsum(x21, (0, 1), t2.abab, (2, 0, 3, 4), (2, 1, 3, 4)) * -1.0 - t3new_abaaba = np.zeros((nocc[0], nocc[1], nocc[0], nvir[0], nvir[1], nvir[0]), dtype=types[float]) - t3new_abaaba += einsum(x21, (0, 1), t3.abaaba, (2, 0, 3, 4, 5, 6), (2, 1, 3, 4, 5, 6)) * -2.0 - del x21 - x22 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x22 += einsum(f.bb.vv, (0, 1), (0, 1)) - x22 += einsum(t1.bb, (0, 1), v.bbbb.ovvv, (0, 2, 3, 1), (2, 3)) * -1.0 - t1new_bb += einsum(t1.bb, (0, 1), x22, (1, 2), (0, 2)) - del x22 - x23 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x23 += einsum(t1.aa, (0, 1), v.aabb.ovov, (2, 1, 3, 4), (3, 4, 0, 2)) - x24 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x24 += einsum(v.aabb.ooov, (0, 1, 2, 3), (2, 3, 0, 1)) - x24 += einsum(x23, (0, 1, 2, 3), (0, 1, 3, 2)) - t1new_aa += einsum(t2.abab, (0, 1, 2, 3), x24, (1, 3, 0, 4), (4, 2)) * -1.0 - t2new_abab += einsum(x24, (0, 1, 2, 3), t3.babbab, (4, 2, 0, 5, 6, 1), (3, 4, 6, 5)) * -2.0 - x25 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x25 += einsum(t1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) - x26 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x26 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) - x26 += einsum(x25, (0, 1, 2, 3), (0, 1, 2, 3)) - t1new_aa += einsum(t2.aaaa, (0, 1, 2, 3), x26, (4, 0, 1, 3), (4, 2)) * 2.0 - t2new_abab += einsum(x26, (0, 1, 2, 3), t3.abaaba, (1, 4, 2, 5, 6, 3), (0, 4, 5, 6)) * 2.0 - del x26 - x27 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x27 += einsum(t2.aaaa, (0, 1, 2, 3), (0, 1, 2, 3)) - x27 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 1, 3)) * 0.5 - t1new_aa += einsum(v.aaaa.ovvv, (0, 1, 2, 3), x27, (0, 4, 3, 1), (4, 2)) * -2.0 - del x27 - x28 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x28 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) - x28 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - t1new_aa += einsum(t1.aa, (0, 1), x28, (0, 2, 1, 3), (2, 3)) * -1.0 - x29 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x29 += einsum(t1.bb, (0, 1), v.aabb.ooov, (2, 3, 0, 1), (2, 3)) - x30 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x30 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 1, 3), (0, 4)) - x31 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x31 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 3, 1, 2), (0, 4)) * -1.0 - x32 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x32 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x32 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) - x33 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x33 += einsum(t1.aa, (0, 1), x32, (2, 3, 0, 1), (2, 3)) - x34 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x34 += einsum(t1.aa, (0, 1), x13, (2, 1), (2, 0)) - x35 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x35 += einsum(f.aa.oo, (0, 1), (0, 1)) - x35 += einsum(x29, (0, 1), (1, 0)) - x35 += einsum(x30, (0, 1), (1, 0)) - x35 += einsum(x31, (0, 1), (1, 0)) * 2.0 - x35 += einsum(x33, (0, 1), (1, 0)) * -1.0 - x35 += einsum(x34, (0, 1), (0, 1)) - t1new_aa += einsum(t1.aa, (0, 1), x35, (0, 2), (2, 1)) * -1.0 - t2new_abab += einsum(x35, (0, 1), t2.abab, (0, 2, 3, 4), (1, 2, 3, 4)) * -1.0 - t3new_babbab = np.zeros((nocc[1], nocc[0], nocc[1], nvir[1], nvir[0], nvir[1]), dtype=types[float]) - t3new_babbab += einsum(x35, (0, 1), t3.babbab, (2, 0, 3, 4, 5, 6), (2, 1, 3, 4, 5, 6)) * -2.0 - del x35 - x36 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x36 += einsum(f.aa.vv, (0, 1), (0, 1)) - x36 += einsum(t1.aa, (0, 1), v.aaaa.ovvv, (0, 1, 2, 3), (2, 3)) - t1new_aa += einsum(t1.aa, (0, 1), x36, (1, 2), (0, 2)) - del x36 - x37 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x37 += einsum(t1.aa, (0, 1), v.aaaa.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) - x38 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x38 += einsum(t1.aa, (0, 1), v.aabb.vvov, (2, 1, 3, 4), (3, 4, 0, 2)) - t2new_abab += einsum(x38, (0, 1, 2, 3), (2, 0, 3, 1)) - x39 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x39 += einsum(t2.abab, (0, 1, 2, 3), x38, (1, 3, 4, 5), (4, 0, 2, 5)) - x40 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x40 += einsum(t2.aaaa, (0, 1, 2, 3), (0, 1, 2, 3)) - x40 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 3, 1)) * -0.5 - x41 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x41 += einsum(x28, (0, 1, 2, 3), x40, (0, 4, 2, 5), (1, 4, 3, 5)) * 2.0 - x42 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x42 += einsum(t2.aaaa, (0, 1, 2, 3), v.aabb.ovov, (1, 3, 4, 5), (4, 5, 0, 2)) - x43 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x43 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) - x43 += einsum(x42, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x44 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x44 += einsum(t2.abab, (0, 1, 2, 3), x43, (1, 3, 4, 5), (4, 0, 5, 2)) - del x43 - x45 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x45 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) - x45 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x46 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x46 += einsum(t1.aa, (0, 1), x45, (2, 1, 3, 4), (2, 0, 3, 4)) - x47 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x47 += einsum(t2.aaaa, (0, 1, 2, 3), x46, (1, 4, 5, 3), (0, 4, 2, 5)) * -2.0 - x48 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x48 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ooov, (4, 5, 1, 3), (0, 4, 5, 2)) - x49 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x49 += einsum(t1.aa, (0, 1), v.aaaa.ooov, (2, 3, 4, 1), (0, 2, 3, 4)) - x50 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x50 += einsum(t1.aa, (0, 1), x49, (2, 3, 4, 0), (2, 4, 3, 1)) - x51 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x51 += einsum(t1.aa, (0, 1), x37, (2, 3, 1, 4), (0, 2, 3, 4)) - x52 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x52 += einsum(t2.abab, (0, 1, 2, 3), x23, (1, 3, 4, 5), (4, 0, 5, 2)) - x53 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x53 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x53 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x54 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x54 += einsum(t2.aaaa, (0, 1, 2, 3), x53, (4, 5, 1, 3), (0, 4, 5, 2)) * 2.0 - del x53 - x55 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x55 += einsum(x25, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x55 += einsum(x25, (0, 1, 2, 3), (0, 2, 1, 3)) - x56 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x56 += einsum(t2.aaaa, (0, 1, 2, 3), x55, (4, 1, 5, 3), (0, 4, 5, 2)) * 2.0 - x57 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x57 += einsum(x48, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x57 += einsum(x50, (0, 1, 2, 3), (0, 2, 1, 3)) - x57 += einsum(x51, (0, 1, 2, 3), (0, 2, 1, 3)) - del x51 - x57 += einsum(x52, (0, 1, 2, 3), (0, 2, 1, 3)) - x57 += einsum(x54, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x54 - x57 += einsum(x56, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - x58 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x58 += einsum(t1.aa, (0, 1), x57, (2, 0, 3, 4), (2, 3, 4, 1)) - del x57 - x59 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x59 += einsum(x37, (0, 1, 2, 3), (0, 1, 2, 3)) - x59 += einsum(x39, (0, 1, 2, 3), (0, 1, 2, 3)) - del x39 - x59 += einsum(x41, (0, 1, 2, 3), (1, 0, 3, 2)) - del x41 - x59 += einsum(x44, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x44 - x59 += einsum(x47, (0, 1, 2, 3), (1, 0, 2, 3)) - del x47 - x59 += einsum(x58, (0, 1, 2, 3), (0, 1, 3, 2)) - del x58 - t2new_aaaa += einsum(x59, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_aaaa += einsum(x59, (0, 1, 2, 3), (0, 1, 3, 2)) - t2new_aaaa += einsum(x59, (0, 1, 2, 3), (1, 0, 2, 3)) - t2new_aaaa += einsum(x59, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x59 - x60 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x60 += einsum(f.aa.vv, (0, 1), t2.aaaa, (2, 3, 4, 1), (2, 3, 0, 4)) - x61 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x61 += einsum(t2.abab, (0, 1, 2, 3), x7, (1, 4, 3, 5), (4, 5, 0, 2)) - x62 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x62 += einsum(t2.abab, (0, 1, 2, 3), x61, (1, 3, 4, 5), (4, 0, 5, 2)) * -1.0 - x63 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x63 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x63 += einsum(x60, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 - del x60 - x63 += einsum(x62, (0, 1, 2, 3), (1, 0, 3, 2)) - del x62 - t2new_aaaa += einsum(x63, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new_aaaa += einsum(x63, (0, 1, 2, 3), (0, 1, 2, 3)) - del x63 - x64 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x64 += einsum(t1.aa, (0, 1), v.aaaa.vvvv, (2, 3, 4, 1), (0, 2, 3, 4)) - x65 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x65 += einsum(t1.aa, (0, 1), x64, (2, 3, 1, 4), (0, 2, 3, 4)) - x66 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x66 += einsum(v.aabb.vvov, (0, 1, 2, 3), t3.abaaba, (4, 2, 5, 6, 3, 1), (4, 5, 6, 0)) - x67 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x67 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 0, 6, 3, 1), (4, 5, 6, 2)) * -1.0 - x68 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x68 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x68 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x69 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x69 += einsum(t2.aaaa, (0, 1, 2, 3), x68, (1, 4, 5, 3), (0, 4, 2, 5)) - x70 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x70 += einsum(t2.aaaa, (0, 1, 2, 3), x69, (4, 1, 5, 3), (0, 4, 2, 5)) * -4.0 - del x69 - x71 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x71 += einsum(t1.bb, (0, 1), v.aabb.vvov, (2, 3, 0, 1), (2, 3)) - x72 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x72 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 4, 1, 3), (2, 4)) - x73 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x73 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (0, 3, 1, 4), (2, 4)) * -1.0 - x74 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x74 += einsum(t1.aa, (0, 1), x45, (0, 1, 2, 3), (2, 3)) - del x45 - x75 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x75 += einsum(x71, (0, 1), (1, 0)) * -1.0 - x75 += einsum(x72, (0, 1), (1, 0)) - x75 += einsum(x73, (0, 1), (1, 0)) * 2.0 - x75 += einsum(x74, (0, 1), (1, 0)) * -1.0 - x76 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x76 += einsum(x75, (0, 1), t2.aaaa, (2, 3, 4, 0), (2, 3, 4, 1)) * -2.0 - del x75 - x77 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x77 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovvv, (4, 2, 5, 3), (0, 1, 4, 5)) - x78 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x78 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.abaaba, (4, 2, 5, 6, 3, 1), (4, 5, 0, 6)) - x79 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x79 += einsum(v.aaaa.ovov, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 2, 6, 3, 1), (4, 5, 0, 6)) * -1.0 - x80 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x80 += einsum(x13, (0, 1), t2.aaaa, (2, 3, 4, 1), (0, 2, 3, 4)) * -2.0 - x81 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x81 += einsum(t1.aa, (0, 1), x25, (2, 3, 4, 1), (2, 0, 4, 3)) - x82 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x82 += einsum(v.aaaa.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x82 += einsum(x81, (0, 1, 2, 3), (3, 1, 2, 0)) - x83 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x83 += einsum(t1.aa, (0, 1), x82, (0, 2, 3, 4), (2, 3, 4, 1)) - del x82 - x84 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x84 += einsum(x77, (0, 1, 2, 3), (2, 1, 0, 3)) * -2.0 - x84 += einsum(x78, (0, 1, 2, 3), (2, 1, 0, 3)) * 2.0 - x84 += einsum(x79, (0, 1, 2, 3), (2, 1, 0, 3)) * 6.0 - x84 += einsum(x80, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x84 += einsum(x83, (0, 1, 2, 3), (1, 0, 2, 3)) - del x83 - x85 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x85 += einsum(t1.aa, (0, 1), x84, (0, 2, 3, 4), (2, 3, 4, 1)) - del x84 - x86 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x86 += einsum(x65, (0, 1, 2, 3), (0, 1, 2, 3)) - del x65 - x86 += einsum(x66, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x66 - x86 += einsum(x67, (0, 1, 2, 3), (0, 1, 2, 3)) * -6.0 - del x67 - x86 += einsum(x70, (0, 1, 2, 3), (1, 0, 3, 2)) - del x70 - x86 += einsum(x76, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x76 - x86 += einsum(x85, (0, 1, 2, 3), (1, 0, 3, 2)) - del x85 - t2new_aaaa += einsum(x86, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new_aaaa += einsum(x86, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x86 - x87 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x87 += einsum(v.aabb.ooov, (0, 1, 2, 3), t3.abaaba, (4, 2, 1, 5, 3, 6), (4, 0, 5, 6)) - x88 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x88 += einsum(v.aaaa.ooov, (0, 1, 2, 3), t3.aaaaaa, (4, 1, 2, 5, 6, 3), (4, 0, 5, 6)) - x89 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x89 += einsum(t2.aaaa, (0, 1, 2, 3), x49, (4, 5, 0, 1), (4, 5, 2, 3)) - x90 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x90 += einsum(x23, (0, 1, 2, 3), t3.abaaba, (4, 0, 3, 5, 1, 6), (2, 4, 5, 6)) - x91 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x91 += einsum(x25, (0, 1, 2, 3), t3.aaaaaa, (4, 1, 2, 5, 6, 3), (0, 4, 5, 6)) * -1.0 - x92 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x92 += einsum(f.aa.oo, (0, 1), (0, 1)) - x92 += einsum(x34, (0, 1), (1, 0)) - x93 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x93 += einsum(x92, (0, 1), t2.aaaa, (2, 1, 3, 4), (2, 0, 3, 4)) * -2.0 - del x92 - x94 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x94 += einsum(x29, (0, 1), (1, 0)) - x94 += einsum(x30, (0, 1), (1, 0)) - x94 += einsum(x31, (0, 1), (1, 0)) * 2.0 - x94 += einsum(x33, (0, 1), (1, 0)) * -1.0 - x95 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x95 += einsum(x94, (0, 1), t2.aaaa, (2, 0, 3, 4), (2, 1, 3, 4)) * -2.0 - del x94 - x96 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x96 += einsum(x87, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - del x87 - x96 += einsum(x88, (0, 1, 2, 3), (0, 1, 3, 2)) * -6.0 - del x88 - x96 += einsum(x89, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - del x89 - x96 += einsum(x90, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - del x90 - x96 += einsum(x91, (0, 1, 2, 3), (0, 1, 3, 2)) * 6.0 - del x91 - x96 += einsum(x93, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x93 - x96 += einsum(x95, (0, 1, 2, 3), (0, 1, 3, 2)) - del x95 - t2new_aaaa += einsum(x96, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_aaaa += einsum(x96, (0, 1, 2, 3), (1, 0, 2, 3)) - del x96 - x97 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x97 += einsum(t1.aa, (0, 1), v.aaaa.ooov, (2, 0, 3, 4), (2, 3, 1, 4)) - t2new_aaaa += einsum(x97, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_aaaa += einsum(x97, (0, 1, 2, 3), (1, 0, 2, 3)) - del x97 - x98 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x98 += einsum(t2.aaaa, (0, 1, 2, 3), (0, 1, 2, 3)) - x98 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 1, 3)) - x99 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x99 += einsum(v.aaaa.ovov, (0, 1, 2, 3), x98, (4, 5, 1, 3), (0, 2, 4, 5)) - x100 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x100 += einsum(v.aaaa.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x100 += einsum(x99, (0, 1, 2, 3), (1, 3, 0, 2)) - t2new_aaaa += einsum(t2.aaaa, (0, 1, 2, 3), x100, (0, 4, 1, 5), (4, 5, 2, 3)) * 2.0 - del x100 - x101 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x101 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 2, 5, 3), (0, 1, 4, 5)) - x102 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x102 += einsum(t1.aa, (0, 1), x101, (2, 3, 0, 4), (2, 3, 4, 1)) * -2.0 - x102 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x102 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) - t2new_aaaa += einsum(t1.aa, (0, 1), x102, (2, 3, 0, 4), (2, 3, 4, 1)) * -1.0 - del x102 - x103 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x103 += einsum(t1.bb, (0, 1), v.aabb.ovov, (2, 3, 0, 4), (1, 4, 2, 3)) - x104 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x104 += einsum(v.aabb.ovvv, (0, 1, 2, 3), (2, 3, 0, 1)) - x104 += einsum(x103, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - t2new_abab += einsum(x104, (0, 1, 2, 3), t3.abaaba, (4, 5, 2, 6, 0, 3), (4, 5, 6, 1)) * 2.0 - x105 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x105 += einsum(t1.aa, (0, 1), v.aabb.ovov, (0, 2, 3, 4), (3, 4, 1, 2)) - x106 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x106 += einsum(v.aabb.vvov, (0, 1, 2, 3), (2, 3, 0, 1)) - x106 += einsum(x105, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new_abab += einsum(x106, (0, 1, 2, 3), t3.babbab, (4, 5, 0, 6, 2, 1), (5, 4, 3, 6)) * 2.0 - x107 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x107 += einsum(t1.bb, (0, 1), v.bbbb.ovov, (2, 3, 0, 4), (2, 1, 3, 4)) - x108 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x108 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) - x108 += einsum(x107, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new_abab += einsum(x108, (0, 1, 2, 3), t3.babbab, (4, 5, 0, 2, 6, 3), (5, 4, 6, 1)) * 2.0 - del x108 - x109 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x109 += einsum(t1.aa, (0, 1), v.aaaa.ovov, (2, 3, 0, 4), (2, 1, 3, 4)) - x110 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x110 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) - x110 += einsum(x109, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new_abab += einsum(x110, (0, 1, 2, 3), t3.abaaba, (4, 5, 0, 2, 6, 3), (4, 5, 1, 6)) * 2.0 - del x110 - x111 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x111 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 5), (1, 4, 3, 5)) - x112 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x112 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x112 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x113 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x113 += einsum(t2.bbbb, (0, 1, 2, 3), (0, 1, 2, 3)) - x113 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1)) * -0.5 - x114 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x114 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x114 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) - x115 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x115 += einsum(t1.bb, (0, 1), x114, (2, 3, 1, 4), (2, 0, 3, 4)) - x116 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x116 += einsum(t1.bb, (0, 1), x18, (2, 3, 0, 4), (2, 3, 4, 1)) - x117 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x117 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x117 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x117 += einsum(x111, (0, 1, 2, 3), (1, 0, 3, 2)) - x117 += einsum(x112, (0, 1, 2, 3), x113, (0, 4, 3, 5), (1, 4, 2, 5)) * -2.0 - x117 += einsum(x115, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x117 += einsum(x116, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - t2new_abab += einsum(t2.abab, (0, 1, 2, 3), x117, (1, 4, 3, 5), (0, 4, 2, 5)) - del x117 - x118 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x118 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x118 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) - x119 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x119 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x119 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) - x120 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x120 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) - x120 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x120 += einsum(x11, (0, 1, 2, 3), x40, (0, 4, 3, 5), (1, 4, 2, 5)) * -2.0 - x120 += einsum(t1.aa, (0, 1), x118, (2, 1, 3, 4), (2, 0, 4, 3)) * -1.0 - x120 += einsum(t1.aa, (0, 1), x119, (0, 2, 3, 4), (3, 2, 4, 1)) * -1.0 - del x119 - t2new_abab += einsum(t2.abab, (0, 1, 2, 3), x120, (0, 4, 2, 5), (4, 1, 5, 3)) * -1.0 - del x120 - x121 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x121 += einsum(t1.bb, (0, 1), v.aabb.ooov, (2, 3, 0, 4), (1, 4, 2, 3)) - x122 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x122 += einsum(t1.aa, (0, 1), v.aabb.ovvv, (2, 1, 3, 4), (3, 4, 0, 2)) - x123 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x123 += einsum(v.aabb.oovv, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 - x123 += einsum(x121, (0, 1, 2, 3), (1, 0, 3, 2)) - x123 += einsum(x122, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - x123 += einsum(v.aabb.ovov, (0, 1, 2, 3), x5, (2, 4, 5, 1), (3, 4, 0, 5)) - t2new_abab += einsum(t2.abab, (0, 1, 2, 3), x123, (3, 4, 0, 5), (5, 1, 2, 4)) - del x123 - x124 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x124 += einsum(t1.aa, (0, 1), v.aabb.ooov, (2, 0, 3, 4), (3, 4, 2, 1)) - x125 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x125 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) - x125 += einsum(x124, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x125 += einsum(x38, (0, 1, 2, 3), (0, 1, 2, 3)) - x125 += einsum(v.aabb.ovov, (0, 1, 2, 3), x40, (0, 4, 1, 5), (2, 3, 4, 5)) * 2.0 - t2new_abab += einsum(t2.bbbb, (0, 1, 2, 3), x125, (1, 3, 4, 5), (4, 0, 5, 2)) * 2.0 - del x125 - x126 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x126 += einsum(t2.aaaa, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x126 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 3, 1)) * -1.0 - x127 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x127 += einsum(t1.bb, (0, 1), v.aabb.ovvv, (2, 3, 4, 1), (0, 4, 2, 3)) - x128 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x128 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) - x128 += einsum(x127, (0, 1, 2, 3), (0, 1, 2, 3)) - x128 += einsum(t1.bb, (0, 1), x4, (0, 2, 3, 4), (2, 1, 3, 4)) * -1.0 - t2new_abab += einsum(x126, (0, 1, 2, 3), x128, (4, 5, 0, 2), (1, 4, 3, 5)) - del x126, x128 - x129 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x129 += einsum(t1.bb, (0, 1), v.aabb.vvov, (2, 3, 4, 1), (0, 4, 2, 3)) - x130 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x130 += einsum(v.aabb.ovoo, (0, 1, 2, 3), (2, 3, 0, 1)) - x130 += einsum(x3, (0, 1, 2, 3), (0, 1, 2, 3)) - x131 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x131 += einsum(v.aabb.vvoo, (0, 1, 2, 3), (2, 3, 0, 1)) - x131 += einsum(x129, (0, 1, 2, 3), (1, 0, 3, 2)) - x131 += einsum(t1.aa, (0, 1), x130, (2, 3, 0, 4), (3, 2, 4, 1)) * -1.0 - t2new_abab += einsum(t2.abab, (0, 1, 2, 3), x131, (1, 4, 2, 5), (0, 4, 5, 3)) * -1.0 - del x131 - x132 = np.zeros((nvir[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x132 += einsum(t1.bb, (0, 1), v.aabb.vvov, (2, 3, 0, 4), (1, 4, 2, 3)) - x133 = np.zeros((nvir[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x133 += einsum(t1.aa, (0, 1), v.aabb.ovvv, (0, 2, 3, 4), (3, 4, 1, 2)) - x134 = np.zeros((nvir[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x134 += einsum(v.aabb.vvvv, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 - x134 += einsum(x132, (0, 1, 2, 3), (1, 0, 3, 2)) - x134 += einsum(x133, (0, 1, 2, 3), (1, 0, 3, 2)) - t2new_abab += einsum(t2.abab, (0, 1, 2, 3), x134, (3, 4, 2, 5), (0, 1, 5, 4)) * -1.0 - del x134 - x135 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x135 += einsum(t1.bb, (0, 1), v.aabb.ooov, (2, 3, 4, 1), (0, 4, 2, 3)) - x136 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x136 += einsum(t1.aa, (0, 1), v.aabb.ovoo, (2, 1, 3, 4), (3, 4, 0, 2)) - x137 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x137 += einsum(v.aabb.ovov, (0, 1, 2, 3), x5, (4, 3, 5, 1), (4, 2, 5, 0)) - x138 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x138 += einsum(v.aabb.oooo, (0, 1, 2, 3), (2, 3, 0, 1)) - x138 += einsum(x135, (0, 1, 2, 3), (1, 0, 3, 2)) - x138 += einsum(x136, (0, 1, 2, 3), (1, 0, 3, 2)) - x138 += einsum(x137, (0, 1, 2, 3), (1, 0, 3, 2)) - t2new_abab += einsum(t2.abab, (0, 1, 2, 3), x138, (1, 4, 0, 5), (5, 4, 2, 3)) - del x138 - x139 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x139 += einsum(t1.aa, (0, 1), x13, (0, 2), (2, 1)) - x140 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x140 += einsum(f.aa.vv, (0, 1), (0, 1)) * -1.0 - x140 += einsum(x71, (0, 1), (1, 0)) * -1.0 - x140 += einsum(x72, (0, 1), (1, 0)) - x140 += einsum(x73, (0, 1), (1, 0)) * 2.0 - x140 += einsum(x74, (0, 1), (1, 0)) * -1.0 - del x74 - x140 += einsum(x139, (0, 1), (0, 1)) - t2new_abab += einsum(x140, (0, 1), t2.abab, (2, 3, 0, 4), (2, 3, 1, 4)) * -1.0 - t3new_babbab += einsum(x140, (0, 1), t3.babbab, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) * -2.0 - del x140 - x141 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x141 += einsum(t1.aa, (0, 1), v.aabb.ovvv, (0, 1, 2, 3), (2, 3)) - x142 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x142 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (0, 4, 1, 3), (2, 4)) - x143 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x143 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 1, 4), (3, 4)) - x144 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x144 += einsum(t1.bb, (0, 1), x114, (0, 2, 1, 3), (2, 3)) - del x114 - x145 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x145 += einsum(t1.bb, (0, 1), x9, (0, 2), (2, 1)) - x146 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x146 += einsum(f.bb.vv, (0, 1), (0, 1)) * -1.0 - x146 += einsum(x141, (0, 1), (1, 0)) * -1.0 - x146 += einsum(x142, (0, 1), (1, 0)) * 2.0 - x146 += einsum(x143, (0, 1), (1, 0)) - x146 += einsum(x144, (0, 1), (0, 1)) * -1.0 - x146 += einsum(x145, (0, 1), (0, 1)) - t2new_abab += einsum(x146, (0, 1), t2.abab, (2, 3, 4, 0), (2, 3, 4, 1)) * -1.0 - t3new_abaaba += einsum(x146, (0, 1), t3.abaaba, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) * -2.0 - del x146 - x147 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x147 += einsum(t1.aa, (0, 1), v.aabb.vvoo, (2, 1, 3, 4), (3, 4, 0, 2)) - x148 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x148 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) - x148 += einsum(x38, (0, 1, 2, 3), (0, 1, 2, 3)) - x149 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x149 += einsum(t1.bb, (0, 1), x148, (2, 1, 3, 4), (2, 0, 3, 4)) - del x148 - x150 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x150 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 5, 3), (1, 5, 0, 4)) - x151 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x151 += einsum(v.aabb.oooo, (0, 1, 2, 3), (2, 3, 0, 1)) - x151 += einsum(x135, (0, 1, 2, 3), (0, 1, 3, 2)) - x151 += einsum(x150, (0, 1, 2, 3), (0, 1, 3, 2)) - x152 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x152 += einsum(v.aabb.ovoo, (0, 1, 2, 3), (2, 3, 0, 1)) - x152 += einsum(x147, (0, 1, 2, 3), (1, 0, 2, 3)) - x152 += einsum(x149, (0, 1, 2, 3), (0, 1, 2, 3)) - x152 += einsum(t1.aa, (0, 1), x151, (2, 3, 0, 4), (3, 2, 4, 1)) * -1.0 - del x151 - t2new_abab += einsum(t1.bb, (0, 1), x152, (0, 2, 3, 4), (3, 2, 4, 1)) * -1.0 - del x152 - x153 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x153 += einsum(t1.aa, (0, 1), v.aabb.vvvv, (2, 1, 3, 4), (3, 4, 0, 2)) - x154 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x154 += einsum(v.aabb.ovvv, (0, 1, 2, 3), (2, 3, 0, 1)) - x154 += einsum(x153, (0, 1, 2, 3), (1, 0, 2, 3)) - t2new_abab += einsum(t1.bb, (0, 1), x154, (1, 2, 3, 4), (3, 0, 4, 2)) - del x154 - x155 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x155 += einsum(t1.bb, (0, 1), v.aabb.oovv, (2, 3, 4, 1), (0, 4, 2, 3)) - x156 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x156 += einsum(v.aabb.ooov, (0, 1, 2, 3), (2, 3, 0, 1)) - x156 += einsum(x155, (0, 1, 2, 3), (0, 1, 3, 2)) - t2new_abab += einsum(t1.aa, (0, 1), x156, (2, 3, 0, 4), (4, 2, 1, 3)) * -1.0 - del x156 - x157 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x157 += einsum(t1.bb, (0, 1), v.bbbb.vvvv, (2, 3, 4, 1), (0, 2, 3, 4)) - x158 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x158 += einsum(t1.bb, (0, 1), x157, (2, 3, 1, 4), (0, 2, 3, 4)) - x159 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x159 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 0, 6, 1, 3), (4, 5, 6, 2)) - x160 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x160 += einsum(v.aabb.ovvv, (0, 1, 2, 3), t3.babbab, (4, 0, 5, 6, 1, 3), (4, 5, 6, 2)) - x161 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x161 += einsum(t2.bbbb, (0, 1, 2, 3), x7, (1, 4, 3, 5), (4, 0, 5, 2)) - x162 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x162 += einsum(t2.bbbb, (0, 1, 2, 3), x161, (1, 4, 3, 5), (4, 0, 5, 2)) * -4.0 - del x161 - x163 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x163 += einsum(t2.abab, (0, 1, 2, 3), x11, (0, 4, 2, 5), (1, 3, 4, 5)) - x164 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x164 += einsum(t2.abab, (0, 1, 2, 3), x163, (4, 5, 0, 2), (4, 1, 5, 3)) * -1.0 - x165 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x165 += einsum(x141, (0, 1), (1, 0)) * -1.0 - x165 += einsum(x142, (0, 1), (1, 0)) * 2.0 - x165 += einsum(x143, (0, 1), (1, 0)) - x165 += einsum(x144, (0, 1), (0, 1)) * -1.0 - del x144 - x166 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x166 += einsum(x165, (0, 1), t2.bbbb, (2, 3, 4, 0), (2, 3, 1, 4)) * -2.0 - del x165 - x167 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x167 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovvv, (4, 2, 5, 3), (0, 1, 4, 5)) - x168 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x168 += einsum(v.bbbb.ovov, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 2, 6, 3, 1), (4, 5, 0, 6)) * -1.0 - x169 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x169 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.babbab, (4, 0, 5, 6, 1, 3), (4, 5, 2, 6)) - x170 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x170 += einsum(x9, (0, 1), t2.bbbb, (2, 3, 4, 1), (0, 2, 3, 4)) * -2.0 - x171 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x171 += einsum(t1.bb, (0, 1), x1, (2, 3, 4, 1), (2, 0, 4, 3)) - x172 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x172 += einsum(v.bbbb.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x172 += einsum(x171, (0, 1, 2, 3), (3, 1, 2, 0)) - x173 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x173 += einsum(t1.bb, (0, 1), x172, (0, 2, 3, 4), (2, 3, 4, 1)) - del x172 - x174 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x174 += einsum(x167, (0, 1, 2, 3), (2, 1, 0, 3)) * -2.0 - x174 += einsum(x168, (0, 1, 2, 3), (2, 1, 0, 3)) * 6.0 - x174 += einsum(x169, (0, 1, 2, 3), (2, 1, 0, 3)) * 2.0 - x174 += einsum(x170, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x174 += einsum(x173, (0, 1, 2, 3), (1, 0, 2, 3)) - del x173 - x175 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x175 += einsum(t1.bb, (0, 1), x174, (0, 2, 3, 4), (2, 3, 4, 1)) - del x174 - x176 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x176 += einsum(x158, (0, 1, 2, 3), (0, 1, 2, 3)) - del x158 - x176 += einsum(x159, (0, 1, 2, 3), (0, 1, 2, 3)) * -6.0 - del x159 - x176 += einsum(x160, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x160 - x176 += einsum(x162, (0, 1, 2, 3), (0, 1, 2, 3)) - del x162 - x176 += einsum(x164, (0, 1, 2, 3), (0, 1, 2, 3)) - del x164 - x176 += einsum(x166, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x166 - x176 += einsum(x175, (0, 1, 2, 3), (1, 0, 3, 2)) - del x175 - t2new_bbbb += einsum(x176, (0, 1, 2, 3), (0, 1, 2, 3)) - t2new_bbbb += einsum(x176, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x176 - x177 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x177 += einsum(t1.bb, (0, 1), v.bbbb.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) - x178 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x178 += einsum(t2.abab, (0, 1, 2, 3), x127, (4, 5, 0, 2), (4, 1, 3, 5)) - x179 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x179 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x179 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x179 += einsum(x111, (0, 1, 2, 3), (1, 0, 3, 2)) - x180 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x180 += einsum(t2.bbbb, (0, 1, 2, 3), x179, (1, 4, 3, 5), (4, 0, 5, 2)) * 2.0 - del x179 - x181 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x181 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) - x181 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x182 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x182 += einsum(t1.bb, (0, 1), x181, (2, 1, 3, 4), (2, 0, 3, 4)) - del x181 - x183 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x183 += einsum(t2.bbbb, (0, 1, 2, 3), x182, (1, 4, 5, 3), (4, 0, 5, 2)) * -2.0 - x184 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x184 += einsum(t1.bb, (0, 1), v.bbbb.ooov, (2, 3, 4, 1), (0, 2, 3, 4)) - x185 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x185 += einsum(t1.bb, (0, 1), x184, (2, 3, 4, 0), (2, 4, 3, 1)) - x186 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x186 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovoo, (0, 2, 4, 5), (1, 4, 5, 3)) - x187 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x187 += einsum(t2.abab, (0, 1, 2, 3), x3, (4, 5, 0, 2), (4, 1, 5, 3)) - x188 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x188 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x188 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) - x189 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x189 += einsum(t2.bbbb, (0, 1, 2, 3), x188, (1, 4, 5, 3), (4, 5, 0, 2)) * 2.0 - x190 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x190 += einsum(x1, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x190 += einsum(x1, (0, 1, 2, 3), (0, 2, 1, 3)) - x191 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x191 += einsum(t2.bbbb, (0, 1, 2, 3), x190, (4, 1, 5, 3), (4, 5, 0, 2)) * 2.0 - x192 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x192 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x192 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x192 += einsum(x177, (0, 1, 2, 3), (0, 1, 2, 3)) - x193 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x193 += einsum(t1.bb, (0, 1), x192, (2, 3, 1, 4), (2, 3, 0, 4)) - x194 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x194 += einsum(x185, (0, 1, 2, 3), (0, 2, 1, 3)) - x194 += einsum(x186, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x194 += einsum(x187, (0, 1, 2, 3), (0, 2, 1, 3)) - x194 += einsum(x189, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - del x189 - x194 += einsum(x191, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x191 - x194 += einsum(x193, (0, 1, 2, 3), (2, 1, 0, 3)) - x195 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x195 += einsum(t1.bb, (0, 1), x194, (2, 0, 3, 4), (2, 3, 4, 1)) - del x194 - x196 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x196 += einsum(x177, (0, 1, 2, 3), (0, 1, 2, 3)) - x196 += einsum(x111, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x196 += einsum(x178, (0, 1, 2, 3), (0, 1, 2, 3)) - del x178 - x196 += einsum(x180, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x180 - x196 += einsum(x183, (0, 1, 2, 3), (0, 1, 3, 2)) - del x183 - x196 += einsum(x195, (0, 1, 2, 3), (0, 1, 3, 2)) - del x195 - t2new_bbbb += einsum(x196, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_bbbb += einsum(x196, (0, 1, 2, 3), (0, 1, 3, 2)) - t2new_bbbb += einsum(x196, (0, 1, 2, 3), (1, 0, 2, 3)) - t2new_bbbb += einsum(x196, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x196 - x197 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x197 += einsum(t1.bb, (0, 1), v.bbbb.ooov, (2, 0, 3, 4), (2, 3, 1, 4)) - x198 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x198 += einsum(v.bbbb.ooov, (0, 1, 2, 3), t3.bbbbbb, (4, 1, 2, 5, 6, 3), (4, 0, 5, 6)) - x199 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x199 += einsum(t2.bbbb, (0, 1, 2, 3), x184, (4, 5, 0, 1), (4, 5, 2, 3)) - x200 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x200 += einsum(v.aabb.ovoo, (0, 1, 2, 3), t3.babbab, (4, 0, 3, 5, 1, 6), (4, 2, 5, 6)) - x201 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x201 += einsum(x1, (0, 1, 2, 3), t3.bbbbbb, (4, 1, 2, 5, 6, 3), (0, 4, 5, 6)) * -1.0 - x202 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x202 += einsum(x3, (0, 1, 2, 3), t3.babbab, (4, 2, 1, 5, 3, 6), (0, 4, 5, 6)) - x203 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x203 += einsum(f.bb.oo, (0, 1), (0, 1)) - x203 += einsum(x20, (0, 1), (1, 0)) - x204 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x204 += einsum(x203, (0, 1), t2.bbbb, (2, 1, 3, 4), (0, 2, 3, 4)) * -2.0 - del x203 - x205 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x205 += einsum(x15, (0, 1), (1, 0)) - x205 += einsum(x16, (0, 1), (1, 0)) * 2.0 - x205 += einsum(x17, (0, 1), (1, 0)) - x205 += einsum(x19, (0, 1), (1, 0)) * -1.0 - x206 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x206 += einsum(x205, (0, 1), t2.bbbb, (2, 0, 3, 4), (1, 2, 3, 4)) * -2.0 - del x205 - x207 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x207 += einsum(x197, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x197 - x207 += einsum(x198, (0, 1, 2, 3), (0, 1, 3, 2)) * -6.0 - del x198 - x207 += einsum(x199, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - del x199 - x207 += einsum(x200, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - del x200 - x207 += einsum(x201, (0, 1, 2, 3), (0, 1, 3, 2)) * 6.0 - del x201 - x207 += einsum(x202, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - del x202 - x207 += einsum(x204, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x204 - x207 += einsum(x206, (0, 1, 2, 3), (1, 0, 3, 2)) - del x206 - t2new_bbbb += einsum(x207, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - t2new_bbbb += einsum(x207, (0, 1, 2, 3), (1, 0, 2, 3)) - del x207 - x208 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x208 += einsum(f.bb.vv, (0, 1), t2.bbbb, (2, 3, 4, 1), (2, 3, 0, 4)) - x209 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x209 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x209 += einsum(x208, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 - del x208 - t2new_bbbb += einsum(x209, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - t2new_bbbb += einsum(x209, (0, 1, 2, 3), (0, 1, 2, 3)) - del x209 - x210 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x210 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 2, 5, 3), (0, 1, 4, 5)) - x211 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x211 += einsum(v.bbbb.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x211 += einsum(x210, (0, 1, 2, 3), (3, 1, 2, 0)) * -1.0 - x211 += einsum(x171, (0, 1, 2, 3), (2, 1, 3, 0)) - t2new_bbbb += einsum(t2.bbbb, (0, 1, 2, 3), x211, (0, 4, 1, 5), (4, 5, 2, 3)) * -2.0 - del x211 - x212 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x212 += einsum(t1.bb, (0, 1), x210, (2, 3, 0, 4), (2, 3, 4, 1)) * -2.0 - x212 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x212 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) - t2new_bbbb += einsum(t1.bb, (0, 1), x212, (2, 3, 0, 4), (2, 3, 1, 4)) - del x212 - x213 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x213 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.abaaba, (4, 2, 5, 6, 3, 7), (4, 5, 0, 6, 7, 1)) - x214 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x214 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ooov, (4, 0, 1, 5), (4, 2, 3, 5)) - x215 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x215 += einsum(t2.aaaa, (0, 1, 2, 3), x214, (4, 5, 6, 3), (0, 1, 4, 5, 6, 2)) - x216 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x216 += einsum(t2.aaaa, (0, 1, 2, 3), x77, (4, 5, 1, 6), (4, 5, 0, 2, 3, 6)) - x217 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x217 += einsum(x28, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 0, 6, 7, 2), (4, 5, 1, 6, 7, 3)) * 6.0 - x218 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x218 += einsum(x213, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 2.0 - del x213 - x218 += einsum(x215, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -4.0 - del x215 - x218 += einsum(x216, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -4.0 - del x216 - x218 += einsum(x217, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x217 - t3new_aaaaaa = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - t3new_aaaaaa += einsum(x218, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - t3new_aaaaaa += einsum(x218, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - t3new_aaaaaa += einsum(x218, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -1.0 - t3new_aaaaaa += einsum(x218, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) - t3new_aaaaaa += einsum(x218, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - t3new_aaaaaa += einsum(x218, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) - t3new_aaaaaa += einsum(x218, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) - t3new_aaaaaa += einsum(x218, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -1.0 - t3new_aaaaaa += einsum(x218, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) - del x218 - x219 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x219 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.vvov, (4, 5, 1, 3), (0, 2, 4, 5)) - x220 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x220 += einsum(t2.aaaa, (0, 1, 2, 3), x118, (1, 3, 4, 5), (0, 2, 4, 5)) * 2.0 - x221 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x221 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) - x221 += einsum(x219, (0, 1, 2, 3), (0, 1, 3, 2)) - x221 += einsum(x220, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x220 - x222 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x222 += einsum(t2.aaaa, (0, 1, 2, 3), x221, (4, 5, 3, 6), (0, 1, 4, 2, 5, 6)) * -2.0 - del x221 - x223 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x223 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ooov, (4, 5, 6, 3), (0, 1, 4, 5, 6, 2)) - x224 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x224 += einsum(t1.aa, (0, 1), x223, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x223 - x225 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x225 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (0, 4, 2, 5)) - x226 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x226 += einsum(t2.aaaa, (0, 1, 2, 3), x68, (1, 4, 5, 3), (0, 4, 2, 5)) * 2.0 - x227 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x227 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x227 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x227 += einsum(x225, (0, 1, 2, 3), (0, 1, 2, 3)) - x227 += einsum(x226, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x228 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x228 += einsum(t2.aaaa, (0, 1, 2, 3), x227, (4, 5, 6, 3), (0, 1, 4, 5, 2, 6)) * -1.0 - del x227 - x229 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x229 += einsum(x224, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) - del x224 - x229 += einsum(x228, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) * -1.0 - del x228 - x230 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x230 += einsum(t1.aa, (0, 1), x229, (2, 3, 0, 4, 5, 6), (2, 3, 4, 5, 6, 1)) * 2.0 - del x229 - x231 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x231 += einsum(x222, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) - del x222 - x231 += einsum(x230, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) - del x230 - t3new_aaaaaa += einsum(x231, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - t3new_aaaaaa += einsum(x231, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - t3new_aaaaaa += einsum(x231, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) - t3new_aaaaaa += einsum(x231, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -1.0 - t3new_aaaaaa += einsum(x231, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -1.0 - t3new_aaaaaa += einsum(x231, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) - t3new_aaaaaa += einsum(x231, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) - t3new_aaaaaa += einsum(x231, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - t3new_aaaaaa += einsum(x231, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -1.0 - t3new_aaaaaa += einsum(x231, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) - t3new_aaaaaa += einsum(x231, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - t3new_aaaaaa += einsum(x231, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -1.0 - t3new_aaaaaa += einsum(x231, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) - t3new_aaaaaa += einsum(x231, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -1.0 - t3new_aaaaaa += einsum(x231, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -1.0 - t3new_aaaaaa += einsum(x231, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) - t3new_aaaaaa += einsum(x231, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) - t3new_aaaaaa += einsum(x231, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -1.0 - del x231 - x232 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x232 += einsum(v.aaaa.oooo, (0, 1, 2, 3), t3.aaaaaa, (4, 3, 1, 5, 6, 7), (4, 0, 2, 5, 6, 7)) * -1.0 - x233 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x233 += einsum(f.aa.oo, (0, 1), (0, 1)) - x233 += einsum(x30, (0, 1), (1, 0)) - x233 += einsum(x31, (0, 1), (1, 0)) * 2.0 - x233 += einsum(x34, (0, 1), (0, 1)) - x234 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x234 += einsum(x233, (0, 1), t3.aaaaaa, (2, 3, 0, 4, 5, 6), (2, 3, 1, 4, 5, 6)) * 6.0 - del x233 - x235 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x235 += einsum(x232, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 6.0 - del x232 - x235 += einsum(x234, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) - del x234 - t3new_aaaaaa += einsum(x235, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -1.0 - t3new_aaaaaa += einsum(x235, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 - t3new_aaaaaa += einsum(x235, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) - del x235 - x236 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x236 += einsum(v.aaaa.vvvv, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 6, 7, 3, 1), (4, 5, 6, 7, 0, 2)) * -1.0 - x237 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x237 += einsum(f.aa.vv, (0, 1), (0, 1)) * -1.0 - x237 += einsum(x72, (0, 1), (1, 0)) - x237 += einsum(x73, (0, 1), (1, 0)) * 2.0 - x237 += einsum(x139, (0, 1), (0, 1)) - x238 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x238 += einsum(x237, (0, 1), t3.aaaaaa, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 6, 1)) * 6.0 - del x237 - x239 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x239 += einsum(x236, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -6.0 - del x236 - x239 += einsum(x238, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -1.0 - del x238 - t3new_aaaaaa += einsum(x239, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - t3new_aaaaaa += einsum(x239, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - t3new_aaaaaa += einsum(x239, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) - del x239 - x240 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x240 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.abaaba, (4, 2, 0, 5, 3, 6), (4, 5, 6, 1)) - x241 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x241 += einsum(v.aaaa.ovov, (0, 1, 2, 3), t3.aaaaaa, (4, 0, 2, 5, 6, 3), (4, 5, 6, 1)) - x242 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x242 += einsum(x240, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x242 += einsum(x241, (0, 1, 2, 3), (0, 2, 1, 3)) * -3.0 - x243 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x243 += einsum(t2.aaaa, (0, 1, 2, 3), x242, (4, 5, 6, 3), (0, 1, 4, 2, 5, 6)) * -4.0 - del x242 - x244 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x244 += einsum(v.aabb.ooov, (0, 1, 2, 3), t3.abaaba, (4, 2, 5, 6, 3, 7), (4, 5, 0, 1, 6, 7)) - x245 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x245 += einsum(x32, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 2, 6, 7, 3), (4, 5, 0, 1, 6, 7)) * 3.0 - x246 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x246 += einsum(x244, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -1.0 - del x244 - x246 += einsum(x245, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 - del x245 - x247 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x247 += einsum(t1.aa, (0, 1), x246, (2, 3, 0, 4, 5, 6), (2, 3, 4, 5, 6, 1)) * 2.0 - del x246 - x248 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x248 += einsum(x243, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 5, 4)) * -1.0 - del x243 - x248 += einsum(x247, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) - del x247 - t3new_aaaaaa += einsum(x248, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - t3new_aaaaaa += einsum(x248, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - t3new_aaaaaa += einsum(x248, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) - t3new_aaaaaa += einsum(x248, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 - t3new_aaaaaa += einsum(x248, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) - t3new_aaaaaa += einsum(x248, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 - t3new_aaaaaa += einsum(x248, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -1.0 - t3new_aaaaaa += einsum(x248, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) - t3new_aaaaaa += einsum(x248, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -1.0 - del x248 - x249 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x249 += einsum(x101, (0, 1, 2, 3), (1, 0, 3, 2)) - x249 += einsum(x81, (0, 1, 2, 3), (0, 1, 2, 3)) - x250 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x250 += einsum(x249, (0, 1, 2, 3), t3.aaaaaa, (4, 2, 3, 5, 6, 7), (4, 0, 1, 5, 6, 7)) * -6.0 - del x249 - x251 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x251 += einsum(x29, (0, 1), (1, 0)) - del x29 - x251 += einsum(x33, (0, 1), (1, 0)) * -1.0 - del x33 - x252 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x252 += einsum(x251, (0, 1), t3.aaaaaa, (2, 3, 0, 4, 5, 6), (2, 3, 1, 4, 5, 6)) * 6.0 - x253 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x253 += einsum(x250, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) - del x250 - x253 += einsum(x252, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -1.0 - del x252 - t3new_aaaaaa += einsum(x253, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) - t3new_aaaaaa += einsum(x253, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -1.0 - t3new_aaaaaa += einsum(x253, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * -1.0 - del x253 - x254 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x254 += einsum(t1.aa, (0, 1), x118, (0, 1, 2, 3), (2, 3)) - x255 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x255 += einsum(x71, (0, 1), (1, 0)) - del x71 - x255 += einsum(x254, (0, 1), (1, 0)) * -1.0 - del x254 - x256 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x256 += einsum(x255, (0, 1), t3.aaaaaa, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 6, 1)) * 6.0 - x257 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x257 += einsum(v.aaaa.ovov, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 6, 7, 3, 1), (4, 5, 6, 0, 2, 7)) * -1.0 - x258 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x258 += einsum(x98, (0, 1, 2, 3), x257, (4, 5, 6, 0, 1, 7), (4, 5, 6, 2, 3, 7)) * 6.0 - del x98, x257 - x259 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x259 += einsum(x256, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) - del x256 - x259 += einsum(x258, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - del x258 - t3new_aaaaaa += einsum(x259, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - t3new_aaaaaa += einsum(x259, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 - t3new_aaaaaa += einsum(x259, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) - del x259 - x260 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x260 += einsum(x38, (0, 1, 2, 3), t3.abaaba, (4, 0, 5, 6, 1, 7), (2, 4, 5, 6, 7, 3)) - x261 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x261 += einsum(t2.aaaa, (0, 1, 2, 3), x25, (4, 0, 1, 5), (4, 2, 3, 5)) - x262 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x262 += einsum(t2.aaaa, (0, 1, 2, 3), x261, (4, 5, 6, 3), (4, 0, 1, 5, 6, 2)) * -1.0 - x263 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x263 += einsum(x46, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 0, 6, 7, 3), (4, 5, 1, 6, 7, 2)) * -6.0 - x264 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x264 += einsum(x78, (0, 1, 2, 3), (0, 1, 2, 3)) - x264 += einsum(x79, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0 - x265 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x265 += einsum(t2.aaaa, (0, 1, 2, 3), x264, (4, 5, 1, 6), (0, 4, 5, 2, 3, 6)) * -4.0 - del x264 - x266 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x266 += einsum(x260, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 2.0 - del x260 - x266 += einsum(x262, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -4.0 - del x262 - x266 += einsum(x263, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) - del x263 - x266 += einsum(x265, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) - del x265 - t3new_aaaaaa += einsum(x266, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - t3new_aaaaaa += einsum(x266, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 - t3new_aaaaaa += einsum(x266, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) - t3new_aaaaaa += einsum(x266, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) - t3new_aaaaaa += einsum(x266, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) * -1.0 - t3new_aaaaaa += einsum(x266, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) - t3new_aaaaaa += einsum(x266, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -1.0 - t3new_aaaaaa += einsum(x266, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) - t3new_aaaaaa += einsum(x266, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * -1.0 - del x266 - x267 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x267 += einsum(t2.aaaa, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0000000000000204 - x267 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 3, 1)) * -1.0 - x268 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x268 += einsum(x267, (0, 1, 2, 3), x68, (0, 4, 5, 2), (4, 1, 5, 3)) * 0.9999999999999901 - del x267 - x269 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x269 += einsum(x225, (0, 1, 2, 3), (0, 1, 2, 3)) - x269 += einsum(x268, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x268 - x270 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x270 += einsum(x269, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 1, 6, 7, 3), (4, 5, 0, 6, 7, 2)) * 6.0000000000000595 - del x269 - x271 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x271 += einsum(t2.aaaa, (0, 1, 2, 3), (0, 1, 2, 3)) - x271 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 3, 1)) * -0.499999999999995 - x272 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x272 += einsum(v.aabb.ovov, (0, 1, 2, 3), x271, (0, 4, 1, 5), (2, 3, 4, 5)) - x273 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x273 += einsum(x272, (0, 1, 2, 3), t3.abaaba, (4, 0, 5, 6, 1, 7), (4, 5, 2, 6, 7, 3)) * 4.00000000000004 - del x272 - x274 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x274 += einsum(x270, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) - del x270 - x274 += einsum(x273, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) - del x273 - t3new_aaaaaa += einsum(x274, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - t3new_aaaaaa += einsum(x274, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - t3new_aaaaaa += einsum(x274, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) - t3new_aaaaaa += einsum(x274, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) - t3new_aaaaaa += einsum(x274, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -1.0 - t3new_aaaaaa += einsum(x274, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) - t3new_aaaaaa += einsum(x274, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -1.0 - t3new_aaaaaa += einsum(x274, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) - t3new_aaaaaa += einsum(x274, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -1.0 - del x274 - x275 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x275 += einsum(t2.aaaa, (0, 1, 2, 3), x64, (4, 5, 3, 6), (4, 0, 1, 2, 6, 5)) - x276 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x276 += einsum(t2.aaaa, (0, 1, 2, 3), x25, (4, 5, 6, 3), (4, 0, 1, 6, 5, 2)) - x277 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x277 += einsum(t1.aa, (0, 1), x276, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x276 - x278 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x278 += einsum(t2.aaaa, (0, 1, 2, 3), x46, (4, 5, 6, 3), (0, 1, 5, 4, 2, 6)) - x279 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x279 += einsum(x277, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 - del x277 - x279 += einsum(x278, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -1.0 - del x278 - x280 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x280 += einsum(t1.aa, (0, 1), x279, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 6, 1)) * 2.0 - del x279 - x281 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x281 += einsum(x275, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -2.0 - del x275 - x281 += einsum(x280, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -1.0 - del x280 - t3new_aaaaaa += einsum(x281, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - t3new_aaaaaa += einsum(x281, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - t3new_aaaaaa += einsum(x281, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) - t3new_aaaaaa += einsum(x281, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -1.0 - t3new_aaaaaa += einsum(x281, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -1.0 - t3new_aaaaaa += einsum(x281, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) - t3new_aaaaaa += einsum(x281, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) * -1.0 - t3new_aaaaaa += einsum(x281, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) - t3new_aaaaaa += einsum(x281, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) - t3new_aaaaaa += einsum(x281, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 - t3new_aaaaaa += einsum(x281, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * -1.0 - t3new_aaaaaa += einsum(x281, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) - t3new_aaaaaa += einsum(x281, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) - t3new_aaaaaa += einsum(x281, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -1.0 - t3new_aaaaaa += einsum(x281, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -1.0 - t3new_aaaaaa += einsum(x281, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) - t3new_aaaaaa += einsum(x281, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) - t3new_aaaaaa += einsum(x281, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -1.0 - del x281 - x282 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x282 += einsum(x49, (0, 1, 2, 3), t3.aaaaaa, (4, 2, 3, 5, 6, 7), (0, 4, 1, 5, 6, 7)) - t3new_aaaaaa += einsum(x282, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 6.0 - t3new_aaaaaa += einsum(x282, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -6.0 - t3new_aaaaaa += einsum(x282, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -6.0 - t3new_aaaaaa += einsum(x282, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * 6.0 - t3new_aaaaaa += einsum(x282, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 6.0 - t3new_aaaaaa += einsum(x282, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -6.0 - del x282 - x283 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x283 += einsum(x61, (0, 1, 2, 3), t3.abaaba, (4, 0, 5, 6, 1, 7), (4, 5, 2, 6, 7, 3)) * -2.00000000000002 - t3new_aaaaaa += einsum(x283, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) - t3new_aaaaaa += einsum(x283, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -1.0 - t3new_aaaaaa += einsum(x283, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) - t3new_aaaaaa += einsum(x283, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -1.0 - t3new_aaaaaa += einsum(x283, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) - t3new_aaaaaa += einsum(x283, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) * -1.0 - t3new_aaaaaa += einsum(x283, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -1.0 - t3new_aaaaaa += einsum(x283, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) - t3new_aaaaaa += einsum(x283, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - del x283 - x284 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x284 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 6, 7, 1, 3), (4, 5, 6, 0, 7, 2)) - x285 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x285 += einsum(t1.aa, (0, 1), x284, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) - del x284 - t3new_aaaaaa += einsum(x285, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 6.0 - t3new_aaaaaa += einsum(x285, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -6.0 - t3new_aaaaaa += einsum(x285, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -6.0 - t3new_aaaaaa += einsum(x285, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * 6.0 - t3new_aaaaaa += einsum(x285, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 6.0 - t3new_aaaaaa += einsum(x285, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -6.0 - del x285 - x286 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x286 += einsum(t1.aa, (0, 1), v.aaaa.oovv, (2, 3, 4, 1), (0, 2, 3, 4)) - x287 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x287 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ooov, (4, 5, 1, 3), (0, 4, 5, 2)) - x288 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x288 += einsum(x286, (0, 1, 2, 3), (0, 2, 1, 3)) - x288 += einsum(x48, (0, 1, 2, 3), (0, 2, 1, 3)) - x288 += einsum(x287, (0, 1, 2, 3), (0, 2, 1, 3)) * 2.0 - x289 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x289 += einsum(t1.aa, (0, 1), x81, (2, 3, 0, 4), (3, 2, 4, 1)) - del x81 - x290 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x290 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x290 += einsum(x37, (0, 1, 2, 3), (1, 0, 2, 3)) - x291 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x291 += einsum(t1.aa, (0, 1), x290, (2, 3, 1, 4), (2, 3, 0, 4)) - x292 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x292 += einsum(v.aaaa.ooov, (0, 1, 2, 3), x40, (1, 4, 3, 5), (0, 2, 4, 5)) * 2.0 - x293 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x293 += einsum(x52, (0, 1, 2, 3), (0, 1, 2, 3)) - x293 += einsum(x289, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x293 += einsum(x56, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x56 - x293 += einsum(x291, (0, 1, 2, 3), (2, 1, 0, 3)) - del x291 - x293 += einsum(x292, (0, 1, 2, 3), (2, 0, 1, 3)) - del x292 - x294 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x294 += einsum(x101, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - del x101 - x294 += einsum(v.aaaa.oooo, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x294 += einsum(v.aaaa.oooo, (0, 1, 2, 3), (0, 2, 1, 3)) - x295 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x295 += einsum(t1.aa, (0, 1), x294, (2, 3, 0, 4), (2, 3, 4, 1)) - x296 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x296 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x296 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) - x296 += einsum(x288, (0, 1, 2, 3), (0, 1, 2, 3)) - x296 += einsum(x288, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x288 - x296 += einsum(x293, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x296 += einsum(x293, (0, 1, 2, 3), (1, 0, 2, 3)) - del x293 - x296 += einsum(x50, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x296 += einsum(x50, (0, 1, 2, 3), (1, 0, 2, 3)) - x296 += einsum(x80, (0, 1, 2, 3), (2, 1, 0, 3)) - x296 += einsum(x295, (0, 1, 2, 3), (1, 0, 2, 3)) - x297 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x297 += einsum(t2.aaaa, (0, 1, 2, 3), x296, (4, 5, 1, 6), (0, 4, 5, 2, 3, 6)) * -2.0 - del x296 - t3new_aaaaaa += einsum(x297, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 - t3new_aaaaaa += einsum(x297, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) - t3new_aaaaaa += einsum(x297, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) - del x297 - x298 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x298 += einsum(x286, (0, 1, 2, 3), (0, 2, 1, 3)) * 0.5 - del x286 - x298 += einsum(x48, (0, 1, 2, 3), (0, 2, 1, 3)) * 0.5 - x298 += einsum(x287, (0, 1, 2, 3), (0, 2, 1, 3)) - del x287 - x299 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x299 += einsum(t2.aaaa, (0, 1, 2, 3), x55, (4, 1, 5, 3), (0, 4, 5, 2)) - x300 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x300 += einsum(t1.aa, (0, 1), x290, (2, 3, 1, 4), (2, 3, 0, 4)) * 0.5 - del x290 - x301 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x301 += einsum(v.aaaa.ooov, (0, 1, 2, 3), x40, (1, 4, 3, 5), (0, 2, 4, 5)) - x302 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x302 += einsum(x52, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - x302 += einsum(x289, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - del x289 - x302 += einsum(x299, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x299 - x302 += einsum(x300, (0, 1, 2, 3), (2, 1, 0, 3)) - del x300 - x302 += einsum(x301, (0, 1, 2, 3), (2, 0, 1, 3)) - del x301 - x303 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x303 += einsum(x13, (0, 1), t2.aaaa, (2, 3, 4, 1), (0, 2, 3, 4)) * -1.0 - x304 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x304 += einsum(t1.aa, (0, 1), x294, (2, 3, 0, 4), (2, 3, 4, 1)) * 0.5 - del x294 - x305 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x305 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 - x305 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) * 0.5 - x305 += einsum(x298, (0, 1, 2, 3), (0, 1, 2, 3)) - x305 += einsum(x298, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x298 - x305 += einsum(x302, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x305 += einsum(x302, (0, 1, 2, 3), (1, 0, 2, 3)) - del x302 - x305 += einsum(x50, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 - x305 += einsum(x50, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.5 - x305 += einsum(x303, (0, 1, 2, 3), (2, 1, 0, 3)) - del x303 - x305 += einsum(x304, (0, 1, 2, 3), (1, 0, 2, 3)) - del x304 - x306 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x306 += einsum(t2.aaaa, (0, 1, 2, 3), x305, (4, 5, 1, 6), (0, 4, 5, 2, 3, 6)) * -4.0 - del x305 - t3new_aaaaaa += einsum(x306, (0, 1, 2, 3, 4, 5), (1, 0, 2, 5, 4, 3)) * -1.0 - t3new_aaaaaa += einsum(x306, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * -1.0 - t3new_aaaaaa += einsum(x306, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -1.0 - t3new_aaaaaa += einsum(x306, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) - t3new_aaaaaa += einsum(x306, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) - t3new_aaaaaa += einsum(x306, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) - del x306 - x307 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x307 += einsum(t2.abab, (0, 1, 2, 3), v.bbbb.ovvv, (4, 5, 6, 3), (1, 4, 5, 6, 0, 2)) - x308 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x308 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.abaaba, (4, 5, 0, 6, 7, 1), (5, 2, 7, 3, 4, 6)) - x309 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x309 += einsum(x127, (0, 1, 2, 3), t3.abaaba, (4, 5, 2, 6, 7, 3), (0, 5, 7, 1, 4, 6)) - x310 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x310 += einsum(t2.bbbb, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.00000000000002 - x310 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1)) * -1.0 - x311 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x311 += einsum(x310, (0, 1, 2, 3), x7, (0, 4, 2, 5), (4, 1, 5, 3)) - del x310 - x312 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x312 += einsum(x111, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.00000000000001 - x312 += einsum(x311, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x311 - x313 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x313 += einsum(x312, (0, 1, 2, 3), t3.babbab, (4, 5, 1, 6, 7, 3), (0, 4, 2, 6, 5, 7)) * 2.0 - del x312 - x314 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x314 += einsum(t2.abab, (0, 1, 2, 3), x11, (0, 4, 2, 5), (1, 3, 4, 5)) * 1.00000000000001 - x315 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x315 += einsum(t2.bbbb, (0, 1, 2, 3), (0, 1, 2, 3)) - x315 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1)) * -0.499999999999995 - x316 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x316 += einsum(v.aabb.ovov, (0, 1, 2, 3), x315, (2, 4, 3, 5), (4, 5, 0, 1)) * 2.00000000000002 - x317 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x317 += einsum(x314, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x317 += einsum(x316, (0, 1, 2, 3), (0, 1, 2, 3)) - del x316 - x318 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x318 += einsum(x317, (0, 1, 2, 3), t3.abaaba, (4, 5, 2, 6, 7, 3), (5, 0, 7, 1, 4, 6)) * 2.0 - del x317 - x319 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x319 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), (0, 2, 3, 5, 1, 4)) - x319 += einsum(t1.bb, (0, 1), t2.abab, (2, 3, 4, 5), (0, 3, 5, 1, 2, 4)) * -0.5 - x320 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x320 += einsum(x14, (0, 1, 2, 3), x319, (0, 4, 2, 5, 6, 7), (1, 4, 3, 5, 6, 7)) * 2.0 - x321 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x321 += einsum(x182, (0, 1, 2, 3), x319, (0, 4, 3, 5, 6, 7), (1, 4, 2, 5, 6, 7)) * -2.0 - del x319 - x322 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x322 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovoo, (0, 4, 5, 1), (5, 3, 2, 4)) - x323 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x323 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovvv, (0, 4, 5, 3), (1, 5, 2, 4)) - x324 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x324 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.babbab, (4, 0, 2, 5, 6, 3), (4, 5, 6, 1)) - x325 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x325 += einsum(v.aaaa.ovov, (0, 1, 2, 3), t3.abaaba, (0, 4, 2, 5, 6, 1), (4, 6, 5, 3)) * -1.0 - x326 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x326 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x326 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) - x326 += einsum(x109, (0, 1, 2, 3), (0, 2, 3, 1)) - x326 += einsum(x109, (0, 1, 2, 3), (0, 3, 2, 1)) * -1.0 - x327 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x327 += einsum(t2.abab, (0, 1, 2, 3), x326, (0, 4, 2, 5), (1, 3, 4, 5)) - del x326 - x328 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x328 += einsum(x13, (0, 1), t2.abab, (0, 2, 3, 4), (2, 4, 1, 3)) - x329 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x329 += einsum(v.aabb.vvov, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 - x329 += einsum(x105, (0, 1, 2, 3), (0, 1, 2, 3)) - x329 += einsum(x322, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x322 - x329 += einsum(x323, (0, 1, 2, 3), (0, 1, 2, 3)) - del x323 - x329 += einsum(x324, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x329 += einsum(x325, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x329 += einsum(x327, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x327 - x329 += einsum(x328, (0, 1, 2, 3), (0, 1, 3, 2)) - del x328 - x330 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x330 += einsum(t2.abab, (0, 1, 2, 3), x329, (4, 5, 6, 2), (4, 1, 5, 3, 0, 6)) - del x329 - x331 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x331 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovvv, (0, 2, 4, 5), (1, 3, 4, 5)) - x332 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x332 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x332 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) - x333 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x333 += einsum(t2.bbbb, (0, 1, 2, 3), x332, (1, 3, 4, 5), (0, 4, 5, 2)) * 2.0 - del x332 - x334 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x334 += einsum(t1.bb, (0, 1), x1, (2, 0, 3, 4), (2, 3, 1, 4)) - x335 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x335 += einsum(t2.bbbb, (0, 1, 2, 3), x7, (1, 4, 3, 5), (4, 0, 5, 2)) * 2.0 - x336 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x336 += einsum(x334, (0, 1, 2, 3), (0, 1, 2, 3)) - del x334 - x336 += einsum(x111, (0, 1, 2, 3), (0, 1, 2, 3)) - x336 += einsum(x335, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - x337 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x337 += einsum(t1.bb, (0, 1), x336, (2, 0, 3, 4), (2, 3, 4, 1)) - del x336 - x338 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x338 += einsum(x157, (0, 1, 2, 3), (0, 2, 1, 3)) - x338 += einsum(x331, (0, 1, 2, 3), (0, 3, 2, 1)) - x338 += einsum(x333, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x333 - x338 += einsum(x337, (0, 1, 2, 3), (0, 2, 1, 3)) - del x337 - x339 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x339 += einsum(t2.abab, (0, 1, 2, 3), x338, (4, 3, 5, 6), (4, 1, 5, 6, 0, 2)) - del x338 - x340 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x340 += einsum(t2.abab, (0, 1, 2, 3), v.bbbb.ooov, (4, 5, 6, 3), (1, 4, 5, 6, 0, 2)) - x341 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x341 += einsum(t1.bb, (0, 1), x340, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) - del x340 - x342 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x342 += einsum(v.aabb.ovoo, (0, 1, 2, 3), t3.abaaba, (4, 5, 0, 6, 7, 1), (5, 2, 3, 7, 4, 6)) - x343 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x343 += einsum(x188, (0, 1, 2, 3), t3.babbab, (4, 5, 0, 6, 7, 3), (1, 2, 4, 6, 5, 7)) * 2.0 - del x188 - x344 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x344 += einsum(t1.aa, (0, 1), v.aabb.ovoo, (0, 2, 3, 4), (3, 4, 1, 2)) - x345 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x345 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 4, 5, 3), (1, 5, 2, 4)) - x346 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x346 += einsum(v.aabb.vvoo, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 - x346 += einsum(x344, (0, 1, 2, 3), (1, 0, 3, 2)) - x346 += einsum(x345, (0, 1, 2, 3), (0, 1, 3, 2)) - del x345 - x347 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x347 += einsum(t2.abab, (0, 1, 2, 3), x346, (4, 5, 2, 6), (4, 5, 1, 3, 0, 6)) - del x346 - x348 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x348 += einsum(v.aabb.oooo, (0, 1, 2, 3), (2, 3, 0, 1)) - x348 += einsum(x136, (0, 1, 2, 3), (1, 0, 3, 2)) - x348 += einsum(x150, (0, 1, 2, 3), (0, 1, 3, 2)) - del x150 - x349 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x349 += einsum(t2.abab, (0, 1, 2, 3), x348, (4, 5, 0, 6), (4, 5, 1, 3, 6, 2)) - del x348 - x350 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x350 += einsum(t1.aa, (0, 1), x3, (2, 3, 0, 4), (2, 3, 1, 4)) - x351 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x351 += einsum(x129, (0, 1, 2, 3), (0, 1, 3, 2)) - x351 += einsum(x350, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x350 - x352 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x352 += einsum(t2.abab, (0, 1, 2, 3), x351, (4, 5, 2, 6), (4, 5, 1, 3, 0, 6)) - del x351 - x353 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x353 += einsum(v.aabb.ooov, (0, 1, 2, 3), (2, 3, 0, 1)) - x353 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) - x354 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x354 += einsum(t1.bb, (0, 1), x353, (2, 1, 3, 4), (2, 0, 3, 4)) - x355 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x355 += einsum(t2.abab, (0, 1, 2, 3), x354, (4, 5, 6, 0), (5, 4, 1, 3, 6, 2)) - del x354 - x356 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x356 += einsum(x341, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) - del x341 - x356 += einsum(x342, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -2.0 - del x342 - x356 += einsum(x343, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -1.0 - del x343 - x356 += einsum(x347, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) - del x347 - x356 += einsum(x349, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) - del x349 - x356 += einsum(x352, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x352 - x356 += einsum(x355, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - del x355 - x357 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x357 += einsum(t1.bb, (0, 1), x356, (2, 0, 3, 4, 5, 6), (2, 3, 4, 1, 5, 6)) - del x356 - x358 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x358 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovoo, (4, 2, 5, 1), (5, 3, 0, 4)) - x359 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x359 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovvv, (4, 2, 5, 3), (1, 5, 0, 4)) - x360 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x360 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.babbab, (4, 5, 2, 6, 1, 3), (4, 6, 5, 0)) - x361 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x361 += einsum(v.aaaa.ovov, (0, 1, 2, 3), t3.abaaba, (4, 5, 2, 3, 6, 1), (5, 6, 4, 0)) * -1.0 - x362 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x362 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x362 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) - x362 += einsum(x25, (0, 1, 2, 3), (1, 0, 2, 3)) - x362 += einsum(x25, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - x363 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x363 += einsum(t2.abab, (0, 1, 2, 3), x362, (4, 5, 0, 2), (1, 3, 4, 5)) - del x362 - x364 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x364 += einsum(v.aabb.ooov, (0, 1, 2, 3), (2, 3, 0, 1)) - x364 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) - x364 += einsum(x358, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x358 - x364 += einsum(x359, (0, 1, 2, 3), (0, 1, 2, 3)) - del x359 - x364 += einsum(x360, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x364 += einsum(x361, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x364 += einsum(x363, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x363 - x365 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x365 += einsum(t2.abab, (0, 1, 2, 3), x364, (4, 5, 6, 0), (4, 1, 5, 3, 6, 2)) - del x364 - x366 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x366 += einsum(t1.bb, (0, 1), v.aabb.vvvv, (2, 3, 4, 1), (0, 4, 2, 3)) - x367 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x367 += einsum(t1.aa, (0, 1), x127, (2, 3, 0, 4), (2, 3, 1, 4)) - x368 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x368 += einsum(t2.abab, (0, 1, 2, 3), x3, (4, 1, 0, 5), (4, 3, 2, 5)) - x369 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x369 += einsum(x366, (0, 1, 2, 3), (0, 1, 3, 2)) - del x366 - x369 += einsum(x367, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x367 - x369 += einsum(x368, (0, 1, 2, 3), (0, 1, 3, 2)) - del x368 - x370 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x370 += einsum(t2.abab, (0, 1, 2, 3), x369, (4, 5, 2, 6), (4, 1, 5, 3, 0, 6)) - del x369 - x371 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x371 += einsum(t2.abab, (0, 1, 2, 3), x3, (4, 1, 5, 2), (4, 3, 0, 5)) - x372 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x372 += einsum(v.aabb.oovv, (0, 1, 2, 3), (2, 3, 0, 1)) - x372 += einsum(x122, (0, 1, 2, 3), (1, 0, 2, 3)) - x373 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x373 += einsum(t1.bb, (0, 1), x372, (1, 2, 3, 4), (0, 2, 3, 4)) - del x372 - x374 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x374 += einsum(x371, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x371 - x374 += einsum(x373, (0, 1, 2, 3), (0, 1, 3, 2)) - del x373 - x375 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x375 += einsum(t2.abab, (0, 1, 2, 3), x374, (4, 5, 0, 6), (4, 1, 5, 3, 6, 2)) - del x374 - x376 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x376 += einsum(v.aabb.vvov, (0, 1, 2, 3), (2, 3, 0, 1)) - x376 += einsum(x105, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x105 - x377 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x377 += einsum(t2.bbbb, (0, 1, 2, 3), x376, (1, 3, 4, 5), (0, 2, 4, 5)) - del x376 - x378 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x378 += einsum(t2.abab, (0, 1, 2, 3), x377, (4, 5, 6, 2), (4, 1, 5, 3, 0, 6)) * 2.0 - del x377 - x379 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x379 += einsum(t2.bbbb, (0, 1, 2, 3), x353, (1, 3, 4, 5), (0, 2, 4, 5)) - del x353 - x380 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x380 += einsum(t2.abab, (0, 1, 2, 3), x379, (4, 5, 6, 0), (4, 1, 5, 3, 6, 2)) * 2.0 - del x379 - x381 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x381 += einsum(x307, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x307 - x381 += einsum(x308, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -2.0 - del x308 - x381 += einsum(x309, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 2.0 - del x309 - x381 += einsum(x313, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - del x313 - x381 += einsum(x318, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) * -1.0 - del x318 - x381 += einsum(x320, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) - del x320 - x381 += einsum(x321, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) - del x321 - x381 += einsum(x330, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) - del x330 - x381 += einsum(x339, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 - del x339 - x381 += einsum(x357, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) - del x357 - x381 += einsum(x365, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) - del x365 - x381 += einsum(x370, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) - del x370 - x381 += einsum(x375, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 - del x375 - x381 += einsum(x378, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - del x378 - x381 += einsum(x380, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x380 - t3new_babbab += einsum(x381, (0, 1, 2, 3, 4, 5), (0, 4, 1, 2, 5, 3)) * -1.0 - t3new_babbab += einsum(x381, (0, 1, 2, 3, 4, 5), (0, 4, 1, 3, 5, 2)) - t3new_babbab += einsum(x381, (0, 1, 2, 3, 4, 5), (1, 4, 0, 2, 5, 3)) - t3new_babbab += einsum(x381, (0, 1, 2, 3, 4, 5), (1, 4, 0, 3, 5, 2)) * -1.0 - del x381 - x382 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x382 += einsum(t2.bbbb, (0, 1, 2, 3), x1, (4, 0, 1, 5), (4, 2, 3, 5)) - x383 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x383 += einsum(t2.abab, (0, 1, 2, 3), x382, (4, 5, 6, 3), (4, 1, 5, 6, 0, 2)) * -1.0 - x384 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x384 += einsum(t2.abab, (0, 1, 2, 3), (1, 3, 0, 2)) - x384 += einsum(t1.aa, (0, 1), t1.bb, (2, 3), (2, 3, 0, 1)) * 0.99999999999999 - x385 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x385 += einsum(v.aabb.ovov, (0, 1, 2, 3), x384, (4, 3, 0, 5), (2, 4, 1, 5)) * 1.00000000000001 - x386 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x386 += einsum(x129, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x386 += einsum(x385, (0, 1, 2, 3), (1, 0, 2, 3)) - del x385 - x387 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x387 += einsum(x386, (0, 1, 2, 3), t3.babbab, (4, 5, 1, 6, 2, 7), (0, 4, 6, 7, 5, 3)) * -2.0 - del x386 - x388 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x388 += einsum(x135, (0, 1, 2, 3), (0, 1, 3, 2)) - x388 += einsum(x137, (0, 1, 2, 3), (0, 1, 3, 2)) - x389 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x389 += einsum(x388, (0, 1, 2, 3), t3.babbab, (4, 2, 1, 5, 6, 7), (0, 4, 5, 7, 3, 6)) * -2.0 - del x388 - x390 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x390 += einsum(t1.aa, (0, 1), v.aabb.oooo, (2, 0, 3, 4), (3, 4, 2, 1)) - x391 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x391 += einsum(v.bbbb.ovov, (0, 1, 2, 3), t3.babbab, (4, 5, 2, 3, 6, 1), (4, 0, 5, 6)) * -1.0 - x392 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x392 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.abaaba, (4, 5, 0, 6, 3, 1), (5, 2, 4, 6)) - x393 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x393 += einsum(t2.abab, (0, 1, 2, 3), x18, (4, 5, 1, 3), (4, 5, 0, 2)) - x394 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x394 += einsum(t2.abab, (0, 1, 2, 3), x24, (4, 3, 0, 5), (4, 1, 5, 2)) - x395 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x395 += einsum(t2.abab, (0, 1, 2, 3), x106, (4, 3, 2, 5), (4, 1, 0, 5)) - x396 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x396 += einsum(x9, (0, 1), t2.abab, (2, 3, 4, 1), (0, 3, 2, 4)) - x397 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x397 += einsum(v.aabb.ovoo, (0, 1, 2, 3), x40, (0, 4, 1, 5), (2, 3, 4, 5)) * 2.0 - x398 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x398 += einsum(v.aabb.ovoo, (0, 1, 2, 3), (2, 3, 0, 1)) - x398 += einsum(x390, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x390 - x398 += einsum(x147, (0, 1, 2, 3), (1, 0, 2, 3)) - x398 += einsum(x391, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 - x398 += einsum(x392, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 - x398 += einsum(x393, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x393 - x398 += einsum(x394, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x394 - x398 += einsum(x395, (0, 1, 2, 3), (0, 1, 2, 3)) - del x395 - x398 += einsum(x396, (0, 1, 2, 3), (0, 1, 2, 3)) - del x396 - x398 += einsum(x397, (0, 1, 2, 3), (1, 0, 2, 3)) - del x397 - x399 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x399 += einsum(t2.bbbb, (0, 1, 2, 3), x398, (1, 4, 5, 6), (4, 0, 2, 3, 5, 6)) * -2.0 - del x398 - x400 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x400 += einsum(v.aabb.vvoo, (0, 1, 2, 3), (2, 3, 0, 1)) - x400 += einsum(x344, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - x401 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x401 += einsum(x400, (0, 1, 2, 3), t3.babbab, (4, 5, 0, 6, 2, 7), (1, 4, 6, 7, 5, 3)) * -2.0 - del x400 - x402 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x402 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ooov, (4, 1, 0, 5), (4, 2, 3, 5)) * -1.0 - x403 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x403 += einsum(v.bbbb.ovov, (0, 1, 2, 3), t3.bbbbbb, (4, 0, 2, 5, 6, 3), (4, 5, 6, 1)) - x404 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x404 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.babbab, (4, 0, 2, 5, 1, 6), (4, 5, 6, 3)) - x405 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x405 += einsum(x402, (0, 1, 2, 3), (0, 2, 1, 3)) - x405 += einsum(x403, (0, 1, 2, 3), (0, 2, 1, 3)) * -3.0 - x405 += einsum(x404, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x406 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x406 += einsum(t2.abab, (0, 1, 2, 3), x405, (4, 5, 6, 3), (4, 1, 5, 6, 0, 2)) * 2.0 - del x405 - x407 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x407 += einsum(v.aabb.oooo, (0, 1, 2, 3), (2, 3, 0, 1)) - x407 += einsum(x136, (0, 1, 2, 3), (1, 0, 3, 2)) - x408 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x408 += einsum(x407, (0, 1, 2, 3), t3.babbab, (4, 2, 0, 5, 6, 7), (1, 4, 5, 7, 3, 6)) * -2.0 - del x407 - x409 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x409 += einsum(f.bb.oo, (0, 1), (0, 1)) - x409 += einsum(x16, (0, 1), (0, 1)) * 2.0 - x409 += einsum(x17, (0, 1), (0, 1)) - x409 += einsum(x20, (0, 1), (1, 0)) - x410 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x410 += einsum(x409, (0, 1), t3.babbab, (2, 3, 1, 4, 5, 6), (0, 2, 4, 6, 3, 5)) * -2.0 - del x409 - x411 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x411 += einsum(t1.aa, (0, 1), x135, (2, 3, 4, 0), (2, 3, 4, 1)) - x412 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x412 += einsum(x1, (0, 1, 2, 3), (0, 1, 2, 3)) - x412 += einsum(x1, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x413 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x413 += einsum(t2.abab, (0, 1, 2, 3), x412, (4, 5, 1, 3), (4, 5, 0, 2)) - x414 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x414 += einsum(x3, (0, 1, 2, 3), x40, (2, 4, 3, 5), (0, 1, 4, 5)) * 2.0 - del x40 - x415 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x415 += einsum(x411, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x411 - x415 += einsum(x413, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x413 - x415 += einsum(x149, (0, 1, 2, 3), (1, 0, 2, 3)) - del x149 - x415 += einsum(x414, (0, 1, 2, 3), (0, 1, 2, 3)) - del x414 - x416 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x416 += einsum(t2.bbbb, (0, 1, 2, 3), x415, (4, 1, 5, 6), (4, 0, 2, 3, 5, 6)) * -2.0 - del x415 - x417 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x417 += einsum(x15, (0, 1), (1, 0)) - del x15 - x417 += einsum(x19, (0, 1), (1, 0)) * -1.0 - del x19 - x418 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x418 += einsum(x417, (0, 1), t3.babbab, (2, 3, 0, 4, 5, 6), (1, 2, 4, 6, 3, 5)) * -2.0 - x419 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x419 += einsum(x383, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * 2.0 - del x383 - x419 += einsum(x387, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) - del x387 - x419 += einsum(x389, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) - del x389 - x419 += einsum(x399, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) - del x399 - x419 += einsum(x401, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) - del x401 - x419 += einsum(x406, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) - del x406 - x419 += einsum(x408, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) * -1.0 - del x408 - x419 += einsum(x410, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 - del x410 - x419 += einsum(x416, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 - del x416 - x419 += einsum(x418, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) - del x418 - t3new_babbab += einsum(x419, (0, 1, 2, 3, 4, 5), (0, 4, 1, 2, 5, 3)) * -1.0 - t3new_babbab += einsum(x419, (0, 1, 2, 3, 4, 5), (1, 4, 0, 2, 5, 3)) - del x419 - x420 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x420 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.babbab, (4, 5, 6, 7, 1, 3), (4, 6, 2, 7, 5, 0)) - x421 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x421 += einsum(t2.abab, (0, 1, 2, 3), x420, (4, 5, 1, 6, 7, 0), (4, 5, 3, 6, 7, 2)) - del x420 - x422 = np.zeros((nvir[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x422 += einsum(v.aabb.vvvv, (0, 1, 2, 3), (2, 3, 0, 1)) - x422 += einsum(x133, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x133 - x423 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x423 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), (0, 2, 3, 5, 1, 4)) - x423 += einsum(t1.aa, (0, 1), t2.bbbb, (2, 3, 4, 5), (2, 3, 4, 5, 0, 1)) - x424 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x424 += einsum(x422, (0, 1, 2, 3), x423, (4, 5, 0, 6, 7, 2), (4, 5, 6, 1, 7, 3)) * 2.0 - del x422 - x425 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x425 += einsum(v.aabb.oovv, (0, 1, 2, 3), (2, 3, 0, 1)) - x425 += einsum(x122, (0, 1, 2, 3), (1, 0, 3, 2)) - x426 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x426 += einsum(x425, (0, 1, 2, 3), t3.babbab, (4, 2, 5, 6, 7, 0), (4, 5, 1, 6, 3, 7)) * -2.0 - del x425 - x427 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x427 += einsum(t1.aa, (0, 1), v.aabb.oovv, (2, 0, 3, 4), (3, 4, 2, 1)) - x428 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x428 += einsum(t2.aaaa, (0, 1, 2, 3), v.aabb.ovvv, (1, 3, 4, 5), (4, 5, 0, 2)) - x429 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x429 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.abaaba, (4, 2, 0, 5, 6, 1), (6, 3, 4, 5)) - x430 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x430 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) - x430 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x431 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x431 += einsum(t2.abab, (0, 1, 2, 3), x430, (1, 4, 3, 5), (4, 5, 0, 2)) - x432 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x432 += einsum(t2.abab, (0, 1, 2, 3), x24, (1, 4, 0, 5), (4, 3, 5, 2)) - del x24 - x433 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x433 += einsum(t2.abab, (0, 1, 2, 3), x106, (1, 4, 2, 5), (4, 3, 0, 5)) - x434 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x434 += einsum(v.aabb.ovvv, (0, 1, 2, 3), (2, 3, 0, 1)) - x434 += einsum(x427, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x427 - x434 += einsum(x428, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 - del x428 - x434 += einsum(x429, (0, 1, 2, 3), (1, 0, 2, 3)) * -2.0 - x434 += einsum(x431, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x431 - x434 += einsum(x432, (0, 1, 2, 3), (0, 1, 2, 3)) - del x432 - x434 += einsum(x433, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x433 - x435 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x435 += einsum(t2.bbbb, (0, 1, 2, 3), x434, (3, 4, 5, 6), (0, 1, 4, 2, 5, 6)) * -2.0 - del x434 - x436 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x436 += einsum(v.aabb.ovov, (0, 1, 2, 3), x384, (2, 4, 5, 1), (3, 4, 0, 5)) - x437 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x437 += einsum(x121, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.99999999999999 - x437 += einsum(x436, (0, 1, 2, 3), (1, 0, 2, 3)) - x438 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x438 += einsum(x437, (0, 1, 2, 3), t3.babbab, (4, 2, 5, 6, 7, 1), (4, 5, 0, 6, 3, 7)) * -2.00000000000002 - del x437 - x439 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x439 += einsum(t1.bb, (0, 1), x430, (0, 2, 1, 3), (2, 3)) - x440 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x440 += einsum(x141, (0, 1), (1, 0)) - del x141 - x440 += einsum(x439, (0, 1), (0, 1)) * -1.0 - del x439 - x441 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x441 += einsum(x440, (0, 1), t3.babbab, (2, 3, 4, 5, 6, 0), (2, 4, 1, 5, 3, 6)) * -2.0 - x442 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x442 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), t3.babbab, (4, 5, 6, 3, 7, 1), (4, 6, 0, 2, 5, 7)) * -1.0 - x443 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x443 += einsum(x106, (0, 1, 2, 3), x423, (4, 5, 1, 6, 7, 2), (0, 4, 5, 6, 7, 3)) - del x106, x423 - x444 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x444 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) - x444 += einsum(x124, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x444 += einsum(x42, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x42 - x445 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x445 += einsum(t2.bbbb, (0, 1, 2, 3), x444, (4, 3, 5, 6), (4, 0, 1, 2, 5, 6)) * -1.0 - del x444 - x446 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x446 += einsum(f.bb.ov, (0, 1), (0, 1)) - x446 += einsum(x0, (0, 1), (0, 1)) - del x0 - x447 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x447 += einsum(x446, (0, 1), t3.babbab, (2, 3, 4, 5, 6, 1), (0, 2, 4, 5, 3, 6)) * -1.0 - del x446 - x448 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x448 += einsum(x442, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) - del x442 - x448 += einsum(x443, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) - del x443 - x448 += einsum(x445, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) - del x445 - x448 += einsum(x447, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) - del x447 - x449 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x449 += einsum(t1.bb, (0, 1), x448, (0, 2, 3, 4, 5, 6), (2, 3, 4, 1, 5, 6)) * 2.0 - del x448 - x450 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x450 += einsum(f.bb.vv, (0, 1), (0, 1)) - x450 += einsum(x143, (0, 1), (1, 0)) * -1.0 - x451 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x451 += einsum(x450, (0, 1), t3.babbab, (2, 3, 4, 5, 6, 0), (2, 4, 1, 5, 3, 6)) * -2.0 - del x450 - x452 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x452 += einsum(x167, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x452 += einsum(x169, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x453 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x453 += einsum(t2.abab, (0, 1, 2, 3), x452, (4, 5, 1, 6), (4, 5, 6, 3, 0, 2)) * 2.0 - del x452 - x454 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x454 += einsum(x421, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 2.0 - del x421 - x454 += einsum(x424, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * -1.0 - del x424 - x454 += einsum(x426, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) - del x426 - x454 += einsum(x435, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) * -1.0 - del x435 - x454 += einsum(x438, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) - del x438 - x454 += einsum(x441, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) * -1.0 - del x441 - x454 += einsum(x449, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 - del x449 - x454 += einsum(x451, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) - del x451 - x454 += einsum(x453, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) * -1.0 - del x453 - t3new_babbab += einsum(x454, (0, 1, 2, 3, 4, 5), (0, 4, 1, 2, 5, 3)) * -1.0 - t3new_babbab += einsum(x454, (0, 1, 2, 3, 4, 5), (0, 4, 1, 3, 5, 2)) - del x454 - x455 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x455 += einsum(v.bbbb.ovov, (0, 1, 2, 3), t3.babbab, (0, 4, 2, 5, 6, 3), (5, 1, 4, 6)) - x456 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x456 += einsum(t2.bbbb, (0, 1, 2, 3), x455, (4, 3, 5, 6), (0, 1, 2, 4, 5, 6)) - x457 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x457 += einsum(t2.abab, (0, 1, 2, 3), x168, (4, 5, 1, 6), (5, 4, 3, 6, 0, 2)) * -1.0 - x458 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x458 += einsum(t1.bb, (0, 1), v.bbbb.ovov, (2, 3, 0, 1), (2, 3)) - x459 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x459 += einsum(t1.bb, (0, 1), x458, (0, 2), (1, 2)) - del x458 - x460 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x460 += einsum(v.bbbb.ovov, (0, 1, 2, 3), x6, (0, 2, 3, 4), (4, 1)) * 2.0 - del x6 - x461 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x461 += einsum(x459, (0, 1), (0, 1)) - del x459 - x461 += einsum(x460, (0, 1), (0, 1)) * -1.0 - del x460 - x462 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x462 += einsum(x461, (0, 1), t3.babbab, (2, 3, 4, 5, 6, 1), (2, 4, 0, 5, 3, 6)) * -2.0 - del x461 - x463 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x463 += einsum(t2.bbbb, (0, 1, 2, 3), x61, (4, 3, 5, 6), (4, 0, 1, 2, 5, 6)) - x464 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x464 += einsum(t1.bb, (0, 1), x463, (0, 2, 3, 4, 5, 6), (3, 2, 4, 1, 5, 6)) * 2.0 - del x463 - x465 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x465 += einsum(x456, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 4.0 - del x456 - x465 += einsum(x457, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -6.0 - del x457 - x465 += einsum(x462, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * -1.0 - del x462 - x465 += einsum(x464, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 - del x464 - t3new_babbab += einsum(x465, (0, 1, 2, 3, 4, 5), (1, 4, 0, 2, 5, 3)) - t3new_babbab += einsum(x465, (0, 1, 2, 3, 4, 5), (1, 4, 0, 3, 5, 2)) * -1.0 - del x465 - x466 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x466 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x466 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x466 += einsum(x225, (0, 1, 2, 3), (1, 0, 3, 2)) * 1.00000000000001 - x466 += einsum(x11, (0, 1, 2, 3), x271, (0, 4, 2, 5), (1, 4, 3, 5)) * -2.00000000000002 - x466 += einsum(x46, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x466 += einsum(t1.aa, (0, 1), x32, (2, 3, 0, 4), (3, 2, 4, 1)) * -1.0 - t3new_babbab += einsum(x466, (0, 1, 2, 3), t3.babbab, (4, 0, 5, 6, 2, 7), (4, 1, 5, 6, 3, 7)) * 2.0 - del x466 - x467 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x467 += einsum(t2.aaaa, (0, 1, 2, 3), (0, 1, 2, 3)) - x467 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 3, 1)) * -0.4999999999999949 - x468 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x468 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) - x468 += einsum(x124, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x124 - x468 += einsum(x38, (0, 1, 2, 3), (0, 1, 2, 3)) - x468 += einsum(t2.abab, (0, 1, 2, 3), x7, (1, 4, 3, 5), (4, 5, 0, 2)) * -1.00000000000001 - x468 += einsum(v.aabb.ovov, (0, 1, 2, 3), x467, (0, 4, 1, 5), (2, 3, 4, 5)) * 2.0000000000000204 - del x467 - t3new_babbab += einsum(x468, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 0, 6, 7, 1), (4, 2, 5, 6, 3, 7)) * 6.0 - del x468 - x469 = np.zeros((nvir[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x469 += einsum(v.bbbb.vvvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x469 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (0, 4, 1, 5), (5, 2, 4, 3)) - x469 += einsum(t1.bb, (0, 1), x107, (0, 2, 3, 4), (4, 1, 3, 2)) - t3new_babbab += einsum(x469, (0, 1, 2, 3), t3.babbab, (4, 5, 6, 0, 7, 2), (4, 5, 6, 1, 7, 3)) * -2.0 - del x469 - x470 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x470 += einsum(t2.bbbb, (0, 1, 2, 3), (0, 1, 2, 3)) - x470 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3)) - x471 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x471 += einsum(v.bbbb.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x471 += einsum(x184, (0, 1, 2, 3), (3, 0, 2, 1)) - x471 += einsum(x184, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 - x471 += einsum(v.bbbb.ovov, (0, 1, 2, 3), x470, (4, 5, 3, 1), (0, 5, 2, 4)) - t3new_babbab += einsum(x471, (0, 1, 2, 3), t3.babbab, (0, 4, 2, 5, 6, 7), (1, 4, 3, 5, 6, 7)) * 2.0 - del x471 - x472 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x472 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x472 += einsum(x185, (0, 1, 2, 3), (1, 0, 2, 3)) - x473 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x473 += einsum(t2.bbbb, (0, 1, 2, 3), x18, (4, 5, 1, 3), (4, 5, 0, 2)) * 2.0 - x474 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x474 += einsum(t2.bbbb, (0, 1, 2, 3), x190, (4, 5, 1, 3), (4, 5, 0, 2)) * 2.0 - x475 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x475 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x475 += einsum(x1, (0, 1, 2, 3), (0, 2, 1, 3)) - x476 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x476 += einsum(t1.bb, (0, 1), x475, (2, 3, 4, 1), (2, 3, 4, 0)) - del x475 - x477 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x477 += einsum(t1.bb, (0, 1), x476, (2, 0, 3, 4), (4, 2, 3, 1)) - x478 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x478 += einsum(x186, (0, 1, 2, 3), (0, 2, 1, 3)) - x478 += einsum(x187, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x478 += einsum(x473, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - del x473 - x478 += einsum(x474, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x474 - x478 += einsum(x193, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - del x193 - x478 += einsum(x477, (0, 1, 2, 3), (0, 2, 1, 3)) - del x477 - x479 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x479 += einsum(x210, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - x479 += einsum(v.bbbb.oooo, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x479 += einsum(v.bbbb.oooo, (0, 1, 2, 3), (0, 2, 1, 3)) - x480 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x480 += einsum(t1.bb, (0, 1), x479, (2, 3, 0, 4), (2, 3, 4, 1)) - x481 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x481 += einsum(x472, (0, 1, 2, 3), (0, 1, 2, 3)) - x481 += einsum(x472, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x472 - x481 += einsum(x478, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x481 += einsum(x478, (0, 1, 2, 3), (1, 2, 0, 3)) - del x478 - x481 += einsum(x170, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x481 += einsum(x480, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - t3new_babbab += einsum(t2.abab, (0, 1, 2, 3), x481, (1, 4, 5, 6), (5, 0, 4, 6, 2, 3)) * -1.0 - del x481 - x482 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x482 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - x482 += einsum(x185, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.5 - x483 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x483 += einsum(t2.bbbb, (0, 1, 2, 3), x18, (4, 5, 1, 3), (4, 5, 0, 2)) - del x18 - x484 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x484 += einsum(t2.bbbb, (0, 1, 2, 3), x190, (4, 5, 1, 3), (4, 5, 0, 2)) - del x190 - x485 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x485 += einsum(t1.bb, (0, 1), x192, (2, 3, 1, 4), (2, 3, 0, 4)) * 0.5 - del x192 - x486 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x486 += einsum(t1.bb, (0, 1), x476, (2, 0, 3, 4), (4, 2, 3, 1)) * 0.5 - del x476 - x487 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x487 += einsum(x186, (0, 1, 2, 3), (0, 2, 1, 3)) * 0.5 - x487 += einsum(x187, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.5 - x487 += einsum(x483, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - del x483 - x487 += einsum(x484, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x484 - x487 += einsum(x485, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - del x485 - x487 += einsum(x486, (0, 1, 2, 3), (0, 2, 1, 3)) - del x486 - x488 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x488 += einsum(x482, (0, 1, 2, 3), (0, 1, 2, 3)) - x488 += einsum(x482, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x482 - x488 += einsum(x487, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x488 += einsum(x487, (0, 1, 2, 3), (1, 2, 0, 3)) - del x487 - x488 += einsum(x9, (0, 1), t2.bbbb, (2, 3, 4, 1), (0, 2, 3, 4)) * -1.0 - x488 += einsum(t1.bb, (0, 1), x479, (2, 3, 0, 4), (4, 3, 2, 1)) * -0.5 - del x479 - t3new_babbab += einsum(t2.abab, (0, 1, 2, 3), x488, (1, 4, 5, 6), (5, 0, 4, 3, 2, 6)) * 2.0 - del x488 - x489 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x489 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.abaaba, (4, 5, 6, 7, 3, 1), (5, 2, 4, 6, 0, 7)) - x490 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x490 += einsum(t2.abab, (0, 1, 2, 3), x489, (4, 1, 5, 6, 0, 7), (4, 3, 5, 6, 2, 7)) - del x489 - x491 = np.zeros((nvir[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x491 += einsum(v.aabb.vvvv, (0, 1, 2, 3), (2, 3, 0, 1)) - x491 += einsum(x132, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x132 - x492 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x492 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), (1, 4, 0, 2, 3, 5)) - x492 += einsum(t1.bb, (0, 1), t2.aaaa, (2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - x493 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x493 += einsum(x491, (0, 1, 2, 3), x492, (4, 0, 5, 6, 2, 7), (4, 1, 5, 6, 7, 3)) * 2.0 - del x491 - x494 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x494 += einsum(v.aabb.vvoo, (0, 1, 2, 3), (2, 3, 0, 1)) - x494 += einsum(x129, (0, 1, 2, 3), (1, 0, 3, 2)) - del x129 - x495 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x495 += einsum(x494, (0, 1, 2, 3), t3.abaaba, (4, 0, 5, 6, 7, 2), (1, 7, 4, 5, 6, 3)) * -2.0 - del x494 - x496 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x496 += einsum(t1.bb, (0, 1), v.aabb.vvoo, (2, 3, 4, 0), (4, 1, 2, 3)) - x497 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x497 += einsum(t2.bbbb, (0, 1, 2, 3), v.aabb.vvov, (4, 5, 1, 3), (0, 2, 4, 5)) - x498 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x498 += einsum(t2.abab, (0, 1, 2, 3), x118, (0, 2, 4, 5), (1, 3, 4, 5)) - del x118 - x499 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x499 += einsum(t2.abab, (0, 1, 2, 3), x4, (1, 4, 0, 5), (4, 3, 5, 2)) - x500 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x500 += einsum(t2.abab, (0, 1, 2, 3), x104, (3, 4, 0, 5), (1, 4, 5, 2)) - x501 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x501 += einsum(v.aabb.vvov, (0, 1, 2, 3), (2, 3, 0, 1)) - x501 += einsum(x496, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x496 - x501 += einsum(x497, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - del x497 - x501 += einsum(x324, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - del x324 - x501 += einsum(x325, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - del x325 - x501 += einsum(x498, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x498 - x501 += einsum(x499, (0, 1, 2, 3), (0, 1, 2, 3)) - del x499 - x501 += einsum(x500, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x500 - x502 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x502 += einsum(t2.aaaa, (0, 1, 2, 3), x501, (4, 5, 3, 6), (4, 5, 0, 1, 2, 6)) * -2.0 - del x501 - x503 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x503 += einsum(v.aabb.ovov, (0, 1, 2, 3), x384, (4, 3, 0, 5), (2, 4, 1, 5)) - del x384 - x504 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x504 += einsum(x344, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.99999999999999 - del x344 - x504 += einsum(x503, (0, 1, 2, 3), (0, 1, 3, 2)) - del x503 - x505 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x505 += einsum(x504, (0, 1, 2, 3), t3.abaaba, (4, 0, 5, 6, 7, 3), (1, 7, 4, 5, 6, 2)) * -2.00000000000002 - del x504 - x506 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x506 += einsum(f.aa.vv, (0, 1), (0, 1)) * -1.0 - x506 += einsum(x72, (0, 1), (0, 1)) - del x72 - x506 += einsum(x73, (0, 1), (0, 1)) * 2.0 - del x73 - x506 += einsum(x139, (0, 1), (1, 0)) - del x139 - x507 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x507 += einsum(x506, (0, 1), t3.abaaba, (2, 3, 4, 5, 6, 1), (3, 6, 2, 4, 5, 0)) * -2.0 - del x506 - x508 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x508 += einsum(x255, (0, 1), t3.abaaba, (2, 3, 4, 5, 6, 0), (3, 6, 2, 4, 5, 1)) * -2.0 - del x255 - x509 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x509 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), t3.abaaba, (4, 5, 6, 1, 7, 3), (5, 7, 4, 6, 0, 2)) - x510 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x510 += einsum(x104, (0, 1, 2, 3), x492, (4, 0, 5, 6, 3, 7), (4, 1, 2, 5, 6, 7)) - del x492 - x511 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x511 += einsum(t1.bb, (0, 1), v.aabb.ovoo, (2, 3, 4, 0), (4, 1, 2, 3)) - x512 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x512 += einsum(t2.bbbb, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (0, 2, 4, 5)) - x513 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x513 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) - x513 += einsum(x511, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x513 += einsum(x512, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x512 - x513 += einsum(x163, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x163 - x514 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x514 += einsum(t2.aaaa, (0, 1, 2, 3), x513, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) * -1.0 - del x513 - x515 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x515 += einsum(x509, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) - del x509 - x515 += einsum(x510, (0, 1, 2, 3, 4, 5), (0, 1, 4, 3, 2, 5)) - del x510 - x515 += einsum(x514, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) - del x514 - x516 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x516 += einsum(t1.aa, (0, 1), x515, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 6, 1)) * 2.0 - del x515 - x517 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x517 += einsum(x77, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x77 - x517 += einsum(x78, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x78 - x517 += einsum(x79, (0, 1, 2, 3), (0, 1, 2, 3)) * -3.0 - del x79 - x518 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x518 += einsum(t2.abab, (0, 1, 2, 3), x517, (4, 5, 0, 6), (1, 3, 4, 5, 6, 2)) * 2.0 - del x517 - x519 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x519 += einsum(x490, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -2.0 - del x490 - x519 += einsum(x493, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 - del x493 - x519 += einsum(x495, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) - del x495 - x519 += einsum(x502, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 - del x502 - x519 += einsum(x505, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) - del x505 - x519 += einsum(x507, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -1.0 - del x507 - x519 += einsum(x508, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 - del x508 - x519 += einsum(x516, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) - del x516 - x519 += einsum(x518, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -1.0 - del x518 - t3new_abaaba += einsum(x519, (0, 1, 2, 3, 4, 5), (3, 0, 2, 4, 1, 5)) - t3new_abaaba += einsum(x519, (0, 1, 2, 3, 4, 5), (3, 0, 2, 5, 1, 4)) * -1.0 - del x519 - x520 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x520 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.babbab, (4, 5, 2, 6, 7, 3), (4, 6, 5, 0, 7, 1)) - x521 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x521 += einsum(t2.abab, (0, 1, 2, 3), x64, (4, 5, 2, 6), (1, 3, 4, 0, 6, 5)) - del x64 - x522 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x522 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ooov, (4, 0, 5, 3), (1, 5, 4, 2)) - x523 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x523 += einsum(t2.abab, (0, 1, 2, 3), x522, (4, 1, 5, 6), (4, 3, 0, 5, 6, 2)) - del x522 - x524 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x524 += einsum(x38, (0, 1, 2, 3), t3.babbab, (4, 5, 0, 6, 7, 1), (4, 6, 2, 5, 7, 3)) - x525 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x525 += einsum(t2.abab, (0, 1, 2, 3), x23, (4, 3, 5, 0), (1, 4, 5, 2)) - x526 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x526 += einsum(t2.abab, (0, 1, 2, 3), x525, (4, 1, 5, 6), (4, 3, 5, 0, 6, 2)) - del x525 - x527 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x527 += einsum(t2.aaaa, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.00000000000002 - x527 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 3, 1)) * -1.0 - x528 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x528 += einsum(x527, (0, 1, 2, 3), x68, (0, 4, 5, 2), (4, 1, 5, 3)) - del x68, x527 - x529 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x529 += einsum(x225, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.00000000000001 - x529 += einsum(x528, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x528 - x530 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x530 += einsum(x529, (0, 1, 2, 3), t3.abaaba, (4, 5, 1, 6, 7, 3), (5, 7, 4, 0, 6, 2)) * 2.0 - del x529 - x531 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x531 += einsum(v.aabb.ovov, (0, 1, 2, 3), x271, (0, 4, 1, 5), (2, 3, 4, 5)) * 2.0 - del x271 - x532 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x532 += einsum(x61, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x61 - x532 += einsum(x531, (0, 1, 2, 3), (0, 1, 2, 3)) - del x531 - x533 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x533 += einsum(x532, (0, 1, 2, 3), t3.babbab, (4, 5, 0, 6, 7, 1), (4, 6, 2, 5, 3, 7)) * 2.00000000000002 - del x532 - x534 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x534 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), (1, 4, 0, 2, 3, 5)) - x534 += einsum(t1.aa, (0, 1), t2.abab, (2, 3, 4, 5), (3, 5, 0, 2, 4, 1)) * -0.5 - x535 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x535 += einsum(x28, (0, 1, 2, 3), x534, (4, 5, 0, 6, 2, 7), (4, 5, 1, 6, 3, 7)) * 2.0 - del x28, x534 - x536 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x536 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), (1, 4, 0, 2, 3, 5)) * 2.0 - x536 += einsum(t1.aa, (0, 1), t2.abab, (2, 3, 4, 5), (3, 5, 0, 2, 4, 1)) * -1.0 - x537 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x537 += einsum(x46, (0, 1, 2, 3), x536, (4, 5, 0, 6, 3, 7), (4, 5, 1, 6, 2, 7)) * -1.0 - del x46, x536 - x538 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x538 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ooov, (4, 0, 1, 5), (3, 5, 4, 2)) - x539 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x539 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.vvov, (4, 2, 1, 5), (3, 5, 0, 4)) - x540 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x540 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x540 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) - x540 += einsum(x107, (0, 1, 2, 3), (0, 2, 3, 1)) - x540 += einsum(x107, (0, 1, 2, 3), (0, 3, 2, 1)) * -1.0 - del x107 - x541 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x541 += einsum(t2.abab, (0, 1, 2, 3), x540, (1, 4, 3, 5), (4, 5, 0, 2)) - del x540 - x542 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x542 += einsum(v.aabb.ovvv, (0, 1, 2, 3), (2, 3, 0, 1)) - x542 += einsum(x103, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x543 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x543 += einsum(t2.aaaa, (0, 1, 2, 3), x542, (4, 5, 1, 3), (4, 5, 0, 2)) * 2.0 - del x542 - x544 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x544 += einsum(x9, (0, 1), t2.abab, (2, 0, 3, 4), (1, 4, 2, 3)) - del x9 - x545 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x545 += einsum(v.aabb.ovvv, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 - x545 += einsum(x103, (0, 1, 2, 3), (1, 0, 2, 3)) - del x103 - x545 += einsum(x538, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x538 - x545 += einsum(x539, (0, 1, 2, 3), (1, 0, 2, 3)) - del x539 - x545 += einsum(x455, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 - del x455 - x545 += einsum(x429, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 - del x429 - x545 += einsum(x541, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x541 - x545 += einsum(x543, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x543 - x545 += einsum(x544, (0, 1, 2, 3), (0, 1, 2, 3)) - del x544 - x546 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x546 += einsum(t2.abab, (0, 1, 2, 3), x545, (3, 4, 5, 6), (1, 4, 5, 0, 6, 2)) - del x545 - x547 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x547 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x547 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) - x548 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x548 += einsum(t2.aaaa, (0, 1, 2, 3), x547, (1, 3, 4, 5), (0, 2, 4, 5)) * 2.0 - del x547 - x549 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x549 += einsum(t1.aa, (0, 1), v.aaaa.ooov, (2, 3, 0, 4), (2, 3, 1, 4)) - x550 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x550 += einsum(x549, (0, 1, 2, 3), (1, 0, 2, 3)) - del x549 - x550 += einsum(x225, (0, 1, 2, 3), (0, 1, 2, 3)) - del x225 - x550 += einsum(x226, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x226 - x551 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x551 += einsum(t1.aa, (0, 1), x550, (2, 0, 3, 4), (2, 3, 4, 1)) - del x550 - x552 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x552 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) - x552 += einsum(x219, (0, 1, 2, 3), (0, 1, 3, 2)) - del x219 - x552 += einsum(x548, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x548 - x552 += einsum(x551, (0, 1, 2, 3), (0, 3, 1, 2)) - del x551 - x553 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x553 += einsum(t2.abab, (0, 1, 2, 3), x552, (4, 5, 6, 2), (1, 3, 4, 0, 5, 6)) - del x552 - x554 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x554 += einsum(v.aabb.ooov, (0, 1, 2, 3), t3.babbab, (4, 5, 2, 6, 7, 3), (4, 6, 5, 0, 1, 7)) - x555 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x555 += einsum(t2.abab, (0, 1, 2, 3), x25, (4, 5, 6, 2), (1, 3, 4, 0, 6, 5)) - x556 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x556 += einsum(t1.aa, (0, 1), x555, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 6, 1)) - del x555 - x557 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x557 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x557 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - x558 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x558 += einsum(x557, (0, 1, 2, 3), t3.abaaba, (4, 5, 0, 6, 7, 3), (5, 7, 4, 1, 2, 6)) * 2.0 - del x557 - x559 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x559 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 1, 5), (3, 5, 0, 4)) - x560 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x560 += einsum(v.aabb.oovv, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 - x560 += einsum(x121, (0, 1, 2, 3), (1, 0, 3, 2)) - x560 += einsum(x559, (0, 1, 2, 3), (1, 0, 3, 2)) - del x559 - x561 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x561 += einsum(t2.abab, (0, 1, 2, 3), x560, (3, 4, 5, 6), (1, 4, 5, 6, 0, 2)) - del x560 - x562 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x562 += einsum(x136, (0, 1, 2, 3), (1, 0, 2, 3)) - x562 += einsum(x137, (0, 1, 2, 3), (1, 0, 2, 3)) - del x137 - x563 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x563 += einsum(t2.abab, (0, 1, 2, 3), x562, (1, 4, 5, 6), (4, 3, 5, 6, 0, 2)) - x564 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x564 += einsum(t1.bb, (0, 1), x23, (0, 2, 3, 4), (1, 2, 3, 4)) - x565 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x565 += einsum(x122, (0, 1, 2, 3), (1, 0, 2, 3)) - x565 += einsum(x564, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x564 - x566 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x566 += einsum(t2.abab, (0, 1, 2, 3), x565, (3, 4, 5, 6), (1, 4, 5, 6, 0, 2)) - del x565 - x567 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x567 += einsum(v.aabb.oooo, (0, 1, 2, 3), (2, 3, 0, 1)) - x567 += einsum(x135, (0, 1, 2, 3), (1, 0, 3, 2)) - del x135 - x568 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x568 += einsum(t2.abab, (0, 1, 2, 3), x567, (1, 4, 5, 6), (4, 3, 5, 6, 0, 2)) - x569 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x569 += einsum(x554, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 2.0 - del x554 - x569 += einsum(x556, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x556 - x569 += einsum(x558, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - del x558 - x569 += einsum(x561, (0, 1, 2, 3, 4, 5), (0, 1, 4, 3, 2, 5)) * -1.0 - del x561 - x569 += einsum(x563, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) - del x563 - x569 += einsum(x566, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - del x566 - x569 += einsum(x568, (0, 1, 2, 3, 4, 5), (0, 1, 4, 3, 2, 5)) * -1.0 - del x568 - x570 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x570 += einsum(t1.aa, (0, 1), x569, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 6, 1)) - del x569 - x571 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x571 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x571 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) - x571 += einsum(x1, (0, 1, 2, 3), (0, 1, 2, 3)) - x571 += einsum(x1, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x572 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x572 += einsum(t2.abab, (0, 1, 2, 3), x571, (4, 5, 1, 3), (4, 5, 0, 2)) - del x571 - x573 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x573 += einsum(t2.aaaa, (0, 1, 2, 3), x130, (4, 5, 1, 3), (4, 5, 0, 2)) * 2.0 - del x130 - x574 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x574 += einsum(v.aabb.ovoo, (0, 1, 2, 3), (2, 3, 0, 1)) - x574 += einsum(x3, (0, 1, 2, 3), (1, 0, 2, 3)) - del x3 - x574 += einsum(x391, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 - del x391 - x574 += einsum(x392, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 - del x392 - x574 += einsum(x572, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x572 - x574 += einsum(x573, (0, 1, 2, 3), (1, 0, 2, 3)) - del x573 - x575 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x575 += einsum(t2.abab, (0, 1, 2, 3), x574, (1, 4, 5, 6), (4, 3, 5, 0, 6, 2)) - del x574 - x576 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x576 += einsum(t1.bb, (0, 1), x38, (0, 2, 3, 4), (1, 2, 3, 4)) - del x38 - x577 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x577 += einsum(t2.abab, (0, 1, 2, 3), x23, (1, 4, 5, 0), (3, 4, 5, 2)) - x578 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x578 += einsum(x153, (0, 1, 2, 3), (1, 0, 2, 3)) - del x153 - x578 += einsum(x576, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x576 - x578 += einsum(x577, (0, 1, 2, 3), (1, 0, 2, 3)) - del x577 - x579 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x579 += einsum(t2.abab, (0, 1, 2, 3), x578, (3, 4, 5, 6), (1, 4, 5, 0, 6, 2)) - del x578 - x580 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x580 += einsum(v.aabb.vvov, (0, 1, 2, 3), x5, (4, 3, 5, 1), (4, 2, 5, 0)) - del x5 - x581 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x581 += einsum(x147, (0, 1, 2, 3), (1, 0, 2, 3)) - del x147 - x581 += einsum(x580, (0, 1, 2, 3), (1, 0, 2, 3)) - del x580 - x582 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x582 += einsum(t2.abab, (0, 1, 2, 3), x581, (1, 4, 5, 6), (4, 3, 5, 0, 6, 2)) - del x581 - x583 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x583 += einsum(x520, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -2.0 - del x520 - x583 += einsum(x521, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - del x521 - x583 += einsum(x523, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x523 - x583 += einsum(x524, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 2.0 - del x524 - x583 += einsum(x526, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - del x526 - x583 += einsum(x530, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -1.0 - del x530 - x583 += einsum(x533, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - del x533 - x583 += einsum(x535, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) - del x535 - x583 += einsum(x537, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - del x537 - x583 += einsum(x546, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) - del x546 - x583 += einsum(x553, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) - del x553 - x583 += einsum(x570, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 - del x570 - x583 += einsum(x575, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) - del x575 - x583 += einsum(x579, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - del x579 - x583 += einsum(x582, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 - del x582 - t3new_abaaba += einsum(x583, (0, 1, 2, 3, 4, 5), (2, 0, 3, 4, 1, 5)) * -1.0 - t3new_abaaba += einsum(x583, (0, 1, 2, 3, 4, 5), (2, 0, 3, 5, 1, 4)) - t3new_abaaba += einsum(x583, (0, 1, 2, 3, 4, 5), (3, 0, 2, 4, 1, 5)) - t3new_abaaba += einsum(x583, (0, 1, 2, 3, 4, 5), (3, 0, 2, 5, 1, 4)) * -1.0 - del x583 - x584 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x584 += einsum(t2.abab, (0, 1, 2, 3), x261, (4, 5, 6, 2), (1, 3, 4, 0, 5, 6)) * -1.0 - del x261 - x585 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x585 += einsum(x122, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.99999999999999 - del x122 - x585 += einsum(x436, (0, 1, 2, 3), (0, 1, 3, 2)) - del x436 - x586 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x586 += einsum(x585, (0, 1, 2, 3), t3.abaaba, (4, 5, 3, 6, 0, 7), (5, 1, 4, 2, 6, 7)) * -2.00000000000002 - del x585 - x587 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x587 += einsum(x562, (0, 1, 2, 3), t3.abaaba, (4, 0, 3, 5, 6, 7), (1, 6, 4, 2, 5, 7)) * -2.0 - del x562 - x588 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x588 += einsum(t1.bb, (0, 1), v.aabb.oooo, (2, 3, 4, 0), (4, 1, 2, 3)) - x589 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x589 += einsum(t2.abab, (0, 1, 2, 3), x4, (1, 4, 5, 2), (4, 3, 5, 0)) - del x4 - x590 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x590 += einsum(t2.abab, (0, 1, 2, 3), x32, (4, 5, 0, 2), (1, 3, 4, 5)) - x591 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x591 += einsum(t2.abab, (0, 1, 2, 3), x104, (3, 4, 5, 2), (1, 4, 5, 0)) - del x104 - x592 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x592 += einsum(x13, (0, 1), t2.abab, (2, 3, 1, 4), (3, 4, 0, 2)) - del x13 - x593 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x593 += einsum(v.aabb.ooov, (0, 1, 2, 3), x113, (2, 4, 3, 5), (4, 5, 0, 1)) * 2.0 - x594 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x594 += einsum(v.aabb.ooov, (0, 1, 2, 3), (2, 3, 0, 1)) - x594 += einsum(x588, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x588 - x594 += einsum(x155, (0, 1, 2, 3), (0, 1, 3, 2)) - del x155 - x594 += einsum(x360, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - del x360 - x594 += einsum(x361, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - del x361 - x594 += einsum(x589, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x589 - x594 += einsum(x590, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x590 - x594 += einsum(x591, (0, 1, 2, 3), (0, 1, 2, 3)) - del x591 - x594 += einsum(x592, (0, 1, 2, 3), (0, 1, 2, 3)) - del x592 - x594 += einsum(x593, (0, 1, 2, 3), (0, 1, 3, 2)) - del x593 - x595 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x595 += einsum(t2.aaaa, (0, 1, 2, 3), x594, (4, 5, 1, 6), (4, 5, 0, 6, 2, 3)) * -2.0 - del x594 - x596 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x596 += einsum(v.aabb.oovv, (0, 1, 2, 3), (2, 3, 0, 1)) - x596 += einsum(x121, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x121 - x597 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x597 += einsum(x596, (0, 1, 2, 3), t3.abaaba, (4, 5, 2, 6, 0, 7), (5, 1, 4, 3, 6, 7)) * -2.0 - del x596 - x598 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x598 += einsum(x214, (0, 1, 2, 3), (0, 2, 1, 3)) - del x214 - x598 += einsum(x240, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x240 - x598 += einsum(x241, (0, 1, 2, 3), (0, 2, 1, 3)) * -3.0 - del x241 - x599 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x599 += einsum(t2.abab, (0, 1, 2, 3), x598, (4, 5, 6, 2), (1, 3, 4, 0, 5, 6)) * 2.0 - del x598 - x600 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x600 += einsum(x567, (0, 1, 2, 3), t3.abaaba, (4, 0, 2, 5, 6, 7), (1, 6, 4, 3, 5, 7)) * -2.0 - del x567 - x601 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x601 += einsum(f.aa.oo, (0, 1), (0, 1)) - x601 += einsum(x30, (0, 1), (0, 1)) - del x30 - x601 += einsum(x31, (0, 1), (0, 1)) * 2.0 - del x31 - x601 += einsum(x34, (0, 1), (1, 0)) - del x34 - x602 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x602 += einsum(x601, (0, 1), t3.abaaba, (2, 3, 1, 4, 5, 6), (3, 5, 2, 0, 4, 6)) * -2.0 - del x601 - x603 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x603 += einsum(t1.bb, (0, 1), x136, (2, 0, 3, 4), (2, 1, 3, 4)) - del x136 - x604 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x604 += einsum(t2.abab, (0, 1, 2, 3), x55, (4, 0, 5, 2), (1, 3, 4, 5)) - x605 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x605 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) - x605 += einsum(x127, (0, 1, 2, 3), (0, 1, 2, 3)) - x606 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x606 += einsum(t1.aa, (0, 1), x605, (2, 3, 4, 1), (2, 3, 4, 0)) - del x605 - x607 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x607 += einsum(x113, (0, 1, 2, 3), x23, (0, 2, 4, 5), (1, 3, 4, 5)) * 2.0 - del x23 - x608 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x608 += einsum(x603, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x603 - x608 += einsum(x604, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x604 - x608 += einsum(x606, (0, 1, 2, 3), (0, 1, 3, 2)) - del x606 - x608 += einsum(x607, (0, 1, 2, 3), (0, 1, 2, 3)) - del x607 - x609 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x609 += einsum(t2.aaaa, (0, 1, 2, 3), x608, (4, 5, 6, 1), (4, 5, 0, 6, 2, 3)) * -2.0 - del x608 - x610 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x610 += einsum(x251, (0, 1), t3.abaaba, (2, 3, 0, 4, 5, 6), (3, 5, 2, 1, 4, 6)) * -2.0 - del x251 - x611 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x611 += einsum(x584, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 2.0 - del x584 - x611 += einsum(x586, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) - del x586 - x611 += einsum(x587, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) - del x587 - x611 += einsum(x595, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - del x595 - x611 += einsum(x597, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - del x597 - x611 += einsum(x599, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) - del x599 - x611 += einsum(x600, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 - del x600 - x611 += einsum(x602, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -1.0 - del x602 - x611 += einsum(x609, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -1.0 - del x609 - x611 += einsum(x610, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - del x610 - t3new_abaaba += einsum(x611, (0, 1, 2, 3, 4, 5), (2, 0, 3, 4, 1, 5)) * -1.0 - t3new_abaaba += einsum(x611, (0, 1, 2, 3, 4, 5), (3, 0, 2, 4, 1, 5)) - del x611 - x612 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x612 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x612 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x612 += einsum(x111, (0, 1, 2, 3), (1, 0, 3, 2)) * 1.00000000000001 - x612 += einsum(x112, (0, 1, 2, 3), x315, (0, 4, 3, 5), (1, 4, 2, 5)) * -2.00000000000002 - del x112 - x612 += einsum(x115, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x115 - x612 += einsum(x116, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x116 - t3new_abaaba += einsum(x612, (0, 1, 2, 3), t3.abaaba, (4, 0, 5, 6, 2, 7), (4, 1, 5, 6, 3, 7)) * 2.0 - del x612 - x613 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x613 += einsum(t2.bbbb, (0, 1, 2, 3), (0, 1, 2, 3)) - x613 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1)) * -0.4999999999999949 - x614 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x614 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) - x614 += einsum(x511, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x511 - x614 += einsum(x127, (0, 1, 2, 3), (0, 1, 2, 3)) - x614 += einsum(x314, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x314 - x614 += einsum(v.aabb.ovov, (0, 1, 2, 3), x613, (2, 4, 3, 5), (4, 5, 0, 1)) * 2.0000000000000204 - del x613 - t3new_abaaba += einsum(x614, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 2, 6, 7, 3), (4, 0, 5, 6, 1, 7)) * 6.0 - del x614 - x615 = np.zeros((nvir[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x615 += einsum(v.aaaa.vvvv, (0, 1, 2, 3), (0, 1, 2, 3)) - x615 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (0, 4, 1, 5), (5, 2, 3, 4)) * -1.0 - x615 += einsum(t1.aa, (0, 1), x109, (0, 2, 3, 4), (4, 1, 2, 3)) * -1.0 - del x109 - t3new_abaaba += einsum(x615, (0, 1, 2, 3), t3.abaaba, (4, 5, 6, 0, 7, 3), (4, 5, 6, 2, 7, 1)) * -2.0 - del x615 - x616 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x616 += einsum(v.aaaa.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x616 += einsum(x49, (0, 1, 2, 3), (2, 0, 3, 1)) * -1.0 - x616 += einsum(x49, (0, 1, 2, 3), (2, 1, 3, 0)) - del x49 - x616 += einsum(x99, (0, 1, 2, 3), (1, 3, 0, 2)) - del x99 - t3new_abaaba += einsum(x616, (0, 1, 2, 3), t3.abaaba, (0, 4, 2, 5, 6, 7), (1, 4, 3, 5, 6, 7)) * 2.0 - del x616 - x617 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x617 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x617 += einsum(x50, (0, 1, 2, 3), (1, 0, 2, 3)) - del x50 - x618 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x618 += einsum(t2.aaaa, (0, 1, 2, 3), x32, (4, 5, 1, 3), (0, 4, 5, 2)) * 2.0 - del x32 - x619 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x619 += einsum(t2.aaaa, (0, 1, 2, 3), x55, (4, 5, 1, 3), (0, 4, 5, 2)) * 2.0 - del x55 - x620 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x620 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x620 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x620 += einsum(x37, (0, 1, 2, 3), (0, 1, 2, 3)) - del x37 - x621 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x621 += einsum(t1.aa, (0, 1), x620, (2, 3, 1, 4), (2, 3, 0, 4)) - del x620 - x622 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x622 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x622 += einsum(x25, (0, 1, 2, 3), (0, 2, 1, 3)) - del x25 - x623 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x623 += einsum(t1.aa, (0, 1), x622, (2, 3, 4, 1), (2, 3, 4, 0)) - del x622 - x624 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x624 += einsum(t1.aa, (0, 1), x623, (2, 0, 3, 4), (4, 2, 3, 1)) - del x623 - x625 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x625 += einsum(x48, (0, 1, 2, 3), (0, 2, 1, 3)) - del x48 - x625 += einsum(x52, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x52 - x625 += einsum(x618, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x618 - x625 += einsum(x619, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - del x619 - x625 += einsum(x621, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - del x621 - x625 += einsum(x624, (0, 1, 2, 3), (0, 2, 1, 3)) - del x624 - x626 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x626 += einsum(x617, (0, 1, 2, 3), (0, 1, 2, 3)) - x626 += einsum(x617, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x617 - x626 += einsum(x625, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x626 += einsum(x625, (0, 1, 2, 3), (1, 2, 0, 3)) - del x625 - x626 += einsum(x80, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x80 - x626 += einsum(x295, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - del x295 - x627 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x627 += einsum(t2.abab, (0, 1, 2, 3), x626, (0, 4, 5, 6), (1, 3, 4, 5, 6, 2)) - del x626 - t3new_abaaba += einsum(x627, (0, 1, 2, 3, 4, 5), (3, 0, 2, 4, 1, 5)) * -1.0 - t3new_abaaba += einsum(x627, (0, 1, 2, 3, 4, 5), (3, 0, 2, 5, 1, 4)) - del x627 - x628 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x628 += einsum(t2.bbbb, (0, 1, 2, 3), x430, (1, 4, 3, 5), (0, 4, 5, 2)) * 2.0 - del x430 - x629 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x629 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) - x629 += einsum(x331, (0, 1, 2, 3), (0, 1, 3, 2)) - del x331 - x629 += einsum(x628, (0, 1, 2, 3), (0, 3, 1, 2)) * -1.0 - del x628 - x630 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x630 += einsum(t2.bbbb, (0, 1, 2, 3), x629, (4, 5, 3, 6), (4, 0, 1, 5, 6, 2)) * -2.0 - del x629 - x631 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x631 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ooov, (4, 5, 6, 3), (0, 1, 4, 5, 6, 2)) - x632 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x632 += einsum(t1.bb, (0, 1), x631, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x631 - x633 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x633 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x633 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x633 += einsum(x111, (0, 1, 2, 3), (0, 1, 2, 3)) - x633 += einsum(x335, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x335 - x634 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x634 += einsum(t2.bbbb, (0, 1, 2, 3), x633, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) * -1.0 - del x633 - x635 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x635 += einsum(x632, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) - del x632 - x635 += einsum(x634, (0, 1, 2, 3, 4, 5), (3, 2, 1, 0, 5, 4)) * -1.0 - del x634 - x636 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x636 += einsum(t1.bb, (0, 1), x635, (2, 3, 0, 4, 5, 6), (2, 3, 4, 5, 6, 1)) * 2.0 - del x635 - x637 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x637 += einsum(x630, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) - del x630 - x637 += einsum(x636, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) - del x636 - t3new_bbbbbb = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - t3new_bbbbbb += einsum(x637, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - t3new_bbbbbb += einsum(x637, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - t3new_bbbbbb += einsum(x637, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) - t3new_bbbbbb += einsum(x637, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -1.0 - t3new_bbbbbb += einsum(x637, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -1.0 - t3new_bbbbbb += einsum(x637, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) - t3new_bbbbbb += einsum(x637, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) - t3new_bbbbbb += einsum(x637, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - t3new_bbbbbb += einsum(x637, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -1.0 - t3new_bbbbbb += einsum(x637, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) - t3new_bbbbbb += einsum(x637, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - t3new_bbbbbb += einsum(x637, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -1.0 - t3new_bbbbbb += einsum(x637, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) - t3new_bbbbbb += einsum(x637, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -1.0 - t3new_bbbbbb += einsum(x637, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -1.0 - t3new_bbbbbb += einsum(x637, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) - t3new_bbbbbb += einsum(x637, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) - t3new_bbbbbb += einsum(x637, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -1.0 - del x637 - x638 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x638 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.babbab, (4, 0, 5, 6, 1, 7), (4, 5, 2, 6, 7, 3)) - x639 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x639 += einsum(t2.bbbb, (0, 1, 2, 3), x402, (4, 5, 6, 3), (0, 1, 4, 5, 6, 2)) - del x402 - x640 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x640 += einsum(t2.bbbb, (0, 1, 2, 3), x167, (4, 5, 1, 6), (4, 5, 0, 2, 3, 6)) - del x167 - x641 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x641 += einsum(x14, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 0, 6, 7, 2), (4, 5, 1, 6, 7, 3)) * 6.0 - del x14 - x642 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x642 += einsum(x638, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 2.0 - del x638 - x642 += einsum(x639, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -4.0 - del x639 - x642 += einsum(x640, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -4.0 - del x640 - x642 += einsum(x641, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x641 - t3new_bbbbbb += einsum(x642, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - t3new_bbbbbb += einsum(x642, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - t3new_bbbbbb += einsum(x642, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -1.0 - t3new_bbbbbb += einsum(x642, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) - t3new_bbbbbb += einsum(x642, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - t3new_bbbbbb += einsum(x642, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) - t3new_bbbbbb += einsum(x642, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) - t3new_bbbbbb += einsum(x642, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -1.0 - t3new_bbbbbb += einsum(x642, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) - del x642 - x643 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x643 += einsum(x127, (0, 1, 2, 3), t3.babbab, (4, 2, 5, 6, 3, 7), (0, 4, 5, 6, 7, 1)) - del x127 - x644 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x644 += einsum(t2.bbbb, (0, 1, 2, 3), x382, (4, 5, 6, 3), (4, 0, 1, 5, 6, 2)) * -1.0 - del x382 - x645 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x645 += einsum(x182, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 0, 6, 7, 3), (4, 5, 1, 6, 7, 2)) * -6.0 - x646 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x646 += einsum(x168, (0, 1, 2, 3), (0, 1, 2, 3)) - del x168 - x646 += einsum(x169, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.3333333333333333 - del x169 - x647 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x647 += einsum(t2.bbbb, (0, 1, 2, 3), x646, (4, 5, 1, 6), (4, 5, 0, 6, 2, 3)) * -12.0 - del x646 - x648 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x648 += einsum(x643, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * 2.0 - del x643 - x648 += einsum(x644, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) * -4.0 - del x644 - x648 += einsum(x645, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) - del x645 - x648 += einsum(x647, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) - del x647 - t3new_bbbbbb += einsum(x648, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - t3new_bbbbbb += einsum(x648, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 - t3new_bbbbbb += einsum(x648, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) - t3new_bbbbbb += einsum(x648, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) - t3new_bbbbbb += einsum(x648, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) * -1.0 - t3new_bbbbbb += einsum(x648, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) - t3new_bbbbbb += einsum(x648, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -1.0 - t3new_bbbbbb += einsum(x648, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) - t3new_bbbbbb += einsum(x648, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * -1.0 - del x648 - x649 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x649 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 6, 7, 1, 3), (4, 5, 6, 0, 7, 2)) - x650 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x650 += einsum(t1.bb, (0, 1), x649, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) - del x649 - t3new_bbbbbb += einsum(x650, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 6.0 - t3new_bbbbbb += einsum(x650, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -6.0 - t3new_bbbbbb += einsum(x650, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -6.0 - t3new_bbbbbb += einsum(x650, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * 6.0 - t3new_bbbbbb += einsum(x650, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 6.0 - t3new_bbbbbb += einsum(x650, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) * -6.0 - del x650 - x651 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x651 += einsum(x440, (0, 1), t3.bbbbbb, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 6, 1)) * 6.0 - del x440 - x652 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x652 += einsum(v.bbbb.ovov, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 6, 7, 3, 1), (4, 5, 6, 0, 2, 7)) * -1.0 - x653 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x653 += einsum(x470, (0, 1, 2, 3), x652, (4, 5, 6, 0, 1, 7), (4, 5, 6, 2, 3, 7)) * 6.0 - del x470, x652 - x654 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x654 += einsum(x651, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) - del x651 - x654 += einsum(x653, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - del x653 - t3new_bbbbbb += einsum(x654, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - t3new_bbbbbb += einsum(x654, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 - t3new_bbbbbb += einsum(x654, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) - del x654 - x655 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x655 += einsum(t2.bbbb, (0, 1, 2, 3), x157, (4, 5, 3, 6), (4, 0, 1, 2, 6, 5)) - del x157 - x656 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x656 += einsum(t2.bbbb, (0, 1, 2, 3), x1, (4, 5, 6, 3), (4, 0, 1, 6, 5, 2)) - del x1 - x657 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x657 += einsum(t1.bb, (0, 1), x656, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - del x656 - x658 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x658 += einsum(t2.bbbb, (0, 1, 2, 3), x182, (4, 5, 6, 3), (5, 4, 0, 1, 6, 2)) - del x182 - x659 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x659 += einsum(x657, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 - del x657 - x659 += einsum(x658, (0, 1, 2, 3, 4, 5), (0, 3, 2, 1, 5, 4)) * -1.0 - del x658 - x660 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x660 += einsum(t1.bb, (0, 1), x659, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 6, 1)) * 2.0 - del x659 - x661 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x661 += einsum(x655, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -2.0 - del x655 - x661 += einsum(x660, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -1.0 - del x660 - t3new_bbbbbb += einsum(x661, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - t3new_bbbbbb += einsum(x661, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - t3new_bbbbbb += einsum(x661, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) - t3new_bbbbbb += einsum(x661, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -1.0 - t3new_bbbbbb += einsum(x661, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -1.0 - t3new_bbbbbb += einsum(x661, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) - t3new_bbbbbb += einsum(x661, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) * -1.0 - t3new_bbbbbb += einsum(x661, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) - t3new_bbbbbb += einsum(x661, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) - t3new_bbbbbb += einsum(x661, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 - t3new_bbbbbb += einsum(x661, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * -1.0 - t3new_bbbbbb += einsum(x661, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) - t3new_bbbbbb += einsum(x661, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) - t3new_bbbbbb += einsum(x661, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 5, 4)) * -1.0 - t3new_bbbbbb += einsum(x661, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) * -1.0 - t3new_bbbbbb += einsum(x661, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) - t3new_bbbbbb += einsum(x661, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) - t3new_bbbbbb += einsum(x661, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -1.0 - del x661 - x662 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x662 += einsum(v.bbbb.oooo, (0, 1, 2, 3), t3.bbbbbb, (4, 3, 1, 5, 6, 7), (4, 0, 2, 5, 6, 7)) * -1.0 - x663 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x663 += einsum(f.bb.oo, (0, 1), (0, 1)) - x663 += einsum(x16, (0, 1), (1, 0)) * 2.0 - del x16 - x663 += einsum(x17, (0, 1), (1, 0)) - del x17 - x663 += einsum(x20, (0, 1), (0, 1)) - del x20 - x664 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x664 += einsum(x663, (0, 1), t3.bbbbbb, (2, 3, 0, 4, 5, 6), (2, 3, 1, 4, 5, 6)) * 6.0 - del x663 - x665 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x665 += einsum(x662, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * 6.0 - del x662 - x665 += einsum(x664, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) - del x664 - t3new_bbbbbb += einsum(x665, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -1.0 - t3new_bbbbbb += einsum(x665, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 - t3new_bbbbbb += einsum(x665, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) - del x665 - x666 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x666 += einsum(v.bbbb.vvvv, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 6, 7, 3, 1), (4, 5, 6, 7, 0, 2)) * -1.0 - x667 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x667 += einsum(f.bb.vv, (0, 1), (0, 1)) * -1.0 - x667 += einsum(x142, (0, 1), (1, 0)) * 2.0 - del x142 - x667 += einsum(x143, (0, 1), (1, 0)) - del x143 - x667 += einsum(x145, (0, 1), (0, 1)) - del x145 - x668 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x668 += einsum(x667, (0, 1), t3.bbbbbb, (2, 3, 4, 5, 6, 0), (2, 3, 4, 5, 6, 1)) * 6.0 - del x667 - x669 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x669 += einsum(x666, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -6.0 - del x666 - x669 += einsum(x668, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 3, 4)) * -1.0 - del x668 - t3new_bbbbbb += einsum(x669, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - t3new_bbbbbb += einsum(x669, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - t3new_bbbbbb += einsum(x669, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) - del x669 - x670 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x670 += einsum(x210, (0, 1, 2, 3), (1, 0, 3, 2)) - del x210 - x670 += einsum(x171, (0, 1, 2, 3), (0, 1, 2, 3)) - x671 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x671 += einsum(x670, (0, 1, 2, 3), t3.bbbbbb, (4, 2, 3, 5, 6, 7), (4, 0, 1, 5, 6, 7)) * -6.0 - del x670 - x672 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x672 += einsum(x417, (0, 1), t3.bbbbbb, (2, 3, 0, 4, 5, 6), (2, 3, 1, 4, 5, 6)) * 6.0 - del x417 - x673 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x673 += einsum(x671, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) - del x671 - x673 += einsum(x672, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * -1.0 - del x672 - t3new_bbbbbb += einsum(x673, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) - t3new_bbbbbb += einsum(x673, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) * -1.0 - t3new_bbbbbb += einsum(x673, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 3, 4)) * -1.0 - del x673 - x674 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x674 += einsum(x403, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x403 - x674 += einsum(x404, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.3333333333333333 - del x404 - x675 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x675 += einsum(t2.bbbb, (0, 1, 2, 3), x674, (4, 5, 6, 3), (4, 0, 1, 5, 6, 2)) * -12.0 - del x674 - x676 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x676 += einsum(v.aabb.ovoo, (0, 1, 2, 3), t3.babbab, (4, 0, 5, 6, 1, 7), (4, 5, 2, 3, 6, 7)) - x677 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x677 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x677 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - x678 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x678 += einsum(x677, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 0, 6, 7, 3), (4, 5, 1, 2, 6, 7)) - del x677 - x679 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x679 += einsum(x676, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -0.3333333333333333 - del x676 - x679 += einsum(x678, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 - del x678 - x680 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x680 += einsum(t1.bb, (0, 1), x679, (2, 3, 0, 4, 5, 6), (2, 3, 4, 5, 6, 1)) * 6.0 - del x679 - x681 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x681 += einsum(x675, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) * -1.0 - del x675 - x681 += einsum(x680, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) - del x680 - t3new_bbbbbb += einsum(x681, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - t3new_bbbbbb += einsum(x681, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - t3new_bbbbbb += einsum(x681, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) - t3new_bbbbbb += einsum(x681, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) * -1.0 - t3new_bbbbbb += einsum(x681, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) - t3new_bbbbbb += einsum(x681, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -1.0 - t3new_bbbbbb += einsum(x681, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -1.0 - t3new_bbbbbb += einsum(x681, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) - t3new_bbbbbb += einsum(x681, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -1.0 - del x681 - x682 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x682 += einsum(t2.bbbb, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0000000000000204 - x682 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1)) * -1.0 - x683 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x683 += einsum(x682, (0, 1, 2, 3), x7, (0, 4, 2, 5), (4, 1, 5, 3)) * 0.4999999999999949 - del x7, x682 - x684 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x684 += einsum(x111, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.49999999999999983 - del x111 - x684 += einsum(x683, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x683 - x685 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x685 += einsum(x684, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 1, 6, 7, 3), (4, 5, 0, 6, 7, 2)) * 12.000000000000123 - del x684 - x686 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x686 += einsum(t2.abab, (0, 1, 2, 3), x11, (0, 4, 2, 5), (1, 3, 4, 5)) * 0.5 - del x11 - x687 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x687 += einsum(v.aabb.ovov, (0, 1, 2, 3), x315, (2, 4, 3, 5), (4, 5, 0, 1)) - del x315 - x688 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x688 += einsum(x686, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x686 - x688 += einsum(x687, (0, 1, 2, 3), (0, 1, 2, 3)) - del x687 - x689 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x689 += einsum(x688, (0, 1, 2, 3), t3.babbab, (4, 2, 5, 6, 3, 7), (0, 4, 5, 1, 6, 7)) * 4.00000000000004 - del x688 - x690 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x690 += einsum(x685, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) - del x685 - x690 += einsum(x689, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) - del x689 - t3new_bbbbbb += einsum(x690, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - t3new_bbbbbb += einsum(x690, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - t3new_bbbbbb += einsum(x690, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) - t3new_bbbbbb += einsum(x690, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 4, 5)) - t3new_bbbbbb += einsum(x690, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 3, 5)) * -1.0 - t3new_bbbbbb += einsum(x690, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) - t3new_bbbbbb += einsum(x690, (0, 1, 2, 3, 4, 5), (2, 1, 0, 3, 4, 5)) * -1.0 - t3new_bbbbbb += einsum(x690, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 3, 5)) - t3new_bbbbbb += einsum(x690, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -1.0 - del x690 - x691 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x691 += einsum(x184, (0, 1, 2, 3), t3.bbbbbb, (4, 2, 3, 5, 6, 7), (0, 4, 1, 5, 6, 7)) - del x184 - t3new_bbbbbb += einsum(x691, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) * 6.0 - t3new_bbbbbb += einsum(x691, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) * -6.0 - t3new_bbbbbb += einsum(x691, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 5, 3)) * -6.0 - t3new_bbbbbb += einsum(x691, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * 6.0 - t3new_bbbbbb += einsum(x691, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 5, 3)) * 6.0 - t3new_bbbbbb += einsum(x691, (0, 1, 2, 3, 4, 5), (2, 1, 0, 4, 5, 3)) * -6.0 - del x691 - x692 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x692 += einsum(t1.bb, (0, 1), v.bbbb.oovv, (2, 3, 4, 1), (0, 2, 3, 4)) - x693 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x693 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ooov, (4, 5, 1, 3), (0, 4, 5, 2)) - x694 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x694 += einsum(x692, (0, 1, 2, 3), (0, 2, 1, 3)) - del x692 - x694 += einsum(x693, (0, 1, 2, 3), (0, 2, 1, 3)) * 2.0 - del x693 - x694 += einsum(x186, (0, 1, 2, 3), (0, 2, 1, 3)) - del x186 - x695 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x695 += einsum(t1.bb, (0, 1), x171, (2, 3, 0, 4), (3, 2, 4, 1)) - del x171 - x696 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x696 += einsum(t2.bbbb, (0, 1, 2, 3), x412, (4, 5, 1, 3), (4, 5, 0, 2)) * 2.0 - del x412 - x697 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x697 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x697 += einsum(x177, (0, 1, 2, 3), (1, 0, 2, 3)) - del x177 - x698 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x698 += einsum(t1.bb, (0, 1), x697, (2, 3, 1, 4), (2, 3, 0, 4)) - del x697 - x699 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x699 += einsum(v.bbbb.ooov, (0, 1, 2, 3), x113, (1, 4, 3, 5), (4, 0, 2, 5)) * 2.0 - del x113 - x700 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x700 += einsum(x695, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x695 - x700 += einsum(x187, (0, 1, 2, 3), (0, 1, 2, 3)) - del x187 - x700 += einsum(x696, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x696 - x700 += einsum(x698, (0, 1, 2, 3), (2, 1, 0, 3)) - del x698 - x700 += einsum(x699, (0, 1, 2, 3), (0, 1, 2, 3)) - del x699 - x701 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x701 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x701 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) - x701 += einsum(x694, (0, 1, 2, 3), (0, 1, 2, 3)) - x701 += einsum(x694, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x694 - x701 += einsum(x700, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x701 += einsum(x700, (0, 1, 2, 3), (1, 0, 2, 3)) - del x700 - x701 += einsum(x185, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x701 += einsum(x185, (0, 1, 2, 3), (1, 0, 2, 3)) - del x185 - x701 += einsum(x170, (0, 1, 2, 3), (2, 1, 0, 3)) - del x170 - x701 += einsum(x480, (0, 1, 2, 3), (1, 0, 2, 3)) - del x480 - x702 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x702 += einsum(t2.bbbb, (0, 1, 2, 3), x701, (4, 5, 1, 6), (4, 5, 0, 6, 2, 3)) * -2.0 - del x701 - t3new_bbbbbb += einsum(x702, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 4, 3)) - t3new_bbbbbb += einsum(x702, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - t3new_bbbbbb += einsum(x702, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 3, 4)) - t3new_bbbbbb += einsum(x702, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 4, 3)) - t3new_bbbbbb += einsum(x702, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) - t3new_bbbbbb += einsum(x702, (0, 1, 2, 3, 4, 5), (0, 1, 2, 5, 3, 4)) * -1.0 - t3new_bbbbbb += einsum(x702, (0, 1, 2, 3, 4, 5), (0, 2, 1, 5, 4, 3)) * -1.0 - t3new_bbbbbb += einsum(x702, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 5, 4)) * -1.0 - t3new_bbbbbb += einsum(x702, (0, 1, 2, 3, 4, 5), (2, 0, 1, 5, 3, 4)) * -1.0 - del x702 - - t1new.aa = t1new_aa - t1new.bb = t1new_bb - t2new.aaaa = t2new_aaaa - t2new.abab = t2new_abab - t2new.bbbb = t2new_bbbb - t3new.aaaaaa = t3new_aaaaaa - t3new.abaaba = t3new_abaaba - t3new.babbab = t3new_babbab - t3new.bbbbbb = t3new_bbbbbb - - return {"t1new": t1new, "t2new": t2new, "t3new": t3new} - -def update_lams(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, t3=None, l1=None, l2=None, l3=None, **kwargs): - l1new = Namespace() - l2new = Namespace() - l3new = Namespace() - - # L amplitudes - l1new_bb = np.zeros((nvir[1], nocc[1]), dtype=types[float]) - l1new_bb += einsum(f.bb.ov, (0, 1), (1, 0)) - l1new_bb += einsum(l2.bbbb, (0, 1, 2, 3), v.bbbb.ovvv, (3, 0, 4, 1), (4, 2)) * -2.0 - l1new_aa = np.zeros((nvir[0], nocc[0]), dtype=types[float]) - l1new_aa += einsum(f.aa.ov, (0, 1), (1, 0)) - l2new_aaaa = np.zeros((nvir[0], nvir[0], nocc[0], nocc[0]), dtype=types[float]) - l2new_aaaa += einsum(l2.aaaa, (0, 1, 2, 3), v.aaaa.vvvv, (4, 1, 5, 0), (4, 5, 2, 3)) * -2.0 - l2new_abab = np.zeros((nvir[0], nvir[1], nocc[0], nocc[1]), dtype=types[float]) - l2new_abab += einsum(l1.aa, (0, 1), v.aabb.vvov, (2, 0, 3, 4), (2, 4, 1, 3)) - l2new_abab += einsum(v.aabb.ovov, (0, 1, 2, 3), (1, 3, 0, 2)) - l2new_abab += einsum(l1.bb, (0, 1), v.aabb.ovvv, (2, 3, 4, 0), (3, 4, 2, 1)) - l2new_abab += einsum(l2.abab, (0, 1, 2, 3), v.aabb.vvvv, (4, 0, 5, 1), (4, 5, 2, 3)) - l2new_bbbb = np.zeros((nvir[1], nvir[1], nocc[1], nocc[1]), dtype=types[float]) - l2new_bbbb += einsum(l2.bbbb, (0, 1, 2, 3), v.bbbb.vvvv, (4, 0, 5, 1), (4, 5, 2, 3)) * 2.0 - l3new_aaaaaa = np.zeros((nvir[0], nvir[0], nvir[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - l3new_aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (0, 5, 3, 1, 2, 4)) * -1.0 - l3new_aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (0, 3, 5, 1, 2, 4)) - l3new_aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (5, 0, 3, 1, 2, 4)) - l3new_aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (3, 0, 5, 1, 2, 4)) * -1.0 - l3new_aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (5, 3, 0, 1, 2, 4)) * -1.0 - l3new_aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (3, 5, 0, 1, 2, 4)) - l3new_aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (0, 5, 3, 2, 1, 4)) - l3new_aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (0, 3, 5, 2, 1, 4)) * -1.0 - l3new_aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (5, 0, 3, 2, 1, 4)) * -1.0 - l3new_aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (3, 0, 5, 2, 1, 4)) - l3new_aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (5, 3, 0, 2, 1, 4)) - l3new_aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (3, 5, 0, 2, 1, 4)) * -1.0 - l3new_aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (0, 5, 3, 2, 4, 1)) * -1.0 - l3new_aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (0, 3, 5, 2, 4, 1)) - l3new_aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (5, 0, 3, 2, 4, 1)) - l3new_aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (3, 0, 5, 2, 4, 1)) * -1.0 - l3new_aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (5, 3, 0, 2, 4, 1)) * -1.0 - l3new_aaaaaa += einsum(l1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (3, 5, 0, 2, 4, 1)) - l3new_babbab = np.zeros((nvir[1], nvir[0], nvir[1], nocc[1], nocc[0], nocc[1]), dtype=types[float]) - l3new_babbab += einsum(v.bbbb.vvvv, (0, 1, 2, 3), l3.babbab, (3, 4, 1, 5, 6, 7), (0, 4, 2, 5, 6, 7)) * -2.0 - l3new_abaaba = np.zeros((nvir[0], nvir[1], nvir[0], nocc[0], nocc[1], nocc[0]), dtype=types[float]) - l3new_abaaba += einsum(v.aaaa.vvvv, (0, 1, 2, 3), l3.abaaba, (1, 4, 3, 5, 6, 7), (0, 4, 2, 5, 6, 7)) * 2.0 - l3new_bbbbbb = np.zeros((nvir[1], nvir[1], nvir[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - l3new_bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (0, 5, 3, 1, 2, 4)) * -1.0 - l3new_bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (0, 3, 5, 1, 2, 4)) - l3new_bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (5, 0, 3, 1, 2, 4)) - l3new_bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (3, 0, 5, 1, 2, 4)) * -1.0 - l3new_bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (5, 3, 0, 1, 2, 4)) * -1.0 - l3new_bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (3, 5, 0, 1, 2, 4)) - l3new_bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (0, 5, 3, 2, 1, 4)) - l3new_bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (0, 3, 5, 2, 1, 4)) * -1.0 - l3new_bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (5, 0, 3, 2, 1, 4)) * -1.0 - l3new_bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (3, 0, 5, 2, 1, 4)) - l3new_bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (5, 3, 0, 2, 1, 4)) - l3new_bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (3, 5, 0, 2, 1, 4)) * -1.0 - l3new_bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (0, 5, 3, 2, 4, 1)) * -1.0 - l3new_bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (0, 3, 5, 2, 4, 1)) - l3new_bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (5, 0, 3, 2, 4, 1)) - l3new_bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (3, 0, 5, 2, 4, 1)) * -1.0 - l3new_bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (5, 3, 0, 2, 4, 1)) * -1.0 - l3new_bbbbbb += einsum(l1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (3, 5, 0, 2, 4, 1)) - x0 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x0 += einsum(t2.bbbb, (0, 1, 2, 3), l3.bbbbbb, (4, 5, 3, 6, 0, 1), (6, 4, 5, 2)) - l1new_bb += einsum(v.bbbb.vvvv, (0, 1, 2, 3), x0, (4, 3, 1, 2), (0, 4)) * -6.0 - x1 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x1 += einsum(t1.bb, (0, 1), l2.bbbb, (2, 1, 3, 4), (3, 4, 0, 2)) - x2 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x2 += einsum(t1.bb, (0, 1), x1, (2, 3, 4, 1), (3, 2, 4, 0)) - l1new_bb += einsum(v.bbbb.ooov, (0, 1, 2, 3), x2, (4, 1, 0, 2), (3, 4)) * -2.0 - x3 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x3 += einsum(t1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) - x4 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x4 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x4 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) - x4 += einsum(x3, (0, 1, 2, 3), (0, 1, 2, 3)) - x4 += einsum(x3, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x5 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x5 += einsum(t1.bb, (0, 1), v.aabb.ovov, (2, 3, 4, 1), (0, 4, 2, 3)) - l2new_abab += einsum(x1, (0, 1, 2, 3), x5, (1, 2, 4, 5), (5, 3, 4, 0)) * -2.0 - x6 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x6 += einsum(v.aabb.ovoo, (0, 1, 2, 3), (2, 3, 0, 1)) - x6 += einsum(x5, (0, 1, 2, 3), (0, 1, 2, 3)) - l2new_abab += einsum(l1.bb, (0, 1), x6, (1, 2, 3, 4), (4, 0, 3, 2)) * -1.0 - x7 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x7 += einsum(t1.aa, (0, 1), v.aabb.ovov, (2, 1, 3, 4), (3, 4, 0, 2)) - x8 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x8 += einsum(v.aabb.ooov, (0, 1, 2, 3), (2, 3, 0, 1)) - x8 += einsum(x7, (0, 1, 2, 3), (0, 1, 3, 2)) - x9 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x9 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 5), (1, 4, 3, 5)) - x10 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x10 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x10 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x11 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x11 += einsum(t2.bbbb, (0, 1, 2, 3), x10, (1, 4, 3, 5), (0, 4, 2, 5)) * 2.0 - x12 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x12 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x12 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) - x13 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x13 += einsum(t1.bb, (0, 1), x12, (2, 3, 1, 4), (0, 2, 3, 4)) - x14 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x14 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x14 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x14 += einsum(x9, (0, 1, 2, 3), (0, 1, 2, 3)) - x14 += einsum(x11, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x14 += einsum(x13, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x15 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x15 += einsum(t1.aa, (0, 1), v.aabb.vvov, (2, 1, 3, 4), (3, 4, 0, 2)) - l2new_abab += einsum(l2.aaaa, (0, 1, 2, 3), x15, (4, 5, 3, 1), (0, 5, 2, 4)) * 2.0 - x16 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x16 += einsum(t2.aaaa, (0, 1, 2, 3), v.aabb.ovov, (1, 3, 4, 5), (4, 5, 0, 2)) - x17 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x17 += einsum(t2.abab, (0, 1, 2, 3), x10, (1, 4, 3, 5), (4, 5, 0, 2)) - x18 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x18 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) - x18 += einsum(x15, (0, 1, 2, 3), (0, 1, 2, 3)) - x18 += einsum(x16, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x18 += einsum(x17, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x19 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x19 += einsum(t1.aa, (0, 1), v.aabb.ovov, (0, 1, 2, 3), (2, 3)) - x20 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x20 += einsum(t1.bb, (0, 1), x10, (0, 2, 1, 3), (2, 3)) - x21 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x21 += einsum(f.bb.ov, (0, 1), (0, 1)) - x21 += einsum(x19, (0, 1), (0, 1)) - x21 += einsum(x20, (0, 1), (0, 1)) * -1.0 - l2new_abab += einsum(l1.aa, (0, 1), x21, (2, 3), (0, 3, 1, 2)) - l3new_babbab += einsum(x21, (0, 1), l2.abab, (2, 3, 4, 5), (1, 2, 3, 0, 4, 5)) - l3new_babbab += einsum(x21, (0, 1), l2.abab, (2, 3, 4, 5), (3, 2, 1, 5, 4, 0)) - l3new_babbab += einsum(x21, (0, 1), l2.abab, (2, 3, 4, 5), (3, 2, 1, 0, 4, 5)) * -1.0 - l3new_babbab += einsum(x21, (0, 1), l2.abab, (2, 3, 4, 5), (1, 2, 3, 5, 4, 0)) * -1.0 - l3new_abaaba += einsum(x21, (0, 1), l2.aaaa, (2, 3, 4, 5), (2, 1, 3, 4, 0, 5)) * 2.0 - l3new_bbbbbb += einsum(x21, (0, 1), l2.bbbb, (2, 3, 4, 5), (2, 3, 1, 4, 5, 0)) * 2.0 - l3new_bbbbbb += einsum(x21, (0, 1), l2.bbbb, (2, 3, 4, 5), (2, 3, 1, 0, 4, 5)) * 2.0 - l3new_bbbbbb += einsum(x21, (0, 1), l2.bbbb, (2, 3, 4, 5), (2, 1, 3, 4, 0, 5)) * 2.0 - l3new_bbbbbb += einsum(x21, (0, 1), l2.bbbb, (2, 3, 4, 5), (1, 2, 3, 4, 5, 0)) * 2.0 - l3new_bbbbbb += einsum(x21, (0, 1), l2.bbbb, (2, 3, 4, 5), (1, 2, 3, 0, 4, 5)) * 2.0 - l3new_bbbbbb += einsum(x21, (0, 1), l2.bbbb, (2, 3, 4, 5), (2, 3, 1, 4, 0, 5)) * -2.0 - l3new_bbbbbb += einsum(x21, (0, 1), l2.bbbb, (2, 3, 4, 5), (2, 1, 3, 4, 5, 0)) * -2.0 - l3new_bbbbbb += einsum(x21, (0, 1), l2.bbbb, (2, 3, 4, 5), (2, 1, 3, 0, 4, 5)) * -2.0 - l3new_bbbbbb += einsum(x21, (0, 1), l2.bbbb, (2, 3, 4, 5), (1, 2, 3, 4, 0, 5)) * -2.0 - x22 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x22 += einsum(t1.bb, (0, 1), v.aabb.vvov, (2, 3, 4, 1), (0, 4, 2, 3)) - x23 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x23 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 4, 5, 3), (1, 5, 2, 4)) - x24 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x24 += einsum(v.aabb.vvoo, (0, 1, 2, 3), (2, 3, 0, 1)) - x24 += einsum(x22, (0, 1, 2, 3), (0, 1, 3, 2)) - x24 += einsum(x23, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x25 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x25 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 2, 5, 3), (0, 1, 4, 5)) - x26 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x26 += einsum(t1.bb, (0, 1), x3, (2, 3, 4, 1), (0, 2, 3, 4)) - x27 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x27 += einsum(t1.bb, (0, 1), v.bbbb.ooov, (2, 3, 4, 1), (0, 2, 3, 4)) - x28 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x28 += einsum(v.bbbb.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x28 += einsum(x25, (0, 1, 2, 3), (3, 1, 2, 0)) - x28 += einsum(x26, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - x28 += einsum(x27, (0, 1, 2, 3), (2, 0, 3, 1)) * -1.0 - x28 += einsum(x27, (0, 1, 2, 3), (3, 0, 2, 1)) - x29 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x29 += einsum(t1.aa, (0, 1), v.aabb.ovoo, (2, 1, 3, 4), (3, 4, 0, 2)) - x30 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x30 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 5, 3), (1, 5, 0, 4)) - x31 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x31 += einsum(v.aabb.ooov, (0, 1, 2, 3), (2, 3, 0, 1)) - x31 += einsum(x7, (0, 1, 2, 3), (0, 1, 2, 3)) - l2new_abab += einsum(l1.aa, (0, 1), x31, (2, 3, 1, 4), (0, 3, 4, 2)) * -1.0 - x32 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x32 += einsum(t1.bb, (0, 1), x31, (2, 1, 3, 4), (0, 2, 3, 4)) - x33 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x33 += einsum(v.aabb.oooo, (0, 1, 2, 3), (2, 3, 0, 1)) - x33 += einsum(x29, (0, 1, 2, 3), (1, 0, 3, 2)) - x33 += einsum(x30, (0, 1, 2, 3), (0, 1, 3, 2)) - x33 += einsum(x32, (0, 1, 2, 3), (0, 1, 3, 2)) - x34 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x34 += einsum(v.bbbb.ovov, (0, 1, 2, 3), t3.babbab, (4, 5, 6, 3, 7, 1), (4, 6, 0, 2, 5, 7)) * -1.0 - l2new_bbbb += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), x34, (3, 5, 6, 7, 4, 1), (0, 2, 6, 7)) * 1.9999999999999203 - x35 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x35 += einsum(t2.abab, (0, 1, 2, 3), v.bbbb.ooov, (4, 5, 6, 3), (1, 4, 5, 6, 0, 2)) - x36 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x36 += einsum(t2.abab, (0, 1, 2, 3), x3, (4, 5, 6, 3), (4, 1, 6, 5, 0, 2)) - x37 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x37 += einsum(x34, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -0.9999999999999601 - del x34 - x37 += einsum(x35, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) - x37 += einsum(x35, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) * -1.0 - del x35 - x37 += einsum(x36, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - x37 += einsum(x36, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 - del x36 - x38 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x38 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.babbab, (4, 5, 6, 7, 1, 3), (4, 6, 2, 7, 5, 0)) - l2new_abab += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), x38, (5, 3, 6, 2, 4, 7), (1, 0, 7, 6)) * 1.9999999999999194 - x39 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x39 += einsum(v.aabb.ovoo, (0, 1, 2, 3), (2, 3, 0, 1)) - x39 += einsum(x5, (0, 1, 2, 3), (1, 0, 2, 3)) - x40 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x40 += einsum(t2.abab, (0, 1, 2, 3), x39, (4, 5, 6, 2), (1, 4, 5, 3, 0, 6)) - x41 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x41 += einsum(x38, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 0.9999999999999597 - x41 += einsum(t2.bbbb, (0, 1, 2, 3), x31, (4, 3, 5, 6), (0, 1, 4, 2, 6, 5)) - x41 += einsum(x40, (0, 1, 2, 3, 4, 5), (2, 0, 1, 3, 5, 4)) * -1.0 - x42 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x42 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), t3.babbab, (4, 5, 6, 3, 7, 1), (0, 4, 6, 2, 5, 7)) * -0.9999999999999601 - x42 += einsum(v.aabb.vvov, (0, 1, 2, 3), t3.babbab, (4, 5, 6, 7, 1, 3), (2, 4, 6, 7, 5, 0)) * -0.9999999999999597 - x42 += einsum(x4, (0, 1, 2, 3), t3.babbab, (4, 5, 1, 6, 7, 3), (2, 4, 0, 6, 5, 7)) * -2.0 - x42 += einsum(x6, (0, 1, 2, 3), t3.abaaba, (4, 5, 2, 6, 7, 3), (1, 5, 0, 7, 4, 6)) * -2.0 - x42 += einsum(x8, (0, 1, 2, 3), t3.babbab, (4, 2, 5, 6, 7, 1), (0, 4, 5, 6, 3, 7)) - x42 += einsum(t2.abab, (0, 1, 2, 3), x14, (4, 5, 6, 3), (5, 1, 4, 6, 0, 2)) - x42 += einsum(t2.bbbb, (0, 1, 2, 3), x18, (4, 3, 5, 6), (4, 0, 1, 2, 5, 6)) * -1.0 - x42 += einsum(x21, (0, 1), t3.babbab, (2, 3, 4, 5, 6, 1), (0, 2, 4, 5, 3, 6)) * -0.9999999999999597 - x42 += einsum(t2.abab, (0, 1, 2, 3), x24, (4, 5, 2, 6), (5, 1, 4, 3, 0, 6)) * -1.0 - x42 += einsum(t2.abab, (0, 1, 2, 3), x28, (1, 4, 5, 6), (5, 6, 4, 3, 0, 2)) * -1.0 - x42 += einsum(t2.abab, (0, 1, 2, 3), x33, (4, 5, 0, 6), (5, 1, 4, 3, 6, 2)) - x42 += einsum(t1.bb, (0, 1), x37, (2, 3, 4, 0, 5, 6), (4, 3, 2, 1, 5, 6)) - del x37 - x42 += einsum(t1.aa, (0, 1), x41, (2, 3, 4, 5, 0, 6), (4, 3, 2, 5, 6, 1)) * -1.0 - del x41 - l1new_bb += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), x42, (6, 3, 5, 2, 4, 1), (0, 6)) * -2.0 - del x42 - x43 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x43 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x43 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x43 += einsum(x3, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x43 += einsum(x3, (0, 1, 2, 3), (0, 2, 1, 3)) - x44 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x44 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.abaaba, (4, 5, 6, 7, 3, 1), (5, 2, 4, 6, 0, 7)) - l2new_abab += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), x44, (4, 6, 5, 3, 7, 2), (0, 1, 7, 6)) * 1.9999999999999194 - x45 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x45 += einsum(t2.aaaa, (0, 1, 2, 3), x39, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2)) * -1.0 - x46 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x46 += einsum(x44, (0, 1, 2, 3, 4, 5), (0, 1, 3, 4, 2, 5)) * 0.9999999999999597 - x46 += einsum(t2.abab, (0, 1, 2, 3), x31, (4, 3, 5, 6), (1, 4, 0, 6, 5, 2)) * -1.0 - x46 += einsum(x45, (0, 1, 2, 3, 4, 5), (1, 0, 3, 4, 2, 5)) * -1.0 - x47 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x47 += einsum(v.aabb.vvov, (0, 1, 2, 3), t3.abaaba, (4, 5, 6, 7, 3, 1), (2, 5, 4, 6, 7, 0)) * -1.9999999999999194 - x47 += einsum(x43, (0, 1, 2, 3), t3.abaaba, (4, 2, 5, 6, 3, 7), (1, 0, 4, 5, 6, 7)) * -1.0 - x47 += einsum(x6, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 2, 6, 7, 3), (1, 0, 4, 5, 6, 7)) * -3.0 - x47 += einsum(x8, (0, 1, 2, 3), t3.abaaba, (4, 5, 2, 6, 1, 7), (0, 5, 4, 3, 6, 7)) * 2.0 - x47 += einsum(t2.abab, (0, 1, 2, 3), x18, (4, 3, 5, 6), (4, 1, 0, 5, 2, 6)) * -2.0 - del x18 - x47 += einsum(x21, (0, 1), t3.abaaba, (2, 3, 4, 5, 1, 6), (0, 3, 2, 4, 5, 6)) * -0.9999999999999601 - x47 += einsum(t2.aaaa, (0, 1, 2, 3), x24, (4, 5, 3, 6), (5, 4, 0, 1, 2, 6)) * -2.0 - del x24 - x47 += einsum(t2.aaaa, (0, 1, 2, 3), x33, (4, 5, 1, 6), (5, 4, 0, 6, 2, 3)) * 2.0 - del x33 - x47 += einsum(t1.aa, (0, 1), x46, (2, 3, 4, 0, 5, 6), (3, 2, 4, 5, 6, 1)) * -2.0 - del x46 - l1new_bb += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), x47, (6, 4, 3, 5, 0, 2), (1, 6)) - del x47 - x48 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x48 += einsum(v.bbbb.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x48 += einsum(x25, (0, 1, 2, 3), (3, 1, 2, 0)) - x48 += einsum(x26, (0, 1, 2, 3), (3, 1, 2, 0)) - x48 += einsum(x27, (0, 1, 2, 3), (2, 1, 3, 0)) - x48 += einsum(x27, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 - x49 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x49 += einsum(v.bbbb.ovov, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 6, 7, 3, 1), (4, 5, 6, 0, 2, 7)) * -1.0 - l2new_bbbb += einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), x49, (5, 4, 3, 6, 7, 2), (0, 1, 6, 7)) * -5.9999999999997575 - x50 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x50 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ooov, (4, 5, 6, 3), (0, 1, 4, 5, 6, 2)) - x51 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x51 += einsum(t2.bbbb, (0, 1, 2, 3), x3, (4, 5, 6, 3), (4, 0, 1, 6, 5, 2)) - x52 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x52 += einsum(x49, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -0.9999999999999596 - del x49 - x52 += einsum(x50, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 - x52 += einsum(x50, (0, 1, 2, 3, 4, 5), (0, 1, 3, 4, 2, 5)) - del x50 - x52 += einsum(x51, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) * -1.0 - x52 += einsum(x51, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) - del x51 - x53 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x53 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 6, 7, 1, 3), (0, 4, 5, 6, 7, 2)) * -0.9999999999999596 - x53 += einsum(x43, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 2, 6, 7, 3), (1, 4, 0, 5, 6, 7)) * -1.5 - del x43 - x53 += einsum(x6, (0, 1, 2, 3), t3.babbab, (4, 2, 5, 6, 3, 7), (1, 4, 0, 5, 6, 7)) * -0.5 - x53 += einsum(t2.bbbb, (0, 1, 2, 3), x14, (4, 5, 6, 3), (5, 0, 4, 1, 2, 6)) - del x14 - x53 += einsum(x21, (0, 1), t3.bbbbbb, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) * 0.4999999999999798 - x53 += einsum(t2.bbbb, (0, 1, 2, 3), x48, (1, 4, 5, 6), (5, 0, 6, 4, 2, 3)) - x53 += einsum(t1.bb, (0, 1), x52, (2, 3, 4, 5, 0, 6), (5, 3, 4, 2, 6, 1)) - del x52 - l1new_bb += einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), x53, (6, 3, 5, 4, 2, 1), (0, 6)) * -6.0 - del x53 - x54 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x54 += einsum(l2.bbbb, (0, 1, 2, 3), t2.abab, (4, 3, 5, 1), (2, 0, 4, 5)) - x55 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x55 += einsum(l2.abab, (0, 1, 2, 3), t2.aaaa, (4, 2, 5, 0), (3, 1, 4, 5)) - x56 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x56 += einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), t3.babbab, (4, 6, 5, 1, 7, 2), (3, 0, 6, 7)) - x57 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x57 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.abaaba, (6, 5, 4, 7, 2, 1), (3, 0, 6, 7)) - x58 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x58 += einsum(t1.aa, (0, 1), l3.babbab, (2, 1, 3, 4, 5, 6), (4, 6, 2, 3, 5, 0)) - x59 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x59 += einsum(t2.abab, (0, 1, 2, 3), x58, (4, 1, 5, 3, 0, 6), (4, 5, 6, 2)) - x60 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x60 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.aaaaaa, (6, 3, 5, 7, 0, 2), (4, 1, 6, 7)) - x61 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x61 += einsum(t1.aa, (0, 1), l3.abaaba, (2, 3, 1, 4, 5, 6), (5, 3, 4, 6, 0, 2)) - x62 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x62 += einsum(t2.aaaa, (0, 1, 2, 3), x61, (4, 5, 0, 1, 6, 3), (4, 5, 6, 2)) * -1.0 - x63 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x63 += einsum(t1.aa, (0, 1), l2.abab, (1, 2, 3, 4), (4, 2, 3, 0)) - l2new_abab += einsum(x5, (0, 1, 2, 3), x63, (0, 4, 5, 2), (3, 4, 5, 1)) - x64 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x64 += einsum(t2.abab, (0, 1, 2, 3), l3.babbab, (4, 2, 3, 5, 6, 1), (5, 4, 6, 0)) - x65 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x65 += einsum(t2.aaaa, (0, 1, 2, 3), l3.abaaba, (2, 4, 3, 5, 6, 1), (6, 4, 5, 0)) - x66 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x66 += einsum(x63, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - x66 += einsum(x64, (0, 1, 2, 3), (0, 1, 2, 3)) - x66 += einsum(x65, (0, 1, 2, 3), (0, 1, 2, 3)) - l2new_abab += einsum(v.aabb.ovvv, (0, 1, 2, 3), x66, (4, 3, 5, 0), (1, 2, 5, 4)) * -2.0 - l2new_abab += einsum(v.aabb.ovoo, (0, 1, 2, 3), x66, (3, 4, 5, 0), (1, 4, 5, 2)) * 2.0 - x67 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x67 += einsum(l2.abab, (0, 1, 2, 3), (3, 1, 2, 0)) - x67 += einsum(x54, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x67 += einsum(x55, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x67 += einsum(x56, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0 - x67 += einsum(x57, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.0 - x67 += einsum(x59, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - x67 += einsum(x60, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0 - x67 += einsum(x62, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - x67 += einsum(t1.aa, (0, 1), x66, (2, 3, 0, 4), (2, 3, 4, 1)) * -2.0 - l1new_bb += einsum(v.aabb.ovvv, (0, 1, 2, 3), x67, (4, 3, 0, 1), (2, 4)) - del x67 - x68 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x68 += einsum(t2.abab, (0, 1, 2, 3), l3.babbab, (4, 5, 3, 6, 0, 1), (6, 4, 5, 2)) - x69 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x69 += einsum(t2.aaaa, (0, 1, 2, 3), l3.abaaba, (4, 5, 3, 0, 6, 1), (6, 5, 4, 2)) - x70 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x70 += einsum(t1.aa, (0, 1), l2.abab, (2, 3, 0, 4), (4, 3, 2, 1)) * 0.5 - x70 += einsum(x68, (0, 1, 2, 3), (0, 1, 2, 3)) - x70 += einsum(x69, (0, 1, 2, 3), (0, 1, 2, 3)) - l1new_bb += einsum(v.aabb.vvvv, (0, 1, 2, 3), x70, (4, 3, 0, 1), (2, 4)) * 2.0 - del x70 - x71 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x71 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x71 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) - x72 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x72 += einsum(t1.bb, (0, 1), l3.bbbbbb, (2, 3, 1, 4, 5, 6), (4, 5, 6, 0, 2, 3)) - l3new_babbab += einsum(v.aabb.ovoo, (0, 1, 2, 3), x72, (4, 2, 5, 3, 6, 7), (6, 1, 7, 5, 0, 4)) * -6.0 - l3new_babbab += einsum(x5, (0, 1, 2, 3), x72, (0, 4, 5, 1, 6, 7), (7, 3, 6, 4, 2, 5)) * 6.0 - x73 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x73 += einsum(t2.bbbb, (0, 1, 2, 3), x72, (0, 4, 1, 5, 6, 3), (4, 5, 6, 2)) - x74 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x74 += einsum(t1.bb, (0, 1), l3.babbab, (2, 3, 1, 4, 5, 6), (4, 6, 0, 2, 5, 3)) - l2new_abab += einsum(x22, (0, 1, 2, 3), x74, (0, 4, 1, 5, 6, 3), (2, 5, 6, 4)) * 2.0 - x75 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x75 += einsum(t2.abab, (0, 1, 2, 3), x74, (4, 1, 5, 6, 0, 2), (4, 5, 6, 3)) - x76 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x76 += einsum(t2.bbbb, (0, 1, 2, 3), l3.bbbbbb, (4, 2, 3, 5, 6, 1), (5, 6, 0, 4)) - x77 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x77 += einsum(t2.abab, (0, 1, 2, 3), l3.babbab, (4, 2, 3, 5, 0, 6), (5, 6, 1, 4)) - x78 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x78 += einsum(x1, (0, 1, 2, 3), (1, 0, 2, 3)) - x78 += einsum(x76, (0, 1, 2, 3), (0, 1, 2, 3)) * -3.0 - x78 += einsum(x77, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - l1new_bb += einsum(v.bbbb.oovv, (0, 1, 2, 3), x78, (0, 4, 1, 3), (2, 4)) * -2.0 - x79 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x79 += einsum(x73, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0 - x79 += einsum(x75, (0, 1, 2, 3), (0, 1, 2, 3)) - x79 += einsum(t1.bb, (0, 1), x78, (0, 2, 3, 4), (2, 3, 4, 1)) - l1new_bb += einsum(x71, (0, 1, 2, 3), x79, (4, 0, 2, 1), (3, 4)) * 2.0 - del x79 - x80 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x80 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) - x80 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x81 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x81 += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 3, 5, 1), (2, 4, 0, 5)) - x82 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x82 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 5), (3, 4, 1, 5)) - x83 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x83 += einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), t3.bbbbbb, (6, 4, 5, 7, 1, 2), (3, 6, 0, 7)) - x84 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x84 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (6, 4, 5, 7, 1, 2), (3, 6, 0, 7)) - x85 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x85 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (3, 6, 5, 0, 7, 2), (4, 6, 1, 7)) - x86 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x86 += einsum(x81, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.0 - x86 += einsum(x82, (0, 1, 2, 3), (0, 1, 2, 3)) - x86 += einsum(x83, (0, 1, 2, 3), (0, 1, 2, 3)) * 9.0 - x86 += einsum(x84, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.0 - x86 += einsum(x85, (0, 1, 2, 3), (0, 1, 2, 3)) - l1new_bb += einsum(x80, (0, 1, 2, 3), x86, (4, 0, 2, 1), (3, 4)) - del x86 - x87 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x87 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 5, 1), (3, 4, 0, 5)) - x88 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x88 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (6, 4, 5, 0, 7, 2), (3, 6, 1, 7)) - x89 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x89 += einsum(t2.abab, (0, 1, 2, 3), x74, (4, 1, 5, 3, 0, 6), (4, 5, 6, 2)) * -1.0 - x90 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x90 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (3, 6, 5, 7, 1, 2), (4, 6, 0, 7)) - x91 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x91 += einsum(t1.bb, (0, 1), l3.abaaba, (2, 1, 3, 4, 5, 6), (5, 0, 4, 6, 2, 3)) - l3new_abaaba += einsum(x21, (0, 1), x91, (2, 0, 3, 4, 5, 6), (5, 1, 6, 4, 2, 3)) * 2.0 - x92 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x92 += einsum(t2.aaaa, (0, 1, 2, 3), x91, (4, 5, 0, 1, 3, 6), (4, 5, 6, 2)) * -1.0 - x93 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x93 += einsum(t1.bb, (0, 1), l2.abab, (2, 1, 3, 4), (4, 0, 3, 2)) - l2new_abab += einsum(x7, (0, 1, 2, 3), x93, (4, 0, 2, 5), (5, 1, 3, 4)) - x94 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x94 += einsum(t2.bbbb, (0, 1, 2, 3), l3.babbab, (2, 4, 3, 5, 6, 1), (5, 0, 6, 4)) - x95 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x95 += einsum(t2.abab, (0, 1, 2, 3), l3.abaaba, (4, 3, 2, 5, 6, 0), (6, 1, 5, 4)) - x96 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x96 += einsum(x93, (0, 1, 2, 3), (0, 1, 2, 3)) - x96 += einsum(x94, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x96 += einsum(x95, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x97 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x97 += einsum(x87, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - x97 += einsum(x88, (0, 1, 2, 3), (0, 1, 2, 3)) - x97 += einsum(x89, (0, 1, 2, 3), (0, 1, 3, 2)) - x97 += einsum(x90, (0, 1, 2, 3), (0, 1, 2, 3)) - x97 += einsum(x92, (0, 1, 2, 3), (0, 1, 3, 2)) - x97 += einsum(t1.aa, (0, 1), x96, (2, 3, 0, 4), (2, 3, 1, 4)) * 0.5 - l1new_bb += einsum(v.aabb.vvov, (0, 1, 2, 3), x97, (4, 2, 1, 0), (3, 4)) * -2.0 - del x97 - x98 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x98 += einsum(t1.bb, (0, 1), x58, (2, 3, 4, 1, 5, 6), (2, 3, 0, 4, 5, 6)) - x99 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x99 += einsum(t1.bb, (0, 1), x61, (2, 1, 3, 4, 5, 6), (2, 0, 3, 4, 5, 6)) - x100 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x100 += einsum(x68, (0, 1, 2, 3), (0, 1, 2, 3)) - del x68 - x100 += einsum(x69, (0, 1, 2, 3), (0, 1, 2, 3)) - del x69 - l2new_abab += einsum(v.aabb.ovvv, (0, 1, 2, 3), x100, (4, 3, 5, 1), (5, 2, 0, 4)) * -2.0 - l2new_abab += einsum(x100, (0, 1, 2, 3), x6, (0, 4, 5, 3), (2, 1, 5, 4)) * 2.0 - x101 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x101 += einsum(x63, (0, 1, 2, 3), (0, 1, 2, 3)) - x101 += einsum(x64, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x101 += einsum(x65, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - l1new_bb += einsum(v.aabb.oovv, (0, 1, 2, 3), x101, (4, 3, 0, 1), (2, 4)) * -1.0 - x102 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x102 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 5, 0, 1), (3, 5, 2, 4)) - x103 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x103 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (6, 7, 5, 0, 1, 2), (3, 6, 4, 7)) - x104 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x104 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (6, 7, 5, 0, 1, 2), (4, 7, 3, 6)) - x105 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x105 += einsum(t1.bb, (0, 1), x101, (2, 1, 3, 4), (0, 2, 3, 4)) - x106 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x106 += einsum(x94, (0, 1, 2, 3), (0, 1, 2, 3)) - x106 += einsum(x95, (0, 1, 2, 3), (0, 1, 2, 3)) - x107 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x107 += einsum(t1.aa, (0, 1), x106, (2, 3, 4, 1), (2, 3, 0, 4)) * 2.0 - x108 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x108 += einsum(x102, (0, 1, 2, 3), (0, 1, 2, 3)) - x108 += einsum(x103, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.9999999999999194 - x108 += einsum(x104, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.9999999999999194 - x108 += einsum(x105, (0, 1, 2, 3), (1, 0, 2, 3)) - x108 += einsum(x107, (0, 1, 2, 3), (0, 1, 3, 2)) - l2new_abab += einsum(v.aabb.ovov, (0, 1, 2, 3), x108, (4, 2, 5, 0), (1, 3, 5, 4)) - x109 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x109 += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 3, 0, 1), (2, 4)) - x110 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x110 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 1), (3, 4)) - x111 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x111 += einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), t3.bbbbbb, (6, 4, 5, 0, 1, 2), (3, 6)) - x112 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x112 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (6, 4, 5, 0, 1, 2), (3, 6)) - x113 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x113 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (3, 6, 5, 0, 1, 2), (4, 6)) - x114 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x114 += einsum(x109, (0, 1), (0, 1)) - x114 += einsum(x110, (0, 1), (0, 1)) * 0.5 - x114 += einsum(x111, (0, 1), (0, 1)) * 1.4999999999999394 - x114 += einsum(x112, (0, 1), (0, 1)) * 0.9999999999999597 - x114 += einsum(x113, (0, 1), (0, 1)) * 0.49999999999998007 - x115 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x115 += einsum(l1.bb, (0, 1), t2.abab, (2, 3, 4, 0), (1, 3, 2, 4)) - x115 += einsum(x93, (0, 1, 2, 3), (0, 1, 2, 3)) - x115 += einsum(l2.bbbb, (0, 1, 2, 3), t3.babbab, (4, 5, 3, 0, 6, 1), (2, 4, 5, 6)) * 2.0 - x115 += einsum(x94, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x115 += einsum(l2.abab, (0, 1, 2, 3), t3.abaaba, (4, 5, 2, 6, 1, 0), (3, 5, 4, 6)) * 2.0 - x115 += einsum(x95, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x115 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x72, (6, 0, 2, 7, 5, 3), (6, 7, 1, 4)) * -3.0 - x115 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x74, (6, 1, 7, 4, 2, 5), (6, 7, 0, 3)) * -4.0 - x115 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x58, (6, 2, 5, 3, 1, 7), (6, 0, 7, 4)) * 2.0 - x115 += einsum(t2.abab, (0, 1, 2, 3), x98, (4, 1, 5, 3, 0, 6), (4, 5, 6, 2)) * 2.0 - x115 += einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), x91, (6, 7, 2, 1, 5, 4), (6, 7, 0, 3)) * 3.0 - x115 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x61, (6, 4, 2, 0, 7, 5), (6, 1, 7, 3)) * -2.0 - x115 += einsum(t2.aaaa, (0, 1, 2, 3), x99, (4, 5, 1, 0, 6, 3), (4, 5, 6, 2)) * -2.0 - x115 += einsum(t2.abab, (0, 1, 2, 3), x100, (4, 3, 2, 5), (4, 1, 0, 5)) * -2.0 - x115 += einsum(t2.abab, (0, 1, 2, 3), x78, (1, 4, 5, 3), (4, 5, 0, 2)) * -2.0 - x115 += einsum(t2.aaaa, (0, 1, 2, 3), x96, (4, 5, 1, 3), (4, 5, 0, 2)) * 2.0 - x115 += einsum(t2.abab, (0, 1, 2, 3), x101, (4, 3, 0, 5), (4, 1, 5, 2)) * -1.0 - x115 += einsum(t1.aa, (0, 1), x108, (2, 3, 0, 4), (2, 3, 4, 1)) * -1.0 - x115 += einsum(t1.aa, (0, 1), x114, (2, 3), (2, 3, 0, 1)) * 2.0 - l1new_bb += einsum(v.aabb.ovov, (0, 1, 2, 3), x115, (4, 2, 0, 1), (3, 4)) * -1.0 - del x115 - x116 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x116 += einsum(t2.abab, (0, 1, 2, 3), l3.babbab, (4, 2, 5, 6, 0, 1), (6, 4, 5, 3)) - x117 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x117 += einsum(t1.bb, (0, 1), l2.bbbb, (2, 3, 4, 0), (4, 2, 3, 1)) - x117 += einsum(x116, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - l1new_bb += einsum(v.bbbb.vvvv, (0, 1, 2, 3), x117, (4, 1, 2, 3), (0, 4)) * 2.0 - del x117 - x118 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x118 += einsum(t1.aa, (0, 1), v.aabb.vvoo, (2, 1, 3, 4), (3, 4, 0, 2)) - x119 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x119 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.vvov, (4, 2, 5, 3), (1, 5, 0, 4)) - x120 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x120 += einsum(v.bbbb.ovov, (0, 1, 2, 3), t3.babbab, (4, 5, 2, 1, 6, 3), (4, 0, 5, 6)) - x121 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x121 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.abaaba, (4, 5, 0, 6, 3, 1), (5, 2, 4, 6)) - x122 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x122 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x122 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) - x122 += einsum(x3, (0, 1, 2, 3), (1, 0, 2, 3)) - x122 += einsum(x3, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - x123 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x123 += einsum(t2.abab, (0, 1, 2, 3), x122, (4, 5, 1, 3), (4, 5, 0, 2)) - x124 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x124 += einsum(t2.aaaa, (0, 1, 2, 3), x39, (4, 5, 1, 3), (4, 5, 0, 2)) * 2.0 - x125 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x125 += einsum(t2.abab, (0, 1, 2, 3), x8, (4, 3, 0, 5), (1, 4, 5, 2)) - x126 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x126 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) - x126 += einsum(x15, (0, 1, 2, 3), (0, 1, 2, 3)) - x127 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x127 += einsum(t1.bb, (0, 1), x126, (2, 1, 3, 4), (0, 2, 3, 4)) - x128 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x128 += einsum(v.aabb.oooo, (0, 1, 2, 3), (2, 3, 0, 1)) - x128 += einsum(x29, (0, 1, 2, 3), (1, 0, 3, 2)) - x128 += einsum(x30, (0, 1, 2, 3), (1, 0, 3, 2)) - x128 += einsum(x32, (0, 1, 2, 3), (1, 0, 3, 2)) - del x32 - x129 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x129 += einsum(t1.aa, (0, 1), x128, (2, 3, 0, 4), (2, 3, 4, 1)) - x130 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x130 += einsum(v.aabb.ovoo, (0, 1, 2, 3), (2, 3, 0, 1)) - x130 += einsum(x118, (0, 1, 2, 3), (1, 0, 2, 3)) - x130 += einsum(x119, (0, 1, 2, 3), (0, 1, 2, 3)) - x130 += einsum(x120, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x130 += einsum(x121, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x130 += einsum(x123, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x130 += einsum(x124, (0, 1, 2, 3), (1, 0, 2, 3)) - x130 += einsum(x125, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x130 += einsum(x21, (0, 1), t2.abab, (2, 3, 4, 1), (3, 0, 2, 4)) - x130 += einsum(x127, (0, 1, 2, 3), (0, 1, 2, 3)) - x130 += einsum(x129, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - l1new_bb += einsum(l2.abab, (0, 1, 2, 3), x130, (3, 4, 2, 0), (1, 4)) * -1.0 - del x130 - x131 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x131 += einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), x72, (6, 2, 1, 7, 4, 5), (6, 7, 0, 3)) * -1.0 - x132 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x132 += einsum(t1.bb, (0, 1), x72, (2, 3, 4, 5, 6, 1), (2, 3, 4, 0, 5, 6)) - x133 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x133 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x74, (6, 2, 7, 5, 1, 4), (6, 7, 0, 3)) * -1.0 - x134 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x134 += einsum(t1.bb, (0, 1), x74, (2, 3, 4, 1, 5, 6), (2, 3, 0, 4, 5, 6)) - x135 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x135 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x91, (6, 7, 0, 2, 3, 5), (6, 7, 1, 4)) - x136 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x136 += einsum(x0, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x136 += einsum(x116, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.3333333333333333 - x137 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x137 += einsum(x1, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x137 += einsum(x76, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0 - x137 += einsum(x77, (0, 1, 2, 3), (0, 1, 2, 3)) - l2new_abab += einsum(v.aabb.ovoo, (0, 1, 2, 3), x137, (2, 4, 3, 5), (1, 5, 0, 4)) * 2.0 - x138 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x138 += einsum(t2.bbbb, (0, 1, 2, 3), x137, (4, 1, 5, 3), (0, 4, 5, 2)) * 4.0 - x139 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x139 += einsum(x93, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - x139 += einsum(x94, (0, 1, 2, 3), (0, 1, 2, 3)) - del x94 - x139 += einsum(x95, (0, 1, 2, 3), (0, 1, 2, 3)) - del x95 - l1new_aa += einsum(v.aabb.vvoo, (0, 1, 2, 3), x139, (2, 3, 4, 1), (0, 4)) * -2.0 - l2new_abab += einsum(v.aabb.vvov, (0, 1, 2, 3), x139, (4, 2, 5, 1), (0, 3, 5, 4)) * -2.0 - l2new_abab += einsum(v.aabb.ooov, (0, 1, 2, 3), x139, (4, 2, 1, 5), (5, 3, 0, 4)) * 2.0 - l2new_abab += einsum(x21, (0, 1), x139, (2, 0, 3, 4), (4, 1, 3, 2)) * -2.0 - x140 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x140 += einsum(t2.abab, (0, 1, 2, 3), x139, (4, 5, 0, 2), (1, 4, 5, 3)) * 2.0 - x141 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x141 += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 5, 0, 1), (2, 3, 4, 5)) - x142 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x142 += einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), t3.bbbbbb, (6, 7, 5, 0, 1, 2), (3, 4, 6, 7)) - x143 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x143 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (6, 4, 7, 0, 1, 2), (3, 5, 6, 7)) - l2new_bbbb += einsum(v.bbbb.ovov, (0, 1, 2, 3), x143, (4, 5, 0, 2), (1, 3, 4, 5)) * 1.9999999999999203 - x144 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x144 += einsum(x141, (0, 1, 2, 3), (1, 0, 3, 2)) - x144 += einsum(x142, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.9999999999998788 - x144 += einsum(x143, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.9999999999999601 - x144 += einsum(t1.bb, (0, 1), x137, (2, 3, 4, 1), (2, 3, 0, 4)) - x145 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x145 += einsum(x1, (0, 1, 2, 3), (1, 0, 2, 3)) * -2.0 - x145 += einsum(l2.bbbb, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 3, 6, 0, 1), (4, 2, 5, 6)) * 6.0 - x145 += einsum(x76, (0, 1, 2, 3), (0, 1, 2, 3)) * 6.0 - x145 += einsum(x77, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x145 += einsum(x131, (0, 1, 2, 3), (2, 0, 1, 3)) * 9.0 - x145 += einsum(t2.bbbb, (0, 1, 2, 3), x132, (4, 0, 1, 5, 6, 3), (5, 4, 6, 2)) * 6.0 - x145 += einsum(x133, (0, 1, 2, 3), (2, 0, 1, 3)) * 4.0 - x145 += einsum(t2.abab, (0, 1, 2, 3), x134, (4, 1, 5, 6, 0, 2), (5, 4, 6, 3)) * 2.0 - x145 += einsum(x135, (0, 1, 2, 3), (2, 0, 1, 3)) - x145 += einsum(t2.bbbb, (0, 1, 2, 3), x136, (4, 3, 2, 5), (0, 4, 1, 5)) * -6.0 - x145 += einsum(x138, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x145 += einsum(x140, (0, 1, 2, 3), (0, 1, 2, 3)) - x145 += einsum(t1.bb, (0, 1), x144, (0, 2, 3, 4), (4, 2, 3, 1)) * 2.0 - del x144 - x145 += einsum(t1.bb, (0, 1), x114, (2, 3), (0, 2, 3, 1)) * 2.0 - l1new_bb += einsum(v.bbbb.ovov, (0, 1, 2, 3), x145, (0, 4, 2, 1), (3, 4)) * -1.0 - del x145 - x146 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x146 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovvv, (4, 2, 5, 3), (0, 1, 4, 5)) - x147 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x147 += einsum(v.bbbb.ovov, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 2, 6, 1, 3), (4, 5, 0, 6)) - x148 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x148 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.babbab, (4, 0, 5, 6, 1, 3), (4, 5, 2, 6)) - x149 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x149 += einsum(t2.bbbb, (0, 1, 2, 3), x4, (4, 5, 1, 3), (0, 4, 5, 2)) * 2.0 - del x4 - x150 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x150 += einsum(t2.abab, (0, 1, 2, 3), x6, (4, 5, 0, 2), (1, 4, 5, 3)) - x151 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x151 += einsum(x21, (0, 1), t2.bbbb, (2, 3, 4, 1), (2, 3, 0, 4)) * -1.0 - x152 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x152 += einsum(t1.bb, (0, 1), v.bbbb.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) - x153 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x153 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x153 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x153 += einsum(x152, (0, 1, 2, 3), (0, 1, 2, 3)) - x154 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x154 += einsum(t1.bb, (0, 1), x153, (2, 3, 1, 4), (0, 2, 3, 4)) - del x153 - x155 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x155 += einsum(t1.bb, (0, 1), x28, (0, 2, 3, 4), (2, 3, 4, 1)) - del x28 - x156 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x156 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x156 += einsum(x146, (0, 1, 2, 3), (2, 1, 0, 3)) - x156 += einsum(x147, (0, 1, 2, 3), (2, 1, 0, 3)) * -3.0 - x156 += einsum(x148, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - x156 += einsum(x149, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - x156 += einsum(x150, (0, 1, 2, 3), (2, 0, 1, 3)) - x156 += einsum(x151, (0, 1, 2, 3), (2, 1, 0, 3)) - x156 += einsum(x154, (0, 1, 2, 3), (2, 1, 0, 3)) - x156 += einsum(x155, (0, 1, 2, 3), (1, 2, 0, 3)) - l1new_bb += einsum(l2.bbbb, (0, 1, 2, 3), x156, (4, 2, 3, 1), (0, 4)) * 2.0 - del x156 - x157 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x157 += einsum(x76, (0, 1, 2, 3), (0, 1, 2, 3)) - x157 += einsum(x77, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.3333333333333333 - x158 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x158 += einsum(t1.bb, (0, 1), x157, (2, 3, 4, 1), (0, 2, 3, 4)) - x159 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x159 += einsum(l1.bb, (0, 1), t2.bbbb, (2, 3, 4, 0), (1, 2, 3, 4)) * 2.0 - x159 += einsum(l2.abab, (0, 1, 2, 3), t3.babbab, (4, 2, 5, 6, 0, 1), (3, 4, 5, 6)) * 2.0 - x159 += einsum(x131, (0, 1, 2, 3), (0, 2, 1, 3)) * 9.0 - del x131 - x159 += einsum(x133, (0, 1, 2, 3), (0, 2, 1, 3)) * 4.0 - del x133 - x159 += einsum(x135, (0, 1, 2, 3), (0, 2, 1, 3)) - del x135 - x159 += einsum(x138, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x138 - x159 += einsum(x140, (0, 1, 2, 3), (1, 0, 2, 3)) - del x140 - x159 += einsum(t1.bb, (0, 1), x158, (2, 3, 0, 4), (3, 4, 2, 1)) * -6.0 - x159 += einsum(t1.bb, (0, 1), x114, (2, 3), (2, 0, 3, 1)) * 2.0 - del x114 - l1new_bb += einsum(v.bbbb.ovov, (0, 1, 2, 3), x159, (4, 0, 2, 3), (1, 4)) - del x159 - x160 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x160 += einsum(l1.bb, (0, 1), t1.bb, (1, 2), (0, 2)) - x161 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x161 += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (2, 3, 4, 1), (0, 4)) - x162 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x162 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 0, 4), (1, 4)) - x163 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x163 += einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), t3.bbbbbb, (3, 4, 5, 6, 1, 2), (0, 6)) - x164 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x164 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (3, 4, 5, 6, 1, 2), (0, 6)) - x165 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x165 += einsum(x160, (0, 1), (0, 1)) - x165 += einsum(x161, (0, 1), (0, 1)) * 2.0 - x165 += einsum(x162, (0, 1), (0, 1)) - x165 += einsum(x163, (0, 1), (0, 1)) * 2.9999999999998788 - x165 += einsum(x164, (0, 1), (0, 1)) * 1.9999999999999194 - l1new_bb += einsum(x165, (0, 1), x12, (2, 3, 1, 0), (3, 2)) * -1.0 - del x165 - x166 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x166 += einsum(l1.bb, (0, 1), t2.bbbb, (2, 1, 3, 0), (2, 3)) - x167 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x167 += einsum(l1.aa, (0, 1), t2.abab, (1, 2, 0, 3), (2, 3)) - x168 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x168 += einsum(l2.bbbb, (0, 1, 2, 3), t3.bbbbbb, (4, 2, 3, 5, 0, 1), (4, 5)) - x169 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x169 += einsum(l2.abab, (0, 1, 2, 3), t3.babbab, (4, 2, 3, 5, 0, 1), (4, 5)) - x170 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x170 += einsum(l2.aaaa, (0, 1, 2, 3), t3.abaaba, (2, 4, 3, 0, 5, 1), (4, 5)) - x171 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x171 += einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), x72, (0, 1, 2, 6, 4, 5), (6, 3)) - x172 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x172 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x74, (0, 2, 6, 5, 1, 4), (6, 3)) * -1.0 - x173 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x173 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x91, (1, 6, 0, 2, 3, 5), (6, 4)) - x174 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x174 += einsum(x1, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x174 += einsum(x76, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.9999999999999996 - x174 += einsum(x77, (0, 1, 2, 3), (0, 1, 2, 3)) - x175 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x175 += einsum(l1.bb, (0, 1), t1.bb, (2, 0), (1, 2)) - x176 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x176 += einsum(x175, (0, 1), (0, 1)) - x176 += einsum(x109, (0, 1), (0, 1)) * 2.0 - x176 += einsum(x110, (0, 1), (0, 1)) - x176 += einsum(x111, (0, 1), (0, 1)) * 2.9999999999998783 - x176 += einsum(x112, (0, 1), (0, 1)) * 1.9999999999999192 - x176 += einsum(x113, (0, 1), (0, 1)) * 0.99999999999996 - x177 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x177 += einsum(t1.bb, (0, 1), (0, 1)) * -0.5000000000000202 - x177 += einsum(x166, (0, 1), (0, 1)) * -1.0000000000000404 - x177 += einsum(x167, (0, 1), (0, 1)) * -0.5000000000000202 - x177 += einsum(x168, (0, 1), (0, 1)) * -1.5000000000000604 - x177 += einsum(x169, (0, 1), (0, 1)) * -1.0000000000000404 - x177 += einsum(x170, (0, 1), (0, 1)) * -0.5000000000000202 - x177 += einsum(x171, (0, 1), (0, 1)) * 1.4999999999999998 - x177 += einsum(x172, (0, 1), (0, 1)) - x177 += einsum(x173, (0, 1), (0, 1)) * 0.5000000000000002 - x177 += einsum(t2.bbbb, (0, 1, 2, 3), x174, (0, 1, 4, 3), (4, 2)) * -1.0000000000000404 - del x174 - x177 += einsum(t2.abab, (0, 1, 2, 3), x139, (1, 4, 0, 2), (4, 3)) * 1.0000000000000404 - x177 += einsum(t1.bb, (0, 1), x176, (0, 2), (2, 1)) * 0.5000000000000202 - del x176 - x178 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x178 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x178 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - l1new_bb += einsum(x177, (0, 1), x178, (0, 2, 1, 3), (3, 2)) * -1.9999999999999194 - del x177, x178 - x179 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x179 += einsum(l1.aa, (0, 1), t1.aa, (1, 2), (0, 2)) - x180 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x180 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 4, 1), (0, 4)) - x181 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x181 += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (2, 3, 4, 1), (0, 4)) - x182 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x182 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (3, 4, 5, 0, 6, 2), (1, 6)) - x183 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x183 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (3, 4, 5, 6, 1, 2), (0, 6)) - x184 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x184 += einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), t3.aaaaaa, (3, 4, 5, 6, 1, 2), (0, 6)) - x185 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x185 += einsum(x179, (0, 1), (0, 1)) * 1.00000000000004 - x185 += einsum(x180, (0, 1), (0, 1)) * 1.00000000000004 - x185 += einsum(x181, (0, 1), (0, 1)) * 2.00000000000008 - x185 += einsum(x182, (0, 1), (0, 1)) - x185 += einsum(x183, (0, 1), (0, 1)) * 1.9999999999999991 - x185 += einsum(x184, (0, 1), (1, 0)) * 2.9999999999999982 - l1new_bb += einsum(x185, (0, 1), v.aabb.vvov, (1, 0, 2, 3), (3, 2)) * 0.9999999999999601 - del x185 - x186 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x186 += einsum(l1.bb, (0, 1), t2.abab, (2, 1, 3, 0), (2, 3)) - x187 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x187 += einsum(l1.aa, (0, 1), t2.aaaa, (2, 1, 3, 0), (2, 3)) - x188 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x188 += einsum(l2.bbbb, (0, 1, 2, 3), t3.babbab, (2, 4, 3, 0, 5, 1), (4, 5)) - x189 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x189 += einsum(l2.abab, (0, 1, 2, 3), t3.abaaba, (4, 3, 2, 5, 1, 0), (4, 5)) - x190 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x190 += einsum(l2.aaaa, (0, 1, 2, 3), t3.aaaaaa, (4, 2, 3, 5, 0, 1), (4, 5)) - x191 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x191 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x58, (0, 2, 3, 5, 1, 6), (6, 4)) - x192 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x192 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x61, (1, 4, 0, 2, 6, 5), (6, 3)) * -1.0 - x193 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x193 += einsum(t1.aa, (0, 1), l3.aaaaaa, (2, 3, 1, 4, 5, 6), (4, 5, 6, 0, 2, 3)) - l3new_abaaba += einsum(v.aabb.ooov, (0, 1, 2, 3), x193, (4, 0, 5, 1, 6, 7), (6, 3, 7, 5, 2, 4)) * -6.0 - l3new_abaaba += einsum(x7, (0, 1, 2, 3), x193, (2, 4, 5, 3, 6, 7), (6, 1, 7, 4, 0, 5)) * -6.0 - x194 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x194 += einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), x193, (0, 1, 2, 6, 4, 5), (6, 3)) - x195 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x195 += einsum(t1.aa, (0, 1), l2.aaaa, (2, 1, 3, 4), (3, 4, 0, 2)) - l2new_abab += einsum(x195, (0, 1, 2, 3), x7, (4, 5, 1, 2), (3, 5, 0, 4)) * -2.0 - x196 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x196 += einsum(t2.abab, (0, 1, 2, 3), l3.abaaba, (4, 3, 2, 5, 1, 6), (5, 6, 0, 4)) - x197 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x197 += einsum(t2.aaaa, (0, 1, 2, 3), l3.aaaaaa, (4, 2, 3, 5, 6, 1), (5, 6, 0, 4)) - x198 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x198 += einsum(x195, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.33333333333333337 - x198 += einsum(x196, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.33333333333333337 - x198 += einsum(x197, (0, 1, 2, 3), (0, 1, 2, 3)) - x199 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x199 += einsum(l1.aa, (0, 1), t1.aa, (2, 0), (1, 2)) - x200 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x200 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 0, 1), (2, 4)) - x201 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x201 += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 3, 0, 1), (2, 4)) - x202 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x202 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (3, 6, 5, 0, 1, 2), (4, 6)) - x203 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x203 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (6, 4, 5, 0, 1, 2), (3, 6)) - x204 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x204 += einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), t3.aaaaaa, (6, 4, 5, 0, 1, 2), (3, 6)) - x205 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x205 += einsum(x199, (0, 1), (0, 1)) - x205 += einsum(x200, (0, 1), (0, 1)) - x205 += einsum(x201, (0, 1), (0, 1)) * 2.0 - x205 += einsum(x202, (0, 1), (0, 1)) * 0.99999999999996 - x205 += einsum(x203, (0, 1), (0, 1)) * 1.9999999999999192 - x205 += einsum(x204, (0, 1), (0, 1)) * 2.9999999999998783 - x206 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x206 += einsum(l1.aa, (0, 1), (1, 0)) * -1.00000000000004 - x206 += einsum(t1.aa, (0, 1), (0, 1)) * -1.00000000000004 - x206 += einsum(x186, (0, 1), (0, 1)) * -1.00000000000004 - x206 += einsum(x187, (0, 1), (0, 1)) * -2.00000000000008 - x206 += einsum(x188, (0, 1), (0, 1)) * -1.00000000000004 - x206 += einsum(x189, (0, 1), (0, 1)) * -2.00000000000008 - x206 += einsum(x190, (0, 1), (0, 1)) * -3.0000000000001195 - x206 += einsum(x191, (0, 1), (0, 1)) - x206 += einsum(x192, (0, 1), (0, 1)) * 1.9999999999999991 - x206 += einsum(x194, (0, 1), (0, 1)) * 2.9999999999999982 - x206 += einsum(t2.abab, (0, 1, 2, 3), x66, (1, 3, 0, 4), (4, 2)) * 2.00000000000008 - x206 += einsum(t2.aaaa, (0, 1, 2, 3), x198, (0, 1, 4, 3), (4, 2)) * -6.000000000000239 - x206 += einsum(t1.aa, (0, 1), x205, (0, 2), (2, 1)) * 1.00000000000004 - l1new_bb += einsum(x206, (0, 1), v.aabb.ovov, (0, 1, 2, 3), (3, 2)) * -0.9999999999999601 - del x206 - x207 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x207 += einsum(x102, (0, 1, 2, 3), (0, 1, 2, 3)) - x207 += einsum(x103, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.9999999999999194 - x207 += einsum(x104, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.9999999999999194 - x207 += einsum(x105, (0, 1, 2, 3), (1, 0, 3, 2)) - del x105 - x207 += einsum(x107, (0, 1, 2, 3), (0, 1, 2, 3)) - del x107 - l1new_bb += einsum(v.aabb.ooov, (0, 1, 2, 3), x207, (4, 2, 1, 0), (3, 4)) - del x207 - x208 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x208 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x208 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - l2new_abab += einsum(x208, (0, 1, 2, 3), x96, (0, 1, 4, 5), (5, 3, 4, 2)) * -1.0 - l3new_abaaba += einsum(x208, (0, 1, 2, 3), x91, (0, 1, 4, 5, 6, 7), (6, 3, 7, 5, 2, 4)) * 2.0 - x209 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x209 += einsum(t1.bb, (0, 1), x157, (2, 3, 4, 1), (2, 3, 0, 4)) * 3.0 - l1new_bb += einsum(x208, (0, 1, 2, 3), x209, (4, 0, 2, 1), (3, 4)) * 2.0 - del x209 - x210 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x210 += einsum(x141, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.00000000000004 - x210 += einsum(x142, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.9999999999999982 - x210 += einsum(x143, (0, 1, 2, 3), (0, 1, 3, 2)) - del x143 - l1new_bb += einsum(v.bbbb.ooov, (0, 1, 2, 3), x210, (1, 4, 2, 0), (3, 4)) * 1.9999999999999203 - del x210 - x211 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x211 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (3, 4, 5, 0, 6, 2), (1, 6)) - l1new_bb += einsum(x211, (0, 1), x71, (2, 3, 0, 1), (3, 2)) * -0.9999999999999601 - x212 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x212 += einsum(x175, (0, 1), (0, 1)) * 0.5 - x212 += einsum(x109, (0, 1), (0, 1)) - x212 += einsum(x110, (0, 1), (0, 1)) * 0.5 - x212 += einsum(x111, (0, 1), (0, 1)) * 1.4999999999999394 - x212 += einsum(x112, (0, 1), (0, 1)) * 0.9999999999999597 - x213 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x213 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x213 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) - l1new_bb += einsum(x212, (0, 1), x213, (0, 2, 1, 3), (3, 2)) * -2.0 - del x212 - l1new_bb += einsum(x113, (0, 1), x213, (0, 1, 2, 3), (3, 2)) * 0.9999999999999601 - x214 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x214 += einsum(x199, (0, 1), (0, 1)) - x214 += einsum(x200, (0, 1), (0, 1)) - x214 += einsum(x201, (0, 1), (0, 1)) * 2.0 - x214 += einsum(x202, (0, 1), (0, 1)) * 0.9999999999999601 - x214 += einsum(x203, (0, 1), (0, 1)) * 1.9999999999999194 - x214 += einsum(x204, (0, 1), (1, 0)) * 2.9999999999998788 - l1new_bb += einsum(x214, (0, 1), v.aabb.ooov, (1, 0, 2, 3), (3, 2)) * -1.0 - del x214 - x215 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x215 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) - x215 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - l1new_bb += einsum(l1.bb, (0, 1), x215, (1, 2, 0, 3), (3, 2)) * -1.0 - del x215 - x216 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x216 += einsum(t1.aa, (0, 1), v.aabb.ovvv, (0, 1, 2, 3), (2, 3)) - x217 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x217 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) - x217 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x218 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x218 += einsum(f.bb.vv, (0, 1), (0, 1)) - x218 += einsum(x216, (0, 1), (1, 0)) - x218 += einsum(t1.bb, (0, 1), x217, (0, 2, 1, 3), (3, 2)) * -1.0 - l1new_bb += einsum(l1.bb, (0, 1), x218, (0, 2), (2, 1)) - del x218 - x219 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x219 += einsum(t1.aa, (0, 1), v.aabb.ovoo, (0, 1, 2, 3), (2, 3)) - x220 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x220 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 2, 1, 3), (0, 4)) - x221 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x221 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 3), (1, 4)) - x222 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x222 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x222 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) - x223 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x223 += einsum(t1.bb, (0, 1), x222, (2, 3, 0, 1), (2, 3)) - del x222 - x224 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x224 += einsum(t1.bb, (0, 1), x21, (2, 1), (0, 2)) - x225 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x225 += einsum(f.bb.oo, (0, 1), (0, 1)) - x225 += einsum(x219, (0, 1), (1, 0)) - x225 += einsum(x220, (0, 1), (0, 1)) * 2.0 - x225 += einsum(x221, (0, 1), (0, 1)) - x225 += einsum(x223, (0, 1), (1, 0)) * -1.0 - x225 += einsum(x224, (0, 1), (0, 1)) - del x224 - l1new_bb += einsum(l1.bb, (0, 1), x225, (1, 2), (0, 2)) * -1.0 - l2new_abab += einsum(x225, (0, 1), l2.abab, (2, 3, 4, 0), (2, 3, 4, 1)) * -1.0 - l3new_abaaba += einsum(x225, (0, 1), l3.abaaba, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) * -2.0 - del x225 - x226 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x226 += einsum(x175, (0, 1), (0, 1)) * 0.5000000000000202 - x226 += einsum(x109, (0, 1), (0, 1)) * 1.0000000000000404 - x226 += einsum(x110, (0, 1), (0, 1)) * 0.5000000000000202 - x226 += einsum(x111, (0, 1), (0, 1)) * 1.4999999999999998 - x226 += einsum(x112, (0, 1), (0, 1)) - x226 += einsum(x113, (0, 1), (0, 1)) * 0.5000000000000002 - l1new_bb += einsum(f.bb.ov, (0, 1), x226, (2, 0), (1, 2)) * -1.9999999999999194 - del x226 - x227 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x227 += einsum(x19, (0, 1), (0, 1)) - x227 += einsum(x20, (0, 1), (0, 1)) * -1.0 - l1new_bb += einsum(x175, (0, 1), x227, (1, 2), (2, 0)) * -1.0 - x228 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x228 += einsum(t2.aaaa, (0, 1, 2, 3), l3.aaaaaa, (4, 5, 3, 6, 0, 1), (6, 4, 5, 2)) - l1new_aa += einsum(v.aaaa.vvvv, (0, 1, 2, 3), x228, (4, 1, 2, 3), (0, 4)) * 6.0 - x229 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x229 += einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), t3.aaaaaa, (6, 7, 5, 0, 1, 2), (3, 4, 6, 7)) - l1new_aa += einsum(v.aaaa.ooov, (0, 1, 2, 3), x229, (1, 4, 2, 0), (3, 4)) * -5.9999999999997575 - x230 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x230 += einsum(t1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 1), (0, 2, 4, 3)) - x231 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x231 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x231 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) - x231 += einsum(x230, (0, 1, 2, 3), (0, 1, 2, 3)) - x231 += einsum(x230, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x232 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x232 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (0, 4, 2, 5)) - x233 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x233 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - x233 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x234 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x234 += einsum(t2.aaaa, (0, 1, 2, 3), x233, (1, 4, 5, 3), (0, 4, 2, 5)) * 2.0 - x235 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x235 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x235 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) - x236 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x236 += einsum(t1.aa, (0, 1), x235, (2, 3, 1, 4), (0, 2, 3, 4)) - x237 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x237 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x237 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x237 += einsum(x232, (0, 1, 2, 3), (0, 1, 2, 3)) - x237 += einsum(x234, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x237 += einsum(x236, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x238 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x238 += einsum(t1.bb, (0, 1), v.aabb.ovvv, (2, 3, 4, 1), (0, 4, 2, 3)) - l2new_abab += einsum(l2.bbbb, (0, 1, 2, 3), x238, (3, 1, 4, 5), (5, 0, 4, 2)) * 2.0 - x239 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x239 += einsum(t2.bbbb, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (0, 2, 4, 5)) - x240 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x240 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x240 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x241 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x241 += einsum(t2.abab, (0, 1, 2, 3), x240, (0, 4, 2, 5), (1, 3, 4, 5)) - x242 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x242 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) - x242 += einsum(x238, (0, 1, 2, 3), (0, 1, 2, 3)) - x242 += einsum(x239, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x242 += einsum(x241, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x243 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x243 += einsum(t1.bb, (0, 1), v.aabb.ovov, (2, 3, 0, 1), (2, 3)) - x244 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x244 += einsum(t1.aa, (0, 1), x240, (0, 2, 1, 3), (2, 3)) - x245 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x245 += einsum(f.aa.ov, (0, 1), (0, 1)) - x245 += einsum(x243, (0, 1), (0, 1)) - x245 += einsum(x244, (0, 1), (0, 1)) * -1.0 - l2new_abab += einsum(x245, (0, 1), x66, (2, 3, 4, 0), (1, 3, 4, 2)) * -2.0 - l2new_abab += einsum(l1.bb, (0, 1), x245, (2, 3), (3, 0, 2, 1)) - l3new_aaaaaa += einsum(x245, (0, 1), l2.aaaa, (2, 3, 4, 5), (2, 3, 1, 4, 5, 0)) * 2.0 - l3new_aaaaaa += einsum(x245, (0, 1), l2.aaaa, (2, 3, 4, 5), (2, 3, 1, 0, 4, 5)) * 2.0 - l3new_aaaaaa += einsum(x245, (0, 1), l2.aaaa, (2, 3, 4, 5), (2, 1, 3, 4, 0, 5)) * 2.0 - l3new_aaaaaa += einsum(x245, (0, 1), l2.aaaa, (2, 3, 4, 5), (1, 2, 3, 4, 5, 0)) * 2.0 - l3new_aaaaaa += einsum(x245, (0, 1), l2.aaaa, (2, 3, 4, 5), (1, 2, 3, 0, 4, 5)) * 2.0 - l3new_aaaaaa += einsum(x245, (0, 1), l2.aaaa, (2, 3, 4, 5), (2, 3, 1, 4, 0, 5)) * -2.0 - l3new_aaaaaa += einsum(x245, (0, 1), l2.aaaa, (2, 3, 4, 5), (2, 1, 3, 4, 5, 0)) * -2.0 - l3new_aaaaaa += einsum(x245, (0, 1), l2.aaaa, (2, 3, 4, 5), (2, 1, 3, 0, 4, 5)) * -2.0 - l3new_aaaaaa += einsum(x245, (0, 1), l2.aaaa, (2, 3, 4, 5), (1, 2, 3, 4, 0, 5)) * -2.0 - l3new_babbab += einsum(x245, (0, 1), x58, (2, 3, 4, 5, 6, 0), (4, 1, 5, 3, 6, 2)) * 2.0 - l3new_babbab += einsum(x245, (0, 1), l2.bbbb, (2, 3, 4, 5), (2, 1, 3, 4, 0, 5)) * 2.0 - l3new_abaaba += einsum(x245, (0, 1), l2.abab, (2, 3, 4, 5), (1, 3, 2, 0, 5, 4)) - l3new_abaaba += einsum(x245, (0, 1), l2.abab, (2, 3, 4, 5), (2, 3, 1, 4, 5, 0)) - l3new_abaaba += einsum(x245, (0, 1), l2.abab, (2, 3, 4, 5), (2, 3, 1, 0, 5, 4)) * -1.0 - l3new_abaaba += einsum(x245, (0, 1), l2.abab, (2, 3, 4, 5), (1, 3, 2, 4, 5, 0)) * -1.0 - x246 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x246 += einsum(t1.aa, (0, 1), v.aabb.ovvv, (2, 1, 3, 4), (3, 4, 0, 2)) - l2new_abab += einsum(x246, (0, 1, 2, 3), x61, (4, 1, 2, 5, 3, 6), (6, 0, 5, 4)) * 2.0 - x247 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x247 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 1, 5), (3, 5, 0, 4)) - x248 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x248 += einsum(v.aabb.oovv, (0, 1, 2, 3), (2, 3, 0, 1)) - x248 += einsum(x246, (0, 1, 2, 3), (1, 0, 2, 3)) - x248 += einsum(x247, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x249 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x249 += einsum(t1.bb, (0, 1), x8, (2, 1, 3, 4), (0, 2, 3, 4)) - x250 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x250 += einsum(v.aabb.oooo, (0, 1, 2, 3), (2, 3, 0, 1)) - x250 += einsum(x29, (0, 1, 2, 3), (1, 0, 2, 3)) - x250 += einsum(x30, (0, 1, 2, 3), (1, 0, 2, 3)) - x250 += einsum(x249, (0, 1, 2, 3), (1, 0, 3, 2)) - x251 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x251 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 2, 5, 3), (0, 1, 4, 5)) - x252 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x252 += einsum(t1.aa, (0, 1), x230, (2, 3, 4, 1), (0, 2, 3, 4)) - x253 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x253 += einsum(t1.aa, (0, 1), v.aaaa.ooov, (2, 3, 4, 1), (0, 2, 3, 4)) - x254 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x254 += einsum(v.aaaa.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x254 += einsum(x251, (0, 1, 2, 3), (3, 1, 2, 0)) - x254 += einsum(x252, (0, 1, 2, 3), (3, 1, 2, 0)) - x254 += einsum(x253, (0, 1, 2, 3), (2, 1, 3, 0)) - x254 += einsum(x253, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 - x255 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x255 += einsum(x44, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * 0.9999999999999597 - del x44 - x255 += einsum(t2.abab, (0, 1, 2, 3), x8, (4, 3, 5, 6), (1, 4, 0, 6, 5, 2)) * -1.0 - x255 += einsum(x45, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) * -1.0 - del x45 - x256 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x256 += einsum(v.aaaa.ovov, (0, 1, 2, 3), t3.abaaba, (4, 5, 6, 3, 7, 1), (5, 7, 4, 6, 0, 2)) * -1.0 - l2new_aaaa += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), x256, (4, 1, 5, 3, 6, 7), (0, 2, 6, 7)) * -1.9999999999999203 - x257 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x257 += einsum(t2.abab, (0, 1, 2, 3), v.aaaa.ooov, (4, 5, 6, 2), (1, 3, 0, 4, 5, 6)) - x258 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x258 += einsum(t2.abab, (0, 1, 2, 3), x230, (4, 5, 6, 2), (1, 3, 4, 0, 6, 5)) - x259 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x259 += einsum(x256, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * 0.9999999999999601 - del x256 - x259 += einsum(x257, (0, 1, 2, 3, 4, 5), (0, 1, 4, 2, 3, 5)) - x259 += einsum(x257, (0, 1, 2, 3, 4, 5), (0, 1, 4, 2, 5, 3)) * -1.0 - del x257 - x259 += einsum(x258, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - x259 += einsum(x258, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 - del x258 - x260 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x260 += einsum(v.aabb.ovvv, (0, 1, 2, 3), t3.abaaba, (4, 5, 6, 7, 3, 1), (5, 2, 0, 4, 6, 7)) * -0.9999999999999597 - x260 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), t3.abaaba, (4, 5, 6, 3, 7, 1), (5, 7, 0, 4, 6, 2)) * -0.9999999999999601 - x260 += einsum(x231, (0, 1, 2, 3), t3.abaaba, (4, 5, 1, 6, 7, 3), (5, 7, 2, 4, 0, 6)) * -2.0 - x260 += einsum(x31, (0, 1, 2, 3), t3.babbab, (4, 5, 0, 6, 7, 1), (4, 6, 3, 5, 2, 7)) * -2.0 - x260 += einsum(x39, (0, 1, 2, 3), t3.abaaba, (4, 0, 5, 6, 7, 3), (1, 7, 2, 4, 5, 6)) - x260 += einsum(t2.abab, (0, 1, 2, 3), x237, (4, 5, 6, 2), (1, 3, 5, 0, 4, 6)) - x260 += einsum(t2.aaaa, (0, 1, 2, 3), x242, (4, 5, 6, 3), (4, 5, 6, 0, 1, 2)) * -1.0 - x260 += einsum(x245, (0, 1), t3.abaaba, (2, 3, 4, 5, 6, 1), (3, 6, 0, 2, 4, 5)) * -0.9999999999999597 - x260 += einsum(t2.abab, (0, 1, 2, 3), x248, (3, 4, 5, 6), (1, 4, 6, 0, 5, 2)) * -1.0 - x260 += einsum(t2.abab, (0, 1, 2, 3), x250, (1, 4, 5, 6), (4, 3, 6, 0, 5, 2)) - x260 += einsum(t2.abab, (0, 1, 2, 3), x254, (0, 4, 5, 6), (1, 3, 5, 4, 6, 2)) - x260 += einsum(t1.bb, (0, 1), x255, (2, 0, 3, 4, 5, 6), (2, 1, 5, 3, 4, 6)) * -1.0 - del x255 - x260 += einsum(t1.aa, (0, 1), x259, (2, 3, 4, 5, 0, 6), (2, 3, 6, 5, 4, 1)) * -1.0 - del x259 - l1new_aa += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), x260, (4, 1, 6, 5, 3, 2), (0, 6)) * 2.0 - del x260 - x261 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x261 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x261 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) - x261 += einsum(x230, (0, 1, 2, 3), (1, 0, 2, 3)) - x261 += einsum(x230, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - x262 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x262 += einsum(x38, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 0.9999999999999597 - del x38 - x262 += einsum(t2.bbbb, (0, 1, 2, 3), x8, (4, 3, 5, 6), (0, 1, 4, 2, 6, 5)) - x262 += einsum(x40, (0, 1, 2, 3, 4, 5), (0, 2, 1, 3, 4, 5)) - del x40 - x263 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x263 += einsum(v.aabb.ovvv, (0, 1, 2, 3), t3.babbab, (4, 5, 6, 7, 1, 3), (4, 6, 7, 2, 0, 5)) * -0.9999999999999597 - x263 += einsum(x261, (0, 1, 2, 3), t3.babbab, (4, 0, 5, 6, 3, 7), (4, 5, 6, 7, 2, 1)) * -0.5 - x263 += einsum(x31, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 0, 6, 7, 1), (4, 5, 6, 7, 3, 2)) * -1.5 - x263 += einsum(x39, (0, 1, 2, 3), t3.babbab, (4, 5, 0, 6, 3, 7), (4, 1, 6, 7, 2, 5)) - x263 += einsum(t2.abab, (0, 1, 2, 3), x242, (4, 5, 6, 2), (1, 4, 3, 5, 6, 0)) * -1.0 - del x242 - x263 += einsum(x245, (0, 1), t3.babbab, (2, 3, 4, 5, 1, 6), (2, 4, 5, 6, 0, 3)) * -0.49999999999998007 - x263 += einsum(t2.bbbb, (0, 1, 2, 3), x248, (3, 4, 5, 6), (0, 1, 2, 4, 6, 5)) * -1.0 - del x248 - x263 += einsum(t2.bbbb, (0, 1, 2, 3), x250, (1, 4, 5, 6), (0, 4, 2, 3, 6, 5)) - del x250 - x263 += einsum(t1.bb, (0, 1), x262, (2, 3, 0, 4, 5, 6), (2, 3, 4, 1, 6, 5)) - del x262 - l1new_aa += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), x263, (3, 5, 0, 2, 6, 4), (1, 6)) * 2.0 - del x263 - x264 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x264 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x264 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - x264 += einsum(x230, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x264 += einsum(x230, (0, 1, 2, 3), (2, 0, 1, 3)) - x265 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x265 += einsum(v.aaaa.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x265 += einsum(x251, (0, 1, 2, 3), (3, 1, 2, 0)) * -1.0 - x265 += einsum(x252, (0, 1, 2, 3), (2, 1, 3, 0)) - x265 += einsum(x253, (0, 1, 2, 3), (2, 0, 3, 1)) - x265 += einsum(x253, (0, 1, 2, 3), (3, 0, 2, 1)) * -1.0 - x266 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x266 += einsum(v.aaaa.ovov, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 6, 7, 1, 3), (4, 5, 6, 0, 2, 7)) - l2new_aaaa += einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), x266, (3, 4, 5, 6, 7, 2), (0, 1, 6, 7)) * 5.9999999999997575 - x267 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x267 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ooov, (4, 5, 6, 3), (0, 1, 4, 5, 6, 2)) - x268 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x268 += einsum(t2.aaaa, (0, 1, 2, 3), x230, (4, 5, 6, 3), (4, 0, 1, 6, 5, 2)) - x269 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x269 += einsum(x266, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -0.9999999999999596 - del x266 - x269 += einsum(x267, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 - x269 += einsum(x267, (0, 1, 2, 3, 4, 5), (0, 1, 3, 4, 2, 5)) - del x267 - x269 += einsum(x268, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) * -1.0 - x269 += einsum(x268, (0, 1, 2, 3, 4, 5), (1, 2, 0, 4, 3, 5)) - del x268 - x270 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x270 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 6, 7, 3, 1), (0, 4, 5, 6, 7, 2)) * -0.9999999999999596 - x270 += einsum(x264, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 0, 6, 7, 3), (2, 4, 1, 5, 6, 7)) * -1.5 - del x264 - x270 += einsum(x31, (0, 1, 2, 3), t3.abaaba, (4, 0, 5, 6, 1, 7), (3, 4, 2, 5, 6, 7)) * 0.5 - x270 += einsum(t2.aaaa, (0, 1, 2, 3), x237, (4, 5, 6, 3), (5, 0, 4, 1, 2, 6)) * -1.0 - del x237 - x270 += einsum(x245, (0, 1), t3.aaaaaa, (2, 3, 4, 5, 6, 1), (0, 2, 3, 4, 5, 6)) * -0.4999999999999798 - x270 += einsum(t2.aaaa, (0, 1, 2, 3), x265, (1, 4, 5, 6), (5, 0, 4, 6, 2, 3)) * -1.0 - del x265 - x270 += einsum(t1.aa, (0, 1), x269, (2, 3, 4, 5, 0, 6), (5, 3, 4, 2, 6, 1)) * -1.0 - del x269 - l1new_aa += einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), x270, (6, 4, 3, 5, 2, 1), (0, 6)) * 6.0 - del x270 - x271 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x271 += einsum(l2.abab, (0, 1, 2, 3), t2.bbbb, (4, 3, 5, 1), (4, 5, 2, 0)) - x272 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x272 += einsum(l2.aaaa, (0, 1, 2, 3), t2.abab, (3, 4, 1, 5), (4, 5, 2, 0)) - x273 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x273 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.bbbbbb, (6, 3, 5, 7, 0, 2), (6, 7, 4, 1)) - x274 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x274 += einsum(t2.bbbb, (0, 1, 2, 3), x74, (0, 1, 4, 3, 5, 6), (4, 2, 5, 6)) * -1.0 - x275 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x275 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.babbab, (6, 5, 4, 7, 2, 1), (6, 7, 3, 0)) - x276 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x276 += einsum(t2.abab, (0, 1, 2, 3), x91, (1, 4, 5, 0, 2, 6), (4, 3, 5, 6)) * -1.0 - x277 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x277 += einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), t3.abaaba, (4, 6, 5, 1, 7, 2), (6, 7, 3, 0)) - x278 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x278 += einsum(l2.abab, (0, 1, 2, 3), (3, 1, 2, 0)) - x278 += einsum(x271, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x278 += einsum(x272, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x278 += einsum(x273, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0 - x278 += einsum(x274, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - x278 += einsum(x275, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.0 - x278 += einsum(x276, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - x278 += einsum(x277, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0 - x278 += einsum(t1.bb, (0, 1), x96, (0, 2, 3, 4), (2, 1, 3, 4)) * -1.0 - l1new_aa += einsum(v.aabb.vvov, (0, 1, 2, 3), x278, (2, 3, 4, 1), (0, 4)) - del x278 - x279 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x279 += einsum(t2.bbbb, (0, 1, 2, 3), l3.babbab, (4, 5, 3, 0, 6, 1), (4, 2, 6, 5)) - x280 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x280 += einsum(t2.abab, (0, 1, 2, 3), l3.abaaba, (4, 5, 2, 6, 1, 0), (5, 3, 6, 4)) - x281 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x281 += einsum(t1.bb, (0, 1), l2.abab, (2, 3, 4, 0), (3, 1, 4, 2)) * 0.5 - x281 += einsum(x279, (0, 1, 2, 3), (0, 1, 2, 3)) - x281 += einsum(x280, (0, 1, 2, 3), (0, 1, 2, 3)) - l1new_aa += einsum(v.aabb.vvvv, (0, 1, 2, 3), x281, (2, 3, 4, 1), (0, 4)) * 2.0 - del x281 - x282 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x282 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 5, 1), (2, 4, 0, 5)) - x283 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x283 += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 3, 5, 1), (2, 4, 0, 5)) - x284 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x284 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (3, 6, 5, 0, 7, 2), (4, 6, 1, 7)) - x285 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x285 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (6, 4, 5, 7, 1, 2), (3, 6, 0, 7)) - x286 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x286 += einsum(t2.abab, (0, 1, 2, 3), x61, (1, 3, 0, 4, 5, 6), (4, 5, 6, 2)) * -1.0 - x287 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x287 += einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), t3.aaaaaa, (6, 4, 5, 7, 1, 2), (3, 6, 0, 7)) - x288 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x288 += einsum(t2.aaaa, (0, 1, 2, 3), x193, (4, 0, 1, 5, 6, 3), (4, 5, 6, 2)) * -1.0 - x289 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x289 += einsum(x195, (0, 1, 2, 3), (1, 0, 2, 3)) - x289 += einsum(x196, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x289 += einsum(x197, (0, 1, 2, 3), (0, 1, 2, 3)) * -3.0 - x290 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x290 += einsum(x282, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.1111111111111111 - x290 += einsum(x283, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.4444444444444444 - x290 += einsum(x284, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.1111111111111111 - x290 += einsum(x285, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.4444444444444444 - x290 += einsum(x286, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.2222222222222222 - x290 += einsum(x287, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x290 += einsum(x288, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.6666666666666666 - x290 += einsum(t1.aa, (0, 1), x289, (0, 2, 3, 4), (2, 3, 1, 4)) * 0.2222222222222222 - l1new_aa += einsum(v.aaaa.ovvv, (0, 1, 2, 3), x290, (4, 0, 2, 3), (1, 4)) * 9.0 - del x290 - x291 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x291 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 0, 5), (1, 5, 2, 4)) - x292 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x292 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (3, 6, 5, 7, 1, 2), (0, 7, 4, 6)) - x293 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x293 += einsum(t2.bbbb, (0, 1, 2, 3), x58, (0, 1, 4, 3, 5, 6), (4, 2, 5, 6)) - x294 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x294 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (6, 4, 5, 0, 7, 2), (1, 7, 3, 6)) - x295 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x295 += einsum(t2.abab, (0, 1, 2, 3), x61, (1, 4, 0, 5, 6, 2), (4, 3, 5, 6)) - x296 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x296 += einsum(x291, (0, 1, 2, 3), (0, 1, 2, 3)) - x296 += einsum(x292, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x296 += einsum(x293, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 - x296 += einsum(x294, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x296 += einsum(x295, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 - x296 += einsum(t1.bb, (0, 1), x101, (0, 2, 3, 4), (1, 2, 3, 4)) - l1new_aa += einsum(v.aabb.ovvv, (0, 1, 2, 3), x296, (3, 2, 4, 0), (1, 4)) * -1.0 - del x296 - x297 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x297 += einsum(x279, (0, 1, 2, 3), (0, 1, 2, 3)) - del x279 - x297 += einsum(x280, (0, 1, 2, 3), (0, 1, 2, 3)) - del x280 - l2new_abab += einsum(x297, (0, 1, 2, 3), x71, (4, 5, 0, 1), (3, 5, 2, 4)) * -2.0 - del x71 - l2new_abab += einsum(v.aabb.vvov, (0, 1, 2, 3), x297, (4, 3, 5, 1), (0, 4, 5, 2)) * -2.0 - l2new_abab += einsum(x297, (0, 1, 2, 3), x31, (4, 1, 2, 5), (3, 0, 5, 4)) * 2.0 - x298 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x298 += einsum(x200, (0, 1), (0, 1)) - x298 += einsum(x201, (0, 1), (0, 1)) * 2.0 - x298 += einsum(x202, (0, 1), (0, 1)) * 0.9999999999999601 - x298 += einsum(x203, (0, 1), (0, 1)) * 1.9999999999999194 - x298 += einsum(x204, (0, 1), (0, 1)) * 2.9999999999998788 - x299 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x299 += einsum(l1.aa, (0, 1), t2.abab, (2, 3, 0, 4), (3, 4, 1, 2)) - x299 += einsum(x63, (0, 1, 2, 3), (0, 1, 2, 3)) - x299 += einsum(l2.abab, (0, 1, 2, 3), t3.babbab, (4, 5, 3, 6, 0, 1), (4, 6, 2, 5)) * 2.0 - x299 += einsum(x64, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x299 += einsum(l2.aaaa, (0, 1, 2, 3), t3.abaaba, (4, 5, 3, 0, 6, 1), (5, 6, 2, 4)) * 2.0 - x299 += einsum(x65, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x299 += einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), x58, (2, 1, 5, 4, 6, 7), (0, 3, 6, 7)) * 3.0 - x299 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x74, (2, 0, 6, 5, 7, 4), (6, 3, 7, 1)) * -2.0 - x299 += einsum(t2.bbbb, (0, 1, 2, 3), x98, (1, 0, 4, 3, 5, 6), (4, 2, 5, 6)) * -2.0 - x299 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x61, (2, 5, 6, 1, 7, 4), (0, 3, 6, 7)) * -4.0 - x299 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x91, (1, 6, 7, 2, 5, 3), (6, 4, 7, 0)) * 2.0 - x299 += einsum(t2.abab, (0, 1, 2, 3), x99, (1, 4, 5, 0, 6, 2), (4, 3, 5, 6)) * 2.0 - x299 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x193, (6, 0, 2, 7, 5, 3), (1, 4, 6, 7)) * -3.0 - x299 += einsum(t2.abab, (0, 1, 2, 3), x297, (3, 4, 5, 2), (1, 4, 5, 0)) * -2.0 - x299 += einsum(t2.bbbb, (0, 1, 2, 3), x101, (1, 3, 4, 5), (0, 2, 4, 5)) * 2.0 - x299 += einsum(t2.abab, (0, 1, 2, 3), x96, (1, 4, 5, 2), (4, 3, 5, 0)) * -1.0 - x299 += einsum(t2.abab, (0, 1, 2, 3), x289, (0, 4, 5, 2), (1, 3, 4, 5)) * -2.0 - x299 += einsum(t1.bb, (0, 1), x108, (0, 2, 3, 4), (2, 1, 3, 4)) * -1.0 - del x108 - x299 += einsum(t1.bb, (0, 1), x298, (2, 3), (0, 1, 2, 3)) - l1new_aa += einsum(v.aabb.ovov, (0, 1, 2, 3), x299, (2, 3, 4, 0), (1, 4)) * -1.0 - del x299 - x300 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x300 += einsum(x195, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.3333333333333333 - x300 += einsum(x196, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.3333333333333333 - x300 += einsum(x197, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - l1new_aa += einsum(v.aaaa.oovv, (0, 1, 2, 3), x300, (1, 4, 0, 3), (2, 4)) * -6.0 - x301 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x301 += einsum(l2.aaaa, (0, 1, 2, 3), (2, 3, 0, 1)) * -0.3333333333333333 - x301 += einsum(x286, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.3333333333333333 - x301 += einsum(x288, (0, 1, 2, 3), (0, 1, 2, 3)) - x301 += einsum(t1.aa, (0, 1), x300, (0, 2, 3, 4), (2, 3, 4, 1)) - l1new_aa += einsum(v.aaaa.ovvv, (0, 1, 2, 3), x301, (4, 0, 3, 1), (2, 4)) * -6.0 - del x301 - x302 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x302 += einsum(t2.abab, (0, 1, 2, 3), l3.abaaba, (4, 3, 5, 6, 1, 0), (6, 4, 5, 2)) - x303 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x303 += einsum(t1.aa, (0, 1), l2.aaaa, (2, 3, 4, 0), (4, 2, 3, 1)) - x303 += einsum(x302, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - l1new_aa += einsum(v.aaaa.vvvv, (0, 1, 2, 3), x303, (4, 3, 1, 2), (0, 4)) * -2.0 - del x303 - x304 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x304 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovvv, (4, 2, 5, 3), (1, 5, 0, 4)) - x305 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x305 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.babbab, (4, 5, 2, 6, 1, 3), (4, 6, 5, 0)) - x306 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x306 += einsum(v.aaaa.ovov, (0, 1, 2, 3), t3.abaaba, (4, 5, 2, 3, 6, 1), (5, 6, 4, 0)) * -1.0 - x307 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x307 += einsum(t2.abab, (0, 1, 2, 3), x261, (4, 5, 0, 2), (1, 3, 4, 5)) - del x261 - x308 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x308 += einsum(t2.bbbb, (0, 1, 2, 3), x8, (1, 3, 4, 5), (0, 2, 4, 5)) * 2.0 - x309 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x309 += einsum(t2.abab, (0, 1, 2, 3), x39, (1, 4, 5, 2), (4, 3, 0, 5)) - x310 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x310 += einsum(x245, (0, 1), t2.abab, (2, 3, 1, 4), (3, 4, 2, 0)) - x311 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x311 += einsum(v.aabb.oovv, (0, 1, 2, 3), (2, 3, 0, 1)) - x311 += einsum(x246, (0, 1, 2, 3), (1, 0, 3, 2)) - x312 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x312 += einsum(t1.bb, (0, 1), x311, (1, 2, 3, 4), (0, 2, 3, 4)) - del x311 - x313 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x313 += einsum(t1.bb, (0, 1), x128, (0, 2, 3, 4), (2, 1, 3, 4)) - x314 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x314 += einsum(v.aabb.ooov, (0, 1, 2, 3), (2, 3, 0, 1)) - x314 += einsum(x7, (0, 1, 2, 3), (0, 1, 2, 3)) - x314 += einsum(x304, (0, 1, 2, 3), (0, 1, 2, 3)) - x314 += einsum(x305, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x314 += einsum(x306, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x314 += einsum(x307, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x314 += einsum(x308, (0, 1, 2, 3), (0, 1, 3, 2)) - x314 += einsum(x309, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x314 += einsum(x310, (0, 1, 2, 3), (0, 1, 2, 3)) - x314 += einsum(x312, (0, 1, 2, 3), (0, 1, 3, 2)) - x314 += einsum(x313, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - l1new_aa += einsum(l2.abab, (0, 1, 2, 3), x314, (3, 1, 2, 4), (0, 4)) * -1.0 - del x314 - x315 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x315 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovvv, (4, 2, 5, 3), (0, 1, 4, 5)) - x316 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x316 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.abaaba, (4, 2, 5, 6, 3, 1), (4, 5, 0, 6)) - x317 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x317 += einsum(v.aaaa.ovov, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 2, 6, 1, 3), (4, 5, 0, 6)) - x318 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x318 += einsum(t1.aa, (0, 1), v.aaaa.ovvv, (2, 3, 4, 1), (0, 2, 3, 4)) - x319 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x319 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x319 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x319 += einsum(x318, (0, 1, 2, 3), (0, 1, 2, 3)) - x320 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x320 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) - x320 += einsum(x315, (0, 1, 2, 3), (2, 1, 0, 3)) - x320 += einsum(x316, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - x320 += einsum(x317, (0, 1, 2, 3), (2, 1, 0, 3)) * -3.0 - x320 += einsum(t2.aaaa, (0, 1, 2, 3), x231, (4, 5, 1, 3), (5, 0, 4, 2)) * -2.0 - x320 += einsum(t2.abab, (0, 1, 2, 3), x31, (1, 3, 4, 5), (5, 0, 4, 2)) - x320 += einsum(x245, (0, 1), t2.aaaa, (2, 3, 4, 1), (0, 2, 3, 4)) - x320 += einsum(t1.aa, (0, 1), x319, (2, 3, 1, 4), (3, 2, 0, 4)) - x320 += einsum(t1.aa, (0, 1), x254, (0, 2, 3, 4), (3, 2, 4, 1)) * -1.0 - l1new_aa += einsum(l2.aaaa, (0, 1, 2, 3), x320, (4, 3, 2, 1), (0, 4)) * -2.0 - del x320 - x321 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x321 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x58, (0, 2, 3, 5, 6, 7), (6, 7, 1, 4)) - x322 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x322 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x61, (1, 4, 6, 2, 7, 5), (6, 7, 0, 3)) * -1.0 - x323 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x323 += einsum(t1.aa, (0, 1), x61, (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 0, 6)) - x324 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x324 += einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), x193, (6, 2, 1, 7, 4, 5), (6, 7, 0, 3)) * -1.0 - x325 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x325 += einsum(t1.aa, (0, 1), x193, (2, 3, 4, 5, 6, 1), (2, 3, 4, 0, 5, 6)) - x326 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x326 += einsum(x195, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.3333333333333333 - x326 += einsum(x196, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.3333333333333333 - x326 += einsum(x197, (0, 1, 2, 3), (0, 1, 2, 3)) - x327 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x327 += einsum(x195, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x327 += einsum(x196, (0, 1, 2, 3), (0, 1, 2, 3)) - x327 += einsum(x197, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0 - l2new_abab += einsum(v.aabb.ooov, (0, 1, 2, 3), x327, (0, 4, 1, 5), (5, 3, 4, 2)) * 2.0 - x328 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x328 += einsum(x229, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x328 += einsum(t1.aa, (0, 1), x327, (2, 3, 4, 1), (2, 3, 0, 4)) * 0.3333333333333468 - x329 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x329 += einsum(l1.aa, (0, 1), t2.aaaa, (2, 3, 4, 0), (1, 2, 3, 4)) * 0.3333333333333333 - x329 += einsum(x195, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.3333333333333333 - x329 += einsum(l2.abab, (0, 1, 2, 3), t3.abaaba, (4, 3, 5, 6, 1, 0), (2, 4, 5, 6)) * 0.3333333333333333 - x329 += einsum(x196, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.3333333333333333 - x329 += einsum(x197, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x329 += einsum(x321, (0, 1, 2, 3), (0, 2, 1, 3)) * 0.16666666666666666 - x329 += einsum(x322, (0, 1, 2, 3), (0, 2, 1, 3)) * 0.6666666666666666 - x329 += einsum(t2.abab, (0, 1, 2, 3), x323, (1, 3, 4, 0, 5, 6), (4, 6, 5, 2)) * -0.3333333333333333 - x329 += einsum(x324, (0, 1, 2, 3), (0, 2, 1, 3)) * 1.5 - x329 += einsum(t2.aaaa, (0, 1, 2, 3), x228, (4, 3, 2, 5), (4, 0, 1, 5)) * -1.0 - x329 += einsum(t2.aaaa, (0, 1, 2, 3), x325, (4, 0, 1, 5, 6, 3), (4, 6, 5, 2)) * -1.0 - x329 += einsum(t2.abab, (0, 1, 2, 3), x66, (1, 3, 4, 5), (4, 0, 5, 2)) * 0.3333333333333333 - x329 += einsum(t2.aaaa, (0, 1, 2, 3), x326, (4, 1, 5, 3), (4, 0, 5, 2)) * -2.0 - x329 += einsum(t1.aa, (0, 1), x328, (2, 0, 3, 4), (2, 4, 3, 1)) * -0.9999999999999596 - del x328 - x329 += einsum(t1.aa, (0, 1), x298, (2, 3), (2, 0, 3, 1)) * 0.16666666666666666 - l1new_aa += einsum(v.aaaa.ovov, (0, 1, 2, 3), x329, (4, 2, 0, 3), (1, 4)) * -6.0 - del x329 - x330 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x330 += einsum(x282, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.1111111111111111 - x330 += einsum(x283, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.4444444444444444 - x330 += einsum(x284, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.1111111111111111 - x330 += einsum(x285, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.4444444444444444 - x330 += einsum(x287, (0, 1, 2, 3), (0, 1, 2, 3)) - l1new_aa += einsum(v.aaaa.ovvv, (0, 1, 2, 3), x330, (4, 0, 3, 1), (2, 4)) * 9.0 - del x330 - x331 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x331 += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 5, 0, 1), (2, 3, 4, 5)) - x332 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x332 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (6, 4, 7, 0, 1, 2), (3, 5, 6, 7)) - x333 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x333 += einsum(x196, (0, 1, 2, 3), (0, 1, 2, 3)) - x333 += einsum(x197, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0 - x334 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x334 += einsum(t1.aa, (0, 1), x333, (2, 3, 4, 1), (0, 2, 3, 4)) - x335 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x335 += einsum(x331, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - x335 += einsum(x332, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.9999999999999601 - x335 += einsum(x334, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - x336 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x336 += einsum(l2.aaaa, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 3, 6, 0, 1), (2, 4, 5, 6)) * 0.5 - x336 += einsum(x321, (0, 1, 2, 3), (0, 2, 1, 3)) * 0.08333333333333333 - del x321 - x336 += einsum(x322, (0, 1, 2, 3), (0, 2, 1, 3)) * 0.3333333333333333 - del x322 - x336 += einsum(t2.aaaa, (0, 1, 2, 3), x302, (4, 2, 3, 5), (4, 0, 1, 5)) * 0.16666666666666666 - x336 += einsum(x324, (0, 1, 2, 3), (0, 2, 1, 3)) * 0.75 - del x324 - x336 += einsum(t2.abab, (0, 1, 2, 3), x66, (1, 3, 4, 5), (4, 0, 5, 2)) * 0.16666666666666666 - x336 += einsum(t2.aaaa, (0, 1, 2, 3), x326, (4, 1, 5, 3), (4, 0, 5, 2)) * -1.0 - x336 += einsum(t1.aa, (0, 1), x335, (0, 2, 3, 4), (2, 4, 3, 1)) * -0.16666666666666666 - del x335 - x336 += einsum(t1.aa, (0, 1), x298, (2, 3), (2, 0, 3, 1)) * 0.08333333333333333 - del x298 - l1new_aa += einsum(v.aaaa.ovov, (0, 1, 2, 3), x336, (4, 2, 0, 1), (3, 4)) * 12.0 - del x336 - x337 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x337 += einsum(t1.aa, (0, 1), (0, 1)) * -0.5000000000000202 - x337 += einsum(x186, (0, 1), (0, 1)) * -0.5000000000000202 - del x186 - x337 += einsum(x187, (0, 1), (0, 1)) * -1.0000000000000404 - del x187 - x337 += einsum(x188, (0, 1), (0, 1)) * -0.5000000000000202 - del x188 - x337 += einsum(x189, (0, 1), (0, 1)) * -1.0000000000000404 - del x189 - x337 += einsum(x190, (0, 1), (0, 1)) * -1.5000000000000604 - del x190 - x337 += einsum(x191, (0, 1), (0, 1)) * 0.5000000000000002 - del x191 - x337 += einsum(x192, (0, 1), (0, 1)) - del x192 - x337 += einsum(x194, (0, 1), (0, 1)) * 1.4999999999999998 - del x194 - x337 += einsum(t2.abab, (0, 1, 2, 3), x66, (1, 3, 0, 4), (4, 2)) * 1.0000000000000404 - x337 += einsum(t2.aaaa, (0, 1, 2, 3), x198, (0, 1, 4, 3), (4, 2)) * -3.000000000000121 - del x198 - x337 += einsum(t1.aa, (0, 1), x205, (0, 2), (2, 1)) * 0.5000000000000202 - del x205 - l1new_aa += einsum(x337, (0, 1), x240, (0, 2, 1, 3), (3, 2)) * 1.9999999999999194 - del x337 - x338 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x338 += einsum(x179, (0, 1), (0, 1)) * 0.5 - del x179 - x338 += einsum(x180, (0, 1), (0, 1)) * 0.5 - x338 += einsum(x181, (0, 1), (0, 1)) - x338 += einsum(x182, (0, 1), (0, 1)) * 0.49999999999998007 - x339 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x339 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) - x339 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - l1new_aa += einsum(x338, (0, 1), x339, (2, 1, 0, 3), (3, 2)) * -2.0 - del x338 - l2new_abab += einsum(x100, (0, 1, 2, 3), x339, (4, 3, 2, 5), (5, 1, 4, 0)) * -2.0 - x340 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x340 += einsum(x160, (0, 1), (0, 1)) * 0.5 - del x160 - x340 += einsum(x161, (0, 1), (0, 1)) - x340 += einsum(x162, (0, 1), (0, 1)) * 0.5 - x340 += einsum(x163, (0, 1), (0, 1)) * 1.4999999999999394 - x340 += einsum(x164, (0, 1), (1, 0)) * 0.9999999999999597 - x340 += einsum(x211, (0, 1), (0, 1)) * 0.49999999999998007 - l1new_aa += einsum(x340, (0, 1), v.aabb.ovvv, (2, 3, 1, 0), (3, 2)) * 2.0 - del x340 - x341 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x341 += einsum(x175, (0, 1), (0, 1)) - x341 += einsum(x109, (0, 1), (0, 1)) * 2.0 - x341 += einsum(x110, (0, 1), (0, 1)) - x341 += einsum(x111, (0, 1), (0, 1)) * 2.9999999999998788 - x341 += einsum(x112, (0, 1), (0, 1)) * 1.9999999999999194 - x341 += einsum(x113, (0, 1), (0, 1)) * 0.9999999999999601 - l2new_abab += einsum(x341, (0, 1), v.aabb.ovov, (2, 3, 1, 4), (3, 4, 2, 0)) * -1.0 - x342 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x342 += einsum(l1.bb, (0, 1), (1, 0)) * -1.0 - x342 += einsum(t1.bb, (0, 1), (0, 1)) * -1.0 - x342 += einsum(x166, (0, 1), (0, 1)) * -2.0 - del x166 - x342 += einsum(x167, (0, 1), (0, 1)) * -1.0 - del x167 - x342 += einsum(x168, (0, 1), (0, 1)) * -3.0 - del x168 - x342 += einsum(x169, (0, 1), (0, 1)) * -2.0 - del x169 - x342 += einsum(x170, (0, 1), (0, 1)) * -1.0 - del x170 - x342 += einsum(x171, (0, 1), (0, 1)) * 2.9999999999998788 - del x171 - x342 += einsum(x172, (0, 1), (0, 1)) * 1.9999999999999194 - del x172 - x342 += einsum(x173, (0, 1), (0, 1)) * 0.9999999999999601 - del x173 - x342 += einsum(t2.bbbb, (0, 1, 2, 3), x137, (0, 1, 4, 3), (4, 2)) * -2.0 - x342 += einsum(t2.abab, (0, 1, 2, 3), x139, (1, 4, 0, 2), (4, 3)) * 2.0 - x342 += einsum(t1.bb, (0, 1), x341, (0, 2), (2, 1)) - l1new_aa += einsum(x342, (0, 1), v.aabb.ovov, (2, 3, 0, 1), (3, 2)) * -1.0 - del x342 - x343 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x343 += einsum(x102, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5000000000000202 - del x102 - x343 += einsum(x103, (0, 1, 2, 3), (0, 1, 2, 3)) - del x103 - x343 += einsum(x104, (0, 1, 2, 3), (0, 1, 2, 3)) - del x104 - x343 += einsum(t1.bb, (0, 1), x101, (2, 1, 3, 4), (0, 2, 3, 4)) * 0.5000000000000202 - x343 += einsum(t1.aa, (0, 1), x106, (2, 3, 4, 1), (3, 2, 4, 0)) * 1.0000000000000404 - l1new_aa += einsum(v.aabb.ovoo, (0, 1, 2, 3), x343, (3, 2, 4, 0), (1, 4)) * 1.9999999999999194 - del x343 - x344 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x344 += einsum(x183, (0, 1), (0, 1)) - x344 += einsum(x184, (0, 1), (0, 1)) * 1.4999999999999998 - l1new_aa += einsum(x344, (0, 1), x339, (2, 1, 0, 3), (3, 2)) * -1.9999999999999194 - del x344 - x345 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x345 += einsum(x331, (0, 1, 2, 3), (1, 0, 3, 2)) * -0.3333333333333333 - x345 += einsum(x332, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.33333333333332005 - x345 += einsum(t1.aa, (0, 1), x327, (2, 3, 4, 1), (0, 2, 3, 4)) * 0.3333333333333333 - l1new_aa += einsum(v.aaaa.ooov, (0, 1, 2, 3), x345, (0, 4, 1, 2), (3, 4)) * -6.0 - del x345 - x346 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x346 += einsum(t1.aa, (0, 1), x333, (2, 3, 4, 1), (2, 3, 0, 4)) * 0.3333333333333333 - l1new_aa += einsum(v.aaaa.ooov, (0, 1, 2, 3), x346, (4, 1, 2, 0), (3, 4)) * 6.0 - del x346 - x347 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x347 += einsum(x199, (0, 1), (0, 1)) * 0.3333333333333468 - x347 += einsum(x200, (0, 1), (0, 1)) * 0.3333333333333468 - x347 += einsum(x201, (0, 1), (0, 1)) * 0.6666666666666936 - x347 += einsum(x202, (0, 1), (0, 1)) * 0.33333333333333354 - x347 += einsum(x204, (0, 1), (0, 1)) - x348 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x348 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x348 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) - l1new_aa += einsum(x347, (0, 1), x348, (0, 2, 1, 3), (3, 2)) * -2.9999999999998788 - del x347 - l1new_aa += einsum(x203, (0, 1), x348, (0, 1, 2, 3), (3, 2)) * 1.9999999999999194 - l2new_abab += einsum(x348, (0, 1, 2, 3), x66, (4, 5, 0, 1), (3, 5, 2, 4)) * 2.0 - l3new_babbab += einsum(x348, (0, 1, 2, 3), x58, (4, 5, 6, 7, 0, 2), (6, 3, 7, 5, 1, 4)) * 2.0 - x349 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x349 += einsum(x175, (0, 1), (0, 1)) * 0.5 - del x175 - x349 += einsum(x109, (0, 1), (0, 1)) - del x109 - x349 += einsum(x110, (0, 1), (0, 1)) * 0.5 - del x110 - x349 += einsum(x111, (0, 1), (0, 1)) * 1.4999999999999394 - del x111 - x349 += einsum(x112, (0, 1), (1, 0)) * 0.9999999999999597 - del x112 - x349 += einsum(x113, (0, 1), (1, 0)) * 0.49999999999998007 - del x113 - l1new_aa += einsum(x349, (0, 1), v.aabb.ovoo, (2, 3, 1, 0), (3, 2)) * -2.0 - del x349 - x350 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x350 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) - x350 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - l1new_aa += einsum(l1.aa, (0, 1), x350, (1, 2, 0, 3), (3, 2)) * -1.0 - del x350 - x351 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x351 += einsum(t1.bb, (0, 1), v.aabb.vvov, (2, 3, 0, 1), (2, 3)) - x352 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x352 += einsum(f.aa.vv, (0, 1), (0, 1)) - x352 += einsum(x351, (0, 1), (1, 0)) - x352 += einsum(t1.aa, (0, 1), x235, (0, 1, 2, 3), (3, 2)) * -1.0 - l1new_aa += einsum(l1.aa, (0, 1), x352, (0, 2), (2, 1)) - del x352 - x353 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x353 += einsum(t1.bb, (0, 1), v.aabb.ooov, (2, 3, 0, 1), (2, 3)) - x354 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x354 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 1, 3), (0, 4)) - x355 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x355 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 2, 1, 3), (0, 4)) - x356 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x356 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x356 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) - x357 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x357 += einsum(t1.aa, (0, 1), x356, (2, 3, 0, 1), (2, 3)) - del x356 - x358 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x358 += einsum(t1.aa, (0, 1), x245, (2, 1), (0, 2)) - x359 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x359 += einsum(f.aa.oo, (0, 1), (0, 1)) - x359 += einsum(x353, (0, 1), (1, 0)) - x359 += einsum(x354, (0, 1), (0, 1)) - x359 += einsum(x355, (0, 1), (0, 1)) * 2.0 - x359 += einsum(x357, (0, 1), (1, 0)) * -1.0 - x359 += einsum(x358, (0, 1), (0, 1)) - del x358 - l1new_aa += einsum(l1.aa, (0, 1), x359, (1, 2), (0, 2)) * -1.0 - l2new_abab += einsum(x359, (0, 1), l2.abab, (2, 3, 0, 4), (2, 3, 1, 4)) * -1.0 - l3new_babbab += einsum(x359, (0, 1), l3.babbab, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) * -2.0 - del x359 - x360 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x360 += einsum(x199, (0, 1), (0, 1)) * 0.3333333333333468 - x360 += einsum(x200, (0, 1), (0, 1)) * 0.3333333333333468 - x360 += einsum(x201, (0, 1), (0, 1)) * 0.6666666666666936 - x360 += einsum(x202, (0, 1), (0, 1)) * 0.33333333333333354 - x360 += einsum(x203, (0, 1), (0, 1)) * 0.6666666666666667 - x360 += einsum(x204, (0, 1), (0, 1)) - l1new_aa += einsum(f.aa.ov, (0, 1), x360, (2, 0), (1, 2)) * -2.9999999999998788 - del x360 - x361 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x361 += einsum(x243, (0, 1), (0, 1)) - del x243 - x361 += einsum(x244, (0, 1), (0, 1)) * -1.0 - del x244 - l1new_aa += einsum(x199, (0, 1), x361, (1, 2), (2, 0)) * -1.0 - x362 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x362 += einsum(l1.aa, (0, 1), v.aaaa.ovvv, (2, 3, 4, 0), (1, 2, 3, 4)) - x363 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x363 += einsum(l2.abab, (0, 1, 2, 3), x238, (3, 1, 4, 5), (2, 4, 0, 5)) - x364 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x364 += einsum(x5, (0, 1, 2, 3), x93, (0, 1, 4, 5), (4, 2, 5, 3)) - x365 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x365 += einsum(x302, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.3333333333333333 - x365 += einsum(x228, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - l2new_abab += einsum(v.aabb.vvov, (0, 1, 2, 3), x365, (4, 5, 0, 1), (5, 3, 4, 2)) * 6.0 - x366 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x366 += einsum(x339, (0, 1, 2, 3), x365, (4, 2, 5, 1), (0, 4, 3, 5)) * 6.0 - del x365 - x367 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x367 += einsum(x196, (0, 1, 2, 3), (0, 1, 2, 3)) - del x196 - x367 += einsum(x197, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0000000000000004 - del x197 - x368 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x368 += einsum(t1.aa, (0, 1), x367, (2, 0, 3, 4), (2, 3, 1, 4)) * 0.22222222222223104 - del x367 - x369 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x369 += einsum(x282, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.11111111111111552 - x369 += einsum(x283, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.4444444444444621 - x369 += einsum(x284, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.11111111111111108 - x369 += einsum(x285, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.44444444444444453 - x369 += einsum(x286, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.22222222222223104 - x369 += einsum(x287, (0, 1, 2, 3), (0, 1, 2, 3)) - x369 += einsum(x288, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.6666666666666932 - x369 += einsum(x368, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x368 - x370 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x370 += einsum(x233, (0, 1, 2, 3), x369, (4, 0, 5, 3), (1, 4, 2, 5)) * 8.999999999999643 - del x369 - x371 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x371 += einsum(t1.bb, (0, 1), x106, (0, 2, 3, 4), (2, 1, 3, 4)) * 2.0 - x372 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x372 += einsum(l2.abab, (0, 1, 2, 3), (3, 1, 2, 0)) - x372 += einsum(x271, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x372 += einsum(x272, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x372 += einsum(x273, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.999999999999881 - x372 += einsum(x274, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - x372 += einsum(x275, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.999999999999842 - x372 += einsum(x276, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - x372 += einsum(x277, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.999999999999881 - x372 += einsum(x371, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x371 - x373 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x373 += einsum(v.aabb.ovov, (0, 1, 2, 3), x372, (2, 3, 4, 5), (0, 4, 1, 5)) - del x372 - x374 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x374 += einsum(v.aabb.ovvv, (0, 1, 2, 3), x297, (2, 3, 4, 5), (0, 4, 1, 5)) * 2.0 - x375 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x375 += einsum(t1.aa, (0, 1), x339, (2, 1, 3, 4), (0, 2, 3, 4)) - x376 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x376 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x376 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x376 += einsum(x375, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x375 - x377 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x377 += einsum(l2.aaaa, (0, 1, 2, 3), x376, (3, 4, 5, 1), (2, 4, 0, 5)) * 2.0 - del x376 - x378 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x378 += einsum(x327, (0, 1, 2, 3), x348, (1, 4, 2, 5), (0, 4, 3, 5)) * 2.0 - del x327 - x379 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x379 += einsum(x180, (0, 1), (0, 1)) - x379 += einsum(x181, (0, 1), (0, 1)) * 2.0 - x379 += einsum(x182, (0, 1), (0, 1)) * 0.9999999999999601 - x379 += einsum(x183, (0, 1), (0, 1)) * 1.9999999999999194 - x379 += einsum(x184, (0, 1), (0, 1)) * 2.9999999999998788 - x380 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x380 += einsum(x379, (0, 1), v.aaaa.ovov, (2, 1, 3, 4), (2, 3, 0, 4)) - del x379 - x381 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x381 += einsum(v.aabb.ovoo, (0, 1, 2, 3), x96, (2, 3, 4, 5), (0, 4, 1, 5)) - x382 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x382 += einsum(x230, (0, 1, 2, 3), (0, 1, 2, 3)) - x382 += einsum(x230, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x383 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x383 += einsum(x195, (0, 1, 2, 3), x382, (0, 4, 2, 5), (1, 4, 3, 5)) * 2.0 - x384 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x384 += einsum(x199, (0, 1), (0, 1)) - x384 += einsum(x200, (0, 1), (0, 1)) - x384 += einsum(x201, (0, 1), (0, 1)) * 2.0 - x384 += einsum(x202, (0, 1), (0, 1)) * 0.9999999999999601 - x384 += einsum(x203, (0, 1), (0, 1)) * 1.9999999999999194 - x384 += einsum(x204, (0, 1), (0, 1)) * 2.9999999999998788 - x385 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x385 += einsum(x384, (0, 1), v.aaaa.ovov, (2, 3, 1, 4), (0, 2, 4, 3)) - del x384 - x386 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x386 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x386 += einsum(x230, (0, 1, 2, 3), (0, 1, 2, 3)) - x387 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x387 += einsum(l1.aa, (0, 1), x386, (1, 2, 3, 4), (2, 3, 0, 4)) - x388 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x388 += einsum(f.aa.ov, (0, 1), l1.aa, (2, 3), (0, 3, 1, 2)) - x388 += einsum(x362, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x362 - x388 += einsum(x363, (0, 1, 2, 3), (0, 1, 2, 3)) - del x363 - x388 += einsum(x364, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x364 - x388 += einsum(x366, (0, 1, 2, 3), (1, 0, 3, 2)) - del x366 - x388 += einsum(x370, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x370 - x388 += einsum(x373, (0, 1, 2, 3), (1, 0, 3, 2)) - del x373 - x388 += einsum(x374, (0, 1, 2, 3), (1, 0, 3, 2)) - del x374 - x388 += einsum(x377, (0, 1, 2, 3), (0, 1, 2, 3)) - del x377 - x388 += einsum(x378, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x378 - x388 += einsum(x380, (0, 1, 2, 3), (1, 0, 2, 3)) - del x380 - x388 += einsum(x381, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x381 - x388 += einsum(x383, (0, 1, 2, 3), (0, 1, 2, 3)) - del x383 - x388 += einsum(x385, (0, 1, 2, 3), (0, 1, 3, 2)) - del x385 - x388 += einsum(x387, (0, 1, 2, 3), (0, 1, 2, 3)) - del x387 - x388 += einsum(l1.aa, (0, 1), x361, (2, 3), (1, 2, 0, 3)) - l2new_aaaa += einsum(x388, (0, 1, 2, 3), (2, 3, 0, 1)) - l2new_aaaa += einsum(x388, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - l2new_aaaa += einsum(x388, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 - l2new_aaaa += einsum(x388, (0, 1, 2, 3), (3, 2, 1, 0)) - del x388 - x389 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x389 += einsum(f.aa.ov, (0, 1), t1.aa, (2, 1), (0, 2)) - x390 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x390 += einsum(x389, (0, 1), l2.aaaa, (2, 3, 4, 1), (0, 4, 2, 3)) - x391 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x391 += einsum(l2.aaaa, (0, 1, 2, 3), x253, (2, 4, 3, 5), (4, 5, 0, 1)) - x392 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x392 += einsum(f.aa.ov, (0, 1), t2.abab, (2, 3, 1, 4), (3, 4, 0, 2)) - x393 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x393 += einsum(x392, (0, 1, 2, 3), l3.abaaba, (4, 1, 5, 6, 0, 3), (2, 6, 4, 5)) - del x392 - x394 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x394 += einsum(f.aa.ov, (0, 1), t2.aaaa, (2, 3, 4, 1), (0, 2, 3, 4)) - x395 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x395 += einsum(x394, (0, 1, 2, 3), l3.aaaaaa, (4, 5, 3, 6, 1, 2), (0, 6, 4, 5)) * -1.0 - del x394 - x396 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x396 += einsum(x361, (0, 1), t2.abab, (2, 3, 1, 4), (3, 4, 2, 0)) - x397 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x397 += einsum(v.aabb.ooov, (0, 1, 2, 3), (2, 3, 0, 1)) - x397 += einsum(x7, (0, 1, 2, 3), (0, 1, 2, 3)) - x397 += einsum(x304, (0, 1, 2, 3), (0, 1, 2, 3)) - x397 += einsum(x305, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.999999999999921 - x397 += einsum(x306, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.99999999999992 - x397 += einsum(x307, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x397 += einsum(x308, (0, 1, 2, 3), (0, 1, 3, 2)) - x397 += einsum(x309, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x397 += einsum(x396, (0, 1, 2, 3), (0, 1, 2, 3)) - del x396 - x397 += einsum(x312, (0, 1, 2, 3), (0, 1, 3, 2)) - x397 += einsum(x313, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x398 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x398 += einsum(x397, (0, 1, 2, 3), l3.abaaba, (4, 1, 5, 6, 0, 2), (6, 3, 4, 5)) * -2.0 - del x397 - x399 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x399 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x399 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x399 += einsum(x230, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x399 += einsum(x230, (0, 1, 2, 3), (0, 2, 1, 3)) - x400 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x400 += einsum(t2.aaaa, (0, 1, 2, 3), x399, (4, 1, 5, 3), (0, 4, 5, 2)) * 2.0 - del x399 - x401 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x401 += einsum(t2.abab, (0, 1, 2, 3), x8, (1, 3, 4, 5), (0, 4, 5, 2)) - x402 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x402 += einsum(x361, (0, 1), t2.aaaa, (2, 3, 4, 1), (2, 3, 0, 4)) * -1.0 - x403 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x403 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x403 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x403 += einsum(x318, (0, 1, 2, 3), (1, 0, 2, 3)) - del x318 - x404 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x404 += einsum(t1.aa, (0, 1), x403, (2, 3, 1, 4), (0, 2, 3, 4)) - del x403 - x405 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x405 += einsum(v.aaaa.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x405 += einsum(x251, (0, 1, 2, 3), (3, 1, 0, 2)) - x405 += einsum(x252, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - x405 += einsum(x253, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - x405 += einsum(x253, (0, 1, 2, 3), (3, 0, 2, 1)) - x406 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x406 += einsum(t1.aa, (0, 1), x405, (0, 2, 3, 4), (2, 3, 4, 1)) - del x405 - x407 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x407 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x407 += einsum(x315, (0, 1, 2, 3), (1, 0, 2, 3)) - x407 += einsum(x316, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.9999999999999606 - x407 += einsum(x317, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.999999999999881 - x407 += einsum(x400, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x400 - x407 += einsum(x401, (0, 1, 2, 3), (0, 2, 1, 3)) - del x401 - x407 += einsum(x402, (0, 1, 2, 3), (1, 0, 2, 3)) - del x402 - x407 += einsum(x404, (0, 1, 2, 3), (2, 0, 1, 3)) - del x404 - x407 += einsum(x406, (0, 1, 2, 3), (1, 0, 2, 3)) - del x406 - x408 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x408 += einsum(x407, (0, 1, 2, 3), l3.aaaaaa, (4, 5, 3, 6, 0, 1), (6, 2, 4, 5)) * -6.0 - del x407 - x409 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x409 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x409 += einsum(x230, (0, 1, 2, 3), (0, 2, 1, 3)) - x410 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x410 += einsum(x302, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x302 - x410 += einsum(x228, (0, 1, 2, 3), (0, 2, 1, 3)) * -3.0 - del x228 - x411 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x411 += einsum(x409, (0, 1, 2, 3), x410, (0, 4, 5, 3), (1, 2, 4, 5)) * 2.0 - del x409 - x412 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x412 += einsum(t1.aa, (0, 1), x361, (2, 1), (0, 2)) - x413 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x413 += einsum(x353, (0, 1), (1, 0)) - del x353 - x413 += einsum(x354, (0, 1), (0, 1)) - del x354 - x413 += einsum(x355, (0, 1), (0, 1)) * 2.0 - del x355 - x413 += einsum(x357, (0, 1), (1, 0)) * -1.0 - del x357 - x413 += einsum(x412, (0, 1), (0, 1)) - del x412 - x414 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x414 += einsum(x413, (0, 1), l2.aaaa, (2, 3, 4, 0), (4, 1, 2, 3)) * -2.0 - x415 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x415 += einsum(x390, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - del x390 - x415 += einsum(x391, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - del x391 - x415 += einsum(x393, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - del x393 - x415 += einsum(x395, (0, 1, 2, 3), (0, 1, 3, 2)) * 6.0 - del x395 - x415 += einsum(x398, (0, 1, 2, 3), (0, 1, 3, 2)) - del x398 - x415 += einsum(x408, (0, 1, 2, 3), (0, 1, 2, 3)) - del x408 - x415 += einsum(x411, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x411 - x415 += einsum(x414, (0, 1, 2, 3), (0, 1, 3, 2)) - del x414 - l2new_aaaa += einsum(x415, (0, 1, 2, 3), (3, 2, 0, 1)) - l2new_aaaa += einsum(x415, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 - del x415 - x416 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x416 += einsum(f.aa.vv, (0, 1), l2.aaaa, (2, 1, 3, 4), (3, 4, 0, 2)) - x417 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x417 += einsum(x22, (0, 1, 2, 3), x91, (0, 1, 4, 5, 6, 3), (4, 5, 6, 2)) - x418 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x418 += einsum(t1.bb, (0, 1), v.aabb.vvvv, (2, 3, 4, 1), (0, 4, 2, 3)) - x419 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x419 += einsum(t2.bbbb, (0, 1, 2, 3), v.aabb.vvov, (4, 5, 1, 3), (0, 2, 4, 5)) - x420 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x420 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovvv, (0, 4, 5, 3), (1, 5, 2, 4)) - x421 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x421 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.babbab, (4, 0, 2, 5, 6, 3), (4, 5, 6, 1)) - x422 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x422 += einsum(v.aaaa.ovov, (0, 1, 2, 3), t3.abaaba, (0, 4, 2, 5, 6, 1), (4, 6, 5, 3)) * -1.0 - x423 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x423 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x423 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 2, 3, 1)) - x424 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x424 += einsum(t2.abab, (0, 1, 2, 3), x423, (0, 2, 4, 5), (1, 3, 4, 5)) - del x423 - x425 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x425 += einsum(t2.abab, (0, 1, 2, 3), x39, (1, 4, 0, 5), (4, 3, 2, 5)) - x426 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x426 += einsum(v.aabb.vvov, (0, 1, 2, 3), (2, 3, 0, 1)) - x426 += einsum(x418, (0, 1, 2, 3), (0, 1, 3, 2)) - x426 += einsum(x419, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - x426 += einsum(x420, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x426 += einsum(x421, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.999999999999921 - x426 += einsum(x422, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.99999999999992 - x426 += einsum(x424, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x424 - x426 += einsum(x425, (0, 1, 2, 3), (0, 1, 3, 2)) - x427 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x427 += einsum(x426, (0, 1, 2, 3), l3.abaaba, (4, 1, 3, 5, 0, 6), (5, 6, 4, 2)) * -2.0 - del x426 - x428 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x428 += einsum(t1.aa, (0, 1), v.aaaa.vvvv, (2, 3, 4, 1), (0, 2, 3, 4)) - x429 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x429 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.vvov, (4, 5, 1, 3), (0, 2, 4, 5)) - x430 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x430 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.abaaba, (4, 2, 0, 5, 3, 6), (4, 5, 6, 1)) - x431 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x431 += einsum(v.aaaa.ovov, (0, 1, 2, 3), t3.aaaaaa, (4, 0, 2, 5, 6, 3), (4, 5, 6, 1)) - x432 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x432 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) - x432 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x433 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x433 += einsum(t2.aaaa, (0, 1, 2, 3), x432, (1, 3, 4, 5), (0, 2, 4, 5)) * 2.0 - x434 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x434 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x434 += einsum(x230, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x435 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x435 += einsum(t2.aaaa, (0, 1, 2, 3), x434, (0, 4, 1, 5), (4, 2, 3, 5)) - x436 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x436 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x436 += einsum(x428, (0, 1, 2, 3), (0, 2, 3, 1)) - x436 += einsum(x429, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x436 += einsum(x430, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.9999999999999606 - x436 += einsum(x431, (0, 1, 2, 3), (0, 2, 1, 3)) * -2.999999999999881 - x436 += einsum(x433, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x433 - x436 += einsum(x435, (0, 1, 2, 3), (0, 2, 1, 3)) - del x435 - x437 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x437 += einsum(x436, (0, 1, 2, 3), l3.aaaaaa, (4, 1, 2, 5, 6, 0), (5, 6, 4, 3)) * -6.0 - del x436 - x438 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x438 += einsum(t1.bb, (0, 1), x39, (0, 2, 3, 4), (2, 1, 3, 4)) - x439 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x439 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) - x439 += einsum(x238, (0, 1, 2, 3), (0, 1, 2, 3)) - x439 += einsum(x239, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x439 += einsum(x241, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x241 - x439 += einsum(x438, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x438 - l2new_abab += einsum(x439, (0, 1, 2, 3), x58, (0, 4, 5, 1, 6, 2), (3, 5, 6, 4)) * 2.0 - x440 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x440 += einsum(x439, (0, 1, 2, 3), x61, (0, 1, 4, 5, 2, 6), (4, 5, 6, 3)) * 2.0 - del x439 - x441 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x441 += einsum(t1.aa, (0, 1), v.aaaa.ooov, (2, 0, 3, 4), (2, 3, 1, 4)) - x442 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x442 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x442 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x442 += einsum(x441, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x441 - x442 += einsum(x232, (0, 1, 2, 3), (0, 1, 2, 3)) - x442 += einsum(x234, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x443 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x443 += einsum(x442, (0, 1, 2, 3), x193, (4, 5, 0, 1, 2, 6), (4, 5, 6, 3)) * 6.0 - del x442 - x444 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x444 += einsum(t1.aa, (0, 1), x230, (2, 3, 0, 4), (2, 3, 1, 4)) - x445 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x445 += einsum(t1.aa, (0, 1), x235, (2, 1, 3, 4), (0, 2, 3, 4)) - x446 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x446 += einsum(x444, (0, 1, 2, 3), (0, 1, 2, 3)) - del x444 - x446 += einsum(x445, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - l2new_abab += einsum(x446, (0, 1, 2, 3), x61, (4, 5, 0, 6, 1, 2), (3, 5, 6, 4)) * 2.0 - x447 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x447 += einsum(x446, (0, 1, 2, 3), x193, (4, 5, 0, 1, 2, 6), (4, 5, 6, 3)) * 6.0 - del x446 - x448 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x448 += einsum(v.aabb.vvoo, (0, 1, 2, 3), (2, 3, 0, 1)) - x448 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - l2new_abab += einsum(x448, (0, 1, 2, 3), x74, (0, 4, 1, 5, 6, 2), (3, 5, 6, 4)) * 2.0 - x449 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x449 += einsum(x448, (0, 1, 2, 3), x91, (0, 1, 4, 5, 2, 6), (4, 5, 6, 3)) * 2.0 - del x448 - x450 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x450 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), x326, (4, 5, 0, 3), (4, 5, 1, 2)) * 6.0 - x451 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x451 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 4, 1, 3), (2, 4)) - x452 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x452 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (0, 3, 1, 4), (2, 4)) * -1.0 - x453 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x453 += einsum(t1.aa, (0, 1), x339, (0, 1, 2, 3), (2, 3)) - del x339 - x454 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x454 += einsum(x351, (0, 1), (1, 0)) * -1.0 - x454 += einsum(x451, (0, 1), (1, 0)) - x454 += einsum(x452, (0, 1), (1, 0)) * 2.0 - x454 += einsum(x453, (0, 1), (1, 0)) * -1.0 - del x453 - x455 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x455 += einsum(x454, (0, 1), l2.aaaa, (2, 1, 3, 4), (3, 4, 2, 0)) * -2.0 - x456 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x456 += einsum(v.aaaa.ovov, (0, 1, 2, 3), x334, (0, 4, 5, 2), (4, 5, 3, 1)) * 2.0 - del x334 - x457 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x457 += einsum(x361, (0, 1), x289, (2, 3, 0, 4), (2, 3, 4, 1)) * 2.0 - x458 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x458 += einsum(f.aa.ov, (0, 1), x300, (2, 3, 0, 4), (2, 3, 4, 1)) * 6.0 - del x300 - x459 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x459 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x459 += einsum(x416, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - del x416 - x459 += einsum(x417, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - del x417 - x459 += einsum(x427, (0, 1, 2, 3), (1, 0, 3, 2)) - del x427 - x459 += einsum(x437, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x437 - x459 += einsum(x440, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x440 - x459 += einsum(x443, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x443 - x459 += einsum(x447, (0, 1, 2, 3), (0, 1, 3, 2)) - del x447 - x459 += einsum(x449, (0, 1, 2, 3), (0, 1, 3, 2)) - del x449 - x459 += einsum(x450, (0, 1, 2, 3), (0, 1, 3, 2)) - del x450 - x459 += einsum(x455, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x455 - x459 += einsum(x456, (0, 1, 2, 3), (0, 1, 2, 3)) - del x456 - x459 += einsum(x457, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x457 - x459 += einsum(x458, (0, 1, 2, 3), (1, 0, 2, 3)) - del x458 - l2new_aaaa += einsum(x459, (0, 1, 2, 3), (3, 2, 0, 1)) - l2new_aaaa += einsum(x459, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 - del x459 - x460 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x460 += einsum(f.aa.oo, (0, 1), l2.aaaa, (2, 3, 4, 1), (0, 4, 2, 3)) - l2new_aaaa += einsum(x460, (0, 1, 2, 3), (3, 2, 0, 1)) * -2.0 - l2new_aaaa += einsum(x460, (0, 1, 2, 3), (3, 2, 1, 0)) * 2.0 - del x460 - x461 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x461 += einsum(x331, (0, 1, 2, 3), (1, 0, 3, 2)) * -0.3333333333333468 - del x331 - x461 += einsum(t1.aa, (0, 1), x195, (2, 3, 4, 1), (2, 3, 4, 0)) * 0.3333333333333468 - del x195 - x461 += einsum(x332, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.33333333333333354 - del x332 - x461 += einsum(x229, (0, 1, 2, 3), (0, 1, 3, 2)) - del x229 - l2new_aaaa += einsum(v.aaaa.ovov, (0, 1, 2, 3), x461, (4, 5, 0, 2), (3, 1, 5, 4)) * -5.9999999999997575 - del x461 - x462 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x462 += einsum(v.aaaa.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x462 += einsum(x251, (0, 1, 2, 3), (1, 3, 0, 2)) * -1.0 - x462 += einsum(x252, (0, 1, 2, 3), (0, 3, 1, 2)) - l2new_aaaa += einsum(l2.aaaa, (0, 1, 2, 3), x462, (2, 4, 3, 5), (0, 1, 4, 5)) * -2.0 - x463 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x463 += einsum(t1.aa, (0, 1), v.aabb.vvvv, (2, 1, 3, 4), (3, 4, 0, 2)) - x464 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x464 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.vvov, (4, 2, 1, 5), (3, 5, 0, 4)) - x465 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x465 += einsum(t2.aaaa, (0, 1, 2, 3), v.aabb.ovvv, (1, 3, 4, 5), (4, 5, 0, 2)) - x466 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x466 += einsum(v.bbbb.ovov, (0, 1, 2, 3), t3.babbab, (0, 4, 2, 5, 6, 3), (5, 1, 4, 6)) - x467 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x467 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.abaaba, (4, 2, 0, 5, 6, 1), (6, 3, 4, 5)) - x468 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x468 += einsum(t2.abab, (0, 1, 2, 3), x217, (1, 4, 3, 5), (4, 5, 0, 2)) - x469 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x469 += einsum(t2.abab, (0, 1, 2, 3), x8, (1, 4, 0, 5), (3, 4, 5, 2)) - x470 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x470 += einsum(v.aabb.ovvv, (0, 1, 2, 3), (2, 3, 0, 1)) - x470 += einsum(x463, (0, 1, 2, 3), (1, 0, 2, 3)) - x470 += einsum(x464, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x470 += einsum(x465, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 - x470 += einsum(x466, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.99999999999992 - x470 += einsum(x467, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.999999999999921 - x470 += einsum(x468, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x470 += einsum(x469, (0, 1, 2, 3), (0, 1, 2, 3)) - l2new_abab += einsum(x470, (0, 1, 2, 3), l3.abaaba, (4, 0, 3, 5, 6, 2), (4, 1, 5, 6)) * 2.0 - del x470 - x471 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x471 += einsum(v.aabb.vvov, (0, 1, 2, 3), (2, 3, 0, 1)) - x471 += einsum(x418, (0, 1, 2, 3), (0, 1, 3, 2)) - del x418 - x471 += einsum(x419, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - del x419 - x471 += einsum(x420, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x420 - x471 += einsum(x421, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.999999999999921 - del x421 - x471 += einsum(x422, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.99999999999992 - del x422 - x471 += einsum(t2.abab, (0, 1, 2, 3), x235, (0, 2, 4, 5), (1, 3, 5, 4)) * -1.0 - x471 += einsum(x425, (0, 1, 2, 3), (0, 1, 2, 3)) - del x425 - l2new_abab += einsum(x471, (0, 1, 2, 3), l3.babbab, (4, 2, 1, 5, 6, 0), (3, 4, 6, 5)) * 2.0 - del x471 - x472 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x472 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) * 0.5 - x472 += einsum(x428, (0, 1, 2, 3), (0, 3, 2, 1)) * -0.5 - del x428 - x472 += einsum(x429, (0, 1, 2, 3), (0, 1, 3, 2)) * -0.5 - del x429 - x472 += einsum(x430, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.49999999999998 - del x430 - x472 += einsum(x431, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.4999999999999405 - del x431 - x472 += einsum(t2.aaaa, (0, 1, 2, 3), x432, (1, 3, 4, 5), (0, 2, 5, 4)) * -1.0 - del x432 - x472 += einsum(t2.aaaa, (0, 1, 2, 3), x434, (0, 4, 1, 5), (4, 2, 3, 5)) * -0.5 - del x434 - l2new_abab += einsum(x472, (0, 1, 2, 3), l3.abaaba, (1, 4, 2, 5, 6, 0), (3, 4, 5, 6)) * 4.0 - del x472 - x473 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x473 += einsum(t1.bb, (0, 1), v.bbbb.vvvv, (2, 3, 4, 1), (0, 2, 3, 4)) - x474 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x474 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovvv, (0, 2, 4, 5), (1, 3, 4, 5)) - x475 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x475 += einsum(v.bbbb.ovov, (0, 1, 2, 3), t3.bbbbbb, (4, 0, 2, 5, 6, 3), (4, 5, 6, 1)) - x476 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x476 += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.babbab, (4, 0, 2, 5, 1, 6), (4, 5, 6, 3)) - x477 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x477 += einsum(t2.bbbb, (0, 1, 2, 3), x217, (1, 3, 4, 5), (0, 2, 4, 5)) * 2.0 - x478 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x478 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x478 += einsum(x3, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x479 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x479 += einsum(t2.bbbb, (0, 1, 2, 3), x478, (0, 4, 1, 5), (4, 2, 3, 5)) * -1.0 - del x478 - x480 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x480 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x480 += einsum(x473, (0, 1, 2, 3), (0, 2, 3, 1)) - x480 += einsum(x474, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x480 += einsum(x475, (0, 1, 2, 3), (0, 2, 1, 3)) * -2.999999999999881 - x480 += einsum(x476, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.99999999999996 - x480 += einsum(x477, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x480 += einsum(x479, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - l2new_abab += einsum(x480, (0, 1, 2, 3), l3.babbab, (1, 4, 2, 5, 6, 0), (4, 3, 6, 5)) * 2.0 - del x480 - x481 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x481 += einsum(v.aabb.ooov, (0, 1, 2, 3), (2, 3, 0, 1)) - x481 += einsum(x7, (0, 1, 2, 3), (0, 1, 2, 3)) - x481 += einsum(x304, (0, 1, 2, 3), (0, 1, 2, 3)) - del x304 - x481 += einsum(x305, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.999999999999921 - del x305 - x481 += einsum(x306, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.99999999999992 - del x306 - x481 += einsum(x307, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x307 - x481 += einsum(x308, (0, 1, 2, 3), (0, 1, 3, 2)) - del x308 - x481 += einsum(x309, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x309 - x481 += einsum(x310, (0, 1, 2, 3), (0, 1, 2, 3)) - del x310 - x481 += einsum(x312, (0, 1, 2, 3), (0, 1, 3, 2)) - del x312 - x481 += einsum(x313, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x313 - l2new_abab += einsum(x481, (0, 1, 2, 3), l3.babbab, (4, 5, 1, 6, 2, 0), (5, 4, 3, 6)) * -2.0 - del x481 - x482 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x482 += einsum(v.aabb.ovoo, (0, 1, 2, 3), (2, 3, 0, 1)) * 0.5 - x482 += einsum(x118, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.5 - x482 += einsum(x119, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - x482 += einsum(x120, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.99999999999996 - x482 += einsum(x121, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.9999999999999605 - x482 += einsum(t2.abab, (0, 1, 2, 3), x122, (4, 5, 1, 3), (5, 4, 0, 2)) * -0.5 - del x122 - x482 += einsum(t2.aaaa, (0, 1, 2, 3), x39, (4, 5, 1, 3), (5, 4, 0, 2)) - x482 += einsum(t2.abab, (0, 1, 2, 3), x8, (4, 3, 0, 5), (1, 4, 5, 2)) * -0.5 - x482 += einsum(x21, (0, 1), t2.abab, (2, 3, 4, 1), (3, 0, 2, 4)) * 0.5 - del x21 - x482 += einsum(t1.bb, (0, 1), x126, (2, 1, 3, 4), (0, 2, 3, 4)) * 0.5 - del x126 - x482 += einsum(t1.aa, (0, 1), x128, (2, 3, 0, 4), (3, 2, 4, 1)) * -0.5 - del x128 - l2new_abab += einsum(x482, (0, 1, 2, 3), l3.abaaba, (4, 5, 3, 6, 0, 2), (4, 5, 6, 1)) * -4.0 - del x482 - x483 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x483 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * 0.3333333333333466 - x483 += einsum(x315, (0, 1, 2, 3), (2, 1, 0, 3)) * 0.3333333333333466 - del x315 - x483 += einsum(x316, (0, 1, 2, 3), (2, 1, 0, 3)) * -0.33333333333333326 - del x316 - x483 += einsum(x317, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - del x317 - x483 += einsum(t2.aaaa, (0, 1, 2, 3), x231, (4, 5, 1, 3), (5, 0, 4, 2)) * -0.6666666666666932 - del x231 - x483 += einsum(t2.abab, (0, 1, 2, 3), x31, (1, 3, 4, 5), (5, 0, 4, 2)) * 0.3333333333333466 - x483 += einsum(x245, (0, 1), t2.aaaa, (2, 3, 4, 1), (0, 2, 3, 4)) * 0.3333333333333466 - del x245 - x483 += einsum(t1.aa, (0, 1), x319, (2, 3, 1, 4), (3, 2, 0, 4)) * 0.3333333333333466 - del x319 - x483 += einsum(t1.aa, (0, 1), x254, (0, 2, 3, 4), (3, 2, 4, 1)) * -0.3333333333333466 - del x254 - l2new_abab += einsum(x483, (0, 1, 2, 3), l3.abaaba, (4, 5, 3, 1, 6, 2), (4, 5, 0, 6)) * 5.999999999999762 - del x483 - x484 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x484 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x484 += einsum(x146, (0, 1, 2, 3), (2, 1, 0, 3)) - x484 += einsum(x147, (0, 1, 2, 3), (2, 1, 0, 3)) * -2.999999999999881 - x484 += einsum(x148, (0, 1, 2, 3), (2, 1, 0, 3)) * -0.99999999999996 - x484 += einsum(x149, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - x484 += einsum(x150, (0, 1, 2, 3), (2, 0, 1, 3)) - del x150 - x484 += einsum(x151, (0, 1, 2, 3), (2, 1, 0, 3)) - del x151 - x484 += einsum(x154, (0, 1, 2, 3), (2, 1, 0, 3)) - del x154 - x484 += einsum(x155, (0, 1, 2, 3), (1, 2, 0, 3)) - del x155 - l2new_abab += einsum(x484, (0, 1, 2, 3), l3.babbab, (4, 5, 3, 1, 6, 2), (5, 4, 6, 0)) * 2.0 - del x484 - x485 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x485 += einsum(t1.aa, (0, 1), x8, (2, 3, 0, 4), (2, 3, 4, 1)) - del x8 - x486 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x486 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) - x486 += einsum(x15, (0, 1, 2, 3), (0, 1, 2, 3)) - x486 += einsum(x16, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x486 += einsum(x17, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x17 - x486 += einsum(x485, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x485 - l2new_abab += einsum(x486, (0, 1, 2, 3), x91, (4, 0, 2, 5, 6, 3), (6, 1, 5, 4)) * 2.0 - x487 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x487 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x487 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x487 += einsum(t1.aa, (0, 1), v.aaaa.ooov, (2, 3, 0, 4), (2, 3, 1, 4)) - x487 += einsum(x232, (0, 1, 2, 3), (0, 1, 2, 3)) - x487 += einsum(x234, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x234 - l2new_abab += einsum(x487, (0, 1, 2, 3), x61, (4, 5, 0, 6, 1, 2), (3, 5, 6, 4)) * -2.0 - del x487 - x488 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x488 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x488 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x488 += einsum(t1.bb, (0, 1), v.bbbb.ooov, (2, 3, 0, 4), (2, 3, 1, 4)) - x488 += einsum(x9, (0, 1, 2, 3), (0, 1, 2, 3)) - x488 += einsum(x11, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - l2new_abab += einsum(x488, (0, 1, 2, 3), x74, (0, 4, 1, 2, 5, 6), (6, 3, 5, 4)) * -2.0 - del x488 - x489 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x489 += einsum(t1.bb, (0, 1), x12, (2, 1, 3, 4), (0, 2, 3, 4)) - x490 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x490 += einsum(t1.bb, (0, 1), x3, (2, 3, 0, 4), (2, 3, 1, 4)) - x490 += einsum(x489, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - l2new_abab += einsum(x490, (0, 1, 2, 3), x74, (0, 4, 1, 2, 5, 6), (6, 3, 5, 4)) * 2.0 - del x490 - x491 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x491 += einsum(x271, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5000000000000198 - del x271 - x491 += einsum(x272, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5000000000000198 - del x272 - x491 += einsum(x273, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.7499999999999999 - del x273 - x491 += einsum(x274, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5000000000000198 - del x274 - x491 += einsum(x275, (0, 1, 2, 3), (0, 1, 2, 3)) - del x275 - x491 += einsum(x276, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5000000000000198 - del x276 - x491 += einsum(x277, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.7499999999999999 - del x277 - x491 += einsum(t1.bb, (0, 1), x106, (0, 2, 3, 4), (2, 1, 3, 4)) * -0.5000000000000198 - l2new_abab += einsum(x10, (0, 1, 2, 3), x491, (0, 2, 4, 5), (5, 3, 4, 1)) * -3.999999999999842 - del x491 - x492 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x492 += einsum(v.aabb.oovv, (0, 1, 2, 3), (2, 3, 0, 1)) - x492 += einsum(x247, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - l2new_abab += einsum(x492, (0, 1, 2, 3), x61, (4, 0, 2, 5, 3, 6), (6, 1, 5, 4)) * 2.0 - x493 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x493 += einsum(l2.aaaa, (0, 1, 2, 3), (2, 3, 0, 1)) - x493 += einsum(x282, (0, 1, 2, 3), (1, 0, 3, 2)) * 0.5 - del x282 - x493 += einsum(x283, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - del x283 - x493 += einsum(x284, (0, 1, 2, 3), (1, 0, 3, 2)) * 0.49999999999998 - del x284 - x493 += einsum(x285, (0, 1, 2, 3), (1, 0, 3, 2)) * 1.999999999999921 - del x285 - x493 += einsum(x286, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x286 - x493 += einsum(x287, (0, 1, 2, 3), (1, 0, 3, 2)) * 4.4999999999998215 - del x287 - x493 += einsum(x288, (0, 1, 2, 3), (1, 0, 3, 2)) * -3.0 - del x288 - x493 += einsum(t1.aa, (0, 1), x333, (0, 2, 3, 4), (3, 2, 1, 4)) - del x333 - l2new_abab += einsum(v.aabb.ovov, (0, 1, 2, 3), x493, (0, 4, 1, 5), (5, 3, 4, 2)) * 2.0 - del x493 - x494 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x494 += einsum(x64, (0, 1, 2, 3), (0, 1, 2, 3)) - del x64 - x494 += einsum(x65, (0, 1, 2, 3), (0, 1, 2, 3)) - del x65 - x495 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x495 += einsum(t1.aa, (0, 1), x494, (2, 3, 0, 4), (2, 3, 4, 1)) * 2.0 - x496 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x496 += einsum(l2.abab, (0, 1, 2, 3), (3, 1, 2, 0)) - x496 += einsum(x54, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x496 += einsum(x55, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x496 += einsum(x56, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.999999999999881 - x496 += einsum(x57, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.999999999999842 - x496 += einsum(x59, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - x496 += einsum(x60, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.999999999999881 - x496 += einsum(x62, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - x496 += einsum(x495, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x495 - l2new_abab += einsum(v.aaaa.ovov, (0, 1, 2, 3), x496, (4, 5, 2, 3), (1, 5, 0, 4)) - x497 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x497 += einsum(l2.bbbb, (0, 1, 2, 3), (2, 3, 0, 1)) * 2.0 - x497 += einsum(x81, (0, 1, 2, 3), (1, 0, 3, 2)) * 4.0 - x497 += einsum(x82, (0, 1, 2, 3), (1, 0, 3, 2)) - x497 += einsum(x83, (0, 1, 2, 3), (1, 0, 3, 2)) * 8.999999999999643 - x497 += einsum(x73, (0, 1, 2, 3), (1, 0, 3, 2)) * -6.0 - x497 += einsum(x84, (0, 1, 2, 3), (1, 0, 3, 2)) * 3.999999999999842 - x497 += einsum(x75, (0, 1, 2, 3), (1, 0, 3, 2)) * -2.0 - x497 += einsum(x85, (0, 1, 2, 3), (1, 0, 3, 2)) * 0.99999999999996 - x497 += einsum(t1.bb, (0, 1), x157, (0, 2, 3, 4), (3, 2, 1, 4)) * 6.0 - l2new_abab += einsum(v.aabb.ovov, (0, 1, 2, 3), x497, (2, 4, 3, 5), (1, 5, 0, 4)) - del x497 - x498 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x498 += einsum(x54, (0, 1, 2, 3), (0, 1, 2, 3)) - del x54 - x498 += einsum(x55, (0, 1, 2, 3), (0, 1, 2, 3)) - del x55 - x498 += einsum(x56, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.4999999999999405 - del x56 - x498 += einsum(x57, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.999999999999921 - del x57 - x498 += einsum(x59, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x59 - x498 += einsum(x60, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.4999999999999405 - del x60 - x498 += einsum(x62, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x62 - x498 += einsum(t1.aa, (0, 1), x494, (2, 3, 0, 4), (2, 3, 4, 1)) * -1.0 - l2new_abab += einsum(v.aaaa.ovov, (0, 1, 2, 3), x498, (4, 5, 2, 1), (3, 5, 0, 4)) * -2.0 - del x498 - x499 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x499 += einsum(x0, (0, 1, 2, 3), (0, 2, 1, 3)) * -3.0 - x499 += einsum(x116, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - l2new_abab += einsum(v.aabb.ovvv, (0, 1, 2, 3), x499, (4, 5, 2, 3), (1, 5, 0, 4)) * 2.0 - x500 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x500 += einsum(x291, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - del x291 - x500 += einsum(x292, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.99999999999996 - del x292 - x500 += einsum(x293, (0, 1, 2, 3), (0, 1, 2, 3)) - del x293 - x500 += einsum(x294, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.99999999999996 - del x294 - x500 += einsum(x295, (0, 1, 2, 3), (0, 1, 2, 3)) - del x295 - x500 += einsum(t1.bb, (0, 1), x494, (0, 2, 3, 4), (2, 1, 3, 4)) - del x494 - l2new_abab += einsum(v.aabb.ovov, (0, 1, 2, 3), x500, (4, 3, 5, 0), (1, 4, 5, 2)) * 2.0 - del x500 - x501 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x501 += einsum(x87, (0, 1, 2, 3), (0, 1, 2, 3)) - del x87 - x501 += einsum(x88, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.99999999999992 - del x88 - x501 += einsum(x89, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x89 - x501 += einsum(x90, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.99999999999992 - del x90 - x501 += einsum(x92, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x92 - x501 += einsum(t1.aa, (0, 1), x106, (2, 3, 0, 4), (2, 3, 4, 1)) * 2.0 - del x106 - l2new_abab += einsum(v.aabb.ovov, (0, 1, 2, 3), x501, (4, 2, 5, 1), (5, 3, 0, 4)) - del x501 - x502 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x502 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) - x502 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x502 += einsum(x489, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x489 - l2new_abab += einsum(l2.abab, (0, 1, 2, 3), x502, (3, 4, 1, 5), (0, 5, 2, 4)) * -1.0 - del x502 - x503 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x503 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) - x503 += einsum(x445, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x445 - l2new_abab += einsum(l2.abab, (0, 1, 2, 3), x503, (2, 4, 0, 5), (5, 1, 4, 3)) * -1.0 - del x503 - x504 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x504 += einsum(v.aabb.oovv, (0, 1, 2, 3), (2, 3, 0, 1)) - x504 += einsum(x246, (0, 1, 2, 3), (1, 0, 2, 3)) - l2new_abab += einsum(l2.abab, (0, 1, 2, 3), x504, (1, 4, 2, 5), (0, 4, 5, 3)) * -1.0 - del x504 - x505 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x505 += einsum(v.aabb.vvoo, (0, 1, 2, 3), (2, 3, 0, 1)) - x505 += einsum(x22, (0, 1, 2, 3), (0, 1, 3, 2)) - l2new_abab += einsum(l2.abab, (0, 1, 2, 3), x505, (3, 4, 0, 5), (5, 1, 2, 4)) * -1.0 - del x505 - x506 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x506 += einsum(v.aabb.oooo, (0, 1, 2, 3), (2, 3, 0, 1)) - x506 += einsum(x29, (0, 1, 2, 3), (1, 0, 2, 3)) - del x29 - x506 += einsum(x30, (0, 1, 2, 3), (0, 1, 2, 3)) - del x30 - x506 += einsum(x249, (0, 1, 2, 3), (0, 1, 3, 2)) - del x249 - l2new_abab += einsum(l2.abab, (0, 1, 2, 3), x506, (3, 4, 2, 5), (0, 1, 5, 4)) - x507 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x507 += einsum(t1.aa, (0, 1), x235, (0, 2, 1, 3), (2, 3)) - del x235 - x508 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x508 += einsum(f.aa.vv, (0, 1), (0, 1)) * -1.0 - x508 += einsum(x351, (0, 1), (1, 0)) * -1.0 - del x351 - x508 += einsum(x451, (0, 1), (0, 1)) - del x451 - x508 += einsum(x452, (0, 1), (0, 1)) * 2.0 - del x452 - x508 += einsum(x507, (0, 1), (1, 0)) * -1.0 - del x507 - l2new_abab += einsum(x508, (0, 1), l2.abab, (0, 2, 3, 4), (1, 2, 3, 4)) * -1.0 - l3new_babbab += einsum(x508, (0, 1), l3.babbab, (2, 0, 3, 4, 5, 6), (2, 1, 3, 4, 5, 6)) * -2.0 - del x508 - x509 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x509 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (0, 4, 1, 3), (2, 4)) - x510 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x510 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 1, 4), (3, 4)) - x511 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x511 += einsum(t1.bb, (0, 1), x217, (0, 1, 2, 3), (2, 3)) - del x217 - x512 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x512 += einsum(f.bb.vv, (0, 1), (0, 1)) * -1.0 - x512 += einsum(x216, (0, 1), (1, 0)) * -1.0 - x512 += einsum(x509, (0, 1), (0, 1)) * 2.0 - x512 += einsum(x510, (0, 1), (0, 1)) - x512 += einsum(x511, (0, 1), (1, 0)) * -1.0 - del x511 - l2new_abab += einsum(x512, (0, 1), l2.abab, (2, 0, 3, 4), (2, 1, 3, 4)) * -1.0 - l3new_abaaba += einsum(x512, (0, 1), l3.abaaba, (2, 0, 3, 4, 5, 6), (2, 1, 3, 4, 5, 6)) * -2.0 - del x512 - x513 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x513 += einsum(x180, (0, 1), (0, 1)) * 1.00000000000004 - del x180 - x513 += einsum(x181, (0, 1), (0, 1)) * 2.00000000000008 - del x181 - x513 += einsum(x182, (0, 1), (0, 1)) - del x182 - x513 += einsum(x183, (0, 1), (0, 1)) * 1.9999999999999991 - del x183 - x513 += einsum(x184, (0, 1), (0, 1)) * 2.9999999999999982 - del x184 - l2new_abab += einsum(x513, (0, 1), v.aabb.ovov, (2, 1, 3, 4), (0, 4, 2, 3)) * -0.9999999999999601 - del x513 - x514 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x514 += einsum(x161, (0, 1), (0, 1)) * 2.0 - x514 += einsum(x162, (0, 1), (0, 1)) - x514 += einsum(x163, (0, 1), (0, 1)) * 2.9999999999998788 - x514 += einsum(x164, (0, 1), (0, 1)) * 1.9999999999999194 - x514 += einsum(x211, (0, 1), (0, 1)) * 0.9999999999999601 - l2new_abab += einsum(x514, (0, 1), v.aabb.ovov, (2, 3, 4, 1), (3, 0, 2, 4)) * -1.0 - del x514 - x515 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x515 += einsum(x230, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x515 += einsum(x230, (0, 1, 2, 3), (0, 2, 1, 3)) - l2new_abab += einsum(x515, (0, 1, 2, 3), x63, (4, 5, 0, 1), (3, 5, 2, 4)) * -1.0 - l3new_babbab += einsum(x515, (0, 1, 2, 3), x58, (4, 5, 6, 7, 0, 1), (6, 3, 7, 5, 2, 4)) * 2.0 - x516 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x516 += einsum(x3, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x516 += einsum(x3, (0, 1, 2, 3), (0, 2, 1, 3)) - l2new_abab += einsum(x516, (0, 1, 2, 3), x93, (0, 2, 4, 5), (5, 3, 4, 1)) - del x93 - l3new_abaaba += einsum(x516, (0, 1, 2, 3), x91, (0, 1, 4, 5, 6, 7), (6, 3, 7, 5, 2, 4)) * 2.0 - x517 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x517 += einsum(x199, (0, 1), (0, 1)) * 1.00000000000004 - del x199 - x517 += einsum(x200, (0, 1), (0, 1)) * 1.00000000000004 - del x200 - x517 += einsum(x201, (0, 1), (0, 1)) * 2.00000000000008 - del x201 - x517 += einsum(x202, (0, 1), (0, 1)) - del x202 - x517 += einsum(x203, (0, 1), (0, 1)) * 1.9999999999999991 - del x203 - x517 += einsum(x204, (0, 1), (0, 1)) * 2.9999999999999982 - del x204 - l2new_abab += einsum(x517, (0, 1), v.aabb.ovov, (1, 2, 3, 4), (2, 4, 0, 3)) * -0.9999999999999601 - del x517 - x518 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x518 += einsum(l1.bb, (0, 1), v.bbbb.ovvv, (2, 3, 4, 0), (1, 2, 3, 4)) - x519 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x519 += einsum(l2.abab, (0, 1, 2, 3), x15, (4, 5, 2, 0), (3, 4, 1, 5)) - x520 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x520 += einsum(x63, (0, 1, 2, 3), x7, (4, 5, 2, 3), (0, 4, 1, 5)) - del x63 - x521 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x521 += einsum(x499, (0, 1, 2, 3), x80, (4, 3, 1, 5), (4, 0, 5, 2)) * 2.0 - del x499 - x522 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x522 += einsum(t1.bb, (0, 1), x157, (2, 0, 3, 4), (2, 3, 1, 4)) * 3.0 - del x157 - x523 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x523 += einsum(x81, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x81 - x523 += einsum(x82, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - del x82 - x523 += einsum(x83, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.4999999999998215 - del x83 - x523 += einsum(x73, (0, 1, 2, 3), (0, 1, 2, 3)) * -3.0 - del x73 - x523 += einsum(x84, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.999999999999921 - del x84 - x523 += einsum(x75, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x75 - x523 += einsum(x85, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.49999999999998 - del x85 - x523 += einsum(x522, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x522 - x524 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x524 += einsum(x10, (0, 1, 2, 3), x523, (4, 0, 5, 2), (1, 4, 3, 5)) * 2.0 - del x523 - x525 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x525 += einsum(v.aabb.ovov, (0, 1, 2, 3), x496, (4, 5, 0, 1), (2, 4, 3, 5)) - del x496 - x526 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x526 += einsum(v.aabb.vvov, (0, 1, 2, 3), x100, (4, 5, 0, 1), (2, 4, 3, 5)) * 2.0 - x527 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x527 += einsum(t1.bb, (0, 1), x80, (2, 1, 3, 4), (0, 2, 3, 4)) - del x80 - x528 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x528 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 3, 1)) - x528 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x528 += einsum(x527, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x527 - x529 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x529 += einsum(l2.bbbb, (0, 1, 2, 3), x528, (3, 4, 5, 1), (2, 4, 0, 5)) * 2.0 - del x528 - x530 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x530 += einsum(x1, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.3333333333333333 - x530 += einsum(x76, (0, 1, 2, 3), (0, 1, 2, 3)) - del x76 - x530 += einsum(x77, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.3333333333333333 - del x77 - x531 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x531 += einsum(x213, (0, 1, 2, 3), x530, (4, 0, 2, 5), (1, 4, 3, 5)) * 6.0 - del x530 - x532 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x532 += einsum(x161, (0, 1), (0, 1)) - del x161 - x532 += einsum(x162, (0, 1), (0, 1)) * 0.5 - del x162 - x532 += einsum(x163, (0, 1), (0, 1)) * 1.4999999999999394 - del x163 - x532 += einsum(x164, (0, 1), (0, 1)) * 0.9999999999999597 - del x164 - x532 += einsum(x211, (0, 1), (0, 1)) * 0.49999999999998007 - del x211 - x533 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x533 += einsum(x532, (0, 1), v.bbbb.ovov, (2, 1, 3, 4), (2, 3, 4, 0)) * 2.0 - del x532 - x534 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x534 += einsum(v.aabb.ooov, (0, 1, 2, 3), x101, (4, 5, 0, 1), (2, 4, 3, 5)) - del x101 - x535 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x535 += einsum(x1, (0, 1, 2, 3), x516, (0, 2, 4, 5), (1, 4, 3, 5)) * 2.0 - del x1 - x536 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x536 += einsum(x341, (0, 1), v.bbbb.ovov, (2, 3, 1, 4), (2, 0, 4, 3)) - del x341 - x537 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x537 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x537 += einsum(x3, (0, 1, 2, 3), (0, 1, 2, 3)) - x538 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x538 += einsum(l1.bb, (0, 1), x537, (1, 2, 3, 4), (2, 3, 0, 4)) - x539 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x539 += einsum(f.bb.ov, (0, 1), l1.bb, (2, 3), (0, 3, 1, 2)) - x539 += einsum(x518, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x518 - x539 += einsum(x519, (0, 1, 2, 3), (0, 1, 2, 3)) - del x519 - x539 += einsum(x520, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x520 - x539 += einsum(x521, (0, 1, 2, 3), (1, 0, 3, 2)) - del x521 - x539 += einsum(x524, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x524 - x539 += einsum(x525, (0, 1, 2, 3), (1, 0, 3, 2)) - del x525 - x539 += einsum(x526, (0, 1, 2, 3), (1, 0, 3, 2)) - del x526 - x539 += einsum(x529, (0, 1, 2, 3), (0, 1, 2, 3)) - del x529 - x539 += einsum(x531, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x531 - x539 += einsum(x533, (0, 1, 2, 3), (1, 0, 3, 2)) - del x533 - x539 += einsum(x534, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x534 - x539 += einsum(x535, (0, 1, 2, 3), (0, 1, 2, 3)) - del x535 - x539 += einsum(x536, (0, 1, 2, 3), (1, 0, 3, 2)) - del x536 - x539 += einsum(x538, (0, 1, 2, 3), (0, 1, 2, 3)) - del x538 - x539 += einsum(l1.bb, (0, 1), x227, (2, 3), (1, 2, 0, 3)) - l2new_bbbb += einsum(x539, (0, 1, 2, 3), (2, 3, 0, 1)) - l2new_bbbb += einsum(x539, (0, 1, 2, 3), (3, 2, 0, 1)) * -1.0 - l2new_bbbb += einsum(x539, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 - l2new_bbbb += einsum(x539, (0, 1, 2, 3), (3, 2, 1, 0)) - del x539 - x540 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x540 += einsum(f.bb.ov, (0, 1), t1.bb, (2, 1), (0, 2)) - x541 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x541 += einsum(x540, (0, 1), l2.bbbb, (2, 3, 4, 1), (0, 4, 2, 3)) - x542 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x542 += einsum(l2.bbbb, (0, 1, 2, 3), x27, (3, 2, 4, 5), (4, 5, 0, 1)) * -1.0 - x543 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x543 += einsum(f.bb.ov, (0, 1), t2.bbbb, (2, 3, 4, 1), (0, 2, 3, 4)) - x544 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x544 += einsum(x543, (0, 1, 2, 3), l3.bbbbbb, (4, 5, 3, 6, 1, 2), (0, 6, 4, 5)) * -1.0 - del x543 - x545 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x545 += einsum(f.bb.ov, (0, 1), t2.abab, (2, 3, 4, 1), (0, 3, 2, 4)) - x546 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x546 += einsum(x545, (0, 1, 2, 3), l3.babbab, (4, 3, 5, 6, 2, 1), (0, 6, 4, 5)) - del x545 - x547 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x547 += einsum(x227, (0, 1), t2.abab, (2, 3, 4, 1), (3, 0, 2, 4)) - x548 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x548 += einsum(v.aabb.ovoo, (0, 1, 2, 3), (2, 3, 0, 1)) - x548 += einsum(x118, (0, 1, 2, 3), (1, 0, 2, 3)) - del x118 - x548 += einsum(x119, (0, 1, 2, 3), (0, 1, 2, 3)) - del x119 - x548 += einsum(x120, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.99999999999992 - del x120 - x548 += einsum(x121, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.999999999999921 - del x121 - x548 += einsum(x123, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x123 - x548 += einsum(x124, (0, 1, 2, 3), (1, 0, 2, 3)) - del x124 - x548 += einsum(x125, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x125 - x548 += einsum(x547, (0, 1, 2, 3), (0, 1, 2, 3)) - del x547 - x548 += einsum(x127, (0, 1, 2, 3), (0, 1, 2, 3)) - del x127 - x548 += einsum(x129, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x129 - x549 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x549 += einsum(x548, (0, 1, 2, 3), l3.babbab, (4, 3, 5, 6, 2, 0), (6, 1, 4, 5)) * -2.0 - del x548 - x550 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x550 += einsum(t2.abab, (0, 1, 2, 3), x39, (4, 5, 0, 2), (1, 4, 5, 3)) - del x39 - x551 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x551 += einsum(x227, (0, 1), t2.bbbb, (2, 3, 4, 1), (2, 3, 0, 4)) * -1.0 - x552 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x552 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x552 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x552 += einsum(x152, (0, 1, 2, 3), (1, 0, 2, 3)) - del x152 - x553 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x553 += einsum(t1.bb, (0, 1), x552, (2, 3, 1, 4), (0, 2, 3, 4)) - del x552 - x554 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x554 += einsum(t1.bb, (0, 1), x48, (0, 2, 3, 4), (2, 3, 4, 1)) - del x48 - x555 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x555 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (2, 0, 1, 3)) - x555 += einsum(x146, (0, 1, 2, 3), (1, 0, 2, 3)) - del x146 - x555 += einsum(x147, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.999999999999881 - del x147 - x555 += einsum(x148, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.9999999999999606 - del x148 - x555 += einsum(x149, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x149 - x555 += einsum(x550, (0, 1, 2, 3), (0, 2, 1, 3)) - del x550 - x555 += einsum(x551, (0, 1, 2, 3), (1, 0, 2, 3)) - del x551 - x555 += einsum(x553, (0, 1, 2, 3), (2, 0, 1, 3)) - del x553 - x555 += einsum(x554, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x554 - x556 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x556 += einsum(x555, (0, 1, 2, 3), l3.bbbbbb, (4, 5, 3, 6, 0, 1), (6, 2, 4, 5)) * -6.0 - del x555 - x557 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x557 += einsum(v.bbbb.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x557 += einsum(x3, (0, 1, 2, 3), (0, 2, 1, 3)) - x558 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x558 += einsum(x136, (0, 1, 2, 3), x557, (0, 4, 5, 3), (4, 5, 1, 2)) * 6.0 - del x557 - x559 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x559 += einsum(t1.bb, (0, 1), x227, (2, 1), (0, 2)) - x560 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x560 += einsum(x219, (0, 1), (1, 0)) - x560 += einsum(x220, (0, 1), (0, 1)) * 2.0 - x560 += einsum(x221, (0, 1), (0, 1)) - x560 += einsum(x223, (0, 1), (1, 0)) * -1.0 - x560 += einsum(x559, (0, 1), (0, 1)) - del x559 - x561 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x561 += einsum(x560, (0, 1), l2.bbbb, (2, 3, 4, 0), (4, 1, 2, 3)) * -2.0 - x562 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x562 += einsum(x541, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - del x541 - x562 += einsum(x542, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - del x542 - x562 += einsum(x544, (0, 1, 2, 3), (0, 1, 3, 2)) * 6.0 - del x544 - x562 += einsum(x546, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.0 - del x546 - x562 += einsum(x549, (0, 1, 2, 3), (0, 1, 3, 2)) - del x549 - x562 += einsum(x556, (0, 1, 2, 3), (0, 1, 2, 3)) - del x556 - x562 += einsum(x558, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x558 - x562 += einsum(x561, (0, 1, 2, 3), (0, 1, 3, 2)) - del x561 - l2new_bbbb += einsum(x562, (0, 1, 2, 3), (3, 2, 0, 1)) - l2new_bbbb += einsum(x562, (0, 1, 2, 3), (3, 2, 1, 0)) * -1.0 - del x562 - x563 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x563 += einsum(f.bb.vv, (0, 1), l2.bbbb, (2, 1, 3, 4), (3, 4, 0, 2)) - x564 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x564 += einsum(x246, (0, 1, 2, 3), x58, (4, 5, 6, 1, 2, 3), (4, 5, 6, 0)) - x565 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x565 += einsum(v.aabb.ovvv, (0, 1, 2, 3), (2, 3, 0, 1)) - x565 += einsum(x463, (0, 1, 2, 3), (1, 0, 2, 3)) - del x463 - x565 += einsum(x464, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x464 - x565 += einsum(x465, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 - del x465 - x565 += einsum(x466, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.99999999999992 - del x466 - x565 += einsum(x467, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.999999999999921 - del x467 - x565 += einsum(x468, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x468 - x565 += einsum(x469, (0, 1, 2, 3), (1, 0, 2, 3)) - del x469 - x566 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x566 += einsum(x565, (0, 1, 2, 3), l3.babbab, (4, 3, 1, 5, 2, 6), (5, 6, 4, 0)) * -2.0 - del x565 - x567 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x567 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), (0, 2, 1, 3)) - x567 += einsum(x473, (0, 1, 2, 3), (0, 3, 2, 1)) * -1.0 - del x473 - x567 += einsum(x474, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x474 - x567 += einsum(x475, (0, 1, 2, 3), (0, 2, 1, 3)) * -2.999999999999881 - del x475 - x567 += einsum(x476, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.9999999999999606 - del x476 - x567 += einsum(x477, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x477 - x567 += einsum(x479, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x479 - x568 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x568 += einsum(x567, (0, 1, 2, 3), l3.bbbbbb, (4, 1, 2, 5, 6, 0), (5, 6, 4, 3)) * -6.0 - del x567 - x569 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x569 += einsum(x486, (0, 1, 2, 3), x74, (4, 5, 0, 6, 2, 3), (4, 5, 6, 1)) * 2.0 - del x486 - x570 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x570 += einsum(t1.bb, (0, 1), v.bbbb.ooov, (2, 0, 3, 4), (2, 3, 1, 4)) - x571 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x571 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x571 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x571 += einsum(x570, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x570 - x571 += einsum(x9, (0, 1, 2, 3), (0, 1, 2, 3)) - x571 += einsum(x11, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x11 - x572 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x572 += einsum(x571, (0, 1, 2, 3), x72, (4, 5, 0, 1, 2, 6), (4, 5, 6, 3)) * 6.0 - del x571 - x573 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x573 += einsum(t1.bb, (0, 1), x3, (2, 0, 3, 4), (2, 3, 1, 4)) - x574 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x574 += einsum(x573, (0, 1, 2, 3), (0, 1, 2, 3)) - del x573 - x574 += einsum(x13, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x575 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x575 += einsum(x574, (0, 1, 2, 3), x72, (4, 5, 0, 1, 2, 6), (4, 5, 6, 3)) * 6.0 - del x574 - x576 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x576 += einsum(x492, (0, 1, 2, 3), x58, (4, 5, 0, 6, 2, 3), (4, 5, 6, 1)) * 2.0 - del x492 - x577 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x577 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), x137, (4, 5, 0, 3), (4, 5, 1, 2)) * 2.0 - x578 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x578 += einsum(t1.bb, (0, 1), x12, (0, 2, 1, 3), (2, 3)) - del x12 - x579 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x579 += einsum(x216, (0, 1), (1, 0)) * -1.0 - del x216 - x579 += einsum(x509, (0, 1), (1, 0)) * 2.0 - del x509 - x579 += einsum(x510, (0, 1), (1, 0)) - del x510 - x579 += einsum(x578, (0, 1), (0, 1)) * -1.0 - del x578 - x580 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x580 += einsum(x579, (0, 1), l2.bbbb, (2, 1, 3, 4), (3, 4, 2, 0)) * -2.0 - x581 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x581 += einsum(v.bbbb.ovov, (0, 1, 2, 3), x158, (2, 4, 5, 0), (4, 5, 1, 3)) * 6.0 - del x158 - x582 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x582 += einsum(x227, (0, 1), x78, (2, 3, 0, 4), (2, 3, 4, 1)) * 2.0 - x583 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x583 += einsum(f.bb.ov, (0, 1), x78, (2, 3, 0, 4), (2, 3, 1, 4)) * 2.0 - x584 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x584 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x584 += einsum(x563, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - del x563 - x584 += einsum(x564, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - del x564 - x584 += einsum(x566, (0, 1, 2, 3), (1, 0, 3, 2)) - del x566 - x584 += einsum(x568, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x568 - x584 += einsum(x569, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x569 - x584 += einsum(x572, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x572 - x584 += einsum(x575, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x575 - x584 += einsum(x576, (0, 1, 2, 3), (0, 1, 3, 2)) - del x576 - x584 += einsum(x577, (0, 1, 2, 3), (0, 1, 3, 2)) - del x577 - x584 += einsum(x580, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x580 - x584 += einsum(x581, (0, 1, 2, 3), (0, 1, 2, 3)) - del x581 - x584 += einsum(x582, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x582 - x584 += einsum(x583, (0, 1, 2, 3), (1, 0, 3, 2)) - del x583 - l2new_bbbb += einsum(x584, (0, 1, 2, 3), (3, 2, 0, 1)) - l2new_bbbb += einsum(x584, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 - del x584 - x585 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x585 += einsum(f.bb.oo, (0, 1), l2.bbbb, (2, 3, 4, 1), (0, 4, 2, 3)) - l2new_bbbb += einsum(x585, (0, 1, 2, 3), (3, 2, 0, 1)) * -2.0 - l2new_bbbb += einsum(x585, (0, 1, 2, 3), (3, 2, 1, 0)) * 2.0 - del x585 - x586 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x586 += einsum(v.bbbb.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x586 += einsum(x25, (0, 1, 2, 3), (1, 3, 2, 0)) - x586 += einsum(x26, (0, 1, 2, 3), (0, 2, 3, 1)) - l2new_bbbb += einsum(l2.bbbb, (0, 1, 2, 3), x586, (3, 4, 5, 2), (0, 1, 5, 4)) * 2.0 - x587 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x587 += einsum(x141, (0, 1, 2, 3), (1, 0, 3, 2)) * -0.3333333333333468 - del x141 - x587 += einsum(x2, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.3333333333333468 - del x2 - x587 += einsum(x142, (0, 1, 2, 3), (0, 1, 3, 2)) - del x142 - l2new_bbbb += einsum(v.bbbb.ovov, (0, 1, 2, 3), x587, (4, 5, 2, 0), (1, 3, 5, 4)) * -5.9999999999997575 - del x587 - x588 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x588 += einsum(v.aabb.ovoo, (0, 1, 2, 3), x91, (2, 3, 4, 5, 6, 7), (4, 5, 0, 6, 7, 1)) - x589 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x589 += einsum(t2.aaaa, (0, 1, 2, 3), x233, (1, 4, 5, 3), (0, 4, 2, 5)) * 2.0000000000000204 - x590 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x590 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x590 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x590 += einsum(x232, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.00000000000001 - x590 += einsum(x589, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x589 - x590 += einsum(x236, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - x591 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x591 += einsum(x590, (0, 1, 2, 3), l3.aaaaaa, (4, 5, 2, 6, 7, 0), (6, 7, 1, 4, 5, 3)) * 6.0 - del x590 - x592 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x592 += einsum(t2.abab, (0, 1, 2, 3), x240, (0, 4, 2, 5), (1, 3, 4, 5)) * 1.00000000000001 - x593 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x593 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) - x593 += einsum(x238, (0, 1, 2, 3), (0, 1, 2, 3)) - x593 += einsum(x592, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x594 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x594 += einsum(x593, (0, 1, 2, 3), l3.abaaba, (4, 1, 5, 6, 0, 7), (6, 7, 2, 4, 5, 3)) * 2.0 - del x593 - x595 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x595 += einsum(x515, (0, 1, 2, 3), x193, (4, 5, 0, 1, 6, 7), (4, 5, 2, 6, 7, 3)) * 6.0 - del x515 - x596 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x596 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 1, 2, 3)) - x596 += einsum(v.aaaa.ooov, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x597 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x597 += einsum(x596, (0, 1, 2, 3), x193, (4, 5, 0, 1, 6, 7), (4, 5, 2, 6, 7, 3)) * 6.0 - del x596 - x598 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x598 += einsum(x588, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 2.0 - del x588 - x598 += einsum(x591, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x591 - x598 += einsum(x594, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) - del x594 - x598 += einsum(x595, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) - del x595 - x598 += einsum(x597, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) - del x597 - l3new_aaaaaa += einsum(x598, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 0, 2)) - l3new_aaaaaa += einsum(x598, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 0, 2)) * -1.0 - l3new_aaaaaa += einsum(x598, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) * -1.0 - l3new_aaaaaa += einsum(x598, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 2, 0)) * -1.0 - l3new_aaaaaa += einsum(x598, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) - l3new_aaaaaa += einsum(x598, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) - l3new_aaaaaa += einsum(x598, (0, 1, 2, 3, 4, 5), (4, 3, 5, 2, 1, 0)) - l3new_aaaaaa += einsum(x598, (0, 1, 2, 3, 4, 5), (4, 5, 3, 2, 1, 0)) * -1.0 - l3new_aaaaaa += einsum(x598, (0, 1, 2, 3, 4, 5), (5, 3, 4, 2, 1, 0)) * -1.0 - del x598 - x599 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x599 += einsum(l2.aaaa, (0, 1, 2, 3), x230, (3, 4, 5, 6), (2, 4, 5, 0, 1, 6)) - del x230 - l3new_aaaaaa += einsum(x599, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 1, 2)) * 2.0 - l3new_aaaaaa += einsum(x599, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 1, 2)) * 2.0 - l3new_aaaaaa += einsum(x599, (0, 1, 2, 3, 4, 5), (5, 4, 3, 0, 1, 2)) * -2.0 - l3new_aaaaaa += einsum(x599, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 2, 1)) * -2.0 - l3new_aaaaaa += einsum(x599, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) * -2.0 - l3new_aaaaaa += einsum(x599, (0, 1, 2, 3, 4, 5), (5, 4, 3, 0, 2, 1)) * 2.0 - l3new_aaaaaa += einsum(x599, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 0, 2)) * -2.0 - l3new_aaaaaa += einsum(x599, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 0, 2)) * -2.0 - l3new_aaaaaa += einsum(x599, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 0, 2)) * 2.0 - l3new_aaaaaa += einsum(x599, (0, 1, 2, 3, 4, 5), (3, 4, 5, 2, 0, 1)) * 2.0 - l3new_aaaaaa += einsum(x599, (0, 1, 2, 3, 4, 5), (4, 5, 3, 2, 0, 1)) * 2.0 - l3new_aaaaaa += einsum(x599, (0, 1, 2, 3, 4, 5), (5, 4, 3, 2, 0, 1)) * -2.0 - l3new_aaaaaa += einsum(x599, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 2, 0)) * 2.0 - l3new_aaaaaa += einsum(x599, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) * 2.0 - l3new_aaaaaa += einsum(x599, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 2, 0)) * -2.0 - l3new_aaaaaa += einsum(x599, (0, 1, 2, 3, 4, 5), (3, 4, 5, 2, 1, 0)) * -2.0 - l3new_aaaaaa += einsum(x599, (0, 1, 2, 3, 4, 5), (4, 5, 3, 2, 1, 0)) * -2.0 - l3new_aaaaaa += einsum(x599, (0, 1, 2, 3, 4, 5), (5, 4, 3, 2, 1, 0)) * 2.0 - del x599 - x600 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x600 += einsum(l2.aaaa, (0, 1, 2, 3), v.aaaa.ovvv, (4, 5, 6, 1), (2, 3, 4, 0, 5, 6)) - x601 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x601 += einsum(v.aaaa.ovov, (0, 1, 2, 3), x326, (4, 5, 2, 6), (4, 5, 0, 6, 3, 1)) * 6.0 - del x326 - x602 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x602 += einsum(x600, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 2.0 - del x600 - x602 += einsum(x601, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 - del x601 - l3new_aaaaaa += einsum(x602, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 0, 2)) - l3new_aaaaaa += einsum(x602, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 0, 2)) * -1.0 - l3new_aaaaaa += einsum(x602, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 0, 2)) * -1.0 - l3new_aaaaaa += einsum(x602, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) - l3new_aaaaaa += einsum(x602, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 0, 2)) - l3new_aaaaaa += einsum(x602, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 0, 2)) * -1.0 - l3new_aaaaaa += einsum(x602, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 2, 0)) * -1.0 - l3new_aaaaaa += einsum(x602, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 2, 0)) - l3new_aaaaaa += einsum(x602, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 2, 0)) - l3new_aaaaaa += einsum(x602, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) * -1.0 - l3new_aaaaaa += einsum(x602, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) * -1.0 - l3new_aaaaaa += einsum(x602, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 2, 0)) - l3new_aaaaaa += einsum(x602, (0, 1, 2, 3, 4, 5), (3, 4, 5, 2, 1, 0)) - l3new_aaaaaa += einsum(x602, (0, 1, 2, 3, 4, 5), (3, 5, 4, 2, 1, 0)) * -1.0 - l3new_aaaaaa += einsum(x602, (0, 1, 2, 3, 4, 5), (4, 3, 5, 2, 1, 0)) * -1.0 - l3new_aaaaaa += einsum(x602, (0, 1, 2, 3, 4, 5), (5, 3, 4, 2, 1, 0)) - l3new_aaaaaa += einsum(x602, (0, 1, 2, 3, 4, 5), (4, 5, 3, 2, 1, 0)) - l3new_aaaaaa += einsum(x602, (0, 1, 2, 3, 4, 5), (5, 4, 3, 2, 1, 0)) * -1.0 - del x602 - x603 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x603 += einsum(f.aa.vv, (0, 1), l3.aaaaaa, (2, 3, 1, 4, 5, 6), (4, 5, 6, 0, 2, 3)) - x604 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x604 += einsum(f.aa.ov, (0, 1), x193, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) - x605 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x605 += einsum(v.aaaa.vvvv, (0, 1, 2, 3), l3.aaaaaa, (4, 1, 3, 5, 6, 7), (5, 6, 7, 4, 0, 2)) - x606 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x606 += einsum(x603, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -6.0 - del x603 - x606 += einsum(x604, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 6.0 - del x604 - x606 += einsum(x605, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -6.0 - del x605 - l3new_aaaaaa += einsum(x606, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 2, 0)) - l3new_aaaaaa += einsum(x606, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) - l3new_aaaaaa += einsum(x606, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 2, 0)) * -1.0 - del x606 - x607 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x607 += einsum(x462, (0, 1, 2, 3), l3.aaaaaa, (4, 5, 6, 7, 0, 2), (7, 1, 3, 4, 5, 6)) * -6.0 - del x462 - x608 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x608 += einsum(f.aa.oo, (0, 1), (0, 1)) - x608 += einsum(x389, (0, 1), (1, 0)) - del x389 - x609 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x609 += einsum(x608, (0, 1), l3.aaaaaa, (2, 3, 4, 5, 6, 0), (5, 6, 1, 2, 3, 4)) * 6.0 - x610 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x610 += einsum(x607, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 5, 3)) - del x607 - x610 += einsum(x609, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * -1.0 - del x609 - l3new_aaaaaa += einsum(x610, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 1, 2)) - l3new_aaaaaa += einsum(x610, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 0, 2)) * -1.0 - l3new_aaaaaa += einsum(x610, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) - del x610 - x611 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x611 += einsum(t2.aaaa, (0, 1, 2, 3), l3.aaaaaa, (4, 2, 3, 5, 6, 7), (5, 6, 7, 0, 1, 4)) - x612 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x612 += einsum(x611, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - del x611 - x612 += einsum(x325, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - del x325 - x613 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x613 += einsum(v.aaaa.ovov, (0, 1, 2, 3), x612, (4, 5, 6, 0, 2, 7), (4, 5, 6, 7, 1, 3)) * 6.0 - del x612 - l3new_aaaaaa += einsum(x613, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 2, 0)) * -1.0 - l3new_aaaaaa += einsum(x613, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) - l3new_aaaaaa += einsum(x613, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 2, 0)) * -1.0 - del x613 - x614 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x614 += einsum(l2.aaaa, (0, 1, 2, 3), v.aaaa.ooov, (4, 3, 5, 6), (2, 4, 5, 0, 1, 6)) - x615 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x615 += einsum(v.aaaa.ovov, (0, 1, 2, 3), x410, (4, 5, 6, 1), (4, 0, 2, 5, 6, 3)) * 2.0 - x616 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x616 += einsum(x614, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -2.0 - del x614 - x616 += einsum(x615, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 3, 5)) - del x615 - l3new_aaaaaa += einsum(x616, (0, 1, 2, 3, 4, 5), (4, 3, 5, 0, 1, 2)) - l3new_aaaaaa += einsum(x616, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 1, 2)) * -1.0 - l3new_aaaaaa += einsum(x616, (0, 1, 2, 3, 4, 5), (5, 3, 4, 0, 1, 2)) * -1.0 - l3new_aaaaaa += einsum(x616, (0, 1, 2, 3, 4, 5), (4, 3, 5, 0, 2, 1)) * -1.0 - l3new_aaaaaa += einsum(x616, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) - l3new_aaaaaa += einsum(x616, (0, 1, 2, 3, 4, 5), (5, 3, 4, 0, 2, 1)) - l3new_aaaaaa += einsum(x616, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 0, 2)) * -1.0 - l3new_aaaaaa += einsum(x616, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 0, 2)) - l3new_aaaaaa += einsum(x616, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) - l3new_aaaaaa += einsum(x616, (0, 1, 2, 3, 4, 5), (4, 3, 5, 2, 0, 1)) - l3new_aaaaaa += einsum(x616, (0, 1, 2, 3, 4, 5), (4, 5, 3, 2, 0, 1)) * -1.0 - l3new_aaaaaa += einsum(x616, (0, 1, 2, 3, 4, 5), (5, 3, 4, 2, 0, 1)) * -1.0 - l3new_aaaaaa += einsum(x616, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 2, 0)) - l3new_aaaaaa += einsum(x616, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) * -1.0 - l3new_aaaaaa += einsum(x616, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) * -1.0 - l3new_aaaaaa += einsum(x616, (0, 1, 2, 3, 4, 5), (4, 3, 5, 2, 1, 0)) * -1.0 - l3new_aaaaaa += einsum(x616, (0, 1, 2, 3, 4, 5), (4, 5, 3, 2, 1, 0)) - l3new_aaaaaa += einsum(x616, (0, 1, 2, 3, 4, 5), (5, 3, 4, 2, 1, 0)) - del x616 - x617 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x617 += einsum(x454, (0, 1), l3.aaaaaa, (2, 3, 1, 4, 5, 6), (4, 5, 6, 2, 3, 0)) * 6.0 - x618 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x618 += einsum(x361, (0, 1), x193, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 6, 1)) * 6.0 - x619 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x619 += einsum(x617, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) - del x617 - x619 += einsum(x618, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - del x618 - l3new_aaaaaa += einsum(x619, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 2, 0)) - l3new_aaaaaa += einsum(x619, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) * -1.0 - l3new_aaaaaa += einsum(x619, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) * -1.0 - del x619 - x620 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x620 += einsum(x413, (0, 1), l3.aaaaaa, (2, 3, 4, 5, 6, 0), (5, 6, 1, 2, 3, 4)) * 6.0 - l3new_aaaaaa += einsum(x620, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) - l3new_aaaaaa += einsum(x620, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) * -1.0 - l3new_aaaaaa += einsum(x620, (0, 1, 2, 3, 4, 5), (5, 3, 4, 2, 1, 0)) - del x620 - x621 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x621 += einsum(x253, (0, 1, 2, 3), l3.aaaaaa, (4, 5, 6, 7, 0, 1), (7, 2, 3, 4, 5, 6)) - l3new_aaaaaa += einsum(x621, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 1, 2)) * -6.0 - l3new_aaaaaa += einsum(x621, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 2, 1)) * 6.0 - l3new_aaaaaa += einsum(x621, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 0, 2)) * 6.0 - l3new_aaaaaa += einsum(x621, (0, 1, 2, 3, 4, 5), (3, 4, 5, 2, 0, 1)) * -6.0 - l3new_aaaaaa += einsum(x621, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 2, 0)) * -6.0 - l3new_aaaaaa += einsum(x621, (0, 1, 2, 3, 4, 5), (3, 4, 5, 2, 1, 0)) * 6.0 - del x621 - x622 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x622 += einsum(x239, (0, 1, 2, 3), l3.abaaba, (4, 1, 5, 6, 0, 7), (6, 7, 2, 4, 5, 3)) - x623 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x623 += einsum(x5, (0, 1, 2, 3), x91, (0, 1, 4, 5, 6, 7), (4, 5, 2, 6, 7, 3)) - x624 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x624 += einsum(x622, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 4.00000000000004 - del x622 - x624 += einsum(x623, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -2.0 - del x623 - l3new_aaaaaa += einsum(x624, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 0, 2)) * -1.0 - l3new_aaaaaa += einsum(x624, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 0, 2)) * -1.0 - l3new_aaaaaa += einsum(x624, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 0, 2)) - l3new_aaaaaa += einsum(x624, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 2, 0)) - l3new_aaaaaa += einsum(x624, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) - l3new_aaaaaa += einsum(x624, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 2, 0)) * -1.0 - l3new_aaaaaa += einsum(x624, (0, 1, 2, 3, 4, 5), (3, 4, 5, 2, 1, 0)) * -1.0 - l3new_aaaaaa += einsum(x624, (0, 1, 2, 3, 4, 5), (4, 5, 3, 2, 1, 0)) * -1.0 - l3new_aaaaaa += einsum(x624, (0, 1, 2, 3, 4, 5), (5, 4, 3, 2, 1, 0)) - del x624 - x625 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x625 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), x193, (4, 5, 6, 0, 7, 3), (4, 5, 6, 7, 1, 2)) * -1.0 - del x193 - l3new_aaaaaa += einsum(x625, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 2, 0)) * -6.0 - l3new_aaaaaa += einsum(x625, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 2, 0)) * 6.0 - l3new_aaaaaa += einsum(x625, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 2, 0)) * 6.0 - l3new_aaaaaa += einsum(x625, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) * -6.0 - l3new_aaaaaa += einsum(x625, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) * -6.0 - l3new_aaaaaa += einsum(x625, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 2, 0)) * 6.0 - del x625 - x626 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x626 += einsum(l2.bbbb, (0, 1, 2, 3), v.aabb.ovoo, (4, 5, 6, 3), (2, 6, 0, 1, 4, 5)) - x627 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x627 += einsum(v.aabb.ovov, (0, 1, 2, 3), x116, (4, 5, 6, 3), (4, 2, 5, 6, 0, 1)) - del x116 - x628 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x628 += einsum(v.aabb.vvoo, (0, 1, 2, 3), (2, 3, 0, 1)) - x628 += einsum(x22, (0, 1, 2, 3), (0, 1, 3, 2)) - x628 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.00000000000001 - x629 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x629 += einsum(x628, (0, 1, 2, 3), l3.babbab, (4, 2, 5, 6, 7, 0), (6, 1, 4, 5, 7, 3)) * -2.0 - del x628 - x630 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x630 += einsum(x506, (0, 1, 2, 3), l3.babbab, (4, 5, 6, 7, 2, 0), (7, 1, 4, 6, 3, 5)) * -2.0 - x631 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x631 += einsum(x6, (0, 1, 2, 3), x58, (4, 0, 5, 6, 7, 2), (4, 1, 5, 6, 7, 3)) * 2.0 - x632 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x632 += einsum(t1.bb, (0, 1), x19, (2, 1), (0, 2)) - del x19 - x633 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x633 += einsum(x219, (0, 1), (1, 0)) - del x219 - x633 += einsum(x221, (0, 1), (0, 1)) - del x221 - x633 += einsum(x632, (0, 1), (0, 1)) - del x632 - x633 += einsum(x223, (0, 1), (1, 0)) * -1.0 - del x223 - x634 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x634 += einsum(x633, (0, 1), l3.babbab, (2, 3, 4, 5, 6, 0), (5, 1, 2, 4, 6, 3)) * -2.0 - del x633 - x635 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x635 += einsum(f.bb.oo, (0, 1), (0, 1)) - x635 += einsum(x540, (0, 1), (1, 0)) - del x540 - x636 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x636 += einsum(x635, (0, 1), l3.babbab, (2, 3, 4, 5, 6, 0), (5, 1, 2, 4, 6, 3)) * -2.0 - x637 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x637 += einsum(x626, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * 2.0 - del x626 - x637 += einsum(x627, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * 2.0 - del x627 - x637 += einsum(x629, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 - del x629 - x637 += einsum(x630, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) - del x630 - x637 += einsum(x631, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 - del x631 - x637 += einsum(x634, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 - del x634 - x637 += einsum(x636, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) - del x636 - l3new_babbab += einsum(x637, (0, 1, 2, 3, 4, 5), (3, 5, 2, 0, 4, 1)) * -1.0 - l3new_babbab += einsum(x637, (0, 1, 2, 3, 4, 5), (3, 5, 2, 1, 4, 0)) - del x637 - x638 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x638 += einsum(l2.abab, (0, 1, 2, 3), v.bbbb.ovvv, (4, 5, 6, 1), (3, 4, 5, 6, 2, 0)) - x639 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x639 += einsum(l2.abab, (0, 1, 2, 3), v.aabb.vvov, (4, 0, 5, 6), (3, 5, 1, 6, 2, 4)) - x640 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x640 += einsum(v.aabb.ooov, (0, 1, 2, 3), x61, (4, 5, 6, 0, 1, 7), (4, 2, 5, 3, 6, 7)) - x641 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x641 += einsum(x7, (0, 1, 2, 3), x61, (4, 5, 2, 6, 3, 7), (4, 0, 5, 1, 6, 7)) * -1.0 - x642 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x642 += einsum(t2.bbbb, (0, 1, 2, 3), x10, (1, 4, 3, 5), (0, 4, 2, 5)) * 2.00000000000002 - x643 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x643 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x643 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x643 += einsum(x9, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.00000000000001 - x643 += einsum(x642, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x642 - x643 += einsum(x13, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - l3new_abaaba += einsum(x643, (0, 1, 2, 3), l3.abaaba, (4, 2, 5, 6, 0, 7), (4, 3, 5, 6, 1, 7)) * 2.0 - x644 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x644 += einsum(x643, (0, 1, 2, 3), l3.babbab, (4, 5, 2, 6, 7, 0), (6, 1, 4, 3, 7, 5)) * 2.0 - del x643 - x645 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x645 += einsum(t2.abab, (0, 1, 2, 3), x10, (1, 4, 3, 5), (4, 5, 0, 2)) * 1.00000000000001 - x646 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x646 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) - x646 += einsum(x15, (0, 1, 2, 3), (0, 1, 2, 3)) - x646 += einsum(x16, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.00000000000002 - x646 += einsum(x645, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x647 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x647 += einsum(x646, (0, 1, 2, 3), l3.abaaba, (4, 5, 3, 6, 7, 2), (7, 0, 5, 1, 6, 4)) * 2.0 - x648 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x648 += einsum(x516, (0, 1, 2, 3), x74, (4, 0, 1, 5, 6, 7), (4, 2, 5, 3, 6, 7)) * 2.0 - del x516 - x649 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x649 += einsum(x213, (0, 1, 2, 3), x74, (4, 0, 2, 5, 6, 7), (4, 1, 5, 3, 6, 7)) * 2.0 - del x213 - x650 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x650 += einsum(v.bbbb.ovov, (0, 1, 2, 3), x297, (4, 1, 5, 6), (0, 2, 3, 4, 5, 6)) * 2.0 - x651 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x651 += einsum(v.aabb.ovov, (0, 1, 2, 3), x100, (4, 5, 6, 1), (2, 4, 3, 5, 0, 6)) * 2.0 - x652 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x652 += einsum(v.bbbb.ovov, (0, 1, 2, 3), x96, (4, 2, 5, 6), (0, 4, 3, 1, 5, 6)) - del x96 - x653 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x653 += einsum(v.aabb.ovov, (0, 1, 2, 3), x66, (4, 5, 6, 0), (2, 4, 3, 5, 6, 1)) * 2.0 - x654 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x654 += einsum(l2.abab, (0, 1, 2, 3), x537, (3, 4, 5, 6), (4, 5, 1, 6, 2, 0)) - del x537 - x655 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x655 += einsum(l2.abab, (0, 1, 2, 3), x31, (4, 5, 2, 6), (3, 4, 1, 5, 6, 0)) - x656 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x656 += einsum(l1.bb, (0, 1), v.aabb.ovov, (2, 3, 4, 5), (1, 4, 0, 5, 2, 3)) - x656 += einsum(x638, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - del x638 - x656 += einsum(x639, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x639 - x656 += einsum(x640, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -2.0 - del x640 - x656 += einsum(x641, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -2.0 - del x641 - x656 += einsum(x644, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x644 - x656 += einsum(x647, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x647 - x656 += einsum(x648, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - del x648 - x656 += einsum(x649, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - del x649 - x656 += einsum(x650, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) - del x650 - x656 += einsum(x651, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) * -1.0 - del x651 - x656 += einsum(x652, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) - del x652 - x656 += einsum(x653, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) * -1.0 - del x653 - x656 += einsum(x654, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x654 - x656 += einsum(x655, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - del x655 - l3new_babbab += einsum(x656, (0, 1, 2, 3, 4, 5), (2, 5, 3, 0, 4, 1)) - l3new_babbab += einsum(x656, (0, 1, 2, 3, 4, 5), (3, 5, 2, 0, 4, 1)) * -1.0 - l3new_babbab += einsum(x656, (0, 1, 2, 3, 4, 5), (2, 5, 3, 1, 4, 0)) * -1.0 - l3new_babbab += einsum(x656, (0, 1, 2, 3, 4, 5), (3, 5, 2, 1, 4, 0)) - del x656 - x657 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x657 += einsum(l2.bbbb, (0, 1, 2, 3), v.aabb.ovvv, (4, 5, 6, 1), (2, 3, 0, 6, 4, 5)) - x658 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x658 += einsum(f.bb.vv, (0, 1), l3.babbab, (2, 3, 1, 4, 5, 6), (4, 6, 0, 2, 5, 3)) - x659 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x659 += einsum(f.bb.ov, (0, 1), x74, (2, 3, 0, 4, 5, 6), (2, 3, 1, 4, 5, 6)) - x660 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x660 += einsum(v.aabb.vvvv, (0, 1, 2, 3), l3.babbab, (4, 1, 3, 5, 6, 7), (5, 7, 4, 2, 6, 0)) - x661 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x661 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), x74, (4, 5, 0, 3, 6, 7), (4, 5, 1, 2, 6, 7)) * -1.0 - x662 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x662 += einsum(v.aabb.vvov, (0, 1, 2, 3), x74, (4, 5, 2, 6, 7, 1), (4, 5, 6, 3, 7, 0)) - x663 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x663 += einsum(v.aabb.ovvv, (0, 1, 2, 3), x58, (4, 5, 6, 3, 7, 0), (4, 5, 6, 2, 7, 1)) - x664 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x664 += einsum(v.aabb.oovv, (0, 1, 2, 3), (2, 3, 0, 1)) * 0.99999999999999 - x664 += einsum(x246, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.99999999999999 - del x246 - x664 += einsum(x247, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x247 - x665 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x665 += einsum(x664, (0, 1, 2, 3), l3.babbab, (4, 5, 0, 6, 2, 7), (6, 7, 4, 1, 3, 5)) * -2.00000000000002 - x666 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x666 += einsum(x579, (0, 1), l3.babbab, (2, 3, 1, 4, 5, 6), (4, 6, 2, 0, 5, 3)) * -2.0 - x667 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x667 += einsum(x31, (0, 1, 2, 3), x74, (4, 5, 0, 6, 2, 7), (4, 5, 6, 1, 3, 7)) * 2.0 - x668 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x668 += einsum(t2.abab, (0, 1, 2, 3), l3.babbab, (4, 2, 3, 5, 6, 7), (5, 7, 1, 4, 6, 0)) - x669 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x669 += einsum(x668, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x668 - x669 += einsum(x98, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x98 - x670 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x670 += einsum(v.aabb.ovov, (0, 1, 2, 3), x669, (4, 5, 2, 6, 7, 0), (4, 5, 3, 6, 7, 1)) * 2.0 - del x669 - x671 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x671 += einsum(x227, (0, 1), x74, (2, 3, 0, 4, 5, 6), (2, 3, 4, 1, 5, 6)) * 2.0 - x672 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x672 += einsum(v.aabb.ovov, (0, 1, 2, 3), x78, (4, 5, 2, 6), (4, 5, 3, 6, 0, 1)) * 2.0 - del x78 - x673 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x673 += einsum(l1.aa, (0, 1), v.bbbb.ovov, (2, 3, 4, 5), (2, 4, 3, 5, 1, 0)) * -1.0 - x673 += einsum(x657, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * 2.0 - del x657 - x673 += einsum(x658, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -2.0 - del x658 - x673 += einsum(x659, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * 2.0 - del x659 - x673 += einsum(x660, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * 2.0 - del x660 - x673 += einsum(x661, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -2.0 - del x661 - x673 += einsum(x662, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -2.0 - del x662 - x673 += einsum(x663, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -2.0 - del x663 - x673 += einsum(x665, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) * -1.0 - del x665 - x673 += einsum(x666, (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 4, 5)) * -1.0 - del x666 - x673 += einsum(x667, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) - del x667 - x673 += einsum(x670, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x670 - x673 += einsum(x671, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 - del x671 - x673 += einsum(x672, (0, 1, 2, 3, 4, 5), (1, 0, 2, 3, 4, 5)) * -1.0 - del x672 - l3new_babbab += einsum(x673, (0, 1, 2, 3, 4, 5), (3, 5, 2, 0, 4, 1)) - l3new_babbab += einsum(x673, (0, 1, 2, 3, 4, 5), (2, 5, 3, 0, 4, 1)) * -1.0 - del x673 - x674 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x674 += einsum(l2.bbbb, (0, 1, 2, 3), x5, (3, 4, 5, 6), (2, 4, 0, 1, 5, 6)) - x675 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x675 += einsum(v.aabb.ovov, (0, 1, 2, 3), x0, (4, 5, 6, 3), (4, 2, 5, 6, 0, 1)) * -1.0 - del x0 - x676 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x676 += einsum(t1.bb, (0, 1), x20, (2, 1), (0, 2)) * -1.0 - del x20 - x677 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x677 += einsum(x220, (0, 1), (0, 1)) * 2.0 - del x220 - x677 += einsum(x676, (0, 1), (0, 1)) - del x676 - x678 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x678 += einsum(x677, (0, 1), l3.babbab, (2, 3, 4, 5, 6, 0), (5, 1, 2, 4, 6, 3)) * -2.0 - del x677 - x679 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x679 += einsum(x674, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 2.0 - del x674 - x679 += einsum(x675, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * 6.0 - del x675 - x679 += einsum(x678, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) - del x678 - l3new_babbab += einsum(x679, (0, 1, 2, 3, 4, 5), (3, 5, 2, 0, 4, 1)) - l3new_babbab += einsum(x679, (0, 1, 2, 3, 4, 5), (3, 5, 2, 1, 4, 0)) * -1.0 - del x679 - x680 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x680 += einsum(t2.aaaa, (0, 1, 2, 3), x233, (1, 4, 5, 3), (0, 4, 2, 5)) * 2.00000000000002 - del x233 - x681 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x681 += einsum(v.aaaa.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x681 += einsum(v.aaaa.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x681 += einsum(x232, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.00000000000001 - del x232 - x681 += einsum(x680, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x680 - x681 += einsum(x236, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x236 - l3new_babbab += einsum(x681, (0, 1, 2, 3), l3.babbab, (4, 2, 5, 6, 0, 7), (4, 3, 5, 6, 1, 7)) * 2.0 - x682 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x682 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) * 0.4999999999999949 - x682 += einsum(x238, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.4999999999999949 - x682 += einsum(x239, (0, 1, 2, 3), (0, 1, 2, 3)) - x682 += einsum(t2.abab, (0, 1, 2, 3), x240, (0, 4, 2, 5), (1, 3, 4, 5)) * -0.49999999999999983 - del x240 - l3new_babbab += einsum(x682, (0, 1, 2, 3), l3.bbbbbb, (4, 5, 1, 6, 7, 0), (4, 3, 5, 6, 2, 7)) * 12.000000000000123 - del x682 - x683 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x683 += einsum(v.bbbb.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x683 += einsum(x25, (0, 1, 2, 3), (1, 3, 0, 2)) - del x25 - x683 += einsum(x26, (0, 1, 2, 3), (0, 2, 1, 3)) - del x26 - x683 += einsum(x27, (0, 1, 2, 3), (2, 1, 0, 3)) - x683 += einsum(x27, (0, 1, 2, 3), (2, 3, 0, 1)) * -1.0 - l3new_babbab += einsum(x683, (0, 1, 2, 3), l3.babbab, (4, 5, 6, 2, 7, 0), (4, 5, 6, 1, 7, 3)) * -2.0 - del x683 - x684 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x684 += einsum(t2.bbbb, (0, 1, 2, 3), l3.babbab, (2, 4, 3, 5, 6, 7), (5, 7, 0, 1, 6, 4)) - x684 += einsum(x134, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 - del x134 - l3new_babbab += einsum(v.bbbb.ovov, (0, 1, 2, 3), x684, (4, 5, 2, 0, 6, 7), (1, 7, 3, 5, 6, 4)) * 2.0 - del x684 - x685 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x685 += einsum(l2.aaaa, (0, 1, 2, 3), v.aabb.vvov, (4, 1, 5, 6), (5, 6, 2, 3, 0, 4)) - x686 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x686 += einsum(f.aa.vv, (0, 1), l3.abaaba, (2, 3, 1, 4, 5, 6), (5, 3, 4, 6, 0, 2)) - x687 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x687 += einsum(f.aa.ov, (0, 1), x61, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) - x688 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x688 += einsum(v.aabb.vvvv, (0, 1, 2, 3), l3.abaaba, (4, 3, 1, 5, 6, 7), (6, 2, 5, 7, 4, 0)) - x689 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x689 += einsum(v.aabb.vvov, (0, 1, 2, 3), x91, (4, 2, 5, 6, 7, 1), (4, 3, 5, 6, 7, 0)) - x690 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x690 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), x61, (4, 5, 6, 7, 0, 3), (4, 5, 6, 7, 1, 2)) * -1.0 - x691 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x691 += einsum(v.aabb.ovvv, (0, 1, 2, 3), x61, (4, 3, 5, 6, 0, 7), (4, 2, 5, 6, 7, 1)) - x692 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x692 += einsum(v.aabb.vvoo, (0, 1, 2, 3), (2, 3, 0, 1)) * 0.99999999999999 - x692 += einsum(x22, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.99999999999999 - del x22 - x692 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x23 - x693 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x693 += einsum(x692, (0, 1, 2, 3), l3.abaaba, (4, 5, 2, 6, 0, 7), (1, 5, 6, 7, 4, 3)) * -2.00000000000002 - del x692 - x694 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x694 += einsum(x454, (0, 1), l3.abaaba, (2, 3, 1, 4, 5, 6), (5, 3, 4, 6, 2, 0)) * -2.0 - del x454 - x695 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x695 += einsum(x6, (0, 1, 2, 3), x61, (0, 4, 5, 6, 2, 7), (1, 4, 5, 6, 7, 3)) * 2.0 - x696 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x696 += einsum(t2.abab, (0, 1, 2, 3), l3.abaaba, (4, 3, 2, 5, 6, 7), (6, 1, 5, 7, 0, 4)) - x697 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x697 += einsum(x696, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 - del x696 - x697 += einsum(x99, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 - del x99 - x698 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x698 += einsum(v.aabb.ovov, (0, 1, 2, 3), x697, (4, 2, 5, 6, 0, 7), (4, 3, 5, 6, 1, 7)) * 2.0 - del x697 - x699 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x699 += einsum(x361, (0, 1), x61, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 6, 1)) * 2.0 - del x361 - x700 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x700 += einsum(v.aabb.ovov, (0, 1, 2, 3), x289, (4, 5, 0, 6), (2, 3, 4, 5, 1, 6)) * 2.0 - del x289 - x701 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x701 += einsum(l1.bb, (0, 1), v.aaaa.ovov, (2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) * -1.0 - x701 += einsum(x685, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -2.0 - del x685 - x701 += einsum(x686, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * 2.0 - del x686 - x701 += einsum(x687, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -2.0 - del x687 - x701 += einsum(x688, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -2.0 - del x688 - x701 += einsum(x689, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * 2.0 - del x689 - x701 += einsum(x690, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * 2.0 - del x690 - x701 += einsum(x691, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * 2.0 - del x691 - x701 += einsum(x693, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -1.0 - del x693 - x701 += einsum(x694, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -1.0 - del x694 - x701 += einsum(x695, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -1.0 - del x695 - x701 += einsum(x698, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 - del x698 - x701 += einsum(x699, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) - del x699 - x701 += einsum(x700, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0 - del x700 - l3new_abaaba += einsum(x701, (0, 1, 2, 3, 4, 5), (5, 1, 4, 2, 0, 3)) - l3new_abaaba += einsum(x701, (0, 1, 2, 3, 4, 5), (4, 1, 5, 2, 0, 3)) * -1.0 - del x701 - x702 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x702 += einsum(l2.aaaa, (0, 1, 2, 3), v.aabb.ooov, (4, 3, 5, 6), (5, 6, 2, 4, 0, 1)) - x703 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x703 += einsum(x664, (0, 1, 2, 3), l3.abaaba, (4, 0, 5, 6, 7, 2), (7, 1, 6, 3, 4, 5)) * -2.00000000000002 - del x664 - x704 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x704 += einsum(x506, (0, 1, 2, 3), l3.abaaba, (4, 5, 6, 7, 0, 2), (1, 5, 7, 3, 4, 6)) * -2.0 - del x506 - x705 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x705 += einsum(x31, (0, 1, 2, 3), x91, (4, 0, 2, 5, 6, 7), (4, 1, 5, 3, 6, 7)) * 2.0 - del x31, x91 - x706 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x706 += einsum(x413, (0, 1), l3.abaaba, (2, 3, 4, 5, 6, 0), (6, 3, 5, 1, 2, 4)) * -2.0 - del x413 - x707 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x707 += einsum(v.aabb.ovov, (0, 1, 2, 3), x410, (4, 5, 6, 1), (2, 3, 0, 4, 5, 6)) * 2.0 - del x410 - x708 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x708 += einsum(x608, (0, 1), l3.abaaba, (2, 3, 4, 5, 6, 0), (6, 3, 5, 1, 2, 4)) * -2.0 - del x608 - x709 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x709 += einsum(x702, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 2.0 - del x702 - x709 += einsum(x703, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 - del x703 - x709 += einsum(x704, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - del x704 - x709 += einsum(x705, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - del x705 - x709 += einsum(x706, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -1.0 - del x706 - x709 += einsum(x707, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) - del x707 - x709 += einsum(x708, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) - del x708 - l3new_abaaba += einsum(x709, (0, 1, 2, 3, 4, 5), (5, 1, 4, 2, 0, 3)) * -1.0 - l3new_abaaba += einsum(x709, (0, 1, 2, 3, 4, 5), (5, 1, 4, 3, 0, 2)) - del x709 - x710 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x710 += einsum(l2.abab, (0, 1, 2, 3), v.aabb.ovvv, (4, 5, 6, 1), (3, 6, 2, 4, 0, 5)) - x711 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x711 += einsum(l2.abab, (0, 1, 2, 3), v.aaaa.ovvv, (4, 5, 6, 0), (3, 1, 2, 4, 5, 6)) - x712 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x712 += einsum(v.aabb.ovoo, (0, 1, 2, 3), x74, (4, 2, 3, 5, 6, 7), (4, 5, 6, 0, 7, 1)) - x713 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x713 += einsum(x5, (0, 1, 2, 3), x74, (0, 4, 1, 5, 6, 7), (4, 5, 6, 2, 7, 3)) * -1.0 - del x5, x74 - x714 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x714 += einsum(x681, (0, 1, 2, 3), l3.abaaba, (4, 5, 2, 6, 7, 0), (7, 5, 6, 1, 4, 3)) * 2.0 - del x681 - x715 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x715 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) - x715 += einsum(x238, (0, 1, 2, 3), (0, 1, 2, 3)) - del x238 - x715 += einsum(x239, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.00000000000002 - del x239 - x715 += einsum(x592, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x592 - x716 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x716 += einsum(x715, (0, 1, 2, 3), l3.babbab, (4, 5, 1, 6, 7, 0), (6, 4, 7, 2, 5, 3)) * 2.0 - del x715 - x717 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x717 += einsum(x382, (0, 1, 2, 3), x61, (4, 5, 0, 6, 2, 7), (4, 5, 6, 1, 7, 3)) * 2.0 - del x382 - x718 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x718 += einsum(x348, (0, 1, 2, 3), x61, (4, 5, 0, 6, 2, 7), (4, 5, 6, 1, 7, 3)) * 2.0 - del x61, x348 - x719 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x719 += einsum(v.aabb.ovov, (0, 1, 2, 3), x297, (4, 3, 5, 6), (2, 4, 0, 5, 1, 6)) * 2.0 - del x297 - x720 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x720 += einsum(v.aaaa.ovov, (0, 1, 2, 3), x100, (4, 5, 6, 1), (4, 5, 0, 2, 6, 3)) * 2.0 - del x100 - x721 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x721 += einsum(v.aabb.ovov, (0, 1, 2, 3), x139, (4, 2, 5, 6), (4, 3, 0, 5, 1, 6)) * 2.0 - del x139 - x722 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x722 += einsum(v.aaaa.ovov, (0, 1, 2, 3), x66, (4, 5, 6, 2), (4, 5, 6, 0, 3, 1)) * 2.0 - del x66 - x723 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x723 += einsum(l2.abab, (0, 1, 2, 3), x6, (3, 4, 5, 6), (4, 1, 2, 5, 0, 6)) - del x6 - x724 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x724 += einsum(l2.abab, (0, 1, 2, 3), x386, (2, 4, 5, 6), (3, 1, 4, 5, 0, 6)) - del x386 - x725 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x725 += einsum(l1.aa, (0, 1), v.aabb.ovov, (2, 3, 4, 5), (4, 5, 1, 2, 0, 3)) - x725 += einsum(x710, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x710 - x725 += einsum(x711, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - del x711 - x725 += einsum(x712, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -2.0 - del x712 - x725 += einsum(x713, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -2.0 - del x713 - x725 += einsum(x714, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x714 - x725 += einsum(x716, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x716 - x725 += einsum(x717, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x717 - x725 += einsum(x718, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x718 - x725 += einsum(x719, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -1.0 - del x719 - x725 += einsum(x720, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) - del x720 - x725 += einsum(x721, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * -1.0 - del x721 - x725 += einsum(x722, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) - del x722 - x725 += einsum(x723, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * -1.0 - del x723 - x725 += einsum(x724, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x724 - l3new_abaaba += einsum(x725, (0, 1, 2, 3, 4, 5), (4, 1, 5, 2, 0, 3)) - l3new_abaaba += einsum(x725, (0, 1, 2, 3, 4, 5), (5, 1, 4, 2, 0, 3)) * -1.0 - l3new_abaaba += einsum(x725, (0, 1, 2, 3, 4, 5), (4, 1, 5, 3, 0, 2)) * -1.0 - l3new_abaaba += einsum(x725, (0, 1, 2, 3, 4, 5), (5, 1, 4, 3, 0, 2)) - del x725 - x726 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x726 += einsum(l2.aaaa, (0, 1, 2, 3), x7, (4, 5, 3, 6), (4, 5, 2, 6, 0, 1)) - l3new_abaaba += einsum(x726, (0, 1, 2, 3, 4, 5), (5, 1, 4, 2, 0, 3)) * 2.0 - l3new_abaaba += einsum(x726, (0, 1, 2, 3, 4, 5), (5, 1, 4, 3, 0, 2)) * -2.0 - del x726 - x727 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x727 += einsum(v.aabb.ovov, (0, 1, 2, 3), (2, 3, 0, 1)) - x727 += einsum(x15, (0, 1, 2, 3), (0, 1, 2, 3)) - del x15 - x727 += einsum(x16, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0000000000000204 - del x16 - x727 += einsum(x645, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x645 - l3new_abaaba += einsum(x727, (0, 1, 2, 3), l3.aaaaaa, (4, 5, 3, 6, 7, 2), (4, 1, 5, 6, 0, 7)) * 6.0 - del x727 - x728 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x728 += einsum(v.aaaa.oooo, (0, 1, 2, 3), (0, 1, 2, 3)) - x728 += einsum(x251, (0, 1, 2, 3), (1, 3, 2, 0)) - del x251 - x728 += einsum(x252, (0, 1, 2, 3), (0, 2, 3, 1)) - del x252 - x728 += einsum(x253, (0, 1, 2, 3), (2, 1, 3, 0)) - x728 += einsum(x253, (0, 1, 2, 3), (2, 3, 1, 0)) * -1.0 - del x253 - l3new_abaaba += einsum(x728, (0, 1, 2, 3), l3.abaaba, (4, 5, 6, 3, 7, 0), (4, 5, 6, 2, 7, 1)) * 2.0 - del x728 - x729 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x729 += einsum(t2.aaaa, (0, 1, 2, 3), l3.abaaba, (2, 4, 3, 5, 6, 7), (6, 4, 5, 7, 0, 1)) - x729 += einsum(x323, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) - del x323 - l3new_abaaba += einsum(v.aaaa.ovov, (0, 1, 2, 3), x729, (4, 5, 6, 7, 2, 0), (1, 5, 3, 7, 4, 6)) * 2.0 - del x729 - x730 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x730 += einsum(v.aabb.ooov, (0, 1, 2, 3), x58, (4, 5, 6, 7, 0, 1), (4, 5, 2, 6, 7, 3)) - x731 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x731 += einsum(x7, (0, 1, 2, 3), x58, (4, 5, 6, 7, 2, 3), (4, 5, 0, 6, 7, 1)) - del x7, x58 - x732 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x732 += einsum(t2.bbbb, (0, 1, 2, 3), x10, (1, 4, 3, 5), (0, 4, 2, 5)) * 2.0000000000000204 - del x10 - x733 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x733 += einsum(v.bbbb.ovov, (0, 1, 2, 3), (0, 2, 1, 3)) - x733 += einsum(v.bbbb.oovv, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - x733 += einsum(x9, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.00000000000001 - del x9 - x733 += einsum(x732, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x732 - x733 += einsum(x13, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x13 - x734 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x734 += einsum(x733, (0, 1, 2, 3), l3.bbbbbb, (4, 5, 2, 6, 7, 0), (6, 7, 1, 4, 5, 3)) * 6.0 - del x733 - x735 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x735 += einsum(x646, (0, 1, 2, 3), l3.babbab, (4, 3, 5, 6, 2, 7), (6, 7, 0, 4, 5, 1)) * 2.0 - del x646 - x736 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x736 += einsum(x3, (0, 1, 2, 3), (0, 1, 2, 3)) - x736 += einsum(x3, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x737 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x737 += einsum(x736, (0, 1, 2, 3), x72, (4, 5, 0, 2, 6, 7), (4, 5, 1, 6, 7, 3)) * 6.0 - del x736 - x738 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x738 += einsum(x208, (0, 1, 2, 3), x72, (4, 5, 0, 1, 6, 7), (4, 5, 2, 6, 7, 3)) * 6.0 - del x208 - x739 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x739 += einsum(x730, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 2.0 - del x730 - x739 += einsum(x731, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * 2.0 - del x731 - x739 += einsum(x734, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) - del x734 - x739 += einsum(x735, (0, 1, 2, 3, 4, 5), (1, 0, 2, 4, 3, 5)) - del x735 - x739 += einsum(x737, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) - del x737 - x739 += einsum(x738, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) - del x738 - l3new_bbbbbb += einsum(x739, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 0, 2)) - l3new_bbbbbb += einsum(x739, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 0, 2)) * -1.0 - l3new_bbbbbb += einsum(x739, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) * -1.0 - l3new_bbbbbb += einsum(x739, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 2, 0)) * -1.0 - l3new_bbbbbb += einsum(x739, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) - l3new_bbbbbb += einsum(x739, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) - l3new_bbbbbb += einsum(x739, (0, 1, 2, 3, 4, 5), (4, 3, 5, 2, 1, 0)) - l3new_bbbbbb += einsum(x739, (0, 1, 2, 3, 4, 5), (4, 5, 3, 2, 1, 0)) * -1.0 - l3new_bbbbbb += einsum(x739, (0, 1, 2, 3, 4, 5), (5, 3, 4, 2, 1, 0)) * -1.0 - del x739 - x740 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x740 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), x72, (4, 5, 6, 0, 7, 3), (4, 5, 6, 7, 1, 2)) * -1.0 - l3new_bbbbbb += einsum(x740, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 2, 0)) * -6.0 - l3new_bbbbbb += einsum(x740, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 2, 0)) * 6.0 - l3new_bbbbbb += einsum(x740, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 2, 0)) * 6.0 - l3new_bbbbbb += einsum(x740, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) * -6.0 - l3new_bbbbbb += einsum(x740, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) * -6.0 - l3new_bbbbbb += einsum(x740, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 2, 0)) * 6.0 - del x740 - x741 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x741 += einsum(x579, (0, 1), l3.bbbbbb, (2, 3, 1, 4, 5, 6), (4, 5, 6, 2, 3, 0)) * 6.0 - del x579 - x742 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x742 += einsum(x227, (0, 1), x72, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 6, 1)) * 6.0 - del x227 - x743 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x743 += einsum(x741, (0, 1, 2, 3, 4, 5), (1, 2, 0, 3, 4, 5)) - del x741 - x743 += einsum(x742, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - del x742 - l3new_bbbbbb += einsum(x743, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 2, 0)) - l3new_bbbbbb += einsum(x743, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) * -1.0 - l3new_bbbbbb += einsum(x743, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) * -1.0 - del x743 - x744 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x744 += einsum(x586, (0, 1, 2, 3), l3.bbbbbb, (4, 5, 6, 7, 0, 3), (7, 1, 2, 4, 5, 6)) * -6.0 - del x586 - x745 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x745 += einsum(x635, (0, 1), l3.bbbbbb, (2, 3, 4, 5, 6, 0), (5, 6, 1, 2, 3, 4)) * 6.0 - del x635 - x746 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x746 += einsum(x744, (0, 1, 2, 3, 4, 5), (0, 2, 1, 4, 5, 3)) - del x744 - x746 += einsum(x745, (0, 1, 2, 3, 4, 5), (2, 0, 1, 4, 5, 3)) * -1.0 - del x745 - l3new_bbbbbb += einsum(x746, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 1, 2)) - l3new_bbbbbb += einsum(x746, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 0, 2)) * -1.0 - l3new_bbbbbb += einsum(x746, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) - del x746 - x747 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x747 += einsum(l2.bbbb, (0, 1, 2, 3), x3, (3, 4, 5, 6), (2, 4, 5, 0, 1, 6)) - del x3 - l3new_bbbbbb += einsum(x747, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 1, 2)) * 2.0 - l3new_bbbbbb += einsum(x747, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 1, 2)) * 2.0 - l3new_bbbbbb += einsum(x747, (0, 1, 2, 3, 4, 5), (5, 4, 3, 0, 1, 2)) * -2.0 - l3new_bbbbbb += einsum(x747, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 2, 1)) * -2.0 - l3new_bbbbbb += einsum(x747, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) * -2.0 - l3new_bbbbbb += einsum(x747, (0, 1, 2, 3, 4, 5), (5, 4, 3, 0, 2, 1)) * 2.0 - l3new_bbbbbb += einsum(x747, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 0, 2)) * -2.0 - l3new_bbbbbb += einsum(x747, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 0, 2)) * -2.0 - l3new_bbbbbb += einsum(x747, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 0, 2)) * 2.0 - l3new_bbbbbb += einsum(x747, (0, 1, 2, 3, 4, 5), (3, 4, 5, 2, 0, 1)) * 2.0 - l3new_bbbbbb += einsum(x747, (0, 1, 2, 3, 4, 5), (4, 5, 3, 2, 0, 1)) * 2.0 - l3new_bbbbbb += einsum(x747, (0, 1, 2, 3, 4, 5), (5, 4, 3, 2, 0, 1)) * -2.0 - l3new_bbbbbb += einsum(x747, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 2, 0)) * 2.0 - l3new_bbbbbb += einsum(x747, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) * 2.0 - l3new_bbbbbb += einsum(x747, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 2, 0)) * -2.0 - l3new_bbbbbb += einsum(x747, (0, 1, 2, 3, 4, 5), (3, 4, 5, 2, 1, 0)) * -2.0 - l3new_bbbbbb += einsum(x747, (0, 1, 2, 3, 4, 5), (4, 5, 3, 2, 1, 0)) * -2.0 - l3new_bbbbbb += einsum(x747, (0, 1, 2, 3, 4, 5), (5, 4, 3, 2, 1, 0)) * 2.0 - del x747 - x748 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x748 += einsum(l2.bbbb, (0, 1, 2, 3), v.bbbb.ovvv, (4, 5, 6, 1), (2, 3, 4, 0, 5, 6)) - x749 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x749 += einsum(v.bbbb.ovov, (0, 1, 2, 3), x137, (4, 5, 2, 6), (0, 4, 5, 3, 1, 6)) * 2.0 - del x137 - x750 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x750 += einsum(x748, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 2.0 - del x748 - x750 += einsum(x749, (0, 1, 2, 3, 4, 5), (1, 2, 0, 5, 4, 3)) * -1.0 - del x749 - l3new_bbbbbb += einsum(x750, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 0, 2)) - l3new_bbbbbb += einsum(x750, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 0, 2)) * -1.0 - l3new_bbbbbb += einsum(x750, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 0, 2)) * -1.0 - l3new_bbbbbb += einsum(x750, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) - l3new_bbbbbb += einsum(x750, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 0, 2)) - l3new_bbbbbb += einsum(x750, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 0, 2)) * -1.0 - l3new_bbbbbb += einsum(x750, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 2, 0)) * -1.0 - l3new_bbbbbb += einsum(x750, (0, 1, 2, 3, 4, 5), (3, 5, 4, 1, 2, 0)) - l3new_bbbbbb += einsum(x750, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 2, 0)) - l3new_bbbbbb += einsum(x750, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) * -1.0 - l3new_bbbbbb += einsum(x750, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) * -1.0 - l3new_bbbbbb += einsum(x750, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 2, 0)) - l3new_bbbbbb += einsum(x750, (0, 1, 2, 3, 4, 5), (3, 4, 5, 2, 1, 0)) - l3new_bbbbbb += einsum(x750, (0, 1, 2, 3, 4, 5), (3, 5, 4, 2, 1, 0)) * -1.0 - l3new_bbbbbb += einsum(x750, (0, 1, 2, 3, 4, 5), (4, 3, 5, 2, 1, 0)) * -1.0 - l3new_bbbbbb += einsum(x750, (0, 1, 2, 3, 4, 5), (5, 3, 4, 2, 1, 0)) - l3new_bbbbbb += einsum(x750, (0, 1, 2, 3, 4, 5), (4, 5, 3, 2, 1, 0)) - l3new_bbbbbb += einsum(x750, (0, 1, 2, 3, 4, 5), (5, 4, 3, 2, 1, 0)) * -1.0 - del x750 - x751 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x751 += einsum(f.bb.vv, (0, 1), l3.bbbbbb, (2, 3, 1, 4, 5, 6), (4, 5, 6, 0, 2, 3)) - x752 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x752 += einsum(f.bb.ov, (0, 1), x72, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6)) - del x72 - x753 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x753 += einsum(v.bbbb.vvvv, (0, 1, 2, 3), l3.bbbbbb, (4, 3, 1, 5, 6, 7), (5, 6, 7, 4, 0, 2)) * -1.0 - x754 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x754 += einsum(x751, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -6.0 - del x751 - x754 += einsum(x752, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * 6.0 - del x752 - x754 += einsum(x753, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 5, 4)) * -6.0 - del x753 - l3new_bbbbbb += einsum(x754, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 2, 0)) - l3new_bbbbbb += einsum(x754, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) - l3new_bbbbbb += einsum(x754, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 2, 0)) * -1.0 - del x754 - x755 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x755 += einsum(x27, (0, 1, 2, 3), l3.bbbbbb, (4, 5, 6, 7, 0, 1), (7, 2, 3, 4, 5, 6)) - del x27 - l3new_bbbbbb += einsum(x755, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 1, 2)) * -6.0 - l3new_bbbbbb += einsum(x755, (0, 1, 2, 3, 4, 5), (3, 4, 5, 0, 2, 1)) * 6.0 - l3new_bbbbbb += einsum(x755, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 0, 2)) * 6.0 - l3new_bbbbbb += einsum(x755, (0, 1, 2, 3, 4, 5), (3, 4, 5, 2, 0, 1)) * -6.0 - l3new_bbbbbb += einsum(x755, (0, 1, 2, 3, 4, 5), (3, 4, 5, 1, 2, 0)) * -6.0 - l3new_bbbbbb += einsum(x755, (0, 1, 2, 3, 4, 5), (3, 4, 5, 2, 1, 0)) * 6.0 - del x755 - x756 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x756 += einsum(x560, (0, 1), l3.bbbbbb, (2, 3, 4, 5, 6, 0), (5, 6, 1, 2, 3, 4)) * 6.0 - del x560 - l3new_bbbbbb += einsum(x756, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) - l3new_bbbbbb += einsum(x756, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) * -1.0 - l3new_bbbbbb += einsum(x756, (0, 1, 2, 3, 4, 5), (5, 3, 4, 2, 1, 0)) - del x756 - x757 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x757 += einsum(l2.bbbb, (0, 1, 2, 3), v.bbbb.ooov, (4, 3, 5, 6), (2, 4, 5, 0, 1, 6)) - x758 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x758 += einsum(v.bbbb.ovov, (0, 1, 2, 3), x136, (4, 5, 6, 1), (0, 2, 4, 3, 5, 6)) * 6.0 - del x136 - x759 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x759 += einsum(x757, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -2.0 - del x757 - x759 += einsum(x758, (0, 1, 2, 3, 4, 5), (2, 1, 0, 5, 4, 3)) - del x758 - l3new_bbbbbb += einsum(x759, (0, 1, 2, 3, 4, 5), (4, 3, 5, 0, 1, 2)) - l3new_bbbbbb += einsum(x759, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 1, 2)) * -1.0 - l3new_bbbbbb += einsum(x759, (0, 1, 2, 3, 4, 5), (5, 3, 4, 0, 1, 2)) * -1.0 - l3new_bbbbbb += einsum(x759, (0, 1, 2, 3, 4, 5), (4, 3, 5, 0, 2, 1)) * -1.0 - l3new_bbbbbb += einsum(x759, (0, 1, 2, 3, 4, 5), (4, 5, 3, 0, 2, 1)) - l3new_bbbbbb += einsum(x759, (0, 1, 2, 3, 4, 5), (5, 3, 4, 0, 2, 1)) - l3new_bbbbbb += einsum(x759, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 0, 2)) * -1.0 - l3new_bbbbbb += einsum(x759, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 0, 2)) - l3new_bbbbbb += einsum(x759, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 0, 2)) - l3new_bbbbbb += einsum(x759, (0, 1, 2, 3, 4, 5), (4, 3, 5, 2, 0, 1)) - l3new_bbbbbb += einsum(x759, (0, 1, 2, 3, 4, 5), (4, 5, 3, 2, 0, 1)) * -1.0 - l3new_bbbbbb += einsum(x759, (0, 1, 2, 3, 4, 5), (5, 3, 4, 2, 0, 1)) * -1.0 - l3new_bbbbbb += einsum(x759, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 2, 0)) - l3new_bbbbbb += einsum(x759, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) * -1.0 - l3new_bbbbbb += einsum(x759, (0, 1, 2, 3, 4, 5), (5, 3, 4, 1, 2, 0)) * -1.0 - l3new_bbbbbb += einsum(x759, (0, 1, 2, 3, 4, 5), (4, 3, 5, 2, 1, 0)) * -1.0 - l3new_bbbbbb += einsum(x759, (0, 1, 2, 3, 4, 5), (4, 5, 3, 2, 1, 0)) - l3new_bbbbbb += einsum(x759, (0, 1, 2, 3, 4, 5), (5, 3, 4, 2, 1, 0)) - del x759 - x760 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x760 += einsum(t2.bbbb, (0, 1, 2, 3), l3.bbbbbb, (4, 2, 3, 5, 6, 7), (5, 6, 7, 0, 1, 4)) - x761 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x761 += einsum(x760, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - del x760 - x761 += einsum(x132, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0 - del x132 - x762 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x762 += einsum(v.bbbb.ovov, (0, 1, 2, 3), x761, (4, 5, 6, 0, 2, 7), (4, 5, 6, 1, 3, 7)) * 6.0 - del x761 - l3new_bbbbbb += einsum(x762, (0, 1, 2, 3, 4, 5), (5, 4, 3, 1, 2, 0)) * -1.0 - l3new_bbbbbb += einsum(x762, (0, 1, 2, 3, 4, 5), (4, 5, 3, 1, 2, 0)) - l3new_bbbbbb += einsum(x762, (0, 1, 2, 3, 4, 5), (4, 3, 5, 1, 2, 0)) * -1.0 - del x762 - - l1new.aa = l1new_aa - l1new.bb = l1new_bb - l2new.aaaa = l2new_aaaa - l2new.abab = l2new_abab - l2new.bbbb = l2new_bbbb - l3new.aaaaaa = l3new_aaaaaa - l3new.abaaba = l3new_abaaba - l3new.babbab = l3new_babbab - l3new.bbbbbb = l3new_bbbbbb - - return {"l1new": l1new, "l2new": l2new, "l3new": l3new} - -def make_rdm1_f(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, t3=None, l1=None, l2=None, l3=None, **kwargs): - rdm1_f = Namespace() - - delta = Namespace(aa=Namespace(), bb=Namespace()) - delta.aa = Namespace(oo=np.eye(nocc[0]), vv=np.eye(nvir[0])) - delta.bb = Namespace(oo=np.eye(nocc[1]), vv=np.eye(nvir[1])) - - # RDM1 - rdm1_f_aa_oo = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - rdm1_f_aa_oo += einsum(delta.aa.oo, (0, 1), (0, 1)) - rdm1_f_bb_oo = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - rdm1_f_bb_oo += einsum(delta.bb.oo, (0, 1), (0, 1)) - rdm1_f_aa_ov = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - rdm1_f_aa_ov += einsum(l1.bb, (0, 1), t2.abab, (2, 1, 3, 0), (2, 3)) - rdm1_f_aa_ov += einsum(l2.abab, (0, 1, 2, 3), t3.abaaba, (4, 3, 2, 5, 1, 0), (4, 5)) * 2.0 - rdm1_f_aa_ov += einsum(l2.aaaa, (0, 1, 2, 3), t3.aaaaaa, (4, 2, 3, 5, 0, 1), (4, 5)) * 3.0 - rdm1_f_aa_ov += einsum(t1.aa, (0, 1), (0, 1)) - rdm1_f_aa_ov += einsum(l1.aa, (0, 1), t2.aaaa, (2, 1, 3, 0), (2, 3)) * 2.0 - rdm1_f_aa_ov += einsum(l2.bbbb, (0, 1, 2, 3), t3.babbab, (2, 4, 3, 0, 5, 1), (4, 5)) - rdm1_f_bb_ov = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - rdm1_f_bb_ov += einsum(t1.bb, (0, 1), (0, 1)) - rdm1_f_bb_ov += einsum(l1.bb, (0, 1), t2.bbbb, (2, 1, 3, 0), (2, 3)) * 2.0 - rdm1_f_bb_ov += einsum(l2.abab, (0, 1, 2, 3), t3.babbab, (4, 2, 3, 5, 0, 1), (4, 5)) * 2.0 - rdm1_f_bb_ov += einsum(l1.aa, (0, 1), t2.abab, (1, 2, 0, 3), (2, 3)) - rdm1_f_bb_ov += einsum(l2.bbbb, (0, 1, 2, 3), t3.bbbbbb, (4, 2, 3, 5, 0, 1), (4, 5)) * 3.0 - rdm1_f_bb_ov += einsum(l2.aaaa, (0, 1, 2, 3), t3.abaaba, (2, 4, 3, 0, 5, 1), (4, 5)) - rdm1_f_aa_vo = np.zeros((nvir[0], nocc[0]), dtype=types[float]) - rdm1_f_aa_vo += einsum(l1.aa, (0, 1), (0, 1)) - rdm1_f_bb_vo = np.zeros((nvir[1], nocc[1]), dtype=types[float]) - rdm1_f_bb_vo += einsum(l1.bb, (0, 1), (0, 1)) - rdm1_f_aa_vv = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - rdm1_f_aa_vv += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (3, 4, 5, 0, 6, 2), (1, 6)) * 0.9999999999999601 - rdm1_f_aa_vv += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 4, 1), (0, 4)) - rdm1_f_aa_vv += einsum(l1.aa, (0, 1), t1.aa, (1, 2), (0, 2)) - rdm1_f_aa_vv += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (3, 4, 5, 6, 1, 2), (0, 6)) * 1.9999999999999194 - rdm1_f_aa_vv += einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), t3.aaaaaa, (3, 4, 5, 6, 1, 2), (0, 6)) * 2.9999999999998788 - rdm1_f_aa_vv += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (2, 3, 4, 1), (0, 4)) * 2.0 - rdm1_f_bb_vv = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - rdm1_f_bb_vv += einsum(l1.bb, (0, 1), t1.bb, (1, 2), (0, 2)) - rdm1_f_bb_vv += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (3, 4, 5, 6, 1, 2), (0, 6)) * 1.9999999999999194 - rdm1_f_bb_vv += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 0, 4), (1, 4)) - rdm1_f_bb_vv += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (3, 4, 5, 0, 6, 2), (1, 6)) * 0.9999999999999601 - rdm1_f_bb_vv += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (2, 3, 4, 1), (0, 4)) * 2.0 - rdm1_f_bb_vv += einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), t3.bbbbbb, (3, 4, 5, 6, 1, 2), (0, 6)) * 2.9999999999998788 - x0 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x0 += einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), t3.aaaaaa, (6, 4, 5, 0, 1, 2), (3, 6)) - rdm1_f_aa_oo += einsum(x0, (0, 1), (1, 0)) * -2.9999999999998788 - x1 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x1 += einsum(l1.aa, (0, 1), t1.aa, (2, 0), (1, 2)) - rdm1_f_aa_oo += einsum(x1, (0, 1), (1, 0)) * -1.0 - x2 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x2 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 0, 1), (2, 4)) - rdm1_f_aa_oo += einsum(x2, (0, 1), (1, 0)) * -1.0 - x3 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x3 += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 3, 0, 1), (2, 4)) - rdm1_f_aa_oo += einsum(x3, (0, 1), (1, 0)) * -2.0 - x4 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x4 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (6, 4, 5, 0, 1, 2), (3, 6)) - rdm1_f_aa_oo += einsum(x4, (0, 1), (1, 0)) * -1.9999999999999194 - x5 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x5 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (3, 6, 5, 0, 1, 2), (4, 6)) - rdm1_f_aa_oo += einsum(x5, (0, 1), (1, 0)) * -0.9999999999999601 - x6 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x6 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (3, 6, 5, 0, 1, 2), (4, 6)) - rdm1_f_bb_oo += einsum(x6, (0, 1), (1, 0)) * -0.9999999999999601 - x7 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x7 += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 3, 0, 1), (2, 4)) - rdm1_f_bb_oo += einsum(x7, (0, 1), (1, 0)) * -2.0 - x8 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x8 += einsum(l1.bb, (0, 1), t1.bb, (2, 0), (1, 2)) - rdm1_f_bb_oo += einsum(x8, (0, 1), (1, 0)) * -1.0 - x9 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x9 += einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), t3.bbbbbb, (6, 4, 5, 0, 1, 2), (3, 6)) - rdm1_f_bb_oo += einsum(x9, (0, 1), (1, 0)) * -2.9999999999998788 - x10 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x10 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (6, 4, 5, 0, 1, 2), (3, 6)) - rdm1_f_bb_oo += einsum(x10, (0, 1), (1, 0)) * -1.9999999999999194 - x11 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x11 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 1), (3, 4)) - rdm1_f_bb_oo += einsum(x11, (0, 1), (1, 0)) * -1.0 - x12 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x12 += einsum(t1.aa, (0, 1), l3.aaaaaa, (2, 3, 1, 4, 5, 6), (4, 5, 6, 0, 2, 3)) - rdm1_f_aa_ov += einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), x12, (0, 1, 2, 6, 4, 5), (6, 3)) * -2.9999999999998788 - del x12 - x13 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x13 += einsum(t1.aa, (0, 1), l3.babbab, (2, 1, 3, 4, 5, 6), (4, 6, 2, 3, 5, 0)) - rdm1_f_aa_ov += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x13, (0, 2, 5, 3, 1, 6), (6, 4)) * 0.9999999999999601 - del x13 - x14 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x14 += einsum(t1.aa, (0, 1), l3.abaaba, (2, 3, 1, 4, 5, 6), (5, 3, 4, 6, 0, 2)) - rdm1_f_aa_ov += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x14, (1, 4, 2, 0, 6, 5), (6, 3)) * -1.9999999999999194 - del x14 - x15 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x15 += einsum(t1.aa, (0, 1), l2.aaaa, (2, 1, 3, 4), (3, 4, 0, 2)) - x15 += einsum(t2.abab, (0, 1, 2, 3), l3.abaaba, (4, 3, 2, 5, 1, 6), (5, 6, 0, 4)) - x15 += einsum(t2.aaaa, (0, 1, 2, 3), l3.aaaaaa, (4, 2, 3, 5, 6, 1), (5, 6, 0, 4)) * 3.0 - rdm1_f_aa_ov += einsum(t2.aaaa, (0, 1, 2, 3), x15, (0, 1, 4, 3), (4, 2)) * 2.0 - del x15 - x16 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x16 += einsum(t1.aa, (0, 1), l2.abab, (1, 2, 3, 4), (4, 2, 3, 0)) * 0.5 - x16 += einsum(t2.abab, (0, 1, 2, 3), l3.babbab, (4, 2, 3, 5, 6, 1), (5, 4, 6, 0)) - x16 += einsum(t2.aaaa, (0, 1, 2, 3), l3.abaaba, (2, 4, 3, 5, 6, 1), (6, 4, 5, 0)) - rdm1_f_aa_ov += einsum(t2.abab, (0, 1, 2, 3), x16, (1, 3, 0, 4), (4, 2)) * -2.0 - del x16 - x17 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x17 += einsum(x1, (0, 1), (0, 1)) * 0.3333333333333468 - del x1 - x17 += einsum(x2, (0, 1), (0, 1)) * 0.3333333333333468 - del x2 - x17 += einsum(x3, (0, 1), (0, 1)) * 0.6666666666666936 - del x3 - x17 += einsum(x5, (0, 1), (0, 1)) * 0.33333333333333354 - del x5 - x17 += einsum(x4, (0, 1), (0, 1)) * 0.6666666666666667 - del x4 - x17 += einsum(x0, (0, 1), (0, 1)) - del x0 - rdm1_f_aa_ov += einsum(t1.aa, (0, 1), x17, (0, 2), (2, 1)) * -2.9999999999998788 - del x17 - x18 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x18 += einsum(t1.bb, (0, 1), l3.abaaba, (2, 1, 3, 4, 5, 6), (5, 0, 4, 6, 2, 3)) - rdm1_f_bb_ov += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x18, (1, 6, 0, 2, 3, 5), (6, 4)) * -0.9999999999999601 - del x18 - x19 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x19 += einsum(t1.bb, (0, 1), l3.babbab, (2, 3, 1, 4, 5, 6), (4, 6, 0, 2, 5, 3)) - rdm1_f_bb_ov += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x19, (0, 2, 6, 5, 1, 4), (6, 3)) * 1.9999999999999194 - del x19 - x20 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x20 += einsum(t1.bb, (0, 1), l3.bbbbbb, (2, 3, 1, 4, 5, 6), (4, 5, 6, 0, 2, 3)) - rdm1_f_bb_ov += einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), x20, (0, 1, 2, 6, 5, 4), (6, 3)) * 2.9999999999998788 - del x20 - x21 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x21 += einsum(t1.bb, (0, 1), l2.abab, (2, 1, 3, 4), (4, 0, 3, 2)) - x21 += einsum(t2.bbbb, (0, 1, 2, 3), l3.babbab, (2, 4, 3, 5, 6, 1), (5, 0, 6, 4)) * 2.0 - x21 += einsum(t2.abab, (0, 1, 2, 3), l3.abaaba, (4, 3, 2, 5, 6, 0), (6, 1, 5, 4)) * 2.0 - rdm1_f_bb_ov += einsum(t2.abab, (0, 1, 2, 3), x21, (1, 4, 0, 2), (4, 3)) * -1.0 - del x21 - x22 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x22 += einsum(t1.bb, (0, 1), l2.bbbb, (2, 1, 3, 4), (3, 4, 0, 2)) * 0.3333333333333333 - x22 += einsum(t2.bbbb, (0, 1, 2, 3), l3.bbbbbb, (4, 2, 3, 5, 6, 1), (5, 6, 0, 4)) - x22 += einsum(t2.abab, (0, 1, 2, 3), l3.babbab, (4, 2, 3, 5, 0, 6), (5, 6, 1, 4)) * 0.3333333333333333 - rdm1_f_bb_ov += einsum(t2.bbbb, (0, 1, 2, 3), x22, (0, 1, 4, 3), (4, 2)) * 6.0 - del x22 - x23 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x23 += einsum(x8, (0, 1), (0, 1)) * 1.00000000000004 - del x8 - x23 += einsum(x7, (0, 1), (0, 1)) * 2.00000000000008 - del x7 - x23 += einsum(x11, (0, 1), (0, 1)) * 1.00000000000004 - del x11 - x23 += einsum(x9, (0, 1), (0, 1)) * 2.9999999999999982 - del x9 - x23 += einsum(x10, (0, 1), (0, 1)) * 1.9999999999999991 - del x10 - x23 += einsum(x6, (0, 1), (0, 1)) - del x6 - rdm1_f_bb_ov += einsum(t1.bb, (0, 1), x23, (0, 2), (2, 1)) * -0.9999999999999601 - del x23 - - rdm1_f_aa = np.block([[rdm1_f_aa_oo, rdm1_f_aa_ov], [rdm1_f_aa_vo, rdm1_f_aa_vv]]) - rdm1_f_bb = np.block([[rdm1_f_bb_oo, rdm1_f_bb_ov], [rdm1_f_bb_vo, rdm1_f_bb_vv]]) - - rdm1_f.aa = rdm1_f_aa - rdm1_f.bb = rdm1_f_bb - - return rdm1_f - -def make_rdm2_f(f=None, v=None, nocc=None, nvir=None, t1=None, t2=None, t3=None, l1=None, l2=None, l3=None, **kwargs): - rdm2_f = Namespace() - - delta = Namespace(aa=Namespace(), bb=Namespace()) - delta.aa = Namespace(oo=np.eye(nocc[0]), vv=np.eye(nvir[0])) - delta.bb = Namespace(oo=np.eye(nocc[1]), vv=np.eye(nvir[1])) - - # RDM2 - rdm2_f_aaaa_oooo = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - rdm2_f_aaaa_oooo += einsum(delta.aa.oo, (0, 1), delta.aa.oo, (2, 3), (0, 2, 1, 3)) - rdm2_f_aaaa_oooo += einsum(delta.aa.oo, (0, 1), delta.aa.oo, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_bbbb_oooo = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - rdm2_f_bbbb_oooo += einsum(delta.bb.oo, (0, 1), delta.bb.oo, (2, 3), (0, 2, 1, 3)) - rdm2_f_bbbb_oooo += einsum(delta.bb.oo, (0, 1), delta.bb.oo, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_aaaa_ovoo = np.zeros((nocc[0], nvir[0], nocc[0], nocc[0]), dtype=types[float]) - rdm2_f_aaaa_ovoo += einsum(delta.aa.oo, (0, 1), l1.aa, (2, 3), (0, 2, 1, 3)) - rdm2_f_aaaa_ovoo += einsum(delta.aa.oo, (0, 1), l1.aa, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_abab_ovoo = np.zeros((nocc[0], nvir[1], nocc[0], nocc[1]), dtype=types[float]) - rdm2_f_abab_ovoo += einsum(delta.aa.oo, (0, 1), l1.bb, (2, 3), (0, 2, 1, 3)) - rdm2_f_bbbb_ovoo = np.zeros((nocc[1], nvir[1], nocc[1], nocc[1]), dtype=types[float]) - rdm2_f_bbbb_ovoo += einsum(delta.bb.oo, (0, 1), l1.bb, (2, 3), (0, 2, 1, 3)) - rdm2_f_bbbb_ovoo += einsum(delta.bb.oo, (0, 1), l1.bb, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_aaaa_vooo = np.zeros((nvir[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - rdm2_f_aaaa_vooo += einsum(delta.aa.oo, (0, 1), l1.aa, (2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_aaaa_vooo += einsum(delta.aa.oo, (0, 1), l1.aa, (2, 3), (2, 0, 3, 1)) - rdm2_f_abab_vooo = np.zeros((nvir[0], nocc[1], nocc[0], nocc[1]), dtype=types[float]) - rdm2_f_abab_vooo += einsum(delta.bb.oo, (0, 1), l1.aa, (2, 3), (2, 0, 3, 1)) - rdm2_f_bbbb_vooo = np.zeros((nvir[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - rdm2_f_bbbb_vooo += einsum(delta.bb.oo, (0, 1), l1.bb, (2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_bbbb_vooo += einsum(delta.bb.oo, (0, 1), l1.bb, (2, 3), (2, 0, 3, 1)) - rdm2_f_aaaa_oovv = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - rdm2_f_aaaa_oovv += einsum(l1.bb, (0, 1), t3.abaaba, (2, 1, 3, 4, 0, 5), (2, 3, 4, 5)) * 2.0 - rdm2_f_aaaa_oovv += einsum(t2.aaaa, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - rdm2_f_aaaa_oovv += einsum(l1.aa, (0, 1), t3.aaaaaa, (2, 3, 1, 4, 5, 0), (2, 3, 4, 5)) * 6.0 - rdm2_f_abab_oovv = np.zeros((nocc[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - rdm2_f_abab_oovv += einsum(t2.abab, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_abab_oovv += einsum(l1.bb, (0, 1), t3.babbab, (2, 3, 1, 4, 5, 0), (3, 2, 5, 4)) * 2.0 - rdm2_f_abab_oovv += einsum(l1.aa, (0, 1), t3.abaaba, (2, 3, 1, 4, 5, 0), (2, 3, 4, 5)) * 2.0 - rdm2_f_bbbb_oovv = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - rdm2_f_bbbb_oovv += einsum(l1.bb, (0, 1), t3.bbbbbb, (2, 3, 1, 4, 5, 0), (2, 3, 4, 5)) * 6.0 - rdm2_f_bbbb_oovv += einsum(t2.bbbb, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - rdm2_f_bbbb_oovv += einsum(l1.aa, (0, 1), t3.babbab, (2, 1, 3, 4, 0, 5), (2, 3, 4, 5)) * 2.0 - rdm2_f_bbbb_oovv += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_bbbb_oovv += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3)) - rdm2_f_aaaa_ovov = np.zeros((nocc[0], nvir[0], nocc[0], nvir[0]), dtype=types[float]) - rdm2_f_aaaa_ovov += einsum(l1.aa, (0, 1), t1.aa, (2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_bbbb_ovov = np.zeros((nocc[1], nvir[1], nocc[1], nvir[1]), dtype=types[float]) - rdm2_f_bbbb_ovov += einsum(l1.bb, (0, 1), t1.bb, (2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_aaaa_ovvo = np.zeros((nocc[0], nvir[0], nvir[0], nocc[0]), dtype=types[float]) - rdm2_f_aaaa_ovvo += einsum(l1.aa, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1)) - rdm2_f_abab_ovvo = np.zeros((nocc[0], nvir[1], nvir[0], nocc[1]), dtype=types[float]) - rdm2_f_abab_ovvo += einsum(l1.bb, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1)) - rdm2_f_bbbb_ovvo = np.zeros((nocc[1], nvir[1], nvir[1], nocc[1]), dtype=types[float]) - rdm2_f_bbbb_ovvo += einsum(l1.bb, (0, 1), t1.bb, (2, 3), (2, 0, 3, 1)) - rdm2_f_aaaa_voov = np.zeros((nvir[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - rdm2_f_aaaa_voov += einsum(l1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 1, 3)) - rdm2_f_abab_voov = np.zeros((nvir[0], nocc[1], nocc[0], nvir[1]), dtype=types[float]) - rdm2_f_abab_voov += einsum(l1.aa, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3)) - rdm2_f_bbbb_voov = np.zeros((nvir[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - rdm2_f_bbbb_voov += einsum(l1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3)) - rdm2_f_aaaa_vovo = np.zeros((nvir[0], nocc[0], nvir[0], nocc[0]), dtype=types[float]) - rdm2_f_aaaa_vovo += einsum(l1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_bbbb_vovo = np.zeros((nvir[1], nocc[1], nvir[1], nocc[1]), dtype=types[float]) - rdm2_f_bbbb_vovo += einsum(l1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_aaaa_vvoo = np.zeros((nvir[0], nvir[0], nocc[0], nocc[0]), dtype=types[float]) - rdm2_f_aaaa_vvoo += einsum(l2.aaaa, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - rdm2_f_abab_vvoo = np.zeros((nvir[0], nvir[1], nocc[0], nocc[1]), dtype=types[float]) - rdm2_f_abab_vvoo += einsum(l2.abab, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_bbbb_vvoo = np.zeros((nvir[1], nvir[1], nocc[1], nocc[1]), dtype=types[float]) - rdm2_f_bbbb_vvoo += einsum(l2.bbbb, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - rdm2_f_abab_ovvv = np.zeros((nocc[0], nvir[1], nvir[0], nvir[1]), dtype=types[float]) - rdm2_f_abab_ovvv += einsum(l1.bb, (0, 1), t2.abab, (2, 1, 3, 4), (2, 0, 3, 4)) - rdm2_f_abab_ovvv += einsum(l2.bbbb, (0, 1, 2, 3), t3.babbab, (2, 4, 3, 5, 6, 1), (4, 0, 6, 5)) * 2.0 - rdm2_f_abab_ovvv += einsum(l2.abab, (0, 1, 2, 3), t3.abaaba, (4, 3, 2, 5, 6, 0), (4, 1, 5, 6)) * 2.0 - rdm2_f_abab_vovv = np.zeros((nvir[0], nocc[1], nvir[0], nvir[1]), dtype=types[float]) - rdm2_f_abab_vovv += einsum(l2.abab, (0, 1, 2, 3), t3.babbab, (4, 2, 3, 5, 6, 1), (0, 4, 6, 5)) * 2.0 - rdm2_f_abab_vovv += einsum(l1.aa, (0, 1), t2.abab, (1, 2, 3, 4), (0, 2, 3, 4)) - rdm2_f_abab_vovv += einsum(l2.aaaa, (0, 1, 2, 3), t3.abaaba, (2, 4, 3, 5, 6, 1), (0, 4, 5, 6)) * 2.0 - rdm2_f_abab_vvov = np.zeros((nvir[0], nvir[1], nocc[0], nvir[1]), dtype=types[float]) - rdm2_f_abab_vvov += einsum(t1.bb, (0, 1), l2.abab, (2, 3, 4, 0), (2, 3, 4, 1)) - rdm2_f_aaaa_vvvv = np.zeros((nvir[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - rdm2_f_aaaa_vvvv += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (3, 4, 5, 6, 1, 7), (0, 2, 6, 7)) * 2.0000000000000404 - rdm2_f_aaaa_vvvv += einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), t3.aaaaaa, (3, 4, 5, 6, 7, 2), (0, 1, 6, 7)) * 6.000000000000116 - rdm2_f_aaaa_vvvv += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (2, 3, 4, 5), (0, 1, 4, 5)) * 2.0 - rdm2_f_abab_vvvv = np.zeros((nvir[0], nvir[1], nvir[0], nvir[1]), dtype=types[float]) - rdm2_f_abab_vvvv += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (3, 4, 5, 6, 7, 2), (1, 0, 7, 6)) * 2.0000000000000404 - rdm2_f_abab_vvvv += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (3, 4, 5, 6, 7, 2), (0, 1, 6, 7)) * 2.0000000000000404 - rdm2_f_abab_vvvv += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 4, 5), (0, 1, 4, 5)) - rdm2_f_bbbb_vvvv = np.zeros((nvir[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - rdm2_f_bbbb_vvvv += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (3, 4, 5, 6, 1, 7), (0, 2, 6, 7)) * 2.0000000000000404 - rdm2_f_bbbb_vvvv += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (2, 3, 4, 5), (0, 1, 4, 5)) * 2.0 - rdm2_f_bbbb_vvvv += einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), t3.bbbbbb, (3, 4, 5, 6, 7, 2), (0, 1, 6, 7)) * 6.000000000000116 - x0 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x0 += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 5, 0, 1), (2, 3, 4, 5)) - rdm2_f_aaaa_oooo += einsum(x0, (0, 1, 2, 3), (3, 2, 1, 0)) * 2.0 - x1 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x1 += einsum(t1.aa, (0, 1), l2.aaaa, (2, 1, 3, 4), (3, 4, 0, 2)) - rdm2_f_aaaa_ovoo += einsum(x1, (0, 1, 2, 3), (2, 3, 1, 0)) * -2.0 - rdm2_f_aaaa_vooo += einsum(x1, (0, 1, 2, 3), (3, 2, 1, 0)) * 2.0 - x2 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x2 += einsum(t1.aa, (0, 1), x1, (2, 3, 4, 1), (2, 3, 0, 4)) - rdm2_f_aaaa_oooo += einsum(x2, (0, 1, 2, 3), (2, 3, 1, 0)) * -2.0 - x3 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x3 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (6, 4, 7, 0, 1, 2), (3, 5, 6, 7)) - rdm2_f_aaaa_oooo += einsum(x3, (0, 1, 2, 3), (2, 3, 1, 0)) * -2.0000000000000404 - x4 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x4 += einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), t3.aaaaaa, (6, 7, 5, 0, 1, 2), (3, 4, 6, 7)) - rdm2_f_aaaa_oooo += einsum(x4, (0, 1, 2, 3), (2, 3, 1, 0)) * -6.000000000000116 - x5 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x5 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 0, 1), (2, 4)) - x6 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x6 += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 3, 0, 1), (2, 4)) - x7 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x7 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (3, 6, 5, 0, 1, 2), (4, 6)) - x8 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x8 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (6, 4, 5, 0, 1, 2), (3, 6)) - x9 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x9 += einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), t3.aaaaaa, (6, 4, 5, 0, 1, 2), (3, 6)) - x10 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x10 += einsum(x5, (0, 1), (0, 1)) - x10 += einsum(x6, (0, 1), (0, 1)) * 2.0 - x10 += einsum(x7, (0, 1), (0, 1)) * 0.9999999999999601 - x10 += einsum(x8, (0, 1), (0, 1)) * 1.9999999999999194 - x10 += einsum(x9, (0, 1), (0, 1)) * 2.9999999999998788 - rdm2_f_aaaa_oooo += einsum(delta.aa.oo, (0, 1), x10, (2, 3), (0, 3, 1, 2)) * -1.0 - rdm2_f_aaaa_oooo += einsum(delta.aa.oo, (0, 1), x10, (2, 3), (0, 3, 2, 1)) - rdm2_f_aaaa_oooo += einsum(delta.aa.oo, (0, 1), x10, (2, 3), (3, 0, 1, 2)) - rdm2_f_aaaa_oooo += einsum(delta.aa.oo, (0, 1), x10, (2, 3), (3, 0, 2, 1)) * -1.0 - del x10 - x11 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x11 += einsum(l1.aa, (0, 1), t1.aa, (2, 0), (1, 2)) - rdm2_f_aaaa_oooo += einsum(delta.aa.oo, (0, 1), x11, (2, 3), (0, 3, 1, 2)) * -1.0 - rdm2_f_aaaa_oooo += einsum(delta.aa.oo, (0, 1), x11, (2, 3), (3, 0, 1, 2)) - rdm2_f_aaaa_oooo += einsum(delta.aa.oo, (0, 1), x11, (2, 3), (0, 3, 2, 1)) - rdm2_f_aaaa_oooo += einsum(delta.aa.oo, (0, 1), x11, (2, 3), (3, 0, 2, 1)) * -1.0 - x12 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x12 += einsum(t2.abab, (0, 1, 2, 3), l3.abaaba, (4, 3, 2, 5, 1, 6), (5, 6, 0, 4)) - rdm2_f_aaaa_ovoo += einsum(x12, (0, 1, 2, 3), (2, 3, 1, 0)) * -2.0 - rdm2_f_aaaa_vooo += einsum(x12, (0, 1, 2, 3), (3, 2, 1, 0)) * 2.0 - x13 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x13 += einsum(t2.aaaa, (0, 1, 2, 3), l3.aaaaaa, (4, 2, 3, 5, 6, 1), (5, 6, 0, 4)) - rdm2_f_aaaa_ovoo += einsum(x13, (0, 1, 2, 3), (2, 3, 1, 0)) * -6.0 - rdm2_f_aaaa_vooo += einsum(x13, (0, 1, 2, 3), (3, 2, 1, 0)) * 6.0 - x14 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x14 += einsum(x12, (0, 1, 2, 3), (0, 1, 2, 3)) - x14 += einsum(x13, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0 - x15 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x15 += einsum(t1.aa, (0, 1), x14, (2, 3, 4, 1), (0, 2, 3, 4)) * 2.0 - rdm2_f_aaaa_oooo += einsum(x15, (0, 1, 2, 3), (0, 3, 2, 1)) * -1.0 - rdm2_f_aaaa_oooo += einsum(x15, (0, 1, 2, 3), (3, 0, 2, 1)) - del x15 - x16 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x16 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (6, 7, 5, 0, 1, 2), (4, 7, 3, 6)) - rdm2_f_abab_oooo = np.zeros((nocc[0], nocc[1], nocc[0], nocc[1]), dtype=types[float]) - rdm2_f_abab_oooo += einsum(x16, (0, 1, 2, 3), (3, 1, 2, 0)) * 2.0000000000000404 - x17 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x17 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (6, 7, 5, 0, 1, 2), (3, 6, 4, 7)) - rdm2_f_abab_oooo += einsum(x17, (0, 1, 2, 3), (3, 1, 2, 0)) * 2.0000000000000404 - x18 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x18 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 5, 0, 1), (3, 5, 2, 4)) - rdm2_f_abab_oooo += einsum(x18, (0, 1, 2, 3), (3, 1, 2, 0)) - x19 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x19 += einsum(t1.aa, (0, 1), l2.abab, (1, 2, 3, 4), (4, 2, 3, 0)) - rdm2_f_abab_ovoo += einsum(x19, (0, 1, 2, 3), (3, 1, 2, 0)) * -1.0 - x20 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x20 += einsum(t2.abab, (0, 1, 2, 3), l3.babbab, (4, 2, 3, 5, 6, 1), (5, 4, 6, 0)) - rdm2_f_abab_ovoo += einsum(x20, (0, 1, 2, 3), (3, 1, 2, 0)) * -2.0 - x21 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x21 += einsum(t2.aaaa, (0, 1, 2, 3), l3.abaaba, (2, 4, 3, 5, 6, 1), (6, 4, 5, 0)) - rdm2_f_abab_ovoo += einsum(x21, (0, 1, 2, 3), (3, 1, 2, 0)) * -2.0 - x22 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x22 += einsum(x19, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - x22 += einsum(x20, (0, 1, 2, 3), (0, 1, 2, 3)) - x22 += einsum(x21, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_abab_oooo += einsum(t1.bb, (0, 1), x22, (2, 1, 3, 4), (4, 0, 3, 2)) * 2.0 - rdm2_f_abab_ooov = np.zeros((nocc[0], nocc[1], nocc[0], nvir[1]), dtype=types[float]) - rdm2_f_abab_ooov += einsum(t2.bbbb, (0, 1, 2, 3), x22, (1, 3, 4, 5), (5, 0, 4, 2)) * -4.0 - rdm2_f_abab_oovo = np.zeros((nocc[0], nocc[1], nvir[0], nocc[1]), dtype=types[float]) - rdm2_f_abab_oovo += einsum(t2.abab, (0, 1, 2, 3), x22, (4, 3, 0, 5), (5, 1, 2, 4)) * 2.0 - rdm2_f_abab_ovvo += einsum(t1.aa, (0, 1), x22, (2, 3, 0, 4), (4, 3, 1, 2)) * -2.0 - rdm2_f_abab_ovvv += einsum(t2.abab, (0, 1, 2, 3), x22, (1, 4, 0, 5), (5, 4, 2, 3)) * -2.0 - x23 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x23 += einsum(t2.bbbb, (0, 1, 2, 3), l3.babbab, (2, 4, 3, 5, 6, 1), (5, 0, 6, 4)) - rdm2_f_abab_vooo += einsum(x23, (0, 1, 2, 3), (3, 1, 2, 0)) * -2.0 - x24 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x24 += einsum(t2.abab, (0, 1, 2, 3), l3.abaaba, (4, 3, 2, 5, 6, 0), (6, 1, 5, 4)) - rdm2_f_abab_vooo += einsum(x24, (0, 1, 2, 3), (3, 1, 2, 0)) * -2.0 - x25 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x25 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) - x25 += einsum(x24, (0, 1, 2, 3), (0, 1, 2, 3)) - x26 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x26 += einsum(t1.aa, (0, 1), x25, (2, 3, 4, 1), (2, 3, 0, 4)) * 2.0 - rdm2_f_abab_oooo += einsum(x26, (0, 1, 2, 3), (2, 1, 3, 0)) - x27 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x27 += einsum(delta.aa.oo, (0, 1), (0, 1)) * -1.0 - x27 += einsum(x11, (0, 1), (0, 1)) - x27 += einsum(x5, (0, 1), (0, 1)) - x27 += einsum(x6, (0, 1), (0, 1)) * 2.0 - x27 += einsum(x7, (0, 1), (0, 1)) * 0.9999999999999601 - x27 += einsum(x8, (0, 1), (0, 1)) * 1.9999999999999194 - x27 += einsum(x9, (0, 1), (0, 1)) * 2.9999999999998788 - rdm2_f_abab_oooo += einsum(delta.bb.oo, (0, 1), x27, (2, 3), (3, 0, 2, 1)) * -1.0 - del x27 - x28 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x28 += einsum(l1.bb, (0, 1), t1.bb, (2, 0), (1, 2)) - rdm2_f_bbbb_oooo += einsum(delta.bb.oo, (0, 1), x28, (2, 3), (0, 3, 1, 2)) * -1.0 - rdm2_f_bbbb_oooo += einsum(delta.bb.oo, (0, 1), x28, (2, 3), (3, 0, 1, 2)) - rdm2_f_bbbb_oooo += einsum(delta.bb.oo, (0, 1), x28, (2, 3), (0, 3, 2, 1)) - rdm2_f_bbbb_oooo += einsum(delta.bb.oo, (0, 1), x28, (2, 3), (3, 0, 2, 1)) * -1.0 - x29 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x29 += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 3, 0, 1), (2, 4)) - x30 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x30 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 1), (3, 4)) - x31 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x31 += einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), t3.bbbbbb, (6, 4, 5, 0, 1, 2), (3, 6)) - x32 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x32 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (6, 4, 5, 0, 1, 2), (3, 6)) - x33 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x33 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (3, 6, 5, 0, 1, 2), (4, 6)) - x34 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x34 += einsum(x28, (0, 1), (0, 1)) * 0.5 - x34 += einsum(x29, (0, 1), (0, 1)) - x34 += einsum(x30, (0, 1), (0, 1)) * 0.5 - x34 += einsum(x31, (0, 1), (0, 1)) * 1.4999999999999394 - x34 += einsum(x32, (0, 1), (0, 1)) * 0.9999999999999597 - x34 += einsum(x33, (0, 1), (0, 1)) * 0.49999999999998007 - rdm2_f_abab_oooo += einsum(delta.aa.oo, (0, 1), x34, (2, 3), (0, 3, 1, 2)) * -2.0 - rdm2_f_abab_oovo += einsum(t1.aa, (0, 1), x34, (2, 3), (0, 3, 1, 2)) * -2.0 - del x34 - x35 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x35 += einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), t3.bbbbbb, (6, 7, 5, 0, 1, 2), (3, 4, 6, 7)) - rdm2_f_bbbb_oooo += einsum(x35, (0, 1, 2, 3), (2, 3, 1, 0)) * -6.000000000000116 - x36 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x36 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (6, 4, 7, 0, 1, 2), (3, 5, 6, 7)) - rdm2_f_bbbb_oooo += einsum(x36, (0, 1, 2, 3), (2, 3, 1, 0)) * -2.0000000000000404 - x37 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x37 += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 5, 0, 1), (2, 3, 4, 5)) - rdm2_f_bbbb_oooo += einsum(x37, (0, 1, 2, 3), (3, 2, 1, 0)) * 2.0 - x38 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x38 += einsum(t1.bb, (0, 1), l2.bbbb, (2, 1, 3, 4), (3, 4, 0, 2)) - rdm2_f_bbbb_ovoo += einsum(x38, (0, 1, 2, 3), (2, 3, 1, 0)) * -2.0 - rdm2_f_bbbb_vooo += einsum(x38, (0, 1, 2, 3), (3, 2, 1, 0)) * 2.0 - x39 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x39 += einsum(t1.bb, (0, 1), x38, (2, 3, 4, 1), (2, 3, 0, 4)) - rdm2_f_bbbb_oooo += einsum(x39, (0, 1, 2, 3), (2, 3, 1, 0)) * -2.0 - x40 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x40 += einsum(t2.bbbb, (0, 1, 2, 3), l3.bbbbbb, (4, 2, 3, 5, 6, 1), (5, 6, 0, 4)) - rdm2_f_bbbb_ovoo += einsum(x40, (0, 1, 2, 3), (2, 3, 1, 0)) * -6.0 - rdm2_f_bbbb_vooo += einsum(x40, (0, 1, 2, 3), (3, 2, 1, 0)) * 6.0 - x41 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x41 += einsum(t2.abab, (0, 1, 2, 3), l3.babbab, (4, 2, 3, 5, 0, 6), (5, 6, 1, 4)) - rdm2_f_bbbb_ovoo += einsum(x41, (0, 1, 2, 3), (2, 3, 1, 0)) * -2.0 - rdm2_f_bbbb_vooo += einsum(x41, (0, 1, 2, 3), (3, 2, 1, 0)) * 2.0 - x42 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x42 += einsum(x40, (0, 1, 2, 3), (0, 1, 2, 3)) - x42 += einsum(x41, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.3333333333333333 - x43 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x43 += einsum(t1.bb, (0, 1), x42, (2, 3, 4, 1), (0, 2, 3, 4)) * 6.0 - rdm2_f_bbbb_oooo += einsum(x43, (0, 1, 2, 3), (0, 3, 2, 1)) * -1.0 - rdm2_f_bbbb_oooo += einsum(x43, (0, 1, 2, 3), (3, 0, 2, 1)) - del x43 - x44 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x44 += einsum(x29, (0, 1), (0, 1)) - x44 += einsum(x30, (0, 1), (0, 1)) * 0.5 - x44 += einsum(x31, (0, 1), (0, 1)) * 1.4999999999999394 - x44 += einsum(x32, (0, 1), (0, 1)) * 0.9999999999999597 - x44 += einsum(x33, (0, 1), (0, 1)) * 0.49999999999998007 - rdm2_f_bbbb_oooo += einsum(delta.bb.oo, (0, 1), x44, (2, 3), (0, 3, 1, 2)) * -2.0 - rdm2_f_bbbb_oooo += einsum(delta.bb.oo, (0, 1), x44, (2, 3), (0, 3, 2, 1)) * 2.0 - rdm2_f_bbbb_oooo += einsum(delta.bb.oo, (0, 1), x44, (2, 3), (3, 0, 1, 2)) * 2.0 - rdm2_f_bbbb_oooo += einsum(delta.bb.oo, (0, 1), x44, (2, 3), (3, 0, 2, 1)) * -2.0 - del x44 - x45 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x45 += einsum(t1.aa, (0, 1), l3.aaaaaa, (2, 3, 1, 4, 5, 6), (4, 5, 6, 0, 2, 3)) - x46 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x46 += einsum(t1.aa, (0, 1), x45, (2, 3, 4, 5, 1, 6), (3, 4, 2, 5, 0, 6)) - x47 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x47 += einsum(t2.aaaa, (0, 1, 2, 3), x46, (1, 0, 4, 5, 6, 3), (4, 6, 5, 2)) - rdm2_f_aaaa_ooov = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - rdm2_f_aaaa_ooov += einsum(x47, (0, 1, 2, 3), (1, 2, 0, 3)) * 6.0 - rdm2_f_aaaa_oovo = np.zeros((nocc[0], nocc[0], nvir[0], nocc[0]), dtype=types[float]) - rdm2_f_aaaa_oovo += einsum(x47, (0, 1, 2, 3), (1, 2, 3, 0)) * -6.0 - x48 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x48 += einsum(l2.aaaa, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 3, 6, 0, 1), (2, 4, 5, 6)) - rdm2_f_aaaa_ooov += einsum(x48, (0, 1, 2, 3), (1, 2, 0, 3)) * 6.0 - rdm2_f_aaaa_oovo += einsum(x48, (0, 1, 2, 3), (1, 2, 3, 0)) * -6.0 - x49 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x49 += einsum(l2.abab, (0, 1, 2, 3), t3.abaaba, (4, 3, 5, 6, 1, 0), (2, 4, 5, 6)) - rdm2_f_aaaa_ooov += einsum(x49, (0, 1, 2, 3), (1, 2, 0, 3)) * 2.0 - rdm2_f_aaaa_oovo += einsum(x49, (0, 1, 2, 3), (1, 2, 3, 0)) * -2.0 - x50 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x50 += einsum(l1.aa, (0, 1), t2.aaaa, (2, 3, 4, 0), (1, 2, 3, 4)) - rdm2_f_aaaa_ooov += einsum(x50, (0, 1, 2, 3), (2, 1, 0, 3)) * -2.0 - rdm2_f_aaaa_oovo += einsum(x50, (0, 1, 2, 3), (2, 1, 3, 0)) * 2.0 - x51 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x51 += einsum(t1.aa, (0, 1), l3.abaaba, (2, 3, 1, 4, 5, 6), (5, 3, 4, 6, 0, 2)) - rdm2_f_abab_ovvv += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x51, (1, 6, 0, 2, 7, 5), (7, 6, 3, 4)) * 2.0000000000000404 - x52 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x52 += einsum(t1.aa, (0, 1), x51, (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 6, 0)) * -1.0 - x53 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x53 += einsum(t2.abab, (0, 1, 2, 3), x52, (1, 3, 4, 0, 5, 6), (4, 6, 5, 2)) * -1.0 - rdm2_f_aaaa_ooov += einsum(x53, (0, 1, 2, 3), (1, 2, 0, 3)) * 2.0 - rdm2_f_aaaa_oovo += einsum(x53, (0, 1, 2, 3), (1, 2, 3, 0)) * -2.0 - x54 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x54 += einsum(l1.bb, (0, 1), t2.abab, (2, 1, 3, 0), (2, 3)) - x55 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x55 += einsum(l1.aa, (0, 1), t2.aaaa, (2, 1, 3, 0), (2, 3)) - x56 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x56 += einsum(l2.bbbb, (0, 1, 2, 3), t3.babbab, (2, 4, 3, 0, 5, 1), (4, 5)) - x57 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x57 += einsum(l2.abab, (0, 1, 2, 3), t3.abaaba, (4, 3, 2, 5, 1, 0), (4, 5)) - x58 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x58 += einsum(l2.aaaa, (0, 1, 2, 3), t3.aaaaaa, (4, 2, 3, 5, 0, 1), (4, 5)) - x59 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x59 += einsum(t1.aa, (0, 1), l3.babbab, (2, 1, 3, 4, 5, 6), (4, 6, 2, 3, 5, 0)) - rdm2_f_abab_ovvv += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x59, (2, 0, 6, 5, 1, 7), (7, 6, 4, 3)) * 2.0000000000000404 - x60 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x60 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x59, (0, 2, 3, 5, 1, 6), (6, 4)) - x61 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x61 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x51, (1, 4, 0, 2, 6, 5), (6, 3)) * -1.0 - x62 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x62 += einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), x45, (0, 1, 2, 6, 4, 5), (6, 3)) - x63 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x63 += einsum(t2.abab, (0, 1, 2, 3), x22, (1, 3, 0, 4), (4, 2)) * 2.0 - x64 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x64 += einsum(x1, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.3333333333333333 - x64 += einsum(x12, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.3333333333333333 - x64 += einsum(x13, (0, 1, 2, 3), (0, 1, 2, 3)) - x65 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x65 += einsum(t2.aaaa, (0, 1, 2, 3), x64, (0, 1, 4, 3), (4, 2)) * -6.0 - x66 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x66 += einsum(x11, (0, 1), (0, 1)) - x66 += einsum(x5, (0, 1), (0, 1)) - x66 += einsum(x6, (0, 1), (0, 1)) * 2.0 - x66 += einsum(x7, (0, 1), (0, 1)) * 0.9999999999999601 - x66 += einsum(x8, (0, 1), (0, 1)) * 1.9999999999999194 - x66 += einsum(x9, (0, 1), (0, 1)) * 2.9999999999998788 - rdm2_f_abab_ooov += einsum(t1.bb, (0, 1), x66, (2, 3), (3, 0, 2, 1)) * -1.0 - x67 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x67 += einsum(t1.aa, (0, 1), x66, (0, 2), (2, 1)) - x68 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x68 += einsum(x54, (0, 1), (0, 1)) * -1.0 - x68 += einsum(x55, (0, 1), (0, 1)) * -2.0 - x68 += einsum(x56, (0, 1), (0, 1)) * -1.0 - x68 += einsum(x57, (0, 1), (0, 1)) * -2.0 - x68 += einsum(x58, (0, 1), (0, 1)) * -3.0 - x68 += einsum(x60, (0, 1), (0, 1)) * 0.9999999999999601 - x68 += einsum(x61, (0, 1), (0, 1)) * 1.9999999999999194 - x68 += einsum(x62, (0, 1), (0, 1)) * 2.9999999999998788 - x68 += einsum(x63, (0, 1), (0, 1)) - x68 += einsum(x65, (0, 1), (0, 1)) - x68 += einsum(x67, (0, 1), (0, 1)) - rdm2_f_aaaa_ooov += einsum(delta.aa.oo, (0, 1), x68, (2, 3), (0, 2, 1, 3)) * -1.0 - rdm2_f_aaaa_ooov += einsum(delta.aa.oo, (0, 1), x68, (2, 3), (2, 0, 1, 3)) - rdm2_f_aaaa_oovo += einsum(delta.aa.oo, (0, 1), x68, (2, 3), (0, 2, 3, 1)) - rdm2_f_aaaa_oovo += einsum(delta.aa.oo, (0, 1), x68, (2, 3), (2, 0, 3, 1)) * -1.0 - x69 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x69 += einsum(t2.abab, (0, 1, 2, 3), x20, (1, 3, 4, 5), (4, 0, 5, 2)) - x70 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x70 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x59, (2, 0, 3, 5, 6, 7), (6, 7, 1, 4)) * -1.0 - x71 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x71 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x51, (1, 4, 6, 2, 7, 5), (6, 7, 0, 3)) * -1.0 - x72 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x72 += einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), x45, (1, 2, 6, 7, 5, 4), (6, 7, 0, 3)) * -1.0 - x73 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x73 += einsum(t2.aaaa, (0, 1, 2, 3), x64, (1, 4, 5, 3), (0, 4, 5, 2)) * 12.0 - x74 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x74 += einsum(x19, (0, 1, 2, 3), (0, 1, 2, 3)) - x74 += einsum(x21, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x75 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x75 += einsum(t2.abab, (0, 1, 2, 3), x74, (1, 3, 4, 5), (0, 4, 5, 2)) - x76 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x76 += einsum(t1.aa, (0, 1), x14, (2, 3, 4, 1), (0, 2, 3, 4)) - x77 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x77 += einsum(t1.aa, (0, 1), x76, (2, 0, 3, 4), (3, 2, 4, 1)) * 2.0 - del x76 - x78 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x78 += einsum(delta.aa.oo, (0, 1), t1.aa, (2, 3), (0, 1, 2, 3)) - x78 += einsum(x69, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 - x78 += einsum(x70, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x78 += einsum(x71, (0, 1, 2, 3), (1, 0, 2, 3)) * -4.0 - x78 += einsum(x72, (0, 1, 2, 3), (1, 0, 2, 3)) * -9.0 - x78 += einsum(x73, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - del x73 - x78 += einsum(x75, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - del x75 - x78 += einsum(x77, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x77 - x78 += einsum(t1.aa, (0, 1), x66, (2, 3), (0, 2, 3, 1)) - del x66 - rdm2_f_aaaa_ooov += einsum(x78, (0, 1, 2, 3), (0, 2, 1, 3)) - rdm2_f_aaaa_ooov += einsum(x78, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_aaaa_oovo += einsum(x78, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_aaaa_oovo += einsum(x78, (0, 1, 2, 3), (2, 0, 3, 1)) - del x78 - x79 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x79 += einsum(t2.abab, (0, 1, 2, 3), l3.abaaba, (4, 3, 5, 6, 1, 0), (6, 4, 5, 2)) - rdm2_f_aaaa_vvov = np.zeros((nvir[0], nvir[0], nocc[0], nvir[0]), dtype=types[float]) - rdm2_f_aaaa_vvov += einsum(x79, (0, 1, 2, 3), (1, 2, 0, 3)) * 2.0 - rdm2_f_aaaa_vvvo = np.zeros((nvir[0], nvir[0], nvir[0], nocc[0]), dtype=types[float]) - rdm2_f_aaaa_vvvo += einsum(x79, (0, 1, 2, 3), (1, 2, 3, 0)) * -2.0 - x80 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x80 += einsum(t2.aaaa, (0, 1, 2, 3), l3.aaaaaa, (4, 5, 3, 6, 0, 1), (6, 4, 5, 2)) - rdm2_f_aaaa_vvov += einsum(x80, (0, 1, 2, 3), (1, 2, 0, 3)) * 6.0 - rdm2_f_aaaa_vvvo += einsum(x80, (0, 1, 2, 3), (1, 2, 3, 0)) * -6.0 - x81 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x81 += einsum(x79, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.3333333333333333 - x81 += einsum(x80, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - rdm2_f_abab_oovv += einsum(x81, (0, 1, 2, 3), t3.abaaba, (4, 5, 0, 1, 6, 2), (4, 5, 3, 6)) * 6.0 - x82 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x82 += einsum(t2.aaaa, (0, 1, 2, 3), x81, (4, 2, 3, 5), (0, 1, 4, 5)) * 6.0 - del x81 - rdm2_f_aaaa_ooov += einsum(x82, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - rdm2_f_aaaa_oovo += einsum(x82, (0, 1, 2, 3), (1, 0, 3, 2)) - del x82 - x83 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x83 += einsum(x0, (0, 1, 2, 3), (1, 0, 3, 2)) * -0.3333333333333269 - x83 += einsum(x2, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.3333333333333269 - x83 += einsum(x3, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.3333333333333336 - x83 += einsum(x4, (0, 1, 2, 3), (0, 1, 3, 2)) - x84 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x84 += einsum(t1.aa, (0, 1), x83, (0, 2, 3, 4), (2, 3, 4, 1)) * 6.000000000000116 - del x83 - rdm2_f_aaaa_ooov += einsum(x84, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_aaaa_oovo += einsum(x84, (0, 1, 2, 3), (2, 1, 3, 0)) - del x84 - x85 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x85 += einsum(t1.bb, (0, 1), l3.abaaba, (2, 1, 3, 4, 5, 6), (5, 0, 4, 6, 2, 3)) - rdm2_f_abab_vovv += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x85, (1, 6, 0, 2, 7, 5), (7, 6, 3, 4)) * -2.0000000000000404 - x86 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x86 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x85, (1, 6, 7, 2, 5, 3), (6, 4, 7, 0)) * -1.0 - rdm2_f_abab_ooov += einsum(x86, (0, 1, 2, 3), (3, 0, 2, 1)) * 2.0 - x87 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x87 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x51, (2, 5, 6, 1, 7, 4), (0, 3, 6, 7)) * -1.0 - rdm2_f_abab_ooov += einsum(x87, (0, 1, 2, 3), (3, 0, 2, 1)) * -4.0 - x88 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x88 += einsum(t1.bb, (0, 1), x51, (2, 1, 3, 4, 5, 6), (2, 0, 3, 4, 5, 6)) - x89 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x89 += einsum(t2.abab, (0, 1, 2, 3), x88, (1, 4, 5, 0, 6, 2), (4, 3, 5, 6)) * -1.0 - rdm2_f_abab_ooov += einsum(x89, (0, 1, 2, 3), (3, 0, 2, 1)) * 2.0 - x90 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x90 += einsum(t1.bb, (0, 1), l3.babbab, (2, 3, 1, 4, 5, 6), (4, 6, 0, 2, 5, 3)) - rdm2_f_abab_vovv += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x90, (2, 0, 6, 5, 1, 7), (7, 6, 4, 3)) * -2.0000000000000404 - x91 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x91 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x90, (2, 0, 6, 5, 7, 4), (6, 3, 7, 1)) - rdm2_f_abab_ooov += einsum(x91, (0, 1, 2, 3), (3, 0, 2, 1)) * 2.0 - x92 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x92 += einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), x59, (1, 2, 4, 5, 6, 7), (0, 3, 6, 7)) - rdm2_f_abab_ooov += einsum(x92, (0, 1, 2, 3), (3, 0, 2, 1)) * -3.0 - x93 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x93 += einsum(t1.bb, (0, 1), x59, (2, 3, 1, 4, 5, 6), (3, 2, 0, 4, 5, 6)) - x94 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x94 += einsum(t2.bbbb, (0, 1, 2, 3), x93, (1, 0, 4, 3, 5, 6), (4, 2, 5, 6)) - rdm2_f_abab_ooov += einsum(x94, (0, 1, 2, 3), (3, 0, 2, 1)) * 2.0 - x95 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x95 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x45, (6, 2, 0, 7, 5, 3), (1, 4, 6, 7)) - rdm2_f_abab_ooov += einsum(x95, (0, 1, 2, 3), (3, 0, 2, 1)) * -3.0 - x96 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x96 += einsum(l1.aa, (0, 1), t2.abab, (2, 3, 0, 4), (3, 4, 1, 2)) - rdm2_f_abab_ooov += einsum(x96, (0, 1, 2, 3), (3, 0, 2, 1)) * -1.0 - x97 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x97 += einsum(l2.aaaa, (0, 1, 2, 3), t3.abaaba, (4, 5, 3, 0, 6, 1), (5, 6, 2, 4)) - rdm2_f_abab_ooov += einsum(x97, (0, 1, 2, 3), (3, 0, 2, 1)) * -2.0 - x98 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x98 += einsum(l2.abab, (0, 1, 2, 3), t3.babbab, (4, 5, 3, 6, 0, 1), (4, 6, 2, 5)) - rdm2_f_abab_ooov += einsum(x98, (0, 1, 2, 3), (3, 0, 2, 1)) * -2.0 - x99 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x99 += einsum(t2.bbbb, (0, 1, 2, 3), l3.babbab, (4, 5, 3, 0, 6, 1), (4, 2, 6, 5)) - rdm2_f_abab_vvov += einsum(x99, (0, 1, 2, 3), (3, 0, 2, 1)) * 2.0 - x100 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x100 += einsum(t2.abab, (0, 1, 2, 3), l3.abaaba, (4, 5, 2, 6, 1, 0), (5, 3, 6, 4)) - rdm2_f_abab_vvov += einsum(x100, (0, 1, 2, 3), (3, 0, 2, 1)) * 2.0 - x101 = np.zeros((nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x101 += einsum(x99, (0, 1, 2, 3), (0, 1, 2, 3)) - x101 += einsum(x100, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_abab_ooov += einsum(t2.abab, (0, 1, 2, 3), x101, (3, 4, 5, 2), (0, 1, 5, 4)) * 2.0 - rdm2_f_abab_ovvv += einsum(t2.aaaa, (0, 1, 2, 3), x101, (4, 5, 1, 3), (0, 4, 2, 5)) * 4.0 - rdm2_f_abab_vovv += einsum(t2.abab, (0, 1, 2, 3), x101, (3, 4, 0, 5), (5, 1, 2, 4)) * -2.0 - rdm2_f_abab_vvvv += einsum(t1.aa, (0, 1), x101, (2, 3, 0, 4), (4, 2, 1, 3)) * 2.0 - x102 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x102 += einsum(x1, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x102 += einsum(x12, (0, 1, 2, 3), (0, 1, 2, 3)) - x102 += einsum(x13, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0 - rdm2_f_abab_ooov += einsum(t2.abab, (0, 1, 2, 3), x102, (0, 4, 5, 2), (5, 1, 4, 3)) * -2.0 - rdm2_f_abab_oovv += einsum(x102, (0, 1, 2, 3), t3.abaaba, (0, 4, 1, 5, 6, 3), (2, 4, 5, 6)) * 2.0 - x103 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x103 += einsum(t1.bb, (0, 1), l2.abab, (2, 1, 3, 4), (4, 0, 3, 2)) - rdm2_f_abab_vooo += einsum(x103, (0, 1, 2, 3), (3, 1, 2, 0)) * -1.0 - x104 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x104 += einsum(x103, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - x104 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) - x104 += einsum(x24, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_abab_ooov += einsum(t2.abab, (0, 1, 2, 3), x104, (1, 4, 5, 2), (0, 4, 5, 3)) * 2.0 - rdm2_f_abab_oovo += einsum(t2.aaaa, (0, 1, 2, 3), x104, (4, 5, 1, 3), (0, 5, 2, 4)) * -4.0 - rdm2_f_abab_voov += einsum(t1.bb, (0, 1), x104, (0, 2, 3, 4), (4, 2, 3, 1)) * -2.0 - rdm2_f_abab_vovo = np.zeros((nvir[0], nocc[1], nvir[0], nocc[1]), dtype=types[float]) - rdm2_f_abab_vovo += einsum(t1.aa, (0, 1), x104, (2, 3, 0, 4), (4, 3, 1, 2)) * -2.0 - x105 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x105 += einsum(x19, (0, 1, 2, 3), (0, 1, 2, 3)) - x105 += einsum(x20, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x105 += einsum(x21, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - rdm2_f_abab_oovv += einsum(x105, (0, 1, 2, 3), t3.babbab, (4, 2, 0, 5, 6, 1), (3, 4, 6, 5)) * -2.0 - rdm2_f_abab_ovov = np.zeros((nocc[0], nvir[1], nocc[0], nvir[1]), dtype=types[float]) - rdm2_f_abab_ovov += einsum(t1.bb, (0, 1), x105, (0, 2, 3, 4), (4, 2, 3, 1)) * -1.0 - x106 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x106 += einsum(t1.bb, (0, 1), x105, (2, 1, 3, 4), (2, 0, 3, 4)) * 0.4999999999999899 - x107 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x107 += einsum(t1.aa, (0, 1), x25, (2, 3, 4, 1), (2, 3, 0, 4)) * 0.9999999999999798 - x108 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x108 += einsum(x18, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.4999999999999899 - x108 += einsum(x17, (0, 1, 2, 3), (0, 1, 2, 3)) - x108 += einsum(x16, (0, 1, 2, 3), (0, 1, 2, 3)) - x108 += einsum(x106, (0, 1, 2, 3), (0, 1, 2, 3)) - del x106 - x108 += einsum(x107, (0, 1, 2, 3), (0, 1, 3, 2)) - del x107 - rdm2_f_abab_ooov += einsum(t1.bb, (0, 1), x108, (0, 2, 3, 4), (4, 2, 3, 1)) * 2.0000000000000404 - rdm2_f_abab_oovo += einsum(t1.aa, (0, 1), x108, (2, 3, 0, 4), (4, 3, 1, 2)) * 2.0000000000000404 - del x108 - x109 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x109 += einsum(l1.bb, (0, 1), t2.bbbb, (2, 1, 3, 0), (2, 3)) - x110 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x110 += einsum(l1.aa, (0, 1), t2.abab, (1, 2, 0, 3), (2, 3)) - x111 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x111 += einsum(l2.bbbb, (0, 1, 2, 3), t3.bbbbbb, (4, 2, 3, 5, 0, 1), (4, 5)) - x112 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x112 += einsum(l2.abab, (0, 1, 2, 3), t3.babbab, (4, 2, 3, 5, 0, 1), (4, 5)) - x113 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x113 += einsum(l2.aaaa, (0, 1, 2, 3), t3.abaaba, (2, 4, 3, 0, 5, 1), (4, 5)) - x114 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x114 += einsum(t1.bb, (0, 1), l3.bbbbbb, (2, 3, 1, 4, 5, 6), (4, 5, 6, 0, 2, 3)) - x115 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x115 += einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), x114, (0, 1, 2, 6, 4, 5), (6, 3)) - x116 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x116 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x90, (2, 0, 6, 5, 1, 4), (6, 3)) - x117 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x117 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x85, (1, 6, 0, 2, 3, 5), (6, 4)) - x118 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x118 += einsum(x38, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x118 += einsum(x40, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0 - x118 += einsum(x41, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_abab_oovo += einsum(t2.abab, (0, 1, 2, 3), x118, (1, 4, 5, 3), (0, 5, 2, 4)) * -2.0 - rdm2_f_abab_oovv += einsum(x118, (0, 1, 2, 3), t3.babbab, (0, 4, 1, 5, 6, 3), (4, 2, 6, 5)) * 2.0 - x119 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x119 += einsum(x28, (0, 1), (0, 1)) - x119 += einsum(x29, (0, 1), (0, 1)) * 2.0 - x119 += einsum(x30, (0, 1), (0, 1)) - x119 += einsum(x31, (0, 1), (0, 1)) * 2.9999999999998788 - x119 += einsum(x32, (0, 1), (0, 1)) * 1.9999999999999194 - x119 += einsum(x33, (0, 1), (0, 1)) * 0.9999999999999601 - rdm2_f_abab_oovv += einsum(x119, (0, 1), t2.abab, (2, 0, 3, 4), (2, 1, 3, 4)) * -1.0 - x120 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x120 += einsum(t1.bb, (0, 1), (0, 1)) * -1.0 - x120 += einsum(x109, (0, 1), (0, 1)) * -2.0 - x120 += einsum(x110, (0, 1), (0, 1)) * -1.0 - x120 += einsum(x111, (0, 1), (0, 1)) * -3.0 - x120 += einsum(x112, (0, 1), (0, 1)) * -2.0 - x120 += einsum(x113, (0, 1), (0, 1)) * -1.0 - x120 += einsum(x115, (0, 1), (0, 1)) * 2.9999999999998788 - x120 += einsum(x116, (0, 1), (0, 1)) * 1.9999999999999194 - x120 += einsum(x117, (0, 1), (0, 1)) * 0.9999999999999601 - x120 += einsum(t2.bbbb, (0, 1, 2, 3), x118, (0, 1, 4, 3), (4, 2)) * -2.0 - x120 += einsum(t2.abab, (0, 1, 2, 3), x104, (1, 4, 0, 2), (4, 3)) * 2.0 - x120 += einsum(t1.bb, (0, 1), x119, (0, 2), (2, 1)) - rdm2_f_abab_ooov += einsum(delta.aa.oo, (0, 1), x120, (2, 3), (0, 2, 1, 3)) * -1.0 - del x120 - x121 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x121 += einsum(l1.bb, (0, 1), t2.bbbb, (2, 3, 4, 0), (1, 2, 3, 4)) - rdm2_f_bbbb_ooov = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - rdm2_f_bbbb_ooov += einsum(x121, (0, 1, 2, 3), (2, 1, 0, 3)) * -2.0 - rdm2_f_bbbb_oovo = np.zeros((nocc[1], nocc[1], nvir[1], nocc[1]), dtype=types[float]) - rdm2_f_bbbb_oovo += einsum(x121, (0, 1, 2, 3), (2, 1, 3, 0)) * 2.0 - x122 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x122 += einsum(t1.bb, (0, 1), x90, (2, 3, 4, 1, 5, 6), (2, 3, 4, 0, 5, 6)) * -1.0 - x123 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x123 += einsum(t2.abab, (0, 1, 2, 3), x122, (4, 1, 5, 6, 0, 2), (4, 6, 5, 3)) * -1.0 - rdm2_f_bbbb_ooov += einsum(x123, (0, 1, 2, 3), (1, 2, 0, 3)) * 2.0 - rdm2_f_bbbb_oovo += einsum(x123, (0, 1, 2, 3), (1, 2, 3, 0)) * -2.0 - x124 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x124 += einsum(l2.bbbb, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 3, 6, 0, 1), (2, 4, 5, 6)) - rdm2_f_bbbb_ooov += einsum(x124, (0, 1, 2, 3), (1, 2, 0, 3)) * 6.0 - rdm2_f_bbbb_oovo += einsum(x124, (0, 1, 2, 3), (1, 2, 3, 0)) * -6.0 - x125 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x125 += einsum(l2.abab, (0, 1, 2, 3), t3.babbab, (4, 2, 5, 6, 0, 1), (3, 4, 5, 6)) - rdm2_f_bbbb_ooov += einsum(x125, (0, 1, 2, 3), (1, 2, 0, 3)) * 2.0 - rdm2_f_bbbb_oovo += einsum(x125, (0, 1, 2, 3), (1, 2, 3, 0)) * -2.0 - x126 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x126 += einsum(t1.bb, (0, 1), x114, (2, 3, 4, 5, 1, 6), (3, 4, 2, 5, 0, 6)) - x127 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x127 += einsum(t2.bbbb, (0, 1, 2, 3), x126, (0, 1, 4, 5, 6, 3), (4, 6, 5, 2)) * -1.0 - rdm2_f_bbbb_ooov += einsum(x127, (0, 1, 2, 3), (1, 2, 0, 3)) * 6.0 - rdm2_f_bbbb_oovo += einsum(x127, (0, 1, 2, 3), (1, 2, 3, 0)) * -6.0 - x128 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x128 += einsum(t2.bbbb, (0, 1, 2, 3), x118, (0, 1, 4, 3), (4, 2)) * -1.0 - x129 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x129 += einsum(t2.abab, (0, 1, 2, 3), x104, (1, 4, 0, 2), (4, 3)) - del x104 - x130 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x130 += einsum(t1.bb, (0, 1), x119, (0, 2), (2, 1)) * 0.5 - x131 = np.zeros((nocc[1], nvir[1]), dtype=types[float]) - x131 += einsum(x109, (0, 1), (0, 1)) * -1.0 - del x109 - x131 += einsum(x110, (0, 1), (0, 1)) * -0.5 - del x110 - x131 += einsum(x111, (0, 1), (0, 1)) * -1.5 - del x111 - x131 += einsum(x112, (0, 1), (0, 1)) * -1.0 - del x112 - x131 += einsum(x113, (0, 1), (0, 1)) * -0.5 - del x113 - x131 += einsum(x115, (0, 1), (0, 1)) * 1.4999999999999394 - del x115 - x131 += einsum(x116, (0, 1), (0, 1)) * 0.9999999999999597 - del x116 - x131 += einsum(x117, (0, 1), (0, 1)) * 0.49999999999998007 - del x117 - x131 += einsum(x128, (0, 1), (0, 1)) - del x128 - x131 += einsum(x129, (0, 1), (0, 1)) - del x129 - x131 += einsum(x130, (0, 1), (0, 1)) - del x130 - rdm2_f_bbbb_ooov += einsum(delta.bb.oo, (0, 1), x131, (2, 3), (0, 2, 1, 3)) * -2.0 - rdm2_f_bbbb_ooov += einsum(delta.bb.oo, (0, 1), x131, (2, 3), (2, 0, 1, 3)) * 2.0 - rdm2_f_bbbb_oovo += einsum(delta.bb.oo, (0, 1), x131, (2, 3), (0, 2, 3, 1)) * 2.0 - rdm2_f_bbbb_oovo += einsum(delta.bb.oo, (0, 1), x131, (2, 3), (2, 0, 3, 1)) * -2.0 - rdm2_f_abab_oovv += einsum(t1.aa, (0, 1), x131, (2, 3), (0, 2, 1, 3)) * -2.0 - x132 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x132 += einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), x114, (6, 1, 2, 7, 4, 5), (6, 7, 0, 3)) - x133 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x133 += einsum(t1.bb, (0, 1), x40, (2, 3, 4, 1), (2, 3, 0, 4)) - x134 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x134 += einsum(t1.bb, (0, 1), x133, (0, 2, 3, 4), (2, 3, 4, 1)) * -1.0 - del x133 - x135 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x135 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x90, (6, 2, 7, 5, 1, 4), (6, 7, 0, 3)) * -1.0 - x136 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x136 += einsum(t2.abab, (0, 1, 2, 3), x24, (4, 5, 0, 2), (4, 1, 5, 3)) - x137 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x137 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x85, (6, 7, 0, 2, 5, 3), (6, 7, 1, 4)) * -1.0 - x138 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x138 += einsum(x38, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x138 += einsum(x40, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0 - x139 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x139 += einsum(t2.bbbb, (0, 1, 2, 3), x138, (1, 4, 5, 3), (4, 5, 0, 2)) * 4.0 - del x138 - x140 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x140 += einsum(x103, (0, 1, 2, 3), (0, 1, 2, 3)) - x140 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x141 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x141 += einsum(t2.abab, (0, 1, 2, 3), x140, (4, 5, 0, 2), (4, 5, 1, 3)) - del x140 - x142 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x142 += einsum(t2.bbbb, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x142 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1)) * -1.0 - x143 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x143 += einsum(x142, (0, 1, 2, 3), x41, (4, 0, 5, 2), (1, 4, 5, 3)) * 2.0 - del x142 - x144 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x144 += einsum(delta.bb.oo, (0, 1), t1.bb, (2, 3), (0, 1, 2, 3)) - x144 += einsum(x132, (0, 1, 2, 3), (1, 0, 2, 3)) * -9.0 - x144 += einsum(x134, (0, 1, 2, 3), (1, 0, 2, 3)) * 6.0 - del x134 - x144 += einsum(x135, (0, 1, 2, 3), (1, 0, 2, 3)) * -4.0 - x144 += einsum(x136, (0, 1, 2, 3), (1, 0, 2, 3)) * 2.0 - x144 += einsum(x137, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x144 += einsum(x139, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x139 - x144 += einsum(x141, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x141 - x144 += einsum(x143, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x143 - x144 += einsum(t1.bb, (0, 1), x119, (2, 3), (0, 2, 3, 1)) - del x119 - rdm2_f_bbbb_ooov += einsum(x144, (0, 1, 2, 3), (0, 2, 1, 3)) - rdm2_f_bbbb_ooov += einsum(x144, (0, 1, 2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_bbbb_oovo += einsum(x144, (0, 1, 2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_bbbb_oovo += einsum(x144, (0, 1, 2, 3), (2, 0, 3, 1)) - del x144 - x145 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x145 += einsum(t2.bbbb, (0, 1, 2, 3), l3.bbbbbb, (4, 5, 3, 6, 0, 1), (6, 4, 5, 2)) - rdm2_f_bbbb_vvov = np.zeros((nvir[1], nvir[1], nocc[1], nvir[1]), dtype=types[float]) - rdm2_f_bbbb_vvov += einsum(x145, (0, 1, 2, 3), (1, 2, 0, 3)) * 6.0 - rdm2_f_bbbb_vvvo = np.zeros((nvir[1], nvir[1], nvir[1], nocc[1]), dtype=types[float]) - rdm2_f_bbbb_vvvo += einsum(x145, (0, 1, 2, 3), (1, 2, 3, 0)) * -6.0 - x146 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x146 += einsum(t2.abab, (0, 1, 2, 3), l3.babbab, (4, 2, 5, 6, 0, 1), (6, 4, 5, 3)) - rdm2_f_bbbb_vvov += einsum(x146, (0, 1, 2, 3), (1, 2, 0, 3)) * 2.0 - rdm2_f_bbbb_vvvo += einsum(x146, (0, 1, 2, 3), (1, 2, 3, 0)) * -2.0 - x147 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x147 += einsum(x145, (0, 1, 2, 3), (0, 2, 1, 3)) * -3.0 - x147 += einsum(x146, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - rdm2_f_abab_oovv += einsum(x147, (0, 1, 2, 3), t3.babbab, (4, 5, 0, 1, 6, 2), (5, 4, 6, 3)) * 2.0 - rdm2_f_abab_ovvv += einsum(t2.abab, (0, 1, 2, 3), x147, (1, 4, 3, 5), (0, 4, 2, 5)) * -2.0 - x148 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x148 += einsum(t2.bbbb, (0, 1, 2, 3), x147, (4, 2, 3, 5), (4, 0, 1, 5)) * 2.0 - del x147 - rdm2_f_bbbb_ooov += einsum(x148, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_bbbb_oovo += einsum(x148, (0, 1, 2, 3), (2, 1, 3, 0)) - del x148 - x149 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x149 += einsum(x37, (0, 1, 2, 3), (1, 0, 3, 2)) * -0.9999999999999798 - x149 += einsum(x39, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.9999999999999798 - x149 += einsum(x35, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.999999999999998 - x149 += einsum(x36, (0, 1, 2, 3), (0, 1, 3, 2)) - x150 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x150 += einsum(t1.bb, (0, 1), x149, (0, 2, 3, 4), (2, 3, 4, 1)) * 2.0000000000000404 - del x149 - rdm2_f_bbbb_ooov += einsum(x150, (0, 1, 2, 3), (2, 1, 0, 3)) * -1.0 - rdm2_f_bbbb_oovo += einsum(x150, (0, 1, 2, 3), (2, 1, 3, 0)) - del x150 - x151 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x151 += einsum(l2.bbbb, (0, 1, 2, 3), t3.babbab, (4, 5, 3, 0, 6, 1), (2, 4, 5, 6)) - rdm2_f_abab_oovo += einsum(x151, (0, 1, 2, 3), (2, 1, 3, 0)) * -2.0 - x152 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x152 += einsum(l1.bb, (0, 1), t2.abab, (2, 3, 4, 0), (1, 3, 2, 4)) - rdm2_f_abab_oovo += einsum(x152, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - x153 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x153 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x114, (0, 2, 6, 7, 3, 5), (6, 7, 1, 4)) - rdm2_f_abab_oovo += einsum(x153, (0, 1, 2, 3), (2, 1, 3, 0)) * -3.0 - x154 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x154 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x59, (2, 6, 3, 5, 1, 7), (6, 0, 7, 4)) * -1.0 - rdm2_f_abab_oovo += einsum(x154, (0, 1, 2, 3), (2, 1, 3, 0)) * 2.0 - x155 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x155 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x90, (1, 6, 7, 4, 2, 5), (6, 7, 0, 3)) - rdm2_f_abab_oovo += einsum(x155, (0, 1, 2, 3), (2, 1, 3, 0)) * -4.0 - x156 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x156 += einsum(t2.abab, (0, 1, 2, 3), x93, (1, 4, 5, 3, 0, 6), (4, 5, 6, 2)) - rdm2_f_abab_oovo += einsum(x156, (0, 1, 2, 3), (2, 1, 3, 0)) * 2.0 - x157 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x157 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x51, (6, 4, 0, 2, 7, 5), (6, 1, 7, 3)) * -1.0 - rdm2_f_abab_oovo += einsum(x157, (0, 1, 2, 3), (2, 1, 3, 0)) * 2.0 - x158 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x158 += einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), x85, (6, 7, 1, 2, 4, 5), (6, 7, 0, 3)) - rdm2_f_abab_oovo += einsum(x158, (0, 1, 2, 3), (2, 1, 3, 0)) * -3.0 - x159 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x159 += einsum(t2.aaaa, (0, 1, 2, 3), x88, (4, 5, 1, 0, 6, 3), (4, 5, 6, 2)) - rdm2_f_abab_oovo += einsum(x159, (0, 1, 2, 3), (2, 1, 3, 0)) * 2.0 - x160 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x160 += einsum(l2.abab, (0, 1, 2, 3), t3.abaaba, (4, 5, 2, 6, 1, 0), (3, 5, 4, 6)) - rdm2_f_abab_oovo += einsum(x160, (0, 1, 2, 3), (2, 1, 3, 0)) * -2.0 - x161 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x161 += einsum(t2.abab, (0, 1, 2, 3), l3.babbab, (4, 5, 3, 6, 0, 1), (6, 4, 5, 2)) - rdm2_f_abab_vvvo = np.zeros((nvir[0], nvir[1], nvir[0], nocc[1]), dtype=types[float]) - rdm2_f_abab_vvvo += einsum(x161, (0, 1, 2, 3), (2, 1, 3, 0)) * 2.0 - x162 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x162 += einsum(t2.aaaa, (0, 1, 2, 3), l3.abaaba, (4, 5, 3, 0, 6, 1), (6, 5, 4, 2)) - rdm2_f_abab_vvvo += einsum(x162, (0, 1, 2, 3), (2, 1, 3, 0)) * 2.0 - x163 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x163 += einsum(x161, (0, 1, 2, 3), (0, 1, 2, 3)) - x163 += einsum(x162, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_abab_oovo += einsum(t2.abab, (0, 1, 2, 3), x163, (4, 3, 2, 5), (0, 1, 5, 4)) * 2.0 - rdm2_f_abab_ovvv += einsum(t2.abab, (0, 1, 2, 3), x163, (1, 4, 2, 5), (0, 4, 5, 3)) * -2.0 - rdm2_f_abab_vovv += einsum(t2.bbbb, (0, 1, 2, 3), x163, (1, 3, 4, 5), (4, 0, 5, 2)) * 4.0 - x164 = np.zeros((nocc[0], nvir[0]), dtype=types[float]) - x164 += einsum(t1.aa, (0, 1), (0, 1)) * -1.0 - x164 += einsum(x54, (0, 1), (0, 1)) * -1.0 - del x54 - x164 += einsum(x55, (0, 1), (0, 1)) * -2.0 - del x55 - x164 += einsum(x56, (0, 1), (0, 1)) * -1.0 - del x56 - x164 += einsum(x57, (0, 1), (0, 1)) * -2.0 - del x57 - x164 += einsum(x58, (0, 1), (0, 1)) * -3.0 - del x58 - x164 += einsum(x60, (0, 1), (0, 1)) * 0.9999999999999601 - del x60 - x164 += einsum(x61, (0, 1), (0, 1)) * 1.9999999999999194 - del x61 - x164 += einsum(x62, (0, 1), (0, 1)) * 2.9999999999998788 - del x62 - x164 += einsum(x63, (0, 1), (0, 1)) - del x63 - x164 += einsum(x65, (0, 1), (0, 1)) - del x65 - x164 += einsum(x67, (0, 1), (0, 1)) - del x67 - rdm2_f_abab_oovo += einsum(delta.bb.oo, (0, 1), x164, (2, 3), (2, 0, 3, 1)) * -1.0 - rdm2_f_abab_oovv += einsum(t1.bb, (0, 1), x164, (2, 3), (2, 0, 3, 1)) * -1.0 - del x164 - x165 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x165 += einsum(t2.abab, (0, 1, 2, 3), x59, (4, 1, 5, 3, 0, 6), (4, 5, 6, 2)) - rdm2_f_abab_ovvo += einsum(x165, (0, 1, 2, 3), (2, 1, 3, 0)) * -2.0 - x166 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x166 += einsum(t2.abab, (0, 1, 2, 3), x165, (1, 3, 4, 5), (4, 0, 2, 5)) - x167 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x167 += einsum(l2.abab, (0, 1, 2, 3), t2.aaaa, (4, 2, 5, 0), (3, 1, 4, 5)) - rdm2_f_abab_ovvo += einsum(x167, (0, 1, 2, 3), (2, 1, 3, 0)) * 2.0 - x168 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x168 += einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), t3.babbab, (4, 6, 5, 1, 7, 2), (3, 0, 6, 7)) - rdm2_f_abab_ovvo += einsum(x168, (0, 1, 2, 3), (2, 1, 3, 0)) * 3.0 - x169 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x169 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.abaaba, (6, 5, 4, 7, 2, 1), (3, 0, 6, 7)) - rdm2_f_abab_ovvo += einsum(x169, (0, 1, 2, 3), (2, 1, 3, 0)) * 4.0 - x170 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x170 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.aaaaaa, (6, 3, 5, 7, 0, 2), (4, 1, 6, 7)) - rdm2_f_abab_ovvo += einsum(x170, (0, 1, 2, 3), (2, 1, 3, 0)) * 3.0 - x171 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x171 += einsum(x167, (0, 1, 2, 3), (0, 1, 2, 3)) - x171 += einsum(x168, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.5 - x171 += einsum(x169, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x171 += einsum(x170, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.5 - x172 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x172 += einsum(t2.abab, (0, 1, 2, 3), x171, (1, 3, 4, 5), (4, 0, 5, 2)) * 2.0 - del x171 - x173 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x173 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (3, 6, 5, 0, 7, 2), (4, 6, 1, 7)) - rdm2_f_aaaa_ovov += einsum(x173, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_aaaa_ovvo += einsum(x173, (0, 1, 2, 3), (1, 2, 3, 0)) - rdm2_f_aaaa_voov += einsum(x173, (0, 1, 2, 3), (2, 1, 0, 3)) - rdm2_f_aaaa_vovo += einsum(x173, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - x174 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x174 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (6, 4, 5, 7, 1, 2), (3, 6, 0, 7)) - rdm2_f_aaaa_ovov += einsum(x174, (0, 1, 2, 3), (1, 2, 0, 3)) * -4.0 - rdm2_f_aaaa_ovvo += einsum(x174, (0, 1, 2, 3), (1, 2, 3, 0)) * 4.0 - rdm2_f_aaaa_voov += einsum(x174, (0, 1, 2, 3), (2, 1, 0, 3)) * 4.0 - rdm2_f_aaaa_vovo += einsum(x174, (0, 1, 2, 3), (2, 1, 3, 0)) * -4.0 - x175 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x175 += einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), t3.aaaaaa, (6, 4, 5, 7, 1, 2), (3, 6, 0, 7)) - rdm2_f_aaaa_ovov += einsum(x175, (0, 1, 2, 3), (1, 2, 0, 3)) * -9.0 - rdm2_f_aaaa_ovvo += einsum(x175, (0, 1, 2, 3), (1, 2, 3, 0)) * 9.0 - rdm2_f_aaaa_voov += einsum(x175, (0, 1, 2, 3), (2, 1, 0, 3)) * 9.0 - rdm2_f_aaaa_vovo += einsum(x175, (0, 1, 2, 3), (2, 1, 3, 0)) * -9.0 - x176 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x176 += einsum(x173, (0, 1, 2, 3), (0, 1, 2, 3)) - x176 += einsum(x174, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.0 - x176 += einsum(x175, (0, 1, 2, 3), (0, 1, 2, 3)) * 9.0 - x177 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x177 += einsum(t2.aaaa, (0, 1, 2, 3), x176, (1, 4, 3, 5), (4, 0, 5, 2)) * 2.0 - del x176 - x178 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x178 += einsum(t2.abab, (0, 1, 2, 3), x51, (1, 3, 4, 0, 5, 6), (4, 5, 6, 2)) - rdm2_f_aaaa_ovov += einsum(x178, (0, 1, 2, 3), (1, 2, 0, 3)) * 2.0 - rdm2_f_aaaa_ovvo += einsum(x178, (0, 1, 2, 3), (1, 2, 3, 0)) * -2.0 - rdm2_f_aaaa_voov += einsum(x178, (0, 1, 2, 3), (2, 1, 0, 3)) * -2.0 - rdm2_f_aaaa_vovo += einsum(x178, (0, 1, 2, 3), (2, 1, 3, 0)) * 2.0 - x179 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x179 += einsum(t2.aaaa, (0, 1, 2, 3), x45, (4, 1, 0, 5, 6, 3), (4, 5, 6, 2)) - rdm2_f_aaaa_ovov += einsum(x179, (0, 1, 2, 3), (1, 2, 0, 3)) * 6.0 - rdm2_f_aaaa_ovvo += einsum(x179, (0, 1, 2, 3), (1, 2, 3, 0)) * -6.0 - rdm2_f_aaaa_voov += einsum(x179, (0, 1, 2, 3), (2, 1, 0, 3)) * -6.0 - rdm2_f_aaaa_vovo += einsum(x179, (0, 1, 2, 3), (2, 1, 3, 0)) * 6.0 - x180 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x180 += einsum(t1.aa, (0, 1), x14, (2, 0, 3, 4), (2, 3, 1, 4)) - x181 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x181 += einsum(x178, (0, 1, 2, 3), (0, 1, 2, 3)) - x181 += einsum(x179, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0 - x181 += einsum(x180, (0, 1, 2, 3), (0, 1, 3, 2)) - x182 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x182 += einsum(t2.aaaa, (0, 1, 2, 3), x181, (1, 4, 3, 5), (4, 0, 5, 2)) * 4.0 - del x181 - x183 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x183 += einsum(t2.aaaa, (0, 1, 2, 3), x51, (4, 5, 0, 1, 6, 3), (4, 5, 6, 2)) * -1.0 - rdm2_f_abab_ovvo += einsum(x183, (0, 1, 2, 3), (2, 1, 3, 0)) * -2.0 - x184 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x184 += einsum(t1.aa, (0, 1), x21, (2, 3, 0, 4), (2, 3, 4, 1)) - x185 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x185 += einsum(x183, (0, 1, 2, 3), (0, 1, 2, 3)) - x185 += einsum(x184, (0, 1, 2, 3), (0, 1, 2, 3)) - del x184 - x186 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x186 += einsum(t2.abab, (0, 1, 2, 3), x185, (1, 3, 4, 5), (4, 0, 5, 2)) * 2.0 - del x185 - x187 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x187 += einsum(t2.abab, (0, 1, 2, 3), x19, (1, 3, 4, 5), (4, 5, 0, 2)) - x188 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x188 += einsum(t2.aaaa, (0, 1, 2, 3), x1, (4, 1, 5, 3), (4, 5, 0, 2)) * -1.0 - x189 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x189 += einsum(x187, (0, 1, 2, 3), (0, 1, 2, 3)) - del x187 - x189 += einsum(x188, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.0 - del x188 - x189 += einsum(x70, (0, 1, 2, 3), (0, 1, 2, 3)) - del x70 - x189 += einsum(x69, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - del x69 - x189 += einsum(x71, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.0 - del x71 - x189 += einsum(x72, (0, 1, 2, 3), (0, 1, 2, 3)) * 9.0 - del x72 - x190 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x190 += einsum(t1.aa, (0, 1), x189, (0, 2, 3, 4), (2, 3, 4, 1)) - del x189 - x191 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x191 += einsum(x166, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - del x166 - x191 += einsum(x172, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x172 - x191 += einsum(x177, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x177 - x191 += einsum(x182, (0, 1, 2, 3), (0, 1, 2, 3)) - del x182 - x191 += einsum(x186, (0, 1, 2, 3), (0, 1, 2, 3)) - del x186 - x191 += einsum(x190, (0, 1, 2, 3), (0, 1, 3, 2)) - del x190 - x191 += einsum(t1.aa, (0, 1), x68, (2, 3), (0, 2, 1, 3)) - del x68 - rdm2_f_aaaa_oovv += einsum(x191, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - rdm2_f_aaaa_oovv += einsum(x191, (0, 1, 2, 3), (0, 1, 3, 2)) - rdm2_f_aaaa_oovv += einsum(x191, (0, 1, 2, 3), (1, 0, 2, 3)) - rdm2_f_aaaa_oovv += einsum(x191, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x191 - x192 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x192 += einsum(x11, (0, 1), t2.aaaa, (2, 0, 3, 4), (1, 2, 3, 4)) - x193 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x193 += einsum(x74, (0, 1, 2, 3), t3.abaaba, (4, 0, 2, 5, 1, 6), (4, 3, 5, 6)) * -2.0 - del x74 - x194 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x194 += einsum(x1, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - x194 += einsum(x12, (0, 1, 2, 3), (0, 1, 2, 3)) - x195 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x195 += einsum(x194, (0, 1, 2, 3), t3.aaaaaa, (4, 0, 1, 5, 6, 3), (2, 4, 5, 6)) * -6.0 - del x194 - x196 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x196 += einsum(t1.aa, (0, 1), x14, (2, 3, 4, 1), (0, 2, 3, 4)) * 0.3333333333333333 - del x14 - x197 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x197 += einsum(t2.aaaa, (0, 1, 2, 3), (0, 1, 2, 3)) - x197 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 1, 3)) - x198 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x198 += einsum(x196, (0, 1, 2, 3), x197, (1, 2, 4, 5), (0, 3, 4, 5)) * 6.0 - del x196, x197 - x199 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x199 += einsum(x5, (0, 1), (0, 1)) * 0.5000000000000203 - x199 += einsum(x6, (0, 1), (0, 1)) * 1.0000000000000406 - x199 += einsum(x8, (0, 1), (0, 1)) - x200 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x200 += einsum(x199, (0, 1), t2.aaaa, (2, 0, 3, 4), (1, 2, 3, 4)) * -3.999999999999838 - del x199 - x201 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x201 += einsum(x192, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - del x192 - x201 += einsum(x193, (0, 1, 2, 3), (1, 0, 3, 2)) - del x193 - x201 += einsum(x195, (0, 1, 2, 3), (0, 1, 2, 3)) - del x195 - x201 += einsum(x198, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x198 - x201 += einsum(x200, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x200 - rdm2_f_aaaa_oovv += einsum(x201, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_aaaa_oovv += einsum(x201, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x201 - x202 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x202 += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 3, 5, 1), (2, 4, 0, 5)) - rdm2_f_aaaa_ovov += einsum(x202, (0, 1, 2, 3), (1, 2, 0, 3)) * -4.0 - rdm2_f_aaaa_ovvo += einsum(x202, (0, 1, 2, 3), (1, 2, 3, 0)) * 4.0 - rdm2_f_aaaa_voov += einsum(x202, (0, 1, 2, 3), (2, 1, 0, 3)) * 4.0 - rdm2_f_aaaa_vovo += einsum(x202, (0, 1, 2, 3), (2, 1, 3, 0)) * -4.0 - x203 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x203 += einsum(t2.aaaa, (0, 1, 2, 3), x202, (1, 4, 3, 5), (0, 4, 2, 5)) - x204 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x204 += einsum(x163, (0, 1, 2, 3), t3.abaaba, (4, 0, 5, 6, 1, 2), (4, 5, 3, 6)) * -4.0 - x205 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x205 += einsum(x79, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - del x79 - x205 += einsum(x80, (0, 1, 2, 3), (0, 2, 1, 3)) * -3.0 - del x80 - rdm2_f_abab_vovv += einsum(t2.abab, (0, 1, 2, 3), x205, (0, 4, 2, 5), (4, 1, 5, 3)) * -2.0 - x206 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x206 += einsum(x205, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 0, 6, 1, 2), (4, 5, 3, 6)) * -6.0 - x207 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x207 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 4, 1), (0, 4)) - x208 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x208 += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (2, 3, 4, 1), (0, 4)) - x209 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x209 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (3, 4, 5, 0, 6, 2), (1, 6)) - x210 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x210 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (3, 4, 5, 6, 1, 2), (0, 6)) - x211 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x211 += einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), t3.aaaaaa, (3, 4, 5, 6, 1, 2), (0, 6)) - x212 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x212 += einsum(x207, (0, 1), (0, 1)) - x212 += einsum(x208, (0, 1), (0, 1)) * 2.0 - x212 += einsum(x209, (0, 1), (0, 1)) * 0.9999999999999597 - x212 += einsum(x210, (0, 1), (0, 1)) * 1.999999999999919 - x212 += einsum(x211, (0, 1), (0, 1)) * 2.999999999999883 - x213 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x213 += einsum(x212, (0, 1), t2.aaaa, (2, 3, 4, 0), (2, 3, 1, 4)) * -2.0 - del x212 - x214 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x214 += einsum(t2.aaaa, (0, 1, 2, 3), x205, (4, 2, 3, 5), (4, 0, 1, 5)) - x215 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x215 += einsum(x50, (0, 1, 2, 3), (0, 2, 1, 3)) - del x50 - x215 += einsum(x49, (0, 1, 2, 3), (0, 2, 1, 3)) - del x49 - x215 += einsum(x48, (0, 1, 2, 3), (0, 2, 1, 3)) * 3.0 - del x48 - x215 += einsum(x53, (0, 1, 2, 3), (0, 2, 1, 3)) - del x53 - x215 += einsum(x47, (0, 1, 2, 3), (0, 2, 1, 3)) * 3.0 - del x47 - x215 += einsum(x214, (0, 1, 2, 3), (0, 2, 1, 3)) - del x214 - x216 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x216 += einsum(t1.aa, (0, 1), x215, (0, 2, 3, 4), (2, 3, 4, 1)) * 2.0 - del x215 - x217 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x217 += einsum(x203, (0, 1, 2, 3), (0, 1, 2, 3)) * 8.0 - del x203 - x217 += einsum(x204, (0, 1, 2, 3), (1, 0, 2, 3)) - del x204 - x217 += einsum(x206, (0, 1, 2, 3), (0, 1, 2, 3)) - del x206 - x217 += einsum(x213, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x213 - x217 += einsum(x216, (0, 1, 2, 3), (1, 0, 3, 2)) - del x216 - rdm2_f_aaaa_oovv += einsum(x217, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_aaaa_oovv += einsum(x217, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x217 - x218 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x218 += einsum(l2.bbbb, (0, 1, 2, 3), t2.abab, (4, 3, 5, 1), (2, 0, 4, 5)) - rdm2_f_abab_ovvo += einsum(x218, (0, 1, 2, 3), (2, 1, 3, 0)) * 2.0 - x219 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x219 += einsum(t2.abab, (0, 1, 2, 3), x218, (1, 3, 4, 5), (4, 0, 5, 2)) - x220 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x220 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 1, 3)) - x220 += einsum(x219, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - del x219 - rdm2_f_aaaa_oovv += einsum(x220, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_aaaa_oovv += einsum(x220, (0, 1, 2, 3), (0, 1, 2, 3)) - del x220 - x221 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x221 += einsum(x20, (0, 1, 2, 3), t3.abaaba, (4, 0, 2, 5, 1, 6), (3, 4, 5, 6)) - x222 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x222 += einsum(x13, (0, 1, 2, 3), t3.aaaaaa, (4, 0, 1, 5, 6, 3), (2, 4, 5, 6)) - x223 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x223 += einsum(x7, (0, 1), (0, 1)) - x223 += einsum(x9, (0, 1), (0, 1)) * 3.000000000000004 - x224 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x224 += einsum(x223, (0, 1), t2.aaaa, (2, 0, 3, 4), (1, 2, 3, 4)) * -1.9999999999999194 - del x223 - x225 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x225 += einsum(x221, (0, 1, 2, 3), (0, 1, 3, 2)) * -4.0 - del x221 - x225 += einsum(x222, (0, 1, 2, 3), (0, 1, 2, 3)) * -18.0 - del x222 - x225 += einsum(x224, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x224 - rdm2_f_aaaa_oovv += einsum(x225, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_aaaa_oovv += einsum(x225, (0, 1, 2, 3), (1, 0, 3, 2)) - del x225 - x226 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x226 += einsum(t2.aaaa, (0, 1, 2, 3), l3.abaaba, (2, 4, 3, 5, 6, 7), (6, 4, 5, 7, 0, 1)) - x226 += einsum(x52, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 5, 4)) * 1.0000000000000606 - del x52 - rdm2_f_aaaa_oovv += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x226, (1, 4, 0, 2, 6, 7), (6, 7, 3, 5)) * 1.9999999999999194 - del x226 - x227 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x227 += einsum(t2.aaaa, (0, 1, 2, 3), l3.aaaaaa, (4, 2, 3, 5, 6, 7), (5, 6, 7, 0, 1, 4)) - x227 += einsum(x46, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0000000000000584 - del x46 - rdm2_f_aaaa_oovv += einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), x227, (0, 1, 2, 6, 7, 5), (6, 7, 3, 4)) * 5.999999999999766 - del x227 - x228 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x228 += einsum(x0, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0000000000000404 - x228 += einsum(x2, (0, 1, 2, 3), (0, 1, 3, 2)) * 1.0000000000000404 - x228 += einsum(x3, (0, 1, 2, 3), (0, 1, 3, 2)) - x228 += einsum(x4, (0, 1, 2, 3), (0, 1, 3, 2)) * 3.000000000000004 - rdm2_f_aaaa_oovv += einsum(t2.aaaa, (0, 1, 2, 3), x228, (0, 1, 4, 5), (5, 4, 2, 3)) * 1.9999999999999194 - del x228 - x229 = np.zeros((nocc[0], nocc[0], nocc[0], nocc[0]), dtype=types[float]) - x229 += einsum(x0, (0, 1, 2, 3), (1, 0, 3, 2)) * -0.9999999999999799 - del x0 - x229 += einsum(x2, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.9999999999999799 - del x2 - x229 += einsum(x3, (0, 1, 2, 3), (0, 1, 3, 2)) - del x3 - x229 += einsum(x4, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.999999999999998 - del x4 - x230 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x230 += einsum(t1.aa, (0, 1), x229, (0, 2, 3, 4), (2, 4, 3, 1)) * -0.3333333333333336 - del x229 - rdm2_f_aaaa_oovv += einsum(t1.aa, (0, 1), x230, (0, 2, 3, 4), (2, 3, 4, 1)) * -6.000000000000116 - del x230 - x231 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x231 += einsum(t2.abab, (0, 1, 2, 3), l3.abaaba, (4, 3, 2, 5, 6, 7), (6, 1, 5, 7, 0, 4)) - x231 += einsum(x88, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0000000000000606 - del x88 - rdm2_f_abab_oovv += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x231, (1, 6, 0, 2, 7, 5), (7, 6, 3, 4)) * -1.9999999999999194 - del x231 - x232 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x232 += einsum(t2.abab, (0, 1, 2, 3), l3.babbab, (4, 2, 3, 5, 6, 7), (5, 7, 1, 4, 6, 0)) - x232 += einsum(x93, (0, 1, 2, 3, 4, 5), (0, 1, 2, 3, 4, 5)) * 1.0000000000000606 - del x93 - rdm2_f_abab_oovv += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x232, (0, 2, 6, 5, 1, 7), (7, 6, 4, 3)) * -1.9999999999999194 - del x232 - x233 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x233 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), (1, 4, 0, 2, 3, 5)) - x233 += einsum(t1.aa, (0, 1), t2.abab, (2, 3, 4, 5), (3, 5, 0, 2, 4, 1)) * -0.5 - rdm2_f_abab_oovv += einsum(x101, (0, 1, 2, 3), x233, (4, 0, 2, 5, 3, 6), (5, 4, 6, 1)) * -4.0 - del x233 - x234 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x234 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), (0, 2, 3, 5, 1, 4)) - x234 += einsum(t1.bb, (0, 1), t2.abab, (2, 3, 4, 5), (0, 3, 5, 1, 2, 4)) * -0.5 - rdm2_f_abab_oovv += einsum(x163, (0, 1, 2, 3), x234, (0, 4, 1, 5, 6, 2), (6, 4, 3, 5)) * -4.0 - del x163, x234 - x235 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x235 += einsum(x103, (0, 1, 2, 3), (0, 1, 2, 3)) - x235 += einsum(x23, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x235 += einsum(x24, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x24 - rdm2_f_abab_oovv += einsum(x235, (0, 1, 2, 3), t3.abaaba, (4, 0, 2, 5, 6, 3), (4, 1, 5, 6)) * -2.0 - rdm2_f_abab_vovv += einsum(t2.abab, (0, 1, 2, 3), x235, (1, 4, 0, 5), (5, 4, 2, 3)) * -1.0 - x236 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x236 += einsum(l2.abab, (0, 1, 2, 3), t2.bbbb, (4, 3, 5, 1), (4, 5, 2, 0)) - rdm2_f_abab_voov += einsum(x236, (0, 1, 2, 3), (3, 0, 2, 1)) * 2.0 - x237 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x237 += einsum(l2.aaaa, (0, 1, 2, 3), t2.abab, (3, 4, 1, 5), (4, 5, 2, 0)) - rdm2_f_abab_voov += einsum(x237, (0, 1, 2, 3), (3, 0, 2, 1)) * 2.0 - x238 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x238 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.bbbbbb, (6, 3, 5, 7, 0, 2), (6, 7, 4, 1)) - rdm2_f_abab_voov += einsum(x238, (0, 1, 2, 3), (3, 0, 2, 1)) * 3.0 - x239 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x239 += einsum(t2.bbbb, (0, 1, 2, 3), x90, (0, 1, 4, 3, 5, 6), (4, 2, 5, 6)) * -1.0 - rdm2_f_abab_voov += einsum(x239, (0, 1, 2, 3), (3, 0, 2, 1)) * -2.0 - x240 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x240 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.babbab, (6, 5, 4, 7, 2, 1), (6, 7, 3, 0)) - rdm2_f_abab_voov += einsum(x240, (0, 1, 2, 3), (3, 0, 2, 1)) * 4.0 - x241 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x241 += einsum(t2.abab, (0, 1, 2, 3), x85, (1, 4, 5, 0, 6, 2), (4, 3, 5, 6)) - rdm2_f_abab_voov += einsum(x241, (0, 1, 2, 3), (3, 0, 2, 1)) * -2.0 - x242 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x242 += einsum(l3.aaaaaa, (0, 1, 2, 3, 4, 5), t3.abaaba, (4, 6, 5, 1, 7, 2), (6, 7, 3, 0)) - rdm2_f_abab_voov += einsum(x242, (0, 1, 2, 3), (3, 0, 2, 1)) * 3.0 - x243 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x243 += einsum(x236, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.6666666666666666 - x243 += einsum(x237, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.6666666666666666 - x243 += einsum(x238, (0, 1, 2, 3), (0, 1, 2, 3)) - x243 += einsum(x239, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.6666666666666666 - x243 += einsum(x240, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.3333333333333333 - x243 += einsum(x241, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.6666666666666666 - x243 += einsum(x242, (0, 1, 2, 3), (0, 1, 2, 3)) - x243 += einsum(t1.bb, (0, 1), x25, (0, 2, 3, 4), (2, 1, 3, 4)) * -0.6666666666666666 - rdm2_f_abab_oovv += einsum(t2.aaaa, (0, 1, 2, 3), x243, (4, 5, 1, 3), (0, 4, 2, 5)) * 6.0 - del x243 - x244 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x244 += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 3, 5, 1), (2, 4, 0, 5)) - rdm2_f_bbbb_ovov += einsum(x244, (0, 1, 2, 3), (1, 2, 0, 3)) * -4.0 - rdm2_f_bbbb_ovvo += einsum(x244, (0, 1, 2, 3), (1, 2, 3, 0)) * 4.0 - rdm2_f_bbbb_voov += einsum(x244, (0, 1, 2, 3), (2, 1, 0, 3)) * 4.0 - rdm2_f_bbbb_vovo += einsum(x244, (0, 1, 2, 3), (2, 1, 3, 0)) * -4.0 - x245 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x245 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 5), (3, 4, 1, 5)) - rdm2_f_bbbb_ovov += einsum(x245, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_bbbb_ovvo += einsum(x245, (0, 1, 2, 3), (1, 2, 3, 0)) - rdm2_f_bbbb_voov += einsum(x245, (0, 1, 2, 3), (2, 1, 0, 3)) - rdm2_f_bbbb_vovo += einsum(x245, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - x246 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x246 += einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), t3.bbbbbb, (6, 4, 5, 7, 1, 2), (3, 6, 0, 7)) - rdm2_f_bbbb_ovov += einsum(x246, (0, 1, 2, 3), (1, 2, 0, 3)) * -9.0 - rdm2_f_bbbb_ovvo += einsum(x246, (0, 1, 2, 3), (1, 2, 3, 0)) * 9.0 - rdm2_f_bbbb_voov += einsum(x246, (0, 1, 2, 3), (2, 1, 0, 3)) * 9.0 - rdm2_f_bbbb_vovo += einsum(x246, (0, 1, 2, 3), (2, 1, 3, 0)) * -9.0 - x247 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x247 += einsum(t2.bbbb, (0, 1, 2, 3), x114, (4, 1, 0, 5, 6, 3), (4, 5, 6, 2)) - rdm2_f_bbbb_ovov += einsum(x247, (0, 1, 2, 3), (1, 2, 0, 3)) * 6.0 - rdm2_f_bbbb_ovvo += einsum(x247, (0, 1, 2, 3), (1, 2, 3, 0)) * -6.0 - rdm2_f_bbbb_voov += einsum(x247, (0, 1, 2, 3), (2, 1, 0, 3)) * -6.0 - rdm2_f_bbbb_vovo += einsum(x247, (0, 1, 2, 3), (2, 1, 3, 0)) * 6.0 - x248 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x248 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (6, 4, 5, 7, 1, 2), (3, 6, 0, 7)) - rdm2_f_bbbb_ovov += einsum(x248, (0, 1, 2, 3), (1, 2, 0, 3)) * -4.0 - rdm2_f_bbbb_ovvo += einsum(x248, (0, 1, 2, 3), (1, 2, 3, 0)) * 4.0 - rdm2_f_bbbb_voov += einsum(x248, (0, 1, 2, 3), (2, 1, 0, 3)) * 4.0 - rdm2_f_bbbb_vovo += einsum(x248, (0, 1, 2, 3), (2, 1, 3, 0)) * -4.0 - x249 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x249 += einsum(t2.abab, (0, 1, 2, 3), x90, (4, 1, 5, 6, 0, 2), (4, 5, 6, 3)) - rdm2_f_bbbb_ovov += einsum(x249, (0, 1, 2, 3), (1, 2, 0, 3)) * 2.0 - rdm2_f_bbbb_ovvo += einsum(x249, (0, 1, 2, 3), (1, 2, 3, 0)) * -2.0 - rdm2_f_bbbb_voov += einsum(x249, (0, 1, 2, 3), (2, 1, 0, 3)) * -2.0 - rdm2_f_bbbb_vovo += einsum(x249, (0, 1, 2, 3), (2, 1, 3, 0)) * 2.0 - x250 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x250 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (3, 6, 5, 0, 7, 2), (4, 6, 1, 7)) - rdm2_f_bbbb_ovov += einsum(x250, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_bbbb_ovvo += einsum(x250, (0, 1, 2, 3), (1, 2, 3, 0)) - rdm2_f_bbbb_voov += einsum(x250, (0, 1, 2, 3), (2, 1, 0, 3)) - rdm2_f_bbbb_vovo += einsum(x250, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - x251 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x251 += einsum(x244, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.0 - x251 += einsum(x245, (0, 1, 2, 3), (0, 1, 2, 3)) - x251 += einsum(x246, (0, 1, 2, 3), (0, 1, 2, 3)) * 9.0 - x251 += einsum(x247, (0, 1, 2, 3), (0, 1, 2, 3)) * -6.0 - x251 += einsum(x248, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.0 - x251 += einsum(x249, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - x251 += einsum(x250, (0, 1, 2, 3), (0, 1, 2, 3)) - x251 += einsum(t1.bb, (0, 1), x42, (2, 0, 3, 4), (2, 3, 4, 1)) * -6.0 - rdm2_f_abab_oovv += einsum(t2.abab, (0, 1, 2, 3), x251, (1, 4, 3, 5), (0, 4, 2, 5)) - del x251 - x252 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x252 += einsum(x173, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - x252 += einsum(x174, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - x252 += einsum(x178, (0, 1, 2, 3), (0, 1, 2, 3)) - x252 += einsum(x175, (0, 1, 2, 3), (0, 1, 2, 3)) * -4.5 - x252 += einsum(x179, (0, 1, 2, 3), (0, 1, 2, 3)) * 3.0 - x252 += einsum(x180, (0, 1, 2, 3), (0, 1, 3, 2)) - del x180 - rdm2_f_abab_oovv += einsum(t2.abab, (0, 1, 2, 3), x252, (0, 4, 2, 5), (4, 1, 5, 3)) * -2.0 - del x252 - x253 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x253 += einsum(x20, (0, 1, 2, 3), (0, 1, 2, 3)) - del x20 - x253 += einsum(x21, (0, 1, 2, 3), (0, 1, 2, 3)) - del x21 - x254 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x254 += einsum(x168, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.5 - x254 += einsum(x169, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - x254 += einsum(x165, (0, 1, 2, 3), (0, 1, 2, 3)) - x254 += einsum(x170, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.5 - x254 += einsum(x183, (0, 1, 2, 3), (0, 1, 2, 3)) - x254 += einsum(t1.aa, (0, 1), x253, (2, 3, 0, 4), (2, 3, 4, 1)) - rdm2_f_abab_oovv += einsum(t2.bbbb, (0, 1, 2, 3), x254, (1, 3, 4, 5), (4, 0, 5, 2)) * -4.0 - del x254 - x255 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x255 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 5, 1), (3, 4, 0, 5)) - rdm2_f_abab_vovo += einsum(x255, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - x256 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x256 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (6, 4, 5, 0, 7, 2), (3, 6, 1, 7)) - rdm2_f_abab_vovo += einsum(x256, (0, 1, 2, 3), (2, 1, 3, 0)) * -2.0 - x257 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x257 += einsum(t2.abab, (0, 1, 2, 3), x90, (4, 1, 5, 3, 0, 6), (4, 5, 6, 2)) * -1.0 - rdm2_f_abab_vovo += einsum(x257, (0, 1, 2, 3), (2, 1, 3, 0)) * -2.0 - x258 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x258 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (3, 6, 5, 7, 1, 2), (4, 6, 0, 7)) - rdm2_f_abab_vovo += einsum(x258, (0, 1, 2, 3), (2, 1, 3, 0)) * -2.0 - x259 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x259 += einsum(t2.aaaa, (0, 1, 2, 3), x85, (4, 5, 0, 1, 6, 3), (4, 5, 6, 2)) - del x85 - rdm2_f_abab_vovo += einsum(x259, (0, 1, 2, 3), (2, 1, 3, 0)) * -2.0 - x260 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x260 += einsum(x255, (0, 1, 2, 3), (0, 1, 2, 3)) - x260 += einsum(x256, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x260 += einsum(x257, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x260 += einsum(x258, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x260 += einsum(x259, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - x260 += einsum(t1.aa, (0, 1), x25, (2, 3, 0, 4), (2, 3, 4, 1)) * 2.0 - rdm2_f_abab_oovv += einsum(t2.abab, (0, 1, 2, 3), x260, (1, 4, 2, 5), (0, 4, 5, 3)) - del x260 - x261 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x261 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (3, 6, 5, 7, 1, 2), (0, 7, 4, 6)) - rdm2_f_abab_ovov += einsum(x261, (0, 1, 2, 3), (3, 0, 2, 1)) * -2.0 - x262 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x262 += einsum(t2.bbbb, (0, 1, 2, 3), x59, (0, 1, 4, 3, 5, 6), (4, 2, 5, 6)) - del x59 - rdm2_f_abab_ovov += einsum(x262, (0, 1, 2, 3), (3, 0, 2, 1)) * -2.0 - x263 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x263 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (6, 4, 5, 0, 7, 2), (1, 7, 3, 6)) - rdm2_f_abab_ovov += einsum(x263, (0, 1, 2, 3), (3, 0, 2, 1)) * -2.0 - x264 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x264 += einsum(t2.abab, (0, 1, 2, 3), x51, (1, 4, 5, 0, 6, 2), (4, 3, 5, 6)) * -1.0 - rdm2_f_abab_ovov += einsum(x264, (0, 1, 2, 3), (3, 0, 2, 1)) * -2.0 - x265 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x265 += einsum(x261, (0, 1, 2, 3), (0, 1, 2, 3)) - x265 += einsum(x262, (0, 1, 2, 3), (0, 1, 2, 3)) - x265 += einsum(x263, (0, 1, 2, 3), (0, 1, 2, 3)) - x265 += einsum(x264, (0, 1, 2, 3), (0, 1, 2, 3)) - x265 += einsum(t1.bb, (0, 1), x253, (0, 2, 3, 4), (2, 1, 3, 4)) - del x253 - rdm2_f_abab_oovv += einsum(t2.abab, (0, 1, 2, 3), x265, (3, 4, 0, 5), (5, 1, 2, 4)) * 2.0 - del x265 - x266 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x266 += einsum(t1.bb, (0, 1), x105, (2, 1, 3, 4), (2, 0, 3, 4)) - del x105 - x267 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x267 += einsum(x18, (0, 1, 2, 3), (0, 1, 2, 3)) - x267 += einsum(x17, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.9999999999999194 - x267 += einsum(x16, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.9999999999999194 - x267 += einsum(x266, (0, 1, 2, 3), (0, 1, 2, 3)) - x267 += einsum(x26, (0, 1, 2, 3), (0, 1, 3, 2)) - rdm2_f_abab_oovv += einsum(t2.abab, (0, 1, 2, 3), x267, (1, 4, 0, 5), (5, 4, 2, 3)) - del x267 - x268 = np.zeros((nocc[1], nocc[1], nocc[0], nocc[0]), dtype=types[float]) - x268 += einsum(x18, (0, 1, 2, 3), (0, 1, 2, 3)) - del x18 - x268 += einsum(x17, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.000000000000041 - del x17 - x268 += einsum(x16, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.000000000000041 - del x16 - x268 += einsum(x266, (0, 1, 2, 3), (0, 1, 2, 3)) - del x266 - x268 += einsum(x26, (0, 1, 2, 3), (0, 1, 3, 2)) - del x26 - x269 = np.zeros((nocc[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x269 += einsum(x96, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.3333333333333333 - del x96 - x269 += einsum(x98, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.6666666666666666 - del x98 - x269 += einsum(t2.abab, (0, 1, 2, 3), x103, (1, 4, 5, 2), (4, 3, 5, 0)) * 0.3333333333333333 - x269 += einsum(t2.bbbb, (0, 1, 2, 3), x19, (1, 3, 4, 5), (0, 2, 4, 5)) * -0.6666666666666666 - x269 += einsum(x97, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.6666666666666666 - del x97 - x269 += einsum(t2.abab, (0, 1, 2, 3), x1, (4, 0, 5, 2), (1, 3, 4, 5)) * 0.6666666666666666 - x269 += einsum(x91, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.6666666666666666 - del x91 - x269 += einsum(x92, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x92 - x269 += einsum(x94, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.6666666666666666 - del x94 - x269 += einsum(x86, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.6666666666666666 - del x86 - x269 += einsum(x87, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.3333333333333333 - del x87 - x269 += einsum(x89, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.6666666666666666 - del x89 - x269 += einsum(x95, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x95 - x269 += einsum(t1.bb, (0, 1), x268, (0, 2, 3, 4), (2, 1, 3, 4)) * 0.3333333333333333 - del x268 - rdm2_f_abab_oovv += einsum(t1.aa, (0, 1), x269, (2, 3, 0, 4), (4, 2, 1, 3)) * 3.0 - del x269 - x270 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x270 += einsum(x207, (0, 1), (0, 1)) * 0.3333333333333468 - x270 += einsum(x208, (0, 1), (0, 1)) * 0.6666666666666936 - x270 += einsum(x209, (0, 1), (0, 1)) * 0.33333333333333354 - x270 += einsum(x210, (0, 1), (0, 1)) * 0.6666666666666667 - x270 += einsum(x211, (0, 1), (0, 1)) - rdm2_f_abab_oovv += einsum(x270, (0, 1), t2.abab, (2, 3, 0, 4), (2, 3, 1, 4)) * -2.9999999999998788 - del x270 - x271 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x271 += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (2, 3, 4, 1), (0, 4)) - x272 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x272 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 0, 4), (1, 4)) - x273 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x273 += einsum(l3.bbbbbb, (0, 1, 2, 3, 4, 5), t3.bbbbbb, (3, 4, 5, 6, 1, 2), (0, 6)) - x274 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x274 += einsum(l3.babbab, (0, 1, 2, 3, 4, 5), t3.babbab, (3, 4, 5, 6, 1, 2), (0, 6)) - x275 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x275 += einsum(l3.abaaba, (0, 1, 2, 3, 4, 5), t3.abaaba, (3, 4, 5, 0, 6, 2), (1, 6)) - x276 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x276 += einsum(x271, (0, 1), (0, 1)) * 2.0 - x276 += einsum(x272, (0, 1), (0, 1)) - x276 += einsum(x273, (0, 1), (0, 1)) * 2.9999999999998788 - x276 += einsum(x274, (0, 1), (0, 1)) * 1.9999999999999194 - x276 += einsum(x275, (0, 1), (0, 1)) * 0.9999999999999601 - rdm2_f_abab_oovv += einsum(x276, (0, 1), t2.abab, (2, 3, 4, 0), (2, 3, 4, 1)) * -1.0 - del x276 - x277 = np.zeros((nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x277 += einsum(x152, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - del x152 - x277 += einsum(x151, (0, 1, 2, 3), (0, 1, 2, 3)) - del x151 - x277 += einsum(t2.abab, (0, 1, 2, 3), x38, (4, 1, 5, 3), (4, 5, 0, 2)) * -1.0 - x277 += einsum(x160, (0, 1, 2, 3), (0, 1, 2, 3)) - del x160 - x277 += einsum(t2.aaaa, (0, 1, 2, 3), x103, (4, 5, 1, 3), (4, 5, 0, 2)) - x277 += einsum(t2.abab, (0, 1, 2, 3), x19, (4, 3, 0, 5), (4, 1, 5, 2)) * -0.5 - del x19 - x277 += einsum(x153, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.5 - del x153 - x277 += einsum(x155, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x155 - x277 += einsum(x154, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x154 - x277 += einsum(x156, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x156 - x277 += einsum(x158, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.5 - del x158 - x277 += einsum(x157, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x157 - x277 += einsum(x159, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x159 - rdm2_f_abab_oovv += einsum(t1.bb, (0, 1), x277, (0, 2, 3, 4), (3, 2, 4, 1)) * -2.0 - del x277 - x278 = np.zeros((nocc[0], nocc[0]), dtype=types[float]) - x278 += einsum(x11, (0, 1), (0, 1)) * 0.3333333333333468 - del x11 - x278 += einsum(x5, (0, 1), (0, 1)) * 0.3333333333333468 - del x5 - x278 += einsum(x6, (0, 1), (0, 1)) * 0.6666666666666936 - del x6 - x278 += einsum(x7, (0, 1), (0, 1)) * 0.33333333333333354 - del x7 - x278 += einsum(x8, (0, 1), (0, 1)) * 0.6666666666666667 - del x8 - x278 += einsum(x9, (0, 1), (0, 1)) - del x9 - rdm2_f_abab_oovv += einsum(x278, (0, 1), t2.abab, (0, 2, 3, 4), (1, 2, 3, 4)) * -2.9999999999998788 - del x278 - x279 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x279 += einsum(t2.bbbb, (0, 1, 2, 3), x249, (1, 4, 3, 5), (4, 0, 2, 5)) * -1.0 - x280 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x280 += einsum(t2.abab, (0, 1, 2, 3), x241, (4, 5, 0, 2), (4, 1, 3, 5)) - x281 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x281 += einsum(x245, (0, 1, 2, 3), (0, 1, 2, 3)) - x281 += einsum(x246, (0, 1, 2, 3), (0, 1, 2, 3)) * 9.0 - x281 += einsum(x248, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.0 - x281 += einsum(x250, (0, 1, 2, 3), (0, 1, 2, 3)) - x282 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x282 += einsum(t2.bbbb, (0, 1, 2, 3), x281, (1, 4, 3, 5), (4, 0, 5, 2)) * 2.0 - del x281 - x283 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x283 += einsum(x238, (0, 1, 2, 3), (0, 1, 2, 3)) - x283 += einsum(x240, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.3333333333333333 - x283 += einsum(x242, (0, 1, 2, 3), (0, 1, 2, 3)) - x284 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x284 += einsum(t2.abab, (0, 1, 2, 3), x283, (4, 5, 0, 2), (4, 1, 5, 3)) * 3.0 - del x283 - x285 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x285 += einsum(t1.bb, (0, 1), x40, (0, 2, 3, 4), (2, 3, 4, 1)) * -1.0 - x286 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x286 += einsum(x247, (0, 1, 2, 3), (0, 1, 2, 3)) - x286 += einsum(x285, (0, 1, 2, 3), (0, 1, 2, 3)) - del x285 - x287 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x287 += einsum(t2.bbbb, (0, 1, 2, 3), x286, (1, 4, 3, 5), (4, 0, 5, 2)) * 12.0 - del x286 - x288 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x288 += einsum(t1.bb, (0, 1), x23, (0, 2, 3, 4), (2, 1, 3, 4)) - del x23 - x289 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x289 += einsum(x239, (0, 1, 2, 3), (0, 1, 2, 3)) - x289 += einsum(x288, (0, 1, 2, 3), (0, 1, 2, 3)) - del x288 - x290 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x290 += einsum(t2.abab, (0, 1, 2, 3), x289, (4, 5, 0, 2), (4, 1, 5, 3)) * 2.0 - del x289 - x291 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x291 += einsum(t2.bbbb, (0, 1, 2, 3), x38, (4, 1, 5, 3), (4, 5, 0, 2)) * -1.0 - x292 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x292 += einsum(t2.abab, (0, 1, 2, 3), x103, (4, 5, 0, 2), (4, 5, 1, 3)) - x293 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x293 += einsum(t2.bbbb, (0, 1, 2, 3), x41, (1, 4, 5, 3), (4, 0, 5, 2)) * -1.0 - x294 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x294 += einsum(x291, (0, 1, 2, 3), (0, 1, 2, 3)) - del x291 - x294 += einsum(x292, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.25 - del x292 - x294 += einsum(x132, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.25 - del x132 - x294 += einsum(x135, (0, 1, 2, 3), (0, 1, 2, 3)) - del x135 - x294 += einsum(x293, (0, 1, 2, 3), (0, 1, 2, 3)) - del x293 - x294 += einsum(x137, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.25 - del x137 - x294 += einsum(x136, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - del x136 - x295 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x295 += einsum(t1.bb, (0, 1), x294, (0, 2, 3, 4), (2, 3, 4, 1)) * 4.0 - del x294 - x296 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x296 += einsum(x279, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.0 - del x279 - x296 += einsum(x280, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - del x280 - x296 += einsum(x282, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x282 - x296 += einsum(x284, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x284 - x296 += einsum(x287, (0, 1, 2, 3), (0, 1, 2, 3)) - del x287 - x296 += einsum(x290, (0, 1, 2, 3), (0, 1, 2, 3)) - del x290 - x296 += einsum(x295, (0, 1, 2, 3), (0, 1, 3, 2)) - del x295 - x296 += einsum(t1.bb, (0, 1), x131, (2, 3), (0, 2, 1, 3)) * 2.0 - del x131 - rdm2_f_bbbb_oovv += einsum(x296, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - rdm2_f_bbbb_oovv += einsum(x296, (0, 1, 2, 3), (0, 1, 3, 2)) - rdm2_f_bbbb_oovv += einsum(x296, (0, 1, 2, 3), (1, 0, 2, 3)) - rdm2_f_bbbb_oovv += einsum(x296, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x296 - x297 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x297 += einsum(x42, (0, 1, 2, 3), t3.bbbbbb, (4, 0, 1, 5, 6, 3), (4, 2, 5, 6)) * -18.0 - x298 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x298 += einsum(x25, (0, 1, 2, 3), t3.babbab, (4, 2, 0, 5, 3, 6), (4, 1, 5, 6)) * -4.0 - del x25 - x299 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x299 += einsum(x31, (0, 1), (0, 1)) * 3.000000000000004 - del x31 - x299 += einsum(x32, (0, 1), (0, 1)) * 1.9999999999999996 - del x32 - x299 += einsum(x33, (0, 1), (0, 1)) - del x33 - x300 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x300 += einsum(x299, (0, 1), t2.bbbb, (2, 0, 3, 4), (1, 2, 3, 4)) * -1.9999999999999194 - del x299 - x301 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x301 += einsum(x297, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x297 - x301 += einsum(x298, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x298 - x301 += einsum(x300, (0, 1, 2, 3), (1, 0, 3, 2)) - del x300 - rdm2_f_bbbb_oovv += einsum(x301, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - rdm2_f_bbbb_oovv += einsum(x301, (0, 1, 2, 3), (1, 0, 2, 3)) - del x301 - x302 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x302 += einsum(t2.bbbb, (0, 1, 2, 3), x244, (1, 4, 3, 5), (4, 0, 5, 2)) - x303 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x303 += einsum(t2.abab, (0, 1, 2, 3), x237, (4, 5, 0, 2), (4, 1, 5, 3)) - x304 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x304 += einsum(x145, (0, 1, 2, 3), (0, 2, 1, 3)) * -1.0 - x304 += einsum(x146, (0, 1, 2, 3), (0, 2, 1, 3)) * -0.3333333333333333 - x305 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x305 += einsum(x304, (0, 1, 2, 3), t3.bbbbbb, (4, 5, 0, 6, 1, 2), (4, 5, 3, 6)) * -18.0 - x306 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x306 += einsum(x101, (0, 1, 2, 3), t3.babbab, (4, 2, 5, 6, 3, 0), (4, 5, 1, 6)) * -4.0 - del x101 - x307 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x307 += einsum(x271, (0, 1), (0, 1)) - x307 += einsum(x272, (0, 1), (0, 1)) * 0.5 - x307 += einsum(x273, (0, 1), (0, 1)) * 1.4999999999999416 - x307 += einsum(x274, (0, 1), (0, 1)) * 0.9999999999999595 - x307 += einsum(x275, (0, 1), (0, 1)) * 0.49999999999997985 - x308 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x308 += einsum(x307, (0, 1), t2.bbbb, (2, 3, 4, 0), (2, 3, 1, 4)) * -4.0 - del x307 - x309 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x309 += einsum(t2.bbbb, (0, 1, 2, 3), x304, (4, 2, 3, 5), (4, 0, 1, 5)) * 3.0 - x310 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x310 += einsum(x121, (0, 1, 2, 3), (0, 2, 1, 3)) - del x121 - x310 += einsum(x124, (0, 1, 2, 3), (0, 2, 1, 3)) * 3.0 - del x124 - x310 += einsum(x125, (0, 1, 2, 3), (0, 2, 1, 3)) - del x125 - x310 += einsum(x127, (0, 1, 2, 3), (0, 2, 1, 3)) * 3.0 - del x127 - x310 += einsum(x123, (0, 1, 2, 3), (0, 2, 1, 3)) - del x123 - x310 += einsum(x309, (0, 1, 2, 3), (0, 2, 1, 3)) - del x309 - x311 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x311 += einsum(t1.bb, (0, 1), x310, (0, 2, 3, 4), (2, 3, 4, 1)) * 2.0 - del x310 - x312 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x312 += einsum(x302, (0, 1, 2, 3), (0, 1, 2, 3)) * 8.0 - del x302 - x312 += einsum(x303, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x303 - x312 += einsum(x305, (0, 1, 2, 3), (0, 1, 2, 3)) - del x305 - x312 += einsum(x306, (0, 1, 2, 3), (1, 0, 2, 3)) - del x306 - x312 += einsum(x308, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x308 - x312 += einsum(x311, (0, 1, 2, 3), (1, 0, 3, 2)) - del x311 - rdm2_f_bbbb_oovv += einsum(x312, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_bbbb_oovv += einsum(x312, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x312 - x313 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x313 += einsum(x28, (0, 1), t2.bbbb, (2, 0, 3, 4), (1, 2, 3, 4)) - del x28 - x314 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x314 += einsum(x38, (0, 1, 2, 3), t3.bbbbbb, (4, 1, 0, 5, 6, 3), (2, 4, 5, 6)) - x315 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x315 += einsum(x103, (0, 1, 2, 3), t3.babbab, (4, 2, 0, 5, 3, 6), (1, 4, 5, 6)) - del x103 - x316 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x316 += einsum(t1.bb, (0, 1), x42, (2, 3, 4, 1), (0, 2, 3, 4)) * 3.0 - x317 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x317 += einsum(t2.bbbb, (0, 1, 2, 3), x316, (4, 0, 1, 5), (4, 5, 2, 3)) * 2.0 - del x316 - x318 = np.zeros((nocc[1], nocc[1]), dtype=types[float]) - x318 += einsum(x29, (0, 1), (0, 1)) - del x29 - x318 += einsum(x30, (0, 1), (0, 1)) * 0.5 - del x30 - x319 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x319 += einsum(x318, (0, 1), t2.bbbb, (2, 0, 3, 4), (1, 2, 3, 4)) * -4.0 - del x318 - x320 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x320 += einsum(t1.bb, (0, 1), x42, (2, 3, 4, 1), (0, 2, 3, 4)) - del x42 - x321 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x321 += einsum(t1.bb, (0, 1), x320, (2, 3, 0, 4), (3, 2, 4, 1)) - del x320 - x322 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x322 += einsum(t1.bb, (0, 1), x321, (0, 2, 3, 4), (2, 3, 4, 1)) * 6.0 - del x321 - x323 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x323 += einsum(x313, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - del x313 - x323 += einsum(x314, (0, 1, 2, 3), (0, 1, 3, 2)) * -6.0 - del x314 - x323 += einsum(x315, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - del x315 - x323 += einsum(x317, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x317 - x323 += einsum(x319, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - del x319 - x323 += einsum(x322, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x322 - rdm2_f_bbbb_oovv += einsum(x323, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_bbbb_oovv += einsum(x323, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - del x323 - x324 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[0], nvir[0]), dtype=types[float]) - x324 += einsum(t2.bbbb, (0, 1, 2, 3), l3.babbab, (2, 4, 3, 5, 6, 7), (5, 7, 0, 1, 6, 4)) - x324 += einsum(x122, (0, 1, 2, 3, 4, 5), (0, 1, 3, 2, 4, 5)) * -1.0000000000000606 - del x122 - rdm2_f_bbbb_oovv += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x324, (0, 2, 6, 7, 1, 4), (6, 7, 3, 5)) * 1.9999999999999194 - del x324 - x325 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x325 += einsum(t2.bbbb, (0, 1, 2, 3), l3.bbbbbb, (4, 2, 3, 5, 6, 7), (5, 6, 7, 0, 1, 4)) - x325 += einsum(x126, (0, 1, 2, 3, 4, 5), (0, 1, 2, 4, 3, 5)) * -1.0000000000000584 - del x126 - rdm2_f_bbbb_oovv += einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), x325, (0, 1, 2, 6, 7, 5), (6, 7, 3, 4)) * 5.999999999999766 - del x325 - x326 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x326 += einsum(x37, (0, 1, 2, 3), (1, 0, 3, 2)) * -1.0 - x326 += einsum(x39, (0, 1, 2, 3), (0, 1, 3, 2)) - x326 += einsum(x35, (0, 1, 2, 3), (0, 1, 3, 2)) * 2.999999999999883 - x326 += einsum(x36, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.9999999999999597 - rdm2_f_bbbb_oovv += einsum(t2.bbbb, (0, 1, 2, 3), x326, (0, 1, 4, 5), (5, 4, 2, 3)) * 2.0 - del x326 - x327 = np.zeros((nocc[1], nocc[1], nocc[1], nocc[1]), dtype=types[float]) - x327 += einsum(x37, (0, 1, 2, 3), (1, 0, 3, 2)) * -0.3333333333333269 - del x37 - x327 += einsum(x39, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.3333333333333269 - del x39 - x327 += einsum(x35, (0, 1, 2, 3), (0, 1, 3, 2)) - del x35 - x327 += einsum(x36, (0, 1, 2, 3), (0, 1, 3, 2)) * 0.3333333333333336 - del x36 - x328 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x328 += einsum(t1.bb, (0, 1), x327, (0, 2, 3, 4), (2, 4, 3, 1)) * -1.0 - del x327 - rdm2_f_bbbb_oovv += einsum(t1.bb, (0, 1), x328, (0, 2, 3, 4), (2, 3, 4, 1)) * -6.000000000000116 - del x328 - x329 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x329 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 5, 1), (2, 4, 0, 5)) - rdm2_f_aaaa_ovov += einsum(x329, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_aaaa_ovvo += einsum(x329, (0, 1, 2, 3), (1, 2, 3, 0)) - rdm2_f_aaaa_voov += einsum(x329, (0, 1, 2, 3), (2, 1, 0, 3)) - rdm2_f_aaaa_vovo += einsum(x329, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - x330 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x330 += einsum(t1.aa, (0, 1), x64, (0, 2, 3, 4), (2, 3, 1, 4)) * 6.0 - del x64 - rdm2_f_aaaa_ovov += einsum(x330, (0, 1, 2, 3), (1, 3, 0, 2)) * -1.0 - rdm2_f_aaaa_voov += einsum(x330, (0, 1, 2, 3), (3, 1, 0, 2)) - del x330 - x331 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x331 += einsum(l1.aa, (0, 1), t1.aa, (1, 2), (0, 2)) - x332 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x332 += einsum(x331, (0, 1), (0, 1)) - x332 += einsum(x207, (0, 1), (0, 1)) - x332 += einsum(x208, (0, 1), (0, 1)) * 2.0 - x332 += einsum(x209, (0, 1), (0, 1)) * 0.9999999999999601 - x332 += einsum(x210, (0, 1), (0, 1)) * 1.9999999999999194 - x332 += einsum(x211, (0, 1), (0, 1)) * 2.9999999999998788 - rdm2_f_aaaa_ovov += einsum(delta.aa.oo, (0, 1), x332, (2, 3), (0, 2, 1, 3)) - rdm2_f_aaaa_ovvo += einsum(delta.aa.oo, (0, 1), x332, (2, 3), (0, 2, 3, 1)) * -1.0 - rdm2_f_aaaa_voov += einsum(delta.aa.oo, (0, 1), x332, (2, 3), (2, 0, 1, 3)) * -1.0 - rdm2_f_aaaa_vovo += einsum(delta.aa.oo, (0, 1), x332, (2, 3), (2, 0, 3, 1)) - x333 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x333 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 0, 5), (1, 5, 2, 4)) - rdm2_f_abab_ovov += einsum(x333, (0, 1, 2, 3), (3, 0, 2, 1)) * -1.0 - x334 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x334 += einsum(l1.bb, (0, 1), t1.bb, (1, 2), (0, 2)) - x335 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x335 += einsum(x334, (0, 1), (0, 1)) - x335 += einsum(x271, (0, 1), (0, 1)) * 2.0 - x335 += einsum(x272, (0, 1), (0, 1)) - x335 += einsum(x273, (0, 1), (0, 1)) * 2.9999999999998788 - x335 += einsum(x274, (0, 1), (0, 1)) * 1.9999999999999194 - x335 += einsum(x275, (0, 1), (0, 1)) * 0.9999999999999601 - rdm2_f_abab_ovov += einsum(delta.aa.oo, (0, 1), x335, (2, 3), (0, 2, 1, 3)) - rdm2_f_abab_ovvv += einsum(t1.aa, (0, 1), x335, (2, 3), (0, 2, 1, 3)) - x336 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x336 += einsum(t1.bb, (0, 1), x118, (0, 2, 3, 4), (2, 3, 4, 1)) * 2.0 - del x118 - rdm2_f_bbbb_ovov += einsum(x336, (0, 1, 2, 3), (1, 2, 0, 3)) * -1.0 - rdm2_f_bbbb_ovvo += einsum(x336, (0, 1, 2, 3), (1, 2, 3, 0)) - rdm2_f_bbbb_voov += einsum(x336, (0, 1, 2, 3), (2, 1, 0, 3)) - rdm2_f_bbbb_vovo += einsum(x336, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - del x336 - x337 = np.zeros((nvir[1], nvir[1]), dtype=types[float]) - x337 += einsum(x334, (0, 1), (0, 1)) * 0.5000000000000202 - del x334 - x337 += einsum(x271, (0, 1), (0, 1)) * 1.0000000000000404 - del x271 - x337 += einsum(x272, (0, 1), (0, 1)) * 0.5000000000000202 - del x272 - x337 += einsum(x273, (0, 1), (0, 1)) * 1.4999999999999998 - del x273 - x337 += einsum(x274, (0, 1), (0, 1)) - del x274 - x337 += einsum(x275, (0, 1), (0, 1)) * 0.5000000000000002 - del x275 - rdm2_f_bbbb_ovov += einsum(delta.bb.oo, (0, 1), x337, (2, 3), (0, 2, 1, 3)) * 1.9999999999999194 - rdm2_f_bbbb_ovvo += einsum(delta.bb.oo, (0, 1), x337, (2, 3), (0, 2, 3, 1)) * -1.9999999999999194 - rdm2_f_bbbb_voov += einsum(delta.bb.oo, (0, 1), x337, (2, 3), (2, 0, 1, 3)) * -1.9999999999999194 - rdm2_f_bbbb_vovo += einsum(delta.bb.oo, (0, 1), x337, (2, 3), (2, 0, 3, 1)) * 1.9999999999999194 - del x337 - x338 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x338 += einsum(t1.aa, (0, 1), x102, (0, 2, 3, 4), (2, 3, 4, 1)) * 2.0 - rdm2_f_aaaa_ovvo += einsum(x338, (0, 1, 2, 3), (1, 2, 3, 0)) - rdm2_f_aaaa_vovo += einsum(x338, (0, 1, 2, 3), (2, 1, 3, 0)) * -1.0 - del x338 - x339 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x339 += einsum(x331, (0, 1), (0, 1)) * 1.00000000000004 - x339 += einsum(x207, (0, 1), (0, 1)) * 1.00000000000004 - x339 += einsum(x208, (0, 1), (0, 1)) * 2.00000000000008 - x339 += einsum(x209, (0, 1), (0, 1)) - x339 += einsum(x210, (0, 1), (0, 1)) * 1.9999999999999991 - x339 += einsum(x211, (0, 1), (0, 1)) * 2.9999999999999982 - rdm2_f_abab_vovo += einsum(delta.bb.oo, (0, 1), x339, (2, 3), (2, 0, 3, 1)) * 0.9999999999999601 - del x339 - x340 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x340 += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), x51, (1, 4, 0, 2, 6, 7), (6, 7, 3, 5)) - del x51 - rdm2_f_aaaa_ovvv = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - rdm2_f_aaaa_ovvv += einsum(x340, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0000000000000404 - rdm2_f_aaaa_vovv = np.zeros((nvir[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - rdm2_f_aaaa_vovv += einsum(x340, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0000000000000404 - del x340 - x341 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x341 += einsum(l2.aaaa, (0, 1, 2, 3), t3.aaaaaa, (4, 2, 3, 5, 6, 1), (4, 0, 5, 6)) - rdm2_f_aaaa_ovvv += einsum(x341, (0, 1, 2, 3), (0, 1, 3, 2)) * -6.0 - rdm2_f_aaaa_vovv += einsum(x341, (0, 1, 2, 3), (1, 0, 3, 2)) * 6.0 - del x341 - x342 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x342 += einsum(l1.aa, (0, 1), t2.aaaa, (2, 1, 3, 4), (2, 0, 3, 4)) - rdm2_f_aaaa_ovvv += einsum(x342, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - rdm2_f_aaaa_vovv += einsum(x342, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - del x342 - x343 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x343 += einsum(l2.abab, (0, 1, 2, 3), t3.abaaba, (4, 3, 2, 5, 1, 6), (4, 0, 5, 6)) - rdm2_f_aaaa_ovvv += einsum(x343, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - rdm2_f_aaaa_vovv += einsum(x343, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - del x343 - x344 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x344 += einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), x45, (0, 1, 2, 6, 7, 5), (6, 7, 3, 4)) * -1.0 - del x45 - rdm2_f_aaaa_ovvv += einsum(x344, (0, 1, 2, 3), (0, 1, 3, 2)) * -6.000000000000116 - rdm2_f_aaaa_vovv += einsum(x344, (0, 1, 2, 3), (1, 0, 3, 2)) * 6.000000000000116 - del x344 - x345 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x345 += einsum(t2.abab, (0, 1, 2, 3), x161, (1, 3, 4, 5), (0, 4, 2, 5)) - x346 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x346 += einsum(t2.abab, (0, 1, 2, 3), x162, (1, 3, 4, 5), (0, 4, 5, 2)) - x347 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x347 += einsum(t2.aaaa, (0, 1, 2, 3), x205, (1, 4, 3, 5), (0, 4, 5, 2)) * 4.0 - x348 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x348 += einsum(x329, (0, 1, 2, 3), (0, 1, 2, 3)) - del x329 - x348 += einsum(x202, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.0 - del x202 - x348 += einsum(x173, (0, 1, 2, 3), (0, 1, 2, 3)) - del x173 - x348 += einsum(x174, (0, 1, 2, 3), (0, 1, 2, 3)) * 4.0 - del x174 - x348 += einsum(x178, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - del x178 - x348 += einsum(x175, (0, 1, 2, 3), (0, 1, 2, 3)) * 9.0 - del x175 - x348 += einsum(x179, (0, 1, 2, 3), (0, 1, 2, 3)) * -6.0 - del x179 - x349 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x349 += einsum(t1.aa, (0, 1), x348, (0, 2, 3, 4), (2, 3, 4, 1)) - del x348 - x350 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x350 += einsum(x345, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x345 - x350 += einsum(x346, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - del x346 - x350 += einsum(x347, (0, 1, 2, 3), (0, 1, 2, 3)) - del x347 - x350 += einsum(x349, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x349 - x350 += einsum(t1.aa, (0, 1), x332, (2, 3), (0, 2, 1, 3)) - del x332 - rdm2_f_aaaa_ovvv += einsum(x350, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_aaaa_ovvv += einsum(x350, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_aaaa_vovv += einsum(x350, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - rdm2_f_aaaa_vovv += einsum(x350, (0, 1, 2, 3), (1, 0, 3, 2)) - del x350 - x351 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x351 += einsum(t2.aaaa, (0, 1, 2, 3), x102, (0, 1, 4, 5), (4, 5, 2, 3)) * 2.0 - del x102 - rdm2_f_aaaa_ovvv += einsum(x351, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_aaaa_vovv += einsum(x351, (0, 1, 2, 3), (1, 0, 3, 2)) - del x351 - x352 = np.zeros((nocc[0], nocc[0], nocc[0], nvir[0]), dtype=types[float]) - x352 += einsum(x1, (0, 1, 2, 3), (1, 0, 2, 3)) * 0.3333333333333333 - del x1 - x352 += einsum(x12, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.3333333333333333 - del x12 - x352 += einsum(x13, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x13 - x353 = np.zeros((nocc[0], nocc[0], nvir[0], nvir[0]), dtype=types[float]) - x353 += einsum(t1.aa, (0, 1), x352, (0, 2, 3, 4), (2, 3, 4, 1)) * 3.0 - del x352 - x354 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x354 += einsum(t1.aa, (0, 1), x353, (0, 2, 3, 4), (2, 3, 4, 1)) * 2.0 - del x353 - rdm2_f_aaaa_ovvv += einsum(x354, (0, 1, 2, 3), (0, 1, 3, 2)) - rdm2_f_aaaa_vovv += einsum(x354, (0, 1, 2, 3), (1, 0, 2, 3)) - del x354 - x355 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x355 += einsum(x218, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.6666666666666666 - del x218 - x355 += einsum(x167, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.6666666666666666 - del x167 - x355 += einsum(x168, (0, 1, 2, 3), (0, 1, 2, 3)) - del x168 - x355 += einsum(x169, (0, 1, 2, 3), (0, 1, 2, 3)) * 1.3333333333333333 - del x169 - x355 += einsum(x165, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.6666666666666666 - del x165 - x355 += einsum(x170, (0, 1, 2, 3), (0, 1, 2, 3)) - del x170 - x355 += einsum(x183, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.6666666666666666 - del x183 - x355 += einsum(t1.aa, (0, 1), x22, (2, 3, 0, 4), (2, 3, 4, 1)) * -0.6666666666666666 - del x22 - rdm2_f_abab_ovvv += einsum(t1.bb, (0, 1), x355, (0, 2, 3, 4), (3, 2, 4, 1)) * 3.0 - del x355 - x356 = np.zeros((nvir[1], nvir[1], nocc[0], nocc[0]), dtype=types[float]) - x356 += einsum(x333, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - del x333 - x356 += einsum(x261, (0, 1, 2, 3), (0, 1, 2, 3)) - del x261 - x356 += einsum(x262, (0, 1, 2, 3), (0, 1, 2, 3)) - del x262 - x356 += einsum(x263, (0, 1, 2, 3), (0, 1, 2, 3)) - del x263 - x356 += einsum(x264, (0, 1, 2, 3), (0, 1, 2, 3)) - del x264 - rdm2_f_abab_ovvv += einsum(t1.aa, (0, 1), x356, (2, 3, 0, 4), (4, 2, 1, 3)) * -2.0 - del x356 - x357 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x357 += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), x90, (0, 2, 6, 7, 1, 4), (6, 7, 3, 5)) - del x90 - rdm2_f_bbbb_ovvv = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - rdm2_f_bbbb_ovvv += einsum(x357, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0000000000000404 - rdm2_f_bbbb_vovv = np.zeros((nvir[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - rdm2_f_bbbb_vovv += einsum(x357, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0000000000000404 - del x357 - x358 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x358 += einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), x114, (0, 1, 2, 6, 7, 5), (6, 7, 3, 4)) * -1.0 - del x114 - rdm2_f_bbbb_ovvv += einsum(x358, (0, 1, 2, 3), (0, 1, 3, 2)) * -6.000000000000116 - rdm2_f_bbbb_vovv += einsum(x358, (0, 1, 2, 3), (1, 0, 3, 2)) * 6.000000000000116 - del x358 - x359 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x359 += einsum(l1.bb, (0, 1), t2.bbbb, (2, 1, 3, 4), (2, 0, 3, 4)) - rdm2_f_bbbb_ovvv += einsum(x359, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - rdm2_f_bbbb_vovv += einsum(x359, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - del x359 - x360 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x360 += einsum(l2.bbbb, (0, 1, 2, 3), t3.bbbbbb, (4, 2, 3, 5, 6, 1), (4, 0, 5, 6)) - rdm2_f_bbbb_ovvv += einsum(x360, (0, 1, 2, 3), (0, 1, 3, 2)) * -6.0 - rdm2_f_bbbb_vovv += einsum(x360, (0, 1, 2, 3), (1, 0, 3, 2)) * 6.0 - del x360 - x361 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x361 += einsum(l2.abab, (0, 1, 2, 3), t3.babbab, (4, 2, 3, 5, 0, 6), (4, 1, 5, 6)) - rdm2_f_bbbb_ovvv += einsum(x361, (0, 1, 2, 3), (0, 1, 3, 2)) * -2.0 - rdm2_f_bbbb_vovv += einsum(x361, (0, 1, 2, 3), (1, 0, 3, 2)) * 2.0 - del x361 - x362 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x362 += einsum(t2.bbbb, (0, 1, 2, 3), x145, (1, 4, 3, 5), (0, 4, 5, 2)) * -1.0 - del x145 - x363 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x363 += einsum(t2.bbbb, (0, 1, 2, 3), x146, (1, 4, 3, 5), (0, 4, 2, 5)) - del x146 - x364 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x364 += einsum(t2.abab, (0, 1, 2, 3), x99, (4, 5, 0, 2), (1, 4, 5, 3)) - del x99 - x365 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x365 += einsum(t2.abab, (0, 1, 2, 3), x100, (4, 5, 0, 2), (1, 4, 3, 5)) - del x100 - x366 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x366 += einsum(x244, (0, 1, 2, 3), (0, 1, 2, 3)) - del x244 - x366 += einsum(x245, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.25 - del x245 - x366 += einsum(x246, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.25 - del x246 - x366 += einsum(x247, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.5 - del x247 - x366 += einsum(x248, (0, 1, 2, 3), (0, 1, 2, 3)) - del x248 - x366 += einsum(x249, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - del x249 - x366 += einsum(x250, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.25 - del x250 - x367 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x367 += einsum(t1.bb, (0, 1), x366, (0, 2, 3, 4), (2, 3, 4, 1)) * 4.0 - del x366 - x368 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x368 += einsum(x362, (0, 1, 2, 3), (0, 1, 2, 3)) * -12.0 - del x362 - x368 += einsum(x363, (0, 1, 2, 3), (0, 1, 2, 3)) * -4.0 - del x363 - x368 += einsum(x364, (0, 1, 2, 3), (0, 1, 2, 3)) * -2.0 - del x364 - x368 += einsum(x365, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x365 - x368 += einsum(x367, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - del x367 - x368 += einsum(t1.bb, (0, 1), x335, (2, 3), (0, 2, 1, 3)) - del x335 - rdm2_f_bbbb_ovvv += einsum(x368, (0, 1, 2, 3), (0, 1, 2, 3)) - rdm2_f_bbbb_ovvv += einsum(x368, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_bbbb_vovv += einsum(x368, (0, 1, 2, 3), (1, 0, 2, 3)) * -1.0 - rdm2_f_bbbb_vovv += einsum(x368, (0, 1, 2, 3), (1, 0, 3, 2)) - del x368 - x369 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x369 += einsum(x38, (0, 1, 2, 3), (1, 0, 2, 3)) * -0.3333333333333333 - x369 += einsum(x40, (0, 1, 2, 3), (0, 1, 2, 3)) - x369 += einsum(x41, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.3333333333333333 - x370 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x370 += einsum(t2.bbbb, (0, 1, 2, 3), x369, (0, 1, 4, 5), (4, 5, 2, 3)) * 6.0 - del x369 - rdm2_f_bbbb_ovvv += einsum(x370, (0, 1, 2, 3), (0, 1, 3, 2)) * -1.0 - rdm2_f_bbbb_vovv += einsum(x370, (0, 1, 2, 3), (1, 0, 3, 2)) - del x370 - x371 = np.zeros((nocc[1], nocc[1], nocc[1], nvir[1]), dtype=types[float]) - x371 += einsum(x38, (0, 1, 2, 3), (1, 0, 2, 3)) - del x38 - x371 += einsum(x40, (0, 1, 2, 3), (0, 1, 2, 3)) * -3.0 - del x40 - x371 += einsum(x41, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x41 - x372 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x372 += einsum(t1.bb, (0, 1), x371, (0, 2, 3, 4), (2, 3, 4, 1)) * 0.3333333333333333 - rdm2_f_bbbb_ovvv += einsum(t1.bb, (0, 1), x372, (0, 2, 3, 4), (2, 3, 4, 1)) * -6.0 - del x372 - x373 = np.zeros((nocc[1], nvir[1], nocc[0], nvir[0]), dtype=types[float]) - x373 += einsum(x236, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - del x236 - x373 += einsum(x237, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - del x237 - x373 += einsum(x238, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.75 - del x238 - x373 += einsum(x239, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - del x239 - x373 += einsum(x240, (0, 1, 2, 3), (0, 1, 2, 3)) - del x240 - x373 += einsum(x241, (0, 1, 2, 3), (0, 1, 2, 3)) * -0.5 - del x241 - x373 += einsum(x242, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.75 - del x242 - x373 += einsum(t1.bb, (0, 1), x235, (0, 2, 3, 4), (2, 1, 3, 4)) * -0.25 - del x235 - rdm2_f_abab_vovv += einsum(t1.aa, (0, 1), x373, (2, 3, 0, 4), (4, 2, 1, 3)) * 4.0 - del x373 - x374 = np.zeros((nocc[1], nocc[1], nvir[0], nvir[0]), dtype=types[float]) - x374 += einsum(x255, (0, 1, 2, 3), (0, 1, 2, 3)) * 0.5 - del x255 - x374 += einsum(x256, (0, 1, 2, 3), (0, 1, 2, 3)) - del x256 - x374 += einsum(x257, (0, 1, 2, 3), (0, 1, 2, 3)) - del x257 - x374 += einsum(x258, (0, 1, 2, 3), (0, 1, 2, 3)) - del x258 - x374 += einsum(x259, (0, 1, 2, 3), (0, 1, 2, 3)) - del x259 - rdm2_f_abab_vovv += einsum(t1.bb, (0, 1), x374, (0, 2, 3, 4), (3, 2, 4, 1)) * -2.0 - del x374 - x375 = np.zeros((nvir[0], nvir[0]), dtype=types[float]) - x375 += einsum(x331, (0, 1), (0, 1)) * 0.5000000000000202 - del x331 - x375 += einsum(x207, (0, 1), (0, 1)) * 0.5000000000000202 - del x207 - x375 += einsum(x208, (0, 1), (0, 1)) * 1.0000000000000404 - del x208 - x375 += einsum(x209, (0, 1), (0, 1)) * 0.5000000000000002 - del x209 - x375 += einsum(x210, (0, 1), (0, 1)) - del x210 - x375 += einsum(x211, (0, 1), (0, 1)) * 1.4999999999999998 - del x211 - rdm2_f_abab_vovv += einsum(t1.bb, (0, 1), x375, (2, 3), (2, 0, 3, 1)) * 1.9999999999999194 - del x375 - x376 = np.zeros((nocc[1], nocc[1], nvir[1], nvir[1]), dtype=types[float]) - x376 += einsum(t1.bb, (0, 1), x371, (0, 2, 3, 4), (2, 3, 4, 1)) - del x371 - rdm2_f_bbbb_vovv += einsum(t1.bb, (0, 1), x376, (0, 2, 3, 4), (3, 2, 1, 4)) * -2.0 - del x376 - x377 = np.zeros((nocc[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x377 += einsum(t1.aa, (0, 1), l2.aaaa, (2, 3, 4, 0), (4, 2, 3, 1)) - rdm2_f_aaaa_vvov += einsum(x377, (0, 1, 2, 3), (2, 1, 0, 3)) * -2.0 - rdm2_f_aaaa_vvvo += einsum(x377, (0, 1, 2, 3), (2, 1, 3, 0)) * 2.0 - rdm2_f_aaaa_vvvv += einsum(t1.aa, (0, 1), x377, (0, 2, 3, 4), (2, 3, 1, 4)) * 2.0 - del x377 - x378 = np.zeros((nocc[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x378 += einsum(t1.bb, (0, 1), l2.bbbb, (2, 3, 4, 0), (4, 2, 3, 1)) - rdm2_f_bbbb_vvov += einsum(x378, (0, 1, 2, 3), (2, 1, 0, 3)) * -2.0 - rdm2_f_bbbb_vvvo += einsum(x378, (0, 1, 2, 3), (2, 1, 3, 0)) * 2.0 - rdm2_f_bbbb_vvvv += einsum(t1.bb, (0, 1), x378, (0, 2, 3, 4), (2, 3, 1, 4)) * 2.0 - del x378 - x379 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x379 += einsum(t1.aa, (0, 1), l2.abab, (2, 3, 0, 4), (4, 3, 2, 1)) - rdm2_f_abab_vvvo += einsum(x379, (0, 1, 2, 3), (2, 1, 3, 0)) - x380 = np.zeros((nvir[0], nvir[0], nvir[0], nvir[0]), dtype=types[float]) - x380 += einsum(t1.aa, (0, 1), x205, (0, 2, 3, 4), (2, 3, 4, 1)) * 2.0 - del x205 - rdm2_f_aaaa_vvvv += einsum(x380, (0, 1, 2, 3), (0, 1, 3, 2)) - rdm2_f_aaaa_vvvv += einsum(x380, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x380 - x381 = np.zeros((nocc[1], nvir[1], nvir[0], nvir[0]), dtype=types[float]) - x381 += einsum(x379, (0, 1, 2, 3), (0, 1, 2, 3)) - del x379 - x381 += einsum(x161, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x161 - x381 += einsum(x162, (0, 1, 2, 3), (0, 1, 2, 3)) * 2.0 - del x162 - rdm2_f_abab_vvvv += einsum(t1.bb, (0, 1), x381, (0, 2, 3, 4), (3, 2, 4, 1)) - del x381 - x382 = np.zeros((nvir[1], nvir[1], nvir[1], nvir[1]), dtype=types[float]) - x382 += einsum(t1.bb, (0, 1), x304, (0, 2, 3, 4), (2, 3, 4, 1)) * 6.0 - del x304 - rdm2_f_bbbb_vvvv += einsum(x382, (0, 1, 2, 3), (0, 1, 3, 2)) - rdm2_f_bbbb_vvvv += einsum(x382, (0, 1, 2, 3), (0, 1, 2, 3)) * -1.0 - del x382 - - rdm2_f_aaaa = pack_2e(rdm2_f_aaaa_oooo, rdm2_f_aaaa_ooov, rdm2_f_aaaa_oovo, rdm2_f_aaaa_ovoo, rdm2_f_aaaa_vooo, rdm2_f_aaaa_oovv, rdm2_f_aaaa_ovov, rdm2_f_aaaa_ovvo, rdm2_f_aaaa_voov, rdm2_f_aaaa_vovo, rdm2_f_aaaa_vvoo, rdm2_f_aaaa_ovvv, rdm2_f_aaaa_vovv, rdm2_f_aaaa_vvov, rdm2_f_aaaa_vvvo, rdm2_f_aaaa_vvvv) - rdm2_f_abab = pack_2e(rdm2_f_abab_oooo, rdm2_f_abab_ooov, rdm2_f_abab_oovo, rdm2_f_abab_ovoo, rdm2_f_abab_vooo, rdm2_f_abab_oovv, rdm2_f_abab_ovov, rdm2_f_abab_ovvo, rdm2_f_abab_voov, rdm2_f_abab_vovo, rdm2_f_abab_vvoo, rdm2_f_abab_ovvv, rdm2_f_abab_vovv, rdm2_f_abab_vvov, rdm2_f_abab_vvvo, rdm2_f_abab_vvvv) - rdm2_f_bbbb = pack_2e(rdm2_f_bbbb_oooo, rdm2_f_bbbb_ooov, rdm2_f_bbbb_oovo, rdm2_f_bbbb_ovoo, rdm2_f_bbbb_vooo, rdm2_f_bbbb_oovv, rdm2_f_bbbb_ovov, rdm2_f_bbbb_ovvo, rdm2_f_bbbb_voov, rdm2_f_bbbb_vovo, rdm2_f_bbbb_vvoo, rdm2_f_bbbb_ovvv, rdm2_f_bbbb_vovv, rdm2_f_bbbb_vvov, rdm2_f_bbbb_vvvo, rdm2_f_bbbb_vvvv) - - rdm2_f_aaaa = np.transpose(rdm2_f_aaaa, (0, 2, 1, 3)) - rdm2_f_aabb = np.transpose(rdm2_f_abab, (0, 2, 1, 3)) - rdm2_f_bbbb = np.transpose(rdm2_f_bbbb, (0, 2, 1, 3)) - - rdm2_f.aaaa = rdm2_f_aaaa - rdm2_f.aabb = rdm2_f_aabb - rdm2_f.bbbb = rdm2_f_bbbb - - return rdm2_f - diff --git a/ebcc/codegen/bootstrap_CC2.py b/ebcc/codegen/bootstrap_CC2.py index 93b572d8..ec3d8807 100644 --- a/ebcc/codegen/bootstrap_CC2.py +++ b/ebcc/codegen/bootstrap_CC2.py @@ -41,7 +41,7 @@ pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() - terms = pq.fully_contracted_strings() + terms = pq.strings() terms = remove_reference_energy(terms) # Get the energy in albert format @@ -62,7 +62,7 @@ pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() - terms_t1 = pq.fully_contracted_strings() + terms_t1 = pq.strings() # Get the T2 contractions in pdaggerq format pq.clear() @@ -70,7 +70,7 @@ pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) pq.add_st_operator(1.0, ["v"], ["t1"]) pq.simplify() - terms_t2 = pq.fully_contracted_strings() + terms_t2 = pq.strings() # Get the T amplitudes in albert format output_expr, returns = get_amplitudes([terms_t1, terms_t2], spin) @@ -97,7 +97,7 @@ pq.add_st_operator(-1.0, ["e1(a,i)", "f"], ["t1", "t2"]) pq.add_st_operator(-1.0, ["e1(a,i)", "v"], ["t1", "t2"]) pq.simplify() - terms_l1 = pq.fully_contracted_strings() + terms_l1 = pq.strings() # Get the L2 contractions in pdaggerq format pq.clear() @@ -111,7 +111,7 @@ pq.add_st_operator(-1.0, ["e2(a,b,j,i)", "f"], ["t1", "t2"]) pq.add_st_operator(-1.0, ["e2(a,b,j,i)", "v"], ["t1"]) pq.simplify() - terms_l2 = pq.fully_contracted_strings() + terms_l2 = pq.strings() # Get the L amplitudes in albert format output_expr, returns = get_amplitudes([terms_l1, terms_l2], spin, strategy="opt" if spin == "uhf" else "exhaust", which="l") @@ -133,7 +133,7 @@ pq.set_left_operators([["1"], ["l1"], ["l2"]]) pq.add_st_operator(1.0, [f"e1({','.join(indices)})"], ["t1", "t2"]) pq.simplify() - terms[sectors, indices] = pq.fully_contracted_strings() + terms[sectors, indices] = pq.strings() # Get the 1RDM in albert format output_expr, returns, deltas, deltas_sources = get_rdm1(terms, spin) @@ -199,7 +199,7 @@ def postamble(): 1.0, [f"e2({indices[0]},{indices[1]},{indices[3]},{indices[2]})"], ["t1", "t2"] ) pq.simplify() - terms[sectors, indices] = pq.fully_contracted_strings() + terms[sectors, indices] = pq.strings() # Get the 2RDM in albert format output_expr, returns, deltas, deltas_sources = get_rdm2(terms, spin, strategy="trav" if spin == "uhf" else "exhaust") @@ -249,7 +249,7 @@ def postamble(): pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() - terms_r1 = pq.fully_contracted_strings() + terms_r1 = pq.strings() terms_r1 = remove_reference_energy_eom(terms_r1) # Get the R2 contractions in pdaggerq format @@ -260,7 +260,7 @@ def postamble(): pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) pq.add_st_operator(1.0, ["v"], ["t2"]) pq.simplify() - terms_r2 = pq.fully_contracted_strings() + terms_r2 = pq.strings() terms_r2 = remove_reference_energy_eom(terms_r2) # Get the R amplitudes in albert format @@ -293,7 +293,7 @@ def postamble(): pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() - terms_r1 = pq.fully_contracted_strings() + terms_r1 = pq.strings() terms_r1 = remove_reference_energy_eom(terms_r1) # Get the R2 contractions in pdaggerq format @@ -304,7 +304,7 @@ def postamble(): pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) pq.add_st_operator(1.0, ["v"], ["t2"]) pq.simplify() - terms_r2 = pq.fully_contracted_strings() + terms_r2 = pq.strings() terms_r2 = remove_reference_energy_eom(terms_r2) # Get the R amplitudes in albert format @@ -338,7 +338,7 @@ def postamble(): pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() - terms_r1 = pq.fully_contracted_strings() + terms_r1 = pq.strings() terms_r1 = remove_reference_energy_eom(terms_r1) # Get the R2 contractions in pdaggerq format @@ -349,7 +349,7 @@ def postamble(): pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) pq.add_st_operator(1.0, ["v"], ["t2"]) pq.simplify() - terms_r2 = pq.fully_contracted_strings() + terms_r2 = pq.strings() terms_r2 = remove_reference_energy_eom(terms_r2) # Get the R amplitudes in albert format @@ -401,7 +401,7 @@ def postamble(): pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() - terms_r1 = pq.fully_contracted_strings() + terms_r1 = pq.strings() terms_r1 = remove_reference_energy_eom(terms_r1) # Get the L2 contractions in pdaggerq format @@ -412,7 +412,7 @@ def postamble(): pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) pq.add_st_operator(1.0, ["v"], ["t2"]) pq.simplify() - terms_r2 = pq.fully_contracted_strings() + terms_r2 = pq.strings() terms_r2 = remove_reference_energy_eom(terms_r2) # Get the L amplitudes in albert format @@ -445,7 +445,7 @@ def postamble(): pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() - terms_r1 = pq.fully_contracted_strings() + terms_r1 = pq.strings() terms_r1 = remove_reference_energy_eom(terms_r1) # Get the L2 contractions in pdaggerq format @@ -456,7 +456,7 @@ def postamble(): pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) pq.add_st_operator(1.0, ["v"], ["t2"]) pq.simplify() - terms_r2 = pq.fully_contracted_strings() + terms_r2 = pq.strings() terms_r2 = remove_reference_energy_eom(terms_r2) # Get the L amplitudes in albert format @@ -490,7 +490,7 @@ def postamble(): pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() - terms_r1 = pq.fully_contracted_strings() + terms_r1 = pq.strings() terms_r1 = remove_reference_energy_eom(terms_r1) # Get the L2 contractions in pdaggerq format @@ -501,7 +501,7 @@ def postamble(): pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) pq.add_st_operator(1.0, ["v"], ["t2"]) pq.simplify() - terms_r2 = pq.fully_contracted_strings() + terms_r2 = pq.strings() terms_r2 = remove_reference_energy_eom(terms_r2) # Get the L amplitudes in albert format diff --git a/ebcc/codegen/bootstrap_CC3.py b/ebcc/codegen/bootstrap_CC3.py index d21effa5..f394d484 100644 --- a/ebcc/codegen/bootstrap_CC3.py +++ b/ebcc/codegen/bootstrap_CC3.py @@ -41,7 +41,7 @@ pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() - terms = pq.fully_contracted_strings() + terms = pq.strings() terms = remove_reference_energy(terms) # Get the energy in albert format @@ -62,7 +62,7 @@ pq.add_st_operator(1.0, ["f"], ["t1", "t2", "t3"]) pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3"]) pq.simplify() - terms_t1 = pq.fully_contracted_strings() + terms_t1 = pq.strings() # Get the T2 contractions in pdaggerq format pq.clear() @@ -70,7 +70,7 @@ pq.add_st_operator(1.0, ["f"], ["t1", "t2", "t3"]) pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3"]) pq.simplify() - terms_t2 = pq.fully_contracted_strings() + terms_t2 = pq.strings() # Get the T3 contractions in pdaggerq format pq.clear() @@ -83,7 +83,7 @@ pq.add_triple_commutator(0.5, ["v"], ["t1"], ["t1"], ["t2"]) pq.add_quadruple_commutator(1/6, ["v"], ["t1"], ["t1"], ["t1"], ["t2"]) pq.simplify() - terms_t3 = pq.fully_contracted_strings() + terms_t3 = pq.strings() # Get the T amplitudes in albert format output_expr, returns = get_amplitudes([terms_t1, terms_t2, terms_t3], spin) diff --git a/ebcc/codegen/bootstrap_CCD.py b/ebcc/codegen/bootstrap_CCD.py index 7d4f40cc..f5035d7a 100644 --- a/ebcc/codegen/bootstrap_CCD.py +++ b/ebcc/codegen/bootstrap_CCD.py @@ -42,7 +42,7 @@ pq.add_st_operator(1.0, ["f"], ["t2"]) pq.add_st_operator(1.0, ["v"], ["t2"]) pq.simplify() - terms = pq.fully_contracted_strings() + terms = pq.strings() terms = remove_reference_energy(terms) # Get the energy in albert format @@ -63,7 +63,7 @@ pq.add_st_operator(1.0, ["f"], ["t2"]) pq.add_st_operator(1.0, ["v"], ["t2"]) pq.simplify() - terms = pq.fully_contracted_strings() + terms = pq.strings() # Get the T amplitudes in albert format output_expr, returns = get_amplitudes([terms], spin, orders=[2]) @@ -90,7 +90,7 @@ pq.add_st_operator(-1.0, ["e2(a,b,j,i)", "f"], ["t2"]) pq.add_st_operator(-1.0, ["e2(a,b,j,i)", "v"], ["t2"]) pq.simplify() - terms = pq.fully_contracted_strings() + terms = pq.strings() # Get the L amplitudes in albert format output_expr, returns = get_amplitudes([terms], spin, strategy="opt" if spin == "uhf" else "exhaust", which="l", orders=[2]) @@ -112,7 +112,7 @@ pq.set_left_operators([["1"], ["l2"]]) pq.add_st_operator(1.0, [f"e1({','.join(indices)})"], ["t2"]) pq.simplify() - terms[sectors, indices] = pq.fully_contracted_strings() + terms[sectors, indices] = pq.strings() # Get the 1RDM in albert format output_expr, returns, deltas, deltas_sources = get_rdm1(terms, spin) @@ -184,7 +184,7 @@ def postamble(): 1.0, [f"e2({indices[0]},{indices[1]},{indices[3]},{indices[2]})"], ["t2"] ) pq.simplify() - terms[sectors, indices] = pq.fully_contracted_strings() + terms[sectors, indices] = pq.strings() # Get the 2RDM in albert format output_expr, returns, deltas, deltas_sources = get_rdm2(terms, spin, strategy="trav" if spin == "uhf" else "exhaust") @@ -243,7 +243,7 @@ def postamble(): pq.add_st_operator(1.0, ["f"], ["t2"]) pq.add_st_operator(1.0, ["v"], ["t2"]) pq.simplify() - terms_r1 = pq.fully_contracted_strings() + terms_r1 = pq.strings() terms_r1 = remove_reference_energy_eom(terms_r1) # Get the R2 contractions in pdaggerq format @@ -254,7 +254,7 @@ def postamble(): pq.add_st_operator(1.0, ["f"], ["t2"]) pq.add_st_operator(1.0, ["v"], ["t2"]) pq.simplify() - terms_r2 = pq.fully_contracted_strings() + terms_r2 = pq.strings() terms_r2 = remove_reference_energy_eom(terms_r2) # Get the R amplitudes in albert format @@ -287,7 +287,7 @@ def postamble(): pq.add_st_operator(1.0, ["f"], ["t2"]) pq.add_st_operator(1.0, ["v"], ["t2"]) pq.simplify() - terms_r1 = pq.fully_contracted_strings() + terms_r1 = pq.strings() terms_r1 = remove_reference_energy_eom(terms_r1) # Get the R2 contractions in pdaggerq format @@ -298,7 +298,7 @@ def postamble(): pq.add_st_operator(1.0, ["f"], ["t2"]) pq.add_st_operator(1.0, ["v"], ["t2"]) pq.simplify() - terms_r2 = pq.fully_contracted_strings() + terms_r2 = pq.strings() terms_r2 = remove_reference_energy_eom(terms_r2) # Get the R amplitudes in albert format @@ -332,7 +332,7 @@ def postamble(): pq.add_st_operator(1.0, ["f"], ["t2"]) pq.add_st_operator(1.0, ["v"], ["t2"]) pq.simplify() - terms_r1 = pq.fully_contracted_strings() + terms_r1 = pq.strings() terms_r1 = remove_reference_energy_eom(terms_r1) # Get the R2 contractions in pdaggerq format @@ -343,7 +343,7 @@ def postamble(): pq.add_st_operator(1.0, ["f"], ["t2"]) pq.add_st_operator(1.0, ["v"], ["t2"]) pq.simplify() - terms_r2 = pq.fully_contracted_strings() + terms_r2 = pq.strings() terms_r2 = remove_reference_energy_eom(terms_r2) # Get the R amplitudes in albert format @@ -395,7 +395,7 @@ def postamble(): pq.add_st_operator(1.0, ["f"], ["t2"]) pq.add_st_operator(1.0, ["v"], ["t2"]) pq.simplify() - terms_r1 = pq.fully_contracted_strings() + terms_r1 = pq.strings() terms_r1 = remove_reference_energy_eom(terms_r1) # Get the L2 contractions in pdaggerq format @@ -406,7 +406,7 @@ def postamble(): pq.add_st_operator(1.0, ["f"], ["t2"]) pq.add_st_operator(1.0, ["v"], ["t2"]) pq.simplify() - terms_r2 = pq.fully_contracted_strings() + terms_r2 = pq.strings() terms_r2 = remove_reference_energy_eom(terms_r2) # Get the L amplitudes in albert format @@ -439,7 +439,7 @@ def postamble(): pq.add_st_operator(1.0, ["f"], ["t2"]) pq.add_st_operator(1.0, ["v"], ["t2"]) pq.simplify() - terms_r1 = pq.fully_contracted_strings() + terms_r1 = pq.strings() terms_r1 = remove_reference_energy_eom(terms_r1) # Get the L2 contractions in pdaggerq format @@ -450,7 +450,7 @@ def postamble(): pq.add_st_operator(1.0, ["f"], ["t2"]) pq.add_st_operator(1.0, ["v"], ["t2"]) pq.simplify() - terms_r2 = pq.fully_contracted_strings() + terms_r2 = pq.strings() terms_r2 = remove_reference_energy_eom(terms_r2) # Get the L amplitudes in albert format @@ -484,7 +484,7 @@ def postamble(): pq.add_st_operator(1.0, ["f"], ["t2"]) pq.add_st_operator(1.0, ["v"], ["t2"]) pq.simplify() - terms_r1 = pq.fully_contracted_strings() + terms_r1 = pq.strings() terms_r1 = remove_reference_energy_eom(terms_r1) # Get the L2 contractions in pdaggerq format @@ -495,7 +495,7 @@ def postamble(): pq.add_st_operator(1.0, ["f"], ["t2"]) pq.add_st_operator(1.0, ["v"], ["t2"]) pq.simplify() - terms_r2 = pq.fully_contracted_strings() + terms_r2 = pq.strings() terms_r2 = remove_reference_energy_eom(terms_r2) # Get the L amplitudes in albert format diff --git a/ebcc/codegen/bootstrap_CCSD.py b/ebcc/codegen/bootstrap_CCSD.py index 20fa2944..588fb7ea 100644 --- a/ebcc/codegen/bootstrap_CCSD.py +++ b/ebcc/codegen/bootstrap_CCSD.py @@ -41,7 +41,7 @@ pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() - terms = pq.fully_contracted_strings() + terms = pq.strings() terms = remove_reference_energy(terms) # Get the energy in albert format @@ -62,7 +62,7 @@ pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() - terms_t1 = pq.fully_contracted_strings() + terms_t1 = pq.strings() # Get the T2 contractions in pdaggerq format pq.clear() @@ -70,7 +70,7 @@ pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() - terms_t2 = pq.fully_contracted_strings() + terms_t2 = pq.strings() # Get the T amplitudes in albert format output_expr, returns = get_amplitudes([terms_t1, terms_t2], spin) @@ -97,7 +97,7 @@ pq.add_st_operator(-1.0, ["e1(a,i)", "f"], ["t1", "t2"]) pq.add_st_operator(-1.0, ["e1(a,i)", "v"], ["t1", "t2"]) pq.simplify() - terms_l1 = pq.fully_contracted_strings() + terms_l1 = pq.strings() # Get the L2 contractions in pdaggerq format pq.clear() @@ -111,7 +111,7 @@ pq.add_st_operator(-1.0, ["e2(a,b,j,i)", "f"], ["t1", "t2"]) pq.add_st_operator(-1.0, ["e2(a,b,j,i)", "v"], ["t1", "t2"]) pq.simplify() - terms_l2 = pq.fully_contracted_strings() + terms_l2 = pq.strings() # Get the L amplitudes in albert format output_expr, returns = get_amplitudes([terms_l1, terms_l2], spin, strategy="opt" if spin == "uhf" else "exhaust", which="l") @@ -133,7 +133,7 @@ pq.set_left_operators([["1"], ["l1"], ["l2"]]) pq.add_st_operator(1.0, [f"e1({','.join(indices)})"], ["t1", "t2"]) pq.simplify() - terms[sectors, indices] = pq.fully_contracted_strings() + terms[sectors, indices] = pq.strings() # Get the 1RDM in albert format output_expr, returns, deltas, deltas_sources = get_rdm1(terms, spin) @@ -199,7 +199,7 @@ def postamble(): 1.0, [f"e2({indices[0]},{indices[1]},{indices[3]},{indices[2]})"], ["t1", "t2"] ) pq.simplify() - terms[sectors, indices] = pq.fully_contracted_strings() + terms[sectors, indices] = pq.strings() # Get the 2RDM in albert format output_expr, returns, deltas, deltas_sources = get_rdm2(terms, spin, strategy="trav" if spin == "uhf" else "exhaust") @@ -249,7 +249,7 @@ def postamble(): pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() - terms_r1 = pq.fully_contracted_strings() + terms_r1 = pq.strings() terms_r1 = remove_reference_energy_eom(terms_r1) # Get the R2 contractions in pdaggerq format @@ -260,7 +260,7 @@ def postamble(): pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() - terms_r2 = pq.fully_contracted_strings() + terms_r2 = pq.strings() terms_r2 = remove_reference_energy_eom(terms_r2) # Get the R amplitudes in albert format @@ -293,7 +293,7 @@ def postamble(): pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() - terms_r1 = pq.fully_contracted_strings() + terms_r1 = pq.strings() terms_r1 = remove_reference_energy_eom(terms_r1) # Get the R2 contractions in pdaggerq format @@ -304,7 +304,7 @@ def postamble(): pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() - terms_r2 = pq.fully_contracted_strings() + terms_r2 = pq.strings() terms_r2 = remove_reference_energy_eom(terms_r2) # Get the R amplitudes in albert format @@ -338,7 +338,7 @@ def postamble(): pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() - terms_r1 = pq.fully_contracted_strings() + terms_r1 = pq.strings() terms_r1 = remove_reference_energy_eom(terms_r1) # Get the R2 contractions in pdaggerq format @@ -349,7 +349,7 @@ def postamble(): pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() - terms_r2 = pq.fully_contracted_strings() + terms_r2 = pq.strings() terms_r2 = remove_reference_energy_eom(terms_r2) # Get the R amplitudes in albert format @@ -401,7 +401,7 @@ def postamble(): pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() - terms_r1 = pq.fully_contracted_strings() + terms_r1 = pq.strings() terms_r1 = remove_reference_energy_eom(terms_r1) # Get the L2 contractions in pdaggerq format @@ -412,7 +412,7 @@ def postamble(): pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() - terms_r2 = pq.fully_contracted_strings() + terms_r2 = pq.strings() terms_r2 = remove_reference_energy_eom(terms_r2) # Get the L amplitudes in albert format @@ -445,7 +445,7 @@ def postamble(): pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() - terms_r1 = pq.fully_contracted_strings() + terms_r1 = pq.strings() terms_r1 = remove_reference_energy_eom(terms_r1) # Get the L2 contractions in pdaggerq format @@ -456,7 +456,7 @@ def postamble(): pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() - terms_r2 = pq.fully_contracted_strings() + terms_r2 = pq.strings() terms_r2 = remove_reference_energy_eom(terms_r2) # Get the L amplitudes in albert format @@ -490,7 +490,7 @@ def postamble(): pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() - terms_r1 = pq.fully_contracted_strings() + terms_r1 = pq.strings() terms_r1 = remove_reference_energy_eom(terms_r1) # Get the L2 contractions in pdaggerq format @@ -501,7 +501,7 @@ def postamble(): pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() - terms_r2 = pq.fully_contracted_strings() + terms_r2 = pq.strings() terms_r2 = remove_reference_energy_eom(terms_r2) # Get the L amplitudes in albert format diff --git a/ebcc/codegen/bootstrap_CCSDT.py b/ebcc/codegen/bootstrap_CCSDT.py index 0504f4b5..5fbecc51 100644 --- a/ebcc/codegen/bootstrap_CCSDT.py +++ b/ebcc/codegen/bootstrap_CCSDT.py @@ -41,7 +41,7 @@ pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() - terms = pq.fully_contracted_strings() + terms = pq.strings() terms = remove_reference_energy(terms) # Get the energy in albert format @@ -62,7 +62,7 @@ pq.add_st_operator(1.0, ["f"], ["t1", "t2", "t3"]) pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3"]) pq.simplify() - terms_t1 = pq.fully_contracted_strings() + terms_t1 = pq.strings() # Get the T2 contractions in pdaggerq format pq.clear() @@ -70,7 +70,7 @@ pq.add_st_operator(1.0, ["f"], ["t1", "t2", "t3"]) pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3"]) pq.simplify() - terms_t2 = pq.fully_contracted_strings() + terms_t2 = pq.strings() # Get the T3 contractions in pdaggerq format pq.clear() @@ -78,7 +78,7 @@ pq.add_st_operator(1.0, ["f"], ["t1", "t2", "t3"]) pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3"]) pq.simplify() - terms_t3 = pq.fully_contracted_strings() + terms_t3 = pq.strings() # Get the T amplitudes in albert format output_expr, returns = get_amplitudes([terms_t1, terms_t2, terms_t3], spin, strategy="greedy") @@ -105,7 +105,7 @@ pq.add_st_operator(-1.0, ["e1(a,i)", "f"], ["t1", "t2", "t3"]) pq.add_st_operator(-1.0, ["e1(a,i)", "v"], ["t1", "t2", "t3"]) pq.simplify() - terms_l1 = pq.fully_contracted_strings() + terms_l1 = pq.strings() # Get the L2 contractions in pdaggerq format pq.clear() @@ -119,7 +119,7 @@ pq.add_st_operator(-1.0, ["e2(a,b,j,i)", "f"], ["t1", "t2", "t3"]) pq.add_st_operator(-1.0, ["e2(a,b,j,i)", "v"], ["t1", "t2", "t3"]) pq.simplify() - terms_l2 = pq.fully_contracted_strings() + terms_l2 = pq.strings() # Get the L3 contractions in pdaggerq format pq.clear() @@ -133,7 +133,7 @@ pq.add_st_operator(-1.0, ["e3(a,b,c,k,j,i)", "f"], ["t1", "t2", "t3"]) pq.add_st_operator(-1.0, ["e3(a,b,c,k,j,i)", "v"], ["t1", "t2", "t3"]) pq.simplify() - terms_l3 = pq.fully_contracted_strings() + terms_l3 = pq.strings() # Get the L amplitudes in albert format output_expr, returns = get_amplitudes([terms_l1, terms_l2, terms_l3], spin, strategy="greedy", which="l") @@ -155,7 +155,7 @@ pq.set_left_operators([["1"], ["l1"], ["l2"], ["l3"]]) pq.add_st_operator(1.0, [f"e1({','.join(indices)})"], ["t1", "t2", "t3"]) pq.simplify() - terms[sectors, indices] = pq.fully_contracted_strings() + terms[sectors, indices] = pq.strings() # Get the 1RDM in albert format output_expr, returns, deltas, deltas_sources = get_rdm1(terms, spin) @@ -221,7 +221,7 @@ def postamble(): 1.0, [f"e2({indices[0]},{indices[1]},{indices[3]},{indices[2]})"], ["t1", "t2", "t3"] ) pq.simplify() - terms[sectors, indices] = pq.fully_contracted_strings() + terms[sectors, indices] = pq.strings() # Get the 2RDM in albert format output_expr, returns, deltas, deltas_sources = get_rdm2(terms, spin, strategy="trav" if spin == "uhf" else "exhaust") @@ -271,7 +271,7 @@ def postamble(): pq.add_st_operator(1.0, ["f"], ["t1", "t2", "t3"]) pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3"]) pq.simplify() - terms_r1 = pq.fully_contracted_strings() + terms_r1 = pq.strings() terms_r1 = remove_reference_energy_eom(terms_r1) # Get the R2 contractions in pdaggerq format @@ -282,7 +282,7 @@ def postamble(): pq.add_st_operator(1.0, ["f"], ["t1", "t2", "t3"]) pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3"]) pq.simplify() - terms_r2 = pq.fully_contracted_strings() + terms_r2 = pq.strings() terms_r2 = remove_reference_energy_eom(terms_r2) # Get the R3 contractions in pdaggerq format @@ -293,7 +293,7 @@ def postamble(): pq.add_st_operator(1.0, ["f"], ["t1", "t2", "t3"]) pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3"]) pq.simplify() - terms_r3 = pq.fully_contracted_strings() + terms_r3 = pq.strings() terms_r3 = remove_reference_energy_eom(terms_r3) # Get the R amplitudes in albert format @@ -326,7 +326,7 @@ def postamble(): pq.add_st_operator(1.0, ["f"], ["t1", "t2", "t3"]) pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3"]) pq.simplify() - terms_r1 = pq.fully_contracted_strings() + terms_r1 = pq.strings() terms_r1 = remove_reference_energy_eom(terms_r1) # Get the R2 contractions in pdaggerq format @@ -337,7 +337,7 @@ def postamble(): pq.add_st_operator(1.0, ["f"], ["t1", "t2", "t3"]) pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3"]) pq.simplify() - terms_r2 = pq.fully_contracted_strings() + terms_r2 = pq.strings() terms_r2 = remove_reference_energy_eom(terms_r2) # Get the R3 contractions in pdaggerq format @@ -348,7 +348,7 @@ def postamble(): pq.add_st_operator(1.0, ["f"], ["t1", "t2", "t3"]) pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3"]) pq.simplify() - terms_r3 = pq.fully_contracted_strings() + terms_r3 = pq.strings() terms_r3 = remove_reference_energy_eom(terms_r3) # Get the R amplitudes in albert format @@ -382,7 +382,7 @@ def postamble(): pq.add_st_operator(1.0, ["f"], ["t1", "t2", "t3"]) pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3"]) pq.simplify() - terms_r1 = pq.fully_contracted_strings() + terms_r1 = pq.strings() terms_r1 = remove_reference_energy_eom(terms_r1) # Get the R2 contractions in pdaggerq format @@ -393,7 +393,7 @@ def postamble(): pq.add_st_operator(1.0, ["f"], ["t1", "t2", "t3"]) pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3"]) pq.simplify() - terms_r2 = pq.fully_contracted_strings() + terms_r2 = pq.strings() terms_r2 = remove_reference_energy_eom(terms_r2) # Get the R3 contractions in pdaggerq format @@ -404,7 +404,7 @@ def postamble(): pq.add_st_operator(1.0, ["f"], ["t1", "t2", "t3"]) pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3"]) pq.simplify() - terms_r3 = pq.fully_contracted_strings() + terms_r3 = pq.strings() terms_r3 = remove_reference_energy_eom(terms_r3) # Get the R amplitudes in albert format diff --git a/ebcc/codegen/bootstrap_CCSDTQ.py b/ebcc/codegen/bootstrap_CCSDTQ.py index 7107a8b7..b69febd2 100644 --- a/ebcc/codegen/bootstrap_CCSDTQ.py +++ b/ebcc/codegen/bootstrap_CCSDTQ.py @@ -41,7 +41,7 @@ pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() - terms = pq.fully_contracted_strings() + terms = pq.strings() terms = remove_reference_energy(terms) # Get the energy in albert format @@ -62,7 +62,7 @@ pq.add_st_operator(1.0, ["f"], ["t1", "t2", "t3"]) pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3"]) pq.simplify() - terms_t1 = pq.fully_contracted_strings() + terms_t1 = pq.strings() # Get the T2 contractions in pdaggerq format pq.clear() @@ -70,7 +70,7 @@ pq.add_st_operator(1.0, ["f"], ["t1", "t2", "t3"]) pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3"]) pq.simplify() - terms_t2 = pq.fully_contracted_strings() + terms_t2 = pq.strings() # Get the T3 contractions in pdaggerq format pq.clear() @@ -78,7 +78,7 @@ pq.add_st_operator(1.0, ["f"], ["t1", "t2", "t3"]) pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3"]) pq.simplify() - terms_t3 = pq.fully_contracted_strings() + terms_t3 = pq.strings() # Get the T3 contractions in pdaggerq format pq.clear() @@ -86,7 +86,7 @@ pq.add_st_operator(1.0, ["f"], ["t1", "t2", "t3", "t4"]) pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3", "t4"]) pq.simplify() - terms_t4 = pq.fully_contracted_strings() + terms_t4 = pq.strings() # Get the T amplitudes in albert format output_expr, returns = get_amplitudes([terms_t1, terms_t2, terms_t3, terms_t4], spin, strategy="greedy") diff --git a/ebcc/codegen/bootstrap_CCSDt.py b/ebcc/codegen/bootstrap_CCSDt.py index f99d62ef..ca09f89b 100644 --- a/ebcc/codegen/bootstrap_CCSDt.py +++ b/ebcc/codegen/bootstrap_CCSDt.py @@ -62,7 +62,7 @@ def tensor_cleanup(self, *args): pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() - terms = pq.fully_contracted_strings() + terms = pq.strings() terms = remove_hf_energy(terms) # Get the energy in albert format @@ -88,7 +88,7 @@ def tensor_cleanup(self, *args): pq.add_st_operator(1.0, ["f"], ["t1", "t2", "t3"]) pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3"]) pq.simplify() - terms_t1 = pq.fully_contracted_strings() + terms_t1 = pq.strings() # Get the T2 contractions in pdaggerq format pq.clear() @@ -96,7 +96,7 @@ def tensor_cleanup(self, *args): pq.add_st_operator(1.0, ["f"], ["t1", "t2", "t3"]) pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3"]) pq.simplify() - terms_t2 = pq.fully_contracted_strings() + terms_t2 = pq.strings() # Get the T3 contractions in pdaggerq format pq.clear() @@ -104,7 +104,7 @@ def tensor_cleanup(self, *args): pq.add_st_operator(1.0, ["f"], ["t1", "t2", "t3"]) pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3"]) pq.simplify() - terms_t3 = pq.fully_contracted_strings() + terms_t3 = pq.strings() # Get the T amplitudes in albert format terms = [terms_t1, terms_t2, terms_t3] diff --git a/ebcc/codegen/bootstrap_CCSDwtw.py b/ebcc/codegen/bootstrap_CCSDwtw.py index 7bb98747..41c4365a 100644 --- a/ebcc/codegen/bootstrap_CCSDwtw.py +++ b/ebcc/codegen/bootstrap_CCSDwtw.py @@ -68,7 +68,7 @@ def preamble(self, imports=None): pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() - terms = pq.fully_contracted_strings() + terms = pq.strings() terms = remove_hf_energy(terms) # Get the energy in albert format @@ -94,7 +94,7 @@ def preamble(self, imports=None): pq.add_st_operator(1.0, ["f"], ["t1", "t2", "t3"]) pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3"]) pq.simplify() - terms_t1 = pq.fully_contracted_strings() + terms_t1 = pq.strings() # Get the T2 contractions in pdaggerq format pq.clear() @@ -102,7 +102,7 @@ def preamble(self, imports=None): pq.add_st_operator(1.0, ["f"], ["t1", "t2", "t3"]) pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3"]) pq.simplify() - terms_t2 = pq.fully_contracted_strings() + terms_t2 = pq.strings() # Get the T3 contractions in pdaggerq format pq.clear() @@ -110,7 +110,7 @@ def preamble(self, imports=None): pq.add_st_operator(1.0, ["f"], ["t1", "t2", "t3"]) pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3"]) pq.simplify() - terms_t3 = pq.fully_contracted_strings() + terms_t3 = pq.strings() # Get the T amplitudes in albert format terms = [terms_t1, terms_t2, terms_t3] diff --git a/ebcc/codegen/bootstrap_CCSDwtwp.py b/ebcc/codegen/bootstrap_CCSDwtwp.py index 5b343047..8c302e24 100644 --- a/ebcc/codegen/bootstrap_CCSDwtwp.py +++ b/ebcc/codegen/bootstrap_CCSDwtwp.py @@ -70,7 +70,7 @@ def tensor_cleanup(self, *args): pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() - terms = pq.fully_contracted_strings() + terms = pq.strings() terms = remove_reference_energy(terms) # Get the energy in albert format @@ -91,7 +91,7 @@ def tensor_cleanup(self, *args): pq.add_st_operator(1.0, ["f"], ["t1", "t2", "t3"]) pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3"]) pq.simplify() - terms_t1 = pq.fully_contracted_strings() + terms_t1 = pq.strings() # Get the T2 contractions in pdaggerq format pq.clear() @@ -99,7 +99,7 @@ def tensor_cleanup(self, *args): pq.add_st_operator(1.0, ["f"], ["t1", "t2", "t3"]) pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3"]) pq.simplify() - terms_t2 = pq.fully_contracted_strings() + terms_t2 = pq.strings() # Get the T3 contractions in pdaggerq format pq.clear() @@ -107,7 +107,7 @@ def tensor_cleanup(self, *args): pq.add_st_operator(1.0, ["f"], ["t1", "t2", "t3"]) pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3"]) pq.simplify() - terms_t3 = pq.fully_contracted_strings() + terms_t3 = pq.strings() # Get the T amplitudes in albert format output_expr, returns = get_amplitudes([terms_t1, terms_t2, terms_t3], spin, strategy=None) diff --git a/ebcc/codegen/bootstrap_DCD.py b/ebcc/codegen/bootstrap_DCD.py index d5e99b97..dd16cad9 100644 --- a/ebcc/codegen/bootstrap_DCD.py +++ b/ebcc/codegen/bootstrap_DCD.py @@ -41,7 +41,7 @@ pq.add_st_operator(1.0, ["f"], ["t2"]) pq.add_st_operator(1.0, ["v"], ["t2"]) pq.simplify() - terms = pq.fully_contracted_strings() + terms = pq.strings() terms = remove_reference_energy(terms) # Get the energy in albert format diff --git a/ebcc/codegen/bootstrap_DCSD.py b/ebcc/codegen/bootstrap_DCSD.py index 5287947c..0d6af88b 100644 --- a/ebcc/codegen/bootstrap_DCSD.py +++ b/ebcc/codegen/bootstrap_DCSD.py @@ -41,7 +41,7 @@ pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() - terms = pq.fully_contracted_strings() + terms = pq.strings() terms = remove_reference_energy(terms) # Get the energy in albert format @@ -62,7 +62,7 @@ pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() - terms_t1 = pq.fully_contracted_strings() + terms_t1 = pq.strings() # T2 residuals: pq.clear() @@ -70,7 +70,7 @@ pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() - terms_t2 = pq.fully_contracted_strings() + terms_t2 = pq.strings() # DCD: 10.1063/1.4944087 terms_t2 = [term for term in terms_t2 if sum(t.startswith("t2") for t in term) < 2] diff --git a/ebcc/codegen/bootstrap_DFCC2.py b/ebcc/codegen/bootstrap_DFCC2.py index b59c7f4e..4dd5d4a9 100644 --- a/ebcc/codegen/bootstrap_DFCC2.py +++ b/ebcc/codegen/bootstrap_DFCC2.py @@ -41,7 +41,7 @@ pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() - terms = pq.fully_contracted_strings() + terms = pq.strings() terms = remove_reference_energy(terms) # Get the energy in albert format @@ -62,7 +62,7 @@ pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() - terms_t1 = pq.fully_contracted_strings() + terms_t1 = pq.strings() # Get the T2 contractions in pdaggerq format pq.clear() @@ -70,7 +70,7 @@ pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) pq.add_st_operator(1.0, ["v"], ["t1"]) pq.simplify() - terms_t2 = pq.fully_contracted_strings() + terms_t2 = pq.strings() # Get the T amplitudes in albert format output_expr, returns = get_amplitudes([terms_t1, terms_t2], spin, density_fit=True) @@ -97,7 +97,7 @@ pq.add_st_operator(-1.0, ["e1(a,i)", "f"], ["t1", "t2"]) pq.add_st_operator(-1.0, ["e1(a,i)", "v"], ["t1", "t2"]) pq.simplify() - terms_l1 = pq.fully_contracted_strings() + terms_l1 = pq.strings() # Get the L2 contractions in pdaggerq format pq.clear() @@ -111,7 +111,7 @@ pq.add_st_operator(-1.0, ["e2(a,b,j,i)", "f"], ["t1", "t2"]) pq.add_st_operator(-1.0, ["e2(a,b,j,i)", "v"], ["t1"]) pq.simplify() - terms_l2 = pq.fully_contracted_strings() + terms_l2 = pq.strings() # Get the L amplitudes in albert format output_expr, returns = get_amplitudes([terms_l1, terms_l2], spin, strategy="opt" if spin == "uhf" else "exhaust", which="l", density_fit=True) @@ -133,7 +133,7 @@ pq.set_left_operators([["1"], ["l1"], ["l2"]]) pq.add_st_operator(1.0, [f"e1({','.join(indices)})"], ["t1", "t2"]) pq.simplify() - terms[sectors, indices] = pq.fully_contracted_strings() + terms[sectors, indices] = pq.strings() # Get the 1RDM in albert format output_expr, returns, deltas, deltas_sources = get_rdm1(terms, spin, density_fit=True) @@ -199,7 +199,7 @@ def postamble(): 1.0, [f"e2({indices[0]},{indices[1]},{indices[3]},{indices[2]})"], ["t1", "t2"] ) pq.simplify() - terms[sectors, indices] = pq.fully_contracted_strings() + terms[sectors, indices] = pq.strings() # Get the 2RDM in albert format output_expr, returns, deltas, deltas_sources = get_rdm2(terms, spin, strategy="trav" if spin == "uhf" else "exhaust", density_fit=True) @@ -249,7 +249,7 @@ def postamble(): pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() - terms_r1 = pq.fully_contracted_strings() + terms_r1 = pq.strings() terms_r1 = remove_reference_energy_eom(terms_r1) # Get the R2 contractions in pdaggerq format @@ -260,7 +260,7 @@ def postamble(): pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) pq.add_st_operator(1.0, ["v"], ["t2"]) pq.simplify() - terms_r2 = pq.fully_contracted_strings() + terms_r2 = pq.strings() terms_r2 = remove_reference_energy_eom(terms_r2) # Get the R amplitudes in albert format @@ -293,7 +293,7 @@ def postamble(): pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() - terms_r1 = pq.fully_contracted_strings() + terms_r1 = pq.strings() terms_r1 = remove_reference_energy_eom(terms_r1) # Get the R2 contractions in pdaggerq format @@ -304,7 +304,7 @@ def postamble(): pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) pq.add_st_operator(1.0, ["v"], ["t2"]) pq.simplify() - terms_r2 = pq.fully_contracted_strings() + terms_r2 = pq.strings() terms_r2 = remove_reference_energy_eom(terms_r2) # Get the R amplitudes in albert format @@ -338,7 +338,7 @@ def postamble(): pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() - terms_r1 = pq.fully_contracted_strings() + terms_r1 = pq.strings() terms_r1 = remove_reference_energy_eom(terms_r1) # Get the R2 contractions in pdaggerq format @@ -349,7 +349,7 @@ def postamble(): pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) pq.add_st_operator(1.0, ["v"], ["t2"]) pq.simplify() - terms_r2 = pq.fully_contracted_strings() + terms_r2 = pq.strings() terms_r2 = remove_reference_energy_eom(terms_r2) # Get the R amplitudes in albert format @@ -401,7 +401,7 @@ def postamble(): pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() - terms_r1 = pq.fully_contracted_strings() + terms_r1 = pq.strings() terms_r1 = remove_reference_energy_eom(terms_r1) # Get the L2 contractions in pdaggerq format @@ -412,7 +412,7 @@ def postamble(): pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) pq.add_st_operator(1.0, ["v"], ["t2"]) pq.simplify() - terms_r2 = pq.fully_contracted_strings() + terms_r2 = pq.strings() terms_r2 = remove_reference_energy_eom(terms_r2) # Get the L amplitudes in albert format @@ -445,7 +445,7 @@ def postamble(): pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() - terms_r1 = pq.fully_contracted_strings() + terms_r1 = pq.strings() terms_r1 = remove_reference_energy_eom(terms_r1) # Get the L2 contractions in pdaggerq format @@ -456,7 +456,7 @@ def postamble(): pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) pq.add_st_operator(1.0, ["v"], ["t2"]) pq.simplify() - terms_r2 = pq.fully_contracted_strings() + terms_r2 = pq.strings() terms_r2 = remove_reference_energy_eom(terms_r2) # Get the L amplitudes in albert format @@ -490,7 +490,7 @@ def postamble(): pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() - terms_r1 = pq.fully_contracted_strings() + terms_r1 = pq.strings() terms_r1 = remove_reference_energy_eom(terms_r1) # Get the L2 contractions in pdaggerq format @@ -501,7 +501,7 @@ def postamble(): pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) pq.add_st_operator(1.0, ["v"], ["t2"]) pq.simplify() - terms_r2 = pq.fully_contracted_strings() + terms_r2 = pq.strings() terms_r2 = remove_reference_energy_eom(terms_r2) # Get the L amplitudes in albert format diff --git a/ebcc/codegen/bootstrap_DFCCD.py b/ebcc/codegen/bootstrap_DFCCD.py index be518760..5a99e7d5 100644 --- a/ebcc/codegen/bootstrap_DFCCD.py +++ b/ebcc/codegen/bootstrap_DFCCD.py @@ -41,7 +41,7 @@ pq.add_st_operator(1.0, ["f"], ["t2"]) pq.add_st_operator(1.0, ["v"], ["t2"]) pq.simplify() - terms = pq.fully_contracted_strings() + terms = pq.strings() terms = remove_reference_energy(terms) # Get the energy in albert format @@ -62,7 +62,7 @@ pq.add_st_operator(1.0, ["f"], ["t2"]) pq.add_st_operator(1.0, ["v"], ["t2"]) pq.simplify() - terms = pq.fully_contracted_strings() + terms = pq.strings() # Get the T amplitudes in albert format output_expr, returns = get_amplitudes([terms], spin, orders=[2], density_fit=True) @@ -89,7 +89,7 @@ pq.add_st_operator(-1.0, ["e2(a,b,j,i)", "f"], ["t2"]) pq.add_st_operator(-1.0, ["e2(a,b,j,i)", "v"], ["t2"]) pq.simplify() - terms = pq.fully_contracted_strings() + terms = pq.strings() # Get the L amplitudes in albert format output_expr, returns = get_amplitudes([terms], spin, strategy="opt" if spin == "uhf" else "exhaust", which="l", orders=[2], density_fit=True) @@ -111,7 +111,7 @@ pq.set_left_operators([["1"], ["l2"]]) pq.add_st_operator(1.0, [f"e1({','.join(indices)})"], ["t2"]) pq.simplify() - terms[sectors, indices] = pq.fully_contracted_strings() + terms[sectors, indices] = pq.strings() # Get the 1RDM in albert format output_expr, returns, deltas, deltas_sources = get_rdm1(terms, spin, density_fit=True) @@ -177,7 +177,7 @@ def postamble(): 1.0, [f"e2({indices[0]},{indices[1]},{indices[3]},{indices[2]})"], ["t2"] ) pq.simplify() - terms[sectors, indices] = pq.fully_contracted_strings() + terms[sectors, indices] = pq.strings() # Get the 2RDM in albert format output_expr, returns, deltas, deltas_sources = get_rdm2(terms, spin, strategy="trav" if spin == "uhf" else "exhaust", density_fit=True) @@ -227,7 +227,7 @@ def postamble(): pq.add_st_operator(1.0, ["f"], ["t2"]) pq.add_st_operator(1.0, ["v"], ["t2"]) pq.simplify() - terms_r1 = pq.fully_contracted_strings() + terms_r1 = pq.strings() terms_r1 = remove_reference_energy_eom(terms_r1) # Get the R2 contractions in pdaggerq format @@ -238,7 +238,7 @@ def postamble(): pq.add_st_operator(1.0, ["f"], ["t2"]) pq.add_st_operator(1.0, ["v"], ["t2"]) pq.simplify() - terms_r2 = pq.fully_contracted_strings() + terms_r2 = pq.strings() terms_r2 = remove_reference_energy_eom(terms_r2) # Get the R amplitudes in albert format @@ -271,7 +271,7 @@ def postamble(): pq.add_st_operator(1.0, ["f"], ["t2"]) pq.add_st_operator(1.0, ["v"], ["t2"]) pq.simplify() - terms_r1 = pq.fully_contracted_strings() + terms_r1 = pq.strings() terms_r1 = remove_reference_energy_eom(terms_r1) # Get the R2 contractions in pdaggerq format @@ -282,7 +282,7 @@ def postamble(): pq.add_st_operator(1.0, ["f"], ["t2"]) pq.add_st_operator(1.0, ["v"], ["t2"]) pq.simplify() - terms_r2 = pq.fully_contracted_strings() + terms_r2 = pq.strings() terms_r2 = remove_reference_energy_eom(terms_r2) # Get the R amplitudes in albert format @@ -316,7 +316,7 @@ def postamble(): pq.add_st_operator(1.0, ["f"], ["t2"]) pq.add_st_operator(1.0, ["v"], ["t2"]) pq.simplify() - terms_r1 = pq.fully_contracted_strings() + terms_r1 = pq.strings() terms_r1 = remove_reference_energy_eom(terms_r1) # Get the R2 contractions in pdaggerq format @@ -327,7 +327,7 @@ def postamble(): pq.add_st_operator(1.0, ["f"], ["t2"]) pq.add_st_operator(1.0, ["v"], ["t2"]) pq.simplify() - terms_r2 = pq.fully_contracted_strings() + terms_r2 = pq.strings() terms_r2 = remove_reference_energy_eom(terms_r2) # Get the R amplitudes in albert format @@ -379,7 +379,7 @@ def postamble(): pq.add_st_operator(1.0, ["f"], ["t2"]) pq.add_st_operator(1.0, ["v"], ["t2"]) pq.simplify() - terms_r1 = pq.fully_contracted_strings() + terms_r1 = pq.strings() terms_r1 = remove_reference_energy_eom(terms_r1) # Get the L2 contractions in pdaggerq format @@ -390,7 +390,7 @@ def postamble(): pq.add_st_operator(1.0, ["f"], ["t2"]) pq.add_st_operator(1.0, ["v"], ["t2"]) pq.simplify() - terms_r2 = pq.fully_contracted_strings() + terms_r2 = pq.strings() terms_r2 = remove_reference_energy_eom(terms_r2) # Get the L amplitudes in albert format @@ -423,7 +423,7 @@ def postamble(): pq.add_st_operator(1.0, ["f"], ["t2"]) pq.add_st_operator(1.0, ["v"], ["t2"]) pq.simplify() - terms_r1 = pq.fully_contracted_strings() + terms_r1 = pq.strings() terms_r1 = remove_reference_energy_eom(terms_r1) # Get the L2 contractions in pdaggerq format @@ -434,7 +434,7 @@ def postamble(): pq.add_st_operator(1.0, ["f"], ["t2"]) pq.add_st_operator(1.0, ["v"], ["t2"]) pq.simplify() - terms_r2 = pq.fully_contracted_strings() + terms_r2 = pq.strings() terms_r2 = remove_reference_energy_eom(terms_r2) # Get the L amplitudes in albert format @@ -468,7 +468,7 @@ def postamble(): pq.add_st_operator(1.0, ["f"], ["t2"]) pq.add_st_operator(1.0, ["v"], ["t2"]) pq.simplify() - terms_r1 = pq.fully_contracted_strings() + terms_r1 = pq.strings() terms_r1 = remove_reference_energy_eom(terms_r1) # Get the L2 contractions in pdaggerq format @@ -479,7 +479,7 @@ def postamble(): pq.add_st_operator(1.0, ["f"], ["t2"]) pq.add_st_operator(1.0, ["v"], ["t2"]) pq.simplify() - terms_r2 = pq.fully_contracted_strings() + terms_r2 = pq.strings() terms_r2 = remove_reference_energy_eom(terms_r2) # Get the L amplitudes in albert format diff --git a/ebcc/codegen/bootstrap_DFCCSD.py b/ebcc/codegen/bootstrap_DFCCSD.py index 56b37112..94a82d64 100644 --- a/ebcc/codegen/bootstrap_DFCCSD.py +++ b/ebcc/codegen/bootstrap_DFCCSD.py @@ -41,7 +41,7 @@ pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() - terms = pq.fully_contracted_strings() + terms = pq.strings() terms = remove_reference_energy(terms) # Get the energy in albert format @@ -62,7 +62,7 @@ pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() - terms_t1 = pq.fully_contracted_strings() + terms_t1 = pq.strings() # Get the T2 contractions in pdaggerq format pq.clear() @@ -70,7 +70,7 @@ pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() - terms_t2 = pq.fully_contracted_strings() + terms_t2 = pq.strings() # Get the T amplitudes in albert format output_expr, returns = get_amplitudes([terms_t1, terms_t2], spin, density_fit=True) @@ -97,7 +97,7 @@ pq.add_st_operator(-1.0, ["e1(a,i)", "f"], ["t1", "t2"]) pq.add_st_operator(-1.0, ["e1(a,i)", "v"], ["t1", "t2"]) pq.simplify() - terms_l1 = pq.fully_contracted_strings() + terms_l1 = pq.strings() # Get the L2 contractions in pdaggerq format pq.clear() @@ -111,7 +111,7 @@ pq.add_st_operator(-1.0, ["e2(a,b,j,i)", "f"], ["t1", "t2"]) pq.add_st_operator(-1.0, ["e2(a,b,j,i)", "v"], ["t1", "t2"]) pq.simplify() - terms_l2 = pq.fully_contracted_strings() + terms_l2 = pq.strings() # Get the L amplitudes in albert format output_expr, returns = get_amplitudes([terms_l1, terms_l2], spin, strategy="opt" if spin == "uhf" else "exhaust", which="l", density_fit=True) @@ -133,7 +133,7 @@ pq.set_left_operators([["1"], ["l1"], ["l2"]]) pq.add_st_operator(1.0, [f"e1({','.join(indices)})"], ["t1", "t2"]) pq.simplify() - terms[sectors, indices] = pq.fully_contracted_strings() + terms[sectors, indices] = pq.strings() # Get the 1RDM in albert format output_expr, returns, deltas, deltas_sources = get_rdm1(terms, spin, density_fit=True) @@ -199,7 +199,7 @@ def postamble(): 1.0, [f"e2({indices[0]},{indices[1]},{indices[3]},{indices[2]})"], ["t1", "t2"] ) pq.simplify() - terms[sectors, indices] = pq.fully_contracted_strings() + terms[sectors, indices] = pq.strings() # Get the 2RDM in albert format output_expr, returns, deltas, deltas_sources = get_rdm2(terms, spin, strategy="trav" if spin == "uhf" else "exhaust", density_fit=True) @@ -249,7 +249,7 @@ def postamble(): pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() - terms_r1 = pq.fully_contracted_strings() + terms_r1 = pq.strings() terms_r1 = remove_reference_energy_eom(terms_r1) # Get the R2 contractions in pdaggerq format @@ -260,7 +260,7 @@ def postamble(): pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() - terms_r2 = pq.fully_contracted_strings() + terms_r2 = pq.strings() terms_r2 = remove_reference_energy_eom(terms_r2) # Get the R amplitudes in albert format @@ -293,7 +293,7 @@ def postamble(): pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() - terms_r1 = pq.fully_contracted_strings() + terms_r1 = pq.strings() terms_r1 = remove_reference_energy_eom(terms_r1) # Get the R2 contractions in pdaggerq format @@ -304,7 +304,7 @@ def postamble(): pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() - terms_r2 = pq.fully_contracted_strings() + terms_r2 = pq.strings() terms_r2 = remove_reference_energy_eom(terms_r2) # Get the R amplitudes in albert format @@ -338,7 +338,7 @@ def postamble(): pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() - terms_r1 = pq.fully_contracted_strings() + terms_r1 = pq.strings() terms_r1 = remove_reference_energy_eom(terms_r1) # Get the R2 contractions in pdaggerq format @@ -349,7 +349,7 @@ def postamble(): pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() - terms_r2 = pq.fully_contracted_strings() + terms_r2 = pq.strings() terms_r2 = remove_reference_energy_eom(terms_r2) # Get the R amplitudes in albert format @@ -401,7 +401,7 @@ def postamble(): pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() - terms_r1 = pq.fully_contracted_strings() + terms_r1 = pq.strings() terms_r1 = remove_reference_energy_eom(terms_r1) # Get the L2 contractions in pdaggerq format @@ -412,7 +412,7 @@ def postamble(): pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() - terms_r2 = pq.fully_contracted_strings() + terms_r2 = pq.strings() terms_r2 = remove_reference_energy_eom(terms_r2) # Get the L amplitudes in albert format @@ -445,7 +445,7 @@ def postamble(): pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() - terms_r1 = pq.fully_contracted_strings() + terms_r1 = pq.strings() terms_r1 = remove_reference_energy_eom(terms_r1) # Get the L2 contractions in pdaggerq format @@ -456,7 +456,7 @@ def postamble(): pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() - terms_r2 = pq.fully_contracted_strings() + terms_r2 = pq.strings() terms_r2 = remove_reference_energy_eom(terms_r2) # Get the L amplitudes in albert format @@ -490,7 +490,7 @@ def postamble(): pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() - terms_r1 = pq.fully_contracted_strings() + terms_r1 = pq.strings() terms_r1 = remove_reference_energy_eom(terms_r1) # Get the L2 contractions in pdaggerq format @@ -501,7 +501,7 @@ def postamble(): pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() - terms_r2 = pq.fully_contracted_strings() + terms_r2 = pq.strings() terms_r2 = remove_reference_energy_eom(terms_r2) # Get the L amplitudes in albert format diff --git a/ebcc/codegen/bootstrap_DFDCD.py b/ebcc/codegen/bootstrap_DFDCD.py index 5e5b2520..a3c51720 100644 --- a/ebcc/codegen/bootstrap_DFDCD.py +++ b/ebcc/codegen/bootstrap_DFDCD.py @@ -41,7 +41,7 @@ pq.add_st_operator(1.0, ["f"], ["t2"]) pq.add_st_operator(1.0, ["v"], ["t2"]) pq.simplify() - terms = pq.fully_contracted_strings() + terms = pq.strings() terms = remove_reference_energy(terms) # Get the energy in albert format diff --git a/ebcc/codegen/bootstrap_DFDCSD.py b/ebcc/codegen/bootstrap_DFDCSD.py index 19dd9d21..2d7eee11 100644 --- a/ebcc/codegen/bootstrap_DFDCSD.py +++ b/ebcc/codegen/bootstrap_DFDCSD.py @@ -41,7 +41,7 @@ pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() - terms = pq.fully_contracted_strings() + terms = pq.strings() terms = remove_reference_energy(terms) # Get the energy in albert format @@ -62,7 +62,7 @@ pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() - terms_t1 = pq.fully_contracted_strings() + terms_t1 = pq.strings() # T2 residuals: pq.clear() @@ -70,7 +70,7 @@ pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() - terms_t2 = pq.fully_contracted_strings() + terms_t2 = pq.strings() # DCD: 10.1063/1.4944087 terms_t2 = [term for term in terms_t2 if sum(t.startswith("t2") for t in term) < 2] diff --git a/ebcc/codegen/bootstrap_DFQCISD.py b/ebcc/codegen/bootstrap_DFQCISD.py index 38d17bc5..efbe6384 100644 --- a/ebcc/codegen/bootstrap_DFQCISD.py +++ b/ebcc/codegen/bootstrap_DFQCISD.py @@ -45,7 +45,7 @@ pq.add_commutator(1.0, ["f"], ["t2"]) pq.add_commutator(1.0, ["v"], ["t2"]) pq.simplify() - terms = pq.fully_contracted_strings() + terms = pq.strings() terms = remove_reference_energy(terms) # Get the energy in albert format @@ -70,7 +70,7 @@ pq.add_double_commutator(1.0, ["f"], ["t1"], ["t2"]) pq.add_double_commutator(1.0, ["v"], ["t1"], ["t2"]) pq.simplify() - terms_t1 = pq.fully_contracted_strings() + terms_t1 = pq.strings() # Get the T2 contractions in pdaggerq format pq.clear() @@ -84,7 +84,7 @@ pq.add_double_commutator(0.5, ["f"], ["t2"], ["t2"]) pq.add_double_commutator(0.5, ["v"], ["t2"], ["t2"]) pq.simplify() - terms_t2 = pq.fully_contracted_strings() + terms_t2 = pq.strings() # Get the T amplitudes in albert format output_expr, returns = get_amplitudes([terms_t1, terms_t2], spin, density_fit=True) @@ -123,7 +123,7 @@ pq.add_double_commutator(-1.0, ["e1(a,i)", "f"], ["t1"], ["t2"]) pq.add_double_commutator(-1.0, ["e1(a,i)", "v"], ["t1"], ["t2"]) pq.simplify() - terms_l1 = pq.fully_contracted_strings() + terms_l1 = pq.strings() # Get the L2 contractions in pdaggerq format pq.clear() @@ -149,7 +149,7 @@ pq.add_double_commutator(-1.0, ["e2(a,b,j,i)", "f"], ["t1"], ["t2"]) pq.add_double_commutator(-1.0, ["e2(a,b,j,i)", "v"], ["t1"], ["t2"]) pq.simplify() - terms_l2 = pq.fully_contracted_strings() + terms_l2 = pq.strings() # Get the L amplitudes in albert format output_expr, returns = get_amplitudes([terms_l1, terms_l2], spin, strategy="opt" if spin == "uhf" else "exhaust", which="l", density_fit=True) @@ -171,7 +171,7 @@ pq.set_left_operators([["1"], ["l1"], ["l2"]]) pq.add_st_operator(1.0, [f"e1({','.join(indices)})"], ["t1", "t2"]) pq.simplify() - terms[sectors, indices] = pq.fully_contracted_strings() + terms[sectors, indices] = pq.strings() # Get the 1RDM in albert format output_expr, returns, deltas, deltas_sources = get_rdm1(terms, spin, density_fit=True) @@ -237,7 +237,7 @@ def postamble(): 1.0, [f"e2({indices[0]},{indices[1]},{indices[3]},{indices[2]})"], ["t1", "t2"] ) pq.simplify() - terms[sectors, indices] = pq.fully_contracted_strings() + terms[sectors, indices] = pq.strings() # Get the 2RDM in albert format output_expr, returns, deltas, deltas_sources = get_rdm2(terms, spin, strategy="trav" if spin == "uhf" else "exhaust", density_fit=True) @@ -291,7 +291,7 @@ def postamble(): pq.add_double_commutator(1.0, ["f"], ["t1"], ["t2"]) pq.add_double_commutator(1.0, ["v"], ["t1"], ["t2"]) pq.simplify() - terms_r1 = pq.fully_contracted_strings() + terms_r1 = pq.strings() terms_r1 = remove_reference_energy_eom(terms_r1) # Get the R2 contractions in pdaggerq format @@ -308,7 +308,7 @@ def postamble(): pq.add_double_commutator(0.5, ["f"], ["t2"], ["t2"]) pq.add_double_commutator(0.5, ["v"], ["t2"], ["t2"]) pq.simplify() - terms_r2 = pq.fully_contracted_strings() + terms_r2 = pq.strings() terms_r2 = remove_reference_energy_eom(terms_r2) # Get the R amplitudes in albert format @@ -345,7 +345,7 @@ def postamble(): pq.add_double_commutator(1.0, ["f"], ["t1"], ["t2"]) pq.add_double_commutator(1.0, ["v"], ["t1"], ["t2"]) pq.simplify() - terms_r1 = pq.fully_contracted_strings() + terms_r1 = pq.strings() terms_r1 = remove_reference_energy_eom(terms_r1) # Get the R2 contractions in pdaggerq format @@ -362,7 +362,7 @@ def postamble(): pq.add_double_commutator(0.5, ["f"], ["t2"], ["t2"]) pq.add_double_commutator(0.5, ["v"], ["t2"], ["t2"]) pq.simplify() - terms_r2 = pq.fully_contracted_strings() + terms_r2 = pq.strings() terms_r2 = remove_reference_energy_eom(terms_r2) # Get the R amplitudes in albert format @@ -400,7 +400,7 @@ def postamble(): pq.add_double_commutator(1.0, ["f"], ["t1"], ["t2"]) pq.add_double_commutator(1.0, ["v"], ["t1"], ["t2"]) pq.simplify() - terms_r1 = pq.fully_contracted_strings() + terms_r1 = pq.strings() terms_r1 = remove_reference_energy_eom(terms_r1) # Get the R2 contractions in pdaggerq format @@ -417,7 +417,7 @@ def postamble(): pq.add_double_commutator(0.5, ["f"], ["t2"], ["t2"]) pq.add_double_commutator(0.5, ["v"], ["t2"], ["t2"]) pq.simplify() - terms_r2 = pq.fully_contracted_strings() + terms_r2 = pq.strings() terms_r2 = remove_reference_energy_eom(terms_r2) # Get the R amplitudes in albert format @@ -473,7 +473,7 @@ def postamble(): pq.add_double_commutator(1.0, ["f"], ["t1"], ["t2"]) pq.add_double_commutator(1.0, ["v"], ["t1"], ["t2"]) pq.simplify() - terms_r1 = pq.fully_contracted_strings() + terms_r1 = pq.strings() terms_r1 = remove_reference_energy_eom(terms_r1) # Get the L2 contractions in pdaggerq format @@ -490,7 +490,7 @@ def postamble(): pq.add_double_commutator(0.5, ["f"], ["t2"], ["t2"]) pq.add_double_commutator(0.5, ["v"], ["t2"], ["t2"]) pq.simplify() - terms_r2 = pq.fully_contracted_strings() + terms_r2 = pq.strings() terms_r2 = remove_reference_energy_eom(terms_r2) # Get the L amplitudes in albert format @@ -527,7 +527,7 @@ def postamble(): pq.add_double_commutator(1.0, ["f"], ["t1"], ["t2"]) pq.add_double_commutator(1.0, ["v"], ["t1"], ["t2"]) pq.simplify() - terms_r1 = pq.fully_contracted_strings() + terms_r1 = pq.strings() terms_r1 = remove_reference_energy_eom(terms_r1) # Get the L2 contractions in pdaggerq format @@ -544,7 +544,7 @@ def postamble(): pq.add_double_commutator(0.5, ["f"], ["t2"], ["t2"]) pq.add_double_commutator(0.5, ["v"], ["t2"], ["t2"]) pq.simplify() - terms_r2 = pq.fully_contracted_strings() + terms_r2 = pq.strings() terms_r2 = remove_reference_energy_eom(terms_r2) # Get the L amplitudes in albert format @@ -582,7 +582,7 @@ def postamble(): pq.add_double_commutator(1.0, ["f"], ["t1"], ["t2"]) pq.add_double_commutator(1.0, ["v"], ["t1"], ["t2"]) pq.simplify() - terms_r1 = pq.fully_contracted_strings() + terms_r1 = pq.strings() terms_r1 = remove_reference_energy_eom(terms_r1) # Get the L2 contractions in pdaggerq format @@ -599,7 +599,7 @@ def postamble(): pq.add_double_commutator(0.5, ["f"], ["t2"], ["t2"]) pq.add_double_commutator(0.5, ["v"], ["t2"], ["t2"]) pq.simplify() - terms_r2 = pq.fully_contracted_strings() + terms_r2 = pq.strings() terms_r2 = remove_reference_energy_eom(terms_r2) # Get the L amplitudes in albert format diff --git a/ebcc/codegen/bootstrap_QCISD.py b/ebcc/codegen/bootstrap_QCISD.py index 3ff4d645..126cb959 100644 --- a/ebcc/codegen/bootstrap_QCISD.py +++ b/ebcc/codegen/bootstrap_QCISD.py @@ -45,7 +45,7 @@ pq.add_commutator(1.0, ["f"], ["t2"]) pq.add_commutator(1.0, ["v"], ["t2"]) pq.simplify() - terms = pq.fully_contracted_strings() + terms = pq.strings() terms = remove_reference_energy(terms) # Get the energy in albert format @@ -70,7 +70,7 @@ pq.add_double_commutator(1.0, ["f"], ["t1"], ["t2"]) pq.add_double_commutator(1.0, ["v"], ["t1"], ["t2"]) pq.simplify() - terms_t1 = pq.fully_contracted_strings() + terms_t1 = pq.strings() # Get the T2 contractions in pdaggerq format pq.clear() @@ -84,7 +84,7 @@ pq.add_double_commutator(0.5, ["f"], ["t2"], ["t2"]) pq.add_double_commutator(0.5, ["v"], ["t2"], ["t2"]) pq.simplify() - terms_t2 = pq.fully_contracted_strings() + terms_t2 = pq.strings() # Get the T amplitudes in albert format output_expr, returns = get_amplitudes([terms_t1, terms_t2], spin) @@ -123,7 +123,7 @@ pq.add_double_commutator(-1.0, ["e1(a,i)", "f"], ["t1"], ["t2"]) pq.add_double_commutator(-1.0, ["e1(a,i)", "v"], ["t1"], ["t2"]) pq.simplify() - terms_l1 = pq.fully_contracted_strings() + terms_l1 = pq.strings() # Get the L2 contractions in pdaggerq format pq.clear() @@ -149,7 +149,7 @@ pq.add_double_commutator(-1.0, ["e2(a,b,j,i)", "f"], ["t1"], ["t2"]) pq.add_double_commutator(-1.0, ["e2(a,b,j,i)", "v"], ["t1"], ["t2"]) pq.simplify() - terms_l2 = pq.fully_contracted_strings() + terms_l2 = pq.strings() # Get the L amplitudes in albert format output_expr, returns = get_amplitudes([terms_l1, terms_l2], spin, strategy="opt" if spin == "uhf" else "exhaust", which="l") @@ -171,7 +171,7 @@ pq.set_left_operators([["1"], ["l1"], ["l2"]]) pq.add_st_operator(1.0, [f"e1({','.join(indices)})"], ["t1", "t2"]) pq.simplify() - terms[sectors, indices] = pq.fully_contracted_strings() + terms[sectors, indices] = pq.strings() # Get the 1RDM in albert format output_expr, returns, deltas, deltas_sources = get_rdm1(terms, spin) @@ -237,7 +237,7 @@ def postamble(): 1.0, [f"e2({indices[0]},{indices[1]},{indices[3]},{indices[2]})"], ["t1", "t2"] ) pq.simplify() - terms[sectors, indices] = pq.fully_contracted_strings() + terms[sectors, indices] = pq.strings() # Get the 2RDM in albert format output_expr, returns, deltas, deltas_sources = get_rdm2(terms, spin, strategy="trav" if spin == "uhf" else "exhaust") @@ -291,7 +291,7 @@ def postamble(): pq.add_double_commutator(1.0, ["f"], ["t1"], ["t2"]) pq.add_double_commutator(1.0, ["v"], ["t1"], ["t2"]) pq.simplify() - terms_r1 = pq.fully_contracted_strings() + terms_r1 = pq.strings() terms_r1 = remove_reference_energy_eom(terms_r1) # Get the R2 contractions in pdaggerq format @@ -308,7 +308,7 @@ def postamble(): pq.add_double_commutator(0.5, ["f"], ["t2"], ["t2"]) pq.add_double_commutator(0.5, ["v"], ["t2"], ["t2"]) pq.simplify() - terms_r2 = pq.fully_contracted_strings() + terms_r2 = pq.strings() terms_r2 = remove_reference_energy_eom(terms_r2) # Get the R amplitudes in albert format @@ -345,7 +345,7 @@ def postamble(): pq.add_double_commutator(1.0, ["f"], ["t1"], ["t2"]) pq.add_double_commutator(1.0, ["v"], ["t1"], ["t2"]) pq.simplify() - terms_r1 = pq.fully_contracted_strings() + terms_r1 = pq.strings() terms_r1 = remove_reference_energy_eom(terms_r1) # Get the R2 contractions in pdaggerq format @@ -362,7 +362,7 @@ def postamble(): pq.add_double_commutator(0.5, ["f"], ["t2"], ["t2"]) pq.add_double_commutator(0.5, ["v"], ["t2"], ["t2"]) pq.simplify() - terms_r2 = pq.fully_contracted_strings() + terms_r2 = pq.strings() terms_r2 = remove_reference_energy_eom(terms_r2) # Get the R amplitudes in albert format @@ -400,7 +400,7 @@ def postamble(): pq.add_double_commutator(1.0, ["f"], ["t1"], ["t2"]) pq.add_double_commutator(1.0, ["v"], ["t1"], ["t2"]) pq.simplify() - terms_r1 = pq.fully_contracted_strings() + terms_r1 = pq.strings() terms_r1 = remove_reference_energy_eom(terms_r1) # Get the R2 contractions in pdaggerq format @@ -417,7 +417,7 @@ def postamble(): pq.add_double_commutator(0.5, ["f"], ["t2"], ["t2"]) pq.add_double_commutator(0.5, ["v"], ["t2"], ["t2"]) pq.simplify() - terms_r2 = pq.fully_contracted_strings() + terms_r2 = pq.strings() terms_r2 = remove_reference_energy_eom(terms_r2) # Get the R amplitudes in albert format @@ -473,7 +473,7 @@ def postamble(): pq.add_double_commutator(1.0, ["f"], ["t1"], ["t2"]) pq.add_double_commutator(1.0, ["v"], ["t1"], ["t2"]) pq.simplify() - terms_r1 = pq.fully_contracted_strings() + terms_r1 = pq.strings() terms_r1 = remove_reference_energy_eom(terms_r1) # Get the L2 contractions in pdaggerq format @@ -490,7 +490,7 @@ def postamble(): pq.add_double_commutator(0.5, ["f"], ["t2"], ["t2"]) pq.add_double_commutator(0.5, ["v"], ["t2"], ["t2"]) pq.simplify() - terms_r2 = pq.fully_contracted_strings() + terms_r2 = pq.strings() terms_r2 = remove_reference_energy_eom(terms_r2) # Get the L amplitudes in albert format @@ -527,7 +527,7 @@ def postamble(): pq.add_double_commutator(1.0, ["f"], ["t1"], ["t2"]) pq.add_double_commutator(1.0, ["v"], ["t1"], ["t2"]) pq.simplify() - terms_r1 = pq.fully_contracted_strings() + terms_r1 = pq.strings() terms_r1 = remove_reference_energy_eom(terms_r1) # Get the L2 contractions in pdaggerq format @@ -544,7 +544,7 @@ def postamble(): pq.add_double_commutator(0.5, ["f"], ["t2"], ["t2"]) pq.add_double_commutator(0.5, ["v"], ["t2"], ["t2"]) pq.simplify() - terms_r2 = pq.fully_contracted_strings() + terms_r2 = pq.strings() terms_r2 = remove_reference_energy_eom(terms_r2) # Get the L amplitudes in albert format @@ -582,7 +582,7 @@ def postamble(): pq.add_double_commutator(1.0, ["f"], ["t1"], ["t2"]) pq.add_double_commutator(1.0, ["v"], ["t1"], ["t2"]) pq.simplify() - terms_r1 = pq.fully_contracted_strings() + terms_r1 = pq.strings() terms_r1 = remove_reference_energy_eom(terms_r1) # Get the L2 contractions in pdaggerq format @@ -599,7 +599,7 @@ def postamble(): pq.add_double_commutator(0.5, ["f"], ["t2"], ["t2"]) pq.add_double_commutator(0.5, ["v"], ["t2"], ["t2"]) pq.simplify() - terms_r2 = pq.fully_contracted_strings() + terms_r2 = pq.strings() terms_r2 = remove_reference_energy_eom(terms_r2) # Get the L amplitudes in albert format diff --git a/ebcc/codegen/new_bootstrap_CCSDxTx.py b/ebcc/codegen/new_bootstrap_CCSDxTx.py index 3b20822b..7d1c4c51 100644 --- a/ebcc/codegen/new_bootstrap_CCSDxTx.py +++ b/ebcc/codegen/new_bootstrap_CCSDxTx.py @@ -176,7 +176,7 @@ def algebraic_expression_e(self, output, expr, already_declared=False): pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() - terms = pq.fully_contracted_strings() + terms = pq.strings() terms = remove_hf_energy(terms) # Get the energy in albert format @@ -202,7 +202,7 @@ def algebraic_expression_e(self, output, expr, already_declared=False): pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() - terms_t1 = pq.fully_contracted_strings() + terms_t1 = pq.strings() # Get the T2 contractions in pdaggerq format pq.clear() @@ -210,7 +210,7 @@ def algebraic_expression_e(self, output, expr, already_declared=False): pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) pq.simplify() - terms_t2 = pq.fully_contracted_strings() + terms_t2 = pq.strings() # Get the T amplitudes in albert format terms = [terms_t1, terms_t2] @@ -252,7 +252,7 @@ def algebraic_expression_e(self, output, expr, already_declared=False): pq.set_left_operators([["e3(i,j,k,c,b,a)"]]) pq.add_commutator(1.0, ["v"], ["t2"]) pq.simplify() - terms = pq.fully_contracted_strings() + terms = pq.strings() # Get the T3 amplitudes in albert format expr = [] @@ -307,7 +307,7 @@ def algebraic_expression_e(self, output, expr, already_declared=False): pq.set_left_operators([["l1"], ["l2"]]) pq.add_commutator(1.0, ["v"], ["t3"]) pq.simplify() - terms = pq.fully_contracted_strings() + terms = pq.strings() # Get the energy in albert format expr = import_from_pdaggerq(terms) From db1bf7a5aea29deb31ff320edb255150cf4e00a1 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Mon, 2 Dec 2024 20:13:17 +0000 Subject: [PATCH 160/168] Adds ecCC --- ebcc/codegen/bootstrap_ecCC.py | 205 +++++++++++++++++++++++++++++++++ 1 file changed, 205 insertions(+) create mode 100644 ebcc/codegen/bootstrap_ecCC.py diff --git a/ebcc/codegen/bootstrap_ecCC.py b/ebcc/codegen/bootstrap_ecCC.py new file mode 100644 index 00000000..a0304695 --- /dev/null +++ b/ebcc/codegen/bootstrap_ecCC.py @@ -0,0 +1,205 @@ +""" +Generate the ecCC code. +""" + +import sys + +import pdaggerq +from albert.qc._pdaggerq import remove_reference_energy, remove_reference_energy_eom +from albert.qc.spin import ghf_to_uhf, ghf_to_rhf, get_amplitude_spins +from albert.qc import ghf, uhf, rhf +from albert.tensor import Tensor +from albert.index import Index, from_list +from albert.code._ebcc import EBCCCodeGenerator +from albert.misc import Stopwatch +from albert.opt.tools import _tensor_info, combine_expressions +from albert.opt import optimise +from albert.scalar import Scalar +from albert.misc import ExclusionSet + +from ebcc.util import factorial +from ebcc.codegen.bootstrap_common import get_energy, get_amplitudes, get_rdm1, get_rdm2, get_eom, spin_integrate + +# Get the spin case +spin = sys.argv[1] + +# Set up the code generators +class CodeGenerator(EBCCCodeGenerator): + _add_spaces = EBCCCodeGenerator._add_spaces + _add_spaces.add("t1new") + _add_spaces.add("t2new") + +code_generators = { + "einsum": CodeGenerator( + stdout=open(f"{spin[0].upper()}ecCC.py", "w"), + ), +} + +# Write the preamble +for codegen in code_generators.values(): + codegen.preamble() + +# Set up pdaggerq +pq = pdaggerq.pq_helper("fermi") +pq.set_print_level(0) + +with Stopwatch("T amplitudes"): + # Get the T1 contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["e1(i,a)"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2", "t3", "t4"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3", "t4"]) + pq.simplify() + terms_t1 = pq.strings() + + # Get the T2 contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["e2(i,j,b,a)"]]) + pq.add_st_operator(1.0, ["f"], ["t1", "t2", "t3", "t4"]) + pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3", "t4"]) + pq.simplify() + terms_t2 = pq.strings() + + # Get the T amplitudes in albert format + output_expr, returns = get_amplitudes([terms_t1, terms_t2], spin, strategy=None) + + # Make the T3 and T4 indices active + new_expr = [] + new_output = [] + for i, (o, e) in enumerate(output_expr): + # Get the indices + indices = set() + for add in e.expand()._children: + indices_a = indices.copy() + def _get_indices(tensor): + global indices_a + if tensor.name in {"t3", "t4", "t4a"}: + indices_a = indices_a.union(set(tensor.external_indices)) + return tensor + + add = add.apply(_get_indices, Tensor) + subs = {i: Index(i.name.upper(), spin=i.spin, space=i.space.upper()) for i in indices_a} + + def _substitute(tensor): + return tensor.map_indices(subs) + + new_output.append(o.map_indices(subs)) + new_expr.append(add.apply(_substitute, Tensor)) + + output_expr = list(zip(new_output, new_expr)) + + if spin == "uhf": + # Why do we have to refactor these amplitudes? Is this a deficiency in albert? + def _refactor(tensor): + extra_factor = 1.0 + if type(tensor) in (uhf.T1, uhf.T2, uhf.T3, uhf.T4): + spin = tuple(i.spin for i in tensor.external_indices[: tensor.rank // 2]) + extra_factor /= factorial(sum(s == "a" for s in spin)) + extra_factor /= factorial(sum(s == "b" for s in spin)) + return tensor * Scalar(extra_factor) + output_expr = [(o, e.apply(_refactor, Tensor)) for o, e in output_expr] + + # Separate the T3 and T4 dependnent parts + output_expr_external = [] + output_expr_mixed = [] + output_expr_internal = [] + for output, expr in output_expr: + for e in expr.expand()._children: + names = set(tensor.name for tensor in e.search_leaves(Tensor)) + if names.intersection({"t3", "t4", "t4a"}) and names.intersection({"t1", "t2"}): + output_expr_mixed.append((output, e)) + elif names.intersection({"t3", "t4", "t4a"}): + output_expr_external.append((output, e)) + else: + output_expr_internal.append((output, e)) + + # Optimise + output_expr_external = optimise([o for o, e in output_expr_external], [e for o, e in output_expr_external], strategy="exhaust") + output_expr_external = [(o, e.apply(lambda tensor: tensor.canonicalise(), Tensor)) for o, e in output_expr_external] + output_expr_external = combine_expressions(output_expr_external) + return_external = [r for r in returns if any(o.name == r.name for o, e in output_expr_external)] + output_expr_mixed = optimise([o for o, e in output_expr_mixed], [e for o, e in output_expr_mixed], strategy="exhaust") + output_expr_mixed = [(o, e.apply(lambda tensor: tensor.canonicalise(), Tensor)) for o, e in output_expr_mixed] + output_expr_mixed = combine_expressions(output_expr_mixed) + return_mixed = [r for r in returns if any(o.name == r.name for o, e in output_expr_mixed)] + + # Generate the external T amplitude code + for name, codegen in code_generators.items(): + codegen( + "update_amps_external", + return_external, + output_expr_external, + as_dict=True, + ) + + # Generate the mixed T amplitude code + for name, codegen in code_generators.items(): + codegen( + "update_amps_mixed", + return_mixed, + output_expr_mixed, + as_dict=True, + ) + +with Stopwatch("C->T conversions"): + # Get the C->T contractions in albert format + string_t1 = r"c_{i}^{a}" + string_t2 = r"c_{ij}^{ab} - t_{i}^{a} t_{j}^{b} + t_{i}^{b} t_{j}^{a}" + string_t3 = r"c_{ijk}^{abc} - t_{i}^{a} t_{jk}^{bc} + t_{i}^{b} t_{jk}^{ac} - t_{i}^{c} t_{jk}^{ab} + t_{j}^{a} t_{ik}^{bc} - t_{j}^{b} t_{ik}^{ac} + t_{j}^{c} t_{ik}^{ab} - t_{k}^{a} t_{ij}^{bc} + t_{k}^{b} t_{ij}^{ac} - t_{k}^{c} t_{ij}^{ab} - t_{i}^{a} t_{j}^{b} t_{k}^{c} + t_{i}^{a} t_{j}^{c} t_{k}^{b} + t_{i}^{b} t_{j}^{a} t_{k}^{c} - t_{i}^{b} t_{j}^{c} t_{k}^{a} - t_{i}^{c} t_{j}^{a} t_{k}^{b} + t_{i}^{c} t_{j}^{b} t_{k}^{a}" + string_t4 = r"c_{ijkl}^{abcd} - t_{i}^{a} t_{jkl}^{bcd} + t_{i}^{b} t_{jkl}^{acd} - t_{i}^{c} t_{jkl}^{abd} + t_{i}^{d} t_{jkl}^{abc} + t_{j}^{a} t_{ikl}^{bcd} - t_{j}^{b} t_{ikl}^{acd} + t_{j}^{c} t_{ikl}^{abd} - t_{j}^{d} t_{ikl}^{abc} - t_{k}^{a} t_{ijl}^{bcd} + t_{k}^{b} t_{ijl}^{acd} - t_{k}^{c} t_{ijl}^{abd} + t_{k}^{d} t_{ijl}^{abc} + t_{l}^{a} t_{ijk}^{bcd} - t_{l}^{b} t_{ijk}^{acd} + t_{l}^{c} t_{ijk}^{abd} - t_{l}^{d} t_{ijk}^{abc} - t_{ij}^{ab} t_{kl}^{cd} + t_{ij}^{ac} t_{kl}^{bd} - t_{ij}^{ad} t_{kl}^{bc} - t_{ij}^{bc} t_{kl}^{ad} + t_{ij}^{bd} t_{kl}^{ac} - t_{ij}^{cd} t_{kl}^{ab} + t_{ik}^{ab} t_{jl}^{cd} - t_{ik}^{ac} t_{jl}^{bd} + t_{ik}^{ad} t_{jl}^{bc} + t_{ik}^{bc} t_{jl}^{ad} - t_{ik}^{bd} t_{jl}^{ac} + t_{ik}^{cd} t_{jl}^{ab} - t_{il}^{ab} t_{jk}^{cd} + t_{il}^{ac} t_{jk}^{bd} - t_{il}^{ad} t_{jk}^{bc} - t_{il}^{bc} t_{jk}^{ad} + t_{il}^{bd} t_{jk}^{ac} - t_{il}^{cd} t_{jk}^{ab} - t_{i}^{a} t_{j}^{b} t_{kl}^{cd} + t_{i}^{a} t_{j}^{c} t_{kl}^{bd} - t_{i}^{a} t_{j}^{d} t_{kl}^{bc} + t_{i}^{a} t_{k}^{b} t_{jl}^{cd} - t_{i}^{a} t_{k}^{c} t_{jl}^{bd} + t_{i}^{a} t_{k}^{d} t_{jl}^{bc} - t_{i}^{a} t_{l}^{b} t_{jk}^{cd} + t_{i}^{a} t_{l}^{c} t_{jk}^{bd} - t_{i}^{a} t_{l}^{d} t_{jk}^{bc} + t_{i}^{b} t_{j}^{a} t_{kl}^{cd} - t_{i}^{b} t_{j}^{c} t_{kl}^{ad} + t_{i}^{b} t_{j}^{d} t_{kl}^{ac} - t_{i}^{b} t_{k}^{a} t_{jl}^{cd} + t_{i}^{b} t_{k}^{c} t_{jl}^{ad} - t_{i}^{b} t_{k}^{d} t_{jl}^{ac} + t_{i}^{b} t_{l}^{a} t_{jk}^{cd} - t_{i}^{b} t_{l}^{c} t_{jk}^{ad} + t_{i}^{b} t_{l}^{d} t_{jk}^{ac} - t_{i}^{c} t_{j}^{a} t_{kl}^{bd} + t_{i}^{c} t_{j}^{b} t_{kl}^{ad} - t_{i}^{c} t_{j}^{d} t_{kl}^{ab} + t_{i}^{c} t_{k}^{a} t_{jl}^{bd} - t_{i}^{c} t_{k}^{b} t_{jl}^{ad} + t_{i}^{c} t_{k}^{d} t_{jl}^{ab} - t_{i}^{c} t_{l}^{a} t_{jk}^{bd} + t_{i}^{c} t_{l}^{b} t_{jk}^{ad} - t_{i}^{c} t_{l}^{d} t_{jk}^{ab} + t_{i}^{d} t_{j}^{a} t_{kl}^{bc} - t_{i}^{d} t_{j}^{b} t_{kl}^{ac} + t_{i}^{d} t_{j}^{c} t_{kl}^{ab} - t_{i}^{d} t_{k}^{a} t_{jl}^{bc} + t_{i}^{d} t_{k}^{b} t_{jl}^{ac} - t_{i}^{d} t_{k}^{c} t_{jl}^{ab} + t_{i}^{d} t_{l}^{a} t_{jk}^{bc} - t_{i}^{d} t_{l}^{b} t_{jk}^{ac} + t_{i}^{d} t_{l}^{c} t_{jk}^{ab} - t_{j}^{a} t_{k}^{b} t_{il}^{cd} + t_{j}^{a} t_{k}^{c} t_{il}^{bd} - t_{j}^{a} t_{k}^{d} t_{il}^{bc} + t_{j}^{a} t_{l}^{b} t_{ik}^{cd} - t_{j}^{a} t_{l}^{c} t_{ik}^{bd} + t_{j}^{a} t_{l}^{d} t_{ik}^{bc} + t_{j}^{b} t_{k}^{a} t_{il}^{cd} - t_{j}^{b} t_{k}^{c} t_{il}^{ad} + t_{j}^{b} t_{k}^{d} t_{il}^{ac} - t_{j}^{b} t_{l}^{a} t_{ik}^{cd} + t_{j}^{b} t_{l}^{c} t_{ik}^{ad} - t_{j}^{b} t_{l}^{d} t_{ik}^{ac} - t_{j}^{c} t_{k}^{a} t_{il}^{bd} + t_{j}^{c} t_{k}^{b} t_{il}^{ad} - t_{j}^{c} t_{k}^{d} t_{il}^{ab} + t_{j}^{c} t_{l}^{a} t_{ik}^{bd} - t_{j}^{c} t_{l}^{b} t_{ik}^{ad} + t_{j}^{c} t_{l}^{d} t_{ik}^{ab} + t_{j}^{d} t_{k}^{a} t_{il}^{bc} - t_{j}^{d} t_{k}^{b} t_{il}^{ac} + t_{j}^{d} t_{k}^{c} t_{il}^{ab} - t_{j}^{d} t_{l}^{a} t_{ik}^{bc} + t_{j}^{d} t_{l}^{b} t_{ik}^{ac} - t_{j}^{d} t_{l}^{c} t_{ik}^{ab} - t_{k}^{a} t_{l}^{b} t_{ij}^{cd} + t_{k}^{a} t_{l}^{c} t_{ij}^{bd} - t_{k}^{a} t_{l}^{d} t_{ij}^{bc} + t_{k}^{b} t_{l}^{a} t_{ij}^{cd} - t_{k}^{b} t_{l}^{c} t_{ij}^{ad} + t_{k}^{b} t_{l}^{d} t_{ij}^{ac} - t_{k}^{c} t_{l}^{a} t_{ij}^{bd} + t_{k}^{c} t_{l}^{b} t_{ij}^{ad} - t_{k}^{c} t_{l}^{d} t_{ij}^{ab} + t_{k}^{d} t_{l}^{a} t_{ij}^{bc} - t_{k}^{d} t_{l}^{b} t_{ij}^{ac} + t_{k}^{d} t_{l}^{c} t_{ij}^{ab} - t_{i}^{a} t_{j}^{b} t_{k}^{c} t_{l}^{d} + t_{i}^{a} t_{j}^{b} t_{k}^{d} t_{l}^{c} + t_{i}^{a} t_{j}^{c} t_{k}^{b} t_{l}^{d} - t_{i}^{a} t_{j}^{c} t_{k}^{d} t_{l}^{b} - t_{i}^{a} t_{j}^{d} t_{k}^{b} t_{l}^{c} + t_{i}^{a} t_{j}^{d} t_{k}^{c} t_{l}^{b} + t_{i}^{b} t_{j}^{a} t_{k}^{c} t_{l}^{d} - t_{i}^{b} t_{j}^{a} t_{k}^{d} t_{l}^{c} - t_{i}^{b} t_{j}^{c} t_{k}^{a} t_{l}^{d} + t_{i}^{b} t_{j}^{c} t_{k}^{d} t_{l}^{a} + t_{i}^{b} t_{j}^{d} t_{k}^{a} t_{l}^{c} - t_{i}^{b} t_{j}^{d} t_{k}^{c} t_{l}^{a} - t_{i}^{c} t_{j}^{a} t_{k}^{b} t_{l}^{d} + t_{i}^{c} t_{j}^{a} t_{k}^{d} t_{l}^{b} + t_{i}^{c} t_{j}^{b} t_{k}^{a} t_{l}^{d} - t_{i}^{c} t_{j}^{b} t_{k}^{d} t_{l}^{a} - t_{i}^{c} t_{j}^{d} t_{k}^{a} t_{l}^{b} + t_{i}^{c} t_{j}^{d} t_{k}^{b} t_{l}^{a} + t_{i}^{d} t_{j}^{a} t_{k}^{b} t_{l}^{c} - t_{i}^{d} t_{j}^{a} t_{k}^{c} t_{l}^{b} - t_{i}^{d} t_{j}^{b} t_{k}^{a} t_{l}^{c} + t_{i}^{d} t_{j}^{b} t_{k}^{c} t_{l}^{a} + t_{i}^{d} t_{j}^{c} t_{k}^{a} t_{l}^{b} - t_{i}^{d} t_{j}^{c} t_{k}^{b} t_{l}^{a}" + for n, string in enumerate([string_t1, string_t2, string_t3, string_t4]): + output = [] + expr = [] + returns = [] + for index_spins in get_amplitude_spins("ijkl"[: n + 1], "abcd"[: n + 1], spin): + signs = [1] + [1 if s == "+" else -1 for s in string if s in "+-"] + terms = [s.strip() for s in string.replace("-", "+").split("+")] + expr_n = Scalar(0.0) + for sign, term in zip(signs, terms): + part = Scalar(sign) + for tensor in term.split(): + order = sum(1 for c in tensor if c in "ijkl") + name = f"{tensor[0]}{order}" + occ = [Index(i, space="o", spin=index_spins.get(i, None)) for i in tensor[tensor.index("_") + 2 : tensor.index("_") + 2 + order]] + vir = [Index(a, space="v", spin=index_spins.get(a, None)) for a in tensor[tensor.index("^") + 2 : tensor.index("^") + 2 + order]] + part *= getattr(ghf, f"T{order}")(*occ, *vir, name=name) + expr_n += part + + expr_n = spin_integrate(expr_n, spin) + if spin == "rhf" and (n + 1) == 4 and len([s for s in index_spins.values() if s == "a"]) == 6: + name = "t4a" + else: + name = f"t{n + 1}" + output_n = [Tensor(*tuple(sorted(e.external_indices, key=lambda i: "ijklabcd".index(i.name))), name=name) for e in expr_n] + returns_n = (output_n[0],) + + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + + if spin == "uhf": + # Why do we have to refactor these amplitudes? Is this a deficiency in albert? + def _refactor(tensor): + extra_factor = 1.0 + if type(tensor) in (uhf.T1, uhf.T2, uhf.T3, uhf.T4): + spin = tuple(i.spin for i in tensor.external_indices[: tensor.rank // 2]) + extra_factor /= factorial(sum(s == "a" for s in spin)) + extra_factor /= factorial(sum(s == "b" for s in spin)) + return tensor * Scalar(extra_factor) + expr = [e.apply(_refactor, Tensor) for e in expr] + + # Optimise and generate the code separately for each amplitude + output_expr = optimise(output, expr, strategy="exhaust" if n < 3 else "trav") + output_expr = [(o, e.apply(lambda tensor: tensor.canonicalise(), Tensor)) for o, e in output_expr] + + for name, codegen in code_generators.items(): + codegen( + f"convert_c{n + 1}_to_t{n + 1}", + returns, + output_expr, + as_dict=True, + ) + +for codegen in code_generators.values(): + codegen.postamble() + codegen.stdout.close() From 447f8f549d4a3bbcaa55d8acd22fe7afb30dd03d Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Fri, 13 Dec 2024 19:26:46 +0000 Subject: [PATCH 161/168] Adds C->T conversions --- ebcc/codegen/bootstrap_ecCC.py | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/ebcc/codegen/bootstrap_ecCC.py b/ebcc/codegen/bootstrap_ecCC.py index a0304695..ecb79a1c 100644 --- a/ebcc/codegen/bootstrap_ecCC.py +++ b/ebcc/codegen/bootstrap_ecCC.py @@ -2,6 +2,7 @@ Generate the ecCC code. """ +import itertools import sys import pdaggerq @@ -200,6 +201,35 @@ def _refactor(tensor): as_dict=True, ) +with Stopwatch("T->C conversions"): + # Get the T amplitudes in albert format + eT = [[1.0, ["1"]]] + for n in range(4): + factor = 1 / factorial(n + 1) + for ts in itertools.product(["t1", "t2", "t3", "t4"], repeat=n + 1): + eT.append([factor, list(ts)]) + + for n in range(4): + # Get the T->C contractions in pdaggerq format + pq.clear() + pq.set_left_operators([[f"e{n + 1}({','.join('ijkl'[:n + 1]+''.join(reversed('abcd'[:n + 1])))})"]]) + pq.set_right_operators([["1"]]) + for term in eT: + pq.add_operator_product(term[0], term[1]) + pq.simplify() + terms = pq.strings() + + # Get the T->C contractions in albert format + output_expr, returns = get_amplitudes([terms], spin, strategy="exhaust" if (n, spin) != (4, "uhf") else "greedy", orders=[n + 1]) + + for name, codegen in code_generators.items(): + codegen( + f"convert_t{n + 1}_to_c{n + 1}", + returns, + output_expr, + as_dict=True, + ) + for codegen in code_generators.values(): codegen.postamble() codegen.stdout.close() From 9873ecb1aaa1a83a6192e0175befcbec00d01743 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Sat, 14 Dec 2024 12:14:50 +0000 Subject: [PATCH 162/168] Fix T->C --- ebcc/codegen/bootstrap_ecCC.py | 26 +++++++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/ebcc/codegen/bootstrap_ecCC.py b/ebcc/codegen/bootstrap_ecCC.py index ecb79a1c..6ea8c8cc 100644 --- a/ebcc/codegen/bootstrap_ecCC.py +++ b/ebcc/codegen/bootstrap_ecCC.py @@ -6,7 +6,7 @@ import sys import pdaggerq -from albert.qc._pdaggerq import remove_reference_energy, remove_reference_energy_eom +from albert.qc._pdaggerq import remove_reference_energy, remove_reference_energy_eom, import_from_pdaggerq from albert.qc.spin import ghf_to_uhf, ghf_to_rhf, get_amplitude_spins from albert.qc import ghf, uhf, rhf from albert.tensor import Tensor @@ -219,8 +219,28 @@ def _refactor(tensor): pq.simplify() terms = pq.strings() - # Get the T->C contractions in albert format - output_expr, returns = get_amplitudes([terms], spin, strategy="exhaust" if (n, spin) != (4, "uhf") else "greedy", orders=[n + 1]) + ## Get the T->C contractions in albert format + #output_expr, returns = get_amplitudes([terms], spin, strategy="exhaust" if (n, spin) != (4, "uhf") else "greedy", orders=[n + 1]) + + output = [] + expr = [] + returns = [] + for index_spins in get_amplitude_spins("ijkl"[: n + 1], "abcd"[: n + 1], spin): + expr_n = import_from_pdaggerq(terms, index_spins=index_spins) + expr_n = spin_integrate(expr_n, spin) + if spin == "rhf" and (n + 1) == 4 and len([s for s in index_spins.values() if s == "a"]) == 6: + name = "c4a" + else: + name = f"c{n + 1}" + output_n = [Tensor(*tuple(sorted(e.external_indices, key=lambda i: "ijklabcd".index(i.name))), name=name) for e in expr_n] + returns_n = (output_n[0],) + expr.extend(expr_n) + output.extend(output_n) + returns.extend(returns_n) + + # Optimise and generate the code separately for each amplitude + output_expr = optimise(output, expr, strategy="exhaust" if n < 3 else "trav") + output_expr = [(o, e.apply(lambda tensor: tensor.canonicalise(), Tensor)) for o, e in output_expr] for name, codegen in code_generators.items(): codegen( From 1024ec07ce1536cbbc3f625c37ae0f0a0b0b362a Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Mon, 16 Dec 2024 22:12:14 +0000 Subject: [PATCH 163/168] Fix scaling factors --- ebcc/codegen/bootstrap_ecCC.py | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/ebcc/codegen/bootstrap_ecCC.py b/ebcc/codegen/bootstrap_ecCC.py index 6ea8c8cc..94963f6c 100644 --- a/ebcc/codegen/bootstrap_ecCC.py +++ b/ebcc/codegen/bootstrap_ecCC.py @@ -89,16 +89,16 @@ def _substitute(tensor): output_expr = list(zip(new_output, new_expr)) - if spin == "uhf": - # Why do we have to refactor these amplitudes? Is this a deficiency in albert? - def _refactor(tensor): - extra_factor = 1.0 - if type(tensor) in (uhf.T1, uhf.T2, uhf.T3, uhf.T4): - spin = tuple(i.spin for i in tensor.external_indices[: tensor.rank // 2]) - extra_factor /= factorial(sum(s == "a" for s in spin)) - extra_factor /= factorial(sum(s == "b" for s in spin)) - return tensor * Scalar(extra_factor) - output_expr = [(o, e.apply(_refactor, Tensor)) for o, e in output_expr] + #if spin == "uhf": + # # Why do we have to refactor these amplitudes? Is this a deficiency in albert? + # def _refactor(tensor): + # extra_factor = 1.0 + # if type(tensor) in (uhf.T1, uhf.T2, uhf.T3, uhf.T4): + # spin = tuple(i.spin for i in tensor.external_indices[: tensor.rank // 2]) + # extra_factor /= factorial(sum(s == "a" for s in spin)) + # extra_factor /= factorial(sum(s == "b" for s in spin)) + # return tensor * Scalar(extra_factor) + # output_expr = [(o, e.apply(_refactor, Tensor)) for o, e in output_expr] # Separate the T3 and T4 dependnent parts output_expr_external = [] From aba3e14d53147b78cfc51407cbd52d4afd312e33 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Tue, 17 Dec 2024 18:43:33 +0000 Subject: [PATCH 164/168] Adds LCCD and LCCSD amplitudes and energies --- ebcc/codegen/bootstrap_LCCD.py | 86 ++++++++++++++++++++++++++++++ ebcc/codegen/bootstrap_LCCSD.py | 94 +++++++++++++++++++++++++++++++++ 2 files changed, 180 insertions(+) create mode 100644 ebcc/codegen/bootstrap_LCCD.py create mode 100644 ebcc/codegen/bootstrap_LCCSD.py diff --git a/ebcc/codegen/bootstrap_LCCD.py b/ebcc/codegen/bootstrap_LCCD.py new file mode 100644 index 00000000..a49ab7cc --- /dev/null +++ b/ebcc/codegen/bootstrap_LCCD.py @@ -0,0 +1,86 @@ +""" +Generate the LCCD code. +""" + +import itertools +import sys + +import pdaggerq +from albert.qc._pdaggerq import remove_reference_energy, remove_reference_energy_eom +from albert.qc.spin import ghf_to_uhf, ghf_to_rhf +from albert.qc import ghf, uhf, rhf +from albert.tensor import Tensor +from albert.index import Index +from albert.code._ebcc import EBCCCodeGenerator +from albert.misc import Stopwatch +from albert.opt.tools import _tensor_info + +from ebcc.codegen.bootstrap_common import get_energy, get_amplitudes, get_rdm1, get_rdm2, get_eom + +# Get the spin case +spin = sys.argv[1] + +# Set up the code generators +code_generators = { + "einsum": EBCCCodeGenerator( + stdout=open(f"{spin[0].upper()}LCCD.py", "w"), + ), +} + +# Write the preamble +for codegen in code_generators.values(): + codegen.preamble() + +# Set up pdaggerq +pq = pdaggerq.pq_helper("fermi") +pq.set_print_level(0) + +def add_st_operator(factor, left_operators, right_operators): + pq.add_operator_product(factor, left_operators) + pq.add_commutator(factor, left_operators, right_operators) + +with Stopwatch("Energy"): + # Get the energy contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["1"]]) + add_st_operator(1.0, ["f"], ["t2"]) + add_st_operator(1.0, ["v"], ["t2"]) + pq.simplify() + terms = pq.strings() + terms = remove_reference_energy(terms) + + # Get the energy in albert format + output_expr, returns = get_energy(terms, spin) + + # Generate the energy code + for codegen in code_generators.values(): + codegen( + "energy", + returns, + output_expr, + ) + +with Stopwatch("T amplitudes"): + # Get the T2 contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["e2(i,j,b,a)"]]) + add_st_operator(1.0, ["f"], ["t2"]) + add_st_operator(1.0, ["v"], ["t2"]) + pq.simplify() + terms = pq.strings() + + # Get the T amplitudes in albert format + output_expr, returns = get_amplitudes([terms], spin, orders=[2]) + + # Generate the T amplitude code + for name, codegen in code_generators.items(): + codegen( + "update_amps", + returns, + output_expr, + as_dict=True, + ) + +for codegen in code_generators.values(): + codegen.postamble() + codegen.stdout.close() diff --git a/ebcc/codegen/bootstrap_LCCSD.py b/ebcc/codegen/bootstrap_LCCSD.py new file mode 100644 index 00000000..8a83646b --- /dev/null +++ b/ebcc/codegen/bootstrap_LCCSD.py @@ -0,0 +1,94 @@ +""" +Generate the LCCSD code. +""" + +import sys + +import pdaggerq +from albert.qc._pdaggerq import remove_reference_energy, remove_reference_energy_eom +from albert.qc.spin import ghf_to_uhf, ghf_to_rhf +from albert.qc import ghf, uhf, rhf +from albert.tensor import Tensor +from albert.index import Index +from albert.code._ebcc import EBCCCodeGenerator +from albert.misc import Stopwatch +from albert.opt.tools import _tensor_info + +from ebcc.codegen.bootstrap_common import get_energy, get_amplitudes, get_rdm1, get_rdm2, get_eom + +# Get the spin case +spin = sys.argv[1] + +# Set up the code generators +code_generators = { + "einsum": EBCCCodeGenerator( + stdout=open(f"{spin[0].upper()}LCCSD.py", "w"), + ), +} + +# Write the preamble +for codegen in code_generators.values(): + codegen.preamble() + +# Set up pdaggerq +pq = pdaggerq.pq_helper("fermi") +pq.set_print_level(0) + +def add_st_operator(factor, left_operators, right_operators): + pq.add_operator_product(factor, left_operators) + for right_operator in right_operators: + pq.add_commutator(factor, left_operators, [right_operator]) + +with Stopwatch("Energy"): + # Get the energy contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["1"]]) + add_st_operator(1.0, ["f"], ["t1", "t2"]) + add_st_operator(1.0, ["v"], ["t1", "t2"]) + pq.simplify() + terms = pq.strings() + terms = remove_reference_energy(terms) + + # Get the energy in albert format + output_expr, returns = get_energy(terms, spin) + + # Generate the energy code + for codegen in code_generators.values(): + codegen( + "energy", + returns, + output_expr, + ) + +with Stopwatch("T amplitudes"): + # Get the T1 contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["e1(i,a)"]]) + add_st_operator(1.0, ["f"], ["t1", "t2"]) + add_st_operator(1.0, ["v"], ["t1", "t2"]) + pq.simplify() + terms_t1 = pq.strings() + + # Get the T2 contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["e2(i,j,b,a)"]]) + add_st_operator(1.0, ["f"], ["t1", "t2"]) + add_st_operator(1.0, ["v"], ["t1", "t2"]) + pq.simplify() + terms_t2 = pq.strings() + + # Get the T amplitudes in albert format + output_expr, returns = get_amplitudes([terms_t1, terms_t2], spin) + + # Generate the T amplitude code + for name, codegen in code_generators.items(): + codegen( + "update_amps", + returns, + output_expr, + as_dict=True, + ) + +for codegen in code_generators.values(): + codegen.postamble() + codegen.stdout.close() From 7652a18da5ab9d059aee9be029dde0aa15a8020d Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Wed, 18 Dec 2024 00:18:51 +0000 Subject: [PATCH 165/168] DF-LCCD and DF-LCCSD --- ebcc/codegen/bootstrap_DFLCCD.py | 86 ++++++++++++++++++++++++++++ ebcc/codegen/bootstrap_DFLCCSD.py | 94 +++++++++++++++++++++++++++++++ 2 files changed, 180 insertions(+) create mode 100644 ebcc/codegen/bootstrap_DFLCCD.py create mode 100644 ebcc/codegen/bootstrap_DFLCCSD.py diff --git a/ebcc/codegen/bootstrap_DFLCCD.py b/ebcc/codegen/bootstrap_DFLCCD.py new file mode 100644 index 00000000..fa30dc2b --- /dev/null +++ b/ebcc/codegen/bootstrap_DFLCCD.py @@ -0,0 +1,86 @@ +""" +Generate the DFLCCD code. +""" + +import itertools +import sys + +import pdaggerq +from albert.qc._pdaggerq import remove_reference_energy, remove_reference_energy_eom +from albert.qc.spin import ghf_to_uhf, ghf_to_rhf +from albert.qc import ghf, uhf, rhf +from albert.tensor import Tensor +from albert.index import Index +from albert.code._ebcc import EBCCCodeGenerator +from albert.misc import Stopwatch +from albert.opt.tools import _tensor_info + +from ebcc.codegen.bootstrap_common import get_energy, get_amplitudes, get_rdm1, get_rdm2, get_eom + +# Get the spin case +spin = sys.argv[1] + +# Set up the code generators +code_generators = { + "einsum": EBCCCodeGenerator( + stdout=open(f"{spin[0].upper()}DFLCCD.py", "w"), + ), +} + +# Write the preamble +for codegen in code_generators.values(): + codegen.preamble() + +# Set up pdaggerq +pq = pdaggerq.pq_helper("fermi") +pq.set_print_level(0) + +def add_st_operator(factor, left_operators, right_operators): + pq.add_operator_product(factor, left_operators) + pq.add_commutator(factor, left_operators, right_operators) + +with Stopwatch("Energy"): + # Get the energy contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["1"]]) + add_st_operator(1.0, ["f"], ["t2"]) + add_st_operator(1.0, ["v"], ["t2"]) + pq.simplify() + terms = pq.strings() + terms = remove_reference_energy(terms) + + # Get the energy in albert format + output_expr, returns = get_energy(terms, spin, density_fit=True) + + # Generate the energy code + for codegen in code_generators.values(): + codegen( + "energy", + returns, + output_expr, + ) + +with Stopwatch("T amplitudes"): + # Get the T2 contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["e2(i,j,b,a)"]]) + add_st_operator(1.0, ["f"], ["t2"]) + add_st_operator(1.0, ["v"], ["t2"]) + pq.simplify() + terms = pq.strings() + + # Get the T amplitudes in albert format + output_expr, returns = get_amplitudes([terms], spin, orders=[2], density_fit=True) + + # Generate the T amplitude code + for name, codegen in code_generators.items(): + codegen( + "update_amps", + returns, + output_expr, + as_dict=True, + ) + +for codegen in code_generators.values(): + codegen.postamble() + codegen.stdout.close() diff --git a/ebcc/codegen/bootstrap_DFLCCSD.py b/ebcc/codegen/bootstrap_DFLCCSD.py new file mode 100644 index 00000000..6bacbf71 --- /dev/null +++ b/ebcc/codegen/bootstrap_DFLCCSD.py @@ -0,0 +1,94 @@ +""" +Generate the DFLCCSD code. +""" + +import sys + +import pdaggerq +from albert.qc._pdaggerq import remove_reference_energy, remove_reference_energy_eom +from albert.qc.spin import ghf_to_uhf, ghf_to_rhf +from albert.qc import ghf, uhf, rhf +from albert.tensor import Tensor +from albert.index import Index +from albert.code._ebcc import EBCCCodeGenerator +from albert.misc import Stopwatch +from albert.opt.tools import _tensor_info + +from ebcc.codegen.bootstrap_common import get_energy, get_amplitudes, get_rdm1, get_rdm2, get_eom + +# Get the spin case +spin = sys.argv[1] + +# Set up the code generators +code_generators = { + "einsum": EBCCCodeGenerator( + stdout=open(f"{spin[0].upper()}DFLCCSD.py", "w"), + ), +} + +# Write the preamble +for codegen in code_generators.values(): + codegen.preamble() + +# Set up pdaggerq +pq = pdaggerq.pq_helper("fermi") +pq.set_print_level(0) + +def add_st_operator(factor, left_operators, right_operators): + pq.add_operator_product(factor, left_operators) + for right_operator in right_operators: + pq.add_commutator(factor, left_operators, [right_operator]) + +with Stopwatch("Energy"): + # Get the energy contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["1"]]) + add_st_operator(1.0, ["f"], ["t1", "t2"]) + add_st_operator(1.0, ["v"], ["t1", "t2"]) + pq.simplify() + terms = pq.strings() + terms = remove_reference_energy(terms) + + # Get the energy in albert format + output_expr, returns = get_energy(terms, spin, density_fit=True) + + # Generate the energy code + for codegen in code_generators.values(): + codegen( + "energy", + returns, + output_expr, + ) + +with Stopwatch("T amplitudes"): + # Get the T1 contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["e1(i,a)"]]) + add_st_operator(1.0, ["f"], ["t1", "t2"]) + add_st_operator(1.0, ["v"], ["t1", "t2"]) + pq.simplify() + terms_t1 = pq.strings() + + # Get the T2 contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["e2(i,j,b,a)"]]) + add_st_operator(1.0, ["f"], ["t1", "t2"]) + add_st_operator(1.0, ["v"], ["t1", "t2"]) + pq.simplify() + terms_t2 = pq.strings() + + # Get the T amplitudes in albert format + output_expr, returns = get_amplitudes([terms_t1, terms_t2], spin, density_fit=True) + + # Generate the T amplitude code + for name, codegen in code_generators.items(): + codegen( + "update_amps", + returns, + output_expr, + as_dict=True, + ) + +for codegen in code_generators.values(): + codegen.postamble() + codegen.stdout.close() From 2dceab3f63a9a5d26740f2bc0bf9906d3991bd89 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Wed, 18 Dec 2024 14:08:28 +0000 Subject: [PATCH 166/168] rCCD --- ebcc/codegen/bootstrap_DFwdwwrwCCD.py | 84 +++++++++++++++++++++++++++ ebcc/codegen/bootstrap_DFwrwCCD.py | 84 +++++++++++++++++++++++++++ ebcc/codegen/bootstrap_wdwwrwCCD.py | 84 +++++++++++++++++++++++++++ ebcc/codegen/bootstrap_wrwCCD.py | 84 +++++++++++++++++++++++++++ 4 files changed, 336 insertions(+) create mode 100644 ebcc/codegen/bootstrap_DFwdwwrwCCD.py create mode 100644 ebcc/codegen/bootstrap_DFwrwCCD.py create mode 100644 ebcc/codegen/bootstrap_wdwwrwCCD.py create mode 100644 ebcc/codegen/bootstrap_wrwCCD.py diff --git a/ebcc/codegen/bootstrap_DFwdwwrwCCD.py b/ebcc/codegen/bootstrap_DFwdwwrwCCD.py new file mode 100644 index 00000000..e00a6e49 --- /dev/null +++ b/ebcc/codegen/bootstrap_DFwdwwrwCCD.py @@ -0,0 +1,84 @@ +""" +Generate the DF-drCCD code. +""" + +import sys + +import pdaggerq +from albert.qc._pdaggerq import remove_reference_energy, remove_reference_energy_eom +from albert.qc.spin import ghf_to_uhf, ghf_to_rhf +from albert.qc import ghf, uhf, rhf +from albert.tensor import Tensor +from albert.index import Index +from albert.code._ebcc import EBCCCodeGenerator +from albert.misc import Stopwatch +from albert.opt.tools import _tensor_info + +from ebcc.codegen.bootstrap_common import get_energy, get_amplitudes, get_rdm1, get_rdm2, get_eom + +# Get the spin case +spin = sys.argv[1] + +# Set up the code generators +code_generators = { + "einsum": EBCCCodeGenerator( + stdout=open(f"{spin[0].upper()}DFwdwwrwCCD.py", "w"), + ), +} + +# Write the preamble +for codegen in code_generators.values(): + codegen.preamble() + +# Set up pdaggerq +pq = pdaggerq.pq_helper("fermi") +pq.set_print_level(0) + +with Stopwatch("Energy"): + # Get the energy contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["1"]]) + pq.add_st_operator(1.0, ["f"], ["t2"]) + pq.add_st_operator(1.0, ["v"], ["t2"]) + pq.simplify() + terms = pq.strings() + terms = remove_reference_energy(terms) + + # Get the energy in albert format + output_expr, returns = get_energy(terms, spin, density_fit=True) + + # Generate the energy code + for codegen in code_generators.values(): + codegen( + "energy", + returns, + output_expr, + ) + +with Stopwatch("T amplitudes"): + # Get the T2 contractions in pdaggerq format + # arXiv:1804.01037 + terms = [ + ["-1.00", "P(i,j)", "f(k,j)", "t2(a,b,i,k)"], + ["+1.00", "P(a,b)", "f(a,c)", "t2(c,b,i,j)"], + ["+1.00", ""], + ["+1.00", "t2(a,c,i,k)", ""], + ["+1.00", "t2(c,b,k,j)", ""], + ["+1.00", "t2(a,c,i,k)", "t2(d,b,l,j)", ""], + ] + + # Get the T amplitudes in albert format + output_expr, returns = get_amplitudes([terms], spin, orders=[2], density_fit=True) + + # Generate the T amplitude code + for name, codegen in code_generators.items(): + codegen( + "update_amps", + returns, + output_expr, + as_dict=True, + ) + +for codegen in code_generators.values(): + codegen.postamble() + codegen.stdout.close() diff --git a/ebcc/codegen/bootstrap_DFwrwCCD.py b/ebcc/codegen/bootstrap_DFwrwCCD.py new file mode 100644 index 00000000..3ee13534 --- /dev/null +++ b/ebcc/codegen/bootstrap_DFwrwCCD.py @@ -0,0 +1,84 @@ +""" +Generate the DF-rCCD code. +""" + +import sys + +import pdaggerq +from albert.qc._pdaggerq import remove_reference_energy, remove_reference_energy_eom +from albert.qc.spin import ghf_to_uhf, ghf_to_rhf +from albert.qc import ghf, uhf, rhf +from albert.tensor import Tensor +from albert.index import Index +from albert.code._ebcc import EBCCCodeGenerator +from albert.misc import Stopwatch +from albert.opt.tools import _tensor_info + +from ebcc.codegen.bootstrap_common import get_energy, get_amplitudes, get_rdm1, get_rdm2, get_eom + +# Get the spin case +spin = sys.argv[1] + +# Set up the code generators +code_generators = { + "einsum": EBCCCodeGenerator( + stdout=open(f"{spin[0].upper()}DFwrwCCD.py", "w"), + ), +} + +# Write the preamble +for codegen in code_generators.values(): + codegen.preamble() + +# Set up pdaggerq +pq = pdaggerq.pq_helper("fermi") +pq.set_print_level(0) + +with Stopwatch("Energy"): + # Get the energy contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["1"]]) + pq.add_st_operator(1.0, ["f"], ["t2"]) + pq.add_st_operator(1.0, ["v"], ["t2"]) + pq.simplify() + terms = pq.strings() + terms = remove_reference_energy(terms) + + # Get the energy in albert format + output_expr, returns = get_energy(terms, spin, density_fit=True) + + # Generate the energy code + for codegen in code_generators.values(): + codegen( + "energy", + returns, + output_expr, + ) + +with Stopwatch("T amplitudes"): + # Get the T2 contractions in pdaggerq format + # arXiv:1804.01037 + terms = [ + ["-1.00", "P(i,j)", "f(k,j)", "t2(a,b,i,k)"], + ["+1.00", "P(a,b)", "f(a,c)", "t2(c,b,i,j)"], + ["+1.00", ""], + ["+1.00", "t2(a,c,i,k)", ""], + ["+1.00", "t2(c,b,k,j)", ""], + ["+1.00", "t2(a,c,i,k)", "t2(d,b,l,j)", ""], + ] + + # Get the T amplitudes in albert format + output_expr, returns = get_amplitudes([terms], spin, orders=[2], density_fit=True) + + # Generate the T amplitude code + for name, codegen in code_generators.items(): + codegen( + "update_amps", + returns, + output_expr, + as_dict=True, + ) + +for codegen in code_generators.values(): + codegen.postamble() + codegen.stdout.close() diff --git a/ebcc/codegen/bootstrap_wdwwrwCCD.py b/ebcc/codegen/bootstrap_wdwwrwCCD.py new file mode 100644 index 00000000..b904cf4a --- /dev/null +++ b/ebcc/codegen/bootstrap_wdwwrwCCD.py @@ -0,0 +1,84 @@ +""" +Generate the drCCD code. +""" + +import sys + +import pdaggerq +from albert.qc._pdaggerq import remove_reference_energy, remove_reference_energy_eom +from albert.qc.spin import ghf_to_uhf, ghf_to_rhf +from albert.qc import ghf, uhf, rhf +from albert.tensor import Tensor +from albert.index import Index +from albert.code._ebcc import EBCCCodeGenerator +from albert.misc import Stopwatch +from albert.opt.tools import _tensor_info + +from ebcc.codegen.bootstrap_common import get_energy, get_amplitudes, get_rdm1, get_rdm2, get_eom + +# Get the spin case +spin = sys.argv[1] + +# Set up the code generators +code_generators = { + "einsum": EBCCCodeGenerator( + stdout=open(f"{spin[0].upper()}wdwwrwCCD.py", "w"), + ), +} + +# Write the preamble +for codegen in code_generators.values(): + codegen.preamble() + +# Set up pdaggerq +pq = pdaggerq.pq_helper("fermi") +pq.set_print_level(0) + +with Stopwatch("Energy"): + # Get the energy contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["1"]]) + pq.add_st_operator(1.0, ["f"], ["t2"]) + pq.add_st_operator(1.0, ["v"], ["t2"]) + pq.simplify() + terms = pq.strings() + terms = remove_reference_energy(terms) + + # Get the energy in albert format + output_expr, returns = get_energy(terms, spin) + + # Generate the energy code + for codegen in code_generators.values(): + codegen( + "energy", + returns, + output_expr, + ) + +with Stopwatch("T amplitudes"): + # Get the T2 contractions in pdaggerq format + # arXiv:1804.01037 + terms = [ + ["-1.00", "P(i,j)", "f(k,j)", "t2(a,b,i,k)"], + ["+1.00", "P(a,b)", "f(a,c)", "t2(c,b,i,j)"], + ["+1.00", ""], + ["+1.00", "t2(a,c,i,k)", ""], + ["+1.00", "t2(c,b,k,j)", ""], + ["+1.00", "t2(a,c,i,k)", "t2(d,b,l,j)", ""], + ] + + # Get the T amplitudes in albert format + output_expr, returns = get_amplitudes([terms], spin, orders=[2]) + + # Generate the T amplitude code + for name, codegen in code_generators.items(): + codegen( + "update_amps", + returns, + output_expr, + as_dict=True, + ) + +for codegen in code_generators.values(): + codegen.postamble() + codegen.stdout.close() diff --git a/ebcc/codegen/bootstrap_wrwCCD.py b/ebcc/codegen/bootstrap_wrwCCD.py new file mode 100644 index 00000000..fd8623ee --- /dev/null +++ b/ebcc/codegen/bootstrap_wrwCCD.py @@ -0,0 +1,84 @@ +""" +Generate the rCCD code. +""" + +import sys + +import pdaggerq +from albert.qc._pdaggerq import remove_reference_energy, remove_reference_energy_eom +from albert.qc.spin import ghf_to_uhf, ghf_to_rhf +from albert.qc import ghf, uhf, rhf +from albert.tensor import Tensor +from albert.index import Index +from albert.code._ebcc import EBCCCodeGenerator +from albert.misc import Stopwatch +from albert.opt.tools import _tensor_info + +from ebcc.codegen.bootstrap_common import get_energy, get_amplitudes, get_rdm1, get_rdm2, get_eom + +# Get the spin case +spin = sys.argv[1] + +# Set up the code generators +code_generators = { + "einsum": EBCCCodeGenerator( + stdout=open(f"{spin[0].upper()}wrwCCD.py", "w"), + ), +} + +# Write the preamble +for codegen in code_generators.values(): + codegen.preamble() + +# Set up pdaggerq +pq = pdaggerq.pq_helper("fermi") +pq.set_print_level(0) + +with Stopwatch("Energy"): + # Get the energy contractions in pdaggerq format + pq.clear() + pq.set_left_operators([["1"]]) + pq.add_st_operator(1.0, ["f"], ["t2"]) + pq.add_st_operator(1.0, ["v"], ["t2"]) + pq.simplify() + terms = pq.strings() + terms = remove_reference_energy(terms) + + # Get the energy in albert format + output_expr, returns = get_energy(terms, spin) + + # Generate the energy code + for codegen in code_generators.values(): + codegen( + "energy", + returns, + output_expr, + ) + +with Stopwatch("T amplitudes"): + # Get the T2 contractions in pdaggerq format + # arXiv:1804.01037 + terms = [ + ["-1.00", "P(i,j)", "f(k,j)", "t2(a,b,i,k)"], + ["+1.00", "P(a,b)", "f(a,c)", "t2(c,b,i,j)"], + ["+1.00", ""], + ["+1.00", "t2(a,c,i,k)", ""], + ["+1.00", "t2(c,b,k,j)", ""], + ["+1.00", "t2(a,c,i,k)", "t2(d,b,l,j)", ""], + ] + + # Get the T amplitudes in albert format + output_expr, returns = get_amplitudes([terms], spin, orders=[2]) + + # Generate the T amplitude code + for name, codegen in code_generators.items(): + codegen( + "update_amps", + returns, + output_expr, + as_dict=True, + ) + +for codegen in code_generators.values(): + codegen.postamble() + codegen.stdout.close() From d919392d8ef86163022787d6ab46025d99188ba8 Mon Sep 17 00:00:00 2001 From: Oliver Backhouse Date: Thu, 19 Dec 2024 15:08:12 +0000 Subject: [PATCH 167/168] Remove old CCSDt file --- ebcc/codegen/bootstrap_CCSDt.py | 248 -------------------------------- 1 file changed, 248 deletions(-) delete mode 100644 ebcc/codegen/bootstrap_CCSDt.py diff --git a/ebcc/codegen/bootstrap_CCSDt.py b/ebcc/codegen/bootstrap_CCSDt.py deleted file mode 100644 index ca09f89b..00000000 --- a/ebcc/codegen/bootstrap_CCSDt.py +++ /dev/null @@ -1,248 +0,0 @@ -""" -Generate the CCSDt code. - -NOTE: This is faulty! -""" - -import sys -sys.setrecursionlimit(100000) - -import pdaggerq -from albert.qc._pdaggerq import import_from_pdaggerq -from albert.tensor import Tensor -from albert.algebra import Mul, Add - -from ebcc.codegen.bootstrap_common import * - -# Get the spin case -spin = sys.argv[1] - -# Set up the code generators -def name_generator(tensor, add_spaces=True): - name = name_generators[spin](tensor, add_spaces=add_spaces) - if isinstance(tensor, Tensor) and tensor.name.startswith("t") and not tensor.name.startswith("tmp"): - spaces = tuple(i.space for i in tensor.indices) - if not any(s is None for s in spaces): # Otherwise, it's a "return" tensor - if spaces not in (("o", "v"), ("o", "o", "v", "v"), ("o", "o", "O", "v", "v", "V")): - name = name.replace(".", "_") - name = f"{name}_{''.join(spaces)}" - return name - -class _EinsumCodeGen(EinsumCodeGen): - def ignore_argument(self, arg): - if "_" in name_generator(arg): - return True - return super().ignore_argument(arg) - - def tensor_cleanup(self, *args): - args = tuple(self.get_name(arg) if isinstance(arg, Tensor) else arg for arg in args) - args = tuple(arg for arg in args if "_" not in arg) - return super().tensor_cleanup(*args) - -code_generators = { - "einsum": _EinsumCodeGen( - stdout=open(f"{spin[0].upper()}CCSDt.py", "w"), - name_generator=name_generator, - spin=spin, - ), -} - -# Write the preamble -for codegen in code_generators.values(): - codegen.preamble() - -# Set up pdaggerq -pq = pdaggerq.pq_helper("fermi") -pq.set_print_level(0) - -with Stopwatch("Energy"): - # Get the energy contractions in pdaggerq format - pq.clear() - pq.set_left_operators([["1"]]) - pq.add_st_operator(1.0, ["f"], ["t1", "t2"]) - pq.add_st_operator(1.0, ["v"], ["t1", "t2"]) - pq.simplify() - terms = pq.strings() - terms = remove_hf_energy(terms) - - # Get the energy in albert format - expr = import_from_pdaggerq(terms) - expr = spin_integrate(expr, spin) - output = tuple(Tensor(name="e_cc") for _ in range(len(expr))) - output, expr = optimise(output, expr, spin, strategy="exhaust") - returns = (Tensor(name="e_cc"),) - - # Generate the energy code - for codegen in code_generators.values(): - codegen( - "energy", - returns, - output, - expr, - ) - -with Stopwatch("T amplitudes"): - # Get the T1 contractions in pdaggerq format - pq.clear() - pq.set_left_operators([["e1(i,a)"]]) - pq.add_st_operator(1.0, ["f"], ["t1", "t2", "t3"]) - pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3"]) - pq.simplify() - terms_t1 = pq.strings() - - # Get the T2 contractions in pdaggerq format - pq.clear() - pq.set_left_operators([["e2(i,j,b,a)"]]) - pq.add_st_operator(1.0, ["f"], ["t1", "t2", "t3"]) - pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3"]) - pq.simplify() - terms_t2 = pq.strings() - - # Get the T3 contractions in pdaggerq format - pq.clear() - pq.set_left_operators([["e3(i,j,k,c,b,a)"]]) - pq.add_st_operator(1.0, ["f"], ["t1", "t2", "t3"]) - pq.add_st_operator(1.0, ["v"], ["t1", "t2", "t3"]) - pq.simplify() - terms_t3 = pq.strings() - - # Get the T amplitudes in albert format - terms = [terms_t1, terms_t2, terms_t3] - expr = [] - output = [] - returns = [] - for n in range(3): - for index_spins in get_amplitude_spins(n + 1, spin): - indices = default_indices["o"][: n + 1] + default_indices["v"][: n + 1] - index_spaces = dict(zip(indices, "ooO"[: n + 1] + "vvV"[: n + 1])) - expr_n = import_from_pdaggerq(terms[n], index_spins=index_spins, index_spaces=index_spaces) - expr_n = spin_integrate(expr_n, spin) - output_n = get_t_amplitude_outputs(expr_n, f"t{n+1}new", indices=indices) - output_n = [o.map_indices({i: Index(i, index_spaces[i]) for i in indices}) for o in output_n] - returns_n = (Tensor(*tuple(Index(i, spin=index_spins[i], space=index_spaces[i]) for i in indices), name=f"t{n+1}new"),) - expr.extend(expr_n) - output.extend(output_n) - returns.extend(returns_n) - #output, expr = optimise(output, expr, spin, strategy="exhaust") - - # Make the last T3 indices active - new_expr = [] - new_output = [] - for i, (o, e) in enumerate(zip(output, expr)): - indices_o = set() - #if o.name.startswith("t3"): - # indices_o = indices_o.union({o.indices[2], o.indices[5]}) - for a in e.nested_view(): - indices_a = indices_o.copy() - for t in a: - if isinstance(t, Tensor) and t.name.startswith("t3"): - indices_a = indices_a.union({t.indices[2], t.indices[5]}) - - # Substitute the indices - subs = {i: i.to_space(i.space.upper()) for i in indices_a} - new_output.append(o.map_indices(subs)) - new_expr.append(Mul(*a).map_indices(subs))#.canonicalise()) - output = new_output - expr = new_expr - - # Generate the T amplitude code - for name, codegen in code_generators.items(): - ignore_arguments = [] - if name == "einsum": - preamble = "space = kwargs[\"space\"]" - preamble += "\nt1new = Namespace()" - preamble += "\nt2new = Namespace()" - preamble += "\nt3new = Namespace()" - if spin == "uhf": - preamble += "\nsoa = np.ones((t1.aa.shape[0],), dtype=bool)" - preamble += "\nsva = np.ones((t1.aa.shape[1],), dtype=bool)" - preamble += "\nsob = np.ones((t1.bb.shape[0],), dtype=bool)" - preamble += "\nsvb = np.ones((t1.bb.shape[1],), dtype=bool)" - preamble += "\nsOoa = np.ones((space[0].naocc,), dtype=bool)" - preamble += "\nsVva = np.ones((space[0].navir,), dtype=bool)" - preamble += "\nsOob = np.ones((space[1].naocc,), dtype=bool)" - preamble += "\nsVvb = np.ones((space[1].navir,), dtype=bool)" - preamble += "\nsOa = space[0].active[space[0].correlated][space[0].occupied[space[0].correlated]]" - preamble += "\nsVa = space[0].active[space[0].correlated][space[0].virtual[space[0].correlated]]" - preamble += "\nsOb = space[1].active[space[1].correlated][space[1].occupied[space[1].correlated]]" - preamble += "\nsVb = space[1].active[space[1].correlated][space[1].virtual[space[1].correlated]]" - preamble += "\n" - postamble = "" - inp_keys_t1 = ("oV", "Ov") - inp_keys_t2 = ("oovV", "ooVv", "oOvv", "Oovv", "ooVV", "oOvV", "oOVv", "OovV", "OOvv", "OoVv", "OOvv", "oOVV", "OoVV", "OOvV", "OOVv") - inp_keys_t3 = ("oOOvvV", "OoOvvV", "oOOvvV", "ooOVvV", "ooOvVV", "oOOvVV", "OoOvVV", "oOOVvV", "ooOVvV", "OoOVvV") - out_keys_t1 = tuple() - out_keys_t2 = ("oovV", "oOvV", "oOvv") - out_keys_t3 = ("oOOvVV", "ooOvVV", "oOOvvV") - for inp_keys, spins in ( - (inp_keys_t1, "aa"), (inp_keys_t1, "bb"), (inp_keys_t2, "aaaa"), (inp_keys_t2, "abab"), (inp_keys_t2, "bbbb"), (inp_keys_t3, "aaaaaa"), (inp_keys_t3, "abaaba"), (inp_keys_t3, "babbab"), (inp_keys_t3, "bbbbbb"), - ): - for key in inp_keys: - if len(key) != 6: - slices = ", ".join(f"s{c}{s}" for c, s in zip(key, spins)) - else: - tmp = list(key) - tmp[2] = "Oo" - tmp[5] = "Vv" - slices = ", ".join(f"s{c}{s}" for c, s in zip(tmp, spins)) - preamble += f"\nt{len(key)//2}_{spins}_{key} = t{len(key)//2}.{spins}[np.ix_({slices})].copy(order=\"A\")" - ignore_arguments.append(f"t{len(key)//2}_{spins}_{key}") - for out_keys, spins in ((out_keys_t1, "aa"), (out_keys_t1, "bb"), (out_keys_t2, "aaaa"), (out_keys_t2, "bbbb"), (out_keys_t3, "aaaaaa"), (out_keys_t3, "bbbbbb")): - for key in out_keys: - if len(key) != 6: - slices = ", ".join(f"s{c}{s}" for c, s in zip(key, spins)) - else: - tmp = list(key) - tmp[2] = "Oo" - tmp[5] = "Vv" - slices = ", ".join(f"s{c}{s}" for c, s in zip(tmp, spins)) - postamble += f"\nt{len(key)//2}new.{spins}[np.ix_({slices})] += t{len(key)//2}new_{spins}_{key}" - else: - preamble += "\nso = np.ones((t1.shape[0],), dtype=bool)" - preamble += "\nsv = np.ones((t1.shape[1],), dtype=bool)" - preamble += "\nsOo = np.ones((space.naocc,), dtype=bool)" - preamble += "\nsVv = np.ones((space.navir,), dtype=bool)" - preamble += "\nsO = space.active[space.correlated][space.occupied[space.correlated]]" - preamble += "\nsV = space.active[space.correlated][space.virtual[space.correlated]]" - postamble = "" - inp_keys = ("oV", "Ov", "oovV", "ooVv", "oOvv", "Oovv", "ooVV", "oOvV", "oOVv", "OovV", "OOvv", "OoVv", "OOvv", "oOVV", "OoVV", "OOvV", "OOVv", "oOOvvV", "OoOvvV", "oOOvvV", "ooOVvV", "ooOvVV", "oOOvVV", "OoOvVV", "oOOVvV", "ooOVvV", "OoOVvV") - out_keys = ("oV", "oovV", "ooVv", "ooOvVV", "ooOVvV") if spin == "ghf" else ("OoOvvV", "OoOVvV", "ooOVvV") - for key in inp_keys: - if len(key) != 6: - slices = ", ".join(f"s{c}" for c in key) - else: - tmp = list(key) - tmp[2] = "Oo" - tmp[5] = "Vv" - slices = ", ".join(f"s{c}" for c in tmp) - preamble += f"\nt{len(key)//2}_{key} = t{len(key)//2}[np.ix_({slices})].copy(order=\"A\")" - ignore_arguments.append(f"t{len(key)//2}_{key}") - for key in out_keys: - if len(key) != 6: - slices = ", ".join(f"s{c}" for c in key) - else: - tmp = list(key) - tmp[2] = "Oo" - tmp[5] = "Vv" - slices = ", ".join(f"s{c}" for c in tmp) - postamble += f"\nt{len(key)//2}new[np.ix_({slices})] += t{len(key)//2}new_{key}" - preamble += "\n" - kwargs = { - "preamble": preamble, - "postamble": postamble, - "as_dict": True, - "ignore_arguments": ignore_arguments, - } - else: - kwargs = {} - codegen( - "update_amps", - returns, - output, - expr, - **kwargs, - ) - -for codegen in code_generators.values(): - codegen.postamble() - codegen.stdout.close() From 157eb9e37c118de52e9886d007ce7c96eacff344 Mon Sep 17 00:00:00 2001 From: Basil Ibrahim Date: Wed, 4 Mar 2026 17:33:36 +0000 Subject: [PATCH 168/168] Fix for numpy 2.4 einsum_path --- ebcc/util/einsumfunc.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/ebcc/util/einsumfunc.py b/ebcc/util/einsumfunc.py index 6c71f205..ceb1439b 100644 --- a/ebcc/util/einsumfunc.py +++ b/ebcc/util/einsumfunc.py @@ -513,7 +513,14 @@ def einsum( path_kwargs = dict(optimize=optimize, einsum_call=True) contractions = np.einsum_path(subscript, *args, **path_kwargs)[1] for contraction in contractions: - inds, idx_rm, einsum_str, remain = list(contraction[:4]) + + if len(contraction) == 3: + # numpy>=2.4.0 + inds, einsum_str = list(contraction[:2]) + else: + # numpy<2.4.0 + inds, idx_rm, einsum_str, remain = list(contraction[:4]) + contraction_args = [args.pop(x) for x in inds] # type: ignore if alpha != 1.0 or beta != 0.0: raise NotImplementedError("Scaling factors not supported for >2 arguments")